From xen-devel-bounces@lists.xenproject.org Mon Aug 01 02:28:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 02:28:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378479.611687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oILAf-0003sn-Nd; Mon, 01 Aug 2022 02:28:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378479.611687; Mon, 01 Aug 2022 02:28:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oILAf-0003sg-Kg; Mon, 01 Aug 2022 02:28:41 +0000
Received: by outflank-mailman (input) for mailman id 378479;
 Mon, 01 Aug 2022 02:28:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HgWw=YF=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oILAe-0003sa-OQ
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 02:28:40 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr30049.outbound.protection.outlook.com [40.107.3.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5d58518-1141-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 04:28:38 +0200 (CEST)
Received: from AS4P189CA0028.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5db::18)
 by AM9PR08MB7135.eurprd08.prod.outlook.com (2603:10a6:20b:3dc::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.11; Mon, 1 Aug
 2022 02:28:35 +0000
Received: from VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:5db:cafe::2d) by AS4P189CA0028.outlook.office365.com
 (2603:10a6:20b:5db::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.7 via Frontend
 Transport; Mon, 1 Aug 2022 02:28:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT004.mail.protection.outlook.com (10.152.18.106) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Mon, 1 Aug 2022 02:28:34 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Mon, 01 Aug 2022 02:28:33 +0000
Received: from e3cd763f889d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DD7A9ECC-671E-488C-A503-F1743B8D8198.1; 
 Mon, 01 Aug 2022 02:28:24 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e3cd763f889d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 01 Aug 2022 02:28:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VI1PR08MB3934.eurprd08.prod.outlook.com (2603:10a6:803:df::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Mon, 1 Aug
 2022 02:28:19 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 02:28:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5d58518-1141-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=f0E/XWYnyhOLy9/FyOqJl7VOV14KUbzVYp3qXxZit/VWkINcfLqr0n62hunZIW+qHoRWPDyIC5eiBIvYCCiNkGdG4ohr/XH+lfgxN+RgRbcO/upikfmwxV3R70pHBUCSxcc70yWcAXan0iwcVeJAq4PixipblvtDD9qgks06u4Fp6DlKLFfcr5yhqADxqW3IbrX7mD8tuFyi2ouxkEHE8yKKiDbZyaTF8gOYaP077STJ1J7pcFvqMp1PnD/jUTlFWRBEeHiAUbyxjDSIkDuPle6rAnsgv1GGKlSdPgkkS8+8bw1PaYE8TI6YHvm10OPxt9tqmUdBF976ejquZd5lvA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ffvu7Kslyt4u+DFUG8QgKbf5/rd2PSyAa30/351HQns=;
 b=ZGwFQdkzDKzh8YQFYNamWrBVft8+MjhoYdmCT4vli3p/0WKEBiqanEcuuirD39EIOfA8k0/xGqoYIvLL0gKdr9FpjIJzGTv394xSRG4DnCF62nYaqClIlytkWzqLx9grKOOu4VzcMnfVZ8N353UuptBjN7Jln8llIYMVBuOsuFeTSzV1AKF89pbRkmN2miOvF7wcJUysYu3MRZB/DmKbTtb8kwMeftVtaRDKtAuq002Us12SFFO5FfDC4494QDZ/UsfLDqN18LQX2uSaVM36kUr95EYurlW/AK0ZW/btske/xXVUBdTEauRwnl+mZvToWDTnA60Mmat17zHYdInwzA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ffvu7Kslyt4u+DFUG8QgKbf5/rd2PSyAa30/351HQns=;
 b=7dnDJEBISz/jMrd+/C/tLa6U1UfvtVzW39ubPU/BEXBiI1IwFh+KNMleMIYRYzqNvHe/8XKBxXv8TlK8wFc3dYSEU9XneSMyYhdvYjf93NI2Sa5nZtFZZIQ7fohEoinAcgFGjU0QUF6WTg46gyjruyHTP813uiBY41+Bx56Udl8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MeBP8dfEiQgcYP7JGSouh8t0zrFvB/SGG2dAVcQObPGYea1DBuvLDFahtouB/Apn0/2dWnVsg4HLbCGzzSQlXhPVbpQyCQAex3+ywH7rPK1ciRMrwJh/X5XzUIEE4F/WJYNCoQGkxCngdVmNhFS2VYNUtB7oHMf0b3EHhNRN6Yyb3OIBjIUPaSkpbs25F7NgVWZsGSWYucjIRFedgMrlnyJH9vKk4XmJWqpHfn+sxGViBW++dM9yTUdDFBK7r33lScJEqZYwOaVvBj2sbmxGWIf9qbLZnPz1QjqXlW3RnOcIJMv0NLVrewvalSWGLq8s9ZQiI4u8QWYoASFDNTYMRA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ffvu7Kslyt4u+DFUG8QgKbf5/rd2PSyAa30/351HQns=;
 b=LSn0xz6+0ocuLwIBEOESSF6j23hpECX70onlXKmumc9S2NbVHgJWk/od9WNyZ2TmymkDXMmpaiTIIWMwTqfNpUBS8BqGXivCVM362I1R9L0dylDGpbgenZ5VwKtF/IteS2gbIz4xoGnb5rzAw0897mnzqvVGt0IiwAxbG4bmXggqnWpTCdasAmmrlxL9v1hq5IQYX82yia478zEDl4czBjYMhAiltx0kK6LczJb5aK+xRDn9PXUiNSiI3CDH21jimfIeVbpyi42TimvYncbMPGsg+YkWU58a7dcWVHGYCgDyUxx6EjOw70tLqJu/mq36U0AnWAo6tamQ9VYiVCY0/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ffvu7Kslyt4u+DFUG8QgKbf5/rd2PSyAa30/351HQns=;
 b=7dnDJEBISz/jMrd+/C/tLa6U1UfvtVzW39ubPU/BEXBiI1IwFh+KNMleMIYRYzqNvHe/8XKBxXv8TlK8wFc3dYSEU9XneSMyYhdvYjf93NI2Sa5nZtFZZIQ7fohEoinAcgFGjU0QUF6WTg46gyjruyHTP813uiBY41+Bx56Udl8=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Julien Grall <julien@xen.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Julien Grall <jgrall@amazon.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Jan Beulich <jbeulich@suse.com>, Juergen Gross
	<jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	"christopher.clark@starlab.io" <christopher.clark@starlab.io>, Wei Liu
	<wl@xen.org>, "Wei Liu (LSG)" <liuwe@microsoft.com>
Subject: Reminder: Last posting date for Xen 4.17 is Fri Aug 12, 2022 
Thread-Topic: Reminder: Last posting date for Xen 4.17 is Fri Aug 12, 2022 
Thread-Index: AdilTB+JTXVONPGpQeecItnP/ErkOA==
Date: Mon, 1 Aug 2022 02:28:19 +0000
Message-ID:
 <AS8PR08MB79913A458D06BBC4498892D4929A9@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-Mentions: andrew.cooper3@citrix.com
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 065E3E8D64EF7C44AABF292B12089141.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 517d0353-2960-416d-bbde-08da7365887a
x-ms-traffictypediagnostic:
	VI1PR08MB3934:EE_|VE1EUR03FT004:EE_|AM9PR08MB7135:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 z/pFqY3Ak6vgWVR1tc+pR6Hmf7/Ahygcy8ADHlkzdDv54AZ6WCLqjGLZN8RqoYOHr66/jjzIugl1D88gbNPEDqKr9ko037zgRiqqwhS9mZo4m+lda/7saZqz042pqKYIbv/VVuDiNtBQpAMcnfXBA21t8UzdrscOBNl+GJOeWiP1mkznV8F3PHst3qbhHDU5rhf1r8PK9R/gHGwHRMiPikG4+cP2YhFV46bT81kzrFsDjwlymyL4+oJVwbjyOCc13wuFjCqlvDGhJLjZPiZ0xMujXYws+eiz8i5qO7Nh1HbrjcNxVMzdYR8siVaRJQ0xRYutdvf+b3dxm22t7hWoGwu9ipKTxoWWE/mcHib0BargCXHO5ov9GOI8Wk0CwbVojCqiep20hSyHxSQG3JKI5EDxeRDNGxE5aHuOOEZbHtjn0WDRfCQLn63TYmvK+bIW/S2jaVR7gZOfCSxb9xu0adukmt6MBJGCpvoUfC4aT281Tzd1qDjrkxonpd9EjW5/iePkdZ1c5PoOtXQMRGZd7mFZiE2XC3ZM0nU47MDPEpp29HHQTgffKNvya7RXd/kzXe2saB+LY2j6bz3AVTBvRkpJMmwk6zPPX15HLqTa9rtVNKdWzgZNRUhFLxB5sSnLa7T6ZCwvSI9HHZ3ASjWwtTUJMhbfahfHbQlUcI41S6/zRf+McuiOyIcZnbQeFUDrrXpcnXoW6/Hw+yV8SNLLin1I2QOAXHrAeLzRvv9C4D0t8z/CYQtktVwknIl7adeInz7wU4l9+RJK1YZ2pz53xz2UvymPNi4LEnq/U5D/4x7NDX+Cv/I0urGNS0rk5hi3ZB5C3QwDTWQSg7lCS5IfB8yUUqI3mXJQP9jVWvLyZ6w=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39850400004)(396003)(366004)(376002)(346002)(136003)(71200400001)(478600001)(966005)(41300700001)(55016003)(2906002)(33656002)(54906003)(86362001)(66556008)(66946007)(76116006)(66446008)(66476007)(64756008)(316002)(110136005)(8676002)(186003)(38070700005)(38100700002)(9686003)(4743002)(7696005)(6506007)(26005)(83380400001)(52536014)(8936002)(4326008)(7416002)(5660300002)(122000001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3934
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	59442341-9512-4435-7c88-08da73657f80
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h/PjNg1615AvFba1hycxt8ySvtayz9eYJgr9LlTX22qVO8QFjRdkvDNM0HjoWlcx03xX2lebqoBVemviYsmej00OyKZToJYJnQOJjrhHaVSNLQJxFvie4xX5atZwwXMe3bM9NvyEWdYMPib5qePp95g+B4+cmc3oYOxI4m4cZ0MhzMgcX0ocp5aa6t53bCzxrkdSO2qhoKLXxRJ15Zkr/b12xMkT/t5KXDS6umjm+wtG8Pzv0EjaqMyOAoGZaBer9bRbafTwgT66dEZj7ToFBaX3XzmEcERMXGF5RklveWL1PHnkxuJt+uYxP8WOQK8uuToqB+5lTVsQT8yuBdJqUdXyjjkumf1F/ehWFhA/xn1Yk+P2+UT9rp0+eVZAgyX9rSmwH2qsv7SG5uCSfCBL7+duEt6Xxth6dYGZnvFWstQnRlb/fe8aCW1OTjfxJNq/CtK9tUieKo9gdQwJv5REtNd+Kk5JE9ASTWQf4di++XnHTAD6kxH3aSwS4LI/uAtxlBvDKkP/LMQx3zZah+8TuSTG1wzMz1OxL9notrrFDyzqWxLgKV8JuVxn0A23FKPnq3X7YXWKORTqapZp5WSNzQzSspINm7R9SnB/eoCN0Q3jcO1jCXHa1y18ShAnAYTijxG8j67wSUaRr8PI2AphpG42Xf+ywSyK4PoiWRScOqd4017C5fHcDHRO6K8cBor78106IYylxz5p8g55tvA1gYofoUs9Ik/T2pSadyWxXX1IEzHbLwBcmFK/IOXYZRydnQopvTqPACZDy/KbLbl9s6wLRAOJkw/bOJIPiWLQLPpvR0iId7TNexqko2Fsdi8GVUp7CeGqAH5NWzR/an4J8oJw/zu1JT3Ke8k8rmGKYGzP1IF/jN+JRw115D+tefyN
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(376002)(136003)(346002)(46966006)(40470700004)(36840700001)(110136005)(2906002)(36860700001)(26005)(4743002)(82740400003)(6506007)(40480700001)(7696005)(55016003)(316002)(54906003)(356005)(82310400005)(40460700003)(41300700001)(9686003)(86362001)(336012)(478600001)(966005)(8936002)(107886003)(33656002)(70206006)(70586007)(5660300002)(83380400001)(81166007)(186003)(52536014)(8676002)(47076005)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 02:28:34.3699
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 517d0353-2960-416d-bbde-08da7365887a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7135

Hi all,

This email is a weekly reminder about the Xen 4.17 release. The last postin=
g
date for Xen 4.17 is Fri Aug 12, 2022. If you want your features to be incl=
uded
for the release, please make sure they are posted for the first time before
**Fri Aug 12, 2022**.

Also, currently there are things in the Xen 4.17 release blocker list and t=
hese
should be addressed before the 4.17 release, so sending this email as a gen=
tle
reminder:

1. V2 of tools/xenstore: add some new features to the documentation [1]
Status:  Patch #1 is merged.
According to the discussion in the threads, patch #3 #4 is properly reviewe=
d.
Patch #2 needs a respin and we also need to clarify the integration with
migration/live-update.

2. Patch: x86: enable interrupts around dump_execstate() [2]
Status: Waiting for review.
This is a patch pending for more than 8 months. There has been already a
discussion (Thanks Andrew for the review!) but currently it is waiting for
Andrew's reply. Sorry to interrupt but @Andrew Cooper or other x86
maintainers could you please have a look. Thanks very much!

[1] https://patchwork.kernel.org/project/xen-devel/list/?series=3D645480
[2] https://patchwork.kernel.org/project/xen-devel/patch/e717897f-980d-ad44=
-31d9-39f5e7e1c45e@suse.com/

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 02:38:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 02:38:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378485.611698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oILKG-0005Wn-OJ; Mon, 01 Aug 2022 02:38:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378485.611698; Mon, 01 Aug 2022 02:38:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oILKG-0005Wg-LU; Mon, 01 Aug 2022 02:38:36 +0000
Received: by outflank-mailman (input) for mailman id 378485;
 Mon, 01 Aug 2022 02:38:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oILKF-0005WW-N0; Mon, 01 Aug 2022 02:38:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oILKF-0006pd-JH; Mon, 01 Aug 2022 02:38:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oILKF-0003UT-8N; Mon, 01 Aug 2022 02:38:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oILKF-0004Zd-5k; Mon, 01 Aug 2022 02:38:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YcO4YyMAQpcNvA0aYNy+xfEB3VtDvsFg9C6ThccGizI=; b=ybd/eYUfaOq9lb//hA2uyucrUk
	JGD3GFR8In3shbmG7x3TWFgXG7ESkTdU0MzQhCGM01zLelWGpJuaD1FlI8I+eAInqz/p0XEUmXKsr
	03MbY17WtA1mJBa3uUp6CXFfFzY+jdx7gPEZDf3Hk0Qr8pVpW+yC2rvl+OjLrfZCEnFI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172056-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172056: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9dc3f006a831cd20d531123f097e3de176ac3cae
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 02:38:35 +0000

flight 172056 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172056/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9dc3f006a831cd20d531123f097e3de176ac3cae
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    4 days
Failing since        171899  2022-07-28 19:01:47 Z    3 days   22 attempts
Testing same since   171934  2022-07-30 02:00:28 Z    2 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 451 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 05:52:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 05:52:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378496.611710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIOLJ-0001qX-EJ; Mon, 01 Aug 2022 05:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378496.611710; Mon, 01 Aug 2022 05:51:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIOLJ-0001qQ-9X; Mon, 01 Aug 2022 05:51:53 +0000
Received: by outflank-mailman (input) for mailman id 378496;
 Mon, 01 Aug 2022 05:51:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIOLH-0001px-Qx; Mon, 01 Aug 2022 05:51:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIOLH-0002dC-Nb; Mon, 01 Aug 2022 05:51:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIOLH-0007RH-7u; Mon, 01 Aug 2022 05:51:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIOLH-0004ix-7M; Mon, 01 Aug 2022 05:51:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fvlCGMyzQb70rQTFE8+1TH9P7BbExoFZaOGAE9cHqz8=; b=k9AmR4hxadnHT+CV/SFUGKgPHO
	raj48Yo4YYJOTdBLguP5vUALXt1QOCoeIWhPN01UQn5ipkUMmmOMfm/p44fil0MoVVESWC8APGkna
	9/sc0oRz1GiyZLbRdFBhn+u73cqg+HDAj+048w1SNa51bM9z99iHZ3KZCY2/Y0w3c/QM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172059-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172059: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9dc3f006a831cd20d531123f097e3de176ac3cae
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 05:51:51 +0000

flight 172059 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172059/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9dc3f006a831cd20d531123f097e3de176ac3cae
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    4 days
Failing since        171899  2022-07-28 19:01:47 Z    3 days   23 attempts
Testing same since   171934  2022-07-30 02:00:28 Z    2 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 451 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 07:34:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 07:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378511.611719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIPwq-0004Fz-Kw; Mon, 01 Aug 2022 07:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378511.611719; Mon, 01 Aug 2022 07:34:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIPwq-0004Fs-IC; Mon, 01 Aug 2022 07:34:44 +0000
Received: by outflank-mailman (input) for mailman id 378511;
 Mon, 01 Aug 2022 07:34:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIPwp-0004Fi-Ex; Mon, 01 Aug 2022 07:34:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIPwp-0004RU-Ai; Mon, 01 Aug 2022 07:34:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIPwo-00028W-Sy; Mon, 01 Aug 2022 07:34:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIPwo-00082f-ST; Mon, 01 Aug 2022 07:34:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=k/S8BF3GPRqgFVcJR1Be/c56WGUw6EWUUoGamV2Z58o=; b=slZ2f98qIaTl/1IF4VKfRzQhcV
	xTxFnMN0JzkeifDroFhhHN6vIRk0Z9zCMEupBZw4nPUb1QhRZwIVXDjuYIBxThPkk5UpflNSfR1bg
	/uoU90Vbgd3dYnDEkV+V0gm+fLohvbKcCIAG1zY8cV2rKlycvQ9yQzhqvE4hYBYz/tGE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172057-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172057: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3d7cb6b04c3f3115719235cc6866b10326de34cd
X-Osstest-Versions-That:
    linux=334c0ef6429f261c7f53dc035632435ffbc0c60d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 07:34:42 +0000

flight 172057 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172057/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 172051

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172051
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172051
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172051
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172051
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172051
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172051
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172051
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172051
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                3d7cb6b04c3f3115719235cc6866b10326de34cd
baseline version:
 linux                334c0ef6429f261c7f53dc035632435ffbc0c60d

Last test of basis   172051  2022-07-31 17:11:10 Z    0 days
Testing same since   172057  2022-08-01 00:09:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Linus Torvalds <torvalds@linux-foundation.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   334c0ef6429f..3d7cb6b04c3f  3d7cb6b04c3f3115719235cc6866b10326de34cd -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 07:38:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 07:38:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378517.611731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQ0Q-00051J-5P; Mon, 01 Aug 2022 07:38:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378517.611731; Mon, 01 Aug 2022 07:38:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQ0Q-00051C-2e; Mon, 01 Aug 2022 07:38:26 +0000
Received: by outflank-mailman (input) for mailman id 378517;
 Mon, 01 Aug 2022 07:38:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+DYs=YF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oIQ0P-000514-14
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 07:38:25 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebfab619-116c-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 09:38:23 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 47C893E705;
 Mon,  1 Aug 2022 07:38:02 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 18AC913AAE;
 Mon,  1 Aug 2022 07:38:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id RQsVBNqC52KtEgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 01 Aug 2022 07:38:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebfab619-116c-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659339482; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=t2/ekMSs8k41dBABbc50VLWhMOw7LL97lhRAf3vKM7E=;
	b=B3oKSNTyPL7oSO7q45aiZJDNElUBd+mLA/NdgsI66MsNzB2xQyuiYOA7VcoFa+U1j4qBb0
	OdA3gbf1Q2oMPMDW2IIKSNKFvbKc+i2Pf8kthx+kEut0tq5e/fK4fwtHh/P9AOLmUUbMzo
	vOKEpz55+8r3Jr5Zcc1EaeGDZNVocaY=
Message-ID: <ac3b6d9a-ab63-6d09-e9f1-2f6391c4aa0c@suse.com>
Date: Mon, 1 Aug 2022 09:38:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, "Gao, Ruifeng" <ruifeng.gao@intel.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <george.dunlap@citrix.com>
References: <BL1PR11MB546193E001A425E0B9B7848EEC979@BL1PR11MB5461.namprd11.prod.outlook.com>
 <bfba43a2-951c-4770-7bb9-3559f1bc69d2@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: cpupool / credit2 misuse of xfree() (was: Re: [BUG] Xen causes a
 host hang by using xen-hptool cpu-offline)
In-Reply-To: <bfba43a2-951c-4770-7bb9-3559f1bc69d2@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------iA0dvaKh0TlioHNv4HHfA2tb"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------iA0dvaKh0TlioHNv4HHfA2tb
Content-Type: multipart/mixed; boundary="------------ZFzom53UcrUlKxlTV9Zl1c0a";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, "Gao, Ruifeng" <ruifeng.gao@intel.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <george.dunlap@citrix.com>
Message-ID: <ac3b6d9a-ab63-6d09-e9f1-2f6391c4aa0c@suse.com>
Subject: Re: cpupool / credit2 misuse of xfree() (was: Re: [BUG] Xen causes a
 host hang by using xen-hptool cpu-offline)
References: <BL1PR11MB546193E001A425E0B9B7848EEC979@BL1PR11MB5461.namprd11.prod.outlook.com>
 <bfba43a2-951c-4770-7bb9-3559f1bc69d2@suse.com>
In-Reply-To: <bfba43a2-951c-4770-7bb9-3559f1bc69d2@suse.com>

--------------ZFzom53UcrUlKxlTV9Zl1c0a
Content-Type: multipart/mixed; boundary="------------00TD5xQ0A335J7EjIdUbL2E2"

--------------00TD5xQ0A335J7EjIdUbL2E2
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjcuMDcuMjIgMDg6MzIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4wNy4yMDIy
IDAzOjE5LCBHYW8sIFJ1aWZlbmcgd3JvdGU6DQo+PiBQcm9ibGVtIERlc2NyaXB0aW9uOg0K
Pj4gVHJ5aW5nIHRvIGV4ZWN1dGUgIi91c3IvbG9jYWwvc2Jpbi94ZW4taHB0b29sIGNwdS1v
ZmZsaW5lIDxjcHVpZD4iLCB0aGUgaG9zdCB3aWxsIGhhbmcgaW1tZWRpYXRlbHkuDQo+Pg0K
Pj4gVmVyc2lvbi1SZWxlYXNlIGFuZCBTeXN0ZW0gRGV0YWlsczoNCj4+IFBsYXRmb3JtOiBJ
Y2UgTGFrZSBTZXJ2ZXINCj4+IEhvc3QgT1M6IFJlZCBIYXQgRW50ZXJwcmlzZSBMaW51eCA4
LjMgKE9vdHBhKQ0KPj4gS2VybmVsOiA1LjE5LjAtcmM2DQo+PiBIVzogSW50ZWwoUikgWGVv
bihSKSBHb2xkIDYzMzZZIENQVSBAIDIuNDBHSHoNCj4+IFhlbiBWZXJzaW9uOiA0LjE3LXVu
c3RhYmxlKGFiMjk3N2IwMjctZGlydHkpDQo+Pg0KPj4gUmVwcm9kdWNlIFN0ZXBzOg0KPj4g
MS4gQm9vdCBmcm9tIFhlbiBhbmQgY2hlY2sgdGhlIGluZm9ybWF0aW9uOg0KPj4gW3Jvb3RA
aWN4LTJzMSB+XSMgeGwgaW5mbw0KPj4gaG9zdCAgICAgICAgICAgICAgICAgICA6IGljeC0y
czENCj4+IHJlbGVhc2UgICAgICAgICAgICAgICAgOiA1LjE5LjAtcmM2DQo+PiB4ZW5fdmVy
c2lvbiAgICAgICAgICAgIDogNC4xNy11bnN0YWJsZQ0KPj4geGVuX2NhcHMgICAgICAgICAg
ICAgICA6IHhlbi0zLjAteDg2XzY0IGh2bS0zLjAteDg2XzMyIGh2bS0zLjAteDg2XzMycCBo
dm0tMy4wLXg4Nl82NA0KPj4gcGxhdGZvcm1fcGFyYW1zICAgICAgICA6IHZpcnRfc3RhcnQ9
MHhmZmZmODAwMDAwMDAwMDAwDQo+PiB4ZW5fY2hhbmdlc2V0ICAgICAgICAgIDogVGh1IEp1
bCAxNCAxOTo0NTozNiAyMDIyICswMTAwIGdpdDphYjI5NzdiMDI3LWRpcnR5DQo+PiAyLiBF
eGVjdXRlIHRoZSBjcHUtb2ZmbGluZSBjb21tYW5kLCBoZXJlIGNwdWlkIGlzIDQ4IGFzIGFu
IGV4YW1wbGU6DQo+PiBbcm9vdEBpY3gtMnMxIH5dIyAvdXNyL2xvY2FsL3NiaW4veGVuLWhw
dG9vbCBjcHUtb2ZmbGluZSA0OA0KPj4NCj4+IEFjdHVhbCBSZXN1bHRzOg0KPj4gVGhlIGhv
c3Qgd2lsbCBoYW5nIGltbWVkaWF0ZWx5Lg0KPiANCj4gV2VsbCwgaXQgY3Jhc2hlcyAod2hp
Y2ggaXMgYW4gaW1wb3J0YW50IGRpZmZlcmVuY2UpLiBBbHNvIHlvdSd2ZSBoaWRkZW4NCj4g
dGhlIGltcG9ydGFudCBkZXRhaWxzIChhbGxvd2luZyB0byBlYXNpbHkgaWRlbnRpZnkgd2hh
dCBhcmVhIHRoZSBpc3N1ZQ0KPiBpcyBpbikgcXVpdGUgd2VsbCBpbiB0aGUgYXR0YWNobWVu
dC4NCj4gDQo+IErDvHJnZW4gKGFuZCBwb3NzaWJseSBHZW9yZ2UgLyBEYXJpbyksDQo+IA0K
PiB0aGlzDQo+IA0KPiAoWEVOKSBYZW4gY2FsbCB0cmFjZToNCj4gKFhFTikgICAgWzxmZmZm
ODJkMDQwMjNiZTc2Pl0gUiB4ZnJlZSsweDE1MC8weDFmNw0KPiAoWEVOKSAgICBbPGZmZmY4
MmQwNDAyNDg3OTU+XSBGIGNvbW1vbi9zY2hlZC9jcmVkaXQyLmMjY3NjaGVkMl9mcmVlX3Vk
YXRhKzB4Yy8weGUNCj4gKFhFTikgICAgWzxmZmZmODJkMDQwMjU5MTY5Pl0gRiBzY2hlZHVs
ZV9jcHVfcm0rMHgzOGQvMHg0YjMNCj4gKFhFTikgICAgWzxmZmZmODJkMDQwMjQzMGNhPl0g
RiBjb21tb24vc2NoZWQvY3B1cG9vbC5jI2NwdXBvb2xfdW5hc3NpZ25fY3B1X2ZpbmlzaCsw
eDE3ZS8weDIyYw0KPiAoWEVOKSAgICBbPGZmZmY4MmQwNDAyMWQ0MDI+XSBGIGNvbW1vbi9z
Y2hlZC9jcHVwb29sLmMjY3B1X2NhbGxiYWNrKzB4M2ZiLzB4NGRjDQo+IChYRU4pICAgIFs8
ZmZmZjgyZDA0MDIyOWZjMz5dIEYgbm90aWZpZXJfY2FsbF9jaGFpbisweDZiLzB4OTYNCj4g
KFhFTikgICAgWzxmZmZmODJkMDQwMjA0ZGY3Pl0gRiBjb21tb24vY3B1LmMjY3B1X25vdGlm
aWVyX2NhbGxfY2hhaW4rMHgxYi8weDMzDQo+IChYRU4pICAgIFs8ZmZmZjgyZDA0MDIwNGUz
Mz5dIEYgY29tbW9uL2NwdS5jI190YWtlX2NwdV9kb3duKzB4MjQvMHgyYg0KPiAoWEVOKSAg
ICBbPGZmZmY4MmQwNDAyMDRlNDM+XSBGIGNvbW1vbi9jcHUuYyN0YWtlX2NwdV9kb3duKzB4
OS8weDEwDQo+IChYRU4pICAgIFs8ZmZmZjgyZDA0MDIzMTUxNz5dIEYgY29tbW9uL3N0b3Bf
bWFjaGluZS5jI3N0b3BtYWNoaW5lX2FjdGlvbisweDg2LzB4OTYNCj4gKFhFTikgICAgWzxm
ZmZmODJkMDQwMjMxY2M1Pl0gRiBjb21tb24vdGFza2xldC5jI2RvX3Rhc2tsZXRfd29yaysw
eDcyLzB4YTUNCj4gKFhFTikgICAgWzxmZmZmODJkMDQwMjMxZjQyPl0gRiBkb190YXNrbGV0
KzB4NTgvMHg4YQ0KPiAoWEVOKSAgICBbPGZmZmY4MmQwNDAzMjBiNjA+XSBGIGFyY2gveDg2
L2RvbWFpbi5jI2lkbGVfbG9vcCsweDhkLzB4ZWUNCj4gKFhFTikNCj4gKFhFTikNCj4gKFhF
TikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAoWEVOKSBQ
YW5pYyBvbiBDUFUgNDg6DQo+IChYRU4pIEFzc2VydGlvbiAnIWluX2lycSgpICYmIChsb2Nh
bF9pcnFfaXNfZW5hYmxlZCgpIHx8IG51bV9vbmxpbmVfY3B1cygpIDw9IDEpJyBmYWlsZWQg
YXQgY29tbW9uL3htYWxsb2NfdGxzZi5jOjcwNA0KPiAoWEVOKSAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqDQo+IA0KPiBpcyBwb2ludGluZyBhdCB0aGUgcHJv
YmxlbSBxdWl0ZSBjbGVhcmx5LiBDb25jZXB0dWFsbHkgSSB0aGluayBpdA0KPiBoYXMgYWx3
YXlzIGJlZW4gd3JvbmcgdG8gY2FsbCB4ZnJlZSgpIGZyb20gc3RvcC1tYWNoaW5lIGNvbnRl
eHQuIEl0DQo+IGp1c3Qgc28gaGFwcGVuZWQgdGhhdCB3ZSBnb3QgYXdheSB3aXRoIHRoYXQg
c28gZmFyLCBiZWNhdXNlIHRoZSBDUFUNCj4gYmVpbmcgYnJvdWdodCBkb3duIHdhcyB0aGUg
b25seSBvbmUgdXNpbmcgcmVzcGVjdGl2ZSBmdW5jdGlvbnMgKGFuZA0KPiBoZW5jZSB0aGVy
ZSB3YXMgbm8gb3RoZXIgcmlzayBvZiBsb2NraW5nIGlzc3VlcykuDQo+IA0KPiBRdWVzdGlv
biBpcyB3aGV0aGVyIHdlIHdhbnQgdG8gY29udGludWUgYnVpbGRpbmcgdXBvbiB0aGlzIChh
bmQNCj4gaGVuY2UgdGhlIGludm9sdmVkIGFzc2VydGlvbiB3b3VsZCBuZWVkIHRvICJsZWFy
biIgdG8gaWdub3JlDQo+IHN0b3AtbWFjaGluZSBjb250ZXh0KSBvciB3aGV0aGVyIGluc3Rl
YWQgdGhlIGZyZWVpbmcgb2YgdGhlIG1lbW9yeQ0KPiBoZXJlIGNhbiBiZSBkZWZlcnJlZCwg
ZS5nLiB0byBiZSB0YWtlbiBjYXJlIG9mIGJ5IHRoZSBDUFUgZHJpdmluZw0KPiB0aGUgb2Zm
bGluaW5nIHByb2Nlc3MuDQoNClRoaXMgaXMgZXZlbiBtb3JlIGNvbXBsaWNhdGVkLg0KDQpJ
IHRoaW5rIEFTU0VSVF9BTExPQ19DT05URVhUKCkgd2lsbCB0cmlnZ2VyIG1vcmUgb2Z0ZW4s
IGVzcGVjaWFsbHkNCndpdGggY29yZSBzY2hlZHVsaW5nIGVuYWJsZWQuIEluIGZhY3QgSSB0
aGluayB0aGlzIGlzIHRoZSByZWFzb24gd2h5DQpJJ3ZlIHNlZW4gdmVyeSByYXJlIHN0cmFu
Z2UgZmFpbHVyZXMgd2l0aCBjb3JlIHNjaGVkdWxpbmcgd2hlbiB0cnlpbmcNCmNwdSBob3Rw
bHVnIG9wZXJhdGlvbnMsIGFzIHRoZXJlIGFyZSBldmVuIHhtYWxsb2MoKSBjYWxscyBpbiBz
dG9wDQptYWNoaW5lIGNvbnRleHQuDQoNCkknbSBzZWVpbmcgdGhlIGZvbGxvd2luZyBwb3Nz
aWJpbGl0aWVzOg0KDQoxKSBQcmUtYWxsb2NhdGluZyB0aGUgbmVlZGVkIGRhdGEgYW5kIGRl
ZmVycmluZyBmcmVlaW5nIG9mIG5vIGxvbmdlcg0KICAgIG5lZWRlZCBkYXRhIHdoZW4gdGFr
aW5nIGEgY3B1IGRvd24uIEFwYXJ0IGZvcm0gc29tZSByZWZhY3RvcmluZw0KICAgIGluIGNv
bW1vbi9zY2hlZC9jcHVwb29sLmMgYW5kIGNvbW1vbi9zY2hlZC9jb3JlLmMgdGhpcyBzaG91
bGQgYmUNCiAgICBkb2FibGUuDQoNCjIpIEluIGNhc2Ugc3RvcF9tYWNoaW5lKCkgaXMgY2Fs
bGVkIGZvciBhY3Rpb24gb24gb25seSBvbmUgY3B1IGFsbG93DQogICAgbWVtb3J5IGFsbG9j
YXRpb25zIGFuZCBmcmVlaW5nIHdpdGggaW50ZXJydXB0cyBvZmYgYW5kIGZsdXNoIHRoZQ0K
ICAgIFRMQnMgbG9jYWxseSB3aGVuIGVuYWJsaW5nIGludGVycnVwdHMgYWdhaW4uIFRoaXMg
d291bGQgcmVxdWlyZQ0KICAgIHJhdGhlciBsaW1pdGVkIGNoYW5nZXMsIGJ1dCB3b3VsZG4n
dCBiZSBhcyBjbGVhbiBhcyB0aGUgb3RoZXINCiAgICBhcHByb2FjaC4NCg0KQW55IHByZWZl
cmVuY2VzPyBJJ2QgYmUgZmluZSB3aXRoIGJvdGggdmFyaWFudHMgYW5kIGNvdWxkIHdyaXRl
IHRoZQ0KcGF0Y2hlcy4NCg0KDQpKdWVyZ2VuDQo=
--------------00TD5xQ0A335J7EjIdUbL2E2
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------00TD5xQ0A335J7EjIdUbL2E2--

--------------ZFzom53UcrUlKxlTV9Zl1c0a--

--------------iA0dvaKh0TlioHNv4HHfA2tb
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLngtkFAwAAAAAACgkQsN6d1ii/Ey+F
BggAisCVV8t76LoDdl1wbCCNkztwYDzVE9JQCZhoUnntrOvioPkgFRfLOPi7ZNfRm9/8n7e24qBW
jXCdLweV+P+yhd3ViU5bYRXzjHUEV5XjH/KmF4GKCTOCb9KVgwgWkXn752M53vEQveDCZ0nG+3eJ
FyrtSQKhjDaJRMe2BfQwL3v4Q4LD/n9rJ1O5i9ExUoR3Qhn6TGXe1gIkQjYSOi8NvSNzHk/movy2
NJte0HES0FpFOpr/Y5xAshnCyVL4OUCUhUhT2NV+W54568xW7ZdZJnP+CfwnNQAnp1FXBi2hCmJt
xss/wGr66FRZ0hKTxk0/FAceiaUgcGAmdr0G2WBRMg==
=iJQA
-----END PGP SIGNATURE-----

--------------iA0dvaKh0TlioHNv4HHfA2tb--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:20:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:20:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378534.611741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQey-0002fz-RT; Mon, 01 Aug 2022 08:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378534.611741; Mon, 01 Aug 2022 08:20:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQey-0002fs-Of; Mon, 01 Aug 2022 08:20:20 +0000
Received: by outflank-mailman (input) for mailman id 378534;
 Mon, 01 Aug 2022 08:20:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=omD9=YF=citrix.com=prvs=20515f1b2=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oIQex-0002fm-3g
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:20:19 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c16cd38e-1172-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 10:20:16 +0200 (CEST)
Received: from mail-bn1nam07lp2049.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Aug 2022 04:19:34 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by SA0PR03MB5465.namprd03.prod.outlook.com (2603:10b6:806:b5::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Mon, 1 Aug
 2022 08:19:30 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 08:19:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c16cd38e-1172-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659342016;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=m7x2nODdOm3CdFS1GyvfWSeVLkNnVh/e1Z4IEHA2XwM=;
  b=gDx7osBhOw/Gc3g+bZspWBiFa5cJ3Fchw6jf2leEO05XLqV2dAY8/Y9q
   1PkJmTU+hgvsgMQBqRua9eg2AXnYdMfq/PkRhp3iyV/5FwBiINwjw7VLb
   Hy/naDLKVSc8t6zxBcRCtXvKKH9FaWMnSxaVGoLDnsPvfftv6TO84ki1i
   A=;
X-IronPort-RemoteIP: 104.47.51.49
X-IronPort-MID: 76843499
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:3qnzq6w7YjIjssJID9R6t+cpxyrEfRIJ4+MujC+fZmUNrF6WrkVSy
 mJNDG+BMvjcNjb2KdEibYi19E4CvZLVyIcySQI+rCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb90g25K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN0tNEckO4oi4txHWzxJ2
 6NCNA5dZwKM0rfeLLKTEoGAh+wFBeyzZsY1nCglyjvUS/E7XZrEXqPGo8dC2ys9jdxPGvCYY
 NcFbT1ob1LLZBgn1lU/Ucpi2rv3wCSmNWEJwL6WjfNfD2z7xwxr0aPxMdPTPNiLQ8lUkW6Tp
 37c/nS/CRYfXDCa4WXboi732r6e9c/9cNg3DZCS/L1Du2K03zNMKzoHcFyyuNDs3yZSXPoac
 ST44BEGvaU0sUCmUNT5dxm5u2Kf+A4RXcJKFO834x3LzbDbiy6VD3YJZiRMY9snsIkxXzNC/
 kCNt8PkA3poqrL9dJ6G3rKdrDf3My5MK2YHPXAAVVFdv4ilp5wvhBXSSNolCLSyktD+BTD3x
 XaNsTQ6gLIQy8UM0s1X4Gz6vt5lnbCRJiZd2+kddj3NAt9RDGJ9W7GV1A==
IronPort-HdrOrdr: A9a23:6Y8Cb6nK/MiNgtuV8N6Od3oSo5TpDfOaimdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WBjB8bZYOCGghrjEGgG1+ffKlLbakrDH4JmtJ
 uINpIOcOEYbmIKwPoSgjPIderIqePvmM/HuQ6d9QYVcegAUdAD0+4NMHf+LqQAfngiOXNWLv
 qhz/sCgwDlVWUcb8y9CHVAdfPEvcf3mJXvZgNDLwI76SGV5AnYp4LSIly95FMzQjlPybAt/S
 zuiAri/JiutPm911v1y3LT1ZJLg9Hso+EzSvBky/JlawkEuDzYJ7iJaIfy/gzdZ9vfrWrCpe
 O84yvI+f4Dr085MFvF5icFkDOQrQrGo0WStWNwx0GT7fARDQhKdfZplMZXdADU5FEnu8w52K
 VX33iBv54SFh/Ymj/hjuK4Hi2DBiKP0AUfeMMo/gtiuLElGclshJ1a+FkQHIYLHSr85oxiGO
 5yDNvE7PITdV+BdXjWsmRm3dTpBx0Ib1y7a1lHvtbQ3yldnXh/wUddzMsDnm0Y/JZ4T5Vf/e
 zLPqlhibkLRM4LaqB2AvsHXKKMeyTwaAOJNHjXLUXsFakBNX6Io5nr4K8t7OXvY5AMxItaou
 W0bLqZjx9GR6vDM7z/4HQQyGG9fIyUZ0Wf9uhOo55kp7b7WL3ndSWeVVFGqbrTn8ki
X-IronPort-AV: E=Sophos;i="5.93,206,1654574400"; 
   d="scan'208,217";a="76843499"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Rd0zZyWMq8l9qagkUsT1tsgJvWIvZkNGCnyZS8lVbu5lBRgrA5qqNx047x3pgWpRfF2ZlgpK74bSwu7hxLc3O6EKrKI0uO9L+aK0rpjvWs+ZbJpfWzyOGycEuda8zkquF2/3m5CVQbHAsj+SkUpxzH5w4K58qvmmXqSDjvlXYvg10EU+DmR59TkOZxiq6cQBbKHrJFR+6jgG+um6X1tffqbYZJMlCOgd5ovMffHVjyNSAroHxnh4mLI9cp7zupQAzDE31t7KOA8XS5IinMVQW8YWichA5BVpAn8oNANQfFiey/TnbIFLoUhttVDXiJ5Ks6M9VQkFgiicpP9rOZQ2vg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m7x2nODdOm3CdFS1GyvfWSeVLkNnVh/e1Z4IEHA2XwM=;
 b=iMiOgHl4FyVaHtE5lhmBpMfs1CCONBOWU2O7b508yDV08fCQhAuRwzNpbN6FyZLJIu/IBmjFtTS76KtxDg/ThPghLOwXrZ0UFXY4WLYDDfwY1rm0XliCNhuwn875O4AvJ1I3KLzb5INkRG2/o0ynzfTKACBd9RWCBW+RTrAKd51GcHifd7zmkN84NeuZZ+/bzCE+5J6ftG5AxcM0ylikG3X0oSIPrC5wYu1OYr93wG4h901kGtyEwa+2cJPMa+PzjIKkK1bfvjn8M9qiv3aIVWdU7R6H1CoRXm3QksDIA6P+cva36B5nkiQ9fC8r0rWwOfweYPNqeernZkoX0BLpLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m7x2nODdOm3CdFS1GyvfWSeVLkNnVh/e1Z4IEHA2XwM=;
 b=MaF1is868em3n/576kGCR/cM8K/AmMGf9FLXHU6saTgQuhLpiOIWr10dCwVeRyUkNEh4v2KsOIPsKn5MJ6BI3r1ATfeEOvajBE/qgdy55wZqFq/3x2PqogbRXfxoFuDIdc0eAfGgIHbYaZCKYD8NH7EC6BkMPRKiBPe7z5TDkqo=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Thread-Topic: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Thread-Index: AQHYo3Q1a3lv2Ot+eEGJLOlfGwWRqa2Zt+6A
Date: Mon, 1 Aug 2022 08:19:30 +0000
Message-ID: <C18DD0FD-E858-4D77-84B6-268D86794FA7@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
In-Reply-To:
 <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 51a32fca-35fb-4f20-9d5e-08da73968e98
x-ms-traffictypediagnostic: SA0PR03MB5465:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 OIfBd16iqYCUCnRY8yJtgZeeTclXaHTjH9a+/0ujl+deNhtApTdh6LWkXrNoaT7xsMiicxujXL5vVHaZQRqCYoenWU+4wEIBKOkTxxmJ1VhBfnazjkLo0XIzJqXXjDKFu3lCDCJcAvxUhI6V90fjWsajo0HbNSeByzoxHsC9u/qMLCX5rorkr9+jUOcf8/D9rFqMvXlA2c/M7VoZcKmisqaYHHCJoPqSBBHMaP0a/TOfrxrQACQpe2d1e3WpUHT/H6Y+JdpGs11NLU/1CTPEPuLqvTYoBdVp9UM35Y+OihrfXW5cS2f58fR0akb51JiPqMUZ8yUhQh26iXmZkRc9qT7nb0pJuX6ed60pq3DF4CjcMzlhEZqv4XHSAFnD7G9piCaNNTmB5LyoYAR9OA9onCdGyu1jh0mumqUTwimlZ8tCmvtliDDumqQIicvt/ilQN9ewwY5RkYWy0UIh0Qwlj3AJb13sV0fFGbuxKGsXo1ne/InkTDvUyPNkI/7adGxPhnM0MXfswoXJjQ++5nrOgyn2ZEadvL7R6nfFfhHK/pAfvdRdmatUMU7k152mWKMa77ZM8FcwQThY4Z+3+YU9/4SYxzztT+J/aUbLzGNXBL66I+2Cmou1qFRrvdzoJylVLwDgFGqz3Q7aAh5eu0OyCbjemSFbRVYnq1Zyj7oKGn0cHGAI6qnSKZFX2Rcf6rWkF9wKPEaqqRZvQV1dW5/AwBUfx1dOw7QyoyGnwdjxv8yg0eJFrzcriyWxwbgMnLHgpYKuFq2t4MuSnF4+raMf4d6jKub8s4W/hcPHg6UMhzUDtBSU4V6HJhj/QnIiX4wXUivUehSwUTebkLTkyjxmYw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(396003)(346002)(376002)(136003)(82960400001)(66446008)(38070700005)(64756008)(66556008)(66476007)(76116006)(66946007)(478600001)(8676002)(4326008)(107886003)(2906002)(91956017)(558084003)(6486002)(41300700001)(6862004)(71200400001)(5660300002)(8936002)(33656002)(38100700002)(122000001)(86362001)(37006003)(6636002)(54906003)(44832011)(53546011)(6506007)(6512007)(26005)(186003)(36756003)(2616005)(316002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QnJQeXZVUitsQlU4VnJHeFUyTVZTVVRIVnpQcHMyNGpEdW1KMUQySWZWUlY3?=
 =?utf-8?B?UDloS0IrSElzK2M5M0NDaFl0NnJyM0RjVCtFYVpBblFSd0ZqblJsMmgzcjU4?=
 =?utf-8?B?ZTlxdCtVSndEQTRwK1BCc2hVcHhtcHUvVC9RTS9oeUFhOStqQWhXZE5FZDNF?=
 =?utf-8?B?Y09VR2NRekQwdWFsRHovZmtSRkNBdG10eDRHM1Y0eDF6aFFXTC9lRjlRRVo0?=
 =?utf-8?B?MlRidUlVdnUrNHdvT3h6Y09hQkdmWkozOVpqNWp0cW5iem9wZEZKQ1VrZGZz?=
 =?utf-8?B?eFJ5NjNsK0dYN29NNUNwZ1VBSmxrclVyS0pYaFRaZU1PYWtMUndqZDBHNnVX?=
 =?utf-8?B?RHRNYW44QlpnQktTa2dIUDNCeWppUjJTL05kRHoxNnphVXZEUlB1Q1NWQWk3?=
 =?utf-8?B?K2ZsU0FyeUZFRzh5Tm80WnBDUTFkVGJpcEwzTzNCbjNPSkVhQVViUDMrRitI?=
 =?utf-8?B?b2MxZVdOczVtMkxlMkNnakMxSGMrVWZxcUZjdE9sL013TkxuOUdDYXZvZVNm?=
 =?utf-8?B?Q1FRcmQ1eVM2ZWJjTDNRcGxFYjlJVFNsbC8zMFVXcisyZWl4MHhwWjNkTzZJ?=
 =?utf-8?B?dU5PL1kwaUl5MENqSllpQ1VkOWorb1dQYVhHcU4rMm1uSTR6c3RlaVNzbCtj?=
 =?utf-8?B?YlU3WFo4Y0RaN2ZkU0ZFVk1BVkUvNGNPNVhsTTh5NmNmejcrZWFnK2N6YkNl?=
 =?utf-8?B?WUFjVlpZVnVqLzcvWUdhOW5zUkdDNXh4cGZqaEtuc0lBVHpPTDZwRlN5a0Fv?=
 =?utf-8?B?SFI1cVAxRUJ1L255YmFVUXZyQTFKM3p6UkhCTGVHWU1PZWw1QWhGcExzWlZN?=
 =?utf-8?B?ZWUvYXljdGUvNjd6bEd6ZTN2ZzVvV0VvcW02ZS9EaGpuSzdhZGxVaTQ1eWRI?=
 =?utf-8?B?a013clh5MDZITEcvYThhTE5YUXFGbkRVOVkxTzIxelNNczFoSlpnZURGZzVE?=
 =?utf-8?B?VTU1ZkZJaFZuTFMxcUJLMjVMZDdMZkhvaEFpTTBtMU5MSkNrR1U3ejBpZFgy?=
 =?utf-8?B?NVJlbUtEMmREeVdRRjYxYUZOWUhia2cwRU1vZWFyQjhEaVY0aDF1Y2FCb1Rk?=
 =?utf-8?B?K2FFZnNFdFNPNkFGdUtOUWd5RFNrYzVUR3JhZ1Zva0grOUVzNEVUdFJLQjN3?=
 =?utf-8?B?UGpWa3orcGc2ODlpcGxqZGJJTVh3WGd2M3NpOWVIM0J5UWdoWEZyNEZZc3ho?=
 =?utf-8?B?emRuYWJSYVBRU0FOa1p5V0xZaUZhb0xMM3JBMVhueWlzZzZTOG9pbW1TOGFv?=
 =?utf-8?B?TFJoTXJhaDNVaVAxU25Vcm5COUl4UWtRMmFVaHBVMHZJbW1tc2tidm1GRk1J?=
 =?utf-8?B?by8ramxPOEl2ekhjYzdrQUovcExoU0xWQ2Q5SVdIbWlxVmN3cFdnVzF3Vk9s?=
 =?utf-8?B?TlEwOE90VTlkLzQrMnEvSndVcVlKQnJwaGlCWUh0RlNBb3B1TzZhdTRQcXFz?=
 =?utf-8?B?N2dheFF6TUxjWmdvWlNYZkxWK24waTNEQVVScnJxTVd5OTB5NGhlWHQ0dGlV?=
 =?utf-8?B?bGZkMHR0ZldkNHFhV0p1c2h4MTNqYjZMajQ3NExoRDFzb2R2eno2WWZKcjJZ?=
 =?utf-8?B?eEdFaUxzbCs5ZDlTdUpKSU1jKzdWK043WWZpWHBqOEdZZ3BVdUlwWFozRW5V?=
 =?utf-8?B?R3h0allXMjA1VzM1N25iZndic1FEUXh6M0laRTd5TVgwTnFvTm5GTWZkZmxK?=
 =?utf-8?B?R1N6djJXVHYyZW1JZVhzYUovTmhlTkpabnpacFBwa3pDV05kSmQ0QzVTMVNB?=
 =?utf-8?B?R3BRaU0vVExBUllFbUpnZDdnWHJtV1dwSmY0YVN2MTd1VWpUbENva0hSSk5n?=
 =?utf-8?B?NWZva1llR21GWFFIOUNkalBUU1lXcnRaelF4NWgzUWptSER1aUI4TzZMZnlu?=
 =?utf-8?B?blZaSG5JUWd4OXZHcWtoVkJvRHlTRVhpRzFyeC9jT2JxVUxMaHNXN0Q3Mlgy?=
 =?utf-8?B?MFdhYTdYeVBVTk1oUXcvYWJ1anNFaENtMUVid1ZRNFBTanB4YWZ5amFBL1pB?=
 =?utf-8?B?R2lHK0Z0dWlzcUZ1UVA1K1BDWDYzc3BkMXlqTnZkTGd1R0FhYTA2MU5OaEFG?=
 =?utf-8?B?bW8wMmN6Q1J5YmdycnN2aTVwRFlsMzZvNFRqYmF6ZndVdjQ0UHMrMG1RVnAv?=
 =?utf-8?B?N0czOC8wNExvazJUM2w2bVM4RktSbitrU3dXQkY5N01jaGx6YzZNV202ME5h?=
 =?utf-8?B?UXc9PQ==?=
Content-Type: multipart/alternative;
	boundary="_000_C18DD0FDE8584D7784B6268D86794FA7citrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51a32fca-35fb-4f20-9d5e-08da73968e98
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 08:19:30.0689
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VmcBoHxEtJxFf4Sx2n4aHUa/xIfUCY2ZIrWQfpF1pQNtAxxQX/zZRZVuNnWGIypnD7VWp4ipRjrkWoqz1LWntJeo6ycdsUA92A1iQiom/zI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5465

--_000_C18DD0FDE8584D7784B6268D86794FA7citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayA8ZWR2aW4udG9yb2tA
Y2l0cml4LmNvbTxtYWlsdG86ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4+IHdyb3RlOg0KDQpUcnlp
bmcgdG8gaW5jbHVkZSAub2NhbWxkZXAubWFrZSB3aWxsIGNhdXNlIGl0IHRvIGJlIGdlbmVyYXRl
ZCBpZiBpdA0KZG9lc24ndCBleGlzdC4NCldlIGRvIG5vdCB3YW50IHRoaXMgZHVyaW5nIG1ha2Ug
Y2xlYW46IHdlIHdvdWxkIHJlbW92ZSBpdCBhbnl3YXkuDQoNClNwZWVkcyB1cCBtYWtlIGNsZWFu
Lg0KDQpBY2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXgu
Y29tPG1haWx0bzpjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20+Pg0KDQo=

--_000_C18DD0FDE8584D7784B6268D86794FA7citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <56E3B5BD677C5B46A954F3D04C18DF0E@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmVkdmluLnRvcm9rQGNpdHJpeC5jb20iIGNsYXNzPSIiPmVkdmluLnRvcm9rQGNpdHJpeC5jb208
L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu
ZSI+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPlRyeWlu
Zw0KIHRvIGluY2x1ZGUgLm9jYW1sZGVwLm1ha2Ugd2lsbCBjYXVzZSBpdCB0byBiZSBnZW5lcmF0
ZWQgaWYgaXQ8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFz
cz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWls
eTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12
YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5v
cm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3Jt
OiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10
ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25l
OyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPmRvZXNuJ3QNCiBleGlzdC48
L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTog
SGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJp
YW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1h
bDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBu
b25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0
LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxz
cGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0
aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNh
cHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4
dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3
aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9r
ZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5
OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPldlDQogZG8gbm90IHdhbnQgdGhpcyBkdXJp
bmcgbWFrZSBjbGVhbjogd2Ugd291bGQgcmVtb3ZlIGl0IGFueXdheS48L3NwYW4+PGJyIHN0eWxl
PSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250
LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1h
bDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjog
c3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj
ZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDog
MHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxiciBzdHlsZT0iY2FyZXQt
Y29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx
MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQt
d2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0
ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1h
bDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4
dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6
IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBm
b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0
OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWlu
ZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29y
ZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNv
cmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBj
bGFzcz0iIj5TcGVlZHMNCiB1cCBtYWtlIGNsZWFuLjwvc3Bhbj48L2Rpdj4NCjwvYmxvY2txdW90
ZT4NCjwvZGl2Pg0KPGJyIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+
QWNrZWQtYnk6IENocmlzdGlhbiBMaW5kaWcgJmx0OzxhIGhyZWY9Im1haWx0bzpjaHJpc3RpYW4u
bGluZGlnQGNpdHJpeC5jb20iIGNsYXNzPSIiPmNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbTwv
YT4mZ3Q7PC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+
DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_C18DD0FDE8584D7784B6268D86794FA7citrixcom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:20:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:20:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378536.611753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQfH-00030C-4A; Mon, 01 Aug 2022 08:20:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378536.611753; Mon, 01 Aug 2022 08:20:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQfH-000303-1O; Mon, 01 Aug 2022 08:20:39 +0000
Received: by outflank-mailman (input) for mailman id 378536;
 Mon, 01 Aug 2022 08:20:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=omD9=YF=citrix.com=prvs=20515f1b2=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oIQfG-0002zd-IU
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:20:38 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d037dedc-1172-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 10:20:36 +0200 (CEST)
Received: from mail-bn1nam07lp2048.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Aug 2022 04:20:32 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by SA0PR03MB5465.namprd03.prod.outlook.com (2603:10b6:806:b5::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Mon, 1 Aug
 2022 08:20:29 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 08:20:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d037dedc-1172-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659342036;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=yFuibLHE/ZBSyhSmXInM/auRWgawUhMAHJytLYRD1DI=;
  b=AUSGDfvy8YelqXXpMAkxqAd1gQaQsI37bTrhZJAHK2lfTzSSOyPrp2qX
   X/VIDs/YGF0VlX7f80HYg5R1tyWHliUDuVk5rF5FvmQ3UIR26M7gNbYJe
   yC7Wv4hx2Cet8KQUkALKcnz0mXRZvEMI1moPUDzHxrJ4kvOQYmSFL9XEQ
   8=;
X-IronPort-RemoteIP: 104.47.51.48
X-IronPort-MID: 77062390
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AFP1UzamRhoeH4P8YHEgfL+Lo5mJPLROM6qJN2?=
 =?us-ascii?q?KgaY0/mBrAAGkV4Lpauux3sYxRXZD5wrreUNv97ip7up9dUYzqvePD74t4E+?=
 =?us-ascii?q?aSJagUKZylAgRz/sVfJUOR/8Hb3+WnMjEB6DHPpfMnycs3aMPvn5rCiDySGn?=
 =?us-ascii?q?VpIErlIrn4RLkaG+8+whVwTlASq1MnmyyzYJBdBULcZSaEm+m5WgOdLN99w+?=
 =?us-ascii?q?gFyDSByRlZttiyDE5ly80HmZFTYm8rPycZMXeaFv2CyKd5ODTmjyvMIf2VHW?=
 =?us-ascii?q?97uBsZhkWpmUhpj1Vi92fLwZjtwDXftmQoUrI5GhOIEolcNK1i1U9+mpiiyf?=
 =?us-ascii?q?iZuWboWl/tTadktlKAvIyEdSRhp2uxG60bzxqL2/EgM849UJkJ/ZwmCVWG8z?=
 =?us-ascii?q?3CFsK/I4Ibuf4jJjH0LEQNWlYu5HRfUDMVPzztuuwu9FiQDFiUcv8beNy6/O?=
 =?us-ascii?q?Yb7dD3gL5me4i6ZAR0yoS53csJgqlNT/nxF/cUGoSh4taJN0hBtEUCdE380i?=
 =?us-ascii?q?iD+kIvSLHvwtUA2bGEDGMn5QzYGPkO/KApNwuCws92x8MayvcRZ6mG21QBYx?=
 =?us-ascii?q?pYPNckE7ake9hXej8cTytR/5KLIUP03Q9pCOSTITOQZQci4VDT1mO+OMxPb2?=
 =?us-ascii?q?akMY30u7Pcn2XcFc9RUeoj6131k3z660F11x2+++68bhuaKgGXczQENgIymY?=
 =?us-ascii?q?o/IUXcEtq1ihzvxxbchLfFtN3N8CjTxjrY31V7+CGirMq6K5CN+HVOjGJmWs?=
 =?us-ascii?q?on8J3h9CfcULQDGskhqDNpbr+Hwrw/IZvGJSIfXj6h0PNf0B8H9IcXFHayd4?=
 =?us-ascii?q?Bzf7DDRzreEoYiOVZRGl5pHvv8UPfxivwvAOxZ9LM2pFbhGqXZHlrxir7+L/?=
 =?us-ascii?q?4W7h8NQ2UsPggF1sySBvS36M3xXpJVlgEPZjcxXzM7mppjDb+ziU8wV7LuiP?=
 =?us-ascii?q?wH2PMLhDxnKB9a/TMMLtKXzrmRV/CWHpPCfsWQwJOxKl7NwCEpS2K0ArQ1ra?=
 =?us-ascii?q?rEG8sDK1C2mVhIMllj4UK2n07D1cmLmXfIARCQh/m+yrLGEA4a7fXI8aRZZY?=
 =?us-ascii?q?RPzkAXFgE4IMGaa0N4tV9oYI244GgQ0noeAkBkRImVtPIB6Q0liikAkIb+Ql?=
 =?us-ascii?q?LWDuext2N+iOEbg36PGw3bjRYGQNgZ2C+aHaHAXes/gPmzXuyy8FH4UBjDFm?=
 =?us-ascii?q?juroLa7wHPDBA4ScnkClUnjNFGVgtAPOwzV4Ve06hZkEAnwsPDjCe36hMWF0?=
 =?us-ascii?q?XUXUNTMR0wBe29yA1pmkWGR5pazx7j6wt0d//0W9jVnxzflRbFGpIvUXVDUV?=
 =?us-ascii?q?7YW7KeuLZtZIQ+x4PeetrYlt6upMSMFPC6BR1cAEMM0Xs2LELY6eAyByb9SL?=
 =?us-ascii?q?8UW+Fm3wt4QlBiYhL6yQmHzN6DdbbyY/jrpmJk9L8mcShQBit4zxL8qwte4O?=
 =?us-ascii?q?Dql85fGD97vT2r18vEZRz3XlaaV+yC/gVtIjrM7Xn6CW1YQ8xMHsTPVpHPZX?=
 =?us-ascii?q?d5i8zuXoCp5amE5IzkZcm7Hhvm3NL91LiuFAXMu2Q5Yca70nQxHwKCLR5NXj?=
 =?us-ascii?q?PpH+i5lVzMAt6h7FbC12Ph6I2VCQYa19aH0bKZfcz26RRanW8rsAlS2pm9q5?=
 =?us-ascii?q?LmLEcqeb8xrxXu4iQ+juqkJHMbi6gpbYHajO+1ViVHCKG03YiEpmXUXj/+Tc?=
 =?us-ascii?q?vkP5D0xFuWQH4UfTwrs8Qsx4QYrFLpsnbuC5/g4PZbal5ckJdfnRJxUPNnFc?=
 =?us-ascii?q?i1qXF4bHTYAWNxr2KYrMwmFbMTG9z9+Rlw83TWXwTU6tCuvELPGKquqjO3KT?=
 =?us-ascii?q?qijJUe9KjXOMNXj03maj3nnreDz0cMkpZLfZRGyH4dm3GeQh7dvDJ19/UCx5?=
 =?us-ascii?q?Re6a4u9GNe1I18uC6x3aqnwesWsi6M/N1OWhB9JJwLVy8/0tRDEVYWr6qavD?=
 =?us-ascii?q?adNb6I5RrWxMtpG+vnxylZVeV4f5V891I+jWs/Iha49G+dgYEoevQSwAlOa4?=
 =?us-ascii?q?COydSd0UtfhwWlYGeHYLtduo80jEfY710GpDBDt7kRaStc12l6GdmwqN/xy2?=
 =?us-ascii?q?wZaqSmYQ6CTBjqKRRVxblGddYXVpba4eZNKqLKoQHMnKYWJUn6vwSQ3GWgKL?=
 =?us-ascii?q?0JXrOx5tgV+vXqZbBx7tvdzI32ct9bmR/wse8NxrEwcBcn853W9q1jV5eMYf?=
 =?us-ascii?q?GOloE3Y1Vk4f9JVPY2aQVfNrRy7wCImBQZjtQqFZRkgRU76jJcaKijOx6/IJ?=
 =?us-ascii?q?xvxtqZeLaNwY7X5ibj3pnjM3rKuZw+IUM91XWkL1QakIrMakfxOKthh37Odv?=
 =?us-ascii?q?0UGxnjB13k1TaA21Tzy3bWfHrhh/tTkHDccg84RGQdsgOOloFTcczBOrKmqK?=
 =?us-ascii?q?UNjWcBnin6L2mAcbkgFks9gRsP1391U8H1omvMZsQhyvTVfhTXR0Mk=3D?=
X-IronPort-AV: E=Sophos;i="5.93,206,1654574400"; 
   d="scan'208,217";a="77062390"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Phih/HBu5RfO5/qN0aKM7VsM93PlpocJwfNyzTZd4kP1VkfpfPhjJX748hrubEBgloBW4XRkE5e7nDCyYnODM05/QkdV6EUgvWEFRW7TW/w/0RcnSAgxBu/mI6kTpmAzq34kkS5NqsOvG4VmyBI9eoVLHmKniEOywkf6ZsJLQXuE5MC2y19rXxBbdGPYZbOhxd9cJxjX1MeGw5tYEqvW6EzKcj8BJ0u4AsfDarswDwi8te7ATx4Ub2ag82jl8sDb7MY59WXaMrnXaZIC4sMNjMP1yNcS2En3lyjGka2c0Umm2MkisNpPPAdFETVpjcLa7C0xnVAHsDCd3ttMFl3RTw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yFuibLHE/ZBSyhSmXInM/auRWgawUhMAHJytLYRD1DI=;
 b=jIu9elPyAC86F7iQ9LO4nHg5oTZTyziFeSeFyHaI9ttWXjmtOtnsoF3Sw/ilpci6nwad264EOrJPtx8aXgqeCrSBgJFZYd8BU7dCoFFg5krX2dl5YDaUDmuIk00aJ3KJpQW/FWDHFiOGoy9WmViVjGJU1cz3zOUQyltpCIGT2LjP4FrMf5QtNa53UGVZQFNzQX8wC5pqFukoem+daODuZ4jWTHUh1oWw8RZphX3XoMa2PoxfxSIuSj/erQuZC1r2MOs9O+vvBHtae/4fIa/MiC5MELTyOcBtNb//NIoo8ypUmVYTo6m88nVOzg5iux5q2m+8aU9qJhoqDeEpSnOVVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yFuibLHE/ZBSyhSmXInM/auRWgawUhMAHJytLYRD1DI=;
 b=YniAVDOQLTVK9Knx+CjqoB8sCWkNvNgVd7p638vZBB56zi5dnyop3FwQQ+lZwmmafMzu3+dt4mYsyUkpCotO3ISxBZVrlnz6EV04/fV+DG9yDrsYhbnoC0BK7ilBLtA12neaTfSnZV0aqIsZyNKjsi62CEQ0G5jBwpe7AQlMhLc=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH v1 7/7] tools/ocaml/libs/eventchn: do not leak event
 channels and OCaml 5.0 compat
Thread-Topic: [PATCH v1 7/7] tools/ocaml/libs/eventchn: do not leak event
 channels and OCaml 5.0 compat
Thread-Index: AQHYo3Q0zonO5SaiM0uTICRa4leQlK2ZuDaA
Date: Mon, 1 Aug 2022 08:20:29 +0000
Message-ID: <B0AE7110-216F-405A-AA24-6E5CF60D653D@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <6e5fd9edfea379b69682fa538141298fc1bc3110.1659116941.git.edvin.torok@citrix.com>
In-Reply-To:
 <6e5fd9edfea379b69682fa538141298fc1bc3110.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: bdae2264-ca11-4a60-20e9-08da7396b233
x-ms-traffictypediagnostic: SA0PR03MB5465:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 5Y4Z2psDWC9KoyQRson/nAljlLJydxtJ7iOOS0qWfUxVOMZdUuNU+v6OISWsNTtVPxqj1kZ8qYtmP0EjBri9L9odeQHp+jX4IMU77VLCDjxnEskHLq2tyG5ui/+c6EJshgULcwtNHF5fPW5he6NdetRGnP6L+4vnEk9OvFW4fVYDf3dJ7I2orRJN1CdZyY9IO1l8hMzlqSI67O4odIQEu4ObsyuUPMoX6FomGBFSDre08hoMMdaQoPSdUFev7ax+2h0W+tE9MwfoonPXVxlWxKQCumc0ZVN6FSWqCZcuL/Fh/LCMTbseQDot37nU5Whj/vieer4n+Q8NhwmBOai+l3JYZoR8UuE3dmBOdbhgOGA4GSHo+8ZKY3Eoe5h3IYNcQtWWBdSn4XIGhNetpOnNrgS1aPuYoJy2M1ZOP20oUBNrdxWXzvv8QG7tp7HFmpuTb3ZCwuEqcF3xtkHfH2VWE2ONi14TJbHzxtoq0o/YMcDI2W6MliTRHEDtZ2dI4dSPXqM3fzQYikrXCTLO3uiZqry/0P12R9WDXMQ1jUxKK8R2W+zNxz/9GRJz2otPVMeoImiDnPaT3Jn+1CSHfX46adch4+C1/vwxAO2tz7Hl37EpNIU7qjOGcR/dh5ctbXheqKrbJ0dEC/kgvN3eWcFOS4BtnzjXJunhGpFy315j7C29CgGvFP7A9L6IBGui6kPZi3pmFrO+uw7oIIj8OsFkpCPxQt/R5+AgcNt1r+t4hIw+RihIGF2+/aM1ZAPg+B7vZKslQXhKE6ls74v5CTFExMMnLvyvO+8MCKM3/MG7uLnF8m/gnijpktg0+kOPCLvAgLPieCL3YqRBn07rvIdXZw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(396003)(346002)(376002)(136003)(82960400001)(66446008)(38070700005)(64756008)(66556008)(66476007)(76116006)(66946007)(478600001)(8676002)(4326008)(107886003)(2906002)(6486002)(41300700001)(6862004)(71200400001)(5660300002)(8936002)(33656002)(38100700002)(4744005)(122000001)(86362001)(37006003)(6636002)(54906003)(44832011)(53546011)(6506007)(66574015)(6512007)(26005)(186003)(36756003)(2616005)(83380400001)(316002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RllQQ0xoWWVwbXRiVDk1RWdObFZ5M0FSMGNLMEkxS3lJT2V0ZjlKYVBlLzgz?=
 =?utf-8?B?SUhJUDNML3Z6dS9NZHp2d212bGgzTVU0RitnejBxaE1QUUtvWXBOdjdUT1lw?=
 =?utf-8?B?ZkZnUCtXZUM1RnhQb3VEZnpHcjF2TUVKYTlWSW94NDRYUnlQZVBTYWVUUjFs?=
 =?utf-8?B?SjlBM3dOZy8yOVRtbzVVdEhBcVJacmF3N0FHMXpmL2UrZDJ6emdBNk1RTEVk?=
 =?utf-8?B?dUVRZ2FoWThUSWhCQ2RhcTVqL2diQzdHcUFuRm1pZ3lQcXVMZjEweDdkei9M?=
 =?utf-8?B?cUoyTWpoRmFZZ0hWV25MREs4YS9BZVNqSlZXTHpxSCtjTnhETVphQ1ltK2pU?=
 =?utf-8?B?QVdWOEd1Z2w4ZTB6U3NEZTdXRWxDajlnUDBSNCtDUDE4Z1dESFp3T2tjK2Jv?=
 =?utf-8?B?a3ZJWU5zQ3FFODJDd285YjJvYitJS1UxcmwyTWNhSWE1VTlDNGl1UHBTa0tP?=
 =?utf-8?B?U0JGeVk0bnQ3NXQyOHpZRDRpUk5udEpxTGhZMWY1ZWozMUFDYkdPR2wyZlpJ?=
 =?utf-8?B?SlRDbnBUa21UYXBiQmk3NzRvaEJ0NmdWdDAvb05hd3FhQW5mQ2hlamZGR1da?=
 =?utf-8?B?dkJsZENqcW8wNUJxZzhNUkR1SFl5ZmIxZ1ArRTlLOU9CR21RZ2hrSW5COTMr?=
 =?utf-8?B?ZTVaOUVzbDY5amwxZFMyTW9DeGpweFc1N01Ta2wzTFV0dVJqcWZHeWFxeVYr?=
 =?utf-8?B?VE9IZEFBaS9VN1hlQk5sRHFhMk96NVc4WFJuVmxiNXd4a0dEN2k4MkZGL3lD?=
 =?utf-8?B?UlhIbGt4QUpwV3g1R1NvYmRCMDF6M0FjTktDR3BJdDJYRHREVHRVSE9kMzVJ?=
 =?utf-8?B?UlpuMVdwOXFNNjI5TElVY0ZjUnhxYjU1WlIyZnJXQi9KdjVnRUtFblhYQzNn?=
 =?utf-8?B?ZnVRcmt0SzltczhjR3NVVTdXbWF3QWNXRDNTQkQwMlV3MEVmdGVXTi9FMXZn?=
 =?utf-8?B?Nk8vSUNSaGxzQWVFYTM1VEt0dEJERTVxZlhtV3dkOFBuS2d1Uk4yQzBJL0gr?=
 =?utf-8?B?OTJBWjQ3cnpTZGpDVHJQYllXa3VGcWpaNWVRQ2VURmo4TC8vSGdzME8zQ3RI?=
 =?utf-8?B?U1ROeVdLVE9VS21BRzFBUERjd1pFeUVrTUhlSWdUUUtPM0poekk3VXNXMXpG?=
 =?utf-8?B?T1VOZ1VsYkJnT203c3lld2lOeDdnRE9GaStQTEI4TkxxSURKcjR5bmVETXpK?=
 =?utf-8?B?Nlc0Q2twYVAvaTBkUGNzbDcyRzMwbVlGN0R5M0MzQ0VzVmRmemlhbmsyT0JN?=
 =?utf-8?B?TzZSVlJJbUtpMVN4aGJxY0JCRCszdDRoV0w4S05rOFFTRlhDNTZjVGpRSERi?=
 =?utf-8?B?MktBczVzeWszTXVuZVIwYjBWZWJ6S2lGRFo3UThFcmpiYzlwY29nOWtNQWZa?=
 =?utf-8?B?L1JRemZVRjlqbVR0Rms1OGlvcXlYcTRUZ2NTOEIvZ1U3aHo4T1lPSHNHcFhR?=
 =?utf-8?B?dXJIanVmaUFtd1R5dDFmSUYrUzdaWEhiNDNwSm9MVkxQSEZneVZRR082UGZx?=
 =?utf-8?B?dEhBSk1weGxnRmtRb1N2TFp5bGxlanRidHpKY2lWVERMbXRGUFpwTmFBS0g0?=
 =?utf-8?B?cGdKMkpoSlVNWUp5V0dTa2V5VlpKQm9kbXJvUVdPczdrT2dtOUZzNHljQUdw?=
 =?utf-8?B?UDdDNE1YZXU3N0NuTmkyNmMzdFZkSnllNGxNTmVOMTVzdWh3cGdTMmUyaGFh?=
 =?utf-8?B?ODkyRU02VE1GZ3Vwc0R6NXFURHo2OHUrbkdtd3MxWUczVVk2NWtvejZCbkJE?=
 =?utf-8?B?M0JjaTIwWVR1WDByOExQOUplZXR0anc0U2dJTE1jNGtIZ202NzREL1F1MkRV?=
 =?utf-8?B?K0hjME90cmhyMjJQazQ3dlRodnQ3eXkvT2RBdFZZaTF6ZWU2SHJseE10cXlF?=
 =?utf-8?B?MlhKamRlYWx6SktPVURFVzRUTVpTTnRlOFRERk9hbzhWWEhZZjlSZ1lTWlNX?=
 =?utf-8?B?Ukd0ajNlOUZJNmFyQm9hQUw5QlNwRE5USVpnc1ZUTHN5L1ZkMUVUOXBMQUpj?=
 =?utf-8?B?c0J1Nkh3c1Jjd2xzU0dCV2V6ckZrb0g2dUtNdVl6VWpiOFNLSmxjYUVqYnBF?=
 =?utf-8?B?L2ZoSXZMbmszS1VWRXRGUUk3WGVXMUIreVlNQmwvZEdvSnhmdVBaWXViWFFM?=
 =?utf-8?B?SFBmQi9MUlBCNWlqZ0Q0MU5CN1lhd3R3eGlGUnZubmZTQktSOTZJSVRIb3lO?=
 =?utf-8?Q?QQE41b2VM/asT+vYyMv7mkQ=3D?=
Content-Type: multipart/alternative;
	boundary="_000_B0AE7110216F405AAA246E5CF60D653Dcitrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bdae2264-ca11-4a60-20e9-08da7396b233
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 08:20:29.7688
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: WHXYlqrrptxRX6LyGhH3cnpcKY55DfoaKcs056fpelZ1CmElNuOz0gDz3Cq+IGOrLu/prDVpMnqP5fpNVmgohdn9BqclMvqjA/8ScLNc6kY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5465

--_000_B0AE7110216F405AAA246E5CF60D653Dcitrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayA8ZWR2aW4udG9yb2tA
Y2l0cml4LmNvbTxtYWlsdG86ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4+IHdyb3RlOg0KDQpBZGQg
YSBmaW5hbGl6ZXIgb24gdGhlIGV2ZW50IGNoYW5uZWwgdmFsdWUsIHNvIHRoYXQgaXQgY2FsbHMN
CmB4ZW5ldnRjaG5fY2xvc2VgIHdoZW4gdGhlIHZhbHVlIHdvdWxkIGJlIEdDZWQuDQoNCkluIHBy
YWN0aWNlIG94ZW5zdG9yZWQgc2VlbXMgdG8gYmUgdGhlIG9ubHkgdXNlciBvZiB0aGlzLA0KYW5k
IGl0IGNyZWF0ZXMgYSBzaW5nbGUgZ2xvYmFsIGV2ZW50IGNoYW5uZWwgb25seSwNCmJ1dCBmcmVl
aW5nIHRoaXMgY291bGQgc3RpbGwgYmUgdXNlZnVsIHdoZW4gcnVuIHdpdGggT0NBTUxSVU5QQVJB
TT1jDQoNClRoZSBjb2RlIHdhcyBwcmV2aW91c2x5IGNhc3RpbmcgYSBDIHBvaW50ZXIgdG8gYW4g
T0NhbWwgdmFsdWUsDQp3aGljaCBzaG91bGQgYmUgYXZvaWRlZDogT0NhbWwgNS4wIHdvbid0IHN1
cHBvcnQgaXQuDQooYWxsICJuYWtlZCIgQyBwb2ludGVycyBtdXN0IGJlIHdyYXBwZWQgaW5zaWRl
IGFuIE9DYW1sIHZhbHVlLA0KZWl0aGVyIGFuIEFic3RyYWN0IHRhZywgb3IgTmF0aXZlaW50LCBz
ZWUgdGhlIG1hbnVhbA0KDQpBY2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxp
bmRpZ0BjaXRyaXguY29tPG1haWx0bzpjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20+Pg0KDQo=

--_000_B0AE7110216F405AAA246E5CF60D653Dcitrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <625D7C4C5A1B1140A531AB62196E739D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmVkdmluLnRvcm9rQGNpdHJpeC5jb20iIGNsYXNzPSIiPmVkdmluLnRvcm9rQGNpdHJpeC5jb208
L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu
ZSI+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPkFkZA0K
IGEgZmluYWxpemVyIG9uIHRoZSBldmVudCBjaGFubmVsIHZhbHVlLCBzbyB0aGF0IGl0IGNhbGxz
PC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6
IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3Jt
YWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTog
bm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4
dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8
c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxh
eTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5geGVuZXZ0Y2huX2Nsb3NlYA0KIHdoZW4g
dGhlIHZhbHVlIHdvdWxkIGJlIEdDZWQuPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJn
YigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250
LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0
MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVu
dDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1z
cGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0
aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwg
MCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTog
bm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0
ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsg
dGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzog
MHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9u
ZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFs
OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3Bh
Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10
cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAt
d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxv
YXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+SW4NCiBwcmFj
dGljZSBveGVuc3RvcmVkIHNlZW1zIHRvIGJlIHRoZSBvbmx5IHVzZXIgb2YgdGhpcyw8L3NwYW4+
PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0
aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNh
cHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4
dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3
aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9r
ZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0
eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBm
b250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5v
cm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln
bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0
aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxp
bmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPmFuZA0KIGl0IGNyZWF0ZXMgYSBzaW5nbGUgZ2xvYmFs
IGV2ZW50IGNoYW5uZWwgb25seSw8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAs
IDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5
bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsg
bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAw
cHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNp
bmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246
IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPmJ1dA0K
IGZyZWVpbmcgdGhpcyBjb3VsZCBzdGlsbCBiZSB1c2VmdWwgd2hlbiBydW4gd2l0aCBPQ0FNTFJV
TlBBUkFNPWM8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFz
cz0iIj4NCjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6
IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3Jt
YWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTog
bm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4
dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8
c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxh
eTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5UaGUNCiBjb2RlIHdhcyBwcmV2aW91c2x5
IGNhc3RpbmcgYSBDIHBvaW50ZXIgdG8gYW4gT0NhbWwgdmFsdWUsPC9zcGFuPjxiciBzdHlsZT0i
Y2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1z
aXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7
IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0
YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6
IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBw
eDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQt
Y29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx
MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQt
d2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0
ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1h
bDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4
dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRh
bnQ7IiBjbGFzcz0iIj53aGljaA0KIHNob3VsZCBiZSBhdm9pZGVkOiBPQ2FtbCA1LjAgd29uJ3Qg
c3VwcG9ydCBpdC48L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBm
b250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1h
bDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNw
YWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQt
dHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsg
LXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBj
bGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZh
bWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9u
dC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6
IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNm
b3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtp
dC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBu
b25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPihhbGwNCiAmcXVvdDtu
YWtlZCZxdW90OyBDIHBvaW50ZXJzIG11c3QgYmUgd3JhcHBlZCBpbnNpZGUgYW4gT0NhbWwgdmFs
dWUsPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1p
bHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQt
dmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBu
b3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9y
bTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQt
dGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+
DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhl
bHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFu
dC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7
IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9u
ZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1z
dHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlz
cGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5laXRoZXINCiBhbiBBYnN0cmFjdCB0
YWcsIG9yIE5hdGl2ZWludCwgc2VlIHRoZSBtYW51YWw8L3NwYW4+PC9kaXY+DQo8L2Jsb2NrcXVv
dGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIi
PkFja2VkLWJ5OiBDaHJpc3RpYW4gTGluZGlnICZsdDs8YSBocmVmPSJtYWlsdG86Y2hyaXN0aWFu
LmxpbmRpZ0BjaXRyaXguY29tIiBjbGFzcz0iIj5jaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb208
L2E+Jmd0OzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2
Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_B0AE7110216F405AAA246E5CF60D653Dcitrixcom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:23:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378545.611764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQiU-0003vI-Og; Mon, 01 Aug 2022 08:23:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378545.611764; Mon, 01 Aug 2022 08:23:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQiU-0003vB-L1; Mon, 01 Aug 2022 08:23:58 +0000
Received: by outflank-mailman (input) for mailman id 378545;
 Mon, 01 Aug 2022 08:23:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=omD9=YF=citrix.com=prvs=20515f1b2=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oIQiT-0003v5-H9
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:23:57 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 435e0a42-1173-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 10:23:52 +0200 (CEST)
Received: from mail-dm6nam10lp2107.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.107])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Aug 2022 04:23:26 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by SA0PR03MB5465.namprd03.prod.outlook.com (2603:10b6:806:b5::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Mon, 1 Aug
 2022 08:23:25 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 08:23:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 435e0a42-1173-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659342232;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=NrMYq7DMY+Zy8LSRs6C6WJ98HlGn4/5BPWSOUyKYaSM=;
  b=DOtSTLr6Cdxsy6mshFL8jtz+SrbsqDmvbbXL1gWz1pn4gqMoqd/iu4Dk
   4227lszX+A4pXal7cXh8DoOxpU12v0lD2HD9N1aTVqmQumv8NawUmUcY1
   LWZlzdepZFAPuc3x9aJnyKV5Rot58kodJL1JNjKwyROiYAsSIdKGpOL4O
   0=;
X-IronPort-RemoteIP: 104.47.58.107
X-IronPort-MID: 77064148
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Ns6v/qkfQCUfusa2Ha9oFtro5gyZJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJJXTzUPfiCMGTyeopwbY2/pEwC6pLXy9FmQAVu+3xmHiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk346+r4GlwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2ktOJIf98BvWF1c8
 KIzEC1dMh/ZgOCPlefTpulE3qzPLeHNFaZG4jRM6G+cCvwrB5feX6/N+NlUmi8qgdxDFurfY
 MxfbidzaBPHYFtEPVJ/5JAWxb/0wCWgNWAI7gvN+sLb4ECKpOB1+LPtKtvOZt2DQ4NRn0CUp
 23u9GXlGBAKcteYzFJp91rz2beRwXqnCOr+EpW51vFBoXvDmVATJ0FIDFuLmsSZh06HDoc3x
 0s8v3BGQbIJ3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQAsQjdfZfQ8ucQxRDhs0
 UWG9/v2ARR/vbvTTmiSnop4thu3MCkRaGMHOykNSFJd58G5+dlsyBXSUtxkDai5yMXvHi39y
 CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsiOOZJu6TABYDn0Mt9
IronPort-HdrOrdr: A9a23:YK0DDqBM2wzE/KblHegasceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEDyewKnyXcV2/haAV7GZmXbUQSTXeZfBOfZogEIXheOjtK1tp
 0QPpSWaueAa2SS5PySiGbXLz9j+qj/zEnCv5a9854Zd3APV0gW1XYdNu/0KC1LbTgDIaB8OI
 uX58JBqTblU28QdN6HCn4MWPWGj8HXlbr9CCR2SCIP2U2rt3eF+bT6Gx+X0lM1SDVU24ov9m
 DDjkjQ+rijifem0RXRvlWjoai+2eGRi+erNvb8yfT9GQ+cyDpAo74RHoFqiQpF4N1HLmxa1O
 Uk7S1QePiboEmhA11d6SGdpzUIlgxep0MKgGXo/0fLsIj3Qik3BNFGgp8cehzF61A4tNU5y6
 5T2XmF3qAnRC8pDEzGlqf1vjxR5z2JSEAZ4Jgupm0aVZFbZK5arIQZ8k8QGJAcHDji4IRiFO
 V1FsnT6PtfbFvfNhnizyJS6c3pWm52EgaNQ0AEtMDQ2z9KnGphx09dwMAEhH8P+J80VpEB7e
 XZNaZjkq1IU6YtHOpALfZERdHyBn3GQBrKPm7XKVP7FLsfM3aIsJLz6KVd3pDfRHXJ9upGpH
 3saiIpiYdpQTOeNSSn5uw5zjndBGOgQD/q1sZSo5Bkp7yUfsuYDRG+
X-IronPort-AV: E=Sophos;i="5.93,206,1654574400"; 
   d="scan'208,217";a="77064148"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nEJCNstKUafGsWo+1NufiWt+nccxd+0bGNKnKZ2yvdEWto9L2+//ZwTZI8iYW6hVIIs9aEgqQPPumchJGlxVgZdPlqhR4GC4Pv/f9gYlFa7CwhKux+NQFvmffPedugUHIzybNhR4yhEyitgvRkUBsKY19aGWOjbDImEnh8gDR186YKYqISFucL5+N3nBgjUSh/hPdZCPRA2QLI1jNBT15JzLHusmPDxLsGy+wOmd+aRUS5Hrre6GTRqDETJJDHl89LdhhrN9Nl3B+DUZaKJ2Z4InJf1rrJS60gd9gWIEHO9gfXdxC9QOlD9T2PgJYGtUw85YlxRi2KP0w9EnK6603g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NrMYq7DMY+Zy8LSRs6C6WJ98HlGn4/5BPWSOUyKYaSM=;
 b=QUP6CIUj/C9DNh3PjvCJUBp9ymw5pHxvexLuDDF3OjtKWfcQ1L6Z9xKMrWCOpmR3Tql1H7/coXos4Bc7NUBs4IDhCoBtJST9XpmVfMMqcZSoiJNvayWpe6CCEuMIPELoIx82Bj4GohcA9BJYZd7Q04WH8C408pLDTu176IJow71UoGUs64Mjr9uiTWeZVnErhX9zKhrpFjD/aAlDHMTG6mJsr3HJ5VQAcG1ILDigHucfp1kGxp6X33gcs8KQJByiCvf1At2GCMC00FXV9vEJPFlnal9gbW9qmkImKEV8INEu8OGNiyXhpwJKY3RxGmvyWCUm30ZcKxR5E8BpiTudbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NrMYq7DMY+Zy8LSRs6C6WJ98HlGn4/5BPWSOUyKYaSM=;
 b=U4wUz8i3qEpeloUWq1Y5t6eBzskI5ozC/vDZxxOpYENAsHoWfRKLtBnQvs5O5vvtuY/hgYiIUt88wugq4Z8nGmYxqu98DN2s9gLyHlSqEENiaES9jSAA6We7nTA+jbneXJPShoTTU9zu4SZcI8cUyhR/UsjO30cpioiObL11kP8=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH v1 5/7] tools/ocaml: fix compiler warnings
Thread-Topic: [PATCH v1 5/7] tools/ocaml: fix compiler warnings
Thread-Index: AQHYo3Q92aLfQ5z7jEOjsQTVnpAyA62ZuQYA
Date: Mon, 1 Aug 2022 08:23:24 +0000
Message-ID: <67CB37DA-6751-4C31-B576-5674AACFE317@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <23dcc916bff25d0545c167833d99aa73b8a4c8da.1659116941.git.edvin.torok@citrix.com>
In-Reply-To:
 <23dcc916bff25d0545c167833d99aa73b8a4c8da.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5b779940-af30-44d1-d769-08da73971a8e
x-ms-traffictypediagnostic: SA0PR03MB5465:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Qn2Acjrit0ZW95qqMFoDz+J4gCfcmMx1Emt8PaOpMEoBmMOW95sP51HuNUYDAnI0waTuXNns9x0fjDzRS3ETq4+Q9ABisHY/IP5a0BAsQoWhQ1pBhqZyCjQsGYdv7oUo84FICjhVv2BV2Km4G2F84OYA0DLYqiEqNq9SbLVjpgbOEMe6V/drvyaPlhulBYIYzopJCi6KRlbiCXlOS/oj3TpeocI/HtgBJYd/khZwsu7FdvDsKgZuTkSoZNIQG4GXIelDsjVS4rtLerMcekNolJOMp/45sSrl/9fbVbOeDrhoAjNYuJLRI5oiJxMUUeEuNbFWc9pmt5Vaa27ozA5HVoyabRLAZbIQQtkBI7euDcgCh/SDw4yCdaBlEMjw3ZVwDWy0iUOHG69Xcp2YzCcRQV5yoVmr/LZA8yxahjzE2nopWlBqLb80Ot6xTmgBlwQuI+dqGnA5+UMU6HTaXns+P0jPe/5U4B4P5wWG+PXQ1IAYdgsIUI4sjNzEnv4x4A2rFgdXwYaqhgCSBFh1Fj95BcKWEJlZQDFFuZLcXTSwLhktUfuXqPcoqVd/Nlxljgf9lgIDDbQNX2ben/kZQyBcTbIX3kE8NagFD2UCm+hIZ2bCcYvfAofGTHmjCxErlR81Sba8HpR8dtp3AA7boU4qrc4XF+p4cVaXc4esEDOPmLy9YP9V0g9uW3PWEaor9GJ7/GYoh4RuKZDALFj0A3mnF3s/fSCBmO1kMcGgzcra3iB//OlwUpE1Uzxo2cyr9nTkJvTdFVnGY63jFPVKdsKbPyC3IkkLPoO+YGl+Al0t/f2mFCBHr9jLqUdLAakMysHhSQ+8rYBXMbHDm4rRhi9ILw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(396003)(346002)(376002)(136003)(82960400001)(66446008)(38070700005)(64756008)(66556008)(66476007)(76116006)(66946007)(478600001)(8676002)(4326008)(107886003)(2906002)(91956017)(558084003)(6486002)(41300700001)(6862004)(71200400001)(5660300002)(8936002)(33656002)(38100700002)(122000001)(86362001)(37006003)(6636002)(54906003)(44832011)(53546011)(6506007)(66574015)(6512007)(26005)(186003)(36756003)(2616005)(83380400001)(316002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?LzBjTUZibG5SazdtRkFTdGpyMU5iSWsweDd2c09sYkl5TUhOR3lULzdNN1NC?=
 =?utf-8?B?WlhKSTdrOEoySnlYZjNXSmRvak1HNzhNSk1STW0zMzhrTzl6MXhWV0FwcVJs?=
 =?utf-8?B?aDVQWmYrUWErZS9FdTM3SFhDTGVjRjFzd3pFRUViN3k0eVFMVlZNaWF6bzlN?=
 =?utf-8?B?S2VlY1pXRGMrT1BuMWZVVm0vUlhFaVpuWDZoWnpOZHdjTnYwdXZSeGZ0Y0Zp?=
 =?utf-8?B?U0s5elVIVnNuN1B5TEZCMnVZRzlQdmZiQjZib2t0WUJoSytzVWJXVDgxWHdp?=
 =?utf-8?B?N1BORk9RQ2lFTmZXLzEzRStudGtUUDIxbWZ6NHp1WVJOTkdPRHJhNU1rNkgw?=
 =?utf-8?B?V01jZi9zeHVZZHFwNk4wWWVaSVVScGpOZkZrM3ZmYlNraHArOGZYVlc1cHRD?=
 =?utf-8?B?d0VzU1ZrZmVMdUlhYzNOc2ROM3ZsSjlWQ0VkUnpoUmhjMmF1c1JTYkNMVWlj?=
 =?utf-8?B?QlgyTTEzWFdXNHY1aXc4L2JYNEZjbExLZlVzcHJJREQrWjFXQm44cWRsUHI3?=
 =?utf-8?B?T0ZCTThFTkZ0VitUR0JCT01vUXd6bFZ3c0dvTDhuVGRsK0UxbjlqT0tTZHNv?=
 =?utf-8?B?WmhYY1NhWTN4MndXanVON0FkWkZtdTl3OWprK3NLK2ZXMVdCSkJLWUJwYmlF?=
 =?utf-8?B?aEQwMjRhVXBkQjVWVm9rbTdEcnUvMWtPU04yc1MzV2JER1VhdG84Z1hqUFpP?=
 =?utf-8?B?NWhrb1lKeEsxZDNjZ1RYU2FzV1ZiaUgreHlGSmZvYTdYTkJLM1pUaFdWN3No?=
 =?utf-8?B?K1lyelAvQ0cwaUdhclNtV2g5MzhuU016M0twQ0dvdDVCTCtZZ0VBc0Qybmdr?=
 =?utf-8?B?MStyaHBEYW5VajBZREJGRG9GdGdnSU1ab3M4MHRDSVY0R0ZBck8vYnp0MGd5?=
 =?utf-8?B?UGYzRit6cnZFWlFOeXoxRUtPUjc0aFg2YWRZQWZybWQvM0MwSHNZTTBhOUJh?=
 =?utf-8?B?aXI1ZjNseE5oYk8xaXQ1VzRhZVg1SStnNjNlTUlkdlF1eWhCUnlJbnlkM3NL?=
 =?utf-8?B?dUJzOWZRMmF0YXRHL2VEd0NydDllbjcxcjZWazNpaXE0YllXNkp6Wll2NEFI?=
 =?utf-8?B?UGc4bk80NU9WTmR4bFdDUkd5U3doVnc3UFljeDkyM2hLUFN6UVpOZHZHTy9F?=
 =?utf-8?B?T2szZUdoQ1I2cmY2SnNxbUNMWXc0aFZCZlRnNU1IWFN3a29IdkdDUjBYZmY3?=
 =?utf-8?B?SWtvVHhhMStEODNLTHZETExpM28rekVtc1MxeExVamJ0Nks4ZG01M0FNRFI3?=
 =?utf-8?B?S0RzZ0VEWlZPWW5GOGUwZ1d1MERwRXh2eVZXTm9Tc1FkWWFsQ2RTczg1VGhC?=
 =?utf-8?B?dTBMRG5SODFVSk1NS0FCeFo2eHhRenNFems3enpTNGNMZ0dyTktZS2xPRSt6?=
 =?utf-8?B?VzZvOFg3WUlGVldyeE90cTVZeUpQMjJIM0s4eXpqVy9LOUZpRmg1T0hnWms1?=
 =?utf-8?B?UUVaWGw3eWE2Q0RlSDdUYjduRGdDa2hvWDc4R3pFa1lhaHZINTZndmhzODVP?=
 =?utf-8?B?SGZSUllrOEY3dFRnc3hQcEViZ0Z4NHh0R3FkREF6QThGa21tLy9xT3dzNE9Z?=
 =?utf-8?B?eXlQTTU0SWtsYkxCQTc1dWExWHdKcXhIL2IvZmNWdEFPemhPSmxGNW9jN1JV?=
 =?utf-8?B?dzc1a1R3dXVUaytGeVpoOHY1bXNBMncrcDZ6VFlEVjZCczFpaXI5OUMreGpM?=
 =?utf-8?B?Q3AyeUo5TVJVa3BMVndmbWFvOVdNSzVVZkJLUVJYdk1xZXdrYkFJTDRSc3Uv?=
 =?utf-8?B?UHNhazVFOEtQK3hoMHV1NTJ1N01PaG4rbDRaa1NPeDQvOVNtbzFVWDdnVS9v?=
 =?utf-8?B?cUlCekM3TVdNeFBvVy9BZnBqak05ZDd0UHBRRjQzaWlxaHZIL0xpajhibTJq?=
 =?utf-8?B?ZUlFT0EvNXk3TW1FTXRpYkpTSERuakx4T0FSWkdnUlNmUmJ5TTQ0UlhWV0F6?=
 =?utf-8?B?bkhtcEFvUStSOXhyK1hxUW50UzNHdUIyTGxUU3psamhUUWEvMUc3L3EyY1U2?=
 =?utf-8?B?dUQ4SVV0ZDV2dE14bkl5TktqOVJEcXppaWpWNHpRWFlWQ1ptT1RERmxESW45?=
 =?utf-8?B?MDFTZ1VTMkFwVVlkUFNvQjB4WjRQMmg0LzgwTnFSYjlWQ3cyV3ltTjBCdXNT?=
 =?utf-8?B?WHBKUThYNmRuRHQxRWNqYXF5cEFQWEZSZlRGTGxvKzdPekV4NHhkNFFsUVdD?=
 =?utf-8?Q?CJ72Esa4uVSUk2avUoaONsU=3D?=
Content-Type: multipart/alternative;
	boundary="_000_67CB37DA67514C31B5765674AACFE317citrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b779940-af30-44d1-d769-08da73971a8e
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 08:23:24.8858
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rK50Z7GbFZz6Z6jQYt3ihxzTdSTEwrcR7BJeigpP+2QhRQ8dFgjU0EgQ+1nNzjTjz7hqjdiUlXg/9UIUTVdkreih9cvC6nRtjBHUdS8DW4M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5465

--_000_67CB37DA67514C31B5765674AACFE317citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayA8ZWR2aW4udG9yb2tA
Y2l0cml4LmNvbTxtYWlsdG86ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4+IHdyb3RlOg0KDQpGaXgg
Y29tcGlsZXIgd2FybmluZyBhYm91dDoNCiogdW51c2VkIHZhbHVlDQoqIGFtYmlndW91cyBkb2N1
bWVudGF0aW9uIGNvbW1lbnQNCiogbm9uLXByaW5jaXBhbCB0eXBlIGluZmVyZW5jZSAoY29tcGls
ZXIgdmVyc2lvbiBkZXBlbmRlbnQpDQoNCk5vIGZ1bmN0aW9uYWwgY2hhbmdlLg0KDQpBY2tlZC1i
eTogQ2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPG1haWx0bzpj
aHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20+Pg0KDQo=

--_000_67CB37DA67514C31B5765674AACFE317citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <70A4929C2FFC62468FBD7166FE9457BF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmVkdmluLnRvcm9rQGNpdHJpeC5jb20iIGNsYXNzPSIiPmVkdmluLnRvcm9rQGNpdHJpeC5jb208
L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu
ZSI+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPkZpeA0K
IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQ6PC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJn
YigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250
LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0
MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVu
dDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1z
cGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0
aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAw
LCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxl
OiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxl
dHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4
OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5n
OiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBu
b25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj4q
DQogdW51c2VkIHZhbHVlPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAw
KTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRl
ci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0
ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAw
cHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25l
OyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9u
dC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7
IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFj
aW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRy
YW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13
ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9h
dDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj4qDQogYW1iaWd1
b3VzIGRvY3VtZW50YXRpb24gY29tbWVudDwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiBy
Z2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9u
dC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDog
NDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRl
bnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQt
c3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3Jh
dGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwg
MCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHls
ZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBs
ZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBw
eDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2lu
ZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjog
bm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+
Kg0KIG5vbi1wcmluY2lwYWwgdHlwZSBpbmZlcmVuY2UgKGNvbXBpbGVyIHZlcnNpb24gZGVwZW5k
ZW50KTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250
LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzog
bm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zv
cm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0
LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIi
Pg0KPGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVs
dmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50
LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsg
dGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25l
OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0
cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFu
IHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNh
OyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6
IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1h
bGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0
ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13
aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBp
bmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPk5vDQogZnVuY3Rpb25hbCBjaGFuZ2UuPC9zcGFu
PjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8L2Rpdj4N
CjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPGJyIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj4NCjxk
aXYgY2xhc3M9IiI+QWNrZWQtYnk6IENocmlzdGlhbiBMaW5kaWcgJmx0OzxhIGhyZWY9Im1haWx0
bzpjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20iIGNsYXNzPSIiPmNocmlzdGlhbi5saW5kaWdA
Y2l0cml4LmNvbTwvYT4mZ3Q7PC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNz
PSIiPg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_67CB37DA67514C31B5765674AACFE317citrixcom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:24:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:24:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378546.611775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQiX-0004BZ-0Z; Mon, 01 Aug 2022 08:24:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378546.611775; Mon, 01 Aug 2022 08:24:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQiW-0004BS-Te; Mon, 01 Aug 2022 08:24:00 +0000
Received: by outflank-mailman (input) for mailman id 378546;
 Mon, 01 Aug 2022 08:23:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=V0wp=YF=redhat.com=mprivozn@srs-se1.protection.inumbo.net>)
 id 1oIQiU-0003v5-Db
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:23:59 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48bab43f-1173-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 10:23:57 +0200 (CEST)
Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com
 [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-592-05jKX2-hOR64yGZMb_Z4cg-1; Mon, 01 Aug 2022 04:23:51 -0400
Received: by mail-ej1-f70.google.com with SMTP id
 jg29-20020a170907971d00b0072b5acf30e7so2701790ejc.8
 for <xen-devel@lists.xenproject.org>; Mon, 01 Aug 2022 01:23:51 -0700 (PDT)
Received: from [10.43.2.88] (nat-pool-brq-t.redhat.com. [213.175.37.10])
 by smtp.gmail.com with ESMTPSA id
 i23-20020a1709063c5700b007306ae5bb1esm1609916ejg.82.2022.08.01.01.23.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 01 Aug 2022 01:23:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48bab43f-1173-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1659342235;
	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=kMTELn9ab6+BDLW6VAWqoAU6j1a+vQbb+26p9hBa/Fk=;
	b=SdWvsETP36trFBrt+pHdLBSkgvOO+/QflpMBYWf5R34xp8Zuy1GEkUjL0XboSd4u7+7AOW
	lv3REf2yay+IAAQB6+yLxkfzpXss2ZFylcqhNo+Uy7+rufOuy/rr1454kcBF1vgLxqS1vV
	OJmMrp1J3xI2UGxgwgqa3MS7lPonJZg=
X-MC-Unique: 05jKX2-hOR64yGZMb_Z4cg-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=kMTELn9ab6+BDLW6VAWqoAU6j1a+vQbb+26p9hBa/Fk=;
        b=s3PLEphlIpiiiYTqgxSfUnc0RCVKxRCZv2uuflWux6IKhKMOourHBhe/E7CnjU3Qkt
         zDrP00Tk5NatehDPIAChwN44djiPXc3BMUX688sUjxhURL63eU3yJtjrm+MHVEq5F8WJ
         RhXVkJliwwnQ2uu6rHoHF1teSJBLAR4he5nni8jjHG+c6K941OJ3/GY9UvSfStzxLzlj
         1q8vqHGG9D6WkmEI5aWGhjomOcMNPnTmGCPZ2D5h1ojmaESqDcRzHKjp8I/uZ0/Q2NPC
         3Z7ZuhyVHqhFD48AdBFVXSaJKsvCNdvD3JwYx70Lmd6csK2NZ3G0MVb41hWkfYzrlHPM
         zWPA==
X-Gm-Message-State: ACgBeo1f8nr16r62mL76BddKPDtjqZpdofW71toMqsP+6H6VGyuexTay
	U2XAlAPAgaNaIcnyA7cNYp6o9y6qJFi+iwAHPrhtTIJoXgDdFGwckOJCXhAhg8kAMiLSYVEVhaM
	rJAfLJFehOJidopQlj0oeMbbrtAQ=
X-Received: by 2002:aa7:de18:0:b0:43d:30e2:d22b with SMTP id h24-20020aa7de18000000b0043d30e2d22bmr12508395edv.224.1659342230743;
        Mon, 01 Aug 2022 01:23:50 -0700 (PDT)
X-Google-Smtp-Source: AA6agR5Cy8ahha4aOOY55MkaIlnpdducGMeE2Et5rOc9u7XrKkLcG9XnieyoqipC0XQVab+yJm3BQw==
X-Received: by 2002:aa7:de18:0:b0:43d:30e2:d22b with SMTP id h24-20020aa7de18000000b0043d30e2d22bmr12508385edv.224.1659342230503;
        Mon, 01 Aug 2022 01:23:50 -0700 (PDT)
Message-ID: <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
Date: Mon, 1 Aug 2022 10:23:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
 xen-devel@lists.xenproject.org, libvir-list@redhat.com
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
From: =?UTF-8?B?TWljaGFsIFByw612b3puw61r?= <mprivozn@redhat.com>
In-Reply-To: <20220729155024.3327364-1-olekstysh@gmail.com>
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mprivozn@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 7/29/22 17:50, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Xen toolstack has gained basic Virtio support recently which becides
> adding various virtio related stuff introduces new disk backend type
> LIBXL_DISK_BACKEND_STANDALONE [1].
> 
> Unfortunately, this caused a regression in libvirt build with Xen support
> enabled, reported by the osstest today [2]:
> 
> CC       libxl/libvirt_driver_libxl_impl_la-xen_xl.lo
> ../../src/libxl/xen_xl.c: In function 'xenParseXLDisk':
> ../../src/libxl/xen_xl.c:779:17: error: enumeration value 'LIBXL_DISK_BACKEND_STANDALONE'
>    not handled in switch [-Werror=switch-enum]
>                  switch (libxldisk->backend) {
>                  ^~~~~~
> cc1: all warnings being treated as errors
> 
> The interesting fact is that switch already has a default branch (which ought
> to cover such new addition), but the error is triggered as -Wswitch-enum
> gives a warning about an omitted enumeration code even if there is a default
> label.

This is expected and in fact working correctly. We want compiler to warn
us about enum members that are not handled in a switch() statement. The
'default' case exists in some places because we suspect the value might
not have been validated before. For instance:

libxl_disk_backend x = atoi(argv[1]); /* or parse something from XML */

switch(x) {
case LIBXL_DISK_BACKEND_UNKNOWN:
case LIBXL_DISK_BACKEND_PHY:
case LIBXL_DISK_BACKEND_TAP:
case LIBXL_DISK_BACKEND_QDISK:
  // Neither of these might be exectuted ..
default:
  // .. in which case this will.
}


But we are not very consistent in putting 'default' case, sadly.

> 
> Also there is a similar issue in libxlUpdateDiskDef() which I have reproduced
> after fixing the first one, but it that case the corresponding switch doesn't
> have a default branch.
> 
> Fix both issues by inserting required enumeration item to make the compiler
> happy and adding ifdef guard to be able to build against old Xen libraries
> as well (without LIBXL_HAVE_DEVICE_DISK_SPECIFICATION). Also add a default
> branch to switch in libxlUpdateDiskDef().
> 
> Please note, that current patch doesn't implement the proper handling of
> LIBXL_DISK_BACKEND_STANDALONE and friends, it is just intended to fix
> the regression immediately to unblock the osstest.  Also it worth mentioning
> that current patch won't solve the possible additions in the future.
> 
> [1] https://lore.kernel.org/xen-devel/20220716163745.28712-1-olekstysh@gmail.com/
> [2] https://lore.kernel.org/xen-devel/E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org/
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ---
> Cc: Julien Grall <julien@xen.org>
> Cc: Anthony PERARD <anthony.perard@citrix.com>
> Cc: Michal Privoznik <mprivozn@redhat.com>
> 
> Please note, the patch is tested on:
> https://xenbits.xen.org/gitweb/?p=libvirt.git;a=shortlog;h=refs/heads/xen-tested-master
> but should work on the master as well (as the same code is present here).
> ---
>  src/libxl/libxl_conf.c | 4 ++++
>  src/libxl/xen_xl.c     | 3 +++
>  2 files changed, 7 insertions(+)

Ah, I couldn't find the commit in master, and it's simply because it's
not there yet. It's in staging:

https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;f=tools/libs/light/libxl_types.idl;h=66dd1c62b2a3c707bd5c55750d10a8223fbd577f

The patch looks correct. Do you have any estimate when it can be merged
into master? I'm not sure what our, libvirt, rules about xen staging
are, but for qemu we require master (even unreleased yet).

Michal



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:25:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:25:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378557.611786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQjw-00053F-DT; Mon, 01 Aug 2022 08:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378557.611786; Mon, 01 Aug 2022 08:25:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQjw-000538-As; Mon, 01 Aug 2022 08:25:28 +0000
Received: by outflank-mailman (input) for mailman id 378557;
 Mon, 01 Aug 2022 08:25:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=omD9=YF=citrix.com=prvs=20515f1b2=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oIQju-000532-Ax
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:25:26 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c523be0-1173-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 10:25:24 +0200 (CEST)
Received: from mail-bn1nam07lp2043.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Aug 2022 04:25:21 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by SJ0PR03MB5648.namprd03.prod.outlook.com (2603:10b6:a03:288::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.6; Mon, 1 Aug
 2022 08:25:17 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 08:25:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c523be0-1173-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659342324;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=EDumq/F4j2kDxbTVxuHmlBPPEpxoIkwKd8DOy7XJ4N4=;
  b=fKtqUOWjlmh4MALR9Xz6VQxJli+ok9mwJe7YpvBBcmzF3KSFG4qYq/Xx
   RdIbqoOj3/lSSIyK45BQO/zxBrxqExKx0+S1srtvpAtkn41M+drZ6kyoy
   +rhJswsCXchTmLHZtWkqyfv7uiJNWCrbaobFp1wNJ6lS8RLF8uLB25HZG
   U=;
X-IronPort-RemoteIP: 104.47.51.43
X-IronPort-MID: 76844071
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4fyC/ql4wr0JClXLEY6MOjDo5gyOJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeCDqBaKuJZzb1fYogOYnnoE4Du5+AndVgTwZtrCozECMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk346+r4GlwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kfO6EW2/lqGF0Tz
 u4qOiwjSjrYxOu5lefTpulE3qzPLeHNFaZH4DRK62icCvwrB5feX6/N+NlUmi8qgdxDFurfY
 MxfbidzaBPHYFtEPVJ/5JAWxb/0wCWgNWAB7g7OzUY0yzG7IAhZ27j3McHJe9WMA8FUmEqZq
 UrN/njjAwFcP9uaodaA2i3y1rOTxXyiMG4UPKWyrddbiWOI/DQWLiNOewuJgqCVp0HrDrqzL
 GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAbShZRZdpgs9U5LQHGz
 XeMltLtQDZp6bucTCrC8q/O9W/pfy8IMWUFeCkICxMf5MXuq50yiRSJSct/FKmyjZv+HjSYL
 y22kRXSTo471aYjv5hXN3id695wjvAlljII2zg=
IronPort-HdrOrdr: A9a23:4TDHsqBtpGmocjrlHegasceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEDyewKnyXcV2/haAV7GZmXbUQSTXeZfBOfZogEIXheOjtK1tp
 0QPpSWaueAa2SS5PySiGbXLz9j+qj/zEnCv5a9854Zd3APV0gW1XYdNu/0KC1LbTgDIaB8OI
 uX58JBqTblU28QdN6HCn4MWPWGj8HXlbr9CCR2SCIP2U2rt3eF+bT6Gx+X0lM1SDVU24ov9m
 DDjkjQ+rijifem0RXRvlWjoai+2eGRi+erNvb8yfT9GQ+cyDpAo74RHoFqiQpF4N1HLmxa1O
 Uk7S1QePiboEmhA11d6SGdpzUIlgxep0MKgGXo/0fLsIj3Qik3BNFGgp8cehzF61A4tNU5y6
 5T2XmF3qAnRC8pDEzGlqf1vjxR5z2JSEAZ4Jgupm0aVZFbZK5arIQZ8k8QGJAcHDji4IRiFO
 V1FsnT6PtfbFvfNhnizyJS6c3pWm52EgaNQ0AEtMDQ2z9KnGphx09dwMAEhH8P+J80VpEB7e
 XZNaZjkq1IU6YtHOpALfZERdHyBn3GQBrKPm7XKVP7FLsfM3aIsJLz6KVd3pDfRHXJ9upGpH
 3saiIpiYdpQTOeNSSn5uw5zjndBGOgQD/q1sZSo5Bkp7yUfsuYDRG+
X-IronPort-AV: E=Sophos;i="5.93,206,1654574400"; 
   d="scan'208,217";a="76844071"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AqjIA5fmUEbiczMWqKSWffi1Vv17cd4ScP7FJ7kGR+XMelNQ1jX2NvszonPbCxNIUGK89R0mctGWN6YSnwuQkQXJ0cMZDszCegwsNv6nZVhUdsZyOZtuAv+KtWMk9Ymb+REcJmt1/RnHYnNKiUw/zRjIJrQgAbGB8CuX529Pdb/3A9/HK3E28BX2Hg8PdnU6oQWfWJ7abDvOMFbR9An0ZbKw7Fvh5J2KA9o9r7IvpV4Z0bfNgWd4wg7uASU08k3rMpT6xrW/NXkRn2iAxqvI1SbYiuiAZBNm4a0r+NmPvrjPA9JjhhK3naMOYmZ/BdV+8iefx2+r33nWc9orTe9a7g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EDumq/F4j2kDxbTVxuHmlBPPEpxoIkwKd8DOy7XJ4N4=;
 b=TuFubqoczLAo0Cgfx+P/nKbA2yq9Elm3XQ+GTmAULRJVfs5g+xXor56tW+SDxyNG51i62ns5IQDg+1YGXMwUmO9pjQCA6UEVUASJKoWMsjD2xPTTY2j2gvAi/BpToRe4voxzYIx/Dd8JwJPXLtgOiDzi8oMq1xd4ikqZ6TTbk8NRjzXsk4O2athWXSaBZWM8fNv93vy6cZpR3dsFtrIHZRifyo969SjVAJ4N+omn9KbobcLh839Jl1jlPmvsd12a1W2PR/nyXla+L4SafzmQ1/2wgxXFah8u5ySQJQquMRT6KTa9MDnvK8A4rib3ZLlLpqVYMVWdWHbbQ2vTIWQgHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EDumq/F4j2kDxbTVxuHmlBPPEpxoIkwKd8DOy7XJ4N4=;
 b=FcTYfdNprfp5XOHHHf2/j21ToLLdDj4ajU8ks12FYGdmN4Q4F3PL3XspWC1FIJC5Om/kL1FtdXgh+crCitN2FFT9mmHm722tExDcIn9Hk9OHhGtPLcISqvfizUUX8Q/NGZl6z7PqgycP8TqpxmidkFpvxDrDbJaq+8xdAe9/UuQ=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Anthony
 Perard <anthony.perard@citrix.com>
Subject: Re: [RFC PATCH] tools/configure: require OCaml >= 4.06.1 for
 oxenstored
Thread-Topic: [RFC PATCH] tools/configure: require OCaml >= 4.06.1 for
 oxenstored
Thread-Index: AQHYo3ahzvPmBiaZf0yszYJQIeCpG62ZuYiA
Date: Mon, 1 Aug 2022 08:25:17 +0000
Message-ID: <EB6A8EB0-F9E2-47E1-B612-345D7CC95CCA@citrix.com>
References:
 <ac885ce2b63159d26d857dc3e53cf8aa63ae3646.1659118200.git.edvin.torok@citrix.com>
In-Reply-To:
 <ac885ce2b63159d26d857dc3e53cf8aa63ae3646.1659118200.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4c8ab860-728f-4433-5894-08da73975daa
x-ms-traffictypediagnostic: SJ0PR03MB5648:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 fAWWrT3pOYHDf1eb17cxt/hBNVPQA/Xqg9lanL5k+AJCom12QgJVXNfvKHqA7QE5EKVA1wWMUuAf+vACyBuEpleqgBK4RRW2Wu3/FXpPWu4erOX8H1xfbOWAByZCbq8q0PkhbHozrtiQKAW9SMKR0PqHYIWaqA50EqL0DhEi1yYYKHWpqi223r/n9tWDKsQxURLco5kdCszr/mHPGzbTxRHwCd35RFV0+S+duSs0R23J/N0Gpl6j3MxynCxflXp82xH6qbET0+CfcEVjVdy1SSu9YylCZv6s3vLb3j+7Nj21/LT11PKozGKdWq6Qh2GEAVlsagq6IKXuDY5QYRH/dHgujrt46aE/xcPlCKax74wmF7+nrdhc/54QaFSN0levf7iSOe3ShsG1gB7PIX2JfyCLo+5RqUy4b4Xeoh/C5f73IffP7jM/HshY9smVXMiyn3/t25tWbJi9kTKHk2/6IukOBbi3FkF1EzyBWJV5YqzFJiloBQGlQjXacXgMiwoAzoUVDu4R4UqWcQGL4Fg6/c3mAqdAgh+UXMsKkZ1JosVasYiic7haHz05Qnm5y3VZj7p/lsm32Tg8/gDE/CkbQfThSciS5w9GwTdUhHe8EssVMwnph1LmFnKTDBPerlLgtxQwUxdHjbGR6mXU5qj9ku2avOFiH0I7m/7nyhEdWN5QI5Y3BlAeBQsqzIwXO3XWRb+LLqU/hm7qNBWIUgUqkh1cb8+Sxk+Xr/PYetNjeXaVlOHUsFMeNeUk4VgfJ+LbMqQyGCg2fqdRym3vsYhZxZLgZyh+e9zt4nhyXmo4FBh7+HkqlI39SO49GHxKIvsqZWgrlBqcgsgd72ir6mfPXA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(366004)(136003)(39860400002)(376002)(36756003)(6486002)(478600001)(76116006)(6636002)(316002)(66946007)(4326008)(5660300002)(8676002)(8936002)(6862004)(44832011)(37006003)(66476007)(91956017)(64756008)(54906003)(66556008)(71200400001)(66446008)(2906002)(41300700001)(53546011)(107886003)(186003)(2616005)(86362001)(6506007)(33656002)(83380400001)(558084003)(122000001)(82960400001)(38070700005)(26005)(6512007)(38100700002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SmF6T2I4eVJzMGVHajdnTFdPZndzaFJhMzNYR1hXUTB6Mzduc2ZVRTV1aGFl?=
 =?utf-8?B?MzNseXN2Q29HTTdvSWNERGdnUW1CaUFFZHRvQlV2ODdUSWJld1k4RVV2OUhX?=
 =?utf-8?B?ODdwNmYxaTNmQ25Tc0VqTWNSWEZhdnJjdnZ0VW5HNHgrK1dmVHlhNkhVd2p4?=
 =?utf-8?B?clYreUVmTWlNM09aS3R0ZERmUmdVOGVvL0RNYWVORElEQ2VoM0JhQ1cveDkz?=
 =?utf-8?B?aklaU29nYzZ0ek90UFNEZko3dVUraFlkWVQxd3JhNVR0bWVVeGhDSWwxRHQ0?=
 =?utf-8?B?b1Q3OHpNWVdHdzlCTlBSbE1QajRDY2JNd29KelBxcmdkV08wUmF5dEw3M1Bu?=
 =?utf-8?B?cXFEYUE5QjJqbmk5dzlXdDhJZ3A3aDM5UThFMTlFTHE2NHFXRWtQZHJNRmd2?=
 =?utf-8?B?ZUhPbWV3RUwvOTBFeGcyRy9iVTk5L0FUMHNtR2pBRXJRb1F2WkxxZmo5RzJu?=
 =?utf-8?B?c1pQUW9hUlhyLzZQTGJqZUtHSkVGTFgzYTZSdU42TlhzWGlwbTlBeWFYZTVy?=
 =?utf-8?B?N0JYemFaSGV3a1JqdGxpMEx5UlNkT3hrVkVuQkVLTGtOQ05wNDdYaVIwOGZy?=
 =?utf-8?B?SnBMak1vSG55ajBFbFRidStBWmVZWWdNcEl0ZEloK1pVbUErbGkrSUtxTUdB?=
 =?utf-8?B?MkgwS1RucHhTaFRxNlJOaytudTlpeEc1amVwVVErRUJpY28rRUluNE1jaFNu?=
 =?utf-8?B?aVR3Q3NIelNKWUhhZUkxMWhqeXJvajZDMXJXNDBXeUFSTnIyVm1nSVlzb0wx?=
 =?utf-8?B?U05NUEZDZk5JWXNCV3E3RTFoMmxBSE9LV0RacXFBTlB3RUg4N1JpaFZSTWxV?=
 =?utf-8?B?RzBOUzlyUDZ3YzBRdXpwTjMrV21VZitmeHFRY0RkYndsMUgvM1dhVG0yeWZH?=
 =?utf-8?B?dUd3NDFPQlZ1OFdsS3Z4YzcxcGdNaG9WUkt1bG52enc5T2plcElCTGtaS2dl?=
 =?utf-8?B?QTlpcGcyK0c5VzVRdGQ1dFlDL05qSWh0Mi8xeTlHazRnUmxyS0kzeGg1bGxS?=
 =?utf-8?B?TzdabTNGS0k3aEo5MmtWVHV2VSt2dUc1RU5lUUpvNVV0RGFEWHZxc2phbkQx?=
 =?utf-8?B?VG9yUmFEZnpPUzRML2xySm96WnJ0VHliWW5PMXF5dFpYZ1diNjI1VnlYRG9O?=
 =?utf-8?B?emZVTSt1Rmw3djAzbHN1VlRSZkd2VUpRZGRZSU1lNDFRekxzYVNXYWk0RVJT?=
 =?utf-8?B?U0IyeGVzcnRUZUx0SDVyZ2dZakZRZDZmRmFlTXRyWVZhazNmZlRWVEdKdmV6?=
 =?utf-8?B?QXFldFZON3lGZk93a2pvL0pyZjd6MTMxM0tBSmR6TUt3R2xIRFJidkIyT3VE?=
 =?utf-8?B?TTZxdkxuWVZxVm16alN0V1lDdnZwd2tPRjdsZk52M2RlMjFrbkNLT1RJKzA1?=
 =?utf-8?B?ZDNqeklXRk9QU1QxSmI2S2llOERBd3RQRVJwcVh2TmFEd3J5ZXo1K1d4Uk5w?=
 =?utf-8?B?OWNlM1o0R2dhRFdGVmJXK00yUWVXR2xxN0RTSnhNWFM3RXQxS2dQNENIYmgx?=
 =?utf-8?B?cVdpTkxnTi9NTzE3U2RKZ2RCRUxVU2htY0JuNEh5blo2K29iRzZFN1E4RUlS?=
 =?utf-8?B?Y0Roc0JyNHJNMmExQTQxTHJWNXUxaWZmSmJleXVEU3hDT2VISm40cTg0eGhL?=
 =?utf-8?B?TDJaNkoybjJJeXlzSmc1ZnluWUFydFk4UWFyQUhIM1J6Smk5Ri9TT2cwSXZS?=
 =?utf-8?B?NDVqTm9ZSk84NDdoaXBhYXFWZWQ4N3dqbUZ0c3pRVmRjNVhwbGd2dGpNWml5?=
 =?utf-8?B?MHJ5MHQ4dlVNUlg5dENqbm9xeXBzalRTSElENnFSSkc3eFNmdUsrOGsySVFs?=
 =?utf-8?B?ZkhqTlhsK25WaEhUcU9oaTdUM3BjVjc4L1BRYkFoQUhCK2tlcFllbTBrdnZI?=
 =?utf-8?B?MkpZSHJ2ellYdUhnM1FpWUNMWndXUSs3RkloS3pQMWlnNFRIenVZTVBRaGtk?=
 =?utf-8?B?aDA5SW9Eb2JJQ2NXSWx0RVZBN0RaajVNdThlRktsVDEweit3YzEvTVBzUTMv?=
 =?utf-8?B?RHBOYW0yS2pkRjNoVWpPdi91eDlNamtBSDZmZG1ndDQ4UzQ5NmtDMGZRVzB0?=
 =?utf-8?B?WUhqbVdxaE5ydkFXd3ExclI4eGRPellVdE91d2J0ajdkOGpWUkJMSERyRjFH?=
 =?utf-8?B?UloyWm5LUjdzd3AvcmEvWjRSaXhMUkZIRFl2MHYwRzBmZyttL1lUZ1NzWklo?=
 =?utf-8?Q?yHznfU/sfKs9qeGucaZF8/o=3D?=
Content-Type: multipart/alternative;
	boundary="_000_EB6A8EB0F9E247E1B612345D7CC95CCAcitrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c8ab860-728f-4433-5894-08da73975daa
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 08:25:17.4891
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: nhSPczdBcKmx/g3wIbTRZu4Z2aSxaaLcJeotaZMZiAuGjmUnn483U5LsEiOy/c3lotVcuN96/Ggkq/qHsmi08oDOo48a+cSvVS0h6voWNIU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5648

--_000_EB6A8EB0F9E247E1B612345D7CC95CCAcitrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDI5IEp1bCAyMDIyLCBhdCAxOToxMCwgRWR3aW4gVMO2csO2ayA8ZWR2aW4udG9yb2tA
Y2l0cml4LmNvbTxtYWlsdG86ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4+IHdyb3RlOg0KDQp0b29s
cy9jb25maWd1cmUgfCAyICstDQp0b29scy9jb25maWd1cmUuYWMgfCAyICstDQoyIGZpbGVzIGNo
YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCg0KQWNrZWQtYnk6IENocmlz
dGlhbiBMaW5kaWcgPGNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbTxtYWlsdG86Y2hyaXN0aWFu
LmxpbmRpZ0BjaXRyaXguY29tPj4NCg0K

--_000_EB6A8EB0F9E247E1B612345D7CC95CCAcitrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <8B90F8D2BB07CD4BA246A355D89161FB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDI5IEp1bCAyMDIyLCBhdCAxOToxMCwgRWR3aW4gVMO2csO2ayAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmVkdmluLnRvcm9rQGNpdHJpeC5jb20iIGNsYXNzPSIiPmVkdmluLnRvcm9rQGNpdHJpeC5jb208
L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu
ZSI+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPnRvb2xz
L2NvbmZpZ3VyZQ0KIHwgMiArLTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwg
MCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHls
ZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBs
ZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBw
eDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2lu
ZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjog
bm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7
IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9y
bWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXIt
c3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4
dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4
OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsg
ZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMv
Y29uZmlndXJlLmFjDQogfCAyICstPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigw
LCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0
eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7
IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDog
MHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFj
aW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9u
OiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAw
KTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRl
ci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0
ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAw
cHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25l
OyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj4yDQog
ZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKTwvc3Bhbj48YnIg
c3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7
IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczog
bm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFs
aWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRl
LXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdp
ZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPC9kaXY+DQo8L2Js
b2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNs
YXNzPSIiPkFja2VkLWJ5OiBDaHJpc3RpYW4gTGluZGlnICZsdDs8YSBocmVmPSJtYWlsdG86Y2hy
aXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tIiBjbGFzcz0iIj5jaHJpc3RpYW4ubGluZGlnQGNpdHJp
eC5jb208L2E+Jmd0OzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4N
CjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_EB6A8EB0F9E247E1B612345D7CC95CCAcitrixcom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:26:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:26:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378563.611797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQkZ-0005gC-Py; Mon, 01 Aug 2022 08:26:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378563.611797; Mon, 01 Aug 2022 08:26:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQkZ-0005g3-NH; Mon, 01 Aug 2022 08:26:07 +0000
Received: by outflank-mailman (input) for mailman id 378563;
 Mon, 01 Aug 2022 08:26:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=omD9=YF=citrix.com=prvs=20515f1b2=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oIQkY-0005fl-CE
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:26:06 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93f6af40-1173-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 10:26:04 +0200 (CEST)
Received: from mail-bn1nam07lp2043.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Aug 2022 04:25:59 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by SJ0PR03MB5648.namprd03.prod.outlook.com (2603:10b6:a03:288::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.6; Mon, 1 Aug
 2022 08:25:56 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 08:25:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93f6af40-1173-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659342364;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=4lIleLD41t6Xg+uczK8oz/srUEiioHYFenBuY2BOBfs=;
  b=EklgZYKd02fw9CeAFh8XE/TN8jVahxNMitjcbzKtHOe+c6tlGPL6F+fe
   D0g7MZDV/FSwyPER+dud8ULIYx2XHBKp0LTyWglgoArN4jqqb0vpAcAYr
   c5ObVS1G1jgNXQx2RNCZVQkiFtOp2rw6S/EkjJeK2DDcCoPmoctoCqT7E
   4=;
X-IronPort-RemoteIP: 104.47.51.43
X-IronPort-MID: 76844125
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4CPdb6JcrH2fayJ2FE+Rz5QlxSXFcZb7ZxGr2PjKsXjdYENS0jUFz
 GNKXm+Gb6qDZjT9c9F3Pd6wpE4GvMCHnINlS1NlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/3Y8Us11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TEmNphD3oVOtMj9MVwQlBCq
 vMBOiAgcUXW7w626OrTpuhEoO0GdJOuFqVG/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe
 84ebjkpZxPFC/FNEg5PVNRiw6H13z+jKFW0q3rMzUYzy2PT1g1qzLnkNpzRe9qGRMp9lUeEv
 GPWuW/+B3n2MfTAl2rZriv224cjmwv3f9w1NZyB0sdoq2HO2HMYT0U3W1S09KzRZkmWHog3x
 1Yv0jojq+0++VKmSvH5XgakuziUsxgEQd1SHuYmrgaXxcL8/AKxFmUCCDlbZ7QOuMYoSBQw2
 1SOntevAiZg2IB5UlqY/7aQ6Dm0YC4cKDddYTdeFVdepd7+vIs0kxTDCM55F7K4hcH0Hje2x
 C2WqC85hPMYistjO7iHwG0rSgmE/vDhJjPZLC2MNo55xmuVvLKYWrE=
IronPort-HdrOrdr: A9a23:xu6ElqMh7cPZKsBcT3f155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90dq7MAnhHP9OkMMs1NKZMDUO11HYS72KgbGC/9SkIVyHygc/79
 YsT0EdMqyXMbESt6+Tj2eF+pQbsaC6GcuT9IXjJgJWPGVXgtZbnmJE42igcnFedU1jP94UBZ
 Cc7s1Iq36LYnIMdPm2AXEDQqzqu8DLvIiOW29IOzcXrC21yR+44r/zFBaVmj0EVSlU/Lsk+W
 /Z1yTk+6SYte2hwBO07R6c030Woqqh9jJwPr3OtiEnEESvtu9uXvUlZ1S2hkF0nAho0idvrD
 CDmWZmAy050QKtQoj8m2qQ5+Cn6kdj15aq8y7nvVLz5cP+Xz40EMxHmMZQdQbY8VMpuJVm3L
 tMxH/xjesfMftR9B6NmOQgeisa4XZcm0BS59I7njhaS88TebVRpYsQ8AdcF4oBBjvz7MQiHP
 N1BM/R6f5KeRfCBkqp9VVH0ZipRDA+Dx2GSk8Ntoic1CVXhmlwyw8dyNYElnkN+ZohQ91P5v
 jCMK5viLZSJ/VmJZ5VFaMEW4+6G2bNSRXDPCabJknmDrgOPzbXp5v+8NwOlZWXkVwzve4Pcb
 j6ISNlXDQJCjPT4OW1re522wGIRnmhVjLwzcwb74Rlu9THNcjWDRE=
X-IronPort-AV: E=Sophos;i="5.93,206,1654574400"; 
   d="scan'208,217";a="76844125"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RUSHaKfwsA33viy+wL+WmUtPo2cLiqzsZwIN+jYSbo06oYmh6ezLyEfYsT41tg19gRs8eKrjZaateIzAujuks5TMQwJt1rIeq6KydfNe7ukzmAacTWUG1PanHZhhN6sfsD7WFt+E2Mo/1PKQGAXfDYpBeLZF4PXMSSDZvslGBVLGIrucH4UaPSE3892F4qXgeMFFpsLBAytkpza0dWZQUKI1liN6PmTOnBpK0DRjsc8iowbZbnUTccZS1t1TxLEue7rS0bxo0DFaAIGF6uhk+Ft5Tf7gkTtwPXBxDY1TlJgRrBusBSX55Mdzaeg4nN8XWN3V4EdBWvOEPsOlWGn9fw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4lIleLD41t6Xg+uczK8oz/srUEiioHYFenBuY2BOBfs=;
 b=JsOgkUNoy+HiukzogApjp/3jryeplGOzLocKx96ucDE2N0yaeVvf5oaR5eaPrkUbiDnc7k+7SySauTyq6Kwo6+Sl3UAXEVDUZjPrWSEo4NzYWnF5gU49gHXj2vyVjG6Om5q9H4ANTh/f1pW5Fuow6Pw/d1CmcYoCvz1cgyOZw4wqCKP/tzqqniRNLhLlzzvMY7S7iMCVfOT7evTusJpz/fKmLvJlulTgpKpRTII5Sx80xsMSqnlxR1pTs/13kLGVLAfxtSO/7YYBpllNeQH50/cvF5XI98v0SuOz8Uhaa5qeWJeqRVrSrrf3IsdF1jIk77l7tz/6ACvrWXqoXlWsMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4lIleLD41t6Xg+uczK8oz/srUEiioHYFenBuY2BOBfs=;
 b=Uo8cQqI1ekw8bdLCo6/btPYR2HbHXYXLpkZRqT/Hlumt7GFAGKMluiXl2bHydBs82Jv/j+hvQuPIrd14+3otf9/BFN9NyAL0tdaTVdcBkQBoIUjnG3cDlZKJN0vkltR2X/CBIbfVvp0EduuBxEBxb0Io7K+mTiNk5Tk/ZZ/QH+E=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Anthony
 Perard <anthony.perard@citrix.com>, David Scott <dave@recoil.org>
Subject: Re: [PATCH v1 2/7] tools/ocaml/*/Makefile: generate paths.ml from
 configure
Thread-Topic: [PATCH v1 2/7] tools/ocaml/*/Makefile: generate paths.ml from
 configure
Thread-Index: AQHYo3Qy101GAKMDvkGVCtiUdg9leK2ZubqA
Date: Mon, 1 Aug 2022 08:25:56 +0000
Message-ID: <BAA6EE74-C9C0-4B55-9AAB-4E7258782371@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <0752fe6eaa26f244f6fb45b1c3c6b9906deb2aa9.1659116941.git.edvin.torok@citrix.com>
In-Reply-To:
 <0752fe6eaa26f244f6fb45b1c3c6b9906deb2aa9.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 18398835-deb4-4ecf-6d5c-08da739774b7
x-ms-traffictypediagnostic: SJ0PR03MB5648:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 lSr29czmoY6bpO2H/hl376OSFmUxBP9UjD13dEKg5/OCJJpNHdJqKgBbPpmHE1TRBU0oYiVjF+pcMn7nXLcBvQzLzSlw++lr42uzfVOpEVLg7orloQl45+Z5goPYGKdxYdsrvKcbMyO0iGAMQ+bmCTbLAvSfNoJ4/tTAPzoI3XoI9m3qUjLaW7flA2HckY11mdDcmIBGvxO5d4eTlj6BJdPSXRqfVCExUxRqYtrBSeyij3jg/JgX1/iFO0TIbkYX1Eyt7kFGahPnanpA4kYJr/jtTyN6G1uLksxkbM++UP92dDmn0nhW5GfZA1tuUhXkACIECiMk2rWFD1+4QWDWURuLLgdw4Moa7oOZ4JDAgOyVPxkd4fCU7T5dw2PPYXm16fyZ9DKe5smV85eAZ1gcej6DXtOxqHMKi193z06JZGZ5003BhAxGkV/w7r5DzSprmqqehjEwOEFFeq8cfIls9F8XM3Fm4RMm/gIdW2BtwJ9bvVRW2rcV8d1okIt9mbd+pr8hnpRKdYgWBLGAExtUKf9OSyoQDEjXXQFjF5fpbXpc4igu+E+rWdoBqF7HZJ0b8NyN6VpiROKD+kZZ9pZD15tKY3Py4CxR4pOqEO1quxvlFUBe8jfyvUwaZc9p7aqx6L/NUyyX69CQdbytDYHW5z1+a1P4qx9nNSXKSr5muUajJLqjI7t2199aYN8Nu9O38zvfgOXOks8zlzju2I5tnCT6qsLVo+9qnhGQva139fzvyw040CdhIY1KmLxW6ivASD/Hhn1bycP8qMRFH/+kxBI7wf505p7fJ3aKndtxVsselc2xg+TbyXmfrQGv49nI7/GotqQNFWm6WKsM78K1dA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(366004)(136003)(39860400002)(376002)(36756003)(6486002)(478600001)(76116006)(6636002)(316002)(66946007)(4326008)(5660300002)(8676002)(8936002)(6862004)(44832011)(37006003)(4744005)(66476007)(91956017)(64756008)(54906003)(66556008)(71200400001)(66446008)(2906002)(41300700001)(53546011)(186003)(2616005)(86362001)(6506007)(33656002)(122000001)(82960400001)(38070700005)(26005)(6512007)(38100700002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UE95dnhNVk9KUzM0YVZCcUphNHVrSmJSYi9IMlpnWU81cTV4ZjZRNm1rUnZa?=
 =?utf-8?B?Zkl5RTQ3QzFkZC9TNlROWU5tSnRCNG9MQ3NIRzcyaDdMSDNpeHI4Ky80UlZj?=
 =?utf-8?B?ellDYWFZMG9RREZMcjJNaVYrUUJUbmFRL1Z5YkZNMGVtMHpYVWRMeUtLdFRw?=
 =?utf-8?B?eGpmNmM3NHZ1UU5UMTlpNDc1OERPcXYxajlNaTB4cDA3U0s2U0JLdXNHU1pv?=
 =?utf-8?B?ZU9VSFV0N0puQStRVGFEdXU2UGN2NGx3Z2VCQ293TEc3L0IvZktSalR0NGNS?=
 =?utf-8?B?TDhqQUVsaW5RbFdjdEczM045ejJNNFFGM0lZbk1leGNxdW9UUWliWlJ5ZG5C?=
 =?utf-8?B?MXJ0Um4xcHB3WENwaE5SOEpNdk5hbmpDQTc2Y3k1SERtK2FKNitDOXZUY01h?=
 =?utf-8?B?a3dzL1VVbFdKbVNJV0pRdVMwNnkySzlxVTF2TnZ5aU9OcDVSMFNVVE91YnNk?=
 =?utf-8?B?YVcvaTFRV2VocEZQOTQ1VlprZW9Zc2VCY2QrZThrV1dSZmd6UTRjdVBaUFNi?=
 =?utf-8?B?d1VzV2xZOXAzcWwxWVdEYTI2SjVuTHh0V3IveVlqRTNwNHB6ZW42ZnlTZmpG?=
 =?utf-8?B?UW4xRW85aXRuUGVtcnVUYy9lZWlCZ3M0ZXBtc0hvNEc1cU03dndBSSttODJ4?=
 =?utf-8?B?NjdRditndTRZR3cwT0FqUTlLWTdwNUkvVTM5SWVnbXBYdUdsaVVld1pYMmdi?=
 =?utf-8?B?Q2svQSs5d0JPQ21veTR5VFRrOTlHUzVBSjZqaWxYay9vMXhKTzRSWWNrdkdN?=
 =?utf-8?B?SFE4TTlNTHZjc2ZlUjlMdldCbjI3QlN3Sm5Ea2JWZGQ5Wm9YUURSWVZvdDJ6?=
 =?utf-8?B?Wjd1dGhBTWZqZWEzZW92a2JrM2R5Q1M4empJQ3BLNnlKbFlXV2dxUkVRZzlJ?=
 =?utf-8?B?ZTQ1cmYyc3lEcXdmcWN3MnZudEtHUFVHN25rdUpXSGZZbHNsbFBJc2FIWUJD?=
 =?utf-8?B?NjF2SThDRExxZmE0VTFqUGlBbkRSQUlmSG41ZmJXUDlibzIzaE9pMmFLZmVQ?=
 =?utf-8?B?WDMyWGlNby9UNjVuLys0YzVDNHdWVmdaN3lhSGl4RllQV0I1UDVBS1ZKbGxE?=
 =?utf-8?B?Szl4MTRyWmJra1FrVmRwRDRYeHhQQ2I2bC9FWGdPYjBuYU5XWUhmK05hU01F?=
 =?utf-8?B?Q0wwa2JXYU4zVElvUUZ4SzdNSm1nTVRXY3E5YVdNMU1CY1dTeGpVa0tCUVFU?=
 =?utf-8?B?c1JXTElIYzY4YmNmcm1tcHNrNGhpWlRaUGVzUERPdm5IUXVkM3JOai9oREZr?=
 =?utf-8?B?cEcwMUhSWExlWlFEb0lOZGI4ZDlZaDZDcDlmUUJ1VW51VzZ6S3RjOFB0dTlv?=
 =?utf-8?B?UWMxWHhQMERjaFBUV0ViSGRZbUlqY20yeVJCVHRDTTBJa2NyYTl1ZS93WDZD?=
 =?utf-8?B?cXY3aXlkWFRSMGN1a2k4b3NQMTdqbGxTZzZwOS8weFZCSExTSlRjc293U1hR?=
 =?utf-8?B?SmZPSkdqNURRTVhZMTU0QWNuVm5iME9IeGU4dkc2ZURZMHVPWUNwWEZ0VWFX?=
 =?utf-8?B?Z1hPdDg5NkxvWlNCZWdPT0hPU3dvN0twSUVVejBFOU04Kzlpak5zU1FGQ0Zt?=
 =?utf-8?B?c1FSWk5xS2hOSHN1UW90V2JNS3dBSzJsR0VBckI4MFhpM3Z6OVptWnNkMFQy?=
 =?utf-8?B?VGc4RzEyS0FCd2VUaGlEbnhadkE2K2tUTDFWS2lVMmRIcUJlOE5pUkY1VGxP?=
 =?utf-8?B?ZFA3bitWMUl1UVN0Qlc5ZnAxN2pjbm5QMkh4WkcyRmk5YU1wb3E5TjlxbVBq?=
 =?utf-8?B?czN2YURYQnFIWlNjVzNzQlA0bGdzNzZXaVdEOUQ3OVVmREFDSGNJTWtFY2JI?=
 =?utf-8?B?b25pd3pOTTlROVdNZWJOUVBqOVhqWUZxMFhhdHh4M0Q2ZDJEQnMyUG1YSkFG?=
 =?utf-8?B?NVRDUzJOeUhkRk9za3N1TG1VQm4rRDFUdWdvVlFCR09lMDlJVXpyWUJCa1VP?=
 =?utf-8?B?ZE5uVlpPTTFtNXk5azYweUp4Z3J3YkdFOWp4YWJQamhublRpUXBXc2pwa1A3?=
 =?utf-8?B?eHY5M1pFRlhkWEJ4TFlQZWp4amNCbnJrd1VtV0RreS90dGwydWVPNGtPYVU3?=
 =?utf-8?B?MXZ6OWJLc2RqLzdaZW5IVjExNXZGcXpGWXAySUFWQUtDdGk2c3FrRlJFeCtK?=
 =?utf-8?B?bTdhMHdNaGgvQk43Qk9ualJNdnVaTW1XclFiZk9MdHJ0eTNlN1I1cGlHeEhZ?=
 =?utf-8?Q?Y+iAmwnkb3EMFB1OzChVrgE=3D?=
Content-Type: multipart/alternative;
	boundary="_000_BAA6EE74C9C04B559AAB4E7258782371citrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 18398835-deb4-4ecf-6d5c-08da739774b7
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 08:25:56.1155
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: T5bxV6H0Sf7cnrEOxM+6jMDaa36sQQKYIYhNknKPvkfxbIJPUS7GOmmS+amBzmhAWAqVG+NgkW3Ih1ui5alFjtUzDN000ykcPShf5uyCKXE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5648

--_000_BAA6EE74C9C04B559AAB4E7258782371citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayA8ZWR2aW4udG9yb2tA
Y2l0cml4LmNvbTxtYWlsdG86ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4+IHdyb3RlOg0KDQpwYXRo
cy5tbCBjb250YWlucyB2YXJpb3VzIHBhdGhzIGtub3duIHRvIGNvbmZpZ3VyZSwNCmFuZCBjdXJy
ZW50bHkgaXMgZ2VuZXJhdGVkIHZpYSBhIE1ha2VmaWxlIHJ1bGUuDQpTaW1wbGlmeSB0aGlzIGFu
ZCBnZW5lcmF0ZSBpdCB0aHJvdWdoIGNvbmZpZ3VyZSwgc2ltaWxhciB0byBob3cNCm94ZW5zdG9y
ZWQuY29uZiBpcyBnZW5lcmF0ZWQgZnJvbSBveGVuc3RvcmVkLmNvbmYuaW4uDQoNClRoaXMgd2ls
bCBhbGxvdyB0byByZXVzZSB0aGUgZ2VuZXJhdGVkIGZpbGUgbW9yZSBlYXNpbHkgd2l0aCBEdW5l
Lg0KDQpObyBmdW5jdGlvbmFsIGNoYW5nZS4NCg0KQWNrZWQtYnk6IENocmlzdGlhbiBMaW5kaWcg
PGNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbTxtYWlsdG86Y2hyaXN0aWFuLmxpbmRpZ0BjaXRy
aXguY29tPj4NCg0K

--_000_BAA6EE74C9C04B559AAB4E7258782371citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <AD4ACC345DCFCE4F83C553EF94AA6748@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmVkdmluLnRvcm9rQGNpdHJpeC5jb20iIGNsYXNzPSIiPmVkdmluLnRvcm9rQGNpdHJpeC5jb208
L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu
ZSI+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPnBhdGhz
Lm1sDQogY29udGFpbnMgdmFyaW91cyBwYXRocyBrbm93biB0byBjb25maWd1cmUsPC9zcGFuPjxi
ciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGlj
YTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBz
OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQt
YWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hp
dGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Ut
d2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHls
ZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9u
dC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3Jt
YWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246
IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3Bh
Y2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6
IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5l
ICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5hbmQNCiBjdXJyZW50bHkgaXMgZ2VuZXJhdGVkIHZpYSBh
IE1ha2VmaWxlIHJ1bGUuPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAw
KTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRl
ci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0
ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAw
cHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25l
OyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9u
dC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7
IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFj
aW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRy
YW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13
ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9h
dDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5TaW1wbGlmeQ0K
IHRoaXMgYW5kIGdlbmVyYXRlIGl0IHRocm91Z2ggY29uZmlndXJlLCBzaW1pbGFyIHRvIGhvdzwv
c3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBI
ZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh
bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs
OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v
bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQt
c3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNw
YW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw
czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0
LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl
LXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6
IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+b3hlbnN0b3JlZC5jb25mDQogaXMgZ2VuZXJh
dGVkIGZyb20gb3hlbnN0b3JlZC5jb25mLmluLjwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9y
OiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsg
Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdo
dDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1p
bmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdv
cmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVj
b3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAs
IDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5
bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsg
bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAw
cHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNp
bmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246
IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPlRoaXMN
CiB3aWxsIGFsbG93IHRvIHJldXNlIHRoZSBnZW5lcmF0ZWQgZmlsZSBtb3JlIGVhc2lseSB3aXRo
IER1bmUuPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1m
YW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZv
bnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5n
OiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5z
Zm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJr
aXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9
IiI+DQo8YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBI
ZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh
bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs
OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v
bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQt
c3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNw
YW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw
czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0
LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl
LXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6
IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+Tm8NCiBmdW5jdGlvbmFsIGNoYW5nZS48L3Nw
YW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVs
dmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50
LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsg
dGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25l
OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0
cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjwvZGl2
Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8YnIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0K
PGRpdiBjbGFzcz0iIj5BY2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyAmbHQ7PGEgaHJlZj0ibWFp
bHRvOmNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbSIgY2xhc3M9IiI+Y2hyaXN0aWFuLmxpbmRp
Z0BjaXRyaXguY29tPC9hPiZndDs8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xh
c3M9IiI+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_BAA6EE74C9C04B559AAB4E7258782371citrixcom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:36:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378571.611808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQuW-0007MM-PO; Mon, 01 Aug 2022 08:36:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378571.611808; Mon, 01 Aug 2022 08:36:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQuW-0007MF-Mm; Mon, 01 Aug 2022 08:36:24 +0000
Received: by outflank-mailman (input) for mailman id 378571;
 Mon, 01 Aug 2022 08:36:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIQuU-0007M7-Vy
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:36:23 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60051.outbound.protection.outlook.com [40.107.6.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04a26dc0-1175-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 10:36:20 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by HE1PR0402MB2746.eurprd04.prod.outlook.com (2603:10a6:3:e0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Mon, 1 Aug
 2022 08:36:18 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 08:36:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04a26dc0-1175-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h6BsZ3jMGEPzA7/+w7HZoxG1ivmwdG1ZbwsEPsN/t+7qjXyuIEK0nSFzDmRKllUgM1VIwKS3QaRNs5Ja+MAFjxDylKS0v/rlu2T8maXdkHKirQz3+jC6B7PuLBpivO/bF3u5JkBgJcFh9jX2g2MlkbRrdLq6FymjfKsVR6odY8BvDRuXnf/IlmVYLnUZCk39opPLaHIoI0j2n0EaznyEvPE76tqXyQFCy7P9tzGfcqZYfzUwSPDKzGW7NgNGoAfSgNGwlmGA/zx/+Ex+ND21eUzp9OsxcFSeD7YCyfwX4bjDWTrJIK+GSqHYT9OH/psCUdSQI2j3wtaaYHLm2MSoYg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Nwh0RJftgr9Jp9erwxz99WTrz5bNdOSKjSwZKoznrqU=;
 b=AHTlVTHTIG2NldhFg//dWz7dALMP6rfGdiE4UbO2wR/8wh3Qd+LDTkt+kViHDNA48Ji1RAM8aaNsZRy+49UGvx7Q/4c9qfwaBMUphreaQrr9jmNyzv4IwyN2yHg/1BjY+EonSHDX7NmGNfUxrhwM4mGJOYj5LWDDPbSrhLqPK/cnFHOV9q9WMRr6Oe4iva3J7n+2oy7HDzPpjJ0AZjozO5IKOBgdLeGJRqrbgx6fPOuBDmLla6gDffK/UaSe91TI6v8ezb4pzoLKpGXnpAO93ITxqyU/YZG7tkTnojM/j9EJiUhAYd8n4P21bNc3rQOjDyQmsg2p4JdwrbSy3JqUfw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Nwh0RJftgr9Jp9erwxz99WTrz5bNdOSKjSwZKoznrqU=;
 b=FlUlF26BgRf+tpcPxuKJtE/1w8kXPU255wgfObWuQEMraduWwRYu3SRQ3HNmYaFqWLwKNnfaZOcMBssFbWUsGBuDb9eJ8oGRH7RGtaHibvFmeXkJWLgGgaZ98BhdzjpWZEUUHiYFdC2s+UFYO0RmVxEO4llcIldsvvXS3MmYB9DHTUiM53KU1SN7OJBRPhBjrMvdB3MWLXrHSPrHyQvmmBonAlgVczDtThBDTfXnjbAHRnIaYXx8F4Vovb/hKg61z2VBo74G10u+hdpbFqKprDfRqLbZsVn7xWvGBzkUxx2/YmF/mS2YGyb8OppZFWqSzUy4fl7oFFx/3iQ6/PoMwQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
Date: Mon, 1 Aug 2022 10:36:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org>
 <08606914-f5f4-8415-51a2-f6a5e1c54d20@suse.com>
 <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0020.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::21) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 65ce64f5-4dcb-4848-4b4c-08da7398e72f
X-MS-TrafficTypeDiagnostic: HE1PR0402MB2746:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OqP7RihlOCPDNM62Xaod1KOwfao/NCuJyQn8MWqaEIImGtdpOBa9i19O4fwy+PFYZJ8anYTZsoZROe6ba6RpjF4c7cWL/xFmvhJvvF7oFUH4PURfBcdvDW3GPTL31wOe3O6HXwXcCjhkzCyuh4gRl4BLwJa4pLyn2vEh7pDqVO3hYX5OUbl5fmIsAs+oI6q+JlGWwhNF82gxctl86QUi4KYqTo9iM+g7f4SJ1aKobyGygEWyDYhGE/CmuMJtSz008W2ozMgChPF+sdojMgoQQOBenDu680cKCD7XWw4L11inJ/ccW1tisynOuokgxL/jRcDdZgVI0NrPWrJ/XVQkD2HdKO1+FqXEu+jakNPfiwcqPuKLGVB4sw9+YRX6pYmZY91GFqbfYb0OO3EhmwbGF9LguWkKHSq2u7axHPrh4/K6XHZfNB0ltCTYn3+SiZGlHn4bdpLIIc+JQoHlXZo1BczjfAWx6Twr8Bd4aMJdu0sUchkrB2J+ymtC4bCtbv/eOI5WgAhuWCNQEhQRFKm84bSEO4mgUqqlPJMdsUaqxKvIYg/nN2U2wbITpzX5NfJFwkIl8cnIk9ZnqELWf9xuPZz6Cw0FktQ6wh1jJhwmeetUT/sESvKLNxmaZb4pK1qlL29nIVhEgTdKQgZcIOq98C/L1lSf3gCrcCU/cHEtsygCSS1oggokK6r9tQ4XE8CCm18bucbu2mLljH2een+S3BO57HSmgoYYBDeoFn3sr1g0T2zACxnQjjmaEngednBvN7AMfI1LpeCMFfeMcyLn0pLSfxTr3KFgXCHi/73qYylvE7LjqW7JJkOoISpQ3FuFtAnXN+TBxUCzF/d4GHozIHg6smdGv16+yi0on3n2+CvciO7CH6po1i9c48EmeMf2vY28SJMeRdLjcjqmiVupqQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(366004)(376002)(346002)(136003)(966005)(6486002)(478600001)(2906002)(8936002)(86362001)(31696002)(5660300002)(31686004)(8676002)(4326008)(66476007)(66556008)(66946007)(36756003)(38100700002)(6916009)(316002)(54906003)(186003)(6512007)(83380400001)(26005)(53546011)(2616005)(6506007)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZnVwdytTeHdDN0FNa1h3SzNJZGFWb2JkaHgxRHplSktFbVFmU2FicXc2NTJV?=
 =?utf-8?B?czRLOG11aEFVNk9aR1VkY2N2ZHE4dmFBYUJOMUpySjBnVFpHYW9IeVd4SElj?=
 =?utf-8?B?Yy9XclRpUmc2eDJKd3BJYzZXUjBCZHhzMU1DSUlaQThYcHhzbC8wVVQ1L3VO?=
 =?utf-8?B?aXV5NmZtK20vTEhIdnVUMDJqZnlaOFg0NDJYNG1UWTVTQXV4eDdXZGtacndZ?=
 =?utf-8?B?cW1yZDgzZWdLRVVyNkNWNzMzYXE1YkpVUU5qL2hSM1VTaUhhZXloMUU0Y2h2?=
 =?utf-8?B?Tk1WTWRRQVNQd3VrL2ZraC9wSEhMclJnR3VrZ1pTMCthVFJkSjQ2ZmE5ZExM?=
 =?utf-8?B?MnRoMnliNWw3eDZnbTBtcTVJT1hPc3RxK3MrQm8xdlZQOURrcVpTV2lTVEhO?=
 =?utf-8?B?Qm5ZaDJ3MS8wMjRaVkRrVWE2VDlxYW1keEpCWlN0ZW9PTDA2OS9oNC80QXVV?=
 =?utf-8?B?S2s5WWkrc3pDY0ZFUUF4dVA2OURheElpdDJ3ZjVLYlBiV3pWV3JUeENFTTll?=
 =?utf-8?B?dmEyQndjaXpGUEJ6L3ErbWFnWm5kMXZ6a3UvTEpEbzg1UWlYMkoyU0RJUW9F?=
 =?utf-8?B?M25icWcvQVRJNnRYZzdoNjN0WkJOK1hGM0FPd3JJUmZyUHFLVTBSbnB0cDZq?=
 =?utf-8?B?WTByRWlnOVI2Qm9jTUdhbTJmT2lHMzVSSEYxZDh6eWMycm0zNGk2bjY4S3V1?=
 =?utf-8?B?YUJGZXZFd2c4SjRseXdjRWhoMGpMWFMxVnNFMnA2WG1FMWxORXhJN0QzZnFr?=
 =?utf-8?B?WjgxdTRDelRiZFZ5NCtXRW11cVQzNmE4WDN5dWdIak4xaGc1TWc4MXFPZjRU?=
 =?utf-8?B?TURLTUovTUFmYlU1QXNTaFVHd085d1h3V3VQVVN0V0grWnV1cmhPeDJIZU9W?=
 =?utf-8?B?dUdpM1pTa0ZxUU8zMzMwRVMra3FKTXpsbk1tMkh4UExHNktNRitiNUdmR2ZY?=
 =?utf-8?B?a0dJWVgvU09JbTIvb1VIMkVpS01qSVFEZ1JVTGxYQ2owTHh5MjdzRk9XNStJ?=
 =?utf-8?B?YUVvcXB4NXlWQjRFdGNBSFlvcFNtOUVVb3JJQnZwbklvcUNUR3FwNHhnVk1j?=
 =?utf-8?B?eFNTejN0djZzL1pZazdpRFpYdC9abE10OGNDZ1l3dlFsLzRGY0kwaXUycDFY?=
 =?utf-8?B?UG9OekFBT2ZWZWRBQ0pDNVl4bVpnUkY2VWg3bmxXRGUyUW15TUxvYzNNN3RX?=
 =?utf-8?B?UVlJWEU5dTYyc2Q1TDlTTkc5WGVpQWNuRmMwTzFqTG9tbzg1QktPV0g4WEZT?=
 =?utf-8?B?cXdaWWdHUnl4THBIUVlpL21lVTU0cmZSRElvQjc5WkRCZmZ1Zyt1ZUhrYUxB?=
 =?utf-8?B?L2gyZHgrTkxSOHRSV2tpMXl5Mkc5eFpFN0tVRmFVYVB3N3psYW9aZFN1SUJG?=
 =?utf-8?B?blFWNUVFL3FzTHg3YUpabnBxbCtTNWkxcjJUR1pGMWVjcnJ0OUo0NTJ2SWpv?=
 =?utf-8?B?YlpSc1ozaW9Yak1qby9kUkNGdHRoZG03QzVmRENkWFlEclBLblZzelZvL3F0?=
 =?utf-8?B?c3kwbFgwZDlkcVY4VGlrMG9tWi9WdnVlRDJVVGI3LzlraEZWSW5VR3gvMDJB?=
 =?utf-8?B?ZFU4Ynh5M0JicFkrY0VvOSswRUlMN0xwODcwc2lrR3JUZTdmUFcvc3p4c3ZL?=
 =?utf-8?B?eW5DcnYzclNobnNPYkxXUExtM1FuNE5UeE42cDl5VlBlQTE3cTZJYVY2TEE3?=
 =?utf-8?B?NGVzM0tCbFVld0Q5MFgvT2tKeGFvaTRpQVZtaEtGNUx3dkk1V1Z4RitFQVgv?=
 =?utf-8?B?T044WUZTekhoRklGcTh1WmRScVk4c3JiOHVaMDNnMjgwVmNFQ3JKQUJjTGRE?=
 =?utf-8?B?Qk1va3M0aURNOFd3azk0NDFzK2JYcWd3MFd1b1JNK29PdTZDcmJFNmY3UzBM?=
 =?utf-8?B?R1lvMTB5ZWZKMUpOaW85N053eExVbWVtcTcxb0Z0OG1ReWthUVJMNkpMRUtF?=
 =?utf-8?B?MHBJdHdCakhKRVpEVC9MbmllendaZGhLUnpNNTd4eFNaYVNqM05odWhrcmNM?=
 =?utf-8?B?VFNKTTluUkVRM2p0L0xlNElveGxCNWNxa1JLTXFCeXV5eFFET29nNnR2V0Jt?=
 =?utf-8?B?dlJOcEZpaXFUekR6RXZCZ1ZDQmhMUzNOTzNEV2xyYXIxRVhoT3lrL25QUzVE?=
 =?utf-8?Q?ZDDmEIu+Hxv7QRFgEYpD9b1lB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 65ce64f5-4dcb-4848-4b4c-08da7398e72f
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 08:36:17.9862
 (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: iR8e5Hw2fdxOp+Taa8Fl13LExxlaR8puIZtwuY2bC7BRNj8X/4XpNrcrZ0xeXAxCeLDyo7GxNRsMMoQM9sgwug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB2746

On 29.07.2022 19:36, Julien Grall wrote:
> Hi Jan,
> 
> On 29/07/2022 07:22, Jan Beulich wrote:
>> On 29.07.2022 03:04, osstest service owner wrote:
>>> branch xen-unstable-smoke
>>> xenbranch xen-unstable-smoke
>>> job build-amd64-libvirt
>>> testid libvirt-build
>>>
>>> Tree: libvirt git://xenbits.xen.org/libvirt.git
>>> Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
>>> Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
>>> Tree: qemuu git://xenbits.xen.org/qemu-xen.git
>>> Tree: xen git://xenbits.xen.org/xen.git
>>>
>>> *** Found and reproduced problem changeset ***
>>>
>>>    Bug is in tree:  xen git://xenbits.xen.org/xen.git
>>>    Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>    Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
>>>    Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/171909/
>>>
>>>
>>>    commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>    Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>    Date:   Fri Jul 15 22:20:24 2022 +0300
>>>    
>>>        libxl: Add support for Virtio disk configuration
>>
>> Just in case you didn't notice it: Something's wrong here. I didn't look
>> at the details at all. Please advise whether a fix will soon arrive or
>> whether we should revert for the time being.
> 
> We had discussion on IRC about this today. This is an issue in libvirt 
> rather than Xen. So I think a revert is not warrant here.
> 
> Instead, it was suggested to force push because it is going to take some 
> times to fix libvirt (see more below).
> 
> Oleksandr already sent a patch to fix libvirt [1]. The problem is even 
> if this is accepted, our testing branch for libvirt is 2 years behind 
> because they switched to Meson and Osstest has not been adapted to the 
> new build system.
> 
> Anthony kindly offered to update Osstest.
> 
> Regarding force pushing, I am waiting for the Osstest result to confirm 
> that only the libvirt tests are failing in staging (we already have the 
> results for smoke). So my plan is to force push on Monday.
> 
> Please let me know on Monday morning if you have some concerns with this 
> approach.

Actually I do - if we force push, the libvirt failure will stick, and
hence potential further regressions introduced there would not be noticed.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:41:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:41:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378578.611819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQzq-0000Ww-G0; Mon, 01 Aug 2022 08:41:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378578.611819; Mon, 01 Aug 2022 08:41:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIQzq-0000Wp-D1; Mon, 01 Aug 2022 08:41:54 +0000
Received: by outflank-mailman (input) for mailman id 378578;
 Mon, 01 Aug 2022 08:41:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIQzo-0000WQ-EA
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:41:52 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50070.outbound.protection.outlook.com [40.107.5.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c96dd485-1175-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 10:41:51 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by VI1PR04MB4079.eurprd04.prod.outlook.com (2603:10a6:803:48::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Mon, 1 Aug
 2022 08:41:47 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 08:41:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c96dd485-1175-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ybv4tRi6V8ARLWCglPLJaiLv6BETxkuLf9At/kOK2+rPkVp18xfljwq0cIXcU/RpCV5nBzZinvZoHatgQZin9y+Vyz2v+1XzUn8ADzhQJaPDgH2NczIbV25jFFq8TsHDfBwfW069fYHQ79q+TizLN8qTqC7F8EnjOdRBG0mQPN+hIR8cRxLE6WjbTvicXFoyeU3sMHTqlO4UGWhppaUcjVUFPeCW+TCzUtQMSa6a9l7xQ04HGZnk3u1FmBqsbCtAoA9aTlv+nzU7Q9Q+yUUWa607XzHXt3zfKkbB3twDdWgwdzrYNl2IDHqcIEgD/fMOciJ4dsAAKpnsH7JhF4IlEw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XqgKCYljuqimkIK/KZKu2ZAsOfEoC4UdLFlgBJ4AZ/w=;
 b=fuQ30MwGkW7QNj+PvVyFa5+nQ25hteF9r+QZHXpeCAgwAtINYjPh4N1DK77PIsXOtnNrLD4mYuR7o496PJgV9mIpmXmAEqLmq4RmMRNx1uQu5drnc7+N6/0pkeb9cM37eMXR4idU55vIjg4JEv8pfoG7hKceoBrpyXD5cCLAj34mu9zvAgOdmzpcZFO9eHDaDEtt0N4e07CjUVD/2o0Xm9w9PxX/MZkpV+MUxLgqMhrPRdn7zeMs8wbBGlYJxKdxcDpgl21D/MhURJZGeg99iwWbeWAS3iir0FDnVU9Wr8O2laGHU0n8M2C2Pn59JAWwPx3V4Gsr7XkzHBi0r1CZuw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XqgKCYljuqimkIK/KZKu2ZAsOfEoC4UdLFlgBJ4AZ/w=;
 b=RYW5HE4fioKxEB/1EA9uVX95ALEQk8qFPejz/SgSd/1REE7kulZ0r7U7Ns+zuePpyO4hh5k2W+OUwkri6VNayXAVd2YBRTAf/SD7W2eV+o581z6n4po9YaUQd1hRc7om+kpoy/UDrr1Z+yHvqd5hkRh3TVUcr1kgEwC3nwijEr88XVWKhoLayfDQyuQ8FySK/WFvrUJIW2XbTFRwHLewLMHnM5juTYNlJLdaXF+E5wg6JU4es/vNkk4eFl0PaWbd5UWJPot/6W3/MPFmwXpt2cZ2zgUvDBfh2MlYfaNn8Zma5AzEUKOfV6fcquSb/WBG8Evxsim5A8XNfoJjarODOg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <389cd355-908f-cb5e-0fb3-38d76a42e4e7@suse.com>
Date: Mon, 1 Aug 2022 10:41:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: cpupool / credit2 misuse of xfree() (was: Re: [BUG] Xen causes a
 host hang by using xen-hptool cpu-offline)
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap
 <george.dunlap@citrix.com>, "Gao, Ruifeng" <ruifeng.gao@intel.com>
References: <BL1PR11MB546193E001A425E0B9B7848EEC979@BL1PR11MB5461.namprd11.prod.outlook.com>
 <bfba43a2-951c-4770-7bb9-3559f1bc69d2@suse.com>
 <ac3b6d9a-ab63-6d09-e9f1-2f6391c4aa0c@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ac3b6d9a-ab63-6d09-e9f1-2f6391c4aa0c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::22) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4abcb098-6267-4c11-8a04-08da7399ab51
X-MS-TrafficTypeDiagnostic: VI1PR04MB4079:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	koGE+mx7z0a+e4dk8nQJArk5+rm/3gq3AKFIVcRGkq0YpE0RJFpcDy83op5pndsYdviFwtRIoMOkdFIYNlY7QEU1TP5/rwJlcGQ838Zz2fHCq0pxobvMWHCCN0xlgVXoxDdGjhrI6ok3vZXCWqB4wLt852nHupvwmx5bjTYkHvi6R3IcHQ5r3cfDGGM4l+eLxFJJmtkO/GsIQsnLz89vZZQtdSTQEI1zohTsBxrbUHCw5r7K2qatKWc2hlVaM6dVsEOCxJTNveAQwxJgwxMm/DvGorpDrX+z8QDOhVxbs4a8/Iz4YO6RUbHMpOz6BwOurn4S095DMFTiqj0TFrJY8RB2g20jGvCC9vOtjX05FE0lgt266BHuTBsz0ZZR4X9SV2v+nwU8BipkkpGkjmDv1wsjtZO8W/rY1p8jjf9wdXZSwhOVWiHLMcifWoCSANDf5JdyZk3S81fnZ5bUqHXcNe84PUWzQAqo5Kn28tlWWMdng27wrg+u3rr036+tO6bSg4pRcPub159Rg84sPuVMKe+pGURC3XPgOnZ1YpuSIC48ehuptjiYBwUEDLhP7IEsdMl4xkjBnhDnWSs9/WhxF5DkrPVgsA6IbFCrDips0bXsLKYKXwH/wJNa7XKCwgeOaHuvRNhTAevYpaBh8fWYTTaP85hQXCl/4IUIRznEMZX/LPF5nGy7YaSyciob+81L5SNaZHlY39X9KU6sx/c3lEGhYS8p8DxspLNLjj3DyNKYY391GvP9WBnN2AoxabqkO2k5aI3rJbXOLHK2pMNEwHwOMFgJBFotUjz5ZHQat7gnvJxuPPqi+/DKbYAemlzmmuBvev/SAOW4JWCqkUdgAA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(136003)(39850400004)(366004)(396003)(2616005)(8936002)(6862004)(83380400001)(186003)(8676002)(4326008)(66476007)(66556008)(66574015)(478600001)(6486002)(5660300002)(66946007)(53546011)(38100700002)(2906002)(6636002)(37006003)(54906003)(31686004)(86362001)(31696002)(316002)(6506007)(36756003)(26005)(41300700001)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1ArUVN0MEwzbzVpcTBCRXlzR0RXVTEweGJGUktCUkxNa1RzcVY4TUlhb1Fi?=
 =?utf-8?B?ZzRkQlVFMGtsTVF2TWJUM0prMnZhMTBpWEdNSEFsY2E1Z0VZOTNhNy9FYmp2?=
 =?utf-8?B?dGxBb3ZKdXltRFJsMEhEVXJ3QUVFNWF6U2t3MTVwc25OWXVESGxZR0NhQkJE?=
 =?utf-8?B?NEhYaHhGZlNqaWd4WHBYdklEZzAycmRaYldrT1RMbFhQNkhtUW4xK3AxRjNx?=
 =?utf-8?B?U1V1eWFHUTliWjJ2R1I1TVUxOUdGZjVxZE14Ym03K0F4SnJsS2RNWVN6TmtR?=
 =?utf-8?B?bDlMNi8vRC9yeTlmcGc1YW1vSDZ1dWd2WS93ZGQyRmtlQmt6VXovbjdtZnZO?=
 =?utf-8?B?a244RzdET01EUW52OTJ6ZmxibW5GRUZGSGxIVStlOHp0c3l2dWZSMU0zS2Q1?=
 =?utf-8?B?cnh4bndBaWluRXVhZXhaa2lIWVFJVUYzaWtNSCttN3RhNU5PRGhDNTN3SWxB?=
 =?utf-8?B?Y2IzSXlUcmFYdWpjYUxOSHdkMTVyMlFmZVN1cG44UE5ucngrZVlNSnV4dGVE?=
 =?utf-8?B?eXN2N3pmVDNhbWk4QmhJUGsvRTBUYUlzaHFYVGFmbTFnNDhuSlBiSTZUdFBL?=
 =?utf-8?B?VHdkOGtjOHRoV0E5WWJWRUdJVlBqN2RITmhyOFIrbndWL1NNMk5lUUh2L2la?=
 =?utf-8?B?K1EybUgxRG13QlY0WFlCUExSQ1NDUmxOUnhyOFkzS2J1ZzVoNXVsM3V6a1hQ?=
 =?utf-8?B?ZlU5RWJZU1NGVTQ0ZTdiYU1zcUo0YzBqNHNwNi9jaEVRN3VmSEF5cUNTR0ow?=
 =?utf-8?B?YW5vdFExbU95aHIwQk01bmt3UlFnSmVCUmhUNFZUYjNwNGo3MDJBZzdIUmVr?=
 =?utf-8?B?YmhqK2c3VjRSTHYzdm1wRGo5K2xnYjYvbG55TTRNcFpNWWMyOE1sWE40alk4?=
 =?utf-8?B?WnNya3VnOTJQSVV1bG8wYnpxS25YL2M4aTh5aEJyUWdZM0lDdnI5dHFXV3JE?=
 =?utf-8?B?OFNDajVmYllhMnlQbm1veWlwd0dSUnBHZmNpcnhXb084THE4SGd4U0lRa1Rk?=
 =?utf-8?B?cjlKVTcybXNHcXpFTmJySjU2QWtuUHFmM050bVpuNzBsMnpvWVk5dWxRQzln?=
 =?utf-8?B?MG1HTE4wVW4vY2lDWElack1SdUVJYUtMZ2FUMXl3M1FkTnNpYjZDOEJ4VEdj?=
 =?utf-8?B?eWZjeVhmb05YdUxBVmd2T0hmN0hmVHhZWEZpZjRmYmlJRWhONFAvcDdCbENh?=
 =?utf-8?B?ZkswenhsUjRyamVlZDlsRXlDajNaOWN1NHZXNVUvb2FlSFVlWnBPZnJEbnJi?=
 =?utf-8?B?V081eHdnUFBVYlZ5cDU2L2tybnBNL0YxMm9LVEF0N1UyMGJFbWZzQU5uS2l6?=
 =?utf-8?B?RllnK3duRkcvTllKTDUvNEFQZ3NZcTluZnNWMkh3NzFwcnBFTXNYTUF1Y1l1?=
 =?utf-8?B?QlZ3Nk5kZDlJUHZnekhPeU8yaGt3RmlNdmVJM2IveGl6OWJlRGVDekN2aUZk?=
 =?utf-8?B?K0lrWjRCRnhxSFI0bVFMdUMreDR6cUsrYyt4ZjRBV3RSUTFkcTVuMGpyallZ?=
 =?utf-8?B?SWtUamRpa2w5NUhSemJhYkpFb25CeU5MaVU0aVNjT2I0NU03R3U3Q3JyZ1RO?=
 =?utf-8?B?anVzUWk3Y3VvUVZaOG9lRDdUSTBHTkFycXoyOVpNZEVzUEpSZ2tFRUt1SmVh?=
 =?utf-8?B?dXYvM2dFdDNRNE1EMXhNT0ZieFdmVXhtdndUNk1QemRJbWd2Uy84QUJaMDJk?=
 =?utf-8?B?ay9xdWNnakZaZkM3TnQ4MlNaalpMK004SWNmSDg3M0JOVGk0R2o2cHdXaVlI?=
 =?utf-8?B?VExvOVd0ZDJQcnkxQWZlSWlGTk1XZGtmbEF4ak1UV082SjNrZGlpYVpjS0hX?=
 =?utf-8?B?VWlQTjRXWWNJVEh5WG1rY2w2RUdaaW9zaFlLWVhHVCszQTdpWldWU2p5cG1w?=
 =?utf-8?B?bXUxYS9hdUdDd1pFKzVkLzJQOUF4SWh3MFVjdGpFT2FUaUkyQzFHRHNrU01C?=
 =?utf-8?B?SFZXTlhTRVd1bysrZS94VjBXTVBrOEIxeTZldmJqVEs3SHAvWENCVlVudWM3?=
 =?utf-8?B?eEVHVE53M1lyeWdRYjNpUG9LZVJLS21NODNSQkhQaFR2VEZ1SDNVV2JMVWNq?=
 =?utf-8?B?T292bnptUFVoUUZ4aGtuTWNvblZiZUsxTWNUanhJVC9CZVNacHZYRGJqaHRq?=
 =?utf-8?Q?dqqyYlhDZrM2cVQB8qFwL1dns?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4abcb098-6267-4c11-8a04-08da7399ab51
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 08:41:46.8878
 (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: Gt3Vct6Og5fjuVIUteHfLB9WamSNU7QKDcSI+iUrG2EXi18I/wmPrapAL6kEr/7RU1q3OOjmNCnvPYgt5UyPRg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4079

On 01.08.2022 09:38, Juergen Gross wrote:
> On 27.07.22 08:32, Jan Beulich wrote:
>> On 27.07.2022 03:19, Gao, Ruifeng wrote:
>>> Problem Description:
>>> Trying to execute "/usr/local/sbin/xen-hptool cpu-offline <cpuid>", the host will hang immediately.
>>>
>>> Version-Release and System Details:
>>> Platform: Ice Lake Server
>>> Host OS: Red Hat Enterprise Linux 8.3 (Ootpa)
>>> Kernel: 5.19.0-rc6
>>> HW: Intel(R) Xeon(R) Gold 6336Y CPU @ 2.40GHz
>>> Xen Version: 4.17-unstable(ab2977b027-dirty)
>>>
>>> Reproduce Steps:
>>> 1. Boot from Xen and check the information:
>>> [root@icx-2s1 ~]# xl info
>>> host                   : icx-2s1
>>> release                : 5.19.0-rc6
>>> xen_version            : 4.17-unstable
>>> xen_caps               : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
>>> platform_params        : virt_start=0xffff800000000000
>>> xen_changeset          : Thu Jul 14 19:45:36 2022 +0100 git:ab2977b027-dirty
>>> 2. Execute the cpu-offline command, here cpuid is 48 as an example:
>>> [root@icx-2s1 ~]# /usr/local/sbin/xen-hptool cpu-offline 48
>>>
>>> Actual Results:
>>> The host will hang immediately.
>>
>> Well, it crashes (which is an important difference). Also you've hidden
>> the important details (allowing to easily identify what area the issue
>> is in) quite well in the attachment.
>>
>> JÃ¼rgen (and possibly George / Dario),
>>
>> this
>>
>> (XEN) Xen call trace:
>> (XEN)    [<ffff82d04023be76>] R xfree+0x150/0x1f7
>> (XEN)    [<ffff82d040248795>] F common/sched/credit2.c#csched2_free_udata+0xc/0xe
>> (XEN)    [<ffff82d040259169>] F schedule_cpu_rm+0x38d/0x4b3
>> (XEN)    [<ffff82d0402430ca>] F common/sched/cpupool.c#cpupool_unassign_cpu_finish+0x17e/0x22c
>> (XEN)    [<ffff82d04021d402>] F common/sched/cpupool.c#cpu_callback+0x3fb/0x4dc
>> (XEN)    [<ffff82d040229fc3>] F notifier_call_chain+0x6b/0x96
>> (XEN)    [<ffff82d040204df7>] F common/cpu.c#cpu_notifier_call_chain+0x1b/0x33
>> (XEN)    [<ffff82d040204e33>] F common/cpu.c#_take_cpu_down+0x24/0x2b
>> (XEN)    [<ffff82d040204e43>] F common/cpu.c#take_cpu_down+0x9/0x10
>> (XEN)    [<ffff82d040231517>] F common/stop_machine.c#stopmachine_action+0x86/0x96
>> (XEN)    [<ffff82d040231cc5>] F common/tasklet.c#do_tasklet_work+0x72/0xa5
>> (XEN)    [<ffff82d040231f42>] F do_tasklet+0x58/0x8a
>> (XEN)    [<ffff82d040320b60>] F arch/x86/domain.c#idle_loop+0x8d/0xee
>> (XEN)
>> (XEN)
>> (XEN) ****************************************
>> (XEN) Panic on CPU 48:
>> (XEN) Assertion '!in_irq() && (local_irq_is_enabled() || num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:704
>> (XEN) ****************************************
>>
>> is pointing at the problem quite clearly. Conceptually I think it
>> has always been wrong to call xfree() from stop-machine context. It
>> just so happened that we got away with that so far, because the CPU
>> being brought down was the only one using respective functions (and
>> hence there was no other risk of locking issues).
>>
>> Question is whether we want to continue building upon this (and
>> hence the involved assertion would need to "learn" to ignore
>> stop-machine context) or whether instead the freeing of the memory
>> here can be deferred, e.g. to be taken care of by the CPU driving
>> the offlining process.
> 
> This is even more complicated.
> 
> I think ASSERT_ALLOC_CONTEXT() will trigger more often, especially
> with core scheduling enabled. In fact I think this is the reason why
> I've seen very rare strange failures with core scheduling when trying
> cpu hotplug operations, as there are even xmalloc() calls in stop
> machine context.
> 
> I'm seeing the following possibilities:
> 
> 1) Pre-allocating the needed data and deferring freeing of no longer
>     needed data when taking a cpu down. Apart form some refactoring
>     in common/sched/cpupool.c and common/sched/core.c this should be
>     doable.
> 
> 2) In case stop_machine() is called for action on only one cpu allow
>     memory allocations and freeing with interrupts off and flush the
>     TLBs locally when enabling interrupts again. This would require
>     rather limited changes, but wouldn't be as clean as the other
>     approach.
> 
> Any preferences? I'd be fine with both variants and could write the
> patches.

I'd prefer 1 over 2, but in the unlikely event that 1 ends up unwieldy
I could live with an extensively commented form of 2.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:43:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:43:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378583.611829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIR1p-00016g-Rf; Mon, 01 Aug 2022 08:43:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378583.611829; Mon, 01 Aug 2022 08:43:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIR1p-00016Z-Ol; Mon, 01 Aug 2022 08:43:57 +0000
Received: by outflank-mailman (input) for mailman id 378583;
 Mon, 01 Aug 2022 08:43:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oIR1o-00016R-Rj
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:43:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIR1k-0006Cx-3P; Mon, 01 Aug 2022 08:43:52 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=[10.0.0.187])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIR1j-0008Ll-Tx; Mon, 01 Aug 2022 08:43:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ch40GrQJAwkoS42EnlHgxyq7LdfKjODV54nXhZyVpQs=; b=mFdVsnNYHsEVmqz+h4bjgzOk/U
	sYgW+fbsnojyVPu1x9I7rwpAnpYB4ux5Guq+TKgItMw/Yng7b6rV0wsffK1/wv4I8f2e6tgVaHsf0
	/pmb1QUfMAmyUt7+PlnhnYvlBZisOqIvWHUVqoWxxrBPudBheaN42IHH8RSSNAhu3jcc=;
Message-ID: <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
Date: Mon, 1 Aug 2022 09:43:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [xen-unstable-smoke bisection] complete build-amd64-libvirt
To: Jan Beulich <jbeulich@suse.com>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "committers@xenproject.org" <committers@xenproject.org>
References: <E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org>
 <08606914-f5f4-8415-51a2-f6a5e1c54d20@suse.com>
 <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
 <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

(+ Committers)

Hi Jan,

On 01/08/2022 09:36, Jan Beulich wrote:
> On 29.07.2022 19:36, Julien Grall wrote:
>> Hi Jan,
>>
>> On 29/07/2022 07:22, Jan Beulich wrote:
>>> On 29.07.2022 03:04, osstest service owner wrote:
>>>> branch xen-unstable-smoke
>>>> xenbranch xen-unstable-smoke
>>>> job build-amd64-libvirt
>>>> testid libvirt-build
>>>>
>>>> Tree: libvirt git://xenbits.xen.org/libvirt.git
>>>> Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
>>>> Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
>>>> Tree: qemuu git://xenbits.xen.org/qemu-xen.git
>>>> Tree: xen git://xenbits.xen.org/xen.git
>>>>
>>>> *** Found and reproduced problem changeset ***
>>>>
>>>>     Bug is in tree:  xen git://xenbits.xen.org/xen.git
>>>>     Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>>     Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
>>>>     Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/171909/
>>>>
>>>>
>>>>     commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>>     Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>     Date:   Fri Jul 15 22:20:24 2022 +0300
>>>>     
>>>>         libxl: Add support for Virtio disk configuration
>>>
>>> Just in case you didn't notice it: Something's wrong here. I didn't look
>>> at the details at all. Please advise whether a fix will soon arrive or
>>> whether we should revert for the time being.
>>
>> We had discussion on IRC about this today. This is an issue in libvirt
>> rather than Xen. So I think a revert is not warrant here.
>>
>> Instead, it was suggested to force push because it is going to take some
>> times to fix libvirt (see more below).
>>
>> Oleksandr already sent a patch to fix libvirt [1]. The problem is even
>> if this is accepted, our testing branch for libvirt is 2 years behind
>> because they switched to Meson and Osstest has not been adapted to the
>> new build system.
>>
>> Anthony kindly offered to update Osstest.
>>
>> Regarding force pushing, I am waiting for the Osstest result to confirm
>> that only the libvirt tests are failing in staging (we already have the
>> results for smoke). So my plan is to force push on Monday.
>>
>> Please let me know on Monday morning if you have some concerns with this
>> approach.
> 
> Actually I do - if we force push, the libvirt failure will stick, and
> hence potential further regressions introduced there would not be noticed.

Well... We haven't had any push in libvirt for the past 2 years. So to 
me it shows that nobody really care about the testing done. Therefore, I 
don't see the problem if we don't spot further regressions.

If we don't force push, we have two solutions:
   1) Revert Oleksandr's series
   2) Leave it until we have Osstest fixed *and* Oleksandr's patch 
reached libvirt.

The former is not an option for me, because Oleksandr's series is not at 
fault. So this leave us to 2).

So what's your proposal?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:51:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:51:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378588.611841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIR8t-0002ge-Ia; Mon, 01 Aug 2022 08:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378588.611841; Mon, 01 Aug 2022 08:51:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIR8t-0002gX-Fw; Mon, 01 Aug 2022 08:51:15 +0000
Received: by outflank-mailman (input) for mailman id 378588;
 Mon, 01 Aug 2022 08:51:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oIR8s-0002gR-KK
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:51:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIR8s-0006LP-2q; Mon, 01 Aug 2022 08:51:14 +0000
Received: from home.octic.net ([81.187.162.82] helo=[10.0.0.187])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIR8r-0000Hz-Qy; Mon, 01 Aug 2022 08:51:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=CZ3AQ0rzsgpr3ZGO1JUGS5i+btgNssy3XRYFzDHnUHU=; b=M9Nk5aBhk7B9tNo0P/gRZNKykR
	p51lG3ONhSIW7m99WOTQwxunWOxqNekF9S+UMHbC4FnWKymJIvySc1FM1fXJZ7MGmn9PzJpbW/zCY
	466dJXg+rkr18aoUHvCPM4ISuPd3YZwTLdtNC/AacIss1b2RD71Pq1AuozpDnK9mkvWg=;
Message-ID: <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
Date: Mon, 1 Aug 2022 09:51:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
Content-Language: en-US
To: =?UTF-8?B?TWljaGFsIFByw612b3puw61r?= <mprivozn@redhat.com>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org,
 libvir-list@redhat.com
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Michal,

On 01/08/2022 09:23, Michal PrÃ­voznÃ­k wrote:
> On 7/29/22 17:50, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> Xen toolstack has gained basic Virtio support recently which becides
>> adding various virtio related stuff introduces new disk backend type
>> LIBXL_DISK_BACKEND_STANDALONE [1].
>>
>> Unfortunately, this caused a regression in libvirt build with Xen support
>> enabled, reported by the osstest today [2]:
>>
>> CC       libxl/libvirt_driver_libxl_impl_la-xen_xl.lo
>> ../../src/libxl/xen_xl.c: In function 'xenParseXLDisk':
>> ../../src/libxl/xen_xl.c:779:17: error: enumeration value 'LIBXL_DISK_BACKEND_STANDALONE'
>>     not handled in switch [-Werror=switch-enum]
>>                   switch (libxldisk->backend) {
>>                   ^~~~~~
>> cc1: all warnings being treated as errors
>>
>> The interesting fact is that switch already has a default branch (which ought
>> to cover such new addition), but the error is triggered as -Wswitch-enum
>> gives a warning about an omitted enumeration code even if there is a default
>> label.
> 
> This is expected and in fact working correctly. We want compiler to warn
> us about enum members that are not handled in a switch() statement.

For us this is treated as an error. Is it intended?

If it is, then I think this will be a problem for Xen because it means 
we will always need to fix libvirt before accepting a patch in Xen (see 
more below).

>  The
> 'default' case exists in some places because we suspect the value might
> not have been validated before. For instance:
> 
> libxl_disk_backend x = atoi(argv[1]); /* or parse something from XML */
> 
> switch(x) {
> case LIBXL_DISK_BACKEND_UNKNOWN:
> case LIBXL_DISK_BACKEND_PHY:
> case LIBXL_DISK_BACKEND_TAP:
> case LIBXL_DISK_BACKEND_QDISK:
>    // Neither of these might be exectuted ..
> default:
>    // .. in which case this will.
> }
> 
> 
> But we are not very consistent in putting 'default' case, sadly.
> 
>>
>> Also there is a similar issue in libxlUpdateDiskDef() which I have reproduced
>> after fixing the first one, but it that case the corresponding switch doesn't
>> have a default branch.
>>
>> Fix both issues by inserting required enumeration item to make the compiler
>> happy and adding ifdef guard to be able to build against old Xen libraries
>> as well (without LIBXL_HAVE_DEVICE_DISK_SPECIFICATION). Also add a default
>> branch to switch in libxlUpdateDiskDef().
>>
>> Please note, that current patch doesn't implement the proper handling of
>> LIBXL_DISK_BACKEND_STANDALONE and friends, it is just intended to fix
>> the regression immediately to unblock the osstest.  Also it worth mentioning
>> that current patch won't solve the possible additions in the future.
>>
>> [1] https://lore.kernel.org/xen-devel/20220716163745.28712-1-olekstysh@gmail.com/
>> [2] https://lore.kernel.org/xen-devel/E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org/
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> ---
>> Cc: Julien Grall <julien@xen.org>
>> Cc: Anthony PERARD <anthony.perard@citrix.com>
>> Cc: Michal Privoznik <mprivozn@redhat.com>
>>
>> Please note, the patch is tested on:
>> https://xenbits.xen.org/gitweb/?p=libvirt.git;a=shortlog;h=refs/heads/xen-tested-master
>> but should work on the master as well (as the same code is present here).
>> ---
>>   src/libxl/libxl_conf.c | 4 ++++
>>   src/libxl/xen_xl.c     | 3 +++
>>   2 files changed, 7 insertions(+)
> 
> Ah, I couldn't find the commit in master, and it's simply because it's
> not there yet. It's in staging:
> 
> https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;f=tools/libs/light/libxl_types.idl;h=66dd1c62b2a3c707bd5c55750d10a8223fbd577f
> 
> The patch looks correct. Do you have any estimate when it can be merged
> into master? I'm not sure what our, libvirt, rules about xen staging
> are, but for qemu we require master (even unreleased yet).

The patches usually land in master after our test suite has completed. 
One of the test is to confirm that libvirt is still working. Therefore, 
the Xen patch will not be part of master until the patch in libvirt is 
added.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:58:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:58:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378593.611852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRFP-0003Rm-8l; Mon, 01 Aug 2022 08:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378593.611852; Mon, 01 Aug 2022 08:57:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRFP-0003Rf-5m; Mon, 01 Aug 2022 08:57:59 +0000
Received: by outflank-mailman (input) for mailman id 378593;
 Mon, 01 Aug 2022 08:57:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+DYs=YF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oIRFN-0003RV-JM
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:57:57 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 08d81d82-1178-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 10:57:56 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D271333BF3;
 Mon,  1 Aug 2022 08:57:47 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 999DD13A72;
 Mon,  1 Aug 2022 08:57:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Gt4BJIuV52IIOQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 01 Aug 2022 08:57:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08d81d82-1178-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659344267; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=hMoY77jUFboPd1i4gHzoPyqs7hqfM3X0gMz1RIrPPiA=;
	b=qTeGHlApy5qtBV9OLhvke4JGlJTaeV2sEQUIIXz/Gpltl4kuGitYVnBaiQr1jqoY/2TBd3
	TfpOzYWtOGTwPIP9lmfXfVY3Hqne4TIWvxrpPZYFFgnmDanXSyLa4F3RSpT70T1BrBOms0
	QGhLF76fyIdM/afzCWvZl4VmTOZB40U=
Message-ID: <336cfa84-2f32-286a-394b-fc596b2ce03e@suse.com>
Date: Mon, 1 Aug 2022 10:57:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 1/4] tools: remove xenstore entries on vchan server
 closure
Content-Language: en-US
To: dmitry.semenets@gmail.com, xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Dmytro Semenets <dmytro_semenets@epam.com>
References: <20220713150311.4152528-1-dmitry.semenets@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220713150311.4152528-1-dmitry.semenets@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------nQYxkk01zcVmrtVUW7pNmQHn"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------nQYxkk01zcVmrtVUW7pNmQHn
Content-Type: multipart/mixed; boundary="------------00yoX429ATutGKy84cV000YS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: dmitry.semenets@gmail.com, xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Dmytro Semenets <dmytro_semenets@epam.com>
Message-ID: <336cfa84-2f32-286a-394b-fc596b2ce03e@suse.com>
Subject: Re: [PATCH v2 1/4] tools: remove xenstore entries on vchan server
 closure
References: <20220713150311.4152528-1-dmitry.semenets@gmail.com>
In-Reply-To: <20220713150311.4152528-1-dmitry.semenets@gmail.com>

--------------00yoX429ATutGKy84cV000YS
Content-Type: multipart/mixed; boundary="------------P0NmayjkooFtKpCpSaWaEo0u"

--------------P0NmayjkooFtKpCpSaWaEo0u
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMDcuMjIgMTc6MDMsIGRtaXRyeS5zZW1lbmV0c0BnbWFpbC5jb20gd3JvdGU6DQo+
IEZyb206IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5r
b0BlcGFtLmNvbT4NCj4gDQo+IHZjaGFuIHNlcnZlciBjcmVhdGVzIFhlblN0b3JlIGVudHJp
ZXMgdG8gYWR2ZXJ0aXNlIGl0cyBldmVudCBjaGFubmVsIGFuZA0KPiByaW5nLCBidXQgdGhv
c2UgYXJlIG5vdCByZW1vdmVkIGFmdGVyIHRoZSBzZXJ2ZXIgcXVpdHMuDQo+IEFkZCBhZGRp
dGlvbmFsIGNsZWFudXAgc3RlcCwgc28gdGhvc2UgYXJlIHJlbW92ZWQsIHNvIGNsaWVudHMg
ZG8gbm90IHRyeQ0KPiB0byBjb25uZWN0IHRvIGEgbm9uLWV4aXN0aW5nIHNlcnZlci4NCj4g
DQo+IFNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJf
YW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogRG15dHJvIFNlbWVu
ZXRzIDxkbXl0cm9fc2VtZW5ldHNAZXBhbS5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0K
--------------P0NmayjkooFtKpCpSaWaEo0u
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------P0NmayjkooFtKpCpSaWaEo0u--

--------------00yoX429ATutGKy84cV000YS--

--------------nQYxkk01zcVmrtVUW7pNmQHn
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLnlYsFAwAAAAAACgkQsN6d1ii/Ey/E
kAf/TD4ms4Sa97xSRntdYNBHw3Twvb+x0taZ5BwwxyaXMvHyT8W/zbJc2Q/M3aOpcOXf7Qtv0VXW
/u6Qd+RDDzWQhGCL/NVFPZ6sf5aEdQxUa8nnwfVbg8gwWsohbAsmZzBoUvfLvVvXBhTB+jmwqmO8
0cj57T+PbnyjiJNmCtLjuGgWyuqV20CAD1Wr42TFzBIFj7cPcnLLxXAbifbJD5161Gv7KJUCsc3c
fqNNPYEEcuB5jT5Th4lHflbq+5NrXm41x+8opCbow/YKC/myLMLsEd7GGK+PFo2qrRGa09iq13yY
xKdDlGHukPak57pFc7uc1LKqspsoVpBxNW+dM1oguA==
=DCd7
-----END PGP SIGNATURE-----

--------------nQYxkk01zcVmrtVUW7pNmQHn--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 08:59:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 08:59:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378599.611863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRGf-00044L-N7; Mon, 01 Aug 2022 08:59:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378599.611863; Mon, 01 Aug 2022 08:59:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRGf-00044E-JR; Mon, 01 Aug 2022 08:59:17 +0000
Received: by outflank-mailman (input) for mailman id 378599;
 Mon, 01 Aug 2022 08:59:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+DYs=YF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oIRGd-000442-JP
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 08:59:15 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 37987cbe-1178-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 10:59:14 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 677A14D711;
 Mon,  1 Aug 2022 08:59:14 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 33DE413A72;
 Mon,  1 Aug 2022 08:59:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id RvM7C+KV52LzOQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 01 Aug 2022 08:59:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37987cbe-1178-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659344354; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=6KNu2/zaNN6R5tznBsl2HAm+fRY/hvUL4HdC4polMjg=;
	b=dDSH+/WT3pv+bO9obgFKj62fRhaTAdAcznwR22cW6PxdZnQsGeGSR4wXRsLkAcwQ55gvpH
	RcK/Bjo8uP0BW23nC4drXZ/ngrgaJVs6u8vLadNSIMvfuZFt9Y695JgqmDC95RXolMytMp
	C5LYZXd2RiUz8hClTpGyVrUUxZso6Jc=
Message-ID: <124efe96-ed51-6312-75a8-1248724b619e@suse.com>
Date: Mon, 1 Aug 2022 10:59:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 2/4] tools: allow vchan XenStore paths more then 64
 bytes long
Content-Language: en-US
To: dmitry.semenets@gmail.com, xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Dmytro Semenets <dmytro_semenets@epam.com>
References: <20220713150311.4152528-1-dmitry.semenets@gmail.com>
 <20220713150311.4152528-2-dmitry.semenets@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220713150311.4152528-2-dmitry.semenets@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------zPBOVyeWBYfM1tXlBYI0NhKk"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------zPBOVyeWBYfM1tXlBYI0NhKk
Content-Type: multipart/mixed; boundary="------------9cMj7DkBvzekzepH7EJvbQoG";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: dmitry.semenets@gmail.com, xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Dmytro Semenets <dmytro_semenets@epam.com>
Message-ID: <124efe96-ed51-6312-75a8-1248724b619e@suse.com>
Subject: Re: [PATCH v2 2/4] tools: allow vchan XenStore paths more then 64
 bytes long
References: <20220713150311.4152528-1-dmitry.semenets@gmail.com>
 <20220713150311.4152528-2-dmitry.semenets@gmail.com>
In-Reply-To: <20220713150311.4152528-2-dmitry.semenets@gmail.com>

--------------9cMj7DkBvzekzepH7EJvbQoG
Content-Type: multipart/mixed; boundary="------------0GsZOTEEXerrEqLM5FZHoiIE"

--------------0GsZOTEEXerrEqLM5FZHoiIE
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMDcuMjIgMTc6MDMsIGRtaXRyeS5zZW1lbmV0c0BnbWFpbC5jb20gd3JvdGU6DQo+
IEZyb206IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5r
b0BlcGFtLmNvbT4NCj4gDQo+IEN1cnJlbnQgdmNoYW4gaW1wbGVtZW50YXRpb24sIHdoaWxl
IGRlYWxpbmcgd2l0aCBYZW5TdG9yZSBwYXRocywNCj4gYWxsb2NhdGVzIDY0IGJ5dGVzIGJ1
ZmZlciBvbiB0aGUgc3RhY2sgd2hpY2ggbWF5IG5vdCBiZSBlbm91Z2ggZm9yDQo+IHNvbWUg
dXNlLWNhc2VzLiBNYWtlIHRoZSBidWZmZXIgbG9uZ2VyIHRvIHJlc3BlY3QgbWF4aW11bSBh
bGxvd2VkDQo+IFhlblN0b3JlIHBhdGggb2YgWEVOU1RPUkVfQUJTX1BBVEhfTUFYLg0KPiAN
Cj4gU2lnbmVkLW9mZi1ieTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9h
bmRydXNoY2hlbmtvQGVwYW0uY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBEbXl0cm8gU2VtZW5l
dHMgPGRteXRyb19zZW1lbmV0c0BlcGFtLmNvbT4NCj4gLS0tDQo+ICAgdG9vbHMvbGlicy92
Y2hhbi9pbml0LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tDQo+ICAgMSBm
aWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+IA0KPiBk
aWZmIC0tZ2l0IGEvdG9vbHMvbGlicy92Y2hhbi9pbml0LmMgYi90b29scy9saWJzL3ZjaGFu
L2luaXQuYw0KPiBpbmRleCA5MTk1YmQzYjk4Li4zODY1OGYzMGFmIDEwMDY0NA0KPiAtLS0g
YS90b29scy9saWJzL3ZjaGFuL2luaXQuYw0KPiArKysgYi90b29scy9saWJzL3ZjaGFuL2lu
aXQuYw0KPiBAQCAtMjQ5LDcgKzI0OSw3IEBAIHN0YXRpYyBpbnQgaW5pdF94c19zcnYoc3Ry
dWN0IGxpYnhlbnZjaGFuICpjdHJsLCBpbnQgZG9tYWluLCBjb25zdCBjaGFyKiB4c19iYXNl
DQo+ICAgCWludCByZXQgPSAtMTsNCj4gICAJc3RydWN0IHhzX2hhbmRsZSAqeHM7DQo+ICAg
CXN0cnVjdCB4c19wZXJtaXNzaW9ucyBwZXJtc1syXTsNCj4gLQljaGFyIGJ1Zls2NF07DQo+
ICsJY2hhciAqYnVmOw0KPiAgIAljaGFyIHJlZlsxNl07DQo+ICAgCWNoYXIqIGRvbWlkX3N0
ciA9IE5VTEw7DQo+ICAgCXhzX3RyYW5zYWN0aW9uX3QgeHNfdHJhbnMgPSBYQlRfTlVMTDsN
Cj4gQEAgLTI1OSw2ICsyNTksMTIgQEAgc3RhdGljIGludCBpbml0X3hzX3NydihzdHJ1Y3Qg
bGlieGVudmNoYW4gKmN0cmwsIGludCBkb21haW4sIGNvbnN0IGNoYXIqIHhzX2Jhc2UNCj4g
ICAJaWYgKCFjdHJsLT54c19wYXRoKQ0KPiAgIAkJcmV0dXJuIC0xOw0KPiAgIA0KPiArCWJ1
ZiA9IG1hbGxvYyhYRU5TVE9SRV9BQlNfUEFUSF9NQVgpOw0KPiArCWlmICghYnVmKSB7DQo+
ICsJCWZyZWUoY3RybCk7DQo+ICsJCXJldHVybiAwOw0KPiArCX0NCj4gKw0KPiAgIAl4cyA9
IHhzX29wZW4oMCk7DQo+ICAgCWlmICgheHMpDQo+ICAgCQlnb3RvIGZhaWw7DQo+IEBAIC0y
ODAsMTQgKzI4NiwxNCBAQCByZXRyeV90cmFuc2FjdGlvbjoNCj4gICAJCWdvdG8gZmFpbF94
c19vcGVuOw0KPiAgIA0KPiAgIAlzbnByaW50ZihyZWYsIHNpemVvZiByZWYsICIlZCIsIHJp
bmdfcmVmKTsNCj4gLQlzbnByaW50ZihidWYsIHNpemVvZiBidWYsICIlcy9yaW5nLXJlZiIs
IHhzX2Jhc2UpOw0KPiArCXNucHJpbnRmKGJ1ZiwgWEVOU1RPUkVfQUJTX1BBVEhfTUFYLCAi
JXMvcmluZy1yZWYiLCB4c19iYXNlKTsNCj4gICAJaWYgKCF4c193cml0ZSh4cywgeHNfdHJh
bnMsIGJ1ZiwgcmVmLCBzdHJsZW4ocmVmKSkpDQo+ICAgCQlnb3RvIGZhaWxfeHNfb3BlbjsN
Cj4gICAJaWYgKCF4c19zZXRfcGVybWlzc2lvbnMoeHMsIHhzX3RyYW5zLCBidWYsIHBlcm1z
LCAyKSkNCj4gICAJCWdvdG8gZmFpbF94c19vcGVuOw0KPiAgIA0KPiAgIAlzbnByaW50Zihy
ZWYsIHNpemVvZiByZWYsICIlZCIsIGN0cmwtPmV2ZW50X3BvcnQpOw0KPiAtCXNucHJpbnRm
KGJ1Ziwgc2l6ZW9mIGJ1ZiwgIiVzL2V2ZW50LWNoYW5uZWwiLCB4c19iYXNlKTsNCj4gKwlz
bnByaW50ZihidWYsIFhFTlNUT1JFX0FCU19QQVRIX01BWCwgIiVzL2V2ZW50LWNoYW5uZWwi
LCB4c19iYXNlKTsNCj4gICAJaWYgKCF4c193cml0ZSh4cywgeHNfdHJhbnMsIGJ1ZiwgcmVm
LCBzdHJsZW4ocmVmKSkpDQo+ICAgCQlnb3RvIGZhaWxfeHNfb3BlbjsNCj4gICAJaWYgKCF4
c19zZXRfcGVybWlzc2lvbnMoeHMsIHhzX3RyYW5zLCBidWYsIHBlcm1zLCAyKSkNCj4gQEAg
LTMwMyw2ICszMDksNyBAQCByZXRyeV90cmFuc2FjdGlvbjoNCj4gICAJZnJlZShkb21pZF9z
dHIpOw0KPiAgIAl4c19jbG9zZSh4cyk7DQo+ICAgIGZhaWw6DQo+ICsJZnJlZShidWYpOw0K
PiAgIAlyZXR1cm4gcmV0Ow0KPiAgIH0NCj4gICANCj4gQEAgLTQxOSwxMyArNDI2LDIwIEBA
IHN0cnVjdCBsaWJ4ZW52Y2hhbiAqbGlieGVudmNoYW5fY2xpZW50X2luaXQoc3RydWN0IHhl
bnRvb2xsb2dfbG9nZ2VyICpsb2dnZXIsDQo+ICAgew0KPiAgIAlzdHJ1Y3QgbGlieGVudmNo
YW4gKmN0cmwgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBsaWJ4ZW52Y2hhbikpOw0KPiAgIAlz
dHJ1Y3QgeHNfaGFuZGxlICp4cyA9IE5VTEw7DQo+IC0JY2hhciBidWZbNjRdOw0KPiArCWNo
YXIgKmJ1ZjsNCj4gICAJY2hhciAqcmVmOw0KPiAgIAlpbnQgcmluZ19yZWY7DQo+ICAgCXVu
c2lnbmVkIGludCBsZW47DQo+ICAgDQo+ICAgCWlmICghY3RybCkNCj4gICAJCXJldHVybiAw
Ow0KPiArDQo+ICsJYnVmID0gbWFsbG9jKFhFTlNUT1JFX0FCU19QQVRIX01BWCk7DQo+ICsJ
aWYgKCFidWYpIHsNCj4gKwkJZnJlZShjdHJsKTsNCj4gKwkJcmV0dXJuIDA7DQo+ICsJfQ0K
PiArDQo+ICAgCWN0cmwtPnJpbmcgPSBOVUxMOw0KPiAgIAljdHJsLT5ldmVudCA9IE5VTEw7
DQo+ICAgCWN0cmwtPmdudHRhYiA9IE5VTEw7DQo+IEBAIC00MzYsOCArNDUwLDkgQEAgc3Ry
dWN0IGxpYnhlbnZjaGFuICpsaWJ4ZW52Y2hhbl9jbGllbnRfaW5pdChzdHJ1Y3QgeGVudG9v
bGxvZ19sb2dnZXIgKmxvZ2dlciwNCj4gICAJaWYgKCF4cykNCj4gICAJCWdvdG8gZmFpbDsN
Cj4gICANCj4gKw0KPiAgIC8vIGZpbmQgeGVuc3RvcmUgZW50cnkNCj4gLQlzbnByaW50Zihi
dWYsIHNpemVvZiBidWYsICIlcy9yaW5nLXJlZiIsIHhzX3BhdGgpOw0KPiArCXNucHJpbnRm
KGJ1ZiwgWEVOU1RPUkVfQUJTX1BBVEhfTUFYLCAiJXMvcmluZy1yZWYiLCB4c19wYXRoKTsN
Cj4gICAJcmVmID0geHNfcmVhZCh4cywgMCwgYnVmLCAmbGVuKTsNCj4gICAJaWYgKCFyZWYp
DQo+ICAgCQlnb3RvIGZhaWw7DQo+IEBAIC00NDUsNyArNDYwLDcgQEAgc3RydWN0IGxpYnhl
bnZjaGFuICpsaWJ4ZW52Y2hhbl9jbGllbnRfaW5pdChzdHJ1Y3QgeGVudG9vbGxvZ19sb2dn
ZXIgKmxvZ2dlciwNCj4gICAJZnJlZShyZWYpOw0KPiAgIAlpZiAoIXJpbmdfcmVmKQ0KPiAg
IAkJZ290byBmYWlsOw0KPiAtCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgIiVzL2V2ZW50
LWNoYW5uZWwiLCB4c19wYXRoKTsNCj4gKwlzbnByaW50ZihidWYsIFhFTlNUT1JFX0FCU19Q
QVRIX01BWCwgIiVzL2V2ZW50LWNoYW5uZWwiLCB4c19wYXRoKTsNCj4gICAJcmVmID0geHNf
cmVhZCh4cywgMCwgYnVmLCAmbGVuKTsNCj4gICAJaWYgKCFyZWYpDQo+ICAgCQlnb3RvIGZh
aWw7DQo+IEBAIC00NzUsNiArNDkwLDcgQEAgc3RydWN0IGxpYnhlbnZjaGFuICpsaWJ4ZW52
Y2hhbl9jbGllbnRfaW5pdChzdHJ1Y3QgeGVudG9vbGxvZ19sb2dnZXIgKmxvZ2dlciwNCj4g
ICAgb3V0Og0KPiAgIAlpZiAoeHMpDQo+ICAgCQl4c19jbG9zZSh4cyk7DQo+ICsJZnJlZShi
dWYpOw0KPiAgIAlyZXR1cm4gY3RybDsNCj4gICAgZmFpbDoNCj4gICAJbGlieGVudmNoYW5f
Y2xvc2UoY3RybCk7DQoNCkkgdGhpbmsgeW91IGFyZSBsZWFraW5nIGJ1ZiBpbiBjYXNlIG9m
ICJnb3RvIGZhaWwiLg0KDQoNCkp1ZXJnZW4NCg==
--------------0GsZOTEEXerrEqLM5FZHoiIE
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0GsZOTEEXerrEqLM5FZHoiIE--

--------------9cMj7DkBvzekzepH7EJvbQoG--

--------------zPBOVyeWBYfM1tXlBYI0NhKk
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLnleEFAwAAAAAACgkQsN6d1ii/Ey+a
LQf/a4/ephMayyUZJP40pZpkBphgQ1V5UIW+ppxpX5EpXGzJtzhs3t/hj3L5V+Z5e529UA9fCheB
aSejKo8vmsNYIZlK6pMO0zFkCLFcQmt1B2pAmNSmvKe0TW0slyU7i3Vxab46cFTFWROuF6yzKq/m
Bmc1sxqb2e0xtmzEo5CbAdCbCcFzr0IaEfok+4lph5GZBUO5poO6zGOdadXXdMsWALGdvQWj7vue
gbj9r7D7lco+c878TRu6ODfbogkvBAeFmwaSDhNNwgQwcbrxdHV+Ji2sqGfN+g6sTu/YnNg9dZeN
yfoYaqEdKBxstipSRwl6XiXk+oYY0ly6pFjRqllg6g==
=0gSf
-----END PGP SIGNATURE-----

--------------zPBOVyeWBYfM1tXlBYI0NhKk--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 09:07:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 09:07:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378604.611874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIROB-0005gc-H9; Mon, 01 Aug 2022 09:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378604.611874; Mon, 01 Aug 2022 09:07:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIROB-0005gV-DR; Mon, 01 Aug 2022 09:07:03 +0000
Received: by outflank-mailman (input) for mailman id 378604;
 Mon, 01 Aug 2022 09:07:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIROB-0005gP-2I
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 09:07:03 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00054.outbound.protection.outlook.com [40.107.0.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e00245c-1179-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 11:07:01 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM9PR04MB8081.eurprd04.prod.outlook.com (2603:10a6:20b:3e2::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Mon, 1 Aug
 2022 09:07:00 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 09:07:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e00245c-1179-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H+CUIazvkX34zkqW4ginLi3zasXsn4KtefG7cWu/Cjt0fwtasKLjTgZ2JJIgF8EI7gwSyEaC4vM9nMEuvKVGRXoZYdRHNulqb8vRaXT9CowQ1FKDf78S5zFcDz0osnsBu3SgXntVuim8csYVWSsArkIZuRx2XVsFy9HB6s0VrZB6V6KwKqeFT3EwHy5Ly1h+dVGIAR6fIg6Zuj70hk4ZUGfP8oq7hvwW3ni1VC8cxqoxRZHYiBnTcdk6YN1+6LoisJ7kNJl1EDWEt3WJd7S5nKZkC7djbk5ZcqZ32Kz24+r3HMcMppfeGhMyup6JEm8gNWYk+JAS1it4tagzKJIqUw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I7w+BobUZhLOb9LJWRhNH3RkNNVbl6lqgpwIPyYK4jI=;
 b=UXk/5p7nTbiNoDQ2oFYHoWc02jolw8D/fwyXzVpEQos/1PgZjNbT4Fgp3ttk5gGwTpP/4MzONsG7XhNCouk7kZreaxamPu+g4/SefcYYHvbGIKn2Wg/MqbvUDM10w0kyRtqF1HoFQ6cOIQ1CyveAiaRIKfL0020eDz0YwEsZtbUPKlTxLlzZhynKInTQPJyQTgtAQBN3fYOzogCYsG/6dft8AtOVMQCfefwlqgxfE9KUHbXLnOBbtW9uVlIr/QH3IpKdKiw5pp1WigKNBmstRw7HLOEzGL6ImY/apLfeX68PW5qOOXHhD1Svx2gaHU7tBdo/+VOLT65bRwv54zQU/g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I7w+BobUZhLOb9LJWRhNH3RkNNVbl6lqgpwIPyYK4jI=;
 b=eDUecLdh39pRbXORq0fsIJQc3Lgji9sH21GGJUM1kDMfNg+THsKZyaAnZv5bpzbwuOZ7/504bWwQ29+ij6eIx6RemQ9Y434pltXDu6Ru3to4qOswJHTXpJRswLXwlCdnMD+4nkwiZ52DFVdLJcJTFC0OwLJOSjQSpKBcMqXXT7JPi7gmu4deMUKukCkAMbCuRULwAaM+KwXT7+IuHm27zribkYbQqMlqctvSChEc6m8xOrY9nDxUXcXb+BUQg4GK9WLMVIg/E+VL/qF3zdIt6eeZNT105KC2wRUwllDjp8Qd8yZcsYDi7xFwbIoeF4YkJnCxxg4XmJVMHc5zy/3sAw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <230338bf-b709-f2dd-bc8f-80052e98233b@suse.com>
Date: Mon, 1 Aug 2022 11:06:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "committers@xenproject.org" <committers@xenproject.org>
References: <E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org>
 <08606914-f5f4-8415-51a2-f6a5e1c54d20@suse.com>
 <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
 <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
 <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0502CA0009.eurprd05.prod.outlook.com
 (2603:10a6:203:91::19) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 44a5bf9a-34cb-445c-de2c-08da739d3178
X-MS-TrafficTypeDiagnostic: AM9PR04MB8081:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l0li44vVnFpySkpPyTUZl0OwBBymmjO8ZlbRbs6NrAuaWjruyVosipyUZDeP7mfYOJ0vcFsVDPdTm/xLz6LYbX7WqE8q+kZ/AGx3HTuRSTlLNbo2KYJa9YNkGWs30q/uB2R8uh4GIpAJ4lMHomV8AY8cz6ns6ALAwvs50HjUlWKSUWpFh028B6XD7b1FnI1MwrPt5UOsqGRTMspBsomB5mPG74FYoyhFohVGgsrvnZ4NCWA48oqCD/2T8JxJDTenmMH+Ti+uAi7K6OkJBnqr7LgI9vUvSUDPYYyrw8+Uhhc3e8c9u6KTLB2LwAW6AXD0AKH07x7unfaf1qWXtSPHY5dDKuVE5HwM54HnmLA2zX/XYeFNfCV46C7Eb79lkG9IX5FYvgIMwKB6b615QD2pmQ0iLosEH+na0G8QB+elccjvlLaogAv7mlQPmDCwmJY4ezixKGbtwpSJwbmc0fot42xJyLOBbkIHxgc5f5UowfO4x+jaOIgXQQvlDO1MrR2NPVku8dxAxvM/j/g4cRoxnaLPXGOz/RWnNy3KPitwbYm1pLXQB7LPigqtFta5UJAS2U94xD9zlz5swtfrqz5mtF0Wry0bFUULC/wv8t0kPUne7u3djzmXHYBb4+LFqe/VvzK71gsc4BuO4d8iYx0HovTOfh+mjOwyyfzm7g+bgJOZemOlq5+PbDAhd3+QDbomM+5QXWaRKhbKSed6c1EcAmOY7UZmsLd8XmAHfhpxr6u6j895bMW9y3mp/Habv4hnfEm1eT5Fb1WVrSsgtqkXb8TB7kRawxnxTqj7gfmEOBW4MzekH2JIk5NkJn1shLol79yjuOLKGOYfgB2a1znu5GBJeD7i1s21ilBTRK8oPsbXTvAsNHQZ5/gwOjVjzLnjw5demdL25PExnjTy7UDqqQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(39860400002)(346002)(136003)(396003)(6512007)(36756003)(966005)(478600001)(5660300002)(31686004)(2616005)(38100700002)(54906003)(6916009)(53546011)(41300700001)(26005)(6486002)(8676002)(66556008)(66476007)(4326008)(66946007)(8936002)(6506007)(2906002)(31696002)(83380400001)(86362001)(186003)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bTM3VXNlajZhOTRweXB3Ui93OXA4d2pudzUxcXo5THNaZ2tCOUd0Y1VsakdS?=
 =?utf-8?B?Sk1PY2N2eXZBMXU1cDU4UXJoOGxEQWI4QzRpK055eU5zVTdhNUVaczJFT3pD?=
 =?utf-8?B?dlZ3bzY0M0xmNTIvWDV0eExuTFlzb29XQ2JkNnR1RVl2OXpiNklybE1FMFAw?=
 =?utf-8?B?SjJ4ZnlyckQ3a2RUc0xxcFZ3QWhsUC80Qi91SlVLak90UmhqMW9GYkJBUFVn?=
 =?utf-8?B?cUxlTjBSdnQ0OXB1QURyZWFGRzJzVEE4UDBLVEpwNFRKMEZEY0JQZmRrcGh2?=
 =?utf-8?B?N2xkc20wQklQZ2pVUUVURGF3cWRsL21pa1NvSEZQRDRVd3JndmhYdytlV3l1?=
 =?utf-8?B?TFRZVkVla1FmTGh5OFR5OUdWYTFqS3VlbGs4cm1IL3ZTQzZubzE4SnRocm4x?=
 =?utf-8?B?RFhlREd5SHc4bGpqcnFDS0pnV05xNFE4SVJpZE9rcXpmUlMyTkNmUGRlR1dZ?=
 =?utf-8?B?bmY2NnlDeHVrdDlGczhZSmV5UHQrRmVOODNqUmc0NGs4ckNVUXRJRWZwcnNS?=
 =?utf-8?B?dWpZb3RTUDJ1K1JKeEVyVG9YdThVdnBLekpYZVR6WXNTZHNOelNlZzdVMnox?=
 =?utf-8?B?S0dQVWtrdHhydGxhSXFNUjZFRFgrZ3Q5Zks3WDNGcTBoUTB3NHorSUhoanl0?=
 =?utf-8?B?cGs1VGg1cHluZXkrNSt1WG5MZmI0UGNpSUsrZzNNa0xUbEo4QXVML1NETWhS?=
 =?utf-8?B?eHljMkNNaHBoRDlPbGtwY0JhdzRQL0VsUlg2a090WXZ0VXFPcTZDR21MeW5z?=
 =?utf-8?B?OEFhOWkvb0xnK1BrSFpIVlBWcGNWck5uVDdWSnh0ZXA4MDdyQ0ZreU5xVHhs?=
 =?utf-8?B?NGl3NkliYWZNODFNSDdsTlREYTVad2pBbmw4YzgwRjNxMXR6RW5wV0JET3Vy?=
 =?utf-8?B?d3VUNXhSUnRBdGN5SS9sNWMvK0lFeHpoaWN6S2k0eGdpOXBxNWxxYjBWQW1q?=
 =?utf-8?B?bVgzbStSckVucjBVWnVHMzlJZjFXVFdtQVF4Z1lWTlN5cEphdXdVUkZvMU1p?=
 =?utf-8?B?QS9Ed3dzY2lWUmRQR1BiOTAvdStRa2svYlJCWDRUeUxBRzNXZnEyT1VTWnVV?=
 =?utf-8?B?UVcxSHpWMVpNL1pFWGEvMTRjWlZJWnpPeEtJWXZTTG1mZUNsaDhvSktYWW5y?=
 =?utf-8?B?M244dGFTbGgrT3RvMDFmOGMvdENJMlo5RUJDQ0JJTzBxUnlVcEIzT0xJcU9B?=
 =?utf-8?B?WklrWGtROUEwQlY2aWg3WWh6V0I3MFRvNXFqWUw3Nk0ySTRqREFPU1ExU3pl?=
 =?utf-8?B?Z0J5Q2duMDZyV3VyWHRHcGFOR3F3SWRpbmkxNzdVY3hhUWxiSTZ6Q2RBSDF6?=
 =?utf-8?B?VzY5azZxWlJmeVljL3lWRHVNZFJncUFPN1FWTGdnZGc2b1g5dmhXVWsxSjhk?=
 =?utf-8?B?aHVRTHc2UHorUER0MGNzWFZMKyt5TXZoWEkxbFlybm15aHBJc0diTEFmYXdE?=
 =?utf-8?B?emh0TlMxUWN1NkwxVVBqQVpXeVZaVkVEaGUrK1lMY0YzVS9lcit0SjNCZzFz?=
 =?utf-8?B?MkFJVm1qRy8rRjVkR0JUdGZQNjliZnhsVitMRW9WU0RKWlRmUUtSTGxCNTJN?=
 =?utf-8?B?K3VoeXNVY1ZtUWtpejlrYmF3RlVGU3NZdlhEelhUUTVteC8rYmFad3ZFM1h1?=
 =?utf-8?B?Z2pFRDVsejg5YWtwV3RTcUZpTTZuWVB5ekRqdzVDTHhiQm4xdnVEUUFwTHpw?=
 =?utf-8?B?d2FZTDlVbnVuZWh1eEovRUtUOU1SSmMyaUMycnNERVk2eFFacVRUbVBkOStU?=
 =?utf-8?B?bzVXaDVPR0E0RUV1dUx1QUZCQTZLYjlESDNVRUxZdllYb1Q2RzFaRmhObGNL?=
 =?utf-8?B?M0toQUxndHlhNUovOW04YU04alUvdTkzeEE3L0Z2amtOTTI5M25ZV3NiaDZq?=
 =?utf-8?B?RWdSWnBQY0NDWEFJQTJkQ216bC9WTXUrZEk3NG1lTDVFWUZFUzJyZkFycmU3?=
 =?utf-8?B?Wm1RWjc0dys2eGp5dnVnS0hpVnh5OCsrZEptYjBQcUNXVWFtd1g3M1Y0NGVz?=
 =?utf-8?B?bk5xdXNtOGJsT3M4VE9vV2xMMWNKYmFWcWtrenFyMmc4NXVscUxJUjBlSjZw?=
 =?utf-8?B?N2ZST25lSGd4Q0kzZ0hwdEhMcUtPR0RvNUlzVzMrTXVlcGdEbGRvVWJMaS9Y?=
 =?utf-8?Q?BXmRTL7Lbdf0578tMh5owPZAg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 44a5bf9a-34cb-445c-de2c-08da739d3178
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 09:07:00.4504
 (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: 8ORGaDCl1tVgJi2hZaJen5VgME+d9/XbZbCKtxK1nIMCKDtFkrc1SGxswF251Qt1GGrQTlhUqwWyrhzYenUYxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8081

On 01.08.2022 10:43, Julien Grall wrote:
> (+ Committers)
> 
> Hi Jan,
> 
> On 01/08/2022 09:36, Jan Beulich wrote:
>> On 29.07.2022 19:36, Julien Grall wrote:
>>> Hi Jan,
>>>
>>> On 29/07/2022 07:22, Jan Beulich wrote:
>>>> On 29.07.2022 03:04, osstest service owner wrote:
>>>>> branch xen-unstable-smoke
>>>>> xenbranch xen-unstable-smoke
>>>>> job build-amd64-libvirt
>>>>> testid libvirt-build
>>>>>
>>>>> Tree: libvirt git://xenbits.xen.org/libvirt.git
>>>>> Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
>>>>> Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
>>>>> Tree: qemuu git://xenbits.xen.org/qemu-xen.git
>>>>> Tree: xen git://xenbits.xen.org/xen.git
>>>>>
>>>>> *** Found and reproduced problem changeset ***
>>>>>
>>>>>     Bug is in tree:  xen git://xenbits.xen.org/xen.git
>>>>>     Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>>>     Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
>>>>>     Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/171909/
>>>>>
>>>>>
>>>>>     commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>>>     Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>     Date:   Fri Jul 15 22:20:24 2022 +0300
>>>>>     
>>>>>         libxl: Add support for Virtio disk configuration
>>>>
>>>> Just in case you didn't notice it: Something's wrong here. I didn't look
>>>> at the details at all. Please advise whether a fix will soon arrive or
>>>> whether we should revert for the time being.
>>>
>>> We had discussion on IRC about this today. This is an issue in libvirt
>>> rather than Xen. So I think a revert is not warrant here.
>>>
>>> Instead, it was suggested to force push because it is going to take some
>>> times to fix libvirt (see more below).
>>>
>>> Oleksandr already sent a patch to fix libvirt [1]. The problem is even
>>> if this is accepted, our testing branch for libvirt is 2 years behind
>>> because they switched to Meson and Osstest has not been adapted to the
>>> new build system.
>>>
>>> Anthony kindly offered to update Osstest.
>>>
>>> Regarding force pushing, I am waiting for the Osstest result to confirm
>>> that only the libvirt tests are failing in staging (we already have the
>>> results for smoke). So my plan is to force push on Monday.
>>>
>>> Please let me know on Monday morning if you have some concerns with this
>>> approach.
>>
>> Actually I do - if we force push, the libvirt failure will stick, and
>> hence potential further regressions introduced there would not be noticed.
> 
> Well... We haven't had any push in libvirt for the past 2 years. So to 
> me it shows that nobody really care about the testing done. Therefore, I 
> don't see the problem if we don't spot further regressions.

I don't understand, or maybe I did express myself ambiguously: I'm not
talking about libvirt regressions (in their code base), but about changes
in our code regressing libvirt.

> If we don't force push, we have two solutions:
>    1) Revert Oleksandr's series
>    2) Leave it until we have Osstest fixed *and* Oleksandr's patch 
> reached libvirt.
> 
> The former is not an option for me, because Oleksandr's series is not at 
> fault. So this leave us to 2).
> 
> So what's your proposal?

It's still 1), no matter that I agree that Oleksandr's series is not
directly at fault.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 09:11:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 09:11:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378609.611885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRSH-00075z-2E; Mon, 01 Aug 2022 09:11:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378609.611885; Mon, 01 Aug 2022 09:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRSG-00075s-VZ; Mon, 01 Aug 2022 09:11:16 +0000
Received: by outflank-mailman (input) for mailman id 378609;
 Mon, 01 Aug 2022 09:11:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VFMp=YF=gmail.com=dmitry.semenets@srs-se1.protection.inumbo.net>)
 id 1oIRSG-00075m-9h
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 09:11:16 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e527c57d-1179-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 11:11:15 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id y13so5169933ejp.13
 for <xen-devel@lists.xenproject.org>; Mon, 01 Aug 2022 02:11:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e527c57d-1179-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=TRNIMYENFbytbGAGgkruDsZRk7dxz/bAkAVtNBfMW7k=;
        b=jrlcbodL2Y+nMqKX2xWrcKu49a0vVJFNYrFY+8MCEAwpAK2Ow1e4cK/88W37+r3hLk
         LzcWoAzPWsAX0aiftQtnn+1QPikz5AgZGTjABIB6zuxcJzlCwhtajZ0oSOd9eieS+j6H
         0Ey4fryE+c+jn125WClqKRn7xojSYfdNR/JxoljDK2xz2wpT5TrlFJ5VcLSajTnWIo1L
         jQ11jF1zrPmIOV9HQ+Pn7FGq2qVqQwKvLlAFeKU/4hyqLbh6o8bLdG4nnoJOvw5/r1v8
         +x4vUIFZxbggQKyfNuWJ4K7B080ZdSobX4+0qYu/Oe82S3u4EJFlTFpOcZPpy2P3pnCI
         k6zQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=TRNIMYENFbytbGAGgkruDsZRk7dxz/bAkAVtNBfMW7k=;
        b=xZWPyjwd2b6NDE2zEK07lSPXoQtoMvELHs6P3HDFGl/C9KNIhvmRBNtd4GUSnra0I9
         QkZvqex+1wBUG1ugV84jr8XyH1vf4zDBJu/QTXcG3pYdPIJzRahzlYyn6sLeprKGptsj
         QplMsteLRB4pSRBUx4Ylm5Q32Tjq4x3aVtWqYO4D0hdmo9JFf9aOV0q/2PfU7tYpve++
         nmYBwWG0tY9im542zshBw4qYmSjpVLoMNJpX3EEYVPKpxkid9nGsWsjKRyC0b9wE4jBB
         EeqBZPo8S8aCnM9MnE+kIzMhWb3fGp63TXVv6PbvqiKDfr5tSfDFhr7BRbCqPT+3lRo+
         idSQ==
X-Gm-Message-State: ACgBeo2NPMjtQPiBppecMt4eiMTCu/nuGEw9n6EgNE0TR5YemuN+SKBE
	KQpj3mmivO7OyThg2ebvXgKBxobHOT5sJP+mu9g=
X-Google-Smtp-Source: AA6agR4FWql8dmGfC3TiNEjKLG3dQVO6XOG/1H7rUAYLAubnacImDjt6ubK0B4NltG35Uu0Nv/0zASL7UgcPKYCFc2Q=
X-Received: by 2002:a17:907:288a:b0:730:996d:c605 with SMTP id
 em10-20020a170907288a00b00730996dc605mr18472ejc.682.1659345074612; Mon, 01
 Aug 2022 02:11:14 -0700 (PDT)
MIME-Version: 1.0
References: <20220713150311.4152528-1-dmitry.semenets@gmail.com>
 <20220713150311.4152528-2-dmitry.semenets@gmail.com> <124efe96-ed51-6312-75a8-1248724b619e@suse.com>
In-Reply-To: <124efe96-ed51-6312-75a8-1248724b619e@suse.com>
From: Dmytro Semenets <dmitry.semenets@gmail.com>
Date: Mon, 1 Aug 2022 12:11:03 +0300
Message-ID: <CACM97VVkUQE7rW2BD+cDkPAc2=RivWj2XrXXNUBJt5zXEqMtAg@mail.gmail.com>
Subject: Re: [PATCH v2 2/4] tools: allow vchan XenStore paths more then 64
 bytes long
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, 
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Dmytro Semenets <dmytro_semenets@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

=D0=BF=D0=BD, 1 =D0=B0=D0=B2=D0=B3. 2022 =D0=B3. =D0=B2 11:59, Juergen Gros=
s <jgross@suse.com>:
>
> On 13.07.22 17:03, dmitry.semenets@gmail.com wrote:
> > From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> >
> > Current vchan implementation, while dealing with XenStore paths,
> > allocates 64 bytes buffer on the stack which may not be enough for
> > some use-cases. Make the buffer longer to respect maximum allowed
> > XenStore path of XENSTORE_ABS_PATH_MAX.
> >
> > Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.co=
m>
> > Signed-off-by: Dmytro Semenets <dmytro_semenets@epam.com>
> > ---
> >   tools/libs/vchan/init.c | 28 ++++++++++++++++++++++------
> >   1 file changed, 22 insertions(+), 6 deletions(-)
> >
> > diff --git a/tools/libs/vchan/init.c b/tools/libs/vchan/init.c
> > index 9195bd3b98..38658f30af 100644
> > --- a/tools/libs/vchan/init.c
> > +++ b/tools/libs/vchan/init.c
> > @@ -249,7 +249,7 @@ static int init_xs_srv(struct libxenvchan *ctrl, in=
t domain, const char* xs_base
> >       int ret =3D -1;
> >       struct xs_handle *xs;
> >       struct xs_permissions perms[2];
> > -     char buf[64];
> > +     char *buf;
> >       char ref[16];
> >       char* domid_str =3D NULL;
> >       xs_transaction_t xs_trans =3D XBT_NULL;
> > @@ -259,6 +259,12 @@ static int init_xs_srv(struct libxenvchan *ctrl, i=
nt domain, const char* xs_base
> >       if (!ctrl->xs_path)
> >               return -1;
> >
> > +     buf =3D malloc(XENSTORE_ABS_PATH_MAX);
> > +     if (!buf) {
> > +             free(ctrl);
> > +             return 0;
> > +     }
> > +
> >       xs =3D xs_open(0);
> >       if (!xs)
> >               goto fail;
> > @@ -280,14 +286,14 @@ retry_transaction:
> >               goto fail_xs_open;
> >
> >       snprintf(ref, sizeof ref, "%d", ring_ref);
> > -     snprintf(buf, sizeof buf, "%s/ring-ref", xs_base);
> > +     snprintf(buf, XENSTORE_ABS_PATH_MAX, "%s/ring-ref", xs_base);
> >       if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
> >               goto fail_xs_open;
> >       if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
> >               goto fail_xs_open;
> >
> >       snprintf(ref, sizeof ref, "%d", ctrl->event_port);
> > -     snprintf(buf, sizeof buf, "%s/event-channel", xs_base);
> > +     snprintf(buf, XENSTORE_ABS_PATH_MAX, "%s/event-channel", xs_base)=
;
> >       if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
> >               goto fail_xs_open;
> >       if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
> > @@ -303,6 +309,7 @@ retry_transaction:
> >       free(domid_str);
> >       xs_close(xs);
> >    fail:
> > +     free(buf);
> >       return ret;
> >   }
> >
> > @@ -419,13 +426,20 @@ struct libxenvchan *libxenvchan_client_init(struc=
t xentoollog_logger *logger,
> >   {
> >       struct libxenvchan *ctrl =3D malloc(sizeof(struct libxenvchan));
> >       struct xs_handle *xs =3D NULL;
> > -     char buf[64];
> > +     char *buf;
> >       char *ref;
> >       int ring_ref;
> >       unsigned int len;
> >
> >       if (!ctrl)
> >               return 0;
> > +
> > +     buf =3D malloc(XENSTORE_ABS_PATH_MAX);
> > +     if (!buf) {
> > +             free(ctrl);
> > +             return 0;
> > +     }
> > +
> >       ctrl->ring =3D NULL;
> >       ctrl->event =3D NULL;
> >       ctrl->gnttab =3D NULL;
> > @@ -436,8 +450,9 @@ struct libxenvchan *libxenvchan_client_init(struct =
xentoollog_logger *logger,
> >       if (!xs)
> >               goto fail;
> >
> > +
> >   // find xenstore entry
> > -     snprintf(buf, sizeof buf, "%s/ring-ref", xs_path);
> > +     snprintf(buf, XENSTORE_ABS_PATH_MAX, "%s/ring-ref", xs_path);
> >       ref =3D xs_read(xs, 0, buf, &len);
> >       if (!ref)
> >               goto fail;
> > @@ -445,7 +460,7 @@ struct libxenvchan *libxenvchan_client_init(struct =
xentoollog_logger *logger,
> >       free(ref);
> >       if (!ring_ref)
> >               goto fail;
> > -     snprintf(buf, sizeof buf, "%s/event-channel", xs_path);
> > +     snprintf(buf, XENSTORE_ABS_PATH_MAX, "%s/event-channel", xs_path)=
;
> >       ref =3D xs_read(xs, 0, buf, &len);
> >       if (!ref)
> >               goto fail;
> > @@ -475,6 +490,7 @@ struct libxenvchan *libxenvchan_client_init(struct =
xentoollog_logger *logger,
> >    out:
> >       if (xs)
> >               xs_close(xs);
> > +     free(buf);
> >       return ctrl;
> >    fail:
> >       libxenvchan_close(ctrl);
>
> I think you are leaking buf in case of "goto fail".
No. File with patch doesn't have follows lines:
    ctrl =3D NULL;
    goto out;
}
>
>
> Juergen


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 09:18:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 09:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378615.611896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRYl-0007vA-Sn; Mon, 01 Aug 2022 09:17:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378615.611896; Mon, 01 Aug 2022 09:17:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRYl-0007v3-Pn; Mon, 01 Aug 2022 09:17:59 +0000
Received: by outflank-mailman (input) for mailman id 378615;
 Mon, 01 Aug 2022 09:17:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+DYs=YF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oIRYk-0007uw-2x
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 09:17:58 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d46d4bea-117a-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 11:17:56 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 77D6733870;
 Mon,  1 Aug 2022 09:17:56 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 427B513A72;
 Mon,  1 Aug 2022 09:17:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mHrODkSa52K2RAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 01 Aug 2022 09:17:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d46d4bea-117a-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659345476; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=PxsDc5m20e5Eci47Dxy8fK2iaZniJKvQH6LB2YF1EWI=;
	b=ouMb/1n+bdAG6raHuwP5UhQVumEvIPWpSYjei03GWh/zuGHmcxJ+qnm11mjzsdZL6DL9+j
	hF9aPCMWJ7bdbHotPcGnT/Wc/s2kyNqes5Kx4NetFVMGgIiq62iwE8smTDsVp05kiDkWO6
	Zb41OKhX2DiNUKZZDe/v3WNlH9b7yhI=
Message-ID: <c4e52add-d877-02df-abd3-52b7b98d7df0@suse.com>
Date: Mon, 1 Aug 2022 11:17:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 2/4] tools: allow vchan XenStore paths more then 64
 bytes long
Content-Language: en-US
To: Dmytro Semenets <dmitry.semenets@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Dmytro Semenets <dmytro_semenets@epam.com>
References: <20220713150311.4152528-1-dmitry.semenets@gmail.com>
 <20220713150311.4152528-2-dmitry.semenets@gmail.com>
 <124efe96-ed51-6312-75a8-1248724b619e@suse.com>
 <CACM97VVkUQE7rW2BD+cDkPAc2=RivWj2XrXXNUBJt5zXEqMtAg@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <CACM97VVkUQE7rW2BD+cDkPAc2=RivWj2XrXXNUBJt5zXEqMtAg@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------2eISXCCW8aR0xJafqa0ie0Mt"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------2eISXCCW8aR0xJafqa0ie0Mt
Content-Type: multipart/mixed; boundary="------------I8282SLi00U1vrM0W8o4438c";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Dmytro Semenets <dmitry.semenets@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Dmytro Semenets <dmytro_semenets@epam.com>
Message-ID: <c4e52add-d877-02df-abd3-52b7b98d7df0@suse.com>
Subject: Re: [PATCH v2 2/4] tools: allow vchan XenStore paths more then 64
 bytes long
References: <20220713150311.4152528-1-dmitry.semenets@gmail.com>
 <20220713150311.4152528-2-dmitry.semenets@gmail.com>
 <124efe96-ed51-6312-75a8-1248724b619e@suse.com>
 <CACM97VVkUQE7rW2BD+cDkPAc2=RivWj2XrXXNUBJt5zXEqMtAg@mail.gmail.com>
In-Reply-To: <CACM97VVkUQE7rW2BD+cDkPAc2=RivWj2XrXXNUBJt5zXEqMtAg@mail.gmail.com>

--------------I8282SLi00U1vrM0W8o4438c
Content-Type: multipart/mixed; boundary="------------i09rm9VRC3tE7gCHKpcoM9qw"

--------------i09rm9VRC3tE7gCHKpcoM9qw
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMDguMjIgMTE6MTEsIERteXRybyBTZW1lbmV0cyB3cm90ZToNCj4g0L/QvSwgMSDQ
sNCy0LMuIDIwMjIg0LMuINCyIDExOjU5LCBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5j
b20+Og0KPj4NCj4+IE9uIDEzLjA3LjIyIDE3OjAzLCBkbWl0cnkuc2VtZW5ldHNAZ21haWwu
Y29tIHdyb3RlOg0KPj4+IEZyb206IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2Fu
ZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4NCj4+Pg0KPj4+IEN1cnJlbnQgdmNoYW4gaW1w
bGVtZW50YXRpb24sIHdoaWxlIGRlYWxpbmcgd2l0aCBYZW5TdG9yZSBwYXRocywNCj4+PiBh
bGxvY2F0ZXMgNjQgYnl0ZXMgYnVmZmVyIG9uIHRoZSBzdGFjayB3aGljaCBtYXkgbm90IGJl
IGVub3VnaCBmb3INCj4+PiBzb21lIHVzZS1jYXNlcy4gTWFrZSB0aGUgYnVmZmVyIGxvbmdl
ciB0byByZXNwZWN0IG1heGltdW0gYWxsb3dlZA0KPj4+IFhlblN0b3JlIHBhdGggb2YgWEVO
U1RPUkVfQUJTX1BBVEhfTUFYLg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogT2xla3NhbmRy
IEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPg0KPj4+
IFNpZ25lZC1vZmYtYnk6IERteXRybyBTZW1lbmV0cyA8ZG15dHJvX3NlbWVuZXRzQGVwYW0u
Y29tPg0KPj4+IC0tLQ0KPj4+ICAgIHRvb2xzL2xpYnMvdmNoYW4vaW5pdC5jIHwgMjggKysr
KysrKysrKysrKysrKysrKysrKy0tLS0tLQ0KPj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCAyMiBp
bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL3Rv
b2xzL2xpYnMvdmNoYW4vaW5pdC5jIGIvdG9vbHMvbGlicy92Y2hhbi9pbml0LmMNCj4+PiBp
bmRleCA5MTk1YmQzYjk4Li4zODY1OGYzMGFmIDEwMDY0NA0KPj4+IC0tLSBhL3Rvb2xzL2xp
YnMvdmNoYW4vaW5pdC5jDQo+Pj4gKysrIGIvdG9vbHMvbGlicy92Y2hhbi9pbml0LmMNCj4+
PiBAQCAtMjQ5LDcgKzI0OSw3IEBAIHN0YXRpYyBpbnQgaW5pdF94c19zcnYoc3RydWN0IGxp
YnhlbnZjaGFuICpjdHJsLCBpbnQgZG9tYWluLCBjb25zdCBjaGFyKiB4c19iYXNlDQo+Pj4g
ICAgICAgIGludCByZXQgPSAtMTsNCj4+PiAgICAgICAgc3RydWN0IHhzX2hhbmRsZSAqeHM7
DQo+Pj4gICAgICAgIHN0cnVjdCB4c19wZXJtaXNzaW9ucyBwZXJtc1syXTsNCj4+PiAtICAg
ICBjaGFyIGJ1Zls2NF07DQo+Pj4gKyAgICAgY2hhciAqYnVmOw0KPj4+ICAgICAgICBjaGFy
IHJlZlsxNl07DQo+Pj4gICAgICAgIGNoYXIqIGRvbWlkX3N0ciA9IE5VTEw7DQo+Pj4gICAg
ICAgIHhzX3RyYW5zYWN0aW9uX3QgeHNfdHJhbnMgPSBYQlRfTlVMTDsNCj4+PiBAQCAtMjU5
LDYgKzI1OSwxMiBAQCBzdGF0aWMgaW50IGluaXRfeHNfc3J2KHN0cnVjdCBsaWJ4ZW52Y2hh
biAqY3RybCwgaW50IGRvbWFpbiwgY29uc3QgY2hhciogeHNfYmFzZQ0KPj4+ICAgICAgICBp
ZiAoIWN0cmwtPnhzX3BhdGgpDQo+Pj4gICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPj4+
DQo+Pj4gKyAgICAgYnVmID0gbWFsbG9jKFhFTlNUT1JFX0FCU19QQVRIX01BWCk7DQo+Pj4g
KyAgICAgaWYgKCFidWYpIHsNCj4+PiArICAgICAgICAgICAgIGZyZWUoY3RybCk7DQo+Pj4g
KyAgICAgICAgICAgICByZXR1cm4gMDsNCj4+PiArICAgICB9DQo+Pj4gKw0KPj4+ICAgICAg
ICB4cyA9IHhzX29wZW4oMCk7DQo+Pj4gICAgICAgIGlmICgheHMpDQo+Pj4gICAgICAgICAg
ICAgICAgZ290byBmYWlsOw0KPj4+IEBAIC0yODAsMTQgKzI4NiwxNCBAQCByZXRyeV90cmFu
c2FjdGlvbjoNCj4+PiAgICAgICAgICAgICAgICBnb3RvIGZhaWxfeHNfb3BlbjsNCj4+Pg0K
Pj4+ICAgICAgICBzbnByaW50ZihyZWYsIHNpemVvZiByZWYsICIlZCIsIHJpbmdfcmVmKTsN
Cj4+PiAtICAgICBzbnByaW50ZihidWYsIHNpemVvZiBidWYsICIlcy9yaW5nLXJlZiIsIHhz
X2Jhc2UpOw0KPj4+ICsgICAgIHNucHJpbnRmKGJ1ZiwgWEVOU1RPUkVfQUJTX1BBVEhfTUFY
LCAiJXMvcmluZy1yZWYiLCB4c19iYXNlKTsNCj4+PiAgICAgICAgaWYgKCF4c193cml0ZSh4
cywgeHNfdHJhbnMsIGJ1ZiwgcmVmLCBzdHJsZW4ocmVmKSkpDQo+Pj4gICAgICAgICAgICAg
ICAgZ290byBmYWlsX3hzX29wZW47DQo+Pj4gICAgICAgIGlmICgheHNfc2V0X3Blcm1pc3Np
b25zKHhzLCB4c190cmFucywgYnVmLCBwZXJtcywgMikpDQo+Pj4gICAgICAgICAgICAgICAg
Z290byBmYWlsX3hzX29wZW47DQo+Pj4NCj4+PiAgICAgICAgc25wcmludGYocmVmLCBzaXpl
b2YgcmVmLCAiJWQiLCBjdHJsLT5ldmVudF9wb3J0KTsNCj4+PiAtICAgICBzbnByaW50Zihi
dWYsIHNpemVvZiBidWYsICIlcy9ldmVudC1jaGFubmVsIiwgeHNfYmFzZSk7DQo+Pj4gKyAg
ICAgc25wcmludGYoYnVmLCBYRU5TVE9SRV9BQlNfUEFUSF9NQVgsICIlcy9ldmVudC1jaGFu
bmVsIiwgeHNfYmFzZSk7DQo+Pj4gICAgICAgIGlmICgheHNfd3JpdGUoeHMsIHhzX3RyYW5z
LCBidWYsIHJlZiwgc3RybGVuKHJlZikpKQ0KPj4+ICAgICAgICAgICAgICAgIGdvdG8gZmFp
bF94c19vcGVuOw0KPj4+ICAgICAgICBpZiAoIXhzX3NldF9wZXJtaXNzaW9ucyh4cywgeHNf
dHJhbnMsIGJ1ZiwgcGVybXMsIDIpKQ0KPj4+IEBAIC0zMDMsNiArMzA5LDcgQEAgcmV0cnlf
dHJhbnNhY3Rpb246DQo+Pj4gICAgICAgIGZyZWUoZG9taWRfc3RyKTsNCj4+PiAgICAgICAg
eHNfY2xvc2UoeHMpOw0KPj4+ICAgICBmYWlsOg0KPj4+ICsgICAgIGZyZWUoYnVmKTsNCj4+
PiAgICAgICAgcmV0dXJuIHJldDsNCj4+PiAgICB9DQo+Pj4NCj4+PiBAQCAtNDE5LDEzICs0
MjYsMjAgQEAgc3RydWN0IGxpYnhlbnZjaGFuICpsaWJ4ZW52Y2hhbl9jbGllbnRfaW5pdChz
dHJ1Y3QgeGVudG9vbGxvZ19sb2dnZXIgKmxvZ2dlciwNCj4+PiAgICB7DQo+Pj4gICAgICAg
IHN0cnVjdCBsaWJ4ZW52Y2hhbiAqY3RybCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGxpYnhl
bnZjaGFuKSk7DQo+Pj4gICAgICAgIHN0cnVjdCB4c19oYW5kbGUgKnhzID0gTlVMTDsNCj4+
PiAtICAgICBjaGFyIGJ1Zls2NF07DQo+Pj4gKyAgICAgY2hhciAqYnVmOw0KPj4+ICAgICAg
ICBjaGFyICpyZWY7DQo+Pj4gICAgICAgIGludCByaW5nX3JlZjsNCj4+PiAgICAgICAgdW5z
aWduZWQgaW50IGxlbjsNCj4+Pg0KPj4+ICAgICAgICBpZiAoIWN0cmwpDQo+Pj4gICAgICAg
ICAgICAgICAgcmV0dXJuIDA7DQo+Pj4gKw0KPj4+ICsgICAgIGJ1ZiA9IG1hbGxvYyhYRU5T
VE9SRV9BQlNfUEFUSF9NQVgpOw0KPj4+ICsgICAgIGlmICghYnVmKSB7DQo+Pj4gKyAgICAg
ICAgICAgICBmcmVlKGN0cmwpOw0KPj4+ICsgICAgICAgICAgICAgcmV0dXJuIDA7DQo+Pj4g
KyAgICAgfQ0KPj4+ICsNCj4+PiAgICAgICAgY3RybC0+cmluZyA9IE5VTEw7DQo+Pj4gICAg
ICAgIGN0cmwtPmV2ZW50ID0gTlVMTDsNCj4+PiAgICAgICAgY3RybC0+Z250dGFiID0gTlVM
TDsNCj4+PiBAQCAtNDM2LDggKzQ1MCw5IEBAIHN0cnVjdCBsaWJ4ZW52Y2hhbiAqbGlieGVu
dmNoYW5fY2xpZW50X2luaXQoc3RydWN0IHhlbnRvb2xsb2dfbG9nZ2VyICpsb2dnZXIsDQo+
Pj4gICAgICAgIGlmICgheHMpDQo+Pj4gICAgICAgICAgICAgICAgZ290byBmYWlsOw0KPj4+
DQo+Pj4gKw0KPj4+ICAgIC8vIGZpbmQgeGVuc3RvcmUgZW50cnkNCj4+PiAtICAgICBzbnBy
aW50ZihidWYsIHNpemVvZiBidWYsICIlcy9yaW5nLXJlZiIsIHhzX3BhdGgpOw0KPj4+ICsg
ICAgIHNucHJpbnRmKGJ1ZiwgWEVOU1RPUkVfQUJTX1BBVEhfTUFYLCAiJXMvcmluZy1yZWYi
LCB4c19wYXRoKTsNCj4+PiAgICAgICAgcmVmID0geHNfcmVhZCh4cywgMCwgYnVmLCAmbGVu
KTsNCj4+PiAgICAgICAgaWYgKCFyZWYpDQo+Pj4gICAgICAgICAgICAgICAgZ290byBmYWls
Ow0KPj4+IEBAIC00NDUsNyArNDYwLDcgQEAgc3RydWN0IGxpYnhlbnZjaGFuICpsaWJ4ZW52
Y2hhbl9jbGllbnRfaW5pdChzdHJ1Y3QgeGVudG9vbGxvZ19sb2dnZXIgKmxvZ2dlciwNCj4+
PiAgICAgICAgZnJlZShyZWYpOw0KPj4+ICAgICAgICBpZiAoIXJpbmdfcmVmKQ0KPj4+ICAg
ICAgICAgICAgICAgIGdvdG8gZmFpbDsNCj4+PiAtICAgICBzbnByaW50ZihidWYsIHNpemVv
ZiBidWYsICIlcy9ldmVudC1jaGFubmVsIiwgeHNfcGF0aCk7DQo+Pj4gKyAgICAgc25wcmlu
dGYoYnVmLCBYRU5TVE9SRV9BQlNfUEFUSF9NQVgsICIlcy9ldmVudC1jaGFubmVsIiwgeHNf
cGF0aCk7DQo+Pj4gICAgICAgIHJlZiA9IHhzX3JlYWQoeHMsIDAsIGJ1ZiwgJmxlbik7DQo+
Pj4gICAgICAgIGlmICghcmVmKQ0KPj4+ICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsNCj4+
PiBAQCAtNDc1LDYgKzQ5MCw3IEBAIHN0cnVjdCBsaWJ4ZW52Y2hhbiAqbGlieGVudmNoYW5f
Y2xpZW50X2luaXQoc3RydWN0IHhlbnRvb2xsb2dfbG9nZ2VyICpsb2dnZXIsDQo+Pj4gICAg
IG91dDoNCj4+PiAgICAgICAgaWYgKHhzKQ0KPj4+ICAgICAgICAgICAgICAgIHhzX2Nsb3Nl
KHhzKTsNCj4+PiArICAgICBmcmVlKGJ1Zik7DQo+Pj4gICAgICAgIHJldHVybiBjdHJsOw0K
Pj4+ICAgICBmYWlsOg0KPj4+ICAgICAgICBsaWJ4ZW52Y2hhbl9jbG9zZShjdHJsKTsNCj4+
DQo+PiBJIHRoaW5rIHlvdSBhcmUgbGVha2luZyBidWYgaW4gY2FzZSBvZiAiZ290byBmYWls
Ii4NCj4gTm8uIEZpbGUgd2l0aCBwYXRjaCBkb2Vzbid0IGhhdmUgZm9sbG93cyBsaW5lczoN
Cj4gICAgICBjdHJsID0gTlVMTDsNCj4gICAgICBnb3RvIG91dDsNCj4gfQ0KDQpPaCwgd2hh
dCBhIG5hc3R5IGNvbnRyb2wgZmxvdyENCg0KWW91IGFyZSByaWdodCwgc29ycnkgZm9yIHRo
ZSBub2lzZS4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNv
bT4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------i09rm9VRC3tE7gCHKpcoM9qw
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------i09rm9VRC3tE7gCHKpcoM9qw--

--------------I8282SLi00U1vrM0W8o4438c--

--------------2eISXCCW8aR0xJafqa0ie0Mt
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLnmkMFAwAAAAAACgkQsN6d1ii/Ey/L
PAf/bJsSqJsBknvqGY1avz5eZxd/AuHgD9Z71wpEw4U+923aXBAuwBAIUMJQ6gfc9hraiRcHsTSM
lUdot80pfzNiAnm8ZWCqCmMtHCxR08YEcVWVyRKeaJ5yBCvKSU4TixJSuGn8hvdOXW1TK4V8/ZWm
m4tEmMSfQkDHnBnUMvqgUYlOemOGOzo8qHpRkLEBtD+JjPpo3WpBvgnLBXDLJX+GQpQvvnMUbwHG
dwPZu/FstXtzIbbEUqZUzkki7POLs4j/QqCC35XMltTGHf0/MGqimy4p/tsQzax6rAZC9VzHlXa7
ERLNJfEbwVV/qngPS859ckyteqPqGxcvjm/AEJonUA==
=n8Zu
-----END PGP SIGNATURE-----

--------------2eISXCCW8aR0xJafqa0ie0Mt--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 09:36:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 09:36:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378621.611907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRqW-0001x2-CD; Mon, 01 Aug 2022 09:36:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378621.611907; Mon, 01 Aug 2022 09:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRqW-0001wv-97; Mon, 01 Aug 2022 09:36:20 +0000
Received: by outflank-mailman (input) for mailman id 378621;
 Mon, 01 Aug 2022 09:36:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+uOD=YF=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1oIRqU-0001wp-9M
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 09:36:18 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63b69c2b-117d-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 11:36:17 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-261-RVpR-IIdOt-v2lRj7-Wl8g-1; Mon, 01 Aug 2022 05:36:12 -0400
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 22200185A794;
 Mon,  1 Aug 2022 09:36:12 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.173])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 07BA4140EBE3;
 Mon,  1 Aug 2022 09:36:10 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63b69c2b-117d-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1659346575;
	h=from:from:reply-to: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=fT1/66XxC5JMrsVsNAbAxmVxnCB+UfRqO9wwOaAvlmw=;
	b=h2bzkkCBnRTcN3J18M9YD2MF74HYrT9v9nlVTqlGDKtKO82E6ItZmHAlrUyJf4ULI0h7E8
	IRov/w9bIK00sXQYHmo+enHzdvWS7zPNOfqksk/I7rS+w6GNP8oxDIDaJ+YhiUPpFmkQSa
	uUlASl1HNJV8uFfdgFKmuS/bdcJnX30=
X-MC-Unique: RVpR-IIdOt-v2lRj7-Wl8g-1
Date: Mon, 1 Aug 2022 10:36:07 +0100
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Julien Grall <julien@xen.org>
Cc: Michal =?utf-8?B?UHLDrXZvem7DrWs=?= <mprivozn@redhat.com>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xenproject.org, libvir-list@redhat.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
Message-ID: <Yueeh9w1EiY2sNEK@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
 <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
MIME-Version: 1.0
In-Reply-To: <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
User-Agent: Mutt/2.2.6 (2022-06-05)
X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=berrange@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Mon, Aug 01, 2022 at 09:51:11AM +0100, Julien Grall wrote:
> Hi Michal,
> 
> On 01/08/2022 09:23, Michal PrÃ­voznÃ­k wrote:
> > On 7/29/22 17:50, Oleksandr Tyshchenko wrote:
> > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > > 
> > > Xen toolstack has gained basic Virtio support recently which becides
> > > adding various virtio related stuff introduces new disk backend type
> > > LIBXL_DISK_BACKEND_STANDALONE [1].
> > > 
> > > Unfortunately, this caused a regression in libvirt build with Xen support
> > > enabled, reported by the osstest today [2]:
> > > 
> > > CC       libxl/libvirt_driver_libxl_impl_la-xen_xl.lo
> > > ../../src/libxl/xen_xl.c: In function 'xenParseXLDisk':
> > > ../../src/libxl/xen_xl.c:779:17: error: enumeration value 'LIBXL_DISK_BACKEND_STANDALONE'
> > >     not handled in switch [-Werror=switch-enum]
> > >                   switch (libxldisk->backend) {
> > >                   ^~~~~~
> > > cc1: all warnings being treated as errors
> > > 
> > > The interesting fact is that switch already has a default branch (which ought
> > > to cover such new addition), but the error is triggered as -Wswitch-enum
> > > gives a warning about an omitted enumeration code even if there is a default
> > > label.
> > 
> > This is expected and in fact working correctly. We want compiler to warn
> > us about enum members that are not handled in a switch() statement.
> 
> For us this is treated as an error. Is it intended?

Yes & no, but mostly yes.

You can choose to build with -Werror or not. If building from .git
then it defaults to enabled, but can be disabled if desired.

Generally we want to see errors triggered from new enums arriving,
as it can be a sign that libvirt code needs a semantic change in
order to continue operating correctly.  It isn't always correct
to assume that the 'default' case gives the correct behaviour.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 09:37:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 09:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378628.611917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRrH-0002bt-LA; Mon, 01 Aug 2022 09:37:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378628.611917; Mon, 01 Aug 2022 09:37:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRrH-0002bm-IA; Mon, 01 Aug 2022 09:37:07 +0000
Received: by outflank-mailman (input) for mailman id 378628;
 Mon, 01 Aug 2022 09:37:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIRrG-0002bW-8a; Mon, 01 Aug 2022 09:37:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIRrG-00079P-6e; Mon, 01 Aug 2022 09:37:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIRrF-0005LA-SM; Mon, 01 Aug 2022 09:37:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIRrF-0001gR-Rs; Mon, 01 Aug 2022 09:37:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=u1whQxdDo2S99px18HPnofOvA0+6RbNVEAde7XmxME8=; b=o/8phKG+NW5Xbebe05jSgw1+lb
	1MbUN44TqMMU+bc6notNn000bPZSosf2lhDw+f7Ks4EVo79GQEqRBt3Hpp/PzdASpwY6ata/8QSS1
	l8JPYxmrDQ3XpwL1jTX+hFVF8304ptJ9BpHe666DHWkkKdHxoyBIEnv5w8B3YcKOkR7k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172061-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172061: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9dc3f006a831cd20d531123f097e3de176ac3cae
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 09:37:05 +0000

flight 172061 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172061/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9dc3f006a831cd20d531123f097e3de176ac3cae
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    4 days
Failing since        171899  2022-07-28 19:01:47 Z    3 days   24 attempts
Testing same since   171934  2022-07-30 02:00:28 Z    2 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 451 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 09:38:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 09:38:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378635.611929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRt0-0003DW-00; Mon, 01 Aug 2022 09:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378635.611929; Mon, 01 Aug 2022 09:38:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRsz-0003DP-TV; Mon, 01 Aug 2022 09:38:53 +0000
Received: by outflank-mailman (input) for mailman id 378635;
 Mon, 01 Aug 2022 09:38:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oIRsy-0003DE-4e
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 09:38:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIRss-0007CV-Dx; Mon, 01 Aug 2022 09:38:46 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=[10.0.0.187])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIRss-0002tO-7t; Mon, 01 Aug 2022 09:38:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qOlPD6f9eDKHdEA9sWvBfhAyfbriKuSdKhUJ16Rvd78=; b=z2Z1UttMa7D7lVEFRl0g2bnKiO
	VocAnM9tNH7Li6y2//kTnoPFsvexPpB6GaWp3H49lD9kBONWkEVL4IRgN2/xYPTpa9n/YHLotWXlo
	D5u30BOH0P9jOzRFDUKAx8xtiW6PCWQOjQbES8KqCh2Hz3JHTLn5mRrYIFt/P64ET4Z0=;
Message-ID: <b9b3a07d-a24d-deac-c812-7393554407e4@xen.org>
Date: Mon, 1 Aug 2022 10:38:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "committers@xenproject.org" <committers@xenproject.org>,
 Henry Wang <Henry.Wang@arm.com>
References: <E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org>
 <08606914-f5f4-8415-51a2-f6a5e1c54d20@suse.com>
 <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
 <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
 <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
 <230338bf-b709-f2dd-bc8f-80052e98233b@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <230338bf-b709-f2dd-bc8f-80052e98233b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 01/08/2022 10:06, Jan Beulich wrote:
> On 01.08.2022 10:43, Julien Grall wrote:
>> If we don't force push, we have two solutions:
>>     1) Revert Oleksandr's series
>>     2) Leave it until we have Osstest fixed *and* Oleksandr's patch
>> reached libvirt.
>>
>> The former is not an option for me, because Oleksandr's series is not at
>> fault. So this leave us to 2).
>>
>> So what's your proposal?
> 
> It's still 1), no matter that I agree that Oleksandr's series is not
> directly at fault.

My worry is while we have a plan to address the libvirt issues, I am not 
confident this could be addressed by Xen 4.17. In particular, Osstest 
has to be fixed and we need a push.

I think this is a bit unfair to block the virtio series on the recent 
lack of investment in libvirt testing.

So if we end up to revert it, this will need to be a block for Xen 4.17.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 09:43:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 09:43:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378641.611940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRxI-0004iI-LR; Mon, 01 Aug 2022 09:43:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378641.611940; Mon, 01 Aug 2022 09:43:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIRxI-0004iB-Im; Mon, 01 Aug 2022 09:43:20 +0000
Received: by outflank-mailman (input) for mailman id 378641;
 Mon, 01 Aug 2022 09:43:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIRxG-0004i4-VB
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 09:43:19 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80055.outbound.protection.outlook.com [40.107.8.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e99bfce-117e-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 11:43:17 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by HE1PR04MB3049.eurprd04.prod.outlook.com (2603:10a6:7:18::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Mon, 1 Aug
 2022 09:43:14 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 09:43:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e99bfce-117e-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FYEgg3IObSp3eh5KCZYhonY5BigD7o9qxE0OG/I9war5o03uxGT3z13nFCMVFtSi6/nM/w9fNlVZtutSU3uMXniA5H3MJ3rfY5t+AbQgPtGHaEM5/o7lvclo0uRw8aJnpwQBSICT6iD8HHa6hUXqjCz50H+7urxxnunM0U/kxd8RTL945cQavfHRzSe2umTyFjFK8cpJ0CXLYzNZvJozZNU6UBTG7xkf+t9tLP92YorvleKODH55WwD2lAE+pY1leQ3jXAXa3OyadMNEJ1sBVJZKkGwIdV4cFdDBRB3qx1rkd1fCxwYa1z1xhJajqOBQTyIqxTCzuGHgLV/Mr2SvUw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YWN3AOnBZCyLgcsvBs8szDTGViKin4dR2velo5lyhRM=;
 b=SNOdG4xGz5OnqgZc/emRbHbo9lqwlSFogWAhkgq2/1E5vJ21y3fag+MLmVmKsXMu8Dk7NemYbof5hB2ZSxZH46nYwlUTYl4V4IizmqrU22yRn4uB0IB2JQSiE/iB7isAYxE42gQ8MNQIQyL07a3fvsmyZQjI3QcFLS0O6kPJ9ROu14mdQjM8rbGjaAHkuiV5qQWA3Z1Micv6DEKWZXeoJcsnQPHJY8C+ELqtPHCG1ZS0fPWmX1MuD7bLJjvs4tAhBUukgo8lgi6QOvoaSbHGKrgk5c1ITnhkRD9JxTMH7Imw97+knbacR278WSsOuJIyRyH3kNC2xPYvgwKjdOuW7w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YWN3AOnBZCyLgcsvBs8szDTGViKin4dR2velo5lyhRM=;
 b=HAph96dN3/xXh6P89K3Rk6yBoXI28YPeTCIcOKCaYNK+vvf7K9YwH4CCy5f88YmzthY4zW4PaKrJ7D+JI6XOsCAJW7A08L8ZErlUELRCJhn/QVn5qHSTDhtm8wYi2zInCZpiHrtOTPS7/BW5N03DD5Q02sL9Zvg9ngsHmUy64nKRYRB4VFugT+wWyTknubm2AWwXdFBgUTLJcSQa7gjm7CgRpj/0MNsqwNjAiFRQlydhRsLR+QoK0X/7jYpDkmFas++IQIQKnwlgkE6ZW6ojJPwUWaRcNITNKT+zgaZp83WP2OctuvzWYaPoNe+r0oEj238PCuLs+AqMW+gf8qJk6g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7fa1b084-ef9a-976d-ddb1-b07cded96f08@suse.com>
Date: Mon, 1 Aug 2022 11:43:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [XEN PATCH 0/X] tools/libxl: XSA-403 follow-up
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20220729132641.21221-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220729132641.21221-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::8) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 415d5984-34d9-4876-2da1-08da73a2410c
X-MS-TrafficTypeDiagnostic: HE1PR04MB3049:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rCd4xEvNJ3tjz3M+dqrulV/t8xtho9tdd1iZRIyUDl4mOVd2XOWpHB9pV2Wb+VsSRTowNVSJFtNZpcC9KF3vq/yb5f/Mj8US4DnuZbTd/xTjsl8ti1S7nKgyBYTm+wyq4oRWBfcU393eD05G4zx6nzwHEtSS6rudlV24RQvkMXtMZVw+lBq0V59GXeW0H/LmSPW10vnTkPdK2KC0JtzJqGy4x/+bRuJFk25vwJdedIPoFaV/x23ThZY8+czaJyQFqMoARdvone7i+cvi/LDg8htql891BU3vA5V+wazR/GgD0HWneH+ovRp72pAj8OIFWix9yUE9M0uMprRp2oIq1r6aCldL8SIyiNchU94FwryGLhfZRSbzPx0/Rl2djWQ+PnDHtkeBQ/YqKO72E2GyzU5DyaFNQdfbU0D8nlMf97XNJCp9iYWMmu2H08p4P/o1hyZnKqKTUNEdi7BjDK5Q9Ig0PVrDpA4XoknJFDI7Cm6Ev+9GVKYmD9Z/uvc9JZIlgYskRj1LBALUKU2sIMsOIbcPrQ2aQhy0veYsxBZrEBGfyRNmQucBpR9QnchYTB8aAaC/zY4iV3e7Um1vZ7J3fJ8dCL7JU/EeAh5iphqPu6vb47NpL4xv71fGsHI+rI/ssRylt0JK73ugGU3JRv14KqaEIRK0NV8/uWrEshkk3DqgAaxbfTyVnM6f60VtOVC2PsMBoFP1m+vTKO0sXoPKngK8cZMmvq3YFqqwsdlTEYp4JMAlP1UT4j0Bl0vpLw1kRoZgJScylOIazCXHtkwUvr/k5N6LENa1W9LT9E5iY19XIUd+hRnPEdD8C7/fiv1t4Q8yn4e89ag0HE5HUyjCTQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(39860400002)(396003)(366004)(346002)(478600001)(186003)(8936002)(6512007)(2616005)(6486002)(26005)(53546011)(41300700001)(2906002)(5660300002)(6506007)(4744005)(36756003)(38100700002)(316002)(31686004)(31696002)(54906003)(6916009)(86362001)(8676002)(66946007)(66476007)(66556008)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1poVHIzR0tXdzZVcGpUNytFeC81SnoyVXJFMWd5anpWTENlZ1ZkaDRhT29P?=
 =?utf-8?B?UFhjWU0xN3B2eURRbnRySGp0SHB5eGR3eTNwVG51RXFWbTFJWFRkU25kMkJI?=
 =?utf-8?B?bXRId08yeWZ0RE9mVnRWK3RxdlgyeVBwWG9LWXNEelQvc3RmbTNGeFRRREZm?=
 =?utf-8?B?Z1AySkZ3UWo5TW0rdGwxd2NzS0xOYU53YTRlSFQwN3k2c2lGT3VIWU1lZzlZ?=
 =?utf-8?B?Q1dCYWNtYnNteStNSGVLdW9VWklVRkFzb3FLR0tOQjRNeFMvZWQ1SEJZVDhC?=
 =?utf-8?B?aFd2cC9WcnJJK3NwY200TnpGQ2J2MUdkNW9oajQ1TVpibXorMHc0QUhGQUIw?=
 =?utf-8?B?VWxTTmU5ZVQ2U0FZTTlmaDJRWHFuRkhJZkZBTWlXM1pFeU0rUU1ZRVpNWlhk?=
 =?utf-8?B?OVdrSmpudG52bGZ1emtZbGJnU1BQZ1NJaE1heFVvcnlwa00xbmRuVUM1b25h?=
 =?utf-8?B?QWwyNEMvdXZjS0JxSlZXcmlHd0lJdE11amdjVTlSeUdGa3lXeDRRNVdsMjZY?=
 =?utf-8?B?NmVKSTZiQTc4Q3dsSVp0NnJRc0JjdlQ5U1dKUTNvL1Uwc3hXVExRODFzTFJ4?=
 =?utf-8?B?ZEs5bGwxM2kvT3hneE9kUDhtaTdYdStycGRHdit3ZG9VMWhtS2RJeFBscG9Z?=
 =?utf-8?B?TENab3RkSGRoTGZzYTJEMWsxV1M0UzluNVRFODlzbnhzRUlDOVhSajd1K2pq?=
 =?utf-8?B?TDd2ZkJLcllKT0phajdhQWl4UnJZdlBwZEZGN1RjMWM3OTluQ1JtZjIxS0Uw?=
 =?utf-8?B?MUg5U1RtSXJVZG81WTFwNldQQy9BVDc4c1pwVDk2Mzljc3FJWTVqSHpPZEhv?=
 =?utf-8?B?aTJXZ25jZzg2MlVhK2Z0Y1BOaVhqUUdBNzB3RThmMlllNHhOb3laNEdLeDEr?=
 =?utf-8?B?NExXb2E5T21pajNrNTJZaWF2QW4wTWcyaFJZeXNwSUIyRTdBU1VoMC90RVZv?=
 =?utf-8?B?M2doWHBJelpia2dPWUdBNjhYQndBa3JXUm1ZbFNFa2lYbkM2QXZUYnFsNS9n?=
 =?utf-8?B?U0NyTXFnUmE1V1BtU29OeTdLcklEVnMvWE5HSEF5M1YwNTMyYWZOZ01QS2xZ?=
 =?utf-8?B?TjJZbUtuM0FMY3VlYnJHSHpEUXpLR1h4dXpkaWR2UWFLbkZ4dUhLWC93NWRK?=
 =?utf-8?B?NklSSlR6ZUhoNEl3d2xHRVhrMjhlVlRvRGZBelRRSTl5VmFuQ2VhVTZFRWdD?=
 =?utf-8?B?TlA3L0xKdWhzMTBWYXRud0VDTkV3Z0ZxT2p0YzFkNlFvcER5V1ZadURaeW0r?=
 =?utf-8?B?Vnc5Qm95WG5JY1dMSGhVa25sQTgrQ3NFeHFQWHlkRVNQWkd3WWJJQnA3TFNU?=
 =?utf-8?B?eUFVanpacDN3NEdaaUtMdXN6amt5dDJ0RVp3MU4vWVpidzlCdTZHV3psbU1C?=
 =?utf-8?B?VVdwMjM3RHZqcmZ0YVY0dVo0WjMxUHMvd0lYUlFZYU5sUjkzUStuZFNobWJy?=
 =?utf-8?B?TU1xVHlmTDIyWHJ4cjE1a2JVbUpHbFVBSGpxM1NLUHFTRDVFTllFM3hnVXdq?=
 =?utf-8?B?dWxFdHE0QWxncTgzdXJXWEM2VCt5YzRGZlgwRE50M0x5UkxUWVp3dk9qcmkx?=
 =?utf-8?B?N3FFRWVReDk4WVFKcXNyY1B0N0l1ekJHWEpHWXJUbEVHMVNiVGtqTnlnK3hu?=
 =?utf-8?B?ZkdUeU4ra2w4NmtZSW5CY0VEM2d4TjQrakpnRFNSOCtsZ2NOa21vNEQxMElx?=
 =?utf-8?B?bUx0VFR6MmtQWnZ1R0orN245Zy8zSWtua212c0xGaG5QU1NKdHdHczVRVlpT?=
 =?utf-8?B?bkNiNEttZUJZZFlTWUFtRHNFZHJPWExSakV0bEJiZ0V1b0JtcjlFQVRsdzV6?=
 =?utf-8?B?NjVlakpFL09abytVU3NQVW9JNGtQeGVaMldtQmZscFRaQ1VUWktxNjc3U3NL?=
 =?utf-8?B?L2lNQko2ekdBNEczSTZrV1ZpN3FrMmhpYVdYbDR2SEtaVEc4M2t6eGNuNktT?=
 =?utf-8?B?ZmpwczNXN1hzUVZlUkxOSjJYdUdHb2RqWmhjekZROWhNdWE5bHNVc1QyLzYr?=
 =?utf-8?B?Uk1BaFEyS3lCWE9seFk5anZFQVVXZkhIbWtTU205VnNaVkRIYkV0QzBMYTZC?=
 =?utf-8?B?VzZnZk13SXRKVUw4NDJZQU1WdFE4ZmdObC9SUmEyRHhlVkVWQk85aTZ1ZFRY?=
 =?utf-8?Q?IW18fmYRXYKHv70qTuiGgAgBu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 415d5984-34d9-4876-2da1-08da73a2410c
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 09:43:14.0653
 (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: X644g/273TGzDAjWJIlBkNj/TpbsCAamEU9v8lMfocVE1+GFLTiWsmGKJ4x7rtrHhQD5F9xeXX74ISH+1Ev68Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3049

On 29.07.2022 15:26, Anthony PERARD wrote:
> Two patches:
>     - one for stable branches (I've rework the XSA's patch on 4.16 so
>       patch will need to be backported);
>     - and one patch for staging, forward porting the patch for stable
>       branches.
> 
> Those patches are a rework of the patch for the stable branches available
> in XSA-403. The environment variable is now in upper case, like one
> would expect, and now a value of "0" as the same meaning as the variable
> been absent. Also, there's a bit of documentation in `man xl`.

Thank you very much for helping out with this. While arguably not worth
a lot,
Reviewed-by: Jan Beulich <jbeulich@suse.com>
and I'm inclined to throw this in rather quickly, not the least to have
it in 4.16 a little ahead of the next stable version release there.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 09:46:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 09:46:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378646.611950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIS03-0005Jy-2d; Mon, 01 Aug 2022 09:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378646.611950; Mon, 01 Aug 2022 09:46:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIS02-0005Jr-WC; Mon, 01 Aug 2022 09:46:11 +0000
Received: by outflank-mailman (input) for mailman id 378646;
 Mon, 01 Aug 2022 09:46:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIS02-0005Jj-6E
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 09:46:10 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80077.outbound.protection.outlook.com [40.107.8.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c50ab931-117e-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 11:46:09 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM0PR04MB4785.eurprd04.prod.outlook.com (2603:10a6:208:c2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Mon, 1 Aug
 2022 09:46:06 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 09:46:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c50ab931-117e-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ROB8rIbdqDG95GIteoDOnlruKUi57QNNOr+L+ZJd0/iZYHDJuVYDceliL4OWGUW0JvyWkOHc9Ql+3qlI891CT4exMKXen0GoBejh5cxFCf/q+bfIiLDFXbHbeCVTB8Q6f/GjED42rDCEhbBkf5eW4uUTlg5us+jRI2G4HlOOB0RJLkQvB0E5DstaJlb5dPa5zUwBOKCOUVdcgX3LOlfQWHA3Z/YWm+TCspuXwzOnG0uavJ/HZMATpPB7xQqerUSFRUTtOwtBuvnOf1F/0sMTsvrbwt9e6LSY8MVNdr4ASpEXuihfcXeaiV9ZVaixPNuFHHvpjijuSYLuTUMkjKkKzw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ch/l7iC9CTpr9NUxVrfR2M7RejyOnykUw5lHvY/Ji8Q=;
 b=aF7WMKpnbJK+B89Tdtdm6xnPiOTHCOtcqTfFHmoMtUU9l96vPQ8K5cF3TyT2pj+vm6MUfoHm4lhDq31xWtGq8oG8CTR5w6hXkvgyZSZsX0Zcp0rd0NMjqD6s9V19M7ApSLsTuxb3dvCfVUfPHVHB06iqw2nKHZRwgVUnr9RZUeTvRML9TA4kXjFAG8+rbV/ox8tUeo4Ncm0Dlm1PMo6oVx4n0LyPojKa5gbKZKJYK5WDxDwqW892QG1ftqClARG+MgSmmGvJFgG3r668kl0IzBk4sKIEimN3V0iAbf6VTlCBQWqW3JitoaeylaiQ4EBAAuarxkaT3Ze/oMW4nTPJaQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ch/l7iC9CTpr9NUxVrfR2M7RejyOnykUw5lHvY/Ji8Q=;
 b=AlvQFJLxWjZGAKCNOLifHftbd7nmUdWhnnrJN6rOADCTsc89+tvziSAcGUriauIt+GBgTgRfv8pYRlpgR75Cz2Hg5p2+e4z5Ck5aOg9J8f/vE2GHlGKRoBzEAEHGZDOR7Ewko0JIlQouCIXFxAXxCRvBAqxUfZPa3DdnUUinikKey1wYu3EURPO9T5Bea36ms6J9NMLP5EkgL26GdAnVXvN1PVqQlR5Cs5kjI2/0gD2MOMu9lgVhnWZJ/i3DpL+N8BqObo0Jp1q17i/wB0adhWBPlmD3KmDEnnJYTD05+5CpHtykJI61yZP0otHi1H9EU23OSD7b7uWNiDYi6wgaVg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <38938738-7300-d73b-1221-1192d2b92c36@suse.com>
Date: Mon, 1 Aug 2022 11:46:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [XEN PATCH 0/X] tools/libxl: XSA-403 follow-up
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20220729132641.21221-1-anthony.perard@citrix.com>
 <7fa1b084-ef9a-976d-ddb1-b07cded96f08@suse.com>
In-Reply-To: <7fa1b084-ef9a-976d-ddb1-b07cded96f08@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::13) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b0a4e32d-4120-418f-c4b2-08da73a2a7d4
X-MS-TrafficTypeDiagnostic: AM0PR04MB4785:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x83WFSxpa1dlAxjd8oh9bnnjc4Y2Aq45yBudkLheOCsfmuv2Z206nbeRTJjPopq5UlmshqlMJXch5jEcwbPe9DVUW0o5YYA6n9nXSpsfmpJGkohNDShYLw9Vwh6Zwb1jEGCCHasYsL+Bi1HU2uqYbQ7jawYmZ2jtLuvUjTvstjnZVWhTY31B7JkUzPmm98uXohXrCOdjvJBHakbHBIpYrNFDgh0GoKhaE00Fq5E6U1pG/r82XsVyBQGfiYeDSacZe2FpxIzdNkJ4c69f99ocZZqJ70Z3J3z3aJF4YakCSiekY/pDmpHIDJo2aJ/e8eM9zs6WSJoJxEapJjvvHh9hCM61jYwrFy7X9d+FLAr5TymsXghiqjZUZ3eFLKHpYrG8kjiQXXc5k623puFwtGtAlGJteyzhxHJWDRrAKu2t+FQnA0zNN/jmnJzKqGHbj1iK4poiq1vRRpC91asZ8h670+Vl8+dgSJ4028vJkJQp6sf59x7RFD5h/WtrkygJSA5oZZjNBy+oSp0PcSrStswOcQMCuY7bP6OZG7zOkeiaFvp8PdMLtpZwoM49MofrpUPXKGYk1nnxA5MBxI9k0+G/k2oLi7Z1sUYomwqqgyLvwg12HWK89qZU3TKFsyOTi/n8bd3pAU9Vjd4rN+YzhApMDO2+mB0lNJ3iLlm0xvoY1SPDUlr24vGNo9adXCl+oQjrbgXcbDKxqAxxXDcehd4c3RpvkieMl2e25xCpx8YyNzDT77M9/NbSyJnvayHlM094r10oRPoKE+8nn+YTY8fRm4lQ7ody256ny4HDL8McWTKFNkWvKAfPkRJ/cCWHTl+YfMtWNrML2lRuWId3rPUf9w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(136003)(346002)(396003)(376002)(53546011)(6506007)(86362001)(31696002)(6512007)(2906002)(26005)(5660300002)(6486002)(478600001)(41300700001)(8936002)(2616005)(186003)(38100700002)(31686004)(54906003)(6916009)(316002)(36756003)(4326008)(66476007)(66556008)(8676002)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cUQ0ekpUQ3BFRjlOOHNrYUhnRkpEVG9yU2xuQm5LMmVOd0V2U0lnU0x1M2lR?=
 =?utf-8?B?R2F2VzFaNkJPWEplLzFmWXRCNVc0UlAxb0NrRVZzemZNSkJ5UGM2WkRvWWha?=
 =?utf-8?B?TWpBR1RMdmRjT3V5UFVQUTZpVWdkSG95aUlKbnU4L3FnR2lSbXk3TXBucWJq?=
 =?utf-8?B?REcvQUk4cHhEbEF4VUl2aWNXalk4c29TYlYwYkYzVVIxdDdtUklrcUlIOUFs?=
 =?utf-8?B?RW9PVkpQd050ejUybmJvTjF5cnRUVWhJdGJPWkRrcmMzSDlTL1ltc3BpTm5C?=
 =?utf-8?B?TStCRC83aHoxclhET0tUR24vL2VQeGJPdUhIWUpNUEFBTG5jMTMxT1RSRUxl?=
 =?utf-8?B?QThabW15NlQ0YW1GemxYSENZMUJZRjJxeDJxWENZdHNVL0x5ak9KOXA1Umtp?=
 =?utf-8?B?c1Z6U0owczZ3RmdlUHorcFllOUt0N0NsWDJXTUN2Tm90WHhUOGFzQk1xNHBI?=
 =?utf-8?B?bjdsbkQ1djZPZnEySURkVTdxUzc1b01nY2lOMUdicncwZmZ4bnNSc3pmUzB3?=
 =?utf-8?B?TlVXQnRRa3JOTEd1S1lnYjd5RWFySnJMajN5VkV0WWk0MzBKQzFWS0RYYjRt?=
 =?utf-8?B?V1BpZzUxYzBrU01TNURNUjJCdklJWmowcGpRMXFiU0IvYUxzZUdSb3l1UDJp?=
 =?utf-8?B?Mk8zemRCWDBSS2dSWExLNlExWk9mV293N29pbnErLzFBNGoxeFQ2OFJoZWlN?=
 =?utf-8?B?c0lIUmpqR2xXU3lEaXMxdVFIZlBCR01KaHpZdXk4ajQwTm9adGoxVFF6Zldj?=
 =?utf-8?B?UjJpdGpGMlkyaEtBY2hqMGN3RzNoenY1aHNDdUNjZXRVT2dFTTB6NWZEak5I?=
 =?utf-8?B?OXBDQTc4YUUvRmQ4ZXFxdXBpbTRCSXNkbWdhWFVNTXdBa1hpcmoveE1YZ3Zm?=
 =?utf-8?B?OHdZeXZscGMwd2c3MHVWaG0zSkt3WHYyb1dQbkllVG83dUFyQUtEaEVEQUlh?=
 =?utf-8?B?dWVnaFlxZWdEOXhhMVRnREpXWEh5anVDQUxoYWUzUVZnS2wyTUFnaVBKVkRS?=
 =?utf-8?B?TnoyV1dCUXpmclZMQ0xLL3RXVmpkNGNuMlBNdktSa2F0VDk2aTQxQ2hIR2ht?=
 =?utf-8?B?Rm1yTmlXWkU3dWxvVUIybDlyRUMvTkRGa0xVdkJab0dhdnVJMGhBdFAzcUY4?=
 =?utf-8?B?VUU0b25ORXhnNHE4QW9hZzNaSGRwSTNzT1lEUlBYdjVCckl4ZHFXUVJaeERF?=
 =?utf-8?B?WkFMK0ZsR2dzMFhoM0c2Mk95N0dqY2hBdExpd3drcHRld0pBd0o2MEdHdzA4?=
 =?utf-8?B?Qldkd0ZhR0h3QUpwVTZKcFhCeDJhTSs4WnlJZ09rQUNFUlJCSmtESXByNmFM?=
 =?utf-8?B?TWdZWnlWSGVsN21hUUE2V2doZjhVZm9kMVNBRFJjbC9DZFFVc1d6L2ZXdDNL?=
 =?utf-8?B?amNaZ3k1VXJ6NWxIbTE5eW0wVWtJRHBnU29HZDBmdTdiVXlObkdoZG5kZ1ds?=
 =?utf-8?B?N1FxV3pLOVU1M1RPaW5lb1I4NlJvdCtDUG9WR29wbTRDL3dIYkNEZEo1SDNk?=
 =?utf-8?B?cmpuTTZVODgyNExhdkhRaXUvY3JFdVFDc3F0SDZ1TjhHTTZ6SzBIT1NkaEkz?=
 =?utf-8?B?Qm5Fc0VTVWsyOGlIcXJMVEI4RDlleVlXZ0NxUG5hTkphV3ZDZ3VIblVXNXBI?=
 =?utf-8?B?dzRUbXlTVUlyTE1uSlZGVk94WTIzaTVkSjRFTUxDbWo3L29TR2JicTdpeFRl?=
 =?utf-8?B?akVjOXBVeWFKTllIeG9tdnFjNU1tckRlMEdIM2szUERJbWhabFpiTFNXL25B?=
 =?utf-8?B?K1hlUW9WdVNoWklBT0NDOFhlZ3N3S05zWlhiU3FCK0J3MEFuYWp1SVNDbVhF?=
 =?utf-8?B?eEZtMzFvTUhPK1UwcWhyNkZRWWZ4YzBsQTQ3UHNJdzhDZmJ0VVRUMExDOUpK?=
 =?utf-8?B?Z3ExUStPMXYwRnMvaHZYaVhmSW1hOFRRaG9SZGkzUlF0Sy81M3ZSUzN1aEdW?=
 =?utf-8?B?ZmZ1Tk9GcTN2S1AyWHkzMDVUY0FxZWFpZ01UUVRFaXJ1cGF2bUxqZm91V29M?=
 =?utf-8?B?UGphMEdVTWVQVnRqWXgwYnkvQmN4RnYvaVdVUUttcUlSaUxPSlV6K3J5aUY1?=
 =?utf-8?B?YnhaL2k4ckRTR0E0c25LaHhBWHVtYUd6ZytmOWNMenpWVFd5a2JmaHRBa1Ir?=
 =?utf-8?Q?HcmtzzatZYWyvHhTD1u8vj6ji?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b0a4e32d-4120-418f-c4b2-08da73a2a7d4
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 09:46:06.5544
 (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: mTFP1IztD9Dukny/hfOdPZ4hcnuiyeY35AsTp8LwQCIJSV07L9CLP9Fvocvk0zXk38cwIjtbeAluMaCtgWfkFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4785

On 01.08.2022 11:43, Jan Beulich wrote:
> On 29.07.2022 15:26, Anthony PERARD wrote:
>> Two patches:
>>     - one for stable branches (I've rework the XSA's patch on 4.16 so
>>       patch will need to be backported);
>>     - and one patch for staging, forward porting the patch for stable
>>       branches.
>>
>> Those patches are a rework of the patch for the stable branches available
>> in XSA-403. The environment variable is now in upper case, like one
>> would expect, and now a value of "0" as the same meaning as the variable
>> been absent. Also, there's a bit of documentation in `man xl`.
> 
> Thank you very much for helping out with this. While arguably not worth
> a lot,
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> and I'm inclined to throw this in rather quickly, not the least to have
> it in 4.16 a little ahead of the next stable version release there.

Actually, as per the advisory it's only the stable trees which want the
respective change committed. Unless I'm unaware of a change in mind.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 10:08:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 10:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378652.611961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oISLu-00089E-S7; Mon, 01 Aug 2022 10:08:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378652.611961; Mon, 01 Aug 2022 10:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oISLu-000897-PN; Mon, 01 Aug 2022 10:08:46 +0000
Received: by outflank-mailman (input) for mailman id 378652;
 Mon, 01 Aug 2022 10:08:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=V0wp=YF=redhat.com=mprivozn@srs-se1.protection.inumbo.net>)
 id 1oISLt-000891-1w
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 10:08:45 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebc9ceef-1181-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 12:08:43 +0200 (CEST)
Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com
 [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-582-htTe3GA5N_y0jDiRWQUvlA-1; Mon, 01 Aug 2022 06:08:41 -0400
Received: by mail-wr1-f69.google.com with SMTP id
 w17-20020adfbad1000000b0021f0acd5398so2337402wrg.1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Aug 2022 03:08:40 -0700 (PDT)
Received: from [10.43.2.88] (nat-pool-brq-t.redhat.com. [213.175.37.10])
 by smtp.gmail.com with ESMTPSA id
 p4-20020a7bcc84000000b003a325bd8517sm16349951wma.5.2022.08.01.03.08.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 01 Aug 2022 03:08:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebc9ceef-1181-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1659348522;
	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=Q0dar3qMSEwc1Q6O597FToFvC0epSd5f4tDBDDk8XSY=;
	b=Tw5hDsACZ+3+Wtv8Z6bM+A6sCLm8eLKsfI/yJgcm7QqCxBPoD460QZYLTqbWVOpeat1TB+
	O1VHD6wQpJVWPoqOEW3kQVhG0HO4+GT0b30d5JWM7QRGeFRYGutDUaSY17MtLCCz+KzOSp
	yIahnJ/zMT++RH6SUXf9QVPraBpizjE=
X-MC-Unique: htTe3GA5N_y0jDiRWQUvlA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=Q0dar3qMSEwc1Q6O597FToFvC0epSd5f4tDBDDk8XSY=;
        b=l3b5+FEnNkHGSgiZUxj5D4XfH2Gm2zHMQ6TIHsm+1jONRncdMyQJHCfrKa8qcqeW1K
         AX30gVs6DUokH3xxSWT4cYLt31H84Pk26lInq08+JFVKxe2pKACu/q9NS12E0fzbsOMX
         kO1uKCEx+XQEnXeXpmD2tdBTYtv4CV9I1PQp+YBv3Daaxr5vqzTzB7e/w9LmKeHu0Tun
         iBgBDh0pAhLxhjawCCg8FSpIuJwukrUA4nyGXrn6/b+sYzuRYUMV+AGEusLKLD9fLQte
         sXdmsJ7tfettRVWTQtaaE6gZNhZZnR8RC/Qh2WeJ1LsFct8Bl1uqmdH2XonRVL+qn4Tk
         YRgA==
X-Gm-Message-State: AJIora9z6GWM25AK0RbfCUbHzJPjt7IppV8GjikoSSNYKcY3a0ROJaNY
	xsT4XOYswGxXhN5bR+w/bKChyYvSj6v+rnQOjdUbYHixXTEqZwu2iew8e8wkFWCSlGFzJhzkHyP
	SgGGO005GCuiab2nDoCFo7TIC9eg=
X-Received: by 2002:a05:600c:198f:b0:3a3:2dd5:8e35 with SMTP id t15-20020a05600c198f00b003a32dd58e35mr10537606wmq.121.1659348519811;
        Mon, 01 Aug 2022 03:08:39 -0700 (PDT)
X-Google-Smtp-Source: AGRyM1sManSNJneqp9RkPW7iNpcj47VsnBdDOwEGAoLbhA3D+w6lKBuapTx0+PM15uMxeS1wj1fqAw==
X-Received: by 2002:a05:600c:198f:b0:3a3:2dd5:8e35 with SMTP id t15-20020a05600c198f00b003a32dd58e35mr10537589wmq.121.1659348519538;
        Mon, 01 Aug 2022 03:08:39 -0700 (PDT)
Message-ID: <8947085c-bcc4-e599-0636-3a7f1f7b9ac6@redhat.com>
Date: Mon, 1 Aug 2022 12:08:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
To: Julien Grall <julien@xen.org>, Oleksandr Tyshchenko
 <olekstysh@gmail.com>, xen-devel@lists.xenproject.org, libvir-list@redhat.com
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
 <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
From: =?UTF-8?B?TWljaGFsIFByw612b3puw61r?= <mprivozn@redhat.com>
In-Reply-To: <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 8/1/22 10:51, Julien Grall wrote:
> Hi Michal,
> 
> On 01/08/2022 09:23, Michal PrÃ­voznÃ­k wrote:
>> On 7/29/22 17:50, Oleksandr Tyshchenko wrote:
>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>
>>> Xen toolstack has gained basic Virtio support recently which becides
>>> adding various virtio related stuff introduces new disk backend type
>>> LIBXL_DISK_BACKEND_STANDALONE [1].
>>>
>>> Unfortunately, this caused a regression in libvirt build with Xen
>>> support
>>> enabled, reported by the osstest today [2]:
>>>
>>> CCÂ Â Â Â Â Â  libxl/libvirt_driver_libxl_impl_la-xen_xl.lo
>>> ../../src/libxl/xen_xl.c: In function 'xenParseXLDisk':
>>> ../../src/libxl/xen_xl.c:779:17: error: enumeration value
>>> 'LIBXL_DISK_BACKEND_STANDALONE'
>>> Â Â Â  not handled in switch [-Werror=switch-enum]
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  switch (libxldisk->backend) {
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  ^~~~~~
>>> cc1: all warnings being treated as errors
>>>
>>> The interesting fact is that switch already has a default branch
>>> (which ought
>>> to cover such new addition), but the error is triggered as -Wswitch-enum
>>> gives a warning about an omitted enumeration code even if there is a
>>> default
>>> label.
>>
>> This is expected and in fact working correctly. We want compiler to warn
>> us about enum members that are not handled in a switch() statement.
> 
> For us this is treated as an error. Is it intended?

-Werror shouldn't be enabled when building a package, exactly for this
reason. Header files change and we might get a warning or two when
building a RPM. However, we definitely want to treat warnings as errors
when developing libvirt, i.e. building libvirt from a git repo. That's
why we get -Werror enabled in our CI too.

> 
> If it is, then I think this will be a problem for Xen because it means
> we will always need to fix libvirt before accepting a patch in Xen (see
> more below).

So we have a chicken egg problem. Xen needs libvirt to compile without
any warning to merge a patch and libvirt wants hypervisors to have the
patch merged first. Well, I think in this case we can make an
"exception". Our demand comes from quite a few cases where we burned
ourselves by merging our portion of a feature before it was merged into
QEMU. And according to Murphy's law, QEMU interface was changed
rendering our patches (now commits) useless. But I believe this is not
the case with xen staging, is it?

BTW: every other package that does switch() over libxl_disk_backend enum
will need this fix.

> 
>> Â The
>> 'default' case exists in some places because we suspect the value might
>> not have been validated before. For instance:
>>
>> libxl_disk_backend x = atoi(argv[1]); /* or parse something from XML */
>>
>> switch(x) {
>> case LIBXL_DISK_BACKEND_UNKNOWN:
>> case LIBXL_DISK_BACKEND_PHY:
>> case LIBXL_DISK_BACKEND_TAP:
>> case LIBXL_DISK_BACKEND_QDISK:
>> Â Â  // Neither of these might be exectuted ..
>> default:
>> Â Â  // .. in which case this will.
>> }
>>
>>
>> But we are not very consistent in putting 'default' case, sadly.
>>
>>>
>>> Also there is a similar issue in libxlUpdateDiskDef() which I have
>>> reproduced
>>> after fixing the first one, but it that case the corresponding switch
>>> doesn't
>>> have a default branch.
>>>
>>> Fix both issues by inserting required enumeration item to make the
>>> compiler
>>> happy and adding ifdef guard to be able to build against old Xen
>>> libraries
>>> as well (without LIBXL_HAVE_DEVICE_DISK_SPECIFICATION). Also add a
>>> default
>>> branch to switch in libxlUpdateDiskDef().
>>>
>>> Please note, that current patch doesn't implement the proper handling of
>>> LIBXL_DISK_BACKEND_STANDALONE and friends, it is just intended to fix
>>> the regression immediately to unblock the osstest.Â  Also it worth
>>> mentioning
>>> that current patch won't solve the possible additions in the future.
>>>
>>> [1]
>>> https://lore.kernel.org/xen-devel/20220716163745.28712-1-olekstysh@gmail.com/
>>>
>>> [2]
>>> https://lore.kernel.org/xen-devel/E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org/
>>>
>>>
>>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>> ---
>>> Cc: Julien Grall <julien@xen.org>
>>> Cc: Anthony PERARD <anthony.perard@citrix.com>
>>> Cc: Michal Privoznik <mprivozn@redhat.com>
>>>
>>> Please note, the patch is tested on:
>>> https://xenbits.xen.org/gitweb/?p=libvirt.git;a=shortlog;h=refs/heads/xen-tested-master
>>>
>>> but should work on the master as well (as the same code is present
>>> here).
>>> ---
>>> Â  src/libxl/libxl_conf.c | 4 ++++
>>> Â  src/libxl/xen_xl.cÂ Â Â Â  | 3 +++
>>> Â  2 files changed, 7 insertions(+)
>>
>> Ah, I couldn't find the commit in master, and it's simply because it's
>> not there yet. It's in staging:
>>
>> https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;f=tools/libs/light/libxl_types.idl;h=66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>
>>
>> The patch looks correct. Do you have any estimate when it can be merged
>> into master? I'm not sure what our, libvirt, rules about xen staging
>> are, but for qemu we require master (even unreleased yet).
> 
> The patches usually land in master after our test suite has completed.
> One of the test is to confirm that libvirt is still working. Therefore,
> the Xen patch will not be part of master until the patch in libvirt is
> added.

I understand that but what can we do here is to disable -Werror so that
the commit can land in master. And then merge this libvirt fix. Does
that work for you?

Michal



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 10:43:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 10:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378661.611973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIStM-0004D6-Hz; Mon, 01 Aug 2022 10:43:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378661.611973; Mon, 01 Aug 2022 10:43:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIStM-0004Cz-EU; Mon, 01 Aug 2022 10:43:20 +0000
Received: by outflank-mailman (input) for mailman id 378661;
 Mon, 01 Aug 2022 10:43:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g61G=YF=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oIStL-0004Ct-2D
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 10:43:19 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c09a8233-1186-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 12:43:17 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id f5so6736808eje.3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Aug 2022 03:43:17 -0700 (PDT)
Received: from uni.. ([2a02:587:ac0b:7a00:1b9e:a344:414e:dad7])
 by smtp.googlemail.com with ESMTPSA id
 j21-20020a170906431500b0072af56103casm5036433ejm.220.2022.08.01.03.43.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Aug 2022 03:43:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c09a8233-1186-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=/dkYNFC0YfSEOOKDpUvOdhBKET5LxRY1l4dx/MbLwNU=;
        b=PCZ0am525+SR3ImEhDWVNJUMdnuzZKRJaJj7vPJ8urFbtECfOFrg7nMQnfq9EqS0ZG
         pUnO3GTAro4AUosVWEXVfQNtLL1THk6lCosqk31knvZUEoi8AAPeaIggQMpXhaqVK74C
         1EY7if2Dj1SZgmK3tKMFgFC7gQDeJNh+pEEna6Ei1i+I6BiGFV13Sn2ope+jUwa41esi
         pQA8wyfJQfEDwvFk7dkdadq6a27E1mBk7egmM3iJYpkVuP5dOGsMoKM8C2mUP/qF0vHN
         dKJ2R5QfbQLbBKhShVd7RN/QXEr5m0SmDllfPSdeOtZm/SZ683y6MrUhvc1QLkcPb8GQ
         veGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=/dkYNFC0YfSEOOKDpUvOdhBKET5LxRY1l4dx/MbLwNU=;
        b=kDuT/vOTUq5SdGXqBYkDQpDA/ZOQjVXyegS77eQWzXaY03FZn+L1l2kwKqahIjrcMs
         NPvKNR6zUNRGzmVVDPN1tdfUkw5wcdGgYW63DgM7/330VLcD1oGfknvtgqsQYY+iJR/v
         FW/xzuoylvURpIbLcHUDLR6KU0n0dyxnUq1KWXm/VHtJdigqd2crgm/BYaRV9K/NO18R
         SXuVcGqpnl0jlCvR9o09A5QhEllosWe1zoDhjCyJwLLiX8hUzho8DSMzl36hQganW3Eq
         9vuYT4xlqd8b1CbCcybz9bosre13G2AeUJ7DB4JjyVoCRnwzMoe/4eiErQ26jUjD8a+6
         eFhw==
X-Gm-Message-State: AJIora9AdyhTh946DmDVcUaRqYoVdPUC0pRHwVyjhAXWu8FWalsuEu1w
	GsnufnR8VBjc1opTpCPaQFDaSoOpK6U=
X-Google-Smtp-Source: AGRyM1tJJPY3DQrjDEJy2nGvTec0HZwrShbmkH1B/jYucGVyPiXt4ITlzp0MgZnlPAF1oXYFG1TKSA==
X-Received: by 2002:a17:907:6089:b0:72f:56db:ccb6 with SMTP id ht9-20020a170907608900b0072f56dbccb6mr11726696ejc.318.1659350596840;
        Mon, 01 Aug 2022 03:43:16 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm64: efibind: fix MISRA C 2012 Directive 4.10 violation
Date: Mon,  1 Aug 2022 13:43:11 +0300
Message-Id: <20220801104311.1634742-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Prevent header file from being included more than once by adding ifndef guard.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/arm/include/asm/arm64/efibind.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/arm/include/asm/arm64/efibind.h b/xen/arch/arm/include/asm/arm64/efibind.h
index 2b0bf40bf2..cdbedf99d2 100644
--- a/xen/arch/arm/include/asm/arm64/efibind.h
+++ b/xen/arch/arm/include/asm/arm64/efibind.h
@@ -17,6 +17,9 @@ Revision History
 
 --*/
 
+#ifndef __ASM_ARM64_EFIBIND_H__
+#define __ASM_ARM64_EFIBIND_H__
+
 #ifndef __GNUC__
 #pragma pack()
 #endif
@@ -205,6 +208,8 @@ typedef uint64_t   UINTN;
 
 #endif
 
+#endif /* __ASM_ARM64_EFIBIND_H__ */
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 10:45:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 10:45:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378666.611984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oISvA-0004ll-Tk; Mon, 01 Aug 2022 10:45:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378666.611984; Mon, 01 Aug 2022 10:45:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oISvA-0004le-QE; Mon, 01 Aug 2022 10:45:12 +0000
Received: by outflank-mailman (input) for mailman id 378666;
 Mon, 01 Aug 2022 10:45:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+DYs=YF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oISv9-0004lW-BL
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 10:45:11 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03a80f01-1187-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 12:45:10 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A08D54DA35;
 Mon,  1 Aug 2022 10:45:09 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7516213A72;
 Mon,  1 Aug 2022 10:45:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id jQspG7Wu52KpbQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 01 Aug 2022 10:45:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03a80f01-1187-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659350709; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=uY7X3oHvMaZNoaOdlfzzzUzXplZ16PFMuWx3NXEHMVE=;
	b=KZoTqI50N+l4tuUbxJR/W/w3O3wAlsXiZ14H0EfLDIXilJBd+fd7JrElLVSXxamvUhrmmt
	alalbvAJKFqNUfSYeGYGfLWWXVSkcvBVuUZJ5WMKYdvw2FXw6G7l+Z8Vyo2ZjxI+JIDmh8
	93b1Im7ZHaW7qQxFeL22AbAn7RIZr20=
Message-ID: <c48d4e5c-89ff-46e9-2160-a74030351a93@suse.com>
Date: Mon, 1 Aug 2022 12:45:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Cc: buhrow@nfbcal.org, Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
References: <YtUhcnVZnLKIelbn@Air-de-Roger>
From: Juergen Gross <jgross@suse.com>
Subject: Re: xenstored socket backlog length
In-Reply-To: <YtUhcnVZnLKIelbn@Air-de-Roger>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------pRLyKKGSFGBUVjJSkdxn3Odc"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------pRLyKKGSFGBUVjJSkdxn3Odc
Content-Type: multipart/mixed; boundary="------------RzlvOXCsk6bvfEsDgNxLonqj";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Cc: buhrow@nfbcal.org, Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Message-ID: <c48d4e5c-89ff-46e9-2160-a74030351a93@suse.com>
Subject: Re: xenstored socket backlog length
References: <YtUhcnVZnLKIelbn@Air-de-Roger>
In-Reply-To: <YtUhcnVZnLKIelbn@Air-de-Roger>

--------------RzlvOXCsk6bvfEsDgNxLonqj
Content-Type: multipart/mixed; boundary="------------dfUoDBVxfiGN4B82DtwlDZbo"

--------------dfUoDBVxfiGN4B82DtwlDZbo
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDcuMjIgMTE6MDEsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IEhlbGxvLA0K
PiANCj4gSXQgaGFzIGJlZW4gcmFpc2VkIG9uIHRoZSBmcmVlYnNkLXhlbiBtYWlsaW5nIGxp
c3QgWzBdIHRoYXQgdGhlIHNvY2tldA0KPiBxdWV1ZSBsZW5ndGggZm9yIHRoZSB4ZW5zdG9y
ZWQgbG9jYWwgZG9tYWluIHNvY2tldCBpcyBzZXQgdG8gMSwgd2hpY2gNCj4gY2FuIGNhdXNl
IGNvbmN1cnJlbnQgZXhlY3V0aW9ucyBvZiB4bCBjb21tYW5kcyB0byBmYWlsLg0KPiANCj4g
SSBzZWUgaW4geGVuc3RvcmVkIGltcGxlbWVudGF0aW9uICh4ZW5zdG9yZWRfY29yZS5jIGlu
aXRfc29ja2V0cygpKQ0KPiB0aGF0IHRoZSBjYWxsIHRvIGxpc3RlbigpIGlzIG1hZGUgc2V0
dGluZyBhIGJhY2tsb2cgbGVuZ3RoIHRvIDEsIGFuZA0KPiBoZW5jZSB3b3VsZCBsaWtlIHRv
IGFzayBpZiB0aGVyZSdzIGEgcmVhc29uaW5nIGZvciB0aGlzLCBhcyBJIHdvdWxkDQo+IHRo
aW5rIGhhdmluZyBhIHNsaWdodGx5IGxvbmdlciBwZW5kaW5nIGNvbm5lY3Rpb25zIHF1ZXVl
IHNob3VsZG4ndCBiZQ0KPiBhbiBpc3N1ZS4NCj4gDQo+IFdhcyB0aGlzIHZhbHVlIGNob3Nl
biBiYXNlZCBvbiBhIHRvb2xzdGFjayB0aGF0IGhhcyBhIGNlbnRyYWwgZGFlbW9uDQo+IHdp
dGggYSBzaW5nbGUgY29ubmVjdGlvbiB0byB4ZW5zdG9yZWQ/DQoNCkkgZG9uJ3Qga25vdyB0
aGUgcmVhc29uIGZvciB0aGUgdmFsdWUgIjEiIChpdCBzZWVtcyB0byBoYXZlIGJlZW4gbGlr
ZQ0KdGhpcyBzaW5jZSB0aGUgaW5pdGlhbCB2ZXJzaW9uKSwgbWF5YmUgaXQgaXMgdW5saWtl
bHkgb24gTGludXggdG8gY2F1c2UNCmFueSBwcm9ibGVtcyAodGhlcmUgaXMgYSBub3RlIG9u
IHRoZSBsaXN0ZW4oMikgbWFuLXBhZ2UgcmVnYXJkaW5nIGENCmNoYW5nZSBpbiB0aGUgc2Vt
YW50aWNzIG9mIHRoZSBiYWNrbG9nIHBhcmFtZXRlciBpbiBMaW51eCBrZXJuZWwgMi4yKS4N
Cg0KSSBkb24ndCB0aGluayB0aGVyZSB3aWxsIGJlIGFueSBwcm9ibGVtIHJhaXNpbmcgdGhp
cyB2YWx1ZSB0byBlLmcuIDE2Lg0KDQoNCkp1ZXJnZW4NCg==
--------------dfUoDBVxfiGN4B82DtwlDZbo
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------dfUoDBVxfiGN4B82DtwlDZbo--

--------------RzlvOXCsk6bvfEsDgNxLonqj--

--------------pRLyKKGSFGBUVjJSkdxn3Odc
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLnrrUFAwAAAAAACgkQsN6d1ii/Ey9L
rQf/SkQZzTRRWDO2T2+/1eFTQUVlDR3y9JTQPqiiBJTNB4Qhx2W5jl+ukF5NymabVL6SmLZebZEZ
9m4e7VcT3CzNcUpD000c6I5l5mPzDJ+SzyBPIYZ0KEIFe01I/Pi9AabNQ7TGKTD9e6onQ95UeMag
l2pj/JJERQ7UyP/1pcSOH7jmQvaSSs5BVVZx0LPC6ni8YBY1paDuqibfYZJoiXuQDKfjptA68U3k
LlwC45jRLRhQYlhnxtF+cSX3b7pYugWdG+1ULl4s4zQA8HGGp+wwt7uuZmWx2h9Dtp/xtGOIp0Cc
7vU3rnVf2uWIhtjbXlA2xpL9/DyYyAag7qw2hbYFhg==
=G4ip
-----END PGP SIGNATURE-----

--------------pRLyKKGSFGBUVjJSkdxn3Odc--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 10:49:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 10:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378671.611995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oISzV-0005Xl-FG; Mon, 01 Aug 2022 10:49:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378671.611995; Mon, 01 Aug 2022 10:49:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oISzV-0005Xe-Bh; Mon, 01 Aug 2022 10:49:41 +0000
Received: by outflank-mailman (input) for mailman id 378671;
 Mon, 01 Aug 2022 10:49:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=omD9=YF=citrix.com=prvs=20515f1b2=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oISzT-0005XY-E1
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 10:49:40 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1b4c8bb-1187-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 12:49:36 +0200 (CEST)
Received: from mail-co1nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Aug 2022 06:49:31 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by SN4PR03MB6686.namprd03.prod.outlook.com (2603:10b6:806:21d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Mon, 1 Aug
 2022 10:49:27 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 10:49:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1b4c8bb-1187-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659350976;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=uBYNmojVBfxhmS21bi1qK2oQF48VpCeutPpaj7nC6HU=;
  b=hlewIUAUFEedihm7NVrOQc1d0XpAutBMrsL/JSeOPO+gOqrr4YpcEnAK
   Sf4BykK5/SKFXWc5dgMlWzoWHmB5bLoeK0ZTW2WPlRmOQ4ZbjionEuuPE
   UOtOMLwVWjEB78wWgdNzyPhvA7NuCXv272wJOtXolienXpY2saP680fnm
   E=;
X-IronPort-RemoteIP: 104.47.56.173
X-IronPort-MID: 76337466
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:WGUTdKgp4GIVF/IfCF66H+vIX161shEKZh0ujC45NGQN5FlHY01je
 htvXD+OMv6MamL8L9Anaom2pE4FuZKByNJgSgI5/31jQ3kb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15Kup4WtC1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eG7Mc2NstECZ0q
 PkkMDUpTyGPn7Pp6efuIgVsrpxLwMjDGqo64ygl5haASPEsTNbEXrnA4sJe0HEonMdSEP3CZ
 s0fLz1ycBDHZB4JMVASYH48tL7w2j+jLHsF9hTM+vFfD2v7lWSd1JDmMMDUYcCLTMMTmkeeq
 mPJ12/4HgsbJJqUzj/tHneE2bGUxnynBtx6+LuQqKRQqUDPm3cqKEMxTmC//teGsXOEVIcKQ
 6AT0m90xUQoz2S7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZjJIdtEOrsI9Qj0uk
 FiTkLvBGjhHoLCTD3WH+d+8rzm/JCwUJm8qfjIfQE0O5NyLiIMuihPCSP5zHajzicf6cRnr2
 CyDpiU6g7QVjOYI2r+98FSBhCijzqUlVSYw7wTTG2mitwVwYdf8Y5TysAeAq/FdMIyeU1+N+
 mAenNST5/wPCpfLkzGRROIKH/ei4PPt3CDgvGOD1qIJr1yFk0NPt6gKiN2iDC+F6vo5RAI=
IronPort-HdrOrdr: A9a23:T6U7/KDR8deGrtPlHegasceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEDyewKnyXcV2/haAV7GZmXbUQSTXeZfBOfZogEIXheOjtK1tp
 0QPpSWaueAa2SS5PySiGbXLz9j+qj/zEnCv5a9854Zd3APV0gW1XYdNu/0KC1LbTgDIaB8OI
 uX58JBqTblU28QdN6HCn4MWPWGj8HXlbr9CCR2SCIP2U2rt3eF+bT6Gx+X0lM1SDVU24ov9m
 DDjkjQ+rijifem0RXRvlWjoai+2eGRi+erNvb8yfT9GQ+cyDpAo74RHoFqiQpF4N1HLmxa1O
 Uk7S1QePiboEmhA11d6SGdpzUIlgxep0MKgGXo/0fLsIj3Qik3BNFGgp8cehzF61A4tNU5y6
 5T2XmF3qAnRC8pDEzGlqf1vjxR5z2JSEAZ4Jgupm0aVZFbZK5arIQZ8k8QGJAcHDji4IRiFO
 V1FsnT6PtfbFvfNhnizyJS6c3pWm52EgaNQ0AEtMDQ2z9KnGphx09dwMAEhH8P+J80VpEB7e
 XZNaZjkq1IU6YtHOpALfZERdHyBn3GQBrKPm7XKVP7FLsfM3aIsJLz6KVd3pDfRHXJ9upGpH
 3saiIpiYdpQTOeNSSn5uw5zjndBGOgQD/q1sZSo5Bkp7yUfsuYDRG+
X-IronPort-AV: E=Sophos;i="5.93,206,1654574400"; 
   d="scan'208,217";a="76337466"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ue3d1pT0uJ6A+u6M2FZRDhTy1JZMMYCDMKrugSr79g0MNf0sHCaqwV8k++CP29TtrQA7ZCYoBw+ejhqFviI2kGOWKB0SVpKvUr0bW5k1K+p+11jcEuiTZl+If7IgwbuxhvaJ8+cuUyT9HuMlxgLaU8pmEyNwMYXg8ruAAX90TitA2ZesEFdAHqOOTpDclN+FxXACum9VBnIJ8ECeEhtx+Cu3fFz1a6SU8KarMHi7/j7JEp33X7OXb/qUORNbPI7RxYilGEgQwz9jRKSFAFFRmr2cA2ub+oLjPWOuvxY1SOomIqF/jf3J11cjNlq2m56Tg+qZVvhmFzkAk4yTu2ZZuw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uBYNmojVBfxhmS21bi1qK2oQF48VpCeutPpaj7nC6HU=;
 b=FLXlXy6RJxQCYdu8Hif3by1vYq/7n4/DBM0hWP+0K+Pq1E2BvvTKQwNp2Bjbiz4YOnSy2uMBr0CbsZN1Jp9k4rgstrElB+VWZPxulw5sOYaknQ75aTPgEeg9NwHBW4Ad4IkgekitYitawcOGF1cEJZjS8uTZK0KHn0YUyJZ94UT/LYa/hQET4aqKA8G4PRFOG9vNo4IdYU7+FDEqcjGcuwZnNOf6kN7yoYLQhzaGL+vgrmnZagYUaA0ZQzQm5Ig/CmyyRHLdVF1EAqzSGYT4SOkpY0QnOExHWJtYNeXI4UKk61UTcAlold/aX4vhZh+PhNUYQfDyZGlIVw3S0jEZ6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uBYNmojVBfxhmS21bi1qK2oQF48VpCeutPpaj7nC6HU=;
 b=Ubd7pc6i4JFJccuql3pbjhoQG+Wi+VRLel2DSZco5Fx8R3AXi/z7sZZj8eaCiPJddMpEmAvdIjAM6Uq7VgWRrFH0laHXAcNw4PqX7KkOtNSpTFiQASDCJfIgALIlzIfcxB+kTizTT9Te90cMwiZsbdQitYeiJ1GVLct5RqA4LUU=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>, Andrew
 Cooper <Andrew.Cooper3@citrix.com>, George Dunlap <George.Dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 0/7] tools/ocaml code and build cleanups
Thread-Topic: [PATCH v1 0/7] tools/ocaml code and build cleanups
Thread-Index: AQHYo3Q3nA4d8nbK7kGQd9pwkvK/MK2Z4dKA
Date: Mon, 1 Aug 2022 10:49:26 +0000
Message-ID: <40A4752F-1DED-4982-8717-DA850B694003@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
In-Reply-To: <cover.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 86f881cf-56e2-43f1-3205-08da73ab8126
x-ms-traffictypediagnostic: SN4PR03MB6686:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 YmG3Po/07PHirwmQiyFdV+m8a6yCN2TwxjTJ5v4Ti93iUjZgh5BKWZ9B77zL896MAvQ9r0TqHJ+UCjd7lLBQ/bxK+3gKKx6m8CsPSxwHL/BsXlvA43bPHdAqcAid2yQ04bE4PIvA3N2wAmcTF1fIDY+9sj2T+2mI+XDJBDOeWfyr5zTISD3zREFA/32Q5aH679oAvyq5gWHR+d8iqGqdRYlR+iTklNNFKXNtD9+vnS8xqeWCZC9SclXPKKHCmzvcN2QCGTBmdAF1MGQkuNP74s5lUo1bCEowJFmR2EVUSrlSmRJT++0/qBIzGUP2r0g9SY0xv4aj9Xz98r6yWANqZdczlpAnOgkR7Z7OXoJ6/Y6nq6pqUfh/4FkBTzIT2QMtoMY+prAW84ExLUtO0Xa0rrs48mnWeM6mdvwPmz/d5yCdpq8gwyWiHdGJ23h2JU7+6T9StjWpeDEPq/vqT4IBxL4j6kLWHgzHcvRbF4imybmPoBaxhQ2DbKSsB9ysDjS+NpmVcRK8aNUxMVSv9cZT3/tGU+NPyylXrylAtOwv5m01KM9Z0Jk3DVonnJgao+GNzo4FDv5RRfZUADZtyeMbte3oDCV4NPuIKGZCy30XsHfyPZ4who6bFpvX6HfCcSQYijGTfSeeWh+auC4UXY8BUHeyXE7YeyiHjLMtg7JcYYjHXPSuClUPYwiNwINh/zXTHI3Ntk1+wRIFGiKPttbXCUREW7PKtkD3Tg9TGnibhUmRjhiJB7tXOPCwLE9OQATIJNIC8CMaGjPxRilyTByqbkC+S4CKdXvGNwFRu9JZ9NeqPfTSLEGHOjZtoRkKNRWr8u9yefcHX4nvVgJJzmmrPXP9YVwO/V+UtXRkyJ8j3POkrk4K2O4Vb6gJSCMotXiXzNtz87pi6UQXnXGI/L315w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(366004)(346002)(39860400002)(376002)(478600001)(966005)(6486002)(33656002)(8936002)(83380400001)(6862004)(37006003)(6636002)(54906003)(71200400001)(4326008)(38070700005)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(8676002)(91956017)(86362001)(38100700002)(316002)(122000001)(166002)(6506007)(44832011)(186003)(82960400001)(5660300002)(53546011)(2616005)(41300700001)(2906002)(45080400002)(26005)(36756003)(6512007)(45980500001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dGpZaVRYZlhyQXJCWHZtUENwTGY0Nkx4ZGNSVEVYanVieklrem15OWt6STlI?=
 =?utf-8?B?OUdHK2FBdWdCODRlZGVLS0JGNmxRTDNpL01Ea1VFMmprd2JzYjR1U1pJYkhQ?=
 =?utf-8?B?cTQ1TjNEVnNtcW1Ha1lWcE5sOTc4U2xmR25DNFUwUGFFT3ZpY3ZwVGpTU3g4?=
 =?utf-8?B?N2pJanRjSmVNUS9weUZpeEZWaEdTODdmV0tESW1DcmE4QkxlUXNHc2djR1FJ?=
 =?utf-8?B?L2J5Sk8xajF3RjFJU0N3eWUyQnkwbU1yYmEyMXpYVlI2LzAyWEIvdVZNb1dH?=
 =?utf-8?B?MkpOeGhkZHFnZS9jRjJvMkQzVGZiQUQyYnNEOVFjd0o5QzBJL0NNZHBvTGZa?=
 =?utf-8?B?citHYmE1TkhwR0lJQVprY1AzQ2ZtMUt2ZERUenEreDdKZTYwSy9yS1lxOXpp?=
 =?utf-8?B?T3drbFo4eUhQMVdKUndHalFDTjBSbEwwOVZHeWgzUDNsSVJjdkdoejJ3ZmxK?=
 =?utf-8?B?NUFxT054cFZmV0swNzc3OWtnVGh1SHJ3MjFYZG1lcitza3Y1d3FGQlZ2b0w3?=
 =?utf-8?B?SHYvN1dabEhJTW8wWjd1T2p6YjlxeWptTGRZZjZXYkNkV0k3UXJGdyt6ZVFW?=
 =?utf-8?B?a1JJZUQydm05WkFodmhGWWRPeVF4YmJZbHV0RlFjVmdtMFlOUllVZ29wNWVi?=
 =?utf-8?B?TUU1Mm00ZUFGMHB6ejVOeTlFSzVSYjhqL0ErU2xKSmxaazlRMUo3OW9hR2pu?=
 =?utf-8?B?WlVxZGFUS3ZFMzZIRExVOFVITG5iaTdXSkVvRlV0dm9Db3RocVA2czBDK2hC?=
 =?utf-8?B?U1QvRzY1WEJlc2R3SGh3Z3pHRE0wRDhETnpsZlBLYVFrdjZxbE11VVM0cG1N?=
 =?utf-8?B?WE9aeG55eVB4L3lMM2hBekdSbmxiVEprV2VzcU5DRytvV1dDZCtyUXU1NUIv?=
 =?utf-8?B?MFhxaXpyQUMwQ21QQXZqV2J6MUY4Y2QvSmlIOTBLS0FUOXU4cmx5aVVwN3NX?=
 =?utf-8?B?ZmlnOHJGQy9jOXpQclRuQ1pPVklyNFhtR1lPV25QOGdnYUNvYlh5bjk5ODFh?=
 =?utf-8?B?b2NncWJqU29Mb3lMbVhMY2htNzNGdTJYbHpVcm5nSldBQUpDZ1pab3VqNEE3?=
 =?utf-8?B?OFVuSjZpaloxcGlxbGRERVFXYlliZnNYZkpOZzNvUkE0S2ttZW15V1Bubko2?=
 =?utf-8?B?VmVyRTEraGI4ZE1UNGhZVHRRdUlzcFgyUStTcDQ1MGpaSlV0cjFWVXhMd2lW?=
 =?utf-8?B?VVNFcS9QamVUTlE2akNrN2NDTXJlNkErdkdsS3F5Snd1clpwWmtFMnZ0MDNr?=
 =?utf-8?B?Z3RGb04yU2I4ODF5bGo4a3pLVUR3Qnd0bXQ3T01xSDZsUUFLdzhYcHNsaERR?=
 =?utf-8?B?QU5uM2swTEhpTDdobDdURG9oeTdYaTA4YUM2UEpUMk5oL1JzTDBsczZndVFu?=
 =?utf-8?B?TmpPaGpMYU5KYmJ0cFdWL21Jc0w2Ry9pQzREWnFHa1c1TnR4SnFQVWJGUTlG?=
 =?utf-8?B?b1dEZjllbFJUZk1hZFhFcjNvS2lPcDRPK1ovdkEzYnZQc3FNWnpLbXBEdmpr?=
 =?utf-8?B?Z0FObEpBSmpaSzFlZUdlVWwvd2gzSHYyNGJhZFdTMWpoZkk1N3dMRVNDNDhv?=
 =?utf-8?B?RkJHWkRLSUNNZDJ6cXNBb1dmbDZ5Nk15MGR1L0xXbUF0ekpQUjhFSURvVlJk?=
 =?utf-8?B?ZW5kU3c5VVFCaENkRkM5SCsrWi9LYmpXYWk0WnFTVVNGQm10SkZRa1JuRjli?=
 =?utf-8?B?Zk9ISjJmS0hDdXFTL2Y4UGZKTjV5Q3ZsZmxEdGc4ZDlITHZpWHNXeWRGV1p5?=
 =?utf-8?B?UHBsSUI1Sm14NTJ1VkU5eGFRMStEdmw4Z1FlYjdnT2I0Yk1DdUVkMys4MW1m?=
 =?utf-8?B?eGUrYkxUS2pUaVZueWdWaDRXT2haVFRiZ1JFZzNhTno4cnNOL29GSy9ROHlG?=
 =?utf-8?B?SzJsTmNienBhMC9ZTUpsSW4ydHBHQlB4dmRsaG52MEt3RmkzUmxOc2Y1L2hI?=
 =?utf-8?B?V0NxUHhnb1Rra01OOW9WRDQ5VitZb3RFaDNsbHdHT2krZEJxVmtFa0tQanJB?=
 =?utf-8?B?MS9hcjY3anA0czZjcURlR0ZPK3YwaXJFUXpxOXJxdWF0bGtoYzdBem50c2ZY?=
 =?utf-8?B?U0JCbWM0Qk9LRG1YaHRvbGFuU2dMQUFJWkM2UkFyV05jeEgyU3M1UUlYdEpu?=
 =?utf-8?B?cXhUV0srZXVDeGlnZUpCemUzOGZuTlFyTnY3b3pXRGZmRlNVN1FqZ3RHRC9t?=
 =?utf-8?Q?hQD9ys6QXE3uDyIas+5aI3s=3D?=
Content-Type: multipart/alternative;
	boundary="_000_40A4752F1DED49828717DA850B694003citrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86f881cf-56e2-43f1-3205-08da73ab8126
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 10:49:26.9243
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: vRiH0O8B/1Zg5KqBpYHmxZ82Gv6AJQ5cUlhrKKXGhnYvpDbmTBy3BbtFdMXgKPPTrhTTnP7DDnNdMswqlphkFJQOch2Nj6A1nVBAdUo0S30=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6686

--_000_40A4752F1DED49828717DA850B694003citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayA8ZWR2aW4udG9yb2tA
Y2l0cml4LmNvbTxtYWlsdG86ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4+IHdyb3RlOg0KDQpWYXJp
b3VzIE9DYW1sIGNvZGUgY2xlYW51cHMgdG8gbWFrZSBidWlsZGluZyBhbmQgd29ya2luZyBvbiBP
eGVuc3RvcmVkIGVhc2llciwNCmluY2x1ZGluZyBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgbGFu
Z3VhZ2UgdmVyc2lvbnMuDQpUaGlzIGRvZXMgbm90IHlldCBjaGFuZ2UgdGhlIG1pbmltdW0gdmVy
c2lvbiBvZiBPQ2FtbC4NCg0KQSB2ZXJzaW9uIG9mIHRoaXMgc2VyaWVzIGluIGEgZ2l0IHJlcG9z
aXRvcnkgaXMgcHVibGljbHkgYXZhaWxhYmxlIGF0Og0KaHR0cHM6Ly9uYW0wNC5zYWZlbGlua3Mu
cHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmVk
d2ludG9yb2slMkZ4ZW4uZ2l0JmFtcDtkYXRhPTA1JTdDMDElN0NjaHJpc3RpYW4ubGluZGlnJTQw
Y2l0cml4LmNvbSU3QzBlMzliYmI0ODE3NDQ1NDIyNmIwMDhkYTcxOGI1N2ZmJTdDMzM1ODM2ZGU0
MmVmNDNhMmIxNDUzNDhjMmVlOWNhNWIlN0MwJTdDMCU3QzYzNzk0NzE0MDU0NzAyMDg3NSU3Q1Vu
a25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlM
Q0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MzMDAwJTdDJTdDJTdDJmFtcDtzZGF0YT1L
c1FnRjBsJTJGRHpTeHlJa3ZHN3QxNXdHZkh0TmxHNVZNSnVpbkk1ZVo0QU0lM0QmYW1wO3Jlc2Vy
dmVkPTANCmh0dHBzOi8vbmFtMDQuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3Vy
bD1odHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZlZHdpbnRvcm9rJTJGeGVuJTJGY29tcGFyZSUy
RnByaXZhdGUlMkZlZHZpbnQlMkZwdWJsaWMlM0ZleHBhbmQlM0QxJmFtcDtkYXRhPTA1JTdDMDEl
N0NjaHJpc3RpYW4ubGluZGlnJTQwY2l0cml4LmNvbSU3QzBlMzliYmI0ODE3NDQ1NDIyNmIwMDhk
YTcxOGI1N2ZmJTdDMzM1ODM2ZGU0MmVmNDNhMmIxNDUzNDhjMmVlOWNhNWIlN0MwJTdDMCU3QzYz
Nzk0NzE0MDU0NzAyMDg3NSU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3
TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MzMDAw
JTdDJTdDJTdDJmFtcDtzZGF0YT1zSEpmSTRQNGFVU2RVVkZwYm8zTk56a2Rmek9nWGVqUlNJJTJG
TmljSFE3NTAlM0QmYW1wO3Jlc2VydmVkPTANCg0KRWR3aW4gVMO2csO2ayAoNyk6DQp0b29scy9v
Y2FtbC9NYWtlZmlsZTogZG8gbm90IHJ1biBvY2FtbGRlcCBkdXJpbmcgbWFrZSBjbGVhbg0KdG9v
bHMvb2NhbWwvKi9NYWtlZmlsZTogZ2VuZXJhdGUgcGF0aHMubWwgZnJvbSBjb25maWd1cmUNCnRv
b2xzL29jYW1sLyovZHVuZTogZHVuZSBiYXNlZCBidWlsZCBzeXN0ZW0NCnRvb2xzL29jYW1sOiBN
YWtlZmlsZSB0byBkcml2ZSBkdW5lDQp0b29scy9vY2FtbDogZml4IGNvbXBpbGVyIHdhcm5pbmdz
DQp0b29scy9vY2FtbC9saWJzL3hiOiBoaWRlIHR5cGUgb2YgWGIudA0KdG9vbHMvb2NhbWwvbGli
cy9ldmVudGNobjogZG8gbm90IGxlYWsgZXZlbnQgY2hhbm5lbHMgYW5kIE9DYW1sIDUuMA0KY29t
cGF0DQoNCk1ha2VmaWxlIHwgNSArKw0KdG9vbHMvLmdpdGlnbm9yZSB8IDcgKysNCnRvb2xzL2Nv
bmZpZ3VyZSB8IDQgKy0NCnRvb2xzL2NvbmZpZ3VyZS5hYyB8IDIgKw0KdG9vbHMvZHVuZSB8IDUg
KysNCnRvb2xzL2R1bmUtcHJvamVjdCB8IDEgKw0KdG9vbHMvb2NhbWwvTWFrZWZpbGUuZHVuZSB8
IDg4ICsrKysrKysrKysrKysrKysrKysNCnRvb2xzL29jYW1sL01ha2VmaWxlLnJ1bGVzIHwgMiAr
DQp0b29scy9vY2FtbC9kdW5lLXByb2plY3QgfCAyNyArKysrKysNCnRvb2xzL29jYW1sL2R1bmUt
d29ya3NwYWNlLmRldi5pbiB8IDIgKw0KdG9vbHMvb2NhbWwvZHVuZS13b3Jrc3BhY2UuaW4gfCAx
OCArKysrDQp0b29scy9vY2FtbC9saWJzL2V2ZW50Y2huL2R1bmUgfCAxMSArKysNCnRvb2xzL29j
YW1sL2xpYnMvZXZlbnRjaG4veGVuZXZlbnRjaG5fc3R1YnMuYyB8IDI5ICsrKysrLQ0KdG9vbHMv
b2NhbWwvbGlicy9tbWFwL2R1bmUgfCA5ICsrDQp0b29scy9vY2FtbC9saWJzL3hiL2R1bmUgfCAx
MCArKysNCnRvb2xzL29jYW1sL2xpYnMveGIveGIubWwgfCAzICsNCnRvb2xzL29jYW1sL2xpYnMv
eGIveGIubWxpIHwgOSArLQ0KdG9vbHMvb2NhbWwvbGlicy94Yy9kdW5lIHwgMTYgKysrKw0KdG9v
bHMvb2NhbWwvbGlicy94cy9NYWtlZmlsZSB8IDUgLS0NCnRvb2xzL29jYW1sL2xpYnMveHMvZHVu
ZSB8IDE1ICsrKysNCnRvb2xzL29jYW1sL2xpYnMveHMvcGF0aHMubWwuaW4gfCAxICsNCnRvb2xz
L29jYW1sL3hlbnN0b3JlZC9NYWtlZmlsZSB8IDUgLS0NCnRvb2xzL29jYW1sL3hlbnN0b3JlZC9j
b25uZWN0aW9uLm1sIHwgMTAgKy0tDQp0b29scy9vY2FtbC94ZW5zdG9yZWQvZHVuZSB8IDUxICsr
KysrKysrKysrDQp0b29scy9vY2FtbC94ZW5zdG9yZWQvcGF0aHMubWwuaW4gfCA0ICsNCnRvb2xz
L29jYW1sL3hlbnN0b3JlZC9wcm9jZXNzLm1sIHwgNSArLQ0KMjYgZmlsZXMgY2hhbmdlZCwgMzE1
IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQ0KY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xz
Ly5naXRpZ25vcmUNCmNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9kdW5lDQpjcmVhdGUgbW9kZSAx
MDA2NDQgdG9vbHMvZHVuZS1wcm9qZWN0DQpjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwv
TWFrZWZpbGUuZHVuZQ0KY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2R1bmUtcHJvamVj
dA0KY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2R1bmUtd29ya3NwYWNlLmRldi5pbg0K
Y3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2R1bmUtd29ya3NwYWNlLmluDQpjcmVhdGUg
bW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwvbGlicy9ldmVudGNobi9kdW5lDQpjcmVhdGUgbW9kZSAx
MDA2NDQgdG9vbHMvb2NhbWwvbGlicy9tbWFwL2R1bmUNCmNyZWF0ZSBtb2RlIDEwMDY0NCB0b29s
cy9vY2FtbC9saWJzL3hiL2R1bmUNCmNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9vY2FtbC9saWJz
L3hjL2R1bmUNCmNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9vY2FtbC9saWJzL3hzL2R1bmUNCmNy
ZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9vY2FtbC9saWJzL3hzL3BhdGhzLm1sLmluDQpjcmVhdGUg
bW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwveGVuc3RvcmVkL2R1bmUNCmNyZWF0ZSBtb2RlIDEwMDY0
NCB0b29scy9vY2FtbC94ZW5zdG9yZWQvcGF0aHMubWwuaW4NCg0KQWNrZWQtYnk6IENocmlzdGlh
biBMaW5kaWcgPGNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbTxtYWlsdG86Y2hyaXN0aWFuLmxp
bmRpZ0BjaXRyaXguY29tPj4NCg0KDQo=

--_000_40A4752F1DED49828717DA850B694003citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <D36B2E7EE484F349862F4E40B87BDC24@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmVkdmluLnRvcm9rQGNpdHJpeC5jb20iIGNsYXNzPSIiPmVkdmluLnRvcm9rQGNpdHJpeC5jb208
L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu
ZSI+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPlZhcmlv
dXMNCiBPQ2FtbCBjb2RlIGNsZWFudXBzIHRvIG1ha2UgYnVpbGRpbmcgYW5kIHdvcmtpbmcgb24g
T3hlbnN0b3JlZCBlYXNpZXIsPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAw
LCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxl
OiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxl
dHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4
OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5n
OiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBu
b25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsg
Zm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3Jt
YWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1z
cGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0
LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7
IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBm
bG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5pbmNsdWRp
bmcNCiBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgbGFuZ3VhZ2UgdmVyc2lvbnMuPC9zcGFuPjxi
ciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGlj
YTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBz
OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQt
YWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hp
dGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Ut
d2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHls
ZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9u
dC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3Jt
YWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246
IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3Bh
Y2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6
IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5l
ICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5UaGlzDQogZG9lcyBub3QgeWV0IGNoYW5nZSB0aGUgbWlu
aW11bSB2ZXJzaW9uIG9mIE9DYW1sLjwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2Io
MCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1z
dHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAw
OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6
IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3Bh
Y2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlv
bjogbm9uZTsiIGNsYXNzPSIiPg0KPGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0
OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPkENCiB2ZXJzaW9u
IG9mIHRoaXMgc2VyaWVzIGluIGEgZ2l0IHJlcG9zaXRvcnkgaXMgcHVibGljbHkgYXZhaWxhYmxl
IGF0Ojwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250
LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzog
bm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zv
cm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0
LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIi
Pg0KPGEgaHJlZj0iaHR0cHM6Ly9uYW0wNC5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNv
bS8/dXJsPWh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmVkd2ludG9yb2slMkZ4ZW4uZ2l0JmFt
cDthbXA7ZGF0YT0wNSU3QzAxJTdDY2hyaXN0aWFuLmxpbmRpZyU0MGNpdHJpeC5jb20lN0MwZTM5
YmJiNDgxNzQ0NTQyMjZiMDA4ZGE3MThiNTdmZiU3QzMzNTgzNmRlNDJlZjQzYTJiMTQ1MzQ4YzJl
ZTljYTViJTdDMCU3QzAlN0M2Mzc5NDcxNDA1NDcwMjA4NzUlN0NVbmtub3duJTdDVFdGcGJHWnNi
M2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxD
SlhWQ0k2TW4wJTNEJTdDMzAwMCU3QyU3QyU3QyZhbXA7YW1wO3NkYXRhPUtzUWdGMGwlMkZEelN4
eUlrdkc3dDE1d0dmSHRObEc1Vk1KdWluSTVlWjRBTSUzRCZhbXA7YW1wO3Jlc2VydmVkPTAiIHN0
eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6
IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0
dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRl
eHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFs
OyB3aWRvd3M6IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1
c3Q6IGF1dG87IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsiIGNsYXNzPSIiPmh0dHBz
Oi8vbmFtMDQuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUy
RiUyRmdpdGh1Yi5jb20lMkZlZHdpbnRvcm9rJTJGeGVuLmdpdCZhbXA7YW1wO2RhdGE9MDUlN0Mw
MSU3Q2NocmlzdGlhbi5saW5kaWclNDBjaXRyaXguY29tJTdDMGUzOWJiYjQ4MTc0NDU0MjI2YjAw
OGRhNzE4YjU3ZmYlN0MzMzU4MzZkZTQyZWY0M2EyYjE0NTM0OGMyZWU5Y2E1YiU3QzAlN0MwJTdD
NjM3OTQ3MTQwNTQ3MDIwODc1JTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xq
QXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMw
MDAlN0MlN0MlN0MmYW1wO2FtcDtzZGF0YT1Lc1FnRjBsJTJGRHpTeHlJa3ZHN3QxNXdHZkh0TmxH
NVZNSnVpbkk1ZVo0QU0lM0QmYW1wO2FtcDtyZXNlcnZlZD0wPC9hPjxiciBzdHlsZT0iY2FyZXQt
Y29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx
MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQt
d2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0
ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1h
bDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4
dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8YSBocmVmPSJodHRwczovL25hbTA0LnNh
ZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZnaXRodWIu
Y29tJTJGZWR3aW50b3JvayUyRnhlbiUyRmNvbXBhcmUlMkZwcml2YXRlJTJGZWR2aW50JTJGcHVi
bGljJTNGZXhwYW5kJTNEMSZhbXA7YW1wO2RhdGE9MDUlN0MwMSU3Q2NocmlzdGlhbi5saW5kaWcl
NDBjaXRyaXguY29tJTdDMGUzOWJiYjQ4MTc0NDU0MjI2YjAwOGRhNzE4YjU3ZmYlN0MzMzU4MzZk
ZTQyZWY0M2EyYjE0NTM0OGMyZWU5Y2E1YiU3QzAlN0MwJTdDNjM3OTQ3MTQwNTQ3MDIwODc1JTdD
VW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJ
aUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAlN0MlN0MlN0MmYW1wO2FtcDtz
ZGF0YT1zSEpmSTRQNGFVU2RVVkZwYm8zTk56a2Rmek9nWGVqUlNJJTJGTmljSFE3NTAlM0QmYW1w
O2FtcDtyZXNlcnZlZD0wIiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXpl
OiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZv
bnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IGF1dG87IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBhdXRvOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRvOyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAw
cHg7IiBjbGFzcz0iIj5odHRwczovL25hbTA0LnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2su
Y29tLz91cmw9aHR0cHMlM0ElMkYlMkZnaXRodWIuY29tJTJGZWR3aW50b3JvayUyRnhlbiUyRmNv
bXBhcmUlMkZwcml2YXRlJTJGZWR2aW50JTJGcHVibGljJTNGZXhwYW5kJTNEMSZhbXA7YW1wO2Rh
dGE9MDUlN0MwMSU3Q2NocmlzdGlhbi5saW5kaWclNDBjaXRyaXguY29tJTdDMGUzOWJiYjQ4MTc0
NDU0MjI2YjAwOGRhNzE4YjU3ZmYlN0MzMzU4MzZkZTQyZWY0M2EyYjE0NTM0OGMyZWU5Y2E1YiU3
QzAlN0MwJTdDNjM3OTQ3MTQwNTQ3MDIwODc1JTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJ
am9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1u
MCUzRCU3QzMwMDAlN0MlN0MlN0MmYW1wO2FtcDtzZGF0YT1zSEpmSTRQNGFVU2RVVkZwYm8zTk56
a2Rmek9nWGVqUlNJJTJGTmljSFE3NTAlM0QmYW1wO2FtcDtyZXNlcnZlZD0wPC9hPjxiciBzdHls
ZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9u
dC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3Jt
YWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246
IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3Bh
Y2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6
IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8YnIgc3R5bGU9ImNhcmV0
LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTog
MTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250
LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsg
dGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3Jt
YWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRl
eHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9y
OiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsg
Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdo
dDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1p
bmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdv
cmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVj
b3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIg
Y2xhc3M9IiI+RWR3aW4NCiBUw7Zyw7ZrICg3KTo8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xv
cjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7
IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWln
aHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt
aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3
b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRl
Y29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdi
KDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQt
c3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQw
MDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50
OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNw
YWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRp
b246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNz
PSIiPnRvb2xzL29jYW1sL01ha2VmaWxlOg0KIGRvIG5vdCBydW4gb2NhbWxkZXAgZHVyaW5nIG1h
a2UgY2xlYW48L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFz
cz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWls
eTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12
YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5v
cm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3Jt
OiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10
ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25l
OyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPnRvb2xzL29jYW1sLyovTWFr
ZWZpbGU6DQogZ2VuZXJhdGUgcGF0aHMubWwgZnJvbSBjb25maWd1cmU8L3NwYW4+PGJyIHN0eWxl
PSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250
LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1h
bDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjog
c3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj
ZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDog
MHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJl
dC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6
IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9u
dC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7
IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9y
bWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0
ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9y
dGFudDsiIGNsYXNzPSIiPnRvb2xzL29jYW1sLyovZHVuZToNCiBkdW5lIGJhc2VkIGJ1aWxkIHN5
c3RlbTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250
LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzog
bm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zv
cm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0
LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIi
Pg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBI
ZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh
bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs
OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v
bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQt
c3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRp
c3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWw6DQogTWFrZWZp
bGUgdG8gZHJpdmUgZHVuZTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwg
MCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTog
bm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0
ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsg
dGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzog
MHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9u
ZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFs
OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3Bh
Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10
cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAt
d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxv
YXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2Nh
bWw6DQogZml4IGNvbXBpbGVyIHdhcm5pbmdzPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6
IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBm
b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0
OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWlu
ZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29y
ZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNv
cmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigw
LCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0
eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7
IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDog
MHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFj
aW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9u
OiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0i
Ij50b29scy9vY2FtbC9saWJzL3hiOg0KIGhpZGUgdHlwZSBvZiBYYi50PC9zcGFuPjxiciBzdHls
ZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9u
dC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3Jt
YWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246
IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3Bh
Y2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6
IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2Fy
ZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXpl
OiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZv
bnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0
OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5v
cm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsg
dGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBv
cnRhbnQ7IiBjbGFzcz0iIj50b29scy9vY2FtbC9saWJzL2V2ZW50Y2huOg0KIGRvIG5vdCBsZWFr
IGV2ZW50IGNoYW5uZWxzIGFuZCBPQ2FtbCA1LjA8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xv
cjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7
IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWln
aHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt
aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3
b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRl
Y29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdi
KDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQt
c3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQw
MDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50
OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNw
YWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRp
b246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNz
PSIiPmNvbXBhdDwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFs
OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3Bh
Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10
cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAt
d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNs
YXNzPSIiPg0KPGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWls
eTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12
YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5v
cm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3Jt
OiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10
ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4N
CjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVs
dmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50
LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsg
dGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25l
OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0
cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNw
bGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPk1ha2VmaWxlDQogfCA1ICsrPC9zcGFu
PjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBz
dHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsg
Zm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxp
Z246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lk
dGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5s
aW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj50b29scy8uZ2l0aWdub3JlDQogfCA3ICsrPC9zcGFu
PjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBz
dHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsg
Zm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxp
Z246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lk
dGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5s
aW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj50b29scy9jb25maWd1cmUNCiB8IDQgKy08L3NwYW4+
PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0
aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNh
cHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4
dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3
aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9r
ZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0
eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBm
b250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5v
cm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln
bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0
aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxp
bmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPnRvb2xzL2NvbmZpZ3VyZS5hYw0KIHwgMiArPC9zcGFu
PjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBz
dHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsg
Zm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxp
Z246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lk
dGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5s
aW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj50b29scy9kdW5lDQogfCA1ICsrPC9zcGFuPjxiciBz
dHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsg
Zm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxp
Z246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lk
dGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0i
Y2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1z
aXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7
IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0
YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6
IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBw
eDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFp
bXBvcnRhbnQ7IiBjbGFzcz0iIj50b29scy9kdW5lLXByb2plY3QNCiB8IDEgKzwvc3Bhbj48YnIg
c3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7
IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczog
bm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFs
aWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRl
LXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdp
ZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9
ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQt
c2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFs
OyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBz
dGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNl
OiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAw
cHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAh
aW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwvTWFrZWZpbGUuZHVuZQ0KIHwgODggKysr
KysrKysrKysrKysrKysrKzwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwg
MCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTog
bm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0
ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsg
dGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzog
MHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9u
ZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFs
OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3Bh
Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10
cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAt
d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxv
YXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2Nh
bWwvTWFrZWZpbGUucnVsZXMNCiB8IDIgKzwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiBy
Z2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9u
dC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDog
NDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRl
bnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQt
c3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3Jh
dGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwg
MCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHls
ZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBs
ZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBw
eDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2lu
ZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjog
bm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+
dG9vbHMvb2NhbWwvZHVuZS1wcm9qZWN0DQogfCAyNyArKysrKys8L3NwYW4+PGJyIHN0eWxlPSJj
YXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNp
emU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsg
Zm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3Rh
cnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTog
bm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4
OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1j
b2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEy
cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13
ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRl
eHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFs
OyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0
LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFu
dDsiIGNsYXNzPSIiPnRvb2xzL29jYW1sL2R1bmUtd29ya3NwYWNlLmRldi5pbg0KIHwgMiArPC9z
cGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhl
bHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFu
dC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7
IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9u
ZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1z
dHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3Bh
biBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGlj
YTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBz
OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQt
YWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hp
dGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Ut
d2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTog
aW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj50b29scy9vY2FtbC9kdW5lLXdvcmtzcGFjZS5p
bg0KIHwgMTggKysrKzwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7
IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9y
bWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXIt
c3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4
dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4
OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsi
IGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQt
ZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2lu
Zzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFu
c2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Vi
a2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6
IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwv
bGlicy9ldmVudGNobi9kdW5lDQogfCAxMSArKys8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xv
cjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7
IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWln
aHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt
aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3
b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRl
Y29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdi
KDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQt
c3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQw
MDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50
OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNw
YWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRp
b246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNz
PSIiPnRvb2xzL29jYW1sL2xpYnMvZXZlbnRjaG4veGVuZXZlbnRjaG5fc3R1YnMuYw0KIHwgMjkg
KysrKystPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1m
YW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZv
bnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5n
OiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5z
Zm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJr
aXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9
IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6
IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3Jt
YWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTog
bm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4
dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsg
ZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj50b29scy9vY2FtbC9saWJzL21t
YXAvZHVuZQ0KIHwgOSArKzwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwg
MCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTog
bm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0
ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsg
dGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzog
MHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9u
ZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFs
OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3Bh
Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10
cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAt
d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxv
YXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2Nh
bWwvbGlicy94Yi9kdW5lDQogfCAxMCArKys8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjog
cmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZv
bnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6
IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5k
ZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3Jk
LXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29y
YXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAs
IDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5
bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsg
bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAw
cHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNp
bmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246
IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIi
PnRvb2xzL29jYW1sL2xpYnMveGIveGIubWwNCiB8IDMgKzwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0
LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTog
MTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250
LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsg
dGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3Jt
YWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRl
eHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9y
OiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsg
Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdo
dDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1p
bmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdv
cmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVj
b3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIg
Y2xhc3M9IiI+dG9vbHMvb2NhbWwvbGlicy94Yi94Yi5tbGkNCiB8IDkgKy08L3NwYW4+PGJyIHN0
eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBm
b250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5v
cm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln
bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0
aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJj
YXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNp
emU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsg
Zm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3Rh
cnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTog
bm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4
OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWlt
cG9ydGFudDsiIGNsYXNzPSIiPnRvb2xzL29jYW1sL2xpYnMveGMvZHVuZQ0KIHwgMTYgKysrKzwv
c3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBI
ZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh
bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs
OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v
bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQt
c3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNw
YW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw
czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0
LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl
LXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6
IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwvbGlicy94cy9NYWtlZmls
ZQ0KIHwgNSAtLTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFs
OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3Bh
Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10
cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAt
d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNs
YXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250
LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzog
bm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zv
cm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0
LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5v
bmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwvbGli
cy94cy9kdW5lDQogfCAxNSArKysrPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigw
LCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0
eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7
IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDog
MHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFj
aW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9u
OiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAw
KTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRl
ci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0
ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAw
cHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25l
OyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj50b29s
cy9vY2FtbC9saWJzL3hzL3BhdGhzLm1sLmluDQogfCAxICs8L3NwYW4+PGJyIHN0eWxlPSJjYXJl
dC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6
IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9u
dC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7
IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9y
bWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0
ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xv
cjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7
IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWln
aHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt
aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3
b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRl
Y29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsi
IGNsYXNzPSIiPnRvb2xzL29jYW1sL3hlbnN0b3JlZC9NYWtlZmlsZQ0KIHwgNSAtLTwvc3Bhbj48
YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw
czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0
LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl
LXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5
bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZv
bnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9y
bWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWdu
OiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNw
YWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo
OiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGlu
ZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwveGVuc3RvcmVkL2Nvbm5lY3Rpb24u
bWwNCiB8IDEwICstLTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7
IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9y
bWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXIt
c3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4
dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4
OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsi
IGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQt
ZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2lu
Zzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFu
c2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Vi
a2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6
IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwv
eGVuc3RvcmVkL2R1bmUNCiB8IDUxICsrKysrKysrKysrPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQt
Y29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx
MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQt
d2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0
ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1h
bDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4
dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6
IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBm
b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0
OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWlu
ZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29y
ZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNv
cmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBj
bGFzcz0iIj50b29scy9vY2FtbC94ZW5zdG9yZWQvcGF0aHMubWwuaW4NCiB8IDQgKzwvc3Bhbj48
YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw
czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0
LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl
LXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5
bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZv
bnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9y
bWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWdu
OiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNw
YWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo
OiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGlu
ZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwveGVuc3RvcmVkL3Byb2Nlc3MubWwN
CiB8IDUgKy08L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFz
cz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWls
eTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12
YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5v
cm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3Jt
OiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10
ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25l
OyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPjI2DQogZmlsZXMgY2hhbmdl
ZCwgMzE1IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKTwvc3Bhbj48YnIgc3R5bGU9ImNh
cmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6
ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBm
b250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFy
dDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBu
b3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7
IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNv
bG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJw
eDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdl
aWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4
dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7
IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQt
ZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50
OyIgY2xhc3M9IiI+Y3JlYXRlDQogbW9kZSAxMDA2NDQgdG9vbHMvLmdpdGlnbm9yZTwvc3Bhbj48
YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw
czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0
LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl
LXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5
bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZv
bnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9y
bWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWdu
OiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNw
YWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo
OiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGlu
ZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+Y3JlYXRlDQogbW9kZSAxMDA2NDQgdG9vbHMvZHVuZTwv
c3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBI
ZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh
bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs
OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v
bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQt
c3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNw
YW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw
czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0
LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl
LXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6
IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+Y3JlYXRlDQogbW9kZSAxMDA2NDQgdG9vbHMv
ZHVuZS1wcm9qZWN0PC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsg
Zm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3Jt
YWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1z
cGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0
LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7
IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIg
Y2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1m
YW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZv
bnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5n
OiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5z
Zm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJr
aXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDog
bm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5jcmVhdGUNCiBtb2Rl
IDEwMDY0NCB0b29scy9vY2FtbC9NYWtlZmlsZS5kdW5lPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQt
Y29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx
MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQt
d2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0
ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1h
bDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4
dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6
IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBm
b250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0
OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWlu
ZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29y
ZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNv
cmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBj
bGFzcz0iIj5jcmVhdGUNCiBtb2RlIDEwMDY0NCB0b29scy9vY2FtbC9kdW5lLXByb2plY3Q8L3Nw
YW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVs
dmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50
LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsg
dGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25l
OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0
cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFu
IHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNh
OyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6
IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1h
bGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0
ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13
aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBp
bmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPmNyZWF0ZQ0KIG1vZGUgMTAwNjQ0IHRvb2xzL29j
YW1sL2R1bmUtd29ya3NwYWNlLmRldi5pbjwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiBy
Z2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9u
dC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDog
NDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRl
bnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQt
c3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3Jh
dGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwg
MCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHls
ZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBs
ZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBw
eDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2lu
ZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjog
bm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+
Y3JlYXRlDQogbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwvZHVuZS13b3Jrc3BhY2UuaW48L3NwYW4+
PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0
aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNh
cHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4
dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3
aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9r
ZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0
eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBm
b250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5v
cm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln
bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0
aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxp
bmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPmNyZWF0ZQ0KIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1s
L2xpYnMvZXZlbnRjaG4vZHVuZTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwg
MCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHls
ZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBs
ZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBw
eDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2lu
ZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjog
bm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7
IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9y
bWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXIt
c3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4
dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4
OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsg
ZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+Y3JlYXRl
DQogbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwvbGlicy9tbWFwL2R1bmU8L3NwYW4+PGJyIHN0eWxl
PSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250
LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1h
bDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjog
c3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj
ZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDog
MHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJl
dC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6
IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9u
dC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7
IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9y
bWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0
ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9y
dGFudDsiIGNsYXNzPSIiPmNyZWF0ZQ0KIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2xpYnMveGIv
ZHVuZTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250
LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzog
bm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zv
cm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0
LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIi
Pg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBI
ZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh
bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs
OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v
bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQt
c3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRp
c3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+Y3JlYXRlDQogbW9kZSAxMDA2NDQg
dG9vbHMvb2NhbWwvbGlicy94Yy9kdW5lPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJn
YigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250
LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0
MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVu
dDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1z
cGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0
aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAw
LCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxl
OiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxl
dHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4
OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5n
OiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBu
b25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5j
cmVhdGUNCiBtb2RlIDEwMDY0NCB0b29scy9vY2FtbC9saWJzL3hzL2R1bmU8L3NwYW4+PGJyIHN0
eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBm
b250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5v
cm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln
bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0
aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJj
YXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNp
emU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsg
Zm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3Rh
cnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTog
bm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4
OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWlt
cG9ydGFudDsiIGNsYXNzPSIiPmNyZWF0ZQ0KIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2xpYnMv
eHMvcGF0aHMubWwuaW48L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0
OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPmNyZWF0ZQ0KIG1v
ZGUgMTAwNjQ0IHRvb2xzL29jYW1sL3hlbnN0b3JlZC9kdW5lPC9zcGFuPjxiciBzdHlsZT0iY2Fy
ZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXpl
OiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZv
bnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0
OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5v
cm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsg
dGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29s
b3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4
OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2Vp
Z2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0
LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsg
d29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1k
ZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7
IiBjbGFzcz0iIj5jcmVhdGUNCiBtb2RlIDEwMDY0NCB0b29scy9vY2FtbC94ZW5zdG9yZWQvcGF0
aHMubWwuaW48L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFz
cz0iIj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2
Pg0KPGRpdj5BY2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmNo
cmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbSIgY2xhc3M9IiI+Y2hyaXN0aWFuLmxpbmRpZ0BjaXRy
aXguY29tPC9hPiZndDs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+
DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_40A4752F1DED49828717DA850B694003citrixcom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 10:52:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 10:52:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378678.612006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIT2S-0006zq-3p; Mon, 01 Aug 2022 10:52:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378678.612006; Mon, 01 Aug 2022 10:52:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIT2S-0006zj-0H; Mon, 01 Aug 2022 10:52:44 +0000
Received: by outflank-mailman (input) for mailman id 378678;
 Mon, 01 Aug 2022 10:52:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=omD9=YF=citrix.com=prvs=20515f1b2=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oIT2Q-0006zb-22
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 10:52:42 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0ee9357f-1188-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 12:52:39 +0200 (CEST)
Received: from mail-co1nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Aug 2022 06:52:27 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by BL1PR03MB6101.namprd03.prod.outlook.com (2603:10b6:208:308::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.6; Mon, 1 Aug
 2022 10:52:24 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 10:52:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ee9357f-1188-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659351159;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=2XLUE4svx/ybutnqksyx9pyhDvYHurmU1WwsMkb1Uf4=;
  b=g7qcfoWh/nBhwnL+kDEWj38kiNgoRo9AYY23i7h/CB5zg09xu45nQQIB
   2Uj+fZifHtCuAjWY7UwP8aEYciwOi3aW/T+afL6VZrm1NFtRmNLICIwyZ
   JJPnCEHVMXare7ODbtUln2/DrLEvMk4SAbQadFrZSeYeL6p0mQZMspL7x
   I=;
X-IronPort-RemoteIP: 104.47.56.177
X-IronPort-MID: 77071367
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A+F6/aanjPZiQCaRNELo7Tmro5mJPLRMo1qJN2?=
 =?us-ascii?q?KgaY13mDjIBGkQclgwn+REjZJAM87pTkE+bXEGjtxahkUrByckTgtmrpdm46?=
 =?us-ascii?q?HCXu5yNXCIAvuOhtMdDXXG+x5wSVxvTLmYKLLN5gBafRTB8vwMJDrx8ZwDEt?=
 =?us-ascii?q?p+ztByX0LLqVFFr/D3Q1mnSL/EJDG/sOi+h4BQjf0tHB9S0CebrFqo8wbiSU?=
 =?us-ascii?q?Ew64hbjQwws5cILZZ0m4eurcpDidLfcP4t5PeWmIWgeWgz8jvgxZTXxkbD0f?=
 =?us-ascii?q?GAN40OkGviZrCxtxVu5mNLwhjt8/Fbj+3JS7IZOIsh3hR7ONjf1JD4M6vdbE?=
 =?us-ascii?q?6Vyc/KPeB6/oAep3kyiS5crnNOQ4ltKj8NYw4HWkHC68q+K6hmnp6JrcUPTz?=
 =?us-ascii?q?0GN83fr4JLY87CQeJyrSsLv7OwObWd7g7YkTtZhzfcyVHOEQAzLBG1FgAHap?=
 =?us-ascii?q?WcP+m6HbI9rXzHa/hZEg6EZHR8dP2UpgG8IVAICwQf4B1ZU1dLtolVeR86vc?=
 =?us-ascii?q?QSV1C8mz1PYeRNpVPCauJWUA5Fgdw2JZqnEdV/2pBHQGyXfJgzUhPJOYMVBX?=
 =?us-ascii?q?nacMDGtMHNFUBbd4ELMJHLwW4oXH8sACgSr/I4L4T0U21TorqI+5LOZ8W8d9?=
 =?us-ascii?q?Ah244l1X5z9TPS6lXewgAkTgZUeqLlq5lw/EFCSP86kHnMf9bzD5n5ej7Wvz?=
 =?us-ascii?q?vImxX+Y42Ixlw96W83Kgio/Ctq7CTTxjDbvfpQKvp9ln9z0NZa0NhVwCq0bn?=
 =?us-ascii?q?EHKl6iyJ44KTcydgG3mgCYTlP3l4R8zWgnYw0+AXWe+NpEu7CrRrzLpQA/SJ?=
 =?us-ascii?q?VjK/++rwuz8xza0Mplcpdh8AYJY4w23QLlSEsUcuMFNVO2xwerojIABfcRP3?=
 =?us-ascii?q?z2FrzXmLY4qLfEgWnK4FsWBFJS61cJPPQ4lJozqNZbsHvU2g9WhqUJHwvnkM?=
 =?us-ascii?q?UcTpE+vSPSglpH3cRa6dxlgfkwF+eWdSEEDYc0pjDL87J16dSufJ5ggOXiLH?=
 =?us-ascii?q?uwMnoLZ9c0rWEjiTl62XPC58xVUm5di7IHZ1iJN1+hIecHlDj4fLj8+EjGUe?=
 =?us-ascii?q?4vwNyhGCQ8O7sztCSiy8ykJ9hzSj3q9o5+2mx11LVycoaljiRmQgItekhmtO?=
 =?us-ascii?q?JjVz4Y32P8qCK0S3wEg9q7HnA6+X0318UB8rgxUxEEDi7un8mlxjQ/5JN1eW?=
 =?us-ascii?q?6yElVLDGl3xOBfUzvARKx4fFNUOVfMMR73fuFgGP1FcvMKRAILC4TJwxGmwb?=
 =?us-ascii?q?S2dXbuh7L8+FcqpcLbk/mZ8imzfa4Gx9ya67oSIOtcx4gmyVjepk8hhNn5us?=
 =?us-ascii?q?1Q+8MC11D7EL2rVpWvF7O9myaVrwfhp+WSf+XXW7adlv9eLtKbztJzpZZihH?=
 =?us-ascii?q?W+sexdtykUtQnQ6XEIubtoFor49D5ioZGHcKjg1ZXf9WQaxy6QcY2REKRL+b?=
 =?us-ascii?q?tAFeQlHWIg7uNJSPoTmjCZJlW/8pXEzxs8uaOqwOU9DVvVmimLGKzmXgrZeY?=
 =?us-ascii?q?nn37Tts22tW8Amqe2f1UbbEdi3G6UpK+Ys+cwJi/74RrJQDqkgGqP6p51Pas?=
 =?us-ascii?q?Dz8BEyGZ59YXg0S8bojOMcBpHi4VBiIFwd5eMGI5v6ysa0EFVlzERAY5cvkB?=
 =?us-ascii?q?eqvraEwnpt+5tw+Pva3iPvEL1CPZAUnToI8Jqrng2IMI9VuG0jVCTheM4Q9w?=
 =?us-ascii?q?h1+f/JLCxyaYJVrbJrhEczKBq3abtjuMUwm5MVT28IVUG7siObr+8wffq7mW?=
 =?us-ascii?q?zxx6dvWVNcoyGmY63NIOzZOn9n+W8MRotthLH9cuVupe4Jq60pOlt0QJMsz6?=
 =?us-ascii?q?AC8ZWp1URXw2n3zgBCWkxpm6KACbVt3tEGzp7q9o5cheFhLfoZg1Q07st24c?=
 =?us-ascii?q?pyLIIOAFTOiuZXfxDzS2wVjaiVUqREwSyCnJvOBq2OK16cdR/TFB4Saizxii?=
 =?us-ascii?q?4hL05mlKb9/dVLa3ciWwlcbhgJBKDcPsFH3lKVoOqbHa+KcKLIkJyoKWrwhI?=
 =?us-ascii?q?HbppRCfpolxzZJrI+3gpihNVOJfv/C/zBTMjfrEvIUH5sUflf5Kg87TMyxzc?=
 =?us-ascii?q?3zqo9kHVIIXcj/NL/15xrKPswU2PqfR8pIveOQoAWz/lIzTG0a6Ga+zbnNcO?=
 =?us-ascii?q?lfSWWKXR042dXbgcyLhfl+29HI6vDTmXGKnOhsWSiEpEDCIOmfhdj6wkz7G2?=
 =?us-ascii?q?IsgLqKi5mziIhdYT3GVxfjYNLKct7d2tvrBAJesxOxuqXrAeqGN8qzu3ZIOG?=
 =?us-ascii?q?rmrUzGpczhlUbUJflBWjbJv3j5mUB9VbAvoNOw7/WkFGdxAbA7CZIcfNxr2Z?=
 =?us-ascii?q?zY549EaI7TM89PLvqnpqBKFM/lo3bb1DerDkM2C9j+5Z4QojeKnuMRJQgRSO?=
 =?us-ascii?q?w8VG/YpHO2+GXdi+enZgR22+8Ph6l7ZzxFjXv/hQCCrV7RJPtFTN4erpLk=3?=
 =?us-ascii?q?D?=
X-IronPort-AV: E=Sophos;i="5.93,206,1654574400"; 
   d="scan'208,217";a="77071367"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hyk8LvIFfsIZy4kQfM875co8KCYvqF5JpxHvKVs6vmfbYmPcCwCJvokOanj4qaO1Mi7o5lSGFPrRvD02GPP6MAyPd6Z/c4ZZfFC/9E0TG3JvLlo8uawraquyX29YHR+XpM4kvYuvFuhTcXvPx6IFOR/rljyBOZ2e6x001JC9Ta985l0nsQcQJF8jnaGYohzZ5f1o+IgNxcWY4MFBVQG2CQhua8HwtM6vCvQge7scz0XdEBxEhkN2nWQApBP/8f3FEmYnfuYvXevmUH6WZRG6QFftUxLBPpEaaM8Wy34AkxovIeafoDo/HE9flOvPUhZPn93/LfYWqfvEBGBwK8xO1Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2XLUE4svx/ybutnqksyx9pyhDvYHurmU1WwsMkb1Uf4=;
 b=L1Sx1P3Bbn3QftRO6mHZOV8HR2Ya0KQDGtxAYpmbXxnLDzylIBBIVPxE93+f2O1pxF3HhUhE1q7EiCn1WX34IJwyXnRiG2HqgtisdwZVolAsMJgzdXc3uiMnIeMOePB8Ix1rSrOFz+U5Zvj+BLh9HGO1E9gaQD41rlTG+quxqAPCs+Q9REhFch0hl3pP54/SpiZdhPJkDq0v/YWYqXiLdAnQlj6S4xi2LZ3HaQQi0AYZNPUHPittGUWTTOMYWwGk1nCr34/b6sL7+RG3YunZZ+zk4jK4Pl2v6NM+id/UHgkJ5H4Aswk4Y5zM4jSIJKSt7jCe5gDEDZBa1bB86esVIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2XLUE4svx/ybutnqksyx9pyhDvYHurmU1WwsMkb1Uf4=;
 b=QqsaRbXiTymg1vKpt3WBBAsC3oLVH8oQSC3uQTs84lcF+idCQuyijNkA0b6FOzKawlEQgiuHt7iS4XTrNqw/CyRbTH77xHwTL9a+ygg6xWVAIdzVC0y6Td53ok5/d/BVoD9JQdGxdI4VgpYScS94qrJxVgxOuIrmeC2w4DYLwTs=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Anthony
 Perard <anthony.perard@citrix.com>, David Scott <dave@recoil.org>
Subject: Re: [PATCH v1 3/7] tools/ocaml/*/dune: dune based build system
Thread-Topic: [PATCH v1 3/7] tools/ocaml/*/dune: dune based build system
Thread-Index: AQHYo3Q6xyJAJdfWIEePlnOSZhaf2a2Z4qaA
Date: Mon, 1 Aug 2022 10:52:23 +0000
Message-ID: <01DBE4B2-C8A3-43EB-A312-F55821FDEB32@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <0f2c08734668626a618767680493a006827e123b.1659116941.git.edvin.torok@citrix.com>
In-Reply-To:
 <0f2c08734668626a618767680493a006827e123b.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2346e8ce-cca2-4fc0-6ceb-08da73abeaa2
x-ms-traffictypediagnostic: BL1PR03MB6101:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 LTfJuJFdQ/xfCI/Yn9jrcoGlfoQ8I6x8RwE8IHEj3K9jXu6Hf2EbYRVZpGdmvom6zhEmKE7RicHEUb8ogtOWCexk9CYduBhXW4cmS24GeLvwEnrX1Lht7uqB2bzGHlkVBKjKBVrc/To8fvIX7RwY+rS/wPliFBCm/EjiKYlTelOigUO9Sh5dicB5gDcLylbvTmn8G0oWMjIB8JhwbdNiGHoAFcQu9VgQn/wab5o8oAh5I/yhem93IBB3hJwrZuuF99/lGLgcKrsOmRtGMhbFwB5lQkf94jaADFZgAjBiBAtTZTVlr6QRKToQ+RZiUHdXuNKgATDmDtEBHUfeEA7KN3QJ/qmJq7S04S7eJ9efsKmRsDAWdLYBjzwnz0zMmM4MF7z8umVg2SZP8486Qp0DJcJ97tZ4KF+1FoZ0IJweUYc24uGTE/+NMz42h4VZKMK7fR691qiyCX0x7WrLVdHwCIiYTHkl/r3wrWxV7k8B3VKTvCAZtj1bPDeLhrRf2ClJhjsQKHFsuNt0E9zneCE0atg/L1T88BVdcKMQlcpFhMx9NU4qyOdERMxhRyoj/bLg5ngNFJAdE9Q4EVa15SUqPRCj3f7v32uHheSJsYeo2PVhRBxr8jx4uy2te74LbchN06qTGBn1IxLo7gnVsChM/iEVUoovBR8sYvIsIsFnWkB8U94dk5uXdbCxXMYpSMES4r5spKxG1JQFjqC+/tlm0zuph873yQZ53OyEIzr+70P8BgCKSeH4wKVYUVLqEoYU+2LzOucG3Txgt0tBmexA9afOIfiP/bn6kqBgSJxsDFHZYNQWtex4vfgkn0xJtw7XeWe46h7z6zdV5xL8u6O62A==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(396003)(136003)(376002)(366004)(54906003)(478600001)(6862004)(5660300002)(186003)(6486002)(8936002)(53546011)(86362001)(6512007)(26005)(6506007)(2616005)(41300700001)(33656002)(44832011)(66574015)(2906002)(122000001)(6636002)(37006003)(82960400001)(316002)(64756008)(66446008)(4326008)(8676002)(38100700002)(36756003)(91956017)(66946007)(66476007)(66556008)(76116006)(38070700005)(71200400001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T05oMDA0S29qakt1cWI3S3ZQZHdCaXBraTJNMGxvOWg0ajJRQnczNzNIVWNQ?=
 =?utf-8?B?REpHNlhqbGFyWmRCWXA3dU00TlNTdjVBZmluZ21hVm0wM0RxVzcrOVIwWElr?=
 =?utf-8?B?alJGdWFvaVFLVXJlb2xFYWN6RDhEUGxDUUlNTVFjNERwWGltOXBJRk05RlBm?=
 =?utf-8?B?R1B4eHlINzBGSGNwTkFQOHVhbnhnQ0Z1bDF2dU1xUzJaWXpvRThYZDM3YnRF?=
 =?utf-8?B?bnN3K1BpYnM1NWF6N0NFSnpMN0ZPNUZ1OWRML2RvaTF1NWlTZUZwUktRZDZk?=
 =?utf-8?B?OHVMMk01UGZqd1k3ejFIYnRUZzUrWGRuOS84bW5xa3VTRDhGZldmVEo2eUtG?=
 =?utf-8?B?SmRRWnAxTnErSXEzTm02bUZZb01aK0FCVkZqbDBPOStmcEhaRXFsNkc0MjZZ?=
 =?utf-8?B?ejE1WFR1aU9MZWJwcFM3N2xYNzVGSFVDZ1czU1kxOFd0QWdObzBtUUV6MDQv?=
 =?utf-8?B?WlJmMG0rOTdTa2FFKzNBdWRsRlVxNWYvT1JwaE1JMldSaW1Cb1c5S0p2V1N5?=
 =?utf-8?B?VlArcUd2aFRQdnc4ZkU4RWUxQXI4SjdUTkd3SklQSGd1Ukg2eG8wWlZabnBP?=
 =?utf-8?B?YmthNStCRCsxK0xvVmhoWDhDOUl4UDk3UUlqWVZGRUhxczh1L3cwb3hOejh6?=
 =?utf-8?B?a0dZVWEra0ZUTTBhcVY2WkUvVDFTN05PeFNacWVBK3h1ZXN1OVVlUzdST2Mv?=
 =?utf-8?B?YTlJT01lcnl0WEF2bjZoaHJya3JpeGhqaHJPenZHazlhcStKdERIZ0VxVFA3?=
 =?utf-8?B?ZW91bzE2czd6ZUR6cC9HZm93d3A0VlNKdEc1T21PbzRNbStsTVN4TXFGdFpx?=
 =?utf-8?B?bTFaSXJKNnhheTAyMWt2dVhHMURxaE05eWo0a25ybENidHVtc2J0bFhyblc3?=
 =?utf-8?B?UEFJbmU1dHB3TXRpQ2x5QnpaQTVPelc3OEZEaVdKUVBzbnVBdHhYSzZPWWZD?=
 =?utf-8?B?SXpZcndwNkR1RXU0d3BtYlRhVkQ4cTQxMnBxVGlKb0RKVkpJOG5IL1I1ZHpi?=
 =?utf-8?B?U084M3ZOd0JIcXV3clluc2FmUGdpVyt1dmg3amtPR3h5Uis0TGVhRzNCdVBT?=
 =?utf-8?B?TDVzdHhQUWo2anN3UktYSC9QNlUvRnJJU3NtT2tuODBoVm84aVdzK2xSbzU1?=
 =?utf-8?B?R3hlL1FubFpLc0t4R1Zzd1NwS3NGSDlRNStkN05LZ3BwaXJPbG5XTXo5OWow?=
 =?utf-8?B?VUdDR0F6dHMyMVV0ZHRzd1J2MWc4TktuejRSVE1ZTHZEZUdTVkFGY2tDVGlP?=
 =?utf-8?B?a0hqWlgzdGUwNXk4Y0xqNHZmTXlsajBITW54M1JoVXI3dXNVWVJkcWx5NFZG?=
 =?utf-8?B?czBsSE9IeURZUW9nZFEvTXNVMG15ZC8rVU9kN3gybXljcC93TE9UcWF1eVZq?=
 =?utf-8?B?QWMrSncrbHB2bURBNVpYSWc3Zk8rVkczMHBLYjRKaHdCemZoU3BtSUlGVi8v?=
 =?utf-8?B?WmRJSEtBdVhnTlhSNytzWVBRR2QyMXV5bUJpNm5VOXpDNElubE9nRlg3aWVl?=
 =?utf-8?B?ZG40aEhZVExvd3FHS05wNEY3S3JUeDJKTmltRTR0VjF0S0ErWjhacVdLbThI?=
 =?utf-8?B?Nlc0cTNBK0pqeHkyL2E4UTFMQUQzZ0JuT0dUdXdnWnQ3YjltSFY3KzY3a3V3?=
 =?utf-8?B?VDV3QW5CdXZiRjNwU2ppbFV2SUpmU201Y0dmOHdJM3RteEVBT0xUK0poRXp4?=
 =?utf-8?B?SzZ3TjFvRnBHRGRpN2FwcUJzZ3dNN0NRQ1JiV1kvQTJyby9XcW4wRUdLcEVj?=
 =?utf-8?B?Y3h0S2FRMnVrVG9zanZTRmExTE5tTC9KZWY5S0ZqaTBhbWFDLzdsQkFibFRC?=
 =?utf-8?B?UDRwMU1LTXpsTW1FTzNOd2RhUFF6Q01qc2VpakJUOUJkOXYzSEY4QWwyWVRY?=
 =?utf-8?B?RmQyMmVlb0NSV2pPaHRtUmM3SE52ZlBDQmlTVGs4ZjU5KzVPcEdadkVLNkxp?=
 =?utf-8?B?N2FpOFZjZDhsMFpQWmZBdWhDZ1dYUGIwZDVKcHkxTjdVTEFHL2tNeW1pQk5P?=
 =?utf-8?B?MWhJV2pvSlk3cCtDdDdNZlFRYUxuZW4rRFpScGpUbWluamVUL290VWZURlZS?=
 =?utf-8?B?enl6YnF4bUV4WUhuRWNjZ1RFM252bUsrV0JocCtkT0pxL3hYb3hHTzBybW5R?=
 =?utf-8?B?Sk1OU29xQ0RjQmJZdFdUYUhSQzFxWWJ3K3lZdmtCZVI2dkw5QXhwUmFmcmF0?=
 =?utf-8?Q?zi5zIz9VGQgNxQFu7C2PwdM=3D?=
Content-Type: multipart/alternative;
	boundary="_000_01DBE4B2C8A343EBA312F55821FDEB32citrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2346e8ce-cca2-4fc0-6ceb-08da73abeaa2
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 10:52:23.9304
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Fe5/QlUTMoHm+gMxyGewYzw/OlBQruZ4T0V7WnSadJID99fB/Y9T1DSqJ9or+HkMnMbHgm1FRs5xLbsBtfHUdFecP6clFhBCGY/coQ8cS8g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6101

--_000_01DBE4B2C8A343EBA312F55821FDEB32citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayA8ZWR2aW4udG9yb2tA
Y2l0cml4LmNvbTxtYWlsdG86ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4+IHdyb3RlOg0KDQpCYXNl
ZCBvbiBDaHJpc3RpYW4gTGluZGlnJ3Mgd29yay4NCg0KSW5pdGlhbGx5IHRoaXMgd2lsbCBiZSB1
c2VkIHRvIGJ1aWxkIHVuaXQgdGVzdHMsIGFuZCB0byBtYWtlIGRldmVsb3BtZW50DQplYXNpZXIu
DQoNCkR1bmUgc3VwcG9ydHMgcHJvcGVyIGluY3JlbWVudGFsIGJ1aWxkcyBhbmQgZWRpdG9yIGlu
dGVncmF0aW9uIHdpdGgNCm1lcmxpbi9MU1AuDQoNCkZvciBub3cgdGhlIE1ha2VmaWxlIGJhc2Vk
IGJ1aWxkIHN5c3RlbSBpcyByZXRhaW5lZCB0b286IHRoaXMgaXMgbm90IGENCmhhcmQgZGVwZW5k
ZW5jeSBvbiBEdW5lLg0KDQpVc2luZyB2ZXJzaW9uIDIuMSBvZiBEdW5lIGJ1aWxkIGxhbmd1YWdl
IGhlcmUsIGJlY2F1c2UgdGhhdCBpcyB0aGUgb25lDQphdmFpbGFibGUgaW4gVWJ1bnR1IEZvY2Fs
IChwYXJ0IG9mIHRoZSBDSSBoZXJlKS4NCg0KTm8gZnVuY3Rpb25hbCBjaGFuZ2UuDQoNClNpZ25l
ZC1vZmYtYnk6IEVkd2luIFTDtnLDtmsgPGVkdmluLnRvcm9rQGNpdHJpeC5jb208bWFpbHRvOmVk
dmluLnRvcm9rQGNpdHJpeC5jb20+Pg0KLS0tDQp0b29scy8uZ2l0aWdub3JlICAgICAgICAgICAg
ICAgfCAgNyArKysrKw0KdG9vbHMvZHVuZSAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysrKw0K
dG9vbHMvZHVuZS1wcm9qZWN0ICAgICAgICAgICAgIHwgIDEgKw0KdG9vbHMvb2NhbWwvZHVuZS1w
cm9qZWN0ICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrDQp0b29scy9vY2FtbC9saWJzL2V2
ZW50Y2huL2R1bmUgfCAxMSArKysrKysrKw0KdG9vbHMvb2NhbWwvbGlicy9tbWFwL2R1bmUgICAg
IHwgIDkgKysrKysrDQp0b29scy9vY2FtbC9saWJzL3hiL2R1bmUgICAgICAgfCAxMCArKysrKysr
DQp0b29scy9vY2FtbC9saWJzL3hjL2R1bmUgICAgICAgfCAxNiArKysrKysrKysrKw0KdG9vbHMv
b2NhbWwvbGlicy94cy9kdW5lICAgICAgIHwgMTUgKysrKysrKysrKw0KdG9vbHMvb2NhbWwveGVu
c3RvcmVkL2R1bmUgICAgIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K
MTAgZmlsZXMgY2hhbmdlZCwgMTUyIGluc2VydGlvbnMoKykNCmNyZWF0ZSBtb2RlIDEwMDY0NCB0
b29scy8uZ2l0aWdub3JlDQpjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvZHVuZQ0KY3JlYXRlIG1v
ZGUgMTAwNjQ0IHRvb2xzL2R1bmUtcHJvamVjdA0KY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29j
YW1sL2R1bmUtcHJvamVjdA0KY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2xpYnMvZXZl
bnRjaG4vZHVuZQ0KY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2xpYnMvbW1hcC9kdW5l
DQpjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwvbGlicy94Yi9kdW5lDQpjcmVhdGUgbW9k
ZSAxMDA2NDQgdG9vbHMvb2NhbWwvbGlicy94Yy9kdW5lDQpjcmVhdGUgbW9kZSAxMDA2NDQgdG9v
bHMvb2NhbWwvbGlicy94cy9kdW5lDQpjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwveGVu
c3RvcmVkL2R1bmUNCg0KQWNrZWQtYnk6IENocmlzdGlhbiBMaW5kaWcgPGNocmlzdGlhbi5saW5k
aWdAY2l0cml4LmNvbTxtYWlsdG86Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPj4NCg0KDQo=

--_000_01DBE4B2C8A343EBA312F55821FDEB32citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <346A933D20EF614AB1ECD29A800A006D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDI5IEp1bCAyMDIyLCBhdCAxODo1MywgRWR3aW4gVMO2csO2ayAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmVkdmluLnRvcm9rQGNpdHJpeC5jb20iIGNsYXNzPSIiPmVkdmluLnRvcm9rQGNpdHJpeC5jb208
L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGlu
ZSI+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPkJhc2Vk
DQogb24gQ2hyaXN0aWFuIExpbmRpZydzIHdvcmsuPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29s
b3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4
OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2Vp
Z2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0
LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsg
d29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1k
ZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2Io
MCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1z
dHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAw
OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6
IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3Bh
Y2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlv
bjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwg
MCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTog
bm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0
ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsg
dGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzog
MHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9u
ZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+SW5p
dGlhbGx5DQogdGhpcyB3aWxsIGJlIHVzZWQgdG8gYnVpbGQgdW5pdCB0ZXN0cywgYW5kIHRvIG1h
a2UgZGV2ZWxvcG1lbnQ8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDAp
OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5v
cm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVy
LXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRl
eHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBw
eDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7
IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0
OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPmVhc2llci48L3Nw
YW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVs
dmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50
LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsg
dGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25l
OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0
cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxiciBz
dHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsg
Zm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxp
Z246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lk
dGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0i
Y2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1z
aXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7
IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0
YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6
IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBw
eDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFp
bXBvcnRhbnQ7IiBjbGFzcz0iIj5EdW5lDQogc3VwcG9ydHMgcHJvcGVyIGluY3JlbWVudGFsIGJ1
aWxkcyBhbmQgZWRpdG9yIGludGVncmF0aW9uIHdpdGg8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1j
b2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEy
cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13
ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRl
eHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFs
OyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0
LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjog
cmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZv
bnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6
IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5k
ZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3Jk
LXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29y
YXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNs
YXNzPSIiPm1lcmxpbi9MU1AuPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAw
LCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxl
OiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxl
dHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4
OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5n
OiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBu
b25lOyIgY2xhc3M9IiI+DQo8YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFs
OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3Bh
Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10
cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAt
d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNs
YXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250
LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzog
bm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zv
cm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0
LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5v
bmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+Rm9yDQogbm93IHRoZSBN
YWtlZmlsZSBiYXNlZCBidWlsZCBzeXN0ZW0gaXMgcmV0YWluZWQgdG9vOiB0aGlzIGlzIG5vdCBh
PC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6
IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3Jt
YWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTog
bm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4
dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8
c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxh
eTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5oYXJkDQogZGVwZW5kZW5jeSBvbiBEdW5l
Ljwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5
OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZh
cmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9y
bWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06
IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRl
eHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0K
PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0
aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNh
cHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4
dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3
aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9r
ZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0
eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBm
b250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5v
cm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln
bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0
aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxp
bmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPlVzaW5nDQogdmVyc2lvbiAyLjEgb2YgRHVuZSBidWls
ZCBsYW5ndWFnZSBoZXJlLCBiZWNhdXNlIHRoYXQgaXMgdGhlIG9uZTwvc3Bhbj48YnIgc3R5bGU9
ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQt
c2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFs
OyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBz
dGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNl
OiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAw
cHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0
LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTog
MTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250
LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsg
dGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3Jt
YWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRl
eHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0
YW50OyIgY2xhc3M9IiI+YXZhaWxhYmxlDQogaW4gVWJ1bnR1IEZvY2FsIChwYXJ0IG9mIHRoZSBD
SSBoZXJlKS48L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFz
cz0iIj4NCjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6
IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3Jt
YWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTog
bm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4
dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8
c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxh
eTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5Obw0KIGZ1bmN0aW9uYWwgY2hhbmdlLjwv
c3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBI
ZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh
bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs
OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v
bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQt
c3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPGJy
IHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNh
OyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6
IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1h
bGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0
ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13
aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxl
PSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250
LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1h
bDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjog
c3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj
ZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDog
MHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUg
IWltcG9ydGFudDsiIGNsYXNzPSIiPlNpZ25lZC1vZmYtYnk6DQogRWR3aW4gVMO2csO2ayAmbHQ7
PC9zcGFuPjxhIGhyZWY9Im1haWx0bzplZHZpbi50b3Jva0BjaXRyaXguY29tIiBzdHlsZT0iZm9u
dC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7
IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFj
aW5nOiBub3JtYWw7IG9ycGhhbnM6IGF1dG87IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVu
dDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dz
OiBhdXRvOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRv
OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IiBjbGFzcz0iIj5lZHZpbi50b3Jva0Bj
aXRyaXguY29tPC9hPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0
OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPiZndDs8L3NwYW4+
PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0
aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNh
cHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4
dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3
aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9r
ZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0
eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBm
b250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5v
cm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln
bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0
aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxp
bmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPi0tLTwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9y
OiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsg
Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdo
dDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1p
bmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdv
cmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVj
b3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2Io
MCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1z
dHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAw
OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6
IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3Bh
Y2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlv
bjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9
IiI+dG9vbHMvLmdpdGlnbm9yZQ0KICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wgJm5ic3A7
NyArKysrKzwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQt
ZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2lu
Zzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFu
c2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Vi
a2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNz
PSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5
OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZh
cmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9y
bWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06
IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRl
eHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7
IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvZHVuZQ0KICZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
O3wgJm5ic3A7NSArKysrPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAw
KTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRl
ci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0
ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAw
cHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25l
OyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9u
dC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7
IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFj
aW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRy
YW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13
ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9h
dDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj50b29scy9kdW5l
LXByb2plY3QNCiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8ICZuYnNwOzEgKzwvc3Bhbj48YnIgc3R5bGU9ImNh
cmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6
ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBm
b250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFy
dDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBu
b3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7
IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNhcmV0LWNv
bG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJw
eDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdl
aWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4
dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7
IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQt
ZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50
OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwvZHVuZS1wcm9qZWN0DQogJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7fCAyNyArKysrKysrKysrKysrKysrKys8L3NwYW4+PGJyIHN0eWxl
PSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250
LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1h
bDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjog
c3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj
ZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDog
MHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJl
dC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6
IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9u
dC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7
IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9y
bWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0
ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9y
dGFudDsiIGNsYXNzPSIiPnRvb2xzL29jYW1sL2xpYnMvZXZlbnRjaG4vZHVuZQ0KIHwgMTEgKysr
KysrKys8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZh
bWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9u
dC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6
IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNm
b3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtp
dC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0i
Ij4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTog
SGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJp
YW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1h
bDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBu
b25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0
LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBk
aXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPnRvb2xzL29jYW1sL2xpYnMvbW1h
cC9kdW5lDQogJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCAmbmJzcDs5ICsrKysrKzwvc3Bhbj48
YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw
czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0
LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl
LXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5
bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZv
bnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9y
bWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWdu
OiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNw
YWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo
OiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGlu
ZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+dG9vbHMvb2NhbWwvbGlicy94Yi9kdW5lDQogJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCAxMCArKysrKysrPC9zcGFuPjxiciBzdHls
ZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9u
dC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3Jt
YWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246
IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3Bh
Y2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6
IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2Fy
ZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXpl
OiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZv
bnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0
OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5v
cm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsg
dGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBv
cnRhbnQ7IiBjbGFzcz0iIj50b29scy9vY2FtbC9saWJzL3hjL2R1bmUNCiAmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8IDE2ICsrKysrKysrKysrPC9zcGFuPjxiciBzdHlsZT0i
Y2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1z
aXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7
IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0
YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6
IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBw
eDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQt
Y29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx
MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQt
d2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0
ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1h
bDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4
dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRh
bnQ7IiBjbGFzcz0iIj50b29scy9vY2FtbC9saWJzL3hzL2R1bmUNCiAmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDt8IDE1ICsrKysrKysrKys8L3NwYW4+PGJyIHN0eWxlPSJjYXJl
dC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6
IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9u
dC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7
IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9y
bWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0
ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xv
cjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7
IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWln
aHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt
aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3
b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRl
Y29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsi
IGNsYXNzPSIiPnRvb2xzL29jYW1sL3hlbnN0b3JlZC9kdW5lDQogJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7fCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrPC9zcGFuPjxiciBz
dHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsg
Zm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxp
Z246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lk
dGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0i
Y2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1z
aXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7
IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0
YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6
IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBw
eDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFp
bXBvcnRhbnQ7IiBjbGFzcz0iIj4xMA0KIGZpbGVzIGNoYW5nZWQsIDE1MiBpbnNlcnRpb25zKCsp
PC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6
IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3Jt
YWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTog
bm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4
dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQo8
c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1j
YXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRl
eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg
d2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv
a2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsgZGlzcGxh
eTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5jcmVhdGUNCiBtb2RlIDEwMDY0NCB0b29s
cy8uZ2l0aWdub3JlPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsg
Zm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3Jt
YWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1z
cGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0
LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7
IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIg
Y2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1m
YW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZv
bnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5n
OiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5z
Zm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJr
aXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDog
bm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5jcmVhdGUNCiBtb2Rl
IDEwMDY0NCB0b29scy9kdW5lPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAw
LCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxl
OiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxl
dHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4
OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5n
OiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBu
b25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsg
Zm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3Jt
YWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1z
cGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0
LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7
IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBm
bG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5jcmVhdGUN
CiBtb2RlIDEwMDY0NCB0b29scy9kdW5lLXByb2plY3Q8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1j
b2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEy
cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13
ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRl
eHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFs
OyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0
LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjog
cmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZv
bnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6
IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5k
ZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3Jk
LXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29y
YXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNs
YXNzPSIiPmNyZWF0ZQ0KIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2R1bmUtcHJvamVjdDwvc3Bh
bj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2
ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQt
Y2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0
ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7
IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ry
b2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4g
c3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7
IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczog
bm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFs
aWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRl
LXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdp
ZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlu
bGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+Y3JlYXRlDQogbW9kZSAxMDA2NDQgdG9vbHMvb2Nh
bWwvbGlicy9ldmVudGNobi9kdW5lPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigw
LCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0
eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7
IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDog
MHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFj
aW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9u
OiBub25lOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAw
KTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRl
ci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0
ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAw
cHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25l
OyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5jcmVh
dGUNCiBtb2RlIDEwMDY0NCB0b29scy9vY2FtbC9saWJzL21tYXAvZHVuZTwvc3Bhbj48YnIgc3R5
bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZv
bnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9y
bWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWdu
OiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNw
YWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo
OiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImNh
cmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6
ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBm
b250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFy
dDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBu
b3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7
IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1w
b3J0YW50OyIgY2xhc3M9IiI+Y3JlYXRlDQogbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwvbGlicy94
Yi9kdW5lPC9zcGFuPjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1m
YW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZv
bnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5n
OiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5z
Zm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJr
aXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9
IiI+DQo8c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6
IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy
aWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3Jt
YWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTog
bm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4
dC1zdHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbG9hdDogbm9uZTsg
ZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5jcmVhdGUNCiBtb2RlIDEwMDY0
NCB0b29scy9vY2FtbC9saWJzL3hjL2R1bmU8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjog
cmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZv
bnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6
IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5k
ZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3Jk
LXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29y
YXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAs
IDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5
bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsg
bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAw
cHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNp
bmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246
IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIi
PmNyZWF0ZQ0KIG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sL2xpYnMveHMvZHVuZTwvc3Bhbj48YnIg
c3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7
IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczog
bm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFs
aWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRl
LXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdp
ZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9
ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQt
c2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFs
OyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBz
dGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNl
OiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAw
cHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAh
aW1wb3J0YW50OyIgY2xhc3M9IiI+Y3JlYXRlDQogbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwveGVu
c3RvcmVkL2R1bmU8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBm
b250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1h
bDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNw
YWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQt
dHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsg
LXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBj
bGFzcz0iIj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8
ZGl2Pg0KPGRpdj5BY2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbSIgY2xhc3M9IiI+Y2hyaXN0aWFuLmxpbmRpZ0Bj
aXRyaXguY29tPC9hPiZndDs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9k
aXY+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_01DBE4B2C8A343EBA312F55821FDEB32citrixcom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 11:02:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 11:02:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378687.612016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oITBl-0000Fe-5q; Mon, 01 Aug 2022 11:02:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378687.612016; Mon, 01 Aug 2022 11:02:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oITBl-0000FX-30; Mon, 01 Aug 2022 11:02:21 +0000
Received: by outflank-mailman (input) for mailman id 378687;
 Mon, 01 Aug 2022 11:02:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oITBj-0000FR-Vc
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 11:02:20 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68dab445-1189-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 13:02:18 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DU2PR04MB8677.eurprd04.prod.outlook.com (2603:10a6:10:2dc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.11; Mon, 1 Aug
 2022 11:02:17 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 11:02:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68dab445-1189-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iJUZRwZVPAeTgiiE2hVj0/aGGzxPw3iurSCasjx63s920b4PbZpCtbIR5E38qaNNkANxL0MLub55lMzs0wagSYhpX3oDml4pAUXN5k6ASIrYUvyHynMLLDa/MsG7fJSxTHDgS0/Zczt/jH2+tlz3bDpp5eGohPcYA09OYS/oGk6ZHfbBf78+gjCIz1P6u5xrymnkHEggXBN185pNBh66yZr81/imwCig6hmA/rtc46oDW6o8jxrGqr/HBNQXYpbETUrTzWCXIUWln9NZ6V/VXQtKEFmAg/nV4sVBQHqTZrehxrTtXarqGQWxT4JD5BrlOIK03bdiJcLM/g4sJI6I/Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IFIA8bg01IggligMdL9rmyK4dzg2+r+xoKYewqwRoVo=;
 b=LR8qDhd1fGb8rHE856sOZ7pK1TysQUGR1fAJ8rAlJhHJaeh5MoJfWOF+v65tg4fW28Wj8G+iOgFpqtgcr0zXBfUcgp/Rfl55AHXuuUgV59qZao2vXeDiNtTUi9GXEp8h7+QjMVnUxOwxryKb55AVj1klQEC6SNsXO9PMbxy/J1vHevVsDltv4YTA0AuNyuerkndc2fFh99GFMpSDsPC3VGB18tBC7vXEm4NYzR6TPwcewaK0w58PQEHJNLbTJ/eofp4Ks0u4UtNyzoT5HftUBcauxP16ta0DjXcc+EVZXY/gRPV1ppyU8LUSW/ojIcO38dCz/8Iao/eKAYRwfpSHbg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IFIA8bg01IggligMdL9rmyK4dzg2+r+xoKYewqwRoVo=;
 b=pjlpXzucnVyiT+3Zcc/pI0aaA6IC72Ap4TZPqgZAdkYe1Bk8x3GoFhqM3NDRPkqFWRcQKe2ASJo6GpptgRiF9FFIxdEhc/mMBoIiqt6kmquN7tqTcq7HQ5Rl9o09hkQOek3TtjhI2BL6c20l3yz6idzpzcYkNDWw+NKzu4g1sI+7CGKISbIScsznmJ+pBvG9iLDz8qiXIc5LLQTBORKHs1po2D4+aS52gw1Qu4tCM1VcdyWy05hNjsQ4bvIULFetHnYBRfSq9M3cc/Qbc15hS2if5OoyjLagT10R1zkxFNA+t68CUAQXI3Hs03IyMz+1W59KJvwTrPS4VZsts+tsSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4e717a7c-f5b8-74e3-e830-a75c9b5b211b@suse.com>
Date: Mon, 1 Aug 2022 13:02:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/arm64: efibind: fix MISRA C 2012 Directive 4.10
 violation
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220801104311.1634742-1-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220801104311.1634742-1-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0144.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::19) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4961111a-98ad-4877-ef94-08da73ad4c3e
X-MS-TrafficTypeDiagnostic: DU2PR04MB8677:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oYd04AucT7rboxS580tMcCYEvx2KEp54NAbjFF3hfNWIdKVUR0fqm9fILUSNfklAqbb09fUeKjGj2yE9yRpuoqRNFrbblwvlwPWeL8enbmXXDIJeBzXbRIsEKFOTGA/LO9Fd/BsvSmQLwJP2mQrUbRGmbwj/EW2AGnkBCt7G4EhjbpdA3OYEkYkAvrk3qdrh3wqQY8qmUIqERDhZEi19Tp+DyqxKUbgl0pyI/2FBpi74GdrhbIxX4TepLSVrjw3q0NTBpc07XRANRjLIy+SRfOpVkP6QV72HvD6ue8P1bgPHYTRaE2gqUs/7Yh1T517rRZUgcrXMZ1KT/M9o5wh7uzRlK0F2LuUXnJDS9zk7tDw7LrPMpMa1KFmEfnLkBl6u0GiOICLUUwpvtTA4Z/Va9oMPWBL94eNZUaMJhiKxvYMGvNQsL1XeT7t4bvqsDXVeAa7aCxAqI2ee/DOA/ja7/ay2Fwt2+KIULhe9T6zYfnA1SWwpnptkkgYxk1/vgAG8u3r0RrOWNMBYpDs41MjSd45DTGVXYkf5KwjKT9SlWf31xh5TzeVlMl8RV9RJKEgJPTTqJ7k0Wb+hGuYvNZhHDLIEHyPul43xoQrq9bv5J4e85YmXOdygbUBaIlwqWFf6v3qBkE2bsEKS+tf4zZK4cwREep1Bg1QlPuGf5Twzmr7A07pg7G6969dGpGN2y6u2n8EWhy8aW3e2oqPQhScRYw+DXtolSE+Ny2gnxnqhgn2AFErRWBlbI5yhQyBcXXmy2FPW/zbw+PTxwK9Q0xl6Fv0MbWZtF5U5GqqfyBrinD+0DkincJtRE5WXRbDpEQ7xXZmZHvVkOtwzWHYxP5UezA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(39860400002)(396003)(136003)(366004)(38100700002)(31686004)(186003)(6512007)(2906002)(36756003)(54906003)(41300700001)(6916009)(316002)(86362001)(66476007)(66556008)(66946007)(83380400001)(478600001)(8676002)(6486002)(4326008)(4744005)(5660300002)(31696002)(26005)(6506007)(2616005)(53546011)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N1JiT3duZUpwUENIR2xyZHJiTDIzZUFUY0xiOGJ1N2VKKzBWVTVxc0ZlN0xQ?=
 =?utf-8?B?UEFVTEhQQzUwNW4rZnNrV1AvMHBjUHNFMWRpcXR5REZ6eHJtQUtRR1V2WWZU?=
 =?utf-8?B?aVV2dGFIZXM5cGQyOVNheUtmY1dDVm44Nk9vRG5FK05uSklDM1VkWmtoVDcy?=
 =?utf-8?B?K0lQTTAwZ1ljZ2JKWHRUaC9FVjFPZzQwNXViS1JMUTk2S3ZJWm9GME5INEYv?=
 =?utf-8?B?dituL0I0SzBUWkU0WHAwbXB3SnF3NVBBWEVSaTlLR3MzN0ZvWENXL1dYcGpl?=
 =?utf-8?B?TnhNckprK095Nm8xK2tBaUxGZldSOTVSdXJNQ25NV28rNFVTY2luKzFDY29V?=
 =?utf-8?B?VGs4MXY2aHhWOWkrdnEwZzBldm5tMGNWNEx6blFZTFd0ak4zL0RmR1F6di9h?=
 =?utf-8?B?cCtZVWpERUhmSkYzRVNuMi9pbThZZzN1MkViMTE5MGxsUW8zVG9JWTd1WU9W?=
 =?utf-8?B?Rm55emNhVFhub25iSmFIdEo2TzRPU3JqUzdhcGxzZU5RZU0xYmxlZHBmNVk0?=
 =?utf-8?B?a3B2SnZaSFRNa1NwaEcrZnJYVjBhQW1ieTFlMGVpWDZ2Rkw5aHh2bmZLTm82?=
 =?utf-8?B?cTl6S05GN0F1MG9HN2IyMkZsbUtjRkFvSlRSV1lCcDNLWVNzNlQ5UEFqblFn?=
 =?utf-8?B?YmZob0Ftby93TWc5a1hkeEJUb1NkUGRvY2l4L1lZK0tuYW92S3ZtOGhRazBw?=
 =?utf-8?B?OEZHdHpkTjM3YjUxQmJHSHA3N043cG5EcDh3emlYWXhIWVBwbG5OamxDbTV5?=
 =?utf-8?B?enpuYmdWVEd0RytsMTM3Nnk1SDJsd3lLYUp0YnRCdXRjUGZwaDB4dmZ3cExE?=
 =?utf-8?B?RVQ4NlErZHRuRFNzMW90ZVhCbkZ5a0tIQSs5dE9NUFUyczYxOHZpWUlIK1dh?=
 =?utf-8?B?Q0ZUYmNldzZKcEx6Zm9IRUx1aXV2cUY4bUpERmlDd0VtVmJqYlhhRm0vYzI2?=
 =?utf-8?B?RHhhV1lYaUFieTZtYkVmRWExbVNtOWovcWpwbk9HbnA1OE0zclZRaUFOU0xJ?=
 =?utf-8?B?VVUzTjlTVHVEVUF3ZFRZS1lwKzJid3pTR0dLZitWWkRZaUxUZkcvVC9BZGNC?=
 =?utf-8?B?bVBLeEp5Z08zcTV2dFFmUzJkQlM5RUNENEJrNUpnaU1MdXRBTS9UMzZvQ3Iw?=
 =?utf-8?B?UER6Nktpc1pMWHZhUGlISS9DdUF0V2NSaWdWamV6MTRGSWhxMU9oUkNtTWlz?=
 =?utf-8?B?dW5rUzA1MGpmZEN5Q2t1NE8xblRVaXFicWl3RXQvV0dwaGhCbTBNemUzMS82?=
 =?utf-8?B?YlRXRDgxanN0VEZXSFNXTjU0UUhiRlVMSXc3aG0vWE1hZjV1cFRzT0k5MHJQ?=
 =?utf-8?B?all5eHJ3Skp0TnI0SlpaS1BZSmF4d3diT21ScWo2Rmc0SkVVSFl1RzJGcGpH?=
 =?utf-8?B?b3E2ZmlTcjl5dGZDK3V6dk0vcW1JakVGdEMwUG5jblFsQzRTcFVRTXcyclJu?=
 =?utf-8?B?R0xnSEdnUHkveFVRdnF0b1NHaVdITmRSNVprYlF6bXRYUkZLK2xHZ3ZmWXlq?=
 =?utf-8?B?b2t5cmpFZERkYlRLdGlzS05YQjhuNjJWVFVmYWhtWlJzQXpma2RHdUM1K1p5?=
 =?utf-8?B?cnlobEFpT25la2E2VGxQOEtWOVk4anZFYlFvSVlKa0FnUXhCdm9yMktMemxM?=
 =?utf-8?B?T0xZZmJUTUgvK01TVWR5enZGdU55UXh3eFdBUnlGR2hpbTQrZytTR1o1SDNl?=
 =?utf-8?B?MXJzVkdLdEdqbjUzZ3FHTk04ZThBRGo0QjBMSFV2Yy8wKzArQThqMWtRWHF1?=
 =?utf-8?B?VWZUN0ROdTJmRGd1cXo0UHdwbG9ZU1dGbzR6SFlCcndlM1JNa1dpN1VzNDA5?=
 =?utf-8?B?YXUwWmNFMnFMcFhJUjNwcHh0eFhlTFgvMzNNZFZaeWxhY0szQnpLZWZTRTVt?=
 =?utf-8?B?ZmVTbzdMSzFmZm5vanBRZW9tT0NNeHB3S3k3TmFyV0NXN21nSEN1Q0xOMlJC?=
 =?utf-8?B?dDNtOGpuR1Vzc3VwTGx1Y09CYVhOb1NpR2o3c0wzMkdTN2ZrdmtvMWVraEJp?=
 =?utf-8?B?cCs0K0NvNkxzZkFDdCs5aDZXcDBFU3daUnh6bmpLU1laMzNyOGJRZG0yWkEy?=
 =?utf-8?B?dHhZeUpGRGhvZ3ZjTlRWcGR4Q1dYMVZuV2ttOGN4OCtVSDNURmlsYzV3dTJZ?=
 =?utf-8?Q?0jFKtInA5OUbO2rlxV+65LWhZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4961111a-98ad-4877-ef94-08da73ad4c3e
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 11:02:17.3794
 (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: CWEjrsPcffWMLB4apIXHb5Z6isj/OnspM9IIkNxyn9MNmfgZjtAsxtZzonLvrvPs+qygTmLHmdBHFNaB0v+DWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8677

On 01.08.2022 12:43, Xenia Ragiadakou wrote:
> Prevent header file from being included more than once by adding ifndef guard.

If such a change is to be made, please also adjust the x86-64 instance of
the header.

However, these headers are inherited from the gnu-efi package, and hence
should see as little customization as possible (you may have noticed
that we didn't even correct the bogus "Module Name:" value in the x86-64
header). While for this particular change I'm not outright opposed, such
an exception to the usual handling would want recording in the
description. Actually - at least the x86-64 header has meanwhile gained
a guard in gnu-efi, so that one likely will want importing instead of
adding a custom one. (I'm looking only at 3.0.14, which I have readily
available - there may be a guard even for aarch64 in an up-to-date
version, so please double check.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 11:33:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 11:33:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378692.612028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oITfs-0003tX-IF; Mon, 01 Aug 2022 11:33:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378692.612028; Mon, 01 Aug 2022 11:33:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oITfs-0003tQ-Ev; Mon, 01 Aug 2022 11:33:28 +0000
Received: by outflank-mailman (input) for mailman id 378692;
 Mon, 01 Aug 2022 11:33:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5xi4=YF=epam.com=prvs=0212f62cb2=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1oITfr-0003tK-Cr
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 11:33:27 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfdcc1df-118d-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 13:33:23 +0200 (CEST)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 271BWghx013544;
 Mon, 1 Aug 2022 11:33:20 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3hmsu3w5cg-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 01 Aug 2022 11:33:19 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by DB6PR0301MB2471.eurprd03.prod.outlook.com (2603:10a6:4:5b::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Mon, 1 Aug
 2022 11:33:16 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::d87f:d45e:b2c6:c21]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::d87f:d45e:b2c6:c21%6]) with mapi id 15.20.5482.012; Mon, 1 Aug 2022
 11:33:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfdcc1df-118d-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lt2jFCEVuM2OYc9mLEVwkk7oKMgTMy4pXWbnJHH+njs8zWcPQAXdVPnJdygSKkAWeklndp/KawWOGaOU13crbJMaueUgfVZhWlXq8vBHlhaF2NYnwHyAQpfW6MVrv8d8yJ1t+ylqAQ627607UsmPOSU7uZ/ep2zwK4g7tastGYfM4QsR5aibbsf1Be+fXrsCZCVZhJU5piahH2dzyrQ8I8WoTeQQlqBQH3UUBx4e1vsh080P5cXQPnD1nkJsd04wtw2fNI3C0tJXOvJNtbTol9pxWn/pdtU6gieHI+tUzp6tJjgT1JwrEsUUyYAZ0otyD9ccFjEL3ulMH9tFYrXlbA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y9GM8/PaGLbiCn+7mZuAkeKzw+BCrOyqvnJ+aj7hOkI=;
 b=V9M1woD4kODB3Egh+j+ROWFC5aIV/sivE78a5MHZJrr5zRexbkocVeh1WBH/lJkjTlnf9h1RlGS+vkkgpGhBJbOnKtfDF0N6d3nj2bjOqUcLxUmgGb8lqM9M4JEtBmVMyiJaxWdUJ+iAQz6x+TSVUnwdYtE2XoVdGAfSX9NMF6McebUi937dvkDOQmXdYcn5ZhMGXr2Xa78eroudkatl8u+B0Ha9GAAMfmnGXKC15HXHoe+J/qQoC7+8ut1MZ9KAjzpaJnl9B4iHUbMXDXpyOSQpcDd6EluA8bRXs1LFx8XVv+9n5OgzqlQGWyJVVoqwLWkda1ThBe/tggcqRPSZWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y9GM8/PaGLbiCn+7mZuAkeKzw+BCrOyqvnJ+aj7hOkI=;
 b=NwAVkgLRgqxRjYYEDql6ynRp7hPbr9P3stdVcPRTtbkA4x8XjWR5ISib48EXMcn0b01/Xviam7r42q2mgb6O1IiVhOTCFoV8ca4Qeux0FWY6pdlG4trSGiXklAd67e08JtM1JZOdhHVG5yl+qkNJrWC1Vx+FmAJHupBP952fUUuGxLnHomQUr/9U05usPBzNMldRJNk3ihD3G7dy+Hn3iSTJEb0VGzuVOZud9IX0tB6B5Ouf1qM9ckvDb0iolNpD6ZR27QSF8XpTBggZlvN0X1RO9bCrmncWHDNjumPVk33C2PPAtKdYqj6U78821LtTjOh+fcez7elKtiJ1wvFoyg==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: =?utf-8?B?TWljaGFsIFByw612b3puw61r?= <mprivozn@redhat.com>,
        Julien Grall
	<julien@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>,
        Oleksandr Tyshchenko
	<olekstysh@gmail.com>,
        "libvir-list@redhat.com" <libvir-list@redhat.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
Thread-Topic: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
Thread-Index: AQHYo2LxAJfFyrYZl0yAxDOX72EKfq2ZuUUAgAAHp4CAABWkAIAAF6SA
Date: Mon, 1 Aug 2022 11:33:16 +0000
Message-ID: <428c044a-48f3-7a4f-fe33-1a154c4dac14@epam.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
 <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
 <8947085c-bcc4-e599-0636-3a7f1f7b9ac6@redhat.com>
In-Reply-To: <8947085c-bcc4-e599-0636-3a7f1f7b9ac6@redhat.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 42d81da2-fc45-4f12-453f-08da73b1a04c
x-ms-traffictypediagnostic: DB6PR0301MB2471:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 ul9+2f7phXCh56jXEx37VQ4ZTxhABGfat7hJiWl69WwXPzQle6EVqTxma82biFJASzbWHgh9lIY1M80TH7r3KzDBdJ1FQaA8a5z9aoQfnxWwLSvceCtfQPyddhRTButAaWx4g1q2ZEVRms2rsg+J4HCVnmP4b6ljyRscXcG3TRhKFdJcMMLIW2NkuFn4i38wHKGAHIUKTezLE+AA/Qzo6PFZt7DV0iPZHvNrKTj8qiTTRCZH5CPGTe6WWP2Ov2fDyp43OSiUG9E/Iz/LEognCWm34Wy3XPJVHulXs3jjgXTqWrDOSxhI4bmW9Uvf/h7p5D4QzK6W/TEZQbqJ/42hosnI11Sz0eGJjg7vn8rrba5w+cZ+wqUfdIW9euZQLtljbHd6GYUrMrtuk0GoNVEJb/6A/6Z1mAOQ09UwZAn/YQ//SWmSq5tTW71AFYf8ARAkLWMxJFxaXm3n6870ytuokZMgFE34xbbyB3ul/KDUNUxhQx6nnrU3ltgTjU00eaMFgp+zxrxt4Uvqa6fU07vT3VOZz88BPqQL201f3FLSLf/2YLTHoiTzki4Y9ecJTDVhm+eBZSQBO0KHwG1lpucmHtX34lo8CNG04GQ+Qs5+GCG6OvjjD0OlExkgSoM9q3QhIhNeIIpCHUtIUwsVsUJpoSLcadB/tO0/cIzmrc6UC2m6uHbZ5n+TnfUX4eHEU+h4y04M2CxCB5e/ALwQ1gIyhz6N+t2JVpjTzAPsFzaGtDXVucP6jnMZzmqgzkbYbKnDbHOr6JqiQiijisw24mY116EmacCb6ArLR3UZiT4xbKhgX9Jqx1SnUWkG8Tl9RbRfvHmQEIFahZWTQWuhkcDUkLUEWFuZIYKnGJlbRkhGGs4=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR03MB6108.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(366004)(39860400002)(346002)(376002)(91956017)(41300700001)(6506007)(186003)(53546011)(55236004)(66574015)(6512007)(83380400001)(26005)(2616005)(38100700002)(38070700005)(122000001)(8936002)(5660300002)(2906002)(36756003)(478600001)(86362001)(31696002)(6486002)(966005)(71200400001)(8676002)(31686004)(64756008)(66476007)(66556008)(66946007)(66446008)(4326008)(76116006)(316002)(110136005)(54906003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?Uk5aQ1prckNyb3hoUkYvUjQwNEYvNkZLY0tiRkRORktlWlpkK3ZscGVqWGsr?=
 =?utf-8?B?bVl0U1pJVG8xMmc1RjUvUzBlb0wxSVZOa3FsWmdqU2JpUU5sRVljclZqK2xh?=
 =?utf-8?B?aVlvQ215cUFzakQ3QlhnZ1RDQ2Y0bS9zNFdaV1grTWVqUEp3WWNCa3lpZkRX?=
 =?utf-8?B?ZlpoK2YreWs5YjFSRHZreER1dnAvcDNHWG5OWktubUNjYncwSnVHUUJTUmJq?=
 =?utf-8?B?Mldvc09BSzU0OXVjQTgzOXdSTFcyM0ptVklKQ3crUXhSUnR0VTdXdGllTlkz?=
 =?utf-8?B?Z09Wd3FjMVpmMi9iUEZxbDBrYUgycDBTbEI0SzllV3JGWENJc1laa2JiRFIx?=
 =?utf-8?B?SjBBWFIvVFRiM0ZZemFEVTd1RTdndnIxSkxqM2ZzRGl3bjNZaitHOU5EaHlM?=
 =?utf-8?B?NE1zNkxiMjY2YjlzWURvcm9CQ281WmFRbnJEdDJWTEgzQlJmN0JFb1JQSUxB?=
 =?utf-8?B?UExnUzFnR3JDbkorcXZZSjZmL005ZHlCQjZYNlZ4SDZGL01xbElyQllXSjdS?=
 =?utf-8?B?WmNKellkVHNBK2NKSzA0WjBRRTg1M0RUV1lQMGRJZGNqQUU4Tkxyb2VZYWd0?=
 =?utf-8?B?Y2Q4TzFlV0FUbkgwbWdKN1hDUkJ6eUdLSzR4UE00YW1sUEoydVVhRE9nRGlt?=
 =?utf-8?B?YkRITEdndVVpR1c3YnlvajlOOUN5RXBvbi8zWmRyZU1GK0NBVHc0bnc3Nkhx?=
 =?utf-8?B?Wnkzbm9ISUtiR0Z6VjBwUUoxWitrcG8rKzVEYVdobWxnTU43Wi9NRjBVV3R5?=
 =?utf-8?B?S0hYOGdwNFU0THBhMHpoUWZxVUpiSWpicFV1QWlQWncwNTRsSDNtcDBPSnZo?=
 =?utf-8?B?Q0dDOWNxNEcxNkJBcUxBYU5pb0FXaVBuQ3NpNGRSTHFTUTVJL251aXVtQ09T?=
 =?utf-8?B?VWVVemd2TytWT0ZRc3JoaDhhSTRTcitUMnZCYmZlejFjTUxsWStxZjJsWXhX?=
 =?utf-8?B?LzA1bk82cVdpMDFWanR6cFVyOWNNVmtReVFjeDdYU2ROYks2RFZJd0puN0JS?=
 =?utf-8?B?YVpsenIzOGRQMVpBbXpuN3lBTmNMYlFtQmJkbExFTVY4ZE9JMDZVUGZxM2NP?=
 =?utf-8?B?VTJoS0haaXdIaG5UU1h0ZUQvZXVjUkRLaTc2aS9KY3ZMZkpKUTZBRkMrWWZ0?=
 =?utf-8?B?OFBwOW8rS25aMXYySEd3eHE4c2c2blRNb1hLdktINmJNT1JETmQ3d3FmRnRO?=
 =?utf-8?B?QUdBWFUzL3pvTzhQOXdGMmlyUjhRblJCazhnaE8yMUo3RHNnbGdzdTVyZlVU?=
 =?utf-8?B?R2NKUjJzZkdKU1ZqbDhuUVdyVk5SeStUQTR3RTJYSTVMMW12bXZER09xWGw2?=
 =?utf-8?B?WGlPYk9INCsxVWdtNTlnUTU5M1VhMnJ3ZzVObHZOZEkycHVIUks3bXVHWlIr?=
 =?utf-8?B?YTU0UVgxUDNDSVJ2Mm1xYkYyY0RYWmI1cmNIUitURDRvUFBBTlhCeFFTQjZE?=
 =?utf-8?B?U1N6blVpUGdGaDM1TnBmMndqd1ZoZUlQcUZPa2pqVXRUNlp0R0k4MU1vMFhW?=
 =?utf-8?B?aldwaXdRZzZPSU5mbW1ZZjVzS3VzWGFwQVkxZHFBKzRhRFZIVWNoMDdydE9n?=
 =?utf-8?B?OEQwQ1c2T21RYWdLK0NNMDQxcDA5R3NYcjVOeEk2LzU5ZncyY1dzY1lid0xk?=
 =?utf-8?B?TS9IZXQza20zbHgzVWtiQUMweDJRS2RneHZNZW03NzJoNGE3cUJrUVpWQ2hR?=
 =?utf-8?B?NWdaN2ZSY2hEZzdFSU9GNXF0K2xNR25RZ29lYTIzNXlDeXdOdDJITTRGeDhR?=
 =?utf-8?B?L3lHQ1Z0YWRjN2srT2ZhQjdvMUpoKzdMMHpiVGNLUTV5akdrbnBwc0YrNDVE?=
 =?utf-8?B?VW9zeDZOcXBWWGhYZk1KdGpsNTl2MDNLZ1VnYnhqSTdaeCtVQ2lqL3QxMEs1?=
 =?utf-8?B?aUZSaHhHRGR2bktKN1YwS0lyQTIwM0dZZ1FXYXRjZmgycW5yUC9qTVJnY1dK?=
 =?utf-8?B?UlBzRkQvVUpldnExcGx3eFptMGVENlVkRFhTeVlNTkdLc3UwWTgySU8wcE5R?=
 =?utf-8?B?ZjRFeUZDc25BUFY1Ni9WdGdFM3piNGhZbUdsMGY1b3dJMlZqNDN4RnR0V0R6?=
 =?utf-8?B?S2hIM3l1V2JJd0ZuMjdSSHhFWTM4dGVtVjBKbXNVaUZmY2tzZnJtVExuWnF3?=
 =?utf-8?B?M0YvclNFelpkNGJyME1XQVQrTzRoRzlvSDZ0emt6YjdZVFJzQUpNN2c0cUF4?=
 =?utf-8?Q?pgPyOZNUfxBCtsUy2hlDj3Q=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <689893587FE97743A71CA0369746F8DE@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR03MB6108.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42d81da2-fc45-4f12-453f-08da73b1a04c
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 11:33:16.1792
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9RR1+fCM/w7JRsCjuJnuouAN5n/0BbvTziE2yUg5V4LUFellaAdPp/YDUA8beIi2E5sPwQdRUqr9uN1FxTpAye6xeLhPbvOyurV0z5nEUqA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0301MB2471
X-Proofpoint-ORIG-GUID: qfSMtR7-gfWo1YYNuiIC_PmJB-ZM7pc2
X-Proofpoint-GUID: qfSMtR7-gfWo1YYNuiIC_PmJB-ZM7pc2
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-01_05,2022-08-01_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 adultscore=0
 impostorscore=0 spamscore=0 lowpriorityscore=0 clxscore=1011
 priorityscore=1501 mlxlogscore=999 phishscore=0 bulkscore=0 suspectscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2206140000 definitions=main-2208010057

DQpPbiAwMS4wOC4yMiAxMzowOCwgTWljaGFsIFByw612b3puw61rIHdyb3RlOg0KDQoNCkhlbGxv
IE1pY2hhbCwgSnVsaWVuDQoNCj4gT24gOC8xLzIyIDEwOjUxLCBKdWxpZW4gR3JhbGwgd3JvdGU6
DQo+PiBIaSBNaWNoYWwsDQo+Pg0KPj4gT24gMDEvMDgvMjAyMiAwOToyMywgTWljaGFsIFByw612
b3puw61rIHdyb3RlOg0KPj4+IE9uIDcvMjkvMjIgMTc6NTAsIE9sZWtzYW5kciBUeXNoY2hlbmtv
IHdyb3RlOg0KPj4+PiBGcm9tOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hj
aGVua29AZXBhbS5jb20+DQo+Pj4+DQo+Pj4+IFhlbiB0b29sc3RhY2sgaGFzIGdhaW5lZCBiYXNp
YyBWaXJ0aW8gc3VwcG9ydCByZWNlbnRseSB3aGljaCBiZWNpZGVzDQo+Pj4+IGFkZGluZyB2YXJp
b3VzIHZpcnRpbyByZWxhdGVkIHN0dWZmIGludHJvZHVjZXMgbmV3IGRpc2sgYmFja2VuZCB0eXBl
DQo+Pj4+IExJQlhMX0RJU0tfQkFDS0VORF9TVEFOREFMT05FIFsxXS4NCj4+Pj4NCj4+Pj4gVW5m
b3J0dW5hdGVseSwgdGhpcyBjYXVzZWQgYSByZWdyZXNzaW9uIGluIGxpYnZpcnQgYnVpbGQgd2l0
aCBYZW4NCj4+Pj4gc3VwcG9ydA0KPj4+PiBlbmFibGVkLCByZXBvcnRlZCBieSB0aGUgb3NzdGVz
dCB0b2RheSBbMl06DQo+Pj4+DQo+Pj4+IENDwqDCoMKgwqDCoMKgIGxpYnhsL2xpYnZpcnRfZHJp
dmVyX2xpYnhsX2ltcGxfbGEteGVuX3hsLmxvDQo+Pj4+IC4uLy4uL3NyYy9saWJ4bC94ZW5feGwu
YzogSW4gZnVuY3Rpb24gJ3hlblBhcnNlWExEaXNrJzoNCj4+Pj4gLi4vLi4vc3JjL2xpYnhsL3hl
bl94bC5jOjc3OToxNzogZXJyb3I6IGVudW1lcmF0aW9uIHZhbHVlDQo+Pj4+ICdMSUJYTF9ESVNL
X0JBQ0tFTkRfU1RBTkRBTE9ORScNCj4+Pj4gIMKgwqDCoCBub3QgaGFuZGxlZCBpbiBzd2l0Y2gg
Wy1XZXJyb3I9c3dpdGNoLWVudW1dDQo+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHN3aXRjaCAobGlieGxkaXNrLT5iYWNrZW5kKSB7DQo+Pj4+ICDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIF5+fn5+fg0KPj4+PiBjYzE6IGFsbCB3YXJuaW5ncyBiZWlu
ZyB0cmVhdGVkIGFzIGVycm9ycw0KPj4+Pg0KPj4+PiBUaGUgaW50ZXJlc3RpbmcgZmFjdCBpcyB0
aGF0IHN3aXRjaCBhbHJlYWR5IGhhcyBhIGRlZmF1bHQgYnJhbmNoDQo+Pj4+ICh3aGljaCBvdWdo
dA0KPj4+PiB0byBjb3ZlciBzdWNoIG5ldyBhZGRpdGlvbiksIGJ1dCB0aGUgZXJyb3IgaXMgdHJp
Z2dlcmVkIGFzIC1Xc3dpdGNoLWVudW0NCj4+Pj4gZ2l2ZXMgYSB3YXJuaW5nIGFib3V0IGFuIG9t
aXR0ZWQgZW51bWVyYXRpb24gY29kZSBldmVuIGlmIHRoZXJlIGlzIGENCj4+Pj4gZGVmYXVsdA0K
Pj4+PiBsYWJlbC4NCj4+PiBUaGlzIGlzIGV4cGVjdGVkIGFuZCBpbiBmYWN0IHdvcmtpbmcgY29y
cmVjdGx5LiBXZSB3YW50IGNvbXBpbGVyIHRvIHdhcm4NCj4+PiB1cyBhYm91dCBlbnVtIG1lbWJl
cnMgdGhhdCBhcmUgbm90IGhhbmRsZWQgaW4gYSBzd2l0Y2goKSBzdGF0ZW1lbnQuDQo+PiBGb3Ig
dXMgdGhpcyBpcyB0cmVhdGVkIGFzIGFuIGVycm9yLiBJcyBpdCBpbnRlbmRlZD8NCj4gLVdlcnJv
ciBzaG91bGRuJ3QgYmUgZW5hYmxlZCB3aGVuIGJ1aWxkaW5nIGEgcGFja2FnZSwgZXhhY3RseSBm
b3IgdGhpcw0KPiByZWFzb24uIEhlYWRlciBmaWxlcyBjaGFuZ2UgYW5kIHdlIG1pZ2h0IGdldCBh
IHdhcm5pbmcgb3IgdHdvIHdoZW4NCj4gYnVpbGRpbmcgYSBSUE0uIEhvd2V2ZXIsIHdlIGRlZmlu
aXRlbHkgd2FudCB0byB0cmVhdCB3YXJuaW5ncyBhcyBlcnJvcnMNCj4gd2hlbiBkZXZlbG9waW5n
IGxpYnZpcnQsIGkuZS4gYnVpbGRpbmcgbGlidmlydCBmcm9tIGEgZ2l0IHJlcG8uIFRoYXQncw0K
PiB3aHkgd2UgZ2V0IC1XZXJyb3IgZW5hYmxlZCBpbiBvdXIgQ0kgdG9vLg0KPg0KPj4gSWYgaXQg
aXMsIHRoZW4gSSB0aGluayB0aGlzIHdpbGwgYmUgYSBwcm9ibGVtIGZvciBYZW4gYmVjYXVzZSBp
dCBtZWFucw0KPj4gd2Ugd2lsbCBhbHdheXMgbmVlZCB0byBmaXggbGlidmlydCBiZWZvcmUgYWNj
ZXB0aW5nIGEgcGF0Y2ggaW4gWGVuIChzZWUNCj4+IG1vcmUgYmVsb3cpLg0KPiBTbyB3ZSBoYXZl
IGEgY2hpY2tlbiBlZ2cgcHJvYmxlbS4gWGVuIG5lZWRzIGxpYnZpcnQgdG8gY29tcGlsZSB3aXRo
b3V0DQo+IGFueSB3YXJuaW5nIHRvIG1lcmdlIGEgcGF0Y2ggYW5kIGxpYnZpcnQgd2FudHMgaHlw
ZXJ2aXNvcnMgdG8gaGF2ZSB0aGUNCj4gcGF0Y2ggbWVyZ2VkIGZpcnN0LiBXZWxsLCBJIHRoaW5r
IGluIHRoaXMgY2FzZSB3ZSBjYW4gbWFrZSBhbg0KPiAiZXhjZXB0aW9uIi4gT3VyIGRlbWFuZCBj
b21lcyBmcm9tIHF1aXRlIGEgZmV3IGNhc2VzIHdoZXJlIHdlIGJ1cm5lZA0KPiBvdXJzZWx2ZXMg
YnkgbWVyZ2luZyBvdXIgcG9ydGlvbiBvZiBhIGZlYXR1cmUgYmVmb3JlIGl0IHdhcyBtZXJnZWQg
aW50bw0KPiBRRU1VLiBBbmQgYWNjb3JkaW5nIHRvIE11cnBoeSdzIGxhdywgUUVNVSBpbnRlcmZh
Y2Ugd2FzIGNoYW5nZWQNCj4gcmVuZGVyaW5nIG91ciBwYXRjaGVzIChub3cgY29tbWl0cykgdXNl
bGVzcy4gQnV0IEkgYmVsaWV2ZSB0aGlzIGlzIG5vdA0KPiB0aGUgY2FzZSB3aXRoIHhlbiBzdGFn
aW5nLCBpcyBpdD8NCg0KSSBhbHNvIGJlbGlldmUgc28uDQoNCg0KPg0KPiBCVFc6IGV2ZXJ5IG90
aGVyIHBhY2thZ2UgdGhhdCBkb2VzIHN3aXRjaCgpIG92ZXIgbGlieGxfZGlza19iYWNrZW5kIGVu
dW0NCj4gd2lsbCBuZWVkIHRoaXMgZml4Lg0KPg0KPj4+ICDCoFRoZQ0KPj4+ICdkZWZhdWx0JyBj
YXNlIGV4aXN0cyBpbiBzb21lIHBsYWNlcyBiZWNhdXNlIHdlIHN1c3BlY3QgdGhlIHZhbHVlIG1p
Z2h0DQo+Pj4gbm90IGhhdmUgYmVlbiB2YWxpZGF0ZWQgYmVmb3JlLiBGb3IgaW5zdGFuY2U6DQo+
Pj4NCj4+PiBsaWJ4bF9kaXNrX2JhY2tlbmQgeCA9IGF0b2koYXJndlsxXSk7IC8qIG9yIHBhcnNl
IHNvbWV0aGluZyBmcm9tIFhNTCAqLw0KPj4+DQo+Pj4gc3dpdGNoKHgpIHsNCj4+PiBjYXNlIExJ
QlhMX0RJU0tfQkFDS0VORF9VTktOT1dOOg0KPj4+IGNhc2UgTElCWExfRElTS19CQUNLRU5EX1BI
WToNCj4+PiBjYXNlIExJQlhMX0RJU0tfQkFDS0VORF9UQVA6DQo+Pj4gY2FzZSBMSUJYTF9ESVNL
X0JBQ0tFTkRfUURJU0s6DQo+Pj4gIMKgwqAgLy8gTmVpdGhlciBvZiB0aGVzZSBtaWdodCBiZSBl
eGVjdHV0ZWQgLi4NCj4+PiBkZWZhdWx0Og0KPj4+ICDCoMKgIC8vIC4uIGluIHdoaWNoIGNhc2Ug
dGhpcyB3aWxsLg0KPj4+IH0NCj4+Pg0KPj4+DQo+Pj4gQnV0IHdlIGFyZSBub3QgdmVyeSBjb25z
aXN0ZW50IGluIHB1dHRpbmcgJ2RlZmF1bHQnIGNhc2UsIHNhZGx5Lg0KPj4+DQo+Pj4+IEFsc28g
dGhlcmUgaXMgYSBzaW1pbGFyIGlzc3VlIGluIGxpYnhsVXBkYXRlRGlza0RlZigpIHdoaWNoIEkg
aGF2ZQ0KPj4+PiByZXByb2R1Y2VkDQo+Pj4+IGFmdGVyIGZpeGluZyB0aGUgZmlyc3Qgb25lLCBi
dXQgaXQgdGhhdCBjYXNlIHRoZSBjb3JyZXNwb25kaW5nIHN3aXRjaA0KPj4+PiBkb2Vzbid0DQo+
Pj4+IGhhdmUgYSBkZWZhdWx0IGJyYW5jaC4NCj4+Pj4NCj4+Pj4gRml4IGJvdGggaXNzdWVzIGJ5
IGluc2VydGluZyByZXF1aXJlZCBlbnVtZXJhdGlvbiBpdGVtIHRvIG1ha2UgdGhlDQo+Pj4+IGNv
bXBpbGVyDQo+Pj4+IGhhcHB5IGFuZCBhZGRpbmcgaWZkZWYgZ3VhcmQgdG8gYmUgYWJsZSB0byBi
dWlsZCBhZ2FpbnN0IG9sZCBYZW4NCj4+Pj4gbGlicmFyaWVzDQo+Pj4+IGFzIHdlbGwgKHdpdGhv
dXQgTElCWExfSEFWRV9ERVZJQ0VfRElTS19TUEVDSUZJQ0FUSU9OKS4gQWxzbyBhZGQgYQ0KPj4+
PiBkZWZhdWx0DQo+Pj4+IGJyYW5jaCB0byBzd2l0Y2ggaW4gbGlieGxVcGRhdGVEaXNrRGVmKCku
DQo+Pj4+DQo+Pj4+IFBsZWFzZSBub3RlLCB0aGF0IGN1cnJlbnQgcGF0Y2ggZG9lc24ndCBpbXBs
ZW1lbnQgdGhlIHByb3BlciBoYW5kbGluZyBvZg0KPj4+PiBMSUJYTF9ESVNLX0JBQ0tFTkRfU1RB
TkRBTE9ORSBhbmQgZnJpZW5kcywgaXQgaXMganVzdCBpbnRlbmRlZCB0byBmaXgNCj4+Pj4gdGhl
IHJlZ3Jlc3Npb24gaW1tZWRpYXRlbHkgdG8gdW5ibG9jayB0aGUgb3NzdGVzdC7CoCBBbHNvIGl0
IHdvcnRoDQo+Pj4+IG1lbnRpb25pbmcNCj4+Pj4gdGhhdCBjdXJyZW50IHBhdGNoIHdvbid0IHNv
bHZlIHRoZSBwb3NzaWJsZSBhZGRpdGlvbnMgaW4gdGhlIGZ1dHVyZS4NCj4+Pj4NCj4+Pj4gWzFd
DQo+Pj4+IGh0dHBzOi8vdXJsZGVmZW5zZS5jb20vdjMvX19odHRwczovL2xvcmUua2VybmVsLm9y
Zy94ZW4tZGV2ZWwvMjAyMjA3MTYxNjM3NDUuMjg3MTItMS1vbGVrc3R5c2hAZ21haWwuY29tL19f
OyEhR0ZfMjlkYmNRSVVCUEEhMkd0T0dWbkxlZlVsWnFrRDRCQWw5bFZ5ODJBdnJfelBmenRzc0lK
MHFJQk84bThHVG5TUzJuMlU2TXBTMEkyTWhCeGFFMEVBOS1HcWJubEItYlE5U2R4VGJBJCBbbG9y
ZVsuXWtlcm5lbFsuXW9yZ10NCj4+Pj4NCj4+Pj4gWzJdDQo+Pj4+IGh0dHBzOi8vdXJsZGVmZW5z
ZS5jb20vdjMvX19odHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvRTFvSEVRTy0wMDA4
R0EtVW9Ab3NzdGVzdC50ZXN0LWxhYi54ZW5wcm9qZWN0Lm9yZy9fXzshIUdGXzI5ZGJjUUlVQlBB
ITJHdE9HVm5MZWZVbFpxa0Q0QkFsOWxWeTgyQXZyX3pQZnp0c3NJSjBxSUJPOG04R1RuU1MybjJV
Nk1wUzBJMk1oQnhhRTBFQTktR3FibmxCLWJUSlFZMHZzdyQgW2xvcmVbLl1rZXJuZWxbLl1vcmdd
DQo+Pj4+DQo+Pj4+DQo+Pj4+IFNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxv
bGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4+Pj4gLS0tDQo+Pj4+IENjOiBKdWxpZW4g
R3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPj4+PiBDYzogQW50aG9ueSBQRVJBUkQgPGFudGhvbnku
cGVyYXJkQGNpdHJpeC5jb20+DQo+Pj4+IENjOiBNaWNoYWwgUHJpdm96bmlrIDxtcHJpdm96bkBy
ZWRoYXQuY29tPg0KPj4+Pg0KPj4+PiBQbGVhc2Ugbm90ZSwgdGhlIHBhdGNoIGlzIHRlc3RlZCBv
bjoNCj4+Pj4gaHR0cHM6Ly91cmxkZWZlbnNlLmNvbS92My9fX2h0dHBzOi8veGVuYml0cy54ZW4u
b3JnL2dpdHdlYi8/cD1saWJ2aXJ0LmdpdDthPXNob3J0bG9nO2g9cmVmcypoZWFkcyp4ZW4tdGVz
dGVkLW1hc3Rlcl9fO0x5OCEhR0ZfMjlkYmNRSVVCUEEhMkd0T0dWbkxlZlVsWnFrRDRCQWw5bFZ5
ODJBdnJfelBmenRzc0lKMHFJQk84bThHVG5TUzJuMlU2TXBTMEkyTWhCeGFFMEVBOS1HcWJubEIt
YlRlVWtmMjRnJCBbeGVuYml0c1suXXhlblsuXW9yZ10NCj4+Pj4NCj4+Pj4gYnV0IHNob3VsZCB3
b3JrIG9uIHRoZSBtYXN0ZXIgYXMgd2VsbCAoYXMgdGhlIHNhbWUgY29kZSBpcyBwcmVzZW50DQo+
Pj4+IGhlcmUpLg0KPj4+PiAtLS0NCj4+Pj4gIMKgIHNyYy9saWJ4bC9saWJ4bF9jb25mLmMgfCA0
ICsrKysNCj4+Pj4gIMKgIHNyYy9saWJ4bC94ZW5feGwuY8KgwqDCoMKgIHwgMyArKysNCj4+Pj4g
IMKgIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspDQo+Pj4gQWgsIEkgY291bGRuJ3Qg
ZmluZCB0aGUgY29tbWl0IGluIG1hc3RlciwgYW5kIGl0J3Mgc2ltcGx5IGJlY2F1c2UgaXQncw0K
Pj4+IG5vdCB0aGVyZSB5ZXQuIEl0J3MgaW4gc3RhZ2luZzoNCj4+Pg0KPj4+IGh0dHBzOi8vdXJs
ZGVmZW5zZS5jb20vdjMvX19odHRwczovL3hlbmJpdHMueGVuLm9yZy9naXR3ZWIvP3A9eGVuLmdp
dDthPWNvbW1pdDtmPXRvb2xzKmxpYnMqbGlnaHQqbGlieGxfdHlwZXMuaWRsO2g9NjZkZDFjNjJi
MmEzYzcwN2JkNWM1NTc1MGQxMGE4MjIzZmJkNTc3Zl9fO0x5OHYhIUdGXzI5ZGJjUUlVQlBBITJH
dE9HVm5MZWZVbFpxa0Q0QkFsOWxWeTgyQXZyX3pQZnp0c3NJSjBxSUJPOG04R1RuU1MybjJVNk1w
UzBJMk1oQnhhRTBFQTktR3FibmxCLWJSLW1MM3VHUSQgW3hlbmJpdHNbLl14ZW5bLl1vcmddDQo+
Pj4NCj4+Pg0KPj4+IFRoZSBwYXRjaCBsb29rcyBjb3JyZWN0LiBEbyB5b3UgaGF2ZSBhbnkgZXN0
aW1hdGUgd2hlbiBpdCBjYW4gYmUgbWVyZ2VkDQo+Pj4gaW50byBtYXN0ZXI/IEknbSBub3Qgc3Vy
ZSB3aGF0IG91ciwgbGlidmlydCwgcnVsZXMgYWJvdXQgeGVuIHN0YWdpbmcNCj4+PiBhcmUsIGJ1
dCBmb3IgcWVtdSB3ZSByZXF1aXJlIG1hc3RlciAoZXZlbiB1bnJlbGVhc2VkIHlldCkuDQo+PiBU
aGUgcGF0Y2hlcyB1c3VhbGx5IGxhbmQgaW4gbWFzdGVyIGFmdGVyIG91ciB0ZXN0IHN1aXRlIGhh
cyBjb21wbGV0ZWQuDQo+PiBPbmUgb2YgdGhlIHRlc3QgaXMgdG8gY29uZmlybSB0aGF0IGxpYnZp
cnQgaXMgc3RpbGwgd29ya2luZy4gVGhlcmVmb3JlLA0KPj4gdGhlIFhlbiBwYXRjaCB3aWxsIG5v
dCBiZSBwYXJ0IG9mIG1hc3RlciB1bnRpbCB0aGUgcGF0Y2ggaW4gbGlidmlydCBpcw0KPj4gYWRk
ZWQuDQo+IEkgdW5kZXJzdGFuZCB0aGF0IGJ1dCB3aGF0IGNhbiB3ZSBkbyBoZXJlIGlzIHRvIGRp
c2FibGUgLVdlcnJvciBzbyB0aGF0DQo+IHRoZSBjb21taXQgY2FuIGxhbmQgaW4gbWFzdGVyLiBB
bmQgdGhlbiBtZXJnZSB0aGlzIGxpYnZpcnQgZml4LiBEb2VzDQo+IHRoYXQgd29yayBmb3IgeW91
Pw0KDQpNaWNoYWwsDQp0aGFuayB5b3UgZm9yIHRoZSByZXZpZXcgYW5kIGF0dGVtcHRzIHRvIGZp
bmQgYSBjb21wcm9taXNlLiBBcyBJIA0KdW5kZXJzdGFuZCB0aGUgdGhpbmdzIGFyZSBiaXQgbW9y
ZSBjb21wbGljYXRlZCwgd2hhdCB0aGV5IGxvb2sgbGlrZSBhdCANCnRoZSBmaXJzdCBnbGFuY2Ug
KEp1bGllbiwgcGxlYXNlIGNvcnJlY3QgbWUgaWYgSSBhbSB3cm9uZykuIEkgdGhpbmssIHRoZSAN
CnByb3Bvc2VkIHNvbHV0aW9uIHBlcmZlY3RseSB3b3JrZWQgZm9yIHVzIGlmIE9zc3Rlc3Qgd291
bGQgdXNlIGFjdHVhbCANCmxpYnZpcnQncyBtYXN0ZXIgdG8gdGVzdCBhZ2FpbnN0LiBCdXQgT3Nz
dGVzdCBzdGlsbCB1c2VzIG9sZCBtYXN0ZXIgDQpsb2NhdGVkIGF0IChiZWNhdXNlIGl0IGhhc24n
dCBiZWVuIGFkYXB0ZWQgeWV0IHRvIG5ldyBidWlsZCBzeXN0ZW0gdXNpbmcgDQpNZXNvbik6DQoN
Cmh0dHBzOi8veGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/cD1saWJ2aXJ0LmdpdDthPXNob3J0bG9n
O2g9cmVmcy9oZWFkcy94ZW4tdGVzdGVkLW1hc3Rlcg0KDQpTbywgSSBhbSBhZnJhaWQsIGFueSBh
Y3Rpb25zIGluIGxpYnZpcnQncyBtYXN0ZXIgd29uJ3QgaW1tZWRpYXRlbHkgc29sdmUgDQp0aGUg
Y3VycmVudCBzaXR1YXRpb24gYXQgdGhlIG91ciBzaWRlLiBCZXNpZGVzIGdldHRpbmcgdGhlIGN1
cnJlbnQgKG9yIA0KYWx0ZXJuYXRpdmUpIHBhdGNoIG1lcmdlZCBpbnRvIHRoZSBsaWJ2aXJ0IHdl
IHdpbGwgbmVlZCB0byBmaXggT3NzdGVzdCANCih1cGRhdGUgdGhlIGxpYnZpcnQgYnVpbGQgc2Ny
aXB0KS4NCg0KVGhlIGRpc2N1c3Npb24gaG93IHRvIHJlc29sdmUgdGhlIGN1cnJlbnQgc2l0dWF0
aW9uIGlzIGluIHByb2dyZXNzIG5vdyBbMl06DQoNClsxXSANCmh0dHBzOi8veGVuYml0cy54ZW4u
b3JnL2dpdHdlYi8/cD14ZW4uZ2l0O2E9Y29tbWl0O2Y9dG9vbHMvbGlicy9saWdodC9saWJ4bF90
eXBlcy5pZGw7aD02NmRkMWM2MmIyYTNjNzA3YmQ1YzU1NzUwZDEwYTgyMjNmYmQ1NzdmDQpbMl0g
DQpodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvZGIzOTY3MGMtN2UzNi0yY2Y1LWE4
N2ItOTJkMTBkM2FhYzE4QHhlbi5vcmcvDQoNCg0KPg0KPiBNaWNoYWwNCj4NCi0tIA0KUmVnYXJk
cywNCg0KT2xla3NhbmRyIFR5c2hjaGVua28NCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 11:35:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 11:35:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378698.612039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oITi4-0004Xq-6z; Mon, 01 Aug 2022 11:35:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378698.612039; Mon, 01 Aug 2022 11:35:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oITi4-0004Xd-2g; Mon, 01 Aug 2022 11:35:44 +0000
Received: by outflank-mailman (input) for mailman id 378698;
 Mon, 01 Aug 2022 11:35:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g61G=YF=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oITi2-0004WE-73
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 11:35:42 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1263c828-118e-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 13:35:41 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id z2so2941427edc.1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Aug 2022 04:35:41 -0700 (PDT)
Received: from ?IPV6:2a02:587:ac0b:7a00:1b9e:a344:414e:dad7?
 ([2a02:587:ac0b:7a00:1b9e:a344:414e:dad7])
 by smtp.gmail.com with ESMTPSA id
 i13-20020a056402054d00b0043ca6fb7e7dsm6612759edx.68.2022.08.01.04.35.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 01 Aug 2022 04:35:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1263c828-118e-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=3OxEmP4pif/UDPsw5ZgOZ1hygd43885xdsCWShnzaRM=;
        b=Tz0ZVD+9VUtDuERfrwiBex36II2XjAUFCpduePEv27GTGwyYXhnko2Nvs5jdn71jOY
         o5GrjIGq9ggUyvOPrjSPXq8Cb/lZjyALKEQvM0Olvabd4Y5JvHaR2mpY/VwNgsAKUFEl
         o8sJh2WYq13biOz2HC7e+OzoHdXmvsMTHCbWmKlUNMKYuHKEDeGCxGbyVsgQC8RHUkCl
         Qr84tL454I/iJgDExbwugmZYURzlat8YlEWgqgKT7ZGgGpULpGenunMsNeBeGZeVoIJ9
         BZiPPQxyYklNTfL/gYIqLGAtoPlSrXvg8XbV4Q7CUnWLGF3o0OEeBQekyuoLEsS3F6bh
         2z+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=3OxEmP4pif/UDPsw5ZgOZ1hygd43885xdsCWShnzaRM=;
        b=FQZWEHgBeySaocPPrvm+JVOLyP8GtjgaSBFE1aB0Gw+CunZm0gKwVG8pv2pUqwqXLU
         IxUDCL1wnZidLAQR+iuIvLe2d1ukBohgZYae4ec1h61WCFqGSdFsm8gyMrDupC6aI9go
         IydeYEgtaNyf5DEvoDrXBp4wUWs4QiCc14CCDt39TWo3MTG3gtUWBBHuoXxsseF9SE4S
         RO6S1lfO0xjzmVxXRGqQnmPHlImItT8wykmAv1N6bHwlbGwRVmXysGHc77m2hjfS2phx
         1bv5oDYiB9AsV+WwWnJ262AjmYBiw0zQCK68HbOZZWl1a680tjo3mFsEpvvoYUM5muqT
         Rj7Q==
X-Gm-Message-State: AJIora+sF/GtXXwOuxLO+g6ujPcDLp3immcGeYnvgXboHdv8tG9kam1S
	IszMDcz2YWaOjWa4TxZXM/I=
X-Google-Smtp-Source: AGRyM1tTdZcY5g3kvexWwQWbSO+VlGccZCMyqU1JMNmmlEXjNqFP6fM9KfxHFo2Mve2U4jOmwRyqDQ==
X-Received: by 2002:a05:6402:d0a:b0:437:66ca:c211 with SMTP id eb10-20020a0564020d0a00b0043766cac211mr15723076edb.29.1659353740722;
        Mon, 01 Aug 2022 04:35:40 -0700 (PDT)
Message-ID: <4ed521d2-c3f7-c478-f9dd-e00aa3a425a4@gmail.com>
Date: Mon, 1 Aug 2022 14:35:38 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/arm64: efibind: fix MISRA C 2012 Directive 4.10
 violation
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220801104311.1634742-1-burzalodowa@gmail.com>
 <4e717a7c-f5b8-74e3-e830-a75c9b5b211b@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <4e717a7c-f5b8-74e3-e830-a75c9b5b211b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 8/1/22 14:02, Jan Beulich wrote:
> On 01.08.2022 12:43, Xenia Ragiadakou wrote:
>> Prevent header file from being included more than once by adding ifndef guard.
> 
> If such a change is to be made, please also adjust the x86-64 instance of
> the header.
> 
> However, these headers are inherited from the gnu-efi package, and hence
> should see as little customization as possible (you may have noticed
> that we didn't even correct the bogus "Module Name:" value in the x86-64
> header). While for this particular change I'm not outright opposed, such
> an exception to the usual handling would want recording in the
> description. Actually - at least the x86-64 header has meanwhile gained
> a guard in gnu-efi, so that one likely will want importing instead of
> adding a custom one. (I'm looking only at 3.0.14, which I have readily
> available - there may be a guard even for aarch64 in an up-to-date
> version, so please double check.)
> 

Ok, this makes sense.
The gnu-efi header for x86_64 is guarded with X86_64_EFI_BIND. For 
arm64, efibind header does not have ifndef guard (3.0.14 is the latest tag).
So, I will put X86_64_EFI_BIND and AARCH64_EFI_BIND, in the same way as 
it is done in gnu-efi (that is without following empty line and without 
comment following endif).

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 11:41:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 11:41:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378703.612050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oITn9-00068l-Oc; Mon, 01 Aug 2022 11:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378703.612050; Mon, 01 Aug 2022 11:40:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oITn9-00068e-Lu; Mon, 01 Aug 2022 11:40:59 +0000
Received: by outflank-mailman (input) for mailman id 378703;
 Mon, 01 Aug 2022 11:40:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oITn8-00068Y-10
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 11:40:58 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00067.outbound.protection.outlook.com [40.107.0.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce6438cb-118e-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 13:40:56 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB8941.eurprd04.prod.outlook.com (2603:10a6:102:20c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Mon, 1 Aug
 2022 11:40:54 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 11:40:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce6438cb-118e-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TF3xdkRO1phG5KinKEKNaQYMjrj8L3XWYWxmjiNRXnq1Kjs/vd2y53uSO6oQg1iSN33u4L+P9JazmIavFPKJNQsHunB611vP62P/zqvbNe9faw4ZHsB49fCiBr6oMoC5I9komplP2b2KNvFp+tShKNatNr+Rcyc9LUiZ5ya4JVdlqE6ghgh7q93pNDLG4gzYie09e/45sAwDhDee/l2VdxmXpBllp7jEsGygU+8L8OTCdwBN8WftXLe3R0uFV0+fcldTk0dhonbo0Abq0M/elcCI15dIDT7D+hf3DioxDKDCivSQLjQwIa5m8q6bb4bXJp5aXFs0Hg7pmF3OwNu85g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ud1uzmIWN/8nZ1Hn6rc/kE6IQQ7Kf9EFS108CLtt4yE=;
 b=Hl49xFNQljr5aia/BkCh49RMnWSQYI3pieBedN+VAw9tEd+Kl1PjAZne6VfoHwLyx4Sd6ZyhBkBTN34CNEF5LcvTfI5+Q4VcH//S55KBoqRd3swLYArdJp8DfUzirlKiCwfnMT4gTPqzloSULwL3K95xF5J6jOTcHpCcNIFlPnCEDEWwmtusHNktXsuyDdw+WKHT3/gY62pJQO2nJuJEw3vM7GJkPskXS4eOdPBZ0HISjwOKYC75PeWChw6CwiyEO0ukPHm71C5iOCMypox3m1A4t17S61YDwlT1v0By1/SBFNxYFfUSEReXP5WwR2O5Br24MqW47fECogzLaJzx4w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ud1uzmIWN/8nZ1Hn6rc/kE6IQQ7Kf9EFS108CLtt4yE=;
 b=vrtyVAFM7LuQPWnnQxTbsL6SwkuLZGhlu6h3GGnr2nxrsfW6IQWa+Ig/kztbw+TcedrH+jMHMg70s6qOMTO7gm4LYGiksJnfmTJG3WcoIb/fQyl881W13NwsySk8JdgveZhn0XhDV13XSVIEUkapFTqYVmDpANfC4UNPnbft/Y555jXNPK4WfCqRXJTHjqWwv6REIg20uDBJoI9ABTk8iEPAtwzSA7qzEphGtk9P49R9cbfrEtud8bwT2t8J0HwcOtL9PQwjtqYPaMmd3naitSeZpMzmO3jw5LzRzPnG/eDH0e3Od8YDdqWzdVznXOpK0m8qjdxzdBQBCGmleeDykw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <381b3611-79c2-807e-c5db-d5c0d9ea4fc4@suse.com>
Date: Mon, 1 Aug 2022 13:40:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 3/4] vpci: use pcidevs locking to protect MMIO handlers
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20220718211521.664729-1-volodymyr_babchuk@epam.com>
 <20220718211521.664729-4-volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220718211521.664729-4-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0016.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::21) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 550a54eb-8273-45bb-35f9-08da73b2b19a
X-MS-TrafficTypeDiagnostic: PAXPR04MB8941:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FaHYnuk1hQmlilfW3WSH1wLQK46E/rRlewrdXTxJUr73Sm3V50UWo+//oQTzFou3viQedtFhWZgw6FXj5+X+gsPJ4n//feDkls1D2k58FWYZBQxQf3rcnf8hxVU0JFaL+f1HrFAdWbxfen19oj0nJ/P3uGFTthsnhKgy2Ad3YvhiMi+Uoj45qMoCHrcPQiq2+o7kFUtPd0ShkaZDsFDC+sCMfXsMqkaC8Gpx9gKSnIO/XHfjTvwTOMimGRtdnRW6lDSIyWMglqhmkJXX1okBEbgrLuYpvUN5m9yaZj39IVg9O5ky18k7Cd7aFCE2oniMBR+1hVrZxVn3poLDVOdNwL62y/tpxll6NkWTaDdlta658HuelL/QrjdrlAOCR/ZrhyL/sZoF98PT53iL6fPFoEGVTAMzRmLtVb01KkztLTWCWSJr72BS6HSHpUArntqi6jQDowJwmIsVuO0K0+geHTCxD4wWRtDOsVJHzmV/4o1aRAvW98S7lEe9Gem22fV0nzB4x2FbtK14CufMluZ2mJbazkNSCK003K8J2g9DgnS8mgCPYJLzzbue6aHCE/Atr6E15kHuzwviLIUrtLMW7hdXbDjVGEw9PmdV9h0q20+xvWQlRPfTSD+LQZroG3Pi6ohCeMG6BLaeR+H23/JVYx2wZ2IPT2fofvHe/fBh1tYQMyTMkZcAoT0nW40qPkwMcgf4dPSXwJt7Y7MwsgjYHOENoi1sI3dvqs4NKSTOjqw7cfUIVg7ukFWBUQhks6zTQYqeG9+IgJpxeMqkBSjINhdiU5M4r+n3bLc56SIyMVreIlAi/M7xl2pTTjdfJsBbSjbbHOkwQGrGKg4UhKTDxg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(39860400002)(136003)(366004)(396003)(66476007)(316002)(54906003)(8676002)(2616005)(66946007)(4326008)(41300700001)(66556008)(6916009)(186003)(31686004)(38100700002)(36756003)(6486002)(5660300002)(8936002)(83380400001)(478600001)(2906002)(26005)(6506007)(6512007)(53546011)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SjdCVllXN0UzbVdZRmFtRUtTMmVJclplR1ZlYlpvNEpiR3hoT2F3ZVVmMDJa?=
 =?utf-8?B?dGx6cDh5MWU5Nm9kbThhZzBvUVRRVTk4R0FtUmFPcDl2d1pTOG5SVDR2K1JP?=
 =?utf-8?B?M0VZM2daZ2Z1MzBRNUtOQTZtdUdkNm5zTTVuYysyQVBVZWxNaGhINS8yRUdr?=
 =?utf-8?B?VURQWHBRSy9YbWhmb3p0R05iTisxZVI2b3l1S1VGb01FZGJ5QTBaeWVFZjJ6?=
 =?utf-8?B?emVSMEQ1U2tDYlRhNW9JYnFXckJPV0RrK2s5S0NDdC8zY2xMMnUrQW9aN3l2?=
 =?utf-8?B?aEhjeDUxVXpWTWp3Sm1RSytJRE9NbjlFT1Q2ZGxIUE1qMU1kN2RoS1FrYlVP?=
 =?utf-8?B?YWJ6VGdyVi9MdEQ3aUN3LzBGb3NBRkJ4ZExIbitsTTIyc1AzYi9UclQyL1Ay?=
 =?utf-8?B?bmlHTVRBdUtBUSttaEIzYnFKNkczMnFiUjJVZ1hQSEd5TFNWOGhrTXZDd2t5?=
 =?utf-8?B?UHRML3JOcmRhYU1LckdZaWE0QVZGaXNYN0pGakZDSkZzb1FOcjVIbzNRQm9a?=
 =?utf-8?B?V2VKWWZvYWxiMXhFRXBSbDRXa0dVeGwxZFdQbkM2Q05CU2Z5TmxBWld3amlH?=
 =?utf-8?B?RmQ1RnZ4TzNNM2tMQk5SampGakVxQmw5REIwa3orQ3hyYW9OMFZZdm5PR1kv?=
 =?utf-8?B?WklaYjFUREpIdFBBemh2bVVWY2xFSkxYc2l2aWgzazRXSk53RGJMcHRiZDdX?=
 =?utf-8?B?RXpOUVlHZ1VPMXRpNmJIRWlFUVdaaFlldFJLNXdaQXhDaVV6THFSOXRWa1Zx?=
 =?utf-8?B?N1grOGpQeGlTMm94N3dZUVFDOFFqTTNZMjVsN3RhSGtxVVlJQTIzd1ZjWVBM?=
 =?utf-8?B?blVtZ3BaUUVNS0NjdS9wMEtjTElSQzNxeGc3YkFuWVU4NTJUN0t3ckZKRWY1?=
 =?utf-8?B?Q3JwdlpxdDE2UXovSlRpa0JnVGFJSjRuaGwrckRkY09hUjJudGQ5Yllyc28y?=
 =?utf-8?B?MXg5UjhicTRFanZkK2Z0aVhIemVjdmtPU1RkOUJ5S0lCTytsTlRlRDJkR1hv?=
 =?utf-8?B?REdTZ25jR3B2d0xoSjhFT2Mrdjh6ZU14bUlWMlNsNzlMNyt4aXFQQU1iaWJC?=
 =?utf-8?B?dVNyK09vRGhtT08wUjdQT1ZGNEdpNVQ2bVljNkVuRE5yZUZrT2dLYVVDSWRX?=
 =?utf-8?B?NksxdFlzWGZacXUzeE5JUlg2MzZOTlZXZ0RHMW0rWC94NUtyVS9SWnRVa0hD?=
 =?utf-8?B?U2lpdmNYZ1hpdjJGSWEwM0c3VUFrWlRmdUt1MndBVS9qUDByZ2xRNG5yK3Q0?=
 =?utf-8?B?MlFuWmNMdnVxQXpQY0dzSFMwblFjSFFuK3FYSGlNaWFoSFZIRFpSbms3OHVk?=
 =?utf-8?B?VFN1VU4zakhqRHpHTWY4S244ZGZGRjUzbW84d0M5UUxlblB4VTlqN3IvRld2?=
 =?utf-8?B?cGV6VkwwbjU0Q2pUTHl1b1gxSFBlS3BGNDNKc3YzNnRVbzdnQnJPUHZsU05h?=
 =?utf-8?B?aWpOQTIyOVZobnRCYTRMWWdodmlzSDVwNWY4b1ZmWGZLSEpWZDdoNGNNdHJn?=
 =?utf-8?B?UDBsUUs4K2lXZ3ZjOEZJKzA1dHZQU05wQ0YyN0lBSlFaKzc5d1Y3N25mMXAy?=
 =?utf-8?B?eHJrZXNQdFBTMjNrSGlNcEtyNnJaVzRTdHEvckFDTkJ2aktRQWxoWlVLQlFG?=
 =?utf-8?B?Q0RpOWxmMnRXbHZFTFlWYzloY2VZMWZkb0JpU1l5c1JCbE1PMlNGMk5RRmpY?=
 =?utf-8?B?dFMzcmRac2l3bTI3NlNvaDhlQjBwV1RYdTlwSUs2SHdNYXQyYWJ0cmc3TnB4?=
 =?utf-8?B?Z3ZVTmRxKzRDU0s5enJNZkxySWZwblJCU212U28xYWdmaHpuVFk3cGxiejh0?=
 =?utf-8?B?bnJ2MjZielRpZkMyd0ZWOTJ1RGNLSU5pUnM3OGRpbDdOcmFYT1NQVUFYN00w?=
 =?utf-8?B?dTVwUWZVSG9wOVRpTVFLcGVDR3ljeWJwbjFZVEd6dlBCVGlOWVh3ZDFYNFRB?=
 =?utf-8?B?THNNZ2VGQUkrV3E1N3FiSHZBWUc2MnZWb2dicE0vVHZHR1dENElRNWN6WSt4?=
 =?utf-8?B?QnUveDVkY3ZBRFdQV3FmNTRuVHA3Tkc5RlZQRythbDBXRlgyd2tmcVU1Rytt?=
 =?utf-8?B?S0ZWQmtnYzNEck9lUlp5MzZiVkFtUnRhUDZ4NTk2V3NSd3BWK3Y3L0t5bUoz?=
 =?utf-8?Q?5BwQo4wJ1slv8FySR+J6GAbp9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 550a54eb-8273-45bb-35f9-08da73b2b19a
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 11:40:54.8642
 (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: XCoabzCaS5K4w3Ops/wd6suEzW5hYDyUubULyauJBrn0J2ylxLkMVlpDvcZH3YLypwHqs+s5UuOS4iktdjodbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8941

On 18.07.2022 23:15, Volodymyr Babchuk wrote:
> --- a/xen/arch/x86/hvm/vmsi.c
> +++ b/xen/arch/x86/hvm/vmsi.c
> @@ -891,10 +891,16 @@ void vpci_msix_arch_init_entry(struct vpci_msix_entry *entry)
>      entry->arch.pirq = INVALID_PIRQ;
>  }
>  
> -int vpci_msix_arch_print(const struct vpci_msix *msix)
> +int vpci_msix_arch_print(const struct domain *d, const struct vpci_msix *msix)

I don't think the extra parameter is needed:

> @@ -911,11 +917,23 @@ int vpci_msix_arch_print(const struct vpci_msix *msix)
>          if ( i && !(i % 64) )
>          {
>              struct pci_dev *pdev = msix->pdev;

You get hold of pdev here, and hence you can take the domain from pdev.

> +            pci_sbdf_t sbdf = pdev->sbdf;
>  
>              spin_unlock(&msix->pdev->vpci->lock);
> +            pcidevs_read_unlock();
> +
> +            /* NB: we still hold rcu_read_lock(&domlist_read_lock); here. */
>              process_pending_softirqs();
> -            /* NB: we assume that pdev cannot go away for an alive domain. */

I think this comment wants retaining, as the new one you add is about
a different aspect.

> -            if ( !pdev->vpci || !spin_trylock(&pdev->vpci->lock) )
> +
> +            if ( !pcidevs_read_trylock() )
> +                return -EBUSY;
> +            pdev = pci_get_pdev_by_domain(d, sbdf.seg, sbdf.bus, sbdf.devfn);
> +            /*
> +             * FIXME: we may find a re-allocated pdev's copy here.
> +             * Even occupying the same address as before. Do our best.
> +             */
> +            if ( !pdev || (pdev != msix->pdev) || !pdev->vpci ||

Despite the comment: What guarantees that msix isn't a dangling pointer
at this point? At the very least I think you need to check !pdev->vpci
first. And I'm afraid I don't view "do our best" as good enough here
(considering the patch doesn't carry an RFC tag). And no, I don't have
any good suggestion other than "our PCI device locking needs a complete
overhaul". Quite likely what we need is a refcounter per device, which
- as long as non-zero - prevents removal.

> +                 !spin_trylock(&pdev->vpci->lock) )
>                  return -EBUSY;

Don't you need to drop the pcidevs lock on this error path?

> @@ -450,10 +465,15 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      uint16_t cmd;
>      uint64_t addr, size;
>      unsigned int i, num_bars, rom_reg;
> -    struct vpci_header *header = &pdev->vpci->header;
> -    struct vpci_bar *bars = header->bars;
> +    struct vpci_header *header;
> +    struct vpci_bar *bars;
>      int rc;
>  
> +    ASSERT(pcidevs_write_locked());
> +
> +    header = &pdev->vpci->header;
> +    bars = header->bars;

I'm not convinced the code movement here does us any good. (Same
apparently elsewhere below.)

> @@ -277,6 +282,9 @@ void vpci_dump_msi(void)
>  
>          printk("vPCI MSI/MSI-X d%d\n", d->domain_id);
>  
> +        if ( !pcidevs_read_trylock() )
> +            continue;

Note how this lives ahead of ...

>          for_each_pdev ( d, pdev )
>          {

... the loop, while ...

> @@ -310,7 +318,7 @@ void vpci_dump_msi(void)
>                  printk("  entries: %u maskall: %d enabled: %d\n",
>                         msix->max_entries, msix->masked, msix->enabled);
>  
> -                rc = vpci_msix_arch_print(msix);
> +                rc = vpci_msix_arch_print(d, msix);
>                  if ( rc )
>                  {
>                      /*
> @@ -318,12 +326,13 @@ void vpci_dump_msi(void)
>                       * holding the lock.
>                       */
>                      printk("unable to print all MSI-X entries: %d\n", rc);
> -                    process_pending_softirqs();
> -                    continue;
> +                    goto pdev_done;
>                  }
>              }
>  
>              spin_unlock(&pdev->vpci->lock);
> + pdev_done:
> +            pcidevs_read_unlock();

... this is still inside the loop body.

> @@ -332,10 +334,14 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>          return data;
>      }
>  
> +    pcidevs_read_lock();
>      /* Find the PCI dev matching the address. */
>      pdev = pci_get_pdev_by_domain(d, sbdf.seg, sbdf.bus, sbdf.devfn);
> -    if ( !pdev )
> +    if ( !pdev || (pdev && !pdev->vpci) )

Simpler

    if ( !pdev || !pdev->vpci )

?

> @@ -381,6 +387,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>          ASSERT(data_offset < size);
>      }
>      spin_unlock(&pdev->vpci->lock);
> +    pcidevs_read_unlock();

I guess this is too early and wants to come after ...

>      if ( data_offset < size )
>      {

... this if, which - even if it doesn't use pdev - still accesses the
device.

Both comments equally apply to vpci_write().

> --- a/xen/include/xen/pci.h
> +++ b/xen/include/xen/pci.h
> @@ -161,6 +161,7 @@ void pcidevs_unlock(void);
>  bool __must_check pcidevs_locked(void);
>  
>  void pcidevs_read_lock(void);
> +int pcidevs_read_trylock(void);

This declaration wants adding alongside the introduction of the
function or, if the series was structured that way, at the time of the
dropping of "static" from the function (which from a Misra perspective
would likely be better).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 12:04:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 12:04:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378716.612061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIU9z-0000Ox-TN; Mon, 01 Aug 2022 12:04:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378716.612061; Mon, 01 Aug 2022 12:04:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIU9z-0000Oq-Qc; Mon, 01 Aug 2022 12:04:35 +0000
Received: by outflank-mailman (input) for mailman id 378716;
 Mon, 01 Aug 2022 12:04:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIU9y-0000Og-S1; Mon, 01 Aug 2022 12:04:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIU9y-0001VZ-Nf; Mon, 01 Aug 2022 12:04:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIU9y-0000OK-AO; Mon, 01 Aug 2022 12:04:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIU9y-0004ch-9t; Mon, 01 Aug 2022 12:04:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+jq9GWiZQclVgC/0yIRz9/mGRE9bm0VM80e3AOX1PJE=; b=tOnSH23zTS1sNuWFhgSAsvYJ/H
	Y7DiaqlMZyTvu3GDc+ovPPhx0bOcuXUwV1GDY30dZaJL0A2//CNnLpIZ0VzL6lvRBS58ytQvzbz2U
	jjI7iWV+D1UklQQ7cXPX3VNAaAypsBrcxTs0i7K9GzWSy65/dzCEuG+XbXf6/B3forso=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172058-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172058: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:xen-boot:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-credit1:xen-boot:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 12:04:34 +0000

flight 172058 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172058/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 11 xen-install/dst_host fail in 171993 pass in 172058
 test-armhf-armhf-libvirt-raw  8 xen-boot         fail in 171993 pass in 172058
 test-arm64-arm64-xl-credit1   8 xen-boot         fail in 171993 pass in 172058
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 171993

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171933
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 171993
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171993
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171993
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171993
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 171993
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 171993
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171993
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 171993
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171993
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171993
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171993
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   172058  2022-08-01 01:53:35 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 12:17:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 12:17:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378723.612072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIUMe-0001xx-3X; Mon, 01 Aug 2022 12:17:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378723.612072; Mon, 01 Aug 2022 12:17:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIUMe-0001xq-0X; Mon, 01 Aug 2022 12:17:40 +0000
Received: by outflank-mailman (input) for mailman id 378723;
 Mon, 01 Aug 2022 12:17:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HnBj=YF=amazon.de=prvs=205531b88=mheyne@srs-se1.protection.inumbo.net>)
 id 1oIUMb-0001xk-Qi
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 12:17:38 +0000
Received: from smtp-fw-80007.amazon.com (smtp-fw-80007.amazon.com
 [99.78.197.218]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb0d2107-1193-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 14:17:33 +0200 (CEST)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2c-d9fba5dd.us-west-2.amazon.com) ([10.25.36.214])
 by smtp-border-fw-80007.pdx80.corp.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Aug 2022 12:17:12 +0000
Received: from EX13MTAUWB001.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194])
 by email-inbound-relay-pdx-2c-d9fba5dd.us-west-2.amazon.com (Postfix) with
 ESMTPS id E0BE24436F; Mon,  1 Aug 2022 12:17:11 +0000 (UTC)
Received: from EX13D41UWB001.ant.amazon.com (10.43.161.189) by
 EX13MTAUWB001.ant.amazon.com (10.43.161.249) with Microsoft SMTP Server (TLS)
 id 15.0.1497.36; Mon, 1 Aug 2022 12:17:11 +0000
Received: from EX13MTAUWB001.ant.amazon.com (10.43.161.207) by
 EX13D41UWB001.ant.amazon.com (10.43.161.189) with Microsoft SMTP Server (TLS)
 id 15.0.1497.36; Mon, 1 Aug 2022 12:17:11 +0000
Received: from dev-dsk-mheyne-1b-c1362c4d.eu-west-1.amazon.com (10.15.57.183)
 by mail-relay.amazon.com (10.43.161.249) with Microsoft SMTP Server
 id
 15.0.1497.36 via Frontend Transport; Mon, 1 Aug 2022 12:17:10 +0000
Received: by dev-dsk-mheyne-1b-c1362c4d.eu-west-1.amazon.com (Postfix,
 from userid 5466572)
 id CEB4A2461; Mon,  1 Aug 2022 12:17:09 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb0d2107-1193-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1659356254; x=1690892254;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=ySOxho5n+e29wKv8kNSyg1yqXHN2bw+cAsG5rNSiT8k=;
  b=nUi2tegPNJR2YCoghocJn/DfrLbFuWPuZ+qDfkPnUWSWTS+2RBCwJzH/
   gY7JMcpj1C5ykDK4+DDeZXECWHn+JFWdMF0fOqsC9llZQKlcKcylIGBz2
   fJS59mfQXrL+b8lrJT8jWaS0EkWfKPm8BV3h4QpI1h9GI2q4f+fHMiLcA
   4=;
X-IronPort-AV: E=Sophos;i="5.93,206,1654560000"; 
   d="scan'208";a="114337904"
Date: Mon, 1 Aug 2022 12:17:09 +0000
From: Maximilian Heyne <mheyne@amazon.de>
To: SeongJae Park <sj@kernel.org>
CC: <roger.pau@citrix.com>, <axboe@kernel.dk>, <boris.ostrovsky@oracle.com>,
	<jgross@suse.com>, <olekstysh@gmail.com>, <andrii.chepurnyi82@gmail.com>,
	<xen-devel@lists.xenproject.org>, <linux-block@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <stable@vger.kernel.org>
Subject: Re: [PATCH v4 0/3] xen-blk{back, front}: Fix two bugs in
 'feature_persistent'
Message-ID: <20220801121709.GA40940@dev-dsk-mheyne-1b-c1362c4d.eu-west-1.amazon.com>
References: <20220715225108.193398-1-sj@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220715225108.193398-1-sj@kernel.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
Precedence: Bulk

On Fri, Jul 15, 2022 at 10:51:05PM +0000, SeongJae Park wrote:
> 
> Introduction of 'feature_persistent' made two bugs.  First one is wrong
> overwrite of 'vbd->feature_gnt_persistent' in 'blkback' due to wrong
> parameter value caching position, and the second one is unintended
> behavioral change that could break previous dynamic frontend/backend
> persistent feature support changes.  This patchset fixes the issues.
> 
> Changes from v3
> (https://lore.kernel.org/xen-devel/20220715175521.126649-1-sj@kernel.org/)
> - Split 'blkback' patch for each of the two issues
> - Add 'Reported-by: Andrii Chepurnyi <andrii.chepurnyi82@gmail.com>'
> 
> Changes from v2
> (https://lore.kernel.org/xen-devel/20220714224410.51147-1-sj@kernel.org/)
> - Keep the behavioral change of v1
> - Update blkfront's counterpart to follow the changed behavior
> - Update documents for the changed behavior
> 
> Changes from v1
> (https://lore.kernel.org/xen-devel/20220106091013.126076-1-mheyne@amazon.de/)
> - Avoid the behavioral change
>   (https://lore.kernel.org/xen-devel/20220121102309.27802-1-sj@kernel.org/)
> - Rebase on latest xen/tip/linux-next
> - Re-work by SeongJae Park <sj@kernel.org>
> - Cc stable@
> 
> Maximilian Heyne (1):
>   xen-blkback: Apply 'feature_persistent' parameter when connect
> 
> SeongJae Park (2):
>   xen-blkback: fix persistent grants negotiation
>   xen-blkfront: Apply 'feature_persistent' parameter when connect
> 
>  .../ABI/testing/sysfs-driver-xen-blkback      |  2 +-
>  .../ABI/testing/sysfs-driver-xen-blkfront     |  2 +-
>  drivers/block/xen-blkback/xenbus.c            | 20 ++++++++-----------
>  drivers/block/xen-blkfront.c                  |  4 +---
>  4 files changed, 11 insertions(+), 17 deletions(-)
> 
> --
> 2.25.1
> 

Changes look good to me. Thank you for reworking my patch and also fixing the
blkfront driver.

Reviewed-by: Maximilian Heyne <mheyne@amazon.de>



Amazon Development Center Germany GmbH
Krausenstr. 38
10117 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss
Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B
Sitz: Berlin
Ust-ID: DE 289 237 879





From xen-devel-bounces@lists.xenproject.org Mon Aug 01 12:21:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 12:21:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378728.612083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIUQH-0003Mn-Ie; Mon, 01 Aug 2022 12:21:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378728.612083; Mon, 01 Aug 2022 12:21:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIUQH-0003Mg-Fn; Mon, 01 Aug 2022 12:21:25 +0000
Received: by outflank-mailman (input) for mailman id 378728;
 Mon, 01 Aug 2022 12:21:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g61G=YF=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oIUQG-0003Ma-FR
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 12:21:24 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74f7386e-1194-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 14:21:23 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id ss3so19942149ejc.11
 for <xen-devel@lists.xenproject.org>; Mon, 01 Aug 2022 05:21:23 -0700 (PDT)
Received: from uni.. ([2a02:587:ac0b:7a00:1b9e:a344:414e:dad7])
 by smtp.googlemail.com with ESMTPSA id
 w7-20020aa7d287000000b0043bc19efc15sm6689559edq.28.2022.08.01.05.21.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Aug 2022 05:21:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74f7386e-1194-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=7XSD+8EhA1uKBi/nCXW+oNfci4M5oOn56Y+83soX83U=;
        b=jlgx+HkGXZ7Dg+2dx8hRjhJN718Y5fVqbtZe7j+0fUaYxvOGRbrt35Nj3iXII1HJlw
         DKJNNYvZaRESrZhpxu8eyOu/Jh15kFCpFrzwITPvonJxVuIg5xoJt+VCG4GJPgWxeU/s
         UUlZJtb2dbzOrPFr8ZtP0moAUEALuk9PZrUtzXAF0KCq1eZ0SWA6NVLBYap4CwQlEBop
         LDLxifQVlcFvo1M7uiviV/w7K8X18+sWhHCoM95u5Ibkqup7Gr+HbP1HQWyS3+SNlVez
         RK2ueAwrFr+n3Av4Anbhbo+cZlyPgq2XYY0oE/KP3yVvIUji+NgC3Q1yBzyPg2DsQ0hN
         e2lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=7XSD+8EhA1uKBi/nCXW+oNfci4M5oOn56Y+83soX83U=;
        b=TuJFncSR/E7eF2GTV1LdComoVqfEwVgcFCpGQqwNA0cphGVF4jCKbQn1t87ccAbBJU
         q3CKzn4nq3eWSBr6tENMBgAyzftVAgS7jOBpXKF6zBIN8xtCPwFMJc12Ww0gcW7EagDk
         fy7Q/6KQ4HAVyqqJnKOLrM263Rex7ZjMvxEuJkFLEbBVGGqbor+yUu1dBFJ/5e5ZycHk
         cm9qJSb12itmUriOZJzGHD+hrmobr2puVCbr7K906rlYWjv95EL0w/yuZl9fSlVQH7ig
         L0MnYw0qiouGiC30KBY5/f4p9pnxofAZvJT06ZW6ncslstT0Aki0I2x7G1m5oyqKPyKf
         7tiQ==
X-Gm-Message-State: AJIora9ZogUq/gs6FMdzpYUPeRYNz/TvHb+h5wZlv1biNqdnmWbHUDMo
	AuiqnsU2AwnKUshuz9KE4ONoFuz5Sx8=
X-Google-Smtp-Source: AGRyM1t7mHt5dRuZFVZpQv8g3fwlLywHaKnOub3wde/68VLPnxuoQSUOXwH+eYwsl4aZRq8uV02YYQ==
X-Received: by 2002:a17:906:e9b:b0:72d:ec31:b037 with SMTP id p27-20020a1709060e9b00b0072dec31b037mr12324343ejf.595.1659356482771;
        Mon, 01 Aug 2022 05:21:22 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2] xen/efi: efibind: fix MISRA C 2012 Directive 4.10 violation
Date: Mon,  1 Aug 2022 15:21:18 +0300
Message-Id: <20220801122118.1673349-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Prevent header file from being included more than once by adding ifndef guard.

In order to be close to gnu-efi code
- for x86_64, use the same guard
- for arm64, that there is no guard in gnu-efi, for consistency,
use a similar format and position to the x86_64 guard

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- import efibind.h guard from gnu-efi for x86_64
- add a guard for arm64 in a similar, to x86_64, way
- change commit message accordingly

 xen/arch/arm/include/asm/arm64/efibind.h  | 5 ++++-
 xen/arch/x86/include/asm/x86_64/efibind.h | 4 +++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm64/efibind.h b/xen/arch/arm/include/asm/arm64/efibind.h
index 2b0bf40bf2..8b43bb8495 100644
--- a/xen/arch/arm/include/asm/arm64/efibind.h
+++ b/xen/arch/arm/include/asm/arm64/efibind.h
@@ -16,7 +16,8 @@ Abstract:
 Revision History
 
 --*/
-
+#ifndef AARCH64_EFI_BIND
+#define AARCH64_EFI_BIND
 #ifndef __GNUC__
 #pragma pack()
 #endif
@@ -205,6 +206,8 @@ typedef uint64_t   UINTN;
 
 #endif
 
+#endif
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/include/asm/x86_64/efibind.h b/xen/arch/x86/include/asm/x86_64/efibind.h
index ddcfae07ec..e23cd16cb6 100644
--- a/xen/arch/x86/include/asm/x86_64/efibind.h
+++ b/xen/arch/x86/include/asm/x86_64/efibind.h
@@ -16,7 +16,8 @@ Abstract:
 Revision History
 
 --*/
-
+#ifndef X86_64_EFI_BIND
+#define X86_64_EFI_BIND
 #ifndef __GNUC__
 #pragma pack()
 #endif
@@ -278,3 +279,4 @@ typedef uint64_t   UINTN;
 #pragma warning ( disable : 4731 )  // Suppress warnings about modification of EBP
 #endif
 
+#endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 12:45:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 12:45:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378734.612094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIUnt-0005t7-Jc; Mon, 01 Aug 2022 12:45:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378734.612094; Mon, 01 Aug 2022 12:45:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIUnt-0005t0-Gd; Mon, 01 Aug 2022 12:45:49 +0000
Received: by outflank-mailman (input) for mailman id 378734;
 Mon, 01 Aug 2022 12:45:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIUns-0005su-8y
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 12:45:48 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70051.outbound.protection.outlook.com [40.107.7.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd51fd78-1197-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 14:45:47 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DBBPR04MB8011.eurprd04.prod.outlook.com (2603:10a6:10:1ec::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Mon, 1 Aug
 2022 12:45:45 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 12:45:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd51fd78-1197-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z3wqfnXCAUztKALPovSJ3kA4zqWp4h7TlFfG3WoJtIPqU0t2eooWz+SVODRaEcQ8jBEzleZW0eQt28V4pUbECRNzjL6Rc8yQXNkTe3CACyDCRSSB0Wr1e5kU41kLJNGtTGL1k+U9nmmhS0leJono5uVuWJ92Wt+t2iQ+8skuVvtd4UrluRRuy8/xtQaZj2nTvNG5vqEI2YSyffl5NsNao2KqNzcrP4JHjnLMtqLrYqtC5+xhSVU/31fZh/G5RlmycKKqIrfcKtsvvZh+GrYIsCqWwHG/rNa4DS/jLp41AJxz1hJtK2S4vvqKQ9xOz1E3TBpV0oJz22iEGhU9+WJqIw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=siy08G96/hQVj4Pmc8qKYMEEvMKp8fY8QPK976KrWco=;
 b=Q9Cmk2RBUeMKBgsQsEqD2zaF+JM+kNROtf/tOwVMGTnSnQKF2o6lemdDXjqlvO/lWPMlw2vFSQf0ICMQtsYPLzgkoPXH9x27nkmkkC7DeSJh5cXFX0C27Wto2W4PWZ/r/KVtLCEYjFwPjYjXk1kccVfB/VJ0tLdbhrwFJrPfvQrchnDiKB+xot0i4+1vGD64eUx6BWL5plgBawwHA3t6u5hfX//fZ3jy8Lmr9J+SaFmX+OnGh4949nNSq8i1i+xBtE64A1mpR4osghR/uWmDVyA8g1Mp9iVBO4YTn/H9tV1o5AW9WCV1EbD1K05n3O+j4MR/loWQk3t+zKS/+Vx/Xw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=siy08G96/hQVj4Pmc8qKYMEEvMKp8fY8QPK976KrWco=;
 b=z8SXX0A7MdI5n9F6SZEYzxV6GrOL0717GRCGZANF/KkR9N3be/3sGXShFzVXJiZ8EXvCAnDvOge8gjQO+2/dgvMhLPhZMMT36Xr2K8X0h+pZOdvr+3Q+41o0ozsW9uRlYvE7r/5Ah6fiSnwAbKj6bwG3sRmHbS9fZLhGzgwADVo7GaW0Ks0nZnbVUc9ciscCNC8o1D/fgK/dwwQPmWAQmjOY9zpOSPH/1sMaFPXqhS8XAx2K8A9lQ2ryIF1XFPirxw08GP33hZXRA1TC0MblnvvGaf++zv6VGQnz5E4+jLFvo7ZIBEufzHOF3ubCdzQbBpFmHHBFp6l3kFAxEzewzA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4f238138-3306-6155-4e37-de1d4f6ef6ea@suse.com>
Date: Mon, 1 Aug 2022 14:45:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] xen/efi: efibind: fix MISRA C 2012 Directive 4.10
 violation
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20220801122118.1673349-1-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220801122118.1673349-1-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0502CA0007.eurprd05.prod.outlook.com
 (2603:10a6:203:91::17) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: febdbcbc-d829-46bd-e56c-08da73bbc076
X-MS-TrafficTypeDiagnostic: DBBPR04MB8011:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aRRT3ACs8WDcpuOn//PTsKZ52sRPtpOl72jZSoe58Nh+ZOjpJrmt8qGYc+EzwDcGaGyM5mWGcoGHhiAOQc9KxbYZtWC0dFvVDZ+RmX1snjiXm8HISVuNg+Ne2LhUwVBzxfBUjAe3WGCicwCI1RCGsJQTAQChqr+YqTmPgMC/kxUUs0IVNBuMzx+SxuN+KoaMegMLNnE2/GGDb9DG8ZoZBXT3jo1rXrZ3l7ZvpC/+4ChNkzieNL5b3deVJHXsqSntFSTWU++mJADLeJn9BMtOZj06CGjiYbIKHGvoTuCzNfKW8YZWNbeDr6BF9TJKSgJJRDeQAKG9fZzRyv3kTiUqj5eDiiW76uCZAUYjq6kuecqQ81AL414raYSxUI1fSmaoj4hVL2c5hhs387Fr45wHzE506cZtbUgD9BZATpp0Vd8Bz6B3eksnSd72+N6V3k65ZdxLL478X9NKUseDKrTT2YwC3+RiFU30VRTJV4P/qyk8//DxL83ixwe2X2XLzk423vMLHdtfPTUx4A51c7iX6zZcyBT2U9maJYRFZKRuM8DZ8QU6prqQ6lQCAWXCgdCr6B8ChaLHMhtP6PPsUJxJXrENZQfMQlM4fYbHlrvYPbdfDx+XPcEwN/1mlYUlkowObaW3gYAgvabUqqsVgWj1AGDNlngjBr0aSG/LUYpBU08Dy11iXoVGNxggbcsYMVyZxzJv3GVulpn8OfdP9jiuIA3w/SLHzQi8S870Os6rgldANndubPiwJttd9eB1kZCvl/kkjj06f4uYE/ZaOd9v9mTKYju+1MJ6VpJVYfcbLOXmip8tPvffMBJkG0TFOp0afnyGrR85zYq4SdSlbd6xvg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(396003)(39860400002)(136003)(346002)(6486002)(478600001)(316002)(83380400001)(4744005)(2906002)(66556008)(66946007)(54906003)(41300700001)(6916009)(5660300002)(8936002)(66476007)(31686004)(4326008)(8676002)(36756003)(6512007)(2616005)(86362001)(31696002)(53546011)(26005)(6506007)(186003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXM1WityTzZ6VmYzT2RpdmtLNmxyd0g5ZVJUWHZTOVR6UVRHelFDbk5BaGEv?=
 =?utf-8?B?MkpTeXNrMFFocm1odXJYVUQ5eXM0Q3FDOVQwakJsanZhYStOM2l5c1pLeVZV?=
 =?utf-8?B?V2lMdS93TEhFR0RpK2NVWXRuWTQxanYzQXFNMm5ZcGxoOTErbXFycUpRUUhq?=
 =?utf-8?B?VXZaRW1rZmpVWG85K29MTXNsQjVQUlBYbWxiMW5jSFlxLzhOSXhYazcyQmZq?=
 =?utf-8?B?NkpWY0tZYUtiMHhBdkQrS3E3cmhYTmNxUWEvVVJnQzZDNUFyRHE3aDhCWlVB?=
 =?utf-8?B?NUt5b01rdXFHWmNPQXpIYk5taktmeXlwbGx1cXF5S0hNT1Y4dUNBdkN3aEZC?=
 =?utf-8?B?VkFPaTIxOEpMMnRSSDg5Z3VqS1hJWlRmQUVRb2ppMGIzdUQ0Y08yUjgvSDVN?=
 =?utf-8?B?MjRnT08vcTFOUU5NVDFJTHI2SkdVYWl0M0NxSm5MYlhPZlhtL084UTB0YmFo?=
 =?utf-8?B?ZXVlbHpwZjJHbGkzNllvdWxtTGpXc1Bkb1Q5QUFFb25pMEZxc3hqWFJJbWxF?=
 =?utf-8?B?WUZqKzFqWnZsYkdHbmVKY21RMEtTZFl1amQ0WklFUmU1T0xFMkl6WG0ydklz?=
 =?utf-8?B?QW4xT08yYzZUck83bGRsbGpLK3R4cmpKby80TjV2OWQ1a25KVWJ4L051b1Fi?=
 =?utf-8?B?UVk2bXNqOG9JT2dQWFFRQmlZWDcvYjV4aWFNbit1ZGZwdmlNcFNMbm9OU0lt?=
 =?utf-8?B?aTBlUFVsbGJmYlJ0alAzRmhmZlhXeUJEb2E0dlR2SVk1emkza2p0Y1l0bUx0?=
 =?utf-8?B?NnZpZC9BVVRZdm5FQmtTL3pVd2srZmFHUCtOcDFSQTVIc3JUcVA0cDlzY01n?=
 =?utf-8?B?MktwcVdPajlLUnArcjFIUTZ2TlgxRTNUMHVkZzc1VEJ1bUlLUDcyYmtXMEtX?=
 =?utf-8?B?VTJWeElnZXhrYXBOQVRkbmRPcktxZ2RpQS9UN3M1WXFkVGkyK0Evd1luMUYr?=
 =?utf-8?B?aG9CcGtBazZlaXAwanN0RU5kNXZ0MlplQnlxbEpHNFZPMExNSy9zTEhKdUVF?=
 =?utf-8?B?MWx0OFFZQjBTY256eExWd212Z2VDZnM3Zk1OZWU1TnJxcTRSWkpHSzBBcThn?=
 =?utf-8?B?RUE5MTdQaDRMMlRNMGJ0RWcvQ0JwcjdVdFRaNmZqdjJwWW40MTZjeFZzRGNs?=
 =?utf-8?B?MlNvNkRqcUowTGpMbHVReVZyWUdPemY0VUErN0xYYW1samFtTllGdERLNE1X?=
 =?utf-8?B?Q1hnamJKVFZId2xQZUx6bHV3dThnR0ZiN0hKVjg0MzVaWi9kYURTcHd1UkVJ?=
 =?utf-8?B?VFFPTUN0NVlxSDlJSkRKWEhFMlFONnZhbXBYSkFlMzFhWGo1ZnhUeWNUQTR4?=
 =?utf-8?B?OTZTT2cwejNKa294d3FENWgxSSsybUlvdXRXK1ZrM09Cd3RCQW1sdmRabnhG?=
 =?utf-8?B?ajVQbTVJSXZCUjI1NG5IZnpNT1JXbDNIS2g5SGV0ZENLYU9jS3RHakttTlhO?=
 =?utf-8?B?UER3NEd1YmpKZ1Izem9IUTc4Ym5SK0ViLzd3cGlZT0l1ZnB2ZHlyVTNCbGpn?=
 =?utf-8?B?L0JPRmVzdzM2c3N2SHpzVEcwYXd0SFhCeXdHcHNqMHBJZjJrSnRYdjlzZjJo?=
 =?utf-8?B?ekp2Vy9DVTZuZUZhTnNIdjhWVldIUlFtTHRNTElPdEZCQWV6dE40OFc5RW4w?=
 =?utf-8?B?LzN0VXQ5Y1NMUDg5VjV1QjVDa2RSU1lCeHBBTTFueTZLalhmQ2w5blpmbVc4?=
 =?utf-8?B?R25MamRNeExBa09SY05BakhjVFJDd0c1cFV3U1AvNmVFS00rQ01tZjZuYkI3?=
 =?utf-8?B?dWN4V1VSTjc0RmVNSGlTU1oxMVF6a1Z2VjJBTVY2aXkvRExCT2cwb0dra20r?=
 =?utf-8?B?eElxUWQ0emR1OXA5V1ZOZU9TRzNMR2Q1cUtsR0VhYWZkR21lSXBURXhWWnZW?=
 =?utf-8?B?Q0x2RExQUFZ4RUdnTitiUncxSFowSEhxQjlDNE8rWXZCa20vUlpLeDZaOE1y?=
 =?utf-8?B?d3l6WUlhNU5MQ1g1b0QrdXVIQTlPZXBjZ0cyN2ZxUGZUMkVzU2tKM3RybE4r?=
 =?utf-8?B?OHQyTWJYR0w2Y3Q5UTZVOEZsUW5LUGdxUFpTUmY1ajhub3RoU0xVU1VBSnZE?=
 =?utf-8?B?a21LTG45Q0ZjU1IzdXo3M3ZDbWJ0ZVNudmN4WFZFeFZkaUN4cXcvYjBuUUpF?=
 =?utf-8?Q?jzsatZXOcUpQe8GXVnQpoOlOE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: febdbcbc-d829-46bd-e56c-08da73bbc076
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 12:45:45.2379
 (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: 1Yv7JUGY7EggmmzEe+SKUCc/mQWsk+u9A+26dP12qMltYft/q70e7aJp9ttpsF+ZLR2R1KJUGoHpnZ4We0voUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8011

On 01.08.2022 14:21, Xenia Ragiadakou wrote:
> Prevent header file from being included more than once by adding ifndef guard.
> 
> In order to be close to gnu-efi code
> - for x86_64, use the same guard
> - for arm64, that there is no guard in gnu-efi, for consistency,
> use a similar format and position to the x86_64 guard
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 12:49:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 12:49:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378739.612105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIUrf-0006Wf-3O; Mon, 01 Aug 2022 12:49:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378739.612105; Mon, 01 Aug 2022 12:49:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIUrf-0006WY-06; Mon, 01 Aug 2022 12:49:43 +0000
Received: by outflank-mailman (input) for mailman id 378739;
 Mon, 01 Aug 2022 12:49:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIUrd-0006WL-Tp; Mon, 01 Aug 2022 12:49:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIUrd-0002Ie-Ph; Mon, 01 Aug 2022 12:49:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIUrd-0001ln-Dr; Mon, 01 Aug 2022 12:49:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIUrd-0001aa-DK; Mon, 01 Aug 2022 12:49:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZBWLlHrvRGezKzJK/XhJ0ULb9ly4P6l2aJ+MK0Fj9OE=; b=vqxENkD3sEuZgIuPsrLPcaXr3p
	wdqQWroaU3DR2hzb1lgRjB4No6W845sdRWbLF7fGKSakcTdUa/O0k58svs/tR5xD+sxi7M0IJ27QN
	hV2Qxkx1FvdgAifGMzN7k8tYHx5seQhLWewN8xhPJbW3xJKmbAFRaEEv/ZySsS7gs8Bk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172060-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172060: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=8cb19a9b9a56ab6ebefc1f913c545e0bb86d4364
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 12:49:41 +0000

flight 172060 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172060/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              8cb19a9b9a56ab6ebefc1f913c545e0bb86d4364
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  752 days
Failing since        151818  2020-07-11 04:18:52 Z  751 days  733 attempts
Testing same since   171935  2022-07-30 04:20:24 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 117529 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 12:58:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 12:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378746.612116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIV0C-00080i-Vs; Mon, 01 Aug 2022 12:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378746.612116; Mon, 01 Aug 2022 12:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIV0C-00080b-SN; Mon, 01 Aug 2022 12:58:32 +0000
Received: by outflank-mailman (input) for mailman id 378746;
 Mon, 01 Aug 2022 12:58:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aEeW=YF=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oIV0B-00080V-Io
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 12:58:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2047.outbound.protection.outlook.com [40.107.20.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3efd9c7-1199-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 14:58:30 +0200 (CEST)
Received: from AM5PR0101CA0030.eurprd01.prod.exchangelabs.com
 (2603:10a6:206:16::43) by PR2PR08MB4875.eurprd08.prod.outlook.com
 (2603:10a6:101:27::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Mon, 1 Aug
 2022 12:58:27 +0000
Received: from VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:16:cafe::fd) by AM5PR0101CA0030.outlook.office365.com
 (2603:10a6:206:16::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.7 via Frontend
 Transport; Mon, 1 Aug 2022 12:58:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT025.mail.protection.outlook.com (10.152.18.74) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Mon, 1 Aug 2022 12:58:26 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Mon, 01 Aug 2022 12:58:26 +0000
Received: from d48835802bca.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5E7F5CDC-D91C-41DC-BEF0-45CA7C8F9AE9.1; 
 Mon, 01 Aug 2022 12:58:19 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d48835802bca.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 01 Aug 2022 12:58:19 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by VE1PR08MB5725.eurprd08.prod.outlook.com (2603:10a6:800:1b0::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.6; Mon, 1 Aug
 2022 12:58:17 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 12:58:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3efd9c7-1199-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=jrAoykbWQL2CJ7q9SoGWjmH+ypvHMqERtedvWRNdDPvLCh+8X2pEMDKcf6PJd3zselXbSmmmC9aDqndxp6cf0C5o778CPvMYqt+bWXGHmIxMo26h9tPgA+ttkQJjwpOm4UnYjrYtsyvLbJfHZ+UBZQfAIsmkTf8LufS8DDgH+JyU78+w6xdi/oys6wnDnsX7SYekIjF7poPh1gQdBIrK0CH6ZbWgGdO8IvqdCOeP7Gp5cEahKTC7P8Sfn8xPaxIXBO5tbt6d8/mPGZytg0pJZzUM8aLu8rAmkuGn+ZPTLry+FFCJOl4/Jz/92akZHykIbjH+cJUG6yWMgIhsn8a8mQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qrADgtZ2fochO4XMhfpZKpZWpRGewb7vb7VpV2oTO0g=;
 b=ChTpeTH9EK9S0abBX6YK0G/gQ8Ph44w0p+LXfoC7+MhBakAF5pKYVWRR1awUsbTIllSljuy15jbG7COKIBN1HDnFiVE9a+cvoafcedxV94Be+3tigr7w8wu+mQu6xPj7QVXVzWKzvav0n+Etbib3oG/U2oOterhyAa7xLOXGsq7ngOH3urxIWXucwAGNLUEi/x9BUCpwRI/Wnp7jMxnzLfcRvrSf2h7LtGmDOG1Av8IXWzjmn41zxkxKkGxMGSJubCSt7JXJHIaCWDElPy4XxOF9dTeV/8pKtHC4oF020OOC9JoQvXzT+zqEu3H0/NQL2voh3SPp5HQLnRAE/X/gKQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qrADgtZ2fochO4XMhfpZKpZWpRGewb7vb7VpV2oTO0g=;
 b=IPgk9IUAkw8NlSS2S3vNY0/lywedoxSTeLoQdaUaOHD37ws8YyLahKzyoLYQrj2yrvEWDGo+61ERb1de6Jb+pbQ3p5BTe8xs2poyYHa62jFso0WfReTl+xysocJOFFYmSW7idPu4bGHfaUBbeIgwOMnQXLMP+h8+9KXAZBN16QQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b96fdd1e82c49579
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F1xa3D22w/gWb8pxJrvUpktIka6SCNva9BczBRJjdcrn9LfMe7tWQjbGGL+ZN70ChLZS4yXv7XOUC3gEHp6mnFbmk93cuH3UklNc/UgQNCcdgKDQhlnMFjhFnAfY/T7/hSJ5siGyH7Hq9KOEQGe+pEERRTe+kNuJ4n981Ci8zOgooIQkIVQi+wm/Yk3VnINIT5o5qjV37RG7nCVCNtVNUisu67NAx+8UB5qvvI/crz+KlsscOG70gs4AMhvs/8Uaf8btD46EWQlP18TTWUnmlXuvSkwPcNiV0PaopANHzEIYriSixGOqmlg64GYxIJ1TDget4V9YOGqrCvWm6gYu2w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qrADgtZ2fochO4XMhfpZKpZWpRGewb7vb7VpV2oTO0g=;
 b=BEzesBzpLk5NNdapnlldLFXm2/6+TRunStjnR+KCsEM9Q/XhdB/EGQ2xCvn/jszejIc+wbBMQXrQssAbzaUEYAFagYC6RU5xg5uef0Fm33uCkgm50xzyLLHNGmyV8cXqUx1PZtDJEWnlmlOEUgppkr72ABdOlCDMoZaSzaqc92CJYe86rXDMPV6PdWONHjUh+lynE4rYSFTq7D9jDeAxydHBcGmKndB0COWtxgLDhHfNK1RJu7rvRoHt0lAIj6OwjaOEsOer17e9C+QzXMg5K6A2YuPZqBi0HcuIZ2ueJQ7bqH39v5kwSiK/eGGaFGJGcNWkpkBUgX+JMM2mmaQozg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qrADgtZ2fochO4XMhfpZKpZWpRGewb7vb7VpV2oTO0g=;
 b=IPgk9IUAkw8NlSS2S3vNY0/lywedoxSTeLoQdaUaOHD37ws8YyLahKzyoLYQrj2yrvEWDGo+61ERb1de6Jb+pbQ3p5BTe8xs2poyYHa62jFso0WfReTl+xysocJOFFYmSW7idPu4bGHfaUBbeIgwOMnQXLMP+h8+9KXAZBN16QQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] xen/efi: efibind: fix MISRA C 2012 Directive 4.10
 violation
Thread-Topic: [PATCH v2] xen/efi: efibind: fix MISRA C 2012 Directive 4.10
 violation
Thread-Index: AQHYpaFICLRiRLU1NUiMmj1k5/yq/K2aAXeA
Date: Mon, 1 Aug 2022 12:58:16 +0000
Message-ID: <21C2D26C-B87D-48C7-A8A1-F29A3ABF4EB5@arm.com>
References: <20220801122118.1673349-1-burzalodowa@gmail.com>
In-Reply-To: <20220801122118.1673349-1-burzalodowa@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: b0943166-93cd-47cd-9b31-08da73bd8672
x-ms-traffictypediagnostic:
	VE1PR08MB5725:EE_|VE1EUR03FT025:EE_|PR2PR08MB4875:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 HDeOaS81kvDDuUoMPUFaSpSmDUNctlpoomiVejBOb4NDOFE+2rCsq6M9ZqCF2rneA3CF/DKbO07ejwwjF0DfkggIGo8G43kAh9HDD8pec9Ci9zIehu7zLkM92Wn3w7pdrdKtmPz9s7AsFWpqszuO3sRh76/OslN2mB9yzKjlljXHZSGOB+x762VMon1qgXIxoYayBi6N9c+6OtDjam2HX4OR2/QSNARsTWowcP2TJv7Hj7ScSKTPVAsEMGSUh5F/LsCoSqCm/OPcefHAwGv7DoG2h9FLGBzG6JYlCJIDTQJfVuxK5UI1eenrAByrN7XYTZ69aj9XlJbR2jd9FBvATMkWSN7DmcsNUXdNWYLyofMe7RJlhkwQFstITu+6m5EXyjeifAiah+lZFxUmM0AypN1nbgCyW+6+LmhS2GBlJxHR5Jb8qiWQ+OuMNfGZWLR/g5fx6Ywfs7OlR5AHVDXjZV5j25k6JbD2Ff/YlqxFUYlWz8TFNp5ObkR5r+e7fdJNk+k391tV8Ph5cC+DFHEd/jfJNAMlwP8AElqpq8+es7wipv7zhrCW0AhoiNEbSNrNdtnFfK/6our0z8KUvG1WMNPBMX5ieFfYQRpy58GKKdGZZ3ulmgbS6NFNNS3MUbkD06WtYBxD0tjQZ70GmWVNVvTMWygWfX9sLwarKi8RJGrPsW4ZIOo6Uu4HAvQuz06O6JpCwNwhkYof2l0xnHNrqnDXAlpM91OhtSlRyk2NiL6oS0y6kAU2DQiKlBUx4yOE0Rm8XREjZVlE3CDghSElKylnq7lHTLNB4GfpChhHDRKfgDo9CY4c5acheOKxX1bA4WIRJ7hV8j6HNfWhf1pypg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(366004)(376002)(346002)(136003)(83380400001)(54906003)(478600001)(6486002)(71200400001)(2616005)(122000001)(186003)(38100700002)(41300700001)(6916009)(38070700005)(53546011)(6512007)(4744005)(5660300002)(8936002)(26005)(33656002)(6506007)(2906002)(66446008)(36756003)(8676002)(64756008)(86362001)(66476007)(66946007)(76116006)(66556008)(4326008)(91956017)(316002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <227B1B768753DF479132EDBD76D212D1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5725
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	15b8f0cb-1ff7-4a91-fbd4-08da73bd8081
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GbMMUtZqrk7wLvk1eP7QIk8yL4YehUMynZGF+FV2ngvRHjSfWYQrybWg3vJtan/h6VlH/jw9uaSXs9S3OPkb9MQYO6hFkpZ5+KNP1Z+MzVfvYqWKri6MDa1i7SHsuip+szXxHHitKr87h85IMMY8WjgxopkV+AP92xUCbWmIkGdLARxW9z1Pg/PJ51nbwxwoebFhgu1LeY7B4Wscz9NpFgOVXfBWKPxaKdDH+Wr+2aa9fnT3mUX+82Z2xwEwZlHPBRcF7nBvu55Eef8rwC/13AXloderNdtEoQUrVdNjL2+BXs57Fs6f/pWSeKYWHCxy6ZpUmtVcMfbRmazigtjnDnj6EZFIQG0GdxIFxccLjF6NRR4HeCF1d54iCfelVDGupIPHxUDas3XWxekPQ1N4O1PS1CXVysYF3lQ72Y/uhavINZT7FpiSi59xLQuSJbRk/vaL46cvzbo1r6A+y2J/09d8MmQjyMkjpuc7E1Jo9tezVpP0Hk5F8oK0jaCvqmPWsuoOKLr1QRm+2s/zDy4mnShzgmpZLXnfjyMTQBNVeC+gTNS+OwK+XNFRrzwABVFkFxJOjELVAzwbu7TSlCth8/Dw4JdiE6FDAvCFPbQwSNaLYiWsorjKXCcs/pGjXwYuYc7QLspgS6084OACd7DiPLPmPtrdSZmBY2I9caQBSjbgn3SHj6WlT0P6HlSJ/eDD5vRp8uEIE2w1Gg/2+4LY8EG471tSksUJCZC2Kc3vJyxy+6imP8pSwkLbh1hbkCqG25OefrZBBSqafVfr0G59bx8Q3HuoEkPxK6RvfyZPIG5Dd7C4Cqhw6Xi3lXI3LCg2
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(39860400002)(346002)(136003)(36840700001)(40470700004)(46966006)(70586007)(6486002)(33656002)(70206006)(8676002)(4326008)(47076005)(336012)(2616005)(186003)(40460700003)(6512007)(26005)(86362001)(53546011)(6506007)(2906002)(41300700001)(8936002)(6862004)(478600001)(5660300002)(4744005)(82740400003)(81166007)(82310400005)(40480700001)(316002)(356005)(36756003)(83380400001)(54906003)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 12:58:26.6923
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b0943166-93cd-47cd-9b31-08da73bd8672
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4875

Hi Xenia,

> On 1 Aug 2022, at 13:21, Xenia Ragiadakou <burzalodowa@gmail.com> wrote:
>=20
> Prevent header file from being included more than once by adding ifndef g=
uard.
>=20
> In order to be close to gnu-efi code
> - for x86_64, use the same guard
> - for arm64, that there is no guard in gnu-efi, for consistency,
> use a similar format and position to the x86_64 guard
>=20
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 13:16:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 13:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378752.612127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIVH3-00022d-IF; Mon, 01 Aug 2022 13:15:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378752.612127; Mon, 01 Aug 2022 13:15:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIVH3-00022W-FG; Mon, 01 Aug 2022 13:15:57 +0000
Received: by outflank-mailman (input) for mailman id 378752;
 Mon, 01 Aug 2022 13:15:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bsKS=YF=citrix.com=prvs=2051f115c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oIVH1-000227-Jy
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 13:15:55 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11775e35-119c-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 15:15:54 +0200 (CEST)
Received: from mail-bn7nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Aug 2022 09:15:42 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5811.namprd03.prod.outlook.com (2603:10b6:303:91::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.6; Mon, 1 Aug
 2022 13:15:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c%4]) with mapi id 15.20.5482.016; Mon, 1 Aug 2022
 13:15:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11775e35-119c-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659359753;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Zk6AQqhWd2uOMQ1KSQVJsYyak0O3zp/F52M8UOMXjZ4=;
  b=fvlYoalTet/cude3XE1Qc2bmpbUEPbcS1XZ2lAhTWgxugBgEMxsWexUt
   sLWaMAEX61eRUnEmSDplxi6HavfMmNCCVbZp38M1erif8M6zevebUt5oC
   PrngG4oopV5T+GOquWRSPJ0n7bIvzWHa0qEg0Rx01GX0NgGgyDBRAoGLr
   o=;
X-IronPort-RemoteIP: 104.47.70.100
X-IronPort-MID: 76863592
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:9MkIxqkEfhWOQcU6Dnx1FCvo5gx8J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcWGqGaa7fM2v8co91Pom1o0gB6pTSnYcxQAJlqSlhHyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37Kyr4GpwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kGGNE89chOGV0W0
 u5CcwwWTy6E2ti5lefTpulE3qzPLeHNFaZG4jRK626cCvwrB5feX6/N+NlUmi8qgdxDFurfY
 MxfbidzaBPHYFtEPVJ/5JAWxb/0wCWgNWIA7gvN/cLb4ECKpOB1+JHrPMDYZZqhQsJNk1zDj
 mnH4374ElcRM9n3JT+trSz82LSSzHmTtIQ6K4K/565MgVqv3m0YDjkNTGS9pfyboxvrMz5YA
 wlOksY0loAw6UiqQ9/VTxC+5nmesXY0WdBdDuk74wGl0bfP7kCSAW1sZjlac8Arr9NzTDAv1
 1mhj97vHSZosrCeVTSa7Lj8hSO/P20ZIHEPYQcATBAZ+J/zrYcrlBXNQ91/VqmvgbXdHjX9w
 CuDqiQksKkCls4A16i9/lfvjiqlo97CSQtdzg7QW2ek8h90fpWNd4Gu8ULc7/tLMMCeVFbpg
 ZQfs82X7eRLB5fSkiWIGb0JBOvwv67DNyDAi1lyGZVn7y6q53OoYYFX5nd5OVttNcEHPzTuZ
 Sc/pD9s2XOaB1PyBYcfXm57I55CIXTIfTg9as3pUw==
IronPort-HdrOrdr: A9a23:iq17a65CBP66FxWWhgPXwWuBI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc0AxhI03Jmbi7Scq9qeu1z+853WBjB8bZYOCAghrlEGgC1/qp/9SEIUHDH4FmpM
 BdmsRFaeEYSGIK9foSgzPIXOrIouP3lpxA7N22pxgCcegpUdAY0+4TMHf4LqQCfngjOXNPLu
 v42iMonVqdUEVSSv7+KmgOXuDFqdGOvonhewQ6Cxku7xTLpS+06ZbheiLonys2Yndq+/MP4G
 LFmwv26uGIqPeg0CLR0GfV8tB/hMbh8N1eH8aB4/JlagkEyzzYJ7iJaYfy+Qzdk9vfrGrCV+
 O85CvICv4DqU85uFvF5ycFlTOQiQrGoEWStGNwyUGT3fARAghKRfapzLgpDCcwoSAbza5B+b
 MO0GSDu5VNCxTc2Cz7+tjTThlv0lG5uHw4jIco/jViuKYlGchsRLYkjTVoOYZFGDi/5JEsEe
 FoAs2Z7PFKcUmCZ3ScumV02tSjUnk6Ax/DGyE5y4eo+ikTmGo8w1oTxcQZkHtF/JUhS4Nc7+
 CBNqhzjrlBQsIfcKo4DuYcRsm8DHDLXHv3QSqvCEWiELtCN2PGqpbx7rlw7Oa2eIYQxJ93g5
 jFWEMwjx9HR6svM7z64HRmyGG8fIzmZ0Wd9ih33ekLhpTsALz2LCaEVFci18O9vvR3OLyoZ8
 qO
X-IronPort-AV: E=Sophos;i="5.93,208,1654574400"; 
   d="scan'208";a="76863592"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SsDTcBemaX3NfSOfHoCrjzQ60EAzQI0NUUhgQ0zIx88CRIA34AyYYk1DnOleV5mBtVlcxFyyNo2uaOg9YOPM7xlGog8i6rCZcNrqUtNYsZW0Dm5+ZqZWedxD+/dcUBloKCiMawF/lfbIA6o0BaUd+GK1sEHDm75K0Dhug6Z+JfdVyy3uooaP8EEA4caqP4Jq8Vns5MFmTJSKiZ4VAQmP8vbsc8Mjn/jI9zuhPMJ17o14miDl6tmWYAlo2uqnDwi96wNSQVg+JQrCEoU7627x2Q9rk9vHTIU5mYxLVp8ELzYx5/HOOTj5RRqvz9rTbbyz0F/oX/DCrRN0JPRZ2+VFTQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Zk6AQqhWd2uOMQ1KSQVJsYyak0O3zp/F52M8UOMXjZ4=;
 b=AnNob/QkQfVTeHsYlDeTu0KevQ1DOlPwNUth7lAaX70nuHJqnjdGheopSNnD6+/zQ3TUc9iSvXunSWQOF0//INQr6Kf9G8puUS1+XKSHvF+wGEUBcbONGNSgWJS+fN7ILJwxnJG4K1pcMUTZLSUsbHNXPwtRsOO5i1B9OrHivP+3Tz832Hi7vLYJ5DCH9hNSrFpUvg98fiNfkWh5W4OpqD8y5elwHtDH5NlvyMLRfod+bhy9H6tIv6h6AEgy3XePyBax+WIpt36FXCty4MCd003Y75v48pZG+2SxxX4Ge1CMC3NfPt5rJEn7dlrD1mlNnOsXzM+KwA324G+rJPCFcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zk6AQqhWd2uOMQ1KSQVJsYyak0O3zp/F52M8UOMXjZ4=;
 b=VMHeAcOyr8hGD0DD41BJvjQRQyYTWL98/a16NLI73vuamBq+TlOxxWQSBxOFgRym88Ndc4dxYpwtKCjVhpv6e3lywadQj6zk1Xs45eo/+polmzyfvVtRYl3gm4N1ZRsTkaHfCSBHy6S21boBriU7jN+noCd15NmOJWjNAfgVjCI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
CC: osstest service owner <osstest-admin@xenproject.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Oleksandr
 Tyshchenko <oleksandr_tyshchenko@epam.com>, Anthony Perard
	<anthony.perard@citrix.com>, "committers@xenproject.org"
	<committers@xenproject.org>
Subject: Re: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Thread-Topic: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Thread-Index: AQHYoucqKBVQjzDSEEqelmNJqFa/7a2U4XaAgAC8VYCABB/vgIAAAhuAgABL84A=
Date: Mon, 1 Aug 2022 13:15:39 +0000
Message-ID: <ff565bad-c2be-5128-aeae-28f614f0230c@citrix.com>
References: <E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org>
 <08606914-f5f4-8415-51a2-f6a5e1c54d20@suse.com>
 <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
 <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
 <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
In-Reply-To: <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d2e93161-48ea-4b62-26c5-08da73bfee47
x-ms-traffictypediagnostic: CO1PR03MB5811:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 WR8HD9y7xJJBBS5wS21rOPVeD2rMtGgLO0Pcbhz8InFQY+gENCS+0Y3BrP3Ic0GOlZX/yVWylyEVzwK/zQeUXHHTFNDteDqSJHXJ173U5W/wh3oYKyLlVD5+Jgsi1OZeodEzObEqCFSkl3nIe3ma6pAVrmParC53wUJQZVgEwEdDeQ6ejwWRwt8iRPN8qmOsaZLwusikf2gBk+Z40H0PFgNqExlgAXsZbOSf4GxpyAKphmdx3kqkgWi/P0QFwertGTTxgmw/61ysYq+pw8VZhpI7h0hHE4FqaY6l8+BKyIYuqc9vvQoTlUguy2sH9WBenisqJFiv1oXag+VT52J7jCDsF/K2Ww5IQCUhFgcu7P3yTVZoCMdhDIfTXuHtpuT2DSduFA81IsYUcbUyg2I15ywmwAb3J+COC5xEMtDlZBnYRyaqpq+eVgOISPIPNB5MkpgRm32FmjmGdxXqzGnZAMriEcAymuDU/kfmrEAEesSaUnp6lOTH8npc3HR+tKcYjTFWWqfBuDq+Ims29J9ZBQscaU69ArJEJG8yECAnG5OLXWxBc9kb1ds3f7SXy2fSh4c6RFAt1s0IXUsXN/U7U4rGMCCiwINbAQPoaCOzpp4dEbE/xlebn5FjRQYH6yihICfmSTSGVQAIB39UmUSN25cWZC4kuMjlw5hOCOkgjjFzClEa8T5lBJHgHW343mayGTaH5YPWZ9ziT4fGugtypMWZxk+vaIvfWJ/UMLNGk+gXNbCZnAdL6S1H+ZRTM4c2ICOj1/RLYfgdVWOSo5FF1eYYyh/+2/Bt2uj8FBp0mVe3sI7b9L+wGo3B3OETdc8f5OyHFytFszaFBXPE6Y51SdPymkh4NFy7Jik/BJ/iq6qN9hNKjbEBQclRF2aNeQf/6j0YePp57kej7zdilD0eww==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(366004)(396003)(346002)(376002)(478600001)(8936002)(186003)(6486002)(5660300002)(966005)(53546011)(31696002)(86362001)(6506007)(6512007)(26005)(2616005)(41300700001)(83380400001)(122000001)(2906002)(316002)(82960400001)(66446008)(110136005)(36756003)(54906003)(4326008)(8676002)(38100700002)(31686004)(76116006)(91956017)(66946007)(66476007)(66556008)(71200400001)(38070700005)(64756008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZVNVOHRWN1ovV2g2L0hJQ21TL29hbit3aXdCWWMvd0ZaUVM1a3dad1NFWE0r?=
 =?utf-8?B?SzNFbERmYlVub0ZsTlVVTlFTM3lFVVV4SG0yb05WeXdVTUxhR2tJVHB4NjUy?=
 =?utf-8?B?Q1FUWGR1VGRWMlovZ21vQkUwWDBzZmNxS1R0cHNxaTBzOEMvazQ5MTNpV0pY?=
 =?utf-8?B?cHVCVHBQbkt5ejFCc1k1L2U4WmFwblcxQ01PU1hESktoUEFsM1N3NWgrWnNM?=
 =?utf-8?B?dHAvdW92LzBRY0p4amwvWUoxU1V3eGRuSTdBSnBRMHJyTHliVzRrQ081OFlI?=
 =?utf-8?B?czFOY0pLM21NNEEzdmxuUmdBbTdzSTJDV0o4THIzMWhXbVo1dnNNN21CbTZG?=
 =?utf-8?B?cUlkMTRaN3c0ZkZJM3hUZE1ZRUROUTJ0M3ZEemdCUElNTXI5ZFI5bS9md0Vk?=
 =?utf-8?B?NnhzTzRmY1kzaURKbGFrcGpTdjUzMWtOY3lTU3l2Ry94TVQweHYxSjlvWnJn?=
 =?utf-8?B?SER3dzhXeTF3ZERzR3doMjZJOWdpY051cFFLaHBHbXBBaktmdThuWG9oVm8w?=
 =?utf-8?B?QW5xbzVWYm1DMUlvS1BhZVRPbHhsRlhHMFZycnZlNVBMVUwwTXVaaFZhWEcw?=
 =?utf-8?B?ZGVxc2lXRGFXaGNjMTN4YnZ4Y01KU0RmOVlzbHhwaVZzaDRCUU0wR3F2bkc4?=
 =?utf-8?B?TDZmdmFYeXFLb21xNU4rbnZ5ZGpobDMwbytEckQ5RWlKdkN4bmdaSVprWkUy?=
 =?utf-8?B?RThrazlJU1Nad3dHa0FNZkJZMy9ieTlHdmM5YVphOW9rdEIxVGR5eGhnaGpu?=
 =?utf-8?B?NU5yMjFkTjJlWGxyZEtCbG1MSGtPRVM5clpLL004M0dPc1QySUM1MTBLKzNH?=
 =?utf-8?B?Q3RtY3BsbjdURDdGcGRoU08vM2tIT0lMNCtXQzVBY1hKNjhnSUZOV2l4bGZy?=
 =?utf-8?B?ZGF2QnJsK2ZlczA0QUh1alMrR3ZXaGtYY0ljc0Z5dDZIUTJNZEVNTmZlRWJu?=
 =?utf-8?B?RTlaY2xUNTFPOWRQdzZHV3QzYks3S2o1ZFdyRnhZQWMydzRqYWRQM05xMjRS?=
 =?utf-8?B?NkVJSmk5K0tuNm96eUtoZG43MWFPRzZSYVVTZUpzektkcXdsOWtsbHJPdSt2?=
 =?utf-8?B?eDl3NDMyTEdIdlZxZlhKcHRZSG9VZThDVFlpcjZldDhHYzVZUlROaVdXMzBD?=
 =?utf-8?B?VEhRdVNiNGxLRU9KZGpUUkExQk5tajdYcG1qRDcyZVh1R2loODFDSGc4a0dG?=
 =?utf-8?B?cTllMlBxUmppdjBOKy9TRFRDOTYwZnVlRlR1TmNDd2hPUktrOWlJeTJwTTNx?=
 =?utf-8?B?QjlsdXNrVlRrbFd5TjZZOW9sTzN5aTYxemFyK1lFS2JIZlUwSE04MjhKY0Fy?=
 =?utf-8?B?Nms4ZjZuM3J2cnZRaEIxY3N1ditBVFJwQ1RaMU9qS3c3TEhTNDZuaUNHTVVn?=
 =?utf-8?B?aTBTOXBXY2I1WVhvK0lUQ1pYUFpWQkhCOHFRNDk0QlBoZVg2Lys3TFluUTlG?=
 =?utf-8?B?bXFxdHBMK3Uya3lqaWFnVmU2a2xVU0t6d083L3M2aXgycDVtb2RuaTBNK2M0?=
 =?utf-8?B?S09zaXFxOUppVjFwWHVqVUwveGFMWTh3UVBQbS94OUJjY3dzRXBidXJhN3k4?=
 =?utf-8?B?WjVwbVpuWXZtZ2hjU21XTGhIQVk1UWNXRkdmcFZXY3BUcVNwd2FOZVBONlNK?=
 =?utf-8?B?Wk5TcmN2cTdkZ0pFNGltdndibEJ5ckFHWUtDNFREY0JhbHdiUVkvWlhOc0gy?=
 =?utf-8?B?YjNtTHNJcmVXdWRZWWsyQktoYlhtTGV4VHU0UWxhN0F6akxZRlVnOXcvWDV4?=
 =?utf-8?B?ZTBjUERxbFNsU2JQdkkrZEtUV1ZiSlBwN3NMODhRTUFxVnl3RVBUa3ZUdVFB?=
 =?utf-8?B?VW10a2lGL2dWeDZGeUwzWVpwVWRybG5VbGswaTBRQk00SVpWUFgyNXZkVVJ3?=
 =?utf-8?B?eHFBYkh3d1JzUG40Yzl0OTBzMGlGbU1nL3FjWVJiWkRIUjczL0hMRk0yQkRC?=
 =?utf-8?B?aHk5dlduZEpxSGtZMndlNlVOYm5aMUxSR2t5ZkRsOU9IMjhCWWk2VjNQczZY?=
 =?utf-8?B?YnJqYTN1VzRYRG9OM25USkFBNlU4QkdTbTVST3Vib0d6Q0Rickd6WXY3S0ZW?=
 =?utf-8?B?SGZFQmxiVFpCelpHRE1TV1JpUlVteGMxMWpCcEdLTkYrR3JBMGU0d2lHTzhr?=
 =?utf-8?Q?1XBHbQObTuywGKHtu1LfmTtx3?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <13FB6D8AD946C849B8A6B39EE361DC54@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d2e93161-48ea-4b62-26c5-08da73bfee47
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2022 13:15:39.9309
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /swKbZsCVXQUC8+7+paF0Zo+2cFyVemfZLdPnE7o7HE5t97Fex+s4Fvvr3qXtcBkUbDn3DvyHqOZ4RrFqHXP1kTKwc7wxnQ6gefXdpzO8TY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5811

T24gMDEvMDgvMjAyMiAwOTo0MywgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPiAoKyBDb21taXR0ZXJz
KQ0KPg0KPiBIaSBKYW4sDQo+DQo+IE9uIDAxLzA4LzIwMjIgMDk6MzYsIEphbiBCZXVsaWNoIHdy
b3RlOg0KPj4gT24gMjkuMDcuMjAyMiAxOTozNiwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhp
IEphbiwNCj4+Pg0KPj4+IE9uIDI5LzA3LzIwMjIgMDc6MjIsIEphbiBCZXVsaWNoIHdyb3RlOg0K
Pj4+PiBPbiAyOS4wNy4yMDIyIDAzOjA0LCBvc3N0ZXN0IHNlcnZpY2Ugb3duZXIgd3JvdGU6DQo+
Pj4+PiBicmFuY2ggeGVuLXVuc3RhYmxlLXNtb2tlDQo+Pj4+PiB4ZW5icmFuY2ggeGVuLXVuc3Rh
YmxlLXNtb2tlDQo+Pj4+PiBqb2IgYnVpbGQtYW1kNjQtbGlidmlydA0KPj4+Pj4gdGVzdGlkIGxp
YnZpcnQtYnVpbGQNCj4+Pj4+DQo+Pj4+PiBUcmVlOiBsaWJ2aXJ0IGdpdDovL3hlbmJpdHMueGVu
Lm9yZy9saWJ2aXJ0LmdpdA0KPj4+Pj4gVHJlZTogbGlidmlydF9rZXljb2RlbWFwZGINCj4+Pj4+
IGh0dHBzOi8vZ2l0bGFiLmNvbS9rZXljb2RlbWFwL2tleWNvZGVtYXBkYi5naXQNCj4+Pj4+IFRy
ZWU6IHFlbXUgZ2l0Oi8veGVuYml0cy54ZW4ub3JnL3FlbXUteGVuLXRyYWRpdGlvbmFsLmdpdA0K
Pj4+Pj4gVHJlZTogcWVtdXUgZ2l0Oi8veGVuYml0cy54ZW4ub3JnL3FlbXUteGVuLmdpdA0KPj4+
Pj4gVHJlZTogeGVuIGdpdDovL3hlbmJpdHMueGVuLm9yZy94ZW4uZ2l0DQo+Pj4+Pg0KPj4+Pj4g
KioqIEZvdW5kIGFuZCByZXByb2R1Y2VkIHByb2JsZW0gY2hhbmdlc2V0ICoqKg0KPj4+Pj4NCj4+
Pj4+IMKgwqDCoCBCdWcgaXMgaW4gdHJlZTrCoCB4ZW4gZ2l0Oi8veGVuYml0cy54ZW4ub3JnL3hl
bi5naXQNCj4+Pj4+IMKgwqDCoCBCdWcgaW50cm9kdWNlZDrCoCA2NmRkMWM2MmIyYTNjNzA3YmQ1
YzU1NzUwZDEwYTgyMjNmYmQ1NzdmDQo+Pj4+PiDCoMKgwqAgQnVnIG5vdCBwcmVzZW50OiBmNzMy
MjQwZmQzYmFjMjUxMTYxNTFkYjVkZGViNzIwM2I2MmU4NWNlDQo+Pj4+PiDCoMKgwqAgTGFzdCBm
YWlsIHJlcHJvOg0KPj4+Pj4gaHR0cDovL2xvZ3MudGVzdC1sYWIueGVucHJvamVjdC5vcmcvb3Nz
dGVzdC9sb2dzLzE3MTkwOS8NCj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4gwqDCoMKgIGNvbW1pdCA2NmRk
MWM2MmIyYTNjNzA3YmQ1YzU1NzUwZDEwYTgyMjNmYmQ1NzdmDQo+Pj4+PiDCoMKgwqAgQXV0aG9y
OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQo+
Pj4+PiDCoMKgwqAgRGF0ZTrCoMKgIEZyaSBKdWwgMTUgMjI6MjA6MjQgMjAyMiArMDMwMA0KPj4+
Pj4gwqDCoMKgIMKgwqDCoMKgwqDCoMKgIGxpYnhsOiBBZGQgc3VwcG9ydCBmb3IgVmlydGlvIGRp
c2sgY29uZmlndXJhdGlvbg0KPj4+Pg0KPj4+PiBKdXN0IGluIGNhc2UgeW91IGRpZG4ndCBub3Rp
Y2UgaXQ6IFNvbWV0aGluZydzIHdyb25nIGhlcmUuIEkgZGlkbid0DQo+Pj4+IGxvb2sNCj4+Pj4g
YXQgdGhlIGRldGFpbHMgYXQgYWxsLiBQbGVhc2UgYWR2aXNlIHdoZXRoZXIgYSBmaXggd2lsbCBz
b29uIGFycml2ZSBvcg0KPj4+PiB3aGV0aGVyIHdlIHNob3VsZCByZXZlcnQgZm9yIHRoZSB0aW1l
IGJlaW5nLg0KPj4+DQo+Pj4gV2UgaGFkIGRpc2N1c3Npb24gb24gSVJDIGFib3V0IHRoaXMgdG9k
YXkuIFRoaXMgaXMgYW4gaXNzdWUgaW4gbGlidmlydA0KPj4+IHJhdGhlciB0aGFuIFhlbi4gU28g
SSB0aGluayBhIHJldmVydCBpcyBub3Qgd2FycmFudCBoZXJlLg0KPj4+DQo+Pj4gSW5zdGVhZCwg
aXQgd2FzIHN1Z2dlc3RlZCB0byBmb3JjZSBwdXNoIGJlY2F1c2UgaXQgaXMgZ29pbmcgdG8gdGFr
ZQ0KPj4+IHNvbWUNCj4+PiB0aW1lcyB0byBmaXggbGlidmlydCAoc2VlIG1vcmUgYmVsb3cpLg0K
Pj4+DQo+Pj4gT2xla3NhbmRyIGFscmVhZHkgc2VudCBhIHBhdGNoIHRvIGZpeCBsaWJ2aXJ0IFsx
XS4gVGhlIHByb2JsZW0gaXMgZXZlbg0KPj4+IGlmIHRoaXMgaXMgYWNjZXB0ZWQsIG91ciB0ZXN0
aW5nIGJyYW5jaCBmb3IgbGlidmlydCBpcyAyIHllYXJzIGJlaGluZA0KPj4+IGJlY2F1c2UgdGhl
eSBzd2l0Y2hlZCB0byBNZXNvbiBhbmQgT3NzdGVzdCBoYXMgbm90IGJlZW4gYWRhcHRlZCB0byB0
aGUNCj4+PiBuZXcgYnVpbGQgc3lzdGVtLg0KPj4+DQo+Pj4gQW50aG9ueSBraW5kbHkgb2ZmZXJl
ZCB0byB1cGRhdGUgT3NzdGVzdC4NCj4+Pg0KPj4+IFJlZ2FyZGluZyBmb3JjZSBwdXNoaW5nLCBJ
IGFtIHdhaXRpbmcgZm9yIHRoZSBPc3N0ZXN0IHJlc3VsdCB0byBjb25maXJtDQo+Pj4gdGhhdCBv
bmx5IHRoZSBsaWJ2aXJ0IHRlc3RzIGFyZSBmYWlsaW5nIGluIHN0YWdpbmcgKHdlIGFscmVhZHkg
aGF2ZSB0aGUNCj4+PiByZXN1bHRzIGZvciBzbW9rZSkuIFNvIG15IHBsYW4gaXMgdG8gZm9yY2Ug
cHVzaCBvbiBNb25kYXkuDQo+Pj4NCj4+PiBQbGVhc2UgbGV0IG1lIGtub3cgb24gTW9uZGF5IG1v
cm5pbmcgaWYgeW91IGhhdmUgc29tZSBjb25jZXJucyB3aXRoDQo+Pj4gdGhpcw0KPj4+IGFwcHJv
YWNoLg0KPj4NCj4+IEFjdHVhbGx5IEkgZG8gLSBpZiB3ZSBmb3JjZSBwdXNoLCB0aGUgbGlidmly
dCBmYWlsdXJlIHdpbGwgc3RpY2ssIGFuZA0KPj4gaGVuY2UgcG90ZW50aWFsIGZ1cnRoZXIgcmVn
cmVzc2lvbnMgaW50cm9kdWNlZCB0aGVyZSB3b3VsZCBub3QgYmUNCj4+IG5vdGljZWQuDQo+DQo+
IFdlbGwuLi4gV2UgaGF2ZW4ndCBoYWQgYW55IHB1c2ggaW4gbGlidmlydCBmb3IgdGhlIHBhc3Qg
MiB5ZWFycy4gU28gdG8NCj4gbWUgaXQgc2hvd3MgdGhhdCBub2JvZHkgcmVhbGx5IGNhcmUgYWJv
dXQgdGhlIHRlc3RpbmcgZG9uZS4gVGhlcmVmb3JlLA0KPiBJIGRvbid0IHNlZSB0aGUgcHJvYmxl
bSBpZiB3ZSBkb24ndCBzcG90IGZ1cnRoZXIgcmVncmVzc2lvbnMuDQo+DQo+IElmIHdlIGRvbid0
IGZvcmNlIHB1c2gsIHdlIGhhdmUgdHdvIHNvbHV0aW9uczoNCj4gwqAgMSkgUmV2ZXJ0IE9sZWtz
YW5kcidzIHNlcmllcw0KPiDCoCAyKSBMZWF2ZSBpdCB1bnRpbCB3ZSBoYXZlIE9zc3Rlc3QgZml4
ZWQgKmFuZCogT2xla3NhbmRyJ3MgcGF0Y2gNCj4gcmVhY2hlZCBsaWJ2aXJ0Lg0KPg0KPiBUaGUg
Zm9ybWVyIGlzIG5vdCBhbiBvcHRpb24gZm9yIG1lLCBiZWNhdXNlIE9sZWtzYW5kcidzIHNlcmll
cyBpcyBub3QNCj4gYXQgZmF1bHQuIFNvIHRoaXMgbGVhdmUgdXMgdG8gMikuDQo+DQo+IFNvIHdo
YXQncyB5b3VyIHByb3Bvc2FsPw0KDQpUaGlzIHNpdHVhdGlvbiBpcyB1bmZvcnR1bmF0ZSwgYnV0
IE9sZWtzYW5kcidzIHNlcmllcyBpcyBub3QgYXQgZmF1bHQsDQphbmQgSSBkb24ndCB0aGluayBp
dCBpcyByZWFzb25hYmxlIGZvciBsaWJ4bCBjaGFuZ2VzIHRvIGJlIGhlbGQgaG9zdGFnZQ0KbGlr
ZSB0aGlzLg0KDQpUaGUgdGVzdGluZyBzaXR1YXRpb24gd2l0aCBsaWJ2aXJ0IGlzIGFscmVhZHkg
YmFkLsKgIEkgZG9uJ3QgdGhpbmsgYQ0KZm9yY2UgcHVzaCBpcyBnb2luZyB0byBtYWtlIGl0IG1l
YW5pbmdmdWxseSB3b3JzZS4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 13:41:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 13:41:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378758.612138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIVfS-0005JD-Iz; Mon, 01 Aug 2022 13:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378758.612138; Mon, 01 Aug 2022 13:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIVfS-0005J6-G7; Mon, 01 Aug 2022 13:41:10 +0000
Received: by outflank-mailman (input) for mailman id 378758;
 Mon, 01 Aug 2022 13:41:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIVfQ-0005Iw-LN; Mon, 01 Aug 2022 13:41:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIVfQ-0003E2-IU; Mon, 01 Aug 2022 13:41:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIVfQ-0002y6-4G; Mon, 01 Aug 2022 13:41:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIVfQ-00073Y-3l; Mon, 01 Aug 2022 13:41:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CZUs+P4sIMmClcEQqPI0aE2O2uUkT7atv9Znxo/Liso=; b=CNxu46vGIwdySdfKBfT5zMOA+O
	c0J+fdSiwaxxdjBjs2U4Z8hJ2zJLIEwhcUYiZhYqGyCJePCUePehQpHrjxEpGFwROiyXX22p5g0z7
	wTIO8Fd43/Snu8D3mhlnUb8bdKoh8b0b3vTv21UKpTK/sRAnHsTZx+4oYD52g2hwoLCI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172062-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172062: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9dc3f006a831cd20d531123f097e3de176ac3cae
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 13:41:08 +0000

flight 172062 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172062/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9dc3f006a831cd20d531123f097e3de176ac3cae
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    5 days
Failing since        171899  2022-07-28 19:01:47 Z    3 days   25 attempts
Testing same since   171934  2022-07-30 02:00:28 Z    2 days   17 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 451 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 14:55:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 14:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378924.612221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIWow-00005C-VQ; Mon, 01 Aug 2022 14:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378924.612221; Mon, 01 Aug 2022 14:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIWow-000052-SG; Mon, 01 Aug 2022 14:55:02 +0000
Received: by outflank-mailman (input) for mailman id 378924;
 Mon, 01 Aug 2022 14:55:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TwEK=YF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIWov-00004w-S0
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 14:55:01 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2087.outbound.protection.outlook.com [40.107.22.87])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eaaf7cf0-11a9-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 16:55:00 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS1PR04MB9261.eurprd04.prod.outlook.com (2603:10a6:20b:4c7::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Mon, 1 Aug
 2022 14:54:59 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::f1f6:f171:49e9:b68a%4]) with mapi id 15.20.5482.014; Mon, 1 Aug 2022
 14:54:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eaaf7cf0-11a9-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mvVmJQ5yTwAeB5xczC3dBu0a4nM6AOAu+pb3rNc7Y4KAqJN2QJrLQ6xubyoKso3tPoUMdmiI2b1ULM9SN3Y1n4pIYtc5p/mAbM4fjtWmkBRPuOuyrGknGq1N0fZESXbVAbCEbpb23xtdwrbhEcW47n3Go+8v6d1l7sG6DXJcK5ZsAUpVpcSXxjLaAcr4Qj5v2ZuA5WNbvmIuHShVGIxEwC28Ha5fOUxNQjsPxQwIqnyyQsqoBPuTpFFXtNPPGNm+eoEUJ+iVlIdXCtv0k7EtVJ4LjXev0DoH5+pIpm6qxk0+nLYfwF+EmZbZZL/sj7dgdSUOTVq7xBIOOYsAqb+pKQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qadgjDDaoPjckW3Yk+8L5p2Pq7NGdumoHePsZbmzN7Q=;
 b=GWUlmjXOkx21fRIKu8NgpS1FoT77HNU/8rd0OOn7ZzPnVg1MeAU5rown+r6vW0+pUWxVU+HHqv8S2Nhe1ts7xmOTacpR9ZjpVjQ0QGbxjisNnHt0oHcM9wBfH390Sy5bBO9Ks/Bbf1MwC/hdXcOZFYrOvEPedBfp0e5hv+ueARfdhQZCeLqHaogcQh8W6zMgmLscsHYyMUP54MPeVq6sHimH6BOh8UARs01zyI60HZK3mVbLtG2olF7XvCBYI8zjCn5KI8UQK1QIdJcbcrUNK6PjdY788idVcV26tw8semZY8eDRrJnMTNpqJE2b7P8biVfajBlk7WZNeVKoT33Tew==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qadgjDDaoPjckW3Yk+8L5p2Pq7NGdumoHePsZbmzN7Q=;
 b=kHx1P2J/tgifUH/yuG5oUUoo0uh9sAO8y6AHCQrYguCxyR/LR0GwCIQGJSkegXMJeYyDHmscy67P92cWsXoEooofIWzfp3WJLMiKdDqAHH+JTXkhBMGkXgSvyfWWULtDNVxUmRYczpH+ylEKZDjUQU6JOSKJlHwU2WQFQ8k77SKgqxwF3gYKnSgGnnNNt1YdzoB/0Jx5V48oDRm58F1zJ+gntq7UFCviXWHxxZQnTnkRuAaJNFxfo3ASARyuDLAhijsqeIEAJldzdwT2PC7TALitMyYBf1oka0/AQU5+YC9ZPxxtDn3w0269QzZI9T2QdBzezQWpEOCZGHxjdsF8wA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2b5ab7dd-d38a-835e-947e-67e1be263cf3@suse.com>
Date: Mon, 1 Aug 2022 16:54:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>,
 Henry Wang <Henry.Wang@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: qemu's deprecated -soundhw option
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::16) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 705f2ec4-9dad-4812-9b96-08da73cdce0b
X-MS-TrafficTypeDiagnostic: AS1PR04MB9261:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QNstGMIhL1WxPXtecAP1sAxyz6LdsqbF/eB7ueRHs1G/H3O5dTb8G0mqHdl7/u5Gl7fRKjwtSiUq98FDphz0NpbotqYODPmZKhfjiiffm+07F3L/eRHDw9Zz796LSDuCQtMi5q3P8f1Ww5XHOOxj1dwgbEVTo2vnKovp9j+LRqNWAhjwW6+FPSq8SEaZpmZMSOqcTO8BvzRvUMWffLISIY5r5WgxiBnS042NhXhgbdPVpAELGJLFqHDKdNrPbT/BT1/EmV35RpuHWGvjau4ybkAHiCk6CvDIZuDzCBYrwMX+lLUtjvULgbptvFUknjruUZHRJ2DTqUDrzUj3zNXZSFD795HlMGxF5VeShxzIhLrnZJK4WzqwFOundFqE9OgeSVB1XV0FiP+6PqBjI/PXUeXEqbSp/Loo/YI2+e5YqKkxeN/jO1zRmoHjq8hAdjP9g8w+L+lhw/hv2IMFAWdmQnvpHhuzahCBfe3gVb9A5WjI1BwLLNiN74CezLHUpA2QeojQ8DXO+N5hYwC5hNQ7ggPH0tVFon5derJjt4WwzRDO5rBterSXxJMrzQNL/S5eMX2e2RaK0XF84NpN9x2/80jDmSDLxHZglXZLWb07yCP8OOoXbDRvgLi59ykPs+++6o5uycKCV4Ef0vSGhbKEjZHCsXvCIVShpM4skrZAot30VWa84zb+hQ8OVgLhjV8cRKUU5ymmTHt3ewUW51GsT0n6T/sxbwpcxinKtlErdHqBSFumJTyRDGUG2B6ID1lwT0ceAKq8PDlNCXdfiqh4n5v83LnjeJ5qZOPc3bl9jkuEBsTvjXgnlQkqcPK9sUi7uwsqKQqY0vZR96zRC3hwdg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(376002)(366004)(39860400002)(136003)(4326008)(8676002)(66556008)(186003)(66946007)(66476007)(26005)(6512007)(41300700001)(31696002)(86362001)(2616005)(6486002)(478600001)(4744005)(5660300002)(6916009)(54906003)(6506007)(2906002)(38100700002)(8936002)(36756003)(316002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OVd1ZzRXNVFOWmNOeGljMlJiOXpyeDBJUlgvb0JhWElIc29OcmIzNU96T3lo?=
 =?utf-8?B?aTlkc3lCaVE3YU4vR3FuQTZjUkhmUVR3ZHgwRkJ6dHByS1FBQ0p3eFBCYmgx?=
 =?utf-8?B?aVFpQnZhNFI4QVBveFJmSUZrck9TdFZIUUFNQldRMHFaU0dWQlpGUmtKT3VU?=
 =?utf-8?B?ZWJZdE9TRG9kMWE0djc1QklHWTNyQ2Z0dlZPTWYyVDF0V0JxVXhyTk9sWWQ2?=
 =?utf-8?B?L2FEYmtvVlZlMEU2VWhVanVINFVveVBMOHR3WXV0eGZrR3o1eElNUEV5MWJJ?=
 =?utf-8?B?Z01hZHpOWHdqdDZCYWtlcUl5Z0ZzclJzem84cHRkMGlmZTZLaFllT1JWNmM0?=
 =?utf-8?B?dlZGVkpCT2pHUkJBUHZlQkZOK3dCU1p3MGIzbWQ2WWpmWUNMUmtiRWxReTNI?=
 =?utf-8?B?SmZLbVBJdUxsc3NDY3diUUk1N1ZSckZ3WERtQndodDIvalF4WHlWRXpDQzNa?=
 =?utf-8?B?K1JUd2F2MHlidWtodjRZaWJpbml2ZzNvVzNISjU1eTdMU0tCeVVEYVFzM2hE?=
 =?utf-8?B?MkpSTFYxNjJzZmhuKzBuTFZxTU5vNVhsbU12ck80YzFKMlNwNjEzR3RvTVdk?=
 =?utf-8?B?L0JpMUhLVFVnbVFlbDRVT0l3T0FCbExuaHF1TkRIc3hQWXJSS2tsWHVwZjgx?=
 =?utf-8?B?NVV5MUs0SU1DVjgxenladGJtRWU5RmJtWXhiWnVqL0dWbFdWVlFBb1NrTFk4?=
 =?utf-8?B?UUFVU3pLSVgySTBFNnYxZnBvZzJKelhCK0NFQ3JFZGFIemRXNWxwa2wrWHQv?=
 =?utf-8?B?YllTZGl3dUgraExYMlBlOW5yQUFIRUdOVXRhNS9MUzE0QnlmVTVMZXZVd2Jv?=
 =?utf-8?B?eENEMnpUc1JGdDVFL012UzlxTnJEM21iRTZUWnJWSm01K0FhYmJMbFZkY0pR?=
 =?utf-8?B?ODJKK2hMZklDbEpCWGhkNDFTM3FDYWt0UWRJRC9hL3YrMHpGbG56VFdqcERI?=
 =?utf-8?B?VERNRzRQZVl2dkgzT3BBdzNMYU5vNUpzdUpnWTF2aGk2NkJZdFNPR3dhNVQ5?=
 =?utf-8?B?bzBMdTM4cFVyZ3g2MGE4VGk0bGJMY0l2ZXdRVklLUk5rQ3BtbE5yeVR0dWR1?=
 =?utf-8?B?T0o3VU1iSjFQNU95a1NpWXVRdkJyQ25kZkpmUHZJS1gxcFFGNGNIbFlYSEVG?=
 =?utf-8?B?V1l1VXFhTkhGbUJ6aHNJS0tBU3RRdGNsdTZLTTNFUjJBaG9pM1FOSDBKQk5i?=
 =?utf-8?B?c2NvaTFLMnVYRmVZb1hQU3MxM2NQUE5paWNFd1VyUjJkSXhkNUd0dkE0aTQ4?=
 =?utf-8?B?dnF4VnkxaXZTSlJ6eTNISDR5aXVFK0htU0didEUwUkRjaXhab1QxZGJTVTRP?=
 =?utf-8?B?dHZpeFIrMnM2ZUdMSGx1NmtxUDN1aFdQZEtIZDNlUGtxMFZ3KzA0WjdPanU1?=
 =?utf-8?B?dDJDdndLYnZDaDk3YTBTaUlhYjhrY1loZFRmNWJ2c1h6TlV0VnpHM2ljTUdt?=
 =?utf-8?B?aTlIbm5xWHIweFFmMzlhRUNjQkl3NURXN1lPWGJMemk4alc1cG1vZHhld1c0?=
 =?utf-8?B?bDduYkZUQ1ZuN2pMNklEWmJ4a0NSUUNsR2c3QmtyZG5MSVlzMlh4TmhIS01a?=
 =?utf-8?B?ZGh3aW9CdlF5K1MrV3ZXeUlMSFVDS25OeHo1RHJBUTdtQm9zVjZhUGhEQUdY?=
 =?utf-8?B?aEhDRW1qQ29rQ0JkTVFSdnJLL1dGSmYzclpqdjNaUWRONng4Y2tkWnBWVHpS?=
 =?utf-8?B?TFFKUll4RXVCVTJwNFg3Z2o0elVkZ25PSGIzSWZCaTJtSGgzYUJidjJuM25E?=
 =?utf-8?B?VFh3cnJGaDU3ek1YRHV5cSt3bnI4bGhNTTM4alRIWkw4RTYrWTVESWwwQ1FV?=
 =?utf-8?B?QlF3THVaaVRNU1hLVm9lNDVJNk5odU1iS1ZSTXNrU0U1VS8xWHREemVlYzVw?=
 =?utf-8?B?Uk85RVRCeStwVXNGalpIbnN6VXhDVVlDUndVaHk3ZmptVEIrVWNjVTlqOFND?=
 =?utf-8?B?c0c2U2JnenYzUUdaM3NzcjhEdWY0anpaQUlyOUNCUjNUWnNXdW0wenJuTkxx?=
 =?utf-8?B?eUVHZmxrQWN3NmVGYVg5MXE3SmhMTHM2U1dmQ3QxbTNWTjZNWFpxWVJSQTRN?=
 =?utf-8?B?d0dtZ1MyZ3MxbGQ5R1hwYTNEMnAvVCtrOVgzU0xYQURra0lzVG9DRExQdElu?=
 =?utf-8?Q?yJvbS+ZdxDKEOBP7QexJUOivj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 705f2ec4-9dad-4812-9b96-08da73cdce0b
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2022 14:54:59.0422
 (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: wJduNK8oOriEC4snDsDKs89hFe93mUeIqQcTWBI4wK/fJuxpFIuOF/dX6i3f3H1zwPTaXOfHw9J7RA1DtP9ZcA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9261

Hello,

a user was making us aware in a bug report that qemu's -soundhw command
line option is deprecated (and apparently going to be gone in the next
version), replaced by some form of -device. libxl_dm.c does not appear
to know of this yet, so I wonder if this isn't something that will want
addressing for 4.17 (and then likely also backporting). Clearly I don't
feel capable myself of making such an adjustment, first and foremost
since I have no clue how to know which variant a given qemu binary is
supporting.

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 17:04:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 17:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.378993.612268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIYqX-00076Z-G5; Mon, 01 Aug 2022 17:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 378993.612268; Mon, 01 Aug 2022 17:04:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIYqX-00076S-Cy; Mon, 01 Aug 2022 17:04:49 +0000
Received: by outflank-mailman (input) for mailman id 378993;
 Mon, 01 Aug 2022 17:04:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oIYqW-00076K-CP
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 17:04:48 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIYqP-0007MS-N2; Mon, 01 Aug 2022 17:04:41 +0000
Received: from [54.239.6.185] (helo=[10.85.98.66])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIYqP-0004rP-Bj; Mon, 01 Aug 2022 17:04:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=88xUR82ob4zjXLqhPzrRS1PmCdepoUh3XAN8MAFNkII=; b=D5fuWG7gOk/4r2lzJQyKdi+uJr
	ujLFnonkUyCmjl3kW6m/TLi6ev/jk25ZvoSokJmJrq7f+baAGuyt8X26gDRdxsqv3rrAGUPV0ZsnT
	3+u3QmTGy7bzfLoc0gEIu2dMQpUDjYQNr/BWsZ1ZE0LdZsDKXfcZfSp0ZCG+ZklQ1/tI=;
Message-ID: <793186ea-11de-7ce6-9866-7d4c1336ca02@xen.org>
Date: Mon, 1 Aug 2022 18:04:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
To: =?UTF-8?B?TWljaGFsIFByw612b3puw61r?= <mprivozn@redhat.com>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org,
 libvir-list@redhat.com
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "committers@xenproject.org" <committers@xenproject.org>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
 <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
 <8947085c-bcc4-e599-0636-3a7f1f7b9ac6@redhat.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <8947085c-bcc4-e599-0636-3a7f1f7b9ac6@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Michal,

On 01/08/2022 11:08, Michal PrÃ­voznÃ­k wrote:
> On 8/1/22 10:51, Julien Grall wrote:
>> On 01/08/2022 09:23, Michal PrÃ­voznÃ­k wrote:
>>> On 7/29/22 17:50, Oleksandr Tyshchenko wrote:
>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>
>>>> Xen toolstack has gained basic Virtio support recently which becides
>>>> adding various virtio related stuff introduces new disk backend type
>>>> LIBXL_DISK_BACKEND_STANDALONE [1].
>>>>
>>>> Unfortunately, this caused a regression in libvirt build with Xen
>>>> support
>>>> enabled, reported by the osstest today [2]:
>>>>
>>>> CCÂ Â Â Â Â Â  libxl/libvirt_driver_libxl_impl_la-xen_xl.lo
>>>> ../../src/libxl/xen_xl.c: In function 'xenParseXLDisk':
>>>> ../../src/libxl/xen_xl.c:779:17: error: enumeration value
>>>> 'LIBXL_DISK_BACKEND_STANDALONE'
>>>>  Â Â Â  not handled in switch [-Werror=switch-enum]
>>>>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  switch (libxldisk->backend) {
>>>>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  ^~~~~~
>>>> cc1: all warnings being treated as errors
>>>>
>>>> The interesting fact is that switch already has a default branch
>>>> (which ought
>>>> to cover such new addition), but the error is triggered as -Wswitch-enum
>>>> gives a warning about an omitted enumeration code even if there is a
>>>> default
>>>> label.
>>>
>>> This is expected and in fact working correctly. We want compiler to warn
>>> us about enum members that are not handled in a switch() statement.
>>
>> For us this is treated as an error. Is it intended?
> 
> -Werror shouldn't be enabled when building a package, exactly for this
> reason. Header files change and we might get a warning or two when
> building a RPM. However, we definitely want to treat warnings as errors
> when developing libvirt, i.e. building libvirt from a git repo. That's
> why we get -Werror enabled in our CI too.
> 
>>
>> If it is, then I think this will be a problem for Xen because it means
>> we will always need to fix libvirt before accepting a patch in Xen (see
>> more below).
> 
> So we have a chicken egg problem. Xen needs libvirt to compile without
> any warning to merge a patch and libvirt wants hypervisors to have the
> patch merged first. Well, I think in this case we can make an
> "exception". Our demand comes from quite a few cases where we burned
> ourselves by merging our portion of a feature before it was merged into
> QEMU. And according to Murphy's law, QEMU interface was changed
> rendering our patches (now commits) useless. But I believe this is not
> the case with xen staging, is it?

That's correct. Once a patch is merged in staging, we would only revert 
it if there is a breakage that can't be easily solved.

> 
> BTW: every other package that does switch() over libxl_disk_backend enum
> will need this fix.

Indeed. From my understanding, there is an expectation that tools built 
on top of libxl may need some update to work on the latest Xen. I will 
let Anthony (one of the tools maintainers to confirm).

>  >>
>>>  Â The
>>> 'default' case exists in some places because we suspect the value might
>>> not have been validated before. For instance:
>>>
>>> libxl_disk_backend x = atoi(argv[1]); /* or parse something from XML */
>>>
>>> switch(x) {
>>> case LIBXL_DISK_BACKEND_UNKNOWN:
>>> case LIBXL_DISK_BACKEND_PHY:
>>> case LIBXL_DISK_BACKEND_TAP:
>>> case LIBXL_DISK_BACKEND_QDISK:
>>>  Â Â  // Neither of these might be exectuted ..
>>> default:
>>>  Â Â  // .. in which case this will.
>>> }
>>>
>>>
>>> But we are not very consistent in putting 'default' case, sadly.
>>>
>>>>
>>>> Also there is a similar issue in libxlUpdateDiskDef() which I have
>>>> reproduced
>>>> after fixing the first one, but it that case the corresponding switch
>>>> doesn't
>>>> have a default branch.
>>>>
>>>> Fix both issues by inserting required enumeration item to make the
>>>> compiler
>>>> happy and adding ifdef guard to be able to build against old Xen
>>>> libraries
>>>> as well (without LIBXL_HAVE_DEVICE_DISK_SPECIFICATION). Also add a
>>>> default
>>>> branch to switch in libxlUpdateDiskDef().
>>>>
>>>> Please note, that current patch doesn't implement the proper handling of
>>>> LIBXL_DISK_BACKEND_STANDALONE and friends, it is just intended to fix
>>>> the regression immediately to unblock the osstest.Â  Also it worth
>>>> mentioning
>>>> that current patch won't solve the possible additions in the future.
>>>>
>>>> [1]
>>>> https://lore.kernel.org/xen-devel/20220716163745.28712-1-olekstysh@gmail.com/
>>>>
>>>> [2]
>>>> https://lore.kernel.org/xen-devel/E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org/
>>>>
>>>>
>>>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>> ---
>>>> Cc: Julien Grall <julien@xen.org>
>>>> Cc: Anthony PERARD <anthony.perard@citrix.com>
>>>> Cc: Michal Privoznik <mprivozn@redhat.com>
>>>>
>>>> Please note, the patch is tested on:
>>>> https://xenbits.xen.org/gitweb/?p=libvirt.git;a=shortlog;h=refs/heads/xen-tested-master
>>>>
>>>> but should work on the master as well (as the same code is present
>>>> here).
>>>> ---
>>>>  Â  src/libxl/libxl_conf.c | 4 ++++
>>>>  Â  src/libxl/xen_xl.cÂ Â Â Â  | 3 +++
>>>>  Â  2 files changed, 7 insertions(+)
>>>
>>> Ah, I couldn't find the commit in master, and it's simply because it's
>>> not there yet. It's in staging:
>>>
>>> https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;f=tools/libs/light/libxl_types.idl;h=66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>
>>>
>>> The patch looks correct. Do you have any estimate when it can be merged
>>> into master? I'm not sure what our, libvirt, rules about xen staging
>>> are, but for qemu we require master (even unreleased yet).
>>
>> The patches usually land in master after our test suite has completed.
>> One of the test is to confirm that libvirt is still working. Therefore,
>> the Xen patch will not be part of master until the patch in libvirt is
>> added.
> 
> I understand that but what can we do here is to disable -Werror so that
> the commit can land in master. And then merge this libvirt fix. Does
> that work for you?

This sounds a sensible plan. Anyone from Xen community has an objection 
this with approach?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 18:23:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 18:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379022.612279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIa4F-00078w-8J; Mon, 01 Aug 2022 18:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379022.612279; Mon, 01 Aug 2022 18:23:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIa4F-00078p-5I; Mon, 01 Aug 2022 18:23:03 +0000
Received: by outflank-mailman (input) for mailman id 379022;
 Mon, 01 Aug 2022 18:23:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIa4D-00078f-FU; Mon, 01 Aug 2022 18:23:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIa4D-0000Mn-EK; Mon, 01 Aug 2022 18:23:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIa4C-0007Ou-V3; Mon, 01 Aug 2022 18:23:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIa4C-0006eu-Ua; Mon, 01 Aug 2022 18:23:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TgnW1R9vj/72/GxDfsmjBmwEMk4GKktgZCKtfP7zyE4=; b=ihcz7U4xqYpzgUVe47Am2Fw2uf
	cWtJ9BRqFq/LmkX02/rgYJJG3cuolkol4huXEJVGpPsDJvQg9+tLuyZsmCJolgUelrgoga7mH0EMI
	Ks8+lR5Bi048Y3O/tlegNMBM3EnLblssSCz7/9ZpDsK6kkVzKsm1EpHjaidrPyy2ypfw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172065-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172065: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9dc3f006a831cd20d531123f097e3de176ac3cae
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 18:23:00 +0000

flight 172065 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172065/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9dc3f006a831cd20d531123f097e3de176ac3cae
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    5 days
Failing since        171899  2022-07-28 19:01:47 Z    3 days   26 attempts
Testing same since   171934  2022-07-30 02:00:28 Z    2 days   18 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 451 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 18:49:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 18:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379029.612289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIaUA-0001HP-A8; Mon, 01 Aug 2022 18:49:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379029.612289; Mon, 01 Aug 2022 18:49:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIaUA-0001HI-7Y; Mon, 01 Aug 2022 18:49:50 +0000
Received: by outflank-mailman (input) for mailman id 379029;
 Mon, 01 Aug 2022 18:49:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JvEX=YF=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oIaU8-0001HC-PL
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 18:49:48 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b57d60a1-11ca-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 20:49:47 +0200 (CEST)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1659379777246908.5418763554824;
 Mon, 1 Aug 2022 11:49:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b57d60a1-11ca-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; t=1659379781; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=J37XCqMIXeGJrNZFBdkG9YoYPTNobWXil/cqiY4vDdMSWVI0gEDw0cZ7t3jR9XnwVGzxdqpNog6q2QQVo/s8IQ3kq2eMVcrcZ8DDTM366wzw7kdiDZKH3LVGKmvaO9r1w9zMoWDV8+EiSwFVSk05W/IPqr6ZrEZYCy48OsCEJ7g=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1659379781; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=sQTTLSUjtyv2qOl0fMh/yNdfVHtyGfjfDvo/YC9XAnk=; 
	b=YHxHGsGWZTCU1f12c3s98LKytQs83AB6uiGfht15DpqRztXfotxsIdCjATCM0wbHx3+MXlnWiHoVi+JkAjhBwH5/svvo7msAKswLByIbzoOQgcR6IR1jnB6SxXQb1Mj6b57pk5ydAZD7wx+UFYZXrfkuOZAqsdEvXD+WwgaNG2w=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1659379781;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:MIME-Version:Content-Type:Content-Transfer-Encoding:Reply-To;
	bh=sQTTLSUjtyv2qOl0fMh/yNdfVHtyGfjfDvo/YC9XAnk=;
	b=nPN4WlQzDQ5Y9v8SxgSIGIwCvTkHRtAWY8jr2ZvBxTJF1YthvPLsti9e3vr0Rial
	cbaMgdePSXHyHIpVqbmiiA1alzDUBCnjEdblUdyfgHd0X4txMJ6nUphnS9ksT/USDxr
	O7BOot2i9/ManKBhx1y9wU5yZZr0LfAhKKOsvNsA=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	jandryuk@gmail.com
Subject: [PATCH v10 0/3] Adds starting the idle domain privileged
Date: Mon,  1 Aug 2022 14:49:25 -0400
Message-Id: <20220801184928.28522-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This series makes it so that the idle domain is started privileged under the
default policy, which the SILO policy inherits, and under the flask policy. It
then introduces a new one-way XSM hook, xsm_transition_running, that is hooked
by an XSM policy to transition the idle domain to its running privilege level.

Patch 3 is an important one, as first it addresses the issue raised under an
RFC late last year by Jason Andryuk regarding the awkward entanglement of
flask_domain_alloc_security() and flask_domain_create(). Second, it helps
articulate why it is that the hypervisor should go through the access control
checks, even when it is doing the action itself. The issue at hand is not that
the hypervisor could be influenced to go around these check. The issue is these
checks provides a configurable way to express the execution flow that the
hypervisor should enforce. Specifically with this change, it is now possible
for an owner of a dom0less or hyperlaunch system to express a policy where the
hypervisor will enforce that no dom0 will be constructed, regardless of what
boot construction details were provided to it. Likewise, an owner that does not
want to see dom0less or hyperlaunch to be used can enforce that the hypervisor
will only construct a dom0 domain. This can all be accomplished without the
need to rebuild the hypervisor with these features enabled or disabled.

Changes in v10:
- rewrote patch 3 commit message
- fixed typos in patch 3
- reworked logic in flask_domain_create() to be simpler and not result in
  changing the domain security struct before the access check fails

Changes in v9:
- added missing Rb/Tb to patch 1
- corrected the flask policy macro in patch 2 to allow domain create
- added patch 3 to address allowing the hypervisor create more than 1 domain

Changes in v8:
- adjusted panic messages in arm and x86 setup.c to be less than 80cols
- fixed comment line that went over 80col
- added line in patch #1 commit message to clarify the need is for domain
  creation

Changes in v7:
- adjusted error message in default and flask xsm_set_system_active hooks
- merged panic messages in arm and x86 setup.c to a single line

Changes in v6:
- readded the setting of is_privileged in flask_set_system_active()
- clarified comment on is_privileged in flask_set_system_active()
- added ASSERT on is_privileged and self_sid in flask_set_system_active()
- fixed err code returned on Arm for xsm_set_system_active() panic message

Changes in v5:
- dropped setting is_privileged in flask_set_system_active()
- added err code returned by xsm_set_system_active() to panic message

Changes in v4:
- reworded patch 1 commit messaged
- fixed whitespace to coding style
- fixed comment to coding style

Changes in v3:
- renamed *_transition_running() to *_set_system_active()
- changed the XSM hook set_system_active() from void to int return
- added ASSERT check for the expected privilege level each XSM policy expected
- replaced a check against is_privileged in each arch with checking the return
  value from the call to xsm_set_system_active()

Changes in v2:
- renamed flask_domain_runtime_security() to flask_transition_running()
- added the missed assignment of self_sid

Daniel P. Smith (3):
  xsm: create idle domain privileged and demote after setup
  flask: implement xsm_set_system_active
  xsm: refactor flask sid alloc and domain check

 tools/flask/policy/modules/dom0.te     |  3 ++
 tools/flask/policy/modules/domU.te     |  3 ++
 tools/flask/policy/modules/xen.if      |  7 +++
 tools/flask/policy/modules/xen.te      |  1 +
 tools/flask/policy/policy/initial_sids |  1 +
 xen/arch/arm/setup.c                   |  3 ++
 xen/arch/x86/setup.c                   |  4 ++
 xen/common/sched/core.c                |  7 ++-
 xen/include/xsm/dummy.h                | 17 +++++++
 xen/include/xsm/xsm.h                  |  6 +++
 xen/xsm/dummy.c                        |  1 +
 xen/xsm/flask/hooks.c                  | 67 ++++++++++++++++++++------
 xen/xsm/flask/policy/initial_sids      |  1 +
 13 files changed, 104 insertions(+), 17 deletions(-)

-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 18:49:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 18:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379030.612300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIaUF-0001Xj-Hb; Mon, 01 Aug 2022 18:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379030.612300; Mon, 01 Aug 2022 18:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIaUF-0001Xc-EW; Mon, 01 Aug 2022 18:49:55 +0000
Received: by outflank-mailman (input) for mailman id 379030;
 Mon, 01 Aug 2022 18:49:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JvEX=YF=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oIaUD-0001HC-T9
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 18:49:54 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b993c8fe-11ca-11ed-bd2d-47488cf2e6aa;
 Mon, 01 Aug 2022 20:49:52 +0200 (CEST)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1659379780263279.82479886226827;
 Mon, 1 Aug 2022 11:49:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b993c8fe-11ca-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; t=1659379785; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Mie+QNw3tw5TnxhdWrG/p2uk5jrUanzZ0YMZc/paAI9lkcZoWcVzikjAGNUTWouz50TDZS78X9Xphmj2XIGYv3VYcb2nA+p5cEX5j/TLCDlPTrVWfczcBhpObHRd4xl4N3QK+jbyeerOksc0CdMrPM9ZSl8L+ZX5USEv2e1o0DU=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1659379785; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=5Ty85HsajPA+R434u8DJBEiLXdypLYNOpYAB9hFvXvo=; 
	b=RiaRXRKY8UMOzxSEA8cn+rw9GI7wK3AiuEWnarPN2hgjDoUiRlgzz1WC5BKE0u5WMhWfRhPIJHvCf/orqHPda1N8BOMr52k9b8s5fPi5tiCqiLrw3k3Qc5fC1FaiIsYaTNIs8jJ+DDR6MpfOtqckC5pbXzSopvGYJ401fFkD/vc=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1659379785;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding:Reply-To;
	bh=5Ty85HsajPA+R434u8DJBEiLXdypLYNOpYAB9hFvXvo=;
	b=riFy6BHh/ho68y/c4Z43+ypH9qLotM5U3DE3iiriae4NT3lIGxt90jTOZSkewZYz
	oHMPnzY7+Ec8BhHWYgYwYekMLsIIEIBhSN5dxCsPl9bPlDLZ1i41Mu8NU5TifxoCEUL
	qzdq6xTzwE6oEBD+iTLJY9bPkv4inw6wLe7FoddA=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Liu <wl@xen.org>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jandryuk@gmail.com,
	Luca Fancellu <luca.fancellu@arm.com>,
	Julien Grall <jgrall@amazon.com>,
	Rahul Singh <rahul.singh@arm.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: [PATCH v10 1/3] xsm: create idle domain privileged and demote after setup
Date: Mon,  1 Aug 2022 14:49:26 -0400
Message-Id: <20220801184928.28522-2-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20220801184928.28522-1-dpsmith@apertussolutions.com>
References: <20220801184928.28522-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

There are new capabilities, dom0less and hyperlaunch, that introduce internal
hypervisor logic, which needs to make resource allocation calls that are
protected by XSM access checks. The need for these resource allocations are
necessary for dom0less and hyperlaunch when they are constructing the initial
domain(s). Â This creates an issue as a subset of the hypervisor code is
executed under a system domain, the idle domain, that is represented by a
per-CPU non-privileged struct domain. To enable these new capabilities to
function correctly but in a controlled manner, this commit changes the idle
system domain to be created as a privileged domain under the default policy and
demoted before transitioning to running. A new XSM hook,
xsm_set_system_active(), is introduced to allow each XSM policy type to demote
the idle domain appropriately for that policy type. In the case of SILO, it
inherits the default policy's hook for xsm_set_system_active().

For flask, a stub is added to ensure that flask policy system will function
correctly with this patch until flask is extended with support for starting the
idle domain privileged and properly demoting it on the call to
xsm_set_system_active().

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com> # arm
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Tested-by: Rahul Singh <rahul.singh@arm.com>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Tested-by: Henry Wang <Henry.Wang@arm.com>
---
 xen/arch/arm/setup.c    |  3 +++
 xen/arch/x86/setup.c    |  4 ++++
 xen/common/sched/core.c |  7 ++++++-
 xen/include/xsm/dummy.h | 17 +++++++++++++++++
 xen/include/xsm/xsm.h   |  6 ++++++
 xen/xsm/dummy.c         |  1 +
 xen/xsm/flask/hooks.c   | 23 +++++++++++++++++++++++
 7 files changed, 60 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 577c54e6fb..85ff956ec2 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1063,6 +1063,9 @@ void __init start_xen(unsigned long boot_phys_offset,
     /* Hide UART from DOM0 if we're using it */
     serial_endboot();
 
+    if ( (rc = xsm_set_system_active()) != 0 )
+        panic("xsm: unable to switch to SYSTEM_ACTIVE privilege: %d\n", rc);
+
     system_state = SYS_STATE_active;
 
     for_each_domain( d )
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 53a73010e0..f08b07b8de 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -619,6 +619,10 @@ static void noreturn init_done(void)
 {
     void *va;
     unsigned long start, end;
+    int err;
+
+    if ( (err = xsm_set_system_active()) != 0 )
+        panic("xsm: unable to switch to SYSTEM_ACTIVE privilege: %d\n", err);
 
     system_state = SYS_STATE_active;
 
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 8c73489654..250207038e 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -3033,7 +3033,12 @@ void __init scheduler_init(void)
         sched_ratelimit_us = SCHED_DEFAULT_RATELIMIT_US;
     }
 
-    idle_domain = domain_create(DOMID_IDLE, NULL, 0);
+    /*
+     * The idle dom is created privileged to ensure unrestricted access during
+     * setup and will be demoted by xsm_set_system_active() when setup is
+     * complete.
+     */
+    idle_domain = domain_create(DOMID_IDLE, NULL, CDF_privileged);
     BUG_ON(IS_ERR(idle_domain));
     BUG_ON(nr_cpu_ids > ARRAY_SIZE(idle_vcpu));
     idle_domain->vcpu = idle_vcpu;
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 58afc1d589..77f27e7163 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -101,6 +101,23 @@ static always_inline int xsm_default_action(
     }
 }
 
+static XSM_INLINE int cf_check xsm_set_system_active(void)
+{
+    struct domain *d = current->domain;
+
+    ASSERT(d->is_privileged);
+
+    if ( d->domain_id != DOMID_IDLE )
+    {
+        printk("%s: should only be called by idle domain\n", __func__);
+        return -EPERM;
+    }
+
+    d->is_privileged = false;
+
+    return 0;
+}
+
 static XSM_INLINE void cf_check xsm_security_domaininfo(
     struct domain *d, struct xen_domctl_getdomaininfo *info)
 {
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 3e2b7fe3db..8dad03fd3d 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -52,6 +52,7 @@ typedef enum xsm_default xsm_default_t;
  * !!! WARNING !!!
  */
 struct xsm_ops {
+    int (*set_system_active)(void);
     void (*security_domaininfo)(struct domain *d,
                                 struct xen_domctl_getdomaininfo *info);
     int (*domain_create)(struct domain *d, uint32_t ssidref);
@@ -208,6 +209,11 @@ extern struct xsm_ops xsm_ops;
 
 #ifndef XSM_NO_WRAPPERS
 
+static inline int xsm_set_system_active(void)
+{
+    return alternative_call(xsm_ops.set_system_active);
+}
+
 static inline void xsm_security_domaininfo(
     struct domain *d, struct xen_domctl_getdomaininfo *info)
 {
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 8c044ef615..e6ffa948f7 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -14,6 +14,7 @@
 #include <xsm/dummy.h>
 
 static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
+    .set_system_active             = xsm_set_system_active,
     .security_domaininfo           = xsm_security_domaininfo,
     .domain_create                 = xsm_domain_create,
     .getdomaininfo                 = xsm_getdomaininfo,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 6ffafc2f44..c97c44f803 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -191,6 +191,28 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
     return 0;
 }
 
+static int cf_check flask_set_system_active(void)
+{
+    struct domain *d = current->domain;
+
+    ASSERT(d->is_privileged);
+
+    if ( d->domain_id != DOMID_IDLE )
+    {
+        printk("%s: should only be called by idle domain\n", __func__);
+        return -EPERM;
+    }
+
+    /*
+     * While is_privileged has no significant meaning under flask, set to false
+     * as is_privileged is not only used for a privilege check but also as a
+     * type of domain check, specifically if the domain is the control domain.
+     */
+    d->is_privileged = false;
+
+    return 0;
+}
+
 static void cf_check flask_domain_free_security(struct domain *d)
 {
     struct domain_security_struct *dsec = d->ssid;
@@ -1774,6 +1796,7 @@ static int cf_check flask_argo_send(
 #endif
 
 static const struct xsm_ops __initconst_cf_clobber flask_ops = {
+    .set_system_active = flask_set_system_active,
     .security_domaininfo = flask_security_domaininfo,
     .domain_create = flask_domain_create,
     .getdomaininfo = flask_getdomaininfo,
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 18:50:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 18:50:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379039.612312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIaUg-00036a-Ur; Mon, 01 Aug 2022 18:50:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379039.612312; Mon, 01 Aug 2022 18:50:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIaUg-00036P-RH; Mon, 01 Aug 2022 18:50:22 +0000
Received: by outflank-mailman (input) for mailman id 379039;
 Mon, 01 Aug 2022 18:50:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JvEX=YF=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oIaUf-00033M-UQ
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 18:50:22 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca68af3f-11ca-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 20:50:20 +0200 (CEST)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 165937978515485.11645410728738;
 Mon, 1 Aug 2022 11:49:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca68af3f-11ca-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; t=1659379789; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=DxN0kxPhr5x3cABPIiCbkjAeSiDhcQYP4CrTPaDAzmwvFl8Zoz4gjYKMAA950oh/FcCh6XbL5eRPSDptH0pq54DjwodP7WR9t3VSTiABrkrj73wsmslqWxRDffOXjD39PtHK6gD9SX4TuilAeAG+zzPRyXCk44ygW+DQukQhujI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1659379789; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=cpjxkhtgIS46NAqzn+lFjzbvDxK+C/y4xCBDpUybEIY=; 
	b=oAlFN9QvwQShmihItl6l7W/ILxT00mZiOI8ZS+T5BnInUamzEOPuQ6T/gw7tpTsxmoMM7PmbD8lsteCEelQoByDTpGKHY7QQreCkheAzLVMxBQMbq4VxGdjXSMZeFsealE2pXenybDZJ+BXX292kM1eDHl0GApguj5R0lp8qa0k=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1659379789;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=cpjxkhtgIS46NAqzn+lFjzbvDxK+C/y4xCBDpUybEIY=;
	b=eoNvb2GMcL0CnT61/Znvn9gJu1zkwmdm+qeqO80Wwta5cVU017osy8NRxzrIgxek
	IU6BSfxEKDLBLhexvD/TvcVteMw0mM70goGsVmPz5Y63RV+wnBi3TJm1Nzxx1R5Nm6h
	NEVWuMRODblPfmgk2F34I6ElFMKAWhIqO7tt5ass=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jandryuk@gmail.com,
	Luca Fancellu <luca.fancellu@arm.com>,
	Rahul Singh <rahul.singh@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v10 2/3] flask: implement xsm_set_system_active
Date: Mon,  1 Aug 2022 14:49:27 -0400
Message-Id: <20220801184928.28522-3-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20220801184928.28522-1-dpsmith@apertussolutions.com>
References: <20220801184928.28522-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This commit implements full support for starting the idle domain privileged by
introducing a new flask label xenboot_t which the idle domain is labeled with
at creation.  It then provides the implementation for the XSM hook
xsm_set_system_active to relabel the idle domain to the existing xen_t flask
label.

In the reference flask policy a new macro, xen_build_domain(target), is
introduced for creating policies for dom0less/hyperlaunch allowing the
hypervisor to create and assign the necessary resources for domain
construction.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Tested-by: Rahul Singh <rahul.singh@arm.com>
Tested-by: Henry Wang <Henry.Wang@arm.com>
---
 tools/flask/policy/modules/xen.if      | 7 +++++++
 tools/flask/policy/modules/xen.te      | 1 +
 tools/flask/policy/policy/initial_sids | 1 +
 xen/xsm/flask/hooks.c                  | 9 ++++++++-
 xen/xsm/flask/policy/initial_sids      | 1 +
 5 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/tools/flask/policy/modules/xen.if b/tools/flask/policy/modules/xen.if
index 5e2aa472b6..424daab6a0 100644
--- a/tools/flask/policy/modules/xen.if
+++ b/tools/flask/policy/modules/xen.if
@@ -62,6 +62,13 @@ define(`create_domain_common', `
 			setparam altp2mhvm altp2mhvm_op dm };
 ')
 
+# xen_build_domain(target)
+#   Allow a domain to be created at boot by the hypervisor
+define(`xen_build_domain', `
+	allow xenboot_t $1:domain create;
+	allow xenboot_t $1_channel:event create;
+')
+
 # create_domain(priv, target)
 #   Allow a domain to be created directly
 define(`create_domain', `
diff --git a/tools/flask/policy/modules/xen.te b/tools/flask/policy/modules/xen.te
index 3dbf93d2b8..de98206fdd 100644
--- a/tools/flask/policy/modules/xen.te
+++ b/tools/flask/policy/modules/xen.te
@@ -24,6 +24,7 @@ attribute mls_priv;
 ################################################################################
 
 # The hypervisor itself
+type xenboot_t, xen_type, mls_priv;
 type xen_t, xen_type, mls_priv;
 
 # Domain 0
diff --git a/tools/flask/policy/policy/initial_sids b/tools/flask/policy/policy/initial_sids
index 6b7b7eff21..ec729d3ba3 100644
--- a/tools/flask/policy/policy/initial_sids
+++ b/tools/flask/policy/policy/initial_sids
@@ -2,6 +2,7 @@
 # objects created before the policy is loaded or for objects that do not have a
 # label defined in some other manner.
 
+sid xenboot gen_context(system_u:system_r:xenboot_t,s0)
 sid xen gen_context(system_u:system_r:xen_t,s0)
 sid dom0 gen_context(system_u:system_r:dom0_t,s0)
 sid domxen gen_context(system_u:system_r:domxen_t,s0)
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index c97c44f803..8c9cd0f297 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -173,7 +173,7 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
     switch ( d->domain_id )
     {
     case DOMID_IDLE:
-        dsec->sid = SECINITSID_XEN;
+        dsec->sid = SECINITSID_XENBOOT;
         break;
     case DOMID_XEN:
         dsec->sid = SECINITSID_DOMXEN;
@@ -193,9 +193,14 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
 
 static int cf_check flask_set_system_active(void)
 {
+    struct domain_security_struct *dsec;
     struct domain *d = current->domain;
 
+    dsec = d->ssid;
+
     ASSERT(d->is_privileged);
+    ASSERT(dsec->sid == SECINITSID_XENBOOT);
+    ASSERT(dsec->self_sid == SECINITSID_XENBOOT);
 
     if ( d->domain_id != DOMID_IDLE )
     {
@@ -210,6 +215,8 @@ static int cf_check flask_set_system_active(void)
      */
     d->is_privileged = false;
 
+    dsec->self_sid = dsec->sid = SECINITSID_XEN;
+
     return 0;
 }
 
diff --git a/xen/xsm/flask/policy/initial_sids b/xen/xsm/flask/policy/initial_sids
index 7eca70d339..e8b55b8368 100644
--- a/xen/xsm/flask/policy/initial_sids
+++ b/xen/xsm/flask/policy/initial_sids
@@ -3,6 +3,7 @@
 #
 # Define initial security identifiers 
 #
+sid xenboot
 sid xen
 sid dom0
 sid domio
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 18:50:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 18:50:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379044.612323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIaUy-0003b1-6Y; Mon, 01 Aug 2022 18:50:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379044.612323; Mon, 01 Aug 2022 18:50:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIaUy-0003au-3d; Mon, 01 Aug 2022 18:50:40 +0000
Received: by outflank-mailman (input) for mailman id 379044;
 Mon, 01 Aug 2022 18:50:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JvEX=YF=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oIaUx-00033M-5d
 for xen-devel@lists.xenproject.org; Mon, 01 Aug 2022 18:50:39 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d4a36c28-11ca-11ed-924f-1f966e50362f;
 Mon, 01 Aug 2022 20:50:38 +0200 (CEST)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1659379787630270.7014982877881;
 Mon, 1 Aug 2022 11:49:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4a36c28-11ca-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; t=1659379791; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Q9mwUtvZGz/FCpcnMempPReZ50jrCpdFOBJC/fqJGT/hvjvdvJPBsEwb7S21NF15ACBe3+ZFaevzgdHFK45ZY5Kv25FKT/Vql9c/s2qFpRmI3MvJ4GBA67rhwm5YoLwhJS+8MUZ3PfP02IP/GS19zYDLE2Aub/SNHvQFtZlByEk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1659379791; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=gpmxoFgFxGv7Q9frig3z6tCtnPr6RMz7LbnBr0EPi6Y=; 
	b=SfMbc3DIJbpF77aj9/X1g7sECo44vbAct3Njj8nxmeUHn//gXVHH8uu/lddgfIIS4kKDJ4Ol1v17sWsNsUqazQExQC3v2PflZ5jN1KMdqk27Pwqkx+vY8tKttAXB1Egon1b/Fq5f/6uMuMkwprhJo/JNpdgUKHYgRkeljP0iJao=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1659379791;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding:Reply-To;
	bh=gpmxoFgFxGv7Q9frig3z6tCtnPr6RMz7LbnBr0EPi6Y=;
	b=TJvdTcoNsknYMQkGlJ32+5N9ZhTSJaCdXRcItSuTBKVVjKI+4FxfCKWuuzzcUs5U
	4K/XSS/PNIiXFYl4kUkXeNRIlRr1u1UgZnEy5K1ohM6lNZXe5oKXA+yHEBP/3ZpXM4o
	3XR1YZxrHnB7B8r80m0NPGE2R3Y2LwaDX9c/U8Kc=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jandryuk@gmail.com,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v10 3/3] xsm: refactor flask sid alloc and domain check
Date: Mon,  1 Aug 2022 14:49:28 -0400
Message-Id: <20220801184928.28522-4-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20220801184928.28522-1-dpsmith@apertussolutions.com>
References: <20220801184928.28522-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

The function flask_domain_alloc_security() allocates the security context and
assigns an initial SID for the domain under construction. When it came to SID
assignment of the initial domain, flask_domain_alloc_security() would assign
unlabeled_t. Then in flask_domain_create() it would be switched to dom0_t.
This logic worked under the assumption that the first domain constructed would
be the hypervisor constructing dom0 and all other domains would be constructed
by a toolstack, which would provide a SID.Â The introduction of dom0less and
subsequently hyperlaunch violates this assumption, as non-privileged domain may
be constructed before the initial domain or no initial domain may be
constructed at all. It is not possible currently for dom0less to express domain
labels in the domain configuration, as such the FLASK policy must employ a
sensible initial SID assignment that can differentiate between hypervisor and
toolstack domain construction. Â With the introduction of xenboot_t it is now
possible to distinguish when the hypervisor is in the boot state, and thus any
domain construction happening at this time is being initiated by the
hypervisor.

This commit addresses the above situation by using a check to confirm if the
hypervisor is under the xenboot_t context in flask_domain_alloc_security().
When that is the case, it will inspect the domain's is_privileged field to
determine whether an initial label of dom0_t or domU_t should be set for the
domain. The logic for flask_domain_create() was changed to allow the incoming
SID to override the initial label.

The base policy was adjusted to allow the idle domain under the xenboot_t
context the ability to construct domains of both types, dom0_t and domu_t.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 tools/flask/policy/modules/dom0.te |  3 +++
 tools/flask/policy/modules/domU.te |  3 +++
 xen/xsm/flask/hooks.c              | 35 +++++++++++++++++-------------
 3 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/tools/flask/policy/modules/dom0.te b/tools/flask/policy/modules/dom0.te
index 0a63ce15b6..f710ff9941 100644
--- a/tools/flask/policy/modules/dom0.te
+++ b/tools/flask/policy/modules/dom0.te
@@ -75,3 +75,6 @@ admin_device(dom0_t, ioport_t)
 admin_device(dom0_t, iomem_t)
 
 domain_comms(dom0_t, dom0_t)
+
+# Allow the hypervisor to build domains of type dom0_t
+xen_build_domain(dom0_t)
diff --git a/tools/flask/policy/modules/domU.te b/tools/flask/policy/modules/domU.te
index b77df29d56..3f269018f9 100644
--- a/tools/flask/policy/modules/domU.te
+++ b/tools/flask/policy/modules/domU.te
@@ -13,6 +13,9 @@ domain_comms(domU_t, domU_t)
 migrate_domain_out(dom0_t, domU_t)
 domain_self_comms(domU_t)
 
+# Allow the hypervisor to build domains of type domU_t
+xen_build_domain(domU_t)
+
 # Device model for domU_t.  You can define distinct types for device models for
 # domains of other types, or add more make_device_model lines for this type.
 declare_domain(dm_dom_t)
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 8c9cd0f297..cb81e62c52 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -182,7 +182,15 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
         dsec->sid = SECINITSID_DOMIO;
         break;
     default:
-        dsec->sid = SECINITSID_UNLABELED;
+        if ( domain_sid(current->domain) == SECINITSID_XENBOOT )
+        {
+            if ( d->is_privileged )
+                dsec->sid = SECINITSID_DOM0;
+            else
+                dsec->sid = SECINITSID_DOMU;
+        }
+        else
+            dsec->sid = SECINITSID_UNLABELED;
     }
 
     dsec->self_sid = dsec->sid;
@@ -548,22 +556,19 @@ static int cf_check flask_domain_create(struct domain *d, uint32_t ssidref)
 {
     int rc;
     struct domain_security_struct *dsec = d->ssid;
-    static int dom0_created = 0;
 
-    if ( is_idle_domain(current->domain) && !dom0_created )
-    {
-        dsec->sid = SECINITSID_DOM0;
-        dom0_created = 1;
-    }
-    else
-    {
-        rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN,
-                          DOMAIN__CREATE, NULL);
-        if ( rc )
-            return rc;
+    /*
+     * If the null label is passed, then use the label from security context
+     * allocation.
+     */
+    if ( ssidref == 0 )
+        ssidref = dsec->sid;
 
-        dsec->sid = ssidref;
-    }
+    rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN, DOMAIN__CREATE, NULL);
+    if ( rc )
+        return rc;
+
+    dsec->sid = ssidref;
     dsec->self_sid = dsec->sid;
 
     rc = security_transition_sid(dsec->sid, dsec->sid, SECCLASS_DOMAIN,
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 01 20:21:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 20:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379094.612352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIbui-0005by-5y; Mon, 01 Aug 2022 20:21:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379094.612352; Mon, 01 Aug 2022 20:21:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIbui-0005br-2Q; Mon, 01 Aug 2022 20:21:20 +0000
Received: by outflank-mailman (input) for mailman id 379094;
 Mon, 01 Aug 2022 20:21:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIbug-0005bh-Rd; Mon, 01 Aug 2022 20:21:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIbug-0002Wl-Fn; Mon, 01 Aug 2022 20:21:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIbug-0003qU-14; Mon, 01 Aug 2022 20:21:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIbug-0001sG-0a; Mon, 01 Aug 2022 20:21:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ky5Zy4yiRHYXEPSTh0liO9OrwCaCeRMnytui2yAh8ow=; b=zwwesA88eFPYjz/tBYlAWqzb8R
	WMZxZOcWYUwCv19WctJqX3Yd/0fv3A7djdf/Nmcf+YFUwNId2Gu241qqeN5JmV8/iHf8cTFvtZZOX
	cYAbUOMHFZqfr3svWTeMPcvNeyYwFH4CIG5w2YqP7pN4OWOHP+gLs8lxr0kHIrcCMW04=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172064-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172064: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=4e06b3fc1b5e1ec03f22190eabe56891dc9c2236
X-Osstest-Versions-That:
    qemuu=3916603e0c1d909e14e09d5ebcbdaa9c9e21adf3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 20:21:18 +0000

flight 172064 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172064/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171983
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171983
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171983
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171983
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171983
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171983
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171983
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171983
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                4e06b3fc1b5e1ec03f22190eabe56891dc9c2236
baseline version:
 qemuu                3916603e0c1d909e14e09d5ebcbdaa9c9e21adf3

Last test of basis   171983  2022-07-31 00:08:48 Z    1 days
Testing same since   172064  2022-08-01 13:39:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Richard Henderson <richard.henderson@linaro.org>
  Taylor Simpson <tsimpson@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   3916603e0c..4e06b3fc1b  4e06b3fc1b5e1ec03f22190eabe56891dc9c2236 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 22:58:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 22:58:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379102.612363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIeMg-0003Yg-Kx; Mon, 01 Aug 2022 22:58:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379102.612363; Mon, 01 Aug 2022 22:58:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIeMg-0003YZ-IG; Mon, 01 Aug 2022 22:58:22 +0000
Received: by outflank-mailman (input) for mailman id 379102;
 Mon, 01 Aug 2022 22:58:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIeMe-0003YP-VX; Mon, 01 Aug 2022 22:58:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIeMe-0005Cq-Tr; Mon, 01 Aug 2022 22:58:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIeMe-00029x-Gh; Mon, 01 Aug 2022 22:58:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIeMe-00048t-GG; Mon, 01 Aug 2022 22:58:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=z8fDW0xA9Yy+0Yu73cg/PIvkkfTt0bfjjd26LRO4DxY=; b=Yn934mqTh1qR3QztT1YzesuQmF
	DIWIQuwKBnT8BKLfcmNCYZOKiYhI/di+xzeY9kXjeSH5sLrI3Yvxx/FJWYEXNNze3JYSTJDmzk/eh
	OjzEAmcrVoXtyLWEo+fhmRSUdm7XPIyKkCTCW+98ScSvEn29/ELp/IwMU7TtoQ8mzv54=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172071-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172071: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=19cbfaa4319edabf5feb4e9d867f042c2d5e72b6
X-Osstest-Versions-That:
    ovmf=6f4e10d6db316c279ed90036c9a206a1b89f0878
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 22:58:20 +0000

flight 172071 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172071/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 19cbfaa4319edabf5feb4e9d867f042c2d5e72b6
baseline version:
 ovmf                 6f4e10d6db316c279ed90036c9a206a1b89f0878

Last test of basis   172050  2022-07-31 16:40:25 Z    1 days
Testing same since   172071  2022-08-01 20:40:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Gerd Hoffmann <kraxel@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   6f4e10d6db..19cbfaa431  19cbfaa4319edabf5feb4e9d867f042c2d5e72b6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Aug 01 23:01:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Aug 2022 23:01:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379109.612373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIeQ1-0004xV-4M; Mon, 01 Aug 2022 23:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379109.612373; Mon, 01 Aug 2022 23:01:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIeQ1-0004xO-1k; Mon, 01 Aug 2022 23:01:49 +0000
Received: by outflank-mailman (input) for mailman id 379109;
 Mon, 01 Aug 2022 23:01:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIePz-0004xB-BG; Mon, 01 Aug 2022 23:01:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIePz-0005J5-AM; Mon, 01 Aug 2022 23:01:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIePy-0002JW-PD; Mon, 01 Aug 2022 23:01:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIePy-0005RN-Oj; Mon, 01 Aug 2022 23:01:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=k3jK//km1oFpqGrDQvZKKoJ89rkxXkftWausXEDFbNo=; b=sV/AUpdRCTOkTvCsw5BOzQoeju
	9xBNKqhViFR6xHqSESD921KLLgzbU+MyXfbS6b/8cEtjbQoMgqeckbk52iBc1wrUfLgOGPcosxzG3
	MlEOXpGD/BOsKNNQiW6lAcGBjIf1ao6qkXEHHdcp+YCMkSaCdibbRbcdnUnUEbcPjfdk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172069-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172069: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9dc3f006a831cd20d531123f097e3de176ac3cae
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Aug 2022 23:01:46 +0000

flight 172069 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172069/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9dc3f006a831cd20d531123f097e3de176ac3cae
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    5 days
Failing since        171899  2022-07-28 19:01:47 Z    4 days   27 attempts
Testing same since   171934  2022-07-30 02:00:28 Z    2 days   19 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 451 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 01:03:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 01:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379164.612407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIgJM-0002Qv-UC; Tue, 02 Aug 2022 01:03:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379164.612407; Tue, 02 Aug 2022 01:03:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIgJM-0002Qo-Qo; Tue, 02 Aug 2022 01:03:04 +0000
Received: by outflank-mailman (input) for mailman id 379164;
 Tue, 02 Aug 2022 01:03:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Ypk=YG=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oIgJL-0002Qi-TZ
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 01:03:04 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2070.outbound.protection.outlook.com [40.107.20.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da869992-11fe-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 03:03:00 +0200 (CEST)
Received: from DBBPR09CA0040.eurprd09.prod.outlook.com (2603:10a6:10:d4::28)
 by AM6PR08MB5288.eurprd08.prod.outlook.com (2603:10a6:20b:ac::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Tue, 2 Aug
 2022 01:02:57 +0000
Received: from DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::30) by DBBPR09CA0040.outlook.office365.com
 (2603:10a6:10:d4::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.7 via Frontend
 Transport; Tue, 2 Aug 2022 01:02:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT016.mail.protection.outlook.com (100.127.142.204) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Tue, 2 Aug 2022 01:02:56 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Tue, 02 Aug 2022 01:02:56 +0000
Received: from c5bd1f3f9a1f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 34700241-8639-4161-A25D-5AD6242CE56D.1; 
 Tue, 02 Aug 2022 01:02:50 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c5bd1f3f9a1f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 02 Aug 2022 01:02:50 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by HE1PR0802MB2555.eurprd08.prod.outlook.com (2603:10a6:3:e0::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Tue, 2 Aug
 2022 01:02:40 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 01:02:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da869992-11fe-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=MxE1kfgVcN8jK8KDlLSLiaNwpT6C5KrEmX381t0bZYTYc6yFJRMquUK9zYJZZxjLrMSAUqshE+82NCUoZkqGOQPSmJIbU4w1SeSrA6ohRMJy3zQkiJXVS2LwSkQ1ZTN7EXkBqXUgvs5oMogipTrusfNoK+6WutGqRBIbQSApJCqJRgpJBMoTipneDjnXPrmvA5ygW9IPQUzXDemGaARi0EZDifea9891x2uapoIXuKvRXcUUKlawqdRdl7uLUjYpqYb36tn4S+Ur1ja2qcrXz9FhzW+0tRTnqxH5puH0LbMcmmGoAvwp8j3jQzqwFSmerriRUQQL6wypQBQr/Pi/uw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TBGpo6bsMUbmNl74Y2M+PFWIwhChzFfUlpjiuDNnGN0=;
 b=cb6bQPXDO3D3ovq9tuiYWqncZe458D2so1bwnW59Pz9JPZVmHeeBcvBZdg34YfutA5hNLi8ZILGdyqZyZTQqWmobrgXgmFSFFX0E2AV3H/8FxWC36ReqmmxbgQR5eCpJfUYPA/MyX4NaQDBmu1D+zDJyDxcrRP1hp3d8PC3Ay6ggPpEZIOy8OmxXqBkp4KNbIiMUs/8btLwG5WcwAKqi4sp9ZXjPyfySXXo0uTNpM7jWtVcuDVumGCPS/zV+4K78KvxgPF/7jkPTdEha5X/47iTprj9ifUrvXfw2DfLCOPKgxwbatBsRnXx7N+xQywVVQGWwKd3QeljsMyIEaalWzA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TBGpo6bsMUbmNl74Y2M+PFWIwhChzFfUlpjiuDNnGN0=;
 b=QEzCk0WxtUovGcfK50/WYGFy+dZKZEjTKBQZMC7HgT5LGxPAxC/R9fH3xy0SDlrBxxuynZyxEWWaZJk1ugNjlIu9WGduMPjxSsnEjsepmVq3NJ8dhsU07jdhubIqJylnQYltngpuf0N10u23u5BwIvDjInoipnKAwdSWJ4ZF7Xg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IMo8WnqqzqxJgsbxoGr/hE2ojYOYOMX4VFTBrvmAp2gvOrYcU76X7+DFO/3v9xLj9U/NXrgscSLwcYsRFL+joRxgDlcQiuN5clHX5rvZC0XAZow7Os/V9Nv838XVevWr1xz6tliECD/9murVdBY++b1kjn+HtzuYk0Sth7VufeAPA3cVORqsmsvcn3bGzfk9BP/ostXJCzUgSw4Bj3pvj80ERbDu5gjCm9QOue8HWqf9UYBtnyOfcden/I+vuT+6pCxN18sVSmbK3Sgb+HGEkV2GO/4s/RXWLK2VBi+rfQ/q+fZNQqyIN6C9t8ddoAWGxs/JJWAl4lonr+YX7I2aUA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TBGpo6bsMUbmNl74Y2M+PFWIwhChzFfUlpjiuDNnGN0=;
 b=Z4SUe/dEOm7CmRc/6WJ5ienDGXMCv8MuOD2Y0b3O26DPkNAY/tddWoKpEhUsHM8YP+X5n2OTTpHMc8vqjUMVbemuV08pnl8XPWAzEEGsolSzVYs+qE7wnQTKXwOb3Me1vwayFzy26Stl2cNPMn8QamnhRZ3f6AEVdFvt+ZB83ApOzB090aCh3Y/f03QuTh5e+CsIkOlWuBP5eu2KdLmfElNW+Dcajh1c98BdMq1N0T3QSqmYAggV36XF4XT/QWtiPgoGBqQcZ6M6RRJvJkD/9hS3LKMkQrK/qqbXBb6+UgyLGJi2dsICOjVZiOGUu1RxYN7KaUhvX9G7Qfcmc3ux8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TBGpo6bsMUbmNl74Y2M+PFWIwhChzFfUlpjiuDNnGN0=;
 b=QEzCk0WxtUovGcfK50/WYGFy+dZKZEjTKBQZMC7HgT5LGxPAxC/R9fH3xy0SDlrBxxuynZyxEWWaZJk1ugNjlIu9WGduMPjxSsnEjsepmVq3NJ8dhsU07jdhubIqJylnQYltngpuf0N10u23u5BwIvDjInoipnKAwdSWJ4ZF7Xg=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
CC: osstest service owner <osstest-admin@xenproject.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Oleksandr
 Tyshchenko <oleksandr_tyshchenko@epam.com>, Anthony PERARD
	<anthony.perard@citrix.com>, "committers@xenproject.org"
	<committers@xenproject.org>
Subject: RE: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Thread-Topic: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Thread-Index:
 AQHYouc0D/RQH6dMvkiHdRu7Ize84q2U4XaAgAC8VYCABB/vgIAAAhuAgAAGdwCAAAjfgIABAYig
Date: Tue, 2 Aug 2022 01:02:40 +0000
Message-ID:
 <AS8PR08MB7991D03CA18A95FAE2D6179F929D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org>
 <08606914-f5f4-8415-51a2-f6a5e1c54d20@suse.com>
 <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
 <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
 <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
 <230338bf-b709-f2dd-bc8f-80052e98233b@suse.com>
 <b9b3a07d-a24d-deac-c812-7393554407e4@xen.org>
In-Reply-To: <b9b3a07d-a24d-deac-c812-7393554407e4@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 23D718022FD10F42AF4D41A1993DC767.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: f0d64c0e-f47d-4316-055e-08da7422bc95
x-ms-traffictypediagnostic:
	HE1PR0802MB2555:EE_|DBAEUR03FT016:EE_|AM6PR08MB5288:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 4p6Q1imCZNqgj1na8PWGUKJP7pnq1UCiAzpAD9a9/QESsFbk8dmcQyeG5DY77RJpJpFSo/8sZk6ufeWniYSldMWypjpmqmILB2lEBQ/W9h0rj5SyU1NjaMPmcGl3lSiERN7UMZQZGQ5zNKuvzrBdTmNFLMAxUlVnhogb6yugB15ttNj0ITkEbEnV1EvQuK2n5+914PjvNyxFJlosE3lGrO/eJygPYUjt4DuwVDo7OoxO28KXIpyA9kDTQlxSddp+PJCX2+KBHmdMLBvT9k9s7emuskIJBJF5pnXl0flIdGt4zBC/DBMO//STKwxcRjQTdf1RC3iRDZJTJqAt/euA21ttPyP/0Lvx+ZQ4A9Wm0KO8Dv31tXghhEuOS4adx2dAnn4wqLK55I7uz56kf3u7o31jNf+AUOAJi3EGe9BdxNmDdg8+RwN/myYYwNseIrE4bXqO8FVjxhDGL90B5a2ruO8uI6pEg7mMA5gGIB6lzrGVnkKcft3Vptt50NkSkAtaJ1dvyRHhEqdu71NT8lxY2cNbEyfZy0Jz0YeH5jGXTuutWpYSdAWrD/nnxRudFHdXrJfOM40z8AMgn5OBsFfGhTjK2zzZvQQeyilzbC4FZVUIek6a9dV7xUw95i5AdyNrF/diA6WCMfOytK5KwbzKLn8WpDjXackYhq+YcwFgTdSevWtzYYX/flW9HvqBMdtqVq2EgmbTtTpST9Qk/jSHmOxE4OLD3tKZZXyQF2C78uOD2ziXwjJtNUBNiTfKOFTOfE3lPgAkg8mYGn8fjTYjsZN3+aldvuSBJ8/SnmSaQoJggCHCc9qIdPebevU8gt/N
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(136003)(39860400002)(346002)(366004)(478600001)(83380400001)(33656002)(55016003)(8936002)(54906003)(110136005)(52536014)(4326008)(71200400001)(64756008)(38070700005)(76116006)(66946007)(66556008)(66476007)(66446008)(8676002)(86362001)(38100700002)(122000001)(316002)(2906002)(41300700001)(186003)(53546011)(6506007)(26005)(7696005)(9686003)(5660300002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2555
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ee8ec9a9-ea81-4056-8156-08da7422b2dd
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fU1yD8ezLn6crdoHcYmy6SB2zIsjGv/j7EJ3fJAckMAdyK2i1HYyIs4wrznrv3TlFQQgXchH5VJAKmPlO2QD0x0AXh+DS7Z+LhMjOct0QcexGI3CbyuRYdZe6XUApHq88ChFeR4nK67nuEh13YKIWnjnL/MC+uvzY4cy6Q8iIFrj0KQSwcP86Yof0RxuQwfsAycpM2NyJ6HkoTJdKFNWX+5RFdpVSAuo33Zi3LM46MT214HPd4cszxpxV8hTP9bLJhJiRZ4xhvbF4nkqCewooIKtRRI4aHXfLKFxVhvty5Pz+P+8IGLyoV5Go7+8txwZsVhY1lq7VYnUZK/KsX0UNyPxHGhzR5w45AnmJR/k6+MXzzooUuaGrLj99XxXzu4RMX8WIG5osNR9Ezo2tNuP+7aZM4hhY92uJTOVfAJWoTCSBcurjSnOPQX/Faw5pUW1FanHNsOjBFgijUiwSgxBEPTZRRml+96MAly9F6rkzbG7zUjeaG/zHSDVBDMcKsw4q9nij2AFAIz83NEZgHM0r3UWwttjE3/WajKsFdQoSCwQc/+su7AA3SY9s/zZhY2cb3QCXETvgRByflCwXD/LwIXcAgHg8Z2jBFlAhUhfkzwnqk3fJQksw0RFvAnCIW0DeF8kR94KdiuQBgagRLNP3GaIzPopaR5zfRjjDYTuiZLyqMd5Pl4Pb6bOhH4my4VENhz+7vsu4Y8xWZSwbBY8wU/xHRThL1TCqR5JnIzAz8/77Hl4YpEljVxPl6O2IqKuj19zTwe/OmCERN9HoKXnoceI0Plx8+NYP/XBh1cVMHSZWVPwEzL1X/8lBKkPw4Q2
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(376002)(346002)(136003)(40470700004)(46966006)(36840700001)(316002)(26005)(9686003)(478600001)(82740400003)(186003)(110136005)(54906003)(83380400001)(336012)(8936002)(53546011)(6506007)(41300700001)(40460700003)(7696005)(356005)(81166007)(33656002)(55016003)(47076005)(2906002)(8676002)(40480700001)(4326008)(86362001)(70586007)(82310400005)(36860700001)(70206006)(5660300002)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2022 01:02:56.7783
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f0d64c0e-f47d-4316-055e-08da7422bc95
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5288

SGkgSmFuLCBKdWxpZW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU3ViamVjdDogUmU6IFt4ZW4tdW5zdGFi
bGUtc21va2UgYmlzZWN0aW9uXSBjb21wbGV0ZSBidWlsZC1hbWQ2NC1saWJ2aXJ0DQo+IA0KPiBI
aSBKYW4sDQo+IA0KPiBPbiAwMS8wOC8yMDIyIDEwOjA2LCBKYW4gQmV1bGljaCB3cm90ZToNCj4g
PiBPbiAwMS4wOC4yMDIyIDEwOjQzLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+ID4+IElmIHdlIGRv
bid0IGZvcmNlIHB1c2gsIHdlIGhhdmUgdHdvIHNvbHV0aW9uczoNCj4gPj4gICAgIDEpIFJldmVy
dCBPbGVrc2FuZHIncyBzZXJpZXMNCj4gPj4gICAgIDIpIExlYXZlIGl0IHVudGlsIHdlIGhhdmUg
T3NzdGVzdCBmaXhlZCAqYW5kKiBPbGVrc2FuZHIncyBwYXRjaA0KPiA+PiByZWFjaGVkIGxpYnZp
cnQuDQo+ID4+DQo+ID4+IFRoZSBmb3JtZXIgaXMgbm90IGFuIG9wdGlvbiBmb3IgbWUsIGJlY2F1
c2UgT2xla3NhbmRyJ3Mgc2VyaWVzIGlzIG5vdCBhdA0KPiA+PiBmYXVsdC4gU28gdGhpcyBsZWF2
ZSB1cyB0byAyKS4NCj4gPj4NCj4gPj4gU28gd2hhdCdzIHlvdXIgcHJvcG9zYWw/DQo+ID4NCj4g
PiBJdCdzIHN0aWxsIDEpLCBubyBtYXR0ZXIgdGhhdCBJIGFncmVlIHRoYXQgT2xla3NhbmRyJ3Mg
c2VyaWVzIGlzIG5vdA0KPiA+IGRpcmVjdGx5IGF0IGZhdWx0Lg0KPiANCj4gTXkgd29ycnkgaXMg
d2hpbGUgd2UgaGF2ZSBhIHBsYW4gdG8gYWRkcmVzcyB0aGUgbGlidmlydCBpc3N1ZXMsIEkgYW0g
bm90DQo+IGNvbmZpZGVudCB0aGlzIGNvdWxkIGJlIGFkZHJlc3NlZCBieSBYZW4gNC4xNy4gSW4g
cGFydGljdWxhciwgT3NzdGVzdA0KPiBoYXMgdG8gYmUgZml4ZWQgYW5kIHdlIG5lZWQgYSBwdXNo
Lg0KPiANCj4gSSB0aGluayB0aGlzIGlzIGEgYml0IHVuZmFpciB0byBibG9jayB0aGUgdmlydGlv
IHNlcmllcyBvbiB0aGUgcmVjZW50DQo+IGxhY2sgb2YgaW52ZXN0bWVudCBpbiBsaWJ2aXJ0IHRl
c3RpbmcuDQo+IA0KPiBTbyBpZiB3ZSBlbmQgdXAgdG8gcmV2ZXJ0IGl0LCB0aGlzIHdpbGwgbmVl
ZCB0byBiZSBhIGJsb2NrIGZvciBYZW4gNC4xNy4NCg0KSSB3aWxsIHRyeSB0byB0cmFjayB0aGlz
IGZvciBYZW4gNC4xNyByZWxlYXNlLg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBD
aGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 01:58:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 01:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379169.612418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIhAz-0007lP-2K; Tue, 02 Aug 2022 01:58:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379169.612418; Tue, 02 Aug 2022 01:58:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIhAy-0007lB-Se; Tue, 02 Aug 2022 01:58:28 +0000
Received: by outflank-mailman (input) for mailman id 379169;
 Tue, 02 Aug 2022 01:58:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIhAx-0007l1-Sv; Tue, 02 Aug 2022 01:58:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIhAx-0001CV-8e; Tue, 02 Aug 2022 01:58:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIhAw-0000rv-HI; Tue, 02 Aug 2022 01:58:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIhAw-0008Ls-GK; Tue, 02 Aug 2022 01:58:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4uxwrhzjAoNquVkK3CGAfz+1WVvrfq63lW5HvtmYSkQ=; b=tK7nvtD1rdvt5Ce/+1bQ7npynQ
	6Of6mJmbDXRF39i4h3c8Gc9QD9ufDBHGTToXCbFwqQj466ufauXcfhC2TgrvuJ0MYxH5ZnrSywFGv
	bolcW4dgYVuKbOIR9RuqVp1PtGQR3+XM2Baj2WocZm1WNCPj3MzZ1poU63amOILebLpY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172066-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172066: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0fac198def2b41138850867b6aa92044c76ff802
X-Osstest-Versions-That:
    linux=3d7cb6b04c3f3115719235cc6866b10326de34cd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 01:58:26 +0000

flight 172066 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172066/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172057
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172057
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172057
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172057
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172057
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172057
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172057
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172057
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                0fac198def2b41138850867b6aa92044c76ff802
baseline version:
 linux                3d7cb6b04c3f3115719235cc6866b10326de34cd

Last test of basis   172057  2022-08-01 00:09:25 Z    1 days
Testing same since   172066  2022-08-01 16:41:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Aring <aahringo@redhat.com>
  Amir Goldstein <amir73il@gmail.com>
  Chao Yu <chao@kernel.org>
  Christian Brauner (Microsoft) <brauner@kernel.org>
  Christian Brauner <brauner@kernel.org>
  David Teigland <teigland@redhat.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gao Xiang <xiang@kernel.org>
  Hongnan Li <hongnan.li@linux.alibaba.com>
  Jan Kara <jack@suse.cz>
  Jeff Layton <jlayton@kernel.org>
  Jeffle Xu <jefflexu@linux.alibaba.com>
  Jiangshan Yi <yijiangshan@kylinos.cn>
  Kairui Song <kasong@tencent.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Oliver Ford <ojford@gmail.com>
  Seth Forshee <sforshee@digitalocean.com>
  Xin Gao <gaoxin@cdjrlc.com>
  Yue Hu <huyue2@coolpad.com>
  Yuwen Chen <chenyuwen1@meizu.com>
  Zeng Jingxiang <linuszeng@tencent.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   3d7cb6b04c3f..0fac198def2b  0fac198def2b41138850867b6aa92044c76ff802 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 02:15:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 02:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379177.612429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIhR2-00026g-HN; Tue, 02 Aug 2022 02:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379177.612429; Tue, 02 Aug 2022 02:15:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIhR2-00026Z-Du; Tue, 02 Aug 2022 02:15:04 +0000
Received: by outflank-mailman (input) for mailman id 379177;
 Tue, 02 Aug 2022 02:15:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MHYI=YG=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oIhR1-00026T-Ei
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 02:15:03 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50040.outbound.protection.outlook.com [40.107.5.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9be0756-1208-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 04:15:01 +0200 (CEST)
Received: from DU2PR04MB9067.eurprd04.prod.outlook.com (2603:10a6:10:2f2::10)
 by PA4PR04MB7904.eurprd04.prod.outlook.com (2603:10a6:102:c3::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Tue, 2 Aug
 2022 02:14:59 +0000
Received: from DU2PR04MB9067.eurprd04.prod.outlook.com
 ([fe80::61d5:254b:6ed7:edf5]) by DU2PR04MB9067.eurprd04.prod.outlook.com
 ([fe80::61d5:254b:6ed7:edf5%4]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 02:14:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9be0756-1208-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eJjOvy38MKOXDUQz4yom2PuwkQ9ADf2sDoC7xWR+YmB06WAn31+J3N2mAthrSrLk0jM144iDMbnJxrJPE7cYV90JMvyND/HBAmKOk+Ki8mxcCa8LmF4uFMpBSU7qZ1DHLvHKr5TLG4vXi6OQ0CfQ5itL+SqX/NG12VjRPfc6udm9/ZTKNKAmcMXkVJRPC7SsiMYLS5r8daQOSZT9uKsaafl1gOR+fZQa2s529MrV2mjrQqtUrpaTLbDF8gtN2T1KvyNzmdbek4VLnunmXknT+O1uthtqFaKxdl77DE2+LGRTQcnij00wCGXoh7T3xZZSz5RGmYTk/qSplLcGMbyapw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CeqCW4J6V6zqRNDvvLFKqogAuC5lXlM59xAIAbFfLVE=;
 b=eDD9DGu59poX/7o52ELuqZgW3d7Zmml4aNgdToDlIHuFxEM3gT/UXsBhPAzJxlXrLxj23d86Ky0W+LATqvjTJEs/xk7uE/67IAGr5j0q+uS8dNJUFiyZhmC/Ch+hdSP1oKWadAWeSp2mo09myZ+zmPLMM8ykh8CdB6IQQFpKEW6KM8dllsS15430GII9DsbFHbtuj7mOSX3n95zRZaIk4kC8vFzJ+NGFxj2T3qPaFq1kJsiInVOTMd9uiOVtGhS8fvbxmZJeA4//6/rk+2/qPS2LH0vLgLq7yQ2DYBlrHTQ3+4Bxau069L2YJOINbfbOFd2ZmbGrxkRBq1mhraivZw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CeqCW4J6V6zqRNDvvLFKqogAuC5lXlM59xAIAbFfLVE=;
 b=yxsOZcZTaAc0UjtGbD9hvgXPme6NZ+4/+DtjhMCxy7d6BY2jM61irlrqWEkbmB/UmQHbq0zn1sMn547/pPfeLlxtXMuoefbsX/Ybvn9/sK10mKgbyzxHP8ybqXKjbDKyI6Rug5EKfGvklocyb2nwAM58Sz/wj/65TRzbhytFc/GzM5EiQ+At5wBOnT+wSJ8vcMJJrIEI1YNlcg5mcRiK2pv5a+igvtxx6p1rl1wL5mWaomgk4a5/WOBFLPsj1MSGTR5wtIQYRk2b41DhIOgtk1/ou0/4DPNTguHzCkglywOSKmLlNHG6qguMYR9uUgPYkjEgQ8yu4+ADefVb/+FWhQ==
From: Dario Faggioli <dfaggioli@suse.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "roger.pau@citrix.com" <roger.pau@citrix.com>, "ohering@suse.de"
	<ohering@suse.de>, "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86: make "dom0_nodes=" work with credit2
Thread-Topic: [PATCH] x86: make "dom0_nodes=" work with credit2
Thread-Index:
 AQHYSoM0M4Zi9SzqTkOjTOtQV+PP7azl4C2AgAAVUwCABn7lAIAABpgAgAEqhACAGTPWgIAAF2gAgAAfzYCAi1wnAIAJKZoA
Date: Tue, 2 Aug 2022 02:14:59 +0000
Message-ID: <b6b09e35f69fa22ce6e827d3fa6e0648a2bf7c97.camel@suse.com>
References: <1617b87a-640f-d235-701d-df2c57314b73@suse.com>
	 <2d56bb1015a263b6d1b196050d088b84c320b808.camel@suse.com>
	 <b41009b4-fea4-826f-f36f-7dd9f4edd1bb@suse.com>
	 <30ac2ce8cca7217775eaa704aab45a62deb1272e.camel@suse.com>
	 <e061a647cd77a36834e2085a96a07caa785c5066.camel@suse.com>
	 <35599105-b441-96cf-7537-ccf9dfac0934@suse.com>
	 <fd07c28fad352a476544258f2ac4d652062b2701.camel@suse.com>
	 <85c55676-b21f-1eb4-0471-19ca9b6de39f@suse.com>
	 <a8ce120ee64165ac7b08de90e6786bb871541af3.camel@suse.com>
	 <1c810532-8d2f-58ce-ca6b-a9f70ea083ca@suse.com>
In-Reply-To: <1c810532-8d2f-58ce-ca6b-a9f70ea083ca@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.44.3 (by Flathub.org) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5b04dc37-59ac-44cb-b6f8-08da742ccd03
x-ms-traffictypediagnostic: PA4PR04MB7904:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 WvwvWnn0zyXoUYN9SqHuIUlWvFF57qDy4H6kY3mSfWj5R0oxZn7N7ZLJUw7bFeK+3VAVxzeGVCEkuYbUdvmyQRB/glg26rztSUoxlO+rsEMSKt69DWPOdcYyOKUfr6b+rHexNy3Pms1GROO9HhcANCw6e5sZwEQyzR/1WiGAkpijr4RZ0SPPuhsvAVdza3jDCkSsZQj6Lx6shALCAewpiQ7thCJerZgazqmfWUIRsBPPzTVViwPURNmh8TGz7crMKNcL4Nf6av1sGKWdZcCNoA9bUAKlt+TEHmF19uuoVQUzv8/fGBPZitR66ggsNDMbUxMTX15Ny6Y5OjfXIZvxy3WSjvSK6Fibn2FVnV2vmSx3RT4QnknHC9c4lYrpi2YLA+zMXT4EQ8W4b5ebKAjDfbUKEixeMdPoK19AEFwB8nrE8+gwMA7gEY2/w34wnBgVu0hINw0NwvMrWHf5i/NA1IV6xDk389N9fzipRW6nCS5g5waJEz7sEaWiAJ7mpKDZdXtGYxdeIcFhFnQezqsDzfKczn1Ja4MFKQ8W5CEO/MIFupWVnfEe1oN+tsJpNKDm9mYR+6ua9+G4V00WWvjkNqdeA8RnN8pY4IjLPKUPhR5NZLFqXCjK9Yvg7C4YhPC3F0cq3M9MPFqSFq0dD1R25Vt9WhEffCOjGD0lWNmGI0m78maMpG3RHpdQgUafV506Bt0zmBONNNpKNGgtSX9Zu5kJ6WrTU9BygPsfKl3hK9gzPr1kUvDr45YTbXEZBQ1jOojcVOZuh5sfIKjxncAhBEAwZCP7fuaik0VHXxr4EH+2KCLeellxnNFVecRIpRGO+yPw7B31TraI7uKhREfWkekGeb1H2sO8wN+vdjrpirHWTsrbfyok+S0cuZQKx1US
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB9067.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(346002)(136003)(376002)(396003)(39860400002)(6506007)(6512007)(26005)(99936003)(122000001)(38100700002)(38070700005)(5660300002)(76116006)(186003)(36756003)(966005)(83380400001)(6486002)(478600001)(71200400001)(91956017)(66946007)(86362001)(2616005)(8676002)(4326008)(66556008)(66476007)(66446008)(64756008)(41300700001)(4744005)(6862004)(8936002)(6636002)(316002)(54906003)(2906002)(37006003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?N0l2VE9GVEpKMC9xSlpkclFvSWNTdTA5RG1COVNIZmZ1SGt6SlZVcXl2SW5Y?=
 =?utf-8?B?dlBYS0dkUXhUbWJsQ0ZpL2Z0M2huRXZScmVLQ0lwNmlKN1RCMlhwajZSQXha?=
 =?utf-8?B?UXJtUUE0akhLWUxQaXZPTC9WZHRFRTFwbGo4YXBPa2N4KzN4czJ1ZGNLdFda?=
 =?utf-8?B?bThRc1BnOVd3UU84SjdBQ0ZUMUlUcW1QTVJEVGFUd0pONy9CWW9Rbko1UHpZ?=
 =?utf-8?B?OCtib2t2TU5oWkdkU215Z0VJWnYzOU9nR01QVmhTOUhrMVM3OFdibzdnS0Vv?=
 =?utf-8?B?K3ZmalRNSDdaRnUzUERNVDBkbnBWQkRCZzZMc1RtZStSR1YxS2Y5ZGx3eG56?=
 =?utf-8?B?cDd5UVdFVUtMT2paN2dlaWx2U3U3N085eGI4bGJ1UXBsSU5JNUZWaisyM0FI?=
 =?utf-8?B?VWxjTWxOcy9kejlQbUQ2UUVzSkNiRGk0NitrclpQb0xWS0FBM1NuR0JXSURW?=
 =?utf-8?B?MlE3ZXhYWWtIZ2FMeE0wSzFmYnc3MXpra1JCcWJNRGQrZGt3WHU2MjBBeFU4?=
 =?utf-8?B?aloxTGtCNVpadzBPYXFITXFlWktZNHJRakxuTk5iVk5lVFVnejMxSWwyTnJj?=
 =?utf-8?B?U2Q4WVZEN251NHFnMnY4MmxtVk8vdGtiNkY3UkZ0YldOcnVKWGVoeXJOT2JF?=
 =?utf-8?B?c0E4bXlKbkdqODJvd2YraHJMU1czamRJeU5ZMklqSThhKzZBUHQwOUo4Mkd2?=
 =?utf-8?B?a1M3eVBUTnZmS0FUZDg3bHVVVXRYRmp3azE5TlFTcVM2ZlVkZnVQNXBiNm0x?=
 =?utf-8?B?OHpMQSt4azkzVm1zK1dzQ20rR2lnNFVFRThrSXJiL3JwdFIxbzVyYkxLYW5F?=
 =?utf-8?B?dGtVTzJJbXRxSTh4QzBtcDVsa0UrNjBtODJzekliRER2UENtbGN0YmFib3hH?=
 =?utf-8?B?UXNkOElaK1BFbkJQVkhoMUFpTUFnanNWQlo3UHAvc2RLOUEwUEp2S01NdDFK?=
 =?utf-8?B?dmM0VUVCUkFJQ2Urb1g1VGtXb0dFdm40WjdZZjAwQitDbklzUDlaZW5MWmdM?=
 =?utf-8?B?NExHV2JhR0pJelo2TTJCTFNVUGtqcW5Ja2xBZFlrKzNDUzhuMSszZVBHQ1Vt?=
 =?utf-8?B?TmxMM3R2d1UyUDJJVWtORHpvMkx0bWVKRmpJSmx5OHk0SldhZnl0RHhVUDR0?=
 =?utf-8?B?RFh6U0xJa0lrTlNqMDM2eXNUdU1NSWN3YklPV1BzODN4QktDSGlWaEVKNk8r?=
 =?utf-8?B?U1BZRVpneFdCMTloVjk5MTVnc1hLQjg3cUgzVlpwd2t3Tk1DeDdPK2lCVmdB?=
 =?utf-8?B?UDNtV0Vqb3lYM1dzMzF2ZjB0Y24wenB3Myt2M1l2TG1XWnBGTDdTRTBCcXFR?=
 =?utf-8?B?RUpGN0p6YTdoTTU0Yi9SWnM3N0ZzUVBkS3FuZHExUWZLeHk1RTdjSmY3QWF0?=
 =?utf-8?B?V1ZUNTk5Wm1yT1J2THdXYnpkUmtMSnFVVXFmT2F2RnJVVkdmVkQ1T0Nna3BB?=
 =?utf-8?B?Z0ZLMlZUYXlLNER1aUtoSzRBaW5iQkVUU3RKNTdBSSsrSlJXSk5kUHladzZQ?=
 =?utf-8?B?UTR3aFVrSTYvWE5uNW1SZDdKOFpYTmE2VVpSdDg0TjRReTRjV2lRaFdDTU9k?=
 =?utf-8?B?Mml3N1YxTS9hRjc0TXRsMGxpUWFnWXEwSmtWazZQTzhPSXJYS29PZTZnMWll?=
 =?utf-8?B?N0xWYjBrSlZWR1NvUVRzYVh0ejc2L0NKOUwxLzFNYmt3N0g5M3ZVOHA3bGpa?=
 =?utf-8?B?U2YzN2IvYWJMMFgyWHN0dGhHQ0RmeUxZNW1adjQramlFYWp6NDdHaUZXYmIv?=
 =?utf-8?B?TThTTXcrU0R2dkx4SDVJVmR0b290UlVqclhvVFRWMXBlK3Uxck11WXp4M3E4?=
 =?utf-8?B?R1M4VVRQNXlGTHlNTisxZnFXMDRGWnZTR0d6ckNrcTV5WFBXWEM2YjJBY3Z2?=
 =?utf-8?B?aWpHd3pETXIyaG1md2ZSZW85OFRYQ1ViZ2thRG1MNjVWbzFhcWgrQVk3eHhp?=
 =?utf-8?B?cG9JUTJ2SmZyaVNMZS9BK0ljamF5YlVZaU5kclIva0lyTGlYWC9yd0VoOCs3?=
 =?utf-8?B?Tkt3cXdTUTBKTThLVktPbWxGZmFiM2ZOcytlaVFzSDVhWkZ1bWFYWXZ5U2tP?=
 =?utf-8?B?ejhKR2htaWFwY0FQL1Q4Tk5JRVhhWFFoSjlCOFprZFJQNndYS2p6di9PQjhJ?=
 =?utf-8?Q?0scz1n98t4NTXW+x/TzhmJOFk?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-ohEJqe4LzWt2syMcFD0A"
MIME-Version: 1.0
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB9067.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b04dc37-59ac-44cb-b6f8-08da742ccd03
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2022 02:14:59.3145
 (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: gKVTHX18k3QpyvZKMmjD4yUp3+eDg04/TlzrhP8gUzHVjHEnIpxqSlUAR7wIAbyKWV2knEk+6mezw+9bzfakiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7904

--=-ohEJqe4LzWt2syMcFD0A
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2022-07-27 at 08:19 +0200, Jan Beulich wrote:
> > I notice this issue is still open. May I ask what the plans are
> > here?
> >=20
Yes, you're right.

I have the patch that I sent in this thread and that we discussed a bit
in a local branch. Let me see if I can rebase it, re-test it and send
it before disappearing for a couple of weeks for vacations...

Sorry it's taking so long.

Regards
--=20
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)

--=-ohEJqe4LzWt2syMcFD0A
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmLoiKIACgkQFkJ4iaW4
c+4fLQ//cFdt9dKAhsnZ/N63apOo4kVDfXKujiu9jNwdqDCjPxKjySpduk8eDMuJ
ep7XErRJIj5tL7BgI70b734K7npCarjxaSw/L6ny5SmuLcaSsgvTINYrCDKat8zv
cJUUCeBT/YOlQSWPUio3sJbs89kdI/QYyYRQSOUxfgR5BOrmbbe4Vs5qsSETaYMh
NE6uccDjYte3f2Oy8Ds/ui+ARKn5nYnW+iSM+0QkMFBSABImUvPPomDvWdKP92Jt
eabq3XBMwY6nKIMZMXPjrbYnc5o0nv/b7pZIgkqaAQ2lF1rr8nBIjqNzDm197Jbb
shOUBZ3TDt8Tdu7JeNnOyCC6pVjU8WifwLlb1Bn3e3yoDsIM1kpUCdyTI23lemqb
snoPWVHdIPqREliXGfVrVv6QSfG8rBiWvFzEunLcG5OqoCGfQ8hMHl/7sWNkkORc
GOyLixLvsBWuSTU6xSxDtQV0nKUTRkp5zfmbVvMTO+EP+pgJpAn8Zne4bkdCF0Re
iohpIpvtutx2lT8jcsaeLrHOF2LpaKMJ5l9qTec8+2cgWhVNgv6kO36AAIElVyDT
j9N3AgE9tNtjt5TfOnrE84leRKvcv69uOvo8knWfb3a7ekxhw2wm8xHT1dDN8u1Z
n6HF3U44nE8IA6a6F3UQ/+V0b48qIeZjx7rZEtLAP4CG5SKwqzg=
=HaDy
-----END PGP SIGNATURE-----

--=-ohEJqe4LzWt2syMcFD0A--


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 02:52:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 02:52:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379182.612439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIi0u-0006Nc-Bx; Tue, 02 Aug 2022 02:52:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379182.612439; Tue, 02 Aug 2022 02:52:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIi0u-0006NV-9I; Tue, 02 Aug 2022 02:52:08 +0000
Received: by outflank-mailman (input) for mailman id 379182;
 Tue, 02 Aug 2022 02:52:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIi0s-0006NL-Ig; Tue, 02 Aug 2022 02:52:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIi0s-0002Zx-DP; Tue, 02 Aug 2022 02:52:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIi0s-0002HF-3F; Tue, 02 Aug 2022 02:52:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIi0s-0005U1-2p; Tue, 02 Aug 2022 02:52:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ed37WQCOKqZqWpd7NBA3pzTFkbwAyvCIUbzN72MjT9o=; b=fJ/YY3cVsvEqzggPL3P2pLDzpS
	lhB+bx3CFVU6wPvmZU/ppaMrwvZDonCNyWjY9dbOlfvEieJs5nA+SrqMKKmorTQnZvymcpFTXKlxm
	fVjeLj5zlHvGHZRnkUI8JYgTGRTdMMeQluSGTZsLXE4PGm3F4Mzx4VUi4dsKbUIBBYZk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172072-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172072: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9dc3f006a831cd20d531123f097e3de176ac3cae
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 02:52:06 +0000

flight 172072 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172072/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9dc3f006a831cd20d531123f097e3de176ac3cae
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    5 days
Failing since        171899  2022-07-28 19:01:47 Z    4 days   28 attempts
Testing same since   171934  2022-07-30 02:00:28 Z    3 days   20 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 451 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 05:26:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 05:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379189.612451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIkQG-0004fk-Fw; Tue, 02 Aug 2022 05:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379189.612451; Tue, 02 Aug 2022 05:26:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIkQG-0004fd-D5; Tue, 02 Aug 2022 05:26:28 +0000
Received: by outflank-mailman (input) for mailman id 379189;
 Tue, 02 Aug 2022 05:26:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIkQF-0004fT-1l; Tue, 02 Aug 2022 05:26:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIkQE-0005k1-UY; Tue, 02 Aug 2022 05:26:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIkQE-0003nx-HT; Tue, 02 Aug 2022 05:26:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIkQE-0005dP-Gi; Tue, 02 Aug 2022 05:26:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6sAKqqe8ly6YYxPp0mERHdqggE+n0N+gVjFXn3I11mE=; b=dTVi4JDZ69i2xldsS5cQuGqTMK
	Hd+6o5vbaQQN3MroJnWAEMFPSZU5Xxtcly3fB7YVY0Iv4aQkpTgejr/EFp1hxnuWTMZ+dAeVENyAM
	rBEkWwQkDX9m5uBwOAen1vQ2PCJPXsFPuD6egPVinW4k2z4Iib2gLw02t+GIHG0SMJQc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172075-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172075: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4d96a4fe2ac08cc93f2e7eca56120792363cb950
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 05:26:26 +0000

flight 172075 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172075/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4d96a4fe2ac08cc93f2e7eca56120792363cb950
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    5 days
Failing since        171899  2022-07-28 19:01:47 Z    4 days   29 attempts
Testing same since   172075  2022-08-02 03:02:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 468 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 06:15:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 06:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379197.612462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIlBY-0001VF-6l; Tue, 02 Aug 2022 06:15:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379197.612462; Tue, 02 Aug 2022 06:15:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIlBY-0001V8-3Q; Tue, 02 Aug 2022 06:15:20 +0000
Received: by outflank-mailman (input) for mailman id 379197;
 Tue, 02 Aug 2022 06:15:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ix6t=YG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIlBW-0001V2-DT
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 06:15:18 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2071.outbound.protection.outlook.com [40.107.22.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a2f3aa2-122a-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 08:15:17 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR0402MB3334.eurprd04.prod.outlook.com (2603:10a6:209:c::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Tue, 2 Aug
 2022 06:15:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 06:15:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a2f3aa2-122a-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YHFfRsZnB9ZbFI21ZSOb9t7cWpTfOCgCourUlTUMC6Pp8ZNP0vZW87KHHDGZgNELwkzFvbOE7FLlBdFEwc8ZVDlDYlfHLYe5nBrSN8/HNtmxPRJ/lzuqQ+iJzJMkhhrA/dmqCULqmUtHR8megny9sokctI6CaTOQ7FyuHjQXtdyVZ5CKxZ6gNqp2w/c4v2T6F99WTSYpd2CghGXzitmmc9x4VKSeH7saIPI1/k4o4FcV4Ppj9LCAKtsFnoNO78UYe0TNvShp8Y3vPNsl2g3703dWy3jOpIZ7H4OPdRVmGjhmxtDWhi+KqkSnYBoClvxMD47HqnuaGXXALTkGxhexVA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rLZrbZ4STTIpu7bEe4cKe7n0b0lwkgJ2cRCNADyl6U8=;
 b=T4vAE4LyxUCYnmqGXBri+1mjN08sn1DpY6fVSaaWOVtPP9D6O1zsE0ePQVWGXGskPeS4AswWohMhSldq9oCBKKLWOPD/m8ENbD5xhnR7xn6Bk93H4w59Yy3eJFboIJ+xQo+Vs+AmfrBob9sP3xFoRS3W9Drw8MyCGOyrtHY52jnHMHfmK9LHgZiMsu935gHKJL0nAUAmkP1NrsL0AeLbAgTlahtv7DEJ0jonySz/dGb1YDN89YZZo7ufL0RthikCAViWZlujPCZYa/xFkc8Xxr7TYI7R0sQQnW9QMtPduo1384F+Kidi27XEcFDoaMDYcARPJ9Af6wNB5Wr/WnHWBA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rLZrbZ4STTIpu7bEe4cKe7n0b0lwkgJ2cRCNADyl6U8=;
 b=j1FnYdRlH2Q0zF/9LZfaR2NYMUHSEVSuI/qJVWs9nUoVTc5/GfP1Ou1zjYgEuDS3VuP6ky5puJDNmHtZbNo65XXeeCpo+lK/AqJV0k9MqlKW/WgQ3yJRObm2stEBnq8E0v9fY5B7wWpjERT1rSttyyc/KXXVH7pldnFmQFhqZ8AhE74rYULPdP+nHjr6mrjVB/8kSVy8ZCUzpa4OSfMi1LjfrojoGNgTmeTh0Wag+i+FkQ/ykIbUJuIXDD6+sh03ThR1S8s0Y7fne9z62H/w539Rh2kPnVPQvfQe7U7MGAo2aJPnu5gnLg8L5qEgiKVtMJIZato6bL2J/dZepFJt9w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <52f7e4b2-f4c8-b1cf-60d0-548a6db8b4b7@suse.com>
Date: Tue, 2 Aug 2022 08:15:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v10 0/3] Adds starting the idle domain privileged
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jandryuk@gmail.com, xen-devel@lists.xenproject.org
References: <20220801184928.28522-1-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220801184928.28522-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a60648c0-d4c2-4ee9-e342-08da744e5d14
X-MS-TrafficTypeDiagnostic: AM6PR0402MB3334:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/BHhnAcKqg9FLkiXJHHZAb/vS+P7du1w8s8U6FJmYHGgkkby7gfng37TUY9COaNfrcDiEj4LuBLBcap8GS6GqBXYTfiBDuXYfv+mcQV0tmZFgU9aFML60/tLdg6qUQpzaowlj8Ca5URcnKhAP4/iorpAFHEdfCirGDBcD1M+IECruRWWkQE+e4DXCRrY6YRONiU2b8/gY0hpVg1pjy4eSZZH2FobZ7RU5hwIkPyfLhylMHwnF6H0m67tdyDd26oIBlzoH9OuKcxA+Lh3FY5Ff0kzQY9KyQeTiuobMeSadhzVul5mEiLdC+1slisrbZJA258OkN+BIUw4VeTnrwEkf4GN7DmAa+I1NF4uFS8XAReFW0yEr80V4g1DS8td9M9IgddERzqJthOZkhPxmCzxD+O4Irg02GGw6G9gIwyhRXRlu24z3x5tlzXntgB8f6WOdWLjQN3vmz93sZmL6WRu4BOT391YyYMx2V3B3urJ5NYxpoSw107FntVRIH3OcA5v0Q8tsxf7X4uSEf7C+LfD0fnfb8uz7ociX9SLsq/TMRSkdGEDD+yWjmxvR87+m4sU2xZxC/xM6gnPavmIsECq2vcC4GS0RwRF7X+sXJ1BuWEGOqz+2clm4CLxh84JTyCB8FR1H/rxfp3C4qTTdk1I3BRf1oM6qkjCh3eCJVgCvJgGipEhqPjLnbzaH0xEDiLiD62A/e0m699BiekD4dTebca6nEk/zKAsn1JSmycCPX/3ujeO4fPvNHxq7oSp5fx0YeAtofyHTEtyB1CtobLDX+YWZvR4NMUlHM5OGYJ62uO9zk+dpukWdiOfo/vitVePD7ty4HZoZI49ADJJUkpJmg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(376002)(136003)(346002)(396003)(4326008)(8676002)(5660300002)(66476007)(66946007)(86362001)(66556008)(31696002)(38100700002)(2906002)(6916009)(31686004)(478600001)(8936002)(53546011)(6506007)(36756003)(83380400001)(26005)(6486002)(316002)(6512007)(186003)(41300700001)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ajhRdFJOVGtwcnBlQU1CT0ZiMXZNdzFkUG5xaXFVOFB0eTRrYjIrRUNIL2FG?=
 =?utf-8?B?U3Y1ZXRUcGRvN2ZXTTZuVjV4Y3FuRkYxdTc2UVpCcWhmVm1vbVRIK2w3SlVD?=
 =?utf-8?B?KzI2UTExdmFOL05BL2IySkptaHU5L29RRVdCakM0N1hsdVg2cXBvZVN1MVR2?=
 =?utf-8?B?eG1XbDM2cmRBdUZiVVF6emZnUkpQSFFSa2tTNGM3Y3B5cGErNnBFUFBBWWZn?=
 =?utf-8?B?bEZhQm5iSlIvNXJUT2lDOURWQVRQLzcvby9tdTVuMk5jR2ozN2J0ald4MVN1?=
 =?utf-8?B?R0ZFVlFUeVJGVGpYek1YZFF4T2JRSkpqUEVNZzBIU0VyTEdhOFh2UWR2dWJm?=
 =?utf-8?B?K2ZjR1JBRGk1eFFRcVBjcWtLemNKU1hIWjBFVWdCM1diSWYxZndDZ1FmR2dp?=
 =?utf-8?B?dlpvMnBPd2NSM09KamM4TEdiVHV0a0tWQTJDNVBoVmJFSi9VT0hMZ252aTdj?=
 =?utf-8?B?TE5ZVVI0Q2E2Q2hQWWRIakFFWFhnV1Jmd0dUV3lGNVpBcWFvSFlzT2V0YXFM?=
 =?utf-8?B?bWIzOTh5MlN6WHZycW5BUlhWMXZlNVgwdDJsSTV3UytXN1I1RnFwUnJPUmk1?=
 =?utf-8?B?Mk82aVpYN0V5ejRxL2o1WkFHbVZ5K3k3SVpPM05GemNTZzJvNFRDL2NvdUpu?=
 =?utf-8?B?YkxtYlQ1Y3kvQ2F2NjhLUHorNzFrb05ySEhpN0sycGtsMHVTZ1FuOHlwTW1V?=
 =?utf-8?B?dkFmdVlCOHVsa0dVTExkM2pkSWdkOGhBOFZ5aGUxMTZha2ppeVBPblJJaGw4?=
 =?utf-8?B?clpVSm1lV1ZvS2xHK0tjZVlGS3hGYjFWYk5ES1lVUW96cWZWOGlkK1p3R0NU?=
 =?utf-8?B?RVF5WTBTOW1RRlQ1STFJam9sZlBIY256RFFOa3VHVDk4ME1yYXExZFVkQjVF?=
 =?utf-8?B?c2J0bTlGTkxraDY2WW82aFVLblJRcXJmdmR6b2xsbUZ6bnhjeExRMTdQaElS?=
 =?utf-8?B?bXhxNjlTTWo3MWlwLzI2citHcmpTZFY4MmNqb2FNblpYVVg1M1diQkNGd01L?=
 =?utf-8?B?QTVDUUtuQndNejBDRWVsZ3BwYXRERHdQL2d1V1kzZ0o4d0VLanhBMmxPRW92?=
 =?utf-8?B?UmplbE5HVDdpZk5zRmxiZGovak14YnQzQ25TTXNydXFxb1g0YzJ5T3djU09u?=
 =?utf-8?B?bHh0emNRdk5LS3l3eE9jSG9YNy9BNXlZSmt0cUZpUkxyUnIvRWdSeXkrVEJX?=
 =?utf-8?B?UmVwb1lFOHJMeVI1NEVBUERHcnkzSzRPTmFVUXJCekpIZWFDa3llQ2pYeW1G?=
 =?utf-8?B?NGFMakxkN1BMblYwZ2xVbjJmSHB6RHhaNi8yUXJJd2ZDTnhXbC9VcXd3cW5S?=
 =?utf-8?B?N05uQ2dJaFVHV2dlcngwYy8rQUhycEtwNXBxejhZY2NSZ2dVU3NkV1QxWjV2?=
 =?utf-8?B?SERFY1BOS2F5STVKcGQ2Y1BBWmg0K0Q4R0diTktkSk9tNWJmV3M4WEZlY3I1?=
 =?utf-8?B?K0I0di96WnQ2NXNERjhoR0VjbTZCbldKb1JzVzlFeU5KV2dTU0tpMDNPbmFD?=
 =?utf-8?B?dURXZ21FQU84RG1iN1FVeElJSks5Tk1VZlphN1duaGtlOGxPaXZUdUl1RzVy?=
 =?utf-8?B?dTBRMHJIU3NXWDlRTmZ3TEhJUGJ5NTBXdzlOM29JU01zNmlrVFBRb1BGMmpk?=
 =?utf-8?B?aWlJV0VsNVp2eHVpeE9BNHliQTZWOFJheGg0NndjZjZZZSs5blRENFJsbVAx?=
 =?utf-8?B?RTVhNnFoK1BwaFRSMys0Nzh0MTJJU3k4OUVYbDdMYWJzTFkwbDMzdk1hY1JE?=
 =?utf-8?B?c1cvcWZzT0N4MWF0b1ZtMGg3UG54UXBWd0VCZDVicUNGWGJwM0ovbm5NK1N3?=
 =?utf-8?B?UVRURGt4UnU3ZFlva0tzSGF3RkYwM2ZGb0RvbVNxRWs3UTIzb2hJa0R1aG1h?=
 =?utf-8?B?aUxoTlRxWk5CME01YXNUVTV0Q2xlek1lT3pLNWtjSm9WTGJyK0VDRGJiVU1h?=
 =?utf-8?B?ZXRJY3RIQmdOTkw1WDlhV1hUN1dDbS9LcE5jaWEwcTFKcU96VnJvUjVzZUxN?=
 =?utf-8?B?K2JIeURQRDc1Y3lIQkVUeGwxRlpic2UyOFg1ZndQbVpCTUdWdEpodWFkdGJU?=
 =?utf-8?B?d1F6ZEFNSzhzeG0yZ2p4TXFHMUlrajJpbHg2Sk1BYy9XckQyeXEwQjErcUUw?=
 =?utf-8?Q?n+uc3gzeY1HeMYKw8XMlhTNZo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a60648c0-d4c2-4ee9-e342-08da744e5d14
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2022 06:15:14.6142
 (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: J/7l85lo4PbtEjVZR7ghNzKE/4ugBytz+0lxu+7h6oN6cHmYyW7Jb9H5ow/4CAUdkl4vvNkEKgANL1qw7qlaVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3334

On 01.08.2022 20:49, Daniel P. Smith wrote:
> This series makes it so that the idle domain is started privileged under the
> default policy, which the SILO policy inherits, and under the flask policy. It
> then introduces a new one-way XSM hook, xsm_transition_running, that is hooked
> by an XSM policy to transition the idle domain to its running privilege level.
> 
> Patch 3 is an important one, as first it addresses the issue raised under an
> RFC late last year by Jason Andryuk regarding the awkward entanglement of
> flask_domain_alloc_security() and flask_domain_create(). Second, it helps
> articulate why it is that the hypervisor should go through the access control
> checks, even when it is doing the action itself. The issue at hand is not that
> the hypervisor could be influenced to go around these check. The issue is these
> checks provides a configurable way to express the execution flow that the
> hypervisor should enforce. Specifically with this change, it is now possible
> for an owner of a dom0less or hyperlaunch system to express a policy where the
> hypervisor will enforce that no dom0 will be constructed, regardless of what
> boot construction details were provided to it. Likewise, an owner that does not
> want to see dom0less or hyperlaunch to be used can enforce that the hypervisor
> will only construct a dom0 domain. This can all be accomplished without the
> need to rebuild the hypervisor with these features enabled or disabled.
> 
> Changes in v10:
> - rewrote patch 3 commit message
> - fixed typos in patch 3
> - reworked logic in flask_domain_create() to be simpler and not result in
>   changing the domain security struct before the access check fails
> 
> Changes in v9:
> - added missing Rb/Tb to patch 1
> - corrected the flask policy macro in patch 2 to allow domain create
> - added patch 3 to address allowing the hypervisor create more than 1 domain
> 
> Changes in v8:
> - adjusted panic messages in arm and x86 setup.c to be less than 80cols
> - fixed comment line that went over 80col
> - added line in patch #1 commit message to clarify the need is for domain
>   creation
> 
> Changes in v7:
> - adjusted error message in default and flask xsm_set_system_active hooks
> - merged panic messages in arm and x86 setup.c to a single line
> 
> Changes in v6:
> - readded the setting of is_privileged in flask_set_system_active()
> - clarified comment on is_privileged in flask_set_system_active()
> - added ASSERT on is_privileged and self_sid in flask_set_system_active()
> - fixed err code returned on Arm for xsm_set_system_active() panic message
> 
> Changes in v5:
> - dropped setting is_privileged in flask_set_system_active()
> - added err code returned by xsm_set_system_active() to panic message
> 
> Changes in v4:
> - reworded patch 1 commit messaged
> - fixed whitespace to coding style
> - fixed comment to coding style
> 
> Changes in v3:
> - renamed *_transition_running() to *_set_system_active()
> - changed the XSM hook set_system_active() from void to int return
> - added ASSERT check for the expected privilege level each XSM policy expected
> - replaced a check against is_privileged in each arch with checking the return
>   value from the call to xsm_set_system_active()
> 
> Changes in v2:
> - renamed flask_domain_runtime_security() to flask_transition_running()
> - added the missed assignment of self_sid
> 
> Daniel P. Smith (3):
>   xsm: create idle domain privileged and demote after setup
>   flask: implement xsm_set_system_active

Against what tree is this series? These two patches look to be in staging
already (and they have been there for almost a month), so if there are
incremental changes to make, please send incremental patches. Otherwise
please clarify whether ...

>   xsm: refactor flask sid alloc and domain check

... this change alone was meant to be (re)submitted.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 07:45:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 07:45:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379203.612473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oImaD-0002AD-OL; Tue, 02 Aug 2022 07:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379203.612473; Tue, 02 Aug 2022 07:44:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oImaD-0002A6-Kk; Tue, 02 Aug 2022 07:44:53 +0000
Received: by outflank-mailman (input) for mailman id 379203;
 Tue, 02 Aug 2022 07:44:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oImaC-00029w-Dp; Tue, 02 Aug 2022 07:44:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oImaC-0008GL-9J; Tue, 02 Aug 2022 07:44:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oImaB-0003nF-SZ; Tue, 02 Aug 2022 07:44:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oImaB-0000gJ-S7; Tue, 02 Aug 2022 07:44:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mSFvkKOeAr4ZBplU5Hn1grKzsACXokQ2kAaCbDGpc08=; b=wf13yH94BXJ3EcfEROsoANZo7c
	CM/tclFAABL39I1mgSGOhlCtvQeQrRmEhrAOxxORbZZ3ioo6Uqb4XPKx4GVplRu7Up50zCrzbpDfy
	yEVETb/UoxPKNeFL7kOgKca78ToU1AsD8lE1V9dDq2Kh91RcQb2FWWlcc6U97piMbj8A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172070-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172070: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=b15bdb1d8324efe662b94d5c8bac231c4b3a81a9
X-Osstest-Versions-That:
    qemuu=4e06b3fc1b5e1ec03f22190eabe56891dc9c2236
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 07:44:51 +0000

flight 172070 qemu-mainline real [real]
flight 172078 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172070/
http://logs.test-lab.xenproject.org/osstest/logs/172078/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install   fail pass in 172078-retest
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail pass in 172078-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172064
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172064
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172064
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172064
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172064
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172064
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172064
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172064
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                b15bdb1d8324efe662b94d5c8bac231c4b3a81a9
baseline version:
 qemuu                4e06b3fc1b5e1ec03f22190eabe56891dc9c2236

Last test of basis   172064  2022-08-01 13:39:56 Z    0 days
Testing same since   172070  2022-08-01 20:39:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corey Minyard <cminyard@mvista.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Klaus Jensen <k.jensen@samsung.com>
  Michael S. Tsirkin <mst@redhat.com>
  Peter Xu <peterx@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>
  Thomas Huth <thuth@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   4e06b3fc1b..b15bdb1d83  b15bdb1d8324efe662b94d5c8bac231c4b3a81a9 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 07:54:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 07:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379210.612483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oImji-0003fF-LV; Tue, 02 Aug 2022 07:54:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379210.612483; Tue, 02 Aug 2022 07:54:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oImji-0003f8-Iu; Tue, 02 Aug 2022 07:54:42 +0000
Received: by outflank-mailman (input) for mailman id 379210;
 Tue, 02 Aug 2022 07:54:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Dd5r=YG=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oImji-0003f2-15
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 07:54:42 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c66ae64-1238-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 09:54:41 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id z16so16740406wrh.12
 for <xen-devel@lists.xenproject.org>; Tue, 02 Aug 2022 00:54:40 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:146:7628:78d0:d5d3])
 by smtp.googlemail.com with ESMTPSA id
 z22-20020a1cf416000000b003a35516ccc3sm17649513wma.26.2022.08.02.00.54.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Aug 2022 00:54:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c66ae64-1238-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=E8VWvmndalrM52Ef3AJnMPDROVLcnUExmMUKX1HewEY=;
        b=kd4XGPRMY92j4m9T93LrxRVml75YG/GXZxdNLANIKQoKEjccC8GJaLxJvYBS9EzruB
         XpF6Fi+pHqdqzEZySUtGxtKn120TV8VxyWYnnqTkXWQnBdmcjyewr/MkXsFBh3BvgR2R
         klI3fCIeLoSD7y4qQmgidegWr0+eUPMN3fSgukKn3inHdIkNW16AdGAkEgwM3VVSElsU
         qsZwqI9riwYwEyhzClTjIcf+prQ258I5/d5Ob0B1FtFtxP/47RbmuMxM7HaivtWR+vvv
         CCA+9f8+J0ghuBPnSzgEPLyNpIWmOAJwIqJaG4rVjhapwjhbliJ/4MAtwS3MIsKqZZ/Z
         q3/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=E8VWvmndalrM52Ef3AJnMPDROVLcnUExmMUKX1HewEY=;
        b=O9x0KUIh2eIic3g1pwh/Ns5j/dL0zkbhsqLxfhGFYtt7KfRUQzC1CqYCPQ55sjly3c
         I7Qfs0ix60jVxoOp4GmAISir3TCW66svApyy1rX9L066RKS2H73rdOEA0j0Li3vqBxX+
         w1A/Mp/s5cEKR1/yYpgLMF2bl9YAdnEFI+bI1sOZTXQLIbH+w+hiy3joYs5DmEqQFSB8
         IV+bltF8nYjEXZsrFyPZwO0EiLvovxcAlRHq0UUE/74polQPKx3L7QzJeMUUdd0rWYda
         KJW1POnuTD6HoHHzlQc6weRqLKHNXmlCDO6q1qsAyAz8VL4laGQWlOTI9hYaUojc1eug
         W2Lg==
X-Gm-Message-State: ACgBeo3Hlw+Rj/3PktgduxFRewIftPD8ehrO2BCTLiKwnK5c86xp1dfa
	dTBl53WYX4vqhbDARswSiqDlIkQ4Sig=
X-Google-Smtp-Source: AA6agR4Rehn3Ovbrtt/4/G5ZobjDeGP2LlJvB4EY91OW3p3SANUK9MJlPv19a+KpNYHTTvOIAXg4UA==
X-Received: by 2002:adf:fac4:0:b0:21f:1228:dabc with SMTP id a4-20020adffac4000000b0021f1228dabcmr11056592wrs.501.1659426878910;
        Tue, 02 Aug 2022 00:54:38 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] xen/char: imx-lpuart: Fix MISRA C 2012 Rule 20.7 violation
Date: Tue,  2 Aug 2022 10:54:33 +0300
Message-Id: <20220802075433.1748035-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The macro parameter 'off' is used as an expression and it is good to be
enclosed in parentheses to prevent against unintended expansion.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/drivers/char/imx-lpuart.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/imx-lpuart.c b/xen/drivers/char/imx-lpuart.c
index 2709136081..9c1f3b71a3 100644
--- a/xen/drivers/char/imx-lpuart.c
+++ b/xen/drivers/char/imx-lpuart.c
@@ -26,8 +26,8 @@
 #include <asm/imx-lpuart.h>
 #include <asm/io.h>
 
-#define imx_lpuart_read(uart, off)       readl((uart)->regs + off)
-#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + off)
+#define imx_lpuart_read(uart, off)       readl((uart)->regs + (off))
+#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + (off))
 
 static struct imx_lpuart {
     uint32_t baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 08:46:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 08:46:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379219.612495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oInXT-00015C-Nj; Tue, 02 Aug 2022 08:46:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379219.612495; Tue, 02 Aug 2022 08:46:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oInXT-000155-KT; Tue, 02 Aug 2022 08:46:07 +0000
Received: by outflank-mailman (input) for mailman id 379219;
 Tue, 02 Aug 2022 08:46:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oInXS-00014v-JG; Tue, 02 Aug 2022 08:46:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oInXS-0001UP-EU; Tue, 02 Aug 2022 08:46:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oInXS-00067R-0x; Tue, 02 Aug 2022 08:46:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oInXS-0006CT-0X; Tue, 02 Aug 2022 08:46:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=f1n31az3/ynIeePgWQriW1ooemV2bZ4fY/DQxIN6uiY=; b=xOOPpsmuto7KBm0mE6gZlYQEzG
	crW9Q8miPxmj5BO2F2c29tH6zvuuQD3igWSnEnCcZiOBje08Qn6nf794PASEZ7T+j87rcI/3kn/GF
	9Irg3C85RwMSdgtasxqhf8AhRevtnSu9Jp/81O6N6FBJcye2ERWbBP+BQZzdzPbsPGL4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172077-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172077: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4d96a4fe2ac08cc93f2e7eca56120792363cb950
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 08:46:06 +0000

flight 172077 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172077/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4d96a4fe2ac08cc93f2e7eca56120792363cb950
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    5 days
Failing since        171899  2022-07-28 19:01:47 Z    4 days   30 attempts
Testing same since   172075  2022-08-02 03:02:01 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 468 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 09:10:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 09:10:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379226.612506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oInud-0003zH-HZ; Tue, 02 Aug 2022 09:10:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379226.612506; Tue, 02 Aug 2022 09:10:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oInud-0003yb-E5; Tue, 02 Aug 2022 09:10:03 +0000
Received: by outflank-mailman (input) for mailman id 379226;
 Tue, 02 Aug 2022 09:10:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oInub-0003dJ-SY; Tue, 02 Aug 2022 09:10:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oInub-0001v0-PA; Tue, 02 Aug 2022 09:10:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oInub-0007EP-DL; Tue, 02 Aug 2022 09:10:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oInub-0004et-Cr; Tue, 02 Aug 2022 09:10:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YDCR6mfg1yK8kAFcqkUH9Q717h7YCwEHxVSVuRq/fRs=; b=605itxTzLHqTNMBIoLymbj2O7M
	3oLD4QOPbwJjFO0T0C4vBiCxsbIAfFlQP0F4HqWn1R4VRx6iry2KPAfiShL4YQhM7lwM3ke8N4Fjp
	kgOUaroIwWkJXii9KirmEzTmrF/ZYZV9O/yGtNt7ifDd5hkT4O68vxO920eRuoPA5lnA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172076-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172076: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=ebf84b2b36573ee9bc50c37464f18590ecada0eb
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 09:10:01 +0000

flight 172076 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172076/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              ebf84b2b36573ee9bc50c37464f18590ecada0eb
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  753 days
Failing since        151818  2020-07-11 04:18:52 Z  752 days  734 attempts
Testing same since   172076  2022-08-02 04:20:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 117814 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 10:26:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 10:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379234.612517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIp6R-0003IV-7A; Tue, 02 Aug 2022 10:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379234.612517; Tue, 02 Aug 2022 10:26:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIp6R-0003IK-3J; Tue, 02 Aug 2022 10:26:19 +0000
Received: by outflank-mailman (input) for mailman id 379234;
 Tue, 02 Aug 2022 10:26:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gPpP=YG=citrix.com=prvs=206784369=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oIp6P-0003I8-UP
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 10:26:17 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8864a0c9-124d-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 12:26:16 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8864a0c9-124d-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659435976;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=g8qHfA+k31lfYHNyW/VAsPcgGwjMYWgfedDMiUiPkAo=;
  b=cqKMo7QE+PHhUgNxL6PZQxX8OYhU295t+OIFZwxedLU/ltAO45mlEW7a
   S5IBz/dxdChm88EMFp79cYSHa3gu/1QyOi1Q9TnR+IYTeH42+SkQvEsne
   EBcwqqLxnk6xgUoxA25+k/eXTxz1z9S3K8+CHw9bj9fzDc5UJPRxG5Adi
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 79720150
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:3808Uq2ZAvz0TnmYDvbD5bdxkn2cJEfYwER7XKvMYLTBsI5bpzIOz
 2ccUWnTOfaMYjajfNx+aIq/oBsFvJDRm98wQFFupC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Ek35ZwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj6892HUISN5Fbw6UpCnF26
 s1AKGtSUDnW0opawJrjIgVtrsEqLc2tN4IDoHBwizreCJ7KQ7iaHf+Mv4UBmm5t2IYeRp4yZ
 OJAAdZrRB3Gfx1IPEZREJ8klf2krnL+bydZuBSeoq9fD237k10uiuC0bYK9ltqiSNtbhRvCh
 3P93GHiIz4UCN6n8BuMyyf57gPItXyiA99DfFGizdZrn1+71mEVEAcRV1awvb++kEHWc8JSL
 QkY9zQjqYA29Ve3VZ/tUhugunmGsxUAHd1KHIUHBBqlk/SOpVzDXy5dE2AHOIdOWNIKqSIC7
 EeYnPfjGX9W8+OeWUqCx++U9myMEH1ARYMdXhPoXTfp8vG6/txi0kqSF4s5eEKmpoarQG+tm
 lhmuAB73uxO1pBTis1X6Hid21qRSo71ohnZD+k9dkas9UtHaYGsfOREAnCLvK8bfO51orRs1
 UXoevRyD8hUVPlhbATXHI0w8EiBvp5pygH0j191BIUG/D+w4XOldo04yGggeRYybZdcIGS4M
 Ra7VeZtCHh7ZSLCUEOKS9jpV5RCIVbIT7wJqcw4nvIRO8MsJWdrDQllZFKK3nCFrXXAZZoXY
 M7DGe7xXClyNEiS5GDpLwvr+eN0m3tWKKK6bcyT8ilLJpLFPCDFF+dVaQrUBg37hYvdyDjoH
 x9kH5Pi431ivCfWOUE7LaZ7wYg2EEUG
IronPort-HdrOrdr: A9a23:bZE5rKELWWSMYXCjpLqE5MeALOsnbusQ8zAXP0AYc3Jom6uj5q
 STdZUgpHnJYVkqOE3I9ertBEDiewK4yXcW2/hzAV7KZmCP0wHEEGgL1/qE/9SKIUzDH4Bmup
 uIC5IOauHNMQ==
X-IronPort-AV: E=Sophos;i="5.93,210,1654574400"; 
   d="scan'208";a="79720150"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Ian Jackson <iwj@xenproject.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [OSSTEST PATCH 0/2] osstest: Fix libvirt build
Date: Tue, 2 Aug 2022 11:26:00 +0100
Message-ID: <20220802102602.131992-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.37.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

libvirt now use meson+ninja instead of autoconf, so teach osstest to use that.

I ran a flight with that, here is the result:
"tolerable all pass"
http://logs.test-lab.xenproject.org/osstest/logs/172068/

Thanks,

Anthony PERARD (2):
  TestSupport: Add support for installing from backport repo
  ts-libvirt-build: Rework to build with meson

 Osstest/TestSupport.pm | 27 ++++++++++++++--
 ts-libvirt-build       | 70 +++++++++++++++++++++++++++++-------------
 ts-xen-build-prep      |  8 ++++-
 3 files changed, 81 insertions(+), 24 deletions(-)

-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 10:26:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 10:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379236.612534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIp6S-0003Zf-Of; Tue, 02 Aug 2022 10:26:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379236.612534; Tue, 02 Aug 2022 10:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIp6S-0003ZS-I1; Tue, 02 Aug 2022 10:26:20 +0000
Received: by outflank-mailman (input) for mailman id 379236;
 Tue, 02 Aug 2022 10:26:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gPpP=YG=citrix.com=prvs=206784369=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oIp6Q-0003I9-W2
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 10:26:19 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 890a169d-124d-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 12:26:16 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 890a169d-124d-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659435975;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=RqOnTnRfNefeCWQNoTAkEW+3/TCxNE8vkYa6ugEuZYo=;
  b=O8PiqLNE7abhnTMNbRR3szqjJE9Q+HWHYcbgWoaaNRUu8xfB3SuDRkJA
   1XMF953XVIlxOb6iDBDeKtkoUwCVlTl539gVilixX6Qes0xgb9rSY7Lgr
   e2oPqioDXxC2LJVyQl29u1S+zSkpccQzkeCRk+n8PybM89VSb9QpUDFd9
   g=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 76424230
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:N4oXtaKTpytA+5mlFE+RtZUlxSXFcZb7ZxGr2PjKsXjdYENS3mMEy
 jNJXWvSPf7eMzGjL9t+b47gp0JS68SBztAxQFZlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/Lb8ks21BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TExtx2EWA4P90hqvt0JzENr
 vNGEh0zYUXW7w626OrTpuhEg80iKI/gPZ8Fu2EmxjbcZRokacmdGeOQv4YehWpuwJAVdRrdT
 5NxhT5HZRLcYxpJKxEPBYg3huuAjXjjaTxI7lmSoMLb5kCMklArjOK2aLI5fPSbTp16mVq8j
 1if1F/rBz4WCIPHkz6apyfEaujnwnqgBdN6+KeD3v91gnWDy2oLEhoUWFCn5/6jhSaWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe9DW8ynUlPCSuVzAQDFZEHgRM7TKqfPaWxQv/
 0eUvt3rVQU/rb6zGTHG+emugA29bH19wXA5WcMUcecUy4C9/dBv1k+WE4wL/L2d1YOsR2ypq
 9yehG1n3uhI05ZWv0mu1Qqf6w9AsKQlWeLcCu//emu+pj10a4e+D2BDwQiKtK0QRGp1o7Tog
 ZTlpyR9xLpXZX11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8jdRw2Y55dIm64O
 Sc/XD+9A7cKZROXgVJfOdrtW6zGM4C6fTgaahwkRoUXOcUgHON21CpveVSRzwjQraTYqolmY
 M/zWZv9Uh4n5VFPlmXeqxE1jeB2nUjTBAr7GfjG8vhQ+eHGOi7LGedcYQHmgyJQxPrsnTg5O
 u13b6OioyizmsWkCsUL2eb/9Ww3EEU=
IronPort-HdrOrdr: A9a23:0ZkUh6CgYJd0UW7lHemq55DYdb4zR+YMi2TC1yhKJiC9Ffbo8P
 xG/c5rrCMc5wxxZJhNo7290ey7MBHhHP1OkO0s1NWZPDUO0VHAROoJ0WKh+UyEJ8SXzJ866U
 4KScZD4bPLYWSS9fyKgzWFLw==
X-IronPort-AV: E=Sophos;i="5.93,210,1654574400"; 
   d="scan'208";a="76424230"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Ian Jackson <iwj@xenproject.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [OSSTEST PATCH 2/2] ts-libvirt-build: Rework to build with meson
Date: Tue, 2 Aug 2022 11:26:02 +0100
Message-ID: <20220802102602.131992-3-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220802102602.131992-1-anthony.perard@citrix.com>
References: <20220802102602.131992-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

libvirt have switch build system to Meson + Ninja, there is no more
autogen.sh script.

Add missing dependency "libtirpc-dev" and "meson".

libvirt needs at least meson 0.54, the version avaiable in Debian
Buster is too old, but we can install it from backports.

In order to find out if Meson is used or not, we'll check if the
"autogen.sh" script is missing. And in the build dir, we will look for
a "Makefile".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 ts-libvirt-build  | 70 +++++++++++++++++++++++++++++++++--------------
 ts-xen-build-prep |  8 +++++-
 2 files changed, 56 insertions(+), 22 deletions(-)

diff --git a/ts-libvirt-build b/ts-libvirt-build
index e799f00375f7..16b45cfd02bf 100755
--- a/ts-libvirt-build
+++ b/ts-libvirt-build
@@ -50,32 +50,56 @@ sub config() {
     }
     die "no xen prefix" unless $xenprefix;
 
-    # Uses --no-git because otherwise autogen.sh will undo
-    # submodulefixup's attempts to honour
-    # revision_libvirt_gnulib. This in turn requires that we specify
-    # --gnulib-srcdir, but ./autogen.sh doesn't propagate
-    # --gnulib-srcdir to ./bootstap so we use GNULIB_SRCDIR directly.
-    my $gnulib = submodule_find($submodules, "gnulib");
-    target_cmd_build($ho, 3600, $builddir, <<END);
-        cd libvirt
-	mkdir build
-	cd build
-        CFLAGS="-g -I$xenprefix/include/" \\
-        LDFLAGS="-g -L$xenprefix/lib/ -Wl,-rpath-link=$xenprefix/lib/" \\
-        PKG_CONFIG_PATH="$xenprefix/lib/pkgconfig/" \\
-        GNULIB_SRCDIR=$builddir/libvirt/$gnulib->{Path} \\
-            ../autogen.sh --no-git \\
-                         --with-libxl --without-xen --without-xenapi --without-selinux \\
-                         --without-lxc --without-vbox --without-uml \\
-                         --without-qemu --without-openvz --without-vmware \\
-                         --sysconfdir=/etc --localstatedir=/var #/
+    my $cflags = "-g -I$xenprefix/include/";
+    my $ldflags = "-g -L$xenprefix/lib/ -Wl,-rpath-link=$xenprefix/lib/";
+    my $pkg_config_path = "$xenprefix/lib/pkgconfig/";
+
+    if (target_file_exists($ho, "$builddir/libvirt/autogen.sh")) {
+        # Uses --no-git because otherwise autogen.sh will undo
+        # submodulefixup's attempts to honour
+        # revision_libvirt_gnulib. This in turn requires that we specify
+        # --gnulib-srcdir, but ./autogen.sh doesn't propagate
+        # --gnulib-srcdir to ./bootstap so we use GNULIB_SRCDIR directly.
+        my $gnulib = submodule_find($submodules, "gnulib");
+        target_cmd_build($ho, 3600, $builddir, <<END);
+            cd libvirt
+            mkdir build
+            cd build
+            CFLAGS="$cflags" \\
+            LDFLAGS="$ldflags" \\
+            PKG_CONFIG_PATH="$pkg_config_path" \\
+            GNULIB_SRCDIR=$builddir/libvirt/$gnulib->{Path} \\
+                ../autogen.sh --no-git \\
+                             --with-libxl --without-xen --without-xenapi --without-selinux \\
+                             --without-lxc --without-vbox --without-uml \\
+                             --without-qemu --without-openvz --without-vmware \\
+                             --sysconfdir=/etc --localstatedir=/var #/
+END
+    } else {
+        target_cmd_build($ho, 3600, $builddir, <<END);
+            cd libvirt
+            meson setup \\
+                -Dc_args='$cflags' \\
+                -Dc_link_args='$ldflags' \\
+                --pkg-config-path='$pkg_config_path' \\
+                --auto-features=disabled \\
+                -Ddriver_libxl=enabled \\
+                -Ddriver_libvirtd=enabled \\
+                -Ddriver_remote=enabled \\
+                --sysconfdir=/etc --localstatedir=/var \\
+                build
 END
+    }
 }
 
 sub build() {
     target_cmd_build($ho, 3600, $builddir, <<END);
         cd libvirt/build
-        (make $makeflags 2>&1 && touch ../../build-ok-stamp) |tee ../log
+        if [ -e Makefile ]; then
+            (make $makeflags 2>&1 && touch ../../build-ok-stamp) |tee ../log
+        else
+            (ninja 2>&1 && touch ../../build-ok-stamp) |tee ../log
+        fi
         test -f ../../build-ok-stamp #/
         echo ok.
 END
@@ -85,7 +109,11 @@ sub install() {
     target_cmd_build($ho, 300, $builddir, <<END);
         mkdir -p dist
         cd libvirt/build
-        make $makeflags install DESTDIR=$builddir/dist
+        if [ -e Makefile ]; then
+            make $makeflags install DESTDIR=$builddir/dist
+        else
+            DESTDIR=$builddir/dist ninja install
+        fi
         mkdir -p $builddir/dist/etc/init.d
 END
     target_putfilecontents_stash($ho, 60,
diff --git a/ts-xen-build-prep b/ts-xen-build-prep
index e76c0254bfd0..3ae8f215440b 100755
--- a/ts-xen-build-prep
+++ b/ts-xen-build-prep
@@ -199,7 +199,7 @@ END
 sub prep () {
     my @packages = qw(mercurial rsync figlet
                       build-essential bin86 bcc iasl bc
-                      flex bison cmake ninja-build
+                      flex bison cmake ninja-build meson
                       libpci-dev libncurses5-dev libssl-dev python-dev
                       libx11-dev git-core uuid-dev gettext gawk
                       libsdl-dev libyajl-dev libaio-dev libpixman-1-dev
@@ -209,6 +209,7 @@ sub prep () {
                       libdevmapper-dev libxml-xpath-perl libelf-dev
                       ccache nasm checkpolicy ebtables
 		      python3-docutils python3-dev
+                      libtirpc-dev
                       libgnutls28-dev);
 
     if ($ho->{Suite} =~ m/squeeze|wheezy|jessie/) {
@@ -251,6 +252,11 @@ END
         target_install_packages($ho, 'libc6-dev-i386');
     }
 
+    if ($ho->{Suite} =~ m/buster/) {
+        # libvirt needs a newer version of "meson"
+        target_install_packages_backport($ho, 'meson');
+    }
+
     some_extradebs($ho, [ 'DebianExtraPackages', 'build', $ho->{Suite} ]);
 }
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 10:26:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 10:26:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379235.612527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIp6S-0003Xm-Do; Tue, 02 Aug 2022 10:26:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379235.612527; Tue, 02 Aug 2022 10:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIp6S-0003Xf-Ah; Tue, 02 Aug 2022 10:26:20 +0000
Received: by outflank-mailman (input) for mailman id 379235;
 Tue, 02 Aug 2022 10:26:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gPpP=YG=citrix.com=prvs=206784369=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oIp6Q-0003I8-Dd
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 10:26:18 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8aeb72fb-124d-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 12:26:17 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8aeb72fb-124d-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659435977;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=VglZLcyUFY4jo3jNwX1yvw5xUZlZ47FlvX09rpWoHdM=;
  b=NHyh6l9W0jR61CjmKsjXT29TGnZkNnlwLFMsO6+UjH9sops6GcuDWuN4
   tmLgN439YlQyKzeWbgw3TcM2/tuBzjWGQcL+x9NgrplmH1oA8UWidz/C2
   3P6XzR6u263ISmPqmHwZSpUKGNHic0wtc1Yce1FYmqjSRZIG+fHmxShoH
   o=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 79720159
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:SB1/uq/xEv2oWdzinsLsDrUD5H6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 moXXWiBOPqJZzHzL910OYW3ph8A65SHz99rTVds+yw8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM35qyr0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGAF02E7JI88hLHUZD6
 dM+MysPSUDdrrfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoahtTOlARGdQmkf2hnHXXeDxEslOF46Ew5gA/ySQugee3aIOIK7RmQ+1lnH+Wu
 U3t4FjSQSgcEtWN9zTC03Cj07qncSTTB9tJSezQGuRRqFyMxEQDBRsOT1y5rPKlzEmkVLp3O
 0ESvyYjs6U23EiqVcXmGQ21pmaeuRwRUMYWFPc1gDxh0YKNvVzfXDJdCGccNpp276faWADGy
 HeFg9PHOmxmnoGJbn+B2ZGPtjGVaXY8eDpqiTA/cecV3zXyiNht00OTFos6TfTdYs7dQm+pn
 W3TxMQqr/BK1JNQif3mlbzSq2j0zqUlWDLZ8ek+soiNygpiLLCoaIWzgbQwxaYRdd3JJrVtU
 ZVtpiR/0AztJcvU/MB1aL9RdIxFHt7cWNEmvXZhHoM66xOm8GO5cIZb7VlWfRk0Y51bKGewO
 x6C4Gu9AaO/21PzNMdKj3+ZUZx2ncAM6/y/PhwrUja+SscoL1LWlM2fTUWRw3rsgCARrE3LA
 r/CKJ7EJStLVsxaIM+eHbh1PUkDmn9jngs+hPnTk3ya7FZpTCXNF+dbYAvXP7pRAWHtiFy9z
 uuz/vCik313ONASqAGNmWLPBTjm9UQGOK0=
IronPort-HdrOrdr: A9a23:vqqqLK3NeYdxhSJezPE3SgqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoV86faUskdoZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOceEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.93,210,1654574400"; 
   d="scan'208";a="79720159"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Ian Jackson <iwj@xenproject.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [OSSTEST PATCH 1/2] TestSupport: Add support for installing from backport repo
Date: Tue, 2 Aug 2022 11:26:01 +0100
Message-ID: <20220802102602.131992-2-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220802102602.131992-1-anthony.perard@citrix.com>
References: <20220802102602.131992-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

We are going to need to install package from the debian backport
repository in order to do a build.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 Osstest/TestSupport.pm | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 156cac799d58..91b0a7ab23a1 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -73,6 +73,7 @@ BEGIN {
                       target_run_pkgmanager_install
                       target_install_packages target_install_packages_norec
 		      target_install_packages_nonfree_nonconcurrent
+                      target_install_packages_backport
                       target_jobdir target_extract_jobdistpath_subdir
                       target_extract_jobdistpath target_extract_distpart
 		      target_tftp_prefix
@@ -650,8 +651,8 @@ sub target_putfile_root ($$$$;$) {
     tputfileex('root', @_);
 }
 
-sub target_run_pkgmanager_install ($$;$$) {
-    my ($ho, $packagelist, $norec, $force) = @_;
+sub target_run_pkgmanager_install ($$;$$$) {
+    my ($ho, $packagelist, $norec, $force, $backport) = @_;
     my @cmd;
     if ($ho->{OS} eq "freebsd") {
         push @cmd, qw(lockf /var/run/osstest-pkg-lock pkg-static install);
@@ -660,6 +661,7 @@ sub target_run_pkgmanager_install ($$;$$) {
                       with-lock-ex -w /var/lock/osstest-apt apt-get);
 	push @cmd, qw(-f) if $force;
 	push @cmd, qw(--no-install-recommends) if $norec;
+	push @cmd, "-t", "$ho->{Suite}-backports" if $backport;
 	push @cmd, qw(-y install);
     }
     push @cmd, @$packagelist;
@@ -688,6 +690,27 @@ END
     apt-get update
 END
 }
+sub target_install_packages_backport ($@) {
+    my ($ho, @packages) = @_;
+    my $had_backport_repo = 0;
+    target_editfile_root($ho, '/etc/apt/sources.list', sub {
+        my $suite = $ho->{Suite};
+        my $bp_url = Osstest::Debian::debian_mirror_url($ho);
+        while (<::EI>) {
+            if (m/^# $suite backports/) {
+                $had_backport_repo = 1;
+            }
+            print ::EO;
+        }
+        print ::EO <<EOF unless $had_backport_repo;
+
+# $suite backports
+deb $bp_url $suite-backports main
+EOF
+        });
+    target_cmd_root($ho, "apt-get update", 300) unless $had_backport_repo;
+    target_run_pkgmanager_install($ho,\@packages,0,0,1);
+}
 
 sub tpfcs_core {
     my ($tputfilef,$ho,$timeout,$filedata, $rdest,$lleaf) = @_;
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 10:59:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 10:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379252.612550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIpbz-0007s8-5z; Tue, 02 Aug 2022 10:58:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379252.612550; Tue, 02 Aug 2022 10:58:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIpbz-0007s1-34; Tue, 02 Aug 2022 10:58:55 +0000
Received: by outflank-mailman (input) for mailman id 379252;
 Tue, 02 Aug 2022 10:58:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oIpby-0007rv-Cb
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 10:58:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIpbn-0003qK-JA; Tue, 02 Aug 2022 10:58:43 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.4.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIpbn-00079I-9i; Tue, 02 Aug 2022 10:58:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QCMypwmoPAgoGGbaiQDzYD63xFVgcnIIzR7RwM3DLbQ=; b=XLG6F1y0XRAjd0Of4E4h3NNOYs
	s9ClbNAx4zA3wS2VaJ1Fp1BwJYpcTVynnlzCmqDDCR51ULdCJPPjEU8O/2wWS3BltUn+iXsDx3QeQ
	dPyEKrVlK+kwRqzUOyCLewU07fKYq+O8xRNsoQQlMojU5Z7WwTFRfQw7heh/jA6E4n/Q=;
Message-ID: <c4ebd102-f5ed-0109-4eda-a98a59cad21c@xen.org>
Date: Tue, 2 Aug 2022 11:58:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 "committers@xenproject.org" <committers@xenproject.org>
References: <E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org>
 <08606914-f5f4-8415-51a2-f6a5e1c54d20@suse.com>
 <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
 <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
 <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
 <ff565bad-c2be-5128-aeae-28f614f0230c@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ff565bad-c2be-5128-aeae-28f614f0230c@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 01/08/2022 14:15, Andrew Cooper wrote:
> On 01/08/2022 09:43, Julien Grall wrote:
>> (+ Committers)
>>
>> Hi Jan,
>>
>> On 01/08/2022 09:36, Jan Beulich wrote:
>>> On 29.07.2022 19:36, Julien Grall wrote:
>>>> Hi Jan,
>>>>
>>>> On 29/07/2022 07:22, Jan Beulich wrote:
>>>>> On 29.07.2022 03:04, osstest service owner wrote:
>>>>>> branch xen-unstable-smoke
>>>>>> xenbranch xen-unstable-smoke
>>>>>> job build-amd64-libvirt
>>>>>> testid libvirt-build
>>>>>>
>>>>>> Tree: libvirt git://xenbits.xen.org/libvirt.git
>>>>>> Tree: libvirt_keycodemapdb
>>>>>> https://gitlab.com/keycodemap/keycodemapdb.git
>>>>>> Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
>>>>>> Tree: qemuu git://xenbits.xen.org/qemu-xen.git
>>>>>> Tree: xen git://xenbits.xen.org/xen.git
>>>>>>
>>>>>> *** Found and reproduced problem changeset ***
>>>>>>
>>>>>>  Â Â Â  Bug is in tree:Â  xen git://xenbits.xen.org/xen.git
>>>>>>  Â Â Â  Bug introduced:Â  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>>>>  Â Â Â  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
>>>>>>  Â Â Â  Last fail repro:
>>>>>> http://logs.test-lab.xenproject.org/osstest/logs/171909/
>>>>>>
>>>>>>
>>>>>>  Â Â Â  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>>>>  Â Â Â  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>>  Â Â Â  Date:Â Â  Fri Jul 15 22:20:24 2022 +0300
>>>>>>  Â Â Â  Â Â Â Â Â Â Â  libxl: Add support for Virtio disk configuration
>>>>>
>>>>> Just in case you didn't notice it: Something's wrong here. I didn't
>>>>> look
>>>>> at the details at all. Please advise whether a fix will soon arrive or
>>>>> whether we should revert for the time being.
>>>>
>>>> We had discussion on IRC about this today. This is an issue in libvirt
>>>> rather than Xen. So I think a revert is not warrant here.
>>>>
>>>> Instead, it was suggested to force push because it is going to take
>>>> some
>>>> times to fix libvirt (see more below).
>>>>
>>>> Oleksandr already sent a patch to fix libvirt [1]. The problem is even
>>>> if this is accepted, our testing branch for libvirt is 2 years behind
>>>> because they switched to Meson and Osstest has not been adapted to the
>>>> new build system.
>>>>
>>>> Anthony kindly offered to update Osstest.
>>>>
>>>> Regarding force pushing, I am waiting for the Osstest result to confirm
>>>> that only the libvirt tests are failing in staging (we already have the
>>>> results for smoke). So my plan is to force push on Monday.
>>>>
>>>> Please let me know on Monday morning if you have some concerns with
>>>> this
>>>> approach.
>>>
>>> Actually I do - if we force push, the libvirt failure will stick, and
>>> hence potential further regressions introduced there would not be
>>> noticed.
>>
>> Well... We haven't had any push in libvirt for the past 2 years. So to
>> me it shows that nobody really care about the testing done. Therefore,
>> I don't see the problem if we don't spot further regressions.
>>
>> If we don't force push, we have two solutions:
>>  Â  1) Revert Oleksandr's series
>>  Â  2) Leave it until we have Osstest fixed *and* Oleksandr's patch
>> reached libvirt.
>>
>> The former is not an option for me, because Oleksandr's series is not
>> at fault. So this leave us to 2).
>>
>> So what's your proposal?
> 
> This situation is unfortunate, but Oleksandr's series is not at fault,
> and I don't think it is reasonable for libxl changes to be held hostage
> like this.
> 
> The testing situation with libvirt is already bad.Â  I don't think a
> force push is going to make it meaningfully worse.

I have forced pushed to the branch smoke using the flight 171899. For 
staging, it looks like the latest flight was testing f732240f, so we 
don't have one with the libvirt patches.

I am hoping the push to the smoke branch will trigger a xen-unstable flight.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 11:26:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 11:26:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379257.612561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIq2X-0002l9-B3; Tue, 02 Aug 2022 11:26:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379257.612561; Tue, 02 Aug 2022 11:26:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIq2X-0002l2-7W; Tue, 02 Aug 2022 11:26:21 +0000
Received: by outflank-mailman (input) for mailman id 379257;
 Tue, 02 Aug 2022 11:26:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIq2V-0002ks-QN; Tue, 02 Aug 2022 11:26:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIq2V-0004Mf-Lv; Tue, 02 Aug 2022 11:26:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIq2V-0005fz-4i; Tue, 02 Aug 2022 11:26:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIq2V-0004ts-4C; Tue, 02 Aug 2022 11:26:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=saCEZXSHltmnEqMc8P3arUsqIJ3vaERLSUJx43etKMo=; b=RTzZ55rYXed5dQutXptNw7MQh4
	w6SMUk2kxjAWktoLj3DOubH1NE5MWAKyRvFZbqyGE2Z8uBnr3PIFReUf1EFyBXt2XjJtpzMWVT9g4
	zm399rwZMHfPayPUUHhey4u7kD3O+cdmqPmTFV+KVMbZ15pH3LCERo+1RC/RyQvFyhEk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172073-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172073: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 11:26:19 +0000

flight 172073 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172073/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172058
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172058
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172058
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172058
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172058
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172058
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172058
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172058
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172058
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172058
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172058
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172058
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   172073  2022-08-02 01:51:47 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 11:39:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 11:39:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379265.612572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIqFT-0004R6-MD; Tue, 02 Aug 2022 11:39:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379265.612572; Tue, 02 Aug 2022 11:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIqFT-0004Qz-Je; Tue, 02 Aug 2022 11:39:43 +0000
Received: by outflank-mailman (input) for mailman id 379265;
 Tue, 02 Aug 2022 11:39:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9V8X=YG=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oIqFR-0004Qt-MR
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 11:39:41 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c93962d7-1257-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 13:39:39 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 3A5095C010B;
 Tue,  2 Aug 2022 07:39:36 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Tue, 02 Aug 2022 07:39:36 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 2 Aug 2022 07:39:34 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c93962d7-1257-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659440376; x=
	1659526776; bh=YWv9qomqIrVSkbEgIJOPxGBO+lGKFBqYCcjNcgu+s6I=; b=K
	oSujEucYoRUcctOOxMPVqzCXG9F9CUPCzHJiIvpeD5G2+D9jRDr7s16npvblht3h
	xgJJGufEiMGeUuPM49sphPupGcgGjiqtGoef95bsLxGXxlTbcJpJwZ/o7hPUTbNy
	q2W6VG2+NK3b4SPdJsb+fIfQlitjtIE01Ms/K5p/NsjY+b5fv4sXlYDRSXQHn44i
	3cxnoNzn1M7phlf6wloiNaNhCPG6rldc7OpZbRDsY3PlIC6GGmW7KG49R60Qzbel
	JaibW2MvMQh9DAGgxfszQ+zhnzSsAqWN71L47z9hY4/gdlMpOnWycAo6tc+9Qf+o
	AqWxWZDBb2ch3b/UNq5JQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659440376; x=1659526776; bh=YWv9qomqIrVSkbEgIJOPxGBO+lGK
	FBqYCcjNcgu+s6I=; b=raxmK9bJhIclE4CdwP53L3qCLTz280Ttx8Iz65IXdwyp
	oxetghgQ2m0D1GvvZEgqwglh0Kx8OKQWQwD8loVO5xvndREBhIR5XibP+alIP5t6
	Qm8EyVjx79it2oDzuKuJ4HfK4sPQr3zlMgpGPZYTfsL0BBUdk/gZi/BxOUz6jbbV
	3BLKRcVxGr2s/EY2a/LIK1bVT9jBPNx+P0wi+saVoMRSHZoy1sQNOWDmcU6iNVO6
	Y0dCJF8OfXxpIsQtei8WcJMMEI+SP7BtW2Ifq9TDrNUdaZc3OlcoXhet0Mk/n/eR
	QmFmiyUPbRGoa6BU3fW+ZiPlBkltNwMq3iemFtzpOQ==
X-ME-Sender: <xms:9wzpYt1idaf5FWd5DSnwymvf0ByBwuC0SJy2865r4qfbxlbplI0CDQ>
    <xme:9wzpYkHCf9UP09gjm5ijVNyjhT0jXNCBl4XCce_xkiFJInJfZ-h0qKYL2o10FVfQj
    UZ0Zm1jEq_lfQ>
X-ME-Received: <xmr:9wzpYt5zOBlEXXsmLMu_8rzVvfBNAna6dAG66ZBcgue0zTU7HwSo7iYG1GWwsXAfMFEMRvX9xbNhF82zfr22BZ5--xzZs-ihAH0B>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvddvhedggeduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:9wzpYq01rg7XaAJh9n8B1YGi-Ojb5jDQU2wClvTmMdEEmNB5YyJOWw>
    <xmx:9wzpYgENJoLXEoy9MJNKgW9viUQ11QUG4YMDdEQvH6Y-H4THU8SnbQ>
    <xmx:9wzpYr8LtfVLcEmR1l78qy_RJGEswdt96OQ5HtNyEEA1upvi--bqlQ>
    <xmx:-AzpYlNHZOqwRWNwnf_WXdvMJAX47bVG3QGwJUmo6oVIc0r8KEJPFg>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 2 Aug 2022 13:39:31 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
Cc: Julien Grall <julien@xen.org>,
	Michal =?utf-8?B?UHLDrXZvem7DrWs=?= <mprivozn@redhat.com>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xenproject.org, libvir-list@redhat.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
Message-ID: <YukM85j+Q+w0YLCu@mail-itl>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
 <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
 <Yueeh9w1EiY2sNEK@redhat.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="amSIcO9h4A3vNWt5"
Content-Disposition: inline
In-Reply-To: <Yueeh9w1EiY2sNEK@redhat.com>


--amSIcO9h4A3vNWt5
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 2 Aug 2022 13:39:31 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
Cc: Julien Grall <julien@xen.org>,
	Michal =?utf-8?B?UHLDrXZvem7DrWs=?= <mprivozn@redhat.com>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xenproject.org, libvir-list@redhat.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type

On Mon, Aug 01, 2022 at 10:36:07AM +0100, Daniel P. Berrang=C3=A9 wrote:
> Generally we want to see errors triggered from new enums arriving,
> as it can be a sign that libvirt code needs a semantic change in
> order to continue operating correctly.  It isn't always correct
> to assume that the 'default' case gives the correct behaviour.

Isn't that the exact purpose of 'default' label? If use of 'default'
means "any of the other 5 specific values, but lets save some characters
to not name them explicitly", then IMHO better to name them
explicitly...

I can see a value of -Werror=3Dswitch-enum when adding new (internal) enum
value, to find all the cases where code needs to be adjusted, but even
then a grep is probably sufficient enough. On the other hand, if there
are cases where indeed all the values of (internal API) enum needs to be
handled explicitly, maybe simply omit 'default' label and use
-Werror=3Dswitch?

Anyway, if tracking all the enums values of all the used 3rd-party APIs
is desirable (like, noticing when libxl adds new disk type), then it
probably should be a separate CI job, not the default devel build.
Otherwise breakages like this will happen from time to time, and will
be annoyed for people on involved in specific code part at all.

As a short term fix, maybe Xen's CI can build libvirt with
-Wno-error=3Dswitch-enum?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--amSIcO9h4A3vNWt5
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLpDPIACgkQ24/THMrX
1ywoQwf/e7IEk2U+3R7CZUtfnwVyv/QTfT2IKwqkJfSi6U9WrODSXKms9L89pPkN
yR+O9i6J0kacfT/VTrqYr91xF/8NC4cdiidlt2cCrr3Nu1HyAuO32zGBxU9YeUz9
WkU2R02B2A0lhREUjpfPpUMXhHiRXL8r8jOob+mIpE/yp+YX4TfapkG05o04e2i4
7VKDFOZD+XogFxzio2C4TmIpZlPpjSDZXsSO3fhGux9jj7LKyX+Y/z289wEfbUw+
XO/gWFokSzzVNV1p5FYW/nkGuaF7/95jnjdeDXsRKIJQRPmhXx0/P4uK9ZhUFFiK
jfPVr01LhDvXGIP9xiHdvKHWCUWBRg==
=BUwU
-----END PGP SIGNATURE-----

--amSIcO9h4A3vNWt5--


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 11:46:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 11:46:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379271.612583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIqLy-0005sA-Bo; Tue, 02 Aug 2022 11:46:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379271.612583; Tue, 02 Aug 2022 11:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIqLy-0005s3-8t; Tue, 02 Aug 2022 11:46:26 +0000
Received: by outflank-mailman (input) for mailman id 379271;
 Tue, 02 Aug 2022 11:46:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIqLw-0005rt-7g; Tue, 02 Aug 2022 11:46:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIqLw-0004lH-27; Tue, 02 Aug 2022 11:46:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIqLv-0006L0-H8; Tue, 02 Aug 2022 11:46:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIqLv-0002HT-Gg; Tue, 02 Aug 2022 11:46:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6qpD6adzeZeC/MG+P17mw6w3zpHrJ3QVpy1gPfdgAfE=; b=At6KQXTAuTYXtEe+J4gKAkuW4I
	BkkE897YQlWZbn8e3sHffBCCpLupOEzl5x+KDwWh/KCx3oEzqYISOVL7a8d8iDKo2FALIEKb6+UAh
	9/Iz7pOxs7hVCn2pHV7KaUEkBlblnbyHspqISGQBfEckIqKIpt2GasqJevK2pX8rc04Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172080-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172080: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4d96a4fe2ac08cc93f2e7eca56120792363cb950
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 11:46:23 +0000

flight 172080 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172080/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4d96a4fe2ac08cc93f2e7eca56120792363cb950
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   171884  2022-07-27 12:03:31 Z    5 days
Failing since        171899  2022-07-28 19:01:47 Z    4 days   31 attempts
Testing same since   172075  2022-08-02 03:02:01 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 468 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 11:59:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 11:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379278.612594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIqY5-0007RI-Fm; Tue, 02 Aug 2022 11:58:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379278.612594; Tue, 02 Aug 2022 11:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIqY5-0007RB-CO; Tue, 02 Aug 2022 11:58:57 +0000
Received: by outflank-mailman (input) for mailman id 379278;
 Tue, 02 Aug 2022 11:58:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ix6t=YG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIqY4-0007R5-2W
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 11:58:56 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80041.outbound.protection.outlook.com [40.107.8.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b4c898f-125a-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 13:58:54 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB5707.eurprd04.prod.outlook.com (2603:10a6:10:a4::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 2 Aug
 2022 11:58:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 11:58:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b4c898f-125a-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Erdpbjagjm7TVtT8Lk2R5W/usd/9ghGFtyDJSlrFIrNkoH5yO7fxoK6z5sKdYMLdrdMQeMYqxd6j5sGIORY7tHNZIbGm5WxmDf+mBciv3kz+6jRHTxkch+4tITl24fbgX3+dH17aPfA7HyeYm+NND9DsLpASkDwZn5yScyV0MHVHIYp1BnyPVNDYPiFET8MtvuD3NM9zbU521es5cAs9nFC6UUNsfUZ19tvyw9gn8ATf4nxb9+kybPbztRPStvShBPsf26bvSPehpLir1VpFbISZoAmTm1eZeiUZP0SM629VNdbywFLcg8BnVWQZiDzFlypiEqfTt644GCfqRBNPrw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ykHvslcbLjhvOfik3wfqAtqR9v6yDseQUZNGdFn02SE=;
 b=ntsrrzAHICYv3AcQHGaI/dNbTZc9EgqnfJkAfe48wafKwVEFxyZdxhG5r7GkPYJV4lFge28WCTXGHB5J2fNIAF2b424frcjUuLA8cuChov9MjwIZOg6y816ubgNskZP9ldBEoq6eTn92eQSRl5gYIeWnD1LZCjzymrUqSHpr9WAkAdw1pqt46aVT0rEDOHE8TmXL3TYJJPtQcWFZSAA1uQnk3lhmmcoKQUGeQDyinGl1wj4Id461TKJDgy2djANIyjxvBwA+fJ9EJxUPXk32po5cIiNF4AU9P5gmrDXCvz3ZY4GYGRh2hsSmW76UDYVf4MwExpJMD0bAIay+CB9LgQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ykHvslcbLjhvOfik3wfqAtqR9v6yDseQUZNGdFn02SE=;
 b=oM1Dy8ci7m5MUugtFLTONR36F/Ruh0RUIX4Q0lmhxZ1xyAXVwqgMT5APFQTT6iRoNzy//optbkfW5LWQOINopcW/JbkrG08n8AbtUpxAVtdJtoqNR39a1QfS0pa79rFtzFL7lp/AhJ2UZrxMiQZ+p6TRDp2cqMTXX/aHxnxMGXnUMuKpKe0BOQEGsURMGgySTIMV1Yda2aW0GCm7kl03Ji7D/QaUi28VAgiWbD74UoFdHOciJvI9FToFtjIlJJp+U4rPHpy6JVo1UvPTANmptTC1tIfuLl/yLOnofevpONSilO7tObSxrMRtqwVzRGNwtPjSiEWOCSPBhQ+trupidw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7e78d64a-c700-5846-f046-a1b0f2c98ea3@suse.com>
Date: Tue, 2 Aug 2022 13:58:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/char: imx-lpuart: Fix MISRA C 2012 Rule 20.7
 violation
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220802075433.1748035-1-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220802075433.1748035-1-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0042.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4ee7d79c-8046-43c6-9334-08da747e5e67
X-MS-TrafficTypeDiagnostic: DB8PR04MB5707:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s0lQNDEXGJW1M/lK7R3u+qsTxuc3bC4FG0Ohqo9jBB8TrvqdBMjWna/NlI2f/jtXr63Sb6vIOZ792K5YVIwuR/GWkHPz153b7mn3QhQW2Kax5CYUGUgdnaIyUDE+vt0gAbuMaE/fk2G8sqZZovkbI8VtESyY1A5uxwzdHHHAmyV/zplOARDeB93i7MiGJg5YjuyxoIfHd7WIOien6c2dt9QacBW25zF9rzAdBicxge9v1RRWHN2AnyghrIP3QEYtni6xK+t/HoAEnR5jFarGBPKpWMe5eSHBOEsVpAc23GKaWmoJ4wpix9OOMRxaMrAqUrzGPHwTvnVoYeDiUL7uQbvKxHbBEWaqGayYD8SKdfhzWz+UwcETczY2RTUAS3fMspkOKE1HCl2rMTJqxxCozOoaTLd4mZFCnNxoZy/4hWlYaFO2FPYSGp7RdF5Zp6FnitLiVj+cKURgBRa4d7y7MoO2jjl5zePmX0BGEWt3lpliIMvrHvYf/f9cV+ZsRbtTgrxzgLln0X6jpOk3DfnQGwyJjBgPmQhiEtDxp6Z6Z7b2N82+l8VYFt6HQZYnR2fCw+vfWCxD/2cu9asyEQ7Rti5oW1YIgey5uOkaJ003wIwl30uA9BxiPEwa+gTdxP8BM5jXsfsRALM9q1W7H0patjkacl9GqWMNpI+dfVQY3qoLOsKLKCwgT86nJvBRH6rY+TbFxbWE77pJ6tbHqOCZWy8iTGQaGlQTclsl827n7HN1cNZoLzCr3bs82y9S9pbF8p3FQ+0Da5dMlfgICvMWfuPqHo8ZTbjhwwZm522JFMkkilN+YiDyiuqF6GLeEu8tRrg2tQfkUbkL06f+63NDOA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(366004)(396003)(346002)(136003)(36756003)(8676002)(4326008)(6486002)(4744005)(6512007)(8936002)(38100700002)(6916009)(54906003)(31686004)(186003)(5660300002)(53546011)(66556008)(66476007)(6506007)(66946007)(478600001)(31696002)(41300700001)(86362001)(316002)(2906002)(2616005)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bE12aCtSY0U1NHhXbG9Ja3dpS3BsVUdYRE9KYTFmUjJFZTE4NFZDVFVGZnhQ?=
 =?utf-8?B?SVZqWjVJeEJnKzE3cFFaN21ZWEVPelNOeXNWZ040S3pKOHMySGg1eUdCZXo0?=
 =?utf-8?B?V2t1VkcvL1BwWmphZmFrbEkyR2FCcGxIcnZ6VGJZZDFpN1UxbnlxYm9tVkd2?=
 =?utf-8?B?UW9vUFE0NitTbmpyVk5RZkVpRmZTRFgzbW5KaisvOFBqR2t5Mkt2YkJXVE45?=
 =?utf-8?B?ckdMMmp2ckR0SldIbzlTU3BTN1RYTXRIVWJFQVNwS3QwYklBN05EcjVHTlRI?=
 =?utf-8?B?QnNteW1LRFdIUTNoTnJYR2xqemxjeGg4WnVXdlRyY3JLUWU0ZlUvdDVPSVpL?=
 =?utf-8?B?Nm1xb2lTQmNqS3BuMHVIQzVhWjQ1TGV6ZUdLRlVMblNuYkxnNEhZZzZLZzFW?=
 =?utf-8?B?a010U2lpUkMvcUxzcXo1dStlWi9zQTRPQWQySlRDZitaaWJ1OTFxdmxVVUNu?=
 =?utf-8?B?TDNSQjJudnJHMnhWaHBqRUgwYWZQTDZGV004Q1MxM0M4TlFjT1BtY2NIZU9D?=
 =?utf-8?B?YXRzbFIxQU1ZWWF3dzN5eVNmRGVJQ2ZnRXYzYVMrcEsyQmdUbXQ0TGIzVnd5?=
 =?utf-8?B?RHNKNGVtbGs3Q1l0dFhrUzJDV0pCYWRmS3VreCttMjlxalk3Y2JNVERTbW1F?=
 =?utf-8?B?Ny9lTHhnWGkwM21KeGpIeFBsWjRtbGphK0h2eFpPQU9mcjFNcFcwdmNSRkI5?=
 =?utf-8?B?bVZqZ1VkZnovYVl0K1JtbDVNMXkzUnNjWDFLa2N6UmdhSnVicnRzMU9FUk5h?=
 =?utf-8?B?QUpneGlybk8vblR5VUlXcFJ6RG0zUjJ5Lzlnc2ROY21Qa296eW8vc2hOUFZY?=
 =?utf-8?B?VHhDdHdmd0M2dEdkT3B0YWErY0EwWUlGc1VQSWUwazVSSWliZUZDUmdpOXRU?=
 =?utf-8?B?YUZwNWN0L3VXSGJUYkQ2UDVRdXg1TitSajFuckpLUk9MZ1doZlZpeFRqQkM1?=
 =?utf-8?B?WmN1U3QvMldDdUFjSTlrNW51d09aMVlZaE13Zk9Nc2M4Y3ZHOGhqR01PMy9P?=
 =?utf-8?B?ZDV1WUV2UXhmOFRNMnlNUHNOZFBMM2E3N1A0NUMxSy80YS9RUUpuc0p4NWp6?=
 =?utf-8?B?eW5JVU5JSkhRNDhUSVEyY3NjdUY4bFBETHVqY2ttNExWOURzMkgrdy93a0JE?=
 =?utf-8?B?a0JRUDl5QWkyMS9RTnE4MFdUY2lBUVM2VUtpdlU0MmpPai9WNDlwNC9lcnpU?=
 =?utf-8?B?RDdVMTErS2hmQ1l6dVkxc1d3SUZmdVp1QnVpcS9QY1BDVXg2SFkyV3d0R0FE?=
 =?utf-8?B?UExyQVVMRENhNGdicmltbTlwcEZMOWE5S3pZakE0OWhjSDZJZzJkcW9FZjRQ?=
 =?utf-8?B?amtFcStPV0tkeVlkYVk5YmZUSGJwektydGs0aVlaMytBajA0SGU2NFpMN2pV?=
 =?utf-8?B?Qm1VQ2k2ZHZUbVBaTDV6b0lZMDMya1pmWm1VelVDbktwbmF6QlN6b0ViWC9w?=
 =?utf-8?B?LzNQZ0hBd0RyN0RJalQvK3MwdC9wT2VlNm5kUXd1MDRmMlREdmI0Sk9kdkEz?=
 =?utf-8?B?L1BhbURib1BDemhGL0l4Z3A4bS9TWklTLzJUZUlqelMyWEpjQndLQzNQTnd1?=
 =?utf-8?B?WjZzME1QVy9YNWpSU1J5SENuTFJkNnp4U0FUQU0wTzJpYUdlUEgweElsNkpK?=
 =?utf-8?B?Um9vS1NhTklhZmo1dGVLeVY3b0lXWThid2JOdkVEcnFERXlvK0lHd3hoMGxN?=
 =?utf-8?B?RHl4VU5zdGhFd2NFdUd6NFZzYzU0SW9GbGIxOFBEV2tzWnlTbmUrNDVlK1FT?=
 =?utf-8?B?WjZLSmg1Vjl1bkxkTCtzT0c1MHg1YUhOaUhZRi8zLzFaTkxCMExKdDU3ZFFM?=
 =?utf-8?B?QmhWRVZ5TFdiMCt6YXhDK2Zxc3hXTmFabHFycCtyUVV6UW15ZUZTeW5EZy8r?=
 =?utf-8?B?NS9yUHh4QmRCekVZc1UzTTlxRkxVaVlSNVZ3aTk1YmNZUTNQSzlCUmtWbEVZ?=
 =?utf-8?B?WUxnMkRPaGNZWlFKMVpsaW1MNTJUNm9LcDZwNEdqSUVZdWNqV0JXR2pFcEl3?=
 =?utf-8?B?d2xhNXd3SWQwSUFmeXlWNTM2UCt3c0xzRVgzaHFETDBhU29GK3B1TVVKSU9N?=
 =?utf-8?B?b1RKUXJnR3BtcGt2UEhNMlNDYkc5N2czLzNWNTdIVWN2eEFFNVYraFZpd2sr?=
 =?utf-8?Q?F4ustPheHJuAoZxQvkps0Z7HF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ee7d79c-8046-43c6-9334-08da747e5e67
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2022 11:58:52.6456
 (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: Nxd00ylPDCB0nptd1tzotFSpqnHY5dyNpF9WZsicvH0kpkIuDyXi9DuP7Spdo/96xdFI1+QbTmirMeBskmYkAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5707

On 02.08.2022 09:54, Xenia Ragiadakou wrote:
> --- a/xen/drivers/char/imx-lpuart.c
> +++ b/xen/drivers/char/imx-lpuart.c
> @@ -26,8 +26,8 @@
>  #include <asm/imx-lpuart.h>
>  #include <asm/io.h>
>  
> -#define imx_lpuart_read(uart, off)       readl((uart)->regs + off)
> -#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + off)
> +#define imx_lpuart_read(uart, off)       readl((uart)->regs + (off))
> +#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + (off))

As elsewhere before I think at the same time you want to drop the
parentheses from the single use of "val".

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 12:28:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 12:28:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379285.612605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIqzz-0002S9-Tk; Tue, 02 Aug 2022 12:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379285.612605; Tue, 02 Aug 2022 12:27:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIqzz-0002S2-Qt; Tue, 02 Aug 2022 12:27:47 +0000
Received: by outflank-mailman (input) for mailman id 379285;
 Tue, 02 Aug 2022 12:27:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k1IV=YG=chiark.greenend.org.uk=ijackson@srs-se1.protection.inumbo.net>)
 id 1oIqzz-0002Rw-0f
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 12:27:47 +0000
Received: from chiark.greenend.org.uk (v6.chiark.greenend.org.uk
 [2001:ba8:1e3::]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8269d1a5-125e-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 14:27:44 +0200 (CEST)
Received: by chiark.greenend.org.uk (Debian Exim 4.94.2 #2) with local
 (return-path ijackson@chiark.greenend.org.uk)
 id 1oIqzv-0007fT-5d; Tue, 02 Aug 2022 13:27:43 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8269d1a5-125e-11ed-924f-1f966e50362f
From: Ian Jackson <ijackson@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <25321.6183.866850.867719@chiark.greenend.org.uk>
Date: Tue, 2 Aug 2022 13:27:19 +0100
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: <xen-devel@lists.xenproject.org>,
    Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [OSSTEST PATCH 1/2] TestSupport: Add support for installing from backport repo
In-Reply-To: <20220802102602.131992-2-anthony.perard@citrix.com>
References: <20220802102602.131992-1-anthony.perard@citrix.com>
	<20220802102602.131992-2-anthony.perard@citrix.com>
X-Mailer: VM 8.2.0b under 27.1 (x86_64-pc-linux-gnu)

Anthony PERARD writes ("[OSSTEST PATCH 1/2] TestSupport: Add support for installing from backport repo"):
> We are going to need to install package from the debian backport
> repository in order to do a build.

LGTM.  I was kind of surprised we didn't have this already, but now I
come to think of it, I think that was only for kernels ?  (I haven't
UTSL to check.)

> +sub target_install_packages_backport ($@) {
> +    my ($ho, @packages) = @_;
> +    my $had_backport_repo = 0;
> +    target_editfile_root($ho, '/etc/apt/sources.list', sub {
> +        my $suite = $ho->{Suite};
> +        my $bp_url = Osstest::Debian::debian_mirror_url($ho);
> +        while (<::EI>) {
> +            if (m/^# $suite backports/) {
> +                $had_backport_repo = 1;
> +            }
> +            print ::EO;
> +        }
> +        print ::EO <<EOF unless $had_backport_repo;
> +
> +# $suite backports
> +deb $bp_url $suite-backports main
> +EOF
> +        });

Nit: this last line looks misindented to me.

Regardless,

Acked-by: Ian Jackson <ijackson@chiark.greenend.org.uk>

Thanks,
Ian.

-- 
Ian Jackson <ijackson@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 12:30:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 12:30:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379291.612616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIr2N-0003nV-Ab; Tue, 02 Aug 2022 12:30:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379291.612616; Tue, 02 Aug 2022 12:30:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIr2N-0003nO-7T; Tue, 02 Aug 2022 12:30:15 +0000
Received: by outflank-mailman (input) for mailman id 379291;
 Tue, 02 Aug 2022 12:30:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k1IV=YG=chiark.greenend.org.uk=ijackson@srs-se1.protection.inumbo.net>)
 id 1oIr2M-0003nI-AB
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 12:30:14 +0000
Received: from chiark.greenend.org.uk (v6.chiark.greenend.org.uk
 [2001:ba8:1e3::]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db43a15d-125e-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 14:30:13 +0200 (CEST)
Received: by chiark.greenend.org.uk (Debian Exim 4.94.2 #2) with local
 (return-path ijackson@chiark.greenend.org.uk)
 id 1oIr2K-0007re-Um; Tue, 02 Aug 2022 13:30:13 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db43a15d-125e-11ed-924f-1f966e50362f
From: Ian Jackson <ijackson@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <25321.6356.813826.629186@chiark.greenend.org.uk>
Date: Tue, 2 Aug 2022 13:30:12 +0100
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: <xen-devel@lists.xenproject.org>,
    Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [OSSTEST PATCH 2/2] ts-libvirt-build: Rework to build with meson
In-Reply-To: <20220802102602.131992-3-anthony.perard@citrix.com>
References: <20220802102602.131992-1-anthony.perard@citrix.com>
	<20220802102602.131992-3-anthony.perard@citrix.com>
X-Mailer: VM 8.2.0b under 27.1 (x86_64-pc-linux-gnu)

Anthony PERARD writes ("[OSSTEST PATCH 2/2] ts-libvirt-build: Rework to build with meson"):
> libvirt have switch build system to Meson + Ninja, there is no more
> autogen.sh script.
> 
> Add missing dependency "libtirpc-dev" and "meson".
> 
> libvirt needs at least meson 0.54, the version avaiable in Debian
> Buster is too old, but we can install it from backports.

How annoying.

> In order to find out if Meson is used or not, we'll check if the
> "autogen.sh" script is missing. And in the build dir, we will look for
> a "Makefile".

That seems right to me.

>                        build-essential bin86 bcc iasl bc
> -                      flex bison cmake ninja-build
> +                      flex bison cmake ninja-build meson

*Some* version of meson is in even stretch so this is fine.

Acked-by: Ian Jackson <ijackson@chiark.greenend.org.uk>

-- 
Ian Jackson <ijackson@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 12:40:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 12:40:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379297.612626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrCC-0005Ka-7c; Tue, 02 Aug 2022 12:40:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379297.612626; Tue, 02 Aug 2022 12:40:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrCC-0005KT-4f; Tue, 02 Aug 2022 12:40:24 +0000
Received: by outflank-mailman (input) for mailman id 379297;
 Tue, 02 Aug 2022 12:40:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Dd5r=YG=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oIrCA-0005KN-7B
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 12:40:22 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 45818ab2-1260-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 14:40:21 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id j15so9661117wrr.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Aug 2022 05:40:21 -0700 (PDT)
Received: from ?IPV6:2a02:587:ac1d:6c00:6613:8422:cc8a:dbae?
 ([2a02:587:ac1d:6c00:6613:8422:cc8a:dbae])
 by smtp.gmail.com with ESMTPSA id
 h23-20020a05600c145700b003a35ec4bf4fsm18731048wmi.20.2022.08.02.05.40.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Aug 2022 05:40:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45818ab2-1260-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=TGIsEWb6MTvgxvH/NdeK+Er6OfyqdxfebsAbGX5twdE=;
        b=W1sf+N9iTFKHWveVRp8+n66s69/aMzoG+jc3skLdP3/Ymh+YQtuQrR+4wUZeY8SKEW
         QckwsrhZi6mqZFH+JbXIms6Wah/2qGXcUNF03G/HB/IS/j247XFPTu15bHaoT2Rf6SFK
         xswXycF+zIBGaSRy3sRXbPuNZMPRrFcYD5RzQVzsa9XDoT2A1XW9/08gDB4dTYBp/9ME
         Aza/XzqavaO4fGPdiMOpRBzzDgsVbR/8Zj7irPQe/JE8yQjtU+uSmpDsjVAY9Pxi8yyP
         b8o5BYFT9fmJfCZNgC/rjrg4bu0LsNg8ciuNXruilLPF2m60AM/uCjTLAHCj7STw1AUR
         iXJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=TGIsEWb6MTvgxvH/NdeK+Er6OfyqdxfebsAbGX5twdE=;
        b=1sbR7DEkm7EovdQj9my6mqh6gAyS5dhT5cKBqy0g/NXN79pN4UcyMt9p+8ItY8A9Q1
         +mTQs2T9OPJvT3Gi5g6GktjnzKYbWVDO3Hqmc6VINTR8UJghiWEetlCa+mqItOSamxgM
         nQ3AjicUXB5OGTTlLaMc8fDsE58D7aUb7tbhYh4b13t+ker3oF2lmeKEUik4bRM4wU4f
         ZfMYqMs0aKj9QZJC1tQeHeHDA3svd6N36k+U3u9Lu73Y9XRkJc9tW7RNS6r4XbsJWIaH
         wZM73ZO3iI92CjGqfFadosx5ikOQRD73Dff9ad3ixQ916OitpB1BaXe+1e5e+5C3aycp
         ElMQ==
X-Gm-Message-State: ACgBeo1w4Uh0VlNDkwGNx2UWobrKvzQ3L5lhYP7aHZKartOiloov16+q
	k4vRp5/9cgJ7gA0Ie5tOhVs=
X-Google-Smtp-Source: AA6agR5TY7535b8YiaepMMNgcHh6v1pesKF3eOp7AW5jdouoEp35Jm8XEFRNdbZRvRQ9kpKpMBNR7g==
X-Received: by 2002:a05:6000:15c8:b0:220:6362:e578 with SMTP id y8-20020a05600015c800b002206362e578mr5699236wry.68.1659444020688;
        Tue, 02 Aug 2022 05:40:20 -0700 (PDT)
Message-ID: <3b0fd31a-c847-f5ff-2365-5fca5becb051@gmail.com>
Date: Tue, 2 Aug 2022 15:40:18 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/char: imx-lpuart: Fix MISRA C 2012 Rule 20.7
 violation
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220802075433.1748035-1-burzalodowa@gmail.com>
 <7e78d64a-c700-5846-f046-a1b0f2c98ea3@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <7e78d64a-c700-5846-f046-a1b0f2c98ea3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 8/2/22 14:58, Jan Beulich wrote:
> On 02.08.2022 09:54, Xenia Ragiadakou wrote:
>> --- a/xen/drivers/char/imx-lpuart.c
>> +++ b/xen/drivers/char/imx-lpuart.c
>> @@ -26,8 +26,8 @@
>>   #include <asm/imx-lpuart.h>
>>   #include <asm/io.h>
>>   
>> -#define imx_lpuart_read(uart, off)       readl((uart)->regs + off)
>> -#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + off)
>> +#define imx_lpuart_read(uart, off)       readl((uart)->regs + (off))
>> +#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + (off))
> 
> As elsewhere before I think at the same time you want to drop the
> parentheses from the single use of "val".
> 

In general I do not want to include irrelevant changes in my patches.
Also, here, I do not want to drop the parentheses from val because the 
removal of the parentheses
- consists a violation of the rule 20.7
- would allow the following to compile
#define VAL x, y, z);(
imx_lpuart_write(uart, off, VAL)
- is not justifiable (i.e does not fix a bug, does not result in more 
readable code etc)

I understand that the rest of the community does not agree with adding 
parentheses around macro parameters used as function arguments and as 
the right-side operand of the assignment operator, but I consider them 
useful and I do not want to remove them myself. Maybe somebody else from 
the community could do that.

Also, these exceptions would be good to be mentioned in the rules.rst. 
So, that other contributors do not try to fix relevant warnings.

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:21:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:21:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379304.612637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrpN-0001F0-8G; Tue, 02 Aug 2022 13:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379304.612637; Tue, 02 Aug 2022 13:20:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrpN-0001Et-5Z; Tue, 02 Aug 2022 13:20:53 +0000
Received: by outflank-mailman (input) for mailman id 379304;
 Tue, 02 Aug 2022 13:20:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gPpP=YG=citrix.com=prvs=206784369=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oIrpM-0001En-Mj
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:20:52 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec4401d6-1265-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 15:20:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec4401d6-1265-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659446450;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=gsqV/QACjx0v25R8gJdUnAjBJQ0Vt5rADqB7xDJ3Obs=;
  b=FFSU+8gUpOo3pUTy3bIT+1A1QKXd+3u8HuuAquUv+AGkc7mCEwR8ILmh
   2S+EZ4PYnHb/X4gINT4kkPqPVVb1MVBA5drYBafAun3L+vpvmDM3cGmHV
   uNpK73IpqT3eaQoZUZ1chxfJKTnL+sLDl+YltSgB2tHC/6DXNA4TR/Iip
   c=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: None
X-MesageID: 79733339
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:OZYWoq0+w7V+bPRl3fbD5RVxkn2cJEfYwER7XKvMYLTBsI5bp2dVn
 GAXXDrVPfmOazP9KNp2Pomy9UlX7ZOBx9U3SFFlpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Ek355wehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj68tjPW9pbdVfxtR+PW51x
 /o8LhQBVinW0opawJrjIgVtrsEqLc2tN4IDoHBwizreCJ7KQ7iaHf+Mv4UBmm5t2IYeRp4yZ
 OJAAdZrRB3Gfx1IPEZREJ8klf2krnL+bydZuBSeoq9fD237k10ui+O2a4u9ltqiSMgJsmWg+
 EX/3kvlKAEkLYOG5SC52yf57gPItXyiA99DfFGizdZugVeNx3ZWDBwNSXOhrPW5g1L4UNVaQ
 2QT/icttqE0+FacUsjmXxa4rXiHuTYRQ9NVVeY97Wmlwa3R5geFGmUeVRZRZdo+rsg0SDc2k
 FiTkLvBFTFp9bGYV3+Z3rOVti+pfzgYK3cYYi0JRhdD5MPsyKkxkxbOQ9BLAKOzyNrvFlnYx
 iiQrTY5lbM7l8MH16ynu1vAhlqEoZzETRUp9x7Xdm2g5wJ9IoWiYuSVBUPztKgaatzDFx/Y4
 SZCy5P2AP0y4Y+lqiG8brpdRPaV1f+5Pwbuh3ppO5UZzmH4k5K8Rry88A2SNW8wbJtVJWe0O
 RKJ0e9CzMQNZSX3NMebd6r0Up13lva4SLwJQ9iONrJzjo5NmBhrFc2ETWqZxCjTnUclisnT0
 r/LIJ/3XR725UmKpQdaptvxMpdxn0jSPUuJGfjGI+2PiNJzpBe9EN/pymemYOEj97+jqw7I6
 dtZPMbi40wBDbylPXiPqNVCfAliwZ0H6Xfe8pU/SwJ+ClA+RDFJ5wH5m9vNhLCJb4wKz7yVr
 xlRq2dTyUblhG2vFDhnqxlLNtvSYHqIhStrYHZ9Ygn3hyZLjETGxP53SqbbtIIPrIRLpcOYh
 dFcEylcKpyjkgj6xgk=
IronPort-HdrOrdr: A9a23:t3OKw6E/MMVCQaCppLqE0MeALOsnbusQ8zAXP0AYc31om+ij5q
 eTdZMgpHnJYVcqKRUdcL+7VJVoLUmyyXcx2/hpAV7AZniChILLFvAA0WKK+VSJcEeSygce79
 YDT0EXMqyJMbEQt6bHCWeDfeod/A==
X-IronPort-AV: E=Sophos;i="5.93,211,1654574400"; 
   d="scan'208";a="79733339"
Date: Tue, 2 Aug 2022 14:20:40 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
CC: Michal =?iso-8859-1?B?UHLtdm96bu1r?= <mprivozn@redhat.com>, "Oleksandr
 Tyshchenko" <olekstysh@gmail.com>, <xen-devel@lists.xenproject.org>,
	<libvir-list@redhat.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, "committers@xenproject.org"
	<committers@xenproject.org>
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
Message-ID: <YukkqFxKAIPxVe7l@perard.uk.xensource.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
 <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
 <8947085c-bcc4-e599-0636-3a7f1f7b9ac6@redhat.com>
 <793186ea-11de-7ce6-9866-7d4c1336ca02@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <793186ea-11de-7ce6-9866-7d4c1336ca02@xen.org>

On Mon, Aug 01, 2022 at 06:04:38PM +0100, Julien Grall wrote:
> On 01/08/2022 11:08, Michal Prívozník wrote:
> > BTW: every other package that does switch() over libxl_disk_backend enum
> > will need this fix.
> 
> Indeed. From my understanding, there is an expectation that tools built on
> top of libxl may need some update to work on the latest Xen. I will let
> Anthony (one of the tools maintainers to confirm).

Actually, if an application defines LIBXL_API_VERSION, like libvirt
does, we expect the application to still build against the latest
version of libxl. But I don't think that should prevent us from adding
new enum values.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:27:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:27:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379310.612650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrw9-0001vp-19; Tue, 02 Aug 2022 13:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379310.612650; Tue, 02 Aug 2022 13:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrw8-0001vi-ST; Tue, 02 Aug 2022 13:27:52 +0000
Received: by outflank-mailman (input) for mailman id 379310;
 Tue, 02 Aug 2022 13:27:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NPAu=YG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oIrw7-0001vX-LG
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:27:51 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e7964cae-1266-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 15:27:50 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DF0691FECD;
 Tue,  2 Aug 2022 13:27:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B3B2F1345B;
 Tue,  2 Aug 2022 13:27:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2JSGKlUm6WLWWQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 02 Aug 2022 13:27:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7964cae-1266-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659446869; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=r055KlFFG7wgfZTYdhnXl5L+qkf5yrkGetDrG95QZRU=;
	b=D9Nk4HC7bTVYz3Rki3dxqiER5QExFkNZOTkSQnHBogzwviGA26NwXBWapTUVEKWxGFvqq3
	49Hmb+mjkIkdphYJgsoqhhd3PiMLosqdCjKYwCrhpYiyzFCmnU1HpNhscIzaJrceClAU7b
	L45vuWnyGN4XjN4cv4kIdbm2HOpgHpQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [PATCH 2/3] xen/sched: carve out memory allocation and freeing from schedule_cpu_rm()
Date: Tue,  2 Aug 2022 15:27:46 +0200
Message-Id: <20220802132747.22507-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220802132747.22507-1-jgross@suse.com>
References: <20220802132747.22507-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to prepare not allocating or freeing memory from
schedule_cpu_rm(), move this functionality to dedicated functions.

For now call those functions from schedule_cpu_rm().

No change of behavior expected.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/core.c    | 133 +++++++++++++++++++++----------------
 xen/common/sched/private.h |   8 +++
 2 files changed, 85 insertions(+), 56 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index c8d1034d3d..d6ff4f4921 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -3190,6 +3190,66 @@ out:
     return ret;
 }
 
+static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
+{
+    struct cpu_rm_data *data;
+    struct sched_resource *sr;
+    int idx;
+
+    rcu_read_lock(&sched_res_rculock);
+
+    sr = get_sched_res(cpu);
+    data = xzalloc_flex_struct(struct cpu_rm_data, sr, sr->granularity - 1);
+    if ( !data )
+        goto out;
+
+    data->old_ops = sr->scheduler;
+    data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
+    data->ppriv_old = sr->sched_priv;
+
+    for ( idx = 0; idx < sr->granularity - 1; idx++ )
+    {
+        data->sr[idx] = sched_alloc_res();
+        if ( data->sr[idx] )
+        {
+            data->sr[idx]->sched_unit_idle = sched_alloc_unit_mem();
+            if ( !data->sr[idx]->sched_unit_idle )
+            {
+                sched_res_free(&data->sr[idx]->rcu);
+                data->sr[idx] = NULL;
+            }
+        }
+        if ( !data->sr[idx] )
+        {
+            for ( idx--; idx >= 0; idx-- )
+                sched_res_free(&data->sr[idx]->rcu);
+            xfree(data);
+            data = NULL;
+            goto out;
+        }
+
+        data->sr[idx]->curr = data->sr[idx]->sched_unit_idle;
+        data->sr[idx]->scheduler = &sched_idle_ops;
+        data->sr[idx]->granularity = 1;
+
+        /* We want the lock not to change when replacing the resource. */
+        data->sr[idx]->schedule_lock = sr->schedule_lock;
+    }
+
+ out:
+    rcu_read_unlock(&sched_res_rculock);
+
+    return data;
+}
+
+static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
+{
+    sched_free_udata(mem->old_ops, mem->vpriv_old);
+    sched_free_pdata(mem->old_ops, mem->ppriv_old, cpu);
+
+    xfree(mem);
+}
+
 /*
  * Remove a pCPU from its cpupool. Its scheduler becomes &sched_idle_ops
  * (the idle scheduler).
@@ -3198,53 +3258,22 @@ out:
  */
 int schedule_cpu_rm(unsigned int cpu)
 {
-    void *ppriv_old, *vpriv_old;
-    struct sched_resource *sr, **sr_new = NULL;
+    struct sched_resource *sr;
+    struct cpu_rm_data *data;
     struct sched_unit *unit;
-    struct scheduler *old_ops;
     spinlock_t *old_lock;
     unsigned long flags;
-    int idx, ret = -ENOMEM;
+    int idx = 0;
     unsigned int cpu_iter;
 
+    data = schedule_cpu_rm_alloc(cpu);
+    if ( !data )
+        return -ENOMEM;
+
     rcu_read_lock(&sched_res_rculock);
 
     sr = get_sched_res(cpu);
-    old_ops = sr->scheduler;
 
-    if ( sr->granularity > 1 )
-    {
-        sr_new = xmalloc_array(struct sched_resource *, sr->granularity - 1);
-        if ( !sr_new )
-            goto out;
-        for ( idx = 0; idx < sr->granularity - 1; idx++ )
-        {
-            sr_new[idx] = sched_alloc_res();
-            if ( sr_new[idx] )
-            {
-                sr_new[idx]->sched_unit_idle = sched_alloc_unit_mem();
-                if ( !sr_new[idx]->sched_unit_idle )
-                {
-                    sched_res_free(&sr_new[idx]->rcu);
-                    sr_new[idx] = NULL;
-                }
-            }
-            if ( !sr_new[idx] )
-            {
-                for ( idx--; idx >= 0; idx-- )
-                    sched_res_free(&sr_new[idx]->rcu);
-                goto out;
-            }
-            sr_new[idx]->curr = sr_new[idx]->sched_unit_idle;
-            sr_new[idx]->scheduler = &sched_idle_ops;
-            sr_new[idx]->granularity = 1;
-
-            /* We want the lock not to change when replacing the resource. */
-            sr_new[idx]->schedule_lock = sr->schedule_lock;
-        }
-    }
-
-    ret = 0;
     ASSERT(sr->cpupool != NULL);
     ASSERT(cpumask_test_cpu(cpu, &cpupool_free_cpus));
     ASSERT(!cpumask_test_cpu(cpu, sr->cpupool->cpu_valid));
@@ -3252,10 +3281,6 @@ int schedule_cpu_rm(unsigned int cpu)
     /* See comment in schedule_cpu_add() regarding lock switching. */
     old_lock = pcpu_schedule_lock_irqsave(cpu, &flags);
 
-    vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
-    ppriv_old = sr->sched_priv;
-
-    idx = 0;
     for_each_cpu ( cpu_iter, sr->cpus )
     {
         per_cpu(sched_res_idx, cpu_iter) = 0;
@@ -3269,27 +3294,27 @@ int schedule_cpu_rm(unsigned int cpu)
         else
         {
             /* Initialize unit. */
-            unit = sr_new[idx]->sched_unit_idle;
-            unit->res = sr_new[idx];
+            unit = data->sr[idx]->sched_unit_idle;
+            unit->res = data->sr[idx];
             unit->is_running = true;
             sched_unit_add_vcpu(unit, idle_vcpu[cpu_iter]);
             sched_domain_insert_unit(unit, idle_vcpu[cpu_iter]->domain);
 
             /* Adjust cpu masks of resources (old and new). */
             cpumask_clear_cpu(cpu_iter, sr->cpus);
-            cpumask_set_cpu(cpu_iter, sr_new[idx]->cpus);
+            cpumask_set_cpu(cpu_iter, data->sr[idx]->cpus);
             cpumask_set_cpu(cpu_iter, &sched_res_mask);
 
             /* Init timer. */
-            init_timer(&sr_new[idx]->s_timer, s_timer_fn, NULL, cpu_iter);
+            init_timer(&data->sr[idx]->s_timer, s_timer_fn, NULL, cpu_iter);
 
             /* Last resource initializations and insert resource pointer. */
-            sr_new[idx]->master_cpu = cpu_iter;
-            set_sched_res(cpu_iter, sr_new[idx]);
+            data->sr[idx]->master_cpu = cpu_iter;
+            set_sched_res(cpu_iter, data->sr[idx]);
 
             /* Last action: set the new lock pointer. */
             smp_mb();
-            sr_new[idx]->schedule_lock = &sched_free_cpu_lock;
+            data->sr[idx]->schedule_lock = &sched_free_cpu_lock;
 
             idx++;
         }
@@ -3305,16 +3330,12 @@ int schedule_cpu_rm(unsigned int cpu)
     /* _Not_ pcpu_schedule_unlock(): schedule_lock may have changed! */
     spin_unlock_irqrestore(old_lock, flags);
 
-    sched_deinit_pdata(old_ops, ppriv_old, cpu);
-
-    sched_free_udata(old_ops, vpriv_old);
-    sched_free_pdata(old_ops, ppriv_old, cpu);
+    sched_deinit_pdata(data->old_ops, data->ppriv_old, cpu);
 
-out:
     rcu_read_unlock(&sched_res_rculock);
-    xfree(sr_new);
+    schedule_cpu_rm_free(data, cpu);
 
-    return ret;
+    return 0;
 }
 
 struct scheduler *scheduler_get_default(void)
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index de0cf63ce8..c626ad4907 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -598,6 +598,14 @@ struct affinity_masks {
     cpumask_var_t soft;
 };
 
+/* Memory allocation related data for schedule_cpu_rm(). */
+struct cpu_rm_data {
+    struct scheduler *old_ops;
+    void *ppriv_old;
+    void *vpriv_old;
+    struct sched_resource *sr[];
+};
+
 void domain_update_node_affinity_noalloc(struct domain *d,
                                          const cpumask_t *online,
                                          struct affinity_masks *affinity);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:27:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:27:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379311.612654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrw9-0001zE-8j; Tue, 02 Aug 2022 13:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379311.612654; Tue, 02 Aug 2022 13:27:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrw9-0001y7-3i; Tue, 02 Aug 2022 13:27:53 +0000
Received: by outflank-mailman (input) for mailman id 379311;
 Tue, 02 Aug 2022 13:27:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NPAu=YG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oIrw7-0001vW-Pa
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:27:51 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e76c1724-1266-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 15:27:49 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 7355320488;
 Tue,  2 Aug 2022 13:27:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4BC031345B;
 Tue,  2 Aug 2022 13:27:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9ZcREVUm6WLWWQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 02 Aug 2022 13:27:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e76c1724-1266-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659446869; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=zJQ40xMxOuEwvjn9yp7ihnm9ndksopcSIKUbpJnaJQs=;
	b=NgvjluxAQh0QrvpbCUYQPoAiEyw5j9eQlG9Lb0SHZemABJ1kRJKzWxSR/WCSKg8ziGqJNS
	BOI6t/CED0ZjBeiFFjKk8x8olTrihSHjNjcThr0rX+Ymjm0YQYorFl8E2atqBUjYrVDXEF
	tkomIBBD/fedWsAZ86hzytllMpwY5nU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [PATCH 0/3] xen/sched: fix cpu hotplug
Date: Tue,  2 Aug 2022 15:27:44 +0200
Message-Id: <20220802132747.22507-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A recent change in the hypervisor memory allocation framework led to
crashes when unplugging host cpus.

This was due to the (correct) assertion that allocating and freeing
memory is allowed with enabled interrupts only. As the main cpu unplug
operation is done in stop-machine context, this assertion triggers in
debug builds.

Correct that by pre-allocating all needed memory while interrupts are
still on, and free memory after interrupts are enabled again.

Juergen Gross (3):
  xen/sched: introduce cpupool_update_node_affinity()
  xen/sched: carve out memory allocation and freeing from
    schedule_cpu_rm()
  xen/sched: fix cpu hotplug

 xen/common/sched/core.c    | 198 +++++++++++++++++++++----------------
 xen/common/sched/cpupool.c | 119 +++++++++++++++++-----
 xen/common/sched/private.h |  21 +++-
 3 files changed, 229 insertions(+), 109 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:28:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379319.612671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrwY-0002vL-Lu; Tue, 02 Aug 2022 13:28:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379319.612671; Tue, 02 Aug 2022 13:28:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIrwY-0002vE-HR; Tue, 02 Aug 2022 13:28:18 +0000
Received: by outflank-mailman (input) for mailman id 379319;
 Tue, 02 Aug 2022 13:28:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NPAu=YG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oIrwW-0001vX-Lw
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:28:16 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6de6b48-1266-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 15:28:15 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id AC8E622874;
 Tue,  2 Aug 2022 13:27:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7E0C01345B;
 Tue,  2 Aug 2022 13:27:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mEBLHVUm6WLWWQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 02 Aug 2022 13:27:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6de6b48-1266-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659446869; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=yj8R2JmYTH+KzF/O2iIv9Z3fhDfAQu02NhWeFYfLre8=;
	b=lwLUtaEeuVk+gFRisncvqqkx5444Nn4lM9t61vxL75pUlEkb/cMRlj6SC0kewvhQAWO0Zg
	3boCcpP5Ojl+20YuGlGSNd6X0zHymzv2Q/lcJweet7VR93uKNGeyI6cO0+/3FeaANPIkP4
	jrhv4WXHD1WqKhZyiQxT9IJ0s5QEtC8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [PATCH 1/3] xen/sched: introduce cpupool_update_node_affinity()
Date: Tue,  2 Aug 2022 15:27:45 +0200
Message-Id: <20220802132747.22507-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220802132747.22507-1-jgross@suse.com>
References: <20220802132747.22507-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For updating the node affinities of all domains in a cpupool add a new
function cpupool_update_node_affinity().

In order to avoid multiple allocations of cpumasks split
domain_update_node_affinity() into a wrapper doing the needed
allocations and a work function, which can be called by
cpupool_update_node_affinity(), too.

This will help later to pre-allocate the cpumasks in order to avoid
allocations in stop-machine context.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/core.c    | 61 ++++++++++++++++++++-----------------
 xen/common/sched/cpupool.c | 62 +++++++++++++++++++++++++++-----------
 xen/common/sched/private.h |  8 +++++
 3 files changed, 87 insertions(+), 44 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index f689b55783..c8d1034d3d 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1790,28 +1790,14 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
     return ret;
 }
 
-void domain_update_node_affinity(struct domain *d)
+void domain_update_node_affinity_noalloc(struct domain *d,
+                                         const cpumask_t *online,
+                                         struct affinity_masks *affinity)
 {
-    cpumask_var_t dom_cpumask, dom_cpumask_soft;
     cpumask_t *dom_affinity;
-    const cpumask_t *online;
     struct sched_unit *unit;
     unsigned int cpu;
 
-    /* Do we have vcpus already? If not, no need to update node-affinity. */
-    if ( !d->vcpu || !d->vcpu[0] )
-        return;
-
-    if ( !zalloc_cpumask_var(&dom_cpumask) )
-        return;
-    if ( !zalloc_cpumask_var(&dom_cpumask_soft) )
-    {
-        free_cpumask_var(dom_cpumask);
-        return;
-    }
-
-    online = cpupool_domain_master_cpumask(d);
-
     spin_lock(&d->node_affinity_lock);
 
     /*
@@ -1830,22 +1816,21 @@ void domain_update_node_affinity(struct domain *d)
          */
         for_each_sched_unit ( d, unit )
         {
-            cpumask_or(dom_cpumask, dom_cpumask, unit->cpu_hard_affinity);
-            cpumask_or(dom_cpumask_soft, dom_cpumask_soft,
-                       unit->cpu_soft_affinity);
+            cpumask_or(affinity->hard, affinity->hard, unit->cpu_hard_affinity);
+            cpumask_or(affinity->soft, affinity->soft, unit->cpu_soft_affinity);
         }
         /* Filter out non-online cpus */
-        cpumask_and(dom_cpumask, dom_cpumask, online);
-        ASSERT(!cpumask_empty(dom_cpumask));
+        cpumask_and(affinity->hard, affinity->hard, online);
+        ASSERT(!cpumask_empty(affinity->hard));
         /* And compute the intersection between hard, online and soft */
-        cpumask_and(dom_cpumask_soft, dom_cpumask_soft, dom_cpumask);
+        cpumask_and(affinity->soft, affinity->soft, affinity->hard);
 
         /*
          * If not empty, the intersection of hard, soft and online is the
          * narrowest set we want. If empty, we fall back to hard&online.
          */
-        dom_affinity = cpumask_empty(dom_cpumask_soft) ?
-                           dom_cpumask : dom_cpumask_soft;
+        dom_affinity = cpumask_empty(affinity->soft) ? affinity->hard
+                                                     : affinity->soft;
 
         nodes_clear(d->node_affinity);
         for_each_cpu ( cpu, dom_affinity )
@@ -1853,9 +1838,31 @@ void domain_update_node_affinity(struct domain *d)
     }
 
     spin_unlock(&d->node_affinity_lock);
+}
+
+void domain_update_node_affinity(struct domain *d)
+{
+    struct affinity_masks masks;
+    const cpumask_t *online;
+
+    /* Do we have vcpus already? If not, no need to update node-affinity. */
+    if ( !d->vcpu || !d->vcpu[0] )
+        return;
+
+    if ( !zalloc_cpumask_var(&masks.hard) )
+        return;
+    if ( !zalloc_cpumask_var(&masks.soft) )
+    {
+        free_cpumask_var(masks.hard);
+        return;
+    }
+
+    online = cpupool_domain_master_cpumask(d);
+
+    domain_update_node_affinity_noalloc(d, online, &masks);
 
-    free_cpumask_var(dom_cpumask_soft);
-    free_cpumask_var(dom_cpumask);
+    free_cpumask_var(masks.soft);
+    free_cpumask_var(masks.hard);
 }
 
 typedef long ret_t;
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 2afe54f54d..1463dcd767 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -410,6 +410,48 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
     return ret;
 }
 
+/* Update affinities of all domains in a cpupool. */
+static int cpupool_alloc_affin_masks(struct affinity_masks *masks)
+{
+    if ( !alloc_cpumask_var(&masks->hard) )
+        return -ENOMEM;
+    if ( alloc_cpumask_var(&masks->soft) )
+        return 0;
+
+    free_cpumask_var(masks->hard);
+    return -ENOMEM;
+}
+
+static void cpupool_free_affin_masks(struct affinity_masks *masks)
+{
+    free_cpumask_var(masks->soft);
+    free_cpumask_var(masks->hard);
+}
+
+static void cpupool_update_node_affinity(const struct cpupool *c)
+{
+    const cpumask_t *online = c->res_valid;
+    struct affinity_masks masks;
+    struct domain *d;
+
+    if ( cpupool_alloc_affin_masks(&masks) )
+        return;
+
+    rcu_read_lock(&domlist_read_lock);
+    for_each_domain_in_cpupool(d, c)
+    {
+        if ( d->vcpu && d->vcpu[0] )
+        {
+            cpumask_clear(masks.hard);
+            cpumask_clear(masks.soft);
+            domain_update_node_affinity_noalloc(d, online, &masks);
+        }
+    }
+    rcu_read_unlock(&domlist_read_lock);
+
+    cpupool_free_affin_masks(&masks);
+}
+
 /*
  * assign a specific cpu to a cpupool
  * cpupool_lock must be held
@@ -417,7 +459,6 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
 static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 {
     int ret;
-    struct domain *d;
     const cpumask_t *cpus;
 
     cpus = sched_get_opt_cpumask(c->gran, cpu);
@@ -442,12 +483,7 @@ static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 
     rcu_read_unlock(&sched_res_rculock);
 
-    rcu_read_lock(&domlist_read_lock);
-    for_each_domain_in_cpupool(d, c)
-    {
-        domain_update_node_affinity(d);
-    }
-    rcu_read_unlock(&domlist_read_lock);
+    cpupool_update_node_affinity(c);
 
     return 0;
 }
@@ -456,18 +492,14 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
 {
     int cpu = cpupool_moving_cpu;
     const cpumask_t *cpus;
-    struct domain *d;
     int ret;
 
     if ( c != cpupool_cpu_moving )
         return -EADDRNOTAVAIL;
 
-    /*
-     * We need this for scanning the domain list, both in
-     * cpu_disable_scheduler(), and at the bottom of this function.
-     */
     rcu_read_lock(&domlist_read_lock);
     ret = cpu_disable_scheduler(cpu);
+    rcu_read_unlock(&domlist_read_lock);
 
     rcu_read_lock(&sched_res_rculock);
     cpus = get_sched_res(cpu)->cpus;
@@ -494,11 +526,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
     }
     rcu_read_unlock(&sched_res_rculock);
 
-    for_each_domain_in_cpupool(d, c)
-    {
-        domain_update_node_affinity(d);
-    }
-    rcu_read_unlock(&domlist_read_lock);
+    cpupool_update_node_affinity(c);
 
     return ret;
 }
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index a870320146..de0cf63ce8 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -593,6 +593,14 @@ affinity_balance_cpumask(const struct sched_unit *unit, int step,
         cpumask_copy(mask, unit->cpu_hard_affinity);
 }
 
+struct affinity_masks {
+    cpumask_var_t hard;
+    cpumask_var_t soft;
+};
+
+void domain_update_node_affinity_noalloc(struct domain *d,
+                                         const cpumask_t *online,
+                                         struct affinity_masks *affinity);
 void sched_rm_cpu(unsigned int cpu);
 const cpumask_t *sched_get_opt_cpumask(enum sched_gran opt, unsigned int cpu);
 void schedule_dump(struct cpupool *c);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:36:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:36:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379327.612682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIs4O-0004b8-EJ; Tue, 02 Aug 2022 13:36:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379327.612682; Tue, 02 Aug 2022 13:36:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIs4O-0004b1-Bb; Tue, 02 Aug 2022 13:36:24 +0000
Received: by outflank-mailman (input) for mailman id 379327;
 Tue, 02 Aug 2022 13:36:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NPAu=YG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oIs4N-0004av-5c
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:36:23 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 189c781a-1268-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 15:36:22 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 7773F1FD3A;
 Tue,  2 Aug 2022 13:36:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 396951345B;
 Tue,  2 Aug 2022 13:36:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id nlWmDFUo6WLkXQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 02 Aug 2022 13:36:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 189c781a-1268-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659447381; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=yxhfYvFG5L28ncEPs8ILtxibkaHQd3HYF/JgY5i75BY=;
	b=b3IxQFs7pm5TJYFxJon3cr8h1MiPCDNz75Eqm/ylqOqTDkoYGrOMu7gXGhFli6f7j/tZm7
	HOB7hxhqSrYoTpeVqS5jNkFiIUVLZCwDRvYfDYf2ECt+Q3vTIxyciMxLP7W3oZA11GWvaP
	0DSm1fquKkW7WbaDmD+qxs3QLWYSeno=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Gao Ruifeng <ruifeng.gao@intel.com>
Subject: [PATCH 3/3] xen/sched: fix cpu hotplug
Date: Tue,  2 Aug 2022 15:36:19 +0200
Message-Id: <20220802133619.22965-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220802132747.22507-1-jgross@suse.com>
References: <20220802132747.22507-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Cpu cpu unplugging is calling schedule_cpu_rm() via stop_machine_run()
with interrupts disabled, thus any memory allocation or freeing must
be avoided.

Since commit 5047cd1d5dea ("xen/common: Use enhanced
ASSERT_ALLOC_CONTEXT in xmalloc()") this restriction is being enforced
via an assertion, which will now fail.

Before that commit cpu unplugging in normal configurations was working
just by chance as only the cpu performing schedule_cpu_rm() was doing
active work. With core scheduling enabled, however, failures could
result from memory allocations not being properly propagated to other
cpus' TLBs.

Fix this mess by allocating needed memory before entering
stop_machine_run() and freeing any memory only after having finished
stop_machine_run().

Fixes: 1ec410112cdd ("xen/sched: support differing granularity in schedule_cpu_[add/rm]()")
Reported-by: Gao Ruifeng <ruifeng.gao@intel.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/core.c    | 14 ++++---
 xen/common/sched/cpupool.c | 77 +++++++++++++++++++++++++++++---------
 xen/common/sched/private.h |  5 ++-
 3 files changed, 72 insertions(+), 24 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index d6ff4f4921..1473cef372 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -3190,7 +3190,7 @@ out:
     return ret;
 }
 
-static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
+struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
 {
     struct cpu_rm_data *data;
     struct sched_resource *sr;
@@ -3242,7 +3242,7 @@ static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
     return data;
 }
 
-static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
+void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
 {
     sched_free_udata(mem->old_ops, mem->vpriv_old);
     sched_free_pdata(mem->old_ops, mem->ppriv_old, cpu);
@@ -3256,17 +3256,18 @@ static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
  * The cpu is already marked as "free" and not valid any longer for its
  * cpupool.
  */
-int schedule_cpu_rm(unsigned int cpu)
+int schedule_cpu_rm(unsigned int cpu, struct cpu_rm_data *data)
 {
     struct sched_resource *sr;
-    struct cpu_rm_data *data;
     struct sched_unit *unit;
     spinlock_t *old_lock;
     unsigned long flags;
     int idx = 0;
     unsigned int cpu_iter;
+    bool freemem = !data;
 
-    data = schedule_cpu_rm_alloc(cpu);
+    if ( !data )
+        data = schedule_cpu_rm_alloc(cpu);
     if ( !data )
         return -ENOMEM;
 
@@ -3333,7 +3334,8 @@ int schedule_cpu_rm(unsigned int cpu)
     sched_deinit_pdata(data->old_ops, data->ppriv_old, cpu);
 
     rcu_read_unlock(&sched_res_rculock);
-    schedule_cpu_rm_free(data, cpu);
+    if ( freemem )
+        schedule_cpu_rm_free(data, cpu);
 
     return 0;
 }
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 1463dcd767..d9dadedea3 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -419,6 +419,8 @@ static int cpupool_alloc_affin_masks(struct affinity_masks *masks)
         return 0;
 
     free_cpumask_var(masks->hard);
+    memset(masks, 0, sizeof(*masks));
+
     return -ENOMEM;
 }
 
@@ -428,28 +430,34 @@ static void cpupool_free_affin_masks(struct affinity_masks *masks)
     free_cpumask_var(masks->hard);
 }
 
-static void cpupool_update_node_affinity(const struct cpupool *c)
+static void cpupool_update_node_affinity(const struct cpupool *c,
+                                         struct affinity_masks *masks)
 {
     const cpumask_t *online = c->res_valid;
-    struct affinity_masks masks;
+    struct affinity_masks local_masks;
     struct domain *d;
 
-    if ( cpupool_alloc_affin_masks(&masks) )
-        return;
+    if ( !masks )
+    {
+        if ( cpupool_alloc_affin_masks(&local_masks) )
+            return;
+        masks = &local_masks;
+    }
 
     rcu_read_lock(&domlist_read_lock);
     for_each_domain_in_cpupool(d, c)
     {
         if ( d->vcpu && d->vcpu[0] )
         {
-            cpumask_clear(masks.hard);
-            cpumask_clear(masks.soft);
-            domain_update_node_affinity_noalloc(d, online, &masks);
+            cpumask_clear(masks->hard);
+            cpumask_clear(masks->soft);
+            domain_update_node_affinity_noalloc(d, online, masks);
         }
     }
     rcu_read_unlock(&domlist_read_lock);
 
-    cpupool_free_affin_masks(&masks);
+    if ( masks == &local_masks )
+        cpupool_free_affin_masks(&local_masks);
 }
 
 /*
@@ -483,15 +491,17 @@ static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 
     rcu_read_unlock(&sched_res_rculock);
 
-    cpupool_update_node_affinity(c);
+    cpupool_update_node_affinity(c, NULL);
 
     return 0;
 }
 
-static int cpupool_unassign_cpu_finish(struct cpupool *c)
+static int cpupool_unassign_cpu_finish(struct cpupool *c,
+                                       struct cpu_rm_data *mem)
 {
     int cpu = cpupool_moving_cpu;
     const cpumask_t *cpus;
+    struct affinity_masks *masks = mem ? &mem->affinity : NULL;
     int ret;
 
     if ( c != cpupool_cpu_moving )
@@ -514,7 +524,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
      */
     if ( !ret )
     {
-        ret = schedule_cpu_rm(cpu);
+        ret = schedule_cpu_rm(cpu, mem);
         if ( ret )
             cpumask_andnot(&cpupool_free_cpus, &cpupool_free_cpus, cpus);
         else
@@ -526,7 +536,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
     }
     rcu_read_unlock(&sched_res_rculock);
 
-    cpupool_update_node_affinity(c);
+    cpupool_update_node_affinity(c, masks);
 
     return ret;
 }
@@ -590,7 +600,7 @@ static long cf_check cpupool_unassign_cpu_helper(void *info)
                       cpupool_cpu_moving->cpupool_id, cpupool_moving_cpu);
     spin_lock(&cpupool_lock);
 
-    ret = cpupool_unassign_cpu_finish(c);
+    ret = cpupool_unassign_cpu_finish(c, NULL);
 
     spin_unlock(&cpupool_lock);
     debugtrace_printk("cpupool_unassign_cpu ret=%ld\n", ret);
@@ -737,7 +747,7 @@ static int cpupool_cpu_add(unsigned int cpu)
  * This function is called in stop_machine context, so we can be sure no
  * non-idle vcpu is active on the system.
  */
-static void cpupool_cpu_remove(unsigned int cpu)
+static void cpupool_cpu_remove(unsigned int cpu, struct cpu_rm_data *mem)
 {
     int ret;
 
@@ -745,7 +755,7 @@ static void cpupool_cpu_remove(unsigned int cpu)
 
     if ( !cpumask_test_cpu(cpu, &cpupool_free_cpus) )
     {
-        ret = cpupool_unassign_cpu_finish(cpupool0);
+        ret = cpupool_unassign_cpu_finish(cpupool0, mem);
         BUG_ON(ret);
     }
     cpumask_clear_cpu(cpu, &cpupool_free_cpus);
@@ -811,7 +821,7 @@ static void cpupool_cpu_remove_forced(unsigned int cpu)
         {
             ret = cpupool_unassign_cpu_start(c, master_cpu);
             BUG_ON(ret);
-            ret = cpupool_unassign_cpu_finish(c);
+            ret = cpupool_unassign_cpu_finish(c, NULL);
             BUG_ON(ret);
         }
     }
@@ -1031,10 +1041,23 @@ static int cf_check cpu_callback(
 {
     unsigned int cpu = (unsigned long)hcpu;
     int rc = 0;
+    static struct cpu_rm_data *mem;
 
     switch ( action )
     {
     case CPU_DOWN_FAILED:
+        if ( system_state <= SYS_STATE_active )
+        {
+            if ( mem )
+            {
+                if ( memchr_inv(&mem->affinity, 0, sizeof(mem->affinity)) )
+                    cpupool_free_affin_masks(&mem->affinity);
+                schedule_cpu_rm_free(mem, cpu);
+                mem = NULL;
+            }
+            rc = cpupool_cpu_add(cpu);
+        }
+        break;
     case CPU_ONLINE:
         if ( system_state <= SYS_STATE_active )
             rc = cpupool_cpu_add(cpu);
@@ -1042,12 +1065,32 @@ static int cf_check cpu_callback(
     case CPU_DOWN_PREPARE:
         /* Suspend/Resume don't change assignments of cpus to cpupools. */
         if ( system_state <= SYS_STATE_active )
+        {
             rc = cpupool_cpu_remove_prologue(cpu);
+            if ( !rc )
+            {
+                ASSERT(!mem);
+                mem = schedule_cpu_rm_alloc(cpu);
+                rc = mem ? cpupool_alloc_affin_masks(&mem->affinity) : -ENOMEM;
+            }
+        }
         break;
     case CPU_DYING:
         /* Suspend/Resume don't change assignments of cpus to cpupools. */
         if ( system_state <= SYS_STATE_active )
-            cpupool_cpu_remove(cpu);
+        {
+            ASSERT(mem);
+            cpupool_cpu_remove(cpu, mem);
+        }
+        break;
+    case CPU_DEAD:
+        if ( system_state <= SYS_STATE_active )
+        {
+            ASSERT(mem);
+            cpupool_free_affin_masks(&mem->affinity);
+            schedule_cpu_rm_free(mem, cpu);
+            mem = NULL;
+        }
         break;
     case CPU_RESUME_FAILED:
         cpupool_cpu_remove_forced(cpu);
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index c626ad4907..f5bf41226c 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -600,6 +600,7 @@ struct affinity_masks {
 
 /* Memory allocation related data for schedule_cpu_rm(). */
 struct cpu_rm_data {
+    struct affinity_masks affinity;
     struct scheduler *old_ops;
     void *ppriv_old;
     void *vpriv_old;
@@ -617,7 +618,9 @@ struct scheduler *scheduler_alloc(unsigned int sched_id);
 void scheduler_free(struct scheduler *sched);
 int cpu_disable_scheduler(unsigned int cpu);
 int schedule_cpu_add(unsigned int cpu, struct cpupool *c);
-int schedule_cpu_rm(unsigned int cpu);
+struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu);
+void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu);
+int schedule_cpu_rm(unsigned int cpu, struct cpu_rm_data *mem);
 int sched_move_domain(struct domain *d, struct cpupool *c);
 struct cpupool *cpupool_get_by_id(unsigned int poolid);
 void cpupool_put(struct cpupool *pool);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:36:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:36:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379328.612693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIs4S-0004rS-NB; Tue, 02 Aug 2022 13:36:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379328.612693; Tue, 02 Aug 2022 13:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIs4S-0004rL-K5; Tue, 02 Aug 2022 13:36:28 +0000
Received: by outflank-mailman (input) for mailman id 379328;
 Tue, 02 Aug 2022 13:36:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gPpP=YG=citrix.com=prvs=206784369=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oIs4R-0004av-Lv
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:36:27 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a553bdf-1268-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 15:36:26 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a553bdf-1268-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659447386;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=PpfpV5nkngWKXwIzMuzDvmEu5G/siM6B6JBZhHRYfO8=;
  b=bpVq/R1Hh0n9OIfLEweslxGyCD513brfGP1BME7+hAWU8VpCGBnT0BTL
   5RD1G6vtw287sytT+UDTwNhSaB3zyLLgRmHnL/64meJeYY5a8eKbrf9rS
   LpGIYKMmlu3vqCr7IBowzRnbFAMrYs33rkwi0veLMeMxVYkCfBk8RoR+J
   o=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: None
X-MesageID: 77611014
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:/690IKBKkP6TjhVW/3Tjw5YqxClBgxIJ4kV8jS/XYbTApDki1jYOm
 2IeCj3XOKneYDH9c9pzPI22px9S7JfTxt9qQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEs/jb83uDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW2PT5KhxKmMXBJA32e9xA0UNx
 foSERlYO3hvh8ruqF66Yuxlh8BlJ8j3JoIP/HpnyFk1D95/H8qFGf+To4YFgnFg3aiiHt6HD
 yYdQTNpcBTHZQwJIloNAYgytOypmmP+Y3tTr1f9Sa8fvDeNlVUpieSF3Nz9R/O7YZlOxBajm
 3/s5E7cHRYaKNvAxm/Qmp6rrrCWxn6qMG4IL5Wo+/gvjFCNy2g7DBwNSUD9sfS/klS5Wd9UN
 woT4CVGhakw/UeoVd77dxa4oXeevVgTQdddFeA85EeK0KWS/gXxO4QfZmcfMpp87pZwHGF0k
 A/S9z/0OdBxmKWqbi+C0JW1lC6dGiETL0tBVSkOdCJQtrEPv7oPYgLzosdLSfDo34GtRGitm
 VhmvwBl2exN0JdjO7GTuAme3mny/sWhohsdvF2/Y46z0u9uiGdJjaSM4EOT0/tPJZ3xorKp7
 CldwJj2AAzj4PiweM2xrAYlRujBCw6tamG0vLKWN8BJGvTE0yfLkXpsyD9/Plx1Fc0PZCXkZ
 kTe0SsIusICZyT7NfYsMtPoYyjP8UQHPY28Ps04k/IUOsQhHON51HsGibGsM5DFzxF3zPBX1
 WazesewF3cKYZlaIfvfb7l17ILHMQhnlT6JFM+kkEj5uVdcDVbMIYo43JK1RrhRxMu5TM/9r
 76z6+PiJ81jbdDD
IronPort-HdrOrdr: A9a23:0QCekqFtv0fLIyJ3pLqFaZHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskd2ZJhSo6H4BEDgewKryXcR2+Us1NiZLWvbUQeTQ72KqLGSpAEIeBeOv9K1t5
 0QFpSWYeeYZWSSz/yKhDVQeOxA/DDzytHKuQ6o9RdQpG9RBZ1I3kNcMEK2A0d2TA5JCd4SD5
 yH/PdKoDKmZDA+ctm7LmNtZZmJm/T70LbdJTIWDR8u7weDyRmy7qThLhSe1hACFxtS3LYZ93
 TfmQCR3NTojxj78G6Q64bg1eUYpDLT8KoMOCVKsLlVFtzYsHflWG2mYczDgNl6mpDt1L9gqq
 i1n/5pBbUJ15qWRBD8nfKl4Xib7B8+r3Lj01WciXvmrdeRfkNFN+NRwY1eaRfX8EwmoZV117
 9KxXuQs95NAQrHhzmV3am8a/hGrDvGnZMZq59gs1VPFY8FLLNBp40W+01YVJ8GASLh8YgiVO
 1jFtvV6vpaeU6TKymxhBgZ/PW8GnAoWhuWSEkLvcKYlzBQgXBi1kMdgMgShG0J+p4xQ4RNo+
 7ELqNrnrdTSdJ+V9MIOM4RBc+sTmDdSxPFN2yfZVzhCaEcInrI74X65b0kjdvaCKDgDKFC6a
 gpfGkoyVLaIXiedPFm9Kc7jSzwfA==
X-IronPort-AV: E=Sophos;i="5.93,211,1654574400"; 
   d="scan'208";a="77611014"
Date: Tue, 2 Aug 2022 14:36:13 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Ian Jackson <ijackson@chiark.greenend.org.uk>
CC: <xen-devel@lists.xenproject.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [OSSTEST PATCH 1/2] TestSupport: Add support for installing from
 backport repo
Message-ID: <YukoTdtWbExEVCH7@perard.uk.xensource.com>
References: <20220802102602.131992-1-anthony.perard@citrix.com>
 <20220802102602.131992-2-anthony.perard@citrix.com>
 <25321.6183.866850.867719@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <25321.6183.866850.867719@chiark.greenend.org.uk>

On Tue, Aug 02, 2022 at 01:27:19PM +0100, Ian Jackson wrote:
> Anthony PERARD writes ("[OSSTEST PATCH 1/2] TestSupport: Add support for installing from backport repo"):
> > We are going to need to install package from the debian backport
> > repository in order to do a build.
> 
> LGTM.  I was kind of surprised we didn't have this already, but now I
> come to think of it, I think that was only for kernels ?  (I haven't
> UTSL to check.)

Yes, there's preseed_backports_packages() to install from backports repo
at host/guest installation. But nothing once the OS is already
installed. I thought it would not be a good idea to install meson on
every host.

> > +sub target_install_packages_backport ($@) {
> > +    my ($ho, @packages) = @_;
> > +    my $had_backport_repo = 0;
> > +    target_editfile_root($ho, '/etc/apt/sources.list', sub {
> > +        my $suite = $ho->{Suite};
> > +        my $bp_url = Osstest::Debian::debian_mirror_url($ho);
> > +        while (<::EI>) {
> > +            if (m/^# $suite backports/) {
> > +                $had_backport_repo = 1;
> > +            }
> > +            print ::EO;
> > +        }
> > +        print ::EO <<EOF unless $had_backport_repo;
> > +
> > +# $suite backports
> > +deb $bp_url $suite-backports main
> > +EOF
> > +        });
> 
> Nit: this last line looks misindented to me.

Would be nice to fix on commit, I guess.

> Acked-by: Ian Jackson <ijackson@chiark.greenend.org.uk>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:39:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379337.612704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIs7W-0005os-4h; Tue, 02 Aug 2022 13:39:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379337.612704; Tue, 02 Aug 2022 13:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIs7W-0005ol-1i; Tue, 02 Aug 2022 13:39:38 +0000
Received: by outflank-mailman (input) for mailman id 379337;
 Tue, 02 Aug 2022 13:39:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1BTa=YG=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1oIs7U-0005of-G5
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:39:36 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ad59a15-1268-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 15:39:34 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-18-U6IUAjxTM9uGOWNhdYZ0Aw-1; Tue, 02 Aug 2022 09:39:30 -0400
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 54C66185A7BA;
 Tue,  2 Aug 2022 13:39:29 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.227])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 0658918EA8;
 Tue,  2 Aug 2022 13:39:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ad59a15-1268-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1659447573;
	h=from:from:reply-to: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=5WEoZygjzqMSSH7tx9J19kK8fi3fwB7HNVYvZTJSVFg=;
	b=JxmZNdMwwChtbP+zbREPKo1NIVuiToYxNgDGn0fGIXHHrptSXVDMd2TE4vltEhP8EmfcVX
	j0JFa3kBd0nOU3xonv2TLFrOK4m9cWzqIvD1o/WqqK2LFOREEkPp+xwDC0C3L/0YhUVPfU
	fF1+qJih8lhwXtd09jjGfefqKgRk3N8=
X-MC-Unique: U6IUAjxTM9uGOWNhdYZ0Aw-1
Date: Tue, 2 Aug 2022 14:39:25 +0100
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Julien Grall <julien@xen.org>,
	Michal =?utf-8?B?UHLDrXZvem7DrWs=?= <mprivozn@redhat.com>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xenproject.org, libvir-list@redhat.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
Message-ID: <YukpDR2frtExoke+@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
 <7444eeec-5a7c-6a18-ffde-cb32528a0e20@xen.org>
 <Yueeh9w1EiY2sNEK@redhat.com>
 <YukM85j+Q+w0YLCu@mail-itl>
MIME-Version: 1.0
In-Reply-To: <YukM85j+Q+w0YLCu@mail-itl>
User-Agent: Mutt/2.2.6 (2022-06-05)
X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Tue, Aug 02, 2022 at 01:39:31PM +0200, Marek Marczykowski-GÃ³recki wrote:
> On Mon, Aug 01, 2022 at 10:36:07AM +0100, Daniel P. BerrangÃ© wrote:
> > Generally we want to see errors triggered from new enums arriving,
> > as it can be a sign that libvirt code needs a semantic change in
> > order to continue operating correctly.  It isn't always correct
> > to assume that the 'default' case gives the correct behaviour.
> 
> Isn't that the exact purpose of 'default' label? If use of 'default'
> means "any of the other 5 specific values, but lets save some characters
> to not name them explicitly", then IMHO better to name them
> explicitly...
> 
> I can see a value of -Werror=switch-enum when adding new (internal) enum
> value, to find all the cases where code needs to be adjusted, but even
> then a grep is probably sufficient enough. On the other hand, if there
> are cases where indeed all the values of (internal API) enum needs to be
> handled explicitly, maybe simply omit 'default' label and use
> -Werror=switch?
> 
> Anyway, if tracking all the enums values of all the used 3rd-party APIs
> is desirable (like, noticing when libxl adds new disk type), then it
> probably should be a separate CI job, not the default devel build.
> Otherwise breakages like this will happen from time to time, and will
> be annoyed for people on involved in specific code part at all.
> 
> As a short term fix, maybe Xen's CI can build libvirt with
> -Wno-error=switch-enum?

I think makes sense for a 3rd party CI todo that, since these warnings
are primarily targetted at libvirt upstream maintainers, so that we
catch problems before code is committed.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:46:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:46:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379344.612715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsEL-0007MY-Uv; Tue, 02 Aug 2022 13:46:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379344.612715; Tue, 02 Aug 2022 13:46:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsEL-0007MR-Rz; Tue, 02 Aug 2022 13:46:41 +0000
Received: by outflank-mailman (input) for mailman id 379344;
 Tue, 02 Aug 2022 13:46:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BjeM=YG=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oIsEK-0007ML-No
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:46:40 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 876db1ef-1269-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 15:46:39 +0200 (CEST)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 165944799215444.62213470260542;
 Tue, 2 Aug 2022 06:46:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 876db1ef-1269-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; t=1659447995; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=UAecsNSH/tdR5FqFKu5+vSulXcduOpWv0WnQeYHC7GIxr3sCCU/GhJm5ew7CQhsRGv9WIMco/n1D9wwBq7+lA5hB2OTY+FSvGzketzkBiMVs+U3Az4/04CHtuepga0ZtzHmkpu0ZYAzmCKyF5tzjs97KoiyyXVtTniaw4nOzKcA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1659447995; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=pSHdW71YjyQJrPRLA7Axi3pNShj14h62KFt5Ko4YHGg=; 
	b=O8MQ9Z5xHAdj7c4ug0QcjePQqDsch0KLkzjAbzNTLKE9oV1yFv8l+/ss4T07tUUJyiHpSXED/yya5zsuyQb0IInVRPPS7BwKPdo3Z76deMwU4mmFYA5by5J35jQhwC3ozEzS7qxuoOXELQ23euW4D163VUr4SjrDKuUkwzP+yq8=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1659447995;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=pSHdW71YjyQJrPRLA7Axi3pNShj14h62KFt5Ko4YHGg=;
	b=kGju2fK+foZBsNZPF24ZCnQ/Acivudau+/xf39eC6wrDhPhZnMbZ1p9m3BLj0nAT
	puHpidnC1qBU+MJyOzEh6fd8dO0j9FBqevwJd4mt1aeYlWPZAK7CvUMC13IhHLcflwU
	6YzMAmis08LDog/y2VoQ7QPgWQHay0UvC+5xzTec=
Message-ID: <cec57d2c-3b95-72c5-2437-ee358536bbfb@apertussolutions.com>
Date: Tue, 2 Aug 2022 09:45:54 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v10 0/3] Adds starting the idle domain privileged
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: jandryuk@gmail.com, xen-devel@lists.xenproject.org
References: <20220801184928.28522-1-dpsmith@apertussolutions.com>
 <52f7e4b2-f4c8-b1cf-60d0-548a6db8b4b7@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <52f7e4b2-f4c8-b1cf-60d0-548a6db8b4b7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/2/22 02:15, Jan Beulich wrote:
> On 01.08.2022 20:49, Daniel P. Smith wrote:
>> This series makes it so that the idle domain is started privileged under the
>> default policy, which the SILO policy inherits, and under the flask policy. It
>> then introduces a new one-way XSM hook, xsm_transition_running, that is hooked
>> by an XSM policy to transition the idle domain to its running privilege level.
>>
>> Patch 3 is an important one, as first it addresses the issue raised under an
>> RFC late last year by Jason Andryuk regarding the awkward entanglement of
>> flask_domain_alloc_security() and flask_domain_create(). Second, it helps
>> articulate why it is that the hypervisor should go through the access control
>> checks, even when it is doing the action itself. The issue at hand is not that
>> the hypervisor could be influenced to go around these check. The issue is these
>> checks provides a configurable way to express the execution flow that the
>> hypervisor should enforce. Specifically with this change, it is now possible
>> for an owner of a dom0less or hyperlaunch system to express a policy where the
>> hypervisor will enforce that no dom0 will be constructed, regardless of what
>> boot construction details were provided to it. Likewise, an owner that does not
>> want to see dom0less or hyperlaunch to be used can enforce that the hypervisor
>> will only construct a dom0 domain. This can all be accomplished without the
>> need to rebuild the hypervisor with these features enabled or disabled.
>>
>> Changes in v10:
>> - rewrote patch 3 commit message
>> - fixed typos in patch 3
>> - reworked logic in flask_domain_create() to be simpler and not result in
>>   changing the domain security struct before the access check fails
>>
>> Changes in v9:
>> - added missing Rb/Tb to patch 1
>> - corrected the flask policy macro in patch 2 to allow domain create
>> - added patch 3 to address allowing the hypervisor create more than 1 domain
>>
>> Changes in v8:
>> - adjusted panic messages in arm and x86 setup.c to be less than 80cols
>> - fixed comment line that went over 80col
>> - added line in patch #1 commit message to clarify the need is for domain
>>   creation
>>
>> Changes in v7:
>> - adjusted error message in default and flask xsm_set_system_active hooks
>> - merged panic messages in arm and x86 setup.c to a single line
>>
>> Changes in v6:
>> - readded the setting of is_privileged in flask_set_system_active()
>> - clarified comment on is_privileged in flask_set_system_active()
>> - added ASSERT on is_privileged and self_sid in flask_set_system_active()
>> - fixed err code returned on Arm for xsm_set_system_active() panic message
>>
>> Changes in v5:
>> - dropped setting is_privileged in flask_set_system_active()
>> - added err code returned by xsm_set_system_active() to panic message
>>
>> Changes in v4:
>> - reworded patch 1 commit messaged
>> - fixed whitespace to coding style
>> - fixed comment to coding style
>>
>> Changes in v3:
>> - renamed *_transition_running() to *_set_system_active()
>> - changed the XSM hook set_system_active() from void to int return
>> - added ASSERT check for the expected privilege level each XSM policy expected
>> - replaced a check against is_privileged in each arch with checking the return
>>   value from the call to xsm_set_system_active()
>>
>> Changes in v2:
>> - renamed flask_domain_runtime_security() to flask_transition_running()
>> - added the missed assignment of self_sid
>>
>> Daniel P. Smith (3):
>>   xsm: create idle domain privileged and demote after setup
>>   flask: implement xsm_set_system_active
> 
> Against what tree is this series? These two patches look to be in staging
> already (and they have been there for almost a month), so if there are
> incremental changes to make, please send incremental patches. Otherwise
> please clarify whether ...

No changes in the first two patches, just forgot to rebase on stable. I
will resend patch 3 standalone, which turns out to be good, as there is
one more adjustment I feel is needed after looking back at hyperlaunch
test cases.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:49:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379349.612726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsHT-0007xF-Fh; Tue, 02 Aug 2022 13:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379349.612726; Tue, 02 Aug 2022 13:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsHT-0007x8-BM; Tue, 02 Aug 2022 13:49:55 +0000
Received: by outflank-mailman (input) for mailman id 379349;
 Tue, 02 Aug 2022 13:49:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ix6t=YG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIsHR-0007x2-9k
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:49:53 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2065.outbound.protection.outlook.com [40.107.22.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb6c48bf-1269-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 15:49:52 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB4981.eurprd04.prod.outlook.com (2603:10a6:20b:f::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 2 Aug
 2022 13:49:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 13:49:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb6c48bf-1269-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XmBGHElTdgyJhMqSPvVTyBnqJk8uEbxFSz9WvOzJ9nmu8nuM7h8GjMm6QwFb84aOytrjt6PVETmzC3eKekcN29a/okA25cWNg10/L+h0NQ6y/Rnk/c36FCoLaNtF48OKchODM+Xt4t90NbK2kOvjDAey0Pl8WVQ7lDLstuMs8cm0MGljY+KuVYsI6zURvHafxNbfkFDuKPpf1uY04X5CaUJrodn+9YH1zXeXMcOXj8I9qyll/Qpi2hCrU/FM6eQLceXST4f3yUeog0IP2uOJ+O1ojCi9yT4Odqvkhk2FR5pwezxRNqlZ8k+tLcbBAOnDDT85z6xnJt5Hy3+GzO4P9w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MjHhj687bB1N/fUDO+UxrkaUXeca6WM44E+lwGtUS8A=;
 b=MaIjFG8WwiGFve7k1kbYO3LUlgAtw1aEJv8Hu52MI4orSBo8NAPp3a8Yy8D+X6LoRvCpX0F0RcAC+S5UoDSxcJIGgMB5Ax3IYKH7pyksTOmxYk5DL5fk0xN2WNlFMPLF4l006qqqLP4xd9hLGTKXXGYrMLxPWTUeFw335zpMIqgt7Gi2NX8DiKRgL3sQPvJbHPNKGK0vvAZBHXY9i3Q/rV/v+rKE/Dzm78LocGBiOA7vxtXDo8TUb/H9H0lcmvi8YL42Cr/plfFPGZelfj+B59IqDR2wf89Ix6eL8BRN38Hpw22OF8/rYnz6Kv5xnu15NvArzyi5vIVmufdRX59kWw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MjHhj687bB1N/fUDO+UxrkaUXeca6WM44E+lwGtUS8A=;
 b=r8K/1jTpvLhUij3nMRAr9a7HOozybAPo3zQ4l3UjkYcS5NV1+XkazNVjxG1RjwV8WCkT6RXI3TfDqkmn8sJ9tss7YiC+VkpZRKxETo5YZTP5Ui+LpBZGw7sF4O8VRDyMcxiY6kM9Mx1fkxjwY42X0ni4pDfMm7plcQljflIW/47J7wi6cnlkfJxfChcMEz0W5DT0+3UKhDXVV09rGAoYAQ6Vqy9P3NjhW17E7lasAAZeYpHG/ugKRt0dXIDKD5TpgT6uAhw7Sv+Jjd2KmtdiL7NOtxehtk+cbCTGiDNC5sIf/bxuc4q/NIng2pzGZwbjjXilNNhUqdzSvaJbVjKyrQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d6470ea9-f225-a0e9-64cb-a24e25ca7604@suse.com>
Date: Tue, 2 Aug 2022 15:49:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/char: imx-lpuart: Fix MISRA C 2012 Rule 20.7
 violation
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220802075433.1748035-1-burzalodowa@gmail.com>
 <7e78d64a-c700-5846-f046-a1b0f2c98ea3@suse.com>
 <3b0fd31a-c847-f5ff-2365-5fca5becb051@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3b0fd31a-c847-f5ff-2365-5fca5becb051@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0048.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::29) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b39850b8-96d1-4219-4db7-08da748dde95
X-MS-TrafficTypeDiagnostic: AM6PR04MB4981:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WhWisS3jahdYJ/n3C4AWvEyFKgLjLAWAoAumtOtKykHeqUmYFOpp3hlwntkOohP5ZaJ4nL20p0yNSVHmmFn5RDINEobZ9rBZxAUm/RY+dCQcauDzJireyx4YSoEiNU/5frViwDrxkm9rhgdCYpTMFYwaS0rf5W6mKF/oXD/e4Cq6Fc8L8tRWeU8xJ3i0QbujMkBw57Sb2C4Ob6lpMe1DpC5POiCCVMwVCLRScLfiJLZUgW5UUX0+SZz9p+audlMKe5TXJcPs5uV4EsfwMCaxyq+tTMtntQLZNJEixsZr4x19dJ+RtEP7GKwAlDDsJX7rLT5fbHKWeXnaNTCLXHXd8xY+/xeHW3p+iJYS8qV13/L97SLZDwX/vZhFtfFUv5kp5UCCHnpONUsmKfDtbNPnFIJxxh4/MJNCwUodp4ziCGVBCVHoBv05IDu7DQvgz6iH7aG1at34UUY1AyogvkEIPm+3Kk22oOznnSAmaBZezdLnxfEiJYtahUhhsYZWZIVfRAUbqa1TtKr//61paSFCOOD0HgpDfbgWe+Y8owCTL7x7MqhUqdeaZ8/q85d5A1/Y0n/YWZv//lCw6WLQhuTXy5xI/BalXb8PSGC+xZaVxkXfpqCE0LTy6NhmwpQrXT8oNWKrCV/GAo/AzT7qEzkm82Y3Cz+uWH/Fr4LOpFbEUNruDQFTN68bCiFs9zpr1+U9Jzb2oOdy1SH4tcu1BnwFuDrnxs/HpPW+Wq1KcxRThCB1Ed3XN6HqplYpb81gTo5hUU7xxYraphQ4Yi0zIArtYZ8w3VU2TWNdWfVwwgbrtegP59aC+O91HblTnSNXhn54sWI7TD7+6xu/M0wXE97tbQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(136003)(39860400002)(366004)(376002)(2616005)(2906002)(316002)(31696002)(86362001)(41300700001)(26005)(8936002)(38100700002)(6512007)(6916009)(54906003)(36756003)(8676002)(4326008)(6486002)(66476007)(66556008)(53546011)(478600001)(66946007)(6506007)(186003)(31686004)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZU5YQTRhZHVyNEFWN1Rjc1NtVHczT1g4d3hSdnN4Q2RENzFXTmxCLzhuY1Vy?=
 =?utf-8?B?WC9BUXRqdnVyWXcwQXJWSVhqYzJydUtjUHpiWCs4N3VGWG9vSWdxa0Qwa2pJ?=
 =?utf-8?B?S2ttS1VTSWlUL3dKNTI4T3lMaCtGWmtUaHI1c0ZIREVBMUNCbDZNamtNU0Nx?=
 =?utf-8?B?S05XYUpVTWoyUjFKYi9xYlBmUUN0VTJiNU5NSHp5QzVXWk5TSVVzamFwbGlp?=
 =?utf-8?B?WUxtWjZsUkMydE5NNjNTODg3Z0U5MHdMQkE5ZGQzWDAxY2t6L2l6elNJREhT?=
 =?utf-8?B?L20yRXNaaGpiZWR1MHBuNk9lOW8wSFBIZk9tZzYvRVhPUG1ma2lNNVRPWU1Q?=
 =?utf-8?B?TkRwTmZ0VVVDZWhpdTBGeTJxNlR2YmdHNzNaT21qS3pnVU1tMWRUcHNmOEFC?=
 =?utf-8?B?cHFydnRPbGM4WnNYUmpTeUxXbHY5QWl2L2R0M0x4T0s1OXdOOWFwbzFESklj?=
 =?utf-8?B?ZjFQb2dabkRneThIODJTNTZWaDNzaUZoNWJ2NEVnakFRYXh3SFlWTUxCKzlM?=
 =?utf-8?B?bVE5RjYraVJDMnd1RURQQ2hUTmFBY1ZpeWx3SThQUWhmbnZpN2E1anRScFJO?=
 =?utf-8?B?UHZId2lqSDk5eWR2TW02Mi9sbThyb3BobENRVUM2VzF6S21tTTFaYmlrR1dn?=
 =?utf-8?B?SWljUTZKVVFITVRKRjFnSkQvOGxPSFlOVVh0Ti8rUkxoQzRvb0s3K043NEpQ?=
 =?utf-8?B?Z25JSlhrM2x6VjM0cG0vTXNPcytyNUFNT2Q3Q1NoQ0x0NWtrUGV2VG9xc3dJ?=
 =?utf-8?B?Uk9SbU1oMGQyY2FvaVR2SVo5bnJWRGxDT0hFeFhVRFNTNmZ6ZWdVM3Zmcldk?=
 =?utf-8?B?Qk1lWjJWc0xTOVFjcWd4ODFSRXovdjVQZjdYUUhlWG1WKzdkZmVyVE9wUitx?=
 =?utf-8?B?K25sanBZR2xtNzlTNEc3MjJSZC85eDl5K1FvRjlOdTZldzh3dFdqQmh5SUNH?=
 =?utf-8?B?MmllMnlRNVp0OGtyMDB0MVQyRFdYcHNTNW9oQ2F4TnlwS3dFWnFZUDJ1b1Nz?=
 =?utf-8?B?RDMwTy9OUGpqeEpaR1RsOU5oVnNXM2xaZlRTSitPVWxCSXdLanQzS1FXWXpS?=
 =?utf-8?B?dmlDU2NhSUM5bG55VFE5Uklrc3hVMHZvVUIxZU1TMjdhU2o4ajVWS1N5NnNC?=
 =?utf-8?B?NUtxbmJib2lwN3hqWGhpQm03b0o1TFdwOFVnN1dHTjFGa0tLOTBLbVU1NzlC?=
 =?utf-8?B?ZCsyZk9ZRHQ3ODI2VjhXMlo4a3U1R1U2bngrM250dTJpNmVvY0tBc29hK2lm?=
 =?utf-8?B?UDFpY3V6ZVhPWVMza3JPbHNwSCt6UldxWGlaNG9rRzUvRytFZmV4VjJVSHRz?=
 =?utf-8?B?dzBPOGc1bC9aeHJtcUNUQ0xqNTFuSW9UYjRsRTF5RW9UQTJXWVh3Q0g0ZjA2?=
 =?utf-8?B?OVlwV09DcGw1aS9XcmsrdkZKVjdpVXB0U3RNRkU3SkJKMjhHYnJrSks1UFpm?=
 =?utf-8?B?MVNHYjFKVUtnYktyd2IwTFlqdnFzZVVDYlBRNHIyN2ZDUWFicUR1eXdwc1JR?=
 =?utf-8?B?SUxsMTd4dm56eS9PV3dXY282ckNtSXlDTFFyNHRNYTF1by9MbGJWY3JzR01o?=
 =?utf-8?B?QUhZaFJha2k3dzlCZFI0K05Va2R4aWpjcTlpaE9SblJXNGJRRUhETFNNVGpa?=
 =?utf-8?B?N1VqTXE2cDNjdjU2Y1ZQZWlXTS81cEFLb3dxS0dNbzlqMk1NZlFVWUFhaTFJ?=
 =?utf-8?B?QlVhV2dQb3lkVS9ORG0zSHE4ZTlsZjlCQkZaYm45ZEphZW9VS3lBSmVEYVEr?=
 =?utf-8?B?dXZsdzBaVk51STE0aWVhWVhYMjZKcmJzM0VUZmR4TTBDSlBWOEdJUHJCYVp3?=
 =?utf-8?B?ME0yVkdXNlJkTGxLazlLUlR3K3lsOVRaR0s2eUthUVJnc21aZDNEazhXRU04?=
 =?utf-8?B?QnlSYkNPRVNYVGpJV3NWM2NManR4ajJjSFJsSXpaVTNjaEVjbGpjbVUySm00?=
 =?utf-8?B?NFQ0K21HU1VKRUxscWdOWW01Z1JiemdHQ3RxTDNlRUdNMTUyNzQ2QllWbjN4?=
 =?utf-8?B?ZElnczVpNS8yVzhuUFdXekNCQUdCNEpWcFl5ZFZmUkN2b2dBdERVRmtlVFZ6?=
 =?utf-8?B?UlVNUEw1UXpCdmV5OFFTRzhrbnJSSzZ4ZXdaelJ6SWVvYlpOaG5Ybm4yZ1BO?=
 =?utf-8?Q?dmAs3aVQepFMZUNlh45jJQmOP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b39850b8-96d1-4219-4db7-08da748dde95
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2022 13:49:50.1602
 (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: bXabNm4dlg7z3BKki/Bbx0uoh4sf3mNZqb1mOlGv6hpoKg+2OX2T3SLRQh/xvEaqrtcme0Y0TPOkcQBF4tqxlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4981

On 02.08.2022 14:40, Xenia Ragiadakou wrote:
> On 8/2/22 14:58, Jan Beulich wrote:
>> On 02.08.2022 09:54, Xenia Ragiadakou wrote:
>>> --- a/xen/drivers/char/imx-lpuart.c
>>> +++ b/xen/drivers/char/imx-lpuart.c
>>> @@ -26,8 +26,8 @@
>>>   #include <asm/imx-lpuart.h>
>>>   #include <asm/io.h>
>>>   
>>> -#define imx_lpuart_read(uart, off)       readl((uart)->regs + off)
>>> -#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + off)
>>> +#define imx_lpuart_read(uart, off)       readl((uart)->regs + (off))
>>> +#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + (off))
>>
>> As elsewhere before I think at the same time you want to drop the
>> parentheses from the single use of "val".
>>
> 
> In general I do not want to include irrelevant changes in my patches.
> Also, here, I do not want to drop the parentheses from val because the 
> removal of the parentheses
> - consists a violation of the rule 20.7
> - would allow the following to compile
> #define VAL x, y, z);(
> imx_lpuart_write(uart, off, VAL)

Parenthesization won't help against all forms of odd use of parentheses
in macro expansions anyway. Maybe MISRA should (or even does) have a
rule disallowing unbalanced parentheses (an square brackets) in macro
expansions ...

> - is not justifiable (i.e does not fix a bug, does not result in more 
> readable code etc)

As said before, I very much view too many parentheses as affecting
readability.

> I understand that the rest of the community does not agree with adding 
> parentheses around macro parameters used as function arguments

This may indeed be the case, while ...

> and as 
> the right-side operand of the assignment operator,

... iirc for this one it was only Julien so far who disliked the
addition of parentheses.

> but I consider them 
> useful and I do not want to remove them myself. Maybe somebody else from 
> the community could do that.

Fair enough; my remark was indeed _only_ a remark - the maintainers
will have to judge in the end.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:51:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379352.612737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsIx-0000sX-RR; Tue, 02 Aug 2022 13:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379352.612737; Tue, 02 Aug 2022 13:51:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsIx-0000sQ-Mk; Tue, 02 Aug 2022 13:51:27 +0000
Received: by outflank-mailman (input) for mailman id 379352;
 Tue, 02 Aug 2022 13:51:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MHYI=YG=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oIsIw-0000sI-UF
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:51:26 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 336a204c-126a-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 15:51:25 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 7930F2067D;
 Tue,  2 Aug 2022 13:51:25 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 40C4313AE4;
 Tue,  2 Aug 2022 13:51:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id pU1ODd0r6WKrZAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Tue, 02 Aug 2022 13:51:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 336a204c-126a-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659448285; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=KiMi83si29Us4N0Nx/4qO1/vQ3UtoLtVb7UiFacV218=;
	b=EMck58Kvvnb5OJeIhsuqw46AuRMPRpQAXfzxDY3+fvMetPVtf+ZgaRnWHKz3RktJovPTsm
	ABL6JZOizCarmj7NVVwaHFGuDTSs35z3SYwykGTKFo+ji3XJCUGp08Cx9I+nLVidpUGHWw
	/zp/9Lpreuyxiga/yvBXNv0gH/4UH8U=
Subject: [PATCH 0/2] xen: credit2: fix boot hangs if dom0_nodes is used
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Olaf Hering <ohering@suse.de>
Date: Tue, 02 Aug 2022 15:51:22 +0200
Message-ID: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
User-Agent: StGit/1.5
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

Currently, if the dom0_nodes parameter is used, to limit the hard or
soft affinity of dom0's vCPUs, the boot hangs. This is because the vCPU
affinity is set in two steps, and is only correct after we've done both.
Credit2, however, manages to see and use the result of the first one and
vCPUs are put on pCPUs where they can't run.

This has been reported here:
https://bugzilla.suse.com/show_bug.cgi?id=1197081

And a fix has been discussed in the thread of this message:
https://lore.kernel.org/xen-devel/e061a647cd77a36834e2085a96a07caa785c5066.camel@suse.com/

The solution adopted in this series is to change the vCPU affinity
setting code in such a way that it happens alltogether and in one place
(patch 2).

While there, make the dom0_vcpus_pin boot parameter more precise, by
making sure that it is applied only to actual dom0's vCPUs, and not to
the vCPUs of the hardware domain, which may or may not be dom0 itself
(patch 2).

Regards
---
Dario Faggioli (2):
      xen: sched: dom0_vcpus_pin should only affect dom0
      xen/sched: setup dom0 vCPUs affinity only once


 xen/common/sched/core.c | 63 +++++++++++++++++++++++++----------------
 1 file changed, 39 insertions(+), 24 deletions(-)
--
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:51:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:51:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379353.612748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsJ3-00019s-1O; Tue, 02 Aug 2022 13:51:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379353.612748; Tue, 02 Aug 2022 13:51:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsJ2-00019l-UN; Tue, 02 Aug 2022 13:51:32 +0000
Received: by outflank-mailman (input) for mailman id 379353;
 Tue, 02 Aug 2022 13:51:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MHYI=YG=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oIsJ2-0000sI-82
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:51:32 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36cfecab-126a-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 15:51:31 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 4F47B3787F;
 Tue,  2 Aug 2022 13:51:31 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 221C51345B;
 Tue,  2 Aug 2022 13:51:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id a/0JBuMr6WK7ZAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Tue, 02 Aug 2022 13:51:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36cfecab-126a-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659448291; h=from:from:reply-to: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=D9GBZJCBCLFyKSdywcRnXHi8pEehjBe3e89BGugt4mI=;
	b=rPgkKs4Mqn2AxRAy9Bec7nMeoMBA5TvQrt4teTMAu7A+qp+FqjElfaa6bENNtYy1RWQ8tJ
	bhrKVmOyLzZXnWzcRK7tpvVa+Eed/sFNL0TDGqbtl6RM/OtyPOa54Sd8q3Ow4zbiqbiQDt
	4L+xKzBIxew0Agy5qy4SAQ1tlNBo3oQ=
Subject: [PATCH 1/2] xen: sched: dom0_vcpus_pin should only affect dom0
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, George Dunlap <george.dunlap@citrix.com>
Date: Tue, 02 Aug 2022 15:51:30 +0200
Message-ID: <165944829054.3531.818489021551433260.stgit@tumbleweed.Wayrath>
In-Reply-To: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
References: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
User-Agent: StGit/1.5
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

If dom0_vcpus_pin is used, make sure the pinning is only done for
dom0 vcpus, instead of for the hardware domain (which might not be
dom0 at all!).

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
---
Cc: George Dunlap <george.dunlap@citrix.com>
---
Difference from "RFC" [1]:
- new patch

[1] https://lore.kernel.org/xen-devel/e061a647cd77a36834e2085a96a07caa785c5066.camel@suse.com/
---
 xen/common/sched/core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index f689b55783..379a791d62 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -575,7 +575,7 @@ int sched_init_vcpu(struct vcpu *v)
      * Initialize affinity settings. The idler, and potentially
      * domain-0 VCPUs, are pinned onto their respective physical CPUs.
      */
-    if ( is_idle_domain(d) || (is_hardware_domain(d) && opt_dom0_vcpus_pin) )
+    if ( is_idle_domain(d) || (is_control_domain(d) && opt_dom0_vcpus_pin) )
         sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
     else
         sched_set_affinity(unit, &cpumask_all, &cpumask_all);




From xen-devel-bounces@lists.xenproject.org Tue Aug 02 13:51:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 13:51:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379354.612759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsJA-0001VR-8J; Tue, 02 Aug 2022 13:51:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379354.612759; Tue, 02 Aug 2022 13:51:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsJA-0001VE-5C; Tue, 02 Aug 2022 13:51:40 +0000
Received: by outflank-mailman (input) for mailman id 379354;
 Tue, 02 Aug 2022 13:51:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MHYI=YG=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oIsJ9-0001U5-3b
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 13:51:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a4f54a1-126a-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 15:51:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 30CA837402;
 Tue,  2 Aug 2022 13:51:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EA5081345B;
 Tue,  2 Aug 2022 13:51:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 887fNugr6WLKZAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Tue, 02 Aug 2022 13:51:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a4f54a1-126a-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659448297; h=from:from:reply-to: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=lFJ2vrWywI4K8SwWHvAOn/VBLvMvx10JLU0y4NpmUyU=;
	b=hojRg2OZKTmpKjq43U17Zi2j66Z0i2iPAEOjdiPww6ap97PA4Kucbx0ShHBd1/GsQL+DQb
	iVIIbBBWs5fuP5LN2Dv/OoUTYImbIh6Twelj9MMoPVjYAIb0rf3nk37W+WtqNkPcHx3MvL
	aRDqf7+FUTB5t6atnq5BfgO87+Eprpo=
Subject: [PATCH 2/2] xen/sched: setup dom0 vCPUs affinity only once
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Olaf Hering <ohering@suse.de>, Jan Beulich <jbeulich@suse.com>,
 George Dunlap <george.dunlap@citrix.com>
Date: Tue, 02 Aug 2022 15:51:36 +0200
Message-ID: <165944829637.3531.11115034950872470305.stgit@tumbleweed.Wayrath>
In-Reply-To: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
References: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
User-Agent: StGit/1.5
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

Right now, affinity for dom0 vCPUs is setup in two steps. This is a
problem as, at least in Credit2, unit_insert() sees and uses the
"intermediate" affinity, and place the vCPUs on CPUs where they cannot
be run. And this in turn results in boot hangs, if the "dom0_nodes"
parameter is used.

Fix this by setting up the affinity properly once and for all, in
sched_init_vcpu() called by create_vcpu().

Note that, unless a soft-affinity is explicitly specified for dom0 (by
using the relaxed mode of "dom0_nodes") we set it to the default, which
is all CPUs, instead of computing it basing on hard affinity (if any).
This is because hard and soft affinity should be considered as
independent user controlled properties. In fact, if we dor derive dom0's
soft-affinity from its boot-time hard-affinity, such computed value will
continue to be used even if later the user changes the hard-affinity.
And this could result in the vCPUs behaving differently than what the
user wanted and expects.

Fixes: dafd936ddd ("Make credit2 the default scheduler")
Reported-by: Olaf Hering <ohering@suse.de>
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
---
Cc: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>
---
Changes from "RFC" [1]:
- Moved handling of the shim case
- Added some more explanation (in particular, about why we stick to all
  CPUs for the soft affinity) in both commit message and comment
- Remove spurious (and non-necessary) credit2 change

[1] https://lore.kernel.org/xen-devel/e061a647cd77a36834e2085a96a07caa785c5066.camel@suse.com/
---
 xen/common/sched/core.c |   63 +++++++++++++++++++++++++++++------------------
 1 file changed, 39 insertions(+), 24 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 379a791d62..0585c643a5 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -571,12 +571,46 @@ int sched_init_vcpu(struct vcpu *v)
         return 1;
     }
 
-    /*
-     * Initialize affinity settings. The idler, and potentially
-     * domain-0 VCPUs, are pinned onto their respective physical CPUs.
-     */
-    if ( is_idle_domain(d) || (is_control_domain(d) && opt_dom0_vcpus_pin) )
+    if ( is_idle_domain(d) )
+    {
+        /* Idle vCPUs are always pinned onto their respective pCPUs */
+        sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
+    }
+    else if ( pv_shim && v->vcpu_id == 0 )
+    {
+        /*
+         * PV-shim: vcpus are pinned 1:1. Initially only 1 cpu is online,
+         * others will be dealt with when onlining them. This avoids pinning
+         * a vcpu to a not yet online cpu here.
+         */
+        sched_set_affinity(unit, cpumask_of(0), cpumask_of(0));
+    }
+    else if ( is_control_domain(d) && opt_dom0_vcpus_pin )
+    {
+        /*
+         * If dom0_vcpus_pin is specified, dom0 vCPUs are pinned 1:1 to
+         * their respective pCPUs too.
+         */
         sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
+    }
+#ifdef CONFIG_X86
+    else if ( is_control_domain(d) )
+    {
+        /*
+         * In absence of dom0_vcpus_pin instead, the hard and soft affinity of
+         * dom0 is controlled by the (x86 only) dom0_nodes parameter. At this
+         * point it has been parsed and decoded into the dom0_cpus mask.
+	 *
+	 * Note that we always honor what user explicitly requested, for both
+	 * hard and soft affinity, without doing any dynamic computation of
+	 * either of them.
+         */
+        if ( !dom0_affinity_relaxed )
+            sched_set_affinity(unit, &dom0_cpus, &cpumask_all);
+        else
+            sched_set_affinity(unit, &cpumask_all, &dom0_cpus);
+    }
+#endif
     else
         sched_set_affinity(unit, &cpumask_all, &cpumask_all);
 
@@ -3402,29 +3436,10 @@ void wait(void)
 void __init sched_setup_dom0_vcpus(struct domain *d)
 {
     unsigned int i;
-    struct sched_unit *unit;
 
     for ( i = 1; i < d->max_vcpus; i++ )
         vcpu_create(d, i);
 
-    /*
-     * PV-shim: vcpus are pinned 1:1.
-     * Initially only 1 cpu is online, others will be dealt with when
-     * onlining them. This avoids pinning a vcpu to a not yet online cpu here.
-     */
-    if ( pv_shim )
-        sched_set_affinity(d->vcpu[0]->sched_unit,
-                           cpumask_of(0), cpumask_of(0));
-    else
-    {
-        for_each_sched_unit ( d, unit )
-        {
-            if ( !opt_dom0_vcpus_pin && !dom0_affinity_relaxed )
-                sched_set_affinity(unit, &dom0_cpus, NULL);
-            sched_set_affinity(unit, NULL, &dom0_cpus);
-        }
-    }
-
     domain_update_node_affinity(d);
 }
 #endif




From xen-devel-bounces@lists.xenproject.org Tue Aug 02 14:04:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 14:04:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379370.612770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsVT-0003i2-IF; Tue, 02 Aug 2022 14:04:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379370.612770; Tue, 02 Aug 2022 14:04:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsVT-0003hv-DQ; Tue, 02 Aug 2022 14:04:23 +0000
Received: by outflank-mailman (input) for mailman id 379370;
 Tue, 02 Aug 2022 14:04:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MHYI=YG=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oIsVR-0003hp-W3
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 14:04:22 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140081.outbound.protection.outlook.com [40.107.14.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 010506c5-126c-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 16:04:20 +0200 (CEST)
Received: from DU2PR04MB9067.eurprd04.prod.outlook.com (2603:10a6:10:2f2::10)
 by AM6PR04MB5221.eurprd04.prod.outlook.com (2603:10a6:20b:12::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Tue, 2 Aug
 2022 14:04:18 +0000
Received: from DU2PR04MB9067.eurprd04.prod.outlook.com
 ([fe80::61d5:254b:6ed7:edf5]) by DU2PR04MB9067.eurprd04.prod.outlook.com
 ([fe80::61d5:254b:6ed7:edf5%4]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 14:04:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 010506c5-126c-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c+7dYsH6ZnoK9dVaiGkRgXQ9/i7AmajREfCNHIk4Btzh9Rp/kIEsriGhT3cItjjG9gyNRoM9TR9DSfu4M5Y7LIQdjvDu0uadxnx5GdvHvDC1FFai+vwlSFBL+MUx4mP2DginANZnTpaJhZFSpKgGFSuJx+HCXy7myuGFytjCeUQ4mOwv5yXB9CYMoFCqu9uVKp8iFMTFMF8Qp06d2/IIpmwj4+IuKDXZXYBeGRXEVi+5yepYBVTH8bgVFKMKJTGc+C1iKKCbDHogOUxal/lk3K8QtEKp6QkDLMUk6V/I6iKs03XDtQgwVk5LARGhaqXsWib5ueV9bYC59YOCXrS05Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A1tQojc/GgCv9u0soD02QlyxfjifW7FC0uiOLYKzSYw=;
 b=jYa0PGIOz4OpIbEryNbL8UTV6vMYnI/qh5GbsHc4YEZNakFeXBPYUbzNv+yoqsxqvee63CaQhr4EhvQBMBjS57+cMjvinbi22+kADpiVEkJ1ZnR0c+j7LNqvXnsNJO++wsiiUL5M5gv15/fLnWhMSgitOkWE069w4+kXym9E47VvvC8iXQlcYc54z0sobGOvqew/H8rJiQ1QC4b52vfVXNd2Ple2PIL4BJS1bvFLvTmUnrnkqVcQ+Ce7HN/GQl/UM1bkv1PgzlkQNPeXyBuwB6PQiHzTBcM95f8peDuzz6MsYxiPoUBHmCzWRtgB5s0kG/KyhtBWLIeJKB70AyZtGQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A1tQojc/GgCv9u0soD02QlyxfjifW7FC0uiOLYKzSYw=;
 b=1ub8dHYnEc3blvD7N47ypIqsFioH9w0FoxAV82w5Y82LeDQTQjFgiFoeGGZ5l0Rh3MyIWvAADxe3dd2vhNhfpyYA0tSYiZmMRMLoV0w94I2siEN9eEIAE0+IIeyabbaq0WldguHrykONhzA88qKXwuINeRfcL21WtwKdgwtC1qUPTWTsDHMIpBDl4p/f4YaL90+4mmgRAimy18zDoKmZdKmipq6f56TmSREjx8iwn7CrQTGl6LdL2P92Obhrr0ffAC+CR681fZoPQ4Xk7QeezUcokrEm8qfM3IBbCxbxsIxd1u58PrT+ay1MB9YIbaizfZTcvHlh+5XWsqZ88xA1RQ==
From: Dario Faggioli <dfaggioli@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "ohering@suse.de" <ohering@suse.de>, Jan Beulich <jbeulich@suse.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>
Subject: Re: [PATCH 2/2] xen/sched: setup dom0 vCPUs affinity only once
Thread-Topic: [PATCH 2/2] xen/sched: setup dom0 vCPUs affinity only once
Thread-Index: AQHYpnjBGyfMkjShG028ZFr2xfuNOw==
Date: Tue, 2 Aug 2022 14:04:17 +0000
Message-ID: <88e1b0683d802ea1c44e92f072901fd3166397e5.camel@suse.com>
References: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
	 <165944829637.3531.11115034950872470305.stgit@tumbleweed.Wayrath>
In-Reply-To: <165944829637.3531.11115034950872470305.stgit@tumbleweed.Wayrath>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.44.3 (by Flathub.org) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 68cb1ec0-8c20-4292-c543-08da748fe3fa
x-ms-traffictypediagnostic: AM6PR04MB5221:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 52RzrK02eEYB06ETYowgmZ6EpIV2YmEO/TLpooFi0ruuJZi1fMvNtRcIrn402AkYFGBKAD0YhxK5HHPuQ0W5QugG8c0wMoS559Xk+5gcAnNgrB8rEPULH4QUCTSHGrMgcWugT+hiiDFDKnml7y7iSYJix6Wd2KTzHS3/2LwlmvsAVDqldQInc4/jZuYaPTqyuFKBkSwxX3m2G5hFX5REYuuaMHlWXgWRnILb8cgMippdDYLzwKr3sFFCM5CtyUK7en6O4aqo88hvnPM5CGVD0ky1pjGE3NCQhYFLQ867v6L7bCmJXiIG0v+WfIQXeiBqvdiSgB6HodGc5A4C23DoAnt1W2X6NTFfJDBK9K+Ulu3eOc/k9jWNlYivDp9ek/nglKxUiVO2XCR6wCGXA/6LheJvueLZ1ASKjQjdS1ta3xuDYC4f6GUGg2UyOzONNeQWcl2pqH0xngQaRYf2KkOS+KOgA3m0ZVCt0c5oSte3p+ulgTuCs9sRT9GO8IhVwVQzqr/FKkgBbQpBn0uSkqrtVH2GDalAavdn1hgUNPsZHYxJNi1NAa2piZGiY42sCG/00FQ8I2w2NzAK4o29vPDqUz9N7Cl0nZ7cuJmidxkslLWlW8TcNukOJTAHutP4CtMC4S9I+unkP3upddjupIptgPtIdeASwnI9vCTKgOpWeYFnfld7b6lQB4bz3f3ukikR/k2QgE/ZXL3PRtrTW8Nm/5tH+ZILHJJIVW79b0HGz/ZNKaURI0JomYR/DvdYVxumwb8SvPDu12jUv3MclPcdriDFhoBCq+Ly5sqU2kmaAsZDszTlgT6onw3jVyUb6OWupmY3hFZEzWJlNRBSaYhdf3xJB2o7lhO5pXwug4Wa5J9cujoFoAMsMnTgowuqxcor
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB9067.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(366004)(39860400002)(396003)(376002)(38100700002)(8676002)(66946007)(91956017)(76116006)(122000001)(5660300002)(66446008)(54906003)(316002)(86362001)(64756008)(66556008)(66476007)(6916009)(38070700005)(99936003)(8936002)(4326008)(6506007)(83380400001)(41300700001)(186003)(2616005)(6512007)(26005)(966005)(6486002)(478600001)(71200400001)(2906002)(36756003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WmU5dTJHR0VWa08wK0wxNFlFR05DaEQ0a3AzeG5qV3lRZ1hhOGxieTRVOTZU?=
 =?utf-8?B?ZCtFOUl3aHA1Skk3YTVrcnRHRy9RVjJWb0RTOHhWRVJyRnFvMmVOVzZhSXE4?=
 =?utf-8?B?ZUJiS1BjVGwvYXdEU3lQREtyL2REbWlTaEhTdUdlcTNYSmVxeHFRQVFsK2pC?=
 =?utf-8?B?UUxsZ3YrK1hMZTJHN2szblBkNHZVdGJ1NFdFeVBWaHJITmhnVlhITSsweDMz?=
 =?utf-8?B?U2NNVnBickpTSzRGSHcwUEdvTGdLRElCSW1nV2RQcSt3eHczQytWWk9XRng1?=
 =?utf-8?B?dlBsOGFoRTBSQ2dwQWVoeXJsbHJ2NTd2N25PeEZaYUlsdm1NNXgyakxjbVgv?=
 =?utf-8?B?a0RHNVA2OFQyQ1E1N0lSaUpDR3RoSnVVYTZHVmRReDFVZC9meWlFNlJFZ0RP?=
 =?utf-8?B?RmhVMUJHTFhSS1I5TkN5REk1a0NFSWgvRGNOYmo5b2FQMVJ1NnR2Y1NiNHQw?=
 =?utf-8?B?UzR5U29keEhkdGZwNG9ma3d1VXR5WGZjeE5iWGEydUFUMVlYd0hIbTk5dmRD?=
 =?utf-8?B?YW9vNFNvZEpCa2Nhb1VHUEtzWHJ4MzVkbEZNY0hwOWxuMlhqQU9Rc2MySCtl?=
 =?utf-8?B?QkJJR0lHRnFURUhPeVh3RFVxd0V6c2xqWVcvRFZnRElCb1JmTm1iVmE1UHJO?=
 =?utf-8?B?ZHhEVDl5bTBVVnZoakdrV1FENFFjUUhFKzhmYWFlY3ltZy9pZFhpQm4wNzFQ?=
 =?utf-8?B?b0taaG5JVTBacmJrbVpVbUhYZ3pkbEpxaDBUeHR3eHllbCtlMHk1Z3lxY01m?=
 =?utf-8?B?MFhaRE5tL3JJVU91amRWVU0zU3B1VVFPMlg1ZHBwZC9tT01NZ3Y4K2tsTHEx?=
 =?utf-8?B?bEQwRFJqUU9kZTFGUWpkVUlvekpjOHVWR3dWeVNITEtLaktoSkV5QWRHaXBu?=
 =?utf-8?B?V3hKeXJPcitBTGdrVTljRzlVMERHVGwzWWVFdVZLcEN6REh0amlOL042bTJa?=
 =?utf-8?B?a1JhcDU1WkVtRFFWak1kOUowaTlnb3lRbCtzQkFMRFA0MVJCQ0pMZ1J2d0Va?=
 =?utf-8?B?bHJGYjZJaHFyUS9TRkNRQnlqVHBOdWdFV2w4eVFncGd4aUl2Y3U0d2g4Y2oy?=
 =?utf-8?B?b1VEN2o0aEtINVlIQ0xxc2dGY2J6dlFNUWRvSzJCYVhLNzFvM3FSNy9yWXBI?=
 =?utf-8?B?RmlFZEw5TXJIVHZ6S0F1UGRnSWdIVUdzLytwNWFhN0VTTWRsbDFmZDdpMzVo?=
 =?utf-8?B?YzI5U2ovSmNWQTFXaWRRdHEwVFp4cThMY1M1S0ZDcitGcDBISEcyVTBZcEkr?=
 =?utf-8?B?ZkRZNHBtWHJ0OUc0UEs0REZwRktkUE1ZZ0tlQzY2Qjdna04vNm95SkRSWXZr?=
 =?utf-8?B?SGt0ZzQ5K0o1ZVdDTWNadmRhTzByUTFSRi9pZTJIcDB2RDFvekJ3UWQzMnZ1?=
 =?utf-8?B?MEJyRjdnZ3FPR3lDWnVkaEdvdWVMbm5MMkJoNXg5U2ZCSzRHZnpzMnhSYmhl?=
 =?utf-8?B?ek5GczM0TENaTDFwVi9UdXgydEc4ZStFOXNxbGRDbC8zNTVDTVJZM2MxNjRF?=
 =?utf-8?B?WXJTaG1saERJaEtuY01LcjA2YXVDSjM4U1EyZDZZOHUwYWJtMFdRaHN6cmly?=
 =?utf-8?B?b3ZXa3gzYmdXRmxKMDFFN1dhNFFvNUtQeHJTSEpSRWpyVHdTSGtWdVNpZkFP?=
 =?utf-8?B?b0dYSlZVNWFBMnFyNitRR3hqMXRCWXJic2hrd25NRHRNbURzcjBTMDMyaE1o?=
 =?utf-8?B?RDZqSXlLdXdKOHBHQWlSVE1CeWYzSG04MW9PN0E3SGJXamFrbXB5djI0SVAx?=
 =?utf-8?B?TUQ3Y2czRnpQN0hpRjllbWhOZGhSNHBtU2Z1bHp3V2VybTRIT1JzMmk2eDVn?=
 =?utf-8?B?cHRnT0tYODRYVTUxQmoyWE94L0ttVUNFa3RDakhKeHdIWllYeGNzNVBYRGFl?=
 =?utf-8?B?NDhkUFNQYS9wREd5djVPdEVXdW9qWXdESVpqNnBGM3BORHpuSWZwMHRGb3g1?=
 =?utf-8?B?RXNRUTQxZjhzTHBVSXExWStzbDRISVRUTW0zVHhKSXBHcUk3cThiWW5lcjNI?=
 =?utf-8?B?dm9VeC9kbEVFVWZnb3VIYkNaZkk3dHovWDViN1ovUVBQSHB6dThDemExQlg4?=
 =?utf-8?B?SFYyUmM5M3JqcFBsSm1PR3NPSVJIM3VwYkkzOGErYmZpUUZPY2E3VThrdFkr?=
 =?utf-8?Q?hfqfH9MB85k3ZsxDOwhzq/XkS?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-RLW+QMWkQgjRlSGOIFYG"
MIME-Version: 1.0
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB9067.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68cb1ec0-8c20-4292-c543-08da748fe3fa
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2022 14:04:17.9729
 (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: kCTrHDl0twk/gxJg0CWRzc7SPXPRg3zgOKOEL5YHWaLVplGCG5UNm/pG3mT3g8M/Bk7lHRFb6qbG2clWkVNY1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5221

--=-RLW+QMWkQgjRlSGOIFYG
Content-Type: multipart/mixed; boundary="=-gk/MoBJLhx61BrwZiEgB"

--=-gk/MoBJLhx61BrwZiEgB
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Mmm... this patch has a few hard-tabs in it! Apologies for that. :-/

I'm attaching a version without them, but I surely can resubmit the
series with this fixed, it that's easier.

Regards, and Sorry again

On Tue, 2022-08-02 at 15:51 +0200, Dario Faggioli wrote:
> Right now, affinity for dom0 vCPUs is setup in two steps. This is a
> problem as, at least in Credit2, unit_insert() sees and uses the
> "intermediate" affinity, and place the vCPUs on CPUs where they
> cannot
> be run. And this in turn results in boot hangs, if the "dom0_nodes"
> parameter is used.
>=20
> Fix this by setting up the affinity properly once and for all, in
> sched_init_vcpu() called by create_vcpu().
>=20
> Note that, unless a soft-affinity is explicitly specified for dom0
> (by
> using the relaxed mode of "dom0_nodes") we set it to the default,
> which
> is all CPUs, instead of computing it basing on hard affinity (if
> any).
> This is because hard and soft affinity should be considered as
> independent user controlled properties. In fact, if we dor derive
> dom0's
> soft-affinity from its boot-time hard-affinity, such computed value
> will
> continue to be used even if later the user changes the hard-affinity.
> And this could result in the vCPUs behaving differently than what the
> user wanted and expects.
>=20
> Fixes: dafd936ddd ("Make credit2 the default scheduler")
> Reported-by: Olaf Hering <ohering@suse.de>
> Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
> ---
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: George Dunlap <george.dunlap@citrix.com>
> ---
> Changes from "RFC" [1]:
> - Moved handling of the shim case
> - Added some more explanation (in particular, about why we stick to
> all
> =C2=A0 CPUs for the soft affinity) in both commit message and comment
> - Remove spurious (and non-necessary) credit2 change
>=20
> [1]
> https://lore.kernel.org/xen-devel/e061a647cd77a36834e2085a96a07caa785c506=
6.camel@suse.com/
> ---
> =C2=A0xen/common/sched/core.c |=C2=A0=C2=A0 63 ++++++++++++++++++++++++++=
+++--------
> ----------
> =C2=A01 file changed, 39 insertions(+), 24 deletions(-)
>=20
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index 379a791d62..0585c643a5 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -571,12 +571,46 @@ int sched_init_vcpu(struct vcpu *v)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 1;
> =C2=A0=C2=A0=C2=A0=C2=A0 }
> =C2=A0
> -=C2=A0=C2=A0=C2=A0 /*
> -=C2=A0=C2=A0=C2=A0=C2=A0 * Initialize affinity settings. The idler, and =
potentially
> -=C2=A0=C2=A0=C2=A0=C2=A0 * domain-0 VCPUs, are pinned onto their respect=
ive physical
> CPUs.
> -=C2=A0=C2=A0=C2=A0=C2=A0 */
> -=C2=A0=C2=A0=C2=A0 if ( is_idle_domain(d) || (is_control_domain(d) &&
> opt_dom0_vcpus_pin) )
> +=C2=A0=C2=A0=C2=A0 if ( is_idle_domain(d) )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Idle vCPUs are always pinn=
ed onto their respective pCPUs
> */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sched_set_affinity(unit, cpum=
ask_of(processor),
> &cpumask_all);
> +=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 else if ( pv_shim && v->vcpu_id =3D=3D 0 )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * PV-shim: vcpus are pi=
nned 1:1. Initially only 1 cpu is
> online,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * others will be dealt =
with when onlining them. This avoids
> pinning
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * a vcpu to a not yet o=
nline cpu here.
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sched_set_affinity(unit, cpum=
ask_of(0), cpumask_of(0));
> +=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 else if ( is_control_domain(d) && opt_dom0_vcpus_pin =
)
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * If dom0_vcpus_pin is =
specified, dom0 vCPUs are pinned 1:1
> to
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * their respective pCPU=
s too.
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sched_set_affinity(unit,=
 cpumask_of(processor),
> &cpumask_all);
> +=C2=A0=C2=A0=C2=A0 }
> +#ifdef CONFIG_X86
> +=C2=A0=C2=A0=C2=A0 else if ( is_control_domain(d) )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * In absence of dom0_vc=
pus_pin instead, the hard and soft
> affinity of
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * dom0 is controlled by=
 the (x86 only) dom0_nodes
> parameter. At this
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * point it has been par=
sed and decoded into the dom0_cpus
> mask.
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Note that we always honor w=
hat user explicitly requested,
> for both
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * hard and soft affinity, wit=
hout doing any dynamic
> computation of
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * either of them.
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !dom0_affinity_relaxed )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sched=
_set_affinity(unit, &dom0_cpus, &cpumask_all);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sched=
_set_affinity(unit, &cpumask_all, &dom0_cpus);
> +=C2=A0=C2=A0=C2=A0 }
> +#endif
> =C2=A0=C2=A0=C2=A0=C2=A0 else
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sched_set_affinity(unit,=
 &cpumask_all, &cpumask_all);
> =C2=A0
> @@ -3402,29 +3436,10 @@ void wait(void)
> =C2=A0void __init sched_setup_dom0_vcpus(struct domain *d)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned int i;
> -=C2=A0=C2=A0=C2=A0 struct sched_unit *unit;
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 for ( i =3D 1; i < d->max_vcpus; i++ )
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vcpu_create(d, i);
> =C2=A0
> -=C2=A0=C2=A0=C2=A0 /*
> -=C2=A0=C2=A0=C2=A0=C2=A0 * PV-shim: vcpus are pinned 1:1.
> -=C2=A0=C2=A0=C2=A0=C2=A0 * Initially only 1 cpu is online, others will b=
e dealt with
> when
> -=C2=A0=C2=A0=C2=A0=C2=A0 * onlining them. This avoids pinning a vcpu to =
a not yet online
> cpu here.
> -=C2=A0=C2=A0=C2=A0=C2=A0 */
> -=C2=A0=C2=A0=C2=A0 if ( pv_shim )
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sched_set_affinity(d->vcpu[0]=
->sched_unit,
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 cpumask_of(0), cpumask_of(0));
> -=C2=A0=C2=A0=C2=A0 else
> -=C2=A0=C2=A0=C2=A0 {
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for_each_sched_unit ( d, unit=
 )
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( =
!opt_dom0_vcpus_pin && !dom0_affinity_relaxed )
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 sched_set_affinity(unit, &dom0_cpus, NULL);
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sched=
_set_affinity(unit, NULL, &dom0_cpus);
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> -=C2=A0=C2=A0=C2=A0 }
> -
> =C2=A0=C2=A0=C2=A0=C2=A0 domain_update_node_affinity(d);
> =C2=A0}
> =C2=A0#endif
>=20
>=20
>=20

--=20
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)

--=-gk/MoBJLhx61BrwZiEgB
Content-Disposition: attachment;
	filename="0002-xen-sched-setup-dom0-vCPUs-affinity-only-once.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch;
	name="0002-xen-sched-setup-dom0-vCPUs-affinity-only-once.patch";
	charset="UTF-8"

RnJvbSA1MmZkMmIxOGY2YTM5NmY1NmUxZjcwZjg0MjM2MGM5YThkYWE3ZWY3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgpE
YXRlOiBXZWQsIDI3IEFwciAyMDIyIDEzOjIxOjMwICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzJd
IHhlbi9zY2hlZDogc2V0dXAgZG9tMCB2Q1BVcyBhZmZpbml0eSBvbmx5IG9uY2UKClJpZ2h0IG5v
dywgYWZmaW5pdHkgZm9yIGRvbTAgdkNQVXMgaXMgc2V0dXAgaW4gdHdvIHN0ZXBzLiBUaGlzIGlz
IGEKcHJvYmxlbSBhcywgYXQgbGVhc3QgaW4gQ3JlZGl0MiwgdW5pdF9pbnNlcnQoKSBzZWVzIGFu
ZCB1c2VzIHRoZQoiaW50ZXJtZWRpYXRlIiBhZmZpbml0eSwgYW5kIHBsYWNlIHRoZSB2Q1BVcyBv
biBDUFVzIHdoZXJlIHRoZXkgY2Fubm90CmJlIHJ1bi4gQW5kIHRoaXMgaW4gdHVybiByZXN1bHRz
IGluIGJvb3QgaGFuZ3MsIGlmIHRoZSAiZG9tMF9ub2RlcyIKcGFyYW1ldGVyIGlzIHVzZWQuCgpG
aXggdGhpcyBieSBzZXR0aW5nIHVwIHRoZSBhZmZpbml0eSBwcm9wZXJseSBvbmNlIGFuZCBmb3Ig
YWxsLCBpbgpzY2hlZF9pbml0X3ZjcHUoKSBjYWxsZWQgYnkgY3JlYXRlX3ZjcHUoKS4KCk5vdGUg
dGhhdCwgdW5sZXNzIGEgc29mdC1hZmZpbml0eSBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCBmb3Ig
ZG9tMCAoYnkKdXNpbmcgdGhlIHJlbGF4ZWQgbW9kZSBvZiAiZG9tMF9ub2RlcyIpIHdlIHNldCBp
dCB0byB0aGUgZGVmYXVsdCwgd2hpY2gKaXMgYWxsIENQVXMsIGluc3RlYWQgb2YgY29tcHV0aW5n
IGl0IGJhc2luZyBvbiBoYXJkIGFmZmluaXR5IChpZiBhbnkpLgpUaGlzIGlzIGJlY2F1c2UgaGFy
ZCBhbmQgc29mdCBhZmZpbml0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhcwppbmRlcGVuZGVudCB1
c2VyIGNvbnRyb2xsZWQgcHJvcGVydGllcy4gSW4gZmFjdCwgaWYgd2UgZG9yIGRlcml2ZSBkb20w
J3MKc29mdC1hZmZpbml0eSBmcm9tIGl0cyBib290LXRpbWUgaGFyZC1hZmZpbml0eSwgc3VjaCBj
b21wdXRlZCB2YWx1ZSB3aWxsCmNvbnRpbnVlIHRvIGJlIHVzZWQgZXZlbiBpZiBsYXRlciB0aGUg
dXNlciBjaGFuZ2VzIHRoZSBoYXJkLWFmZmluaXR5LgpBbmQgdGhpcyBjb3VsZCByZXN1bHQgaW4g
dGhlIHZDUFVzIGJlaGF2aW5nIGRpZmZlcmVudGx5IHRoYW4gd2hhdCB0aGUKdXNlciB3YW50ZWQg
YW5kIGV4cGVjdHMuCgpGaXhlczogZGFmZDkzNmRkZCAoIk1ha2UgY3JlZGl0MiB0aGUgZGVmYXVs
dCBzY2hlZHVsZXIiKQpSZXBvcnRlZC1ieTogT2xhZiBIZXJpbmcgPG9oZXJpbmdAc3VzZS5kZT4K
U2lnbmVkLW9mZi1ieTogRGFyaW8gRmFnZ2lvbGkgPGRmYWdnaW9saUBzdXNlLmNvbT4KLS0tCkNj
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBHZW9yZ2UgRHVubGFwIDxnZW9y
Z2UuZHVubGFwQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIGZyb20gIlJGQyIgWzFdOgotIE1vdmVk
IGhhbmRsaW5nIG9mIHRoZSBzaGltIGNhc2UKLSBBZGRlZCBzb21lIG1vcmUgZXhwbGFuYXRpb24g
KGluIHBhcnRpY3VsYXIsIGFib3V0IHdoeSB3ZSBzdGljayB0byBhbGwKICBDUFVzIGZvciB0aGUg
c29mdCBhZmZpbml0eSkgaW4gYm90aCBjb21taXQgbWVzc2FnZSBhbmQgY29tbWVudAotIFJlbW92
ZSBzcHVyaW91cyAoYW5kIG5vbi1uZWNlc3NhcnkpIGNyZWRpdDIgY2hhbmdlCgpbMV0gaHR0cHM6
Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsL2UwNjFhNjQ3Y2Q3N2EzNjgzNGUyMDg1YTk2YTA3
Y2FhNzg1YzUwNjYuY2FtZWxAc3VzZS5jb20vCi0tLQogeGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMg
fCA2MyArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo
YW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hl
bi9jb21tb24vc2NoZWQvY29yZS5jIGIveGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMKaW5kZXggMzc5
YTc5MWQ2Mi4uYjc5YzNkZGE2NiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMK
KysrIGIveGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMKQEAgLTU3MSwxMiArNTcxLDQ2IEBAIGludCBz
Y2hlZF9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIHJldHVybiAxOwogICAgIH0K
IAotICAgIC8qCi0gICAgICogSW5pdGlhbGl6ZSBhZmZpbml0eSBzZXR0aW5ncy4gVGhlIGlkbGVy
LCBhbmQgcG90ZW50aWFsbHkKLSAgICAgKiBkb21haW4tMCBWQ1BVcywgYXJlIHBpbm5lZCBvbnRv
IHRoZWlyIHJlc3BlY3RpdmUgcGh5c2ljYWwgQ1BVcy4KLSAgICAgKi8KLSAgICBpZiAoIGlzX2lk
bGVfZG9tYWluKGQpIHx8IChpc19jb250cm9sX2RvbWFpbihkKSAmJiBvcHRfZG9tMF92Y3B1c19w
aW4pICkKKyAgICBpZiAoIGlzX2lkbGVfZG9tYWluKGQpICkKKyAgICB7CisgICAgICAgIC8qIElk
bGUgdkNQVXMgYXJlIGFsd2F5cyBwaW5uZWQgb250byB0aGVpciByZXNwZWN0aXZlIHBDUFVzICov
CisgICAgICAgIHNjaGVkX3NldF9hZmZpbml0eSh1bml0LCBjcHVtYXNrX29mKHByb2Nlc3Nvciks
ICZjcHVtYXNrX2FsbCk7CisgICAgfQorICAgIGVsc2UgaWYgKCBwdl9zaGltICYmIHYtPnZjcHVf
aWQgPT0gMCApCisgICAgeworICAgICAgICAvKgorICAgICAgICAgKiBQVi1zaGltOiB2Y3B1cyBh
cmUgcGlubmVkIDE6MS4gSW5pdGlhbGx5IG9ubHkgMSBjcHUgaXMgb25saW5lLAorICAgICAgICAg
KiBvdGhlcnMgd2lsbCBiZSBkZWFsdCB3aXRoIHdoZW4gb25saW5pbmcgdGhlbS4gVGhpcyBhdm9p
ZHMgcGlubmluZworICAgICAgICAgKiBhIHZjcHUgdG8gYSBub3QgeWV0IG9ubGluZSBjcHUgaGVy
ZS4KKyAgICAgICAgICovCisgICAgICAgIHNjaGVkX3NldF9hZmZpbml0eSh1bml0LCBjcHVtYXNr
X29mKDApLCBjcHVtYXNrX29mKDApKTsKKyAgICB9CisgICAgZWxzZSBpZiAoIGlzX2NvbnRyb2xf
ZG9tYWluKGQpICYmIG9wdF9kb20wX3ZjcHVzX3BpbiApCisgICAgeworICAgICAgICAvKgorICAg
ICAgICAgKiBJZiBkb20wX3ZjcHVzX3BpbiBpcyBzcGVjaWZpZWQsIGRvbTAgdkNQVXMgYXJlIHBp
bm5lZCAxOjEgdG8KKyAgICAgICAgICogdGhlaXIgcmVzcGVjdGl2ZSBwQ1BVcyB0b28uCisgICAg
ICAgICAqLwogICAgICAgICBzY2hlZF9zZXRfYWZmaW5pdHkodW5pdCwgY3B1bWFza19vZihwcm9j
ZXNzb3IpLCAmY3B1bWFza19hbGwpOworICAgIH0KKyNpZmRlZiBDT05GSUdfWDg2CisgICAgZWxz
ZSBpZiAoIGlzX2NvbnRyb2xfZG9tYWluKGQpICkKKyAgICB7CisgICAgICAgIC8qCisgICAgICAg
ICAqIEluIGFic2VuY2Ugb2YgZG9tMF92Y3B1c19waW4gaW5zdGVhZCwgdGhlIGhhcmQgYW5kIHNv
ZnQgYWZmaW5pdHkgb2YKKyAgICAgICAgICogZG9tMCBpcyBjb250cm9sbGVkIGJ5IHRoZSAoeDg2
IG9ubHkpIGRvbTBfbm9kZXMgcGFyYW1ldGVyLiBBdCB0aGlzCisgICAgICAgICAqIHBvaW50IGl0
IGhhcyBiZWVuIHBhcnNlZCBhbmQgZGVjb2RlZCBpbnRvIHRoZSBkb20wX2NwdXMgbWFzay4KKyAg
ICAgICAgICoKKyAgICAgICAgICogTm90ZSB0aGF0IHdlIGFsd2F5cyBob25vciB3aGF0IHVzZXIg
ZXhwbGljaXRseSByZXF1ZXN0ZWQsIGZvciBib3RoCisgICAgICAgICAqIGhhcmQgYW5kIHNvZnQg
YWZmaW5pdHksIHdpdGhvdXQgZG9pbmcgYW55IGR5bmFtaWMgY29tcHV0YXRpb24gb2YKKyAgICAg
ICAgICogZWl0aGVyIG9mIHRoZW0uCisgICAgICAgICAqLworICAgICAgICBpZiAoICFkb20wX2Fm
ZmluaXR5X3JlbGF4ZWQgKQorICAgICAgICAgICAgc2NoZWRfc2V0X2FmZmluaXR5KHVuaXQsICZk
b20wX2NwdXMsICZjcHVtYXNrX2FsbCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNjaGVk
X3NldF9hZmZpbml0eSh1bml0LCAmY3B1bWFza19hbGwsICZkb20wX2NwdXMpOworICAgIH0KKyNl
bmRpZgogICAgIGVsc2UKICAgICAgICAgc2NoZWRfc2V0X2FmZmluaXR5KHVuaXQsICZjcHVtYXNr
X2FsbCwgJmNwdW1hc2tfYWxsKTsKIApAQCAtMzQwMiwyOSArMzQzNiwxMCBAQCB2b2lkIHdhaXQo
dm9pZCkKIHZvaWQgX19pbml0IHNjaGVkX3NldHVwX2RvbTBfdmNwdXMoc3RydWN0IGRvbWFpbiAq
ZCkKIHsKICAgICB1bnNpZ25lZCBpbnQgaTsKLSAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdDsK
IAogICAgIGZvciAoIGkgPSAxOyBpIDwgZC0+bWF4X3ZjcHVzOyBpKysgKQogICAgICAgICB2Y3B1
X2NyZWF0ZShkLCBpKTsKIAotICAgIC8qCi0gICAgICogUFYtc2hpbTogdmNwdXMgYXJlIHBpbm5l
ZCAxOjEuCi0gICAgICogSW5pdGlhbGx5IG9ubHkgMSBjcHUgaXMgb25saW5lLCBvdGhlcnMgd2ls
bCBiZSBkZWFsdCB3aXRoIHdoZW4KLSAgICAgKiBvbmxpbmluZyB0aGVtLiBUaGlzIGF2b2lkcyBw
aW5uaW5nIGEgdmNwdSB0byBhIG5vdCB5ZXQgb25saW5lIGNwdSBoZXJlLgotICAgICAqLwotICAg
IGlmICggcHZfc2hpbSApCi0gICAgICAgIHNjaGVkX3NldF9hZmZpbml0eShkLT52Y3B1WzBdLT5z
Y2hlZF91bml0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1bWFza19vZigwKSwgY3B1
bWFza19vZigwKSk7Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgZm9yX2VhY2hfc2NoZWRfdW5p
dCAoIGQsIHVuaXQgKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoICFvcHRfZG9tMF92Y3B1
c19waW4gJiYgIWRvbTBfYWZmaW5pdHlfcmVsYXhlZCApCi0gICAgICAgICAgICAgICAgc2NoZWRf
c2V0X2FmZmluaXR5KHVuaXQsICZkb20wX2NwdXMsIE5VTEwpOwotICAgICAgICAgICAgc2NoZWRf
c2V0X2FmZmluaXR5KHVuaXQsIE5VTEwsICZkb20wX2NwdXMpOwotICAgICAgICB9Ci0gICAgfQot
CiAgICAgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5KGQpOwogfQogI2VuZGlmCi0tIAoyLjM3
LjEKCg==


--=-gk/MoBJLhx61BrwZiEgB--

--=-RLW+QMWkQgjRlSGOIFYG
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmLpLuEACgkQFkJ4iaW4
c+4CdQ/9FcN9UKUn9MCNBGGzkMbj3Dn+GPiuvO8KzlQ44IRsUFAWrgm+wPp8iS1N
tr0Kej8CBpGfCM07xbkcbsyUC7h6+2SfqvUE8f6RE7VvJeiEB3B0VIylSAranWsO
9HDXy+ocZR1tvLeFFID2CFAquvWWF5MvsLPVcWUHwWySMwwORKPv9cmNZw43hG1f
gq88AWQK41kcmtuQZzAHRAiFiaIG6SfFzCe3ss2tj2HPmQH1XtlrMWgusctnakv1
RmnKhhEHoCPj6V9bqS6qQThegBevt08G/mtJw0LoresxiXM9/BuY+3L0fj9HL4J4
4akukZeUykCZV1y2eo5ZfSywrBzYXh4v1vsDs+V3zVWip9Z4yV3+6Mqmfd2n1TAg
hI9+7x7li+azRQi6MRIJVoadrPExH3dt05zOc0baroWvEvCV6Odas/g9PM/wQ8xk
yKt4BvnoMD4mSp61g6DNGeu0cWzM4JA+NzDybJdDkWieJkg7VF4oODP1JA/Tmd3r
r36lZQACfr27pWKSdLlY5P2QJCWWlcUZ9yeCH1krSDNDNTIC5WsDDfO+j8kRZk6m
SaApWC4r3858bI82j/OhWsXKFI2pQgAe+ReBJo+ChZTsJJJZVOq8LHc8IgKOfNPF
1Nh0LUyx0NmoG3OCPVR/Zm/+DZuisuwfCE2ZpwEh0CqI51LdrOo=
=LuMy
-----END PGP SIGNATURE-----

--=-RLW+QMWkQgjRlSGOIFYG--


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 14:06:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 14:06:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379375.612781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsXr-0004MX-TQ; Tue, 02 Aug 2022 14:06:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379375.612781; Tue, 02 Aug 2022 14:06:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIsXr-0004MQ-Qf; Tue, 02 Aug 2022 14:06:51 +0000
Received: by outflank-mailman (input) for mailman id 379375;
 Tue, 02 Aug 2022 14:06:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D7Wv=YG=kolabnow.com=brunoce@srs-se1.protection.inumbo.net>)
 id 1oIsXr-0004MK-CT
 for Xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 14:06:51 +0000
Received: from mx.kolabnow.com (mx.kolabnow.com [212.103.80.155])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a2f8fe1-126c-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 16:06:50 +0200 (CEST)
Received: from localhost (unknown [127.0.0.1])
 by mx.kolabnow.com (Postfix) with ESMTP id C15FA171C
 for <Xen-devel@lists.xenproject.org>; Tue,  2 Aug 2022 16:06:48 +0200 (CEST)
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id PXMYdj0ytXwi for <Xen-devel@lists.xenproject.org>;
 Tue,  2 Aug 2022 16:06:48 +0200 (CEST)
Received: from int-mx001.mykolab.com (unknown [10.9.13.1])
 by mx.kolabnow.com (Postfix) with ESMTPS id CC00B45A
 for <Xen-devel@lists.xenproject.org>; Tue,  2 Aug 2022 16:06:47 +0200 (CEST)
Received: from ext-subm001.mykolab.com (unknown [10.9.6.1])
 by int-mx001.mykolab.com (Postfix) with ESMTPS id 94D22C4D
 for <Xen-devel@lists.xenproject.org>; Tue,  2 Aug 2022 16:06:47 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a2f8fe1-126c-11ed-924f-1f966e50362f
Authentication-Results: ext-mx-out002.mykolab.com (amavisd-new);
	dkim=pass (4096-bit key) reason="pass (just generated, assumed good)"
	header.d=kolabnow.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
	message-id:subject:subject:date:date:mime-version:from:from
	:content-transfer-encoding:content-type:content-type:received
	:received:received; s=dkim20160331; t=1659449208; x=1661263609;
	 bh=SSkDmv9yFltTBSZ6Bp/nqa3BLv5L6Y32jKUVFzFwz9Q=; b=3aBHee21r3sj
	GMLn/FQGQ8rpkUGiBhUpjYSOjwX5Y4bxZ2Kte5zDgcQy+92LVpoD9ZwqRSAbUe9t
	/OGt9evDIgyz6nN93PEPsFXXNBaCabpQgoIAoewUbw0/GOiSW2fwRk00gKICE0Xt
	hZ2ei7YGNF+JcfpwuUHwTBYaLvZK67N7fR4KCAED2VO4v/sjPdcFUPXI9WXBaiYD
	13rnA7WpqubRnke6lVMzV3UaoehfQ8c9jrZ2Z5fPdNJFRzzV6Ee3k3rQeQigpx8H
	zUkZpr2B+8qPQhXLiDP3Ebqsvds8ZgX3/i2AhjOVlCiZusHtNub6TfKvR3rJP+6w
	V+lneQVqKKDjqS1Zdgi8+cgEvTAVGYnQpJxeq6nhqjmWXgrKLo++D0wCcTwGY6db
	BMuKQP6aXuw6J0hkgykzREz4PrcWO0DgsgH8yYgQvmL56a6tr9z3+yT3ljq6oqNN
	6JT4FGbMCEfb+tRQVlS28ohst0vvrgSE2DFLJvriahSkorS0vmvOFJZZ0MVxZLhO
	pmzasMfIf2xQoqRu8t7dBKv3x8XNwr23GiX0pgY0firaA4pwi9OeztE5V0WFauze
	hA2GMpUCSxd+Ahvkue35tzvn4Kvo/yGshxhKf2XjAGPG9EpvjrW9qPiF6d2JLdSk
	A6b61z4HCrHi2uvDMiocFcpystcHF0Q=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-10 required=5
	tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001]
	autolearn=ham autolearn_force=no
Content-Type: multipart/alternative; boundary=Apple-Mail-848B3C4E-E5DC-4337-ACD2-40ACA98765F8
Content-Transfer-Encoding: 7bit
From: Bruno <brunoce@kolabnow.com>
Mime-Version: 1.0 (1.0)
Date: Tue, 2 Aug 2022 15:06:45 +0100
Subject: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Message-Id: <7331DC21-5ADC-4785-B663-742C53710C2A@kolabnow.com>
To: Xen-devel@lists.xenproject.org


--Apple-Mail-848B3C4E-E5DC-4337-ACD2-40ACA98765F8
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable

Hello Xen-Devel.

I would like to report no compatible firmware for a new laptop Acer Aspire 5=
 A517-52G.

The firmware problem I witness is ACIP errors. Xen does not boot.

These ACIP errors lead to boot into initramfs without mounting storage capab=
ilities.

There is extensive logs, dmesg and attempts I recently send to Xen-Users and=
 got a lot of help and feedback there on a long thread of attempts, but we h=
ave hit a lack of support at this point.

https://lists.xenproject.org/archives/html/xen-users/2022-07/msg00061.html

Can we please have an update to allow this hardware to run Xen.

Kind regards,

Bruno Schroeder=20




--Apple-Mail-848B3C4E-E5DC-4337-ACD2-40ACA98765F8
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto">Hello Xen-Devel.<div dir=3D"ltr"></div><div=
><br></div><div>I would like to report no compatible firmware for a new lapt=
op Acer Aspire 5 A517-52G.</div><div><br></div><div>The firmware problem I w=
itness is ACIP errors. Xen does not boot.</div><div><br></div><div>These ACI=
P errors lead to boot into initramfs without mounting storage capabilities.<=
/div><div><br></div><div>There is extensive logs, dmesg and attempts I recen=
tly send to Xen-Users and got a lot of help and feedback there on a long thr=
ead of attempts, but we have hit a lack of support at this point.</div><div>=
<br></div><div><a href=3D"https://lists.xenproject.org/archives/html/xen-use=
rs/2022-07/msg00061.html">https://lists.xenproject.org/archives/html/xen-use=
rs/2022-07/msg00061.html</a></div><div><br></div><div>Can we please have an u=
pdate to allow this hardware to run Xen.</div><div><br></div><div>Kind regar=
ds,</div><div><br></div><div>Bruno Schroeder&nbsp;</div><div><br></div><div>=
<br></div><div><br></div></body></html>=

--Apple-Mail-848B3C4E-E5DC-4337-ACD2-40ACA98765F8--


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 14:57:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 14:57:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379381.612792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oItKO-0001Dl-Ll; Tue, 02 Aug 2022 14:57:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379381.612792; Tue, 02 Aug 2022 14:57:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oItKO-0001De-Hl; Tue, 02 Aug 2022 14:57:00 +0000
Received: by outflank-mailman (input) for mailman id 379381;
 Tue, 02 Aug 2022 14:56:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ix6t=YG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oItKN-0001DY-B6
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 14:56:59 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20072.outbound.protection.outlook.com [40.107.2.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a984234-1273-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 16:56:57 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB4901.eurprd04.prod.outlook.com (2603:10a6:20b:1::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Tue, 2 Aug
 2022 14:56:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 14:56:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a984234-1273-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RQT5ishN34BZE+t1P8buFHyh1Ab6Gs43Liy9994iRu5Iz8nIS4felnXXF9OP/pCpoOw+4cMh4Fd/vinmBZP9MUHgBeqkJyzLensT9yK2gpEcv5TcZAEyKRaXb1c2vi0gsou+oAsfcE04efv8kuf+Xl48LH8ZEhGNo6t8rkw5N0LSA4ILEeDigeCB0iZctF/8zH35QpdF5H4MHkUqtPChPAJMFHgdhNxOEEhAHckqmNlgjGWGB5N76hmSQMCVnm9GCbohBn7DaYdvUoQXNV7MWC6QRTZ47PX5Kge8bxetWAYFTYuz7fsjkhEQlPvD+0v/Lhh45Ud7mipB1ERoQdjW6A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t22pg2WEGbx9CTK1hnS8nq8iEi7EGiN8CNppeN4TCEY=;
 b=IvSywDL3Jb7Y1SPotq3eY4yZKODSSXd0WsP4AIB9I4bRW918nQdnbLc/tIVwUHoFSwrDdYw3aNgq8g19pDAAkknhxTnAH7LGMPE0fKte7jdm9DUaC64C9wFfIKrcxcLyHXMcRiHnalje8HBgtFz75JEu9aboRb8bEko9sJa0oq8mLsQCL2JFlSIPd72cyHkDK/EvL6kfIzGNkxccCFj0ombrQmReVbiHuE8f1SYTZCY/COzcZVf35At+kcTkyRF3/Oe/4I38KpGYpZx87SdNnXvXF8hzJfq15cvLuGpYvvvrWbhfZAvqd7jdudR9X7Tpu10BsDnR0t26a44CrTU/bw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t22pg2WEGbx9CTK1hnS8nq8iEi7EGiN8CNppeN4TCEY=;
 b=BjqRkcBIkIsDP107akfBeVV8Ykpl8G+186gB74AmWZrxmlyj4I3u8PRKttAW2qtO1EjOOIRbZjsf/gtR0PVIz/CYNLbt3Gm6XXiUa4DPx/EWDantLBe+1vfAIg59g95BRkdwp74VfUevz/MSYdfhxslYO1XrmAJrGVSnXCmqF0IwvgSlk8XuAFDWaldkcMPPzo5YaaMjbaRRlrzconvz1yk14gqqW9hqnzYy8+UP5MCM+/HYwI+lUpf8SMSPoJ0BKiUGu9UjQTzdq6btpwIP+72MeQEb705V8tXc6vhqfnQfWwL6dO2CfAdmwi/EHLt75Jz5/0IoxyG2VT2ilhGPwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <473a337f-3211-c588-9398-b9f9a18926e5@suse.com>
Date: Tue, 2 Aug 2022 16:56:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 1/2] xen: sched: dom0_vcpus_pin should only affect dom0
Content-Language: en-US
To: Dario Faggioli <dfaggioli@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
 <165944829054.3531.818489021551433260.stgit@tumbleweed.Wayrath>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <165944829054.3531.818489021551433260.stgit@tumbleweed.Wayrath>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0013.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:89::26) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cae440e1-2a48-4cba-935d-08da74973da8
X-MS-TrafficTypeDiagnostic: AM6PR04MB4901:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JOChJ1C8VFV5Ch22+IBYgW94+5toEasOh8HH1L+Fi+lp77CyH7weIqSaiOTAUitFvH/ktXMCtz1cmKQgxjEUFv3yGLEMKyJzbcxSf+w6JAWpyZnJ31LyZJE+jxKvqHgReA4jt6nxzCuSuxTVRCQvkVc00VreoN6f6zvzBjdSNIFLnPdlwvQJRQFbis0BgONkrEk54PVbLHGPc03bIgxAUDIkEgBcsxL2AS8WKzh4FAZK+gL41A/zmK2m/lvURLVUWbyF0Hnz4cP9+ckZjqtfq2G1ovY8N1m4RJhzvxqNWCksEUxlYfYTvyDOZWCRXEczDUOgWYvmjLT/MVjulsWjeumBvCRNnRCk74JFVkZHSjCyaspTr7DXJSpFszYh6FK2+UtWLdOx++59WFlpneSmsF7AAzbtTM9B1HFMY0qwU1uFUQr3yL+zhttuM9iF4Lvqlc06fUw21KrjsygTlRf4Lwem2DCQwMmcko+8NYKoCLtM4y0L+2A7NfFzLZ+PDELsLf/BuZtq/4KS/0FEATDh8N6ZZ/qCFhDTSvSnI+tHZ0uvGV/WeO7uCvx16s62NTyYn8/KdOJntWwBLArN3/yAuplSU1MZ0kY9phXsSnra9siAMDE+tJBV1JQ/DB0BncsOdd6zzECBbyEYEXgllw/ZBp3sbIR58cdGLsvdd71j5CycT0YHBrslMzimFTHb+EGgyb5ptWWWF/+W5chg8BDuxgH5EHpCwkfmBNIg7QMlEn5f0LdZnGkRd7pxCay/IILt5EqXGpmcUwy1i83VGCgVfoxMK69rvRrUgG+1cz0Pp2fDVhwOfxkvkOH2HY2rb3tbzGBi/YwQPKqhNlVX94ddUQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(39860400002)(376002)(396003)(366004)(26005)(186003)(86362001)(6512007)(478600001)(31696002)(38100700002)(6486002)(2616005)(8936002)(6506007)(53546011)(2906002)(41300700001)(6862004)(5660300002)(6636002)(31686004)(37006003)(4744005)(36756003)(316002)(8676002)(66946007)(66556008)(66476007)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amVKQnhWY1RiYjUyZTFEeFJLRzJMdDdxWnVaeVBpdEFtM09oNnhMaFo2aWZX?=
 =?utf-8?B?Y1dWQzBVclNpamxlZ3c2RFpZVk1uSDNBNWQwdmhUT1d5ZWxxNi9TbkFnWnpt?=
 =?utf-8?B?TE4rVXFEWGtVOTNHVjJRMW1EdXFUSDBhUTFkKzJXL2szaE1paUlhS2RxSDJy?=
 =?utf-8?B?K1RUYzh1WXNENlE1dENuZmtLT0VnSTFMeFlmUEsrTngvNnVSTmFBcExTZVBE?=
 =?utf-8?B?UngwOFRFdW4ybDdyRDh2VUl5L3hGSnRIaXpmbjJVTnJUT3Z4VnBhUmpUdEt1?=
 =?utf-8?B?cFE3bDRkOUxkbkZndGF1aFFxSmc0NXVJWlNqZkxCYzJZVjZFQ1l3emJmV2ht?=
 =?utf-8?B?b1pkQU53aE5YamdjRzhadFNYMTFMY280OFpTY1pVcmZrTU1nTDRsNHdjT1Jo?=
 =?utf-8?B?RlVJd3BRUkJPMXI2Mi80MXlFRytyVWdXKzZMZXNpdnpKbVNjcXM3cmxDbnBZ?=
 =?utf-8?B?dWY3WmlHUThOOXFPckZkWElXTVRZOTFWSjNJRUZpKzd1b3pxZ0RETlpoVWdi?=
 =?utf-8?B?QU1GZlM1WDBMdWV0Y2FDNjVlNVhmdmc5YnRqclhRWHhmbzJFU1ByM2pJaWJr?=
 =?utf-8?B?QURZRi91Ukl5ajNMVWxsRnU5VlJCV0s4YnRNc0d3SGhsRXlZWUZNUEVJNHV6?=
 =?utf-8?B?bXBHU2NmRTRjNzBtYTFXejNBRVhSM2hCNzJYSjYydFo0dFJXS1dwQlkzYTJi?=
 =?utf-8?B?WXJVTHpGRkMvN0dQM29BYWFieUpYT3QvKzV6ems3MHNOTklNOFQzdGNBRGc1?=
 =?utf-8?B?N1JGRkdMeFUzSDYvRUFuRkhCRjU0a3E4bTFXdjYxVTlqTEFBNS9iYW5zQWhW?=
 =?utf-8?B?enlMZDNhb1AyV1BFQkt4bStnbVNHclRhNjlxV1JHZWRzMWVGWEpwTllQWUhp?=
 =?utf-8?B?Q1JjcEhXTU9tSnpnemNCaXNSVjF4WFlnWkNMd2ZyVjlsSUpQKzd5YVZ4Uisv?=
 =?utf-8?B?KzY2eUVZc3d3eFZkMk1DeXkwYmxGSmNZenNiVUtNa0hBTTROUzhNM1dnN3I5?=
 =?utf-8?B?cDRScDZOQUxhTE5HQ0VIOEM4VndBMjYzK1I5aXM4RmEwWDhQTjgzYU5rclBF?=
 =?utf-8?B?WFBxSU0yVXVaVmhCdHk0ckltSkptK0huY0RGWE9OS2tERGRNVVBHeXJwTk9J?=
 =?utf-8?B?YmdwTU1hM1dEcXNPY1U5Y0YyUXg4NHltZEV4aytSWjcxUzdadEFvYUk1YVB2?=
 =?utf-8?B?VEt6bmlDcmg4b0s5RFNodzVmS0FuZXJYRnpnWk1FbjlnaEp2cGI3aEZ5RFl4?=
 =?utf-8?B?WlFmSHl4ZE5NNHRqSkttOER1QmZGVEJ1Q285azRPdVAvSjRJRmhVcklsY2dH?=
 =?utf-8?B?d25lSFpzM3U3K05lTFhabnEvRGZHcnJlTk14SDA1T2NnMC9Rekhad2ZrdHB4?=
 =?utf-8?B?ZGZmclB0SXRIZEJhSDV0VXVMYVV6Sm51UUhvNk1qMDJVMHdtSmNoc3Bwb3NZ?=
 =?utf-8?B?c1J3NGs3N29Kb3hha2tCMVBUZmhKT2grMm14SXRoVSt0UHljUW1QQy9mYk1m?=
 =?utf-8?B?cHlZUVR0ZFYwdWxQWkJsV2lMUjNUS3FwaWQvcjh5ekhjQTdxUzdxNzJlSldw?=
 =?utf-8?B?VkN2aVN6OHpKNzdHMTZnaVFHV0NsekFUOElwZ21pNGhJN1c5K0hLM3J2K095?=
 =?utf-8?B?a29sSndZcC90S0JyR1k5dnpOMDVNblNjWDYwRktUT25wcm81S2pVcGhHL2M2?=
 =?utf-8?B?c1pYc21NVnJyOEU5RExqSE5Sdm90a253UlhlMEZPYy9DMTdleGk4dU1kc1lT?=
 =?utf-8?B?UURDV3VkbjdCTXpiekk5SGpvbVdaZ1R2TmpteFNiRWFTNE9FeFZXYUo4V0tJ?=
 =?utf-8?B?VElxZUZ6cnFxd01vMm5VRzhzSW91WlpPcE0vbkF1SEcrdGNJeHdUT3ZmYmEw?=
 =?utf-8?B?Qzg5MkFyMXJEcmErZ21UUzNGV25XZGVxVUx4VGdZU2J0ZGM2aXNIdnBwMllP?=
 =?utf-8?B?b3Q0WER2aTlCbVZzOXZteGh5RTFSSm1FU1BTWHpOb1FGTVV6MGRqWklMbDNW?=
 =?utf-8?B?cytOZTZIVU1vNVRUUmFXV1pEbGpZVGhtb3VLMHYxQUV1T2pESGVwM3NlOWJC?=
 =?utf-8?B?MHZhV0w0V1BzZHpqamprWUMvUDBPeVdQRFBKL0owNlJLQ1Nlc3JhaDFKTnVs?=
 =?utf-8?Q?2J0+UGqdgsA5pLS/8fZZRTIHA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cae440e1-2a48-4cba-935d-08da74973da8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2022 14:56:55.1250
 (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: nzRXBxP+X57mHbbTXhOQTe7RvVuUiog5TccjXVbl6GHZeqPpEq1YJrWROvCmrkni09WpY6FrmRRiX8Vi/7EoKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4901

On 02.08.2022 15:51, Dario Faggioli wrote:
> If dom0_vcpus_pin is used, make sure the pinning is only done for
> dom0 vcpus, instead of for the hardware domain (which might not be
> dom0 at all!).

Hmm, but the control domain may not be either, as it's derived from
d->is_privileged. I think ...

> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -575,7 +575,7 @@ int sched_init_vcpu(struct vcpu *v)
>       * Initialize affinity settings. The idler, and potentially
>       * domain-0 VCPUs, are pinned onto their respective physical CPUs.
>       */
> -    if ( is_idle_domain(d) || (is_hardware_domain(d) && opt_dom0_vcpus_pin) )
> +    if ( is_idle_domain(d) || (is_control_domain(d) && opt_dom0_vcpus_pin) )

... for it to be strictly only Dom0, you want to check d->domain_id here.

Or else I guess the description wants adjusting.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 15:15:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 15:15:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379387.612802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oItbp-0003bG-52; Tue, 02 Aug 2022 15:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379387.612802; Tue, 02 Aug 2022 15:15:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oItbp-0003b9-2Q; Tue, 02 Aug 2022 15:15:01 +0000
Received: by outflank-mailman (input) for mailman id 379387;
 Tue, 02 Aug 2022 15:14:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ix6t=YG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oItbn-0003b3-H0
 for Xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 15:14:59 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140042.outbound.protection.outlook.com [40.107.14.42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dedba071-1275-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 17:14:58 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR0402MB3633.eurprd04.prod.outlook.com (2603:10a6:208:c::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 2 Aug
 2022 15:14:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 15:14:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dedba071-1275-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e3t2LH9reOGoQgaLSMHlLPViSGnaQBhxV0Oxxotr6QnitepZ7eSuXtQifm1jXPnioxqtGW3+24CK87tryeNtV7zFapetX1cS2iadC32FidHEiycWkjTG+hU4Wq/u3xPZaQde05lzgOp6+JkP6ihLQm9stJQWg0fwyiae26RQVLPvPef5nbpriadSZB0EMR+Bp7XjFpkVgjUUhQxv6IXXSa5LvWlXTxPMFo4PPuUp5cxXas64jZCRbOexcBVtOeIAYLk6SMSGYIrULAoqtwqbPiKSYhGOT4c4wABgZSPlN0EFbry2FJpyPkD5lslzI7J0DUPq/ZlA3YYUy14nJdgv0A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2YShD9U0wNmUij6YaJtB3efLoxcIMfERPZcluDiOLoA=;
 b=gcLV38IUsVfzM8QeeotHq8dCstejj6KKw9GkLtwYJhVTiwPW2llw0SOoWaHV+nvJ/zmNy1aBV+6sveEiR7DEk4bgL8xgukKE0gviDBFOPpzaZiHiqH0sEAVzy59LAf6CRtloJ1+4VjZ5CmeGsUtQmnFDW+RbHP4i73dsAozIz3tDuL9NkjxVoA6+z5u3vOsvUSMhHKKCUvHeKTY4Yt1ZSF9r30ySSn/GW0Df7LmDJvbnN4VB072FhBBfG97xSAoCL1/kZ8QLaxXJJKLT8iIzOb5TN1W90p8W5r5XGwEz6+OjEJG5cEJ6mEAqkZqX3mmatcAmZTeNOhGYFgvXTrYa1A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2YShD9U0wNmUij6YaJtB3efLoxcIMfERPZcluDiOLoA=;
 b=mjiWJ81C42xzSt2ua+BnJql2eGaiXnFgLvV1TGX5XO2MijvWCB4pokZu380Tx+O4/EpnbpIY/iewUIQaHx2tb2J67sXE80NxKoSz9vZ2N+UF/JqL+m12UyFgLrHMMTGJMQjoA98K9lPgr3pTPwVcsR2WXlom8FtCwTDgjJUQ4EQzjymw1c+JRRQlF9uPZnGtqE3qZD75UNyl+ad7T4x94fFdHS3eZf1A7AcxmmOPyA6NTWAiFdtUl2enVX8BPgMwqj7x52ccUqS7VH3Yvdde6SOYtHwg/RH51TfCyslJWMWz5KVTs4kbeMKlciILSWFvFCLUvlbvjYWW3kly1NnGrQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <87c86770-9244-dbad-23ba-d449b2c3ccb7@suse.com>
Date: Tue, 2 Aug 2022 17:14:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Content-Language: en-US
To: Bruno <brunoce@kolabnow.com>
References: <7331DC21-5ADC-4785-B663-742C53710C2A@kolabnow.com>
Cc: Xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7331DC21-5ADC-4785-B663-742C53710C2A@kolabnow.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8a5aa5ad-0c36-47af-4fb2-08da7499c221
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3633:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xsrglUTnxVEIN5V5xIyvZdSYHJpA1SiiWkRFENtbBvxKOgaJYuLY2v0O6wnWTcVTWPyUVQ0KWqHpCN8ghwGdzvgBSLC1EoX8jYW3H3UK+4ZEVVxU3UlULKTX2BLZAcX8+g33tPlzuOMMtYOInetfSk8T7OkiFJQVw9WfaEVFgXW0WCSiEYxj8pLbJziofUgHFLZY9cqfeUt553V3tmxocGORKjMfSqQLeobKjpV1HeQb1Ee9/EO8idf8VE8lmoo3n/jca1ZlBeB2NFD1Il0ksgFh6+f0eoRoOfw6O9qhBt3+H17uynEZqWMaRF3v9U6Uk1eM2Gz1I9fp35O7IH5qDOZ5+6n2hVRZcG8ymGoK3PBsVjyMFzeSp+MFiSaBpWUxWQ7dBlOK3JItYUyEw3reCq5b7GNNnyTMc/bbirLdzrc0gxqJj9a+3ipjTr9Z/RwOgkOlAd7AftBTVDZz1ovTP0giFhgoBXOh1cQnZOVC9BE9xDHPrUDp4ac+PlKl6c2ZxDXvcQ5tBErxlxBszA5uROzGomchYG6zgiDcj23ju8V9A9pgAJHo4alldRSPddAh/O9uZnpPaHGvpu9O02DX11IkO5OfjE9jgOCILP4xXTWBAktTOUAT3p6PnDFnOWSvvNKWuRSarfMCr4xtqOEWPD+gusd0GaMgZ+BqW9GFOeRs2j5c0FhtbU6jPpumccD/SX0p/4XDTVE514CarvDvBSPeXdXyJjxMq0dcunDU8qoUH5qgzKZfnm9rObCqLEAT6ubDfa4XHUXGiL4PjYTrPq54jzN34C4+jhtNt/ysbjMtg3qe+doGiPUxxNrz/yy87v/pfzWOhALJQ98O9TLK/CzcwMbAz/ADAkOkFq9N6jo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(366004)(39860400002)(376002)(396003)(8676002)(4326008)(66556008)(66476007)(5660300002)(316002)(86362001)(6506007)(53546011)(38100700002)(186003)(8936002)(66946007)(31696002)(26005)(6916009)(2616005)(478600001)(6512007)(966005)(36756003)(31686004)(41300700001)(6486002)(2906002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXl5MHJCTmI3WDVTSjUzOEhCZndvZXBXVzJoMFVMeHhZMzNGc0VxeVZsWk9v?=
 =?utf-8?B?WWNwazVLNVdLOEVFYUk5bHFuVW40RkZvRmpSQ2hHdlZ2MFNoQVRyQ1BDMTlt?=
 =?utf-8?B?SHNVdGduRk1JSzRoTDVRMGdvVzZyTXNkeW4vbHRldG9VSVNNaEZ1NWtMcDNJ?=
 =?utf-8?B?UGNhUm1FSG9WSFBJT3lJeWN1ZEk5am9BSHV2YXdqOXdveGQ5YjAvYUxUN2dl?=
 =?utf-8?B?cm1WQ0I0cnlnT09VanY4S2c0bW90ZGpxb2NBOEdWRzRwMFg3MVJYMVdubHIy?=
 =?utf-8?B?ektRRWFPOFNwbTBiOFBBWFlHRjBvL1FaMDV2bW56UzFkRndkMklyUnQ4REs5?=
 =?utf-8?B?clVJcEJxcEhsTE1xTzIwV3ZMRHRwQkY5RTFnVC9sY3BDcVNaS1Q0QjdqUGFJ?=
 =?utf-8?B?TWtOUHp0YW4rMlZpZ0xxcE1SODZEVUxxWEJPajN1Qmp4aUh1QVVzWDRrdTNX?=
 =?utf-8?B?ekdvZEVEeUZJMUJqK0kyU2xOU0Q3ZFl1ek5Zb0s4VUtSdDZIUWdWTW9xSmxs?=
 =?utf-8?B?dy9nR0dLNUxOcmpsQXNPVWVGV0JKY0NzMWplcEYrdG1wOXhUaFlicWIrNDAx?=
 =?utf-8?B?N0h3NytrMVJnclAxWFE5UHNoQkVGbExtSTFnN3Jua3dYQU0yMDYzejIzTWhr?=
 =?utf-8?B?QTdxWDE4YjJrY2pBRk5ZSjNuT2tIUnRiMHJ3bk5ndE5VNDRpWXlWYTZ5TUlk?=
 =?utf-8?B?TjZHWk0zSnU5N2dmaGpXMm9wRFhiUWVOaThucWhYWC81KzJiakpSRlljaFVB?=
 =?utf-8?B?dTV3dDYzV24zYVYrQXIyb0oySldmQ2ZyMGNFRSs1L0N1RDdjVlJxc3ZvNEpF?=
 =?utf-8?B?UWFJZGhJNVJHY1YwQ2FJQWtpS3UvOGpWSDlnRkdOL0JiWnhhNWorUC94a0xr?=
 =?utf-8?B?M3Q4bi9GTXM4OUl5dXdYeXByWGpZKzJiR3VMMkFVNC96cjdpbEdwTHE3dkY4?=
 =?utf-8?B?cXJmNzMwa2tYamNQWDdNUkxKVTV0SFNYalVXaWkvYTIreUFlVTV3UkkwNkVS?=
 =?utf-8?B?MXhPN2VyMTdqbitTQzNrTkRPQ0tmbkVrbHJ6QTUrSFhKaFhyeDhEUFBsTHdV?=
 =?utf-8?B?T0tnQXNFZENFdHoycFFPWTY3Q3hYNjR3TzN3bTZUcnNhVTZ2UzlqaWxxS3h6?=
 =?utf-8?B?NjVnNTlpRWd5UmNrcDNabmc0ODFyaThFa0RJN21Ib3Z5QlhtRHNRSEVkbTdL?=
 =?utf-8?B?WWZPQWFFRjNmSUtRcTNVblpYdkFaMXlVZXpjRkhVSGtOdm9TT0hXVGpERHlI?=
 =?utf-8?B?UzZrc2lweUdDL1dnQUlJTDBLQ2NnaHVkemxMNlVBQXpxSHpoVkJsdThEb0Zk?=
 =?utf-8?B?Z0tqdVBpWks4WHFXZXp2S3d5elNRa3RZYWpLRjVnY1NRYU5sZHhVN1hoYklr?=
 =?utf-8?B?RWhhRTcxbUVoZnlMWVBvRGc0R2REU3ZYSDRIZjh5S0J5Y1lIU1p1ZDZZaXdG?=
 =?utf-8?B?M2NWcFBWbzVxbzJVMXpmR0hHU2M5NzdqNGcxY2kxeTloTk1SVWtYU0FnbU1H?=
 =?utf-8?B?ZHhiaU96RFFIdVNreTBtZm1jZkEzZDM4R28xUGtEaHVmOW1ad3RzZlRrK0Vq?=
 =?utf-8?B?UExrRXVlRUJSWkNvOHk1ZHZyQUNjbzBqSGVWU3cwZTFIbG82QkhXWkcvRTly?=
 =?utf-8?B?Vk0wWnFiZFNVT1JrN3k1RGFRV3FKQmVvelpvbUFuM3VUc0Nxa2ZueU8rSHM0?=
 =?utf-8?B?L3ExWlYxVFNMaFkxc2M5eWR6ZEhQTC9IOTBDRGFPTGxZNFB3TTRLUStDQWJQ?=
 =?utf-8?B?bzFRQUJneEtJY3pYTHFMY2NXQ2pkZ1h0VmlBL2NYR0tIbjlGRnpOTHQraDly?=
 =?utf-8?B?anNsUFRHSVNRRU9IRExsT20vUXhOQy8rS0E1ckVycit0bGRHZElSUVlUTzF2?=
 =?utf-8?B?bWpsMlRpZFdQZ3NIc0pISTYvQUtBakxscTNPVm9EQlk4WVRIQklncGFYb1BZ?=
 =?utf-8?B?dEQwKzY0KzN2Y3NvMjVwMEllZ3dYMEZBQ0hhbTJkUWFwcWFnQjNiTnNueTZT?=
 =?utf-8?B?TFRaamhDTjB4ejU0a05pVzZzQnp3UGphTEQ5MC9SeS9rU3RYbU51OGtzNmVF?=
 =?utf-8?B?dUxMOS8zTUJmT1BOeVVlWEFQek1uNzRRTDF1Tm9GbmtNY3hKTklkejZMWEdE?=
 =?utf-8?Q?TW1Jj+TYaDPQDeHlToKot9Oif?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a5aa5ad-0c36-47af-4fb2-08da7499c221
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2022 15:14:56.3690
 (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: /Wmq3YXvCqXq2VUUF5GYo1TghZ5lgTtiFtoTDOPnQbAiVW6GaIFxJIcdPm9ugYGdU2dJEBuNTwqXWgXYllqAfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3633

On 02.08.2022 16:06, Bruno wrote:
> I would like to report no compatible firmware for a new laptop Acer Aspire 5 A517-52G.
> 
> The firmware problem I witness is ACIP errors. Xen does not boot.
> 
> These ACIP errors lead to boot into initramfs without mounting storage capabilities.
> 
> There is extensive logs, dmesg and attempts I recently send to Xen-Users and got a lot of help and feedback there on a long thread of attempts, but we have hit a lack of support at this point.
> 
> https://lists.xenproject.org/archives/html/xen-users/2022-07/msg00061.html

Can you please post relevant logs (and other information that may have been
worked out already) here, rather than having everyone who reads this dig
through a pretty long thread? Looking at the first few mails there I can
spot a kernel log, but since you're complaining about Xen boot, I'm missing
the hypervisor log. Or are you talking about Linux not booting when run
under Xen on that machine?

I do see a fair number of ACPI errors in the kernel log - it would then be
helpful to have two logs for comparison, one when the kernel is booted
natively and one when booted under Xen.

Looking at the tail of that log I see an issue with sof-audio-pci, but I
can't seem to be able to associate this with "does not boot". I guess
information about this _might_ be found in the long xen-users thread, but
as said above - please extract relevant information and put it on this
list rather than having everyone go search.

Regards, Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 15:40:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 15:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379392.612814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIu0e-0006ub-6H; Tue, 02 Aug 2022 15:40:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379392.612814; Tue, 02 Aug 2022 15:40:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIu0e-0006uU-3T; Tue, 02 Aug 2022 15:40:40 +0000
Received: by outflank-mailman (input) for mailman id 379392;
 Tue, 02 Aug 2022 15:40:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D7Wv=YG=kolabnow.com=brunoce@srs-se1.protection.inumbo.net>)
 id 1oIu0c-0006uO-74
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 15:40:38 +0000
Received: from mx.kolabnow.com (mx.kolabnow.com [212.103.80.154])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73442e7f-1279-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 17:40:35 +0200 (CEST)
Received: from localhost (unknown [127.0.0.1])
 by mx.kolabnow.com (Postfix) with ESMTP id 2376E15CD;
 Tue,  2 Aug 2022 17:40:35 +0200 (CEST)
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id IlgK23w9WXhl; Tue,  2 Aug 2022 17:40:34 +0200 (CEST)
Received: from int-mx001.mykolab.com (unknown [10.9.13.1])
 by mx.kolabnow.com (Postfix) with ESMTPS id 4564D1238;
 Tue,  2 Aug 2022 17:40:33 +0200 (CEST)
Received: from ext-subm002.mykolab.com (unknown [10.9.6.2])
 by int-mx001.mykolab.com (Postfix) with ESMTPS id 08815C90;
 Tue,  2 Aug 2022 17:40:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73442e7f-1279-11ed-924f-1f966e50362f
Authentication-Results: ext-mx-out002.mykolab.com (amavisd-new);
	dkim=pass (4096-bit key) reason="pass (just generated, assumed good)"
	header.d=kolabnow.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
	in-reply-to:references:message-id:date:date:subject:subject
	:mime-version:from:from:content-transfer-encoding:content-type
	:content-type:received:received:received; s=dkim20160331; t=
	1659454834; x=1661269235; bh=BzK2ni2SOuwHBVrQ7bWriy0yZoNQifLaZ0H
	XCLVJALs=; b=NcG3v/1aX3rQ8wWXD5OfMs9qBRdgJ8iTmDlXPT5aXGOpGDQTaEV
	eNQw8MmOvR2O7sF4JmMxhb6Kvf5qqLON6dxRdLvHp38mAnZ+ymE8E32GqNsrZtzI
	4x5s8Eq9fwYCLOrmtlRMuUH/U0mcBLtKxWeEA5hgNlYTiFZKtMvWpCaZTQhbOo/G
	W4+3NQocf3uhPQDvvn4fpZ0B4gVCzoXOeaHyCA6hMHIV1Fuc3xJ0+MdHsPW4CDuf
	CXGq0mizDlXMEkm5wQ8cckZSq/OBx35G+6Zl4I0d49BdiM055sAd0I6mMVJTL2RG
	x/8p8HdfyRbau7778WnXYVOCdqGcc7T7YrEpjxIp+GL0i+bTX8RqbVT90rbhaU8K
	ElUKbYSNWggPjV/72gvQcRQ0mwKxz+uJNR9Z8hbGobLzQYOW1Nq1Qa0PARAdt/A+
	M5LlVIq4NRFNalefOfy0DAnD7mfmfN1Y4z107PZoWuEBen9Fm+FSdxrBNZIdcA8I
	AEK+gjpHJwC7s/b4kAsFLH2rXto5eNTrzrXYRQy/aVgDuPAWbQpoN+hpPjnIziBp
	lC9Dkj5z17sh3LY6bCwTEEb8SDCMTBcDL+R3GIWtker2JRp8ERD0v5Wx0HQoeIqf
	RPrHijsCyPWj25chZmDONJEj1qAKHkJ4roHbjF+bXqEtK7zxTTeRxj4o=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-10 required=5
	tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001]
	autolearn=ham autolearn_force=no
Content-Type: multipart/alternative; boundary=Apple-Mail-4C64E5F7-1E6D-4E0A-9A55-F17C567C9368
Content-Transfer-Encoding: 7bit
From: Bruno <brunoce@kolabnow.com>
Mime-Version: 1.0 (1.0)
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Date: Tue, 2 Aug 2022 16:40:30 +0100
Message-Id: <B8D2151F-D58B-4443-8171-48623AB77595@kolabnow.com>
References: <87c86770-9244-dbad-23ba-d449b2c3ccb7@suse.com>
Cc: xen-devel@lists.xenproject.org
In-Reply-To: <87c86770-9244-dbad-23ba-d449b2c3ccb7@suse.com>
To: Jan Beulich <jbeulich@suse.com>


--Apple-Mail-4C64E5F7-1E6D-4E0A-9A55-F17C567C9368
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello Jan.

Thank you.

I=E2=80=99m talking about booting on the host Xen (=E2=80=9CLinux with Xen=E2=
=80=9D) - goes to an initramfs prompt.

I don=E2=80=99t know how to get to this hypervisor log. Maybe not the case a=
s I am attempting the boot on the host linux with Xen. There is no /var/log -=
 only cache and lock

I can list the hard drive partitions under /dev (nvme0n1p1-5), but I cannot m=
ount them. I cannot access a thumb drive either /dev/block, when mounted has=
 two strange symlinks to ../sda1 (8:0 and 1:8). This is a bit frustrating be=
cause it does not allow me to export dmesg or other info.

Im not receiving the error messages on screen before initramfs, they are hid=
den, but I do get this message:

    Gave up waiting for suspend/resume device
     Gave up waiting for root file system device.  Common problems:
Boot args (cat /proc/cmdline) - Check rootdelay=3D (did the system wait long=
 enough?)
Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=3D0123abc does not exist. Dropping to a shell!

On the dmesg, I got the ACPI errors:

ACPI BIOS Error
(bug): Failure creating named ob
I_SB.PCOO.XHCI.RHUB.HS05._UPC], AE ALREADY _EXISTS (Z0211217/dsuloadZ-326)
ACPI Error: AE_ALREADY EXISTS, During name
slookun/catalog
-9451181 ACPI: Skipping parse of AML opcode: OpcodeNane unavailable
(20211217/psobject-z20)
(0x0014)

Repeated several times

ACPI: Skipping parse of AML opcode: DpcodeNane unavailable (0x0014)
API: 15 API AML tables successfully acquired and loaded
xen: registering
gsi 9 triggering 0 polarity 0

Latter on the dmesg I got repeated errors like this:

RIP: 0033:0x7 969a2e2=C3=A4c9
RSP: 002b:00007ffaff421a28 FLAGS: 00000246 RIG RAX: 0000000000000139
RAX: Efffffffffffffda RBX: 00005582Bb061d10 RCX: 00007 969aZeZ=C3=A4c9
244.4412241 RDX:000000000RSI: 000071969a49bfOd RDI: 00000000000000
RB: 0000000000020000 ROB: 0000000000000000 R09: 000055828b04c290
R10: 000000000000000c R11: 0000000000000246 R12: 00007f969a49bf=C2=AEd
R13: 000000GBOOOOOOOO R14: 000055B28b060aZO R15: 00005582Bb06110

(/TASK>
INFO: task systemd-udevd: 190 blocked for more than 120 seconds.

Tainted: G

DE
5.18.0-2-amd64 #1 Debian 5.18.5-1
"echo 0 =E2=80=BA proc/sys/kernel/hung_task_timeout_secs"
disables this nessage.
task: systend-udevd
state:D stack:
=C2=A9 pid: 190 ppid:
Call Trace:
164 flags: 0x00004004
(TASK)
schedule+0x30b/0x9e0

schedule+0x4e/Oxb0

do_init_module+0x1c3/0x260
do_sys_finit_module+Oxb4/0x120
do_sysca11_64+0x3B/Oxc0

=E2=80=94-

And here you have another output that can be relevant:

(initranfs) cat /proc/cndline
placeholder root=3DUUID=3D0123abcd ro quiet loglevel=3D3

(initranfs) cat /proc/modules
1915 3604480 2 - Live Oxffffffffc0540000
ahci 77824 1 - Live Oxffffffffc01d4000
hid generic 24576 1 - Live Oxffffffffc00b6000
nume 69632 1
- Live Oxffffffffc01bd000
libahci 49152 1 ahi, Live oxffffffffc019c000
=C3=A0rm_buddy 204B0 1 1915, Live oxffffffffc0020000
12c_algo_bit 16384 1 1915, Live Oxfffffffic000N00=C2=AE
nune_core 139264 1 nume, Live OxffffffP{c050/000
=C3=A0rm_p_helper 159744 1 1915, Live oxffffffffc04a8000
libata 385024 2 ahi,libahci, Live exffffffffc045b000
+10_pi 16384 1 nume_core, Live Oxfffffffic01c/000
cec 61440 2 1915,drm_dp_helper, Live Oxifffffffc0445000
rC_core 61440 1 cec,
Live Oxffffffffc01f0000
ttm86016 1 i915, Live Oxffffffffc042f000
scsi_mod 266240 1 libata, Live Oxffffffffc03dB000
=C3=A0rnkms_helper 192512 2 1915,drm_dp_helper, Live oxfffffffic0392000
crc64_rocksoft 204B0 1 t10_pi, Live oxfrIffffic0167000
crc64 204B0 1 crc64_rocksoft, Live Oxffffffffc01aa000
crc_t10dif 204B0 1 t10 pi, Live exfPffffficOOb0000
crct10dif_generic 16384 0 - Live Oxffffffffc00Bd000
scsi_common 16384 2 libata,scsi mod, Live OxffffffffcOOBBOOO
xhci_pci 204B0 0
- Live Oxffffffffc0050000
xhci_hcd 315392 1 xhei pci, Live Oxffffffffc0331000
crct10dif_pclmul 16384 1
- Live Oxffffffffc0162000
cret10d if_conmon 16384 3 crc_+10dif,crct10dif _generic,cret10dif pelnul, Li=
ve Oxffffffffc0071000
crc32c_intel 24576 0 - Live OxfrIPIfficO033000
intel_lpss_pci 28672 0 - Live Oxffffffffc0184000
=C2=A12c_hid_acpi 16384 =C2=A9 - Live Oxffffffffc017c000
r8168 589824 0 - Live Oxffffffffc00e3000 (DE)
12 mET 32788 9 128351 027, " VI UP SHAAFF-908 000.
intel_lpss 16384 1 intel_lpss pci, Live oxffffffffc00c6000
ush_ common 16384 2 xhci hed, usbcore, Live OxtffERFfEcOOba000
und 24576 =C2=A9 - Live Oxffffffffc00a0000
idma64 20480 =C2=A9 - Live oxffffffffc0097000
fan 204B0 0 -
=E2=80=A2 Live OxffffffffcO02d000
hid 151552 2 hid_generic, 12c hid, Live Oxffffffffc0059000
battery 28672 0 -
Live Oxffffffffc0048000
button 24576 =C2=A9 - Live Oxffffffffc0041000
uni 36864 0
- Live Oxffffffffc0014000
video 57344 1 i915, Live Oxffffffff:0000000

Thank you in advance.
Kind regards,

Bruno

> On 2 Aug 2022, at 16:15, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> =EF=BB=BFOn 02.08.2022 16:06, Bruno wrote:
>> I would like to report no compatible firmware for a new laptop Acer Aspir=
e 5 A517-52G.
>>=20
>> The firmware problem I witness is ACIP errors. Xen does not boot.
>>=20
>> These ACIP errors lead to boot into initramfs without mounting storage ca=
pabilities.
>>=20
>> There is extensive logs, dmesg and attempts I recently send to Xen-Users a=
nd got a lot of help and feedback there on a long thread of attempts, but we=
 have hit a lack of support at this point.
>>=20
>> https://lists.xenproject.org/archives/html/xen-users/2022-07/msg00061.htm=
l
>=20
> Can you please post relevant logs (and other information that may have bee=
n
> worked out already) here, rather than having everyone who reads this dig
> through a pretty long thread? Looking at the first few mails there I can
> spot a kernel log, but since you're complaining about Xen boot, I'm missin=
g
> the hypervisor log. Or are you talking about Linux not booting when run
> under Xen on that machine?
>=20
> I do see a fair number of ACPI errors in the kernel log - it would then be=

> helpful to have two logs for comparison, one when the kernel is booted
> natively and one when booted under Xen.
>=20
> Looking at the tail of that log I see an issue with sof-audio-pci, but I
> can't seem to be able to associate this with "does not boot". I guess
> information about this _might_ be found in the long xen-users thread, but
> as said above - please extract relevant information and put it on this
> list rather than having everyone go search.
>=20
> Regards, Jan
>=20

--Apple-Mail-4C64E5F7-1E6D-4E0A-9A55-F17C567C9368
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto"><div dir=3D"ltr"></div><div dir=3D"ltr">Hel=
lo Jan.</div><div dir=3D"ltr"><br></div><div dir=3D"ltr">Thank you.</div><di=
v dir=3D"ltr"><br></div><div dir=3D"ltr">I=E2=80=99m talking about booting o=
n the host Xen (=E2=80=9CLinux with Xen=E2=80=9D) - goes to an initramfs pro=
mpt.</div><div dir=3D"ltr"><br></div><div dir=3D"ltr">I don=E2=80=99t know h=
ow to get to this hypervisor log. Maybe not the case as I am attempting the b=
oot on the host linux with Xen. There is no /var/log - only cache and lock</=
div><div dir=3D"ltr"><br></div><div dir=3D"ltr"><p class=3D"p3" style=3D"-we=
bkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height:=
 normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"=
>I can list the hard drive partitions under /dev (nvme0n1p1-5), but I cannot=
 mount them. I cannot access a thumb drive either /dev/block, when mounted h=
as two strange symlinks to ../sda1 (8:0 and 1:8). This is a bit frustrating b=
ecause it does not allow me to export dmesg or other info.</span></p><p clas=
s=3D"p2" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch:=
 normal; line-height: normal; min-height: 26px; caret-color: rgb(0, 0, 0); c=
olor: rgb(0, 0, 0);"><span class=3D"s2"></span><br></p><p class=3D"p3" style=
=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-=
height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=
=3D"s2">Im not receiving the error messages on screen before initramfs, they=
 are hidden, but I do get this message:</span></p><p class=3D"p2" style=3D"-=
webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-heigh=
t: normal; min-height: 26px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);=
"><span class=3D"s2"></span><br></p><p class=3D"p3" style=3D"-webkit-text-si=
ze-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; car=
et-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">&nbsp; &nbs=
p;&nbsp;Gave up waiting for suspend/resume device</span></p><p class=3D"p3" s=
tyle=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; l=
ine-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span c=
lass=3D"s2">&nbsp;&nbsp; &nbsp;&nbsp;Gave up waiting for root file system de=
vice.&nbsp;&nbsp;Common problems:</span></p><ul class=3D"ul1" style=3D"-webk=
it-text-size-adjust: auto; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">=
<li class=3D"li3" style=3D"margin: 0px; font-stretch: normal; line-height: n=
ormal;"><span class=3D"s2">Boot args (cat /proc/cmdline) - Check rootdelay=3D=
 (did the system wait long enough?)</span></li><li class=3D"li3" style=3D"ma=
rgin: 0px; font-stretch: normal; line-height: normal;"><span class=3D"s2">Mi=
ssing modules (cat /proc/modules; ls /dev)</span></li></ul><p class=3D"p3" s=
tyle=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; l=
ine-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span c=
lass=3D"s2">ALERT! UUID=3D0123abc does not exist. Dropping to a shell!</span=
></p><p class=3D"p2" style=3D"-webkit-text-size-adjust: auto; margin: 0px; f=
ont-stretch: normal; line-height: normal; min-height: 26px; caret-color: rgb=
(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"></span><br></p><p class=3D=
"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: nor=
mal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><=
span class=3D"s2">On the dmesg, I got the ACPI errors:</span></p><p class=3D=
"p2" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: nor=
mal; line-height: normal; min-height: 26px; caret-color: rgb(0, 0, 0); color=
: rgb(0, 0, 0);"><span class=3D"s2"></span><br></p><p class=3D"p3" style=3D"=
-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-heig=
ht: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"=
s2">ACPI BIOS Error</span></p><p class=3D"p3" style=3D"-webkit-text-size-adj=
ust: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-col=
or: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">(bug): Failure cr=
eating named ob</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust:=
 auto; margin: 0px; font-stretch: normal; line-height: normal; caret-color: r=
gb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">I_SB.PCOO.XHCI.RHUB.HS=
05._UPC], AE ALREADY _EXISTS (Z0211217/dsuloadZ-326)</span></p><p class=3D"p=
3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: norma=
l; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><sp=
an class=3D"s2">ACPI Error: AE_ALREADY EXISTS, During name</span></p><p clas=
s=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch:=
 normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0)=
;"><span class=3D"s2">slookun/catalog</span></p><p class=3D"p3" style=3D"-we=
bkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height:=
 normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"=
>-<span dir=3D"ltr">9451181</span>&nbsp;ACPI: Skipping parse of AML opcode: O=
pcodeNane unavailable</span></p><p class=3D"p3" style=3D"-webkit-text-size-a=
djust: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-c=
olor: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">(20211217/psobj=
ect-z20)</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; m=
argin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0=
, 0); color: rgb(0, 0, 0);"><span class=3D"s2">(0x0014)</span></p><p class=3D=
"p2" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: nor=
mal; line-height: normal; min-height: 26px; caret-color: rgb(0, 0, 0); color=
: rgb(0, 0, 0);"><span class=3D"s2"></span><br></p><p class=3D"p3" style=3D"=
-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-heig=
ht: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"=
s2">Repeated several times</span></p><p class=3D"p2" style=3D"-webkit-text-s=
ize-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; mi=
n-height: 26px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=
=3D"s2"></span><br></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: au=
to; margin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb=
(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">ACPI: Skipping parse of A=
ML opcode: DpcodeNane unavailable (0x0014)</span></p><p class=3D"p3" style=3D=
"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-hei=
ght: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D=
"s2">API: 15 API AML tables successfully acquired and loaded</span></p><p cl=
ass=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretc=
h: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0=
);"><span class=3D"s2">xen: registering</span></p><p class=3D"p3" style=3D"-=
webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-heigh=
t: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s=
2">gsi 9 triggering 0 polarity 0</span></p><p class=3D"p2" style=3D"-webkit-=
text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: norm=
al; min-height: 26px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span=
 class=3D"s2"></span><br></p><p class=3D"p3" style=3D"-webkit-text-size-adju=
st: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-colo=
r: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">Latter on the dmes=
g I got repeated errors like this:</span></p><p class=3D"p2" style=3D"-webki=
t-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: no=
rmal; min-height: 26px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><sp=
an class=3D"s2"></span><br></p><p class=3D"p3" style=3D"-webkit-text-size-ad=
just: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-co=
lor: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">RIP: 0033:0x7 96=
9a2e2=C3=A4c9</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: a=
uto; margin: 0px; font-stretch: normal; line-height: normal; caret-color: rg=
b(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">RSP: 002b:00007ffaff421=
a28 FLAGS: 00000246 RIG RAX: 0000000000000139</span></p><p class=3D"p3" styl=
e=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line=
-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span clas=
s=3D"s2">RAX: Efffffffffffffda RBX: 00005582Bb061d10 RCX: 00007 969aZeZ=C3=A4=
c9</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin=
: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0);=
 color: rgb(0, 0, 0);"><span class=3D"s2">244.4412241 RDX:<span dir=3D"ltr">=
000000000</span>RSI: 000071969a49bfOd RDI:&nbsp;<span dir=3D"ltr">0000000000=
0000</span></span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: aut=
o; margin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(=
0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">RB: 0000000000020000 ROB:=
 0000000000000000 R09: 000055828b04c290</span></p><p class=3D"p3" style=3D"-=
webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-heigh=
t: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s=
2">R10: 000000000000000c R11: 0000000000000246 R12: 00007f969a49bf=C2=AEd</s=
pan></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px=
; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); colo=
r: rgb(0, 0, 0);"><span class=3D"s2">R13: 000000GBOOOOOOOO R14: 000055B28b06=
0aZO R15: 00005582Bb06110</span></p><p class=3D"p2" style=3D"-webkit-text-si=
ze-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; min=
-height: 26px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D=
"s2"></span><br></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto;=
 margin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0,=
 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">(/TASK&gt;</span></p><p cla=
ss=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch=
: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0=
);"><span class=3D"s2">INFO: task systemd-udevd: 190 blocked for more than 1=
20 seconds.</span></p><p class=3D"p2" style=3D"-webkit-text-size-adjust: aut=
o; margin: 0px; font-stretch: normal; line-height: normal; min-height: 26px;=
 caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"></span>=
<br></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px=
; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); colo=
r: rgb(0, 0, 0);"><span class=3D"s2">Tainted: G</span></p><p class=3D"p2" st=
yle=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; li=
ne-height: normal; min-height: 26px; caret-color: rgb(0, 0, 0); color: rgb(0=
, 0, 0);"><span class=3D"s2"></span><br></p><p class=3D"p3" style=3D"-webkit=
-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: nor=
mal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">DE<=
/span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0=
px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); co=
lor: rgb(0, 0, 0);"><span class=3D"s2">5.18.0-2-amd64 #1 Debian 5.18.5-1</sp=
an></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px;=
 font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); color=
: rgb(0, 0, 0);"><span class=3D"s2">"echo 0 =E2=80=BA proc/sys/kernel/hung_t=
ask_timeout_secs"</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjus=
t: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-color=
: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">disables this nessa=
ge.</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margi=
n: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0)=
; color: rgb(0, 0, 0);"><span class=3D"s2">task: systend-udevd</span></p><p c=
lass=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stret=
ch: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0,=
 0);"><span class=3D"s2">state:D stack:</span></p><p class=3D"p3" style=3D"-=
webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-heigh=
t: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s=
2">=C2=A9 pid: 190 ppid:</span></p><p class=3D"p3" style=3D"-webkit-text-siz=
e-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; care=
t-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">Call Trace:<=
/span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0=
px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); co=
lor: rgb(0, 0, 0);"><span class=3D"s2">164 flags: 0x00004004</span></p><p cl=
ass=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretc=
h: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0=
);"><span class=3D"s2">(TASK)</span></p><p class=3D"p3" style=3D"-webkit-tex=
t-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal;=
 caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">schedul=
e+0x30b/0x9e0</span></p><p class=3D"p2" style=3D"-webkit-text-size-adjust: a=
uto; margin: 0px; font-stretch: normal; line-height: normal; min-height: 26p=
x; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"></spa=
n><br></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0=
px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); co=
lor: rgb(0, 0, 0);"><span class=3D"s2">schedule+0x4e/Oxb0</span></p><p class=
=3D"p2" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: n=
ormal; line-height: normal; min-height: 26px; caret-color: rgb(0, 0, 0); col=
or: rgb(0, 0, 0);"><span class=3D"s2"></span><br></p><p class=3D"p3" style=3D=
"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-hei=
ght: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D=
"s2">do_init_module+0x1c3/0x260</span></p><p class=3D"p3" style=3D"-webkit-t=
ext-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: norma=
l; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">do_sy=
s_finit_module+Oxb4/0x120</span></p><p class=3D"p3" style=3D"-webkit-text-si=
ze-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; car=
et-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">do_sysca11_=
64+0x3B/Oxc0</span></p><p class=3D"p2" style=3D"-webkit-text-size-adjust: au=
to; margin: 0px; font-stretch: normal; line-height: normal; min-height: 26px=
; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"></span=
><br></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0p=
x; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); col=
or: rgb(0, 0, 0);"><span class=3D"s2">=E2=80=94-</span></p><p class=3D"p2" s=
tyle=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; l=
ine-height: normal; min-height: 26px; caret-color: rgb(0, 0, 0); color: rgb(=
0, 0, 0);"><span class=3D"s2"></span><br></p><p class=3D"p3" style=3D"-webki=
t-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: no=
rmal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">An=
d here you have another output that can be relevant:</span></p><p class=3D"p=
2" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: norma=
l; line-height: normal; min-height: 26px; caret-color: rgb(0, 0, 0); color: r=
gb(0, 0, 0);"><span class=3D"s2"></span><br></p><p class=3D"p3" style=3D"-we=
bkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height:=
 normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"=
>(initranfs) cat /proc/cndline</span></p><p class=3D"p3" style=3D"-webkit-te=
xt-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal=
; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">placeh=
older root=3DUUID=3D0123abcd ro quiet loglevel=3D3</span></p><p class=3D"p3"=
 style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal;=
 line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span=
 class=3D"s2"><br></span></p><p class=3D"p3" style=3D"-webkit-text-size-adju=
st: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-colo=
r: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">(initranfs) cat /p=
roc/modules</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: aut=
o; margin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(=
0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"><span dir=3D"ltr">1915 36=
04480 2</span>&nbsp;- Live Oxffffffffc0540000</span></p><p class=3D"p3" styl=
e=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line=
-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span clas=
s=3D"s2">ahci 77824 1 - Live Oxffffffffc01d4000</span></p><p class=3D"p3" st=
yle=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; li=
ne-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span cl=
ass=3D"s2">hid generic 24576 1 - Live Oxffffffffc00b6000</span></p><p class=3D=
"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: nor=
mal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><=
span class=3D"s2">nume 69632 1</span></p><p class=3D"p3" style=3D"-webkit-te=
xt-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal=
; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">- Live=
 Oxffffffffc01bd000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adj=
ust: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-col=
or: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">libahci 49152 1 a=
hi, Live oxffffffffc019c000</span></p><p class=3D"p3" style=3D"-webkit-text-=
size-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; c=
aret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">=C3=A0rm_=
buddy 204B0 1 1915, Live oxffffffffc0020000</span></p><p class=3D"p3" style=3D=
"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-hei=
ght: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D=
"s2">12c_algo_bit&nbsp;<span dir=3D"ltr">16384 1 1915</span>, Live Oxfffffff=
ic000N00=C2=AE</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: a=
uto; margin: 0px; font-stretch: normal; line-height: normal; caret-color: rg=
b(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">nune_core&nbsp;<span di=
r=3D"ltr">139264 1</span>&nbsp;nume, Live OxffffffP{c050/000</span></p><p cl=
ass=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretc=
h: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0=
);"><span class=3D"s2">=C3=A0rm_p_helper&nbsp;<span dir=3D"ltr">159744 1 191=
5</span>, Live oxffffffffc04a8000</span></p><p class=3D"p3" style=3D"-webkit=
-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: nor=
mal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">lib=
ata&nbsp;<span dir=3D"ltr">385024 2</span>&nbsp;ahi,libahci, Live exffffffff=
c045b000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; m=
argin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0=
, 0); color: rgb(0, 0, 0);"><span class=3D"s2">+10_pi 16384 1 nume_core, Liv=
e Oxfffffffic01c/000</span></p><p class=3D"p3" style=3D"-webkit-text-size-ad=
just: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-co=
lor: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">cec&nbsp;<span d=
ir=3D"ltr">61440 2 1915</span>,drm_dp_helper, Live Oxifffffffc0445000</span>=
</p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; fo=
nt-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: r=
gb(0, 0, 0);"><span class=3D"s2">rC_core 61440 1 cec,</span></p><p class=3D"=
p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: norm=
al; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><s=
pan class=3D"s2">Live Oxffffffffc01f0000</span></p><p class=3D"p3" style=3D"=
-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-heig=
ht: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"=
s2">ttm86016 1 i915, Live Oxffffffffc042f000</span></p><p class=3D"p3" style=
=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-=
height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=
=3D"s2">scsi_mod&nbsp;<span dir=3D"ltr">266240 1</span>&nbsp;libata, Live Ox=
ffffffffc03dB000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust=
: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">=C3=A0rnkms_helper&n=
bsp;<span dir=3D"ltr">192512 2 1915</span>,drm_dp_helper, Live oxfffffffic03=
92000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; mar=
gin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0=
); color: rgb(0, 0, 0);"><span class=3D"s2">crc64_rocksoft 204B0 1 t10_pi, L=
ive oxfrIffffic0167000</span></p><p class=3D"p3" style=3D"-webkit-text-size-=
adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-=
color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">crc64 204B0 1 c=
rc64_rocksoft, Live Oxffffffffc01aa000</span></p><p class=3D"p3" style=3D"-w=
ebkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height=
: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2=
">crc_t10dif 204B0 1 t10 pi, Live exfPffffficOOb0000</span></p><p class=3D"p=
3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: norma=
l; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><sp=
an class=3D"s2">crct10dif_generic 16384 0 - Live Oxffffffffc00Bd000</span></=
p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font=
-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb=
(0, 0, 0);"><span class=3D"s2">scsi_common 16384 2 libata,scsi mod, Live Oxf=
fffffffcOOBBOOO</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust:=
 auto; margin: 0px; font-stretch: normal; line-height: normal; caret-color: r=
gb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">xhci_pci 204B0 0</span=
></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; f=
ont-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: r=
gb(0, 0, 0);"><span class=3D"s2">- Live Oxffffffffc0050000</span></p><p clas=
s=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch:=
 normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0)=
;"><span class=3D"s2">xhci_hcd&nbsp;<span dir=3D"ltr">315392 1</span>&nbsp;x=
hei pci, Live Oxffffffffc0331000</span></p><p class=3D"p3" style=3D"-webkit-=
text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: norm=
al; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">crct=
10dif_pclmul 16384 1</span></p><p class=3D"p3" style=3D"-webkit-text-size-ad=
just: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-co=
lor: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">- Live Oxfffffff=
fc0162000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto;=
 margin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0,=
 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">cret10d if_conmon 16384 3 c=
rc_+10dif,crct10dif _generic,cret10dif pelnul, Live Oxffffffffc0071000</span=
></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; f=
ont-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: r=
gb(0, 0, 0);"><span class=3D"s2">crc32c_intel 24576 0 - Live OxfrIPIfficO033=
000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margi=
n: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0)=
; color: rgb(0, 0, 0);"><span class=3D"s2">intel_lpss_pci 28672 0 - Live Oxf=
fffffffc0184000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust:=
 auto; margin: 0px; font-stretch: normal; line-height: normal; caret-color: r=
gb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">=C2=A12c_hid_acpi 1638=
4 =C2=A9 - Live Oxffffffffc017c000</span></p><p class=3D"p3" style=3D"-webki=
t-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: no=
rmal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">r8=
168&nbsp;<span dir=3D"ltr">589824 0</span>&nbsp;- Live Oxffffffffc00e3000 (D=
E)</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin=
: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0);=
 color: rgb(0, 0, 0);"><span class=3D"s2">12 mET&nbsp;<span dir=3D"ltr">3278=
8 9 128351</span>&nbsp;027, " VI UP SHAAFF-908 000.</span></p><p class=3D"p3=
" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal=
; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><spa=
n class=3D"s2">intel_lpss 16384 1 intel_lpss pci, Live oxffffffffc00c6000</s=
pan></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px=
; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); colo=
r: rgb(0, 0, 0);"><span class=3D"s2">ush_ common 16384 2 xhci hed, usbcore, L=
ive OxtffERFfEcOOba000</span></p><p class=3D"p3" style=3D"-webkit-text-size-=
adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-=
color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">und 24576 =C2=A9=
 - Live Oxffffffffc00a0000</span></p><p class=3D"p3" style=3D"-webkit-text-s=
ize-adjust: auto; margin: 0px; font-stretch: normal; line-height: normal; ca=
ret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">idma64 204=
80 =C2=A9 - Live oxffffffffc0097000</span></p><p class=3D"p3" style=3D"-webk=
it-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: n=
ormal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">f=
an 204B0 0 -</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: au=
to; margin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb=
(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">=E2=80=A2 Live Oxfffffff=
fcO02d000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto;=
 margin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0,=
 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">hid&nbsp;<span dir=3D"ltr">=
151552 2</span>&nbsp;hid_generic, 12c hid, Live Oxffffffffc0059000</span></p=
><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-=
stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(=
0, 0, 0);"><span class=3D"s2">battery 28672 0 -</span></p><p class=3D"p3" st=
yle=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; li=
ne-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span cl=
ass=3D"s2">Live Oxffffffffc0048000</span></p><p class=3D"p3" style=3D"-webki=
t-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-height: no=
rmal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">bu=
tton 24576 =C2=A9 - Live Oxffffffffc0041000</span></p><p class=3D"p3" style=3D=
"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-hei=
ght: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D=
"s2">uni 36864 0</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust=
: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2">- Live Oxffffffffc00=
14000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: auto; mar=
gin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(0, 0, 0=
); color: rgb(0, 0, 0);"><span class=3D"s2">video 57344 1 i915, Live Oxfffff=
fff:0000000</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust: aut=
o; margin: 0px; font-stretch: normal; line-height: normal; caret-color: rgb(=
0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"><br></span></p><p class=3D=
"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretch: nor=
mal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><=
span class=3D"s2">Thank you in advance.</span></p><p class=3D"p3" style=3D"-=
webkit-text-size-adjust: auto; margin: 0px; font-stretch: normal; line-heigh=
t: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s=
2">Kind regards,</span></p><p class=3D"p3" style=3D"-webkit-text-size-adjust=
: auto; margin: 0px; font-stretch: normal; line-height: normal; caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);"><span class=3D"s2"><br></span></p><p cl=
ass=3D"p3" style=3D"-webkit-text-size-adjust: auto; margin: 0px; font-stretc=
h: normal; line-height: normal; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0=
);"><span class=3D"s2">Bruno</span></p></div><div dir=3D"ltr"><br><blockquot=
e type=3D"cite">On 2 Aug 2022, at 16:15, Jan Beulich &lt;jbeulich@suse.com&g=
t; wrote:<br><br></blockquote></div><blockquote type=3D"cite"><div dir=3D"lt=
r">=EF=BB=BF<span>On 02.08.2022 16:06, Bruno wrote:</span><br><blockquote ty=
pe=3D"cite"><span>I would like to report no compatible firmware for a new la=
ptop Acer Aspire 5 A517-52G.</span><br></blockquote><blockquote type=3D"cite=
"><span></span><br></blockquote><blockquote type=3D"cite"><span>The firmware=
 problem I witness is ACIP errors. Xen does not boot.</span><br></blockquote=
><blockquote type=3D"cite"><span></span><br></blockquote><blockquote type=3D=
"cite"><span>These ACIP errors lead to boot into initramfs without mounting s=
torage capabilities.</span><br></blockquote><blockquote type=3D"cite"><span>=
</span><br></blockquote><blockquote type=3D"cite"><span>There is extensive l=
ogs, dmesg and attempts I recently send to Xen-Users and got a lot of help a=
nd feedback there on a long thread of attempts, but we have hit a lack of su=
pport at this point.</span><br></blockquote><blockquote type=3D"cite"><span>=
</span><br></blockquote><blockquote type=3D"cite"><span>https://lists.xenpro=
ject.org/archives/html/xen-users/2022-07/msg00061.html</span><br></blockquot=
e><span></span><br><span>Can you please post relevant logs (and other inform=
ation that may have been</span><br><span>worked out already) here, rather th=
an having everyone who reads this dig</span><br><span>through a pretty long t=
hread? Looking at the first few mails there I can</span><br><span>spot a ker=
nel log, but since you're complaining about Xen boot, I'm missing</span><br>=
<span>the hypervisor log. Or are you talking about Linux not booting when ru=
n</span><br><span>under Xen on that machine?</span><br><span></span><br><spa=
n>I do see a fair number of ACPI errors in the kernel log - it would then be=
</span><br><span>helpful to have two logs for comparison, one when the kerne=
l is booted</span><br><span>natively and one when booted under Xen.</span><b=
r><span></span><br><span>Looking at the tail of that log I see an issue with=
 sof-audio-pci, but I</span><br><span>can't seem to be able to associate thi=
s with "does not boot". I guess</span><br><span>information about this _migh=
t_ be found in the long xen-users thread, but</span><br><span>as said above -=
 please extract relevant information and put it on this</span><br><span>list=
 rather than having everyone go search.</span><br><span></span><br><span>Reg=
ards, Jan</span><br><span></span><br></div></blockquote></body></html>=

--Apple-Mail-4C64E5F7-1E6D-4E0A-9A55-F17C567C9368--



From xen-devel-bounces@lists.xenproject.org Tue Aug 02 15:49:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 15:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379398.612825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIu8k-0007hO-5K; Tue, 02 Aug 2022 15:49:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379398.612825; Tue, 02 Aug 2022 15:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIu8k-0007hH-1q; Tue, 02 Aug 2022 15:49:02 +0000
Received: by outflank-mailman (input) for mailman id 379398;
 Tue, 02 Aug 2022 15:49:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIu8j-0007h7-Eq; Tue, 02 Aug 2022 15:49:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIu8j-0000oV-Ac; Tue, 02 Aug 2022 15:49:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIu8i-0001wM-TK; Tue, 02 Aug 2022 15:49:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIu8i-0004DQ-Sr; Tue, 02 Aug 2022 15:49:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VrYrY52tXJohW4DOIjuMJ9EmvXDRJ6MzOIx6AcY4PuM=; b=G/IXRQi83wFzlKLVyYoGPLp/FE
	KxLXR52+iqpRDoFtSo26CT7whSzIpqdq2p72Kft6Vr1nJuCa3mKyqPy4VkS0xYOb3xxufyHOUI0Tq
	V2pXAoUjWxame0RkVm+3uKE0piAWyiVFOUwqHyuIGN2BJPUjXrp9cprnL6vM/DmKj4qw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172074-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172074: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9de1f9c8ca5100a02a2e271bdbde36202e251b4b
X-Osstest-Versions-That:
    linux=0fac198def2b41138850867b6aa92044c76ff802
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 15:49:00 +0000

flight 172074 linux-linus real [real]
flight 172083 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172074/
http://logs.test-lab.xenproject.org/osstest/logs/172083/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit2   8 xen-boot            fail pass in 172083-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 172083 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 172083 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172066
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172066
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172066
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172066
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172066
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172066
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172066
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172066
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                9de1f9c8ca5100a02a2e271bdbde36202e251b4b
baseline version:
 linux                0fac198def2b41138850867b6aa92044c76ff802

Last test of basis   172066  2022-08-01 16:41:51 Z    0 days
Testing same since   172074  2022-08-02 02:01:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexandre Torgue <alexandre.torgue@foss.st.com>
  Alexandru Elisei <alexandru.elisei@arm.com>
  Amadeusz SÅ‚awiÅ„ski <amadeuszx.slawinski@linux.intel.com>
  Andre Mueller <am@emlix.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Konovalov <andreyknvl@gmail.com>
  Andrey Konovalov <andreyknvl@google.com>
  Andy Lutomirski <luto@kernel.org>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Anshuman Khandual <anshuman.khandual@arm.com>
  Antonio Borneo <antonio.borneo@foss.st.com>
  Ard Biesheuvel <ardb@kernel.org>
  Barry Song <v-songbaohua@oppo.com>
  Bartosz Golaszewski <brgl@bgdev.pl>
  Ben Dooks <ben-linux@fluff.org>
  Bjorn Helgaas <bhelgaas@google.com>   # pci_ids.h
  Borislav Petkov <bp@suse.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Chang S. Bae <chang.seok.bae@intel.com>
  Chen Jun <chenjun102@huawei.com>
  Chen Yu <yu.c.chen@intel.com>
  Chen Zhongjin <chenzhongjin@huawei.com>
  Chengming Zhou <zhouchengming@bytedance.com>
  Christian GÃ¶ttsche <cgzones@googlemail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Claudiu Beznea <claudiu.beznea@microchip.com>
  Cruz Zhao <CruzZhao@linux.alibaba.com>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Chen <david.chen@nutanix.com>
  David Rientjes <rientjes@google.com>
  Dietmar Eggemann <dietmar.eggemann@arm.com>
  Eric Lin <eric.lin@sifive.com>
  Francis Laniel <flaniel@linux.microsoft.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Guangbin Huang <huangguangbin2@huawei.com>
  Guenter Roeck <linux@roeck-us.net>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Haibin Zhang <haibinzhang@tencent.com>
  haibinzhang (å¼ æµ·æ–Œ) <haibinzhang@tencent.com>
  Hanjun Guo <guohanjun@huawei.com>
  hewenliang <hewenliang4@huawei.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Hugh Dickins <hughd@google.com>
  Hyeonggon Yoo <42.hyeyoo@gmail.com>
  Ian Rogers <irogers@google.com>
  Ingo Molnar <mingo@kernel.org>
  Ira Weiny <ira.weiny@intel.com>
  James Morse <james.morse@arm.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <wangborong@cdjrlc.com>
  Jiang Jian <jiangjian@cdjrlc.com>
  Jianmin Lv <lvjianmin@loongson.cn>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jisheng Zhang <jszhang@kernel.org>
  Joey Gouly <joey.gouly@arm.com>
  Johan Hovold <johan@kernel.org>
  John Keeping <john@metanate.com>
  Jonathan McDowell <noodles@fb.com>
  Josh Don <joshdon@google.com>
  Juerg Haefliger <juerg.haefliger@canonical.com>
  Juerg Haefliger <juergh@canonical.com>
  Julia Lawall <Julia.Lawall@inria.fr>
  Juri Lelli <juri.lelli@redhat.com>
  K Prateek Nayak <kprateek.nayak@amd.com>
  Kan Liang <kan.liang@linux.intel.com>
  Kartik <kkartik@nvidia.com>
  Kefeng Wang <wangkefeng.wang@huawei.com>
  keliu <liuke94@huawei.com>
  Kristina Martsenko <kristina.martsenko@arm.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Laurent Vivier <laurent@vivier.eu>
  Li zeming <zeming@nfschina.com>
  Liang He <windhl@126.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Song <liusong@linux.alibaba.com>
  Loic Pallardy <loic.pallardy@foss.st.com>
  Ludovic Barre <ludovic.barre@foss.st.com>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Lukas Wunner <lukas@wunner.de>
  Lukasz Luba <lukasz.luba@arm.com>
  Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
  Marc Zyngier <maz@kernel.org>
  Marco Elver <elver@google.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Jeanson <mjeanson@efficios.com>
  Michael Walle <michael@walle.cc>
  Mohini Narkhede <mohini.narkhede@intel.com>
  Muchun Song <songmuchun@bytedance.com>
  Nadav Amit <namit@vmware.com>
  Namhyung Kim <namhyung@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  Nicolas Saenz Julienne <nsaenzju@redhat.com>
  Nikita Shubin <n.shubin@yadro.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paran Lee <p4ranlee@gmail.com>
  Paul Cercueil <paul@crapouillou.net>
  Peter Collingbourne <pcc@google.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Bangoria <ravi.bangoria@amd.com>
  Rob Herring <robh@kernel.org>
  Roman Gushchin <roman.gushchin@linux.dev>
  Samuel Holland <samuel@sholland.org>
  Sandipan Das <sandipan.das@amd.com>
  Schspa Shi <schspa@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shreenidhi Shedi <sshedi@vmware.com>
  Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
  Stephane Eranian <eranian@google.com>
  StÃ©phane Graber <stgraber@ubuntu.com>
  Szabolcs Nagy <szabolcs.nagy@arm.com>
  Tanmay Jagdale <tanmay@marvell.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tianchen Ding <dtcccc@linux.alibaba.com>
  Tong Tiangen <tongtiangen@huawei.com>
  Tony Lindgren <tony@atomide.com>
  Uros Bizjak <ubizjak@gmail.com>
  Vasily Averin <vvs@openvz.org>
  Vincent Donnefort <vdonnefort@google.com>
  Vincent Donnefort <vincent.donnefort@arm.com>
  Vincent Guittot <vincent.guittot@linaro.org>
  Vlastimil Babka <vbabka@suse.cz>
  Will Deacon <will@kernel.org>
  William Dean <williamsukatube@163.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Wyes Karny <wyes.karny@amd.com>
  Xiang wangx <wangxiang@cdjrlc.com>
  Xiongwei Song <xiongwei.song@windriver.com>
  XU pengfei <xupengfei@nfschina.com>
  Xu Qiang <xuqiang36@huawei.com>
  XueBing Chen <chenxuebing@jari.cn>
  Yajun Deng <yajun.deng@linux.dev>
  Yang Yingliang <yangyingliang@huawei.com>
  Yicong Yang <yangyicong@hisilicon.com>
  Zhang Qiao <zhangqiao22@huawei.com>
  Zhang Rui <rui.zhang@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   0fac198def2b..9de1f9c8ca51  9de1f9c8ca5100a02a2e271bdbde36202e251b4b -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 15:53:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 15:53:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379405.612836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIuCi-0000fB-P2; Tue, 02 Aug 2022 15:53:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379405.612836; Tue, 02 Aug 2022 15:53:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIuCi-0000f4-KI; Tue, 02 Aug 2022 15:53:08 +0000
Received: by outflank-mailman (input) for mailman id 379405;
 Tue, 02 Aug 2022 15:53:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ix6t=YG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oIuCh-0000ey-KX
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 15:53:07 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2084.outbound.protection.outlook.com [40.107.20.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32a2e950-127b-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 17:53:06 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB3199.eurprd04.prod.outlook.com (2603:10a6:802:3::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Tue, 2 Aug
 2022 15:53:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 15:53:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32a2e950-127b-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q334k+96pqNI1TSo2h8FvyCGSxJnA58+Hf4TlVUXNdA2Ym7uKpVbL4eYYx4Um8MXRxXb/1pRKQrhNzhmtpffYDu0IozVktzOjCIpYhKigS3x8BVNhZdrwBGWOReVGZ7vGVWbmwIm/RVbTsEhyyiEr7JjMn9mTDC8IirnCqTdSTSLi8M5a/eoyUxH7u5vRntYRwnN8oJfFEixdHjAccJM9GVU9zcoXOATuQtxXckLknWz6wtSOMMBT8h/b8WJa2zGXTXSriZl2RWXCt/YtyISuRytkskVvBBlu0xU1fM2QipOUhmHguXz1avBtHZIbOq+wd/GNvwWyTk9Xs8A8NdEwA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BpSjyP0cqlxfdo4JoLuYFxdd7Tx7FMzsemLVikpq4a0=;
 b=mLsaL/hcVFjQJLo2jVH2h2Go2D3gfbcUoLQsuzVzTtJkp1sA7BWBqWXh6BZKnu7jCpHEuFo61l0hF60o7XkK8J9r160UqyiLVtw8NY6oc7wclnDsW4t2K54lJnji8k891dux3T/PrOXb6UiyHLAxPLU9SWR8rOvaLlkoeErGtCt08y5VA+/vUPNhK7RUcWvkWsoItVSIr5k+pUKiedLbiLegy6TgE/bPWGyvNmr2G60Sh+nO279fHxpdY8RTa5ISe2rwy48SF+FEs7cwLsTRnJxGx0cGR5xCgeval2RZTw1ZT7kBTdW4BWf8/0JkDQJzgcG2OLsCnlr/UOdXk0Bp+Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BpSjyP0cqlxfdo4JoLuYFxdd7Tx7FMzsemLVikpq4a0=;
 b=kkecOa3sCdEHuKHOt//FUIaqpUbwL0oGBlCwMby8VJ/U6KoMva0f3kMiUIQ5sh5wKb8Bt/jKH9l02MIaXOwbCt1fdQjhAr6FSsniYSTKJmuY+5tJcUoypZOgwm5TOG9Ps1aUnuMMLoiabmaVAdM25G3lj9I+EH0ciRay5KxvOABg+qE0vwIynasyuHVx/JCxBWZLzAXyRxaZ13Qbqff66solmswc2SnnVTWuFnfo/uoRFFQHcxpn4P+picB4DZu/sYKhIOys3KaF0VZ41sKSvuIVWQDTXGZYPsfbcgo6zuknWzWJbFqFhICHa+1jT6OEIQkoQx5RCMyJObDkjRExGA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eaa074c2-350e-c526-b825-c2d45ff0fc48@suse.com>
Date: Tue, 2 Aug 2022 17:53:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Content-Language: en-US
To: Bruno <brunoce@kolabnow.com>
Cc: xen-devel@lists.xenproject.org
References: <87c86770-9244-dbad-23ba-d449b2c3ccb7@suse.com>
 <B8D2151F-D58B-4443-8171-48623AB77595@kolabnow.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <B8D2151F-D58B-4443-8171-48623AB77595@kolabnow.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0122.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9eb76505-2646-4a0e-8473-08da749f15f9
X-MS-TrafficTypeDiagnostic: VI1PR04MB3199:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Lim+1pUSSAWkxvx8q3o/M5z8tdUnCfZCIIPcGkX+CDu+TE+15ErwdDBcFCNSHDRuVKIHfokW0xIjtEzNdy7DJj0Kyicvq3IFZXFoRNPUxpk9GVQkaKwmsU7I+04K0/MijFojT1E0cOPh3r1xzWCMxeb2wpaHRCvLCfOaDKMRbM04Bzs1jAE8CqHxufC8uMWZwZUSW6Ic/3jGOymTS1Vicy/6qOhtXk1+MErreDWsFY8eUVmaGfJBfgiG62fyd5gJ2olhGQdDtic6lkGhP/O/BDmpyszdJzgB5GILlC/BwVmOkK//cGr31po3y81ct88qVyHYcnewCD5/nrNsJ6mO5vnSgz8PEGw9r9TOnSdcVgP5BYK4TvBMg1yUqaxXPwp/D3l3ZHQTBB3GTzqPJvcxGulgxm7+Yw4osIa8eCDSS6C4+HXQHVznkI6quBY3Bek5efcSuGGR9Ds6dDVOO12gzJWhVOblzX6j1d2EraZoBvV+IzydRNE9P4nKUa2ILd8x+v0XhMerM/mCjMe52cKSudJFJsPDzRu64LP9tjhRGn1F03fZWrEy0pT98rmmsUYTv3Kpmxs7NwOSrCMvCvbByFaHswtfdHRClWw8zYfZQYJi+NgvQKJ3ae3R2wxOtLVbiILhW3VWy9RnAqcP0IFGAdNLCMX5u+hV5yecU4Iaq97bB7Ptz1ZALDRXCLSvT7D2rcvtYePxxQMTKupAwjviGVtt/WQ6f9oA45LtW4KrQmhHZuZpiD51saSkm5Ls442UEjX4Yv+qvdpdtOKaA/fmOAadjpXPMt7ilXHnr02dZ8jsoMsLBaIH1YmIcx87OdcGxJDok8/ZxJllUDhBaKRui2sO6rh/WNvM+XTBfkgLcDN6H6gXOFzyS8sUJ9sKQK0Q
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(376002)(136003)(346002)(39860400002)(66574015)(8676002)(5660300002)(66476007)(66946007)(86362001)(66556008)(4326008)(31696002)(2906002)(6916009)(38100700002)(478600001)(31686004)(8936002)(53546011)(6506007)(36756003)(83380400001)(966005)(41300700001)(6512007)(26005)(6486002)(316002)(186003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0pBd3MyYTVETmpVME9zbVBKYWtZSHJyUWJaemJoNk5ldXF5a2swOWZXMjlv?=
 =?utf-8?B?QUkwZkhCV0U4VnZKOGlMVkdMQVdwd1NXSkNUZGZSeHlzLzNuVGs3eW52aUpR?=
 =?utf-8?B?VUp2dUorWUx6dWpEeEZpcXhwZlNxT1VwUmRvcTlUMFVQSkd6a01IVmhJajV5?=
 =?utf-8?B?Ym8vbGY2ZUhEWU5CMlpNcXpja05kbks5Ly9MK01oVUlGUmEzMjkvYjVYNkll?=
 =?utf-8?B?aWJsT0pMTTRpUUxqQ3hIN0tWNFY5Ym9hbkRQWTBablFodVkrcG9lU3hFMThY?=
 =?utf-8?B?S0RrT2VSdUNmUExxTUpBVTYwUnBPTVpNZXpmaHN6aExCbjhkdHRWUTZMYVo3?=
 =?utf-8?B?UE9TQWJRZ0hPQjU0RnZLdE45M3NDZGR3em5ranEyNkdqRFg3RmxlMFU5Q2lt?=
 =?utf-8?B?eWdRSWJ1S2hxL1hYdWE3ZHIzRU1PMmcyVU9zK0lYZk5KRXpIQzhYQTRIaEMz?=
 =?utf-8?B?NGNqWjBwSitjWlB0S0ZmcWQ5eGJ4UVRKd1pFUE1EWjVtNWQxekxFazZLYVht?=
 =?utf-8?B?bWtsL1h0RGYxWWJLMU9wUVhiRjhKU3gwdzB0TWNiaE40bnk5Yk9kZk8wY1Vz?=
 =?utf-8?B?anBieExVcVpHeXZIdnZRbXVrQ2JCTkR5VjFpd212M3pmaGRyM2VlUVZiamhO?=
 =?utf-8?B?Vm9ta1UvdFBVTWRpTHFFYzE4Z25rN2JzVXIrZUdWWkFiejloTDlqWm1lcjl6?=
 =?utf-8?B?dWp1b3BOYWtRK25maG5BakdvbnR1RElrVXh2UWpVQkNtOVZoL3ZiU29HKzhy?=
 =?utf-8?B?ZmNQaFBaY3E4MG1YUGM2S01aRUp0ZlZzV05IQkN2dHk3QVJXUDZ0WVdqMGlt?=
 =?utf-8?B?Q0I5SERlWldPeUFucjNreE41SG9KM2h4N1FhTitndDB6WFpVaEVnVzFja1cy?=
 =?utf-8?B?ZkRDL0l6S25yVnYzd09FME5pZVBvWlB0eVNFSE54L0VSdlFFQ2xyLzE3bjFN?=
 =?utf-8?B?QjNkWENXRzRpc3ZFdDVnVEFDRVJQblJNOHlQcHVEdUJMSEFrUm80Mk9zV2ZP?=
 =?utf-8?B?MktYdDJPd1pWbTYwWjk2dDVDSjU1eENkbldZd2NWemsxQktwNVFqVUhtMTN5?=
 =?utf-8?B?ZWxGQ2xwdEFTWlpobDc5L2haVEwvaEZTcjZuc0tnRXpQbE5tOFR4YjVBci94?=
 =?utf-8?B?ck5VYnRUdVhwKzZsanduMmdYcmxVUHJrSUpodjVuYkZ5Mk5TOWxCdTltV0Nt?=
 =?utf-8?B?aHZTK1VLWVJ3WGQ5akhrY3V1dmpodUVROGlQWjdtdzJaWkxMNytPa3lJaGRW?=
 =?utf-8?B?WE54Mi9pY253bGlVWFl6QWRWYXB6SmNsNDhOUElpeFpiZHdXcUwrWjRlb2E2?=
 =?utf-8?B?UWhPdmRpSWVhL25kcTJSVFZLM3lwYXB0RWJGdXFOVEQ4WFZxa3BWcU1XYWpz?=
 =?utf-8?B?K3A4d091QmoxR1ZQdW14UmhMdjRseThmSDUzRUN1cnFyQ0hTTzBBY3lGVnJ0?=
 =?utf-8?B?ZnI2Um9FSUdHNFNLSGJBYnEyTEFCaG5hbTYvQVE3K2g5Y0hXL2NINjNhb3hE?=
 =?utf-8?B?SDhJdkJ4b2o3VzhDb0hNQzlLcGNIVE94Vm50Ym1XQW9FbHl6TkYrY0QrbzBR?=
 =?utf-8?B?cHFTTnFoOXp6OHZSbUlaMnByQkVyRXJSeWRSL0I2MVllMUJKN2JDMnB6SWcy?=
 =?utf-8?B?WDNyQ1BmZ3c5RDk0U0JoZ2FOc0VTamNBL3hWWUpUSFVPK08vY0l3dTBiK25u?=
 =?utf-8?B?VkZUR1JycWVWbGlOVm9WL3Nld3YzUjdjQk4xZnp3aERUeGJiWUFvZTI0eGpL?=
 =?utf-8?B?ZmpXeTdOQW9tRGxIb09lSmdXMW1HQTE1V3l5ZzdKRjZqaU03YXhNRWNudzZB?=
 =?utf-8?B?MzBJTFZJbVllRldlcktuR0g1ZTdDbDRZSXNnN0RURWw4eGZUNE8vMU1aWUJX?=
 =?utf-8?B?VThENWpnMWc4OE1DY1luOVMrMGhXdHJTSEJ3ZmNjd0ZWVC9rNytyS0czOEpo?=
 =?utf-8?B?SEpSUFZVRzV5eGlHTXJBSFREQmxOdjNjQ0l0ZWgrWHhxd3BTT3FLRE5TVGlz?=
 =?utf-8?B?ZlVCNWJxWDh3NHRzS0xScmRaeVZVMkJaSzd1cktLMSthT2dGL2NiY0NxVENk?=
 =?utf-8?B?NDhkZE5jS1dFeUtTRWo1N25MTFZpVFZqMGIvTlRwTjdmL1ZPNVkzS3hYc2NT?=
 =?utf-8?Q?PWEDU6lqmo8HsFMntuxbQwUhT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9eb76505-2646-4a0e-8473-08da749f15f9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2022 15:53:04.4892
 (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: ZABU/jmoT4sQj37xhtA6kXWhIdrOsIu4HjCI1iyeTdgzYh7Odr6nqhpQum8OQKxaqNNw41cqzoffB/DUzncF8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3199

On 02.08.2022 17:40, Bruno wrote:
> Iâ€™m talking about booting on the host Xen (â€œLinux with Xenâ€) - goes to an initramfs prompt.
> 
> I donâ€™t know how to get to this hypervisor log. Maybe not the case as I am attempting the boot on the host linux with Xen. There is no /var/log - only cache and lock

Generally the hypervisor log is obtained via "xl dmesg" (likely not an
option for you when you end up on an initramfs prompt) or a serial
cable. How do you obtain the kernel log (there was one posted on
xen-users)?

> I can list the hard drive partitions under /dev (nvme0n1p1-5), but I cannot mount them. I cannot access a thumb drive either /dev/block, when mounted has two strange symlinks to ../sda1 (8:0 and 1:8). This is a bit frustrating because it does not allow me to export dmesg or other info.
> 
> Im not receiving the error messages on screen before initramfs, they are hidden, but I do get this message:
> 
>     Gave up waiting for suspend/resume device
>      Gave up waiting for root file system device.  Common problems:
> Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait long enough?)
> Missing modules (cat /proc/modules; ls /dev)
> ALERT! UUID=0123abc does not exist. Dropping to a shell!
> 
> On the dmesg, I got the ACPI errors:
> 
> ACPI BIOS Error
> (bug): Failure creating named ob
> I_SB.PCOO.XHCI.RHUB.HS05._UPC], AE ALREADY _EXISTS (Z0211217/dsuloadZ-326)
> ACPI Error: AE_ALREADY EXISTS, During name
> slookun/catalog
> -9451181 ACPI: Skipping parse of AML opcode: OpcodeNane unavailable
> (20211217/psobject-z20)
> (0x0014)
> 
> Repeated several times
> 
> ACPI: Skipping parse of AML opcode: DpcodeNane unavailable (0x0014)

Right - I've seen those. These were why I did ask for a pair of kernel logs
(with and without Xen), to put them side by side and see which of the errors
are common (and hence likely of no interest to resolve your issue).

> Latter on the dmesg I got repeated errors like this:
> 
> RIP: 0033:0x7 969a2e2Ã¤c9
> RSP: 002b:00007ffaff421a28 FLAGS: 00000246 RIG RAX: 0000000000000139
> RAX: Efffffffffffffda RBX: 00005582Bb061d10 RCX: 00007 969aZeZÃ¤c9
> 244.4412241 RDX:000000000RSI: 000071969a49bfOd RDI: 00000000000000
> RB: 0000000000020000 ROB: 0000000000000000 R09: 000055828b04c290
> R10: 000000000000000c R11: 0000000000000246 R12: 00007f969a49bfÂ®d
> R13: 000000GBOOOOOOOO R14: 000055B28b060aZO R15: 00005582Bb06110
> 
> (/TASK>
> INFO: task systemd-udevd: 190 blocked for more than 120 seconds.

Besides some of the characters looking scrambled, I can spot nothing like
this in
https://lists.xenproject.org/archives/html/xen-users/2022-07/msg00057.html

Anyway, my request stands: Please post the three named logs here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 16:08:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 16:08:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379411.612847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIuQs-0002rg-5K; Tue, 02 Aug 2022 16:07:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379411.612847; Tue, 02 Aug 2022 16:07:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIuQs-0002rZ-18; Tue, 02 Aug 2022 16:07:46 +0000
Received: by outflank-mailman (input) for mailman id 379411;
 Tue, 02 Aug 2022 16:07:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D7Wv=YG=kolabnow.com=brunoce@srs-se1.protection.inumbo.net>)
 id 1oIuQq-0002rT-8s
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 16:07:45 +0000
Received: from mx.kolabnow.com (mx.kolabnow.com [212.103.80.153])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39ff6032-127d-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 18:07:37 +0200 (CEST)
Received: from localhost (unknown [127.0.0.1])
 by mx.kolabnow.com (Postfix) with ESMTP id E86641C7F;
 Tue,  2 Aug 2022 18:07:36 +0200 (CEST)
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out001.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id hJRdx5ulW76n; Tue,  2 Aug 2022 18:07:25 +0200 (CEST)
Received: from int-mx003.mykolab.com (unknown [10.9.13.3])
 by mx.kolabnow.com (Postfix) with ESMTPS id AA06418E5;
 Tue,  2 Aug 2022 18:07:24 +0200 (CEST)
Received: from int-subm001.mykolab.com (unknown [10.9.37.1])
 by int-mx003.mykolab.com (Postfix) with ESMTPS id 61FA1343A;
 Tue,  2 Aug 2022 18:07:24 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39ff6032-127d-11ed-bd2d-47488cf2e6aa
Authentication-Results: ext-mx-out001.mykolab.com (amavisd-new);
	dkim=pass (4096-bit key) reason="pass (just generated, assumed good)"
	header.d=kolabnow.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
	message-id:references:in-reply-to:subject:subject:from:from:date
	:date:content-type:content-type:mime-version:received:received
	:received; s=dkim20160331; t=1659456445; x=1661270846; bh=/ZufuW
	eQ1JuVLb10gJn6N65J7eUVrr1t5m3LBZaMVp0=; b=xoDnPlEkNfxVNUma8/1gSh
	gyUvKXXcTHcUPsCgtj9fCuMzKNQTZYcEYunG8FQsCdOghsx5ZZUYhsckpKJp6IAr
	cMlonOcMV4r8A9TdegyCrEMLnibzO+plKOnwEpODMXj2W24bZJaC3EOCjMqYzFxz
	MtpDp9iIH/xUlW4YtpGfb+x71nr2Wb70Il9MHS1nW5UX5nzepL8BVMwSh7XC3swl
	7Ovb4txoSxe/l1RS8HSXtSQpxFbqulwY+YxitBqneWBSRodEbBKWr/Bnox4Z5w/F
	gdJuyDAGYmJN6Wu52aHuL6SBkSV08VtlSfm9Xxx6eoAHlFvtXYXXFlvowjSzfFYn
	9YERT7272/3IhWIvEYdVWWFFfOPuFirT+WVL9hRsBsbjw+cQDFNaIZW973FcUWsJ
	ZZzpyUj0i/Sp1ASxp74JlJxwC8H/k3Dxhl8B0MmAq+wIxL2Ywt6hghwKPiaBYV6s
	sNXnxM5gpjgDpkTNKD3ct5N/G8+DxPn3peoRBm5qa0avYuWUuOzxpe+sUSohRp0y
	P8erbG0ZluDJqWb0IoCzHq5CHvNWBLwmpqfKhn8oi69/qPhsFj1GQwMKeU33wQy2
	Gs/ZodiMy/XgppiHj5LGhgsnTOo+9sUsv8cfGtCtE+6NL2GD2JgM0Bw3pzMLiYZA
	EDX3z4U2x1SY5/NlCNzvA=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-10 required=5
	tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, LOTS_OF_MONEY=0.001]
	autolearn=ham autolearn_force=no
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="=_d5aa6b6b28cddfb804c3c1dc10b6b8eb"
Date: Tue, 02 Aug 2022 17:07:23 +0100
From: Bruno <brunoce@kolabnow.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
In-Reply-To: <eaa074c2-350e-c526-b825-c2d45ff0fc48@suse.com>
References: <87c86770-9244-dbad-23ba-d449b2c3ccb7@suse.com>
 <B8D2151F-D58B-4443-8171-48623AB77595@kolabnow.com>
 <eaa074c2-350e-c526-b825-c2d45ff0fc48@suse.com>
Message-ID: <24ec8c9e1dffd6073677fec8d2fb038a@kolabnow.com>

--=_d5aa6b6b28cddfb804c3c1dc10b6b8eb
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8;
 format=flowed

On initramfs:

- xl will give me not found - I cannot do xl info or xl dmesg

- I cannot mount any disk, therefore, exporting logs from there has been 
photographing and using OCR then reviewing and correcting - but I guess 
the main difference is ACIP, as I cannot access the disks

I have now booted on kernel 18 to get the kernel boot log for you (the 
one on Xen-user is kernel 10).

# journalctl -k -b

Aug 02 16:57:40 xd kernel: microcode: microcode updated early to 
revision 0xa4, date = 2022-02-01
Aug 02 16:57:40 xd kernel: Linux version 5.18.0-2-amd64 
(debian-kernel@lists.debian.org) (gcc-11 (Debian 11.3.0-3) 11.3.0, GNU 
ld (GNU Binutils for Debian) 2.38.50.20220615) #1 SMP PREEMPT_DYNAMIC 
Debian 5.18.5-1 (2022-06-16)
Aug 02 16:57:40 xd kernel: Command line: 
BOOT_IMAGE=/vmlinuz-5.18.0-2-amd64 root=UUID=0123abc ro quiet loglevel=3
Aug 02 16:57:40 xd kernel: x86/split lock detection: #AC: crashing the 
kernel on kernel split_locks and warning on user-space split_locks
Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 
floating point registers'
Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE 
registers'
Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX 
registers'
Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x020: 
'AVX-512 opmask'
Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x040: 
'AVX-512 Hi256'
Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x080: 
'AVX-512 ZMM_Hi256'
Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x200: 
'Protection Keys User registers'
Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[2]: 576, 
xstate_sizes[2]: 256
Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[5]: 832, 
xstate_sizes[5]: 64
Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[6]: 896, 
xstate_sizes[6]: 512
Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[7]: 1408, 
xstate_sizes[7]: 1024
Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[9]: 2432, 
xstate_sizes[9]: 8
Aug 02 16:57:40 xd kernel: x86/fpu: Enabled xstate features 0x2e7, 
context size is 2440 bytes, using 'compacted' format.
Aug 02 16:57:40 xd kernel: signal: max sigframe size: 3632
Aug 02 16:57:40 xd kernel: BIOS-provided physical RAM map:
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000000000000-0x000000000009efff] usable
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x000000000009f000-0x00000000000fffff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000000100000-0x0000000040198fff] usable
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000040199000-0x0000000040a98fff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000040a99000-0x00000000428aefff] usable
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x00000000428af000-0x0000000042c7efff] type 20
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000042c7f000-0x00000000446fefff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x00000000446ff000-0x0000000044f2efff] ACPI NVS
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000044f2f000-0x0000000044ffefff] ACPI data
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000044fff000-0x0000000044ffffff] usable
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000045000000-0x0000000048ffffff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000049e00000-0x000000004f7fffff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x00000000c0000000-0x00000000cfffffff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x00000000fe010000-0x00000000fe010fff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x00000000fed20000-0x00000000fed7ffff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x00000000ff500000-0x00000000ffffffff] reserved
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
0x0000000100000000-0x00000004b07fffff] usable
Aug 02 16:57:40 xd kernel: NX (Execute Disable) protection: active
Aug 02 16:57:40 xd kernel: efi: EFI v2.70 by INSYDE Corp.
Aug 02 16:57:40 xd kernel: efi: ACPI=0x44ffe000 ACPI 2.0=0x44ffe014 
TPMFinalLog=0x44ec5000 SMBIOS=0x42e5e000 SMBIOS 3.0=0x42e5c000 
ESRT=0x3c78ea98 MOKvar=0x3c70c000
Aug 02 16:57:40 xd kernel: secureboot: Secure boot could not be 
determined (mode 0)
Aug 02 16:57:40 xd kernel: SMBIOS 3.3.0 present.
Aug 02 16:57:40 xd kernel: DMI: Acer Aspire A517-52G/Jasmine_TL, BIOS 
V1.26 03/14/2022
Aug 02 16:57:40 xd kernel: tsc: Detected 2400.000 MHz processor
Aug 02 16:57:40 xd kernel: tsc: Detected 2419.200 MHz TSC
Aug 02 16:57:40 xd kernel: e820: update [mem 0x00000000-0x00000fff] 
usable ==> reserved
Aug 02 16:57:40 xd kernel: e820: remove [mem 0x000a0000-0x000fffff] 
usable
Aug 02 16:57:40 xd kernel: last_pfn = 0x4b0800 max_arch_pfn = 
0x400000000
Aug 02 16:57:40 xd kernel: x86/PAT: Configuration [0-7]: WB WC UC- UC WB 
WP UC- WT
Aug 02 16:57:40 xd kernel: last_pfn = 0x45000 max_arch_pfn = 0x400000000
Aug 02 16:57:40 xd kernel: esrt: Reserving ESRT space from 
0x000000003c78ea98 to 0x000000003c78ead0.
Aug 02 16:57:40 xd kernel: e820: update [mem 0x3c78e000-0x3c78efff] 
usable ==> reserved
Aug 02 16:57:40 xd kernel: e820: update [mem 0x3c70c000-0x3c70efff] 
usable ==> reserved
Aug 02 16:57:40 xd kernel: Using GB pages for direct mapping
Aug 02 16:57:40 xd kernel: RAMDISK: [mem 0x2ff63000-0x33fa8fff]
Aug 02 16:57:40 xd kernel: ACPI: Early table checksum verification 
disabled
Aug 02 16:57:40 xd kernel: ACPI: RSDP 0x0000000044FFE014 000024 (v02 
ACRSYS)
Aug 02 16:57:40 xd kernel: ACPI: XSDT 0x0000000044FDB188 00011C (v01 
ACRSYS ACRPRDCT 00000002 01000013)
Aug 02 16:57:40 xd kernel: ACPI: FACP 0x0000000044FDE000 000114 (v06 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: DSDT 0x0000000044F81000 059948 (v02 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: FACS 0x0000000044EA2000 000040
Aug 02 16:57:40 xd kernel: ACPI: UEFI 0x0000000044F2E000 000236 (v01 
ACRSYS ACRPRDCT 00000001 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FFA000 00255C (v02 
ACRSYS ACRPRDCT 00003000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF9000 000105 (v02 
ACRSYS ACRPRDCT 00003000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF6000 002137 (v02 
ACRSYS ACRPRDCT 00003000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF2000 003300 (v02 
ACRSYS ACRPRDCT 00003000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF1000 00077B (v02 
ACRSYS ACRPRDCT 00001000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: TPM2 0x0000000044FF0000 00004C (v04 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: MSDM 0x0000000044FEF000 000055 (v03 
ACRSYS ACRPRDCT 00000001 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FEE000 000D02 (v02 
ACRSYS ACRPRDCT 00000000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: NHLT 0x0000000044FEC000 001B54 (v00 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: LPIT 0x0000000044FEB000 0000CC (v01 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: WSMT 0x0000000044FEA000 000028 (v01 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FE9000 000B70 (v02 
ACRSYS ACRPRDCT 00001000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FE8000 00012A (v02 
ACRSYS ACRPRDCT 00000000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: DBGP 0x0000000044FE7000 000034 (v01 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: DBG2 0x0000000044FE6000 000054 (v00 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FDF000 006BA9 (v01 
ACRSYS ACRPRDCT 00001000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: HPET 0x0000000044FDD000 000038 (v01 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: APIC 0x0000000044FDC000 00012C (v04 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: MCFG 0x0000000044FFD000 00003C (v01 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F80000 000C78 (v02 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7D000 0020D6 (v01 
ACRSYS ACRPRDCT 00001000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: UEFI 0x0000000044E5B000 00063A (v01 
ACRSYS ACRPRDCT 00000000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: UEFI 0x0000000044E5A000 00005C (v01 
ACRSYS ACRPRDCT 00000000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7C000 000985 (v02 
ACRSYS ACRPRDCT 00001000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7B000 0000F8 (v01 
ACRSYS ACRPRDCT 00001000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7A000 000835 (v02 
ACRSYS ACRPRDCT 00003000 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: FPDT 0x0000000044F79000 000044 (v01 
ACRSYS ACRPRDCT 00000002 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: PTDT 0x0000000044F77000 000CFE (v00 
ACRSYS ACRPRDCT 00000005 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: BGRT 0x0000000044F78000 000038 (v01 
ACRSYS ACRPRDCT 00000001 1025 00040000)
Aug 02 16:57:40 xd kernel: ACPI: Reserving FACP table memory at [mem 
0x44fde000-0x44fde113]
Aug 02 16:57:40 xd kernel: ACPI: Reserving DSDT table memory at [mem 
0x44f81000-0x44fda947]
Aug 02 16:57:40 xd kernel: ACPI: Reserving FACS table memory at [mem 
0x44ea2000-0x44ea203f]
Aug 02 16:57:40 xd kernel: ACPI: Reserving UEFI table memory at [mem 
0x44f2e000-0x44f2e235]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44ffa000-0x44ffc55b]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44ff9000-0x44ff9104]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44ff6000-0x44ff8136]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44ff2000-0x44ff52ff]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44ff1000-0x44ff177a]
Aug 02 16:57:40 xd kernel: ACPI: Reserving TPM2 table memory at [mem 
0x44ff0000-0x44ff004b]
Aug 02 16:57:40 xd kernel: ACPI: Reserving MSDM table memory at [mem 
0x44fef000-0x44fef054]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44fee000-0x44feed01]
Aug 02 16:57:40 xd kernel: ACPI: Reserving NHLT table memory at [mem 
0x44fec000-0x44fedb53]
Aug 02 16:57:40 xd kernel: ACPI: Reserving LPIT table memory at [mem 
0x44feb000-0x44feb0cb]
Aug 02 16:57:40 xd kernel: ACPI: Reserving WSMT table memory at [mem 
0x44fea000-0x44fea027]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44fe9000-0x44fe9b6f]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44fe8000-0x44fe8129]
Aug 02 16:57:40 xd kernel: ACPI: Reserving DBGP table memory at [mem 
0x44fe7000-0x44fe7033]
Aug 02 16:57:40 xd kernel: ACPI: Reserving DBG2 table memory at [mem 
0x44fe6000-0x44fe6053]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44fdf000-0x44fe5ba8]
Aug 02 16:57:40 xd kernel: ACPI: Reserving HPET table memory at [mem 
0x44fdd000-0x44fdd037]
Aug 02 16:57:40 xd kernel: ACPI: Reserving APIC table memory at [mem 
0x44fdc000-0x44fdc12b]
Aug 02 16:57:40 xd kernel: ACPI: Reserving MCFG table memory at [mem 
0x44ffd000-0x44ffd03b]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44f80000-0x44f80c77]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44f7d000-0x44f7f0d5]
Aug 02 16:57:40 xd kernel: ACPI: Reserving UEFI table memory at [mem 
0x44e5b000-0x44e5b639]
Aug 02 16:57:40 xd kernel: ACPI: Reserving UEFI table memory at [mem 
0x44e5a000-0x44e5a05b]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44f7c000-0x44f7c984]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44f7b000-0x44f7b0f7]
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
0x44f7a000-0x44f7a834]
Aug 02 16:57:40 xd kernel: ACPI: Reserving FPDT table memory at [mem 
0x44f79000-0x44f79043]
Aug 02 16:57:40 xd kernel: ACPI: Reserving PTDT table memory at [mem 
0x44f77000-0x44f77cfd]
Aug 02 16:57:40 xd kernel: ACPI: Reserving BGRT table memory at [mem 
0x44f78000-0x44f78037]
Aug 02 16:57:40 xd kernel: No NUMA configuration found
Aug 02 16:57:40 xd kernel: Faking a node at [mem 
0x0000000000000000-0x00000004b07fffff]
Aug 02 16:57:40 xd kernel: NODE_DATA(0) allocated [mem 
0x4b07d5000-0x4b07fffff]
Aug 02 16:57:40 xd kernel: Zone ranges:
Aug 02 16:57:40 xd kernel: DMA [mem 
0x0000000000001000-0x0000000000ffffff]
Aug 02 16:57:40 xd kernel: DMA32 [mem 
0x0000000001000000-0x00000000ffffffff]
Aug 02 16:57:40 xd kernel: Normal [mem 
0x0000000100000000-0x00000004b07fffff]
Aug 02 16:57:40 xd kernel: Device empty
Aug 02 16:57:40 xd kernel: Movable zone start for each node
Aug 02 16:57:40 xd kernel: Early memory node ranges
Aug 02 16:57:40 xd kernel: node 0: [mem 
0x0000000000001000-0x000000000009efff]
Aug 02 16:57:40 xd kernel: node 0: [mem 
0x0000000000100000-0x0000000040198fff]
Aug 02 16:57:40 xd kernel: node 0: [mem 
0x0000000040a99000-0x00000000428aefff]
Aug 02 16:57:40 xd kernel: node 0: [mem 
0x0000000044fff000-0x0000000044ffffff]
Aug 02 16:57:40 xd kernel: node 0: [mem 
0x0000000100000000-0x00000004b07fffff]
Aug 02 16:57:40 xd kernel: Initmem setup node 0 [mem 
0x0000000000001000-0x00000004b07fffff]
Aug 02 16:57:40 xd kernel: On node 0, zone DMA: 1 pages in unavailable 
ranges
Aug 02 16:57:40 xd kernel: On node 0, zone DMA: 97 pages in unavailable 
ranges
Aug 02 16:57:40 xd kernel: On node 0, zone DMA32: 2304 pages in 
unavailable ranges
Aug 02 16:57:40 xd kernel: On node 0, zone DMA32: 10064 pages in 
unavailable ranges
Aug 02 16:57:40 xd kernel: On node 0, zone Normal: 12288 pages in 
unavailable ranges
Aug 02 16:57:40 xd kernel: On node 0, zone Normal: 30720 pages in 
unavailable ranges
Aug 02 16:57:40 xd kernel: Reserving Intel graphics memory at [mem 
0x4b800000-0x4f7fffff]
Aug 02 16:57:40 xd kernel: ACPI: PM-Timer IO Port: 0x1808
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x01] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x02] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x03] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x04] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x05] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x06] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x07] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x08] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x09] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0a] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0b] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0c] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0d] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0e] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0f] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x10] high edge 
lint[0x1])
Aug 02 16:57:40 xd kernel: IOAPIC[0]: apic_id 2, version 32, address 
0xfec00000, GSI 0-119
Aug 02 16:57:40 xd kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 
2 dfl dfl)
Aug 02 16:57:40 xd kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 
9 high level)
Aug 02 16:57:40 xd kernel: ACPI: Using ACPI (MADT) for SMP configuration 
information
Aug 02 16:57:40 xd kernel: ACPI: HPET id: 0x8086a201 base: 0xfed00000
Aug 02 16:57:40 xd kernel: e820: update [mem 0x3c78f000-0x3c882fff] 
usable ==> reserved
Aug 02 16:57:40 xd kernel: TSC deadline timer available
Aug 02 16:57:40 xd kernel: smpboot: Allowing 8 CPUs, 0 hotplug CPUs
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x00000000-0x00000fff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x0009f000-0x000fffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x3c70c000-0x3c70efff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x3c78e000-0x3c882fff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x40199000-0x40a98fff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x428af000-0x42c7efff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x42c7f000-0x446fefff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x446ff000-0x44f2efff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x44f2f000-0x44ffefff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x45000000-0x48ffffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x49000000-0x49dfffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x49e00000-0x4f7fffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0x4f800000-0xbfffffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0xc0000000-0xcfffffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0xd0000000-0xfe00ffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0xfe010000-0xfe010fff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0xfe011000-0xfed1ffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0xfed20000-0xfed7ffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0xfed80000-0xff4fffff]
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
[mem 0xff500000-0xffffffff]
Aug 02 16:57:40 xd kernel: [mem 0x4f800000-0xbfffffff] available for PCI 
devices
Aug 02 16:57:40 xd kernel: Booting paravirtualized kernel on bare 
hardware
Aug 02 16:57:40 xd kernel: clocksource: refined-jiffies: mask: 
0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
Aug 02 16:57:40 xd kernel: setup_percpu: NR_CPUS:8192 nr_cpumask_bits:8 
nr_cpu_ids:8 nr_node_ids:1
Aug 02 16:57:40 xd kernel: percpu: Embedded 61 pages/cpu s212992 r8192 
d28672 u262144
Aug 02 16:57:40 xd kernel: pcpu-alloc: s212992 r8192 d28672 u262144 
alloc=1*2097152
Aug 02 16:57:40 xd kernel: pcpu-alloc: [0] 0 1 2 3 4 5 6 7
Aug 02 16:57:40 xd kernel: Fallback order for Node 0: 0
Aug 02 16:57:40 xd kernel: Built 1 zonelists, mobility grouping on. 
Total pages: 4074001
Aug 02 16:57:40 xd kernel: Policy zone: Normal
Aug 02 16:57:40 xd kernel: Kernel command line: 
BOOT_IMAGE=/vmlinuz-5.18.0-2-amd64 root=UUID=0123abcd ro quiet 
loglevel=3
Aug 02 16:57:40 xd kernel: Unknown kernel command line parameters 
"BOOT_IMAGE=/vmlinuz-5.18.0-2-amd64", will be passed to user space.
Aug 02 16:57:40 xd kernel: Dentry cache hash table entries: 2097152 
(order: 12, 16777216 bytes, linear)
Aug 02 16:57:40 xd kernel: Inode-cache hash table entries: 1048576 
(order: 11, 8388608 bytes, linear)
Aug 02 16:57:40 xd kernel: mem auto-init: stack:off, heap alloc:on, heap 
free:off
Aug 02 16:57:40 xd kernel: Memory: 999928K/16555320K available (12294K 
kernel code, 2773K rwdata, 8568K rodata, 2500K init, 5156K bss, 540176K 
reserved, 0K cma-reserved)
Aug 02 16:57:40 xd kernel: SLUB: HWalign=64, Order=0-3, MinObjects=0, 
CPUs=8, Nodes=1
Aug 02 16:57:40 xd kernel: ftrace: allocating 38641 entries in 151 pages
Aug 02 16:57:40 xd kernel: ftrace: allocated 151 pages with 5 groups
Aug 02 16:57:40 xd kernel: Dynamic Preempt: voluntary
Aug 02 16:57:40 xd kernel: rcu: Preemptible hierarchical RCU 
implementation.
Aug 02 16:57:40 xd kernel: rcu: RCU restricting CPUs from NR_CPUS=8192 
to nr_cpu_ids=8.
Aug 02 16:57:40 xd kernel: Trampoline variant of Tasks RCU enabled.
Aug 02 16:57:40 xd kernel: Rude variant of Tasks RCU enabled.
Aug 02 16:57:40 xd kernel: Tracing variant of Tasks RCU enabled.
Aug 02 16:57:40 xd kernel: rcu: RCU calculated value of 
scheduler-enlistment delay is 25 jiffies.
Aug 02 16:57:40 xd kernel: rcu: Adjusting geometry for 
rcu_fanout_leaf=16, nr_cpu_ids=8
Aug 02 16:57:40 xd kernel: NR_IRQS: 524544, nr_irqs: 2048, preallocated 
irqs: 16
Aug 02 16:57:40 xd kernel: random: crng init done
Aug 02 16:57:40 xd kernel: Console: colour dummy device 80x25
Aug 02 16:57:40 xd kernel: printk: console [tty0] enabled
Aug 02 16:57:40 xd kernel: ACPI: Core revision 20211217
Aug 02 16:57:40 xd kernel: hpet: HPET dysfunctional in PC10. Force 
disabled.
Aug 02 16:57:40 xd kernel: APIC: Switch to symmetric I/O mode setup
Aug 02 16:57:40 xd kernel: x2apic: IRQ remapping doesn't support X2APIC 
mode
Aug 02 16:57:40 xd kernel: clocksource: tsc-early: mask: 
0xffffffffffffffff max_cycles: 0x22df1149949, max_idle_ns: 440795312789 
ns
Aug 02 16:57:40 xd kernel: Calibrating delay loop (skipped), value 
calculated using timer frequency.. 4838.40 BogoMIPS (lpj=9676800)
Aug 02 16:57:40 xd kernel: pid_max: default: 32768 minimum: 301
Aug 02 16:57:40 xd kernel: LSM: Security Framework initializing
Aug 02 16:57:40 xd kernel: Yama: disabled by default; enable with sysctl 
kernel.yama.*
Aug 02 16:57:40 xd kernel: AppArmor: AppArmor initialized
Aug 02 16:57:40 xd kernel: TOMOYO Linux initialized
Aug 02 16:57:40 xd kernel: Mount-cache hash table entries: 32768 (order: 
6, 262144 bytes, linear)
Aug 02 16:57:40 xd kernel: Mountpoint-cache hash table entries: 32768 
(order: 6, 262144 bytes, linear)
Aug 02 16:57:40 xd kernel: CPU0: Thermal monitoring enabled (TM1)
Aug 02 16:57:40 xd kernel: x86/cpu: User Mode Instruction Prevention 
(UMIP) activated
Aug 02 16:57:40 xd kernel: process: using mwait in idle threads
Aug 02 16:57:40 xd kernel: Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
Aug 02 16:57:40 xd kernel: Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 
1GB 0
Aug 02 16:57:40 xd kernel: Spectre V1 : Mitigation: usercopy/swapgs 
barriers and __user pointer sanitization
Aug 02 16:57:40 xd kernel: Spectre V2 : Mitigation: Enhanced IBRS
Aug 02 16:57:40 xd kernel: Spectre V2 : Spectre v2 / SpectreRSB 
mitigation: Filling RSB on context switch
Aug 02 16:57:40 xd kernel: Spectre V2 : mitigation: Enabling conditional 
Indirect Branch Prediction Barrier
Aug 02 16:57:40 xd kernel: Speculative Store Bypass: Mitigation: 
Speculative Store Bypass disabled via prctl
Aug 02 16:57:40 xd kernel: Freeing SMP alternatives memory: 32K
Aug 02 16:57:40 xd kernel: smpboot: Estimated ratio of average max 
frequency by base frequency (times 1024): 1621
Aug 02 16:57:40 xd kernel: smpboot: CPU0: 11th Gen Intel(R) Core(TM) 
i5-1135G7 @ 2.40GHz (family: 0x6, model: 0x8c, stepping: 0x1)
Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting adjustable 
number of callback queues.
Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting shift to 3 and 
lim to 1.
Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting shift to 3 and 
lim to 1.
Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting shift to 3 and 
lim to 1.
Aug 02 16:57:40 xd kernel: Performance Events: PEBS fmt4+-baseline, 
AnyThread deprecated, Icelake events, 32-deep LBR, full-width counters, 
Intel PMU driver.
Aug 02 16:57:40 xd kernel: ... version: 5
Aug 02 16:57:40 xd kernel: ... bit width: 48
Aug 02 16:57:40 xd kernel: ... generic registers: 8
Aug 02 16:57:40 xd kernel: ... value mask: 0000ffffffffffff
Aug 02 16:57:40 xd kernel: ... max period: 00007fffffffffff
Aug 02 16:57:40 xd kernel: ... fixed-purpose events: 4
Aug 02 16:57:40 xd kernel: ... event mask: 0001000f000000ff
Aug 02 16:57:40 xd kernel: rcu: Hierarchical SRCU implementation.
Aug 02 16:57:40 xd kernel: NMI watchdog: Enabled. Permanently consumes 
one hw-PMU counter.
Aug 02 16:57:40 xd kernel: smp: Bringing up secondary CPUs ...
Aug 02 16:57:40 xd kernel: x86: Booting SMP configuration:
Aug 02 16:57:40 xd kernel: .... node #0, CPUs: #1 #2 #3 #4 #5 #6 #7
Aug 02 16:57:40 xd kernel: smp: Brought up 1 node, 8 CPUs
Aug 02 16:57:40 xd kernel: smpboot: Max logical packages: 1
Aug 02 16:57:40 xd kernel: smpboot: Total of 8 processors activated 
(38707.20 BogoMIPS)
Aug 02 16:57:40 xd kernel: node 0 deferred pages initialised in 20ms
Aug 02 16:57:40 xd kernel: devtmpfs: initialized
Aug 02 16:57:40 xd kernel: x86/mm: Memory block size: 128MB
Aug 02 16:57:40 xd kernel: ACPI: PM: Registering ACPI NVS region [mem 
0x446ff000-0x44f2efff] (8585216 bytes)
Aug 02 16:57:40 xd kernel: clocksource: jiffies: mask: 0xffffffff 
max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
Aug 02 16:57:40 xd kernel: futex hash table entries: 2048 (order: 5, 
131072 bytes, linear)
Aug 02 16:57:40 xd kernel: pinctrl core: initialized pinctrl subsystem
Aug 02 16:57:40 xd kernel: NET: Registered PF_NETLINK/PF_ROUTE protocol 
family
Aug 02 16:57:40 xd kernel: DMA: preallocated 2048 KiB GFP_KERNEL pool 
for atomic allocations
Aug 02 16:57:40 xd kernel: DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA 
pool for atomic allocations
Aug 02 16:57:40 xd kernel: DMA: preallocated 2048 KiB 
GFP_KERNEL|GFP_DMA32 pool for atomic allocations
Aug 02 16:57:40 xd kernel: audit: initializing netlink subsys (disabled)
Aug 02 16:57:40 xd kernel: audit: type=2000 audit(1659455859.032:1): 
state=initialized audit_enabled=0 res=1
Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
'fair_share'
Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
'bang_bang'
Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
'step_wise'
Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
'user_space'
Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
'power_allocator'
Aug 02 16:57:40 xd kernel: cpuidle: using governor ladder
Aug 02 16:57:40 xd kernel: cpuidle: using governor menu
Aug 02 16:57:40 xd kernel: acpiphp: ACPI Hot Plug PCI Controller Driver 
version: 0.5
Aug 02 16:57:40 xd kernel: PCI: MMCONFIG for domain 0000 [bus 00-ff] at 
[mem 0xc0000000-0xcfffffff] (base 0xc0000000)
Aug 02 16:57:40 xd kernel: PCI: MMCONFIG at [mem 0xc0000000-0xcfffffff] 
reserved in E820
Aug 02 16:57:40 xd kernel: PCI: Using configuration type 1 for base 
access
Aug 02 16:57:40 xd kernel: ENERGY_PERF_BIAS: Set to 'normal', was 
'performance'
Aug 02 16:57:40 xd kernel: kprobes: kprobe jump-optimization is enabled. 
All kprobes are optimized if possible.
Aug 02 16:57:40 xd kernel: HugeTLB registered 1.00 GiB page size, 
pre-allocated 0 pages
Aug 02 16:57:40 xd kernel: HugeTLB registered 2.00 MiB page size, 
pre-allocated 0 pages
Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Module Device)
Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Processor Device)
Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Processor Aggregator Device)
Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Linux-Dell-Video)
Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS01._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS01._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS02._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS02._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS03._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS03._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS04._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS04._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS05._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS05._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS06._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS06._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS07._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS07._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS08._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS08._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS09._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS09._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS10._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.HS10._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS01._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS01._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS02._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS02._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS03._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS03._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS04._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS04._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS05._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS05._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS06._UPC], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
object [\_SB.PC00.XHCI.RHUB.SS06._PLD], AE_ALREADY_EXISTS 
(20211217/dswload2-326)
Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
lookup/catalog (20211217/psobject-220)
Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
OpcodeName unavailable (0x0014)
Aug 02 16:57:40 xd kernel: ACPI: 15 ACPI AML tables successfully 
acquired and loaded
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5080BCB600 0001C6 (v02 
PmRef Cpu0Psd 00003000 INTL 20160422)
Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PR00: _OSC native thermal LVT 
Acked
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5081016C00 000386 (v02 
PmRef Cpu0Cst 00003001 INTL 20160422)
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508101C800 0005C3 (v02 
PmRef Cpu0Ist 00003000 INTL 20160422)
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5081013400 00028B (v02 
PmRef Cpu0Hwp 00003000 INTL 20160422)
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508100D000 0008E7 (v02 
PmRef ApIst 00003000 INTL 20160422)
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508101B000 00048A (v02 
PmRef ApHwp 00003000 INTL 20160422)
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508101A800 0004D4 (v02 
PmRef ApPsd 00003000 INTL 20160422)
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5081019800 00048A (v02 
PmRef ApCst 00003000 INTL 20160422)
Aug 02 16:57:40 xd kernel: ACPI: EC: EC started
Aug 02 16:57:40 xd kernel: ACPI: EC: interrupt blocked
Aug 02 16:57:40 xd kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62
Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LPCB.EC0_: Boot DSDT EC used 
to handle transactions
Aug 02 16:57:40 xd kernel: ACPI: Interpreter enabled
Aug 02 16:57:40 xd kernel: ACPI: PM: (supports S0 S3 S4 S5)
Aug 02 16:57:40 xd kernel: ACPI: Using IOAPIC for interrupt routing
Aug 02 16:57:40 xd kernel: PCI: Using host bridge windows from ACPI; if 
necessary, use "pci=nocrs" and report a bug
Aug 02 16:57:40 xd kernel: ACPI: Enabled 7 GPEs in block 00 to 7F
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [PCRP]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V0PR]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V1PR]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V2PR]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [WRST]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V0PR]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V1PR]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V2PR]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V3PR]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN00]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN01]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN02]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN03]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN04]
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [PIN]
Aug 02 16:57:40 xd kernel: ACPI: PCI Root Bridge [PC00] (domain 0000 
[bus 00-e0])
Aug 02 16:57:40 xd kernel: acpi PNP0A08:00: _OSC: OS supports 
[ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
Aug 02 16:57:40 xd kernel: acpi PNP0A08:00: _OSC: OS now controls 
[PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR]
Aug 02 16:57:40 xd kernel: PCI host bridge to bus 0000:00
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [io 
0x0000-0x0cf7 window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [io 
0x0d00-0xffff window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [mem 
0x000a0000-0x000bffff window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [mem 
0x4f800000-0xbfffffff window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [mem 
0x4000000000-0x7fffffffff window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [bus 
00-e0]
Aug 02 16:57:40 xd kernel: pci 0000:00:00.0: [8086:9a14] type 00 class 
0x060000
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: [8086:9a49] type 00 class 
0x030000
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x10: [mem 
0x6014000000-0x6014ffffff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x18: [mem 
0x4000000000-0x400fffffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x20: [io 
0x5000-0x503f]
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: BAR 2: assigned to efifb
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: DMAR: Skip IOMMU disabling 
for graphics
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: Video device with shadowed 
ROM at [mem 0x000c0000-0x000dffff]
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x344: [mem 
0x00000000-0x00ffffff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: VF(n) BAR0 space: [mem 
0x00000000-0x06ffffff 64bit] (contains BAR0 for 7 VFs)
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x34c: [mem 
0x00000000-0x1fffffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: VF(n) BAR2 space: [mem 
0x00000000-0xdfffffff 64bit pref] (contains BAR2 for 7 VFs)
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: [8086:9a09] type 01 class 
0x060400
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PME# supported from D0 
D3hot D3cold
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PTM enabled (root), 4ns 
granularity
Aug 02 16:57:40 xd kernel: pci 0000:00:08.0: [8086:9a11] type 00 class 
0x088000
Aug 02 16:57:40 xd kernel: pci 0000:00:08.0: reg 0x10: [mem 
0x601540f000-0x601540ffff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: [8086:9a0b] type 00 class 
0x010400
Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: reg 0x10: [mem 
0x6012000000-0x6013ffffff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: reg 0x18: [mem 
0x50000000-0x51ffffff]
Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: reg 0x20: [mem 
0x6015300000-0x60153fffff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:14.0: [8086:a0ed] type 00 class 
0x0c0330
Aug 02 16:57:40 xd kernel: pci 0000:00:14.0: reg 0x10: [mem 
0x53180000-0x5318ffff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:14.0: PME# supported from D3hot 
D3cold
Aug 02 16:57:40 xd kernel: pci 0000:00:14.2: [8086:a0ef] type 00 class 
0x050000
Aug 02 16:57:40 xd kernel: pci 0000:00:14.2: reg 0x10: [mem 
0x6015404000-0x6015407fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:14.2: reg 0x18: [mem 
0x601540e000-0x601540efff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:15.0: [8086:a0e8] type 00 class 
0x0c8000
Aug 02 16:57:40 xd kernel: pci 0000:00:15.0: reg 0x10: [mem 
0x00000000-0x00000fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:15.3: [8086:a0eb] type 00 class 
0x0c8000
Aug 02 16:57:40 xd kernel: pci 0000:00:15.3: reg 0x10: [mem 
0x00000000-0x00000fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:16.0: [8086:a0e0] type 00 class 
0x078000
Aug 02 16:57:40 xd kernel: pci 0000:00:16.0: reg 0x10: [mem 
0x601540b000-0x601540bfff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:16.0: PME# supported from D3hot
Aug 02 16:57:40 xd kernel: pci 0000:00:17.0: [8086:09ab] type 00 class 
0x088000
Aug 02 16:57:40 xd kernel: pci 0000:00:19.0: [8086:a0c5] type 00 class 
0x0c8000
Aug 02 16:57:40 xd kernel: pci 0000:00:19.0: reg 0x10: [mem 
0x00000000-0x00000fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:19.1: [8086:a0c6] type 00 class 
0x0c8000
Aug 02 16:57:40 xd kernel: pci 0000:00:19.1: reg 0x10: [mem 
0x00000000-0x00000fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: [8086:a0b0] type 01 class 
0x060400
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: PME# supported from D0 
D3hot D3cold
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: PTM enabled (root), 4ns 
granularity
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: [8086:a0b1] type 01 class 
0x060400
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PME# supported from D0 
D3hot D3cold
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PTM enabled (root), 4ns 
granularity
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.0: [8086:a082] type 00 class 
0x060100
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: [8086:a0c8] type 00 class 
0x040100
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: reg 0x10: [mem 
0x6015400000-0x6015403fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: reg 0x20: [mem 
0x6015200000-0x60152fffff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: PME# supported from D3hot 
D3cold
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.4: [8086:a0a3] type 00 class 
0x0c0500
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.4: reg 0x10: [mem 
0x6015408000-0x60154080ff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.4: reg 0x20: [io 
0xefa0-0xefbf]
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: [8086:a0a4] type 00 class 
0x0c8000
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: reg 0x10: [mem 
0xfe010000-0xfe010fff]
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: [10de:1f97] type 00 class 
0x030200
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x10: [mem 
0x52000000-0x52ffffff]
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x14: [mem 
0x6000000000-0x600fffffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x1c: [mem 
0x6010000000-0x6011ffffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x24: [io 
0x4000-0x407f]
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x30: [mem 
0xfff80000-0xffffffff pref]
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: PME# supported from D0 
D3hot D3cold
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: 63.012 Gb/s available PCIe 
bandwidth, limited by 16.0 GT/s PCIe x4 link at 0000:00:06.0 (capable of 
252.048 Gb/s with 16.0 GT/s PCIe x16 link)
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PCI bridge to [bus 01]
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [io 
0x4000-0x4fff]
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [mem 
0x52000000-0x52ffffff]
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [mem 
0x6000000000-0x6011ffffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: [10ec:8168] type 00 class 
0x020000
Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x10: [io 
0x3000-0x30ff]
Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x18: [mem 
0x53004000-0x53004fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x20: [mem 
0x53000000-0x53003fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: supports D1 D2
Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: PME# supported from D0 D1 
D2 D3hot D3cold
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: PCI bridge to [bus 02]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [io 
0x3000-0x3fff]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [mem 
0x53000000-0x530fffff]
Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: [14c3:7961] type 00 class 
0x028000
Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: reg 0x10: [mem 
0x6015000000-0x60150fffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: reg 0x18: [mem 
0x6015100000-0x6015103fff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: reg 0x20: [mem 
0x6015104000-0x6015104fff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: supports D1 D2
Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: PME# supported from D0 D1 
D2 D3hot D3cold
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PCI bridge to [bus 03]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: bridge window [mem 
0x6015000000-0x60151fffff 64bit pref]
Aug 02 16:57:40 xd kernel: ACPI: EC: interrupt unblocked
Aug 02 16:57:40 xd kernel: ACPI: EC: event unblocked
Aug 02 16:57:40 xd kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62
Aug 02 16:57:40 xd kernel: ACPI: EC: GPE=0x6e
Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LPCB.EC0_: Boot DSDT EC 
initialization complete
Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LPCB.EC0_: EC: Used to 
handle transactions and events
Aug 02 16:57:40 xd kernel: iommu: Default domain type: Translated
Aug 02 16:57:40 xd kernel: iommu: DMA domain TLB invalidation policy: 
lazy mode
Aug 02 16:57:40 xd kernel: EDAC MC: Ver: 3.0.0
Aug 02 16:57:40 xd kernel: Registered efivars operations
Aug 02 16:57:40 xd kernel: NetLabel: Initializing
Aug 02 16:57:40 xd kernel: NetLabel: domain hash size = 128
Aug 02 16:57:40 xd kernel: NetLabel: protocols = UNLABELED CIPSOv4 
CALIPSO
Aug 02 16:57:40 xd kernel: NetLabel: unlabeled traffic allowed by 
default
Aug 02 16:57:40 xd kernel: PCI: Using ACPI for IRQ routing
Aug 02 16:57:40 xd kernel: PCI: pci_cache_line_size set to 64 bytes
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: can't claim BAR 0 [mem 
0xfe010000-0xfe010fff]: no compatible bridge window
Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
0x0009f000-0x0009ffff]
Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
0x3c70c000-0x3fffffff]
Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
0x3c78e000-0x3fffffff]
Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
0x40199000-0x43ffffff]
Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
0x428af000-0x43ffffff]
Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
0x45000000-0x47ffffff]
Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
0x4b0800000-0x4b3ffffff]
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: vgaarb: setting as boot VGA 
device
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: vgaarb: bridge control 
possible
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: vgaarb: VGA device added: 
decodes=io+mem,owns=io+mem,locks=none
Aug 02 16:57:40 xd kernel: vgaarb: loaded
Aug 02 16:57:40 xd kernel: clocksource: Switched to clocksource 
tsc-early
Aug 02 16:57:40 xd kernel: VFS: Disk quotas dquot_6.6.0
Aug 02 16:57:40 xd kernel: VFS: Dquot-cache hash table entries: 512 
(order 0, 4096 bytes)
Aug 02 16:57:40 xd kernel: AppArmor: AppArmor Filesystem Enabled
Aug 02 16:57:40 xd kernel: pnp: PnP ACPI init
Aug 02 16:57:40 xd kernel: system 00:00: [io 0x0680-0x069f] has been 
reserved
Aug 02 16:57:40 xd kernel: system 00:00: [io 0x164e-0x164f] has been 
reserved
Aug 02 16:57:40 xd kernel: system 00:00: [io 0xfd60-0xfd63] has been 
reserved
Aug 02 16:57:40 xd kernel: system 00:02: [io 0x1854-0x1857] has been 
reserved
Aug 02 16:57:40 xd kernel: pnp 00:04: disabling [mem 
0xc0000000-0xcfffffff] because it overlaps 0000:00:02.0 BAR 9 [mem 
0x00000000-0xdfffffff 64bit pref]
Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfedc0000-0xfedc7fff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfeda0000-0xfeda0fff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfeda1000-0xfeda1fff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfed20000-0xfed7ffff] 
could not be reserved
Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfed90000-0xfed93fff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfed45000-0xfed8ffff] 
could not be reserved
Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfee00000-0xfeefffff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:05: [io 0x1800-0x18fe] could not be 
reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe000000-0xfe01ffff] 
could not be reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe04c000-0xfe04ffff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe050000-0xfe0affff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe0d0000-0xfe0fffff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe200000-0xfe7fffff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xff000000-0xffffffff] 
could not be reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfd000000-0xfd68ffff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfd6b0000-0xfd6cffff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfd6f0000-0xfdffffff] has 
been reserved
Aug 02 16:57:40 xd kernel: system 00:06: [io 0x2000-0x20fe] has been 
reserved
Aug 02 16:57:40 xd kernel: pnp: PnP ACPI: found 8 devices
Aug 02 16:57:40 xd kernel: clocksource: acpi_pm: mask: 0xffffff 
max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
Aug 02 16:57:40 xd kernel: NET: Registered PF_INET protocol family
Aug 02 16:57:40 xd kernel: IP idents hash table entries: 262144 (order: 
9, 2097152 bytes, linear)
Aug 02 16:57:40 xd kernel: tcp_listen_portaddr_hash hash table entries: 
8192 (order: 5, 131072 bytes, linear)
Aug 02 16:57:40 xd kernel: Table-perturb hash table entries: 65536 
(order: 6, 262144 bytes, linear)
Aug 02 16:57:40 xd kernel: TCP established hash table entries: 131072 
(order: 8, 1048576 bytes, linear)
Aug 02 16:57:40 xd kernel: TCP bind hash table entries: 65536 (order: 8, 
1048576 bytes, linear)
Aug 02 16:57:40 xd kernel: TCP: Hash tables configured (established 
131072 bind 65536)
Aug 02 16:57:40 xd kernel: MPTCP token hash table entries: 16384 (order: 
6, 393216 bytes, linear)
Aug 02 16:57:40 xd kernel: UDP hash table entries: 8192 (order: 6, 
262144 bytes, linear)
Aug 02 16:57:40 xd kernel: UDP-Lite hash table entries: 8192 (order: 6, 
262144 bytes, linear)
Aug 02 16:57:40 xd kernel: NET: Registered PF_UNIX/PF_LOCAL protocol 
family
Aug 02 16:57:40 xd kernel: NET: Registered PF_XDP protocol family
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: can't claim BAR 6 [mem 
0xfff80000-0xffffffff pref]: no compatible bridge window
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: max bus depth: 1 
pci_try_num: 2
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: BAR 9: assigned [mem 
0x4020000000-0x40ffffffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: BAR 7: assigned [mem 
0x4010000000-0x4016ffffff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:15.0: BAR 0: assigned [mem 
0x4017000000-0x4017000fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:15.3: BAR 0: assigned [mem 
0x4017001000-0x4017001fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:19.0: BAR 0: assigned [mem 
0x4017002000-0x4017002fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:19.1: BAR 0: assigned [mem 
0x4017003000-0x4017003fff 64bit]
Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: BAR 0: assigned [mem 
0x4f800000-0x4f800fff]
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: BAR 6: no space for [mem 
size 0x00080000 pref]
Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: BAR 6: failed to assign 
[mem size 0x00080000 pref]
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PCI bridge to [bus 01]
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [io 
0x4000-0x4fff]
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [mem 
0x52000000-0x52ffffff]
Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [mem 
0x6000000000-0x6011ffffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: PCI bridge to [bus 02]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [io 
0x3000-0x3fff]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [mem 
0x53000000-0x530fffff]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PCI bridge to [bus 03]
Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: bridge window [mem 
0x6015000000-0x60151fffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 
window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 5 [io 0x0d00-0xffff 
window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 6 [mem 
0x000a0000-0x000bffff window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 7 [mem 
0x4f800000-0xbfffffff window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 8 [mem 
0x4000000000-0x7fffffffff window]
Aug 02 16:57:40 xd kernel: pci_bus 0000:01: resource 0 [io 
0x4000-0x4fff]
Aug 02 16:57:40 xd kernel: pci_bus 0000:01: resource 1 [mem 
0x52000000-0x52ffffff]
Aug 02 16:57:40 xd kernel: pci_bus 0000:01: resource 2 [mem 
0x6000000000-0x6011ffffff 64bit pref]
Aug 02 16:57:40 xd kernel: pci_bus 0000:02: resource 0 [io 
0x3000-0x3fff]
Aug 02 16:57:40 xd kernel: pci_bus 0000:02: resource 1 [mem 
0x53000000-0x530fffff]
Aug 02 16:57:40 xd kernel: pci_bus 0000:03: resource 2 [mem 
0x6015000000-0x60151fffff 64bit pref]
Aug 02 16:57:40 xd kernel: PCI: CLS 64 bytes, default 64
Aug 02 16:57:40 xd kernel: PCI-DMA: Using software bounce buffering for 
IO (SWIOTLB)
Aug 02 16:57:40 xd kernel: software IO TLB: mapped [mem 
0x0000000037e6c000-0x000000003be6c000] (64MB)
Aug 02 16:57:40 xd kernel: clocksource: tsc: mask: 0xffffffffffffffff 
max_cycles: 0x22df1149949, max_idle_ns: 440795312789 ns
Aug 02 16:57:40 xd kernel: clocksource: Switched to clocksource tsc
Aug 02 16:57:40 xd kernel: Trying to unpack rootfs image as initramfs...
Aug 02 16:57:40 xd kernel: Initialise system trusted keyrings
Aug 02 16:57:40 xd kernel: Key type blacklist registered
Aug 02 16:57:40 xd kernel: workingset: timestamp_bits=36 max_order=22 
bucket_order=0
Aug 02 16:57:40 xd kernel: zbud: loaded
Aug 02 16:57:40 xd kernel: integrity: Platform Keyring initialized
Aug 02 16:57:40 xd kernel: Key type asymmetric registered
Aug 02 16:57:40 xd kernel: Asymmetric key parser 'x509' registered
Aug 02 16:57:40 xd kernel: Freeing initrd memory: 65816K
Aug 02 16:57:40 xd kernel: alg: self-tests for CTR-KDF (hmac(sha256)) 
passed
Aug 02 16:57:40 xd kernel: Block layer SCSI generic (bsg) driver version 
0.4 loaded (major 250)
Aug 02 16:57:40 xd kernel: io scheduler mq-deadline registered
Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: PME: Signaling with 
IRQ 120
Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: AER: enabled with IRQ 
120
Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: DPC: enabled with IRQ 
120
Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: DPC: error containment 
capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, 
DL_ActiveErr+
Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: PME: Signaling with 
IRQ 121
Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: AER: enabled with IRQ 
121
Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: DPC: enabled with IRQ 
121
Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: DPC: error containment 
capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, 
DL_ActiveErr+
Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.1: PME: Signaling with 
IRQ 122
Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.1: AER: enabled with IRQ 
122
Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.1: DPC: enabled with IRQ 
122
Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.1: DPC: error containment 
capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, 
DL_ActiveErr+
Aug 02 16:57:40 xd kernel: shpchp: Standard Hot Plug PCI Controller 
Driver version: 0.4
Aug 02 16:57:40 xd kernel: Monitor-Mwait will be used to enter C-1 state
Aug 02 16:57:40 xd kernel: Monitor-Mwait will be used to enter C-2 state
Aug 02 16:57:40 xd kernel: Monitor-Mwait will be used to enter C-3 state
Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PR00: Found 3 idle states
Aug 02 16:57:40 xd kernel: smpboot: Estimated ratio of average max 
frequency by base frequency (times 1024): 1621
Aug 02 16:57:40 xd kernel: thermal LNXTHERM:00: registered as 
thermal_zone0
Aug 02 16:57:40 xd kernel: ACPI: thermal: Thermal Zone [TZ00] (28 C)
Aug 02 16:57:40 xd kernel: Serial: 8250/16550 driver, 4 ports, IRQ 
sharing enabled
Aug 02 16:57:40 xd kernel: hpet_acpi_add: no address or irqs in _CRS
Aug 02 16:57:40 xd kernel: Linux agpgart interface v0.103
Aug 02 16:57:40 xd kernel: AMD-Vi: AMD IOMMUv2 functionality not 
available on this system - This is not a bug.
Aug 02 16:57:40 xd kernel: i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 
0x60,0x64 irq 1
Aug 02 16:57:40 xd kernel: i8042: PNP: PS/2 appears to have AUX port 
disabled, if this is incorrect please boot with i8042.nopnp
Aug 02 16:57:40 xd kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
Aug 02 16:57:40 xd kernel: mousedev: PS/2 mouse device common for all 
mice
Aug 02 16:57:40 xd kernel: rtc_cmos 00:01: RTC can wake from S4
Aug 02 16:57:40 xd kernel: rtc_cmos 00:01: registered as rtc0
Aug 02 16:57:40 xd kernel: rtc_cmos 00:01: setting system clock to 
2022-08-02T15:57:39 UTC (1659455859)
Aug 02 16:57:40 xd kernel: rtc_cmos 00:01: alarms up to one month, y3k, 
242 bytes nvram
Aug 02 16:57:40 xd kernel: intel_pstate: Intel P-state driver 
initializing
Aug 02 16:57:40 xd kernel: intel_pstate: HWP enabled
Aug 02 16:57:40 xd kernel: ledtrig-cpu: registered to indicate activity 
on CPUs
Aug 02 16:57:40 xd kernel: efifb: probing for efifb
Aug 02 16:57:40 xd kernel: efifb: framebuffer at 0x4000000000, using 
8128k, total 8128k
Aug 02 16:57:40 xd kernel: efifb: mode is 1920x1080x32, linelength=7680, 
pages=1
Aug 02 16:57:40 xd kernel: efifb: scrolling: redraw
Aug 02 16:57:40 xd kernel: efifb: Truecolor: size=8:8:8:8, 
shift=24:16:8:0
Aug 02 16:57:40 xd kernel: Console: switching to colour frame buffer 
device 240x67
Aug 02 16:57:40 xd kernel: fb0: EFI VGA frame buffer device
Aug 02 16:57:40 xd kernel: NET: Registered PF_INET6 protocol family
Aug 02 16:57:40 xd kernel: input: AT Translated Set 2 keyboard as 
/devices/platform/i8042/serio0/input/input0
Aug 02 16:57:40 xd kernel: Segment Routing with IPv6
Aug 02 16:57:40 xd kernel: In-situ OAM (IOAM) with IPv6
Aug 02 16:57:40 xd kernel: mip6: Mobile IPv6
Aug 02 16:57:40 xd kernel: NET: Registered PF_PACKET protocol family
Aug 02 16:57:40 xd kernel: mpls_gso: MPLS GSO support
Aug 02 16:57:40 xd kernel: microcode: sig=0x806c1, pf=0x80, 
revision=0xa4
Aug 02 16:57:40 xd kernel: microcode: Microcode Update Driver: v2.2.
Aug 02 16:57:40 xd kernel: resctrl: L2 allocation detected
Aug 02 16:57:40 xd kernel: IPI shorthand broadcast: enabled
Aug 02 16:57:40 xd kernel: sched_clock: Marking stable (533987875, 
6323244)->(552960861, -12649742)
Aug 02 16:57:40 xd kernel: registered taskstats version 1
Aug 02 16:57:40 xd kernel: Loading compiled-in X.509 certificates
Aug 02 16:57:40 xd kernel: Loaded X.509 cert 'Debian Secure Boot CA: 
6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
Aug 02 16:57:40 xd kernel: Loaded X.509 cert 'Debian Secure Boot Signer 
2021 - linux: 4b6ef5abca669825178e052c84667ccbc0531f8c'
Aug 02 16:57:40 xd kernel: zswap: loaded using pool lzo/zbud
Aug 02 16:57:40 xd kernel: Key type ._fscrypt registered
Aug 02 16:57:40 xd kernel: Key type .fscrypt registered
Aug 02 16:57:40 xd kernel: Key type fscrypt-provisioning registered
Aug 02 16:57:40 xd kernel: Key type encrypted registered
Aug 02 16:57:40 xd kernel: AppArmor: AppArmor sha1 policy hashing 
enabled
Aug 02 16:57:40 xd kernel: ima: Allocated hash algorithm: sha256
Aug 02 16:57:40 xd kernel: ima: No architecture policies found
Aug 02 16:57:40 xd kernel: evm: Initialising EVM extended attributes:
Aug 02 16:57:40 xd kernel: evm: security.selinux
Aug 02 16:57:40 xd kernel: evm: security.SMACK64 (disabled)
Aug 02 16:57:40 xd kernel: evm: security.SMACK64EXEC (disabled)
Aug 02 16:57:40 xd kernel: evm: security.SMACK64TRANSMUTE (disabled)
Aug 02 16:57:40 xd kernel: evm: security.SMACK64MMAP (disabled)
Aug 02 16:57:40 xd kernel: evm: security.apparmor
Aug 02 16:57:40 xd kernel: evm: security.ima
Aug 02 16:57:40 xd kernel: evm: security.capability
Aug 02 16:57:40 xd kernel: evm: HMAC attrs: 0x1
Aug 02 16:57:40 xd kernel: Freeing unused decrypted memory: 2036K
Aug 02 16:57:40 xd kernel: Freeing unused kernel image (initmem) memory: 
2500K
Aug 02 16:57:40 xd kernel: Write protecting the kernel read-only data: 
24576k
Aug 02 16:57:40 xd kernel: Freeing unused kernel image (text/rodata gap) 
memory: 2040K
Aug 02 16:57:40 xd kernel: Freeing unused kernel image (rodata/data gap) 
memory: 1672K
Aug 02 16:57:40 xd kernel: x86/mm: Checked W+X mappings: passed, no W+X 
pages found.
Aug 02 16:57:40 xd kernel: Run /init as init process
Aug 02 16:57:40 xd kernel: with arguments:
Aug 02 16:57:40 xd kernel: /init
Aug 02 16:57:40 xd kernel: with environment:
Aug 02 16:57:40 xd kernel: HOME=/
Aug 02 16:57:40 xd kernel: TERM=linux
Aug 02 16:57:40 xd kernel: BOOT_IMAGE=/vmlinuz-5.18.0-2-amd64
Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block 
query control method not found
Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block 
query control method not found
Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block 
query control method not found
Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block 
query control method not found
Aug 02 16:57:40 xd kernel: acpi PNP0C14:03: duplicate WMI GUID 
05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:00)
Aug 02 16:57:40 xd kernel: acpi PNP0C14:04: duplicate WMI GUID 
05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:00)
Aug 02 16:57:40 xd kernel: input: Lid Switch as 
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:21/PNP0C0D:00/input/input1
Aug 02 16:57:40 xd kernel: ACPI: button: Lid Switch [LID0]
Aug 02 16:57:40 xd kernel: input: Sleep Button as 
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
Aug 02 16:57:40 xd kernel: ACPI: button: Sleep Button [SLPB]
Aug 02 16:57:40 xd kernel: input: Power Button as 
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input3
Aug 02 16:57:40 xd kernel: ACPI: button: Power Button [PWRB]
Aug 02 16:57:40 xd kernel: ACPI: battery: Slot [BAT1] (battery present)
Aug 02 16:57:40 xd kernel: vmd 0000:00:0e.0: PCI host bridge to bus 
10000:e0
Aug 02 16:57:40 xd kernel: pci_bus 10000:e0: root bus resource [bus 
e0-ff]
Aug 02 16:57:40 xd kernel: pci_bus 10000:e0: root bus resource [mem 
0x50000000-0x51ffffff]
Aug 02 16:57:40 xd kernel: pci_bus 10000:e0: root bus resource [mem 
0x6015302000-0x60153fffff 64bit]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: [8086:a0d3] type 00 class 
0x010601
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x10: [mem 
0x00000000-0x00001fff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x14: [mem 
0x00000000-0x000000ff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x18: [io 
0x0000-0x0007]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x1c: [io 
0x0000-0x0003]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x20: [io 
0x0000-0x001f]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x24: [mem 
0x50000000-0x500007ff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: PME# supported from D3hot
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.0: [8086:09ab] type 00 class 
0x088000
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: [8086:a0bc] type 01 class 
0x060400
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PME# supported from D0 
D3hot D3cold
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PTM enabled (root), 4ns 
granularity
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: Primary bus is hard wired 
to 0
Aug 02 16:57:40 xd kernel: pci 10000:e1:00.0: [2646:500c] type 00 class 
0x010802
Aug 02 16:57:40 xd kernel: pci 10000:e1:00.0: reg 0x10: [mem 
0x50100000-0x50103fff 64bit]
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1]
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: bridge window [io 
0x0000-0x0fff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: bridge window [mem 
0x50100000-0x501fffff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: Primary bus is hard wired 
to 0
Aug 02 16:57:40 xd kernel: hid: raw HID events driver (C) Jiri Kosina
Aug 02 16:57:40 xd kernel: r8168: loading out-of-tree module taints 
kernel.
Aug 02 16:57:40 xd kernel: r8168: module verification failed: signature 
and/or required key missing - tainting kernel
Aug 02 16:57:40 xd kernel: r8168 Gigabit Ethernet driver 8.050.03-NAPI 
loaded
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: BAR 14: assigned [mem 
0x50000000-0x500fffff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 0: assigned [mem 
0x50100000-0x50101fff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: BAR 13: no space for [io 
size 0x1000]
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: BAR 13: failed to assign 
[io size 0x1000]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 5: assigned [mem 
0x50102000-0x501027ff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 1: assigned [mem 
0x50102800-0x501028ff]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 4: no space for [io 
size 0x0020]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 4: failed to assign 
[io size 0x0020]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 2: no space for [io 
size 0x0008]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 2: failed to assign 
[io size 0x0008]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 3: no space for [io 
size 0x0004]
Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 3: failed to assign 
[io size 0x0004]
Aug 02 16:57:40 xd kernel: pci 10000:e1:00.0: BAR 0: assigned [mem 
0x50000000-0x50003fff 64bit]
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1]
Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: bridge window [mem 
0x50000000-0x500fffff]
Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: can't derive routing 
for PCI INT A
Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: PCI INT A: no GSI
Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: PME: Signaling with 
IRQ 143
Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: AER: enabled with IRQ 
143
Aug 02 16:57:40 xd kernel: i801_smbus 0000:00:1f.4: SPD Write Disable is 
set
Aug 02 16:57:40 xd kernel: i801_smbus 0000:00:1f.4: SMBus using PCI 
interrupt
Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: DPC: enabled with IRQ 
143
Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: DPC: error 
containment capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP 
PIO Log 4, DL_ActiveErr+
Aug 02 16:57:40 xd kernel: vmd 0000:00:0e.0: Bound to PCI domain 10000
Aug 02 16:57:40 xd kernel: i2c i2c-0: 2/2 memory slots populated (from 
DMI)
Aug 02 16:57:40 xd kernel: i2c i2c-0: Successfully instantiated SPD at 
0x50
Aug 02 16:57:40 xd kernel: ACPI: bus type USB registered
Aug 02 16:57:40 xd kernel: usbcore: registered new interface driver 
usbfs
Aug 02 16:57:40 xd kernel: usbcore: registered new interface driver hub
Aug 02 16:57:40 xd kernel: usbcore: registered new device driver usb
Aug 02 16:57:40 xd kernel: ACPI: bus type drm_connector registered
Aug 02 16:57:40 xd kernel: r8168: This product is covered by one or more 
of the following patents: US6,570,884, US6,115,776, and US6,327,625.
Aug 02 16:57:40 xd kernel: r8168 Copyright (C) 2022 Realtek NIC software 
team <nicfae@realtek.com>
This program comes with ABSOLUTELY NO WARRANTY; for details, please see 
<http://www.gnu.org/licenses/>.
This is free software, and you are welcome to redistribute it under 
certain conditions; see <http://www.gnu.org/licenses/>.
Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:15.0: enabling device 
(0004 -> 0006)
Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: new USB bus 
registered, assigned bus number 1
Aug 02 16:57:40 xd kernel: r8168 0000:02:00.0 enp2s0: renamed from eth0
Aug 02 16:57:40 xd kernel: idma64 idma64.0: Found Intel integrated DMA 
64-bit
Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 
hci version 0x120 quirks 0x0000000000009810
Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: new USB bus 
registered, assigned bus number 2
Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.1 
Enhanced SuperSpeed
Aug 02 16:57:40 xd kernel: usb usb1: New USB device found, 
idVendor=1d6b, idProduct=0002, bcdDevice= 5.18
Aug 02 16:57:40 xd kernel: usb usb1: New USB device strings: Mfr=3, 
Product=2, SerialNumber=1
Aug 02 16:57:40 xd kernel: usb usb1: Product: xHCI Host Controller
Aug 02 16:57:40 xd kernel: usb usb1: Manufacturer: Linux 5.18.0-2-amd64 
xhci-hcd
Aug 02 16:57:40 xd kernel: usb usb1: SerialNumber: 0000:00:14.0
Aug 02 16:57:40 xd kernel: hub 1-0:1.0: USB hub found
Aug 02 16:57:40 xd kernel: hub 1-0:1.0: 12 ports detected
Aug 02 16:57:40 xd kernel: SCSI subsystem initialized
Aug 02 16:57:40 xd kernel: usb usb2: New USB device found, 
idVendor=1d6b, idProduct=0003, bcdDevice= 5.18
Aug 02 16:57:40 xd kernel: usb usb2: New USB device strings: Mfr=3, 
Product=2, SerialNumber=1
Aug 02 16:57:40 xd kernel: usb usb2: Product: xHCI Host Controller
Aug 02 16:57:40 xd kernel: usb usb2: Manufacturer: Linux 5.18.0-2-amd64 
xhci-hcd
Aug 02 16:57:40 xd kernel: usb usb2: SerialNumber: 0000:00:14.0
Aug 02 16:57:40 xd kernel: hub 2-0:1.0: USB hub found
Aug 02 16:57:40 xd kernel: hub 2-0:1.0: 4 ports detected
Aug 02 16:57:40 xd kernel: nvme nvme0: pci function 10000:e1:00.0
Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: can't derive routing 
for PCI INT A
Aug 02 16:57:40 xd kernel: nvme 10000:e1:00.0: PCI INT A: no GSI
Aug 02 16:57:40 xd kernel: nvme nvme0: missing or invalid SUBNQN field.
Aug 02 16:57:40 xd kernel: nvme nvme0: Shutdown timeout set to 10 
seconds
Aug 02 16:57:40 xd kernel: libata version 3.00 loaded.
Aug 02 16:57:40 xd kernel: nvme nvme0: 8/0/0 default/read/poll queues
Aug 02 16:57:40 xd kernel: nvme0n1: p1 p2 p3 p4 p5
Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: version 3.0
Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: can't derive routing for 
PCI INT A
Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: PCI INT A: no GSI
Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: AHCI 0001.0301 32 slots 2 
ports 6 Gbps 0x3 impl SATA mode
Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: flags: 64bit ncq sntf pm 
clo only pio slum part deso sadm sds
Aug 02 16:57:40 xd kernel: scsi host0: ahci
Aug 02 16:57:40 xd kernel: scsi host1: ahci
Aug 02 16:57:40 xd kernel: ata1: SATA max UDMA/133 abar m2048@0x50102000 
port 0x50102100 irq 154
Aug 02 16:57:40 xd kernel: ata2: SATA max UDMA/133 abar m2048@0x50102000 
port 0x50102180 irq 154
Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:15.3: enabling device 
(0004 -> 0006)
Aug 02 16:57:40 xd kernel: idma64 idma64.1: Found Intel integrated DMA 
64-bit
Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:19.0: enabling device 
(0004 -> 0006)
Aug 02 16:57:40 xd kernel: idma64 idma64.2: Found Intel integrated DMA 
64-bit
Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:19.1: enabling device 
(0004 -> 0006)
Aug 02 16:57:40 xd kernel: idma64 idma64.3: Found Intel integrated DMA 
64-bit
Aug 02 16:57:40 xd kernel: usb 1-7: new full-speed USB device number 2 
using xhci_hcd
Aug 02 16:57:40 xd kernel: ata1: SATA link down (SStatus 0 SControl 300)
Aug 02 16:57:40 xd kernel: ata2: SATA link down (SStatus 0 SControl 300)
Aug 02 16:57:40 xd kernel: input: ELAN0515:01 04F3:3142 Mouse as 
/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input4
Aug 02 16:57:40 xd kernel: input: ELAN0515:01 04F3:3142 Touchpad as 
/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input6
Aug 02 16:57:40 xd kernel: hid-generic 0018:04F3:3142.0001: 
input,hidraw0: I2C HID v1.00 Mouse [ELAN0515:01 04F3:3142] on 
i2c-ELAN0515:01
Aug 02 16:57:40 xd kernel: usb 1-7: New USB device found, idVendor=04f3, 
idProduct=0c4f, bcdDevice= 1.61
Aug 02 16:57:40 xd kernel: usb 1-7: New USB device strings: Mfr=1, 
Product=2, SerialNumber=0
Aug 02 16:57:40 xd kernel: usb 1-7: Product: ELAN:Fingerprint
Aug 02 16:57:40 xd kernel: usb 1-7: Manufacturer: ELAN
Aug 02 16:57:40 xd kernel: checking generic (4000000000 7f0000) vs hw 
(6014000000 1000000)
Aug 02 16:57:40 xd kernel: checking generic (4000000000 7f0000) vs hw 
(4000000000 10000000)
Aug 02 16:57:40 xd kernel: fb0: switching to i915 from EFI VGA
Aug 02 16:57:40 xd kernel: Console: switching to colour dummy device 
80x25
Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: vgaarb: deactivate vga 
console
Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: vgaarb: changed VGA 
decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: firmware: direct-loading 
firmware i915/tgl_dmc_ver2_12.bin
Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: [drm] Finished loading DMC 
firmware i915/tgl_dmc_ver2_12.bin (v2.12)
Aug 02 16:57:40 xd kernel: [drm] Initialized i915 1.6.0 20201103 for 
0000:00:02.0 on minor 0
Aug 02 16:57:40 xd kernel: ACPI: video: [Firmware Bug]: ACPI(PEGP) 
defines _DOD but not _DOS
Aug 02 16:57:40 xd kernel: ACPI: video: Video Device [PEGP] (multi-head: 
yes rom: no post: no)
Aug 02 16:57:40 xd kernel: input: Video Bus as 
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/LNXVIDEO:00/input/input7
Aug 02 16:57:40 xd kernel: ACPI: video: Video Device [GFX0] (multi-head: 
yes rom: no post: no)
Aug 02 16:57:40 xd kernel: input: Video Bus as 
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input8
Aug 02 16:57:40 xd kernel: fbcon: i915drmfb (fb0) is primary device
Aug 02 16:57:40 xd kernel: Console: switching to colour frame buffer 
device 240x67
Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame 
buffer device
Aug 02 16:57:40 xd kernel: usb 1-8: new high-speed USB device number 3 
using xhci_hcd
Aug 02 16:57:40 xd kernel: PM: Image not found (code -22)
Aug 02 16:57:40 xd kernel: usb 1-8: New USB device found, idVendor=0408, 
idProduct=a061, bcdDevice= 0.04
Aug 02 16:57:40 xd kernel: usb 1-8: New USB device strings: Mfr=1, 
Product=2, SerialNumber=0
Aug 02 16:57:40 xd kernel: usb 1-8: Product: HD User Facing
Aug 02 16:57:40 xd kernel: usb 1-8: Manufacturer: SunplusIT Inc
Aug 02 16:57:40 xd kernel: EXT4-fs (nvme0n1p3): mounting ext3 file 
system using the ext4 subsystem
Aug 02 16:57:40 xd kernel: EXT4-fs (nvme0n1p3): mounted filesystem with 
ordered data mode. Quota mode: none.
Aug 02 16:57:40 xd kernel: Not activating Mandatory Access Control as 
/sbin/tomoyo-init does not exist.
Aug 02 16:57:40 xd kernel: usb 1-10: new high-speed USB device number 4 
using xhci_hcd
Aug 02 16:57:40 xd systemd[1]: Inserted module 'autofs4'
Aug 02 16:57:40 xd kernel: usb 1-10: New USB device found, 
idVendor=04ca, idProduct=3802, bcdDevice= 1.00
Aug 02 16:57:40 xd kernel: usb 1-10: New USB device strings: Mfr=5, 
Product=6, SerialNumber=7
Aug 02 16:57:40 xd kernel: usb 1-10: Product: Wireless_Device
Aug 02 16:57:40 xd kernel: usb 1-10: Manufacturer: MediaTek Inc.
Aug 02 16:57:40 xd kernel: usb 1-10: SerialNumber: 000000000
Aug 02 16:57:40 xd systemd[1]: systemd 251.2-7 running in system mode 
(+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS 
+OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD 
+LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +TPM2 
+BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT 
default-hierarchy=unified)
Aug 02 16:57:40 xd systemd[1]: Detected architecture x86-64.
Aug 02 16:57:40 xd systemd[1]: Hostname set to <xd>.
Aug 02 16:57:40 xd systemd[1]: Queued start job for default target 
Graphical Interface.
Aug 02 16:57:40 xd systemd[1]: Created slice Slice /system/getty.
Aug 02 16:57:40 xd systemd[1]: Created slice Slice /system/modprobe.
Aug 02 16:57:40 xd systemd[1]: Created slice Slice /system/systemd-fsck.
Aug 02 16:57:40 xd systemd[1]: Created slice User and Session Slice.
Aug 02 16:57:40 xd systemd[1]: Started Forward Password Requests to Wall 
Directory Watch.
Aug 02 16:57:40 xd systemd[1]: Set up automount Arbitrary Executable 
File Formats File System Automount Point.
Aug 02 16:57:40 xd systemd[1]: Reached target Local Integrity Protected 
Volumes.
Aug 02 16:57:40 xd systemd[1]: Reached target User and Group Name 
Lookups.
Aug 02 16:57:40 xd systemd[1]: Reached target Remote File Systems.
Aug 02 16:57:40 xd systemd[1]: Reached target Slice Units.
Aug 02 16:57:40 xd systemd[1]: Reached target Local Verity Protected 
Volumes.
Aug 02 16:57:40 xd systemd[1]: Listening on Device-mapper event daemon 
FIFOs.
Aug 02 16:57:40 xd systemd[1]: Listening on LVM2 poll daemon socket.
Aug 02 16:57:40 xd systemd[1]: Listening on Syslog Socket.
Aug 02 16:57:40 xd systemd[1]: Listening on fsck to fsckd communication 
Socket.
Aug 02 16:57:40 xd systemd[1]: Listening on initctl Compatibility Named 
Pipe.
Aug 02 16:57:40 xd systemd[1]: Listening on Journal Audit Socket.
Aug 02 16:57:40 xd systemd[1]: Listening on Journal Socket (/dev/log).
Aug 02 16:57:40 xd systemd[1]: Listening on Journal Socket.
Aug 02 16:57:40 xd systemd[1]: Listening on udev Control Socket.
Aug 02 16:57:40 xd systemd[1]: Listening on udev Kernel Socket.
Aug 02 16:57:40 xd systemd[1]: Mounting Huge Pages File System...
Aug 02 16:57:40 xd systemd[1]: Mounting POSIX Message Queue File 
System...
Aug 02 16:57:40 xd systemd[1]: Mounting Kernel Debug File System...
Aug 02 16:57:40 xd systemd[1]: Mounting Kernel Trace File System...
Aug 02 16:57:40 xd systemd[1]: Finished Availability of block devices.
Aug 02 16:57:40 xd systemd[1]: Starting Set the console keyboard 
layout...
Aug 02 16:57:40 xd systemd[1]: Starting Create List of Static Device 
Nodes...
Aug 02 16:57:40 xd systemd[1]: Starting Monitoring of LVM2 mirrors, 
snapshots etc. using dmeventd or progress polling...
Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Module configfs...
Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Module drm...
Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Module fuse...
Aug 02 16:57:40 xd systemd[1]: File System Check on Root Device was 
skipped because of a failed condition check 
(ConditionPathExists=!/run/initramfs/fsck-root).
Aug 02 16:57:40 xd systemd[1]: Starting Journal Service...
Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Modules...
Aug 02 16:57:40 xd systemd[1]: Starting Remount Root and Kernel File 
Systems...
Aug 02 16:57:40 xd systemd[1]: Repartition Root Disk was skipped because 
all trigger condition checks failed.
Aug 02 16:57:40 xd systemd[1]: Starting Coldplug All udev Devices...
Aug 02 16:57:40 xd systemd[1]: Finished Create List of Static Device 
Nodes.
Aug 02 16:57:40 xd systemd[1]: modprobe@drm.service: Deactivated 
successfully.
Aug 02 16:57:40 xd systemd[1]: Finished Load Kernel Module drm.
Aug 02 16:57:40 xd systemd[1]: Mounted Huge Pages File System.
Aug 02 16:57:40 xd systemd[1]: Mounted POSIX Message Queue File System.
Aug 02 16:57:40 xd systemd[1]: Mounted Kernel Debug File System.
Aug 02 16:57:40 xd systemd[1]: Mounted Kernel Trace File System.
Aug 02 16:57:40 xd systemd[1]: modprobe@configfs.service: Deactivated 
successfully.
Aug 02 16:57:40 xd systemd[1]: Finished Load Kernel Module configfs.
Aug 02 16:57:40 xd systemd[1]: Mounting Kernel Configuration File 
System...
Aug 02 16:57:40 xd kernel: EXT4-fs (nvme0n1p3): re-mounted. Quota mode: 
none.
Aug 02 16:57:40 xd kernel: fuse: init (API version 7.36)
Aug 02 16:57:40 xd systemd[1]: Finished Remount Root and Kernel File 
Systems.
Aug 02 16:57:40 xd systemd[1]: Mounted Kernel Configuration File System.
Aug 02 16:57:40 xd systemd[1]: modprobe@fuse.service: Deactivated 
successfully.
Aug 02 16:57:40 xd systemd[1]: Finished Load Kernel Module fuse.
Aug 02 16:57:40 xd systemd[1]: Mounting FUSE Control File System...
Aug 02 16:57:40 xd systemd[1]: Platform Persistent Storage Archival was 
skipped because of a failed condition check 
(ConditionDirectoryNotEmpty=/sys/fs/pstore).
Aug 02 16:57:40 xd systemd[1]: Starting Load/Save Random Seed...
Aug 02 16:57:40 xd systemd[1]: Starting Create System Users...
Aug 02 16:57:40 xd systemd[1]: Mounted FUSE Control File System.
Aug 02 16:57:40 xd kernel: lp: driver loaded but no devices found
Aug 02 16:57:40 xd kernel: ppdev: user-space parallel port driver
Aug 02 16:57:40 xd systemd[1]: Finished Load/Save Random Seed.
Aug 02 16:57:40 xd systemd[1]: First Boot Complete was skipped because 
of a failed condition check (ConditionFirstBoot=yes).
Aug 02 16:57:40 xd systemd[1]: Started Journal Service.
Aug 02 16:57:41 xd systemd-journald[304]: Received client request to 
flush runtime journal.
Aug 02 16:57:41 xd kernel: nvidia: module license 'NVIDIA' taints 
kernel.
Aug 02 16:57:41 xd kernel: Disabling lock debugging due to kernel taint
Aug 02 16:57:41 xd kernel: nvidia-nvlink: Nvlink Core is being 
initialized, major device number 242
Aug 02 16:57:41 xd kernel:
Aug 02 16:57:41 xd kernel: nvidia 0000:01:00.0: enabling device (0006 -> 
0007)
Aug 02 16:57:41 xd kernel: input: Acer Wireless Radio Control as 
/devices/LNXSYSTM:00/10251229:00/input/input9
Aug 02 16:57:41 xd kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel 
Module 470.129.06 Thu May 12 22:52:02 UTC 2022
Aug 02 16:57:41 xd kernel: intel_pmc_core INT33A1:00: initialized
Aug 02 16:57:41 xd kernel: input: Intel HID events as 
/devices/platform/INTC1051:00/input/input10
Aug 02 16:57:41 xd kernel: intel-hid INTC1051:00: platform supports 5 
button array
Aug 02 16:57:41 xd kernel: input: Intel HID 5 button array as 
/devices/platform/INTC1051:00/input/input11
Aug 02 16:57:41 xd kernel: ACPI: AC: AC Adapter [ACAD] (on-line)
Aug 02 16:57:41 xd kernel: nvidia-modeset: Loading NVIDIA Kernel Mode 
Setting Driver for UNIX platforms 470.129.06 Thu May 12 22:42:45 UTC 
2022
Aug 02 16:57:41 xd kernel: Adding 31182844k swap on /dev/nvme0n1p4. 
Priority:-2 extents:1 across:31182844k SSFS
Aug 02 16:57:41 xd kernel: mc: Linux media interface: v0.10
Aug 02 16:57:41 xd kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] 
Loading driver
Aug 02 16:57:41 xd kernel: [drm] Initialized nvidia-drm 0.0.0 20160202 
for 0000:01:00.0 on minor 1
Aug 02 16:57:41 xd kernel: mei_me 0000:00:16.0: enabling device (0000 -> 
0002)
Aug 02 16:57:41 xd kernel: videodev: Linux video capture interface: 
v2.00
Aug 02 16:57:41 xd kernel: usb 1-8: Found UVC 1.00 device HD User Facing 
(0408:a061)
Aug 02 16:57:41 xd kernel: input: HD User Facing: HD User Facing as 
/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input12
Aug 02 16:57:41 xd kernel: usbcore: registered new interface driver 
uvcvideo
Aug 02 16:57:41 xd kernel: ee1004 0-0050: 512 byte EE1004-compliant SPD 
EEPROM, read-only
Aug 02 16:57:41 xd kernel: iTCO_vendor_support: vendor-support=0
Aug 02 16:57:41 xd kernel: iTCO_wdt iTCO_wdt: Found a Intel PCH TCO 
device (Version=6, TCOBASE=0x0400)
Aug 02 16:57:41 xd kernel: iTCO_wdt iTCO_wdt: initialized. heartbeat=30 
sec (nowayout=0)
Aug 02 16:57:41 xd kernel: acer_wmi: Acer Laptop ACPI-WMI Extras
Aug 02 16:57:41 xd kernel: acer_wmi: Function bitmap for Communication 
Button: 0x801
Aug 02 16:57:41 xd kernel: input: Acer WMI hotkeys as 
/devices/virtual/input/input13
Aug 02 16:57:41 xd kernel: alg: No test for fips(ansi_cprng) 
(fips_ansi_cprng)
Aug 02 16:57:41 xd kernel: input: ELAN0515:01 04F3:3142 Mouse as 
/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input14
Aug 02 16:57:41 xd kernel: input: ELAN0515:01 04F3:3142 Touchpad as 
/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input16
Aug 02 16:57:41 xd kernel: hid-multitouch 0018:04F3:3142.0001: 
input,hidraw0: I2C HID v1.00 Mouse [ELAN0515:01 04F3:3142] on 
i2c-ELAN0515:01
Aug 02 16:57:41 xd kernel: input: PC Speaker as 
/devices/platform/pcspkr/input/input17
Aug 02 16:57:41 xd kernel: resource sanity check: requesting [mem 
0xfedc0000-0xfedcdfff], which spans more than pnp 00:04 [mem 
0xfedc0000-0xfedc7fff]
Aug 02 16:57:41 xd kernel: caller __uncore_imc_init_box+0xc1/0x100 
[intel_uncore] mapping multiple BARs
Aug 02 16:57:41 xd kernel: pstore: Using crash dump compression: deflate
Aug 02 16:57:41 xd kernel: pstore: Registered efi as persistent store 
backend
Aug 02 16:57:41 xd kernel: cfg80211: Loading compiled-in X.509 
certificates for regulatory database
Aug 02 16:57:41 xd kernel: cfg80211: Loaded X.509 cert 'benh@debian.org: 
577e021cb980e0e820821ba7b54b4961b8b4fadf'
Aug 02 16:57:41 xd kernel: cfg80211: Loaded X.509 cert 
'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
Aug 02 16:57:41 xd kernel: cfg80211: Loaded X.509 cert 'sforshee: 
00b28ddf47aef9cea7'
Aug 02 16:57:41 xd kernel: platform regulatory.0: firmware: 
direct-loading firmware regulatory.db
Aug 02 16:57:41 xd kernel: platform regulatory.0: firmware: 
direct-loading firmware regulatory.db.p7s
Aug 02 16:57:41 xd kernel: snd_hda_intel 0000:00:1f.3: DSP detected with 
PCI class/subclass/prog-if info 0x040100
Aug 02 16:57:41 xd kernel: snd_hda_intel 0000:00:1f.3: Digital mics 
found on Skylake+ platform, using SOF driver
Aug 02 16:57:41 xd kernel: cryptd: max_cpu_qlen set to 1000
Aug 02 16:57:41 xd kernel: AVX2 version of gcm_enc/dec engaged.
Aug 02 16:57:41 xd kernel: AES CTR mode by8 optimization enabled
Aug 02 16:57:41 xd kernel: Bluetooth: Core ver 2.22
Aug 02 16:57:41 xd kernel: NET: Registered PF_BLUETOOTH protocol family
Aug 02 16:57:41 xd kernel: Bluetooth: HCI device and connection manager 
initialized
Aug 02 16:57:41 xd kernel: Bluetooth: HCI socket layer initialized
Aug 02 16:57:41 xd kernel: Bluetooth: L2CAP socket layer initialized
Aug 02 16:57:41 xd kernel: Bluetooth: SCO socket layer initialized
Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: enabling device (0000 
-> 0002)
Aug 02 16:57:41 xd kernel: usbcore: registered new interface driver 
btusb
Aug 02 16:57:41 xd kernel: bluetooth hci0: firmware: direct-loading 
firmware mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: ASIC revision: 79610010
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP 
detected with PCI class/subclass/prog-if info 0x040100
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Digital 
mics found on Skylake+ platform, using SOF driver
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: 
enabling device (0000 -> 0002)
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP 
detected with PCI class/subclass/prog-if 0x040100
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: bound 
0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: firmware: 
direct-loading firmware mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin
Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: HW/SW Version: 
0x8a108a10, Build Time: 20210612122717a
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: use msi 
interrupt mode
Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: firmware: 
direct-loading firmware mediatek/WIFI_RAM_CODE_MT7961_1.bin
Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: WM Firmware Version: 
____010000, Build Time: 20210612122753
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: hda 
codecs found, mask 5
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: using 
HDA machine driver skl_hda_dsp_generic now
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs 
detected in NHLT tables: 2
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: 
firmware: failed to load intel/sof/sof-tgl.ri (-2)
Aug 02 16:57:41 xd kernel: firmware_class: See 
https://wiki.debian.org/Firmware for information about missing firmware
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Direct 
firmware load for intel/sof/sof-tgl.ri failed with error -2
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: error: 
sof firmware file is missing, you might need to
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: 
download it from https://github.com/thesofproject/sof-bin/
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: error: 
failed to load DSP firmware -2
Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: error: 
sof_probe_work failed err: -2
Aug 02 16:57:41 xd kernel: mei_hdcp 
0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 
(ops i915_hdcp_component_ops [i915])
Aug 02 16:57:41 xd kernel: EXT4-fs (nvme0n1p2): mounting ext2 file 
system using the ext4 subsystem
Aug 02 16:57:41 xd kernel: EXT4-fs (nvme0n1p2): mounted filesystem 
without journal. Quota mode: none.
Aug 02 16:57:41 xd kernel: ext2 filesystem being mounted at /boot 
supports timestamps until 2038 (0x7fffffff)
Aug 02 16:57:41 xd kernel: intel_rapl_msr: PL4 support detected.
Aug 02 16:57:41 xd kernel: intel_rapl_common: Found RAPL domain package
Aug 02 16:57:41 xd kernel: intel_rapl_common: Found RAPL domain core
Aug 02 16:57:41 xd kernel: intel_rapl_common: Found RAPL domain uncore
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.940:2): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="libreoffice-senddoc" pid=615 comm="apparmor_parser"
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.940:3): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="libreoffice-xpdfimport" pid=617 comm="apparmor_parser"
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.940:4): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="libreoffice-oosplash" pid=614 comm="apparmor_parser"
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:5): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="nvidia_modprobe" pid=611 comm="apparmor_parser"
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:6): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="nvidia_modprobe//kmod" pid=611 comm="apparmor_parser"
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:7): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="/usr/bin/man" pid=613 comm="apparmor_parser"
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:8): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="man_filter" pid=613 comm="apparmor_parser"
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:9): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="man_groff" pid=613 comm="apparmor_parser"
Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:10): 
apparmor="STATUS" operation="profile_load" profile="unconfined" 
name="lsb_release" pid=610 comm="apparmor_parser"
Aug 02 16:57:42 xd kernel: ACPI Warning: \_SB.PC00.PEG0.PEGP._DSM: 
Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] 
(20211217/nsarguments-61)
Aug 02 16:57:42 xd kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Aug 02 16:57:42 xd kernel: Bluetooth: BNEP filters: protocol multicast
Aug 02 16:57:42 xd kernel: Bluetooth: BNEP socket layer initialized
Aug 02 16:57:42 xd kernel: enp2s0: 0xffff9d4c400f9000, 
08:8f:c3:4f:86:c5, IRQ 142
Aug 02 16:57:42 xd kernel: NET: Registered PF_QIPCRTR protocol family
Aug 02 16:57:42 xd kernel: mt7921e 0000:03:00.0 wlp3s0: renamed from 
wlan0
Aug 02 16:57:44 xd kernel: Bluetooth: hci0: Device setup in 2593900 
usecs
Aug 02 16:57:44 xd kernel: NET: Registered PF_ALG protocol family
Aug 02 16:57:44 xd kernel: Bluetooth: RFCOMM TTY layer initialized
Aug 02 16:57:44 xd kernel: Bluetooth: RFCOMM socket layer initialized
Aug 02 16:57:44 xd kernel: Bluetooth: RFCOMM ver 1.11
Aug 02 16:57:44 xd kernel: rfkill: input handler disabled
Aug 02 16:57:49 xd kernel: kauditd_printk_skb: 12 callbacks suppressed
Aug 02 16:57:49 xd kernel: audit: type=1400 audit(1659455869.340:23): 
apparmor="DENIED" operation="capable" profile="/usr/sbin/cups-browsed" 
pid=1199 comm="cups-browsed" capability=23 capname="sys_nice"
Aug 02 16:58:02 xd kernel: rfkill: input handler enabled
Aug 02 16:58:04 xd kernel: rfkill: input handler disabled

On 2022-08-02 16:53, Jan Beulich wrote:

> On 02.08.2022 17:40, Bruno wrote:
> 
>> I'm talking about booting on the host Xen ("Linux with Xen") - goes to 
>> an initramfs prompt.
>> 
>> I don't know how to get to this hypervisor log. Maybe not the case as 
>> I am attempting the boot on the host linux with Xen. There is no 
>> /var/log - only cache and lock
> 
> Generally the hypervisor log is obtained via "xl dmesg" (likely not an
> option for you when you end up on an initramfs prompt) or a serial
> cable. How do you obtain the kernel log (there was one posted on
> xen-users)?
> 
>> I can list the hard drive partitions under /dev (nvme0n1p1-5), but I 
>> cannot mount them. I cannot access a thumb drive either /dev/block, 
>> when mounted has two strange symlinks to ../sda1 (8:0 and 1:8). This 
>> is a bit frustrating because it does not allow me to export dmesg or 
>> other info.
>> 
>> Im not receiving the error messages on screen before initramfs, they 
>> are hidden, but I do get this message:
>> 
>> Gave up waiting for suspend/resume device
>> Gave up waiting for root file system device.  Common problems:
>> Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait 
>> long enough?)
>> Missing modules (cat /proc/modules; ls /dev)
>> ALERT! UUID=0123abc does not exist. Dropping to a shell!
>> 
>> On the dmesg, I got the ACPI errors:
>> 
>> ACPI BIOS Error
>> (bug): Failure creating named ob
>> I_SB.PCOO.XHCI.RHUB.HS05._UPC], AE ALREADY _EXISTS 
>> (Z0211217/dsuloadZ-326)
>> ACPI Error: AE_ALREADY EXISTS, During name
>> slookun/catalog
>> -9451181 ACPI: Skipping parse of AML opcode: OpcodeNane unavailable
>> (20211217/psobject-z20)
>> (0x0014)
>> 
>> Repeated several times
>> 
>> ACPI: Skipping parse of AML opcode: DpcodeNane unavailable (0x0014)
> 
> Right - I've seen those. These were why I did ask for a pair of kernel 
> logs
> (with and without Xen), to put them side by side and see which of the 
> errors
> are common (and hence likely of no interest to resolve your issue).
> 
>> Latter on the dmesg I got repeated errors like this:
>> 
>> RIP: 0033:0x7 969a2e2Ã¤c9
>> RSP: 002b:00007ffaff421a28 FLAGS: 00000246 RIG RAX: 0000000000000139
>> RAX: Efffffffffffffda RBX: 00005582Bb061d10 RCX: 00007 969aZeZÃ¤c9
>> 244.4412241 RDX:000000000RSI: 000071969a49bfOd RDI: 00000000000000
>> RB: 0000000000020000 ROB: 0000000000000000 R09: 000055828b04c290
>> R10: 000000000000000c R11: 0000000000000246 R12: 00007f969a49bf(R)d
>> R13: 000000GBOOOOOOOO R14: 000055B28b060aZO R15: 00005582Bb06110
>> 
>> (/TASK>
>> INFO: task systemd-udevd: 190 blocked for more than 120 seconds.
> 
> Besides some of the characters looking scrambled, I can spot nothing 
> like
> this in
> https://lists.xenproject.org/archives/html/xen-users/2022-07/msg00057.html
> 
> Anyway, my request stands: Please post the three named logs here.
> 
> Jan
--=_d5aa6b6b28cddfb804c3c1dc10b6b8eb
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset=
=3DUTF-8" /></head><body style=3D'font-size: 10pt; font-family: Verdana,Gen=
eva,sans-serif'>
<p>On initramfs:</p>
<p>- xl will give me not found - I cannot do xl info or xl dmesg</p>
<p>- I cannot mount any disk, therefore, exporting logs from there has been=
 photographing and using OCR then reviewing and correcting - but I guess th=
e main difference is ACIP, as I cannot access the disks</p>
<p>I have now booted on kernel 18 to get the kernel boot log for you (the o=
ne on Xen-user is kernel 10).</p>
<p># journalctl -k -b</p>
<p>Aug 02 16:57:40 xd kernel: microcode: microcode updated early to revisio=
n 0xa4, date =3D 2022-02-01<br />Aug 02 16:57:40 xd kernel: Linux version 5=
=2E18.0-2-amd64 (debian-kernel@lists.debian.org) (gcc-11 (Debian 11.3.0-3) =
11.3.0, GNU ld (GNU Binutils for Debian) 2.38.50.20220615) #1 SMP PREEMPT_D=
YNAMIC Debian 5.18.5-1 (2022-06-16)<br />Aug 02 16:57:40 xd kernel: Command=
 line: BOOT_IMAGE=3D/vmlinuz-5.18.0-2-amd64 root=3DUUID=3D0123abc ro quiet =
loglevel=3D3<br />Aug 02 16:57:40 xd kernel: x86/split lock detection: #AC:=
 crashing the kernel on kernel split_locks and warning on user-space split_=
locks<br />Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x0=
01: 'x87 floating point registers'<br />Aug 02 16:57:40 xd kernel: x86/fpu:=
 Supporting XSAVE feature 0x002: 'SSE registers'<br />Aug 02 16:57:40 xd ke=
rnel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'<br />Aug 02 =
16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x020: 'AVX-512 opmas=
k'<br />Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x040:=
 'AVX-512 Hi256'<br />Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE =
feature 0x080: 'AVX-512 ZMM_Hi256'<br />Aug 02 16:57:40 xd kernel: x86/fpu:=
 Supporting XSAVE feature 0x200: 'Protection Keys User registers'<br />Aug =
02 16:57:40 xd kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256=
<br />Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[5]: 832, xstate_siz=
es[5]: 64<br />Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[6]: 896, x=
state_sizes[6]: 512<br />Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[=
7]: 1408, xstate_sizes[7]: 1024<br />Aug 02 16:57:40 xd kernel: x86/fpu: xs=
tate_offset[9]: 2432, xstate_sizes[9]: 8<br />Aug 02 16:57:40 xd kernel: x8=
6/fpu: Enabled xstate features 0x2e7, context size is 2440 bytes, using 'co=
mpacted' format.<br />Aug 02 16:57:40 xd kernel: signal: max sigframe size:=
 3632<br />Aug 02 16:57:40 xd kernel: BIOS-provided physical RAM map:<br />=
Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 0x0000000000000000-0x00000000000=
9efff] usable<br />Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 0x00000000000=
9f000-0x00000000000fffff] reserved<br />Aug 02 16:57:40 xd kernel: BIOS-e82=
0: [mem 0x0000000000100000-0x0000000040198fff] usable<br />Aug 02 16:57:40 =
xd kernel: BIOS-e820: [mem 0x0000000040199000-0x0000000040a98fff] reserved<=
br />Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 0x0000000040a99000-0x000000=
00428aefff] usable<br />Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 0x000000=
00428af000-0x0000000042c7efff] type 20<br />Aug 02 16:57:40 xd kernel: BIOS=
-e820: [mem 0x0000000042c7f000-0x00000000446fefff] reserved<br />Aug 02 16:=
57:40 xd kernel: BIOS-e820: [mem 0x00000000446ff000-0x0000000044f2efff] ACP=
I NVS<br />Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 0x0000000044f2f000-0x=
0000000044ffefff] ACPI data<br />Aug 02 16:57:40 xd kernel: BIOS-e820: [mem=
 0x0000000044fff000-0x0000000044ffffff] usable<br />Aug 02 16:57:40 xd kern=
el: BIOS-e820: [mem 0x0000000045000000-0x0000000048ffffff] reserved<br />Au=
g 02 16:57:40 xd kernel: BIOS-e820: [mem 0x0000000049e00000-0x000000004f7ff=
fff] reserved<br />Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 0x00000000c00=
00000-0x00000000cfffffff] reserved<br />Aug 02 16:57:40 xd kernel: BIOS-e82=
0: [mem 0x00000000fe010000-0x00000000fe010fff] reserved<br />Aug 02 16:57:4=
0 xd kernel: BIOS-e820: [mem 0x00000000fed20000-0x00000000fed7ffff] reserve=
d<br />Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 0x00000000ff500000-0x0000=
0000ffffffff] reserved<br />Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 0x00=
00000100000000-0x00000004b07fffff] usable<br />Aug 02 16:57:40 xd kernel: N=
X (Execute Disable) protection: active<br />Aug 02 16:57:40 xd kernel: efi:=
 EFI v2.70 by INSYDE Corp.<br />Aug 02 16:57:40 xd kernel: efi: ACPI=3D0x44=
ffe000 ACPI 2.0=3D0x44ffe014 TPMFinalLog=3D0x44ec5000 SMBIOS=3D0x42e5e000 S=
MBIOS 3.0=3D0x42e5c000 ESRT=3D0x3c78ea98 MOKvar=3D0x3c70c000 <br />Aug 02 1=
6:57:40 xd kernel: secureboot: Secure boot could not be determined (mode 0)=
<br />Aug 02 16:57:40 xd kernel: SMBIOS 3.3.0 present.<br />Aug 02 16:57:40=
 xd kernel: DMI: Acer Aspire A517-52G/Jasmine_TL, BIOS V1.26 03/14/2022<br =
/>Aug 02 16:57:40 xd kernel: tsc: Detected 2400.000 MHz processor<br />Aug =
02 16:57:40 xd kernel: tsc: Detected 2419.200 MHz TSC<br />Aug 02 16:57:40 =
xd kernel: e820: update [mem 0x00000000-0x00000fff] usable =3D=3D&gt; reser=
ved<br />Aug 02 16:57:40 xd kernel: e820: remove [mem 0x000a0000-0x000fffff=
] usable<br />Aug 02 16:57:40 xd kernel: last_pfn =3D 0x4b0800 max_arch_pfn=
 =3D 0x400000000<br />Aug 02 16:57:40 xd kernel: x86/PAT: Configuration [0-=
7]: WB WC UC- UC WB WP UC- WT <br />Aug 02 16:57:40 xd kernel: last_pfn =3D=
 0x45000 max_arch_pfn =3D 0x400000000<br />Aug 02 16:57:40 xd kernel: esrt:=
 Reserving ESRT space from 0x000000003c78ea98 to 0x000000003c78ead0.<br />A=
ug 02 16:57:40 xd kernel: e820: update [mem 0x3c78e000-0x3c78efff] usable =
=3D=3D&gt; reserved<br />Aug 02 16:57:40 xd kernel: e820: update [mem 0x3c7=
0c000-0x3c70efff] usable =3D=3D&gt; reserved<br />Aug 02 16:57:40 xd kernel=
: Using GB pages for direct mapping<br />Aug 02 16:57:40 xd kernel: RAMDISK=
: [mem 0x2ff63000-0x33fa8fff]<br />Aug 02 16:57:40 xd kernel: ACPI: Early t=
able checksum verification disabled<br />Aug 02 16:57:40 xd kernel: ACPI: R=
SDP 0x0000000044FFE014 000024 (v02 ACRSYS)<br />Aug 02 16:57:40 xd kernel: =
ACPI: XSDT 0x0000000044FDB188 00011C (v01 ACRSYS ACRPRDCT 00000002 01000013=
)<br />Aug 02 16:57:40 xd kernel: ACPI: FACP 0x0000000044FDE000 000114 (v06=
 ACRSYS ACRPRDCT 00000002 1025 00040000)<br />Aug 02 16:57:40 xd kernel: AC=
PI: DSDT 0x0000000044F81000 059948 (v02 ACRSYS ACRPRDCT 00000002 1025 00040=
000)<br />Aug 02 16:57:40 xd kernel: ACPI: FACS 0x0000000044EA2000 000040<b=
r />Aug 02 16:57:40 xd kernel: ACPI: UEFI 0x0000000044F2E000 000236 (v01 AC=
RSYS ACRPRDCT 00000001 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI:=
 SSDT 0x0000000044FFA000 00255C (v02 ACRSYS ACRPRDCT 00003000 1025 00040000=
)<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF9000 000105 (v02=
 ACRSYS ACRPRDCT 00003000 1025 00040000)<br />Aug 02 16:57:40 xd kernel: AC=
PI: SSDT 0x0000000044FF6000 002137 (v02 ACRSYS ACRPRDCT 00003000 1025 00040=
000)<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF2000 003300 (=
v02 ACRSYS ACRPRDCT 00003000 1025 00040000)<br />Aug 02 16:57:40 xd kernel:=
 ACPI: SSDT 0x0000000044FF1000 00077B (v02 ACRSYS ACRPRDCT 00001000 1025 00=
040000)<br />Aug 02 16:57:40 xd kernel: ACPI: TPM2 0x0000000044FF0000 00004=
C (v04 ACRSYS ACRPRDCT 00000002 1025 00040000)<br />Aug 02 16:57:40 xd kern=
el: ACPI: MSDM 0x0000000044FEF000 000055 (v03 ACRSYS ACRPRDCT 00000001 1025=
 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FEE000 00=
0D02 (v02 ACRSYS ACRPRDCT 00000000 1025 00040000)<br />Aug 02 16:57:40 xd k=
ernel: ACPI: NHLT 0x0000000044FEC000 001B54 (v00 ACRSYS ACRPRDCT 00000002 1=
025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: LPIT 0x0000000044FEB000=
 0000CC (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)<br />Aug 02 16:57:40 x=
d kernel: ACPI: WSMT 0x0000000044FEA000 000028 (v01 ACRSYS ACRPRDCT 0000000=
2 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FE9=
000 000B70 (v02 ACRSYS ACRPRDCT 00001000 1025 00040000)<br />Aug 02 16:57:4=
0 xd kernel: ACPI: SSDT 0x0000000044FE8000 00012A (v02 ACRSYS ACRPRDCT 0000=
0000 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: DBGP 0x0000000044=
FE7000 000034 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)<br />Aug 02 16:5=
7:40 xd kernel: ACPI: DBG2 0x0000000044FE6000 000054 (v00 ACRSYS ACRPRDCT 0=
0000002 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000=
044FDF000 006BA9 (v01 ACRSYS ACRPRDCT 00001000 1025 00040000)<br />Aug 02 1=
6:57:40 xd kernel: ACPI: HPET 0x0000000044FDD000 000038 (v01 ACRSYS ACRPRDC=
T 00000002 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: APIC 0x0000=
000044FDC000 00012C (v04 ACRSYS ACRPRDCT 00000002 1025 00040000)<br />Aug 0=
2 16:57:40 xd kernel: ACPI: MCFG 0x0000000044FFD000 00003C (v01 ACRSYS ACRP=
RDCT 00000002 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0=
000000044F80000 000C78 (v02 ACRSYS ACRPRDCT 00000002 1025 00040000)<br />Au=
g 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7D000 0020D6 (v01 ACRSYS A=
CRPRDCT 00001000 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: UEFI =
0x0000000044E5B000 00063A (v01 ACRSYS ACRPRDCT 00000000 1025 00040000)<br /=
>Aug 02 16:57:40 xd kernel: ACPI: UEFI 0x0000000044E5A000 00005C (v01 ACRSY=
S ACRPRDCT 00000000 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI: SS=
DT 0x0000000044F7C000 000985 (v02 ACRSYS ACRPRDCT 00001000 1025 00040000)<b=
r />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7B000 0000F8 (v01 AC=
RSYS ACRPRDCT 00001000 1025 00040000)<br />Aug 02 16:57:40 xd kernel: ACPI:=
 SSDT 0x0000000044F7A000 000835 (v02 ACRSYS ACRPRDCT 00003000 1025 00040000=
)<br />Aug 02 16:57:40 xd kernel: ACPI: FPDT 0x0000000044F79000 000044 (v01=
 ACRSYS ACRPRDCT 00000002 1025 00040000)<br />Aug 02 16:57:40 xd kernel: AC=
PI: PTDT 0x0000000044F77000 000CFE (v00 ACRSYS ACRPRDCT 00000005 1025 00040=
000)<br />Aug 02 16:57:40 xd kernel: ACPI: BGRT 0x0000000044F78000 000038 (=
v01 ACRSYS ACRPRDCT 00000001 1025 00040000)<br />Aug 02 16:57:40 xd kernel:=
 ACPI: Reserving FACP table memory at [mem 0x44fde000-0x44fde113]<br />Aug =
02 16:57:40 xd kernel: ACPI: Reserving DSDT table memory at [mem 0x44f81000=
-0x44fda947]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving FACS table mem=
ory at [mem 0x44ea2000-0x44ea203f]<br />Aug 02 16:57:40 xd kernel: ACPI: Re=
serving UEFI table memory at [mem 0x44f2e000-0x44f2e235]<br />Aug 02 16:57:=
40 xd kernel: ACPI: Reserving SSDT table memory at [mem 0x44ffa000-0x44ffc5=
5b]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [m=
em 0x44ff9000-0x44ff9104]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving S=
SDT table memory at [mem 0x44ff6000-0x44ff8136]<br />Aug 02 16:57:40 xd ker=
nel: ACPI: Reserving SSDT table memory at [mem 0x44ff2000-0x44ff52ff]<br />=
Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 0x44ff=
1000-0x44ff177a]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving TPM2 table=
 memory at [mem 0x44ff0000-0x44ff004b]<br />Aug 02 16:57:40 xd kernel: ACPI=
: Reserving MSDM table memory at [mem 0x44fef000-0x44fef054]<br />Aug 02 16=
:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 0x44fee000-0x44=
feed01]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving NHLT table memory a=
t [mem 0x44fec000-0x44fedb53]<br />Aug 02 16:57:40 xd kernel: ACPI: Reservi=
ng LPIT table memory at [mem 0x44feb000-0x44feb0cb]<br />Aug 02 16:57:40 xd=
 kernel: ACPI: Reserving WSMT table memory at [mem 0x44fea000-0x44fea027]<b=
r />Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 0x=
44fe9000-0x44fe9b6f]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT t=
able memory at [mem 0x44fe8000-0x44fe8129]<br />Aug 02 16:57:40 xd kernel: =
ACPI: Reserving DBGP table memory at [mem 0x44fe7000-0x44fe7033]<br />Aug 0=
2 16:57:40 xd kernel: ACPI: Reserving DBG2 table memory at [mem 0x44fe6000-=
0x44fe6053]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memo=
ry at [mem 0x44fdf000-0x44fe5ba8]<br />Aug 02 16:57:40 xd kernel: ACPI: Res=
erving HPET table memory at [mem 0x44fdd000-0x44fdd037]<br />Aug 02 16:57:4=
0 xd kernel: ACPI: Reserving APIC table memory at [mem 0x44fdc000-0x44fdc12=
b]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving MCFG table memory at [me=
m 0x44ffd000-0x44ffd03b]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving SS=
DT table memory at [mem 0x44f80000-0x44f80c77]<br />Aug 02 16:57:40 xd kern=
el: ACPI: Reserving SSDT table memory at [mem 0x44f7d000-0x44f7f0d5]<br />A=
ug 02 16:57:40 xd kernel: ACPI: Reserving UEFI table memory at [mem 0x44e5b=
000-0x44e5b639]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving UEFI table =
memory at [mem 0x44e5a000-0x44e5a05b]<br />Aug 02 16:57:40 xd kernel: ACPI:=
 Reserving SSDT table memory at [mem 0x44f7c000-0x44f7c984]<br />Aug 02 16:=
57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 0x44f7b000-0x44f=
7b0f7]<br />Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at=
 [mem 0x44f7a000-0x44f7a834]<br />Aug 02 16:57:40 xd kernel: ACPI: Reservin=
g FPDT table memory at [mem 0x44f79000-0x44f79043]<br />Aug 02 16:57:40 xd =
kernel: ACPI: Reserving PTDT table memory at [mem 0x44f77000-0x44f77cfd]<br=
 />Aug 02 16:57:40 xd kernel: ACPI: Reserving BGRT table memory at [mem 0x4=
4f78000-0x44f78037]<br />Aug 02 16:57:40 xd kernel: No NUMA configuration f=
ound<br />Aug 02 16:57:40 xd kernel: Faking a node at [mem 0x00000000000000=
00-0x00000004b07fffff]<br />Aug 02 16:57:40 xd kernel: NODE_DATA(0) allocat=
ed [mem 0x4b07d5000-0x4b07fffff]<br />Aug 02 16:57:40 xd kernel: Zone range=
s:<br />Aug 02 16:57:40 xd kernel: DMA [mem 0x0000000000001000-0x0000000000=
ffffff]<br />Aug 02 16:57:40 xd kernel: DMA32 [mem 0x0000000001000000-0x000=
00000ffffffff]<br />Aug 02 16:57:40 xd kernel: Normal [mem 0x00000001000000=
00-0x00000004b07fffff]<br />Aug 02 16:57:40 xd kernel: Device empty<br />Au=
g 02 16:57:40 xd kernel: Movable zone start for each node<br />Aug 02 16:57=
:40 xd kernel: Early memory node ranges<br />Aug 02 16:57:40 xd kernel: nod=
e 0: [mem 0x0000000000001000-0x000000000009efff]<br />Aug 02 16:57:40 xd ke=
rnel: node 0: [mem 0x0000000000100000-0x0000000040198fff]<br />Aug 02 16:57=
:40 xd kernel: node 0: [mem 0x0000000040a99000-0x00000000428aefff]<br />Aug=
 02 16:57:40 xd kernel: node 0: [mem 0x0000000044fff000-0x0000000044ffffff]=
<br />Aug 02 16:57:40 xd kernel: node 0: [mem 0x0000000100000000-0x00000004=
b07fffff]<br />Aug 02 16:57:40 xd kernel: Initmem setup node 0 [mem 0x00000=
00000001000-0x00000004b07fffff]<br />Aug 02 16:57:40 xd kernel: On node 0, =
zone DMA: 1 pages in unavailable ranges<br />Aug 02 16:57:40 xd kernel: On =
node 0, zone DMA: 97 pages in unavailable ranges<br />Aug 02 16:57:40 xd ke=
rnel: On node 0, zone DMA32: 2304 pages in unavailable ranges<br />Aug 02 1=
6:57:40 xd kernel: On node 0, zone DMA32: 10064 pages in unavailable ranges=
<br />Aug 02 16:57:40 xd kernel: On node 0, zone Normal: 12288 pages in una=
vailable ranges<br />Aug 02 16:57:40 xd kernel: On node 0, zone Normal: 307=
20 pages in unavailable ranges<br />Aug 02 16:57:40 xd kernel: Reserving In=
tel graphics memory at [mem 0x4b800000-0x4f7fffff]<br />Aug 02 16:57:40 xd =
kernel: ACPI: PM-Timer IO Port: 0x1808<br />Aug 02 16:57:40 xd kernel: ACPI=
: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])<br />Aug 02 16:57:40 xd ker=
nel: ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])<br />Aug 02 16:57:=
40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])<br />Aug =
02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])<=
br />Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x05] high edge li=
nt[0x1])<br />Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x06] hig=
h edge lint[0x1])<br />Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[=
0x07] high edge lint[0x1])<br />Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI =
(acpi_id[0x08] high edge lint[0x1])<br />Aug 02 16:57:40 xd kernel: ACPI: L=
APIC_NMI (acpi_id[0x09] high edge lint[0x1])<br />Aug 02 16:57:40 xd kernel=
: ACPI: LAPIC_NMI (acpi_id[0x0a] high edge lint[0x1])<br />Aug 02 16:57:40 =
xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0b] high edge lint[0x1])<br />Aug 02 =
16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0c] high edge lint[0x1])<br =
/>Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0d] high edge lint[=
0x1])<br />Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0e] high e=
dge lint[0x1])<br />Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0=
f] high edge lint[0x1])<br />Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (ac=
pi_id[0x10] high edge lint[0x1])<br />Aug 02 16:57:40 xd kernel: IOAPIC[0]:=
 apic_id 2, version 32, address 0xfec00000, GSI 0-119<br />Aug 02 16:57:40 =
xd kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)<br />Au=
g 02 16:57:40 xd kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 hi=
gh level)<br />Aug 02 16:57:40 xd kernel: ACPI: Using ACPI (MADT) for SMP c=
onfiguration information<br />Aug 02 16:57:40 xd kernel: ACPI: HPET id: 0x8=
086a201 base: 0xfed00000<br />Aug 02 16:57:40 xd kernel: e820: update [mem =
0x3c78f000-0x3c882fff] usable =3D=3D&gt; reserved<br />Aug 02 16:57:40 xd k=
ernel: TSC deadline timer available<br />Aug 02 16:57:40 xd kernel: smpboot=
: Allowing 8 CPUs, 0 hotplug CPUs<br />Aug 02 16:57:40 xd kernel: PM: hiber=
nation: Registered nosave memory: [mem 0x00000000-0x00000fff]<br />Aug 02 1=
6:57:40 xd kernel: PM: hibernation: Registered nosave memory: [mem 0x0009f0=
00-0x000fffff]<br />Aug 02 16:57:40 xd kernel: PM: hibernation: Registered =
nosave memory: [mem 0x3c70c000-0x3c70efff]<br />Aug 02 16:57:40 xd kernel: =
PM: hibernation: Registered nosave memory: [mem 0x3c78e000-0x3c882fff]<br /=
>Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: [mem=
 0x40199000-0x40a98fff]<br />Aug 02 16:57:40 xd kernel: PM: hibernation: Re=
gistered nosave memory: [mem 0x428af000-0x42c7efff]<br />Aug 02 16:57:40 xd=
 kernel: PM: hibernation: Registered nosave memory: [mem 0x42c7f000-0x446fe=
fff]<br />Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave mem=
ory: [mem 0x446ff000-0x44f2efff]<br />Aug 02 16:57:40 xd kernel: PM: hibern=
ation: Registered nosave memory: [mem 0x44f2f000-0x44ffefff]<br />Aug 02 16=
:57:40 xd kernel: PM: hibernation: Registered nosave memory: [mem 0x4500000=
0-0x48ffffff]<br />Aug 02 16:57:40 xd kernel: PM: hibernation: Registered n=
osave memory: [mem 0x49000000-0x49dfffff]<br />Aug 02 16:57:40 xd kernel: P=
M: hibernation: Registered nosave memory: [mem 0x49e00000-0x4f7fffff]<br />=
Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: [mem =
0x4f800000-0xbfffffff]<br />Aug 02 16:57:40 xd kernel: PM: hibernation: Reg=
istered nosave memory: [mem 0xc0000000-0xcfffffff]<br />Aug 02 16:57:40 xd =
kernel: PM: hibernation: Registered nosave memory: [mem 0xd0000000-0xfe00ff=
ff]<br />Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memo=
ry: [mem 0xfe010000-0xfe010fff]<br />Aug 02 16:57:40 xd kernel: PM: hiberna=
tion: Registered nosave memory: [mem 0xfe011000-0xfed1ffff]<br />Aug 02 16:=
57:40 xd kernel: PM: hibernation: Registered nosave memory: [mem 0xfed20000=
-0xfed7ffff]<br />Aug 02 16:57:40 xd kernel: PM: hibernation: Registered no=
save memory: [mem 0xfed80000-0xff4fffff]<br />Aug 02 16:57:40 xd kernel: PM=
: hibernation: Registered nosave memory: [mem 0xff500000-0xffffffff]<br />A=
ug 02 16:57:40 xd kernel: [mem 0x4f800000-0xbfffffff] available for PCI dev=
ices<br />Aug 02 16:57:40 xd kernel: Booting paravirtualized kernel on bare=
 hardware<br />Aug 02 16:57:40 xd kernel: clocksource: refined-jiffies: mas=
k: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns<br /=
>Aug 02 16:57:40 xd kernel: setup_percpu: NR_CPUS:8192 nr_cpumask_bits:8 nr=
_cpu_ids:8 nr_node_ids:1<br />Aug 02 16:57:40 xd kernel: percpu: Embedded 6=
1 pages/cpu s212992 r8192 d28672 u262144<br />Aug 02 16:57:40 xd kernel: pc=
pu-alloc: s212992 r8192 d28672 u262144 alloc=3D1*2097152<br />Aug 02 16:57:=
40 xd kernel: pcpu-alloc: [0] 0 1 2 3 4 5 6 7 <br />Aug 02 16:57:40 xd kern=
el: Fallback order for Node 0: 0 <br />Aug 02 16:57:40 xd kernel: Built 1 z=
onelists, mobility grouping on. Total pages: 4074001<br />Aug 02 16:57:40 x=
d kernel: Policy zone: Normal<br />Aug 02 16:57:40 xd kernel: Kernel comman=
d line: BOOT_IMAGE=3D/vmlinuz-5.18.0-2-amd64 root=3DUUID=3D0123abcd ro quie=
t loglevel=3D3<br />Aug 02 16:57:40 xd kernel: Unknown kernel command line =
parameters "BOOT_IMAGE=3D/vmlinuz-5.18.0-2-amd64", will be passed to user s=
pace.<br />Aug 02 16:57:40 xd kernel: Dentry cache hash table entries: 2097=
152 (order: 12, 16777216 bytes, linear)<br />Aug 02 16:57:40 xd kernel: Ino=
de-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)<br =
/>Aug 02 16:57:40 xd kernel: mem auto-init: stack:off, heap alloc:on, heap =
free:off<br />Aug 02 16:57:40 xd kernel: Memory: 999928K/16555320K availabl=
e (12294K kernel code, 2773K rwdata, 8568K rodata, 2500K init, 5156K bss, 5=
40176K reserved, 0K cma-reserved)<br />Aug 02 16:57:40 xd kernel: SLUB: HWa=
lign=3D64, Order=3D0-3, MinObjects=3D0, CPUs=3D8, Nodes=3D1<br />Aug 02 16:=
57:40 xd kernel: ftrace: allocating 38641 entries in 151 pages<br />Aug 02 =
16:57:40 xd kernel: ftrace: allocated 151 pages with 5 groups<br />Aug 02 1=
6:57:40 xd kernel: Dynamic Preempt: voluntary<br />Aug 02 16:57:40 xd kerne=
l: rcu: Preemptible hierarchical RCU implementation.<br />Aug 02 16:57:40 x=
d kernel: rcu: RCU restricting CPUs from NR_CPUS=3D8192 to nr_cpu_ids=3D8=
=2E<br />Aug 02 16:57:40 xd kernel: Trampoline variant of Tasks RCU enabled=
=2E<br />Aug 02 16:57:40 xd kernel: Rude variant of Tasks RCU enabled.<br /=
>Aug 02 16:57:40 xd kernel: Tracing variant of Tasks RCU enabled.<br />Aug =
02 16:57:40 xd kernel: rcu: RCU calculated value of scheduler-enlistment de=
lay is 25 jiffies.<br />Aug 02 16:57:40 xd kernel: rcu: Adjusting geometry =
for rcu_fanout_leaf=3D16, nr_cpu_ids=3D8<br />Aug 02 16:57:40 xd kernel: NR=
_IRQS: 524544, nr_irqs: 2048, preallocated irqs: 16<br />Aug 02 16:57:40 xd=
 kernel: random: crng init done<br />Aug 02 16:57:40 xd kernel: Console: co=
lour dummy device 80x25<br />Aug 02 16:57:40 xd kernel: printk: console [tt=
y0] enabled<br />Aug 02 16:57:40 xd kernel: ACPI: Core revision 20211217<br=
 />Aug 02 16:57:40 xd kernel: hpet: HPET dysfunctional in PC10. Force disab=
led.<br />Aug 02 16:57:40 xd kernel: APIC: Switch to symmetric I/O mode set=
up<br />Aug 02 16:57:40 xd kernel: x2apic: IRQ remapping doesn't support X2=
APIC mode<br />Aug 02 16:57:40 xd kernel: clocksource: tsc-early: mask: 0xf=
fffffffffffffff max_cycles: 0x22df1149949, max_idle_ns: 440795312789 ns<br =
/>Aug 02 16:57:40 xd kernel: Calibrating delay loop (skipped), value calcul=
ated using timer frequency.. 4838.40 BogoMIPS (lpj=3D9676800)<br />Aug 02 1=
6:57:40 xd kernel: pid_max: default: 32768 minimum: 301<br />Aug 02 16:57:4=
0 xd kernel: LSM: Security Framework initializing<br />Aug 02 16:57:40 xd k=
ernel: Yama: disabled by default; enable with sysctl kernel.yama.*<br />Aug=
 02 16:57:40 xd kernel: AppArmor: AppArmor initialized<br />Aug 02 16:57:40=
 xd kernel: TOMOYO Linux initialized<br />Aug 02 16:57:40 xd kernel: Mount-=
cache hash table entries: 32768 (order: 6, 262144 bytes, linear)<br />Aug 0=
2 16:57:40 xd kernel: Mountpoint-cache hash table entries: 32768 (order: 6,=
 262144 bytes, linear)<br />Aug 02 16:57:40 xd kernel: CPU0: Thermal monito=
ring enabled (TM1)<br />Aug 02 16:57:40 xd kernel: x86/cpu: User Mode Instr=
uction Prevention (UMIP) activated<br />Aug 02 16:57:40 xd kernel: process:=
 using mwait in idle threads<br />Aug 02 16:57:40 xd kernel: Last level iTL=
B entries: 4KB 0, 2MB 0, 4MB 0<br />Aug 02 16:57:40 xd kernel: Last level d=
TLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0<br />Aug 02 16:57:40 xd kernel: Spe=
ctre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitizat=
ion<br />Aug 02 16:57:40 xd kernel: Spectre V2 : Mitigation: Enhanced IBRS<=
br />Aug 02 16:57:40 xd kernel: Spectre V2 : Spectre v2 / SpectreRSB mitiga=
tion: Filling RSB on context switch<br />Aug 02 16:57:40 xd kernel: Spectre=
 V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier<b=
r />Aug 02 16:57:40 xd kernel: Speculative Store Bypass: Mitigation: Specul=
ative Store Bypass disabled via prctl<br />Aug 02 16:57:40 xd kernel: Freei=
ng SMP alternatives memory: 32K<br />Aug 02 16:57:40 xd kernel: smpboot: Es=
timated ratio of average max frequency by base frequency (times 1024): 1621=
<br />Aug 02 16:57:40 xd kernel: smpboot: CPU0: 11th Gen Intel(R) Core(TM) =
i5-1135G7 @ 2.40GHz (family: 0x6, model: 0x8c, stepping: 0x1)<br />Aug 02 1=
6:57:40 xd kernel: cblist_init_generic: Setting adjustable number of callba=
ck queues.<br />Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting shi=
ft to 3 and lim to 1.<br />Aug 02 16:57:40 xd kernel: cblist_init_generic: =
Setting shift to 3 and lim to 1.<br />Aug 02 16:57:40 xd kernel: cblist_ini=
t_generic: Setting shift to 3 and lim to 1.<br />Aug 02 16:57:40 xd kernel:=
 Performance Events: PEBS fmt4+-baseline, AnyThread deprecated, Icelake eve=
nts, 32-deep LBR, full-width counters, Intel PMU driver.<br />Aug 02 16:57:=
40 xd kernel: ... version: 5<br />Aug 02 16:57:40 xd kernel: ... bit width:=
 48<br />Aug 02 16:57:40 xd kernel: ... generic registers: 8<br />Aug 02 16=
:57:40 xd kernel: ... value mask: 0000ffffffffffff<br />Aug 02 16:57:40 xd =
kernel: ... max period: 00007fffffffffff<br />Aug 02 16:57:40 xd kernel: =
=2E.. fixed-purpose events: 4<br />Aug 02 16:57:40 xd kernel: ... event mas=
k: 0001000f000000ff<br />Aug 02 16:57:40 xd kernel: rcu: Hierarchical SRCU =
implementation.<br />Aug 02 16:57:40 xd kernel: NMI watchdog: Enabled. Perm=
anently consumes one hw-PMU counter.<br />Aug 02 16:57:40 xd kernel: smp: B=
ringing up secondary CPUs ...<br />Aug 02 16:57:40 xd kernel: x86: Booting =
SMP configuration:<br />Aug 02 16:57:40 xd kernel: .... node #0, CPUs: #1 #=
2 #3 #4 #5 #6 #7<br />Aug 02 16:57:40 xd kernel: smp: Brought up 1 node, 8 =
CPUs<br />Aug 02 16:57:40 xd kernel: smpboot: Max logical packages: 1<br />=
Aug 02 16:57:40 xd kernel: smpboot: Total of 8 processors activated (38707=
=2E20 BogoMIPS)<br />Aug 02 16:57:40 xd kernel: node 0 deferred pages initi=
alised in 20ms<br />Aug 02 16:57:40 xd kernel: devtmpfs: initialized<br />A=
ug 02 16:57:40 xd kernel: x86/mm: Memory block size: 128MB<br />Aug 02 16:5=
7:40 xd kernel: ACPI: PM: Registering ACPI NVS region [mem 0x446ff000-0x44f=
2efff] (8585216 bytes)<br />Aug 02 16:57:40 xd kernel: clocksource: jiffies=
: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns=
<br />Aug 02 16:57:40 xd kernel: futex hash table entries: 2048 (order: 5, =
131072 bytes, linear)<br />Aug 02 16:57:40 xd kernel: pinctrl core: initial=
ized pinctrl subsystem<br />Aug 02 16:57:40 xd kernel: NET: Registered PF_N=
ETLINK/PF_ROUTE protocol family<br />Aug 02 16:57:40 xd kernel: DMA: preall=
ocated 2048 KiB GFP_KERNEL pool for atomic allocations<br />Aug 02 16:57:40=
 xd kernel: DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic a=
llocations<br />Aug 02 16:57:40 xd kernel: DMA: preallocated 2048 KiB GFP_K=
ERNEL|GFP_DMA32 pool for atomic allocations<br />Aug 02 16:57:40 xd kernel:=
 audit: initializing netlink subsys (disabled)<br />Aug 02 16:57:40 xd kern=
el: audit: type=3D2000 audit(1659455859.032:1): state=3Dinitialized audit_e=
nabled=3D0 res=3D1<br />Aug 02 16:57:40 xd kernel: thermal_sys: Registered =
thermal governor 'fair_share'<br />Aug 02 16:57:40 xd kernel: thermal_sys: =
Registered thermal governor 'bang_bang'<br />Aug 02 16:57:40 xd kernel: the=
rmal_sys: Registered thermal governor 'step_wise'<br />Aug 02 16:57:40 xd k=
ernel: thermal_sys: Registered thermal governor 'user_space'<br />Aug 02 16=
:57:40 xd kernel: thermal_sys: Registered thermal governor 'power_allocator=
'<br />Aug 02 16:57:40 xd kernel: cpuidle: using governor ladder<br />Aug 0=
2 16:57:40 xd kernel: cpuidle: using governor menu<br />Aug 02 16:57:40 xd =
kernel: acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5<br />Aug =
02 16:57:40 xd kernel: PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0x=
c0000000-0xcfffffff] (base 0xc0000000)<br />Aug 02 16:57:40 xd kernel: PCI:=
 MMCONFIG at [mem 0xc0000000-0xcfffffff] reserved in E820<br />Aug 02 16:57=
:40 xd kernel: PCI: Using configuration type 1 for base access<br />Aug 02 =
16:57:40 xd kernel: ENERGY_PERF_BIAS: Set to 'normal', was 'performance'<br=
 />Aug 02 16:57:40 xd kernel: kprobes: kprobe jump-optimization is enabled=
=2E All kprobes are optimized if possible.<br />Aug 02 16:57:40 xd kernel: =
HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages<br />Aug 02 16=
:57:40 xd kernel: HugeTLB registered 2.00 MiB page size, pre-allocated 0 pa=
ges<br />Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Module Device)<br />Au=
g 02 16:57:40 xd kernel: ACPI: Added _OSI(Processor Device)<br />Aug 02 16:=
57:40 xd kernel: ACPI: Added _OSI(3.0 _SCP Extensions)<br />Aug 02 16:57:40=
 xd kernel: ACPI: Added _OSI(Processor Aggregator Device)<br />Aug 02 16:57=
:40 xd kernel: ACPI: Added _OSI(Linux-Dell-Video)<br />Aug 02 16:57:40 xd k=
ernel: ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)<br />Aug 02 16:57:40 xd=
 kernel: ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)<br />Aug 02 16:57:40 x=
d kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS01._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS01._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS02._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS02._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS03._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS03._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS04._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS04._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS05._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS05._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS06._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS06._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS07._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS07._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS08._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS08._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS09._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS09._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.HS10._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.HS10._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.SS01._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.SS01._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.SS02._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.SS02._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.SS03._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.SS03._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.SS04._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.SS04._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.SS05._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.SS05._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00=
=2EXHCI.RHUB.SS06._UPC], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug=
 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/c=
atalog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippi=
ng parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:4=
0 xd kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC0=
0.XHCI.RHUB.SS06._PLD], AE_ALREADY_EXISTS (20211217/dswload2-326)<br />Aug =
02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/ca=
talog (20211217/psobject-220)<br />Aug 02 16:57:40 xd kernel: ACPI: Skippin=
g parse of AML opcode: OpcodeName unavailable (0x0014)<br />Aug 02 16:57:40=
 xd kernel: ACPI: 15 ACPI AML tables successfully acquired and loaded<br />=
Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:<br />Aug 02 16:57:=
40 xd kernel: ACPI: SSDT 0xFFFF8B5080BCB600 0001C6 (v02 PmRef Cpu0Psd 00003=
000 INTL 20160422)<br />Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PR00: _OSC n=
ative thermal LVT Acked<br />Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM T=
able Load:<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5081016C00 00=
0386 (v02 PmRef Cpu0Cst 00003001 INTL 20160422)<br />Aug 02 16:57:40 xd ker=
nel: ACPI: Dynamic OEM Table Load:<br />Aug 02 16:57:40 xd kernel: ACPI: SS=
DT 0xFFFF8B508101C800 0005C3 (v02 PmRef Cpu0Ist 00003000 INTL 20160422)<br =
/>Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:<br />Aug 02 16:5=
7:40 xd kernel: ACPI: SSDT 0xFFFF8B5081013400 00028B (v02 PmRef Cpu0Hwp 000=
03000 INTL 20160422)<br />Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Tabl=
e Load:<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508100D000 0008E=
7 (v02 PmRef ApIst 00003000 INTL 20160422)<br />Aug 02 16:57:40 xd kernel: =
ACPI: Dynamic OEM Table Load:<br />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x=
FFFF8B508101B000 00048A (v02 PmRef ApHwp 00003000 INTL 20160422)<br />Aug 0=
2 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:<br />Aug 02 16:57:40 xd=
 kernel: ACPI: SSDT 0xFFFF8B508101A800 0004D4 (v02 PmRef ApPsd 00003000 INT=
L 20160422)<br />Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:<b=
r />Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5081019800 00048A (v02 Pm=
Ref ApCst 00003000 INTL 20160422)<br />Aug 02 16:57:40 xd kernel: ACPI: EC:=
 EC started<br />Aug 02 16:57:40 xd kernel: ACPI: EC: interrupt blocked<br =
/>Aug 02 16:57:40 xd kernel: ACPI: EC: EC_CMD/EC_SC=3D0x66, EC_DATA=3D0x62<=
br />Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LPCB.EC0_: Boot DSDT EC us=
ed to handle transactions<br />Aug 02 16:57:40 xd kernel: ACPI: Interpreter=
 enabled<br />Aug 02 16:57:40 xd kernel: ACPI: PM: (supports S0 S3 S4 S5)<b=
r />Aug 02 16:57:40 xd kernel: ACPI: Using IOAPIC for interrupt routing<br =
/>Aug 02 16:57:40 xd kernel: PCI: Using host bridge windows from ACPI; if n=
ecessary, use "pci=3Dnocrs" and report a bug<br />Aug 02 16:57:40 xd kernel=
: ACPI: Enabled 7 GPEs in block 00 to 7F<br />Aug 02 16:57:40 xd kernel: AC=
PI: PM: Power Resource [PCRP]<br />Aug 02 16:57:40 xd kernel: ACPI: PM: Pow=
er Resource [V0PR]<br />Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource=
 [V1PR]<br />Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V2PR]<br =
/>Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [WRST]<br />Aug 02 16=
:57:40 xd kernel: ACPI: PM: Power Resource [V0PR]<br />Aug 02 16:57:40 xd k=
ernel: ACPI: PM: Power Resource [V1PR]<br />Aug 02 16:57:40 xd kernel: ACPI=
: PM: Power Resource [V2PR]<br />Aug 02 16:57:40 xd kernel: ACPI: PM: Power=
 Resource [V3PR]<br />Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [=
FN00]<br />Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN01]<br />=
Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN02]<br />Aug 02 16:5=
7:40 xd kernel: ACPI: PM: Power Resource [FN03]<br />Aug 02 16:57:40 xd ker=
nel: ACPI: PM: Power Resource [FN04]<br />Aug 02 16:57:40 xd kernel: ACPI: =
PM: Power Resource [PIN]<br />Aug 02 16:57:40 xd kernel: ACPI: PCI Root Bri=
dge [PC00] (domain 0000 [bus 00-e0])<br />Aug 02 16:57:40 xd kernel: acpi P=
NP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-=
Type3]<br />Aug 02 16:57:40 xd kernel: acpi PNP0A08:00: _OSC: OS now contro=
ls [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR]<br />Aug 02 16:57:4=
0 xd kernel: PCI host bridge to bus 0000:00<br />Aug 02 16:57:40 xd kernel:=
 pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]<br />Aug 02 1=
6:57:40 xd kernel: pci_bus 0000:00: root bus resource [io 0x0d00-0xffff win=
dow]<br />Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [me=
m 0x000a0000-0x000bffff window]<br />Aug 02 16:57:40 xd kernel: pci_bus 000=
0:00: root bus resource [mem 0x4f800000-0xbfffffff window]<br />Aug 02 16:5=
7:40 xd kernel: pci_bus 0000:00: root bus resource [mem 0x4000000000-0x7fff=
ffffff window]<br />Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus re=
source [bus 00-e0]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:00.0: [8086:=
9a14] type 00 class 0x060000<br />Aug 02 16:57:40 xd kernel: pci 0000:00:02=
=2E0: [8086:9a49] type 00 class 0x030000<br />Aug 02 16:57:40 xd kernel: pc=
i 0000:00:02.0: reg 0x10: [mem 0x6014000000-0x6014ffffff 64bit]<br />Aug 02=
 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x18: [mem 0x4000000000-0x400fff=
ffff 64bit pref]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x20=
: [io 0x5000-0x503f]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: BAR =
2: assigned to efifb<br />Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: DMAR=
: Skip IOMMU disabling for graphics<br />Aug 02 16:57:40 xd kernel: pci 000=
0:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]<br=
 />Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x344: [mem 0x00000000-=
0x00ffffff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: VF(n) B=
AR0 space: [mem 0x00000000-0x06ffffff 64bit] (contains BAR0 for 7 VFs)<br /=
>Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x34c: [mem 0x00000000-0x=
1fffffff 64bit pref]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: VF(n=
) BAR2 space: [mem 0x00000000-0xdfffffff 64bit pref] (contains BAR2 for 7 V=
Fs)<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: [8086:9a09] type 01 c=
lass 0x060400<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PME# suppor=
ted from D0 D3hot D3cold<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: =
PTM enabled (root), 4ns granularity<br />Aug 02 16:57:40 xd kernel: pci 000=
0:00:08.0: [8086:9a11] type 00 class 0x088000<br />Aug 02 16:57:40 xd kerne=
l: pci 0000:00:08.0: reg 0x10: [mem 0x601540f000-0x601540ffff 64bit]<br />A=
ug 02 16:57:40 xd kernel: pci 0000:00:0e.0: [8086:9a0b] type 00 class 0x010=
400<br />Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: reg 0x10: [mem 0x6012=
000000-0x6013ffffff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:0e=
=2E0: reg 0x18: [mem 0x50000000-0x51ffffff]<br />Aug 02 16:57:40 xd kernel:=
 pci 0000:00:0e.0: reg 0x20: [mem 0x6015300000-0x60153fffff 64bit]<br />Aug=
 02 16:57:40 xd kernel: pci 0000:00:14.0: [8086:a0ed] type 00 class 0x0c033=
0<br />Aug 02 16:57:40 xd kernel: pci 0000:00:14.0: reg 0x10: [mem 0x531800=
00-0x5318ffff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:14.0: PME#=
 supported from D3hot D3cold<br />Aug 02 16:57:40 xd kernel: pci 0000:00:14=
=2E2: [8086:a0ef] type 00 class 0x050000<br />Aug 02 16:57:40 xd kernel: pc=
i 0000:00:14.2: reg 0x10: [mem 0x6015404000-0x6015407fff 64bit]<br />Aug 02=
 16:57:40 xd kernel: pci 0000:00:14.2: reg 0x18: [mem 0x601540e000-0x601540=
efff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:15.0: [8086:a0e8] t=
ype 00 class 0x0c8000<br />Aug 02 16:57:40 xd kernel: pci 0000:00:15.0: reg=
 0x10: [mem 0x00000000-0x00000fff 64bit]<br />Aug 02 16:57:40 xd kernel: pc=
i 0000:00:15.3: [8086:a0eb] type 00 class 0x0c8000<br />Aug 02 16:57:40 xd =
kernel: pci 0000:00:15.3: reg 0x10: [mem 0x00000000-0x00000fff 64bit]<br />=
Aug 02 16:57:40 xd kernel: pci 0000:00:16.0: [8086:a0e0] type 00 class 0x07=
8000<br />Aug 02 16:57:40 xd kernel: pci 0000:00:16.0: reg 0x10: [mem 0x601=
540b000-0x601540bfff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:16=
=2E0: PME# supported from D3hot<br />Aug 02 16:57:40 xd kernel: pci 0000:00=
:17.0: [8086:09ab] type 00 class 0x088000<br />Aug 02 16:57:40 xd kernel: p=
ci 0000:00:19.0: [8086:a0c5] type 00 class 0x0c8000<br />Aug 02 16:57:40 xd=
 kernel: pci 0000:00:19.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]<br /=
>Aug 02 16:57:40 xd kernel: pci 0000:00:19.1: [8086:a0c6] type 00 class 0x0=
c8000<br />Aug 02 16:57:40 xd kernel: pci 0000:00:19.1: reg 0x10: [mem 0x00=
000000-0x00000fff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: =
[8086:a0b0] type 01 class 0x060400<br />Aug 02 16:57:40 xd kernel: pci 0000=
:00:1d.0: PME# supported from D0 D3hot D3cold<br />Aug 02 16:57:40 xd kerne=
l: pci 0000:00:1d.0: PTM enabled (root), 4ns granularity<br />Aug 02 16:57:=
40 xd kernel: pci 0000:00:1d.1: [8086:a0b1] type 01 class 0x060400<br />Aug=
 02 16:57:40 xd kernel: pci 0000:00:1d.1: PME# supported from D0 D3hot D3co=
ld<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PTM enabled (root), 4n=
s granularity<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1f.0: [8086:a082]=
 type 00 class 0x060100<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: [=
8086:a0c8] type 00 class 0x040100<br />Aug 02 16:57:40 xd kernel: pci 0000:=
00:1f.3: reg 0x10: [mem 0x6015400000-0x6015403fff 64bit]<br />Aug 02 16:57:=
40 xd kernel: pci 0000:00:1f.3: reg 0x20: [mem 0x6015200000-0x60152fffff 64=
bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: PME# supported from =
D3hot D3cold<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1f.4: [8086:a0a3] =
type 00 class 0x0c0500<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1f.4: re=
g 0x10: [mem 0x6015408000-0x60154080ff 64bit]<br />Aug 02 16:57:40 xd kerne=
l: pci 0000:00:1f.4: reg 0x20: [io 0xefa0-0xefbf]<br />Aug 02 16:57:40 xd k=
ernel: pci 0000:00:1f.5: [8086:a0a4] type 00 class 0x0c8000<br />Aug 02 16:=
57:40 xd kernel: pci 0000:00:1f.5: reg 0x10: [mem 0xfe010000-0xfe010fff]<br=
 />Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: [10de:1f97] type 00 class 0=
x030200<br />Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x10: [mem 0x=
52000000-0x52ffffff]<br />Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg =
0x14: [mem 0x6000000000-0x600fffffff 64bit pref]<br />Aug 02 16:57:40 xd ke=
rnel: pci 0000:01:00.0: reg 0x1c: [mem 0x6010000000-0x6011ffffff 64bit pref=
]<br />Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x24: [io 0x4000-0x=
407f]<br />Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x30: [mem 0xff=
f80000-0xffffffff pref]<br />Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: P=
ME# supported from D0 D3hot D3cold<br />Aug 02 16:57:40 xd kernel: pci 0000=
:01:00.0: 63.012 Gb/s available PCIe bandwidth, limited by 16.0 GT/s PCIe x=
4 link at 0000:00:06.0 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 lin=
k)<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PCI bridge to [bus 01]=
<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [io 0x4000=
-0x4fff]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [m=
em 0x52000000-0x52ffffff]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0:=
 bridge window [mem 0x6000000000-0x6011ffffff 64bit pref]<br />Aug 02 16:57=
:40 xd kernel: pci 0000:02:00.0: [10ec:8168] type 00 class 0x020000<br />Au=
g 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x10: [io 0x3000-0x30ff]<br =
/>Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x18: [mem 0x53004000-0x=
53004fff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x20:=
 [mem 0x53000000-0x53003fff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000=
:02:00.0: supports D1 D2<br />Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: =
PME# supported from D0 D1 D2 D3hot D3cold<br />Aug 02 16:57:40 xd kernel: p=
ci 0000:00:1d.0: PCI bridge to [bus 02]<br />Aug 02 16:57:40 xd kernel: pci=
 0000:00:1d.0: bridge window [io 0x3000-0x3fff]<br />Aug 02 16:57:40 xd ker=
nel: pci 0000:00:1d.0: bridge window [mem 0x53000000-0x530fffff]<br />Aug 0=
2 16:57:40 xd kernel: pci 0000:03:00.0: [14c3:7961] type 00 class 0x028000<=
br />Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: reg 0x10: [mem 0x60150000=
00-0x60150fffff 64bit pref]<br />Aug 02 16:57:40 xd kernel: pci 0000:03:00=
=2E0: reg 0x18: [mem 0x6015100000-0x6015103fff 64bit pref]<br />Aug 02 16:5=
7:40 xd kernel: pci 0000:03:00.0: reg 0x20: [mem 0x6015104000-0x6015104fff =
64bit pref]<br />Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: supports D1 D=
2<br />Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: PME# supported from D0 =
D1 D2 D3hot D3cold<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PCI br=
idge to [bus 03]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: bridge w=
indow [mem 0x6015000000-0x60151fffff 64bit pref]<br />Aug 02 16:57:40 xd ke=
rnel: ACPI: EC: interrupt unblocked<br />Aug 02 16:57:40 xd kernel: ACPI: E=
C: event unblocked<br />Aug 02 16:57:40 xd kernel: ACPI: EC: EC_CMD/EC_SC=
=3D0x66, EC_DATA=3D0x62<br />Aug 02 16:57:40 xd kernel: ACPI: EC: GPE=3D0x6=
e<br />Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LPCB.EC0_: Boot DSDT EC =
initialization complete<br />Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LP=
CB.EC0_: EC: Used to handle transactions and events<br />Aug 02 16:57:40 xd=
 kernel: iommu: Default domain type: Translated <br />Aug 02 16:57:40 xd ke=
rnel: iommu: DMA domain TLB invalidation policy: lazy mode <br />Aug 02 16:=
57:40 xd kernel: EDAC MC: Ver: 3.0.0<br />Aug 02 16:57:40 xd kernel: Regist=
ered efivars operations<br />Aug 02 16:57:40 xd kernel: NetLabel: Initializ=
ing<br />Aug 02 16:57:40 xd kernel: NetLabel: domain hash size =3D 128<br /=
>Aug 02 16:57:40 xd kernel: NetLabel: protocols =3D UNLABELED CIPSOv4 CALIP=
SO<br />Aug 02 16:57:40 xd kernel: NetLabel: unlabeled traffic allowed by d=
efault<br />Aug 02 16:57:40 xd kernel: PCI: Using ACPI for IRQ routing<br /=
>Aug 02 16:57:40 xd kernel: PCI: pci_cache_line_size set to 64 bytes<br />A=
ug 02 16:57:40 xd kernel: pci 0000:00:1f.5: can't claim BAR 0 [mem 0xfe0100=
00-0xfe010fff]: no compatible bridge window<br />Aug 02 16:57:40 xd kernel:=
 e820: reserve RAM buffer [mem 0x0009f000-0x0009ffff]<br />Aug 02 16:57:40 =
xd kernel: e820: reserve RAM buffer [mem 0x3c70c000-0x3fffffff]<br />Aug 02=
 16:57:40 xd kernel: e820: reserve RAM buffer [mem 0x3c78e000-0x3fffffff]<b=
r />Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 0x40199000-0x4=
3ffffff]<br />Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 0x42=
8af000-0x43ffffff]<br />Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer=
 [mem 0x45000000-0x47ffffff]<br />Aug 02 16:57:40 xd kernel: e820: reserve =
RAM buffer [mem 0x4b0800000-0x4b3ffffff]<br />Aug 02 16:57:40 xd kernel: pc=
i 0000:00:02.0: vgaarb: setting as boot VGA device<br />Aug 02 16:57:40 xd =
kernel: pci 0000:00:02.0: vgaarb: bridge control possible<br />Aug 02 16:57=
:40 xd kernel: pci 0000:00:02.0: vgaarb: VGA device added: decodes=3Dio+mem=
,owns=3Dio+mem,locks=3Dnone<br />Aug 02 16:57:40 xd kernel: vgaarb: loaded<=
br />Aug 02 16:57:40 xd kernel: clocksource: Switched to clocksource tsc-ea=
rly<br />Aug 02 16:57:40 xd kernel: VFS: Disk quotas dquot_6.6.0<br />Aug 0=
2 16:57:40 xd kernel: VFS: Dquot-cache hash table entries: 512 (order 0, 40=
96 bytes)<br />Aug 02 16:57:40 xd kernel: AppArmor: AppArmor Filesystem Ena=
bled<br />Aug 02 16:57:40 xd kernel: pnp: PnP ACPI init<br />Aug 02 16:57:4=
0 xd kernel: system 00:00: [io 0x0680-0x069f] has been reserved<br />Aug 02=
 16:57:40 xd kernel: system 00:00: [io 0x164e-0x164f] has been reserved<br =
/>Aug 02 16:57:40 xd kernel: system 00:00: [io 0xfd60-0xfd63] has been rese=
rved<br />Aug 02 16:57:40 xd kernel: system 00:02: [io 0x1854-0x1857] has b=
een reserved<br />Aug 02 16:57:40 xd kernel: pnp 00:04: disabling [mem 0xc0=
000000-0xcfffffff] because it overlaps 0000:00:02.0 BAR 9 [mem 0x00000000-0=
xdfffffff 64bit pref]<br />Aug 02 16:57:40 xd kernel: system 00:04: [mem 0x=
fedc0000-0xfedc7fff] has been reserved<br />Aug 02 16:57:40 xd kernel: syst=
em 00:04: [mem 0xfeda0000-0xfeda0fff] has been reserved<br />Aug 02 16:57:4=
0 xd kernel: system 00:04: [mem 0xfeda1000-0xfeda1fff] has been reserved<br=
 />Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfed20000-0xfed7ffff] cou=
ld not be reserved<br />Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfed=
90000-0xfed93fff] has been reserved<br />Aug 02 16:57:40 xd kernel: system =
00:04: [mem 0xfed45000-0xfed8ffff] could not be reserved<br />Aug 02 16:57:=
40 xd kernel: system 00:04: [mem 0xfee00000-0xfeefffff] has been reserved<b=
r />Aug 02 16:57:40 xd kernel: system 00:05: [io 0x1800-0x18fe] could not b=
e reserved<br />Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe000000-0x=
fe01ffff] could not be reserved<br />Aug 02 16:57:40 xd kernel: system 00:0=
5: [mem 0xfe04c000-0xfe04ffff] has been reserved<br />Aug 02 16:57:40 xd ke=
rnel: system 00:05: [mem 0xfe050000-0xfe0affff] has been reserved<br />Aug =
02 16:57:40 xd kernel: system 00:05: [mem 0xfe0d0000-0xfe0fffff] has been r=
eserved<br />Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe200000-0xfe7=
fffff] has been reserved<br />Aug 02 16:57:40 xd kernel: system 00:05: [mem=
 0xff000000-0xffffffff] could not be reserved<br />Aug 02 16:57:40 xd kerne=
l: system 00:05: [mem 0xfd000000-0xfd68ffff] has been reserved<br />Aug 02 =
16:57:40 xd kernel: system 00:05: [mem 0xfd6b0000-0xfd6cffff] has been rese=
rved<br />Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfd6f0000-0xfdffff=
ff] has been reserved<br />Aug 02 16:57:40 xd kernel: system 00:06: [io 0x2=
000-0x20fe] has been reserved<br />Aug 02 16:57:40 xd kernel: pnp: PnP ACPI=
: found 8 devices<br />Aug 02 16:57:40 xd kernel: clocksource: acpi_pm: mas=
k: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns<br />Aug 02 16=
:57:40 xd kernel: NET: Registered PF_INET protocol family<br />Aug 02 16:57=
:40 xd kernel: IP idents hash table entries: 262144 (order: 9, 2097152 byte=
s, linear)<br />Aug 02 16:57:40 xd kernel: tcp_listen_portaddr_hash hash ta=
ble entries: 8192 (order: 5, 131072 bytes, linear)<br />Aug 02 16:57:40 xd =
kernel: Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, li=
near)<br />Aug 02 16:57:40 xd kernel: TCP established hash table entries: 1=
31072 (order: 8, 1048576 bytes, linear)<br />Aug 02 16:57:40 xd kernel: TCP=
 bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)<br />Aug =
02 16:57:40 xd kernel: TCP: Hash tables configured (established 131072 bind=
 65536)<br />Aug 02 16:57:40 xd kernel: MPTCP token hash table entries: 163=
84 (order: 6, 393216 bytes, linear)<br />Aug 02 16:57:40 xd kernel: UDP has=
h table entries: 8192 (order: 6, 262144 bytes, linear)<br />Aug 02 16:57:40=
 xd kernel: UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes, line=
ar)<br />Aug 02 16:57:40 xd kernel: NET: Registered PF_UNIX/PF_LOCAL protoc=
ol family<br />Aug 02 16:57:40 xd kernel: NET: Registered PF_XDP protocol f=
amily<br />Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: can't claim BAR 6 [=
mem 0xfff80000-0xffffffff pref]: no compatible bridge window<br />Aug 02 16=
:57:40 xd kernel: pci_bus 0000:00: max bus depth: 1 pci_try_num: 2<br />Aug=
 02 16:57:40 xd kernel: pci 0000:00:02.0: BAR 9: assigned [mem 0x4020000000=
-0x40ffffffff 64bit pref]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:02.0:=
 BAR 7: assigned [mem 0x4010000000-0x4016ffffff 64bit]<br />Aug 02 16:57:40=
 xd kernel: pci 0000:00:15.0: BAR 0: assigned [mem 0x4017000000-0x4017000ff=
f 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:15.3: BAR 0: assigned =
[mem 0x4017001000-0x4017001fff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0=
000:00:19.0: BAR 0: assigned [mem 0x4017002000-0x4017002fff 64bit]<br />Aug=
 02 16:57:40 xd kernel: pci 0000:00:19.1: BAR 0: assigned [mem 0x4017003000=
-0x4017003fff 64bit]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: BAR =
0: assigned [mem 0x4f800000-0x4f800fff]<br />Aug 02 16:57:40 xd kernel: pci=
 0000:01:00.0: BAR 6: no space for [mem size 0x00080000 pref]<br />Aug 02 1=
6:57:40 xd kernel: pci 0000:01:00.0: BAR 6: failed to assign [mem size 0x00=
080000 pref]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PCI bridge t=
o [bus 01]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window =
[io 0x4000-0x4fff]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge=
 window [mem 0x52000000-0x52ffffff]<br />Aug 02 16:57:40 xd kernel: pci 000=
0:00:06.0: bridge window [mem 0x6000000000-0x6011ffffff 64bit pref]<br />Au=
g 02 16:57:40 xd kernel: pci 0000:00:1d.0: PCI bridge to [bus 02]<br />Aug =
02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [io 0x3000-0x3fff]<b=
r />Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [mem 0x53000=
000-0x530fffff]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PCI bridg=
e to [bus 03]<br />Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: bridge wind=
ow [mem 0x6015000000-0x60151fffff 64bit pref]<br />Aug 02 16:57:40 xd kerne=
l: pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]<br />Aug 02 16:57:=
40 xd kernel: pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]<br />Au=
g 02 16:57:40 xd kernel: pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000b=
ffff window]<br />Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 7 [m=
em 0x4f800000-0xbfffffff window]<br />Aug 02 16:57:40 xd kernel: pci_bus 00=
00:00: resource 8 [mem 0x4000000000-0x7fffffffff window]<br />Aug 02 16:57:=
40 xd kernel: pci_bus 0000:01: resource 0 [io 0x4000-0x4fff]<br />Aug 02 16=
:57:40 xd kernel: pci_bus 0000:01: resource 1 [mem 0x52000000-0x52ffffff]<b=
r />Aug 02 16:57:40 xd kernel: pci_bus 0000:01: resource 2 [mem 0x600000000=
0-0x6011ffffff 64bit pref]<br />Aug 02 16:57:40 xd kernel: pci_bus 0000:02:=
 resource 0 [io 0x3000-0x3fff]<br />Aug 02 16:57:40 xd kernel: pci_bus 0000=
:02: resource 1 [mem 0x53000000-0x530fffff]<br />Aug 02 16:57:40 xd kernel:=
 pci_bus 0000:03: resource 2 [mem 0x6015000000-0x60151fffff 64bit pref]<br =
/>Aug 02 16:57:40 xd kernel: PCI: CLS 64 bytes, default 64<br />Aug 02 16:5=
7:40 xd kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB)<b=
r />Aug 02 16:57:40 xd kernel: software IO TLB: mapped [mem 0x0000000037e6c=
000-0x000000003be6c000] (64MB)<br />Aug 02 16:57:40 xd kernel: clocksource:=
 tsc: mask: 0xffffffffffffffff max_cycles: 0x22df1149949, max_idle_ns: 4407=
95312789 ns<br />Aug 02 16:57:40 xd kernel: clocksource: Switched to clocks=
ource tsc<br />Aug 02 16:57:40 xd kernel: Trying to unpack rootfs image as =
initramfs...<br />Aug 02 16:57:40 xd kernel: Initialise system trusted keyr=
ings<br />Aug 02 16:57:40 xd kernel: Key type blacklist registered<br />Aug=
 02 16:57:40 xd kernel: workingset: timestamp_bits=3D36 max_order=3D22 buck=
et_order=3D0<br />Aug 02 16:57:40 xd kernel: zbud: loaded<br />Aug 02 16:57=
:40 xd kernel: integrity: Platform Keyring initialized<br />Aug 02 16:57:40=
 xd kernel: Key type asymmetric registered<br />Aug 02 16:57:40 xd kernel: =
Asymmetric key parser 'x509' registered<br />Aug 02 16:57:40 xd kernel: Fre=
eing initrd memory: 65816K<br />Aug 02 16:57:40 xd kernel: alg: self-tests =
for CTR-KDF (hmac(sha256)) passed<br />Aug 02 16:57:40 xd kernel: Block lay=
er SCSI generic (bsg) driver version 0.4 loaded (major 250)<br />Aug 02 16:=
57:40 xd kernel: io scheduler mq-deadline registered<br />Aug 02 16:57:40 x=
d kernel: pcieport 0000:00:06.0: PME: Signaling with IRQ 120<br />Aug 02 16=
:57:40 xd kernel: pcieport 0000:00:06.0: AER: enabled with IRQ 120<br />Aug=
 02 16:57:40 xd kernel: pcieport 0000:00:06.0: DPC: enabled with IRQ 120<br=
 />Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: DPC: error containment=
 capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL_=
ActiveErr+<br />Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: PME: Sign=
aling with IRQ 121<br />Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: A=
ER: enabled with IRQ 121<br />Aug 02 16:57:40 xd kernel: pcieport 0000:00:1=
d.0: DPC: enabled with IRQ 121<br />Aug 02 16:57:40 xd kernel: pcieport 000=
0:00:1d.0: DPC: error containment capabilities: Int Msg #0, RPExt+ Poisoned=
TLP+ SwTrigger+ RP PIO Log 4, DL_ActiveErr+<br />Aug 02 16:57:40 xd kernel:=
 pcieport 0000:00:1d.1: PME: Signaling with IRQ 122<br />Aug 02 16:57:40 xd=
 kernel: pcieport 0000:00:1d.1: AER: enabled with IRQ 122<br />Aug 02 16:57=
:40 xd kernel: pcieport 0000:00:1d.1: DPC: enabled with IRQ 122<br />Aug 02=
 16:57:40 xd kernel: pcieport 0000:00:1d.1: DPC: error containment capabili=
ties: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL_ActiveErr=
+<br />Aug 02 16:57:40 xd kernel: shpchp: Standard Hot Plug PCI Controller =
Driver version: 0.4<br />Aug 02 16:57:40 xd kernel: Monitor-Mwait will be u=
sed to enter C-1 state<br />Aug 02 16:57:40 xd kernel: Monitor-Mwait will b=
e used to enter C-2 state<br />Aug 02 16:57:40 xd kernel: Monitor-Mwait wil=
l be used to enter C-3 state<br />Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PR=
00: Found 3 idle states<br />Aug 02 16:57:40 xd kernel: smpboot: Estimated =
ratio of average max frequency by base frequency (times 1024): 1621<br />Au=
g 02 16:57:40 xd kernel: thermal LNXTHERM:00: registered as thermal_zone0<b=
r />Aug 02 16:57:40 xd kernel: ACPI: thermal: Thermal Zone [TZ00] (28 C)<br=
 />Aug 02 16:57:40 xd kernel: Serial: 8250/16550 driver, 4 ports, IRQ shari=
ng enabled<br />Aug 02 16:57:40 xd kernel: hpet_acpi_add: no address or irq=
s in _CRS<br />Aug 02 16:57:40 xd kernel: Linux agpgart interface v0.103<br=
 />Aug 02 16:57:40 xd kernel: AMD-Vi: AMD IOMMUv2 functionality not availab=
le on this system - This is not a bug.<br />Aug 02 16:57:40 xd kernel: i804=
2: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1<br />Aug 02 16:57=
:40 xd kernel: i8042: PNP: PS/2 appears to have AUX port disabled, if this =
is incorrect please boot with i8042.nopnp<br />Aug 02 16:57:40 xd kernel: s=
erio: i8042 KBD port at 0x60,0x64 irq 1<br />Aug 02 16:57:40 xd kernel: mou=
sedev: PS/2 mouse device common for all mice<br />Aug 02 16:57:40 xd kernel=
: rtc_cmos 00:01: RTC can wake from S4<br />Aug 02 16:57:40 xd kernel: rtc_=
cmos 00:01: registered as rtc0<br />Aug 02 16:57:40 xd kernel: rtc_cmos 00:=
01: setting system clock to 2022-08-02T15:57:39 UTC (1659455859)<br />Aug 0=
2 16:57:40 xd kernel: rtc_cmos 00:01: alarms up to one month, y3k, 242 byte=
s nvram<br />Aug 02 16:57:40 xd kernel: intel_pstate: Intel P-state driver =
initializing<br />Aug 02 16:57:40 xd kernel: intel_pstate: HWP enabled<br /=
>Aug 02 16:57:40 xd kernel: ledtrig-cpu: registered to indicate activity on=
 CPUs<br />Aug 02 16:57:40 xd kernel: efifb: probing for efifb<br />Aug 02 =
16:57:40 xd kernel: efifb: framebuffer at 0x4000000000, using 8128k, total =
8128k<br />Aug 02 16:57:40 xd kernel: efifb: mode is 1920x1080x32, lineleng=
th=3D7680, pages=3D1<br />Aug 02 16:57:40 xd kernel: efifb: scrolling: redr=
aw<br />Aug 02 16:57:40 xd kernel: efifb: Truecolor: size=3D8:8:8:8, shift=
=3D24:16:8:0<br />Aug 02 16:57:40 xd kernel: Console: switching to colour f=
rame buffer device 240x67<br />Aug 02 16:57:40 xd kernel: fb0: EFI VGA fram=
e buffer device<br />Aug 02 16:57:40 xd kernel: NET: Registered PF_INET6 pr=
otocol family<br />Aug 02 16:57:40 xd kernel: input: AT Translated Set 2 ke=
yboard as /devices/platform/i8042/serio0/input/input0<br />Aug 02 16:57:40 =
xd kernel: Segment Routing with IPv6<br />Aug 02 16:57:40 xd kernel: In-sit=
u OAM (IOAM) with IPv6<br />Aug 02 16:57:40 xd kernel: mip6: Mobile IPv6<br=
 />Aug 02 16:57:40 xd kernel: NET: Registered PF_PACKET protocol family<br =
/>Aug 02 16:57:40 xd kernel: mpls_gso: MPLS GSO support<br />Aug 02 16:57:4=
0 xd kernel: microcode: sig=3D0x806c1, pf=3D0x80, revision=3D0xa4<br />Aug =
02 16:57:40 xd kernel: microcode: Microcode Update Driver: v2.2.<br />Aug 0=
2 16:57:40 xd kernel: resctrl: L2 allocation detected<br />Aug 02 16:57:40 =
xd kernel: IPI shorthand broadcast: enabled<br />Aug 02 16:57:40 xd kernel:=
 sched_clock: Marking stable (533987875, 6323244)-&gt;(552960861, -12649742=
)<br />Aug 02 16:57:40 xd kernel: registered taskstats version 1<br />Aug 0=
2 16:57:40 xd kernel: Loading compiled-in X.509 certificates<br />Aug 02 16=
:57:40 xd kernel: Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1=
f6149f3dd27dfcc5cbb419ea1'<br />Aug 02 16:57:40 xd kernel: Loaded X.509 cer=
t 'Debian Secure Boot Signer 2021 - linux: 4b6ef5abca669825178e052c84667ccb=
c0531f8c'<br />Aug 02 16:57:40 xd kernel: zswap: loaded using pool lzo/zbud=
<br />Aug 02 16:57:40 xd kernel: Key type ._fscrypt registered<br />Aug 02 =
16:57:40 xd kernel: Key type .fscrypt registered<br />Aug 02 16:57:40 xd ke=
rnel: Key type fscrypt-provisioning registered<br />Aug 02 16:57:40 xd kern=
el: Key type encrypted registered<br />Aug 02 16:57:40 xd kernel: AppArmor:=
 AppArmor sha1 policy hashing enabled<br />Aug 02 16:57:40 xd kernel: ima: =
Allocated hash algorithm: sha256<br />Aug 02 16:57:40 xd kernel: ima: No ar=
chitecture policies found<br />Aug 02 16:57:40 xd kernel: evm: Initialising=
 EVM extended attributes:<br />Aug 02 16:57:40 xd kernel: evm: security.sel=
inux<br />Aug 02 16:57:40 xd kernel: evm: security.SMACK64 (disabled)<br />=
Aug 02 16:57:40 xd kernel: evm: security.SMACK64EXEC (disabled)<br />Aug 02=
 16:57:40 xd kernel: evm: security.SMACK64TRANSMUTE (disabled)<br />Aug 02 =
16:57:40 xd kernel: evm: security.SMACK64MMAP (disabled)<br />Aug 02 16:57:=
40 xd kernel: evm: security.apparmor<br />Aug 02 16:57:40 xd kernel: evm: s=
ecurity.ima<br />Aug 02 16:57:40 xd kernel: evm: security.capability<br />A=
ug 02 16:57:40 xd kernel: evm: HMAC attrs: 0x1<br />Aug 02 16:57:40 xd kern=
el: Freeing unused decrypted memory: 2036K<br />Aug 02 16:57:40 xd kernel: =
Freeing unused kernel image (initmem) memory: 2500K<br />Aug 02 16:57:40 xd=
 kernel: Write protecting the kernel read-only data: 24576k<br />Aug 02 16:=
57:40 xd kernel: Freeing unused kernel image (text/rodata gap) memory: 2040=
K<br />Aug 02 16:57:40 xd kernel: Freeing unused kernel image (rodata/data =
gap) memory: 1672K<br />Aug 02 16:57:40 xd kernel: x86/mm: Checked W+X mapp=
ings: passed, no W+X pages found.<br />Aug 02 16:57:40 xd kernel: Run /init=
 as init process<br />Aug 02 16:57:40 xd kernel: with arguments:<br />Aug 0=
2 16:57:40 xd kernel: /init<br />Aug 02 16:57:40 xd kernel: with environmen=
t:<br />Aug 02 16:57:40 xd kernel: HOME=3D/<br />Aug 02 16:57:40 xd kernel:=
 TERM=3Dlinux<br />Aug 02 16:57:40 xd kernel: BOOT_IMAGE=3D/vmlinuz-5.18.0-=
2-amd64<br />Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data=
 block query control method not found<br />Aug 02 16:57:40 xd kernel: wmi_b=
us wmi_bus-PNP0C14:02: WQ data block query control method not found<br />Au=
g 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block query co=
ntrol method not found<br />Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0=
C14:02: WQ data block query control method not found<br />Aug 02 16:57:40 x=
d kernel: acpi PNP0C14:03: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C=
9062910 (first instance was on PNP0C14:00)<br />Aug 02 16:57:40 xd kernel: =
acpi PNP0C14:04: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (f=
irst instance was on PNP0C14:00)<br />Aug 02 16:57:40 xd kernel: input: Lid=
 Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:21/PNP0C0D:00=
/input/input1<br />Aug 02 16:57:40 xd kernel: ACPI: button: Lid Switch [LID=
0]<br />Aug 02 16:57:40 xd kernel: input: Sleep Button as /devices/LNXSYSTM=
:00/LNXSYBUS:00/PNP0C0E:00/input/input2<br />Aug 02 16:57:40 xd kernel: ACP=
I: button: Sleep Button [SLPB]<br />Aug 02 16:57:40 xd kernel: input: Power=
 Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input3<br />Au=
g 02 16:57:40 xd kernel: ACPI: button: Power Button [PWRB]<br />Aug 02 16:5=
7:40 xd kernel: ACPI: battery: Slot [BAT1] (battery present)<br />Aug 02 16=
:57:40 xd kernel: vmd 0000:00:0e.0: PCI host bridge to bus 10000:e0<br />Au=
g 02 16:57:40 xd kernel: pci_bus 10000:e0: root bus resource [bus e0-ff]<br=
 />Aug 02 16:57:40 xd kernel: pci_bus 10000:e0: root bus resource [mem 0x50=
000000-0x51ffffff]<br />Aug 02 16:57:40 xd kernel: pci_bus 10000:e0: root b=
us resource [mem 0x6015302000-0x60153fffff 64bit]<br />Aug 02 16:57:40 xd k=
ernel: pci 10000:e0:17.0: [8086:a0d3] type 00 class 0x010601<br />Aug 02 16=
:57:40 xd kernel: pci 10000:e0:17.0: reg 0x10: [mem 0x00000000-0x00001fff]<=
br />Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x14: [mem 0x0000000=
0-0x000000ff]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x18: =
[io 0x0000-0x0007]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0=
x1c: [io 0x0000-0x0003]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: =
reg 0x20: [io 0x0000-0x001f]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:1=
7.0: reg 0x24: [mem 0x50000000-0x500007ff]<br />Aug 02 16:57:40 xd kernel: =
pci 10000:e0:17.0: PME# supported from D3hot<br />Aug 02 16:57:40 xd kernel=
: pci 10000:e0:1c.0: [8086:09ab] type 00 class 0x088000<br />Aug 02 16:57:4=
0 xd kernel: pci 10000:e0:1c.4: [8086:a0bc] type 01 class 0x060400<br />Aug=
 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PME# supported from D0 D3hot D3c=
old<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PTM enabled (root), =
4ns granularity<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: Primary =
bus is hard wired to 0<br />Aug 02 16:57:40 xd kernel: pci 10000:e1:00.0: [=
2646:500c] type 00 class 0x010802<br />Aug 02 16:57:40 xd kernel: pci 10000=
:e1:00.0: reg 0x10: [mem 0x50100000-0x50103fff 64bit]<br />Aug 02 16:57:40 =
xd kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1]<br />Aug 02 16:57:40 x=
d kernel: pci 10000:e0:1c.4: bridge window [io 0x0000-0x0fff]<br />Aug 02 1=
6:57:40 xd kernel: pci 10000:e0:1c.4: bridge window [mem 0x50100000-0x501ff=
fff]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: Primary bus is hard=
 wired to 0<br />Aug 02 16:57:40 xd kernel: hid: raw HID events driver (C) =
Jiri Kosina<br />Aug 02 16:57:40 xd kernel: r8168: loading out-of-tree modu=
le taints kernel.<br />Aug 02 16:57:40 xd kernel: r8168: module verificatio=
n failed: signature and/or required key missing - tainting kernel<br />Aug =
02 16:57:40 xd kernel: r8168 Gigabit Ethernet driver 8.050.03-NAPI loaded<b=
r />Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: BAR 14: assigned [mem 0x5=
0000000-0x500fffff]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR =
0: assigned [mem 0x50100000-0x50101fff]<br />Aug 02 16:57:40 xd kernel: pci=
 10000:e0:1c.4: BAR 13: no space for [io size 0x1000]<br />Aug 02 16:57:40 =
xd kernel: pci 10000:e0:1c.4: BAR 13: failed to assign [io size 0x1000]<br =
/>Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 5: assigned [mem 0x5010=
2000-0x501027ff]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 1: =
assigned [mem 0x50102800-0x501028ff]<br />Aug 02 16:57:40 xd kernel: pci 10=
000:e0:17.0: BAR 4: no space for [io size 0x0020]<br />Aug 02 16:57:40 xd k=
ernel: pci 10000:e0:17.0: BAR 4: failed to assign [io size 0x0020]<br />Aug=
 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 2: no space for [io size 0x0=
008]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 2: failed to as=
sign [io size 0x0008]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BA=
R 3: no space for [io size 0x0004]<br />Aug 02 16:57:40 xd kernel: pci 1000=
0:e0:17.0: BAR 3: failed to assign [io size 0x0004]<br />Aug 02 16:57:40 xd=
 kernel: pci 10000:e1:00.0: BAR 0: assigned [mem 0x50000000-0x50003fff 64bi=
t]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1=
]<br />Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: bridge window [mem 0x5=
0000000-0x500fffff]<br />Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4:=
 can't derive routing for PCI INT A<br />Aug 02 16:57:40 xd kernel: pciepor=
t 10000:e0:1c.4: PCI INT A: no GSI<br />Aug 02 16:57:40 xd kernel: pcieport=
 10000:e0:1c.4: PME: Signaling with IRQ 143<br />Aug 02 16:57:40 xd kernel:=
 pcieport 10000:e0:1c.4: AER: enabled with IRQ 143<br />Aug 02 16:57:40 xd =
kernel: i801_smbus 0000:00:1f.4: SPD Write Disable is set<br />Aug 02 16:57=
:40 xd kernel: i801_smbus 0000:00:1f.4: SMBus using PCI interrupt<br />Aug =
02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: DPC: enabled with IRQ 143<br=
 />Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: DPC: error containmen=
t capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL=
_ActiveErr+<br />Aug 02 16:57:40 xd kernel: vmd 0000:00:0e.0: Bound to PCI =
domain 10000<br />Aug 02 16:57:40 xd kernel: i2c i2c-0: 2/2 memory slots po=
pulated (from DMI)<br />Aug 02 16:57:40 xd kernel: i2c i2c-0: Successfully =
instantiated SPD at 0x50<br />Aug 02 16:57:40 xd kernel: ACPI: bus type USB=
 registered<br />Aug 02 16:57:40 xd kernel: usbcore: registered new interfa=
ce driver usbfs<br />Aug 02 16:57:40 xd kernel: usbcore: registered new int=
erface driver hub<br />Aug 02 16:57:40 xd kernel: usbcore: registered new d=
evice driver usb<br />Aug 02 16:57:40 xd kernel: ACPI: bus type drm_connect=
or registered<br />Aug 02 16:57:40 xd kernel: r8168: This product is covere=
d by one or more of the following patents: US6,570,884, US6,115,776, and US=
6,327,625.<br />Aug 02 16:57:40 xd kernel: r8168 Copyright (C) 2022 Realtek=
 NIC software team &lt;nicfae@realtek.com&gt; <br />This program comes with=
 ABSOLUTELY NO WARRANTY; for details, please see &lt;http://www.gnu.org/lic=
enses/&gt;. <br />This is free software, and you are welcome to redistribut=
e it under certain conditions; see &lt;http://www.gnu.org/licenses/&gt;. <b=
r />Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:15.0: enabling device (00=
04 -&gt; 0006)<br />Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: xHCI =
Host Controller<br />Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: new =
USB bus registered, assigned bus number 1<br />Aug 02 16:57:40 xd kernel: r=
8168 0000:02:00.0 enp2s0: renamed from eth0<br />Aug 02 16:57:40 xd kernel:=
 idma64 idma64.0: Found Intel integrated DMA 64-bit<br />Aug 02 16:57:40 xd=
 kernel: xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 hci version 0x120 qui=
rks 0x0000000000009810<br />Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14=
=2E0: xHCI Host Controller<br />Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00=
:14.0: new USB bus registered, assigned bus number 2<br />Aug 02 16:57:40 x=
d kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed<=
br />Aug 02 16:57:40 xd kernel: usb usb1: New USB device found, idVendor=3D=
1d6b, idProduct=3D0002, bcdDevice=3D 5.18<br />Aug 02 16:57:40 xd kernel: u=
sb usb1: New USB device strings: Mfr=3D3, Product=3D2, SerialNumber=3D1<br =
/>Aug 02 16:57:40 xd kernel: usb usb1: Product: xHCI Host Controller<br />A=
ug 02 16:57:40 xd kernel: usb usb1: Manufacturer: Linux 5.18.0-2-amd64 xhci=
-hcd<br />Aug 02 16:57:40 xd kernel: usb usb1: SerialNumber: 0000:00:14.0<b=
r />Aug 02 16:57:40 xd kernel: hub 1-0:1.0: USB hub found<br />Aug 02 16:57=
:40 xd kernel: hub 1-0:1.0: 12 ports detected<br />Aug 02 16:57:40 xd kerne=
l: SCSI subsystem initialized<br />Aug 02 16:57:40 xd kernel: usb usb2: New=
 USB device found, idVendor=3D1d6b, idProduct=3D0003, bcdDevice=3D 5.18<br =
/>Aug 02 16:57:40 xd kernel: usb usb2: New USB device strings: Mfr=3D3, Pro=
duct=3D2, SerialNumber=3D1<br />Aug 02 16:57:40 xd kernel: usb usb2: Produc=
t: xHCI Host Controller<br />Aug 02 16:57:40 xd kernel: usb usb2: Manufactu=
rer: Linux 5.18.0-2-amd64 xhci-hcd<br />Aug 02 16:57:40 xd kernel: usb usb2=
: SerialNumber: 0000:00:14.0<br />Aug 02 16:57:40 xd kernel: hub 2-0:1.0: U=
SB hub found<br />Aug 02 16:57:40 xd kernel: hub 2-0:1.0: 4 ports detected<=
br />Aug 02 16:57:40 xd kernel: nvme nvme0: pci function 10000:e1:00.0<br /=
>Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: can't derive routing fo=
r PCI INT A<br />Aug 02 16:57:40 xd kernel: nvme 10000:e1:00.0: PCI INT A: =
no GSI<br />Aug 02 16:57:40 xd kernel: nvme nvme0: missing or invalid SUBNQ=
N field.<br />Aug 02 16:57:40 xd kernel: nvme nvme0: Shutdown timeout set t=
o 10 seconds<br />Aug 02 16:57:40 xd kernel: libata version 3.00 loaded.<br=
 />Aug 02 16:57:40 xd kernel: nvme nvme0: 8/0/0 default/read/poll queues<br=
 />Aug 02 16:57:40 xd kernel: nvme0n1: p1 p2 p3 p4 p5<br />Aug 02 16:57:40 =
xd kernel: ahci 10000:e0:17.0: version 3.0<br />Aug 02 16:57:40 xd kernel: =
ahci 10000:e0:17.0: can't derive routing for PCI INT A<br />Aug 02 16:57:40=
 xd kernel: ahci 10000:e0:17.0: PCI INT A: no GSI<br />Aug 02 16:57:40 xd k=
ernel: ahci 10000:e0:17.0: AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl =
SATA mode<br />Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: flags: 64bit =
ncq sntf pm clo only pio slum part deso sadm sds <br />Aug 02 16:57:40 xd k=
ernel: scsi host0: ahci<br />Aug 02 16:57:40 xd kernel: scsi host1: ahci<br=
 />Aug 02 16:57:40 xd kernel: ata1: SATA max UDMA/133 abar m2048@0x50102000=
 port 0x50102100 irq 154<br />Aug 02 16:57:40 xd kernel: ata2: SATA max UDM=
A/133 abar m2048@0x50102000 port 0x50102180 irq 154<br />Aug 02 16:57:40 xd=
 kernel: intel-lpss 0000:00:15.3: enabling device (0004 -&gt; 0006)<br />Au=
g 02 16:57:40 xd kernel: idma64 idma64.1: Found Intel integrated DMA 64-bit=
<br />Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:19.0: enabling device (=
0004 -&gt; 0006)<br />Aug 02 16:57:40 xd kernel: idma64 idma64.2: Found Int=
el integrated DMA 64-bit<br />Aug 02 16:57:40 xd kernel: intel-lpss 0000:00=
:19.1: enabling device (0004 -&gt; 0006)<br />Aug 02 16:57:40 xd kernel: id=
ma64 idma64.3: Found Intel integrated DMA 64-bit<br />Aug 02 16:57:40 xd ke=
rnel: usb 1-7: new full-speed USB device number 2 using xhci_hcd<br />Aug 0=
2 16:57:40 xd kernel: ata1: SATA link down (SStatus 0 SControl 300)<br />Au=
g 02 16:57:40 xd kernel: ata2: SATA link down (SStatus 0 SControl 300)<br /=
>Aug 02 16:57:40 xd kernel: input: ELAN0515:01 04F3:3142 Mouse as /devices/=
pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:31=
42.0001/input/input4<br />Aug 02 16:57:40 xd kernel: input: ELAN0515:01 04F=
3:3142 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/=
i2c-ELAN0515:01/0018:04F3:3142.0001/input/input6<br />Aug 02 16:57:40 xd ke=
rnel: hid-generic 0018:04F3:3142.0001: input,hidraw0: I2C HID v1.00 Mouse [=
ELAN0515:01 04F3:3142] on i2c-ELAN0515:01<br />Aug 02 16:57:40 xd kernel: u=
sb 1-7: New USB device found, idVendor=3D04f3, idProduct=3D0c4f, bcdDevice=
=3D 1.61<br />Aug 02 16:57:40 xd kernel: usb 1-7: New USB device strings: M=
fr=3D1, Product=3D2, SerialNumber=3D0<br />Aug 02 16:57:40 xd kernel: usb 1=
-7: Product: ELAN:Fingerprint<br />Aug 02 16:57:40 xd kernel: usb 1-7: Manu=
facturer: ELAN<br />Aug 02 16:57:40 xd kernel: checking generic (4000000000=
 7f0000) vs hw (6014000000 1000000)<br />Aug 02 16:57:40 xd kernel: checkin=
g generic (4000000000 7f0000) vs hw (4000000000 10000000)<br />Aug 02 16:57=
:40 xd kernel: fb0: switching to i915 from EFI VGA<br />Aug 02 16:57:40 xd =
kernel: Console: switching to colour dummy device 80x25<br />Aug 02 16:57:4=
0 xd kernel: i915 0000:00:02.0: vgaarb: deactivate vga console<br />Aug 02 =
16:57:40 xd kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddeco=
des=3Dio+mem,decodes=3Dio+mem:owns=3Dio+mem<br />Aug 02 16:57:40 xd kernel:=
 i915 0000:00:02.0: firmware: direct-loading firmware i915/tgl_dmc_ver2_12=
=2Ebin<br />Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: [drm] Finished lo=
ading DMC firmware i915/tgl_dmc_ver2_12.bin (v2.12)<br />Aug 02 16:57:40 xd=
 kernel: [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0<=
br />Aug 02 16:57:40 xd kernel: ACPI: video: [Firmware Bug]: ACPI(PEGP) def=
ines _DOD but not _DOS<br />Aug 02 16:57:40 xd kernel: ACPI: video: Video D=
evice [PEGP] (multi-head: yes rom: no post: no)<br />Aug 02 16:57:40 xd ker=
nel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device=
:00/LNXVIDEO:00/input/input7<br />Aug 02 16:57:40 xd kernel: ACPI: video: V=
ideo Device [GFX0] (multi-head: yes rom: no post: no)<br />Aug 02 16:57:40 =
xd kernel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/=
LNXVIDEO:01/input/input8<br />Aug 02 16:57:40 xd kernel: fbcon: i915drmfb (=
fb0) is primary device<br />Aug 02 16:57:40 xd kernel: Console: switching t=
o colour frame buffer device 240x67<br />Aug 02 16:57:40 xd kernel: i915 00=
00:00:02.0: [drm] fb0: i915drmfb frame buffer device<br />Aug 02 16:57:40 x=
d kernel: usb 1-8: new high-speed USB device number 3 using xhci_hcd<br />A=
ug 02 16:57:40 xd kernel: PM: Image not found (code -22)<br />Aug 02 16:57:=
40 xd kernel: usb 1-8: New USB device found, idVendor=3D0408, idProduct=3Da=
061, bcdDevice=3D 0.04<br />Aug 02 16:57:40 xd kernel: usb 1-8: New USB dev=
ice strings: Mfr=3D1, Product=3D2, SerialNumber=3D0<br />Aug 02 16:57:40 xd=
 kernel: usb 1-8: Product: HD User Facing<br />Aug 02 16:57:40 xd kernel: u=
sb 1-8: Manufacturer: SunplusIT Inc<br />Aug 02 16:57:40 xd kernel: EXT4-fs=
 (nvme0n1p3): mounting ext3 file system using the ext4 subsystem<br />Aug 0=
2 16:57:40 xd kernel: EXT4-fs (nvme0n1p3): mounted filesystem with ordered =
data mode. Quota mode: none.<br />Aug 02 16:57:40 xd kernel: Not activating=
 Mandatory Access Control as /sbin/tomoyo-init does not exist.<br />Aug 02 =
16:57:40 xd kernel: usb 1-10: new high-speed USB device number 4 using xhci=
_hcd<br />Aug 02 16:57:40 xd systemd[1]: Inserted module 'autofs4'<br />Aug=
 02 16:57:40 xd kernel: usb 1-10: New USB device found, idVendor=3D04ca, id=
Product=3D3802, bcdDevice=3D 1.00<br />Aug 02 16:57:40 xd kernel: usb 1-10:=
 New USB device strings: Mfr=3D5, Product=3D6, SerialNumber=3D7<br />Aug 02=
 16:57:40 xd kernel: usb 1-10: Product: Wireless_Device<br />Aug 02 16:57:4=
0 xd kernel: usb 1-10: Manufacturer: MediaTek Inc.<br />Aug 02 16:57:40 xd =
kernel: usb 1-10: SerialNumber: 000000000<br />Aug 02 16:57:40 xd systemd[1=
]: systemd 251.2-7 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +=
IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +F=
IDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11=
KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +=
UTMP +SYSVINIT default-hierarchy=3Dunified)<br />Aug 02 16:57:40 xd systemd=
[1]: Detected architecture x86-64.<br />Aug 02 16:57:40 xd systemd[1]: Host=
name set to &lt;xd&gt;.<br />Aug 02 16:57:40 xd systemd[1]: Queued start jo=
b for default target Graphical Interface.<br />Aug 02 16:57:40 xd systemd[1=
]: Created slice Slice /system/getty.<br />Aug 02 16:57:40 xd systemd[1]: C=
reated slice Slice /system/modprobe.<br />Aug 02 16:57:40 xd systemd[1]: Cr=
eated slice Slice /system/systemd-fsck.<br />Aug 02 16:57:40 xd systemd[1]:=
 Created slice User and Session Slice.<br />Aug 02 16:57:40 xd systemd[1]: =
Started Forward Password Requests to Wall Directory Watch.<br />Aug 02 16:5=
7:40 xd systemd[1]: Set up automount Arbitrary Executable File Formats File=
 System Automount Point.<br />Aug 02 16:57:40 xd systemd[1]: Reached target=
 Local Integrity Protected Volumes.<br />Aug 02 16:57:40 xd systemd[1]: Rea=
ched target User and Group Name Lookups.<br />Aug 02 16:57:40 xd systemd[1]=
: Reached target Remote File Systems.<br />Aug 02 16:57:40 xd systemd[1]: R=
eached target Slice Units.<br />Aug 02 16:57:40 xd systemd[1]: Reached targ=
et Local Verity Protected Volumes.<br />Aug 02 16:57:40 xd systemd[1]: List=
ening on Device-mapper event daemon FIFOs.<br />Aug 02 16:57:40 xd systemd[=
1]: Listening on LVM2 poll daemon socket.<br />Aug 02 16:57:40 xd systemd[1=
]: Listening on Syslog Socket.<br />Aug 02 16:57:40 xd systemd[1]: Listenin=
g on fsck to fsckd communication Socket.<br />Aug 02 16:57:40 xd systemd[1]=
: Listening on initctl Compatibility Named Pipe.<br />Aug 02 16:57:40 xd sy=
stemd[1]: Listening on Journal Audit Socket.<br />Aug 02 16:57:40 xd system=
d[1]: Listening on Journal Socket (/dev/log).<br />Aug 02 16:57:40 xd syste=
md[1]: Listening on Journal Socket.<br />Aug 02 16:57:40 xd systemd[1]: Lis=
tening on udev Control Socket.<br />Aug 02 16:57:40 xd systemd[1]: Listenin=
g on udev Kernel Socket.<br />Aug 02 16:57:40 xd systemd[1]: Mounting Huge =
Pages File System...<br />Aug 02 16:57:40 xd systemd[1]: Mounting POSIX Mes=
sage Queue File System...<br />Aug 02 16:57:40 xd systemd[1]: Mounting Kern=
el Debug File System...<br />Aug 02 16:57:40 xd systemd[1]: Mounting Kernel=
 Trace File System...<br />Aug 02 16:57:40 xd systemd[1]: Finished Availabi=
lity of block devices.<br />Aug 02 16:57:40 xd systemd[1]: Starting Set the=
 console keyboard layout...<br />Aug 02 16:57:40 xd systemd[1]: Starting Cr=
eate List of Static Device Nodes...<br />Aug 02 16:57:40 xd systemd[1]: Sta=
rting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress=
 polling...<br />Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Module=
 configfs...<br />Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Modul=
e drm...<br />Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Module fu=
se...<br />Aug 02 16:57:40 xd systemd[1]: File System Check on Root Device =
was skipped because of a failed condition check (ConditionPathExists=3D!/ru=
n/initramfs/fsck-root).<br />Aug 02 16:57:40 xd systemd[1]: Starting Journa=
l Service...<br />Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Modul=
es...<br />Aug 02 16:57:40 xd systemd[1]: Starting Remount Root and Kernel =
File Systems...<br />Aug 02 16:57:40 xd systemd[1]: Repartition Root Disk w=
as skipped because all trigger condition checks failed.<br />Aug 02 16:57:4=
0 xd systemd[1]: Starting Coldplug All udev Devices...<br />Aug 02 16:57:40=
 xd systemd[1]: Finished Create List of Static Device Nodes.<br />Aug 02 16=
:57:40 xd systemd[1]: modprobe@drm.service: Deactivated successfully.<br />=
Aug 02 16:57:40 xd systemd[1]: Finished Load Kernel Module drm.<br />Aug 02=
 16:57:40 xd systemd[1]: Mounted Huge Pages File System.<br />Aug 02 16:57:=
40 xd systemd[1]: Mounted POSIX Message Queue File System.<br />Aug 02 16:5=
7:40 xd systemd[1]: Mounted Kernel Debug File System.<br />Aug 02 16:57:40 =
xd systemd[1]: Mounted Kernel Trace File System.<br />Aug 02 16:57:40 xd sy=
stemd[1]: modprobe@configfs.service: Deactivated successfully.<br />Aug 02 =
16:57:40 xd systemd[1]: Finished Load Kernel Module configfs.<br />Aug 02 1=
6:57:40 xd systemd[1]: Mounting Kernel Configuration File System...<br />Au=
g 02 16:57:40 xd kernel: EXT4-fs (nvme0n1p3): re-mounted. Quota mode: none=
=2E<br />Aug 02 16:57:40 xd kernel: fuse: init (API version 7.36)<br />Aug =
02 16:57:40 xd systemd[1]: Finished Remount Root and Kernel File Systems.<b=
r />Aug 02 16:57:40 xd systemd[1]: Mounted Kernel Configuration File System=
=2E<br />Aug 02 16:57:40 xd systemd[1]: modprobe@fuse.service: Deactivated =
successfully.<br />Aug 02 16:57:40 xd systemd[1]: Finished Load Kernel Modu=
le fuse.<br />Aug 02 16:57:40 xd systemd[1]: Mounting FUSE Control File Sys=
tem...<br />Aug 02 16:57:40 xd systemd[1]: Platform Persistent Storage Arch=
ival was skipped because of a failed condition check (ConditionDirectoryNot=
Empty=3D/sys/fs/pstore).<br />Aug 02 16:57:40 xd systemd[1]: Starting Load/=
Save Random Seed...<br />Aug 02 16:57:40 xd systemd[1]: Starting Create Sys=
tem Users...<br />Aug 02 16:57:40 xd systemd[1]: Mounted FUSE Control File =
System.<br />Aug 02 16:57:40 xd kernel: lp: driver loaded but no devices fo=
und<br />Aug 02 16:57:40 xd kernel: ppdev: user-space parallel port driver<=
br />Aug 02 16:57:40 xd systemd[1]: Finished Load/Save Random Seed.<br />Au=
g 02 16:57:40 xd systemd[1]: First Boot Complete was skipped because of a f=
ailed condition check (ConditionFirstBoot=3Dyes).<br />Aug 02 16:57:40 xd s=
ystemd[1]: Started Journal Service.<br />Aug 02 16:57:41 xd systemd-journal=
d[304]: Received client request to flush runtime journal.<br />Aug 02 16:57=
:41 xd kernel: nvidia: module license 'NVIDIA' taints kernel.<br />Aug 02 1=
6:57:41 xd kernel: Disabling lock debugging due to kernel taint<br />Aug 02=
 16:57:41 xd kernel: nvidia-nvlink: Nvlink Core is being initialized, major=
 device number 242<br />Aug 02 16:57:41 xd kernel: <br />Aug 02 16:57:41 xd=
 kernel: nvidia 0000:01:00.0: enabling device (0006 -&gt; 0007)<br />Aug 02=
 16:57:41 xd kernel: input: Acer Wireless Radio Control as /devices/LNXSYST=
M:00/10251229:00/input/input9<br />Aug 02 16:57:41 xd kernel: NVRM: loading=
 NVIDIA UNIX x86_64 Kernel Module 470.129.06 Thu May 12 22:52:02 UTC 2022<b=
r />Aug 02 16:57:41 xd kernel: intel_pmc_core INT33A1:00: initialized<br />=
Aug 02 16:57:41 xd kernel: input: Intel HID events as /devices/platform/INT=
C1051:00/input/input10<br />Aug 02 16:57:41 xd kernel: intel-hid INTC1051:0=
0: platform supports 5 button array<br />Aug 02 16:57:41 xd kernel: input: =
Intel HID 5 button array as /devices/platform/INTC1051:00/input/input11<br =
/>Aug 02 16:57:41 xd kernel: ACPI: AC: AC Adapter [ACAD] (on-line)<br />Aug=
 02 16:57:41 xd kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting =
Driver for UNIX platforms 470.129.06 Thu May 12 22:42:45 UTC 2022<br />Aug =
02 16:57:41 xd kernel: Adding 31182844k swap on /dev/nvme0n1p4. Priority:-2=
 extents:1 across:31182844k SSFS<br />Aug 02 16:57:41 xd kernel: mc: Linux =
media interface: v0.10<br />Aug 02 16:57:41 xd kernel: [drm] [nvidia-drm] [=
GPU ID 0x00000100] Loading driver<br />Aug 02 16:57:41 xd kernel: [drm] Ini=
tialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1<br />Aug 02 =
16:57:41 xd kernel: mei_me 0000:00:16.0: enabling device (0000 -&gt; 0002)<=
br />Aug 02 16:57:41 xd kernel: videodev: Linux video capture interface: v2=
=2E00<br />Aug 02 16:57:41 xd kernel: usb 1-8: Found UVC 1.00 device HD Use=
r Facing (0408:a061)<br />Aug 02 16:57:41 xd kernel: input: HD User Facing:=
 HD User Facing as /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/=
input12<br />Aug 02 16:57:41 xd kernel: usbcore: registered new interface d=
river uvcvideo<br />Aug 02 16:57:41 xd kernel: ee1004 0-0050: 512 byte EE10=
04-compliant SPD EEPROM, read-only<br />Aug 02 16:57:41 xd kernel: iTCO_ven=
dor_support: vendor-support=3D0<br />Aug 02 16:57:41 xd kernel: iTCO_wdt iT=
CO_wdt: Found a Intel PCH TCO device (Version=3D6, TCOBASE=3D0x0400)<br />A=
ug 02 16:57:41 xd kernel: iTCO_wdt iTCO_wdt: initialized. heartbeat=3D30 se=
c (nowayout=3D0)<br />Aug 02 16:57:41 xd kernel: acer_wmi: Acer Laptop ACPI=
-WMI Extras<br />Aug 02 16:57:41 xd kernel: acer_wmi: Function bitmap for C=
ommunication Button: 0x801<br />Aug 02 16:57:41 xd kernel: input: Acer WMI =
hotkeys as /devices/virtual/input/input13<br />Aug 02 16:57:41 xd kernel: a=
lg: No test for fips(ansi_cprng) (fips_ansi_cprng)<br />Aug 02 16:57:41 xd =
kernel: input: ELAN0515:01 04F3:3142 Mouse as /devices/pci0000:00/0000:00:1=
5.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input1=
4<br />Aug 02 16:57:41 xd kernel: input: ELAN0515:01 04F3:3142 Touchpad as =
/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/001=
8:04F3:3142.0001/input/input16<br />Aug 02 16:57:41 xd kernel: hid-multitou=
ch 0018:04F3:3142.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0515:01 04F=
3:3142] on i2c-ELAN0515:01<br />Aug 02 16:57:41 xd kernel: input: PC Speake=
r as /devices/platform/pcspkr/input/input17<br />Aug 02 16:57:41 xd kernel:=
 resource sanity check: requesting [mem 0xfedc0000-0xfedcdfff], which spans=
 more than pnp 00:04 [mem 0xfedc0000-0xfedc7fff]<br />Aug 02 16:57:41 xd ke=
rnel: caller __uncore_imc_init_box+0xc1/0x100 [intel_uncore] mapping multip=
le BARs<br />Aug 02 16:57:41 xd kernel: pstore: Using crash dump compressio=
n: deflate<br />Aug 02 16:57:41 xd kernel: pstore: Registered efi as persis=
tent store backend<br />Aug 02 16:57:41 xd kernel: cfg80211: Loading compil=
ed-in X.509 certificates for regulatory database<br />Aug 02 16:57:41 xd ke=
rnel: cfg80211: Loaded X.509 cert 'benh@debian.org: 577e021cb980e0e820821ba=
7b54b4961b8b4fadf'<br />Aug 02 16:57:41 xd kernel: cfg80211: Loaded X.509 c=
ert 'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'<br =
/>Aug 02 16:57:41 xd kernel: cfg80211: Loaded X.509 cert 'sforshee: 00b28dd=
f47aef9cea7'<br />Aug 02 16:57:41 xd kernel: platform regulatory.0: firmwar=
e: direct-loading firmware regulatory.db<br />Aug 02 16:57:41 xd kernel: pl=
atform regulatory.0: firmware: direct-loading firmware regulatory.db.p7s<br=
 />Aug 02 16:57:41 xd kernel: snd_hda_intel 0000:00:1f.3: DSP detected with=
 PCI class/subclass/prog-if info 0x040100<br />Aug 02 16:57:41 xd kernel: s=
nd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using S=
OF driver<br />Aug 02 16:57:41 xd kernel: cryptd: max_cpu_qlen set to 1000<=
br />Aug 02 16:57:41 xd kernel: AVX2 version of gcm_enc/dec engaged.<br />A=
ug 02 16:57:41 xd kernel: AES CTR mode by8 optimization enabled<br />Aug 02=
 16:57:41 xd kernel: Bluetooth: Core ver 2.22<br />Aug 02 16:57:41 xd kerne=
l: NET: Registered PF_BLUETOOTH protocol family<br />Aug 02 16:57:41 xd ker=
nel: Bluetooth: HCI device and connection manager initialized<br />Aug 02 1=
6:57:41 xd kernel: Bluetooth: HCI socket layer initialized<br />Aug 02 16:5=
7:41 xd kernel: Bluetooth: L2CAP socket layer initialized<br />Aug 02 16:57=
:41 xd kernel: Bluetooth: SCO socket layer initialized<br />Aug 02 16:57:41=
 xd kernel: mt7921e 0000:03:00.0: enabling device (0000 -&gt; 0002)<br />Au=
g 02 16:57:41 xd kernel: usbcore: registered new interface driver btusb<br =
/>Aug 02 16:57:41 xd kernel: bluetooth hci0: firmware: direct-loading firmw=
are mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin<br />Aug 02 16:57:41 xd kernel:=
 mt7921e 0000:03:00.0: ASIC revision: 79610010<br />Aug 02 16:57:41 xd kern=
el: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subcl=
ass/prog-if info 0x040100<br />Aug 02 16:57:41 xd kernel: sof-audio-pci-int=
el-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF dri=
ver<br />Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: e=
nabling device (0000 -&gt; 0002)<br />Aug 02 16:57:41 xd kernel: sof-audio-=
pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x=
040100<br />Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f=
=2E3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])<br />Au=
g 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: firmware: direct-loading fir=
mware mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin<br />Aug 02 16:57:41 xd ke=
rnel: mt7921e 0000:03:00.0: HW/SW Version: 0x8a108a10, Build Time: 20210612=
122717a<br />Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f=
=2E3: use msi interrupt mode<br />Aug 02 16:57:41 xd kernel: mt7921e 0000:0=
3:00.0: firmware: direct-loading firmware mediatek/WIFI_RAM_CODE_MT7961_1=
=2Ebin<br />Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: WM Firmware Ve=
rsion: ____010000, Build Time: 20210612122753<br />Aug 02 16:57:41 xd kerne=
l: sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5<br />Aug =
02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA mach=
ine driver skl_hda_dsp_generic now<br />Aug 02 16:57:41 xd kernel: sof-audi=
o-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2<br />Aug 02 =
16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: firmware: failed =
to load intel/sof/sof-tgl.ri (-2)<br />Aug 02 16:57:41 xd kernel: firmware_=
class: See https://wiki.debian.org/Firmware for information about missing f=
irmware<br />Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f=
=2E3: Direct firmware load for intel/sof/sof-tgl.ri failed with error -2<br=
 />Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: error: =
sof firmware file is missing, you might need to<br />Aug 02 16:57:41 xd ker=
nel: sof-audio-pci-intel-tgl 0000:00:1f.3: download it from https://github=
=2Ecom/thesofproject/sof-bin/<br />Aug 02 16:57:41 xd kernel: sof-audio-pci=
-intel-tgl 0000:00:1f.3: error: failed to load DSP firmware -2<br />Aug 02 =
16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: error: sof_probe_=
work failed err: -2<br />Aug 02 16:57:41 xd kernel: mei_hdcp 0000:00:16.0-b=
638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_comp=
onent_ops [i915])<br />Aug 02 16:57:41 xd kernel: EXT4-fs (nvme0n1p2): moun=
ting ext2 file system using the ext4 subsystem<br />Aug 02 16:57:41 xd kern=
el: EXT4-fs (nvme0n1p2): mounted filesystem without journal. Quota mode: no=
ne.<br />Aug 02 16:57:41 xd kernel: ext2 filesystem being mounted at /boot =
supports timestamps until 2038 (0x7fffffff)<br />Aug 02 16:57:41 xd kernel:=
 intel_rapl_msr: PL4 support detected.<br />Aug 02 16:57:41 xd kernel: inte=
l_rapl_common: Found RAPL domain package<br />Aug 02 16:57:41 xd kernel: in=
tel_rapl_common: Found RAPL domain core<br />Aug 02 16:57:41 xd kernel: int=
el_rapl_common: Found RAPL domain uncore<br />Aug 02 16:57:41 xd kernel: au=
dit: type=3D1400 audit(1659455861.940:2): apparmor=3D"STATUS" operation=3D"=
profile_load" profile=3D"unconfined" name=3D"libreoffice-senddoc" pid=3D615=
 comm=3D"apparmor_parser"<br />Aug 02 16:57:41 xd kernel: audit: type=3D140=
0 audit(1659455861.940:3): apparmor=3D"STATUS" operation=3D"profile_load" p=
rofile=3D"unconfined" name=3D"libreoffice-xpdfimport" pid=3D617 comm=3D"app=
armor_parser"<br />Aug 02 16:57:41 xd kernel: audit: type=3D1400 audit(1659=
455861.940:4): apparmor=3D"STATUS" operation=3D"profile_load" profile=3D"un=
confined" name=3D"libreoffice-oosplash" pid=3D614 comm=3D"apparmor_parser"<=
br />Aug 02 16:57:41 xd kernel: audit: type=3D1400 audit(1659455861.944:5):=
 apparmor=3D"STATUS" operation=3D"profile_load" profile=3D"unconfined" name=
=3D"nvidia_modprobe" pid=3D611 comm=3D"apparmor_parser"<br />Aug 02 16:57:4=
1 xd kernel: audit: type=3D1400 audit(1659455861.944:6): apparmor=3D"STATUS=
" operation=3D"profile_load" profile=3D"unconfined" name=3D"nvidia_modprobe=
//kmod" pid=3D611 comm=3D"apparmor_parser"<br />Aug 02 16:57:41 xd kernel: =
audit: type=3D1400 audit(1659455861.944:7): apparmor=3D"STATUS" operation=
=3D"profile_load" profile=3D"unconfined" name=3D"/usr/bin/man" pid=3D613 co=
mm=3D"apparmor_parser"<br />Aug 02 16:57:41 xd kernel: audit: type=3D1400 a=
udit(1659455861.944:8): apparmor=3D"STATUS" operation=3D"profile_load" prof=
ile=3D"unconfined" name=3D"man_filter" pid=3D613 comm=3D"apparmor_parser"<b=
r />Aug 02 16:57:41 xd kernel: audit: type=3D1400 audit(1659455861.944:9): =
apparmor=3D"STATUS" operation=3D"profile_load" profile=3D"unconfined" name=
=3D"man_groff" pid=3D613 comm=3D"apparmor_parser"<br />Aug 02 16:57:41 xd k=
ernel: audit: type=3D1400 audit(1659455861.944:10): apparmor=3D"STATUS" ope=
ration=3D"profile_load" profile=3D"unconfined" name=3D"lsb_release" pid=3D6=
10 comm=3D"apparmor_parser"<br />Aug 02 16:57:42 xd kernel: ACPI Warning: \=
_SB.PC00.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI r=
equires [Package] (20211217/nsarguments-61)<br />Aug 02 16:57:42 xd kernel:=
 Bluetooth: BNEP (Ethernet Emulation) ver 1.3<br />Aug 02 16:57:42 xd kerne=
l: Bluetooth: BNEP filters: protocol multicast<br />Aug 02 16:57:42 xd kern=
el: Bluetooth: BNEP socket layer initialized<br />Aug 02 16:57:42 xd kernel=
: enp2s0: 0xffff9d4c400f9000, 08:8f:c3:4f:86:c5, IRQ 142<br />Aug 02 16:57:=
42 xd kernel: NET: Registered PF_QIPCRTR protocol family<br />Aug 02 16:57:=
42 xd kernel: mt7921e 0000:03:00.0 wlp3s0: renamed from wlan0<br />Aug 02 1=
6:57:44 xd kernel: Bluetooth: hci0: Device setup in 2593900 usecs<br />Aug =
02 16:57:44 xd kernel: NET: Registered PF_ALG protocol family<br />Aug 02 1=
6:57:44 xd kernel: Bluetooth: RFCOMM TTY layer initialized<br />Aug 02 16:5=
7:44 xd kernel: Bluetooth: RFCOMM socket layer initialized<br />Aug 02 16:5=
7:44 xd kernel: Bluetooth: RFCOMM ver 1.11<br />Aug 02 16:57:44 xd kernel: =
rfkill: input handler disabled<br />Aug 02 16:57:49 xd kernel: kauditd_prin=
tk_skb: 12 callbacks suppressed<br />Aug 02 16:57:49 xd kernel: audit: type=
=3D1400 audit(1659455869.340:23): apparmor=3D"DENIED" operation=3D"capable"=
 profile=3D"/usr/sbin/cups-browsed" pid=3D1199 comm=3D"cups-browsed" capabi=
lity=3D23 capname=3D"sys_nice"<br />Aug 02 16:58:02 xd kernel: rfkill: inpu=
t handler enabled<br />Aug 02 16:58:04 xd kernel: rfkill: input handler dis=
abled</p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p id=3D"reply-intro">On 2022-08-02 16:53, Jan Beulich wrote:</p>
<blockquote type=3D"cite" style=3D"padding: 0 0.4em; border-left: #1010ff 2=
px solid; margin: 0">
<div class=3D"pre" style=3D"margin: 0; padding: 0; font-family: monospace">=
On 02.08.2022 17:40, Bruno wrote:
<blockquote type=3D"cite" style=3D"padding: 0 0.4em; border-left: #1010ff 2=
px solid; margin: 0">I&rsquo;m talking about booting on the host Xen (&ldqu=
o;Linux with Xen&rdquo;) - goes to an initramfs prompt.<br /><br />I don&rs=
quo;t know how to get to this hypervisor log. Maybe not the case as I am at=
tempting the boot on the host linux with Xen. There is no /var/log - only c=
ache and lock</blockquote>
<br />Generally the hypervisor log is obtained via "xl dmesg" (likely not a=
n<br />option for you when you end up on an initramfs prompt) or a serial<b=
r />cable. How do you obtain the kernel log (there was one posted on<br />x=
en-users)?<br /><br />
<blockquote type=3D"cite" style=3D"padding: 0 0.4em; border-left: #1010ff 2=
px solid; margin: 0">I can list the hard drive partitions under /dev (nvme0=
n1p1-5), but I cannot mount them. I cannot access a thumb drive either /dev=
/block, when mounted has two strange symlinks to ../sda1 (8:0 and 1:8). Thi=
s is a bit frustrating because it does not allow me to export dmesg or othe=
r info.<br /><br />Im not receiving the error messages on screen before ini=
tramfs, they are hidden, but I do get this message:<br /><br />&nbsp;&nbsp;=
&nbsp;&nbsp;Gave up waiting for suspend/resume device<br />&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;Gave up waiting for root file system device. &nbsp;Common pro=
blems:<br />Boot args (cat /proc/cmdline) - Check rootdelay=3D (did the sys=
tem wait long enough?)<br />Missing modules (cat /proc/modules; ls /dev)<br=
 />ALERT! UUID=3D0123abc does not exist. Dropping to a shell!<br /><br />On=
 the dmesg, I got the ACPI errors:<br /><br />ACPI BIOS Error<br />(bug): F=
ailure creating named ob<br />I_SB.PCOO.XHCI.RHUB.HS05._UPC], AE ALREADY _E=
XISTS (Z0211217/dsuloadZ-326)<br />ACPI Error: AE_ALREADY EXISTS, During na=
me<br />slookun/catalog<br />-9451181 ACPI: Skipping parse of AML opcode: O=
pcodeNane unavailable<br />(20211217/psobject-z20)<br />(0x0014)<br /><br /=
>Repeated several times<br /><br />ACPI: Skipping parse of AML opcode: Dpco=
deNane unavailable (0x0014)</blockquote>
<br />Right - I've seen those. These were why I did ask for a pair of kerne=
l logs<br />(with and without Xen), to put them side by side and see which =
of the errors<br />are common (and hence likely of no interest to resolve y=
our issue).<br /><br />
<blockquote type=3D"cite" style=3D"padding: 0 0.4em; border-left: #1010ff 2=
px solid; margin: 0">Latter on the dmesg I got repeated errors like this:<b=
r /><br />RIP: 0033:0x7 969a2e2&auml;c9<br />RSP: 002b:00007ffaff421a28 FLA=
GS: 00000246 RIG RAX: 0000000000000139<br />RAX: Efffffffffffffda RBX: 0000=
5582Bb061d10 RCX: 00007 969aZeZ&auml;c9<br />244.4412241 RDX:000000000RSI: =
000071969a49bfOd RDI: 00000000000000<br />RB: 0000000000020000 ROB: 0000000=
000000000 R09: 000055828b04c290<br />R10: 000000000000000c R11: 00000000000=
00246 R12: 00007f969a49bf&reg;d<br />R13: 000000GBOOOOOOOO R14: 000055B28b0=
60aZO R15: 00005582Bb06110<br /><br />(/TASK&gt;<br />INFO: task systemd-ud=
evd: 190 blocked for more than 120 seconds.</blockquote>
<br />Besides some of the characters looking scrambled, I can spot nothing =
like<br />this in<br /><a href=3D"https://lists.xenproject.org/archives/htm=
l/xen-users/2022-07/msg00057.html" target=3D"_blank" rel=3D"noopener norefe=
rrer">https://lists.xenproject.org/archives/html/xen-users/2022-07/msg00057=
=2Ehtml</a><br /><br />Anyway, my request stands: Please post the three nam=
ed logs here.<br /><br />Jan</div>
</blockquote>
<p><br /></p>

</body></html>

--=_d5aa6b6b28cddfb804c3c1dc10b6b8eb--


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 16:09:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 16:09:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379417.612857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIuS4-0003SH-LY; Tue, 02 Aug 2022 16:09:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379417.612857; Tue, 02 Aug 2022 16:09:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIuS4-0003SA-Ih; Tue, 02 Aug 2022 16:09:00 +0000
Received: by outflank-mailman (input) for mailman id 379417;
 Tue, 02 Aug 2022 16:08:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MHYI=YG=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oIuS3-0003Rv-Lu
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 16:08:59 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70041.outbound.protection.outlook.com [40.107.7.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a90dd10-127d-11ed-bd2d-47488cf2e6aa;
 Tue, 02 Aug 2022 18:08:58 +0200 (CEST)
Received: from DU2PR04MB9067.eurprd04.prod.outlook.com (2603:10a6:10:2f2::10)
 by AS4PR04MB9364.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Tue, 2 Aug
 2022 16:08:56 +0000
Received: from DU2PR04MB9067.eurprd04.prod.outlook.com
 ([fe80::61d5:254b:6ed7:edf5]) by DU2PR04MB9067.eurprd04.prod.outlook.com
 ([fe80::61d5:254b:6ed7:edf5%4]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022
 16:08:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a90dd10-127d-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JrTUVIAJrDvdEQPkKysS7YByXqnn3TnjviKkYShp8dU1LoaAgzkvhcvC7rqrUpeWtE3qsUheTP7+/PCusJk9Gtw4SV1XPypfzEt3Df6VjX0TlERPfwExVGlgacNhsQz/3Z53daCTq9yxxUJ0iJcnCrZ1t+UW4cKvmJOIrQT/dRIc+8UOWbgY50PG1y5pK27vTKEmJ9GbT+muUTF3JzMC2pM8ZZR9GoEJhvybrKS7MDkFtN0VbVHQY2p1nEohgbqHL/Ooezb4TT9QgB0+6Yc4I2IjXQPJ8tuqyjl/N+N2De18OxfRhYelYb+u4w6kozSCk7laGEv/jlwiuCrTaomMOA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xDjXMzK7YB6oJPeFBRAOczX/sA16v7PRIDTy+9rNuBk=;
 b=ZvvzAtmVuE4EMFGKLPjLlbM7vaBeXsVgEyq+AY0dOL8N3a17NXCdsFOR31eHrK4S68No0mBITM7Tg6xmzna5+B7aZWELXG15vCy3QDt+Mk/JadCgDC+YcHN1Q49gBwI3A9w+eS6AiKLVAEDkOI8Uadc5p+io/nx4Tx+pBCS8hNFaCDiz3fujSaHIderJFPRL36jn0FuEFOSySd3peTo1xwQoY+NRwih+/pA24W57cHUNQUfVedAZwhuFmkINnmgmduaq9DrI6/d2oZC7NZj5E8qfqimioqhzghJFMbXBk9vLreGdodYmuga7oqLSkDej2hee3XIqbHFH+4bDAYJfBA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xDjXMzK7YB6oJPeFBRAOczX/sA16v7PRIDTy+9rNuBk=;
 b=apAr9KxW3DBPa8VTYDX8tH6r93TaD79VPhyQ70z9zDLl6+TYHC6wDyKZJ0fbGzfFUDRwJLQBdY9EjpZEA620NUiv1HLzyLkZ2uFVgkUgzbKDiT73BSftYq1752sHKCsxUeCMOi0GTgMDe/iXW0B2QR+2I6ZVUctkBnG8763mqhM0IY6YW1ejexzo5wGQo2N4F4fCuFRVWooswpRP4azdzv3Z3xfkIzNBNM0Nv8pTsQBjbAofl5I+ixtmIUUbpVynL6jHxp84jlu/nfABiVnpYCsBcmN9xFvmJXpzDr1obpOkCSiGNmMFoXKL+2gni97HLakyaeaIvsr9GC3FEPWong==
From: Dario Faggioli <dfaggioli@suse.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/2] xen: sched: dom0_vcpus_pin should only affect dom0
Thread-Topic: [PATCH 1/2] xen: sched: dom0_vcpus_pin should only affect dom0
Thread-Index: AQHYpoAcjylCfZ/IlE+KXLo2d64v4K2bx1SA
Date: Tue, 2 Aug 2022 16:08:56 +0000
Message-ID: <228c70b853a8d790f1e1cafc2bbef00b5f845606.camel@suse.com>
References: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
	 <165944829054.3531.818489021551433260.stgit@tumbleweed.Wayrath>
	 <473a337f-3211-c588-9398-b9f9a18926e5@suse.com>
In-Reply-To: <473a337f-3211-c588-9398-b9f9a18926e5@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.44.3 (by Flathub.org) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c25d433b-63bb-46ec-7d5b-08da74a14d7d
x-ms-traffictypediagnostic: AS4PR04MB9364:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 S74Ccn73LIesZzCyf2xNh91ZtLMRH06xeZMeZX5szdPBDd7AiL5usMN7j+rYB/vAiQ5ANE26RkrRC8h4mysP4vRd/7mNP0Z7+JMA1Zixr5YgsSn7OxhghFWiBYDzFNGx4mcntYD1mqfVjTsZbdUOX5m3RNNYcqMKbv6YOl5gi+9nDq1spifzrqgote1MvTHgJ3vFogPcn5fLoVhNvWnn1edFckpg+2zbv+0eBKnbife+/bv92CLYq40jFdigfxYp33yDav5qP64z4RexN3lk+Y643TPr4sffcb+diapZqQB37B3WxU5JR0TFHIngsVkHEkV3v7/UuCCXlAS5afdNf6+30oEIgCxOCtUi3Y/ZX4NiA+IQNVbmYQY9NAYE07EmXFntDMBOI2xv/HXAIq2QorqKLGdoF7yI2hqW5tB9XVjbNs/kgFBj+9p4RwbAYRodHD1g2v11mQIJ2PIrc97HbsrgxJYpz2JrB9pCi8ntxkVhQMA8jVoKaCOUxXbhPXE0frBVctRfhAFqNwXHWcZUhMKqd4+3evQe5eYxZPhhn8LaFNR/xwUa632+t0jGQJWbMrtC1Hek7D1BdXNRQ5TbWcThkV8ATuskTBvGN+DuPXsq6HQpbUJCvO74NvkjXhy6CEAyA+zCXBq6B1LzAbLgmA0VK1q9oiNNuII90+tn+KFTk8OFUSA6D2txnRO049vfnknlDvyMNX15sgWMBbIlmInPIPAoeXEI1AWg5PMc4YsKgFnRKL7CCvPVkhcWMgQqnsSFKAD2E9dULyi8x/Lr2O/Dgk9SmzZeuMJVorHw7iwhqqnDAnGBcFbSsD/yoIgoNLub9mPAWneOYBTdGh/tF4X9Z7USzossLPv7xPBwYqihLhIQZysSJpiCSKno0uc9
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB9067.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(39860400002)(376002)(346002)(396003)(136003)(2906002)(2616005)(37006003)(966005)(6486002)(186003)(8936002)(54906003)(38100700002)(6862004)(122000001)(6636002)(86362001)(316002)(66476007)(91956017)(64756008)(4326008)(66446008)(66946007)(76116006)(53546011)(8676002)(5660300002)(6512007)(6506007)(99936003)(478600001)(83380400001)(26005)(71200400001)(41300700001)(38070700005)(66556008)(36756003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dC93Y2JXcERmZUxOWlN5OW5QbndvT3NoWVJ6azRQWlFCRjJMTWFLcTZBSEdu?=
 =?utf-8?B?WURGQ1pKOGYyMEhiajY2OGE4aTdhbXpkN1B0M3gyK1ltdzh1YlVteS9idWtV?=
 =?utf-8?B?OVIrQnlSUFJFYXFIN202YzdQUkg3QWRsT21mWlE3S1llOFVNK2JGUmlpdXZ4?=
 =?utf-8?B?dVRuY0oyYzMwOEtibVp6OWVsM3E5aTFQT0ZidDVSOFREemlESy9abUJPV1p6?=
 =?utf-8?B?aC9NOEQ0SVQxSFNsMktXZXF0bGFEQ1VJeEZBK0s2SUpJZUVTd2EvUEtINVM4?=
 =?utf-8?B?bGlOako3Y20vT0RxczFMaDI5cisyVHhObUVTanhRYzhZSHd4dXpkV1kyVmcy?=
 =?utf-8?B?YStYRmEwWVJxZCtPaUNPd1pHbFhvY1hyMEtDNmhpNHpWUk9sWndaZ2JkQTlj?=
 =?utf-8?B?eWYvYWxzdm9WcjBOZ0VsbjRnR0JITmNvcWhDY1B1bVlvUUdNYnJ6MmtSWHBV?=
 =?utf-8?B?Y1dLVyt3SmcxenBKZi82SGNNb0huUVJyUzRCbDBZRUtERUFFVGxhWmd1Ui9P?=
 =?utf-8?B?RERJLzBydlBhZHppV1J5NDZJM29BME45alkxT1RpaEtFNWhna1hxQXNmay9t?=
 =?utf-8?B?b1diY2ZTTWNkZVNHaUVGekhPRDZhV2k2VWRWMFpzM3d1YkpLaGh2V1FyeTNy?=
 =?utf-8?B?RFQ2VmlXTXdHZnJWaVF4bEUyTlh5TFN3dURtN0YwUzZYUmxTalB3dE9zbDhZ?=
 =?utf-8?B?SDdCMHAyTERCcjRTTzUyaENCbFpQdDdHWlBqMkJOSzBBeXJGRU5BT203ZVEz?=
 =?utf-8?B?K3R5ck9uQXRpTmhBSzZwQS9ZTW8xNDd0cTBUWlJCWW1sMjk2OWVGc1ZCalNy?=
 =?utf-8?B?Zi8wZ1dIZ0F3cjNKR2sxT0JGR2owSjhYSFhjQmJ2ajZ1UjdrY1kzU01XTXRv?=
 =?utf-8?B?TXdtdzhTLzVmMEtBR2NmcGdTUWRhYmJEc1BsUlk1dTZHU1VFSUtGTS92SDdM?=
 =?utf-8?B?VzRzckY1SHhWdUM2aHJVVExFdW85eUJLZDl0aTd0cGV5MDFCZk1rdU40aVZK?=
 =?utf-8?B?THdMd1dkVktKS01KNWk2aVVmS2xIWGRKOVB2eEtNdmlESjRtSEtMejYySE9V?=
 =?utf-8?B?SlcyTytrR2cvYWJlSXRmeDBXRlNodGJibnE0YXQ5TDNkYmFCR2F4eTNQSjNx?=
 =?utf-8?B?MHhZYUVaNkVETkgzTTJNcldrc0s4OFVYaXlyZk12OGlsazNWa01JVVJqMmMy?=
 =?utf-8?B?elQ5ak1CWGRzMjU2NGlUVjYydEJlVDdNL3FXV3oydkFndndXTUNUNy9ETm1i?=
 =?utf-8?B?aFhhRDE4QXplaUo5TElyelJDY3VVOUZMOFFyM3oyWDRqZ1FhZnNERnFXMEJj?=
 =?utf-8?B?akx2WUNwODUxWlVHay81eE11SHJEUWJuSk1TaU5ZWEt3bHBJS3RKRFc2azFX?=
 =?utf-8?B?V0xGVS9nejVhQnFNTWJ4OGxZaFpqUCtOUWNnUlAzYXJNSzYxeXI0WWZLWHNV?=
 =?utf-8?B?czdaazJBNlBWM1Y2SkpwcTVlTGZYSWVTV1lxTXY2dm9ZYnFEN1o2QUxVVUw3?=
 =?utf-8?B?cU1XOGs5N1l1SUJ0TWloR1JPcnlCdTVTeU5hb1M1bVBFbjFqM2p3OTkyTHBU?=
 =?utf-8?B?aVpnNkloV0V1OHBYa0VySzM0a09lZXY0T2prbU0yREY1T1BzM0p5ZDNNLy9h?=
 =?utf-8?B?cUc3aFlidHBibW43emQ3ZGZwdDFTU2lZNFg0UUJ5dWNZcGFVelYrU0tVRitv?=
 =?utf-8?B?Z2F0OHVsS01uZ2o2WVdIb1lRUmorM3F4Y256K3lwc1N2RnUwTW9jdmFsZUh6?=
 =?utf-8?B?dlNyQXV1cmw3YmZxdzNmcGIvSW5ONkpaMEhYMGMxaUtmZ2EyWmxYdUY5d2Jl?=
 =?utf-8?B?M1FjTWxXOEc3aGYyYUV0MzB5MUtHcW42ZmhjOXNtdW1ZcHpnZUd2WUpSZ2hv?=
 =?utf-8?B?ZGIyME51emhJZ0pvOW1HU0N6Umg0WkxxVkpwQXcvN05UNTVFdDBuZUUrWFg5?=
 =?utf-8?B?SkNkSmdzZFpHQnFwbU1kSFNJcXd5SmFWZzVCQ0dvVlBhWmZnSWQxV2svVzMw?=
 =?utf-8?B?SERiTm5vVDRFcHBaWmF0MUEwd0RsVnZIWVBMY3RsQXlaVzlkbFlJWEpCK3JJ?=
 =?utf-8?B?aWpDTmVraGV6MkZ4Q244OGRidlhSVnFycG56ZWx1NlhPY2d3QTdPQWRFa1NJ?=
 =?utf-8?Q?lVFkQ4E6VHWrYidUD2lzI99s3?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-UbyQznL5XPTz3mGzz4HH"
MIME-Version: 1.0
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB9067.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c25d433b-63bb-46ec-7d5b-08da74a14d7d
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2022 16:08:56.4816
 (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: hfpY1IxaGo7U/oQ77Lvwv3KeX/El1B+aeYyYbI2HO4coisvIinM9BhPYGG5i2Ly5tEQFDmD8W0pwfFCksnjbtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9364

--=-UbyQznL5XPTz3mGzz4HH
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2022-08-02 at 16:56 +0200, Jan Beulich wrote:
> On 02.08.2022 15:51, Dario Faggioli wrote:
> > If dom0_vcpus_pin is used, make sure the pinning is only done for
> > dom0 vcpus, instead of for the hardware domain (which might not be
> > dom0 at all!).
>=20
> Hmm, but the control domain may not be either, as it's derived from
> d->is_privileged. I think ...
>=20
Mmm... Right.

> > --- a/xen/common/sched/core.c
> > +++ b/xen/common/sched/core.c
> > @@ -575,7 +575,7 @@ int sched_init_vcpu(struct vcpu *v)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Initialize affinity settings. The idle=
r, and potentially
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * domain-0 VCPUs, are pinned onto their =
respective physical
> > CPUs.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > -=C2=A0=C2=A0=C2=A0 if ( is_idle_domain(d) || (is_hardware_domain(d) &&
> > opt_dom0_vcpus_pin) )
> > +=C2=A0=C2=A0=C2=A0 if ( is_idle_domain(d) || (is_control_domain(d) &&
> > opt_dom0_vcpus_pin) )
>=20
> ... for it to be strictly only Dom0, you want to check d->domain_id
> here.
>=20
Ok, I'll send an update that does that.

Thanks and Regards
--=20
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)

--=-UbyQznL5XPTz3mGzz4HH
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmLpTBcACgkQFkJ4iaW4
c+6hqRAAhX0Kc5vNdrKuTkU+5BPtfWHftRs5QZWX+Q/kGK2R2ZFFGgywvCo/G0M1
gAC+1A08Squjbj/63jv6FPcvzJy3z3OfqX7cf+yXkSSX1XkdFGHqiZltdslB14Uf
U8ArgxN2CPebmEAJMVtTaftTOvF1u9N2yg/UmwK6bMgDSCKGRG6RUxvDNQQtcWw7
vfQ3Qkfzx9GrJl+ZISeBuClS75UE3Lm3S6oA077YJRUPWaiFVxL4b8fZGzLxq4mK
/qspppFLYIUuzIcMNMdbQlcfVO//gEiDBiJmNYOAtGv75Au8NWRCbPaQEHtxVPFx
z5cmPSMX1pFEtemLsBT7iudDB4qeqlUW4qqoHTqZFIj0xeTyeEZ3HeEW6cjF+hKE
GDSf5HMiOTpemNrd1meOaIGa3Q6mtZQKRRV9ZjbOFyudCisSYqIZROyu8DS3M73h
C23f0WPr5EZJkdaWqPm548O0NlxAXqeoSUZLANu//M3AeTmQCXKrU+V2vPh6s+EF
jMj+6cfP2FQvmFubMfP5C/32Nq6T+qUIRe3BvCAuQnSB81WSL/e5ky+xDcrzb4MS
/gaJkbUJ+WykQDEzSCLFw/8pRI1cOc1FuUx6x2cjPQ84fuzIeqp4lnz+RXGC6BNa
WYs2K2QrDuEbu5D+ZuwC9XHfpGVMP4BOzhmUO0K61l1H6Oa1ccA=
=9UlH
-----END PGP SIGNATURE-----

--=-UbyQznL5XPTz3mGzz4HH--


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 16:32:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 16:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379422.612869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIuos-0006kq-HO; Tue, 02 Aug 2022 16:32:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379422.612869; Tue, 02 Aug 2022 16:32:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIuos-0006kj-EX; Tue, 02 Aug 2022 16:32:34 +0000
Received: by outflank-mailman (input) for mailman id 379422;
 Tue, 02 Aug 2022 16:32:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIuor-0006kZ-Lb; Tue, 02 Aug 2022 16:32:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIuor-00028j-Jn; Tue, 02 Aug 2022 16:32:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIuor-0003RX-3M; Tue, 02 Aug 2022 16:32:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIuor-00016U-2z; Tue, 02 Aug 2022 16:32:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TYBjC6TgH/ewtfkFjSUOfN5wL4vM94puFF3EGbKZtFc=; b=vZ3qAukAgEnVjshgPWdM1Qxy08
	lf7TVdqLIsYGQwvpvATYG1/j7uiGU+8RZ9fzQRxEmth10CYSxVDHmSMS75VTwF4MFOJLCxny/Q9iL
	xy7TahaW0vfqoIwNeFxCF8h6ikZmf2FLAfDy3IBbrdRz5YqtLmHHJ3SDNQypNx2yKQVk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172082-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172082: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4d96a4fe2ac08cc93f2e7eca56120792363cb950
X-Osstest-Versions-That:
    xen=ca45d3cb4586372909f350e54482246f994e1bc7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 16:32:33 +0000

flight 172082 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172082/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 171903
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4d96a4fe2ac08cc93f2e7eca56120792363cb950
baseline version:
 xen                  ca45d3cb4586372909f350e54482246f994e1bc7

Last test of basis   171903  2022-07-28 23:00:32 Z    4 days
Failing since        171911  2022-07-29 02:00:25 Z    4 days   30 attempts
Testing same since   172075  2022-08-02 03:02:01 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ca45d3cb45..4d96a4fe2a  4d96a4fe2ac08cc93f2e7eca56120792363cb950 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 17:10:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 17:10:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379431.612880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIvP1-0001pW-EN; Tue, 02 Aug 2022 17:09:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379431.612880; Tue, 02 Aug 2022 17:09:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIvP1-0001pP-Bh; Tue, 02 Aug 2022 17:09:55 +0000
Received: by outflank-mailman (input) for mailman id 379431;
 Tue, 02 Aug 2022 17:09:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gPpP=YG=citrix.com=prvs=206784369=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oIvOz-0001pJ-K4
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 17:09:53 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9b34650-1285-11ed-924f-1f966e50362f;
 Tue, 02 Aug 2022 19:09:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9b34650-1285-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659460191;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=OcMHynZWuBZCNWlcQtCalAmfZOlQ5iTuY2VPgnnjbJ0=;
  b=Haf8sy828JreY0TEkjZsvHpd4NB3HZ3KWrQYCDT4pCU30/wqyyQhLjNp
   tD4NvIBFzDISaemifQS7I2Begn9SBXhKyUeDx3d/DPUF6YDasRfMFALPG
   1xCpaxFncw103AE924vpJPuWxSW0Km7bPVThDVNSrfY4znphv2RDNgXhL
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77636045
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:vjCRj6iMFHoBB5re4VcTRXzEX161cBAKZh0ujC45NGQN5FlHY01je
 htvWWCAOf/ZZTemeox1PN61oBlT7J+GnNcxQFc5rSs2RSkb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSq4mtD1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eM6Qy/L4vJG5yz
 98SAzc8KQishumW3+fuIgVsrpxLwMjDOYoevjdrzC3DDOZgSpfGK0nIzYYGhnFq3JkIRKuAI
 ZpCAdZsRE2ojxlnM1ELCJU4jaGwi2P2aTFwo1OJv6snpWPUyWSd1ZCyb4SOJITWGK25mG6Ct
 2zk4HzJCSgwbuyj+RGu0n+Og+HAyHaTtIU6S+Tjq68CbEeo7nMXIA0bUx28u/bRol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4CPYm4QuAzq7V5QexBWUeSDNFLts8u6ceRzYny
 1uIlNPBHiF0vfueTnf13rWJqTK/PwAFIGlEYjULJTbp+PG6/tt11EiWCI8+Tujl1bUZBA0c3
 RiEhQI43+02gvIx9K+Q+mGAmx2trbjWG1tdChrsYo610u9oTNf7Ot30sQWCsKwowJWxFQfY4
 iVd8ySKxKVXVMzWynTQKAkYNOvxj8tpJgEwlrKG83MJ0z22s0CucolLiN2VDBc4a51UEdMFj
 aK6hO+w2HOwFCHzBUOPS9jtY/nGNIC5fTgfatjab8BVfr96fxKd8SdlaCa4hj6wwRNzwPlmY
 sbKKK5A6Er27ow+lVKLqxo1i+d3lkjSO0uJLXwE8/hX+eXHPyPEIVv0GFCPcvo4/Mu5nekhy
 P4GbpPi40gOD4XDjtz/q9F7waYicSdmXvgbaqV/Koa+H+aRMDt+W6eAkO98K90NcmY8vr6gw
 0xRk3RwkDLX7UAr4y3RMhiPtJuHsU5DkE8G
IronPort-HdrOrdr: A9a23:Q0UzC6PaFSv8BsBcTsGjsMiBIKoaSvp037Eqv3oedfVwSL39qy
 nOpoV/6faaslsssR0b9exofZPwJk80lqQFg7X5X43DYOCOggLBR+tfBMnZsl7d8kXFh4hgPM
 xbEpSWZueeMWRH
X-IronPort-AV: E=Sophos;i="5.93,211,1654574400"; 
   d="scan'208";a="77636045"
Date: Tue, 2 Aug 2022 18:09:32 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v3 06/25] tools/fuzz/x86_instruction_emulator: rework
 makefile
Message-ID: <YulaTPhEf8Mp+p0q@perard.uk.xensource.com>
References: <20220624160422.53457-1-anthony.perard@citrix.com>
 <20220624160422.53457-7-anthony.perard@citrix.com>
 <d917d9a6-5ab7-f826-21e0-2c95b4614f9c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <d917d9a6-5ab7-f826-21e0-2c95b4614f9c@suse.com>

On Mon, Jul 11, 2022 at 04:08:55PM +0200, Jan Beulich wrote:
> On 24.06.2022 18:04, Anthony PERARD wrote:
> > --- a/tools/fuzz/x86_instruction_emulator/Makefile
> > +++ b/tools/fuzz/x86_instruction_emulator/Makefile
> > @@ -8,33 +8,27 @@ else
> >  x86-insn-fuzz-all:
> >  endif
> >  
> > -# Add libx86 to the build
> > -vpath %.c $(XEN_ROOT)/xen/lib/x86
> > +cpuid.c: %: $(XEN_ROOT)/xen/lib/x86/% FORCE
> > +	ln -nsf $< $@
> 
> I guess the idea with the original construct was to allow using further
> source files from libx86 with as little code churn as possible. Your
> change now requires two more lines to be touched. As long as we avoid
> name collisions in the various directories (wrapper.c and a few more
> files come from yet somewhere else), couldn't this rule simply be
> 
> %.c: $(XEN_ROOT)/xen/lib/x86/%.c FORCE
> 	ln -nsf $< $@
> 
> ?

Sounds good.

> > -x86_emulate:
> > -	[ -L $@ ] || ln -sf $(XEN_ROOT)/xen/arch/x86/$@
> > +x86_emulate: FORCE
> > +	ln -nsf $(XEN_ROOT)/xen/arch/x86/$@
> >  
> >  x86_emulate/%: x86_emulate ;
> >  
> > -x86-emulate.c x86-emulate.h wrappers.c: %:
> > -	[ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$*
> > +x86-emulate.c x86-emulate.h wrappers.c: %: $(XEN_ROOT)/tools/tests/x86_emulator/% FORCE
> > +	ln -nsf $< $@
> 
> And similarly
> 
> %.c: $(XEN_ROOT)/tools/tests/x86_emulator/%.c FORCE
> 	ln -nsf $< $@
> 
> %.h: $(XEN_ROOT)/tools/tests/x86_emulator/%.h FORCE
> 	ln -nsf $< $@
> 
> here? (I'm hesitant to suggest plain %, i.e. without the filename
> suffixes, as that would likely be at least confusing for Makefile.)

Will do.

> > @@ -67,3 +61,5 @@ afl: afl-harness
> >  
> >  .PHONY: afl-cov
> >  afl-cov: afl-harness-cov
> > +
> > +-include $(DEPS_INCLUDE)
> 
> I would expect doing so was avoided for some reason. Albeit it may
> well be that too much cloning of tests/x86_emulator was done here,

There's quite a few places in tools/ where "-include $(DEPS_INCLUDE)" is
missing, so I kind of expect it to be forgotten rather than avoided on
purpose.

> and it's all fine this way. Can you confirm things to work when
> building locally in just this subdir, e.g. via
> 
> make -sC .../tools/fuzz/x86_instruction_emulator CC=/build/afl/2.52b-base/afl-gcc
> 
> ?

Yes, that still works. But I'm not sure why you would ask since the
tools/ build system works this way, execution of make in a subdir
doesn't depends on the execution from the parent dir (it doesn't
depends on anything in the envvar).

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 17:32:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 17:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379437.612891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIvl7-00054Z-7F; Tue, 02 Aug 2022 17:32:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379437.612891; Tue, 02 Aug 2022 17:32:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIvl7-00054S-4Y; Tue, 02 Aug 2022 17:32:45 +0000
Received: by outflank-mailman (input) for mailman id 379437;
 Tue, 02 Aug 2022 17:32:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oIvl5-00054M-PT
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 17:32:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIvl2-0003E4-8X; Tue, 02 Aug 2022 17:32:40 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.4.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oIvl2-0005SD-1L; Tue, 02 Aug 2022 17:32:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=P3qwG54J1uW4xd3phpj55f+ISV6yq+rh0qbNxcIG0uM=; b=3Axyo6Uf7BwVEzEu5831JeHj17
	AYUmu1D1DcKkU39d1JXGK1FXN9JNnG3Wnl9myp66BJQ8EvEhqIWi0cezmpNYgEk7/qwVgxpdZjiR8
	Dr3ZIp1ETovAP4b311DZH/RczWPCjLwyx4Glyn8ZzhCIFmDIiNyJb7vFc3ERWJCLWXl8=;
Message-ID: <b2f2d1e7-0c18-206f-5e9d-d0115e398840@xen.org>
Date: Tue, 2 Aug 2022 18:32:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH] xen/arm64: sysreg.h: Fix MISRA C 2012 Rule 20.7 violation
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <20220728134943.1185621-1-burzalodowa@gmail.com>
 <0a8ff178-280d-717f-dacb-4eb9f57a24eb@xen.org>
 <83c17bf6-b9b2-a297-6f7f-dd08231d0f90@suse.com>
 <c71c9522-2df5-35a3-d39c-706d5c9d5263@xen.org>
 <alpine.DEB.2.22.394.2207281551140.4648@ubuntu-linux-20-04-desktop>
 <ec89b2e1-a18a-9ef7-1ca8-edd19e737d4f@gmail.com>
 <c55b9ad0-bfa8-f0b1-6c4e-a794afd75e7c@suse.com>
 <69942917-f2e9-718e-094d-9b01aea16a4a@gmail.com>
 <a9cddfc6-235f-a42f-b522-04ae87990b47@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a9cddfc6-235f-a42f-b522-04ae87990b47@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 29/07/2022 08:22, Jan Beulich wrote:
> On 29.07.2022 09:01, Xenia Ragiadakou wrote:
>> On 7/29/22 09:16, Jan Beulich wrote:
>>> On 29.07.2022 07:23, Xenia Ragiadakou wrote:
>>>> On 7/29/22 01:56, Stefano Stabellini wrote:
>>>>> On Thu, 28 Jul 2022, Julien Grall wrote:
>>>>>> On 28/07/2022 15:20, Jan Beulich wrote:
>>>>>>> On 28.07.2022 15:56, Julien Grall wrote:
>>>>>>>> On 28/07/2022 14:49, Xenia Ragiadakou wrote:
>>>>>>>>> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
>>>>>>>>> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
>>>>>>>>> @@ -461,7 +461,7 @@
>>>>>>>>>       /* Access to system registers */
>>>>>>>>>          #define WRITE_SYSREG64(v, name) do {                    \
>>>>>>>>> -    uint64_t _r = v;                                    \
>>>>>>>>> +    uint64_t _r = (v);                                              \
>>>>>>>>
>>>>>>>> I am failing to see why the parentheses are necessary here. Could you
>>>>>>>> give an example where the lack of them would end up to different code?
>>>>>>>
>>>>>>> I think it is merely good practice to parenthesize the right sides of =.
>>>>>>> Indeed with assignment operators having second to lowest precedence, and
>>>>>>> with comma (the lowest precedence one) requiring parenthesization at the
>>>>>>> macro invocation site, there should be no real need for parentheses here.
>>>>>>
>>>>>> I am not really happy with adding those parentheses because they are
>>>>>> pointless. But if there are a consensus to use it, then the commit message
>>>>>> should be updated to clarify this is just here to please MISRA (to me "need"
>>>>>> implies it would be bug).
>>>>>
>>>>> Let me premise that I don't know if this counts as a MISRA violation or
>>>>> not. (Also I haven't checked if cppcheck/eclair report it as violation.)
>>>>>
>>>>> But I think the reason for making the change would be to follow our
>>>>> coding style / coding practices. It makes the code simpler to figure out
>>>>> that it is correct, to review and maintain if we always add the
>>>>> parenthesis even in cases like this one where they are not strictly
>>>>> necessary. We are going to save our future selves some mental cycles.
>>>>>
>>>>> So the explanation on the commit message could be along those lines.
>>>>
>>>> First, the rule 20.7 states "Expressions resulting from the expansion of
>>>> macro parameters shall
>>>>     be enclosed in parentheses". So, here it is a clear violation of the
>>>> rule because the right side of the assignment operator is an expression.
>>>>
>>>> Second, as I stated in a previous email, if v is not enclosed in
>>>> parentheses, I could write the story of my life in there and compile it
>>>> :) So, it would be a bug.
>>>>
>>>> So, I recommend the title and the explanation i.e
>>>> "xen/arm64: sysreg.h: Fix MISRA C 2012 Rule 20.7 violation
>>>>
>>>> The macro parameter 'v' is used as an expression and needs to be enclosed in
>>>>     parentheses."
>>>> to remain as is because they are accurate.
>>>
>>> I'm afraid you're following the MISRA wording too much to the latter.
>>> Earlier on you agreed that when macro parameters are used as function
>>> arguments, the parentheses can be omitted. Yet by what you say above
>>> those are also expressions.
>>
>> Yes, those are also expressions (that's why I added parentheses
>> initially) and I agreed with you that the parentheses there may not be
>> necessary because I could not think of an example that will produce
>> different behaviors with and without the parentheses. This will need a
>> formal deviation I imagine or maybe a MISRA C expert could provide a
>> justification regarding why parentheses are needed around function
>> arguments that we may have not think of.
>>
>>> As indicated before - I think parentheses
>>> are wanted here, but it's strictly "wanted", and hence the title
>>> better wouldn't say "fix" (but e.g. "improve") and the description
>>> also should be "softened".
>>>
>>
>> Regarding the latter, are you saying that the parentheses are not needed?
>> In my opinion they are needed to prevent the bug described in the
>> previous email i.e passing multiple statements to the macro.
> 
> Any such use would be rejected during review, I'm sure.
> 
> However I think there's another case which might indeed make this
> more than just a "want" (and then responses further down are to be
> viewed only in the context of earlier discussion):
> 
> #define wr(v) ({ \
> 	unsigned r_ = v; \
> 	asm("" :: "r" (r_)); \
> })
> 
> #define M x, y
> 
> void test(unsigned x) {
> 	wr(M);
> }

Interesting. I would have expected the pre-processor to first expand M 
and then consider wr() is called with 2 parameters.

> 
> While this would result in an unused variable warning,

FWIW, in our case, the compiler is going to throw an error.

> it's surely
> misleading (and less certain to be noticed during review) - which
My expectation is we would notice that M is missing the parentheses. If 
it is really wanted, the name of the macro should be obvious.

> is what Misra wants to avoid. Let's see what Julien thinks.
I am struggling to see how this is different from:

#define wr(v) printf("%u\n", v)

If I am not mistaken, you have been arguing against adding the 
parentheses here. So, AFAIU, this means we will need to rely on the 
compiler to notice the extra parameters.

Anyway, I am not against adding the parentheses in your example. 
However, I think we should be consistent how we use them.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 19:06:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 19:06:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379449.612901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIxDC-0005pe-68; Tue, 02 Aug 2022 19:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379449.612901; Tue, 02 Aug 2022 19:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIxDC-0005pX-2n; Tue, 02 Aug 2022 19:05:50 +0000
Received: by outflank-mailman (input) for mailman id 379449;
 Tue, 02 Aug 2022 19:05:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIxDA-0005pN-Rg; Tue, 02 Aug 2022 19:05:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIxDA-0004yJ-Ps; Tue, 02 Aug 2022 19:05:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIxDA-0001Yk-9Q; Tue, 02 Aug 2022 19:05:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIxDA-0007FG-8z; Tue, 02 Aug 2022 19:05:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=G0yQMWxMARXtWPxXqtsB+5smEw2HMNJVKmv3ze0eyLc=; b=isz4RuWVWNvvtNcQ/htUlICLAt
	p3d9pEdjtHACjf1GRJTilly7Cs9wyFtMG3f2J4rQkDShwWWpbH8onzJ8VZV2hi9ZwbYv/26buLnpr
	QqU37rTpyRNPz95Xzk/iA1Nag0zls88/nQzu3W4bu2E6FwG5a77WjSnwEUAfnNHz7/Gw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172085-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172085: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a551de0d9310ed930cf090348c58fdec75044a53
X-Osstest-Versions-That:
    ovmf=19cbfaa4319edabf5feb4e9d867f042c2d5e72b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 19:05:48 +0000

flight 172085 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172085/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a551de0d9310ed930cf090348c58fdec75044a53
baseline version:
 ovmf                 19cbfaa4319edabf5feb4e9d867f042c2d5e72b6

Last test of basis   172071  2022-08-01 20:40:27 Z    0 days
Testing same since   172085  2022-08-02 17:10:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Edward Pickup <edward.pickup@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   19cbfaa431..a551de0d93  a551de0d9310ed930cf090348c58fdec75044a53 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 19:56:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 19:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379461.612912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIxzv-0002ar-TF; Tue, 02 Aug 2022 19:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379461.612912; Tue, 02 Aug 2022 19:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIxzv-0002ak-QS; Tue, 02 Aug 2022 19:56:11 +0000
Received: by outflank-mailman (input) for mailman id 379461;
 Tue, 02 Aug 2022 19:56:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIxzv-0002aa-7o; Tue, 02 Aug 2022 19:56:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIxzv-0005rt-47; Tue, 02 Aug 2022 19:56:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIxzu-00046b-JD; Tue, 02 Aug 2022 19:56:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIxzu-000641-Iq; Tue, 02 Aug 2022 19:56:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VnUfkkG1c7Yztph1dVRP2kAfhfZbwFYC+r50mok0cFg=; b=X/mEmrCOB3fM970bkhqGLpC1v/
	LT6BwVCO2/ZBwBOLioiuJVY0Wu7MiuWYtsbMD9Hg+EJdvpXLCS8y5espK742HF/7nmh8WihP2x73B
	g+2jR2UfjeCUIy+udIltunBNo8zfjuFmD7DWU3cJy0BG30kcbtkhSNt0nwscUi3kb134=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172079-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172079: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=60205b71421cbc529ca60b12c79e0eeace007319
X-Osstest-Versions-That:
    qemuu=b15bdb1d8324efe662b94d5c8bac231c4b3a81a9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 19:56:10 +0000

flight 172079 qemu-mainline real [real]
flight 172086 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172079/
http://logs.test-lab.xenproject.org/osstest/logs/172086/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail pass in 172086-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172070
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172070
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172070
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172070
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172070
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172070
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172070
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172070
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                60205b71421cbc529ca60b12c79e0eeace007319
baseline version:
 qemuu                b15bdb1d8324efe662b94d5c8bac231c4b3a81a9

Last test of basis   172070  2022-08-01 20:39:42 Z    0 days
Testing same since   172079  2022-08-02 07:48:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  CÃ©dric Le Goater <clg@kaod.org>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   b15bdb1d83..60205b7142  60205b71421cbc529ca60b12c79e0eeace007319 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 21:07:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 21:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379468.612924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIz71-0001MS-T2; Tue, 02 Aug 2022 21:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379468.612924; Tue, 02 Aug 2022 21:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oIz71-0001ML-QH; Tue, 02 Aug 2022 21:07:35 +0000
Received: by outflank-mailman (input) for mailman id 379468;
 Tue, 02 Aug 2022 21:07:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIz70-0001MB-TZ; Tue, 02 Aug 2022 21:07:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIz70-0007F7-PP; Tue, 02 Aug 2022 21:07:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oIz70-00063e-6i; Tue, 02 Aug 2022 21:07:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oIz70-00088V-6A; Tue, 02 Aug 2022 21:07:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jbIAB8b0NVjzTr2bQXNriocddMwkNXXaZxuHEd+qPfo=; b=f/aw1xdWoicis7lBKcw8/9bG09
	6Ix/6IbqAE+lpIXcRAuFn43wTocz4Xzuy2RR5tpIeOgGXGjxs4RhK+HSQBrOZKbYydXq8sJbe1orI
	5oWOPwivHILB+u4iTZuVIIBbED6PDPcA+N4bQk8t8YDCpo0vx/i5aonHQdfIrq18+ueM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172081-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172081: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-i386-libvirt:libvirt-build:fail:regression
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:regression
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:regression
    xen-unstable:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ca45d3cb4586372909f350e54482246f994e1bc7
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Aug 2022 21:07:34 +0000

flight 172081 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172081/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172073
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 172073
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172073

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 172073

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172073
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ca45d3cb4586372909f350e54482246f994e1bc7
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   172073  2022-08-02 01:51:47 Z    0 days
Testing same since   172081  2022-08-02 11:38:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  George Dunlap <george.dunlap@citrix.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <julien.grall@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit ca45d3cb4586372909f350e54482246f994e1bc7
Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Date:   Fri Jul 15 22:20:26 2022 +0300

    libxl/arm: Create specific IOMMU node to be referred by virtio-mmio device
    
    Reuse generic IOMMU device tree bindings to communicate Xen specific
    information for the virtio devices for which the restricted memory
    access using Xen grant mappings need to be enabled.
    
    Insert "iommus" property pointed to the IOMMU node with "xen,grant-dma"
    compatible to all virtio devices which backends are going to run in
    non-hardware domains (which are non-trusted by default).
    
    Based on device-tree binding from Linux:
    Documentation/devicetree/bindings/iommu/xen,grant-dma.yaml
    
    The example of generated nodes:
    
    xen_iommu {
        compatible = "xen,grant-dma";
        #iommu-cells = <0x01>;
        phandle = <0xfde9>;
    };
    
    virtio@2000000 {
        compatible = "virtio,mmio";
        reg = <0x00 0x2000000 0x00 0x200>;
        interrupts = <0x00 0x01 0xf01>;
        interrupt-parent = <0xfde8>;
        dma-coherent;
        iommus = <0xfde9 0x01>;
    };
    
    virtio@2000200 {
        compatible = "virtio,mmio";
        reg = <0x00 0x2000200 0x00 0x200>;
        interrupts = <0x00 0x02 0xf01>;
        interrupt-parent = <0xfde8>;
        dma-coherent;
        iommus = <0xfde9 0x01>;
    };
    
    Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 2128143c114c52c7536e37c32935fdd77f23edc1
Author: Julien Grall <julien.grall@arm.com>
Date:   Fri Jul 15 22:20:25 2022 +0300

    libxl: Introduce basic virtio-mmio support on Arm
    
    This patch introduces helpers to allocate Virtio MMIO params
    (IRQ and memory region) and create specific device node in
    the Guest device-tree with allocated params. In order to deal
    with multiple Virtio devices, reserve corresponding ranges.
    For now, we reserve 1MB for memory regions and 10 SPIs.
    
    As these helpers should be used for every Virtio device attached
    to the Guest, call them for Virtio disk(s).
    
    Please note, with statically allocated Virtio IRQs there is
    a risk of a clash with a physical IRQs of passthrough devices.
    For the first version, it's fine, but we should consider allocating
    the Virtio IRQs automatically. Thankfully, we know in advance which
    IRQs will be used for passthrough to be able to choose non-clashed
    ones.
    
    Signed-off-by: Julien Grall <julien.grall@arm.com>
    Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Date:   Fri Jul 15 22:20:24 2022 +0300

    libxl: Add support for Virtio disk configuration
    
    This patch adds basic support for configuring and assisting virtio-mmio
    based virtio-disk backend (emulator) which is intended to run out of
    Qemu and could be run in any domain.
    Although the Virtio block device is quite different from traditional
    Xen PV block device (vbd) from the toolstack's point of view:
     - as the frontend is virtio-blk which is not a Xenbus driver, nothing
       written to Xenstore are fetched by the frontend currently ("vdev"
       is not passed to the frontend). But this might need to be revised
       in future, so frontend data might be written to Xenstore in order to
       support hotplugging virtio devices or passing the backend domain id
       on arch where the device-tree is not available.
     - the ring-ref/event-channel are not used for the backend<->frontend
       communication, the proposed IPC for Virtio is IOREQ/DM
    it is still a "block device" and ought to be integrated in existing
    "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
    logic to deal with Virtio devices as well.
    
    For the immediate purpose and an ability to extend that support for
    other use-cases in future (Qemu, virtio-pci, etc) perform the following
    actions:
    - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
      that in the configuration
    - Introduce new disk "specification" and "transport" fields to struct
      libxl_device_disk. Both are written to the Xenstore. The transport
      field is only used for the specification "virtio" and it assumes
      only "mmio" value for now.
    - Introduce new "specification" option with "xen" communication
      protocol being default value.
    - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
      one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
    
    An example of domain configuration for Virtio disk:
    disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
    
    Nothing has changed for default Xen disk configuration.
    
    Please note, this patch is not enough for virtio-disk to work
    on Xen (Arm), as for every Virtio device (including disk) we need
    to allocate Virtio MMIO params (IRQ and memory region) and pass
    them to the backend, also update Guest device-tree. The subsequent
    patch will add these missing bits. For the current patch,
    the default "irq" and "base" are just written to the Xenstore.
    This is not an ideal splitting, but this way we avoid breaking
    the bisectability.
    
    Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    Tested-by: Jiamei Xie <jiamei.xie@arm.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 02 22:59:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Aug 2022 22:59:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379478.612938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ0qt-0003nJ-36; Tue, 02 Aug 2022 22:59:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379478.612938; Tue, 02 Aug 2022 22:59:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ0qs-0003nC-WA; Tue, 02 Aug 2022 22:59:02 +0000
Received: by outflank-mailman (input) for mailman id 379478;
 Tue, 02 Aug 2022 22:59:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q4Gi=YG=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oJ0qr-0003n6-52
 for xen-devel@lists.xenproject.org; Tue, 02 Aug 2022 22:59:01 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0f3c845-12b6-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 00:58:59 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 70BA160BC0;
 Tue,  2 Aug 2022 22:58:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 51051C433D6;
 Tue,  2 Aug 2022 22:58:56 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0f3c845-12b6-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659481136;
	bh=dDVO9wua++NlTYYN9HM7H+5O3IAmC1N8DtpfO7BkZb4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hQeSA9xVdwTIW6U5fhuwVfWs2RhHotl5wJsznWLuIG62P+gLPZ8ngIr5fTPpB5SUp
	 DLviC3kEgnz02dHBfUuy6/jiAR8segGoNrwohRjQrxkOq1dAxiiQDJyoz4fbGmmO1v
	 AKfG2oPzxK8VVHzIr1lCNScwKE4VbxBBPRmsLscoP5bf11851Sem5y0d3B6DK0Km3A
	 Qw8UUJ7cuxJul1J6JTsfY6mr1POmeEmAen3NGcIWS7mCye7yHdmdsLe3f6uqLvMbur
	 X/zdmFZyLCE0rysNkeQ2HXTqmNWb9ZJAGu7qDAYcitouNB+LNjoB8jxEv4x42glwjv
	 CnlhxLhcCBthA==
Date: Tue, 2 Aug 2022 15:58:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Xenia Ragiadakou <burzalodowa@gmail.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/char: imx-lpuart: Fix MISRA C 2012 Rule 20.7
 violation
In-Reply-To: <d6470ea9-f225-a0e9-64cb-a24e25ca7604@suse.com>
Message-ID: <alpine.DEB.2.22.394.2208021549380.3147284@ubuntu-linux-20-04-desktop>
References: <20220802075433.1748035-1-burzalodowa@gmail.com> <7e78d64a-c700-5846-f046-a1b0f2c98ea3@suse.com> <3b0fd31a-c847-f5ff-2365-5fca5becb051@gmail.com> <d6470ea9-f225-a0e9-64cb-a24e25ca7604@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 2 Aug 2022, Jan Beulich wrote:
> On 02.08.2022 14:40, Xenia Ragiadakou wrote:
> > On 8/2/22 14:58, Jan Beulich wrote:
> >> On 02.08.2022 09:54, Xenia Ragiadakou wrote:
> >>> --- a/xen/drivers/char/imx-lpuart.c
> >>> +++ b/xen/drivers/char/imx-lpuart.c
> >>> @@ -26,8 +26,8 @@
> >>>   #include <asm/imx-lpuart.h>
> >>>   #include <asm/io.h>
> >>>   
> >>> -#define imx_lpuart_read(uart, off)       readl((uart)->regs + off)
> >>> -#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + off)
> >>> +#define imx_lpuart_read(uart, off)       readl((uart)->regs + (off))
> >>> +#define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + (off))
> >>
> >> As elsewhere before I think at the same time you want to drop the
> >> parentheses from the single use of "val".
> >>
> > 
> > In general I do not want to include irrelevant changes in my patches.
> > Also, here, I do not want to drop the parentheses from val because the 
> > removal of the parentheses
> > - consists a violation of the rule 20.7
> > - would allow the following to compile
> > #define VAL x, y, z);(
> > imx_lpuart_write(uart, off, VAL)
> 
> Parenthesization won't help against all forms of odd use of parentheses
> in macro expansions anyway. Maybe MISRA should (or even does) have a
> rule disallowing unbalanced parentheses (an square brackets) in macro
> expansions ...
> 
> > - is not justifiable (i.e does not fix a bug, does not result in more 
> > readable code etc)
> 
> As said before, I very much view too many parentheses as affecting
> readability.

This patch is correct and it fixes the issue which is meant to fix.

Dropping the parentheses from the single use of "val" is not something
currently covered by our coding style document or by MISRA, so it is
normal that we are going to get a variety of opinions and preferences on
it.

I think it is better to avoid asking for changes not currently in
CODING_STYLE and docs/misra. It is less work for both reviewers and
contributors to add the rule to the coding style first, then ask for
changes.

So my preference is to keep this patch as is (regardless of what we are
going to do with "val"):

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


But I am happy to add the "avoid too many parenthesis" point to the list
of coding style things to discuss. FYI I paused the MISRA C discussion
meetings so that we can make some progress on fixing violations, but I
plan to resume those meetings in a month or two.


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 01:45:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 01:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379490.612961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ3S8-00025u-On; Wed, 03 Aug 2022 01:45:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379490.612961; Wed, 03 Aug 2022 01:45:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ3S8-00025m-JX; Wed, 03 Aug 2022 01:45:40 +0000
Received: by outflank-mailman (input) for mailman id 379490;
 Wed, 03 Aug 2022 01:45:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ3S7-00025c-As; Wed, 03 Aug 2022 01:45:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ3S7-0002kY-7V; Wed, 03 Aug 2022 01:45:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ3S6-0004Zi-Ao; Wed, 03 Aug 2022 01:45:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ3S6-0001eo-AK; Wed, 03 Aug 2022 01:45:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TDg09yWdOQUkCBRHp1EU6yx/eUYzm3GNKYFUwUAoNfs=; b=dbvtviJKFKCidN7R7LkJzmB21i
	+u7pEWJMENjQUDbjBTgJNwBr3SOWCEdCuVYxeOkBNG4o4+226oFI5CH/CexiM6kFYJgjnYlYGa27x
	jeI6+CjTik5ufohEuYBTUYSW8gRmEYMuLGex/TZ1HWcculuH2JCCiIS/wtfUUeZI3R5E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172084-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172084: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7d0d3fa7339ed5a06d6608b7cde9f079eba62bb1
X-Osstest-Versions-That:
    linux=9de1f9c8ca5100a02a2e271bdbde36202e251b4b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 01:45:38 +0000

flight 172084 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172084/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172074
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172074
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172074
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172074
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172074
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172074
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172074
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172074
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                7d0d3fa7339ed5a06d6608b7cde9f079eba62bb1
baseline version:
 linux                9de1f9c8ca5100a02a2e271bdbde36202e251b4b

Last test of basis   172074  2022-08-02 02:01:19 Z    0 days
Testing same since   172084  2022-08-02 16:41:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaro Koskinen <aaro.koskinen@iki.fi>
  Abel Vesa <abel.vesa@linaro.org>
  Abel Vesa <abel.vesa@nxp.com>
  Ahmad Fatoum <a.fatoum@pengutronix.de>
  Akash Gajjar <akash@openedev.com>
  Akhil R <akhilrajeev@nvidia.com>
  Alec Su <ae40515@yahoo.com.tw>
  Alexander Martinz <amartinz@shiftphones.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexander Sverdlin <alexander.sverdlin@gmail.com>
  Alexandre Torgue <alexandre.torgue@foss.st.com>
  Alim Akhtar <alim.akhtar@samsung.com>
  Allen-KH Cheng <allen-kh.cheng@mediatek.com>
  Anand Gore <anand.gore@broadcom.com>
  Andre Przywara <andre.przywara@arm.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrew-sh.Cheng <andrew-sh.cheng@mediatek.com>
  Andrey Konovalov <andrey.konovalov@linaro.org>
  AndrÃ© Almeida <andrealmeid@collabora.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Ansuel Smith <ansuelsmth@gmail.com>
  Anton Bambura <jenneron@protonmail.com>
  Arnd Bergmann <arnd@arndb.de>
  Aswath Govindraju <a-govindraju@ti.com>
  Baruch Siach <baruch@tkos.co.il>
  Bhadram Varka <vbhadram@nvidia.com>
  Bharat Uppal <bharat.uppal@samsung.com>
  Bhupesh Sharma <bhupesh.sharma@linaro.org>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Andersson <bjorn.andersson@linaro.org>
  Bryan O'Donoghue <bryan.odonoghue@linaro.org>
  Caleb Connolly <caleb@connolly.tech>
  Chanho Park <chanho61.park@samsung.com>
  Chen-Yu Tsai <wenst@chromium.org>
  Chris Packham <chris.packham@alliedtelesis.co.nz>
  Chris Paterson <chris.paterson2@renesas.com>
  Christian Lamparter <chunkeey@gmail.com>
  Christian Marangi <ansuelsmth@gmail.com>
  Chun-Kuang Hu <chunkuang.hu@kernel.org>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Claudiu Beznea <claudiu.beznea@microchip.com>
  ClÃ©ment LÃ©ger <clement.leger@bootlin.com>
  Cristian Marussi <cristian.marussi@arm.com>
  Damien Le Moal <damien.lemoal@opensource.wdc.com>
  Dan Williams <dan.j.williams@intel.com>
  Dang Huynh <danct12@riseup.net>
  David Heidelberg <david@ixit.cz>
  David Virag <virag.david003@gmail.com>
  David Wang <David_Wang6097@jabil.com>
  Denys Drozdov <denys.drozdov@toradex.com>
  Dinh Nguyen <dinguyen@kernel.org>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Douglas Anderson <dianders@chromium.org>
  Dylan Van Assche <me@dylanvanassche.be>
  Emma Anholt <emma@anholt.net>
  Enric Balletbo i Serra <enric.balletbo@collabora.com>
  Eric Chanudet <echanude@redhat.com>
  Fabien Dessenne <fabien.dessenne@foss.st.com>
  Fabien Parent <fparent@baylibre.com>
  Fabio Estevam <festevam@denx.de>
  Fabio Estevam <festevam@gmail.com>
  Felix Fietkau <nbd@nbd.name>
  Florian Fainelli <f.fainelli@gmail.com>
  Frank Wunderlich <frank-w@public-files.de>
  Furkan Kardame <f.kardame@manjaro.org>
  Gabriel Fernandez <gabriel.fernandez@foss.st.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Georgi Djakov <djakov@kernel.org>
  Gregari Ivanov <llamashere@posteo.de>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guillaume La Roque <glaroque@baylibre.com>
  Gwendal Grignou <gwendal@chromium.org>
  Heiko Stuebner <heiko@sntech.de>
  Herve Codina <herve.codina@bootlin.com>
  Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
  Horatiu Vultur <horatiu.vultur@microchip.com>
  Hsin-Yi Wang <hsinyi@chromium.org>
  Jacek Anaszewski <jacek.anaszewski@gmail.com>
  Jayesh Choudhary <j-choudhary@ti.com>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jiang Jian <jiangjian@cdjrlc.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  John Garry <john.garry@huawei.com>
  Jonathan Marek <jonathan@marek.ca>
  Jonathan McDowell <noodles@earth.li>
  Joseph S. Barrera III <joebar@chromium.org>
  Juerg Haefliger <juerg.haefliger@canonical.com>
  Juerg Haefliger <juergh@canonical.com>
  Julia Lawall <Julia.Lawall@inria.fr>
  Kartik <kkartik@nvidia.com>
  Kaushal Kumar <quic_kaushalk@quicinc.com>
  Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
  Kevin Hilman <khilman@baylibre.com>
  Kishon Vijay Abraham I <kishon@ti.com>
  Konrad Dybcio <konrad.dybcio@somainline.org>
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuogee Hsieh <quic_khsieh@quicinc.com>
  Kursad Oney <kursad.oney@broadcom.com>
  Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
  Lee Jones <lee.jones@linaro.org>
  Leonard GÃ¶hrs <l.goehrs@pengutronix.de>
  Liang He <windhl@126.com>
  Lin, Meng-Bo <linmengbo0689@protonmail.com>
  Linh Phung <linh.phung.jy@renesas.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liviu Dudau <liviu.dudau@arm.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Luca Weiss <luca@z3ntu.xyz>
  Lucas Stach <l.stach@pengutronix.de>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Lv Ruyi <lv.ruyi@zte.com.cn>
  Macpaul Lin <macpaul.lin@mediatek.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Zyngier <maz@kernel.org>
  Marcel Ziswiler <marcel.ziswiler@toradex.com>
  Marek BehÃºn <kabel@kernel.org>
  Marek Vasut <marex@denx.de>
  Marijn Suijten <marijn.suijten@somainline.org>
  Mark Brown <broonie@kernel.org>
  Markus Niebel <Markus.Niebel@tq-group.com>
  Markuss Broks <markuss.broks@gmail.com>
  Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  Martin JÃ¼cker <martin.juecker@gmail.com>
  Martin Kaiser <martin@kaiser.cx>
  Martin Kepplinger <martin.kepplinger@puri.sm>
  Matthias Brugger <matthias.bgg@gmail.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Max Krummenacher <max.krummenacher@toradex.com>
  Miaoqian Lin <linmq006@gmail.com>
  Michael Riesch <michael.riesch@wolfvision.net>
  Michael Trimarchi <michael@amarulasolutions.com>
  Michael Walle <michael@walle.cc>
  Michal Simek <michal.simek@amd.com>
  Michal Simek <michal.simek@xilinx.com>
  Mikko Perttunen <mperttunen@nvidia.com>
  Molly Sophia <mollysophia379@gmail.com>
  Moudy Ho <moudy.ho@mediatek.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <narmstrong@baylibre.com>
  Nick Hainke <vincent@systemli.org>
  Nicolas Ferre <nicolas.ferre@microchip.com>
  Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas SÃ¶derlund <niklas.soderlund+renesas@ragnatech.se>
  Niravkumar L Rabara <niravkumar.l.rabara@intel.com>
  Nishanth Menon <nm@ti.com>
  NÃ­colas F. R. A. Prado <nfraprado@collabora.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Pali RohÃ¡r <pali@kernel.org>
  Parikshit Pareek <quic_ppareek@quicinc.com>
  PaweÅ‚ Anikiel <pan@semihalf.com>
  Peng Fan <peng.fan@nxp.com>
  Peng Wu <wupeng58@huawei.com>
  Peter Geis <pgwipeout@gmail.com>
  Peter Robinson <pbrobinson@gmail.com>
  Phil Edworthy <phil.edworthy@renesas.com>
  Philipp Zabel <p.zabel@pengutronix.de>
  Philippe Schenker <philippe.schenker@toradex.com>
  qianfan Zhao <qianfanguijin@163.com>
  Qin Jian <qinjian@cqplus1.com>
  RafaÅ‚ MiÅ‚ecki <rafal@milecki.pl>
  Rex-BC Chen <rex-bc.chen@mediatek.com>
  Rob Herring <robh@kernel.org>
  Robert Foss <robert.foss@linaro.org>
  Robert Hancock <robert.hancock@calian.com>
  Robert Marko <robimarko@gmail.com>
  Robin van der Gracht <robin@protonic.nl>
  Roger Lu <roger.lu@mediatek.com>
  Rohit Agarwal <quic_rohiagar@quicinc.com>
  Runyang Chen <runyang.chen@mediatek.com>
  Sameer Pujar <spujar@nvidia.com>
  Samuel Holland <samuel@sholland.org>
  Sascha Hauer <s.hauer@pengutronix.de>
  Sean Anderson <sean.anderson@seco.com>
  Serge Semin <Sergey.Semin@baikalelectronics.ru>
  Shawn Guo <shawnguo@kernel.org>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Sibi Sankar <quic_sibis@quicinc.com>
  Simon Holesch <simon.holesch@bshg.com>
  Simon Horman <horms@verge.net.au>
  Sireesh Kodali <sireeshkodali1@gmail.com>
  Sjoerd Simons <sjoerd@collabora.com>
  Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
  Steev Klimaszewski <steev@kali.org>
  Stefan Agner <stefan.agner@toradex.com>
  Stefan Hansson <newbie13xd@gmail.com>
  Stefan Wahren <stefan.wahren@i2se.com>
  Stephan Gerhold <stephan.gerhold@kernkonzept.com>
  Stephen Boyd <sboyd@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Sumit Garg <sumit.garg@linaro.org>
  Sumit Gupta <sumitg@nvidia.com>
  TamÃ¡s SzÅ±cs <tszucs@protonmail.ch>
  Tanmay Shah <tanmay.shah@xilinx.com>
  Teh Wen Ping <wen.ping.teh@intel.com>
  Teresa Remmet <t.remmet@phytec.de>
  Thara Gopinath <thara.gopinath@gmail.com>
  Thierry Reding <treding@nvidia.com>
  Tho Vu <tho.vu.wh@renesas.com>
  Tim Harvey <tharvey@gateworks.com>
  Timo Alho <talho@nvidia.com>
  Tomer Maimon <tmaimon77@gmail.com>
  Tony Lindgren <tony@atomide.com>
  Ulrich Ã–lmann <u.oelmann@pengutronix.de>
  Uwe Kleine-KÃ¶nig <u.kleine-koenig@pengutronix.de>
  Vadym Kochan <vadym.kochan@plvision.eu>
  Venkata Prasad Potturu <quic_potturu@quicinc.com>
  Vinod Koul <vkoul@kernel.org>
  Vinod Polimera <quic_vpolimer@quicinc.com>
  Viorel Suman <viorel.suman@nxp.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
  Vladimir Zapolskiy <vz@mleia.com>
  William Zhang <william.zhang@broadcom.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Wolfram Sang <wsa@kernel.org>
  Xiang wangx <wangxiang@cdjrlc.com>
  Xiangsheng Hou <xiangsheng.hou@mediatek.com>
  XueBing Chen <chenxuebing@jari.cn>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yassine Oudjana <y.oudjana@protonmail.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Zelong Dong <zelong.dong@amlogic.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   9de1f9c8ca51..7d0d3fa7339e  7d0d3fa7339ed5a06d6608b7cde9f079eba62bb1 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 02:37:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 02:37:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379500.612977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ4GE-0007v9-QW; Wed, 03 Aug 2022 02:37:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379500.612977; Wed, 03 Aug 2022 02:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ4GE-0007v2-NP; Wed, 03 Aug 2022 02:37:26 +0000
Received: by outflank-mailman (input) for mailman id 379500;
 Wed, 03 Aug 2022 02:37:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ4GE-0007us-2M; Wed, 03 Aug 2022 02:37:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ4GD-00049x-W5; Wed, 03 Aug 2022 02:37:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ4GD-00077v-Hq; Wed, 03 Aug 2022 02:37:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ4GD-0001Ep-HO; Wed, 03 Aug 2022 02:37:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ib/UgknZiNAlaps3g4kHBMlgQVDici+kB0OtB/9VrVo=; b=KZMRiaBRHtTMnrGpKFMBNnVLCC
	ZCdmx0466CCPBOAKeNSV6wAwpmBLxodoPvIvHzrO6KFYX3UvIS97FTnzxNh3xaAPIsVB/Eo66ayVq
	/ps9uEfRNajTl4/dPOYlzTekQhoIfE3uTmEmCgp4o/uBhMJb/AmsNZDRbxm+2U8Lf+04=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172091-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172091: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=0dc9b78a46813d61533b2bb0f7ef897a06a273be
X-Osstest-Versions-That:
    ovmf=a551de0d9310ed930cf090348c58fdec75044a53
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 02:37:25 +0000

flight 172091 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172091/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 0dc9b78a46813d61533b2bb0f7ef897a06a273be
baseline version:
 ovmf                 a551de0d9310ed930cf090348c58fdec75044a53

Last test of basis   172085  2022-08-02 17:10:27 Z    0 days
Testing same since   172091  2022-08-03 00:41:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb+tianocore@kernel.org>
  Michael D Kinney <michael.d.kinney@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a551de0d93..0dc9b78a46  0dc9b78a46813d61533b2bb0f7ef897a06a273be -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 02:41:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 02:41:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379505.612989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ4Jq-0000sV-Av; Wed, 03 Aug 2022 02:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379505.612989; Wed, 03 Aug 2022 02:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ4Jq-0000sO-88; Wed, 03 Aug 2022 02:41:10 +0000
Received: by outflank-mailman (input) for mailman id 379505;
 Wed, 03 Aug 2022 02:41:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NhsF=YH=samsung.com=boyoun.park@srs-se1.protection.inumbo.net>)
 id 1oJ4Jo-0000sB-4C
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 02:41:08 +0000
Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b60dbab2-12d5-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 04:41:04 +0200 (CEST)
Received: from epcas2p4.samsung.com (unknown [182.195.41.56])
 by mailout3.samsung.com (KnoxPortal) with ESMTP id
 20220803024100epoutp0365f3f40a2adf17f0bee0caf06ae9f059~HtWtK_3sH1449614496epoutp03N
 for <xen-devel@lists.xenproject.org>; Wed,  3 Aug 2022 02:41:00 +0000 (GMT)
Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by
 epcas2p2.samsung.com (KnoxPortal) with ESMTP id
 20220803024059epcas2p23b711231673480d9d164f17c98094ba1~HtWslRurq2641226412epcas2p2l;
 Wed,  3 Aug 2022 02:40:59 +0000 (GMT)
Received: from epsmges2p4.samsung.com (unknown [182.195.36.88]) by
 epsnrtp3.localdomain (Postfix) with ESMTP id 4LyGLy47Brz4x9Pw; Wed,  3 Aug
 2022 02:40:58 +0000 (GMT)
Received: from epcas2p3.samsung.com ( [182.195.41.55]) by
 epsmges2p4.samsung.com (Symantec Messaging Gateway) with SMTP id
 14.3F.09662.A30E9E26; Wed,  3 Aug 2022 11:40:58 +0900 (KST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b60dbab2-12d5-11ed-924f-1f966e50362f
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20220803024100epoutp0365f3f40a2adf17f0bee0caf06ae9f059~HtWtK_3sH1449614496epoutp03N
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
	s=mail20170921; t=1659494460;
	bh=vCZJVKX58LWE4JO96MPUCDYJhKq/SaJiyKAKpj+bR7Q=;
	h=Date:Subject:Reply-To:From:To:CC:In-Reply-To:References:From;
	b=vfTcKvd4E0uxYMKzurZna1wGatEz/4hSfd2MiJg53QsDefBqdAz9mNcBra69RCwGw
	 La1/Ijm+TkNOLRB3gwVKpt4nq65HU8x0D/GWht/r8URqFb35h4Bz+tDaOa1TwcFDMF
	 7RaeAxSIL+zHvj8FAUXJLYyIBrhek5KI/vxEHeDg=
X-AuditID: b6c32a48-9f7ff700000025be-e7-62e9e03a92e9
Date: Wed, 03 Aug 2022 11:40:57 +0900
Message-ID: <1470588578.9967963.1659494457934@mail-kr2-1>
Mime-Version: 1.0
Subject: [PATCH v2 1/2] xen: add late init call in start_xen
Reply-To: boyoun.park@samsung.com
Sender: Boyoun Park <boyoun.park@samsung.com>
From: Boyoun Park <boyoun.park@samsung.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
	Beulich <jbeulich@suse.com>, "julien@xen.org" <julien@xen.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>, "wl@xen.org"
	<wl@xen.org>, "roger.pau@citrix.com" <roger.pau@citrix.com>, Chungwoo Park
	<cww.park@samsung.com>, Gang Li <gang30.li@samsung.com>, Lei Wang
	<lei19.wang@samsung.com>, SoungKwan Kimn <sk.kimn@samsung.com>, DongJin PARK
	<djpax.park@samsung.com>, Joonjae Lee <joonjae7.lee@samsung.com>
X-Priority: 3
X-Content-Kind-Code: NORMAL
In-Reply-To: <alpine.DEB.2.22.394.2207291447080.4648@ubuntu-linux-20-04-desktop>
X-CPGS-Detection: blocking_info_exchange
X-Drm-Type: N,general
X-Msg-Generator: Mail
X-Msg-Type: PERSONAL
X-Reply-Demand: N
X-CMS-MailID: 20220803024057epcms2p8023b3e48176f0dcbb3f2ecdb08c0c92c
Content-Type: multipart/mixed;
	boundary="----=_Part_9967962_701826072.1659494457934"
X-Sendblock-Type: AUTO_CONFIDENTIAL
CMS-TYPE: 102P
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrDJsWRmVeSWpSXmKPExsWy7bCmua7Vg5dJBisWyFgsfryL3WLpks1M
	FqdmdTJZLDt8j93iwse9LBbzOw4xWfzc85DNorPrC6vF59mT2SzadlxmtZhxfjGrRePCeIvV
	6+It/i2NsPi4Rtzi+5bJTA4CHmvmrWH0eD15AqPHnaU7GT02repk8zj84QqLR9+WVYwe67dc
	ZfE4fWsWWwBHVLZNRmpiSmqRQmpecn5KZl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+A
	rltmDtD9SgpliTmlQKGAxOJiJX07m6L80pJUhYz84hJbpdSClJwC8wK94sTc4tK8dL281BIr
	QwMDI1OgwoTsjJ8rVzEXrKur2LzrAlMD456qLkYODgkBE4npB2W6GLk4hAR2MEqsnPmRsYuR
	k4NFQFVi0p8b7CA2r4ClxK7GZkaQel4BQYm/O4RBwsICNhKXV+wDKxESUJRoPbOQHSKuK9HT
	tZcNxGYT0JZ4cfMWC4gtIqAvsel2I1gNs8AyVomVL3lBbAkBXokZ7U9ZIGxpie3Lt4KdwCkQ
	IPHs+yRGiLiGxI9lvcwQtqjEzdVv2WHs98fmQ9WISLTeOwtVIyjx4OduqLiUROOnQ1D1xRJz
	+tazg/wrIdDAKHHz4kUmiIS+xJSWOawQtovEvinLGCEODZO4fvM+OySslCWOQPzCLMAn0XH4
	LzvM/TvmPYEaoyrxq+kFI8wve862Q9keEodfPGGBhHMjs8SeP4vZJjAqzEIE6Swk2yBsbYll
	C18zg5QwC2hKrN+lDxFWk5jS/4UNwo6VaO04BVWuKDGl+yH7Akb2VYxiqQXFuempxUYFJvDE
	kJyfu4kRnPS1PHYwzn77Qe8QIxMH4yFGFaDeRxtWX2CUYsnLz0tVEuG94/I8SYg3JbGyKrUo
	P76oNCe1+BCjKTBNTGSWEk3OB+ajvJJ4QxNLAxMzM0NzI1MDcyVxXq+UDYlCAumJJanZqakF
	qUUwfUwcnFINTMfXiNh1zWBSfb/EXNHGStR//S2n+hKnntrSxoh3r94IzvbUSoz0VdjNl71V
	U81wilDfRbmbH3ofvfQ7Mr+Vq/NAZLPptu4FeydfvKt3YtL52HsqX0secZzaP9mJ7foU3SKf
	JVUtVSdvG5y4n9z+z+7x65O9XixH4hUd/58ICXY806GUdv4fczPr92MnlonOnm8cz7zNYcmM
	YI935gYtXn/PRinLZbz5xqy7tuzitECh+jxtD1fbqr+v1F53es3Z4x608lFi1nsRnw8tD1Y/
	jwrpd2lbtn+z1d3ZMabf7xWu0vhgO7/8l1Zzn0PXfLnfDWELQ+S2H922rHSVxmFjWR435eRr
	y2/kHe9/suZBlhJLcUaioRZzUXEiAICJgOOPBAAA
DLP-Filter: Pass
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20220728092237epcms2p53821bba31388763f45b5204d56520c20
References: <alpine.DEB.2.22.394.2207291447080.4648@ubuntu-linux-20-04-desktop>
	<alpine.DEB.2.22.394.2207281251160.4648@ubuntu-linux-20-04-desktop>
	<97499212.9948800.1659000157467@mail-kr2-3>
	<88025800-66e2-4fb4-facf-5989e75ba08f@suse.com>
	<20220729110313epcms2p5f9b24d5a65b98c220a6e99675298560f@epcms2p5>
	<CGME20220728092237epcms2p53821bba31388763f45b5204d56520c20@epcms2p8>

------=_Part_9967962_701826072.1659494457934
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Thank you for your reply. I will seriously consider contributing
platform specific drivers. Currently, I make a sample usage by applying thi=
s
to a function in start_xen. I think functions in start_xen could be reduced
for readability and understandability.
These patches are just one of my suggestion. So feel free to reject it.

On Sat, 30 Jul 2022, Stefano=C2=A0Stabellini=20wrote:=0D=0A>=20On=C2=A0Fri,=
=C2=A029=C2=A0Jul=C2=A02022,=C2=A0Boyoun=C2=A0Park=C2=A0wrote:=0D=0A>>=C2=
=A0I=C2=A0really=C2=A0appreciate=C2=A0all=C2=A0the=C2=A0comments=C2=A0and=
=C2=A0reviews.=0D=0A>>=C2=A0I=C2=A0understand=C2=A0that=C2=A0it=C2=A0is=C2=
=A0hard=C2=A0to=C2=A0add=C2=A0this=C2=A0patch=C2=A0without=C2=A0any=C2=A0us=
age.=0D=0A>>=C2=A0=0D=0A>>=C2=A0On=C2=A0Fri,=C2=A029=C2=A0Jul=C2=A02022,=C2=
=A0Stefano=C2=A0Stabellini:=0D=0A>>>=C2=A0On=C2=A0Thu,=C2=A028=C2=A0Jul=C2=
=A02022,=C2=A0Jan=C2=A0Beulich=C2=A0wrote:=0D=0A>>>>=C2=A0On=C2=A028.07.202=
2=C2=A011:22,=C2=A0Boyoun=C2=A0Park=C2=A0wrote:=0D=0A>>>>>=C2=A0Subject:=C2=
=A0=5BPATCH=C2=A0v1=5D=C2=A0xen:=C2=A0add=C2=A0late=C2=A0init=C2=A0call=C2=
=A0in=C2=A0start_xen=0D=0A>>>>>=C2=A0=0D=0A>>>>>=C2=A0This=C2=A0patch=C2=A0=
added=C2=A0late_initcall=C2=A0section=C2=A0in=C2=A0init.data.=0D=0A>>>>>=C2=
=A0=0D=0A>>>>>=C2=A0The=C2=A0late=C2=A0initcall=C2=A0would=C2=A0be=C2=A0cal=
led=C2=A0after=C2=A0initcall=0D=0A>>>>>=C2=A0=0D=0A>>>>>=C2=A0in=C2=A0the=
=C2=A0start_xen=C2=A0function.=0D=0A>>>>>=C2=A0=0D=0A>>>>>=C2=A0Some=C2=A0i=
nitializing=C2=A0works=C2=A0on=C2=A0priority=C2=A0should=C2=A0be=C2=A0run=
=0D=0A>>>>>=C2=A0=0D=0A>>>>>=C2=A0in=C2=A0do_initcalls=C2=A0and=C2=A0other=
=C2=A0non-prioritized=C2=A0works=0D=0A>>>>>=C2=A0=0D=0A>>>>>=C2=A0would=C2=
=A0be=C2=A0run=C2=A0in=C2=A0do_late_initcalls.=0D=0A>>>>>=C2=A0=0D=0A>>>>>=
=C2=A0To=C2=A0call=C2=A0some=C2=A0functions=C2=A0by=C2=A0late_initcall,=0D=
=0A>>>>>=C2=A0=0D=0A>>>>>=C2=A0then=C2=A0it=C2=A0is=C2=A0possible=C2=A0by=
=C2=A0using=0D=0A>>>>>=C2=A0=0D=0A>>>>>=C2=A0__late_initcall(/*Function=C2=
=A0Name*/);=0D=0A>>>>>=C2=A0=0D=0A>>>>>=C2=A0Signed-off-by:=C2=A0Boyoun=C2=
=A0Park=C2=A0<boyoun.park=40samsung.com>=0D=0A>>>>=C2=A0=0D=0A>>>>=C2=A0So=
=C2=A0I=C2=A0could=C2=A0imagine=C2=A0this=C2=A0patch=C2=A0to=C2=A0be=C2=A0i=
n=C2=A0a=C2=A0series=C2=A0where=C2=A0a=C2=A0subsequent=0D=0A>>>>=C2=A0patch=
=C2=A0then=C2=A0adds=C2=A0an=C2=A0actual=C2=A0use=C2=A0of=C2=A0the=C2=A0new=
=C2=A0functionality.=C2=A0Without=0D=0A>>>>=C2=A0that=C2=A0what=C2=A0you're=
=C2=A0proposing=C2=A0is=C2=A0to=C2=A0add=C2=A0dead=C2=A0code.=0D=0A>>>=C2=
=A0=0D=0A>>>=C2=A0Yeah,=C2=A0I=C2=A0think=C2=A0it=C2=A0would=C2=A0be=C2=A0c=
ool=C2=A0to=C2=A0have=C2=A0late=C2=A0initcalls=C2=A0but=C2=A0it=C2=A0makes=
=C2=A0sense=0D=0A>>>=C2=A0to=C2=A0add=C2=A0them=C2=A0if=C2=A0we=C2=A0have=
=C2=A0someone=C2=A0that=C2=A0makes=C2=A0use=C2=A0of=C2=A0them.=0D=0A>>=C2=
=A0=0D=0A>>=C2=A0I=C2=A0totally=C2=A0agree=C2=A0with=C2=A0your=C2=A0comment=
s.=C2=A0Some=C2=A0drivers=C2=A0that=C2=A0I'm=C2=A0developing=C2=A0now=C2=A0=
and=C2=A0use=C2=A0this=C2=A0function=C2=A0are=C2=A0specific=C2=A0to=C2=A0my=
=C2=A0hardware=C2=A0environment.=0D=0A>>=C2=A0Thus,=C2=A0it=C2=A0seems=C2=
=A0difficult=C2=A0to=C2=A0arrange=C2=A0them=C2=A0in=C2=A0the=C2=A0near=C2=
=A0future.=0D=0A>>=C2=A0I=C2=A0will=C2=A0update=C2=A0patches=C2=A0if=C2=A0I=
=C2=A0can=C2=A0suggest=C2=A0an=C2=A0actual=C2=A0use.=0D=0A>=20=0D=0A>=20I=
=C2=A0totally=C2=A0understand=C2=A0custom=C2=A0setups=C2=A0and=C2=A0non-ups=
treamable=C2=A0configurations=0D=0A>=20and=C2=A0I=C2=A0have=C2=A0certainly=
=C2=A0some=C2=A0of=C2=A0them=C2=A0myself.=0D=0A>=20=0D=0A>=20However,=C2=A0=
I=C2=A0just=C2=A0wanted=C2=A0to=C2=A0let=C2=A0you=C2=A0know=C2=A0that=C2=A0=
we=C2=A0are=C2=A0fine=C2=A0with=C2=A0accepting=0D=0A>=20platform=C2=A0speci=
fic=C2=A0drivers=C2=A0in=C2=A0Xen=C2=A0where=C2=A0it=C2=A0makes=C2=A0sense,=
=C2=A0for=C2=A0instance:=0D=0A>=20=0D=0A>=20-=C2=A0Renesas=C2=A0IPMMU-VMSA=
=C2=A0found=C2=A0in=C2=A0R-Car=C2=A0Gen3/Gen4=C2=A0SoCs=C2=A0(an=C2=A0IOMMU=
=C2=A0driver)=0D=0A>=20xen/drivers/passthrough/arm/ipmmu-vmsa.c=0D=0A>=20=
=0D=0A>=20-=C2=A0Xilinx=C2=A0EEMI=C2=A0firmware=C2=A0interface=C2=A0=22medi=
ator=22=C2=A0in=C2=A0Xen=C2=A0(power=C2=A0management)=0D=0A>=20xen/arch/arm=
/platforms/xilinx-zynqmp-eemi.c=0D=0A=0D=0AFrom:=20Boyoun=20Park=20<boyoun.=
park=40samsung.com>=0D=0ADate:=20Tue,=2015=20Mar=202022=2012:57:59=20+0900=
=0D=0ASubject:=20=5BPATCH=20v2=201/2=5D=20xen:=20add=20late=20init=20call=
=20in=20start_xen=0D=0A=0D=0AThis=20patch=20added=20late_initcall=20section=
=20in=20init.data.=0D=0AThe=20late=20initcall=20would=20be=20called=20after=
=20initcall=0D=0Ain=20the=20start_xen=20function.=0D=0A=0D=0ASome=20initial=
izing=20works=20on=20priority=20should=20be=20run=0D=0Ain=20do_initcalls=20=
and=20other=20non-prioritized=20works=0D=0Awould=20be=20run=20in=20do_late_=
initcalls.=0D=0A=0D=0ATo=20call=20some=20functions=20by=20late_initcall,=0D=
=0Athen=20it=20is=20possible=20by=20using=0D=0A__late_initcall(/*Function=
=20Name*/);=0D=0A=0D=0ASigned-off-by:=20Boyoun=20Park=20<boyoun.park=40sams=
ung.com>=0D=0A---=0D=0A=20xen/arch/arm/setup.c=20=20=20=7C=202=20++=0D=0A=
=20xen/arch/arm/xen.lds.S=20=7C=202=20++=0D=0A=20xen/arch/x86/setup.c=20=20=
=20=7C=202=20++=0D=0A=20xen/arch/x86/xen.lds.S=20=7C=202=20++=0D=0A=20xen/c=
ommon/kernel.c=20=20=20=20=7C=209=20++++++++-=0D=0A=20xen/include/xen/init.=
h=20=7C=203=20+++=0D=0A=206=20files=20changed,=2019=20insertions(+),=201=20=
deletion(-)=0D=0A=0D=0Adiff=20--git=20a/xen/arch/arm/setup.c=20b/xen/arch/a=
rm/setup.c=0D=0Aindex=2085ff956..332a207=20100644=0D=0A---=20a/xen/arch/arm=
/setup.c=0D=0A+++=20b/xen/arch/arm/setup.c=0D=0A=40=40=20-1063,6=20+1063,8=
=20=40=40=20void=20__init=20start_xen(unsigned=20long=20boot_phys_offset,=
=0D=0A=20=20=20=20=20/*=20Hide=20UART=20from=20DOM0=20if=20we're=20using=20=
it=20*/=0D=0A=20=20=20=20=20serial_endboot();=0D=0A=20=0D=0A+=20=20=20=20do=
_late_initcalls();=0D=0A+=0D=0A=20=20=20=20=20if=20(=20(rc=20=3D=20xsm_set_=
system_active())=20=21=3D=200=20)=0D=0A=20=20=20=20=20=20=20=20=20panic(=22=
xsm:=20unable=20to=20switch=20to=20SYSTEM_ACTIVE=20privilege:=20%d=5Cn=22,=
=20rc);=0D=0A=20=0D=0Adiff=20--git=20a/xen/arch/arm/xen.lds.S=20b/xen/arch/=
arm/xen.lds.S=0D=0Aindex=201e986e2..215e2c3=20100644=0D=0A---=20a/xen/arch/=
arm/xen.lds.S=0D=0A+++=20b/xen/arch/arm/xen.lds.S=0D=0A=40=40=20-163,6=20+1=
63,8=20=40=40=20SECTIONS=0D=0A=20=20=20=20=20=20=20=20__presmp_initcall_end=
=20=3D=20.;=0D=0A=20=20=20=20=20=20=20=20*(.initcall1.init)=0D=0A=20=20=20=
=20=20=20=20=20__initcall_end=20=3D=20.;=0D=0A+=20=20=20=20=20=20=20*(.init=
calllate.init)=0D=0A+=20=20=20=20=20=20=20__late_initcall_end=20=3D=20.;=0D=
=0A=20=0D=0A=20=20=20=20=20=20=20=20.=20=3D=20ALIGN(4);=0D=0A=20=20=20=20=
=20=20=20=20__alt_instructions=20=3D=20.;=0D=0Adiff=20--git=20a/xen/arch/x8=
6/setup.c=20b/xen/arch/x86/setup.c=0D=0Aindex=20f08b07b..5dc6654=20100644=
=0D=0A---=20a/xen/arch/x86/setup.c=0D=0A+++=20b/xen/arch/x86/setup.c=0D=0A=
=40=40=20-1952,6=20+1952,8=20=40=40=20void=20__init=20noreturn=20__start_xe=
n(unsigned=20long=20mbi_p)=0D=0A=20=0D=0A=20=20=20=20=20setup_io_bitmap(dom=
0);=0D=0A=20=0D=0A+=20=20=20=20do_late_initcalls();=0D=0A+=0D=0A=20=20=20=
=20=20if=20(=20bsp_delay_spec_ctrl=20)=0D=0A=20=20=20=20=20=7B=0D=0A=20=20=
=20=20=20=20=20=20=20info->spec_ctrl_flags=20&=3D=20=7ESCF_use_shadow;=0D=
=0Adiff=20--git=20a/xen/arch/x86/xen.lds.S=20b/xen/arch/x86/xen.lds.S=0D=0A=
index=208930e14..c90c7b0=20100644=0D=0A---=20a/xen/arch/x86/xen.lds.S=0D=0A=
+++=20b/xen/arch/x86/xen.lds.S=0D=0A=40=40=20-250,6=20+250,8=20=40=40=20SEC=
TIONS=0D=0A=20=20=20=20=20=20=20=20__presmp_initcall_end=20=3D=20.;=0D=0A=
=20=20=20=20=20=20=20=20*(.initcall1.init)=0D=0A=20=20=20=20=20=20=20=20__i=
nitcall_end=20=3D=20.;=0D=0A+=20=20=20=20=20=20=20*(.initcalllate.init)=0D=
=0A+=20=20=20=20=20=20=20__late_initcall_end=20=3D=20.;=0D=0A=20=0D=0A=20=
=20=20=20=20=20=20=20*(.init.data)=0D=0A=20=20=20=20=20=20=20=20*(.init.dat=
a.rel)=0D=0Adiff=20--git=20a/xen/common/kernel.c=20b/xen/common/kernel.c=0D=
=0Aindex=20f8134d3..5a3d037=20100644=0D=0A---=20a/xen/common/kernel.c=0D=0A=
+++=20b/xen/common/kernel.c=0D=0A=40=40=20-369,7=20+369,7=20=40=40=20void=
=20add_taint(unsigned=20int=20flag)=0D=0A=20=7D=0D=0A=20=0D=0A=20extern=20c=
onst=20initcall_t=20__initcall_start=5B=5D,=20__presmp_initcall_end=5B=5D,=
=0D=0A-=20=20=20=20__initcall_end=5B=5D;=0D=0A+=20=20=20=20__initcall_end=
=5B=5D,=20__late_initcall_end=5B=5D;=0D=0A=20=0D=0A=20void=20__init=20do_pr=
esmp_initcalls(void)=0D=0A=20=7B=0D=0A=40=40=20-385,6=20+385,13=20=40=40=20=
void=20__init=20do_initcalls(void)=0D=0A=20=20=20=20=20=20=20=20=20(*call)(=
);=0D=0A=20=7D=0D=0A=20=0D=0A+void=20__init=20do_late_initcalls(void)=0D=0A=
+=7B=0D=0A+=20=20=20=20const=20initcall_t=20*call;=0D=0A+=20=20=20=20for=20=
(=20call=20=3D=20__initcall_end;=20call=20<=20__late_initcall_end;=20call++=
=20)=0D=0A+=20=20=20=20=20=20=20=20(*call)();=0D=0A+=7D=0D=0A+=0D=0A=20=23i=
fdef=20CONFIG_HYPFS=0D=0A=20static=20unsigned=20int=20__read_mostly=20major=
_version;=0D=0A=20static=20unsigned=20int=20__read_mostly=20minor_version;=
=0D=0Adiff=20--git=20a/xen/include/xen/init.h=20b/xen/include/xen/init.h=0D=
=0Aindex=200af0e23..48210ee=20100644=0D=0A---=20a/xen/include/xen/init.h=0D=
=0A+++=20b/xen/include/xen/init.h=0D=0A=40=40=20-68,11=20+68,14=20=40=40=20=
typedef=20void=20(*exitcall_t)(void);=0D=0A=20=20=20=20=20const=20static=20=
initcall_t=20__initcall_=23=23fn=20__init_call(=22presmp=22)=20=3D=20fn=0D=
=0A=20=23define=20__initcall(fn)=20=5C=0D=0A=20=20=20=20=20const=20static=
=20initcall_t=20__initcall_=23=23fn=20__init_call(=221=22)=20=3D=20fn=0D=0A=
+=23define=20__late_initcall(fn)=20=5C=0D=0A+=20=20=20=20const=20static=20i=
nitcall_t=20__initcall_=23=23fn=20__init_call(=22late=22)=20=3D=20fn=0D=0A=
=20=23define=20__exitcall(fn)=20=5C=0D=0A=20=20=20=20=20static=20exitcall_t=
=20__exitcall_=23=23fn=20__exit_call=20=3D=20fn=0D=0A=20=0D=0A=20void=20do_=
presmp_initcalls(void);=0D=0A=20void=20do_initcalls(void);=0D=0A+void=20do_=
late_initcalls(void);=0D=0A=20=0D=0A=20=23endif=20/*=20__ASSEMBLY__=20*/=0D=
=0A=20=0D=0A--=20=0D=0A2.7.4=0D=0A=0D=0ABoyoun=20Park
------=_Part_9967962_701826072.1659494457934
Content-Type: application/octet-stream
Content-Disposition: attachment;
	filename="v2-0001-xen-add-late-init-call-in-start_xen.patch"
Content-Transfer-Encoding: base64

RnJvbSA1ZmQ1OGFjODY3OTE4OWE4Nzg2MDllNDViNGJjZTFlNzhkZWU0ODQ4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpNZXNzYWdlLUlkOiA8NWZkNThhYzg2NzkxODlhODc4NjA5ZTQ1YjRiY2Ux
ZTc4ZGVlNDg0OC4xNjU5NDkyODE4LmdpdC5ib3lvdW4ucGFya0BzYW1zdW5nLmNvbT4KRnJvbTog
Qm95b3VuIFBhcmsgPGJveW91bi5wYXJrQHNhbXN1bmcuY29tPgpEYXRlOiBUdWUsIDE1IE1hciAy
MDIyIDEyOjU3OjU5ICswOTAwClN1YmplY3Q6IFtQQVRDSCB2MiAxLzJdIHhlbjogYWRkIGxhdGUg
aW5pdCBjYWxsIGluIHN0YXJ0X3hlbgoKVGhpcyBwYXRjaCBhZGRlZCBsYXRlX2luaXRjYWxsIHNl
Y3Rpb24gaW4gaW5pdC5kYXRhLgpUaGUgbGF0ZSBpbml0Y2FsbCB3b3VsZCBiZSBjYWxsZWQgYWZ0
ZXIgaW5pdGNhbGwKaW4gdGhlIHN0YXJ0X3hlbiBmdW5jdGlvbi4KClNvbWUgaW5pdGlhbGl6aW5n
IHdvcmtzIG9uIHByaW9yaXR5IHNob3VsZCBiZSBydW4KaW4gZG9faW5pdGNhbGxzIGFuZCBvdGhl
ciBub24tcHJpb3JpdGl6ZWQgd29ya3MKd291bGQgYmUgcnVuIGluIGRvX2xhdGVfaW5pdGNhbGxz
LgoKVG8gY2FsbCBzb21lIGZ1bmN0aW9ucyBieSBsYXRlX2luaXRjYWxsLAp0aGVuIGl0IGlzIHBv
c3NpYmxlIGJ5IHVzaW5nCl9fbGF0ZV9pbml0Y2FsbCgvKkZ1bmN0aW9uIE5hbWUqLyk7CgpTaWdu
ZWQtb2ZmLWJ5OiBCb3lvdW4gUGFyayA8Ym95b3VuLnBhcmtAc2Ftc3VuZy5jb20+Ci0tLQogeGVu
L2FyY2gvYXJtL3NldHVwLmMgICB8IDIgKysKIHhlbi9hcmNoL2FybS94ZW4ubGRzLlMgfCAyICsr
CiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgIHwgMiArKwogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyB8
IDIgKysKIHhlbi9jb21tb24va2VybmVsLmMgICAgfCA5ICsrKysrKysrLQogeGVuL2luY2x1ZGUv
eGVuL2luaXQuaCB8IDMgKysrCiA2IGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDEg
ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNo
L2FybS9zZXR1cC5jCmluZGV4IDg1ZmY5NTYuLjMzMmEyMDcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L2FybS9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCkBAIC0xMDYzLDYgKzEwNjMs
OCBAQCB2b2lkIF9faW5pdCBzdGFydF94ZW4odW5zaWduZWQgbG9uZyBib290X3BoeXNfb2Zmc2V0
LAogICAgIC8qIEhpZGUgVUFSVCBmcm9tIERPTTAgaWYgd2UncmUgdXNpbmcgaXQgKi8KICAgICBz
ZXJpYWxfZW5kYm9vdCgpOwogCisgICAgZG9fbGF0ZV9pbml0Y2FsbHMoKTsKKwogICAgIGlmICgg
KHJjID0geHNtX3NldF9zeXN0ZW1fYWN0aXZlKCkpICE9IDAgKQogICAgICAgICBwYW5pYygieHNt
OiB1bmFibGUgdG8gc3dpdGNoIHRvIFNZU1RFTV9BQ1RJVkUgcHJpdmlsZWdlOiAlZFxuIiwgcmMp
OwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0veGVuLmxkcy5TIGIveGVuL2FyY2gvYXJtL3hl
bi5sZHMuUwppbmRleCAxZTk4NmUyLi4yMTVlMmMzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0v
eGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKQEAgLTE2Myw2ICsxNjMsOCBA
QCBTRUNUSU9OUwogICAgICAgIF9fcHJlc21wX2luaXRjYWxsX2VuZCA9IC47CiAgICAgICAgKigu
aW5pdGNhbGwxLmluaXQpCiAgICAgICAgX19pbml0Y2FsbF9lbmQgPSAuOworICAgICAgICooLmlu
aXRjYWxsbGF0ZS5pbml0KQorICAgICAgIF9fbGF0ZV9pbml0Y2FsbF9lbmQgPSAuOwogCiAgICAg
ICAgLiA9IEFMSUdOKDQpOwogICAgICAgIF9fYWx0X2luc3RydWN0aW9ucyA9IC47CmRpZmYgLS1n
aXQgYS94ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCmluZGV4IGYw
OGIwN2IuLjVkYzY2NTQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCisrKyBiL3hl
bi9hcmNoL3g4Ni9zZXR1cC5jCkBAIC0xOTUyLDYgKzE5NTIsOCBAQCB2b2lkIF9faW5pdCBub3Jl
dHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogCiAgICAgc2V0dXBfaW9fYml0
bWFwKGRvbTApOwogCisgICAgZG9fbGF0ZV9pbml0Y2FsbHMoKTsKKwogICAgIGlmICggYnNwX2Rl
bGF5X3NwZWNfY3RybCApCiAgICAgewogICAgICAgICBpbmZvLT5zcGVjX2N0cmxfZmxhZ3MgJj0g
flNDRl91c2Vfc2hhZG93OwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3hlbi5sZHMuUyBiL3hl
bi9hcmNoL3g4Ni94ZW4ubGRzLlMKaW5kZXggODkzMGUxNC4uYzkwYzdiMCAxMDA2NDQKLS0tIGEv
eGVuL2FyY2gveDg2L3hlbi5sZHMuUworKysgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCkBAIC0y
NTAsNiArMjUwLDggQEAgU0VDVElPTlMKICAgICAgICBfX3ByZXNtcF9pbml0Y2FsbF9lbmQgPSAu
OwogICAgICAgICooLmluaXRjYWxsMS5pbml0KQogICAgICAgIF9faW5pdGNhbGxfZW5kID0gLjsK
KyAgICAgICAqKC5pbml0Y2FsbGxhdGUuaW5pdCkKKyAgICAgICBfX2xhdGVfaW5pdGNhbGxfZW5k
ID0gLjsKIAogICAgICAgICooLmluaXQuZGF0YSkKICAgICAgICAqKC5pbml0LmRhdGEucmVsKQpk
aWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9rZXJuZWwuYyBiL3hlbi9jb21tb24va2VybmVsLmMKaW5k
ZXggZjgxMzRkMy4uNWEzZDAzNyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9rZXJuZWwuYworKysg
Yi94ZW4vY29tbW9uL2tlcm5lbC5jCkBAIC0zNjksNyArMzY5LDcgQEAgdm9pZCBhZGRfdGFpbnQo
dW5zaWduZWQgaW50IGZsYWcpCiB9CiAKIGV4dGVybiBjb25zdCBpbml0Y2FsbF90IF9faW5pdGNh
bGxfc3RhcnRbXSwgX19wcmVzbXBfaW5pdGNhbGxfZW5kW10sCi0gICAgX19pbml0Y2FsbF9lbmRb
XTsKKyAgICBfX2luaXRjYWxsX2VuZFtdLCBfX2xhdGVfaW5pdGNhbGxfZW5kW107CiAKIHZvaWQg
X19pbml0IGRvX3ByZXNtcF9pbml0Y2FsbHModm9pZCkKIHsKQEAgLTM4NSw2ICszODUsMTMgQEAg
dm9pZCBfX2luaXQgZG9faW5pdGNhbGxzKHZvaWQpCiAgICAgICAgICgqY2FsbCkoKTsKIH0KIAor
dm9pZCBfX2luaXQgZG9fbGF0ZV9pbml0Y2FsbHModm9pZCkKK3sKKyAgICBjb25zdCBpbml0Y2Fs
bF90ICpjYWxsOworICAgIGZvciAoIGNhbGwgPSBfX2luaXRjYWxsX2VuZDsgY2FsbCA8IF9fbGF0
ZV9pbml0Y2FsbF9lbmQ7IGNhbGwrKyApCisgICAgICAgICgqY2FsbCkoKTsKK30KKwogI2lmZGVm
IENPTkZJR19IWVBGUwogc3RhdGljIHVuc2lnbmVkIGludCBfX3JlYWRfbW9zdGx5IG1ham9yX3Zl
cnNpb247CiBzdGF0aWMgdW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgbWlub3JfdmVyc2lvbjsK
ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9pbml0LmggYi94ZW4vaW5jbHVkZS94ZW4vaW5p
dC5oCmluZGV4IDBhZjBlMjMuLjQ4MjEwZWUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9p
bml0LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2luaXQuaApAQCAtNjgsMTEgKzY4LDE0IEBAIHR5
cGVkZWYgdm9pZCAoKmV4aXRjYWxsX3QpKHZvaWQpOwogICAgIGNvbnN0IHN0YXRpYyBpbml0Y2Fs
bF90IF9faW5pdGNhbGxfIyNmbiBfX2luaXRfY2FsbCgicHJlc21wIikgPSBmbgogI2RlZmluZSBf
X2luaXRjYWxsKGZuKSBcCiAgICAgY29uc3Qgc3RhdGljIGluaXRjYWxsX3QgX19pbml0Y2FsbF8j
I2ZuIF9faW5pdF9jYWxsKCIxIikgPSBmbgorI2RlZmluZSBfX2xhdGVfaW5pdGNhbGwoZm4pIFwK
KyAgICBjb25zdCBzdGF0aWMgaW5pdGNhbGxfdCBfX2luaXRjYWxsXyMjZm4gX19pbml0X2NhbGwo
ImxhdGUiKSA9IGZuCiAjZGVmaW5lIF9fZXhpdGNhbGwoZm4pIFwKICAgICBzdGF0aWMgZXhpdGNh
bGxfdCBfX2V4aXRjYWxsXyMjZm4gX19leGl0X2NhbGwgPSBmbgogCiB2b2lkIGRvX3ByZXNtcF9p
bml0Y2FsbHModm9pZCk7CiB2b2lkIGRvX2luaXRjYWxscyh2b2lkKTsKK3ZvaWQgZG9fbGF0ZV9p
bml0Y2FsbHModm9pZCk7CiAKICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KIAotLSAKMi43LjQK
Cg==

------=_Part_9967962_701826072.1659494457934--


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 02:44:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 02:44:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379512.613000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ4Mp-0001TP-Pw; Wed, 03 Aug 2022 02:44:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379512.613000; Wed, 03 Aug 2022 02:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ4Mp-0001TI-N8; Wed, 03 Aug 2022 02:44:15 +0000
Received: by outflank-mailman (input) for mailman id 379512;
 Wed, 03 Aug 2022 02:44:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NhsF=YH=samsung.com=boyoun.park@srs-se1.protection.inumbo.net>)
 id 1oJ4Mo-0001TC-8Y
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 02:44:14 +0000
Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 271a6174-12d6-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 04:44:12 +0200 (CEST)
Received: from epcas2p4.samsung.com (unknown [182.195.41.56])
 by mailout1.samsung.com (KnoxPortal) with ESMTP id
 20220803024409epoutp0162dc1b2e5e54efe5e11ddc4642c05194~HtZdzF9zr0796607966epoutp01R
 for <xen-devel@lists.xenproject.org>; Wed,  3 Aug 2022 02:44:09 +0000 (GMT)
Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by
 epcas2p2.samsung.com (KnoxPortal) with ESMTP id
 20220803024409epcas2p26103aa155034409ab6a66920bfb00c03~HtZdM5PLa3089130891epcas2p26;
 Wed,  3 Aug 2022 02:44:09 +0000 (GMT)
Received: from epsmges2p2.samsung.com (unknown [182.195.36.70]) by
 epsnrtp3.localdomain (Postfix) with ESMTP id 4LyGQc2hZnz4x9Q0; Wed,  3 Aug
 2022 02:44:08 +0000 (GMT)
Received: from epcas2p3.samsung.com ( [182.195.41.55]) by
 epsmges2p2.samsung.com (Symantec Messaging Gateway) with SMTP id
 F5.63.09650.8F0E9E26; Wed,  3 Aug 2022 11:44:08 +0900 (KST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 271a6174-12d6-11ed-bd2d-47488cf2e6aa
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20220803024409epoutp0162dc1b2e5e54efe5e11ddc4642c05194~HtZdzF9zr0796607966epoutp01R
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
	s=mail20170921; t=1659494649;
	bh=vSLU8kXF3mDoua1yVqGRtcIV/QdQxoaJke5YWxbr2Pk=;
	h=Date:Subject:Reply-To:From:To:CC:In-Reply-To:References:From;
	b=E5AKdE7ZjBqqLg69GJv8pB/pYJyR5KW2jwWtoTkblp4A57yj5Vi2EZNY41ZGIuy1g
	 6VNoNfklkYUqCr0bYMSiKapzoubAuEKjHX/ry47+axdGUwB4ypx4knyYkhQs4m+jeE
	 +Ubfe87XZIWgcFWUUQNubDRmUOeKC4yPnmyNsVjU=
X-AuditID: b6c32a46-0b9ff700000025b2-6d-62e9e0f8dbc7
Date: Wed, 03 Aug 2022 11:44:07 +0900
Message-ID: <1238367271.9969045.1659494647714@mail-kr2-1>
Mime-Version: 1.0
Subject: [PATCH v2 2/2] xen: remove init_constructors out of start_xen
Reply-To: boyoun.park@samsung.com
Sender: Boyoun Park <boyoun.park@samsung.com>
From: Boyoun Park <boyoun.park@samsung.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
	Beulich <jbeulich@suse.com>, "julien@xen.org" <julien@xen.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>, "wl@xen.org"
	<wl@xen.org>, "roger.pau@citrix.com" <roger.pau@citrix.com>, Chungwoo Park
	<cww.park@samsung.com>, Gang Li <gang30.li@samsung.com>, Lei Wang
	<lei19.wang@samsung.com>, SoungKwan Kimn <sk.kimn@samsung.com>, DongJin PARK
	<djpax.park@samsung.com>, Joonjae Lee <joonjae7.lee@samsung.com>
X-Priority: 3
X-Content-Kind-Code: NORMAL
In-Reply-To: <1470588578.9967963.1659494457934@mail-kr2-1>
X-CPGS-Detection: blocking_info_exchange
X-Drm-Type: N,general
X-Msg-Generator: Mail
X-Msg-Type: PERSONAL
X-Reply-Demand: N
X-CMS-MailID: 20220803024407epcms2p208a983abf94dd9d5732d85b715c6b95a
Content-Type: multipart/mixed;
	boundary="----=_Part_9969044_1992550747.1659494647714"
X-Sendblock-Type: AUTO_CONFIDENTIAL
CMS-TYPE: 102P
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrDJsWRmVeSWpSXmKPExsWy7bCmue6PBy+TDB4vELBY/HgXu8XSJZuZ
	LE7N6mSyWHb4HrvFhY97WSzmdxxisvi55yGbRWfXF1aLz7Mns1m07bjMajHj/GJWi8aF8Rar
	18Vb/FsaYfFxjbjF9y2TmRwEPNbMW8Po8XryBEaPO0t3MnpsWtXJ5nH4wxUWj74tqxg91m+5
	yuJx+tYstgCOqGybjNTElNQihdS85PyUzLx0WyXv4HjneFMzA0NdQ0sLcyWFvMTcVFslF58A
	XbfMHKD7lRTKEnNKgUIBicXFSvp2NkX5pSWpChn5xSW2SqkFKTkF5gV6xYm5xaV56Xp5qSVW
	hgYGRqZAhQnZGWvudDEWrDevmLlmBUsD40ajLkZODgkBE4mJi7czdTFycQgJ7GCU+Pp+GhtI
	gkVAVeL/zb0sIDavgKXElZPX2bsYOYBsQYm/O4RBwsICbhLfJ39mArGFBBQlWs8sZIeI60r0
	dO0FG8MmoC3x4uYtsDEiAvoSm243gtUwCyxjlVj5khfiBl6JGe1PWSBsaYnty7cygticAlYS
	6z80QMU1JH4s62WGsEUlbq5+yw5jvz82nxHCFpFovXcWqkZQ4sHP3VBxKYnGT4eg6osl5vSt
	Zwf5V0KggVHi5sWLTBAJfYkpLXNYIWwXia8bPzBCHBou8frUcWaQ3yUElCWOQPzCLMAn0XH4
	LzvM/TvmPYEaoyrxq+kFI8wve862Q9keEodfPGGBhPNGZom1t6axT2BUmIUI0llItkHY8hLb
	385hBilhFtCUWL9LHyKsJjGl/wsbRDhd4vc6Z4iwosSU7ofsCxjZVzGKpRYU56anFhsVGMET
	Q3J+7iZGcNLXctvBOOXtB71DjEwcjIcYVYB6H21YfYFRiiUvPy9VSYT3jsvzJCHelMTKqtSi
	/Pii0pzU4kOMpsAkMZFZSjQ5H5iP8kriDU0sDUzMzAzNjUwNzJXEeb1SNiQKCaQnlqRmp6YW
	pBbB9DFxcEo1MB0LDn3mPmHvjaQlO9n15fcLmJ+IkeTQLPngyPNvpUj78yWLVqXJru59arlY
	zW0Pr2Py65d9H7xbp+6wnDU77e7M6X/elHVPTnp6c9a+mLaZc7ocE63kbgdWW8jcyf0n/zTC
	etG/8M5V6xc/3/60bG3N97ssT7fnrzjFKlrSXs96w10oMK/sX/7Nn3lqinfX/b7K1rOtXlxu
	Q/l18UYni+Yr1vHhcQXTfCzNXNTLD0Z4O0pUmEw74pRiH+bWae9jwDHp4+1wrviT32bKt79u
	3LLpqQLDITklpdXTzx+Y172sJfLcTfFpijvryh18V4Rql+oUB/m389xOPPpW6N7l+addo67N
	cn9Z6HpE8NrTdCWW4oxEQy3mouJEAE1sPC2PBAAA
DLP-Filter: Pass
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20220728092237epcms2p53821bba31388763f45b5204d56520c20
References: <1470588578.9967963.1659494457934@mail-kr2-1>
	<alpine.DEB.2.22.394.2207291447080.4648@ubuntu-linux-20-04-desktop>
	<alpine.DEB.2.22.394.2207281251160.4648@ubuntu-linux-20-04-desktop>
	<97499212.9948800.1659000157467@mail-kr2-3>
	<88025800-66e2-4fb4-facf-5989e75ba08f@suse.com>
	<20220729110313epcms2p5f9b24d5a65b98c220a6e99675298560f@epcms2p5>
	<CGME20220728092237epcms2p53821bba31388763f45b5204d56520c20@epcms2p2>

------=_Part_9969044_1992550747.1659494647714
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="utf-8"

From: Boyoun Park <boyoun.park@samsung.com>
Date: Wed, 3 Aug 2022 10:31:55 +0900
Subject: [PATCH v2 2/2] xen: remove init_constructors out of start_xen

This patch removed init_constructors from start_xen
by using __late_initcall.
It can be applied to other init functions in start_xen
so that only main init functions are included in there.

To use __late_initcall, the format of a function should
be changed according to initcall. Thus, the return type
of init_constructors function is changed in this patch.

Change-Id: Ife13484d346cff15983aacbfefde21d508f4690a
Signed-off-by: Boyoun Park <boyoun.park@samsung.com>
---
 xen/arch/arm/setup.c  | 2 --
 xen/arch/x86/setup.c  | 2 --
 xen/include/xen/lib.h | 2 +-
 xen/lib/ctors.c       | 6 +++++-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 332a207..6c88b31 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1056,8 +1056,6 @@ void __init start_xen(unsigned long boot_phys_offset,
 
     init_trace_bufs();
 
-    init_constructors();
-
     console_endboot();
 
     /* Hide UART from DOM0 if we're using it */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 5dc6654..603100c 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1941,8 +1941,6 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     init_trace_bufs();
 
-    init_constructors();
-
     console_endboot();
 
     /* Hide UART from DOM0 if we're using it */
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e1..8e08c29 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -211,7 +211,7 @@ extern void add_taint(unsigned int taint);
 struct cpu_user_regs;
 void cf_check dump_execstate(struct cpu_user_regs *);
 
-void init_constructors(void);
+int init_constructors(void);
 
 /*
  * bsearch - binary search an array of elements
diff --git a/xen/lib/ctors.c b/xen/lib/ctors.c
index 5bdc591..b54144b 100644
--- a/xen/lib/ctors.c
+++ b/xen/lib/ctors.c
@@ -4,7 +4,7 @@
 typedef void (*ctor_func_t)(void);
 extern const ctor_func_t __ctors_start[], __ctors_end[];
 
-void __init init_constructors(void)
+int __init init_constructors(void)
 {
     const ctor_func_t *f;
     for ( f = __ctors_start; f < __ctors_end; ++f )
@@ -12,8 +12,12 @@ void __init init_constructors(void)
 
     /* Putting this here seems as good (or bad) as any other place. */
     BUILD_BUG_ON(sizeof(size_t) != sizeof(ssize_t));
+
+    return 0;
 }
 
+__late_initcall(init_constructors);
+
 /*
  * Local variables:
  * mode: C
-- 
2.7.4
------=_Part_9969044_1992550747.1659494647714
Content-Type: application/octet-stream
Content-Disposition: attachment;
	filename="v2-0002-xen-remove-init_constructors-out-of-start_xen.patch"
Content-Transfer-Encoding: base64

RnJvbSA4MjVhMzA0ZDQ1YzgwYjgxNmIzMGZjYmM4MWUxZDNkYWI0ZjhjODFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpNZXNzYWdlLUlkOiA8ODI1YTMwNGQ0NWM4MGI4MTZiMzBmY2JjODFlMWQz
ZGFiNGY4YzgxYS4xNjU5NDkyODE4LmdpdC5ib3lvdW4ucGFya0BzYW1zdW5nLmNvbT4KSW4tUmVw
bHktVG86IDw1ZmQ1OGFjODY3OTE4OWE4Nzg2MDllNDViNGJjZTFlNzhkZWU0ODQ4LjE2NTk0OTI4
MTguZ2l0LmJveW91bi5wYXJrQHNhbXN1bmcuY29tPgpSZWZlcmVuY2VzOiA8NWZkNThhYzg2Nzkx
ODlhODc4NjA5ZTQ1YjRiY2UxZTc4ZGVlNDg0OC4xNjU5NDkyODE4LmdpdC5ib3lvdW4ucGFya0Bz
YW1zdW5nLmNvbT4KRnJvbTogQm95b3VuIFBhcmsgPGJveW91bi5wYXJrQHNhbXN1bmcuY29tPgpE
YXRlOiBXZWQsIDMgQXVnIDIwMjIgMTA6MzE6NTUgKzA5MDAKU3ViamVjdDogW1BBVENIIHYyIDIv
Ml0geGVuOiByZW1vdmUgaW5pdF9jb25zdHJ1Y3RvcnMgb3V0IG9mIHN0YXJ0X3hlbgoKVGhpcyBw
YXRjaCByZW1vdmVkIGluaXRfY29uc3RydWN0b3JzIGZyb20gc3RhcnRfeGVuCmJ5IHVzaW5nIF9f
bGF0ZV9pbml0Y2FsbC4KSXQgY2FuIGJlIGFwcGxpZWQgdG8gb3RoZXIgaW5pdCBmdW5jdGlvbnMg
aW4gc3RhcnRfeGVuCnNvIHRoYXQgb25seSBtYWluIGluaXQgZnVuY3Rpb25zIGFyZSBpbmNsdWRl
ZCBpbiB0aGVyZS4KClRvIHVzZSBfX2xhdGVfaW5pdGNhbGwsIHRoZSBmb3JtYXQgb2YgYSBmdW5j
dGlvbiBzaG91bGQKYmUgY2hhbmdlZCBhY2NvcmRpbmcgdG8gaW5pdGNhbGwuIFRodXMsIHRoZSBy
ZXR1cm4gdHlwZQpvZiBpbml0X2NvbnN0cnVjdG9ycyBmdW5jdGlvbiBpcyBjaGFuZ2VkIGluIHRo
aXMgcGF0Y2guCgpDaGFuZ2UtSWQ6IElmZTEzNDg0ZDM0NmNmZjE1OTgzYWFjYmZlZmRlMjFkNTA4
ZjQ2OTBhClNpZ25lZC1vZmYtYnk6IEJveW91biBQYXJrIDxib3lvdW4ucGFya0BzYW1zdW5nLmNv
bT4KLS0tCiB4ZW4vYXJjaC9hcm0vc2V0dXAuYyAgfCAyIC0tCiB4ZW4vYXJjaC94ODYvc2V0dXAu
YyAgfCAyIC0tCiB4ZW4vaW5jbHVkZS94ZW4vbGliLmggfCAyICstCiB4ZW4vbGliL2N0b3JzLmMg
ICAgICAgfCA2ICsrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NldHVwLmMgYi94ZW4vYXJjaC9h
cm0vc2V0dXAuYwppbmRleCAzMzJhMjA3Li42Yzg4YjMxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h
cm0vc2V0dXAuYworKysgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwpAQCAtMTA1Niw4ICsxMDU2LDYg
QEAgdm9pZCBfX2luaXQgc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgYm9vdF9waHlzX29mZnNldCwK
IAogICAgIGluaXRfdHJhY2VfYnVmcygpOwogCi0gICAgaW5pdF9jb25zdHJ1Y3RvcnMoKTsKLQog
ICAgIGNvbnNvbGVfZW5kYm9vdCgpOwogCiAgICAgLyogSGlkZSBVQVJUIGZyb20gRE9NMCBpZiB3
ZSdyZSB1c2luZyBpdCAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94ZW4v
YXJjaC94ODYvc2V0dXAuYwppbmRleCA1ZGM2NjU0Li42MDMxMDBjIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC94ODYvc2V0dXAuYworKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAtMTk0MSw4ICsx
OTQxLDYgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBt
YmlfcCkKIAogICAgIGluaXRfdHJhY2VfYnVmcygpOwogCi0gICAgaW5pdF9jb25zdHJ1Y3RvcnMo
KTsKLQogICAgIGNvbnNvbGVfZW5kYm9vdCgpOwogCiAgICAgLyogSGlkZSBVQVJUIGZyb20gRE9N
MCBpZiB3ZSdyZSB1c2luZyBpdCAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2xpYi5o
IGIveGVuL2luY2x1ZGUveGVuL2xpYi5oCmluZGV4IDA1ZWUxZTEuLjhlMDhjMjkgMTAwNjQ0Ci0t
LSBhL3hlbi9pbmNsdWRlL3hlbi9saWIuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vbGliLmgKQEAg
LTIxMSw3ICsyMTEsNyBAQCBleHRlcm4gdm9pZCBhZGRfdGFpbnQodW5zaWduZWQgaW50IHRhaW50
KTsKIHN0cnVjdCBjcHVfdXNlcl9yZWdzOwogdm9pZCBjZl9jaGVjayBkdW1wX2V4ZWNzdGF0ZShz
dHJ1Y3QgY3B1X3VzZXJfcmVncyAqKTsKIAotdm9pZCBpbml0X2NvbnN0cnVjdG9ycyh2b2lkKTsK
K2ludCBpbml0X2NvbnN0cnVjdG9ycyh2b2lkKTsKIAogLyoKICAqIGJzZWFyY2ggLSBiaW5hcnkg
c2VhcmNoIGFuIGFycmF5IG9mIGVsZW1lbnRzCmRpZmYgLS1naXQgYS94ZW4vbGliL2N0b3JzLmMg
Yi94ZW4vbGliL2N0b3JzLmMKaW5kZXggNWJkYzU5MS4uYjU0MTQ0YiAxMDA2NDQKLS0tIGEveGVu
L2xpYi9jdG9ycy5jCisrKyBiL3hlbi9saWIvY3RvcnMuYwpAQCAtNCw3ICs0LDcgQEAKIHR5cGVk
ZWYgdm9pZCAoKmN0b3JfZnVuY190KSh2b2lkKTsKIGV4dGVybiBjb25zdCBjdG9yX2Z1bmNfdCBf
X2N0b3JzX3N0YXJ0W10sIF9fY3RvcnNfZW5kW107CiAKLXZvaWQgX19pbml0IGluaXRfY29uc3Ry
dWN0b3JzKHZvaWQpCitpbnQgX19pbml0IGluaXRfY29uc3RydWN0b3JzKHZvaWQpCiB7CiAgICAg
Y29uc3QgY3Rvcl9mdW5jX3QgKmY7CiAgICAgZm9yICggZiA9IF9fY3RvcnNfc3RhcnQ7IGYgPCBf
X2N0b3JzX2VuZDsgKytmICkKQEAgLTEyLDggKzEyLDEyIEBAIHZvaWQgX19pbml0IGluaXRfY29u
c3RydWN0b3JzKHZvaWQpCiAKICAgICAvKiBQdXR0aW5nIHRoaXMgaGVyZSBzZWVtcyBhcyBnb29k
IChvciBiYWQpIGFzIGFueSBvdGhlciBwbGFjZS4gKi8KICAgICBCVUlMRF9CVUdfT04oc2l6ZW9m
KHNpemVfdCkgIT0gc2l6ZW9mKHNzaXplX3QpKTsKKworICAgIHJldHVybiAwOwogfQogCitfX2xh
dGVfaW5pdGNhbGwoaW5pdF9jb25zdHJ1Y3RvcnMpOworCiAvKgogICogTG9jYWwgdmFyaWFibGVz
OgogICogbW9kZTogQwotLSAKMi43LjQKCg==

------=_Part_9969044_1992550747.1659494647714--


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 05:57:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 05:57:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379532.613041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7N5-0003kj-NJ; Wed, 03 Aug 2022 05:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379532.613041; Wed, 03 Aug 2022 05:56:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7N5-0003kc-Ke; Wed, 03 Aug 2022 05:56:43 +0000
Received: by outflank-mailman (input) for mailman id 379532;
 Wed, 03 Aug 2022 05:56:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ7N4-0003kW-F5
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 05:56:42 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00060.outbound.protection.outlook.com [40.107.0.60])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09dc26c7-12f1-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 07:56:40 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6944.eurprd04.prod.outlook.com (2603:10a6:803:133::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 05:56:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 05:56:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09dc26c7-12f1-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aln3wghwjLgEHvBKSRvuiIn32HxY/jWaXNPdosAg/TaS1A6UfMsNDs+xzVyRy477vFSb6AsY0B4TQlinADLJhVQUsz/2y2z2TReVTnNKTcnXpoLmodKy0DcUgs8MvGPIxZKQEqV9Yp5xDDAq2X+salgNgYmgbrRhHl5NaVXO1qiCwsS3rPMAiWjlV+dMbLpOvhVcUTEMFH2KEm4Rq53kWG78LmJlNjfIGNRvuub0bUJbWJHniIRBwFLxzbj8DK9ovbY04IK0fKYLy1UQRXYXRUPRMrse/F6MEqzXZj1+9wVqiaNVOfjjDPh0aw4OTtTtV9x5g2jNm5L4zaNKOvh7DQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zvOoW2k7UWeN66gbtOjvtoaUiBItn5IIPB0rPCa4t/U=;
 b=RbF/JNXY5GSbLERwcCx9uTlABHsmkhdGc88YNlbFxe1XeIaWnpPtSCx0ucvnyqyMVdWl2c/cB6JG288vu7xpau+mfXFyQoFJlpQ+QLuXgeevOkmubec5Wc6cNiBfBQpBS3Hdh+RNYnmnEAEtdwIK3ZmGW70iXxApV3CL1eiI8wE1VI7k0X7VIFb7x/m2/VKUE06lKMUzPVRiccY+J4FPIRsE6UvSVjkFQIEtC9utm5sA7FNE2lqnk3t5lkBmSQXXKiEph3z5O8ulgf2PKhPe95P3M1Q3rJDWBWFjL7vfs5sOkRA3MQTxnWARrKg+uUfB6187n4UpZ4xOxHj7LYbwzA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zvOoW2k7UWeN66gbtOjvtoaUiBItn5IIPB0rPCa4t/U=;
 b=uBFGIe+P4ySBuO+I3TSAHlUNxqyujqq/Ex/lPailkD7WD0mugymJqQRBpo6DYhUMO9nS151nc4jj1WJYDyQznzhUDmh/pct0tA8O5x4lpGB+M8WwYJpnuDMi5ABaLLA/Kf0j1LKCetMhHOaktc+Y0r44RZJHRuxq9w2KhJ0Jw72ycfk9M5Gom1Yroi0LcR1ozgRsF4IJipRPE3n5Y3FAmAquuF+qx2CjZCuHvJFOGslr/OnMO47X+Pmusmf6qFHQqxLFaccM6hfTE/ol9WPP+ftPdKv6vomrJpbJGM3xh7teZsGslhzh3u+lGGQ604sTQ4LbKSEFBzUE+xi927oTaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9e8b366b-5ab1-599b-263b-d86f0f111d89@suse.com>
Date: Wed, 3 Aug 2022 07:56:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [XEN PATCH v3 06/25] tools/fuzz/x86_instruction_emulator: rework
 makefile
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220624160422.53457-1-anthony.perard@citrix.com>
 <20220624160422.53457-7-anthony.perard@citrix.com>
 <d917d9a6-5ab7-f826-21e0-2c95b4614f9c@suse.com>
 <YulaTPhEf8Mp+p0q@perard.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YulaTPhEf8Mp+p0q@perard.uk.xensource.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0039.eurprd08.prod.outlook.com
 (2603:10a6:20b:c0::27) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d8162377-c448-4d74-b1b3-08da7514ed21
X-MS-TrafficTypeDiagnostic: VI1PR04MB6944:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jiDH3BMhvKfrRNAodkbmLdtSrUXpCvzUGTyTFA5XYNxrOP4W3SHVMT2Wt1gf365TEQOZXx+MXerL/Rd3fSpYkCEO9L1uc9tOS6XNdRSg72eJkmhCGc8H/qPlkLZzLM/YBvy0QMseU4aYydBWe3sIiI9SI/GfL0pPt/F8APpldrRHpObLBsVvsm1rOO00nJGx/QlIKLzfwSWSwrSyI6ASX7KV2s/HOXyvoeyC56Wc22/E7i8OkRxLJVdpMYnQIz+5dW6KZML+Th4SdD1TpbLbvyH4cqbk3g+DgYNsbUrZAw010X8b2vW8WOrIk8/x4WjxkVhZ4bxuvm0RojGotbLlvhQ47x/A5EfczY8Vz5J4ve+R0S+y/Dg6yBZS1lOvED9ReVwU6b8Rm6PQ1udlK0UoAjGFyPSi506AuGDYXxgUIzmR0EwiOlmmCcgNfSs98wU4UfkFcruWOTMMR3+PWe1CGiAeYBWDzlyXRBS9uKvQS3EHQHrMDNGFPMtUpMhF+S+raoW32vrrbvVA93g3DiziRMDp0qwL8OntkNyKOHClHiTS5k9l0qVkMB5XPk9jFdEXTpggibLYqB/83faq/PWZIyceeTEvGW0geSvTdNpSGqTFb2gUSgOjg7ihQRnOvhPnCAArqFdQda19yeGezDH6yKvFPW70B2NQTFG9wUEcjBhYYkyNPtwcFL/H9JWBRpuDsoMg86pHKHRifIRc69mN7WYSUn/cehr+6L3aaFFEDrMnWxNp4Xor73dMcLFaXlzeIykw4QNrgmEpiTQP59FXlG+6kuHacZLtu/Dqs/g4vdE7PuL6YcSYuXqE6bU0iuTysk8s9QzkiVHBDD4o/U0O0w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(39860400002)(346002)(366004)(376002)(31686004)(186003)(83380400001)(2616005)(38100700002)(2906002)(4744005)(6506007)(36756003)(5660300002)(53546011)(6512007)(26005)(31696002)(8936002)(86362001)(41300700001)(8676002)(4326008)(66476007)(66946007)(6486002)(66556008)(478600001)(316002)(54906003)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cW1iSFBVdGJ4aytZd1BvYnBtais5UUJMU1Nzd0tEU1Y0UjhzcW5IUTJROFdz?=
 =?utf-8?B?azV3bXR3TVZIaEdJNUlZSzVIcHBpeVBCSHl2L1NKbFVEbUZDWWptWlhNU2N2?=
 =?utf-8?B?ZERReG8xbEhBZmhEUzN5WmIxR2ZBVUZLSjh2c25tcFI3NEREaDJFZExwNFQx?=
 =?utf-8?B?N3NDNkpWZ0JxdXhWaGtueG12WCs5b2MvVmdENmFBTG5jcGRFQnBidjQvOHJB?=
 =?utf-8?B?ME1Oa3NXRnY1aDd2RjdQK0t1UkF0SjFUSTVJTmwzMmljY1g1L1VSVkJjTFpH?=
 =?utf-8?B?U3lhN09qOXQ2ekR1dG01Y1I3c1lOM21tUkpHb2pKOEhTL284d3ZTTStTdnlM?=
 =?utf-8?B?MUZPQnlhNGJtVkpuYlZ6QWlJeGdPMm5mczRjV3FxaFJBKzZDTzN1S0tkTThN?=
 =?utf-8?B?RENKTjdEajFza1N4ei9lRVpGZVUyRWQ0UWxUS2dZQjRtRURhZkhTa1JRZENn?=
 =?utf-8?B?NXh6b0NZMlhQZjkwQ2RsbnlUUmtZRFYvWGk2RHlWVVVrOFJsWGxxNjZTWkta?=
 =?utf-8?B?b3ArVVR0WDJDMTlESG1RclBzOURHNk5yR2dYc05YUmQ1ZjQ1YW5UTDRaN1d5?=
 =?utf-8?B?bEZlNWw2cHluZnNCM3pzY1hUK0k4L2RKV3FXSExOSEYyUHh1UHk0SlMxS2th?=
 =?utf-8?B?ZlFZeEQrU3hhQlY2Y1FHK04yK0dSNUQrUCtHRUhtOFF4S0h1SVBnSnpPa0Ra?=
 =?utf-8?B?N08zRHc5U0x5S3hxUWpVbmE2T1R3STRmS1Z5ZjdqM3VRakg5OVJwVHUxdUN3?=
 =?utf-8?B?eHltZXRlOU9RZ2cwR3Q5S1dINFdEOFZGaXVyZUZvVkxQdi9FOFZnRS95ZVRQ?=
 =?utf-8?B?bDVTTFVYWnZOc0loT25xaU9IREhtTlRpbkZ6VCt6ZWtsOFR2UEx1cURIVEh6?=
 =?utf-8?B?Sm1URG05NXc0M0xMU2QxeWxaNHRZSnZlU05la3VDcDhJN2ttU2RVRWVEZk9u?=
 =?utf-8?B?VnZrMzVhZ242cWhBSE42ZUQ5WU00WTUwd2U0akRWZUtIdDZXb3ZiWWQ3c1dL?=
 =?utf-8?B?WFlrNkFMUzFKNHVCMXFCSVk5enhWTzg0L3pmMmdEM0l4dzk0a0swU2J1VGhF?=
 =?utf-8?B?RjBHTFV2YjdUb1EyRnRpMElpL0pQaERXSGVZVHJFWGZMMGl2aG1HWjFGRmh5?=
 =?utf-8?B?L1E5SVJNbWh5UmlsUCtjR3JTUDVOYm1oOVlUa2Z1N1BNemZodVFJZExmZHlC?=
 =?utf-8?B?bWFaVlYrQ1FTQ2ROU29hTlV4MFZHZGlXYVNYckpzSmhIK1VabGxMNkJYQ2Va?=
 =?utf-8?B?bWlEMk43eGtQTmZ4U3JVOGpaeThpSExldXk4cHZVRVFEM2pIbjgweUlkYkZD?=
 =?utf-8?B?cTdxUTcxU1ZJZ092VjZGNU1XcVMxejJSUm1UL3pIMUtFL3FiaW44dkJhSGNQ?=
 =?utf-8?B?RkZac3lsWStseFp5bWpCbmZlZWh5MEp0LzY4a1o4MkV1Y0tQOVIxaG01R0k4?=
 =?utf-8?B?OVUvS2wrYU5VRkZha0k1S3QybFZQZW8yKzcwMFFncDhBVTJTMmpoODZ4UktQ?=
 =?utf-8?B?S0tVNVJwbUZMb0Mzc05uOEdVRVhzZ05heG8xYVVVYUtxOW8xaUI4MHgzVjFF?=
 =?utf-8?B?STFJUEZ0SFlHcWhhTTNza0lkSmtUMHVlV0xIdjVJUGFVdnpxSjQ5N0JJRmlJ?=
 =?utf-8?B?UkVud0FpbkJvTis4VUNSYXpobHVZWW55RFVRZE5FR245MEVLbmFNRW5NWUNH?=
 =?utf-8?B?V3Y2MjhlNXNnRHdqRXh5WlpJTVNhTDY4Rkt0TEpQaGRrY2RkV1hlbm9CZEFD?=
 =?utf-8?B?Sm01R0IwbjFsRWhGZ29aUGt1bXo3RjVvakZWWXAxM2FsUjFhc0puMk9JaG9X?=
 =?utf-8?B?VTF5czhiSmJUMFkxVEJTaEprd2MzTDhadFNhY1U2LzA0MndGZm1XMHBFc29R?=
 =?utf-8?B?S1NoLytuK0ZpLzd5dlpySHlhbzI3QkV6RkJCQ0ZKanlzQm8xK2dSeVhlNklU?=
 =?utf-8?B?b3dpOVR3c2R5dVpRZmVhNFpzS3VOUnVJVXZDQm1qWXhoajEvT0kyNk5HbEN1?=
 =?utf-8?B?WVoveEVwQkNqVzVOT1R4WmFzVmZMYmJDMFNlbmtlTFJqVVVDYnp0WkFERnhm?=
 =?utf-8?B?MGZhVVJ2UkVBb05jODFNclhraml2bEtvNHgzWkVVN1k1T21LamovZUdhK1hL?=
 =?utf-8?Q?RHWyQooP7cxteQ8Q+iMq5wFYU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8162377-c448-4d74-b1b3-08da7514ed21
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 05:56:36.6425
 (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: Uz6KQQMJOkuovCOaLl3On5FehTe3kmLFk/pYiU8oaelwX3bl2Fo+Vs5lTmCQRACos63Kvt5vZGypbCIsNyrBLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6944

On 02.08.2022 19:09, Anthony PERARD wrote:
> On Mon, Jul 11, 2022 at 04:08:55PM +0200, Jan Beulich wrote:
>> Can you confirm things to work when
>> building locally in just this subdir, e.g. via
>>
>> make -sC .../tools/fuzz/x86_instruction_emulator CC=/build/afl/2.52b-base/afl-gcc
>>
>> ?
> 
> Yes, that still works. But I'm not sure why you would ask since the
> tools/ build system works this way, execution of make in a subdir
> doesn't depends on the execution from the parent dir (it doesn't
> depends on anything in the envvar).

Oh, I wasn't even aware of this as a general feature in tools/. Is
this going to survive your rework to use non-recursive makefiles?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 06:00:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 06:00:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379537.613052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7QV-0005BG-6n; Wed, 03 Aug 2022 06:00:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379537.613052; Wed, 03 Aug 2022 06:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7QV-0005B9-3p; Wed, 03 Aug 2022 06:00:15 +0000
Received: by outflank-mailman (input) for mailman id 379537;
 Wed, 03 Aug 2022 06:00:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ7QO-0005Av-Mv; Wed, 03 Aug 2022 06:00:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ7QO-0008R3-Hm; Wed, 03 Aug 2022 06:00:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ7QO-00015W-2Q; Wed, 03 Aug 2022 06:00:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ7QO-0003om-1y; Wed, 03 Aug 2022 06:00:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=O4Jd0GCKVYSjvBW+vR6Y+Ovwu8PxJJmTw23W3GB8kqs=; b=Ig2jBT0jqg/U2psEnT/4LNwbHQ
	CbSrxmqazGyIUu2Pq7/62fr8Fu6e4RDdXvG4f+VvX+EDDRSPjPM+I0zXXfu+LbaDKwGCgZYwVBP4H
	WH43EuxODTM4MboJgI5FdwZQ7r1JE368ZHGX8HfP51G0/UL7+ep0KELOBcfQZGtC/bbg=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete build-i386-libvirt
Message-Id: <E1oJ7QO-0003om-1y@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 06:00:08 +0000

branch xen-unstable
xenbranch xen-unstable
job build-i386-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172100/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/build-i386-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/build-i386-libvirt.libvirt-build --summary-out=tmp/172100.bisection-summary --basis-template=172073 --blessings=real,real-bisect,real-retry xen-unstable build-i386-libvirt libvirt-build
Searching for failure / basis pass:
 172081 fail [host=huxelrebe0] / 172073 [host=nobling0] 172058 [host=nocera0] 171993 [host=albana0] 171910 [host=nocera0] 171896 [host=albana0] 171887 [host=italia1] 171873 [host=italia1] 171862 [host=albana0] 171859 [host=nobling1] 171856 ok.
Failure / basis pass flights: 172081 / 171856
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 ca45d3cb4586372909f350e54482246f994e1bc7
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f1c719d5cd8ab4d5d4c8df139b9df3c2c47221d1
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedf\
 aa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#f1c719d5cd8ab4d5d4c8df139b9df3c2c47221d1-ca45d3cb4586372909f350e54482246f994e1bc7
Loaded 5001 nodes in revision graph
Searching for test results:
 171856 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f1c719d5cd8ab4d5d4c8df139b9df3c2c47221d1
 171859 [host=nobling1]
 171862 [host=albana0]
 171873 [host=italia1]
 171887 [host=italia1]
 171896 [host=albana0]
 171910 [host=nocera0]
 171933 []
 171993 [host=albana0]
 172058 [host=nocera0]
 172073 [host=nobling0]
 172081 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 ca45d3cb4586372909f350e54482246f994e1bc7
 172088 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f1c719d5cd8ab4d5d4c8df139b9df3c2c47221d1
 172090 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 ca45d3cb4586372909f350e54482246f994e1bc7
 172092 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 13316827faadbb4f72ae6c625af9938d8f976f86
 172094 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
 172096 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172097 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
 172098 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172099 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
 172100 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Searching for interesting versions
 Result found: flight 171856 (pass), for basis pass
 For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x5607da348ab8) HASH(0x5607da340470) HASH(0x5607da336480) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1\
 ce1bec85e58b458386f8b7a0bedfaa6 13316827faadbb4f72ae6c625af9938d8f976f86, results HASH(0x5607da346ab0) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f1c719d5cd8ab4d5d4c8df139b9df3c2c47221d1, results HASH(0x5607da33d0c0) HASH(0x5607da339b30) Result found: flight 172081 (fail), for basis failure (at ancestor ~368)
 Repro found: flight 172088 (pass), for basis pass
 Repro found: flight 172090 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172094 (pass), for last pass
 Result found: flight 172096 (fail), for first failure
 Repro found: flight 172097 (pass), for last pass
 Repro found: flight 172098 (fail), for first failure
 Repro found: flight 172099 (pass), for last pass
 Repro found: flight 172100 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172100/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/build-i386-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172100: tolerable ALL FAIL

flight 172100 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172100/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build           fail baseline untested


jobs:
 build-i386-libvirt                                           fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 06:05:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 06:05:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379545.613066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7VO-0005ql-Ti; Wed, 03 Aug 2022 06:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379545.613066; Wed, 03 Aug 2022 06:05:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7VO-0005qe-PI; Wed, 03 Aug 2022 06:05:18 +0000
Received: by outflank-mailman (input) for mailman id 379545;
 Wed, 03 Aug 2022 06:05:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ7VN-0005qU-CL; Wed, 03 Aug 2022 06:05:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ7VN-0008WF-8q; Wed, 03 Aug 2022 06:05:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ7VM-0001Dn-V5; Wed, 03 Aug 2022 06:05:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ7VM-0005L5-Ub; Wed, 03 Aug 2022 06:05:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2OXtfBZKSDJa5o5+WFZ6e4DeGOqDQh8BElDiTF3Ystw=; b=Kfugem0/80qEclxkcaM0o2XUzq
	i5vB55544oDFdIZYtAP7XWWLBApOpFXVNlGg8cvzKAjKCZ7GSlw+3RCneJVs3dgShqOhMQ/s+eLvi
	qjSPeUgmoN8jJnsnPm6j7gHbaw1a6UkUoNX7Bd1tcl+itAV3LyoN8cgtEXrCKfqpMcN4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172087-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172087: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=430a388ef4a6e02e762a9c5f86c539f886a6a61a
X-Osstest-Versions-That:
    qemuu=60205b71421cbc529ca60b12c79e0eeace007319
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 06:05:16 +0000

flight 172087 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172087/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172079
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172079
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172079
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172079
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172079
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172079
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172079
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172079
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                430a388ef4a6e02e762a9c5f86c539f886a6a61a
baseline version:
 qemuu                60205b71421cbc529ca60b12c79e0eeace007319

Last test of basis   172079  2022-08-02 07:48:21 Z    0 days
Testing same since   172087  2022-08-02 20:08:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Cole Robinson <crobinso@redhat.com>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Jinhao Fan <fanjinhao21s@ict.ac.cn>
  Kevin Wolf <kwolf@redhat.com>
  Leonardo Bras <leobras@redhat.com>
  Lev Kujawski <lkujaw@member.fsf.org>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Thomas Huth <thuth@redhat.com>
  Vivek Goyal <vgoyal@redhat.com>
  Xie Yongji <xieyongji@bytedance.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   60205b7142..430a388ef4  430a388ef4a6e02e762a9c5f86c539f886a6a61a -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 06:10:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 06:10:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379554.613080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7ak-0007OL-ME; Wed, 03 Aug 2022 06:10:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379554.613080; Wed, 03 Aug 2022 06:10:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7ak-0007OE-J5; Wed, 03 Aug 2022 06:10:50 +0000
Received: by outflank-mailman (input) for mailman id 379554;
 Wed, 03 Aug 2022 06:10:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ7aj-0007O8-3a
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 06:10:49 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2059.outbound.protection.outlook.com [40.107.22.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04482db6-12f3-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 08:10:47 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8199.eurprd04.prod.outlook.com (2603:10a6:20b:3f6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 06:10:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 06:10:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04482db6-12f3-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iAgoidF0m8Y86VmSGolboq4tXEMi59gxzkVYiQ9y4EhzC06umWW0ibUeW5RjCfipu8yTc+N4gYJql7Q8hw+uLmViWa1QmUTR/jvEmRSp1lyyWhR6YGUfPJEPmXBombQmnfswWlFQcDPj/XCHFJgqXqB2aPToNChyk5Y+RfSrNI+hPtoqdTnkNdD2tcRQ0l02D5Qq8eWVbS7e4BrqD+UEQ47xcs+0Ghu1pIyCvWH5GnIWCSkyvnyYCYowkUNysa/rO5p7UGlpQfWDshAhP2eaJR5UlP4fVR8wlcNV0djr2tQ+c/Wg1eLsAUOf2Qu7bw5oKS6xfl7Jz0saDJMKtSD8ng==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N0/EfWY5CI1823DjxDrE0eqB3qfVwrqfOeDZjs9dr2Y=;
 b=iePDVNG7syk7DXMpo94PwdjHBgRl6/BwfCEZcbawreFOqeYtDIOqUi4Xr7UlEjBlqn1JAE0hh09xO42oB8uyBrQ2jgMFzLlY+oxYOYrLdfkoylAw3pP04g5R+43CeFDnGcgzk/gcMG7V3vZlzBrSbfGbccAp/o/XFIpVWbj7B8sWcdzzUOUeiRWqcCvoHyevVH0kFBmrZ2uvBD90mCdi5waEOkapMkVPQbjJqEaeHjLTO3joq2h2ePoxyWlAiGZTA/14VsPxArKOC+PENYvwjHavHkmNyb0rUzhqXv/AE57ykFqT6fXywfeP3n1kZdUqHfWalgDU0hjz7WyG/Btqww==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N0/EfWY5CI1823DjxDrE0eqB3qfVwrqfOeDZjs9dr2Y=;
 b=vbfch6i/QgpkqkfaTbSSaLmYtfj673PNGsXJBp2Tjpdult8ay1l8qz6LR3KDu4T38p8HMRe8jn/cZ2Lfv4SJcNLyOBdbo6xsfhowteUAJLGqjWBoPTQtFS6oKfvLHg3Qvle6cbH9K/eNKls80BMeQwYCOEI3AzxYFBcC2NNO5D58W2WSJ8ouVWdrtthHwY2WJh1k7wFALVCM2xIrbAMUhxOfBYx15UdhCBVCOpaGfLUkpw1LZa99V4sNpMY/1HAFWNNEThe2KlA3Nfl/2Y82bfgHw35APTQoYHZNKTxDrG2RmLHtu41zFr2UdTLodocAOQx4yZYd5pvQfcSZZnDoDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b1ce4b78-c28c-1ad1-af7b-892c069d24ab@suse.com>
Date: Wed, 3 Aug 2022 08:10:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/arm64: sysreg.h: Fix MISRA C 2012 Rule 20.7 violation
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <burzalodowa@gmail.com>
References: <20220728134943.1185621-1-burzalodowa@gmail.com>
 <0a8ff178-280d-717f-dacb-4eb9f57a24eb@xen.org>
 <83c17bf6-b9b2-a297-6f7f-dd08231d0f90@suse.com>
 <c71c9522-2df5-35a3-d39c-706d5c9d5263@xen.org>
 <alpine.DEB.2.22.394.2207281551140.4648@ubuntu-linux-20-04-desktop>
 <ec89b2e1-a18a-9ef7-1ca8-edd19e737d4f@gmail.com>
 <c55b9ad0-bfa8-f0b1-6c4e-a794afd75e7c@suse.com>
 <69942917-f2e9-718e-094d-9b01aea16a4a@gmail.com>
 <a9cddfc6-235f-a42f-b522-04ae87990b47@suse.com>
 <b2f2d1e7-0c18-206f-5e9d-d0115e398840@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b2f2d1e7-0c18-206f-5e9d-d0115e398840@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0168.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dc5351cf-3b7c-4878-d802-08da7516e770
X-MS-TrafficTypeDiagnostic: AS8PR04MB8199:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C4YSNMCddOX3FFszBXXNQ4P3sHOt1sGWkymgdhaezCV3BZ793Q71GJRv2oto+C+QaAxx0d66HN0cAFViudNR0ahjWZSck5a18YFO4a5nTZqRlp+KeDPfqcVbqpHL1SoghnM9A+hX358zoUc/IbnPP3lBqbsK9WDOdj3BlqegMD6WcIcJpn22kHyTLFJcFDcFRduSKd89Vt+dRbZ0MvPgH4i6XWpFfxJN3elOTPm7LjBw+5IILtfvxE2X6HjTxw4p14UDYvpkI03cJnpMN6142IXWonE45mtDbVGNEhiBLGwkohnGCCoCQ0PRphQLl+ghvS531zF57oMt2oyO1mK+V6efzba9TS3YRu2WPY8I+JuHwX+N8WM5v4n+KlmRYngwxLDIjXRnMwTtlrf0WTwEuHq8SmW+HzVflH2jB5wpWe9H5314PxZJtFln82IKbb3sC2MyjTeOGqonjBY3tEWbvvXMmcRJfVc0uxZC1ZXWdKAJLURq5sgasoAUv1iz3UU/JNoqUV7MkmPv5b5WaUKts/1DlRZ8Qjyx1OO5qC6+L13ijuswbALVmbz/ikZSgEp4WEMbX9AxZ+Cr7NFBBg8vfgOvkLuCpi9fhh1MHMCCE4EPbKHNhs/BsEDzWl4D3xwjwnIdv06d3Nf26mU830QIKHmYkN+3tfYztKOlOYlV9U8q1MGObC7O60XNs4jQKQyRGhpaPzEIqkgKJqHOPEPaa15QeeH4BnDtsu8W1Q1lnQJV+w7x5jRdUY0mFMxiYTk09/byuQ/Hc1ZZb/E/QJORwmS27zgZG/ytxyPTva63QQnezJlx0ZQnlsLas5HCmCPUHogwSU65JyAaexsdI605yQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(39860400002)(346002)(136003)(376002)(31686004)(38100700002)(54906003)(316002)(186003)(6916009)(36756003)(4326008)(8676002)(2616005)(66556008)(83380400001)(66476007)(66946007)(478600001)(6486002)(5660300002)(8936002)(2906002)(86362001)(6506007)(31696002)(53546011)(26005)(41300700001)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wkl1MWxpOENreG5WZy8rcHkvNFJpVGVWRTBQOG1zN1lJMXhKclFoVGxKc2pj?=
 =?utf-8?B?alkrLzhYZXRQSWdEZEF5ZVFETDVqSWEvR1BMM0IwQ0xnNDZjVGRwQVF1am9S?=
 =?utf-8?B?d3dFdnlkZjJOVXgreFhQN0JTR1J5V3c4eFZ4UXpEWEhSaGsrRXhmMldJMk9D?=
 =?utf-8?B?ekEzc0FObzJvNlcrSkxYT1Q4YmlzM05FVTFEK0s0VHhGMXMyMGFOdHF5STl5?=
 =?utf-8?B?OFhhRXg1c2hDbTNtZEZQUGdpY3RNYmMzRW8vN1pXbVVIaVlZa21uaFpuRGNB?=
 =?utf-8?B?d0hYclloZVNmaDhneHQxY0QxZ1pvdENjWUtYNFNEOG1XODdXVjJIbkpxblBG?=
 =?utf-8?B?WUg1ZzZpWDdocWxtQ3ZvQnhlRlNHT3lDb0tvZVlPdjhPLy83MUwzSGVITFdC?=
 =?utf-8?B?eDIyeUFDSHZCV0wzMTF3Z1REZWdGb3B4dUI3UGlZYVluWE42ZFdFZS9JakRV?=
 =?utf-8?B?MW51K3dSd1Fsd3h0TWdQZ3ZwTURGWUEvbUVqRkRVRkFLTUUxajhSTy9TZGEx?=
 =?utf-8?B?Q3JQRUJFRmpsSFZpVmZYNThpUEh6UGorVnV6SVRVS0RVWFpXUzZiMjhyZWFn?=
 =?utf-8?B?U3UxNGo1dVNadG5wMm9taXlqemhnRGd3R0FsQXBXUE5UcmxTUmlxZy9vQkdx?=
 =?utf-8?B?MVBYZ1VjeDc0ZC9NcElMYW5uUDAvK015UVNFUHk5WGxHOTZaWVJQVGgzSTJx?=
 =?utf-8?B?TFZqd2s2bUgvK2szRzg1a0wxdWs2Qm9IdEVCUmhRam55WXI3eUVtZHI5L3JP?=
 =?utf-8?B?UXF1bWVXRnVNcGdUdlVRcGErcm4rcTFFVlVHa2tudm0zcCtnTEMwZG15MkV6?=
 =?utf-8?B?WlBMVmZwTndia1Jtc2hSOU96K214ME5nMGJzTGdjQnBaZy9TcjFTdWMrLzMw?=
 =?utf-8?B?VUdmRno2MDFySGk4bjZJRlJDV1ZQVXl5ZTA2OWE1SVZ0V09zSlF1QmFUWGsx?=
 =?utf-8?B?bkxGbjljY1djd1BsUGxOcXdQRlFXNUNLY3RnQ2IxUWJZWGFoK1RUYTAwUFRB?=
 =?utf-8?B?eVphc1huZ3NYS3JUZmpmNlZmTnJ4dU9NR3ovemV4U3BwODYzZG5aS2VhcUhH?=
 =?utf-8?B?OGpmVmVOejBTNkI4UlNXUGpZY1JJb3ZmT0g5UnNxRkppYzdCSU9iSTVmajAr?=
 =?utf-8?B?KzlVL2ZVMlFHUENlR1ZkMXJDdzRSL05ZY1kyUkNDci92TWREMlZ4K2U2Zlkv?=
 =?utf-8?B?bzE2REZCQkVNVHkvR3RaMjlJUkZDb0JkNUEyWmxIQUt1REp3MjVMSHlEeDZo?=
 =?utf-8?B?cUcrTS9mdE9vTlhHNElYRVhBNy9wUWJMT1BLdE9DZGE4RmJKS1JhbElpbEpN?=
 =?utf-8?B?UlNPb0tLd2FFdGdLc0lZQUhGZGFjMDNvZUJJUHovUmRhOGN1am9ZZUdDQW13?=
 =?utf-8?B?RzE1WkYycVdaeEZ5N1NCMzEzSHhMaElnSThrOHJJWFNmTjZHTWIxdDdzK2Fw?=
 =?utf-8?B?TGJpZ0FCenZuWEdFSUliWUN3QklyMEg0QXZrbDFtUkNhVjFUczZ2YTJINzNl?=
 =?utf-8?B?RTAvWXZpR0VqUlo5SUx1RE5QT0RVcG9OZmhIaW5yLzdubmR0ckFCS0s5dXA5?=
 =?utf-8?B?dzJnQlA4aTNOdXFFODVhbDdKeDV2cGd4NE5TaHFGbHFmOUFGek1GNzFuUzVx?=
 =?utf-8?B?TnRLa25nczJQWDQwR0tNV1JzdU5PS0lPRjFjd3VPNFpvWE1sRlRWd3p1MldJ?=
 =?utf-8?B?TUlWTnZWWkxGaWZXa3RwTVFncjJEMmxVR1lCbkR1QVllOFdsTXYxU01YbndY?=
 =?utf-8?B?aHdCbkNQeVdoU2hEaDV3Z0dFZnBnb0psR3JrbGsxRjQ3RE0xM1BiMURLRFBU?=
 =?utf-8?B?SW5XSVBXTXdhaFRsc2FkTFpRUDdsYnppcmJkRWRnaUpYaDY4WFBBUUVGUWZq?=
 =?utf-8?B?R2d0THQ5UCtvSXoyL2w5Z3l2bmxLdEdKRCtaNHYwaUNLRzBxandTMmt0L2pz?=
 =?utf-8?B?SnNiYWhpSUs3eGNXcWh0d3NhWUdHSDkxbkkyWHU1cTB2T0xqbXM0aTFjRUlt?=
 =?utf-8?B?VTZkZm13WDllSHZSMStSa1lSaCtneUlwejVwZXNES0ZoK3E5L3BYa0JOVlFk?=
 =?utf-8?B?c2UrZEtiQUNHaEFja2p6b3o0T2dTOVZuOHJuOURlTXdaTEI4dW1oZjJQSkdX?=
 =?utf-8?Q?x81YYH8crK301iexWv7gbwEV2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dc5351cf-3b7c-4878-d802-08da7516e770
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 06:10:46.0258
 (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: CMHxKe0107d+nSmHus9WPqrnq3OZydoXaBZ4R+2lB48WvHYLq0G5qISjEQXfz9E+MdP/k/AZlzp6nu1ywGl5MQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8199

On 02.08.2022 19:32, Julien Grall wrote:
> Hi Jan,
> 
> On 29/07/2022 08:22, Jan Beulich wrote:
>> On 29.07.2022 09:01, Xenia Ragiadakou wrote:
>>> On 7/29/22 09:16, Jan Beulich wrote:
>>>> On 29.07.2022 07:23, Xenia Ragiadakou wrote:
>>>>> On 7/29/22 01:56, Stefano Stabellini wrote:
>>>>>> On Thu, 28 Jul 2022, Julien Grall wrote:
>>>>>>> On 28/07/2022 15:20, Jan Beulich wrote:
>>>>>>>> On 28.07.2022 15:56, Julien Grall wrote:
>>>>>>>>> On 28/07/2022 14:49, Xenia Ragiadakou wrote:
>>>>>>>>>> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
>>>>>>>>>> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
>>>>>>>>>> @@ -461,7 +461,7 @@
>>>>>>>>>>       /* Access to system registers */
>>>>>>>>>>          #define WRITE_SYSREG64(v, name) do {                    \
>>>>>>>>>> -    uint64_t _r = v;                                    \
>>>>>>>>>> +    uint64_t _r = (v);                                              \
>>>>>>>>>
>>>>>>>>> I am failing to see why the parentheses are necessary here. Could you
>>>>>>>>> give an example where the lack of them would end up to different code?
>>>>>>>>
>>>>>>>> I think it is merely good practice to parenthesize the right sides of =.
>>>>>>>> Indeed with assignment operators having second to lowest precedence, and
>>>>>>>> with comma (the lowest precedence one) requiring parenthesization at the
>>>>>>>> macro invocation site, there should be no real need for parentheses here.
>>>>>>>
>>>>>>> I am not really happy with adding those parentheses because they are
>>>>>>> pointless. But if there are a consensus to use it, then the commit message
>>>>>>> should be updated to clarify this is just here to please MISRA (to me "need"
>>>>>>> implies it would be bug).
>>>>>>
>>>>>> Let me premise that I don't know if this counts as a MISRA violation or
>>>>>> not. (Also I haven't checked if cppcheck/eclair report it as violation.)
>>>>>>
>>>>>> But I think the reason for making the change would be to follow our
>>>>>> coding style / coding practices. It makes the code simpler to figure out
>>>>>> that it is correct, to review and maintain if we always add the
>>>>>> parenthesis even in cases like this one where they are not strictly
>>>>>> necessary. We are going to save our future selves some mental cycles.
>>>>>>
>>>>>> So the explanation on the commit message could be along those lines.
>>>>>
>>>>> First, the rule 20.7 states "Expressions resulting from the expansion of
>>>>> macro parameters shall
>>>>>     be enclosed in parentheses". So, here it is a clear violation of the
>>>>> rule because the right side of the assignment operator is an expression.
>>>>>
>>>>> Second, as I stated in a previous email, if v is not enclosed in
>>>>> parentheses, I could write the story of my life in there and compile it
>>>>> :) So, it would be a bug.
>>>>>
>>>>> So, I recommend the title and the explanation i.e
>>>>> "xen/arm64: sysreg.h: Fix MISRA C 2012 Rule 20.7 violation
>>>>>
>>>>> The macro parameter 'v' is used as an expression and needs to be enclosed in
>>>>>     parentheses."
>>>>> to remain as is because they are accurate.
>>>>
>>>> I'm afraid you're following the MISRA wording too much to the latter.
>>>> Earlier on you agreed that when macro parameters are used as function
>>>> arguments, the parentheses can be omitted. Yet by what you say above
>>>> those are also expressions.
>>>
>>> Yes, those are also expressions (that's why I added parentheses
>>> initially) and I agreed with you that the parentheses there may not be
>>> necessary because I could not think of an example that will produce
>>> different behaviors with and without the parentheses. This will need a
>>> formal deviation I imagine or maybe a MISRA C expert could provide a
>>> justification regarding why parentheses are needed around function
>>> arguments that we may have not think of.
>>>
>>>> As indicated before - I think parentheses
>>>> are wanted here, but it's strictly "wanted", and hence the title
>>>> better wouldn't say "fix" (but e.g. "improve") and the description
>>>> also should be "softened".
>>>>
>>>
>>> Regarding the latter, are you saying that the parentheses are not needed?
>>> In my opinion they are needed to prevent the bug described in the
>>> previous email i.e passing multiple statements to the macro.
>>
>> Any such use would be rejected during review, I'm sure.
>>
>> However I think there's another case which might indeed make this
>> more than just a "want" (and then responses further down are to be
>> viewed only in the context of earlier discussion):
>>
>> #define wr(v) ({ \
>> 	unsigned r_ = v; \
>> 	asm("" :: "r" (r_)); \
>> })
>>
>> #define M x, y
>>
>> void test(unsigned x) {
>> 	wr(M);
>> }
> 
> Interesting. I would have expected the pre-processor to first expand M 
> and then consider wr() is called with 2 parameters.
> 
>>
>> While this would result in an unused variable warning,
> 
> FWIW, in our case, the compiler is going to throw an error.
> 
>> it's surely
>> misleading (and less certain to be noticed during review) - which
> My expectation is we would notice that M is missing the parentheses. If 
> it is really wanted, the name of the macro should be obvious.
> 
>> is what Misra wants to avoid. Let's see what Julien thinks.
> I am struggling to see how this is different from:
> 
> #define wr(v) printf("%u\n", v)
> 
> If I am not mistaken, you have been arguing against adding the 
> parentheses here.

Yes - not the least because we actually use such in our code (at
the very least in hvmloader, see PRIllx_arg()).

> So, AFAIU, this means we will need to rely on the 
> compiler to notice the extra parameters.
> 
> Anyway, I am not against adding the parentheses in your example. 
> However, I think we should be consistent how we use them.

Indeed I, too, am all for consistency.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 06:16:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 06:16:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379559.613091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7gX-000842-B4; Wed, 03 Aug 2022 06:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379559.613091; Wed, 03 Aug 2022 06:16:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7gX-00083v-83; Wed, 03 Aug 2022 06:16:49 +0000
Received: by outflank-mailman (input) for mailman id 379559;
 Wed, 03 Aug 2022 06:16:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ7gV-00083p-OK
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 06:16:47 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70074.outbound.protection.outlook.com [40.107.7.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da16c823-12f3-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 08:16:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB5599.eurprd04.prod.outlook.com (2603:10a6:803:de::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Wed, 3 Aug
 2022 06:16:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 06:16:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da16c823-12f3-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qcf2gMOg/LSEEmmjJDr7mb6sijr+p568Yyto10AG6q2mNAB+R7A1haKT9zdn3Pbg6W4FQ5wPjvcD+5m3OwPwhDSpEf2M5FMfY1mvT+Q8aQfHmYBJBk2+cCaHOFgUigop8L8r9buAJ25eoEC3X29hm2LUb+Ay/imaaGZACBjQIWII0Bo36M/LVZM2w4QJDWaFtLMpQO1vN7NHjo2LO8eRVK5bolEuq3PQwhIolX874+KnOOnMVlKxFpvvo/Y/NFRU2XDsm8i3fN6c9wNEVkhu2cZxpL+tUGq+EPnIRgJRkx+M4pkZefTp7EtzQ0meNsKN7PV8DraAVZgZr07aGxi9eg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BTtNdVDYFrM1I1LvxUSxHYlIaMDDTH1sjtZmGr8g4oE=;
 b=oFInQ3ZaPScAajU8al3VVp41/k9qchY46UccnKj1BQSID38bmCXIfRz99vb5laFwBUS54qhnswbx9TIYU+QPEP9WgmKx1S9ZbievveCiiok42vfaZrfPY50iunpF5dUFrg6yns43zHyUt3N9wcBQMVji+SUynxYIMlmzbczS2nnjfmdmBWstt5tLJSnkR/Jz/xqCa3E/pWGwNh0uVii3pr5FOWfBP7i1KPGE5LMkQVVKxjrUHK0amgM5y8rZ0uIPwSrVohuTM0sN007pL6PibUTrqkrmYmb31/VDf6WiUNO6VzvReEy2CupOWZuJSY34mk6lzpuED5DWJWblQJVyuw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BTtNdVDYFrM1I1LvxUSxHYlIaMDDTH1sjtZmGr8g4oE=;
 b=Tgu/dwpsGb4QOz/PJKlghFDCREixbS85ibcp9oDLu93Lxzc2We8gaal8AUMQ3PowXH5gR3/W/CZV7NBVpD/5o65Al+HA/U85I6ZUO/yVVvVBnhGXB44NdRgaHySffvdHXUbkmHfjqrTK3EkmI4au9ynl1UF0RRHHHU/lh+Q/Llli8J94nCZKgpd9tD88qjH/ZCSHMordLc8mxPewhsGmiudcZhDWsduMcLd6GVk2eDh+GCUyhS5ku+tCCq0esWrSNsKdnJ7kHwalAjANo3e6qgB3hIn1L0C02mDecG5JbRrlq/68PqEXQO4ZqEGtqER3Lrrbr2Q+1/OPzIgi9WvtdQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8981ca99-247c-ae62-0180-14789be47f68@suse.com>
Date: Wed, 3 Aug 2022 08:16:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/char: imx-lpuart: Fix MISRA C 2012 Rule 20.7
 violation
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20220802075433.1748035-1-burzalodowa@gmail.com>
 <7e78d64a-c700-5846-f046-a1b0f2c98ea3@suse.com>
 <3b0fd31a-c847-f5ff-2365-5fca5becb051@gmail.com>
 <d6470ea9-f225-a0e9-64cb-a24e25ca7604@suse.com>
 <alpine.DEB.2.22.394.2208021549380.3147284@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2208021549380.3147284@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0068.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ecf69a77-e235-44d9-f9c8-08da7517bcd6
X-MS-TrafficTypeDiagnostic: VI1PR04MB5599:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1pdoeW2GdaEfi2Itow225rUeoKvwNLAJd/NAzE05mehOyRBHdS1teCq35ox+vK/SD0FlyNb/b4vqkuPfvWbS0eteCugPK1mEmsHUWJAWlfNhc2q2R85qB57CD1i4alF6HJ0SvW8TwDDbByksMAfsFI2Wq0P47xTafOXM6oWkYfpb8Yts2FKRaa+zx8FDuiNoUdm5mt73iTW/Y3qmyIEv6G5VoAv8h3dtoOOhPSevAa540J6nuw4XZ2BJf4rxyytb0z2PnTF+Pw5QlkpykpYjww/ZzNbfSi9wrqiTH0PcZHGToVmI2EMaRikigqHHPWtF+D4UMsRfKA91oxjl1+Xa0r31TX1ONm+pkTXhCgUO3gDy2sWAFHuHM6Y+j1q/TQvfPWGvasKrO0mTopLyycLbd782Jf2g0QQPZYuLghaQ2OwPEmQh0pYFZdPwbQ5fGf1GAMMynj61ADTRuR3f6gmqY8MRH6JyWllK/2Jt4tBNdFu/s3xKy4E7TZSHqRlmNG73WxxaoSE8CefDkkJm2jDp32Mq1vohH9R+XHcN3ZVew0kPIVZpkzmBCQCXODFyg9Hg1PsL+7TYpTvOG9UKmwO8yFBnBPpORa5E08VqxPoNyKci/hnAm9XzyV1LJKKupiMR+8Q7tDayUz7HG1vEGQhlspTBPCdd6N2R8eTJtE7Vr8caCSqKhL+I5RPTwSfrf7qKentGcdDEtEBQzefF0gQ4TN8mTveBpZo7nLdlJQw9TPpgxSSZB6NUimFsyGTS+rJAiFy5t7f9ib9uQ96cjpB91EEqx/HcQzoAmkgfj6gQmn5ha8YlWPvxwdMBLZmrB49y3UW/DxeJ+e6qcE3fbythVA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(346002)(376002)(39860400002)(136003)(54906003)(38100700002)(8936002)(6916009)(26005)(6512007)(86362001)(31696002)(6506007)(186003)(8676002)(66556008)(66946007)(4326008)(66476007)(316002)(41300700001)(31686004)(36756003)(2906002)(5660300002)(6486002)(53546011)(2616005)(4744005)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eTNDTjlRMVNCTzhoamZXcDljTS8rWklsK0U5eXBTRG1vTXIvbmMxTE1vS1hE?=
 =?utf-8?B?eVNjODFsU0d3WkZPYkZORHlqVFZzOFJtWDhCTFZORDJIeVltWjRmQ1BLU0JK?=
 =?utf-8?B?azdydUJlZTc2dmxNNDdsWTdjNGpjM2t2NXJ4M2VXVy9tc2VadDNrSW1aYW5H?=
 =?utf-8?B?REhzbW9zVlNLd3Y4TEE0YThNaksxS1NwZTY1S0J5Nm9tcTZEVGREWlNZNUVY?=
 =?utf-8?B?QnkvL0U0b3dYMFlWYjQ5aGtneElsc3ozTFNlbk1PazY1clVObEdsZzFzdXJW?=
 =?utf-8?B?YUFaM0JIU1dEKzBKREx0ZHdqQzJDZkRGOVBqQm1qOXVTc0E3clgxWVVndnFV?=
 =?utf-8?B?K2JHaEpFaVVRVkZhcFg5c2wwYitFMGZIalB4Ykc3VHZRVUh0VXZNaXZwMjR2?=
 =?utf-8?B?UHBzYmk1R1RvSmV4S3dtUzQ4U1FnTUZTVG4xbjV1cFM2cTRlclUrQzVieVlM?=
 =?utf-8?B?VEd6djhkQmRMTVBHNkI4T3RwUXZwMlFsT21ZbmhXOWZwVTFzRS9iMFB2Rkh3?=
 =?utf-8?B?cU5EdnFqQyt6M3VzZ3c4Vm83RUhOL24yZEJkUzJlNktDYmw5ZzBPcGp6cXV6?=
 =?utf-8?B?bjJKQlBHWnQ2a3gvYjQ0NmhxY3pOM1c2K0xXZE8vR3dIblpUdmNqajIwRkJF?=
 =?utf-8?B?emVMdjBTa3BVZDJscmxUdFFiTWdjWWM5eHRlMnAraExCNi9aNWVRRVBJT1VS?=
 =?utf-8?B?TXZqR1N6WVpSVDZ3T0t1aFRKQ3dPZ2Y4NG9uZWJsZHp5b2J2alMrUHQvUjdq?=
 =?utf-8?B?aEN3MDYzZWdhekxsNVkzTG1EM1BrMXNGenh0eVRTa3FBaU5sN20vSkVZY3U4?=
 =?utf-8?B?TWJTYkd5V2VadkIvTzdTVklUcEVJcHhKaXl3TktjWFRUWnFkOHozV0tHNlFW?=
 =?utf-8?B?Qnl4ZHRHY3VLeTJTb3FzVW1ZZ01oQy93YjltN2NhNlB6Q3BnSFE2NjhLUmhO?=
 =?utf-8?B?ancvV0ZTSjBGdzh5N05VdFoxSHp0RHlTblZzcnY4MEhIRHpSZmtDUllaR0pl?=
 =?utf-8?B?bFhHYzFZTzFxbnpTdjJhVVVNSTBFS2hWa1pneG1qUkNhQkh6U21WWkRlRms4?=
 =?utf-8?B?Qzl2VHBJNzFoY2Q1cTlGRHhSc0oyQnhPK3ZsL1dmT2FkZHN1NFd0NDFONk1H?=
 =?utf-8?B?ZjJkN1hJcEFuK1VxL0hQN1hSQ0JJVmVMdzlhMk1mVnEvSGxCNXdiNFh0QUVu?=
 =?utf-8?B?SXFjTjRjN0hkb21JbGsreFk2MHhhTzBwSzZBUW1vWEtobEdzL1N3WXViSnZq?=
 =?utf-8?B?enAvKytmTVI5bHBtS0FNOEdYbEY5SHNQbmNnN29GNUU4REJMZ0Vkc3BzaFBr?=
 =?utf-8?B?ci9BNmoxMzRld3oxNk9OaTdtZjFOdndtVXY4dndZeXVBZU81QTQ2V0RtTnM0?=
 =?utf-8?B?Z0dmTVpkeW13ZFNwMDJpRGNJYmZCWUl5Q0ZkWjNYT1NJLzUxb3J0RFY5NW1O?=
 =?utf-8?B?M1Y0bkNreVUzT1dIczNXcUVYQUdwMFRBZ2g4L0NkWmVCYnUrM0FLVXI5NXpw?=
 =?utf-8?B?QURHSzRVZzRMOURyOHZWZ3A1TXhZTWp5aUZXM01GanNXK2VFZ3B2Q0xhRzdI?=
 =?utf-8?B?QTliN2tLR0wvbExzL2tiZ1JRSE4xa291alp3YThFcENJTVYyTHVwL2tqc09W?=
 =?utf-8?B?VWVjeHl4Q2xjcmpoaXVYcU1ja1p1WVltOXNmazd3K2RzZnBrVFVxYXRjZXNw?=
 =?utf-8?B?aGxWc2lxU0lnMDVFVGxNVDVzQ280amZaRUZ5REN6MVMwM1ZVOHRlems1SjNQ?=
 =?utf-8?B?dm13QWlEZlMwdzRtaS9YM3NmMEpzYUsrODczcmRSc2VVTXd2NWlZckxBRk9L?=
 =?utf-8?B?b25OVjZFd21QcFBYRmdNLzgwVGtBWXg1UVJPSzBBbG9DKzcwNHZxaDUwTHZp?=
 =?utf-8?B?K29hU2wrZWRqZHQ2Qm0rTnFJR0FTRzdzaG0yM2FsYTgzd3J3c0E1ZFNIZXFJ?=
 =?utf-8?B?eGJwaEFZaWlXQUFlLzU2eUdnRmRGU0UwMXYzVzdwOXV3SGc2M3E0bEx3NGt0?=
 =?utf-8?B?WFRpUnFNQVppNFlnalJtcTAzSlV1SXFEUVVoaTFSZnhTbGJ4dFdSeHV6TjZz?=
 =?utf-8?B?bGlLTVErVC93emlnYm5HNDZtc2RLRDBuWFVQNXFBSE4zbXlEU0ZzalY4enla?=
 =?utf-8?Q?KzQM6TKXJL0SriMRMxDCYvmk9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ecf69a77-e235-44d9-f9c8-08da7517bcd6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 06:16:44.0499
 (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: pPlPDERjbw5NFC8utFCgf2rA+YeQwKTrF6+QtB6CDvDB0NEKb+kNns5+MKF8wUc23mNGeFBDf2iMGBwOv4EdGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5599

On 03.08.2022 00:58, Stefano Stabellini wrote:
> I think it is better to avoid asking for changes not currently in
> CODING_STYLE and docs/misra. It is less work for both reviewers and
> contributors to add the rule to the coding style first, then ask for
> changes.

I very specifically disagree with this statement: Attempts to add
text there have been ignored altogether, i.e. have not even been
seen worth a comment against the clarification and/or addition. I
have therefore given up to propose changes to this document, and
I'm also not going to suggest to anyone to make any attempt up and
until I see movement on the adjustment proposals already pending
(the two of them that I can easily locate for now over 2 years,
and iirc there were more which predate our switching of email
systems and which hence I wouldn't have in my outbox anymore).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 06:19:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 06:19:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379564.613102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7j8-0000DM-Pn; Wed, 03 Aug 2022 06:19:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379564.613102; Wed, 03 Aug 2022 06:19:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7j8-0000DA-MF; Wed, 03 Aug 2022 06:19:30 +0000
Received: by outflank-mailman (input) for mailman id 379564;
 Wed, 03 Aug 2022 06:19:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ7j7-0000D4-HU
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 06:19:29 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130057.outbound.protection.outlook.com [40.107.13.57])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3aa51895-12f4-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 08:19:28 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM5PR04MB3090.eurprd04.prod.outlook.com (2603:10a6:206:4::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.25; Wed, 3 Aug
 2022 06:19:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 06:19:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3aa51895-12f4-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HX1txld0schNHl0FD5NAiBNzj0aYzZ002dH/yoXIcJvvQ8JrMuwmSRBUVKReTJXDqHbXEWDykWAz89GGxOnurkmKLnpVw/iIb9X+9m4dlaHTtHJuszb086JAhtvBIWy+yKVwu5ExIVNfigiEofoIAbovM4grQgQg0UlUtglNlZJsOcstA0dFP2UhOB5etkvzw4A6Tk+sMfah85NxHnTf1p69OXkJ4kxUNnRH3ajeOHedbI02cYVS+ragV0Tn8y9bdXEqYm4USFN3mGBjpqSlje+NR4i0CDiHL3UNLo8fihDqQ9LTDBMEp00VzN7Yq4J+mNSQgA9UcG8Z52YV+oomkg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qhaMqdyunHIce9EhlgnKx+Hh+XsGM/GBZO2n6H+JrjY=;
 b=Xjv8O7e2xTdHTDMMr1Z2fcrycwqdyL1LMOHgYMVR67scbUEYFfp0VO9wmg2fN+xNABtxBTqA2FLFfhyPv6Y0JxK06ioKImoXE6ZaYI4YIN1m+m9HdqQzJ3ANG8hZSVzpzKX/vZ1Mvg0GJeBrJuC6HPXwiAdl6ZJVQy6WljjXC8niBa6xAsYg31qV9v+0dBr897l3m4IYlQ+N6pz0w8OHkL5764E5wQT0PmgZcRMW+syzmmsMTBN1pHZygYlzSWzBxnlh0yFiezYzWU5JQ8xxlc03SI4VNDhW1u/nxpzrGT6sZjCO5fzubaMzFeBH0K1K4sz3Kkd5Nd7vWG2dRo6iPQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qhaMqdyunHIce9EhlgnKx+Hh+XsGM/GBZO2n6H+JrjY=;
 b=RFEgGxkRpt23gwv2wku8FmL6KBQewV5CtzWNg2d5Imct9v47PGlzb2pLrJVKkCEnHEBuVQVrMx+uBvMR0L237VyNVO1Gd4OiKbtwr7U6tWPN0NfrWs03LUcZTmtbIkDVuf/4w1rdHaIAywM+uigB4SgNBUEHpfMTvy1nO+kc2Yfu5couXw2NHmuUqvEyYihg/ZfDe5ikMSQhsx5SSRie/tGCYn9wV9p3B7WaHV6uncKcvtFh6lbKTlkBNb/SIzhy7+lEFrAnPsQVUbT6KiOlYac66cHR1pYrvGx18+rg8yUXNRo4KTAzGPKQOTXr4yhaMfurVuiAqPBoKTJrn3yOjQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d6ecebb5-5056-d4b6-c2f6-7d2cebec13dd@suse.com>
Date: Wed, 3 Aug 2022 08:19:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 1/2] xen: sched: dom0_vcpus_pin should only affect dom0
Content-Language: en-US
To: Dario Faggioli <dfaggioli@suse.com>
Cc: "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
 <165944829054.3531.818489021551433260.stgit@tumbleweed.Wayrath>
 <473a337f-3211-c588-9398-b9f9a18926e5@suse.com>
 <228c70b853a8d790f1e1cafc2bbef00b5f845606.camel@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <228c70b853a8d790f1e1cafc2bbef00b5f845606.camel@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0123.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: be4518c2-1668-4c6b-986b-08da75181cb6
X-MS-TrafficTypeDiagnostic: AM5PR04MB3090:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UoSnLIcdMYamy5JYlQrP5ZggEjnTVCJHKezdI952QpxGBnrH/dSV5B3PPUebm6hMX2MZWuxSTvFIiqKJnTVmzIbNrN9t/S5jtgPshHCq0e9ogbpuF/U7Fy/6I2a67ADYqd1WMED1UwGaj5iV50CnPgOZRdM9BzrjlZzI+mqhMtt2ZbE8npv4uN6OjnfRnH3iemxNKBNjlY6jgmHQSqOKYMIfVqWCLgerypXvzraEC4xpo2rnT/VOlUMWxSUTucLfpT5sXCgVeHf7NJ+28lONtEobhDy4wqYuUVdcU93H7KyKx2s61QruS5b+NrE5QBujTCXNsa/stU5hkOxJyGQBA9cMRkwlWeCrdPa3yXEB56Cyi7SRKWs0Q+CAlamwA1serpF3UncKQimP1n4reo+jGrDlMK0Lti/uFTODtKq4LCGoKRymvV3G/srrp+Fq53JcTP6Kj4+FBC7hNGKUULYbmZM42kCd+k7XwdoVCTziEG4tLTmaMXm1ZOSRPbPKgux6Gax7hKz/ECfc6sUWQNqkp8jT/O489zZuxtpyfCY+Xe60uQy4AFxKgOGMh2yYP+B+zUC1+WSNy+0nOUUrJYLEpQyMDOn3MtBuBVdDMSgLwXciFLa+bOlUvKAMTFx3dEGPa5jxZrki7LxWmeC9SjiuD+EtvZzQ5B06YK8XvPnv3phrRvbQ6Zuz4eBEzjhyxdtwG/oO5owtOvmsEgWWxdQLF52Fg4i5AX4GZP6cj46dL5eQ5Ap7RUJCCwNYyqcVtbra3DHHXH2bISQHG2XFufbWXkGIYsPQhJxEDrv1fHBU2vTAu/KhOgeFaDtv7012MKPO8OfhxP3AuQGoGs/P47m0kA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(39860400002)(346002)(376002)(136003)(6666004)(53546011)(6506007)(54906003)(6636002)(37006003)(316002)(2906002)(5660300002)(66946007)(66556008)(86362001)(8676002)(83380400001)(66476007)(4326008)(8936002)(31696002)(6862004)(41300700001)(38100700002)(478600001)(36756003)(6486002)(186003)(6512007)(26005)(2616005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OEEzSkxVeUNjL0t1RFQxVkVNQmh4WVkzMzNPUUI3Vjc5eVY0Um9rOE05RWxY?=
 =?utf-8?B?M1docCsxMzJZc0plY3k4Mm51SGJiT3Y4NmRGNEVremR4cHVwN05URTBlSzM5?=
 =?utf-8?B?dFR5eU9BdVdLZUZvU2g0TFZBT3A4NG16QTdIYmhOanFLT051ZWNRS3lzMjdJ?=
 =?utf-8?B?M1ozRHZxLzhyV21YeWVpVHFxdG41N0tnYU9KUXR5RGZyelFRd3YvYlRkdmFP?=
 =?utf-8?B?RTk3V1QybUNZYVd2aFF2RUFYMjlRNWJzUUdOakZIQlN4bjBDNFIwTmUwS0Ey?=
 =?utf-8?B?TjN2N3R6VU4wWEM5MDl3R1Z0bVY4NE5mbFkyZTFSQ055ckppbEVjRTB3SFNF?=
 =?utf-8?B?bTlLTkVEVExOZEh2VStkYlFsZmNhU2t5STQrR0dkSENaU01WeHFjbW84N0dH?=
 =?utf-8?B?ZVk0YlVOZ3FNZEZ2aWloTk05ZVFJV2RsMW9KRmE4eFFHMUZYU1JwUXBQZ3Yr?=
 =?utf-8?B?cU85U09zTUZjTkRkVWtac3BsUmdnMlhlbitJdWJSbjZMdE1DN1p4N1VGN3N2?=
 =?utf-8?B?d3A2bkZSS3R4V0pQREtyTnlQRG5NUi9PMGdIVzRFNmp1Tlp4M0Y4aGNBTzdD?=
 =?utf-8?B?Y3prRzhYU3JJY0ZTMXdhb250OFJSWGlBVFh3MTIzclNmZllzdFcrRmwrN3kr?=
 =?utf-8?B?VzNkVVprUUlKYUdNTWJuZHlHUWJUVmJHYnZwMEcyM3JOYlZnQ0M3dXRBa0Fo?=
 =?utf-8?B?bDNZd3hiUk00Y2tZNGE1Z3VQbkZjSGdtQjVKOHh4eXVtWGlZMHcyWkZBWlMv?=
 =?utf-8?B?Q0tuVUlzNFdLc0ZwcXY2UVVTb2NSL0FEZmYvbEdrQW5PZFNHdTQzeG9nQkJi?=
 =?utf-8?B?N3pHK1dJVnd1aEhzVWg3djl1ejhZcnoyZU5JQkJnemN2cGFyOXpIV2d2UjdL?=
 =?utf-8?B?UGZoQjZPeERRb1VGaVRzZDNycXgxMWY1ZzZvS1dyeE1YSGFGNXdFMi9PTHBU?=
 =?utf-8?B?RUQyQTVOMFhjUTJ6WFJPWjEvcE55dkJMYzZIRnhwbkRnVEc0Qkw4dVlpREZm?=
 =?utf-8?B?bk01aHZkNVExR3B2R2dHdHpFOEFDS3hnWENZQXJaaUNvTHE0cHlBU1VjQm0x?=
 =?utf-8?B?QkFpVnhiclNPdUFET3J0cno2ZGFRSmt6NzQ4K1RETVVEc0pPSEo3YWJOdWg0?=
 =?utf-8?B?MHdjUjRvOTRFNWxZT2E4MkRsRnFnRXlSVDZvNHp4SGNzMERMMFZjQW4yNzUx?=
 =?utf-8?B?cXNWSUxjOTFtZTBvSFd0R25oc3czRVh3YlFCMlJmU3NuVzJjaXZ1a3JSZWRm?=
 =?utf-8?B?eGVwbGlZWjBFSXlmdE42WFVQcnIrRTlmM2djaU03TXVPcmhWV2k2ZzEzb08v?=
 =?utf-8?B?cldoM3BtYmZubk01NVo1SExsMTJJZm1DYWl4eEVUMTVSMExIQjA1QVZVRnlF?=
 =?utf-8?B?eHVZT2tXS0J2Y2pZZzZGMFhKT1BOTmkyeXdicXpuVmFjQlFtV2RURTFQNGJE?=
 =?utf-8?B?N3c5QjJ4bUh0S2VnRmd5SmlMQnNaYmJZNjN0TmR6bXdOUXBBdUdEdEkvYkov?=
 =?utf-8?B?UFpDdDkwR0NtVXJsNGNxUTdnM2FYd3Q3LzA5WE1uK1hqdVJGNnJFbDFqTVlv?=
 =?utf-8?B?SUtlb3locjRIRFBpZXd2RFJjZEFvRE56RkxHTFhNL01uSlM5K1NJdEZaSC8y?=
 =?utf-8?B?Qm5BSzZWMkowUUdGTU1URlJHNXNnZG1ScVJqaHVjY0ZlMnFyNlkxNnhxV2FF?=
 =?utf-8?B?Q2p4UTlpbExhL0gwb0h1bnpqVW90V3YyTEYvTE1WaTVQQTJCb0pqb0ZlK3dx?=
 =?utf-8?B?QllaQ0R5U1kwUHZkN0J3OTRyZzF4aitWUFNzSWlNcGt1bnJvN09obGtzbVk3?=
 =?utf-8?B?NjFYWllmTElKZnJzaGlYc3dlVHAyOWJraFlES3A2RENpekxERUNnR3ZrSXdK?=
 =?utf-8?B?S21naWhFK1VNazM1d3luT1h0M3pHL1BLUmlZRGhHc2JTandyclF2MmM3eUJv?=
 =?utf-8?B?T1N4c2IydlRTL1VYclJUaGZncE11ZnBrbFFEYVNXUXhqWllRekJPZFVYZWNp?=
 =?utf-8?B?ZHlPM2VucS9WL2lRZ3haMS9DV1NrMDlYQ1FTaUJJYkFtdUdnRHhBa1B3L2M2?=
 =?utf-8?B?OWpROUJ1UDVMQ1A3RmR4aHk5NndJd3VVU2psTSt3Rkkwckt4L3RkVGN4TlBy?=
 =?utf-8?Q?yXPCa+l0q0gLI4Wz3QKhJESUZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be4518c2-1668-4c6b-986b-08da75181cb6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 06:19:24.9458
 (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: BCrqRA12AoMbsw7RwG7SQAAQRVOqQi6kCxGtzM0jq3bylgEeeGXUiJNOm0cwIwsyngIIDLb9MtIjLxsbuY/DNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB3090

On 02.08.2022 18:08, Dario Faggioli wrote:
> On Tue, 2022-08-02 at 16:56 +0200, Jan Beulich wrote:
>> On 02.08.2022 15:51, Dario Faggioli wrote:
>>> If dom0_vcpus_pin is used, make sure the pinning is only done for
>>> dom0 vcpus, instead of for the hardware domain (which might not be
>>> dom0 at all!).
>>
>> Hmm, but the control domain may not be either, as it's derived from
>> d->is_privileged. I think ...
>>
> Mmm... Right.
> 
>>> --- a/xen/common/sched/core.c
>>> +++ b/xen/common/sched/core.c
>>> @@ -575,7 +575,7 @@ int sched_init_vcpu(struct vcpu *v)
>>> Â Â Â Â Â  * Initialize affinity settings. The idler, and potentially
>>> Â Â Â Â Â  * domain-0 VCPUs, are pinned onto their respective physical
>>> CPUs.
>>> Â Â Â Â Â  */
>>> -Â Â Â  if ( is_idle_domain(d) || (is_hardware_domain(d) &&
>>> opt_dom0_vcpus_pin) )
>>> +Â Â Â  if ( is_idle_domain(d) || (is_control_domain(d) &&
>>> opt_dom0_vcpus_pin) )
>>
>> ... for it to be strictly only Dom0, you want to check d->domain_id
>> here.
>>
> Ok, I'll send an update that does that.

Well - if you agree, I'd be happy to make the change while committing
and then adding
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 06:25:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 06:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379570.613113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7oy-0001h0-KC; Wed, 03 Aug 2022 06:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379570.613113; Wed, 03 Aug 2022 06:25:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7oy-0001gt-H2; Wed, 03 Aug 2022 06:25:32 +0000
Received: by outflank-mailman (input) for mailman id 379570;
 Wed, 03 Aug 2022 06:25:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ7ow-0001gn-Hn
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 06:25:31 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50061.outbound.protection.outlook.com [40.107.5.61])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0fa65666-12f5-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 08:25:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB5707.eurprd04.prod.outlook.com (2603:10a6:10:a4::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 06:25:19 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 06:25:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fa65666-12f5-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NQaJ5Ku5EtQh80cxkjzPJIe68NR71K6k5zw2r9oi0VCvWnbrnD937dEVpAD2zK3DrK9AYpNmT8FqRp9DG1Uh79WsX6YpdKKgoIBBrYhFZn2S0W4RPLJ60vaUuPkSv5z/tYGUsvLUiymt1Pt3Vn8gK7JtnVdw5uLENcBAwQ9fq/bdoMzwm5P34EoiOQ8wPP3Pa/SBx+fypnGleHngL+nh+DpZgbQrGCEMy2NgmULQXcHnX+G5F294Vd2Tc+Gjq0uwAOTJ9aKhYOtF88yt0xbnwLS6AH+B4DHSDTCV7XEQyIvWA3oz2ZZ48ogJF/+KdsoZmXLKkmgt9goGPjSIY4BhFA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NhMcpK3QpM/F7wvDHFKKqiVOwX/I72JYXVomQ4gp4Is=;
 b=YNef2yuzxNF4CaJx6Vc8/Dd5cbybI8Kdn0o24efiT7gtXEpXsI0cF8aYLVh3T0fIfpsRnE8dB1dfRHlK8wXO3CxywldUzoxXhIbgl+puNhUXjF1zrT6L9kxyKcuVSFkUg3ZweC+H9AExQRI6Rm0bGBX0vZu7mg3DsZKKO6/6/iHbCY73rUmsjyPi5uvuyaj150QZmjlD23wAqBp73uc6EGS9wz+62rA/zWe08H6nrYkSKINGDAdiKsnbLR+I+LH8KMuvJHMRrFoHk7KcIkOK+FN30uYNdB2VxFoK3LzjB9o+weNsiBPEDCroGlIqVJUiEb5dpKmsh+gT1opoi0qc7Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NhMcpK3QpM/F7wvDHFKKqiVOwX/I72JYXVomQ4gp4Is=;
 b=HHXtTULKy1Wsd+SwWnLpTzNqOHz/PBmOeeXt1LL4hEyGz+GdXBY0OnoUjOj2n6ORPW3zNsTPl0YKGOvmXwKlGpqJe0uW1lWGTZD6J/S77lVpBIWy5FEVodL/AXMWmHWbz++mAYaOjQMefSpEoGRRsgExevp889L8KwktdgC0jDBrPB7nk/AJ3d7iZKjdDPWtqVj7Wm5Qjf/YKxf6USY2vhh0IFMnkUUzB7LNa+myij12jpPkuAiW67tEb/spIyy9BN6Ku7mYX66er/dtKh1ceRFqQKyxx2SHBzJBLcesfmFp8TxSaGD75JnMz8GIvSRNJbq6ArhwFHF3aW3j+i1JOw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cc1058ef-ca8e-12d5-1ff5-9fc824cf260a@suse.com>
Date: Wed, 3 Aug 2022 08:25:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Content-Language: en-US
To: Bruno <brunoce@kolabnow.com>
Cc: xen-devel@lists.xenproject.org
References: <87c86770-9244-dbad-23ba-d449b2c3ccb7@suse.com>
 <B8D2151F-D58B-4443-8171-48623AB77595@kolabnow.com>
 <eaa074c2-350e-c526-b825-c2d45ff0fc48@suse.com>
 <24ec8c9e1dffd6073677fec8d2fb038a@kolabnow.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <24ec8c9e1dffd6073677fec8d2fb038a@kolabnow.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS9PR05CA0056.eurprd05.prod.outlook.com
 (2603:10a6:20b:489::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0128a831-bce3-475e-ba03-08da7518efc8
X-MS-TrafficTypeDiagnostic: DB8PR04MB5707:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i6fFoIUVLesV15bTnLigVLFUrarLKL5KxNQ+HOVYM9FTfbns/poUZvo3VbKDhuHxuDYhj+M3wiWtJyX/21DVOSSVo2PdPStiOibp4Cop2vzRWGT8ltFUehiopdL3Ngw8YyNps937shzdBN66cyP5XR/i8j4/1d7c/nX6L5IkrXB11LSDVrvRMAHYDr2EWdvjI3gXNnjk0XYPsO3WtwLHAtCGmANgerlFtkOqCjkUnckjQ5t9kxLkQQFitmKgm0NCM65YTYR20XfAdDOaexJJJKFBzzlRnBgR3hMYJlzz1DVw9wfrwyAzowpV4GrWmEwmQKZ9H42WYYucoj/0TEuEW5p1TQtJxH2QkwbuoYUYw+fP9EHEKCFG+K6aT6rl+qtm/uczu7iqOY8sUVsWd8R1mX+xZl9UFZg9Emsm6Pste8d3xtnNw6LLiqqq1jgaIhuxJjdJW8pN4uJkRiQeohr/XwE/I3IM0d/nhYisfdzJWQVuahmb3vx66olvDFEbgxVpIx9mtUPYt2dKTaFsDimcg2anmGVVCK1T6QayAJJmPKF0+h3YGtVXDXDgB0v5ZSIHoU9dFXptFI5xpJgVK/i4PTUpjeNuZHkFbrYmOVN4HuQxWfC9kjtg8SNjvfML5Rvj7rX6wafvd2L5o67+J83CtD+b1agF5P/FZAePriCTwPAOVI+6TJ5KswtNb9NMwx0UbhVJXr/de1QXF23V+G0wTvl/FQEviEnygSIQivSQW4U2+wVoJdwqA+duZzvfy+iXrrMpp8vQC4rMtdWAkMG3rzqsKCrmuQ1O2EPDwZE6pFTzQa33Gp4jMC3jg40Nsr3WF4rAuP6ay3QOUIl+K+CsZu4naL2n8m216eTEd6ltfy4AP9FxSIsaAWw7yI9BpeRl/LEXrOs/ZS1UAsY4M9D4+xiM5pKJVM4CDNxPfyretJ0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(396003)(39860400002)(376002)(136003)(2616005)(2906002)(26005)(316002)(41300700001)(86362001)(31696002)(6512007)(38100700002)(6916009)(83380400001)(66574015)(36756003)(30864003)(4326008)(6486002)(8676002)(966005)(66556008)(66946007)(53546011)(186003)(66476007)(6506007)(478600001)(31686004)(5660300002)(8936002)(2004002)(43740500002)(45980500001)(579004)(559001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UEtLTTQ2M0JrL0xTcW0xWU4vZlRta3laWmszYkxYTXVOWVVEaGNkVHBwblJO?=
 =?utf-8?B?cTNmZ3dpWElVRi92Z21ZOXJ5VXdrNGYzMGlpWHFaSld4YWpPcDZmNlF6ZVRx?=
 =?utf-8?B?YTBqQ1Fna2xwNVo1anU5Y25nU3NWMEF5V0VERWI0ZG9CQzJvNmVwNFFkcXo0?=
 =?utf-8?B?clFGaE1ZU1hkRG1OYVdEVWpMdlBSTVZLM3VyTmV5bHh1WnpoZHFuNEhYQ0hz?=
 =?utf-8?B?M3Jkd0hyaUdOcmZtREh6eGJLU0NIM1IzcVdpTThkdTAzV0VmVE1qUXpiV0Fr?=
 =?utf-8?B?Z0ltdFVYUW02K3BiT2VSNlZ4VHJpMTBrVWJvM09zZGUwVnhZOFRLUzlZbjhk?=
 =?utf-8?B?Wi83WFVsOE1XZUNidjlyMnE2MTBsbG1wY2xYOEdZWHNPSkJlMDNtYktPQ0Er?=
 =?utf-8?B?cGlUOEl3cktoTkJObjRNRGlLZmhEeVRhMFJjMFZFcjcrQjV2RysrMTBVWEhi?=
 =?utf-8?B?YnRYVXRzNDAyUEFWZXhmZ2tZOGZrazNCQmxFaEdmUWxYN005aUFaRmJBWnNh?=
 =?utf-8?B?M25MQjJjRU1PM0owM3NtSysvTk1ONXcxYUVYUTEvUEYvdE40eFM3THpvTkRV?=
 =?utf-8?B?WE1zOFlnRmhKL09tMmdnYUJlSnhxSkMwVHRvdkVUemlPNDc3bmxwbFpvYThw?=
 =?utf-8?B?YUN2b2JuaUVsWHNWOEdHZmNmMUY0VlFjRlVGZ01TeWQ4ajVZMklDT3RlbHBS?=
 =?utf-8?B?Sk9YcjdmUVNCM0k4SGJGejNuTlpaV1BTN0tHb2lPRzJzVXdYcWFmSllUQ041?=
 =?utf-8?B?aEJpaFhUaG5nT0hHTm1kOHBodlBURThXblhoT042blJJMGxVb0RoblVSRkdQ?=
 =?utf-8?B?NTlQSk0xUGtJWnE1Wks5blpSVHpKTWRKd2F6ZG4vUU1UZHhnZGpMZGF6YnJG?=
 =?utf-8?B?VGh5dFEvbnA1RFRORk1ZeldQc0JjQWlLMUFLenBCQ3o0NGRZTTFEMmJMOUdh?=
 =?utf-8?B?UXI0MzRWdms2d09kV3o4a1k4a1dtYVpsaFcxQisrc1Z0azhVRWM2MHVWUjZ2?=
 =?utf-8?B?c011NU55Q2ltcXVyK1NDUElvMmxUcXBlUzFaZFRUMk9vdkorK2tMOXdwSnUv?=
 =?utf-8?B?WTF2UlhpUUZCSCs1a0Y1dTNQcWFPUWw3U080NEtFNUtSN3k4clVtQnI0dDBU?=
 =?utf-8?B?dmxyOEovWUdPaWZzRFlKaXNTRXk5SzdIaFpQUm8rMEpQOTRoU1h5S25iQURO?=
 =?utf-8?B?bnQ2N2tqbU9WL1BFejV5WDdxa2djWkZJeVVHQlpCWTgrVERVU1BJOE52VjdL?=
 =?utf-8?B?RjhtMVh6NmdZMjVxNzFHYm9vME14cmNaUktMVDVRdTNja2RSdW84N0M2T2p3?=
 =?utf-8?B?TEFPbEdzYStuZE1COEVIVm9qRzRnNU9XWlZSdm1WeWlibzBsMWRpN2o4TWpm?=
 =?utf-8?B?T1c1ZVJWZVZhdWVMRFBrdU9JWFUzejJiSDNoeTVROHZRaE1FSXBGZFRlTG5U?=
 =?utf-8?B?ZDRPSWl3c0hQbUZUUnRoMkU2SjRRSE1LdG9KKzlzSVkrbkIyOGtiUWNYeWdM?=
 =?utf-8?B?bi9PcXM0c1A1SmM0ckw0T05FbUlmaGlQUGszTUJyaCsrazkwSU44dGJJQU1S?=
 =?utf-8?B?T1ZYZTRjT1lZOGhsUUdUUTJkSDBMSjFhYlcyK0loYThJaXBieVNyL0k5dUN1?=
 =?utf-8?B?ZE5URFZBWDhZNWJsZFdEYXQ5N0w0R1E3djRBRmQzaXM2dXBkUlJ5TFZSb3VS?=
 =?utf-8?B?NDdRdmpVSzlyczdLTGFETmRldGhhTy9qSkZkWGx4N0xucjU0TndrUWYwTU5o?=
 =?utf-8?B?ZEY1RzQ5OGpvRVlKRGVZTkhSclVhNXJ1MWpZSFpqTEF6YjJOK2piK2xVaDZJ?=
 =?utf-8?B?Q05ObUt2QXF6Y05mL25ybEVJa05QN3pDTDQxeFAyQnBIS2RSTUVlKzBYV1dy?=
 =?utf-8?B?Z0sybUxMYy9HeU45OHprdXpBZGRORlNleDFYdlJHSGNGYWNWc0xHMWtmWm5j?=
 =?utf-8?B?OE9yMS9GSENNQmxOWDdzRmhqMVNCVjVySU93dXlaYWpab05URXd3TVgrT00y?=
 =?utf-8?B?dURUa1grOUdOMnpLMWVTTXR3SXdPOEg1cEpwZ1QxL042Nm82azY0ZHI2SjY1?=
 =?utf-8?B?TkJpOGthT2hCRW8zQk1BTkhWTUVGMHVqY0lBQ2w1aVNXdGZNMStIemJiZWVG?=
 =?utf-8?Q?T4HRqV8XYQBfv0P9xX2F9rADY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0128a831-bce3-475e-ba03-08da7518efc8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 06:25:19.1264
 (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: UUGqVSA0yM20cbbkcYpIaBWmKN23CJ/ID4b+gFxXZQizjvr2/SvOuG5BcOjkRiu70yD2B4gtqtmpuzJSOz8scw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5707

On 02.08.2022 18:07, Bruno wrote:
> On initramfs:
> 
> - xl will give me not found - I cannot do xl info or xl dmesg

As expected - you'd have to handcraft xl and ints libraries into the
image.

> - I cannot mount any disk, therefore, exporting logs from there has been 
> photographing and using OCR then reviewing and correcting - but I guess 
> the main difference is ACIP, as I cannot access the disks

Oh, I see. I was kind of expecting (hoping) you might be able to
export the logs via, say, a USB key.

> I have now booted on kernel 18 to get the kernel boot log for you (the 
> one on Xen-user is kernel 10).

At the first glance - similar ACPI errors, and a similar issue with
loading sound firmware. Using two different kernels won't really
lend itself for direct comparison, though. At the moment I don't see
a good way forward here as long as not even proper logs can be
obtained: It may be necessary to add debugging code, the output of
which would also need collecting. But maybe someone else sees a
viable route to help you ...

Jan

> # journalctl -k -b
> 
> Aug 02 16:57:40 xd kernel: microcode: microcode updated early to 
> revision 0xa4, date = 2022-02-01
> Aug 02 16:57:40 xd kernel: Linux version 5.18.0-2-amd64 
> (debian-kernel@lists.debian.org) (gcc-11 (Debian 11.3.0-3) 11.3.0, GNU 
> ld (GNU Binutils for Debian) 2.38.50.20220615) #1 SMP PREEMPT_DYNAMIC 
> Debian 5.18.5-1 (2022-06-16)
> Aug 02 16:57:40 xd kernel: Command line: 
> BOOT_IMAGE=/vmlinuz-5.18.0-2-amd64 root=UUID=0123abc ro quiet loglevel=3
> Aug 02 16:57:40 xd kernel: x86/split lock detection: #AC: crashing the 
> kernel on kernel split_locks and warning on user-space split_locks
> Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 
> floating point registers'
> Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE 
> registers'
> Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX 
> registers'
> Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x020: 
> 'AVX-512 opmask'
> Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x040: 
> 'AVX-512 Hi256'
> Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x080: 
> 'AVX-512 ZMM_Hi256'
> Aug 02 16:57:40 xd kernel: x86/fpu: Supporting XSAVE feature 0x200: 
> 'Protection Keys User registers'
> Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[2]: 576, 
> xstate_sizes[2]: 256
> Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[5]: 832, 
> xstate_sizes[5]: 64
> Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[6]: 896, 
> xstate_sizes[6]: 512
> Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[7]: 1408, 
> xstate_sizes[7]: 1024
> Aug 02 16:57:40 xd kernel: x86/fpu: xstate_offset[9]: 2432, 
> xstate_sizes[9]: 8
> Aug 02 16:57:40 xd kernel: x86/fpu: Enabled xstate features 0x2e7, 
> context size is 2440 bytes, using 'compacted' format.
> Aug 02 16:57:40 xd kernel: signal: max sigframe size: 3632
> Aug 02 16:57:40 xd kernel: BIOS-provided physical RAM map:
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000000000000-0x000000000009efff] usable
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x000000000009f000-0x00000000000fffff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000000100000-0x0000000040198fff] usable
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000040199000-0x0000000040a98fff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000040a99000-0x00000000428aefff] usable
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x00000000428af000-0x0000000042c7efff] type 20
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000042c7f000-0x00000000446fefff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x00000000446ff000-0x0000000044f2efff] ACPI NVS
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000044f2f000-0x0000000044ffefff] ACPI data
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000044fff000-0x0000000044ffffff] usable
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000045000000-0x0000000048ffffff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000049e00000-0x000000004f7fffff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x00000000c0000000-0x00000000cfffffff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x00000000fe010000-0x00000000fe010fff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x00000000fed20000-0x00000000fed7ffff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x00000000ff500000-0x00000000ffffffff] reserved
> Aug 02 16:57:40 xd kernel: BIOS-e820: [mem 
> 0x0000000100000000-0x00000004b07fffff] usable
> Aug 02 16:57:40 xd kernel: NX (Execute Disable) protection: active
> Aug 02 16:57:40 xd kernel: efi: EFI v2.70 by INSYDE Corp.
> Aug 02 16:57:40 xd kernel: efi: ACPI=0x44ffe000 ACPI 2.0=0x44ffe014 
> TPMFinalLog=0x44ec5000 SMBIOS=0x42e5e000 SMBIOS 3.0=0x42e5c000 
> ESRT=0x3c78ea98 MOKvar=0x3c70c000
> Aug 02 16:57:40 xd kernel: secureboot: Secure boot could not be 
> determined (mode 0)
> Aug 02 16:57:40 xd kernel: SMBIOS 3.3.0 present.
> Aug 02 16:57:40 xd kernel: DMI: Acer Aspire A517-52G/Jasmine_TL, BIOS 
> V1.26 03/14/2022
> Aug 02 16:57:40 xd kernel: tsc: Detected 2400.000 MHz processor
> Aug 02 16:57:40 xd kernel: tsc: Detected 2419.200 MHz TSC
> Aug 02 16:57:40 xd kernel: e820: update [mem 0x00000000-0x00000fff] 
> usable ==> reserved
> Aug 02 16:57:40 xd kernel: e820: remove [mem 0x000a0000-0x000fffff] 
> usable
> Aug 02 16:57:40 xd kernel: last_pfn = 0x4b0800 max_arch_pfn = 
> 0x400000000
> Aug 02 16:57:40 xd kernel: x86/PAT: Configuration [0-7]: WB WC UC- UC WB 
> WP UC- WT
> Aug 02 16:57:40 xd kernel: last_pfn = 0x45000 max_arch_pfn = 0x400000000
> Aug 02 16:57:40 xd kernel: esrt: Reserving ESRT space from 
> 0x000000003c78ea98 to 0x000000003c78ead0.
> Aug 02 16:57:40 xd kernel: e820: update [mem 0x3c78e000-0x3c78efff] 
> usable ==> reserved
> Aug 02 16:57:40 xd kernel: e820: update [mem 0x3c70c000-0x3c70efff] 
> usable ==> reserved
> Aug 02 16:57:40 xd kernel: Using GB pages for direct mapping
> Aug 02 16:57:40 xd kernel: RAMDISK: [mem 0x2ff63000-0x33fa8fff]
> Aug 02 16:57:40 xd kernel: ACPI: Early table checksum verification 
> disabled
> Aug 02 16:57:40 xd kernel: ACPI: RSDP 0x0000000044FFE014 000024 (v02 
> ACRSYS)
> Aug 02 16:57:40 xd kernel: ACPI: XSDT 0x0000000044FDB188 00011C (v01 
> ACRSYS ACRPRDCT 00000002 01000013)
> Aug 02 16:57:40 xd kernel: ACPI: FACP 0x0000000044FDE000 000114 (v06 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: DSDT 0x0000000044F81000 059948 (v02 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: FACS 0x0000000044EA2000 000040
> Aug 02 16:57:40 xd kernel: ACPI: UEFI 0x0000000044F2E000 000236 (v01 
> ACRSYS ACRPRDCT 00000001 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FFA000 00255C (v02 
> ACRSYS ACRPRDCT 00003000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF9000 000105 (v02 
> ACRSYS ACRPRDCT 00003000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF6000 002137 (v02 
> ACRSYS ACRPRDCT 00003000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF2000 003300 (v02 
> ACRSYS ACRPRDCT 00003000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FF1000 00077B (v02 
> ACRSYS ACRPRDCT 00001000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: TPM2 0x0000000044FF0000 00004C (v04 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: MSDM 0x0000000044FEF000 000055 (v03 
> ACRSYS ACRPRDCT 00000001 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FEE000 000D02 (v02 
> ACRSYS ACRPRDCT 00000000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: NHLT 0x0000000044FEC000 001B54 (v00 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: LPIT 0x0000000044FEB000 0000CC (v01 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: WSMT 0x0000000044FEA000 000028 (v01 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FE9000 000B70 (v02 
> ACRSYS ACRPRDCT 00001000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FE8000 00012A (v02 
> ACRSYS ACRPRDCT 00000000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: DBGP 0x0000000044FE7000 000034 (v01 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: DBG2 0x0000000044FE6000 000054 (v00 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044FDF000 006BA9 (v01 
> ACRSYS ACRPRDCT 00001000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: HPET 0x0000000044FDD000 000038 (v01 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: APIC 0x0000000044FDC000 00012C (v04 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: MCFG 0x0000000044FFD000 00003C (v01 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F80000 000C78 (v02 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7D000 0020D6 (v01 
> ACRSYS ACRPRDCT 00001000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: UEFI 0x0000000044E5B000 00063A (v01 
> ACRSYS ACRPRDCT 00000000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: UEFI 0x0000000044E5A000 00005C (v01 
> ACRSYS ACRPRDCT 00000000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7C000 000985 (v02 
> ACRSYS ACRPRDCT 00001000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7B000 0000F8 (v01 
> ACRSYS ACRPRDCT 00001000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0x0000000044F7A000 000835 (v02 
> ACRSYS ACRPRDCT 00003000 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: FPDT 0x0000000044F79000 000044 (v01 
> ACRSYS ACRPRDCT 00000002 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: PTDT 0x0000000044F77000 000CFE (v00 
> ACRSYS ACRPRDCT 00000005 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: BGRT 0x0000000044F78000 000038 (v01 
> ACRSYS ACRPRDCT 00000001 1025 00040000)
> Aug 02 16:57:40 xd kernel: ACPI: Reserving FACP table memory at [mem 
> 0x44fde000-0x44fde113]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving DSDT table memory at [mem 
> 0x44f81000-0x44fda947]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving FACS table memory at [mem 
> 0x44ea2000-0x44ea203f]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving UEFI table memory at [mem 
> 0x44f2e000-0x44f2e235]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44ffa000-0x44ffc55b]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44ff9000-0x44ff9104]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44ff6000-0x44ff8136]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44ff2000-0x44ff52ff]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44ff1000-0x44ff177a]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving TPM2 table memory at [mem 
> 0x44ff0000-0x44ff004b]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving MSDM table memory at [mem 
> 0x44fef000-0x44fef054]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44fee000-0x44feed01]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving NHLT table memory at [mem 
> 0x44fec000-0x44fedb53]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving LPIT table memory at [mem 
> 0x44feb000-0x44feb0cb]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving WSMT table memory at [mem 
> 0x44fea000-0x44fea027]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44fe9000-0x44fe9b6f]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44fe8000-0x44fe8129]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving DBGP table memory at [mem 
> 0x44fe7000-0x44fe7033]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving DBG2 table memory at [mem 
> 0x44fe6000-0x44fe6053]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44fdf000-0x44fe5ba8]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving HPET table memory at [mem 
> 0x44fdd000-0x44fdd037]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving APIC table memory at [mem 
> 0x44fdc000-0x44fdc12b]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving MCFG table memory at [mem 
> 0x44ffd000-0x44ffd03b]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44f80000-0x44f80c77]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44f7d000-0x44f7f0d5]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving UEFI table memory at [mem 
> 0x44e5b000-0x44e5b639]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving UEFI table memory at [mem 
> 0x44e5a000-0x44e5a05b]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44f7c000-0x44f7c984]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44f7b000-0x44f7b0f7]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving SSDT table memory at [mem 
> 0x44f7a000-0x44f7a834]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving FPDT table memory at [mem 
> 0x44f79000-0x44f79043]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving PTDT table memory at [mem 
> 0x44f77000-0x44f77cfd]
> Aug 02 16:57:40 xd kernel: ACPI: Reserving BGRT table memory at [mem 
> 0x44f78000-0x44f78037]
> Aug 02 16:57:40 xd kernel: No NUMA configuration found
> Aug 02 16:57:40 xd kernel: Faking a node at [mem 
> 0x0000000000000000-0x00000004b07fffff]
> Aug 02 16:57:40 xd kernel: NODE_DATA(0) allocated [mem 
> 0x4b07d5000-0x4b07fffff]
> Aug 02 16:57:40 xd kernel: Zone ranges:
> Aug 02 16:57:40 xd kernel: DMA [mem 
> 0x0000000000001000-0x0000000000ffffff]
> Aug 02 16:57:40 xd kernel: DMA32 [mem 
> 0x0000000001000000-0x00000000ffffffff]
> Aug 02 16:57:40 xd kernel: Normal [mem 
> 0x0000000100000000-0x00000004b07fffff]
> Aug 02 16:57:40 xd kernel: Device empty
> Aug 02 16:57:40 xd kernel: Movable zone start for each node
> Aug 02 16:57:40 xd kernel: Early memory node ranges
> Aug 02 16:57:40 xd kernel: node 0: [mem 
> 0x0000000000001000-0x000000000009efff]
> Aug 02 16:57:40 xd kernel: node 0: [mem 
> 0x0000000000100000-0x0000000040198fff]
> Aug 02 16:57:40 xd kernel: node 0: [mem 
> 0x0000000040a99000-0x00000000428aefff]
> Aug 02 16:57:40 xd kernel: node 0: [mem 
> 0x0000000044fff000-0x0000000044ffffff]
> Aug 02 16:57:40 xd kernel: node 0: [mem 
> 0x0000000100000000-0x00000004b07fffff]
> Aug 02 16:57:40 xd kernel: Initmem setup node 0 [mem 
> 0x0000000000001000-0x00000004b07fffff]
> Aug 02 16:57:40 xd kernel: On node 0, zone DMA: 1 pages in unavailable 
> ranges
> Aug 02 16:57:40 xd kernel: On node 0, zone DMA: 97 pages in unavailable 
> ranges
> Aug 02 16:57:40 xd kernel: On node 0, zone DMA32: 2304 pages in 
> unavailable ranges
> Aug 02 16:57:40 xd kernel: On node 0, zone DMA32: 10064 pages in 
> unavailable ranges
> Aug 02 16:57:40 xd kernel: On node 0, zone Normal: 12288 pages in 
> unavailable ranges
> Aug 02 16:57:40 xd kernel: On node 0, zone Normal: 30720 pages in 
> unavailable ranges
> Aug 02 16:57:40 xd kernel: Reserving Intel graphics memory at [mem 
> 0x4b800000-0x4f7fffff]
> Aug 02 16:57:40 xd kernel: ACPI: PM-Timer IO Port: 0x1808
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x01] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x02] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x03] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x04] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x05] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x06] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x07] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x08] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x09] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0a] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0b] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0c] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0d] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0e] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x0f] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: ACPI: LAPIC_NMI (acpi_id[0x10] high edge 
> lint[0x1])
> Aug 02 16:57:40 xd kernel: IOAPIC[0]: apic_id 2, version 32, address 
> 0xfec00000, GSI 0-119
> Aug 02 16:57:40 xd kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 
> 2 dfl dfl)
> Aug 02 16:57:40 xd kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 
> 9 high level)
> Aug 02 16:57:40 xd kernel: ACPI: Using ACPI (MADT) for SMP configuration 
> information
> Aug 02 16:57:40 xd kernel: ACPI: HPET id: 0x8086a201 base: 0xfed00000
> Aug 02 16:57:40 xd kernel: e820: update [mem 0x3c78f000-0x3c882fff] 
> usable ==> reserved
> Aug 02 16:57:40 xd kernel: TSC deadline timer available
> Aug 02 16:57:40 xd kernel: smpboot: Allowing 8 CPUs, 0 hotplug CPUs
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x00000000-0x00000fff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x0009f000-0x000fffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x3c70c000-0x3c70efff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x3c78e000-0x3c882fff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x40199000-0x40a98fff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x428af000-0x42c7efff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x42c7f000-0x446fefff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x446ff000-0x44f2efff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x44f2f000-0x44ffefff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x45000000-0x48ffffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x49000000-0x49dfffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x49e00000-0x4f7fffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0x4f800000-0xbfffffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0xc0000000-0xcfffffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0xd0000000-0xfe00ffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0xfe010000-0xfe010fff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0xfe011000-0xfed1ffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0xfed20000-0xfed7ffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0xfed80000-0xff4fffff]
> Aug 02 16:57:40 xd kernel: PM: hibernation: Registered nosave memory: 
> [mem 0xff500000-0xffffffff]
> Aug 02 16:57:40 xd kernel: [mem 0x4f800000-0xbfffffff] available for PCI 
> devices
> Aug 02 16:57:40 xd kernel: Booting paravirtualized kernel on bare 
> hardware
> Aug 02 16:57:40 xd kernel: clocksource: refined-jiffies: mask: 
> 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
> Aug 02 16:57:40 xd kernel: setup_percpu: NR_CPUS:8192 nr_cpumask_bits:8 
> nr_cpu_ids:8 nr_node_ids:1
> Aug 02 16:57:40 xd kernel: percpu: Embedded 61 pages/cpu s212992 r8192 
> d28672 u262144
> Aug 02 16:57:40 xd kernel: pcpu-alloc: s212992 r8192 d28672 u262144 
> alloc=1*2097152
> Aug 02 16:57:40 xd kernel: pcpu-alloc: [0] 0 1 2 3 4 5 6 7
> Aug 02 16:57:40 xd kernel: Fallback order for Node 0: 0
> Aug 02 16:57:40 xd kernel: Built 1 zonelists, mobility grouping on. 
> Total pages: 4074001
> Aug 02 16:57:40 xd kernel: Policy zone: Normal
> Aug 02 16:57:40 xd kernel: Kernel command line: 
> BOOT_IMAGE=/vmlinuz-5.18.0-2-amd64 root=UUID=0123abcd ro quiet 
> loglevel=3
> Aug 02 16:57:40 xd kernel: Unknown kernel command line parameters 
> "BOOT_IMAGE=/vmlinuz-5.18.0-2-amd64", will be passed to user space.
> Aug 02 16:57:40 xd kernel: Dentry cache hash table entries: 2097152 
> (order: 12, 16777216 bytes, linear)
> Aug 02 16:57:40 xd kernel: Inode-cache hash table entries: 1048576 
> (order: 11, 8388608 bytes, linear)
> Aug 02 16:57:40 xd kernel: mem auto-init: stack:off, heap alloc:on, heap 
> free:off
> Aug 02 16:57:40 xd kernel: Memory: 999928K/16555320K available (12294K 
> kernel code, 2773K rwdata, 8568K rodata, 2500K init, 5156K bss, 540176K 
> reserved, 0K cma-reserved)
> Aug 02 16:57:40 xd kernel: SLUB: HWalign=64, Order=0-3, MinObjects=0, 
> CPUs=8, Nodes=1
> Aug 02 16:57:40 xd kernel: ftrace: allocating 38641 entries in 151 pages
> Aug 02 16:57:40 xd kernel: ftrace: allocated 151 pages with 5 groups
> Aug 02 16:57:40 xd kernel: Dynamic Preempt: voluntary
> Aug 02 16:57:40 xd kernel: rcu: Preemptible hierarchical RCU 
> implementation.
> Aug 02 16:57:40 xd kernel: rcu: RCU restricting CPUs from NR_CPUS=8192 
> to nr_cpu_ids=8.
> Aug 02 16:57:40 xd kernel: Trampoline variant of Tasks RCU enabled.
> Aug 02 16:57:40 xd kernel: Rude variant of Tasks RCU enabled.
> Aug 02 16:57:40 xd kernel: Tracing variant of Tasks RCU enabled.
> Aug 02 16:57:40 xd kernel: rcu: RCU calculated value of 
> scheduler-enlistment delay is 25 jiffies.
> Aug 02 16:57:40 xd kernel: rcu: Adjusting geometry for 
> rcu_fanout_leaf=16, nr_cpu_ids=8
> Aug 02 16:57:40 xd kernel: NR_IRQS: 524544, nr_irqs: 2048, preallocated 
> irqs: 16
> Aug 02 16:57:40 xd kernel: random: crng init done
> Aug 02 16:57:40 xd kernel: Console: colour dummy device 80x25
> Aug 02 16:57:40 xd kernel: printk: console [tty0] enabled
> Aug 02 16:57:40 xd kernel: ACPI: Core revision 20211217
> Aug 02 16:57:40 xd kernel: hpet: HPET dysfunctional in PC10. Force 
> disabled.
> Aug 02 16:57:40 xd kernel: APIC: Switch to symmetric I/O mode setup
> Aug 02 16:57:40 xd kernel: x2apic: IRQ remapping doesn't support X2APIC 
> mode
> Aug 02 16:57:40 xd kernel: clocksource: tsc-early: mask: 
> 0xffffffffffffffff max_cycles: 0x22df1149949, max_idle_ns: 440795312789 
> ns
> Aug 02 16:57:40 xd kernel: Calibrating delay loop (skipped), value 
> calculated using timer frequency.. 4838.40 BogoMIPS (lpj=9676800)
> Aug 02 16:57:40 xd kernel: pid_max: default: 32768 minimum: 301
> Aug 02 16:57:40 xd kernel: LSM: Security Framework initializing
> Aug 02 16:57:40 xd kernel: Yama: disabled by default; enable with sysctl 
> kernel.yama.*
> Aug 02 16:57:40 xd kernel: AppArmor: AppArmor initialized
> Aug 02 16:57:40 xd kernel: TOMOYO Linux initialized
> Aug 02 16:57:40 xd kernel: Mount-cache hash table entries: 32768 (order: 
> 6, 262144 bytes, linear)
> Aug 02 16:57:40 xd kernel: Mountpoint-cache hash table entries: 32768 
> (order: 6, 262144 bytes, linear)
> Aug 02 16:57:40 xd kernel: CPU0: Thermal monitoring enabled (TM1)
> Aug 02 16:57:40 xd kernel: x86/cpu: User Mode Instruction Prevention 
> (UMIP) activated
> Aug 02 16:57:40 xd kernel: process: using mwait in idle threads
> Aug 02 16:57:40 xd kernel: Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
> Aug 02 16:57:40 xd kernel: Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 
> 1GB 0
> Aug 02 16:57:40 xd kernel: Spectre V1 : Mitigation: usercopy/swapgs 
> barriers and __user pointer sanitization
> Aug 02 16:57:40 xd kernel: Spectre V2 : Mitigation: Enhanced IBRS
> Aug 02 16:57:40 xd kernel: Spectre V2 : Spectre v2 / SpectreRSB 
> mitigation: Filling RSB on context switch
> Aug 02 16:57:40 xd kernel: Spectre V2 : mitigation: Enabling conditional 
> Indirect Branch Prediction Barrier
> Aug 02 16:57:40 xd kernel: Speculative Store Bypass: Mitigation: 
> Speculative Store Bypass disabled via prctl
> Aug 02 16:57:40 xd kernel: Freeing SMP alternatives memory: 32K
> Aug 02 16:57:40 xd kernel: smpboot: Estimated ratio of average max 
> frequency by base frequency (times 1024): 1621
> Aug 02 16:57:40 xd kernel: smpboot: CPU0: 11th Gen Intel(R) Core(TM) 
> i5-1135G7 @ 2.40GHz (family: 0x6, model: 0x8c, stepping: 0x1)
> Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting adjustable 
> number of callback queues.
> Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting shift to 3 and 
> lim to 1.
> Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting shift to 3 and 
> lim to 1.
> Aug 02 16:57:40 xd kernel: cblist_init_generic: Setting shift to 3 and 
> lim to 1.
> Aug 02 16:57:40 xd kernel: Performance Events: PEBS fmt4+-baseline, 
> AnyThread deprecated, Icelake events, 32-deep LBR, full-width counters, 
> Intel PMU driver.
> Aug 02 16:57:40 xd kernel: ... version: 5
> Aug 02 16:57:40 xd kernel: ... bit width: 48
> Aug 02 16:57:40 xd kernel: ... generic registers: 8
> Aug 02 16:57:40 xd kernel: ... value mask: 0000ffffffffffff
> Aug 02 16:57:40 xd kernel: ... max period: 00007fffffffffff
> Aug 02 16:57:40 xd kernel: ... fixed-purpose events: 4
> Aug 02 16:57:40 xd kernel: ... event mask: 0001000f000000ff
> Aug 02 16:57:40 xd kernel: rcu: Hierarchical SRCU implementation.
> Aug 02 16:57:40 xd kernel: NMI watchdog: Enabled. Permanently consumes 
> one hw-PMU counter.
> Aug 02 16:57:40 xd kernel: smp: Bringing up secondary CPUs ...
> Aug 02 16:57:40 xd kernel: x86: Booting SMP configuration:
> Aug 02 16:57:40 xd kernel: .... node #0, CPUs: #1 #2 #3 #4 #5 #6 #7
> Aug 02 16:57:40 xd kernel: smp: Brought up 1 node, 8 CPUs
> Aug 02 16:57:40 xd kernel: smpboot: Max logical packages: 1
> Aug 02 16:57:40 xd kernel: smpboot: Total of 8 processors activated 
> (38707.20 BogoMIPS)
> Aug 02 16:57:40 xd kernel: node 0 deferred pages initialised in 20ms
> Aug 02 16:57:40 xd kernel: devtmpfs: initialized
> Aug 02 16:57:40 xd kernel: x86/mm: Memory block size: 128MB
> Aug 02 16:57:40 xd kernel: ACPI: PM: Registering ACPI NVS region [mem 
> 0x446ff000-0x44f2efff] (8585216 bytes)
> Aug 02 16:57:40 xd kernel: clocksource: jiffies: mask: 0xffffffff 
> max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
> Aug 02 16:57:40 xd kernel: futex hash table entries: 2048 (order: 5, 
> 131072 bytes, linear)
> Aug 02 16:57:40 xd kernel: pinctrl core: initialized pinctrl subsystem
> Aug 02 16:57:40 xd kernel: NET: Registered PF_NETLINK/PF_ROUTE protocol 
> family
> Aug 02 16:57:40 xd kernel: DMA: preallocated 2048 KiB GFP_KERNEL pool 
> for atomic allocations
> Aug 02 16:57:40 xd kernel: DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA 
> pool for atomic allocations
> Aug 02 16:57:40 xd kernel: DMA: preallocated 2048 KiB 
> GFP_KERNEL|GFP_DMA32 pool for atomic allocations
> Aug 02 16:57:40 xd kernel: audit: initializing netlink subsys (disabled)
> Aug 02 16:57:40 xd kernel: audit: type=2000 audit(1659455859.032:1): 
> state=initialized audit_enabled=0 res=1
> Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
> 'fair_share'
> Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
> 'bang_bang'
> Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
> 'step_wise'
> Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
> 'user_space'
> Aug 02 16:57:40 xd kernel: thermal_sys: Registered thermal governor 
> 'power_allocator'
> Aug 02 16:57:40 xd kernel: cpuidle: using governor ladder
> Aug 02 16:57:40 xd kernel: cpuidle: using governor menu
> Aug 02 16:57:40 xd kernel: acpiphp: ACPI Hot Plug PCI Controller Driver 
> version: 0.5
> Aug 02 16:57:40 xd kernel: PCI: MMCONFIG for domain 0000 [bus 00-ff] at 
> [mem 0xc0000000-0xcfffffff] (base 0xc0000000)
> Aug 02 16:57:40 xd kernel: PCI: MMCONFIG at [mem 0xc0000000-0xcfffffff] 
> reserved in E820
> Aug 02 16:57:40 xd kernel: PCI: Using configuration type 1 for base 
> access
> Aug 02 16:57:40 xd kernel: ENERGY_PERF_BIAS: Set to 'normal', was 
> 'performance'
> Aug 02 16:57:40 xd kernel: kprobes: kprobe jump-optimization is enabled. 
> All kprobes are optimized if possible.
> Aug 02 16:57:40 xd kernel: HugeTLB registered 1.00 GiB page size, 
> pre-allocated 0 pages
> Aug 02 16:57:40 xd kernel: HugeTLB registered 2.00 MiB page size, 
> pre-allocated 0 pages
> Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Module Device)
> Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Processor Device)
> Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
> Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Processor Aggregator Device)
> Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Linux-Dell-Video)
> Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
> Aug 02 16:57:40 xd kernel: ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS01._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS01._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS02._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS02._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS03._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS03._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS04._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS04._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS05._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS05._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS06._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS06._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS07._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS07._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS08._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS08._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS09._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS09._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS10._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.HS10._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS01._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS01._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS02._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS02._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS03._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS03._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS04._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS04._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS05._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS05._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS06._UPC], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI BIOS Error (bug): Failure creating named 
> object [\_SB.PC00.XHCI.RHUB.SS06._PLD], AE_ALREADY_EXISTS 
> (20211217/dswload2-326)
> Aug 02 16:57:40 xd kernel: ACPI Error: AE_ALREADY_EXISTS, During name 
> lookup/catalog (20211217/psobject-220)
> Aug 02 16:57:40 xd kernel: ACPI: Skipping parse of AML opcode: 
> OpcodeName unavailable (0x0014)
> Aug 02 16:57:40 xd kernel: ACPI: 15 ACPI AML tables successfully 
> acquired and loaded
> Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5080BCB600 0001C6 (v02 
> PmRef Cpu0Psd 00003000 INTL 20160422)
> Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PR00: _OSC native thermal LVT 
> Acked
> Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5081016C00 000386 (v02 
> PmRef Cpu0Cst 00003001 INTL 20160422)
> Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508101C800 0005C3 (v02 
> PmRef Cpu0Ist 00003000 INTL 20160422)
> Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5081013400 00028B (v02 
> PmRef Cpu0Hwp 00003000 INTL 20160422)
> Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508100D000 0008E7 (v02 
> PmRef ApIst 00003000 INTL 20160422)
> Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508101B000 00048A (v02 
> PmRef ApHwp 00003000 INTL 20160422)
> Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B508101A800 0004D4 (v02 
> PmRef ApPsd 00003000 INTL 20160422)
> Aug 02 16:57:40 xd kernel: ACPI: Dynamic OEM Table Load:
> Aug 02 16:57:40 xd kernel: ACPI: SSDT 0xFFFF8B5081019800 00048A (v02 
> PmRef ApCst 00003000 INTL 20160422)
> Aug 02 16:57:40 xd kernel: ACPI: EC: EC started
> Aug 02 16:57:40 xd kernel: ACPI: EC: interrupt blocked
> Aug 02 16:57:40 xd kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62
> Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LPCB.EC0_: Boot DSDT EC used 
> to handle transactions
> Aug 02 16:57:40 xd kernel: ACPI: Interpreter enabled
> Aug 02 16:57:40 xd kernel: ACPI: PM: (supports S0 S3 S4 S5)
> Aug 02 16:57:40 xd kernel: ACPI: Using IOAPIC for interrupt routing
> Aug 02 16:57:40 xd kernel: PCI: Using host bridge windows from ACPI; if 
> necessary, use "pci=nocrs" and report a bug
> Aug 02 16:57:40 xd kernel: ACPI: Enabled 7 GPEs in block 00 to 7F
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [PCRP]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V0PR]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V1PR]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V2PR]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [WRST]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V0PR]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V1PR]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V2PR]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [V3PR]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN00]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN01]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN02]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN03]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [FN04]
> Aug 02 16:57:40 xd kernel: ACPI: PM: Power Resource [PIN]
> Aug 02 16:57:40 xd kernel: ACPI: PCI Root Bridge [PC00] (domain 0000 
> [bus 00-e0])
> Aug 02 16:57:40 xd kernel: acpi PNP0A08:00: _OSC: OS supports 
> [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
> Aug 02 16:57:40 xd kernel: acpi PNP0A08:00: _OSC: OS now controls 
> [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR]
> Aug 02 16:57:40 xd kernel: PCI host bridge to bus 0000:00
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [io 
> 0x0000-0x0cf7 window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [io 
> 0x0d00-0xffff window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [mem 
> 0x000a0000-0x000bffff window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [mem 
> 0x4f800000-0xbfffffff window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [mem 
> 0x4000000000-0x7fffffffff window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: root bus resource [bus 
> 00-e0]
> Aug 02 16:57:40 xd kernel: pci 0000:00:00.0: [8086:9a14] type 00 class 
> 0x060000
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: [8086:9a49] type 00 class 
> 0x030000
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x10: [mem 
> 0x6014000000-0x6014ffffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x18: [mem 
> 0x4000000000-0x400fffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x20: [io 
> 0x5000-0x503f]
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: BAR 2: assigned to efifb
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: DMAR: Skip IOMMU disabling 
> for graphics
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: Video device with shadowed 
> ROM at [mem 0x000c0000-0x000dffff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x344: [mem 
> 0x00000000-0x00ffffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: VF(n) BAR0 space: [mem 
> 0x00000000-0x06ffffff 64bit] (contains BAR0 for 7 VFs)
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: reg 0x34c: [mem 
> 0x00000000-0x1fffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: VF(n) BAR2 space: [mem 
> 0x00000000-0xdfffffff 64bit pref] (contains BAR2 for 7 VFs)
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: [8086:9a09] type 01 class 
> 0x060400
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PME# supported from D0 
> D3hot D3cold
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PTM enabled (root), 4ns 
> granularity
> Aug 02 16:57:40 xd kernel: pci 0000:00:08.0: [8086:9a11] type 00 class 
> 0x088000
> Aug 02 16:57:40 xd kernel: pci 0000:00:08.0: reg 0x10: [mem 
> 0x601540f000-0x601540ffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: [8086:9a0b] type 00 class 
> 0x010400
> Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: reg 0x10: [mem 
> 0x6012000000-0x6013ffffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: reg 0x18: [mem 
> 0x50000000-0x51ffffff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:0e.0: reg 0x20: [mem 
> 0x6015300000-0x60153fffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:14.0: [8086:a0ed] type 00 class 
> 0x0c0330
> Aug 02 16:57:40 xd kernel: pci 0000:00:14.0: reg 0x10: [mem 
> 0x53180000-0x5318ffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:14.0: PME# supported from D3hot 
> D3cold
> Aug 02 16:57:40 xd kernel: pci 0000:00:14.2: [8086:a0ef] type 00 class 
> 0x050000
> Aug 02 16:57:40 xd kernel: pci 0000:00:14.2: reg 0x10: [mem 
> 0x6015404000-0x6015407fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:14.2: reg 0x18: [mem 
> 0x601540e000-0x601540efff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:15.0: [8086:a0e8] type 00 class 
> 0x0c8000
> Aug 02 16:57:40 xd kernel: pci 0000:00:15.0: reg 0x10: [mem 
> 0x00000000-0x00000fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:15.3: [8086:a0eb] type 00 class 
> 0x0c8000
> Aug 02 16:57:40 xd kernel: pci 0000:00:15.3: reg 0x10: [mem 
> 0x00000000-0x00000fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:16.0: [8086:a0e0] type 00 class 
> 0x078000
> Aug 02 16:57:40 xd kernel: pci 0000:00:16.0: reg 0x10: [mem 
> 0x601540b000-0x601540bfff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:16.0: PME# supported from D3hot
> Aug 02 16:57:40 xd kernel: pci 0000:00:17.0: [8086:09ab] type 00 class 
> 0x088000
> Aug 02 16:57:40 xd kernel: pci 0000:00:19.0: [8086:a0c5] type 00 class 
> 0x0c8000
> Aug 02 16:57:40 xd kernel: pci 0000:00:19.0: reg 0x10: [mem 
> 0x00000000-0x00000fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:19.1: [8086:a0c6] type 00 class 
> 0x0c8000
> Aug 02 16:57:40 xd kernel: pci 0000:00:19.1: reg 0x10: [mem 
> 0x00000000-0x00000fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: [8086:a0b0] type 01 class 
> 0x060400
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: PME# supported from D0 
> D3hot D3cold
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: PTM enabled (root), 4ns 
> granularity
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: [8086:a0b1] type 01 class 
> 0x060400
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PME# supported from D0 
> D3hot D3cold
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PTM enabled (root), 4ns 
> granularity
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.0: [8086:a082] type 00 class 
> 0x060100
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: [8086:a0c8] type 00 class 
> 0x040100
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: reg 0x10: [mem 
> 0x6015400000-0x6015403fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: reg 0x20: [mem 
> 0x6015200000-0x60152fffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.3: PME# supported from D3hot 
> D3cold
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.4: [8086:a0a3] type 00 class 
> 0x0c0500
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.4: reg 0x10: [mem 
> 0x6015408000-0x60154080ff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.4: reg 0x20: [io 
> 0xefa0-0xefbf]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: [8086:a0a4] type 00 class 
> 0x0c8000
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: reg 0x10: [mem 
> 0xfe010000-0xfe010fff]
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: [10de:1f97] type 00 class 
> 0x030200
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x10: [mem 
> 0x52000000-0x52ffffff]
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x14: [mem 
> 0x6000000000-0x600fffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x1c: [mem 
> 0x6010000000-0x6011ffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x24: [io 
> 0x4000-0x407f]
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: reg 0x30: [mem 
> 0xfff80000-0xffffffff pref]
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: PME# supported from D0 
> D3hot D3cold
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: 63.012 Gb/s available PCIe 
> bandwidth, limited by 16.0 GT/s PCIe x4 link at 0000:00:06.0 (capable of 
> 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PCI bridge to [bus 01]
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [io 
> 0x4000-0x4fff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [mem 
> 0x52000000-0x52ffffff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [mem 
> 0x6000000000-0x6011ffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: [10ec:8168] type 00 class 
> 0x020000
> Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x10: [io 
> 0x3000-0x30ff]
> Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x18: [mem 
> 0x53004000-0x53004fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: reg 0x20: [mem 
> 0x53000000-0x53003fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: supports D1 D2
> Aug 02 16:57:40 xd kernel: pci 0000:02:00.0: PME# supported from D0 D1 
> D2 D3hot D3cold
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: PCI bridge to [bus 02]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [io 
> 0x3000-0x3fff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [mem 
> 0x53000000-0x530fffff]
> Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: [14c3:7961] type 00 class 
> 0x028000
> Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: reg 0x10: [mem 
> 0x6015000000-0x60150fffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: reg 0x18: [mem 
> 0x6015100000-0x6015103fff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: reg 0x20: [mem 
> 0x6015104000-0x6015104fff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: supports D1 D2
> Aug 02 16:57:40 xd kernel: pci 0000:03:00.0: PME# supported from D0 D1 
> D2 D3hot D3cold
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PCI bridge to [bus 03]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: bridge window [mem 
> 0x6015000000-0x60151fffff 64bit pref]
> Aug 02 16:57:40 xd kernel: ACPI: EC: interrupt unblocked
> Aug 02 16:57:40 xd kernel: ACPI: EC: event unblocked
> Aug 02 16:57:40 xd kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62
> Aug 02 16:57:40 xd kernel: ACPI: EC: GPE=0x6e
> Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LPCB.EC0_: Boot DSDT EC 
> initialization complete
> Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PC00.LPCB.EC0_: EC: Used to 
> handle transactions and events
> Aug 02 16:57:40 xd kernel: iommu: Default domain type: Translated
> Aug 02 16:57:40 xd kernel: iommu: DMA domain TLB invalidation policy: 
> lazy mode
> Aug 02 16:57:40 xd kernel: EDAC MC: Ver: 3.0.0
> Aug 02 16:57:40 xd kernel: Registered efivars operations
> Aug 02 16:57:40 xd kernel: NetLabel: Initializing
> Aug 02 16:57:40 xd kernel: NetLabel: domain hash size = 128
> Aug 02 16:57:40 xd kernel: NetLabel: protocols = UNLABELED CIPSOv4 
> CALIPSO
> Aug 02 16:57:40 xd kernel: NetLabel: unlabeled traffic allowed by 
> default
> Aug 02 16:57:40 xd kernel: PCI: Using ACPI for IRQ routing
> Aug 02 16:57:40 xd kernel: PCI: pci_cache_line_size set to 64 bytes
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: can't claim BAR 0 [mem 
> 0xfe010000-0xfe010fff]: no compatible bridge window
> Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
> 0x0009f000-0x0009ffff]
> Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
> 0x3c70c000-0x3fffffff]
> Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
> 0x3c78e000-0x3fffffff]
> Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
> 0x40199000-0x43ffffff]
> Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
> 0x428af000-0x43ffffff]
> Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
> 0x45000000-0x47ffffff]
> Aug 02 16:57:40 xd kernel: e820: reserve RAM buffer [mem 
> 0x4b0800000-0x4b3ffffff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: vgaarb: setting as boot VGA 
> device
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: vgaarb: bridge control 
> possible
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: vgaarb: VGA device added: 
> decodes=io+mem,owns=io+mem,locks=none
> Aug 02 16:57:40 xd kernel: vgaarb: loaded
> Aug 02 16:57:40 xd kernel: clocksource: Switched to clocksource 
> tsc-early
> Aug 02 16:57:40 xd kernel: VFS: Disk quotas dquot_6.6.0
> Aug 02 16:57:40 xd kernel: VFS: Dquot-cache hash table entries: 512 
> (order 0, 4096 bytes)
> Aug 02 16:57:40 xd kernel: AppArmor: AppArmor Filesystem Enabled
> Aug 02 16:57:40 xd kernel: pnp: PnP ACPI init
> Aug 02 16:57:40 xd kernel: system 00:00: [io 0x0680-0x069f] has been 
> reserved
> Aug 02 16:57:40 xd kernel: system 00:00: [io 0x164e-0x164f] has been 
> reserved
> Aug 02 16:57:40 xd kernel: system 00:00: [io 0xfd60-0xfd63] has been 
> reserved
> Aug 02 16:57:40 xd kernel: system 00:02: [io 0x1854-0x1857] has been 
> reserved
> Aug 02 16:57:40 xd kernel: pnp 00:04: disabling [mem 
> 0xc0000000-0xcfffffff] because it overlaps 0000:00:02.0 BAR 9 [mem 
> 0x00000000-0xdfffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfedc0000-0xfedc7fff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfeda0000-0xfeda0fff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfeda1000-0xfeda1fff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfed20000-0xfed7ffff] 
> could not be reserved
> Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfed90000-0xfed93fff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfed45000-0xfed8ffff] 
> could not be reserved
> Aug 02 16:57:40 xd kernel: system 00:04: [mem 0xfee00000-0xfeefffff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [io 0x1800-0x18fe] could not be 
> reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe000000-0xfe01ffff] 
> could not be reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe04c000-0xfe04ffff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe050000-0xfe0affff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe0d0000-0xfe0fffff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfe200000-0xfe7fffff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xff000000-0xffffffff] 
> could not be reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfd000000-0xfd68ffff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfd6b0000-0xfd6cffff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:05: [mem 0xfd6f0000-0xfdffffff] has 
> been reserved
> Aug 02 16:57:40 xd kernel: system 00:06: [io 0x2000-0x20fe] has been 
> reserved
> Aug 02 16:57:40 xd kernel: pnp: PnP ACPI: found 8 devices
> Aug 02 16:57:40 xd kernel: clocksource: acpi_pm: mask: 0xffffff 
> max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
> Aug 02 16:57:40 xd kernel: NET: Registered PF_INET protocol family
> Aug 02 16:57:40 xd kernel: IP idents hash table entries: 262144 (order: 
> 9, 2097152 bytes, linear)
> Aug 02 16:57:40 xd kernel: tcp_listen_portaddr_hash hash table entries: 
> 8192 (order: 5, 131072 bytes, linear)
> Aug 02 16:57:40 xd kernel: Table-perturb hash table entries: 65536 
> (order: 6, 262144 bytes, linear)
> Aug 02 16:57:40 xd kernel: TCP established hash table entries: 131072 
> (order: 8, 1048576 bytes, linear)
> Aug 02 16:57:40 xd kernel: TCP bind hash table entries: 65536 (order: 8, 
> 1048576 bytes, linear)
> Aug 02 16:57:40 xd kernel: TCP: Hash tables configured (established 
> 131072 bind 65536)
> Aug 02 16:57:40 xd kernel: MPTCP token hash table entries: 16384 (order: 
> 6, 393216 bytes, linear)
> Aug 02 16:57:40 xd kernel: UDP hash table entries: 8192 (order: 6, 
> 262144 bytes, linear)
> Aug 02 16:57:40 xd kernel: UDP-Lite hash table entries: 8192 (order: 6, 
> 262144 bytes, linear)
> Aug 02 16:57:40 xd kernel: NET: Registered PF_UNIX/PF_LOCAL protocol 
> family
> Aug 02 16:57:40 xd kernel: NET: Registered PF_XDP protocol family
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: can't claim BAR 6 [mem 
> 0xfff80000-0xffffffff pref]: no compatible bridge window
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: max bus depth: 1 
> pci_try_num: 2
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: BAR 9: assigned [mem 
> 0x4020000000-0x40ffffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:00:02.0: BAR 7: assigned [mem 
> 0x4010000000-0x4016ffffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:15.0: BAR 0: assigned [mem 
> 0x4017000000-0x4017000fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:15.3: BAR 0: assigned [mem 
> 0x4017001000-0x4017001fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:19.0: BAR 0: assigned [mem 
> 0x4017002000-0x4017002fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:19.1: BAR 0: assigned [mem 
> 0x4017003000-0x4017003fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1f.5: BAR 0: assigned [mem 
> 0x4f800000-0x4f800fff]
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: BAR 6: no space for [mem 
> size 0x00080000 pref]
> Aug 02 16:57:40 xd kernel: pci 0000:01:00.0: BAR 6: failed to assign 
> [mem size 0x00080000 pref]
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: PCI bridge to [bus 01]
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [io 
> 0x4000-0x4fff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [mem 
> 0x52000000-0x52ffffff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:06.0: bridge window [mem 
> 0x6000000000-0x6011ffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: PCI bridge to [bus 02]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [io 
> 0x3000-0x3fff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.0: bridge window [mem 
> 0x53000000-0x530fffff]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: PCI bridge to [bus 03]
> Aug 02 16:57:40 xd kernel: pci 0000:00:1d.1: bridge window [mem 
> 0x6015000000-0x60151fffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 
> window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 5 [io 0x0d00-0xffff 
> window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 6 [mem 
> 0x000a0000-0x000bffff window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 7 [mem 
> 0x4f800000-0xbfffffff window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:00: resource 8 [mem 
> 0x4000000000-0x7fffffffff window]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:01: resource 0 [io 
> 0x4000-0x4fff]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:01: resource 1 [mem 
> 0x52000000-0x52ffffff]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:01: resource 2 [mem 
> 0x6000000000-0x6011ffffff 64bit pref]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:02: resource 0 [io 
> 0x3000-0x3fff]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:02: resource 1 [mem 
> 0x53000000-0x530fffff]
> Aug 02 16:57:40 xd kernel: pci_bus 0000:03: resource 2 [mem 
> 0x6015000000-0x60151fffff 64bit pref]
> Aug 02 16:57:40 xd kernel: PCI: CLS 64 bytes, default 64
> Aug 02 16:57:40 xd kernel: PCI-DMA: Using software bounce buffering for 
> IO (SWIOTLB)
> Aug 02 16:57:40 xd kernel: software IO TLB: mapped [mem 
> 0x0000000037e6c000-0x000000003be6c000] (64MB)
> Aug 02 16:57:40 xd kernel: clocksource: tsc: mask: 0xffffffffffffffff 
> max_cycles: 0x22df1149949, max_idle_ns: 440795312789 ns
> Aug 02 16:57:40 xd kernel: clocksource: Switched to clocksource tsc
> Aug 02 16:57:40 xd kernel: Trying to unpack rootfs image as initramfs...
> Aug 02 16:57:40 xd kernel: Initialise system trusted keyrings
> Aug 02 16:57:40 xd kernel: Key type blacklist registered
> Aug 02 16:57:40 xd kernel: workingset: timestamp_bits=36 max_order=22 
> bucket_order=0
> Aug 02 16:57:40 xd kernel: zbud: loaded
> Aug 02 16:57:40 xd kernel: integrity: Platform Keyring initialized
> Aug 02 16:57:40 xd kernel: Key type asymmetric registered
> Aug 02 16:57:40 xd kernel: Asymmetric key parser 'x509' registered
> Aug 02 16:57:40 xd kernel: Freeing initrd memory: 65816K
> Aug 02 16:57:40 xd kernel: alg: self-tests for CTR-KDF (hmac(sha256)) 
> passed
> Aug 02 16:57:40 xd kernel: Block layer SCSI generic (bsg) driver version 
> 0.4 loaded (major 250)
> Aug 02 16:57:40 xd kernel: io scheduler mq-deadline registered
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: PME: Signaling with 
> IRQ 120
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: AER: enabled with IRQ 
> 120
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: DPC: enabled with IRQ 
> 120
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:06.0: DPC: error containment 
> capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, 
> DL_ActiveErr+
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: PME: Signaling with 
> IRQ 121
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: AER: enabled with IRQ 
> 121
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: DPC: enabled with IRQ 
> 121
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.0: DPC: error containment 
> capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, 
> DL_ActiveErr+
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.1: PME: Signaling with 
> IRQ 122
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.1: AER: enabled with IRQ 
> 122
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.1: DPC: enabled with IRQ 
> 122
> Aug 02 16:57:40 xd kernel: pcieport 0000:00:1d.1: DPC: error containment 
> capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, 
> DL_ActiveErr+
> Aug 02 16:57:40 xd kernel: shpchp: Standard Hot Plug PCI Controller 
> Driver version: 0.4
> Aug 02 16:57:40 xd kernel: Monitor-Mwait will be used to enter C-1 state
> Aug 02 16:57:40 xd kernel: Monitor-Mwait will be used to enter C-2 state
> Aug 02 16:57:40 xd kernel: Monitor-Mwait will be used to enter C-3 state
> Aug 02 16:57:40 xd kernel: ACPI: \_SB_.PR00: Found 3 idle states
> Aug 02 16:57:40 xd kernel: smpboot: Estimated ratio of average max 
> frequency by base frequency (times 1024): 1621
> Aug 02 16:57:40 xd kernel: thermal LNXTHERM:00: registered as 
> thermal_zone0
> Aug 02 16:57:40 xd kernel: ACPI: thermal: Thermal Zone [TZ00] (28 C)
> Aug 02 16:57:40 xd kernel: Serial: 8250/16550 driver, 4 ports, IRQ 
> sharing enabled
> Aug 02 16:57:40 xd kernel: hpet_acpi_add: no address or irqs in _CRS
> Aug 02 16:57:40 xd kernel: Linux agpgart interface v0.103
> Aug 02 16:57:40 xd kernel: AMD-Vi: AMD IOMMUv2 functionality not 
> available on this system - This is not a bug.
> Aug 02 16:57:40 xd kernel: i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 
> 0x60,0x64 irq 1
> Aug 02 16:57:40 xd kernel: i8042: PNP: PS/2 appears to have AUX port 
> disabled, if this is incorrect please boot with i8042.nopnp
> Aug 02 16:57:40 xd kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
> Aug 02 16:57:40 xd kernel: mousedev: PS/2 mouse device common for all 
> mice
> Aug 02 16:57:40 xd kernel: rtc_cmos 00:01: RTC can wake from S4
> Aug 02 16:57:40 xd kernel: rtc_cmos 00:01: registered as rtc0
> Aug 02 16:57:40 xd kernel: rtc_cmos 00:01: setting system clock to 
> 2022-08-02T15:57:39 UTC (1659455859)
> Aug 02 16:57:40 xd kernel: rtc_cmos 00:01: alarms up to one month, y3k, 
> 242 bytes nvram
> Aug 02 16:57:40 xd kernel: intel_pstate: Intel P-state driver 
> initializing
> Aug 02 16:57:40 xd kernel: intel_pstate: HWP enabled
> Aug 02 16:57:40 xd kernel: ledtrig-cpu: registered to indicate activity 
> on CPUs
> Aug 02 16:57:40 xd kernel: efifb: probing for efifb
> Aug 02 16:57:40 xd kernel: efifb: framebuffer at 0x4000000000, using 
> 8128k, total 8128k
> Aug 02 16:57:40 xd kernel: efifb: mode is 1920x1080x32, linelength=7680, 
> pages=1
> Aug 02 16:57:40 xd kernel: efifb: scrolling: redraw
> Aug 02 16:57:40 xd kernel: efifb: Truecolor: size=8:8:8:8, 
> shift=24:16:8:0
> Aug 02 16:57:40 xd kernel: Console: switching to colour frame buffer 
> device 240x67
> Aug 02 16:57:40 xd kernel: fb0: EFI VGA frame buffer device
> Aug 02 16:57:40 xd kernel: NET: Registered PF_INET6 protocol family
> Aug 02 16:57:40 xd kernel: input: AT Translated Set 2 keyboard as 
> /devices/platform/i8042/serio0/input/input0
> Aug 02 16:57:40 xd kernel: Segment Routing with IPv6
> Aug 02 16:57:40 xd kernel: In-situ OAM (IOAM) with IPv6
> Aug 02 16:57:40 xd kernel: mip6: Mobile IPv6
> Aug 02 16:57:40 xd kernel: NET: Registered PF_PACKET protocol family
> Aug 02 16:57:40 xd kernel: mpls_gso: MPLS GSO support
> Aug 02 16:57:40 xd kernel: microcode: sig=0x806c1, pf=0x80, 
> revision=0xa4
> Aug 02 16:57:40 xd kernel: microcode: Microcode Update Driver: v2.2.
> Aug 02 16:57:40 xd kernel: resctrl: L2 allocation detected
> Aug 02 16:57:40 xd kernel: IPI shorthand broadcast: enabled
> Aug 02 16:57:40 xd kernel: sched_clock: Marking stable (533987875, 
> 6323244)->(552960861, -12649742)
> Aug 02 16:57:40 xd kernel: registered taskstats version 1
> Aug 02 16:57:40 xd kernel: Loading compiled-in X.509 certificates
> Aug 02 16:57:40 xd kernel: Loaded X.509 cert 'Debian Secure Boot CA: 
> 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
> Aug 02 16:57:40 xd kernel: Loaded X.509 cert 'Debian Secure Boot Signer 
> 2021 - linux: 4b6ef5abca669825178e052c84667ccbc0531f8c'
> Aug 02 16:57:40 xd kernel: zswap: loaded using pool lzo/zbud
> Aug 02 16:57:40 xd kernel: Key type ._fscrypt registered
> Aug 02 16:57:40 xd kernel: Key type .fscrypt registered
> Aug 02 16:57:40 xd kernel: Key type fscrypt-provisioning registered
> Aug 02 16:57:40 xd kernel: Key type encrypted registered
> Aug 02 16:57:40 xd kernel: AppArmor: AppArmor sha1 policy hashing 
> enabled
> Aug 02 16:57:40 xd kernel: ima: Allocated hash algorithm: sha256
> Aug 02 16:57:40 xd kernel: ima: No architecture policies found
> Aug 02 16:57:40 xd kernel: evm: Initialising EVM extended attributes:
> Aug 02 16:57:40 xd kernel: evm: security.selinux
> Aug 02 16:57:40 xd kernel: evm: security.SMACK64 (disabled)
> Aug 02 16:57:40 xd kernel: evm: security.SMACK64EXEC (disabled)
> Aug 02 16:57:40 xd kernel: evm: security.SMACK64TRANSMUTE (disabled)
> Aug 02 16:57:40 xd kernel: evm: security.SMACK64MMAP (disabled)
> Aug 02 16:57:40 xd kernel: evm: security.apparmor
> Aug 02 16:57:40 xd kernel: evm: security.ima
> Aug 02 16:57:40 xd kernel: evm: security.capability
> Aug 02 16:57:40 xd kernel: evm: HMAC attrs: 0x1
> Aug 02 16:57:40 xd kernel: Freeing unused decrypted memory: 2036K
> Aug 02 16:57:40 xd kernel: Freeing unused kernel image (initmem) memory: 
> 2500K
> Aug 02 16:57:40 xd kernel: Write protecting the kernel read-only data: 
> 24576k
> Aug 02 16:57:40 xd kernel: Freeing unused kernel image (text/rodata gap) 
> memory: 2040K
> Aug 02 16:57:40 xd kernel: Freeing unused kernel image (rodata/data gap) 
> memory: 1672K
> Aug 02 16:57:40 xd kernel: x86/mm: Checked W+X mappings: passed, no W+X 
> pages found.
> Aug 02 16:57:40 xd kernel: Run /init as init process
> Aug 02 16:57:40 xd kernel: with arguments:
> Aug 02 16:57:40 xd kernel: /init
> Aug 02 16:57:40 xd kernel: with environment:
> Aug 02 16:57:40 xd kernel: HOME=/
> Aug 02 16:57:40 xd kernel: TERM=linux
> Aug 02 16:57:40 xd kernel: BOOT_IMAGE=/vmlinuz-5.18.0-2-amd64
> Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block 
> query control method not found
> Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block 
> query control method not found
> Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block 
> query control method not found
> Aug 02 16:57:40 xd kernel: wmi_bus wmi_bus-PNP0C14:02: WQ data block 
> query control method not found
> Aug 02 16:57:40 xd kernel: acpi PNP0C14:03: duplicate WMI GUID 
> 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:00)
> Aug 02 16:57:40 xd kernel: acpi PNP0C14:04: duplicate WMI GUID 
> 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:00)
> Aug 02 16:57:40 xd kernel: input: Lid Switch as 
> /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:21/PNP0C0D:00/input/input1
> Aug 02 16:57:40 xd kernel: ACPI: button: Lid Switch [LID0]
> Aug 02 16:57:40 xd kernel: input: Sleep Button as 
> /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
> Aug 02 16:57:40 xd kernel: ACPI: button: Sleep Button [SLPB]
> Aug 02 16:57:40 xd kernel: input: Power Button as 
> /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input3
> Aug 02 16:57:40 xd kernel: ACPI: button: Power Button [PWRB]
> Aug 02 16:57:40 xd kernel: ACPI: battery: Slot [BAT1] (battery present)
> Aug 02 16:57:40 xd kernel: vmd 0000:00:0e.0: PCI host bridge to bus 
> 10000:e0
> Aug 02 16:57:40 xd kernel: pci_bus 10000:e0: root bus resource [bus 
> e0-ff]
> Aug 02 16:57:40 xd kernel: pci_bus 10000:e0: root bus resource [mem 
> 0x50000000-0x51ffffff]
> Aug 02 16:57:40 xd kernel: pci_bus 10000:e0: root bus resource [mem 
> 0x6015302000-0x60153fffff 64bit]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: [8086:a0d3] type 00 class 
> 0x010601
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x10: [mem 
> 0x00000000-0x00001fff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x14: [mem 
> 0x00000000-0x000000ff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x18: [io 
> 0x0000-0x0007]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x1c: [io 
> 0x0000-0x0003]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x20: [io 
> 0x0000-0x001f]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: reg 0x24: [mem 
> 0x50000000-0x500007ff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: PME# supported from D3hot
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.0: [8086:09ab] type 00 class 
> 0x088000
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: [8086:a0bc] type 01 class 
> 0x060400
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PME# supported from D0 
> D3hot D3cold
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PTM enabled (root), 4ns 
> granularity
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: Primary bus is hard wired 
> to 0
> Aug 02 16:57:40 xd kernel: pci 10000:e1:00.0: [2646:500c] type 00 class 
> 0x010802
> Aug 02 16:57:40 xd kernel: pci 10000:e1:00.0: reg 0x10: [mem 
> 0x50100000-0x50103fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: bridge window [io 
> 0x0000-0x0fff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: bridge window [mem 
> 0x50100000-0x501fffff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: Primary bus is hard wired 
> to 0
> Aug 02 16:57:40 xd kernel: hid: raw HID events driver (C) Jiri Kosina
> Aug 02 16:57:40 xd kernel: r8168: loading out-of-tree module taints 
> kernel.
> Aug 02 16:57:40 xd kernel: r8168: module verification failed: signature 
> and/or required key missing - tainting kernel
> Aug 02 16:57:40 xd kernel: r8168 Gigabit Ethernet driver 8.050.03-NAPI 
> loaded
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: BAR 14: assigned [mem 
> 0x50000000-0x500fffff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 0: assigned [mem 
> 0x50100000-0x50101fff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: BAR 13: no space for [io 
> size 0x1000]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: BAR 13: failed to assign 
> [io size 0x1000]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 5: assigned [mem 
> 0x50102000-0x501027ff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 1: assigned [mem 
> 0x50102800-0x501028ff]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 4: no space for [io 
> size 0x0020]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 4: failed to assign 
> [io size 0x0020]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 2: no space for [io 
> size 0x0008]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 2: failed to assign 
> [io size 0x0008]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 3: no space for [io 
> size 0x0004]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:17.0: BAR 3: failed to assign 
> [io size 0x0004]
> Aug 02 16:57:40 xd kernel: pci 10000:e1:00.0: BAR 0: assigned [mem 
> 0x50000000-0x50003fff 64bit]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1]
> Aug 02 16:57:40 xd kernel: pci 10000:e0:1c.4: bridge window [mem 
> 0x50000000-0x500fffff]
> Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: can't derive routing 
> for PCI INT A
> Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: PCI INT A: no GSI
> Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: PME: Signaling with 
> IRQ 143
> Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: AER: enabled with IRQ 
> 143
> Aug 02 16:57:40 xd kernel: i801_smbus 0000:00:1f.4: SPD Write Disable is 
> set
> Aug 02 16:57:40 xd kernel: i801_smbus 0000:00:1f.4: SMBus using PCI 
> interrupt
> Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: DPC: enabled with IRQ 
> 143
> Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: DPC: error 
> containment capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP 
> PIO Log 4, DL_ActiveErr+
> Aug 02 16:57:40 xd kernel: vmd 0000:00:0e.0: Bound to PCI domain 10000
> Aug 02 16:57:40 xd kernel: i2c i2c-0: 2/2 memory slots populated (from 
> DMI)
> Aug 02 16:57:40 xd kernel: i2c i2c-0: Successfully instantiated SPD at 
> 0x50
> Aug 02 16:57:40 xd kernel: ACPI: bus type USB registered
> Aug 02 16:57:40 xd kernel: usbcore: registered new interface driver 
> usbfs
> Aug 02 16:57:40 xd kernel: usbcore: registered new interface driver hub
> Aug 02 16:57:40 xd kernel: usbcore: registered new device driver usb
> Aug 02 16:57:40 xd kernel: ACPI: bus type drm_connector registered
> Aug 02 16:57:40 xd kernel: r8168: This product is covered by one or more 
> of the following patents: US6,570,884, US6,115,776, and US6,327,625.
> Aug 02 16:57:40 xd kernel: r8168 Copyright (C) 2022 Realtek NIC software 
> team <nicfae@realtek.com>
> This program comes with ABSOLUTELY NO WARRANTY; for details, please see 
> <http://www.gnu.org/licenses/>.
> This is free software, and you are welcome to redistribute it under 
> certain conditions; see <http://www.gnu.org/licenses/>.
> Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:15.0: enabling device 
> (0004 -> 0006)
> Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
> Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: new USB bus 
> registered, assigned bus number 1
> Aug 02 16:57:40 xd kernel: r8168 0000:02:00.0 enp2s0: renamed from eth0
> Aug 02 16:57:40 xd kernel: idma64 idma64.0: Found Intel integrated DMA 
> 64-bit
> Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 
> hci version 0x120 quirks 0x0000000000009810
> Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
> Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: new USB bus 
> registered, assigned bus number 2
> Aug 02 16:57:40 xd kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.1 
> Enhanced SuperSpeed
> Aug 02 16:57:40 xd kernel: usb usb1: New USB device found, 
> idVendor=1d6b, idProduct=0002, bcdDevice= 5.18
> Aug 02 16:57:40 xd kernel: usb usb1: New USB device strings: Mfr=3, 
> Product=2, SerialNumber=1
> Aug 02 16:57:40 xd kernel: usb usb1: Product: xHCI Host Controller
> Aug 02 16:57:40 xd kernel: usb usb1: Manufacturer: Linux 5.18.0-2-amd64 
> xhci-hcd
> Aug 02 16:57:40 xd kernel: usb usb1: SerialNumber: 0000:00:14.0
> Aug 02 16:57:40 xd kernel: hub 1-0:1.0: USB hub found
> Aug 02 16:57:40 xd kernel: hub 1-0:1.0: 12 ports detected
> Aug 02 16:57:40 xd kernel: SCSI subsystem initialized
> Aug 02 16:57:40 xd kernel: usb usb2: New USB device found, 
> idVendor=1d6b, idProduct=0003, bcdDevice= 5.18
> Aug 02 16:57:40 xd kernel: usb usb2: New USB device strings: Mfr=3, 
> Product=2, SerialNumber=1
> Aug 02 16:57:40 xd kernel: usb usb2: Product: xHCI Host Controller
> Aug 02 16:57:40 xd kernel: usb usb2: Manufacturer: Linux 5.18.0-2-amd64 
> xhci-hcd
> Aug 02 16:57:40 xd kernel: usb usb2: SerialNumber: 0000:00:14.0
> Aug 02 16:57:40 xd kernel: hub 2-0:1.0: USB hub found
> Aug 02 16:57:40 xd kernel: hub 2-0:1.0: 4 ports detected
> Aug 02 16:57:40 xd kernel: nvme nvme0: pci function 10000:e1:00.0
> Aug 02 16:57:40 xd kernel: pcieport 10000:e0:1c.4: can't derive routing 
> for PCI INT A
> Aug 02 16:57:40 xd kernel: nvme 10000:e1:00.0: PCI INT A: no GSI
> Aug 02 16:57:40 xd kernel: nvme nvme0: missing or invalid SUBNQN field.
> Aug 02 16:57:40 xd kernel: nvme nvme0: Shutdown timeout set to 10 
> seconds
> Aug 02 16:57:40 xd kernel: libata version 3.00 loaded.
> Aug 02 16:57:40 xd kernel: nvme nvme0: 8/0/0 default/read/poll queues
> Aug 02 16:57:40 xd kernel: nvme0n1: p1 p2 p3 p4 p5
> Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: version 3.0
> Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: can't derive routing for 
> PCI INT A
> Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: PCI INT A: no GSI
> Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: AHCI 0001.0301 32 slots 2 
> ports 6 Gbps 0x3 impl SATA mode
> Aug 02 16:57:40 xd kernel: ahci 10000:e0:17.0: flags: 64bit ncq sntf pm 
> clo only pio slum part deso sadm sds
> Aug 02 16:57:40 xd kernel: scsi host0: ahci
> Aug 02 16:57:40 xd kernel: scsi host1: ahci
> Aug 02 16:57:40 xd kernel: ata1: SATA max UDMA/133 abar m2048@0x50102000 
> port 0x50102100 irq 154
> Aug 02 16:57:40 xd kernel: ata2: SATA max UDMA/133 abar m2048@0x50102000 
> port 0x50102180 irq 154
> Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:15.3: enabling device 
> (0004 -> 0006)
> Aug 02 16:57:40 xd kernel: idma64 idma64.1: Found Intel integrated DMA 
> 64-bit
> Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:19.0: enabling device 
> (0004 -> 0006)
> Aug 02 16:57:40 xd kernel: idma64 idma64.2: Found Intel integrated DMA 
> 64-bit
> Aug 02 16:57:40 xd kernel: intel-lpss 0000:00:19.1: enabling device 
> (0004 -> 0006)
> Aug 02 16:57:40 xd kernel: idma64 idma64.3: Found Intel integrated DMA 
> 64-bit
> Aug 02 16:57:40 xd kernel: usb 1-7: new full-speed USB device number 2 
> using xhci_hcd
> Aug 02 16:57:40 xd kernel: ata1: SATA link down (SStatus 0 SControl 300)
> Aug 02 16:57:40 xd kernel: ata2: SATA link down (SStatus 0 SControl 300)
> Aug 02 16:57:40 xd kernel: input: ELAN0515:01 04F3:3142 Mouse as 
> /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input4
> Aug 02 16:57:40 xd kernel: input: ELAN0515:01 04F3:3142 Touchpad as 
> /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input6
> Aug 02 16:57:40 xd kernel: hid-generic 0018:04F3:3142.0001: 
> input,hidraw0: I2C HID v1.00 Mouse [ELAN0515:01 04F3:3142] on 
> i2c-ELAN0515:01
> Aug 02 16:57:40 xd kernel: usb 1-7: New USB device found, idVendor=04f3, 
> idProduct=0c4f, bcdDevice= 1.61
> Aug 02 16:57:40 xd kernel: usb 1-7: New USB device strings: Mfr=1, 
> Product=2, SerialNumber=0
> Aug 02 16:57:40 xd kernel: usb 1-7: Product: ELAN:Fingerprint
> Aug 02 16:57:40 xd kernel: usb 1-7: Manufacturer: ELAN
> Aug 02 16:57:40 xd kernel: checking generic (4000000000 7f0000) vs hw 
> (6014000000 1000000)
> Aug 02 16:57:40 xd kernel: checking generic (4000000000 7f0000) vs hw 
> (4000000000 10000000)
> Aug 02 16:57:40 xd kernel: fb0: switching to i915 from EFI VGA
> Aug 02 16:57:40 xd kernel: Console: switching to colour dummy device 
> 80x25
> Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: vgaarb: deactivate vga 
> console
> Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: vgaarb: changed VGA 
> decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
> Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: firmware: direct-loading 
> firmware i915/tgl_dmc_ver2_12.bin
> Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: [drm] Finished loading DMC 
> firmware i915/tgl_dmc_ver2_12.bin (v2.12)
> Aug 02 16:57:40 xd kernel: [drm] Initialized i915 1.6.0 20201103 for 
> 0000:00:02.0 on minor 0
> Aug 02 16:57:40 xd kernel: ACPI: video: [Firmware Bug]: ACPI(PEGP) 
> defines _DOD but not _DOS
> Aug 02 16:57:40 xd kernel: ACPI: video: Video Device [PEGP] (multi-head: 
> yes rom: no post: no)
> Aug 02 16:57:40 xd kernel: input: Video Bus as 
> /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/LNXVIDEO:00/input/input7
> Aug 02 16:57:40 xd kernel: ACPI: video: Video Device [GFX0] (multi-head: 
> yes rom: no post: no)
> Aug 02 16:57:40 xd kernel: input: Video Bus as 
> /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input8
> Aug 02 16:57:40 xd kernel: fbcon: i915drmfb (fb0) is primary device
> Aug 02 16:57:40 xd kernel: Console: switching to colour frame buffer 
> device 240x67
> Aug 02 16:57:40 xd kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame 
> buffer device
> Aug 02 16:57:40 xd kernel: usb 1-8: new high-speed USB device number 3 
> using xhci_hcd
> Aug 02 16:57:40 xd kernel: PM: Image not found (code -22)
> Aug 02 16:57:40 xd kernel: usb 1-8: New USB device found, idVendor=0408, 
> idProduct=a061, bcdDevice= 0.04
> Aug 02 16:57:40 xd kernel: usb 1-8: New USB device strings: Mfr=1, 
> Product=2, SerialNumber=0
> Aug 02 16:57:40 xd kernel: usb 1-8: Product: HD User Facing
> Aug 02 16:57:40 xd kernel: usb 1-8: Manufacturer: SunplusIT Inc
> Aug 02 16:57:40 xd kernel: EXT4-fs (nvme0n1p3): mounting ext3 file 
> system using the ext4 subsystem
> Aug 02 16:57:40 xd kernel: EXT4-fs (nvme0n1p3): mounted filesystem with 
> ordered data mode. Quota mode: none.
> Aug 02 16:57:40 xd kernel: Not activating Mandatory Access Control as 
> /sbin/tomoyo-init does not exist.
> Aug 02 16:57:40 xd kernel: usb 1-10: new high-speed USB device number 4 
> using xhci_hcd
> Aug 02 16:57:40 xd systemd[1]: Inserted module 'autofs4'
> Aug 02 16:57:40 xd kernel: usb 1-10: New USB device found, 
> idVendor=04ca, idProduct=3802, bcdDevice= 1.00
> Aug 02 16:57:40 xd kernel: usb 1-10: New USB device strings: Mfr=5, 
> Product=6, SerialNumber=7
> Aug 02 16:57:40 xd kernel: usb 1-10: Product: Wireless_Device
> Aug 02 16:57:40 xd kernel: usb 1-10: Manufacturer: MediaTek Inc.
> Aug 02 16:57:40 xd kernel: usb 1-10: SerialNumber: 000000000
> Aug 02 16:57:40 xd systemd[1]: systemd 251.2-7 running in system mode 
> (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS 
> +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD 
> +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +TPM2 
> +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT 
> default-hierarchy=unified)
> Aug 02 16:57:40 xd systemd[1]: Detected architecture x86-64.
> Aug 02 16:57:40 xd systemd[1]: Hostname set to <xd>.
> Aug 02 16:57:40 xd systemd[1]: Queued start job for default target 
> Graphical Interface.
> Aug 02 16:57:40 xd systemd[1]: Created slice Slice /system/getty.
> Aug 02 16:57:40 xd systemd[1]: Created slice Slice /system/modprobe.
> Aug 02 16:57:40 xd systemd[1]: Created slice Slice /system/systemd-fsck.
> Aug 02 16:57:40 xd systemd[1]: Created slice User and Session Slice.
> Aug 02 16:57:40 xd systemd[1]: Started Forward Password Requests to Wall 
> Directory Watch.
> Aug 02 16:57:40 xd systemd[1]: Set up automount Arbitrary Executable 
> File Formats File System Automount Point.
> Aug 02 16:57:40 xd systemd[1]: Reached target Local Integrity Protected 
> Volumes.
> Aug 02 16:57:40 xd systemd[1]: Reached target User and Group Name 
> Lookups.
> Aug 02 16:57:40 xd systemd[1]: Reached target Remote File Systems.
> Aug 02 16:57:40 xd systemd[1]: Reached target Slice Units.
> Aug 02 16:57:40 xd systemd[1]: Reached target Local Verity Protected 
> Volumes.
> Aug 02 16:57:40 xd systemd[1]: Listening on Device-mapper event daemon 
> FIFOs.
> Aug 02 16:57:40 xd systemd[1]: Listening on LVM2 poll daemon socket.
> Aug 02 16:57:40 xd systemd[1]: Listening on Syslog Socket.
> Aug 02 16:57:40 xd systemd[1]: Listening on fsck to fsckd communication 
> Socket.
> Aug 02 16:57:40 xd systemd[1]: Listening on initctl Compatibility Named 
> Pipe.
> Aug 02 16:57:40 xd systemd[1]: Listening on Journal Audit Socket.
> Aug 02 16:57:40 xd systemd[1]: Listening on Journal Socket (/dev/log).
> Aug 02 16:57:40 xd systemd[1]: Listening on Journal Socket.
> Aug 02 16:57:40 xd systemd[1]: Listening on udev Control Socket.
> Aug 02 16:57:40 xd systemd[1]: Listening on udev Kernel Socket.
> Aug 02 16:57:40 xd systemd[1]: Mounting Huge Pages File System...
> Aug 02 16:57:40 xd systemd[1]: Mounting POSIX Message Queue File 
> System...
> Aug 02 16:57:40 xd systemd[1]: Mounting Kernel Debug File System...
> Aug 02 16:57:40 xd systemd[1]: Mounting Kernel Trace File System...
> Aug 02 16:57:40 xd systemd[1]: Finished Availability of block devices.
> Aug 02 16:57:40 xd systemd[1]: Starting Set the console keyboard 
> layout...
> Aug 02 16:57:40 xd systemd[1]: Starting Create List of Static Device 
> Nodes...
> Aug 02 16:57:40 xd systemd[1]: Starting Monitoring of LVM2 mirrors, 
> snapshots etc. using dmeventd or progress polling...
> Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Module configfs...
> Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Module drm...
> Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Module fuse...
> Aug 02 16:57:40 xd systemd[1]: File System Check on Root Device was 
> skipped because of a failed condition check 
> (ConditionPathExists=!/run/initramfs/fsck-root).
> Aug 02 16:57:40 xd systemd[1]: Starting Journal Service...
> Aug 02 16:57:40 xd systemd[1]: Starting Load Kernel Modules...
> Aug 02 16:57:40 xd systemd[1]: Starting Remount Root and Kernel File 
> Systems...
> Aug 02 16:57:40 xd systemd[1]: Repartition Root Disk was skipped because 
> all trigger condition checks failed.
> Aug 02 16:57:40 xd systemd[1]: Starting Coldplug All udev Devices...
> Aug 02 16:57:40 xd systemd[1]: Finished Create List of Static Device 
> Nodes.
> Aug 02 16:57:40 xd systemd[1]: modprobe@drm.service: Deactivated 
> successfully.
> Aug 02 16:57:40 xd systemd[1]: Finished Load Kernel Module drm.
> Aug 02 16:57:40 xd systemd[1]: Mounted Huge Pages File System.
> Aug 02 16:57:40 xd systemd[1]: Mounted POSIX Message Queue File System.
> Aug 02 16:57:40 xd systemd[1]: Mounted Kernel Debug File System.
> Aug 02 16:57:40 xd systemd[1]: Mounted Kernel Trace File System.
> Aug 02 16:57:40 xd systemd[1]: modprobe@configfs.service: Deactivated 
> successfully.
> Aug 02 16:57:40 xd systemd[1]: Finished Load Kernel Module configfs.
> Aug 02 16:57:40 xd systemd[1]: Mounting Kernel Configuration File 
> System...
> Aug 02 16:57:40 xd kernel: EXT4-fs (nvme0n1p3): re-mounted. Quota mode: 
> none.
> Aug 02 16:57:40 xd kernel: fuse: init (API version 7.36)
> Aug 02 16:57:40 xd systemd[1]: Finished Remount Root and Kernel File 
> Systems.
> Aug 02 16:57:40 xd systemd[1]: Mounted Kernel Configuration File System.
> Aug 02 16:57:40 xd systemd[1]: modprobe@fuse.service: Deactivated 
> successfully.
> Aug 02 16:57:40 xd systemd[1]: Finished Load Kernel Module fuse.
> Aug 02 16:57:40 xd systemd[1]: Mounting FUSE Control File System...
> Aug 02 16:57:40 xd systemd[1]: Platform Persistent Storage Archival was 
> skipped because of a failed condition check 
> (ConditionDirectoryNotEmpty=/sys/fs/pstore).
> Aug 02 16:57:40 xd systemd[1]: Starting Load/Save Random Seed...
> Aug 02 16:57:40 xd systemd[1]: Starting Create System Users...
> Aug 02 16:57:40 xd systemd[1]: Mounted FUSE Control File System.
> Aug 02 16:57:40 xd kernel: lp: driver loaded but no devices found
> Aug 02 16:57:40 xd kernel: ppdev: user-space parallel port driver
> Aug 02 16:57:40 xd systemd[1]: Finished Load/Save Random Seed.
> Aug 02 16:57:40 xd systemd[1]: First Boot Complete was skipped because 
> of a failed condition check (ConditionFirstBoot=yes).
> Aug 02 16:57:40 xd systemd[1]: Started Journal Service.
> Aug 02 16:57:41 xd systemd-journald[304]: Received client request to 
> flush runtime journal.
> Aug 02 16:57:41 xd kernel: nvidia: module license 'NVIDIA' taints 
> kernel.
> Aug 02 16:57:41 xd kernel: Disabling lock debugging due to kernel taint
> Aug 02 16:57:41 xd kernel: nvidia-nvlink: Nvlink Core is being 
> initialized, major device number 242
> Aug 02 16:57:41 xd kernel:
> Aug 02 16:57:41 xd kernel: nvidia 0000:01:00.0: enabling device (0006 -> 
> 0007)
> Aug 02 16:57:41 xd kernel: input: Acer Wireless Radio Control as 
> /devices/LNXSYSTM:00/10251229:00/input/input9
> Aug 02 16:57:41 xd kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel 
> Module 470.129.06 Thu May 12 22:52:02 UTC 2022
> Aug 02 16:57:41 xd kernel: intel_pmc_core INT33A1:00: initialized
> Aug 02 16:57:41 xd kernel: input: Intel HID events as 
> /devices/platform/INTC1051:00/input/input10
> Aug 02 16:57:41 xd kernel: intel-hid INTC1051:00: platform supports 5 
> button array
> Aug 02 16:57:41 xd kernel: input: Intel HID 5 button array as 
> /devices/platform/INTC1051:00/input/input11
> Aug 02 16:57:41 xd kernel: ACPI: AC: AC Adapter [ACAD] (on-line)
> Aug 02 16:57:41 xd kernel: nvidia-modeset: Loading NVIDIA Kernel Mode 
> Setting Driver for UNIX platforms 470.129.06 Thu May 12 22:42:45 UTC 
> 2022
> Aug 02 16:57:41 xd kernel: Adding 31182844k swap on /dev/nvme0n1p4. 
> Priority:-2 extents:1 across:31182844k SSFS
> Aug 02 16:57:41 xd kernel: mc: Linux media interface: v0.10
> Aug 02 16:57:41 xd kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] 
> Loading driver
> Aug 02 16:57:41 xd kernel: [drm] Initialized nvidia-drm 0.0.0 20160202 
> for 0000:01:00.0 on minor 1
> Aug 02 16:57:41 xd kernel: mei_me 0000:00:16.0: enabling device (0000 -> 
> 0002)
> Aug 02 16:57:41 xd kernel: videodev: Linux video capture interface: 
> v2.00
> Aug 02 16:57:41 xd kernel: usb 1-8: Found UVC 1.00 device HD User Facing 
> (0408:a061)
> Aug 02 16:57:41 xd kernel: input: HD User Facing: HD User Facing as 
> /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input12
> Aug 02 16:57:41 xd kernel: usbcore: registered new interface driver 
> uvcvideo
> Aug 02 16:57:41 xd kernel: ee1004 0-0050: 512 byte EE1004-compliant SPD 
> EEPROM, read-only
> Aug 02 16:57:41 xd kernel: iTCO_vendor_support: vendor-support=0
> Aug 02 16:57:41 xd kernel: iTCO_wdt iTCO_wdt: Found a Intel PCH TCO 
> device (Version=6, TCOBASE=0x0400)
> Aug 02 16:57:41 xd kernel: iTCO_wdt iTCO_wdt: initialized. heartbeat=30 
> sec (nowayout=0)
> Aug 02 16:57:41 xd kernel: acer_wmi: Acer Laptop ACPI-WMI Extras
> Aug 02 16:57:41 xd kernel: acer_wmi: Function bitmap for Communication 
> Button: 0x801
> Aug 02 16:57:41 xd kernel: input: Acer WMI hotkeys as 
> /devices/virtual/input/input13
> Aug 02 16:57:41 xd kernel: alg: No test for fips(ansi_cprng) 
> (fips_ansi_cprng)
> Aug 02 16:57:41 xd kernel: input: ELAN0515:01 04F3:3142 Mouse as 
> /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input14
> Aug 02 16:57:41 xd kernel: input: ELAN0515:01 04F3:3142 Touchpad as 
> /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN0515:01/0018:04F3:3142.0001/input/input16
> Aug 02 16:57:41 xd kernel: hid-multitouch 0018:04F3:3142.0001: 
> input,hidraw0: I2C HID v1.00 Mouse [ELAN0515:01 04F3:3142] on 
> i2c-ELAN0515:01
> Aug 02 16:57:41 xd kernel: input: PC Speaker as 
> /devices/platform/pcspkr/input/input17
> Aug 02 16:57:41 xd kernel: resource sanity check: requesting [mem 
> 0xfedc0000-0xfedcdfff], which spans more than pnp 00:04 [mem 
> 0xfedc0000-0xfedc7fff]
> Aug 02 16:57:41 xd kernel: caller __uncore_imc_init_box+0xc1/0x100 
> [intel_uncore] mapping multiple BARs
> Aug 02 16:57:41 xd kernel: pstore: Using crash dump compression: deflate
> Aug 02 16:57:41 xd kernel: pstore: Registered efi as persistent store 
> backend
> Aug 02 16:57:41 xd kernel: cfg80211: Loading compiled-in X.509 
> certificates for regulatory database
> Aug 02 16:57:41 xd kernel: cfg80211: Loaded X.509 cert 'benh@debian.org: 
> 577e021cb980e0e820821ba7b54b4961b8b4fadf'
> Aug 02 16:57:41 xd kernel: cfg80211: Loaded X.509 cert 
> 'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
> Aug 02 16:57:41 xd kernel: cfg80211: Loaded X.509 cert 'sforshee: 
> 00b28ddf47aef9cea7'
> Aug 02 16:57:41 xd kernel: platform regulatory.0: firmware: 
> direct-loading firmware regulatory.db
> Aug 02 16:57:41 xd kernel: platform regulatory.0: firmware: 
> direct-loading firmware regulatory.db.p7s
> Aug 02 16:57:41 xd kernel: snd_hda_intel 0000:00:1f.3: DSP detected with 
> PCI class/subclass/prog-if info 0x040100
> Aug 02 16:57:41 xd kernel: snd_hda_intel 0000:00:1f.3: Digital mics 
> found on Skylake+ platform, using SOF driver
> Aug 02 16:57:41 xd kernel: cryptd: max_cpu_qlen set to 1000
> Aug 02 16:57:41 xd kernel: AVX2 version of gcm_enc/dec engaged.
> Aug 02 16:57:41 xd kernel: AES CTR mode by8 optimization enabled
> Aug 02 16:57:41 xd kernel: Bluetooth: Core ver 2.22
> Aug 02 16:57:41 xd kernel: NET: Registered PF_BLUETOOTH protocol family
> Aug 02 16:57:41 xd kernel: Bluetooth: HCI device and connection manager 
> initialized
> Aug 02 16:57:41 xd kernel: Bluetooth: HCI socket layer initialized
> Aug 02 16:57:41 xd kernel: Bluetooth: L2CAP socket layer initialized
> Aug 02 16:57:41 xd kernel: Bluetooth: SCO socket layer initialized
> Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: enabling device (0000 
> -> 0002)
> Aug 02 16:57:41 xd kernel: usbcore: registered new interface driver 
> btusb
> Aug 02 16:57:41 xd kernel: bluetooth hci0: firmware: direct-loading 
> firmware mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
> Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: ASIC revision: 79610010
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP 
> detected with PCI class/subclass/prog-if info 0x040100
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Digital 
> mics found on Skylake+ platform, using SOF driver
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: 
> enabling device (0000 -> 0002)
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP 
> detected with PCI class/subclass/prog-if 0x040100
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: bound 
> 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
> Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: firmware: 
> direct-loading firmware mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin
> Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: HW/SW Version: 
> 0x8a108a10, Build Time: 20210612122717a
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: use msi 
> interrupt mode
> Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: firmware: 
> direct-loading firmware mediatek/WIFI_RAM_CODE_MT7961_1.bin
> Aug 02 16:57:41 xd kernel: mt7921e 0000:03:00.0: WM Firmware Version: 
> ____010000, Build Time: 20210612122753
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: hda 
> codecs found, mask 5
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: using 
> HDA machine driver skl_hda_dsp_generic now
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs 
> detected in NHLT tables: 2
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: 
> firmware: failed to load intel/sof/sof-tgl.ri (-2)
> Aug 02 16:57:41 xd kernel: firmware_class: See 
> https://wiki.debian.org/Firmware for information about missing firmware
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Direct 
> firmware load for intel/sof/sof-tgl.ri failed with error -2
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: error: 
> sof firmware file is missing, you might need to
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: 
> download it from https://github.com/thesofproject/sof-bin/
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: error: 
> failed to load DSP firmware -2
> Aug 02 16:57:41 xd kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: error: 
> sof_probe_work failed err: -2
> Aug 02 16:57:41 xd kernel: mei_hdcp 
> 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 
> (ops i915_hdcp_component_ops [i915])
> Aug 02 16:57:41 xd kernel: EXT4-fs (nvme0n1p2): mounting ext2 file 
> system using the ext4 subsystem
> Aug 02 16:57:41 xd kernel: EXT4-fs (nvme0n1p2): mounted filesystem 
> without journal. Quota mode: none.
> Aug 02 16:57:41 xd kernel: ext2 filesystem being mounted at /boot 
> supports timestamps until 2038 (0x7fffffff)
> Aug 02 16:57:41 xd kernel: intel_rapl_msr: PL4 support detected.
> Aug 02 16:57:41 xd kernel: intel_rapl_common: Found RAPL domain package
> Aug 02 16:57:41 xd kernel: intel_rapl_common: Found RAPL domain core
> Aug 02 16:57:41 xd kernel: intel_rapl_common: Found RAPL domain uncore
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.940:2): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="libreoffice-senddoc" pid=615 comm="apparmor_parser"
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.940:3): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="libreoffice-xpdfimport" pid=617 comm="apparmor_parser"
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.940:4): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="libreoffice-oosplash" pid=614 comm="apparmor_parser"
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:5): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="nvidia_modprobe" pid=611 comm="apparmor_parser"
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:6): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="nvidia_modprobe//kmod" pid=611 comm="apparmor_parser"
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:7): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="/usr/bin/man" pid=613 comm="apparmor_parser"
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:8): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="man_filter" pid=613 comm="apparmor_parser"
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:9): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="man_groff" pid=613 comm="apparmor_parser"
> Aug 02 16:57:41 xd kernel: audit: type=1400 audit(1659455861.944:10): 
> apparmor="STATUS" operation="profile_load" profile="unconfined" 
> name="lsb_release" pid=610 comm="apparmor_parser"
> Aug 02 16:57:42 xd kernel: ACPI Warning: \_SB.PC00.PEG0.PEGP._DSM: 
> Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] 
> (20211217/nsarguments-61)
> Aug 02 16:57:42 xd kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
> Aug 02 16:57:42 xd kernel: Bluetooth: BNEP filters: protocol multicast
> Aug 02 16:57:42 xd kernel: Bluetooth: BNEP socket layer initialized
> Aug 02 16:57:42 xd kernel: enp2s0: 0xffff9d4c400f9000, 
> 08:8f:c3:4f:86:c5, IRQ 142
> Aug 02 16:57:42 xd kernel: NET: Registered PF_QIPCRTR protocol family
> Aug 02 16:57:42 xd kernel: mt7921e 0000:03:00.0 wlp3s0: renamed from 
> wlan0
> Aug 02 16:57:44 xd kernel: Bluetooth: hci0: Device setup in 2593900 
> usecs
> Aug 02 16:57:44 xd kernel: NET: Registered PF_ALG protocol family
> Aug 02 16:57:44 xd kernel: Bluetooth: RFCOMM TTY layer initialized
> Aug 02 16:57:44 xd kernel: Bluetooth: RFCOMM socket layer initialized
> Aug 02 16:57:44 xd kernel: Bluetooth: RFCOMM ver 1.11
> Aug 02 16:57:44 xd kernel: rfkill: input handler disabled
> Aug 02 16:57:49 xd kernel: kauditd_printk_skb: 12 callbacks suppressed
> Aug 02 16:57:49 xd kernel: audit: type=1400 audit(1659455869.340:23): 
> apparmor="DENIED" operation="capable" profile="/usr/sbin/cups-browsed" 
> pid=1199 comm="cups-browsed" capability=23 capname="sys_nice"
> Aug 02 16:58:02 xd kernel: rfkill: input handler enabled
> Aug 02 16:58:04 xd kernel: rfkill: input handler disabled
> 
> On 2022-08-02 16:53, Jan Beulich wrote:
> 
>> On 02.08.2022 17:40, Bruno wrote:
>>
>>> I'm talking about booting on the host Xen ("Linux with Xen") - goes to 
>>> an initramfs prompt.
>>>
>>> I don't know how to get to this hypervisor log. Maybe not the case as 
>>> I am attempting the boot on the host linux with Xen. There is no 
>>> /var/log - only cache and lock
>>
>> Generally the hypervisor log is obtained via "xl dmesg" (likely not an
>> option for you when you end up on an initramfs prompt) or a serial
>> cable. How do you obtain the kernel log (there was one posted on
>> xen-users)?
>>
>>> I can list the hard drive partitions under /dev (nvme0n1p1-5), but I 
>>> cannot mount them. I cannot access a thumb drive either /dev/block, 
>>> when mounted has two strange symlinks to ../sda1 (8:0 and 1:8). This 
>>> is a bit frustrating because it does not allow me to export dmesg or 
>>> other info.
>>>
>>> Im not receiving the error messages on screen before initramfs, they 
>>> are hidden, but I do get this message:
>>>
>>> Gave up waiting for suspend/resume device
>>> Gave up waiting for root file system device.  Common problems:
>>> Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait 
>>> long enough?)
>>> Missing modules (cat /proc/modules; ls /dev)
>>> ALERT! UUID=0123abc does not exist. Dropping to a shell!
>>>
>>> On the dmesg, I got the ACPI errors:
>>>
>>> ACPI BIOS Error
>>> (bug): Failure creating named ob
>>> I_SB.PCOO.XHCI.RHUB.HS05._UPC], AE ALREADY _EXISTS 
>>> (Z0211217/dsuloadZ-326)
>>> ACPI Error: AE_ALREADY EXISTS, During name
>>> slookun/catalog
>>> -9451181 ACPI: Skipping parse of AML opcode: OpcodeNane unavailable
>>> (20211217/psobject-z20)
>>> (0x0014)
>>>
>>> Repeated several times
>>>
>>> ACPI: Skipping parse of AML opcode: DpcodeNane unavailable (0x0014)
>>
>> Right - I've seen those. These were why I did ask for a pair of kernel 
>> logs
>> (with and without Xen), to put them side by side and see which of the 
>> errors
>> are common (and hence likely of no interest to resolve your issue).
>>
>>> Latter on the dmesg I got repeated errors like this:
>>>
>>> RIP: 0033:0x7 969a2e2Ã¤c9
>>> RSP: 002b:00007ffaff421a28 FLAGS: 00000246 RIG RAX: 0000000000000139
>>> RAX: Efffffffffffffda RBX: 00005582Bb061d10 RCX: 00007 969aZeZÃ¤c9
>>> 244.4412241 RDX:000000000RSI: 000071969a49bfOd RDI: 00000000000000
>>> RB: 0000000000020000 ROB: 0000000000000000 R09: 000055828b04c290
>>> R10: 000000000000000c R11: 0000000000000246 R12: 00007f969a49bf(R)d
>>> R13: 000000GBOOOOOOOO R14: 000055B28b060aZO R15: 00005582Bb06110
>>>
>>> (/TASK>
>>> INFO: task systemd-udevd: 190 blocked for more than 120 seconds.
>>
>> Besides some of the characters looking scrambled, I can spot nothing 
>> like
>> this in
>> https://lists.xenproject.org/archives/html/xen-users/2022-07/msg00057.html
>>
>> Anyway, my request stands: Please post the three named logs here.
>>
>> Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 06:34:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 06:34:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379576.613124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7xq-0003LF-LU; Wed, 03 Aug 2022 06:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379576.613124; Wed, 03 Aug 2022 06:34:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ7xq-0003L8-IX; Wed, 03 Aug 2022 06:34:42 +0000
Received: by outflank-mailman (input) for mailman id 379576;
 Wed, 03 Aug 2022 06:34:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ7xo-0003L2-I6
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 06:34:40 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2058.outbound.protection.outlook.com [40.107.104.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 596a1da3-12f6-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 08:34:39 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR0402MB3345.eurprd04.prod.outlook.com (2603:10a6:208:1d::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 06:34:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 06:34:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 596a1da3-12f6-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XpnjSvNj6gGIkID80e+6CG7/C0/LjC0HkEsqUwnUofkJpZB3PiriKCwFhMf8hxi1GsEL0U/iY7bshnbwN9oB+x/jTLCJfbR7v+XJV1TC/vKaKn4rEgQQOvsibq9TJb17Bmki3abzB9ckVlrg/MjcXop/g9vnEQQSl6sHfsvqxPlEnEyJQGRuPBTwPXU/ho26qUN8fVnb/mZsE/YI3NJBW/UNnp76KRaGfpmPoa1NkzNpIhAlk1FKk9zMoHQEO9eAPUAz4CCwvGrMw4Ef7t1j/l6/5nReZYRHTK3A6/l9wBwwBhJPZzcOBF6+5c5I8n1w1c9pHiiUiihJjuT8Wc/k+A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E1oyRy8Msa0Ye1X2zqJ6rJDSE44k7cK/stifjbbM1uo=;
 b=GT5ToMcwBpanUkiBFixGgkO5uOGiede1BMqiSD0clTc7IfS6O62UJLIllQvp3XF23rcoDXMD7YespxBnYKXIVoJT+SIjKokFJUQ59OiF3VuiTec3PulCI8AaXruW9+OtK0L8kgRquy0gUKpqw3+vLUuGa7q7BQUhERIpppFB+mZK7xfKqNkD75VfkqGmANBYFKWDVrsps3lo31p/tqUhc81bofwv8yj5bfprkzBQjeMKQTdy26DmG14BqeSc9c6OOFGWtO/sXaIaLd2jN0Jrz9/L+dL7/CzMbm0Tqfh1QIKng3xgSEWA2MPTkVDC6qkdbhAJ08a7o/OvtC/OedU1Pg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E1oyRy8Msa0Ye1X2zqJ6rJDSE44k7cK/stifjbbM1uo=;
 b=u7Nxef2DEqYHJY19bRqzbyni06+34jlRHLs5KTllUotmnCnZbijHcNcFrjXqpUBOaUrdw8wFcfin1ntri0AwORzsBRv/UC9zP7MXMZECptocQq894UhmvknaPEXTsA/vwB2TAal5w4y4trH1FDsDg8vkjU9lVuNMIOCNYVm0qsl1gfo/ltormRoSyc2sdEpmm4XyBmKFnl8I+5QDUJ/uU/OFt1o0bmX5+tkm4jT020tIGDHIL4Z8kuNYNVd0NadATkyVftjjDv0boUl/ALP0WrUQiRcYhVy4yDUzzTSAaumk8YHuQtLv7EOc/FYAVaSyLBF+mWLyN03vgDQrZLJC2A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9ae39fa1-84f8-401c-85a2-3b6208e54d18@suse.com>
Date: Wed, 3 Aug 2022 08:34:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Bruno <brunoce@kolabnow.com>
Cc: xen-devel@lists.xenproject.org
References: <87c86770-9244-dbad-23ba-d449b2c3ccb7@suse.com>
 <B8D2151F-D58B-4443-8171-48623AB77595@kolabnow.com>
 <eaa074c2-350e-c526-b825-c2d45ff0fc48@suse.com>
 <24ec8c9e1dffd6073677fec8d2fb038a@kolabnow.com>
 <cc1058ef-ca8e-12d5-1ff5-9fc824cf260a@suse.com>
In-Reply-To: <cc1058ef-ca8e-12d5-1ff5-9fc824cf260a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0024.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1957524f-7959-41c4-75f5-08da751a3c8d
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3345:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cKCQKPpn6TRbTGkb2pWP051E0fwUbxgVnG68iHby2yQ6ZU7x3S/XSfvtelM1NpCezbgFGWr717A4kZ4sSigILV5mqCQAlWcTkRSksszkhlxzzFjKSVWcfagSjSZG6s+pQTC762593xNDAM+bcnUCN+lssuSg6HVBaBxxIv+ADTzLqCgvDhLG8iaM3zxjekA6uXgejf+y8NTGSfb0wWkRC/L2Xf6O+LuxLX8Pthvmu0a8qoLlx3VSHjw5pLPAiLtyXmDGEXCtl7uknJ7Jd3qpJdqUEFZWQcE5nyt/ik1lqQ5fK2oy8AFKWTjVfDNSo3g12Y5C7WKC1Dkxlbre5xLomRaQJEp9+C4/pnN2bf6PwRA5jn9YIw8Jrk6oFmUG1qBcIH2LveQO/6JEaHNK4JaC9medIz2jyXNnOn5xb23mIWQ51G1M/ESO66UIfvDp3t9ZP/52GkUN5Aur+1QVz8qKwld/2ULx9nlN9agqNT1jQfV0kCbVvSPPO0T0FXeE0nN9d40c4wWGls2p0tXzAEMpFXsiHUx1Ei1gRenyKRW4SiKQNO9EmdGfZfyQU85LovsEzbBpmc2VU+zxSDJAqHsDyxxHvIhMyoKzBfsBp2N2hZj3KmzKMBKxeGhhEv32LbJsF8sD4vyfsR7a/vsSkxC1rudmWZNmbh+dMc3xglnSsMT1A88brw5QgJGId3KUyXgyh/Ley91X1VeO62L59RSBNwcJIVUix4BIa20W8LasWEseMi7g6QOgyaHr2LUuFgfy7UOdOxbj3xs21wTlR+Bfnx77CFSijzhq8CiPebk8rjIEAYmUBnwruzU5Vb6oQURWC8Ma/HS8hgnmgX00e2EmOw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(396003)(39860400002)(366004)(136003)(346002)(8936002)(36756003)(316002)(478600001)(31686004)(6486002)(5660300002)(8676002)(66556008)(66476007)(4326008)(66946007)(6916009)(6512007)(53546011)(26005)(2616005)(6506007)(41300700001)(2906002)(186003)(83380400001)(86362001)(38100700002)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dlAydmp4UklVUy9wZW42QVE5LytBaTNMa1MvejJxeGxaaWR1VHI5dWJ6M2J1?=
 =?utf-8?B?WExJdlE1dDBoU3RQd29PQ25Ccm1sblUxSThPMUNBYVFWR3AxMTRNbFNkaEZI?=
 =?utf-8?B?NS9seVJjWkQrSE9icG9ndHcrcnNJYUVYUURUNlp2QkFiQ2l2K0VFdVdqZitF?=
 =?utf-8?B?S21RTHA4d0c5VjUxK3NhQUtMVVo3YkExN01xK1o2ckdyb2ZYeWxhdXN3TVhL?=
 =?utf-8?B?MmhTS1BPbHpncUVJRzFiQy9xbmNiSldhaDRXQ1Jtd1k3QWhuemxPelhKczN4?=
 =?utf-8?B?T0YwN1lYZHdnNTBLWXo2Rm12THZsZW9sS0xKREI1NTJjTTNqOE4vbVhxUHYz?=
 =?utf-8?B?OUZOaUpUWmdCdXlxcWdya3RQTGphN0RoZXlZSmRzc21aaTV5bzVQamJEQy9l?=
 =?utf-8?B?NUw0ZlJSZVVKcC9oMXBMOTR1L3VxVkdMUVNnbXZNNUE4VlN0M1hOQWpiSjEr?=
 =?utf-8?B?cHJqblBYQm5maktNMlJqb2xLdlZmZ1JXK0JWQ1FzYjRFVDFKS1l6V1ZKWEd2?=
 =?utf-8?B?LzRkMElSZlc4cjlFeUJpNG5EbnFUQTlmUys0Wk5nbkNYUjFrU01kTzk0aG5x?=
 =?utf-8?B?QVM3UStwWXF0MzN3QXV4L3FPbWRrZm9rNytRQ0tSckVpNWRab3Q0S1UyZDZW?=
 =?utf-8?B?TWwzWCtrbUJKeTNYRXFiRDZXcjUydHh6MTJoS0dqZ2Zzd1p3djIraVFSYlV0?=
 =?utf-8?B?WWIvNG9kY0RTcW5EeVZ4TzR3ZENPQ0xVd1VVRnQzcXJsUDNzV2hoRVhwTHN2?=
 =?utf-8?B?NEpVT05rZVpXYWZiQkhCamdhSk44ek43UXVXV21iS2JqSjFSZWJTazZyZEYr?=
 =?utf-8?B?QzFmWjZMeEhEemtQemhhUGZabnpqMitOOUpkK2RUVVlvSXVRSEVaN0FQQjc1?=
 =?utf-8?B?akFOY1pKeWgrVXYrb1M5UDFxZWd5UDRWdmNZSjZQRFhHdkNJNS9sTC9KTW5F?=
 =?utf-8?B?N0c4Uy9VSXNVekR5bkpxdVZ0cVpEK0NsWExxL3JGcTlqN0w3a1ZDcEExOUdt?=
 =?utf-8?B?bkJUVUVsd3VtMjJWcUc3NTA0Tm4rckxRTkUzTzY3R0pBY1pTOTJ3eVdpR3VW?=
 =?utf-8?B?cnNIMTk4dW93Skt1YlRqN2xockk1WWV2eTgwNWhmL3JaSG9jbjVxZXhnckky?=
 =?utf-8?B?cGV5elZEVTYrekhJMjhXeTg5TlkyWHk4bUtuUkNjZmgydzlvKytnQzV0RlA1?=
 =?utf-8?B?cTRCcFVqUkxUOW1oN3ZDRUFWc3NlMjJyTWZ6M1lUNk10aDJBMVZ1QkltMnJD?=
 =?utf-8?B?VjcrRWxCbHFwYXAvdnEvU1A5K2ZRNkxhOGlZTDhLR0hhU2JDN09QdVEzVFN1?=
 =?utf-8?B?VExjaVhHMDRDOU5hUXNocSsrUTAxYmNvbER3YWN6bEpna1RodytzM0FGNlZo?=
 =?utf-8?B?YTZUaVZJc3lTQW50bEFvRlN5OWlsajRZamdERmlybm1qNzNKMG1WUTRDYkg1?=
 =?utf-8?B?OWtFbmZtd1Vudnk4cmdmMy9LZmE2T2R0aW12V2RLcTlqSlVWTzM0ZnBEeUk3?=
 =?utf-8?B?YXVUYkRodEx6UGE2OHR0dFhlMURiQXU0SGk1WFp6TzJZaE1WL2hjOHhNUTNL?=
 =?utf-8?B?Z1B3aVNld1hzcVJsTkxZcmpkV1BBVjd0cUh1Qnd3RSt1VUFEUC8xdGNKeVZU?=
 =?utf-8?B?YXFBWFR1ZFVEWWdnK09TQVEwQWVHZi9JYTlYQngweW56OEVlU1IzcVZQUVJw?=
 =?utf-8?B?eWk0OXBHWElLVklqN2IzdzM3VVVMUTRJN2RibkxrYzRnNEhpZzY4V1RqTlpQ?=
 =?utf-8?B?NEJqd1ptQlRwUnN5b2tySGJQQTV2bmxhdDQ5OGNCbmtlTkFzWHAydmZKU1VU?=
 =?utf-8?B?WkFQaFJmWjE3YUpXRGMvc0U3VHBOMUpHUlBjTGdnV2lmc2lnZ0xjTlAzOE40?=
 =?utf-8?B?WHZYdjZHeVVwSW5qdjdMSEpKZWV0d2xzOFozVEhtVEZySlFsNXFFdU1CamJz?=
 =?utf-8?B?aEtKQUliZDN5T3dCWDBmSG1XQVN2SlpGWU4rMUthTVVMMGZWNjBPQXp0SGg0?=
 =?utf-8?B?bm5ZZXIwM1d1S0p2a0RhN2M5cXd0Y3NKeTh3dG4vZlhCckpTVmJONjBiVE5G?=
 =?utf-8?B?bm9pWXpyZVFUemVOUTFLWnJTeTlKMnJOVnNZVlRkS2kwdndWNzZPc29qSDEw?=
 =?utf-8?Q?9FD9+BtP/4GHuLu2khgy8S+J7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1957524f-7959-41c4-75f5-08da751a3c8d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 06:34:37.2787
 (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: ft90UoQoEEdQPnyCZ+TejsVGoNd549mwVLTiVapVGeZkhAemw5nTS9d9D8u9AWNoiPrXRYup2eot8wkE8OaHJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3345

On 03.08.2022 08:25, Jan Beulich wrote:
> On 02.08.2022 18:07, Bruno wrote:
>> On initramfs:
>>
>> - xl will give me not found - I cannot do xl info or xl dmesg
> 
> As expected - you'd have to handcraft xl and ints libraries into the
> image.
> 
>> - I cannot mount any disk, therefore, exporting logs from there has been 
>> photographing and using OCR then reviewing and correcting - but I guess 
>> the main difference is ACIP, as I cannot access the disks
> 
> Oh, I see. I was kind of expecting (hoping) you might be able to
> export the logs via, say, a USB key.
> 
>> I have now booted on kernel 18 to get the kernel boot log for you (the 
>> one on Xen-user is kernel 10).
> 
> At the first glance - similar ACPI errors, and a similar issue with
> loading sound firmware. Using two different kernels won't really
> lend itself for direct comparison, though. At the moment I don't see
> a good way forward here as long as not even proper logs can be
> obtained: It may be necessary to add debugging code, the output of
> which would also need collecting. But maybe someone else sees a
> viable route to help you ...

Oh, actually upon looking again I spotted something:

nvme nvme0: pci function 10000:e1:00.0

Note the wider-than-16-bits segment number. Which, afaict, is an effect of
using the Volume Management Device:

vmd 0000:00:0e.0: PCI host bridge to bus 10000:e0

You may want to go through firmware setup options to see whether there's a
way to disable it / its use. Neither Xen nor the Dom0 Linux kernel (i.e.
when run under Xen) have been enabled so far to make this work (and, from
inspection quite a while back, the kernel implementation, during its design,
not having considered the possibility of running on a type-1 hypervisor will
likely make adding support, well, interesting).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 07:10:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 07:10:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379581.613135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8WD-0007a7-Bw; Wed, 03 Aug 2022 07:10:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379581.613135; Wed, 03 Aug 2022 07:10:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8WD-0007a0-7w; Wed, 03 Aug 2022 07:10:13 +0000
Received: by outflank-mailman (input) for mailman id 379581;
 Wed, 03 Aug 2022 07:10:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wdm4=YH=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJ8WC-0007Zu-R8
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 07:10:12 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 504bb1ad-12fb-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 09:10:11 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id z17so15718815wrq.4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Aug 2022 00:10:11 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:672a:649e:8093:e1b])
 by smtp.googlemail.com with ESMTPSA id
 n2-20020a5d51c2000000b0021badf3cb26sm20230927wrv.63.2022.08.03.00.10.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Aug 2022 00:10:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 504bb1ad-12fb-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=qS8bZlbVxGt/mmqk+wWqK+vxxaS+JiUFxSSOzE+FGp8=;
        b=o1jNh5gg32h9Xw/g2dRdjzOEc3K/qSI0oKUUlprgvp5IVoCvfrNZAnJengtXNd2IT+
         27qqSDPTH5r2YKNOnITUcKXj2HuwtYG/Kv7fgqfdHuzrv/HNd0c44ZiWw3G5XBKPY1is
         DNEdcAzfoR4sus0xAqzwas4lJ/aY66/l0cR2jocpFldQivYIKyXtgITqnnjZzEjC4sGr
         id6GQX8qBvxS4u0JxykmM3L7N3qFhRyAblIPdP8erV5TcdluFImZKwrNUwd2IAlmTwLz
         mxSw3lqfirPXLqML1hoEzCtoJ0CjW0+QugXaIJFi6qJ4RGvFltXNTLIXlb949BEnAoxU
         WsMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=qS8bZlbVxGt/mmqk+wWqK+vxxaS+JiUFxSSOzE+FGp8=;
        b=65H/3g2FHK21rX0GHU2UCRdjlYG6hBcxuJEr2MDSuHFQLPs8TnU/bk1dEGVMK6sLdz
         8wPkHMFdf1qaHAtyaaYPRrOvVBUau2yxIBI4BIG75Vxw0npoI8ZWH0JmeRy+wjsP2lhZ
         AohaFtL4cL7M6hqskS+T+xlOBl4VjMZHe5Y8aQR03j+T+rGgL/2dVpO/nrBd/dqQUPNI
         iK4l+l7oMmKOGrj5df7bLZFO3ivS3ogRTycKyfyoweo1oKC3+ezATSqxEypVKBb5QKMd
         mfaGI8OoNtmwGT8P1EIfD0HuqAfqceR9ZOQ2uE0Q+WnOwqpMtfjvaI2m5ugZiRIpPfou
         A6UA==
X-Gm-Message-State: ACgBeo3yiBRC2PjYR6IRmM7g/23Vag7q4cd8SctE/2UMmY6D+GF3lWnD
	gtsZqU1XloZBdIsZ9fZp9n1VtmtDGag=
X-Google-Smtp-Source: AA6agR4hCReDL3EOLBTGtp3bpX4Y01jyH8nLIcC0hNLUYUAwLc/3nwdEV9wY8ZpA9idyQfBxOrDyqA==
X-Received: by 2002:a05:6000:1b85:b0:21f:93d:a23d with SMTP id r5-20020a0560001b8500b0021f093da23dmr15080934wru.286.1659510610489;
        Wed, 03 Aug 2022 00:10:10 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/char: mvebu-uart: Fix MISRA C 2012 Rule 20.7 violation
Date: Wed,  3 Aug 2022 10:09:58 +0300
Message-Id: <20220803070958.1752256-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The macro parameters 'off' and 'uart' are used as expressions and it is
good to be enclosed in parentheses to prevent against unintended expansion.

For the 'uart' case, in mvebu3700_write(), correct the second parentheses
that seems to have been accidently misplaced.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/drivers/char/mvebu-uart.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/mvebu-uart.c b/xen/drivers/char/mvebu-uart.c
index 835d1ace3c..a00618b96f 100644
--- a/xen/drivers/char/mvebu-uart.c
+++ b/xen/drivers/char/mvebu-uart.c
@@ -64,8 +64,8 @@ static struct mvebu3700_uart {
     struct vuart_info vuart;
 } mvebu3700_com = {0};
 
-#define mvebu3700_read(uart, off)           readl((uart)->regs + off)
-#define mvebu3700_write(uart, off, val)     writel(val, (uart->regs) + off)
+#define mvebu3700_read(uart, off)           readl((uart)->regs + (off))
+#define mvebu3700_write(uart, off, val)     writel(val, (uart)->regs + (off))
 
 static void mvebu3700_uart_interrupt(int irq, void *data,
                                      struct cpu_user_regs *regs)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 07:10:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 07:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379586.613146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8Wp-00087B-Jn; Wed, 03 Aug 2022 07:10:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379586.613146; Wed, 03 Aug 2022 07:10:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8Wp-000874-GR; Wed, 03 Aug 2022 07:10:51 +0000
Received: by outflank-mailman (input) for mailman id 379586;
 Wed, 03 Aug 2022 07:10:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ8Wn-0007xM-W0
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 07:10:50 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70088.outbound.protection.outlook.com [40.107.7.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66b927a4-12fb-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 09:10:49 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7721.eurprd04.prod.outlook.com (2603:10a6:10:1f6::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 07:10:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 07:10:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66b927a4-12fb-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LD+yuSr64vu8LLe2C0ziPD3djIsPo17xAjrx+ifjm6uUbtoKp0ptTH2h4nARkxZUT5BiD1VqW3WcfAsSIZGnEqKfILt04XdWYkqd7opEC49dUVg8P+91wW31ms/PM9fyi97/HfBGy5F0ooRMkeLHjdEd4IyGOO41/txfR2w7y3FTR4nMsYccOmhbdzQbianlr1VKpj7GFvz4oI/qF/x+Y++i9n/bSGH8pQyKfDEYS8wFB4SC5inXKqvvk+wjK5X04looPhSX+iIuJMZjMKLGC+D5gjCpTeOKc+OsErE+yO842sOJLYoWb04v19MzMSpxAD55yhPPGm9AVl8gl9fV8A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cpaqcIPRp/SD/qO5v9kDSfLjx6mKTwCIa+UN6oOKuHA=;
 b=bAoMVxNuc7SxOCULeK4zA6rG459xLDAef2vRjQQfHZ8RMtLmf44OAaYfsYJTScSE8XUnHlY1q5VxS5xf0SMi8XUZJ8UpQULQlPffSXWIaW3o1kd5hZC+I3gQacCfPoMZu7i/mhePAh+jnVEr48tE63RAq10D9AM4w2+ynhIWocMCRH60JCSgdV4CfN2taOr7qEGz4rgYokvfGPdf7x3hmyS4Ig3Qp01dbzlJHKAcbwqSOUt+ch5yFeOqmS/1TTbNF3nyUfRP5F6i35IG787msnrui0XRNBgS/tBNpklCsSdFb4qqgzL6JEX/K8/fJUgMD+2l/KDphMI9473OryZv+g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cpaqcIPRp/SD/qO5v9kDSfLjx6mKTwCIa+UN6oOKuHA=;
 b=PBo8sTJX8KaG6u0r4msFwSnyo45rM0IeN+EvKdRbylHpMGifVZI8AKK+J3pjwB2pJ6sntkOH9zehEa/xAQYkHXlCrraZ1UOQKjnP42TpwwaDhUASdxBJFIBp6hgu52ataQtQ6toEwym97W6fxwFVRRfptD/M1cJRl9umEVCs5Gkniup1MCY1zVh9ZIskSw1mj4gNAK8ltIJmw/ztmFzy+ynymaChqS8+006nSNLlkj7/4JSI0lUkAlB1C/A6YEijIdiPVDoym1pi15s1lNAgzuZb0/kuXmbuKGGHJiLOSiPUFjk712OfUskhwCGNoGfXrOYrlsKD8Wma7niMCFWbfg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ccdde721-cde0-917f-1023-f4f4d0bb2a6b@suse.com>
Date: Wed, 3 Aug 2022 09:10:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 2/2] xen: remove init_constructors out of start_xen
Content-Language: en-US
To: boyoun.park@samsung.com
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "julien@xen.org" <julien@xen.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "wl@xen.org" <wl@xen.org>, "roger.pau@citrix.com" <roger.pau@citrix.com>,
 Chungwoo Park <cww.park@samsung.com>, Gang Li <gang30.li@samsung.com>,
 Lei Wang <lei19.wang@samsung.com>, SoungKwan Kimn <sk.kimn@samsung.com>,
 DongJin PARK <djpax.park@samsung.com>, Joonjae Lee
 <joonjae7.lee@samsung.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <1470588578.9967963.1659494457934@mail-kr2-1>
 <alpine.DEB.2.22.394.2207291447080.4648@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2207281251160.4648@ubuntu-linux-20-04-desktop>
 <97499212.9948800.1659000157467@mail-kr2-3>
 <88025800-66e2-4fb4-facf-5989e75ba08f@suse.com>
 <20220729110313epcms2p5f9b24d5a65b98c220a6e99675298560f@epcms2p5>
 <CGME20220728092237epcms2p53821bba31388763f45b5204d56520c20@epcms2p2>
 <1238367271.9969045.1659494647714@mail-kr2-1>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1238367271.9969045.1659494647714@mail-kr2-1>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9P251CA0012.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:20b:50f::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 10ae4caf-d42e-4b26-9f8d-08da751f4a0c
X-MS-TrafficTypeDiagnostic: DBBPR04MB7721:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tz9eiDLxSoDkoGx/GIhxVAwHkHOB3IU6s9OEnXjq7gRihkE4nNTD8zr+cNLpbmigUex1c82tIEdXx5wL5U3g9T+Nu9usvP+XAOYznT5A4vzygFW6o6vNvTdX7hr9F4VPCN26o0EWfQgM5ZtkX5PjPMgQV2bbKLVzFkHYI0cyn1AnxcsvHEOZksLW6CmCgca9L7WZ7HRfIWRp7mfn8JWtVQ9RkWQa9ZnshfYN0W6RJgLKX/nlMULEyBYqB5Wc+5vOoAR1Ae2eE8KItdvyMXbd8qwfePMxLtNgYZq2QSAY4oxboqsRHxQYg1AGY7JKArkN72hR4JpZs9AloP2cVlPA1sTg9F6ijj3aMMjtApx1njYGOIyW0RkycU44umdJrTq1/xE/RmKzsKoZ1uE3FzYtuXuzgR7w8oXTqrjiJCZejM0tYAgGfdIulAhTjbAlJATT4lVwgQj/oEqFxcbmebus/NRixbANTtAy1SF7awpgDRo1Sb53b96pZTYTLmbRI+Sjd2PyC55qlKve6AYgzX3wmplu2YdWyr+JzLLomQhNJd9MfWNQh4uWqbGPONLWLYWaFF09+p9ZERtynhuFt50/jw3dMBgm9Zr0D3W9LlamkvIbeaM4xNe9XqNCfGmdCjRsTSZlNalix4ahtE+Ec4VASebTjxiU9cQpsC9zhluI0KOoRPz9K6nNka9GY9xY3pAduIdBvf0GjjWyQ1lXtt6z4hg8FhwMu8WuN8sRpq872BaM/JldRp7jqQ6GA191K9lcIqmddN7r/cKQEGy54aIYnshglIf9VQDF5ZNiMsaKzM4na6/PwT0Wy4ZJM7p4HAc51HtSFzo5uwCFbIy+NLyVWA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(366004)(396003)(136003)(39860400002)(7416002)(5660300002)(8936002)(36756003)(2906002)(31686004)(66946007)(66556008)(8676002)(66476007)(38100700002)(4326008)(53546011)(6486002)(83380400001)(6506007)(86362001)(6512007)(26005)(31696002)(316002)(54906003)(6916009)(2616005)(6666004)(41300700001)(478600001)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UmZCQms5NWFTeHZSUnFmaDRUdE5LZlk2ck1yNkJmSFh6QjZSc0dmZTl2ZVF3?=
 =?utf-8?B?UHUxUXBWY0hCRktOVUEyY09OTmRnREk1NFFoQXVYKzNrSFJSRWM3dFhsV0Vu?=
 =?utf-8?B?TkNIZWVuTmtSUDh6bFl2VkpPeFlYMHFXM0hzbXhJdncwU3JvK0tDTDV4T0Yr?=
 =?utf-8?B?ZDNvZzM3MFRNUWxIQkNFQ1p4d2hLVm92d1ZWclNhNmZLcHQvUW96OTQzNzlO?=
 =?utf-8?B?Nk9pcFRPQzJOdEtVWEtPK21QMkhYNk9TUWYrTzRpK3ZjR1I3WjJmYVRhWkhR?=
 =?utf-8?B?ZXdST29hclNDNTFjNXRlQkNZbUJOMHd3RXpRNmszaGovYWRkWE83cVUyKzg3?=
 =?utf-8?B?eExJN3VrRnNZZFFaQzZKakZIcUdoZHdidVM1eE5LY2Mzekdpb1NielZzbkIx?=
 =?utf-8?B?NG1KUFZGME8yS2JlY1g0SFZqRm5mcnlYYWUxdjJKWkpZeG15dHZXbURUSm1Y?=
 =?utf-8?B?QkplZUo1STM1bjdaYTdkWFpWdjU1cTZCL0pEWUlYeWJMaVhRZTZ2eXNsbXlu?=
 =?utf-8?B?dlJ6S3g5NHJIYlRIZjVwbUwvYXNqOUx2d25TSFM1QmRTdUtiNHpHbUpsMmM2?=
 =?utf-8?B?VGd4YnVIT25LWEZENlNJbWdUZnFVdFpVZGI5b1hxNmJhK3NmOVdtQldteDdR?=
 =?utf-8?B?WjZUZ1ZuREdNd2R5cTlxOFN6SGI1SkkzVGJJOFloZGhPY2o3S0xlejZ3L1pG?=
 =?utf-8?B?Y3JUZCtodDBrQ0J3NzlZRFlGTFlmM1FnY2Z1bFIydEtCOVZ0RzZOWDhjZnFG?=
 =?utf-8?B?SHZyYW5aQ042YVpveFZsZ291Unk3VVZRRDBWTDFLeVlydGRFVEpESEpUUFFY?=
 =?utf-8?B?eFFxWmF1TGpWY1RlU1ZBZkM1M1B6RlZMaEJycUpBcVMxajhNQ09iVnNzc1dO?=
 =?utf-8?B?RFJaUXlhNjIvQjBpZ3gwRnBaVDZORDhMcGhsWXZMMloxb2VJbitWb3E2Sno2?=
 =?utf-8?B?UXdmM1oxdFNCSnFqc0ZsRnBZN3dDdWNvYTFSRjlIYzlCTWorWGR0VVNhSGp5?=
 =?utf-8?B?UldCU3hKSDJTVDNGaGljclcva2s2SjdqSWF6blNBTW1GK1ozS0h4OVJ2NnJU?=
 =?utf-8?B?MDBXdndmcTRxZ3VpQmJzbzk4N1RiRmRza0s5UG91emYxTzNHK1h2SGx0NmM0?=
 =?utf-8?B?dUtDaTNMdXBpV3F5UGdEanRpZVpHVWRNb0preU1Xc0F4T2Z3N1hLYzM2WXZC?=
 =?utf-8?B?MFNMM3lIdndoME9pdDhVT2VsOUF6MWRlNDUvSUlPOEJFVVFzbzNiSHBUcXNy?=
 =?utf-8?B?RFBDeUJSUWloTHY3eW1zSXNnZEoxNFhQbEcyT09sVVQ2R0NVSndxT1ZwcGhw?=
 =?utf-8?B?L0VNRFdNbnU0UkdRRFBqam9zUEVjNXM3eXFYWVl3SUgyUGRKR3RySmVpT3FJ?=
 =?utf-8?B?MEIxeWY5dys5S1RscWRWV01JcStnL3g2SzdjQjJhc2sxRG1WdXVnWVVqd3Rn?=
 =?utf-8?B?ak9LdDJxMlQzdW5zbk1oNUNaOXFHZG8vbW5kVThlZm01RjNwTExXdy9wYjU2?=
 =?utf-8?B?UDM5WHdJbUs2ZXF2ZzRtY056M0svMi9Vcys0c0dpRDJTTXpvQk56WnZHUEFP?=
 =?utf-8?B?ZVhlQ2Zlb1ZoenJRSkJIaFNYRlR5cHYvYW1RK2NGdGFzbHZTRlJpZFlLK3hU?=
 =?utf-8?B?c0NtNCtISHB2cEs1OVdQTkxPQ0ZPSXVRRlVCb2NPM3I2Z2trOXp0M1JWTEhQ?=
 =?utf-8?B?Ymk2UnpmYnNNZlRIb2lzUVFaUzRBSU03eDVoU1NYRmNNcHNDNUZ1RTN3Sm5K?=
 =?utf-8?B?M2dxang2ZzZNTEp4cmxibTQzbkptRElSbW5ibWg2WE1LTEN0dVM4emI1RVY3?=
 =?utf-8?B?Z2dwMnRVVlFaQzJFd0VmYXp4SGN4SkkxazVvZFZkU0I4cXF0VWJTc0lCVUtu?=
 =?utf-8?B?dmQ3em50bk51Q3ZvZlN5aDZwRDdGVGFEV2JkUnprT1dlbktxa0FGaFhxK1BG?=
 =?utf-8?B?dzNBdEpMamxRMVpUWXNDZk50eVJhZTFTOUpVaU01N0wrK3pYekZtZUF4cllo?=
 =?utf-8?B?MDV1MU9LY3NDWCt3T1NFT2xqZzdENENzYTBSZ1l2NklPa2lJSnBoWFVPM1Vn?=
 =?utf-8?B?VHc3OWg4cmVBT3VyRXlrNWQ5Nk5aZWxIRzYxQkJTeXR6elJMaUQxMzFPMmd2?=
 =?utf-8?Q?aRDHDuCUW+fCgOtt2wqxktrv/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 10ae4caf-d42e-4b26-9f8d-08da751f4a0c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 07:10:47.4373
 (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: hswc8oGsKOQ5xFbtOaawcLggZV78ubuutyp0Qr880/k3/4cMSQt4L2eqQXgPyCqySvbTfq1odSZwCw6+h/PeJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7721

On 03.08.2022 04:44, Boyoun Park wrote:
> From: Boyoun Park <boyoun.park@samsung.com>
> Date: Wed, 3 Aug 2022 10:31:55 +0900
> Subject: [PATCH v2 2/2] xen: remove init_constructors out of start_xen
> 
> This patch removed init_constructors from start_xen
> by using __late_initcall.
> It can be applied to other init functions in start_xen
> so that only main init functions are included in there.

Only if the relative order in which they're called doesn't matter. In
fact ...

> To use __late_initcall, the format of a function should
> be changed according to initcall. Thus, the return type
> of init_constructors function is changed in this patch.

... you're changing the point in time when the constructors are called.
This _may_ be fine, but the reason(s) why it is would need supplying in
the description.

> Change-Id: Ife13484d346cff15983aacbfefde21d508f4690a

Please omit such.

> --- a/xen/include/xen/lib.h
> +++ b/xen/include/xen/lib.h
> @@ -211,7 +211,7 @@ extern void add_taint(unsigned int taint);
>  struct cpu_user_regs;
>  void cf_check dump_execstate(struct cpu_user_regs *);
>  
> -void init_constructors(void);
> +int init_constructors(void);

This wants to be removed, with ...

> --- a/xen/lib/ctors.c
> +++ b/xen/lib/ctors.c
> @@ -4,7 +4,7 @@
>  typedef void (*ctor_func_t)(void);
>  extern const ctor_func_t __ctors_start[], __ctors_end[];
>  
> -void __init init_constructors(void)
> +int __init init_constructors(void)

... static added here.

> @@ -12,8 +12,12 @@ void __init init_constructors(void)
>  
>      /* Putting this here seems as good (or bad) as any other place. */
>      BUILD_BUG_ON(sizeof(size_t) != sizeof(ssize_t));
> +
> +    return 0;
>  }
>  
> +__late_initcall(init_constructors);
> +
>  /*
>   * Local variables:
>   * mode: C

We prefer to not leave a blank line between the function referenced by
__initcall et al and the __initcall() itself.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 07:13:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 07:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379591.613157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8ZO-0000KZ-3N; Wed, 03 Aug 2022 07:13:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379591.613157; Wed, 03 Aug 2022 07:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8ZN-0000KS-VY; Wed, 03 Aug 2022 07:13:29 +0000
Received: by outflank-mailman (input) for mailman id 379591;
 Wed, 03 Aug 2022 07:13:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ8ZM-0000KG-CW; Wed, 03 Aug 2022 07:13:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ8ZM-0001QF-8u; Wed, 03 Aug 2022 07:13:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ8ZL-0003eU-VW; Wed, 03 Aug 2022 07:13:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJ8ZL-0004XZ-V3; Wed, 03 Aug 2022 07:13:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jOp/eZ4jhpnsT0vFd6n0LWDWE1ornj4LSRTrS7jgEJE=; b=5hnpVv7waTh7UzjMmMfHEDr9vl
	dm3rv/k+nWzJOh3sElkrOZDW1kBeufV1YnfXOVXtTDs3JElDtke6izF0ZOrMucfKjVKvqYMsrYFeU
	vPp8N8NphziToa2JMpULVZVFAHFDr/tGQGWFX4IKrgEdfne++MUUAdL/3/65F2Tv+PkE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172089-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172089: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-i386-libvirt:libvirt-build:fail:regression
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:regression
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4d96a4fe2ac08cc93f2e7eca56120792363cb950
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 07:13:27 +0000

flight 172089 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172089/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172073
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172073
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172073

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172073
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4d96a4fe2ac08cc93f2e7eca56120792363cb950
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   172073  2022-08-02 01:51:47 Z    1 days
Failing since        172081  2022-08-02 11:38:20 Z    0 days    2 attempts
Testing same since   172089  2022-08-02 21:37:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 468 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 07:30:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 07:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379599.613168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8qC-0002oc-LR; Wed, 03 Aug 2022 07:30:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379599.613168; Wed, 03 Aug 2022 07:30:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8qC-0002oV-Id; Wed, 03 Aug 2022 07:30:52 +0000
Received: by outflank-mailman (input) for mailman id 379599;
 Wed, 03 Aug 2022 07:30:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ8qB-0002oP-Fn
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 07:30:51 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150072.outbound.protection.outlook.com [40.107.15.72])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 325d6c84-12fe-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 09:30:50 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4601.eurprd04.prod.outlook.com (2603:10a6:5:2e::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Wed, 3 Aug
 2022 07:30:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 07:30:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 325d6c84-12fe-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lE1F1JEhn5bmeqhKDVM6IEW0wSsTY/TzjWTZ4pwRpc5cyAIoVRHxbevF7nvHCzSY+obtUbnuvvX/04dpDzg1/WX+fxGbkofAzwSD0VWAJleQPIDy/HG5lKEpGFySD5qJryppuV0m7JeljcY+Q7lr1Eoua/32lrFW+psvq3FP22JKuqDWnSI5ZLfegjF3lOVNbuXkB22tFh8HZEBMYHCSjzgW/yo8HhwKSgZrIPtJ+b2u2HgK/7qSfAJqPEIBc1Hue0hmNXIB5IsrILqWw/ZUO6Uxc2SufYB5fVF/yLUr/+5V/rN2iH4Gfc6HZBYmHf76eTm0v4V/t1PXoNyY+r+Qzg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DxWMetrTgl7p4rMg2Ly8/M/Qw47nta0kpvluMzcZjZ8=;
 b=J03rtb9ll9vIyEY1V2uJrrcXRCF9izLtJKDOM5tR3LNDaJM614BUJ8S4SXX5gZrsnTGP3sTiZHJDDCZFodeEfoeKrOWgka9GTfXY53o3H6oyTSYoD67Uf/jRuNurFlZRQ+wH6FQvWGEBYsk37RfdhwphGnCBk/1XJfmZcgyfrT9R0OkUPPRRRv3K/NEMZOfqVchdJd9a3sYv6vZaiXV6ZkP1V5ez3QfSBznE7rFSHYJ2gh3B9+mmjuKd3WTIcCwMH8sooapXNzONSS6nXqnuuI5frW52Oi90+N+55/C+tVZ/PHuMDeioEINgLXNvLYIcnny4n6RAng0wAvp4FieZQg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DxWMetrTgl7p4rMg2Ly8/M/Qw47nta0kpvluMzcZjZ8=;
 b=LO3AZMy+OXxZajU5VQUjL0E5LONafCmkAM56bGydnEwQ93mF12yqenS/G4ZNttfYJPv+3d3ZzO5JWvvefp4RvYdeEsFECI7ZQX8rm+/kay0aflk3+zGuXXT9Nqq8Hbl1GcGhE1t0lUR+lEVD3qbPiAC5cFmzRMdSaZk390u55GPUln8XuwfgKNtFh9riYltqnniYE1YESfpWJDAEdAZ/mXBsTCdNHWL70X2sW6bQtUvay2Shsf9DwJNs7+VFWmNngdBXvn7V10tvy5HtkREaPs2TfSduTtAK9Qco+TXUcGI1AaGVypWggMV1d/1DMN3HOVoKVNkMSx6uBiUXEgSmMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2295db64-369b-b679-e74c-9aaeaa8ed801@suse.com>
Date: Wed, 3 Aug 2022 09:30:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 2/2] xen/sched: setup dom0 vCPUs affinity only once
Content-Language: en-US
To: Dario Faggioli <dfaggioli@suse.com>
Cc: Olaf Hering <ohering@suse.de>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
 <165944829637.3531.11115034950872470305.stgit@tumbleweed.Wayrath>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <165944829637.3531.11115034950872470305.stgit@tumbleweed.Wayrath>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5bcca017-5527-42c0-eeb0-08da752214db
X-MS-TrafficTypeDiagnostic: DB7PR04MB4601:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1ndQWZAL4M1F6K2CvG5jn1VpsHXKloPGCFjxfXgXzNstLyLMVKwPmRX0bM3nYYqbMMtnUYlDEZ1/0/IwHmjb+AGZiz1eaDohatsMTK71C70gAfYyQTyJupwSKuqJPr4edw0BCVGjSoulvkojv9aSQM2Mfk3kjzpQJteeEGC8l/JabW/xaAy9rggRIC0EvS3KiyFI7Wt89ka/3SBIYjYk1qre0HsH1/pYBG/MAfAW57r/IQB4S8XEHj4+KuuC9fe4m8snQ87VJNYexBBzpYBNcY2SGKvsIqDTWxsDLIZSKRqnXyp/5exZ0RFz4T6HS213958sQhbbvMtsd3VAp5e3nZcHOHPresNNF+Lgmq0tgUFFBpp394TG/EZUn0/FZaEK7bp6/jXw5CgG/NfjYUdBwsbburhmx/t6JpFerUNJW56Oypvus5kNE55Yg2gbF6S6QnSYo1OtNj7S4XtojSJ9HEc600amtijo4jRVCRy14B0Cb+Synv2tYEJPlAYprIXmD1auchDqOveFDQZGWtF1p2zWDiwMxKj4swjajiOmC14ZzQXfDcEuWwu0kj7tCvv65s2VSmVaQ2c1ILHOLl7J8r+RTM+S4qFYAPmmdYncwh+EB31vytREM3AVJNsD1i/mErs+RHbA5Di/YVfMKD2lp451fWT3YkwBZO9OIsG+Cl0eYkl9Zgl36BeOtdo1e9DX6bs7yljOfIMYR/VmbTp62rlwl7YEVL67Nj5Ls8LTbD9AALtoGaiEw7MWuG3+0DrcEpI+MGn4OKI8iSVoAYs3j3+UouxyV40s1gLQ3YKS+Idu1l5EuaiOLCkotX6SmttlBa8R0jvZ4JmhGWvxMwrt4g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(366004)(39860400002)(376002)(396003)(86362001)(83380400001)(31686004)(31696002)(53546011)(26005)(6506007)(2906002)(41300700001)(186003)(6512007)(38100700002)(6636002)(316002)(37006003)(6486002)(54906003)(6862004)(4326008)(2616005)(8676002)(36756003)(66476007)(8936002)(66556008)(478600001)(5660300002)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlRRZ1BnS0pWaUJzN0xHcUd3QlJURGx5TEE2ZVBxTnhrZVV0dE91dUxObGFm?=
 =?utf-8?B?SGgxQXpndW9SRWZRM0RyWGtqSS9xR3p5OXd6bFpWODhBOHU1cWdRK2VnVkhi?=
 =?utf-8?B?TzlhN3FtWlpOVWROb2NBRVNwUVRkZmtzbEw0TnB6ZjNIZS9WQUxxR1htSjdl?=
 =?utf-8?B?aTFRS3JsTmswSkQ5czE4RDkwVk1YZEJtUFBCN2JrRkxWT0RTYUwvamx1dWVj?=
 =?utf-8?B?UHNZTEo3a3F4MmxEMUtJaHMyMDBkZ0JSN0d2OHN2STU2NDU4cXNVdFFRVDVv?=
 =?utf-8?B?UHkzcWprMjFpcVFERWZwM2ZiNHptditQdURzUzc2elpDeUwyWWZ3NGhTZGlm?=
 =?utf-8?B?bThFZFdsRTdXZ2d5S2FjN0gxbW9JUTZuVWlZQllCNUd5a1VqeFVWVlJhN00w?=
 =?utf-8?B?a1k2SWtsWWZxNTdoQUJ6SnZjNW13RVZ6WUF0ZHRDUzJvK1pzMFR1bzlmNlRI?=
 =?utf-8?B?eW9IN1h6SlVFdXdwaGNyOHU3SGpGME1sazZaeGNoRjV5L3hmTEtnUDdrclF6?=
 =?utf-8?B?V2lJaC9CSkNrNzkreno2eFc4TWVmazNQbkR2Vm9hZkpwNUNpZDNOajk1d3Vv?=
 =?utf-8?B?TUY1TkdMR2d2NExxeU5Jdy9YTFNzVGQ4eVBzTmZxcTVWM1RnQ09LNUVPWWpH?=
 =?utf-8?B?eVpUNCtIOWU4YjVTdis2a1pZN2w2R3pldUdEMEoxaXV3eWdCR0xPckhWMzFO?=
 =?utf-8?B?eFR5YzZDNVRCaHVzdjhYYW1kV2NYVWs4ajFhbG5rOUJwb0F6S1FTWmdxZ3hZ?=
 =?utf-8?B?NEpHdFRvc1RaUnpUZHNNMWhmUEhkMFprb0x4RW83SjBhcXlraHhaakR4bHpT?=
 =?utf-8?B?dER4ei9CVEVYNDROdVlPMjFyaTM4U0lkWjQ2dVJTS09CYnI2ZlFlVXFoZGVH?=
 =?utf-8?B?VlMxWHF3Zm1NQU42UnhUcllMSlJycXVNSUdOSDdnbmhxK0Q4UjNoV2h1aFNk?=
 =?utf-8?B?Z3ZRdE5BUFFib012enIwZGZYT3VTZ2RuLzhnUkQyNEhDZWVmd1A2S1RLV3F6?=
 =?utf-8?B?eFBaMXk4SXZKWGIrYlVoZzBtZUNXOGxiOVMyM2paV01wWjZpZ2lTWGNuYXFp?=
 =?utf-8?B?cGxSU3pxWFdrcVM4aWx2QUsrQkFHVXJmcmk3ODFsUldOTjdTZ2l3NUFacW5G?=
 =?utf-8?B?Tk91dXY5SWJBRmQwUnc0QUdBeDY4Y09XbzZhN1FWcUVkQ1lsUnAzUnhBeWFJ?=
 =?utf-8?B?M1FwMTJid1lWaW5KVVVjRldWMjdkRjdDdHRxT1JNSDg0VEwxWjREbkxDeEI5?=
 =?utf-8?B?N2FKOXVTMWlSUVNzTUQrcHNNbndhM01HdWVGczVNZE1GQUJBOVV3cGF5TDhr?=
 =?utf-8?B?dkFBR3JSakNSdkhXQlJTMkFra0Jkb3pyeUxCcE51MmJEV3pQSFY5Tmg1c0JP?=
 =?utf-8?B?elcweVBiZXBsYVczNzczcWRLSFhFanhMS2VmaGlpQ1VIYk5LeG8vVGJPbGpS?=
 =?utf-8?B?cmFrTnJUSGJXbnlGYjRmRHVEUk1oa3gzY2xOZnRSSnRpdWhLeXRuN0QvVmhB?=
 =?utf-8?B?MndzeE1ZQlNONUlIT0V4Zm9EaG1Udy83Nk5NMW1pYmtLd3JKL1RQbFp3SkRK?=
 =?utf-8?B?aEVWYVRZL3I3WTc5RGFBajZrU2JDMDAzd2UwZ25IUWxFQ29CajhyeXZMOXZO?=
 =?utf-8?B?R29jTlRHeVlLdm1adHF6LzhEZXFvNjhOL2ZGQlg4ZUVIKy93U3d3QjJHcloy?=
 =?utf-8?B?VXNoNG5QT1JXdlBIaVVGVm1uWFJFb29tVnErYXZIZ2E1blA2QnlZL1BOU1h2?=
 =?utf-8?B?N2Z0RGNGZWR3TGxSNWNqelVOV2FZRjdGV2FTMU4vK0o5SGxSN2swZGNtTm00?=
 =?utf-8?B?VGZqSDFXcFVIUmMxYjdpd0tMcUpBU2JHbVRGQlBNQnFkS3l2Umkzd3ZDSlJo?=
 =?utf-8?B?b1NjOWZpMnZ5L3U0dFNoYTA1emRkZ0F0a2prQkxndkFkZDAyM3daK0xnZHB1?=
 =?utf-8?B?NzczcE1ac0ovVFNlYnFTWkdoOUhjUzFlQlpyOGhPUzFGOEdqSWZvMks0bTd6?=
 =?utf-8?B?bG0vMXdpcEJ2WW1KRzJybHpBbkZyRnM5MUI3dkdqZDM4RkVOejVCa09uOVBT?=
 =?utf-8?B?R3hUY0FyWlA5eklwRm8xODhZUmRwdSt6YUFTVGR3OWU2QkZTa3hsSVNUSGZN?=
 =?utf-8?Q?40S/C/vf/IUs+jvUTlHvJ+nr/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bcca017-5527-42c0-eeb0-08da752214db
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 07:30:46.7048
 (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: A56rg0sD0vErwIPPU2BF2mXUpJdrAkejWVLdpnoNXa3v7kgoZSstBsPmHWtTy2wUVCqISVCV7pSJ1P3eXhVETQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4601

On 02.08.2022 15:51, Dario Faggioli wrote:
> Right now, affinity for dom0 vCPUs is setup in two steps. This is a
> problem as, at least in Credit2, unit_insert() sees and uses the
> "intermediate" affinity, and place the vCPUs on CPUs where they cannot
> be run. And this in turn results in boot hangs, if the "dom0_nodes"
> parameter is used.
> 
> Fix this by setting up the affinity properly once and for all, in
> sched_init_vcpu() called by create_vcpu().
> 
> Note that, unless a soft-affinity is explicitly specified for dom0 (by
> using the relaxed mode of "dom0_nodes") we set it to the default, which
> is all CPUs, instead of computing it basing on hard affinity (if any).
> This is because hard and soft affinity should be considered as
> independent user controlled properties. In fact, if we dor derive dom0's
> soft-affinity from its boot-time hard-affinity, such computed value will
> continue to be used even if later the user changes the hard-affinity.
> And this could result in the vCPUs behaving differently than what the
> user wanted and expects.
> 
> Fixes: dafd936ddd ("Make credit2 the default scheduler")

Nit: Please specify the first 12 digits of the hash here, as per
docs/process/sending-patches.pandoc.

> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -571,12 +571,46 @@ int sched_init_vcpu(struct vcpu *v)
>          return 1;
>      }
>  
> -    /*
> -     * Initialize affinity settings. The idler, and potentially
> -     * domain-0 VCPUs, are pinned onto their respective physical CPUs.
> -     */
> -    if ( is_idle_domain(d) || (is_control_domain(d) && opt_dom0_vcpus_pin) )
> +    if ( is_idle_domain(d) )
> +    {
> +        /* Idle vCPUs are always pinned onto their respective pCPUs */
> +        sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
> +    }
> +    else if ( pv_shim && v->vcpu_id == 0 )
> +    {
> +        /*
> +         * PV-shim: vcpus are pinned 1:1. Initially only 1 cpu is online,
> +         * others will be dealt with when onlining them. This avoids pinning
> +         * a vcpu to a not yet online cpu here.
> +         */
> +        sched_set_affinity(unit, cpumask_of(0), cpumask_of(0));
> +    }
> +    else if ( is_control_domain(d) && opt_dom0_vcpus_pin )

Like with patch one: d->domain_id == 0?

> +    {
> +        /*
> +         * If dom0_vcpus_pin is specified, dom0 vCPUs are pinned 1:1 to
> +         * their respective pCPUs too.
> +         */
>          sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
> +    }
> +#ifdef CONFIG_X86
> +    else if ( is_control_domain(d) )

Same here then. With this and with the hard tabs taken care of
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 07:35:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 07:35:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379604.613178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8uk-0003Q8-6r; Wed, 03 Aug 2022 07:35:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379604.613178; Wed, 03 Aug 2022 07:35:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ8uk-0003Q1-4I; Wed, 03 Aug 2022 07:35:34 +0000
Received: by outflank-mailman (input) for mailman id 379604;
 Wed, 03 Aug 2022 07:35:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4Xu=YH=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oJ8ui-0003Pv-GQ
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 07:35:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id da082e02-12fe-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 09:35:31 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EC03713D5;
 Wed,  3 Aug 2022 00:35:30 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3DB893F73B;
 Wed,  3 Aug 2022 00:35:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da082e02-12fe-11ed-924f-1f966e50362f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] tools: make misra convert tool executable
Date: Wed,  3 Aug 2022 08:35:20 +0100
Message-Id: <65d730eb0543c507e76b33285bb9d3430662732b.1659444520.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Fix misra document conversion script to be executable.

Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/tools/convert_misra_doc.py | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 xen/tools/convert_misra_doc.py

diff --git a/xen/tools/convert_misra_doc.py b/xen/tools/convert_misra_doc.py
old mode 100644
new mode 100755
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 07:50:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 07:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379610.613190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ998-0005m2-FW; Wed, 03 Aug 2022 07:50:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379610.613190; Wed, 03 Aug 2022 07:50:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ998-0005lv-CY; Wed, 03 Aug 2022 07:50:26 +0000
Received: by outflank-mailman (input) for mailman id 379610;
 Wed, 03 Aug 2022 07:50:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ997-0005lp-Gg
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 07:50:25 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140058.outbound.protection.outlook.com [40.107.14.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee855b4a-1300-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 09:50:24 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB6076.eurprd04.prod.outlook.com (2603:10a6:10:d1::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Wed, 3 Aug
 2022 07:50:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 07:50:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee855b4a-1300-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oiytix/dJyyeMv0CLWwz3zT13+1FmTy0Zp+/ig+YA2V1crEmX5GEw2/7SiHclKPws2dGWnwwdA2AWgIVlplQTl9CAHPjJYR0/vf0ZLlL6eaCEBxCFavCrvlO/47be34gChf1y3ZuwtxzFlK51Bf8tbK2Txm7WUcbvascO3+rLebfZevjI73mBFdZfJR7zI82Mu91JKqe+lmL6ABZWpuigGGQ252tSdbIo/3//WHyv2WsEKpAxAJnJqN0M/zBnaIWASA6VcD2mSpq+a7xYxjYMvuDwzXazyqJqtEHjFlsVwqTvFWPsK9M7LF9olv13P0qvpOsLSGXzfpXnjwkQFni8w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IA2FWrZc0ZBmU9i3X9RwKpZ3EAF95UEhHUzsTdGHfG4=;
 b=E1fUSXEsPucuC33foCkAzGM14q3aJqOXhWtkStxdAO817ThOQFz/V04vzxMv4s8B4mwhFsTyag3+ElmbKMIhI+dGQBs6OS6KARuv5EEP8cm6r48JZFvB6D8CWBaXsb5nBRKqTXB8N/A8/O2qch86OkE0KelQCdrXRjlwqCET6ltSDIV61/SKrXH0zA+HZTPpNVgnJj2GTFAYnaEkSwRMgp8pCB/H/inp4Y4bSsBVAew3H6ZyN+EVzXgAv65S7nvLpkJ6kxie8RKK35b8zQ58cmj1N9LDMQkKB1H4y8kwolkO8AU3eNelQhYAscPdG+Pb/II1osibbPoFnSwtl3pLUg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IA2FWrZc0ZBmU9i3X9RwKpZ3EAF95UEhHUzsTdGHfG4=;
 b=wIVb2Mv3fYmelvCDFIVbMjPjF7f/AmHRGxWMdcsHsCoTEO+YX/2SY/1hqZuD/BjwsJNJWeiW+0Gza0u5CRfw+5h9Ty5r1803M/Y9B8qjnHjJRmH/1WNpOQvG9QRTcaiOCJX8n/cZWg4p6gvNVnYllWoakyJWrYfuPKWDZRKJj85ptzsMj/zzERJ75J+j/ptnnKxyDhBLgJ7whkV51Nc588VdqA3WiIkub5wMO4RHrgmOjBPZHhIMNXWiwXgnRAtmwokYUuCtck/2rBbZNZdTzYZeGKbUfiYjxjIM6fVD75LM4HymqlLQa05nIDXNwmStItd7Nomf5YInKJaOOPfcUQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <266615bb-1465-f38c-5eee-ad2f4e7256fa@suse.com>
Date: Wed, 3 Aug 2022 09:50:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 1/3] xen/sched: introduce cpupool_update_node_affinity()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220802132747.22507-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0503.eurprd06.prod.outlook.com
 (2603:10a6:20b:49b::28) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cc30b643-3aff-449c-a702-08da7524d060
X-MS-TrafficTypeDiagnostic: DBBPR04MB6076:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ho1ftojZvk30J9Ew/3jC5Z9fShAVErbceOETEpYx19n6vwxsFzgpFy30PMVL+S2mm5iwlnLYocJaKm6JVo4If60ppIpE+NECKQ8IqzoMNY0NgRuV3sLbQO+O4doHR3ZHF2KFS3t+IElskJm1V+gFZcvNOvPEJR7jPIeOFK1LdY6rqDA+FeG2XVSAPwGms6TB2D1EXWHk3xkS6dzECbDGMtjXt2vgKOeeV3RVmEFenq1cHmHabJIxPaBuBa+W+uvPahmGdTpnWBJcroaXzPDSXSseQvrVj+X/zK+zRydaudEjTGGI3Yvlt7JI7bPae3tEwmcK/kYVU7vs5rOorEAdG7veEJg51HlZW37lWwdmA/KgM411B288r9K6UFkCjwfopejMI3yhzys6FIkpxN2TVmBlsOPAxC3nHlDa7hrBlTRwdw+rzx+dS639VSVWaoIjo8fBi9Cu4PMiEBTpkDz4uvNkw0uUqho0RUQEwWRFzjlLYJZKtD7DIXLkMif8gas3pSGRXz+xevLKJbk7FEpXEkntdpD06+ZbuoGzRuEhYxxMRsSjUuV7kqyYkOpBZTUoVSVWsffMJ0nguxDqfOnqVk6us2W+etrDOgMgAxJ60+bYWn0HLPhZZdtlcEA+xpKyjpTK7B4MpVUtWHQt9KChmClrB8yNVAnDA4YCotWGYXVWNC2qipqGJ+KtcDnin30UNHo8GLfVJL9zXQN8EIaY5SbkNpPtIbN4/t15cmD5Zn9sjtfwsAU2FYaifNiNbdXMvkkuyxPUFntuJRNPC0O6RpQMqRYYK4Hgnt2KXWhvV7/55jMeSeKaHnEZe/wS00pr0HYylR+neNFvxqkRt69cZw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(346002)(39860400002)(136003)(376002)(41300700001)(31686004)(83380400001)(2906002)(2616005)(86362001)(37006003)(53546011)(54906003)(6636002)(6506007)(26005)(36756003)(6512007)(38100700002)(5660300002)(6486002)(186003)(8936002)(66556008)(66476007)(66946007)(6862004)(478600001)(8676002)(4326008)(316002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3BrV2N4YmtEOTdISVNQZHFDSEdLMk5yNzh2K3BpYjYwVU1zQXpUa1pPRHBy?=
 =?utf-8?B?cU1NQ3Z0eFhFamxjU3E1NnYwY1pza1lkcy8wWTVDekxoRHhHR3ByTlBRME5j?=
 =?utf-8?B?SitKc0Y3c0dBRFVFQjhRd0RrTmdrb3YzOHJ4K1JDeW5iQ0hTMWRRcDU2bThv?=
 =?utf-8?B?YmkyMFRrV2MrVXArRDNQd2x3SEJMRlVGTmZMVkFVcWZtbW5vZ3NGY2Y3ZUQ1?=
 =?utf-8?B?R0M2NDY2UWFNZFpHeFczRG84MXJIRFJpRmIzMDZyWTIxeVY1TGYxQUp1NGx2?=
 =?utf-8?B?MjVISno4bWRUVWQvelJKSXdoNThkZExhR0QxRFFOOHRmR05nVHMxYkY5cXlB?=
 =?utf-8?B?SzZWNUJNS2lMbkxMdFk0dm1BSXQ1Vzd6L3pTdnJmV3U4T3VNS2Jsc3JmMTVI?=
 =?utf-8?B?UGpSc24xL0V5dVJHM05UMnE3RkhiQlhXU0xvSVUyaW43T2plVFBYT1BjSDFI?=
 =?utf-8?B?OHVxaHkwTFZHUlpodlU1WFFLZkg2c01QMGhVYkZEZDVpOWRSU2VWWjVnNE55?=
 =?utf-8?B?VVA2L25NaG9ydmpacVRzNFVjWDdkclVTSDd3S3lGM25Ud2ZjM3dqQmpTUVBM?=
 =?utf-8?B?WkdROUtwbzVRMlFMUXE3RFF4QkM4UnpqUkkrLzRpeUN3YjhNMDRCWXcrMGt4?=
 =?utf-8?B?QlZRTFkwNnZLMWNFaXc2RS9YYnh1cWJxdXFqaWJuWHMzSWpBb3lUU2FHbGFZ?=
 =?utf-8?B?Zjg1VVVxVDBFcXZuTzhiUVBScU1kSlJHUUpoaUFJcE9QbVl4dzVNaGRJRkRQ?=
 =?utf-8?B?YkdVWitic1BDN0VFTzNpNEhlNS9yVVhJa3BBR2J6MENyY1V5azZpQkIyUWFJ?=
 =?utf-8?B?cXJZdkhFS3BCY1J2TmJjMjNmcFhQbTl2OG5NSEF0V3k0Y1plVVFrQkdxVFIz?=
 =?utf-8?B?LzdqTVVyVm4rWVRwNnp6KzFzeExDdHgrdTNqZ2pKWkRPYXpEZGkwMndPMHMz?=
 =?utf-8?B?WFROeUZQS3Y3VXlVYndUNmdrUG1nQ1dYdml6UUF4bnNnTGIrUGhCeGxlRDNn?=
 =?utf-8?B?cjJNcXBjYmx2dVNMZXZzcks0aFBTRjdsdnlHT255b3d3bXh2ZkxpS2cwWGhS?=
 =?utf-8?B?bWY5ZTV3SHQydXkrcitSTnVnK2tRUU83clR6bXo1eWx2dVRlNWlpbStkQStm?=
 =?utf-8?B?WjRoT042cUg3R1hyTUdvdW9zWFl5azRqZ0h5aFE5b21iOHI3VmJ2UFppWHFa?=
 =?utf-8?B?ZDFOOTYyQW1CNWh4U0lHOFo0Qit0VVB4ZEJhR1g2THdpazZxK1NJWWZlclYx?=
 =?utf-8?B?d0thZjdEV2M4Y1drYlhxbnRUU2dCTDVzTk15NXZaWFVQaEo4ekNIZjltQVA2?=
 =?utf-8?B?ZGtCSnRZNzlQb0dZaTFzK0Q3andLTVhIQUNDd09yVHJmWW8rZDFyQ2tmRDEx?=
 =?utf-8?B?RHRmR2cyajE0M1N5SnBiV0dMd2FzVmVvQkkvaXRKOVVkaU0weko3QytDa2k4?=
 =?utf-8?B?Z21oNFhVTmszM3cvUFUwazZ0OXhLTngrSjZTNmFrRm9ybFdOLzJNWmowelBM?=
 =?utf-8?B?aGFoUTIwVHRYM1gzV1NFWDkxcWZVQWdxYkVEc3dHTEZLeDJaZHNQaHdCR2c2?=
 =?utf-8?B?ajllM0ROVVQvcnQxY0FWVW9KK3hidWdzNzhkR2Y3MFlibDkwMTlLTWl1QVJS?=
 =?utf-8?B?a0RJYW10OG0xeUJsVldienBHeUlBaTREbzlOeW1adGt5K05zUDdpS3dSWjNv?=
 =?utf-8?B?WjAvN1ZnYVI5Y0ZuWnczclMrdVNNdmVZNWxrazlmUkJ3aWg1QitZRmNRaU9z?=
 =?utf-8?B?Q1VTWUlvQUVLT0tuMUxGdEJjRTZjamtHSjhZbksycThrY1RwbkRqbGNRYmEw?=
 =?utf-8?B?bWNvdTBhU2wvdW0xVHlpdWxDNWJTWDJvWHFnS3RCa0MzZVkxRVEya1U2N3Ry?=
 =?utf-8?B?MkNFY0l6VTlvMkU3L3dPKy9Nang5YXZJZmh0WnI1V0lERXZGckdidTF2S1hP?=
 =?utf-8?B?NmJrWnB4UnpvOXhnNytFN2trR3dmaVJCSE5BSm5RcFI4ekF4OHFBT0VkTVlY?=
 =?utf-8?B?QkRZS01LZVI5eXg1U0JaVkg0WUViWnRpcm85bC9ndUhueGVlKzVlSmJZeUhM?=
 =?utf-8?B?TTRYbng1ODZxaW9Tb09yZlZXREJCL0hudGdjc1lsTXQvMHhoUmlodlVHMDBU?=
 =?utf-8?Q?Jgq3BKcvl4d+YnW+IG50ISsmd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc30b643-3aff-449c-a702-08da7524d060
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 07:50:20.2864
 (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: V0nyTEuD7vTI4lPD/jxQhnTRjg5lc+0L9ctSuW21LJIFzzEXU+EbOCN0pPQ8G3gMVtMsKIpUiSXj06AkWRmLPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB6076

On 02.08.2022 15:27, Juergen Gross wrote:
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1790,28 +1790,14 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
>      return ret;
>  }
>  
> -void domain_update_node_affinity(struct domain *d)
> +void domain_update_node_affinity_noalloc(struct domain *d,
> +                                         const cpumask_t *online,
> +                                         struct affinity_masks *affinity)
>  {
> -    cpumask_var_t dom_cpumask, dom_cpumask_soft;
>      cpumask_t *dom_affinity;
> -    const cpumask_t *online;
>      struct sched_unit *unit;
>      unsigned int cpu;
>  
> -    /* Do we have vcpus already? If not, no need to update node-affinity. */
> -    if ( !d->vcpu || !d->vcpu[0] )
> -        return;
> -
> -    if ( !zalloc_cpumask_var(&dom_cpumask) )
> -        return;
> -    if ( !zalloc_cpumask_var(&dom_cpumask_soft) )
> -    {
> -        free_cpumask_var(dom_cpumask);
> -        return;
> -    }

Instead of splitting the function, did you consider using
cond_zalloc_cpumask_var() here, thus allowing (but not requiring)
callers to pre-allocate the masks? Would imo be quite a bit less
code churn (I think).

> --- a/xen/common/sched/cpupool.c
> +++ b/xen/common/sched/cpupool.c
> @@ -410,6 +410,48 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
>      return ret;
>  }
>  
> +/* Update affinities of all domains in a cpupool. */
> +static int cpupool_alloc_affin_masks(struct affinity_masks *masks)
> +{
> +    if ( !alloc_cpumask_var(&masks->hard) )
> +        return -ENOMEM;
> +    if ( alloc_cpumask_var(&masks->soft) )
> +        return 0;
> +
> +    free_cpumask_var(masks->hard);
> +    return -ENOMEM;
> +}

Wouldn't this be a nice general helper function, also usable from
outside of this CU?

As a nit - right now the only caller treats the return value as boolean,
so perhaps the function better would return bool?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 07:52:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 07:52:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379615.613200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9B7-0006MM-R6; Wed, 03 Aug 2022 07:52:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379615.613200; Wed, 03 Aug 2022 07:52:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9B7-0006MF-OI; Wed, 03 Aug 2022 07:52:29 +0000
Received: by outflank-mailman (input) for mailman id 379615;
 Wed, 03 Aug 2022 07:52:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJ9B6-0006M9-QV
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 07:52:28 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38162ff0-1301-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 09:52:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 46D3D1FA1D;
 Wed,  3 Aug 2022 07:52:27 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1EC4713AD8;
 Wed,  3 Aug 2022 07:52:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id a/roBTsp6mKPWAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 07:52:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38162ff0-1301-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659513147; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=sr704n3E+uzEfLfboBuOTEXvE58GeQo8M8jf8i1d0wo=;
	b=AebRSCnYhod5FFONkbzTNUZTBG3L/F4GVPo3Z4G21ul82l+lNmkK7r8ZoBiyd1054aEHGC
	BgQxd2/AuRViZxMvU+OYN+hX+91qd+i2D1MSV6UaZ7yMig4XgS5EN4LqpBvVPmFtwD1oz/
	OamEmK+LOcnTU8KuSx0xdDYGIqOj0Cs=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.0-rc1
Date: Wed,  3 Aug 2022 09:52:26 +0200
Message-Id: <20220803075226.2400-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc1-tag

xen: branch for v6.0-rc1

It contains:

- a series fine tuning virtio support for Xen guests, including removal
  the now again unused "platform_has()" feature.

- a fix for host admin triggered reboot of Xen guests

- a simple spelling fix

Thanks.

Juergen

 MAINTAINERS                            |  8 --------
 arch/arm/xen/enlighten.c               |  4 +++-
 arch/s390/mm/init.c                    |  4 ++--
 arch/x86/mm/mem_encrypt_amd.c          |  4 ++--
 arch/x86/xen/enlighten_hvm.c           |  4 +++-
 arch/x86/xen/enlighten_pv.c            |  5 ++++-
 drivers/virtio/Kconfig                 |  4 ++++
 drivers/virtio/Makefile                |  1 +
 drivers/virtio/virtio.c                |  4 ++--
 drivers/virtio/virtio_anchor.c         | 18 ++++++++++++++++++
 drivers/xen/Kconfig                    |  9 +++++++++
 drivers/xen/grant-dma-ops.c            | 10 ++++++++++
 drivers/xen/manage.c                   |  2 +-
 drivers/xen/xen-front-pgdir-shbuf.c    |  4 ++--
 include/asm-generic/Kbuild             |  1 -
 include/asm-generic/platform-feature.h |  8 --------
 include/linux/platform-feature.h       | 19 -------------------
 include/linux/virtio_anchor.h          | 19 +++++++++++++++++++
 include/xen/xen-ops.h                  |  9 +++++++++
 include/xen/xen.h                      |  8 --------
 kernel/Makefile                        |  2 +-
 kernel/platform-feature.c              | 27 ---------------------------
 22 files changed, 90 insertions(+), 84 deletions(-)

Juergen Gross (4):
      virtio: replace restricted mem access flag with callback
      kernel: remove platform_has() infrastructure
      xen: don't require virtio with grants for non-PV guests

Ross Lagerwall (1):
      xen/manage: Use orderly_reboot() to reboot

Zhang Jiaming (1):
      xen: Fix spelling mistake


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 07:56:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 07:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379622.613215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9EX-00074T-FQ; Wed, 03 Aug 2022 07:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379622.613215; Wed, 03 Aug 2022 07:56:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9EX-00074M-BT; Wed, 03 Aug 2022 07:56:01 +0000
Received: by outflank-mailman (input) for mailman id 379622;
 Wed, 03 Aug 2022 07:56:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ9EW-00074G-Fd
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 07:56:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60077.outbound.protection.outlook.com [40.107.6.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b639a620-1301-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 09:55:59 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4816.eurprd04.prod.outlook.com (2603:10a6:803:5b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 07:55:57 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 07:55:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b639a620-1301-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NTJnEuQHAIMJosoVgCJ3FY9by9K7yxwocnGnR9+nqHrWR7WW/OfN12jw8F9oxY0szFC5yUSrExTadd9ojh+GjwEXaocTcdFX3Z+geC1MhzGSmSdK6kKSvb2rz57p8DaQ7pNt8QAG1bD6gGyybEWUliH4/XyFaXIwo+xxqTMEf5km1Duh8f+Nhglkmf6RA5wDgGAxgZ0Xu+5ifR6o4NocmYZYEAJfg4hu1JtAUOT6yPmDlxo+QYLalpOjN6ktNHbQC8TV1iYkCS6SdkGwNWv6moVQr4HAKY5/ZqHzpCh50H49ITXFkzkpoDNp2xgvvigMiWI36s7HCSph6jGjwJVGqA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OsmHrJogagIIuj9oAlRbDA5UezBuVmy0Fb1YzyhFUPQ=;
 b=J4BmktB3b39zazIjvIC0TLnvji+hjFbgCAZoMZ7GveDkVfPfmJiy2rWP0HU6DDu4g9f+8WVrjkkwhTerwVqXDwaauMi67V1orC6+msQsQUCcGTJLsXCNGMHBfCZzLjO8QmV1GLOj/RSc2FdruWAW9WN6NxMB0sWsXUhYU08yAZiK0TQ/kKnZLdaNuw+k9E96U1WKQ6T2LroNs2357TibHv343oF7pOrb3w7omjhqCFgLIbg5chJ6FJC4JPOCSyqulX2gJqrMecs8lAWiA2q6bsJ3BdAR8qgxlrMY9QG/lEha1Kq/NN0Ce6LAoQM1luB6TKZnqcegczKEDE8XTTnmEg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OsmHrJogagIIuj9oAlRbDA5UezBuVmy0Fb1YzyhFUPQ=;
 b=isNGL3qJZ005NAgBPZinzkuRRvIt88lODZLEj7ZTDQT7Odrvc56hbim+MtxhwJnVZGbx6H0Zu2ORFWXkewgTF0Kfcj7lBY+pwODQ4iHvaBNoqu9EH8BgKnN6WcrVY0U28kMu9tUFI6XiIB4WuSZoB25/oZvUaW3QYQTPljK5Lsm9TpJSJOlisbQJqmqnv7dyYbBNxRUtq1fLlc6mtbsxbcYHYMTK4k3dXOalitSPjiCssf1qnF8EAuo4OpEGm9BuzbM4+eyMSGUnD8szkEyFKHmsBv0maxQR+Q/gwtmiNzJpbD6cuS666+DIhiHphBMdFWN3M5Zy2bY3hYoDI0Ksog==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5d680c69-40e3-c980-c917-f8c983318d17@suse.com>
Date: Wed, 3 Aug 2022 09:55:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] tools: make misra convert tool executable
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <65d730eb0543c507e76b33285bb9d3430662732b.1659444520.git.bertrand.marquis@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <65d730eb0543c507e76b33285bb9d3430662732b.1659444520.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: CWLP265CA0459.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:400:1d4::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4d6ff1b5-2df3-44a4-c1d4-08da75259993
X-MS-TrafficTypeDiagnostic: VI1PR04MB4816:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fNoSI+GKA7d3BFZmeo4esMGgkSFKA8R5xGY/K2P7GTGMQFguo8TOjwuSSp6YKs1iLB9SX/0dFdZaHQSa3gQtqqsLugQSUOuZH5dDaSbH3CXUsHMT4yh1FIL6J0i96cXF8AVVHUIu547hYIUFJQgNYeyyfSNt/4aWKdO+rPHfayfjc08sJfGoKNRq1wUNziHkugWFwbHfVByO8X/oZ3NZ8g3HCMXDYEn1vDKfYCobasX/wNMq8COzhjWn3qFjbmEWxRzj4g6lN/BcTKEP2G26J53el/+cLzolO9pJK2/cFienZV1Bvf4emCm1m7ufGuO4TC6J53sru44Dgyi/cD2OLwfPUUDFDBp+/nZM26vWzW4iR75WTTp3HqWfLKAgKTjqu2oG7P3Myky8b3GEXkKNSzGb63kLv0Di4LtdjG/os1h4Mxvc4nsI0qdd8c5NSfwN5RXmzQUvUMnFGB1ooQCFvFunE5e+VAGpl4TDungDPxkwT4wvswyzuilsJG9thN1eJPCQf0H4PutLMp+kt1lQd0CVNPq2tx+1pDoQ36eVjKpVIauFyxYYU8uxGkrfp8cqXlBxKTkvnkl5BqOMAS84es2TMC4gr4kVeP1SQw8E2wbYWzJPQgWP9B+o42mv9+URGx+dC1VldvBm2Sso8qQPWCSLQQy5qoij9fgSHdeTxLceyANQ+4UWLH5cND7NzZBA75L1m2b1yNGPK8ODd+Qz/igf7Q5rT+kuN/Jo8bCzu5NRxbRwFLNUW8JAQyeFKqYQSV7TxVIbB/Za9d8/4QjPUleIuigmxYJbAsxxA7FeyeAmZOyCVKTqmWzvrQ/pDA5SMhbD0F/WEBgzY+BCQg88Dg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(346002)(366004)(376002)(136003)(6512007)(4744005)(26005)(6506007)(31696002)(41300700001)(8936002)(86362001)(5660300002)(53546011)(38100700002)(316002)(54906003)(6916009)(66476007)(66556008)(66946007)(8676002)(478600001)(4326008)(6486002)(31686004)(36756003)(186003)(2616005)(2906002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1JrdkdzRVNreENBamJ4R2dqOVg5NXBNL25VbysySTE0dVNCemlpazE2TUE0?=
 =?utf-8?B?bnNtWjFZN1ZpcGp3SHBLODE5NFIwOVkyc3JncFJPL2E4ZW9aeit2TktHZmF2?=
 =?utf-8?B?ai9CcXk1bWQ3S0t1KzZTTlZSeGpLWTFsaHk4ZjNTT1Y3Z3VJeXpBZzZkblFN?=
 =?utf-8?B?RUttWlJNdjRGbldNNjhIWXB6azY3UURGeVZDbVhzdFZOa2lnMStpWnVoN0NO?=
 =?utf-8?B?Q2tNNXc5dG5oQTNOZjM1RFdBUnhueW9XWkU1NXZtZytuZ3VCbDkxUjZqNEV3?=
 =?utf-8?B?a2huN2lXZVlCZEo2cjgydTJpdUJybjhPZzA2UU1DaTBObUtnUVFHVytvNTFE?=
 =?utf-8?B?RklPRXFpNTY0ZE9ZYndUVVpReHVTdm5Pd0p1eUFHdUk5b3d4bHlJUG1lQlZJ?=
 =?utf-8?B?ODMyemhkT2VtVC9tWC90cy84aERGODlGMkZxSDd1MzltRW4vNG0zZi9zbEdU?=
 =?utf-8?B?UkxWSkErU1F6SWJPWHM3aVRqbWhUcVVoMHV3cEFPa083QzhoZVJGSklHTVdl?=
 =?utf-8?B?MTEyc1dsajI0T1haWmRVaThNUXdYajZSU09uZ095d3k4WHNWTjN3Lys2OTNN?=
 =?utf-8?B?WVB6VHJtVVAxd2lRQXc3Z1AvV3U0VzFHVkpjaEZ3S09QeEtZVzVVdjFZNXhE?=
 =?utf-8?B?V1U1YWt5YUZUTnBuSk4xalBlajBka1NrZHF0VGhBUHYrZGFuRU1lZnB3cTB4?=
 =?utf-8?B?QTR1eW9yTFI4Q3hCcnN4QmI2MUpOSWo1amJ6bHU4OFZOemFDdWxUam1JdkM3?=
 =?utf-8?B?cEJTZFVBTlRCRzk5V0R3TWl6Ym16bEFBTlBmYUt0Ny8ydHM4V1MxWWVFMW9k?=
 =?utf-8?B?SlV3bW1yYVYzSEtCZ1pmV3pYbHljUlhLMXhNbFVYYmRzdzIzOEdGMVVyZ3JW?=
 =?utf-8?B?dXNyaWJoTTlRS1Z0c0YzUWtUNWxzeDY4THlWZlphUmNDazUxZkd4azRualZs?=
 =?utf-8?B?M1FJSWp5MWtES0kzUHJycVRFZmNTVUZVV2xadWZjRGdCQXFmRjZWN3h3ejk3?=
 =?utf-8?B?SlJlWFZuRFN1dUZoWEs2T3VYNTFrZ0UydE1GVXovaGFqTHdvSHpLc3VtTW9I?=
 =?utf-8?B?TVJRYWswQWJnWFFtWGxtQkFGZjF0VUVwblRKTExUWERjOUhTby9OeFhlblcx?=
 =?utf-8?B?K2RrajZMY21meU9OVndiTk1JMHJPZ3dyK1lLNm5VQTBTWDZIdDN1WDYvZXRZ?=
 =?utf-8?B?UzlWemVCTkxsS2dON1JNZ3psOTJsRDZza1JTOTMyRHF6eUZJTnVnMCtrTTRw?=
 =?utf-8?B?d3pGVGd6VVk5OHNIcm0rQXF2Z1hoS0JDL01SY2k3UWtOOWhmVDVIdDZNNFl4?=
 =?utf-8?B?VURvZFNtejNmeHpWa0QvZEtROUdxYUkxaXNVZzlDWDlKci8zUTZWYjNMS1VS?=
 =?utf-8?B?MVEzMWRzaGVKYnBEakZLeklMZzRpTllMYVAyU1Bwbm4wNWMzZHZodEJYS2hi?=
 =?utf-8?B?ZEtkWXZ3RlpKUmdoeEJ4eC9RZHdkWlhsaDYyMDVVdmlZb0hnSTlKL3B4eUhl?=
 =?utf-8?B?bU5ZMllWV085YzV0anBJR25oNFRTM3JieW94WXdDSU10NGJXcWFKU0dCSWRO?=
 =?utf-8?B?b2VjRTF4V0xZcmZuNkMyd3BpVTF1TEo4UW45NUpDU1FId0puNU1oVWkzWnRM?=
 =?utf-8?B?MTVGU1A2TXRYR2JBSDdQMXZ6Rjk5ZUxzemF2YjNDR1pILzBGa25xak82bnJS?=
 =?utf-8?B?ZS83SzRFS1VoL1Q1NFMvbWFPaks5UnowOWI4dDVBMm81ZHRrQnRNcDNNUkt4?=
 =?utf-8?B?cXQxYTE5dWc4Sk1YUnlycUFqSWk1eXh0dnVKZDNNRDFjQlZMRzVJSC85eDJJ?=
 =?utf-8?B?cFU2dU56eklZZDVQN2VGY1VEalg1TFZINjl3UDZPZkVJRGtsVzJvamp3UURV?=
 =?utf-8?B?djlUNFAyRksyRjBwcTM1ZHNUKzhTazZzYTJacFBINE5uS3pXR1hWQnZCZVFV?=
 =?utf-8?B?REcwOFpMVUV6bk12cFFRaHFYYzE2L1B6dm56dkxVQVZIQm91WUd5Mk9WY0xx?=
 =?utf-8?B?WGpHWTZkQ1h1MUtmbFdXSXIyUm5pWHgvc3dhUmljTnRjKzJKcHA1emY3aTJB?=
 =?utf-8?B?LzJaRnI2MGlIZTk0QS93a3lGbllvZVQxUzVQLzlGZGs2aHo5RmpodmhTUFFi?=
 =?utf-8?Q?2KcQYaHw4+pKW05ki6sYScH6T?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d6ff1b5-2df3-44a4-c1d4-08da75259993
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 07:55:57.8277
 (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: WY5dPVnXMYDpUOuFCRFfO0cueN0yQXvZV7mO9C62dIU5J+CL5/IpHH6aHAAQ8p58zo0WRa4YD5KqbmYIZItP5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4816

On 03.08.2022 09:35, Bertrand Marquis wrote:
> Fix misra document conversion script to be executable.
> 
> Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>  xen/tools/convert_misra_doc.py | 0
>  1 file changed, 0 insertions(+), 0 deletions(-)
>  mode change 100644 => 100755 xen/tools/convert_misra_doc.py

Hmm, the real fix imo would be to add $(PYTHON), just like we use
$(SHELL) to invoke shell scripts. This is to cover for file systems
lacking a way to express executable permission. (Along with that I
certainly wouldn't mind the mode change, but that would then only
be for cosmetic reasons.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:00:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379631.613228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9It-0000cs-8w; Wed, 03 Aug 2022 08:00:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379631.613228; Wed, 03 Aug 2022 08:00:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9It-0000cl-6C; Wed, 03 Aug 2022 08:00:31 +0000
Received: by outflank-mailman (input) for mailman id 379631;
 Wed, 03 Aug 2022 08:00:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4Xu=YH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oJ9Is-0000cf-NB
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:00:30 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2046.outbound.protection.outlook.com [40.107.104.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56b9d90a-1302-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 10:00:29 +0200 (CEST)
Received: from DB6P191CA0019.EURP191.PROD.OUTLOOK.COM (2603:10a6:6:28::29) by
 AM6PR08MB4833.eurprd08.prod.outlook.com (2603:10a6:20b:ce::20) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.10; Wed, 3 Aug 2022 08:00:26 +0000
Received: from DBAEUR03FT063.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:28:cafe::14) by DB6P191CA0019.outlook.office365.com
 (2603:10a6:6:28::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Wed, 3 Aug 2022 08:00:26 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT063.mail.protection.outlook.com (100.127.142.255) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Wed, 3 Aug 2022 08:00:25 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Wed, 03 Aug 2022 08:00:25 +0000
Received: from ff261d33fec2.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 63671C47-8F40-465B-83B9-211C0EBE8CA3.1; 
 Wed, 03 Aug 2022 08:00:18 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ff261d33fec2.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 03 Aug 2022 08:00:18 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM6PR08MB4518.eurprd08.prod.outlook.com (2603:10a6:20b:b4::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Wed, 3 Aug
 2022 08:00:15 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.014; Wed, 3 Aug 2022
 08:00:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56b9d90a-1302-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cC4QLeuNmUfK34EVyOaUcuMKCAi1q65tu8d/bmnkETRKqGO7HUCOYIFj5Y1wpKNhCt1vlNhOiAxhCWQC71tV52r9mA7tJVxyCGlD/t8WUNTpNjtv52oKSLiY6aC5ozE8LbbVOGeyXKybpQsf5DeuwyR1PgNKe2DPLGHtGK9bwvkdu/Z/nm22BAz7B4ALtNtMRyHhc/MDABpFnijm//JuCoLDiuxk+M9GTc/pjDQ7BqJPwBw8PCd8F+DQTGehPddiFCy4XkoKY10U/gRV6gCSdBcuWFLpwBkWUOGD2yri+Z6OxVxvNJPervOGxxn/f36k6wOajrgoBFzCg7FOJbKYcA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D3kcBuUgyV2t/niFtsBOtVDWn++Jnvy3h1vWxqn/ARw=;
 b=mgM/uO0ShtmuttxB1tqr+D5RBEULH9EwUXLuMWFx3cw/SEe0kzv2NyzDLOUIIshghDyMY/gFLpXKhT1yQVHb4gt8YwBC2wdLI9ZXUOpuzYY9fLKuZXc3z9x1dkD2SrIlJ5DyeRtsSfGLkHSYfCYNPzwtz7g37/wijK4laIUiTHxRU5K6cVTACckBrCci+wOSZK3dck6OSE1073Dgn0LZh2MFBM/Ta/anqQoDGYQAwvNt4VqIuAF9RMfohxDTKjP3IbjkZM6YepT43a8oKnTyfScmjv1bzfQD447g/eRrI8rveChHrGDNqWaR+s2E/Qm3BHYQ5hF5QOJnKXT0QALcHA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D3kcBuUgyV2t/niFtsBOtVDWn++Jnvy3h1vWxqn/ARw=;
 b=CKqbMCu8A41s0Zq+js693oGUROJGX8YhH/yWZHGcK5aZhWcBjjE+0pESf7HsIXsGFUQ3VhAqjyi1qYQj7GmzlU5WGEnL7iHCTzC9wbq2U+j3D5Olcqc4qxhojq5CGzw/GToQtu9jHUZFRB1+Inn8qkjuUI8eX54DDNkbMNx38fM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 622743d175e19c82
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gW6vjuN2AecFTudiTazkBzKDMAkDDgj4Syr5r4omY6Yg5P9OAnQt1Gpq5dqU2QM0Qmwed8w1FNCKP8zSRLgDO4iK2LyqLzmMXxrWyLwN5KxBjTDrNmjxY007J3qlMo6q4Bp88kYyeMEMk4zCepcMWXCD9ivH6vdmy8BANlFVUjKtWNAjB2uFB8F+WWG7bbSgDW+4rbNyUjBKOMsx4I/ZKx1V+eaGxNyfi7FbTg1tGUGM4Pu26LBKiEXl7ILaLrF0YIQ/Jw/zv7aQstypJGMKlF/d4MRA9kTPPuvWPSj5siBWnmXvGPYd8PbrpZn02BTbtiOza+8/gkZd+9iMjl2Zzw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D3kcBuUgyV2t/niFtsBOtVDWn++Jnvy3h1vWxqn/ARw=;
 b=IHukTWMG8+pSgA90UYDiw2Z91qx3Lgq4sMKUtzlDKk5S+3a8pS5zOI2tzyQz9nrA7+5CMMEwSYT6K5ZPOOMpvko135VXw5s2a3+d/5tGfdJJXGRpyNzAUd/YjaMPFjEEHFdet/8fkhyM1lvbyvIObPiyRQBkdgWnWsHfNLZ8RHRaPHQJGwbXRLzc2PrAv6S78aypyGr87cppYUqa0zh2lDJQSsv3DQPYatdIdTmgDGi6oBhjWsvYQEA3E6o1jup6Aj+Q5HEEbZzWCxjxhdQDr1Wli9ukS+fEzsVl/ggrw5t68Rrln0SiE7bPMtdbavVU36hLH8cPjJ3i8Xw5p/agtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D3kcBuUgyV2t/niFtsBOtVDWn++Jnvy3h1vWxqn/ARw=;
 b=CKqbMCu8A41s0Zq+js693oGUROJGX8YhH/yWZHGcK5aZhWcBjjE+0pESf7HsIXsGFUQ3VhAqjyi1qYQj7GmzlU5WGEnL7iHCTzC9wbq2U+j3D5Olcqc4qxhojq5CGzw/GToQtu9jHUZFRB1+Inn8qkjuUI8eX54DDNkbMNx38fM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] tools: make misra convert tool executable
Thread-Topic: [PATCH] tools: make misra convert tool executable
Thread-Index: AQHYpwulczj3QM+7gEqGae0IHiG86q2cztOAgAABNQA=
Date: Wed, 3 Aug 2022 08:00:15 +0000
Message-ID: <39EAF06E-B487-41AC-82B6-E2F2A6142868@arm.com>
References:
 <65d730eb0543c507e76b33285bb9d3430662732b.1659444520.git.bertrand.marquis@arm.com>
 <5d680c69-40e3-c980-c917-f8c983318d17@suse.com>
In-Reply-To: <5d680c69-40e3-c980-c917-f8c983318d17@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 3b0d09a2-fc0c-4828-9f2f-08da7526396c
x-ms-traffictypediagnostic:
	AM6PR08MB4518:EE_|DBAEUR03FT063:EE_|AM6PR08MB4833:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Q+7vkW+i0x5sC/kmrpF4jpBwT7cWRKCGoi6R5gp+MqPcenamusqQok78buaBKjRj3l7Vzh97MZQP1sHKkhPuEJkZPpoIqKe0wDvVcQOFACj9ngaSj4jaHRkRLiuDdux01yd8CyJNYkk5aLWP4BbdivLmeyfa6huOU7TVS/WgHpz9TR14c2F9a8Ni7/T/aOpAbK9l42WDnTyzaBoB1uKHDEHauJxHeCPXraN8Otli4QBw2VpdLpwUcMsZx7NT3A+EJksqthI/EzU94Wvmax57UAapvb+mS1FN3T3brx2GjqkZ5f6ErrsfrXUrYTeqw1U+PlR8OyXUnCbTa+ph2PClZ0AAcD5JmM0LHPySzEZfUwXWr81byWGJHwdAApnRQVqhFvr7vGop5KOUvgy2wi6ww4niti7p/i4PrVMHZNNJf1DjhyGsHpnRBi3p1f2Wl+loM8kWrqa76LyFa+HfY3cdcAw2Rb3pQ7Zu/aomsfCtzLUMn7yK4biaLvGQYL1qQkMF9M2rYuXZ59uI4IK17gr/BYRgvfs+TIjbPajqNBPO7RPm1vdQKrAqEXmM/vb7wbtvEFLqINj5rOKXcE79FiEweM3TslcmRCa2fE8IhlWZ6PyKaijuIr+5GYtqPOKzI1u6zXrGZlkwpVB1uVcSSSnVT7DtB3KNb52ZfJ0p2Tr48a8jxSlW2ZKweG85g90JVR/RLrUN8MnyU6udgjkb0RsWU0PU3dDi2w9dD25kyStXnWCkNboVedUztlNI2KEvd5WIQJmhmOiVaW9lBrxgCBekN05vBhxpjCtVgS5Uob2GwTnydal3OK1qmO0wEEz+lt3t30tEByKtAsFnSEu7C7klVg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(366004)(396003)(39860400002)(376002)(64756008)(8676002)(66476007)(66446008)(66556008)(4326008)(83380400001)(66946007)(91956017)(4744005)(2616005)(186003)(8936002)(36756003)(5660300002)(33656002)(76116006)(2906002)(478600001)(71200400001)(6486002)(53546011)(6512007)(41300700001)(6916009)(54906003)(26005)(86362001)(6506007)(38100700002)(122000001)(316002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <46A1A227FFE3754E978118E67F2C0592@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4518
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4a9daf43-ce85-4255-9479-08da75263306
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rZXVIC/YaSgxdEPfe5xVJQotIZ1WH6jKRMOz3dtLFghnDrxjUfr9QFfB0c8WpV3uqDXHIb62NdsFv1pXTqXfcFBEVUCpBai0vhLqn5zO7qFcCYSvTmjEFQ5lyI1gPURKZDc1+HfuwayyNP71WST9INs1gCi4mPSvq4M+WR3ZEyvRwfqeVi/mQqTMIXYJ/fJchY5EFcXBq62MpnUunOHnezI8XEMtTod62ZOiD5ESIfrSwB95QO0odgjg1xI/j97cLbGUgMVCwsUGsDogOy1YiHPRcY9pthHCIe00+9XtxXYT1P41+pxsiBiBtCZnfM/PF+YmnqhJF9aqE1acPl+ztU/wcJaITOjks0XgCxR4yVEjDa7PZzZPqtewBN2jZRZ0exiXJrxMMlzuSf+9AskeTVFgps2x5504FqA0DQw6LEStbDA/LSECYV4vL/bv25Ke40IcFamHQ8C8yi0rWuILmURcUD/jFeotgz2wqhfr63+vlrBuXJIFNCkydCtBOvKWNmhQCQDbrcBMXsWmuuxBb9I2FZ5BZgAbdBAZLyA7LlELa3b7R1oLW5nHjV+hYpg7p/jj59wA3zDvrd0cGlpjyzC+FwQ3yfhj3Q+mKMLyVaxlb18P9f0sQaX5W9RDld6ioDPxsoRLR5b/I2DEjK9IlBNQxySDWG/hpluKsR9hssv+/5pdZ+jI9MJQnLkcSzIlxN21Ja9y0eayMMeVx5+P1yrO5JZDWrFaH8LLTUa6HhYZCLYNey9sTjknZyPpWHCjHGEZA+O8HgtQWIohnZljX/wgmiGwtkUr2Wscnv6ycxcUrGAyZ2vXGBnFWngkwYXS
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(396003)(376002)(46966006)(40470700004)(36840700001)(83380400001)(4744005)(2616005)(336012)(36860700001)(47076005)(186003)(8936002)(36756003)(6862004)(4326008)(2906002)(5660300002)(70586007)(8676002)(33656002)(70206006)(316002)(86362001)(40480700001)(82310400005)(54906003)(478600001)(6512007)(26005)(41300700001)(53546011)(6506007)(40460700003)(82740400003)(81166007)(6486002)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 08:00:25.8817
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b0d09a2-fc0c-4828-9f2f-08da7526396c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4833

Hi Jan,

> On 3 Aug 2022, at 08:55, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 03.08.2022 09:35, Bertrand Marquis wrote:
>> Fix misra document conversion script to be executable.
>>=20
>> Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>> xen/tools/convert_misra_doc.py | 0
>> 1 file changed, 0 insertions(+), 0 deletions(-)
>> mode change 100644 =3D> 100755 xen/tools/convert_misra_doc.py
>=20
> Hmm, the real fix imo would be to add $(PYTHON), just like we use
> $(SHELL) to invoke shell scripts. This is to cover for file systems
> lacking a way to express executable permission. (Along with that I
> certainly wouldn't mind the mode change, but that would then only
> be for cosmetic reasons.)

Good point, I will submit a v2 doing both.

Cheers
Bertrand

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:01:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379636.613240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9Jv-0001Bb-IV; Wed, 03 Aug 2022 08:01:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379636.613240; Wed, 03 Aug 2022 08:01:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9Jv-0001BU-Fn; Wed, 03 Aug 2022 08:01:35 +0000
Received: by outflank-mailman (input) for mailman id 379636;
 Wed, 03 Aug 2022 08:01:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJ9Ju-0001BM-5q
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:01:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d23a05b-1302-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 10:01:33 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 88B4133F84;
 Wed,  3 Aug 2022 08:01:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 61FC613AD8;
 Wed,  3 Aug 2022 08:01:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XUxzFlwr6mKrXAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 08:01:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d23a05b-1302-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659513692; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=v8b1NqxwDCxooa1mIq0gP8PGUtFnRNv14tMnVpQO/ss=;
	b=NWhLLaWSW1W8Y2DIOtoKw5EYCQD7ohdgshmMFyWSZcqAfShpKvv+PapDFqcQ+9VnYxHxwW
	ap+utokTB0ddrKoTkgusX/9VSI1P83/ocSVRxEL8lQ3r6Hku6Odv8OFscutgQNFXsHRd6e
	CGxT8DTWIKd44xUxEIoWkV6V7hYsBNU=
Message-ID: <8b51d326-feb5-2aac-80f7-969ef8bd2ba6@suse.com>
Date: Wed, 3 Aug 2022 10:01:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-2-jgross@suse.com>
 <266615bb-1465-f38c-5eee-ad2f4e7256fa@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/3] xen/sched: introduce cpupool_update_node_affinity()
In-Reply-To: <266615bb-1465-f38c-5eee-ad2f4e7256fa@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------O54ttd6Vs0G5ETyL65UenXA5"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------O54ttd6Vs0G5ETyL65UenXA5
Content-Type: multipart/mixed; boundary="------------MO0k5DZmyNAcWJETroDaLwPc";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Message-ID: <8b51d326-feb5-2aac-80f7-969ef8bd2ba6@suse.com>
Subject: Re: [PATCH 1/3] xen/sched: introduce cpupool_update_node_affinity()
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-2-jgross@suse.com>
 <266615bb-1465-f38c-5eee-ad2f4e7256fa@suse.com>
In-Reply-To: <266615bb-1465-f38c-5eee-ad2f4e7256fa@suse.com>

--------------MO0k5DZmyNAcWJETroDaLwPc
Content-Type: multipart/mixed; boundary="------------Umuf1Ub56bwqiO3LWRjNYTap"

--------------Umuf1Ub56bwqiO3LWRjNYTap
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDMuMDguMjIgMDk6NTAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMi4wOC4yMDIy
IDE1OjI3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEveGVuL2NvbW1vbi9zY2hl
ZC9jb3JlLmMNCj4+ICsrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+PiBAQCAtMTc5
MCwyOCArMTc5MCwxNCBAQCBpbnQgdmNwdV9hZmZpbml0eV9kb21jdGwoc3RydWN0IGRvbWFp
biAqZCwgdWludDMyX3QgY21kLA0KPj4gICAgICAgcmV0dXJuIHJldDsNCj4+ICAgfQ0KPj4g
ICANCj4+IC12b2lkIGRvbWFpbl91cGRhdGVfbm9kZV9hZmZpbml0eShzdHJ1Y3QgZG9tYWlu
ICpkKQ0KPj4gK3ZvaWQgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5X25vYWxsb2Moc3Ry
dWN0IGRvbWFpbiAqZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGNwdW1hc2tfdCAqb25saW5lLA0KPj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFmZmluaXR5X21hc2tzICphZmZpbml0
eSkNCj4+ICAgew0KPj4gLSAgICBjcHVtYXNrX3Zhcl90IGRvbV9jcHVtYXNrLCBkb21fY3B1
bWFza19zb2Z0Ow0KPj4gICAgICAgY3B1bWFza190ICpkb21fYWZmaW5pdHk7DQo+PiAtICAg
IGNvbnN0IGNwdW1hc2tfdCAqb25saW5lOw0KPj4gICAgICAgc3RydWN0IHNjaGVkX3VuaXQg
KnVuaXQ7DQo+PiAgICAgICB1bnNpZ25lZCBpbnQgY3B1Ow0KPj4gICANCj4+IC0gICAgLyog
RG8gd2UgaGF2ZSB2Y3B1cyBhbHJlYWR5PyBJZiBub3QsIG5vIG5lZWQgdG8gdXBkYXRlIG5v
ZGUtYWZmaW5pdHkuICovDQo+PiAtICAgIGlmICggIWQtPnZjcHUgfHwgIWQtPnZjcHVbMF0g
KQ0KPj4gLSAgICAgICAgcmV0dXJuOw0KPj4gLQ0KPj4gLSAgICBpZiAoICF6YWxsb2NfY3B1
bWFza192YXIoJmRvbV9jcHVtYXNrKSApDQo+PiAtICAgICAgICByZXR1cm47DQo+PiAtICAg
IGlmICggIXphbGxvY19jcHVtYXNrX3ZhcigmZG9tX2NwdW1hc2tfc29mdCkgKQ0KPj4gLSAg
ICB7DQo+PiAtICAgICAgICBmcmVlX2NwdW1hc2tfdmFyKGRvbV9jcHVtYXNrKTsNCj4+IC0g
ICAgICAgIHJldHVybjsNCj4+IC0gICAgfQ0KPiANCj4gSW5zdGVhZCBvZiBzcGxpdHRpbmcg
dGhlIGZ1bmN0aW9uLCBkaWQgeW91IGNvbnNpZGVyIHVzaW5nDQo+IGNvbmRfemFsbG9jX2Nw
dW1hc2tfdmFyKCkgaGVyZSwgdGh1cyBhbGxvd2luZyAoYnV0IG5vdCByZXF1aXJpbmcpDQo+
IGNhbGxlcnMgdG8gcHJlLWFsbG9jYXRlIHRoZSBtYXNrcz8gV291bGQgaW1vIGJlIHF1aXRl
IGEgYml0IGxlc3MNCj4gY29kZSBjaHVybiAoSSB0aGluaykuDQoNClRoaXMgd291bGQgcmVx
dWlyZSB0byBjaGFuZ2UgYWxsIGNhbGxlcnMgb2YgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmlu
aXR5KCkNCnRvIGFkZCB0aGUgYWRkaXRpb25hbCBtYXNrIHBhcmFtZXRlci4gVGhlIG5vdyBj
b21tb24vc2NoZWQgbG9jYWwgc3RydWN0DQphZmZpbml0eV9tYXNrcyB3b3VsZCB0aGVuIG5l
ZWQgdG8gbWFkZSBnbG9iYWxseSB2aXNpYmxlLg0KDQpJJ20gbm90IHN1cmUgdGhpcyBpcyBh
IGdvb2QgaWRlYS4NCg0KPiANCj4+IC0tLSBhL3hlbi9jb21tb24vc2NoZWQvY3B1cG9vbC5j
DQo+PiArKysgYi94ZW4vY29tbW9uL3NjaGVkL2NwdXBvb2wuYw0KPj4gQEAgLTQxMCw2ICs0
MTAsNDggQEAgaW50IGNwdXBvb2xfbW92ZV9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgc3Ry
dWN0IGNwdXBvb2wgKmMpDQo+PiAgICAgICByZXR1cm4gcmV0Ow0KPj4gICB9DQo+PiAgIA0K
Pj4gKy8qIFVwZGF0ZSBhZmZpbml0aWVzIG9mIGFsbCBkb21haW5zIGluIGEgY3B1cG9vbC4g
Ki8NCj4+ICtzdGF0aWMgaW50IGNwdXBvb2xfYWxsb2NfYWZmaW5fbWFza3Moc3RydWN0IGFm
ZmluaXR5X21hc2tzICptYXNrcykNCj4+ICt7DQo+PiArICAgIGlmICggIWFsbG9jX2NwdW1h
c2tfdmFyKCZtYXNrcy0+aGFyZCkgKQ0KPj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+
PiArICAgIGlmICggYWxsb2NfY3B1bWFza192YXIoJm1hc2tzLT5zb2Z0KSApDQo+PiArICAg
ICAgICByZXR1cm4gMDsNCj4+ICsNCj4+ICsgICAgZnJlZV9jcHVtYXNrX3ZhcihtYXNrcy0+
aGFyZCk7DQo+PiArICAgIHJldHVybiAtRU5PTUVNOw0KPj4gK30NCj4gDQo+IFdvdWxkbid0
IHRoaXMgYmUgYSBuaWNlIGdlbmVyYWwgaGVscGVyIGZ1bmN0aW9uLCBhbHNvIHVzYWJsZSBm
cm9tDQo+IG91dHNpZGUgb2YgdGhpcyBDVT8NCg0KSSBjb25zaWRlcmVkIHRoYXQsIGJ1dCB3
YXNuJ3Qgc3VyZSB0aGlzIGlzIHJlYWxseSBoZWxwZnVsLiBUaGUgb25seQ0KcG90ZW50aWFs
IG90aGVyIHVzZXIgd291bGQgYmUgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5KCksIHJl
cXVpcmluZw0KdG8gdXNlIHRoZSB6YWxsb2MgdmFyaWFudCBvZiB0aGUgYWxsb2NhdGlvbiBp
biB0aGUgaGVscGVyIChub3QgdGhhdCB0aGlzDQp3b3VsZCBiZSBhIG1ham9yIHByb2JsZW0s
IHRob3VnaCkuDQoNCj4gQXMgYSBuaXQgLSByaWdodCBub3cgdGhlIG9ubHkgY2FsbGVyIHRy
ZWF0cyB0aGUgcmV0dXJuIHZhbHVlIGFzIGJvb2xlYW4sDQo+IHNvIHBlcmhhcHMgdGhlIGZ1
bmN0aW9uIGJldHRlciB3b3VsZCByZXR1cm4gYm9vbD8NCg0KSSBjYW4gZG8gdGhhdC4NCg0K
DQpKdWVyZ2VuDQo=
--------------Umuf1Ub56bwqiO3LWRjNYTap
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Umuf1Ub56bwqiO3LWRjNYTap--

--------------MO0k5DZmyNAcWJETroDaLwPc--

--------------O54ttd6Vs0G5ETyL65UenXA5
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLqK1wFAwAAAAAACgkQsN6d1ii/Ey8o
HggAkzcgTQrRbV+5CKhpOX9gTX364UzAof/TR5FIKPBJJK9Uvod+/sHPNJW9Yj0mbbQHPkzZ24E+
saDSUVD+xJPRbM2aGS1koOPU3+GyyFbj295u9c6axCPgGn9hELqrGE000N8vb8NhA2vzSX5vjWRV
RRB2j0BbgMRQY9hZo7eohLG2YCCcFeuhTReAm16ateKkWDh3f/Jww5fpsiAqNzkv+fvmnlzHDfqS
6WAQp3EopBN0P8v5RzY5usisljJ2uzIEKLOjo1lMrFRNs4J5x7MZJzlyvngeMH0fiptE+XXZg0qo
OG+OLWyeHpNpE5ykkZ0BM9q5YOohDFDchwRQHWtDfA==
=qEhM
-----END PGP SIGNATURE-----

--------------O54ttd6Vs0G5ETyL65UenXA5--


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:14:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379642.613251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9WB-0002oW-Sp; Wed, 03 Aug 2022 08:14:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379642.613251; Wed, 03 Aug 2022 08:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9WB-0002oP-Nu; Wed, 03 Aug 2022 08:14:15 +0000
Received: by outflank-mailman (input) for mailman id 379642;
 Wed, 03 Aug 2022 08:14:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJ9W9-0002oJ-Pd
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:14:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJ9W4-00037G-99; Wed, 03 Aug 2022 08:14:08 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.5.217]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJ9W4-0006Xr-0g; Wed, 03 Aug 2022 08:14:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Vuj37ngFxl78R9EVe5kuy/VeseUSZKlqnryuhI1bzFc=; b=tt2MONJ11EhYhJxv3m39rMqE0y
	QBjBstfANfAM6zYWTcjtGYawCe/UoGtDY2q4F0PTQvkfHV9kBlfACtfPrGAJNMn9NYYX0+ykGCxki
	yirbfXypEw05fn29gPwZiLCuzfgQxe2dp3outeArJ7NdLS64aNJ9owbkU+HrtY9+AhyA=;
Message-ID: <19295a89-8d89-973e-defe-2a0b063cbde4@xen.org>
Date: Wed, 3 Aug 2022 09:14:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v2 1/2] xen: add late init call in start_xen
Content-Language: en-US
To: boyoun.park@samsung.com, Stefano Stabellini <sstabellini@kernel.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "wl@xen.org" <wl@xen.org>, "roger.pau@citrix.com" <roger.pau@citrix.com>,
 Chungwoo Park <cww.park@samsung.com>, Gang Li <gang30.li@samsung.com>,
 Lei Wang <lei19.wang@samsung.com>, SoungKwan Kimn <sk.kimn@samsung.com>,
 DongJin PARK <djpax.park@samsung.com>, Joonjae Lee <joonjae7.lee@samsung.com>
References: <alpine.DEB.2.22.394.2207291447080.4648@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2207281251160.4648@ubuntu-linux-20-04-desktop>
 <97499212.9948800.1659000157467@mail-kr2-3>
 <88025800-66e2-4fb4-facf-5989e75ba08f@suse.com>
 <20220729110313epcms2p5f9b24d5a65b98c220a6e99675298560f@epcms2p5>
 <CGME20220728092237epcms2p53821bba31388763f45b5204d56520c20@epcms2p8>
 <1470588578.9967963.1659494457934@mail-kr2-1>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1470588578.9967963.1659494457934@mail-kr2-1>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Boyoun,

On 03/08/2022 03:40, Boyoun Park wrote:
> Thank you for your reply. I will seriously consider contributing
> platform specific drivers. Currently, I make a sample usage by applying this
> to a function in start_xen. I think functions in start_xen could be reduced
> for readability and understandability.
> These patches are just one of my suggestion. So feel free to reject it.

Please avoid top-posting. Also, I would suggest to read through [1] to 
check how patch series should be submitted. For instance...

> 
> On Sat, 30 Jul 2022, StefanoÂ Stabellini wrote:
>> OnÂ Fri,Â 29Â JulÂ 2022,Â BoyounÂ ParkÂ wrote:
>>>  Â IÂ reallyÂ appreciateÂ allÂ theÂ commentsÂ andÂ reviews.
>>>  Â IÂ understandÂ thatÂ itÂ isÂ hardÂ toÂ addÂ thisÂ patchÂ withoutÂ anyÂ usage.
>>>   
>>>  Â OnÂ Fri,Â 29Â JulÂ 2022,Â StefanoÂ Stabellini:
>>>>  Â OnÂ Thu,Â 28Â JulÂ 2022,Â JanÂ BeulichÂ wrote:
>>>>>  Â OnÂ 28.07.2022Â 11:22,Â BoyounÂ ParkÂ wrote:
>>>>>>  Â Subject:Â [PATCHÂ v1]Â xen:Â addÂ lateÂ initÂ callÂ inÂ start_xen
>>>>>>   
>>>>>>  Â ThisÂ patchÂ addedÂ late_initcallÂ sectionÂ inÂ init.data.
>>>>>>   
>>>>>>  Â TheÂ lateÂ initcallÂ wouldÂ beÂ calledÂ afterÂ initcall
>>>>>>   
>>>>>>  Â inÂ theÂ start_xenÂ function.
>>>>>>   
>>>>>>  Â SomeÂ initializingÂ worksÂ onÂ priorityÂ shouldÂ beÂ run
>>>>>>   
>>>>>>  Â inÂ do_initcallsÂ andÂ otherÂ non-prioritizedÂ works
>>>>>>   
>>>>>>  Â wouldÂ beÂ runÂ inÂ do_late_initcalls.
>>>>>>   
>>>>>>  Â ToÂ callÂ someÂ functionsÂ byÂ late_initcall,
>>>>>>   
>>>>>>  Â thenÂ itÂ isÂ possibleÂ byÂ using
>>>>>>   
>>>>>>  Â __late_initcall(/*FunctionÂ Name*/);
>>>>>>   
>>>>>>  Â Signed-off-by:Â BoyounÂ ParkÂ <boyoun.park@samsung.com>
>>>>>   
>>>>>  Â SoÂ IÂ couldÂ imagineÂ thisÂ patchÂ toÂ beÂ inÂ aÂ seriesÂ whereÂ aÂ subsequent
>>>>>  Â patchÂ thenÂ addsÂ anÂ actualÂ useÂ ofÂ theÂ newÂ functionality.Â Without
>>>>>  Â thatÂ whatÂ you'reÂ proposingÂ isÂ toÂ addÂ deadÂ code.
>>>>   
>>>>  Â Yeah,Â IÂ thinkÂ itÂ wouldÂ beÂ coolÂ toÂ haveÂ lateÂ initcallsÂ butÂ itÂ makesÂ sense
>>>>  Â toÂ addÂ themÂ ifÂ weÂ haveÂ someoneÂ thatÂ makesÂ useÂ ofÂ them.
>>>   
>>>  Â IÂ totallyÂ agreeÂ withÂ yourÂ comments.Â SomeÂ driversÂ thatÂ I'mÂ developingÂ nowÂ andÂ useÂ thisÂ functionÂ areÂ specificÂ toÂ myÂ hardwareÂ environment.
>>>  Â Thus,Â itÂ seemsÂ difficultÂ toÂ arrangeÂ themÂ inÂ theÂ nearÂ future.
>>>  Â IÂ willÂ updateÂ patchesÂ ifÂ IÂ canÂ suggestÂ anÂ actualÂ use.
>>
>> IÂ totallyÂ understandÂ customÂ setupsÂ andÂ non-upstreamableÂ configurations
>> andÂ IÂ haveÂ certainlyÂ someÂ ofÂ themÂ myself.
>>
>> However,Â IÂ justÂ wantedÂ toÂ letÂ youÂ knowÂ thatÂ weÂ areÂ fineÂ withÂ accepting
>> platformÂ specificÂ driversÂ inÂ XenÂ whereÂ itÂ makesÂ sense,Â forÂ instance:
>>
>> -Â RenesasÂ IPMMU-VMSAÂ foundÂ inÂ R-CarÂ Gen3/Gen4Â SoCsÂ (anÂ IOMMUÂ driver)
>> xen/drivers/passthrough/arm/ipmmu-vmsa.c
>>
>> -Â XilinxÂ EEMIÂ firmwareÂ interfaceÂ "mediator"Â inÂ XenÂ (powerÂ management)
>> xen/arch/arm/platforms/xilinx-zynqmp-eemi.c
> 
> From: Boyoun Park <boyoun.park@samsung.com>
> Date: Tue, 15 Mar 2022 12:57:59 +0900
> Subject: [PATCH v2 1/2] xen: add late init call in start_xen

A new version of a series is usually sent as a separate thread rather 
than in-reply to the previous version.

Furthermore, as there is 2 patches, you need to provide a cover letter 
(even it doesn't contain much).

Lastly (process wise), please provide a list of changes made in v2. I 
tend to prefer per-patch changelog, but one in the cover letter would 
also work.

> 
> This patch added late_initcall section in init.data.
> The late initcall would be called after initcall
> in the start_xen function.

I think this is a bit too vague. AFAIU, you want late_initcall() to 
happen *after* all the domains have been created but *before* they are 
unpaused. Is that correct?

 From the previous discussion, I saw you said you have drivers needing 
to call initlate. Could you briefly explain why they can't be called in 
initcall?

> 
> Some initializing works on priority should be run
> in do_initcalls and other non-prioritized works
> would be run in do_late_initcalls.

IIUC, you are saying that do_late_initcalls() was introduced for 
prioritization purpose. But then, there are also a difference in 
behavior (initcalls happens before creating the domains whereas late 
happens after).

Therefore, if the priority is the only reasons, then I think we should 
introduce priority within the initcalls.

> 
> To call some functions by late_initcall,
> then it is possible by using
> __late_initcall(/*Function Name*/);
> 
> Signed-off-by: Boyoun Park <boyoun.park@samsung.com>
> ---
>   xen/arch/arm/setup.c   | 2 ++
>   xen/arch/arm/xen.lds.S | 2 ++
>   xen/arch/x86/setup.c   | 2 ++
>   xen/arch/x86/xen.lds.S | 2 ++
>   xen/common/kernel.c    | 9 ++++++++-
>   xen/include/xen/init.h | 3 +++
>   6 files changed, 19 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 85ff956..332a207 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -1063,6 +1063,8 @@ void __init start_xen(unsigned long boot_phys_offset,
>       /* Hide UART from DOM0 if we're using it */
>       serial_endboot();
>   
> +    do_late_initcalls();
> +

[...]


> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index f08b07b..5dc6654 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1952,6 +1952,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>   
>       setup_io_bitmap(dom0);
>   
> +    do_late_initcalls();
> +

It would be preferable if the call is done roughly at the same place on 
all architecture. So if it easier for a developer to know when this will 
be called (e.g. just after serial_endboot()).

If you need to call the function at the different place, then I think 
this ought to be explained.

Cheers,

[1] https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:19:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379647.613261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9bR-0003UU-Du; Wed, 03 Aug 2022 08:19:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379647.613261; Wed, 03 Aug 2022 08:19:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9bR-0003UN-BI; Wed, 03 Aug 2022 08:19:41 +0000
Received: by outflank-mailman (input) for mailman id 379647;
 Wed, 03 Aug 2022 08:19:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJ9bP-0003UH-Qi
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:19:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJ9bP-0003Cx-IM; Wed, 03 Aug 2022 08:19:39 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.5.217]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJ9bP-0006do-CB; Wed, 03 Aug 2022 08:19:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=HNvomNy+G0v+YCiiE3pc+mZ0HujE6WnAtTFBwnTEKtg=; b=B05LM//qM1naHm2FypoOdRqEGe
	2ppWQsvMDwwZYdAYSWgqXeJj+qjeN+MRmVBKHTMVdm0zWb2bEEC9A+yq82/XjNXHT8tJXlKRDAlzd
	oBuoTWtKHgQuKHJs5LQa3ZcpwxruWgeAGzPSkA8d0/VjkM6+Dt9AOrxoBEN6VV3TfoSs=;
Message-ID: <f3d19d31-6e91-44c6-5233-9cc8ecc569f2@xen.org>
Date: Wed, 3 Aug 2022 09:19:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v2] arm/vgic-v3: fix virq offset in the rank when storing
 irouter
Content-Language: en-US
To: Hongda Deng <Hongda.Deng@arm.com>, xen-devel@lists.xenproject.org
Cc: Wei.Chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220729083602.390484-1-Hongda.Deng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220729083602.390484-1-Hongda.Deng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Hongda,

On 29/07/2022 09:36, Hongda Deng wrote:
> When vGIC performs irouter registers emulation, to get the target vCPU
> via virq conveniently, Xen doesn't store the irouter value directly,
> instead it will use the value (affinities) in irouter to calculate the
> target vCPU, and then save the target vCPU in irq rank->vcpu[offset].
> 
> When vGIC tries to get the target vCPU, it first calculates the target
> vCPU index via
>    int target = read_atomic(&rank->vcpu[virq & INTERRUPT_RANK_MASK]);
> and then it gets the target vCPU via
>    v->domain->vcpu[target];
> 
> When vGIC tries to store irouter for one virq, the target vCPU index
> in the rank is computed as
>    offset &= virq & INTERRUPT_RANK_MASK;
> finally it gets the target vCPU via
>    d->vcpu[read_atomic(&rank->vcpu[offset])];
> 
> There is a difference between them while getting the target vCPU index
> in the rank. Actually (virq & INTERRUPT_RANK_MASK) would already get
> the target vCPU index in the rank, it's wrong to add '&' before '=' when
> calculate the offset.
> 
> For example, the target vCPU index in the rank should be 6 for virq 38,
> but vGIC will get offset=0 when vGIC stores the irouter for this virq,
> and finally vGIC will access the wrong target vCPU index in the rank
> when updating the irouter.
> 
> Fixes: 5d495f4349b5 ("xen/arm: vgic: Optimize the way to store the target vCPU in the rank")
> Signed-off-by: Hongda Deng <Hongda.Deng@arm.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

This will also want to be backported. I will add it in my queue.


> ---

For future series, please provide a changelog for every version.

>   xen/arch/arm/vgic-v3.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
> index e4ba9a6476..7fb99a9ff2 100644
> --- a/xen/arch/arm/vgic-v3.c
> +++ b/xen/arch/arm/vgic-v3.c
> @@ -135,7 +135,7 @@ static void vgic_store_irouter(struct domain *d, struct vgic_irq_rank *rank,
>       ASSERT(virq >= 32);
>   
>       /* Get the index in the rank */
> -    offset &= virq & INTERRUPT_RANK_MASK;
> +    offset = virq & INTERRUPT_RANK_MASK;
>   
>       new_vcpu = vgic_v3_irouter_to_vcpu(d, irouter);
>       old_vcpu = d->vcpu[read_atomic(&rank->vcpu[offset])];

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:30:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379652.613273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9lZ-0006Zh-Dr; Wed, 03 Aug 2022 08:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379652.613273; Wed, 03 Aug 2022 08:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9lZ-0006Za-9b; Wed, 03 Aug 2022 08:30:09 +0000
Received: by outflank-mailman (input) for mailman id 379652;
 Wed, 03 Aug 2022 08:30:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJ9lY-0006ZU-2c
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:30:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061.outbound.protection.outlook.com [40.107.21.61])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a28677a-1306-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 10:30:06 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR0401MB2254.eurprd04.prod.outlook.com (2603:10a6:800:28::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 08:30:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 08:30:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a28677a-1306-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VDycRQNaw77DgnOhzfb3lrJkfO5278M/rl9cplf8+3f5OFrvNEg99LwO/kGMtwqeXUkGOS6d1XXGkla3KYUYg2if8wnECmMy5sokuHSqn7FMV41WDBwlqTMHw0DzHQrXEAroYAEHAU9rR9mHqxvfu+F0DRyQanV1rSys9A/VAsrSZURlPIeKaJ/+uTqj/ujAj/UgvtvC152Au8OJHVFR1m0Ik051JdQGH1/82ez1BqWHgXj1fobz105nQoCKcpHqlbYQf/YClKZGd51uCb+ACL/IcmYjR/El59wTLKvRXQ5bshYLBg5H1fUzMJAh4XL2Ru66wWnOusP2pf43pr36ew==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Uvk+06XhDS3sHMy4faMqGv7tUvWhq2BRDUqga52pPDk=;
 b=KvH5c8rwby58whWmpcfqu+ftFu5ojZNUtfOJO4MmZA31ko9ZQnwFDtsRmSLrIhElfPjvF0XPR70ZglyMf2ubt+uUzPqVswC5nQ4kWBTlqNWvu6l+g3+uQa0p19jFadKgsmoOPDLtpHtx9JHECD2bIyg5qR5tnlN1iQCl+DIq1qx/DJ8pF2iPYwW9UDKKyCywDh5pQ13M2pXVH7PnsMh34RQoZWueuPHRSOHoqcdnNw6kO/tqq7ZQeSe6UU02oyBOQLXc43Rk8HU2R5Bz17hJfYu0iDR4iQPPenJ1hjbuBvKW+kpxMTXok40wQX27iYRYkaaifhHUidomQfkm0og6QA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Uvk+06XhDS3sHMy4faMqGv7tUvWhq2BRDUqga52pPDk=;
 b=5WmFKdRSrAFrb1JB/chCAfIKPiaBLBcT8VCLwsDQBLDCNhrX7wKNn5rFKnCYsf/x8D0ncfmA6nQiyUx6cbgjDu5ex9wkXlGMuWTThV4ylK/3xyn+0srAMp0v881/RMM/LeOqtn/AoyUmQ8v3qHh+WjfHXXKwjtDaYTovwvvsse6ba+mBo4ADkgOoTbkKWZNnCnxFVpwCbD+8JZFIIuqSEWD/Azu7Rhozi2jprqJi7KpZC7aBg6tS2Y9YWGpJ2TlYlA3emq/MGFviafJBHVthIxwHaVNyZIB5/RzWqYvJVRNO9lx0XEyIXd7ycMOOD6hp1EVrwoPweCuVvydz3Sqnyg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c7b9ebaf-28dc-12ff-c1b3-9e7d9eab85ef@suse.com>
Date: Wed, 3 Aug 2022 10:30:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 1/3] xen/sched: introduce cpupool_update_node_affinity()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-2-jgross@suse.com>
 <266615bb-1465-f38c-5eee-ad2f4e7256fa@suse.com>
 <8b51d326-feb5-2aac-80f7-969ef8bd2ba6@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8b51d326-feb5-2aac-80f7-969ef8bd2ba6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0403.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::31) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 27d61d36-624f-459d-05a1-08da752a5c25
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2254:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nmXDri8TSZtUQFODvmj9PGBUa+qtLG4ahB3KW5ho8ReGVvKZKEUOeJ9ySf3oST+Xko1yg0uu+NuetKt3c7tGQiAArA3XqIPVSSbAO4XQvCCIGpZ8Zw47PMMjv/9FlQ2nL1xs8oJGKv1qxIhTt71TbMTCLLJ2qzcqNGEnS36bFdj4tGsreOzDgvPkOcF2E8RoO9O8IILhuqbs36+u4od8td7KZCWTZbFoifirOV8HrnSdA6AJpCYjtQ4o/ZG8JvTdk6Glgj58jRySEEIdxbUZHKO+YYW+x9FWV3XdkzZy3sQSCHpRsgptkOlJu04NrFjzU5mKnHwmBD0Ea5GECSl9Chdes5QhxNOpT+M1X+OAbCFu2lPI7mt/ly/+XuM9tg4hExkGTquGLitODKu4xGlzvb5cmXNbUqVlhFMsVc3s9KGtpWnzlquTYPlCK1Cvu0Am7OCfdVezHZacnWdGq7xVEgeUXzwR+IsMRJahzjnDDOPsDVEeOJIgFRhDKwcDQFiRCYgZQorFIeDaZSxBnUBsT4ExOjDE8qQVagD5n7uIMjAuMo6FgJSujc1UYEaaD5seXGEd3ygTGMdbpZ87zeyEZi+gHVe7NE0CCJjYTBLFvglg2m9PIAqXlYIMgNr+LhXQiTpBBBjVtUiMgsJk8F9r9b0iInfurMj5VjiXZd/Emh753Z7FkrNwqTOs21HCXcBrbUncpTqPBJeUQ3fH2YxnczKHkQAnAkazIItV7s5jxq9ItOLkvL+wB/6Kz1+Wg0Ocvt7UWbTjtWPwbrQKgUfVUQ/RC/3WkCdDKNh/cn6XKsA5z4Jz6q4N9oEG21q7y7++DLj3pp7t3/IXs9g5sXTxCQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(346002)(396003)(136003)(376002)(41300700001)(2906002)(186003)(6512007)(26005)(6506007)(53546011)(2616005)(38100700002)(86362001)(31696002)(83380400001)(37006003)(54906003)(66946007)(478600001)(66556008)(6636002)(6862004)(31686004)(316002)(5660300002)(36756003)(6486002)(4326008)(66476007)(8676002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjVBRjg3MmdZWWQwNWJTQWdsY2pVaHR6UnBnTmFHNE1vdHBrT2U1UkRXcCtN?=
 =?utf-8?B?Vk5DRERqNGp4YVFlR0k4QVNOa0RCVVdvTW1WTXdUYkxFR01XdGdUUEd4a0hu?=
 =?utf-8?B?ZitjaG02SUlVK3hmZ2pHUS9KUWRSZi96VVdyRFB1WXlwVWZrMVg0cXA1MFlF?=
 =?utf-8?B?cTFFa3ZqUVA0bnoxUXpuWVRpZWwyK0o1U1VMcHJnVkFJcVhIaDh1a3ZUeGRY?=
 =?utf-8?B?cnE2UU1iTW5WL0NaMFo2dkVNTUdkSml1aE9WRGxvMjJNV2pRMkt5RVFRSDda?=
 =?utf-8?B?SjlEWEMxYlFLcXBocCs5NTVkaTMyVTdENXFOVFFvd3diSXdKMGQyN3VWSGVj?=
 =?utf-8?B?aDVxcG52K1IzQ1djTlF4Z3pBeXZ1LzU5MGJHdk5GZlo1TmtkbkNxbG5sdzY5?=
 =?utf-8?B?M2xVNEdLcDBjRFlqRWR5OUhzdm9xSVVxcjh1dngxNEV5OWFjcWlEVmRCVmlW?=
 =?utf-8?B?K0hJTk4yN1hVdyt5VXBWMmphSmY3TE5NLzVFKzRvZzhRY2dDNGI5UlZHRTg5?=
 =?utf-8?B?SHlDQW9lWEQ1RFZMSjMxMmVMQWVmZy9GaWNzU1JXVzc1OWdDL3NpdmVYN0dx?=
 =?utf-8?B?NzhIbnZ1SFVnUXR1S3lXRUVzb0NJZUtMZGtoMGRia0Exb3RpdmkrdFhZa0dk?=
 =?utf-8?B?RDlOVExjeG1qZkFKdVZlSnVOcDM5MnowOXdBazduWXpqRXkrQmtQZGhaZEor?=
 =?utf-8?B?NytTczlNa3FpcG91a29mWVdZK3lUS3ByRnBVRGRDVTJWN2lSQ3RsV1M1bXpL?=
 =?utf-8?B?WkYwWnlJNnFxRGpsNFdMd1hSdndXeUVZU1BlaHNGS3B2TWFPNTFJNnAvN1Vh?=
 =?utf-8?B?dXBCKyswV0pnSHZkSGY3K2E3ZnNZd1QzUDFxbU9Ic1c5OVVWTmJHSyt6dXhs?=
 =?utf-8?B?SUNYVWlvWDBSbGswZUI5eTJycEk4dk9DRjUrVVU3SGwwZnVOSTVRckh1UXlw?=
 =?utf-8?B?c1QyMDV0QU9adW10WXcyR2JjQXFDd21PQ1pnRjNrMzF6NHNYMEF3cFczbnhp?=
 =?utf-8?B?Mm5Ra3RFR2VjV1BlbVJMYm5VR09ubzV4UnRSRjFCdzdXNUxUaFBQUEpXeDlZ?=
 =?utf-8?B?ZTgwMWxibEhHTEhnOTFoOS9vcXBqRm9TaWJkbzFNbnBFdEx3MUU1M2Q2Z3JB?=
 =?utf-8?B?NEx3enM0QytrZWI3Y1dvQ21ZUlg2SDY2dTNNZFNoRzRiZU5MMjNJVjR0SE8z?=
 =?utf-8?B?bjc3b3doSTVhQjZRVGJnZ1FCbVZkQUdEbVZ4MkRsQWFRRGczSnFIcVNxMnVt?=
 =?utf-8?B?d2drVk9nNEswZnRia3U2S1FIaWNqQmlOTFJYNFF2ZzRKbU40NnNDSjVUOFVl?=
 =?utf-8?B?TjZQNmQvbFh2Z1JWRVh0UWRIMXpRWG5adXpsVmtIZmt0Z2JPem9rWnhJd1NR?=
 =?utf-8?B?L1FZK2F4VVpCZDFmK2hIa0x1SzlVczNGWXVVSXBoR1dsTEZKM1JXbVJ1anR6?=
 =?utf-8?B?R0hNWDFUVmcrU3pUOFQyYnpGS3NPaWp2amNuaXg1WmwzZDIyNkJBMkpzRWxE?=
 =?utf-8?B?WXQ5eTRVTjMrQ0prYUdacTZBbloxaERjKzlKVTJ5N1NycnNYSG9lOWZPWTNI?=
 =?utf-8?B?d2JEMGZwMUs4Rm93RnE0cnYrRTlpWUV2dGhveUx6TUZLWFRId0RQbjFwSXlE?=
 =?utf-8?B?UTluYzk4VW8xdGZTVjdDRnFTUy9UM2ZtU2c0STlQL0FBTUNvL0JTNHBBZURJ?=
 =?utf-8?B?QkhFZTllNkR3TFQxc2wyNXpuRE1NMzVVVnZvZndVcmdPNDVvWlhCMm1hWWlR?=
 =?utf-8?B?K2tSanpTWWZlNjMrK0oxQlVYSFNPTHJNcFZxZ0U4Z0VMcjZRVmhnOVE4VlJi?=
 =?utf-8?B?RHlwa3Y2NXpXV1lHWDl0WjVFVGduVzROdDBVQjRQUW5BY1hxUFR1MFVtcUNL?=
 =?utf-8?B?YzRTQndJVnJxem1UN0VvTXlVU3luaTFQcWVKNjdNZXdNN29PQVNoYlU1SjBW?=
 =?utf-8?B?VjlkVFUrcG9FclpwcThFcndZZkVwT3RtN2h2MlRVSkVNZmRuV3YxYkVwV0dH?=
 =?utf-8?B?bVlKdVFWQkhEbXQ0TUlFWXlxMUltbXVqUm5UNXJvcTdrV1lmdUtNOUR3SkZL?=
 =?utf-8?B?SjNaSG1wakxrTmNyekp0Wi9GSXNlUEdkVzBtKytlZW94TnB5TFMycUYwbFZG?=
 =?utf-8?Q?/+ZOezL5Bl8YD/gxqG/J+GCH8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 27d61d36-624f-459d-05a1-08da752a5c25
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 08:30:02.2759
 (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: ZLZAgTM4Qnkk6v+cl7u9lxkEPtwDx02EB+5LL6nWYb8nSfQdJwd6ampvvNeKanIffWyO0eGflJsYOeaVp3TPvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2254

On 03.08.2022 10:01, Juergen Gross wrote:
> On 03.08.22 09:50, Jan Beulich wrote:
>> On 02.08.2022 15:27, Juergen Gross wrote:
>>> --- a/xen/common/sched/core.c
>>> +++ b/xen/common/sched/core.c
>>> @@ -1790,28 +1790,14 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
>>>       return ret;
>>>   }
>>>   
>>> -void domain_update_node_affinity(struct domain *d)
>>> +void domain_update_node_affinity_noalloc(struct domain *d,
>>> +                                         const cpumask_t *online,
>>> +                                         struct affinity_masks *affinity)
>>>   {
>>> -    cpumask_var_t dom_cpumask, dom_cpumask_soft;
>>>       cpumask_t *dom_affinity;
>>> -    const cpumask_t *online;
>>>       struct sched_unit *unit;
>>>       unsigned int cpu;
>>>   
>>> -    /* Do we have vcpus already? If not, no need to update node-affinity. */
>>> -    if ( !d->vcpu || !d->vcpu[0] )
>>> -        return;
>>> -
>>> -    if ( !zalloc_cpumask_var(&dom_cpumask) )
>>> -        return;
>>> -    if ( !zalloc_cpumask_var(&dom_cpumask_soft) )
>>> -    {
>>> -        free_cpumask_var(dom_cpumask);
>>> -        return;
>>> -    }
>>
>> Instead of splitting the function, did you consider using
>> cond_zalloc_cpumask_var() here, thus allowing (but not requiring)
>> callers to pre-allocate the masks? Would imo be quite a bit less
>> code churn (I think).
> 
> This would require to change all callers of domain_update_node_affinity()
> to add the additional mask parameter. The now common/sched local struct
> affinity_masks would then need to made globally visible.
> 
> I'm not sure this is a good idea.

Hmm, I see there are quite a few callers (so there would be code churn
elsewhere). But I don't think the struct would need making globally
visible - the majority of callers could simply pass NULL, making the
function use a local instance of the struct instead. Personally I think
that would still be neater than having a _noalloc-suffixed variant of a
function (and specifically in this case also with an already long name).
But I guess this is then up to you / the scheduler maintainers.

>>> --- a/xen/common/sched/cpupool.c
>>> +++ b/xen/common/sched/cpupool.c
>>> @@ -410,6 +410,48 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
>>>       return ret;
>>>   }
>>>   
>>> +/* Update affinities of all domains in a cpupool. */
>>> +static int cpupool_alloc_affin_masks(struct affinity_masks *masks)
>>> +{
>>> +    if ( !alloc_cpumask_var(&masks->hard) )
>>> +        return -ENOMEM;
>>> +    if ( alloc_cpumask_var(&masks->soft) )
>>> +        return 0;
>>> +
>>> +    free_cpumask_var(masks->hard);
>>> +    return -ENOMEM;
>>> +}
>>
>> Wouldn't this be a nice general helper function, also usable from
>> outside of this CU?
> 
> I considered that, but wasn't sure this is really helpful. The only
> potential other user would be domain_update_node_affinity(), requiring
> to use the zalloc variant of the allocation in the helper (not that this
> would be a major problem, though).

I was actually thinking the other way around - the clearing of the masks
might better move into what is domain_update_node_affinity_noalloc() in
this version of the patch, so the helper could continue to use the non-
clearing allocations.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:40:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:40:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379657.613284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9vT-000848-Cd; Wed, 03 Aug 2022 08:40:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379657.613284; Wed, 03 Aug 2022 08:40:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9vT-000841-84; Wed, 03 Aug 2022 08:40:23 +0000
Received: by outflank-mailman (input) for mailman id 379657;
 Wed, 03 Aug 2022 08:40:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJ9vS-00083v-5d
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:40:22 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8ab85e7-1307-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 10:40:21 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1AD371FF01;
 Wed,  3 Aug 2022 08:40:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id ED3FE13A94;
 Wed,  3 Aug 2022 08:40:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GdKkOHM06mJgbgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 08:40:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8ab85e7-1307-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659516020; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=rmxwKc+cjbFGrUjdX12bhI0xsVn6THtHpv07WhaHWMg=;
	b=bUS1WrgdB5t3wKOvnrf33fj8XenNahxXm+4IBf7cbxJ53vbo/mXtI+eTEwSsFd2fP2QZJ5
	rEZkTf8wy640Ap/puPKkf8v9w03f73UUU3nHYaW0p5nW5XLFdtvE7iXUI+Ya3r6nfNQjA5
	+7/1Caq1MsppbiKL+LQwzdK4fMur3Ts=
Message-ID: <cf447844-c645-a8ae-c675-8717e0fb125f@suse.com>
Date: Wed, 3 Aug 2022 10:40:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-2-jgross@suse.com>
 <266615bb-1465-f38c-5eee-ad2f4e7256fa@suse.com>
 <8b51d326-feb5-2aac-80f7-969ef8bd2ba6@suse.com>
 <c7b9ebaf-28dc-12ff-c1b3-9e7d9eab85ef@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/3] xen/sched: introduce cpupool_update_node_affinity()
In-Reply-To: <c7b9ebaf-28dc-12ff-c1b3-9e7d9eab85ef@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0QwxMs9rx1S3zR4SGaQAbnVC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0QwxMs9rx1S3zR4SGaQAbnVC
Content-Type: multipart/mixed; boundary="------------JSCmuscODUxe0d7aqmHayeH2";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Message-ID: <cf447844-c645-a8ae-c675-8717e0fb125f@suse.com>
Subject: Re: [PATCH 1/3] xen/sched: introduce cpupool_update_node_affinity()
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-2-jgross@suse.com>
 <266615bb-1465-f38c-5eee-ad2f4e7256fa@suse.com>
 <8b51d326-feb5-2aac-80f7-969ef8bd2ba6@suse.com>
 <c7b9ebaf-28dc-12ff-c1b3-9e7d9eab85ef@suse.com>
In-Reply-To: <c7b9ebaf-28dc-12ff-c1b3-9e7d9eab85ef@suse.com>

--------------JSCmuscODUxe0d7aqmHayeH2
Content-Type: multipart/mixed; boundary="------------Y0rizh7fsUEBonTQeXyXdcbn"

--------------Y0rizh7fsUEBonTQeXyXdcbn
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDMuMDguMjIgMTA6MzAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMy4wOC4yMDIy
IDEwOjAxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDMuMDguMjIgMDk6NTAsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDAyLjA4LjIwMjIgMTU6MjcsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IC0tLSBhL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+Pj4+ICsr
KyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+Pj4+IEBAIC0xNzkwLDI4ICsxNzkwLDE0
IEBAIGludCB2Y3B1X2FmZmluaXR5X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJf
dCBjbWQsDQo+Pj4+ICAgICAgICByZXR1cm4gcmV0Ow0KPj4+PiAgICB9DQo+Pj4+ICAgIA0K
Pj4+PiAtdm9pZCBkb21haW5fdXBkYXRlX25vZGVfYWZmaW5pdHkoc3RydWN0IGRvbWFpbiAq
ZCkNCj4+Pj4gK3ZvaWQgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5X25vYWxsb2Moc3Ry
dWN0IGRvbWFpbiAqZCwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgY3B1bWFza190ICpvbmxpbmUsDQo+Pj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhZmZpbml0eV9tYXNrcyAqYWZm
aW5pdHkpDQo+Pj4+ICAgIHsNCj4+Pj4gLSAgICBjcHVtYXNrX3Zhcl90IGRvbV9jcHVtYXNr
LCBkb21fY3B1bWFza19zb2Z0Ow0KPj4+PiAgICAgICAgY3B1bWFza190ICpkb21fYWZmaW5p
dHk7DQo+Pj4+IC0gICAgY29uc3QgY3B1bWFza190ICpvbmxpbmU7DQo+Pj4+ICAgICAgICBz
dHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdDsNCj4+Pj4gICAgICAgIHVuc2lnbmVkIGludCBjcHU7
DQo+Pj4+ICAgIA0KPj4+PiAtICAgIC8qIERvIHdlIGhhdmUgdmNwdXMgYWxyZWFkeT8gSWYg
bm90LCBubyBuZWVkIHRvIHVwZGF0ZSBub2RlLWFmZmluaXR5LiAqLw0KPj4+PiAtICAgIGlm
ICggIWQtPnZjcHUgfHwgIWQtPnZjcHVbMF0gKQ0KPj4+PiAtICAgICAgICByZXR1cm47DQo+
Pj4+IC0NCj4+Pj4gLSAgICBpZiAoICF6YWxsb2NfY3B1bWFza192YXIoJmRvbV9jcHVtYXNr
KSApDQo+Pj4+IC0gICAgICAgIHJldHVybjsNCj4+Pj4gLSAgICBpZiAoICF6YWxsb2NfY3B1
bWFza192YXIoJmRvbV9jcHVtYXNrX3NvZnQpICkNCj4+Pj4gLSAgICB7DQo+Pj4+IC0gICAg
ICAgIGZyZWVfY3B1bWFza192YXIoZG9tX2NwdW1hc2spOw0KPj4+PiAtICAgICAgICByZXR1
cm47DQo+Pj4+IC0gICAgfQ0KPj4+DQo+Pj4gSW5zdGVhZCBvZiBzcGxpdHRpbmcgdGhlIGZ1
bmN0aW9uLCBkaWQgeW91IGNvbnNpZGVyIHVzaW5nDQo+Pj4gY29uZF96YWxsb2NfY3B1bWFz
a192YXIoKSBoZXJlLCB0aHVzIGFsbG93aW5nIChidXQgbm90IHJlcXVpcmluZykNCj4+PiBj
YWxsZXJzIHRvIHByZS1hbGxvY2F0ZSB0aGUgbWFza3M/IFdvdWxkIGltbyBiZSBxdWl0ZSBh
IGJpdCBsZXNzDQo+Pj4gY29kZSBjaHVybiAoSSB0aGluaykuDQo+Pg0KPj4gVGhpcyB3b3Vs
ZCByZXF1aXJlIHRvIGNoYW5nZSBhbGwgY2FsbGVycyBvZiBkb21haW5fdXBkYXRlX25vZGVf
YWZmaW5pdHkoKQ0KPj4gdG8gYWRkIHRoZSBhZGRpdGlvbmFsIG1hc2sgcGFyYW1ldGVyLiBU
aGUgbm93IGNvbW1vbi9zY2hlZCBsb2NhbCBzdHJ1Y3QNCj4+IGFmZmluaXR5X21hc2tzIHdv
dWxkIHRoZW4gbmVlZCB0byBtYWRlIGdsb2JhbGx5IHZpc2libGUuDQo+Pg0KPj4gSSdtIG5v
dCBzdXJlIHRoaXMgaXMgYSBnb29kIGlkZWEuDQo+IA0KPiBIbW0sIEkgc2VlIHRoZXJlIGFy
ZSBxdWl0ZSBhIGZldyBjYWxsZXJzIChzbyB0aGVyZSB3b3VsZCBiZSBjb2RlIGNodXJuDQo+
IGVsc2V3aGVyZSkuIEJ1dCBJIGRvbid0IHRoaW5rIHRoZSBzdHJ1Y3Qgd291bGQgbmVlZCBt
YWtpbmcgZ2xvYmFsbHkNCj4gdmlzaWJsZSAtIHRoZSBtYWpvcml0eSBvZiBjYWxsZXJzIGNv
dWxkIHNpbXBseSBwYXNzIE5VTEwsIG1ha2luZyB0aGUNCj4gZnVuY3Rpb24gdXNlIGEgbG9j
YWwgaW5zdGFuY2Ugb2YgdGhlIHN0cnVjdCBpbnN0ZWFkLiBQZXJzb25hbGx5IEkgdGhpbmsN
Cj4gdGhhdCB3b3VsZCBzdGlsbCBiZSBuZWF0ZXIgdGhhbiBoYXZpbmcgYSBfbm9hbGxvYy1z
dWZmaXhlZCB2YXJpYW50IG9mIGENCj4gZnVuY3Rpb24gKGFuZCBzcGVjaWZpY2FsbHkgaW4g
dGhpcyBjYXNlIGFsc28gd2l0aCBhbiBhbHJlYWR5IGxvbmcgbmFtZSkuDQoNCkhtbSwgdHJ1
ZS4NCg0KSSBjb3VsZCBldmVuIHJlbmFtZSB0aGUgcmVhbCBmdW5jdGlvbiB0byBkb21haW5f
dXBkYXRlX25vZGVfYWZmKCkgYW5kDQphZGQgYW4gaW5saW5lIGRvbWFpbl91cGRhdGVfbm9k
ZV9hZmZpbml0eSgpIGZ1bmN0aW9uIGFkZGluZyB0aGUgTlVMTA0KcGFyYW1ldGVyLg0KDQo+
IEJ1dCBJIGd1ZXNzIHRoaXMgaXMgdGhlbiB1cCB0byB5b3UgLyB0aGUgc2NoZWR1bGVyIG1h
aW50YWluZXJzLg0KPiANCj4+Pj4gLS0tIGEveGVuL2NvbW1vbi9zY2hlZC9jcHVwb29sLmMN
Cj4+Pj4gKysrIGIveGVuL2NvbW1vbi9zY2hlZC9jcHVwb29sLmMNCj4+Pj4gQEAgLTQxMCw2
ICs0MTAsNDggQEAgaW50IGNwdXBvb2xfbW92ZV9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwg
c3RydWN0IGNwdXBvb2wgKmMpDQo+Pj4+ICAgICAgICByZXR1cm4gcmV0Ow0KPj4+PiAgICB9
DQo+Pj4+ICAgIA0KPj4+PiArLyogVXBkYXRlIGFmZmluaXRpZXMgb2YgYWxsIGRvbWFpbnMg
aW4gYSBjcHVwb29sLiAqLw0KPj4+PiArc3RhdGljIGludCBjcHVwb29sX2FsbG9jX2FmZmlu
X21hc2tzKHN0cnVjdCBhZmZpbml0eV9tYXNrcyAqbWFza3MpDQo+Pj4+ICt7DQo+Pj4+ICsg
ICAgaWYgKCAhYWxsb2NfY3B1bWFza192YXIoJm1hc2tzLT5oYXJkKSApDQo+Pj4+ICsgICAg
ICAgIHJldHVybiAtRU5PTUVNOw0KPj4+PiArICAgIGlmICggYWxsb2NfY3B1bWFza192YXIo
Jm1hc2tzLT5zb2Z0KSApDQo+Pj4+ICsgICAgICAgIHJldHVybiAwOw0KPj4+PiArDQo+Pj4+
ICsgICAgZnJlZV9jcHVtYXNrX3ZhcihtYXNrcy0+aGFyZCk7DQo+Pj4+ICsgICAgcmV0dXJu
IC1FTk9NRU07DQo+Pj4+ICt9DQo+Pj4NCj4+PiBXb3VsZG4ndCB0aGlzIGJlIGEgbmljZSBn
ZW5lcmFsIGhlbHBlciBmdW5jdGlvbiwgYWxzbyB1c2FibGUgZnJvbQ0KPj4+IG91dHNpZGUg
b2YgdGhpcyBDVT8NCj4+DQo+PiBJIGNvbnNpZGVyZWQgdGhhdCwgYnV0IHdhc24ndCBzdXJl
IHRoaXMgaXMgcmVhbGx5IGhlbHBmdWwuIFRoZSBvbmx5DQo+PiBwb3RlbnRpYWwgb3RoZXIg
dXNlciB3b3VsZCBiZSBkb21haW5fdXBkYXRlX25vZGVfYWZmaW5pdHkoKSwgcmVxdWlyaW5n
DQo+PiB0byB1c2UgdGhlIHphbGxvYyB2YXJpYW50IG9mIHRoZSBhbGxvY2F0aW9uIGluIHRo
ZSBoZWxwZXIgKG5vdCB0aGF0IHRoaXMNCj4+IHdvdWxkIGJlIGEgbWFqb3IgcHJvYmxlbSwg
dGhvdWdoKS4NCj4gDQo+IEkgd2FzIGFjdHVhbGx5IHRoaW5raW5nIHRoZSBvdGhlciB3YXkg
YXJvdW5kIC0gdGhlIGNsZWFyaW5nIG9mIHRoZSBtYXNrcw0KPiBtaWdodCBiZXR0ZXIgbW92
ZSBpbnRvIHdoYXQgaXMgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5X25vYWxsb2MoKSBp
bg0KPiB0aGlzIHZlcnNpb24gb2YgdGhlIHBhdGNoLCBzbyB0aGUgaGVscGVyIGNvdWxkIGNv
bnRpbnVlIHRvIHVzZSB0aGUgbm9uLQ0KPiBjbGVhcmluZyBhbGxvY2F0aW9ucy4NCg0KSSBn
dWVzcyB3aXRoIGNvbmRfemFsbG9jX2NwdW1hc2tfdmFyKCkgdGhpcyB3b3VsZCBjb21lIGZv
ciBmcmVlLg0KDQoNCkp1ZXJnZW4NCg==
--------------Y0rizh7fsUEBonTQeXyXdcbn
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Y0rizh7fsUEBonTQeXyXdcbn--

--------------JSCmuscODUxe0d7aqmHayeH2--

--------------0QwxMs9rx1S3zR4SGaQAbnVC
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLqNHMFAwAAAAAACgkQsN6d1ii/Ey+G
7AgAhoFED82+fQz6Hi5kkWvy21LYo+ccHBFczB/1749l8xeQYg4n/Rr5Ng7O70/OoJKSaGAvE0N0
2zev9F0VBI6kp9J6hh23c+fdy3U/TaeXaupcdWcXNKwGLfLfNx4mBWlhSJ7rOXjr79C2mvigV1qh
llOJbfRtR0QWtbONECbDgz8KvLJ5pkOA3OxqHM78EuY/DV73BKrwCNIw7+jLN6TtOgGLNrrgwJop
ej3CNhF1a5uScIAuPPWUMwXJ4H5S66c04Agid4/4W61NcY2HbClWg7kP49v5jRMtXBqCQ2bITyX8
89Qa3MB5WLejFcL6CAkWn7ba6HWwrcYLVd/Gps60xQ==
=zY6L
-----END PGP SIGNATURE-----

--------------0QwxMs9rx1S3zR4SGaQAbnVC--


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:44:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:44:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379663.613295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9zQ-0000KL-W5; Wed, 03 Aug 2022 08:44:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379663.613295; Wed, 03 Aug 2022 08:44:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJ9zQ-0000KE-Sr; Wed, 03 Aug 2022 08:44:28 +0000
Received: by outflank-mailman (input) for mailman id 379663;
 Wed, 03 Aug 2022 08:44:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MEIo=YH=kolabnow.com=brunoce@srs-se1.protection.inumbo.net>)
 id 1oJ9zP-0000K8-Ip
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:44:27 +0000
Received: from mx.kolabnow.com (mx.kolabnow.com [212.103.80.154])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ad146c6-1308-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 10:44:26 +0200 (CEST)
Received: from localhost (unknown [127.0.0.1])
 by mx.kolabnow.com (Postfix) with ESMTP id A7A2112D9;
 Wed,  3 Aug 2022 10:44:25 +0200 (CEST)
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id smlid3ENe6l8; Wed,  3 Aug 2022 10:44:25 +0200 (CEST)
Received: from int-mx002.mykolab.com (unknown [10.9.13.2])
 by mx.kolabnow.com (Postfix) with ESMTPS id 84CC0DF8;
 Wed,  3 Aug 2022 10:44:24 +0200 (CEST)
Received: from ext-subm001.mykolab.com (unknown [10.9.6.1])
 by int-mx002.mykolab.com (Postfix) with ESMTPS id 14C91372B;
 Wed,  3 Aug 2022 10:44:23 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ad146c6-1308-11ed-bd2d-47488cf2e6aa
Authentication-Results: ext-mx-out002.mykolab.com (amavisd-new);
	dkim=pass (4096-bit key) reason="pass (just generated, assumed good)"
	header.d=kolabnow.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
	in-reply-to:references:message-id:date:date:subject:subject
	:mime-version:from:from:content-transfer-encoding:content-type
	:content-type:received:received:received; s=dkim20160331; t=
	1659516265; x=1661330666; bh=qYF1jxPeRTibyXna7FJRkpjFPCiqhUYx6GZ
	bmjAos6o=; b=bZVZ/tOPZC2xvWRhi6w+2DXJ8qh12wt4kcX+RKi71trX84IfPCp
	UkQi1ZC01jkmh3FvukOwyDC1cIQON3VT4JLFTh/J9VK/jU8LGXEo7NviiYShZUDl
	UZBhKIxzlE4aZs8GmPUkffUBZDg2WCLt7NvQb8TttBJLnE6BRIZeYvC8TPjrL0WB
	rjyN9BziKc1TL9nZC/WPkD9tK4dzP9MhCPE4hl2T+7zNmv2AIVn9hKKxyOPsXmis
	NSjH8av1TjW0PReqzFMBZkxg4Q6Ao5OF02yZTsXAgZh91BmDKpGrkk/5yyC/O5zh
	jlbyn4oJMHwDOQD6VYPRDZVrSdOT3Ap83h7j1wnDowsmwxn4m3skM1dTz6n1XmBF
	CA/BlViAYNSTqik0YeT6dZ/9YnGyLDSlO3u207KZV8QTZ8n4P2f92aC1wU+rx5yH
	zrpBf2HeusJcWXh09pTkmnHlyBClvmdyslz3WadFOqJBOQrnarW9t/0B1Zrzpdbn
	6FMgk878xB7+sSz2bOSBWmEz+k5AlCCrJZvR/gUkMn7FivECJnpg66WDn55OeNGe
	73soGx/xv5Th+XZkLKl6J2QGB4HM0iNAsd2sEUIClyHQIuBQN33+fyGoPKx05YyK
	fo5xzGgUoM3WQC5Twvd31NKRTtXTbncbMZ+0eLXigOVTFxWL/31P+CBo=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-10 required=5
	tests=[BAYES_00=-1.9, MIME_QP_LONG_LINE=0.001, URIBL_BLOCKED=0.001]
	autolearn=ham autolearn_force=no
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
From: Bruno <brunoce@kolabnow.com>
Mime-Version: 1.0 (1.0)
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Date: Wed, 3 Aug 2022 09:44:22 +0100
Message-Id: <2B4EA247-D7AB-4CBB-A03F-966ADBD9A179@kolabnow.com>
References: <9ae39fa1-84f8-401c-85a2-3b6208e54d18@suse.com>
Cc: xen-devel@lists.xenproject.org
In-Reply-To: <9ae39fa1-84f8-401c-85a2-3b6208e54d18@suse.com>
To: Jan Beulich <jbeulich@suse.com>

Jan, I am glad we see this now!

Should I report this on the to the linux  kernel dev group?

Thank you!

> On 3 Aug 2022, at 07:34, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> =EF=BB=BFOn 03.08.2022 08:25, Jan Beulich wrote:
>>> On 02.08.2022 18:07, Bruno wrote:
>>> On initramfs:
>>>=20
>>> - xl will give me not found - I cannot do xl info or xl dmesg
>>=20
>> As expected - you'd have to handcraft xl and ints libraries into the
>> image.
>>=20
>>> - I cannot mount any disk, therefore, exporting logs from there has been=
=20
>>> photographing and using OCR then reviewing and correcting - but I guess=20=

>>> the main difference is ACIP, as I cannot access the disks
>>=20
>> Oh, I see. I was kind of expecting (hoping) you might be able to
>> export the logs via, say, a USB key.
>>=20
>>> I have now booted on kernel 18 to get the kernel boot log for you (the=20=

>>> one on Xen-user is kernel 10).
>>=20
>> At the first glance - similar ACPI errors, and a similar issue with
>> loading sound firmware. Using two different kernels won't really
>> lend itself for direct comparison, though. At the moment I don't see
>> a good way forward here as long as not even proper logs can be
>> obtained: It may be necessary to add debugging code, the output of
>> which would also need collecting. But maybe someone else sees a
>> viable route to help you ...
>=20
> Oh, actually upon looking again I spotted something:
>=20
> nvme nvme0: pci function 10000:e1:00.0
>=20
> Note the wider-than-16-bits segment number. Which, afaict, is an effect of=

> using the Volume Management Device:
>=20
> vmd 0000:00:0e.0: PCI host bridge to bus 10000:e0
>=20
> You may want to go through firmware setup options to see whether there's a=

> way to disable it / its use. Neither Xen nor the Dom0 Linux kernel (i.e.
> when run under Xen) have been enabled so far to make this work (and, from
> inspection quite a while back, the kernel implementation, during its desig=
n,
> not having considered the possibility of running on a type-1 hypervisor wi=
ll
> likely make adding support, well, interesting).
>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:49:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:49:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379668.613306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJA47-0000ze-Ha; Wed, 03 Aug 2022 08:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379668.613306; Wed, 03 Aug 2022 08:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJA47-0000zX-EA; Wed, 03 Aug 2022 08:49:19 +0000
Received: by outflank-mailman (input) for mailman id 379668;
 Wed, 03 Aug 2022 08:49:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJA46-0000zR-3A
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:49:18 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 284ffd31-1309-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 10:49:17 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0402MB2905.eurprd04.prod.outlook.com (2603:10a6:3:db::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Wed, 3 Aug
 2022 08:49:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 08:49:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 284ffd31-1309-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V54uwl3sqPJjweGLbeLpXUk9wzQEZp9KKO2i6mBbuhVSJkIUxalJhKsbDUetOAZ2aqXJDxBr9hElhHPFtURSNXfA2vdaDFxGH2vI3dWmT2FrQl2Ae1PlN0yOsP3M5/w7X3ZYanquWfnwHZgIgjEGbgRS7N2UiHeVZon80oYffUkBLFX/J97kdBdp642hZkMjLAVAOn+KkpT46KEkrhFIBk4oVC3VUe/v/NzGrPXzOJT4eYECcguvqpwAetwJkC/qTQarzqqUutuoxMSGXJ/osBDQzhZVUNOdt5/N5JUDR5LlKwTAPmLRwRj8SoEZQJkFE+iD4sMIWZzTB3X/MQHt+g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v9emCuXnKqxW5KkXlBgWfroq0jEpnPyV2AVkSB2KGyk=;
 b=QCtO33Wpodb6mLkQk5wotjnjrnWVEpTSBScFzPFlt1lkBVYOvA8Jyg9ZzYZZDAKVVNL/HmB64h+X4DqbPcM4MIDJCUEoz5H1Mr2W9fcYTbZpuE0NRIeaud7KIrwqViF5oDCZUbPbCGQ0OCRxES+1sRd9J/aVsMSXXeatVhL+szg0d2fPpK2ekFAvfIz3SDrlONz36r2fAeLc9FeKm2rendvvDM+/UBeZTaaPdEqkorDmHZvh1ByVzpFfxl8xlNodS06ud7rig56r15mr/liu9x/BlmufFDkeCR0BCNUtuLpnn8gAW4PgzJhtYT6HODD14hwr6ecTcRRKTSMy5MYQ0A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v9emCuXnKqxW5KkXlBgWfroq0jEpnPyV2AVkSB2KGyk=;
 b=ABVGDaE4jNyaERBSPzxCVN4syQMfo4Cdk1fxr2nmZIVHdOocxv+DqH5teRJt64wzvWH38Nfyg1kUnV7wZR/3VBdE5wxxbN1e16UpNQPo8aSxIJYQWWhcIWFuFlaJIZfNcQtObC08qPkKc1zRwqlxMozaDvFuwWTOXGnl8uCb0fEn4kiMGdDk9pCI7REPzZhncW6I+KF8vMzVTSkWuuuSA51HxDmkesvr8c1p7DvyjgiUsUPnqZBAvyR4nWMVL+e8GLOSgEg2qeVD6rsvWPoWdjNH8Qbdkd96npjgWK5mdhx90vKMS9N/MJtWXS1k+LObx24ObjmTVUP50KocI2nZWA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <780f6ed5-24dc-9df0-2d40-f00ea467808d@suse.com>
Date: Wed, 3 Aug 2022 10:49:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Content-Language: en-US
To: Bruno <brunoce@kolabnow.com>
Cc: xen-devel@lists.xenproject.org
References: <9ae39fa1-84f8-401c-85a2-3b6208e54d18@suse.com>
 <2B4EA247-D7AB-4CBB-A03F-966ADBD9A179@kolabnow.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2B4EA247-D7AB-4CBB-A03F-966ADBD9A179@kolabnow.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0402CA0023.eurprd04.prod.outlook.com
 (2603:10a6:203:90::33) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: afe615f9-af13-45ca-65a8-08da752d0b7b
X-MS-TrafficTypeDiagnostic: HE1PR0402MB2905:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GXqfPDrAPwIJc1afbl7KXnj2X6ppC4btwJR7oXdqXE68bNW7Pt/UhKShYQI6q7bjJ566b/F47m0o1tKRhH02ETlQNwixLmtdcEN9unTY5nfMVJ9F+ini3EtUs9qxwzD/T63tArPYFiUzzT53ijGh4mjGefxmKh7Rh1XRiAvxD8tZLIJAkOY3GkG+QdN/tQBiBQm7ICETvsR7ipoiiyJGeO5PaTtEEbBY/oN+GAXy6TL6yuNib/F1wULDlY0ASIgLuF4yjpwQmI0w/AQktM4RFoqFTYxbRUN1Hky89oHsy7DAGk8x/kVBzBtYg38quIoNwagHVS9hS6OMGLPc+ldg3UJ5W96sKH2HTBGD0+npE9EaePZe6jgG56ES/IOrvgcm+JTGz7XR3tAnifOwAbDBhYoUhFo/T3ShvwYr7Y32EsPZSxOiVMG9CtgDL/CyeuISLGNnyMyE8BrU8MZQZRpDIdvQD1c2KP6l9lT/co/MpXMNqdoyUi+KH+YxNyWWOvxMaFzzbj1VCS1xzvXFQdMLKz9gMAA0W1yZoPncOUpIzHEv1pPrjvd6Yt2v4jOIRufdgYTh0eavz9ftF6LLox6G8F9P72+aKdKBqI9tLpz+KozQ0EtaKlhwqNQtb51tGTnEUE1QijoGd1UGxi089Eu+jCnyVeJhA2n8eH7i99K6Nn5yVEAt46PecMsbr/tAEkdxpi7YVZww+TC2hdAjJ9ZF8woyNdJEfiMe9/Pg371AabiMp0pvlNk/gQefUU2Jf8hHhZQIS9ONxeS3bzkrSvOfroCXPn7qVblQ016ZRvdN6YKCwt8clI+Zabi51cclIEpAMSmhriOMTyTflnOVYK3QVA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(136003)(376002)(39860400002)(346002)(8676002)(66946007)(66556008)(4326008)(4744005)(186003)(66476007)(2616005)(36756003)(8936002)(31686004)(5660300002)(2906002)(478600001)(6486002)(53546011)(316002)(6512007)(41300700001)(6916009)(26005)(31696002)(86362001)(6506007)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NFlUa0VqcGxQOHZmT09mcUtxbjl1bW1uVXpWUVZ6aWNFbmVTUWdneGZ5a0kx?=
 =?utf-8?B?SkR0VjFsbDlNMVB2SHBhQVFheElpa1JWRjNGM09zQUtFUTEweG9QVTI0Uy9G?=
 =?utf-8?B?MW9rSFZNdkdiZ0UzejB3WXBNWFAxNE5Kb0p1elhnUzR4ZzNjT0k5THJtL1p2?=
 =?utf-8?B?UjhiYk5yLzliWEtLaytsOVlWbWw1cXFiNU1YaVdJa0w3NkxBNXhTakRBZU1N?=
 =?utf-8?B?S3dyaUlpYjcyYkUwYWNDQWhqRHoydjhmZjRjRGZDdU5xTzZrVm1CQ0g3N3RS?=
 =?utf-8?B?TnJpM2xoSnhFYW0vQWdGRUwwZC9XNFR2YXJ0YXFWQ3RucW9leWVJWnpNa0tD?=
 =?utf-8?B?Y1NLZUNBODlHRVlYN2g4ZThkZThFWk01MlY2T09SRW5qYXVpSFNydHdBTmt3?=
 =?utf-8?B?N3lwUnZ3MTJpYWhQajVLVVNaSGd1TE1nd2lYMDdWTDhjWEhzUnJOTk13MFl6?=
 =?utf-8?B?bkFTVkh1TFY4SGh1UFFFUTFYZUQ0d3J1NGtIZFEyTlk0OUNqcWZGT1JLY3hk?=
 =?utf-8?B?RitVNVlxZCtzTWNNRnZPK1lidmFRc3BFdjlPZW5pbXVXdGU1cjUwQmJNam9n?=
 =?utf-8?B?SWtFalNIc2gwak11cGh6cmNsU2wvdUY0ajdCWmxDclhZSmwyTXBXdC9RZ0x2?=
 =?utf-8?B?L1E0SFM0bmNhT2U0VE5QTjhWc0o5WlhldHhiWUhONEVGcS9Id2Z0dFgvejZY?=
 =?utf-8?B?VmF6bHdtTkZJZmd5ZTBoNlMxQ2NYaUtTcU52OGljWEZwYXkwQ2I5TGU1S3Jt?=
 =?utf-8?B?Y2RTdWMzdHBzM3BsSDRta3NkdFA0ZHk1NUZ2aGppbXdFS0xBdGM0cmw4SWln?=
 =?utf-8?B?eVlEeXlmV1dHeVlLQkVmOEtWMWVtWUt1dVNVSDBlV2ptTG1vYWhoU1NPbGtK?=
 =?utf-8?B?bFNOazJwUUMrbGtzMmZ0di85dVhUNFgrMk4rZFN2cVRIOGF0dkZSakVjVW5m?=
 =?utf-8?B?M2xEbW9OYWpabWNGSnZURnlpNUdKZGVxRjhyVkFZbDljVjAvU004NlVhajlB?=
 =?utf-8?B?ODNFT0VMalVOd1R5ZmEyRGZ5UHJVN2hQUjhhdnp4NHdyMjdhSHo3bCtUcy9t?=
 =?utf-8?B?dm1tb3hpQ1ExRHZZT1pyNXRucFVnRjVPUTZkcGswdVU3b3IzUjJualc3UTgy?=
 =?utf-8?B?S3pOZ3BGaEpqcmRuY20wRkV0cDZ4UVZERDRheU9NeXhlVU15Q1pZdm5EYXZS?=
 =?utf-8?B?OU1qbE14MDNWV2EwWUlGZlF4NXhlcmtWTkxxSkhKeVhJT0Z5SXRnRTBVUTlD?=
 =?utf-8?B?YkJzclhvbG1IbDBkbWp4OFZSVzVKc2d6TUx0QXpJUGdGRUNWM09VMDhUdGRF?=
 =?utf-8?B?YXZESUJPZFFYQlI1cDlZSnNJWTgrL0twRGYxdWJUOFRYZm9iWEI1bmd4ZXpD?=
 =?utf-8?B?UUJHUjBIMGlHWmt2MFBpbmpvYVdwWmtSTUdwVTVRTFNXMVh2RmJFeEVTbFBp?=
 =?utf-8?B?UDViM1NFOHp2VWQ3WnQzdHlseDRrWldWWGF4bGhnNGk3YkhTNXQ2bHZmT1dD?=
 =?utf-8?B?SVRMMTRZV3Q3Sk1GZTlqcUQ3aENueEJnZFUvYmJQd2toV2hHMWdiZ2U2VFht?=
 =?utf-8?B?R1MxOHptQi9JNnlPa04vZTAyTWN6SkpxOTAyQ3UvNk5HR1AzaU5RWjQrMlNS?=
 =?utf-8?B?WEMzMmxDaWk3K0VCOXg3R2NUV0d3SENtUXFKSXA4RzhHMlJCb0RraGdwWmUr?=
 =?utf-8?B?TVYvU3JVWkF0VTRYNDdpMmpFSXN5V0dBRnAwVU5RZURHaXVxSWNTSjU2bWFF?=
 =?utf-8?B?UUxyaVB5M3REaHgrREtuNGIzdEg3RTByL0tnbzdCaEdyYlI4OU5JL1JHVEdV?=
 =?utf-8?B?LzJ5ZnR2TUQ2ZWE1VFM5bFZ4Sm9TYyt1MFNHdVBuRGtOKzlTbmhSN2w0QS9G?=
 =?utf-8?B?U2R1NEw5eVdoYTVYdzVzczA3VUlRVW9ibEdDRnRrTWNHN2kvS0J4Zyt0Q3d4?=
 =?utf-8?B?MzlFNG9uekNmMTNWK0hlY1hPdElTQ3lpQlhkZVg3ME4yVDk0Q2xYK01kK2w1?=
 =?utf-8?B?TXN6a1NxR0FzODJyaDJYWXNWKzZ6aWZkNVlaZy9iRmRWLzlweDFLOXpSYnBq?=
 =?utf-8?B?TVlIOTZZbC8zZWpKcmFtT0krcEV3S0JQalN2dnE4eUYwVWwrTUNtblBHYXJG?=
 =?utf-8?Q?+G6bTEuVzXR2w6Xm8NDbMbhCb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afe615f9-af13-45ca-65a8-08da752d0b7b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 08:49:15.4835
 (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: cBGSZ2BZh5feT478lOO8zxoHmMLSGVjvlDFO+Tw7UvCZfm85gTH0/j43L+WIk6Q0ZimA59YzVCLw+wsckWB31w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB2905

On 03.08.2022 10:44, Bruno wrote:
> Jan, I am glad we see this now!
> 
> Should I report this on the to the linux  kernel dev group?

While you might, I'm not sure they would care. Work needs to be done in
the hypervisor first, with Linux making use of the added functionality
(i.e. presumably a new hypercall sub-function) only afterwards.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 08:56:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 08:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379673.613317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAAr-0002QP-B6; Wed, 03 Aug 2022 08:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379673.613317; Wed, 03 Aug 2022 08:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAAr-0002QI-6n; Wed, 03 Aug 2022 08:56:17 +0000
Received: by outflank-mailman (input) for mailman id 379673;
 Wed, 03 Aug 2022 08:56:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MEIo=YH=kolabnow.com=brunoce@srs-se1.protection.inumbo.net>)
 id 1oJAAq-0002QC-JP
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 08:56:16 +0000
Received: from mx.kolabnow.com (mx.kolabnow.com [212.103.80.155])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21757c6b-130a-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 10:56:15 +0200 (CEST)
Received: from localhost (unknown [127.0.0.1])
 by mx.kolabnow.com (Postfix) with ESMTP id D77F712D9;
 Wed,  3 Aug 2022 10:56:14 +0200 (CEST)
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id p9MO9HShvuko; Wed,  3 Aug 2022 10:56:14 +0200 (CEST)
Received: from int-mx002.mykolab.com (unknown [10.9.13.2])
 by mx.kolabnow.com (Postfix) with ESMTPS id 7CC6F1C2;
 Wed,  3 Aug 2022 10:56:14 +0200 (CEST)
Received: from ext-subm001.mykolab.com (unknown [10.9.6.1])
 by int-mx002.mykolab.com (Postfix) with ESMTPS id 354D51B7C;
 Wed,  3 Aug 2022 10:56:14 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21757c6b-130a-11ed-bd2d-47488cf2e6aa
Authentication-Results: ext-mx-out002.mykolab.com (amavisd-new);
	dkim=pass (4096-bit key) reason="pass (just generated, assumed good)"
	header.d=kolabnow.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
	in-reply-to:references:message-id:date:date:subject:subject
	:mime-version:from:from:content-transfer-encoding:content-type
	:content-type:received:received:received; s=dkim20160331; t=
	1659516974; x=1661331375; bh=h9zijXmNyPCKBkZwpkuvqS7w/Uh8kfYbxqG
	U6ZKonS4=; b=34t+3UuQ0A5j7wOags1Pyl8MAE9w3lOy1a1Ba74qsZLf6uHRyeW
	pqCO/Dcjsesk5yB1/5k5f41JopKn9ZBRcGvjQxGBk3c/pKMTFAga4TpMu7Sw1Srl
	UA6d8SwmwPT3K8mHg2xSYvFLtzf1ptFLLWwpF0XvNlmMWCGhSO3KDm/exZvhelSl
	yJ6VWJBjmwwNIQkXVB0nju42ML1dQ3XPhjHms4Gy5nIemZUBHZfbVDOLklLDqutQ
	gOJxmd6Ig9vqxBzIQn7f1JYePn8hDj/K7IHLYHvoNAaResaqQ+ZV7VZ7fG7MYBtM
	ziQOcs0xvdtMo1l+s91SXZsp6oIv91KjGfKMUA0pyP5LIB4D6jpBKxef1K1LmwkN
	VTOjBVoR8pdrU2TBAst1LPSz5SLXWUs1yQvAAa/s4KbGId3Zz8PLtVSybcZfcIbB
	gvUJBzi517JCetRkKeNNwwSYv9zMXa8jcDebx/h3dRqe/YsIzYIJnO+9Mhfy8IXU
	xiwXOeJ9jbDoDhL6D36WWzlFvomuefb1oK4S0/rXx1vVsbXPKSAiaOaMK39KywOU
	oni1g4t83+mG8LbxbqEidTkMzJmq9yPIs5nxkJpZuwnEwlKi1wBwcT3QFBtQLcrw
	C4N3w4eoXYhrIavrOJrdSsAdP0Fu/kerQDPk6/BUAlJLeFbllEm3RUog=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-10 required=5
	tests=[BAYES_00=-1.9, URIBL_BLOCKED=0.001]
	autolearn=ham autolearn_force=no
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
From: Bruno <brunoce@kolabnow.com>
Mime-Version: 1.0 (1.0)
Subject: Re: Acer Aspire 5 A517-52G - No firmware ACIP and no boot
Date: Wed, 3 Aug 2022 09:56:12 +0100
Message-Id: <EB26D6B6-A0AD-4DF4-AF9C-3C59FB213BF7@kolabnow.com>
References: <780f6ed5-24dc-9df0-2d40-f00ea467808d@suse.com>
Cc: xen-devel@lists.xenproject.org
In-Reply-To: <780f6ed5-24dc-9df0-2d40-f00ea467808d@suse.com>
To: Jan Beulich <jbeulich@suse.com>

Understood. This means, someone in this list might be interested in picking t=
his up and implementing a solution to it to the code.

I am glad we have this here now.

Thank you.

> On 3 Aug 2022, at 09:49, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> =EF=BB=BFOn 03.08.2022 10:44, Bruno wrote:
>> Jan, I am glad we see this now!
>>=20
>> Should I report this on the to the linux  kernel dev group?
>=20
> While you might, I'm not sure they would care. Work needs to be done in
> the hypervisor first, with Linux making use of the added functionality
> (i.e. presumably a new hypercall sub-function) only afterwards.
>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:08:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379678.613327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAMU-000418-Cz; Wed, 03 Aug 2022 09:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379678.613327; Wed, 03 Aug 2022 09:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAMU-000411-A9; Wed, 03 Aug 2022 09:08:18 +0000
Received: by outflank-mailman (input) for mailman id 379678;
 Wed, 03 Aug 2022 09:08:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJAMT-00040u-7G
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:08:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJAMS-00047M-Ny; Wed, 03 Aug 2022 09:08:16 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=[192.168.5.217]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJAMS-0000id-HO; Wed, 03 Aug 2022 09:08:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=omntIGbRmalpCHa0iV7OEFUIIbYk4pjArzDVUV0HWxo=; b=Es+Gxx6qUMI2yHD2ByYtEcGgK8
	eH+wZ8H+tu5rRBtzkJ/uskI0a0p2QJulvWSl+5e3dAxrJ+oSH240VjFWO2XxeBtb1TAcDf0+98079
	li4atO1sYPqiJwe3g0vZcR+l2NGaVoDGRXPYp1CVAEjcughctikLqsRKm3oKfcSlkZGQ=;
Message-ID: <4a05282b-cb5b-5004-6d1f-40db208c4057@xen.org>
Date: Wed, 3 Aug 2022 10:08:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v2] arm/vgic-v3: fix virq offset in the rank when storing
 irouter
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Hongda Deng <Hongda.Deng@arm.com>, xen-devel@lists.xenproject.org
Cc: Wei.Chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220729083602.390484-1-Hongda.Deng@arm.com>
 <f3d19d31-6e91-44c6-5233-9cc8ecc569f2@xen.org>
In-Reply-To: <f3d19d31-6e91-44c6-5233-9cc8ecc569f2@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 03/08/2022 09:19, Julien Grall wrote:
> Hi Hongda,
> 
> On 29/07/2022 09:36, Hongda Deng wrote:
>> When vGIC performs irouter registers emulation, to get the target vCPU
>> via virq conveniently, Xen doesn't store the irouter value directly,
>> instead it will use the value (affinities) in irouter to calculate the
>> target vCPU, and then save the target vCPU in irq rank->vcpu[offset].
>>
>> When vGIC tries to get the target vCPU, it first calculates the target
>> vCPU index via
>> Â Â  int target = read_atomic(&rank->vcpu[virq & INTERRUPT_RANK_MASK]);
>> and then it gets the target vCPU via
>> Â Â  v->domain->vcpu[target];
>>
>> When vGIC tries to store irouter for one virq, the target vCPU index
>> in the rank is computed as
>> Â Â  offset &= virq & INTERRUPT_RANK_MASK;
>> finally it gets the target vCPU via
>> Â Â  d->vcpu[read_atomic(&rank->vcpu[offset])];
>>
>> There is a difference between them while getting the target vCPU index
>> in the rank. Actually (virq & INTERRUPT_RANK_MASK) would already get
>> the target vCPU index in the rank, it's wrong to add '&' before '=' when
>> calculate the offset.
>>
>> For example, the target vCPU index in the rank should be 6 for virq 38,
>> but vGIC will get offset=0 when vGIC stores the irouter for this virq,
>> and finally vGIC will access the wrong target vCPU index in the rank
>> when updating the irouter.
>>
>> Fixes: 5d495f4349b5 ("xen/arm: vgic: Optimize the way to store the 
>> target vCPU in the rank")
>> Signed-off-by: Hongda Deng <Hongda.Deng@arm.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:25:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379686.613348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAdE-0006PW-TJ; Wed, 03 Aug 2022 09:25:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379686.613348; Wed, 03 Aug 2022 09:25:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAdE-0006PP-Qg; Wed, 03 Aug 2022 09:25:36 +0000
Received: by outflank-mailman (input) for mailman id 379686;
 Wed, 03 Aug 2022 09:25:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJAdD-0006PJ-Q1
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:25:36 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80047.outbound.protection.outlook.com [40.107.8.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 397669d5-130e-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 11:25:33 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR0402MB3713.eurprd04.prod.outlook.com (2603:10a6:208:d::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Wed, 3 Aug
 2022 09:25:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 09:25:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 397669d5-130e-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lOwqGT8T+dcOunE9Bh+pMfFD7kdPAeKpDFIJGelJQupDVIBKwQ2JZQQ6+mRpmVVdz/xbZBBTvHtirMR708WMG/XZxGq++wD05aDx8YkojLFFBS4XKkwL9j52YqxhDOkd/vWWEtNhZdR+fd9dubX44ci6IgF7O4NqQ8aTE5ymjwT9/W/8r0yfpylb2TW8TkGYmPIK7XfrfWAOYeFLYbj0JOzWPm7X3ChK31hiqdGr2EdqrqMV2/406pAQ39vwhMalbpgW5pCf3ti/pN+d4ZXia1mA+Nj1lpA8lpxNKpzUclQpVQsQ9V4CiMXERJCrOXpOa+D6abeNSEZby40YJszJgg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zsLCwVlatWs2AQpVFwqvYMRezc71wIrbFReD0y2UrJA=;
 b=FuAWHiyd6aDLlexPT2MNdtVHq/ythnINSXX2cR6h1MaIH0GkOkK4wQrpbGa2Cg4WsVnLVMoHQrfqhqkXQJeVxpSp35XZXg6WzlG5ZROGbU9MARQxTW57uHTQ7sjGKR18ishNBrvNJbgWHy5/ciFPlFbZTnmNxlbfzkBTtKdN0KLJUrVAkJ+BGrjTraa6ZJiEJ37ruoGzeBaq6Fj8CdA9tOTWhwVilzvX9/pSw7PXZZhn32lwvj2YSYGPMSlmbrZWa2Za5AvBmuL8loiCLlSDZihQjZiTisjq7Aqx1lH8vHiqyDazdy4iATNg5yNsDHXlHPkY2tNNVGhzhB9PR8BGJw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zsLCwVlatWs2AQpVFwqvYMRezc71wIrbFReD0y2UrJA=;
 b=HdK5U33nyM4YT0dtgX3J/rxB8ITtrRVcpF/un8iTOt3hW8kupL51hNR3ANPSAsW+u0CFUuHGb7zPaDkP313++kVAAF2OO6M5jq7ZBZqbnDEatoMuv965Fg7lUv7I/njLeYQlipnotEkV60ApZoQlOF/rIrbK7QDwW47JaahFtkRkviZvUxG5z5Ir5f7XuZaVVcoL25ekE4dkVbVttE5S62T9RMdCrxx/m28SHj2NfqXggQy+R1zE9lUW+N8mfs1K/62GbNcUxqhOXb1BhzKPMlaMOaF4gYN8pZu0jqlhM6H/NIuokuT/riK2Yf0onqDNBzam9wwQar2rimPaeguGwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5b68bc1d-e920-bae8-52c9-809d9f4919f8@suse.com>
Date: Wed, 3 Aug 2022 11:25:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-3-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220802132747.22507-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 466bff97-ee2c-418e-6958-08da75321ba4
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3713:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IsspGVYO9Yaf5CBfksViHFJf7IdSbtl7V2eYeFkjU3Ny0zi3Rxy9ZcXTKnficVj/0tYP9nQsfckQVVEA7rKIJxELjqOvF8Ll1vBETYjqCRFyz7Zqtv8BytxSgJvDkMRQd3tYwOEBPdUz1AuDLXkIIT0moAdUnXQADaMfbIYqqdlRVtZ2WxY2OYiox18Mq0WCMFJx6trB53LnIJFM6PRpu0Np6Ji1WxVvL96mPoeWGfvgsbdQ+LbzpbWOks58gJc5SQX/PcPbAG9MI8u8cW/ZgoKcYIp+TJDPrglOyf/4Xssj3lHRZ4jimoziUCTedy5oy4SkWZVYAIZX3m4eQVNR7XJvAH+RpE75SmrOErdkB9tPy/Au51m0ymNzmqeZlG/F7sRJiOjRN43olMPm8mkfrGd9zkFGMBNVd+SPnilJ2ShO0T0+ypp9BopTDHeVGJ+UdPxBGylc8XWYqrhWVLcJmS+1SwSJNKfaYEpgOqTt9Ap37eiEhXY/9z68ymxxEby1No2t0gyQe+NisdZ8daPwgE6kcNll7753Am38ulsOOJNoupZrce8EfQ+br96m/xQ5YOmF/dd8uOHHis53WvmJ7L+Dh+YAB6Y7y219etYOBlhxXiZxn5WB2xteZzM/5nja4w6GPDgRLGVKrG8xpNa3ne//0SEnXlzxYk6bXxlOnChB+jo29JKPFj0U8qWoBgDkEUVTz5eAJBHzEH6ceU9wISErC9ax+bkY0Sn1m+R1j2E6fa3gPSHRpyGwoKsedLg+MMu+Gyd1aXTY7xyNrHFBbUmmEvYI31xlbDCfBwRn/WDkYgKmchfR9IpGKUMwOM/mAaEf5HRlmZP5gUZmlkYQGA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(366004)(376002)(346002)(39860400002)(5660300002)(6506007)(53546011)(6862004)(41300700001)(8936002)(6636002)(54906003)(316002)(37006003)(38100700002)(66946007)(31696002)(86362001)(66556008)(66476007)(2616005)(8676002)(2906002)(186003)(6486002)(478600001)(83380400001)(31686004)(36756003)(26005)(6512007)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dEZzdGxuKzFCRU5hanJMVFVYMVMyK0FhWmRzbTUxVkd0RysxQ25MMWF6cEdH?=
 =?utf-8?B?aXcrRmxLYnY0bFhjOFhOU1FybFhzdHdrWGR1ZUdJeU0waUQwa3ZsT2ViZDN1?=
 =?utf-8?B?ZUdnNllySVJzTVV2dUxjL2NTWWxrdHpTTUlNMG1keUNvd1RyeHhMeGRQOC8z?=
 =?utf-8?B?aWdrNzhtQVUyWUQ1bmhROVZUTXU0V0FyY2g5UFRiczNOeUc3NmN6cjZzNklw?=
 =?utf-8?B?U2tvR3hsR3QwV3FvR3plSllmeUVJMUxGUWh1d2RKcFNBR3FVcFV6WE5jYkVQ?=
 =?utf-8?B?TmtvQURmN2UwZ0ZjY294UWhjMkpTcnM4RXlnNzkvcWE4S3oyU3l6ZDdXUDZl?=
 =?utf-8?B?MzJ0NkNvV2hqMWNzdDlRa09pQksrRndrdGdpZVZKZE8vYkdJMkR6UmJQaGZ2?=
 =?utf-8?B?dFNFcFV0c1FmZ2cveStPakord3lURjN5U3pIS09vSHRpVnAxaWgwVVVrQTdH?=
 =?utf-8?B?SDMvWTRFSllScVNxK0RTbStYaG9WSGFUY2pLT2pPT2JqTjJHaEdoSDM2cWtC?=
 =?utf-8?B?eG1GVVNhdnNkb3REdUhMeW81Vy82TkFOK0RlSnp3THBISnBYd2JDVndJTDlP?=
 =?utf-8?B?NW12RzBNV25vTnlpV3dKRU12cittYWJ5S01oUnkxamhVM05iQUdkaGN4RDlh?=
 =?utf-8?B?NFBOOHN0V2psc1dXVFRkaW9BTUgrRko0bmphakhyYklaNC9NN3g2di9oOFdz?=
 =?utf-8?B?c1BQZE1wcm54ejhxbHlaN1VOZVpvKytURzNIZDVLelhLbEFwclJjcER3UFVM?=
 =?utf-8?B?VW9NZlpKd01qTU1hc294N1RNOUxkbVA5bGtPM0MrZ1puWCtXd09Oay9NT1o3?=
 =?utf-8?B?cUQ1M05lc21YeTVqaTZ1NDY5MnNDdEtzQ2pUclFNbkdrbm1jRmQ4YXlUdU1G?=
 =?utf-8?B?eU9ISy9vdWMzZCtvOVdCOVpIeFRuSXdTRFJGM0I5TTAydlFQMGRpclMwRHNn?=
 =?utf-8?B?b2l6cThuNWpzNFEwTnJHN0gwR2Y5bDluN1J4QVRNdHJQWUZiRVFRYmpMaWQ0?=
 =?utf-8?B?dktXOFJsWWNKTVoxNDhyWXEvaW9ZTW8xUWNnOGxTd2lraURLajBtWWNUOHFJ?=
 =?utf-8?B?ZXFCb3hhNFBxU0djNnNVR08zUkhlU2JsbXg3amtYZjYyYkR0WklLV0NDblJl?=
 =?utf-8?B?NHNDUis4dW9nSlNDOFI3WG9kMkljYnlia01wMFBubE9DOTg4TmpzQkptZlBx?=
 =?utf-8?B?TE5CWVRTOVZQRVROSHArVjJlOSt5aUZUTVFkbzNWc1I4MmR2Y1h6VzF6b1Ba?=
 =?utf-8?B?UlUzUHlpZjAzd2x6bmV3MkhGMnoxU2dHUkh3cU1LWVRSWUhDSFFnWmtSVVY1?=
 =?utf-8?B?SHlUOFZHdzBkMHB2aVJhYzJsSmJCV1Y4UzVqSm9ncEErOU1vVERBSUNEc256?=
 =?utf-8?B?YkRBNVpocFI4SWN0MlU1VllqT1BaVUpZZ2JIRkszcGx4QVF0aEJnNTVNM3lS?=
 =?utf-8?B?S2I3bXBCZWFCT1FEZ0dIcVZMTWREMmFscW9KKzFJaExHWUhNWW5KSmlYRFlw?=
 =?utf-8?B?dExwRUk2NzRmUHp1K2VGeC9oK0pqWWVkWjlZd2liNmZKMVUzd2R4bHhhUzV0?=
 =?utf-8?B?RlVzLzg1NytZU3FsYWhuSkRsNzdMVGhhQlB1SUNlNWNaT3V1S3Zyczg1ZUxt?=
 =?utf-8?B?OG4xSWZGaXpiNEFoZFlmN09qSVJXbzVLV3RJRzFaV2REUnRuTkRiVklsRXFu?=
 =?utf-8?B?cktCcVFBczhFTk9sbmtWalBudWhyZkoxWkp3ekVLcjVHTkM4ZkZxTnNMUnVS?=
 =?utf-8?B?YlNMZVlXenJFTitLMjdYbVBvcVRtM3NabU40ajdxZWl4QjYxV0ZzS25zelg1?=
 =?utf-8?B?amhuaVdBUk1DTzYwUkxjZUlIVnAxL042KzF0RFd1WWlQR2lLOWhLa3U1dWVI?=
 =?utf-8?B?V05yNnJ1Q1pIL09sbHdFcFg5bU5mZ09WS1BKeEFuaFdzbUQvbmZPeTd0WEwy?=
 =?utf-8?B?eml5NmphWDdnWjNpR1dxVzgvdUFzakx6Kzk3ZDFOMFQrM08rSDdVMUV4R3o0?=
 =?utf-8?B?TFlmNmdYODJlVXB1dHpSM1pXNFh0U3JlcnpqUStaNEF1dm5tWWcrV2RQZFdo?=
 =?utf-8?B?d2JSWXdlSzNzOVg1S1VMT3lMRkoydml3MG80eVZxemlFcklIa01QTnZtOEJj?=
 =?utf-8?Q?Xo8SAVmXZZ5DsOcj05W4mf4d9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 466bff97-ee2c-418e-6958-08da75321ba4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 09:25:30.0014
 (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: qLgQvz4OK3UCrYL0EptfVBJB5I3V6ZiJYKSXIZOERbbxfLpVOapGV9YTyrOO1HY2kkl4WDWY8035p32rO2um2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3713

On 02.08.2022 15:27, Juergen Gross wrote:
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -3190,6 +3190,66 @@ out:
>      return ret;
>  }
>  
> +static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
> +{
> +    struct cpu_rm_data *data;
> +    struct sched_resource *sr;

const?

> +    int idx;

While code is supposedly only being moved, I still question this not
being "unsigned int", the more that sr->granularity is "unsigned int"
as well. (Same then for the retained instance ofthe variable in the
original function.) Of course the loop in the error path then needs
writing differently.

> +    rcu_read_lock(&sched_res_rculock);
> +
> +    sr = get_sched_res(cpu);
> +    data = xzalloc_flex_struct(struct cpu_rm_data, sr, sr->granularity - 1);

Afaict xmalloc_flex_struct() would do here, as you fill all fields.

> +    if ( !data )
> +        goto out;
> +
> +    data->old_ops = sr->scheduler;
> +    data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
> +    data->ppriv_old = sr->sched_priv;

At least from an abstract perspective, doesn't reading fields from
sr require the RCU lock to be held continuously (i.e. not dropping
it at the end of this function and re-acquiring it in the caller)?

> +    for ( idx = 0; idx < sr->granularity - 1; idx++ )
> +    {
> +        data->sr[idx] = sched_alloc_res();
> +        if ( data->sr[idx] )
> +        {
> +            data->sr[idx]->sched_unit_idle = sched_alloc_unit_mem();
> +            if ( !data->sr[idx]->sched_unit_idle )
> +            {
> +                sched_res_free(&data->sr[idx]->rcu);
> +                data->sr[idx] = NULL;
> +            }
> +        }
> +        if ( !data->sr[idx] )
> +        {
> +            for ( idx--; idx >= 0; idx-- )
> +                sched_res_free(&data->sr[idx]->rcu);
> +            xfree(data);
> +            data = NULL;

XFREE()?

> @@ -3198,53 +3258,22 @@ out:
>   */
>  int schedule_cpu_rm(unsigned int cpu)
>  {
> -    void *ppriv_old, *vpriv_old;
> -    struct sched_resource *sr, **sr_new = NULL;
> +    struct sched_resource *sr;
> +    struct cpu_rm_data *data;
>      struct sched_unit *unit;
> -    struct scheduler *old_ops;
>      spinlock_t *old_lock;
>      unsigned long flags;
> -    int idx, ret = -ENOMEM;
> +    int idx = 0;
>      unsigned int cpu_iter;
>  
> +    data = schedule_cpu_rm_alloc(cpu);
> +    if ( !data )
> +        return -ENOMEM;
> +
>      rcu_read_lock(&sched_res_rculock);
>  
>      sr = get_sched_res(cpu);
> -    old_ops = sr->scheduler;
>  
> -    if ( sr->granularity > 1 )
> -    {

This conditional is lost afaict, resulting in potentially wrong behavior
in the new helper. Considering its purpose I expect there's a guarantee
that the field's value can never be zero, but then I guess an ASSERT()
would be nice next to the potentially problematic uses in the helper.

> --- a/xen/common/sched/private.h
> +++ b/xen/common/sched/private.h
> @@ -598,6 +598,14 @@ struct affinity_masks {
>      cpumask_var_t soft;
>  };
>  
> +/* Memory allocation related data for schedule_cpu_rm(). */
> +struct cpu_rm_data {
> +    struct scheduler *old_ops;

const?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:29:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:29:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379692.613359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAga-00077F-FO; Wed, 03 Aug 2022 09:29:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379692.613359; Wed, 03 Aug 2022 09:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAga-000778-Ce; Wed, 03 Aug 2022 09:29:04 +0000
Received: by outflank-mailman (input) for mailman id 379692;
 Wed, 03 Aug 2022 09:29:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJAgZ-000770-Af
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:29:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJAgY-0004VH-IB; Wed, 03 Aug 2022 09:29:02 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.5.217]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJAgY-0001fC-Bc; Wed, 03 Aug 2022 09:29:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=tz0ZO9PH2uZOPqsTrl+pk1vk2oyFhioQJNmwT85gGkM=; b=lLvLTikOzRHPZQZFd/a0E2PSlj
	zKNlUdUXQ5r2yzfBf49T2bYvanunq0FwMnuV3MR5Se7/G5DzPdG5jqWTILeu6GBf+3y1kFXLXJqMu
	6+ahF7CUjb7SVj6b7z9ddD0D/mAdz91tcCqIUoXVFyfsHcK3iN/6U/HxbKri+xAX+WsE=;
Message-ID: <e52776d1-ed65-cf0d-bbc8-1431c183d73c@xen.org>
Date: Wed, 3 Aug 2022 10:29:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: preparations for 4.16.2
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <5622e17f-c424-87a4-d7c4-bbe1dee4743c@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5622e17f-c424-87a4-d7c4-bbe1dee4743c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

(+ Bertrand)

On 27/07/2022 08:26, Jan Beulich wrote:
> All,

Hi Jan,

> the release is due in about two weeks time.
> 
> Please point out backports you find missing from the respective staging
> branch, but which you consider relevant. I'm surprised in particular
> that no Arm backports have appeared on the branch at all since 4.16.1
> had gone out.

Stefano is meant to look after the backports so I have held off doing 
them (although I don't really want to take that responsability :)). 
Below a potential list:

- af570d1c90f1 "xen/arm: Advertise workaround 1 if we apply 3"
- 95604873ccf5 "arm/its: enable LPIs before mapping the collection table"
- 407b13a71e32 "xen/arm: p2m don't fall over on FEAT_LPA enabled hw"
- aa1cba100bff "xen/arm: Avoid overflow using MIDR_IMPLEMENTOR_MASK"
- ee11f092b515 "xen: arm: Don't use stop_cpu() in halt_this_cpu()"
- 6655eb81092a "xen/arm: avoid overflow when setting vtimer in context 
switch"
- 25424d1a6b7b "xen/arm: head: Add missing isb after writing to 
SCTLR_EL2/HSCTLR"
- 800f21499e0e "arm/vgic-v3: fix virq offset in the rank when storing 
irouter"

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:29:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:29:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379697.613371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAhL-0007fM-PI; Wed, 03 Aug 2022 09:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379697.613371; Wed, 03 Aug 2022 09:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJAhL-0007fF-Lu; Wed, 03 Aug 2022 09:29:51 +0000
Received: by outflank-mailman (input) for mailman id 379697;
 Wed, 03 Aug 2022 09:29:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qDY/=YH=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oJAhK-0007f7-QJ
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:29:50 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60085.outbound.protection.outlook.com [40.107.6.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d14dd29f-130e-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 11:29:48 +0200 (CEST)
Received: from AM6PR02CA0001.eurprd02.prod.outlook.com (2603:10a6:20b:6e::14)
 by VI1PR0801MB1919.eurprd08.prod.outlook.com (2603:10a6:800:89::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Wed, 3 Aug
 2022 09:29:44 +0000
Received: from VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:6e:cafe::4b) by AM6PR02CA0001.outlook.office365.com
 (2603:10a6:20b:6e::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Wed, 3 Aug 2022 09:29:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT038.mail.protection.outlook.com (10.152.19.112) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Wed, 3 Aug 2022 09:29:44 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Wed, 03 Aug 2022 09:29:43 +0000
Received: from dac534fd900f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AD0CC219-6965-418A-ADBC-A2A787DA18DD.1; 
 Wed, 03 Aug 2022 09:29:32 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dac534fd900f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 03 Aug 2022 09:29:32 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by VI1PR08MB3040.eurprd08.prod.outlook.com (2603:10a6:803:45::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.13; Wed, 3 Aug
 2022 09:29:30 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.014; Wed, 3 Aug 2022
 09:29:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d14dd29f-130e-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=CHRZOx7AnQm5pEb+w3QPbD/SJLe7E+ZraC3LAAzADOQ87LtLRntK54ny+P3R/nYm28w7Z0lPnGEmAtUeHF7uQni547g8kl0v+Ip5k1L+ZiwVrhwSuSmdpqZxqWX1ZIIBqcq32azQT2bGiHphqfCMlbY5EUb7bsvy6A+ONvd3DP+o6Pm7SBFu6JeGViVLsIuG73WoV6zl6guZBF4szxlhi+ULhuvTMDo2XjZgKqYi3PfudNSOlXTsCwpwrxHKDOxl8WZbhcGmffTC4efjr9RN2YGh7CdD5eFWdR8hAdYspCKGiY91cTP6KlV36flgTJsoJp3gQ71kJyW8D6cnNVtuAQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e7LsUQkASUsQ3/xYCcyDKys2w0HCjo9W9ByR8ZAk/lU=;
 b=Yf1XovYjKIVVauMrYuM1BseGZyGDwQUkZkUwxdYs5P9io+UYMauI4+mTWpp5cRTB/k7fmz0xj19lhMkX0Obe/zTYNsH5hoqHnvgHt9n6Uox5rExw0Dj95h/AQVdU+rU2I+7pDm7hhI6bT2z4xf2d/9vNe6NwNQd3De5l9pGYRPYpk6MJ4NXXHpjuBeSODeS4UaYpZzBOhYnDffLiLEahgCh7xzoYKJtno5z5kvN5FKg6aEBrSmElN8C6QgAoWr5aJbdjJLZEpN/dlesv5T4bR3uhtKGaNbN5i/T3hzjVvSy9Zg3sSkQ9ix27CtVDZ+VjUcqmp+NDtOmC9r2VH5j61Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e7LsUQkASUsQ3/xYCcyDKys2w0HCjo9W9ByR8ZAk/lU=;
 b=vydB1bSXtPj5uu167AYH+c6kfMZAJv1W3GtQDEj0yYzun2Unc7MxctrVIteY2Ij2hsaMmGvHWvWGyA+Miy+gUaGIFdWKfj+KD+sN2UiG4+vK+uwmlYrLD+A6nHaM/YRsyasUqB9whK23higaBG2WSMCaOc5BpS3goBHCY17P9HA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 996fb032c3153cb3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DjuKaPiY1RDCHYLFV6KZghMbVYVvNrGXw+ti1sYZIl3bNvzBEAIiBue/CKijFSp3BZvNy8hJRTiXi2neH2udn00cU4lGa9SUHCPBA8Dx3y2JLit5u5Disemup79RI44/r95WD7pnqxgfUSXew9c2xqvDTz9Uxf3alie0ZLZg/3nNY/XA9VAK/5W6JoWzz1yYBiPQG6t1Fx1bZ67IY0Skc8EIu4/G/+f5EIaqCwU47rwkjGNOjaBrmSYKmnUwT8cJ5K8u6sdQAugCKC9zEC3CLJ72cjDvkGFcU3gF4G/1N0iaHvuC4RN5T868OpRk0wcq7Y9re7tF/p+rE4N3aDj6Lw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e7LsUQkASUsQ3/xYCcyDKys2w0HCjo9W9ByR8ZAk/lU=;
 b=nPeLRPQhXztJg3sopEAKtCCuCqdP0lXie1gxGAZVHCvRCinjQlUCTuR9JOfNhEpuu3/bTZNUvffNf00AaiEbVjFUJLL/NtZDUXtBVzC237HZ5cxWw6CKK01IPujxCByfrAjI+HRWtHKtNgLD6M+Xmc4eyFGe+hlJT5GJ51OR7lvwsT3t8rQlpQcixtluvQcd1Bxqn6QeaWtNNGhC8qi57ibithLfqE1hOxbdaFBnbALMhVH88rc+vD3+bwNbsAq1wrHgF8R6foER0e7+vueRN+Y1iVMyqqHQIp6HZVdG+K/y2EcygXkTnr+/mDmTsZgsDSZeFvR18imBlXvFcybGew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e7LsUQkASUsQ3/xYCcyDKys2w0HCjo9W9ByR8ZAk/lU=;
 b=vydB1bSXtPj5uu167AYH+c6kfMZAJv1W3GtQDEj0yYzun2Unc7MxctrVIteY2Ij2hsaMmGvHWvWGyA+Miy+gUaGIFdWKfj+KD+sN2UiG4+vK+uwmlYrLD+A6nHaM/YRsyasUqB9whK23higaBG2WSMCaOc5BpS3goBHCY17P9HA=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Oleksandr <olekstysh@gmail.com>
CC: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH V7 01/11] xen/pci: arm: add stub for is_memory_hole
Thread-Topic: [PATCH V7 01/11] xen/pci: arm: add stub for is_memory_hole
Thread-Index: AQHYm5cPHjzDoLlJ5UyWUT58Xfo5Ca2VmV4AgAdmg4A=
Date: Wed, 3 Aug 2022 09:29:30 +0000
Message-ID: <304DD889-A643-42D9-9B60-7B34950A127D@arm.com>
References: <20220719174253.541965-1-olekstysh@gmail.com>
 <20220719174253.541965-2-olekstysh@gmail.com>
 <8e912bdf-a93f-c3d8-8906-8132a8f30035@gmail.com>
In-Reply-To: <8e912bdf-a93f-c3d8-8906-8132a8f30035@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 97f85829-8d17-4c59-cf60-08da7532b32f
x-ms-traffictypediagnostic:
	VI1PR08MB3040:EE_|VE1EUR03FT038:EE_|VI1PR0801MB1919:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1yVIPJZFunP9EQqfmq1PsPxZT1Y93QtSvRUUjtsgojSfqc8tzly/k7Z2eYidlSkObEenczs6quUTYpILfeJAYGUh0e9vJRBgiOo8AjhQtJMwb7EkIKL8T2N6XVpj/YLrTgKK2hB0HJepzFR/XWdFROiTGrcDf9KtrpCQAm6pTFSyNMw6GA2rvhWj5mCNWQqyO3vXdMDD7he/zmAinzh8LbboRmP9Uixz6TGA+cPFhGvtxqpDV3WHBnM9hez/xKM9oDpPixKchABhQGNtIw1DwiyoyqaLtA0muw2zpRA9DlGPthKtRCnqQJuZBaWb9f7D7yn3M4DQsHv/7IoyAuG1XBXiNCDPbwNUSxkqXwoFUxMU1D6k0ESqbZqzxD3wvCaFv/9yX50yPPf7TGgh8QSviaD1gh+JvHhFpQRIGGAtZvvqSx8r67A/s0/5v8lyPEhK6QszIVCn4FCGvMu2/Mw7n8LQM+/ogTDmbmLl034wHySnhSumK2Pk5TxEtf9qHenAZ2sEvDb9cdx2zU8YEDQNy9N/l8inhwReq0AJCKaCWdpGGM60YZELG76drUn8Xewmp7QMtwv9k8dVEwUcDxkVT58+azEnrb/jjtAuS/o6eiAvBwTMRrQHPUAj40k7poJw1J3JdZ4yxL4FhERtRdDkkSE2+0OieJvK0mWiZFpN1Lq4HBI34LSohW+6UJ4QdW8JQgjjbjWkln07b+a1d3XQICKfF++EjLL1TNKZtWUFgw4NRj+QhEZFWTZTB33/LbSNZWtF54RuZoCseGCuEv8lJ6hX56axW1Ckfkf7wjtShLjtekGCeI7rYcZzQ33UFc7xkl7Y75vpMM50guDx6W5E3g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(366004)(136003)(376002)(39860400002)(346002)(83380400001)(86362001)(5660300002)(8676002)(38100700002)(6916009)(122000001)(54906003)(2906002)(41300700001)(2616005)(33656002)(316002)(478600001)(66946007)(53546011)(36756003)(71200400001)(6506007)(91956017)(64756008)(6512007)(76116006)(26005)(186003)(6486002)(66446008)(66476007)(4326008)(8936002)(66556008)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <6091193A810D834AA33682FAB467F235@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3040
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	52f758c3-f306-41e6-fa32-08da7532aad8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eoZYj7+bqA4PfzlYfpxd1xIlmurk0MAovS+EHT/9ICcIuPauv6ni/FZI8FF5p5KTCMEXHxEJIe41W1BcilN2r/kV5vnx/3lg0SgP6LtREtR3/0KS3ML6mC698t1ExLT4kgWMD7H6NtHpCEvHDI1nY0Hef6YLyfLKg/cCc7rJKcgywkKfhASbJNiW0fWJROi4aG/7J6fjS2UF2OyRaaRBf6+Is40Sc5E229RHOgvZPbZ9n6oFEm3EoIi4dNCB1JQ7UzFLoOp6R3dv6R0HmTSAe+bHT6n+5WDGBKyhQk829OjFttwQ7tay39qToEhmYQDiFUUTOgA09secqUouP3ku5p5LUY8PENI8GquaXGp0Tn8ZhEMZ6Kpv8BjQUTLB6ger8ygy9eiSVJtGIRdWDzPAemBgKT4wnG5PToRn28yMTI5MppxVfqTOmIA0acV13ZVm2WDbgbYAoVtQSRf9aIUr6bcOqSbiTdEhbBMjDTfMQhaI3OuTceN6SLrgjtX16cJYx0J9P53q/ZxzN5yQIx7KUJ/aObH7hbdnNbbl8R2Qx8z02O9TuRfWpSNVqY38iQTwJh0ITCQKItQprDf9jsajmKZWDsAVUcBjy7vRdJXn5vVSkmA1txofOGhpB8J5QDAPVDQnJOHY65DqHkXzhtDS98bAgWWH0UF4N+2UtUWg0l/YcwLVBi9ZHGdQjST36VFHvJUp7UFAoqf619gIutwroBFGv5PHrIpJOCk9mSwIcuHyI7nlEqkNaXNvmJGv3sgRljcytn8IadnyKRf6epSAjwClbQgrZGYPsxJbMj3IY5RC31Dgl/vfiGpD8utr4rLk
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(396003)(136003)(39860400002)(36840700001)(46966006)(40470700004)(33656002)(82740400003)(82310400005)(6512007)(26005)(53546011)(6486002)(6506007)(6862004)(41300700001)(356005)(478600001)(5660300002)(81166007)(4326008)(40460700003)(8676002)(2906002)(8936002)(86362001)(83380400001)(36756003)(54906003)(316002)(70206006)(40480700001)(47076005)(186003)(336012)(2616005)(36860700001)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 09:29:44.0322
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 97f85829-8d17-4c59-cf60-08da7532b32f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1919

Hi Oleksandr,

> On 29 Jul 2022, at 5:28 pm, Oleksandr <olekstysh@gmail.com> wrote:
>=20
>=20
> Hello Rahul
>=20
>=20
> On 19.07.22 20:42, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>=20
>> Add a stub for is_memory_hole which is required for PCI passthrough
>> on Arm.
>>=20
>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com=
>
>> ---
>> OT: It looks like the discussion got stuck. As I understand this
>> patch is not immediately needed in the context of current series
>> as PCI passthrough is not enabled on Arm at the moment. So the patch
>> could be added later on, but it is needed to allow PCI passthrough
>> to be built on Arm for those who want to test it.
>>=20
>> Copy here some context provided by Julien:
>>=20
>> Here a summary of the discussion (+ some my follow-up thoughts):
>>=20
>> is_memory_hole() was recently introduced on x86 (see commit 75cc460a1b8c
>> "xen/pci: detect when BARs are not suitably positioned") to check
>> whether the BAR are positioned outside of a valid memory range. This was
>> introduced to work-around quirky firmware.
>>=20
>> In theory, this could also happen on Arm. In practice, this may not
>> happen but it sounds better to sanity check that the BAR contains
>> "valid" I/O range.
>>=20
>> On x86, this is implemented by checking the region is not described is
>> in the e820. IIUC, on Arm, the BARs have to be positioned in pre-defined
>> ranges. So I think it would be possible to implement is_memory_hole() by
>> going through the list of hostbridges and check the ranges.
>>=20
>> But first, I'd like to confirm my understanding with Rahul, and others.
>=20
>=20
> May I please ask about your opinion on that?

I agree with Julien we can implement the something similar to is_memory_hol=
e()  for ARM
that will check that the bar is within the bridge ranges.

If you are okay you can discard this patch in next version of the series an=
d I will push the patch
for review.

Regards,
Rahul=20


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:54:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:54:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379702.613382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB4p-0002WR-HO; Wed, 03 Aug 2022 09:54:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379702.613382; Wed, 03 Aug 2022 09:54:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB4p-0002WK-ER; Wed, 03 Aug 2022 09:54:07 +0000
Received: by outflank-mailman (input) for mailman id 379702;
 Wed, 03 Aug 2022 09:54:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJB4o-0002WE-4z
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:54:06 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70059.outbound.protection.outlook.com [40.107.7.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3527466e-1312-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 11:54:04 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6997.eurprd04.prod.outlook.com (2603:10a6:20b:10d::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 09:54:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 09:54:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3527466e-1312-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fHmzoZ9PD0JUAVh0l8TzcDK4Agp6v7WHvkvqyXLefsqZyslBUVH2zj+373W6IPOcnNHfctdjzau5vKHA0S3dIt8qYd5blYKkNpPF9Ca2Law8Zt/Rvth6j6KWz+QYOWlrJx7Wj0sJJlCGTzvqzNmdEL06+Dh5vxkYj6fUMWAB4jxKKReKTOW9NUdiErYrg0xFIh+z7AEeMaNuBSU4PVHykVfesmtHlI9iXlatz7Lo4xUOWiKCl/0t6hlWeoK7IEDPkfDRWq2ST13Y/Eoir4vAplho/HRodGBtuusHznwXSC/OzAXmf5citjJEZZM2Ak61GEDnJgzQBi9OTklOr0TCLQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OrxfcXFh9W0zd2oH848VcrHh92XV350TXYsea945MoQ=;
 b=f2zbmliRQtu1jhu4JFgABiLfjLlFwUrk9swFQe7apTiPhyPpAeX5e4ADT5rJIm3oIksy9Z2jQw5UxEN27cKBkhWenifsSsanX3j3yqmGMR5n4rA9LzDM6CNz/Sceq60JFGQydO3T4LZ4iN84Memcgdp9mUKAXO+33E1LlYqW+DkLUGBJQcpWWiiIN4leh5MKK9hy3to4sZq+j5ibCQBsnXA7bJpxcVTPF3Lv/dcAjUrWqst0zI7FNcEPgm+dAw9C+A7v5emVR+KydZ68eM2PuzMNZp+KuwKxR7h3/Hc5IRN/QPs49SCNnaplNe8vwQSue9AQoyNrQx+hgnaV3nG7EA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OrxfcXFh9W0zd2oH848VcrHh92XV350TXYsea945MoQ=;
 b=asYjFKMIsmIQBU7DyCuZgFyxHEwTHr1XfdT/dZc+2hgvtJjo1+3KoM9iD1IBuEWafiR6GHNFer3v2TbaGpf8AndItfQ7odX+BdcVHNqdSxV33Wi3KRoibLasL0roAaQYwf0r9q7QXTeYhezMkQPTFOmhHKEqeY3G2ubWdDW1nGjF7JfB4h/JhG6N33o9entMYgAf4PjBymn20aR9RY6dFr7XwbteuA46AxtGMlmXpgVJHv/3ibmndDaDeLo8Yhu7HBCsNWVvVC/wrhYZ5zR3w0ZrwIEZvrwNl8v0TlPBY1IJOLpM7wihF/Gs4wR0bLkk3NAtmBxBwvdmfQ3hJYCKDA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e62049ce-09e4-f457-f849-16ce9c581145@suse.com>
Date: Wed, 3 Aug 2022 11:53:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 3/3] xen/sched: fix cpu hotplug
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, Gao Ruifeng <ruifeng.gao@intel.com>,
 xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802133619.22965-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220802133619.22965-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5P194CA0003.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:203:8f::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1e712610-e732-42ad-18bc-08da753617aa
X-MS-TrafficTypeDiagnostic: AM7PR04MB6997:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8Qw+YGczz/ELiFiRKQDWiv8KpwanJrKXugb9o62ITa3PS04gZcil/cuUjdRVn1VY13J/TZylojrrE3icBEc3uq5Fu0Di/CTsUGSc+e6vQVBSd/T6eTHqR5FzU9LKUAfLJhr1S6V1MdTXt5FJt4/TEHle5crtr8WgN2D5rHJuuThHpnwFkzmwLPaE8Gv8kNO1rd6xaMolwxIv8PdGrgjXT3IfE5wN6oJC2n++MYbq5GL0z8bT23A1LQVbFzNE7Lwrl8bPIMr2Ygn9YjW35uLUeMNNfj7RNJNzoWACRZItIGMnEhQ2VFztVMLRRM2w/dBtvaxOkRm2CXMG7KRHmKx/SAJUfKd5nWwEJjzfzUIaa+uzAfrqPqbI0TFPev7Se24Jx/DSQdsMyDmcm83PIZgABq6SpWuYhV9smQ7PmQY9MUmv7AKyD/r9Oo6qo0C4jGm+XnaJXcLRlnqaikC4R/GoiKCB1TO/5jPqLbeTzBRqik6yd2UPWVXEkDuKfmkf0ErAI+Z+885W1DY5ZJ0NNMSg7BQ6to14NnKjXzVIGn3xP9rSoBiZzI5C+eDH1ioPoD6umyUOkmm6AeXxF81Jc+TVXD79CqYWh0018gnEnxz1MlIxnHU2yMzZ94RJdbMRr21riAZcoN2Tv8vw4GvCJWjNfIky+1tWNSHYSezHaaK7B3RV+ALMKBmFSV4hrHErKqs/gSeBOdZHtmvFp6ZU1wgzYcXpG9rrJcgxXklRJpzirxgdOKezOb0uRrOilitKRQa0XFuwLcg3ttdqmcFlfKvHymfO1ZDZkwpczhrE2dX8Gun3tQUXexn9lKQKOnyvImz5kXS+1WOjtZMEW9GHHXGPkA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(376002)(366004)(396003)(39860400002)(86362001)(31696002)(6862004)(8936002)(6636002)(53546011)(31686004)(37006003)(316002)(2616005)(5660300002)(36756003)(41300700001)(478600001)(6486002)(186003)(26005)(6512007)(83380400001)(2906002)(38100700002)(54906003)(6506007)(66946007)(4326008)(8676002)(66476007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U0JLaURsT1kzQjA1T2YzL0d5MVhGeVZaN0lvZUJQRitOajFPb0RyUXNzQ2R1?=
 =?utf-8?B?d3ppeEhKZnlsT3YyYkJVZ214elJDYlVBbkRwNGV0TFRaay90MU1UcFhDOEJN?=
 =?utf-8?B?T2lCTHhucEJWMlg1YnBTTmtmcGNJTEJKbUFlS0phZDQwWEpPd3o0R3hTbUdh?=
 =?utf-8?B?aFFiLzVsYk0zNWNpZWZQUmh0WWk2TnVSK0RubHQ3clZ0cVJMc0ovcjB4TlZp?=
 =?utf-8?B?MjNzdDZNdVhTRE5kekdGanVxUlFsd2J6Yzhab3hQZ2lsOFgyWXkyeHJ3K3Rl?=
 =?utf-8?B?a2hzQ056a3g1NXV3dEV3dmVLKzdsQ2hOMVR5QzRKQlpkSCtQdUp4b3cwKy9j?=
 =?utf-8?B?ZU91TWhHSS9BYmF0ZDh4VGhKRlZBU3lvKzVqaGduR040ME9jRUEzc0pqNXNK?=
 =?utf-8?B?SytLMDhUem1uUC9PbWkrWk9CM0huMzR2VTBlcDl5Q1R4eWNMbGMrMkRXa3Vz?=
 =?utf-8?B?SWVPZXJxclJsdGZFeXpVOHpWOUpNVm0xQWNjaExQc1JYeTRYVGgwNXQ4Zll4?=
 =?utf-8?B?aE13YUJzSTlIcVN0VHJDRDJFK1ZWQitCSzNTcElXSkVpWFVBTFhKQk9hYTZt?=
 =?utf-8?B?NUt2aDNaQ2liVnR6bWZXWjZ1SmR5SUZsYTJBU0FZdm5paENKT0JMMGZSVVdD?=
 =?utf-8?B?bjJORXdaRVZOcDMyUTMyTkNEN0hhMXBCV1RJN1h6Qm5YVlhnL1JIN09oOU5z?=
 =?utf-8?B?VFlhR1ZCL21RTTlPZ1VVYnRodXpPS2V2K1kyRlFMM2ExZ3J3S1ZYMHNNdmZL?=
 =?utf-8?B?REtsZndRckMvMWl3YTU5b01xUk10VUtJLzVrMzVFN1BDOWNrYUFGS0R5WU9B?=
 =?utf-8?B?Qnh0T2tuUGlJOFJYR3RhSnVpbnhBRFR6ZDVTRGNBZlJ1UzlKN3oxQXA5L0xn?=
 =?utf-8?B?NDBRN3FOaDJlZzFCMlIraXdtSktVWGpaaU9JU3pMNHp1YXE5R29hL0xKT2lR?=
 =?utf-8?B?a3NndXNmbkYzbUxYQ09QbmVqRTdCNHBnUjB4Q0JhK3UvRks4R1FnZ3psajM4?=
 =?utf-8?B?bm53Z0l1dk9KQ1dxcnlpdXowOE8wUlNITE93V1dJUWxsMlhhZTBTbVUrNDNY?=
 =?utf-8?B?Nk1RMzFOZ0p2Q2NkTzMxLzJvdjVrLzE2Mkh4TENqbjFxS0xIWjRvOEVScDg2?=
 =?utf-8?B?VnNtaGJOTG5RQ0NoOW9VOUNKd0l4QktiTXR6Y1RRcHhIOENjUTdXcnlHaUhD?=
 =?utf-8?B?ak1WcnBGSitUWFd3clM1Qkc5b2MxK0ErMy9NTEVsWWYwUndjc3ZyUzVyV0k1?=
 =?utf-8?B?S2F1Q0RIeStESVBWYlhyS2lSN1hoODZuTVdOWGljRzhnUHAxMHJhUkJpL0h2?=
 =?utf-8?B?VjI3anJ5TzQ1cVlpNjB6eElCZVY5cEQ1ZmZCR0ZxMkM3OGlTR1RNS2pkcTVw?=
 =?utf-8?B?NGcyUm0xSWpUeW9ldmpUY0QyeE9vVzk2QzIwQ0dTR05Fdm9GeXU0ckxoMWJj?=
 =?utf-8?B?RS80eXRkQ2M1QjFUaTFLaFZ4R1M3aHpUQW85RFJMS2FOeUVXcFZoa080SW5w?=
 =?utf-8?B?cHdNUWlqSE5adm1Mbk5tbGxnUURhdHc3SWIwbVNvVTVJQnB2K25WRFErc0t1?=
 =?utf-8?B?OWcyekhjK0hYNTVLR3R4OGFjeTF5T0hZN3ZrOElCLzR2cmNhMjYySWozMEV0?=
 =?utf-8?B?dzkzY0cvZ3o3dFQ5OGxoSnhyVzJCL0ZqZmlvQmFRZHcwWHo0MytZSEVaejFn?=
 =?utf-8?B?WXFZbFpsZi80RDdha0tBWkduVmZ0cjF3a1ZYRThMUUZ0R3BvVDU3N1NxTCtR?=
 =?utf-8?B?K25McFlQWVM3Rk5tTStOM1d5ZWtadnBQVUZ3YTBoRzFTMnN1eFZ1WFpOZVhO?=
 =?utf-8?B?TUlVM2R2cHA5M0xNV1VWZERFSnB3cHBMUFlWWlFZTm5NNkdBanlhUTNjd0VM?=
 =?utf-8?B?Z091WjArMkxaUzh2Z2dhT2pSYkxibldVQXg1UG1SdGRjQXJxdVYyQ05JZXFV?=
 =?utf-8?B?QXFMdyt6cjV2aTZkcHNkWDBJTllSNkJnVTRmeW8veVRvR29DanlQNkwzVVFU?=
 =?utf-8?B?OHl3VW9qdDRJSUNnVFpIVGU0b3lldVZVZWdITGFyTFBwWGR2Mnk3VHlPcTcy?=
 =?utf-8?B?RWZJRFhKQUZJVFkvVzRZdHA3bWhaNGNPTGczRDNWYkxycnhRck5ZTWVSQXJ5?=
 =?utf-8?Q?nlAyjbyWcz4ATfhgHJkuF0ILO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e712610-e732-42ad-18bc-08da753617aa
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 09:54:01.3147
 (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: XPDwzvJkXrp4dDbe9lMNRSo00o4mN5W4E1AiNl7i8VYTprgcIMAJk7OU6Nr4IcaZpZkb2ZtyzA+NeVXEE4nTLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6997

On 02.08.2022 15:36, Juergen Gross wrote:
> --- a/xen/common/sched/cpupool.c
> +++ b/xen/common/sched/cpupool.c
> @@ -419,6 +419,8 @@ static int cpupool_alloc_affin_masks(struct affinity_masks *masks)
>          return 0;
>  
>      free_cpumask_var(masks->hard);
> +    memset(masks, 0, sizeof(*masks));

FREE_CPUMASK_VAR()?

> @@ -1031,10 +1041,23 @@ static int cf_check cpu_callback(
>  {
>      unsigned int cpu = (unsigned long)hcpu;
>      int rc = 0;
> +    static struct cpu_rm_data *mem;

When you mentioned your plan, I was actually envisioning a slightly
different model: Instead of doing the allocation at CPU_DOWN_PREPARE,
allocate a single instance during boot, which would never be freed.
Did you consider such, and it turned out worse? I guess the main
obstacle would be figuring an upper bound for sr->granularity, but
of course schedule_cpu_rm_alloc(), besides the allocations, also
does quite a bit of filling in values, which can't be done up front.

>      switch ( action )
>      {
>      case CPU_DOWN_FAILED:
> +        if ( system_state <= SYS_STATE_active )
> +        {
> +            if ( mem )
> +            {
> +                if ( memchr_inv(&mem->affinity, 0, sizeof(mem->affinity)) )
> +                    cpupool_free_affin_masks(&mem->affinity);

I don't think the conditional is really needed - it merely avoids two
xfree(NULL) invocations at the expense of readability here. Plus -
wouldn't this better be part of ...

> +                schedule_cpu_rm_free(mem, cpu);

... this anyway?

> @@ -1042,12 +1065,32 @@ static int cf_check cpu_callback(
>      case CPU_DOWN_PREPARE:
>          /* Suspend/Resume don't change assignments of cpus to cpupools. */
>          if ( system_state <= SYS_STATE_active )
> +        {
>              rc = cpupool_cpu_remove_prologue(cpu);
> +            if ( !rc )
> +            {
> +                ASSERT(!mem);
> +                mem = schedule_cpu_rm_alloc(cpu);
> +                rc = mem ? cpupool_alloc_affin_masks(&mem->affinity) : -ENOMEM;

Ah - here you actually want a non-boolean return value. No need to
change that then in the earlier patch (albeit of course a change
there could be easily accommodated here).

Along the lines of the earlier comment this 2nd allocation may also
want to move into schedule_cpu_rm_alloc(). If other users of the
function don't need the extra allocations, perhaps by adding a bool
parameter.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:58:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379708.613392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB9O-0003Fd-5q; Wed, 03 Aug 2022 09:58:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379708.613392; Wed, 03 Aug 2022 09:58:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB9O-0003FW-3E; Wed, 03 Aug 2022 09:58:50 +0000
Received: by outflank-mailman (input) for mailman id 379708;
 Wed, 03 Aug 2022 09:58:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YjKV=YH=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oJB9N-0003FK-1R
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:58:49 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de0129d9-1312-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 11:58:48 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0C408336D9;
 Wed,  3 Aug 2022 09:58:47 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C8DE013AD8;
 Wed,  3 Aug 2022 09:58:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0PVsLtZG6mILFwAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 03 Aug 2022 09:58:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de0129d9-1312-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659520727; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=z3w6i86QSa4D9NPOEu+6KpS6pB1f6qteu1FUC9JbyEY=;
	b=g4DlMEuXWk8Ft6llAGr9IYSuUf82Ik+JEmCe1NeNAu863V96uEbv5lFRgv4a6gxfRt7J3E
	OjwXaq9G4fxym1HnCmw2Pvm6T2PYmkmo7STrUhpl+a7qtkI99OagPk/WT+HZTjQzV4wkSa
	qx4zoYgxkFRoLVIDb0fUiwPqDPAEoss=
Subject: [PATCH v2 0/2] xen: credit2: fix boot hangs if dom0_nodes is used
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Olaf Hering <ohering@suse.de>,
 George Dunlap <george.dunlap@citrix.com>
Date: Wed, 03 Aug 2022 11:58:46 +0200
Message-ID: <165952060175.13196.15449615309231718989.stgit@tumbleweed.Wayrath>
User-Agent: StGit/1.5
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

Take 2 of this series. I think I've addressed Jan's comments. v1 was
Message-id: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>

Currently, if the dom0_nodes parameter is used, to limit the hard or
soft affinity of dom0's vCPUs, the boot hangs. This is because the vCPU
affinity is set in two steps, and is only correct after we've done both.
Credit2, however, manages to see and use the result of the first one and
vCPUs are put on pCPUs where they can't run.

This has been reported here:
https://bugzilla.suse.com/show_bug.cgi?id=1197081

And a fix has been discussed in the thread of this message:
https://lore.kernel.org/xen-devel/e061a647cd77a36834e2085a96a07caa785c5066.camel@suse.com/

The solution adopted in this series is to change the vCPU affinity
setting code in such a way that it happens alltogether and in one place
(patch 2).

While there, make the dom0_vcpus_pin boot parameter more precise, by
making sure that it is applied only to actual dom0's vCPUs, and not to
the vCPUs of the hardware domain, which may or may not be dom0 itself
(patch 2).

Regards
---
Dario Faggioli (2):
      xen: sched: dom0_vcpus_pin should only affect dom0
      xen/sched: setup dom0 vCPUs affinity only once

 xen/common/sched/core.c | 63 +++++++++++++++++++++++++----------------
 1 file changed, 39 insertions(+), 24 deletions(-)
--
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:58:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379709.613396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB9O-0003Ik-E9; Wed, 03 Aug 2022 09:58:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379709.613396; Wed, 03 Aug 2022 09:58:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB9O-0003Hz-9n; Wed, 03 Aug 2022 09:58:50 +0000
Received: by outflank-mailman (input) for mailman id 379709;
 Wed, 03 Aug 2022 09:58:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJB9N-0003FP-Ii
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:58:49 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140075.outbound.protection.outlook.com [40.107.14.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de491b0d-1312-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 11:58:48 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8850.eurprd04.prod.outlook.com (2603:10a6:20b:42d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 09:58:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 09:58:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de491b0d-1312-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gZodYrIwX31dSPuYSbjnOxXAtlDd2kKvYe4qZMLEg+INME4OUiRTZFh5qPbXESigUQTqZ4IDhJpq29iUd/Sh+LagOIR4KiPzfulxN9yrIk7Tm4vvNCgXxPfycKtm7nE3vLFZ8eTiVYgn5zIiTRkUpGm4udg24/8hau5CetVfdA4aFfP82LaFwmhh7qwcpmrm7FpQlRF7TkUJgoydvNzKYvnhChlRxk+hwQCqA1ioQm6ONfR0VqaYFRW7SHtveBiYKecABg6ZpGJ1/pS7WcB3k/0TZ3KXCHXuxFNs7frwdyTsztto8/QdGse1mOoZ3TUJ6v/8Eylv086dxerLlHovhQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WMub7+Az4CM7UyvcTN+0K+AfwRI9YK4Pj9YzeUKB2Os=;
 b=nS96Ii/12ddb9c+tEPN4bdBR8cPnNbpT8uehTlKQUSXF1HbwQYK54/4Hc9GHJImVHyLr5EAXoI2vSXFeWixvhiQYpLUshguEoR879XH8ZIpUrn+7y9KjLY49gm39mEfvlwc3ac0NCqiSHuQROERmb+acW8BqEMQO31SopiQmSJeTOQROKsLRH61WlrtvL/aaqNMECIKnlwt6uloWcmZscBlU/AZHrfrXE1iKzb6IOw0bA2vLQ734pmwTii5wmctqcbwI1uTJWXOcW+CVZ5yWWfyFy2AsBfALttf6AGHovUCHbmfb/udsVoPNIFx+cAvMvUTVzDoJSrXDoLT0wQiF1g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WMub7+Az4CM7UyvcTN+0K+AfwRI9YK4Pj9YzeUKB2Os=;
 b=1wgJOCQvhd1EnCAX+oLbOv0VlddoTVhJk/vgcCOpVC08JsyG1Ptcd3eVAo3stdvVyGeZaLFOxsztXuk0cfbcNMVNKfJC97gFL45nlVewIqnavQhz02BvTs2teMIddauXQVZ1MoelQKiYvm/dUxmm6a3fMYaqpjT4HNZJDPICRGX9RBfsw2qsRlPPqY+coNd2ivCRw8/muW48PaqmGCkvU+9OWQ4Ak7Yxfbvufh2utQiUxJSQ25W8ABm45BamqOb2PdbRsnei44hsCeVFYAZEzwJdzUi1PE7KHWYJ0pOkw76HqfFAqQQB3n1Tm5pxbMkweA39GntsTz+0GSzanDe2mA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b37c1dcc-eb80-c5ac-30e8-626084e689b0@suse.com>
Date: Wed, 3 Aug 2022 11:58:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: preparations for 4.16.2
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Julien Grall <julien@xen.org>
References: <5622e17f-c424-87a4-d7c4-bbe1dee4743c@suse.com>
 <e52776d1-ed65-cf0d-bbc8-1431c183d73c@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e52776d1-ed65-cf0d-bbc8-1431c183d73c@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e73db0f8-8067-4cea-0008-08da7536c0c1
X-MS-TrafficTypeDiagnostic: AS8PR04MB8850:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lvu2aNnDNNvjAdE1EcQmQzhBdMIVlIrZUaIey6YQsCoJ3XCICMpxLSQWyeAhNbhoLfvVeIiHQgztaqo8uWjejHLg2+06DWAcf3wlnNBRQCoNHOdZJdKXMRSoq27QaZRMvtsQc0k7t21LDTyUG/e6Du/6MK5FoMl0A5LyVQy6E2IiKujKtDb9dqn7Tt3aQMCEjHgHi1JLRw4QqGRt3kJztTA38W+WW6ZNm7rqFcwKz1PS6XfZ5uwjHenrUNYi+r2jCEC4vNB/T4nreKSsG3ED0YZveF/xaIpRTNqiIe4ELmZ6hecwxS+CaEWPGf+J8IubtGx2kpwxWYaClWBoAvywn3SfU1AhMFqHrbwwyrf58HZb+D3KasDttrQntxz0/SeQ+b8X5JOOl0tR/w0XU6jivwhVFQlpoIFFPe+NqRS9/3O/GVw3IyBlu3G9q5F8dw7zf5/fYio3vxR9/irFXNyqIWkUCzu+KmkLsR4ZuAv4194IDs4w3n0OBzVxJ4vDONxJlrcmWXjVLDFskqpKj+ME3xUj0sKUL1Ejs1VaBuQ7fzbxYaY0J823Q1H5zR1XoWB4jTKohYANMA4ydxhwdP8UCLnnf4D1Rz2cjbdKdj4flf+vuVObBP3LFUL3WaN9RNWnEUh/LJrysop0Ol2aWoF0E5JuJGhfFRqis/yW4Q02zCkwj/LbHGKrLh5iqE16FRPrKXppQMxaZOeobiWO+Z1nBABMhVjftuSdPTcXt9G9c4xoTtqf3UxvzMKSOJzrmagxPtVEZOyieIMldWtPo4iWsp68RZvlEBGd1Z7WxTA4I8tTNkcb9gbxKsOh9g96yrUUVEuxHyXK35/FVcmsJBRu1A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(136003)(346002)(366004)(39860400002)(6506007)(53546011)(41300700001)(186003)(26005)(8936002)(2616005)(5660300002)(6512007)(31686004)(36756003)(6486002)(4326008)(478600001)(86362001)(31696002)(6916009)(316002)(2906002)(54906003)(66476007)(8676002)(38100700002)(7116003)(66556008)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?anE5OS9EdVJyeFFBaDhCVVpyeG54ZWwydUZpdU9MNmlMOHdaMUZDbnV6aG1S?=
 =?utf-8?B?OUZ3Qi81eHNpOUJZbnRUdlRsVGd5a2hYbnkySkJvUG9pNVdBdUpudmJIVVR6?=
 =?utf-8?B?Z1ZjLzYzZE16TUR1bkdsK3lvSGpudjJab3NhOG9MY0ZVdmZzU1laQTFETFRh?=
 =?utf-8?B?aDRRckRmV3FsQ1hoS1VyK3Y4SzhPeUVpZ3pSbjF3M2xmbGJCcGdzMXlFV0lJ?=
 =?utf-8?B?UXRrYVJQSmplbjhPT1ROSDJhaWJqdWZTdUxITXZQVlUxRkNjVFY5K0xPYjRI?=
 =?utf-8?B?dmh6VWh3RC9MMHhiODIyUXJpdXQ2WFZjRTVBOENab0pDTkE0QzhUNmlpWUZl?=
 =?utf-8?B?NlQrZm91YUc0RHhib2d3eldVdkF0aXRZd2ZTOC9qYVlwZHNWMEFKQmVOSUpV?=
 =?utf-8?B?M1d5bk1zTkFhR0d4RS82RmV3Njk2b2FYRWwwUUoxbWl0Zk5KRG9IMXlwWlIv?=
 =?utf-8?B?L2pnTHlPWDhDd3hxcm5rUzR1SjUvWWNuK0tsQ1k0ZzZZaTFEMWZUM0hGYld1?=
 =?utf-8?B?T2M1YUwwUUFja0RQaW9HeUtTSUwwU1UvNHJJc2tqRlJ0eWZQenFPRG04VUhT?=
 =?utf-8?B?S3VGV003VWFpbmRvWmgweUxpeXBYL3VJS2NhaUpHMW5pa2R4QUF3SDluejVK?=
 =?utf-8?B?VTNER01WVGZDOVJuRFJlUjNYOWRYUFpMRTFUcUpTa3hjTTY4TXpTZi9sLzBq?=
 =?utf-8?B?NHRUU0tJS2djVG5mUy95Y2I3MFRtOTZ5YmJMMnJSRCtBbFdsc0lxRjZ3dVJq?=
 =?utf-8?B?b3pQTEJndlpQQm8wOFpCWFBtbGtlSG54VGZITFNOQ2FjZkZIYm43SVpSOWdI?=
 =?utf-8?B?UHppQXZzR2FXN3pFU01UQ0pnT0NjazhsZkNFTDVkTUpFME5WS1BNcHBUNUg2?=
 =?utf-8?B?OEhydlpvYmt3UmJuQ2pCWHZqbE1Fc2Z0UjZPWVJjNFFVYkt0aXA2Q1dsYWFv?=
 =?utf-8?B?Yi9Xc2x5WnN6dU1TZ1dBL2VBazQ2ejhidDRJRFhLK3ZkMzRIRGpOdmtZUER1?=
 =?utf-8?B?QWpSQmw5MTR1d3JOaXowbVp1T1ZOaHpIL28reUlCRzB3cmQ1cEl3S211RkZo?=
 =?utf-8?B?TWQxYzNxb1hUdVVvN056ZE9JNFJoWVhHT3kyeVlRNHBNOGFoYTNvK3Q0THhN?=
 =?utf-8?B?VkNzUTg2OHg5MDR1cnRSenlFbHJBd1pBSy92ZFRWOFBqRmtOcVZyYytYNkJY?=
 =?utf-8?B?UmsvemFlc3NPRDB6NXFHT0JVTGx2S3UwRDFGSm9mejllN2xYWkRJcVNpdG1F?=
 =?utf-8?B?eEhnNEFPb0NNejBXTHRMUTZEMDViZ0liL3pidXZWYXc0aFhrY2VmdFpCQU1o?=
 =?utf-8?B?SWxobGdta212bU1lZVdUR2o2T0s5NTdFVWpwVDJROFpsb3lhMDRwREFzaWtB?=
 =?utf-8?B?Q1BJem50WGZwbGtDYzBWdGg3T1VZR0NBY2F3UWhZRkJIL1RDUVdISysycVpC?=
 =?utf-8?B?RkoxVG8zcEd2eWF3WFpHamV1OVl4ZnVuR0R0NTRCRG14KzQyUU0wZUpHbVdZ?=
 =?utf-8?B?TTNhK0NCNUw4WHNXUGpWTElLQWtCekdxdjYyWEwvK29pWjNZUllvOGtVbE1P?=
 =?utf-8?B?bkU0YUxLeTJXc1lvdnNiaytQSktFVFhZUk9DWnVSaUJPV3RNeFp4ZFVBQkVU?=
 =?utf-8?B?b09pY3dWY0twZkVyOVVHM3BWTG1ReFpOeXk3aEc3Z0NDTUs5OHBlVjdhMHUr?=
 =?utf-8?B?SytDL0V2UHFZZEkxMEQ0bWxqcDl3b1FMK3hLZEVjNDhSRzZPZldFVFVNaS80?=
 =?utf-8?B?clQxbmRXVlRHa0lnNGp3NmhYd1VHMGZ3UG9pdythNktKeUI4eUE0QmM1R1Iw?=
 =?utf-8?B?eHY3SG04VTBuM3RnNzRiTkEwNXZERTdPUit3MUdSYkpiQW0yd3Y2RVZyWUpr?=
 =?utf-8?B?MllDcVY1cWd0azlFUUNLZnZqUGFrVnJ0c1ZaRDZjSEdyWUdMUis4M0g3Si9Z?=
 =?utf-8?B?UjRHMzV0aCtvOEptcEQrZ3R1a1NNeXpucjdobi9RMnIrN25BQjJzZ3pRWkFV?=
 =?utf-8?B?dnZEYnJ4RXpETFBhRGFiVW5Cem1lSVNNUkJpQVJrbVBETXNmaXRjQ0hZWGxs?=
 =?utf-8?B?UmNVUlk5eGxFbHkrWC9Qa2lRaGNpOHRCNVBleXB2bVM1VXJ0d3Z1bHBIQmll?=
 =?utf-8?Q?BXdZt8Fg9oZAL/8mPvyoQLGK4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e73db0f8-8067-4cea-0008-08da7536c0c1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 09:58:45.1247
 (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: fS9PzuQJ8czHmUv/qWV0wyn4hj6OspqLTgBbWD9uPVREkyL6U6Yk8JmBJVRjwAsTFWI5CMrBYf5J4G00vBT2PQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8850

On 03.08.2022 11:29, Julien Grall wrote:
> On 27/07/2022 08:26, Jan Beulich wrote:
>> All,
> 
> Hi Jan,
> 
>> the release is due in about two weeks time.
>>
>> Please point out backports you find missing from the respective staging
>> branch, but which you consider relevant. I'm surprised in particular
>> that no Arm backports have appeared on the branch at all since 4.16.1
>> had gone out.
> 
> Stefano is meant to look after the backports so I have held off doing 
> them (although I don't really want to take that responsability :)). 
> Below a potential list:
> 
> - af570d1c90f1 "xen/arm: Advertise workaround 1 if we apply 3"
> - 95604873ccf5 "arm/its: enable LPIs before mapping the collection table"
> - 407b13a71e32 "xen/arm: p2m don't fall over on FEAT_LPA enabled hw"
> - aa1cba100bff "xen/arm: Avoid overflow using MIDR_IMPLEMENTOR_MASK"
> - ee11f092b515 "xen: arm: Don't use stop_cpu() in halt_this_cpu()"
> - 6655eb81092a "xen/arm: avoid overflow when setting vtimer in context 
> switch"
> - 25424d1a6b7b "xen/arm: head: Add missing isb after writing to 
> SCTLR_EL2/HSCTLR"
> - 800f21499e0e "arm/vgic-v3: fix virq offset in the rank when storing 
> irouter"

Since Julien's mail was directed at me (only), FTAOD: You're going to
take care of these, no action needed on my part?

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:58:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:58:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379711.613416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB9T-0003ox-NR; Wed, 03 Aug 2022 09:58:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379711.613416; Wed, 03 Aug 2022 09:58:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB9T-0003oq-I9; Wed, 03 Aug 2022 09:58:55 +0000
Received: by outflank-mailman (input) for mailman id 379711;
 Wed, 03 Aug 2022 09:58:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YjKV=YH=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oJB9S-0003FP-Fa
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:58:54 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e159d17e-1312-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 11:58:53 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id D71BA1FB8E;
 Wed,  3 Aug 2022 09:58:52 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A92AE13AD8;
 Wed,  3 Aug 2022 09:58:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oNlSJtxG6mIZFwAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 03 Aug 2022 09:58:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e159d17e-1312-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659520732; h=from:from:reply-to: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=r2TvviRtiNX33JH8gt8aOmz5SDTQQb68hYBn0CV+hh0=;
	b=cJxly7c6tISEqQZTcWqfoMPKOHTb1zGbR0QqNzTRxHUKQWP7e5RgLDO++6Y9U0TYv51Cgn
	RUgoDv+//8NMlXXu3bGnn4FroxAOsAO+rK+hD4y9GqAONUTViD4eCey2P4FZVLyKlMhIGA
	O6rNV12vXKQiC9J89GSSBOZLInnBea0=
Subject: [PATCH v2 1/2] xen: sched: dom0_vcpus_pin should only affect dom0
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Jan Beulich <jbeulich@suse.com>,
 George Dunlap <george.dunlap@citrix.com>
Date: Wed, 03 Aug 2022 11:58:52 +0200
Message-ID: <165952073210.13196.2525249635894768659.stgit@tumbleweed.Wayrath>
In-Reply-To: 
 <165952060175.13196.15449615309231718989.stgit@tumbleweed.Wayrath>
References: <165952060175.13196.15449615309231718989.stgit@tumbleweed.Wayrath>
User-Agent: StGit/1.5
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

If dom0_vcpus_pin is used, make sure the pinning is only done for
dom0 vcpus, instead of for the hardware domain (which might not be
dom0 at all!).

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Cc: George Dunlap <george.dunlap@citrix.com>
---
Changes from v1:
- check domain_id to be 0, for properly identifying dom0

Difference from "RFC" [1]:
- new patch

[1] https://lore.kernel.org/xen-devel/e061a647cd77a36834e2085a96a07caa785c5066.camel@suse.com/
---
 xen/common/sched/core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index f689b55783..a066c629cb 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -575,7 +575,7 @@ int sched_init_vcpu(struct vcpu *v)
      * Initialize affinity settings. The idler, and potentially
      * domain-0 VCPUs, are pinned onto their respective physical CPUs.
      */
-    if ( is_idle_domain(d) || (is_hardware_domain(d) && opt_dom0_vcpus_pin) )
+    if ( is_idle_domain(d) || (d->domain_id == 0 && opt_dom0_vcpus_pin) )
         sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
     else
         sched_set_affinity(unit, &cpumask_all, &cpumask_all);




From xen-devel-bounces@lists.xenproject.org Wed Aug 03 09:59:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 09:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379712.613426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB9Z-0004Cj-TY; Wed, 03 Aug 2022 09:59:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379712.613426; Wed, 03 Aug 2022 09:59:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJB9Z-0004CZ-QT; Wed, 03 Aug 2022 09:59:01 +0000
Received: by outflank-mailman (input) for mailman id 379712;
 Wed, 03 Aug 2022 09:59:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YjKV=YH=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oJB9X-0003FK-Sg
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 09:59:00 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4e1510e-1312-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 11:58:59 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C36891FB8E;
 Wed,  3 Aug 2022 09:58:58 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 88EF313AD8;
 Wed,  3 Aug 2022 09:58:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9h8RH+JG6mIjFwAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 03 Aug 2022 09:58:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4e1510e-1312-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659520738; h=from:from:reply-to: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=B/bhWdHRlyzFCYLiuGJa8uWfzKnEGA/Jn4ePkDIyFsw=;
	b=XNYaDEmtiSHdbR6G6cXLJMaNssVRuLV+J3mOcdSNlznqGo4w/FyajHaZhgPbob5X5wtvLk
	2E4J7jbTBR8TxTmuTzGOUVLze0mFq5E6ZOvznJXmEriapVqBXrEpkiv9uAo4FFHNJFlw1x
	69qjjNlsyLNKDK/+IkVeN4kJR1Sq/TY=
Subject: [PATCH v2 2/2] xen/sched: setup dom0 vCPUs affinity only once
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Olaf Hering <ohering@suse.de>, Jan Beulich <jbeulich@suse.com>,
 Jan Beulich <jbeulich@suse.com>, George Dunlap <george.dunlap@citrix.com>
Date: Wed, 03 Aug 2022 11:58:57 +0200
Message-ID: <165952073792.13196.9868875379058225090.stgit@tumbleweed.Wayrath>
In-Reply-To: 
 <165952060175.13196.15449615309231718989.stgit@tumbleweed.Wayrath>
References: <165952060175.13196.15449615309231718989.stgit@tumbleweed.Wayrath>
User-Agent: StGit/1.5
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

Right now, affinity for dom0 vCPUs is setup in two steps. This is a
problem as, at least in Credit2, unit_insert() sees and uses the
"intermediate" affinity, and place the vCPUs on CPUs where they cannot
be run. And this in turn results in boot hangs, if the "dom0_nodes"
parameter is used.

Fix this by setting up the affinity properly once and for all, in
sched_init_vcpu() called by create_vcpu().

Note that, unless a soft-affinity is explicitly specified for dom0 (by
using the relaxed mode of "dom0_nodes") we set it to the default, which
is all CPUs, instead of computing it basing on hard affinity (if any).
This is because hard and soft affinity should be considered as
independent user controlled properties. In fact, if we dor derive dom0's
soft-affinity from its boot-time hard-affinity, such computed value will
continue to be used even if later the user changes the hard-affinity.
And this could result in the vCPUs behaving differently than what the
user wanted and expects.

Fixes: dafd936dddbd ("Make credit2 the default scheduler")
Reported-by: Olaf Hering <ohering@suse.de>
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Cc: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>
---
Changes from v1:
- Fixed hash of the referred commit in changelog
- check domain_id to be 0, for properly identifying dom0

Changes from "RFC" [1]:
- Moved handling of the shim case
- Added some more explanation (in particular, about why we stick to all
  CPUs for the soft affinity) in both commit message and comment
- Remove spurious (and non-necessary) credit2 change

[1] https://lore.kernel.org/xen-devel/e061a647cd77a36834e2085a96a07caa785c5066.camel@suse.com/
---
 xen/common/sched/core.c |   63 +++++++++++++++++++++++++++++------------------
 1 file changed, 39 insertions(+), 24 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index a066c629cb..ff1ddc7624 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -571,12 +571,46 @@ int sched_init_vcpu(struct vcpu *v)
         return 1;
     }
 
-    /*
-     * Initialize affinity settings. The idler, and potentially
-     * domain-0 VCPUs, are pinned onto their respective physical CPUs.
-     */
-    if ( is_idle_domain(d) || (d->domain_id == 0 && opt_dom0_vcpus_pin) )
+    if ( is_idle_domain(d) )
+    {
+        /* Idle vCPUs are always pinned onto their respective pCPUs */
+        sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
+    }
+    else if ( pv_shim && v->vcpu_id == 0 )
+    {
+        /*
+         * PV-shim: vcpus are pinned 1:1. Initially only 1 cpu is online,
+         * others will be dealt with when onlining them. This avoids pinning
+         * a vcpu to a not yet online cpu here.
+         */
+        sched_set_affinity(unit, cpumask_of(0), cpumask_of(0));
+    }
+    else if ( d->domain_id == 0 && opt_dom0_vcpus_pin )
+    {
+        /*
+         * If dom0_vcpus_pin is specified, dom0 vCPUs are pinned 1:1 to
+         * their respective pCPUs too.
+         */
         sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
+    }
+#ifdef CONFIG_X86
+    else if ( d->domain_id == 0 )
+    {
+        /*
+         * In absence of dom0_vcpus_pin instead, the hard and soft affinity of
+         * dom0 is controlled by the (x86 only) dom0_nodes parameter. At this
+         * point it has been parsed and decoded into the dom0_cpus mask.
+         *
+         * Note that we always honor what user explicitly requested, for both
+         * hard and soft affinity, without doing any dynamic computation of
+         * either of them.
+         */
+        if ( !dom0_affinity_relaxed )
+            sched_set_affinity(unit, &dom0_cpus, &cpumask_all);
+        else
+            sched_set_affinity(unit, &cpumask_all, &dom0_cpus);
+    }
+#endif
     else
         sched_set_affinity(unit, &cpumask_all, &cpumask_all);
 
@@ -3402,29 +3436,10 @@ void wait(void)
 void __init sched_setup_dom0_vcpus(struct domain *d)
 {
     unsigned int i;
-    struct sched_unit *unit;
 
     for ( i = 1; i < d->max_vcpus; i++ )
         vcpu_create(d, i);
 
-    /*
-     * PV-shim: vcpus are pinned 1:1.
-     * Initially only 1 cpu is online, others will be dealt with when
-     * onlining them. This avoids pinning a vcpu to a not yet online cpu here.
-     */
-    if ( pv_shim )
-        sched_set_affinity(d->vcpu[0]->sched_unit,
-                           cpumask_of(0), cpumask_of(0));
-    else
-    {
-        for_each_sched_unit ( d, unit )
-        {
-            if ( !opt_dom0_vcpus_pin && !dom0_affinity_relaxed )
-                sched_set_affinity(unit, &dom0_cpus, NULL);
-            sched_set_affinity(unit, NULL, &dom0_cpus);
-        }
-    }
-
     domain_update_node_affinity(d);
 }
 #endif




From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:00:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379728.613437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBAs-0006JR-A4; Wed, 03 Aug 2022 10:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379728.613437; Wed, 03 Aug 2022 10:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBAs-0006JK-75; Wed, 03 Aug 2022 10:00:22 +0000
Received: by outflank-mailman (input) for mailman id 379728;
 Wed, 03 Aug 2022 10:00:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YjKV=YH=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1oJBAq-0006J5-PS
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:00:20 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20077.outbound.protection.outlook.com [40.107.2.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14c16cd5-1313-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 12:00:19 +0200 (CEST)
Received: from DU2PR04MB9067.eurprd04.prod.outlook.com (2603:10a6:10:2f2::10)
 by AM9PR04MB7714.eurprd04.prod.outlook.com (2603:10a6:20b:2dd::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Wed, 3 Aug
 2022 10:00:18 +0000
Received: from DU2PR04MB9067.eurprd04.prod.outlook.com
 ([fe80::61d5:254b:6ed7:edf5]) by DU2PR04MB9067.eurprd04.prod.outlook.com
 ([fe80::61d5:254b:6ed7:edf5%4]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 10:00:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14c16cd5-1313-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OK7TySsekFWSo40FFYyrKZhQtcPqEWDbLpohAlnSYBmwaHMNC8TCu44vqXr0WgrP5hMBNO3LHyKbc5rQRPev3L7TcH+gXy6s8OPR+MAIhm61UJ2YCpd+HUo0KAzbVm6cQ7T+2YYIR6kHBSt6KzhbPG5qHQvailZLfzFJ/JhkD2LB4PD6L5uD4lE5xqtqn3SufTbTk9hp2xW9lak3EqQVVLmxEzc1P/tORl9hEX6Hbco7FETc/QeGDcX4wt5LkKG/owFjL7vGHqQFaOFx+0HnumDSAc4r8jJXRZfYpsHRziD+mHYT1qXQf9maHtDqUU3RgG/x/J+1nMMOZDn/qca9HQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PDWXnytLOpLzf2SPxM8lT6k1xRymOGxB595lP33cBzU=;
 b=J/gcE6zaeza6Zj2BmmGAmvx4TWeVUobpPK8Jo+P7X/bbnh+I/J+p+VekkAWmNmdc7eQCdfHu29WEfBJ1AuE6O1ndv1eJH1+ZED78K7FkXzYNkS2t7QiB3sPqMATTqu0l28G9o/XA5Oito2G/wG1eVujRbUjXuy/tY1V+pDgcQ4t+0FZunjdJXV0q7S2LCVnajTe+KYken6G5haLKO3domdrByKW9ZHKU1XHjErXScE/pjhheubJBp+K2ii9BdzNwBpeN7hiEV3Qd+M4cmHoQR6JzsB8L/2lwNqW0mQ45kam/smtI1p6TFZ0DiGg2PYTH+KVu3VcqXPtIdkCbn74wcA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PDWXnytLOpLzf2SPxM8lT6k1xRymOGxB595lP33cBzU=;
 b=n3S+3BQY53boYePyBv88tqsi0mmD0gI3IEGHVZQcpGblwcjHIYSIQDiq3ZCiSJNiQIMuI4e6JlZGchFuTYXvtCJpig8IDaGJvAnLWDuGdImslRbjkXSlacsWQ0I19avVst20gDbflBjuc/l8tJIQ4Rpf1OQxKv8Ru32cD4YaDvNzRQocugh6o4jF/b/+45XmjrSAYxxU2SlzrpEfBxM4VO5Q844Jw3/maNSbba2VbPFXfvre+dPbm8IOkIq9w/9VkZvtMe31ydWTDM0o5PpxW9vdRyRBCMlSaO1pPe7PW2pDZwirWxmsvL4XN9aZz1gqzUO3a2bbUPf3YlHbnLZpDg==
From: Dario Faggioli <dfaggioli@suse.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/2] xen: sched: dom0_vcpus_pin should only affect dom0
Thread-Topic: [PATCH 1/2] xen: sched: dom0_vcpus_pin should only affect dom0
Thread-Index: AQHYpoAcjylCfZ/IlE+KXLo2d64v4K2bx1SAgADtnACAAD24AA==
Date: Wed, 3 Aug 2022 10:00:17 +0000
Message-ID: <40e87f0fc1e3d15b4270c9379ee4b5f71817b1a6.camel@suse.com>
References: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
	 <165944829054.3531.818489021551433260.stgit@tumbleweed.Wayrath>
	 <473a337f-3211-c588-9398-b9f9a18926e5@suse.com>
	 <228c70b853a8d790f1e1cafc2bbef00b5f845606.camel@suse.com>
	 <d6ecebb5-5056-d4b6-c2f6-7d2cebec13dd@suse.com>
In-Reply-To: <d6ecebb5-5056-d4b6-c2f6-7d2cebec13dd@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.44.3 (by Flathub.org) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 54c5b63f-ddca-4839-1859-08da7536f832
x-ms-traffictypediagnostic: AM9PR04MB7714:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 WPcirKpjNUMS3q7cbZWFW1dGYr4LZVHbcwv1rU8XrjJiuC6A3GzHNos0c1P0D9posaD8LiMebia4dI+ao2S0aGIwWaj/uzTD8VuYnsakmA5o8zI3Fol1offDFekRMutkhzW7anxkAPctTU/c3Hmqn0Ws0WsvcPEzEeo0Ieual4EhSHW0Pbz4liLIyt0eJn96RVEqglFK9l24pnTyj1uWSuehkTRCTdXCxDMyxqkEGL8iB3WWHqN/ONL0LG6L8NlH18LQmZJxRF//mNpfZ1dRmH/KeawJvgmq3E5j+MhwrxEkU5mhHBLa+riZ3t7GAqEIYijRJeGEhah1UAaP1bsuheKxkCe3TgH0iw7mYeYksGgpGqalkrT3L7YgJj28i8DIs8eK8d0cC+vxirxXx5Ko6/wxlqaBRzd+4TLMIEHQrDWzY3qzzamy5aDfSk5HFD0cNkHmQqpVkLv2RMR4U/Z74zy1AAwpMP44dEUVNFkJSvpKdrhTQgM/Lw/zyF3ofDZkdm/ZeUcRQKC6+zRJhAqo4TEMUWXhA/NcBgFgHSItJ1LR05ZG6uCTpy2nptzywErF/6YQtzC3yN1tM+BLUNVDUwY8oHbAZHRGpneTYn59A+eJyb/euBptGq3pgUXpM+ICwaM2IxziCXOmDE+TJPeRhMGy4uyy1Yi7m7sjivWUnshDxEfhJ+YiMEZO/D6YozhIK+p/eglWF6IcqAm9RTXgbROrmSj2tEnbXIJNlGu/aVPXGxK7WjDYU7Fx4NyDB1us5hiuET+CkQfACJuuIVGql3W6zecFf+1YWgVIkhElolv+LG2hBtu4FopQuGMWH/zM5tUxDHowUCrNpJPJVAcg4neXVL4OShAB9FHJbtX/ZQKFSaUDDMq9AY9u9EjCyT9g
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB9067.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(39860400002)(396003)(346002)(366004)(36756003)(186003)(38100700002)(122000001)(26005)(6512007)(53546011)(6506007)(41300700001)(38070700005)(2616005)(478600001)(6486002)(71200400001)(966005)(6636002)(66946007)(76116006)(316002)(8676002)(91956017)(4326008)(6862004)(66446008)(66556008)(66476007)(64756008)(37006003)(8936002)(99936003)(54906003)(83380400001)(86362001)(4744005)(2906002)(5660300002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?K3RoYlJuYW5XdVV4M01OVDBEU21TSHRxbktPQUtsOHlmemFhank3eGlHNG5U?=
 =?utf-8?B?NmczeVFpSVI1NW1ldjNQT3pXR1h6S3llT3NBOGg3R1dpUWpHRjk3Z3VKbGtN?=
 =?utf-8?B?YlJLcm9ZR01pSGx2Zjkwazl3VDJSaWViZUpGOVpSYjFiRFFQN3BBUERJZnVw?=
 =?utf-8?B?M042dmUvWDkvQ1BTRTFFNEdva1RDOEs5VENYRjk3T1dvSGs1eUQrOGRPUFlC?=
 =?utf-8?B?WERpa1o1NHZiYTFQQ2NZL2dJOHFaQWJ0MldRdHlrVUYyUDlIR0hKaTkrL3Jx?=
 =?utf-8?B?U1VYR1Z6bEZVVUwzQ2U4dEEwUHh1MEp1Rm1JQlVtNE5FTnlOcTk1bWNsVnJJ?=
 =?utf-8?B?UWZuK1k5VHdHYVNObi96bTZhSWtpajgxT0xuYmwwbjhETXNWNmk0a3VjK2ZW?=
 =?utf-8?B?bzdBektwYkVaNmcrRysxekJ1a2YyWjAzRWNqWkdNazBlN3dKTHlROTVNZU9S?=
 =?utf-8?B?cGtUZjlTbnU4RHJPQXJ5SkkwVFV6WW9JbVRMQ0pPRmNUdXZLWHJObzdJbHVp?=
 =?utf-8?B?Q0R6OFJTRU54K2diQUx3L083ZC92TlF6MTZxdU5jK2I1WWdJU1ZYL1dCN09V?=
 =?utf-8?B?MkpsaW1Kd3k5c0ZqTTVxRjh4YTBJR2lZYzRjWDhBR3FCV0l0VUxqVUs0RGpR?=
 =?utf-8?B?NzhHQ2NCbG9xQUhya0VoRlAwa1huYVlycEFmaXdYMnpIQ3FXN1JudWRKVWdG?=
 =?utf-8?B?SHkyRHo0ZnJSZFdDMEl4UWZJQXdheG54OXhQNVdXZzdCU2J0YTkzUDVvbndO?=
 =?utf-8?B?WVd2WjRVazZWVUc5YnpUUlByR0hhS0taNW1TaTA4MEp2enFwVWJ0OVNXV0Qv?=
 =?utf-8?B?TmIzc0NVMlVKTHJyUzE1M09ZOEdqRlN5ampwdVlENWFsR0Fnc1g3Z2dEa2xC?=
 =?utf-8?B?VXUxM0xIT1BSdHpJZVk3OGI1UlZ2dStDT25wRlFSR1g4ODVTRnlnMG9IdUJS?=
 =?utf-8?B?dncrQUlYelIySWxJWjVqaUQwU0taZDAyUnBJRStnbFd0VmxWMVFHY0RyYXNN?=
 =?utf-8?B?SStodEx3NmZReFFzQ1hndktIZERxUEVZWnhjTGcwTHlHTkhKcVNaNUYyUlRu?=
 =?utf-8?B?VjQ1MTBTZU55NFBINElESngvbmJ1WmdhQWJLenUySWNDZG1wY0FmZDlyRWZN?=
 =?utf-8?B?VzRWNFpKSUdVb1BMYnJxVURIT1lnNXBzVFdzN0dTenE3eVgrRkN0dlhNZXA0?=
 =?utf-8?B?NENuMjZMWklIZm9EaEFpQlZia3lzd1gxRjZmbW1PSXplWEU5dmp5cW9vZGNj?=
 =?utf-8?B?dDhMSjFLOWMydFQ4aWsrSTUxbnlPSThDQ25Ra1FackVKKzFqN28xSWQwem9t?=
 =?utf-8?B?R0ZtTi9Sc2VoOEEwWlpwQWw3SlRlZXYrSXIydWQ1V0xOVXpaWC8vZldpanAw?=
 =?utf-8?B?S3BDejkxcGI0dCtqVE9DT0R0N04rS3hCM0ZBOTNmTDFneWtUbE1HVlVReWEv?=
 =?utf-8?B?TSsyY3BOaHNHd2R2eWE0Uk1YbWhQaFZ1aTNWS2VWTVFmZkRJaEV5eFhhVnZl?=
 =?utf-8?B?c1BnR0hRLzUwTWdjdktIKzJJekFuMnJhV2JzN0E4WTc1SkJPUWxWdlZGRzRJ?=
 =?utf-8?B?MXZNTHBKZkl0blRwWmhWMGNDTVRmbWFwd1FXRStEUGJZclhMR1hZSWdYbzMw?=
 =?utf-8?B?UG9rVzdrR1g2RHo0eXFaM3BPM1JwdDlmcDlKUmFUVEVJZTlxOS9vZ3ZVNVY3?=
 =?utf-8?B?QmgyazNTSlE3RXlwakMrSlBOM25SRTN0NGczUW1ONWxLanE3ZDBEYlowNU44?=
 =?utf-8?B?blpyeGowdGNBYkNmdE5qMExNRDVlN1RCTUMvKzc5SHhSZ1g2cFJqSjg5N1Nt?=
 =?utf-8?B?TG96RUZRSzV5MVVEbTIyQzNmTDBzSk1FaU5WdWdqdjBqU0NQUjFZa29kRGNU?=
 =?utf-8?B?SGR2ZzZFR0dtYXdPM0tJTzZTR08vODVJamQ1UENPNnJXZ29Dd29qdmd5L2xk?=
 =?utf-8?B?YjhoQWNwdm5iOFA1YmYvcDdkK1U4TzlodUM0UGdjcXhGdnptc3FKZ2h6RHJj?=
 =?utf-8?B?OStGdndxczdFdWZ5L2VOaGdGUzlSeEg2K2FSQ3JzZ1NmN29rcTZFU0lXNHBo?=
 =?utf-8?B?U2IxNG93MlVhRU1CaTFWN2xWaW9UQ1kvODdMS0dwdDJSWS9uQkpMZXFJY3Ax?=
 =?utf-8?Q?JaisHWl16TxHjRWxr804e+mHu?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-Z20Z3tjpTN325H0dnU0v"
MIME-Version: 1.0
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB9067.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54c5b63f-ddca-4839-1859-08da7536f832
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2022 10:00:17.8750
 (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: 3m5nNUNax3VBEdnmqylEEeMqKM6LgX6EBoqA//TUzdxNULKrzDaYdbhbE+WP/5pGRbU8qT11NdymFFVu0U60fQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7714

--=-Z20Z3tjpTN325H0dnU0v
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2022-08-03 at 08:19 +0200, Jan Beulich wrote:
> On 02.08.2022 18:08, Dario Faggioli wrote:
> > > ... for it to be strictly only Dom0, you want to check d-
> > > >domain_id
> > > here.
> > >=20
> > Ok, I'll send an update that does that.
>=20
> Well - if you agree, I'd be happy to make the change while committing
> and then adding
>
Thanks for offering that!

Since there were a couple of things to fix, I've just sent a v2, which
hopefully handles all of them. I hope this makes things easier. :-)

> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>=20
Great, added to v2.

Thanks again and Regards
--=20
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)

--=-Z20Z3tjpTN325H0dnU0v
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmLqRzEACgkQFkJ4iaW4
c+6X8hAAjNIdSvjXo+sftb90sT0z4pEElbUiHxQramFuxEMzoJIEAXPlJxXEwtMr
aYb4/SXT4yLOI10r2ei7t9MbCGMYz3AVEhZSTjQJI92G+rKIwx42B4VRJKK7I5Vc
XzE2kcFkFPLEi7vRO254eZWML1oZ/J7v+6McTmZNJTw5iVQ6pyE6IMcjZiYGsHYx
LJSzTBkWdKhEuOCQ2emFlRIJjOxctGCdGBgsaDCbQamzreHENdo4XRlFE7X7ipiA
Ol7tYQSEPVHeifj3/81U5cAafoUAA2r29wqSLKGp6fTRjbSAHxKEZAwPVMUzhf0s
C4ODPw+/I9Fp3X+U1TtjYkb9kbWFHDFDXdqh1GyHwOKXsGfL8ne5hp989KwnkCfI
AatYxjZDd+Qi9g/1Qh69RtXEvCn/iDkLcO4mKr0bUiyLs8itelNTiB62Yl6UomHF
r1SGKs79HzwRNNvo1ABEp2F0t7ThH8RgkX1okjQ2aBtB/qAWyM8S2lsWR9XIaoTI
BEpSpeIGJ395zmG7THP70VNrzMGkjo6tLhEP9EDYvQ1pANSQ/Q6tC28mSE49Ninb
Khe9QTrFc0Yq+AmX6alZfP4zxIa3LXw4264ak7pzbJyUdJGSNWVlWR4JNwBCVCiU
hY7QyhhUADLTNNzlFw2haaPGwe4LYlzyGqT2KdG4OT2l/SZWEoA=
=v8bv
-----END PGP SIGNATURE-----

--=-Z20Z3tjpTN325H0dnU0v--


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:01:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379734.613448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBCO-00071u-OL; Wed, 03 Aug 2022 10:01:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379734.613448; Wed, 03 Aug 2022 10:01:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBCO-00071n-KI; Wed, 03 Aug 2022 10:01:56 +0000
Received: by outflank-mailman (input) for mailman id 379734;
 Wed, 03 Aug 2022 10:01:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJBCN-00071W-5x
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:01:55 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130083.outbound.protection.outlook.com [40.107.13.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cfa81a7-1313-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 12:01:53 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6997.eurprd04.prod.outlook.com (2603:10a6:20b:10d::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 10:01:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 10:01:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cfa81a7-1313-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LY7aFBFOPTVB6gzxkPGsUnnkVei2Wqmyrlq2sQhLy0CVWg/cGAYg3t+nH+k7Wvzh+/eiGFVNpi7Xz1JqMsrkWA3PrADu0SjL2HKq7AeHJvSEu8SYlxjmuBSqHWKvx+kooHI29HwIJtS2lOO/gJvBa5SUpoDpNTaZkW303nO7SuwvgHkvzMlgTQnIU5e/ctx4issn/nUyapbLc4IDFKhkJ0uxrcv4Sxdl7yS2v0ZwoJ4k/798Cop20+ie+8Dae5NDEYs5zsGmiZeHt/Sflg2NchfGJHA+5Me5L7FAm/m2NV9eVlocKbJGKjG6QMefiykwK7ZisIdF6nmZZYzUW3rq/w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dROUglfDBZORt+KogDq4qgwYbtxAQjuWmC0vUbuJtxc=;
 b=LNKxMnmLKFNLRmebtXE3KMPoN7LLdJXseBD5B5bCUEEwv5AITx1bXCIP3Z8PbNIgWUP7ZmnTAJeqZ2rCumMbWDPQOlAMX6WJtJcCZHCSEyzd4kgsJSVYb7i8rwHbnJbAs/RMJoUIw6sIf4UYwXJEmqW2mRf+/RQQSyNm9gUtmWT2UWQBh1qCb6yUk0I+Gi7RMjB6B+7Ij3NSsqZG2Hb4f3KvC8h+KWP+zjgpWOi1lLpuisUmuRBY15hOVpTpiPdLXTRnQUyFSTxYVMldp5I7pzxkmuHKyrZjGEOcHX3L3rVlwXyCgsIQKEBDA2vZFA3hML9y5CK6KKQcRJy25HrKuQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dROUglfDBZORt+KogDq4qgwYbtxAQjuWmC0vUbuJtxc=;
 b=I5QO2A3OtogLS2v67KCScuiAeXsJitKKLX1TxeGmpLGIrZmBsNhTCrSnLvJOjZeVLXs5i4afYK5ACF0iffjz2Mr0nVUVg+arx/zGJvcCIWlEovH3EZ7bUxJp2dVZw7es98jPH2il5eZD1EQfgcl9vad37Qyy4Ufgvyn1AeDWdDlKBfNFBBhXFQ6pvq66H8kFjhFuefO+G+NT7xpAcREuO8iN3Kw9c1qY0gAZR7rzR+mRc8FSGjP6EU+alo52dJKaxg0K9RdFiFtbAGdePFpy4VNTlxBUYGfgxlJ1Hn1PQXK0OzIT1HTTB8ChglSP7onsbT248raJuR867XRPPY0nnA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e87567fd-20b9-f822-a739-7d5dc4c50f9d@suse.com>
Date: Wed, 3 Aug 2022 12:01:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 0/2] xen: credit2: fix boot hangs if dom0_nodes is used
Content-Language: en-US
To: Dario Faggioli <dfaggioli@suse.com>, Olaf Hering <ohering@suse.de>
Cc: George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <165952060175.13196.15449615309231718989.stgit@tumbleweed.Wayrath>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <165952060175.13196.15449615309231718989.stgit@tumbleweed.Wayrath>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0095.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6882b2e8-b6e6-4083-a589-08da7537303e
X-MS-TrafficTypeDiagnostic: AM7PR04MB6997:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4stoZahFKFl0JMBetlbpTWyjuazzhe4snZ0BtUeHoiW2QoKqAFnHNYOjXuOj0HksTND+rUl02lXsKyfWYvqgH9dJsX/znQpsstqVihSqlPHBf7eJkfS9hNzB+aANvoPk6CGNFFBfsGI99TnQMbmf5x/0D40ckAlUjMX03Ug/rOC6wk1TnBoc/52d4HxAaUHVIX4woKZUCiQmXDFuCqhq0OOKoI+RBMXldX91U2bQMmWizYABJ+pJdTigAfTjHGwM7OVeVtoH652/CkmMNxAGh269lnL5wt8bb+qBBjzjd3YQFVq8U4BcJ8FRubG+lWwDcsNdXXKdEm8XER2/Uk44teJmTO96OoYB52en+JCwjZljcaK0btWqIl6WyHKx8Aq9guvLyBqfkAUHHnRvJt355AwC1IySfsSYPoGKpo01nzVNTLCzZPhFQFTh/uvzfg2IONVE4OPE8tp44M9GyC/RCYEXkMzpfv6g5zm+k2i/+6lyiqCkr9kYtUxBu7x660jcMaup7NWWjHbaB1W7sekZ5/omtEiCzlgLdFWQnPiMxRMUS7qXzxwZfW6GYbf5WZlkWi7GJuMQah2/9juX12YMhEmfSLaeVAYp7gp1HIz+hEV7CfaZhd6xn0VUX9fJHGsb1IlF7O6QX+3XqolVCfVG06wqsUmiBwBCwjQ188I3zqkItnTLmGoGsOgHCCIS//82CZtT3eXLnrrf3BxtO1I2Azn6/73e6+E70oqP2QG/AwLuDlTl68ueXwYxgrwg5kF7CwMbYT3NvWKOIjRw14Hz3GaXK5kJmoINds510+e4N3vwg51XgYiMTxHkRHw150I4QnVSfQTINkDBk2cPnUc59u+N2EJvPF80Ad7J6GujoRmrSzDBMdFUTxojmZlGmHfE8zOVbQHZKqqdvnYNbr7DsA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(376002)(366004)(396003)(39860400002)(86362001)(31696002)(8936002)(110136005)(53546011)(31686004)(316002)(2616005)(5660300002)(36756003)(41300700001)(966005)(478600001)(6486002)(186003)(26005)(6512007)(83380400001)(2906002)(38100700002)(6506007)(66946007)(4326008)(8676002)(66476007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emhERVNPM3VRR0F1S0F0a1Fvd2c3MXhVWnNZYnRVa1gzUHp0QlV0aTZDSjRm?=
 =?utf-8?B?WDBGSndvR3JIWktXaE5lY3JSS2ZuTXE4WWNkR3R6eW0vd25URnkwTFNIUlcx?=
 =?utf-8?B?OVA1RGhjWEIzd0ZGWWJWbjh5K0pJbjFtL09mYVRQT0pIR3lBcFUzQmhJZUhT?=
 =?utf-8?B?N2U2RmJvM1ViWG9abjRsYk5XNmlwcHE3RzFqMy90L1orT0xxT3FxSXNCcWdz?=
 =?utf-8?B?K3owN2VjbjRMZHoxSUE5OXFOK0NtRWVyaTNYQzZPTE5NaXVBUTMvdVZRanRP?=
 =?utf-8?B?TzFzMSsxVHg4TkpqZEtkOXhWMGFJUW9FYTlYNm8zaGZ1Skc3NVloT29XM3ZR?=
 =?utf-8?B?RTNnQmQ1V2xvVUpoSExlWFhQRi9mbU9jdTdJYnh6UW1Zc2RKN3R4a1psSEFE?=
 =?utf-8?B?KzkzN1lqdUxtR1F5eGVkemJ1SHlOK3ZWbXY4OEtqR3BWRU94T0ZUMXdYNVJB?=
 =?utf-8?B?N3IvZUFRWlhyOUJVVDVSeFZSREV1U3FJYXZkRWx2bzhlZlQ1WEI2RGhRdjJD?=
 =?utf-8?B?ZUs1YVRNdjErK2pab1JyU1pydmw5WkRPaG1QSk5JNUkxSG9nNmc3YzFpRlRr?=
 =?utf-8?B?bXRXNUdOaEo1Y2V3MlluMldxZk5ZR0lnQXF3eFJYb3BZUVpOSmhuS1U5Y0My?=
 =?utf-8?B?bGU5OEN3dXBlY3NSaU1UWXJVZDN0LzBZa0hRaW51elQzZVZmaGlLRWlpbWM2?=
 =?utf-8?B?RC9rdU5WeTNWVzN5VVNETW40UHdHS2UrY2NleFV6OGJETmQ5YXFNclh4NDRl?=
 =?utf-8?B?TityTzN2Znc0TlVkdjlxQXFRc0VpRytCeDNDZHdGTlFIenZYcVVSUkNHMUJl?=
 =?utf-8?B?c2ZNL2VXbEFqZ2ljbG1jVVlacFZxK01nZ3QxdnN4bThsQmpYRlowQ2Z2ejBI?=
 =?utf-8?B?YktaVTNGaTFqaTM3ZC9NdGp0TEVKaCs5Q1lkRUN0bzRTMXJtVU9mWEpxbFhl?=
 =?utf-8?B?K0JydkhGOU16SkVKclNwWFZLdVQ1N3ZSYzJnQkIzeTZMSU9oOEQ0SCtkbjRp?=
 =?utf-8?B?VnJGNzJwYzJiRVlTVTdnV1A0Sm5iL05GTDRobVl6MmYvWHMrQlhKNXIrQ0ta?=
 =?utf-8?B?d3BPOFdCeFBOTHRmSkQwNFNabCtkM29pT2VZZG9nK3JsTGtCQ01pYk5zK01D?=
 =?utf-8?B?NFVGamliUitqdHdVejZqeWE3UHYraTZ4blJLU04wOW9LNUdIRENQWjA3UG4y?=
 =?utf-8?B?VUVPSGNvNkh6SmtlU1dBcUJnSHlxc3J6N1FEcis0V05LMHpES0srcit5Ulc4?=
 =?utf-8?B?WWxaZldwWVZOQVAvbVo2SnQydnY3UnlEMWpTUHpsL1RIZ0FLQlp3SlNES2dB?=
 =?utf-8?B?V3lpQWhIY2s5bStaNTh6eVlYRVo0akRDYlVRQjBabTlSWVFmZ1J6dWdTTzdW?=
 =?utf-8?B?ZE1KTU5wU0dabWU4OStiNnBVVWZhaUNqNmVVZUZlK3laZG9qSldvT1VtTmRx?=
 =?utf-8?B?L2FQZlpkZHAzeENrTzlkL2s1TlVwSk9mQnhjR2hHNzh3K2YvamhmOWtHQUFs?=
 =?utf-8?B?OXFmM2srMlhCNVRjcFNnY0xFTnQ4eDRReVdrbTFXaGRNM3QwbHpWakx2Wk1a?=
 =?utf-8?B?UUZBdFJBd3NDT3VlYVNjN29yYjFmOVE0aWdCbkJ2UHp1dmFYN2Eza2NaT2hk?=
 =?utf-8?B?V25LTjZWbVpWYjlieWRGOWg5Y3IwdU1panNrVmFRQVczSjdyaFFDTmZER3FN?=
 =?utf-8?B?S1NVR0tLUHV0QTJvK2tlMFBVcEJWZ3R1SzNhZGV3Y2tNcjV0ZzZ4NHNVV0xO?=
 =?utf-8?B?WFRrQnRpUkpEdnk0bjFqQ1p3T0tnWkovRExQUUR5akpDT0ZSaXZsY2ZhVzB3?=
 =?utf-8?B?YWxVYXZwNis0WWZRUFNSK2lWWlgwU0tlQnlleitBSXVGRkRsT3RXSXpZZ3J2?=
 =?utf-8?B?ZVUzRVBQb3Rlc2g4NU5KckNlYWFEcHV4TE9BT2xoSXJaZTF2aUxXQjJKU3F1?=
 =?utf-8?B?LzlMZWYvcTlBZlFUZi9JMHJmK2QveTc3S0k4aHRrWk4zUm5TNWtnTk1WSk0x?=
 =?utf-8?B?TytrUmNRR0s2enk4R1diaFJoSjR3VXljUExWSURoQlhkWHAva1FabDJpeVAw?=
 =?utf-8?B?WjdRdTJGUW4wbVJmSmhIdWdEYW9IQUxBTStMNFhFTUVMZDFLakVmaFB0a2tR?=
 =?utf-8?Q?5N5G8Vo1MyzNwUJMfj7zywJm0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6882b2e8-b6e6-4083-a589-08da7537303e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 10:01:52.0190
 (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: vvGVwZySrE1rhbA1SBu7xQdA1yQpgVPkfONpdd+3qXAZFWMl/4o9Gyd7w0QHi0rC6usSNAbRyExeD3aKPjU7mQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6997

On 03.08.2022 11:58, Dario Faggioli wrote:
> Take 2 of this series. I think I've addressed Jan's comments. v1 was
> Message-id: <165944775952.3531.14547627248752689801.stgit@tumbleweed.Wayrath>
> 
> Currently, if the dom0_nodes parameter is used, to limit the hard or
> soft affinity of dom0's vCPUs, the boot hangs. This is because the vCPU
> affinity is set in two steps, and is only correct after we've done both.
> Credit2, however, manages to see and use the result of the first one and
> vCPUs are put on pCPUs where they can't run.
> 
> This has been reported here:
> https://bugzilla.suse.com/show_bug.cgi?id=1197081
> 
> And a fix has been discussed in the thread of this message:
> https://lore.kernel.org/xen-devel/e061a647cd77a36834e2085a96a07caa785c5066.camel@suse.com/
> 
> The solution adopted in this series is to change the vCPU affinity
> setting code in such a way that it happens alltogether and in one place
> (patch 2).
> 
> While there, make the dom0_vcpus_pin boot parameter more precise, by
> making sure that it is applied only to actual dom0's vCPUs, and not to
> the vCPUs of the hardware domain, which may or may not be dom0 itself
> (patch 2).
> 
> Regards
> ---
> Dario Faggioli (2):
>       xen: sched: dom0_vcpus_pin should only affect dom0

I'll throw in this one, but ...

>       xen/sched: setup dom0 vCPUs affinity only once

... I'd like to give this a little for a Tested-by: Olaf to possibly
arrive.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:16:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379739.613458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBQE-0000Bk-Ux; Wed, 03 Aug 2022 10:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379739.613458; Wed, 03 Aug 2022 10:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBQE-0000Bd-SO; Wed, 03 Aug 2022 10:16:14 +0000
Received: by outflank-mailman (input) for mailman id 379739;
 Wed, 03 Aug 2022 10:16:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+C7S=YH=citrix.com=prvs=207fd374a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oJBQD-0000BX-Kp
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:16:13 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ac8f7c9-1315-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 12:16:11 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ac8f7c9-1315-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659521771;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=auSZmVSZqQSFNeM+8xKTumIAfywUEZGqRb1DNottnuk=;
  b=PKJZe9VFYPtv/0AP77Plr+5wqzTPY/N4ATHWtWq2HTgM/G9CZ20EQyXo
   /O2vy6Q4H2w13vsenCAF11z+N2AKeZ/OX6SxERRMCrxVkHv+zKckTzPj7
   7WG2tZ3Xj7j5XOVwmtdkhNOlb+zpxDGK0hs5g4VKcB5OwZtRTnLAbce5X
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77260666
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3Awxb3Bq05GRaQMgrHO/bDix16xZWOz3FdZch4C?=
 =?us-ascii?q?dl9DyJ0cfeTg2ku/ST6PRR+1leKQTQnb2+unZjdzyympCmA/QC4l6PdVM3r+?=
 =?us-ascii?q?rdfYeDmwFIi4XRw0zCbFUJ3UWnZMYFZSOAdAiEtvvxegxE9YjT75l0vp0zZN?=
 =?us-ascii?q?Z2nV00ktU5XsxTuEYGObTdMdz3vyieI0kz8mi8FEJwO/paeswykx4W7fG0p6?=
 =?us-ascii?q?S66iKwemWFTiEuHMmbkTsIpt+/wYw31d7Yr0sEWSv5OLU+IHRKbRF/3WPyQz?=
 =?us-ascii?q?HRBXUuqncgSj8ISyO9vYaEYZDKxAcIjblOhzXjhgPGIeFyjRRcBolaoVLT63?=
 =?us-ascii?q?B3zhxwVMd7PJ8hMOZf1QcB8FSw7oKGshcNFi44mAvCGMfv8Oc7xbQa3xre/S?=
 =?us-ascii?q?a5OMg8IHKVDTj0TtkfMUKEzfLoeofxzJbY2bEkEvmQiidUlQpIcExypzCzvR?=
 =?us-ascii?q?T6CejthcYQG+/MgAp8NN5xondD1mz1brOVamcoaH89Md8X9ahYQ12VUT3M3g?=
 =?us-ascii?q?9MLPbwrPVbci8Vbf0TFwWnubS4/04zjWIACIDp3kn8Yz68tmlEZba1hlv+vq?=
 =?us-ascii?q?97dYnh9OzgfYpmDqkofJjExZY0Pbz+gSNk7IwrORv3aJcEzTplscpAlbBwrT?=
 =?us-ascii?q?obqaigWn3GtmAuUulHaBEKoVL/+yRNM+qgPUhEbxAOoEbpcsn0g/9/tL4oEl?=
 =?us-ascii?q?EObDs0wijCZWve1RQTo5+T6tQKIV8iLaT9VK+UJPDgYXi6CX/w2X26CAInA1?=
 =?us-ascii?q?nAuN6NIDaeQNT1d0Xj8QcUGNWgIyXMWkRaVi5ZOqCr7jmqaALHZNroRCbRT/?=
 =?us-ascii?q?IO3OM+XlA1uY3MQaS/c6S/wGfXdwKqGXNH/3EvZGf0WPhaXERT1xerfAF+uM?=
 =?us-ascii?q?WOjKZnrrCoGbu677wmMcQvPGznsofzivWGPQWAa3DnI7FQhon4qScSVgKcDW?=
 =?us-ascii?q?EUJzVmXtmZ9V0L0RQ14qDW5g1Slx7VITVpbylsuaOSaZmaKOh46pg8Gf11cW?=
 =?us-ascii?q?Sr9qOcxk8lJ1u0y8rKrHZZql+FC/GEJ41FdFYhMo8MPHPD4/PyA9dCPUZL4c?=
 =?us-ascii?q?JEWRYIrMFXdWSRyMWpvgBYD0zgSUCsoTzd8ZmXnc0OOVSVT7UbXguHpi+tYa?=
 =?us-ascii?q?a2xeU31y+VU6re08SrH8XmkD2xFPqdHcj+K4sknOvvZ5/DpoEGBf2UwEDG5p?=
 =?us-ascii?q?0efgqWN7AjV/TsIUEQ01wm+u+CBNHFEbiiQRH7QTlmTwvysOYDNsG4NsCcjB?=
 =?us-ascii?q?oKMvqTpcbdC9Y/cLpqbHb1BwNflDa76hG1oBL8KKWkNIcbRvCsR5LaPGzH5q?=
 =?us-ascii?q?D/rJ7RjYbR4TtFmzwcfyk7zs08PYrB9P+4mWgtwZ3c591f/kNwnhvFInBgVn?=
 =?us-ascii?q?B5da/LSsEmgU1pWaMsYnqbBLzdZDBes9X5oJHTxaxY60ejWEzCmmAbpX3R0l?=
 =?us-ascii?q?5Y7d22iO2o5XutDIgPStBteesHuJEVWUCUo2GFs6ztF6R6MJGgS91T0/qYXR?=
 =?us-ascii?q?ssmoBkY88IcIUHBmHUoHHnl84N8r022plV0sVpNabwTZmoQh4HduWm9J9Yf0?=
 =?us-ascii?q?paXr5ES0vQsItDSrvQ6OkEwBcIvTuaJh2fgrFSI67xngQKCZ8fS9vj12VGcN?=
 =?us-ascii?q?LNYC0aB4xT4+b2xJ0PqVoZw3n/o1inIn+oxAQAdTul1536ZJHNXSSFXI8X4t?=
 =?us-ascii?q?9xHlmLiXg9+34tJlYs8sNTu3N5S3tgB1poygLCmNJECcr6T4rSnlxZ/h9gzU?=
 =?us-ascii?q?jXnCA4N9+8Q0WF09PM/l9QuYT11e+XWvzoEmi5wT/NdNY1KCLDJC94PGzk75?=
 =?us-ascii?q?W1smCWWX0mxb3Oz230c24MVVBffNkZ9PkMe6ODTAcr0+MHzWsFNOLBCBr4dQ?=
 =?us-ascii?q?pcndu6ICljGBmISWnvIjDEPlyrvLzlvJLvtt6TU2msMLYc5HttVFGVzudhW/?=
 =?us-ascii?q?t2P6zKsBeMb/nQ3oEz0azq0Ycwej9nOxkX44LE44viRiameoDIRLiwBgHSIU?=
 =?us-ascii?q?2GfsJsd1lHMq8wjLiAfZ5t3ovrlBLQgVHKYpueFoZBC7yZZXSBEBMn+zVycd?=
 =?us-ascii?q?07mBy7cvTtlykT+m5Z5N9LucD2OKS9Zp0ZgDE29uSrgOteHIh+4YVT88emV+?=
 =?us-ascii?q?LLVg7ul0OahVVaHY/EnuAk9+NsU7tMatO6nPFUYznSmpHa47Y9/lEqRdNOI/?=
 =?us-ascii?q?1HKal9NdkebVIJpY/VwTUrMoiNdmdsXiX7hKrzUWmJZ8D0h/4muTn4OLWGh/?=
 =?us-ascii?q?bBDsckyZSlMf6RNabtHCGwQZtHi6vTN7QO0CW98Icm4XHHnoE2MXv6oTKUSX?=
 =?us-ascii?q?e6pURsQ/Fh/hL/SOQEEXJgKjoVVw8Aw6+Vvt9P19ygrzODZG15wW4Xs+2Pak?=
 =?us-ascii?q?X2jp+3an2t+kscYbDUYkXYrQIyQOCv+vQrXRrBwM+sUmoKehjuCDUw8e0yYU?=
 =?us-ascii?q?pgYDiiqUiMcth/+HrlGtm0g6+fhl6kqKRR0VO3sT6qL4PbrpkFO2H9hTig0V?=
 =?us-ascii?q?XKOiN9YmU/LAqFo+qlYKj+xn0kvNIfpp7xAiha7CRpovKcQCfQJWxwtSRrNp?=
 =?us-ascii?q?qnkXFY6HoVIWCMiasYgkz/PMF0VXbD9EvC2XIaYidO2yVLcql5FXwgyhBPZJ?=
 =?us-ascii?q?iFNlVqzO8quZ4BJh/unO8Ohfn/4MO7l+FAH+Glk/YtFIIPPpYTIuUyN10bBg?=
 =?us-ascii?q?vUwXhe9VkoYEjDDer0R2IUTg0MSvFBl7ke9KoALHAnDZOuJF8yMw6AM9AeYR?=
 =?us-ascii?q?Toqxw+1pKSVgbdJiTgXiK0r6hr6uE1xWmM1mT5bOlsgtF6qGjyuD9FvJjyHD?=
 =?us-ascii?q?U2/Dyo/uoJWdy9ISyjjL/M5FAtcuKAsA5qYkDZ1oeMZPcYkvbv4X1J6BA=3D?=
 =?us-ascii?q?=3D?=
X-IronPort-AV: E=Sophos;i="5.93,213,1654574400"; 
   d="scan'208";a="77260666"
Date: Wed, 3 Aug 2022 11:15:59 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v3 06/25] tools/fuzz/x86_instruction_emulator: rework
 makefile
Message-ID: <YupK31OG8D7+Tqin@perard.uk.xensource.com>
References: <20220624160422.53457-1-anthony.perard@citrix.com>
 <20220624160422.53457-7-anthony.perard@citrix.com>
 <d917d9a6-5ab7-f826-21e0-2c95b4614f9c@suse.com>
 <YulaTPhEf8Mp+p0q@perard.uk.xensource.com>
 <9e8b366b-5ab1-599b-263b-d86f0f111d89@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <9e8b366b-5ab1-599b-263b-d86f0f111d89@suse.com>

On Wed, Aug 03, 2022 at 07:56:34AM +0200, Jan Beulich wrote:
> On 02.08.2022 19:09, Anthony PERARD wrote:
> > On Mon, Jul 11, 2022 at 04:08:55PM +0200, Jan Beulich wrote:
> >> Can you confirm things to work when
> >> building locally in just this subdir, e.g. via
> >>
> >> make -sC .../tools/fuzz/x86_instruction_emulator CC=/build/afl/2.52b-base/afl-gcc
> >>
> >> ?
> > 
> > Yes, that still works. But I'm not sure why you would ask since the
> > tools/ build system works this way, execution of make in a subdir
> > doesn't depends on the execution from the parent dir (it doesn't
> > depends on anything in the envvar).
> 
> Oh, I wasn't even aware of this as a general feature in tools/. Is
> this going to survive your rework to use non-recursive makefiles?

Yes. Executing `make` in any subdir will still works. It should be even
better than the current situation, even in a fresh clone, we could
simply run `./configure && make -C subdir` and make will make everything
needed, that is probably the "include/" dir and the "libs/" if they are
needed by anything in that subdir.

At the moment, one can run ./configure then `make -C tools/include` and
`make -C tools/libs` and probably run make in most subdir without having
to wait for a long run of `make build-tools`.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:16:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:16:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379744.613469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBQu-0000lk-7v; Wed, 03 Aug 2022 10:16:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379744.613469; Wed, 03 Aug 2022 10:16:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBQu-0000ld-4u; Wed, 03 Aug 2022 10:16:56 +0000
Received: by outflank-mailman (input) for mailman id 379744;
 Wed, 03 Aug 2022 10:16:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJBQs-0000BX-Ff
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:16:54 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2040.outbound.protection.outlook.com [40.107.22.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6563b79d-1315-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 12:16:53 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4602.eurprd04.prod.outlook.com (2603:10a6:5:2f::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Wed, 3 Aug
 2022 10:16:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 10:16:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6563b79d-1315-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V3uIU7Cz5k42cQAu9T6Rn3jdSGzHXVhwjGJYkRjPx93FzFT3mqAmo7f/AXK2tqVW3gXFEQfruEjw094fsmW+RFiAy/Jf0L9xAU0XK5Yt/yl0M/g1ltzb8v2eoXjluDmNTiRl8gmaHbIyXhiQOLrx8Z3oa2VLeWVOLaGH72+aNt57ixbcVGTXSvtBzCVi0ykZzBPC8bud7vE3iQZ8vhq6t93GfZ2sec0BbaJdGN4PI0NVCOl+eJ3Ipk1YRwwbd3H+1JwBICXBVb0tgY32+Nh8QEiaHvPAcUAxQ7n3b4tZA+y3AwYcqSYX04nB/kA4QOVIYkHXDUZSqZ967UoM/O9zTA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7MAmTKl8Wx/kn7m86HA3ENf+E1FXDKhFgPuoTa77F5E=;
 b=Gh3N62ZEUJCatE32DqwLXlYdSv3xMoB7W0sccfNsZ+YxgzN52b54XUasfRcrvV+bbZzdro9lprt4YS7SFn8kM38vla5FVpkXAm8jtyKeKvRVPslPYief6GPSZvoxxAUXKqiGpkPm20Tqd1tQLvfQ0tuaM797uicNCVkOWuBpf0cwnXnIaAKkQZ2r0Ojb5WTBCAdM1O/Cv6Ofc5VTzGwWeJzoicg1TZHha7SLA2ydZYy4RfUQZNs8vWHO3xt+Gbg4pycdGBOOUoGJxVofO3IkDzu8LCLCnp3yCtbRO9vyOWXLjS542HH6M5Tnd3Odz3Q9dVzCtWdbZcJNcr9toMI+fg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7MAmTKl8Wx/kn7m86HA3ENf+E1FXDKhFgPuoTa77F5E=;
 b=o1sIk3hyL/raGwMHx2hTTehZ63aYlAkb7QwPGVrujtl41n4axDh8HYGZTQ1H+zHWmeUY8UuwERj2gtfsywP2ArveC1gB5NDFPLSWr0BY9onzclyA/eqsvoIm00iZ1uV5AK1tN8GQeA/LReexP+apbI3P0Z0w7YSCuj+OIoK/yhNjGuin9QemXebSlbnmqApEbxgidGBXQGWkY1mjDCOpK6FgO7j4Bsd7eZoAsGbcOWh5VaA3OeIi+fApLCDDVM+6SvvAiEi6kDVtWsXueRleD5enS/LlkaBO53ybz7HXRgneB0Nbdsuom5gllObIbscF+9Gf9/Cai3odGTTMdkZX5w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6b7a9b52-d378-f404-57a9-20b148f2e7a2@suse.com>
Date: Wed, 3 Aug 2022 12:16:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Content-Language: en-US
To: =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edvin.torok@citrix.com>
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0079.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3168f63f-722c-41f1-3df7-08da753947f4
X-MS-TrafficTypeDiagnostic: DB7PR04MB4602:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SHEzZ08J/cobbFHxr2sO3j+v4TL6jCjrCDXLrh6S45wWf7sFqZhBv+XNmV6WyPvRAmC+74UaAhgkMoHWePvpPV5xfcJMkPsez4Xqv1UQ+/4FV4oxjADDJB4euHH2TyHkY+ihfijbzAaGTt5c60SoWsk8CH84Kc6MOCjUZB7SoztiF4pQ3BW1p4m+5oCXtawBeGkAs+8NP9KNpYIStoQdk3qmUollf30k0ZLkYk7f8NoysKLQZ2li41rGxmyiduf0GlVMP6UK5GYNm32f+a4IxuwPUwvAPzIU1NlRz+rkJ7s4zI6MDXSfYy9hClYJgP0lUkKP5brp5KlDI/DN0pzuikg77pLyGUe5W0BmlMDAPDhJ66A8YRZxLSFBtPPv7BrMj3meJ3C/EBTkEjDn8ESiZlLVRoAI8HOMB4aov4JccqsqQ81ijVZPHvQ7IoEoNWoT3bGcOw6kGcA4XK4kpOj2WsyWdlUKPU7hIicWUzvC4i6k+PDyR/PUeSUQxvFKN1zf7TXTKmzqU7z57Thwj7YTZbk6LkL2HUbvjkhVeVaxFR5w9XWesCdVXF7cy301r/0xxC50FmnmPaXLYm9HXlcv1iusuR4oF3jj2zTaSIUCUi2biCZip2xJwRk/8Uy1v2X0hWzefkDd1heK2kwGEUjoYEaJmvw93KAkdXKg9yyS3HqV7qmmByc0qgimBNibfczL2L6/+y4vByiPWmxTH62nnNcImg+Dcyv7HQMRiLg5ZrtZA1iZ7Vq987Ba84p9TwPBvtS88PPTNY6Q/CBa+PplhJsoPIVr0TPE8DYOgWNceQzVHRzKFzRA7lvjX3YtIGWBR2dXtvXtk4RZlu4JlRtYBg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(346002)(366004)(136003)(396003)(31686004)(31696002)(2616005)(8936002)(5660300002)(86362001)(66556008)(4326008)(66946007)(66476007)(2906002)(186003)(36756003)(8676002)(41300700001)(478600001)(6506007)(6512007)(316002)(53546011)(6916009)(6486002)(26005)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dkRWa1Y2cXdISGMxNXcxVWUzTkZ4eityaWRPTUVRbGRSSzFqdmtsVUJRVmJR?=
 =?utf-8?B?clVhajFWQ2dQZWdGNDQ0RG41VVdkM1hUTE51T0ZiYkMxT1BvQWZuYzJwRlpu?=
 =?utf-8?B?T2VqN0xDa3lteGE4d1BudHdOb0c5Y1hzQWlieVE4V2RPMHZXWlp3UDFjV3Fx?=
 =?utf-8?B?Y1BuVW9PbmtCVEs1WVU4Z2Z2eEZqMWZneUhJNEFuU3IzTkRPN1pXSVQrbWhz?=
 =?utf-8?B?WG8vNEd0RGZyR01MV2lTUWQzWTNnSTNPZ0wwd1RaVEh5RUJkOHAxcDRpaFNo?=
 =?utf-8?B?YWlXVDRQdEVEbzNIaGlKaGp5Y0JoUTR1NWVYRm5FRzBhSXduUng0b3k4Q1Rw?=
 =?utf-8?B?ZDBXMmtjV2srU0pjOVp5ODN4SDAvczhzbWQzbGVSSGhXMXZmejhodDZQQ3l1?=
 =?utf-8?B?d0k3MWVFREFBb0dTRGVWZTlXM1pONkVVa2NSRFFCZXRCSTZ2NVhYL1VISy9J?=
 =?utf-8?B?clc5YXNYelpZWFlMWW1rVHgzRTVQa21rd3E1a1V6dnZYUGN5SXZaUXZPWEw2?=
 =?utf-8?B?YmJOUmlMUW9ucFBGcUg1S3pVZzM2TlZKVWd5eUpQRkxXR0JnNmFWekhQb0Q2?=
 =?utf-8?B?dVo1OHYwSTF3T3lOUlZaWTJHVEh2M05CSjZ3a2luUm9MWjA2QStsOCt2VnJC?=
 =?utf-8?B?L3QzbTFoWHQ1UlhOem5JN3FJS2Q4WHpnd0Z2RTJ3RnJ5MkRUWko3RlhrS0M1?=
 =?utf-8?B?aTA3dTg5dnlXVHBHODJuMng3ekZxM1BjMmhCQkRNS0tFWmJ6elBpK3ZJbTJW?=
 =?utf-8?B?UE10ODdTR0VFWk1FcE1CNk5PaEFiTGovMmJqU29OQ2V5WmhkS1cxQjZzTXBa?=
 =?utf-8?B?LzhLN2FTM2tUdDNJNnNINHhRUGl3ZkhIWHlmdTBXZGVJWFpHblhmYlpCbVcr?=
 =?utf-8?B?RC9DQzZDVVFvSUtWSnM5YXBxbGhBeUZ2K2ZMcWp4MTBtMkxQSmNkQXJOekNj?=
 =?utf-8?B?WENTSUJVTmtyM01rR25JT2VBdjlxdCtEengwQ3RlbUNkSFRiNmYyS2Fyb2pY?=
 =?utf-8?B?VG9VeVVGYkFkcGkveGNtNlZic0pTcnptRkZjUGgwbW44eGNJZnVLUHJUREti?=
 =?utf-8?B?emowdnhHcHBLdHNGY0J2QTFqbW5wVGgza05UVE4xRm9vYm1YaGhycXdIMmNx?=
 =?utf-8?B?ZFJTNVpSc1pEOUdkcGtnV1oxNUpkUC9JN2EwZGJXS3k4SGw1QkprVnZWSXN0?=
 =?utf-8?B?OUs1cjVVajlLK08vdXRWYkFrbTZqR3JBVC83b1JrekhFKzBOYktPTFFFVnhF?=
 =?utf-8?B?YzZxaWJpb3VNaC9aeVdaNmRycUNRclo0Ylk3d1gyck01anZwZm5RdUREZzRG?=
 =?utf-8?B?cUFPMytIWkkzcU9SOSswUjYrZzlYUzVqdGt5YWdhVnBmek9VVW9taHd1SFp2?=
 =?utf-8?B?Ym1Xa01KL0JCT1VwblRVOUlvNEhJKzYyWjIxZ1FmWlRiWndlWFBEcFZhMjhL?=
 =?utf-8?B?OFFNNW93cjIzUDJkMTVMREcwZlUzREVaQXpIZzJPSjMzS0VCSVYrcTYweG9E?=
 =?utf-8?B?dFM3Y3JEU1puZWlxVlQwbVYrUFBvQWVSQ1BPb0dNSmR0QS9EVjlQMW51aGZK?=
 =?utf-8?B?eWwwTjk3R2hxSCsrZDVoYzZ1WW50cXpJY0JSWXJWbjhOTi9JWUJEK3hLRWxs?=
 =?utf-8?B?WS9GZlJOd1hVU01iZXV3VU1VL0JET3k5Q3dveGFGOGNUeXhCYzZEUHBGMHFr?=
 =?utf-8?B?OE95emxrQzkrZGJqTHUvTEl5cVZ2c3RaZXdXWG1RUWxlNG9HRlQ3YmVrMkJ2?=
 =?utf-8?B?K0djSHhVMldPN2xaN25FMlVLZmQ2b2hiWUJTa2NtVUJFOUxubER3aUg1dWZh?=
 =?utf-8?B?UklEeklNOHdZRGZYWEI3K2F2VnN5NGx0dVIyNEZLbjVpekRFTWl6U08zdGlk?=
 =?utf-8?B?OWphY1JnRlFPSWFPeWJDalRIZXJrYVU0b0FldThGWlA2akVoZXkzdlBJQ3VF?=
 =?utf-8?B?RmRtdUhIbWdHTGpJWUg3eWF4Y2owWnFlUFY3UzlUK0IrMGdRVzJiVzQ0M2hv?=
 =?utf-8?B?YytLRWd2RlBFa2Q0YUZUSytNc1Z3RjF0dVZMZG9WMkZlVFAwTVhkVGU1NG84?=
 =?utf-8?B?YTU1a0h0dlBxYkVsR0NDNVY5dlFuWU1TNkd1UjVjOUNUVmtvVVp5SDJDOVRV?=
 =?utf-8?Q?pNDKCKTMZZTCvJbnETlIdfhW8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3168f63f-722c-41f1-3df7-08da753947f4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 10:16:50.8527
 (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: YOW6myQ7Xy+1YnFFNmgxkPI9RFPz+rkoPIqL2AMolf12AUKMmk9cEAZj7s+lqyqEqorlND/j8CvnWCHpzgMspw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4602

On 29.07.2022 19:53, Edwin TÃ¶rÃ¶k wrote:
> Trying to include .ocamldep.make will cause it to be generated if it
> doesn't exist.
> We do not want this during make clean: we would remove it anyway.
> 
> Speeds up make clean.
> 
> Before (measured on f732240fd3bac25116151db5ddeb7203b62e85ce, July 2022):
> ```
> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
> 
>  Performance counter stats for 'make clean -j8 -s' (5 runs):
> 
>             4.2233 +- 0.0208 seconds time elapsed  ( +-  0.49% )
> ```
> 
> After:
> ```
> perf stat -r 5 --null make clean -j8 -s
> 
>  Performance counter stats for 'make clean -j8 -s' (5 runs):
> 
>             2.7325 +- 0.0138 seconds time elapsed  ( +-  0.51% )
> ```
> 
> No functional change.
> 
> Signed-off-by: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>

I've committed this as is since it was acked and is an improvement
in any event, but ...

> --- a/tools/ocaml/Makefile.rules
> +++ b/tools/ocaml/Makefile.rules
> @@ -44,8 +44,10 @@ META: META.in
>  
>  ALL_OCAML_OBJ_SOURCES=$(addsuffix .ml, $(ALL_OCAML_OBJS))
>  
> +ifneq ($(MAKECMDGOALS),clean)
>  .ocamldep.make: $(ALL_OCAML_OBJ_SOURCES) Makefile $(OCAML_TOPLEVEL)/Makefile.rules
>  	$(call quiet-command, $(OCAMLDEP) $(ALL_OCAML_OBJ_SOURCES) *.mli $o,MLDEP,)
> +endif

... what about the distclean goal?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:24:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:24:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379754.613493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBYJ-0002TF-8n; Wed, 03 Aug 2022 10:24:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379754.613493; Wed, 03 Aug 2022 10:24:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBYJ-0002T8-5w; Wed, 03 Aug 2022 10:24:35 +0000
Received: by outflank-mailman (input) for mailman id 379754;
 Wed, 03 Aug 2022 10:24:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LHrU=YH=citrix.com=prvs=2079004b7=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1oJBYH-0002T2-Sf
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:24:34 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75bb0d1e-1316-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 12:24:32 +0200 (CEST)
Received: from mail-bn7nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2022 06:24:29 -0400
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by SA1PR03MB6579.namprd03.prod.outlook.com (2603:10b6:806:1ca::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.11; Wed, 3 Aug
 2022 10:24:27 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::11be:5f36:d3fe:ba1e]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::11be:5f36:d3fe:ba1e%6]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 10:24:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75bb0d1e-1316-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659522272;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=mGNRwlacwTxgIjc2OVx4+MHoRHgRebh989lPy2POGE8=;
  b=S4Z0khPIzIB355fZMI3wPlgXFPekpSEcNKXmzSAJ4riGs84HAfuW52+G
   qWFY9OJ5S19BbT7yPvAz2Qf3G6fbeVQpIhwydpjkrdKHrB4YD0cLE6f46
   0Voa6bOez9Dm8Yzg90gyCLQ7jCNPH1RSKU/qI08kbtC3kSoC5BRKzfmc0
   E=;
X-IronPort-RemoteIP: 104.47.70.108
X-IronPort-MID: 77260921
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Fp5qCq60K7fPOUeSGUI/xwxRtBfGchMFZxGqfqrLsTDasY5as4F+v
 mtKXTiObqrbamH9eIojao+29koD6sWBxtFjGQZvpCEyHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5K+q4lv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJE0mELIxp7tvPVNX7
 awhNj1UVU+Pgf3jldpXSsE07igiBO/CGdpH/1tGknTeB/tgRo3fSaLX49MexC03ms1FAffZY
 YwedCZraxPDJRZIPz/7CrpnxLvu2ia5LGUe8QrFzUY0yzG7IAhZ3bTzMdyTZtuQQsZ9lUeEv
 GPWuW/+B3n2MfTAlmDbqiP234cjmwvgZ64LMIyV18RRgUWLzEEcVg0XDgaS9KzRZkmWHog3x
 1Yv0igkoLU29UerZsLgRBD+q3mB1jYQUsRdO/c34waMzuzT+QnxLncAZi5MbpohrsBebSwn0
 BqFks3kARRrsaaJUjSN+7GMtzSwNCMJa2gYakc5oRAt5tDipMQ5iE3JR9M6SKqt1IStSXf33
 iyAqzU4i/MLl8kX2q6n/FfBxTWxupzOSQ1z7QLSNo640j5EiEeeT9TAwTDmATxode51knHpU
 KA4pvWj
IronPort-HdrOrdr: A9a23:wboTGaEkuo8tf8jEpLqFS5HXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskdrZJkh8erwW5Vp2RvnhNNICPoqTM2ftW7dySeVxeBZnMHfKljbdxEWmdQtsp
 uIH5IeNDS0NykDsS+Y2nj2Lz9D+qjgzEnAv463oBlQpENRGthdBmxCe2Sm+zhNNW177O0CZf
 +hD6R8xwaISDAyVICWF3MFV+/Mq5ngj5T9eyMLABYh9U2nkS6owKSSKWnY4j4uFxd0hZsy+2
 nMlAL0oo+5teug9xPa32jPq7xLhdrazMdZDsDksLlUFtyssHfqWG1SYczGgNkHmpDq1L/sqq
 iKn/4UBbUw15oWRBDynfKi4Xi47N9k0Q6e9bbRuwqenSW+fkN1NyMJv/MmTjLJr0Unp91yy6
 RNwiaQsIdWFwrJmGDn68HPTAwCrDv8nZKz+dRj8EC3fLFuH4O5l7Zvin99AdMFBmb3+YonGO
 5hAIXV4+tXa0qTazTcsnN0yNKhU3wvFlPeK3Jy8fC9wnxThjR03kEYzMsQkjMJ8488UYBN46
 DBPr5znL9DQ8cKZeZ2BfsHQ8GwFmvRKCi8eF66MBDiDuUKKnjNo5n47PE84/yrYoUByN8olJ
 HIQDpjxBoPkoLVeLizNbFwg2DwqT+GLEXQI+lllutEk6y5Qqb3OiueT11rm9e8opwkc7/mZ8
 o=
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="77260921"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d53y0CynJRkz1KCSfjKX53G+KrmQgdHM1+XDKyFtgSzKY6JLi5c8s1bLCOUNe3bZ3JHPUhHxqsJIlO+CnpvauPlpYMnPAQWHOTOWelIptDED8wG/LFoqZfIZhsRdmRoLUzEpdahV8FiLP2s2HNJnxIr07a58TwSRB/p7sMJTKDf2Q06HiTsN22fUrcoZGkpUghjG3Aem/r5CEiII6BvSqJZym/hoKxmGA2b6ut8wGHs10h37+2gfb/RqUsItAwCutxaR4nyFXc25Tq6LdpGVcu5tD8ksO2wSsWE3hx/z/sG5kSHPyPDXb/jALHXIJt1yklKLoE1UykYgPf1P4g0E2w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mGNRwlacwTxgIjc2OVx4+MHoRHgRebh989lPy2POGE8=;
 b=MMyNb8r6RWL2eENhiFsXB7vQG8x6zfrU+VSRbq9GqBvFghV/917asSp6vNqfaybjagF9pZuUIa730qei96qmA2Q1/Kb50quFU1Tk0RBAw16Iv0fc4PtO8t9YR2PYcDLd4JZXdnA2MneeBqWm770KUyX6GVRUtW2pM1pSTfDDQzbCeXRmDctvZb9uFgweG+w46a/NKyNnf58B4JQJU0KIB/Pm3a+jscftpQIV4fF/W87pTzSoAtVAxD5+Nzc0pWhx6Aaait4bVfiKhDllcCCVwmrE326EQiwrXStdIGhF0j8ziTHmFaVt11Ftp70BAt4jeJt9CAcCBPu5sCwvI6AM/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mGNRwlacwTxgIjc2OVx4+MHoRHgRebh989lPy2POGE8=;
 b=SYLySdqI+CmDjn2+nBt7LQfoJtUbgZfK1xQ9uixIRs8mLu0R6zWWgZGU6Hj8Wl51ZySxXzqBrlUMQ3ewrqWbnG14WwMn4IAGDkj6W7oDXZVLUKODFw3OioxvwSZrzpjo9vovRwZcFPilgFv+ij4Dp90MJ4FDVEoDZL+wjZLd7kQ=
From: Edwin Torok <edvin.torok@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Thread-Topic: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Thread-Index: AQHYo3Q1+zzg+oK1BUGAK7B2d/MLMq2c/V8AgAACIYA=
Date: Wed, 3 Aug 2022 10:24:26 +0000
Message-ID: <FEF021F3-739B-4585-82D6-D13CDCBBC24F@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
 <6b7a9b52-d378-f404-57a9-20b148f2e7a2@suse.com>
In-Reply-To: <6b7a9b52-d378-f404-57a9-20b148f2e7a2@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 30973b5c-4f5b-4755-3d80-08da753a57de
x-ms-traffictypediagnostic: SA1PR03MB6579:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 IEfZGk9IZA/z8FLpMoC8DMps+Ki02LqBN2tVbCWJIij7llhJId606Dse6AITUuAuFqNU4iAFqCQhK6yuqlupW3Pr/61bKJ0eR0F6PsUFR4RvChwjdS+4FDbL662cNMn4MahkXjWGx4qHhl0l/zSlFyTBEOgqUQj+0Vipeddffa0CUDtxqQ3QW6rTCu6Zm5bvt/Kjrxqilf99JyvSzR29E0+k3iz2t+skt9dSwHqKspvqHXaurcAbqcKR/Sfd2aXP4xol92oR5ihbjWp1rGjqtvdJ0hCaJQlXOv6lnddGGr0a9LD6HSxWVjHIq9pvwOkVV8dNhnkfb6SDB6nMFADj0UghsNnHfH4RVWARfokGzcBJ3uJ7KVbSJ9jOYu6H4ZFrJgHiOOEPr1VMQDKVGjOghdCggnbDJN/dcK2cLAaJ/JRO0bKeV3uxQP6xOB9LU7N4NrivF4ENIp360fOsSXgva7s9QBOzOy6RSBvPr0GSnLLJndEZj9tyaan6xjxWueKyzMH13yMZYMbSaiLfhozDarXUjLO11Z0ZnZ7EU+H7HhiU3QufLJbI8ZOaaOq4pYLjGeKHaMw+knwNyHgo79iX1isK/qIAD5vQSdkgDMoIvHNicvfDMGsXRI6Wk9wuXkCwCMwhJILNl+uAwA8eAfZrr02JYcE2AgX7rcTGzfjJ495y5b3ohHY/tVSfGe8FPyqN3G4EqCVIHt9UP64Gnh9oqGtglgxmx8XlP5npq4VPJRRaRWo4SpuM6974UykKjWPEnsrZe03MgAvg5q4zZtn7iZ109tY1v3/0uIubH/H/4dI7acLTHtkWaDqrEImD6IohVoXDMlDf4Wc5kX4yeJst5A==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(346002)(136003)(366004)(39860400002)(186003)(71200400001)(53546011)(36756003)(76116006)(38100700002)(86362001)(91956017)(66446008)(2616005)(66556008)(66946007)(64756008)(66574015)(66476007)(83380400001)(6512007)(8676002)(6506007)(26005)(4326008)(82960400001)(6916009)(8936002)(2906002)(54906003)(478600001)(41300700001)(33656002)(5660300002)(38070700005)(122000001)(6486002)(316002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NmRFZFJmUXU1Tmp6YnlzVTJVRURvMEFZKzFldjl2WEc4QWpNbWlwbk1JeVdM?=
 =?utf-8?B?N0Q5Qi9tSDBjN1p2Nkl0RWFPSklSb2h6b1dvYXllcStaRUsrdGdnVG53QmdS?=
 =?utf-8?B?L2FUOEtJVHcvOGJrSVd0WThDYXdVUUMxY1FtM2xTcmczaWpkSDN1ZDlINWk2?=
 =?utf-8?B?eDBubFBKNmVNQUtGUUcyc3hOYXZkY1NZbUhMcDhhWEtoK2pHS0htR1p5T21H?=
 =?utf-8?B?UUVTRDZ4L0hvWmV4RDZQWWVueEV1S3hLY0JGZmxRc0loQzNmRnpMSUVpalJZ?=
 =?utf-8?B?WTJQN3kxNGs1Ym9mUlJFaEJrZVJWa0JIM1Jic0ZFUkJCeU44NGZsUHF5cDFl?=
 =?utf-8?B?ZklPNmpDWUk2VFVvRGR5WEVGdFp3U2tDVmpEV3BtakRlNHpOZ1p4RDNiemZz?=
 =?utf-8?B?WlFUSnFvem9GN2lSUnZXcnZyTlkyTDZjMnhoRW5yS3c4TVRzc3U5MTJIS05q?=
 =?utf-8?B?UmhGQlp0Rms4cUVaRXFyZjhNRVp0YjV2Y1pqMTNxejlqbG50Y2h0ZnhmbFNI?=
 =?utf-8?B?Z1lyOWM3aURTSm5KZXhxV3BqeFVqSVFEOFZWUTlLSkRwK0hVR1ZCK0kwSzdh?=
 =?utf-8?B?cGN5dW0zeGgyUUZuZkVMQmcrcFNaTXhQcjZlWkliVDdReFdCUGVsM3RjMDhz?=
 =?utf-8?B?ekpZZjJKQmU4MDljNGRnRHlSb3JhZFNPZDcyMjVCNWlRL2pOejN6Z0l2Y3Fy?=
 =?utf-8?B?VTA3aWw3dGNtcGVsME1lNEVSMzZpeFdBcWplUHE3UHhTK1VVeUlNTXNFd2dW?=
 =?utf-8?B?UzV0a3FUSmcyVHc3UllhSmJlK3VaYWFOM2lTYlhmYk1UTlNPK0VDTjhEa2VO?=
 =?utf-8?B?cEZBeGVORTk5aVhoczNKc1RDZlVyU1daVWsvWjE5YWRJNE5GNCtZb1NnOURW?=
 =?utf-8?B?ODZhVlorVXJ0amwyeTk2STRjQlBnSUFxWWhHOUptRmNzTGZYdnk2b0k1SDBE?=
 =?utf-8?B?VUlaQ2NNUzNSaGxJSW5VdTBMUm1ZcW5INkRUNnR2NWdyTDZWcEordzJJRjF4?=
 =?utf-8?B?NEJNZWs4bTlZUjQrVnhZR0lubVcyU201SmM1a1lPanVrNEcrVU9wMkFiVjU1?=
 =?utf-8?B?cjhETnk4U1NJOTNCM0RIdStVbVoyTXJEVlU3MDZqenZPMTkzTjFPYkQxSVhC?=
 =?utf-8?B?azAxcUg2RmxEeXBieUhEYVduVHZkZnNmMzRsQ09iOFF5Y0Z3WE1pRFY2b1Z5?=
 =?utf-8?B?OVhISE5meGJPRlFKTWV1Vlo2b0M2dnRPODZ2c1hWSzRYK04yY3g4Z04vZDJa?=
 =?utf-8?B?L3FTRktqaS9xQ0poa1ZzcU1Kbjd2eVA4VVg4WXM1SU1oUnNVNHdFQVpaMUY4?=
 =?utf-8?B?TTF1d1h5UWtNbTlIWUNzOHNwOVgyZ3dQcHplY3oyNEJySjJIbForcUxBdWhz?=
 =?utf-8?B?c3FOeWsxTEVoZkE5ci82UlFWbmNpVXhrdWtINEF1UkNaZjBRT0VIMGVaL1pM?=
 =?utf-8?B?eTlKY1pGNzAvWTA1dDBnWUZ1ay9BbzJ4azY1emR6WHlGZFVjeWZkaDhrblBh?=
 =?utf-8?B?dUkrUm5lU2IvQnpvVVR0NnBFQTltcm5GVDdkZ3lpVkg3ZDIxMkV6TkVUblpG?=
 =?utf-8?B?MnJQenRKMHNPcFo1a1EwMlRiZkZqY2doREZSWDVHY3NQVzhQMjNhd2J6Z0pu?=
 =?utf-8?B?QTRkakQ4Q3dRbW1hc3BrMXQvR1lyWEE2Ni9tZFFkQS9yTWFYMUFLZ2lpNkN4?=
 =?utf-8?B?MkFLdFRsRldZWTJxRVZhMUFkdVpMZzNxVi9QRGJSc2pPMlg2U2tzVUhSS28w?=
 =?utf-8?B?akdtekRaOTFDTG1waXhXSG9Ob1RFNGhUbmRoVGVFSEFXRVI2NXVXTWFjS3pR?=
 =?utf-8?B?U0ZSTGFtUng0Zi9yNDg3QzhEeXExa2t4NDduS05yRXlYaUVqZ3FBQmVleVcr?=
 =?utf-8?B?SzkyNitjMW5yWFRnb0JMamFFSTVJd2M5Zkh5U3p2ZThsanA3MWgweGRpMERp?=
 =?utf-8?B?OFBnd3NFZytWa1p3RFl5LzgyWXcyeHdRdU5FSzRhd2FlRTdXOXpBMGtpbGVQ?=
 =?utf-8?B?akZ3bDFEZXFNOWJvMjhVaXV5UzY0WVFvQnV5M2FPdlZyVE16NUMvc1hPRW1q?=
 =?utf-8?B?NlFRSGdnOTM4c2pBaWFyVEtEMjRqRS9JSFlKd2FkZTlWdzQ2TVpVa1d0c0Rl?=
 =?utf-8?B?aWdGTkgxaFMvQmZHejU0Y2F5RXdNNTVTRmNDYy9jbWYzNzNDN3AydXdaeWdV?=
 =?utf-8?B?K3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <4219CABB53C25C4880C59312A4652C2B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30973b5c-4f5b-4755-3d80-08da753a57de
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2022 10:24:26.8769
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qOX69tVPGn6xq9lGvisLZGge/CTtoW5sIyOQ6+xqHlQJxxWuUD7lbCScIk+40O9LLoYO/Cf2nypT5AW0i7iGjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6579

DQoNCj4gT24gMyBBdWcgMjAyMiwgYXQgMTE6MTYsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl
LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAyOS4wNy4yMDIyIDE5OjUzLCBFZHdpbiBUw7Zyw7ZrIHdy
b3RlOg0KPj4gVHJ5aW5nIHRvIGluY2x1ZGUgLm9jYW1sZGVwLm1ha2Ugd2lsbCBjYXVzZSBpdCB0
byBiZSBnZW5lcmF0ZWQgaWYgaXQNCj4+IGRvZXNuJ3QgZXhpc3QuDQo+PiBXZSBkbyBub3Qgd2Fu
dCB0aGlzIGR1cmluZyBtYWtlIGNsZWFuOiB3ZSB3b3VsZCByZW1vdmUgaXQgYW55d2F5Lg0KPj4g
DQo+PiBTcGVlZHMgdXAgbWFrZSBjbGVhbi4NCj4+IA0KPj4gQmVmb3JlIChtZWFzdXJlZCBvbiBm
NzMyMjQwZmQzYmFjMjUxMTYxNTFkYjVkZGViNzIwM2I2MmU4NWNlLCBKdWx5IDIwMjIpOg0KPj4g
YGBgDQo+PiBQYXJzaW5nIC9ob21lL2Vkd2luL3hlbjIvdG9vbHMvb2NhbWwvbGlicy94bC8uLi8u
Li8uLi8uLi90b29scy9saWJzL2xpZ2h0L2xpYnhsX3R5cGVzLmlkbA0KPj4gUGFyc2luZyAvaG9t
ZS9lZHdpbi94ZW4yL3Rvb2xzL29jYW1sL2xpYnMveGwvLi4vLi4vLi4vLi4vdG9vbHMvbGlicy9s
aWdodC9saWJ4bF90eXBlcy5pZGwNCj4+IFBhcnNpbmcgL2hvbWUvZWR3aW4veGVuMi90b29scy9v
Y2FtbC9saWJzL3hsLy4uLy4uLy4uLy4uL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXMuaWRs
DQo+PiBQYXJzaW5nIC9ob21lL2Vkd2luL3hlbjIvdG9vbHMvb2NhbWwvbGlicy94bC8uLi8uLi8u
Li8uLi90b29scy9saWJzL2xpZ2h0L2xpYnhsX3R5cGVzLmlkbA0KPj4gUGFyc2luZyAvaG9tZS9l
ZHdpbi94ZW4yL3Rvb2xzL29jYW1sL2xpYnMveGwvLi4vLi4vLi4vLi4vdG9vbHMvbGlicy9saWdo
dC9saWJ4bF90eXBlcy5pZGwNCj4+IA0KPj4gUGVyZm9ybWFuY2UgY291bnRlciBzdGF0cyBmb3Ig
J21ha2UgY2xlYW4gLWo4IC1zJyAoNSBydW5zKToNCj4+IA0KPj4gICAgICAgICAgICA0LjIyMzMg
Ky0gMC4wMjA4IHNlY29uZHMgdGltZSBlbGFwc2VkICAoICstICAwLjQ5JSApDQo+PiBgYGANCj4+
IA0KPj4gQWZ0ZXI6DQo+PiBgYGANCj4+IHBlcmYgc3RhdCAtciA1IC0tbnVsbCBtYWtlIGNsZWFu
IC1qOCAtcw0KPj4gDQo+PiBQZXJmb3JtYW5jZSBjb3VudGVyIHN0YXRzIGZvciAnbWFrZSBjbGVh
biAtajggLXMnICg1IHJ1bnMpOg0KPj4gDQo+PiAgICAgICAgICAgIDIuNzMyNSArLSAwLjAxMzgg
c2Vjb25kcyB0aW1lIGVsYXBzZWQgICggKy0gIDAuNTElICkNCj4+IGBgYA0KPj4gDQo+PiBObyBm
dW5jdGlvbmFsIGNoYW5nZS4NCj4+IA0KPj4gU2lnbmVkLW9mZi1ieTogRWR3aW4gVMO2csO2ayA8
ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4NCj4gDQo+IEkndmUgY29tbWl0dGVkIHRoaXMgYXMgaXMg
c2luY2UgaXQgd2FzIGFja2VkIGFuZCBpcyBhbiBpbXByb3ZlbWVudA0KPiBpbiBhbnkgZXZlbnQs
IGJ1dCAuLi4NCj4gDQo+PiAtLS0gYS90b29scy9vY2FtbC9NYWtlZmlsZS5ydWxlcw0KPj4gKysr
IGIvdG9vbHMvb2NhbWwvTWFrZWZpbGUucnVsZXMNCj4+IEBAIC00NCw4ICs0NCwxMCBAQCBNRVRB
OiBNRVRBLmluDQo+PiANCj4+IEFMTF9PQ0FNTF9PQkpfU09VUkNFUz0kKGFkZHN1ZmZpeCAubWws
ICQoQUxMX09DQU1MX09CSlMpKQ0KPj4gDQo+PiAraWZuZXEgKCQoTUFLRUNNREdPQUxTKSxjbGVh
bikNCj4+IC5vY2FtbGRlcC5tYWtlOiAkKEFMTF9PQ0FNTF9PQkpfU09VUkNFUykgTWFrZWZpbGUg
JChPQ0FNTF9UT1BMRVZFTCkvTWFrZWZpbGUucnVsZXMNCj4+IAkkKGNhbGwgcXVpZXQtY29tbWFu
ZCwgJChPQ0FNTERFUCkgJChBTExfT0NBTUxfT0JKX1NPVVJDRVMpICoubWxpICRvLE1MREVQLCkN
Cj4+ICtlbmRpZg0KPiANCj4gLi4uIHdoYXQgYWJvdXQgdGhlIGRpc3RjbGVhbiBnb2FsPw0KDQoN
ClRoYW5rcyBmb3IgdGhlIHN1Z2dlc3Rpb24sIEkgc2VlIG90aGVyIE1ha2VmaWxlcyB1c2luZyAn
ZmluZHN0cmluZyBjbGVhbicsIHdvdWxkIHRoYXQgYmUgYXBwcm9wcmlhdGUgaGVyZT8NCg0KU29t
ZXRoaW5nIGxpa2UgdGhpcyBwZXJoYXBzPw0KDQpGcm9tIDUzY2JmODFhOWM3ZDUwOTA0NDNiNWZl
NWRlMzdhNDcxMThhYzUzZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQpNZXNzYWdlLUlkOiA8
NTNjYmY4MWE5YzdkNTA5MDQ0M2I1ZmU1ZGUzN2E0NzExOGFjNTNkOC4xNjU5NTIyMTc4LmdpdC5l
ZHZpbi50b3Jva0BjaXRyaXguY29tPg0KRnJvbTogPT9VVEYtOD9xP0Vkd2luPTIwVD1DMz1CNnI9
QzM9QjZrPz0gPGVkdmluLnRvcm9rQGNpdHJpeC5jb20+DQpUbzogeGVuLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnDQpDYzogQ2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRy
aXguY29tPg0KQ2M6IERhdmlkIFNjb3R0IDxkYXZlQHJlY29pbC5vcmc+DQpDYzogV2VpIExpdSA8
d2xAeGVuLm9yZz4NCkNjOiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNv
bT4NCkRhdGU6IFdlZCwgMyBBdWcgMjAyMiAxMToyMTo0NiArMDEwMA0KU3ViamVjdDogW1BBVENI
XSB0b29scy9vY2FtbC9NYWtlZmlsZS5ydWxlczogZG8gbm90IHJ1biBvY2FtbGRlcCBvbiBkaXN0
Y2xlYW4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz
ZXQ9VVRGLTgNCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KU2lnbmVkLW9mZi1i
eTogRWR3aW4gVMO2csO2ayA8ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4NCi0tLQ0KIHRvb2xzL29j
YW1sL01ha2VmaWxlLnJ1bGVzIHwgMiArLQ0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr
KSwgMSBkZWxldGlvbigtKQ0KDQpkaWZmIC0tZ2l0IGEvdG9vbHMvb2NhbWwvTWFrZWZpbGUucnVs
ZXMgYi90b29scy9vY2FtbC9NYWtlZmlsZS5ydWxlcw0KaW5kZXggZDM2ODMwOGQ5Yi4uYzFjNWRk
M2IzOSAxMDA2NDQNCi0tLSBhL3Rvb2xzL29jYW1sL01ha2VmaWxlLnJ1bGVzDQorKysgYi90b29s
cy9vY2FtbC9NYWtlZmlsZS5ydWxlcw0KQEAgLTQ0LDcgKzQ0LDcgQEAgTUVUQTogTUVUQS5pbg0K
DQogQUxMX09DQU1MX09CSl9TT1VSQ0VTPSQoYWRkc3VmZml4IC5tbCwgJChBTExfT0NBTUxfT0JK
UykpDQoNCi1pZm5lcSAoJChNQUtFQ01ER09BTFMpLGNsZWFuKQ0KK2lmZXEgKCwkKGZpbmRzdHJp
bmcgY2xlYW4sJChNQUtFQ01ER09BTFMpKSkNCiAub2NhbWxkZXAubWFrZTogJChBTExfT0NBTUxf
T0JKX1NPVVJDRVMpIE1ha2VmaWxlICQoT0NBTUxfVE9QTEVWRUwpL01ha2VmaWxlLnJ1bGVzDQog
CSQoY2FsbCBxdWlldC1jb21tYW5kLCAkKE9DQU1MREVQKSAkKEFMTF9PQ0FNTF9PQkpfU09VUkNF
UykgKi5tbGkgJG8sTUxERVAsKQ0KIGVuZGlmDQotLQ0KMi4zNC4x


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:38:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:38:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379762.613504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBl2-00045C-Ep; Wed, 03 Aug 2022 10:37:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379762.613504; Wed, 03 Aug 2022 10:37:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBl2-000455-Ay; Wed, 03 Aug 2022 10:37:44 +0000
Received: by outflank-mailman (input) for mailman id 379762;
 Wed, 03 Aug 2022 10:37:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pjlV=YH=citrix.com=prvs=207c5e48b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJBl0-00044z-FI
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:37:42 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b77cd50-1318-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 12:37:40 +0200 (CEST)
Received: from mail-sn1anam02lp2042.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2022 06:37:34 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SN4PR03MB6688.namprd03.prod.outlook.com (2603:10b6:806:21f::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.11; Wed, 3 Aug
 2022 10:37:32 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c%4]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 10:37:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b77cd50-1318-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659523060;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Lg2cn7gmgcd7Gxlp/Dtid7qxSjdeE17X1PqY/KZZDjE=;
  b=VCYGwJIVcWfG7B4QaXGwSgYDXE8HGfyh7Rfr7w/BCw+rk2p3K7BKRsTP
   GqqNf2bPRbzfsgqR6tOTZjMeFhV9k0dYc26LDrCgNt4BWIKZO6zqT9TVj
   7P3dUT4TnS4uN+WirKaJfli7CDnCggi5f4N0vTum82Earc6jmNaI5zFSb
   s=;
X-IronPort-RemoteIP: 104.47.57.42
X-IronPort-MID: 79818381
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:93P5R6zgWqBt7eEHhN96t+coxyrEfRIJ4+MujC+fZmUNrF6WrkUPm
 DcdWmuAbvmIYmL2edx+boq+/EpT7cLcyNBrHQtoqyAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Es05K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1MFgYLfq87wdpGImFhr
 sYlCDURYSq60rfeLLKTEoGAh+wFBeyzZsYknCglyjvUS/E7XZrEXqPGo8dC2ys9jdxPGvCYY
 NcFbT1ob1LLZBgn1lU/Ucpi2rv3wCSgNWECwL6WjfNfD2z75Qp9yrXydvHSfcSHX559lUeEv
 GPWuW/+B3n2MfTAmGrcoin834cjmwunfKECLbO/scQwgW2VwEohURkUVEuC9KzRZkmWHog3x
 1Yv0jojq+0++VKmSvH5XgakuziUsxgEQd1SHuYmrgaXxcL8/AKxFmUCCDlbZ7QOuMYoSBQw2
 1SOntevAiZg2IB5UlqY/7aQ6Ci0YCETJGpaPyscF1NZuZ/kvZ05iQ/JQpB7Cqmpg9bpGDb2h
 TeXsCw5gLZVhskOv0mmwW36b/uXjsChZmYICs//BwpJMisRiFaZWrGV
IronPort-HdrOrdr: A9a23:/l81dajZ8OaboyrDm+vQDCPZ43BQX3l13DAbv31ZSRFFG/FwyP
 rCoB1L73XJYWgqM03IwerwQ5VpQRvnhP1ICRF4B8buYOCUghrTEGgE1/qv/9SAIVy1ygc578
 tdmsdFebrN5DRB7PoSpTPIa+rIo+P3v5xA592uqUuFJDsCA84P0+46MHfjLqQcfnglOXNNLu
 v52iMxnUvERZ14VKSGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3z8FOgk/gIsKwC
 zgqUjU96+ju/a0xlv3zGnI9albn9Pn159qGNGMsM4IMT/h4zzYJLiJGofy/wzdktvfrWrCo+
 O85yvI+P4DrE85S1vF4ycFHTOQlgrGpUWSkGNwykGT3PARDAhKd/apw7gpPCcxonBQwu2Vms
 hwrh2knosSAhXakCvn4d/UExlsi0qvuHIn1fUelnpFTOIlGfZsRKEkjTRo+a07bVTHwZFiFP
 MrANDX5f5Qf1/fZ3fFvnN3yNjpWngoBB+JTkULp8TQilFt7TtE5lpdwNZakmYL9Zo7RZUB7+
 PYMr5wnLULSsMNd6pyCOoIXMPyAG3QRhDHNn6UPD3cZek6EmOIr4Sy7KQ+5emsdpBNxJwumI
 7ZWFcdrmI2c1KGM7z74HSKyGG5fIyQZ0Wc9igF3ekJhlTVfsuZDQSTDFYzjsCnv/ITRsXGRv
 fbAuMlP8Pe
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="79818381"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cCJgkN22sEUTSWxhh+CIgkASVgEk+MplLjtXGT+RxP4C0fCF0ZIG8EMicZvwe2TftH5VW4K9lbjqFYGbnLNYAYgyAde92ASD/50nO/sLkndPmxpRjixPHdOyIHyceGVC9o1JXoccgSu/xcVAt3cx1BkYOuC5p4RkWY6qGFj9FDcj2nAnA+BSWKTD1k1jH7ot43zCM/DEsIVMYg5gYf4uPAfJccoSfISUv2eN7CtencAqtfHvEgg3V+4aVqTPzaYzVeI6p79gPpBJtAidbk2VOG33jWwRGpmrBV/FrFzcWwOvVMVSeEeQytAuqQCXmPJF6xQZ+p8utJnmDI5YuYoMVQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Lg2cn7gmgcd7Gxlp/Dtid7qxSjdeE17X1PqY/KZZDjE=;
 b=g408588vXxEaGbSlG33ZEPuitUeqJThuQ5lcanhWOxCBbeFzJZ5W0UkEMvUGSP+I13y7KEzCy7qtfaG31FVKkapnRlt3oqVpAulxCYFazCqXt8txWtOFBCN9B8L/XT66GUDFliOTKjKF/sQOH5+1wj/nawOnMvTPDGnYrhTqlmX8Nc03E3BsX0dzpEciumrLUcuRxVFhMvJNyhuVCSi1zOMhThr2rBjh2F/6nnfrBeGFBcXc2SXafR7DRVGSQaGGtT9W70/4lrre6vJKjBtkiaS8FdeylmWOSxUZeS5lmOE2URhoLfHR+8G0hqxV2UOOYWD28q9kP0f8b+R2PyhiYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lg2cn7gmgcd7Gxlp/Dtid7qxSjdeE17X1PqY/KZZDjE=;
 b=QVUnzPHZUXqI7R/fhK8zyTnC5EUl0dZ/tyK+207r0CWPY/W5ILcY/CM5S1RLma6Q7Ycpxx7YpfEPXy5MNt3JFRF3mJAx3wCLN8lkpLBTv4u9aLn39If2Djj7mLmcu12mk0aVcnnF70sFqvxB/sZSrVsnGwF82D+Ro4deTfec49U=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>
Subject: Re: [PATCH v1 2/7] tools/ocaml/*/Makefile: generate paths.ml from
 configure
Thread-Topic: [PATCH v1 2/7] tools/ocaml/*/Makefile: generate paths.ml from
 configure
Thread-Index: AQHYo3Q42FRaL+39W0OkXWTN3nuj662dAyoA
Date: Wed, 3 Aug 2022 10:37:32 +0000
Message-ID: <8e1904e2-38a3-0c7f-1b8a-d20659fa9838@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <0752fe6eaa26f244f6fb45b1c3c6b9906deb2aa9.1659116941.git.edvin.torok@citrix.com>
In-Reply-To:
 <0752fe6eaa26f244f6fb45b1c3c6b9906deb2aa9.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 674e5961-d406-4cc1-a937-08da753c2c15
x-ms-traffictypediagnostic: SN4PR03MB6688:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 qZDfdelnKwoXBfzbppooqzG+JrV3C4IL0WPXK6zUHuQARDELM5Y9Dvd/GbVpoPEDmFt3gxRDa+yxkj09Xcv/Y0RQ4mpr5Jb92rIyD619GmDQaLgZVe4vv7qPFSCVxnyQVUuiLZU+sxH4ppaYUoapTfO5nCD9dfO8KPj4LsAEqEFitlOVq+ZRYl02cFnEit87exFMPJ6idcK+xKbt+LfkUM97/LMAgw/FKY6MhjPwaqIot0W8tPn+yp1AWih7eh9djwyQj0Pu7JUvTS42Fc/5lyWd45ziJnAdBwWOUFbeYNp0T7scYMgLH5pJi61/xHMfR+pOYtZUiQZlDHr3sFlpDQB/oS/6oJTQr6mbeNhNnJECGWNbgPsGM9oz52GC4fBsyIuf7kSVzoAzvjTSxYRDOh2WuLfuc7yaK+YI/ejQFGgbcweBIhS0jKPDWQJa5xiRQ1bheKjp8buPHggBIItVIHZo+fOBN1A2Q0NhdXkxlqmW6m2uMmLjKOHfSXbTi61fRMyAKH5GzSURnvAaF+3a8HqFmgQaeyYAdqN24z32ptj6AdzZy3NFB759Q7AdsvYPcTXbymgRH+v5GYjUmwqfUUpczFxdop2BEp47ME3qZfO2PMpzfySGNK+b/Aa9E6piTYvJJtABUPO7cfJopafPRiSVVJwjpMOnQtZHDOS1LMrPX03RhZVlnL0xbcUehhcCo2hftP6QJt4xMZGtvRvxD+s1I47yx+bibwr8WJ9yHPTQci9uqaXx/KFASBgUzMr4D/6ghpVa5bKYOPWU8EVoaeQAi2s7RIrbRsS413TZxF1CqEaCBZ9YS7//fH3mvhNyA+skNYn4jvkcbM45ICUTnMpWi4f+E1wPjDEwAwIseyJo6RBMq9q3iUryc97yOJjo
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(396003)(366004)(136003)(39860400002)(38100700002)(41300700001)(186003)(122000001)(2906002)(6512007)(6506007)(36756003)(6486002)(31686004)(26005)(478600001)(71200400001)(4326008)(31696002)(66476007)(66446008)(66556008)(8676002)(110136005)(8936002)(54906003)(4744005)(2616005)(64756008)(38070700005)(53546011)(66946007)(82960400001)(5660300002)(86362001)(76116006)(91956017)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UDhOaEVRUVhqcGQrdkdUN0hTaDRVR1dsbmxicGd2eXJjTWh6VVBtekhXcHVX?=
 =?utf-8?B?MWZUWExoMDlwQ015RGFOTGtCK0hteWxZMHVKN1VFSU4wMnBZRXhuU3ppV04r?=
 =?utf-8?B?cy9xZ3FNNnhZaHpGYWV0VU9GTDgvVUw1WkVJOGR6YTdtK2g3VG1oaEVUSjla?=
 =?utf-8?B?eUwzdDRJZTNQU0xxZDhMS2lzY0RqRS8zY09Nb3czc2Q2N1psV2pKb3NGemZO?=
 =?utf-8?B?Vkllb3hNd0VGckdpSWJqY3BKTEg2OExaWlIvSzVQYWRzaWdBY3ZjTmxvTE5M?=
 =?utf-8?B?NmJReFppRS9lV1RydS90dE9QTWZTMEZUSFlzQThZVjZZWDZVMDM1SFp3Z0pB?=
 =?utf-8?B?bEprc2tqNlNiemJ0RjZlQ2dwdWdvemlSY1JlMDV1VFlwQzJUZmR6c1NpY3FY?=
 =?utf-8?B?ZStGNlppa0t0SllmRmQ0MXRwWUJEMm5UZHlQazFQMmtLR1JrQnovRFJ6cksx?=
 =?utf-8?B?NmVMUHJtMTI4bS9tTEpYaGhaOXJmNlZBTWtWaXl5VW1sQmlQS0JTR1FPZDdI?=
 =?utf-8?B?aFBmUVpLRXB4YSs4eVl2U2Uxa2NrWkVyeGNQMk1RTVJHQmJWNFFFdlZMVy9w?=
 =?utf-8?B?ZjFsL3VLSklNR1ZSWGt6TjIxaVI2Z2pGOFRuSHhDM0xTNmprWmhuRERFSEgr?=
 =?utf-8?B?NUcwMUx5V0pLUGRYRllVRi9VdVpTa3h1TFMxcm85elZYREExTHh5ckQ0bFpV?=
 =?utf-8?B?aXltZ2NJanhIT2RFQ0hMcDc2TkNzVkxPWnNEbDhuN0l6N0FSQTdBazdqVFhu?=
 =?utf-8?B?bC9wMlZxN1JMRExGL2NaQkdMTVFOd21FWktHWFM4MEF2YXl2REQwUUpiQTd4?=
 =?utf-8?B?MEpPRlRQeVRmV1ZtTlFjOWVkTE5LT2VPdHpDaGl6OFZkY0Y3NktBSTl3M3h5?=
 =?utf-8?B?L28wT2RRdFZvSkVIa3lZTDl5NWxNQWI3TmwwclhMSzZ6aktRV3dmcHRCbWNy?=
 =?utf-8?B?N21Kb250UXdXTEJVZjE0RnRzUnBlTjJCa3F3bUt3K3NPaEkxRTNxd1pCT2d3?=
 =?utf-8?B?TldtOHk4NzVQVmdqVzYyeitqZDdpNTFNaHRWQyswYTF2ZFQvckhXb1hoOGlV?=
 =?utf-8?B?azlmcDNYc3lubFl4eThvaVF6ZjRmdHcvWk5CMHFzbHVaNXYweGdxQ2UyUGt1?=
 =?utf-8?B?RjVWd1pqdXRYOGx6S3Z3ckVYS0JpWFFkMTBlZ3JtWGdXVXM2dzBYOU9paVkv?=
 =?utf-8?B?c0Y0L2ZBeFFuRzZFY0xNWlkxcWdWNWgwU1R2RkhxTmp4OTRicFlWQ1NaNXhl?=
 =?utf-8?B?aExyS0VyamwrU2NzcERORnVrOSt6QXh4OVRoNGZwK3cwNmNYOWhRSUhqVXU2?=
 =?utf-8?B?OHlXMHlBdzdISktwZCtBTUYwaFZnZW9wbGJHblMzemN3dkZKcmFnMmwySW4r?=
 =?utf-8?B?RVljUUhSckwzanY3VEFZaXZuSDBRQlVwcW1pYy9DSS9yWDJnWmgxMDU4b25s?=
 =?utf-8?B?bXJuYU1lczVMOGZMNHpGZHFoc00xKzdIdWRrdy95VlZEb3IzQWM1TmQrZGtw?=
 =?utf-8?B?YVlnSXA3TjM3RE5yRWhRVjZJbE40WHVWNzd6VWtUdkY4ZTRLOXlvYWpDUU1V?=
 =?utf-8?B?S2dadDhDOVFpcGttVGtnbEVQY29Kd3dmd3pLZXRRazZOU0VuL2xyQVlZeVpM?=
 =?utf-8?B?TkV6UGI0WVJLUXA0c3hwVjZCMThQcHZkSGlzWnNOblI0dGQ3b2dURWFyUGF3?=
 =?utf-8?B?WTJlVURLeFoyOCthUGpVWTZiT25IUFo3aTdnbXpQMG5IdWo5dFFSU3RINm11?=
 =?utf-8?B?RXZFYmNzNUNQNzIySVdWVWtPSVNNUkFuNkZWSG9GUFAxSUlmYkZLOS95ZjlF?=
 =?utf-8?B?UXFyd3lUb05MK3NqR1h2alJnSHErNWExU014ZTZBbjVIbkMxLzg3bjRZWFdJ?=
 =?utf-8?B?aGx4THV1L2pIeThqTUZwRmZUSk5qdzJKVTErOTJ4RjkyZS9VdEVPL1l3QlQ1?=
 =?utf-8?B?SGg2ZCtVVjViUy9jWUo5SnphakNhcEwrU3pENFA2UnZpeFFWeWE1NWI4eTZD?=
 =?utf-8?B?OE9wOWtmeXVWaEYrMzQ4c2ltckFiUzE1aDVvNnRza3NCcnZtT2xramx2RUJ6?=
 =?utf-8?B?ZDgzbGJzRU9DamxPTUVBckxuc2JJcS80WHZKZ05YVnFnUVNqaXRWMVRXeDUr?=
 =?utf-8?Q?UTQX/G5BNsZhakz5IuOiAZA7G?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7FF5DEC855B1EB4594BF888AEBE80C18@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 674e5961-d406-4cc1-a937-08da753c2c15
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2022 10:37:32.4138
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Lw9cb+ZrMCesXQTGsckppKhbaDdVAnZSoW3RKVCjTt4Hlgm6/dWGe4e6E+oA7EyIvAQSMSURYIhBchkXqN7tPGnA8yKENeQMIidJsQlOXI8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6688

T24gMjkvMDcvMjAyMiAxODo1MywgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4gcGF0aHMubWwgY29u
dGFpbnMgdmFyaW91cyBwYXRocyBrbm93biB0byBjb25maWd1cmUsDQo+IGFuZCBjdXJyZW50bHkg
aXMgZ2VuZXJhdGVkIHZpYSBhIE1ha2VmaWxlIHJ1bGUuDQo+IFNpbXBsaWZ5IHRoaXMgYW5kIGdl
bmVyYXRlIGl0IHRocm91Z2ggY29uZmlndXJlLCBzaW1pbGFyIHRvIGhvdw0KPiBveGVuc3RvcmVk
LmNvbmYgaXMgZ2VuZXJhdGVkIGZyb20gb3hlbnN0b3JlZC5jb25mLmluLg0KPg0KPiBUaGlzIHdp
bGwgYWxsb3cgdG8gcmV1c2UgdGhlIGdlbmVyYXRlZCBmaWxlIG1vcmUgZWFzaWx5IHdpdGggRHVu
ZS4NCj4NCj4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEVkd2lu
IFTDtnLDtmsgPGVkdmluLnRvcm9rQGNpdHJpeC5jb20+DQoNCldpdGggdGhpcyBjaGFuZ2UsIGJ1
aWxkbWFrZXZhcnMybW9kdWxlIGhhcyBubyB1c2VycyBhbmQgc2hvdWxkIGJlIGRyb3BwZWQuDQoN
CkNhbiBiZSBmaXhlZCBvbiBjb21taXQuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:39:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:39:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379767.613514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBmY-0004dD-ON; Wed, 03 Aug 2022 10:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379767.613514; Wed, 03 Aug 2022 10:39:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBmY-0004d6-Ll; Wed, 03 Aug 2022 10:39:18 +0000
Received: by outflank-mailman (input) for mailman id 379767;
 Wed, 03 Aug 2022 10:39:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pjlV=YH=citrix.com=prvs=207c5e48b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJBmX-0004cw-N4
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:39:17 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 845311c8-1318-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 12:39:15 +0200 (CEST)
Received: from mail-sn1anam02lp2042.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2022 06:39:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SN4PR03MB6688.namprd03.prod.outlook.com (2603:10b6:806:21f::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.11; Wed, 3 Aug
 2022 10:39:11 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c%4]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 10:39:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 845311c8-1318-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659523155;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=ENCSsqmbTySPdPn36dZWePkQkkPgtif6n/XSn8TRlLs=;
  b=dfH9UaL++uN767K30teQjxbY97RLsHwrKpT073sdt6Yepr64zWquFKjj
   QFRK0CdRzNs07o11QMzJt43aWuNdoedD1EGwRMaNP8oEacMAmxaKoFala
   z40mkl0gJ5Nem5lDN+1T9DUJCH/8bSF/s5AuvRrMJt2TioQL5Ihkr0Z8E
   c=;
X-IronPort-RemoteIP: 104.47.57.42
X-IronPort-MID: 77696011
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:min5gKlp2/taIZgS+X+lQHro5gyeJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIZUGDTOPfZZzGkf95/PIngoUgO7JPcnNVmHlFv/i5nEiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37Kyp4GlwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2l1H9YC1sF0JF117
 Ns1OBMpbD6vg9mPlefTpulE3qzPLeHNFaZH4DRb62icCvwrB5feX6/N+NlUmi8qgdxDFurfY
 MxfbidzaBPHYFtEPVJ/5JAWxb/0wCWgNWAH7g7PzUY0yzG7IAhZ+b7hKtfKPPeNQt1YhB2wr
 WPa5WXpRBodMbRzzBLarSz92LeWxEsXXqogPbmkxOE7g2ah6XY4LiwdU3KapfKQ3xvWt9V3b
 hZ8FjAVhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xCmEaQxZbZdchtctwQiYlv
 neWm/v5CDopt6eaIU9x7Z+RpDK2fDMTdGYEbCpcFw8duYG/+sc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNt2uVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:Wydi86iMskl4ZGYmzNF0ji9V+HBQX3l13DAbv31ZSRFFG/FwyP
 rCoB1L73XJYWgqM03IwerwQ5VpQRvnhP1ICRF4B8buYOCUghrTEGgE1/qv/9SAIVy1ygc578
 tdmsdFebrN5DRB7PoSpTPIa+rIo+P3v5xA592uqUuFJDsCA84P0+46MHfjLqQcfnglOXNNLu
 v52iMxnUvERZ14VKSGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3z8FOgk/gIsKwC
 zgqUjU96+ju/a0xlv3zGnI9albn9Pn159qGNGMsM4IMT/h4zzYJLiJGofy/wzdktvfrWrCo+
 O85yvI+P4DrE85S1vF4ycFHTOQlgrGpUWSkGNwykGT3PARDAhKd/apw7gpPCcxonBQwu2Vms
 hwrh2knosSAhXakCvn4d/UExlsi0qvuHIn1fUelnpFTOIlGfZsRKEkjTRo+a07bVTHwZFiFP
 MrANDX5f5Qf1/fZ3fFvnN3yNjpWngoBB+JTkULp8TQilFt7TtE5lpdwNZakmYL9Zo7RZUB7+
 PYMr5wnLULSsMNd6pyCOoIXMPyAG3QRhDHNn6UPD3cZek6EmOIr4Sy7KQ+5emsdpBNxJwumI
 7ZWFcdrmI2c1KGM7z74HSKyGG5fIyQZ0Wc9igF3ekJhlTVfsuZDQSTDFYzjsCnv/ITRsXGRv
 fbAuMlP8Pe
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="77696011"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JfSQDzQSrL+pEss+gWi2YU+hUznF3q3JdCZhQBWTmFclT0I6kFzo8dTMGjUPHLem8OWuQuNSM6xzBOYnvGVcINlhTfF2H79icZfoNqAXvJYmxygemXrmsYanYymiwkiT8+KQyHU7waL9l2KRUDa0JJyySFMtgjJdbw42w2iA0wjLaO/ntL/NIVrlW37aYa6YojD4LmOVRqOKyGkQs37mmu/1DY+OyBg8eG9KskWWi3ulYIUIpfZluXYud3nyX7EGs4l9EoGhbj+DIK5hemEWY3CbnX8L9XXi9jrCI5Y3jQupv0Aak0e0NtyFbUBBov+zmbmXrBvJDJOqq5WsIYpxhA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ENCSsqmbTySPdPn36dZWePkQkkPgtif6n/XSn8TRlLs=;
 b=VYkq4UlE7SZRt3bf6vgzBOil1KqTYxV30Ik7M3Jc01HsfBAfMx4QLITptargHRnJPMRjiryD6Bcimq/xr0WvBHB4HlZ/0W8EKEjDRxGxHLHQZKpr+rCHThzNHJjqkqactk0aVpZ552qdQMgrTz/qbP9fuMYx6cHEanRHjweOHyywFIi15ILPKxSwOrmXGEfA92WAQbW45mWhU0bXolZr5wOSELtAfiEqjxECTaeZHJnSR5fyOOir1Y/+4mn3AXAIsSsyuwYbJfT0euxIzoU2HXcwYKg/tb4GWOig78WWVq19PKvnPCDlF4JkZa4hrpnKSSLgxbtUiVhxctfDBH6hOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ENCSsqmbTySPdPn36dZWePkQkkPgtif6n/XSn8TRlLs=;
 b=VtHwwSkRvWd2rgj7RmmYMZwhbYj4Aigrb6K1WkzD7cPAHjmWIkWxrxy+P8dhLof9BpHNtGYfSghCH2kCwzNxcFJ9CWqCBazNeyJf7aMBAlzGwpOkHG/vn67DgvvO/OnRPbnR3y4j/hvYclvSi54/ZfmDrKL+e27Fj45C/UcU9j4=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 5/7] tools/ocaml: fix compiler warnings
Thread-Topic: [PATCH v1 5/7] tools/ocaml: fix compiler warnings
Thread-Index: AQHYo3REcE7+4JA+40iNK344d92dpK2dA58A
Date: Wed, 3 Aug 2022 10:39:11 +0000
Message-ID: <89416414-2bbe-a6cf-5e6a-1ab97ad5c15f@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <23dcc916bff25d0545c167833d99aa73b8a4c8da.1659116941.git.edvin.torok@citrix.com>
In-Reply-To:
 <23dcc916bff25d0545c167833d99aa73b8a4c8da.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e0ab91fe-3bf7-4431-dd49-08da753c66eb
x-ms-traffictypediagnostic: SN4PR03MB6688:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Tw/0bRUVcthu688EfOH5+WxEToo12IP3htcJw9iPJbJAjTYh7Y6Ikr3x5pghw6klhgPzmUZ/hoxuJOiB+kNZEDcKjv44OhwEqXiKf+2OJd7Oa3aQS9QkPkoJAqG+PM5YlyyrTaEcJzjhZtVrxEI/UZc3J67R7VGU3R81wTh+jrYeVGKZmgq6o31D+cKKdT8yF3LlTGpTGjzL37DwZ+cMAAvNqrK3uubRrr3tqJuQrH6JeuLhNiZsEVpOAm9VRUwPNCUdJYwbx+o/S7sqXndoNuufheQhYYYtYixaRh1NSM3luQQxAElEVI5UlYTcECYU4Q9/HPJMRerswy7qxmRIWe2uVAnPi/4LM2rAfPyb4e2xNGR14gwrHYsjtIYjpqrDB9Ib0mXZKfWrvVIU4oC6CZ+WAodYC+nHYefY67KSPzmY90THcjcB3gGDKD9kihSdMUI2MaV5zza8fbbIMvB5XfU58S5V0CLUBShY9mtrNVnZ9FS3Dxl7lOoK02RFopJ0sYndvqSmwyuk93bKbTLOt3+M9IdH2ygJy6q09nTsqZ4UMLsX2YVb0RoHBbeim2Yyq3ICY85/nOv3SbmFQLn+I9Fxjq4pEJElcmpGW45aIkGLxftQZ5sV5nkQ6asyWUXBUBLE6PgmtjzWb8IB80c7g7vba8iKx/r0IbYP8CwWh8gdFH3NXtTeWUyofAMlqIrG7AvZrUxPhOJxUSOYewILoSn147fe5R4f1Mzokwfa6/TZ4WLOyxJ4F9ZCz4Mi73iQ0wlmtW5pmzVIUVvjbI1tXff+x/CkF6LTTprEJYPp958c0dd9pcdTMr8xaGI7dKNYADNcZw8v2rGoi7iHLDFvD6YN+7/XGVRTtKJp6Y9FspztpNV7rifj3yLtXgj2IgKVFBkH7hOx4XZQ4fd5GTWurw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(396003)(366004)(136003)(39860400002)(38100700002)(41300700001)(83380400001)(186003)(122000001)(2906002)(6512007)(6506007)(36756003)(6486002)(31686004)(26005)(478600001)(71200400001)(4326008)(31696002)(66476007)(66446008)(66556008)(8676002)(110136005)(8936002)(54906003)(4744005)(107886003)(2616005)(64756008)(38070700005)(53546011)(66946007)(82960400001)(5660300002)(86362001)(76116006)(91956017)(316002)(3714002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ektLYlJRSmwwVkx2MDZvdVJTVTZNUGZlazRxVjJlNEt6dmpTeXYxK3MvSnY3?=
 =?utf-8?B?NEhUTUlyQ2xMVitZMU5vcHVXVEo5K2l3czBhbDZtVW8wbkVEa3JnU0F2ZWMy?=
 =?utf-8?B?Ui9vZnN5eU9MaFNxbjFjMFlBZGVZd21uTDNmcVIxZlVnNUxScDI1SWR6dCtF?=
 =?utf-8?B?N21wcGpGTDN3cEJWZS9LZWxMMVJHOFkydEdndGVLWE5GYmJ4WE1zblo1bmlL?=
 =?utf-8?B?UkNBOTFGZE5ITjNQcVZqekhRQXd2YzFIOU1kQ3hHK3IzMEJPQzEyM3h1MG83?=
 =?utf-8?B?Ukh1Tm54NjF4S2pJS2F6a3RyOUpOdTU5bzdSNStLV3BwUkgxaEJ0LzcrSjVE?=
 =?utf-8?B?am9oOW1zL1IwS2NPV05xVHB5RkpCbEZ0c3hpZk1EQnB2YUtKV0pxdUUzZWw1?=
 =?utf-8?B?dHNOTnBpbkhQME9VR3dDTzdBdk5VbndZa3FmbnFaeFpBSzE3bTl5VUhmQzNi?=
 =?utf-8?B?Wm5SbklyQlpTRldTMFVJTTB2dytzRjk2TFIvYXJGTUcvVFBnQXFVNzdqRXBn?=
 =?utf-8?B?WVpkS2p6U1hhNzI5OThsekxDclZ4Nzc0NlUxMEpvZDR4Tm5FeXNQQS9GajRO?=
 =?utf-8?B?S2tsMWFTUUkrSUdHbkhhU09HUUNkMmltUW52Vnl0emMvLzJucGFBajNtZ2hm?=
 =?utf-8?B?T3FTcUkyUzZQYXdxRXorbHpCY08yYkFyTXhMWGhoejRvR004SWc4Y1lyTVpp?=
 =?utf-8?B?L09Sb2NmMFFaSTJPa05qMm9yUVVSQ2krRkNpcmVvVkNyRHRjT1FTL2FOTjcr?=
 =?utf-8?B?L0hNRnJFbmFMSEdnT1VsRlgvWms0SWwxZlhDRHFndmtyWEhEY3Mza3VnZFJQ?=
 =?utf-8?B?WVhEdUw2MkIyTXZGNjUrOC9wR1BjYkJSdnplMmxpbjRWTkYvYU83MEUyZVRt?=
 =?utf-8?B?NWFGV25RZFR2NENiQmNwNjU0dm9FRTFycEJ5S3NrTzZrMXc0N1dVczA1VkRC?=
 =?utf-8?B?cTVTQmV0ZmE1RW91ZzlTdS84WS9FY1kyRi93RjdRQi9CN0FTRlU5cHhmUDVX?=
 =?utf-8?B?K1RaMzUvamNmTGxrL0dvTUZ1SEQ0TERlVWJud3JLMmJCZVBlNGhZZU5CZVlu?=
 =?utf-8?B?ZGZqZDdLZTZhOC9GQWZucjU5TWJxcXFScEZCN01iMkJTUDl2dS8yOVJrbUFZ?=
 =?utf-8?B?Ulo0REJUQlkrSE9HSm9iL1IyS0hiR3dOYjVKbFcwNkMyT0VGYWFoSm9peVd5?=
 =?utf-8?B?dWsyN3dETHJPQ2RiRjgzN0RzNTNuandobU5DOHBGM2lFZFNIQTY2VklVcnlu?=
 =?utf-8?B?aXZMUzdKcmJSSVM0aGU0bmx2TnZpdDZTZlZEazVIUFMzNlFOcEc0U2tNbW9w?=
 =?utf-8?B?bjNGVDNxbGFzUGNRd0h4ZkRtUUc3c2ZldU9xaUo1THlrRDZIQSszVC9PNy9l?=
 =?utf-8?B?eUZ0NjdaQldnZ2pQeE5HTW5hWXdBeXdGMUI1TnVPTDliSnROc1IxKytaNUhz?=
 =?utf-8?B?eDBkVzdzbDZqQ1FjSkh5eUh2RVkxckdJMWFIKzd1Yk9QV1I4ZXIydlEvd2dR?=
 =?utf-8?B?SlN2U0xKYmV3NXprUkZwbGU2d1NTWkhwZy95U2pHTVk0b3hiU3F1aWJFdTBy?=
 =?utf-8?B?ZnR2Uk5TZEoxUlIvRW54bFBsL1VDOEJCSkNDZGJ1NDRCVTJvTm9IZHg1Mmg3?=
 =?utf-8?B?dGgvd2Q0Z2VPbUw4WTdPdmhrMWFKN1d1TnRzQjBpUXlvYm90YUc2MGxZTG1B?=
 =?utf-8?B?dVRFWkRlZGFRRlltdDVrcjlaeFBCSmpJWm9aU011cmlLbFdvamR1ZUdBY2JU?=
 =?utf-8?B?V1hUeGdKMWpaNXprVW10b1VBVC9UZlppbG04K3NLL0JSQjZMV3JyTHNqWEdP?=
 =?utf-8?B?WnErSWxTRkh5aXJKQmdVZTd4Rkl4RHJBbUlmbDFQZ21LbUFZK0puN3Z5aWMw?=
 =?utf-8?B?VmhkTXU2QjU0OVB2L3hHNkh2Y0hSMWtSVDFkYkNVUlJwTTVEb05uR3lZazZp?=
 =?utf-8?B?aXFoTWpDV0RNUVNFSDhDOFVpdnZ5WWx2S1pFUWtQOGx4MlYzVkZxRENKK0Fl?=
 =?utf-8?B?Wi9JbGp4ZkFzREY1V3RvMVRZMW5FbDFEV09vbXppRzA4aUpuTGJKSWsxaU00?=
 =?utf-8?B?NWJaUm1VQTVFTWJmUEtnZ1M5b0t3TmV3azJFQmRneEpmYmdsTStnYytGcnBn?=
 =?utf-8?Q?i1by8/R4rxGbPCt1qiH1tWdDm?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F61C486263E9D949BDE67AB7C259326F@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e0ab91fe-3bf7-4431-dd49-08da753c66eb
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2022 10:39:11.1411
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: u+drVW7P/55Y7od+j/DXOoj98mJHb/zkuT6oCNKKGtBlUXYpqMvN0OSE/nkkiMSynJ8kWW+dcTGsQeUo7RVesZ8gXYNrfbVcpQQ3AwltH30=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6688

T24gMjkvMDcvMjAyMiAxODo1MywgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4gZGlmZiAtLWdpdCBh
L3Rvb2xzL29jYW1sL3hlbnN0b3JlZC9jb25uZWN0aW9uLm1sIGIvdG9vbHMvb2NhbWwveGVuc3Rv
cmVkL2Nvbm5lY3Rpb24ubWwNCj4gaW5kZXggNjVmOTllYTZmMi4uYTk0ZDQ3Y2RjMiAxMDA2NDQN
Cj4gLS0tIGEvdG9vbHMvb2NhbWwveGVuc3RvcmVkL2Nvbm5lY3Rpb24ubWwNCj4gKysrIGIvdG9v
bHMvb2NhbWwveGVuc3RvcmVkL2Nvbm5lY3Rpb24ubWwNCj4gQEAgLTMxMyw3ICszMTMsNyBAQCBs
ZXQgaXNfYmFkIGNvbiA9IG1hdGNoIGNvbi5kb20gd2l0aCBOb25lIC0+IGZhbHNlIHwgU29tZSBk
b20gLT4gRG9tYWluLmlzX2JhZF9kbw0KPiAgbGV0IGhhc19leHRyYV9jb25uZWN0aW9uX2RhdGEg
Y29uID0NCj4gIAlsZXQgaGFzX2luID0gaGFzX2lucHV0IGNvbiB8fCBoYXNfcGFydGlhbF9pbnB1
dCBjb24gaW4NCj4gIAlsZXQgaGFzX291dCA9IGhhc19vdXRwdXQgY29uIGluDQo+IC0JbGV0IGhh
c19zb2NrZXQgPSBjb24uZG9tID0gTm9uZSBpbg0KPiArCWxldCBfaGFzX3NvY2tldCA9IGNvbi5k
b20gPSBOb25lIGluDQoNClRoZXJlIGFyZSBubyBzaWRlIGVmZmVjdHMgaGVyZS7CoCBDYW4ndCB0
aGUgbGluZSBzaW1wbHkgYmUgZGVsZXRlZD8NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:47:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:47:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379780.613542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBuk-0006OZ-R0; Wed, 03 Aug 2022 10:47:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379780.613542; Wed, 03 Aug 2022 10:47:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBuk-0006OS-OG; Wed, 03 Aug 2022 10:47:46 +0000
Received: by outflank-mailman (input) for mailman id 379780;
 Wed, 03 Aug 2022 10:47:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hZNp=YH=citrix.com=prvs=207fabebc=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oJBuj-0006OM-Le
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:47:45 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2ed9188-1319-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 12:47:43 +0200 (CEST)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2022 06:47:39 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by SA0PR03MB5419.namprd03.prod.outlook.com (2603:10b6:806:be::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 10:47:36 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 10:47:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2ed9188-1319-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659523664;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=veWF1bdpfh5dSJptFsfMk+nY7W/saD8jKwHmD0ZAIig=;
  b=IhQy1sarTpy+frU2tWg4huhKuGe8oXhqssiNutOIu94yxwd1a6giQW4n
   Emq5OujibwFmncvHBPOoW+6B/FXJWOkoFMAJFbYV2j5iil13fCX9CRvLq
   4Y2nhGNRWQHHhKsqbt6DBHSUdjhMs858pPIknmnTpvSmujQZ5zxkTFB3N
   A=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 77035230
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:HNJmLakuPh4x2e8aZO3pshLo5gyYJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJJWjuBa6mNNjfweN90YIW18kIAsZOAn4JrHARr+3w3RiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37Kyp4GlwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kyNr0E9714PF1o+
 PIoMDs9ZRu+tuCPlefTpulE3qzPLeHNFaZG4zRL6micCvwrB5feX6/N+NlUmi8qgdxDFurfY
 MxfbidzaBPHYFtEPVJ/5JAWxb/0wCWgNWAG7gvK+8Lb4ECKpOB1+LPtKtvOZt2DQ4NRn0CUp
 23u9GXlGBAKcteYzFJp91rz2beUwHmgAOr+EpWa/blA0V6R51YBVjoPblSAv+O7oGexDoc3x
 0s8v3BGQbIJ3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQAsQjdfZfQ8ucQxRDhs0
 UWG9/v2ARR/vbvTTmiSnop4thu3MCkRaGQFPCkNSFJc58G5+d5tyBXSUtxkDai5yMXvHi39y
 CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsgDGJ5T+REMWTm0Ms=
IronPort-HdrOrdr: A9a23:X1sM5K/XKi0oxWLEG6Fuk+Fudb1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQodcdDpAtjifZquz+8O3WBxB8bpYOCCggeVxe5ZnOzfKlHbehEWs9QtrZ
 uIEJIOReEYb2IK6/oSiTPQe7lP/DDEytHQuQ609QYOcegeUdAF0+4PMHf/LqQZfml7LKt8MK
 DZyttMpjKmd3hSRN+8HGM5U+/KoMCOvI76YDYdbiRXpzWmvHeN0vrXAhKY1hARX3dk2rE561
 XIlAT/++GKr+y78BnBzGXehq4m1ucJi+EzRfBkuPJlaQkEuTzYJriJnIfy+QzdldvfqGrCVu
 O85yvIcf4DrE85NVvF3CcFkzOQrArGrUWShWNwyEGT3/DRVXY0DdFMipledQac4008vMtk2K
 YOxG6BsYFLZCmw1RgUd7DzJm5Xf2eP0A0feNQo/gpieJpbbKUUoZ0U/UtTHptFFCXm6Jo/GO
 0rCM3H/v5ZfV6Tcnic5wBUsZeRd2V2Gg3DTlkJu8ST3TQTlHdlz1EAzMhamnsb7poyR5RN+u
 yBOKV1k7NFSNMQcMtGda88aNryDnaITQPHMWqUL1iiHKYbO2jVo5qy+7kx7PHCQu198HLzou
 W1bLp1jx9DR6u1M7z+4HRiyGG/fEytGTLw18pZ+591/rXhWbuDC1zwdGwT
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208,217";a="77035230"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OvsqcX/gqDlHOMAZdwqpTUzzuCaM3BZym1ij+A9nSqDeirbgd529O7klLR+pNTRPAU822kxP9rDj/TgoKIGAN7Fg/wcurafnoDYL3ue/VuW0NOHagVpnVLhJXAzEEDpaCSBh4DKFsFnrhav9ujIkau5plamwYVQfBcriKhhq8Hhbqe8SUuBB48Su8VndxpSDNvZlOnunAX6RxOzKaSjbE/Cvq7fSkWB60IPyDNGm9uPyRlhTF/HeWzXS8RQv08L8Nu3vUz2lYJOOQimaedWZ+E/leDcHJGKmLeDZ9C/zC10GJPlcZ8gYv1K5EtaIZ6EyLC/V5vWgWs4q37VdVQQJfg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=veWF1bdpfh5dSJptFsfMk+nY7W/saD8jKwHmD0ZAIig=;
 b=BFjuK+yrN0WlnEK7xhBpVDLXIBG9DtjZ85s+XQo0DCpY5nwJGLq9F5S7hUuS1GR51cmy0tDdMzLbxXbgXbjxml3ufZ52mIvbJlq9r+Md7k3g36Iq27saa3pyxAKDDFDNC7hmdcGer1zhx9h/x9RYWVArt9d22sl8tyJ0K3iHZqG05eA8JoaxdWM3oIBZNcNxIasGgNp5MakmgbAp+Y0XxwE12fdHg7wNAyBDghbgRtiBv9eEMEVkB7WnPzMfuSZQILbl6dVdfVf+CNdQtswmfR/O/6TifzDfDMt2eWUAjLZT0XUn76XZTIbSjoKdy+Boxlsjoj/+NKtQRnvEab5/Pg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=veWF1bdpfh5dSJptFsfMk+nY7W/saD8jKwHmD0ZAIig=;
 b=o9ufax8VjEpeS3sN5BofxqimM2H6BgnTV1OeiWQa2llgnizZS7PFUdqSO2bEtnFFGWgyiKB/d8lZt0NmIHcUprkR2kuH76I0eqCRlbY3CPhMaILwpJeM3woQ7jAlTe9wsoImBA5KgWzDmNO/7yigcUIauMIl5PmzSqULCL+Bx5U=
From: Christian Lindig <christian.lindig@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Edwin Torok
	<edvin.torok@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, David
 Scott <dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 5/7] tools/ocaml: fix compiler warnings
Thread-Topic: [PATCH v1 5/7] tools/ocaml: fix compiler warnings
Thread-Index: AQHYo3Q92aLfQ5z7jEOjsQTVnpAyA62dA6CAgAACWYA=
Date: Wed, 3 Aug 2022 10:47:36 +0000
Message-ID: <FD21D306-CBDF-4AFB-B7A8-9F39FF6794D3@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <23dcc916bff25d0545c167833d99aa73b8a4c8da.1659116941.git.edvin.torok@citrix.com>
 <89416414-2bbe-a6cf-5e6a-1ab97ad5c15f@citrix.com>
In-Reply-To: <89416414-2bbe-a6cf-5e6a-1ab97ad5c15f@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2bb12b59-0892-4648-435a-08da753d9421
x-ms-traffictypediagnostic: SA0PR03MB5419:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 A9/sgHyEEZjWxTmom34xD/CRJ+gkFzwzQ2ub8Sj4NX/TK0sRSP6Q7qV99UigpBixOuJ5MBWyMjOheseRB46ySAXZOLZ6RMBdydv4RQmfivg6UL8FNvJM4CRz0IzUreku69Mz55/UOUxj1uDydl8mRioeLQmdlpK4D3i9rVk+ZF6gT6XYhOonvPS3V7SC+sbbJumn5JzcX1k981lfiVHWD/bQVQapbX4pT/p+y89rne/Xqm0fbPXtWOWNmf+wRQq/JZEgkAyW7whTviBRSg6W2FJ6Cnn/jGrpAEdJ/FUt/QpymyDwdJDugTL9jdE7sSeAqQh1JAA0bC5iE5el1RKdqQ1K5Dxi18jMrfR1HiXbGI9GSR7wEfYW9ZAAy+xa2Kz4iswyY4qZt1KmEMv0loa4K3LnlQEsQGgKhfsE5MOKdpfrxb5akkONnwH5UXL3zZLEi+IDDOiae2DMv280gaOftbwiF7jritH2oF/4AVDfsxYwlvTvKAcUp+iUj+ayLY3nVuSmWcD2wdYVvFpqPZ5/bpr/jcjHTd4FtavfgzCFoW67INY8YFJaJDJ0f05JKoYp0heZph+jqF5LWJO39sNfHmAic1aQ3/VNFmQbJ074trXm69vFvtK5v0G+cC+aoQgaj+HN4AbKPUqHfnjN7OPv0aJsYjZ/j/Z0H9mSRt8G48MsScKpdDV4rB67oLRMmf6I0ieD5qD/+Yzj/qMWtMsyeJ2XLMi/FUS8IRknDLMqHmWD0ulXIuDqOuhtWlYWM/21+DA/Iw5WhVEL3ZfRhKxJPnzoC0WVQaNDGUGuz8TkNRV54YVizg1QIrxK5K7CXJJnvpEW/6FCjMiFVI5OSbKvwAOlytfiX0R/1EEMVedBDXg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(346002)(376002)(366004)(396003)(4326008)(8676002)(91956017)(8936002)(66556008)(38070700005)(83380400001)(64756008)(76116006)(66446008)(66476007)(71200400001)(5660300002)(66946007)(2616005)(186003)(44832011)(33656002)(478600001)(6486002)(4744005)(110136005)(6636002)(36756003)(54906003)(2906002)(107886003)(316002)(38100700002)(122000001)(41300700001)(82960400001)(53546011)(86362001)(6512007)(26005)(6506007)(3714002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eGllMDNFb0FhUnJCNFBrWldtQTB2QkpmejRBZm5MOTlwYXBpWkxOVEg5b1lk?=
 =?utf-8?B?OWpoOGZsU0c2Vlp4RFJoSXBWc01KM2RIQkM1Zm9Bbm1IaVdGd2JQU0swRUVh?=
 =?utf-8?B?ZHRKMXg4cElLTGR4QUdxcE5jaXQxUUdFZzBseGpzVkRhSlhkWEMwVDMvazNu?=
 =?utf-8?B?a0QrZXRjM1U1eWd3UmZoQlV6d3BXY2QyMTMwWjNKZUpWL2tMM1FuU0xOK2lL?=
 =?utf-8?B?bndzZzd3RytDNGJuVWFGcHRwZGlrbTA4TFRTMDFWWGs1YkNXbERGVEtHRWZj?=
 =?utf-8?B?UGdYT1l6NFh1bkE3eXIvVmlNdUxnUGQ0eWJET3FjQlRUa2JFODdLaEU0bTV4?=
 =?utf-8?B?U3g0WmJpN2xMYUE3b2RQdkNoaFpoQVV6M2JQbzBlVldhWEkrU21mNEl6bnNl?=
 =?utf-8?B?a2RxNW5QWnl0cUV2YjNhUEtDdWRLK2piYkMxM2RIMFVJTHpiRnU0WG1nbDJ3?=
 =?utf-8?B?TDVaYVVvVTdaOG5SRzZ1SUZwNm1IVWVmVk9oSnZSU3kyeTFIN1F3bXl0eURG?=
 =?utf-8?B?bkZEMjhuQ0lsUTBOcCtWWXI3NFpjajBDT0xHbkpGUHB1SzE1QmtxbndMMlJy?=
 =?utf-8?B?ckxDL1Z0MnU5OGQydlh0VW5uZlliVURMOXJOLysyZEdrQ21OaEZ4bFIrMnpj?=
 =?utf-8?B?ZW52NGM0N1dXSHk2MWd0eEJEOXNlMG01UnRMemVsR3IvdlYxK0QrYTlERUlS?=
 =?utf-8?B?azNQWU1HU1RWK3A4enFJaDUwWDlTKytvejhNdmE5Tm9YWDFsY3o2YjVDbUsr?=
 =?utf-8?B?WE5tdkVReUFxTm82L2phNnA0alNSVFBaQitIY0pHY0htVlVrenNzOWNTZGRo?=
 =?utf-8?B?RFRlcThBQlBCalBKOUowYld5NkxYRXo2ZEsyU0kza1FGaDI2UHEyNmoraUpM?=
 =?utf-8?B?T2EzOXErNko0R0dKSHZ4MFpoTDZrbjd2SDIwOUNrYkJhTWRyTlpZUE56Zmow?=
 =?utf-8?B?ZGV0NkVCcE1zSVdKV1dNeVVYcmtvcXo5R29GWHhCTEZJc0l0WldUbzg2ZUZU?=
 =?utf-8?B?eDF6K2V2RHdqdEMzNktJUzJkcm5xMm9hUUY0L1JjQWdWc0ozYTI5K1N1ZzR0?=
 =?utf-8?B?YmtZandycnJRUlpBeWdxWFVmVlF3dmxuSERXT1ZreGZSdFRNdFNuY0pqSHg5?=
 =?utf-8?B?VEM5MElDeTF5K3Zoc3RhektTL3JpY1dvazlQVUNTalpCc0ZCcnFXdTU3L25N?=
 =?utf-8?B?R1NFSnFlaVZQVHlhaHNrYmtQY1JhbFNPazJpV0JkNzVoVHNDb081M2lqbFNw?=
 =?utf-8?B?TkIrVGNUWFhqa2NRUWVGczdRbnV6NWE4M2x2aGE4d01ORFBoZi84U0RDZmIx?=
 =?utf-8?B?Y1Y4ei9CN1djbE5SYmdKVTk5ajUxSytnRC8zNXA5WFE0RjlGTjE5anJPQ3ky?=
 =?utf-8?B?ZVh1ZmVyNloxS2tGRUo5ZHlrNkh2Znh4RGRyc0IvYlo5eVgzdzF4RUZMSWZk?=
 =?utf-8?B?bkQvL0x1Qm5VcXhOMGpkNVJlS3RCZWtaWE53UTlzd3A4Ui9WVTcwNDM5cXQ1?=
 =?utf-8?B?SGJ4M0hncWhENmJZNktpUFZTSmE4NVJvek9EMGl0K2w2REl5MkNIMS9jSkt0?=
 =?utf-8?B?cU1HaFl3cDBFei9BaVpDREkyT1UrSDBhc3lVTzMwVHVMWjhqMU5aUlJjNjVm?=
 =?utf-8?B?M3hYUnBiK1BYTlhMcjNleG4wOTkybjZrWjZBRW0xUnBlK3NkcFlHQzBENE5T?=
 =?utf-8?B?SmJWUGowRmVZYXNJNzBuY1ZvMkt0MHo2LzAzdzBCampzbVN6bytMczNRQ0N3?=
 =?utf-8?B?NTBHdFRxakhralR2YXA2WitybFpnaGVQQVNjWnlCVldpY1U2SXh3NlZlRFpQ?=
 =?utf-8?B?ZmFaeUdHS3RXM2NzUW9OQVlBaGhZQVh2bFZQREtHSldXSHdrTnYwNGVMOFQw?=
 =?utf-8?B?a2c1UTAwcDNoL1dCUXBPa2t5cG1Jdzg0NmcwNmIyRzhBemNkdUtxb2hPM25G?=
 =?utf-8?B?U3hjRGtIQ0JkZ0hnWVFsM1U5VWFrTys3eVRmOHBKTDdOSnpPb0IyY3hScUtj?=
 =?utf-8?B?YnFKS2FMdHdkU0d2TFAxZHg1bmsrYkxCUEhqWTUrLzVHNXNIbEJMT0JHWXhi?=
 =?utf-8?B?dWorVGt2USttaUFDL2lnV05IVTVBbXdXQUpYK0VVYjhHNWpOWGFNZ0ZlT2E4?=
 =?utf-8?B?UVduN24zTUdlQWZMZG1FajJhTFh2RzM4ZHJmSGRnZVFiVzlQOTk2NWpHNFBo?=
 =?utf-8?Q?qDtf085Bqwbf2SmPgSVE72I=3D?=
Content-Type: multipart/alternative;
	boundary="_000_FD21D306CBDF4AFBB7A89F39FF6794D3citrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2bb12b59-0892-4648-435a-08da753d9421
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2022 10:47:36.4853
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xNclTCrykOHtf4+SL62KDKITyMUe7ZX8akL4VV3/pwbK2IC+4Nvb5KN3A+W+/RYcwS1fuxSUlgaobPruc6kldio5pet1VFI3aX5MB+uy9EM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5419

--_000_FD21D306CBDF4AFBB7A89F39FF6794D3citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDMgQXVnIDIwMjIsIGF0IDExOjM5LCBBbmRyZXcgQ29vcGVyIDxBbmRyZXcuQ29vcGVy
M0BjaXRyaXguY29tPG1haWx0bzpBbmRyZXcuQ29vcGVyM0BjaXRyaXguY29tPj4gd3JvdGU6DQoN
ClRoZXJlIGFyZSBubyBzaWRlIGVmZmVjdHMgaGVyZS4gIENhbid0IHRoZSBsaW5lIHNpbXBseSBi
ZSBkZWxldGVkPw0KDQpZZXMuIFRoZSBjb21waWxlciB0ZWxscyB1cyBhYm91dCB1bnVzZWQgYmlu
ZGluZ3MgbGlrZSB0aGVzZSBhbmQgdGhpcyBpcyB0aGUgZWFzeSB3YXkgdG8gYWNrbm93bGVkZ2Ug
dGhpcyB3aXRob3V0IHJlbW92aW5nIHRoZSBjb2RlIGJ1dCBpdCBjb3VsZCBiZSByZW1vdmVkIGFz
IHdlbGwuDQoNCuKAlCBDDQo=

--_000_FD21D306CBDF4AFBB7A89F39FF6794D3citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <2EAECBBB5D30044DA8E1614417C55769@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDMgQXVnIDIwMjIsIGF0IDExOjM5LCBBbmRyZXcgQ29vcGVyICZsdDs8YSBocmVmPSJtYWlsdG86
QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbSIgY2xhc3M9IiI+QW5kcmV3LkNvb3BlcjNAY2l0cml4
LmNvbTwvYT4mZ3Q7IHdyb3RlOjwvZGl2Pg0KPGJyIGNsYXNzPSJBcHBsZS1pbnRlcmNoYW5nZS1u
ZXdsaW5lIj4NCjxkaXYgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwg
MCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHls
ZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBs
ZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBw
eDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2lu
ZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjog
bm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+
VGhlcmUNCiBhcmUgbm8gc2lkZSBlZmZlY3RzIGhlcmUuJm5ic3A7IENhbid0IHRoZSBsaW5lIHNp
bXBseSBiZSBkZWxldGVkPzwvc3Bhbj48YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwg
MCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTog
bm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0
ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsg
dGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzog
MHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9u
ZTsiIGNsYXNzPSIiPg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0i
Ij4NCjxkaXYgY2xhc3M9IiI+WWVzLiBUaGUgY29tcGlsZXIgdGVsbHMgdXMgYWJvdXQgdW51c2Vk
IGJpbmRpbmdzIGxpa2UgdGhlc2UgYW5kIHRoaXMgaXMgdGhlIGVhc3kgd2F5IHRvIGFja25vd2xl
ZGdlIHRoaXMgd2l0aG91dCByZW1vdmluZyB0aGUgY29kZSBidXQgaXQgY291bGQgYmUgcmVtb3Zl
ZCBhcyB3ZWxsLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxk
aXYgY2xhc3M9IiI+4oCUIEM8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_FD21D306CBDF4AFBB7A89F39FF6794D3citrixcom_--


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:47:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:47:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379781.613553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBux-0006i3-2j; Wed, 03 Aug 2022 10:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379781.613553; Wed, 03 Aug 2022 10:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJBux-0006hu-01; Wed, 03 Aug 2022 10:47:59 +0000
Received: by outflank-mailman (input) for mailman id 379781;
 Wed, 03 Aug 2022 10:47:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJBuw-0006hC-2x
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:47:58 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062.outbound.protection.outlook.com [40.107.20.62])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bbe98677-1319-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 12:47:57 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8297.eurprd04.prod.outlook.com (2603:10a6:10:245::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 10:47:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 10:47:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbe98677-1319-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EmNrtkK/BW7IfCR8Z0vvizvAmBSoljMALZqyh6RU64RpH+GfqDc8gcXtBWlsOZJjJCLCe/AvqUGYEZLXpxD8leYsbg1JGrEyKDzTMhVkh3yIyZCrwIAkMmoXBHwtonXAD1LX3DuirVHLLRP/Je4TrofmP2Bge3+hQYauQZzCT0J/COH6mwf8tvwp9B9vDudA4Iroj++NNattaQWOSmLmoexmuZYlWanyCDtVqsyUMqVbWcI8fk94v+70OlHxf7iiPAyUxl3sYscC/mJ+oxJXk1izhDOtaaYZlaHssjEFkmU9Gkntswpu1mq71RBV7wGGN/Kt+eVBSHPg7S2D3YxLEg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c3v1ww8SA9UhU6ZwsSo4QiI6/aUSlf9C4oxLL/kfXzc=;
 b=dCkh5pFUrM4ki2eGq7bahXttl7G7sL6dj+1pskskog6aLNh8YRlOY5CCtxDeff7k6RPxm5JJAZza4Kn3xxduo+VpVGjlPZwraW7/78DBp9y1ThR0sw/yPCn9LemO3cb1UVIJOUoJNpRt62Z6tPKrKBhWi7FpjwgXE4yxeY+YslA2ZPubpI7LO6O/Ijg05AqdHWwvRUpVUSnBWuyW3IXc/LXnGowPFtZX/RYxEk1ztoDxhaMSFpbagKEhVRfM09NhzjKCmCS94cDTEdj+DBjSgaavAm5V99HQhKdbZuIbJkknYFLndsm8G+4jirHA91gx3oVk5HLxSdLX6Wx0cRcSmg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c3v1ww8SA9UhU6ZwsSo4QiI6/aUSlf9C4oxLL/kfXzc=;
 b=4wHYnUZTq7Yx3ykOIjXxLPF5AntbUiwBbQZKiRahDx73TE6YS1w+zB57grS7p0mHNlU6RCh0qRcDioZegfHYubC0UbZB40xq87RkVYDkeIPoinytB/+jCPi2J6zpqOHI5I7wYnCTLIdrwE0nRzyno/AcpAYJs1kv+CVBrfmkUQz3rlkxQ/2+Q42TjXnYfeOp7sZ9v0ofmRQnOqgAT5AKW/U8zDV95qulo1vFu1NVUbtkuNgGlw9wFhhQ5UgrLXx3O4CXm5OMeOguqrnY0FGQDo72HT2yppkBMWoCInmVPYhqW8TCAH/pLuGPzGDd1TDgFcC5HcU8a0VW/aBWoDTF6A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <864b524d-81c0-f8d0-31ce-cefd9fcfc117@suse.com>
Date: Wed, 3 Aug 2022 12:47:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Content-Language: en-US
To: Edwin Torok <edvin.torok@citrix.com>
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
 <6b7a9b52-d378-f404-57a9-20b148f2e7a2@suse.com>
 <FEF021F3-739B-4585-82D6-D13CDCBBC24F@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <FEF021F3-739B-4585-82D6-D13CDCBBC24F@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0071.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4f914804-def5-4527-8465-08da753d9f50
X-MS-TrafficTypeDiagnostic: DB9PR04MB8297:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u/dgvJNEOP7OMhTaw6avRgXIQ+65PWFA2OxaLX0RYK7pIrSZv3pWhRBbxzONhC6oe3eCf6l1bwNc1qG9MBG7xc2RAoJuSdwW7By3HAx5SZid8bXyHDf/KdEeCY6vA1bx+WB69MFlEUW0fAjQ6R+iRQAOfMPU+blJGaS73eQ3/pqUG0nSOTA9Tf3KYYOHLGZxY8slJIaceH8OGPPbINRlC379EpLLTOG7TXVYC432Q1oG4LtL2P11TAxu2pEaSQyldPTO27zn83WAxABKjR7CDGYcYC3F+d51tAnZ4NgQl7CWr1yhi5PsLrnG/JZxw49OL9+mUbUdMxZKk4S/Cx3ps0Njch2G1P25n5bELGKLjmENDxYoEp8BqT9AF1NCEygH91GB9MPX4944qzLQXGEI6tpUwpZlhILtX8a9dkYv8qpOQhuGDzw1OEldmi/I+S37HCkNhF9DL9C0iZ4v8CweDVhwWe924ScNcdDH34NpuT9bX0OL1NiQRHlJTTrStQZjJ83w/ZZ6cAU1loSNe8Ku0pGlKc/mw7YQ13QgrHrsUtAYuu2tCZhTSyEXpLde+Ui7UD9RqoBRCA5qrECx1WxkjICbwmQ0puYCmnc9O3vC63xAM7GTdDgVYRbUBup3s5a6kmcWE2o7Wg2PyPCK7UNLhMMjH4GIrwrd/cj9clbyYcosfBtKwjQ1bj8f6ke40lLdAqrpcwKIgTqpChoSRh7orBFtHMWE9vGqeGW+YNN+2OMucmRDP7soug5RAuL4IZ6F57RfG0Sshb/OFgoV3Inb8mdNDWVSAOUn/CsuUnsLIyW00U6AK/BspUyFmxgtcS9TsbqfkjsD4v8stjB7OHJOMw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(136003)(396003)(39860400002)(366004)(8936002)(41300700001)(86362001)(31696002)(54906003)(4326008)(316002)(6916009)(478600001)(66946007)(8676002)(66476007)(66556008)(6486002)(38100700002)(2616005)(186003)(31686004)(36756003)(6506007)(6512007)(26005)(5660300002)(53546011)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y3oxUStNdk50ZndybUdMREd6QXdlaTUwUm9rYnB5R2ljd1FLSG9OQ0JEczB3?=
 =?utf-8?B?ZkJOaERqMHZneFkxd05sMjZCK0VBamE2V0NqYUUzSHIyTnN3aUM1RHRORGpP?=
 =?utf-8?B?QXRYWkpLNG1BQTF5Z0pnRUJGUnMrMXJudE1oMDhodTlmQ3hLWElKRCtQUkth?=
 =?utf-8?B?L2d5T0tsWlhxY3NCUitjUGpDbnMxL3VCU0hYQnRLcWZ1MlcwTFZrbFZUVDRR?=
 =?utf-8?B?czJiVFZtdFpLT2NxUG1jZTNuR0MzOXhMSXcrVzBLMEtPMzBrQkd2THVwQVBw?=
 =?utf-8?B?a1RtM1BENWtTVHdRQmRTek8wbDBQM3pKTFUxOWdoc3hSS3g5TWlqVFBWZzY1?=
 =?utf-8?B?NFA5ZEJjTnAreVcxYjJhRmRpRCtvZSt2bG5zcGhrQXVjVFhHandjYk1rbGp0?=
 =?utf-8?B?VXpSR3pKak9wRDJiMDlOQjUwZUVzVk5HazdDTU9UN3IyeHNoMElGRi84cmo3?=
 =?utf-8?B?M1dTWVJNMnNuMzZFc0x1cEcrbVVpVmJLcHRLMHpNUGZSNVVENEhMNTcwL0xk?=
 =?utf-8?B?dHpqVTIra0FKdUw4OEJINkc3TW90S2F4UEdNMVRoQ1hYYWd4QlVlWkhTWWVp?=
 =?utf-8?B?RkpySXhmeUw3ODduQ3RzTVR0TS9ZUzlGZUdQKzVaWVpLNnFnMDJNOHpGRFBq?=
 =?utf-8?B?MHRSa2JUd3BaTjJ6Qk8xSGxZWWtJcksxYXAwajJadk1XQ1k2dEhVaG1SUlkw?=
 =?utf-8?B?dHpYbm1NOEduR0lpK1lkeFZqWktDUTZLQ1N2endqMkRVUCsvbmJtdDdIcWtH?=
 =?utf-8?B?bWVGdGFtcCs2WUhxK0dDRjg4M0ZBUUJkTW1sQ1FiYUYrSGZMQTRxNHRFb2hK?=
 =?utf-8?B?WXIrVGxtUEhBS3JlY0IrTk4vbGdWTVdYUnlZeXJ4eTB5T1l5bHkzSEpPaWcy?=
 =?utf-8?B?eVZXVmo1ckh2LzRZeHdpb1U1ajk2Mjg3SXluZjRsMHhNRTZ2RXRTbnpXK1pW?=
 =?utf-8?B?L2sxNUVFK1k4dUwwV1JUdTIvUkJmUWcwcFAvcjM0WXp5dWdnRWo5czFlTElP?=
 =?utf-8?B?S0s4bGVCMVkxNjBtM2NwaEJQODVvb0ZmUHNsUkVXUXM4ZGx3QnJubUp3dmVH?=
 =?utf-8?B?NlhBakFId2taWHE3ZU16V2FhM3VQY0czWk1NTGRlVkZ1RXFCb3ozbVRvbE8z?=
 =?utf-8?B?cVVKRWtZUnZvVHpFNWRacWVHMjRYWVpBRVd0OVlva2hGbEcvRG5VdW96RlJB?=
 =?utf-8?B?dHFEV1YwVkRpaUg0bTZoRjl5WnFBSzZneTh1VWViSFVjUlhnMnAycGMyYjJD?=
 =?utf-8?B?TTZFek5EZXhucG5ZbzgxaWRpYkV0dHQybldFN3crSEkzR1pCNzNab01oNkRr?=
 =?utf-8?B?MFJ2U3h4Qm5RQ3VsUEVoelcvOHN4WkdHVVYyUkFubE9ESzAzWm5zL0xubC93?=
 =?utf-8?B?L3dsUHZaN2VNUFdaaXprTjE2VXg5NXV3OFZWR0Z6UXY1NVFLdHJ2Y1BtVXNV?=
 =?utf-8?B?R1FaU3dnSnp4VW1mN0Z2eCs1R0ZvRWhDd3ZvbzVVZ0dzeTdpSnF3aDZ0Ykxz?=
 =?utf-8?B?WnkvdjNRUEpqYyt1UC9MM1EvTmV0SzlLK1dWWnFUTVJrTlNVUkZGLytwTXpN?=
 =?utf-8?B?UlQyQmQ1amJtbVNaTXdPMGR0cFhBSkRIa2grUERPMjM2dE55SXFHdGxZd2Ev?=
 =?utf-8?B?SlFaL2dPNVR0REVLbHZBNGRMZFRXbzRHN2VWY2k3azltQ0VSL3RPUzBpTDZP?=
 =?utf-8?B?SDFFUmpyWVdZUHNqbVNRR1lBUUhlbjFreG15d1BPdEY2STVrck1JMkQzcFJK?=
 =?utf-8?B?ekNHV0FCTkJHZTV2RytmK0YyOW8vd1RtZjBjR1k3QjA1SGsyNjB3T0JjTllS?=
 =?utf-8?B?WDVjRzU1M0NJbHBSdWpVV0VYZXkwdUlldTI4a3NNaHVLc1Vpd0xRUEFSOWNi?=
 =?utf-8?B?aS80UDJMVlNMS1hUbHJEdXRac3BnYXp4U1ZoaHF2dTZ3cHQ2QTdyeUZhampO?=
 =?utf-8?B?d3RuSGcvcHkwK3h0c29tUGxvZTFIczMwcXdacVdmeUZsb2tVMEFLNnZBNlVi?=
 =?utf-8?B?L200bHo5NTA0Ly93UElORTNYZHdDQUlXZ2NucWJ2a0tiVW5sYk1ySmtvWHJs?=
 =?utf-8?B?RTh0eHVFcGdscjZ3Y09ZczJ6bWgvYXcrSjZCaVVQTDNJN3NMd1oxbnV1MGkz?=
 =?utf-8?Q?4ZbV6ieBS0QMBq/kiTePOPj1s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f914804-def5-4527-8465-08da753d9f50
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 10:47:55.3592
 (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: HzTM4ecWz99KqIL+Ev/APNpGoZItvUxO8lIUAs2mXzLSiYLwiig9RhdNYTdDWkn3gIWfyJn+bats8pg6eUvc4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8297

On 03.08.2022 12:24, Edwin Torok wrote:
> 
> 
>> On 3 Aug 2022, at 11:16, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 29.07.2022 19:53, Edwin TÃ¶rÃ¶k wrote:
>>> Trying to include .ocamldep.make will cause it to be generated if it
>>> doesn't exist.
>>> We do not want this during make clean: we would remove it anyway.
>>>
>>> Speeds up make clean.
>>>
>>> Before (measured on f732240fd3bac25116151db5ddeb7203b62e85ce, July 2022):
>>> ```
>>> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
>>> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
>>> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
>>> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
>>> Parsing /home/edwin/xen2/tools/ocaml/libs/xl/../../../../tools/libs/light/libxl_types.idl
>>>
>>> Performance counter stats for 'make clean -j8 -s' (5 runs):
>>>
>>>            4.2233 +- 0.0208 seconds time elapsed  ( +-  0.49% )
>>> ```
>>>
>>> After:
>>> ```
>>> perf stat -r 5 --null make clean -j8 -s
>>>
>>> Performance counter stats for 'make clean -j8 -s' (5 runs):
>>>
>>>            2.7325 +- 0.0138 seconds time elapsed  ( +-  0.51% )
>>> ```
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
>>
>> I've committed this as is since it was acked and is an improvement
>> in any event, but ...
>>
>>> --- a/tools/ocaml/Makefile.rules
>>> +++ b/tools/ocaml/Makefile.rules
>>> @@ -44,8 +44,10 @@ META: META.in
>>>
>>> ALL_OCAML_OBJ_SOURCES=$(addsuffix .ml, $(ALL_OCAML_OBJS))
>>>
>>> +ifneq ($(MAKECMDGOALS),clean)
>>> .ocamldep.make: $(ALL_OCAML_OBJ_SOURCES) Makefile $(OCAML_TOPLEVEL)/Makefile.rules
>>> 	$(call quiet-command, $(OCAMLDEP) $(ALL_OCAML_OBJ_SOURCES) *.mli $o,MLDEP,)
>>> +endif
>>
>> ... what about the distclean goal?
> 
> 
> Thanks for the suggestion, I see other Makefiles using 'findstring clean', would that be appropriate here?

Hmm, not sure this couldn't end up suppressing the rul when it's
needed. How about "ifeq ($(filter-out %clean,$(MAKECMDGOALS)),)"?
(Off the top of my head I don't recall whether this may additionally
need wrapping in $(strip ...).)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 10:57:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 10:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379793.613564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJC45-0008Sx-W9; Wed, 03 Aug 2022 10:57:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379793.613564; Wed, 03 Aug 2022 10:57:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJC45-0008Sq-TT; Wed, 03 Aug 2022 10:57:25 +0000
Received: by outflank-mailman (input) for mailman id 379793;
 Wed, 03 Aug 2022 10:57:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+C7S=YH=citrix.com=prvs=207fd374a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oJC44-0008Sk-ET
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 10:57:24 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0bfc13a1-131b-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 12:57:22 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bfc13a1-131b-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659524242;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=KaY79Xl4dkjDdgDqC7nQyB351blkVF47xGcX3lDU3yo=;
  b=BVDIAjxOvXDNr9Iop0L08+iHOHtcFv3EkCTmLFsF6zRd4e0Rg71NISL5
   dfWgRwXCKWtk3GNZiZ/PaYeZWODo0etgmuXsCih+iorujsJK8XXZAxbEl
   NLBrbKeeKGuPJ0OssCnPVTDtiCXoX6ShcDm3bJhG7ojR/KB4rxNDopZbi
   Q=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 76521373
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:OPzZvarlyj6OqqIFjbYF7TqsVu1eBmJgZRIvgKrLsJaIsI4StFCzt
 garIBnXaP/YNjajLd0iaN7koExTsJHRy4RkS1NpryxgFH8QoJuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GtD5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqUg+blbLm1i/
 8caFwkfVi26vOmv0piCH7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8eDo4+m+G5wGHyaTRCpHqepLYt4niVxwt0uFToGIWLJ4bTHpoO9qqej
 mLj/zqnGC5KD+yklDy63FiilMKTnwquDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8U44gyQzqvf4y6CG3MJCDVGbbQOuMYoSBQw2
 1SOntevAiZg2IB5UlrEqO3S92nrf3FIcylSPkfoUDfp/fHbo94foR7jRO1hL5entuDMIjrp0
 Rqz+X1Wa6oosSIb60mq1QmZ3mPw/sWQE1RdChb/BTz8sF4gDGKxT8nxsAWAs64dRGqMZgPZ1
 EXojfRy+wzn4XulsCWWCNsAE7iyjxpuGG2N2AU/d3XNGtnExpJCQWyzyGsnTKuRGpxYEQIFm
 WeK0e+r2LddPWGxcYh8aJ+rBsIhwMDITIq4B6yKM4YUPMMtJWdrGR2CgmbJhwjQfLUEy/lja
 f93j+72ZZrlNUiX5GXvHLpMuVPa7is/2XnSVfjG8vhT6pLHPSb9YepUbzOzghURtvzsTPP9r
 4kCbKNnCnx3DIXDX8Ug2ddNdg1bdyNqXM+eRg4+XrfrHzeK0VoJU5f5qY7NsaQ890iJvo8kJ
 k2AZ3I=
IronPort-HdrOrdr: A9a23:SeBK+KGVViudCsjBpLqE6MeALOsnbusQ8zAXP0AYc3Jom+ij5q
 STdZUgpHrJYVkqNU3I9ertBEDEewK6yXcX2/hyAV7BZmnbUQKTRekIh7cKgQeQeBEWntQts5
 uIGJIeNDSfNzdHsfo=
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="76521373"
Date: Wed, 3 Aug 2022 11:57:10 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Message-ID: <YupUhpinFKt2Dl0s@perard.uk.xensource.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
 <6b7a9b52-d378-f404-57a9-20b148f2e7a2@suse.com>
 <FEF021F3-739B-4585-82D6-D13CDCBBC24F@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <FEF021F3-739B-4585-82D6-D13CDCBBC24F@citrix.com>

On Wed, Aug 03, 2022 at 10:24:26AM +0000, Edwin Torok wrote:
> 
> -ifneq ($(MAKECMDGOALS),clean)
> +ifeq (,$(findstring clean,$(MAKECMDGOALS)))

I think it would be better with $(filter-out,):

    ifeq (,$(filter-out %clean,$(MAKECMDGOALS)))

>  .ocamldep.make: $(ALL_OCAML_OBJ_SOURCES) Makefile $(OCAML_TOPLEVEL)/Makefile.rules
>  	$(call quiet-command, $(OCAMLDEP) $(ALL_OCAML_OBJ_SOURCES) *.mli $o,MLDEP,)

Also, don't hide this rule, instead, hide the "-include", there is no
need to have make waist time trying to find a rule to make
".ocamldep.make" and failing when not needed.

>  endif
> --
> 2.34.1

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:14:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:14:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379800.613575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJCKg-0002TQ-HY; Wed, 03 Aug 2022 11:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379800.613575; Wed, 03 Aug 2022 11:14:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJCKg-0002TJ-Eb; Wed, 03 Aug 2022 11:14:34 +0000
Received: by outflank-mailman (input) for mailman id 379800;
 Wed, 03 Aug 2022 11:14:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJCKf-0002T9-A2; Wed, 03 Aug 2022 11:14:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJCKf-0006ee-6I; Wed, 03 Aug 2022 11:14:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJCKe-00010r-RH; Wed, 03 Aug 2022 11:14:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJCKe-0001A2-Nb; Wed, 03 Aug 2022 11:14:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qOBVakpRAEEeGMj68FwwN42DRuhcufishqb5tK0wH2E=; b=YIzdNbWcCM3Xqzu/Effv4SJ5n7
	OcvJpJY7TwEAjYCCW/yBfof/5h9Ji/0qjRfHVhAZNEPJKdD1g/4wFvQk2i51kI5X7zMP8BfFTQ1gJ
	7GaX3EThd/EKKbPp1DgCFHQooW1Dad3LBad/KRjd6Jo0Q5T2+IwQ+0w79fjwuaejnLlM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172093-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172093: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c2a24a7a036b3bd3a2e6c66730dfc777cae6540a
X-Osstest-Versions-That:
    linux=7d0d3fa7339ed5a06d6608b7cde9f079eba62bb1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 11:14:32 +0000

flight 172093 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172093/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172084
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172084
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172084
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172084
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172084
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172084
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172084
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172084
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                c2a24a7a036b3bd3a2e6c66730dfc777cae6540a
baseline version:
 linux                7d0d3fa7339ed5a06d6608b7cde9f079eba62bb1

Last test of basis   172084  2022-08-02 16:41:39 Z    0 days
Testing same since   172093  2022-08-03 01:58:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Wujek <dev_public@wujek.eu>
  Adithya K V <adithya.kv@samsung.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
  Alejandro GonzÃ¡lez <alejandro.gonzalez.correo@gmail.com>
  Aleksa Savic <savicaleksa83@gmail.com>
  Aleksander Mazur <deweloper@wp.pl>
  Alexandru Gagniuc <mr.nuke.me@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Alexey Khoroshilov <khoroshilov@ispras.ru>
  Allen-KH Cheng <allen-kh.cheng@mediatek.com>
  Amit Kucheria <amitk@kernel.org>
  Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>
  Andre Przywara <andre.przywara@arm.com>
  Andrei Vagin <avagin@gmail.com>
  Andrew Davis <afd@ti.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Strachuk <strochuk@ispras.ru>
  Andy Chiu <andy.chiu@sifive.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Antoine Tenart <atenart@kernel.org>
  Anton Ivanov <anton.ivanov@cambridgegreys.com>
  Ard Biesheuvel <ardb@kernel.org>
  Armin Wolf <W_Armin@gmx.de>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Atsushi Nemoto <atsushi.nemoto@sord.co.jp>
  Axel Lin <axel.lin@ingics.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baoquan He <bhe@redhat.com>
  Bart Van Assche <bvanassche@acm.org>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Liu <liubo03@inspur.com>
  Borislav Petkov <bp@suse.de>
  Breno Leitao <leitao@debian.org>
  Bryan Brattlof <bb@ti.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  Chanwoo Choi <cw00.choi@samsung.com>
  Chen Yu <yu.c.chen@intel.com>
  ChiYuan Huang <cy_huang@richtek.com>
  Christian Brauner (Microsoft) <brauner@kernel.org>
  Christian GÃ¶ttsche <cgzones@googlemail.com>
  Christian KohlschÃ¼tter <christian@kohlschutter.com>
  Christian Marangi <ansuelsmth@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuanhong Guo <gch981213@gmail.com>
  Claudiu Beznea <claudiu.beznea@microchip.com>
  Coiby Xu <coxu@redhat.com>
  Colin Ian King <colin.i.king@gmail.com>
  Conor Dooley <conor.dooley@microchip.com>
  Corentin Labbe <clabbe.montjoie@gmail.com>
  Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
  Daire McNamara <daire.mcnamara@microchip.com>
  Damien Le Moal <damien.lemoal@opensource.wdc.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Latypov <dlatypov@google.com>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Lezcano <daniel.lezcano@linexp.org>
  David Ahern <dsahern@kernel.org>
  David Fries <David@Fries.net>
  David Jander <david@protonic.nl>
  David Rientjes <rientjes@google.com>
  David Sterba <dsterba@suse.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Douglas Anderson <dianders@chromium.org>
  Dylan Yudaken <dylany@fb.com>
  Eddie James <eajames@linux.ibm.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emil Renner Berthing <emil.renner.berthing@canonical.com>
  Eric Auger <eric.auger@redhat.com>
  Eric Biggers <ebiggers@google.com>
  Eugene Shalygin <eugene.shalygin@gmail.com>
  Fabien Parent <fparent@baylibre.com>
  Fabio M. De Francesco <fmdefrancesco@gmail.com>
  Florian Fainelli <f.fainelli@gmail.com>
  George D Sworo <george.d.sworo@intel.com>
  Georgi Djakov <djakov@kernel.org>
  Gilad Ben-Yossef <gilad@benyossef.com>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  GONG, Ruiqi <gongruiqi1@huawei.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  GUO Zihua <guozihua@huawei.com>
  GuoYong Zheng <zhenggy@chinatelecom.cn>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hans de Goede <hdegoede@redhat.com>
  Hao Xu <howeyxu@tencent.com>
  Heiko Carstens <hca@linux.ibm.com>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hsin-Yi Wang <hsinyi@chromium.org>
  huhai <huhai@kylinos.cn>
  Ignat Korchagin <ignat@cloudflare.com>
  Jack Doan <me@jackdoan.com>
  Jack Wang <jinpu.wang@ionos.com>
  Jakub Kicinski <kuba@kernel.org>
  James Morris <jamorris@linux.microsoft.com>
  Jan Kara <jack@suse.cz>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <wangborong@cdjrlc.com>
  Jason Yan <yanaijie@huawei.com>
  Jean Delvare <jdelvare@suse.de>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  Jens Axboe <axboe@kernel.dk>
  JeongHyeon Lee <jhs2.lee@samsung.com>
  Jia-Wei Chang <jia-wei.chang@mediatek.com>
  Jiang Jian <jiangjian@cdjrlc.com>
  Jianglei Nie <niejianglei2021@163.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jilin Yuan <yuanjilin@cdjrlc.com>
  Jin Xiaoyun <jinxiaoyun2@huawei.com>
  Jinke Han <hanjinke.666@bytedance.com>
  Johannes Berg <johannes@sipsolutions.net>
  John Allen <john.allen@amd.com>
  John Garry <john.garry@huawei.com>
  Johnson Wang <johnson.wang@mediatek.com>
  Jonas Lindner <jolindner@gmx.de>
  Julia Lawall <Julia.Lawall@inria.fr>
  Justin Stitt <justinstitt@google.com>
  Kai Ye <yekai13@huawei.com>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  keliu <liuke94@huawei.com>
  Kevin Hilman <khilman@baylibre.com>
  Krishna Yarlagadda <kyarlagadda@nvidia.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lee Jones <lee.jones@linaro.org>
  Lee Jones <lee@kernel.org>
  lei he <helei.sig11@bytedance.com>
  Len Brown <len.brown@intel.com>
  Li Chen <lchen@ambarella.com>
  Liang He <windhl@126.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Song <liusong@linux.alibaba.com>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Lukasz Luba <lukasz.luba@arm.com>
  Luo Meng <luomeng12@huawei.com>
  Manyi Li <limanyi@uniontech.com>
  Marc Ferland <ferlandm@amotus.ca>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marcello Sylvester Bauer <sylv@sylv.io>
  Marcelo Tosatti <mtosatti@redhat.com>
  Marek BehÃºn <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Markus Mayer <mmayer@broadcom.com>
  Martin Sperl <kernel@martin.sperl.org>
  Matt Ranostay <mranostay@ti.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Micah Morton <mortonm@chromium.org>
  Michael Carns <mike@carns.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michal KoutnÃ½ <mkoutny@suse.com>
  Michal Suchanek <msuchanek@suse.de>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Mimi Zohar <zohar@linux.ibm.com>
  Ming Lei <ming.lei@redhat.com>
  MÃ¥rten Lindahl <marten.lindahl@axis.com>
  Nandhini Srikandan <nandhini.srikandan@intel.com>
  Naresh Solanki <Naresh.Solanki@9elements.com>
  Nathan Chancellor <nathan@kernel.org>
  Nathan Huckleberry <nhuck@google.com>
  Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
  Nick Hawkins <nick.hawkins@hpe.com>
  Nikita Travkin <nikita@trvn.ru>
  Niklas Cassel <niklas.cassel@wdc.com>
  Noam <lnoam@marvell.com>
  NÃ­colas F. R. A. Prado <nfraprado@collabora.com>
  Ofer Heifetz <oferh@marvell.com>
  Pali RohÃ¡r <pali@kernel.org>
  Paolo Abeni <pabeni@redhat.com>
  Patrice Chotard <patrice.chotard@foss.st.com>
  Patrick Rudolph <patrick.rudolph@9elements.com>
  Paul Fertser <fercerpav@gmail.com>
  Paul Moore <paul@paul-moore.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Peng Wu <wupeng58@huawei.com>
  Phil Elwell <phil@raspberrypi.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Qian Cai <quic_qiancai@quicinc.com>
  Qifu Zhang <zhangqifu@bytedance.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Raz Adashi <raza@marvell.com>
  Ren Zhijie <renzhijie2@huawei.com>
  Rijo Thomas <Rijo-john.Thomas@amd.com>
  Riwen Lu <luriwen@kylinos.cn>
  Rob Herring <robh@kernel.org>
  Robert Marko <robimarko@gmail.com>
  Robert Schmidt <r-schmidt@web.de>
  Roger Pau MonnÃ© <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Saravanan Sekar <sravanhome@gmail.com>
  Schspa Shi <schspa@gmail.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Serge Hallyn <serge@hallyn.com>
  Serge Semin <fancer.lancer@gmail.com>
  Serge Semin <Sergey.Semin@baikalelectronics.ru>
  Sergiu Moga <sergiu.moga@microchip.com>
  Shady Nawara <shady.nawara@outlook.com>
  shaom Deng <dengshaomin@cdjrlc.com>
  Shijith Thotton <sthotton@marvell.com>
  Shivnandan Kumar <quic_kshivnan@quicinc.com>
  Shreenidhi Shedi <sshedi@vmware.com>
  Shreenidhi Shedi <yesshedi@gmail.com>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Simo Sorce <simo@redhat.com>
  Slark Xiao <slark_xiao@163.com>
  Slawomir Stepien <slawomir.stepien@nokia.com>
  Song Liu <song@kernel.org>
  Song Liu <song@kernel.org> (for the md changes)
  Stefan Roesch <shr@fb.com>
  Stephan Gerhold <stephan.gerhold@kernkonzept.com>
  Stephen Kitt <steve@sk2.org>
  Steven Lung <1030steven@gmail.com>
  Sudeep Holla <sudeep.holla@arm.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  syzbot <syzbot+358c9ab4c93da7b7238c@syzkaller.appspotmail.com>
  Taehee Yoo <ap420073@gmail.com>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Todd Brandt <todd.e.brandt@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomasz Kowallik <tomaszx.kowalik@intel.com>
  Tomer Maimon <tmaimon77@gmail.com>
  Tony Luck <tony.luck@intel.com>
  Tony W Wang-oc <TonyWWang-oc@zhaoxin.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Ulf Hansson <ulf.hansson@linaro.org> # For MMC
  Uros Bizjak <ubizjak@gmail.com>
  Urs Schroffenegger <nabajour@lampshade.ch>
  Uwe Kleine-KÃ¶nig <u.kleine-koenig@pengutronix.de>
  Vadym Kochan <vadym.kochan@plvision.eu>
  Vaishnav Achath <vaishnav.a@ti.com>
  Vasily Khoruzhick <anarsoul@gmail.com>
  Vinod Koul <vkoul@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vladimir Zapolskiy <vz@mleia.com>
  Vladis Dronov <vdronov@redhat.com>
  Weili Qian <qianweili@huawei.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Will Deacon <will@kernel.org>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiang wangx <wangxiang@cdjrlc.com>
  XiaoYan Li <lxy.lixiaoyan@gmail.com>
  Xiu Jianfeng <xiujianfeng@huawei.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yi Zhang <yi.zhang@redhat.com>
  YiFei Zhu <zhuyifei@google.com>
  Yin Fengwei <fengwei.yin@intel.com>
  Ying Sun <sunying@nj.iscas.ac.cn>
  Yoan Picchi <yoan.picchi@arm.com>
  Yuan Can <yuancan@huawei.com>
  Zhang Jiaming <jiaming@nfschina.com>
  Zhang Rui <rui.zhang@intel.com>
  Zhao Liu <zhao1.liu@linux.intel.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Zhou Wang <wangzhou1@hisilicon.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   7d0d3fa7339e..c2a24a7a036b  c2a24a7a036b3bd3a2e6c66730dfc777cae6540a -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:25:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:25:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379807.613586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJCVU-00040o-HB; Wed, 03 Aug 2022 11:25:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379807.613586; Wed, 03 Aug 2022 11:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJCVU-00040h-EM; Wed, 03 Aug 2022 11:25:44 +0000
Received: by outflank-mailman (input) for mailman id 379807;
 Wed, 03 Aug 2022 11:25:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+C7S=YH=citrix.com=prvs=207fd374a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oJCVS-0003z4-Q9
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:25:42 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff25f3c3-131e-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 13:25:40 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff25f3c3-131e-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659525940;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=HSwpnYedOxbDIQWOpzt4A6YEptWtdfG2p3d2eIOUVzA=;
  b=TpjLP5HbidcLH/e46woUoI+yjkErCMUFZkkOVBvbQryioIaK9sIAt4VH
   vdvh+7cgWDBYQF74jf4ToSFqTWHJz2t+0IVq5f79sXNZ9j/yL3wi5aFVW
   xaIsyLBgQ0N9Yc0RLtJ2STC7fc20H/WYRvUQnCHpqcIua1RVAsptQk2y+
   A=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77264605
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3Au/WLFKsW5Snp9ROCuEKwgAaqZufnOphVZnV0M?=
 =?us-ascii?q?smfNr3fNXix3RfKay+Q/FW+adQQAGeMLe/JN1EfVX4R8wfhrKbi6CpY64Wqm?=
 =?us-ascii?q?F36eDt31gdESYEq8x0Nr3Ym3tovaXfk+c9kvjbJUzTAoepdnHVYCqP2blErZ?=
 =?us-ascii?q?ArqUg/lYzHv7xU6NTyr5GRw/Q0I85xT+yX1F2Ws5VqEtGu1QTLIujTFaJFPP?=
 =?us-ascii?q?Vk9tPzbQtB9huV5P0/FdJAEEAgsy/1IC37C4dueRPHVGd4YVHaxWHgqj8br8?=
 =?us-ascii?q?/jn45Cz8D9Pfn3Ge92DtTEEsmlCNEYS7EkEoNONf3tjnSkNSKX364q8xjzSf?=
 =?us-ascii?q?mPXUBzJLpMOaRrZkwcWQ94t58eMsMxw0NdyatkZfH269VLRDuAV+FqYNdqHe?=
 =?us-ascii?q?5fBf4OLzvyIZyj4gRBhoSPUayF4eD/2H+jDXPFYWWqBGk8H2Ovyzu7kxQLgk?=
 =?us-ascii?q?5ASPSN1v/i+R4WHGDbNqsBpMe+5U3j08DB4Gl9VV2yUT+XD93dmt6A9PvR4F?=
 =?us-ascii?q?W/hJjbkNsDJsPM3dpSFO9BAOGl8z92ZxaCxVF+ByuCV6dDD1u8YLH2ttJaCK?=
 =?us-ascii?q?A93nzxN4Nmy7lKC0zDsZ/4Of/p8fRmEGNJt0kbbh/r1NAVYr/UQ7aCvQbT4V?=
 =?us-ascii?q?n1CVwg8+Fx+ecUuzMOXUQeuzkLcNBn1+dXKmHbZoG0l7LWdgRm2+hKzKGkOh?=
 =?us-ascii?q?HCucZrIQJNkM0DkNpIIPHiJhwWpAzPUys8oGwr4ng7w9baQXJ6mgWowlE162?=
 =?us-ascii?q?U+oUy4wC3CYCb4KTAp1YgFXDoTK5rYsXZf7doORfbB4Wo2Geak8zZ3Ctj6yz?=
 =?us-ascii?q?KUY/Skwf57+jmD+7O288t5ywFJICKWQSmNztM5Rsb/6MrX0mAMaiqnXSxMJK?=
 =?us-ascii?q?mOXOv/TfDAK/PeyUzmaZBMS9jzhS535KfsL+LIidI6V/82IZV3nCeBBNd0gG?=
 =?us-ascii?q?cHfDWIoZPgyIx3Rsf/L7mSV/hfsRfEVkJSdOPlOQ+Zvdh7ifisn6KAuVBIR8?=
 =?us-ascii?q?vPCm75WeTR1wbkOezjx1BB62r/quyYITaqcTmUo0HCXuMoXtQwP88OIrIIDp?=
 =?us-ascii?q?Rhm59W8e1EbtC6a5qthNU/oA/QFpSPM/N4NxbaX5hFoKDPCSM4Z2Ubal9fwH?=
 =?us-ascii?q?z6AuEaGUkuIObjLUw6McbT4A4rMfQFEJJ72Zh/R1FwF4fhvyVENtGuvEsVm3?=
 =?us-ascii?q?LiFATMXU/0+Kv6Nk8N1LCB1Rg1GsFC3c0JoH8c1wjXtliNL+e5NwpyY1MyGC?=
 =?us-ascii?q?9sCv02Vv5BgxzvSAC1XUIJwE7eEYvcqDIHBdMUfI8g1Edx2K66Jka9VCPzru?=
 =?us-ascii?q?OZccbwkdFzlu9kZKNbJCYrHZ9V0U9Rvu2th0au2XtRYpOIP9e3rTvcJFfS35?=
 =?us-ascii?q?h0C5fhKS6WF2QgB+P7LhWNz5xj+/7JFjkw374BLtAeMXElA0hjNgwMDhCm/D?=
 =?us-ascii?q?ktRX67LRONY31YwHcYmzNb1pe/dko9hLkBY7ohniN4hqTVB7fnYgghQZYdG6?=
 =?us-ascii?q?idcB3NJLqhyXh//4XjIU0aAVkIaMphbY8+rcb+ZaeImqs685KiUmkhWEDANI?=
 =?us-ascii?q?/yMKfxgzDDL56CaafHnKFDlUayzFy7Ce7CJhOqrAn2/yQuaddpOW0u5e2RXf?=
 =?us-ascii?q?kEDbz5XmETE1IusXCL29hSDOrmlN0G47ETsjXNx3Xg1Mp7WGTQEgXktEuNvC?=
 =?us-ascii?q?u02TfntYgQsF4UAucQbsmOL+IxF9WVYy4ldNnBcuUKDDbS8BchkIM/2SDp2W?=
 =?us-ascii?q?kzJQkuOk2Jw6xc6fBLEnGPrbzz9De0FoCpnLdh2XbsfPgK91oOSc2tITdXVf?=
 =?us-ascii?q?+G1oJEaTbbTGbmtomMLz9c046Zg5cF9tqo7Ii2V49R8+raDA0vRZCUWRpwSp?=
 =?us-ascii?q?Re3IjjO1ZQnlDGXcGl0dzCJadXkCvERfXkpuz8QU2v5m8Y4F8DkJ9ahWfSPy?=
 =?us-ascii?q?tBeMRGxL2yiaEihMsDhNhzMd5g+NDMRWS7jqD+JB9+39K/V8mOmCfDEnIziI?=
 =?us-ascii?q?1n/HhZQluwDJqUuaQ2rWcfmP4ZDHEPhNVLUb7+AvTc952z00DvrsvJBWy7cb?=
 =?us-ascii?q?CsKoLz/35xJrcdDb4IoM1yC+GENw2houTFVmF9nZZgFmkfv+13Co8mfF8/GJ?=
 =?us-ascii?q?LV+Vwb3XDPq+wyuEAqArT9hkCgNdVENS5MJHfhpOTu/nYj4DOoxrCMtkbkxK?=
 =?us-ascii?q?WWlJBqUJoddJtSQFXgvDNoQi+W+vZ06XtwRlc2jgtP3ffr3yIdu3QbVL0xmM?=
 =?us-ascii?q?IHH37Ke+ibITmTsC/o3ycNSfl73A+kz9vOKkHPpdH1Cwe7XNJ7C6nx15hg3U?=
 =?us-ascii?q?/gM2uoqpYgPg2NeGEHPbnDnyGe/u3g+Kxgf8d2SpvoQLC+ZI8QVo0dprDD4J?=
 =?us-ascii?q?tN1ok1IIL08aKLYoEzHpF+5Gi3D/zYZj2YRFD7zoIM6HJ3y+vQO3sw3H6jhU?=
 =?us-ascii?q?T238mZ+9MSx0hqaM0yET7vS2KBl6tAJnFWLHqRg/7mg2VtJzLs2zX2/w3Xvp?=
 =?us-ascii?q?omstWoqmiaJSL2/nR8mmlQaPRAgk02kIyx9b1kggFMXvR71Jf7O3Q3WIpeW9?=
 =?us-ascii?q?Q4s/k7/r/s3D5M9VlEFMe5vs4lHEUGaWor5KMssqckQBgWF0gteoRE3cT1YZ?=
 =?us-ascii?q?De5V3c2/grNwacIVtfcpQ02tETUhg1PH+kxn2K88H3g6ygFVOpbelRvGRjL+?=
 =?us-ascii?q?HYPcNM448t7UWmyCsUh/QMjQHYZqZkJ0oMNTlhVEPfJ1RQxJ62CRFPlppbjd?=
 =?us-ascii?q?g=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="77264605"
Date: Wed, 3 Aug 2022 12:25:32 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Edwin =?iso-8859-1?B?VPZy9ms=?= <edvin.torok@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>
Subject: Re: [PATCH v1 3/7] tools/ocaml/*/dune: dune based build system
Message-ID: <YupbLL8mYTK3427v@perard.uk.xensource.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <0f2c08734668626a618767680493a006827e123b.1659116941.git.edvin.torok@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0f2c08734668626a618767680493a006827e123b.1659116941.git.edvin.torok@citrix.com>

On Fri, Jul 29, 2022 at 06:53:26PM +0100, Edwin Török wrote:
> Based on Christian Lindig's work.

Should we have is "Signed-off-by" tag then? Also he might be the author
of the patch, isn't it?

> Initially this will be used to build unit tests, and to make development
> easier.
>
> Dune supports proper incremental builds and editor integration with
> merlin/LSP.
> 
> For now the Makefile based build system is retained too: this is not a
> hard dependency on Dune.
> 
> Using version 2.1 of Dune build language here, because that is the one
> available in Ubuntu Focal (part of the CI here).
> 
> No functional change.
> 
> Signed-off-by: Edwin Török <edvin.torok@citrix.com>
> ---
>  create mode 100644 tools/dune
>  create mode 100644 tools/dune-project

Should this two new "dune*" files be added to MAINTAINERS in the OCAML
section?

> diff --git a/tools/.gitignore b/tools/.gitignore
> new file mode 100644
> index 0000000000..c211749a3b
> --- /dev/null
> +++ b/tools/.gitignore
> @@ -0,0 +1,7 @@
> +dune-workspace*

Is this file going to be in many subdirectory or just in tools/ ? You can
prepend a slash to tell git to ignore this file only in this directory.

> +_build/

Is this where dune is going to do out-of-tree build by default? Also, is
this only going to be in tools/_build/ ?


> +.merlin
> +*.h.gch
> +*.opam
> +ocaml/*.install
> +include/_xentoolcore_list.h

That last line doesn't seems related to dune, why is it in this patch?

Also, can you sort the lines in this .gitignore?

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:57:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:57:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379814.613596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJCzz-0007Rg-2M; Wed, 03 Aug 2022 11:57:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379814.613596; Wed, 03 Aug 2022 11:57:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJCzy-0007RZ-Vz; Wed, 03 Aug 2022 11:57:14 +0000
Received: by outflank-mailman (input) for mailman id 379814;
 Wed, 03 Aug 2022 11:57:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4Xu=YH=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oJCzx-0007RT-RY
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:57:13 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 67e7bfe5-1323-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 13:57:11 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id ECFC411FB;
 Wed,  3 Aug 2022 04:57:10 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4744A3F67D;
 Wed,  3 Aug 2022 04:57:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67e7bfe5-1323-11ed-924f-1f966e50362f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Date: Wed,  3 Aug 2022 12:57:02 +0100
Message-Id: <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When calling python tools to convert misra documentation or merge
cppcheck xml files, use $(PYTHON).
While there fix misra document conversion script to be executable.

Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
Fixes: 43aa3f6e72 xen/build: Add cppcheck and cppcheck-html make rules
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- use $(PYTHON) in Makefile to call convert misra doc script
- use $(PYTHON) in Makefile to call merge cppcheck script
- change title as mode change is only a small part
- add "fixes" for the merge change
 xen/Makefile                   | 4 ++--
 xen/tools/convert_misra_doc.py | 0
 2 files changed, 2 insertions(+), 2 deletions(-)
 mode change 100644 => 100755 xen/tools/convert_misra_doc.py

diff --git a/xen/Makefile b/xen/Makefile
index 3d926e1015..69b4dc960f 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -703,7 +703,7 @@ cmd_cppcheck_xml = $(CPPCHECK) -v -q --xml $(CPPCHECKFLAGS) \
                    --output-file=$@ $<
 
 quiet_cmd_merge_cppcheck_reports = CPPCHECK-MERGE $@
-cmd_merge_cppcheck_reports = $(srctree)/tools/merge_cppcheck_reports.py $^ $@
+cmd_merge_cppcheck_reports = $(PYTHON) $(srctree)/tools/merge_cppcheck_reports.py $^ $@
 
 quiet_cmd_cppcheck_html = CPPCHECK-HTML $<
 cmd_cppcheck_html = $(CPPCHECK_HTMLREPORT) --file=$< --source-dir=$(srctree) \
@@ -742,7 +742,7 @@ cppcheck-version:
 # cppcheck in json format including the list of rules to ignore.
 #
 cppcheck-misra.txt: $(XEN_ROOT)/docs/misra/rules.rst $(srctree)/tools/convert_misra_doc.py
-	$(Q)$(srctree)/tools/convert_misra_doc.py -i $< -o $@ -j $(@:.txt=.json)
+	$(Q)$(PYTHON) $(srctree)/tools/convert_misra_doc.py -i $< -o $@ -j $(@:.txt=.json)
 
 # convert_misra_doc is generating both files.
 cppcheck-misra.json: cppcheck-misra.txt
diff --git a/xen/tools/convert_misra_doc.py b/xen/tools/convert_misra_doc.py
old mode 100644
new mode 100755
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:58:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:58:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379820.613607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD1N-0007zS-Ce; Wed, 03 Aug 2022 11:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379820.613607; Wed, 03 Aug 2022 11:58:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD1N-0007zL-9v; Wed, 03 Aug 2022 11:58:41 +0000
Received: by outflank-mailman (input) for mailman id 379820;
 Wed, 03 Aug 2022 11:58:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJD1M-0007z9-7u
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:58:40 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00068.outbound.protection.outlook.com [40.107.0.68])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c3bd893-1323-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 13:58:38 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7325.eurprd04.prod.outlook.com (2603:10a6:800:1af::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 11:58:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 11:58:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c3bd893-1323-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iOt8YS0hUWBeIQGCiuP5/exRCUPUjIS1dSCzrGr97STCxEZTrq8DMUNL5CUT7cVesMDah7qCzq/LRMG8vRfy462PwpvMKaKeej2Bj1RBJZpZDYYMDzTxwRR+tV4UJr58JSA8cMkMVZxsCuxsXKJwF6U4jhaC/bAgUCn9khwpwg+yuQID7wiLcylQ/f34FEKJsOYsgjgLF3B4wTz4EYsYbIOCKmOurmS4fEWLqr3ZR7daP6qVNoSc9lwcR21sGgZV/J2tw9zrQ33IZvDD9p/vXzKS7VGAHsQ8ftRjYF3lq2VTSliy3ik9g+5TqsWwCQ5QX7+YAhh38X+j4kxOc03zow==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n9X58dBGrmsJDVuukOgpfhtgGk7sBVQMsUdtuJZftnQ=;
 b=C5j2O2EGmuDl60aA7aj0o+G+eWmR6ANfW0dh/HSjyimH2N1MoqN9ajGWbxRWrBy5Xeb30lWWAc2Tg8q8NeTGcG8DOsu0Em3+HICz7KDMNBP7EmnLkeH+BJpGjGBZzevtt0QMkO/GyWNjUJLXkh7yrJDgvGxBdd3QuZx0SuplwYwDUp8inIhkbNcwojylAeGztTP3xfNw9sP3apK2DNfn9UfdG2vFOpnvfbVQas0KnfcHVz2aidBaleFvh5jbEDzbL0SwE+P63Dp1Dw/iwAvvnURblG5GKV1dw8SKlB/BL/AwWFPQx3HJM75XE5EMhAicsqJOL+RaWbgoHj7FWhlj4w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=n9X58dBGrmsJDVuukOgpfhtgGk7sBVQMsUdtuJZftnQ=;
 b=SJTRmv+cixrtLm8wO0IF2BucgUx7WUByMVfOdqnON73QcSLb1hUlUKUpMVUNeIoHD37r9BcHZAa94N8XISdgvC6cXexdZHb1fQBJBIYO4fn5pwYGwhmIRhFZDevdcOCg8thQiPZYBp4tm6rylUQtjZ2XicAGwyp8hLc7mweChSlBddyxm7gyoHC1juzmBXU196h/V76EwJJw4W09jv4BNnQ3rmXpFq1BfsjDaHQSMBxXR/ye2M0iwhfXa7JtcA0n3eymkPVXKPpSHdbQFgXEQhCgCgN0Zqi/Hg87BixDt16C0f00Dn1w1BnXdZnNkx0yXxcPVZ7YJOdhzn1Rsx3TNg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e6adf8c3-0120-a737-aea9-6ae37cae3be1@suse.com>
Date: Wed, 3 Aug 2022 13:58:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Edwin Torok <edvin.torok@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
 <6b7a9b52-d378-f404-57a9-20b148f2e7a2@suse.com>
 <FEF021F3-739B-4585-82D6-D13CDCBBC24F@citrix.com>
 <YupUhpinFKt2Dl0s@perard.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YupUhpinFKt2Dl0s@perard.uk.xensource.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3f34625d-6bf4-4f78-f130-08da75477ef7
X-MS-TrafficTypeDiagnostic: VE1PR04MB7325:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O0wQ/Z9lgIM2EXwV/nC0MzARDmuA+JrUCJm3FRMuzjK4xYYPVsvJ4aqZTLL814CvsUBjevv7pwQNBDMX812Aw8pqaXaF1e+Rq03k8F8dISqRWZB7rmdyhzVY8pSWLLg3q6XqEuGskOpUdSRVN6yRUW7i211nMiv272SJN6tiRunxh1ZxcUaCM572BLRyeucszLn8qncclUMvzw33ds1BBskWE0B75LLdPTIMZF2f9TKkh3deDEHUqnns24rGPZBWTCXWXLEr2v9Ex9KdvvfcHGvJGOlJCfyJ/1g4rWnHZ1WzqujLFjiYJ4lmpgvt6SFgJNK3PokAKE0GGn2Xs6m6h3S9otMCUW+vr/nOSgZLhXw8qrDDRIKX6dm4Gme7bju/g5nyresoT8yYxjwvy18jLqtX4J4Ot52n9WkxhRW65JYBsg5wVtGJSOilevxjEVidoR1t+2r1v62M71j3gUzrtdaxzgzwvqqjF43jNf2qm/RxMUyqKZnOFKscYS1sLxhiTyx/AXKJfv6bN8j6DowMB4NUVqfvFs5Z4SIBl6WUe5VfkTaQ3GkzrRxg/6h7wHLDS1fV0tVqlNpvUcAESYQTKbo85Zvq6BoJRGivRMQRh/Sghwhh/ZbG/6VOs1cUqFGFziNY4ji8DKMLtuq81o6fCUgPLZ3F6epSzbRvcul9aG8aqR/ATvfzlwXWaO+fmeZtNBWXjNbdGJMuBN4jkXd3xGq1QVeV2ckvqP+ldZtcfzpAhmV9hReAjG5Qqw+M4SDvvATj5IwiEoMgpmjK4DgyC1PMcD+ocqncPFb8XUt0gvQeDsS+PH50GFjZHsZI7ZHVLQzPR1zbpzB4Ic88+5JQDg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(39860400002)(346002)(396003)(366004)(31696002)(6486002)(86362001)(2616005)(478600001)(6506007)(53546011)(6512007)(8936002)(4744005)(186003)(41300700001)(2906002)(26005)(38100700002)(5660300002)(36756003)(31686004)(66556008)(66946007)(66476007)(4326008)(8676002)(316002)(6916009)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TkhVdW1tRDhLdG9rZ1hETnJrMmZURStwOXQ0NFVWZzNOWWxMeWw5eEhvZFdn?=
 =?utf-8?B?WnFETTVDd3VoUHB6RXhNWWxMU3BJQXdZRDR1YURUSW1lTGNENDJaOFdKdW41?=
 =?utf-8?B?TVVxSDlqMmZvWEpUVmdWd3RtL1pGempvaDlBVWpzbmUwaTdtdHVwZHAzS2Ns?=
 =?utf-8?B?a0l3QVFPT1U3NCtsd0NqbFZXeXI3UTlkaStEZTRqcTFzOFErQmNiV21hMFJ1?=
 =?utf-8?B?ZTVBS1Q4ZHpMR3BLeVFEUURnQTFjRGM4RXRzblRmelRXcGcvTkZVRkxzZnI2?=
 =?utf-8?B?YUMrQXVtMDZCU1NjbEdOMVU0b2N2WllXZC9xSDV6cEZ0bUFka2RjMDNKU05E?=
 =?utf-8?B?Yko2bjRJMHJ4L0NCVm56WElvSjd6Vys2RHBmNTN6Y0txaDI3OHdlZCt3T1c0?=
 =?utf-8?B?amZrNGI5RlpCMEFMaWJicnZZUURiZ1FLN2FXTUUwRXpLcDJHakVEK3B0cWEw?=
 =?utf-8?B?MkpEQTAzOEl0QmVGVW14ZHlEVjY3azhzRmcxOFBsUmp1Sk42VDF2RFdpTzQr?=
 =?utf-8?B?WTV0RnhlVnNNS1Z5SG16eFd4Uzg0bmROOHRKaDEvQys5N09GQ29MSG9kNmRi?=
 =?utf-8?B?N0JEM3BQVHAvMjV0ZW1ld1pzanBibDR6YlgycSswVkZjZS80K1dNU0pYNHBv?=
 =?utf-8?B?QjR0bHphbnRnQ296RERZWWt2N094SEFGeVpsZVMrU0pOYVB1emhZUmdZVTI3?=
 =?utf-8?B?MlQ0TGtqYkpqejE4Y2gwQ2k1SkF2TkpEdk1pY0VqN0F6dERsOVU0aXNyT2hj?=
 =?utf-8?B?Q3lDMGltckNxY29IcTVQZmkxWGlaaEdTN3crbXY2Ui84eGEwdWZ4V0V4RXg2?=
 =?utf-8?B?Yi9DcERROSs0dWlTd3MzcEQxdGZPQmc4NGhrcUFxeG1BSWpvOW1OYXVlZGZN?=
 =?utf-8?B?SEovaXlaYzljYldBWGxNeFdadGY2bWVNRkM3MHVTY1RsdzlhVnhYRytKd21P?=
 =?utf-8?B?Q3RaYmpyZDhMcnRUQWZhc1ZNUHFQdHNVR2Q2Z3BIeEdUSHZYcTZ0NjdoRmxB?=
 =?utf-8?B?UjZzWHEwemJWaklvL3N5aC9ZY2trd3pxMUlZMUEwQ0s5TXJobWN6R2Z0Wmx3?=
 =?utf-8?B?SlhhOHJMaW9XdURMV2d3SFdZOG9SZS84eUg1Mm9BRmRaVDcxSUY1WU1qOEtx?=
 =?utf-8?B?REc1TDYrNnp6cWQyS2FncHBzU09Cek81amZ3dmE4MlozR21tL2g5L0EwU0FL?=
 =?utf-8?B?aHdCNGdSVTJxelh0WVJ0aG5OWnlaVTk4TUhkU1pPQWlrNjExanNvVHc2em12?=
 =?utf-8?B?NHNsWHhVM2pmeHZER3BkcDdlbmNIamhFaURldWpFRHJ2dXFNamFNT3ZEYlJS?=
 =?utf-8?B?NHVLN2lrckpnVXU5UGJGbDJJbWp5YXRaY2tTcitBTFJFOUF1QktKMk1nelR2?=
 =?utf-8?B?ckluVFh5YmlKOG5mMFA4bmVzcloxODk4eG8vbU1lWHFaMFI1UlFMM2kxV09U?=
 =?utf-8?B?cFl5dlEyMDFnU0JkcC81R09LMmlXRjduSjJQU3AvclU1YWkzeXplTWJGQ1Er?=
 =?utf-8?B?RHZoYkZYZi83MEZlRGRDMnlrc1dNeXp6RVBIQlc1bjZxNm13TjlnWm5Bd1RR?=
 =?utf-8?B?MEU0anhaS2k3aERBWDFSaEJJL0lmNlQzOTdMb2EzWStuKzh0Y29jNzIvTk9Q?=
 =?utf-8?B?c0RlN0dML01TaHhDaStqWjlqNnV6dVgycWMxNVp1cWhXSzlTMFZsaWVtUkJn?=
 =?utf-8?B?dzBsaStwSmpIYlRNelQyQjMzTkoxdXBvZldweElSeFBJZ3g3NUpEOGlFSnpr?=
 =?utf-8?B?TlhnSzRoUEZlZDkvUlZEbG45MGs3RE1YbnJScTlVZHJvcFhBSzVpOHN6YVFk?=
 =?utf-8?B?SEoydEUyMmJmTHd2OE95bTdzTUdlcDlkNzFNRDc2czZBM3JsazYrcFlZNVlP?=
 =?utf-8?B?T0xMSXh4Z1ZoVENwTzl3a3VIZUJGOG96N3lLYkpnZHdKSE8xSWhuY3Vmajhl?=
 =?utf-8?B?RTlDb0pDd1l2SWNXTXJZQ3A3cGRudVV2Y2s0T0pjbmI0S2F1eW9SbDRsQ2lE?=
 =?utf-8?B?RE5UNXVjeGZNMnk1eVd3d2ZGbkFDZldnYzJ3UDB1TG1JU0lPOUU0Nk1HYmZp?=
 =?utf-8?B?UGFxWmdUTTdFS0Y0b2kvcWd5MGprcWs3aDMrTmpVR1pabzE1NUZENStBM0ll?=
 =?utf-8?Q?eozvrkOQhlOxi78vAGRRkIflT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f34625d-6bf4-4f78-f130-08da75477ef7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 11:58:36.0746
 (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: 1D2bedc591pckYa9OxlTefJjFwEdhX9IOi/85lWbUb+c+/W8M4dBaCHqw32ltTiDM43Fn8bwUy50xie5sF7chw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7325

On 03.08.2022 12:57, Anthony PERARD wrote:
> On Wed, Aug 03, 2022 at 10:24:26AM +0000, Edwin Torok wrote:
>>
>> -ifneq ($(MAKECMDGOALS),clean)
>> +ifeq (,$(findstring clean,$(MAKECMDGOALS)))
> 
> I think it would be better with $(filter-out,):
> 
>     ifeq (,$(filter-out %clean,$(MAKECMDGOALS)))
> 
>>  .ocamldep.make: $(ALL_OCAML_OBJ_SOURCES) Makefile $(OCAML_TOPLEVEL)/Makefile.rules
>>  	$(call quiet-command, $(OCAMLDEP) $(ALL_OCAML_OBJ_SOURCES) *.mli $o,MLDEP,)
> 
> Also, don't hide this rule, instead, hide the "-include", there is no
> need to have make waist time trying to find a rule to make
> ".ocamldep.make" and failing when not needed.

Hmm, this sounds like I should be reverting the commit?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:59:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379826.613619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2Z-00008h-ND; Wed, 03 Aug 2022 11:59:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379826.613619; Wed, 03 Aug 2022 11:59:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2Z-00008a-Jg; Wed, 03 Aug 2022 11:59:55 +0000
Received: by outflank-mailman (input) for mailman id 379826;
 Wed, 03 Aug 2022 11:59:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJD2Y-0008VV-8m
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:59:54 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8dc4acf-1323-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 13:59:53 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2237E1F891;
 Wed,  3 Aug 2022 11:59:53 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D4C4813AD8;
 Wed,  3 Aug 2022 11:59:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id onucMThj6mKNUgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 11:59:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8dc4acf-1323-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659527993; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=czKyImdl47rA4NZYglvE95xhmnZTGVMG5ZWYxpbUpC0=;
	b=Z8qOwywCbVYzNZ0OekBNN1Wnmt7yrdF8lbJB33EKEXXJq+HUJbjjQZgMAFDFKac+OflP+3
	gAnGW3PxQGe5wr8PexLWzpXfIc0513AVAxYcSTT2unyQ5d2y3W4w38bFTggZR4Qhb05vaF
	7K+jRO/GBYZcyeC0z/6sEXcfji0IqD0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 0/5] tools/xenstore: add some new features to the documentation
Date: Wed,  3 Aug 2022 13:59:45 +0200
Message-Id: <20220803115950.10904-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In the past there have been spotted some shortcomings in the Xenstore
interface, which should be repaired. Those are in detail:

- Using driver domains for large number of domains needs per domain
  Xenstore quota [1]. The feedback sent was rather slim (one reply),
  but it was preferring a new set of wire commands.

- XSA-349 [2] has shown that the current definition of watches is not
  optimal, as it will trigger lots of events when a single one would
  suffice: for detecting new backend devices the backends in the Linux
  kernel are registering a watch for e.g. "/local/domain/0/backend"
  which will fire for ANY sub-node written below this node (on a test
  machine this added up to 91 watch events for only 3 devices).
  This can be limited dramatically by extending the XS_WATCH command
  to take another optional parameter specifying the depth of
  subdirectories to be considered for sending watch events ("0" would
  trigger a watch event only if the watched node itself being written).

- New features like above being added might make migration of guests
  between hosts with different Xenstore variants harder, so it should
  be possible to set the available feature set per domain. For socket
  connections it should be possible to read the available features.

- The special watches @introduceDomain and @releaseDomain are rather
  cumbersome to use, as they only tell you that SOME domain has been
  introduced/released. Any consumer of those watches needs to scan
  all domains on the host in order to find out the domid, causing
  significant pressure on the dominfo hypercall (imagine a system
  with 1000 domains running and one domain dying - there will be more
  than 1000 watch events triggered and 1000 xl daemons will try to
  find out whether "their" domain has died). Those watches should be
  enhanced to optionally be specific to a single domain and to let the
  event carry the related domid.

As some of those extensions will need to be considered in the Xenstore
migration stream, they should be defined in one go (in fact the 4th one
wouldn't need that, but it can easily be connected to the 2nd one).
As such extensions need to be flagged in the "features" in the ring
page anyway, it is fine to implement them independently.

Add the documentation of the new commands/features.

[1]: https://lists.xen.org/archives/html/xen-devel/2020-06/msg00291.html
[2]: http://xenbits.xen.org/xsa/advisory-349.html

Changes in V3:
- patch 1 removed, as already committed
- new patch 1
- minor clarifications in patch 2
- new patch 5

Changes in V2:
- added new patch 1
- remove feature bits for dom0-only features
- get-features without domid returns Xenstore supported features
- get/set-quota without domid for global quota access

Juergen Gross (5):
  tools/xenstore: minor fix of the migration stream doc
  tools/xenstore: add documentation for new set/get-feature commands
  tools/xenstore: add documentation for new set/get-quota commands
  tools/xenstore: add documentation for extended watch command
  tools/xenstore: add migration stream extensions for new features

 docs/designs/xenstore-migration.md | 91 +++++++++++++++++++++++++++---
 docs/misc/xenstore-ring.txt        |  1 +
 docs/misc/xenstore.txt             | 50 +++++++++++++++-
 3 files changed, 132 insertions(+), 10 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:59:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379827.613625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2a-0000CT-2B; Wed, 03 Aug 2022 11:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379827.613625; Wed, 03 Aug 2022 11:59:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2Z-0000Ba-Qf; Wed, 03 Aug 2022 11:59:55 +0000
Received: by outflank-mailman (input) for mailman id 379827;
 Wed, 03 Aug 2022 11:59:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJD2Y-00008E-Jb
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:59:54 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8f58012-1323-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 13:59:53 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6491F3FF36;
 Wed,  3 Aug 2022 11:59:53 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 25A6E13AE7;
 Wed,  3 Aug 2022 11:59:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4MH2Bzlj6mKNUgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 11:59:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8f58012-1323-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659527993; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=9GJyqkGHB0z8ieAkwvJPlzfO0eLrNZxVu98Q0w0DzuE=;
	b=Pz15mCl2nFRFfOrcaEpRtb2Z9kHgmW6spI5uPow+6JOlYkIwv4Ga9IFPdKGfJIdxsj2iCp
	mBpVpa4aMqvJQrnA6LxT7AudXStQML2PzD0HidceropneOVFEdeaR+HkKSTd2Dr0qTr7NO
	vDE/7onEAGt5dy2tbLWVhq8BUbQmi4o=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 1/5] tools/xenstore: minor fix of the migration stream doc
Date: Wed,  3 Aug 2022 13:59:46 +0200
Message-Id: <20220803115950.10904-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220803115950.10904-1-jgross@suse.com>
References: <20220803115950.10904-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Drop mentioning the non-existent read-only socket in the migration
stream description document.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 docs/designs/xenstore-migration.md | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/docs/designs/xenstore-migration.md b/docs/designs/xenstore-migration.md
index b94af7fd7c..efa526f420 100644
--- a/docs/designs/xenstore-migration.md
+++ b/docs/designs/xenstore-migration.md
@@ -129,11 +129,9 @@ xenstored state that needs to be restored.
 | `evtchn-fd`    | The file descriptor used to communicate with |
 |                | the event channel driver                     |
 
-xenstored will resume in the original process context. Hence `rw-socket-fd` and
-`ro-socket-fd` simply specify the file descriptors of the sockets. Sockets
-are not always used, however, and so -1 will be used to denote an unused
-socket.
-
+xenstored will resume in the original process context. Hence `rw-socket-fd`
+simply specifies the file descriptor of the socket. Sockets are not always
+used, however, and so -1 will be used to denote an unused socket.
 
 \pagebreak
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:59:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379828.613641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2b-0000d7-71; Wed, 03 Aug 2022 11:59:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379828.613641; Wed, 03 Aug 2022 11:59:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2b-0000c6-1e; Wed, 03 Aug 2022 11:59:57 +0000
Received: by outflank-mailman (input) for mailman id 379828;
 Wed, 03 Aug 2022 11:59:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJD2Z-0008VV-8p
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:59:55 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c94ea17a-1323-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 13:59:54 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id F31993FF3B;
 Wed,  3 Aug 2022 11:59:53 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B0CB013AD8;
 Wed,  3 Aug 2022 11:59:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SPvnKTlj6mKNUgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 11:59:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c94ea17a-1323-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659527994; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=K6SEriJ/12Ptr9jCpA0LXPaM3BfUwfWAPckT8APK2Io=;
	b=BYvUXsH1TGfMi7zg3aBERgMzGnXneQn1J8YlrmauID169x6K9i4Sy1nMg2RBM5kehqA0ZQ
	RTa842/QxJoRYDfjMXVaWdJB3QQ0HPDtEyTPlTucMfCd2dzZs632Du8swdIYr0qXZQtCET
	GS+piYVdiT+SGsrRfuEkQT1Jvzvt0no=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 3/5] tools/xenstore: add documentation for new set/get-quota commands
Date: Wed,  3 Aug 2022 13:59:48 +0200
Message-Id: <20220803115950.10904-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220803115950.10904-1-jgross@suse.com>
References: <20220803115950.10904-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add documentation for two new Xenstore wire commands SET_QUOTA and
GET_QUOTA used to set or query the global Xenstore quota or those of
a given domain.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
V2:
- remove feature bit (Julien Grall)
- add possibility to access global quota and to query supported quotas
---
 docs/misc/xenstore.txt | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 9134cb7947..4e0bdf5682 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -348,6 +348,23 @@ SET_FEATURE		<domid>|<value>|
 	xenstored prevents the use of GET_FEATURE and SET_FEATURE other
 	than by dom0.
 
+GET_QUOTA		[[<domid>|]<quota>|]	<value>|
+SET_QUOTA		[<domid>|]<quota>|<value>|
+	Returns or sets a quota value for the domain being specified by
+	<domid>. Omitting <domid> will return or set the global quota
+	values, which are the default values for new domains. <quota> is
+	 one of "nodes", "watches", "transactions", "node-size",
+	"permissions", or any other implementation defined value. For
+	GET_QUOTA it is possible to omit the <quota> parameter together
+	with the <domid> parameter, which will return a single string of
+	all supported <quota> values separated by blanks. <value> is a
+	decimal number specifying the quota value, with "0" having the
+	special meaning of quota checks being disabled. The initial quota
+	settings for a domain are the global ones of Xenstore.
+
+	xenstored prevents the use of GET_QUOTA and SET_QUOTA other
+	than by dom0.
+
 ---------- Miscellaneous ----------
 
 CONTROL			<command>|[<parameters>|]
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:59:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379829.613646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2b-0000js-NK; Wed, 03 Aug 2022 11:59:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379829.613646; Wed, 03 Aug 2022 11:59:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2b-0000jc-GP; Wed, 03 Aug 2022 11:59:57 +0000
Received: by outflank-mailman (input) for mailman id 379829;
 Wed, 03 Aug 2022 11:59:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJD2Z-00008E-Ct
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:59:55 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c91c58bb-1323-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 13:59:53 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A607E3FF38;
 Wed,  3 Aug 2022 11:59:53 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6B60313AD8;
 Wed,  3 Aug 2022 11:59:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id cJn7GDlj6mKNUgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 11:59:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c91c58bb-1323-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659527993; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=aEQopuLdWValM7nidZ9WkbS29HDB7GZW9XHtrUpHG2E=;
	b=ZzORzULIhMATytSzjLQiP1BXdg5NirLRZS4Ep079EugR2FMuCKeYWVJFlHt01FEU0IMNnu
	FvY+a9VmZ3+9PmLxySSNSw3qJBC0mAMb3ppeoGn7PMvRslEAXAJT6uLCrK4OPshmRaUXBv
	RkY6l0pTLAketVLSucjmDFgiz6jwRFM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 2/5] tools/xenstore: add documentation for new set/get-feature commands
Date: Wed,  3 Aug 2022 13:59:47 +0200
Message-Id: <20220803115950.10904-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220803115950.10904-1-jgross@suse.com>
References: <20220803115950.10904-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add documentation for two new Xenstore wire commands SET_FEATURE and
GET_FEATURE used to set or query the Xenstore features visible in the
ring page of a given domain.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- remove feature bit (Julien Grall)
- GET_FEATURE without domid will return Xenstore supported features
  (triggered by Julien Grall)
V3:
- clarify that guest only sees a copy of features (Julien Grall)
- add remark that SET_FEATURE will be rejected after INTRODUCE of a
  domain (Julien Grall)
---
 docs/misc/xenstore.txt | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index a3d3da0a5b..9134cb7947 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -331,6 +331,23 @@ SET_TARGET		<domid>|<tdomid>|
 
 	xenstored prevents the use of SET_TARGET other than by dom0.
 
+GET_FEATURE		[<domid>|]		<value>|
+SET_FEATURE		<domid>|<value>|
+	Returns or sets the contents of the "feature" field copied to
+	offset 2064 of the Xenstore ring page of the domain specified by
+	<domid>. <value> is a decimal number being a logical or of the
+	feature bits as defined in docs/misc/xenstore-ring.txt. Trying
+	to set a bit for a feature not being supported by the running
+	Xenstore will be denied. Providing no <domid> with the
+	GET_FEATURE command will return the features which are supported
+	by Xenstore.
+
+	SET_FEATURE for a domain will be rejected after the INTRODUCE
+	command for this domain has been sent to xenstored.
+
+	xenstored prevents the use of GET_FEATURE and SET_FEATURE other
+	than by dom0.
+
 ---------- Miscellaneous ----------
 
 CONTROL			<command>|[<parameters>|]
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:59:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:59:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379830.613653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2c-0000s9-54; Wed, 03 Aug 2022 11:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379830.613653; Wed, 03 Aug 2022 11:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2b-0000qd-Uy; Wed, 03 Aug 2022 11:59:57 +0000
Received: by outflank-mailman (input) for mailman id 379830;
 Wed, 03 Aug 2022 11:59:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJD2a-0008VV-8t
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:59:56 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c97e00e5-1323-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 13:59:54 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 48EA2200EF;
 Wed,  3 Aug 2022 11:59:54 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 07CC613AD8;
 Wed,  3 Aug 2022 11:59:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kHWkADpj6mKNUgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 11:59:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c97e00e5-1323-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659527994; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ChHwKYP+L7F9Vrp9r8qy3rRehupKBifaHrZsydUlfnM=;
	b=PPWi8f543EvL+Zi3NEZ86z69HHLh0jGoyZChUBdhfYAawm7/HM8WgQblzA0LDi2kQoItC6
	ayU1Lr+ip2PC2X6rq6JPj1G7rmOPPETxm2cDgcjaDYtkg+j5XA/9fo/0sdYMCaZL+eMa71
	jIuqCJMlg2Zjml0imWMgwsUqvbNzf3U=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 4/5] tools/xenstore: add documentation for extended watch command
Date: Wed,  3 Aug 2022 13:59:49 +0200
Message-Id: <20220803115950.10904-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220803115950.10904-1-jgross@suse.com>
References: <20220803115950.10904-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add documentation for an extension of the WATCH command used to limit
the scope of watched paths. Additionally it enables to receive more
information in the events related to special watches (@introduceDomain
or @releaseDomain).

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 docs/misc/xenstore-ring.txt |  1 +
 docs/misc/xenstore.txt      | 16 +++++++++++++---
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/docs/misc/xenstore-ring.txt b/docs/misc/xenstore-ring.txt
index 2792d13530..dbc7335e24 100644
--- a/docs/misc/xenstore-ring.txt
+++ b/docs/misc/xenstore-ring.txt
@@ -69,6 +69,7 @@ Bit     Description
 -----------------------------------------------------------------
 0       Ring reconnection (see the ring reconnection feature below)
 1       Connection error indicator (see connection error feature below)
+2       WATCH can take a third parameter limiting its scope
 
 The "Connection state" field is used to request a ring close and reconnect.
 The "Connection state" field only contains valid data if the server has
diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 4e0bdf5682..949b53bcd7 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -187,7 +187,7 @@ SET_PERMS		<path>|<perm-as-string>|+?
 
 ---------- Watches ----------
 
-WATCH			<wpath>|<token>|?
+WATCH			<wpath>|<token>|[<depth>|]?
 	Adds a watch.
 
 	When a <path> is modified (including path creation, removal,
@@ -198,7 +198,11 @@ WATCH			<wpath>|<token>|?
 	matching watch results in a WATCH_EVENT message (see below).
 
 	The event's path matches the watch's <wpath> if it is an child
-	of <wpath>.
+	of <wpath>. This match can be limited by specifying <depth> (a
+	decimal value of 0 or larger): it denotes the directory levels
+	below <wpath> to consider for a match ("0" would not match for
+	a child of <wpath>, "1" would match only for a direct child,
+	etc.).
 
 	<wpath> can be a <path> to watch or @<wspecial>.  In the
 	latter case <wspecial> may have any syntax but it matches
@@ -209,7 +213,13 @@ WATCH			<wpath>|<token>|?
 				shutdown, and also on RELEASE
 				and domain destruction
 	<wspecial> events are sent to privileged callers or explicitly
-	via SET_PERMS enabled domains only.
+	via SET_PERMS enabled domains only. The semantics for a
+	specification of <depth> differ for generating <wspecial>
+	events: specifying "1" will report the related domid by using
+	@<wspecial>/<domid> for the reported path. Other <depth>
+	values are not supported.
+	For @releaseDomain it is possible to watch only for a specific
+	domain by specifying @releaseDomain/<domid> for the path.
 
 	When a watch is first set up it is triggered once straight
 	away, with <path> equal to <wpath>.  Watches may be triggered
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 11:59:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 11:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379831.613660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2c-00010S-R7; Wed, 03 Aug 2022 11:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379831.613660; Wed, 03 Aug 2022 11:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD2c-0000y6-Ec; Wed, 03 Aug 2022 11:59:58 +0000
Received: by outflank-mailman (input) for mailman id 379831;
 Wed, 03 Aug 2022 11:59:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XCkI=YH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJD2a-00008E-DA
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 11:59:56 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9a8122e-1323-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 13:59:54 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 903F33FF3C;
 Wed,  3 Aug 2022 11:59:54 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5039C13AD8;
 Wed,  3 Aug 2022 11:59:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id yM9fEjpj6mKNUgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 03 Aug 2022 11:59:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9a8122e-1323-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659527994; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Ju0t3oFAsoHUjJP7gCi/QFhOCou8Zc/2Mo8LMbRpRtE=;
	b=C/DcFG2LOTnim5byXtdo+TwyDc0Jf3YlnvvOv5ExkqRv2Uh5O9sr7B/ybIp1Qv6bkKjdji
	R/MpdbnT7y8cA5ffEjuI+XA53eJubS0If3qc1OuVn9FSYv1E8tZVRZxIkcdk++Mbiz42+B
	TI4HYub05eWynHf4GKd+ytESPPg6k34=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 5/5] tools/xenstore: add migration stream extensions for new features
Date: Wed,  3 Aug 2022 13:59:50 +0200
Message-Id: <20220803115950.10904-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220803115950.10904-1-jgross@suse.com>
References: <20220803115950.10904-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Extend the definition of the Xenstore migration stream to cover new
features:

- per domain features
- extended watches (watch depth)
- per domain quota

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 docs/designs/xenstore-migration.md | 85 ++++++++++++++++++++++++++++--
 1 file changed, 82 insertions(+), 3 deletions(-)

diff --git a/docs/designs/xenstore-migration.md b/docs/designs/xenstore-migration.md
index efa526f420..b2b1d3d5c7 100644
--- a/docs/designs/xenstore-migration.md
+++ b/docs/designs/xenstore-migration.md
@@ -43,7 +43,13 @@ the setting of the endianness bit.
 |-----------|---------------------------------------------------|
 | `ident`   | 0x78656e73746f7265 ('xenstore' in ASCII)          |
 |           |                                                   |
-| `version` | 0x00000001 (the version of the specification)     |
+| `version` | The version of the specification, defined values: |
+|           | 0x00000001: all fields without any explicitly     |
+|           |             mentioned version dependency are      |
+|           |             valid.                                |
+|           | 0x00000002: all fields valid for version 1 plus   |
+|           |             fields explicitly stated to be        |
+|           |             supported in version 2 are valid.     |
 |           |                                                   |
 | `flags`   | 0 (LSB): Endianness: 0 = little, 1 = big          |
 |           |                                                   |
@@ -117,7 +123,17 @@ xenstored state that needs to be restored.
 | rw-socket-fd                  |
 +-------------------------------+
 | evtchn-fd                     |
++---------------+---------------+
+| n-dom-quota   | n-glob-quota  |
++---------------+---------------+
+| quota-val 1                   |
++-------------------------------+
+...
 +-------------------------------+
+| quota-val N                   |
++-------------------------------+
+| quota-names
+...
 ```
 
 
@@ -128,6 +144,22 @@ xenstored state that needs to be restored.
 |                |                                              |
 | `evtchn-fd`    | The file descriptor used to communicate with |
 |                | the event channel driver                     |
+|                |                                              |
+| `n-dom-quota`  | Number of quota values which apply per       |
+|                | domain. Valid only for version 2 and later.  |
+|                |                                              |
+| `n-glob-quota` | Number of quota values which apply globally  |
+|                | only. Valid only for version 2 and later.    |
+|                |                                              |
+| `quota-val`    | Quota values, first the ones applying per    |
+|                | domain, then the ones applying globally. A   |
+|                | value of 0 has the semantics of "unlimited". |
+|                | Valid only for version 2 and later.          |
+|                |                                              |
+| `quota-names`  | 0 delimited strings of the quota names in    |
+|                | the same sequence as the `quota-val` values. |
+|                | Valid only for version 2 and later.          |
+
 
 xenstored will resume in the original process context. Hence `rw-socket-fd`
 simply specifies the file descriptor of the socket. Sockets are not always
@@ -145,7 +177,7 @@ the domain being migrated.
 ```
     0       1       2       3       4       5       6       7    octet
 +-------+-------+-------+-------+-------+-------+-------+-------+
-| conn-id                       | conn-type     |               |
+| conn-id                       | conn-type     | n-quota       |
 +-------------------------------+---------------+---------------+
 | conn-spec
 ...
@@ -154,6 +186,17 @@ the domain being migrated.
 +---------------+---------------+-------------------------------+
 | data
 ...
++-------------------------------+
+| features                      |
++-------------------------------+
+| quota-val 1                   |
++-------------------------------+
+...
++-------------------------------+
+| quota-val N                   |
++-------------------------------+
+| quota-names
+...
 ```
 
 
@@ -167,6 +210,10 @@ the domain being migrated.
 |                | 0x0001: socket                               |
 |                | 0x0002 - 0xFFFF: reserved for future use     |
 |                |                                              |
+| `n-quota`      | Number of quota values.                      |
+|                | Only for `conn-type` 0 (shared ring).        |
+|                | Only valid for version 2 and later.          |
+|                |                                              |
 | `conn-spec`    | See below                                    |
 |                |                                              |
 | `in-data-len`  | The length (in octets) of any data read      |
@@ -182,6 +229,22 @@ the domain being migrated.
 | `data`         | Pending data: first in-data-len octets of    |
 |                | read data, then out-data-len octets of       |
 |                | written data (any of both may be empty)      |
+|                |                                              |
+| `features`     | Value of the feature field visible by the    |
+|                | guest at offset 2064 of the ring page.       |
+|                | Aligned to the next 4 octet boundary.        |
+|                | Only for `conn-type` 0 (shared ring).        |
+|                | Only valid for version 2 and later.          |
+|                |                                              |
+| `quota-val`    | Quota values, a value of 0 has the semantics |
+|                | "unlimited".                                 |
+|                | Only for `conn-type` 0 (shared ring).        |
+|                | Only valid for version 2 and later.          |
+|                |                                              |
+| `quota-names`  | 0 delimited strings of the quota names in    |
+|                | the same sequence as the `quota-val` values. |
+|                | Only for `conn-type` 0 (shared ring).        |
+|                | Only valid for version 2 and later.          |
 
 In case of live update the connection record for the connection via which
 the live update command was issued will contain the response for the live
@@ -247,7 +310,7 @@ by a connection for which there is `CONNECTION_DATA` record previously present.
 
 ```
     0       1       2       3    octet
-+-------+-------+-------+-------+
++---------------+---------------+
 | conn-id                       |
 +---------------+---------------+
 | wpath-len     | token-len     |
@@ -256,6 +319,9 @@ by a connection for which there is `CONNECTION_DATA` record previously present.
 ...
 | token
 ...
++---------------+---------------+
+| depth         |               |
++---------------+---------------+
 ```
 
 
@@ -275,6 +341,13 @@ by a connection for which there is `CONNECTION_DATA` record previously present.
 |             |                                                 |
 | `token`     | The watch identifier token, as specified in the |
 |             | `WATCH` operation                               |
+|             |                                                 |
+| `depth`     | The number of directory levels below the        |
+|             | watched path to consider for a match. This      |
+|             | field is aligned to the next 4 octet boundary.  |
+|             | A value of 0xffff is used for unlimited depth.  |
+|             | This field is valid only for version 2 and      |
+|             | higher.                                         |
 
 \pagebreak
 
@@ -406,6 +479,12 @@ A node permission specifier has the following format:
 Note that perm1 defines the domain owning the node. See [4] for more
 explanation of node permissions.
 
+\pagebreak
+
+### DOMAIN_DATA
+
+
+
 * * *
 
 [1] See https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/designs/non-cooperative-migration.md
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:02:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:02:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379856.613684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD4s-0004Yp-Eo; Wed, 03 Aug 2022 12:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379856.613684; Wed, 03 Aug 2022 12:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD4s-0004Yi-C5; Wed, 03 Aug 2022 12:02:18 +0000
Received: by outflank-mailman (input) for mailman id 379856;
 Wed, 03 Aug 2022 12:02:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJD4q-0004YW-LO
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:02:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJD4o-0007Z2-FM; Wed, 03 Aug 2022 12:02:14 +0000
Received: from [54.239.6.189] (helo=[10.7.237.20])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJD4o-0001Io-9n; Wed, 03 Aug 2022 12:02:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:Cc:
	References:To:Subject:MIME-Version:Date:Message-ID;
	bh=tqqqxGtEV4G+2l+h9SD9LaY+UvqrDzHj83h+UhNhUGU=; b=f2pnLN8G09efuCZElEHHYjnUVl
	aSotKt6nKFfvysmHF6X5wj83z0TV8I1BU/PNB9q+VAWZFeDwvom+ZgpfoNbw6+VTN677SgENWokQb
	IFMS1BvXLKOozEiB5y+PAxwQiFl6H3/5+UcMHyOsAlMaQF1HH6p3DTA6S1qGUMXw6fQA=;
Message-ID: <9a72a1ef-c332-7dd3-b84d-baf34f9d7d9f@xen.org>
Date: Wed, 3 Aug 2022 13:02:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [xen-unstable test] 172089: regressions - FAIL
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <osstest-172089-mainreport@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <osstest-172089-mainreport@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 03/08/2022 08:13, osstest service owner wrote:
> flight 172089 xen-unstable real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/172089/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>   build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172073
>   build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172073
>   build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172073

I was going to force this flight because of the libvirt issues. But...

>   test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172073

... this is not a test related to libvirt. Can one of the x86 folks 
advise whether the issue is benign?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:05:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:05:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379861.613696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD8M-0005EL-U8; Wed, 03 Aug 2022 12:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379861.613696; Wed, 03 Aug 2022 12:05:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJD8M-0005EE-RJ; Wed, 03 Aug 2022 12:05:54 +0000
Received: by outflank-mailman (input) for mailman id 379861;
 Wed, 03 Aug 2022 12:05:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJD8M-0005E8-Hr
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:05:54 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2041.outbound.protection.outlook.com [40.107.21.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f6454e3-1324-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 14:05:53 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7325.eurprd04.prod.outlook.com (2603:10a6:800:1af::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 12:05:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 12:05:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f6454e3-1324-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aXubHTfTQBgaTnzYXBaRoM3EBzpWP3GSnClxTDdeza6kXMfcefhBo82uB+dKUMR2LIZq2TyOFx2KshFveQtFNCXbgNUf6U0mg3ovf6PYuT8eKJ44qnjUfxJfw+cltLaRRyMmIq0RqDreios5m/bE51qi8NnL2wT/CyXa8fsuN0AEAjtklFvI6AUGbDL5X1IvIluNxaP5upFc3ZXFWM5ZBk37DkHn7JPKxNDuDL08YwsDJnUgYroNPDzLrXs629xtpa2lCiGlwNA3XJZukd7GimmIjGKmeYfCklHJUoshdpTWK7v5QpxXoygktPKUpIoUmdtbsFkyW35VXBiBPLeCqQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GhzoG02hON9yL6MdjzVu4l9PeafaiB94RisvywS0UHs=;
 b=MxHuv74UYZz35d4Zf1qJITZB/C/MraFPAUNmbg/zliKmGB3UJdH3GWvXL0jVxr3in47ojLFwtfW3A0/sy1A6r6D/LEv5Fjs3lSeaNeSug/KyD6xbErjhezkNMR/tYCJFb3/DjFCntFYTQ36kawkLlXwsGa6UdURJWM2VGQHFxrQNrELSUT1hPO4cxU5oXmjfAJCrvCsZtp7ukWi9UQB4oS7+bRl03hLTnC9wGQn7Xm6byqASoqvzLubWR7i8Y0oLD2xjTaW3q4hAQ2p94PG5vKS8vZVLRponPcHCdpIuHynIzlbDsulT2di0fY62RqhOTR33gcXkrEwvDtibs3a6Jw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GhzoG02hON9yL6MdjzVu4l9PeafaiB94RisvywS0UHs=;
 b=qxHqg8oLNLdeuModks/BvHfzfCrnQ8pdsAT9Y5LO6UG0XBKgZ4vExlgpT/d6X0w9OiRKYbuUrAkn1Ufthr7kXRqFYyrH3zaBgoZ4STWVKv1XbNhkEBfMZsLkhhD4DKFoYoRHRDaT2ypSg20xNZQzs4PcmqC83Ty88ctVTsLiyu8q+OD8t+BAFjgbYAUOyQa5lfxl2XekMZ/0gg331AG5HGaPmO0S9s6pPfcUcG4X+BtMbIxiL+m8ghEeXeXYMsKiGVk2MTVk0dDkNGCEcsn4prL6CwMSETkT2JW6TKewBDWQoDpbcczK+Oi9cjLtHAfzzBpxC4hkJEfNts9T1aP/Ag==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
Date: Wed, 3 Aug 2022 14:05:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0155.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a4164af4-2414-4e6e-3d94-08da754882ee
X-MS-TrafficTypeDiagnostic: VE1PR04MB7325:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bwb8t+cBgISppRpKRaJ7kSwBeEb/YEWMwRU3ygjzs4To1gsInxaHWcMYzV+GNJRlzalW3iLF3DPBShUoNUp2T66oyIuHBNRJ6vdGsv0/ccmihCuaowQrz+B7DRBi1xkdPiGiIwDTMV6pllA833zlZvVD1gKyPcrARPBeJIuGbKTzSIwVwgEiUUlDqlzkRJ8CZX2aWjSZlJPwg3aT+SFhP7NipLTEvm6WnenvWDEfL6MAWn3rfYjYoa2979reqduDTivg8PnAZUt5UeqKWqgI6+qgyGzr7cKWDUgvyWZBVf72m11suK3tEhn9qnLchiJ/BCO8neVFgNCd8CBN+5vUBOdG5uDvUtz/4gxiVHmpJojDY6rYJkZJXbPfJrXPtIiwuVkgQ6SgajwSSYoOhO9oYZZj2D8ORXbABet42PY0PKGMcb3tYG9j+FF4+D+QfcRb6Z49bpeI6d7uv4EyFKNo9B/sL1Ktfddrul2mPvFDu2cPuHP65fVqHt7fFZnfJ5QcdKig1G5LS4xv3wDc/eugjkBzw8QEqOtTqUtY0NrUNXrU/doRCjtB1LXDP20wlfh+/ph+x0cectaC1mNUv0/hWHV9VnYrBPnmv8JA6ZzbzrOaN2n1RUvjyj4d+xKU/oy/ztYHJUQYSIP5o0yaLJMv+130DzkEzHt2sVm7oWTYd6NruY/lvWlS4Yxd//PLSiSZzkd1KllQZUqVktHNNYOJ0qxjT0i1REUnbI8c/iLVx5IvmfGPv+qp1x3LlwhYDZWcbSN04MuM3n20YznDoom4vUSzZYgyUbOjSdLb0EZGvr6sLMUSAkPk94vcRNC7m/PiUSRxpjEIbKvnpyOfB7KdsA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(39860400002)(346002)(396003)(366004)(31696002)(6486002)(86362001)(2616005)(478600001)(6506007)(53546011)(6512007)(8936002)(4744005)(186003)(41300700001)(2906002)(26005)(38100700002)(5660300002)(36756003)(31686004)(66556008)(66946007)(66476007)(4326008)(8676002)(316002)(6916009)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHE4RDd1czcyNDd6U3k5SWZ1NTlYemhjcEQwZXBBYWJWVDRMZnkxdzc4NUx5?=
 =?utf-8?B?NWU2ejVzNS9ha3hpMG1pK25kZzJuWVltRDB2OEtKeHdFNENoNzVrY1lyVFQw?=
 =?utf-8?B?ZDhhVDNlaE54Ym5XbEo2WGNJV3FEUUdDQkdmeUlSQjd5bWt2OTRoNWZ5akpR?=
 =?utf-8?B?RU9nWEQzQ01BaDVpWDd2WGp5cnY2Q2IvVzdSMnBOazQ0MWNzaGgzcDRqQUpx?=
 =?utf-8?B?RitxMFh2S2xTWWxjc1dTbldNT1BxeXFucStMWXdWWmJLUllvaGxwRklva3B1?=
 =?utf-8?B?NzlaSWxEZTdZL2ZsM3RsVVg0RTU0aUZ6R2E3SEMyY2tOUkVFYmlMOTQwWS9t?=
 =?utf-8?B?WkZIL0N6UVFSQ0xENDlySjE2cXRXSHNYK3Nkc0lZMFZQSitndjVhYzBwbDQ3?=
 =?utf-8?B?am9xczlRdU81dEJXNEVleTJhYS9PLzVieUxVWDQwU0VLSUxjUG0rMy84SUs2?=
 =?utf-8?B?dEJwUkNNMXVzdFhVbzY3d2JKT216QTg4WjI0K0NPR21nOVlUWTgvU2pGNE5n?=
 =?utf-8?B?SkJmeUZTcEFJV3Y1eTVlZGllQTZldmdQOFhMN2U4V0R5VlVHVUFrc3p4UkFa?=
 =?utf-8?B?M2h6bVFuVkZJWkJZUE42dDNYVldxWGxMN0U1dUVNNzlSaFMreUhhSmlZRGN2?=
 =?utf-8?B?OXc3aDlaQXB0MjR5MEg4MHRZbGRVbXZob0xWTUN4NUZDMWlDS0J4QWsrRitQ?=
 =?utf-8?B?ZEhHY1JmUk9FWCtmcGRjc1ZaTWtUa05MRXhDdk5wSkxwbmlmVXNTcmF5blo5?=
 =?utf-8?B?Nm9UMm5kcjNXeXp0aDdyVXFoMzZtNDEydFpoVnN6QlhIQXIxLy9HankxRFFY?=
 =?utf-8?B?bFhMOEdLbTZjOURzeUwvYVp5ZE83MDRla2tTS0FxWVIrOGY3MnBWYUx2U3g1?=
 =?utf-8?B?eUtmYThPTTNqNHhlZkkvQkJlc1V2ZXFQT01zRmhIaDNhdmpnTVFXSEw4Um12?=
 =?utf-8?B?TVdjcTZBcVhqclNTQ2NKam8xeFBLNnltNStZNXZNTE5TVWdsQXNEaWVwVDN2?=
 =?utf-8?B?RGRhendGaFVJbHFjZ1pGZ05JL0pCdjdqUWw2RUZqZVAydW5DQWxLNmsvRTgx?=
 =?utf-8?B?Wk10WWRuejV5bG1RcmNGems2NHJmUHdIaHlrd3psMWUycDRUaU9wdlUrNStK?=
 =?utf-8?B?eUtTbDA0Q3JPRGIxdnNsakYxcWlYK2hJQ3VZN1ZtM3RndmtUSm1wVk5MVkYw?=
 =?utf-8?B?d2lSUzIxN0dUS3NiYU54eUZEeURhUHdORDRYL3E3bExXSWZpTWxselNjZVFx?=
 =?utf-8?B?Rnh1c3M3TGRwRGFPMVJ6MmpKeTQxK2FZL3Q2dUMyZGFVWXh3bEhYeGR0djR3?=
 =?utf-8?B?ZENqVW1yVWl1VFg5QkZmZnZNN2Q1Zy9ReUh1b0ZGYm91b0hSNG1BRFMxQlhk?=
 =?utf-8?B?Sm9GMVZELy9MeHVycVZvRUNTRWxLVklBSWVxMHEyRWZlOHJnaUZKa2VYZm1S?=
 =?utf-8?B?M1BHK2RlN1hGQUxzNmd2am9uNUVDWmxPdDZRTGJEVTQ5WUJQQStnOXBvZzJp?=
 =?utf-8?B?SWgxcnRhTmNpRVhOOEMwU2dSZTlPeStua2NoQXRadk5uUDkxc1c5U0M3OTda?=
 =?utf-8?B?ankvbnNxVkhTQXFVUjdYcUVxYm54U0doUFd1VnJpSS9ET3hyNEtESG14Ky9j?=
 =?utf-8?B?K2k4TVdTUjZCWmJHc1RUOVdjZHAzV2VOdVI3VXNCZytiMzFkTlduVERPQVFx?=
 =?utf-8?B?RXQwd2ZEN0hxL3ZLTXZVL3RGdkpNa0x5WXczcnh2ZXUzT3VDYXpWRXBtL3Zv?=
 =?utf-8?B?eUpTV3BTVkVtR1hGZlZWSnhKcmpBUHE3YUprUWozVW1SR01La0dkZm1NMzN1?=
 =?utf-8?B?VVp2eCtoRWhpRzBJTFZnaW55SzNzM1RSZXVUa0RXeWJQWktzUGY3bEkvWE11?=
 =?utf-8?B?T09vWk5kTWVlTjJxNE9mdEJwZlU2Um4rUGMwNlF5UmpwUFh6V2VhTmN3dkdS?=
 =?utf-8?B?Qi9xdkcwOUhiN2JVTk15MmQ3OXhJQWNkRWdna004Mm1IU0ZHd0s2WXVxVEY3?=
 =?utf-8?B?S3Y4STZqRWYvZThvVmlaaEtCeHdKZ0l4VnUyZUEweEZCalppclhwYXIrYzl1?=
 =?utf-8?B?ajkySVR5MGQ3cEZPYS9mOE4vZFd0bmZlN1UwT1ZLRmhLdEdWd0NUWTc2VnFM?=
 =?utf-8?Q?1BKUDz2Qu+Zi/EzI4uCJBJcfm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a4164af4-2414-4e6e-3d94-08da754882ee
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 12:05:52.2030
 (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: qAMZVhsA8TKEkJ5d2Rdyo2N2etTVDknkPfmOBSZeDrUYlRNmm62Fa3F5/5OCm1Ia1GIWBqRPTgKxP50S7/jxRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7325

On 03.08.2022 13:57, Bertrand Marquis wrote:
> When calling python tools to convert misra documentation or merge
> cppcheck xml files, use $(PYTHON).
> While there fix misra document conversion script to be executable.
> 
> Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
> Fixes: 43aa3f6e72 xen/build: Add cppcheck and cppcheck-html make rules

Nit: These two titles would want expressing consistently. If I
end up committing this, I'll try to remember to adjust.

> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:11:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:11:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379869.613712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDDG-0006h2-HH; Wed, 03 Aug 2022 12:10:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379869.613712; Wed, 03 Aug 2022 12:10:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDDG-0006gv-El; Wed, 03 Aug 2022 12:10:58 +0000
Received: by outflank-mailman (input) for mailman id 379869;
 Wed, 03 Aug 2022 12:10:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJDDF-0006gp-Hi
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:10:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJDDB-0007mk-UA; Wed, 03 Aug 2022 12:10:53 +0000
Received: from [54.239.6.189] (helo=[10.7.237.20])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJDDB-0001iF-NN; Wed, 03 Aug 2022 12:10:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=4Unut49enX8bxfMPg6t0yab8a9KB7r7R6tqk4tTVrBQ=; b=14YDOqmP0Z3Z5buqg3uX5b3eDh
	4vTCbxGnaNOt2aNKe2I6U30HBxIdn4+Y/5ejJgRffcXiUQ97b9/GTWWz95HxkkrrJytWTWF4mC9xz
	9DbUIvNqVY9ytPZdCMkMg28FE1BAi1tQQr/CVM6f2l+CysVngjX5aI4t0qhwzJ1y9B/0=;
Message-ID: <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
Date: Wed, 3 Aug 2022 13:10:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
 <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 03/08/2022 13:05, Jan Beulich wrote:
> On 03.08.2022 13:57, Bertrand Marquis wrote:
>> When calling python tools to convert misra documentation or merge
>> cppcheck xml files, use $(PYTHON).
>> While there fix misra document conversion script to be executable.
>>
>> Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
>> Fixes: 43aa3f6e72 xen/build: Add cppcheck and cppcheck-html make rules
> 
> Nit: These two titles would want expressing consistently. If I
> end up committing this, I'll try to remember to adjust.

There are actually a few issues with the Fixes tags. From the doc [1] :
   - the sha1 should be 12 characters (rather than 10)
   - the format should be:
       Fixes: <comidid> ("Commit title")

Cheers,

[1] docs/process/sending-patches.pandoc

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:12:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:12:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379875.613724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDEt-0007G0-SY; Wed, 03 Aug 2022 12:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379875.613724; Wed, 03 Aug 2022 12:12:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDEt-0007Ft-PL; Wed, 03 Aug 2022 12:12:39 +0000
Received: by outflank-mailman (input) for mailman id 379875;
 Wed, 03 Aug 2022 12:12:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJDEs-0007Fj-Jp; Wed, 03 Aug 2022 12:12:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJDEs-0007oZ-HQ; Wed, 03 Aug 2022 12:12:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJDEs-0005z9-4i; Wed, 03 Aug 2022 12:12:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJDEs-0007Hk-4G; Wed, 03 Aug 2022 12:12:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wgnhdL/CpaThQYuxEVSN2VG2D/KtWM49f8xLnxgmbBg=; b=xtBSbRhtciQFwAAXO36AABPJuI
	deqDqS6G+XZCniSaozA4rg7lMWhF2NPhXnUSzgmRMfqhfWKSYejNNVTEp8Eow0SENfSyKWFwSWlYh
	r3nqT220jE9RjPUXOhGo0mOIIK/9U/GscNotqyr5g2DePCGVPL4loWODYSvZUIiasF4A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172095-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172095: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=c0d9adf220dc0d223330a7bac37b174132d330ba
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 12:12:38 +0000

flight 172095 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172095/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              c0d9adf220dc0d223330a7bac37b174132d330ba
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  754 days
Failing since        151818  2020-07-11 04:18:52 Z  753 days  735 attempts
Testing same since   172095  2022-08-03 04:20:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 117951 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:13:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:13:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379883.613734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDG5-0007sm-9l; Wed, 03 Aug 2022 12:13:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379883.613734; Wed, 03 Aug 2022 12:13:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDG5-0007se-6m; Wed, 03 Aug 2022 12:13:53 +0000
Received: by outflank-mailman (input) for mailman id 379883;
 Wed, 03 Aug 2022 12:13:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJDG3-0007sW-UD
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:13:51 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2082.outbound.protection.outlook.com [40.107.20.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc02bfc3-1325-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 14:13:51 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6682.eurprd04.prod.outlook.com (2603:10a6:10:10c::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Wed, 3 Aug
 2022 12:13:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 12:13:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc02bfc3-1325-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qa9rSq0Uro6zoTxFy70ozEJhJEdbTDqLxEHGwuuWYQNaeecghUEICtWKoI8b/vRrFlpYZMYGhulWA+zmR+RVcwF5gi4tZBu5QEU0kb65h4CeqeXuvgKtlxsLY3sMKeuc6dcnbETr1SASBJM0okaYDIQWdCmkrvJ+5Ls+lvR9ptUjNZKATYhC7O+CzpK5mbm+fU5wwsN0hb4Ad6c0K8a4mnof/LzCuzdFuVHh8vCiDuMQaC8olHxPZXD51LxTvq309NQtXz4oCPkFdkU8rBhOKOxJoaek7S6XVZco7IIIOf/mW09ucLjATXTWrnfvB4AiVuL47QqOKSGxK88zXgPzcg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hl2JhSmIMnd9IWE3IZoSu6cJOSzVsL10e79SR+Bny9Y=;
 b=gRizj/0Qic7BAbuxDg0wgjcfRjdSdfBZ8mIR0EGc/xIa9xBNzM8vASsWf1NeYJd78G87dElernO0YzrxKUqx6ey5M5imFyOfmGEYLXQFOLNHVwrFRcOaDdavLdrzvYGQ7WzkmPu+egISbNmHPfO2f1/usBPSXLyn9gpUN2P4uP2DQZMEz7I+O8m1E+YNmU2OYqRFyT9pnjnS0H2tVP0b2vuXYHkAx1Vya5PjHcenXnN6iKfun8CVmjthpqKf7VlkbtQRv5/aNkrOzLzam8KnxrTdIHtvP5+Ehfm/SeFL4Nzrb8cceuesD6vax+nPxVcWZfxLLzvuhnCOYsrCTV7IOg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hl2JhSmIMnd9IWE3IZoSu6cJOSzVsL10e79SR+Bny9Y=;
 b=rGr2Asgj1TKysf6Z/faEUSBoz6WJG1ixB8pUQKLNUeVfN2SuCSnmTpjiKdSTQV6AfMlKY6TV0DahwrTvC/SqzP6FTVbjN352C3RCHMI17jON8DVpZm9afN2nSzdh5OdVw5yJdnVewm8htzuKdK5CmyuSf0VBdiJYfGgCL3+C65JF67WAuUdCvVt1GOGRjFujtxgajfHXUgQ4/h0rU2g0XN97UJPurls25i7Out70jAaOPHpU69+sQQfKYbCBYRN+mumVe+FA/N9nJZvUMGVpovOHjGLoTbB8Eh/DmvS2WjU/FdHBYyEm6jRie+fGZJRpxL9qr2ch1Ks1eBsH1ag0RA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d5f37740-aeee-8cb1-7377-a92d43fe1898@suse.com>
Date: Wed, 3 Aug 2022 14:13:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [xen-unstable test] 172089: regressions - FAIL
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <osstest-172089-mainreport@xen.org>
 <9a72a1ef-c332-7dd3-b84d-baf34f9d7d9f@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9a72a1ef-c332-7dd3-b84d-baf34f9d7d9f@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0169.eurprd04.prod.outlook.com
 (2603:10a6:20b:331::24) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 72422137-cd08-4161-6b70-08da75499f48
X-MS-TrafficTypeDiagnostic: DB8PR04MB6682:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PiAVGsxyBTuj7xkh7GSnGaADQlAXV4GTdglmO/GYSbT2JsSfSRQPrUJMIuHn6D8bLfKo5femJyix3Jv6Mn5Tnrp8McLIcTuy+dUuhaa4qvqfVeFiblx7gnnW47bzBnEXaQIp/E2uy1wao/vWrHZm/fmVHdX+0uC1ALfm/Lz0WHUdfCaSglM4pkOnJLUDDekJYEINYaqSMaUcKFrY11C57lgoO2xbBDI5eH98SWfb51KYpA6Fkp8Cdvx+Ks7yKStGYx5SQUg9ZUlIAijcFegU/FhUoXbAHj/Zc37DCzb3hWEpo8eSx0UPd73e6vBDDAe5nf3iJmkMDD9R9r7WBwBuigglBkr6FlgFgKQg9czKiCQJlmRWQ2TtMLKgTEppLuCImFpKdZVGOnvzIizRdaslNbgpRJbOePc/5SI6c/rr0vonbtc9IMNnjSdF5auTTfqA0s9XbYEpcQt0kLVM2MXL7Ch4W9xh9UHO/FkcPRWMVBiKJdY978/+8fDLhxxAx5EjGKn026uaFtYf4tY7hmuDDHZ6c4OqlTKD+9MvO+Bad4RQtu+emwxMfJoa1tJFluZ71cwidTmCbJlsd5lTfM0ef3rmc9opC17SSt3q9yNM+x3Cq8cY9XvbSf55WLHnLuzouZs6uf6PRfeXFhx+p3foqOQyXNlc8rhcT0z9ZQi34TurCj7DGaS1XP39GM1h1LKD3aVjff7UXzf3fAaO0ZZ2q3raW2Jluf9SGcAiUnnt4g5nfVFeTgC7Uz2LjT66eh0CzXXZ4bokN2tdkVV13juOl1hgKDVuhOHkAsGq5Gv2ewl51PtiqJwqHdne0F5mhNciznbwdL/RZOwwu7wj/MsbHEpOlIYjh9armnoWSMbJMWgN4uWBYPd6TkXiCBKeTyMK
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(376002)(396003)(346002)(366004)(66946007)(66476007)(8936002)(66556008)(4326008)(8676002)(478600001)(38100700002)(186003)(5660300002)(6486002)(966005)(316002)(31696002)(86362001)(53546011)(6916009)(6506007)(54906003)(31686004)(41300700001)(2616005)(2906002)(83380400001)(36756003)(26005)(6512007)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3B0a2FSZ0VEalJKcXBOdXRYMGFjUXpBQitEWExRaFBuZXNtYlEzWGtnWUtn?=
 =?utf-8?B?QW5NL3JyRzNWYmQ0cGw1VjdQeFF2di9wVEhZZUdqM3F3T0JnSDVxaVpBL0Zx?=
 =?utf-8?B?THBKbldlWnhNYVV5cm1ZN0VnVkV0MkRjL1Z4UEJpcU9RM3R3cHEzVFFQOTIr?=
 =?utf-8?B?QVBLZENQMmFCZWxsaFQwVUtkM0lmUThsU1V6a1haN2YwY1RpVmNqUUN1bHR5?=
 =?utf-8?B?eEFMdzQxeHFGUTdoSnRlTWYzVWdVNGxMNldqOHRsVTVwdjNUTVJiandIdXJP?=
 =?utf-8?B?OXMrQ2xxZDdBdEVQWC9zeXV4K3NRaEpqcDdnYi9xOEJQaVRlUWRyWGFTK2p3?=
 =?utf-8?B?YUFYQ0JZdlExSjFHcnQ1Z0xqYUY1UzdaaklRZ2tERUhjQ3hiZG5NK3JFRldr?=
 =?utf-8?B?MEtGRHFGendOUUpINzZQTlBJM1M1UFhJb0F5cFM5N090OHRJZkFDYWF2TFA1?=
 =?utf-8?B?TFQ5d3NZVVNlK21qWXpiVWRKYlBERXdsbmlhYUZhbGRQeFA3UXpHNGRWNjdi?=
 =?utf-8?B?STBVS3hhS2xZSFdIOUNWR1JZeUw4WXA4aUR4S21VTmZ2Z1grRkl6Y1RGelVq?=
 =?utf-8?B?dWVhbjd6LzVYR2M4c1krbU94NXk4em5qOWc4MGxFOExsQ1RwREIyWHE1NWhi?=
 =?utf-8?B?OWtRcHRxK1lnMm5NTWJzWEdScW1HbFVJeTlqVVI5NGVSZG16a000T3VJKzRE?=
 =?utf-8?B?Vi80L24vL3hxblNZZWttNkNKOUJVSXA0WFFZSzVrVlh6eGFtU0FzWkVIdFZC?=
 =?utf-8?B?c1Y0YlZQYzRIOVUvNkdMUW1vU1Y3U00zYVVDY21IOUF2K1hMeTZabGNFdldi?=
 =?utf-8?B?dk1iYUtBV0hjTXJPNjBkYUwxbm1YQjlLY2N6dWhYT0VsTCtWOUYvTis1QVJz?=
 =?utf-8?B?M2VHRCs1TzFhOFo3ellOYmg2amtrU0pHdDc1S1JFTHlvemVIZGtXeFV2dkZT?=
 =?utf-8?B?dS9IZFczSEtjclhDd3JlTHF2NGpTVmJiZHE4SWVHTDNlUTRCZDl1S2NtdGcz?=
 =?utf-8?B?WFVHdlVXYUxwMW9qakVBRWJRcnhrRGRYalJKZkdFaWpVSFZUZEYxTDNMSFdS?=
 =?utf-8?B?SUUvb2xwQk5NZ0dWYTdIOExzeFRrbHpBdGlkcGc0V3NSQU5VWUlEUk5RWkht?=
 =?utf-8?B?ZGNWL1Q4dUFMbDFTNnh4V3dSajc4aUNNY01OdG0wUGE5cEgydHpId0VmZDQ4?=
 =?utf-8?B?bWdLSVp2Rkg2OU1kb1hXdHAyQWNEZjJ4dzlCRXY1VEVXaFFNZTB5WEx5MFZR?=
 =?utf-8?B?UHJPR2czV0xMTWU4WGhJSExJay80VWJJdXhIUUd6NFJXaTRBL095azU4NjdT?=
 =?utf-8?B?OGY1WlJFTWRlbldhQzBGSjVHSDJaRlFIbjJXZHhMSnJ2c2NmUW5XdGppNWcr?=
 =?utf-8?B?aklRc3AwQzVIQklVb05iK0hyZEoxUDk3MlVORHF2YU94YWtnSTBiZUZweHNj?=
 =?utf-8?B?UXl4dU14SWVHb2tZM1VPeFB4MkNhUFI2WWJWeHpLdlhiME1DYXBaTjV5SGNq?=
 =?utf-8?B?VDM4RHJlMWo4akowcm5maWoxczRNWkZVdXMxZVByWWUrMUVGdXp4dWlSSXJw?=
 =?utf-8?B?L29ta1R3aFlmZWtPQWNKNm03ZFRGeUNkMXQwZk8vaGFPSXdGTFkyUFFWZE5N?=
 =?utf-8?B?dldvajVRT3phNnpHM0VZL1NnTmt2L08wendCSDlTQ2NEbkgzOUJCZ0tXbk4r?=
 =?utf-8?B?MGN6SlJ2bXU0SlFUdVBkTStuUnpCSUNBTU0vOGFsWklYUXVmeDBnOS90RE9q?=
 =?utf-8?B?YTJlc1VGQXJ3RlM2TVAyenhqN1RUTERPSGEwOGF4N05BU0tIbEEyN2JVNUdV?=
 =?utf-8?B?NlgyZWhTTllvcmRyWFJ3SEZYMUY0WHdoOGFpQ2lEVktUUDdMcnJpZUJZeUpl?=
 =?utf-8?B?c1ViUndTbzIxUFZLT3VnbnRZajZEYW56NE1JWmFLY3MwdklaYWJqMDF3azZ3?=
 =?utf-8?B?Q04zMHJZRWliS0FUR3hoT3NuU3V1eDRST3MvOW9IcHFmSlB3WDhXa20yWlIz?=
 =?utf-8?B?cGUrSzNuNlF5SFhnRkZINDZCdk1YcC9XMXhXYUs5RWliWUlyMGpmVHlyWmcv?=
 =?utf-8?B?Z1BLUUk2VWZ2VEt3ZXFwNVFyc09jRDVXUlRZMlZqeWlwcEd1aWVuTGNHd1A5?=
 =?utf-8?Q?gytE5LD75/15FWRQV1b3bKLIe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72422137-cd08-4161-6b70-08da75499f48
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 12:13:49.2826
 (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: aGiEdK0OM7xRaYBj/pUawlOD6RWBCSJd5Dwa+xtT9obKWFT1C7Qt9eNX1XPc0wYKzOu/wZDzTwHZ62WpW3HILw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6682

On 03.08.2022 14:02, Julien Grall wrote:
> On 03/08/2022 08:13, osstest service owner wrote:
>> flight 172089 xen-unstable real [real]
>> http://logs.test-lab.xenproject.org/osstest/logs/172089/
>>
>> Regressions :-(
>>
>> Tests which did not succeed and are blocking,
>> including tests which could not be run:
>>   build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172073
>>   build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172073
>>   build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172073
> 
> I was going to force this flight because of the libvirt issues. But...
> 
>>   test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172073
> 
> ... this is not a test related to libvirt. Can one of the x86 folks 
> advise whether the issue is benign?

This test has been failing every now and then; whether for the same reason
cannot be told anymore as the older logs are gone. I would therefore like
to recommend to wait for the results of the next flight.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:17:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:17:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379888.613746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDJ5-00007q-NY; Wed, 03 Aug 2022 12:16:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379888.613746; Wed, 03 Aug 2022 12:16:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDJ5-00007j-Kv; Wed, 03 Aug 2022 12:16:59 +0000
Received: by outflank-mailman (input) for mailman id 379888;
 Wed, 03 Aug 2022 12:16:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJDJ3-00007Z-TU
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:16:58 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50046.outbound.protection.outlook.com [40.107.5.46])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ab9e78c-1326-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 14:16:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR0402MB3695.eurprd04.prod.outlook.com (2603:10a6:803:1d::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 12:16:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 12:16:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ab9e78c-1326-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O69EPwgA3ydv7I1pfODLv+sr3tkXinzMEA/eqOGLNmP3dGvWHSsXVEtT9BMQ/JhxYPgZI7hv2JNIZ3PCbUsPwj8ZxPXsX3pbc1wbuIDSKPfTIvGyHmszaZsa+9dl3/64PoRsJrKjnvMrBRkyXNpHQ+d3hcDCLYDlu9Mvdf2EZVq1NyTWEO5wEublCCst1kSErrs0GZUPR7OfIjfSRNPQr+0K4uL1//VeHb8us+meROCbIHsvrg/881cqG69GQmmfAGsUNJS4ezNN/tDQF+/FQDzeI7ifgVSqo2r3fEiuhBdHSFufAzBxZLIwBJhUPlyi1RZX/WdCDzx7wttnZkiDTw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bjuRwAuXMI38Cgp2GXFBHQFuZTVfBHZ86LZHZ3OcG7g=;
 b=cbdjqhslxcBgopLAVCLh7gz7iSe4Ngvt8sf0nK+1cHjfEA3ZT/L83ok2LfX2weJE+911rQPmdozQbsOxhyc42c6VJtjSk25uRL4po6aRYmIa1XKlHqsjjwkdR8JmX8d9xArsRw01eHK87TjsQmyRJRB1IXfdQt+gD0j9eALQDvUK9bWGJWLsrvcklaZhN5ba2QZCE8tMRK6LPBH+wU86Nmn9v2/N6yKbD9IP9zOsNu/pxHZel1zubWNeyPCVxAKz9PwONi5t5EtDYfwBVw9ezMFJL4EvLAEkR75NrBzZ3Dl80wPX31iRmDDz/qSdNBtFOGG2NCOGIrm9AsPrIfpV0A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bjuRwAuXMI38Cgp2GXFBHQFuZTVfBHZ86LZHZ3OcG7g=;
 b=Qi4YkrDOQjCd1YlaMueFlATAMQOFQESc3Kwhli5sDtsh6JyLFNeDyeN6F3+h8Z7IpesrPmHOyZmbEXU80xGA0ZNwqmt1ms0QW7TSRJqYFR90B5lnMLliafoe8GqfCtITi9X6oh6vQ1trJeAb5ap0nx+xA21qaC9+ZxTvnK7cX3Bd6XPphQipGGMusx/OexfIic8ipBZmQrEtcurti71kU3KMVxQkYLfveaW8+pCitFy2QVNrqqgQAPvjsSUlA4ElVBeudIq1p2CLeeJxwKNXsjpY3mFnyaVpbThLVDtTEI6ZMscicbizfMlxqqypwhxoRVsLEBcdxhPOu9WYplA3LA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2053fb64-82b6-b39a-6d94-153c17cc481b@suse.com>
Date: Wed, 3 Aug 2022 14:16:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Bertrand Marquis <bertrand.marquis@arm.com>
References: <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
 <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
 <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 13ba5287-3e7c-416e-aa0d-08da754a0df6
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3695:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	25ISFkauUI6//kCwmYVUOy10fkgCGecbk5exWiEI7t8idv9km5SgGOO/NE8ROEye9CnajW7J+/fhNotr+gRMoL+8qjaiUomQlqery/7wfoDf4SXlqFF/pO7WN/Mm8s/TKEO3s5cdP6fXalVU2IzYRdmcRxz+7Jwdb1813gQfHfhU5AfQcZ48HzYR/h5yNLWg3gv1r2/XJ5eGUCZ0FwByogpQ3U6G75DLIVgeW5nDkjDEJD81xRS1cQ9SFolbS0KcQPUrREJeBXMX4kryvceMSd/6TcAL5hhuOnhpQBWBf9PGi6jWuVgebP7mgRW+9tJp8WDWsP68gxlS1lf0FIBz5PMKc3ke0tuEjGx7znOTTAMrqwmQlrNpknE0ZLvPfPRixWsc6Hf2HZ8bbnvkuOpPNVYwQDlNfo8ioSjoTZ3OGERvD2g05IfZiymQjix0YpBgQA7xzEmFcwVAPkysJTvNcw9dbrYEPty7U8xUH/rcgs2J398c9QVKkjFF3y0mrGgh2OSKohMK+o0l+C3Z+FF4EIgKSN4nj+OI/jcxRuVNumwNjrlIFUiiCp2+MaoYwUR7cbkoZMSHK12fxwgXBlXvTcVjb2UiT05mbdYPBUIy/h+sZ72NKwPabx7aij+7LMcyyAth7Fid9NiXkhiBRocq8My07zyYYk6C9qmSpmWsim/4jmlGU6l1CG7C7xFhgys3AQSzTu9MSj6NggdoX+KTdGiNCkQw45z18zBsHiZpmZNkBoUGckKg2y5cKMimiZ7vlVv//tMXxYyIYyfj+4HqhrUlGR5N/ZYJNwNxQVmjQCuGYdkBQwB/1DMLTJhSfC3Xlwn+2TEQd54cbsA7L7YwMg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(346002)(136003)(366004)(376002)(316002)(2616005)(2906002)(6666004)(41300700001)(6512007)(36756003)(86362001)(31696002)(26005)(38100700002)(6916009)(5660300002)(66476007)(54906003)(4744005)(66946007)(53546011)(8676002)(4326008)(478600001)(6506007)(6486002)(31686004)(186003)(8936002)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkhJcExqYmNuajJnaFQvaFNYY0VqNWhWbkdtSDBYREdTV0lCUXVlVGtTSkgx?=
 =?utf-8?B?aUFJTEozR240N2E0Rm9DbDQ0L3B1Tjk0bHJMRkNqQjEvdTE2WnVnN3NaUkhx?=
 =?utf-8?B?NUhHYlRYeENqYlY1RWhmVDhiYjc4ZmVYaFRrTlU2WEpBN0pyN2tDS1A5M2p0?=
 =?utf-8?B?UkxSL2xZR2pGbXNCaUN6UXltaGg5Q25MUEg5b0pjcUlISFZXSnlwR2ZPcjVG?=
 =?utf-8?B?RDR6S1RSMkxEMytKeWNDU2YrdWVGOEpNRnRRdUdWSzdScFhNNWhOOTgzdVhH?=
 =?utf-8?B?NzY3QVlqR3JYMGFObDZZRGU0NU5qdEdjYUlzWTkwUFpodkRscXcwdDl6MCtI?=
 =?utf-8?B?VGx4ZW9XUS83TEd0cnBsSEMzZmNrYmZib1dVaHc5RWFFWC8xZGdUVmxQcmc5?=
 =?utf-8?B?ZU4raVAvZVQrLzQxUnM1N2tiOElyY3FIWUxLVFFTVGFIb1Vzc1ZWR0pZYU92?=
 =?utf-8?B?SGtMeFdoUEQ2cW9QcUN3YmJBZ2VoaU4wR1dYakgwZlVGZ0xmc2dqYjBCV1pV?=
 =?utf-8?B?MnF4dkRoUlNXT1BYS0YvWGxNSW04b2ZtTXJIVHQzVE5TYjg0cS9EQ3V5ZlF6?=
 =?utf-8?B?VTdvdFVXcU5zaUJwbjRmMXlpdG9uK3VzaG1yNzBsNmxDMWQ0YWJaNmZUUStV?=
 =?utf-8?B?THhiV2VteXg3RnRMc3FqbkpFdjRaN2lyeW5SckJleVFQWit5UmxKTjF1UEpY?=
 =?utf-8?B?WngvNENULzFuSlNudnZ1UWx3VGJER2xnbDNjYXV2dDQ1dThDVElBTU9zTG8v?=
 =?utf-8?B?K0w5L1lOT0I1cVAwUExTUXhwam1ic0FrMGY1SWFHcStZelU1OTZqTGMrWExa?=
 =?utf-8?B?eHpqOTN4R3g0ekJ3WmV0aENpY05PSlEyQUhLN1F1VU5CTWZnZ1k5U3JNNTR6?=
 =?utf-8?B?bEM2eExyZVlPV1pHWnQvcDJ1Y2ZwaTlhOWJLb1Fkelo0d2hJdkZNQkpLN3pk?=
 =?utf-8?B?RkNWR2JGY2wzZGdJV0ZyaXJnSVE4R2ZJTUVUZUM3WXNkMmQxRytiWThQYUtG?=
 =?utf-8?B?RUtpZFJUV2FxamhDK1A2YXF5Y24rQWorUW5uWFFtbUZYWStySWU0RGowOWlR?=
 =?utf-8?B?bnl2YzVsTW5MaFNVb1lRT3djWjNDL2N1cDNTRENQNFNXMml1dTQrK2hjYU1a?=
 =?utf-8?B?S2t1K3NOaXhlM01QUXp0VGV2MmtrYlA4UGp1dUxpdUI4Q05BdVY5bGZ5YVB0?=
 =?utf-8?B?VmhuZkNMV1E2QUJnY2ZDaEpLRE1zS2NFZ0dhcjBiK29Mc3RSdHVFQXJyMWVr?=
 =?utf-8?B?QUVIcDBPQU1UT2tBVm82K0Z5bHJZUDdvMEdKTHJ3eXkzTElwbUNma3ZZNFpK?=
 =?utf-8?B?ZVdRcnVuNHNvcXc3TUN1bUhQUFpzMG1Dc1pFMHdQcnRpaEFEVklGSG5HV0hs?=
 =?utf-8?B?OVZRN2F3cW1zbDcvL1g2RUEwVU1iaE1BY295STlwS1dYdnBpM0FVa1BTaEF1?=
 =?utf-8?B?QmhudFFnUkJ2dzl0VHNqS2ZtU0JXRWRDOUpQSERnck4vazNEM1ZxQXJ3OTZo?=
 =?utf-8?B?MlhrT2c4cHNiSzB2RHRpRGZvL0VoeDAxSHI4UWdEUUE5SFo4SWhtMWdQSjRt?=
 =?utf-8?B?dzZCdnNzWXllaHV1OEl2bWJGOXpnK1lIYWtzdDg1M0t3UVBmZUNxWmpRQzRG?=
 =?utf-8?B?TmZZVE4wMnpiS2NaMVV1dDVLZEVOblNDWmx5SWk1bC84ME5vUE5ZUGp5L3dn?=
 =?utf-8?B?Nkg0eTNNTExIMTFpVHNHVFNjdnRZajZwSjJrU2pGZEcwcWtwVVJKaUhxeTBp?=
 =?utf-8?B?Vkx2NGQ0emRaZjdNZ3dPa2tkUlNadlV6clNrTUlPMGZNOGJTOTRmSExhSXNE?=
 =?utf-8?B?M0diNk5sVWhrQ3hMdmwyMGhyZ25QaVphaFVVQmMvdThJYjNESEtoOGVLYkpV?=
 =?utf-8?B?czlSSjd6RUpVQUUwdXJQbXV6Y01sSnpJeEo0Si9qc1lCM2s5NXQyalRBWTYr?=
 =?utf-8?B?V3NCeGk1TWtVUzg4TVlRZmZNc01kS3p4bEdaOVN2UTNWaXYwM01WMkFDdmRk?=
 =?utf-8?B?ZnRaZjJUUi9IZDRsNG4wMndKbUtUK09FL0VNOUNRZ0NTQ0U3a2MrVFZ2MGxs?=
 =?utf-8?B?T2Y4MHVlekZSSlIyVi9KTmpwM0VXVitBRDZIbjdORnhJRHFHVVVORzJ0Z3Z2?=
 =?utf-8?Q?KblsHBCdBL7gsbNtj1toHAFvw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13ba5287-3e7c-416e-aa0d-08da754a0df6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 12:16:55.0051
 (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: kkBQefUUx9yndfCkTbnxV/EDtQFt2cpEiZRsaJ0v/6RSOM2NutCgyUui5qkGONH8w++6idAm7NoU+Sonqgt4+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3695

On 03.08.2022 14:10, Julien Grall wrote:
> On 03/08/2022 13:05, Jan Beulich wrote:
>> On 03.08.2022 13:57, Bertrand Marquis wrote:
>>> When calling python tools to convert misra documentation or merge
>>> cppcheck xml files, use $(PYTHON).
>>> While there fix misra document conversion script to be executable.
>>>
>>> Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
>>> Fixes: 43aa3f6e72 xen/build: Add cppcheck and cppcheck-html make rules
>>
>> Nit: These two titles would want expressing consistently. If I
>> end up committing this, I'll try to remember to adjust.
> 
> There are actually a few issues with the Fixes tags. From the doc [1] :
>    - the sha1 should be 12 characters (rather than 10)

Oh, I didn't even pay attention to that.

>    - the format should be:
>        Fixes: <comidid> ("Commit title")

Right, this was the adjustment I was meaning to make.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:22:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379895.613765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDOG-0001cq-DP; Wed, 03 Aug 2022 12:22:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379895.613765; Wed, 03 Aug 2022 12:22:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDOG-0001cj-Ae; Wed, 03 Aug 2022 12:22:20 +0000
Received: by outflank-mailman (input) for mailman id 379895;
 Wed, 03 Aug 2022 12:22:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hZNp=YH=citrix.com=prvs=207fabebc=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oJDOF-0001cW-KQ
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:22:19 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9a5a849-1326-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 14:22:18 +0200 (CEST)
Received: from mail-mw2nam12lp2041.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2022 08:22:12 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by PH0PR03MB6869.namprd03.prod.outlook.com (2603:10b6:510:166::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 12:22:09 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%5]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 12:22:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9a5a849-1326-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659529338;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=opaIsl+enGw24iHbs5yZ4DG1CnRHgAH5i32IJ6ab5Ws=;
  b=UYbK2IyrT0b7HY6k83YXlMe9H3cQX7c9I7t1SovVbXXRCaF0dY88Mw88
   xwVl8K7Uix3JSmzDfhVHimKzkT0/XCmZJ42XT/1q1WfZf9JkJ0VeraXMR
   4QCbrXHtqvTxtSwDazfBUlERK9cdp9Cqhhhenc16y8tOV17BpOD15NoFG
   s=;
X-IronPort-RemoteIP: 104.47.66.41
X-IronPort-MID: 76526562
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:eqoIWq7MmOm+gvnbWmXeCgxRtCbGchMFZxGqfqrLsTDasY5as4F+v
 mIfCG6EaazYMWqjct1xbI609RhS7MeHn98wG1ZrrXo0Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5K+q4lv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJHsoJ6c93Lp8OmFx1
 vE9NRYdRRa8lcvjldpXSsE07igiBO/CGdpF/1Rfl3TeB/tgRo3fSaLX49MexC03ms1FAffZY
 YwedCZraxPDJRZIPz/7CrpnxLvu2ia5LWMe9Av9SakfugA/yCR60KLsK8bUc9rMQcRTkkeXj
 mnH4374ElcRM9n3JT+trSzx3LGSw3mTtIQ6EZqlzt1KuGWqm1cIJhopVVq9k9rmsxvrMz5YA
 wlOksY0loAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLncAZi5MbpohrsBebTAjy
 FKhhd7iAj1r9rqPRhqgGqy8qDqzPW0QMjUEbCpdFw8duYG/+cc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNt2uVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:JiBLB6MGaTQ3BcBcT3f155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90dq7MAnhHP9OkMMs1NKZMDUO11HYS72KgbGC/9SkIVyHygc/79
 YsT0EdMqyXMbESt6+Tj2eF+pQbsaC6GcuT9IXjJgJWPGVXgtZbnmJE42igcnFedU1jP94UBZ
 Cc7s1Iq36LYnIMdPm2AXEDQqzqu8DLvIiOW29IOzcXrC21yR+44r/zFBaVmj0EVSlU/Lsk+W
 /Z1yTk+6SYte2hwBO07R6c030Woqqh9jJwPr3OtiEnEESvtu9uXvUlZ1S2hkF0nAho0idvrD
 CDmWZmAy050QKtQoj8m2qQ5+Cn6kdj15aq8y7nvVLz5cP+Xz40EMxHmMZQdQbY8VMpuJVm3L
 tMxH/xjesfMftR9B6NmOQgeisa4XZcm0BS59I7njhaS88TebVRpYsQ8AdcF4oBBjvz7MQiHP
 N1BM/R6f5KeRfCBkqp9VVH0ZipRDA+Dx2GSk8Ntoic1CVXhmlwyw8dyNYElnkN+ZohQ91P5v
 jCMK5viLZSJ/VmJZ5VFaMEW4+6G2bNSRXDPCabJknmDrgOPzbXp5v+8NwOlZWXkVwzve4Pcb
 j6ISNlXDQJCjPT4OW1re522wGIRnmhVjLwzcwb74Rlu9THNcjWDRE=
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208,217";a="76526562"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IR5yZgcD0AJckcyqcCkMsixIjTN0dveV7+HbVkANKN/e2wt2Ue5uXZ1aCDbdASif90ImUaiPm63PYfQqH4MyTJI1witY2vKa6B8dfcN3naP2nvP7krXh0NQXmbZ0bixgdWNxwDphdmlPtYTM2NdHNUSzEyg0ajKT/1JrnxrIvHyG4hHQ4V3p8InbASxClbHkXARjbn7PTYun0qsCzOO08okjc+xAJpMx7cadOCQ07+w5980A1hnTSmXicTMzMm8e5LwhYhFSKJKhSJtDCFZK+Se7HE/nYOrjYt1Yybr+efgsqBYO8RruwTCXOIX1ZZcHWt28E69bcw7das7NVx82Dg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=opaIsl+enGw24iHbs5yZ4DG1CnRHgAH5i32IJ6ab5Ws=;
 b=gVl3NjxOZiyqWq6hFAyofimuulPQ6O6yDf595p4Wbtak0CpoamD4tBfktJtFvJXW7DbCMMpU7SJ/DFJqmtimhjFIhl3l8V6wgVmNyHKAfnl9qZQ/jINEjdxZStqt7SJQKi4MCVs1g95MA64o3rmJmFbKoeeAVxFYdR7Zuzmqx2K8RoYuy1nIvppGV3gHSyD9UOyP/4CWVl8SxdxEX2ze1G1HfQlVKTcs2TN5jftsHsgJ3NjzdX0l1WQRuKjVHZp+1JLzvMSIieg1cArS5k7XWjwKFy9isK2rXynvXsi5bUCfqHR3rD7Nrkjbym1Qv3dnX4wINWlnWS1OmMyo8BHYwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=opaIsl+enGw24iHbs5yZ4DG1CnRHgAH5i32IJ6ab5Ws=;
 b=PmiNgMzjYpW6+ZaUM3QGsice5mZ5vdk5MlQiM2Ay0KH9laURO5kOSJQijrF25+M6DcnTbREZHfn7TyyofXQe+rxIAJlvj0aOOJFVhj2VlDTdqjP3w43LJc04n4YXpq88QAyz8WJt60dJku5cIaf+Fsuo+u9jQLojhq0KbZcfmOA=
From: Christian Lindig <christian.lindig@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>
CC: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, David Scott
	<dave@recoil.org>
Subject: Re: [PATCH v1 3/7] tools/ocaml/*/dune: dune based build system
Thread-Topic: [PATCH v1 3/7] tools/ocaml/*/dune: dune based build system
Thread-Index: AQHYo3Q6xyJAJdfWIEePlnOSZhaf2a2dEJMAgAAP0AA=
Date: Wed, 3 Aug 2022 12:22:08 +0000
Message-ID: <899BEB4B-523B-4382-A1EF-C87BB7FF8CDA@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <0f2c08734668626a618767680493a006827e123b.1659116941.git.edvin.torok@citrix.com>
 <YupbLL8mYTK3427v@perard.uk.xensource.com>
In-Reply-To: <YupbLL8mYTK3427v@perard.uk.xensource.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2cce3ca5-076d-44ce-3dfb-08da754ac928
x-ms-traffictypediagnostic: PH0PR03MB6869:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 nNL3nR26cYmFZbPLch8XmY0P2XUeKHuSOaLkp6bZ5dmgWivClDkAPh49OMIgvdAZN770zmD77xbxjZAUCL5UpUxH0RNogpJuLaje2KHqKX3dhqLxWzI/9zt5NdARGBxylsWTiq2otlTtQEeMkPt4xZNaGVcVqaxzdpqPrL0IQ91daFgSm53fkj6csY2MMVGBNy+dlEXBg9sXv8GqKMAmEq2KyA1yL6aOPEYnHd1wU0hyqpwUf43yc8jYAPeNutVxk5zPVTd2XMfEhXYhzMkopTN7ynsZdqxd9fNd11Dvy4PDAoX5sINzgHGx9baY2+zjLU8Hk6SfPVtKN3I3UAL2FiP1/X/trJs3Ry5YUHAdJ4J/+Tq0PGHKsEMbRl2oPBsWMxuxCNV/67N811/aVXdhfbzGNOlMuU+ymTjlcQUDn3Tw0wRhI6Z3k33Drbzp9NDtSmzDOh2PZO3rWm7LHufVhmFKIpaS2Ha09F/g/V4K3qsgxCVldGFU9zCmbeE1jQP1B4yRUiFNsf88najwYVwhlKwZ4BXlHBSF9T3churnGJF5UFbay7Z7i943Qj6wXOvmIDxND8+yWjy7RrmktXMn0MvF6CSY5i++mQbZTnoEoGjPEqMFqtVmVEjh/rHqGoPvfE6ZJmMqB8JSmtdNmpCx6IXyZEN8nwNEstjbcuR3NGMr0L+BwIgpt/V0v/Cg+KxmqOO+Av37SH9o54GFOUgbJepm4qnzOXD6ynLtvJspLzoDxOz0JCMyM+5gQVIqJ0FrX5ndv8DyOnKwygmFBhvE+l5XLD0K8DP2vA94udT6bvS1BphBsSBseUwMefJQnmTEvNr8sOsYuuM+grzWwu8f5Q==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(376002)(346002)(39860400002)(366004)(41300700001)(38070700005)(6506007)(36756003)(26005)(6486002)(6512007)(53546011)(54906003)(6636002)(5660300002)(316002)(37006003)(71200400001)(82960400001)(478600001)(38100700002)(86362001)(2616005)(122000001)(91956017)(186003)(66574015)(66446008)(76116006)(66946007)(33656002)(66476007)(66556008)(6862004)(4744005)(8936002)(4326008)(8676002)(2906002)(64756008)(44832011)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bUJvaFlIQ0tMQ3RuRGgySHhBRm1SQnpIMjFBNHRTWnZadTM4QS9aYUZ4T2xI?=
 =?utf-8?B?SDVDc0o0bWZ3dlViazdpZnpPUmNqSVRuSlhXbm9iTXNRT3lFWHV1MHRPcFRW?=
 =?utf-8?B?S3BxZkhtYkFlbUpnOFNycDlIbndIdmZWVmZHV2VBZ0tPbFZ6T1JVaEF5dXhP?=
 =?utf-8?B?cFp3T3pPVWF3NFVqSjgxTWJZbnUyaXpIZENVcjhsN3oybjQ1UzN6VVRZTDAr?=
 =?utf-8?B?bytla21KZnN0bTVZREJjNDRscXBVc0J1SEtSSVkrVzh5bGhJNGZpVnFLUTRB?=
 =?utf-8?B?WWxtYjN2dVNqekVwc3lSd2N5UDdRSXhUT09oNEVnYXhFKytlVXhMVVJDODE2?=
 =?utf-8?B?dVdyUEI1dk1BRndhclpVbTg3Tk9XcXk5SitwdG1YT25IRHM5WW9ESm5LYTRp?=
 =?utf-8?B?TEkrdlM4VEZUM0IvbHhVb1ZlVUJPMEpjOEYweDlnVnllVjJ5L29VMzd4MWZl?=
 =?utf-8?B?d1RZSmMzaWdIbkRMS2lDZFpvbFBra0hTZXNlZzczbFA3S2JncGxGVW1GU2lU?=
 =?utf-8?B?VW1ncFVEbkFialp3QW5FZVFGaDF1NWpRWVlGWEV6bWszanQ1SzFaNmlNc1lM?=
 =?utf-8?B?ODBHZyt1cC83SUVVMWtXN2ErUndYMFNEV3lBTE5LUzVUQVFJd25RS001cUs0?=
 =?utf-8?B?R01xbVFhb1pmd1gwMHJCb01sdW05OGxhWGUrMW9sbFQyOFZUNUlheFNYZ1VK?=
 =?utf-8?B?TVhOYmhlUDU0TU9CWWRCek1xL3NSYWNyVnhxN1lpUWUwaHhXNVkyQ09qOHVD?=
 =?utf-8?B?RHJJM3RqQTkrS2taNGVNT0YzNy92K2hzd0tLSTFNcjVUYk9WeFltWXFQeUJK?=
 =?utf-8?B?RUhyUm5XbjhMMEIzN1BLQTU3bGRiaTd5NkYzNTd4V3FOV3piS1E4Zy9BMHNl?=
 =?utf-8?B?cWpvMG9pNUNKQXNVdGNZWVFWZlozREtEemdUaVVVRFZNUlNxWm9LUllxd3ls?=
 =?utf-8?B?WklPTEQyMTZxT0EwU1R1QmxMU3ZqMFdSRURvMElXWlp5dHVKTVNPVGUraVR3?=
 =?utf-8?B?anNzNmJ3c25zWFdvcEFBUEdiY1ptRWljODNlbjl0REJuNWR5MjVVOVFqelIr?=
 =?utf-8?B?V2RmR1pFcnZqZlpsWkVWSnd0cGIxcnd5S2xQR041OVFpMG9CM1hUSWtTc09O?=
 =?utf-8?B?ZXlDaTloSGlweG1yMVpJeUV2WmVsRjZ6Y29YYnA3ZG1jWStGUnF4V1BHQ2M0?=
 =?utf-8?B?RmlueVJvb0I2NmdKeFRacnlldjljNS93UmRIamY0SmVtcU1QTmlGMjd3ZDNM?=
 =?utf-8?B?clNPOWxhc3FZdGJ1TkthSUpOS1hTS21mU3g3OTkzZUpPVHdsS0hCVURaRjIw?=
 =?utf-8?B?aUxCcFpaV0xBRkpJOUxPb1F2UE1FWUx0SkpjMjNYSHRweDZ5b1NjSzJDYmgw?=
 =?utf-8?B?eVJvaHdKVnQ0dzAwaUI2TU5zaWRoL2MxN3NsSHVCZ21aZUpTNm9XS0hUTVY1?=
 =?utf-8?B?R21rZXlXOVR0eXVGc0FyWDJ1K2J5Q1Nnb2VEeTBZeklubVVpVEgxNUhMM3pa?=
 =?utf-8?B?TXJoaE9FN3ZkVFdwbUVEZ0I3SmlqTkZmUEhDNmZjU0VIanpwK3BlM21Wem5N?=
 =?utf-8?B?OGpMT2NReFVqaTR3bmJTY1BOeTA2eGwzYm0xVzEvKzZoZ21xbFJ3a1F1Ulpu?=
 =?utf-8?B?amJMdVpSRlV4T0hTOWU2TjJ6RHJPUytoNkVCa1NxUTkrV3FRdVBYZlpTdExh?=
 =?utf-8?B?ZGttbkFDZU9BTS9CN2VYWDFZSFN2UW83QTZJS1U0b0xKZGdIZG1yVGllUmFP?=
 =?utf-8?B?a2JDbDdyc2xWQmR5Zy9CUVNPUlJxdys4bFlyZ3lhSHpTQTJrNkp3UXkwSExa?=
 =?utf-8?B?RlR2VTUwb0JjOVhKLzhaOFpGWm0yT2p1cUxERU5kU3oxeXM0c09ZZ3Jnelg4?=
 =?utf-8?B?cm5LZDhQYlhkZzVPTCtTT1pIV1dCcjd4dkw2dTFuYVBxS1VVZmZXR2JSSEEz?=
 =?utf-8?B?VVhnQS9oTVV6aU1ScWE0aFdIRE5hanJnOFd4QXlxNUErcncvaVE2R0xlMmpk?=
 =?utf-8?B?a0NzL3d2dHo2QWVSRGtGaE51NjRNbWNzb2c1RDF6TkJORVE1MjFVeGl0Ylls?=
 =?utf-8?B?bFFwWFRYdVZJaHhLdTQvRVFHcHhLL1FQRDZLWXRBZnMxNzArdFJ3Z2RDbUps?=
 =?utf-8?B?UXpIQ1RwNmxnYVdJY3RLcUZtYlROWXVaZ2ZSOVVuN2hSTUU1L3YyaTcrVSt6?=
 =?utf-8?Q?O5cfTyCVIb7BgMfknXMz2VM=3D?=
Content-Type: multipart/alternative;
	boundary="_000_899BEB4B523B4382A1EFC87BB7FF8CDAcitrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2cce3ca5-076d-44ce-3dfb-08da754ac928
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2022 12:22:08.8765
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: esiwvBxKPw0c207FSf0xVqYcGGd3AeDiWen9z9Lr55f7iF493LoOAeZXDlt0W8BR2XhzPHFm3SVIBYyE4m2/1/rtVS9a/qDs5G31O8vo/FA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6869

--_000_899BEB4B523B4382A1EFC87BB7FF8CDAcitrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCk9uIDMgQXVnIDIwMjIsIGF0IDEyOjI1LCBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJh
cmRAY2l0cml4LmNvbTxtYWlsdG86YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4+IHdyb3RlOg0K
DQpPbiBGcmksIEp1bCAyOSwgMjAyMiBhdCAwNjo1MzoyNlBNICswMTAwLCBFZHdpbiBUw7Zyw7Zr
IHdyb3RlOg0KQmFzZWQgb24gQ2hyaXN0aWFuIExpbmRpZydzIHdvcmsuDQoNClNob3VsZCB3ZSBo
YXZlIGlzICJTaWduZWQtb2ZmLWJ5IiB0YWcgdGhlbj8gQWxzbyBoZSBtaWdodCBiZSB0aGUgYXV0
aG9yDQpvZiB0aGUgcGF0Y2gsIGlzbid0IGl0Pw0KDQpUaGlzIG9ubHkgcmVmZXJzIHRvIG15IGlu
aXRpYWwgZXhwZXJpbWVudHMgdG8gc2V0IHVwIGR1bmUgZm9yIGJ1aWxkaW5nIE9DYW1sIHhlbnN0
b3JlIHRoYXQgSSBoYWQgc2hhcmVkIHdpdGggRWR2aW4uIElmIGF0IGFsbCwgdGhlcmUgYXJlIG9u
bHkgdHJhY2VzIG9mIHRoaXMgbGVmdCBhbmQgc28gSSBzZWUgbm8gbmVlZCB0byBhY2tub3dsZWRn
ZSB0aGlzIGlzIHNvbWUgZm9ybWFsIHdheS4NCg0K4oCUIEMNCg==

--_000_899BEB4B523B4382A1EFC87BB7FF8CDAcitrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <6C17DBA659C6C146928339B07A1BBAEC@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz
PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u
IDMgQXVnIDIwMjIsIGF0IDEyOjI1LCBBbnRob255IFBFUkFSRCAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20iIGNsYXNzPSIiPmFudGhvbnkucGVyYXJkQGNpdHJp
eC5jb208L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2Ut
bmV3bGluZSI+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAs
IDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5
bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsg
bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAw
cHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNp
bmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246
IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIi
Pk9uDQogRnJpLCBKdWwgMjksIDIwMjIgYXQgMDY6NTM6MjZQTSArMDEwMCwgRWR3aW4gVMO2csO2
ayB3cm90ZTo8L3NwYW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250
LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg
Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNp
bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl
YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFz
cz0iIj4NCjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0
aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNh
cHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3Jw
aGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh
bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IGF1dG87IHdvcmQtc3Bh
Y2luZzogMHB4OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1dG87IC13ZWJraXQtdGV4dC1z
dHJva2Utd2lkdGg6IDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgY2xhc3M9IiI+DQpCYXNl
ZCBvbiBDaHJpc3RpYW4gTGluZGlnJ3Mgd29yay48YnIgY2xhc3M9IiI+DQo8L2Jsb2NrcXVvdGU+
DQo8YnIgc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2
ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQt
Y2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0
ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7
IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ry
b2tlLXdpZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGNsYXNzPSIiPg0KPHNwYW4g
c3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7
IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczog
bm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFs
aWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRl
LXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdp
ZHRoOiAwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlu
bGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+U2hvdWxkDQogd2UgaGF2ZSBpcyAmcXVvdDtTaWdu
ZWQtb2ZmLWJ5JnF1b3Q7IHRhZyB0aGVuPyBBbHNvIGhlIG1pZ2h0IGJlIHRoZSBhdXRob3I8L3Nw
YW4+PGJyIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVs
dmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50
LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsg
dGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25l
OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0
cm9rZS13aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IiBjbGFzcz0iIj4NCjxzcGFu
IHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogSGVsdmV0aWNh
OyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6
IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1h
bGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0
ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13
aWR0aDogMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBp
bmxpbmUgIWltcG9ydGFudDsiIGNsYXNzPSIiPm9mDQogdGhlIHBhdGNoLCBpc24ndCBpdD88L3Nw
YW4+PC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjxkaXYgY2xh
c3M9IiI+VGhpcyBvbmx5IHJlZmVycyB0byBteSBpbml0aWFsIGV4cGVyaW1lbnRzIHRvIHNldCB1
cCBkdW5lIGZvciBidWlsZGluZyBPQ2FtbCB4ZW5zdG9yZSB0aGF0IEkgaGFkIHNoYXJlZCB3aXRo
IEVkdmluLiBJZiBhdCBhbGwsIHRoZXJlIGFyZSBvbmx5IHRyYWNlcyBvZiB0aGlzIGxlZnQgYW5k
IHNvIEkgc2VlIG5vIG5lZWQgdG8gYWNrbm93bGVkZ2UgdGhpcyBpcyBzb21lIGZvcm1hbCB3YXku
PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0i
Ij7igJQgQzwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_899BEB4B523B4382A1EFC87BB7FF8CDAcitrixcom_--


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:42:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:42:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379902.613776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDha-00049N-6f; Wed, 03 Aug 2022 12:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379902.613776; Wed, 03 Aug 2022 12:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDha-00049G-3j; Wed, 03 Aug 2022 12:42:18 +0000
Received: by outflank-mailman (input) for mailman id 379902;
 Wed, 03 Aug 2022 12:42:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+C7S=YH=citrix.com=prvs=207fd374a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oJDhZ-00049A-Dr
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:42:17 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b25b7bcc-1329-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 14:42:15 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b25b7bcc-1329-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659530535;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=HNenlgPDUfJoQjwtRN5JSN7KCZRDqY3qbaM7W6z63AM=;
  b=bbGATsDNaqP4BoMpbavbuRLJiqEx0RHTOIWt7PIjASPDaHLbO0W3BtQV
   KyLW/boyqOrclFLaBKp/2AvkvsYGECC4AYs8n2IwVeXP7ubY8T5AGJpJs
   uBGr9X4xR3qIsOyTt7ZKJHRV0A2lq9xSrjC3NXvuBorLaf+OF+bqLGqbi
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77042423
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:enCK4aBjUjAmsRVW/1Hjw5YqxClBgxIJ4kV8jS/XYbTApD4i1jUEn
 zQaDTqEPa6DZ2b9e9kiPYzi/ElXv8eBmtJqQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEs/nb8nuDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW3azm7ZqVB0LBJQ3xKFPXk0Q3
 tlIcy9YO3hvh8ruqF66Yuxlh8BlJ8j3JoIP/HpnyFk1D95/H8qFGf+To4YFgnFg3aiiHt6HD
 yYdQTNpcBTHZQwJIloNAYgytOypmmP+Y3tTr1f9Sa8fvDeLkFYtiuOF3Nz9dNapX+9Fk0Sk+
 mvdoGvVIBQkbMC01m/Qmp6rrrCWxn6qMG4IL5Wn8tZ6jVvVwXYcYDUGWF3+rfSnh0qWX9NEN
 1dS6icotbI19kGgUp/6RRLQiHyOswMYWtFQO/Yn8wzLwa3Riy6VD3YJZiRMY9snsIkxXzNC6
 7OSt4q3X3o16uTTEC/DsOfPxd+vBcQLBWJdPWwAFVc42sDMnsYL0T6RZfMzS7Hg27UZBgrML
 yC2QDkW3utO3JJTivzmpzgrkBr3+MGXE1ddChH/Gzv8s1gnPNPNi5mAswCz0BpWEGqOorBtV
 lAgktPW0u0BBIrleMelELRUR+HBCxpo3VThbb9T83oJrW3FF4aLJ9w43d2HDB4B3jw4UTHoe
 lTPngha+YVeOnCnBYcuPd/gV5p3kfK+Toi0PhwxUjapSsEpHDJrAQk0PRLAt4wTuBJEfV4D1
 WezLp/3UCdy5VVPxzuqXeYNuYIWKtQF7TqKHfjTkkX4uYdykVbPFt/pxnPSMb1ihE5FyS2Jm
 +ti2zyikEoOAbSiOHCPrOb+7zkidBAGOHw/kOQPHsbrH+asMDhJ5yP5qV/5R7FYog==
IronPort-HdrOrdr: A9a23:ZPc5Ua+2fiO9HoeOz4Buk+DYI+orL9Y04lQ7vn2YSXRuHPBws/
 re+MjztCWE7Qr5N0tMpTntAsW9qDbnhPlICOoqTNWftWvd2FdARbsKheCJ/9SjIVycygc079
 YHT0EUMrzN5DZB4vrH3A==
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="77042423"
Date: Wed, 3 Aug 2022 13:42:01 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Edwin Torok <edvin.torok@citrix.com>
Subject: Re: [PATCH v1 1/7] tools/ocaml/Makefile: do not run ocamldep during
 make clean
Message-ID: <YuptGYZBvc+iKeHD@perard.uk.xensource.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <835ba84cf1fb7619fa6672d194aaf279795a5246.1659116941.git.edvin.torok@citrix.com>
 <6b7a9b52-d378-f404-57a9-20b148f2e7a2@suse.com>
 <FEF021F3-739B-4585-82D6-D13CDCBBC24F@citrix.com>
 <YupUhpinFKt2Dl0s@perard.uk.xensource.com>
 <e6adf8c3-0120-a737-aea9-6ae37cae3be1@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <e6adf8c3-0120-a737-aea9-6ae37cae3be1@suse.com>

On Wed, Aug 03, 2022 at 01:58:34PM +0200, Jan Beulich wrote:
> On 03.08.2022 12:57, Anthony PERARD wrote:
> > On Wed, Aug 03, 2022 at 10:24:26AM +0000, Edwin Torok wrote:
> >>
> >> -ifneq ($(MAKECMDGOALS),clean)
> >> +ifeq (,$(findstring clean,$(MAKECMDGOALS)))
> > 
> > I think it would be better with $(filter-out,):
> > 
> >     ifeq (,$(filter-out %clean,$(MAKECMDGOALS)))
> > 
> >>  .ocamldep.make: $(ALL_OCAML_OBJ_SOURCES) Makefile $(OCAML_TOPLEVEL)/Makefile.rules
> >>  	$(call quiet-command, $(OCAMLDEP) $(ALL_OCAML_OBJ_SOURCES) *.mli $o,MLDEP,)
> > 
> > Also, don't hide this rule, instead, hide the "-include", there is no
> > need to have make waist time trying to find a rule to make
> > ".ocamldep.make" and failing when not needed.
> 
> Hmm, this sounds like I should be reverting the commit?

Well, it's not exactly an issue as there isn't any alternative rules,
and make is told to ignore failures to make ".ocamldep.make"; so `make
clean` and other targets still works as expected. Just a follow-up patch
would be fine I think.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:51:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379909.613793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDq1-0005es-4O; Wed, 03 Aug 2022 12:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379909.613793; Wed, 03 Aug 2022 12:51:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDq1-0005el-0y; Wed, 03 Aug 2022 12:51:01 +0000
Received: by outflank-mailman (input) for mailman id 379909;
 Wed, 03 Aug 2022 12:50:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJDpz-0005eb-HF; Wed, 03 Aug 2022 12:50:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJDpz-00008C-GP; Wed, 03 Aug 2022 12:50:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJDpz-0000xc-4u; Wed, 03 Aug 2022 12:50:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJDpz-0000TT-4U; Wed, 03 Aug 2022 12:50:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3b5Bk4nRRd5BQY2OrcH3g2cb1QmVn5M1TiU71z1PK1A=; b=FDwI3BmRMvo6wZ1Jxz4zpAZ8/R
	kPAlSHjjZ6IrcX3M/cksdNoYBUCbjftlqLuZ+qqYDhH89biLhJHccKYBFlMZoNSPSDk4eCRKQQXR0
	OkxPM6irti72NIecm451vgzAziaLkY5pER7oEzCtqtDjOsjZaW64pB9KAPl5Ih0qVvy4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172107-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172107: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=800f21499e0ec112771ce1e94490ca5811578bc2
X-Osstest-Versions-That:
    xen=4d96a4fe2ac08cc93f2e7eca56120792363cb950
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 12:50:59 +0000

flight 172107 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172107/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172082
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  800f21499e0ec112771ce1e94490ca5811578bc2
baseline version:
 xen                  4d96a4fe2ac08cc93f2e7eca56120792363cb950

Last test of basis   172082  2022-08-02 12:01:41 Z    1 days
Testing same since   172107  2022-08-03 10:01:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Hongda Deng <Hongda.Deng@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4d96a4fe2a..800f21499e  800f21499e0ec112771ce1e94490ca5811578bc2 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:53:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:53:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379916.613804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDsV-0006FG-H8; Wed, 03 Aug 2022 12:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379916.613804; Wed, 03 Aug 2022 12:53:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDsV-0006F9-EE; Wed, 03 Aug 2022 12:53:35 +0000
Received: by outflank-mailman (input) for mailman id 379916;
 Wed, 03 Aug 2022 12:53:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4Xu=YH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oJDsU-0006F3-21
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:53:34 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00079.outbound.protection.outlook.com [40.107.0.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47a6f831-132b-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 14:53:32 +0200 (CEST)
Received: from AS8P251CA0005.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:2f2::10)
 by AS8PR08MB6278.eurprd08.prod.outlook.com (2603:10a6:20b:29a::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.11; Wed, 3 Aug
 2022 12:53:30 +0000
Received: from VE1EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2f2:cafe::70) by AS8P251CA0005.outlook.office365.com
 (2603:10a6:20b:2f2::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Wed, 3 Aug 2022 12:53:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT015.mail.protection.outlook.com (10.152.18.176) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Wed, 3 Aug 2022 12:53:30 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Wed, 03 Aug 2022 12:53:29 +0000
Received: from 61f8965c087d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 933F515E-A2E8-42BA-A4DC-39863B38FC77.1; 
 Wed, 03 Aug 2022 12:53:23 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 61f8965c087d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 03 Aug 2022 12:53:23 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by HE1PR0802MB2410.eurprd08.prod.outlook.com (2603:10a6:3:dd::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Wed, 3 Aug
 2022 12:53:21 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.014; Wed, 3 Aug 2022
 12:53:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47a6f831-132b-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ngeNuAgFpVPcvjy0dLbAvbxTOsKGQkxiX1aYoQJuFOJvjS4wKebRcpoITXDEj09YaalF+r6G94NXhrezBBiKdDDR1VZJ5Re7PEaz5Y+bLfPSsyzjUnUZXvwzyPnD/TWyZ5TFBbekBssB6ZGfXEbWclRgN7jBQhfCyHRq/zJQ/N1b4hW0GM5olFOU4oOXGvbhuNxk21FBUyoEYsoU+n3RRJO1znEOjmQzLzR2S3TNA6XlIfA9e76+mze+uJML+e+MT2WdYViA1JVdEb7eM85shMJUx6hz/EfewqV5AtWlbFq0ZUl/RcsB7WBBtNoZM2Gpx4GF43HWvLrrmJj3OgiMpw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C9lS/Oj8WUCXYUYnObHvqYZjMhQQ9GgrUJYvmekS7VQ=;
 b=cKXy7QLP6Tjhtn42C5TN2pdgBv0KJGethnDRTRn59nIl96WfI4Zx3rcrJyBpOuS1mpWnQ0/vnmMp7MbneT/Pexa+2B7zviz/08GJfEIU4NkYCg1QA1g2sLFmHXcdvocm3HqzU0ewTtSbP63SMFSfuAv/MxXPsjzdHI4l0eADt+8Nz/sNNB7s5JcWhcCXJUYUEnl9u+fUPbeLctuaexPPIk8e7vXEeoesiwB5BbqOOoM5p8aU5QGdaqgrbbtlpxYdJRWNZrmCenIbpgyVQQrreDYPy/uZCntUdxjftLVrBHgjT9daWDN/LY54l1OB/zJtCBBXshwhtzMqo2emh1CXeg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C9lS/Oj8WUCXYUYnObHvqYZjMhQQ9GgrUJYvmekS7VQ=;
 b=bmf2GZX44D/VVo8Sct71I+ScdWLeN2Rd0zOdREhPbK2Vw/xD+jO/cNUxhMhgGNaxhROBHnvGhpyXhXkcfntuO+AXy+/Gw6K/Xg8Z1MNurq2T1/FhXhWxDAm+UtuparR4QmK+y6Hbgpmt8FL7/JZw4+qQdPknitQ90OvXpRI6ltE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b0f667329e234f38
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lm5+pHPtRxSlBPNB5HNIkG19jmix4xfXZPx8iEbeOJtildkv8WgqFnixNeObGrk/PbYpXvXovnoNmUOksv/EmPonbMzD0DYI3EzzkPEIaKc5zkwSDiajKF/wbpC6kTHMFjKc5OhhJBz8LJRV7vMOrLM8VJT7X80ap6VfbPqjquzWQPNx2PhumXCylqG/MnCdUPDIKpJA4IHU6hEvdnkRAhCZs/yRi7IKCyKhM2mFBu9cEPLnTgxqx+9pwqXnz7lUKMGqCp1jlY54euLqH3e/SuMPXiaoRmJ2SPhqXb0Rr9mXs1BtM+yCpIsPtSyVAgnJMjXPwVxpsKLCvb7ZwsA8qA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C9lS/Oj8WUCXYUYnObHvqYZjMhQQ9GgrUJYvmekS7VQ=;
 b=j/DO8Lx9B94pivTlwHb1ZXsEMZjNfyyG7db6luGkq/D2YfCObqquPwLaBA7yd5tpxwOzAZG6QPVHtjjmNKf9vVj2Dnv+1c40LZJ/GYZAZWHEMlQjObfxgAOOBamUWnd1DfA1/X7c01l4R1ZPPW8zGlXTTftZlNURpyErMBCj7R5lv8uObaNiTjvOiX9QddxQ8lj8A4zcG8nxZiGpvGY7bxDF1WLsCf9y6+hnuA5qwBl6mVjBSWewBJgXt/uNen62RTmaj2WC5Sm1MK3uTHF21ZS0Lm9ygJBIotMTMEW44kZmDN66FNo2Ai3gaTw5oUHteA9/J+brrricnX/XG9vI3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C9lS/Oj8WUCXYUYnObHvqYZjMhQQ9GgrUJYvmekS7VQ=;
 b=bmf2GZX44D/VVo8Sct71I+ScdWLeN2Rd0zOdREhPbK2Vw/xD+jO/cNUxhMhgGNaxhROBHnvGhpyXhXkcfntuO+AXy+/Gw6K/Xg8Z1MNurq2T1/FhXhWxDAm+UtuparR4QmK+y6Hbgpmt8FL7/JZw4+qQdPknitQ90OvXpRI6ltE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Thread-Topic: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Thread-Index: AQHYpzA5Sq+ptI31i02cWAL8jJ4SLa2dFF0AgAANRgA=
Date: Wed, 3 Aug 2022 12:53:20 +0000
Message-ID: <2F1BAE77-3129-438D-BF33-6AC39A0787B1@arm.com>
References:
 <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
 <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
In-Reply-To: <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: aa47ffda-4d3c-48ab-2c9a-08da754f2a71
x-ms-traffictypediagnostic:
	HE1PR0802MB2410:EE_|VE1EUR03FT015:EE_|AS8PR08MB6278:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 CMjbQowyrZeM1F1acgnxmeOORax//ctSH8zpzr0s4F0JswVSjg9MI7p3zdjRYhfgoSjy6Vh/GRatMebXk0WdlvZWLQxATiNh0jluUpYUBDAQGzQgnwg33ALtipHJdAV21ayWSjECQwN5s/08frOnO75BoZP5DOCxpYFToz0nqyEyguIKTlrsoGmAklOoMzNS5BtOBC3+hw7LTzLFFL4gL5hKhkyOro3yo7qaKF6dySPjYciKLuZcMmizFp4frchrigMXEMuh/+52rOLOtvVJUetJKsUj9wgVK9baZ1MXS6h3dqrg3o2Sr6JkiJeR1eDtzL2U0iS+aWDBUVyoF8mdHWjhW0GePTOcasxl5qHlO7H2W15A5uGnnY02oOLU3wpUFct7wfhfz186hO4YTr5UcNgTxQTN0c8FaEOm9L7F60f4dpiXXjeY/rb71fRI7ItwanZ12Ol2/5vAh5NASkv0qJhsO/cbpgl4Kk9BidUVmKTOeuuBtQEud7OC4VwO7e75QVUK8oCoBU22KefHLNFYpNsR8pvXSrY+3unxd36b+n3GDc6j8Xes6oc+2/pqQPW8vqhBlnZZEmMmX/rG9vZBQ1M3+DaTUECivcQBvIQKOHRdxnnCJbVOFHcoF8J1lNfeA7KUiKby6Wjx4WYjH8qURgc1ecKucldRfu8y1bqp0vEPHiA7P3NMGjfr7Q2fQ1CkR8ZxAbX7lmvmNOvjRelEbe8A2zB6zggS/YL1mzLV1lVqGGz0LVfC9shqZaRP4wQACgKFZz1vdI7QnQzBXJovGenMnvocbZHSc5yHKm6HEWuyYm099eZc9PxNNtbliNMNF4Le2XtLFJJX3IP6GB7aEQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(39860400002)(396003)(346002)(376002)(33656002)(53546011)(6506007)(38100700002)(6512007)(4744005)(76116006)(38070700005)(71200400001)(5660300002)(66556008)(8936002)(66476007)(66446008)(41300700001)(316002)(66946007)(54906003)(4326008)(122000001)(8676002)(2906002)(186003)(64756008)(6916009)(91956017)(36756003)(2616005)(478600001)(26005)(6486002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <E25036295443A44CB4A74D48A2FFEF2C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2410
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	73ad93a2-9fed-4161-b651-08da754f24c9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CibKXqL6Y9rp9aey2BYMbdLYX8K9thQLI08W68SyAtI0fIDZ5rV8Dbcojz47llMjuSUgB3Vwk87ilPA6O4gZ2ZNFOA5v/WO+yoiXSPgLyuy9MZ65ORZZ7PvB81jMwjHhSI9WLbjNrInFZ/KgRrwneva5znH2xM/a8mEMY7VLUQTBcftTYKS05xdKt2QWWZMQR2Ug2knoCu+PZfWxY9Ab6fVRZMFiqWRRTn4Z5iHbrxADvGWrYZtj0g602c8X+4pBTJjac+71W9klBRK7Mk+iea7c1kwnUcr/0KHhRVmNwboS79hFuK7OZyFr779jIfQmfwq6Lf6dZu/rgbC74XpCiw4kHguJ27XwP3UtHYD1hq1kGKUHlr5wKebBo9BVevKNkZscmK3tZyRlhfVFoeYDSly0dtOaopleYdzto82Y90q+PVz2QvPv+CMTl1cot0cXoF0TR99ZYQP+243j0wXb+zZCjNdmziM5osY8W0ZQqZdPlqx2WcbNZmmxME7X4uKefJOtVDyHkNgoNXwaL8r1czez3BOZV8zefsi0NkXtsloqCLNe2PdiPe7WSVEgrB/vVTVymUpzMyMAjSbd5vCsjdRVtDxeXWqEdhf8ZpTz4DLBfnuIm0pNBdQ1+XFcE6mmkvh+W/hxQn7Qx3lZ7zYbEb7CM4aFDGdffDJy7bOCqk9foogwmJScIVD5rBMUpMXWovwzocAPAmPrv6huwKiJJyT8NfpX7RB7QesFZY1qe0IuyHhnehDNhDKxN2SgXFJuYpnbWfCWtkYnRd8vd/paI2I5WOLx0nI6qSbeh+X6awlGZ2QLDHsMOaeLnZzH/N3C
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(346002)(376002)(396003)(40470700004)(36840700001)(46966006)(4744005)(82740400003)(40460700003)(33656002)(5660300002)(86362001)(6862004)(6486002)(70586007)(4326008)(70206006)(356005)(316002)(54906003)(40480700001)(81166007)(8936002)(26005)(36860700001)(6512007)(186003)(8676002)(47076005)(336012)(2616005)(53546011)(36756003)(82310400005)(2906002)(478600001)(41300700001)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 12:53:30.0022
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aa47ffda-4d3c-48ab-2c9a-08da754f2a71
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6278



> On 3 Aug 2022, at 13:05, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 03.08.2022 13:57, Bertrand Marquis wrote:
>> When calling python tools to convert misra documentation or merge
>> cppcheck xml files, use $(PYTHON).
>> While there fix misra document conversion script to be executable.
>>=20
>> Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
>> Fixes: 43aa3f6e72 xen/build: Add cppcheck and cppcheck-html make rules
>=20
> Nit: These two titles would want expressing consistently. If I
> end up committing this, I'll try to remember to adjust.

Right I forgot the () here.
>=20
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>=20
> Acked-by: Jan Beulich <jbeulich@suse.com>
>=20

Thanks

> Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:55:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379922.613815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDu9-0006oz-Rv; Wed, 03 Aug 2022 12:55:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379922.613815; Wed, 03 Aug 2022 12:55:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDu9-0006os-P9; Wed, 03 Aug 2022 12:55:17 +0000
Received: by outflank-mailman (input) for mailman id 379922;
 Wed, 03 Aug 2022 12:55:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4Xu=YH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oJDu8-0006om-8K
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:55:16 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130055.outbound.protection.outlook.com [40.107.13.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84f590ee-132b-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 14:55:15 +0200 (CEST)
Received: from AM6PR02CA0026.eurprd02.prod.outlook.com (2603:10a6:20b:6e::39)
 by HE1PR0801MB2123.eurprd08.prod.outlook.com (2603:10a6:3:7e::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Wed, 3 Aug
 2022 12:55:12 +0000
Received: from VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:6e:cafe::4a) by AM6PR02CA0026.outlook.office365.com
 (2603:10a6:20b:6e::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Wed, 3 Aug 2022 12:55:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT037.mail.protection.outlook.com (10.152.19.70) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Wed, 3 Aug 2022 12:55:11 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Wed, 03 Aug 2022 12:55:10 +0000
Received: from e44c616999b9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B4B6EDDA-300A-40C9-B575-3D971039DC17.1; 
 Wed, 03 Aug 2022 12:55:04 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e44c616999b9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 03 Aug 2022 12:55:04 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by HE1PR0802MB2410.eurprd08.prod.outlook.com (2603:10a6:3:dd::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Wed, 3 Aug
 2022 12:55:02 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.014; Wed, 3 Aug 2022
 12:55:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84f590ee-132b-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=iOKsd61Gt47Si4vcZfDfsA/ZsUUkLPSYmfTdGqKBW+2A0IqLXP845DvHrnqJK8OZbrKvV+ESZs/1J1j+mOHSLF7qlF0OYQccsFJkrJ3wK2+rF9bGaxgn3KijVMYuo3VfmgW5hpEgs3HUUL1UPBV9gA6Xyo/POqp/NUeMNXwAgkLzI5N1MbEza5J74TtBBKUTrScf3Zf8SxZGIOfMsabxbaurTijxH6HCJl0YVrOWwpQBzCzliXfRSbfobtDcLcoJMuPNH90LBsRPX/JbuWW8jhKiCIHOzCJCWA1zSwgz156RzrCBij+HGV1+03guDTGr3zYuH5JG6b2Hcz7yHAdvyA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nu8PmLjKmiRku0Kk/7dB2Im4mCKJ76wo9ud2Qrrg42E=;
 b=P0OhJlXXDjW1+FrC+R39UwEfhp6PYtCfmkHy+yUHYBN4ixHcBGKcuzPVHvxXmeZFLGZPYliP5QrrmI6mhKpi8+UJkoWYvsovc6gERVFPg6+ggX/j4LmBmdsPqf4vBHZI5b/lHKYTbVZ/QKgqS1snM/YqS7JZbO7irn6bjmJhxDuhkaTlwdFoWQY3h6sQ8NC8unm+sJ2WNOWbUjQQ3XM5nGMXAfkE0TK6PLU0Ea4iTvvm0rWN9LTVLke7ZI03s7mNA+Mu90OdOqOWF0zDM4yZbr4T3QNvg46AKxf/C6V4yL74QlerE4fW/gh+0DHf2GYyDWQZcKbF2zmt0GKxLeTWfQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nu8PmLjKmiRku0Kk/7dB2Im4mCKJ76wo9ud2Qrrg42E=;
 b=UGIU5k9aKMpdj6VRhTIv+qdRRzBtRS84nPp3d3y9vx8Vfa94Tuowqr92IyRrM0zKgZJ9HXzH7yfPXEitVxImDWeyhFt63vNoWDPChH0DZKPXlBLWzATbQ+ygyZ5aVluIMbnMgo0SZQCa1fh57CyhwFPybHFamXbIu9XEmoT0HrU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 16dbec55d3d621b2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CrkVoLBm4ybeO/obxpSdyTY9iBAS8YW5Jdu3ozPFeUYDe4HGFsukO7Jr8IlQ7T+7rUpOnp3AMSDZ8muk0OU8vgbiBJIDd1pV+/tBwDyKAJSqsKdCJF0YZI9l3MPNkaPHVMIW0k2EsOX3L0ohP9v7ejMHlMexiGSNtEl73xMSCqeyvV7WQg9zAkExB8luJeQj5oGpeV7H61Chx3vMDCgU8iPROVSTdxWd/R653qjFYLI/cGuda39PGn1w7Czte32vj07Ety2ZrSZtwjS4B0khAQq4wGXzhlNgGm26xguNDYXfBztmLCUnnkX/14gAW46hX1vH+/wvRrGKooRZ5hQP9g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nu8PmLjKmiRku0Kk/7dB2Im4mCKJ76wo9ud2Qrrg42E=;
 b=QkRg7gHtaNRWdAx+7DZeuatWRl3gV88v4SW6B9JVMNhKykikQNYFSaK162U0ODRfBfi7S6lNcVEtnbcXvQkgHFVyot1gJHyYNICZHU985D6y207RdjgKZfPwl9jTAPmZnTVI/Wf8/N1KuAdxmtWlAb4LqibbKmGj377UrkdD3v5SdqGd9XgCJKbmrTQ945BWJFiNFsqLscAEG/faHf8u/CDJatL9/AWt6cdw0TBExIjn7K1B94ylQdg87P0yX0A04hpn6fw43wAUS4y1nwexfN74bMoqAz1NnMZZQZ32iR3FEUIeziXE4ivTnfHheR+FjLCTf4CcIBXLUjcige6TmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nu8PmLjKmiRku0Kk/7dB2Im4mCKJ76wo9ud2Qrrg42E=;
 b=UGIU5k9aKMpdj6VRhTIv+qdRRzBtRS84nPp3d3y9vx8Vfa94Tuowqr92IyRrM0zKgZJ9HXzH7yfPXEitVxImDWeyhFt63vNoWDPChH0DZKPXlBLWzATbQ+ygyZ5aVluIMbnMgo0SZQCa1fh57CyhwFPybHFamXbIu9XEmoT0HrU=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Thread-Topic: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Thread-Index: AQHYpzA5Sq+ptI31i02cWAL8jJ4SLa2dFF0AgAABZ4CAAAxXgA==
Date: Wed, 3 Aug 2022 12:55:01 +0000
Message-ID: <6FFB4DB2-5F3B-4E2F-AF7D-A5C47D497476@arm.com>
References:
 <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
 <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
 <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
In-Reply-To: <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 9982fca0-5cc8-4071-02e7-08da754f66bc
x-ms-traffictypediagnostic:
	HE1PR0802MB2410:EE_|VE1EUR03FT037:EE_|HE1PR0801MB2123:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 SJ6/rbm9qf3iXGUKZFtDH3iCrruTly9MjnFnejgQtPPuvLjpmNKFCJdsm+OwK8/Ad/oZVCla6gqQvuih+YFAIOYGhIt+A9TmduvfnlxjC9BYikPnQhIT+twnl4iBbMn4eaOv6gbmIrGachzGQq1Tn/wy2X1232s2S3/NEcN6l950ccaI9GbdFfLt47eQ4mM3TmFiNjg2RHtWb6iseY3+4XM3XyurcXd7CUIErYV/YnFt3DcfVuLzSEuRwlOU8Ltoj3PCPDalXFZc1MMzL8E92JLRDFdUbcMwxbZhH9RlUZJXcLArLoP8JVxp55XgIdm5gEHVK+YdchDY51nBvWamxZ+xW9oxy/qkhtFUw5nNBUcT5vhjxjlkObmKSCn2thiUKShDt+OzdSYNgDGEq95wCaYs50aSkAB93scpMpHR1Bza5VG6TXNkpBDNpwmEBY2STN8hu/cloJSpJf/qQkX+CjeeC9t51wcjiiBq1N5Zrm07TjFojfP8nBaqlsuLjt9tviup9Gh9D6AP79WmGH08s8+OkaEyNgyeWFoMNZjIGfGlqXM8qZykqpM6vS9uT9MC1DNwStgfrDVoKabUQCDNdg0iVff6OqicaLxJiXvhjq4BF6R5/KU+M7RLB7upy6nSlt8ofRfvtgWmWhzCatIHZOpWHf0qioqEYfzFI6yjnqz1SHh5aanyAX53anuKbZ8mttnYqTCwUd0wVaXJS9oM0Bx0Cr7AG+PN11X/tc+SrxQuu4bDI6ltT0u4GcbOj0llKicVK5Biq7fVHoVQ/dhxyQkAXZ0ZaMZ3J3vXtnrinDAILAnAIEP9XvNK6O0+OEvIehgy48SxRl0b4CaFmCiCZA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(39860400002)(396003)(346002)(376002)(33656002)(53546011)(6506007)(38100700002)(6512007)(76116006)(38070700005)(71200400001)(5660300002)(66556008)(8936002)(66476007)(66446008)(41300700001)(316002)(66946007)(54906003)(4326008)(122000001)(8676002)(2906002)(186003)(64756008)(6916009)(91956017)(36756003)(2616005)(478600001)(26005)(6486002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <6EB505F1BEEDC74585B6EC0952F493B4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2410
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d9ffbc46-6333-46bc-f96b-08da754f6130
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Wzur+ajlXmZ6JOv4npsaiYqM4Nt4bTc0kk5QDkTELMuSN06Z4ahYuCBzJvwp5X487B2aLZ8+rP6hycWhLc8CqlCQ3r0W61i2w2lEY0J9dgKeq01ns320WnBGAdKv6yZGc6qqWt3o71F4CspbitoYuE0usNe0PKvnHsAT1SlFRbLgU97lduyv7wDqVnknBdVWpK0952W7G6Te87Ly6hNZBsfNKrzDlkdjUHTcK1zTL9ppqJtN4HqEcKTpe+rco+1ZQarktgPnYsxltt0fm8DwIlfDdVsNRBz0Hy2RyhBUr7YBhgjXbtHIuv3NxQwWH/dEGwf1bJPOEda7CNreuJBZoYvxIc90NajsxKbs2GsKd3PtMu+ne0RXmnIT43MkifZ1MZ4maK9JCN+X9LifC/ZjQSPc9V41cHseOwrFQKIRd1ZUrQY9qFA+x9D3Dx1HouDlpeBbaxa5qhqRuuMpXmrPpEplxtdPGLF0meuPRHn8uOdi7vc3+AlYEw2PPLOt/RKBwZ0SWIrmRJvV6thmcQPsDedPpLk7FYUR1Xf478fNs0h9Kgmagn6fRKcyFZQO4mfnpm/jAxNABovgF/tEaeeH9MC8/eXyMP5sdczV5nYyv7spz3N4zAGOTmGv3eEc0d+ZQGNEpyvMwYfgrjLAmENnnL/o5bk2ribEcojs0xEySPPqiC098Qm48wBcCLdswP2hiTTJty6SYytIlAM/XK3duGTYQGx208mKU+XAVaaMz3UkZTTHGyjH3NCz6Dm3kO165p6JdqN0kq12uKx7lY3cEoMnzpSZon+FxhZ8Q83phcXKl6G9blg1kPg/Dl8qahmO
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(39860400002)(346002)(396003)(36840700001)(40470700004)(46966006)(36860700001)(54906003)(8936002)(70206006)(82740400003)(26005)(70586007)(40480700001)(47076005)(6862004)(6512007)(336012)(86362001)(33656002)(6506007)(186003)(8676002)(4326008)(316002)(81166007)(356005)(82310400005)(40460700003)(41300700001)(36756003)(5660300002)(2906002)(6486002)(478600001)(53546011)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 12:55:11.1687
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9982fca0-5cc8-4071-02e7-08da754f66bc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB2123

DQoNCj4gT24gMyBBdWcgMjAyMiwgYXQgMTM6MTAsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPiANCj4gSGksDQo+IA0KPiBPbiAwMy8wOC8yMDIyIDEzOjA1LCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+IE9uIDAzLjA4LjIwMjIgMTM6NTcsIEJlcnRyYW5kIE1hcnF1aXMgd3Jv
dGU6DQo+Pj4gV2hlbiBjYWxsaW5nIHB5dGhvbiB0b29scyB0byBjb252ZXJ0IG1pc3JhIGRvY3Vt
ZW50YXRpb24gb3IgbWVyZ2UNCj4+PiBjcHBjaGVjayB4bWwgZmlsZXMsIHVzZSAkKFBZVEhPTiku
DQo+Pj4gV2hpbGUgdGhlcmUgZml4IG1pc3JhIGRvY3VtZW50IGNvbnZlcnNpb24gc2NyaXB0IHRv
IGJlIGV4ZWN1dGFibGUuDQo+Pj4gDQo+Pj4gRml4ZXM6IDU3Y2FhNTM3NTMgKHhlbjogQWRkIE1J
U1JBIHN1cHBvcnQgdG8gY3BwY2hlY2sgbWFrZSBydWxlKQ0KPj4+IEZpeGVzOiA0M2FhM2Y2ZTcy
IHhlbi9idWlsZDogQWRkIGNwcGNoZWNrIGFuZCBjcHBjaGVjay1odG1sIG1ha2UgcnVsZXMNCj4+
IE5pdDogVGhlc2UgdHdvIHRpdGxlcyB3b3VsZCB3YW50IGV4cHJlc3NpbmcgY29uc2lzdGVudGx5
LiBJZiBJDQo+PiBlbmQgdXAgY29tbWl0dGluZyB0aGlzLCBJJ2xsIHRyeSB0byByZW1lbWJlciB0
byBhZGp1c3QuDQo+IA0KPiBUaGVyZSBhcmUgYWN0dWFsbHkgYSBmZXcgaXNzdWVzIHdpdGggdGhl
IEZpeGVzIHRhZ3MuIEZyb20gdGhlIGRvYyBbMV0gOg0KPiAgLSB0aGUgc2hhMSBzaG91bGQgYmUg
MTIgY2hhcmFjdGVycyAocmF0aGVyIHRoYW4gMTApDQo+ICAtIHRoZSBmb3JtYXQgc2hvdWxkIGJl
Og0KPiAgICAgIEZpeGVzOiA8Y29taWRpZD4gKCJDb21taXQgdGl0bGUiKQ0KDQpZb3Ugd2FudCBt
ZSB0byByZXNlbmQgYW5kIGZpeCB0aGF0ID8NCg0KT24gdGhlIDEyIGNoYXJzIG9uZSwgSSBtdXN0
IGFkbWl0IEkgdXNlZCBnaXQgbG9nIOKAlG9uZWxpbmUgYW5kIGRpZCBub3QgY291bnQuDQpBbnkg
cGFydGljdWxhciByZWFzb24gdG8gdXNlIDEyIGluc3RlYWQgb2YgdGhlIDEwIHRoYXQgZ2l0IGxv
ZyBpcyBnaXZpbmcgPw0KU2hvdWxkIHdlIHN1Z2dlc3QgaG93IHRvIGdldCB0aGlzIHByb3Blcmx5
IGluIGEgc2ltcGxlIG1hbm5lciA/DQoNCkNoZWVycw0KQmVydHJhbmQNCg0KPiANCj4gQ2hlZXJz
LA0KPiANCj4gWzFdIGRvY3MvcHJvY2Vzcy9zZW5kaW5nLXBhdGNoZXMucGFuZG9jDQo+IA0KPiAt
LSANCj4gSnVsaWVuIEdyYWxsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 12:56:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 12:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379928.613826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDvD-0007Sw-A6; Wed, 03 Aug 2022 12:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379928.613826; Wed, 03 Aug 2022 12:56:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJDvD-0007Sp-7J; Wed, 03 Aug 2022 12:56:23 +0000
Received: by outflank-mailman (input) for mailman id 379928;
 Wed, 03 Aug 2022 12:56:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4Xu=YH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oJDvB-0007Sd-TC
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 12:56:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac2bc0db-132b-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 14:56:21 +0200 (CEST)
Received: from DB6PR07CA0050.eurprd07.prod.outlook.com (2603:10a6:6:2a::12) by
 DU0PR08MB8446.eurprd08.prod.outlook.com (2603:10a6:10:406::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.14; Wed, 3 Aug 2022 12:56:18 +0000
Received: from DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:2a:cafe::c7) by DB6PR07CA0050.outlook.office365.com
 (2603:10a6:6:2a::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Wed, 3 Aug 2022 12:56:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT028.mail.protection.outlook.com (100.127.142.236) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Wed, 3 Aug 2022 12:56:17 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Wed, 03 Aug 2022 12:56:17 +0000
Received: from be83a209a627.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7B441FFA-221F-4D2C-8CDA-5EFB69F6E33A.1; 
 Wed, 03 Aug 2022 12:56:11 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id be83a209a627.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 03 Aug 2022 12:56:11 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by HE1PR0802MB2410.eurprd08.prod.outlook.com (2603:10a6:3:dd::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Wed, 3 Aug
 2022 12:56:09 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.014; Wed, 3 Aug 2022
 12:56:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac2bc0db-132b-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=DZRyLlDqsBksf+0YD4ePcR7YA2ZEiGWD0sqte//2rf6dXxK3ZDw7ZMOkpUNAJM3Jo/pGXZMnmNvQ7QGS1Gm2/oe7SIHxEPW45BYZdShgkM3hQGuVz+335X3CV3rkzERpgjjSKyHFHISPsrUlmxpNRgRHwQk1fsDKh06Rxgpjg3pMj7YiF8huNd1mWW3t9eav14v07WAfnR1KTU49kPQzf1r6o547X9ATgutrE/5M/3qEiOv8Serwcr/KM7ueaOdFA5ZEvFDFpSPtoiLGiREue1jNH1eYILlX+FR3Vsupzo3c9qle4DJQZuFy48SnIVjTGQPajbFP6c2/NPTmfcjYNQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G6gR2rmGdCitEDGJC/KOMBzV7rQNxrpk/lEjZupbxIc=;
 b=lkqdt6+43mA64TU42S6Ifc+stuqkoAHIYA2uMolMwd2X+wj4XBmQzFD8jnPN/pUO7WF4F5Nsm7hXKq7RuujFH+THfUeXJxpAOAj5ujsMwOgmIwCi6XrGPh33Ad7rkAN8DAR29Jxo3p/nLqQZgY6bwJWtlT1tpgPPyqh8/2gDAwADnaCWtuVFi/9Yo5a1xfLnftntBUGBGagmxskPFE0oQ+jnrkvl+NTnjQxboFnUmZTxQ5BUkso9PMWFaJhRlHES9zJ37pSKHE+IEB7DN/9w7uhM9YoA3qOWdT2DHZzt9VkoUH5ZDbF+wY8Qra4GUixFC8jZI2tZmbc0aQbe5zs6Tg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G6gR2rmGdCitEDGJC/KOMBzV7rQNxrpk/lEjZupbxIc=;
 b=bXzp36yV92ttDwBY0StqkcgvG4/f5ykhp3X3MwlYAdYKONxzpQgtGzURmdk7hs9E0cfGQwmjFhcYR3PUCZpHJq26U8mhgeNTZ/fnspLlI/TtreoooMyrxZE3DBSO7a6B/ZAnomzY/pDmNdHYERJRGHp1zmSz1j4BrgCf7LDMMTg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4dfcb24010ab106b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kQAHJQtyKrG+UxNcfmZKB2AleNO/rsYLrkZUT0Ml4zDMhEepdZnCsI4uwSslCoZWD+Lztogo4WARhSmyfWWO9X5CXjoe7Szj8W1kPEc+fPloOvszSoGlIFT5VWAdEYFlcK9vyHflFHJCSYuq/C8gT49ajMfyHtmc/aGX17iqYSyrlTwUBrinBp0D4cWIOFnkNCA2xh9/Q1y3qMPiq1nNTfiMvXWUEJYPxI/WAtuVmqhb0CTmpzfYKaIzdpx2WqjZxL59UgDJ5Y07As1iz5fgsM47uXxK/cFD5IQCj+Dp720bK8o9w/nHKqHVpnhPuoPCuM8gJ9CAxtgOu5DoLZVnJg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G6gR2rmGdCitEDGJC/KOMBzV7rQNxrpk/lEjZupbxIc=;
 b=f8EsKmpoyChpGucfIofOudqcFxzKJehdzrqPNuRA35L/CfxrlhpUt3Isqa/EFA3hUrtHXVuboSPnD1bMdzOQThsISJ190wS31nu6AO1N3M9WhoN5WVOdyJ+/8jBQju//yvAEOyBu+uxzCIJK1w//mfDQX3sRKQ3BEz3NUj2pB/4sMsfmoyV0kpQakTGbQiv1RnjTbVblf7gkSo+beI5/Zd41PY8obzKvX7MoSftHmNM6fQm7eFIQ5GxWfoeP1cFDeDsDer+i6UyXKpXXCJfH0QWkPCXNREpkOuChoRSHsWV2DSZ4ZKHPNBQin0KVw/l81zA4I00x1EyKRArXuaiVsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G6gR2rmGdCitEDGJC/KOMBzV7rQNxrpk/lEjZupbxIc=;
 b=bXzp36yV92ttDwBY0StqkcgvG4/f5ykhp3X3MwlYAdYKONxzpQgtGzURmdk7hs9E0cfGQwmjFhcYR3PUCZpHJq26U8mhgeNTZ/fnspLlI/TtreoooMyrxZE3DBSO7a6B/ZAnomzY/pDmNdHYERJRGHp1zmSz1j4BrgCf7LDMMTg=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Thread-Topic: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Thread-Index: AQHYpzA5Sq+ptI31i02cWAL8jJ4SLa2dFF0AgAABZ4CAAAxXgIAAAFGA
Date: Wed, 3 Aug 2022 12:56:09 +0000
Message-ID: <773AB351-B4C7-43ED-AA83-FC80DCF2541D@arm.com>
References:
 <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
 <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
 <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
 <6FFB4DB2-5F3B-4E2F-AF7D-A5C47D497476@arm.com>
In-Reply-To: <6FFB4DB2-5F3B-4E2F-AF7D-A5C47D497476@arm.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2bd6af5c-4f34-49e7-e2cb-08da754f8e70
x-ms-traffictypediagnostic:
	HE1PR0802MB2410:EE_|DBAEUR03FT028:EE_|DU0PR08MB8446:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 c6Uu+2vo7Tcsf76K7+2jKhBp8NECxpqZkT/C6eOrXGf+lNIngsWxRGxGHj7qUknUYoqdLE3mEK+kXG/Yk0D8K3mLLfvU23B7TDuQCZ1hT8Ud3wTmRnik9+CLqnvJvWp33mPY5MwrfTOjYz6nCskHsJwpcBN68Lp+D518MEZCvSdhoNUpBxlDWEtIOtAYvZOvz0sHREj2J2KAkVuGlwnESTWoaB7EZwHVvbEVB1ERfV2tpn1WfOgu9mX+KFcuducctedHj+lhvtpWdAAgGtIPiPVZGU9sAlY76popp2t53GlFqi6nh0pXrHv0PBgr78eseUiGhpnr0wRwsBKvtiBe7Z2tWxFdTEvQ4P1z//XH1q4L11M5dfUuioeJ4QW+PLyM9FyDs/U5rGqXSA1g1rTdrezZiwhUKgMoz3A3dw3XT6eze7z/EykcQEmtciSiu9tE15TdgjbfIJI+ltWrQbY8p7NYdOn2pv8e8as1yyU5IjQDCgBO9FLTFsEEz4qQ1cXBuJhQdhBNRCzj1zj9QKY8DdIN/Qq1G4epK1jECPy39svC2V4NerxShIhof3JEHN6iRkLXqgb67L1lOiZnpGZhd/IJkqejU63yD2x11FM3//ac6KEk3xbAbQrvQtn84+gFMxBj4YpuBLU3jOMRNGKta9pPZmKH7XHW83Qw/JGIsdgJ33Fk2AJdPo7lq6v4bCeib9/DaQmlv1kG5s324JEQeqSY1I5BF0s3AMVw1JuQY9H7UYaY55KWZDRtyH9hWOrYXg3YAgNbaQUU4bmU2PqNnOc7HDAvigmQ9RuyFYjHGf+dqbllhuuVh5R0I+8wOXUZFUbE3v/r30jQyVy4pdoqPA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(39860400002)(396003)(346002)(376002)(33656002)(53546011)(6506007)(38100700002)(6512007)(76116006)(38070700005)(71200400001)(5660300002)(66556008)(8936002)(66476007)(66446008)(41300700001)(316002)(66946007)(54906003)(4326008)(122000001)(8676002)(2906002)(186003)(64756008)(6916009)(91956017)(36756003)(2616005)(478600001)(26005)(6486002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <832CC0599EAA0E47928C55D4B3C78958@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2410
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	320e3336-1cf5-40b6-8205-08da754f898b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oNNcqjNgG/sdYTe/iPqEvErTkJKhCV+AOgfzSFV/K/qcC8Si1uwNbfUnkfnufm2ySLHHRkhbK9Ma3c/ixdGYoZKPEyvD0oDpnYkigwV0SNlFKtHY0ggjx+4nmthK68vh7F0KOAMKZsZ1KDM6+BN4ujc4rmevttaUvQefKsR0yI/Uyk17/bfnQ0P/kXzYtZ2wL7IHjxxhH37pVyib7ldDbG6IUEnzy8kupxFIGnt6+OpNRr0fsd20M605snFAmqLd40Oud6r7EBUJgw3Fv9Ptv9xFXAf1SRLLELELO/vAyaRmwcZrS942Ujx7kRMhQK0WQ7ywT+I+coUYlEp/hP1zbJr5oFhcRTHxG2tATpRmU7ylYVxsN/DmK6T/+wDm9UUlItXZwUpSyJWEJNMZE8Ugn+BdmcCPutO/SMaXVVITtkvYDB4nvmBbmRVF1yAIO9KznhESl0hLaXATjmOMto8QlfOoeQ87GI1ZBgsR76YzeKUmP/8pEY9lDzz4/6jGpY/WoSY8BGgqr/ZTtbnrX1FDFKqVrIw6yPHkmxqPoyX0fP3Y84mImwhYEJ/OhtsjAfOyapeU50Z2G0TJ/8lUGT+m0EyXyLjGCEUlbzpFGpV7JO21rq3vtwgYv2YjVw+L85c301S0z/XtBULZvOJFinbKK2Q7J89uEomr65GaBTQXDToNZEWopGKCNw8U+EXuKWSiAEoWHiBQNix0Xx4vQcBPAOoPtzdwmfgFTFb+Clo4w0bTtNAT019mjen/5aGUv2aLP6ji3g9PcXdZEWBE4ZqjTdx6+ycVKIuwnbSzfRLiWsQWlp2HSCJAkgmmXx2DW2qY
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(39860400002)(346002)(376002)(46966006)(36840700001)(40470700004)(70586007)(5660300002)(6506007)(53546011)(6862004)(41300700001)(8936002)(54906003)(316002)(81166007)(40480700001)(82740400003)(356005)(70206006)(82310400005)(86362001)(2616005)(40460700003)(8676002)(6486002)(2906002)(186003)(47076005)(336012)(36860700001)(478600001)(36756003)(33656002)(6512007)(26005)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 12:56:17.8819
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2bd6af5c-4f34-49e7-e2cb-08da754f8e70
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8446

DQoNCj4gT24gMyBBdWcgMjAyMiwgYXQgMTM6NTUsIEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5k
Lk1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+IA0KPiANCj4gDQo+PiBPbiAzIEF1ZyAyMDIyLCBh
dCAxMzoxMCwgSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+PiANCj4+IEhp
LA0KPj4gDQo+PiBPbiAwMy8wOC8yMDIyIDEzOjA1LCBKYW4gQmV1bGljaCB3cm90ZToNCj4+PiBP
biAwMy4wOC4yMDIyIDEzOjU3LCBCZXJ0cmFuZCBNYXJxdWlzIHdyb3RlOg0KPj4+PiBXaGVuIGNh
bGxpbmcgcHl0aG9uIHRvb2xzIHRvIGNvbnZlcnQgbWlzcmEgZG9jdW1lbnRhdGlvbiBvciBtZXJn
ZQ0KPj4+PiBjcHBjaGVjayB4bWwgZmlsZXMsIHVzZSAkKFBZVEhPTikuDQo+Pj4+IFdoaWxlIHRo
ZXJlIGZpeCBtaXNyYSBkb2N1bWVudCBjb252ZXJzaW9uIHNjcmlwdCB0byBiZSBleGVjdXRhYmxl
Lg0KPj4+PiANCj4+Pj4gRml4ZXM6IDU3Y2FhNTM3NTMgKHhlbjogQWRkIE1JU1JBIHN1cHBvcnQg
dG8gY3BwY2hlY2sgbWFrZSBydWxlKQ0KPj4+PiBGaXhlczogNDNhYTNmNmU3MiB4ZW4vYnVpbGQ6
IEFkZCBjcHBjaGVjayBhbmQgY3BwY2hlY2staHRtbCBtYWtlIHJ1bGVzDQo+Pj4gTml0OiBUaGVz
ZSB0d28gdGl0bGVzIHdvdWxkIHdhbnQgZXhwcmVzc2luZyBjb25zaXN0ZW50bHkuIElmIEkNCj4+
PiBlbmQgdXAgY29tbWl0dGluZyB0aGlzLCBJJ2xsIHRyeSB0byByZW1lbWJlciB0byBhZGp1c3Qu
DQo+PiANCj4+IFRoZXJlIGFyZSBhY3R1YWxseSBhIGZldyBpc3N1ZXMgd2l0aCB0aGUgRml4ZXMg
dGFncy4gRnJvbSB0aGUgZG9jIFsxXSA6DQo+PiAtIHRoZSBzaGExIHNob3VsZCBiZSAxMiBjaGFy
YWN0ZXJzIChyYXRoZXIgdGhhbiAxMCkNCj4+IC0gdGhlIGZvcm1hdCBzaG91bGQgYmU6DQo+PiBG
aXhlczogPGNvbWlkaWQ+ICgiQ29tbWl0IHRpdGxlIikNCj4gDQo+IFlvdSB3YW50IG1lIHRvIHJl
c2VuZCBhbmQgZml4IHRoYXQgPw0KPiANCj4gT24gdGhlIDEyIGNoYXJzIG9uZSwgSSBtdXN0IGFk
bWl0IEkgdXNlZCBnaXQgbG9nIOKAlG9uZWxpbmUgYW5kIGRpZCBub3QgY291bnQuDQo+IEFueSBw
YXJ0aWN1bGFyIHJlYXNvbiB0byB1c2UgMTIgaW5zdGVhZCBvZiB0aGUgMTAgdGhhdCBnaXQgbG9n
IGlzIGdpdmluZyA/DQo+IFNob3VsZCB3ZSBzdWdnZXN0IGhvdyB0byBnZXQgdGhpcyBwcm9wZXJs
eSBpbiBhIHNpbXBsZSBtYW5uZXIgPw0KDQpNZWFuaW5nIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGdp
dCBjb25maWcgOi0pDQoNCkNoZWVycw0KQmVydHJhbmQNCg0KPiANCj4gQ2hlZXJzDQo+IEJlcnRy
YW5kDQo+IA0KPj4gDQo+PiBDaGVlcnMsDQo+PiANCj4+IFsxXSBkb2NzL3Byb2Nlc3Mvc2VuZGlu
Zy1wYXRjaGVzLnBhbmRvYw0KPj4gDQo+PiAtLSANCj4+IEp1bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 13:02:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 13:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379933.613837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJE0f-0000Xu-VS; Wed, 03 Aug 2022 13:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379933.613837; Wed, 03 Aug 2022 13:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJE0f-0000Xn-SN; Wed, 03 Aug 2022 13:02:01 +0000
Received: by outflank-mailman (input) for mailman id 379933;
 Wed, 03 Aug 2022 13:02:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJE0e-0000Xh-Ll
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 13:02:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJE0b-0000Mh-OD; Wed, 03 Aug 2022 13:01:57 +0000
Received: from [54.239.6.189] (helo=[10.7.237.20])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJE0b-0004Kk-HT; Wed, 03 Aug 2022 13:01:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=su/42yZTHH8m1qzwIC19o2LVptySkIWDtYLdMxXZYGk=; b=epm4iVnxUG0XlM22+u8JzxdtMw
	d/PhP7Vb10ahumwvBZtl/xz8CWFf5bJeIGG6InRkcyFo9kD/ZqJRynyXYynd0wsfc/LsznFDq4OW6
	QJcy7xy9qWZ+aQvIpe+flV9EdUSnvbk8WIAXG4RxDBSZLIMoUJpElTaaYNa54BdKTJcU=;
Message-ID: <c953cce8-223a-4498-c840-3784d77c0a3c@xen.org>
Date: Wed, 3 Aug 2022 14:01:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
 <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
 <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
 <6FFB4DB2-5F3B-4E2F-AF7D-A5C47D497476@arm.com>
 <773AB351-B4C7-43ED-AA83-FC80DCF2541D@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <773AB351-B4C7-43ED-AA83-FC80DCF2541D@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Bertrand,

On 03/08/2022 13:56, Bertrand Marquis wrote:
> 
> 
>> On 3 Aug 2022, at 13:55, Bertrand Marquis <Bertrand.Marquis@arm.com> wrote:
>>
>>
>>
>>> On 3 Aug 2022, at 13:10, Julien Grall <julien@xen.org> wrote:
>>>
>>> Hi,
>>>
>>> On 03/08/2022 13:05, Jan Beulich wrote:
>>>> On 03.08.2022 13:57, Bertrand Marquis wrote:
>>>>> When calling python tools to convert misra documentation or merge
>>>>> cppcheck xml files, use $(PYTHON).
>>>>> While there fix misra document conversion script to be executable.
>>>>>
>>>>> Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
>>>>> Fixes: 43aa3f6e72 xen/build: Add cppcheck and cppcheck-html make rules
>>>> Nit: These two titles would want expressing consistently. If I
>>>> end up committing this, I'll try to remember to adjust.
>>>
>>> There are actually a few issues with the Fixes tags. From the doc [1] :
>>> - the sha1 should be 12 characters (rather than 10)
>>> - the format should be:
>>> Fixes: <comidid> ("Commit title")
>>
>> You want me to resend and fix that ?

If Jan doesn't want to fix it on commit. Then I would be happy to do it.

>>
>> On the 12 chars one, I must admit I used git log â€”oneline and did not count.
>> Any particular reason to use 12 instead of the 10 that git log is giving ?

10 characters will often result to clash. 12 is known to be sufficient 
and also used by Linux.

>> Should we suggest how to get this properly in a simple manner ?
> 
> Meaning without changing the git config :-)

You could use

42sh> git log --abbrev=<N> --abbrev-commit

where N is the number of characters.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 13:27:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 13:27:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379939.613849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJEPh-00034g-3p; Wed, 03 Aug 2022 13:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379939.613849; Wed, 03 Aug 2022 13:27:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJEPg-00034Z-UG; Wed, 03 Aug 2022 13:27:52 +0000
Received: by outflank-mailman (input) for mailman id 379939;
 Wed, 03 Aug 2022 13:27:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+C7S=YH=citrix.com=prvs=207fd374a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oJEPf-00034T-4r
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 13:27:51 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10c251a9-1330-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 15:27:49 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10c251a9-1330-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659533269;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=fOYrLEKpHirvMQcgzGy4HE9jocjE0I4w58zB6mY7cOA=;
  b=gZoKzKh7lrLUMT4XhBHRukwFfmzc7ieSYx7+bg2r8w0qtmZX0GliLLqx
   TyAaygFDaaT7cEFnbtmJn6zhYoM2pRp4d8tV9KVSuH6PcnG3cGlxQLCPH
   uVnRBiMXzqYn8SOVna9zLM4sqVNUs7zVL4gjbfVQjsRvQASIUW9jSwMte
   s=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77274385
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A/zGHX6l72diptj4W89KG16no5mJPLROOEa9N2?=
 =?us-ascii?q?KgSYm36f7AEGi7AQ0E4bYEwkwOOGx2MN4LxfrTIMZgnwacg/LdXDsLzolLdH?=
 =?us-ascii?q?vP+ukxq7tvdL1A06r1s82kWjEd9aRdn6Ys+0z30HbRw+rWwp/KC+5yskU0JU?=
 =?us-ascii?q?u22Xkn0ehQnDslHnGbQclqUFdhJJH5DEYwl0qi6g/QeleMLGAEB30/DEamn4?=
 =?us-ascii?q?qGZlhSK6JZz6qVMTnlTfNcFwUxtqdNlMnLkTLgb3giAy1itS30SmmPwwW9c/?=
 =?us-ascii?q?tRcsnZBa/1mti1yxeo/7ceS+Eo+lD1kELX3ZyxVjGIUopvutjbxJE7cpBBKj?=
 =?us-ascii?q?idue6pzlMEUAw6ZE+uoTIEajNNW4ltK79OYQZoGRObdgC8MZ1u6V1FLpkNJc?=
 =?us-ascii?q?RqDA5crnK/Rtfg6v8hXclXOsAHCHRcqLDFO9AwyXD8wZeLDdUxKAYJOQcS0c?=
 =?us-ascii?q?tjo+oEiq/99l+EF/n3tzWqOdjBsqdNTdkym+NF6caIQiXEpIg3LgIybUSz/X?=
 =?us-ascii?q?uZVaOLofR60nLQ9y10R6NwzdXAgpU+s7oUh4QlQYO9pucnKxAMp8OWp1cZgA?=
 =?us-ascii?q?pcfqyD3+TpV9ZUWm+yWOy9+8fvFQM3cdZoDzf243UfwbbqZTmH1ql2HQogIS?=
 =?us-ascii?q?a3M48m1Q5rNQPM6dNXUOQgwQc8jEptPMn+Ge4qzNg68mvmfwfhDPgt9SIxX1?=
 =?us-ascii?q?t2TRzlMyzPtsanvZpBxuksuUDdmBr255G0HjI51+PSpdpGUKg6UTjAn/4CI3?=
 =?us-ascii?q?1WxUujyJ44KDXJz9w+K5GJ92d3K+jMh1hodJGw8tyxpsmthoIYjDlnIfCxJP?=
 =?us-ascii?q?ngmlKgrEV7pTCYeSOp3t1+g8FwSBtJNe5D7ISbhbNfkl71yp+07IJDv6K3fq?=
 =?us-ascii?q?+jN6SgtJE1KQSNYTTsDSUaXIlpJ4KSEpJphvnmur7bVWsZM/0obSDxLFPrIH?=
 =?us-ascii?q?E+5f//tdW4v9sfB1d1O9VQER6zWgyCGYSRB4okXXlu3nOORmLC4ajRcotA9k?=
 =?us-ascii?q?LQqxgd5OWw9XNpJZ/m1GhrQk+PZwFAUEk/4EIhSVauPvjS4M23PT5cdNWVS/?=
 =?us-ascii?q?TShIUKccTUlCL642T8wjk7DWo0l4pfWCxh2yGvJZmoDsun43aTHMEDzgGYiC?=
 =?us-ascii?q?2xCFI+KmJq3ISm1G1pS8BATqeQcB8zkRjd3QV5BDecd8JGfUmzwKJER4XDJb?=
 =?us-ascii?q?sD8NaCtbupiOkc4ZKirBzbFGAPa+REYgL4Iw56iWnJNnDB2OYA9HYngrITX4?=
 =?us-ascii?q?jKRl5UexZqaXgzCRKBSOrRwW30QBny3/IderinpEbB/XnlNP43dZjhsjwOkF?=
 =?us-ascii?q?2yEuZhPfxRLGliQgdvOu1Co7i96u2/JXq7aG172tUO5/snTWYpU65eTy7GJe?=
 =?us-ascii?q?SyaYC27XLYMlIQtyB+Ur/4wnxydz89ZwYWBIYEzTOc+nA2PsEnn5QdGG990t?=
 =?us-ascii?q?cAEyvONqvbSplxWK1jGHIApeyGNyt6mXrJ/xyffXr/OorZKIVGxgr6MYKvnJ?=
 =?us-ascii?q?T4p6Lp7gRe+qsNFgCm5dvLHHgqmtEDd1/iGrll0ZoMWxZqiguUNe/Cu7uLqF?=
 =?us-ascii?q?pbBYslSmxxNkYt7TjOdT2Zs2pi9OmGhlrdFzEdp+JmZX1jFYxeGVKfqvvzp/?=
 =?us-ascii?q?dK+h7UNi5DSHUn8Ugby8WKbtkRgWtoBxgzX2F+DFYKQb76bF/oaXnzxZQ9gY?=
 =?us-ascii?q?vhizr/ycXCQOI/oaoijo8CN8FkilvKUmSps+ac85qsFeWvMyHdso1SWhl8Ut?=
 =?us-ascii?q?yg/bqFfGkUECcZzoU5SuDVlD1tSDK5uILrjhV+7AWiKWM4it9POZEWAbfMSD?=
 =?us-ascii?q?6v0+jB4v/nstZnsQ0plFbxMusPCORvzffn0El5V/xY+SXpEyj7fNDU71BuRw?=
 =?us-ascii?q?cWRB0x9stLQcfxyeuX9Z2/Vpt4sHikJFBr94wQ60kvFqKvS+zF/kTY+lSUgi?=
 =?us-ascii?q?+AzU8gFuIf9mPNpBVzypLD/xRg+tWHJtvHoUoM94cH/2cZCvi0cnndLeS5I0?=
 =?us-ascii?q?lOd+xxSWYkwiSEP9w5/HY0K3JxRHPyANDojh9dcy0VDse6lLcoUNmGt+wQYp?=
 =?us-ascii?q?mNFFp2G7ONq9pwsiCZTz1CLyhKyC7xirsHF8ws9IGw60Ilx+fiBgla98Evj/?=
 =?us-ascii?q?PNDaI+VokL3DXZBR2TI/GKO1Ndp4u80DpLiXPRwzjiEV7HBQzmLXw8Ew9p8j?=
 =?us-ascii?q?p2gEZi+04NeJ6uaJH7gh4HLrwk4FK5+QFrXCC7HLGtaGrkdv9kkfBcCNwmuo?=
 =?us-ascii?q?DGqjVb2tHsSoR6PymsrPC4KVWIFZgl4e+vgqCdcs06suzsH5TNrFMYqPDff7?=
 =?us-ascii?q?6rkg6Fs7Ks12/wXHgd+e0K6MDbPRXm8U86uW/BH3miaf+uJ5Zv7NjjVW1Mv0?=
 =?us-ascii?q?oshldbxfHGifPsrXajhBd42VGGosDf581rH6Q7pDS/z5onLg+YSt0l9c+QKS?=
 =?us-ascii?q?wzrqPtPXU2n8kOwLRmK2/Pf7zBSfOr2/13l1w6+lx8K2zKgTVpt1bOY4ACem?=
 =?us-ascii?q?Ad5LDsaZ1AuC9L8QZp8KAHfttJTJH/M0I9azPcC42t+pD8tb0pIXSXHiVeqB?=
 =?us-ascii?q?ZYptyjJ1Wn7Pw1IBxB/yfekhHDqGL4C0qlHUmr0i22o7Wqb36xmcrdiu8TQt?=
 =?us-ascii?q?gSOxq4BwmjTV7h2BgQPcqjxy9fMd4FF9pM+gVYHUpb57kM4GvbMdDAigkWgt?=
 =?us-ascii?q?7ncsrWyPmHdj/i+5zH5RZRxGvoEkvTZQS7vubujAf5ilaamDULyidPGRtsbq?=
 =?us-ascii?q?+73NkaNRr5YH1vta0WNHMR8c+woeN1Y8osA9Ey2qd35bisPAeOORSne9OP/p?=
 =?us-ascii?q?fjgKyHn0F9LKcN4GhVvTb/qqazzQoK2xHg2gxhHyq3jzsCL?=
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="77274385"
Date: Wed, 3 Aug 2022 14:27:43 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [XEN PATCH v2 4/4] build: replace get-fields.sh by a perl script
Message-ID: <Yup3z/e4mMy3SqG2@perard.uk.xensource.com>
References: <20220614162248.40278-1-anthony.perard@citrix.com>
 <20220614162248.40278-5-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220614162248.40278-5-anthony.perard@citrix.com>

On Tue, Jun 14, 2022 at 05:22:48PM +0100, Anthony PERARD wrote:
> The get-fields.sh which generate all the include/compat/.xlat/*.h
> headers is quite slow. It takes for example nearly 3 seconds to
> generate platform.h on a recent machine, or 2.3 seconds for memory.h.
> 
> Since it's only text processing, rewriting the mix of shell/sed/python
> into a single perl script make the generation of those file a lot
> faster.
> 
> I tried to keep a similar look for the code, to keep the code similar
> between the shell and perl, and to ease review. So some code in perl
> might look weird or could be written better.
> 
> No functional change, the headers generated are identical.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Hi,

This patch have been on the mailing list for a little while now, could
it be acked then committed along with the previous one now?

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 13:30:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 13:30:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379944.613858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJERk-0003e9-CX; Wed, 03 Aug 2022 13:30:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379944.613858; Wed, 03 Aug 2022 13:30:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJERk-0003e2-9u; Wed, 03 Aug 2022 13:30:00 +0000
Received: by outflank-mailman (input) for mailman id 379944;
 Wed, 03 Aug 2022 13:29:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4Xu=YH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oJERi-0003du-WD
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 13:29:59 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00070.outbound.protection.outlook.com [40.107.0.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e544127-1330-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 15:29:58 +0200 (CEST)
Received: from DB6PR0501CA0007.eurprd05.prod.outlook.com (2603:10a6:4:8f::17)
 by DB8PR08MB5321.eurprd08.prod.outlook.com (2603:10a6:10:11c::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 13:29:45 +0000
Received: from DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:8f:cafe::4b) by DB6PR0501CA0007.outlook.office365.com
 (2603:10a6:4:8f::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Wed, 3 Aug 2022 13:29:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT016.mail.protection.outlook.com (100.127.142.204) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Wed, 3 Aug 2022 13:29:45 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Wed, 03 Aug 2022 13:29:45 +0000
Received: from 150d2d889cd0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C09D2604-921B-44D0-98C7-B7AAFFF1C4EA.1; 
 Wed, 03 Aug 2022 13:29:37 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 150d2d889cd0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 03 Aug 2022 13:29:37 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB7044.eurprd08.prod.outlook.com (2603:10a6:102:1dc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 13:29:33 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.014; Wed, 3 Aug 2022
 13:29:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e544127-1330-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=EhARSxh3jdA2uCzzIUNyhxx2g8Mfk9tFSx7x1XhMScchdeh7gEigTVtdfms8tZy+A9tD1o0mZBqlHcOiWQ2aQDteLMZVNmSYZx8toEfm10L+Jyu1ZqjYV/rkwBEUdfkzxk8T1tyiXR6LORAYbTUgSIGBWwTgZPqTv4g4aHspHwdr078Bu3ZEBc+wEdCuz+3X8FtsJ3A7MwW9EdMhqrBAJnlrrIvH7kuzAV4BLPXf/YHX4z5y5vEoqIKZ6EhHA51TrgxYeIiB9r756ouO1/RTKI8cVX80VRPJxMm/acO7A861eA1iyoSRGBjza48GdO8nTI/4W7/uU91twCMVQX+paw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jFc5BZ+ElYorGtkR3+LTJtv5DFuEoYwMtxGj4hJHeuE=;
 b=KDzVv7hkAmur+qUJ3qNby3qUeNHedD1497fzUHWG8tbwo3Nn4AFio9uEfM3IBGYm+yZIk28lbKGVkGvIIlbfEpa3zemksOwlNd3cyICoydeX4cLnGy1VkrKKRG6lywHFauy1gkltnCtS4U6H0kbgAHzGh4BfgAuqWwv5MCziw7m07fe8OGoFOI+F4zzold10n4UuNELcv0Gftyn1vfoGmPn+PSsDQbEoYUf4LjebZaGw+HfpO2LcTWQYJB4qBDMMgUo2XZwTSnN6PcM0YqxpZn7nLAPf8lNtdqqUbG49jNM1mH2FwUNXarB8llUi8mJltT6SgAUrdD+wCHSSaSv6RA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jFc5BZ+ElYorGtkR3+LTJtv5DFuEoYwMtxGj4hJHeuE=;
 b=K+EST/YVLhUWXhfU5mTC5zwHdpl5EUV/TgbQ29XVqN0n1QGzZ0nCQXdWXgXauOn4jifAc3mHdIJC68XCFE9OrLzzzIwQQ/S8o2oBd4Eu+a7Q530pA93mZ9ICd3dtaE/iznVk7JG2sMMZkE5AjkcIcwlwwoXJTvuB2JKe+Hgia7Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 90187dded7f5ec4d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fvr0XP0S2UIAqbsToBFIt4veDdWFhdBHh2/eN+UHUci54MEbkGLEWaAcr4G/q182Bm2VSJtVQrdBxWRfudqZ/32UsErNYtuwjzEvM+MEoMBdHEgJQ7jSPU4GCqRhKTQvdQpsco66gY26Q+am7KLSDMRaGaq/nxpbQSuKteh/wQZIyJr3RkVkWvJb61zYFZJ7E88lSvpxZppFhThDsvmKGOof52GiZ3Wx5YTBdaHZGkHooDRaegG/lHj2430iu0rnwNKhDZYu9THuk86fa/mIJ/UO6UYuUETRjnyrN9ib0ngfgIj/99BLBsYdblqRWsypsK9bZu5x51h6rbwgKI5wbg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jFc5BZ+ElYorGtkR3+LTJtv5DFuEoYwMtxGj4hJHeuE=;
 b=A9Kbn0nTiqz14i/3PPoD3a25+stNlJyouMh+XDr5SZGQAoTasgHs1zc/D7lmWx+Xbz/IUcL5lWVhZEv39x4Gv96uiANjOfHR/HG2AszNReigjn1KhlgAdiysMepfwNyVMGIL2XnG7xfq8YhOJRdWtTcXHOXSGagb5/z9CUQFigMmixJppKUOziIJoEYNvJcdztj/dgtat+HasiHZIdnM1wzvgl+mct8Uz4isrDXt8NY1+MKifkt/VC7CmyTXukHM7FIz9NqPsF4TFAagzlskaBGNCQb9vwmcNno5vV72OI10Gn8jFqg3FHqirvFXS+kRGr9tSJOEtYUAYPjxlHPRpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jFc5BZ+ElYorGtkR3+LTJtv5DFuEoYwMtxGj4hJHeuE=;
 b=K+EST/YVLhUWXhfU5mTC5zwHdpl5EUV/TgbQ29XVqN0n1QGzZ0nCQXdWXgXauOn4jifAc3mHdIJC68XCFE9OrLzzzIwQQ/S8o2oBd4Eu+a7Q530pA93mZ9ICd3dtaE/iznVk7JG2sMMZkE5AjkcIcwlwwoXJTvuB2JKe+Hgia7Q=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Thread-Topic: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Thread-Index:
 AQHYpzA5Sq+ptI31i02cWAL8jJ4SLa2dFF0AgAABZ4CAAAxXgIAAAFGAgAABnYCAAAe3AA==
Date: Wed, 3 Aug 2022 13:29:32 +0000
Message-ID: <DC024A67-B743-4D82-B9B0-966FA0F1853C@arm.com>
References:
 <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
 <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
 <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
 <6FFB4DB2-5F3B-4E2F-AF7D-A5C47D497476@arm.com>
 <773AB351-B4C7-43ED-AA83-FC80DCF2541D@arm.com>
 <c953cce8-223a-4498-c840-3784d77c0a3c@xen.org>
In-Reply-To: <c953cce8-223a-4498-c840-3784d77c0a3c@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 7b159558-3546-43a4-15ee-08da75543b0c
x-ms-traffictypediagnostic:
	PAXPR08MB7044:EE_|DBAEUR03FT016:EE_|DB8PR08MB5321:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 9mZr2EMKwPNjegrpDowqEaYTr1fz6JjB0AdRCVOB6vrA5Qxk7LWQf1bDHzkBrlQy6HBBFPN7gV8zJ3rWLI3pBLQrW8Vjtd4VEuyObzrcsiMTb9yZbYq0PhkZDahK9U5bQp5C2+Iu5GijVM0Ky+0eh1Tj9FfMCod+gluPcmjLw63oR956qESwZeu2PosN5KSoaeO6GMFx1stG6WnQuKVk6iqSb5Pc3YVieWB0LZ/A69wbS8f4u3V3eVKkVFr2bcNp9jHlp3touLAbGRgiC5/b/k8BL0v8UUuG3IlDnLieRSmB4G14B74HOwesOiF4LE6qJ9bwOelDim48O1S1I+IRH6GYcCbUoU+wgnfPypxY+k89rCSkxsCgtTfd49rHVzXoeG5cV8LX0rAKLWv9GhnZ/SRDx0Lc8kQ/MjM8ry85hBSmydSXGZTb2shPCR0bT7znL61T8e7B9KVe+7HG167QB06pfVaMoz08hdqszczPUPaS/P98TJ++1Lwfc/hfvU3WCLxt+5CqySWkyJIrjdJFBEM1tqGKPXQYLLfHH3WXfvucmQAl2zF6L5SJOF0Id4bLTyVpQlyBWFFxO2PzCHAhQbojhqsEvCKmYkZF0wJ4GtxKjBQX8x/OLjQJS8HqWxcI8VcRfE+uoGHFrRVNSdzNpJl56gMGbPL9A872vsgYnlnXJfBrGgGhBReYnuI/v940K062x6AOnroujVkdBp6yPT5VNJ6TShceIqkrNIGsmXXJgxOFjq4kWm4oeEVZlV5M7pI0WC8XwCGhmV7ZqOYsz0NZ1U6uYPsaDbGThJE59D1atm2r72D6s+joT1M1DlMa938Aipg2OhBdFO4t1YEU3A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(376002)(396003)(366004)(39860400002)(33656002)(86362001)(122000001)(38070700005)(76116006)(71200400001)(91956017)(38100700002)(4326008)(8936002)(66446008)(66476007)(66946007)(8676002)(5660300002)(6486002)(66556008)(316002)(64756008)(478600001)(6916009)(54906003)(2616005)(186003)(41300700001)(2906002)(6506007)(26005)(6512007)(53546011)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <FE4AFD858BF3EE43AA0FB61ADD3E3C77@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7044
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	de9411e6-2a62-4643-179a-08da75543394
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CDNcUpL8+nEAT/gk28zCHNOxxdpUDiXHtF+Q2e3Hy65N/dgJuyRcCKJDxdEeo+hQPWcduh4FCn2ITa0owwvRufs2KEckV8BB4391Re0ghznwnTgZWB9kPiuu5FeJy5KHrFgO7vH3r75eu1pLClO+DlX1kf28vYyYzPCOvf4y5mVSv0WmULqobotatWsnKzF4UEOSnA9QSB9HhvsyhmtS3qV3AZYyNzhc2+2zuAkVszbrxLt1CEgXrkgykdkR4vQQM0yOkjaqaCZRBaASiegDjU56Y7uaTWvfzx/zjk0o/fBXgBr1IcqqPfEKFKtYf3nK5kUf4LwpfHJDOI4oUMUYr77XYeQAQXJmuabUjYVsa+HO+yGmMaF/p7PHsFdJTfMsIQqCPsEZx13N+G1RqUhmeQD+ypGy+5TZyKo0PuN0p+jL5QAnpBCawb40a/VozVcVmf0lgHEKg980LEh/Xiw5bAS+XUn6juQnPk8NcmcoGH967IGXnO29N2i+3if7T+fN3N5NDfPGLAHJNYlAvOmd5z05uL5PDwSoIHY6F3t0V6P86NVbE5SAYaOjDwIohIOzHjtH9H0ebajrQUKxM7CtwZFrLXvJrjsefemIetXvNAPd+3JbWXniCtd2UPfYSqNYSZWpkwGMdwEDzFaaov11dUZ8Xk13liIb1w4o4OwhP7zXFHaVLcz/LGHjrJpYzlYRx3CtAKyePJSsl3kC/lpRWy7UsByACj5vPv6hQp0Q+ikhvgu0SURnVuQoPub/9PQkHl6i+5gMHWZYoj56sC0CoaBPzx9+A4mh9E8ssg9nZo/84/WZet7tWFPcJnNoreVQ
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(346002)(376002)(46966006)(40470700004)(36840700001)(316002)(26005)(47076005)(336012)(6506007)(53546011)(6512007)(86362001)(33656002)(36756003)(40480700001)(54906003)(41300700001)(40460700003)(4326008)(8676002)(70206006)(70586007)(36860700001)(5660300002)(356005)(8936002)(6862004)(82740400003)(2616005)(186003)(82310400005)(6486002)(2906002)(81166007)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 13:29:45.4540
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b159558-3546-43a4-15ee-08da75543b0c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5321

DQoNCj4gT24gMyBBdWcgMjAyMiwgYXQgMTQ6MDEsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPiANCj4gSGkgQmVydHJhbmQsDQo+IA0KPiBPbiAwMy8wOC8yMDIyIDEzOjU2
LCBCZXJ0cmFuZCBNYXJxdWlzIHdyb3RlOg0KPj4+IE9uIDMgQXVnIDIwMjIsIGF0IDEzOjU1LCBC
ZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPj4+IA0K
Pj4+IA0KPj4+IA0KPj4+PiBPbiAzIEF1ZyAyMDIyLCBhdCAxMzoxMCwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+Pj4+IA0KPj4+PiBIaSwNCj4+Pj4gDQo+Pj4+IE9uIDAz
LzA4LzIwMjIgMTM6MDUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+Pj4gT24gMDMuMDguMjAyMiAx
Mzo1NywgQmVydHJhbmQgTWFycXVpcyB3cm90ZToNCj4+Pj4+PiBXaGVuIGNhbGxpbmcgcHl0aG9u
IHRvb2xzIHRvIGNvbnZlcnQgbWlzcmEgZG9jdW1lbnRhdGlvbiBvciBtZXJnZQ0KPj4+Pj4+IGNw
cGNoZWNrIHhtbCBmaWxlcywgdXNlICQoUFlUSE9OKS4NCj4+Pj4+PiBXaGlsZSB0aGVyZSBmaXgg
bWlzcmEgZG9jdW1lbnQgY29udmVyc2lvbiBzY3JpcHQgdG8gYmUgZXhlY3V0YWJsZS4NCj4+Pj4+
PiANCj4+Pj4+PiBGaXhlczogNTdjYWE1Mzc1MyAoeGVuOiBBZGQgTUlTUkEgc3VwcG9ydCB0byBj
cHBjaGVjayBtYWtlIHJ1bGUpDQo+Pj4+Pj4gRml4ZXM6IDQzYWEzZjZlNzIgeGVuL2J1aWxkOiBB
ZGQgY3BwY2hlY2sgYW5kIGNwcGNoZWNrLWh0bWwgbWFrZSBydWxlcw0KPj4+Pj4gTml0OiBUaGVz
ZSB0d28gdGl0bGVzIHdvdWxkIHdhbnQgZXhwcmVzc2luZyBjb25zaXN0ZW50bHkuIElmIEkNCj4+
Pj4+IGVuZCB1cCBjb21taXR0aW5nIHRoaXMsIEknbGwgdHJ5IHRvIHJlbWVtYmVyIHRvIGFkanVz
dC4NCj4+Pj4gDQo+Pj4+IFRoZXJlIGFyZSBhY3R1YWxseSBhIGZldyBpc3N1ZXMgd2l0aCB0aGUg
Rml4ZXMgdGFncy4gRnJvbSB0aGUgZG9jIFsxXSA6DQo+Pj4+IC0gdGhlIHNoYTEgc2hvdWxkIGJl
IDEyIGNoYXJhY3RlcnMgKHJhdGhlciB0aGFuIDEwKQ0KPj4+PiAtIHRoZSBmb3JtYXQgc2hvdWxk
IGJlOg0KPj4+PiBGaXhlczogPGNvbWlkaWQ+ICgiQ29tbWl0IHRpdGxlIikNCj4+PiANCj4+PiBZ
b3Ugd2FudCBtZSB0byByZXNlbmQgYW5kIGZpeCB0aGF0ID8NCj4gDQo+IElmIEphbiBkb2Vzbid0
IHdhbnQgdG8gZml4IGl0IG9uIGNvbW1pdC4gVGhlbiBJIHdvdWxkIGJlIGhhcHB5IHRvIGRvIGl0
Lg0KDQpUaGFua3MgYSBsb3QNCg0KPiANCj4+PiANCj4+PiBPbiB0aGUgMTIgY2hhcnMgb25lLCBJ
IG11c3QgYWRtaXQgSSB1c2VkIGdpdCBsb2cg4oCUb25lbGluZSBhbmQgZGlkIG5vdCBjb3VudC4N
Cj4+PiBBbnkgcGFydGljdWxhciByZWFzb24gdG8gdXNlIDEyIGluc3RlYWQgb2YgdGhlIDEwIHRo
YXQgZ2l0IGxvZyBpcyBnaXZpbmcgPw0KPiANCj4gMTAgY2hhcmFjdGVycyB3aWxsIG9mdGVuIHJl
c3VsdCB0byBjbGFzaC4gMTIgaXMga25vd24gdG8gYmUgc3VmZmljaWVudCBhbmQgYWxzbyB1c2Vk
IGJ5IExpbnV4Lg0KDQpPaw0KDQo+IA0KPj4+IFNob3VsZCB3ZSBzdWdnZXN0IGhvdyB0byBnZXQg
dGhpcyBwcm9wZXJseSBpbiBhIHNpbXBsZSBtYW5uZXIgPw0KPj4gTWVhbmluZyB3aXRob3V0IGNo
YW5naW5nIHRoZSBnaXQgY29uZmlnIDotKQ0KPiANCj4gWW91IGNvdWxkIHVzZQ0KPiANCj4gNDJz
aD4gZ2l0IGxvZyAtLWFiYnJldj08Tj4gLS1hYmJyZXYtY29tbWl0DQoNCkl0IG1pZ2h0IG1ha2Ug
c2Vuc2UgdG8gYWRkIHRoaXMgdG8gdGhlIGRvYyA/DQpJIGFtIGhhcHB5IHRvIGFkZCB0aGlzIGlm
IG90aGVyIHRoaW5rIGl0IG1ha2VzIHNlbnNlLg0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCj4gDQo+
IHdoZXJlIE4gaXMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzLg0KPiANCj4gQ2hlZXJzLA0KPiAN
Cj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 13:46:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 13:46:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379951.613870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJEi3-00067N-VH; Wed, 03 Aug 2022 13:46:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379951.613870; Wed, 03 Aug 2022 13:46:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJEi3-00067G-SN; Wed, 03 Aug 2022 13:46:51 +0000
Received: by outflank-mailman (input) for mailman id 379951;
 Wed, 03 Aug 2022 13:46:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+C7S=YH=citrix.com=prvs=207fd374a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oJEi3-00067A-3n
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 13:46:51 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8438272-1332-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 15:46:49 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8438272-1332-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659534409;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=WptN2SJy6HMB7et3GLfEisQs6VTmgj4z1ok3GC+UcQo=;
  b=O5etkYK7paBwgllmYhG70+o6HvdzQAhh0V0VTnlz1YchAa8mQOctb1OM
   An8Y8J+3353VfFFzRjxxe695uyWRNC0T5F3z4Z5GvFd5a1bP6uO3dF1p7
   vssCsSvYhe8659Djgub4F0f46DopRYxbcn+VLKpwxDa7p4lntYbHm38cZ
   I=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 76533930
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:EoQKS6vAxr7QYF0h/5ZT9snk8efnVHZeMUV32f8akzHdYApBsoF/q
 tZmKW+Oa/bZa2qjL94nPduz8BxU7J+Hzd9gSFRp/ClgHygU+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4GhA5DTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FdcC67hlWXFgz
 qERJRIhNQmi1tuq4q3uH4GAhux7RCXqFIYWu3UmxjDFF/c2B5vERs0m5/cBgm123JoXW6+DO
 YxJMlKDbzyZC/FLEl4RFJI5mvbunnTleidUgFmUubA28y7YywkZPL3Fb4SIIYfbHp09ckCw/
 UXv3EjpRUwmPePEkxqqrW2mt+PBknauMG4VPOLhraM76LGJ/UQIEwEfX1a/pfi/i2a9VshZJ
 khS/TAhxYAt8GS7Q9+7WAe3yFaItwARc8BdGOo77EeK0KW8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19L2ZsDezMig9NnIZaGkPSg5ty9v+pIA+iDrfQ9AlF7S65uAZAhmpn
 WrM9nJnwexO04hbjM1X4GwrnRr2vImXXFYlyD6KV2+HwlhgRd+ce663vA2zAel7EGqJcrWQl
 CFaxpnCtL1XUMvleD+lG7tUQuzwjxqRGHiF2AM0QcF8n9i40yT7Fb289g2SM6uA3iwsXTbyK
 HHetgpKjHO4FCv7NPQnC25d5ilD8EQBKTgGfqqNBja2SsItHDJrBQk3DaJq40jjkVI3jYY0M
 oqBfMCnAB4yUPo6nWboGrtHj+R3l0jSIF8/oriil3yaPUe2PibJGd/pznPUBgzG0E90iFqMq
 IsOXyd74x5eTPf/ckHqzGLnFnhTdCBTLc2n9KRqmhureFUO9JcJV6CMmtvMuuVNw8xoqws/1
 iriCx4BlACm3SCvxMfjQikLVY4DlK1X9RoTVRHA937zs5T/Se5DNJsiSqY=
IronPort-HdrOrdr: A9a23:k4Q0lq98/f716FUN+Wtuk+DgI+orL9Y04lQ7vn2YSXRuE/Bws/
 re+8jzsiWE7gr5OUtQ/exoV5PtfZqxz/FICMwqTM6ftWrdyQ6VxeNZnOjfKlTbckWUnINgPO
 VbAspD4bXLfCBHZK3BgDVQfexP/OW6
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="76533930"
Date: Wed, 3 Aug 2022 14:46:17 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Edwin =?iso-8859-1?B?VPZy9ms=?= <edvin.torok@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>
Subject: Re: [PATCH v1 4/7] tools/ocaml: Makefile to drive dune
Message-ID: <Yup8Kb4iL5pXqys9@perard.uk.xensource.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <322ec0c9af480e9b8a6246d0a2cdb4e308a5900c.1659116941.git.edvin.torok@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <322ec0c9af480e9b8a6246d0a2cdb4e308a5900c.1659116941.git.edvin.torok@citrix.com>

On Fri, Jul 29, 2022 at 06:53:27PM +0100, Edwin Török wrote:
> create a separate Makefile that can be used to drive dune.
> 
> Usage:
> `make -f Makefile.dune`
> 
> There are some files that need to be created by the Makefile based
> build system (such as all the C code in $(XEN_ROOT)/tools/libs),
> and those need to exist before dune runs.
> 
> Although it'd be possible to automatically call the necessary makefile
> rules from dune, it wouldn't work reliably:
> * dune uses sandboxing by default (only files declared or known as
>   dependencies are visible to individual build commands,
>   symlinks/hardlinks are used by dune to implement this)
> * the dune builds always run in a _build subdir, and calling the
>   makefiles from there would get the wrong XEN_ROOT set
> * running the make command in the source tree would work, but dune still
>   wouldn't immediately see the build dependencies since they wouldn't
>   have been copied/linked under _build
> 
> The approach here is to:
> * use the Makefile to build C-only prerequisites (i.e. most of Xen)
> * use Dune only to build the OCaml parts once the C prerequisites exist
> * dune has dependencies declared on the C bits, so if they are missing
>   you will get an error about a missing rule to create them instead of a
>   cryptic compilation error
> * dune is still optional - the old Makefile based buildsystem is still
>   there for now
> * use dune exclusively for new code going forward (e.g. OCaml test-suites)
> 
> The workspace file needs to be generated by make because this currently
> cannot be generated by dune, and it doesn't support including external
> files. But could be generated by configure?

Potentially, but ./configure doesn't have access to the list of
xen libraries, so I'm not sure it would be a good idea.

> LD_LIBRARY_PATH needs to be set, because even with -Wl,-rpath
> executables wouldn't be able to run using the just-built libraries,
> unless we'd also link all the transitive dependencies of libs.
> 
> No functional change.
> 
> Signed-off-by: Edwin Török <edvin.torok@citrix.com>
> ---
>  Makefile                          |  5 ++
>  tools/ocaml/Makefile.dune         | 88 +++++++++++++++++++++++++++++++
>  tools/ocaml/dune-workspace.dev.in |  2 +
>  tools/ocaml/dune-workspace.in     | 18 +++++++
>  4 files changed, 113 insertions(+)
>  create mode 100644 tools/ocaml/Makefile.dune
>  create mode 100644 tools/ocaml/dune-workspace.dev.in
>  create mode 100644 tools/ocaml/dune-workspace.in

You've added dune-workspace* to .gitignore in the previous patch, should
the addition be done in this patch instead? (Also feel free to create
"tools/ocaml/.gitignore".

> diff --git a/Makefile b/Makefile
> index b93b22c752..ddb33c3555 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -68,6 +68,11 @@ build-tools-oxenstored: build-tools-public-headers
>  	$(MAKE) -s -C tools/libs
>  	$(MAKE) -C tools/ocaml build-tools-oxenstored
>  
> +.PHONY: build-tools-oxenstored-prepare
> +build-tools-oxenstored-prepare: build-tools-public-headers
> +	test -f tools/config.status || (cd tools && ./configure --with-xenstored=oxenstored)

No, do not run ./configure from the makefile. ./configure needs to be
run before running make.

> +	$(MAKE) -C tools/libs V=

No, do not start a build of the libraries from the root make file. If a
user were to run `make build-tools-oxenstored-prepare build-tools`, we
would end up with 2 make running `make -C tools/libs` concurrently which
isn't going to end well.

> diff --git a/tools/ocaml/Makefile.dune b/tools/ocaml/Makefile.dune
> new file mode 100644
> index 0000000000..eca9cac0ca
> --- /dev/null
> +++ b/tools/ocaml/Makefile.dune
> @@ -0,0 +1,88 @@
> +XEN_ROOT = $(CURDIR)/../..
> +all: dune-all-check
> +
> +# Dune by default uses all available CPUs. Make doesn't.
> +# Query the available CPUs and use all available for any of the make rules we call out to.
> +# -O is also needed with parallel make such that the build error and the build command causing
> +#  the error are close together and not interspersed with other output
> +NPROC=$(shell getconf _NPROCESSORS_ONLN)
> +MAKEN=$(MAKE) -j$(NPROC) -O

Please, don't change those options, I don't think these options belong
to a Makefile.

> +# We want to link and use the Xen libraries built locally
> +# without installing them system-wide
> +# (the system-wide one installed from packages will likely be too old and not match the locally
> +# built one anyway).
> +#
> +# Set LIBRARY_PATH and LD_LIBRARY_PATH so that the linker
> +# finds the proper libraries and the various dune commands
> +# work (e.g. running tests, utop, etc.).
> +#
> +# The Makefile based buildsystem would use -Wl,-rpath-link= here,
> +# but that only works during linking, not runtime.
> +# There is a -Wl, -rpath= that can be used, but that only works
> +# for libraries linked directly to the main executable:
> +# the dependencies of those libraries won't get found on the rpath
> +# (the rpath of the executable is apparently not used during that search).

That's why you do -Lpath -Wl,-rpath=path. Would the files generated in
tools/pkg-config/ would be useful for dune?

LD_LIBRARY_PATH is kind of expected to run binaries, but how is
LIBRARY_PATH used, and by which process?

> +# Use environment variables, because that way we don't make any permanent alternations (rpath)
> +# to the executable, so once installed system-wide it won't refer to build paths anymore.
> +#
> +# Dune cannot be used to generate this file: the env-vars stanza doesn't support %{read:}, :include,
> +# and dune-workspace doesn't support (include) stanzas.
> +# So for now generate it from this Makefile
> +# Cannot start with comment, so add auto-generated comment at the end
> +LIB_DIRS=$(abspath $(wildcard ../libs/*/.))

Do you need all those libs? Can't you instead list the library needed
or use the value listed in "tools/libs/uselibs.mk" ?

> +LIBRARY_PATH=$(subst $(eval) ,:,$(LIB_DIRS))
> +../dune-workspace ../dune-workspace.dev: dune-workspace.in dune-workspace.dev.in Makefile.dune
> +	@( sed -e "s|@LIBRARY_PATH@|$(LIBRARY_PATH)|" <$< \
> +	&& echo "; DO NOT EDIT: autogenerated from ocaml/dune-workspace.in") >../dune-workspace
> +	@cat ../dune-workspace dune-workspace.dev.in >../dune-workspace.dev
> +
> +# for location of various libs which moves between Xen versions
> +include $(XEN_ROOT)/tools/Rules.mk
> +
> +XEN_DEPS=$(XEN_libxenctrl)/libxenctrl.so
> +XEN_DEPS+=$(XEN_libxenevtchn)/libxenevtchn.so
> +XEN_DEPS+=$(XEN_libxenguest)/libxenguest.so
> +
> +# Cannot be generated from dune
> +# Tell the user how to generate them
> +../include/xen/xen.h ../config.status $(XEN_DEPS):
> +	echo "Missing C headers or libraries" >&2
> +	echo "Run make -C $(XEN_ROOT) build-tools-oxenstored-prepare -j$$(nproc)" >&2
> +	exit 1
> +
> +# dune would refuse to run if there are build artifacts in the source directory
> +# if we detect anything then run make clean to ensure these are removed
> +# don't always call 'make clean' because it takes ~1.6s
> +.PHONY: dune-pre
> +dune-pre: ../config.status | ../include/xen/xen.h ../dune-workspace $(XEN_DEPS)
> +	$(MAKEN) clean -s

I think it would be much better to tell the user to run clean themself,
like we do in the hypervisor tree when trying to do an out-of-tree
build. See rule "outputmakefile" in "xen/Makefile".

> +
> +# Convenience targets
> +dune-syntax-check: dune-pre
> +	dune build @check
> +
> +dune-all-check: dune-pre ../dune-workspace.dev
> +	# Test build with multiple compiler versions
> +	# requires opam switches for each to be already installed
> +	dune build --workspace=../dune-workspace.dev @check @install @runtest
> +
> +check: dune-pre
> +	dune runtest --no-buffer
> +
> +# approximatively equivalent to Dune 3.0 --release mode
> +dune-oxenstored: dune-pre
> +	dune build --root .. --ignore-promoted-rules --no-config \
> +           --profile release --always-show-command-line \
> +           --promote-install-files --default-target @install
> +
> +-include $(XEN_ROOT)/config/Paths.mk

I think make should fail if "Paths.mk" doesn't exist, could you remove
the dash ? (Also, at this point, "Paths.mk" should already exist because
Rules.mk checks that ./configure has run.)
)
> +
> +# skip doc, it'd install an extra LICENSE file that is already installed by other rules
> +INSTALL_SECTIONS=bin,etc,lib,sbin
> +dune-install: dune-oxenstored
> +	dune install --destdir=$(DESTDIR) --prefix=$(prefix) --libdir=$(shell ocamlfind printconf destdir) --mandir=$(mandir) --etcdir=$(sysconfdir) --docdir=$(docdir) --sections=$(INSTALL_SECTIONS)

Each option here could be on there own line, for clarity.

> +
> +dune-uninstall: dune-oxenstored
> +	dune uninstall --destdir=$(DESTDIR) --prefix=$(prefix) --libdir=$(shell ocamlfind printconf destdir) --mandir=$(mandir) --etcdir=$(sysconfdir) --docdir=$(docdir)
> diff --git a/tools/ocaml/dune-workspace.dev.in b/tools/ocaml/dune-workspace.dev.in
> new file mode 100644
> index 0000000000..2ca831a048
> --- /dev/null
> +++ b/tools/ocaml/dune-workspace.dev.in
> @@ -0,0 +1,2 @@
> +(context default)
> +(context (opam (switch 4.02.3) (profile release)))
> diff --git a/tools/ocaml/dune-workspace.in b/tools/ocaml/dune-workspace.in
> new file mode 100644
> index 0000000000..c963a6e599
> --- /dev/null
> +++ b/tools/ocaml/dune-workspace.in
> @@ -0,0 +1,18 @@
> +(lang dune 2.1)
> +
> +(env
> +  ; we need to support older compilers so don't make deprecation warnings fatal
> + (dev
> +  (flags (:standard -w -3))
> +   (env-vars
> +    (LD_LIBRARY_PATH @LIBRARY_PATH@)
> +    (LIBRARY_PATH @LIBRARY_PATH@)
> +   ))
> + (release
> +  (env-vars
> +   (OCAMLRUNPARAM b)
> +    (LD_LIBRARY_PATH @LIBRARY_PATH@)

Shouldn't this line (and the next) been aligned with the previous one?

> +    (LIBRARY_PATH @LIBRARY_PATH@)
> +  )
> +  (flags (:standard -strict-sequence -strict-formats -principal -w @18))
> +  (ocamlopt_flags -nodynlink)))

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 14:05:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 14:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379959.613887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJEzm-00006z-I1; Wed, 03 Aug 2022 14:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379959.613887; Wed, 03 Aug 2022 14:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJEzm-00006n-F1; Wed, 03 Aug 2022 14:05:10 +0000
Received: by outflank-mailman (input) for mailman id 379959;
 Wed, 03 Aug 2022 14:05:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJEzk-00006h-Fp
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 14:05:08 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr30057.outbound.protection.outlook.com [40.107.3.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 467e2326-1335-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 16:05:05 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9244.eurprd04.prod.outlook.com (2603:10a6:20b:4e3::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 14:05:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 14:05:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 467e2326-1335-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fACsgLmpMz5r74tfdz47MZ8nCfN9aNPyH0BqttxkosjSv/UDIjgDn5DxaUxl19RnrKm6NJGyBEz+5KemP0ytjstJbQA4bDA7G0ehjTjmdJDelKxa6LpFS7O/fnf9TmqHDrRiQGifvh0GRyR8zq5sqUR0tHxr3uR8s2j8qZPlWW304hrjDBckVa7S7txYopp0jWiuE73c5+hI/98sUb/a/HwaplwNuz6yIhjtbwPGU6Tldp2FFZA5EGNDhlQ1rGL3B+c6Yn0yU8Ar6Mi5L0HEY7NdKCGeoj7g5eEGYeeTgMKllsmreoCtl6bSH+LswdYpciMbLZnTn3nZ8lIcCdMm6A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2aaAn/vaTifdPeQJAAC17OamT0yJzk+EsnTTvvyijwo=;
 b=g4dBvfv0OfaxiPYVe3yQUDcyBzVa609gyJvNRt0HNXGaEk7dhAHNi2kXdUhChyKq/I1U49EuWFofjyheOvFTXiVe+XBMwbfIxEVJCvUZe78pwKGbQ+GTuwPOCZOoDThXLm6DKzWZvh1+L2UDjxBAgtYYdiNvsvTcCasQ6jJEgd6V+rwT3y1EUOYzxqTGj6l+fR4BWV5bNarPzQTvIJ7auK6D/TZORMuykE+5/+UxV1GmCqG7UFBARIH8MDKMpoD5EsMrKgw3p+ffbvIUOyVQunBFv9yAnXesILSU2iXWTTjTTN0/HnOSyTSyND5eoC1BBfLrJj7ucXDj9A1jiGjiVg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2aaAn/vaTifdPeQJAAC17OamT0yJzk+EsnTTvvyijwo=;
 b=b+a+AF7SEMdIUPpjNUdjLsBMl51sL1RSzmagmyE6FN5Vd7Q4nM43yjWXgRlwbX0FqyYi2KCpk83ErhbLRAB7wiOTnVdhE1W4GAtbPpBXXP4h+bU+QRPEgHa1HJSQKe7F9JI2YLo6miaNzqFqxzcBMjJC8k/r4q6d7YmKX2W2bAnnJb+uQ0YQ03jIDCFapezGlTyNb0r+jN3j9y6PadIDkNKetnarb+tNLFKcQyz8HQ/JAFoT43ii3B9xU/ccY+otmM9AkLNNyavViTr9RVU+/1YUPrnj/RT+6O3kT8WnLwsLJdlkq8dVJOCpMIkPcZbCexz7e4sUgpG92n56mSifsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c8fa8b10-29ed-2964-f92d-c6368fb48a39@suse.com>
Date: Wed, 3 Aug 2022 16:05:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [XEN PATCH v2 4/4] build: replace get-fields.sh by a perl script
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220614162248.40278-1-anthony.perard@citrix.com>
 <20220614162248.40278-5-anthony.perard@citrix.com>
 <Yup3z/e4mMy3SqG2@perard.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yup3z/e4mMy3SqG2@perard.uk.xensource.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0162.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 20fa6eb0-bdca-4a87-524f-08da7559294e
X-MS-TrafficTypeDiagnostic: AS4PR04MB9244:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bCSelcUJRKu9Q+CWVN/mIBmhHTY/DAd8ZL/xW2XhGQFbWM8A4J8sTvA0ec9b36ln+1sI1APNSwKFsjVOOSDfxOtZp6ha04jNIJl1otgAXbG+FtkSLz1rgGUJKOJbMnMr4h61BorC5T6QNcEUq2ZBh+/RKr/VqhQTeN57bqK6LBx6UrVopVr7rVgdjRgbdMo6ynfgpFQdPcTKfNNoyWrjxg9yEK4l0Pr6j5YY9ft7rwzJZJy1K60N7CteMSya1Papsi6Gmi0L5pwEg0KRXuARNSNl934WvKn8BfgH9kfgvIo98rRdERF/Sg3HY1x9eUdwwC8WuVc27BXzckHTzouOzfORKWrVaJUhYtuiRK0dB5RSe69AVMyCch1zsX1sPjNAGMNkhDpG2beJ5SpTQGgj7NaZDe+eMIb1w+iTPhsFCI7TlG3oVw5c0MiN6aNw0/0u3SAikZ/M2Da8oLnGiYZeFKyssfQIoX9sHdwGXT0qU2OxfFas2xMmfPFpdPrVkhm71PKkm3w147kayWOgKBMf5dKOvtY8+VeeEJTDDhLk/eJib2P2xUmPsIZutlujj1Ln5RFPX/q3mnXzXZ98AVTGP5r0H1pnr5/jarG9OfhTHh/LjZrZOo6EYnYaMl3YCuMR9NE3yfULQt6B9XUrgjfEV0LYEcW0g1+1sfVl1WImp0JF5FPUbNT9sHq9+wC638q+ZJ/4kRyIERyOk1xfS8i36hQXq+I+y+JzwIGIERWzVsfrnnuSfX/vkXvk86dbPFKRDHNqo7Eccj1mjEsM1daUcyaGTOTkb8zL//6QEUPefEliK462JhtshDbpMQj0D2pkgtDpbHgGAPZeR4mYB+eF3g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(39860400002)(396003)(376002)(346002)(83380400001)(2616005)(186003)(31686004)(2906002)(53546011)(6506007)(38100700002)(36756003)(5660300002)(26005)(6512007)(31696002)(8936002)(86362001)(41300700001)(66476007)(8676002)(66946007)(4326008)(6486002)(66556008)(478600001)(54906003)(6916009)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z29uNHBTa1hIdVpEMjJwS3N5WllraWVhNktrZ0lyQ0ZWZ1UwejlSNm8yMndn?=
 =?utf-8?B?U0hPV0Fubm0wRlh1VjBXTHA5UEtIWVNaVm5SdGlSYWk1RzA1eWFnZFdjZXBy?=
 =?utf-8?B?c0VrbkpWRllLcmRMbWxRKzNCbmRtSWZkaDdPMTZ5bXd0Zy8xcnkraE1vVE91?=
 =?utf-8?B?MWdwc2E2Qk1GRkRtRmRPOHB3NmtTTFNvYUhJcjJCYXl5RkVGTmFMdDM4UkxO?=
 =?utf-8?B?Tkx5VDYzL1ZZck1XYTlyNHdtQjFMdVozWGJVZkQ4SzlnbmZ4M3lGTldoZjRY?=
 =?utf-8?B?ODF5VUdyUWk2aW5PU3VxY3k0NTZWU2xXOEZZS0V0UkxFVUY3SGsyL1NYcEVr?=
 =?utf-8?B?L05mZm5CVTRpcEJ6UUwveDhLaHN5OVpoSlpWNHA5VWNOeTFJZnRmRHVLNzV5?=
 =?utf-8?B?Y0xFYzlhZjQxN0h4Z0JPbkZYdm5ldTMySGJ2T3ZvQ2xBVU5uR0pnMTN0ajJx?=
 =?utf-8?B?QWlHNGlSbDE3NXlhekNIZ3FuWHZXRjB4TVR0cG5weEFCSDZNY2tUQXZRdFhY?=
 =?utf-8?B?VGNVK0lxTFhjVWU1Mkora2VEUEU3WElRTFVGZlVCNDBtR1UxMU9IN3lyWFlj?=
 =?utf-8?B?T3dVT2R3NStjSWZ2Z2hYQmswYmdGa3pVcS93V0xpZHQvSGlvZ2RUb1VuQWFB?=
 =?utf-8?B?VTlWekswYnE4NXpjWVZST0pkSXp4akwwUkFJNktzTWlKbnFCcTZSbmszN2Fl?=
 =?utf-8?B?NUpaWlFXdElxNkxOSlpXT0tUYmtZMmlTcEJpWVlJOG5pOHd0ZmtScnlzWStN?=
 =?utf-8?B?MlFER05WRWpObnM2aHN1dTZqYTNUVWxxYndsRTA4WXAxRUJDRXdFV2tHRk5j?=
 =?utf-8?B?OVlsSWMvWXdpcXN5cjZIQkFXS0N1NklrQnk3ZWp4aW5jNitGbTE2YURJM0Q1?=
 =?utf-8?B?MExOVDFwRmp6OUI2VnliTHdkRjZaS2VEV3FaZ1VreHFBQ3NqczNEdFBNaGMz?=
 =?utf-8?B?UEEzL3ZEcmVzMEkrMEQyYzdvenBXMHU5ZFdYNHFTSVJqSThkd3lFdWNlVzI0?=
 =?utf-8?B?M25TTno2MHcvMmJ3Q215clN4bW9YbWRzVnJETWw4YUJPd2FZRmh5WkdMZFN2?=
 =?utf-8?B?VDc1QUhlYTVJTGF2WTNiZGF2aTc3dHREM1JqNUV2R0VVTVoyTHVtSmN3RWkv?=
 =?utf-8?B?ejFWeWNpdytnWHJISCtGNExFQ0VYQ21ZSW56eHZqNEd2U3dTTlZ2dFdFc3FE?=
 =?utf-8?B?US9qeWpKWFJaWHZRcjhFMWkvRHdTVGpSUG5lVDVkeHZ1WWVpYmpvZmJLMkJY?=
 =?utf-8?B?UXlON25hbjRCbWZPUjdHVUFZZURXQ2FBOXhuTzBmWXdJYnZVSHhhMTViQTE0?=
 =?utf-8?B?eS91bm5MUnNsSFdwZ3JiUGxocDRab2dOK1MwOHcvSy95NEw3aEFUVU51OHFk?=
 =?utf-8?B?a2RQNS9rR2NnRk5mZmJoRmY5Q1V6bVdhUGxET09oUDlGdzhsbTc3M0dKSjZ1?=
 =?utf-8?B?UkpZeTQwclJ2RHBCNWxzY1l2eEYyY3F3MGFkT0UzRGFiUTZRMTh3WFlDZmx4?=
 =?utf-8?B?VUI5WWlCQjZXVVRkZHJxVG9uZmlXSXVuYlp5Y3J1T3Jta1J4MWNIclEyNEpU?=
 =?utf-8?B?blIyczhwZmFkb0g3S2FDdVhFMHJtUGNHZHhMSGZBMEJkS2hOZ2dkVW41a0hM?=
 =?utf-8?B?NkRkbSt5ZXhCNXlLVmUxSUlrMm1OL1UydU93UXV4eGRsbHZQTGY4QWpSc2tn?=
 =?utf-8?B?b1VGc3RKUUUxRlIzRmdES3QrRWRzUVhIRHgyVTB2SGxCQzlkcmMwY0NISXE3?=
 =?utf-8?B?dWM3WmV4MmprUFdnaGFxbE1TYW5CU0VPRXgrTmVnU1h5cW5hRTFBTmk4N1Zy?=
 =?utf-8?B?T1c5VFVpN3ZUVHBjZGluKzNVVk1jZnM3U0hIdTV0TXJqdVRtTDF1VU9yVFAy?=
 =?utf-8?B?d3VncnpYUEZ3cG5seDRQdmdPeWlkc0hCcTZjTEVLYkp5ckFtcUpCcFF3ZzBZ?=
 =?utf-8?B?NGFmdTFVS2tRYk5oMkZqN1ZyU3VaR3dqcFlZMXFpU3ZGS0RyQTJEcWhQOTYx?=
 =?utf-8?B?bmhsYmkyZ2tyNzByMjBQNlBLY0JsSGtJaXo0ditES2NpV0MvRHNGRU5lZXVB?=
 =?utf-8?B?ekpjM0NpWW9rVFlSTUJ2aEtURU5laHVldlYyeU9jUUpEcVRtU2hjdVBxSmkz?=
 =?utf-8?Q?JlvT/2Y0yZBNKv0Aq+w+2v4iN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20fa6eb0-bdca-4a87-524f-08da7559294e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 14:05:03.2821
 (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: 4fAlkEybuFGjQmgH4fFpmq4GyFzMqOgkJuaTqZ+3jg4kBvxiaz2YRigYACD9FyD595XTAgeCF66qRUgwgEnRCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9244

On 03.08.2022 15:27, Anthony PERARD wrote:
> On Tue, Jun 14, 2022 at 05:22:48PM +0100, Anthony PERARD wrote:
>> The get-fields.sh which generate all the include/compat/.xlat/*.h
>> headers is quite slow. It takes for example nearly 3 seconds to
>> generate platform.h on a recent machine, or 2.3 seconds for memory.h.
>>
>> Since it's only text processing, rewriting the mix of shell/sed/python
>> into a single perl script make the generation of those file a lot
>> faster.
>>
>> I tried to keep a similar look for the code, to keep the code similar
>> between the shell and perl, and to ease review. So some code in perl
>> might look weird or could be written better.
>>
>> No functional change, the headers generated are identical.
>>
>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> This patch have been on the mailing list for a little while now, could
> it be acked then committed along with the previous one now?

Well, I would certainly be happy to ack it, but only on the basis of a
suitable R-b by somebody else. My Perl is close to non-existing, so I
can't sensibly review this myself.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 14:18:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 14:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379964.613897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJFCV-0001hb-Ot; Wed, 03 Aug 2022 14:18:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379964.613897; Wed, 03 Aug 2022 14:18:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJFCV-0001hU-M4; Wed, 03 Aug 2022 14:18:19 +0000
Received: by outflank-mailman (input) for mailman id 379964;
 Wed, 03 Aug 2022 14:18:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2CMa=YH=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oJFCT-0001hN-Qt
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 14:18:17 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1da9b43d-1337-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 16:18:16 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id bv3so7841371wrb.5
 for <xen-devel@lists.xenproject.org>; Wed, 03 Aug 2022 07:18:16 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 p64-20020a1c2943000000b0039c454067ddsm2549946wmp.15.2022.08.03.07.18.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Aug 2022 07:18:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1da9b43d-1337-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=tTxVBAGojJw7FmjCfKE1NBzcNx9O4T2Im0Eg/HpwuiM=;
        b=Zrb5GqY3kJ0wzcriIv9R4a6WdRqQ+VASuOsW9f8dzeKHZJIoY3544vuNG4Et7/VfXB
         pI1/3cGwM3CEycBg21lThgN1/Bw5JvyDsOoQXOa7kyGX41aHIE5s3dwguG5U2lbkI9xW
         cniYy18YtfrQhgARAjk9NcBmRkGHgdD/5EEbUMdHkEs8ndT7QRLtlqZguskykMDPazpj
         cGglP0D1CftEkChp8Gg3QivlVHqihAP1uYwrNjak/ui20mcvkkUvTUSxKi2or6Kl0GaV
         gxDxexxwkKuJV3eLGBQqRlN0ALJxUsepw0upO2A7pyu0OioqJ1y+BecGGLAhh2v4dtkm
         NMaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=tTxVBAGojJw7FmjCfKE1NBzcNx9O4T2Im0Eg/HpwuiM=;
        b=Q/4BNFsi9iTykHJl5Sh8CbgxuWbpRan5etg7pNUOAjquM1yXIkfAEFXexd9IlM5SEV
         YFMDEW4tGI/2+z19hWyQAzWIRxp+tRtzZMSAlm7ky48+XxH2q8lTpJTcU4Ce/ciSQlMb
         UXIETsFSQidMD0nDeeMhWRFa20UTNwf31eAqwX7S3FQza+CUNOeZKHJokQS9e9Cc+/v3
         rFkhb/0kRAKWLW0oEM4Tuf1Rbd6vaF5rVwEWkpdUPoo35L03qW3cERyataC05IJviqe/
         80WR2DUqxszarE0EVv0B0RAg1yGm3XgpCQyeazSp7R6860JoXk0GCFOTdbNBREbfrcSW
         6NoQ==
X-Gm-Message-State: ACgBeo0DIMdEYsX76otaeQ//giz+lHR+IDujof93gEima1wZkB8xVUnC
	Eomce1kxWQDD5E+PhTbTGyk=
X-Google-Smtp-Source: AA6agR6xT5hhrqEIZJOI4r3bH8oBxOupMz1dsddtm4cpvyCVJVswWhpukgMV5EhylN2RFsxN4vqp5w==
X-Received: by 2002:a05:6000:c1:b0:220:5c10:5c51 with SMTP id q1-20020a05600000c100b002205c105c51mr11103143wrx.668.1659536295617;
        Wed, 03 Aug 2022 07:18:15 -0700 (PDT)
Message-ID: <6109da4c-74c7-d677-e70e-bdb519a079f8@gmail.com>
Date: Wed, 3 Aug 2022 17:18:12 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V7 01/11] xen/pci: arm: add stub for is_memory_hole
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20220719174253.541965-1-olekstysh@gmail.com>
 <20220719174253.541965-2-olekstysh@gmail.com>
 <8e912bdf-a93f-c3d8-8906-8132a8f30035@gmail.com>
 <304DD889-A643-42D9-9B60-7B34950A127D@arm.com>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <304DD889-A643-42D9-9B60-7B34950A127D@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 03.08.22 12:29, Rahul Singh wrote:
> Hi Oleksandr,


Hello Rahul


>
>> On 29 Jul 2022, at 5:28 pm, Oleksandr <olekstysh@gmail.com> wrote:
>>
>>
>> Hello Rahul
>>
>>
>> On 19.07.22 20:42, Oleksandr Tyshchenko wrote:
>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>
>>> Add a stub for is_memory_hole which is required for PCI passthrough
>>> on Arm.
>>>
>>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>> ---
>>> OT: It looks like the discussion got stuck. As I understand this
>>> patch is not immediately needed in the context of current series
>>> as PCI passthrough is not enabled on Arm at the moment. So the patch
>>> could be added later on, but it is needed to allow PCI passthrough
>>> to be built on Arm for those who want to test it.
>>>
>>> Copy here some context provided by Julien:
>>>
>>> Here a summary of the discussion (+ some my follow-up thoughts):
>>>
>>> is_memory_hole() was recently introduced on x86 (see commit 75cc460a1b8c
>>> "xen/pci: detect when BARs are not suitably positioned") to check
>>> whether the BAR are positioned outside of a valid memory range. This was
>>> introduced to work-around quirky firmware.
>>>
>>> In theory, this could also happen on Arm. In practice, this may not
>>> happen but it sounds better to sanity check that the BAR contains
>>> "valid" I/O range.
>>>
>>> On x86, this is implemented by checking the region is not described is
>>> in the e820. IIUC, on Arm, the BARs have to be positioned in pre-defined
>>> ranges. So I think it would be possible to implement is_memory_hole() by
>>> going through the list of hostbridges and check the ranges.
>>>
>>> But first, I'd like to confirm my understanding with Rahul, and others.
>>
>> May I please ask about your opinion on that?
> I agree with Julien we can implement the something similar to is_memory_hole()  for ARM
> that will check that the bar is within the bridge ranges.
>
> If you are okay you can discard this patch in next version of the series and I will push the patch
> for review.

Perfect! Thank you, that would be much appreciated!


>
> Regards,
> Rahul

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 14:43:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 14:43:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379972.613914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJFag-000524-WD; Wed, 03 Aug 2022 14:43:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379972.613914; Wed, 03 Aug 2022 14:43:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJFag-00051x-Tb; Wed, 03 Aug 2022 14:43:18 +0000
Received: by outflank-mailman (input) for mailman id 379972;
 Wed, 03 Aug 2022 14:43:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4Xu=YH=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oJFaf-00051q-Uc
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 14:43:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 9bb122d4-133a-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 16:43:16 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 36C8511FB;
 Wed,  3 Aug 2022 07:43:16 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8549E3F70D;
 Wed,  3 Aug 2022 07:43:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bb122d4-133a-11ed-bd2d-47488cf2e6aa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] doc: Add git commands to generate Fixes
Date: Wed,  3 Aug 2022 15:43:04 +0100
Message-Id: <b57628b8cf8355a5f4f32e6ea577689ae7450a69.1659537759.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add git commands examples that can be used to generate fixes and how to
use the pretty configuration for git.
This should make it easier for contributors to have the right format.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 docs/process/sending-patches.pandoc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-patches.pandoc
index 7ff7826c992b..9c4c4655323b 100644
--- a/docs/process/sending-patches.pandoc
+++ b/docs/process/sending-patches.pandoc
@@ -102,6 +102,10 @@ E.g.:
 
     Fixes: 67d01cdb5518 ("x86: infrastructure to allow converting certain indirect calls to direct ones")
 
+If git was configured as explained earlier, this can be retrieved using
+``git log --pretty=fixes`` otherwise ``git log --abbrev=12 --oneline`` will
+give the proper tag and title.
+
 ### Backport:
 
 A backport tag is an optional tag in the commit message to request a
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 15:18:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 15:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379978.613926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJG8E-00004s-GP; Wed, 03 Aug 2022 15:17:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379978.613926; Wed, 03 Aug 2022 15:17:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJG8E-0008WR-DC; Wed, 03 Aug 2022 15:17:58 +0000
Received: by outflank-mailman (input) for mailman id 379978;
 Wed, 03 Aug 2022 15:17:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2dnW=YH=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oJG8D-0008WH-Fk
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 15:17:57 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 723e9916-133f-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 17:17:55 +0200 (CEST)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1659539868588284.5748533187574;
 Wed, 3 Aug 2022 08:17:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 723e9916-133f-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; t=1659539872; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Sr4XDlSDI5a4ws/5cA7SvURysXYvxpJ0Fhs1XY9rs4PLCiPxChCoX3BcOn6Xit/xcaogD+I7+DzxtcWKcCw/JJpDMYdsdVubGFQyztCAeaq8iHVVPAFUnr7CjtlZOfGqWoZj8hra/19R8RtaCrrbr9pvZpdTHjqdFnrXBmeoaTg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1659539872; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=DHsRuPareVmpScWWPuh4brPlV5jREp05DABXVu2rvLI=; 
	b=C1VPZqLjtEqLJU7wHq/Fp7XbSFD+NefS/eKJfCe5a0RkZ/nlmCSwupeqmOlh8OFJvyGW5Xa3UFLS1l6sQ+eyuAdlQbZ0FQOBWS1foN2/0OtsIbnhl4jIu5U6VFqfXOiysOlpFJTenzLJOx9mi9Hia15dQ6TJCwqhrJRodidVWXo=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1659539872;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:MIME-Version:Content-Type:Content-Transfer-Encoding:Reply-To;
	bh=DHsRuPareVmpScWWPuh4brPlV5jREp05DABXVu2rvLI=;
	b=OjH6fF3n0glUPTFqr2JJL++lBGCiWT/v2HzL13jBJu6PzUZ6Swcv6yW+dUqXOSSH
	msK/vMf68gF+MNTelPe1fXS3RymjY7FdRF6jwDwvx5ioOdqmSXyB6d8OqD1wGV0qTbp
	vq6z1SlCoUWXRRoanOL1eO08XO7xZKxIxO++FZPQ=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	jandryuk@gmail.com,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v11] xsm: refactor flask sid alloc and domain check
Date: Wed,  3 Aug 2022 11:17:41 -0400
Message-Id: <20220803151741.7826-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

The function flask_domain_alloc_security() allocates the security context and
assigns an initial SID for the domain under construction. When it came to SID
assignment of the initial domain, flask_domain_alloc_security() would assign
unlabeled_t. Then in flask_domain_create() it would be switched to dom0_t.
This logic worked under the assumption that the first domain constructed would
be the hypervisor constructing dom0 and all other domains would be constructed
by a toolstack, which would provide a SID.Â The introduction of dom0less and
subsequently hyperlaunch violates this assumption, as non-privileged domain may
be constructed before the initial domain or no initial domain may be
constructed at all. It is not possible currently for dom0less to express domain
labels in the domain configuration, as such the FLASK policy must employ a
sensible initial SID assignment that can differentiate between hypervisor and
toolstack domain construction. Â With the introduction of xenboot_t it is now
possible to distinguish when the hypervisor is in the boot state, and thus any
domain construction happening at this time is being initiated by the
hypervisor.

This commit addresses the above situation by using a check to confirm if the
hypervisor is under the xenboot_t context in flask_domain_alloc_security().
When that is the case, it will inspect the domain's is_privileged field to
determine whether an initial label of dom0_t or domU_t should be set for the
domain. The logic for flask_domain_create() was changed to allow the incoming
SID to override the initial label.

The base policy was adjusted to allow the idle domain under the xenboot_t
context the ability to construct domains of both types, dom0_t and domu_t.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---

Split out from series "Adds starting the idle domain privileged", earlier patches
from series have been committed.

Changes in v11:
- put back dom0_created variable in flask_domain_create() to ensure the
  enforcement that dom0_t is a singleton label

Changes in v10:
- rewrote commit message
- fixed typos
- reworked logic in flask_domain_create() to be simpler and not result in
  changing the domain security struct before the access check fails

 tools/flask/policy/modules/dom0.te |  3 +++
 tools/flask/policy/modules/domU.te |  3 +++
 xen/xsm/flask/hooks.c              | 35 +++++++++++++++++-------------
 3 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/tools/flask/policy/modules/dom0.te b/tools/flask/policy/modules/dom0.te
index 0a63ce15b6..f710ff9941 100644
--- a/tools/flask/policy/modules/dom0.te
+++ b/tools/flask/policy/modules/dom0.te
@@ -75,3 +75,6 @@ admin_device(dom0_t, ioport_t)
 admin_device(dom0_t, iomem_t)
 
 domain_comms(dom0_t, dom0_t)
+
+# Allow the hypervisor to build domains of type dom0_t
+xen_build_domain(dom0_t)
diff --git a/tools/flask/policy/modules/domU.te b/tools/flask/policy/modules/domU.te
index b77df29d56..3f269018f9 100644
--- a/tools/flask/policy/modules/domU.te
+++ b/tools/flask/policy/modules/domU.te
@@ -13,6 +13,9 @@ domain_comms(domU_t, domU_t)
 migrate_domain_out(dom0_t, domU_t)
 domain_self_comms(domU_t)
 
+# Allow the hypervisor to build domains of type domU_t
+xen_build_domain(domU_t)
+
 # Device model for domU_t.  You can define distinct types for device models for
 # domains of other types, or add more make_device_model lines for this type.
 declare_domain(dm_dom_t)
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 8c9cd0f297..cb81e62c52 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -182,7 +182,15 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
         dsec->sid = SECINITSID_DOMIO;
         break;
     default:
-        dsec->sid = SECINITSID_UNLABELED;
+        if ( domain_sid(current->domain) == SECINITSID_XENBOOT )
+        {
+            if ( d->is_privileged )
+                dsec->sid = SECINITSID_DOM0;
+            else
+                dsec->sid = SECINITSID_DOMU;
+        }
+        else
+            dsec->sid = SECINITSID_UNLABELED;
     }
 
     dsec->self_sid = dsec->sid;
@@ -548,22 +556,19 @@ static int cf_check flask_domain_create(struct domain *d, uint32_t ssidref)
 {
     int rc;
     struct domain_security_struct *dsec = d->ssid;
-    static int dom0_created = 0;
 
-    if ( is_idle_domain(current->domain) && !dom0_created )
-    {
-        dsec->sid = SECINITSID_DOM0;
-        dom0_created = 1;
-    }
-    else
-    {
-        rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN,
-                          DOMAIN__CREATE, NULL);
-        if ( rc )
-            return rc;
+    /*
+     * If the null label is passed, then use the label from security context
+     * allocation.
+     */
+    if ( ssidref == 0 )
+        ssidref = dsec->sid;
 
-        dsec->sid = ssidref;
-    }
+    rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN, DOMAIN__CREATE, NULL);
+    if ( rc )
+        return rc;
+
+    dsec->sid = ssidref;
     dsec->self_sid = dsec->sid;
 
     rc = security_transition_sid(dsec->sid, dsec->sid, SECCLASS_DOMAIN,
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 15:26:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 15:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379986.613943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJGGi-0001bT-D7; Wed, 03 Aug 2022 15:26:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379986.613943; Wed, 03 Aug 2022 15:26:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJGGi-0001bM-AM; Wed, 03 Aug 2022 15:26:44 +0000
Received: by outflank-mailman (input) for mailman id 379986;
 Wed, 03 Aug 2022 15:26:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PneM=YH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJGGh-0001bG-1m
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 15:26:43 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2041.outbound.protection.outlook.com [40.107.20.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac9d6352-1340-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 17:26:41 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4044.eurprd04.prod.outlook.com (2603:10a6:5:1b::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.15; Wed, 3 Aug
 2022 15:26:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::1959:dab4:15f1:4acf%2]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 15:26:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac9d6352-1340-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jdeQ0k1JnShDdh/9xn+h4PyGUNLLlKcS5wAzDhCSEcRAwj8hzwU2bbQjwY7SbM8WOc4XxFV3bWu3I8EFlKiSVUhVTiBxVVSWB/tWXTj4Ejk9OZYjZlpbjgOz47Skaud8We1jcN/BGeXujaRnLGHQQpbLoH2/hs0PHSuFM+lS9Y+nw/lrXErXfoDsTaEnWIaK+8qIJuRPo3tgByw/W2pYVzy200yHu+4kBjVssG4loKIydmIv1uqUA0/4HBHqV/ViO3HLjZR/QtHm6lMAU8SGD/igXNFdF9DoskwLyajyzuRjk2xYBNYpDpNy7osJxeQoDzqtMrqol0FmL/PMG+GERA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BWbPPtiBfqNGS5wxu/ZVhDZ21YGlbWqmW7a1ODdsy/8=;
 b=ge1nNvhDZgVosmZGyZGZwTrIpSCmj87twVDlFj63NUn3pr50bFhzV1LvLDto5WUm0mOsVkIpfb1f7mvt1qDu2opdRzrNQLcZNFWtjGMOGRt5t/2gpr1lAhkA24sksZxqxfj1qI5PglCVtir0JnOoepAyXTomPDN1DNiL0Zm1HAHggxME80e0dRzsdWBNhgkHaAh75rQA5nBKCahSf7o/AsCvv4/d5TmHd+rvOmljMchcXnWtVBtSu0L8cI0cMimdrGU6ST8EcPzkanH9mwIdr8XHcWb0nzctYEtPhhktMsKiM0Pf1Gaj6E4pX40Ox8zKdfRmObwGGzN5TFc5BuY3tQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BWbPPtiBfqNGS5wxu/ZVhDZ21YGlbWqmW7a1ODdsy/8=;
 b=hZXdU1Sti27SiNM7VOOgyyF884AkapMkXOmf7sJkTEk9kpi5Xo+K1rfhGBHc9VAF64Dp1fRqkx6tmM1g5NxEIbepob4NIGrdF9+vVMx9wzgGYkc6Sn2GmNWTZRVOW97HHhAj5sS7XtF/ZAtyBiWFZFt369LtaqM0ik1fxkvmJytDozY0bnaCuuap5GxImeHzyS7WwWK1bjLaR/WlviglzhwJDKb8YbmRXCWAttIcfcRZeBytkCZEu2jumCc4QOEhI49Z+G7GN7Q+SVdTfqMzG8ZzRApwj1iePoZlbUx/7PaqETxAOWLxWRxMyrINejSLsAPe7wOLRxrGfo6VCghAMg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f9001446-157a-99a6-29cd-dcbbb6d59527@suse.com>
Date: Wed, 3 Aug 2022 17:26:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v11] xsm: refactor flask sid alloc and domain check
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jandryuk@gmail.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20220803151741.7826-1-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220803151741.7826-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0102.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b7ed9f47-302e-40d3-5128-08da75648f64
X-MS-TrafficTypeDiagnostic: DB7PR04MB4044:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4iPZKOiodkBP74gFtL8NmaFtn04ar7DErUzow+UFrlsM5/wPkjeB9lycr4JAnmg4h+uqWyg0GzAybvG28mzKffZLgxVxKx//NuKLHfyref7He9RD97TgX45BZQgEShaUVtu0jZOCynI6SIstVTkwHCbqzcu/4kTK+WoG1m4FJt0mHEjrtNiwZzJ+TdkiyIW9O3XVMrOKhcvlHEybRtzHfQYF8lgGTupGcWTwWYdXPCiQCUJPf9D1/E7aCHnVfxhqP+4Xv2SBjrOMhAv8sIHKDaNwz8hcNaslcQoCswRrt+orGGT/SSpjQ4+j60ZYKHcucllyW2F7/HhSnnVx//D5W69xBotaforL4IG6s45mQC4mxTOOdhP5mm1zx3yLlFNx0KJAuB/KDikuaZtBHYX8TjHzF8I+5OM30IUJX51QOwl+YvIVVHI9cy7gwFZ3/rPfo8YLMh+vw7qL+JtGXJ7b6doz15WYQvi/Et8nKlGIyeXnHzF3C7Wgnio2+r+9H6hi3cPSoEoPaRWof++CGw3K+mY+3pxcNUVK6xWi935rd5G/9SC93uk+jtHLE9e4hNr/6lAM4EyocwM3UID7OKQl9/TbpqyBsg5J3A+D5AOb4L/b5ICo4PlPqy0ymtbczTNrSWVRHotOo2P0f1H5fKzJxhQJzHzRrZqi7W/P42mMtwpdoZ+dvNLcQmFLJdXTs4IF8s+TbMHTD5ELi2hW/aWyez234rkvhop61L/1qnaH8P9EvudxHTPVfeqZ8E2XE3cufO0XxLp6T6eAtNnz1Ety3nVtxPcOsAS2bMl4E9q1+0LKrUDMWupJWfM6dqe3Deo1xeaC8Z5SM7NkepcsJKQtyQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(39860400002)(136003)(376002)(366004)(396003)(6506007)(36756003)(26005)(41300700001)(6512007)(478600001)(31686004)(6916009)(6486002)(54906003)(83380400001)(186003)(53546011)(5660300002)(66556008)(4326008)(2616005)(86362001)(8676002)(66946007)(31696002)(66476007)(316002)(38100700002)(2906002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q1dsT0dYMHNIMGExbkJBQkhtbzR1MEE5WkI4S0k0akp5U3hUS1V0VTZRbnc5?=
 =?utf-8?B?Q1o3bkhjcHFNc3R6U0VRYWpYRXdqWVZIWU5rT2lrTEpoYXVPMmZNVXNRNUlC?=
 =?utf-8?B?WmZ5T2wwTm1VUldNQTZ6eEJoMUVmT0c1WXF6SDFWclMzeWdCK2ZVN0lXZmhu?=
 =?utf-8?B?MEJidU0xSTN2OC9BQXYxRkpXVjhLalluSUg4RFlHT0hldHZXOXA1OTJuMUw0?=
 =?utf-8?B?WkhwcWdWQnB2c2Q0S2NmSkxaRG9NaWhHODRKc1hoRExZd2N0R0k3RUwydVll?=
 =?utf-8?B?bk1LZlBRdndVTW02Q0ZnWll5c2dUMURlbk1VbnIyQzZINVA5SUtWOERFdHZW?=
 =?utf-8?B?V1RuUCtZRzZCRWIrYUFUSEtlaVN4R25aaXFWM1JpRFJLTHU2UWhJZ1V5UUhX?=
 =?utf-8?B?ZXkxY2xiWTRPTG1JYVc4ZStSUDREY25tTkVrTUZPYytsVTJQUHIzTGxoQ3R5?=
 =?utf-8?B?eTkrTUo4MzNKNzRVNy9PcWs4cndXbzlVTkNkVGhUZDV6blhJem8xS1ROTUJE?=
 =?utf-8?B?Nk0xLy82c0VuS3NMVXU3UW1WZ0FVU1RFbHhTQUxqR0srWk42TDhIbUpPbE0v?=
 =?utf-8?B?NFZ4ZUhwR1VPRjdXekpGeHE2RWppeEJNRzJ6MG9CSnU4T1FPUEt6SmpiVVlL?=
 =?utf-8?B?OW9sVVZRUWI4VmlrVFhoMEE3WUdPOTdmb2F3a3oxM0luZ0oyN2lzeVBBdjFj?=
 =?utf-8?B?dzViaU5DWHQxeExvUzhMZXp5WlFPcG5qM2ozOVJDSTJON3hOanQ4VlJtMk11?=
 =?utf-8?B?a2MyL0RvWGozQzBPTWxReXNKWStIYkx1d0pTNmZHV2MxOHJoYm96em9aN0tp?=
 =?utf-8?B?K3FCWGV0Q3JaWDhCbEE2Q3dPMG9tR1hvY3pOMFFncGtSNHRPQTFJS1JhMXgw?=
 =?utf-8?B?cjYxdWtMY3h5djl4RWdFcjRxbUcvUEdEaWdJNWNNditERU9OVStFNjY2Yjh2?=
 =?utf-8?B?aThYYlQzY2VrcHNRTm1HMXI5bmU3eEVDZXVMd3dKaVBDcnNQcXp3MExnZlFm?=
 =?utf-8?B?NnY2bzNBaGQwbzFHZzdFdWFPRlJVNGZ2QmV1NElHajhFRWxESC94aEFiTFA2?=
 =?utf-8?B?K01aQlRmTFR3dDVlTWVqQzYwdDhwMFBHUVE4Ykc4TWVkdGNJQ0dyTTVTUGhs?=
 =?utf-8?B?NUhpRk1LOG1JSjZDcUtSenkvb00xMnphLzluc2lveFlJRmRDZ3dnUVZoZ3A0?=
 =?utf-8?B?QU9LZnJyN1o2VktzMGhYQTFOcGsreGMwaHhKbEJwSUowQk1OZlkzd0NVdnlq?=
 =?utf-8?B?L3ErV0l1TDRBQmJvSE1oUFVFQjI1cWh0RDNjREpJdjZhbjJhT1hhcC85RjBC?=
 =?utf-8?B?bHI4eVV6RGsxbFdlYnJ3NkpTVTYvU043Y1FENmg0bS9TQjBHTnViM2F1ZFpV?=
 =?utf-8?B?WWFPRnVIeG1PdVoxODJVOXFUbmhhK3FWQWIzNCsvajR1ejhGSjdLRDRUb1BQ?=
 =?utf-8?B?RXVXSWZTTjVDUnEzS2x1TFlJZnhFZ3JESG5HVFRmM1dSU0M0Y1E0RVRoZkFR?=
 =?utf-8?B?UmhBM0NrSXJJankwS1VTMjZGYlk5bWFOaEpZdFJZNnhUNXljbEtnaU9uamVF?=
 =?utf-8?B?dXV4WWVUS3dLaGp0MVVVdHBLV0hTWFBmaWcxSGNSZWVmZ083NDduZHJhRXRY?=
 =?utf-8?B?dnhuMGJtWkZyMlJyRXV1U1ZHNUg0ZnV6S0dEcDc0OUsyYm1Nd3B5LzBKODRo?=
 =?utf-8?B?VGxBR1h6QnR6UHQvSktRdFF2azVsSlgrMmM0L3RReWl5Y2dLV3E2NmVSdHRU?=
 =?utf-8?B?dEVuZzZUWFlYUktpdDlRV2VIZEZJVWJZQVlRNVdLbmR4akdpU1lWWi9HL2RZ?=
 =?utf-8?B?bFhoZnU2Y0pHbGFDZk1TeTM3Y3JXMHRKSEwxVmswTWJwS0h3MlhCdXdhWXN2?=
 =?utf-8?B?NGdaZml2dFBWR29KNDJiQ1NTVFNod3lJUzVMbjRabS9JSHFtaytmUzdydHFt?=
 =?utf-8?B?SWhTWkViWldvTzA2Y1U5NGpQS1Q3V1RReEp4QUFVWWp4ODhwcDlWdzZtOHla?=
 =?utf-8?B?WjVDK0FOU3FTRlhnZlp2N3k0QkhWUW40eWNXNFVnY1JLcCtUYVhGUi9xZXAy?=
 =?utf-8?B?WE9GNFZBNFA2SG1PYWpRVjNnTk03dkxsQUt0V0swZzZNUE1rditJR2xmckNH?=
 =?utf-8?Q?mungeBRsRWScNvfQxyXJC+2p+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7ed9f47-302e-40d3-5128-08da75648f64
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 15:26:39.0179
 (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: foA1anFBR0g1og4j02REpe8HBjKWhfMzn3j0miCKp/C04zp0NSnx5V/mILNn1iEysAvsbO1ZHkRxzY3eqV1akA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4044

On 03.08.2022 17:17, Daniel P. Smith wrote:
> Changes in v11:
> - put back dom0_created variable in flask_domain_create() to ensure the
>   enforcement that dom0_t is a singleton label

Stale patch or bad rev log?

> @@ -548,22 +556,19 @@ static int cf_check flask_domain_create(struct domain *d, uint32_t ssidref)
>  {
>      int rc;
>      struct domain_security_struct *dsec = d->ssid;
> -    static int dom0_created = 0;

The variable is going away here, and it is not re-appearing elsewhere.

Jan

> -    if ( is_idle_domain(current->domain) && !dom0_created )
> -    {
> -        dsec->sid = SECINITSID_DOM0;
> -        dom0_created = 1;
> -    }
> -    else
> -    {
> -        rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN,
> -                          DOMAIN__CREATE, NULL);
> -        if ( rc )
> -            return rc;
> +    /*
> +     * If the null label is passed, then use the label from security context
> +     * allocation.
> +     */
> +    if ( ssidref == 0 )
> +        ssidref = dsec->sid;
>  
> -        dsec->sid = ssidref;
> -    }
> +    rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN, DOMAIN__CREATE, NULL);
> +    if ( rc )
> +        return rc;
> +
> +    dsec->sid = ssidref;
>      dsec->self_sid = dsec->sid;
>  
>      rc = security_transition_sid(dsec->sid, dsec->sid, SECCLASS_DOMAIN,



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 15:37:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 15:37:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379991.613954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJGRE-00037F-DW; Wed, 03 Aug 2022 15:37:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379991.613954; Wed, 03 Aug 2022 15:37:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJGRE-000378-A2; Wed, 03 Aug 2022 15:37:36 +0000
Received: by outflank-mailman (input) for mailman id 379991;
 Wed, 03 Aug 2022 15:37:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LHrU=YH=citrix.com=prvs=2079004b7=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1oJGRC-000372-Q2
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 15:37:35 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2eeba1d9-1342-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 17:37:31 +0200 (CEST)
Received: from mail-bn7nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2022 11:37:23 -0400
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by DM4PR03MB6078.namprd03.prod.outlook.com (2603:10b6:5:391::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug
 2022 15:37:20 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::11be:5f36:d3fe:ba1e]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::11be:5f36:d3fe:ba1e%6]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022
 15:37:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2eeba1d9-1342-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659541051;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=lJPiFiIpnOIsZ7EWYKA0t6BHfgqwFpceUXGWcFt8Bpw=;
  b=JTFKHRlLTRcBotD3upE80l170AQZaOQTL1HPR99cWlEc5btwQuAnw5XP
   yuTBuUcv+187cd/fwdDUm7p2ADZ09U4mQF7qvo6822CDuCFOj+z/YU4XW
   F22TY2XqaVNgWn9E8vfUQNbQcZedhS8HEFUuE5zoJevRYM848gPHmlXDp
   Q=;
X-IronPort-RemoteIP: 104.47.70.104
X-IronPort-MID: 79846481
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:oFXMXK3g9N13JEyRA/bD5QRwkn2cJEfYwER7XKvMYLTBsI5bp2NWm
 GNMW2yDOPeDNmb3L9okO42+8BkH7ZKEx4UyHQZspC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Eg35pwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj69VfSxoGPK8bw8NMBWtyr
 vsqIjsHaSnW0opawJrjIgVtruIKCZCzeak55TRnxzyfCus6S5feRamM/cVfwDo7msFJG7DZe
 tYdbj1sKh/HZnWjOH9OUM54wLju2SG5KmUEwL6WjfNfD2z7wQBv0b6rLN3Pfd+iTsRJhEeI4
 GnB+gwVBzlFZYzDl2bVqxpAgMfTrX6rZsE+GIeUtc9bjVKPwE4COREZAA7TTf6RzxTWt8hkA
 1wZ/G8ioLY/8GSvT8LhRFuorXicpBkeVtFMVeog52mlyKDZ/gKYDWgsVSNaZZots8pebT430
 l6Emfv5CDopt6eaIVqG7audpz62PSkTLEcBaDUCQA9D5MPsyKksijrfQ9AlF7S65vX5EC/96
 yqHpy8/g/MUl8Fj6kmg1VXOgjbprJ6WSAcwv13TRjj8tl8/Y5O5bYu171Sd9exHMIuSUliGu
 j4DhtSa6+cNS5qKkURhXdkwIV1g3N7dWBW0vLKlN8NJG+iFk5J7Qb1t3Q==
IronPort-HdrOrdr: A9a23:1GLbva61AdTSFx1KZgPXwNTXdLJyesId70hD6qkRc3xom6Oj/f
 xG8M536faWslcssRMb9uxoUZPoKRjhHPZOkOos1NyZMjUO1lHFEGkohbGSoQHdJw==
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="79846481"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dhXsUmdMZx5VJyqNc72F3/RbRzDiJwQ1fjxyDeSJbGvb3wNkV5kYWPPXGvNSpDupZlknSrScW5721gwCf5n9GUhTSnFa6gF5olqy0mrCmMj5mU4bP+va4oQ/tvudaz/vWAufwx2HYX8QCxnfs2RnS1JLeeCZwOCwBah0hVhjPO364Xq1q4Df6xd9bRojP02rejPRo5lHGwKDhcIrMDc0n5m93dRniqVBAElC7xVx7u0iqJebyyFG10EaKCHM8krkGDnb6u9h4HsmsiCP3yn2qFhExIj7DcHje2ywxijie6r2Ff7YHNdO1DhsxFX+ealcxIBbvFTi7CZ3/quRTozUgw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lJPiFiIpnOIsZ7EWYKA0t6BHfgqwFpceUXGWcFt8Bpw=;
 b=TDOT0+XnnXQzUSe9tvhnGSd+q9POGhod+bGI5KB1NzXQ+CxuSBY0GQ35QxjPHgW1NBcYwERZ4ER2Csxs4rBlThbrSLyBu0cd6zXeL9hMplHD4iXuQmmdW5bVtykdzHqwrwf8pUxmRg7DuyTy8dPMQzw4bVwZL5Z8sg2BVPe3QHZSfk3rn5UVu3vO6dvJBslNrdJMzk/TGdnVIBt7CDS+qdzAB7Iudp3MY9Y/obcaw+oha+UIhn5bdNxecl8gvvsYbuG9D/z6uWBWl/1NAd179fPiarjVoS7OhAMPh5hwhpRQZNHAKzneDOXMEd6gz51gv0ddB7mgWAxAkdSjMSELkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lJPiFiIpnOIsZ7EWYKA0t6BHfgqwFpceUXGWcFt8Bpw=;
 b=epxoGI0P0Qc0SrpgmJ3E61FehdOKzbA11tTWl8XJHXKUlgZytu3OSye2kUa25RfjJuaguuZfwi5JDnWJxqelgjclgazdD7pgvs2NOp99v3wpVyyPsajT2KEL9dXzNY7BHOM5NReEqjPwifMuVutEhDjTQ/O14cWQfExLznttYaU=
From: Edwin Torok <edvin.torok@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<Andrew.Cooper3@citrix.com>, George Dunlap <George.Dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>
Subject: Re: [PATCH v1 4/7] tools/ocaml: Makefile to drive dune
Thread-Topic: [PATCH v1 4/7] tools/ocaml: Makefile to drive dune
Thread-Index: AQHYo3Q5owy9krnDwEeI1dJBFaZ+vK2dN+aAgAAfBQA=
Date: Wed, 3 Aug 2022 15:37:19 +0000
Message-ID: <9DEFAAE6-970F-4A0E-A136-089C6D36B41C@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <322ec0c9af480e9b8a6246d0a2cdb4e308a5900c.1659116941.git.edvin.torok@citrix.com>
 <Yup8Kb4iL5pXqys9@perard.uk.xensource.com>
In-Reply-To: <Yup8Kb4iL5pXqys9@perard.uk.xensource.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3e24c2ab-26f3-463e-80be-08da75660d86
x-ms-traffictypediagnostic: DM4PR03MB6078:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 UZw+EEH3rhVcRhRdKQN5u/aajysI2aZ3xEOKN/kKLKgo1E+HghDAmTYj3N/ltgzF3lT43Dk5lwittzt8J7XG2Rgb6Qv9GvSW+MtMdgjl1ILAo0r+V3xvmZs7OP+tJFUXYwEr97WkHt5Dz8HRZq80J280uF73H7wY7vr5ifLnjf+hv/rtap2JMMkSc1M5/X5mbAlN+uBHzF7+BvkMajoaiqbrupEnQo5lAkM4EjnaOEhPgUFIuWjE/tju5tETC3do/K3LDmTaj8MA9VKxHuJ55MDaYDZde1aGiZFE0YOpOW2PUGX/7Jaho7h/yTVHWdsOgQ/jhsmYDSo1lshN+Kb6G/sb83u7i1h3OORikVFfp/5+cD3xzs0jcX8erHbfiXpXPHd2Q60nqp8OSoM3vqZg/XRW3ZKC8LTHWbqEUybGon+X8KB69Nh+ey97C9UC9wfrf+J9FE4o2j/9MhaCMJAXOIQ/dNZ5VkC3EXRXgfVzUTr0uffKZgFiV9q0DdsqqXLlujvvpwg4bFmfswWuz8+/2qWiTrVJUC/Zy8ILz8/sl6S7jXz6SiV4NgTt5qMeRkF188gjtfN0F1l4yX8GVynQ2dedsKfa1eCj9QazllKD67J4Axh9r61x0MeLiiNXVGyqrflt62ypdoIup5rr0DKcgv9hFticeb7vQSfuvN1Pw4hwPl4wwezSpjniURA7wkpVU2YStCfOY/hOJ/8rbplwk/vfGQliOzf5brWRa9wHoII6T2dcYEZJEgF5RXIU93FUbHnN9EaLfBLIOa66wBaeqye7u/HKhBgPhOQFvcnSMRmNTPpvyRVBIk7VMBKS7iNDnrPcq9AB3k+SoFDjSnXvVw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(346002)(39860400002)(366004)(396003)(4326008)(8676002)(66446008)(64756008)(66476007)(33656002)(66556008)(66946007)(76116006)(36756003)(8936002)(91956017)(30864003)(2616005)(122000001)(41300700001)(71200400001)(5660300002)(6862004)(6506007)(6512007)(186003)(26005)(53546011)(478600001)(6486002)(83380400001)(66574015)(54906003)(316002)(6636002)(37006003)(38100700002)(82960400001)(86362001)(2906002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VllYVWZSb0FDWHJpM3RjRHdpV256N20wTjl0RG1BZWlMQTZ4Kzl2eWI4VmFH?=
 =?utf-8?B?aS90aU15OC9LMW1QaFdzOFNON2gyUHYzZE5kUVJqR0pyYkluV1dIdXM5UTFV?=
 =?utf-8?B?dVlFU3JOb3FKYXByRGFSYXByVUlmN1QwN3FUTGxzdFBGNFMzaEVqQzhaTFhQ?=
 =?utf-8?B?L2Zpd2NPWjR2SGtTUU0zUUFNTm1Sd0pQcTBDbmE3WlU1K1ZzTnF4OGRBMEhX?=
 =?utf-8?B?TXpnQU1IWlF6VUVzaDU5Q2x4UzRnNGs5eDZJZDJYL1RQWFd3RFhpRTJOb1BU?=
 =?utf-8?B?THRrSmlhRmR5UVI3MWEveUQweFE2ckVkSVBSNmlZVVNrQmZNRU5RMmxUZEM4?=
 =?utf-8?B?WWw3RWNDVUlpOThielM3bUVuNVRkVTlwa2hKS0dQc1NUNWk3YmNORzlwdHo1?=
 =?utf-8?B?ZkZpdWlHckhNSlluL3FUU1IzYkZjRzJPOTAzWDJROUpxSkZlSGxsditTd2Nw?=
 =?utf-8?B?MWhNUDdqMVEzN0tMR1I4TGhDeHVMNHd3Y0FOWDhOSlRyTENOcFc5UDhYdG8x?=
 =?utf-8?B?VnJuWHBwazc4eGJ1a1lQNGQ1VU5ldHZSWmNScnhCVjJTdWcrMVkwSnkrNFFX?=
 =?utf-8?B?c0ZCVUNmOTJGYlNkSmdvN1NreXJuRzY4UkRDL3ZSUjRYbUcvbUE2MGtmMGhR?=
 =?utf-8?B?UFJVZ1FxU3RXNDJ3NmxpK1o0cVpnSmx6ME9rSWp5a2tTTVoyU21ZVGFKcWhM?=
 =?utf-8?B?cnROYnpESHB0QXJac2ttR1BmK3hsS2tNYTRmZ2NRL2ZBb1VVS0QvdXdBcXow?=
 =?utf-8?B?VXlMa2ZZTzl5TW96QkdldlhPS3Z5aUdXc2ZzbnY0QTY2SHQ2SzlGRlpzK1d3?=
 =?utf-8?B?eG93eGhlYXBjT1RtQnBSZkFMRHV1RzJDZDM2azBtakdXT2QyREY3NDJhaHU3?=
 =?utf-8?B?ZUMxK0psTitUL2xFekNoL3J3UzhNeGttY1RhWHJ5V1FzWTUwK0RoT01jbWJ2?=
 =?utf-8?B?V0JFZVQ5ckVrUS9FR2kvNFpwTTVBc01aeDJJK2NQN2s5ckJIaVhmM3Z6RlJJ?=
 =?utf-8?B?cit4amdVN2pYd01qR011MzhsYVF6OTEvOHFqV0JzSzUvK3gxM3dDVklnRzZw?=
 =?utf-8?B?ZXI5VlF4SmtwUkREMzdRdVM5aUNzK1A0V2U3VDRsZUE2M1BYRlVFZG1kYlFO?=
 =?utf-8?B?TE5VZUlQT1B6SHhuLzNlM2lVK1FaK0I2UlAyOFdNejFMMm0xNnd4a3lSWENr?=
 =?utf-8?B?L0lyZFY4UzUrZDBlM203c0E5akw3bjBWblpEZGlEQ3YvdEY5SjNnMkxnKzRm?=
 =?utf-8?B?VTYwdHozcWZsb3pZUVZKL3l1VjFYU0J2anc5Q3BXNTJnaU5ObVdKb2wyRTBI?=
 =?utf-8?B?cUE2Nmt1cFZ6b0o3NmFZVjNUR0FNSXhVQnRmKzVHamE0YkQvYmxPRW40S0dl?=
 =?utf-8?B?Ym1NZ2JyWGdTZmd2ZmwrRTh4S29XZjR4V3BqYjlFc2MraHkvU1NQcmtGMjBl?=
 =?utf-8?B?UkZGQ2pjbUVJMnNPYTNPRkMwbVR2bXF1eTVVbTRpSnFoRElmMkRVajUzV2Z1?=
 =?utf-8?B?ZWhHQTBmZE93bHpQTGx0a0hDTHduSEdRcHk0dXNwUUN6YmxzblpIUHZrRm1k?=
 =?utf-8?B?UUQ1Y3ZGY3piaDRlaW9SM2xtRnlSWldtWTl4K3RIbW5peGx0dU1jcVI0SVJl?=
 =?utf-8?B?b0JYTlRVcGhrVmppSEdnSU1pdE5ZditWVVhjVDhZQ2pYQ1RFNy8zd3pWcFdJ?=
 =?utf-8?B?ZkJpNExiT05tK0xzUDBqRGc4UGlidGZHRTZad25lTGlqNzdzZVdKU0NIbTVV?=
 =?utf-8?B?UjdtLzYrVmxIYVNqOHdaZUxHUlVlVEdXZm1xN0diTjBLazVCOFI3YlpyUVFI?=
 =?utf-8?B?UXBHUUNRcEtHZ293WFdnQVhpN1M2azFKSStlSU1tb0s1TUhHOVJueGJlNTZk?=
 =?utf-8?B?ZWNITHhwMkg0RWwrZ2xteXZRdVVKNTcrL0hMRXB1bk5QOFpUM1RzTkN1Ym9H?=
 =?utf-8?B?VGlqWnFnV0d3QTc1NkduWEZTR2tPanNRREZhYk9uR0kwcm1XdHpyUmpyeGEz?=
 =?utf-8?B?aGRPV0VBZGl2Mmo1TDhHYXRGVnpidGEvT0kzK0V5K3VvN2VMakpuT1NnN3hX?=
 =?utf-8?B?emkzc0ExbC9qVmVqMHRQcUNWVUxkL3BtRVlrY1lRZlF3UUNJdTR1N3BDN3Rz?=
 =?utf-8?B?c2FLQzVHd3RnbUVobFAxVHFpb2dpUzJLVlBlNklNazFNcEpQQTUzcGJTNlkw?=
 =?utf-8?B?UWc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D931FDD02DDD5F4D88DE591F020AD0AE@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e24c2ab-26f3-463e-80be-08da75660d86
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2022 15:37:19.9910
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: C51/4ssz9BWpE6io4MAIqyP1K35SOeW+ozNBsJGFNj0Tg9TzwAPlJnGZsf7Ty+sjaU1ABLzri9t342Q2xGoduw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6078

DQoNCj4gT24gMyBBdWcgMjAyMiwgYXQgMTQ6NDYsIEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBl
cmFyZEBjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IE9uIEZyaSwgSnVsIDI5LCAyMDIyIGF0IDA2
OjUzOjI3UE0gKzAxMDAsIEVkd2luIFTDtnLDtmsgd3JvdGU6DQo+PiBjcmVhdGUgYSBzZXBhcmF0
ZSBNYWtlZmlsZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGRyaXZlIGR1bmUuDQo+PiANCj4+IFVzYWdl
Og0KPj4gYG1ha2UgLWYgTWFrZWZpbGUuZHVuZWANCj4+IA0KPj4gVGhlcmUgYXJlIHNvbWUgZmls
ZXMgdGhhdCBuZWVkIHRvIGJlIGNyZWF0ZWQgYnkgdGhlIE1ha2VmaWxlIGJhc2VkDQo+PiBidWls
ZCBzeXN0ZW0gKHN1Y2ggYXMgYWxsIHRoZSBDIGNvZGUgaW4gJChYRU5fUk9PVCkvdG9vbHMvbGli
cyksDQo+PiBhbmQgdGhvc2UgbmVlZCB0byBleGlzdCBiZWZvcmUgZHVuZSBydW5zLg0KPj4gDQo+
PiBBbHRob3VnaCBpdCdkIGJlIHBvc3NpYmxlIHRvIGF1dG9tYXRpY2FsbHkgY2FsbCB0aGUgbmVj
ZXNzYXJ5IG1ha2VmaWxlDQo+PiBydWxlcyBmcm9tIGR1bmUsIGl0IHdvdWxkbid0IHdvcmsgcmVs
aWFibHk6DQo+PiAqIGR1bmUgdXNlcyBzYW5kYm94aW5nIGJ5IGRlZmF1bHQgKG9ubHkgZmlsZXMg
ZGVjbGFyZWQgb3Iga25vd24gYXMNCj4+ICBkZXBlbmRlbmNpZXMgYXJlIHZpc2libGUgdG8gaW5k
aXZpZHVhbCBidWlsZCBjb21tYW5kcywNCj4+ICBzeW1saW5rcy9oYXJkbGlua3MgYXJlIHVzZWQg
YnkgZHVuZSB0byBpbXBsZW1lbnQgdGhpcykNCj4+ICogdGhlIGR1bmUgYnVpbGRzIGFsd2F5cyBy
dW4gaW4gYSBfYnVpbGQgc3ViZGlyLCBhbmQgY2FsbGluZyB0aGUNCj4+ICBtYWtlZmlsZXMgZnJv
bSB0aGVyZSB3b3VsZCBnZXQgdGhlIHdyb25nIFhFTl9ST09UIHNldA0KPj4gKiBydW5uaW5nIHRo
ZSBtYWtlIGNvbW1hbmQgaW4gdGhlIHNvdXJjZSB0cmVlIHdvdWxkIHdvcmssIGJ1dCBkdW5lIHN0
aWxsDQo+PiAgd291bGRuJ3QgaW1tZWRpYXRlbHkgc2VlIHRoZSBidWlsZCBkZXBlbmRlbmNpZXMg
c2luY2UgdGhleSB3b3VsZG4ndA0KPj4gIGhhdmUgYmVlbiBjb3BpZWQvbGlua2VkIHVuZGVyIF9i
dWlsZA0KPj4gDQo+PiBUaGUgYXBwcm9hY2ggaGVyZSBpcyB0bzoNCj4+ICogdXNlIHRoZSBNYWtl
ZmlsZSB0byBidWlsZCBDLW9ubHkgcHJlcmVxdWlzaXRlcyAoaS5lLiBtb3N0IG9mIFhlbikNCj4+
ICogdXNlIER1bmUgb25seSB0byBidWlsZCB0aGUgT0NhbWwgcGFydHMgb25jZSB0aGUgQyBwcmVy
ZXF1aXNpdGVzIGV4aXN0DQo+PiAqIGR1bmUgaGFzIGRlcGVuZGVuY2llcyBkZWNsYXJlZCBvbiB0
aGUgQyBiaXRzLCBzbyBpZiB0aGV5IGFyZSBtaXNzaW5nDQo+PiAgeW91IHdpbGwgZ2V0IGFuIGVy
cm9yIGFib3V0IGEgbWlzc2luZyBydWxlIHRvIGNyZWF0ZSB0aGVtIGluc3RlYWQgb2YgYQ0KPj4g
IGNyeXB0aWMgY29tcGlsYXRpb24gZXJyb3INCj4+ICogZHVuZSBpcyBzdGlsbCBvcHRpb25hbCAt
IHRoZSBvbGQgTWFrZWZpbGUgYmFzZWQgYnVpbGRzeXN0ZW0gaXMgc3RpbGwNCj4+ICB0aGVyZSBm
b3Igbm93DQo+PiAqIHVzZSBkdW5lIGV4Y2x1c2l2ZWx5IGZvciBuZXcgY29kZSBnb2luZyBmb3J3
YXJkIChlLmcuIE9DYW1sIHRlc3Qtc3VpdGVzKQ0KPj4gDQo+PiBUaGUgd29ya3NwYWNlIGZpbGUg
bmVlZHMgdG8gYmUgZ2VuZXJhdGVkIGJ5IG1ha2UgYmVjYXVzZSB0aGlzIGN1cnJlbnRseQ0KPj4g
Y2Fubm90IGJlIGdlbmVyYXRlZCBieSBkdW5lLCBhbmQgaXQgZG9lc24ndCBzdXBwb3J0IGluY2x1
ZGluZyBleHRlcm5hbA0KPj4gZmlsZXMuIEJ1dCBjb3VsZCBiZSBnZW5lcmF0ZWQgYnkgY29uZmln
dXJlPw0KPiANCj4gUG90ZW50aWFsbHksIGJ1dCAuL2NvbmZpZ3VyZSBkb2Vzbid0IGhhdmUgYWNj
ZXNzIHRvIHRoZSBsaXN0IG9mDQo+IHhlbiBsaWJyYXJpZXMsIHNvIEknbSBub3Qgc3VyZSBpdCB3
b3VsZCBiZSBhIGdvb2QgaWRlYS4NCg0Kb2sgSSdsbCByZW1vdmUgaXQgZnJvbSB0aGUgY29tbWl0
IG1lc3NhZ2UuDQoNCj4gDQo+PiBMRF9MSUJSQVJZX1BBVEggbmVlZHMgdG8gYmUgc2V0LCBiZWNh
dXNlIGV2ZW4gd2l0aCAtV2wsLXJwYXRoDQo+PiBleGVjdXRhYmxlcyB3b3VsZG4ndCBiZSBhYmxl
IHRvIHJ1biB1c2luZyB0aGUganVzdC1idWlsdCBsaWJyYXJpZXMsDQo+PiB1bmxlc3Mgd2UnZCBh
bHNvIGxpbmsgYWxsIHRoZSB0cmFuc2l0aXZlIGRlcGVuZGVuY2llcyBvZiBsaWJzLg0KPj4gDQo+
PiBObyBmdW5jdGlvbmFsIGNoYW5nZS4NCj4+IA0KPj4gU2lnbmVkLW9mZi1ieTogRWR3aW4gVMO2
csO2ayA8ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4NCj4+IC0tLQ0KPj4gTWFrZWZpbGUgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgIDUgKysNCj4+IHRvb2xzL29jYW1sL01ha2VmaWxlLmR1bmUg
ICAgICAgICB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+IHRvb2xzL29j
YW1sL2R1bmUtd29ya3NwYWNlLmRldi5pbiB8ICAyICsNCj4+IHRvb2xzL29jYW1sL2R1bmUtd29y
a3NwYWNlLmluICAgICB8IDE4ICsrKysrKysNCj4+IDQgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2Vy
dGlvbnMoKykNCj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9vY2FtbC9NYWtlZmlsZS5kdW5l
DQo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwvZHVuZS13b3Jrc3BhY2UuZGV2Lmlu
DQo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvb2NhbWwvZHVuZS13b3Jrc3BhY2UuaW4NCj4g
DQo+IFlvdSd2ZSBhZGRlZCBkdW5lLXdvcmtzcGFjZSogdG8gLmdpdGlnbm9yZSBpbiB0aGUgcHJl
dmlvdXMgcGF0Y2gsIHNob3VsZA0KPiB0aGUgYWRkaXRpb24gYmUgZG9uZSBpbiB0aGlzIHBhdGNo
IGluc3RlYWQ/IChBbHNvIGZlZWwgZnJlZSB0byBjcmVhdGUNCj4gInRvb2xzL29jYW1sLy5naXRp
Z25vcmUiLg0KPiANCj4+IGRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlDQo+PiBpbmRl
eCBiOTNiMjJjNzUyLi5kZGIzM2MzNTU1IDEwMDY0NA0KPj4gLS0tIGEvTWFrZWZpbGUNCj4+ICsr
KyBiL01ha2VmaWxlDQo+PiBAQCAtNjgsNiArNjgsMTEgQEAgYnVpbGQtdG9vbHMtb3hlbnN0b3Jl
ZDogYnVpbGQtdG9vbHMtcHVibGljLWhlYWRlcnMNCj4+IAkkKE1BS0UpIC1zIC1DIHRvb2xzL2xp
YnMNCj4+IAkkKE1BS0UpIC1DIHRvb2xzL29jYW1sIGJ1aWxkLXRvb2xzLW94ZW5zdG9yZWQNCj4+
IA0KPj4gKy5QSE9OWTogYnVpbGQtdG9vbHMtb3hlbnN0b3JlZC1wcmVwYXJlDQo+PiArYnVpbGQt
dG9vbHMtb3hlbnN0b3JlZC1wcmVwYXJlOiBidWlsZC10b29scy1wdWJsaWMtaGVhZGVycw0KPj4g
Kwl0ZXN0IC1mIHRvb2xzL2NvbmZpZy5zdGF0dXMgfHwgKGNkIHRvb2xzICYmIC4vY29uZmlndXJl
IC0td2l0aC14ZW5zdG9yZWQ9b3hlbnN0b3JlZCkNCj4gDQo+IE5vLCBkbyBub3QgcnVuIC4vY29u
ZmlndXJlIGZyb20gdGhlIG1ha2VmaWxlLiAuL2NvbmZpZ3VyZSBuZWVkcyB0byBiZQ0KPiBydW4g
YmVmb3JlIHJ1bm5pbmcgbWFrZS4NCg0KDQpQZXJoYXBzIEkgY2FuIGFkZCB0aGUgbmVjZXNzYXJ5
IGluc3RydWN0aW9ucyB0byBhIFJFQURNRSBpbiB0b29scy9vY2FtbCBpbnN0ZWFkIG9mIHRoaXMg
TWFrZWZpbGUgcnVsZSAod2hpY2ggd2FzIGhlcmUgZm9yIGRvY3VtZW50YXRpb24vY29udmVuaWVu
Y2UgcmVhc29ucykuDQpUaGUgdG9wbGV2ZWwgY29uZmlndXJlIGNhbiBmYWlsIGR1ZSB0byB2YXJp
b3VzIG1pc3NpbmcgZGVwZW5kZW5jaWVzLCBidXQgZm9yIE9DYW1sIGp1c3QgdGhlIGNvbmZpZ3Vy
ZSBpbiB0b29scyBzaG91bGQgYmUgc3VmZmljaWVudC4NCg0KPiANCj4+ICsJJChNQUtFKSAtQyB0
b29scy9saWJzIFY9DQo+IA0KPiBObywgZG8gbm90IHN0YXJ0IGEgYnVpbGQgb2YgdGhlIGxpYnJh
cmllcyBmcm9tIHRoZSByb290IG1ha2UgZmlsZS4gSWYgYQ0KPiB1c2VyIHdlcmUgdG8gcnVuIGBt
YWtlIGJ1aWxkLXRvb2xzLW94ZW5zdG9yZWQtcHJlcGFyZSBidWlsZC10b29sc2AsIHdlDQo+IHdv
dWxkIGVuZCB1cCB3aXRoIDIgbWFrZSBydW5uaW5nIGBtYWtlIC1DIHRvb2xzL2xpYnNgIGNvbmN1
cnJlbnRseSB3aGljaA0KPiBpc24ndCBnb2luZyB0byBlbmQgd2VsbC4NCg0KDQpJJ2QgbGlrZSBh
IHNpbmdsZSBjb21tYW5kIHRvIGJ1aWxkIGV2ZXJ5dGhpbmcgbmVlZGVkIHJlbGF0ZWQgdG8gb3hl
bnN0b3JlZCwgd2l0aG91dCBuZWNlc3NhcmlseSBidWlsZGluZyB0aGUgcmVzdCBvZiBYZW4gKHdo
aWNoIGNvdWxkIGVpdGhlciB0YWtlIGEgbG9uZyB0aW1lLCBvciBmYWlsIGR1ZSB0byBtaXNzaW5n
IGRlcGVuZGVuY2llcykuDQpJZGVhbGx5IFhlbiB3b3VsZG4ndCB1c2UgcmVjdXJzaXZlIGludm9j
YXRpb25zIG9mIG1ha2UsIGJ1dCBqdXN0IG9uZSBzaW5nbGUgbWFrZWZpbGUgdGhhdCBpcyBhd2Fy
ZSBvZiBhbGwgc291cmNlIGZpbGVzIChhbmQgeW91IGNvdWxkIHRoZW4gcmVmZXIgdG8gb2JqZWN0
cy9saWJyYXJpZXMgaW4gYW5vdGhlciBkaXJlY3RvcnkgYXMgZGVwZW5kZW5jaWVzKQ0KYW5kIHdo
YXQgSSdkIGxpa2UgdG8gZG8gY291bGQgYmUgYWNoaWV2ZWQgYnkgc2ltcGx5IGFza2luZyAnbWFr
ZScgdG8gYnVpbGQgdG9vbHMvb2NhbWwveGVuc3RvcmVkL294ZW5zdG9yZWQgYW5kIGxldCBpdCBm
aWd1cmUgb3V0IHRoZSBtaW5pbWFsIHNldCBvZiBjb2RlIHRoYXQgbmVlZHMgdG8gYmUgYnVpbHQg
Zm9yIHRoYXQuDQpIb3dldmVyIHN1Y2ggYSBjaGFuZ2Ugd291bGQgYmUgcXVpdGUgaW52YXNpdmUg
dG8gdGhlIGJ1aWxkIHN5c3RlbSAoYW5kIHRoZXJlIHByb2JhYmx5IHdhcyBhIHJlYXNvbiB0byB1
c2UgcmVjdXJzaXZlIG1ha2VmaWxlcywgdGhleSBtaWdodCBoYXZlIHNvbWUgYWR2YW50YWdlIEkn
bSBub3QgYXdhcmUgb2YpLg0KV2hlcmUgZG8geW91IHJlY29tbWVuZCB0byBwdXQgdGhpcyBydWxl
IGluc3RlYWQsIHNob3VsZCBpdCBiZSBpbiBgdG9vbHMvb2NhbWxgPyAoYWx0aG91Z2ggaW4gdGhh
dCBjYXNlIGl0J2QgaGF2ZSB0byBkbyBhIG1ha2UgaW52b2NhdGlvbiBpbiBgLi4vbGlic2Agd2hp
Y2ggaXNuJ3QgbmVjZXNzYXJpbHkgbmljZXIpDQoNCk9yIHNob3VsZCBpdCBiZSBhIHNoZWxsIHNj
cmlwdCBpbnN0ZWFkIHRoYXQgaW52b2tlcyBhbGwgdGhlIG5lY2Vzc2FyeSBtYWtlIHJ1bGVzIHdp
dGggdGhlIHJpZ2h0IGZsYWdzLCBlLmcuIHRvb2xzL29jYW1sL2Rldi1idWlsZC5zaD8NCiAoYW5k
IGluIHRoYXQgY2FzZSB0aGVyZSdkIGJlIG5vIHJpc2sgb2YgdGhlIHVzZXIgcnVubmluZyBtdWx0
aXBsZSBtYWtlIHJ1bGVzIGlmIHRoZSBzY3JpcHQgaXRzZWxmIHRha2VzIG5vIHBhcmFtZXRlcnMp
Lg0KDQo+IA0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL29jYW1sL01ha2VmaWxlLmR1bmUgYi90b29s
cy9vY2FtbC9NYWtlZmlsZS5kdW5lDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXgg
MDAwMDAwMDAwMC4uZWNhOWNhYzBjYQ0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvdG9vbHMv
b2NhbWwvTWFrZWZpbGUuZHVuZQ0KPj4gQEAgLTAsMCArMSw4OCBAQA0KPj4gK1hFTl9ST09UID0g
JChDVVJESVIpLy4uLy4uDQo+PiArYWxsOiBkdW5lLWFsbC1jaGVjaw0KPj4gKw0KPj4gKyMgRHVu
ZSBieSBkZWZhdWx0IHVzZXMgYWxsIGF2YWlsYWJsZSBDUFVzLiBNYWtlIGRvZXNuJ3QuDQo+PiAr
IyBRdWVyeSB0aGUgYXZhaWxhYmxlIENQVXMgYW5kIHVzZSBhbGwgYXZhaWxhYmxlIGZvciBhbnkg
b2YgdGhlIG1ha2UgcnVsZXMgd2UgY2FsbCBvdXQgdG8uDQo+PiArIyAtTyBpcyBhbHNvIG5lZWRl
ZCB3aXRoIHBhcmFsbGVsIG1ha2Ugc3VjaCB0aGF0IHRoZSBidWlsZCBlcnJvciBhbmQgdGhlIGJ1
aWxkIGNvbW1hbmQgY2F1c2luZw0KPj4gKyMgIHRoZSBlcnJvciBhcmUgY2xvc2UgdG9nZXRoZXIg
YW5kIG5vdCBpbnRlcnNwZXJzZWQgd2l0aCBvdGhlciBvdXRwdXQNCj4+ICtOUFJPQz0kKHNoZWxs
IGdldGNvbmYgX05QUk9DRVNTT1JTX09OTE4pDQo+PiArTUFLRU49JChNQUtFKSAtaiQoTlBST0Mp
IC1PDQo+IA0KPiBQbGVhc2UsIGRvbid0IGNoYW5nZSB0aG9zZSBvcHRpb25zLCBJIGRvbid0IHRo
aW5rIHRoZXNlIG9wdGlvbnMgYmVsb25nDQo+IHRvIGEgTWFrZWZpbGUuDQoNCg0KdGhpcyBNYWtl
ZmlsZSBpcyBub3QgKHlldCkgbGlua2VkIHRvIHRoZSB0b3BsZXZlbCBtYWtlZmlsZXMsIGl0IGlz
IG9ubHkgdXNlZCBpdCB5b3UgZXhwbGljaXRseQ0KJ21ha2UgLWYgTWFrZWZpbGUuZHVuZScsIGlu
IHdoaWNoIGNhc2UgaXQgc2F2ZXMgc29tZSB0eXBpbmcgaWYgeW91IGRvbid0IGhhdmUgdG8gc3Bl
Y2lmeSAtaiBldmVyeSB0aW1lLg0KV291bGQgdGhlcmUgYmUgYW5vdGhlciB3YXkgdG8gYWNoaWV2
ZSB0aGlzPyBlLmcuIGEgZG90ZmlsZSBpbiB1c2VyIGhvbWUgdGhhdCBtYWtlIGtub3dzIGFib3V0
Pw0KKEkgdGhpbmsgcnBtYnVpbGQgY2FuIGJlIGNvbmZpZ3VyZWQgdGhhdCB3YXkgdG8gdXNlIHRo
ZSBjb3JyZWN0IC1qIGZsYWcsIGJ1dCBJJ20gbm90IGF3YXJlIHdoZXRoZXIgTWFrZSBjYW4pLg0K
UGVyaGFwcyB0aGUgYWJvdmUgZGV2LWJ1aWxkLnNoIHdvdWxkIGJlIHRoZSBzb2x1dGlvbiBoZXJl
IHRvbyAobW92ZSB0aGUgc2V0dGluZ3MgdGhhdCBkb24ndCBiZWxvbmcgaW50byBhIG1ha2VmaWxl
IGludG8gYSBjb252ZW5pZW5jZSBzaGVsbCBzY3JpcHQpDQoNCj4gDQo+PiArIyBXZSB3YW50IHRv
IGxpbmsgYW5kIHVzZSB0aGUgWGVuIGxpYnJhcmllcyBidWlsdCBsb2NhbGx5DQo+PiArIyB3aXRo
b3V0IGluc3RhbGxpbmcgdGhlbSBzeXN0ZW0td2lkZQ0KPj4gKyMgKHRoZSBzeXN0ZW0td2lkZSBv
bmUgaW5zdGFsbGVkIGZyb20gcGFja2FnZXMgd2lsbCBsaWtlbHkgYmUgdG9vIG9sZCBhbmQgbm90
IG1hdGNoIHRoZSBsb2NhbGx5DQo+PiArIyBidWlsdCBvbmUgYW55d2F5KS4NCj4+ICsjDQo+PiAr
IyBTZXQgTElCUkFSWV9QQVRIIGFuZCBMRF9MSUJSQVJZX1BBVEggc28gdGhhdCB0aGUgbGlua2Vy
DQo+PiArIyBmaW5kcyB0aGUgcHJvcGVyIGxpYnJhcmllcyBhbmQgdGhlIHZhcmlvdXMgZHVuZSBj
b21tYW5kcw0KPj4gKyMgd29yayAoZS5nLiBydW5uaW5nIHRlc3RzLCB1dG9wLCBldGMuKS4NCj4+
ICsjDQo+PiArIyBUaGUgTWFrZWZpbGUgYmFzZWQgYnVpbGRzeXN0ZW0gd291bGQgdXNlIC1XbCwt
cnBhdGgtbGluaz0gaGVyZSwNCj4+ICsjIGJ1dCB0aGF0IG9ubHkgd29ya3MgZHVyaW5nIGxpbmtp
bmcsIG5vdCBydW50aW1lLg0KPj4gKyMgVGhlcmUgaXMgYSAtV2wsIC1ycGF0aD0gdGhhdCBjYW4g
YmUgdXNlZCwgYnV0IHRoYXQgb25seSB3b3Jrcw0KPj4gKyMgZm9yIGxpYnJhcmllcyBsaW5rZWQg
ZGlyZWN0bHkgdG8gdGhlIG1haW4gZXhlY3V0YWJsZToNCj4+ICsjIHRoZSBkZXBlbmRlbmNpZXMg
b2YgdGhvc2UgbGlicmFyaWVzIHdvbid0IGdldCBmb3VuZCBvbiB0aGUgcnBhdGgNCj4+ICsjICh0
aGUgcnBhdGggb2YgdGhlIGV4ZWN1dGFibGUgaXMgYXBwYXJlbnRseSBub3QgdXNlZCBkdXJpbmcg
dGhhdCBzZWFyY2gpLg0KPiANCj4gVGhhdCdzIHdoeSB5b3UgZG8gLUxwYXRoIC1XbCwtcnBhdGg9
cGF0aC4gV291bGQgdGhlIGZpbGVzIGdlbmVyYXRlZCBpbg0KPiB0b29scy9wa2ctY29uZmlnLyB3
b3VsZCBiZSB1c2VmdWwgZm9yIGR1bmU/DQo+IA0KPiBMRF9MSUJSQVJZX1BBVEggaXMga2luZCBv
ZiBleHBlY3RlZCB0byBydW4gYmluYXJpZXMsIGJ1dCBob3cgaXMNCj4gTElCUkFSWV9QQVRIIHVz
ZWQsIGFuZCBieSB3aGljaCBwcm9jZXNzPw0KDQpJIHRoaW5rIExJQlJBUllfUEFUSCBpcyB1c2Vk
IGJ5IGdjYy9sZCB0byBmaW5kIHRoZSBqdXN0IGJ1aWx0IGxpYnJhcmllcy4gSSBjYW4gdHJ5IHdp
dGhvdXQgdGhlbSwgYnV0IElTVFIgbGlua2luZyBmYWlsaW5nLg0KSSBjb3VsZCB1c2UgdGhlIHJw
YXRoIGZsYWdzLCBidXQgdGhlbiBteSBiaW5hcnkgd291bGQgZW5kIHVwIHdpdGggcnBhdGhzIGlu
c2lkZSwgd2hpY2ggaXNuJ3QgbmVjZXNzYXJpbHkgd2hhdCBJIHdhbnQNCihhbHRob3VnaCBJIHRo
aW5rIHRoYXQgaXMgd2hhdCBoYXBwZW5zIGN1cnJlbnRseSkuIFRoZSBvdmVycmlkZW4gcnBhdGgv
bGlicmFyeV9wYXRoL2xkX2xpYnJhcnlfcGF0aCBpcyBvbmx5IG5lZWRlZCBvbiB0aGUgZGV2ZWxv
cG1lbnQgbWFjaGluZSwNCm5vdCB3aGVuIGRlcGxveWVkIG9udG8gYSBib3ggd2l0aCB0aGUgcmVz
dCBvZiB0aGUgbGlicmFyaWVzIGluc3RhbGxlZCBpbnRvIHRoZSBjb3JyZWN0IHBsYWNlcy4NCg0K
SSB0aGluayBkaXN0cmlidXRpb25zIHdvdWxkIHR5cGljYWxseSByZW1vdmUgYWxsIHRoZSBycGF0
aCBoYW5kbGluZyBjb2RlIGFueXdheSwgc28gdGhlIG9ubHkgdXNlciBvZiBycGF0aHMgbGVmdCB3
b3VsZCBiZSBkZXZlbG9wZXJzLA0Kd2hlcmUgc2V0dGluZyBMRF9MSUJSQVJZX1BBVEgvTElCUkFS
WV9QQVRIIGlzIGxlc3MgaW50cnVzaXZlIHRoYW4gbW9kaWZ5aW5nIGFsbCB0aGUgYnVpbGQgcnVs
ZXMgdG8gYWRkIHRoZSBycGF0aHMuDQpJIGNhbiB0cnkgdG8gc2VlIHdoZXRoZXIgdGhlcmUgaXMg
YSBub24taW50cnVzaXZlIHdheSBvZiBhZGRpbmcgcnBhdGhzLCBwZXJoYXBzIGluY2x1ZGluZyBh
IGNlcnRhaW4gZmlsZSB3aGVyZXZlciBsaW5rZXIgZmxhZ3MgYXJlIHNwZWNpZmllZCwNCndoaWNo
IGNvdWxkIGJlIGluaXRpYWxseSBlbXB0eSwgYnV0IGNvdWxkIGNvbnRhaW4gcnBhdGhzIHdoZW4g
bmVlZGVkIChvciBvdGhlciBjb21waWxlci9saW5rZXIgZmxhZ3MpLg0KVGhlbiBhdCBsZWFzdCBy
cGF0aCBoYW5kbGluZyB3b3VsZCBiZSBkb25lIGluIG9ubHkgb25lIHBsYWNlIChhbmQgb25seSBv
bmUgcGxhY2UgdG8gaW1tZWRpYXRlbHkgdW5kbyBpbiB0aGUgcGF0Y2hxdWV1ZSkuDQoNCj4gDQo+
PiArIyBVc2UgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBiZWNhdXNlIHRoYXQgd2F5IHdlIGRvbid0
IG1ha2UgYW55IHBlcm1hbmVudCBhbHRlcm5hdGlvbnMgKHJwYXRoKQ0KPj4gKyMgdG8gdGhlIGV4
ZWN1dGFibGUsIHNvIG9uY2UgaW5zdGFsbGVkIHN5c3RlbS13aWRlIGl0IHdvbid0IHJlZmVyIHRv
IGJ1aWxkIHBhdGhzIGFueW1vcmUuDQo+PiArIw0KPj4gKyMgRHVuZSBjYW5ub3QgYmUgdXNlZCB0
byBnZW5lcmF0ZSB0aGlzIGZpbGU6IHRoZSBlbnYtdmFycyBzdGFuemEgZG9lc24ndCBzdXBwb3J0
ICV7cmVhZDp9LCA6aW5jbHVkZSwNCj4+ICsjIGFuZCBkdW5lLXdvcmtzcGFjZSBkb2Vzbid0IHN1
cHBvcnQgKGluY2x1ZGUpIHN0YW56YXMuDQo+PiArIyBTbyBmb3Igbm93IGdlbmVyYXRlIGl0IGZy
b20gdGhpcyBNYWtlZmlsZQ0KPj4gKyMgQ2Fubm90IHN0YXJ0IHdpdGggY29tbWVudCwgc28gYWRk
IGF1dG8tZ2VuZXJhdGVkIGNvbW1lbnQgYXQgdGhlIGVuZA0KPj4gK0xJQl9ESVJTPSQoYWJzcGF0
aCAkKHdpbGRjYXJkIC4uL2xpYnMvKi8uKSkNCj4gDQo+IERvIHlvdSBuZWVkIGFsbCB0aG9zZSBs
aWJzPyBDYW4ndCB5b3UgaW5zdGVhZCBsaXN0IHRoZSBsaWJyYXJ5IG5lZWRlZA0KPiBvciB1c2Ug
dGhlIHZhbHVlIGxpc3RlZCBpbiAidG9vbHMvbGlicy91c2VsaWJzLm1rIiA/DQoNCkluZGVlZCwg
SSB0aGluayBzb21lIFhlbiBzb3VyY2UgcGF0aHMgY2hhbmdlZCBzaW5jZSB0aGlzIHBhdGNoIHdh
cyBvcmlnaW5hbGx5IHdyaXR0ZW4sIGFuIGV4cGxpY2l0IGxpc3QgaXMgcHJvYmFibHkgYSBiZXR0
ZXIgY2hvaWNlIG5vdywNCnNpbmNlIHRoZXJlIGFyZSBhIGxvdCBvZiBsaWJzIHRoZXJlIHRoYXQg
YXJlIG5vdCBuZWNlc3NhcmlseSBuZWVkZWQgKGUuZy4geGVubGlnaHQpDQoNCj4gDQo+PiArTElC
UkFSWV9QQVRIPSQoc3Vic3QgJChldmFsKSAsOiwkKExJQl9ESVJTKSkNCj4+ICsuLi9kdW5lLXdv
cmtzcGFjZSAuLi9kdW5lLXdvcmtzcGFjZS5kZXY6IGR1bmUtd29ya3NwYWNlLmluIGR1bmUtd29y
a3NwYWNlLmRldi5pbiBNYWtlZmlsZS5kdW5lDQo+PiArCUAoIHNlZCAtZSAic3xATElCUkFSWV9Q
QVRIQHwkKExJQlJBUllfUEFUSCl8IiA8JDwgXA0KPj4gKwkmJiBlY2hvICI7IERPIE5PVCBFRElU
OiBhdXRvZ2VuZXJhdGVkIGZyb20gb2NhbWwvZHVuZS13b3Jrc3BhY2UuaW4iKSA+Li4vZHVuZS13
b3Jrc3BhY2UNCj4+ICsJQGNhdCAuLi9kdW5lLXdvcmtzcGFjZSBkdW5lLXdvcmtzcGFjZS5kZXYu
aW4gPi4uL2R1bmUtd29ya3NwYWNlLmRldg0KPj4gKw0KPj4gKyMgZm9yIGxvY2F0aW9uIG9mIHZh
cmlvdXMgbGlicyB3aGljaCBtb3ZlcyBiZXR3ZWVuIFhlbiB2ZXJzaW9ucw0KPj4gK2luY2x1ZGUg
JChYRU5fUk9PVCkvdG9vbHMvUnVsZXMubWsNCj4+ICsNCj4+ICtYRU5fREVQUz0kKFhFTl9saWJ4
ZW5jdHJsKS9saWJ4ZW5jdHJsLnNvDQo+PiArWEVOX0RFUFMrPSQoWEVOX2xpYnhlbmV2dGNobikv
bGlieGVuZXZ0Y2huLnNvDQo+PiArWEVOX0RFUFMrPSQoWEVOX2xpYnhlbmd1ZXN0KS9saWJ4ZW5n
dWVzdC5zbw0KPj4gKw0KPj4gKyMgQ2Fubm90IGJlIGdlbmVyYXRlZCBmcm9tIGR1bmUNCj4+ICsj
IFRlbGwgdGhlIHVzZXIgaG93IHRvIGdlbmVyYXRlIHRoZW0NCj4+ICsuLi9pbmNsdWRlL3hlbi94
ZW4uaCAuLi9jb25maWcuc3RhdHVzICQoWEVOX0RFUFMpOg0KPj4gKwllY2hvICJNaXNzaW5nIEMg
aGVhZGVycyBvciBsaWJyYXJpZXMiID4mMg0KPj4gKwllY2hvICJSdW4gbWFrZSAtQyAkKFhFTl9S
T09UKSBidWlsZC10b29scy1veGVuc3RvcmVkLXByZXBhcmUgLWokJChucHJvYykiID4mMg0KPj4g
KwlleGl0IDENCj4+ICsNCj4+ICsjIGR1bmUgd291bGQgcmVmdXNlIHRvIHJ1biBpZiB0aGVyZSBh
cmUgYnVpbGQgYXJ0aWZhY3RzIGluIHRoZSBzb3VyY2UgZGlyZWN0b3J5DQo+PiArIyBpZiB3ZSBk
ZXRlY3QgYW55dGhpbmcgdGhlbiBydW4gbWFrZSBjbGVhbiB0byBlbnN1cmUgdGhlc2UgYXJlIHJl
bW92ZWQNCj4+ICsjIGRvbid0IGFsd2F5cyBjYWxsICdtYWtlIGNsZWFuJyBiZWNhdXNlIGl0IHRh
a2VzIH4xLjZzDQo+PiArLlBIT05ZOiBkdW5lLXByZQ0KPj4gK2R1bmUtcHJlOiAuLi9jb25maWcu
c3RhdHVzIHwgLi4vaW5jbHVkZS94ZW4veGVuLmggLi4vZHVuZS13b3Jrc3BhY2UgJChYRU5fREVQ
UykNCj4+ICsJJChNQUtFTikgY2xlYW4gLXMNCj4gDQo+IEkgdGhpbmsgaXQgd291bGQgYmUgbXVj
aCBiZXR0ZXIgdG8gdGVsbCB0aGUgdXNlciB0byBydW4gY2xlYW4gdGhlbXNlbGYsDQo+IGxpa2Ug
d2UgZG8gaW4gdGhlIGh5cGVydmlzb3IgdHJlZSB3aGVuIHRyeWluZyB0byBkbyBhbiBvdXQtb2Yt
dHJlZQ0KPiBidWlsZC4gU2VlIHJ1bGUgIm91dHB1dG1ha2VmaWxlIiBpbiAieGVuL01ha2VmaWxl
Ii4NCg0KDQpJIGNvdWxkIGF0dGVtcHQgdG8gZGV0ZWN0IGFuIHVuY2xlYW4gdHJlZSBhbmQgYWJv
cnQgdGhlIGJ1aWxkIGluc3RlYWQgd2l0aCBhIG1lc3NhZ2Ugc2F5aW5nIHRvIHJ1biAnbWFrZSBj
bGVhbicuDQpIb3dldmVyIGRldGVjdGluZyBhbiB1bmNsZWFuIHRyZWUgaXNuJ3QgbmVjZXNzYXJp
bHkgdHJpdmlhbCAoYWx0aG91Z2ggSSB0aGluayBkdW5lIGl0c2VsZiB3b3VsZCBkZXRlY3QgYW5k
IGFib3J0IHRoZSBidWlsZCwgc28gcGVyaGFwcyBJIGNhbiByZXVzZSB0aGF0LA0KSSdsbCBoYXZl
IHRvIGRvIHNvbWUgZXhwZXJpbWVudHMpLg0KRG9lcyBYZW4gc3VwcG9ydCBvdXQtb2YtdHJlZSBi
dWlsZHMgYnR3PyBUaGF0IG1pZ2h0IGJlIGFub3RoZXIgb3B0aW9uIGluIG1haW50YWluaW5nIGEg
Y2xlYW4gc291cmNlIHRyZWUgd2l0aG91dCBidWlsZCBhcnRpZmFjdHMuDQoNCj4gDQo+PiArDQo+
PiArIyBDb252ZW5pZW5jZSB0YXJnZXRzDQo+PiArZHVuZS1zeW50YXgtY2hlY2s6IGR1bmUtcHJl
DQo+PiArCWR1bmUgYnVpbGQgQGNoZWNrDQo+PiArDQo+PiArZHVuZS1hbGwtY2hlY2s6IGR1bmUt
cHJlIC4uL2R1bmUtd29ya3NwYWNlLmRldg0KPj4gKwkjIFRlc3QgYnVpbGQgd2l0aCBtdWx0aXBs
ZSBjb21waWxlciB2ZXJzaW9ucw0KPj4gKwkjIHJlcXVpcmVzIG9wYW0gc3dpdGNoZXMgZm9yIGVh
Y2ggdG8gYmUgYWxyZWFkeSBpbnN0YWxsZWQNCj4+ICsJZHVuZSBidWlsZCAtLXdvcmtzcGFjZT0u
Li9kdW5lLXdvcmtzcGFjZS5kZXYgQGNoZWNrIEBpbnN0YWxsIEBydW50ZXN0DQo+PiArDQo+PiAr
Y2hlY2s6IGR1bmUtcHJlDQo+PiArCWR1bmUgcnVudGVzdCAtLW5vLWJ1ZmZlcg0KPj4gKw0KPj4g
KyMgYXBwcm94aW1hdGl2ZWx5IGVxdWl2YWxlbnQgdG8gRHVuZSAzLjAgLS1yZWxlYXNlIG1vZGUN
Cj4+ICtkdW5lLW94ZW5zdG9yZWQ6IGR1bmUtcHJlDQo+PiArCWR1bmUgYnVpbGQgLS1yb290IC4u
IC0taWdub3JlLXByb21vdGVkLXJ1bGVzIC0tbm8tY29uZmlnIFwNCj4+ICsgICAgICAgICAgIC0t
cHJvZmlsZSByZWxlYXNlIC0tYWx3YXlzLXNob3ctY29tbWFuZC1saW5lIFwNCj4+ICsgICAgICAg
ICAgIC0tcHJvbW90ZS1pbnN0YWxsLWZpbGVzIC0tZGVmYXVsdC10YXJnZXQgQGluc3RhbGwNCj4+
ICsNCj4+ICstaW5jbHVkZSAkKFhFTl9ST09UKS9jb25maWcvUGF0aHMubWsNCj4gDQo+IEkgdGhp
bmsgbWFrZSBzaG91bGQgZmFpbCBpZiAiUGF0aHMubWsiIGRvZXNuJ3QgZXhpc3QsIGNvdWxkIHlv
dSByZW1vdmUNCj4gdGhlIGRhc2ggPyAoQWxzbywgYXQgdGhpcyBwb2ludCwgIlBhdGhzLm1rIiBz
aG91bGQgYWxyZWFkeSBleGlzdCBiZWNhdXNlDQo+IFJ1bGVzLm1rIGNoZWNrcyB0aGF0IC4vY29u
ZmlndXJlIGhhcyBydW4uKQ0KDQpPayANCg0KPiApDQo+PiArDQo+PiArIyBza2lwIGRvYywgaXQn
ZCBpbnN0YWxsIGFuIGV4dHJhIExJQ0VOU0UgZmlsZSB0aGF0IGlzIGFscmVhZHkgaW5zdGFsbGVk
IGJ5IG90aGVyIHJ1bGVzDQo+PiArSU5TVEFMTF9TRUNUSU9OUz1iaW4sZXRjLGxpYixzYmluDQo+
PiArZHVuZS1pbnN0YWxsOiBkdW5lLW94ZW5zdG9yZWQNCj4+ICsJZHVuZSBpbnN0YWxsIC0tZGVz
dGRpcj0kKERFU1RESVIpIC0tcHJlZml4PSQocHJlZml4KSAtLWxpYmRpcj0kKHNoZWxsIG9jYW1s
ZmluZCBwcmludGNvbmYgZGVzdGRpcikgLS1tYW5kaXI9JChtYW5kaXIpIC0tZXRjZGlyPSQoc3lz
Y29uZmRpcikgLS1kb2NkaXI9JChkb2NkaXIpIC0tc2VjdGlvbnM9JChJTlNUQUxMX1NFQ1RJT05T
KQ0KPiANCj4gRWFjaCBvcHRpb24gaGVyZSBjb3VsZCBiZSBvbiB0aGVyZSBvd24gbGluZSwgZm9y
IGNsYXJpdHkuDQoNCk9rDQoNCj4gDQo+PiArDQo+PiArZHVuZS11bmluc3RhbGw6IGR1bmUtb3hl
bnN0b3JlZA0KPj4gKwlkdW5lIHVuaW5zdGFsbCAtLWRlc3RkaXI9JChERVNURElSKSAtLXByZWZp
eD0kKHByZWZpeCkgLS1saWJkaXI9JChzaGVsbCBvY2FtbGZpbmQgcHJpbnRjb25mIGRlc3RkaXIp
IC0tbWFuZGlyPSQobWFuZGlyKSAtLWV0Y2Rpcj0kKHN5c2NvbmZkaXIpIC0tZG9jZGlyPSQoZG9j
ZGlyKQ0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL29jYW1sL2R1bmUtd29ya3NwYWNlLmRldi5pbiBi
L3Rvb2xzL29jYW1sL2R1bmUtd29ya3NwYWNlLmRldi5pbg0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAuLjJjYTgzMWEwNDgNCj4+IC0tLSAvZGV2L251bGwNCj4+
ICsrKyBiL3Rvb2xzL29jYW1sL2R1bmUtd29ya3NwYWNlLmRldi5pbg0KPj4gQEAgLTAsMCArMSwy
IEBADQo+PiArKGNvbnRleHQgZGVmYXVsdCkNCj4+ICsoY29udGV4dCAob3BhbSAoc3dpdGNoIDQu
MDIuMykgKHByb2ZpbGUgcmVsZWFzZSkpKQ0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL29jYW1sL2R1
bmUtd29ya3NwYWNlLmluIGIvdG9vbHMvb2NhbWwvZHVuZS13b3Jrc3BhY2UuaW4NCj4+IG5ldyBm
aWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwLi5jOTYzYTZlNTk5DQo+PiAtLS0g
L2Rldi9udWxsDQo+PiArKysgYi90b29scy9vY2FtbC9kdW5lLXdvcmtzcGFjZS5pbg0KPj4gQEAg
LTAsMCArMSwxOCBAQA0KPj4gKyhsYW5nIGR1bmUgMi4xKQ0KPj4gKw0KPj4gKyhlbnYNCj4+ICsg
IDsgd2UgbmVlZCB0byBzdXBwb3J0IG9sZGVyIGNvbXBpbGVycyBzbyBkb24ndCBtYWtlIGRlcHJl
Y2F0aW9uIHdhcm5pbmdzIGZhdGFsDQo+PiArIChkZXYNCj4+ICsgIChmbGFncyAoOnN0YW5kYXJk
IC13IC0zKSkNCj4+ICsgICAoZW52LXZhcnMNCj4+ICsgICAgKExEX0xJQlJBUllfUEFUSCBATElC
UkFSWV9QQVRIQCkNCj4+ICsgICAgKExJQlJBUllfUEFUSCBATElCUkFSWV9QQVRIQCkNCj4+ICsg
ICApKQ0KPj4gKyAocmVsZWFzZQ0KPj4gKyAgKGVudi12YXJzDQo+PiArICAgKE9DQU1MUlVOUEFS
QU0gYikNCj4+ICsgICAgKExEX0xJQlJBUllfUEFUSCBATElCUkFSWV9QQVRIQCkNCj4gDQo+IFNo
b3VsZG4ndCB0aGlzIGxpbmUgKGFuZCB0aGUgbmV4dCkgYmVlbiBhbGlnbmVkIHdpdGggdGhlIHBy
ZXZpb3VzIG9uZT8NCg0KWWVzDQoNCj4gDQo+PiArICAgIChMSUJSQVJZX1BBVEggQExJQlJBUllf
UEFUSEApDQo+PiArICApDQo+PiArICAoZmxhZ3MgKDpzdGFuZGFyZCAtc3RyaWN0LXNlcXVlbmNl
IC1zdHJpY3QtZm9ybWF0cyAtcHJpbmNpcGFsIC13IEAxOCkpDQo+PiArICAob2NhbWxvcHRfZmxh
Z3MgLW5vZHlubGluaykpKQ0KDQoNClRoYW5rcyBmb3IgdGhlIGZlZWRiYWNrLCBJJ2xsIHRoaW5r
IGFib3V0IGhvdyB0byBiZXN0IGFkZHJlc3Mgc29tZSBvZiB0aGVzZSBwb2ludHMgKHNlZSBhYm92
ZSBmb3Igc29tZSBpbml0aWFsIHRob3VnaHRzKSBhbmQgc2VuZCBvdXQgYSBWMiB3aGVuIHJlYWR5
Lg0KDQpCZXN0IHJlZ2FyZHMsDQotLUVkd2lu


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 15:49:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 15:49:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.379998.613965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJGd6-0004gn-Lo; Wed, 03 Aug 2022 15:49:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 379998.613965; Wed, 03 Aug 2022 15:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJGd6-0004gg-IU; Wed, 03 Aug 2022 15:49:52 +0000
Received: by outflank-mailman (input) for mailman id 379998;
 Wed, 03 Aug 2022 15:49:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJGd5-0004gW-JH; Wed, 03 Aug 2022 15:49:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJGd5-0003de-IB; Wed, 03 Aug 2022 15:49:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJGd5-0003Ow-7H; Wed, 03 Aug 2022 15:49:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJGd5-00006j-6n; Wed, 03 Aug 2022 15:49:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DbwuOfGXCJtSuyMPXrvWv60gRiDBh5dTwphZfM2/a7w=; b=uZjQBUMsv99b1HiQecakIuENN2
	nKHw9wYL/G1jdQflcmQZl0Dp7Tftqjyp1MgpXunGUmRDn20V2wy2HDnG4ye3AjVIMh3s4AQmaItl/
	tBgV1A0k0OshidZITM+DQNpl5wTuLdpSudQM9htneTxlNVcCg171UUgr4BaG7IZITjjk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172116-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172116: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=01ca29f0b17a50a94b0e232ba276c32e95d80ae3
X-Osstest-Versions-That:
    xen=800f21499e0ec112771ce1e94490ca5811578bc2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 15:49:51 +0000

flight 172116 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172116/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172107
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  01ca29f0b17a50a94b0e232ba276c32e95d80ae3
baseline version:
 xen                  800f21499e0ec112771ce1e94490ca5811578bc2

Last test of basis   172107  2022-08-03 10:01:49 Z    0 days
Testing same since   172116  2022-08-03 13:00:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Christian Lindig <christian.lindig@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Dario Faggioli <dfaggioli@suse.com>
  Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   800f21499e..01ca29f0b1  01ca29f0b17a50a94b0e232ba276c32e95d80ae3 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 15:52:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 15:52:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380005.613976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJGg0-000647-49; Wed, 03 Aug 2022 15:52:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380005.613976; Wed, 03 Aug 2022 15:52:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJGg0-000640-0x; Wed, 03 Aug 2022 15:52:52 +0000
Received: by outflank-mailman (input) for mailman id 380005;
 Wed, 03 Aug 2022 15:52:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2dnW=YH=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oJGfz-00063u-KC
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 15:52:51 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52e0eb4b-1344-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 17:52:50 +0200 (CEST)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1659541963776129.17942170233516;
 Wed, 3 Aug 2022 08:52:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52e0eb4b-1344-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; t=1659541965; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=TVtyRiWUtsKmJNTug91pv6BLryWvOOhRc5uZ+D6EHWZDehjC4KMkK2z9M8HnrLJrGK7/fc4Dp0uxwGj1ZfMd8t85ZbUA64Ie9+y+62g9oa+3CltrRYnHJqQ7yDdlOZvSrfisZpzFB+WrfCAFOniCOvRqWFJXgQFQeQlg0gTJpoo=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1659541965; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=vrq9T6KffAmMrEcdjJdEcGzwsQbVuYfSpqEXivIpH2g=; 
	b=bdG5F3wPIPuhGolc7DZ3B3jKExEj5PK6k+FkZmKdj/yY/Fkylv/MDtgcK/36NRxouYryPIPRurOpB+08PixyzPHChFaMNvL4+H4X/1TvAWnEyqApUrpUr5zHhRsSVHSnYKd9ifXkbpHkyqlKyWJOBsHnlC9qj0TYP7XxTLMvIIo=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1659541965;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:To:To:Cc:Cc:References:From:From:Subject:Subject:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=vrq9T6KffAmMrEcdjJdEcGzwsQbVuYfSpqEXivIpH2g=;
	b=kwQO9CuyQNiIA9Rj3P9jCXC3t9xoZKWeX0YXRjiHUW2U096xuoTVoci7l9qhtm+O
	eZ4z9wN1AhN9P5lXnww7N7HseptPyiCMt3057eV4rJJbqOzjuzZxCZ6Jlz/FXar9v4D
	ODuVLtpcgYTQArNSzvafaaV/pSbf6HqE+f8a9TpE=
Message-ID: <fdf2a27d-e0e0-f76b-654c-73f7dd8dff90@apertussolutions.com>
Date: Wed, 3 Aug 2022 11:52:04 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: jandryuk@gmail.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20220803151741.7826-1-dpsmith@apertussolutions.com>
 <f9001446-157a-99a6-29cd-dcbbb6d59527@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v11] xsm: refactor flask sid alloc and domain check
In-Reply-To: <f9001446-157a-99a6-29cd-dcbbb6d59527@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/3/22 11:26, Jan Beulich wrote:
> On 03.08.2022 17:17, Daniel P. Smith wrote:
>> Changes in v11:
>> - put back dom0_created variable in flask_domain_create() to ensure the
>>   enforcement that dom0_t is a singleton label
> 
> Stale patch or bad rev log?

Nope, having a bad day. Staged the change but didn't amend commit it
before my usual sequence of test and cut patch. My apologies.

>> @@ -548,22 +556,19 @@ static int cf_check flask_domain_create(struct domain *d, uint32_t ssidref)
>>  {
>>      int rc;
>>      struct domain_security_struct *dsec = d->ssid;
>> -    static int dom0_created = 0;
> 
> The variable is going away here, and it is not re-appearing elsewhere.
> 
> Jan
> 
>> -    if ( is_idle_domain(current->domain) && !dom0_created )
>> -    {
>> -        dsec->sid = SECINITSID_DOM0;
>> -        dom0_created = 1;
>> -    }
>> -    else
>> -    {
>> -        rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN,
>> -                          DOMAIN__CREATE, NULL);
>> -        if ( rc )
>> -            return rc;
>> +    /*
>> +     * If the null label is passed, then use the label from security context
>> +     * allocation.
>> +     */
>> +    if ( ssidref == 0 )
>> +        ssidref = dsec->sid;
>>  
>> -        dsec->sid = ssidref;
>> -    }
>> +    rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN, DOMAIN__CREATE, NULL);
>> +    if ( rc )
>> +        return rc;
>> +
>> +    dsec->sid = ssidref;
>>      dsec->self_sid = dsec->sid;
>>  
>>      rc = security_transition_sid(dsec->sid, dsec->sid, SECCLASS_DOMAIN,
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 16:14:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 16:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380010.613986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJH19-0000cF-Rp; Wed, 03 Aug 2022 16:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380010.613986; Wed, 03 Aug 2022 16:14:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJH19-0000c8-PC; Wed, 03 Aug 2022 16:14:43 +0000
Received: by outflank-mailman (input) for mailman id 380010;
 Wed, 03 Aug 2022 16:14:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJH19-0000by-6g; Wed, 03 Aug 2022 16:14:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJH19-0004fx-1a; Wed, 03 Aug 2022 16:14:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJH18-0005qt-NF; Wed, 03 Aug 2022 16:14:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJH18-0003vk-MV; Wed, 03 Aug 2022 16:14:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3Yyk2qYU6F1KO5KDoCuLxaDR0YpMq6398uUjzMsKVY4=; b=oNz7d9Z/jrI+hNkM3zZsZtnTMg
	WEbokA1EPYq+nbStWGUtQZAx+3U01ysyZFVSsNsRFMk3VZvwL4Lx9KTwX/vrZYHLFbQ6Nztl6XqJR
	Uh3cGbG0EwSa6gWHakMsZWEmR/WqjH24Mm7zLExWxNCapCjjjhxGBoRDb/1hWKLDuNOc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172104-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172104: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-i386-libvirt:libvirt-build:fail:regression
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:regression
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4d96a4fe2ac08cc93f2e7eca56120792363cb950
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 16:14:42 +0000

flight 172104 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172104/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172073
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172073

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 172089 pass in 172104
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 172089
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 172089

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 172089 like 172073
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172073
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4d96a4fe2ac08cc93f2e7eca56120792363cb950
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   172073  2022-08-02 01:51:47 Z    1 days
Failing since        172081  2022-08-02 11:38:20 Z    1 days    3 attempts
Testing same since   172089  2022-08-02 21:37:18 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  George Dunlap <george.dunlap@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 468 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 17:16:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 17:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380024.614004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJHz8-0006uo-UB; Wed, 03 Aug 2022 17:16:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380024.614004; Wed, 03 Aug 2022 17:16:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJHz8-0006uh-Pr; Wed, 03 Aug 2022 17:16:42 +0000
Received: by outflank-mailman (input) for mailman id 380024;
 Wed, 03 Aug 2022 17:16:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+C7S=YH=citrix.com=prvs=207fd374a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oJHz7-0006ub-8W
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 17:16:41 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07d34939-1350-11ed-bd2d-47488cf2e6aa;
 Wed, 03 Aug 2022 19:16:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07d34939-1350-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659546999;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=eQoAdHT5dbNSD36yC2LmXZUisoV9kBTALUb7ZouunUE=;
  b=aIeAW3Ur+A6EY2sHEHSlY8VR+VXMLPIE61QEN2tF9hNy92NiveeRBoG5
   T4EYGP5IgPiInoNBki8jiH29eNWgzi5q/mvd8cYHtIIRyHxZ/PlpAtfmM
   TjmvB1M4cd6Mxqr2AKb3rfDnR9MOUdfF+XM37oN6kpcZJbDYWW4/UkeCn
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77733935
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:7nGLhqpMuSWZx0/B4W0GyXTRCsxeBmI5ZRIvgKrLsJaIsI4StFCzt
 garIBnTOPeMNmb9c98nPoixpk5T7ZLcn4UxGVNkq380FHwbo5uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GtD5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqUR38FRHH1M8
 MA1JRU1V0ispvya/b2kH7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8eDo4+m+G5wGHyaTRCpHqepLYt4niVxwt0uFToGIWKJYfRFJ4I9qqej
 ljL4yfhPT0xCJ/F9TOo43yqvOjtwhquDer+E5Xnr6U30TV/3Fc7EwYKXFG2pf24jE+WWN9FL
 UEQvC00osAa60iDXtT7GRqirxasshcCVvJKHuY96QXLzbDbiy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313rWeoC62OCMVBXQffiJCRgwAi/HhvYUygxTnXttlVqmvgbXI9SrYm
 m7Q6nJk3vNK0JBNh/7TEU37byyEr73uaBMp5ADrc2+A1johS6+7S7Gn9g2OhRpfF7p1XmVtr
 VBdxZXPsLhTVMzX/MCeaL5TRe/0vp5pJBWZ2AcyRMd5qlxB7lb5JehtDCdCyFCF2yruURvge
 wfttAxY//e/11P6PPYsM+pd5ynHpJUM9OgJtdiON7KimrArKGe6ENhGPCZ8JVzFnkk2ir0YM
 pyGa8uqBntyIf05kWvqGbpBi+FwmnFWKYbvqXfTlkzP7FZjTCTNFedt3KWmNIjVE59oUC2Kq
 o0CZqNmOj1UUfHkYzm/zLP/2WsidCFjbbir+pM/SwJ2ClA5cI3XI6OOnOhJlk0Mt/g9q9okC
 VngChEIkgWu2yWvxMfjQikLVY4DlK1X9RoTVRHA937xs5T/Se5DNJsiSqY=
IronPort-HdrOrdr: A9a23:aZbCJ66ISQAxi14X6wPXwM7XdLJyesId70hD6qhwISY6TiW9rb
 HLoB19726StN9xYgBEpTnuAsS9qB/nmaKdpLNhW4tKPzOW2ldATrsD0WKK+VSJcEfDH6xmpM
 RdmsBFeaTN5DNB7PoSjjPWL+od
X-IronPort-AV: E=Sophos;i="5.93,214,1654574400"; 
   d="scan'208";a="77733935"
Date: Wed, 3 Aug 2022 18:16:26 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<Andrew.Cooper3@citrix.com>, George Dunlap <George.Dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>
Subject: Re: [PATCH v1 4/7] tools/ocaml: Makefile to drive dune
Message-ID: <YuqtarzV3E9tr5f+@perard.uk.xensource.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <322ec0c9af480e9b8a6246d0a2cdb4e308a5900c.1659116941.git.edvin.torok@citrix.com>
 <Yup8Kb4iL5pXqys9@perard.uk.xensource.com>
 <9DEFAAE6-970F-4A0E-A136-089C6D36B41C@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9DEFAAE6-970F-4A0E-A136-089C6D36B41C@citrix.com>

On Wed, Aug 03, 2022 at 03:37:19PM +0000, Edwin Torok wrote:
> > On 3 Aug 2022, at 14:46, Anthony PERARD <anthony.perard@citrix.com> wrote:
> > On Fri, Jul 29, 2022 at 06:53:27PM +0100, Edwin Török wrote:
> >> +.PHONY: build-tools-oxenstored-prepare
> >> +build-tools-oxenstored-prepare: build-tools-public-headers
> >> +	test -f tools/config.status || (cd tools && ./configure --with-xenstored=oxenstored)
> > 
> > No, do not run ./configure from the makefile. ./configure needs to be
> > run before running make.
> 
> 
> Perhaps I can add the necessary instructions to a README in tools/ocaml instead of this Makefile rule (which was here for documentation/convenience reasons).

That would be fine.

> The toplevel configure can fail due to various missing dependencies, but for OCaml just the configure in tools should be sufficient.

:-), it doesn't looks like the others ./configure have much dependencies
that aren't also needed in tools, so I don't think it make sense to
avoid the toplevel ./configure at this time. We don't really test
running ./configure in only a subsystem so it's probably best to avoid
documenting it. You can always run `./configure --disable-{xen,docs}` to
run the minimum amount of ./configure.

> > 
> >> +	$(MAKE) -C tools/libs V=
> > 
> > No, do not start a build of the libraries from the root make file. If a
> > user were to run `make build-tools-oxenstored-prepare build-tools`, we
> > would end up with 2 make running `make -C tools/libs` concurrently which
> > isn't going to end well.
> 
> 
> I'd like a single command to build everything needed related to oxenstored, without necessarily building the rest of Xen (which could either take a long time, or fail due to missing dependencies).

Easy:
    ./configure && make -C tools/include && make -C tools/libs
Hopefully, this would be enough, will keep working for a while. But it
might break. (I would try to keep that command above working but who
knows if change would be needed)

> Ideally Xen wouldn't use recursive invocations of make, but just one single makefile that is aware of all source files (and you could then refer to objects/libraries in another directory as dependencies)
> and what I'd like to do could be achieved by simply asking 'make' to build tools/ocaml/xenstored/oxenstored and let it figure out the minimal set of code that needs to be built for that.
> However such a change would be quite invasive to the build system (and there probably was a reason to use recursive makefiles, they might have some advantage I'm not aware of).

Non-recursive makefiles, I want that as well!! :-)
I'm working on it:
    [XEN PATCH v3 00/25] Toolstack build system improvement, toward non-recursive makefiles
    https://lore.kernel.org/all/20220624160422.53457-1-anthony.perard@citrix.com/
But that's going to take a while. There's till a lot of patches that I
haven't posted yet.

> Where do you recommend to put this rule instead, should it be in `tools/ocaml`? (although in that case it'd have to do a make invocation in `../libs` which isn't necessarily nicer)
> 
> Or should it be a shell script instead that invokes all the necessary make rules with the right flags, e.g. tools/ocaml/dev-build.sh?
>  (and in that case there'd be no risk of the user running multiple make rules if the script itself takes no parameters).

I'm not sure, these are just kind of "optimisation" to workaround our
build system. It could easily apply to many subdir in tools/, but
there's no documentation for it. One could run make in most subdir after
just running `./configure && make -C tools/include && make -C
tools/libs`, but I don't think we should document it. As documenting it
makes it harder to make changes if needed.

> >> diff --git a/tools/ocaml/Makefile.dune b/tools/ocaml/Makefile.dune
> >> new file mode 100644
> >> index 0000000000..eca9cac0ca
> >> --- /dev/null
> >> +++ b/tools/ocaml/Makefile.dune
> >> @@ -0,0 +1,88 @@
> >> +XEN_ROOT = $(CURDIR)/../..
> >> +all: dune-all-check
> >> +
> >> +# Dune by default uses all available CPUs. Make doesn't.
> >> +# Query the available CPUs and use all available for any of the make rules we call out to.
> >> +# -O is also needed with parallel make such that the build error and the build command causing
> >> +#  the error are close together and not interspersed with other output
> >> +NPROC=$(shell getconf _NPROCESSORS_ONLN)
> >> +MAKEN=$(MAKE) -j$(NPROC) -O
> > 
> > Please, don't change those options, I don't think these options belong
> > to a Makefile.
> 
> 
> this Makefile is not (yet) linked to the toplevel makefiles, it is only used it you explicitly
> 'make -f Makefile.dune', in which case it saves some typing if you don't have to specify -j every time.

Use the "alias" built-in from your shell, if you want to have -j$(nproc)
added to you `make` commands.

> Would there be another way to achieve this? e.g. a dotfile in user home that make knows about?

There's .bashrc or .zshrc or ..., make doesn't need to know. ;-)

> (I think rpmbuild can be configured that way to use the correct -j flag, but I'm not aware whether Make can).
> Perhaps the above dev-build.sh would be the solution here too (move the settings that don't belong into a makefile into a convenience shell script)
> 
> > 
> >> +# We want to link and use the Xen libraries built locally
> >> +# without installing them system-wide
> >> +# (the system-wide one installed from packages will likely be too old and not match the locally
> >> +# built one anyway).
> >> +#
> >> +# Set LIBRARY_PATH and LD_LIBRARY_PATH so that the linker
> >> +# finds the proper libraries and the various dune commands
> >> +# work (e.g. running tests, utop, etc.).
> >> +#
> >> +# The Makefile based buildsystem would use -Wl,-rpath-link= here,
> >> +# but that only works during linking, not runtime.
> >> +# There is a -Wl, -rpath= that can be used, but that only works
> >> +# for libraries linked directly to the main executable:
> >> +# the dependencies of those libraries won't get found on the rpath
> >> +# (the rpath of the executable is apparently not used during that search).
> > 
> > That's why you do -Lpath -Wl,-rpath=path. Would the files generated in
> > tools/pkg-config/ would be useful for dune?
> > 
> > LD_LIBRARY_PATH is kind of expected to run binaries, but how is
> > LIBRARY_PATH used, and by which process?
> 
> I think LIBRARY_PATH is used by gcc/ld to find the just built libraries. I can try without them, but ISTR linking failing.
> I could use the rpath flags, but then my binary would end up with rpaths inside, which isn't necessarily what I want
> (although I think that is what happens currently). The overriden rpath/library_path/ld_library_path is only needed on the development machine,
> not when deployed onto a box with the rest of the libraries installed into the correct places.
> 
> I think distributions would typically remove all the rpath handling code anyway, so the only user of rpaths left would be developers,
> where setting LD_LIBRARY_PATH/LIBRARY_PATH is less intrusive than modifying all the build rules to add the rpaths.
> I can try to see whether there is a non-intrusive way of adding rpaths, perhaps including a certain file wherever linker flags are specified,
> which could be initially empty, but could contain rpaths when needed (or other compiler/linker flags).
> Then at least rpath handling would be done in only one place (and only one place to immediately undo in the patchqueue).

Use of $LD_LIBRARY_PATH is fine, it's already used in several places. I
guess "-Wl,-rpath" could be used instead but is probably best to avoid as
not normally needed.

Now about link time, normally we seem to have the full path to the
library we want to link to, or we provide '-L' via pkg-config file.
Then, when a library is links against another one, and the linker wants
to know where this library is, we use "-rpath-link" and I might be
wrong but this probably doesn't add anything in the library.

It seems to me that $LIBRARY_PATH might be useful for external project,
we would want to links against the libraries that aren't yet installed
on the system. But event that isn't needed as we generates
"tools/pkg-config/" which have the needed flags. We use that for
building qemu for example, and I think qemu's configure can make use of
that.

> >> +# Use environment variables, because that way we don't make any permanent alternations (rpath)
> >> +# to the executable, so once installed system-wide it won't refer to build paths anymore.
> >> +#
> >> +# Dune cannot be used to generate this file: the env-vars stanza doesn't support %{read:}, :include,
> >> +# and dune-workspace doesn't support (include) stanzas.
> >> +# So for now generate it from this Makefile
> >> +# Cannot start with comment, so add auto-generated comment at the end
> >> +LIB_DIRS=$(abspath $(wildcard ../libs/*/.))
> > 
> > Do you need all those libs? Can't you instead list the library needed
> > or use the value listed in "tools/libs/uselibs.mk" ?
> 
> Indeed, I think some Xen source paths changed since this patch was originally written, an explicit list is probably a better choice now,
> since there are a lot of libs there that are not necessarily needed (e.g. xenlight)

I'd mostly like to avoid $(wildcard ) if possible.

> >> +LIBRARY_PATH=$(subst $(eval) ,:,$(LIB_DIRS))
> >> +../dune-workspace ../dune-workspace.dev: dune-workspace.in dune-workspace.dev.in Makefile.dune
> >> +	@( sed -e "s|@LIBRARY_PATH@|$(LIBRARY_PATH)|" <$< \
> >> +	&& echo "; DO NOT EDIT: autogenerated from ocaml/dune-workspace.in") >../dune-workspace
> >> +	@cat ../dune-workspace dune-workspace.dev.in >../dune-workspace.dev
> >> +
> >> +# for location of various libs which moves between Xen versions
> >> +include $(XEN_ROOT)/tools/Rules.mk
> >> +
> >> +XEN_DEPS=$(XEN_libxenctrl)/libxenctrl.so
> >> +XEN_DEPS+=$(XEN_libxenevtchn)/libxenevtchn.so
> >> +XEN_DEPS+=$(XEN_libxenguest)/libxenguest.so
> >> +
> >> +# Cannot be generated from dune
> >> +# Tell the user how to generate them
> >> +../include/xen/xen.h ../config.status $(XEN_DEPS):
> >> +	echo "Missing C headers or libraries" >&2
> >> +	echo "Run make -C $(XEN_ROOT) build-tools-oxenstored-prepare -j$$(nproc)" >&2
> >> +	exit 1
> >> +
> >> +# dune would refuse to run if there are build artifacts in the source directory
> >> +# if we detect anything then run make clean to ensure these are removed
> >> +# don't always call 'make clean' because it takes ~1.6s
> >> +.PHONY: dune-pre
> >> +dune-pre: ../config.status | ../include/xen/xen.h ../dune-workspace $(XEN_DEPS)
> >> +	$(MAKEN) clean -s
> > 
> > I think it would be much better to tell the user to run clean themself,
> > like we do in the hypervisor tree when trying to do an out-of-tree
> > build. See rule "outputmakefile" in "xen/Makefile".
> 
> 
> I could attempt to detect an unclean tree and abort the build instead with a message saying to run 'make clean'.

The comment already speak detecting unclean source tree, but I guess it
probably still run `make clean` even if clean.

> However detecting an unclean tree isn't necessarily trivial (although I think dune itself would detect and abort the build, so perhaps I can reuse that,
> I'll have to do some experiments).
> Does Xen support out-of-tree builds btw? That might be another option in maintaining a clean source tree without build artifacts.

The toolstack build system doesn't support out-of-tree build. But my
work on non-recursive makefile would potentially allow that.

Having the dune stuff not been run when running for example `make
build-tools` is probably going to make this kind of things awkward at
first. That is both dune and make buids could be use in parallel (not
necessary at the same time) if the developer doesn't pay attention. I
guess later if could have something like `./configure
--enable-ocaml-dune`, there will be less risk of having the make build
ocaml stuff instead of dune as intended by a developer. Also, this could
allow to test dune build in our CI.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 17:40:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 17:40:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380033.614021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJILj-0001PD-RV; Wed, 03 Aug 2022 17:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380033.614021; Wed, 03 Aug 2022 17:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJILj-0001Oe-Mg; Wed, 03 Aug 2022 17:40:03 +0000
Received: by outflank-mailman (input) for mailman id 380033;
 Wed, 03 Aug 2022 17:40:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJILj-0001HI-4l; Wed, 03 Aug 2022 17:40:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJILj-0006GN-0f; Wed, 03 Aug 2022 17:40:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJILi-0002qq-KL; Wed, 03 Aug 2022 17:40:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJILi-0002TJ-Js; Wed, 03 Aug 2022 17:40:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IjRClWN6Z8PEgfeq1mfFAbWuKsR4BXCmsaPndaqz25Y=; b=f5Mp1kqTdlV/velOhCeIYGOW14
	qformoNF+ij57Kd+BUmsRFxQEOve+1XM/Q5bBzkfO5SIeEsSpnsLmASV00POEisO05YRR9nYAbveL
	Sapy8S0usEAsbXQZm42D3kHyzrPTZA/UTxusVLqS2ZVOwoEd9n0YnDw7oy1bVYVjXZ3U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172103-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172103: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=d2656dd577754129f86328f95e6ee4a241913d6f
X-Osstest-Versions-That:
    qemuu=430a388ef4a6e02e762a9c5f86c539f886a6a61a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 17:40:02 +0000

flight 172103 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172103/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172087
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172087
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172087
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172087
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172087
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172087
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172087
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172087
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                d2656dd577754129f86328f95e6ee4a241913d6f
baseline version:
 qemuu                430a388ef4a6e02e762a9c5f86c539f886a6a61a

Last test of basis   172087  2022-08-02 20:08:25 Z    0 days
Testing same since   172103  2022-08-03 06:11:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   430a388ef4..d2656dd577  d2656dd577754129f86328f95e6ee4a241913d6f -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 19:46:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 19:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380085.614055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJKJY-0006PV-QM; Wed, 03 Aug 2022 19:45:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380085.614055; Wed, 03 Aug 2022 19:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJKJY-0006PO-NU; Wed, 03 Aug 2022 19:45:56 +0000
Received: by outflank-mailman (input) for mailman id 380085;
 Wed, 03 Aug 2022 19:45:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJKJW-0006PE-J4; Wed, 03 Aug 2022 19:45:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJKJW-0000Fr-Fh; Wed, 03 Aug 2022 19:45:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJKJW-0004CZ-5b; Wed, 03 Aug 2022 19:45:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJKJW-0003FH-57; Wed, 03 Aug 2022 19:45:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=9WrbOJ7SPvi5Ot8n8s84ED3oIrGOy4zKny8kfanYlRs=; b=IjPKn8/D5y+Ri8Ww2vLqmsLsT4
	iAZikH4FLdYfmpbPHbKXfqFdmn6QGuLgDeFmEOeyeJC8Wy3bsLEYv9ayPJUDH+d80OAywtMiJeUSz
	lWV3EmPQJxJYG5+sZXxhZi4CH+6BKEYDPN5IqGWRy8x/iiO5KwWSb75WixU91JyVZAxQ=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete build-arm64-libvirt
Message-Id: <E1oJKJW-0003FH-57@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Aug 2022 19:45:54 +0000

branch xen-unstable
xenbranch xen-unstable
job build-arm64-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172124/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/build-arm64-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/build-arm64-libvirt.libvirt-build --summary-out=tmp/172124.bisection-summary --basis-template=172073 --blessings=real,real-bisect,real-retry xen-unstable build-arm64-libvirt libvirt-build
Searching for failure / basis pass:
 172104 fail [host=rochester0] / 172073 ok.
Failure / basis pass flights: 172104 / 172073
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 4d96a4fe2ac08cc93f2e7eca56120792363cb950
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-4d96a4fe2ac08\
 cc93f2e7eca56120792363cb950
Loaded 5001 nodes in revision graph
Searching for test results:
 171887 [host=laxton1]
 171896 [host=laxton1]
 171910 [host=rochester1]
 171933 [host=laxton1]
 171993 [host=laxton1]
 172058 [host=laxton1]
 172073 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
 172081 [host=rochester1]
 172089 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 4d96a4fe2ac08cc93f2e7eca56120792363cb950
 172105 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
 172106 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 4d96a4fe2ac08cc93f2e7eca56120792363cb950
 172112 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 124f138b37d595294b3100349e26ffb3f1df7b13
 172115 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 108e6f282d2c2b8442ac9e1487e6fd7865cd6ede
 172117 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 2128143c114c52c7536e37c32935fdd77f23edc1
 172118 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172104 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 4d96a4fe2ac08cc93f2e7eca56120792363cb950
 172119 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
 172121 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172122 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
 172124 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Searching for interesting versions
 Result found: flight 172073 (pass), for basis pass
 For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x563f80562a10) HASH(0x563f80565fa0) HASH(0x563f80564598) HASH(0x563f80578158) Result found: flight 172089 (fail), for basis failure (at ancestor ~386)
 Repro found: flight 172105 (pass), for basis pass
 Repro found: flight 172106 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172073 (pass), for last pass
 Result found: flight 172118 (fail), for first failure
 Repro found: flight 172119 (pass), for last pass
 Repro found: flight 172121 (fail), for first failure
 Repro found: flight 172122 (pass), for last pass
 Repro found: flight 172124 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172124/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/build-arm64-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172124: tolerable ALL FAIL

flight 172124 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172124/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build           fail baseline untested


jobs:
 build-arm64-libvirt                                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Wed Aug 03 20:43:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 20:43:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380099.614070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJLCp-0004Cw-Ci; Wed, 03 Aug 2022 20:43:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380099.614070; Wed, 03 Aug 2022 20:43:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJLCp-0004Cp-9S; Wed, 03 Aug 2022 20:43:03 +0000
Received: by outflank-mailman (input) for mailman id 380099;
 Wed, 03 Aug 2022 20:43:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B7Vd=YH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oJLCo-0004Cj-JB
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 20:43:02 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dcca16cd-136c-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 22:43:01 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9E55561532;
 Wed,  3 Aug 2022 20:42:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99833C433D6;
 Wed,  3 Aug 2022 20:42:58 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dcca16cd-136c-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659559379;
	bh=YeXtbBliMUDISzh6WQ7jb7FiUaupdbolNvxbXwlxVKI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RTsUeBfqLHhaC3YGC76x0tNXuUXkYmww5s0IYyHIBNSHFBftyI2WWr5qyL9b64Vb/
	 IK9Xfpf9wn9siYdIUIH3oUScb0DCtM5ffjcFmsFUUzmezcJWa3rpAE9nr7xu0CYlAw
	 SRKoTggZXIJWaoW1hK24pL648gZTyqNvx5edvlaRFRKqeKGIV434B5wNVdKQYjH32G
	 hW2OeGjx48zjJpZ7oChKGZjWd1qzwZLNiYKU3goJVSNMAQbRwh/aZtP4bm0u5Qndaz
	 CTgpF1zca4Ruy7dLuFpM37MuO1YyDRmhBjIrloielhUebDR25n1SSPldaPx1oB7laa
	 G5Odfk0IvLTFA==
Date: Wed, 3 Aug 2022 13:42:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <bertrand.marquis@arm.com>
cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH] doc: Add git commands to generate Fixes
In-Reply-To: <b57628b8cf8355a5f4f32e6ea577689ae7450a69.1659537759.git.bertrand.marquis@arm.com>
Message-ID: <alpine.DEB.2.22.394.2208031342190.3147284@ubuntu-linux-20-04-desktop>
References: <b57628b8cf8355a5f4f32e6ea577689ae7450a69.1659537759.git.bertrand.marquis@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 3 Aug 2022, Bertrand Marquis wrote:
> Add git commands examples that can be used to generate fixes and how to
> use the pretty configuration for git.
> This should make it easier for contributors to have the right format.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  docs/process/sending-patches.pandoc | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-patches.pandoc
> index 7ff7826c992b..9c4c4655323b 100644
> --- a/docs/process/sending-patches.pandoc
> +++ b/docs/process/sending-patches.pandoc
> @@ -102,6 +102,10 @@ E.g.:
>  
>      Fixes: 67d01cdb5518 ("x86: infrastructure to allow converting certain indirect calls to direct ones")
>  
> +If git was configured as explained earlier, this can be retrieved using
> +``git log --pretty=fixes`` otherwise ``git log --abbrev=12 --oneline`` will
> +give the proper tag and title.
> +
>  ### Backport:
>  
>  A backport tag is an optional tag in the commit message to request a
> -- 
> 2.25.1
~ 


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 21:22:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 21:22:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380105.614080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJLpA-0008Uj-9S; Wed, 03 Aug 2022 21:22:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380105.614080; Wed, 03 Aug 2022 21:22:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJLpA-0008Uc-6v; Wed, 03 Aug 2022 21:22:40 +0000
Received: by outflank-mailman (input) for mailman id 380105;
 Wed, 03 Aug 2022 21:22:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B7Vd=YH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oJLp9-0008UW-2K
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 21:22:39 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65d6f895-1372-11ed-924f-1f966e50362f;
 Wed, 03 Aug 2022 23:22:37 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id E29A1B8227F;
 Wed,  3 Aug 2022 21:22:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F690C433D6;
 Wed,  3 Aug 2022 21:22:35 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65d6f895-1372-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659561755;
	bh=y7RIHItmEHgJ137CuGXgY/O3/XZTzNvmMY4b1GaIZeg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tH53X3/y2lE0FtD11RQIoOLaSQO5pfZeMPynESRPBAB1Y0ajsCLBeypPupcuLNQVe
	 xQEdIMtQ+eMdWP0lrFgQo/5iR0PoiJjq2rnEpe7nhodzVucUYU4IVHGCCI7uFT5YLA
	 Wbedd9U9cHx7gCWaRU3rz4RAmq4piJ1wxc/LpPyeuh/t2kYeCx3Xp+zpMbgw3TeMan
	 ok97jEEtitncla0PMJc988tpOb146NbqYR0r/wFTSD26Dc6Ld3nfL9q47zvtICx3hF
	 CWoktePI2cISi+A3UQ/qMLzap2ggI/ui/XWrBb34f5UGqY84hjJuAiHmf8Q07+xbow
	 ihpgzVqwVzdfQ==
Date: Wed, 3 Aug 2022 14:22:34 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/char: mvebu-uart: Fix MISRA C 2012 Rule 20.7
 violation
In-Reply-To: <20220803070958.1752256-1-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208031422170.3147284@ubuntu-linux-20-04-desktop>
References: <20220803070958.1752256-1-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 3 Aug 2022, Xenia Ragiadakou wrote:
> The macro parameters 'off' and 'uart' are used as expressions and it is
> good to be enclosed in parentheses to prevent against unintended expansion.
> 
> For the 'uart' case, in mvebu3700_write(), correct the second parentheses
> that seems to have been accidently misplaced.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/drivers/char/mvebu-uart.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/drivers/char/mvebu-uart.c b/xen/drivers/char/mvebu-uart.c
> index 835d1ace3c..a00618b96f 100644
> --- a/xen/drivers/char/mvebu-uart.c
> +++ b/xen/drivers/char/mvebu-uart.c
> @@ -64,8 +64,8 @@ static struct mvebu3700_uart {
>      struct vuart_info vuart;
>  } mvebu3700_com = {0};
>  
> -#define mvebu3700_read(uart, off)           readl((uart)->regs + off)
> -#define mvebu3700_write(uart, off, val)     writel(val, (uart->regs) + off)
> +#define mvebu3700_read(uart, off)           readl((uart)->regs + (off))
> +#define mvebu3700_write(uart, off, val)     writel(val, (uart)->regs + (off))
>  
>  static void mvebu3700_uart_interrupt(int irq, void *data,
>                                       struct cpu_user_regs *regs)
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 03 23:44:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Aug 2022 23:44:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380117.614100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJO2H-0005Kg-Cp; Wed, 03 Aug 2022 23:44:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380117.614100; Wed, 03 Aug 2022 23:44:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJO2H-0005KZ-9x; Wed, 03 Aug 2022 23:44:21 +0000
Received: by outflank-mailman (input) for mailman id 380117;
 Wed, 03 Aug 2022 23:44:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B7Vd=YH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oJO2F-0005K5-Vq
 for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 23:44:20 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2fdb64be-1386-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 01:44:17 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3DCCC616EA;
 Wed,  3 Aug 2022 23:44:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3FAF8C433D6;
 Wed,  3 Aug 2022 23:44:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fdb64be-1386-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659570255;
	bh=pyFhZdrc+BbfeXa6cTgSbQju22oiS8xtcQfZeLqe9EE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=i81h0apMg0NkaP1bVXhoxHlnjhNABtApLJcrj6I1AXy5LCoa1WESRK9OKNMBSpuep
	 uKvNmkMJvJFD7rXinDR5fyi+fT8qFUHNEBJ98NoD8WsWd8HlOIdiwoYx4pkX+T6VQ5
	 k0yIDEQkG4faR2Gphf+7CJQ2VAEfjm/1mY8mxzhRyV1rywy570IDmYesa+lX4lYPJC
	 cZw1dNunfcq77LHdIl8/Ze6shrWpziPNOs+bQ+mCRJwiGapgT8+59J71QJLIAZKX67
	 rgAlJ4Epy0bNsArV8AAcvZ73gXJakX1CGwqBn/Tt85P78CTkyenXgaxT3EQ7AWoQMI
	 s0UhCgL6ueNcQ==
Date: Wed, 3 Aug 2022 16:44:13 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Anthony Perard <anthony.perard@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Julien Grall <julien@xen.org>
Subject: Re: preparations for 4.16.2
In-Reply-To: <b37c1dcc-eb80-c5ac-30e8-626084e689b0@suse.com>
Message-ID: <alpine.DEB.2.22.394.2208031515210.3147284@ubuntu-linux-20-04-desktop>
References: <5622e17f-c424-87a4-d7c4-bbe1dee4743c@suse.com> <e52776d1-ed65-cf0d-bbc8-1431c183d73c@xen.org> <b37c1dcc-eb80-c5ac-30e8-626084e689b0@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 3 Aug 2022, Jan Beulich wrote:
> On 03.08.2022 11:29, Julien Grall wrote:
> > On 27/07/2022 08:26, Jan Beulich wrote:
> >> All,
> > 
> > Hi Jan,
> > 
> >> the release is due in about two weeks time.
> >>
> >> Please point out backports you find missing from the respective staging
> >> branch, but which you consider relevant. I'm surprised in particular
> >> that no Arm backports have appeared on the branch at all since 4.16.1
> >> had gone out.
> > 
> > Stefano is meant to look after the backports so I have held off doing 
> > them (although I don't really want to take that responsability :)). 
> > Below a potential list:
> > 
> > - af570d1c90f1 "xen/arm: Advertise workaround 1 if we apply 3"
> > - 95604873ccf5 "arm/its: enable LPIs before mapping the collection table"
> > - 407b13a71e32 "xen/arm: p2m don't fall over on FEAT_LPA enabled hw"
> > - aa1cba100bff "xen/arm: Avoid overflow using MIDR_IMPLEMENTOR_MASK"
> > - ee11f092b515 "xen: arm: Don't use stop_cpu() in halt_this_cpu()"
> > - 6655eb81092a "xen/arm: avoid overflow when setting vtimer in context 
> > switch"
> > - 25424d1a6b7b "xen/arm: head: Add missing isb after writing to 
> > SCTLR_EL2/HSCTLR"
> > - 800f21499e0e "arm/vgic-v3: fix virq offset in the rank when storing 
> > irouter"
> 
> Since Julien's mail was directed at me (only), FTAOD: You're going to
> take care of these, no action needed on my part?

Done; no action needed on your part.


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 01:26:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 01:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380133.614147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJPd9-000688-1A; Thu, 04 Aug 2022 01:26:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380133.614147; Thu, 04 Aug 2022 01:26:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJPd8-000681-Uk; Thu, 04 Aug 2022 01:26:30 +0000
Received: by outflank-mailman (input) for mailman id 380133;
 Thu, 04 Aug 2022 01:26:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJPd7-00067r-W2; Thu, 04 Aug 2022 01:26:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJPd7-0005gs-Sa; Thu, 04 Aug 2022 01:26:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJPd7-0001oT-7Q; Thu, 04 Aug 2022 01:26:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJPd7-0001Wa-6T; Thu, 04 Aug 2022 01:26:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9L6Uo/bxGTKHHnUeFTvKsFu7FN4Y6fgYLr+0BeqWgyI=; b=aVFvbmng8v7Ee3FWzrSfut9udE
	J8cfHGDP/TvXMUghQgQ/0ISwO6zNHcDnA+StEdQ2MfrDAvjYrCFev9ytzmwsAk0/nKn4BS8astA2u
	Y7a1F2bZ72JdYiBXihjK8/JWzKs/WTRk1fSjUHuFnlDiN2yK5z3qt+vpdwsotUkZv2FA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172109-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 172109: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=df3395f6b2d759aba39fb67a7bc0fe49147c8b39
X-Osstest-Versions-That:
    xen=b64f1c9e3e3a2a416c7bb5aab77ba5d2cba98638
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 01:26:29 +0000

flight 172109 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172109/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171880
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171880
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 171880
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171880
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171880
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 171880
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171880
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171880
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171880
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171880
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 171880
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 171880
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  df3395f6b2d759aba39fb67a7bc0fe49147c8b39
baseline version:
 xen                  b64f1c9e3e3a2a416c7bb5aab77ba5d2cba98638

Last test of basis   171880  2022-07-27 07:37:53 Z    7 days
Testing same since   172109  2022-08-03 11:06:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b64f1c9e3e..df3395f6b2  df3395f6b2d759aba39fb67a7bc0fe49147c8b39 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 01:48:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 01:48:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380142.614158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJPyW-0000Ga-Us; Thu, 04 Aug 2022 01:48:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380142.614158; Thu, 04 Aug 2022 01:48:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJPyW-0000GT-Qg; Thu, 04 Aug 2022 01:48:36 +0000
Received: by outflank-mailman (input) for mailman id 380142;
 Thu, 04 Aug 2022 01:48:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJPyV-0000G0-Au; Thu, 04 Aug 2022 01:48:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJPyV-000661-3h; Thu, 04 Aug 2022 01:48:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJPyU-0003wi-IW; Thu, 04 Aug 2022 01:48:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJPyU-00019K-G4; Thu, 04 Aug 2022 01:48:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GpqfzCRFXRVZ+X8dbirRoNyrFHfjcXrbw1a/e5bmcjI=; b=bxs8d3mw1z4N3zWCee/TEq9SRh
	cYPEUSrSnV/lXEvNa2kPyImxhdfX2fFFg8dssgOS0eIyOiJgRZZXpx5iAUFKE6Gt80PqDMapW5Wli
	s2iGWGevjC/lWNGWZEVUxRMRjZK1ObnOk5hHkf5gQS2CMLN5uFzLoEW+aOrCBJoAsdOM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172108-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172108: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:regression
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
X-Osstest-Versions-That:
    linux=77ba2b9b46f8acead2606759e8196b7076eaeeea
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 01:48:34 +0000

flight 172108 linux-5.4 real [real]
flight 172127 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172108/
http://logs.test-lab.xenproject.org/osstest/logs/172127/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail REGR. vs. 171923

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 17 guest-start/debian.repeat fail pass in 172127-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds   18 guest-start/debian.repeat fail blocked in 171923
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail blocked in 171923
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 171923
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171923
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 171923
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 171923
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171923
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171923
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171923
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171923
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 171923
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171923
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 171923
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171923
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 171923
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171923
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3
baseline version:
 linux                77ba2b9b46f8acead2606759e8196b7076eaeeea

Last test of basis   171923  2022-07-29 15:42:06 Z    5 days
Testing same since   172108  2022-08-03 10:11:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "chenxiang (M)" <chenxiang66@hisilicon.com>
  Alejandro Lucero <alejandro.lucero-palau@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Andrew Morton <akpm@linux-foundation.org>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  ChenXiaoSong <chenxiaosong2@huawei.com>
  Dave Switzer <david.switzer@intel.com>
  David S. Miller <davem@davemloft.net>
  Dawid Lukwinski <dawid.lukwinski@intel.com>
  Duoming Zhou <duoming@zju.edu.cn>
  Florian Fainelli <f.fainelli@gmail.com>
  Florian Westphal <fw@strlen.de>
  George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Harald Freudenberger <freude@linux.ibm.com>
  Hawkins Jiawei <yin31149@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Kicinski <kubakici@wp.pl>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jon Hunter <jonathanh@nvidia.com>
  Kalle Valo <kvalo@codeaurora.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lee Jones <lee.jones@linaro.org>
  Leo Yan <leo.yan@linaro.org>
  Liang He <windhl@126.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Maloszewski <michal.maloszewski@intel.com>
  Ming Lei <ming.lei@redhat.com>
  Namhyung Kim <namhyung@kernel.org>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Wei Mingzhi <whistler@member.fsf.org>
  Xin Long <lucien.xin@gmail.com>
  Yu Kuai <yukuai3@huawei.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1121 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 03:00:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 03:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380151.614172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJR5e-0007wb-85; Thu, 04 Aug 2022 03:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380151.614172; Thu, 04 Aug 2022 03:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJR5e-0007w1-4a; Thu, 04 Aug 2022 03:00:02 +0000
Received: by outflank-mailman (input) for mailman id 380151;
 Thu, 04 Aug 2022 03:00:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJR5c-0007hZ-GD; Thu, 04 Aug 2022 03:00:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJR5c-0007sW-BC; Thu, 04 Aug 2022 03:00:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJR5b-0000IQ-Ty; Thu, 04 Aug 2022 03:00:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJR5b-0001vR-TX; Thu, 04 Aug 2022 02:59:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NNUj7Zw1J+fadRCjPBmqDP6xZI8DAd8kNLPS9r615+M=; b=A8iJlDoVgAe6IQ4ROSIb5riMmF
	+RQAj4gzcpU+/oYCH/KQQqK2xGP+4kwbSFdNFZaposhn1Mw5ZLJLQQM247V2viXSn6UwlkIxViLos
	w4tDGcCnU2yKxJ0g/vhzPScs/1RA15eiTOdCtAao88FxRbLfLx/EBb+Ot21qcoQPau6M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172110-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 172110: regressions - FAIL
X-Osstest-Failures:
    xen-4.16-testing:build-amd64-libvirt:libvirt-build:fail:regression
    xen-4.16-testing:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    xen-4.16-testing:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:regression
    xen-4.16-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=89fe6d0edea841d1d2690cf3f5173e334c687823
X-Osstest-Versions-That:
    xen=d77bb6e5375f19c64d182fb7b2e53138152421b5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 02:59:59 +0000

flight 172110 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172110/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 171881
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 171881
 test-arm64-arm64-xl-vhd     17 guest-start/debian.repeat fail REGR. vs. 171881

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 171881
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171881
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171881
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171881
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171881
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 171881
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171881
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 171881
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171881
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171881
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 171881
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171881
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  89fe6d0edea841d1d2690cf3f5173e334c687823
baseline version:
 xen                  d77bb6e5375f19c64d182fb7b2e53138152421b5

Last test of basis   171881  2022-07-27 07:37:53 Z    7 days
Testing same since   172110  2022-08-03 11:06:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 89fe6d0edea841d1d2690cf3f5173e334c687823
Author: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
Date:   Wed Aug 3 12:39:13 2022 +0200

    x86/msr: fix X2APIC_LAST
    
    The latest Intel manual now says the X2APIC reserved range is only
    0x800 to 0x8ff (NOT 0xbff).
    This changed between SDM 68 (Nov 2018) and SDM 69 (Jan 2019).
    The AMD manual documents 0x800-0x8ff too.
    
    There are non-X2APIC MSRs in the 0x900-0xbff range now:
    e.g. 0x981 is IA32_TME_CAPABILITY, an architectural MSR.
    
    The new MSR in this range appears to have been introduced in Icelake,
    so this commit should be backported to Xen versions supporting Icelake.
    
    Signed-off-by: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 13316827faadbb4f72ae6c625af9938d8f976f86
    master date: 2022-07-27 12:57:10 +0200

commit 6689cab2bcc066f063abe6ded0043f1eeb211207
Author: Roger Pau MonnÃ© <roger.pau@citrix.com>
Date:   Wed Aug 3 12:38:36 2022 +0200

    tools/libxl: env variable to signal whether disk/nic backend is trusted
    
    Introduce support in libxl for fetching the default backend trusted
    option for disk and nic devices.
    
    Users can set LIBXL_{DISK,NIC}_BACKEND_UNTRUSTED environment variable
    to notify libxl of whether the backends for disk and nic devices
    should be trusted.  Such information is passed into the frontend so it
    can take the appropriate measures.
    
    This is part of XSA-403.
    
    Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 05:09:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 05:09:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380166.614187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJT6T-0004AA-Mk; Thu, 04 Aug 2022 05:09:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380166.614187; Thu, 04 Aug 2022 05:09:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJT6T-0004A3-Hq; Thu, 04 Aug 2022 05:09:01 +0000
Received: by outflank-mailman (input) for mailman id 380166;
 Thu, 04 Aug 2022 05:08:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJT6R-00049t-Q2; Thu, 04 Aug 2022 05:08:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJT6R-0002Q6-MQ; Thu, 04 Aug 2022 05:08:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJT6R-0000dw-6e; Thu, 04 Aug 2022 05:08:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJT6R-0003bc-6A; Thu, 04 Aug 2022 05:08:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CKNr4Qtc9FAQA7gYHpabIXsCdjUz+Oe6XxXamRf4y0Q=; b=DSIg7vspAneL+k628tjc7BsuNW
	FnfuljyZC70eLS7UP+GY72mUrz2XVB6qfsdwSOgGjrEb9rJAvrKe19OVsqh4SJMGEV42KLqPeUnoH
	a68Fd/W/J1muUVyb2f7mRIB9BogtNJSFNhAVjV1OqWc6dWbecIzz4I0yBHIf6BF09VR4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172111-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172111: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64:xen-build:fail:regression
    linux-linus:build-amd64-xsm:xen-build:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-linus:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e2b542100719a93f8cdf6d90185410d38a57a4c1
X-Osstest-Versions-That:
    linux=c2a24a7a036b3bd3a2e6c66730dfc777cae6540a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 05:08:59 +0000

flight 172111 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172111/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 172093
 build-amd64-xsm               6 xen-build                fail REGR. vs. 172093
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail REGR. vs. 172093

Tests which did not succeed, but are not blocking:
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-freebsd11-amd64  1 build-check(1)               blocked  n/a
 test-amd64-amd64-freebsd12-amd64  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172093
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172093
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172093
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                e2b542100719a93f8cdf6d90185410d38a57a4c1
baseline version:
 linux                c2a24a7a036b3bd3a2e6c66730dfc777cae6540a

Last test of basis   172093  2022-08-03 01:58:10 Z    1 days
Testing same since   172111  2022-08-03 11:41:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Zhang, Qiang1" <qiang1.zhang@intel.com>
  Akira Yokosawa <akiyks@gmail.com>
  Alex Shi <alexs@kernel.org>
  Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
  Ammar Faizi <ammarfaizi2@gnuweeb.org>
  Anders Roxell <anders.roxell@linaro.org>
  Anna-Maria Behnsen <anna-maria@linutronix.de>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Binbin Zhou <zhoubinbin@loongson.cn>
  Boqun Feng <boqun.feng@gmail.com>
  Brendan Higgins <brendanhiggins@google.com>
  Chao Liu <liuchao@coolpad.com>
  Chen Zhongjin <chenzhongjin@huawei.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dan Williams <dan.j.williams@intel.com> # For ndctl.h
  Daniel Latypov <dlatypov@google.com>
  Dave Marchevsky <davemarchevsky@fb.com>
  David Gow <davidgow@google.com>
  David Reaver <me@davidreaver.com>
  Deming Wang <wangdeming@inspur.com>
  Dipen Patel <dipenp@nvidia.com>
  Dmitry Vyukov <dvyukov@google.com>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Dov Murik <dovmurik@linux.ibm.com>
  Federico Vaga <federico.vaga@vaga.pv.it>
  Frederic Weisbecker <frederic@kernel.org>
  Gautam <gautammenghani201@gmail.com>
  Gautam Menghani <gautammenghani201@gmail.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Guillaume Tucker <guillaume.tucker@collabora.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jeremy Kerr <jk@codeconstruct.com.au>
  Joel Fernandes (Google) <joel@joelfernandes.org>
  Joel Fernandes <joel@joelfernandes.org>
  Johannes Berg <johannes.berg@intel.com>
  Johannes Holland <johannes.holland@infineon.com>
  John Johansen <john.johansen@canonical.com>
  John Stultz <jstultz@google.com>
  Jonathan Corbet <corbet@lwn.net>
  JosÃ© ExpÃ³sito <jose.exposito89@gmail.com>
  JoÃ£o Paulo Rechi Vita <jprvita@endlessos.org>
  JoÃ£o Paulo Rechi Vita <jprvita@gmail.com>
  Juerg Haefliger <juerg.haefliger@canonical.com>
  Juerg Haefliger <juergh@canonical.com>
  Li Qiong <liqiong@nfschina.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luis Chamberlain <mcgrof@kernel.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Mark Rutland <mark.rutland@arm.com>
  Martin Liska <mliska@suse.cz>
  Martin LiÅ¡ka <mliska@suse.cz>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Maxime Ripard <maxime@cerno.tech>
  MaÃ­ra Canal <maira.canal@usp.br>
  MaÃ­ra Canal <mairacanal@riseup.net>
  Michael Kelley <mikelley@microsoft.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Neeraj Upadhyay <quic_neeraju@quicinc.com>
  Nicolas Saenz Julienne <nsaenzju@redhat.com>
  Niklas SÃ¶derlund <niklas.soderlund@corigine.com>
  Patrick Wang <patrick.wang.shcn@gmail.com>
  Paul E. McKenney <paulmck@kernel.org>
  Randy Dunlap <rdunlap@infradead.org>
  Rob Herring <robh@kernel.org>
  Sadiya Kazi <sadiyakazi@google.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Sotir Danailov <sndanailov@gmail.com>
  Soumya Negi <soumya.negi97@gmail.com>
  Stefan Mahnke-Hartmann <stefan.mahnke-hartmann@infineon.com>
  Stephen Boyd <sboyd@kernel.org>
  Stephen Kitt <steve@sk2.org>
  Steven Lung <1030steven@gmail.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  syzbot <syzbot+9bb26e7c5e8e4fa7e641@syzkaller.appspotmail.com>
  Tang Yizhou <yizhou.tang@shopee.com>
  Tom Schwindl <schwindl@posteo.de>
  Uladzislau Rezki (Sony) <urezki@gmail.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Waiman Long <longman@redhat.com>
  Willy Tarreau <w@1wt.eu>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Wu XiangCheng <bobwxc@email.cn>
  Xiang wangx <wangxiang@cdjrlc.com>
  Yanteng Si <siyanteng@loongson.cn>
  Yanteng Si<siyanteng@loongson.cn>
  Yixuan Cao <caoyixuan2019@email.szu.edu.cn>
  Zan Aziz <zanaziz313@gmail.com>
  Zhouyi Zhou <zhouzhouyi@gmail.com>
  Zqiang <qiang1.zhang@intel.com>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-amd64-freebsd11-amd64                             blocked 
 test-amd64-amd64-freebsd12-amd64                             blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 5773 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 06:43:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 06:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380176.614203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUZa-0005Z9-HJ; Thu, 04 Aug 2022 06:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380176.614203; Thu, 04 Aug 2022 06:43:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUZa-0005Z2-EX; Thu, 04 Aug 2022 06:43:10 +0000
Received: by outflank-mailman (input) for mailman id 380176;
 Thu, 04 Aug 2022 06:43:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJUZZ-0005Ys-Aw; Thu, 04 Aug 2022 06:43:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJUZZ-0004E7-74; Thu, 04 Aug 2022 06:43:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJUZY-0006tz-St; Thu, 04 Aug 2022 06:43:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJUZY-0005zM-SR; Thu, 04 Aug 2022 06:43:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RMUXF8QUyBHsZAth/8TXFTms0vNZhfZQKfPrCWHPa68=; b=bsehLFOnxEtuzVj2UXko3hrgdG
	fN5rayDj2F4hBvkHPGUgc8TMK7Dli+bWSsmk6+/Tmuu8Ye8rS6siO3FnF8hp04Aw+iMnsbLfxT+O1
	pddiajZeCJ0T0ygl+xHhBCP74R6vRM3eZwqGOCJxxkw8Ge8mwhIYqh5e+B/RP5ohVWhI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172126-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172126: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d2191197217f9d16541c2d051235c494fa80bce3
X-Osstest-Versions-That:
    ovmf=0dc9b78a46813d61533b2bb0f7ef897a06a273be
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 06:43:08 +0000

flight 172126 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172126/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d2191197217f9d16541c2d051235c494fa80bce3
baseline version:
 ovmf                 0dc9b78a46813d61533b2bb0f7ef897a06a273be

Last test of basis   172091  2022-08-03 00:41:46 Z    1 days
Testing same since   172126  2022-08-03 22:12:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Sean Rhodes <sean@starlabs.systems>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   0dc9b78a46..d219119721  d2191197217f9d16541c2d051235c494fa80bce3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 07:02:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 07:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380186.614216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUrt-00088G-9b; Thu, 04 Aug 2022 07:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380186.614216; Thu, 04 Aug 2022 07:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUrt-000889-6r; Thu, 04 Aug 2022 07:02:05 +0000
Received: by outflank-mailman (input) for mailman id 380186;
 Thu, 04 Aug 2022 07:02:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wk0C=YI=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oJUrr-000883-M1
 for xen-devel@lists.xen.org; Thu, 04 Aug 2022 07:02:03 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56b0d934-13c3-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 09:02:02 +0200 (CEST)
Received: by mail-pj1-x102c.google.com with SMTP id a8so5219193pjg.5
 for <xen-devel@lists.xen.org>; Thu, 04 Aug 2022 00:02:02 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 g5-20020a17090a4b0500b001f31e91200asm2833108pjh.44.2022.08.04.00.01.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 00:01:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56b0d934-13c3-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=h6YCloTz4rK9ZTPSsprXuTgjj/k37+SDGUBkJBTTEWc=;
        b=vGT1V0KS5mQsDzTZeYW/BxV/IVD9XHv0dfzb3dRtjW1bEP3pM1S0AD3RIlGtTkAHJ/
         1DCxv1hxmido7M1LGOnxhMHC92RXK17Zo/u0NSbxxEybISdZg9oxhPqCZGkSMORxXoav
         jDiFUKsOs1+qTTbILYRKg41gyzEMkqGpi2qFMRhCqgiVjoD4p2G0Z+rRISAZ940n+sTp
         bOCCcnyBREqtuh7z5fmz1h4f+t1JxgfNqy7mebcBgkqjNCdG8SLuYKmQ6eAPa3zL9Ida
         MGF6JopNEzzE48A1ZxLteHCUPfT0j9WpAeC1bvDYR8jq4/YXnUaCy9ldzOeo2wb3uyv3
         ECxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=h6YCloTz4rK9ZTPSsprXuTgjj/k37+SDGUBkJBTTEWc=;
        b=WuJv2OSSAvSW4h8CdudYeRDBrLYzvZmQT8YUPIVHFjCmd7IqNZlGHXGDxpPbMHoquj
         1cww0emrtqjCZKx2ue0VC/USBuUymh7g/nXUbzi8wQBJLyHSCEfNvGqVQ22PvfFNICyU
         FgxCw3KrBSLsaP/UNGh/F+8jhb44/URsi2m/uemqqYE1tKJ/ZZ9oOw8kwclmTW3ZMmm3
         lEUsfWTa8zSwlHDcJoD3lvh0SFcfY4ld7o0T0HLiWLwfGAsLjtd+ez3DOgDBAX8KSmdQ
         bH+EZZOi00lZK2cBejEJXObZskt1cyYzpCvjfdJj9FnwtMX8AQqhMPcMVO9oiP/EkKla
         0MsQ==
X-Gm-Message-State: ACgBeo0e1N9WcQlIAVkGyLGVMjQcvDCA7Ord5eLRpsacnlYeD1lUhKCb
	A3SYy1cKpMFWTg5NQmWguqApCSAmGs8AsA==
X-Google-Smtp-Source: AA6agR5i1p3YHct5wewjflQUqsRPmnWesYXt4n10tisD8DVVl54kywGeFMcrEHZ3AwA1KItU4moAQQ==
X-Received: by 2002:a17:902:e543:b0:16f:23b5:9120 with SMTP id n3-20020a170902e54300b0016f23b59120mr629846plf.30.1659596520607;
        Thu, 04 Aug 2022 00:02:00 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V3 0/6] Virtio toolstack support for I2C and GPIO on Arm
Date: Thu,  4 Aug 2022 12:31:48 +0530
Message-Id: <cover.1659596139.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This patchset adds toolstack support for I2C and GPIO virtio devices. This is
inspired from the work done by Oleksandr for the Disk device.

This is developed as part of Linaro's Project Stratos, where we are working
towards Hypervisor agnostic Rust based backend [1].

This is based of origin/staging (commit 01ca29f0b17a ("sched: dom0_vcpus_pin
should only affect dom0")) which already has Oleksandr's patches applied.

V2->V3:
- Rebased over latest tree and made changes according to changes in Oleksandr's
  patches from sometime back.
- Minor cleanups.

V1->V2:
- Patches 3/6 and 4/6 are new.
- Patches 5/6 and 6/6 updated based on the above two patches.
- Added link to the bindings for I2C and GPIO.
- Rebased over latest master branch.


Thanks.

--
Viresh

[1] https://lore.kernel.org/xen-devel/20220414092358.kepxbmnrtycz7mhe@vireshk-i7/

Viresh Kumar (6):
  libxl: Add support for Virtio I2C device
  libxl: Add support for Virtio GPIO device
  libxl: arm: Create alloc_virtio_mmio_params()
  libxl: arm: Split make_virtio_mmio_node()
  libxl: Allocate MMIO params for I2c device and update DT
  libxl: Allocate MMIO params for GPIO device and update DT

 tools/golang/xenlight/helpers.gen.go      | 212 ++++++++++++++++++++
 tools/golang/xenlight/types.gen.go        |  54 ++++++
 tools/include/libxl.h                     |  64 ++++++
 tools/include/libxl_utils.h               |   6 +
 tools/libs/light/Makefile                 |   2 +
 tools/libs/light/libxl_arm.c              | 138 +++++++++++--
 tools/libs/light/libxl_create.c           |  26 +++
 tools/libs/light/libxl_dm.c               |  34 +++-
 tools/libs/light/libxl_gpio.c             | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_i2c.c              | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   2 +
 tools/libs/light/libxl_types.idl          |  48 +++++
 tools/libs/light/libxl_types_internal.idl |   2 +
 tools/ocaml/libs/xl/genwrap.py            |   2 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   2 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   6 +
 tools/xl/xl_cmdtable.c                    |  30 +++
 tools/xl/xl_gpio.c                        | 142 ++++++++++++++
 tools/xl/xl_i2c.c                         | 142 ++++++++++++++
 tools/xl/xl_parse.c                       | 160 +++++++++++++++
 tools/xl/xl_parse.h                       |   2 +
 tools/xl/xl_sxp.c                         |   4 +
 23 files changed, 1509 insertions(+), 23 deletions(-)
 create mode 100644 tools/libs/light/libxl_gpio.c
 create mode 100644 tools/libs/light/libxl_i2c.c
 create mode 100644 tools/xl/xl_gpio.c
 create mode 100644 tools/xl/xl_i2c.c

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 07:02:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 07:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380188.614228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUry-0008Ov-I7; Thu, 04 Aug 2022 07:02:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380188.614228; Thu, 04 Aug 2022 07:02:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUry-0008Ok-Ec; Thu, 04 Aug 2022 07:02:10 +0000
Received: by outflank-mailman (input) for mailman id 380188;
 Thu, 04 Aug 2022 07:02:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wk0C=YI=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oJUrw-000883-LF
 for xen-devel@lists.xen.org; Thu, 04 Aug 2022 07:02:08 +0000
Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com
 [2607:f8b0:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58ea8c49-13c3-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 09:02:05 +0200 (CEST)
Received: by mail-pf1-x42c.google.com with SMTP id g12so18583879pfb.3
 for <xen-devel@lists.xen.org>; Thu, 04 Aug 2022 00:02:05 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 f11-20020aa79d8b000000b00528c3ad8e09sm122696pfq.66.2022.08.04.00.02.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 00:02:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58ea8c49-13c3-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=yuZwz8uc5wN8Cuv0zx5mBsmVFoUbz2odV0n16zvvUWs=;
        b=nK8GLyWJ+PU0uo74Lx5SOgKTNuV6XTTN5f76SOdQSIDOlwm7T6Nod848pg6pL4chTE
         hU72pI934W+vGowgQc1V3AfSqU82sIBb2j3M9TTC7bHE17BEjc2NLMAbxpanL/19L/Yn
         a4qS8bvOC67nvbD166vnT6fp9sm9I+7jISl1yoM4aDFRazn8g69dnOGsDm55VXZHVM6w
         xKPHCldOT4ORGAE9lR6ZRXMS7XM88eBzQQW9srHl3B919b8FfGhIq5bEgS+nWcFb8eLx
         nLRdU9v3D/p9mrVOJuJ458gkWngzEu1I3wdBaiWKGeVf9FP7repJgUOPWZUQQAVnM1r5
         2zGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=yuZwz8uc5wN8Cuv0zx5mBsmVFoUbz2odV0n16zvvUWs=;
        b=WnDZbLWAzdcHairC/Ay3K+Le4241j7+K5dHrmMPaxq6vriHFzqUSK7yDpWZJWqQAuj
         UqgYMxc7/Dap3C+83Q9SiwzFfFFvB/tFq8eaSxNt78SPFAL/JUfy1w9KWp/0zPkcU2zh
         J7lD9mcCZMF20OQtDPVmiatcbb3KkVPCeAvV4NuByxZaQGLHhtB2GfRnSYzyS1yfRGYC
         qVGlPfy2v9kzdibzPtl9pGYZ6DGWfxyTHcP26dQ12Rl5PZYq/yfDdfF2rdms4jbmIZ+A
         GZcnaCd2WmdJErSLJi+vl4T2wa1/OjspqL6uUFYLPuZ7PhQouD/zJSGt0qJ4COGpk270
         kxnw==
X-Gm-Message-State: ACgBeo3bjQKJLAKK5P6PJdf1HOWf+4YEytGqQqZd5u4e9iraKnRlRcao
	/1GpaiFnrywhnfSOB5f5iEMLDiIpSOU1CA==
X-Google-Smtp-Source: AA6agR6DeSoPu8ilVEQvwYemn0oh1V25UV19Sj9jSD6kTDC4+rERJn/9l6AOxh2bjjhH9ViSWPDIrA==
X-Received: by 2002:a65:6a52:0:b0:41b:6cd:dfd3 with SMTP id o18-20020a656a52000000b0041b06cddfd3mr493761pgu.545.1659596524183;
        Thu, 04 Aug 2022 00:02:04 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V3 1/6] libxl: Add support for Virtio I2C device
Date: Thu,  4 Aug 2022 12:31:49 +0530
Message-Id: <6cd6ca9d72d4f844e8a007b687e28f49301fae03.1659596139.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1659596139.git.viresh.kumar@linaro.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting virtio-mmio
based virtio-i2c backend (emualator) which is intended to run out of
Qemu and could be run in any domain.

An example of domain configuration for Virtio I2c:
i2c = [ "" ]

Please note, this patch is not enough for virtio-i2c to work on Xen
(Arm), as for every Virtio device we need to allocate Virtio MMIO params
(IRQ and memory region) and pass them to the backend, also update Guest
device-tree. A subsequent patch will add these missing bits. For the
current patch, the default "irq" and "base" are just written to the
Xenstore.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/golang/xenlight/helpers.gen.go      | 108 +++++++++++
 tools/golang/xenlight/types.gen.go        |  27 +++
 tools/include/libxl.h                     |  32 +++
 tools/include/libxl_utils.h               |   3 +
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_create.c           |  13 ++
 tools/libs/light/libxl_dm.c               |  19 +-
 tools/libs/light/libxl_i2c.c              | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   1 +
 tools/libs/light/libxl_types.idl          |  24 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/ocaml/libs/xl/genwrap.py            |   1 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   1 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   3 +
 tools/xl/xl_cmdtable.c                    |  15 ++
 tools/xl/xl_i2c.c                         | 142 ++++++++++++++
 tools/xl/xl_parse.c                       |  80 ++++++++
 tools/xl/xl_parse.h                       |   1 +
 tools/xl/xl_sxp.c                         |   2 +
 20 files changed, 699 insertions(+), 3 deletions(-)
 create mode 100644 tools/libs/light/libxl_i2c.c
 create mode 100644 tools/xl/xl_i2c.c

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index fa3cf2ab7658..4c7b60439bf0 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1221,6 +1221,9 @@ x.Usbdevice = C.GoString(tmp.usbdevice)
 if err := x.VkbDevice.fromC(&tmp.vkb_device);err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := x.I2cDevice.fromC(&tmp.i2c_device);err != nil {
+return fmt.Errorf("converting field I2cDevice: %v", err)
+}
 x.Soundhw = C.GoString(tmp.soundhw)
 if err := x.XenPlatformPci.fromC(&tmp.xen_platform_pci);err != nil {
 return fmt.Errorf("converting field XenPlatformPci: %v", err)
@@ -1538,6 +1541,9 @@ hvm.usbdevice = C.CString(tmp.Usbdevice)}
 if err := tmp.VkbDevice.toC(&hvm.vkb_device); err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := tmp.I2cDevice.toC(&hvm.i2c_device); err != nil {
+return fmt.Errorf("converting field I2cDevice: %v", err)
+}
 if tmp.Soundhw != "" {
 hvm.soundhw = C.CString(tmp.Soundhw)}
 if err := tmp.XenPlatformPci.toC(&hvm.xen_platform_pci); err != nil {
@@ -1734,6 +1740,46 @@ xc.multi_touch_num_contacts = C.uint32_t(x.MultiTouchNumContacts)
  return nil
  }
 
+// NewDeviceI2c returns an instance of DeviceI2c initialized with defaults.
+func NewDeviceI2c() (*DeviceI2c, error) {
+var (
+x DeviceI2c
+xc C.libxl_device_i2c)
+
+C.libxl_device_i2c_init(&xc)
+defer C.libxl_device_i2c_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *DeviceI2c) fromC(xc *C.libxl_device_i2c) error {
+ x.BackendDomid = Domid(xc.backend_domid)
+x.BackendDomname = C.GoString(xc.backend_domname)
+x.Devid = Devid(xc.devid)
+x.BackendType = I2cBackend(xc.backend_type)
+x.Irq = uint32(xc.irq)
+x.Base = uint64(xc.base)
+
+ return nil}
+
+func (x *DeviceI2c) toC(xc *C.libxl_device_i2c) (err error){defer func(){
+if err != nil{
+C.libxl_device_i2c_dispose(xc)}
+}()
+
+xc.backend_domid = C.libxl_domid(x.BackendDomid)
+if x.BackendDomname != "" {
+xc.backend_domname = C.CString(x.BackendDomname)}
+xc.devid = C.libxl_devid(x.Devid)
+xc.backend_type = C.libxl_i2c_backend(x.BackendType)
+xc.irq = C.uint32_t(x.Irq)
+xc.base = C.uint64_t(x.Base)
+
+ return nil
+ }
+
 // NewDeviceDisk returns an instance of DeviceDisk initialized with defaults.
 func NewDeviceDisk() (*DeviceDisk, error) {
 var (
@@ -2867,6 +2913,15 @@ if err := x.Vkbs[i].fromC(&v); err != nil {
 return fmt.Errorf("converting field Vkbs: %v", err) }
 }
 }
+x.I2cs = nil
+if n := int(xc.num_i2cs); n > 0 {
+cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:n:n]
+x.I2cs = make([]DeviceI2c, n)
+for i, v := range cI2cs {
+if err := x.I2cs[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field I2cs: %v", err) }
+}
+}
 x.Vtpms = nil
 if n := int(xc.num_vtpms); n > 0 {
 cVtpms := (*[1<<28]C.libxl_device_vtpm)(unsafe.Pointer(xc.vtpms))[:n:n]
@@ -3028,6 +3083,16 @@ return fmt.Errorf("converting field Vkbs: %v", err)
 }
 }
 }
+if numI2cs := len(x.I2cs); numI2cs > 0 {
+xc.i2cs = (*C.libxl_device_i2c)(C.malloc(C.ulong(numI2cs)*C.sizeof_libxl_device_i2c))
+xc.num_i2cs = C.int(numI2cs)
+cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:numI2cs:numI2cs]
+for i,v := range x.I2cs {
+if err := v.toC(&cI2cs[i]); err != nil {
+return fmt.Errorf("converting field I2cs: %v", err)
+}
+}
+}
 if numVtpms := len(x.Vtpms); numVtpms > 0 {
 xc.vtpms = (*C.libxl_device_vtpm)(C.malloc(C.ulong(numVtpms)*C.sizeof_libxl_device_vtpm))
 xc.num_vtpms = C.int(numVtpms)
@@ -3733,6 +3798,49 @@ xc.rref = C.int(x.Rref)
  return nil
  }
 
+// NewI2cinfo returns an instance of I2cinfo initialized with defaults.
+func NewI2cinfo() (*I2cinfo, error) {
+var (
+x I2cinfo
+xc C.libxl_i2cinfo)
+
+C.libxl_i2cinfo_init(&xc)
+defer C.libxl_i2cinfo_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *I2cinfo) fromC(xc *C.libxl_i2cinfo) error {
+ x.Backend = C.GoString(xc.backend)
+x.BackendId = uint32(xc.backend_id)
+x.Frontend = C.GoString(xc.frontend)
+x.FrontendId = uint32(xc.frontend_id)
+x.Devid = Devid(xc.devid)
+x.State = int(xc.state)
+x.Evtch = int(xc.evtch)
+x.Rref = int(xc.rref)
+
+ return nil}
+
+func (x *I2cinfo) toC(xc *C.libxl_i2cinfo) (err error){defer func(){
+if err != nil{
+C.libxl_i2cinfo_dispose(xc)}
+}()
+
+if x.Backend != "" {
+xc.backend = C.CString(x.Backend)}
+xc.backend_id = C.uint32_t(x.BackendId)
+if x.Frontend != "" {
+xc.frontend = C.CString(x.Frontend)}
+xc.frontend_id = C.uint32_t(x.FrontendId)
+xc.devid = C.libxl_devid(x.Devid)
+xc.state = C.int(x.State)
+
+ return nil
+ }
+
 // NewNumainfo returns an instance of Numainfo initialized with defaults.
 func NewNumainfo() (*Numainfo, error) {
 var (
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index a0be7ada8c63..f8d7e84d6180 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -255,6 +255,11 @@ VkbBackendQemu VkbBackend = 1
 VkbBackendLinux VkbBackend = 2
 )
 
+type I2cBackend int
+const(
+I2cBackendVirtio I2cBackend = 0
+)
+
 type Passthrough int
 const(
 PassthroughDefault Passthrough = 0
@@ -584,6 +589,7 @@ Usb Defbool
 Usbversion int
 Usbdevice string
 VkbDevice Defbool
+I2cDevice Defbool
 Soundhw string
 XenPlatformPci Defbool
 UsbdeviceList StringList
@@ -646,6 +652,15 @@ MultiTouchHeight uint32
 MultiTouchNumContacts uint32
 }
 
+type DeviceI2c struct {
+BackendDomid Domid
+BackendDomname string
+Devid Devid
+BackendType I2cBackend
+Irq uint32
+Base uint64
+}
+
 type DeviceDisk struct {
 BackendDomid Domid
 BackendDomname string
@@ -935,6 +950,7 @@ Rdms []DeviceRdm
 Dtdevs []DeviceDtdev
 Vfbs []DeviceVfb
 Vkbs []DeviceVkb
+I2cs []DeviceI2c
 Vtpms []DeviceVtpm
 P9S []DeviceP9
 Pvcallsifs []DevicePvcallsif
@@ -1091,6 +1107,17 @@ Evtch int
 Rref int
 }
 
+type I2cinfo struct {
+Backend string
+BackendId uint32
+Frontend string
+FrontendId uint32
+Devid Devid
+State int
+Evtch int
+Rref int
+}
+
 type Numainfo struct {
 Size uint64
 Free uint64
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2321a648a59a..ab18c0b8c794 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -829,6 +829,15 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_BUILDINFO_VKB_DEVICE 1
 
+/*
+ * LIBXL_HAVE_BUILDINFO_I2C_DEVICE
+ *
+ * If this is defined, then the libxl_domain_build_info structure will
+ * contain a boolean hvm.i2c_device which instructs libxl whether to include
+ * a i2c at build time or not.
+ */
+#define LIBXL_HAVE_BUILDINFO_I2C_DEVICE 1
+
 /*
  * LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
  *
@@ -2397,6 +2406,29 @@ int libxl_device_vkb_getinfo(libxl_ctx *ctx, uint32_t domid,
                              libxl_vkbinfo *vkbinfo)
                              LIBXL_EXTERNAL_CALLERS_ONLY;
 
+/* I2C */
+int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
+                         const libxl_asyncop_how *ao_how)
+                         LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_remove(libxl_ctx *ctx, uint32_t domid,
+                            libxl_device_i2c *i2c,
+                            const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_i2c *i2c,
+                             const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+
+libxl_device_i2c *libxl_device_i2c_list(libxl_ctx *ctx,
+                                        uint32_t domid, int *num)
+                                        LIBXL_EXTERNAL_CALLERS_ONLY;
+void libxl_device_i2c_list_free(libxl_device_i2c* list, int num)
+                                LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_i2c *i2c,
+                             libxl_i2cinfo *i2cinfo)
+                             LIBXL_EXTERNAL_CALLERS_ONLY;
+
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb,
                          const libxl_asyncop_how *ao_how)
diff --git a/tools/include/libxl_utils.h b/tools/include/libxl_utils.h
index 46918aea847f..72b7796b7e4b 100644
--- a/tools/include/libxl_utils.h
+++ b/tools/include/libxl_utils.h
@@ -83,6 +83,9 @@ int libxl_devid_to_device_usbctrl(libxl_ctx *ctx, uint32_t domid,
 int libxl_devid_to_device_vkb(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_vkb *vkb);
 
+int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_i2c *i2c);
+
 int libxl_devid_to_device_vdispl(libxl_ctx *ctx, uint32_t domid,
                                  int devid, libxl_device_vdispl *vdispl);
 
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 13545654c2fc..961bdd33297b 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -112,6 +112,7 @@ OBJS-y += libxl_vdispl.o
 OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
+OBJS-y += libxl_i2c.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index b9dd2deedf13..84fe9f80c8fe 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -375,6 +375,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         libxl_defbool_setdefault(&b_info->u.hvm.altp2m,             false);
         libxl_defbool_setdefault(&b_info->u.hvm.usb,                false);
         libxl_defbool_setdefault(&b_info->u.hvm.vkb_device,         true);
+        libxl_defbool_setdefault(&b_info->u.hvm.i2c_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.xen_platform_pci,   true);
 
         libxl_defbool_setdefault(&b_info->u.hvm.spice.enable, false);
@@ -1753,6 +1754,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_console console;
         libxl__device device;
         libxl_device_vkb vkb;
+        libxl_device_i2c i2c;
 
         init_console_info(gc, &console, 0);
         console.backend_domid = state->console_domid;
@@ -1765,6 +1767,12 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
             libxl_device_vkb_dispose(&vkb);
         }
 
+        if (libxl_defbool_val(d_config->b_info.u.hvm.i2c_device)) {
+            libxl_device_i2c_init(&i2c);
+            libxl__device_add(gc, domid, &libxl__i2c_devtype, &i2c);
+            libxl_device_i2c_dispose(&i2c);
+        }
+
         dcs->sdss.dm.guest_domid = domid;
         if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
             libxl__spawn_stub_dm(egc, &dcs->sdss);
@@ -1797,6 +1805,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
                               &d_config->vkbs[i]);
         }
 
+        for (i = 0; i < d_config->num_i2cs; i++) {
+            libxl__device_add(gc, domid, &libxl__i2c_devtype,
+                              &d_config->i2cs[i]);
+        }
+
         if (d_config->b_info.arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART) {
             init_console_info(gc, &vuart, 0);
             vuart.backend_domid = state->console_domid;
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 1864ee30f0a2..9340ae4628a2 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2095,7 +2095,8 @@ static void libxl__dm_vifs_from_hvm_guest_config(libxl__gc *gc,
 static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
                                         const libxl_domain_config *guest_config,
                                         libxl_device_vfb *vfb,
-                                        libxl_device_vkb *vkb)
+                                        libxl_device_vkb *vkb,
+                                        libxl_device_i2c *i2c)
 {
     const libxl_domain_build_info *b_info = &guest_config->b_info;
 
@@ -2104,6 +2105,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
 
     libxl_device_vfb_init(vfb);
     libxl_device_vkb_init(vkb);
+    libxl_device_i2c_init(i2c);
 
     vfb->backend_domid = 0;
     vfb->devid = 0;
@@ -2114,6 +2116,9 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
     vkb->backend_domid = 0;
     vkb->devid = 0;
 
+    i2c->backend_domid = 0;
+    i2c->devid = 0;
+
     return 0;
 }
 
@@ -2276,6 +2281,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
     int ret;
     libxl_device_vfb *vfb;
     libxl_device_vkb *vkb;
+    libxl_device_i2c *i2c;
     char **args;
     struct xs_permissions perm[2];
     xs_transaction_t t;
@@ -2348,11 +2354,14 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
         || libxl_defbool_val(guest_config->b_info.u.hvm.sdl.enable)) {
         GCNEW(vfb);
         GCNEW(vkb);
-        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb);
+        GCNEW(i2c);
+        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, i2c);
         dm_config->vfbs = vfb;
         dm_config->num_vfbs = 1;
         dm_config->vkbs = vkb;
         dm_config->num_vkbs = 1;
+        dm_config->i2cs = i2c;
+        dm_config->num_i2cs = 1;
     }
 
     if (guest_config->b_info.stubdomain_kernel &&
@@ -2494,6 +2503,12 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
         if (ret) goto out;
     }
 
+    if (dm_config->num_i2cs) {
+        ret = libxl__device_add(gc, dm_domid, &libxl__i2c_devtype,
+                                &dm_config->i2cs[0]);
+        if (ret) goto out;
+    }
+
     if (guest_config->b_info.u.hvm.serial) {
         num_console++;
     } else if (guest_config->b_info.u.hvm.serial_list) {
diff --git a/tools/libs/light/libxl_i2c.c b/tools/libs/light/libxl_i2c.c
new file mode 100644
index 000000000000..2c46351ce3a4
--- /dev/null
+++ b/tools/libs/light/libxl_i2c.c
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_i2c_setdefault(libxl__gc *gc, uint32_t domid,
+                                        libxl_device_i2c *i2c, bool hotplug)
+{
+    if (i2c->backend_type != LIBXL_I2C_BACKEND_VIRTIO) {
+        i2c->backend_type = LIBXL_I2C_BACKEND_VIRTIO;
+    }
+
+    return libxl__resolve_domid(gc, i2c->backend_domname, &i2c->backend_domid);
+}
+
+static int libxl__device_i2c_dm_needed(void *e, uint32_t domid)
+{
+    libxl_device_i2c *elem = e;
+
+    return elem->backend_type == LIBXL_I2C_BACKEND_VIRTIO;
+}
+
+static int libxl__set_xenstore_i2c(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_i2c *i2c,
+                                   flexarray_t *back, flexarray_t *front,
+                                   flexarray_t *ro_front)
+{
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", i2c->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", i2c->base));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", i2c->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", i2c->base));
+
+    return 0;
+}
+
+static int libxl__i2c_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                    libxl_devid devid,
+                                    libxl_device_i2c *i2c)
+{
+    const char *be_path, *fe_path, *tmp;
+    libxl__device dev;
+    int rc;
+
+    i2c->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/frontend", libxl_path),
+                                  &fe_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &i2c->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__parse_backend_path(gc, be_path, &dev);
+    if (rc) goto out;
+
+    i2c->backend_type = LIBXL_I2C_BACKEND_VIRTIO;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        i2c->irq = strtoul(tmp, NULL, 0);
+    }
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        i2c->base = strtoul(tmp, NULL, 0);
+    }
+
+    rc = 0;
+
+out:
+
+    return rc;
+}
+
+static int libxl__device_from_i2c(libxl__gc *gc, uint32_t domid,
+                                  libxl_device_i2c *type, libxl__device *device)
+{
+    device->backend_devid   = type->devid;
+    device->backend_domid   = type->backend_domid;
+    device->backend_kind    = LIBXL__DEVICE_KIND_I2C;
+    device->devid           = type->devid;
+    device->domid           = domid;
+    device->kind            = LIBXL__DEVICE_KIND_I2C;
+
+    return 0;
+}
+
+int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
+    rc = libxl__device_add(gc, domid, &libxl__i2c_devtype, i2c);
+    if (rc) {
+        LOGD(ERROR, domid, "Unable to add i2c device");
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, rc);
+    return AO_INPROGRESS;
+}
+
+int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_i2c *i2c)
+{
+    GC_INIT(ctx);
+
+    libxl_device_i2c *i2cs = NULL;
+    int n, i;
+    int rc;
+
+    libxl_device_i2c_init(i2c);
+
+    i2cs = libxl__device_list(gc, &libxl__i2c_devtype, domid, &n);
+
+    if (!i2cs) { rc = ERROR_NOTFOUND; goto out; }
+
+    for (i = 0; i < n; ++i) {
+        if (devid == i2cs[i].devid) {
+            libxl_device_i2c_copy(ctx, i2c, &i2cs[i]);
+            rc = 0;
+            goto out;
+        }
+    }
+
+    rc = ERROR_NOTFOUND;
+
+out:
+
+    if (i2cs)
+        libxl__device_list_free(&libxl__i2c_devtype, i2cs, n);
+
+    GC_FREE;
+    return rc;
+}
+
+int libxl_device_i2c_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_i2c *i2c,
+                             libxl_i2cinfo *info)
+{
+    GC_INIT(ctx);
+    char *libxl_path, *dompath, *devpath;
+    char *val;
+    int rc;
+
+    libxl_i2cinfo_init(info);
+    dompath = libxl__xs_get_dompath(gc, domid);
+    info->devid = i2c->devid;
+
+    devpath = libxl__domain_device_frontend_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_I2C);
+    libxl_path = libxl__domain_device_libxl_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_I2C);
+
+    info->backend = xs_read(ctx->xsh, XBT_NULL,
+                            GCSPRINTF("%s/backend", libxl_path),
+                            NULL);
+    if (!info->backend) { rc = ERROR_FAIL; goto out; }
+
+    rc = libxl__backendpath_parse_domid(gc, info->backend, &info->backend_id);
+    if (rc) goto out;
+
+    val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", devpath));
+    info->state = val ? strtoul(val, NULL, 10) : -1;
+
+    info->frontend = xs_read(ctx->xsh, XBT_NULL,
+                             GCSPRINTF("%s/frontend", libxl_path),
+                             NULL);
+    info->frontend_id = domid;
+
+    rc = 0;
+
+out:
+     GC_FREE;
+     return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(i2c)
+
+#define libxl__add_i2cs NULL
+#define libxl_device_i2c_compare NULL
+
+LIBXL_DEFINE_DEVICE_LIST(i2c)
+LIBXL_DEFINE_DEVICE_REMOVE(i2c)
+
+DEFINE_DEVICE_TYPE_STRUCT(i2c, I2C, i2cs,
+    .skip_attach = 1,
+    .dm_needed = libxl__device_i2c_dm_needed,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_i2c,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__i2c_from_xenstore
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index cb9e8b3b8b5a..a8904cfea427 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4003,6 +4003,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__i2c_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
 extern const libxl__device_type libxl__vtpm_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index d634f304cda2..014a3ea8364c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,10 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_i2c_backend = Enumeration("i2c_backend", [
+    (0, "VIRTIO")
+    ])
+
 libxl_passthrough = Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -626,6 +630,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        # - "mouse" for PS/2 protocol relative mouse
                                        ("usbdevice",        string),
                                        ("vkb_device",       libxl_defbool),
+                                       ("i2c_device",       libxl_defbool),
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ("usbdevice_list",   libxl_string_list),
@@ -705,6 +710,15 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_i2c = Struct("device_i2c", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("devid", libxl_devid),
+    ("backend_type", libxl_i2c_backend),
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_disk = Struct("device_disk", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -982,6 +996,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("i2cs", Array(libxl_device_i2c, "num_i2cs")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
     ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
@@ -1145,6 +1160,15 @@ libxl_vkbinfo = Struct("vkbinfo", [
     ("rref", integer)
     ], dir=DIR_OUT)
 
+libxl_i2cinfo = Struct("i2cinfo", [
+    ("backend", string),
+    ("backend_id", uint32),
+    ("frontend", string),
+    ("frontend_id", uint32),
+    ("devid", libxl_devid),
+    ("state", integer),
+    ], dir=DIR_OUT)
+
 # NUMA node characteristics: size and free are how much memory it has, and how
 # much of it is free, respectively. dists is an array of distances from this
 # node to each other node.
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index 8f71980aecf1..1d83c600aaaf 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (15, "VSND"),
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
+    (18, "I2C"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
index 7bf26bdcd831..a9db0b97d80f 100644
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
 functions = { # ( name , [type1,type2,....] )
     "device_vfb":     DEVICE_FUNCTIONS,
     "device_vkb":     DEVICE_FUNCTIONS,
+    "device_i2c":     DEVICE_FUNCTIONS,
     "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
                       [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
                         ("of_vdev",        ["ctx", "domid", "string", "t"]),
diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
index 45b8af61c74a..cdf473f4ed57 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
 DEVICE_ADDREMOVE(nic)
 DEVICE_ADDREMOVE(vfb)
 DEVICE_ADDREMOVE(vkb)
+DEVICE_ADDREMOVE(i2c)
 DEVICE_ADDREMOVE(pci)
 _DEVICE_ADDREMOVE(disk, cdrom, insert)
 
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index b7f439121a3a..06801962f11e 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -23,7 +23,7 @@ XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o
 XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
 XL_OBJS += xl_info.o xl_console.o xl_misc.o
 XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
-XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o
+XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_i2c.o
 
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
 $(XL_OBJS): CFLAGS += $(CFLAGS_XL)
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 7c9aff6ad7a6..28618326149e 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -176,6 +176,9 @@ int main_vsnddetach(int argc, char **argv);
 int main_vkbattach(int argc, char **argv);
 int main_vkblist(int argc, char **argv);
 int main_vkbdetach(int argc, char **argv);
+int main_i2cattach(int argc, char **argv);
+int main_i2clist(int argc, char **argv);
+int main_i2cdetach(int argc, char **argv);
 int main_usbctrl_attach(int argc, char **argv);
 int main_usbctrl_detach(int argc, char **argv);
 int main_usbdev_attach(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 35182ca19630..c409ab1578d4 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -406,6 +406,21 @@ const struct cmd_spec cmd_table[] = {
       "Destroy a domain's virtual keyboard device",
       "<Domain> <DevId>",
     },
+    { "i2c-attach",
+      &main_i2cattach, 1, 1,
+      "Create a new virtual i2c device",
+      "<Domain> <i2c-spec-component(s)>...",
+    },
+    { "i2c-list",
+      &main_i2clist, 0, 0,
+      "List virtual i2c devices for a domain",
+      "<Domain(s)>",
+    },
+    { "i2c-detach",
+      &main_i2cdetach, 0, 1,
+      "Destroy a domain's virtual i2c device",
+      "<Domain> <DevId>",
+    },
     { "vdispl-attach",
       &main_vdisplattach, 1, 1,
       "Create a new virtual display device",
diff --git a/tools/xl/xl_i2c.c b/tools/xl/xl_i2c.c
new file mode 100644
index 000000000000..463fac2d5836
--- /dev/null
+++ b/tools/xl/xl_i2c.c
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include <stdlib.h>
+
+#include <libxl.h>
+#include <libxl_utils.h>
+#include <libxlutil.h>
+
+#include "xl.h"
+#include "xl_utils.h"
+#include "xl_parse.h"
+
+int main_i2cattach(int argc, char **argv)
+{
+    int opt;
+    int rc;
+    uint32_t domid;
+    libxl_device_i2c i2c;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-attach", 2) {
+        /* No options */
+    }
+
+    libxl_device_i2c_init(&i2c);
+    domid = find_domain(argv[optind++]);
+
+    for (argv += optind, argc -= optind; argc > 0; ++argv, --argc) {
+        rc = parse_i2c_config(&i2c, *argv);
+        if (rc) goto out;
+    }
+
+    if (dryrun_only) {
+        char *json = libxl_device_i2c_to_json(ctx, &i2c);
+        printf("i2c: %s\n", json);
+        free(json);
+        goto done;
+    }
+
+    if (libxl_device_i2c_add(ctx, domid, &i2c, 0)) {
+        fprintf(stderr, "libxl_device_i2c_add failed.\n");
+        rc = ERROR_FAIL; goto out;
+    }
+
+done:
+    rc = 0;
+
+out:
+    libxl_device_i2c_dispose(&i2c);
+    return rc;
+}
+
+int main_i2clist(int argc, char **argv)
+{
+    int opt;
+    libxl_device_i2c *i2cs;
+    libxl_i2cinfo i2cinfo;
+    int nb, i;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-list", 1) {
+        /* No options */
+    }
+
+    /*      Idx  BE   Hdl  Sta  evch ref ID    BE-type BE-path */
+    printf("%-3s %-2s %-6s %-5s %-6s %6s %-10s %-10s %-30s\n",
+           "Idx", "BE", "handle", "state", "evt-ch", "ref",
+           "ID", "BE-type", "BE-path");
+    for (argv += optind, argc -= optind; argc > 0; --argc, ++argv) {
+        uint32_t domid = find_domain(*argv);
+        i2cs = libxl_device_i2c_list(ctx, domid, &nb);
+        if (!i2cs) {
+            continue;
+        }
+        for (i = 0; i < nb; ++i) {
+            if (libxl_device_i2c_getinfo(ctx, domid, &i2cs[i], &i2cinfo) == 0) {
+                printf("%-3d %-2d %6d %5d %-10s %-30s\n",
+                       i2cinfo.devid, i2cinfo.backend_id,
+                       i2cinfo.devid, i2cinfo.state,
+                       libxl_i2c_backend_to_string(i2cs[i].backend_type),
+                       i2cinfo.backend);
+                libxl_i2cinfo_dispose(&i2cinfo);
+            }
+        }
+        libxl_device_i2c_list_free(i2cs, nb);
+    }
+    return 0;
+}
+
+int main_i2cdetach(int argc, char **argv)
+{
+    uint32_t domid, devid;
+    int opt, rc;
+    libxl_device_i2c i2c;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-detach", 2) {
+        /* No options */
+    }
+
+    domid = find_domain(argv[optind++]);
+    devid = atoi(argv[optind++]);
+
+    libxl_device_i2c_init(&i2c);
+
+    if (libxl_devid_to_device_i2c(ctx, domid, devid, &i2c)) {
+        fprintf(stderr, "Error: Device %d not connected.\n", devid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl_device_i2c_remove(ctx, domid, &i2c, 0);
+    if (rc) {
+        fprintf(stderr, "libxl_device_i2c_remove failed.\n");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = 0;
+
+out:
+    libxl_device_i2c_dispose(&i2c);
+    return rc;
+}
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 1b5381cef033..b91ffba14d40 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,74 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+int parse_i2c_config(libxl_device_i2c *i2c, char *token)
+{
+    char *oparg;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        i2c->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("backend-type", token, oparg)) {
+        libxl_i2c_backend backend_type;
+        if (libxl_i2c_backend_from_string(oparg, &backend_type)) {
+            fprintf(stderr, "Unknown backend_type \"%s\" in i2c spec\n",
+                            oparg);
+            return -1;
+        }
+        i2c->backend_type = backend_type;
+    } else if (MATCH_OPTION("irq", token, oparg)) {
+        i2c->irq = strtoul(oparg, NULL, 0);
+    } else if (MATCH_OPTION("base", token, oparg)) {
+        i2c->base = strtoul(oparg, NULL, 0);
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in i2c spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_i2c_list(const XLU_Config *config,
+                           libxl_domain_config *d_config)
+{
+    XLU_ConfigList *i2cs;
+    const char *item;
+    char *buf = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "i2c", &i2cs, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(i2cs, entry)) != NULL) {
+            libxl_device_i2c *i2c;
+            char *p;
+
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs,
+                                    d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
+            buf = strdup(item);
+
+            p = strtok (buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                rc = parse_i2c_config(i2c, p);
+                if (rc) goto out;
+
+                p = strtok (NULL, ",");
+            }
+
+            entry++;
+        }
+    }
+
+    rc = 0;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 void parse_config_data(const char *config_source,
                        const char *config_data,
                        int config_len,
@@ -2309,13 +2377,16 @@ void parse_config_data(const char *config_source,
 
     d_config->num_vfbs = 0;
     d_config->num_vkbs = 0;
+    d_config->num_i2cs = 0;
     d_config->vfbs = NULL;
     d_config->vkbs = NULL;
+    d_config->i2cs = NULL;
 
     if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
         while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_i2c *i2c;
 
             char *buf2 = strdup(buf);
             char *p, *p2;
@@ -2326,6 +2397,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
             p = strtok(buf2, ",");
             if (!p)
                 goto skip_vfb;
@@ -2583,6 +2657,7 @@ void parse_config_data(const char *config_source,
         if (vnc_enabled) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_i2c *i2c;
 
             vfb = ARRAY_EXTEND_INIT(d_config->vfbs, d_config->num_vfbs,
                                     libxl_device_vfb_init);
@@ -2590,6 +2665,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
             parse_top_level_vnc_options(config, &vfb->vnc);
             parse_top_level_sdl_options(config, &vfb->sdl);
             xlu_cfg_replace_string (config, "keymap", &vfb->keymap, 0);
@@ -2704,6 +2782,7 @@ void parse_config_data(const char *config_source,
             exit(-ERROR_FAIL);
         }
         xlu_cfg_get_defbool(config, "vkb_device", &b_info->u.hvm.vkb_device, 0);
+        xlu_cfg_get_defbool(config, "i2c_device", &b_info->u.hvm.i2c_device, 0);
         xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
         xlu_cfg_get_defbool(config, "xen_platform_pci",
                             &b_info->u.hvm.xen_platform_pci, 0);
@@ -2752,6 +2831,7 @@ void parse_config_data(const char *config_source,
     }
 
     parse_vkb_list(config, d_config);
+    parse_i2c_list(config, d_config);
 
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
                         &c_info->xend_suspend_evtchn_compat, 0);
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index bab2861f8c3e..4b972d525199 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -36,6 +36,7 @@ int parse_nic_config(libxl_device_nic *nic, XLU_Config **config, char *token);
 int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token);
 int parse_vsnd_item(libxl_device_vsnd *vsnd, const char *spec);
 int parse_vkb_config(libxl_device_vkb *vkb, char *token);
+int parse_i2c_config(libxl_device_i2c *i2c, char *token);
 
 int match_option_size(const char *prefix, size_t len,
                       char *arg, char **argopt);
diff --git a/tools/xl/xl_sxp.c b/tools/xl/xl_sxp.c
index 359a0015709e..a44c765aa515 100644
--- a/tools/xl/xl_sxp.c
+++ b/tools/xl/xl_sxp.c
@@ -140,6 +140,8 @@ void printf_info_sexp(int domid, libxl_domain_config *d_config, FILE *fh)
         fprintf(fh, "\t\t\t(usbdevice %s)\n", b_info->u.hvm.usbdevice);
         fprintf(fh, "\t\t\t(vkb_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vkb_device));
+        fprintf(fh, "\t\t\t(i2c_device %s)\n",
+               libxl_defbool_to_string(b_info->u.hvm.i2c_device));
         fprintf(fh, "\t\t)\n");
         break;
     case LIBXL_DOMAIN_TYPE_PV:
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 07:02:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 07:02:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380189.614239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUs2-0000GI-0d; Thu, 04 Aug 2022 07:02:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380189.614239; Thu, 04 Aug 2022 07:02:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUs1-0000G8-Sk; Thu, 04 Aug 2022 07:02:13 +0000
Received: by outflank-mailman (input) for mailman id 380189;
 Thu, 04 Aug 2022 07:02:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wk0C=YI=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oJUs0-000883-Cu
 for xen-devel@lists.xen.org; Thu, 04 Aug 2022 07:02:12 +0000
Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com
 [2607:f8b0:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b335924-13c3-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 09:02:09 +0200 (CEST)
Received: by mail-pg1-x52c.google.com with SMTP id q16so17171115pgq.6
 for <xen-devel@lists.xen.org>; Thu, 04 Aug 2022 00:02:09 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 c137-20020a624e8f000000b0052859441ad3sm40259pfb.214.2022.08.04.00.02.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 00:02:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b335924-13c3-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=P4kqj2jADnNbmqdjtfqu3TdDmLlLN1dIEeugaQ81KuY=;
        b=pQTa1poEm0NEyC3F6Cj203J2MOskG7YJRSLRBzeurJEyW1zIdB7Of25gQH+ZorCA2L
         W4RQ8i21nn/2dXlK6wQbkobOY2Ea7zqxX+/1seTFAREb3HH48pbvAWumbneWGX/bT9pc
         NvuUmcouR2opiUuf+MwZeGAb54NG81trDQb7EDycGx72lnAchgKIJOj0TUDpuiCOfKb3
         zmoqBjFOc2LGOds3dI9OLpUL32tHN74kWnK4d23OymSjWqMkd7auoXAK/7ovtRvuAFVr
         U5X6N9yx4zeaX/RouEsHubQx49V8lM6bJJH6zB5h1LeImEL8GrK+hYYl5uC/w4ZFKwAh
         YFpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=P4kqj2jADnNbmqdjtfqu3TdDmLlLN1dIEeugaQ81KuY=;
        b=t1aV3UPaFK8Yh6/+OGNm/YpjQmfJY0Ib7b93AsEtYLndRVeMVJJeqYqo5Wws0RAsMR
         slAv5YgGGF0nJQHCPsQ4jOj1alU9ZXOf3sEDXH6ExIevMNQ+8aB05Sjrcp5j51r2OzRw
         RZgpamOp1S7v+526SI1wQqxgg2AbfcQBwdHSkq11GWi44ru0BKOXBwhJRKF8CoIj7UHe
         9zkjika9Nl5t6M3SjIa9b5OV4wXE/zclPZDfrUDaqVj9tUjbmvwETpM6TeQaGjbuc/wE
         SiwsYXB27nhKWvGrFBQQ0ZiW77j2+XWzr+CXJ1tmY7VH27b0RpiJaF9lz9WiT5A9cwmw
         ektA==
X-Gm-Message-State: ACgBeo0QHOeZYNPfGgd6nYOxmfvPOvPt2OnrelhAQIumtB+3ts9H985q
	NV3O6ZE13ha4t4J7k5DlE1vKHk0NjO4iDg==
X-Google-Smtp-Source: AA6agR4eanw+Z7+wPffMHwz9AKakvaTKBPOF0440rRrZP7ddsEoLCXdikFtPl3ldID4olqskSkwJTQ==
X-Received: by 2002:a63:10c:0:b0:41b:b4ba:d5da with SMTP id 12-20020a63010c000000b0041bb4bad5damr532648pgb.322.1659596527914;
        Thu, 04 Aug 2022 00:02:07 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V3 2/6] libxl: Add support for Virtio GPIO device
Date: Thu,  4 Aug 2022 12:31:50 +0530
Message-Id: <ef815025eda7018cd713f13eb0d6a540e9deae9f.1659596139.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1659596139.git.viresh.kumar@linaro.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting virtio-mmio
based virtio-gpio backend (emualator) which is intended to run out of
Qemu and could be run in any domain.

An example of domain configuration for Virtio Gpio:
gpio = [ "" ]

Please note, this patch is not enough for virtio-gpio to work on Xen
(Arm), as for every Virtio device we need to allocate Virtio MMIO params
(IRQ and memory region) and pass them to the backend, also update Guest
device-tree. A subsequent patch will add these missing bits. For the
current patch, the default "irq" and "base" are just written to the
Xenstore.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/golang/xenlight/helpers.gen.go      | 108 ++++++++++-
 tools/golang/xenlight/types.gen.go        |  27 +++
 tools/include/libxl.h                     |  32 +++
 tools/include/libxl_utils.h               |   3 +
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_create.c           |  13 ++
 tools/libs/light/libxl_dm.c               |  17 +-
 tools/libs/light/libxl_gpio.c             | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   1 +
 tools/libs/light/libxl_types.idl          |  24 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/ocaml/libs/xl/genwrap.py            |   1 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   1 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   3 +
 tools/xl/xl_cmdtable.c                    |  15 ++
 tools/xl/xl_gpio.c                        | 142 ++++++++++++++
 tools/xl/xl_parse.c                       |  80 ++++++++
 tools/xl/xl_parse.h                       |   1 +
 tools/xl/xl_sxp.c                         |   2 +
 20 files changed, 696 insertions(+), 4 deletions(-)
 create mode 100644 tools/libs/light/libxl_gpio.c
 create mode 100644 tools/xl/xl_gpio.c

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 4c7b60439bf0..2f41ace71c61 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1221,6 +1221,9 @@ x.Usbdevice = C.GoString(tmp.usbdevice)
 if err := x.VkbDevice.fromC(&tmp.vkb_device);err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := x.GpioDevice.fromC(&tmp.gpio_device);err != nil {
+return fmt.Errorf("converting field GpioDevice: %v", err)
+}
 if err := x.I2cDevice.fromC(&tmp.i2c_device);err != nil {
 return fmt.Errorf("converting field I2cDevice: %v", err)
 }
@@ -1541,6 +1544,9 @@ hvm.usbdevice = C.CString(tmp.Usbdevice)}
 if err := tmp.VkbDevice.toC(&hvm.vkb_device); err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := tmp.GpioDevice.toC(&hvm.gpio_device); err != nil {
+return fmt.Errorf("converting field GpioDevice: %v", err)
+}
 if err := tmp.I2cDevice.toC(&hvm.i2c_device); err != nil {
 return fmt.Errorf("converting field I2cDevice: %v", err)
 }
@@ -1740,6 +1746,46 @@ xc.multi_touch_num_contacts = C.uint32_t(x.MultiTouchNumContacts)
  return nil
  }
 
+// NewDeviceGpio returns an instance of DeviceGpio initialized with defaults.
+func NewDeviceGpio() (*DeviceGpio, error) {
+var (
+x DeviceGpio
+xc C.libxl_device_gpio)
+
+C.libxl_device_gpio_init(&xc)
+defer C.libxl_device_gpio_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *DeviceGpio) fromC(xc *C.libxl_device_gpio) error {
+ x.BackendDomid = Domid(xc.backend_domid)
+x.BackendDomname = C.GoString(xc.backend_domname)
+x.Devid = Devid(xc.devid)
+x.BackendType = GpioBackend(xc.backend_type)
+x.Irq = uint32(xc.irq)
+x.Base = uint64(xc.base)
+
+ return nil}
+
+func (x *DeviceGpio) toC(xc *C.libxl_device_gpio) (err error){defer func(){
+if err != nil{
+C.libxl_device_gpio_dispose(xc)}
+}()
+
+xc.backend_domid = C.libxl_domid(x.BackendDomid)
+if x.BackendDomname != "" {
+xc.backend_domname = C.CString(x.BackendDomname)}
+xc.devid = C.libxl_devid(x.Devid)
+xc.backend_type = C.libxl_gpio_backend(x.BackendType)
+xc.irq = C.uint32_t(x.Irq)
+xc.base = C.uint64_t(x.Base)
+
+ return nil
+ }
+
 // NewDeviceI2c returns an instance of DeviceI2c initialized with defaults.
 func NewDeviceI2c() (*DeviceI2c, error) {
 var (
@@ -2913,6 +2959,15 @@ if err := x.Vkbs[i].fromC(&v); err != nil {
 return fmt.Errorf("converting field Vkbs: %v", err) }
 }
 }
+x.Gpios = nil
+if n := int(xc.num_gpios); n > 0 {
+cGpios := (*[1<<28]C.libxl_device_gpio)(unsafe.Pointer(xc.gpios))[:n:n]
+x.Gpios = make([]DeviceGpio, n)
+for i, v := range cGpios {
+if err := x.Gpios[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field Gpios: %v", err) }
+}
+}
 x.I2cs = nil
 if n := int(xc.num_i2cs); n > 0 {
 cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:n:n]
@@ -3083,6 +3138,16 @@ return fmt.Errorf("converting field Vkbs: %v", err)
 }
 }
 }
+if numGpios := len(x.Gpios); numGpios > 0 {
+xc.gpios = (*C.libxl_device_gpio)(C.malloc(C.ulong(numGpios)*C.sizeof_libxl_device_gpio))
+xc.num_gpios = C.int(numGpios)
+cGpios := (*[1<<28]C.libxl_device_gpio)(unsafe.Pointer(xc.gpios))[:numGpios:numGpios]
+for i,v := range x.Gpios {
+if err := v.toC(&cGpios[i]); err != nil {
+return fmt.Errorf("converting field Gpios: %v", err)
+}
+}
+}
 if numI2cs := len(x.I2cs); numI2cs > 0 {
 xc.i2cs = (*C.libxl_device_i2c)(C.malloc(C.ulong(numI2cs)*C.sizeof_libxl_device_i2c))
 xc.num_i2cs = C.int(numI2cs)
@@ -3798,6 +3863,47 @@ xc.rref = C.int(x.Rref)
  return nil
  }
 
+// NewGpioinfo returns an instance of Gpioinfo initialized with defaults.
+func NewGpioinfo() (*Gpioinfo, error) {
+var (
+x Gpioinfo
+xc C.libxl_gpioinfo)
+
+C.libxl_gpioinfo_init(&xc)
+defer C.libxl_gpioinfo_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *Gpioinfo) fromC(xc *C.libxl_gpioinfo) error {
+ x.Backend = C.GoString(xc.backend)
+x.BackendId = uint32(xc.backend_id)
+x.Frontend = C.GoString(xc.frontend)
+x.FrontendId = uint32(xc.frontend_id)
+x.Devid = Devid(xc.devid)
+x.State = int(xc.state)
+
+ return nil}
+
+func (x *Gpioinfo) toC(xc *C.libxl_gpioinfo) (err error){defer func(){
+if err != nil{
+C.libxl_gpioinfo_dispose(xc)}
+}()
+
+if x.Backend != "" {
+xc.backend = C.CString(x.Backend)}
+xc.backend_id = C.uint32_t(x.BackendId)
+if x.Frontend != "" {
+xc.frontend = C.CString(x.Frontend)}
+xc.frontend_id = C.uint32_t(x.FrontendId)
+xc.devid = C.libxl_devid(x.Devid)
+xc.state = C.int(x.State)
+
+ return nil
+ }
+
 // NewI2cinfo returns an instance of I2cinfo initialized with defaults.
 func NewI2cinfo() (*I2cinfo, error) {
 var (
@@ -3819,8 +3925,6 @@ x.Frontend = C.GoString(xc.frontend)
 x.FrontendId = uint32(xc.frontend_id)
 x.Devid = Devid(xc.devid)
 x.State = int(xc.state)
-x.Evtch = int(xc.evtch)
-x.Rref = int(xc.rref)
 
  return nil}
 
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index f8d7e84d6180..5a4656035cd1 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -255,6 +255,11 @@ VkbBackendQemu VkbBackend = 1
 VkbBackendLinux VkbBackend = 2
 )
 
+type GpioBackend int
+const(
+GpioBackendVirtio GpioBackend = 0
+)
+
 type I2cBackend int
 const(
 I2cBackendVirtio I2cBackend = 0
@@ -589,6 +594,7 @@ Usb Defbool
 Usbversion int
 Usbdevice string
 VkbDevice Defbool
+GpioDevice Defbool
 I2cDevice Defbool
 Soundhw string
 XenPlatformPci Defbool
@@ -652,6 +658,15 @@ MultiTouchHeight uint32
 MultiTouchNumContacts uint32
 }
 
+type DeviceGpio struct {
+BackendDomid Domid
+BackendDomname string
+Devid Devid
+BackendType GpioBackend
+Irq uint32
+Base uint64
+}
+
 type DeviceI2c struct {
 BackendDomid Domid
 BackendDomname string
@@ -950,6 +965,7 @@ Rdms []DeviceRdm
 Dtdevs []DeviceDtdev
 Vfbs []DeviceVfb
 Vkbs []DeviceVkb
+Gpios []DeviceGpio
 I2cs []DeviceI2c
 Vtpms []DeviceVtpm
 P9S []DeviceP9
@@ -1107,6 +1123,17 @@ Evtch int
 Rref int
 }
 
+type Gpioinfo struct {
+Backend string
+BackendId uint32
+Frontend string
+FrontendId uint32
+Devid Devid
+State int
+Evtch int
+Rref int
+}
+
 type I2cinfo struct {
 Backend string
 BackendId uint32
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index ab18c0b8c794..3bbb6d031372 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -829,6 +829,15 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_BUILDINFO_VKB_DEVICE 1
 
+/*
+ * LIBXL_HAVE_BUILDINFO_GPIO_DEVICE
+ *
+ * If this is defined, then the libxl_domain_build_info structure will
+ * contain a boolean hvm.gpio_device which instructs libxl whether to include
+ * a gpio at build time or not.
+ */
+#define LIBXL_HAVE_BUILDINFO_GPIO_DEVICE 1
+
 /*
  * LIBXL_HAVE_BUILDINFO_I2C_DEVICE
  *
@@ -2406,6 +2415,29 @@ int libxl_device_vkb_getinfo(libxl_ctx *ctx, uint32_t domid,
                              libxl_vkbinfo *vkbinfo)
                              LIBXL_EXTERNAL_CALLERS_ONLY;
 
+/* GPIO */
+int libxl_device_gpio_add(libxl_ctx *ctx, uint32_t domid, libxl_device_gpio *gpio,
+                         const libxl_asyncop_how *ao_how)
+                         LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_remove(libxl_ctx *ctx, uint32_t domid,
+                            libxl_device_gpio *gpio,
+                            const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_gpio *gpio,
+                             const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+
+libxl_device_gpio *libxl_device_gpio_list(libxl_ctx *ctx,
+                                        uint32_t domid, int *num)
+                                        LIBXL_EXTERNAL_CALLERS_ONLY;
+void libxl_device_gpio_list_free(libxl_device_gpio* list, int num)
+                                LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_gpio *gpio,
+                             libxl_gpioinfo *gpioinfo)
+                             LIBXL_EXTERNAL_CALLERS_ONLY;
+
 /* I2C */
 int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
                          const libxl_asyncop_how *ao_how)
diff --git a/tools/include/libxl_utils.h b/tools/include/libxl_utils.h
index 72b7796b7e4b..91f5c68172cb 100644
--- a/tools/include/libxl_utils.h
+++ b/tools/include/libxl_utils.h
@@ -83,6 +83,9 @@ int libxl_devid_to_device_usbctrl(libxl_ctx *ctx, uint32_t domid,
 int libxl_devid_to_device_vkb(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_vkb *vkb);
 
+int libxl_devid_to_device_gpio(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_gpio *gpio);
+
 int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_i2c *i2c);
 
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 961bdd33297b..7fae83100829 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -113,6 +113,7 @@ OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
 OBJS-y += libxl_i2c.o
+OBJS-y += libxl_gpio.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 84fe9f80c8fe..98a27ff8c005 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -375,6 +375,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         libxl_defbool_setdefault(&b_info->u.hvm.altp2m,             false);
         libxl_defbool_setdefault(&b_info->u.hvm.usb,                false);
         libxl_defbool_setdefault(&b_info->u.hvm.vkb_device,         true);
+        libxl_defbool_setdefault(&b_info->u.hvm.gpio_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.i2c_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.xen_platform_pci,   true);
 
@@ -1754,6 +1755,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_console console;
         libxl__device device;
         libxl_device_vkb vkb;
+        libxl_device_gpio gpio;
         libxl_device_i2c i2c;
 
         init_console_info(gc, &console, 0);
@@ -1767,6 +1769,12 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
             libxl_device_vkb_dispose(&vkb);
         }
 
+        if (libxl_defbool_val(d_config->b_info.u.hvm.gpio_device)) {
+            libxl_device_gpio_init(&gpio);
+            libxl__device_add(gc, domid, &libxl__gpio_devtype, &gpio);
+            libxl_device_gpio_dispose(&gpio);
+        }
+
         if (libxl_defbool_val(d_config->b_info.u.hvm.i2c_device)) {
             libxl_device_i2c_init(&i2c);
             libxl__device_add(gc, domid, &libxl__i2c_devtype, &i2c);
@@ -1805,6 +1813,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
                               &d_config->vkbs[i]);
         }
 
+        for (i = 0; i < d_config->num_gpios; i++) {
+            libxl__device_add(gc, domid, &libxl__gpio_devtype,
+                              &d_config->gpios[i]);
+        }
+
         for (i = 0; i < d_config->num_i2cs; i++) {
             libxl__device_add(gc, domid, &libxl__i2c_devtype,
                               &d_config->i2cs[i]);
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 9340ae4628a2..124b73f1dd00 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2096,6 +2096,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
                                         const libxl_domain_config *guest_config,
                                         libxl_device_vfb *vfb,
                                         libxl_device_vkb *vkb,
+                                        libxl_device_gpio *gpio,
                                         libxl_device_i2c *i2c)
 {
     const libxl_domain_build_info *b_info = &guest_config->b_info;
@@ -2105,6 +2106,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
 
     libxl_device_vfb_init(vfb);
     libxl_device_vkb_init(vkb);
+    libxl_device_gpio_init(gpio);
     libxl_device_i2c_init(i2c);
 
     vfb->backend_domid = 0;
@@ -2116,6 +2118,9 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
     vkb->backend_domid = 0;
     vkb->devid = 0;
 
+    gpio->backend_domid = 0;
+    gpio->devid = 0;
+
     i2c->backend_domid = 0;
     i2c->devid = 0;
 
@@ -2281,6 +2286,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
     int ret;
     libxl_device_vfb *vfb;
     libxl_device_vkb *vkb;
+    libxl_device_gpio *gpio;
     libxl_device_i2c *i2c;
     char **args;
     struct xs_permissions perm[2];
@@ -2354,12 +2360,15 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
         || libxl_defbool_val(guest_config->b_info.u.hvm.sdl.enable)) {
         GCNEW(vfb);
         GCNEW(vkb);
+        GCNEW(gpio);
         GCNEW(i2c);
-        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, i2c);
+        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, gpio, i2c);
         dm_config->vfbs = vfb;
         dm_config->num_vfbs = 1;
         dm_config->vkbs = vkb;
         dm_config->num_vkbs = 1;
+        dm_config->gpios = gpio;
+        dm_config->num_gpios = 1;
         dm_config->i2cs = i2c;
         dm_config->num_i2cs = 1;
     }
@@ -2503,6 +2512,12 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
         if (ret) goto out;
     }
 
+    if (dm_config->num_gpios) {
+        ret = libxl__device_add(gc, dm_domid, &libxl__gpio_devtype,
+                                &dm_config->gpios[0]);
+        if (ret) goto out;
+    }
+
     if (dm_config->num_i2cs) {
         ret = libxl__device_add(gc, dm_domid, &libxl__i2c_devtype,
                                 &dm_config->i2cs[0]);
diff --git a/tools/libs/light/libxl_gpio.c b/tools/libs/light/libxl_gpio.c
new file mode 100644
index 000000000000..1597f0ac7cea
--- /dev/null
+++ b/tools/libs/light/libxl_gpio.c
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_gpio_setdefault(libxl__gc *gc, uint32_t domid,
+                                        libxl_device_gpio *gpio, bool hotplug)
+{
+    if (gpio->backend_type != LIBXL_GPIO_BACKEND_VIRTIO) {
+        gpio->backend_type = LIBXL_GPIO_BACKEND_VIRTIO;
+    }
+
+    return libxl__resolve_domid(gc, gpio->backend_domname, &gpio->backend_domid);
+}
+
+static int libxl__device_gpio_dm_needed(void *e, uint32_t domid)
+{
+    libxl_device_gpio *elem = e;
+
+    return elem->backend_type == LIBXL_GPIO_BACKEND_VIRTIO;
+}
+
+static int libxl__set_xenstore_gpio(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_gpio *gpio,
+                                   flexarray_t *back, flexarray_t *front,
+                                   flexarray_t *ro_front)
+{
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", gpio->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", gpio->base));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", gpio->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", gpio->base));
+
+    return 0;
+}
+
+static int libxl__gpio_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                    libxl_devid devid,
+                                    libxl_device_gpio *gpio)
+{
+    const char *be_path, *fe_path, *tmp;
+    libxl__device dev;
+    int rc;
+
+    gpio->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/frontend", libxl_path),
+                                  &fe_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &gpio->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__parse_backend_path(gc, be_path, &dev);
+    if (rc) goto out;
+
+    gpio->backend_type = LIBXL_GPIO_BACKEND_VIRTIO;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        gpio->irq = strtoul(tmp, NULL, 0);
+    }
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        gpio->base = strtoul(tmp, NULL, 0);
+    }
+
+    rc = 0;
+
+out:
+
+    return rc;
+}
+
+static int libxl__device_from_gpio(libxl__gc *gc, uint32_t domid,
+                                  libxl_device_gpio *type, libxl__device *device)
+{
+    device->backend_devid   = type->devid;
+    device->backend_domid   = type->backend_domid;
+    device->backend_kind    = LIBXL__DEVICE_KIND_GPIO;
+    device->devid           = type->devid;
+    device->domid           = domid;
+    device->kind            = LIBXL__DEVICE_KIND_GPIO;
+
+    return 0;
+}
+
+int libxl_device_gpio_add(libxl_ctx *ctx, uint32_t domid, libxl_device_gpio *gpio,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
+    rc = libxl__device_add(gc, domid, &libxl__gpio_devtype, gpio);
+    if (rc) {
+        LOGD(ERROR, domid, "Unable to add gpio device");
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, rc);
+    return AO_INPROGRESS;
+}
+
+int libxl_devid_to_device_gpio(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_gpio *gpio)
+{
+    GC_INIT(ctx);
+
+    libxl_device_gpio *gpios = NULL;
+    int n, i;
+    int rc;
+
+    libxl_device_gpio_init(gpio);
+
+    gpios = libxl__device_list(gc, &libxl__gpio_devtype, domid, &n);
+
+    if (!gpios) { rc = ERROR_NOTFOUND; goto out; }
+
+    for (i = 0; i < n; ++i) {
+        if (devid == gpios[i].devid) {
+            libxl_device_gpio_copy(ctx, gpio, &gpios[i]);
+            rc = 0;
+            goto out;
+        }
+    }
+
+    rc = ERROR_NOTFOUND;
+
+out:
+
+    if (gpios)
+        libxl__device_list_free(&libxl__gpio_devtype, gpios, n);
+
+    GC_FREE;
+    return rc;
+}
+
+int libxl_device_gpio_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_gpio *gpio,
+                             libxl_gpioinfo *info)
+{
+    GC_INIT(ctx);
+    char *libxl_path, *dompath, *devpath;
+    char *val;
+    int rc;
+
+    libxl_gpioinfo_init(info);
+    dompath = libxl__xs_get_dompath(gc, domid);
+    info->devid = gpio->devid;
+
+    devpath = libxl__domain_device_frontend_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_GPIO);
+    libxl_path = libxl__domain_device_libxl_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_GPIO);
+
+    info->backend = xs_read(ctx->xsh, XBT_NULL,
+                            GCSPRINTF("%s/backend", libxl_path),
+                            NULL);
+    if (!info->backend) { rc = ERROR_FAIL; goto out; }
+
+    rc = libxl__backendpath_parse_domid(gc, info->backend, &info->backend_id);
+    if (rc) goto out;
+
+    val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", devpath));
+    info->state = val ? strtoul(val, NULL, 10) : -1;
+
+    info->frontend = xs_read(ctx->xsh, XBT_NULL,
+                             GCSPRINTF("%s/frontend", libxl_path),
+                             NULL);
+    info->frontend_id = domid;
+
+    rc = 0;
+
+out:
+     GC_FREE;
+     return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(gpio)
+
+#define libxl__add_gpios NULL
+#define libxl_device_gpio_compare NULL
+
+LIBXL_DEFINE_DEVICE_LIST(gpio)
+LIBXL_DEFINE_DEVICE_REMOVE(gpio)
+
+DEFINE_DEVICE_TYPE_STRUCT(gpio, GPIO, gpios,
+    .skip_attach = 1,
+    .dm_needed = libxl__device_gpio_dm_needed,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_gpio,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__gpio_from_xenstore
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index a8904cfea427..a64d0cb63179 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4003,6 +4003,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__gpio_devtype;
 extern const libxl__device_type libxl__i2c_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 014a3ea8364c..4c476a325e9d 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,10 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_gpio_backend = Enumeration("gpio_backend", [
+    (0, "VIRTIO")
+    ])
+
 libxl_i2c_backend = Enumeration("i2c_backend", [
     (0, "VIRTIO")
     ])
@@ -630,6 +634,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        # - "mouse" for PS/2 protocol relative mouse
                                        ("usbdevice",        string),
                                        ("vkb_device",       libxl_defbool),
+                                       ("gpio_device",       libxl_defbool),
                                        ("i2c_device",       libxl_defbool),
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
@@ -710,6 +715,15 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_gpio = Struct("device_gpio", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("devid", libxl_devid),
+    ("backend_type", libxl_gpio_backend),
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_i2c = Struct("device_i2c", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -996,6 +1010,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("gpios", Array(libxl_device_gpio, "num_gpios")),
     ("i2cs", Array(libxl_device_i2c, "num_i2cs")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
@@ -1160,6 +1175,15 @@ libxl_vkbinfo = Struct("vkbinfo", [
     ("rref", integer)
     ], dir=DIR_OUT)
 
+libxl_gpioinfo = Struct("gpioinfo", [
+    ("backend", string),
+    ("backend_id", uint32),
+    ("frontend", string),
+    ("frontend_id", uint32),
+    ("devid", libxl_devid),
+    ("state", integer),
+    ], dir=DIR_OUT)
+
 libxl_i2cinfo = Struct("i2cinfo", [
     ("backend", string),
     ("backend_id", uint32),
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index 1d83c600aaaf..253faedf235f 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -34,6 +34,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
     (18, "I2C"),
+    (19, "GPIO"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
index a9db0b97d80f..ffab4b362d2a 100644
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
 functions = { # ( name , [type1,type2,....] )
     "device_vfb":     DEVICE_FUNCTIONS,
     "device_vkb":     DEVICE_FUNCTIONS,
+    "device_gpio":     DEVICE_FUNCTIONS,
     "device_i2c":     DEVICE_FUNCTIONS,
     "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
                       [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
index cdf473f4ed57..0114cc22a1b6 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
 DEVICE_ADDREMOVE(nic)
 DEVICE_ADDREMOVE(vfb)
 DEVICE_ADDREMOVE(vkb)
+DEVICE_ADDREMOVE(gpio)
 DEVICE_ADDREMOVE(i2c)
 DEVICE_ADDREMOVE(pci)
 _DEVICE_ADDREMOVE(disk, cdrom, insert)
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index 06801962f11e..34ff203bfd86 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -23,7 +23,7 @@ XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o
 XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
 XL_OBJS += xl_info.o xl_console.o xl_misc.o
 XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
-XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_i2c.o
+XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_gpio.o xl_i2c.o
 
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
 $(XL_OBJS): CFLAGS += $(CFLAGS_XL)
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 28618326149e..dfa557077631 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -176,6 +176,9 @@ int main_vsnddetach(int argc, char **argv);
 int main_vkbattach(int argc, char **argv);
 int main_vkblist(int argc, char **argv);
 int main_vkbdetach(int argc, char **argv);
+int main_gpioattach(int argc, char **argv);
+int main_gpiolist(int argc, char **argv);
+int main_gpiodetach(int argc, char **argv);
 int main_i2cattach(int argc, char **argv);
 int main_i2clist(int argc, char **argv);
 int main_i2cdetach(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index c409ab1578d4..0c0d32b2e25b 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -406,6 +406,21 @@ const struct cmd_spec cmd_table[] = {
       "Destroy a domain's virtual keyboard device",
       "<Domain> <DevId>",
     },
+    { "gpio-attach",
+      &main_gpioattach, 1, 1,
+      "Create a new virtual gpio device",
+      "<Domain> <gpio-spec-component(s)>...",
+    },
+    { "gpio-list",
+      &main_gpiolist, 0, 0,
+      "List virtual gpio devices for a domain",
+      "<Domain(s)>",
+    },
+    { "gpio-detach",
+      &main_gpiodetach, 0, 1,
+      "Destroy a domain's virtual gpio device",
+      "<Domain> <DevId>",
+    },
     { "i2c-attach",
       &main_i2cattach, 1, 1,
       "Create a new virtual i2c device",
diff --git a/tools/xl/xl_gpio.c b/tools/xl/xl_gpio.c
new file mode 100644
index 000000000000..fa63b01ab180
--- /dev/null
+++ b/tools/xl/xl_gpio.c
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include <stdlib.h>
+
+#include <libxl.h>
+#include <libxl_utils.h>
+#include <libxlutil.h>
+
+#include "xl.h"
+#include "xl_utils.h"
+#include "xl_parse.h"
+
+int main_gpioattach(int argc, char **argv)
+{
+    int opt;
+    int rc;
+    uint32_t domid;
+    libxl_device_gpio gpio;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-attach", 2) {
+        /* No options */
+    }
+
+    libxl_device_gpio_init(&gpio);
+    domid = find_domain(argv[optind++]);
+
+    for (argv += optind, argc -= optind; argc > 0; ++argv, --argc) {
+        rc = parse_gpio_config(&gpio, *argv);
+        if (rc) goto out;
+    }
+
+    if (dryrun_only) {
+        char *json = libxl_device_gpio_to_json(ctx, &gpio);
+        printf("gpio: %s\n", json);
+        free(json);
+        goto done;
+    }
+
+    if (libxl_device_gpio_add(ctx, domid, &gpio, 0)) {
+        fprintf(stderr, "libxl_device_gpio_add failed.\n");
+        rc = ERROR_FAIL; goto out;
+    }
+
+done:
+    rc = 0;
+
+out:
+    libxl_device_gpio_dispose(&gpio);
+    return rc;
+}
+
+int main_gpiolist(int argc, char **argv)
+{
+    int opt;
+    libxl_device_gpio *gpios;
+    libxl_gpioinfo gpioinfo;
+    int nb, i;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-list", 1) {
+        /* No options */
+    }
+
+    /*      Idx  BE   Hdl  Sta  evch ref ID    BE-type BE-path */
+    printf("%-3s %-2s %-6s %-5s %-6s %6s %-10s %-10s %-30s\n",
+           "Idx", "BE", "handle", "state", "evt-ch", "ref",
+           "ID", "BE-type", "BE-path");
+    for (argv += optind, argc -= optind; argc > 0; --argc, ++argv) {
+        uint32_t domid = find_domain(*argv);
+        gpios = libxl_device_gpio_list(ctx, domid, &nb);
+        if (!gpios) {
+            continue;
+        }
+        for (i = 0; i < nb; ++i) {
+            if (libxl_device_gpio_getinfo(ctx, domid, &gpios[i], &gpioinfo) == 0) {
+                printf("%-3d %-2d %6d %5d %-10s %-30s\n",
+                       gpioinfo.devid, gpioinfo.backend_id,
+                       gpioinfo.devid, gpioinfo.state,
+                       libxl_gpio_backend_to_string(gpios[i].backend_type),
+                       gpioinfo.backend);
+                libxl_gpioinfo_dispose(&gpioinfo);
+            }
+        }
+        libxl_device_gpio_list_free(gpios, nb);
+    }
+    return 0;
+}
+
+int main_gpiodetach(int argc, char **argv)
+{
+    uint32_t domid, devid;
+    int opt, rc;
+    libxl_device_gpio gpio;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-detach", 2) {
+        /* No options */
+    }
+
+    domid = find_domain(argv[optind++]);
+    devid = atoi(argv[optind++]);
+
+    libxl_device_gpio_init(&gpio);
+
+    if (libxl_devid_to_device_gpio(ctx, domid, devid, &gpio)) {
+        fprintf(stderr, "Error: Device %d not connected.\n", devid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl_device_gpio_remove(ctx, domid, &gpio, 0);
+    if (rc) {
+        fprintf(stderr, "libxl_device_gpio_remove failed.\n");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = 0;
+
+out:
+    libxl_device_gpio_dispose(&gpio);
+    return rc;
+}
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index b91ffba14d40..181379cd5d19 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,74 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+int parse_gpio_config(libxl_device_gpio *gpio, char *token)
+{
+    char *oparg;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        gpio->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("backend-type", token, oparg)) {
+        libxl_gpio_backend backend_type;
+        if (libxl_gpio_backend_from_string(oparg, &backend_type)) {
+            fprintf(stderr, "Unknown backend_type \"%s\" in gpio spec\n",
+                            oparg);
+            return -1;
+        }
+        gpio->backend_type = backend_type;
+    } else if (MATCH_OPTION("irq", token, oparg)) {
+        gpio->irq = strtoul(oparg, NULL, 0);
+    } else if (MATCH_OPTION("base", token, oparg)) {
+        gpio->base = strtoul(oparg, NULL, 0);
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in gpio spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_gpio_list(const XLU_Config *config,
+                           libxl_domain_config *d_config)
+{
+    XLU_ConfigList *gpios;
+    const char *item;
+    char *buf = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "gpio", &gpios, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(gpios, entry)) != NULL) {
+            libxl_device_gpio *gpio;
+            char *p;
+
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios,
+                                    d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
+            buf = strdup(item);
+
+            p = strtok (buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                rc = parse_gpio_config(gpio, p);
+                if (rc) goto out;
+
+                p = strtok (NULL, ",");
+            }
+
+            entry++;
+        }
+    }
+
+    rc = 0;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 int parse_i2c_config(libxl_device_i2c *i2c, char *token)
 {
     char *oparg;
@@ -2377,15 +2445,18 @@ void parse_config_data(const char *config_source,
 
     d_config->num_vfbs = 0;
     d_config->num_vkbs = 0;
+    d_config->num_gpios = 0;
     d_config->num_i2cs = 0;
     d_config->vfbs = NULL;
     d_config->vkbs = NULL;
+    d_config->gpios = NULL;
     d_config->i2cs = NULL;
 
     if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
         while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_gpio *gpio;
             libxl_device_i2c *i2c;
 
             char *buf2 = strdup(buf);
@@ -2397,6 +2468,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios, d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
             i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
                                     libxl_device_i2c_init);
 
@@ -2657,6 +2731,7 @@ void parse_config_data(const char *config_source,
         if (vnc_enabled) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_gpio *gpio;
             libxl_device_i2c *i2c;
 
             vfb = ARRAY_EXTEND_INIT(d_config->vfbs, d_config->num_vfbs,
@@ -2665,6 +2740,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios, d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
             i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
                                     libxl_device_i2c_init);
 
@@ -2782,6 +2860,7 @@ void parse_config_data(const char *config_source,
             exit(-ERROR_FAIL);
         }
         xlu_cfg_get_defbool(config, "vkb_device", &b_info->u.hvm.vkb_device, 0);
+        xlu_cfg_get_defbool(config, "gpio_device", &b_info->u.hvm.gpio_device, 0);
         xlu_cfg_get_defbool(config, "i2c_device", &b_info->u.hvm.i2c_device, 0);
         xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
         xlu_cfg_get_defbool(config, "xen_platform_pci",
@@ -2831,6 +2910,7 @@ void parse_config_data(const char *config_source,
     }
 
     parse_vkb_list(config, d_config);
+    parse_gpio_list(config, d_config);
     parse_i2c_list(config, d_config);
 
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index 4b972d525199..6e041abe5d50 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -36,6 +36,7 @@ int parse_nic_config(libxl_device_nic *nic, XLU_Config **config, char *token);
 int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token);
 int parse_vsnd_item(libxl_device_vsnd *vsnd, const char *spec);
 int parse_vkb_config(libxl_device_vkb *vkb, char *token);
+int parse_gpio_config(libxl_device_gpio *gpio, char *token);
 int parse_i2c_config(libxl_device_i2c *i2c, char *token);
 
 int match_option_size(const char *prefix, size_t len,
diff --git a/tools/xl/xl_sxp.c b/tools/xl/xl_sxp.c
index a44c765aa515..632e1f338d09 100644
--- a/tools/xl/xl_sxp.c
+++ b/tools/xl/xl_sxp.c
@@ -140,6 +140,8 @@ void printf_info_sexp(int domid, libxl_domain_config *d_config, FILE *fh)
         fprintf(fh, "\t\t\t(usbdevice %s)\n", b_info->u.hvm.usbdevice);
         fprintf(fh, "\t\t\t(vkb_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vkb_device));
+        fprintf(fh, "\t\t\t(gpio_device %s)\n",
+               libxl_defbool_to_string(b_info->u.hvm.gpio_device));
         fprintf(fh, "\t\t\t(i2c_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.i2c_device));
         fprintf(fh, "\t\t)\n");
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 07:02:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 07:02:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380190.614250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUs4-0000ZF-De; Thu, 04 Aug 2022 07:02:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380190.614250; Thu, 04 Aug 2022 07:02:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUs4-0000Z8-8V; Thu, 04 Aug 2022 07:02:16 +0000
Received: by outflank-mailman (input) for mailman id 380190;
 Thu, 04 Aug 2022 07:02:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wk0C=YI=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oJUs2-0000K7-Jc
 for xen-devel@lists.xen.org; Thu, 04 Aug 2022 07:02:14 +0000
Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com
 [2607:f8b0:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c8d323c-13c3-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 09:02:13 +0200 (CEST)
Received: by mail-pf1-x436.google.com with SMTP id h28so12217860pfq.11
 for <xen-devel@lists.xen.org>; Thu, 04 Aug 2022 00:02:12 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 w3-20020a170902e88300b0016be96e07d1sm46803plg.121.2022.08.04.00.02.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 00:02:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c8d323c-13c3-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=XNF5lFqkiEnLHtnRZXOdPOJLnrAuWb9MTwMC64Rff4g=;
        b=e3ZvLaojG2E72Ta3MxOi+qccJQPC6b8WYdL7kygELyRlQdwQDZ3/nakfLdc3ClC9Hx
         ao586GkbiYS1aSItaG/kwC2e1j7BA69a4+DJOjScu0MSZW9lMEn0yHYpl1TpVXl/H+p5
         KCiJwx9E0Sq/S+uJJq21ato8miVUyES7yr1HD92BU4wsbYGAmH3tXFJxit/4TKFKxBKK
         LRAbZcN4vAkR+sp0AIx77Ssb5zMLab4GGyZ2fmwl+0tygtQc0ZcKDZFc3ihwCCUNVvMM
         USiCTqSVJG1Hvcvc2XowYl7jQitz6r1fV8kGO/nBtjUa5ehx1AARUI30nuo3DJFRT/WV
         e9Kg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=XNF5lFqkiEnLHtnRZXOdPOJLnrAuWb9MTwMC64Rff4g=;
        b=CeXFDXpkOm8QFPS7mF+PV/6LJuX5jsUkjmjSOavmwAYPV6ycyLbRHg2saizvTsE2ld
         kc1iA3f7m98XK9uzIoWKzdzeTkLoHEtT247kUaQ4ENBRJpZr231YeuZb//5WvjSmYnJm
         HUFCBnGr347D0A5wds7cfFPX1WOzFiVC/LgYL2cQ4OHDP7jx4VhqhoRc1GAmZh3Xn2n4
         C3C7Of3Mxg2LAM0pK2ngVrKx20iQnypGTDtSP+b7DRXXvospq/eOP8R2B62uD7ho+tFi
         2bmTuUDVs6+l2/xWQrFtM3Wr2GQBPp12u9lPqW8Xh4rjQMd6W0hsuc8m5ihk01zw+Zkq
         GJbg==
X-Gm-Message-State: ACgBeo19AoWYjwh6eHbw6AXKMp0QoC2g3877Gk2MlL803QZCQNpRkwE+
	xwweE27nBz0jiD4a6OLd8hGmZ2nXSTMgpA==
X-Google-Smtp-Source: AA6agR7gitQUj4IOmeOqn77IlXVXzoGacsho48zQcudPw1kc2hYZ8NewuGzPCxAAncAnQI5Y+oiCLA==
X-Received: by 2002:aa7:919a:0:b0:52a:eeef:3e65 with SMTP id x26-20020aa7919a000000b0052aeeef3e65mr391687pfa.15.1659596531003;
        Thu, 04 Aug 2022 00:02:11 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V3 3/6] libxl: arm: Create alloc_virtio_mmio_params()
Date: Thu,  4 Aug 2022 12:31:51 +0530
Message-Id: <ae3e61fe687cb2d9dac17622da2ec81c4064db39.1659596139.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1659596139.git.viresh.kumar@linaro.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a separate routine to allocate base and irq for a device as the
same code will be required for each device type.

Suggested-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 38 ++++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 13 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 1a3ac1646e94..2f64b9f0ebee 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -48,6 +48,24 @@ static uint32_t alloc_virtio_mmio_irq(libxl__gc *gc, uint32_t *virtio_mmio_irq)
     return irq;
 }
 
+static int alloc_virtio_mmio_params(libxl__gc *gc, uint64_t *base,
+                                    uint32_t *irq, uint64_t *virtio_mmio_base,
+                                    uint32_t *virtio_mmio_irq)
+{
+    *base = alloc_virtio_mmio_base(gc, virtio_mmio_base);
+    if (!*base)
+        return ERROR_FAIL;
+
+    *irq = alloc_virtio_mmio_irq(gc, virtio_mmio_irq);
+    if (!*irq)
+        return ERROR_FAIL;
+
+    LOG(DEBUG, "Allocate Virtio MMIO params: IRQ %u BASE 0x%"PRIx64, *irq,
+        *base);
+
+    return 0;
+}
+
 static const char *gicv_to_string(libxl_gic_version gic_version)
 {
     switch (gic_version) {
@@ -85,20 +103,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         libxl_device_disk *disk = &d_config->disks[i];
 
         if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
-            disk->base = alloc_virtio_mmio_base(gc, &virtio_mmio_base);
-            if (!disk->base)
-                return ERROR_FAIL;
+            int rc = alloc_virtio_mmio_params(gc, &disk->base, &disk->irq,
+                    &virtio_mmio_base, &virtio_mmio_irq);
+            if (rc)
+                return rc;
 
-            disk->irq = alloc_virtio_mmio_irq(gc, &virtio_mmio_irq);
-            if (!disk->irq)
-                return ERROR_FAIL;
-
-            if (virtio_irq < disk->irq)
-                virtio_irq = disk->irq;
             virtio_enabled = true;
-
-            LOG(DEBUG, "Allocate Virtio MMIO params for Vdev %s: IRQ %u BASE 0x%"PRIx64,
-                disk->vdev, disk->irq, disk->base);
         }
     }
 
@@ -107,8 +117,10 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
      * present, make sure that we allocate enough SPIs for them.
      * The resulting "nr_spis" needs to cover the highest possible SPI.
      */
-    if (virtio_enabled)
+    if (virtio_mmio_irq != GUEST_VIRTIO_MMIO_SPI_FIRST) {
+        virtio_irq = virtio_mmio_irq - 1;
         nr_spis = max(nr_spis, virtio_irq - 32 + 1);
+    }
 
     for (i = 0; i < d_config->b_info.num_irqs; i++) {
         uint32_t irq = d_config->b_info.irqs[i];
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 07:02:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 07:02:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380192.614261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUs6-0000ss-Mr; Thu, 04 Aug 2022 07:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380192.614261; Thu, 04 Aug 2022 07:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUs6-0000sd-ID; Thu, 04 Aug 2022 07:02:18 +0000
Received: by outflank-mailman (input) for mailman id 380192;
 Thu, 04 Aug 2022 07:02:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wk0C=YI=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oJUs4-0000K7-WC
 for xen-devel@lists.xen.org; Thu, 04 Aug 2022 07:02:17 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ecd4071-13c3-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 09:02:15 +0200 (CEST)
Received: by mail-pj1-x1033.google.com with SMTP id gj1so3706980pjb.0
 for <xen-devel@lists.xen.org>; Thu, 04 Aug 2022 00:02:16 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 13-20020a170902c20d00b0016e808dbe55sm61539pll.96.2022.08.04.00.02.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 00:02:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ecd4071-13c3-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=jnP87DDY9e5w/7DpOY7qD8IgK2FdJZgySh2bza0OcUU=;
        b=hPlIZbpNzs5JyiNyGlwydaIggY2csLotkcb9yq3kJMW3dGJiHfcr0mfqeBbiiEtkox
         Zw5I4a4OByiKiXu3+khoeWfqLWSdVI3UO7eUabIoUDcbcfVIL7lleB5zkfWgEv7H8XTI
         gafGXs+tmRa1RhdVRpTmB/dPTYZrEAEvBt5j0s3wtw5zUd1BERUHOire1ErjZCG46gtz
         TuVtw1QBzMq1wiGfdm/msZwjeOWOdnTMduO/gwGngC8XsyMo6Y4qVvJ0Xvkk5+/rjYRu
         cLKpb3ERUXqhqF4eMPgwWMzLLvotFPZr8m7pXfajIiXew/CeeMfzir4vj7ps2SXee4u2
         +dJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=jnP87DDY9e5w/7DpOY7qD8IgK2FdJZgySh2bza0OcUU=;
        b=QmlrWKszX2ZJOK22Vj/JrlvcOd/lqVcDHJstNQiiQqMX7rNamLAdPGp3kn/EfdOrhO
         iSnqvKb240oaaensQc/YTqUwEJB/iRU7oMJYVt1w4aP4O6lgBHbRs5YJzeqDvY7cYDWi
         YpbgzFf23HpR6Jq0AxZubPnLuffV0m1fUmem3noVpurBxZoiyPhSLWChXICWankr18vc
         gSBL2OmcBdl+clFCWosYAf9HqDRoNL0+OTG7UCyGAbge7LeKhfk8bVB1vM00nfDhxpPD
         AmcgjR6WzC6oLWh3e8UUYu++xpKRwGfhnnGS1Z94NgwfxNeJJEALqYmL1shqRZ+iAyoJ
         VeEg==
X-Gm-Message-State: ACgBeo14aei7q3Ms8oNOT4chSpDVkU8b+GD1qTe8woMTSxcbq0anjlmO
	hj3n5HHLvUFKgj6mIR4sQPZq3VjB27hwtQ==
X-Google-Smtp-Source: AA6agR4ijlVlOpqTXiYXXLsVPnBoPAub2by/fursTxgK7g2T0ShzSEw4Kj7xvjSvQYiKBuHI3EOu5A==
X-Received: by 2002:a17:90a:f418:b0:1f3:223d:4349 with SMTP id ch24-20020a17090af41800b001f3223d4349mr9189723pjb.2.1659596534819;
        Thu, 04 Aug 2022 00:02:14 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V3 4/6] libxl: arm: Split make_virtio_mmio_node()
Date: Thu,  4 Aug 2022 12:31:52 +0530
Message-Id: <ae20b87d583b981302905059d157a03400cd8eb2.1659596139.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1659596139.git.viresh.kumar@linaro.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

make_virtio_mmio_node() creates the DT node for simple MMIO devices
currently, i.e. the ones that don't require any additional properties.

In order to allow using it for other complex device types, split the
functionality into two, one where the fdt node isn't closed and the
other one to create a simple DT node.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 2f64b9f0ebee..6a8c4d042bd9 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -900,9 +900,8 @@ static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
     return 0;
 }
 
-static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
-                                 uint64_t base, uint32_t irq,
-                                 uint32_t backend_domid)
+static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq)
 {
     int res;
     gic_interrupt intr;
@@ -922,7 +921,15 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
     res = fdt_property_interrupts(gc, fdt, &intr, 1);
     if (res) return res;
 
-    res = fdt_property(fdt, "dma-coherent", NULL, 0);
+    return fdt_property(fdt, "dma-coherent", NULL, 0);
+}
+
+static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq);
     if (res) return res;
 
     if (backend_domid != LIBXL_TOOLSTACK_DOMID) {
@@ -935,10 +942,7 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
         if (res) return res;
     }
 
-    res = fdt_end_node(fdt);
-    if (res) return res;
-
-    return 0;
+    return fdt_end_node(fdt);
 }
 
 static const struct arch_info *get_arch_info(libxl__gc *gc,
@@ -1261,8 +1265,8 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
                     iommu_created = true;
                 }
 
-                FDT( make_virtio_mmio_node(gc, fdt, disk->base, disk->irq,
-                                           disk->backend_domid) );
+                FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
+                                            disk->irq, disk->backend_domid) );
             }
         }
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 07:02:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 07:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380193.614272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUsB-0001In-T7; Thu, 04 Aug 2022 07:02:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380193.614272; Thu, 04 Aug 2022 07:02:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUsB-0001Ie-PV; Thu, 04 Aug 2022 07:02:23 +0000
Received: by outflank-mailman (input) for mailman id 380193;
 Thu, 04 Aug 2022 07:02:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wk0C=YI=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oJUs9-0000K7-Ss
 for xen-devel@lists.xen.org; Thu, 04 Aug 2022 07:02:22 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61b4ac22-13c3-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 09:02:20 +0200 (CEST)
Received: by mail-pl1-x636.google.com with SMTP id iw1so18529438plb.6
 for <xen-devel@lists.xen.org>; Thu, 04 Aug 2022 00:02:21 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 b9-20020a170903228900b0016be596c8afsm3304467plh.282.2022.08.04.00.02.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 00:02:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61b4ac22-13c3-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=plcNRN/8tQG5s5rS9QurHAfD6YpV7OI/Z7FI5KAqQ4s=;
        b=K8raEjzmABAiayJjDNqkxk7YSxZQuKQXlcIUbbnRWmEDx3AaQ5MnvPI9eAvXDjQv5t
         /vG+onpXKnKLoDuuMWQAyMGwpfcGMdhVqpmWl04Mv6iKR4169ZfwhQsREaVN1jrvBQIg
         AEbYsI4FmX1SGhAozoDRcrYnnVltepQqTjbQhwJPRZkrQCEt1FWru+ZeEmaayFF7NE55
         W17YHI5wzf9iM5Xi3iEBJhoLSXqD70N2MCyP4l6/Zyc67rHn/ydYln8wPYYPBBasWQAY
         N+ufGPb5JZ3HwIJh06hzQIL7C+jqToa4A9+0eH7a/o3oyGUdM9oA6BPV7D13eWIUyBQE
         u54A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=plcNRN/8tQG5s5rS9QurHAfD6YpV7OI/Z7FI5KAqQ4s=;
        b=zZNb07RZTlaeG9/4G+ac/xVhnakDQqLebjWCzlQK7Eank3mug9GNKLk7GNo13Acey/
         66ZJoctVOMebh+xfUflTdrVPTe+b2uWB0OECjpuztE+p1m6nALZN6GiKxN3Ml7iLddKE
         qdB/WE65/iHy28f2MLCFU+zp4Pi3mA1oTOnooMrFnOIDg8lgm0vNqqMPQwf6w1IEU1B4
         Ca9zvcQnnMDXiGwXEZTpceWpVDCxLYy5DI430PAXrEYquXGchMn7m7sWHnX2wQ68GRT4
         78UDP4MA6jd0prW4dI+4k/4jGZV1vI/YAnsDT6ABBrEGe4dEkbSZmi3Xl0F9990aw8Hz
         Kd9Q==
X-Gm-Message-State: ACgBeo2vE3H9M9CdkydBg+auC8msuxgMrT1kuAFvK8gHeDD1pgAOiEKa
	uW6gye5MXF+zA7Go4BJZUQJs9Q03Lyc2Bg==
X-Google-Smtp-Source: AA6agR5rOsm8iFNxhTGFwolo4GgVdRr4qTTCVkcKGgqBCfdGxSNJLngy3Jw+P3Wl5rWCP4/myEVdTQ==
X-Received: by 2002:a17:902:b20d:b0:16d:aefa:8ef6 with SMTP id t13-20020a170902b20d00b0016daefa8ef6mr631278plr.90.1659596539540;
        Thu, 04 Aug 2022 00:02:19 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V3 5/6] libxl: Allocate MMIO params for I2c device and update DT
Date: Thu,  4 Aug 2022 12:31:53 +0530
Message-Id: <8dbee989789fdd872256a8679278e174c8c2bdb0.1659596139.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1659596139.git.viresh.kumar@linaro.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch allocates Virtio MMIO params (IRQ and memory region) and pass
them to the backend, also update Guest device-tree based on Virtio I2C
DT bindings [1].

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 6a8c4d042bd9..08a1499c9523 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -112,6 +112,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         }
     }
 
+    for (i = 0; i < d_config->num_i2cs; i++) {
+        libxl_device_i2c *i2c = &d_config->i2cs[i];
+
+        int rc = alloc_virtio_mmio_params(gc, &i2c->base, &i2c->irq,
+                &virtio_mmio_base, &virtio_mmio_irq);
+        if (rc)
+            return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -945,6 +954,26 @@ static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
+                                     uint32_t irq)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq);
+    if (res) return res;
+
+    res = fdt_begin_node(fdt, "i2c");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,device22");
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1270,6 +1299,12 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
             }
         }
 
+        for (i = 0; i < d_config->num_i2cs; i++) {
+            libxl_device_i2c *i2c = &d_config->i2cs[i];
+
+            FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq) );
+        }
+
         if (pfdt)
             FDT( copy_partial_fdt(gc, fdt, pfdt) );
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 07:02:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 07:02:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380197.614283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUsF-0001kQ-7w; Thu, 04 Aug 2022 07:02:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380197.614283; Thu, 04 Aug 2022 07:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJUsF-0001kC-4d; Thu, 04 Aug 2022 07:02:27 +0000
Received: by outflank-mailman (input) for mailman id 380197;
 Thu, 04 Aug 2022 07:02:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wk0C=YI=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oJUsE-000883-0B
 for xen-devel@lists.xen.org; Thu, 04 Aug 2022 07:02:26 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6477013a-13c3-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 09:02:25 +0200 (CEST)
Received: by mail-pl1-x62d.google.com with SMTP id w7so18512722ply.12
 for <xen-devel@lists.xen.org>; Thu, 04 Aug 2022 00:02:25 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 h8-20020a056a00000800b0052e6c058bccsm125165pfk.61.2022.08.04.00.02.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 00:02:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6477013a-13c3-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=NvJtOV01vWUnDPySFX3bI7cooUnCi0cZCWz8i8egjwM=;
        b=N1XGR7kbt9Bqp5pXN6OP5kmgAQq9Tg8JzcsFNdTmILkSC52Le5clpihTXEF3YoVL2S
         AlLFk9rxhAMEpB/2w3pJ04pDOLgLLbMUGm/TZTWZgpAa1KLFsZlvMwB3S4ueKJjAf5Ku
         jfCp6jEYqb6J78KMhz9Qvt6k4YYXihBZLRg7hOo5Z+dNObqu8FtleKviTzhYBLHKtX0W
         coYRw0OgZ6pJRAAJCwFPw3/bbipRh/RGa6AdagWarexTuyr9qoBs81OEZ+G1zgM8gUTT
         J3pXLaqUXP/gV0MeCUW+AzgBWHhDyCxyg24S+uxw0LgPnbzRRW4UKppG0BfANplP7DBY
         d9PQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=NvJtOV01vWUnDPySFX3bI7cooUnCi0cZCWz8i8egjwM=;
        b=gJLXZLlADXa319OZRqHdy2ikAEMEWLkvMQagIGrYJ1NQBnIEsL3Bf7Uo7F+yS2SIJZ
         4xkYbQyBUzybzILBFC6EphnHSawWDohUhHJ27r+tNYhjsrXR9WzpS0px3P7OsKCbGS+y
         U42rdwpan/qalXM2ceoy2PVctFgOgOprj0kovNqbHlfZcBGrRODmZNej0qVrQsh5GGe0
         g05M2GH8y1w6qBUs/q5DYNSfoVcI8qZUjFG5sIEHl5JkMXliT/4l9Z+un+m1RI/+8ZHZ
         YIYHwHhb7oWNN0OkmPsRNCoUtj6iG+fj5TIzAeNI37fEBqdEV4kPpnDBJ94jUOX55DbH
         RvHA==
X-Gm-Message-State: ACgBeo0cXoA/byrbf7YRzXbU0qbxmAJRSaTmMBhvvGWA0+KeeNyRynNK
	VaPT9a6lJiPqs13+wR9IaGZ1tAMR2bZGdg==
X-Google-Smtp-Source: AA6agR6WuDtE+TTMuV9OLfDWyDOeFAH1y7h8Wh2zRU/3Xosqq4SwzfT522R4gKUbnDNCBke/tDBHSQ==
X-Received: by 2002:a17:902:f608:b0:16d:c44:137 with SMTP id n8-20020a170902f60800b0016d0c440137mr525312plg.173.1659596543763;
        Thu, 04 Aug 2022 00:02:23 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V3 6/6] libxl: Allocate MMIO params for GPIO device and update DT
Date: Thu,  4 Aug 2022 12:31:54 +0530
Message-Id: <20af3a836d0ddd0d73024f8c10f7325e89ef19d8.1659596139.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1659596139.git.viresh.kumar@linaro.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch allocates Virtio MMIO params (IRQ and memory region) and pass
them to the backend, also update Guest device-tree based on Virtio GPIO
DT bindings [1].

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 47 ++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 08a1499c9523..14b95087f027 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -121,6 +121,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
             return rc;
     }
 
+    for (i = 0; i < d_config->num_gpios; i++) {
+        libxl_device_gpio *gpio = &d_config->gpios[i];
+
+    int rc = alloc_virtio_mmio_params(gc, &gpio->base, &gpio->irq,
+            &virtio_mmio_base, &virtio_mmio_irq);
+    if (rc)
+        return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -974,6 +983,38 @@ static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt, uint64_t base,
+                                      uint32_t irq)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq);
+    if (res) return res;
+
+    res = fdt_begin_node(fdt, "gpio");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,device29");
+    if (res) return res;
+
+    res = fdt_property(fdt, "gpio-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#gpio-cells", 2);
+    if (res) return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1305,6 +1346,12 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
             FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq) );
         }
 
+        for (i = 0; i < d_config->num_gpios; i++) {
+            libxl_device_gpio *gpio = &d_config->gpios[i];
+
+            FDT( make_virtio_mmio_node_gpio(gc, fdt, gpio->base, gpio->irq) );
+        }
+
         if (pfdt)
             FDT( copy_partial_fdt(gc, fdt, pfdt) );
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 07:12:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 07:12:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380231.614297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJV1n-0004mx-7H; Thu, 04 Aug 2022 07:12:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380231.614297; Thu, 04 Aug 2022 07:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJV1n-0004mq-4I; Thu, 04 Aug 2022 07:12:19 +0000
Received: by outflank-mailman (input) for mailman id 380231;
 Thu, 04 Aug 2022 07:12:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xhOI=YI=oracle.com=dan.carpenter@srs-se1.protection.inumbo.net>)
 id 1oJV1l-0004mk-Ck
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 07:12:18 +0000
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com
 [205.220.177.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2761cde-13c4-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 09:12:13 +0200 (CEST)
Received: from pps.filterd (m0246632.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2741iZx0001397;
 Thu, 4 Aug 2022 07:11:47 GMT
Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta02.appoci.oracle.com [147.154.18.20])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3hmv8sc1wn-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 04 Aug 2022 07:11:47 +0000
Received: from pps.filterd
 (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 27468WE6031471; Thu, 4 Aug 2022 07:11:46 GMT
Received: from nam12-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 3hmu341cup-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 04 Aug 2022 07:11:46 +0000
Received: from MWHPR1001MB2365.namprd10.prod.outlook.com
 (2603:10b6:301:2d::28) by PH8PR10MB6387.namprd10.prod.outlook.com
 (2603:10b6:510:1c2::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 07:11:44 +0000
Received: from MWHPR1001MB2365.namprd10.prod.outlook.com
 ([fe80::209e:de4d:68ea:c026]) by MWHPR1001MB2365.namprd10.prod.outlook.com
 ([fe80::209e:de4d:68ea:c026%3]) with mapi id 15.20.5504.014; Thu, 4 Aug 2022
 07:11:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2761cde-13c4-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc
 : subject : message-id : content-type : mime-version; s=corp-2022-7-12;
 bh=nn0qFPMu9MmvwEWpJmm9NU6qhfcwG5Q9uVkuaF2az/M=;
 b=drv1eQ7zX2lx2x0rk+VhyHDf3bWwj5nueYf+IrE7oYV5V/sxqmRkIJTbBgKnMzVoEycc
 BJ5b+DyHPEURqKRn72jtKS8qfPnAuxNcPtO6zmb/lFdF71L0bliAUY3+dpWhwFmvM0f1
 H+ZKeREsiRXa89XsA+gXTwNijFT+CNGDMJ7as+KxIUoTNXNhllUOpKbPNGdkjNG+CLwG
 PiO/i6v8FD744WQN7pMJBLGcg9/aPYYTuOfo+Mt2ViTDxORRQqiIEH/5nsxs9ytqcql1
 kQzdS9y1eaK4h6zG2RvLOiANL9nn79nlH1uIrWmuav6lt+lu2NNJBUU94gbqYU+hiIrB OQ== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cj9wsQiec2oZNMxm4qQGU6nk9k67xpBgZAjD6Fnok/IqVRAnCUZh2LPlV6KPwgLWFx3mvv0eIeGWAjvBfaGre12gGl2wutCeZOzVTDcsBTxTiHllbedo3H5CWbihPebREMXuhP6eG1obYnl59+SQIYwlxw4RTOPTz3QQZeK0eJoz8Wpp3NZqV0IFf9KAv0A+WULC57kq2baeOBawbURxzAdY11SOEqBxvzolyMb7aa1t4K9h5Yx+6T6WzXe+Zi+MFOHBX816+YbYNnJECQwjDed0WhhORnHKOtvsSJ1nnjfv1bLCWXuaVAaosZ8Q5S0XbV99mGZS9YPFYCQ1uD0SDA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nn0qFPMu9MmvwEWpJmm9NU6qhfcwG5Q9uVkuaF2az/M=;
 b=IADXb8jH2DPJsfBzwxtrqabpDtHZYn9NPS6+c7ycYjJ3vTbZuVH9DNO11ezqanjiJI8Z1cqF3ziWLOOf8PBWOEyVXfa7N/VfEJKrL8DQKEWaDcjMBNOeP+XYSsIUm7HRaR1R+/lFftkx/CMMLbIwWkyM+mElB/97LjYp1hjRywek1u4g4hugVSwBnqzINtg/rY2EnuFn++eVlEPVCAjXii7FmrqEj6hSSjvGDvP7MfWwZc29Z8ANnT2CWoSg1LN8QvAADB2d7Km+u+QxU0CIydKvkYPh+5uf637nM0tF4asu0Y/VlHf4U01XsFfXAeltESw/A6kxUo93A8UUCrpKCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nn0qFPMu9MmvwEWpJmm9NU6qhfcwG5Q9uVkuaF2az/M=;
 b=uSG2vnDUj7C0B7ouLbIRH9l8E3LEw7covJORAr08x/D88zj9XVhai3iZ/gINHXhIJLQrWPdy60DSyiSFOmdYwP+xKgDZXl5bOPnXH7IjeNIZjoVsAWKS8DpMxbMiyvk+YFtf57FKdz3xPh7XbgkF1VIPNYgVtufl84m+wMcmNQ4=
Date: Thu, 4 Aug 2022 10:11:33 +0300
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Juergen Gross <jgross@suse.com>, Bastian Blank <waldi@debian.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
        Ian Campbell <ian.campbell@citrix.com>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
Subject: [PATCH] xen/xenbus: fix return type in xenbus_file_read()
Message-ID: <YutxJUaUYRG/VLVc@kili>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Mailer: git-send-email haha only kidding
X-ClientProxiedBy: ZR0P278CA0048.CHEP278.PROD.OUTLOOK.COM
 (2603:10a6:910:1d::17) To MWHPR1001MB2365.namprd10.prod.outlook.com
 (2603:10b6:301:2d::28)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d74125f6-c1b8-4ef8-3788-08da75e89613
X-MS-TrafficTypeDiagnostic: PH8PR10MB6387:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	/7PMcUx+nWvSe0ZnwFe2Rddtg79Khv0Ke6OBVttVBl/c4dsmOoQB+OK4U0BbhvDOmX/bQpblvAv45613PjbwHZ23k3N3jySqhSSGOhZXKiEkZI8wsyBqUUzlSjm3UKBV4n6fqBMKhi7ykHCK0OgPjZN4aolV24BKbGwGW4mlPWblkguSYyeL9tO8wqfUB23iAgocuObvqmdQPkmNHFfFVZ20Qs7GfrvGt8yP/OG2B1LPL+IHShXHtzu69CMfb+LaXuL4pqLejpXYuYVVzIiXlbftWbmqoyMPFS0bisLmimcr0/0CR1/CRg/kv/+TibmLRZz1B/kDZyJzDZQ9R0+ZurNoWLJ104yk2uXUlmCoEI8ASfOny/zkmtGLnw3JPahDXYMNxZRfNYZ07/Y8uHIqCidHYELpb/z+UB6Tt1vgWiTBHTXvxs8f6bM0lGS73hEV2YgQTheD1W8NuKkNZxJId5RziFgV8NM2e6zKD/hgIMH7o2+DOlmMHmV0hwP2XiLbT/nIL1W4+lLXYvPbluxiAEVmKSplLVheQN1+xPN6sh0gxD58S1/ui8uUHPF++floZJlLLJrEznNfgOxZy4A3ocmDXCt4EsL39Zkvb+A+TvWX+7vaUGm4vXzNZjoEOPdmxZ5zj499O6X7a0yLHEUzVaAZpBNqQGEHXk+oMvY08L0U6qqONDsaZnJpWTopKpRvKhDzmq/a82fP8fkW7yWhMS16TgdOuzN2KehRUqZhEukW1RdvTJYBnUuwkIuUFgTn4j/592/56/1AAozwO+9F6QmbDDqPsefJmIxmlNcxW1NAoX1kFMUO68U5DWdU/flN
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(7916004)(366004)(136003)(376002)(39860400002)(396003)(346002)(44832011)(5660300002)(4326008)(66946007)(66476007)(33716001)(66556008)(8676002)(8936002)(2906002)(83380400001)(86362001)(38100700002)(6486002)(41300700001)(478600001)(110136005)(54906003)(316002)(186003)(6666004)(6512007)(9686003)(6506007)(26005)(38350700002)(52116002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?us-ascii?Q?rZKRfPMWH6vUxbQ+sTRPlExgQPaHu+Vv9iqk4ChaEOaiahXx/+p+0X6tct7q?=
 =?us-ascii?Q?Kcsm0W+UYRIPPMZPI3/VMCzlpNAQ6Fct3xLxJTB9Ec1HMPk/HaOnHbwsfNNU?=
 =?us-ascii?Q?kQhs9iY5muZz5YMXnziyovD5APwFQ5hBtWXSiujMxX5H9sLqP8MqEPvch8Kk?=
 =?us-ascii?Q?0gs0s/oiDGZ2SmAaJoCrQvUh5rTynLmVX4dzDUD+9d/po9Dd8lB4M/ZeLSg9?=
 =?us-ascii?Q?mNSbSM7sWSWLykW2eF/Ly86eQWhKLxYGad7felaXmxWzypnaKQhUoR6n8+pq?=
 =?us-ascii?Q?J7Z3htGY6YxPbPqg1PXtN4bUIRx9+nkfbniOulJOMbuGO3crzdS4tEeZsKUV?=
 =?us-ascii?Q?t+fCiZZ/fEU9ecKRWPUXqRYQ7cuh5taJZvINlGMCybOndU7bPP2eQ89dDQwy?=
 =?us-ascii?Q?iRYdti4S8KubOfi39dk6bKWA029UqeY3qd3I2dhmbqhXJQegBlMGOfWl5oBA?=
 =?us-ascii?Q?bw93zERCbuEIm5OR0KDI+P01sV7l7kk3eK1jTRgau99uIvz7JiRUlrkAbTyS?=
 =?us-ascii?Q?WYOKprxWQHwJEbf/wlaigGDtGhbyoeXt3TF0+pQo9LmBc1gcHI1VUvRr23J9?=
 =?us-ascii?Q?L5vX2L6JFMG966QgF0YphmeUlD7Eui79TUCnQX+Cwvt8sgiILZli05eHtcvU?=
 =?us-ascii?Q?QkNzNusG62AdMfRBjm28zDPSPHM/P2y7bhR0EuBfLruiy7GYQ9t+09OxZ/F8?=
 =?us-ascii?Q?VE7ix4vkQipM5g+7tnPKWhDeXHbFbxJs01UZAdRLWBQuDybim5jTLFLIns0a?=
 =?us-ascii?Q?dbXLFS35IzGHnpu1X/9iO9g/RWzC3+spvhuyBE3MpyGrDHb/xO4RMnrVe7Rm?=
 =?us-ascii?Q?W4eu8xGKkbpwWE6lwwBYW74qWbIN2icTlz/4HwM94tcesfMSrT31+g5zUtEF?=
 =?us-ascii?Q?Ay01oI+bee+dSYMG1yJg+9KkvSPX9RWj9th2b4q4tWv7ROBizgoe2QOzRIza?=
 =?us-ascii?Q?G/xfDksL4D7dWfEgKZ6vq+icIYrW+D016XD/by5uCzhUcjZwerctHDIvxQOE?=
 =?us-ascii?Q?9LaFapqXQ1kJQHABLYXzBJkxpF9BWMaKKP42fCFob+fllzTpWQYXNoim/xox?=
 =?us-ascii?Q?1CFDA7a+BGbkgHKuzbWR4Wzi25l8G/OEP2Fs5rYFPFIO7MhO3rbfdNA1KbRE?=
 =?us-ascii?Q?H0lHNRFhXUBWy7Xr8jJD2eoSZK13mslK+nCS83E1MKnbaz1oVZE9znoimAVC?=
 =?us-ascii?Q?FOqYf3o0pIk+LuEOMKRSdMVXFGyjyivAV9mfYUFXbS9sL1F08kcIdO+mSYAm?=
 =?us-ascii?Q?NV93o3wu0lPM9FJmKpyPj9Ait2FFu2hHca07yMoVSWKubIXTAVZcEwO3TjyY?=
 =?us-ascii?Q?Cen0LYiyNH21uZ7X37YcZfDtsmdTaO3unI2md6HZLqi/vq+YGezLhkTfd/Rv?=
 =?us-ascii?Q?PmXZDp9+0Cz1GBdFSmHnC+QVG5XA73A99g/bdNHcwpuxZXg6MPn8xARnZXGK?=
 =?us-ascii?Q?iMbaJ8J86RXJURwHd0m1VNTDUwsLwBaO9ZWEnxesbDwER4HTUqO9Qy6q/NGb?=
 =?us-ascii?Q?jmS3Uq2snrylXn4eZ0vDvddebZkKto7lCi0shV3JOIAojucyJjZjfV4VlVl5?=
 =?us-ascii?Q?Zc0Qo/DGsFjMZQKdrxZKL4MgoRjpkk3UP/Jwa26rtenAdiCXSHWD0hFbmSG7?=
 =?us-ascii?Q?3g=3D=3D?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d74125f6-c1b8-4ef8-3788-08da75e89613
X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 07:11:44.1269
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eybsCDy685C3RFSOcMGS2MCwuMO19WfN9weKKIuoEAQSuwsDTZglfRlueZ9wjmdkaFyhNcmikkX9emdsYbeg+tRRlMxUPFDu4xZa5AhboHE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR10MB6387
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-04_01,2022-08-02_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 spamscore=0
 suspectscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 phishscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000
 definitions=main-2208040029
X-Proofpoint-GUID: jM7R5_eBegFrP0VUvCl90oO-mK79FhhE
X-Proofpoint-ORIG-GUID: jM7R5_eBegFrP0VUvCl90oO-mK79FhhE

This code tries to store -EFAULT in an unsigned int.  The
xenbus_file_read() function returns type ssize_t so the negative value
is returned as a positive value to the user.

This change forces another change to the min() macro.  Originally, the
min() macro used "unsigned" type which checkpatch complains about.  Also
unsigned type would break if "len" were not capped at MAX_RW_COUNT.  Use
size_t for the min().  (No effect on runtime for the min_t() change).

Fixes: 2fb3683e7b16 ("xen: Add xenbus device driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/xen/xenbus/xenbus_dev_frontend.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c
index 597af455a522..0792fda49a15 100644
--- a/drivers/xen/xenbus/xenbus_dev_frontend.c
+++ b/drivers/xen/xenbus/xenbus_dev_frontend.c
@@ -128,7 +128,7 @@ static ssize_t xenbus_file_read(struct file *filp,
 {
 	struct xenbus_file_priv *u = filp->private_data;
 	struct read_buffer *rb;
-	unsigned i;
+	ssize_t i;
 	int ret;
 
 	mutex_lock(&u->reply_mutex);
@@ -148,7 +148,7 @@ static ssize_t xenbus_file_read(struct file *filp,
 	rb = list_entry(u->read_buffers.next, struct read_buffer, list);
 	i = 0;
 	while (i < len) {
-		unsigned sz = min((unsigned)len - i, rb->len - rb->cons);
+		size_t sz = min_t(size_t, len - i, rb->len - rb->cons);
 
 		ret = copy_to_user(ubuf + i, &rb->msg[rb->cons], sz);
 
-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 08:13:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 08:13:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380245.614318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJVyZ-0003Ja-Cd; Thu, 04 Aug 2022 08:13:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380245.614318; Thu, 04 Aug 2022 08:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJVyZ-0003JT-9K; Thu, 04 Aug 2022 08:13:03 +0000
Received: by outflank-mailman (input) for mailman id 380245;
 Thu, 04 Aug 2022 08:13:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XeTE=YI=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oJVyX-0003JM-Pk
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 08:13:01 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fa73b8e-13cd-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 10:12:59 +0200 (CEST)
Received: by mail-pl1-x62a.google.com with SMTP id z19so18681104plb.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Aug 2022 01:12:58 -0700 (PDT)
Received: from leoy-ThinkPad-X240s (173.242.113.38.16clouds.com.
 [173.242.113.38]) by smtp.gmail.com with ESMTPSA id
 201-20020a6216d2000000b0052e0bc3ca3asm238352pfw.173.2022.08.04.01.12.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 01:12:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fa73b8e-13cd-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:subject:message-id:mime-version:content-disposition;
        bh=xX5TwaV3noS6IzNcTaKe+LRxxbvbWWvIr9oaG42dUT4=;
        b=syZx/8nIBPDBnrI82dL9qLgr07eUABN8aMpx6YNedPbSnq0S1EYKGX8FhNCmDYkZ7a
         0SB3wBZdTzIHJYcX0eLxuof5Clh6mskffT28y5nUzJZoYjrW2wrDBLVUZLzOMSEAHx8b
         jfiDWGIo+jONA+RHDm57W2xiIYQ9imOIN9uWv7cGMuBAWlMrA+iBlo8Mk+2BBVCqJ7aK
         mAwNUGwhvcysVRBIeqd5kCZuedvwhISlO+7TyheFkl58zojGIcGRfvZtkoggi1scVAT3
         tP7MqG0JJ7Hkh7Ga6S3y8oPIJUlyUEgLs9wptSBQ5IxI9EDRQ7I0Uvq+RVYCmGwUK+Fp
         t4fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:date:from:to:subject:message-id:mime-version
         :content-disposition;
        bh=xX5TwaV3noS6IzNcTaKe+LRxxbvbWWvIr9oaG42dUT4=;
        b=GsH/UpdLhaJFz3se+d+/7sk/R1le563kepNUKwotknKQGZ3S14w39M2ajn/ObENdvD
         +nQZq6EEM7KGt4majZoA0byT6zF2eK9/d5VmLzVFEtNBf6C5R4lfCI7RmYWXw73xlnLV
         SC/B9I/O+sxqWbTxg7oh+aHbQhdr8VYsTN4LPRO6BoF9SSO2QY/yFD9qRmQiZaq/uPql
         BGGDm036dHtgLi/qAvIZLYzkURqxtTweQQBk+XludCMUqVeFK3PQyHMRBB/zauZG4lPw
         RlTG5TWdMy/LcyGpYGqrDAteNJf+fnj5Re56qgDaGKARYWZBZETnaOb+t0T0onkK+UVT
         /Gew==
X-Gm-Message-State: ACgBeo3nf3oScQG0z/aKCYAO2wp7+pmcgU7d/dmPKQycHUG1Tn5ADQnb
	4Y7F2UWO7/zFDPQRa6zaA/F865waJTNYdKRS6ow=
X-Google-Smtp-Source: AA6agR61AMJVJFWIjoavp+tTDOa1HAoPpYVYi8knOPucfV8m/Jw7rLUZzJ9iNkpSBx9IPYGjAoT8Fw==
X-Received: by 2002:a17:90b:4c12:b0:1f5:958:c313 with SMTP id na18-20020a17090b4c1200b001f50958c313mr9380394pjb.6.1659600776775;
        Thu, 04 Aug 2022 01:12:56 -0700 (PDT)
Date: Thu, 4 Aug 2022 16:12:53 +0800
From: Leo Yan <leo.yan@linaro.org>
To: xen-devel@lists.xenproject.org,
	Peter Griffin <peter.griffin@linaro.org>,
	Jerome Forissier <jerome.forissier@linaro.org>,
	Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>
Subject: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Message-ID: <20220804081253.GA1219098@leoy-ThinkPad-X240s>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi there,

Now I am working on Ampere Altra SoC platform, with Xen (4.16) and Linux
kernel (5.15.23).

I observed a warning is reported by Linux kernel in the booting flow:

[    0.403737] ------------[ cut here ]------------
[    0.403738] WARNING: CPU: 30 PID: 0 at drivers/irqchip/irq-gic-v3-its.c:3074 its_cpu_init+0x814/0xae0
[    0.403745] Modules linked in:
[    0.403748] CPU: 30 PID: 0 Comm: swapper/30 Tainted: G        W         5.15.23-ampere-lts-standard #1
[    0.403752] pstate: 600001c5 (nZCv dAIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.403755] pc : its_cpu_init+0x814/0xae0
[    0.403758] lr : its_cpu_init+0x810/0xae0
[    0.403761] sp : ffff800009c03ce0
[    0.403762] x29: ffff800009c03ce0 x28: 000000000000001e x27: ffff880711f43000
[    0.403767] x26: ffff80000a3c0070 x25: fffffc1ffe0a4400 x24: ffff80000a3c0000
[    0.403770] x23: ffff8000095bc998 x22: ffff8000090a6000 x21: ffff800009850cb0
[    0.403774] x20: ffff800009701a10 x19: ffff800009701000 x18: ffffffffffffffff
[    0.403777] x17: 3030303035303031 x16: 3030313030303078 x15: 303a30206e6f6967
[    0.403780] x14: 6572206530312072 x13: 3030303030353030 x12: 3130303130303030
[    0.403784] x11: 78303a30206e6f69 x10: 6765722065303120 x9 : ffff80000870e710
[    0.403788] x8 : 6964657220646e75 x7 : 0000000000000003 x6 : 0000000000000000
[    0.403791] x5 : 0000000000000000 x4 : fffffc0000000000 x3 : 0000000000000010
[    0.403794] x2 : 000000000000ffff x1 : 0000000000010000 x0 : 00000000ffffffed
[    0.403798] Call trace:
[    0.403799]  its_cpu_init+0x814/0xae0
[    0.403802]  gic_starting_cpu+0x48/0x90
[    0.403805]  cpuhp_invoke_callback+0x16c/0x5b0
[    0.403808]  cpuhp_invoke_callback_range+0x78/0xf0
[    0.403811]  notify_cpu_starting+0xbc/0xdc
[    0.403814]  secondary_start_kernel+0xe0/0x170
[    0.403817]  __secondary_switched+0x94/0x98
[    0.403821] ---[ end trace f68728a0d3053b70 ]---

Looked into the code, the GICv3 driver tries to create persistent
reservations for pending pages, and the persistent reservation table
can be used by kexec/kdump.  For the persistent reservations, it
relies on MEMRESERVE EFI configuration table, but this table is not
supported by xen.efi, I think this is the reason for the above oops.

I checked that if I boot a host Linux (without Xen), then the EFI has
provided MEMRESERVE configuration table, I can get below log:

  #  dmesg | grep MEMRESERVE
  [    0.000000] efi: TPMFinalLog=0x807f9ef0000 ACPI 2.0=0x807fa0d0018 ... MEMRESERVE=0x807f8141e98

Just want to confirm, is anyone working on enabling MEMRESERVE EFI
configuration table for Xen?  And welcome any comments and
suggestions!

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 08:13:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 08:13:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380247.614329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJVyo-0003cn-Jz; Thu, 04 Aug 2022 08:13:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380247.614329; Thu, 04 Aug 2022 08:13:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJVyo-0003ce-Gw; Thu, 04 Aug 2022 08:13:18 +0000
Received: by outflank-mailman (input) for mailman id 380247;
 Thu, 04 Aug 2022 08:13:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJVyn-0003c8-Cb; Thu, 04 Aug 2022 08:13:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJVyn-0006Yy-A4; Thu, 04 Aug 2022 08:13:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJVym-00063g-Ow; Thu, 04 Aug 2022 08:13:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJVym-0001jT-OS; Thu, 04 Aug 2022 08:13:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CV3Fun6zsQG3hfyrJu2O5hE/gwOyDNRK1eCzEjiqG4U=; b=EtcdM7/KZYsp0vBPF9ZTSMdZBp
	0Kb3DIuhHzp74O3pUClvsVNtedsClivE/hMd551tC3sxrHh+TbnQlLf7Qkn+YX85LNk+uwpviFvqp
	lImb4VPXIIRaHUU9L29Wmr79vIJXjzO2gj79YYoqTm0H5c1F81bFBUGsltr37svdchpU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172114-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 172114: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-amd64-xl-pvshim:guest-localmigrate/x10:fail:heisenbug
    xen-4.14-testing:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-amd:guest-start.2:fail:heisenbug
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=261b882f7704515a01f74589f57f0c1303e3b701
X-Osstest-Versions-That:
    xen=ef571a5a11e70365106db15144236d7bb5117abe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 08:13:16 +0000

flight 172114 xen-4.14-testing real [real]
flight 172135 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172114/
http://logs.test-lab.xenproject.org/osstest/logs/172135/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvshim 20 guest-localmigrate/x10 fail pass in 172135-retest
 test-armhf-armhf-xl-credit1   8 xen-boot            fail pass in 172135-retest
 test-amd64-i386-qemut-rhel6hvm-amd 15 guest-start.2 fail pass in 172135-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 171865
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172135 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172135 never pass
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171865
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 171865
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171865
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171865
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 171865
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 171865
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171865
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171865
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 171865
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171865
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171865
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  261b882f7704515a01f74589f57f0c1303e3b701
baseline version:
 xen                  ef571a5a11e70365106db15144236d7bb5117abe

Last test of basis   171865  2022-07-26 13:07:06 Z    8 days
Testing same since   172114  2022-08-03 12:39:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ef571a5a11..261b882f77  261b882f7704515a01f74589f57f0c1303e3b701 -> stable-4.14


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 11:30:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 11:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380270.614358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJZ39-0005WC-Ut; Thu, 04 Aug 2022 11:29:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380270.614358; Thu, 04 Aug 2022 11:29:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJZ39-0005W5-RF; Thu, 04 Aug 2022 11:29:59 +0000
Received: by outflank-mailman (input) for mailman id 380270;
 Thu, 04 Aug 2022 11:29:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJZ37-0005Vv-U9; Thu, 04 Aug 2022 11:29:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJZ37-0001y4-OG; Thu, 04 Aug 2022 11:29:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJZ37-0002d6-8C; Thu, 04 Aug 2022 11:29:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJZ37-0003sZ-7U; Thu, 04 Aug 2022 11:29:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rDBU6HLjQeBEXrM7dRc48zkArS81eKhe1ajcUdFs7rE=; b=CCwikN9Tcscno/PvVivke2URsQ
	qILlUc/838Gq+JrtJxr/xPgZaLDTRp5uwUxHfZ2+TMTSMDQ7a9eVGzm6NlGgbKTgQezXhJOwMLGwq
	Ru0WrX2+qidtMx9sp0IlpxLj07m8I8BRvWUOaypqASh3Wfo7UOrUKFK5oP07mzUZPoso=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172113-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 172113: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-i386-xl-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-4.13-testing:test-amd64-i386-livepatch:xen-install:fail:heisenbug
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d8a693019845caa4e216bcac10f9501a814c99ae
X-Osstest-Versions-That:
    xen=c946524a65f3f7b795c48d304953be6d7672cfb6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 11:29:57 +0000

flight 172113 xen-4.13-testing real [real]
flight 172140 xen-4.13-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172113/
http://logs.test-lab.xenproject.org/osstest/logs/172140/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-xsm    20 guest-localmigrate/x10 fail pass in 172140-retest
 test-amd64-i386-livepatch     7 xen-install         fail pass in 172140-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171868
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171868
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171868
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 171868
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 171868
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171868
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171868
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 171868
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171868
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171868
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171868
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 171868
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  d8a693019845caa4e216bcac10f9501a814c99ae
baseline version:
 xen                  c946524a65f3f7b795c48d304953be6d7672cfb6

Last test of basis   171868  2022-07-26 13:36:28 Z    8 days
Testing same since   172113  2022-08-03 12:39:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c946524a65..d8a6930198  d8a693019845caa4e216bcac10f9501a814c99ae -> stable-4.13


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 11:43:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 11:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380280.614373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJZFp-0007vq-6T; Thu, 04 Aug 2022 11:43:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380280.614373; Thu, 04 Aug 2022 11:43:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJZFp-0007vj-2l; Thu, 04 Aug 2022 11:43:05 +0000
Received: by outflank-mailman (input) for mailman id 380280;
 Thu, 04 Aug 2022 11:43:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sEPH=YI=samsung.com=boyoun.park@srs-se1.protection.inumbo.net>)
 id 1oJZFn-0007vd-Hf
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 11:43:04 +0000
Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9455e5e5-13ea-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 13:42:59 +0200 (CEST)
Received: from epcas2p2.samsung.com (unknown [182.195.41.54])
 by mailout1.samsung.com (KnoxPortal) with ESMTP id
 20220804114254epoutp0121ec79093eacb81b26cae7b8b6d76ef1~IIZIecp3T0476904769epoutp012
 for <xen-devel@lists.xenproject.org>; Thu,  4 Aug 2022 11:42:54 +0000 (GMT)
Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by
 epcas2p4.samsung.com (KnoxPortal) with ESMTP id
 20220804114252epcas2p48a34fc834788cf040f7f65c595d87d3b~IIZHNUdL_0385103851epcas2p4X;
 Thu,  4 Aug 2022 11:42:52 +0000 (GMT)
Received: from epsmges2p3.samsung.com (unknown [182.195.36.70]) by
 epsnrtp3.localdomain (Postfix) with ESMTP id 4Lz6Km2Gt6z4x9Q1; Thu,  4 Aug
 2022 11:42:52 +0000 (GMT)
Received: from epcas2p1.samsung.com ( [182.195.41.53]) by
 epsmges2p3.samsung.com (Symantec Messaging Gateway) with SMTP id
 01.18.03852.CB0BBE26; Thu,  4 Aug 2022 20:42:52 +0900 (KST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 9455e5e5-13ea-11ed-bd2d-47488cf2e6aa
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20220804114254epoutp0121ec79093eacb81b26cae7b8b6d76ef1~IIZIecp3T0476904769epoutp012
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
	s=mail20170921; t=1659613374;
	bh=3Gv4fUPpAj6aYR5+EmVuCch0amicaY4EXJ+IoAh7vQ4=;
	h=Subject:Reply-To:From:To:CC:In-Reply-To:Date:References:From;
	b=FMDtmhnAkQtYTUTr9DLstw3QmiXztK2H5IsU0jrGiEBsetnaWLFNX8DtX+yzMu6nH
	 UY4IrNNEVC4eU30u7m/mQydmAPOsPZnTkBoPcB0gE9t9nKcwVLqBWTBtKCoqYUcZOt
	 6oI2/UmE+HRqSPocDHwgxUuDC7x2HHfl9HBiRClo=
X-AuditID: b6c32a47-58dff70000000f0c-aa-62ebb0bcbfc5
Mime-Version: 1.0
Subject: Re: [PATCH v2 1/2] xen: add late init call in start_xen
Reply-To: boyoun.park@samsung.com
Sender: Boyoun Park <boyoun.park@samsung.com>
From: Boyoun Park <boyoun.park@samsung.com>
To: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
	Beulich <jbeulich@suse.com>, "bertrand.marquis@arm.com"
	<bertrand.marquis@arm.com>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "wl@xen.org" <wl@xen.org>,
	"roger.pau@citrix.com" <roger.pau@citrix.com>, Chungwoo Park
	<cww.park@samsung.com>, Gang Li <gang30.li@samsung.com>, Lei Wang
	<lei19.wang@samsung.com>, SoungKwan Kimn <sk.kimn@samsung.com>, DongJin PARK
	<djpax.park@samsung.com>, Joonjae Lee <joonjae7.lee@samsung.com>
X-Priority: 3
X-Content-Kind-Code: NORMAL
In-Reply-To: <19295a89-8d89-973e-defe-2a0b063cbde4@xen.org>
X-CPGS-Detection: blocking_info_exchange
X-Drm-Type: N,general
X-Msg-Generator: Mail
X-Msg-Type: PERSONAL
X-Reply-Demand: N
Message-ID: <20220804114251epcms2p5dba37d2bca23c36f954e380456f37c8e@epcms2p5>
Date: Thu, 04 Aug 2022 20:42:51 +0900
X-CMS-MailID: 20220804114251epcms2p5dba37d2bca23c36f954e380456f37c8e
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
X-Sendblock-Type: AUTO_CONFIDENTIAL
CMS-TYPE: 102P
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrPJsWRmVeSWpSXmKPExsWy7bCmqe6eDa+TDJrW8lssfryL3WLpks1M
	FqdmdTJZLDt8j93iwse9LBbzOw4xWfzc85DNorPrC6vF59mT2SzadlxmtZhxfjGrRePCeIvV
	6+It/i2NsPi4Rtzi+5bJTA4CHmvmrWH0eD15AqPHnaU7GT02repk8zj84QqLR9+WVYwe67dc
	ZfE4fWsWWwBHVLZNRmpiSmqRQmpecn5KZl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+A
	rltmDtD9SgpliTmlQKGAxOJiJX07m6L80pJUhYz84hJbpdSClJwC8wK94sTc4tK8dL281BIr
	QwMDI1OgwoTsjMauw0wFZzQqFq8Wb2Dcp97FyMkhIWAi8W7bHeYuRi4OIYEdjBJdG1+wdDFy
	cPAKCEr83SEMUiMs4CAxd+4/FhBbSEBRovXMQnaIuK5ET9deNhCbTUBb4sXNW2A1IgIBEpc6
	jzOCzGQWaGaVOD1tEgvEMl6JGe1PoWxpie3LtzKC2JwC1hK7tj5mhYhrSPxY1ssMYYtK3Fz9
	lh3Gfn9sPiOELSLReu8sVI2gxIOfu6HiUhKNnw5B1RdLzOlbzw5yhIRAA6PEzYsXmSAS+hJT
	WuaALeMV8JXoe3sPrJlFQFVi0r1JUENdJBY33AOzmYE+W7bwNTMoUJgFNCXW79IHMSUElCWO
	QPzLLMAn0XH4LzvMizvmPYHapCrxq+kFI8y7e862Q9keEodfPGGZwKg4CxHSs5DsmoWwawEj
	8ypGsdSC4tz01GKjAmN43Cbn525iBKdkLfcdjDPeftA7xMjEwXiIUYKDWUmEd4Xl6yQh3pTE
	yqrUovz4otKc1OJDjKZAX05klhJNzgdmhbySeEMTSwMTMzNDcyNTA3MlcV6vlA2JQgLpiSWp
	2ampBalFMH1MHJxSDUza/1zLJgp/PJaokr6p32j3q0kB7+Y4T07Q3WM7eUJly8tdaY+Ma82k
	Rf+u/v339r1Qi8jH1+aW7Hz2kvnC9X+Huvz2HMnu/rWKb5cqh97NGVOP3Lu+Rn31+lkZ72UN
	uh70+/DF/ea3keqtCLtvw6AV4hi/fsetkwuf87k+fSRSz7jRZc+LM//Or/8bs+SmmtMxExdL
	Xi4LeQ1l7pxcFUH7NdVmjZ+6d2k4VjSt+9C2j93W8VrP76Vr1ZY++Nx6/8Cvy4vr36yPD9q1
	XOqp7LGW35OD/844JZDwfu2pdXt/RvSnV96exfBpdlmDkQur8LTpsc4L/E6Ui50wYJzEb/VY
	6o3wdMOE1uOWyTa75G/KKbEUZyQaajEXFScCAIQpHfpSBAAA
DLP-Filter: Pass
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20220728092237epcms2p53821bba31388763f45b5204d56520c20
References: <19295a89-8d89-973e-defe-2a0b063cbde4@xen.org>
	<alpine.DEB.2.22.394.2207291447080.4648@ubuntu-linux-20-04-desktop>
	<alpine.DEB.2.22.394.2207281251160.4648@ubuntu-linux-20-04-desktop>
	<97499212.9948800.1659000157467@mail-kr2-3>
	<88025800-66e2-4fb4-facf-5989e75ba08f@suse.com>
	<20220729110313epcms2p5f9b24d5a65b98c220a6e99675298560f@epcms2p5>
	<1470588578.9967963.1659494457934@mail-kr2-1>
	<CGME20220728092237epcms2p53821bba31388763f45b5204d56520c20@epcms2p5>

On Wed, 3 Aug 2022, Julien Grall=C2=A0wrote:=0D=0A>=20Hi=C2=A0Boyoun,=0D=0A=
>=20=0D=0A>=20On=C2=A003/08/2022=C2=A003:40,=C2=A0Boyoun=C2=A0Park=C2=A0wro=
te:=0D=0A>>=C2=A0From:=C2=A0Boyoun=C2=A0Park=C2=A0<boyoun.park=40samsung.co=
m>=0D=0A>>=C2=A0Date:=C2=A0Tue,=C2=A015=C2=A0Mar=C2=A02022=C2=A012:57:59=C2=
=A0+0900=0D=0A>>=C2=A0Subject:=C2=A0=5BPATCH=C2=A0v2=C2=A01/2=5D=C2=A0xen:=
=C2=A0add=C2=A0late=C2=A0init=C2=A0call=C2=A0in=C2=A0start_xen=0D=0A>>=C2=
=A0=0D=0A>>=C2=A0This=C2=A0patch=C2=A0added=C2=A0late_initcall=C2=A0section=
=C2=A0in=C2=A0init.data.=0D=0A>>=C2=A0The=C2=A0late=C2=A0initcall=C2=A0woul=
d=C2=A0be=C2=A0called=C2=A0after=C2=A0initcall=0D=0A>>=C2=A0in=C2=A0the=C2=
=A0start_xen=C2=A0function.=0D=0A>=0D=0A>I=C2=A0think=C2=A0this=C2=A0is=C2=
=A0a=C2=A0bit=C2=A0too=C2=A0vague.=C2=A0AFAIU,=C2=A0you=C2=A0want=C2=A0late=
_initcall()=C2=A0to=C2=A0=0D=0A>happen=C2=A0*after*=C2=A0all=C2=A0the=C2=A0=
domains=C2=A0have=C2=A0been=C2=A0created=C2=A0but=C2=A0*before*=C2=A0they=
=C2=A0are=C2=A0=0D=0A>unpaused.=C2=A0Is=C2=A0that=C2=A0correct?=0D=0A>=0D=
=0A>=C2=A0From=C2=A0the=C2=A0previous=C2=A0discussion,=C2=A0I=C2=A0saw=C2=
=A0you=C2=A0said=C2=A0you=C2=A0have=C2=A0drivers=C2=A0needing=C2=A0=0D=0A>t=
o=C2=A0call=C2=A0initlate.=C2=A0Could=C2=A0you=C2=A0briefly=C2=A0explain=C2=
=A0why=C2=A0they=C2=A0can't=C2=A0be=C2=A0called=C2=A0in=C2=A0=0D=0A>initcal=
l?=0D=0A>=0D=0A>>=C2=A0=0D=0A>>=C2=A0Some=C2=A0initializing=C2=A0works=C2=
=A0on=C2=A0priority=C2=A0should=C2=A0be=C2=A0run=0D=0A>>=C2=A0in=C2=A0do_in=
itcalls=C2=A0and=C2=A0other=C2=A0non-prioritized=C2=A0works=0D=0A>>=C2=A0wo=
uld=C2=A0be=C2=A0run=C2=A0in=C2=A0do_late_initcalls.=0D=0A>=0D=0A>IIUC,=C2=
=A0you=C2=A0are=C2=A0saying=C2=A0that=C2=A0do_late_initcalls()=C2=A0was=C2=
=A0introduced=C2=A0for=C2=A0=0D=0A>prioritization=C2=A0purpose.=C2=A0But=C2=
=A0then,=C2=A0there=C2=A0are=C2=A0also=C2=A0a=C2=A0difference=C2=A0in=C2=A0=
=0D=0A>behavior=C2=A0(initcalls=C2=A0happens=C2=A0before=C2=A0creating=C2=
=A0the=C2=A0domains=C2=A0whereas=C2=A0late=C2=A0=0D=0A>happens=C2=A0after).=
=0D=0A>=0D=0A>Therefore,=C2=A0if=C2=A0the=C2=A0priority=C2=A0is=C2=A0the=C2=
=A0only=C2=A0reasons,=C2=A0then=C2=A0I=C2=A0think=C2=A0we=C2=A0should=C2=A0=
=0D=0A>introduce=C2=A0priority=C2=A0within=C2=A0the=C2=A0initcalls.=0D=0A=
=0D=0AWhen=20I=20made=20the=20patch=20for=20the=20first=20time,=20there=20w=
as=20a=20problem=20related=20to=0D=0Amemory=20access=20from=20some=20of=20m=
y=20drivers=20with=20original=20initcall=20which=20is=20not=0D=0Athe=20prob=
lem=20in=20Xen=20mainline.=20But=20it=20is=20resolved=20now,=20so=20for=20m=
y=20case,=0D=0Ait=20seems=20that=20the=20location=20when=20it=20is=20called=
=20is=20more=20important=20now=20as=20you=0D=0Asaid.=20Most=20of=20my=20dri=
vers=20are=20domain-specific=20so=20they=20are=20called=20in=20late=20boot=
=0D=0Atime=20after=20creating=20domains.=0D=0A=0D=0ASimilar=20to=20priority=
=20within=20the=20initcalls,=20I=20think=20it=20could=20be=20subdivided=0D=
=0Aaccording=20to=20the=20functions'=20own=20purposes=20such=20as=20arch_in=
itcall,=0D=0Adevice_initcall,=20and=20others=20in=20Linux=20Kernel.=0D=0A=
=0D=0A>>=C2=A0diff=C2=A0--git=C2=A0a/xen/arch/x86/setup.c=C2=A0b/xen/arch/x=
86/setup.c=0D=0A>>=C2=A0index=C2=A0f08b07b..5dc6654=C2=A0100644=0D=0A>>=C2=
=A0---=C2=A0a/xen/arch/x86/setup.c=0D=0A>>=C2=A0+++=C2=A0b/xen/arch/x86/set=
up.c=0D=0A>>=C2=A0=40=40=C2=A0-1952,6=C2=A0+1952,8=C2=A0=40=40=C2=A0void=C2=
=A0__init=C2=A0noreturn=C2=A0__start_xen(unsigned=C2=A0long=C2=A0mbi_p)=0D=
=0A>>=C2=A0=C2=A0=C2=A0=0D=0A>>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0se=
tup_io_bitmap(dom0);=0D=0A>>=C2=A0=C2=A0=C2=A0=0D=0A>>=C2=A0+=C2=A0=C2=A0=
=C2=A0=C2=A0do_late_initcalls();=0D=0A>>=C2=A0+=0D=0A>=0D=0A>It=C2=A0would=
=C2=A0be=C2=A0preferable=C2=A0if=C2=A0the=C2=A0call=C2=A0is=C2=A0done=C2=A0=
roughly=C2=A0at=C2=A0the=C2=A0same=C2=A0place=C2=A0on=C2=A0=0D=0A>all=C2=A0=
architecture.=C2=A0So=C2=A0if=C2=A0it=C2=A0easier=C2=A0for=C2=A0a=C2=A0deve=
loper=C2=A0to=C2=A0know=C2=A0when=C2=A0this=C2=A0will=C2=A0=0D=0A>be=C2=A0c=
alled=C2=A0(e.g.=C2=A0just=C2=A0after=C2=A0serial_endboot()).=0D=0A>=0D=0A>=
If=C2=A0you=C2=A0need=C2=A0to=C2=A0call=C2=A0the=C2=A0function=C2=A0at=C2=
=A0the=C2=A0different=C2=A0place,=C2=A0then=C2=A0I=C2=A0think=C2=A0=0D=0A>t=
his=C2=A0ought=C2=A0to=C2=A0be=C2=A0explained.=0D=0A=0D=0AI=20understand=20=
your=20comments.=20The=20reason=20of=20the=20location=20should=20be=20expla=
ined.=0D=0AI=20also=20checked=20Jan's=20review.=20All=20of=20the=20reviews=
=20including=20yours=20are=20reasonable.=0D=0A=0D=0AIt=20would=20be=20bette=
r=20to=20add=20this=20function=20with=20my=20specific=20drivers=20after=0D=
=0Aremoving=20lots=20of=20unclean=20codes.=20Thank=20you=20for=20all=20of=
=20your=20replies.=0D=0AAlthough=20it=20is=20my=20first=20time=20to=20send=
=20patches=20to=20open-source=20project,=0D=0Ait=20helps=20a=20lot=20to=20u=
nderstand=20what=20kinds=20of=20codes=20are=20appropriate=20to=20be=0D=0Aco=
ntributed.=20I=20will=20make=20new=20thread=20if=20I=20can=20improve=20the=
=20ideas=20and=20patches.=0D=0A=0D=0AWith=20gratitude,=0D=0A=0D=0ABoyoun=20=
Park


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 12:27:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 12:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380287.614383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJZwq-00040m-Nw; Thu, 04 Aug 2022 12:27:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380287.614383; Thu, 04 Aug 2022 12:27:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJZwq-00040f-LD; Thu, 04 Aug 2022 12:27:32 +0000
Received: by outflank-mailman (input) for mailman id 380287;
 Thu, 04 Aug 2022 12:27:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJZwp-00040V-Ip; Thu, 04 Aug 2022 12:27:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJZwp-00036M-Dr; Thu, 04 Aug 2022 12:27:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJZwo-000560-UX; Thu, 04 Aug 2022 12:27:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJZwo-0004CV-U7; Thu, 04 Aug 2022 12:27:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=92wmWpiDVdidjNxtbKFiuVCerrEheGZQYNfewb096mY=; b=xYVSVtFK8wc4UoZpJOombl1cLM
	jQ5b8TqIl4IjodhQfC2dB1IwFk9/jDn2htpOM/StoW6UJjij2k9nlo+chXWtHya92BKfVWssoTiV+
	A1eW+3XS/LlycE6f/QjRmLp8XWxBicxm9yWdndloKBQ3z//lV11N44oJ92/DuUCDhkKo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172120-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172120: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-i386-libvirt:libvirt-build:fail:regression
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:regression
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:regression
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=01ca29f0b17a50a94b0e232ba276c32e95d80ae3
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 12:27:30 +0000

flight 172120 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172120/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172073
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172073

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172073
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  01ca29f0b17a50a94b0e232ba276c32e95d80ae3
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   172073  2022-08-02 01:51:47 Z    2 days
Failing since        172081  2022-08-02 11:38:20 Z    2 days    4 attempts
Testing same since   172120  2022-08-03 16:40:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Dario Faggioli <dfaggioli@suse.com>
  Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
  George Dunlap <george.dunlap@citrix.com>
  Hongda Deng <Hongda.Deng@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 583 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 12:29:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 12:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380297.614394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJZyU-0004a8-3Z; Thu, 04 Aug 2022 12:29:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380297.614394; Thu, 04 Aug 2022 12:29:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJZyU-0004a1-0k; Thu, 04 Aug 2022 12:29:14 +0000
Received: by outflank-mailman (input) for mailman id 380297;
 Thu, 04 Aug 2022 12:29:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x682=YI=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJZyS-0004Zt-H1
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 12:29:12 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b437b90-13f1-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 14:29:11 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id v5so10229862wmj.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Aug 2022 05:29:11 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:8556:d1ea:dcb6:c7a1])
 by smtp.googlemail.com with ESMTPSA id
 n11-20020a5d660b000000b0021f13097d6csm1039829wru.16.2022.08.04.05.29.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 05:29:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b437b90-13f1-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=HePqTUzyk9/b4igAC6lHec/l8gyqdbLONAp25vjDuio=;
        b=E/3lrULZJ5AKCVGfhnqtOBV6gfyibXO8zLwWkSCifpl9JkfU2Djxn0Op8GGH962w1I
         AW3FwboZWfGhqqJZiguvfeqBzsUBVy7OH8JSJL3olaeENp1LIoFK8G51uA2rX70kp9nS
         PDS6IZlDkK3Z/T5PTufsFhJQo6/jsI8n5hG2AO/K+GcCIVbkYbrumDUalNWGlGGMzMzm
         NuuA99Q4dyrIddl6wvUmwxHfoGBrCNDoaMv0i23tPGxgbHAX0FEKHJptWNLrvlcFU3fc
         JKHwugLyZad0tGEIimYqIRH5COzUSB6S2ZIkwqhOKOIgC/dVI9tsCk8cP0J2ymM54/eN
         aHsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=HePqTUzyk9/b4igAC6lHec/l8gyqdbLONAp25vjDuio=;
        b=Seh/EyqZihl9u7ICVctFf7IdmmWLFol9J8HrXUqJMCrTDhBigVHtGk6JJZQH/ng28a
         Hn25IyxZcwD3B8g8xgVboqs3c15Oa6fgFQVq68cPxhKkYZ5OvYL+15YdXMAiuDtQXYHY
         dftJiGlck1L2YZTr7KJXZjQQllqck7sAD6blkHuGBRz6kgIWHdAB7gMiYF7ut7CM3B46
         giv/L/2pzzoLNyoDDJ64uH/zGzQnL/lacQF1cyJegU8JmgCoj5h0EWHYEJP05Ckbo21z
         D6wJFdWWAKwhuAALFBkHf+g+yjCcucLFaMjyayVj/W3l5LzAG8EvBwpeGTXWNFz3A6Pt
         mhWA==
X-Gm-Message-State: ACgBeo0axIpGskxQxAltb9BmQOGQjVoEbJh0/4VTGro747/pB1OOsDvu
	ljU3ctodLyRkGixM0vzQigsyqqxY/2s=
X-Google-Smtp-Source: AA6agR4sLjOdzR9fkgwEBrQv8pv8XGkU33ANqzACiDWZxf85jY8dNrJ+UkBeJxx0hmAuAbOhBhQimg==
X-Received: by 2002:a05:600c:a45:b0:3a4:d07e:112d with SMTP id c5-20020a05600c0a4500b003a4d07e112dmr1281750wmq.141.1659616151004;
        Thu, 04 Aug 2022 05:29:11 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] xen/compiler: Fix MISRA C 2012 Rule 20.7 violation
Date: Thu,  4 Aug 2022 15:29:07 +0300
Message-Id: <20220804122907.1821730-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In __must_be_array(), the macro parameter 'a' is used as expression and
therefore it is good to be enclosed in parentheses to prevent against
unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/include/xen/compiler.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index 933aec09a9..a563130334 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -123,7 +123,7 @@
 
 /* &a[0] degrades to a pointer: a different type from an array */
 #define __must_be_array(a) \
-  BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&a[0])))
+  BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&(a)[0])))
 
 #ifdef CONFIG_CC_HAS_VISIBILITY_ATTRIBUTE
 /* Results in more efficient PIC code (no indirections through GOT or PLT). */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 12:47:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 12:47:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380305.614406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaGO-00072w-LE; Thu, 04 Aug 2022 12:47:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380305.614406; Thu, 04 Aug 2022 12:47:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaGO-00072p-HZ; Thu, 04 Aug 2022 12:47:44 +0000
Received: by outflank-mailman (input) for mailman id 380305;
 Thu, 04 Aug 2022 12:47:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x682=YI=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJaGM-00072T-Le
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 12:47:42 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a076b22e-13f3-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 14:47:41 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id j1so16772920wrw.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Aug 2022 05:47:41 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:8556:d1ea:dcb6:c7a1])
 by smtp.googlemail.com with ESMTPSA id
 f5-20020a5d58e5000000b0021eed2414c9sm1066614wrd.40.2022.08.04.05.47.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 05:47:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a076b22e-13f3-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=MpNcmb2hnEu6GcDIJ3KzQgG2533n49yeVIN27EhZr7U=;
        b=UCw+/cRrKckbcLHYq+nMtjWyqlYVUh6PGCU9d/ZNSCHr+ysb7KchpE9O8BL2OvHOPS
         LIQscYNq2ce1pnNLt0GOH8gMWc6ceauuLImmTfnVvmAgDx/flJkRxRDKQNXGjeJSXzfT
         4nx+2FTaKFNTUrs/ZFvKweBKT/DIqE0YH7530b8R10artPy/V9SHfHDzeXL7i/4DLmTu
         RKnWt/4mn5tRSsFFOjua5aEsLczTIWGjnF0y6XF/TwDoKPLR7C8uzeFc+2nqt7UsCv3L
         Wxv0iJPeDYu5Xzlx/CoyDX8FvZ9Jfml89vjy5lNyvK5prGvBiE26tcOyFdDg63dnbSTP
         wQcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=MpNcmb2hnEu6GcDIJ3KzQgG2533n49yeVIN27EhZr7U=;
        b=j4i6EJxgmb7aiJZV+BUf3h3sY3re6Y7Lbj+kbPKra+EEZcS3GD96K1s3yq5uWnZdU1
         fVrrp+fed0gNAEm0oPh/KG2SE3TG+cnh5+d8W0MKJ0gsFTOQ9STJM4GDI/yVgWsYNhFh
         z4AciTB8F1DAyR+8GwBjtvLClmT8wrgjnjnif2gAa34qbqj6yXmbXPnWf63WuiWzFJn2
         Hu2GklNMp4vGhdE7rCdildZs2V1zhcT9jseUk1CIVZ/Y8awrzotiUm45eX0JFteC1UuF
         gKWzMsmDxbOp8BhLI4dCLad2wfejIpRV9eKZ9muDfIUPEV3NMbisovyEmXsRS3YR7zHL
         1sHA==
X-Gm-Message-State: ACgBeo0SVW2Jg6+Y6WTesx12cUFPtXEc6IaXDd/rEvMVjnnO+yVYV4Tg
	gHWyTGQlmzjtUOq97DDYSsYenlJXHRw=
X-Google-Smtp-Source: AA6agR4wzGed+zTDTwm/lvkyd6L82b752jvz2Z+WiggVXS9sPSn9RZcQe5OpjXKqvY0Q+iDFnJrx5g==
X-Received: by 2002:a5d:54cb:0:b0:220:6426:6219 with SMTP id x11-20020a5d54cb000000b0022064266219mr1283046wrv.461.1659617260324;
        Thu, 04 Aug 2022 05:47:40 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>
Subject: [PATCH v2] xen/hypfs: check the return value of snprintf to avoid leaking stack accidently
Date: Thu,  4 Aug 2022 15:47:36 +0300
Message-Id: <20220804124736.1827246-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function snprintf() returns the number of characters that would have been
written in the buffer if the buffer size had been sufficiently large,
not counting the terminating null character.
Hence, the value returned is not guaranteed to be smaller than the buffer size.
Check the return value of snprintf to prevent leaking stack contents to the
guest by accident.

Also, for debug builds, add an assertion to ensure that the assumption made on
the size of the destination buffer still holds.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- add ASSERT_UNREACHABLE()
- update commit message accordingly

 xen/common/hypfs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/common/hypfs.c b/xen/common/hypfs.c
index 66026ad3e0..7b3377d46e 100644
--- a/xen/common/hypfs.c
+++ b/xen/common/hypfs.c
@@ -377,8 +377,10 @@ int hypfs_read_dyndir_id_entry(const struct hypfs_entry_dir *template,
     unsigned int e_namelen, e_len;
 
     e_namelen = snprintf(name, sizeof(name), template->e.name, id);
-    if ( e_namelen >= sizeof(name) )
+    if ( e_namelen >= sizeof(name) ) {
+        ASSERT_UNREACHABLE();
         return -ENOBUFS;
+    }
     e_len = DIRENTRY_SIZE(e_namelen);
     direntry.e.pad = 0;
     direntry.e.type = template->e.type;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 12:58:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 12:58:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380314.614417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaQH-0000BP-OA; Thu, 04 Aug 2022 12:57:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380314.614417; Thu, 04 Aug 2022 12:57:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaQH-0000BF-L6; Thu, 04 Aug 2022 12:57:57 +0000
Received: by outflank-mailman (input) for mailman id 380314;
 Thu, 04 Aug 2022 12:57:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJaQG-0000B9-R3
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 12:57:57 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150083.outbound.protection.outlook.com [40.107.15.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0deb4618-13f5-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 14:57:54 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7671.eurprd04.prod.outlook.com (2603:10a6:20b:299::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Thu, 4 Aug
 2022 12:57:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 12:57:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0deb4618-13f5-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LTsV/O230l/kAycvpcOiQLo43ItRPZbAusDPMMLdr+9XHpf745Kw/wz24i8H+6Olf6q87Uy3BZp9H13RZtITNVYk0dg0Oom6Glw9YkGTQmledEyvzxs4ucZNaO6TgN/r0ZGYc43G7VaSm5OtU6gzcHRYiUHPtn54r7lYkZArdJTcMpzpRFAS5hbCjRTKi14ZJJDH+QZkGBd3aGzIDOwwDf9KR7avwhVoFGgrsWB8DTRP3R23HCojNtz52RFYvxvBFTb1gJ+mCpDUZNQQQD/SCThj7L8/mHSO0Hgi3TnjGM2XUEEVTQ1kgqdUUyaczhpIbks5cLRTcBiYobUm7Mq8gw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GX863cdnPMGRfoePH0UbtwPVNoWdonpfCfVzTBXZXQQ=;
 b=TAMtmBuGKAOAAF7rLdsjaX1KkPscbpnKupv/GUTXIYMNC8G3dCKWIupnw8IshpdUbBDMlqGJu+oagGK8JiqfImbSE17YuDJpdwurxCFl3gj6xCVoxjLEywyESI3FLRnYS9bjwRi3ZsyzyuAMr0tISWXz2bcz0MAZPPrrlx1mtiRWffLhjEnZKxHXndTVVYQBornswoLAJXsg0uAR2ksILSM1LCAQUWmCREWzrPqaFnMJx63nSiTObRFysiQ36xDJN4QUSmKKIt1Q5PDEkqViLLpkC0QuWVGgeMlM2dnCQTGDB6lFhFs9g4r4qsUWeJA35qYLPQ9IfZEQuKYVUeUqSA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GX863cdnPMGRfoePH0UbtwPVNoWdonpfCfVzTBXZXQQ=;
 b=d9MZ2R/9Yq6L34R5UpKdXltM4iAhxB64aLOdkdUV5CZimN30nj2D2JL8SnGe7euOlsmxMO21spwSnMCs/ZB3VKJyxaBVumXO446UelAdKE59ERZsRXCBDoPRqBID0HutRYKjzTnmPGNi2/1Q1yXsMkr1vhwVkfOZXS3JIdW+v+aXrGtiWkcwpLu6rhhpvweufw/XDYETXtEwFx7X0AUHOsXkiMUHuIalg8FhvnqLOCZf8g0CBGdo2wEvH1Gfh95kmOFENUr2DI3YAXytKkPNIbgfJoNpMK2cO9xikdvHzozPtkk5yuneT75U1W5hd8ninDT8mHA1aCpP9H+ZVcIcjQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com>
Date: Thu, 4 Aug 2022 14:57:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6P194CA0106.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:8f::47) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6872a1d6-f9bb-4bcd-2b3d-08da7618f0de
X-MS-TrafficTypeDiagnostic: AS8PR04MB7671:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UCd9aoDKgdNH6oinhJvddJm8za3SmgUXBXp3s0juUa8Kusw95FiSggIUttVTBmoQhM0INmP/GtU2wK/34FFyVdNHzRoUBIj/gLy/lUDILug0mgUm69fR+/NEWyfZgUOYg76f9xqjIVIZRGpRr8T1y0RVZr+FNQ2FUroz+9ev/Wfek4J/QlhUVEleEcY+gmYX/Zbx7qWoaoPedcJ7m5USVEBI5k2rapMWotH1kv7NGgl1/Kq6OBz0RT0CM7+X40dAHFjBR4TgQ0rfv0GjoMVULTRpdWQ0jzJsF+IvAonkFl4ambfAjNlMnE889dOROju74SFl5kJSQOII9OWGyqVcSDwPH2M2carwTgvZW9nkhjywA2gt7U5+TmkDnMqrQZ4L7wAZn7UXVSktIcmlhEnXz9ikuk4wr+PRdsJwqDgvFFURaAsBxuCw5irbDdyG4sz8L7nuIsZkw9z7xygFhkMEfMUdEYDCRrVHPsMketogFZ/GkaxmZSCZrTFprvl68CO2JeOBlHesQmEea4wGSvwPNpUhTU8kdF8gMBP3OYNW5OsCRuHIJKVC84hfyG89qFiRBqrk91oLRS5mvkqhLkOOBaxJRiyJ7+PQU2TyNYsujjr3u7PgTIF4dqvoYZBb4/n7z0Zo3F+fWUh4wwoZrCMjyx3zqi6c77YhLkGvsEmBzF3zRzkFs6qPwip9Ze4ko4ZcUsWtn9IkJlaDyVxhz/AKca71HSBoOT9am01gHWXRDiMdOnkFk1b/hN1Zm/Ad9iF6ylm9jaLK/qwbTPNMkebqAWNJ/aXguY9C57bxgpklToMr4dHJPNE8lEmBta1qXkDdXRTVaiGnav5E4JEUNJMGMQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(346002)(396003)(366004)(136003)(316002)(36756003)(38100700002)(6486002)(6916009)(54906003)(31696002)(86362001)(31686004)(2616005)(83380400001)(186003)(26005)(6512007)(478600001)(6506007)(53546011)(6666004)(41300700001)(8936002)(2906002)(5660300002)(66574015)(8676002)(4326008)(66556008)(66946007)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VnZZS2ZlS0lQWjgzWDFISHJPYlJrZ29lZUJPcHVzMmxuT3BndyszWTZpUGVG?=
 =?utf-8?B?Tno2QkcxOUJIM3ozSUwrYWhBUG9SQk9uVWJQU041RCtnc1psTDFQYXQvQ25u?=
 =?utf-8?B?NENyaGdwMWxzbzhyZzcvemttQm1SZEVEdkdLTTJ5WEVMbURJUFlmNlJ6VjJC?=
 =?utf-8?B?UlIxNkJzNnloU1hGemJaQnFkVURKY0FhK1dCTnZVNkM0Nko2U0tQeHBtUEJJ?=
 =?utf-8?B?UlNwYlFBVGlUZENRYWVaVGVQUkVLdTNvSm81QU1EOGlXRUl1ZUJVRHgrRjdU?=
 =?utf-8?B?eUYreDNWNXNaNExrU1c0YVVSbEUvZ2RraTJtMmRBam5QdzQ5cGh5REFaOXhF?=
 =?utf-8?B?L291aEVBajNJdlI1SE5uZkt1VG5vOHZPSU41VTJxVk9Ya1ZxblU4WEdEL0FW?=
 =?utf-8?B?bnFJd2ZsTGk3OStyQzFJcWI1cFBpZ1BnNmY0cW1NbFBvZWptUlZUTys4enIv?=
 =?utf-8?B?enlMb2p4VGo5czdyaGQ5MzZ6bUMvQkVtdk85UG5XVDRraDJNa043K1kzaXNR?=
 =?utf-8?B?bXlFSnRJS3JWRy92UjNpendKcjZUNEJmbmJDcVIzTS9QbHJWRGIzc3FMcUx6?=
 =?utf-8?B?SW04eWhCalY1SUVGUlNzV2JTTFVhbDhmTEhxcEtDa0NRak45b1o2eWVuakhC?=
 =?utf-8?B?bWp0SGRiSnEySUN2U2tveUNKV0lnY2JEaWRFeW0rOVNuVDBiWWtMSEFRYWpx?=
 =?utf-8?B?c3ZyeTYvUjNJcGZhUGh4VUF5WVpQaEw1UE5iakdFMDAyb2lyV0JYUzJVcm9R?=
 =?utf-8?B?RFNWaGZ0Q3ZtZTViRW1qSkYxK09nbGxWb1ZmVXdMSUtrajhEZmJqZUdRM05n?=
 =?utf-8?B?RTZJZmI0UEk5cVUvbXZHck1kb3FMaUdSVldhODR6eGRpb29xcHFFSHR1T2hz?=
 =?utf-8?B?WXdHckI5QnVSZzVUQzhUcU9jck1SM3E4WUtxTFg1a3RSMGk2Z2c2N2lKcm9a?=
 =?utf-8?B?RjVnaiswVW8rNmdPaWV0clpiYk1RTkVmMGFhNVZIaVFnN1ZpT1ZiRjIwdmZD?=
 =?utf-8?B?M1I4T1BCZjZXdzRxWXBHQTFaWEFDSkxscENOTXBHd1Yxa0s1cENNWGx3VHNZ?=
 =?utf-8?B?SnVLWHEvQWZPc0xtUzVLOE5sTjN4ekJEazZnRUVFQkRRV2l4L1ErNVB0NkQr?=
 =?utf-8?B?TjRrcHJtbnpQMExxbmwvSDJCbUI2ajBlTkMwMHRaYnM1NmZ0dlJyc2JiNElF?=
 =?utf-8?B?T3pJcVJ4d1NuaXB5NXJ6Mk5ieXlzc3REUGs0WlYveFphUExPVHZQaHdHeUFh?=
 =?utf-8?B?WDNNOS9maE5IWnlxbTJjeERjc0ZINW4xa3AvTnpzV1VYUmtSMmRmQUhSSUdq?=
 =?utf-8?B?anpzdGlTams5ZWFkTFM0ZC9oajZrT2NOZ3VneTQzZEFLeHBCMldPVzV5anJk?=
 =?utf-8?B?aXdDMmREVk1aZzhWUG5oNkd2YjNSVHNHL1J0SzkyTmFmeVlzdGNwaTA5NUVT?=
 =?utf-8?B?ZFlHMDJIV1FqRmNEdS9Gd0w4ZjZnQlB3QjhIZ0hOcUovWGtmc1dsWWhwNi95?=
 =?utf-8?B?c3dRVDJYN0pLMjhsZ3FMZnVyeUJBd3RxK1ArOE92N29vWjhvb3J3Si9xQzJL?=
 =?utf-8?B?U203R1BIMCtCK1lTZ0dZRFVEU0tpUmt3cEZzcG9saloxNnc5NmZCSjdVVHA5?=
 =?utf-8?B?dCtmaFhTQnFGb2ZzOVp0dnh6enlXL0cyWTgrN3crcFkzb0xwd3YrUmxjeG1Z?=
 =?utf-8?B?eWFPRWdldFNLRTlsK3JHeE1VR3JLWGxtc20zSGtVWDZGMXZ4emJmcTNJc3Iy?=
 =?utf-8?B?SWh0ZUdYRVI5NUFkNHI2TWVQVnVlUzZGb3JhZitYL2VyaUNFU3NyQStmWGU0?=
 =?utf-8?B?S2FzdkphdGkwcmdnV1Aybk0vYzNFYXAybENscUlNQk5uMm42OXhQU1lZRk1S?=
 =?utf-8?B?enpaZFRGaEZHSlJ5OTBrU3BvbVZzMHJmckdYbWhRV1k4cFBsNnRHNEFyd2xU?=
 =?utf-8?B?UmNyWEloVTVRclNDSThPVjlZQlo2WmFlWkhSSGg0cDJ3OUJJZk9oTHdadjBw?=
 =?utf-8?B?K1BUb0tIK3E3a0hiMmIxQWZJWnB6VjFTK05COUZ4cDZEZDA0YVVLNHNRMkJn?=
 =?utf-8?B?Z0lwZ3dSNUtvdjhrdlJoUks3Umxna2ZUOGNjTFlTa2tiVGtYRk1BZ2IvcmN6?=
 =?utf-8?Q?G9NiRb3yq13utzp7fbqjnvMHw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6872a1d6-f9bb-4bcd-2b3d-08da7618f0de
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 12:57:52.0918
 (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: kuUCpsHMetjr3iW6/sTw1Gbx+WaVDrfhC4PPeQ3OEAJg8y6tTS7Ou4vEk9WXate/WwlQd06A3OCnncSaglVymQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7671

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> +/* Defines the size in bytes of TRB rings as 2^DBC_TRB_RING_ORDER * 4096 */
> +#ifndef DBC_TRB_RING_ORDER
> +#define DBC_TRB_RING_ORDER 4
> +#endif
> +#define DBC_TRB_RING_CAP (DBC_TRB_PER_PAGE * (1 << DBC_TRB_RING_ORDER))

I have to admit that I'm always puzzled when seeing such - why not

#define DBC_TRB_RING_CAP (DBC_TRB_PER_PAGE << DBC_TRB_RING_ORDER)

?

> +struct dbc {
> +    struct dbc_reg __iomem *dbc_reg;
> +    struct xhci_dbc_ctx *dbc_ctx;
> +    struct xhci_erst_segment *dbc_erst;
> +    struct xhci_trb_ring dbc_ering;
> +    struct xhci_trb_ring dbc_oring;
> +    struct xhci_trb_ring dbc_iring;
> +    struct dbc_work_ring dbc_owork;
> +    struct xhci_string_descriptor *dbc_str;

I'm afraid I still don't see why the static page this field is being
initialized with is necessary. Can't you have a static variable (of
some struct type) all pre-filled at build time, which you then apply
virt_to_maddr() to in order to fill the respective dbc_ctx fields?
That struct will be quite a bit less than a page's worth in size.

If you build the file with -fshort-wchar, you may even be able to
use easy to read string literals for the initializer.

> +static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
> +{
> +    size_t i;
> +
> +    if ( size != MAX_XHCI_PAGES * DBC_PAGE_SIZE )
> +        return NULL;
> +
> +    for ( i = FIX_XHCI_END; i >= FIX_XHCI_BEGIN; i-- )
> +    {
> +        set_fixmap_nocache(i, phys);
> +        phys += DBC_PAGE_SIZE;

While there may be an assumption of DBC_PAGE_SIZE == PAGE_SIZE, the
constant used here clearly needs to be PAGE_SIZE, as that's the unit
set_fixmap_nocache() deals with.

> +static bool __init dbc_init_xhc(struct dbc *dbc)
> +{
> +    uint32_t bar0;
> +    uint64_t bar1;
> +    uint64_t bar_size;
> +    uint64_t devfn;
> +    uint16_t cmd;
> +    size_t xhc_mmio_size;
> +
> +    /*
> +     * Search PCI bus 0 for the xHC. All the host controllers supported so far
> +     * are part of the chipset and are on bus 0.
> +     */
> +    for ( devfn = 0; devfn < 256; devfn++ )
> +    {
> +        pci_sbdf_t sbdf = PCI_SBDF(0, 0, devfn);
> +        uint8_t hdr = pci_conf_read8(sbdf, PCI_HEADER_TYPE);
> +
> +        if ( hdr == 0 || hdr == 0x80 )
> +        {
> +            if ( (pci_conf_read32(sbdf, PCI_CLASS_REVISION) >> 8) == DBC_XHC_CLASSC )
> +            {
> +                dbc->sbdf = sbdf;
> +                break;
> +            }
> +        }
> +    }
> +
> +    if ( !dbc->sbdf.sbdf )
> +    {
> +        dbc_error("Compatible xHC not found on bus 0\n");
> +        return false;
> +    }
> +
> +    /* ...we found it, so parse the BAR and map the registers */
> +    bar0 = pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_0);
> +    bar1 = pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_1);
> +
> +    /* IO BARs not allowed; BAR must be 64-bit */
> +    if ( (bar0 & PCI_BASE_ADDRESS_SPACE) != PCI_BASE_ADDRESS_SPACE_MEMORY ||
> +         (bar0 & PCI_BASE_ADDRESS_MEM_TYPE_MASK) != PCI_BASE_ADDRESS_MEM_TYPE_64 )
> +        return false;
> +
> +    cmd = pci_conf_read16(dbc->sbdf, PCI_COMMAND);
> +    pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd & ~PCI_COMMAND_MEMORY);
> +
> +    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_0, 0xFFFFFFFF);
> +    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_1, 0xFFFFFFFF);
> +    bar_size = pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_0);
> +    bar_size |= (uint64_t)pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_1) << 32;
> +    xhc_mmio_size = ~(bar_size & PCI_BASE_ADDRESS_MEM_MASK) + 1;
> +    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_0, bar0);
> +    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_1, bar1);
> +
> +    pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd);
> +
> +    dbc->xhc_mmio_phys = (bar0 & PCI_BASE_ADDRESS_MEM_MASK) | (bar1 << 32);
> +    dbc->xhc_mmio = dbc_sys_map_xhc(dbc->xhc_mmio_phys, xhc_mmio_size);

Before actually using the address to map the MMIO you will want to make
somewhat sure firmware did initialize it: The EHCI driver checks for
all zeroes or all ones in the writable bits.

> +/**
> + * The first register of the debug capability is found by traversing the
> + * host controller's capability list (xcap) until a capability
> + * with ID = 0xA is found. The xHCI capability list begins at address
> + * mmio + (HCCPARAMS1[31:16] << 2).
> + */
> +static struct dbc_reg __iomem *xhci_find_dbc(struct dbc *dbc)
> +{
> +    uint32_t *xcap;

const?

> +    uint32_t xcap_val;
> +    uint32_t next;
> +    uint32_t id = 0;
> +    uint8_t *mmio = (uint8_t *)dbc->xhc_mmio;

Can't this be const void * (and probably wants to also use __iomem),
avoiding the cast here, ...

> +    uint32_t *hccp1 = (uint32_t *)(mmio + 0x10);

... here, ...

> +    const uint32_t DBC_ID = 0xA;
> +    int ttl = 48;
> +
> +    xcap = (uint32_t *)dbc->xhc_mmio;

... and here (if actually using the local variable you've got).

> +/*
> + * Note that if IN transfer support is added, then this
> + * will need to be changed; it assumes an OUT transfer ring only
> + */

Hmm, is this comment telling me that this driver is an output-only one?
Or is it simply that input doesn't use this code path?

> +static void dbc_init_string_single(struct xhci_string_descriptor *string,
> +                                   char *ascii_str,

If this function has to survive, then const please here and ...

> +                                   uint64_t *str_ptr,
> +                                   uint8_t *str_size_ptr)
> +{
> +    size_t i, len = strlen(ascii_str);
> +
> +    string->size = offsetof(typeof(*string), string) + len * 2;
> +    string->type = XHCI_DT_STRING;
> +    /* ASCII to UTF16 conversion */
> +    for (i = 0; i < len; i++)

... this missing blanks added here.

> +static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> +static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> +static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> +static struct xhci_erst_segment erst __aligned(64);
> +static struct xhci_dbc_ctx ctx __aligned(64);
> +static uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);
> +static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> +static char __initdata opt_dbgp[30];
> +
> +string_param("dbgp", opt_dbgp);

This duplicates what ehci-dbgp.c already has. I guess we can live with
it for now and de-duplicate later, but it's still a little odd. In any
even please move the blank line up be a line, so that string_param()
and its referenced array are kept together.

> +void __init xhci_dbc_uart_init(void)
> +{
> +    struct dbc_uart *uart = &dbc_uart;
> +    struct dbc *dbc = &uart->dbc;
> +
> +    if ( strncmp(opt_dbgp, "xhci", 4) )
> +        return;
> +
> +    memset(dbc, 0, sizeof(*dbc));

Why? dbc_uart is a static variable, and hence already zero-initialized.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:02:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380322.614429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaUG-0001bW-Ae; Thu, 04 Aug 2022 13:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380322.614429; Thu, 04 Aug 2022 13:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaUG-0001bP-55; Thu, 04 Aug 2022 13:02:04 +0000
Received: by outflank-mailman (input) for mailman id 380322;
 Thu, 04 Aug 2022 13:02:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJaUE-0001bJ-J9
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:02:02 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a13eb3b7-13f5-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 15:02:01 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB6368.eurprd04.prod.outlook.com (2603:10a6:803:11b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.23; Thu, 4 Aug
 2022 13:01:57 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 13:01:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a13eb3b7-13f5-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IVx18/oN/CneRJ+JyafTUrdDMuNw2/USgvQSI9z73Y6DOFJ8yE3YXWUOxb1fMgMehYqv9mvEdZSZQsGGeZjL9ut3ircO3LRjtY+gzrF/Z4VH32ec5FkJHF+CsHuXMw5+eOqIKWyYeqgi9VA+y7KToS3DCUA4+Vb0mIdz259W4c1vr2MOINEXauOWl8lCxl77xTFYsAEtmDeIYo932AT0rXDB7Qzak9Ognf9sCBvDTkQhKekdVSiZtYPbfNMPwBca2zbZA1N1WXJPBfe0/IvsN/VGRuu6FID0RvjlPScE44iLzxEfpYxYAKKULHKd//aOpc5drnSE9+43mQcmL+ENyQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/vzvY8rG5JYcO+qztovyVcromDl0fq1H7CGGj60lwXI=;
 b=fkXH5AHx30R0UyLXIF+eJSWBqw3O7/FTTf2lp01cYuNm6sWu7WMGIam9cjNRMJAwPoZocxKlazr3rF60jZMw3L6xnJCPAZ9Tjd/hxk0iKBNpEe83HDhQovCoyxRT/jajpVWtCxVXRmm6zE/07LRm7IKNBkd+1H8m4jiCU/iByzIrg6arybD/p0hLNFc28J10UoM3BOPkchfY6DHt+5IIDWtoDX+C32iatOjb0oQj5xUO/1vPQFEI4BuzmDhgxEEgPM3IWKX1CCzCW/cp0h3Zeg1UZGu3Hpf5ZiZDFyzFlMerdY7LiHEvdFcKI27fN3rmRIbvzD7RaV+yeGUou3M2Fg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/vzvY8rG5JYcO+qztovyVcromDl0fq1H7CGGj60lwXI=;
 b=4VO+ADaF6ClzydhPyhIQPbszY63dyg8BbZDR/C5vo1+/I3CJKozKnTQTmzpbceXDRyzkV1x38Gb2okWboL7W+v910r3zipQ1ALjyKca8nVYl3cF4xu2zVQpjsmrXCkdUDvJ423dCzVgDMBuhfihyP+fTUpPgKEqD1a2wOL45lB6kj4UmTwmZ+9uu2FGi+rA/8MY9ySEvNHMcUat8HopNZ8/rPK6wfP3dt5b4eYzANRJGm+GbkKpPC6vuL1V0pzAxu3cFbCSy9HNOIO610RJBH/fZU3S2xOTtTx6stfbSrMA8mNxoix4OBsL48/x3XWZdqXoKICYE7nr6MX18soN7MQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <be627b72-9f68-2deb-5639-2e7731f3e8a6@suse.com>
Date: Thu, 4 Aug 2022 15:01:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] xen/hypfs: check the return value of snprintf to avoid
 leaking stack accidently
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20220804124736.1827246-1-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220804124736.1827246-1-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0055.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f80acccf-cda7-464f-12d8-08da7619831d
X-MS-TrafficTypeDiagnostic: VE1PR04MB6368:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hoVGX8LVkqqIJ/f5UPBzU95jR4uthvKQN92pebjpUqg7mbVbmxEQ03MbdwGdvQYqsIbg0CtQZ6b4U3w5G+0TLQEB8WV5gs8MJKtSjl2JHDtfgoHxJumw5TdhJTFAD0jrWrgMFAP439eife0vVcLI04SbZM3UmXM6Jr2M/D48GyYgdSsK/RCUD7/f/jwPfBGfyiZ4ShK1UuoxYWmM0ZENwkFV9ECdK0lqJ9Fxl2+hJFOBrFe3sGemF6uX5pg3fd+v0lQVTpQOE5+3ejSBQNFgGuIHiT9jyDXOEwaS+nBpKTnS9WzW6IafVq6Zmz7l1ryNSehELjSHtiwwUhZzsxWKtwDu93593o4W7Cst/bG2EreG2wtxTt2u8eWtfwv4o4hDw2lR7RR2XDo9bmAVp6kWZ8UObDOtXtrD/0P49PD6yBpH6T0M7XZxD8xkwQAoMK+XhYG10ToixfaLPKmfVHrlKDKxEmBPYGOtGx6CIhxs6bgbEoD55jZg5dybpgQygCfZjdEhHYBpfRtz4kOVcdRY88/5RZ5V6FApA9gCHT5K4hOtKZQNKbytuqMU1bxDj3lbWhNr8EneWQurd5/2fkGHhett+tJ6H2DYhF5CulT88XE1Gc8g6TnnViuCiheCwbszhwRrylbjiZlSiqsHMEcqWztonjJPbQth2Gh3rCAdiV3wzlKCtmzYsGSrhg7xVkKFESEqui+CwEd/y/9n6I/BultQVg8tKdOvr7LeAh0St1kdrbjPCo8wQBAxhZL+DIeTEUMkaBnn8w4YOrbdBIl69+5oQqes4uP7qdyVtBVK8jbGcPg1c12mwPmA+Qee2exyWV6uQkOOwb9nHfwI1cpfQw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(366004)(39860400002)(376002)(136003)(31686004)(26005)(6512007)(8936002)(36756003)(478600001)(5660300002)(66556008)(41300700001)(2616005)(6486002)(66476007)(66946007)(8676002)(86362001)(31696002)(4326008)(186003)(4744005)(6916009)(53546011)(2906002)(38100700002)(6506007)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkl1dVN4V0hzcjBXQXVlblVuYmh6SnBnRlpSWllSS3F4Tmdjb29leEIzUHN1?=
 =?utf-8?B?SVhHMGxpd0xQWUFucHVyNkJJM1dHMkhoTjU3YVk3YXYwK2NIdVZjV0NqaEpM?=
 =?utf-8?B?Z1RaY09EeC9OVmhRcDEyYkhRa1ZQQ0ROOStMWHZOZ3JwOHFsc2RRZmFlRWJ0?=
 =?utf-8?B?Y2ZZdTdiU0NHRmNwMkVTUXVZR0dnK1UyckN0NjNMMGwxV0RHcFNrcVRZRWhw?=
 =?utf-8?B?ZGlFVEVRWm1aRmUyNDdpMkltOVZlVkZrUk1SWloxbTR6UHdUUzRyazZMVUd6?=
 =?utf-8?B?SWtWQzV4U3JRcG9nU0RRdnFVNWJzZjlxZjc1VlFQc1luYlVMVlMxVng5NW9G?=
 =?utf-8?B?Q1hhU0lEQlBZdExMdTIyNmUyeWdSYllvVk5zaEQ0UkZtbkplYlhpWTRjQklU?=
 =?utf-8?B?ZnVwc3hnWVR4ZWNNV3NsekhzTXh0Q3JoZU9YdUJOU091eHV6MmkwcWtjaWxL?=
 =?utf-8?B?U1ZjNm5ZUzN2SHVTT1hiMU1VREI1Q1R2OHlSZzdQRTlnRFYvVDR3ci96b0J0?=
 =?utf-8?B?YWZlZVdkazdGRWhjaDRtZ0NKWndDMHhIdkdteWw2L3d3WmUyd1pYSlJxdDhW?=
 =?utf-8?B?WVJhY3VUZEx1a0kvUDNUM1Y4MGtwb3VPS2VLSms2bHpGeTJiT0I5c05UWC9m?=
 =?utf-8?B?N2x0L1pFVXRPTldnTkYvZGZWQjJsVlRmZmpSOUhRNXNlNUNIaUdEYm5ENEJS?=
 =?utf-8?B?UWU2Rjc0aVp1UG1HZ1o3Mk9UUm56WXgwckxvMTkyYUZ1TDhZRjNaUjZsUU1R?=
 =?utf-8?B?dVBNZmtYVFhCSDNHRGlJam9JTmM4YmxEK2N2Tm1SNFV1dXdhbXV4RmY4N1lG?=
 =?utf-8?B?UEFxS0swN1E2K0tHc0ZRWHZtL05BeEU3MWorL1FqQldQbW1lTHpmZTdNb3F5?=
 =?utf-8?B?TmpYdU1zWi9MK2FuZ0ZJdXlZVDNvTDZwWnZQVi9XZ3p0akpTbkJnRjA0NGI2?=
 =?utf-8?B?SzJWSHFVdHE1UXdCLzJDcDRraUdXeDJuTW5OZG5LRk9DaGlaV0lZbHVYTG1j?=
 =?utf-8?B?MVJUb3FyRnJGeGhmeEY1b0REcGFORlN6MmtPNHlkSHNKQ3ZnVXl4bEJBNjVv?=
 =?utf-8?B?ZUg0ZWdPaUZBYTZLYzRvdEdHUnQ2RFd5cVhwMnRRN2ZLK0JQTDlKcmNDRGRa?=
 =?utf-8?B?d2VLN1dReHZCYzJtNysxMHo5T3ZJcUkrMVh1WmRQMGRDenl3Y3d1eTBvaU1H?=
 =?utf-8?B?WUJBLy91a29ZVmtKTWpqc0J1eEJxTTB1VUsyYTBkRFdWYk1mVloxcGVXUkh3?=
 =?utf-8?B?cHQra1VlSWlnQnRIR0ZrcWQyQjBZSUVnbHZVSTdYQkduUTE0Y0JqZHFrRkRi?=
 =?utf-8?B?S2RqYU5mVTNEZE5abWs0WDQ2S3l5OVFKOTZvOVZFcVlQYWQ1Vi8veWVRUXh6?=
 =?utf-8?B?ZElJdlN3cTFtYXNsanBkazRtZUJBYTd0R0NLRXdJa1VEdG5kRTRYc2MvYmlB?=
 =?utf-8?B?R3lhZ2xQVjN1bGd6YVVOY3NBNVBUZWZSaWx5ZkNKOGNyOE8rTTE2YnVrNjAy?=
 =?utf-8?B?Ni9SV3B2WlpJWE1wSXBYb3JRZmxYRUJnbm1xdWRleGZMUnlMbTJIa2pjZzhI?=
 =?utf-8?B?Mnpaa3NxWWpBenJFUjFQemlHOU1KZEpGRTFXTDVQUUltTkxWLzBmV3FiTkhn?=
 =?utf-8?B?M2JEVGk3K0N0cGlRaUtpbnp4QmxYV05FK2pxc3FSckZ5RVJYZzIrU3VuejRJ?=
 =?utf-8?B?WnZIQXhITFVhZGZvdUZlU3c4WHIxbkpMV24rRURVNU43d0hPcmZ0Mk1uN2NP?=
 =?utf-8?B?dUFsRHZKcnlvUWlBMHRQQUR3QlRDQjlBa0JGVy9SNUdLZXhyNS9ZQUg0cmpE?=
 =?utf-8?B?c2ZraUg4cllTZWtFeWFoWHF1R01FeW0xTEVTdE9wV25hYTdDOTRhZlo1YUto?=
 =?utf-8?B?M25RNXhrS3Jmdlh5MTMzWjVwN1VVM3lpVkVOVmF6ZnplUDFSeGZDMnRMUXZM?=
 =?utf-8?B?YWVLd3NCWkNyMGNKN1pOZkZNUXNmZlljS3B6VXFGbERtTi80Q3IvbVpZdWtm?=
 =?utf-8?B?S0lNMnRjQUxtaG9jMkVzclFLeVpCZ3IxdmVoRkx6VWxLOWxCU1pwanJPYitj?=
 =?utf-8?B?K3RhbWFqYU1VQ1Y4SGQxdjN5Tmp5ejkvRi9RRUhJQVNHSzlBQ0lYTGtNU3JR?=
 =?utf-8?Q?FkLBxP3EX5JOWzZnMpAw8pM5v?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f80acccf-cda7-464f-12d8-08da7619831d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 13:01:57.5139
 (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: i8PNbnnNcPvy7cW6CfM2ZHw3Nwmg0qtooDk71x1BybRrmLuJexLDofrJG437jE1yFDEJWNGfLAYKFtVmkQQK5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6368

On 04.08.2022 14:47, Xenia Ragiadakou wrote:
> Changes in v2:
> - add ASSERT_UNREACHABLE()

Hmm, this ...

> --- a/xen/common/hypfs.c
> +++ b/xen/common/hypfs.c
> @@ -377,8 +377,10 @@ int hypfs_read_dyndir_id_entry(const struct hypfs_entry_dir *template,
>      unsigned int e_namelen, e_len;
>  
>      e_namelen = snprintf(name, sizeof(name), template->e.name, id);
> -    if ( e_namelen >= sizeof(name) )
> +    if ( e_namelen >= sizeof(name) ) {
> +        ASSERT_UNREACHABLE();
>          return -ENOBUFS;
> +    }

... looks to be an incremental patch on top of v1, not v2 of that
patch?

Also please correct the placement of the opening brace.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:02:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380330.614439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaV6-000281-He; Thu, 04 Aug 2022 13:02:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380330.614439; Thu, 04 Aug 2022 13:02:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaV6-00027u-Ei; Thu, 04 Aug 2022 13:02:56 +0000
Received: by outflank-mailman (input) for mailman id 380330;
 Thu, 04 Aug 2022 13:02:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=FmRb=YI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJaV5-0001xp-Bz
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:02:55 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0e887af-13f5-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 15:02:54 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id AC06F4E463;
 Thu,  4 Aug 2022 13:02:51 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9272113A94;
 Thu,  4 Aug 2022 13:02:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oDwtInvD62LVUQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 04 Aug 2022 13:02:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0e887af-13f5-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659618171; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=vn07+/KBJM4yq08D0Uz+x625eQ+Ty2UMvmqpzwisQMU=;
	b=P4cwfiuxKMRqxhcE8eQ/3rilON6mAcXQy9DzS5IJJFdCbewYU3BN/NhDiLbIBb+DJpgRtz
	0r0stL1XU6MzWTq31RuKUdMSOaV494GFVoOzVr9RT/0NEmGC32U3o4/FSmALDH9Pmsg9Df
	X0bbpgNQDLqJuBppurlaK1+Y2gDBchA=
Message-ID: <45ba9945-c0b4-959c-329c-de2de56def19@suse.com>
Date: Thu, 4 Aug 2022 15:02:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] xen/hypfs: check the return value of snprintf to avoid
 leaking stack accidently
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org
References: <20220804124736.1827246-1-burzalodowa@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220804124736.1827246-1-burzalodowa@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tZs6lhB3bHKCDrj4SEm7tq0A"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tZs6lhB3bHKCDrj4SEm7tq0A
Content-Type: multipart/mixed; boundary="------------WPQp0GreAAWdoPEIcvHm2UVl";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org
Message-ID: <45ba9945-c0b4-959c-329c-de2de56def19@suse.com>
Subject: Re: [PATCH v2] xen/hypfs: check the return value of snprintf to avoid
 leaking stack accidently
References: <20220804124736.1827246-1-burzalodowa@gmail.com>
In-Reply-To: <20220804124736.1827246-1-burzalodowa@gmail.com>

--------------WPQp0GreAAWdoPEIcvHm2UVl
Content-Type: multipart/mixed; boundary="------------n1LnfHunjx0q0CURLShRxgdp"

--------------n1LnfHunjx0q0CURLShRxgdp
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDQuMDguMjIgMTQ6NDcsIFhlbmlhIFJhZ2lhZGFrb3Ugd3JvdGU6DQo+IFRoZSBmdW5j
dGlvbiBzbnByaW50ZigpIHJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQg
d291bGQgaGF2ZSBiZWVuDQo+IHdyaXR0ZW4gaW4gdGhlIGJ1ZmZlciBpZiB0aGUgYnVmZmVy
IHNpemUgaGFkIGJlZW4gc3VmZmljaWVudGx5IGxhcmdlLA0KPiBub3QgY291bnRpbmcgdGhl
IHRlcm1pbmF0aW5nIG51bGwgY2hhcmFjdGVyLg0KPiBIZW5jZSwgdGhlIHZhbHVlIHJldHVy
bmVkIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIHNtYWxsZXIgdGhhbiB0aGUgYnVmZmVyIHNp
emUuDQo+IENoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2Ygc25wcmludGYgdG8gcHJldmVudCBs
ZWFraW5nIHN0YWNrIGNvbnRlbnRzIHRvIHRoZQ0KPiBndWVzdCBieSBhY2NpZGVudC4NCj4g
DQo+IEFsc28sIGZvciBkZWJ1ZyBidWlsZHMsIGFkZCBhbiBhc3NlcnRpb24gdG8gZW5zdXJl
IHRoYXQgdGhlIGFzc3VtcHRpb24gbWFkZSBvbg0KPiB0aGUgc2l6ZSBvZiB0aGUgZGVzdGlu
YXRpb24gYnVmZmVyIHN0aWxsIGhvbGRzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogWGVuaWEg
UmFnaWFkYWtvdSA8YnVyemFsb2Rvd2FAZ21haWwuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVl
cmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg==
--------------n1LnfHunjx0q0CURLShRxgdp
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------n1LnfHunjx0q0CURLShRxgdp--

--------------WPQp0GreAAWdoPEIcvHm2UVl--

--------------tZs6lhB3bHKCDrj4SEm7tq0A
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLrw3sFAwAAAAAACgkQsN6d1ii/Ey93
+Af+MlguWZ3RqNSe9mZnKdXlVPbiEeYT6x+XAtZPsihTjw+10iYkMpxT4msIVPcH/XEL+fePcoAw
DwVp7m0iAd6DovHQw8dKOfRD6uBDGcDTGZwt0IzUWpouNXYPWDAzElA+yyB+0MN42QBDl/8G5wR8
EqAJ/tNiN309bxPlOqf8ZgNJndpaODCTmDLLF5p3KsweGSCPhgkcw9v2/4c+I0JvQn87TDnnLnne
1I2IDyGBeLtNzkztK5NgzC8gRsj9TDHk3nL6r8tODrZX86J3V/rJ0DW43xcz6NrkHqKR1d/COef/
Tvb/LOmDgj4Npx1p9VueGhSwIgSKrSCpmERhQgv3Hw==
=EhmA
-----END PGP SIGNATURE-----

--------------tZs6lhB3bHKCDrj4SEm7tq0A--


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:07:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:07:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380339.614450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaZU-0002vb-5f; Thu, 04 Aug 2022 13:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380339.614450; Thu, 04 Aug 2022 13:07:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaZU-0002vU-2Y; Thu, 04 Aug 2022 13:07:28 +0000
Received: by outflank-mailman (input) for mailman id 380339;
 Thu, 04 Aug 2022 13:07:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJaZS-0002vO-Ju
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:07:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2058.outbound.protection.outlook.com [40.107.20.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62956dd8-13f6-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 15:07:25 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB5853.eurprd04.prod.outlook.com (2603:10a6:803:e3::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Thu, 4 Aug
 2022 13:07:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 13:07:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62956dd8-13f6-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KVchL8rdY2N7GFU5CLnpZ7KqU2/INt9rv50nP71DURbre6S8/5qfTFLa1kV4OkHXPYsURKIp+3CrIzRQFdJoCMq3dscame1hz0K+Tt+Zh69Xax//dy1Rjvp4Wyyh/NEyIPrOhLtVIBTfhjXRuId3R59mZvez4RFYiZw/zE6P7zn0P68/D9fNY9biKY5BUKLfa4u7nImu7olebZW81L8swShXp5gC/Z4TVSmwJ3ZqhLnmZgtvpwM/aGUnYct25nymtDO7AjYRg7/aBkjDeNyIU4Hms27HJ/jo5p+NuoRJZTQBTVL+G0ya8D7PXKpfYsAc+hchY90CRyKxOgliLRb7pg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qMYvBaXJZsFfv1V9X7rehs+pFm8i19kY3uO0fZIyNCA=;
 b=YKXWDAkdF7KcjqmwHChFIsb1kOW0zu5iO/r3Ysy04FcxW5b5XGiWmMUP2WtlSCdrn2gmYSoYG3kB3o/IyKv1VgguxkrlhDZD6snSZAo0QH5r+72j64wZG4nE8tFyrsukabT+W8KxKQclWYVfuYqexpz99uvHLFbi2BGPE7hR2PsszUXFU8vtimOOUlQ0gw4iCyhAY1lXar+JKtVFF5Wf8LdRjj+vZaGYLyf1ar4CToGkBbSH94oHsjwt4gWqu0wE3jLzrdpeRjzYnHa5YeFH6sqZ7S4DaRu3GKr/Txk/2cebjCAO/XBj982qmU9QYjMtEZwfm1n1KGYoJbK77QkKjA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qMYvBaXJZsFfv1V9X7rehs+pFm8i19kY3uO0fZIyNCA=;
 b=h4axubb8RWd+VBMP+52N3G45AFFBSYYHqMZGwT8575fInYaiD856Afn8FD7w7pQ8IvhDUkXyabDxl9Y+VN7a5Q2KNoRmwXj6AjAcA7pYdTNo+eYMUTk9xep+xrlmRKsi4OtoiDlFfRI55KZ1uTwv7iy6O1UOecYtggPvvI2UwuNCRkEDHLw/9ey6/2mvY9wieKaHiLcEGF7n8FXl2VHNUDwNoRjeMi7SZttd0DniEsX1Kxs5LomjwtX6hV+vYgXUQ7pbVHiE8H/CDv/jDQjWQ7Vi3CY9Cq7AKcN72l6ibTL5i2uKDRICXWYDBA0lhUYqSx62mhq3ONd3ePoBh4jwTg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bdd9b051-d67c-61d2-9c80-55e5caf0905f@suse.com>
Date: Thu, 4 Aug 2022 15:07:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/compiler: Fix MISRA C 2012 Rule 20.7 violation
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220804122907.1821730-1-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220804122907.1821730-1-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0065.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 51dc40e0-129e-40db-49b3-08da761a458d
X-MS-TrafficTypeDiagnostic: VI1PR04MB5853:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/si9y3ly5V0fmAjp7iTpLDGPpO0F2e5nkWndacK05ga0ZQM1AKYUS6iZ7H4FL9ZZUHSiWbJhO+KRJSXf80z2WxBDUZtgzSSofKInD+RcZZ4fzyhN+Ykz3PaVCjqrVKNdVAAUtTqnb4AZStoqOmeKhmpWV7sS0q6YBIs8qOdPdiu54a1Ux75yEka3kTweSlAn+b1svT2YYq77v+HytTTddXE7PbhilNji2aBMhzXNkSTa8pMMXgogBrDbJ/9bjrlifxpGMjZt0XXE7YeePNaY8gwLNU5NQylVwQCL5I0X8FUatm5itOGJQhDJNrn3BlYkzgwd9/ufpaJREvdxeFVmVfdOa87g0eD1rI4d4pi5CpbLkGG2yXFmb3OBC5eBScR3e9PHxll/Llncq7SJfXkxdempf84Tekt8yTkfOnsJfDvGdVA30GuFLrgl7dzYlEoKXIDiDX/w4HIIyW79phetJ1WVMpzc0MFs7pM5Ms5vbhgtnlw00WtyxSexY3tnKPTfkqDq8JEB4Lg6G9hgPO9cZzeB1ePo1LKyw7t+b+KVZq2Zg6UOlCg1Q/IiaTEWkVwnfo9xo7I9TtnsFngVuxUQjRvVNmTQiC8XAsN5BzdyoQxBx2Em0L0qmcr9Cimf7gKCHLHY6jHqhpSGuNt6stxcnBGUxzIc/fcnyiKBH0sJRNdaEaXPSoXv2aI6IeDy0NaB9C4nHteJyphcTgab6+vPKAkzURnuVJqFx9Dbl5aYZVty6KWuw9vxraQ0WiZvX+hPGkJbBJQL/67PnHv3S505UY8IbLktwBzGj2KkQNsnkxcnwH8dvBlCaaokmWvJrDgEBmuvwRFc6xJqKvL2Kw0+eQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(396003)(39860400002)(136003)(366004)(8936002)(31686004)(5660300002)(2906002)(66476007)(66946007)(66556008)(8676002)(4326008)(4744005)(316002)(6916009)(54906003)(36756003)(6486002)(478600001)(26005)(41300700001)(53546011)(31696002)(6512007)(6506007)(86362001)(186003)(83380400001)(38100700002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTJVTlduSVhJS09rdVQ1dkVldG1tTE1JbG8rS1pCOUNYNEkzMHd3bWFNTzhS?=
 =?utf-8?B?bVZLMk5FSmRPM1Fad0Z0MXQwMUJpL1pRV3V2UU1tQmpMemNlQUlTb1R4S1FY?=
 =?utf-8?B?bEVRSmFKVmZibWtGOU9icHA5WXdkaXFzRUtyN0J6QW51N245U04yQW40OFpW?=
 =?utf-8?B?TVBOamJ5SUdyQ0MwU1hNa0FvcHVjSTByZk5pemIwRzVTdk1KNTdpVG54MHJk?=
 =?utf-8?B?K3NNUHg0U1MvTVMvVS8zQUtPVnMrVFBZaFN4NWdVck9wVUpOb0VZZ2dVWmg4?=
 =?utf-8?B?bk80R3FudVVmUEFtMXplQmJGZHJxdTJSaVlDa2Q4cUdFMmx5OEN5WUNVQzhl?=
 =?utf-8?B?NEtDL1ljR0xZV2xNUTcyTjY4aFFGMUgwOWZZMlFlc2dLSUxxYVUrMHZTakFY?=
 =?utf-8?B?ZUtIZXJtc20zeU11TXF1V3o5b29IV1NNMXd3dVE5L29ycnFlNmtFS29tTEU1?=
 =?utf-8?B?S2lwc2ovMkNjM2hzckltK3IzSjZuSlJSZ21qZzQ5dFlXeklLcHFoWVorWVI4?=
 =?utf-8?B?QjFjbC9uc0tpbkx1VUFVMUZYMitiVjZWRVBmdmJKeGVUVDM1UTdYZC9maVBy?=
 =?utf-8?B?QXFhT0U2NDRkUG04dlZseitPMGR2VnVwVE1mNWJISngya3pGWW9tV1UxWkFx?=
 =?utf-8?B?aERUdEcwczVKZFlXTm1pcER2aXgxUFFWdzh1MkdYcm5DWmg1M3dwNjczNG1t?=
 =?utf-8?B?cWlsRzJPaWdQT0VLOFZKTXNjZDdaN2p6VGxRNzc2NjZPZVBlOHZNY0dYTE5w?=
 =?utf-8?B?UXNwcE1mRXYvcUNTMjB5dGJ3MEFLTzNOSm9WQWZraGIrdE1TaVlCL3pzTnUv?=
 =?utf-8?B?bTNNTCszNk1oNjVTbGduWmdaeEFkaUl5endQdHBLTmV1cFN1YVFKSXVCSHow?=
 =?utf-8?B?VFRPUjBLR1JnWm1yajBkZWRwTzZnMHVxMklYRmx4RVo3SWVUR0R0eHVBNnlO?=
 =?utf-8?B?cFlkZ0JxTEFhditJR1lBTVJ6MDM5TXFJaHpjUTRTSGFJZWloRTByR0RoMGZF?=
 =?utf-8?B?dG51ZHlBcDhJaXBUSEprUjlPd09kZE9KQjZrK1BSbjFiazBxbldVZitjSWJP?=
 =?utf-8?B?bXJKeVQ4bWpiRENJakRmYVVwNC9ocGxXRUszN1lKZ1M1QWJEV3M0Z1BGSVdG?=
 =?utf-8?B?UStkQmVZUHp1elI3dmN0bm1XT3luZEpwNzl5c0p0WjZ0TGsyNGhIb2I0R0lZ?=
 =?utf-8?B?SzZNZXdQVS94ekYxL0R4WDdMWXVRSEFuK1hnUnVGcjJYcGhYSis4dUtyR0Q5?=
 =?utf-8?B?WjBkeXd4QXBaeUpOUXBRUXBFc2dVNVhabWJ4Z0R2YzhkaTVzTHZrTFg2MkFy?=
 =?utf-8?B?S2JpZm5uNXVNeGxWZm13YWgvMC9Sc0U2L2V6RU9EalM0aVU0QkNPWFRSYkJN?=
 =?utf-8?B?NGw0MlppbmxKWVNXTWhKbS9wWEYyMzM3TE40a29kcmpmUS95UjdiYjNXeGZ3?=
 =?utf-8?B?aitkOEIyZTFBTzlzWnpaaURMM2ZRVngxT2pTVXJQVzNTR0ZqZy8vMDV5K2g2?=
 =?utf-8?B?ck1Xd0d3NUxlZ0trSXVrUGg5dXN4N0pEbUhTZmpGSDRNc2F3MDhseC9CM1F3?=
 =?utf-8?B?MmZsZTdiY01GWlZ4amgraEsvaURGWW1tZUtVOUFucXo4K2VqTERMaVUva0NL?=
 =?utf-8?B?MFY5Ni9WeFZXdFlxQ3VBaVZEMlYybXVHeUV1eEZJd25NYk5MQkt6bytuYTlF?=
 =?utf-8?B?TFBSMzJ0ZVdaUTUwZlJ2UzhMcjdFaG5LbkFHOHdYNXpkNHBkTU1ZN1pUb0h3?=
 =?utf-8?B?S3FXT0tBeExuQUp6S3o0ak9BV1pQVm1VbEEzdDR2OTk5WXZKVzBhSjVMT1Rr?=
 =?utf-8?B?MDh1ZVM0WHVXdkg2Qmk5QnpoUitZcEhqQWh4K1k5aWc1L0VvblJDTWZEc2dl?=
 =?utf-8?B?RkxuWEc1b24vSVpvaEZQclF3bUtXQlYwQWdYa3Z1ZWEvU0dsMUFXZUJKMDdR?=
 =?utf-8?B?a1FBcVluQzI1djRKWGxEaWxSQVZwSlpFcTlVYk1tY2xBa21jSlVuTVhuRklV?=
 =?utf-8?B?TWV5Mm1pdjFKRk50N3ZRTjVhWHZRa2xVSWN2S2VVRi8wUGg5UjhUQVY2aE9Z?=
 =?utf-8?B?Q3hWWng2UGVTaVJ4ZTJsQm1hS1l3eVZDRnY4c013UUxGUHFyeHJETStBVmNL?=
 =?utf-8?Q?N1AFsQk3YGHOnYvpadR7i+JqK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51dc40e0-129e-40db-49b3-08da761a458d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 13:07:23.6648
 (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: eqbAZxglUEDBpchFV+AmIC3/CjMKCq5jF9p4XnnVpxKhbuRGp3vty1RzD1Z74TeJjpsUtHxKKZkP8QTcqAjMPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5853

On 04.08.2022 14:29, Xenia Ragiadakou wrote:
> In __must_be_array(), the macro parameter 'a' is used as expression and
> therefore it is good to be enclosed in parentheses to prevent against
> unintended expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:11:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380347.614461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJacw-0004Kg-LQ; Thu, 04 Aug 2022 13:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380347.614461; Thu, 04 Aug 2022 13:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJacw-0004KZ-HR; Thu, 04 Aug 2022 13:11:02 +0000
Received: by outflank-mailman (input) for mailman id 380347;
 Thu, 04 Aug 2022 13:11:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x682=YI=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJacv-0004KT-En
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:11:01 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e289f2b1-13f6-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 15:11:00 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id p10so21011802wru.8
 for <xen-devel@lists.xenproject.org>; Thu, 04 Aug 2022 06:11:00 -0700 (PDT)
Received: from ?IPV6:2a02:587:ac1d:6c00:8556:d1ea:dcb6:c7a1?
 ([2a02:587:ac1d:6c00:8556:d1ea:dcb6:c7a1])
 by smtp.gmail.com with ESMTPSA id
 f2-20020a0560001b0200b0021e47fb24a2sm1188932wrz.19.2022.08.04.06.10.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Aug 2022 06:10:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e289f2b1-13f6-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=U+avP7mZsXCqtuCoIldOW665gNqGP5EdVo+N5jTMvfU=;
        b=RME22khxM6bQxcVxHFR9Wbc7p1NPAQlC1Sw3bxeY8SsSKKSbHWMiDOH0rjzeY2nzCo
         bZFw6eh8w7S0SYE5gr7dRlLmMvSR5bqtRtLneA4l81KI80+TsASYW5k2uSk2QE28VvcM
         pV8XYBEDIlqYGtB1lfsDUPt+9IpXK/4S70Zc7PJD9kIDbdUrq99QQjtAjttFMLgBZhTa
         94+FmmlPrWO7TDia/MSqGZnG0hRcW1lDOZ0bZXYokZpYCnUzqGMK3bph3sFlQ39plzx9
         WWZro4ptbRg1yJo/1+iMbJIBGkVTCeNW8Sd5QhbXoG1JVxXpkqEHBUuSMA52H/nXaWCs
         V8Mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=U+avP7mZsXCqtuCoIldOW665gNqGP5EdVo+N5jTMvfU=;
        b=qlo0w3T5wD4pGXxLIB/EE55yj1Cv9buDbtDuPQwxcHYFubBdpjuD/ZULg6BGTF4ZSB
         Oe+OtiP3slX1jhGHwAuMUByFwDBtPXoJQKITAXjKWQfIbHoFDHG5YYO51riGI1WuUjil
         dEhJupmWhzffmQBVWvY3ppZv5VZz2gaR0ZMTtl5ZdIxXf9adzXfjdQlbuXS58F/YloYQ
         OWm8umnY4e7zcvCt1JvpsF86SJ+TWMPg5uyvDM8tRcS7jj2+qkR8DsoythzKRRcws2pt
         9XmP76ut2AS8wc785MZTL2iI3gEPmsk2csTPH8z5m9VHV5nZQwx2IyQ8SxYvbNSGfAYc
         wbPw==
X-Gm-Message-State: ACgBeo0IX1jv0npbN7YwIITXqMYeGHIWgi2Gj8rL1WSmJYAzbMrMx4/w
	4A7nsunVh01MoP6FhBjFp22+K44RL+Y=
X-Google-Smtp-Source: AA6agR4pjjwPH5tKl76Si/r0ETpE2Ky2LN8QKIplQfsmBPEmEtdffllkUhzypkECNFhKexSrGkAAGw==
X-Received: by 2002:adf:fe45:0:b0:220:625e:f4e8 with SMTP id m5-20020adffe45000000b00220625ef4e8mr1361692wrs.182.1659618659811;
        Thu, 04 Aug 2022 06:10:59 -0700 (PDT)
Message-ID: <d7e0a598-d642-6227-09e3-51d3994ae359@gmail.com>
Date: Thu, 4 Aug 2022 16:10:58 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] xen/hypfs: check the return value of snprintf to avoid
 leaking stack accidently
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20220804124736.1827246-1-burzalodowa@gmail.com>
 <be627b72-9f68-2deb-5639-2e7731f3e8a6@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <be627b72-9f68-2deb-5639-2e7731f3e8a6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 8/4/22 16:01, Jan Beulich wrote:
> On 04.08.2022 14:47, Xenia Ragiadakou wrote:
>> Changes in v2:
>> - add ASSERT_UNREACHABLE()
> 
> Hmm, this ...
> 
>> --- a/xen/common/hypfs.c
>> +++ b/xen/common/hypfs.c
>> @@ -377,8 +377,10 @@ int hypfs_read_dyndir_id_entry(const struct hypfs_entry_dir *template,
>>       unsigned int e_namelen, e_len;
>>   
>>       e_namelen = snprintf(name, sizeof(name), template->e.name, id);
>> -    if ( e_namelen >= sizeof(name) )
>> +    if ( e_namelen >= sizeof(name) ) {
>> +        ASSERT_UNREACHABLE();
>>           return -ENOBUFS;
>> +    }
> 
> ... looks to be an incremental patch on top of v1, not v2 of that
> patch?

So, here, IIUC, I have to create a patch series and add the assert in 
the second (2/2) patch? What should be the version number of the series?

> Also please correct the placement of the opening brace.

Ah, ok. Sorry.

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:13:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:13:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380355.614472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJafE-0004uU-27; Thu, 04 Aug 2022 13:13:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380355.614472; Thu, 04 Aug 2022 13:13:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJafD-0004uN-UB; Thu, 04 Aug 2022 13:13:23 +0000
Received: by outflank-mailman (input) for mailman id 380355;
 Thu, 04 Aug 2022 13:13:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJafC-0004uE-I5
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:13:22 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130074.outbound.protection.outlook.com [40.107.13.74])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3679eaee-13f7-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 15:13:21 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4483.eurprd04.prod.outlook.com (2603:10a6:208:77::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Thu, 4 Aug
 2022 13:13:19 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 13:13:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3679eaee-13f7-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V2Seh4k7v2Xi6T/NP1zAsUxPGTuFdvqI4Ah7GegkwEPJyewlmF5C1MqNgXOZ0vZR6xKAVX6qtCVf0EwKheTdqwcxhB5REGs1ZBUJfGP63T81VsRjJwkMD6h8Bh/Jc5YpgMqKQDnMkc8BwHberBbELME6/eMaf7Bu48TZGvAD7olkfSXCTa9cW1gUqznsHVkFFZn/qnnl/iNWsjMG7DgiOf1z8t5t4EbPghbk1mf2/tiqWP1s7BxZzMkubnB3wBp8HGQO9CktDhPRR4rJhOqvO5X4I/EA6u/2pmXy19xBIeQC2jCrkCWk66tHk0NXH2CLmRxI3SAH414xZkpd9J9DHQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E+UpX4r3vviaB3X1TVywyJQBaTutGYVM78L9WRt0UZI=;
 b=egK/2mQlm80JMhk21Ib9eLLbYpR2gKb7SVuyIcqLZM0TNcEPV266ekaboCnIC7OwPJNltLZVBv1Q9czYvZREK4phvpX1GSBYqubvoc3taZGmDpbJAeqJ3rIkM0+RRN3ny5K/PBh9UvF87uXCT6Us6gdTUxcfgGgZSaZeaB/GeX1p47ZO2Qhb7OyfeOUdSiF8hsuRKe8vyJYetQXJeQl+JtTgEuF7BDy4hnnZF7Khe3ZtNSlhJGe0YjDljjqcmQz/CO7X/S/bqq8WluH74kYqHlwPvLO3yY9tNhdeIUQAjKdBWCLOXmpZSYsOW7OdT4MGl3DBMkfjMtIdRO8eOR5SUw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E+UpX4r3vviaB3X1TVywyJQBaTutGYVM78L9WRt0UZI=;
 b=cZ/DRBCx6Hc/w35xpW3MutteB3jiKEBH3e6GAt18G3BUlIdDQC06xSCIuC+xAC+fMpj5JVIubAWo0Fh+5ofqShMN55foXtqg6ouUEtkiQ6X0EF0qtqu/eQbOeFNhmJ3nGB51854/oWJwecX5C4mcULrq1BkVivN308HuQeB3ZAlbADCs/DGr6eide1xwnNyVkwUvgmoBrpi5HUHNnvM6lVNzwCwADfsh/Gqzv2p2yRM+MOvsJPp6wftyu8V96DIW0KQn67FdDlMv9kVI/iEfv14gss1DvdFINKlzq2hR7j8sCJ0J1jt6X8jROtEVqk8fHploIr0k6q4Ra3ZXczeIWg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <81276568-232d-b068-0237-f888ecb1ca91@suse.com>
Date: Thu, 4 Aug 2022 15:13:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] xen/hypfs: check the return value of snprintf to avoid
 leaking stack accidently
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20220804124736.1827246-1-burzalodowa@gmail.com>
 <be627b72-9f68-2deb-5639-2e7731f3e8a6@suse.com>
 <d7e0a598-d642-6227-09e3-51d3994ae359@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d7e0a598-d642-6227-09e3-51d3994ae359@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0030.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:81::43) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bf77d8e2-2c37-4b28-2bca-08da761b195e
X-MS-TrafficTypeDiagnostic: AM0PR04MB4483:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IVaHs29tvt0RCFULhRSLbDvjX1UrSb4xAVX27Iki3nsKpBCxGCSzunTSwmx3g+/VdSuzHwybGC4eIm/rDaRmFbudpoA5QQPEabv/EjuU1csNiK1FQRhdMAo/Je5Jot0YYZLRsY6TZr2UKTAQKbM9+HL+0WwNzpvCharSdvrphj+jjYxF5rCfYAMiT0xNbEkXDZJ4RgDNuxYPeG0uSwkD8S79U3hhpdxJdytvQZcwvHDp1PS/NUdSqSnH1t/7o52Bd5iFv3m5UeHHRikuFuumIDaiWtQHtY1a1zhuI2EwwfgWbJLHSipckvjvpcwIzXY4NARuoqdBFjR68TMmuRzsbf8CkJTN/rJmOBP9LpTCP3phhgQz7y7i+/pDdPYbX0CiEpEa3s+P2xBeU4Qd11AG2xzW24qS7UekHNFoyfTSm6GBIsgFAogklK6raRRh6GJugpFkxHiqElK9po7TWGK1bx4/LBQAa0rwqM0vogfnHlu7F/ltN/7IYh5C67kqKVRa32EmabMJma6z9RArdyqJeodIVPTkPLPSXCsYflXl67Vpw9XhQtdhKpw3wl5zRLgCDPXrO51GV+qXFhh+Pi4eF1yoa+6mv3QcyskL5y1aUnFmAeG4MfQolYucp+BpEXSST2KnNUus56CNWWfAp5lhbTNP0GvNpqmOvaZXWZylc0lJZiLQZCdKxwo6ytnuUOLPq1U72dMYYpQi+Qh0Ez217tYGg+gQvYYaH39TqUoVhwo8FL5b8HBJoRyUxVLwQ0312+xWmMALQ5F+mKJ9ldCymZYzi8tFxZGOVspFB4fsueAviHpRBsNLc/Qk6AvlmClKQGs7iH6desxyyPBWByi38g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(376002)(39860400002)(366004)(396003)(478600001)(53546011)(86362001)(6512007)(26005)(6506007)(6486002)(2906002)(5660300002)(41300700001)(4744005)(8936002)(6666004)(31696002)(186003)(38100700002)(36756003)(31686004)(8676002)(66946007)(66556008)(66476007)(6916009)(2616005)(316002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zkk5TWgrM1o1VmtNbjZvWVk0MjNNSUZ2M3FFU3A2N0hYTXQ0c0dDMEt1Q1hT?=
 =?utf-8?B?RU4vUTA0UkZYVUxpWXpTUDNaYXlJK1dDSDVzM1Q3eWIyTUZyb3ZxR2Ntc1l6?=
 =?utf-8?B?TGJUbVZSUkFES3FTWkVoMEVjSTFHN1l4djRkaWFLemF3ZGVUWWUvSFhJaElN?=
 =?utf-8?B?UDRMR3ZKTGFNRHhtTTMwNGhuMUdndTJab0xBTWlwRWdFN2RyYXdlbXNtbU5M?=
 =?utf-8?B?enQ1Y2cyVkNnb2R5bEVweTNqS3NPYmtOQkhSRGFGeHhZanV0OExiQS81UWlh?=
 =?utf-8?B?dGtUM2hvdUJkSE9nblpwQk9HaEhYRUFZZU9WWVBrR2NiaEJrTTZGQitFTGZr?=
 =?utf-8?B?aG9meU9nNEQ1VVpkNWQ0MEd6ZTdia0RwRm5md25NdjhWaERZMkhQTTd5Z2pF?=
 =?utf-8?B?TUZQMHY5WUFQUEI5eVhrZTlhcmwwZU9GNG42TjhFTnBIdlBROEVnTzYzRUFG?=
 =?utf-8?B?ZkI5dFB4eTk2TkgyWHZwM2swbU9OOFdRa2MxVXdBdmNBdnU5NEtZT1J3SFNm?=
 =?utf-8?B?TnF3U2dyZEdMT3dZKys5Tk5hbE9pakRBYmpOYzhOOUJHL2lXR29EVHkyWXRk?=
 =?utf-8?B?ZjEyQi9Nb05NNXN5NnNvdzNmSWdlZ0Roa0hzRGRqd3pzRjlmMVRCelVuSEI0?=
 =?utf-8?B?UXNXTHp1U1Q1TGRpWU5lV0JYSW5rc05TUlIxczEvazQzRjYzSWt3Q3FPVjVX?=
 =?utf-8?B?ME84TnY3a0tpNUdnb3BhQlFTeVZqeVhUc0RTVGxjQ3VyOHdtc0ovekVSN0Rw?=
 =?utf-8?B?V0ZkS0xoNjd4R3BFY1o0Q3dTaFBVc1UzMERjcmhoZXE2T0Q0VEN1R3p0YkFL?=
 =?utf-8?B?Q3FPU2VpVWNmWU5URmpCOUdYeXZNUUZxSlNWODlLVWV2MlVLWCt4UVU2SGc1?=
 =?utf-8?B?M0VlQktiL29WbU9SeWVZcStaYnFralpGcWlaZVJydWRuYnEyUGhpT2JqeUtP?=
 =?utf-8?B?THFXUkJ0Zlc0MnhmcHdDTTdERnFjSml4bEhibHIwb2NhV0QxN1QrcjJ1akoz?=
 =?utf-8?B?elVXanNPUS9NZTJuSHpVb1MyVHZaK1JHL0REdE5sS0hiNW9jUTVzeit6VTZt?=
 =?utf-8?B?Vjd3b1RSYWh6cXpieHZTWVF2QlIxeW04M1c1Z2VJTlk5TVhGY2JUZVlHRjFK?=
 =?utf-8?B?ZDJsRHMrS0hpeEpzL1hJOUQyNU9lbUNJZlpCNUdnN1VURmNmREo4eWZtUzB5?=
 =?utf-8?B?c1dYWml3aGJPNDZ4bDN0S1pxVkdCSjRHQlpieE9jSE1lbEszMjI4OEVjaDBK?=
 =?utf-8?B?ZVNaLzBRdllLaVhwSEJ4Q28rVVpYSXI4U1Vkb0ZrUEVmaG5ZZmRlUHU1NzZm?=
 =?utf-8?B?eDBNM01HYWZGMmRaNHRLcUJza0JPZFBGWTd6ZXZsdlZQWFJQbkxreE54bWNh?=
 =?utf-8?B?cjE2VFRZZjJ5R21oYkRVVW85anhod0RuV0VPSS80NkloNzdSVG9JMWU0SG9l?=
 =?utf-8?B?K0taVk1xZ0t2NFdWL1M0cWhvVHlRU0p3MTd4L1B3Tmk0eVVNall1ZDFtQVVz?=
 =?utf-8?B?RTdLUk1EK3ZPT2UwOUloZXdDWmJQaVZZbzhTMHUwZDMwNXRrbVByckFvWC90?=
 =?utf-8?B?N00yR0dYVWM2eGQybVJ3WiswZjNyYmg3M2hwTmZwajgvVndCOTJlbE9jN1pK?=
 =?utf-8?B?YnF5REVtV1dhcTZyVERoZ3pzeWFzME83ZXFQWm5sZ1pESkxyM2Y2QnJXbGdi?=
 =?utf-8?B?MWNBMFNTaVV5UzdnYjEwV0ZvdnBWdWpqcUVnazlCOEtZdGZISnNCNVZwYk1B?=
 =?utf-8?B?aldxTUdOZUR3RHV0b1lsbnd2UE4wMG9wdVNmT293bzRaMjA2SFBYWUVUdVUy?=
 =?utf-8?B?dnZlb3h1SjZZai8ydkJZRWJqaUVwMW90dkRBWnYvVEEzMkNTaXFSTmVER1hu?=
 =?utf-8?B?MnQ0UkNIT1I4cEVDditZWmpxallobUdndGR4NXpsQUlxLzlZZm95cXZ1T3Iz?=
 =?utf-8?B?TExmYiszKzl1dG5VMjdManpTZVExVjFPOENxOER4M0lubllsRVdZSm5JYVdo?=
 =?utf-8?B?N3JLZHhnZUVvVktrSGpSMEl1WkhIbmNuRHM4U0l2aVNIckloN2FFUWNiaFhk?=
 =?utf-8?B?V0JDWTVJOHUweTEvbTh1aU16NXBEQk1YQjBWcTM3cndYT1dvZzBGUU1hOTlv?=
 =?utf-8?Q?Hox+yJ1zkiOrODMMRw9CwRHqw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf77d8e2-2c37-4b28-2bca-08da761b195e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 13:13:19.0174
 (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: G0hz/UY5xaQEAr+K2XaERb4BTRVWY/lEPJ57Tg6i01JrN+qE/b2eu34he2hx6sDwozpVirB8fESF4P3m4zGa6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4483

On 04.08.2022 15:10, Xenia Ragiadakou wrote:
> On 8/4/22 16:01, Jan Beulich wrote:
>> On 04.08.2022 14:47, Xenia Ragiadakou wrote:
>>> Changes in v2:
>>> - add ASSERT_UNREACHABLE()
>>
>> Hmm, this ...
>>
>>> --- a/xen/common/hypfs.c
>>> +++ b/xen/common/hypfs.c
>>> @@ -377,8 +377,10 @@ int hypfs_read_dyndir_id_entry(const struct hypfs_entry_dir *template,
>>>       unsigned int e_namelen, e_len;
>>>   
>>>       e_namelen = snprintf(name, sizeof(name), template->e.name, id);
>>> -    if ( e_namelen >= sizeof(name) )
>>> +    if ( e_namelen >= sizeof(name) ) {
>>> +        ASSERT_UNREACHABLE();
>>>           return -ENOBUFS;
>>> +    }
>>
>> ... looks to be an incremental patch on top of v1, not v2 of that
>> patch?
> 
> So, here, IIUC, I have to create a patch series and add the assert in 
> the second (2/2) patch? What should be the version number of the series?

No, why? Simply fold this change into the earlier one, and call the
result v3.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:15:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:15:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380363.614483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJagr-0005Ut-DO; Thu, 04 Aug 2022 13:15:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380363.614483; Thu, 04 Aug 2022 13:15:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJagr-0005Uk-AU; Thu, 04 Aug 2022 13:15:05 +0000
Received: by outflank-mailman (input) for mailman id 380363;
 Thu, 04 Aug 2022 13:15:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJagp-0005Uc-P5
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:15:03 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2085.outbound.protection.outlook.com [40.107.22.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 730ab79c-13f7-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 15:15:02 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4483.eurprd04.prod.outlook.com (2603:10a6:208:77::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Thu, 4 Aug
 2022 13:15:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 13:15:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 730ab79c-13f7-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NAFTfVN+9N7X897Si5ljtR5Re+SvYRexwhbRU9UfxdOfXizyEwsxze4J2y2LtoPEXGzFkzW/AaZW+8zITMzP24skcIFqk5Jk7XaJ5FwN+T0T8I5MKHn4dUyUG2R/KndF4h482MRdtPXN5Q6m1B9HKSYLVsCD0kI9lt/wPVsezCmSp8aB2TML/HakfRg0s2FfiZwSf/dG+OjPmQbxXzCJzF/MNz5AAtjok2uBzeV2PFZAQqJ3PHeZ1bSe5f0SSry8a8uJfombt08Ljb7oV2iXMuKDTe5IvW65RwTL1vaVSqIbne0Sxym92CYD4EjpfdTUQmBTcawTzUPzUoUz68Mfqw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T0leG3UnOELAsabB3Mi2rMLHzKjvgX7rE/0+yWX2OcA=;
 b=SdzGnonuYsJrk24y7lQsfg8kAiJa3yZ8R8sux1BRF1+s+3H/1mtxHUF65/kHZMbF5H1pVFfkO6a8O12rSQWwKwXUfV+eeNObw0go9EFCbmeOOuEUOa8Ght4hUGEOOsxWTL97KsuFdXuyF630No5tkjT0480TYIBqJNHOXSxmAJx7paBXtg+s+ix2lcVcq5gkRPaxVlXHN457wfJvqtgHbfI6XHXWSH5YTow+mEym2uOWis8HwUUbaGxkThzJTDvc0k8LWKNDKRuLmtRCrekk/Nb3pzWco/WiPtnOyZ09HwfsAcPf9fFn4rtHFtxcudjbbHP5hQvoe4kkK61+sA0FCg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T0leG3UnOELAsabB3Mi2rMLHzKjvgX7rE/0+yWX2OcA=;
 b=zhJkLXBlQVEqThMFMtEcz6YpGrUU2K4q69w0GC6uSEnipNCvt50GIAWHdiDTodE+fqHupSXd81KS4WBZSGJMjqMwNJSaC3duR7O4CH2Py0/nJ4vul2CZ1qiRUFsKnOeuS7cDxcH0L9QrYUv7Y4PZWTbq4UajlvETFLPJcfKC7+spbsXaafufGewZEtHXpvaE4PzXpESnitGqmvwFIKQhh2DA+CyhLFSj9cWdy92cpsFLPZ8rx19ecdCAmq2UGAOFV+zOc0p9xR9ZDCHoRRlb2WfiQ1772o+So/w9S8Y3tyWD/CnRlEgFss4fp2IDmbhiT5uVlCDDqH/99jfOFKxGjA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0993a2e2-df98-2983-cf7d-1a20cb138c71@suse.com>
Date: Thu, 4 Aug 2022 15:14:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 02/10] drivers/char: reset XHCI ports when initializing
 dbc
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <0f26cc3299e340f7cea58aa59fcd462abd3215da.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0f26cc3299e340f7cea58aa59fcd462abd3215da.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4551f17c-bf38-4a52-1e87-08da761b55f7
X-MS-TrafficTypeDiagnostic: AM0PR04MB4483:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gdi3cI5yp/JUlYLn1XIjVGbdMoNmogY/L53s4VCBvZxCK3VDl0CwrIz3BicclPFccj1Vj9W+cjYF8P6tM2WWp+1JJp+A46/5uPKaI0eq1ZfaedptmQwkWCRYYXS+MVrMwdzWfUGKwGlWpkEBqFP9DWagjXHqajxQSLMW0XLlpKY4CYbEeL/qSc+fggexveyyDfoZsvlZ/L9fn3yPKpD9yyh3UFxlsVaVZKtKz6lyVqh3cjdbZAI0mhIOXQLTd5UmnRRXrrhiAF0+5KlGKKv1pkmlpQpExNO/rP04Q/3MPsSpvGlm44DUF7qCrqSXze+Lgz50lHoYIBSgJS7nrdBGah7aNitZ3zsJ2OuupyPs72xro7aY0UL14pzj0agtaTHBKmfsoAWtai38TRPh33siBwrP3g7idOq6a4z33KNviS880uBVtfqqyI9hijzWY8M+l8OvYM1QZSLdyPTP1p8tAV3GJ2BHE9fP6C5Fovur907CZFGBKVCLp48ey2qkCMKRE9Xk7JeH3zbDygex0P3n6GLShZiSb7kIn6ZeskI66247SZU0SiVF2XOjv1ptxJpnLJLqUu5aMBZVquazhr3cWTr75esl9UAEwKApf39TOAUf/K3DCzIJWUcA7AUozTibZIvDtapbdEB6WLLIykGN793PtURnSK+f6/2dd+0A2uIQU6vXmy1ujRx+KrW7Diy+tE1AKSWz9upIFq1AyideBl8tEmI0gBC7FwU3LY+yymI3Vel4dnEoodk7QxR/YB0hNCEBuEt8pZJUOLUj2P8u6CfXEFHbUH0V6Am8IWWtCsecViz6jUE/62XMnVboDeZCMLAWXlBGuUL2mEVEeXn/dA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(376002)(39860400002)(366004)(396003)(478600001)(53546011)(86362001)(6512007)(26005)(6506007)(6486002)(2906002)(5660300002)(41300700001)(4744005)(8936002)(6666004)(31696002)(186003)(38100700002)(36756003)(31686004)(8676002)(66946007)(66556008)(66476007)(6916009)(2616005)(54906003)(316002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bnVheUpJRHFXVjJUNUg3MXd0QkQzZEdlQnNudlNab1VFdFltWFA5Umxzb1ZI?=
 =?utf-8?B?L1dEbm5CeEd3bWxJelVJQnRQWGNkbytvT0x6ekFxbEk5RGN5dzJ3MnVNRVFS?=
 =?utf-8?B?OExQWTlmbktzcWo5aFBDUnh6T001NnBSNHgyY1d6Yjhock9sblFTMlFQME9W?=
 =?utf-8?B?WUc4bjhpa3A2WXpvSyt4b3JPck91aHpKM2kyTUhGelh5dnRDUFgyL05kWjBt?=
 =?utf-8?B?TEJOYTAzOG1DanRrMTlHS0tUa3BaV1RxZjZISDBKQjkxZlNoTHNudVhPTjZU?=
 =?utf-8?B?QnlxeEprS0dOTnJhWEhkL3NnbU4yYUJJcXdEYUszZEx6dXFYY0lNS2FUODdx?=
 =?utf-8?B?Y3pCR0dwU2tJUFF6ek5mazI1UWlWWDdIbm0zalVwOUlIL0tZV3VJWThxRGpS?=
 =?utf-8?B?c1dDVHRpclQ0UDJNcnI1dDJoU1c1c3NGOEh0dW9iTWR3NHFkdDVUeGZWaldS?=
 =?utf-8?B?cEE0SGpkVmZwZWR0QzE0ZDVYMGhUazhTbmRDaGVqRkhDZmthd044S0hLWGht?=
 =?utf-8?B?cmJ6MTJHNEt1RmNLdm9XRUlnYTlyb29WaVphN2hFYWZZQjdWSVh4S2NRblVY?=
 =?utf-8?B?RmxjSlJPSkh4akp5UEdFY1psc0VxWGRWRHpSUktnZW0zRWR6UUpDZ3BodmVN?=
 =?utf-8?B?dzBUZUFhZ0Jzc1JoRHBIWFRCU1lsNHJGUlh0NStud290YTNoL3FLVFhwZ05I?=
 =?utf-8?B?Lys2T1IwSWl2eTdsYTdpZ0g4eHV4d3dDdkZxNTEwTms0RlZUam5CLzRhaHo4?=
 =?utf-8?B?OStmNGVQWXNtR1hpM04rdmY4OHZPbzY4cjFxVUFZZCsvaFVHUzRhY1VUckIv?=
 =?utf-8?B?SkRnWjB0bVJsZ3NLdytUQ1JjVEVkWjd1YmppT01yYmV3a2tXays4cUQyVEpY?=
 =?utf-8?B?QjMxT1NjbEMvblRVd1d6VFFOU2Y5OVdQdi9xNFZWbk41enBHYllSUzE1eE9I?=
 =?utf-8?B?Q08zUWFLWmZQSTN3dXpzdlB3NUVkbFQwT3VXWXdRemlMVmNZYlhsaUJVZnFU?=
 =?utf-8?B?VmJma2twcDlET1dYRGc4OGRkbXpjZm9oSlduSDM4UVpSeFNDbWp3TnhBMEJ0?=
 =?utf-8?B?eFNSTXYySTVZRDdacWRnQUJJZ0hCRkVXOUVoL1lUamw3TjhIaVlsVUNEKy9B?=
 =?utf-8?B?dGNQVjJrMzR5eEwyTGl4cTZsNjFhV0xZaEdTYlJYbkhmdjFsRTJZdnlsU3lF?=
 =?utf-8?B?TlRtMlRVZmowS2VtYWl1Mm5BeDh4SnVmOGN3QjIwazU0ODllSDBRR3BMdStr?=
 =?utf-8?B?bUlXYnY5RWJTSHlnZS9BcmdPcHYwRGkyZEh5cDNWOWN6WE5VUGxoTWtlcHRF?=
 =?utf-8?B?ckM5NTQ4S1Y0Z1p3T1dWZlBEVHVpc0wyZE5BQUIreFF4S01sRm8vaWQwckFt?=
 =?utf-8?B?QjNtOHJ6bUpwbk81RndxUEVuTUNQNWVjRHhJZWgxcXJXc3M0UytpZFVpSkxi?=
 =?utf-8?B?TFVtWHhTcHZHeGg2STFKbGhPMTJTYkZvSjJ6ODVhampMcTJRWXI3d1VWanBJ?=
 =?utf-8?B?bGdiNWZvYUR2ODV0M04wNVErc1EwS0lKTWF3L0tyVG52ZGFDZkJ3N2xMdkJ5?=
 =?utf-8?B?WlJQenZuMlV2OEFYRU43MXZ2WW4yUGZkUDlrVWlaakl4TGRWeUppL0Yva0Vk?=
 =?utf-8?B?N3dtSWVXQStkaUt2SEVoMDBPeDhjYkxrYXVrbUNjMjZGcnlEbVBHSmxCb3Y2?=
 =?utf-8?B?ZnlUTTg2RmV2ajNubVI2VXJONGs0LzBiTld6WG90b3JQL09TMHYyVnBLQVpH?=
 =?utf-8?B?bzlOMngrUFpxTWw4aExnd05nQnRGUkprK1dIWURDRVV6TkdCS2ZlM0hIekR6?=
 =?utf-8?B?elUyM1oxMUVRdVJGTms0WXdHbDFmY0tFRm5LYmlGdiszVkIzSXBCQndjdGF1?=
 =?utf-8?B?dzhBMk5xWlFvT3JKbEhHT2lRWCtEMHE5VERhWHAwY0pvcXRjTDRTS2lYUzRJ?=
 =?utf-8?B?NnUxS043Rk5mSE5nUkNpYUtvUjh4ZjhzekhTZnZMK2VoSUhMMk1scDhVSncz?=
 =?utf-8?B?bWxiWndzY0hRK05rcHRNTkJLcGFEazN2OXlxMml6TUF2VWc4a0ZxWUd0c2lU?=
 =?utf-8?B?RGZCOGg0Z1Z5WWk3U0NRUVp0YVFNczU1bDNsUWdqeHB0SHVVYzMvbDNBcmZS?=
 =?utf-8?Q?WKP6UsX9HjUOybOGLJ3jb1kjg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4551f17c-bf38-4a52-1e87-08da761b55f7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 13:15:01.2299
 (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: x+7SIXnGPpm11upw18XA51/uRuxzDRgPXc7ap7fsAd3Al2ilI23jrxRs7Fd/4E5LUNbPbE5rItyYZA0jtTiHzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4483

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> Reset ports, to force host system to re-enumerate devices. Otheriwse it
> will require the cable to be re-plugged, or will wait in the
> "configuring" state indefinitely.
> 
> Trick and code copied from Linux:
> drivers/usb/early/xhci-dbc.c:xdbc_start()->xdbc_reset_debug_port()
> 
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:16:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380371.614494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJahq-000693-RL; Thu, 04 Aug 2022 13:16:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380371.614494; Thu, 04 Aug 2022 13:16:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJahq-00068w-OQ; Thu, 04 Aug 2022 13:16:06 +0000
Received: by outflank-mailman (input) for mailman id 380371;
 Thu, 04 Aug 2022 13:16:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x682=YI=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJaho-000686-UM
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:16:05 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 979e069e-13f7-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 15:16:04 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 ay36-20020a05600c1e2400b003a4e30d7995so2470582wmb.5
 for <xen-devel@lists.xenproject.org>; Thu, 04 Aug 2022 06:16:04 -0700 (PDT)
Received: from ?IPV6:2a02:587:ac1d:6c00:8556:d1ea:dcb6:c7a1?
 ([2a02:587:ac1d:6c00:8556:d1ea:dcb6:c7a1])
 by smtp.gmail.com with ESMTPSA id
 c10-20020adffb4a000000b0021f1ec8776fsm1082502wrs.61.2022.08.04.06.16.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Aug 2022 06:16:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 979e069e-13f7-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=1foZFtQiJq2I9YcKHTuZCW/mkYlqkJDtIEvbVGItEwA=;
        b=UzVDevk3x+hEAzCvAA04glCQzqqW9wMudosbmiVM5veUYtoZbO6Xw7yJVSZJWZPIbB
         MUV8GFe13E1oFkhoDykiMDMGuCNUioKTrT3JrAzDTxIh3ZPyXpzLecH4j8MhPRoeZbB6
         UYQHKc7GcnOvM3Om51wHT2scWg0nDBGDRp6HngPoexqL96ee2zd82ZxS0bk9uzItQbLu
         1eFh5xvfaxjcltUlvQYIGXHLe70gMHRiqNd7qkhnVaUc7iozIcjZomAiUT6/DA8H1obn
         GSRPDCNmsx3IbqOQC+XZy0nsKytjmnXsGa4xJVPrvdcjppuJYrqakPQF73iZD5vjS8OG
         7JYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=1foZFtQiJq2I9YcKHTuZCW/mkYlqkJDtIEvbVGItEwA=;
        b=i9fAnNq1bmw1GtxdzP98ey7OKwZVx0ZEbccZNazWSB4ECNdW9JuV7+SZOymXoboW94
         VKeWtdma/JFexNgDQev5Z3/JSizaMWwrxjFovKHV/WuSYkFMKJ71k0Iv/iFs6hijKRCx
         b6MpRu3zzNdh7cAfVZRSw8Tad34PsGR/CddkJ2y3W4+pkevXWiWx+IJh8qFklfJfS/sP
         3FhrC5tKV+PQw4fhZHyO6S9ScFOU6pA9EMvmQqk+k1bE/cuqL9DDXAoPFjTrkkTBSY/G
         K5ULLr5+S+KLtv4WfIko/Ve1lIua/6VTkDW21/Ccyy+chY2Emb0SjdWugS3GiAbARgcJ
         UU1g==
X-Gm-Message-State: ACgBeo3Agj4wxbIUaChuYkwHuHwDojLCNiWh+sCq0O3PQp58TC1oUznR
	hy1rFqCWUZjpKcs9sHncUPc=
X-Google-Smtp-Source: AA6agR7WS1a30SXSTI/tE9sGgU+7vmayB7JMfa/b77VInS9IgCSJudTbwLtiK7rZcHE3P76cWYlhsA==
X-Received: by 2002:a05:600c:510f:b0:3a3:254c:b081 with SMTP id o15-20020a05600c510f00b003a3254cb081mr6346684wms.65.1659618963665;
        Thu, 04 Aug 2022 06:16:03 -0700 (PDT)
Message-ID: <43bbcdfb-a6f7-53b3-e7dc-899ac9ea038c@gmail.com>
Date: Thu, 4 Aug 2022 16:16:01 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] xen/hypfs: check the return value of snprintf to avoid
 leaking stack accidently
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20220804124736.1827246-1-burzalodowa@gmail.com>
 <be627b72-9f68-2deb-5639-2e7731f3e8a6@suse.com>
 <d7e0a598-d642-6227-09e3-51d3994ae359@gmail.com>
 <81276568-232d-b068-0237-f888ecb1ca91@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <81276568-232d-b068-0237-f888ecb1ca91@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 8/4/22 16:13, Jan Beulich wrote:
> On 04.08.2022 15:10, Xenia Ragiadakou wrote:
>> On 8/4/22 16:01, Jan Beulich wrote:
>>> On 04.08.2022 14:47, Xenia Ragiadakou wrote:
>>>> Changes in v2:
>>>> - add ASSERT_UNREACHABLE()
>>>
>>> Hmm, this ...
>>>
>>>> --- a/xen/common/hypfs.c
>>>> +++ b/xen/common/hypfs.c
>>>> @@ -377,8 +377,10 @@ int hypfs_read_dyndir_id_entry(const struct hypfs_entry_dir *template,
>>>>        unsigned int e_namelen, e_len;
>>>>    
>>>>        e_namelen = snprintf(name, sizeof(name), template->e.name, id);
>>>> -    if ( e_namelen >= sizeof(name) )
>>>> +    if ( e_namelen >= sizeof(name) ) {
>>>> +        ASSERT_UNREACHABLE();
>>>>            return -ENOBUFS;
>>>> +    }
>>>
>>> ... looks to be an incremental patch on top of v1, not v2 of that
>>> patch?
>>
>> So, here, IIUC, I have to create a patch series and add the assert in
>> the second (2/2) patch? What should be the version number of the series?
> 
> No, why? Simply fold this change into the earlier one, and call the
> result v3.

Okkk, I just realized what I have done.

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:19:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:19:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380380.614505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJakp-0006pI-Bi; Thu, 04 Aug 2022 13:19:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380380.614505; Thu, 04 Aug 2022 13:19:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJakp-0006pB-7E; Thu, 04 Aug 2022 13:19:11 +0000
Received: by outflank-mailman (input) for mailman id 380380;
 Thu, 04 Aug 2022 13:19:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJako-0006p1-Ra; Thu, 04 Aug 2022 13:19:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJako-0004A8-PA; Thu, 04 Aug 2022 13:19:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJako-0007aW-84; Thu, 04 Aug 2022 13:19:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJako-0004U9-7f; Thu, 04 Aug 2022 13:19:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DsU+wlYJYrIkPfUoXCjx+9Hv/LT24kPEflq756qCY3I=; b=VcT6LFBUAn/lG+/Pr/zinsFzoY
	S8FLPPK7cbb3nyaA9J1lotlrqYgQmT+vcc/UMfKRvimjQNnVJeYsLq5lnlaLF46iruGYtj74OYkvi
	VJJ6wQQnHEVf9Gnfh5xoLrPSuW488/PZ8Xckypsjfl73WgBlxrwy3ckb3/25c/aNo8ac=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172136-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172136: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
X-Osstest-Versions-That:
    ovmf=d2191197217f9d16541c2d051235c494fa80bce3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 13:19:10 +0000

flight 172136 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172136/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009
baseline version:
 ovmf                 d2191197217f9d16541c2d051235c494fa80bce3

Last test of basis   172126  2022-08-03 22:12:01 Z    0 days
Testing same since   172136  2022-08-04 06:43:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Sean Rhodes <sean@starlabs.systems>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   d219119721..444260d45e  444260d45ec2a84e8f8c192b3539a3cd5591d009 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:23:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380390.614517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaoY-0008Ec-VI; Thu, 04 Aug 2022 13:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380390.614517; Thu, 04 Aug 2022 13:23:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJaoY-0008EV-PL; Thu, 04 Aug 2022 13:23:02 +0000
Received: by outflank-mailman (input) for mailman id 380390;
 Thu, 04 Aug 2022 13:23:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s7b8=YI=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1oJaoX-0008EP-Df
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:23:01 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ed9775d-13f8-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 15:22:59 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by BYAPR12MB2854.namprd12.prod.outlook.com (2603:10b6:a03:135::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Thu, 4 Aug
 2022 13:22:54 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4db:f977:d898:caea]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4db:f977:d898:caea%6]) with mapi id 15.20.5482.016; Thu, 4 Aug 2022
 13:22:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ed9775d-13f8-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Et0Bv5coFZxlDv0CSAyirZykuNX/kwntG65AFiaCokeby0McP2+d6vHpKzCPg5dtFZm4dTFWDfODop0bMGSy6LPHqLYgTVUIDPkQrbuiM0J9toyoZ+EfGjhmiczCqPDPz/gDjEFrxMojkEDngjsmTzSaRmVhLLvlnQ4Asy8KGUt9NwSLTwgG8mJQur9CEn7QWVSmpC/AsHnw9Pb6FlXMwKzba88GgPpYFvUNAl4r/9Q3dPdem/QqUfhdor2bKDgPH/NmD5sEUcQ2cBcMWH1bGMWm84louAsrvpZsmMV80LWoWdXeB5xOPsPfE0BlVILzxphZU32z6kbaVABr3JSDag==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eAQeikYW30fZ0XpZIWy1AD3064fM3Pf/gvzk23qmEGI=;
 b=RAaeQX/72I9UoxMIpRQC/dzCVX7s2QklOLvn/KKbq2CgFzVXnuQkis/dfIprgS/itrv321m/dZFBNsbnowbfUXPSzeI9CCqRKzZ9BK/s04PifCOoZ3IDHEa9kpDKzIVxUQOvDtf46Uc46D9mnE7+1wJEg1uVL1C/eQpzG+fWzIs+pooxaPArld+DigSDLhY5BPgEHxGFUwM9BNSjk2d8a+Ggrq4gYfANPsrJEVV/yv+9aOkV3szxSqimXRFAdUnt8yAk4+sR0ij8/QYbJ2Csd4yk8Z1QLC2tvaJCiOhTDks/HsBoxADGNvPkcf+3M4Un/XvhOY11weDFdX+LjvHXRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eAQeikYW30fZ0XpZIWy1AD3064fM3Pf/gvzk23qmEGI=;
 b=cdfS2G9zK7dPhCKMAO2b3eo5of5nDfQjrvDlCWSBdxAF4bXIcBLp6knxkFpTCMwwUKTUzqk2kuGI/8+HUe8rbNRXLzTdRpnyuWo4/AD3HUeH798t4cBi/82gxsyklHMHNlErYJSVh1ecvFHLYA8LRLARMEthB6V3gjb4HlFX9jY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <719bbd84-6add-950a-9e4e-511073a679df@amd.com>
Date: Thu, 4 Aug 2022 14:22:48 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.11.0
Subject: Re: [PATCH] automation: disable xen,enhanced in qemu-smoke-arm64
To: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
Cc: cardoe@cardoe.com, burzalodowa@gmail.com, penny.zheng@arm.com
References: <20220729000557.2090845-1-stefano.stabellini@amd.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20220729000557.2090845-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0390.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::17) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 191f183e-7c0a-4295-9592-08da761c703e
X-MS-TrafficTypeDiagnostic: BYAPR12MB2854:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zdai8yQkXzZgb6y0UZOQ/g0SuR7sfuDfWTT4OpQQHvzFr56OUg8/PXtjjg089Pv1XtZ0V9rM7Fp9n9p0TSdK2Q2qe6HJg5U4RJwDUPXcUy610O3L9BHD29DfecFh3i78IpeEh/jTGywOFSBtXo2JpwaqH9EpkLAVMKtqOVSgyXtdo3UXShywaqgi6wBpcajdwAwGD3/n2UtzJZf6L0lrZrde8N7Z0vfrHTGvWp16mdSkvSLJGTkVoSKEcIwkr5Mp9kt7UXqwsfj9SzA7kXGDdd4M7td4Qi/cgKIwlN1Ql8BN/50+psqz2NNBynf12ii8qdqzEJKOLs3jjsZxArK9PAe+GJ8Km/ya6TIfTXwmYpJZryult/UgMrHNXDrY0B5A33qps76WSjGKfzr5Y+FFcQe0Jc1u90KVRjaDQ6+Ac91ehkEr064iC/1qIW2XcGlfroypl31HZu/cIR4s+inomvxDe9zAOdZ8f7kJxR+uT1Jr4PiTapZeZrPCPkbdBsE0AM5nVkTwElCNmvgn+PXXGWGi8GPnCySxAdmnTru7WANCeZZHS+f6qos8Wu78Walu8rgTlHpmW8Y/dSh5zRetAS4lTyjTjFnPEoRC+kesFXjcgr/mVDxM49+cGB30PQUsYLJhQRM0HJaguRxop0+PU7FDgDUDFrODnisKGG1FLHBdUtWAuNZix95uiySPRkckLvxGkz7FLc7dp8tgpLVqzJHUXmZglYsFxlwqAnnBIO99rL89FV8No405iRyKhfPq+GfB9wdfrINLhll+euAtxd0Z+IpjmmJM4vmR5Anj9OlVDRTQLGT0UL1EazPSbB2/P5P1z1+CT+LwizS6yILKIA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(346002)(136003)(366004)(39860400002)(316002)(66556008)(8936002)(8676002)(4326008)(66476007)(66946007)(6486002)(478600001)(186003)(31696002)(4744005)(6512007)(2616005)(38100700002)(6666004)(41300700001)(53546011)(5660300002)(2906002)(36756003)(6506007)(26005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHU0Y1RIVk12MlNyM2QrVjliY0g2OSs4aVhUSlNHUlFUaEtScmcvWGxxRHo1?=
 =?utf-8?B?NncwZVpUMlJVOXVDMVk1Z3pBK1FKQ1djNHVqQ25hRkZnMWx4T1Fqd1Z0VWNR?=
 =?utf-8?B?WVNNYzVTYWZING8wYUw1bHd3blg4NlJOY1gwcCtXQXdrWDQ2ODljdnQ4ZVRu?=
 =?utf-8?B?MU01TDFKR0dXYUpIcWdqZVZYeXJDbHFDVlE3VXpkN2xJclRnQi9mSzgrNWoy?=
 =?utf-8?B?d3Z3angrbU4rTVlYaG1ienA5MTF4d3FVYW9TMEVvYzVkOGE2VGRINzA2Y2hY?=
 =?utf-8?B?ZWJ3QVo1djlKMEhoaXA4bmhYdXh5Qjl4djdrYUNqZkl0bC9EOWhBWGNpR1FI?=
 =?utf-8?B?dGtUKzJzY3d1TE1PUTZ3cGg5ZW9HV3Z2djJCN2ozVDdHNzM2UHBscEEwUlMv?=
 =?utf-8?B?R25OWGhlK0FTblZicXJuU1JBMmFqK0RkamQvVnZCZXhIa3lFYXlEKzVNd0xq?=
 =?utf-8?B?QkJhZmx4ZlZVUVBVRHBMSk5TRkU2V2UzeVRQSW5nWVMySXkxSkQ4cmJoVHVK?=
 =?utf-8?B?ZG5CQ1BMVktEdXZtRytzT0g0UndnVE16QUdZelRkMmR2eDJsUGZaOE5BalR1?=
 =?utf-8?B?ckZtb0d6MytuVmJ4RjQ1ZTBRQ3NJS0tIekF4cnRTejNPWmpHZEhlaU9XVit4?=
 =?utf-8?B?VDRLSGFmZ2JtUjFmTlFzWVpZclJpR1BhY1VudXQ4cXN4b0JtVlQ5T1Z6M2dR?=
 =?utf-8?B?ek56K3FWNjRQWjRBbVRsRlUrWkZ0bTRXYXlLTytwUjF4WWhUYXdMSnhTeUFI?=
 =?utf-8?B?VmhBL0puUE5MaERVNDl2MWc2ZzZkMW9OSER5dVQyS2gyaEdZeW1NVnRpbmU5?=
 =?utf-8?B?bDg1YXZqYjZPRmtmN29QdGlvTWU2ZDRDTmVlL2UzNENzdHIzZ0hza29YdkxO?=
 =?utf-8?B?TUZiUkJudHJ3WTJHV09WZ0UwOEQ3VlVWRjA4bmhqNGF2eGxwMHhjQUJ0Q3VE?=
 =?utf-8?B?b0c4akVpVzlJVWl3a3dXd0Exbk0ycHBxY3B3bDN6a29selRNRVc2Q0JJSzZ4?=
 =?utf-8?B?YnF0Y1RSc3J1ZXZUS3ZhOE8xRzlqRDZ1WDZabndkVEEwRE9zLytUYWNUa2lr?=
 =?utf-8?B?WHNsQmJSUGlodVNTT01UNDNGajdOZTBReXFSWFhMWWNPUWlzTGRqUlVwRkdo?=
 =?utf-8?B?RnRjVGJVV1UwLytocnRxV0dvbGZ3TFVGeC93V3BzQUJnRDMyRWhocVdwaHVp?=
 =?utf-8?B?ZTczMTYzVFl0RGVBMExOZk9Ic2pNOUh5R2N4WXV6ZWRaTGpCbGxXd0NFVjB4?=
 =?utf-8?B?dStxcE9jQ1gycEdOdGxaYUhvdnBybkJKLzRsS2RZZHY5S0JtTFNmZEk0WUV0?=
 =?utf-8?B?Q2FHTG5oTFRoSEdOMG9sME8xR3o0cURzT0hpMllZU2t4MnlNSTNxdkxtYlph?=
 =?utf-8?B?ZW56OGZvNVl6bHdRRUtzYVhZdC9iVGpBaXdPWlBTdEZHNk44MXpBMUxIODhi?=
 =?utf-8?B?czJDcjlTNzdETGF4dVIyWUNFY0tyTGlhVyt5OXBzNEFkSUxQdi9lREN4MFVZ?=
 =?utf-8?B?QVVqbG4xdkFLU0RwVi9vVVF6YWNJSnNsVHdCVnlYSmFwMDhDblplTG9TbGYv?=
 =?utf-8?B?UHNwTnRNN2xZSXVVOEpBRHAwOFNpNTRRbnE0eWdHM1UyOFh2OXFBaFUycGxN?=
 =?utf-8?B?QzRYTEF0am1XYURoOG1rVGMwb2NhM3pPaERwVW96aTRSZUVudGZjNm5YUSsz?=
 =?utf-8?B?bFh2NHk5VzdjeGx6ZXVUYkQ3L2xIVHgwemJjdVVWU252RjdRYTM0alRTeVdo?=
 =?utf-8?B?aXVBQnFleWJjWVRCVkI4QkU1Z3R6RndyNWJ0NjZhSWQzTC8zOHUwV25qN2hB?=
 =?utf-8?B?V3RJTzErQkhubWpvVS9CcXhINDYvSXJkdXY5RzBsQXRIUVBacnNuUGhMeTJK?=
 =?utf-8?B?eWFyUTRSUTRLQm9QSVB5VllmUmV5c1pzZUlOckRWODRCdk9WRk1sU0xnTEZu?=
 =?utf-8?B?VUUzWFBhZTRWTWZCS3hWeXlNUnVpT3B2NDVTNFBQUlVKZEo3alM2Vmo4cWNJ?=
 =?utf-8?B?bTFvNVIvRi9JYXpiVXZRcFR3QlEwVUExZjZnNW9lUENlWUUyZ1pwTlVhcUp6?=
 =?utf-8?B?dEpNNldDanVqTk1GcFFrczZKWGU3M1ZzVDJVZGszelY3aHd6VEJPUHBuamRS?=
 =?utf-8?Q?O3SHxIwLgMrTQOxAUTT5ugZl0?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 191f183e-7c0a-4295-9592-08da761c703e
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 13:22:54.2689
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /YVOImhE3R1CRBceYoYxdbWAuwwbhuxYRD+4RHEAuASbOU1GhB7LgWk2Wns5Qho6hBsjTBMT2wryTQi3JN+7mg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2854

Hi Stefano,

It works. :)

On 29/07/2022 01:05, Stefano Stabellini wrote:
> Disable xen,enhanced because we don't use PV drivers in this test and
> also because the kernel used for testing is old and unpatched and would
> break if xen,enhanced is passed.
>
> This patch unbreaks gitlab-ci.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Reviewed-by: Ayan Kumar Halder <ayankuma@amd.com>

Tested-by: Ayan Kumar Halder <ayankuma@amd.com>

> ---
>   automation/scripts/qemu-smoke-arm64.sh | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh
> index 898398196a..e6f1510c0f 100755
> --- a/automation/scripts/qemu-smoke-arm64.sh
> +++ b/automation/scripts/qemu-smoke-arm64.sh
> @@ -84,6 +84,7 @@ NUM_DOMUS=1
>   DOMU_KERNEL[0]="Image"
>   DOMU_RAMDISK[0]="initrd"
>   DOMU_MEM[0]="256"
> +DOMU_ENHANCED[0]=0
>   
>   LOAD_CMD="tftpb"
>   UBOOT_SOURCE="boot.source"


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:31:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:31:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380398.614527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJawM-0001J0-Nm; Thu, 04 Aug 2022 13:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380398.614527; Thu, 04 Aug 2022 13:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJawM-0001It-KZ; Thu, 04 Aug 2022 13:31:06 +0000
Received: by outflank-mailman (input) for mailman id 380398;
 Thu, 04 Aug 2022 13:31:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x682=YI=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJawL-0001In-3U
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:31:05 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aff86402-13f9-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 15:31:04 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id z12so15180303wrs.9
 for <xen-devel@lists.xenproject.org>; Thu, 04 Aug 2022 06:31:03 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:8556:d1ea:dcb6:c7a1])
 by smtp.googlemail.com with ESMTPSA id
 i5-20020a05600c2d8500b003a325bd8517sm1509220wmg.5.2022.08.04.06.31.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Aug 2022 06:31:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aff86402-13f9-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=XlX0vsdDdgcBaiTlPcK9IhoP2wis7BryXBuo8UIjhnk=;
        b=cC0mpEf4Jj1W17i53fZIUAFpVvXOe/BilMXT8Xw74P8H5mQrj3PFTIezMV/xDtks9Z
         afo8pjdUpyTDAgvFnXeCOsKDFyWoDnvqdPrLEp7YdvYDKNtgSXPzP4+qD/tq1jAdiWMP
         HeZRKfu9SUc+iYZQNcwn2NeQvuda33CPsJoRNGdbweNN1X2KehaHpVUs5EA1oiiql0D4
         qxDPSsGj76Knbeuft1zxBnmQmuYM3z0KWgDyPO1rlb3at1GcRMA3OKwHmkf2SrEjmvQ6
         yDlJ2/arw0D8kq+yqoGwuR3gTCIvkwww3zVr/NxF2H0+RDZWEJKkNplLonbMRBUXqqci
         SZYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=XlX0vsdDdgcBaiTlPcK9IhoP2wis7BryXBuo8UIjhnk=;
        b=l3NIsLAA5gG3pR+q+Esmd+jAyF3bvLWmufaHaWcWCeTlT8pmZCctWcmD0tpqiidDxm
         d1BLviZcXVtRGo9MaRRJMob4/t4y/6NktOEHJ7M+UMbITTxPDCdGLh5lL32asLHA9Qdl
         JlsftB1ArDmj79pBInOkykzUZXwMnhJuJRLShiLRdYym7WSHwnXtRqvGlTCWzhoSYwOm
         CkLryW1/hOdgRtzE9elsVnX8LLFlZ301uFRY7qk4QgQO1ojVlOH4T863VTsp3eaOKKNk
         hNeda3VwDM/HRskXrn24+X83vqUvBBbT8YxTgFN1vfYT11P0Rl6qBLl8s2NvgTEr46um
         cIbw==
X-Gm-Message-State: ACgBeo0TcCohraEVA65fA1Z/nbXMkFSb2w5IDUDioLVveAXlvqsN806l
	PjKFm9lO+GG/ofbCIBZBbcUWHbUpPPk=
X-Google-Smtp-Source: AA6agR45E/L6XVq2WUBKXnntLUtaOVMG9jr8J41ufJFuGHYqny1j+E8BcUQe2U4meg7csE7Hs6fBaQ==
X-Received: by 2002:a5d:64a4:0:b0:220:960e:518a with SMTP id m4-20020a5d64a4000000b00220960e518amr1497428wrp.374.1659619863255;
        Thu, 04 Aug 2022 06:31:03 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>
Subject: [PATCH v3] xen/hypfs: check the return value of snprintf to avoid leaking stack accidently
Date: Thu,  4 Aug 2022 16:30:58 +0300
Message-Id: <20220804133058.1832142-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function snprintf() returns the number of characters that would have been
written in the buffer if the buffer size had been sufficiently large,
not counting the terminating null character.
Hence, the value returned is not guaranteed to be smaller than the buffer size.
Check the return value of snprintf to prevent leaking stack contents to the
guest by accident.

Also, for debug builds, add an assertion to ensure that the assumption made on
the size of the destination buffer still holds.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- add ASSERT_UNREACHABLE()
- update commit message accordingly

Changes in v3:
- place braces according to the coding style
- add the changes made in v1 because v2 was incremental to v1

 xen/common/hypfs.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/hypfs.c b/xen/common/hypfs.c
index acd258edf2..cdf4ee0171 100644
--- a/xen/common/hypfs.c
+++ b/xen/common/hypfs.c
@@ -377,6 +377,11 @@ int hypfs_read_dyndir_id_entry(const struct hypfs_entry_dir *template,
     unsigned int e_namelen, e_len;
 
     e_namelen = snprintf(name, sizeof(name), template->e.name, id);
+    if ( e_namelen >= sizeof(name) )
+    {
+        ASSERT_UNREACHABLE();
+        return -ENOBUFS;
+    }
     e_len = DIRENTRY_SIZE(e_namelen);
     direntry.e.pad = 0;
     direntry.e.type = template->e.type;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:39:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:39:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380406.614538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJb41-00020e-Ho; Thu, 04 Aug 2022 13:39:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380406.614538; Thu, 04 Aug 2022 13:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJb41-00020X-Dn; Thu, 04 Aug 2022 13:39:01 +0000
Received: by outflank-mailman (input) for mailman id 380406;
 Thu, 04 Aug 2022 13:38:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJb3z-00020R-PS
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:38:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJb3y-0004VB-S7; Thu, 04 Aug 2022 13:38:58 +0000
Received: from [54.239.6.184] (helo=[10.7.237.15])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJb3y-0007yy-L7; Thu, 04 Aug 2022 13:38:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=LAY0/qhtzM035VhFdR30SXOIYAm+iPUWEFs1VyGJReA=; b=MCqIeC6G/Db4P/QzUB0SIGnmTT
	SE6nY7dFs9RtrpJkSQKS3MbxwUn9A7EK9CS156vrBEk70CadkO9bn+Vjesl9yrXPDb3V+G0TNDR6d
	hp6PNmjmrYsDz4ra/SRF66iclBtUmIW4DVac+uBSZ8VK5j96Rm/3SMsEZcE8izzCRCUM=;
Message-ID: <688de547-896b-da29-9137-44cf2c20227a@xen.org>
Date: Thu, 4 Aug 2022 14:38:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH] doc: Add git commands to generate Fixes
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <b57628b8cf8355a5f4f32e6ea577689ae7450a69.1659537759.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b57628b8cf8355a5f4f32e6ea577689ae7450a69.1659537759.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 03/08/2022 15:43, Bertrand Marquis wrote:
> Add git commands examples that can be used to generate fixes and how to
> use the pretty configuration for git.
> This should make it easier for contributors to have the right format.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>   docs/process/sending-patches.pandoc | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-patches.pandoc
> index 7ff7826c992b..9c4c4655323b 100644
> --- a/docs/process/sending-patches.pandoc
> +++ b/docs/process/sending-patches.pandoc
> @@ -102,6 +102,10 @@ E.g.:
>   
>       Fixes: 67d01cdb5518 ("x86: infrastructure to allow converting certain indirect calls to direct ones")
>   
> +If git was configured as explained earlier, this can be retrieved using
> +``git log --pretty=fixes`` otherwise ``git log --abbrev=12 --oneline`` will
> +give the proper tag and title.

Rather than "proper tag", do you mean "commit-id"?

Other than that:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 13:43:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 13:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380414.614549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJb8G-0003P0-2G; Thu, 04 Aug 2022 13:43:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380414.614549; Thu, 04 Aug 2022 13:43:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJb8F-0003Ot-VT; Thu, 04 Aug 2022 13:43:23 +0000
Received: by outflank-mailman (input) for mailman id 380414;
 Thu, 04 Aug 2022 13:43:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nGyI=YI=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJb8E-0003Ok-9P
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 13:43:22 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64366558-13fb-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 15:43:18 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 6196A5C00BC;
 Thu,  4 Aug 2022 09:43:15 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Thu, 04 Aug 2022 09:43:15 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 4 Aug 2022 09:43:13 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64366558-13fb-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659620595; x=
	1659706995; bh=JH+4zo2qcCvINb3gN4LPh4tkWxvaN2tRfcaf+e0qFas=; b=H
	198Y0CCN5OPJ/MoQ8/Gli85n+RujTBhOSaQ0IE5Fc/RiFlCXt6lcR6PXjprCPCrI
	ttciSyxSN+IuBv5753DfB7HqhYlPXP71qWmi/UGxM35mkLGuaTdXW6QB7i+GLeui
	x6NjDEwrxbmYtgRbCj2gptFB5IEWcPBMLoYekFu37OrnqL1bSpRauh3BzMxhtsyA
	i+nW2zT8pwcUvTAyGflPmrZq5ELuQzYGZF5d9zaSyRqifAAgMTcSGOmUXgV0BDTl
	7H35PYvOZAPwxkmkj0/NEMQqzuG4nk9x6aIZO7Sv6mETJ9i/uWA0FrGLICwEgyQz
	gffKs8FDTHhs+eR8mrZsw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659620595; x=1659706995; bh=JH+4zo2qcCvINb3gN4LPh4tkWxva
	N2tRfcaf+e0qFas=; b=QFUgaOfeIfkhUVfMcbhI5gsr7HoQzVHU9rjUXiLrXMUQ
	n4pn5Ojtz3UE72/+0kSdkyu3IYvCDBqAcWkTr8/xgrPTTWBEP7t5usQQTR1TyAA5
	SAGAtkXmqpf2W3aicQRN0mdn1KcMe1I2Wr5MrrJ4lzDJIK9NlznalRMeKHpyOMzF
	A8qQ9oPPtz8cju5r7a5icn9O5dhmf8WGAmi6ZncFG9OMJ4o57V3Dp/La/EwRHBW8
	MUfRUMKWGeU7EulnrNDidFwyI0PsXrEGEJcqZvDCYUe9arUSzR0dGXAeulHcV3BC
	JBMjfZ14sIkCe2JwwqTnOM2GjXkZ9w9E34AbL1mhjA==
X-ME-Sender: <xms:88zrYpcgaeGydwFcc2XaL9uScu-0ccg8_uF_Zy4Rg7E0rNjcpurxKA>
    <xme:88zrYnOmNLLP9fI9yW0Lch1AEb9Z178vryisnQRLR4m0lmFYlc7M8fF6yad9W1lP7
    YXosDaokfZORg>
X-ME-Received: <xmr:88zrYiiJWlHLtEuLHwsYZDoLkIQyJ4PmeUJf06N2nTDINDmLEmt9OZYXPCvrr1UfLzf1Mm5yvj6W5KXHyTW76UFyYg3BFX5pGCBJ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvddvledgieekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:88zrYi_CiWD5nEYu9VrrybVFJtwaEoRcwIfa1E4cJcSKY-0tc56LMw>
    <xmx:88zrYlusteCSKO0J-fz2e8n9kQquPmWu3zDFT1tCKo0tsFioVXSkgQ>
    <xmx:88zrYhHB_jRJ5eO_OcIf8Dy2XAH-j8t8I6Avgomdbj__dg2nrgic_A>
    <xmx:88zrYjXMAyQnH9dYDG-KCnznx0JAmtDVjIn-voA2uRRb3dlJ0G4d6g>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 4 Aug 2022 15:43:10 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Message-ID: <YuvM7vElH/IdBJjq@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="nk1fkjOg/PvuRQA1"
Content-Disposition: inline
In-Reply-To: <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com>


--nk1fkjOg/PvuRQA1
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 4 Aug 2022 15:43:10 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger

On Thu, Aug 04, 2022 at 02:57:49PM +0200, Jan Beulich wrote:
> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> > +/* Defines the size in bytes of TRB rings as 2^DBC_TRB_RING_ORDER * 40=
96 */
> > +#ifndef DBC_TRB_RING_ORDER
> > +#define DBC_TRB_RING_ORDER 4
> > +#endif
> > +#define DBC_TRB_RING_CAP (DBC_TRB_PER_PAGE * (1 << DBC_TRB_RING_ORDER))
>=20
> I have to admit that I'm always puzzled when seeing such - why not
>=20
> #define DBC_TRB_RING_CAP (DBC_TRB_PER_PAGE << DBC_TRB_RING_ORDER)
>=20
> ?

I think the former is a bit more clear what's the actual size, but the
end result is the same, I can change that.

> > +struct dbc {
> > +    struct dbc_reg __iomem *dbc_reg;
> > +    struct xhci_dbc_ctx *dbc_ctx;
> > +    struct xhci_erst_segment *dbc_erst;
> > +    struct xhci_trb_ring dbc_ering;
> > +    struct xhci_trb_ring dbc_oring;
> > +    struct xhci_trb_ring dbc_iring;
> > +    struct dbc_work_ring dbc_owork;
> > +    struct xhci_string_descriptor *dbc_str;
>=20
> I'm afraid I still don't see why the static page this field is being
> initialized with is necessary. Can't you have a static variable (of
> some struct type) all pre-filled at build time, which you then apply
> virt_to_maddr() to in order to fill the respective dbc_ctx fields?

I need to keep this structure somewhere DMA-reachable for the device (as
in - included in appropriate IOMMU context). Patch 8/10 is doing it. And
also, patch 8/10 is putting it together with other DMA-reachable
structures (not a separate page on its own). If I'd make it a separate
static variable (not part of that later struct), I'd need to reserve the
whole page for it - to guarantee no unrelated data lives on the same
(DMA-reachable) page.

As for statically initializing it, if would require the whole
(multi-page DMA-reachable) thing living in .data, not .bss, so a bigger
binary (not a huge concern due to compression, but still). But more
importantly, I don't know how to do it in a readable way, and you have
complained about readability of initializer of this structure in v2.

> That struct will be quite a bit less than a page's worth in size.

See above - it cannot share page with unrelated Xen data.

> If you build the file with -fshort-wchar, you may even be able to
> use easy to read string literals for the initializer.

I can try, but I'm not exactly sure how to make readable UTF-16
literals...

> > +static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
> > +{
> > +    size_t i;
> > +
> > +    if ( size !=3D MAX_XHCI_PAGES * DBC_PAGE_SIZE )
> > +        return NULL;
> > +
> > +    for ( i =3D FIX_XHCI_END; i >=3D FIX_XHCI_BEGIN; i-- )
> > +    {
> > +        set_fixmap_nocache(i, phys);
> > +        phys +=3D DBC_PAGE_SIZE;
>=20
> While there may be an assumption of DBC_PAGE_SIZE =3D=3D PAGE_SIZE, the
> constant used here clearly needs to be PAGE_SIZE, as that's the unit
> set_fixmap_nocache() deals with.

Ok.

> > +static bool __init dbc_init_xhc(struct dbc *dbc)
> > +{
> > +    uint32_t bar0;
> > +    uint64_t bar1;
> > +    uint64_t bar_size;
> > +    uint64_t devfn;
> > +    uint16_t cmd;
> > +    size_t xhc_mmio_size;
> > +
> > +    /*
> > +     * Search PCI bus 0 for the xHC. All the host controllers supporte=
d so far
> > +     * are part of the chipset and are on bus 0.
> > +     */
> > +    for ( devfn =3D 0; devfn < 256; devfn++ )
> > +    {
> > +        pci_sbdf_t sbdf =3D PCI_SBDF(0, 0, devfn);
> > +        uint8_t hdr =3D pci_conf_read8(sbdf, PCI_HEADER_TYPE);
> > +
> > +        if ( hdr =3D=3D 0 || hdr =3D=3D 0x80 )
> > +        {
> > +            if ( (pci_conf_read32(sbdf, PCI_CLASS_REVISION) >> 8) =3D=
=3D DBC_XHC_CLASSC )
> > +            {
> > +                dbc->sbdf =3D sbdf;
> > +                break;
> > +            }
> > +        }
> > +    }
> > +
> > +    if ( !dbc->sbdf.sbdf )
> > +    {
> > +        dbc_error("Compatible xHC not found on bus 0\n");
> > +        return false;
> > +    }
> > +
> > +    /* ...we found it, so parse the BAR and map the registers */
> > +    bar0 =3D pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_0);
> > +    bar1 =3D pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_1);
> > +
> > +    /* IO BARs not allowed; BAR must be 64-bit */
> > +    if ( (bar0 & PCI_BASE_ADDRESS_SPACE) !=3D PCI_BASE_ADDRESS_SPACE_M=
EMORY ||
> > +         (bar0 & PCI_BASE_ADDRESS_MEM_TYPE_MASK) !=3D PCI_BASE_ADDRESS=
_MEM_TYPE_64 )
> > +        return false;
> > +
> > +    cmd =3D pci_conf_read16(dbc->sbdf, PCI_COMMAND);
> > +    pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd & ~PCI_COMMAND_MEMORY=
);
> > +
> > +    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_0, 0xFFFFFFFF);
> > +    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_1, 0xFFFFFFFF);
> > +    bar_size =3D pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_0);
> > +    bar_size |=3D (uint64_t)pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRES=
S_1) << 32;
> > +    xhc_mmio_size =3D ~(bar_size & PCI_BASE_ADDRESS_MEM_MASK) + 1;
> > +    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_0, bar0);
> > +    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_1, bar1);
> > +
> > +    pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd);
> > +
> > +    dbc->xhc_mmio_phys =3D (bar0 & PCI_BASE_ADDRESS_MEM_MASK) | (bar1 =
<< 32);
> > +    dbc->xhc_mmio =3D dbc_sys_map_xhc(dbc->xhc_mmio_phys, xhc_mmio_siz=
e);
>=20
> Before actually using the address to map the MMIO you will want to make
> somewhat sure firmware did initialize it: The EHCI driver checks for
> all zeroes or all ones in the writable bits.

Ok.

>=20
> > +/**
> > + * The first register of the debug capability is found by traversing t=
he
> > + * host controller's capability list (xcap) until a capability
> > + * with ID =3D 0xA is found. The xHCI capability list begins at address
> > + * mmio + (HCCPARAMS1[31:16] << 2).
> > + */
> > +static struct dbc_reg __iomem *xhci_find_dbc(struct dbc *dbc)
> > +{
> > +    uint32_t *xcap;
>=20
> const?
>=20
> > +    uint32_t xcap_val;
> > +    uint32_t next;
> > +    uint32_t id =3D 0;
> > +    uint8_t *mmio =3D (uint8_t *)dbc->xhc_mmio;
>=20
> Can't this be const void * (and probably wants to also use __iomem),
> avoiding the cast here, ...
>=20
> > +    uint32_t *hccp1 =3D (uint32_t *)(mmio + 0x10);
>=20
> ... here, ...
>=20
> > +    const uint32_t DBC_ID =3D 0xA;
> > +    int ttl =3D 48;
> > +
> > +    xcap =3D (uint32_t *)dbc->xhc_mmio;
>=20
> ... and here (if actually using the local variable you've got).

Ok.

> > +/*
> > + * Note that if IN transfer support is added, then this
> > + * will need to be changed; it assumes an OUT transfer ring only
> > + */
>=20
> Hmm, is this comment telling me that this driver is an output-only one?

At this point, yes. Input support is added in patch 10/10.

> Or is it simply that input doesn't use this code path?
>=20
> > +static void dbc_init_string_single(struct xhci_string_descriptor *stri=
ng,
> > +                                   char *ascii_str,
>=20
> If this function has to survive, then const please here and ...
>=20
> > +                                   uint64_t *str_ptr,
> > +                                   uint8_t *str_size_ptr)
> > +{
> > +    size_t i, len =3D strlen(ascii_str);
> > +
> > +    string->size =3D offsetof(typeof(*string), string) + len * 2;
> > +    string->type =3D XHCI_DT_STRING;
> > +    /* ASCII to UTF16 conversion */
> > +    for (i =3D 0; i < len; i++)
>=20
> ... this missing blanks added here.

Ok.

> > +static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> > +static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> > +static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> > +static struct xhci_erst_segment erst __aligned(64);
> > +static struct xhci_dbc_ctx ctx __aligned(64);
> > +static uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);
> > +static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> > +static char __initdata opt_dbgp[30];
> > +
> > +string_param("dbgp", opt_dbgp);
>=20
> This duplicates what ehci-dbgp.c already has. I guess we can live with
> it for now and de-duplicate later, but it's still a little odd. In any
> even please move the blank line up be a line, so that string_param()
> and its referenced array are kept together.
>=20
> > +void __init xhci_dbc_uart_init(void)
> > +{
> > +    struct dbc_uart *uart =3D &dbc_uart;
> > +    struct dbc *dbc =3D &uart->dbc;
> > +
> > +    if ( strncmp(opt_dbgp, "xhci", 4) )
> > +        return;
> > +
> > +    memset(dbc, 0, sizeof(*dbc));
>=20
> Why? dbc_uart is a static variable, and hence already zero-initialized.

Ok.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--nk1fkjOg/PvuRQA1
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLrzO4ACgkQ24/THMrX
1yw01wgAgoD5t7ncCjs6WqA/wjy/xIA76/8Ms6ngLDd/xNxPQcgoM+C9ORGIGrGi
nPgUtcWzZTud/m+Ll15iqzvvP3FgiYUJIvnsI2wdZV3eKXTzpOziXFpCGnFDOeyM
Q35DQj04gRqA+8LbWDKJZ974sZqVSR4uK4Sj+LgCRGz+VaTJ4qCsjkGLtovgK2Me
dQIWuJftt74oqjEn89+XQkkz72c0q4I7gURiyT0xO7Lo3M5PvjQWs14cltx8ErdP
Pb5+9PvhGgAUG4rtVm01uM2ipvEYHlOSWmT691I9kXa+Sjllpwv62U8eZEc5Xbjy
JarhD9Ylk0jmqQNVYYY/CFxaQwB3MA==
=EF02
-----END PGP SIGNATURE-----

--nk1fkjOg/PvuRQA1--


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:14:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:14:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380426.614565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbc5-0006vJ-JZ; Thu, 04 Aug 2022 14:14:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380426.614565; Thu, 04 Aug 2022 14:14:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbc5-0006vC-Gp; Thu, 04 Aug 2022 14:14:13 +0000
Received: by outflank-mailman (input) for mailman id 380426;
 Thu, 04 Aug 2022 14:14:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJbc4-0006v6-7Y
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:14:12 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80081.outbound.protection.outlook.com [40.107.8.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b55b2586-13ff-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 16:14:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4674.eurprd04.prod.outlook.com (2603:10a6:208:75::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 14:14:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 14:14:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b55b2586-13ff-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mgcutbMdFrHM7NevH5EOloYyvYbNZaSDE5Z2jbGwKSHFTZgioYzCn7mseKQiLVKrKeTtI7D3lWBM2ewS6rWhBx9b0zz5Ljn/w92UUpfkgJAlN1TVS8DUyNoqQjeKZBLCvUV8QcHzmEesoFDqEOh8K3GC2L3D+yyotqHxKFxDQM+YgYsT+WQVnhSVKajcsmJzgeQOU0gBtihjHPthxsA00+AMfYAwSrynyc2uGUMWoQpGL/laWn5kHmnZHX/CAqYUOovb+OX61KPVNuvOWUAWMjmiiIkkTkiuaH+bbOz0ypSWChXCz0NWVm9YxH9rSSIDBxDrgKQ5/NMKPM7xatsITA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VTuDKxZ7q6XrynJBt6sd1xWkzC4emYIpt0uOrgjtYzI=;
 b=MTVtO4OyZYYyrXtS8Bx0JFuQ6DBzojcMS8GqcE8fJshth5kuemJJ6oF0+JPFvuicrfGv+sgVXHP83Uz1ZXfFP35bwlVIwlGjSWDXSaxjoozrQi1DygJC43QGnnznP2/zoGAaApIMxoHRTMqNMR7K10qZYJ2NRgtmBfT36tSfmW94BjTHIECKv7fvY64nW0zhhSFzfqn/L8R7gHafje5+KFAjysKED+UU6ooNh/CwTmDCp+TjCrGPL9BGl4dda5xzhjFBeKRcTOc+7w9kRtesGyjQ/IJpS/rjHgF5ZALpxTB0QM2HWlWzwij1TdTOt2EXquwKPUXlfnk/65lD3Y4bUQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VTuDKxZ7q6XrynJBt6sd1xWkzC4emYIpt0uOrgjtYzI=;
 b=P2ZeMP5n2EVcwP2hP733HLkfPh0WLqtP03Hgbq9gBj4ZxJFXVf4nODfpla0dsVF1IJRS23HHsIxjEwjNE2Y/Q9mQyXsA6k7FMLaNpgaJ6K+kNdp+5CPkM0rrfsHyulGKpjbWkD5huxUs+Dddm5NsfkuTXNGDhX3kGPHCz/7WSo1YSy8XHKy0DPT2JfQlKPaJtZYDW/y6gm5qMbAXqdEZM17lYk57HwKdGNHlLstSElNBOuJTaoDcgBpwozOmi3iBL7Z3x7TLUeHS1VwkhApjTSqM1PnJ9Bd2sCMpEVmFfbSTpLr1w5CX1g2PvIm4ANDu4gNBa//coGQged1LITRIRg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a9ddc9df-82ad-ad92-a5db-4a0e67dc972e@suse.com>
Date: Thu, 4 Aug 2022 16:13:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 04/10] console: support multiple serial console
 simultaneously
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <14411aa674b61d22d9626a3455206454793b6a37.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <14411aa674b61d22d9626a3455206454793b6a37.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS9PR06CA0245.eurprd06.prod.outlook.com
 (2603:10a6:20b:45f::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3daeee16-2473-4935-6257-08da762393dd
X-MS-TrafficTypeDiagnostic: AM0PR04MB4674:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tKWIpW4TPcUl1wccRztqsD52WPzE3r7rAEj8s14PI3wXbhpxbUflNOhZ+oMkk0xtjX6r1JKIHVsihMBFgVNE7Nm1fgIHufVY6zoKN/kEcCc5Vn8rW7fv4zZh0+5ye9IxRNYf+v5Rv0m03kPTI9Pd02MVLYkFzNU6rN4EEvaIddBx2h5Dsfe+yEwMMaexyHWtPwBoJRxJEI9LftJawZJHLl+KQj0STsn/DHEM2NnYzjeLL1ASTOrcWdPYklTmuDxLQ6FRoVu3v/xcZoQnYQrHViBcel5ZsxFmd0gUusmA7b8+pa1PrBjcNw3nnG8lHilLLMzANmpz18FZl+RLUlW1Og3zxdvkZLfgYo20x6D4RR5z7gTJpo6RG5BD+RxyhGo+cuNE2eYa05KkbH4Q87l8rYtCjvjtqrfSyMtTVpNhWHtzytUUXgAeN6tWghL0N5E9vgSdCZ5SZd97UUohr8N59KGn1p8G+G/T8LsUcfKRyI1LII7VL6sJe2KTaK5vaWmfo1E2fydJKAhVwcMQPqAcAYp4NvXc6nMucI0xzrH3VvqsVWZx2HO0amfpBZaX0+a+A/KcEtzfCftLX5pSM20KCrR/cf30avI9nMjcJptG6BPjyzFL7EtP7e0tFLrg8GJ4JHUkcs4tJm22SFTFaWn6pyBT5Aa6mPXHBXDiA+clCT8exv11elZtnSh769xqSTgLbdr5fGyT00lfThlGG1kuTsA/wg7RWawUIoeJVhK0BnIO5B0Lu3uC3QlWNRxbxbIx88nynz9OdQBQhEWiWuvbYm7Pgi7yHrn3hRGis62+QpPvTAAnK6UnqQtwfY98PnUvv/uHHanSDveq3NTMRy+IJQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(39860400002)(376002)(396003)(366004)(2616005)(186003)(26005)(83380400001)(6512007)(53546011)(66574015)(6506007)(31686004)(2906002)(36756003)(6486002)(86362001)(38100700002)(316002)(54906003)(31696002)(6666004)(6916009)(8936002)(478600001)(41300700001)(5660300002)(66476007)(66946007)(66556008)(4326008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?azI4TW1KZGJHL1F0NlppMDBPWXR1cTJsWk5Xd1duSjBQNXNBMmlDNGJUY3JC?=
 =?utf-8?B?SC9jZW9oYU1XYnk4OWltMHEwR0s5VjkyYVdQVGpBcnJaeWFHZHdBVkFJU3FJ?=
 =?utf-8?B?bEJDd01lZ3dPNGlkVEhOVmc0TFBTeGNMYlZBdWs4b3JVd3pQd0dFUWhBcnp2?=
 =?utf-8?B?SDduY3NRNHhrcEkzVVBtOW4zREdHZzU0NW1XNVl6TWdPaG5vNzBLTlowMytZ?=
 =?utf-8?B?MGMyMUN0MTFWQnJ3cHVvRzBWRXRxL1p3WVo3cDRXTlZXTGM4bi81d3BxeHhx?=
 =?utf-8?B?QzJrL2FkWFF0SW9uRjBiM3lVY2ZJbUVaV0tkbjBYV2Nzc2I1czJzeHBCY3lj?=
 =?utf-8?B?WHBwRFh3d2pFRk9SeldPaEwwSVJnQjFlaUFUZnU3MlVxSUhBOGwyQ1Q4Rmcx?=
 =?utf-8?B?MkhCMVhaT3FJYk9JbFdkaGppVzlJSGUrQXJTUGIwU2U3bXpvdDRLZzVZaGNU?=
 =?utf-8?B?VStqUEFwK0VCYjZ1UHg5SVNJZ1FFM21tdWNtME8xRFdFTUEvOTVyRDhkdkVz?=
 =?utf-8?B?dGxJalBiMWZVZ1BCK2gvUTBtR3NIeUNvcFBCZ0J1cFhtRUl4Kzd2Njg1dXEy?=
 =?utf-8?B?MmN6RTFDTkpKR0pLNTcyQ1BUejQ0WHFrbENVVEp3bWs0cElBT2RZeFM3ZlhQ?=
 =?utf-8?B?emlwOVM0N0RCQUg5SlJaL3M2a2htVS8vUzdOV2drUFcrY1FWd0dBTGdMUDBV?=
 =?utf-8?B?cFpCbm5ndEpEa3JrelE2SDFxZ3NlUnJLRWlsVUxlcnpHUnArTmUxSkFoaUVB?=
 =?utf-8?B?dTBsZStiOGFYY0JUU2JrdStvUVFrQmF1SXJ1czB3OHBEeEtWdG5Hek1XWVho?=
 =?utf-8?B?RUF0SlpPZVQ4dk41VDlGcXRlMi92WDdiY3pGOUdxOXpJdi8wbVlWUW1XUGIy?=
 =?utf-8?B?VHo5bUdhZTZrNmdlcHJ0dmcvVjRUZkdOK3JEK0NsQmJCU1FZWTI1UlFlZ3dS?=
 =?utf-8?B?bVBNeFJGMGEwQ0RFYW1rUHNvaWFwM1RhNDJZZXdNalIyMGUwbWxuS2o4dWF1?=
 =?utf-8?B?VjI0TVZzdWt0Zmtxazkzd0JvblVEVjVoS3BzMXhWRkdkQ0xVdk12N2U0TjNV?=
 =?utf-8?B?Mk1jazdlNkxsVDUrMHNrVmlTbFl5U0pBcnBZbFhMSEtvam15VjFzZHIyZ3U1?=
 =?utf-8?B?RXR2d20vUnBHaDZBUloxblFRMEVYd1V1THd5N1NhQWZHWmlTeGo2RXQ0YURU?=
 =?utf-8?B?SFZUeG5RK1RrN2JyYUFtazhJUWZrL0o0dXZqdXhjQ1VvNXNSNEdoejF0WTY4?=
 =?utf-8?B?LzFmbXFtd3FhK3dmK3RUVU5xMVluTDBKc1JOTFBjTFZzQ1BoVmhwMUZBZzF5?=
 =?utf-8?B?SUlaVytiVGo3MFJTelVBNzVNQzdndzlyaXhEdnFOZzJvZWw3UWZVcWVWYmRP?=
 =?utf-8?B?dXZIL3BCRUUzSUhPcGpLSUxvZ0pUOGlhM1QyYmJTOU5sNDRNSS9QRVBDQXNq?=
 =?utf-8?B?cVBrTlloNGw1eDgxRmVwa0k3c0ZkZFZaNnNmTGhKSVNHMGUxV3RJNlU0R1VO?=
 =?utf-8?B?Q0tiOEh5MG1kZzNSYVpWWnl3YzhNaUV2WkI1RDlPZCtQVlpqTkdaR040d0pF?=
 =?utf-8?B?ZHE1WUxmNTBLZU1ibG4wVzc2SVh0akJkQjU5MHlCTjRYVnQvaW1SYW1YR2xB?=
 =?utf-8?B?Q2NCR2lqRGZRWWExNVM0WmtLM0lRWXJZbUZMMDE0SGZhU0tIeFNjTVpXSzdN?=
 =?utf-8?B?clM2TTAreUJnYzZBeVg1WVdhVjFMUDFiZlZZcFNDekVhamM4Q0x0ZG96dms5?=
 =?utf-8?B?NEFnNmtHb3lMa1lmSTJRbmhKRXhibVhWR2had2RPejdtNHM0aHVrcjgycnhZ?=
 =?utf-8?B?N01GQ0Y0Unhadm1sSXlZMDl6NENZZ3BuRG9zOC91U1AwVmFKQ21OS3N6WXlu?=
 =?utf-8?B?NHNpYktwbmNzT0hFS1dMUy9OdzYrMzVteWdocklOT1YwazNVOWhTV3I4QzVk?=
 =?utf-8?B?bkYrK21HYkQ5REZkUmtQTDMydGtKcjBDRFFKS1ByeEttcFkvZ2cxcjV3U0pn?=
 =?utf-8?B?THNDK1RyeWM1V3JxY0dHVWI0bS9qZmlSVVVhdmNiQTRMenhwOWRENUY4aitH?=
 =?utf-8?B?NVMveXBmVDNrZW9QWC8wN3kxZGF3allPc2E4NkhBOXJsMGdqckdKdzl0QVh1?=
 =?utf-8?Q?B+H/NP+WDpIDK7VRTkerdub4g?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3daeee16-2473-4935-6257-08da762393dd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 14:14:00.4757
 (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: BixZTVESVwYSQhajhCSYhUF0f9qJDv0DkKGYiJluuRYD9EwPmJy+lY9nVZK/qZjefcJeETTT9yapXrzuZJ+dqQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4674

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> --- a/xen/drivers/char/Kconfig
> +++ b/xen/drivers/char/Kconfig
> @@ -85,6 +85,17 @@ config SERIAL_TX_BUFSIZE
>  
>  	  Default value is 16384 (16kiB).
>  
> +config MAX_SERCONS
> +	int "Maximum number of serial consoles active at once"
> +	default 4
> +	help
> +      Controls how many serial consoles can be active at once. Configuring more
> +      using `console=` parameter will be ignored.
> +      When multiple consoles are configured, overhead of `sync_console` option
> +      is even bigger.
> +
> +	  Default value is 4.

Indentation (the help text ought to be indented by a tab and two spaces).

> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -113,7 +113,9 @@ static char *__read_mostly conring = _conring;
>  static uint32_t __read_mostly conring_size = _CONRING_SIZE;
>  static uint32_t conringc, conringp;
>  
> -static int __read_mostly sercon_handle = -1;
> +#define MAX_SERCONS CONFIG_MAX_SERCONS
> +static int __read_mostly sercon_handle[MAX_SERCONS];
> +static int __read_mostly nr_sercon_handle = 0;

unsigned int please.

> @@ -393,32 +395,59 @@ long read_console_ring(struct xen_sysctl_readconsole *op)
>  static char serial_rx_ring[SERIAL_RX_SIZE];
>  static unsigned int serial_rx_cons, serial_rx_prod;
>  
> -static void (*serial_steal_fn)(const char *, size_t nr) = early_puts;
> +/* The last entry means "steal from all consoles" */
> +static void (*serial_steal_fn[MAX_SERCONS+1])(const char *, size_t nr) = {

Nit: blanks please around + . But with ...

> +    [MAX_SERCONS] = early_puts,

... this initializer you could as well omit the dimension.

> +};
>  
> +/*
> + * Redirect console *handle* output to *fn*. Use SERHND_STEAL_ALL as *handle* to
> + * redirect all the consoles. 
> + */
>  int console_steal(int handle, void (*fn)(const char *, size_t nr))
>  {
> -    if ( (handle == -1) || (handle != sercon_handle) )
> -        return 0;
> +    int i;

While from the use inside the function this would better be unsigned int,
I can see how that would be slightly odd with the return value. But with
overly high a MAX_SERCONS ...

> +    if ( handle == -1 )
> +        return -ENOENT;
> +    if ( serial_steal_fn[MAX_SERCONS] != NULL )
> +        return -EBUSY;
> +    if ( handle == SERHND_STEAL_ALL )
> +    {
> +        serial_steal_fn[MAX_SERCONS] = fn;
> +        return MAX_SERCONS;
> +    }
> +    for ( i = 0; i < nr_sercon_handle; i++ )
> +        if ( handle == sercon_handle[i] )

... the array access will degenerate when i is "int", but will be okay
when i is "unsigned int" (and of course everything will break if
MAX_SERCONS > UINT_MAX).

> +            break;
> +    if ( i == nr_sercon_handle )
> +        return -ENOENT;
>  
> -    if ( serial_steal_fn != NULL )
> +    if ( serial_steal_fn[i] != NULL )
>          return -EBUSY;
>  
> -    serial_steal_fn = fn;
> -    return 1;
> +    serial_steal_fn[i] = fn;
> +    return i;
>  }
>  
>  void console_giveback(int id)
>  {
> -    if ( id == 1 )
> -        serial_steal_fn = NULL;
> +    if ( id >= 0 && id <= MAX_SERCONS )
> +        serial_steal_fn[id] = NULL;
>  }
>  
>  void console_serial_puts(const char *s, size_t nr)
>  {
> -    if ( serial_steal_fn != NULL )
> -        serial_steal_fn(s, nr);
> +    int i;

unsigned int please, again (yet more further down).

> +    if ( serial_steal_fn[MAX_SERCONS] != NULL )
> +        serial_steal_fn[MAX_SERCONS](s, nr);
>      else
> -        serial_puts(sercon_handle, s, nr);
> +        for ( i = 0; i < nr_sercon_handle; i++ )
> +            if ( serial_steal_fn[i] != NULL )
> +                serial_steal_fn[i](s, nr);
> +            else
> +                serial_puts(sercon_handle[i], s, nr);

This for() would better gain braces.

> @@ -977,8 +1006,12 @@ void __init console_init_preirq(void)
>              continue;
>          else if ( (sh = serial_parse_handle(p)) >= 0 )
>          {
> -            sercon_handle = sh;
> -            serial_steal_fn = NULL;
> +            if ( nr_sercon_handle < MAX_SERCONS )
> +                sercon_handle[nr_sercon_handle++] = sh;
> +            else
> +                printk("Too many consoles (max %d), ignoring '%s'\n",
> +                       MAX_SERCONS, p);

In order to use p here, I think we want (need?) to make
serial_parse_handle()'s parameter const char *.

> --- a/xen/drivers/char/xhci-dbc.c
> +++ b/xen/drivers/char/xhci-dbc.c
> @@ -1078,8 +1078,12 @@ void __init xhci_dbc_uart_init(void)
>  
>          e = parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
>          if ( !e || *e )
> +        {
> +            printk(XENLOG_ERR
> +                   "Invalid dbgp= PCI device spec: '%s'\n",
> +                   opt_dbgp);
>              return;
> -
> +        }
>          dbc->sbdf = PCI_SBDF(0, bus, slot, func);
>      }

Does this change belong elsewhere?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:21:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:21:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380433.614577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbin-0008PQ-A4; Thu, 04 Aug 2022 14:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380433.614577; Thu, 04 Aug 2022 14:21:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbin-0008PJ-72; Thu, 04 Aug 2022 14:21:09 +0000
Received: by outflank-mailman (input) for mailman id 380433;
 Thu, 04 Aug 2022 14:21:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJbim-0008PD-E8
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:21:08 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00088.outbound.protection.outlook.com [40.107.0.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad0f4194-1400-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 16:21:06 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5041.eurprd04.prod.outlook.com (2603:10a6:208:bf::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Thu, 4 Aug
 2022 14:21:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 14:21:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad0f4194-1400-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pe5H83F3+0+954uRu/32QfXutSd6G2VaGP8mWS7TqbvHUrw/CVidwjNzLofTeO4ZP3b3p4elcffhskjHLLcj+ucybDQXRD9RytDxO6mZf7QndZPJeFiXzonutBc5e+Q9niznX1hSZEdeYEHyyzTMuIOO0h5h3+IinJYJtMwPP6a0Cx25ehefAOFtaTSEAVQU4vKKldt0rssOT1+Z707HlujLk0M7MZIQLUsHJw7BDuxIZX/vUKqihPM++AK5P+0TcW3Caq2fwk2ojItlHM/5OHp6D+/jRRiUhB0K/E9T6yu8OkuW7VP1TbmDcWfAcn1U0g1bxkqqnQmkngUQJdoC6g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tAPnCDegiet3SisbW/WWnse40da9oxOxNKBtFyvEEbY=;
 b=MLVPWSqwr4sd+W9yaQJgN+wof5fLRGNl8yMxHVMo7N2eIaLt1pwvDsGFs3W4MNEDCa3wpQ3hQ8KmO+ilSbCdzH1YP8IJwP6FFUvmJsCcQqirudV64IpIbq42Z0JwImciw0G4rHd/S6v6lGDOJI5XTW2ZQh6X9KBzVuamA2IGQGzRLkCCAAFIXZCSmq5sGTfiKw4ieLozdOuE6X/VcqkBiBsUfBn0s45OM4649UAVn7DMxkXB5IQ6dTxIh2ugdQkZqJnZlv8jIXbDM3kEdwoWKw5wJJel3YZ2bXrFpR5PDxA3SVm2tFBhOuRnOg3lFYh5IyJKb+S7lViNNZFBe4iMMw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tAPnCDegiet3SisbW/WWnse40da9oxOxNKBtFyvEEbY=;
 b=PyVpeyyxseJ4ykSIJoK0NQKUdL8fHKFHFrWXwxOtPi6RyjcGqEnxEoN9BBIqDt1my6kttjpYAkjjv2cL8WAYJ/PK9Ea2TeBLgqbL4MEzET24HdZM3wkUPh7vOdSokYuJpTaEl0oqsiwVYVzpz64sGLsWbFD9rTJDNLvmj6JyyX/tE0e4kDYhHRcbseYBchiX6d8Znwi5rIJLZ0qaaPJEUMxH9BRuszlwauVf4aM8O0ulNR1Dp2yzdgU02T2fkjxJf01XAebdZt3khRtFVsrYAMTPzGE1oREOh5vCfW8vJ1BiRma4/BbM6QW+YJkABXu6Ulyht2eOv1XjX+9XJQGdyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com>
Date: Thu, 4 Aug 2022 16:21:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com> <YuvM7vElH/IdBJjq@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YuvM7vElH/IdBJjq@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6e737d88-d0f5-4c92-f89d-08da76248ff9
X-MS-TrafficTypeDiagnostic: AM0PR04MB5041:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sHuh2KF9/ucbhrwSSPvVqUJ+kaoZA7nd5U/qFg1gv5tRvI5obJn9QRlO83hAcxco1jY342ZYqiZu98LpfJPZ4X10KPsqfEEjrprE+4F6LsXKXaJMyCdQ2I3bZaC+jEoWpPXWzdi2eZT7cyCTGnSNPQLdJVhlraQItJZhWwGOMwYFLQT6IjdTj6BAd/sEaIkmAZu+xLVyQYzXVmTMzdFSHRR+9cDeac7qbRWnecnEgZV45VjaYmPfznqIPXryv876IVOXh5oh9U9UBSiOqCoMEBKz/g2/jk48fx1pHGbMOQrIrulc7cDR06a4OEQyXbor3JWnuSRI1CNkHl9R1gSFPNwuTc39vfTeEnNyJRdXcTvRkOXwWuOGz1AsYVpKwbbhCd8NEURa6QTRHovCpZLrKBMZAEXZaPvaF29/SYbcsHa4GVtDDMrwjxzC8ECmPKsvUTEtYCtXt1sYMD2eLL5jpjAGmOu2B5Sf98s9PCHj4FSuVZqit1TbJKYMP/OF+xNnvWYfJcfDabUD0/tf8JbOl/30rJoD/6dZYVin7Km5QrfrclQNJdTwNDA+oHdDTa6CbneuNUBlD7aj4YhnDT4Xahrw4iL1KuVE0QU8bCfOZVUdCYmviub0vX38ek/Gdhk5Mo6FCVf7FsWM2PMvQuWPmrvX0EnWGBdAzp119bdyQTM6utx1TUaVDEYTC7qL7bvR4F41zTspltz+V+T6GS5oCYPPMDButItuUXkztCClV5Q/Xa8gYMSIhNWfRYWRP+TuzN+d3H9+tKPOs8bPT32MCdGseKUrUwSCX0rWEtq4bLV3os/BHKnG2B5W9Zs43QJVB3niZ2OIWuiBnmlzvn7gxg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(396003)(366004)(346002)(39860400002)(5660300002)(6506007)(53546011)(41300700001)(38100700002)(6916009)(316002)(54906003)(8936002)(31696002)(66476007)(66556008)(86362001)(66946007)(83380400001)(6486002)(2616005)(186003)(8676002)(2906002)(66574015)(31686004)(478600001)(4326008)(6512007)(26005)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3VMd29qSmg5dHVtRWFqNktCNjZNdHdoN1lNUkU5bnJzc0FwSkxIZ09ndURU?=
 =?utf-8?B?OHJKMmdKK1FKajJ5M2FXdDllcEJMUUVicVVWWGZha2xNZk1obXJiNm5naHhw?=
 =?utf-8?B?ZHZiN1dkMUJPaUR6Njh0QlBPZmpnbVdSbE9IMnkyWUs4eUZvelVUVEtqU1BW?=
 =?utf-8?B?Mk1sNWJPNVRBSFBTbytaNTRpbWErYU1xejFXWWtXSHNVSS9PWkpjS1NxUDV5?=
 =?utf-8?B?VzJrU0Q0YjdMZ2N1UUlXOGs2SjdGOGRMMHV6Q1lhOTJXWGMxVWF0NFVLTGlZ?=
 =?utf-8?B?MklhSDlRdHBXNE5YRFdrdHJWNExDYjNqRDZJTWtJYXM2enlFKzdNT0VHQ2Vh?=
 =?utf-8?B?MkdXZjJGa2dRNG9CUFV3K0hkeGxZejhoMFR4VVNETHI4WHN1MW9VbHN6aXBK?=
 =?utf-8?B?bmo0ZkhSMVV6d0tIS2dNUmdhYjlja3JmcHdwMGVoSkRqTkVLUy9XVWU2SEhx?=
 =?utf-8?B?cWtDOW5JRHN5MjRBYkc2cHhONVdTU1U5eG92ZXlOK2wzRWZrY1NqMWFUb3Z6?=
 =?utf-8?B?aTVERXY0enNxay9Zd2w3dk9wMEp1MU1oc2pOdlhSRmpmQU9pbWVNN2NWVnIv?=
 =?utf-8?B?cDNBbTIwaU1iaU9GRHV4UnNVbG1hY1ZEQkNZeitacVJkbFo2ZVQrbTMrUHJs?=
 =?utf-8?B?bUlQVVE0YW81N253Z3ZRdUFtYnd1M2VobGlObWFpYzdDNjVHOVRXR3JGS3k2?=
 =?utf-8?B?TW1Rakg3Y0FSUi9uNmsvUXFhc0VzTC83QzFnNUpJODJvbEhLRm9DZ3BHY1R6?=
 =?utf-8?B?U3U1SHdaaFdiUlpxZGNpa2p5S1hvSHhabU1wbEQrQXhvZDJXa0UxRzQwa1ZN?=
 =?utf-8?B?eTJQUnZseEVVQ0tKZTZVV0VianlPOGZIUEdHcDdpSkdQQVozdUpwLzNUc3Nv?=
 =?utf-8?B?aXhudlg0RnpiTkpJeDAzdHpwandpNVhmNjBXNi9Cc1czM0ZzajBIS3F6V3VP?=
 =?utf-8?B?MWRwSzlheHE2ekZ4MDhCamJKWDRXQkhpYVIySEh4anlBTGk0ZFNQdVJDSnBC?=
 =?utf-8?B?YzU0R1pXd1NzS0k4dk5XMFYzeXdjRVB5VlJJamhuT2hJN3VXNmhVczJrTUpm?=
 =?utf-8?B?L2Y0LzJYVjNLUk03eXFEMWVEd2FueFRjM202bDZDT2ZmcmdkWEQxVFp2MGwx?=
 =?utf-8?B?dkpOK1pLNDBhSFhhS0dzVG5JODVQYUFSREh4OGk1NmdQeTZqaTh5TmVwRjVt?=
 =?utf-8?B?TVp5ZGN3bGdjOGpFSU81b2k4WndBb0MwZENkZGxFaEJwaVRoZkp6SlpvVWQ2?=
 =?utf-8?B?ZUpGZ1dQUmt2dkRpVVkrWTZjdXk0bElDYlVDZC96dTMybU1jVEFTK2loQUNY?=
 =?utf-8?B?SzZUUXdaWFczU3ErL0lkQkh0VjBESjZsa0g0ZDh1Zi9JYVYxVy9wWGpuVDdQ?=
 =?utf-8?B?YzVPWkpvanhoOXFweHdFb3RwSkdzUlBTMHh2N281eXRoS2d1NTVGaGlsQk52?=
 =?utf-8?B?K2M3TEZMQWlUcXBBSXJ0UmttclNMcEhWR1Irc1N3anRlZDFLeGYxWFZvWGhZ?=
 =?utf-8?B?TjdMRVdVNGlSd0tsWGxsaFI5SlphVVBCZDc3UUc0SGlmeWtFS1pjZXFTZXN4?=
 =?utf-8?B?d3NHdDRHYlFHNmxYTXNvN1c1bnh3YktkYkZZV3NIeEVPZmhPVS9aa053N1NW?=
 =?utf-8?B?QTFiOExKTEJ0SlRHYk5CVzROSHBZS2RERzFnQ0I1a3hUVTBmcEIvVVVGZXhB?=
 =?utf-8?B?OG1FR0tzZHpGNU11Y1FHZndwOXpmTTk2aUJiMklVN1ZTWVYzSnN1MDBuNGFR?=
 =?utf-8?B?a1NCVno0YVpOdDQ1UE0xSTEydmVzbENOUkt6anoyNDlQSld4VUtmYUZMZnBQ?=
 =?utf-8?B?V2NqK0JHdGVyUzNzVS9GM1JNZXZLdjFvUlVZZldhN21ZR3I1bnFBZHRNWTgy?=
 =?utf-8?B?MWpEVVNna1dpMGpXWkpSNlZHeSs4TGw0VGljUVZOSFBINW9mVmdPRnp4UGZZ?=
 =?utf-8?B?L2lpam8rYVF5c0pUUHRLNjZsM0MzZkEwK0ZOYkhHcm1XeCtua2lITlZabWw4?=
 =?utf-8?B?TEJpY1ZVUnhBZUJXRXNSTjNiRzlUU01YRXJpbjYyNVpUc0pUNkVPSThib1pV?=
 =?utf-8?B?N2dTUjlkK0pPaWR5Y3FSUERpOTFQMEJuTnRJM0IvQUJxcHkvNVpXVmRoWFVa?=
 =?utf-8?Q?I44cX7A5PdyDZl6Vw2KPf/9bE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e737d88-d0f5-4c92-f89d-08da76248ff9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 14:21:03.4176
 (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: 3FIYQCjnA9cqRcgD7xKMx0HXfaug7qApgXuX4sZCPhk8Q3cTf+ixnkRGkCmqT1qpiXtG+5OdZpy9oRL6IKgsqQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5041

On 04.08.2022 15:43, Marek Marczykowski-GÃ³recki wrote:
> On Thu, Aug 04, 2022 at 02:57:49PM +0200, Jan Beulich wrote:
>> On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
>>> +struct dbc {
>>> +    struct dbc_reg __iomem *dbc_reg;
>>> +    struct xhci_dbc_ctx *dbc_ctx;
>>> +    struct xhci_erst_segment *dbc_erst;
>>> +    struct xhci_trb_ring dbc_ering;
>>> +    struct xhci_trb_ring dbc_oring;
>>> +    struct xhci_trb_ring dbc_iring;
>>> +    struct dbc_work_ring dbc_owork;
>>> +    struct xhci_string_descriptor *dbc_str;
>>
>> I'm afraid I still don't see why the static page this field is being
>> initialized with is necessary. Can't you have a static variable (of
>> some struct type) all pre-filled at build time, which you then apply
>> virt_to_maddr() to in order to fill the respective dbc_ctx fields?
> 
> I need to keep this structure somewhere DMA-reachable for the device (as
> in - included in appropriate IOMMU context). Patch 8/10 is doing it. And
> also, patch 8/10 is putting it together with other DMA-reachable
> structures (not a separate page on its own). If I'd make it a separate
> static variable (not part of that later struct), I'd need to reserve the
> whole page for it - to guarantee no unrelated data lives on the same
> (DMA-reachable) page.
> 
> As for statically initializing it, if would require the whole
> (multi-page DMA-reachable) thing living in .data, not .bss, so a bigger
> binary (not a huge concern due to compression, but still). But more
> importantly, I don't know how to do it in a readable way, and you have
> complained about readability of initializer of this structure in v2.
> 
>> That struct will be quite a bit less than a page's worth in size.
> 
> See above - it cannot share page with unrelated Xen data.

I have to admit that I'd see no issue if these lived side by side with
e.g. other string literals. The more that the device is supposed to be
exposed to Dom0 only anyway, and hence that'll be the only domain able
to get at that data.

>> If you build the file with -fshort-wchar, you may even be able to
>> use easy to read string literals for the initializer.
> 
> I can try, but I'm not exactly sure how to make readable UTF-16
> literals...

L"Xen" looks sufficiently readable to me. We use this all over the
place in the EFI interfacing code.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:25:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380440.614588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbnE-0000c5-Rp; Thu, 04 Aug 2022 14:25:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380440.614588; Thu, 04 Aug 2022 14:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbnE-0000by-P5; Thu, 04 Aug 2022 14:25:44 +0000
Received: by outflank-mailman (input) for mailman id 380440;
 Thu, 04 Aug 2022 14:25:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJbnC-0000a5-UV
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:25:42 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70088.outbound.protection.outlook.com [40.107.7.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51cc5de4-1401-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 16:25:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9509.eurprd04.prod.outlook.com (2603:10a6:20b:441::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 14:25:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 14:25:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51cc5de4-1401-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fJWDntqK5rzWqYowUdmdH8BCTrANJ6w9nQkEHGwClWzIMA9fEqF1dM1DiiyzKTefjXdtPuhVFQcfA4q5BtYo7IrHNcmlkDI11o+oQlA4/NhWo5OZ4US+yLASwlfd7tnt2Gv7XAaa2A9v6/uC4wJl+mELy0giIuQ7cBoiuL/f6wEbbC+Xb8qo3dbxXH0bJ7K5X4iziGAqzXeTqcaUw2RklPG9czXWPYtCaO4N/7BV2KdW3LHv6Tf21i4SH+sn8Rji8Y8rlI2DEzU3PMvF1FONIHK7W6qxkg63f6HNcBxV1Bzs7Zn/Q7kf+qegHk5AKQvL06QRD/cU5Tlk1iN2VKpSPg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IetbBMoHWffjM0VzmYCcH5elwtQEE+dgMmJZJyOKucA=;
 b=cAKTT3fEG/DtzhWqvnnsgtYJHgs7K86MeyQUnE3MB7oB3ZvqnDcf/aAzunC+B/LsR64Ubxx/Ab4Nwf6RICZohYc14O3/gFfUaUrKiXTeugDC5CRjnLFSWhG2qHPIRzjBYSU5qvIap6UiD3mrDxRj16UWw2de1tCKB+Jtw+cB9FqH9zWzyCPQFCBHZVhRXX/ZJJzNv3vSbqHPFhzFFHsYmNsCUo5s0SmaCRmC3PPQIZbJsBk4AeSKO0qYYVmS6ZhMySwrnnnL7xw7i5KbeVzNWflgpgJtvrD2U6tOb1yUn+dZn+C0N/wGlJxoicjUxO3zxjJK7vAn69mCXqOetdnHSg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IetbBMoHWffjM0VzmYCcH5elwtQEE+dgMmJZJyOKucA=;
 b=4wThRCTcN/NtLAmy5llhmm1cgf4jiMKlWVgfjeaIsi0lTwB6tu6IYsuZyLr5bSo068yaVXClHc1KFttKejb1d3/4n7O5qOeTtVFMEHDExIwN4MOCluCJK4L5GYLhj0NcZ2l4TUkqegqJpxAnJVByTA5w5skxGZYHxvcRNFoFFAexpo6R2sIPCd9s0X9V8c4S71u0ZBef4HmC7PqP7AzNrxeH8s25KcvOjPP5qw9x9d9Cl+3dKwL2LH98oX84rHdkBJKHdUFF4jovmKjf5gBVnXoxIB9bzeEh9yj1te7jPgskslJ8Yc19BzZGCzQbzDAlIzsoCyWT7WM/q3IdFFi0OQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fbffdff5-04cc-f314-98da-29f1984149e3@suse.com>
Date: Thu, 4 Aug 2022 16:25:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 05/10] IOMMU: add common API for device reserved memory
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <6a99f9b99b419a20e895d54db2e345c80270248c.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6a99f9b99b419a20e895d54db2e345c80270248c.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0149.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5d7e8089-cd1b-4620-75d8-08da7625350d
X-MS-TrafficTypeDiagnostic: AS8PR04MB9509:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fn9IZPkDspiUZ+zK/Bo1YTuELJZiKm4sdO8WboCw7mkOkOv4tnnHZprFVPUpuJFDU1VMFQlmLvRw5y4Qe+RDwtKmfQXwL/Cb5gOU4jMecWXMEyTB3Sl55sFDJ50suO7x43syIPr0gyBlFsTITbF9spiQAskYRrB23n46jN7zUhiToyoDn2m4vEYAN1XBKnc1my3nnSSWf/sgl6h7Zya1Fv/DLuVh5Z4CQj+ddRxvfmUcWjTdvZdAu81rguN31uZKCLDyT7H5BBbJeXKxvMqQdSAsJyD2VqbVEhTd/rPZhAcTGc2MrpLMceDUDwwRhhwNp1vzBkjRdG3ZigPQXR5FdYETHRbSpCILb4cAR0AghYVs9BzhB3iR6M3bHrfSqPy7+uxEKqBBuwkBnnDk7B1uWXnN0mDb+NMksgGD3h62g5CnNoCtkSg26ggC921EzkLKa9ooJe2OIHwtUG+eNH1dk2LEP1imm2enN3nZEMPe8K5YXzNEt9kP2ZJ2aOqCr6ICaV9ZFpwqjkijm4WIoyKi1ydkUyC2UaRnftUKvt9m7lsy4t1gdbgvaTPNRdcaybFrNXBbak/zg2YUU6JplRjZb8HAOTNaQS+LEnQQHOLPsdbI0mNmk6Ue3/nO3QXSYX4XGudRS87zyy6t0c+WO935ucA+8eZfXrKOSiTBuPe52+iUl50xlm5McirXI1iwvUU1KyrmonfOfkWCaexlcfKikjejKxzhIsXsSdfAhuc6+o3xycnIJXi9yfKVoTSLp9cgfl1KFk188zA5mAg7MPsDNTFsEnqPCkqj6nZPLYFGawABHMHmnBTFWwb8Lbx7AsS+brVO1wKK4cvecfFUvtUucg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(39860400002)(136003)(396003)(346002)(376002)(38100700002)(54906003)(31686004)(316002)(4744005)(6916009)(186003)(36756003)(2906002)(4326008)(8676002)(66556008)(2616005)(66476007)(66946007)(6486002)(478600001)(8936002)(86362001)(41300700001)(6506007)(26005)(31696002)(53546011)(6512007)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3RFZzA5UmhiMENRSGJPYnNSdC8xS3FIVTJ4a0NEbnVpS2lKSXZTT24xNHIr?=
 =?utf-8?B?U2tJMmpNejBqZXNuaUxQN094Q25lRlpjYjIwWUVOdGRrRlJ3SG8xeXhRVFpk?=
 =?utf-8?B?d05HeTd1dUFWQkxqcUFKbVFHNjhiNkNaOFpVSGRMRGdjR2NoUjVyUSs4MEF6?=
 =?utf-8?B?ZDRpMWY0MVFDYWYvdno2VVlvWTZyQ3gwMm1qc25DMjVEdUxzYlZXa2RDcE96?=
 =?utf-8?B?L2NGVXVTZjlKYkpMVm5Xazg4VHZyWUtQVEx1UU5GRVVDU2RtdUlNMzRUVzlT?=
 =?utf-8?B?a09LeXEzTDd3VFNmeFhVdGczVVYreCtKZEl4b2hBVXJTa2RJdXlwbGVsdFRo?=
 =?utf-8?B?cXowSW9wUTJDVDRXV1JXVWtxVGxPNkdScTk3eFAvMzFNQmN3TmlmMTBjVWRQ?=
 =?utf-8?B?bTd5WmZhb3VDRXpqRDF5S0lrNVIxUHNpKzdtY1RVT0tRTnJoanFLOWFTWGFn?=
 =?utf-8?B?TnF5azhvRTVmK2FJUW9UdVZJM0VpbmZhZHQyQmx1eFZSSzJUb2pQVVMrcXZh?=
 =?utf-8?B?QTQrRG9Ja1RQRU91ZDV0UnB3ZGl4WEdPOTZINGZxTVBuWDJNakJkL1lVYU9r?=
 =?utf-8?B?ekQ4MHhTWHpib1g5WldJSFR6UExibU1ZbURkSnhXZ3hJbWx5OHl0TVJRSVg0?=
 =?utf-8?B?YWdBR3FlbGI0a1RyRU91Rm13aXh0N2ltcXRJT21EcUFENG91emhjSTFkbjd2?=
 =?utf-8?B?cnpmK0dhSjZlMi9MRUVrYjAwU1Y0M0UxVHdMNlpSY0R3K2FId3RmbWYyam53?=
 =?utf-8?B?M3pxbXV5aU5IYVc2US9hL1Z4RUVIQnpicXlGWDlXM01nc0FVK08wdTIzS2xI?=
 =?utf-8?B?VnpoVTZxMlFLNk9VQTlNcjg2L1V6UzNDWG5URm5HbzVLYndNSkIzR01LdWRn?=
 =?utf-8?B?UC8wOGVmZ216eWMrQlJLTFpidFhFM1RNS0EySVM5NXJRWjB5YldDa0RQbGN0?=
 =?utf-8?B?akNqUnBscFpHVGV5c09VVlVrdDFUZDBhc3BrMzZkNUFsZER4OEJlYUFCRFlG?=
 =?utf-8?B?Z0xVSm9lYVRKT1BCamgrdmI0WThUTlFVSGZCMUhjZ3FvcmVCVnd5eXhBWHRK?=
 =?utf-8?B?V2VJdzlUV3hlQm9vTnd2MTNrQUtIaUZsZFlWSHF0dEVHaThZNkVtYXRmZWRt?=
 =?utf-8?B?WFFsTVl0c0hMVm5UYWhlVUhkaGtNV0RaV0txaTZiTGJEOVNNenlnNkMwWDN4?=
 =?utf-8?B?R3QrcVJkUUZudFpXTEdqc0xuN3Y4UW5GREF6emQvejZFV1VlTENreUdJeFlS?=
 =?utf-8?B?ZjBpdkU5eG1TbitmYm5KbmxXMXQyWUJCS21tUTg1UEJhSUZ6UFcwMHNydkY3?=
 =?utf-8?B?NThpMkJ6MXdWUXQ4L3BWdnAvVmdnNjI1QVRkbWdvTExJc01TSFRhUmljZ1dR?=
 =?utf-8?B?NUJyQjMyOVdKODlFNm9maGV4REFOQW9OZHBjNkREblQzeE1haGVMOHh6MnFt?=
 =?utf-8?B?Z3VyTzlNU1dhZGVGZWQxdXZYQVpReXZFNWdiem10YWZBUk5zdlFUdnAyVko2?=
 =?utf-8?B?WnVGcTZMb1E0Yml1T3ltVjhXaGY4Mi9Cc2RUeDUvSG5LNE1UQjBWUWdIZkox?=
 =?utf-8?B?RTJhTkZTbjBSaGFpRXdzTmNlVEFyalo0RmRrcDduQWw2SHJCT0hOWXBkOTR4?=
 =?utf-8?B?UVlVWk9wTUZUblJXQ1dQVHc4N3FKdWdHNjFYV0wwMkN0YkQ4ZXVTVEw0cVc5?=
 =?utf-8?B?NUZ1ZEUrQXRYR2J2OTJtb0NVdWIyYTVHSnlJYmROdEJGWFNoR3BqU1daSGJi?=
 =?utf-8?B?QzFjVGVQSHN1TEFpUHdJVzVPVVRkT1pCc2JiNjEwK3ovV2RaNEVtTXROZU5V?=
 =?utf-8?B?bHFpZ0s5eUhMOC9SR28rVkZYcUFCN0JzdFQzd0FHQ1hQSXBBV2NvQ1pzR3V3?=
 =?utf-8?B?N3BGYnBGTzE3dnpDcVQ1MGhLQmlyNXFiTlphYVM4Ykw5Qzk2TW5XQ2tCTXBo?=
 =?utf-8?B?c2luOEtPWHEzQlpxYTQ4TDdJc2hudVJJcFNqYi9lN2VlNGlGRS82bWtjWW1Z?=
 =?utf-8?B?NHI3blo5U1FtN1hHaVdwSnBDbUdENWFBcVUxall6Z21oSkR5ZFFkV3VjL2RU?=
 =?utf-8?B?TFg1Z1JBQVVHY290R204Z1F4czcvOGl6WFdMbHBPQmVhc1pScUVVdkxMU1FQ?=
 =?utf-8?Q?iqa7NnEIUnkpQ0mjKqktreHVu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d7e8089-cd1b-4620-75d8-08da7625350d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 14:25:40.3538
 (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: VlYHmQNC74PJ5HQEEqr1j3yNNjaq+tFSg6pUXCLHLEtmQoRVsH3NUKqFxQmD5LQfLKlo87S/iOruLcSj0FygwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9509

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -651,6 +651,51 @@ bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
>      return is_iommu_enabled(d) && test_bit(feature, dom_iommu(d)->features);
>  }
>  
> +#define MAX_EXTRA_RESERVED_RANGES 20
> +struct extra_reserved_range {
> +    unsigned long start;
> +    unsigned long nr;
> +    uint32_t sbdf;

It's not easy to judge why this isn't pci_sbdf_t when no callers
exist at this point.

> +};
> +static unsigned int __initdata nr_extra_reserved_ranges;
> +static struct extra_reserved_range __initdata
> +    extra_reserved_ranges[MAX_EXTRA_RESERVED_RANGES];

With __initdata here, ...

> +int iommu_add_extra_reserved_device_memory(unsigned long start,
> +                                           unsigned long nr,
> +                                           uint32_t sbdf)

... this and the other function want to be __init.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:28:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:28:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380448.614598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbq1-0001Ig-E0; Thu, 04 Aug 2022 14:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380448.614598; Thu, 04 Aug 2022 14:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbq1-0001IX-BM; Thu, 04 Aug 2022 14:28:37 +0000
Received: by outflank-mailman (input) for mailman id 380448;
 Thu, 04 Aug 2022 14:28:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nGyI=YI=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJbpz-0001IP-E4
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:28:35 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7a33386-1401-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 16:28:34 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 5EC135C00ED;
 Thu,  4 Aug 2022 10:28:32 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 04 Aug 2022 10:28:32 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 4 Aug 2022 10:28:30 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7a33386-1401-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659623312; x=
	1659709712; bh=7auNTiPFXfFcp0PRa6neXG9e4sL0arhf11uk1U3KXpY=; b=K
	dyL5XSbXUyK20ctfotJr3vuG/4aatsiOiJ9CgI8p3CvQR4lFSqi6+xXJLiImt8tc
	lZcCwlSNcLpDKmzUPHs86BUBtHquHFE9d1knxAEloqUJ9pXPYrPNmXUO3fMAxcAd
	guRQRHx/cLIOYhFbzf/Y0bL9fznzobb4yyOTSnoZwwG/9QjU+I9XNjk8nGZ0zYZJ
	WFg2O/jlyEywZQXX3EW9KMP0K44s2mi2uJ/XXA4Mq+3nOs9kWQKq7qGbNqK9XPNV
	5wb6zdFpbd6/yeeYMEhDrmGBOzyQTUQg8KXtz1yfU2TYFyIUrBmiCAHNdcI8YuBF
	FU2OdSgKZPlyW4buhUkkA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659623312; x=1659709712; bh=7auNTiPFXfFcp0PRa6neXG9e4sL0
	arhf11uk1U3KXpY=; b=uk+QgxVexr1I7BayrcAsF+I3Z7N3rfAeH79k70bXnIVd
	7Nyz++ujan4KDNTFpJVKok4UwuEBLvB5hZmdMH19/vKFKbqbSZ6qAUyCeN6XkaCI
	536odXyvEO7o0UGwO8iF4n24Bg32blYQATccwxY7ZWsvAfI1tL0orlQQkLLjz5zN
	GGu0ZSjk+KqWKtn2J/5c9EmdvPEKMIIEqYEcHKAbPfq3r1+zvENtVxTuXEoveXAA
	rnuoyZQ3bh0QCwUYEj+VQTH+um6Zx0sQXc1IhQtIM8SMQKyZVFBZhoVRU1xH0AoH
	KBpV8qOM4kBaOvCYOeUVnHvZ2ZllIsjGmsDuo9WI2g==
X-ME-Sender: <xms:kNfrYlI7MvLvyyIAKPbl0moAEjMSc6fSjbMNG1VZa5ZXzLovcy2rZw>
    <xme:kNfrYhIKPVQaxZcW8CzoMuyAWsZCq-cnUUwGcEdk680AHXazEWIfYgoBcR4i7Z2lx
    V2e03JoFDz_2A>
X-ME-Received: <xmr:kNfrYtvNAZHFmaoTr-g44sDt7J50i-sHzzxnR6S35EFq3goZAH1zaysKaaUnc6YvGzXOlNIDJeOng9K9KuxjaxNIEgD3DYMnidAk>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvddvledgjeejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtroertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnheptdet
    vdfhkedutedvleffgeeutdektefhtefhfffhfeetgefhieegledvtddtkedtnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:kNfrYmbUflGdFlNK2fr8Nt3gsKLdkqkzC0nChn0qA6mQklLGU_nn_g>
    <xmx:kNfrYsbXHySnMIX039qkTy26ligAW6L_8KwLMtPSkPBgVWFwhrCZwg>
    <xmx:kNfrYqBf2RzOcR7Dsdw65BcIkXqZXZ60b0XcLY4GlY2mthRKWbdP7Q>
    <xmx:kNfrYrz4wGXJaO-XzgYCNwYojqT8JPSptSQVX4nNu8RMUEHS7VDsBw>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 4 Aug 2022 16:28:28 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Message-ID: <YuvXjEZMlwjsuIGA@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com>
 <YuvM7vElH/IdBJjq@mail-itl>
 <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="WPqlAE/Con2AfZs7"
Content-Disposition: inline
In-Reply-To: <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com>


--WPqlAE/Con2AfZs7
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 4 Aug 2022 16:28:28 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger

On Thu, Aug 04, 2022 at 04:21:01PM +0200, Jan Beulich wrote:
> On 04.08.2022 15:43, Marek Marczykowski-G=C3=B3recki wrote:
> > I need to keep this structure somewhere DMA-reachable for the device (as
> > in - included in appropriate IOMMU context). Patch 8/10 is doing it. And
> > also, patch 8/10 is putting it together with other DMA-reachable
> > structures (not a separate page on its own). If I'd make it a separate
> > static variable (not part of that later struct), I'd need to reserve the
> > whole page for it - to guarantee no unrelated data lives on the same
> > (DMA-reachable) page.
> >=20
> > As for statically initializing it, if would require the whole
> > (multi-page DMA-reachable) thing living in .data, not .bss, so a bigger
> > binary (not a huge concern due to compression, but still). But more
> > importantly, I don't know how to do it in a readable way, and you have
> > complained about readability of initializer of this structure in v2.
> >=20
> >> That struct will be quite a bit less than a page's worth in size.
> >=20
> > See above - it cannot share page with unrelated Xen data.
>=20
> I have to admit that I'd see no issue if these lived side by side with
> e.g. other string literals. The more that the device is supposed to be
> exposed to Dom0 only anyway, and hence that'll be the only domain able
> to get at that data.

Other string literals are fine. But for example `struct dbc` itself is
not.
See how it is combined with other data in patch 8.

> >> If you build the file with -fshort-wchar, you may even be able to
> >> use easy to read string literals for the initializer.
> >=20
> > I can try, but I'm not exactly sure how to make readable UTF-16
> > literals...
>=20
> L"Xen" looks sufficiently readable to me. We use this all over the
> place in the EFI interfacing code.

Ok, I can try that. But given later adjustments, IIUC it will make the
whole 50+ pages structure land in .data. Is that okay?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--WPqlAE/Con2AfZs7
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLr14wACgkQ24/THMrX
1yzuFgf/SHUOTqpfW0/yrmNUDMDB32B29XxdkGznzM7KlPkTfIt/jzG4kxwb3CxO
gu7XW+eonRMkxetLPZdXdfSe7F6ZVwrZpTRwdcG6CSGrpXaq2OZy+o7Gu1//i314
Kdlq0UJeZ+FKOD7y3tTM1Yy/6dLw7v81R/8zq2vo2xYYWfPCqZFCdCTp/D9wBllY
R/2fGH+xZGyjP95oNKWkr4zSK/nkgZcP+mFn/v5/FlAXzhHNbbVQJ55Svn2kOfI+
OepN7vbekP7K7zICJO8TaN7G5wjTOH3lZ1pIDzor0jNeqvHdda48nguYDrMuIn5E
Zj/x+eLVnTd5lfpSq0gavfyYo1jwMg==
=Nv1A
-----END PGP SIGNATURE-----

--WPqlAE/Con2AfZs7--


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:34:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380457.614613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbvd-0002ih-3U; Thu, 04 Aug 2022 14:34:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380457.614613; Thu, 04 Aug 2022 14:34:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbvd-0002ia-05; Thu, 04 Aug 2022 14:34:25 +0000
Received: by outflank-mailman (input) for mailman id 380457;
 Thu, 04 Aug 2022 14:34:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJbvb-0002iU-Ka
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:34:23 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70072.outbound.protection.outlook.com [40.107.7.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 879b8f03-1402-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 16:34:22 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB3039.eurprd04.prod.outlook.com (2603:10a6:802:b::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Thu, 4 Aug
 2022 14:34:19 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 14:34:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 879b8f03-1402-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dDIUfLtXa5XYutWRmK++kIdppueEHNOVaxQ3mQU3ZLtSuRMkDamNH/244fLdm9xCEVqYykj+y+WG17nodOZNPXFwFnUmhOkjRw1BnN9opvnzEERg7WDp2aeWFH/qEy1siTKXPcTHUlHfe2Te6cf4pnFYdftth66rD3hduykRovdBdhwP0yc8ObXIl/fKd4sWdYVpJvdzprqg/BWl4tF8hxwnAy+/C8R0S+1nCXofJI0In4Gwsp4omEIv6IT9PgL3gNdiGpDQuXsjpxAeBpCGgHHl7wl8GR+B7SZwEKTw+7wcFCS2tlF7b5qS80u/zhM3J7dIloiAuvnAq/XXLT2wkA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sBKNv4TeIUIRAFsvv8RQxYpNGMMnH/e31aD4GbXSn8Q=;
 b=ba/LCv10Xdj6/HJTISr1QCtBLshGks38uvFL7UKLR30q6L/oKucHC2OeB4Qds3y2DdNwjNaq4FEYhoWU4EeuCfhWDza84Aqo3rx5tMA3aTvWUr/uwIJBwO9d9E7LaYHroQ2fqqTA8SjUnGVnoOuTWn/I/WU2a8UcyB3S2FS+9KdfKO6Np+IyQm7NpsyUV8djCoEeJMFtL9v6tCCv8VjX6UJqSs/E7ApNPORrzjeQCKGrrQOof33cN8hI6OFCeoWKXT9O33ZfqB7iEd6FnGxhUZFcJE0BWhAz0uoSBQqrsAEb0dm6ktoGveZU/Rc8Zz2qvqlXXmTVrsu9UPyCDq5Aew==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sBKNv4TeIUIRAFsvv8RQxYpNGMMnH/e31aD4GbXSn8Q=;
 b=Q5P0IGfG5ZGOh7Wm0K3M73YC2sTVeATpi/+JA/E+7kmYY/+vjHKStBW6PHPfxAyS+q4q1u9zl8JmyVj5O1T7uKiXbO53HKjWvxzhf4iAmMnn8xFt+gcXFLrBu0/LxVr1BWq0Gpxk17cgIUsoYVOjyidf96o8/9Dr8FBTTIXmNpSZw8u0gOJ+XJ1hW52QC3/d8A3n4yJ/2yEHpZSR1UqiZk7xXJ606XjKTu/bDpsplwPVFYc80k2nq0AxOGQz8Ib4brpOczaNoCIqC0FpP6yYvFEHpW2vyUHUi69l/HQ7KX7W++Tvd9IeaQ7Lkrjv6o+CQ+c71MXBzkgDJzEB5poHKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6d329731-57ef-2e85-be1c-54102f3dd2b8@suse.com>
Date: Thu, 4 Aug 2022 16:34:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com> <YuvM7vElH/IdBJjq@mail-itl>
 <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com>
In-Reply-To: <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0157.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 112e1d5a-9097-4041-df23-08da76266aa1
X-MS-TrafficTypeDiagnostic: VI1PR04MB3039:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eKtGVg93rW/4LCBSkyQxB7gzB9hx8E5D2Tq1JcD9aqZtBpFYX609C6ABmuAB0ISpGe75ZWBrqhyBUHbA0iwwmhaE8pff7HIX3sRb1oUuvD4iJdMXRUCOqYX1MSPuPPIAOgP3XG2UiYYPBy1ZjaTqN3L3B/2HQp8ds4Jr5K0ajtd1+E+DB/iNyYuHSotZUljFrDmY8W2noPcQlUAyiGVE2wEprI2gDEKRYh9NQKE/nF+x3ylHaHFNaw8XuAYnoL5Se5x1bMffN+O6Nl0UfhYxRtgNajU0LhZvBaXc4/P7V/ppgPbLTP21c9mJSV/DIkWDZ7DbGyZOGBGTI9cRsbBXjP+K3cehYvX//LCf1QsDYFW6X3TW+UnFuciiMIP1ymXlGhYwQ1K2mKq+vJ0A4QGHyCis316TUHe4p/Wc1vChlbklztCeJLtIBUaatacTLZv+EiLdnTLYPcS3DyG8z66Yd971EzJFEqMVTMy2uxPo1/oD6GtxpAvW/CgvWcsYHRplXFIZs+6N6tryba5/JfaxVtjSfmqFyTIRTF3JBcy/pzQBI4J3MWdiLyMuhGVaulrpJTgXjmFHt3EEPTAulaipJO3laqKohkbhUbeDDXou0rRd/TyNq+axi/i2KbMMfA7lyxiZQ7LxQQ3TvLFyvdul7yUQ1zeCi6zPqBkRZTbEIwrwIA6LEuJAxtxel/BYTovfkK4w+FZL/cC0xD+ndEnJxocYqkzpp0GN8LC7cEZLYvyrk/GZw8OXeJkNtW4YlvGb47i0pd4RDgrRPFVwonppYPVElYwqflflE5NU89sczqQJSsOj82nh7emITjnFpcTnmEAl00Wfdz6EYV4L2lw2Sw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(376002)(136003)(39860400002)(366004)(6486002)(54906003)(6916009)(36756003)(31686004)(66556008)(4326008)(8676002)(66476007)(83380400001)(8936002)(31696002)(478600001)(5660300002)(66574015)(66946007)(186003)(86362001)(41300700001)(2906002)(316002)(53546011)(6506007)(38100700002)(6512007)(2616005)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDVXajRBWGlBVEY1T25vc0JwQUVseGtCRFNweHU0OUlCc2I3c1VvU3J1S0R4?=
 =?utf-8?B?NExvdThtVTZ1dWxLOW5oZjV2b1BXWEQ5YXB1b2ppSXYxcVNrcUoxYks4WHlo?=
 =?utf-8?B?aFQ2RDJYTFgvMHNQMDJURW5TdXpyd2REMUovejBMMkp1dVcvTTM0MGFMT3lP?=
 =?utf-8?B?KzdUMkphaDdpV1ZyNWhCZkRIU0txWlBlTTdzek5HdE5SNGIrdXg1OFNmMlp3?=
 =?utf-8?B?NWlBQlRRdmpNNDlEZVNqLzFEWHE1RmIzYXlMclovTTRYRGNqU3F4OGtLWWJ0?=
 =?utf-8?B?cS9temFOSzdOS3N4RkFRcElrbm5zRm1telorVlFkVVprMHNQMy9YSENiYSt2?=
 =?utf-8?B?b3Z4Q09iYy9GZUhmMDErdXZuUXByVzlkV0JLM2tYWGVUVUl2SFBCa2JtTzAr?=
 =?utf-8?B?Q21RbTZ3RkFhNGFaaGhuMnhXakU3NXdzQXNXck1Rc2tWQ2VublNCVkEwUXhN?=
 =?utf-8?B?bWEzMlJOQXVLNkozcmE3aVc2MWYveTFjMWRKZDI0cm9qYk1sUWRwQ1l5T2sr?=
 =?utf-8?B?ZHpOSVJ4RDFrcmJxOE5adTh3YVVNVVlxOW1uVTNFQk1mTDhLeHZNcjBJWTZy?=
 =?utf-8?B?c1IwRXhDdDgwYWkxMHI0bkpPNC9aaFdSOWdkd2h6VzhYWGlyZjdndjE2WWVo?=
 =?utf-8?B?VmxiQTNZL3gvNm5SVDhYdmo5QUY0UzJ1a3F1N1g3d25IYzN5VFBXdVFTd3l6?=
 =?utf-8?B?NkxqSjlnWWNPMlY3NWNoY0ppTW8xeVhmUjlPdk5FUTlET3c1cE5nbTRsd3VB?=
 =?utf-8?B?ZEtXcS9nRFcySXZMdVR4WFVhYlBCVDBDQWE3TDdlM3VzeUVRODdTZTJ5eFU3?=
 =?utf-8?B?WXVZZFl6YUZicEVVY3BzNGpmZExBSGpZTnphRDF2eDg4RUFka1IwVEkwVFhE?=
 =?utf-8?B?dk9Bblo4TWdyR090U3cyUkluRTNkRWhod0JOazJlK0VWYWdZUmJINkl6ektu?=
 =?utf-8?B?d2ZYM3NDVlpBRU9STkRSa1puTEd4SmtXemlselpPSUtPTkhCaG0rbU8xM1RV?=
 =?utf-8?B?U1R3U0lZaDkxbjdqU3k5alRFaXdqWXVqWVR5MStPS0FYeG5TLzhEM0NmYTJp?=
 =?utf-8?B?eU80NFJCUXdleXBmRGMzWGM1RmxwajVMT08yRktQUXRNNHJGV3hkQXM3aXBw?=
 =?utf-8?B?RlRDRkJvZkxyamdkTFE5Sm1JdGhSNzBvaEM0L1dNYUo5a29jQkxYRks2NzFM?=
 =?utf-8?B?SHlFQW12UXk1RE9PQy8zazZPM2R5OGlkRCtsMndNeXNhYlVicEYyZnBicXJR?=
 =?utf-8?B?cjU1NkZZZGFubXQ4MGF5c2FBWjdWN3JpUzQ4bnpHUGR4Q1g0WEg2c29NaXNN?=
 =?utf-8?B?Z0xKRFZHRjJBNEJNZ0dSK0hRL1NYODZmWkRrSkNWL2Y5WmFVU2YvTmovTjU1?=
 =?utf-8?B?Uk5zYzFQdGhpRTYvSy9zQ2xDV0tybE4xNmJFSytuanJoc0FJOTU2c3FZRVEw?=
 =?utf-8?B?eE9ramlmUXU0eGtUSG1uQ2F3Tk1zaXM2RTJhVWkxWm5JdU5wVStwSWR4WElB?=
 =?utf-8?B?VWFMcHdxVDdkbUNTeG5BMVp1b012a2dkTXJEVFhIV3AzWWRMV0xvWStLT050?=
 =?utf-8?B?ZGtvMlo1Ym9Hbmg4WXZ3bWR2QUZwMG8veGcxRmRYZkYvOVdQRHZRVTk4NDhL?=
 =?utf-8?B?UHlwOGw0b2dVWUMyTmVYcHh2Vm5sZ09lZ0JWYy9ISVV4dWd1U1BHcjEwdGFK?=
 =?utf-8?B?YjZlOXpVUkhLTVFvSmg4UGwxVkJvTGVzdkpyY3NJY3JacWJsNXJMaHpsVnIz?=
 =?utf-8?B?WjVoNkVieDRVKzZZQm1aV1UvNGYxTlVIcktRNTNvQlhpVG5zWmwxWGQvNFYr?=
 =?utf-8?B?eE5DVjRJcU5VUnZ2Z2dVR0ZTY3hwZkNGRVBkdWY4cG03NzU3L1k1bFFDOTc0?=
 =?utf-8?B?b2kwTkQvVnFTSC9oM1dxNzZTUktQbDdESTc0L3AwOHpuSWFwem1sbjdna2sx?=
 =?utf-8?B?RElkaEpCanZnb0h5cGNWeFdQNVZDR2xWTjhSZDAvY3VZM28vaC9zL09SeWNw?=
 =?utf-8?B?NWpxNFdSUnpaZjhPclV6aGY3Uklsc0lBMmdkZ2NWcUVpMWRESllQTlZYT3ph?=
 =?utf-8?B?aGo1TkVIVHN4WXNpcW5MSThwanRRU1hGTHVuSnVzVmdwRk5tZjVNdUZBZVly?=
 =?utf-8?Q?walPvN93ZMxZl3EjVF/LyPXvA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 112e1d5a-9097-4041-df23-08da76266aa1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 14:34:19.7268
 (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: PeZZn23WUxxcrehyNbJZi0v+uW+Vae2mILI8ZQ/sPhTfC4EpiCo87ylwCPldwZRK5vkJVCbEIVxbKRrZh6IKug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3039

On 04.08.2022 16:21, Jan Beulich wrote:
> On 04.08.2022 15:43, Marek Marczykowski-GÃ³recki wrote:
>> On Thu, Aug 04, 2022 at 02:57:49PM +0200, Jan Beulich wrote:
>>> On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
>>>> +struct dbc {
>>>> +    struct dbc_reg __iomem *dbc_reg;
>>>> +    struct xhci_dbc_ctx *dbc_ctx;
>>>> +    struct xhci_erst_segment *dbc_erst;
>>>> +    struct xhci_trb_ring dbc_ering;
>>>> +    struct xhci_trb_ring dbc_oring;
>>>> +    struct xhci_trb_ring dbc_iring;
>>>> +    struct dbc_work_ring dbc_owork;
>>>> +    struct xhci_string_descriptor *dbc_str;
>>>
>>> I'm afraid I still don't see why the static page this field is being
>>> initialized with is necessary. Can't you have a static variable (of
>>> some struct type) all pre-filled at build time, which you then apply
>>> virt_to_maddr() to in order to fill the respective dbc_ctx fields?
>>
>> I need to keep this structure somewhere DMA-reachable for the device (as
>> in - included in appropriate IOMMU context). Patch 8/10 is doing it. And
>> also, patch 8/10 is putting it together with other DMA-reachable
>> structures (not a separate page on its own). If I'd make it a separate
>> static variable (not part of that later struct), I'd need to reserve the
>> whole page for it - to guarantee no unrelated data lives on the same
>> (DMA-reachable) page.
>>
>> As for statically initializing it, if would require the whole
>> (multi-page DMA-reachable) thing living in .data, not .bss, so a bigger
>> binary (not a huge concern due to compression, but still). But more
>> importantly, I don't know how to do it in a readable way, and you have
>> complained about readability of initializer of this structure in v2.
>>
>>> That struct will be quite a bit less than a page's worth in size.
>>
>> See above - it cannot share page with unrelated Xen data.
> 
> I have to admit that I'd see no issue if these lived side by side with
> e.g. other string literals. The more that the device is supposed to be
> exposed to Dom0 only anyway, and hence that'll be the only domain able
> to get at that data.

Actually: With your plan to expose the device to a DomU, how is that
going to work without tool stack adjustments? Wouldn't you need to
prevent in particular HVM/PVH guests from using the GFNs corresponding
to the MFNs where this Xen data is? The minimal requirement then would
seem to be an E820 reserved range for the area.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:36:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380464.614623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbxp-0003M6-Eb; Thu, 04 Aug 2022 14:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380464.614623; Thu, 04 Aug 2022 14:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbxp-0003Lz-By; Thu, 04 Aug 2022 14:36:41 +0000
Received: by outflank-mailman (input) for mailman id 380464;
 Thu, 04 Aug 2022 14:36:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJbxo-0003LJ-DS
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:36:40 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2049.outbound.protection.outlook.com [40.107.22.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9644c7d-1402-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 16:36:39 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9410.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 14:36:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 14:36:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9644c7d-1402-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Aswbek4tPS64AW3u6EViYBhgM6qGJr7xwtBE3pYn8/l0gFYrc7gQub1eXh+0QFWMAFq3fBnuS2F4MtpxnQsp+ocnbyrZgRsqVZHjdwXvRQ5wMECdze3EjgTRWVrYB0O30D1BoeCSBDPQO4cT7tgZRBSrxHXUa8k3m2613pSqXx0pMMJ0sRTBg4xrQtApj9O95R4E+Q0tygCdCrsREXTN780gd0ha3e6ruNaP02A/U8uabmy6/nm+lTPebrNYuG9KConfPh2umQjyJuVfeAnU/loSYKvoSmODCqtJhOkS26IDsfEAVZNLtG76hZdbFbk+bfwVZ53/IgH+IN3xlHEJCg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vCrFzfLO4JwT40Kgl1uU/Intzf3eBBVTYERP1T9BfUg=;
 b=CVfSrCfWnEAgVYIaoat54WZLZyXORzYgwni4kVPwqQ9AoTQK/iaSF6FZIgm9p8ph5+LZhYhJWyeLYjKynFz8/36QZlfKndFPA2S+xbJ0t1lMTWpEli8WZpUJ4Cwmti/4pGatD0k/MsriUDt0T3c+AYk5Rxe5XOWLWjWkZ1I5ggO06q3MyCpAm2uPfFO+6447x5TUpJKX6Im/rBdN3rAcOCC1ro46uS2e9xk//0jQQMNrISz3qQxwiAE9zBvg1b6eTqTtZknyOUV/hsmspnMXzvyp0bshVXjp7EAT6shRb0ofP6ZSQyXpa29KaiAlfSK0WWq3evjWedBF6IAbloXosg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vCrFzfLO4JwT40Kgl1uU/Intzf3eBBVTYERP1T9BfUg=;
 b=kxQbycklRub3cycLRIgzK1GA8X0yVy/VwJ9IXYuZoFgFMdYWu8hMDBokb7zE0nG59fXUAWUWwpHsBMKtltfYNp0C4rEZtXiAeY6+k1ZCIz+3vguNhP5eTK6R2RYbajKjMzVoq5RdHU7ij3qSXfykOiZqrxmJoOm6jvDUiKvEoM5ivI80iruvlJvBAURx2ZoWiN2PtBT8Nt3+BhTDUut5hdDdubX9tpI6ZGtUcq0oQxYVaeKUF3YUGJblnjXG4Be8amyPZO4QF3ui4nS69l7XpcU61y6LIZzcizRcAdYGwzmLp6X/zSxk/iGyMU1ObjnB+j/Mm8o/ILg7bFr5v03R9Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fab2ccf5-43e9-e341-f448-092de2c01f17@suse.com>
Date: Thu, 4 Aug 2022 16:36:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com> <YuvM7vElH/IdBJjq@mail-itl>
 <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com> <YuvXjEZMlwjsuIGA@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YuvXjEZMlwjsuIGA@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0087.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1b2f1786-7d0f-4659-69cc-08da7626bcc7
X-MS-TrafficTypeDiagnostic: AS4PR04MB9410:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	04SODQoxaWKry9uir1nu4upavX6K4UBo8aXr57PMtUvp6cB94KJxVF8yu8ZnJ1eqoDA7d+KR6BLmRC3jda5mdoZ+h+mc4cM7k59mUx96Pf6Xj86X3jLEmYF8NXW7ugY7wh+WktD6Wl8D8e+W1sjf8fPpRhmZkg7OxfBPuSkZNgkB7r34C8eO5DNjVrJ+xXmXPDBSvPAn7WImr8jIH0naUsg3/73h/mhmg2ADbEcf04btPwrV3CwGHR1WUEne36z5KAoiDKrw5Qi07Aimx+3StX159lisQk75b/KSa86W1TLLrCjW6FY5ys2ZsCMw4BaiH9bo1e4WBZPylUkxKYlcLqrY6ud3qt18c3Fm7oPj9lynRtEZUBeCh6ooTVm/RT+tx2Bt9QhOcR0ydr7AD0XvjH05UU4bFKiJTNNwEV/oO/7UgJcZZ+qtJq1x0AAvfU8qj7lhpcB0n1AkQo3c09K6QjAPns0aDxryVLxovANYDD5Ph2s1BINB97dYXPd2Q8fD0OtwhsJM24uFId61f5Da4F72GXcKuWxzZnHzBbs0l36vz/+gQbTKDVr0j3tfKfpTDP9vRuf7Qs7b3CRqykXeozCtKgwVumYI0tsCBwJ+yC0PgMXvSCflL4XopyYcYWgEetkk4mr9cN7OBki4EXFsAcRlnFY6PL1uJrlUyDIW4wmHY0uIu+d6vq3HdfpQahvcR+Elq9uI7lMpmwTwgkaVfK2IwZQnpwG0SdxUQLSHDLeooOMF6yxcc1FeEqg5385iL22P9rMq7OavSLyrMpTsaaHsVzFFXXn0BhVAlR/5B2YNkSX6v+IIzrjtiUYyUGx+m5ea19R6s1ml63JSuez72g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(39860400002)(366004)(136003)(376002)(53546011)(6486002)(2616005)(38100700002)(83380400001)(478600001)(186003)(2906002)(36756003)(31686004)(41300700001)(5660300002)(54906003)(86362001)(316002)(6506007)(6916009)(31696002)(6512007)(26005)(66556008)(66476007)(8936002)(8676002)(4326008)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?blNBSWloSHMxcUpNdDQweEx4V3NVa2s2TWE3V0lEbTMyUWU2YTNKbmoybXk1?=
 =?utf-8?B?Q0dSQXB0cGFsbFJYUXBOVm50RUhIMGlTNXUrSXdVNUY1Rk93UHBoTms0dWFZ?=
 =?utf-8?B?RlFmVExZTG5ad2RKaUR2VDMyWnQ3TWsyUVl0VDFoOGJmRXlIUUMzdjZEMWhF?=
 =?utf-8?B?SVV3T2ZXQk10UjBmR1NCZ3NQKzBqNWoxY1NINnpOblRmb3lRMEtsbkdPdUdv?=
 =?utf-8?B?c0lOWEVYMkYwVEFpcFdWQklCVWNXaUt3NUN4RWV1U3pNaWdqa2hWb2pqYXNE?=
 =?utf-8?B?ZjcyYmhGSFNmSlJwNlZzTnh1TDZnM1RUckd1cGdBY3VmNmp4LzNTZXJIdzY2?=
 =?utf-8?B?Z0dGNjRtKzNIU3NXZENsUDdYM2ZPN291eCt0UEIxYVBxN2lybjlwTnM2Snpl?=
 =?utf-8?B?Tk5XT3BDQXlzamVCeW9uNENwS2g0TEdiVnFjeURURTFXd2pjeVdjTFVTSEkw?=
 =?utf-8?B?bjkrd3orQnF5dldQaHFMMjlmcm1EU0lhbjBHQ1NNVnFaUjdJcS9XcFJwWEND?=
 =?utf-8?B?dDF3UzdkRHZMRkdKa3Z1ckpkZmwvWXdITmI4RnZSSFR2RzVKWmg4dWw2aVdi?=
 =?utf-8?B?VWJnUStBUUROY0JOL0hDOUc2a3N3b3NWMHhkb3pnTlI3cFcrZ3BmZ2luY21P?=
 =?utf-8?B?T0d3YzRRQnFOcGp6QzdCL29kcmZkQzZwQnRqTGhrb1VlT2FNNmdhYW9pdGZn?=
 =?utf-8?B?L2JldEVyVTNkRFArcHN4TTU4SDk1TjU1ckhjZWZFQndoc2t1Nkx6aUkxaFZs?=
 =?utf-8?B?RUsyWWF6OXdlUmVUaXVuT0FRcnY4Yzd0ME5hY1RkS2JhUVpTVTlOa08yWEJr?=
 =?utf-8?B?WWE3ckJGQlF0TnBSU0Z4OUtURXhnKzJ2elR4OHU1RzB4MUtZM0IwcDNHTVhn?=
 =?utf-8?B?L1B4am5DWFBJMlNDR0xacndPQmNDb3hCLzV1Zi9Id2U1QStoSVkyb0VLQUV4?=
 =?utf-8?B?cGxueUJhRU82ckpaSWJaWjh1WmZMbUFjRGM4ZFloY3FFT29qMTlCcUF1ZjBW?=
 =?utf-8?B?TDBsQ1UzU0k0UHEwQnFtRXZiWjljN1hmamE1QkpldWt4ZnliS2k0ZG85dyto?=
 =?utf-8?B?V0syQ1E0Ti9zNWVKNGlqUkJsa05mbmswcUZpQ3Y2aURKWVBDNlh0SXFPQlNL?=
 =?utf-8?B?UDA5MTRvZUxCL091OGN1dHNSWklwTXFYT3NtaXpxTFdpY3A4ZVYrQzBCSG1l?=
 =?utf-8?B?Tk9TWTRlNXpvWWFMeTA3dEJJczc4cUlyZzdBMG9wblB4clNsRUpSK0dHOHFi?=
 =?utf-8?B?NzZUZTBhbk0xelZCMUsvTE1QMUU4VGJmZml4LzBRdGk5OXBPV1BrajdSRDJ0?=
 =?utf-8?B?a1g0M2dWOVptVWpibTZuUStuTXUyNVBCbU96WS8veDViL0RQOHdSK1hCWW9n?=
 =?utf-8?B?QjNCUkkxWWdNQ2l6OGRMbDljRDlZaDhhUGxZRkVSVFI4aGtVVXhubUdOamdM?=
 =?utf-8?B?ZEErSmdVM3kzTTBmdVJETnliSHk3R2ZCcUJLTkNKU3hMcEovZmpvL3hCWnow?=
 =?utf-8?B?R2dJKy9VS2kwcm1nM2kxZzJuSlJSMGpKTzlNMkV5eURWcTAyUjVCbXNCL0gz?=
 =?utf-8?B?c2Y5OXBnWE1HdldDcTVmblNwRG5GdmhZbUFxOUNjVE1Hb1JseExHMlBIWEJq?=
 =?utf-8?B?SmF4cjlJSytUMkRIQlVMOE5KeC9aWmhKUnBIc3prc0NMSW1WdlEzamZCSUd6?=
 =?utf-8?B?dkNtbmJoMGZPRkF1VjgvcmJONVRtbTFYTGYzaTRCd3FLQ0FWWTJoZG1nb2N2?=
 =?utf-8?B?Mm4yRG5UQ3RTZzhjKzcxVkNnZnVraUptR0p0ZkFhRk1NUEovenQwUk9IVEkr?=
 =?utf-8?B?Rmpsd0pCU1hMenV5bERlVWlQZkp2cE5XMnVNVTVheUdPQld4R3FCUGMwSFZ3?=
 =?utf-8?B?RVBSRkxZaDhYTUs2TnYrNjlLa25IOGZQVHhILzZTTHlJcGNHbUROdWIrR3du?=
 =?utf-8?B?WWpJaU5vRnRDNjNFSzdlOFd1VzVwOHF1TGQ2WVZHdFJVT1I3cDdjeE82d0RF?=
 =?utf-8?B?eCsvaENTbEJFWS9uNzAzcTV3WExJRE9NYzE4MlFSS0hLdHFtK3E2Y211MzFM?=
 =?utf-8?B?RFJkVE90Y3RzTS9ZTmUvRzJiYTRXd3Z2ektNUmkyQmpESi9BZmxlYW5GQVE1?=
 =?utf-8?Q?9yvcFwLxx/0sUvNcGtHdWaYTa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b2f1786-7d0f-4659-69cc-08da7626bcc7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 14:36:37.5460
 (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: nWcTHjKQtbuh+69Nydkkv9+JxiAu7CJJOp7sy+oZFjVQ3qjaq/XpWgaZBSQUbaQP4ocou2Pzy4T3JPA3KzZSLw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9410

On 04.08.2022 16:28, Marek Marczykowski-GÃ³recki wrote:
> On Thu, Aug 04, 2022 at 04:21:01PM +0200, Jan Beulich wrote:
>> On 04.08.2022 15:43, Marek Marczykowski-GÃ³recki wrote:
>>> I need to keep this structure somewhere DMA-reachable for the device (as
>>> in - included in appropriate IOMMU context). Patch 8/10 is doing it. And
>>> also, patch 8/10 is putting it together with other DMA-reachable
>>> structures (not a separate page on its own). If I'd make it a separate
>>> static variable (not part of that later struct), I'd need to reserve the
>>> whole page for it - to guarantee no unrelated data lives on the same
>>> (DMA-reachable) page.
>>>
>>> As for statically initializing it, if would require the whole
>>> (multi-page DMA-reachable) thing living in .data, not .bss, so a bigger
>>> binary (not a huge concern due to compression, but still). But more
>>> importantly, I don't know how to do it in a readable way, and you have
>>> complained about readability of initializer of this structure in v2.
>>>
>>>> That struct will be quite a bit less than a page's worth in size.
>>>
>>> See above - it cannot share page with unrelated Xen data.
>>
>> I have to admit that I'd see no issue if these lived side by side with
>> e.g. other string literals. The more that the device is supposed to be
>> exposed to Dom0 only anyway, and hence that'll be the only domain able
>> to get at that data.
> 
> Other string literals are fine. But for example `struct dbc` itself is
> not.
> See how it is combined with other data in patch 8.
> 
>>>> If you build the file with -fshort-wchar, you may even be able to
>>>> use easy to read string literals for the initializer.
>>>
>>> I can try, but I'm not exactly sure how to make readable UTF-16
>>> literals...
>>
>> L"Xen" looks sufficiently readable to me. We use this all over the
>> place in the EFI interfacing code.
> 
> Ok, I can try that. But given later adjustments, IIUC it will make the
> whole 50+ pages structure land in .data. Is that okay?

No. I was actually expecting the piece of data we're talking about here
to land in .rodata, and hence be re-usable at the same address for all
devices. Hence my reference to string literals.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:38:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380472.614635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbzU-00040D-UY; Thu, 04 Aug 2022 14:38:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380472.614635; Thu, 04 Aug 2022 14:38:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJbzU-000406-RO; Thu, 04 Aug 2022 14:38:24 +0000
Received: by outflank-mailman (input) for mailman id 380472;
 Thu, 04 Aug 2022 14:38:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nGyI=YI=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJbzT-0003zx-Ka
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:38:23 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16f0ed50-1403-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 16:38:22 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id C045B5C0066;
 Thu,  4 Aug 2022 10:38:21 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 04 Aug 2022 10:38:21 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 4 Aug 2022 10:38:20 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16f0ed50-1403-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659623901; x=
	1659710301; bh=dA+hyGXTIok9ZxbAmCC9zKgn4+fCIrM/mBZELAbHZ9g=; b=a
	iUNN7+3jlWYnWg47+YAxYNLPqRuIzIwBby36VTJS9qQ9zsUYQYBgeZvUTxPVXwOJ
	FRINwagGkNUGdwcLIDTCK9RMjCkYvelZaCVzC09ANXGI52O2u/obapEpT25ke/dM
	kDlii848uS/N1NiiIN/bX8cI30GBKCiDuvPDlFh1FgS1Uu/cz5/VfoUmeTGDS1Zq
	8ZN83o6QGLO1+g/772U8/fL69bWgJydSBlC6lVgBxhonZLg06vlO8y/PJOF1wFOo
	dGeynR58rFMpUSvxQNyNSBfKbKhh2kZIDS4vPRS85WyCs16/ANvBOZQ6PYILBJSF
	/TaRG+4FtgNQdkyU6QNmQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659623901; x=1659710301; bh=dA+hyGXTIok9ZxbAmCC9zKgn4+fC
	IrM/mBZELAbHZ9g=; b=kfhuu/Os43w7cHdFcji8VNiSJYjcwXdMGN4FtBIyxl+B
	Z6yqRcCPJ1dhc10vdIR55u5FL9hMJajwOVtPrCHJDTeqXmiId/FmvK3DKp+um8bL
	5l92rS2rFDdJ+Cuj2aqMdFQwV/++VRNIHHXAhwnPT3Pn3r1lExvo7+HWGN1Cz1Nz
	4ZSiOS/F7ySdKOkUg8yyt7Pgqmj8SV7DyBVbE91PNQsErACbvg9/jZVkIzfN/MK5
	xVw3jo8G8nm23yf8gJy3spdm2g9pj2wAmgMIotVG8SpYJauwSjA26Ebn+1dG1/1I
	psWcTluZoEF5nFhRMM4xQ7R7cu2q5YKGz3VAm4VEeg==
X-ME-Sender: <xms:3dnrYj3Nnk3_V6ZIy3fmt5T4mD7KNu4tgyqQrdheSNuySvgV1CYfEg>
    <xme:3dnrYiFNNBvOkNqyCxQr5IbHzid2QFFZJ2j3lJ6ffmfoOqG79kv0Qr6ytZsBQRcHF
    W9qrudhTUur1g>
X-ME-Received: <xmr:3dnrYj7VXELQPUHPp7ADgSmeIPXr74_cHH5MEYCVKdbYhq8nRHmoyNDvwVB7NrEvnxAWIqKIy1dvxC3GYsuIoEoX-ZczrjsAl9xh>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvddvledgkedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:3dnrYo3rJ0eK5lN5813MXUOkoYhrr9znm62f08Mm_cD2bgfv27K3sg>
    <xmx:3dnrYmG939F4kalYtpV2FI7ASRcKOxxFlIWpkJPJHLCuxjL1az8GvQ>
    <xmx:3dnrYp9ku5TTbdIL0Rg-9PY63hJ_U_0bMtHLIhYufatEXdl9-x_9gQ>
    <xmx:3dnrYoP7KbH8AXhrNZzO6KeeeJZyGRy5TpNd4o3uzyZz7BpAcZrj0A>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 4 Aug 2022 16:38:17 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 05/10] IOMMU: add common API for device reserved memory
Message-ID: <YuvZ2mhKOkHEdQt8@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <6a99f9b99b419a20e895d54db2e345c80270248c.1658804819.git-series.marmarek@invisiblethingslab.com>
 <fbffdff5-04cc-f314-98da-29f1984149e3@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="obIwdAUoZzEWHPl2"
Content-Disposition: inline
In-Reply-To: <fbffdff5-04cc-f314-98da-29f1984149e3@suse.com>


--obIwdAUoZzEWHPl2
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 4 Aug 2022 16:38:17 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 05/10] IOMMU: add common API for device reserved memory

On Thu, Aug 04, 2022 at 04:25:38PM +0200, Jan Beulich wrote:
> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> > --- a/xen/drivers/passthrough/iommu.c
> > +++ b/xen/drivers/passthrough/iommu.c
> > @@ -651,6 +651,51 @@ bool_t iommu_has_feature(struct domain *d, enum io=
mmu_feature feature)
> >      return is_iommu_enabled(d) && test_bit(feature, dom_iommu(d)->feat=
ures);
> >  }
> > =20
> > +#define MAX_EXTRA_RESERVED_RANGES 20
> > +struct extra_reserved_range {
> > +    unsigned long start;
> > +    unsigned long nr;
> > +    uint32_t sbdf;
>=20
> It's not easy to judge why this isn't pci_sbdf_t when no callers
> exist at this point.

I'm following here types used in the rest of IOMMU code. Especially,
this field is later passed to iommu_grdm_t func, which is:

typedef int iommu_grdm_t(xen_pfn_t start, xen_ulong_t nr, u32 id, void *ctx=
t);
                                                          ^^^^

I can probably use pci_sbdf_t here, but it will be cast to u32 later
anyway...

> > +};
> > +static unsigned int __initdata nr_extra_reserved_ranges;
> > +static struct extra_reserved_range __initdata
> > +    extra_reserved_ranges[MAX_EXTRA_RESERVED_RANGES];
>=20
> With __initdata here, ...
>=20
> > +int iommu_add_extra_reserved_device_memory(unsigned long start,
> > +                                           unsigned long nr,
> > +                                           uint32_t sbdf)
>=20
> ... this and the other function want to be __init.

Ok.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--obIwdAUoZzEWHPl2
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLr2dkACgkQ24/THMrX
1yyyUggAhE8UHt73HotcbffIMIcg+Ew1fmjKpmWMSkGy+hZCMtUatHt8YROEDLwk
bqIKEP6GSa7/YGd7slftBbUmBzGxQ1nzyyWqRdenCWvgwabcJN7VmzD+TAf8kqxV
NWY1LrhzPQ7PUPrB9Dow2MJxHwehC1oPQtnUNghqnRZ5VbeXLqd7im1yLBx00iIB
UPmejU9jJeIKRpbFW+Bft1dk5+6CdI7CxXkJWspSleIdTqT3+g7Ifvy7Hdw+WL2q
XO9St3FyQnQlk1RTsybYoneY8Q5Q9F6faRA/mlA1evAeXSg212YFZQ7g62/H8Zs1
jab1BDQkIvlXZJofYNVnXu8dWsIEKQ==
=Jn/X
-----END PGP SIGNATURE-----

--obIwdAUoZzEWHPl2--


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:41:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:41:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380480.614646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJc2N-0005PQ-Bh; Thu, 04 Aug 2022 14:41:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380480.614646; Thu, 04 Aug 2022 14:41:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJc2N-0005PJ-8x; Thu, 04 Aug 2022 14:41:23 +0000
Received: by outflank-mailman (input) for mailman id 380480;
 Thu, 04 Aug 2022 14:41:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nGyI=YI=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJc2L-0005PA-EZ
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:41:21 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80d4d941-1403-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 16:41:20 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 70FD25C00CD;
 Thu,  4 Aug 2022 10:41:19 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Thu, 04 Aug 2022 10:41:19 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 4 Aug 2022 10:41:17 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80d4d941-1403-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659624079; x=
	1659710479; bh=DAXmyYfrP3+DoD6UWpfFmEJMmuoWP87l3Ec3UK+0GG8=; b=F
	wVvnm6v6KDVJgX3eqdBNHMWPcujJLCK/yrAifkOsFU335sOTJEjKXRKiuggqD6NI
	7Q/MAqWjY9EYM4/5WEcbuaAAQDnfzr0z4CIb0gbE+diKk/cJ+VT+5g22g5okiR4I
	DfiGwuVbyZjgKIzqkJZcqtuUPomoMWUbVdHSaoxKBv9HVN/teLv1vsacMTDDTSTz
	i6g9W5TwdPJyLR2D1hU3RNyM+WOL1t69F4FFKT+hIAyA6wfTup99GFExVjv25e51
	FAxX1e1hEXHYHY5IEjq/mqlUwuK3dbXbQOIh+prAlPKY9kmj5U7VjbdHf6vddneI
	Uy5GCoFizdmo7A00OGx3A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659624079; x=1659710479; bh=DAXmyYfrP3+DoD6UWpfFmEJMmuoW
	P87l3Ec3UK+0GG8=; b=ZHMzvXaGcWi+YB1m8IpufL4uT4goEk7wlim7Sm+GQs5j
	1wrUo1wzXsVoN/M17YDEloQWdSN3jm0jFYiQ4c2oEZ4vuNIF3Sb6Kf+Ajfc8NCw/
	d2j9ohoc4MS93bN3Wwh7tovLMzjrhR8goKJLklitWV76J/4YCNQ4Uag0jQmYHDhV
	1ltqfH2RS9vIpELWo8sriT5cXRHgRQCC+TVbEb81cnXPyfl4TLjVn7VCm0frmRh4
	NVvLAwTlEoyPRweb1fGgcfilj4jFKsZ27BiW2b8sVYzxSArT4xVpqTRCEtvdEEMM
	XzDGGlVxVGKsS3QwIljooBOmY7jismzt0da4YDGjWw==
X-ME-Sender: <xms:j9rrYv1-BqnBohHnbaht1wcBptQuE2tWMuBYA7dVGQzuynRgPneq7w>
    <xme:j9rrYuF7DY1Dixv3uTBf-IhcfC9mzcKE4W8Abcvy5lafsSo1nsEuF9buJoJDiyXi-
    XO1ZrSZLeG0ng>
X-ME-Received: <xmr:j9rrYv481nR-d8lqjmcbiDkAhtgI-pLy6LFt-jo6iXUxZVRjJeA-Q9n4vYveGhWI-H8BEnk3xS2voqKxgTWs3vOCE5ruS9teWYEg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvddvledgkedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgepudenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:j9rrYk2YD_0-_HwNecqET3d0BjgF3NgxdwGuJNgJlGCdzaUf2smNfA>
    <xmx:j9rrYiHLuCv-Y5OdNrHwU5hjyOdqgcMIxb51IgEmkwaZYL5rJvWkQg>
    <xmx:j9rrYl-_gAXcT6hQv7iSNss3CoPnVUqQqt_VYbdxexE7hjh4jSXiEw>
    <xmx:j9rrYvMnKj6aYzxATw1AkKTg-kUsht-mH74viXxkFXbs_pj7_L-awA>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 4 Aug 2022 16:41:15 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Message-ID: <Yuvai11tHcXCBvSv@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com>
 <YuvM7vElH/IdBJjq@mail-itl>
 <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com>
 <YuvXjEZMlwjsuIGA@mail-itl>
 <fab2ccf5-43e9-e341-f448-092de2c01f17@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="zD7e3iOr21iJdacL"
Content-Disposition: inline
In-Reply-To: <fab2ccf5-43e9-e341-f448-092de2c01f17@suse.com>


--zD7e3iOr21iJdacL
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 4 Aug 2022 16:41:15 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger

On Thu, Aug 04, 2022 at 04:36:35PM +0200, Jan Beulich wrote:
> On 04.08.2022 16:28, Marek Marczykowski-G=C3=B3recki wrote:
> > On Thu, Aug 04, 2022 at 04:21:01PM +0200, Jan Beulich wrote:
> >> L"Xen" looks sufficiently readable to me. We use this all over the
> >> place in the EFI interfacing code.
> >=20
> > Ok, I can try that. But given later adjustments, IIUC it will make the
> > whole 50+ pages structure land in .data. Is that okay?
>=20
> No. I was actually expecting the piece of data we're talking about here
> to land in .rodata, and hence be re-usable at the same address for all
> devices. Hence my reference to string literals.

"all devices" - this driver supports only a single xhci debug console at
a time. Anyway, as explained earlier, it would require reserving the
whole page for it (there are no other xhci-related structures that can
live in .rodata), which given your earlier comments about memory usage
is probably worse.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--zD7e3iOr21iJdacL
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLr2osACgkQ24/THMrX
1yyu7gf+L8zuTImST9NAp5ZB943uoob+9WwRghP95vvNBZlgAjJnDW8ePlP+mJOe
QYzXxU1WNW8S3ZXy6B6v/wpxTu86Ed2AWZLH/lIbYcqQuWjeTqo9rWnfhk+vTa/W
zmN7fzRlD9BofbmC4CMuaHzKmF7u31s8msFxlyJFq6WVvq7+SnNnxSgCJDEFG8Hl
ZeH8TGr694j6Q1dOyqmSKvh8pgIYA/iGvJjLCYtV4mRb2VuKEncDUVsSOb51wZJy
slOagWFN+xxdGwk3iDG7VPx1cp6QGdChFHdJHrmELiuRt4S46QNoYURBerEIg6UJ
iY7uIZuET4piYk/k01eHt+cxm0LiPw==
=9Hx4
-----END PGP SIGNATURE-----

--zD7e3iOr21iJdacL--


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:41:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:41:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380485.614657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJc2v-0005uP-KD; Thu, 04 Aug 2022 14:41:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380485.614657; Thu, 04 Aug 2022 14:41:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJc2v-0005uI-H6; Thu, 04 Aug 2022 14:41:57 +0000
Received: by outflank-mailman (input) for mailman id 380485;
 Thu, 04 Aug 2022 14:41:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJc2u-0005u4-Os
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:41:56 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130047.outbound.protection.outlook.com [40.107.13.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 960bb3a8-1403-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 16:41:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9410.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 14:41:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 14:41:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 960bb3a8-1403-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e2LKgEIAGm9ejo/vL8CUuHt76lLTkW1614tOEFoPPV9+iVwRSqA5zVhVIQKD+/4QtN2IMUV1MjM/wp+id0TXUGH/V6JkB7ZViN/v/YZlCA9/gbkiRbXyBx38y9yKT2eaMNfijtfqzpRwzdeBbk25gJRG0+PzTzes7AoiNC97njqzVX5gpPJZtYN4MXs1emN+jCWtZZGmX3bc08rxdr0hHPQtpsIFPaEoch95IJlSkxSvXyCf2eL+6OFBWUp0xavCp3yz/vzigvcgCHXZzIIbqK5PiC5hoLIztP/kyjqRAd0qVL9Fl4IweeQ90/37iO6Siy+4YICHUsBLZ4tL7q8yMA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YfwZr4EZZzn06f7sL4MeDRRnzsJu3Md8kd84kfoW528=;
 b=hZKSdepwY/lC2WTgPM5SPfzdUF3Zs1FbMP1CgUcmucyyaSM21NyByQ/Cuprtxwq394Cb4JN6A8ebOhtu3sdcNS5YQqAUAAq1pnGPHxuKqZCdlRl7uFNDx+UDRQCYL419P7emm+Lpf2nLOAsiG7+AmUG9SeH1tviohayist6+WnRmC+S/vtKLoduIKaUQPwzB3jkMJk2ofR+id2PNXlH5ERQ1gnEDXjXmIcUQ3BXwYa8KH2LGtaxabdWpPL01xX2tpoRrsm760/KqmwQSpL6A7MMTXSBoXXJRBiUxbkm9Vwu6D/bj3mcsx3P/twb1PnEZVIbvYhPWCrh3R1uUkM+Iyg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YfwZr4EZZzn06f7sL4MeDRRnzsJu3Md8kd84kfoW528=;
 b=l3ns/6Y9LoX+Y5/oIXDpxkvzVxfa7GRBiQQlLpULYPbThhxBU1bKthcwMIcJmL5SBSKDIdgWCZK25CzRxBy5SeVtj8+jk1nisC6aB39EB/x8Cu+q8dKUb1s579LYdjwWB9abs9MoekXTPmoWkVvNMm7AvDBb/Ln/LnxWMu4w9pD9ujfrLvmv0n7tZTINicv5FFJzgyyo98xMsV9gZHMIWxeuBJzyx0ZWIWImG8Urzv4QAbwe7scyoZThj+8xillOYVjm8cvvMM+4/kRRiqkKITXO9x46raKuUVMmd4UP/SuMlFBUAUuXgCYzLv0cdZRypIoKnbd3Dxmik25BhSUM1A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0d98ea45-5fbf-9c88-40ad-d225b29939d2@suse.com>
Date: Thu, 4 Aug 2022 16:41:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 05/10] IOMMU: add common API for device reserved memory
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <6a99f9b99b419a20e895d54db2e345c80270248c.1658804819.git-series.marmarek@invisiblethingslab.com>
 <fbffdff5-04cc-f314-98da-29f1984149e3@suse.com> <YuvZ2mhKOkHEdQt8@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YuvZ2mhKOkHEdQt8@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0080.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 45e61be9-1475-440a-132b-08da76277993
X-MS-TrafficTypeDiagnostic: AS4PR04MB9410:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Fte5KVdWXZCyJvs/kW1NiHWBIow3vwcQB3TfsHr3LvZK4KdX7YQh2z/W0n+jPrr0u64NWcjs1pXb86fWCegvdSXm1GC7BICEbHHlsotrAVqEmaHaG0QjTp2jE7uWYoEtiAE8GK+frnrlmJ2u9K9FqfktWFdplV93PElCKxxY3FPsyfW8DWlmmOTv7kDVXnROfcO7mu71Gar8R9Lk103+6QBRGW8lkG0Bj99II3ClglcRsahwwZxN3H3Pphr4AUZN+BqCvZ81R9xmUj6TDAD6xThwB9zbm0+qcCSDupNPycNduBHl7XWunqobFl6go1zw5af3ag16qyTUpPyTcZbX3FMyPEAkcChuHyyDa7+UHnRQqADqwZIA2QBq8H0/TbVsL7dDSxEnPARMjb1mUr/AED0HvC4Ts8qbAR8HqovKvlyj0od5MjHP5sGpn98H+J6VgkW3I+2QONvFkT+Aufl8bLZzsiULeoD1cagdqw/pHjZxeWNw/Vie+sKsKVGHnbUdy83ole8qghCNB+rKPSNoSxdHG4ZOsIogX2h5EjljGHi6l1YVSDKGtWXgA1pZy/19KD7ssbPkIV12nVBrUL2VRyi4AJWWv5pOT5fGCastYjQf6N8A4xalMN45vMuz3oCCeUHN40ntsVG0PZXvqUOL9CHGIGskOQFdbPQSfwuIyx+BHRqo2i+2v2GCK3DKl6kHa8dvVd2cVHwWb73HLHlBHilZWsCz7xSkr71DZZGDEraq++VVSBbi0uI3p82eHfimcFtM/vVXMEOmzaAle1c6GeTJ0muA/m426dnOdT+L4rFKAgvwQ5agi7npeGzBOfLZ3Av6058zwn+EU/iaob6w3w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(39860400002)(366004)(136003)(376002)(53546011)(6486002)(2616005)(38100700002)(6666004)(478600001)(186003)(2906002)(36756003)(31686004)(41300700001)(5660300002)(54906003)(86362001)(316002)(6506007)(6916009)(31696002)(6512007)(26005)(66556008)(66476007)(8936002)(8676002)(4326008)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2RuOUNSUWFubHgrcmpqQk1qK1k3ZkZwOFFTaTNFZFA2dHVleVF6Y3BJRnNK?=
 =?utf-8?B?eXYxbWtQU1lZd0V0VTJrUzNmRjgxeFZmaVJEaEhIa3E2azJkQlRSVjg0NTZR?=
 =?utf-8?B?N29qeTQybDNSa1N4SkZ6bmhZSklwa1RpcFVuK2NJV0dwUm1VVzVFZkM4d0x2?=
 =?utf-8?B?ZzRNK0pMemh3cXVDcnhlTFc0YzVGTG5pL1MzS1lwR1pQSzNud0J2cHV1cmV4?=
 =?utf-8?B?Z21tcFFVVjNYSGcydHdrdU15ZEtDb0hTeTYwWGlUM0Y4LzhQYklyMjRLVG56?=
 =?utf-8?B?OUU1NkkvcE9MY2FvN1ZlU1Q0WUdJWjBNT1psSXgvRUc0aFVEeDJVSmFWTkpr?=
 =?utf-8?B?RWRHZHB6WS9wdmJyUkZUOFJkV0M2SmhLWndxRkIxWmhML3dnaVZ0dElSL3dy?=
 =?utf-8?B?dC9wanRhaURkTUtONG5uT3dweGF4cUlNU3ZPODVuYm1QSEVPUXpvY2w3SDRH?=
 =?utf-8?B?bEl4QVFWL1pVQ1Vtb3lCdlQwdXVSSm5EWDlwQmlYWGVPTUw3aVg5NFRwN0Zs?=
 =?utf-8?B?d1drMCtzQkM2RlljelV6aWZWQmZ2VGE2eXZONDNKaldlb09SUHFiMERPWktT?=
 =?utf-8?B?MFB2emlIaXZkUnoyeTUwb3lxam11R2x0Umk0bHlsUU1NY1hrNUJBamVRcDQr?=
 =?utf-8?B?eGlaV2ZuQ0ZjUk93eFl0Z2l0bS9nN0NLNm0xcGZhMHhjaitUSGJ5WEovQ25E?=
 =?utf-8?B?VUV3Tk55bG9zcVI5dFRmR3ZwdG8zQVU4SVdzNTJwdlAycklETlVWNzJBZ2FF?=
 =?utf-8?B?M1lGODQ1eXBvdUhxeW1ObUg2c21Sdmp1RHBrY3pZTi9IYzFwSVo0MTBGL0h6?=
 =?utf-8?B?Y3FVWHlydk1kVFZGRngwOEs4UHJjUlVnTDZhZ0hVT1BJamNyZ3BLWGhNWkFG?=
 =?utf-8?B?SFE4SkFzMWZqWHFYcDFqeG5KS280b0RhVTk5T1JZdGNYaCtKYy9tR1F0VmF4?=
 =?utf-8?B?d2JMaGk2MXpBSFFhckxPSlN2a09yRVBMeWVVUjdWNFZCeUtkQ0tHRmFJZDR4?=
 =?utf-8?B?bzg2L085WjBWNEVBUDNDTEpEcEd1V3JXNFFYajh1MEMzR0JXYWkwNmpVVkM5?=
 =?utf-8?B?VkZtbHo2dFlyaWIzSTNiMHRnaS9LUDYyQjhPVWtCb1V3c3NRaXJ5ZzFaZXVm?=
 =?utf-8?B?bmluOXZJMWllNTNkekVua0RXM3UydkpkVUVkRmtaanQra2c3ODRxS2p1R0lz?=
 =?utf-8?B?YVYycE4zMmYzbzBiVzFPSmk2ckxpZThra3YxdWJ2V093NVV4UFNkN1I2TFhX?=
 =?utf-8?B?TVN1REh5dktuUFpoampzRjB1RHB4SXBBRnV6ZnZZNERkOEd5R01oczBvUVZL?=
 =?utf-8?B?WlVUQjNFd2ZRNEVkVDdMMmhEN21pc05NWW9FWTdVbm1paUxZTzJEdTVFUlNF?=
 =?utf-8?B?Sy9BbjZia0ttMURSZUp2T1pObXBvNERqK0p5RkdIbFJXeXFTVWFKcFJiaWoz?=
 =?utf-8?B?QkVnQ0tMWDhiN1daRU0rZ2xGRXdhZkF4bmwxOW5OeFBkbWJ4QUFCeFI1dUJW?=
 =?utf-8?B?Z2N0ZXViKzh6ejJCMHF1OGVrZzBERWY0Znd5MkhsclAwaWtSTU82ekJzSWlZ?=
 =?utf-8?B?S3dCOWVWTUlBKytDeEdXakZJY0M5SGhZaXBHb0RwUVhnczRrVjZuVUZJamJW?=
 =?utf-8?B?STNrSVZTQ3FFanM0Ly9xSUE3L09OL2hPSE50VHVkbktYZ1dyOFJuLzdKbC9y?=
 =?utf-8?B?Mm1zcUl4SDRUY0dIQ0VLaUpiSHIxZnFiYlR4akdNUFZMY3dMQno3VytkVzNG?=
 =?utf-8?B?TG1JRG9jL2Voc0ZCNU13VEJCckVlOTM1RVY5QURBTVJUNk9pc0FBZGxFSWxU?=
 =?utf-8?B?UXg0SzZFeHR1MzVVU3FpVHprYnFpSFBIM3UrK1ZCYklNbVg4R3EvZE4xckpV?=
 =?utf-8?B?QTFEQWxmSXdObzFKZC8rQWFUTVBabFRCMTc3UEJkTWxUOUNWN3FJemZweFRR?=
 =?utf-8?B?c3M2ZHV1cVRyY1AwS0lpRHNZWmJPVEhrMW9DcmpvUHVLUVB5QlBseFFrSXJK?=
 =?utf-8?B?VzBLblkvb3JQbkphNnBQRUhlOEVHUjE2dzV6Z0E5RXV3ZXg0Y3doM0R2RXc3?=
 =?utf-8?B?ekwxdWcyNlRSY2szRitVZzh3SDhRZlZoRjE4S3NlbWNocEhJeHphNmUxS3ND?=
 =?utf-8?Q?2pe4M91VKP93Lhnfvg8K1Tbsb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45e61be9-1475-440a-132b-08da76277993
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 14:41:54.2924
 (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: HjotWfEZsnz62dxiwR7YdJNqnsS5hlAopprRsiGFdE157F/951qYZjb5qg9TNxiqS4tGRTDYITnotHMuNf2M2A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9410

On 04.08.2022 16:38, Marek Marczykowski-GÃ³recki wrote:
> On Thu, Aug 04, 2022 at 04:25:38PM +0200, Jan Beulich wrote:
>> On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
>>> --- a/xen/drivers/passthrough/iommu.c
>>> +++ b/xen/drivers/passthrough/iommu.c
>>> @@ -651,6 +651,51 @@ bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
>>>      return is_iommu_enabled(d) && test_bit(feature, dom_iommu(d)->features);
>>>  }
>>>  
>>> +#define MAX_EXTRA_RESERVED_RANGES 20
>>> +struct extra_reserved_range {
>>> +    unsigned long start;
>>> +    unsigned long nr;
>>> +    uint32_t sbdf;
>>
>> It's not easy to judge why this isn't pci_sbdf_t when no callers
>> exist at this point.
> 
> I'm following here types used in the rest of IOMMU code. Especially,
> this field is later passed to iommu_grdm_t func, which is:
> 
> typedef int iommu_grdm_t(xen_pfn_t start, xen_ulong_t nr, u32 id, void *ctxt);
>                                                           ^^^^
> 
> I can probably use pci_sbdf_t here, but it will be cast to u32 later
> anyway...

No, rather than a cast you'd use the union's sbdf field. And yes, eventually
that function typedef you refer to will want switching to pci_sbdf_t as well.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:49:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:49:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380495.614668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcAT-0006gE-DD; Thu, 04 Aug 2022 14:49:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380495.614668; Thu, 04 Aug 2022 14:49:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcAT-0006g7-AJ; Thu, 04 Aug 2022 14:49:45 +0000
Received: by outflank-mailman (input) for mailman id 380495;
 Thu, 04 Aug 2022 14:49:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJcAR-0006fl-SH
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:49:43 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2075.outbound.protection.outlook.com [40.107.20.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac4040b9-1404-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 16:49:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6361.eurprd04.prod.outlook.com (2603:10a6:10:107::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 14:49:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 14:49:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac4040b9-1404-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dLqeATpW/n3vrekBZzGrBqW4L+Q46xCpmMywPMQt1Jv/qOFWnnbE0bNn0hYQdjI1u3lW4DHjWO2uLj06imoI7OgjishdVlKMYf12hUsWRoVH35UG042d3O7j+FyO4jFyZBUYC2X/XzQhJmmjcqBHtb2iq2LDxHzygVRcbgW5QSsLZCvF3lMuJwLRMJYzrsuEteQ8iQVE9BItTvY+/qSJMjxZonps9M/y1u43YV4EAypjAlCO33xX1EvXnl5vjrc1EOBoZim3XyNtZNtNMfn2Y2Lr7d99nIYAPO8e+sOXbvHietjicjbalRam4SGkzNVFuoeY7xzhfMWYgKk3w2+bqw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UgMhQNCa5SFMV5/QuR3dwff7FzNaLDXI/HWimJCRrJk=;
 b=aCSD9ZTmMNWiD2hmV7KgBrawy88ODUGdb9ISoAlFDrkeRVExVTy+0Z5by4A/oJ63jXSF6uFHIIqYlTnnC556+iYgi2IetFI058B4oDrHK2S0uo8a2cfUJrYNbMAnUYSQHXREewHSKO/n8k9VbIJMXGj7U+FRxymwXN4BNHYBIdDxifNnk78TXGVzWB3sDEy5qg7r7lY3qhYQlMrBB8yijKwpCUgvJX8UpSaAHWK838BVibwINAwTjcmfOfAlwe2NGvCnflyvX4/74VfxdoHBY1oVPYXBGYTsZfyw0Y6OvRhN6XiBQO3vzDVcREyC7d2Y14T+rnulYo3wGQtxLNlvDw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UgMhQNCa5SFMV5/QuR3dwff7FzNaLDXI/HWimJCRrJk=;
 b=4SDhK1zZADkFEjZOHP0szTVgFr7ObJ02CuiLYtdP4tqcnEWLpp7DT8qnX0h7Anle3Kanoppp9nrw2I3XCmS+0ew2WrNbIbWipFK/KJC4HzB7wOxXIBwwPpgVFDJq52CUy0nY46gVcKSAaMog6Tu/OYlxeMPKHZVEhcigW+4MShyEsaHMmhOaZQpHix9y4hQxD3aD9sQBy8Fexi3onnfn4dODzKQaC4ME2a+g8rs+TXmLQFjqybez2KHkXVttzW8oRsmvpUMlHT9iCunW6US8fqvS7jY12t9CEjzYUe/8nmvUPOyQo81UFtYVJ0uToCpZqtw0BkMtjI5MlUqJ2OrzOA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a9d9cb70-0f39-1d46-3a2b-650e3cb14a5d@suse.com>
Date: Thu, 4 Aug 2022 16:49:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com> <YuvM7vElH/IdBJjq@mail-itl>
 <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com> <YuvXjEZMlwjsuIGA@mail-itl>
 <fab2ccf5-43e9-e341-f448-092de2c01f17@suse.com> <Yuvai11tHcXCBvSv@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yuvai11tHcXCBvSv@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6PR10CA0070.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:80::47) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cb259c67-adbe-4f74-c0ce-08da76288ecf
X-MS-TrafficTypeDiagnostic: DB8PR04MB6361:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1tH6h5ZiMl72L1A40CB9OGYGeGTlQH52iG5q7V5jNK0Pn0dovw9FaDb95ZAaKmVMm8Gi6dmsE77wcSxG8JBixsabVn/Rpr+zpNLFzsIqs8JdPqyGbCxkJG4/dmOishVPg/ihuVhnYhWdxbClOdsy+nnGsoFVXyLpNcE3O+6QoCaSkItxxj5w1ObTYZOxAy3/Ej8cBy0QSfTl44bLrMQ26oQ9S8momq94WYVTbVnaMBCAtDbR46cTmQbReI+lthfSPd1og5UtpMiVyoMvUGGfT+f8J5n7aS7cj0B1QLvowEoAbEWIZA7/7o8cgXr0f90doSOiPxV1iq8FZhdrIpv/b8aYXgejByLXDJyOyK+rEssLH9o5pXzwvLuvmhYAwYmXUKsJ+dbHbYU1XRv1r8lQ026j+rsOutBJG3yVkS7GqpVRByZorziUTdM2TSHgWQNKRyWQ1HH0/OapP0lLemDu1kgPja0bvZVSTyZG3racowcKkBgcXY//L0v2RQEj4nyyHUKjRlIXNaUABOS5VEWZbPb8+msW1f56DSDSTwm3NWFeWghoPzt4qLvC5UyLCsrNzCl4ZXkLUIffjJ7yEaruIC8aGhPysQoVBBIy8fQOaaYKbwM8EDnAV+w/o2mshPj9lMIstf9l5YTsZ3RSQO6K0M/FEk9kx79bt+VOQUiF/2gnY/0LzdAudhqY9GkMSG1JTHl/viLMZFxDASMwJC70YIIkIvKvZTaeS8Fq3c39FAobhxUXg3v6rH8hVEa5p23KTVa91QFo6/gXfAoAjorejwgcV8PXgkyiqIPuLSzFi9JD3ckBTYVlBtBLCSquM3hINJIp5MP9lhJI5vJWhw8FUw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(366004)(39860400002)(136003)(396003)(38100700002)(5660300002)(8936002)(2906002)(53546011)(6512007)(6666004)(54906003)(6916009)(41300700001)(316002)(26005)(8676002)(478600001)(6486002)(66946007)(6506007)(83380400001)(66476007)(66556008)(186003)(2616005)(31686004)(31696002)(86362001)(36756003)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1htUDQ1eE9pWjM3Rkd3Q1VIWVpOdGtKeTkyZXdTbU4zYmsrdzBIc2ZTckR0?=
 =?utf-8?B?L2xnRXN0bVExUmZHTHVLbHhxckttdHJEMGN2cDdONW5FTmRzRTFpVWM0Y3BX?=
 =?utf-8?B?RmtuQmZlaUx4S3IyVGx5cHZTb1VtME1yZGxkV3JzTzBiMVNLMFN6UllRNzdx?=
 =?utf-8?B?S1RQdmc5QnRnK0RUZ2Z6ODBjbW1TbWtaTzhyWit0N1c3eUx0cjUvZ2s3STY0?=
 =?utf-8?B?RmV2czE2WmNDV3pENjVFd3VZR0JzbkMxMmxWamhDeWVMZ3dRd3hjOXYxTjEy?=
 =?utf-8?B?WVU3MjVhSEhDdjN5N1lHMGdhSHBYbGFJTTMrMG5nRS9BOWJFRldaVm1BQTZU?=
 =?utf-8?B?WWlmRncyMENPMkZvS1RjdzFDOGE4RHVrZjU0Q2dZT04xT2ZzZlIzTjJwcjg5?=
 =?utf-8?B?WE9MUkhQb1pKdWxoKzdzSWxlbEtrcXljdmkvbjNsOHNjRzdCbFZHdU1OcHlR?=
 =?utf-8?B?UnV0U2ptRiszQVZNajFVaExMblh3K0F6bUNKYTJuQnhxZUlWYXdNMUQ3U1lR?=
 =?utf-8?B?TzBiY0l0Zno5dTNCanN5UDJnU3E0dU9DRVA0Z0lOU2o0L0lnUWswaXBWOWNW?=
 =?utf-8?B?UUQ3MS9UVDdQRXZHQnBLUSsrRk9HZWVTWldyQjhmeVZaMGdWS1lycVgrRURZ?=
 =?utf-8?B?ZjdBbHBqNzdWMHBFdUZYSnVPWGFpaDBxcWpLOXpEOW9WWUVkRFQxaTF1czVW?=
 =?utf-8?B?cnpaaEhuZllPNXVqOXhiaWFZVDRONXoyay9wZGFjN04vL3E2OTM1MGVBTW9F?=
 =?utf-8?B?eFNpUGx5UjVFZmJnVXR4WEZqT1Q5VERUUXBBeHZOY0ZuS2FNT3FQdmhLLzlj?=
 =?utf-8?B?VUpzcUViOUNVcURBaFlPckZvL1NJaW0vUUdya2EwQXFac3hJYlFBakRqV3hF?=
 =?utf-8?B?aDJVczhMWFR0bzhKQVBXeGNMZkVMS3NIU1dkcmUyYWJEUVFBUUx1VlZEeFdO?=
 =?utf-8?B?TXZ5TG1iWEFEcTZKUlRjdlhPejVhRlZQQWpGejIwbnFkSGtXOTd0V1lrM2lC?=
 =?utf-8?B?WGQ5WCtzNW1xZzBrRDlsTmFFMkxvU2x5aG5lRWNINXh3VFF6K0loNythSEJI?=
 =?utf-8?B?Qk9pTm1jY3E0K2U2bUJRbXdkYzlQL3BxWEl3TElIVXJJL0dZWmFLTmZmNjdE?=
 =?utf-8?B?a1R1ODU4ZkI4KzR6WjlGZVE5RlRLNUpwanBwWmZ1S1VjdnFPSnp4Mll2dzJJ?=
 =?utf-8?B?cmZRKzJHS2R2RGprOWZUTUFuMzhaRXgxaGRXV2U1MEVGWnp0c3VXM2JreXRI?=
 =?utf-8?B?TEtqaDhKZnJEaGpUdzBZRnkyZ1ZEaGwvL0t1cmJETHI1blJUaERSOGVMeTgy?=
 =?utf-8?B?MjVlVWNQQnAwaExJMjM3L2FmTVdCeUNjNWhpS1JYSzJycVhkYkZhOG5NZi85?=
 =?utf-8?B?aUZOeXZ4K3UzWURocWpCRnAwODBiQVd3MzE2OFl6THhMNWhqbHNkYnV1Z0Va?=
 =?utf-8?B?YmVBaWw4ZStrajY1V3VqS09hc1Z6SDltSW1JUFRrd2c0ODdpVFEvOHg4YlVU?=
 =?utf-8?B?em1pQ3ZkWWMxTVYyeFRuSnBHaytGWTVhdUlKWG11Um9OV1Uwc2xXblRyTGRq?=
 =?utf-8?B?WG93OTZQYnVlQzV4Q1ZheWE4Y09ISUdoSmVpcU5xdEFJaTZkN1I5YVBRemNP?=
 =?utf-8?B?NEY5U2pZVmNORDc5dEVwenBobXBWRStqTWo3am4vWFB6SkUydFdvT05lN0JM?=
 =?utf-8?B?VHR3OFc4MHZxc0pwS3ZJemJqanNTaGl2S3A0eFhoc1pXL3hkaDlSZ0ZyMDFr?=
 =?utf-8?B?ZVJNMnQxbFVOTmh1RVpDNytVM2VOQVpRTFBpcWdYbkFYQ3FXUk10Sm5Pa2Jl?=
 =?utf-8?B?eWQvdnNwSlc4U0ltOUlOQW40Ykg5YVZuRWFoT1h0aXlIS3Z6R2hnTGdldC8z?=
 =?utf-8?B?OVdQYlptSGFadHVvcC80K2hSK2dWSlowR0JFOHMza2NxY25qTHhLTktOKzdI?=
 =?utf-8?B?eG52YzJzQ1ZrSzNlT3R2N2UwZFdsc0V4Rkt3SElidUFlWGIzQVdxZTJhUzVH?=
 =?utf-8?B?SFRwUDRNek9sTDZ0WVg1QndUL1ljcUthMnEyRVdqZWorbTRsajcxNXJXZkVR?=
 =?utf-8?B?U1BabU9sYi9tdXZlQTU2Y1g3QjdCbldtUWRwT2pxbklNV1ZWWTNXYjlhemls?=
 =?utf-8?Q?n0SQ4XVhouCTVNzrAMb7tP5h+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cb259c67-adbe-4f74-c0ce-08da76288ecf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 14:49:39.5127
 (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: JRphM1pMX0iIWeZwe/a4NZf1YQI5H22GAwgFn7Tjedc/KqpSLR/EJmiCxjWIWDsrT+xb071nLRhKUWOIVn0lFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6361

On 04.08.2022 16:41, Marek Marczykowski-GÃ³recki wrote:
> On Thu, Aug 04, 2022 at 04:36:35PM +0200, Jan Beulich wrote:
>> On 04.08.2022 16:28, Marek Marczykowski-GÃ³recki wrote:
>>> On Thu, Aug 04, 2022 at 04:21:01PM +0200, Jan Beulich wrote:
>>>> L"Xen" looks sufficiently readable to me. We use this all over the
>>>> place in the EFI interfacing code.
>>>
>>> Ok, I can try that. But given later adjustments, IIUC it will make the
>>> whole 50+ pages structure land in .data. Is that okay?
>>
>> No. I was actually expecting the piece of data we're talking about here
>> to land in .rodata, and hence be re-usable at the same address for all
>> devices. Hence my reference to string literals.
> 
> "all devices" - this driver supports only a single xhci debug console at
> a time.

Oh, sorry - I've got confused by your multiple consoles patch here.

> Anyway, as explained earlier, it would require reserving the
> whole page for it (there are no other xhci-related structures that can
> live in .rodata), which given your earlier comments about memory usage
> is probably worse.

In your earlier reply you did say you'd see no issue with this sitting
side by side with other string literals. Which is precisely how I
would envision to avoid the need to reserve the entire page. But yes,
if that's not feasible, then the current model of keeping the stuff
in .bss is likely best. A remark in the description towards the purpose
here and the further intentions might help, not the least to avoid me
coming up with the same comment again for a future version of the
series.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:53:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:53:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380502.614678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcEF-00088o-WA; Thu, 04 Aug 2022 14:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380502.614678; Thu, 04 Aug 2022 14:53:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcEF-00088h-TI; Thu, 04 Aug 2022 14:53:39 +0000
Received: by outflank-mailman (input) for mailman id 380502;
 Thu, 04 Aug 2022 14:53:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJcEE-00088b-Ce
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:53:38 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2079.outbound.protection.outlook.com [40.107.20.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38613149-1405-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 16:53:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6361.eurprd04.prod.outlook.com (2603:10a6:10:107::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 14:53:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 14:53:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38613149-1405-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JomFwIJx+Te7bx6Ir90S6taIW9rfpV0ynVAzE/B+iM+tjTaBI584BgfKY+O/QmUaesJuXkdmcobFQqptpjpJYMXWWPpygW5BEfoFpZlJ5h779a2tnFLITsTDKeRbQ/Ei8dCVkOEbDVUzM3HEvQuk/3MMxapr4AXB9vF/D/QysC52mMjX1bmI7fwyoq26JtD5RKHK2XQHS/bUHEHP56vMxCZqGdhoz1cL8hgM7i4gA6yZFAb7pkyvfJBXPJd//kGwuknF/soO1S9Zu0avyfClouFl0ep5f6Bt/G0cAbcUziR4RdVjTItQZhlIHkNaK6rLNVt/8Xc4vamqps0+HAp5Mw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b5/5ebLjSqLJ2ns5/I4C2Bpb9+t6UidRDhwRglsmZBI=;
 b=fz9rst3v34A8DvjAvKu5Mx4YBVWCwgzr1gI68/RxGP1RuDK7lJZ/EReGSX7WpRjevQsq44AYegmFHG8WH+hnS+Zvmc2h/9Z8wY+MzcOtNOTOujOYXL3VYbcd0C71qBqrFfF565qoBJTNG2BZu0WQskXWlAJ9PzCYcQQz9mixg0jZGNHGeJwSAWmO0ODTDMTyFDP/UGqZUuMvUkARwSGobMCjiFb8Ae5SMuJCtGSI30mLzDIibvn6xobEB0LQGb1xb7vFgBggQsiAiPoBwNWlRLK8qD5FLoGADHpyQNOqFZoYcQrWfXRnBOJKR1pNmD/ksOc+a+XF2ZsBNWfe/7OtDw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b5/5ebLjSqLJ2ns5/I4C2Bpb9+t6UidRDhwRglsmZBI=;
 b=i0uyjrX/USqbwneTMiwlR6sVuPeN6pZ2fz8nESUSDiPMjQtUBNmDw0z2YPz5tHH0QMpT0to2a1WKhiPZCnq9BGmtkj7McxYK/mhAC8y5OlhE5jQ+PPoikh/C82WpPB1EXjjLXafixDgXOWbpF45wC9YxSOquB0Nkrnql6k5bGOhM7oUKrJugz6qUn9gEZ54oVZp/3C805kLT/Xz4R2ptMMgI8MJNmCOGUilQffn/2dXVggw2n+fTSzn070263pUwhrxHq1WPnbS4T3JK/PH0d+7dEqBLBUKNXn4ZkxWMMCHuY41rWTqLZHIzYXrXCP+pF0WRxutY8yk3v6XWu3WO/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ed7f652-bedf-c1b7-6e66-5ddac4fb224e@suse.com>
Date: Thu, 4 Aug 2022 16:53:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 07/10] IOMMU/AMD: wire common device reserved memory
 API
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <68b7a172fcdad2495fb928e47f33ebe5bafcf953.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <68b7a172fcdad2495fb928e47f33ebe5bafcf953.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0112.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b483cc23-1db8-4aa8-eb5e-08da76291bba
X-MS-TrafficTypeDiagnostic: DB8PR04MB6361:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u0fiLxH97pMlkLHp4kZ+Bok02uANk/U6BiT6QqBVAa7rRnFwro6chxb8zNq/L2CQJWb3l+0EBi3LAJ8Je13JJMGiY3LvpKa+QJ16tjIjaEFAoKbUG5MmhU4//Ff2zfGwt6Qg/J9l8gsm2cmCPlK4YzsVwbSHmnYt+/mophhmv9pYWtGG3R2lZlADYeYL6RwoPtom3L01uDsoTq8H/DNKsucY5YctJsemSO0j6NFArRybxBoq+fShAWq6ykrq6BVQgqqHbK2rQ+v3DnH8+s1c6rGYGK5WhFcN1tDELbAb9OGcHD9HCh/8PHBz+URijfeuChZfAWCm/5XwRxrd1MML9swTwnv6/eMZyHXHQOO+p1Pr1Kqg1hhgQCM0txUF1U4T+nyhasEioH+0oEAOaDlrq90rx0Pk1ixWSnohaXolPbd2gkP5Bu67qwCujNTzlB6b64byFkTjvZJ5qtMZPRAWt0qBzjczSINz/DnOmHORdcqzJx028QbxiGVhkgsRpPSNnm5VSqcbQ8Gxn+CCnevgRCyj1HfKRUxxTOSgttKvdnwfIXveL5h04qE3BqIrBDYGmWlHViZ7fUL+auJuf+UHL7lCWjOkHhAzrwJPXURCm+ZWRf601ELP1FtCorf8juwoB5m81mwU1KumveHjCWql/PmB+luoqwUEz6pbO77vdHKh+RFjRtWQbmUavKbPavXuYxzAFglFMoW19W0SFhhRQ52y7wBGaq5o2Y3jiWKJp/yoYTEFh8W6ms3WyEkLMO/B62SkceYCkI49TE31Ft4SVQ1VKgzQ+w8NlkBgU85LtsLjh50o6lQ46mPKEL8RMHFBzK6O16Y/zXJiAoXBEfZxvw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(396003)(366004)(346002)(376002)(6506007)(66946007)(66556008)(66476007)(8676002)(478600001)(6486002)(31696002)(31686004)(4326008)(36756003)(558084003)(86362001)(2616005)(186003)(2906002)(5660300002)(38100700002)(8936002)(6916009)(6512007)(6666004)(26005)(316002)(41300700001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0tjL1pPa1k2S1JZeUNxQUJNZXNDVURkdVZSQmVDVUFER2hadWE2djlyQk5Z?=
 =?utf-8?B?OW9NWXAyZ2dEc1FKMzZlQlRnVk5zMmR5K09tSUlzQjRNK3BwQ2kvNFJmZE9C?=
 =?utf-8?B?OG5LT3ZlYzYwSUhiWml0RFQ0enBreFBhUDlSOHZBY1I3b29heCtISXV5U01F?=
 =?utf-8?B?YjhxbmZ6dnlKQ202UklzTmhKaWgwd2tVR2VCQTh3SlZVdGRBT0pHYm9GR1J0?=
 =?utf-8?B?Nk85L3FhbFp6bHphN253ZGpoSU5aaFg1RC9XdGgrcFI1UU9rUmRQMkFqYzNj?=
 =?utf-8?B?M0Iyd2JxdExPN21QbVo0MGxsVXp3Njd0ZDVCVEcvVkl3NHBNdnlXTER2Rkla?=
 =?utf-8?B?dmN5ZmkwRERlUkh6bk9WN0xYTGcwL292NEhidnNSdGx5UmtwTFJGbG8xdE1E?=
 =?utf-8?B?cjg2dzl0bnZaY1k3VDhHWWJWZy9kMnYvNDlSMWJDWTNuVktnYjZVMnkzTlJU?=
 =?utf-8?B?VUxOMHRSUzRzYllVNy9DU2lUWmJoTjgrN21HQS90VVl3Y0dxOHZ1eHQ0SG9x?=
 =?utf-8?B?MWRKZW5xQkNYUUZpcnYvZGdVVGJzWlM5ZWxnVGFFb29DQ3ZTRElHTlowaE1z?=
 =?utf-8?B?aXFMaE4wWjdGd2ZTSStHQ2xUQ3NFOE5NM2IrU2xkZ0ozVWJqSlRnbkc2TklU?=
 =?utf-8?B?RzZ1NHVqdW55K29uRFhtM2V3enBsNzdNK2Q1U1Y0WDg1VWZSOEJnc0w5UkI5?=
 =?utf-8?B?TUc0ZzRtWDRoODhMRGt1ZUUvbHpJbTIrcGE1RGF5dVBGYU8zWDZwRVhQNWJ3?=
 =?utf-8?B?dmZMcmx0WWFKY0R1Q29KTXd6bVp0MlQwR0pjMUVzN1FEajF0elRzZTJEbkRx?=
 =?utf-8?B?Skprb2p1eHB4UGlwakJ2TUlmQTVkZW9OYUdJK0FqNzZ6NVZPMVpVWUtTMWlM?=
 =?utf-8?B?TDJlRjQyRlI2aStOK0ZnMDFBbGdCS2ZadHg5ckpPbm9xMDdVRXZ5ZzNFdElt?=
 =?utf-8?B?RzFhZjdMaWNoWG4vMVhKWWNVTm9VVnplaFBBN05DckJoT1IyTW84QS91ME1R?=
 =?utf-8?B?YkFIM1Y2WlFNb2xlTGFzSGZMUFd2Vm1peWxzbUdRb1JoWWJabW1XYzZCVmlZ?=
 =?utf-8?B?TjdyWlVCZ3E0RUtQdGNNbjZFREFFOXM0NUd6T2dVYUNsdVlubjRuSTZkMnVT?=
 =?utf-8?B?OXlsaUNuNzNPVWFKWXV2QzJOYnZ1S0VRcTFPSG9XVlQ2S2ZJSVgzT0pnT0hW?=
 =?utf-8?B?WmIvbmxuQ1pRU3BRUzIvKzNWeWgwSHJ2Wm9xa0d1RmI2dUlHZGJkdyszR1dP?=
 =?utf-8?B?QUt4bmtTLy9qMFUzZWJuTzE4Q283L1lhL2w3Mk9aZHpad2U1S1RLV0Z6aFpo?=
 =?utf-8?B?YXVOM2VtSG9xQXN2NC9iWWN0RXhJTjB4YmNZbk1IaERQSjZ4bFBFOTMwbEhi?=
 =?utf-8?B?TWRDVHNXQzQydjhMRFFyNmlVV1ZHa1pnWHJHWnNESmJhU1dhWDV6QTJxRk15?=
 =?utf-8?B?NjFGY2FlTE5lYTlNTEFMaFl6OHpCRHVLOGlGbHFrdkZab0prYXZ1QmFYM3JL?=
 =?utf-8?B?WFZoUWl0OVVyL0J0cnZWMHh0dkxVUjJETkJqbXJEMk5ZNGJ2bklxdE9aaDNK?=
 =?utf-8?B?eDJRS3NkNmRaOGtobjJxSXFTa3A1VFY3S0YvSmhZTmh3azBOU2FkYlF5MXha?=
 =?utf-8?B?a05xTWc3L0VKYVhCbGpNK3ZUVThMWHhIdTVJREthMm5ZTEFQdHkzTFhubjd5?=
 =?utf-8?B?bGpXVkM3bk5jUjRRZEh5TENSS1ZJWUUzRFhmQjdTQ2VlQ2RTbnZ4ZGt3VDh0?=
 =?utf-8?B?T2x2ZlNZdDRqbDlwNUdmSjA5aUJmR1M1NVNMWW4wRlhoV3lMUGUxaG1icDYr?=
 =?utf-8?B?bTJUdHN5VllIVXdxVk50N3NoMSs2a1gwSXcyeHlUWnFYYUw5SDc5YTR6RUZU?=
 =?utf-8?B?Q2lEL2VSVTVwaXdWWWNUN2U0ZGgyUm1GRlBhZ0hhYjVTWjJhVisySkpPMUJ6?=
 =?utf-8?B?U2RydDkvaXo4d3M5dXdNQjFiS1ladkFpMEk5cVJvMkt0K0pEVi9RMys0RVF0?=
 =?utf-8?B?UXlSMC9lMjErSzlwNFI1TENYUDFpaWxHSk5iS2w5VWNPZG1CTXd6UjdoVGFH?=
 =?utf-8?B?Mk90ZVlIeWl2ajdRc3JJOW5WZUZ6d1U4VDlCS09zdGdQTTNGQlNBN2xkUjlJ?=
 =?utf-8?Q?2NYO3uP1V2rlSuzpa1fUGWudz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b483cc23-1db8-4aa8-eb5e-08da76291bba
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 14:53:36.0130
 (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: f9R3Z+A3yKINgQ2xAAyVg0zqjV3kqJyJhLqqthj00KiSJufgix0J31dboARZwNKJpzeZ99UiNJPv6IjqQ9muwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6361

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> Register common device reserved memory similar to how ivmd= parameter is
> handled.
> 
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 14:55:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 14:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380508.614690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcGO-0000Jk-Cy; Thu, 04 Aug 2022 14:55:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380508.614690; Thu, 04 Aug 2022 14:55:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcGO-0000Jd-8c; Thu, 04 Aug 2022 14:55:52 +0000
Received: by outflank-mailman (input) for mailman id 380508;
 Thu, 04 Aug 2022 14:55:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=FmRb=YI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oJcGM-0000JV-Bz
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 14:55:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 871f43e8-1405-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 16:55:49 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id BCDFC5BD9F;
 Thu,  4 Aug 2022 14:55:40 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A27FA13A94;
 Thu,  4 Aug 2022 14:55:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MlTlJezd62LwAgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 04 Aug 2022 14:55:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 871f43e8-1405-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659624940; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=S2dNqwsA7F/BHdfwP0Yh9TKw3nEh4fRMiiLN8W40rWI=;
	b=U7qhno5gSHLOHq4IDJV7TUZ/bo0ql1/JNb18Jx6nHthgdpaep4Daao5gzxyfqU/yXswjB1
	tLEwtX5S8Lw0BHMcTA1ks/sOAQbwEj9lMVoDh4psGZ1wO7EyUavcciaMi42DPfGp9YtHle
	lZs4ZG6+d68HSq63id99V2tmdJvcnps=
Message-ID: <dcf0599f-d386-4a60-8cd7-7e614de4cf51@suse.com>
Date: Thu, 4 Aug 2022 16:55:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3] xen/hypfs: check the return value of snprintf to avoid
 leaking stack accidently
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org
References: <20220804133058.1832142-1-burzalodowa@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220804133058.1832142-1-burzalodowa@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------CtTRfktUi4zZJFcErbC8HhbV"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------CtTRfktUi4zZJFcErbC8HhbV
Content-Type: multipart/mixed; boundary="------------60qWZi9OA26zGcqPWOtGl5SC";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org
Message-ID: <dcf0599f-d386-4a60-8cd7-7e614de4cf51@suse.com>
Subject: Re: [PATCH v3] xen/hypfs: check the return value of snprintf to avoid
 leaking stack accidently
References: <20220804133058.1832142-1-burzalodowa@gmail.com>
In-Reply-To: <20220804133058.1832142-1-burzalodowa@gmail.com>

--------------60qWZi9OA26zGcqPWOtGl5SC
Content-Type: multipart/mixed; boundary="------------tLKja56Q7jYEO0ldhMUB12O7"

--------------tLKja56Q7jYEO0ldhMUB12O7
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDQuMDguMjIgMTU6MzAsIFhlbmlhIFJhZ2lhZGFrb3Ugd3JvdGU6DQo+IFRoZSBmdW5j
dGlvbiBzbnByaW50ZigpIHJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQg
d291bGQgaGF2ZSBiZWVuDQo+IHdyaXR0ZW4gaW4gdGhlIGJ1ZmZlciBpZiB0aGUgYnVmZmVy
IHNpemUgaGFkIGJlZW4gc3VmZmljaWVudGx5IGxhcmdlLA0KPiBub3QgY291bnRpbmcgdGhl
IHRlcm1pbmF0aW5nIG51bGwgY2hhcmFjdGVyLg0KPiBIZW5jZSwgdGhlIHZhbHVlIHJldHVy
bmVkIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIHNtYWxsZXIgdGhhbiB0aGUgYnVmZmVyIHNp
emUuDQo+IENoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2Ygc25wcmludGYgdG8gcHJldmVudCBs
ZWFraW5nIHN0YWNrIGNvbnRlbnRzIHRvIHRoZQ0KPiBndWVzdCBieSBhY2NpZGVudC4NCj4g
DQo+IEFsc28sIGZvciBkZWJ1ZyBidWlsZHMsIGFkZCBhbiBhc3NlcnRpb24gdG8gZW5zdXJl
IHRoYXQgdGhlIGFzc3VtcHRpb24gbWFkZSBvbg0KPiB0aGUgc2l6ZSBvZiB0aGUgZGVzdGlu
YXRpb24gYnVmZmVyIHN0aWxsIGhvbGRzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogWGVuaWEg
UmFnaWFkYWtvdSA8YnVyemFsb2Rvd2FAZ21haWwuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVl
cmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg==
--------------tLKja56Q7jYEO0ldhMUB12O7
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------tLKja56Q7jYEO0ldhMUB12O7--

--------------60qWZi9OA26zGcqPWOtGl5SC--

--------------CtTRfktUi4zZJFcErbC8HhbV
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLr3ewFAwAAAAAACgkQsN6d1ii/Ey9X
BQf/b654Au8LTRB7GBtbXgcPAYr841pgJwG3S9uHGhRaT1zalXDkME9J25TG/5GIeiBNhpnn7Fqs
4qFG6At1xx6ukxQGf5s43lTagAW1CPW3p36D3Jozu9TNGmcRiHdchEt6nXCfCoqfE7WQz5bzIrIx
JMOQ9NPLya+REiNdOIbqljWu5VpMGcUghsGj//Sz9phfaWg0CRobORgS1RqxQyfMyu47q1N1uzEj
RGJB9pH/LZdw9EnmFYm+U0p9C/rWTjRokv4yNIwLiFhADZdUFGXu873tyF+oXmmiSEYqsXzTQO9R
uFpD2PBN1yGnW3GCjlXYvhuu6Y9YFS3LMZDP3jZPSg==
=TsK6
-----END PGP SIGNATURE-----

--------------CtTRfktUi4zZJFcErbC8HhbV--


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 15:05:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 15:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380519.614723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPO-0002Km-1P; Thu, 04 Aug 2022 15:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380519.614723; Thu, 04 Aug 2022 15:05:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPN-0002Ka-TQ; Thu, 04 Aug 2022 15:05:09 +0000
Received: by outflank-mailman (input) for mailman id 380519;
 Thu, 04 Aug 2022 15:05:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QMPZ=YI=citrix.com=prvs=2084bc4d8=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1oJcPM-0001pR-Ds
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 15:05:08 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2ed1192-1406-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 17:05:06 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2ed1192-1406-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659625506;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=rbJPwE6pO1Pfkj8tz43SWX+jW02vPu3YzO8jU4aC0vk=;
  b=EHYW9NA7DEHiuZ3i9Ccz+vU87QPCyndLt+hkkXGPYPr19+hr/paAZ/d4
   VtklaLbvSxHGtL0JssYjztWetGNiufqIaE74xNSY0/BtJyAJfjj943c+e
   n4jFF6SL8pJz7hRtMmaMlh3F7W2kTTR7qYblKRbfpXVm9GKYx9wtIj+MQ
   I=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77380021
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AF3uhQ6JiYW6qZF04FE//H55y250vRxNeGxJCi?=
 =?us-ascii?q?3AjJ82iE/EPTyDwt742D5P94fufO2Mly1YiPPZe5+jT09A7gBsgnHK1UfR4o?=
 =?us-ascii?q?TNGZHdDtA9arrtjBpDu2jUjUTckrYCczJuZyqIPmd8mQVzrEbEyFDn2krfYO?=
 =?us-ascii?q?PA0ArqimpAOqFj9+MsE6/VHefdJZF7HtuKO7xWrLPOsBwuuj32maZXGTKYi2?=
 =?us-ascii?q?LP/UgOkvayD2xE++K672sJ7H33HjbEjXNu/r1oRqm5wcBaRxG2Um2FVNt9Tk?=
 =?us-ascii?q?Ijm+YekHUxEHdcHvG7U9FxsHzNpwSAElCeU8pl0u5abKD5KGd8feXBLCEpHU?=
 =?us-ascii?q?oJVgtz8hNX0bzSf+IBpgqnNH3+GTgRzeRNkyVxYibP/4auGtZlBMXU/Hnmoe?=
 =?us-ascii?q?GPj/NKC7s+joT9qMh86VENs3UcyYjtsO4HyYcGlSZmQn+eXyehglK874Nwx1?=
 =?us-ascii?q?8YVj+OOuhex7GMx47KKlrm/M7bJoi6o9Z+9lyYwteYDIsrE7axinwlKZ5Fwz?=
 =?us-ascii?q?emQ9UYwjEI9e22qSgmgV9wZmnOFE5FsMsq3i4+Kmab76XgF5+F+l9FQ8V4Yn?=
 =?us-ascii?q?Pk7WHSKc33PjvakskUDB8C+H/SEHVUj50kMBy1q3x8OdFF7337nJd0HJ+kcB?=
 =?us-ascii?q?HptNPr4qgZAuD20LDShdSuqUZ4jkiZFLODb3zhoYogiVUPptKYWtxKWfDJlv?=
 =?us-ascii?q?FvpoeqWf8qyB4Mei6YFXUIeLEhgS/kft7Lbabjl4xjTUrAy31wVjhgnkQum+?=
 =?us-ascii?q?AfvE5/KoBYc+fVAqtCllWXCzrP1QJxM2xoZaAHTw7TDhtPCXCh0t0p+znYnJ?=
 =?us-ascii?q?fDDojcX0xD1nipWCzN3HvLpY0K/X+NpoFhfQW/pPYdB2dN2obKQSJOBDCgIY?=
 =?us-ascii?q?wsKEicTg4vdS6s+ynlVbgmNpamYb/yXMdng6Ra51DaQqwX3pjYD0k1jXoh4/?=
 =?us-ascii?q?PIP0EilUJkSbYaQezFCvHvIpR6qu4N/i2dxht1pALBcDKvfMjt5DEuE8J06O?=
 =?us-ascii?q?Ij90jU5d5i4ICnJSgOAM3/jBJEcVEW3aIk9DAK8ahlLnQwyww/oDzdgYSmUc?=
 =?us-ascii?q?ZbMIxQElayeZhZpnyrPl5Ezz7jabquZ9XdapBp6U3VL3WVWgAR9f7+ONNx8z?=
 =?us-ascii?q?nKH8TTGh/qa92MZ6O8GcYGb43y87ikphBYmSaPKX6y9nq2NaKguRGMxsxn6E?=
 =?us-ascii?q?EmE6wQP05oq57jcoNKjOiTLBpWZX5WcHMHtVu1P+nBayyD/Al2OJA+5ye7X2?=
 =?us-ascii?q?RcDYqA0kVerWudfqVnEpzyP+Xf4JYgBhlA4wF0qXn0Ua8CoKw0oPsuQqZw5T?=
 =?us-ascii?q?3mwPGhFAIl0xwKN4qvPMm2S/ORRB/5632zvJPCBoGT77ykNWbNYVdcYxgNlz?=
 =?us-ascii?q?055eX9CaqlUBMgZogtY3diwCfm1W68Jx61Nkqdybfl3gxssjvwYSKW4XmZcX?=
 =?us-ascii?q?1vz8tjHIaavga2gorbVr6eTiHYcmKaGIJB10BaFjwbLswNdG8FGj/TjJgTu+?=
 =?us-ascii?q?nel8ZDpfJqHg7crqcGDEcgyDq4Vb+5hDGURmN2HSPBoFDvi8a4GxqMrsUcKm?=
 =?us-ascii?q?7MrT7dE08VWacqmHwc3OE3WV5WSW4C3eNnmjLAY30S6ld9FfOWsoAr70owET?=
 =?us-ascii?q?RivYhqxrSR/Ry/16FEb6T/oXTagyXezsprU6ePO58XDD6ltMIPOLVhUwY14m?=
 =?us-ascii?q?/16RZ4zE57RT8DY9Ji49t9ugEZlI+RtUAYE4PKgwDPAvJuU9ZellO0wKDvuw?=
 =?us-ascii?q?jSQai31OXzmTESyvPEG+8qBdUNQY2wnab6u59LVzc+Mgzkk7MkaA94F5FYKy?=
 =?us-ascii?q?ncEx/K+09JqW/al6Ex7DTvyXiXWHiOR+reWZ/SWlwOe8NIO+R+YluHHD1Wqv?=
 =?us-ascii?q?6UsJiwhRdADluCO1eBk4m72FiNT5pOZ6v7dRajPYjp3xIMfZlT1lwkjG3S7l?=
 =?us-ascii?q?Pp57s4hyvvZlcY7dyj5wiysx1Q6nlPBnzyoQS4nRH+6GrhAMKhvts/CyuqYo?=
 =?us-ascii?q?ZxFPPMOY/3Aqfy4B47SqGywlfn3L3bHURaD9WKmM5rlAXVRn28hXrQXB71JW?=
 =?us-ascii?q?8j086zdqhuXtW8iDfbxJ0qljqYOLDjIbMEnIf5HWxvX472bd8+Oo5D9YIVSU?=
 =?us-ascii?q?l3XZGkMVVXs2izbPYAIpgYz833V1k4KsJJcIDBNajsjx7V57fNhTntl9O1SW?=
 =?us-ascii?q?odk88ffMKNwLRCZPMsP2LPPLoUEoF8D1u7B/UQCyLZkW35TCayl0Z/ujDF/n?=
 =?us-ascii?q?KuC2Z9CotUMCi+cYuzdZz6gnZzMLnu7iPYdHzn34PglQ3h0v7cKe7jpLhNVb?=
 =?us-ascii?q?/Fn/a7vUEZ+7lHJ5YaOHmgEgH/UWLqe4rxarvr+n59OYehsGcZ5hnZWx8DYt?=
 =?us-ascii?q?erWjWi4UT9pm07qoF2r0cfQOqb9AMc45NVzwirKYD4i2Bf9qgQJ8VA3xnIJq?=
 =?us-ascii?q?BVxB5gz3+dDVpkMTmKrtRpomS2SDv3yjmF1MTyCJCut+oxAmKILLP3R6zCi3?=
 =?us-ascii?q?grp3jRRiNB59qjO6WUTd3xuUI0ItIfIqJcDZnLKouq882miSk4UQ7Zu27nV2?=
 =?us-ascii?q?+Jh8GNsdyGU04zPsn5g0AWogGOQYiKrPuj6lZpuF2d6tFsq1RqslGoCLAAHW?=
 =?us-ascii?q?xi7yQ7TmOO3HiS6yRO8KRT600dz96c5ank8tH78I4enToqjv5mvTOs6Er/z/?=
 =?us-ascii?q?V0T2N4s/SWxbkDxg3QK5CkGVu6719we2H7HDYYMP8CQZmLDdUhj/tg+ptiM2?=
 =?us-ascii?q?98n5tCsNI6+C86arY6nQob98NohhNZKYyabEjW4/lE=3D?=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77380021"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [RFC PATCH 4/4] x86: Use linkage.h helpers to add tags to symbols
Date: Thu, 4 Aug 2022 16:04:24 +0100
Message-ID: <20220804150424.17584-5-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220804150424.17584-1-jane.malalane@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Clean up x86_64/kexec_reloc.S and x86_64/entry.S.

This fixes the livepatching contents of entry.S.

RFC: I'm unsure on where the page_fault symbol should end, i.e. if
unlike current code handle_exception_saved should be within page_fault
like handle_exception is or not.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau MonnÃ©" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/x86_64/entry.S       | 105 +++++++++++++++++++++++++-------------
 xen/arch/x86/x86_64/kexec_reloc.S |  43 ++++++----------
 2 files changed, 86 insertions(+), 62 deletions(-)

diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 4ad25d9c90..7dc280aafa 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -11,6 +11,7 @@
 #include <asm/processor.h>
 #include <public/xen.h>
 #include <irq_vectors.h>
+#include <xen/linkage.h>
 
 /* %rsp: struct cpu_user_regs */
 .macro ASSERT_CONTEXT_IS_XEN
@@ -152,7 +153,7 @@ process_trap:
         .section .text.entry, "ax", @progbits
 
 /* %rbx: struct vcpu, interrupts disabled */
-restore_all_guest:
+SYM_CODE_START_LOCAL(restore_all_guest)
         ASSERT_INTERRUPTS_DISABLED
 
         /* Stash guest SPEC_CTRL value while we can read struct vcpu. */
@@ -239,6 +240,7 @@ iret_exit_to_guest:
         addq  $8,%rsp
 .Lft0:  iretq
         _ASM_PRE_EXTABLE(.Lft0, handle_exception)
+SYM_CODE_END(restore_all_guest)
 
 /*
  * When entering SYSCALL from kernel mode:
@@ -255,7 +257,7 @@ iret_exit_to_guest:
  *  - Guest %rsp stored in %rax
  *  - Xen stack loaded, pointing at the %ss slot
  */
-ENTRY(lstar_enter)
+SYM_CODE_START(lstar_enter)
 #ifdef CONFIG_XEN_SHSTK
         ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
 #endif
@@ -290,9 +292,10 @@ ENTRY(lstar_enter)
         mov   %rsp, %rdi
         call  pv_hypercall
         jmp   test_all_events
+SYM_CODE_END(lstar_enter)
 
 /* See lstar_enter for entry register state. */
-ENTRY(cstar_enter)
+SYM_CODE_START(cstar_enter)
 #ifdef CONFIG_XEN_SHSTK
         ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
 #endif
@@ -329,8 +332,9 @@ ENTRY(cstar_enter)
         jne   compat_syscall
 #endif
         jmp   switch_to_kernel
+SYM_CODE_END(cstar_enter)
 
-ENTRY(sysenter_entry)
+SYM_CODE_START(sysenter_entry)
         ENDBR64
 #ifdef CONFIG_XEN_SHSTK
         ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
@@ -339,7 +343,7 @@ ENTRY(sysenter_entry)
         pushq $FLAT_USER_SS
         pushq $0
         pushfq
-GLOBAL(sysenter_eflags_saved)
+SYM_INNER_LABEL_GLOBAL(sysenter_eflags_saved)
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         pushq $3 /* ring 3 null cs */
         pushq $0 /* null rip */
@@ -393,8 +397,9 @@ UNLIKELY_END(sysenter_gpf)
         jne   compat_sysenter
 #endif
         jmp   .Lbounce_exception
+SYM_CODE_END(sysenter_entry)
 
-ENTRY(int80_direct_trap)
+SYM_CODE_START(int80_direct_trap)
         ENDBR64
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         pushq $0
@@ -465,8 +470,9 @@ UNLIKELY_END(msi_check)
 
         call  create_bounce_frame
         jmp   test_all_events
+SYM_CODE_END(int80_direct_trap)
 
-int80_slow_path:
+SYM_CODE_START_LOCAL(int80_slow_path)
         /* 
          * Setup entry vector and error code as if this was a GPF caused by an
          * IDT entry with DPL==0.
@@ -482,6 +488,7 @@ int80_slow_path:
          */
         GET_STACK_END(14)
         jmp   handle_exception_saved
+SYM_CODE_END(int80_slow_path)
 
         /* create_bounce_frame & helpers don't need to be in .text.entry */
         .text
@@ -657,9 +664,8 @@ ret_from_intr:
 
         .section .text.entry, "ax", @progbits
 
-        ALIGN
 /* No special register assumptions. */
-restore_all_xen:
+SYM_CODE_START_LOCAL(restore_all_xen)
         /*
          * Check whether we need to switch to the per-CPU page tables, in
          * case we return to late PV exit code (from an NMI or #MC).
@@ -676,8 +682,9 @@ UNLIKELY_END(exit_cr3)
 
         RESTORE_ALL adj=8
         iretq
+SYM_CODE_END(restore_all_xen)
 
-ENTRY(common_interrupt)
+SYM_CODE_START(common_interrupt)
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         SAVE_ALL
 
@@ -706,12 +713,14 @@ ENTRY(common_interrupt)
         mov   %r15, STACK_CPUINFO_FIELD(xen_cr3)(%r14)
         mov   %bl, STACK_CPUINFO_FIELD(use_pv_cr3)(%r14)
         jmp ret_from_intr
+SYM_CODE_END(common_interrupt)
 
-ENTRY(page_fault)
+SYM_CODE_START(page_fault)
         ENDBR64
         movl  $TRAP_page_fault,4(%rsp)
+
 /* No special register assumptions. */
-GLOBAL(handle_exception)
+SYM_INNER_LABEL_GLOBAL(handle_exception)
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         SAVE_ALL
 
@@ -734,7 +743,7 @@ GLOBAL(handle_exception)
         cmovnz %r12d, %r13d
 .Lxcpt_cr3_okay:
 
-handle_exception_saved:
+SYM_INNER_LABEL_LOCAL(handle_exception_saved)
         GET_CURRENT(bx)
         testb $X86_EFLAGS_IF>>8,UREGS_eflags+1(%rsp)
         jz    exception_with_ints_disabled
@@ -842,9 +851,10 @@ handle_exception_saved:
         ASSERT_CONTEXT_IS_XEN
         jmp   restore_all_xen
 #endif
+SYM_CODE_END(page_fault)
 
 /* No special register assumptions. */
-exception_with_ints_disabled:
+SYM_CODE_START_LOCAL(exception_with_ints_disabled)
         testb $3,UREGS_cs(%rsp)         # interrupts disabled outside Xen?
         jnz   FATAL_exception_with_ints_disabled
         movq  %rsp,%rdi
@@ -874,99 +884,116 @@ exception_with_ints_disabled:
         mov   %r15, STACK_CPUINFO_FIELD(xen_cr3)(%r14)
         mov   %r13b, STACK_CPUINFO_FIELD(use_pv_cr3)(%r14)
         jmp   restore_all_xen           # return to fixup code
+SYM_CODE_END(exception_with_ints_disabled)
 
 /* No special register assumptions. */
-FATAL_exception_with_ints_disabled:
+SYM_CODE_START_LOCAL(FATAL_exception_with_ints_disabled)
         xorl  %esi,%esi
         movq  %rsp,%rdi
         call  fatal_trap
         BUG   /* fatal_trap() shouldn't return. */
+SYM_CODE_END(FATAL_exception_with_ints_disabled)
 
-ENTRY(divide_error)
+SYM_CODE_START(divide_error)
         ENDBR64
         pushq $0
         movl  $TRAP_divide_error,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(divide_error)
 
-ENTRY(coprocessor_error)
+SYM_CODE_START(coprocessor_error)
         ENDBR64
         pushq $0
         movl  $TRAP_copro_error,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(coprocessor_error)
 
-ENTRY(simd_coprocessor_error)
+SYM_CODE_START(simd_coprocessor_error)
         ENDBR64
         pushq $0
         movl  $TRAP_simd_error,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(simd_coprocessor_error)
 
-ENTRY(device_not_available)
+SYM_CODE_START(device_not_available)
         ENDBR64
         pushq $0
         movl  $TRAP_no_device,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(device_not_available)
 
-ENTRY(debug)
+SYM_CODE_START(debug)
         ENDBR64
         pushq $0
         movl  $TRAP_debug,4(%rsp)
         jmp   handle_ist_exception
+SYM_CODE_END(debug)
 
-ENTRY(int3)
+SYM_CODE_START(int3)
         ENDBR64
         pushq $0
         movl  $TRAP_int3,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(int3)
 
-ENTRY(overflow)
+SYM_CODE_START(overflow)
         ENDBR64
         pushq $0
         movl  $TRAP_overflow,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(overflow)
 
-ENTRY(bounds)
+SYM_CODE_START(bounds)
         ENDBR64
         pushq $0
         movl  $TRAP_bounds,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(bounds)
 
-ENTRY(invalid_op)
+SYM_CODE_START(invalid_op)
         ENDBR64
         pushq $0
         movl  $TRAP_invalid_op,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(invalid_op)
 
-ENTRY(invalid_TSS)
+SYM_CODE_START(invalid_TSS)
         ENDBR64
         movl  $TRAP_invalid_tss,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(invalid_TSS)
 
-ENTRY(segment_not_present)
+SYM_CODE_START(segment_not_present)
         ENDBR64
         movl  $TRAP_no_segment,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(segment_not_present)
 
-ENTRY(stack_segment)
+SYM_CODE_START(stack_segment)
         ENDBR64
         movl  $TRAP_stack_error,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(stack_segment)
 
-ENTRY(general_protection)
+SYM_CODE_START(general_protection)
         ENDBR64
         movl  $TRAP_gp_fault,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(general_protection)
 
-ENTRY(alignment_check)
+SYM_CODE_START(alignment_check)
         ENDBR64
         movl  $TRAP_alignment_check,4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(alignment_check)
 
-ENTRY(entry_CP)
+SYM_CODE_START(entry_CP)
         ENDBR64
         movl  $X86_EXC_CP, 4(%rsp)
         jmp   handle_exception
+SYM_CODE_END(entry_CP)
 
-ENTRY(double_fault)
+SYM_CODE_START(double_fault)
         ENDBR64
         movl  $TRAP_double_fault,4(%rsp)
         /* Set AC to reduce chance of further SMAP faults */
@@ -990,12 +1017,13 @@ ENTRY(double_fault)
         movq  %rsp,%rdi
         call  do_double_fault
         BUG   /* do_double_fault() shouldn't return. */
+SYM_CODE_END(double_fault)
 
-ENTRY(nmi)
+SYM_CODE_START(nmi)
         ENDBR64
         pushq $0
         movl  $TRAP_nmi,4(%rsp)
-handle_ist_exception:
+SYM_INNER_LABEL_LOCAL(handle_ist_exception)
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         SAVE_ALL
 
@@ -1119,17 +1147,20 @@ handle_ist_exception:
         ASSERT_CONTEXT_IS_XEN
         jmp   restore_all_xen
 #endif
+SYM_CODE_END(nmi)
 
-ENTRY(machine_check)
+SYM_CODE_START(machine_check)
         ENDBR64
         pushq $0
         movl  $TRAP_machine_check,4(%rsp)
         jmp   handle_ist_exception
+SYM_CODE_END(machine_check)
 
 /* No op trap handler.  Required for kexec crash path. */
-GLOBAL(trap_nop)
+SYM_CODE_START_NOALIGN(trap_nop)
         ENDBR64
         iretq
+SYM_CODE_END(trap_nop)
 
 /* Table of automatically generated entry points.  One per vector. */
         .pushsection .init.rodata, "a", @progbits
@@ -1142,7 +1173,8 @@ GLOBAL(autogen_entrypoints)
         .endm
 
         .popsection
-autogen_stubs: /* Automatically generated stubs. */
+/* Automatically generated stubs. */
+SYM_CODE_START_LOCAL(autogen_stubs)
 
         vec = 0
         .rept X86_NR_VECTORS
@@ -1186,6 +1218,7 @@ autogen_stubs: /* Automatically generated stubs. */
 
         vec = vec + 1
         .endr
+SYM_CODE_END(autogen_stubs)
 
         .section .init.rodata, "a", @progbits
         .size autogen_entrypoints, . - autogen_entrypoints
diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
index f4842025eb..5f96c74085 100644
--- a/xen/arch/x86/x86_64/kexec_reloc.S
+++ b/xen/arch/x86/x86_64/kexec_reloc.S
@@ -14,6 +14,7 @@
         .file __FILE__
 
 #include <xen/kimage.h>
+#include <xen/linkage.h>
 
 #include <asm/asm_defns.h>
 #include <asm/msr-index.h>
@@ -24,7 +25,7 @@
         .align PAGE_SIZE
         .code64
 
-ENTRY(kexec_reloc)
+SYM_FUNC_START(kexec_reloc)
         /* %rdi - code page maddr */
         /* %rsi - page table maddr */
         /* %rdx - indirection page maddr */
@@ -92,8 +93,9 @@ ENTRY(kexec_reloc)
 
         /* Enter compatibility mode. */
         ljmp    *compatibility_mode_far(%rip)
+SYM_FUNC_END(kexec_reloc)
 
-relocate_pages:
+SYM_FUNC_START_LOCAL(relocate_pages)
         /* %rdi - indirection page maddr */
         pushq   %rbx
 
@@ -141,8 +143,9 @@ relocate_pages:
         ret
 
         .code32
+SYM_FUNC_END(relocate_pages)
 
-compatibility_mode:
+SYM_FUNC_START_LOCAL(compatibility_mode)
         /* Setup some sane segments. */
         movl    $0x0008, %eax
         movl    %eax, %ds
@@ -169,46 +172,34 @@ compatibility_mode:
         /* Call the image entry point.  This should never return. */
         call    *%ebp
         ud2
+SYM_FUNC_END(compatibility_mode)
 
-        .align 4
-compatibility_mode_far:
+SYM_DATA_START_LOCAL(compatibility_mode_far)
         .long 0x00000000             /* set in call_32_bit above */
         .word 0x0010
+SYM_DATA_END(compatibility_mode_far)
 
-        .type compatibility_mode_far, @object
-        .size compatibility_mode_far, . - compatibility_mode_far
-
-compat_mode_gdt_desc:
+SYM_DATA_START_LOCAL(compat_mode_gdt_desc)
         .word .Lcompat_mode_gdt_end - compat_mode_gdt -1
         .quad 0x0000000000000000     /* set in call_32_bit above */
+SYM_DATA_END(compat_mode_gdt_desc)
 
-        .type compat_mode_gdt_desc, @object
-        .size compat_mode_gdt_desc, . - compat_mode_gdt_desc
-
-        .align 8
-compat_mode_gdt:
+SYM_DATA_START_LOCAL(compat_mode_gdt)
         .quad 0x0000000000000000     /* null                              */
         .quad 0x00cf93000000ffff     /* 0x0008 ring 0 data                */
         .quad 0x00cf9b000000ffff     /* 0x0010 ring 0 code, compatibility */
 .Lcompat_mode_gdt_end:
+SYM_DATA_END(compat_mode_gdt)
 
-        .type compat_mode_gdt, @object
-        .size compat_mode_gdt, . - compat_mode_gdt
-
-compat_mode_idt:
+SYM_DATA_START_LOCAL(compat_mode_idt)
         .word 0                      /* limit */
         .long 0                      /* base */
-
-        .type compat_mode_idt, @object
-        .size compat_mode_idt, . - compat_mode_idt
+SYM_DATA_END(compat_mode_idt)
 
         /*
          * 16 words of stack are more than enough.
          */
-        .align 8
-reloc_stack:
+SYM_DATA_START_LOCAL(reloc_stack)
         .fill 16,8,0
 .Lreloc_stack_base:
-
-        .type reloc_stack, @object
-        .size reloc_stack, . - reloc_stack
+SYM_DATA_END(reloc_stack)
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 15:05:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 15:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380520.614734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPP-0002bA-8Y; Thu, 04 Aug 2022 15:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380520.614734; Thu, 04 Aug 2022 15:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPP-0002b1-4H; Thu, 04 Aug 2022 15:05:11 +0000
Received: by outflank-mailman (input) for mailman id 380520;
 Thu, 04 Aug 2022 15:05:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QMPZ=YI=citrix.com=prvs=2084bc4d8=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1oJcPN-0001pR-Tb
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 15:05:09 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d33b262a-1406-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 17:05:08 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d33b262a-1406-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659625508;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=o5iccEivDKlcTxNxatFjrVJPq9arILcmjVDpwc+JipU=;
  b=a/20Qmf25f7d4fi/46KEMWAiHhm3TJSgrPyEFtVXBWG0dGRcdVmEgmiG
   2n02f9RH61o5ggDlVG1U8yUHYLFdmNzVOjlZiKX/Pj2SnpYu0lFiZnyG/
   unnD/Rrim3W1ngD+7jMD6oxZ8L6Vc6Uwm09mPg09wCwNg6CguNyl0SOz0
   g=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77150536
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:xdS+qatmRQWq5MfCngdOfdptSufnVBleMUV32f8akzHdYApBsoF/q
 tZmKWGHPv2MZzT1fIp2YY3n9RgFvpfTyNJqTwdqri0zEioV+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4G9A5TTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FdIe5txUWD11z
 8c/Bwsza0uy2/O9g4vuH4GAhux7RCXqFIYWu3UmxjDFF/c2B5vERs0m5/cBgm123JoXW6+DO
 YxJMlKDbzyZC/FLEnUeDp94ue6sj332dTBwo1OJv6snpWPUyWSd1ZCyb4OIIoHRG625mG64/
 lj75Gv0UitZKeS+0gjb9CyFnurQyHaTtIU6S+Tjq68CbEeo7nweDlgaWEW2pdG9i1WiQJRPJ
 koM4C0soKMuskuxQbHAswaQ+SDe+ERGApwJTrN8uFrlJrfoDxixWW4YdB0YNOccj+gZfgIvj
 W7VjtiqPGk62FGKck5x5ot4vBvrZ3VEcTdfPHJeJecWy4K9+d9u13ojWv4mSffo1YOtRFkc1
 hjQ9EADa6MvYdnnPklR1XTOmHqSq5fAVWbZDS2HDzv+vmuViGNIDrFECGQ3Dt4ade51tnHb4
 BA5dzG2tYji962lmi2XW/kqF7q0/fuDOzC0qQcxQsh8qm3yqyXzIts4DNRCyKBBYq45lcLBO
 heP6Wu9GrcJVJdVUUOHS93oUJl7pUQRPd/kSurVfrJzX3SFTyfepXkGTRPBgAjQfL0Ey/5X1
 WGzLZnxVh73yM1PkFKLegvq+eBxl31mlDqDGPgWDX2PiNKjWZJccp9dWHPmUwzzxPnsTNn9m
 zqHC/a39g==
IronPort-HdrOrdr: A9a23:4Cwl8akCTBfjv9GLu8PVafokRX3pDfIg3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7wr5OUtQ/exoV5PhfZqxz/JICOoqTNKftWvdyQiVxehZhOOIqVDd8kXFh4hgPM
 xbEpSWZueeMbEDt7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77150536"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>
Subject: [PATCH 0/4] xen/x86: import linkage.h and clean up x86/kexec.S and x86/entry.S
Date: Thu, 4 Aug 2022 16:04:20 +0100
Message-ID: <20220804150424.17584-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Jane Malalane (4):
  x86/kexec: Add the '.L_' prefix to is_* and call_* labels
  xen: Port linkage.h from kernel code
  x86/entry: move .init.text section higher up in the code for
    readability
  x86: Use linkage.h helpers to add tags to symbols

 xen/arch/x86/x86_64/entry.S       | 124 +++++++++++-------
 xen/arch/x86/x86_64/kexec_reloc.S |  85 ++++++-------
 xen/include/xen/linkage.h         | 260 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 376 insertions(+), 93 deletions(-)
 create mode 100644 xen/include/xen/linkage.h

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 15:05:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 15:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380518.614707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPM-0001tD-JJ; Thu, 04 Aug 2022 15:05:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380518.614707; Thu, 04 Aug 2022 15:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPM-0001sY-Dp; Thu, 04 Aug 2022 15:05:08 +0000
Received: by outflank-mailman (input) for mailman id 380518;
 Thu, 04 Aug 2022 15:05:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QMPZ=YI=citrix.com=prvs=2084bc4d8=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1oJcPL-0001pR-SR
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 15:05:07 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2558e88-1406-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 17:05:06 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2558e88-1406-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659625506;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=QgUZ32yF2K286P2BkzCo1ex4mjo4Zhntd7s4lmaIVpo=;
  b=NwI6vkdyRFBY/3g9ch+1ooY+csxsAfuHJ4aTLVGCPcrbF3+H/0zjm10f
   MH1Riie6aGUS4t7KELeiw0NdV1WRELH0I/eq2eNUKuCUL8TwtVZmpgpqo
   dB5FhPafbWnEynArDkFsaLHdX2t1eigTCHuwgtnFjd4pgOyLqozXjW/CN
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77379592
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:4j5itK/RN50nuPFwmNsfDrUD7H6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 GQcWTyHM/yIZWqmfdtyb4vi/RsC7MODytJmQANuqys8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM34Kyp0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGHX8RAqlA/sNOBVpN8
 dMWa2kAdh7SiLfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoQRRJNxEyAZY3mO6ui1H0ciFCqULTrq0yi4TW5FMui+e8bYuPEjCMbYZz3UfAm
 0KXxmfSOwgCPcCd9zHUr1v504cjmgukAdlPRdVU7MVCn1m71mEVThoMWjOTo/O0l0q/UNJ3M
 FEP92wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9WEy6yZPMqRaLPRMWKUAMJnYJVQVU7Iy2yG0stS4jXuqPAYbs0ICkRWmtm
 m3QxMQtr+5N1JBWjs1X6XiC2mvx/caRE2bZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/5nzvp5pyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN5FIMucYMbCD6MvQfj2eN5yMCncDd+SnNDKiIPrKinLArHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6RMJruMow+lWLeb7pMjtcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5Rr9jvf7c8VyFr
 r6y9aKikn1ibQE3WQGPmaZ7ELzABSFT6UzewyCPStO+Hw==
IronPort-HdrOrdr: A9a23:9+M+/Km6aGtqgmMDuqOVGtUUKhDpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE8Qr5OUtQ/+xoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCBHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77379592"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 3/4] x86/entry: move .init.text section higher up in the code for readability
Date: Thu, 4 Aug 2022 16:04:23 +0100
Message-ID: <20220804150424.17584-4-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220804150424.17584-1-jane.malalane@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau MonnÃ©" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/x86_64/entry.S | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 26bf2f1941..4ad25d9c90 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -140,6 +140,15 @@ process_trap:
         call create_bounce_frame
         jmp  test_all_events
 
+        .pushsection .init.text, "ax", @progbits
+        ENTRY(early_page_fault)
+        ENDBR64
+        movl  $TRAP_page_fault,4(%rsp)
+        SAVE_ALL
+        movq  %rsp,%rdi
+        call  do_early_page_fault
+        jmp   restore_all_xen
+
         .section .text.entry, "ax", @progbits
 
 /* %rbx: struct vcpu, interrupts disabled */
@@ -982,16 +991,6 @@ ENTRY(double_fault)
         call  do_double_fault
         BUG   /* do_double_fault() shouldn't return. */
 
-        .pushsection .init.text, "ax", @progbits
-ENTRY(early_page_fault)
-        ENDBR64
-        movl  $TRAP_page_fault,4(%rsp)
-        SAVE_ALL
-        movq  %rsp,%rdi
-        call  do_early_page_fault
-        jmp   restore_all_xen
-        .popsection
-
 ENTRY(nmi)
         ENDBR64
         pushq $0
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 15:05:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 15:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380517.614701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPM-0001pj-7v; Thu, 04 Aug 2022 15:05:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380517.614701; Thu, 04 Aug 2022 15:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPM-0001pb-4x; Thu, 04 Aug 2022 15:05:08 +0000
Received: by outflank-mailman (input) for mailman id 380517;
 Thu, 04 Aug 2022 15:05:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QMPZ=YI=citrix.com=prvs=2084bc4d8=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1oJcPK-0001pR-Nw
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 15:05:06 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d120dfde-1406-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 17:05:04 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d120dfde-1406-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659625504;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+XvSPGhkSE1Z7JYIaZw7tOFI2h+V4kO6R6kgf5+xW64=;
  b=aDfuyZ4eBB4NvKyWNWOS3qP5o2MY0Dz31i3wV/Z2bXSWcT9XflGDiApc
   f604ymhx7kFf4V4s0tpzVimiiHtYp6zD/p2kDeZjsYKEiUIy7afwZK3on
   psOXWIa85qS4ez7fN+2hpBleU/67T6U3PlmzqTkyQVpBT+1CwHWm9JTX9
   8=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77380020
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3ANMr33qhHPO9XXKvyR54p6DOKX17brhtdeKXEu?=
 =?us-ascii?q?qucoGZYitEo9fiigw3rTHB/vMu+OsBzOTSeNSnCs4IU2YTIz8AWJWPuvmb4K?=
 =?us-ascii?q?X+F6BLaQgz51FdQzqpjf+ZYVAVlHC8VHgAGJ+35Y8rt69mUOzoU6eggX3v0m?=
 =?us-ascii?q?CFpCDCP66c4sovqSAV1PuGqrraWgiiC9H6id5H5IOZwQnV82SAENY+Qq4nIJ?=
 =?us-ascii?q?dfZm8s9Z26+9B2O6qwbCFlEw/pozTzRAV9PdtnNiWPQrmYfwXFTBGXwwWqXI?=
 =?us-ascii?q?uRPBXvHZhialCZjxd56C9cfvPKD5cNkWiqjbo0jV+RqaHO5+BFRwOiweYsRS?=
 =?us-ascii?q?VCrvW530EeQeRkUXs51Zjvskyief97OlHOIOVsq/EIBO5lKuCA9y9BFUDNk0?=
 =?us-ascii?q?uJ6IgBgEGjXLpfmtSZ9kwE0jxrELnwQ3rl/zmVFJrzr1FIZuYZUWNeJrnpq/?=
 =?us-ascii?q?DzMrUpjBx4vH8cEpj6M7wb8aB2UMy3R/R4et5Mzp+Z9yoHsWIqjTwKW2ggUk?=
 =?us-ascii?q?eQwD7kkzPdjaNC7YaSuPaQSvQyO8qBs67QVgNOBaHKFw+Mb37P5EgbmEiNUd?=
 =?us-ascii?q?g7QrVfPCQSpH9POnafnwvTy0ZPuQTgDd2501tPP8A4rbOQ/VkPviWrwpomZb?=
 =?us-ascii?q?p2PlvKehhPiL+IFR1o0oe+S4oNXGqlJaWjyDkuC9pQlh+a/XdEjJXUxvurvK?=
 =?us-ascii?q?n7NnCi2yGP25bVhDFvkcmkFZ29Od8xGqZGTomlQ4L+H5jQb28aeVgAlUQYfm?=
 =?us-ascii?q?Di1Cw/uv6LbctgI8unj1LsHykm6iyjGJdlh/t107ybMEv/JPPjPh0zHtIkk4?=
 =?us-ascii?q?oUQlzSrT4mue6o8wSeYKDmzpi7EjT1K2AYWI575WoucbdK55uu7aPgjVT6Ao?=
 =?us-ascii?q?dsDdKUAwyvAWEMpeOqtkhwCx6HntlUbwxigTU93ilcH8j3NUKtu1mLaf8JzZ?=
 =?us-ascii?q?kXHAvTtN5//KtUP94z5r0yQrX+ukxN0mLB2fnrFTWBwnf/rRxXDXhZZZOabh?=
 =?us-ascii?q?enUHZIjqwb1ZBA5QFeXfUvMdl+W/kTNROu1RIieKf9uDMCZ7xVpRUTuHLmZc?=
 =?us-ascii?q?lRDh9BcFVsilMHRTX/c4cXvy0c5Eh6VhU539T5Xg+2F+Xdw6OkrchK4rs1I7?=
 =?us-ascii?q?HEgD8YHRvV0PtFKgTbImom2PGaRHQ25/ixctgP2dXzuqOytZHUWyZCQHgrlB?=
 =?us-ascii?q?3c6fAxcLuHLqnLqFD3pvARMopzuRllSo6AI49/kNHXNYmVqZSyWenpkysTjB?=
 =?us-ascii?q?EFJdt2KGbA4nU46Qy/KhLBkihw6U1a2LcqoJVAbaaefEQWD0f0uswa8xKAhh?=
 =?us-ascii?q?iWq6RuPhhPIcfausd8mjSyZS3r7ohA6EqgVKSuI0MYLVKjEfvhYWPRBmzJ4t?=
 =?us-ascii?q?RczDpuV+xnu6pjzAsDlRrPrrTxaK3Q2Y/iBcUBdeXqe0e7w8m+X4G8lVwRhq?=
 =?us-ascii?q?f0tssQSX3BN3u3ZdUL5gAoLXK4dVc1r0Z/Ir0hAq5HVAE1A6q2tcBc+inbjT?=
 =?us-ascii?q?Ld3g1nF7PBKMSMPvyjb+/rHdKJcTG1zQEopU+l8mksaNfbN9C8LRuspvd7/7?=
 =?us-ascii?q?q/9Qq5zBteBL+ldihvhu4NSxHe8qvCJPzd9vKTIAil4JrqCbgfLS8mJJlIgM?=
 =?us-ascii?q?TGQMAa6B+eofn81jAel4OtJx8BhM0ZnZHmf4lS5Qr2vqY6xZ+N1IUKcOg2vc?=
 =?us-ascii?q?t7WRtgiHA4JLGMa29qEXPImi8ZKu4dges4QpQbQ0eVpIQF8cuiqJvN8K9Th8?=
 =?us-ascii?q?LL9eb37jjP/68V3kOJ9uriSjOdk+Z+mBQNPJ9740Srb2EIDAvki9Bdo9t03r?=
 =?us-ascii?q?r/8bdBPcINSOJHyAyZ8GQb/Q6/6t9/e20HPLIiw5esvpOGdW4WqHo6inmgFj?=
 =?us-ascii?q?JycmiGgZlJKEtQdxFX1OzbS4qrlobqdJuqknL+NEeG8y35SXx5bPiXvkDaak?=
 =?us-ascii?q?sAi3weIQKjfH1VY3c8o86glbmiP7A+dpcFlnedoF5LtlWiEaZpBiVWwRHd1L?=
 =?us-ascii?q?mkfp0kCND/DlTgki+V/9YEOI8UPwPxUOctWLjBElxZjG922RZPHjx/AXSzvW?=
 =?us-ascii?q?mpw1eora2w8Hk3uA6e8pqcW+BWe5g25h+sxmFF0+gctMpMtiq8b4zrk7yyka?=
 =?us-ascii?q?Cbd/RhO4TbjKt1Jk4ObUFfFTf3wcttJbQ81tfpI5W0dOuk7nxPlryLxz32Ei?=
 =?us-ascii?q?JvYK3xkvFWB9yVWy7EAx8f+LcWDuEcJk+t/BPX57nbtVCV86H7drNJmgqfsf?=
 =?us-ascii?q?kgECcgsuqQwmQxvj8KNz2bOKao/4ST3mh2sIxIwv7FqWJuHARGcyLvH8THMx?=
 =?us-ascii?q?qNSmV4rV4W/e6q4VspUHvzP6IO2s5R/z0zSwnFezE9fCoj55QtXA/Q4+bkiC?=
 =?us-ascii?q?sD0cqv7sr/+4pSOFleVZzWKkkUAYuybUt+whvTmzilDkaetH2nMQn6pDyQfx?=
 =?us-ascii?q?nXA6JKNVBxP2DrP0j11IYDXIn5CdhiB/PcXRtzRF5ThM5Lsg3IyY1w5N/Vpa?=
 =?us-ascii?q?b3525FLx4VaH0nTDmhXtFA797l5z8hK4HMh6KATcUdeLuqk3A9ugAeZY64gd?=
 =?us-ascii?q?4FAYnwggIX1JpzRkOE+kLGKbW5JgKjw6XJSXhiH2IdRjAq+rTa+SUFrm8Bpy?=
 =?us-ascii?q?Y3j636/H0/tj+e2t5QChflL6QGh7kR1p6MojxNgAMdc8AY2gWCLYnbEyT717?=
 =?us-ascii?q?+JvmngLQOiI2BjKBEJRv6B3JPFylOe/SS8NIeRR7OCZ/ZTcu0UBYeUM1jgGx?=
 =?us-ascii?q?CCcB2V0LQ/WGq0ujgxP?=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77380020"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 1/4] x86/kexec: Add the '.L_' prefix to is_* and call_* labels
Date: Thu, 4 Aug 2022 16:04:21 +0100
Message-ID: <20220804150424.17584-2-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220804150424.17584-1-jane.malalane@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

These are local symbols and shouldn't be externally visible.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: "Roger Pau MonnÃ©" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/x86_64/kexec_reloc.S | 42 +++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
index 89316bc3a7..f4842025eb 100644
--- a/xen/arch/x86/x86_64/kexec_reloc.S
+++ b/xen/arch/x86/x86_64/kexec_reloc.S
@@ -40,10 +40,10 @@ ENTRY(kexec_reloc)
         movq    %rsi, %cr3
 
         /* Jump to identity mapped code. */
-        leaq    (identity_mapped - kexec_reloc)(%rdi), %rax
+        leaq    (.L_identity_mapped - kexec_reloc)(%rdi), %rax
         jmpq    *%rax
 
-identity_mapped:
+.L_identity_mapped:
         /*
          * Set cr0 to a known state:
          *  - Paging enabled
@@ -70,14 +70,14 @@ identity_mapped:
 
         /* Need to switch to 32-bit mode? */
         testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
-        jnz     call_32_bit
+        jnz     .L_call_32_bit
 
-call_64_bit:
+.L_call_64_bit:
         /* Call the image entry point.  This should never return. */
         callq   *%rbp
         ud2
 
-call_32_bit:
+.L_call_32_bit:
         /* Setup IDT. */
         lidt    compat_mode_idt(%rip)
 
@@ -102,41 +102,41 @@ relocate_pages:
         xorl    %edi, %edi
         xorl    %esi, %esi
 
-next_entry: /* top, read another word for the indirection page */
+.L_next_entry: /* top, read another word for the indirection page */
 
         movq    (%rbx), %rcx
         addq    $8, %rbx
-is_dest:
+.L_is_dest:
         testb   $IND_DESTINATION, %cl
-        jz      is_ind
+        jz      .L_is_ind
         movq    %rcx, %rdi
         andq    $PAGE_MASK, %rdi
-        jmp     next_entry
-is_ind:
+        jmp     .L_next_entry
+.L_is_ind:
         testb   $IND_INDIRECTION, %cl
-        jz      is_done
+        jz      .L_is_done
         movq    %rcx, %rbx
         andq    $PAGE_MASK, %rbx
-        jmp     next_entry
-is_done:
+        jmp     .L_next_entry
+.L_is_done:
         testb   $IND_DONE, %cl
-        jnz     done
-is_source:
+        jnz     .L_done
+.L_is_source:
         testb   $IND_SOURCE, %cl
-        jz      is_zero
+        jz      .L_is_zero
         movq    %rcx, %rsi      /* For every source page do a copy */
         andq    $PAGE_MASK, %rsi
         movl    $(PAGE_SIZE / 8), %ecx
         rep movsq
-        jmp     next_entry
-is_zero:
+        jmp     .L_next_entry
+.L_is_zero:
         testb   $IND_ZERO, %cl
-        jz      next_entry
+        jz      .L_next_entry
         movl    $(PAGE_SIZE / 8), %ecx  /* Zero the destination page. */
         xorl    %eax, %eax
         rep stosq
-        jmp     next_entry
-done:
+        jmp     .L_next_entry
+.L_done:
         popq    %rbx
         ret
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 15:05:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 15:05:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380523.614744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPX-00033U-H3; Thu, 04 Aug 2022 15:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380523.614744; Thu, 04 Aug 2022 15:05:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcPX-00033L-E6; Thu, 04 Aug 2022 15:05:19 +0000
Received: by outflank-mailman (input) for mailman id 380523;
 Thu, 04 Aug 2022 15:05:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QMPZ=YI=citrix.com=prvs=2084bc4d8=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1oJcPW-0001pR-LQ
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 15:05:18 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d886c8f3-1406-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 17:05:17 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d886c8f3-1406-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659625516;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=CdtbkD3eQ8hKPJiJTBFFPb8a5m5PwrGLe0HfMNmqQaQ=;
  b=G7ZY9PbNyfVRA65s7s85gODyhEWswcsgLbPFXzByoWhiY0L+8fb7NfM9
   qoiZAkGQwBiDvJmcYW/Ga6LUmnOAkHP1F4z8KVmKFm9FCqDTaep/zikLg
   PgNVXCDdLDjK9sRFOUTCY8srB6B/DaqnDeSIg0hlt2KKxLxYvoaxgGaEe
   I=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 79938458
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:TzcxsqCcdd+35BVW/z3jw5YqxClBgxIJ4kV8jS/XYbTApGwh3zFSz
 jYYXD+DO6qJMWGkct10bYmz9k4H6MPSy9NgQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEs/7b83uDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJWyDxnfAwIWUfB5Un9r5MQkZN5
 P0bcQlYO3hvh8ruqF66Yuxlh8BlJ8j3JoIP/HpnyFk1D95/H8qFGf+To4YFgnFg3aiiHt6HD
 yYdQRhmahmGRhRLM1MeDp8Wl+a0nHjvNTZfrTp5oIJosjmInFAsgNABNvLxXoCLGOJ+jn/bi
 VLEpTjWAzYhaP+QnG/tHnWE2baUwHKTtJgpPL+l8v9nhnWDy2pVDwcZPXOkpdGph0j4XMhQQ
 2QP4TYnp6U28E2tT/H+Uge+rXrCuQQTM/JAHut/5AyTx6785weCGnNCXjNHcMYhtsI9WXotz
 FDht9HjCCFrsbaVYWmA7brSpjS3URX5NkdbO3VCF1FcpYC+/sdj1XojU+qPDobuk4PwRxzU6
 gqSkyRmvPY0jt8K1PyCqAWvby2XmnTZcuIkzlyJAzP5tl4gOdTNi5+AsgaCs6sZRGqNZhzY5
 SVfxZDDhAwbJcvV/BFhVtnhC11ACxytFDTHyWBiEJA6n9hG0y7yJNsAiN2SyaoADyrlRdMKS
 BWK0e+pzMUPVEZGlIcuC25LN+wkzLL7CfPuXe3OY9xFb/BZLVHarXwzPBHAhDCyyyDAdJ3T3
 r/LGftA8F5AUfg3pNZIb711PUAXKtAWmjqIGMGTI+WP2ruCfn+FIYo43K+1RrlgtMus/VSKm
 +uzwuPQlH2zpsWiPXSMmWPSRHhWRUUG6Wfe9JYGK7bSe1o7cIzjYteIqY4cl0Vet/w9vo/1E
 ruVAye0FHKXaaX7FDi3
IronPort-HdrOrdr: A9a23:B8WLcq6W0Rs8HKcvWgPXwMrXdLJyesId70hD6qhwISY6TiX4rb
 HWoB1173/JYVoqNE3I3OrwXZVoIkmsk6Kdg7NhXotKNTOO0ADDQb2Kr7GSpwEIcxeOkdK1vp
 0AT0ERMrLN5CBB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="79938458"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [PATCH 2/4] xen: Port linkage.h from kernel code
Date: Thu, 4 Aug 2022 16:04:22 +0100
Message-ID: <20220804150424.17584-3-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220804150424.17584-1-jane.malalane@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
---
 xen/include/xen/linkage.h | 260 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 260 insertions(+)
 create mode 100644 xen/include/xen/linkage.h

diff --git a/xen/include/xen/linkage.h b/xen/include/xen/linkage.h
new file mode 100644
index 0000000000..adc00c356b
--- /dev/null
+++ b/xen/include/xen/linkage.h
@@ -0,0 +1,260 @@
+#ifndef __XEN_LINKAGE_H
+#define __XEN_LINKAGE_H
+
+/*
+ * Imported from linux-5.19:include/linux/linkage.h
+ */
+
+/* Some toolchains use other characters (e.g. '`') to mark new line in macro */
+#ifndef ASM_NL
+#define ASM_NL		 ;
+#endif
+
+#ifdef __ASSEMBLY__
+
+/* SYM_T_FUNC -- type used by assembler to mark functions */
+#ifndef SYM_T_FUNC
+#define SYM_T_FUNC				STT_FUNC
+#endif
+
+/* SYM_T_OBJECT -- type used by assembler to mark data */
+#ifndef SYM_T_OBJECT
+#define SYM_T_OBJECT				STT_OBJECT
+#endif
+
+/* SYM_T_NONE -- type used by assembler to mark entries of unknown type */
+#ifndef SYM_T_NONE
+#define SYM_T_NONE				STT_NOTYPE
+#endif
+
+/* SYM_A_* -- align the symbol? */
+#define SYM_A_ALIGN				ALIGN
+#define SYM_A_NONE				/* nothing */
+
+/* SYM_L_* -- linkage of symbols */
+#define SYM_L_GLOBAL(name)			.globl name
+#define SYM_L_WEAK(name)			.weak name
+#define SYM_L_LOCAL(name)			/* nothing */
+
+/* === generic annotations === */
+
+/* SYM_ENTRY -- use only if you have to for non-paired symbols */
+#ifndef SYM_ENTRY
+#define SYM_ENTRY(name, linkage, align...)		\
+	linkage(name) ASM_NL				\
+	align ASM_NL					\
+	name:
+#endif
+
+/* SYM_START -- use only if you have to */
+#ifndef SYM_START
+#define SYM_START(name, linkage, align...)		\
+	SYM_ENTRY(name, linkage, align)
+#endif
+
+/* SYM_END -- use only if you have to */
+#ifndef SYM_END
+#define SYM_END(name, sym_type)				\
+	.type name sym_type ASM_NL			\
+	.set .L__sym_size_##name, .-name ASM_NL		\
+	.size name, .L__sym_size_##name
+#endif
+
+/* SYM_ALIAS -- use only if you have to */
+#ifndef SYM_ALIAS
+#define SYM_ALIAS(alias, name, linkage)			\
+	linkage(alias) ASM_NL				\
+	.set alias, name ASM_NL
+#endif
+
+/* === code annotations === */
+
+/*
+ * FUNC -- C-like functions (proper stack frame etc.)
+ * CODE -- non-C code (e.g. irq handlers with different, special stack etc.)
+ *
+ * Objtool validates stack for FUNC, but not for CODE.
+ * Objtool generates debug info for both FUNC & CODE, but needs special
+ * annotations for each CODE's start (to describe the actual stack frame).
+ *
+ * Objtool requires that all code must be contained in an ELF symbol. Symbol
+ * names that have a  .L prefix do not emit symbol table entries. .L
+ * prefixed symbols can be used within a code region, but should be avoided for
+ * denoting a range of code via ``SYM_*_START/END`` annotations.
+ *
+ * ALIAS -- does not generate debug info -- the aliased function will
+ */
+
+/* SYM_INNER_LABEL_ALIGN -- only for labels in the middle of code,
+ * w/ alignment
+ */
+#ifndef SYM_INNER_LABEL_ALIGN
+#define SYM_INNER_LABEL_ALIGN(name, linkage)	\
+	.type name SYM_T_NONE ASM_NL			\
+	SYM_ENTRY(name, linkage, SYM_A_ALIGN)
+#endif
+
+/* SYM_INNER_LABEL_LOCAL -- only for local labels in the middle of code */
+#ifndef SYM_INNER_LABEL_LOCAL
+#define SYM_INNER_LABEL_LOCAL(name)			\
+	.type name SYM_T_NONE ASM_NL			\
+	SYM_ENTRY(name, SYM_L_LOCAL, SYM_A_NONE)
+#endif
+
+/* SYM_INNER_LABEL_GLOBAL -- only for global labels in the middle of code */
+#ifndef SYM_INNER_LABEL_GLOBAL
+#define SYM_INNER_LABEL_GLOBAL(name)				    \
+            .type name SYM_T_NONE ASM_NL                    \
+	    SYM_ENTRY(name, SYM_L_GLOBAL, SYM_A_NONE)
+#endif
+
+/* SYM_FUNC_START -- use for global functions */
+#ifndef SYM_FUNC_START
+#define SYM_FUNC_START(name)				\
+	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)
+#endif
+
+/* SYM_FUNC_START_NOALIGN -- use for global functions, w/o alignment */
+#ifndef SYM_FUNC_START_NOALIGN
+#define SYM_FUNC_START_NOALIGN(name)			\
+	SYM_START(name, SYM_L_GLOBAL, SYM_A_NONE)
+#endif
+
+/* SYM_FUNC_START_LOCAL -- use for local functions */
+#ifndef SYM_FUNC_START_LOCAL
+#define SYM_FUNC_START_LOCAL(name)			\
+	SYM_START(name, SYM_L_LOCAL, SYM_A_ALIGN)
+#endif
+
+/* SYM_FUNC_START_LOCAL_NOALIGN -- use for local functions, w/o alignment */
+#ifndef SYM_FUNC_START_LOCAL_NOALIGN
+#define SYM_FUNC_START_LOCAL_NOALIGN(name)		\
+	SYM_START(name, SYM_L_LOCAL, SYM_A_NONE)
+#endif
+
+/* SYM_FUNC_START_WEAK -- use for weak functions */
+#ifndef SYM_FUNC_START_WEAK
+#define SYM_FUNC_START_WEAK(name)			\
+	SYM_START(name, SYM_L_WEAK, SYM_A_ALIGN)
+#endif
+
+/* SYM_FUNC_START_WEAK_NOALIGN -- use for weak functions, w/o alignment */
+#ifndef SYM_FUNC_START_WEAK_NOALIGN
+#define SYM_FUNC_START_WEAK_NOALIGN(name)		\
+	SYM_START(name, SYM_L_WEAK, SYM_A_NONE)
+#endif
+
+/*
+ * SYM_FUNC_END -- the end of SYM_FUNC_START_LOCAL, SYM_FUNC_START,
+ * SYM_FUNC_START_WEAK, ...
+ */
+#ifndef SYM_FUNC_END
+#define SYM_FUNC_END(name)				\
+	SYM_END(name, SYM_T_FUNC)
+#endif
+
+/*
+ * SYM_FUNC_ALIAS -- define a global alias for an existing function
+ */
+#ifndef SYM_FUNC_ALIAS
+#define SYM_FUNC_ALIAS(alias, name)					\
+	SYM_ALIAS(alias, name, SYM_L_GLOBAL)
+#endif
+
+/*
+ * SYM_FUNC_ALIAS_LOCAL -- define a local alias for an existing function
+ */
+#ifndef SYM_FUNC_ALIAS_LOCAL
+#define SYM_FUNC_ALIAS_LOCAL(alias, name)				\
+	SYM_ALIAS(alias, name, SYM_L_LOCAL)
+#endif
+
+/*
+ * SYM_FUNC_ALIAS_WEAK -- define a weak global alias for an existing function
+ */
+#ifndef SYM_FUNC_ALIAS_WEAK
+#define SYM_FUNC_ALIAS_WEAK(alias, name)				\
+	SYM_ALIAS(alias, name, SYM_L_WEAK)
+#endif
+
+/* SYM_CODE_START -- use for non-C (special) functions */
+#ifndef SYM_CODE_START
+#define SYM_CODE_START(name)				\
+	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)
+#endif
+
+/* SYM_CODE_START_NOALIGN -- use for non-C (special) functions, w/o alignment */
+#ifndef SYM_CODE_START_NOALIGN
+#define SYM_CODE_START_NOALIGN(name)			\
+	SYM_START(name, SYM_L_GLOBAL, SYM_A_NONE)
+#endif
+
+/* SYM_CODE_START_LOCAL -- use for local non-C (special) functions */
+#ifndef SYM_CODE_START_LOCAL
+#define SYM_CODE_START_LOCAL(name)			\
+	SYM_START(name, SYM_L_LOCAL, SYM_A_ALIGN)
+#endif
+
+/*
+ * SYM_CODE_START_LOCAL_NOALIGN -- use for local non-C (special) functions,
+ * w/o alignment
+ */
+#ifndef SYM_CODE_START_LOCAL_NOALIGN
+#define SYM_CODE_START_LOCAL_NOALIGN(name)		\
+	SYM_START(name, SYM_L_LOCAL, SYM_A_NONE)
+#endif
+
+/* SYM_CODE_END -- the end of SYM_CODE_START_LOCAL, SYM_CODE_START, ... */
+#ifndef SYM_CODE_END
+#define SYM_CODE_END(name)				\
+	SYM_END(name, SYM_T_NONE)
+#endif
+
+/* === data annotations === */
+
+/* SYM_DATA_START -- global data symbol */
+#ifndef SYM_DATA_START
+#define SYM_DATA_START(name)				\
+	SYM_START(name, SYM_L_GLOBAL, SYM_A_NONE)
+#endif
+
+/* SYM_DATA_START -- local data symbol */
+#ifndef SYM_DATA_START_LOCAL
+#define SYM_DATA_START_LOCAL(name)			\
+	SYM_START(name, SYM_L_LOCAL, SYM_A_NONE)
+#endif
+
+/* SYM_DATA_END -- the end of SYM_DATA_START symbol */
+#ifndef SYM_DATA_END
+#define SYM_DATA_END(name)				\
+	SYM_END(name, SYM_T_OBJECT)
+#endif
+
+/* SYM_DATA_END_LABEL -- the labeled end of SYM_DATA_START symbol */
+#ifndef SYM_DATA_END_LABEL
+#define SYM_DATA_END_LABEL(name, linkage, label)	\
+	linkage(label) ASM_NL				\
+	.type label SYM_T_OBJECT ASM_NL			\
+	label:						\
+	SYM_END(name, SYM_T_OBJECT)
+#endif
+
+/* SYM_DATA -- start+end wrapper around simple global data */
+#ifndef SYM_DATA
+#define SYM_DATA(name, data...)				\
+	SYM_DATA_START(name) ASM_NL				\
+	data ASM_NL						\
+	SYM_DATA_END(name)
+#endif
+
+/* SYM_DATA_LOCAL -- start+end wrapper around simple local data */
+#ifndef SYM_DATA_LOCAL
+#define SYM_DATA_LOCAL(name, data...)			\
+	SYM_DATA_START_LOCAL(name) ASM_NL			\
+	data ASM_NL						\
+	SYM_DATA_END(name)
+#endif
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __XEN_LINKAGE_H */
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 15:08:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 15:08:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380554.614756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcSF-0004up-2x; Thu, 04 Aug 2022 15:08:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380554.614756; Thu, 04 Aug 2022 15:08:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcSF-0004ug-07; Thu, 04 Aug 2022 15:08:07 +0000
Received: by outflank-mailman (input) for mailman id 380554;
 Thu, 04 Aug 2022 15:08:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HjU9=YI=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oJcSD-0004uH-W2
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 15:08:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80078.outbound.protection.outlook.com [40.107.8.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d1e95f9-1407-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 17:08:04 +0200 (CEST)
Received: from AM6P191CA0001.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::14)
 by AM0PR08MB3697.eurprd08.prod.outlook.com (2603:10a6:208:103::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 15:08:01 +0000
Received: from AM5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8b:cafe::c6) by AM6P191CA0001.outlook.office365.com
 (2603:10a6:209:8b::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15 via Frontend
 Transport; Thu, 4 Aug 2022 15:08:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT012.mail.protection.outlook.com (10.152.16.161) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Thu, 4 Aug 2022 15:08:01 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Thu, 04 Aug 2022 15:08:01 +0000
Received: from 755d239f8905.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CDA7AE3C-9B51-4B77-A72D-D045A2F2BCF1.1; 
 Thu, 04 Aug 2022 15:07:54 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 755d239f8905.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 04 Aug 2022 15:07:54 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB7PR08MB3370.eurprd08.prod.outlook.com (2603:10a6:10:41::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Thu, 4 Aug
 2022 15:07:53 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.014; Thu, 4 Aug 2022
 15:07:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d1e95f9-1407-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=TC3+bDTfCJruvuA3UA/C4EiLJbvdGdzmy1GDruamGvI8WaQoElHR/AQXCOKf8nEBsiahlrxo+xMQZ9KetX2/BlbeZP/cVSSPvxH3tbu8OpyQRw86XXbcRTZPNQGLVZ+9JyJXCB7sqM+qbHfNA+rvBbITUr1u/Sf+w5v37MFS/1OIv6HaIBhMB1qZdXLdbvIsbPkv6Spkt5UimLeuebzO2dBWWejk9OYQcmm8UxAJzQ+1tEitNHH1jvCzpI8KFL81cyeVfcafJVaBPbC/T3sGznc8qEai6vbLDUQfu3Xdp2etks4Lj/omU9G5S23Gc3ZyrIiySUAsfJZZthZ7CrA9Ew==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f3HJgREWPQHHrprlmL/3n5Py3MtRlKxKH8p/s3OyqpI=;
 b=ekRcdfTBMMKxxamc5RP4oHbxmJhuttT6VLQO+3Qj48zZLUPiTG52jD3nndM7znBpPB42/zYPw+Kiu9UO0ml3H/yfnr+n2Pko+Al/garLs0RdFs3F9eiU3XxqLoRlBfwICM0+TlluWqYCPZc0c6OrSmtPvRDVsWkrGJOtOhb5X90SGv8VHF5beetv5pWX/KjIupLGs7Kv5O3cYj8yPonaiu2c0KFj7+ge7LZugDBMMNilNElrhyP9OZCWg8HsxoHSs/Y+lGiS8IfcQMX8Vt7x97Orhq2trfBkpGbKgOhnMG1C1QWdpez7gQ7NXEz7xC7PKRlrMG359Msldx5XEXz5kQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f3HJgREWPQHHrprlmL/3n5Py3MtRlKxKH8p/s3OyqpI=;
 b=sPIeSrfq5dIOSIMS0Rw8+/1bPFFzMTKtDkc4CLYAb9qSeRkxywYlN3CstbOXq4EnKmFH2oGAKYFxf3x4g3ZgpMKz8yisJiE9/+aJNckQMTsoFj8Bs6sPstpU6UmH5iu+oBSWQIor6bz0FR3Yqw0UJkHel0/ZFxFWcDBe3epF1UI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d41f0af7d12bdc2c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ADOY0/rNzr/zvwgQEaWKdKRCeKCU50Z82Lh4Cz8Ms6/6MHXcrxxIRI7kowEkoN+CA1bAN/w0gsPD+0SB1U2pYacSIhB9O45i9u04z4T1OTzh+mKNNDZTH26xVl9k+KCTqFgbRSEeIS3Mba03DUoxTYGRFn6RmOQl4jwW0dzDSL7NCkWxZjbt790YpM2aeuBGZIBuFdgWJb+KGm+bT4bInbFmb/za26LypBWRjIO87A6QypnXg7GSPYGSDGUOa8V/fKypzgIPRm6Hj0TYf8NkbMLAfJQolNCYgINOY6hjDPQZLNh2me5RPGvCk4S1terfzinmwHDPPo9yCBbi9k9opw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f3HJgREWPQHHrprlmL/3n5Py3MtRlKxKH8p/s3OyqpI=;
 b=iyEHOyuhmWtad6rfZc7h3+Ua59cOgx2uixCp8xJySDvibQOr21kU56Qz4EAuPrJigYgMMvhyn32rG/HDIdA04A2hs1xViOQiShQD2VYN95fjLduBcnMCdmx+GKAnAZ8VmYvvCAdqumU/1bMiRCm53KzM1BadCVKyHV24786Y1eMpbagvM7g/2TfTdkmYTS3fI6tgC7nElGUsCcCMHd3dVHyQmB+PQJbM2v1beNlybF/P+VoTVGkbj5P7Ty6KRGWf2cdx8PEEJwa1iDMhmYZnXXI8OccQi68WOuchKQuC/SVnpE+zLw8f2e1M2+S1lGL3MTKMX8BFtcWK4iyXYTV/kA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f3HJgREWPQHHrprlmL/3n5Py3MtRlKxKH8p/s3OyqpI=;
 b=sPIeSrfq5dIOSIMS0Rw8+/1bPFFzMTKtDkc4CLYAb9qSeRkxywYlN3CstbOXq4EnKmFH2oGAKYFxf3x4g3ZgpMKz8yisJiE9/+aJNckQMTsoFj8Bs6sPstpU6UmH5iu+oBSWQIor6bz0FR3Yqw0UJkHel0/ZFxFWcDBe3epF1UI=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei
 Liu <wl@xen.org>
Subject: Re: [PATCH] doc: Add git commands to generate Fixes
Thread-Topic: [PATCH] doc: Add git commands to generate Fixes
Thread-Index: AQHYp0dt1L2bMKjw90+5sUGUPO+Pi62ewIcAgAAY2IA=
Date: Thu, 4 Aug 2022 15:07:51 +0000
Message-ID: <CE812F61-3A0D-4E5B-8FC6-54FA40F84E14@arm.com>
References:
 <b57628b8cf8355a5f4f32e6ea577689ae7450a69.1659537759.git.bertrand.marquis@arm.com>
 <688de547-896b-da29-9137-44cf2c20227a@xen.org>
In-Reply-To: <688de547-896b-da29-9137-44cf2c20227a@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: fe4722fb-bf69-4528-515f-08da762b1fc5
x-ms-traffictypediagnostic:
	DB7PR08MB3370:EE_|AM5EUR03FT012:EE_|AM0PR08MB3697:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 11DI5KBvpQJ0e29hP2CzIEHceIfy0DcUU/0QUT2D5duMBIVAa0+kVdSX/sKX8KyR3goC1FgD6saeSHfXFu2WzoxmPGsYvDZpbCaROA1AXHC+ClFdSb/iMPZgOZ1Gnuq7ABk+u0L9m9xKOCkqooLc3Vt9Cjl85gH1Xr5pTwqLd+V0G9QlOJTVbbPWA/R12QvEB2BFR5PpBXB+BxiLKzNZA7pEEA0VeXFgFOSOszYSGLhUihU80IS/RTcTWNDNKfMKiMzT388SZcA6MJ+F+o5DD5Sxr7pJKvrFmisCBRX3bkTrHK422LKk8hy2Kktxu71fxdZ2EZovQxDMzRUHpIS+yOa149bAs5KviV+JiqfBUAbxef5blbnGf9b1hwiOfugjCBHRsOYsCwwwBgD9+/hBh3jrOkr0vcvCFHDH4z+kXmDzU7EZ64BR96hgh9YwSK/KoqQZ7IZOHCnTp9MnBYLJTE95bYLqpjrFpW3Gz6xHnliAleadQThfmnRmV4UeJMSL+RsjVf82xwqf7lyiFK3aNar06FYaUIVR+oPE8DT1xEsP1TMFsl+54S/Tttp2WLnTLnldOw44F8ceSCkuO0DxzsoPXrhuvUwR7T3HFrByh7fcfPiA3bV8mRA5lh4o6xMHvGmv5myeKZqB40/InP58i2hVnlKpuiZ5b2zexB/i19Q8oUZivgF0E30aNcG8FmcclzFcA+ouBuRtEVBi6BRqzkoEf/V365HRYUrSC7EIqqB+5+BPxlxlEjc0X+9MVrZBddDaV9V51b90ezCv6HPrGMS+lbAIpXxM39zv5yLaMoR68kZ/CClclr+kg1HenIyFQNYQsYlyjG2k6uQKDtOwxQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(396003)(376002)(366004)(39860400002)(478600001)(26005)(122000001)(38100700002)(316002)(6512007)(71200400001)(6486002)(186003)(2616005)(54906003)(8936002)(41300700001)(36756003)(53546011)(6506007)(2906002)(6916009)(33656002)(8676002)(76116006)(64756008)(66946007)(66556008)(91956017)(66476007)(86362001)(4326008)(5660300002)(66446008)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <526B9735E9D30F4AA98C43A330CAC191@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3370
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fc9512a5-aaf4-44bb-ff00-08da762b19eb
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jEgqOHxXVTaUCdKAfVfD3Lglj1t4tCWy/UI1fnq829v8Qt1d58uLSCkdfwIEj2LMSFl8UBUe7d/l8Cp9DQoiw2I09bp7k1bdGP8UmqR900hQNRwPXkHThtMGdhqKuqxapu92MAWWUb+xE2Jf16x9aPdybIocAyDP57N9swBpIJHH5yAYKws0KU5b7aVhoBQb+I9WnIJuSuxX4e5n9epUjvhyUcAD3iZUsWdtSLd9r5onA/7DdmQG2GxzWc93Jsr0qxdkmgmJW+0fQxDpcRQ3x+vRISmyK7XnJo20RRq+2PVZN7/WOzdxj8FGBUaXqC1cDYLkk94XTC4aqkzT7GRpql/1OU6t1ElWwmWWcL9Iekh6cuZ9OzsOCURK4hvA2goDeSjDuhfAB8vJij1o+bmlUJR+KVsfr1f+0A+wwZfmSNWPSfX2gfDs1LFL/Naa7icoWTLbHskwVDoDX5VZ4rSfb7ra7Vqnp4SJc4o+o2joqD7ozXkoJxwwIlEZZLwrT0YYMclKWUJt3NHwjLRzjILf1NcYNfANrbulOXJPnxrN4F3h2dbdrVjM5PzMEHYuCzYYoiwdgWd1Q2PKGPl8Y9Ze4Yl9sK6eY4DtWo/1TzK2M4LRHTFCWb6ZrZdiczWDXXQoD5U7yI3dyrEQeEVEtZvzlgF8yQEMcuW8OTjAVhDrB2hop3nDfMEfIQocCt+6At+BDBqK5wxTG4K/rjkbwu0HUToBOes08n+2THEy6+9wfPkcoCrBVszks/h6J3MRKEc143b+YHlGb/WC3eMZPmXpjezdTTCbmAVisFcPE02f7dCoJs83VYpDWyIx37iPx2kS
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(346002)(376002)(46966006)(36840700001)(40470700004)(186003)(2906002)(47076005)(40460700003)(336012)(41300700001)(26005)(6506007)(53546011)(33656002)(356005)(82740400003)(2616005)(6512007)(86362001)(81166007)(40480700001)(82310400005)(36860700001)(6862004)(5660300002)(36756003)(70586007)(4326008)(70206006)(8676002)(8936002)(6486002)(316002)(478600001)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 15:08:01.4261
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fe4722fb-bf69-4528-515f-08da762b1fc5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3697



> On 4 Aug 2022, at 14:38, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 03/08/2022 15:43, Bertrand Marquis wrote:
>> Add git commands examples that can be used to generate fixes and how to
>> use the pretty configuration for git.
>> This should make it easier for contributors to have the right format.
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>>  docs/process/sending-patches.pandoc | 4 ++++
>>  1 file changed, 4 insertions(+)
>> diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-=
patches.pandoc
>> index 7ff7826c992b..9c4c4655323b 100644
>> --- a/docs/process/sending-patches.pandoc
>> +++ b/docs/process/sending-patches.pandoc
>> @@ -102,6 +102,10 @@ E.g.:
>>        Fixes: 67d01cdb5518 ("x86: infrastructure to allow converting cer=
tain indirect calls to direct ones")
>>  +If git was configured as explained earlier, this can be retrieved usin=
g
>> +``git log --pretty=3Dfixes`` otherwise ``git log --abbrev=3D12 --onelin=
e`` will
>> +give the proper tag and title.
>=20
> Rather than "proper tag", do you mean "commit-id"?

Yes you are right commit-id is better.
Can you fix on commit ?=20

>=20
> Other than that:
>=20
> Acked-by: Julien Grall <jgrall@amazon.com>
>=20

Thanks
Bertrand

> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Aug 04 15:26:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 15:26:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380566.614767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcjL-0007Is-Gw; Thu, 04 Aug 2022 15:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380566.614767; Thu, 04 Aug 2022 15:25:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJcjL-0007Il-DZ; Thu, 04 Aug 2022 15:25:47 +0000
Received: by outflank-mailman (input) for mailman id 380566;
 Thu, 04 Aug 2022 15:25:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ntlx=YI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJcjJ-0007II-GD
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 15:25:45 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20059.outbound.protection.outlook.com [40.107.2.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b43deddc-1409-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 17:25:43 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8181.eurprd04.prod.outlook.com (2603:10a6:20b:3f5::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 15:25:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Thu, 4 Aug 2022
 15:25:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b43deddc-1409-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eT2f+RSb9+MqtTP7wQyy7kwBfjjYhJ063qpg6uDydMDY6z73MYs6zusnm/cpNMJJZrPqkJNOrI+nh1Ci0xewDqJLAFpLmJptAkqYoURgiRxk/5M3y13MwXkIrLXI9g8kD2kBM1qefYdsVQ7Uz9zKMDRDOiiZ/9INj51WFVQRxKMPlviQ2EF/2vmbZlnPiTyIuW+FGALEcxhz4T7w7m65cR7caET4/bDkwUeNnhiWRJ+cV6249jVF8nwjKq8DTRdaTuIf9PeEMg/VwFvJmmK+OOE+Sw2KB+2PrbDhSySk1L8GRhU22RcCtXl5rBlMMFUL0GTRGT477c+gB1DyGkwFaw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8hDLDcDGzOVi4qA042+N2xPrue3wYIbHmU2gdBcKRFY=;
 b=jPLPs+zS/m/1C9WdiVN2Kb3okyK1dlG//d92hiALe+u4ZzNvGnLoGHZzRryusElKfVe5tOgE/A+xjPBoKKcFDk9TtAFvQHuflHQXXJeHQ22xbGLg13YII2o4kXkgjBsI92WTnnfMrbpW5uTSk5JuUbqZqG04dn67QYcv/hqK+crxKFpV/MjJnqQim+/WMtIAY6mqHyc6w1SiRoyN8WUpZTWyy3jcmxSY+TEVBlw4xi9nrcumQW4zYO/izjHLygISKXGKoKlJho/x17zqMhigTR2TwFuidtw02vxSBq/QuBtwaWaLQXzjm5pyNhfi9+zYvAzycZCC8LV8JqXexn8chQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8hDLDcDGzOVi4qA042+N2xPrue3wYIbHmU2gdBcKRFY=;
 b=cpZjZfuq4KLrSwhYaySKtxisRsYfyqiohsq1ivOAlUr3LTCraZqC1VUtESEpJTC1ItCpEPQkGcbhL4NUSwHEIPJ5+xv4VnzPm9/sGXuzj/KGKhhyd29XlakVOY6wW/fWK1SSpcwNS6fZoMlbVl2Xtpl37BeFJWrOfLkdRxp/1rRAwGimPRhhhUZehCZ1IzbZ76P/FlfIXei3puPo1iuraUQMTk31bKCQv3K5sFRApTip/D4QrDHmJI+qa0nsfh1mHSG5p+HZZ6Boul3rYYJTe7oifERp88j1VXg1wzMTxgM9UHOkEVT9i+YrZJ5Dlteri2uWFTLiVXRvLc4aZmj2MA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <961b9bed-29a0-30ae-09a2-001698453be4@suse.com>
Date: Thu, 4 Aug 2022 17:25:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Henry Wang <Henry.Wang@arm.com>,
 "community.manager@xenproject.org" <community.manager@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] ChangeLog: mention IOMMU superpage support
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0094.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c43b71cb-d98a-420e-0b9d-08da762d971a
X-MS-TrafficTypeDiagnostic: AS8PR04MB8181:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5zjXP9C6ZG/K8sar1U7HtDqn1bT3KnwlixqY7vtgUkNgpGKXrkw4X8h7Wx64jGJFkbbJ6BylUkjjQyJIN2beb5iWnu+e2F1updTx1ppqQVTne42Nu39J2fQXdf8Yp4ozuDJAkPffqCII9fdc65eexAYrnAhOa5ro4f7sYxIxEx+NuV/yqHgwSxfEkmtb7Jy0IyPjN+0infyWjf5xnuSrXCOhvE2giNAQA+anMR5Q8XWh4rMOyRnOaNA2XOMZQoF41FkPtULv4w9HmKHTyJF5/Rixgmyj2+8gz1LWPChmPXmOGNWbxgl0MBb9ACh7xl0emLOJeHzGzz9aFWwqnEddxR62AnVq6nW/OUln/ion7k99M64uOrBRitoPe9viYMh3YgknpPr2rancwDKqIR2Xz9ccP/NXy3WNermTFlEqkijV6fBfECoxmQpbj/dKJkMkZLahTP66ljAiK3lJodeYR0+8/C7TD5p7HgvWcVRl4hrxKSWeNmethO9VOnpCHt51M5CYU9yRrciWWXvb2eGX9/GA4U9z0S9ZJB9Tl1OWkPEMAnOguSVuKkg86RUeGnPvx847MLhkO6G3k4RD4xYK6KwEphO4Bq90du2cBVwZ0fvjTtSdCy8qyVA3f5kvuNPiFQECjdKepMZF/Wwp/AnGQUktO8gqlvOv1MRHruH2l/IlaXJfkzAcFZ2m0SaSYR7b5NoPXjpdlPIub+8UMcZEpK1Zd5m57h9rSRlrGrwfxX5HJpcmV0Z0lJpfcDv4XLfO5mo4hf+6rt6Hrh1eIVar6qOIq59U38+H37O2Ek7plDvFet9xde6On5zl+Iygrub5DJYeT1OjAuUBLGVcrclhG+KjcchQkmI6PSLm9TtAAGfuT6S/BKXWfze0fqUf6S+psoTYorUwW7vJj6ECmmqOLEKNDz6XSe7u8ZTaEeMv5Ys=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(366004)(396003)(346002)(376002)(2906002)(4744005)(5660300002)(41300700001)(2616005)(186003)(38100700002)(6506007)(6512007)(26005)(54906003)(316002)(31686004)(478600001)(6486002)(31696002)(8936002)(83380400001)(86362001)(66556008)(66476007)(36756003)(4326008)(8676002)(66946007)(6916009)(59356011)(219803003)(207903002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TWhpZ0ozSSt1UkxXUWtoZHpNMjkxYXBjUEdwSTNNYVRGRXpkbS84WGxpZ2d6?=
 =?utf-8?B?MCtPQTY5WEtWMnNCL2RIa01OcDIwbXo5Z2dpNjVBSWpFeFcxWmRBenFWYzF5?=
 =?utf-8?B?cEUvdTEyM1NBai9qOFhpWGFGa2E4emdobUNzS0ZBUWMzMjVrNFdVK3dQQk5X?=
 =?utf-8?B?QWszOWNNZlpIL3pCWGhLZDdhYXh5bTVXMlAvSGFrbFhvY1dOYlVWOURMNU1V?=
 =?utf-8?B?UkhJOExOUTFBVFpGS0tLTGgwcmhWUzJqc2FnYzFlM2sxd1VEVmtGd0Z4dkR6?=
 =?utf-8?B?RFZPK2hDZDlqdU1YTWFSdUx5N1pFWlBzWHJVN04vaGpmWDhRcE44OVUyaDds?=
 =?utf-8?B?c0t0ZWxUNGZrcDR3ZHVXSlpzQWlFMExxOHg4b2s4WG9rWXVRYU9HRS9ZSzJt?=
 =?utf-8?B?YjEvQjFEVHAxbzZETzNtT0NENzhOYzRkWEdjT3ZtSklFMklkU2RHdFlmeFZn?=
 =?utf-8?B?ckY2QkpkVDlpZHlTaS9tVlFtdVRybmRVMzJ3TjVmTm5wc3lNdnBEWUxWeWtK?=
 =?utf-8?B?NFpldTFZa3RTN2ZYejJyN1VEUmkrN0lWZ085WHVDRHpGZTZzQ2ZyZHl0OTRV?=
 =?utf-8?B?cGwyeDg2Q05MWXI1djMzRVhYWXVIeEtRNm4vNEZuZGdkWkxJbUhmQWtuYW5W?=
 =?utf-8?B?MmIrK2NodkVrbG5XZkx0TU1EZ3hya1RZZ0hxWW1vK0JicHJXTXlRVmZ5Ulgz?=
 =?utf-8?B?VGdsVUpaNWhQaXZ0dkROM29pdDRwTHE3L3FmUTlwVGM3VmdiVzNXZnBwa1ZH?=
 =?utf-8?B?Ym5tbUhCUzJMdWJmbFFFL3JhRkt6a0tpOS9EUmFyTlY1dTlKU3VSTlZzYk9Q?=
 =?utf-8?B?S09hb2RFOTcySWZjYnVvcUFTTUNrUkpzdytFYXFpQVRLT2JqbWlXZlp0SHZU?=
 =?utf-8?B?ZHp6SlFLQVNndWVDcGl4MENLUGE2U3NnQU9wWEhibHlRZVBKL2c3ZjJ0bG52?=
 =?utf-8?B?YUtTQlhCbE9sdjN2OENpVW1JWmxrZThGSGJhQWhiR3dRK2hRSFpRVmRqMUVE?=
 =?utf-8?B?U08zRjA1REVhZjQxbjBWa1pnZGFWRDUrRlNnL2xic21MR25JZVUyMTdLcFha?=
 =?utf-8?B?c1Jyc0l4RGRodERMUWVHUnBmNU1RbVJBZzU5VmlVZDgvODFwRkE3NjQ0dFh0?=
 =?utf-8?B?S2VEOVdXMjY5SkRqMTVhREhnNE9zaWxLYnpMdG1QMzBjQk1jc2JNdkNveUw1?=
 =?utf-8?B?MUlKVTlreXhuSDNPS0lDbnV0dFhHdVhaY0trQ0ZDY1YvUDNXR3dLZjAvRkQx?=
 =?utf-8?B?QkNqaVFPcXI3VUFZQ0lpaWVyQlBlR3BrQkZkOE9zaTNIQ0xIOXNtcm41UTl3?=
 =?utf-8?B?VzN5WTRVMUZCRnFkNDJzeDZBajU1NzN4M2dNeFFtajJpeERKdEg5M012ZGph?=
 =?utf-8?B?TEtFMlNLZnVnYmRnTXJ6NDQ1WXRoL1RNekJXOVhDMDdzN09hMk1rTm4vRXpQ?=
 =?utf-8?B?azF3M0pZcTdNektCeWpDcWtHdUtjR3lDTDY3K2c1blUxVys3VnFPVUpDbmJR?=
 =?utf-8?B?Rk51R1FSc0FoQ3VkUHV4NkhKM2xCUTBOcmZqK0oxUGN2RDE1c1RVNkJCVzFU?=
 =?utf-8?B?OENUQ0F3VTlwdXRiNjJOOVgyeG5GclVZQlk0c3R5dmkzUDZUVm82alphb05J?=
 =?utf-8?B?bEE0VC9lTy8yZEltdTVoUlZCOFhLaThYczVuSEN4VEFJNzZGRmI5VklybEQv?=
 =?utf-8?B?bzRZNzFrNnNqWHRTbVNJY2czcXNYekNYOU9tYkdNc2lrV1ExUlNNeFhzTE1S?=
 =?utf-8?B?ZWlLazdtRUZWbjE2a3ZzVHlHanI0S2U0QUVOaEdkUFJUVmt3WnZQWjVrZ3Zi?=
 =?utf-8?B?OXRtTmV6bklRWitDOGlQUVo4ZitNbjByRUFwcWlJS0t6bTNNZnNQN0Q4ZTNE?=
 =?utf-8?B?SUlKZHFBSm5LeDFlR3NBTnRjSEMrWENDWDdhbk1TWURjb0RmNUN2R2s2ZVUz?=
 =?utf-8?B?REMzbDA3Ykp0RWhHaXdaTm9oZkF5MEUybm9PU3VHYVBFN3JxQTM5N1ZoaEc3?=
 =?utf-8?B?WVhDS0lGM0dBdXZLZUs5MnlSMnE1N1lOY3lmditNVmJRUzJRcnRoY0ZGanBI?=
 =?utf-8?B?eEltcFZrNjFXM05HZ0Jtb05CRjRkUFgwM3VjZ0dXNHR3ZHJ6WXpDRlFXUmdS?=
 =?utf-8?Q?MzU2jFgVx4+HGZGHepJu/QttN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c43b71cb-d98a-420e-0b9d-08da762d971a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 15:25:40.9050
 (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: 7fPjxx+atX8GUIskvRkl3dVKUCV+Ti8hDVLuStmYIp9F0K2lQ1CsxKJaq/bVg8C4jIuUkQgbAQUx0Wq0HvNdLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8181

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,10 @@ The format is based on [Keep a Changelog
  - On x86 "vga=current" can now be used together with GrUB2's gfxpayload setting. Note that
    this requires use of "multiboot2" (and "module2") as the GrUB commands loading Xen.
 
+### Added / support upgraded
+ - IOMMU superpage support on x86, affecting PV guests as well as HVM/PVH ones
+   when they don't share page tables with the CPU (HAP / EPT / NPT).
+
 ### Removed / support downgraded
  - dropped support for the (x86-only) "vesa-mtrr" and "vesa-remap" command line options
 


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 16:15:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 16:15:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380576.614787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJdVD-0004c9-2d; Thu, 04 Aug 2022 16:15:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380576.614787; Thu, 04 Aug 2022 16:15:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJdVC-0004c2-Vo; Thu, 04 Aug 2022 16:15:14 +0000
Received: by outflank-mailman (input) for mailman id 380576;
 Thu, 04 Aug 2022 16:15:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJdVB-0004bs-Qu; Thu, 04 Aug 2022 16:15:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJdVB-0008IG-NG; Thu, 04 Aug 2022 16:15:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJdVB-0000YS-9u; Thu, 04 Aug 2022 16:15:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJdVB-0001DJ-9S; Thu, 04 Aug 2022 16:15:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hFZYM/POc3yrfZb7+6cGJ4qyNXPck5UP3RRP+zg45R8=; b=m5iIDg/Ji3P7mu38WTbkAZPFar
	EmtWhXW2PWfrEiucUKsgD/Q19a/YqfoLxMKTxOtRIVcqQp10tHg0c9Zz00JpSq9YXm5zKNgHp6wD7
	gcT4DdCn7EAGW506Fq26JSu22MlEDFeTkYbUAeZPAhxYYZsqBD29WDfVG/1/pN63fUK0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172123-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172123: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
X-Osstest-Versions-That:
    qemuu=d2656dd577754129f86328f95e6ee4a241913d6f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 16:15:13 +0000

flight 172123 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172123/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172103
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172103
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172103
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172103
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172103
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172103
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172103
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172103
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819
baseline version:
 qemuu                d2656dd577754129f86328f95e6ee4a241913d6f

Last test of basis   172103  2022-08-03 06:11:28 Z    1 days
Testing same since   172123  2022-08-03 18:10:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ilya Leoshkevich <iii@linux.ibm.com>
  Laurent Vivier <laurent@vivier.eu>
  Peter Maydell <peter.maydell@linaro.org>
  Rainer MÃ¼ller <raimue@codingfarm.de>
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   d2656dd577..2480f3bbd0  2480f3bbd03814b0651a1f74959f5c6631ee5819 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 16:23:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 16:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380586.614798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJdco-0006A2-1e; Thu, 04 Aug 2022 16:23:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380586.614798; Thu, 04 Aug 2022 16:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJdcn-00069v-Tj; Thu, 04 Aug 2022 16:23:05 +0000
Received: by outflank-mailman (input) for mailman id 380586;
 Thu, 04 Aug 2022 16:23:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJdcl-00069p-TK
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 16:23:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJdcj-0008R2-Fh; Thu, 04 Aug 2022 16:23:01 +0000
Received: from [54.239.6.184] (helo=[10.7.237.15])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJdcj-0007sR-9x; Thu, 04 Aug 2022 16:23:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=fSDtqr15Z5LAJw/KSpamennGcFRCaZ3Zfeq+wVx8ZjE=; b=nSINw/IzvN3WVzIFdYdWbMbS9i
	wyQC58a2AaU6XZ0JMpZwyYvoVYSf95rAOUHxOH6qKJ3zAdRQa/rvWfxKudj65BNhXEPaA0cefRmLZ
	d8xO6CnB8SYOV9p/iUrv2S/G/6/GWWZQz50nhZyPDjft9XePjqXYlaO/AuLCyqZ4AjN8=;
Message-ID: <7b71368c-25bc-9fa0-f8c7-3e85186c15cf@xen.org>
Date: Thu, 4 Aug 2022 17:22:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [xen-unstable test] 172089: regressions - FAIL
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <osstest-172089-mainreport@xen.org>
 <9a72a1ef-c332-7dd3-b84d-baf34f9d7d9f@xen.org>
 <d5f37740-aeee-8cb1-7377-a92d43fe1898@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <d5f37740-aeee-8cb1-7377-a92d43fe1898@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 03/08/2022 13:13, Jan Beulich wrote:
> On 03.08.2022 14:02, Julien Grall wrote:
>> On 03/08/2022 08:13, osstest service owner wrote:
>>> flight 172089 xen-unstable real [real]
>>> http://logs.test-lab.xenproject.org/osstest/logs/172089/
>>>
>>> Regressions :-(
>>>
>>> Tests which did not succeed and are blocking,
>>> including tests which could not be run:
>>>    build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172073
>>>    build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172073
>>>    build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172073
>>
>> I was going to force this flight because of the libvirt issues. But...
>>
>>>    test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172073
>>
>> ... this is not a test related to libvirt. Can one of the x86 folks
>> advise whether the issue is benign?
> 
> This test has been failing every now and then; whether for the same reason
> cannot be told anymore as the older logs are gone. I would therefore like
> to recommend to wait for the results of the next flight.

Thanks for the input. There is a new flight [1] where the only blocking 
issues are because of libvirt. So I will push that one.

Cheers,

[1] https://lore.kernel.org/all/osstest-172120-mainreport@xen.org/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 16:38:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 16:38:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380593.614809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJdr0-0007kV-9s; Thu, 04 Aug 2022 16:37:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380593.614809; Thu, 04 Aug 2022 16:37:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJdr0-0007kO-5Z; Thu, 04 Aug 2022 16:37:46 +0000
Received: by outflank-mailman (input) for mailman id 380593;
 Thu, 04 Aug 2022 16:37:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJdqy-0007k2-UN
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 16:37:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJdqu-0000FB-J7; Thu, 04 Aug 2022 16:37:40 +0000
Received: from [54.239.6.184] (helo=[10.7.237.15])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJdqu-00007O-DZ; Thu, 04 Aug 2022 16:37:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=YwuaDAU6VG1V9chyav9nqirlmVG4W6sb+NsRClJZqoU=; b=to1wSfGz+h2Og+sHmDFdOCqSCw
	+EK0bX8KSw8KNXitW0NmYdg4t1DALAoy7t0hEsdYm9hGRWtFsJDPK4iO2DLnoiGyiOp6iP86jW1fg
	YOdXN1ixyvuZ5c1K853o9d1PJUkDbNY1aQeOWfUNm7AwM+P5q8zC9456M134IGEqESKo=;
Message-ID: <3df9ef1c-b707-7d14-204f-73d55b237cee@xen.org>
Date: Thu, 4 Aug 2022 17:37:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [xen-unstable-smoke bisection] complete build-amd64-libvirt
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 "committers@xenproject.org" <committers@xenproject.org>
References: <E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org>
 <08606914-f5f4-8415-51a2-f6a5e1c54d20@suse.com>
 <db39670c-7e36-2cf5-a87b-92d10d3aac18@xen.org>
 <7bcf8fac-df56-2032-0057-2b7c671e59be@suse.com>
 <16b1c490-1d8f-1c35-496a-a60fb1404fc3@xen.org>
 <ff565bad-c2be-5128-aeae-28f614f0230c@citrix.com>
 <c4ebd102-f5ed-0109-4eda-a98a59cad21c@xen.org>
In-Reply-To: <c4ebd102-f5ed-0109-4eda-a98a59cad21c@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 02/08/2022 11:58, Julien Grall wrote:
> On 01/08/2022 14:15, Andrew Cooper wrote:
>> The testing situation with libvirt is already bad.Â  I don't think a
>> force push is going to make it meaningfully worse.
> 
> I have forced pushed to the branch smoke using the flight 171899. For 
> staging, it looks like the latest flight was testing f732240f, so we 
> don't have one with the libvirt patches.
> 
> I am hoping the push to the smoke branch will trigger a xen-unstable 
> flight.

master has now been forced push as well.

Cheers,


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 16:58:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 16:58:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380627.614928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJeAt-00030X-BI; Thu, 04 Aug 2022 16:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380627.614928; Thu, 04 Aug 2022 16:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJeAt-00030Q-8Z; Thu, 04 Aug 2022 16:58:19 +0000
Received: by outflank-mailman (input) for mailman id 380627;
 Thu, 04 Aug 2022 16:58:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJeAs-00030K-53
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 16:58:18 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJeAp-0000jo-5i; Thu, 04 Aug 2022 16:58:15 +0000
Received: from [54.239.6.184] (helo=[10.7.237.15])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJeAo-0006BE-Tx; Thu, 04 Aug 2022 16:58:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=GvydFCQ2McL0Lz14H/79C8r3vd+shNocBWO3JksUbFY=; b=LV87WKHvj5dZlSLKUh4X8T5gs3
	UzKwU1fOLBQc5roqUOzlK4L4x4IaEmfqJ12JFmjMGk9kARVNJAYgM5f0o+r+NNY5WVQQblw4wMkld
	4425/D+nnCZJlNGYOye7TwDYPUar4TULLti6SgQg1YJ/mqcErHwlThx2F/x8dReGyDXM=;
Message-ID: <970cecfe-0c69-08b7-566b-6bd1fd470992@xen.org>
Date: Thu, 4 Aug 2022 17:58:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v2] tools: use $(PYTHON) to call cppcheck tools
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <708f00303d1c370622707866d41a868425a17324.1659527529.git.bertrand.marquis@arm.com>
 <dd4a5616-5c1f-51f2-0bce-3679432dcd58@suse.com>
 <07858193-47b0-f1a5-6bdc-4cac4dbe2ed7@xen.org>
 <6FFB4DB2-5F3B-4E2F-AF7D-A5C47D497476@arm.com>
 <773AB351-B4C7-43ED-AA83-FC80DCF2541D@arm.com>
 <c953cce8-223a-4498-c840-3784d77c0a3c@xen.org>
 <DC024A67-B743-4D82-B9B0-966FA0F1853C@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <DC024A67-B743-4D82-B9B0-966FA0F1853C@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 03/08/2022 14:29, Bertrand Marquis wrote:
> 
> 
>> On 3 Aug 2022, at 14:01, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Bertrand,
>>
>> On 03/08/2022 13:56, Bertrand Marquis wrote:
>>>> On 3 Aug 2022, at 13:55, Bertrand Marquis <Bertrand.Marquis@arm.com> wrote:
>>>>
>>>>
>>>>
>>>>> On 3 Aug 2022, at 13:10, Julien Grall <julien@xen.org> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On 03/08/2022 13:05, Jan Beulich wrote:
>>>>>> On 03.08.2022 13:57, Bertrand Marquis wrote:
>>>>>>> When calling python tools to convert misra documentation or merge
>>>>>>> cppcheck xml files, use $(PYTHON).
>>>>>>> While there fix misra document conversion script to be executable.
>>>>>>>
>>>>>>> Fixes: 57caa53753 (xen: Add MISRA support to cppcheck make rule)
>>>>>>> Fixes: 43aa3f6e72 xen/build: Add cppcheck and cppcheck-html make rules
>>>>>> Nit: These two titles would want expressing consistently. If I
>>>>>> end up committing this, I'll try to remember to adjust.
>>>>>
>>>>> There are actually a few issues with the Fixes tags. From the doc [1] :
>>>>> - the sha1 should be 12 characters (rather than 10)
>>>>> - the format should be:
>>>>> Fixes: <comidid> ("Commit title")
>>>>
>>>> You want me to resend and fix that ?
>>
>> If Jan doesn't want to fix it on commit. Then I would be happy to do it.
> 
> Thanks a lot

I have committed with the adjustments discussed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 18:14:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 18:14:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380635.614942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJfM4-0002a9-Qv; Thu, 04 Aug 2022 18:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380635.614942; Thu, 04 Aug 2022 18:13:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJfM4-0002a2-O4; Thu, 04 Aug 2022 18:13:56 +0000
Received: by outflank-mailman (input) for mailman id 380635;
 Thu, 04 Aug 2022 18:13:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJfM3-0002Zw-C9
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 18:13:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJfM2-0002Pp-9V; Thu, 04 Aug 2022 18:13:54 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227] helo=[10.95.117.14])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJfM2-0001dQ-3A; Thu, 04 Aug 2022 18:13:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=cBsxvs6xNeVJKwi0WROT3i2B2lv8Mwc4fO12YDEu9AI=; b=p/hCgvQ9/iD+MwJHot6G5gXqCQ
	3JKvDwQ4inw+zvz2b8sPMSKf/5Cf3DYaaXfvkXDXxoWCTusQhLRE9VPzAb07c4+C3DcwzrWYlYcKu
	a4m9+pfQRxuQbzduho4fhdlCTsJI7zlF4Ozjyx1DPpAK1Cy9qQrjDAAIxw6twHQXngjc=;
Message-ID: <d1895e3a-4866-f325-7606-d57dae29182f@xen.org>
Date: Thu, 4 Aug 2022 19:13:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH] doc: Add git commands to generate Fixes
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <b57628b8cf8355a5f4f32e6ea577689ae7450a69.1659537759.git.bertrand.marquis@arm.com>
 <688de547-896b-da29-9137-44cf2c20227a@xen.org>
 <CE812F61-3A0D-4E5B-8FC6-54FA40F84E14@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CE812F61-3A0D-4E5B-8FC6-54FA40F84E14@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 04/08/2022 16:07, Bertrand Marquis wrote:
> 
> 
>> On 4 Aug 2022, at 14:38, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Bertrand,
>>
>> On 03/08/2022 15:43, Bertrand Marquis wrote:
>>> Add git commands examples that can be used to generate fixes and how to
>>> use the pretty configuration for git.
>>> This should make it easier for contributors to have the right format.
>>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>>> ---
>>>   docs/process/sending-patches.pandoc | 4 ++++
>>>   1 file changed, 4 insertions(+)
>>> diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-patches.pandoc
>>> index 7ff7826c992b..9c4c4655323b 100644
>>> --- a/docs/process/sending-patches.pandoc
>>> +++ b/docs/process/sending-patches.pandoc
>>> @@ -102,6 +102,10 @@ E.g.:
>>>         Fixes: 67d01cdb5518 ("x86: infrastructure to allow converting certain indirect calls to direct ones")
>>>   +If git was configured as explained earlier, this can be retrieved using
>>> +``git log --pretty=fixes`` otherwise ``git log --abbrev=12 --oneline`` will
>>> +give the proper tag and title.
>>
>> Rather than "proper tag", do you mean "commit-id"?
> 
> Yes you are right commit-id is better.
> Can you fix on commit ?

Sure. It is now committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 18:28:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 18:28:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380642.614953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJfZn-0004Jz-18; Thu, 04 Aug 2022 18:28:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380642.614953; Thu, 04 Aug 2022 18:28:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJfZm-0004Js-UW; Thu, 04 Aug 2022 18:28:06 +0000
Received: by outflank-mailman (input) for mailman id 380642;
 Thu, 04 Aug 2022 18:28:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJfZk-0004Jk-SY
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 18:28:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJfZk-0002fJ-It; Thu, 04 Aug 2022 18:28:04 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227] helo=[10.95.117.14])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJfZk-00024C-Bm; Thu, 04 Aug 2022 18:28:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=xC6Mfr+xX3LxHQBhbvsVVsSJ/Ip8oZMvxvfF/GRtRX4=; b=pZeFemjEMP3CuGcpQB6wZ9R3DR
	pe51QhTmeSevYOzcs3WbV+NpYo/FC57LsC3h863QBus7EO8N9KJ1TAhvPUg1ZRJktlBzRtqgI+bwx
	dYy11no54Lwa0PQsoMFvHbWN5WbWoRFDDQLdNTvTpMhp6+Bzh3m1zdrMA4L3Xw58G8H0=;
Message-ID: <d4a00666-e083-8a96-6827-5520c67f3438@xen.org>
Date: Thu, 4 Aug 2022 19:28:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v3 1/5] tools/xenstore: minor fix of the migration stream
 doc
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-2-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220803115950.10904-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 03/08/2022 12:59, Juergen Gross wrote:
> Drop mentioning the non-existent read-only socket in the migration
> stream description document.

I would suggest to mention in the commit message (or possibly use Fixes 
tags) that this was dropped in 8868a0e3f674 ("docs: update the xenstore 
migration stream documentation).

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 18:30:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 18:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380649.614964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJfcA-0005fT-EV; Thu, 04 Aug 2022 18:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380649.614964; Thu, 04 Aug 2022 18:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJfcA-0005fM-BR; Thu, 04 Aug 2022 18:30:34 +0000
Received: by outflank-mailman (input) for mailman id 380649;
 Thu, 04 Aug 2022 18:30:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJfc9-0005fE-Fq
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 18:30:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJfc9-0002jC-CS; Thu, 04 Aug 2022 18:30:33 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227] helo=[10.95.117.14])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJfc9-0002C0-6L; Thu, 04 Aug 2022 18:30:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=X+EXy0dJ9U1rujnJvXI1566vFRDTYSqM3Ue1fyDM6bY=; b=ZI6R5yiTjrF2XNdDGMvEDtFfrT
	YxK7rLJSPpllhFeoT4ikJQv+zcbjSSteEeQC54ddB1yHiK1JgbCZmAaqV25yp/n2kisFSVB8gif0P
	/Ig4yQssI0DLSNoU1Hms7SHg7oj0CyGTBxnYH3/eXBwXEw1fXyLt+oDKKMsa5z7E2LjE=;
Message-ID: <7c7a826b-2f73-9ffb-356b-e6a4dbfb5d8c@xen.org>
Date: Thu, 4 Aug 2022 19:30:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v3 2/5] tools/xenstore: add documentation for new
 set/get-feature commands
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-3-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220803115950.10904-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 03/08/2022 12:59, Juergen Gross wrote:
> Add documentation for two new Xenstore wire commands SET_FEATURE and
> GET_FEATURE used to set or query the Xenstore features visible in the
> ring page of a given domain.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 19:28:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 19:28:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380656.614975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJgWA-0002oA-Oi; Thu, 04 Aug 2022 19:28:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380656.614975; Thu, 04 Aug 2022 19:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJgWA-0002o3-Ls; Thu, 04 Aug 2022 19:28:26 +0000
Received: by outflank-mailman (input) for mailman id 380656;
 Thu, 04 Aug 2022 19:28:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJgW9-0002nx-Nt
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 19:28:25 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJgW8-0003o3-V0; Thu, 04 Aug 2022 19:28:24 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227] helo=[10.95.117.14])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJgW8-00054b-Np; Thu, 04 Aug 2022 19:28:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Li4/eMc31UxGmsqRj6UlUoiKEw4mJgvC6gGqSnOaQmY=; b=o0va5gEr3qSIoaWbuEu0MSMc8Q
	rxNOB1kGJW78ZmallWdK9+MpQIpDYQKXJhEOWHqbXEh4obhSMvPU3rvz2KPuCYJiLkWb2Px2is0nL
	P0Rx81e3Uy8XOjsHneLIKyIMRXJeiNslm4Ie7BY/LBU5LPVbUzHaJPJC5LYkIlQHOkNE=;
Message-ID: <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
Date: Thu, 4 Aug 2022 20:28:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220803115950.10904-6-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 03/08/2022 12:59, Juergen Gross wrote:
> Extend the definition of the Xenstore migration stream to cover new
> features:
> 
> - per domain features
> - extended watches (watch depth)
> - per domain quota
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V3:
> - new patch
> ---
>   docs/designs/xenstore-migration.md | 85 ++++++++++++++++++++++++++++--
>   1 file changed, 82 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/designs/xenstore-migration.md b/docs/designs/xenstore-migration.md
> index efa526f420..b2b1d3d5c7 100644
> --- a/docs/designs/xenstore-migration.md
> +++ b/docs/designs/xenstore-migration.md
> @@ -43,7 +43,13 @@ the setting of the endianness bit.
>   |-----------|---------------------------------------------------|
>   | `ident`   | 0x78656e73746f7265 ('xenstore' in ASCII)          |
>   |           |                                                   |
> -| `version` | 0x00000001 (the version of the specification)     |
> +| `version` | The version of the specification, defined values: |
> +|           | 0x00000001: all fields without any explicitly     |
> +|           |             mentioned version dependency are      |
> +|           |             valid.                                |
> +|           | 0x00000002: all fields valid for version 1 plus   |
> +|           |             fields explicitly stated to be        |
> +|           |             supported in version 2 are valid.     |

I am a bit concerned with the bump of the versions. It means, it will be 
necessary for Xenstored to know whether the new Xenstored speaks v1 or 
v2. This is less an issue when Live-Migration (although there is a fleet 
management problem) but it will be one for Live-Update if we need to 
rollback.

So I am wondering if we can avoid to bump the version and use other 
means to detect the difference.

>   |           |                                                   |
>   | `flags`   | 0 (LSB): Endianness: 0 = little, 1 = big          |
>   |           |                                                   |
> @@ -117,7 +123,17 @@ xenstored state that needs to be restored.
>   | rw-socket-fd                  |
>   +-------------------------------+
>   | evtchn-fd                     |
> ++---------------+---------------+
> +| n-dom-quota   | n-glob-quota  |
> ++---------------+---------------+
> +| quota-val 1                   |
> ++-------------------------------+
> +...
>   +-------------------------------+
> +| quota-val N                   |
> ++-------------------------------+
> +| quota-names
> +...
>   ```
>   
>   
> @@ -128,6 +144,22 @@ xenstored state that needs to be restored.
>   |                |                                              |
>   | `evtchn-fd`    | The file descriptor used to communicate with |
>   |                | the event channel driver                     |
> +|                |                                              |
> +| `n-dom-quota`  | Number of quota values which apply per       |
> +|                | domain. Valid only for version 2 and later.  |
> +|                |                                              |

I think we can avoid extending the structure here by creating a separate 
record for the quota.

With that, the new Xenstored don't need specific code to deal with 
rollback because, as AFAICT, unimplemented records are ignored by 
existing Xenstored.

> +| `n-glob-quota` | Number of quota values which apply globally  |
> +|                | only. Valid only for version 2 and later.    |
> +|                |                                              |
> +| `quota-val`    | Quota values, first the ones applying per    |
> +|                | domain, then the ones applying globally. A   |
> +|                | value of 0 has the semantics of "unlimited". |
> +|                | Valid only for version 2 and later.          |
> +|                |                                              |
> +| `quota-names`  | 0 delimited strings of the quota names in    |
> +|                | the same sequence as the `quota-val` values. | > +|                | Valid only for version 2 and later.          |

 From my understanding, both version of Xenstored needs to agree on the 
quota names. So it means the name have to be defined as part of the 
spec. At which point, I think it would be better to use ID.

Also, can you clarify what would happen if the stream contains a quota 
not supported by the new Xenstored?

> +
>   
>   xenstored will resume in the original process context. Hence `rw-socket-fd`
>   simply specifies the file descriptor of the socket. Sockets are not always
> @@ -145,7 +177,7 @@ the domain being migrated.
>   ```
>       0       1       2       3       4       5       6       7    octet
>   +-------+-------+-------+-------+-------+-------+-------+-------+
> -| conn-id                       | conn-type     |               |
> +| conn-id                       | conn-type     | n-quota       |
>   +-------------------------------+---------------+---------------+
>   | conn-spec
>   ...
> @@ -154,6 +186,17 @@ the domain being migrated.
>   +---------------+---------------+-------------------------------+
>   | data
>   ...
> ++-------------------------------+
> +| features                      |
> ++-------------------------------+
> +| quota-val 1                   |
> ++-------------------------------+
> +...
> ++-------------------------------+
> +| quota-val N                   |
> ++-------------------------------+
> +| quota-names
> +...
>   ```
>   
>   
> @@ -167,6 +210,10 @@ the domain being migrated.
>   |                | 0x0001: socket                               |
>   |                | 0x0002 - 0xFFFF: reserved for future use     |
>   |                |                                              |
> +| `n-quota`      | Number of quota values.                      |
> +|                | Only for `conn-type` 0 (shared ring).        |
> +|                | Only valid for version 2 and later.          |
> +|                |                                              |
>   | `conn-spec`    | See below                                    |
>   |                |                                              |
>   | `in-data-len`  | The length (in octets) of any data read      |
> @@ -182,6 +229,22 @@ the domain being migrated.
>   | `data`         | Pending data: first in-data-len octets of    |
>   |                | read data, then out-data-len octets of       |
>   |                | written data (any of both may be empty)      |
> +|                |                                              |
> +| `features`     | Value of the feature field visible by the    |
> +|                | guest at offset 2064 of the ring page.       |
> +|                | Aligned to the next 4 octet boundary.        |
> +|                | Only for `conn-type` 0 (shared ring).        |

For the purpose of the stream, I would consider to make it available for 
the socket connection. This could potentially be used in the future to 
allow each application to have a different behavior when socket is used.

I can't make my mind yet if we can avoid bumping the version for this 
field. What would happen if we need to rollback?

> +|                | Only valid for version 2 and later.          | > +|                |                                              |
> +| `quota-val`    | Quota values, a value of 0 has the semantics |
> +|                | "unlimited".                                 |
> +|                | Only for `conn-type` 0 (shared ring).        |
> +|                | Only valid for version 2 and later.          |

I would suggest to be very obvious and say the value will override the 
value (if any)

> +|                |                                              |
> +| `quota-names`  | 0 delimited strings of the quota names in    |
> +|                | the same sequence as the `quota-val` values. |
> +|                | Only for `conn-type` 0 (shared ring).        |
> +|                | Only valid for version 2 and later.          |

As for the "global" quotas, I would move the quotas in a separate 
record. In this case, this would also be useful to avoid having may 
dynamic length field within the same record.

>   
>   In case of live update the connection record for the connection via which
>   the live update command was issued will contain the response for the live
> @@ -247,7 +310,7 @@ by a connection for which there is `CONNECTION_DATA` record previously present.
>   
>   ```
>       0       1       2       3    octet
> -+-------+-------+-------+-------+
> ++---------------+---------------+
>   | conn-id                       |
>   +---------------+---------------+
>   | wpath-len     | token-len     |
> @@ -256,6 +319,9 @@ by a connection for which there is `CONNECTION_DATA` record previously present.
>   ...
>   | token
>   ...
> ++---------------+---------------+
> +| depth         |               |
> ++---------------+---------------+
>   ```
>   
>   
> @@ -275,6 +341,13 @@ by a connection for which there is `CONNECTION_DATA` record previously present.
>   |             |                                                 |
>   | `token`     | The watch identifier token, as specified in the |
>   |             | `WATCH` operation                               |
> +|             |                                                 |
> +| `depth`     | The number of directory levels below the        |
> +|             | watched path to consider for a match. This      |
> +|             | field is aligned to the next 4 octet boundary.  |
> +|             | A value of 0xffff is used for unlimited depth.  |
> +|             | This field is valid only for version 2 and      |
> +|             | higher.                                         |

If we are going to bump the stream version, then I think we should move 
the field before token/path.

>   
>   \pagebreak
>   
> @@ -406,6 +479,12 @@ A node permission specifier has the following format:
>   Note that perm1 defines the domain owning the node. See [4] for more
>   explanation of node permissions.
>   
> +\pagebreak
> +
> +### DOMAIN_DATA
> +
> +
> +

What this section is for?

Cheers,

>   * * *
>   
>   [1] See https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/designs/non-cooperative-migration.md

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 19:36:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 19:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380664.614986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJge7-0004Lu-M6; Thu, 04 Aug 2022 19:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380664.614986; Thu, 04 Aug 2022 19:36:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJge7-0004Ln-Ij; Thu, 04 Aug 2022 19:36:39 +0000
Received: by outflank-mailman (input) for mailman id 380664;
 Thu, 04 Aug 2022 19:36:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t48H=YI=citrix.com=prvs=208fa1d4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJge6-0004Lh-8l
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 19:36:38 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf03ed17-142c-11ed-bd2d-47488cf2e6aa;
 Thu, 04 Aug 2022 21:36:35 +0200 (CEST)
Received: from mail-dm6nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 04 Aug 2022 15:36:26 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5637.namprd03.prod.outlook.com (2603:10b6:5:2ca::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 19:36:24 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c%4]) with mapi id 15.20.5482.016; Thu, 4 Aug 2022
 19:36:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf03ed17-142c-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659641795;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=ozvjxOWCPPviMtlh8ALbzzgkTWgA0s5ztxHpD3BshrA=;
  b=huSeQuVh30wJm0q+jd2RxCyB0Vbt3p83R+/wVyfygzSNuMhj1Piy92s9
   38xoT4oe+OrAUsYWwiZKpnRGL1CkTZARAP7TSDbhKyAd2i46SAiyF6YQc
   P/TjXbQhvAR+SoCEzco9VKMdcOEismA+Fbo8N6pHVSg1SD5ZKh9cFRWsJ
   I=;
X-IronPort-RemoteIP: 104.47.57.170
X-IronPort-MID: 76657994
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Jkb/0KyjNAzDIGdDSiV6t+cuxyrEfRIJ4+MujC+fZmUNrF6WrkUBx
 zQWXWGPaf6JYjekKNwkYY+1oUkFu8TcyoRkHlRv+CAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Esz5K+aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1qSx8OFJIX2dxsDHpJ0
 KICMQgwMx+q0rfeLLKTEoGAh+wFBeyyZcYzny8lyjvUS/E7XZrEXqPGo8dC2ys9jdxPGvCYY
 NcFbT1ob1LLZBgn1lU/Ucpi2rv3wCSgNWQH8Dp5poJui4TX5CV33KLgL5z+fduSSN8Otk2Zu
 njH7yLyBRRy2Nm3lmTbry3917OncSXTVds4Kq27x9xTjViR+F5MGCMrelmFrqzs4qK5c5cFQ
 6AOwQI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW8ywSTC3UATzVBQMc7r8JwTjsvv
 neWm/v5CDopt6eaIU9x7Z+RpDK2fCQQc2kLYHZdSRNfuoa75oYukhjIU9BvVravicH4Ei3xx
 DbMqzUig7IUjogA0KDTEU37vg9Ab6PhFmYdjjg7lEr/hu+lTOZJv7CV1GU=
IronPort-HdrOrdr: A9a23:CYWfK6DUD4ZE8ljlHegPsceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEEZKUmsuKKdkrNhR4tKOzOW9FdATbsSp7cKpgeNJ8SQzJ876U
 4NSclD4ZjLfCBHZKXBkUaF+rQbsb+6GcmT7I+woUuFDzsaEp2IhD0JaDpzZ3cGIDWucqBJca
 Z0iPAmmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlml9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4gow3TX+0WVjbZaKvi/VQMO0aWSAZER4Z
 7xSiIbToZOArXqDyeISFXWqlDdOX0VmgLfIBej8AfeSIrCNXwH4oN69PxkmlGy0TtegPhslK
 1MxG6XrJxREFfJmzn8/cHBU1VwmlOzumdKq59bs5Vza/poVFZql/1owGpFVJMbWC7q4oEuF+
 djSMna+fZNaFufK3TUpHNmztCgVmk6Wk7ueDlIhuWFlzxN2HxpxUoRw8IS2n8G6ZImUpFBo+
 DJKL5hmr1CRtIfKah9GOACS82qDXGle2OFDEuCZVD8UK0XMXPErJD6pL0z+eGxYZQNiIA/nZ
 zQOWkowVLau3iefPFm8Kc7giwlGl/NLAgF4vsulKRRq/n7WKfhNzGFRRQnj9agys9vcPHmZw
 ==
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="76657994"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Nju6XtSYNndgXxidz0QHNvdQQLqlvf99zDbs+slOH9p2uyCo2mAjSfJssphYbijPCulUZ+p87wA9NLer22dMO5gvJFwABbBNqXQqJrC97Bdi502A2dBG09OCKDTIX80mQijyzFSHeDdUw57ju1uVlULg5NDS8BvALXZM4QwWsClhlv/7y8jPIxiN7h31A1UFOQ8A9aW6IxHaVUpLfm54pjT7GNVtopqQaG2c4a8C4DJvfIPlJc95wbrHxm0cFsIdvS6jdfIZWkKGN2GJFxyjij2YrvKekPUKVuztyAmtOYmWkirXWkifsjd8qSlpRVs5dwavEY4lkG6oRlru8oZ3Ug==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ozvjxOWCPPviMtlh8ALbzzgkTWgA0s5ztxHpD3BshrA=;
 b=KvR5i9CCCRVSE+s7a99ZjeZoovnAl2MWsa4StTI9rVf+qbkBy90viFkvDZmOSmcxrc6pROP/diSowePHl2Mv8v4iTLkFvKdTUWllC+Ya/wIG+lrAuCuik5WQJWim1d2Qnb3qmPM63Zkc9bbJGmwwQu6YPLS2jKCX2WWcwYIfh9GebctjA0NuaZtizXDeP221Pc26nxFWI2lasw0qSZxDSyCFyF9xrN35/nO6fbD2lbpZ0D936JmZi509Jk/MFivz4/Coe6d+2ictdWXpvXvmszW4Vy1iDPlBosXkcYuglCLzkHwKa0gbtmG2r1GgPpFZjAr65YR4mG8NVUCRBOyEMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ozvjxOWCPPviMtlh8ALbzzgkTWgA0s5ztxHpD3BshrA=;
 b=PfZzQ7xA0pSLuQjI9+INCywqPtFET7BNNXV397zB/Tcgn7C6/HKUnoxekGceRRcprncv4Jvlk0yUc2b4CPA6Q/v6VqxL2Q9PMFUKIsC/45oPn/GYmY7i64S6aMFeyPVQGr3VX27A0wv5BkfRkj/LK2H5U226Khz2AtMosXI7ttg=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jane Malalane <Jane.Malalane@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH 3/4] x86/entry: move .init.text section higher up in the
 code for readability
Thread-Topic: [PATCH 3/4] x86/entry: move .init.text section higher up in the
 code for readability
Thread-Index: AQHYqBOZq/911YsKKEK60hmSvt8o862fIs2A
Date: Thu, 4 Aug 2022 19:36:23 +0000
Message-ID: <489d489c-6eb6-192c-1b57-0680ed2ac61a@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-4-jane.malalane@citrix.com>
In-Reply-To: <20220804150424.17584-4-jane.malalane@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e6483c5d-cce0-4bc5-6630-08da76509d79
x-ms-traffictypediagnostic: DS7PR03MB5637:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 1enp6OV6lrcaPcdgOXvKxYyMZV923FryNJWXvjwfXrO1S6YIt+fCC5mx2qAUORqPX3tAO/JnmpjXG1UZj9aHufDcJmWzrqPmrAeX8i4OY68Q7Vrnl7RsxeW95p/ud8DCFfwQRkk0pqUCKpnEQDN8WVLQJULOTMjW8wSGuDYFwZIp7LCnI8HUnTYm2RuYl8MS5iaWIYk7+bni6rHmYyaPbIln9dRQZIG5L4nTBrpEm8FGwhFoxrfc0UJxlTx6emw2Jnp/unS8XB3ilUeLrxSzqjfGpwlDypeGyP8jkkNHH89QEZO/rlBw1fO7igQ7mOFNQ9ZPy90Wk7qXE/rz2G1NMxqtC3hBpV0gVECc3XdiMb5XuUCrw56SHxhuDGr+pYLqAyJqT5MUYixPBYbtRdEQ3xD7c7DSRkA7Mks863ZYCRnMMq5Xq2P+IlSSVxm6zFBm6BI7sh0cRfy223u+uo0g8/d1TcxE19dksuF5rrrb0Blec3cnYFJJmE2CjOEoT6hJiBrqaNxO/NoZrjfUj98ecR2POJGY4B8PPEuLDJ5qZ35I1O/iHqURDTIS1UBLUQtdCTIp9ASBibmn47QWaU1jVDB69fRF2Ml4CQAz9LRVTmnvuuqowHMbxyqX8QGEgG07gli5ASr9UI+JWInrky7F1xcr6h/zBrObX494je6UvCxZmwth206xdV7hTQUjMDAgsrTgi9jA8tBT9u6sPiPrulYT3r9RM8bgsi/H2qHw74ob3RkQmubLBaAkP6hV4BB6QL8uCX0f/Tx2ZzxS5xwawu6c4Xg55EiLWH+yYdNqbMjTnRu0eHtQI9RgBPglNiWAF0bl7UiWSHrTOEPg7FeSHR5aN8RtQMs7UerTIiTViyhkETcang1R+oQRL+bAOq0i0UsadDpgRMnhsf8SPbplTQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(346002)(39860400002)(376002)(366004)(53546011)(186003)(6506007)(41300700001)(2906002)(6512007)(2616005)(26005)(38100700002)(86362001)(31696002)(38070700005)(83380400001)(82960400001)(122000001)(478600001)(4744005)(6486002)(5660300002)(110136005)(54906003)(66446008)(316002)(8936002)(66556008)(91956017)(36756003)(76116006)(31686004)(71200400001)(4326008)(64756008)(8676002)(66476007)(66946007)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bG8zRnJBYTlqallublpSOVozcFZidGJFc292a2M3NTg0ZGMvazUyd1RCR1R4?=
 =?utf-8?B?QWhSUHFCSVFyemtnVmJTNGNVRVdMY0I0cGwzakVJcE12TC9XblB0KzFlcFBm?=
 =?utf-8?B?Yzc0RzFYOERkYXFzSTNZUkxKdU5YMTcrQlJCb2FwL1dUYmtPTEpETlJZek1G?=
 =?utf-8?B?Y0pnMm9aSnZrQmxlMERVK1JZaStRenpjTFdSKzl3QllhQkdGWkFqbmRnZnRh?=
 =?utf-8?B?ZGppQndUQ1Iyc0dLeUM5OHFwb3EvYmFjbTA1cGxIZXVCdzMyYklRMjJNbnV5?=
 =?utf-8?B?dWlnaWdTemlPdE4xeHVuWjluSXhBU0VJM3dlN2NHL1JKaDVhbDZzY3VQemNO?=
 =?utf-8?B?OXRHTnBpQ0I2eUlNSkxSSURGUGNRY3BNNUxqSDhaSmlvT0dUeVQxY2FYOTFq?=
 =?utf-8?B?dWFYd2dMSU1obkl4Y0p3V0xZWHUrdkRDMDYrSExsRzdMR1ZET3k5aWNGblFN?=
 =?utf-8?B?VXp3cHlLT3IzcjF3ZGNWL0NPSEpYVm83T2ROTHhBSENqOG55NWJMZjFwOUZi?=
 =?utf-8?B?V0JTdWQ1MVgrUUl0UWZoYitwUkNIdVpVeGhtTnZ4NmdiUXJTVTExclBVQlJP?=
 =?utf-8?B?dmx4RlVtRGl1MEFHVzdTUlN2LzhjYkFOQ3lEdXZvNDdTVDY5N3czejlEWFRK?=
 =?utf-8?B?a3VRM3RNaWM0MGxEQVVpb0syYS8xcnhnRTRZOUxIelpqYVE2WmlpZDlib2xF?=
 =?utf-8?B?OWE2WEwzQlA2NWFtdld4c0VLUG9UcXFxUi9OSmdYUXAwVDZ4bmd6OHYwd05x?=
 =?utf-8?B?L05qWEhHbVpkSWM5eStNcnhUbG03YzJNRmlqdXlLNlNLejVWWXRTQjJWRzRI?=
 =?utf-8?B?TS9BQXlRR3MyblRNUnhweFJXUGdGTHJRYWY5UUxOTEZQWlVzNVFhV2ZhYVRk?=
 =?utf-8?B?VjR5UHZQUS9mVzkyMnMrenJydzFUcHM1ZXNvYS92eWdOYjJqMGo1MGtnQXF1?=
 =?utf-8?B?WnM5cG5BL0xlMWc4Z3JDU2tkV0NBdEhrSVRWVjFZRE14NC84RG1aOEtFSURG?=
 =?utf-8?B?TGZQM2lleXNWUXprbzZHYXA0M3ZyN1BWVGg5K0RhT0k4MlRldUJBanRtakxJ?=
 =?utf-8?B?eTE5OXUxa2lsd2drZ01aRnBGRzFxOUk4MUFnZHI2UlFMR0R1ZmRsV2RPMGFu?=
 =?utf-8?B?OExDQk45ME1vbkN6UDcvTkoxQW5SQVlXMlpiSjBXUE9tK1V5ZUpWWWFqYVpY?=
 =?utf-8?B?S2ZsTVZSQmZpNWlFOSs1V0ZpWWt6Zk9xV25qSTVNWnhFa2FncnRrTVVJM0o4?=
 =?utf-8?B?bzVSaytUKytoOExIYUhabGxxNlZOZVUvdmVlOHluU1VBVHZPNktGOGpvN1Bj?=
 =?utf-8?B?a0dEOUlGT3BTSHd0b0tOTGRKWVExcW0zN05yUXNSY3gyZHYwNC9TckpzMUNG?=
 =?utf-8?B?cXovcitmME1ieWYxcW95azZWd255SEpvaFhhWHYzSTZJNUh3SjBRZ3A4azRv?=
 =?utf-8?B?WlVpUW1sQUpNUVNXKzUvcjd5L3FUSkh0Zzc4TDNENmJmTGZuVk9USzVjeHlr?=
 =?utf-8?B?TWdvMjg1a1hnY0M3dFlVTkNZM1BXbHN4R05TRWlEYmladjRoQ0h5ZTlKVC85?=
 =?utf-8?B?NURva0hsUjFMdnRvZEI3NWovOVpIQnBmNlpuR1RQUUk5emxzaDFYb2xZSHo2?=
 =?utf-8?B?RFBEMU5wSStub1QyZTAxb2RaV3EwUk1ITlZFTzJ2K0FEN3VBSWVJZjdPTGNT?=
 =?utf-8?B?YVNITFJ2ZFY2S2o5YVhnU3g3NDluTFBRczRuQ3RrdHpFbXQxQTlBVkU0RHlt?=
 =?utf-8?B?MDNsZEVoWExiNTBYQm96ZFFyMkpQZjcybXdtNWJGRGxJS3lNaloyc3dDUXc2?=
 =?utf-8?B?Yy8yd21TSFVNb01xOThJOWJyNDFYZ1liOEN4K0gvc1FSc3c1cGgrQml3UGhT?=
 =?utf-8?B?VUtuMWdyQXNxV21NT0o2NHQvQmtDSlR4RnlqVnNONmwrZERqdThVNFEwZlIr?=
 =?utf-8?B?ajQwTm9XMkxDZk53L3NWM1phR0lid1ZrbEtiUHBMRzFQYmN1QWlLaW56M1c5?=
 =?utf-8?B?YjFjSkE4ZWJMRjVHMS9POFFqaUFUdDFMSmxIUXMybzRvR1phVVdyZzNTb081?=
 =?utf-8?B?R0tWS0dnYXNTSEp1Y1NKaEJxY29WWHlxN09TQXA4clhaWTRhK3l0d0YxUVNP?=
 =?utf-8?Q?kpr9CCW5A/92Zi9Lj0kD9lrqH?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1703E70025AB3B4993E45F5F7FA0A7F2@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e6483c5d-cce0-4bc5-6630-08da76509d79
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2022 19:36:23.7317
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ZPicCkcYory8Lys8IiDquvjTM+AwZ/UtRi83JHWN86FUn8/7w4XHs2EIoUkoHyR3PGZjOUEDqTaojW6L9VscysYQJ4imNac46KFnY4DCIrI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5637

T24gMDQvMDgvMjAyMiAxNjowNCwgSmFuZSBNYWxhbGFuZSB3cm90ZToNCg0KQ29tbWl0IG1lc3Nh
Z2Ugd2FudHMgdG8gcmVhZCAic28gaXQncyBub3QgYSByYW5kb20gcGllY2Ugb2Ygbm9uDQoudGV4
dC5lbnRyeSBpbiB0aGUgbWlkZGxlIG9mIC50ZXh0LmVudHJ5IiBvciB3b3JkcyB0byB0aGlzIGVm
ZmVjdC4NCg0KPiBTdWdnZXN0ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp
dHJpeC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEphbmUgTWFsYWxhbmUgPGphbmUubWFsYWxhbmVA
Y2l0cml4LmNvbT4NCj4gLS0tDQo+IENDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
DQo+IENDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiBDQzog
IlJvZ2VyIFBhdSBNb25uw6kiIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NCj4gQ0M6IFdlaSBMaXUg
PHdsQHhlbi5vcmc+DQo+IC0tLQ0KPiAgeGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TIHwgMTkg
KysrKysrKysrLS0tLS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwg
MTAgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2Vu
dHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMNCj4gaW5kZXggMjZiZjJmMTk0MS4u
NGFkMjVkOWM5MCAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TDQo+
ICsrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUw0KPiBAQCAtMTQwLDYgKzE0MCwxNSBA
QCBwcm9jZXNzX3RyYXA6DQo+ICAgICAgICAgIGNhbGwgY3JlYXRlX2JvdW5jZV9mcmFtZQ0KPiAg
ICAgICAgICBqbXAgIHRlc3RfYWxsX2V2ZW50cw0KPiAgDQo+ICsgICAgICAgIC5wdXNoc2VjdGlv
biAuaW5pdC50ZXh0LCAiYXgiLCBAcHJvZ2JpdHMNCg0KR2l2ZW4gdGhhdCB5b3UndmUgKGNvcnJl
Y3RseSkgZHJvcHBlZCB0aGUgLnBvcHNlY3Rpb24sIHRoaXMgc2hvdWxkIGJlIGENCnBsYWluIC5z
ZWN0aW9uIHJhdGhlciB0aGFuIC5wdXNoc2VjdGlvbi4NCg0KQm90aCBjYW4gYmUgZml4ZWQgb24g
Y29tbWl0Lg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 19:44:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 19:44:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380675.614997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJgl5-0005n2-F1; Thu, 04 Aug 2022 19:43:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380675.614997; Thu, 04 Aug 2022 19:43:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJgl5-0005mv-BO; Thu, 04 Aug 2022 19:43:51 +0000
Received: by outflank-mailman (input) for mailman id 380675;
 Thu, 04 Aug 2022 19:43:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJgl3-0005mi-Ha; Thu, 04 Aug 2022 19:43:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJgl3-00048z-Fq; Thu, 04 Aug 2022 19:43:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJgl3-00078h-2H; Thu, 04 Aug 2022 19:43:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJgl3-0001nH-1p; Thu, 04 Aug 2022 19:43:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/OSbI0MoipBvKqG1rmsFK9E68GCGHhTpkSIb6PHdktI=; b=E3SFLyjMn4zPc1d9RddKWg9Tji
	6jlhP7CxEVuRaYQ6iGfTr4m/Lrdi3HxTGMWtTC1qHjSzzGmUhwcjiwYwuil6oygRuUrqyrYAaTqIx
	kcyWfHU5gjBiJ/WZgm4clOhJm/t5m7apirIhqjrWjbOu/IVoQOaAZnRF/KEgxbf6hLKw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172146-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172146: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7c5b25c3038abc2dc8353f56ed67d2c4fcd43d79
X-Osstest-Versions-That:
    xen=01ca29f0b17a50a94b0e232ba276c32e95d80ae3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 19:43:49 +0000

flight 172146 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172146/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172116
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  7c5b25c3038abc2dc8353f56ed67d2c4fcd43d79
baseline version:
 xen                  01ca29f0b17a50a94b0e232ba276c32e95d80ae3

Last test of basis   172116  2022-08-03 13:00:31 Z    1 days
Testing same since   172146  2022-08-04 17:03:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   01ca29f0b1..7c5b25c303  7c5b25c3038abc2dc8353f56ed67d2c4fcd43d79 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 19:47:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 19:47:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380684.615008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJgo3-0006S0-Tt; Thu, 04 Aug 2022 19:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380684.615008; Thu, 04 Aug 2022 19:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJgo3-0006Rt-QK; Thu, 04 Aug 2022 19:46:55 +0000
Received: by outflank-mailman (input) for mailman id 380684;
 Thu, 04 Aug 2022 19:46:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t48H=YI=citrix.com=prvs=208fa1d4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJgo2-0006Rg-9u
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 19:46:54 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ed58369-142e-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 21:46:52 +0200 (CEST)
Received: from mail-co1nam11lp2171.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 04 Aug 2022 15:46:46 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH0PR03MB6067.namprd03.prod.outlook.com (2603:10b6:610:be::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 19:46:44 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c%4]) with mapi id 15.20.5482.016; Thu, 4 Aug 2022
 19:46:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ed58369-142e-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659642412;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=0ISrKlLdXiQA2kiLLtSCtM90vq56l+CLnZE3FJ/nLlg=;
  b=OhYBjLHE3jIrjWhDbaNoiTVtL0eoNUwpkrQ6wuHnCtt2yevdFWHZ8jE9
   eNNBe8TpmCYE5tKFIQgaksdNjDFaOD55PKHWjuQmThObYL0ODCgiei22D
   Utj/6pAYZXUYZiI5huutiECC7sojfBXaJWeaX4WMp3nXiiaZ7I05u+oJ7
   E=;
X-IronPort-RemoteIP: 104.47.56.171
X-IronPort-MID: 77404083
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A5aaA0Ku3wE2B4n16k9Uia94wiefnOphVZm8NN?=
 =?us-ascii?q?MmfNp3fuWXJ3RfKv9dyOEYHL2/6zzbmfIGanswjXVU0zJTzk7SBzRojec7qh?=
 =?us-ascii?q?vb+7RL1gYIdxS5XJ3PGNWv7ZzsrfDt9QKPOaUvJt6JZesOMIoM2bJys9E065?=
 =?us-ascii?q?hwSAaSvbdapmleGGDTSZU3YI2VCvJxk0y2doFz3VnmJpPyXs5c5MBKp9iHku?=
 =?us-ascii?q?2JFGeSMWi8gOI/LgvBdqknHks1S7XOlzcrFphGfGRHsBX+svhHTZlJxg3dzS?=
 =?us-ascii?q?eAf/5q7QeU0ayowO48O7i9lgukBq4ZYBWzyIg2NVL58my+LQ+kFY1VSdt5E5?=
 =?us-ascii?q?6s/TQM04EMdOlwLyeItHFT98H+LQPg5MQhkvVKNR2YAbfEoZpL/ru/Mt7vXX?=
 =?us-ascii?q?CcWoVTay+kUTFUfI3s9/YhuIol5Qe94SE83GYQ/VnQml4goWrmyUvtX2QRu0?=
 =?us-ascii?q?AwVLtblERZSh74lm2U+tAVWwblVy6Am7Nz2Fk7lWwuGyVmo138Dsrl9uzXl7?=
 =?us-ascii?q?u61fVb2S0jWz+Qa3ectGsClGIF5/CUMx0NQdY6I/iTuHu9W84u2KVt9TCZ9J?=
 =?us-ascii?q?rGSoIFQMyGH05H5jco1InAyZWWUSe9lEqzNqizpzcbKZ39KkBwA4reMdKh4K?=
 =?us-ascii?q?1XPH+gpSR44wecJ40ID1bChyCux/6uBtFBz2XbZIGyZr9qIzYGG1gAR47+8d?=
 =?us-ascii?q?3U8YgKd8JIO30i7Rz/G5aLsK4xabF64b+0fliyLio7zzKzKP+qmXzJ0fd3EW?=
 =?us-ascii?q?nZk1FuxWMienhsR6Y1e9VBGduhA5tf765/k9KyDjRVAQh7ftzcORFxbHZFzk?=
 =?us-ascii?q?AhlqltR75iOYQGBfSYV5OVGTy2nEsGha+z+IN47lEiUrJXVjQbSSTti68jmC?=
 =?us-ascii?q?G0Kgizb5hFyyCpq3TichfAdXD0E7mSmW+ZezLEiktB7d2QOo2Ss60f+ahGgt?=
 =?us-ascii?q?cZuhcG0SBvFr1C61qSJHBZLMSmSejOmsjkZObZFOVZVP4OhFnIG59vSzWQIp?=
 =?us-ascii?q?pDMvXLfc7dnE0D79vjiWTzpRpRVSmN0SxUwJX8Hl3sD7cBijNtoqBKcN2y7B?=
 =?us-ascii?q?7MJUEpUCXXpEdMgY+siqOrRaoplnwrvzKg8W7dxcEeQ7eumNxMYyaEM/vrQF?=
 =?us-ascii?q?C/gTJ3Ro4EkPhGPn1RCVc1Xm6MJ2YiQO93fkze/mLwBk09QdK2nwvRbmAQIf?=
 =?us-ascii?q?cQf7jxoni8eR4kdqx1BbUIR//Ei6njktGZybNdkX4YcJyZifKRmpDXKa/oen?=
 =?us-ascii?q?3WeG+Zch3CojhPIvKKsCdCSXUx+HDRhGn8SyietEoMcdnzjJgowsToHHwuLS?=
 =?us-ascii?q?7koNURo/veV4nEHyRH/oGPue3cGYNNNcId/MnYcd5yo5r10LEhlMFRwXXDmD?=
 =?us-ascii?q?TadGPuoP/osmIUfT0PQQHPz5aSMqYM8L9lBUO7D6Ex6Nx6mt7xY0CY/xh04Z?=
 =?us-ascii?q?P7n34VLocJsuP/ojPPwI+KoPL+zepob0KTE8tXH1qsrzL0K97q/zdQXrf6/G?=
 =?us-ascii?q?kfUEjR0rUjimtAkQy3LPwI3u7hUCxS4lgpPpCv9mTBIi6u4FVVdJsapS9VFa?=
 =?us-ascii?q?awdLXpKQHtJdEX/kkvS2WreD9TP9v2NybAG6WVps415qmXvCZdGsoMUB9t7w?=
 =?us-ascii?q?ewJ4sR4mGp9kBjfyqPTNVOPk70uS0Mk4M6XLtzFtxwkOYOSEjeY6N0TR1Ek9?=
 =?us-ascii?q?CnQiGbBgPtYgFfUt+801gbcgszHERLw79nSR4lw2BuDip+ARs2atdHqPPQys?=
 =?us-ascii?q?sobF5jdy7/abx8keJWIC/GuCE5e/GIOvHgmmFW4Q8M6MvkvjUlfhQWnRvcNS?=
 =?us-ascii?q?Kqc+XcNT1N1Qho+LAfoqQZQDdWoIIdzl5cqcNsLz0+WkFSenJ3siZSG2BvRL?=
 =?us-ascii?q?lKv0YlJwVSICYpqMVfv4/IHUbrY/GGSMAE4/z8aNCcWs90/tMEW3WF/uR2Y3?=
 =?us-ascii?q?CPn5ybsDKhEDPdGyYbm+Bkf991lfH/ZpBLu7NAptbBjD+JsmmH0rXZpydSyX?=
 =?us-ascii?q?x4u77l9mU2qq3RyB+++U/Rkbm8p0I3921/hxazDbhNIkJ/rDUqL2IhCC3lLa?=
 =?us-ascii?q?h/BMLQmPMm+7SqXa6JBeNbZbRPon96a4gf0OjRQKOuUbVj16fjVi9Jqx14lj?=
 =?us-ascii?q?KcGwVCCzWFrR4BGNMOUHkEKwv23wfgpZXKj+yrhXt4h1Pp2vpURjJfZM9CLG?=
 =?us-ascii?q?KhsA7V7O2RbiXZ0iUdhp99eJAwAvJeFd/20C2519euZE4AzNLWdjs91Kh6Oz?=
 =?us-ascii?q?ryV8Oc43cDrbFxGzh9C9esQnmKihlVZm5OwQvjzW2IWk1zWtOLtYl56eX9BR?=
 =?us-ascii?q?q1hegyRrlRH7hZCXkLlBgElOAKHe2F9W6li6D4gGRY8+4gBqyO5dLF26W18O?=
 =?us-ascii?q?9OcIhBdk8gSJJYGBs34JbVLRZ54VtIcGMinTdthWce3n9khH72EUg41eLL0t?=
 =?us-ascii?q?mMmJOpD3DiWn4pYFg=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77404083"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MU/KkJ+Hbmi8dZHz0jTAq9H+VRPPSxnulBohTXQJMRlvINj5sJvIcUwhNvvi0zAAGhHa26g1tzM0Zt0L0X3g3dxOv99gnrBH4IehZgCHoA897y2HmIBes4cuJ5J5uzfT33bFwK0S6uwMCxLv7b2Rr/5SS/Ir4n2UBafEUvFONkk1NmfBA3j7W1m1V0yMKSTM3zMlv6yM+1z3zdvbZXlX6rkS0cma2gnpj93A2MysNW2X0AwsyZQhtRr0tHTa/c2wDLhiQRJZiKeFmI9apgKgydHZ5g0gB2iGYwA7s9V8jnMuJ7/M7S+Xm7v5Nu85QeQlJ7vyQ6+hZrJFm54ZVqT/kg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0ISrKlLdXiQA2kiLLtSCtM90vq56l+CLnZE3FJ/nLlg=;
 b=Kek12yE1CVwDOokMnHLNjT/7NvE1/TIgelYQVxZBx5qBO2GaWn63CcuL5VH0M6Nll8AmJ5UD4hPfC2E2ibD1l0E59K/jNnQyJJ+mG4c6RZdp00fY5t91JzSDwICOJwvR+9sfcQtHAlKjEz+qGUasYVMLSh+gtasc3BvlYazNQi/DtCfwoR7vsQYK3PNIpcEEGConyhx6+PYkeOmLV4FNete0UwWMuw8mF8gz83F3jihAa1nOGb+uow9dA/YYH9xOLK8zmQwX9CjZ+P7xFU6TWdFe9bbZgh+NBnnI58uqbD+AAcK86Gas2JeK9S++Vv70p4GgEky8aICeLAhEGhB9ig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0ISrKlLdXiQA2kiLLtSCtM90vq56l+CLnZE3FJ/nLlg=;
 b=vQ1z1xJLhoglc3VjY23gGy5rR2j+1ulbePRaeh49SJVk3gtMgDnPX1qT033pESyUUAkRxWwiSU2g++jMFsgnnqqVOIfc20r5bznOW/gTFaa2hyF6Eqxy7h5UMjEkvIN79ZhYm3oqCuvAXYP4SF/b4aOxf1sj2DayWcX8DOHM+Z8=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jane Malalane <Jane.Malalane@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [RFC PATCH 4/4] x86: Use linkage.h helpers to add tags to symbols
Thread-Topic: [RFC PATCH 4/4] x86: Use linkage.h helpers to add tags to
 symbols
Thread-Index: AQHYqBOXi/4PmB1YgUyL1NBic4sFxK2fJbIA
Date: Thu, 4 Aug 2022 19:46:44 +0000
Message-ID: <554f0d5b-42a2-2640-32bc-69db1acd759a@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-5-jane.malalane@citrix.com>
In-Reply-To: <20220804150424.17584-5-jane.malalane@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fb418716-8896-4dfe-859f-08da76520f90
x-ms-traffictypediagnostic: CH0PR03MB6067:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 dIuArOC10X5DFGvDPJelnWTHAtQOByF9iIfDjxBr7Jp678EhkA95JFQzRpCC4MMDDO+XOUQjaUdsEjoMbXDawKxmVqfTms1RTCZBB0HZtmrsAZH3zpsbsrJHW7A9PfxHkSGGG6wg0pOvA+WP7/zfECMU/l5MySJ/YcGPS67v9YleCDsCLDEkrbzgr9zauvUaLhv5wwndCbiRlzBRvDZ4szIWauWawI0K6LikYrgtQv2s3+vJNGG6dGeB/OoZxMU5WHak+DXyeJin/WPb+S6/c1hirgeuxw47ZivdPhVJlmZ7vpjn5BzdV2VrpAOIA0VtVueeNE5S5jFL/FBVdH4Z52R+OZM/0pyA7Pu+omzKrtPQJsS+IR+w/Bko1wE40JRIcfIRL/NNAk65Trix7h3Pmp2B8XXYST4towLQG+AmziTgLsi+QDxl2LFmi95Zbej3RYK+a/rBDjwRFpUB5qcOI70522fUVXAnEDO3b94gzqnNo75yvqD/sxYYmXzR9CTNZd7XNyunU/MFu+Kz6l1W6q3r+RzX/aLfQ++80sHCe7IZMGIfBLZTvzjTYLYWgvA52h4arw1+HWSpaurGvf9wZqDoW1oLnrxtQL7lOpcrGbtzZQl79RKuphHV/R99guZsULJjYNbvVTI6inCt6YhnxryGKiVzgzub3hBwBj/LIKpHLEW4eQJyGIHDzWyDPt/CmNz45PwlMAOwNU/x+KymJg4sBILG8/AlrXXOzgE2D9Brzmx2UkaMu/QRLZ56LFA9L0lBIYmKxAWN3BKVyF5YfGX4E3Q27ZOggCs/8EeruuIIK0WAoQxwRPZSKNyEMfF7k8y5hu5GAGEJQiXo9TAHgqExzmgCFJ136Mz1j6EEdAD/KZqyla5I6U+HbVr7+gev
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(376002)(346002)(396003)(366004)(6506007)(53546011)(2906002)(122000001)(41300700001)(38100700002)(2616005)(186003)(6512007)(26005)(316002)(8936002)(66946007)(86362001)(31696002)(6486002)(478600001)(76116006)(66476007)(64756008)(71200400001)(66556008)(4326008)(91956017)(8676002)(66446008)(31686004)(54906003)(110136005)(82960400001)(4744005)(38070700005)(5660300002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Yzk3VW1kMDdXb3ZXWE5lcURnRXcrZEVYVHlKTEpiSHF2NklEczZ5NHpsUDFW?=
 =?utf-8?B?RkRZOFE4MHFaMXVhYWdYdE9id3ZhSU5sY0xDQnBzQlQ5bkQ2TFF3d0UwNk9k?=
 =?utf-8?B?K2NjY3VXdVNtcnVTZ0hSZXM4bXpKUWZTWVF0bVRUZVB2Mm10V2kvT1k2UmZP?=
 =?utf-8?B?R2NoZW03Y2d1SFZvNnprbmRvTTM1TEhYeE1GMnQ4aTdXNmZRZkxWNHRlcWpy?=
 =?utf-8?B?cnMyVERJRXJZOThHdnRyYng3S0h6ckhJRDJEbmgrMkZla3I2dVIzbFRmMjY4?=
 =?utf-8?B?c01FV21UT1JqZ3V0RDlTeEZyMzBVVmszOEpoUTJEenYxMmo0dy9BQ29QaEcv?=
 =?utf-8?B?dkdIaEhXcm9oTTNYVGQvK3kybzdrZ0Fmc1pvL3JUWlVkRnZ6R201VkZCRDNR?=
 =?utf-8?B?NCtaNkNsa3dTcTlHTzJOVWgvL3NrL3pEZjdsZEtqY05Bcmp4alFqZ0VBUU9j?=
 =?utf-8?B?bzRwc3NmdXlXTVFOTWVjNXI4S08xdmtxUTY4L2FiZUNnRmppdzZtYktsWDB5?=
 =?utf-8?B?Um5Ya2hHclY5WVJ0bjg4RG5aWkJ2VW82VDdSMWIxcmhEb2NtS0RnTitQUnY2?=
 =?utf-8?B?V3RCcHBTYlZobUUrS1UwLzc5dkgySUk1U1VpV1g4Mncyc2hoMjBMZ2RwdU4w?=
 =?utf-8?B?QS8zczRhM09uc1J0cDJCT0diWGRRZXhGUUtueElPOWJhY0REZkMyellhOTdD?=
 =?utf-8?B?eHk5WHBjVnAzVkxCQU9tRElZbDFuRjg5eGk4UUJUdEdUaFZTRXJvVGhVaHo2?=
 =?utf-8?B?RFJKNnJrSHArQUhrdlpnZmFPZWpJbk5aeTZIZXFxN0dhS1lPcElZYUoxL25T?=
 =?utf-8?B?TnA4aExOWmhZNndDREo3TkVsdkVubjJtdUR2L3QraENsNTJINDdOVXJxcitP?=
 =?utf-8?B?WS9nSUZuamFZcExVRFF5ZXNGeXllZGxFVi85dDloU2cwTzFjTjRyUHFHUjI0?=
 =?utf-8?B?K3paQWpHR2ROcm44ckppMlRoTExTUTY2ZTNFT2ExUVdkd1UyTGZuQ3pqYnVH?=
 =?utf-8?B?MUVMMXJPdUp0VGFIWFd2cWloc1NqMWpFcUNjaHhBS3AwdHpKc0w0cWhWZVpE?=
 =?utf-8?B?RCtxTi92YUN6ajhXcHlKQkNUcWUxWlJSdSs5c3NqL2lrWks3YmpzNXhCRnlD?=
 =?utf-8?B?dDE5MVI0MmRkTDlKNUZoK0toYjhxQldJRXViRDczVW5vcUs0SnJ3WnhmV05h?=
 =?utf-8?B?RnhpN2RuVm45M3BsTVVhZENlcjc3UFZQaWlJMnFJQXd6d1lGU09EcXcxb0JG?=
 =?utf-8?B?RkcxSkRWTkp4UWtPbTJiTXBtTENDRUlHTEU4b3VoRVFQTjVlVVJVaG1qbXdB?=
 =?utf-8?B?WVNwMVJubGIzOUgwQVZ3RjI0bE5zdEhwYjVBeHBiam9oYTdORVRhM2NUWXZZ?=
 =?utf-8?B?c1R4Mi9wckNNaWlFNGp6WGxjb2VlWGJ5QVlOV1AvYlROWVpsYVo2RHRYNFRm?=
 =?utf-8?B?UmZ1cVhYc2ZyakRXUlNmTmlQRGFBaVZoWGNQYXZyNnBUejRsOWsvY2hScGpr?=
 =?utf-8?B?d0laVEdRc2xvWmZFeTllN1RsOVowWXlPWjZSV1lMUlA1Q3dKTTQ5Vk1wUkt3?=
 =?utf-8?B?OGwvNmpPZGtEdXFRSHZ1bzZhTkNOakl5TEVoeEo1M2YxN2pvYjY1Q0s3RG9n?=
 =?utf-8?B?ZncwaFNkTEhvaXlTcHBhUHpianExNkVjT2w0QktBenlSaTFZSzBWWGxtdGxG?=
 =?utf-8?B?dkVsY3YycnZxVzB3MU1paEd4VkpQUmt5NVJpR0JwZVlPM0ZqVldUNkMyR2Yx?=
 =?utf-8?B?Um9raTVXL0ZOdGpyWUxsUFpJckRtRlFHdFdZS1k5YUlFTHdZOWFyaWZqUE4z?=
 =?utf-8?B?MFYxdFBJT1ArUHQrNFptQmZwOXJ5TzZTOUZmazNhdWRhOGsyU29QaE9ucXlw?=
 =?utf-8?B?NG5LTVZZZWpzcjhVNDdVV1hTZGRGN25ybXcwZXJpSlQzeTVUeHlzU0tneXd5?=
 =?utf-8?B?QmRsd3ZFT0lHZlFTZ0lDc2ptVS9JVjl2NVVQOFFQNU1reHd3alRtT3d6Qnpa?=
 =?utf-8?B?Mnc4enRtTkpXa0dia0V1b3RsR3RFazhVZUk5NEtBcEZGd2JqaEV5WXltbWdM?=
 =?utf-8?B?UDFJNkd3L0RTWEZKRCtPOTJaWUxURmp6WFlsaDVzdXV3bGpsY0RXa2piMHM4?=
 =?utf-8?Q?5VjfzxXGyNkXRLua+yXozos2q?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <AA219807B5E93E4392425B63177184A6@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb418716-8896-4dfe-859f-08da76520f90
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2022 19:46:44.6559
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VKqNSWZi5qX4uIvFIJfDN85GaVxJbkcTASlzqzdgcGXTBLHJES+Xs9CkVYfysB+QaCf5qnqTTCZBZDhoSe7QKpEq9RMm70A2M1nmhfc8n7g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6067

T24gMDQvMDgvMjAyMiAxNjowNCwgSmFuZSBNYWxhbGFuZSB3cm90ZToNCj4gQ2xlYW4gdXAgeDg2
XzY0L2tleGVjX3JlbG9jLlMgYW5kIHg4Nl82NC9lbnRyeS5TLg0KDQpJdCB3b3VsZCBwcm9iYWJs
eSBoZWxwIHRvIHNwbGl0IHRoZSBwYXRjaCBpbnRvIHR3bywgYmVjYXVzZSB0aGUgcmVsb2MNCmNo
YW5nZXMgYXJlIG5vdCByZWxhdGVkIHRvIHRoZSBsaXZlcGF0Y2hhYmlsaXR5IGZpeGVzIGluIGVu
dHJ5LlMNCg0KPiBUaGlzIGZpeGVzIHRoZSBsaXZlcGF0Y2hpbmcgY29udGVudHMgb2YgZW50cnku
Uy4NCg0KV2VsbCAtIGl0cyB0aGUgZmlyc3Qgb2Ygc2V2ZXJhbCBidWdmaXhlcy4NCg0KU3BlY2lm
aWNhbGx5LCB3ZSBhcmUgYWRkaW5nIEVMRiBtZXRhZGF0YSBzbyB0aGF0IHRoZQ0KbGl2ZXBhdGNo
LWJ1aWxkLXRvb2xzIGNhbiBhY3R1YWxseSBiaW5hcnkgZGlmZiBjaGFuZ2VzIGluIHRoaXMgYXJl
YS4NCg0KPg0KPiBSRkM6IEknbSB1bnN1cmUgb24gd2hlcmUgdGhlIHBhZ2VfZmF1bHQgc3ltYm9s
IHNob3VsZCBlbmQsIGkuZS4gaWYNCj4gdW5saWtlIGN1cnJlbnQgY29kZSBoYW5kbGVfZXhjZXB0
aW9uX3NhdmVkIHNob3VsZCBiZSB3aXRoaW4gcGFnZV9mYXVsdA0KPiBsaWtlIGhhbmRsZV9leGNl
cHRpb24gaXMgb3Igbm90Lg0KDQpKYW46IHdlJ3ZlIGdvdCB0d28gZXhhbXBsZXMgKHBhZ2UgZmF1
bHQsIGFuZCBOTUkpIHdoaWNoIGRvbid0IGZvcm0gYW55DQpyZWFzb25hYmxlIGZ1bmN0aW9uIGxh
eW91dC7CoCBCb3RoIG9mIHRoZXNlIGFyZSBmYWxsdGhyb3VnaCBpbnRvDQpoYW5kbGVfe2lzdCx9
X2V4Y2VwdGlvbi4NCg0KSSBzdWdnZXN0ZWQgbGFiZWxsaW5nIGhhbmRsZV97aXN0LH1fZXhjZXB0
aW9uIGFzIHRoZSBtYWluIHN5bWJvbCwgYW5kDQprZWVwaW5nIHtwYWdlX2ZhdWx0LG5taX0gYXMg
c21hbGwgc3R1YnMsIGJlY2F1c2Ugd2Ugd2FudCBiYWNrdHJhY2VzIHRvDQpzdGF5IHRoZSBzYW1l
IGFuZCBub3QgcmVwb3J0IHtwYWdlX2ZhdWx0LG5taX0gZm9yIGV2ZXJ5dGhpbmcuDQoNCn5BbmRy
ZXcNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 20:02:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 20:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380693.615019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJh2y-0000Vt-Bb; Thu, 04 Aug 2022 20:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380693.615019; Thu, 04 Aug 2022 20:02:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJh2y-0000Vm-8A; Thu, 04 Aug 2022 20:02:20 +0000
Received: by outflank-mailman (input) for mailman id 380693;
 Thu, 04 Aug 2022 20:02:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t48H=YI=citrix.com=prvs=208fa1d4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJh2w-0000Vg-R4
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 20:02:18 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55f61540-1430-11ed-924f-1f966e50362f;
 Thu, 04 Aug 2022 22:02:17 +0200 (CEST)
Received: from mail-mw2nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 04 Aug 2022 16:02:14 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5145.namprd03.prod.outlook.com (2603:10b6:5:1e9::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug
 2022 20:02:12 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::bd46:feab:b3:4a5c%4]) with mapi id 15.20.5482.016; Thu, 4 Aug 2022
 20:02:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55f61540-1430-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659643337;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-id:content-transfer-encoding:mime-version;
  bh=DdiSftAs0A6NBJojnPWBw08jWis86DU+6U1iEsGHZb8=;
  b=C0ynyJ9SQGWCaFt4Z1ov/WTrVFxmz9QLi8RWZ07RB2Wb/rUOrrrPNCOt
   bttMZLjOHQl9IaCyXUUYDhgot3EbsShrFgFjW53O5GkkNMDe6SCfmmGfO
   /wRaQO7XA1AazNfxgjBWLsmHai80sslrtSlfWpd1Dh4e2oklHiLMjgkrT
   M=;
X-IronPort-RemoteIP: 104.47.55.100
X-IronPort-MID: 77405099
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AlD1EHKg9xEHN3WVKvSGkLOCoX17brhtdoGDDu?=
 =?us-ascii?q?qucmGfUl6Eq9fh2raMqaBAW4JmfHDDZJAv/Lq82MJgkwZfX7JaqyL8jYAfkX?=
 =?us-ascii?q?/TOL85gU1Cy7A0xgjY0r8sSxWRf0ITB7zEdaeNvC50Cn53/Ehtrln/tyAkFe?=
 =?us-ascii?q?OY5i4AgjpQLuro2F9DWD/fkLKDTtfWHUC9Opwx5KpUtM8JTWOiEO0XU0D9nR?=
 =?us-ascii?q?T1Z6ZB5Bzg2CG+C8pA7tC/9GYKWCcg51xkxxm+4HGKmCndDFf2WF/jLaqcwT?=
 =?us-ascii?q?H8E/UnQypQ7aKYRYqY3eCREaq+LKQCelXemWWdf7Y+4gH6OTYstf48ENhfiv?=
 =?us-ascii?q?HrfrRefOakCT1HYwG8b+ci2lSPhmz/VvkgGyHWr3qZWBDCu8RN2wNnG94G95?=
 =?us-ascii?q?R6sSD7LDqTJ3RLvkIky7AOus2SKtMuNmWeaERDi/Mes+A9JEl0F/b0Hjb0Ns?=
 =?us-ascii?q?uoDDCp9qz4hK5rjuFE9VMG+2wryZ+mJQFlbgXXLDoNKUsVkNWwvo+KaR1ROr?=
 =?us-ascii?q?ofGzEWOnUk1SMBjstTFL0/NVW3NGhT6QcaFDfQeFBjoabypacz/YtLeL/sHl?=
 =?us-ascii?q?sOC10buo6n16DTMdrFYq7r8gw9E0uzpq7qA1r2ud8JaqThKnI+/9qxf/e0bV?=
 =?us-ascii?q?gKxM8mAC+qkkywuec2KYxaZJObTeWY5d/7Cefci5e2yPKNADb8JFxhEYtql+?=
 =?us-ascii?q?76oZXJAo/JZ4s41FUQ3olJzQ4Al8tMLSMW0CV4a1bs2SNXwb3WG7oasn5kLk?=
 =?us-ascii?q?bX5g6dAOsbihg3nt+adQ64KHVBXN/RAPj1/zTdrhcrNm0r/FtkiO8AU4ZKRE?=
 =?us-ascii?q?+IJLZuE1vG8BfrfSo/k2qcBLi/hbhceUjuwakWulr9NieC/HhausfhKFddYo?=
 =?us-ascii?q?fnVBjPwcnbNPNt315nzYkFU4yAi8rNBEYADfwtKu1uk84Jf95ZIKO8qYkyIx?=
 =?us-ascii?q?E8iuMOs0PP72nVw1XpH8VmGpkexIB7aMP9sSeEzHES1dl4UuX/tK7zuRoO7W?=
 =?us-ascii?q?UI3KviOvxakvVzCSMweg7PyEjQHk0FFTB8RBOwoYwEsSmLljstd2fYd47BGn?=
 =?us-ascii?q?S5iUFP1DUzpSMu+7KncgPgCtwDAERMrmou+L7c051BS4N6FFS3599ayEtawR?=
 =?us-ascii?q?qKFGLpJzJYR96o5A/N5fjucB3kMa94x00UF40na6RdF7xzmmes68S2sDiq3o?=
 =?us-ascii?q?KKPc0gQyhskggZW3Juvtd1zISm0On0YuMT5e4b0QUaBmLZZMNQhp4V8/g2VS?=
 =?us-ascii?q?aRakxxCfcVF9yeWrVu6bMyaFSxvCy18P27jJqCA1y3ypKRevbZQcayVJ4Ner?=
 =?us-ascii?q?0j3jOJTwzyBXDnlTr3s65TVC9HNJLSLou+y/WEiUe/+DNRqqShYps8+Nj5rL?=
 =?us-ascii?q?g6/RrO3tDDOMxv0OyxkuTq0x0WdFjpbwDJM84ditelrzn4+sJGziR9x1Jqk8?=
 =?us-ascii?q?xFt7bqKtIu9Ru83s2ZR2U9mo/UVX7G2ssMKNE0YHPYDCCVbo3qMCppLJBwQ4?=
 =?us-ascii?q?zJsIt9Z++28XX3bwrObu+f+I73InTFKs6o2wTwua25anAZKHIqd9S9as/XU8?=
 =?us-ascii?q?PdaqZKQrIHcpzS/+gNw7mp/2wRs9xBTrGNyeb7QJhrD/V4+/bRzX9PqPuug7?=
 =?us-ascii?q?D/P4x2B4J1zgy1MvkOJt/hqQUq3sAp7FC44vSdNA6IuON1EwG36WP5OpJpRq?=
 =?us-ascii?q?Y9UgFYicq41k16dcZdtt95ffwc4arFAPGqP5o40qh/ov4PTxF2w1/1UonT91?=
 =?us-ascii?q?FQaI/eXE+PVt88wYOgUokwFEFoxun1zYeBYLV3ddIhagOVwF7GAYJ0jGXn5P?=
 =?us-ascii?q?cyoauBsS6GnhrRdLkKuNX5lnfeC/5AVzGbxlxl7ccEcGAQiHiVK9J60cQlX7?=
 =?us-ascii?q?rtdN/hpiRgdklhfUpj9kRGWzLgwqliEgBb8O6LJ0zDZ7/hDd/MFW67xC74+j?=
 =?us-ascii?q?YhjxNpzKO8QhKIRrrzwLzuvRixvhjRpHdnMXRAiCgKZtZsUxWGsVSMy+ClYf?=
 =?us-ascii?q?L6XdTlicJ73LDefLNWsKEQUeKYqo+WvREQjKbWkKUg+ljcAdfr3q0zM31RWA?=
 =?us-ascii?q?pgqkYJnbXWIYwtKe0u9J89cRjHKhnnKZw19Qcw3D04yFxWZE+maLJRaNysDQ?=
 =?us-ascii?q?zv8tw24Nbje88pE+H039iwczRYm9iOYKMo4s4QBwOUCQrhol/hc720Rfj5EJ?=
 =?us-ascii?q?AGWRSKqZDFJP93WrqzF3K+buBUR/m+xatWEFlzw7yRzYEUJA3fUwXLYNpuSr?=
 =?us-ascii?q?XFXrPCe2Z/fEYYso9xd56opJ0wLTLSqRP7aLU0RjSEVGPsiChNzKoIJnVvX5?=
 =?us-ascii?q?0rdq/mso0cLXp4l9BiCoy1x5d9T+fmgq2WSKV7e+5RYwLcB1O1oi/h+KVI7m?=
 =?us-ascii?q?OdRnDpCfNd7efNANZZClQ+mLPml+mVKswq5onFNd5MS1RNJBhtzZnOVVeJCL?=
 =?us-ascii?q?HkGwwaZ1EeXMlMbyFydEjiPuJwhfxzZYmy6Cng3cMyO3JTNCwKV9j24e/qT1?=
 =?us-ascii?q?GzhXSNQVUcoyTZ81ShLQYOO4EJgOo2yuVBbfJg3m7hblaOfh0A3d8hZ7hxtd?=
 =?us-ascii?q?GkMPsAJqKlGKY+X4nkoH7342V4fNf2Kr5Rh2HkDmYj0oIF1HfnywTrlEFGYd?=
 =?us-ascii?q?VJy8uUYnKbdjE4tUsEY2LAEnwlFgHZjbhP4APtKhMS8x1M0mSCdCmjcthTKY?=
 =?us-ascii?q?VZflzDuL/S9brSLNipu/CGSzuzL3WYczuzNASPQRFam+Br1HrIq5Z0nbcDAe?=
 =?us-ascii?q?pYkCXfAacIebRS5kBuMky6jSSs+Br2s/x+g8IGllGGyCE0xauvWeBkiEOzo1?=
 =?us-ascii?q?DZS35W2luS9rr8vMRznL1AL6w3SBMpi5T1EHd9bisIZmgkX2PI4ip9qsYcjE?=
 =?us-ascii?q?YZ53b3G0hnXavHaRFQjkhKorW0fIr/yFCix7ZnXoOBnExZg67FrEnr1Qg3ft?=
 =?us-ascii?q?CGfh1FkU439C9MBSqcH5b+CfQxzdsSHXRTdH4wsH8RQ7x/MUL3YvA=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77405099"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jUeCPRsoNwAa0nbp2SiiyYXqcxnRVsOgtlz5xaIGKEhgxRKecS/V0/N3+vhoJmcIz3pMnNJyFCdVWyHWw02t0JbUVAUQVn76GTMjHyjTymsI6lktaaISRV9KrB+pV1UAHe4Eel1vav4L9BFCdMbY4tJvsg+VxPwMb6okXfLBa72VmRI21Yw80DxwaZinWKuvuXWsMhZOwj9tdJRgumIfayNIgtoyP9hsRc22iMSFSmtLxXDjv4Yb00yC974RXrUe5mWLCODZeMXZBMAJPKg0mJbQxOCfzpP4LI/Ge519wZ/qSFChbPkR62jEIWg1HnRn7LJsbs0Kws0Hr4f87R3K6Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DdiSftAs0A6NBJojnPWBw08jWis86DU+6U1iEsGHZb8=;
 b=Vp2Vr9lELBnacDu7bzRzRNUZCuxWpNaO0Ugo2AUaPvstAm78Tajqbg+0gh0F0iGoHWoOzw+LjmlvnN8PnbjhSbS6SPaLEq48eyCGDoF6xL2SF/9KvG4me7Am4a7B5L5MHI3EMjHrx9uSRkBux90f92OpH1QryoEseoxgpbAtz04jJvaC75g4w0Z1ejqDJMNWUsv/wsokv8SKn1yJwHeiKH8SdDG7klzZRa0rf2NywaeOkA67z8rsasXvWniv1vTdG9Inj4WGRtUugNMPEQFUxqVjaUPh/qZqYn2OEc5WdVrhoPa/E478GPD0Ri/YmNs5sIq06JJuLeXAVtO3kmmhcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DdiSftAs0A6NBJojnPWBw08jWis86DU+6U1iEsGHZb8=;
 b=pBnx+gWOCOn8/CgWFEoXUYn/9zEDekyA7esYyYdRc8GVJbJNtY9luMgfVEHgnoHhMNTwQXF8+L+K0qLp/dDOdfwT9qxJqKlegpezcj7HeIgx036/8q92wx0T1m4s6L6ewwzI/ZhjGce0hW/Hgu5k4/x80tGDKY11fKYvCfFWVHc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jane Malalane <Jane.Malalane@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH 0/4] xen/x86: import linkage.h and clean up x86/kexec.S
 and x86/entry.S
Thread-Topic: [PATCH 0/4] xen/x86: import linkage.h and clean up x86/kexec.S
 and x86/entry.S
Thread-Index: AQHYqBOb2BbPALUx806CiYF/B0ilaq2fKgOA
Date: Thu, 4 Aug 2022 20:02:11 +0000
Message-ID: <56ba2f21-9c07-e79f-af9f-12083a972498@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
In-Reply-To: <20220804150424.17584-1-jane.malalane@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5b23baa3-3abc-4499-7600-08da76543835
x-ms-traffictypediagnostic: DM6PR03MB5145:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 XqQdres1Yjmuo9fr+xASfjB19vWPYh6JmgKctGfN4oMMbR2IQs38gRSbaKzheX8XXHQPWgsmEHpX0NP053OCbTGxnqv477qRkuzBWAGK1N8bZlbVZfRJpZ0toIPL5e6Qgy6ng+W1mC8zvtOGiVPTpgfgEJcGbDW7X+3CKYtaDy7IWGSM9PT8UQjPWyUbT67Ape5yxU5uV4TqAubQRCMKuGRQBE81AAP4pvhfWyFhaQMMXZXojYc6xzbvATq4Lh8ZdNrqnOqsaQu1JsqNqUmGdMZSCOP2lYZvIWA7/2a2SZ+xZmlRvc5jMVqFhzQhzBJLfcTKjW18czSG538OoyY4d2xRNOmDLEZN0WkrMAQNaw0/nLQB2k53im47XfJjTG7efEOAXiEm+jX/LMfHZdFvgj3c891RzGl/jybDx9cIgtjDx4MhM2TvNWHNvrc7A38JXaWGpezTeSbZw2i8KsQf5lg31OguYDEshPpQqGurHbwL+ZEqXqpYmOVA0JfIU8P0Bwdtx2obxScBkbiNpflFTz0nn92BIC5oy2m2ITdzyfqny0L6Pf6LXCMjoHApuvRZgBjO1/d6KXvEWKJ/CzUdrTJpmjjFxE7AOCG2vExgLxM4SFyEmkyk5tHecDZtXgjJqS61c/gTTwF01/FsOu1XWtAQICr9xV4jQd99RmCvTCNSP+VcSUti9dQZWCqlrPUOTUXrsQTC/XBJfae/9prsGz0H9jmVwwtOVN7qJXLpWoWXHLJ+VziroUjA/gpsFKwvlu373TO7p1ThaswNX9OeQS7XoiESvD2SzEfsOVKJSeB6jdyPusUzage25zUuow9lt2Rgothyav2tDiRq551FVERdxMbdWq0g6BQokw8oZgm86BPFnmejnwaE8UTP8zaq
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(366004)(136003)(39860400002)(376002)(346002)(83380400001)(2906002)(76116006)(66476007)(478600001)(8676002)(66446008)(38070700005)(64756008)(122000001)(38100700002)(82960400001)(66556008)(66946007)(316002)(6486002)(71200400001)(5660300002)(110136005)(2616005)(41300700001)(91956017)(186003)(53546011)(36756003)(6512007)(26005)(8936002)(6506007)(31686004)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QkFLNWFiY1RDQlNkaTM0OVpWbkNwQVl4MGlpQ0NuZDJGYnNMSnc3UkpXQlFR?=
 =?utf-8?B?and3cThhbVBVTFJDL3BrQ1oyQjV0c2JHelFFWTRUV244NVB4S1NwNm02am1U?=
 =?utf-8?B?WVh1WEtJQ2E3Q1VLR3F3R0xORWRFTTh6TVEvZldRVWU5aUNjVkw0a2lxUExD?=
 =?utf-8?B?ZUtLSW1qRktzSFFTR0R0YmUxNTA1VldFdlFZM1o0ekJrN0NPaHlZeHhKVHJQ?=
 =?utf-8?B?Q1F0WDBNSDFwQ0ZhWHdod244a1ArUlE1QngxbGVzdmg4UXpQNGFidkJGOGph?=
 =?utf-8?B?ajhQRHFMblM1dVE3aUYyZmNOZVRzdmlBeFJHdVRzMGZadlNYb0FyS0JWc1Rz?=
 =?utf-8?B?eE4vM2dxRkwxMFJQNWhnbXpQQTd0RTRESm9nRnBMYlpRQW1ValdFV1RMMDJm?=
 =?utf-8?B?UEI2WlY3QzNEUXhVSk9VN2VaZlZlY0p2RVhUcjVqUVhhT0FqRHBjcTJhZ3RV?=
 =?utf-8?B?RzhPdVdWWG53L1RQYm5BRndWZkJncDZiSXdXdlI4VEkzNVB2L2lSeFovbGxY?=
 =?utf-8?B?OEZ1emhHUCtodk5CTTV1dVVybHhHK2ZKV3B6MWVKNGU3Z294MkNGWTVwYnBw?=
 =?utf-8?B?clJIWDd2QWRvVVoybkxhblRHbTNrM0VtWU9icTV5eVFJSXBJZHpkWFJla3dT?=
 =?utf-8?B?dEJ4ejhDNFpUZTlrb3BCRlVZUk5YWnBZYStmSGpVMmpwTmVGM3AvWSt2NEd2?=
 =?utf-8?B?QWZqM3VFR0pJOVhHTUk0TWVhS05BY1pkdGQwS0tHLzFDTDYzeTNtK0c2WUhj?=
 =?utf-8?B?NEpJaUJsb0JUbUFaRE5aa3YzcENQNG1xRnVYdHl6cGxRbml3Nkp5RXhKVXdO?=
 =?utf-8?B?UFF6V1VrUnlvUHZXc3V1SklaVXFEZm9ocUhIVGIxL1VpU0hCajd6RUNKcFRU?=
 =?utf-8?B?Y1JKalVYbTQ3Q1J2bEFTeEVxTzNSeEk1cWdQMjRpdVBxdHBrVzNnNkZuN0VF?=
 =?utf-8?B?YlZ0bDAvU2g2Z2N5NnVRUTJ0WnZ2RjVvN0tQa05naFp1NmR4OTE0UWoyTkg3?=
 =?utf-8?B?LzZCSGx1ZE96elBFcTloR1VWVWp0eHRGUDJNWnI0REw1b2JSZFI2bGxEZldo?=
 =?utf-8?B?QVFaV0ZJdjdSV3VJenJZUDJId0VBVzA4U1EzemhrbEh6UllwN05YYXlYd3R4?=
 =?utf-8?B?UmVCL3JITzdUb2cxNThXcFo2czlHRGFpUnUzc0JsQ0JEeGdycHJaWFZGVmlj?=
 =?utf-8?B?SkpVSmxvVWxKZ2ppdUFvcW1LVjIxTi9NNlZuUnpmUm1Vdi9PcjA5SnNOWS9B?=
 =?utf-8?B?VEVDV0d1WEhOQlowaS9yLzdiZmhsRU1BNDZJK0RIaS9TUFQrWTlPbGVaZE04?=
 =?utf-8?B?NU1jN3pDd3RsL1luYk1LckdnUDNDcjdNYWgxVXh3UFprMzZkUVRObU1tbXZn?=
 =?utf-8?B?a0VrTEVZNDJsY1FTN3V0LzFjbkJWR1gzZUxmZGNVS0dSTzUrdHhQa3VCdC9G?=
 =?utf-8?B?QW1pdlJSeEtLUG4wYmlmaXVrNzNIR004SjlvNmxxaStoWkZBMW5KNmxpdm1z?=
 =?utf-8?B?bUlrZDZucmZTRjVEZ01qaisxdzVzYTlLQnkwVGVnRE1ycFpIZGYvbER2YWh5?=
 =?utf-8?B?WDl5UmhTcTVMd3dsaUU0clE2L2ZCajNRTjliREhwN05FWnMvcUd3bnNrem02?=
 =?utf-8?B?TS9NcHZvd043UjRyNkpadHZmYVd0SVpvMmcrMUUzdTR4VzNWaGl3UVlGUUNr?=
 =?utf-8?B?VGVOUmZEdGY5U3VBTEVpQ0pnOGV3dTVxTTdHc0dMbUdzZzkrK3VrN04yWjND?=
 =?utf-8?B?L2pGZTI1SE5USnlScysxMjUrUFJCT3lpK0E3amV4NWNMNjJMRXVYcVhlQWhj?=
 =?utf-8?B?UEpxem1RR2RKRFNaSWp0Ymc5ZFlJYmpsakNRa1FEdUJqN1FxTlJuWldXTEZU?=
 =?utf-8?B?bHVYQUFwa2M3MThMVTJUK2JTNXA2V1BSVEQ4SUlFYmQyeVZCOHUwcEhuOEJr?=
 =?utf-8?B?VU00dm1nRlBoc3k2U01mSVY5VVRoWUZIMEw3K3Z2Ym14c0daWEZMTUhHZVh1?=
 =?utf-8?B?aExIaFE0RzZIWkIyT1NuU0NkMjJJSzArWkNwdWdmeFd4aDQvMnVTd1dHODJZ?=
 =?utf-8?B?SjRpcHoxM05FUmwyZDRVVDFIZERjc2JDOHJSa29XMEdVQXhnV21jRXhEbkIy?=
 =?utf-8?Q?oNF1F5m4IMmP35lmwbx/tQyAK?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <00E6864015B63347BEA3D714E0774137@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b23baa3-3abc-4499-7600-08da76543835
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2022 20:02:11.8235
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yuca+4/P4GvsTekojyJK9Z/WTDgLX6bZZousiIVW764sXiGTAOzqUY6Y0+yhsCM59qvK0wauIQKWrdNWIgkM1nKBPQWzdJcWO0JqMfhMyHQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5145

T24gMDQvMDgvMjAyMiAxNjowNCwgSmFuZSBNYWxhbGFuZSB3cm90ZToNCj4gSmFuZSBNYWxhbGFu
ZSAoNCk6DQo+ICAgeDg2L2tleGVjOiBBZGQgdGhlICcuTF8nIHByZWZpeCB0byBpc18qIGFuZCBj
YWxsXyogbGFiZWxzDQo+ICAgeGVuOiBQb3J0IGxpbmthZ2UuaCBmcm9tIGtlcm5lbCBjb2RlDQo+
ICAgeDg2L2VudHJ5OiBtb3ZlIC5pbml0LnRleHQgc2VjdGlvbiBoaWdoZXIgdXAgaW4gdGhlIGNv
ZGUgZm9yDQo+ICAgICByZWFkYWJpbGl0eQ0KPiAgIHg4NjogVXNlIGxpbmthZ2UuaCBoZWxwZXJz
IHRvIGFkZCB0YWdzIHRvIHN5bWJvbHMNCg0KVGhpcyBwcm9iYWJseSBkZXNlcnZlcyBhIGJpdCBv
ZiBleHBsYW5hdGlvbi4NCg0KUGF0Y2ggNCBpcyB0aGUgZmlyc3Qgb2Ygc2V2ZXJhbCBidWdmaXhl
cyB3aGljaCBoYXZlIGJlZW4gb3V0c3RhbmRpbmcNCnNpbmNlIFhTQS0yOTcvTURTIChJIHRoaW5r
IC0gcHJldHR5IHN1cmUgaXQgd2FzIHRoaXMgWFNBLCBidXQgaWYgbm90DQp0aGVuIGl0IHdhcyBv
bmUgYXJvdW5kIHRoYXQgdGltZSkgd2hlcmUgYW4gYXR0ZW1wdCB0byBwYXRjaA0KcmVzdG9yZV9h
bGxfZ3Vlc3QgZmFpbGVkIGluIHNldmVyYWwgY3JlYXRpdmUgd2F5cy4NCg0KRmlyc3QsIHdlIG5l
ZWQgRUxGIG1ldGFkYXRhIHNvIHRoZSBsaXZlcGF0Y2ggYnVpbGQgdG9vbHMgY2FuIGFjdHVhbGx5
IGRvDQp0aGVpciBqb2JzLg0KDQpTZWNvbmQgKGFuZCBpbiBhIHNlcmllcyB0byBmb2xsb3cpIGlz
IHRlYWNoaW5nIFhlbidzIGxpdmVwYXRjaCBsb2dpYw0KdGhhdCAudGV4dC5lbnRyeSBpcyBzcGVj
aWFsIGFuZCByZXF1aXJlcyBtYXBwaW5nIGluIHRoZSBYUFRJIHBhZ2V0YWJsZXMgdG9vLg0KDQoN
ClRoZSBjaG9pY2UgdG8gZ28gd2l0aCBMaW51eCdzIGxpbmthZ2UuaCBpcyBiZWNhdXNlIGl0J3Mg
YWxyZWFkeSBhDQpzdGFuZGFyZCB0aGF0IHBlb3BsZSB3b3JraW5nIGluIG91ciBhcmVhIGFyZSBm
YW1pbGlhciB3aXRoLCBhbmQgYmVjYXVzZQ0KbXkgcHJldmlvdXMgYXR0ZW1wdHMgdG8gc29ydCB0
aGUgRUxGIG1ldGFkYXRhIGhhdmUgYmVlbiByZXNvdW5kaW5nDQpmYWlsdXJlcyBvZiBuaXRwaWNr
aW5nLg0KDQpNeSBleHBlY3RhdGlvbiBpcyB0aGF0IG92ZXIgdGltZSwgd2UnbGwgbW92ZSBhbGwg
YXNtIGNvZGUgb3ZlciB0byB1c2luZw0KdGhlc2UgYW5kIHJldGlyZSB0aGUgY3VycmVudCBhZC1o
b2MgbWFjcm9zIHdlIGhhdmUuDQoNClRoaXMgc2VyaWVzIGlzIGFsbCBzdWdnZXN0ZWQvcmVxdWVz
dGVkIGJ5IG1lLCBzbyBpbXBsaWNpdGx5IGFja2VkLCBidXQNCnNob3VsZCBoYXZlIGFja3MgZnJv
bSBzb21lb25lIGVsc2UgdG9vLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 20:18:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 20:18:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380706.615030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJhIE-00029P-Pj; Thu, 04 Aug 2022 20:18:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380706.615030; Thu, 04 Aug 2022 20:18:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJhIE-00029I-Mg; Thu, 04 Aug 2022 20:18:06 +0000
Received: by outflank-mailman (input) for mailman id 380706;
 Thu, 04 Aug 2022 20:18:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJhID-000298-8W; Thu, 04 Aug 2022 20:18:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJhIC-0004sp-W3; Thu, 04 Aug 2022 20:18:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJhIC-0007xm-IR; Thu, 04 Aug 2022 20:18:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJhIC-0001a0-I0; Thu, 04 Aug 2022 20:18:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8U3plf21q3QH3mCPf0i/HtOD+CJleqL4i/E9zmhWqlw=; b=At5vtsAyyu5BJkonTgjnMqhJzw
	cm1i7PwR11bApD01KmDyNT8M74oHy/Q2mKiOVm/U6+nofU97TqgmIdJlmz/IRve2rM73y9SWCFCoI
	pUxcmjkRj3wUKJ+qNzQvs7gd56j1/YnG+vCx8x7t/CgQ1Fn4Gb+eCC8IN2mYpq9aejE4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172132-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172132: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=e865e4741d6a8bb0b3f853c705e1d01c5a5dd113
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 20:18:04 +0000

flight 172132 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172132/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              e865e4741d6a8bb0b3f853c705e1d01c5a5dd113
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  755 days
Failing since        151818  2020-07-11 04:18:52 Z  754 days  736 attempts
Testing same since   172132  2022-08-04 04:20:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118125 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 20:56:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 20:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380716.615041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJhsu-0006SE-RQ; Thu, 04 Aug 2022 20:56:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380716.615041; Thu, 04 Aug 2022 20:56:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJhsu-0006S7-Om; Thu, 04 Aug 2022 20:56:00 +0000
Received: by outflank-mailman (input) for mailman id 380716;
 Thu, 04 Aug 2022 20:55:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJhss-0006Rx-Ug; Thu, 04 Aug 2022 20:55:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJhss-0005ck-S1; Thu, 04 Aug 2022 20:55:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJhss-0000SE-BV; Thu, 04 Aug 2022 20:55:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJhss-00041c-B1; Thu, 04 Aug 2022 20:55:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/VeINv2xiql4weT+V2JgoYL053yQ6JrDnoBlVhzd9EU=; b=Ze0OimxmLKFF9mimf8QAHkIK8q
	wor5BQP/ypm8+WTdMSy0xheaexbFMWZb8ZZ+nwzPVAxGPGGCnzAJ33y000XOpJ2lcvVlEXEsgTn5N
	rUD4u7G3vF5BILhpdD/OSlBWgQveKldZnJnje1g1QCCTzz1vXdwMg9YhwXFUc7lGNHw8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172128-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172128: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
X-Osstest-Versions-That:
    linux=77ba2b9b46f8acead2606759e8196b7076eaeeea
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 20:55:58 +0000

flight 172128 linux-5.4 real [real]
flight 172147 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172128/
http://logs.test-lab.xenproject.org/osstest/logs/172147/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 17 guest-start/debian.repeat fail in 172108 pass in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172108 pass in 172147-retest
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 18 guest-localmigrate/x10 fail pass in 172108

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds   18 guest-start/debian.repeat fail blocked in 171923
 test-armhf-armhf-xl-vhd    17 guest-start/debian.repeat fail blocked in 171923
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 172108 blocked in 171923
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop  fail in 172108 like 171923
 test-armhf-armhf-xl-vhd      13 guest-start         fail in 172108 like 171923
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172108 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172108 never pass
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 172108 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 172108 never pass
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 171923
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171923
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 171923
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 171923
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171923
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171923
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171923
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171923
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 171923
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 171923
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171923
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171923
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171923
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3
baseline version:
 linux                77ba2b9b46f8acead2606759e8196b7076eaeeea

Last test of basis   171923  2022-07-29 15:42:06 Z    6 days
Testing same since   172108  2022-08-03 10:11:11 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "chenxiang (M)" <chenxiang66@hisilicon.com>
  Alejandro Lucero <alejandro.lucero-palau@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Andrew Morton <akpm@linux-foundation.org>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  ChenXiaoSong <chenxiaosong2@huawei.com>
  Dave Switzer <david.switzer@intel.com>
  David S. Miller <davem@davemloft.net>
  Dawid Lukwinski <dawid.lukwinski@intel.com>
  Duoming Zhou <duoming@zju.edu.cn>
  Florian Fainelli <f.fainelli@gmail.com>
  Florian Westphal <fw@strlen.de>
  George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Harald Freudenberger <freude@linux.ibm.com>
  Hawkins Jiawei <yin31149@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Kicinski <kubakici@wp.pl>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jon Hunter <jonathanh@nvidia.com>
  Kalle Valo <kvalo@codeaurora.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lee Jones <lee.jones@linaro.org>
  Leo Yan <leo.yan@linaro.org>
  Liang He <windhl@126.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Maloszewski <michal.maloszewski@intel.com>
  Ming Lei <ming.lei@redhat.com>
  Namhyung Kim <namhyung@kernel.org>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Wei Mingzhi <whistler@member.fsf.org>
  Xin Long <lucien.xin@gmail.com>
  Yu Kuai <yukuai3@huawei.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   77ba2b9b46f8..8d8935e76f6f  8d8935e76f6f419ef2f7617de252f258b6a597d3 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 21:46:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 21:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380737.615099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJifN-0003nR-4v; Thu, 04 Aug 2022 21:46:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380737.615099; Thu, 04 Aug 2022 21:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJifN-0003nK-2B; Thu, 04 Aug 2022 21:46:05 +0000
Received: by outflank-mailman (input) for mailman id 380737;
 Thu, 04 Aug 2022 21:46:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJifL-0003n9-Gt; Thu, 04 Aug 2022 21:46:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJifL-0006cx-EW; Thu, 04 Aug 2022 21:46:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJifL-0001fv-1A; Thu, 04 Aug 2022 21:46:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJifL-0007hA-0j; Thu, 04 Aug 2022 21:46:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SWgeVjb4K7GnlhaL7R4gClZ3sOYaXr+77TXepVn9pQ8=; b=qe6dnhvmWKGbXGlTkFQl57ZQfW
	N41tohrxVS4rr/6bfxnSaFQ8JyGe2dMBj0gGGz/39IUrj3rC4VVvYnnQ71MnFDBOSsAIFT5GnCcRC
	zB/JadamVUUtW3PY/UVEOWCOQ1Uesv8E4pBVoWxyy0MUAv35Ehs/FEl00qgaXy7a0qbQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172130-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 172130: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=48b67651746f3124b0d5d30147180f1238d2e9c6
X-Osstest-Versions-That:
    xen=d77bb6e5375f19c64d182fb7b2e53138152421b5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Aug 2022 21:46:03 +0000

flight 172130 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172130/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171881
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 171881
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171881
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171881
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171881
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 171881
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 171881
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171881
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 171881
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171881
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171881
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171881
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  48b67651746f3124b0d5d30147180f1238d2e9c6
baseline version:
 xen                  d77bb6e5375f19c64d182fb7b2e53138152421b5

Last test of basis   171881  2022-07-27 07:37:53 Z    8 days
Failing since        172110  2022-08-03 11:06:50 Z    1 days    2 attempts
Testing same since   172130  2022-08-04 03:03:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Anthony PERARD <anthony.perard@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Dmytro Semenets <dmytro_semenets@epam.com>
  Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
  Hongda Deng <Hongda.Deng@arm.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@arm.com>
  Rahul Singh <rahul.singh@arm.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d77bb6e537..48b6765174  48b67651746f3124b0d5d30147180f1238d2e9c6 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Thu Aug 04 22:46:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Aug 2022 22:46:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380754.615115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJjbV-0001gC-Qz; Thu, 04 Aug 2022 22:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380754.615115; Thu, 04 Aug 2022 22:46:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJjbV-0001g5-Nq; Thu, 04 Aug 2022 22:46:09 +0000
Received: by outflank-mailman (input) for mailman id 380754;
 Thu, 04 Aug 2022 22:46:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dmO+=YI=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1oJjbU-0001fz-L1
 for xen-devel@lists.xenproject.org; Thu, 04 Aug 2022 22:46:08 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39257da3-1447-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 00:46:06 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 9C179B82770;
 Thu,  4 Aug 2022 22:46:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 69B14C433D6;
 Thu,  4 Aug 2022 22:46:03 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 4F6CCC43142; Thu,  4 Aug 2022 22:46:03 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39257da3-1447-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659653163;
	bh=QwWGxEGYpivv/q9IQZQYPUVVnG6Oj48r558KUSTiG/o=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=Uolp0NKohRLr+hagc8vZHgfMaagDoG4NiVdLCHfLSi96W+ZFHw+N1w3ly+/dRAFDi
	 FvWYUpNKeaFIUDjSb/xBdc6/LztOyTV4YAk4LNIOzZqmb/IXAASZOZXjoa5eY/8nWz
	 SjtThDM9MM9Bi3v0g/MUasjbAi2Lk3FzgYJhfmyX84ERFKVG56Ws4cTtQMEzzbQema
	 V8JuyFSO5yN2ialzeySZlI0we8BZvlw88uCE5geES4PMOmOMybCe6hUAm4yDziOVZu
	 LEDs4suC67+4DW/xJ5he7OOX5IMj0cY+0oMphE6TCh5LA9r3rUgqzRC+pZNamndoVr
	 W22GyqJC+HjgQ==
Subject: Re: [GIT PULL] xen: branch for v6.0-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20220803075226.2400-1-jgross@suse.com>
References: <20220803075226.2400-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20220803075226.2400-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc1-tag
X-PR-Tracked-Commit-Id: 251e90e7e346a23742b90e2c4db19d322e071d99
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 7447691ef994ffd8072809a11ca9167a2d91564f
Message-Id: <165965316331.20279.7058969435031457273.pr-tracker-bot@kernel.org>
Date: Thu, 04 Aug 2022 22:46:03 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Wed,  3 Aug 2022 09:52:26 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc1-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/7447691ef994ffd8072809a11ca9167a2d91564f

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 00:55:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 00:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380761.615125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJlcm-0006Qh-QM; Fri, 05 Aug 2022 00:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380761.615125; Fri, 05 Aug 2022 00:55:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJlcm-0006Qa-Nl; Fri, 05 Aug 2022 00:55:36 +0000
Received: by outflank-mailman (input) for mailman id 380761;
 Fri, 05 Aug 2022 00:55:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJlck-0006QQ-R4; Fri, 05 Aug 2022 00:55:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJlck-0002PU-PP; Fri, 05 Aug 2022 00:55:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJlck-0000QQ-1b; Fri, 05 Aug 2022 00:55:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJlck-0002V7-1D; Fri, 05 Aug 2022 00:55:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DB5UcxzWJ8sYvFkcXzpnOq2JhtOqvDjiNKd8wXSVm7I=; b=2Omijf+0157ipLzvsr5FS3af+U
	kr1IU4BXj2++XrN6opcdKLIHszIGnsNyCFNxGTaDBIfP+ZgiuAQsNhN0F9T4MRZYOh259Vxep38Uf
	3HmXUSjDsOx3dA0ieXTCQC2B4qfagVLCvdmc95oNTJQRLaF7TF/OUz+xzLIx7NHZBhlg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172149-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172149: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1f7543c039f6b9eb182f0395965b9d414ac774c4
X-Osstest-Versions-That:
    xen=7c5b25c3038abc2dc8353f56ed67d2c4fcd43d79
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 00:55:34 +0000

flight 172149 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172149/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172146
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  1f7543c039f6b9eb182f0395965b9d414ac774c4
baseline version:
 xen                  7c5b25c3038abc2dc8353f56ed67d2c4fcd43d79

Last test of basis   172146  2022-08-04 17:03:10 Z    0 days
Testing same since   172149  2022-08-04 22:03:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   7c5b25c303..1f7543c039  1f7543c039f6b9eb182f0395965b9d414ac774c4 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 01:33:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 01:33:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380770.615137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJmD9-0000XG-Ou; Fri, 05 Aug 2022 01:33:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380770.615137; Fri, 05 Aug 2022 01: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 <xen-devel-bounces@lists.xenproject.org>)
	id 1oJmD9-0000X8-Ki; Fri, 05 Aug 2022 01:33:11 +0000
Received: by outflank-mailman (input) for mailman id 380770;
 Fri, 05 Aug 2022 01:33:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8gnX=YJ=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oJmD9-0000Ww-5Y
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 01:33:11 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60046.outbound.protection.outlook.com [40.107.6.46])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f309f25-145e-11ed-bd2d-47488cf2e6aa;
 Fri, 05 Aug 2022 03:33:08 +0200 (CEST)
Received: from AM6PR0502CA0071.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::48) by AM6PR08MB3493.eurprd08.prod.outlook.com
 (2603:10a6:20b:4a::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.15; Fri, 5 Aug
 2022 01:33:06 +0000
Received: from VE1EUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:56:cafe::c8) by AM6PR0502CA0071.outlook.office365.com
 (2603:10a6:20b:56::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Fri, 5 Aug 2022 01:33:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT016.mail.protection.outlook.com (10.152.18.115) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Fri, 5 Aug 2022 01:33:05 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Fri, 05 Aug 2022 01:33:05 +0000
Received: from f8c1308e3b1e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A33EF3E3-C16E-478D-9717-FB093285186C.1; 
 Fri, 05 Aug 2022 01:32:59 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f8c1308e3b1e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 05 Aug 2022 01:32:59 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DBBPR08MB5996.eurprd08.prod.outlook.com (2603:10a6:10:201::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Fri, 5 Aug
 2022 01:32:51 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5482.016; Fri, 5 Aug 2022
 01:32:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f309f25-145e-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=WMxFI2C5j445AvanYL7hDbIfMWLTePEiTqU8KCr315yYpTqo71htspOZQJfJAZguG8bk5Lw3zKSKgeFvJ8n4eKJKcn9LFOGmj9D2Rtt5QYpf1VQhqMwvIhR3pQXpfuCCanMwv7U0NiQ88vuKJrGSckDfuDfDSQIPI1uKD/LOsO3VERbiWocl6LJ7nY5Ak7ptYjWEhmQpixOJTFGQOHFedmWVhdAqWBxRQVVX8B6bYEdE5XKCweXsYFtrSeJrMmxSQTzgboW6DLq5G+phCelMijrK8+kJdrus7GnWIuiDp5NG9Y87QX7M14qJTzccbIkbTIsOwA+cBaEX86FdGIsd7Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J+n0mnQXgMXkdJeCu2MrGCabPZBW3bi2vdRX8mOZcUI=;
 b=UTZmAzMMRuWXPTlo5khG5AHfF38KJ9jXLrxUKCcRvC6+8DS1dCwI3EUeC4MnRYOm0E1g6W+pR+TY4ucarMIl1dhuqYCjZglqqL4KZPGH0n1MN/2b4tdenR4U0kZbY/fO/1zBQ+PM4azanKwCrzWI/48iXi8uyK8Ll1PAnkJRNS8VY1rMJYbE5sulAobsyWt23UQIUO4Ukav7bzuskeB1rwJNplxBCbffk1Mn+2fZDhPh40H/AORcrmJAcWZu297GHni2PQBDPxv9f7T4mdXvcRNaz3p0TLFajtsdKJGKzElovSCrwOtpDFPiRgi4IAMfRnr+XuuM4zpSoEzxHL9nzA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J+n0mnQXgMXkdJeCu2MrGCabPZBW3bi2vdRX8mOZcUI=;
 b=Atv8kBR6d/bD69LDcHU9KAtTm/Pg+Wlayz9cJRpqxsQLOdXzj0WiG4Sz+043OOjaRTEylN6mN7A96pWTnrxjCr4a7+7YBVGRR+CFCo573jrV2ja3BVZOm09355LU6tCFcYUgfD7sC/cAhWHIoUJC3fE9mDQU8lRE17y3PJqpuPE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BDMz8EgFOZsqFWpd3xQzRvvMijyT35do1FmVfWPXCM4B/0Ohiato0ntGDIaHWlRZkGsg50UxMzUybrXcesbEgNf7sNpaxVNzkppRdOd85xsC6R4UJlZet1UVt6GSYwO7LxpYjBkdWYlR6WXKjvvFMXWwlsghKzOKJdLeez8sWnuQvQZs0KpuowGDfTsHVEaY/9m0tI2Iqu/qdKAzJeckBuptEUSlWSbfwblhY7fXEHbCs5JTJo9//Zp8P90aW5GPzlr60uC6Uy4cp3auGHU88xNRJcCnEBd15+KCfGPEM/lqywqEgtgkT5VNCBlrQuPC8VJg9u/VWhJ7X6WoD/Wmkg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J+n0mnQXgMXkdJeCu2MrGCabPZBW3bi2vdRX8mOZcUI=;
 b=oNS5w8omEQzT1UtaJukirHBgFJg9CJNgehBVr3R5jUi0A2/0OJztrBalVftBQ1tm+wOpDgGuFd5OzL5ZWhPY7HzC9hQBkmVtVRG9u0OrI71KZMdT0YqhnutGgBQ0mqEFCLJzWyrW+GQYnd2LSba1s5FqAy8GjfOF0MSmGlICdXXDHtyF0NY/NkVia3HuWwwjqOqaOKZrEwokPANOo5XfKmEZONzZeC0vRjnm8dNbPhMlIO1b6P3WLn6f0UDsYkepxFzR9PJbTUWQARhx3079oRbuYn/8ogp2ftShbxTT0M5Nx9/JHlYeHomCmIPAbb0gSPHKcJoEC9WTKLiBfvz/Ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J+n0mnQXgMXkdJeCu2MrGCabPZBW3bi2vdRX8mOZcUI=;
 b=Atv8kBR6d/bD69LDcHU9KAtTm/Pg+Wlayz9cJRpqxsQLOdXzj0WiG4Sz+043OOjaRTEylN6mN7A96pWTnrxjCr4a7+7YBVGRR+CFCo573jrV2ja3BVZOm09355LU6tCFcYUgfD7sC/cAhWHIoUJC3fE9mDQU8lRE17y3PJqpuPE=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "community.manager@xenproject.org" <community.manager@xenproject.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH] ChangeLog: mention IOMMU superpage support
Thread-Topic: [PATCH] ChangeLog: mention IOMMU superpage support
Thread-Index: AQHYqBZ6+GfIBQbXT0yruY52m6X4cK2fhh6Q
Date: Fri, 5 Aug 2022 01:32:51 +0000
Message-ID:
 <AS8PR08MB7991C6716925E518A4029761929E9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <961b9bed-29a0-30ae-09a2-001698453be4@suse.com>
In-Reply-To: <961b9bed-29a0-30ae-09a2-001698453be4@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 7F41F57D801B784DB306DD1B1AB773E2.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: fd4cea3c-a88e-4fc5-aa33-08da768271f7
x-ms-traffictypediagnostic:
	DBBPR08MB5996:EE_|VE1EUR03FT016:EE_|AM6PR08MB3493:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 pOL1VGJgXIjUexVobdd4tCQ+Zp7N2PdpYdIvjW+CyHkuAcbScIUQ9dpB4NUo2u2n2lMacx9944ae94mY7kvLjJao1G/Um8tmskFirUeEce+JZ3XwgnSUc7Lin/htgM9zfbdEVU55ggi4Z2qlzKgfdJOFq/sL5NvhKSbsIRlfBHc4xbwokL5CHOcqtgxubdE3UQ6Td9X98drjOC7tDvY4hL74zoz+YWfh634TUb7x68lrA/NymsKaYCIVbqbg2PS/IICn8HAn7RGwzKkOU8pQ0O2Dx0ssMeFuUTDjOQgLiR/xw0GSD3vP++iD2PJta8VL7GV180tzCOfgFnN1xt4BQTqDMHqwf+UUJTUZtZQJHGHdnYaLCwf/cGr9JoV5XJJ6At1PV9FI6cHLKjsNxOI4d1ZABvauPxtB7ZFVdofbT5hjW5erQcGY7uDmAZz4FbYk0DsxmtZDCG5R+Xl7XfJ+4Ium6XsypiYOXeIxmqYXNW31n4k25MqEg7GOHuxFpLp/8j9hoRMrp34JLYmfAiyPUikvbbuVFF47LanhVb5FHeHk7LMJtz8Efm9zuT4ndcE8HSs60X0lh+tBWMPsIdA78QSqB+q6GC2+fh52n9UX1gXTZWgW/W5at+OOqbjQIW+HTublBMZ8dDHLPguKsJ/fdPX3CSUtWxbpR8x9JbZA6xbsb0jNWme5Rh99eKMugFBOmTwez0E5Jl6Xww5bcZh9MrCvfxOwYK1HMCrob2pY0KG93Y0WR4QpShOD0zz1aE2OAW9jMM/REtn7pkK56AWnsd0fifNt+jw4SrtNAngzA7stPuodOHb9KF1VjqF5nxkLoyXxDdliGrRlzLYUu3f2rAaVT0GB4eN3gKBddZOoQJLmgQrFFlSu1d/pZL8PdPDL
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(39860400002)(376002)(396003)(346002)(558084003)(71200400001)(41300700001)(9686003)(38100700002)(478600001)(38070700005)(26005)(6506007)(186003)(7696005)(33656002)(83380400001)(54906003)(4326008)(76116006)(66946007)(64756008)(55016003)(316002)(66446008)(5660300002)(66556008)(8676002)(66476007)(52536014)(6916009)(86362001)(2906002)(8936002)(122000001)(59356011)(219803003)(207903002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5996
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a7e664bf-a121-42de-b686-08da76826973
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J8UbjyaYv91cgnDhBm9MX1KdH3FzYv8RG62lht3EE7mG+rjlVHu4GFC2PMpDCa4WUigh3ZcwHTjsVQEfNPcX+nGsIGrd7D+m7s39DdvC3B76DBQwPz5M6kOofk8dqA0l7k1X8Av2Q5a4lLiD9asF1GPm++sQZ89DXPeNm4xAL3pqzyqO8fJdCy/nOHIl7QvpSFdmo9yVRJLuwJJG+m9Sf4UH4kGv2JlcY4kfCVpO16JT7gY+zuvX4GfFWwlj8ECJS4mwSXPk1fNAwWWSMiKP4GENSdx/5/+yWB7uSRHOeRzqYPJtxMaW/em+P3zUa/ky8dX5d+3wZNB1BqpuDsf2QBseAvFfawSmxshQ/NMEDV3CU4Dfw5oFx1SSpvK0an8BWvYzNrvsH66eNSUFkU5A4K7aK+YHR2RzrtsKYRXLjWfTCG2Ql9Pb+oavrVXiwPU7e6TK1OAB9+8n9krOrG5JrxRs0nI2AiffeyBZIbhUSuhFqS/ESmoy+lw26pIVqH89d+RuGlnksJdOdbl4M0S9fEKJVzIYugQmUtM4hJxZCxdz3WTj8MmlJ/r6j3Hz18iiYMv/WnHvIOIN6VimdTc3NlRwUccXzU5tpt3LE+oiNjjT+jmE3stYGFV5gVsiJT4oABTiB0GHVfM8vG4qWlBUxAiBbh6HSi7orKqCUVjm9w/yTY81kaYlivNipoMCy9g7QFWs3OCllR3j/RsrU7RyzkWtnyhADz78Awgb0mDFSrlUmw5po/oAiT4rvRNZDrDPmTU6UYhyr3BIr7nwJ4onlwxl2VHWPCkvgrdhTQ/wRpBrA72GrGzLcGx3exrafWLhzyIx9J2IKwX22M4X7BHPVS5/TOhNfH22jyfYBUlQBHRmULO9ENsGH4zXU6OLbz+I
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(396003)(376002)(36840700001)(40470700004)(46966006)(40460700003)(356005)(55016003)(41300700001)(36860700001)(82740400003)(2906002)(316002)(70206006)(83380400001)(40480700001)(186003)(336012)(70586007)(8676002)(47076005)(81166007)(4326008)(478600001)(5660300002)(86362001)(9686003)(7696005)(82310400005)(8936002)(52536014)(6506007)(6862004)(54906003)(26005)(558084003)(33656002)(59356011)(219803003)(207903002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 01:33:05.4978
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fd4cea3c-a88e-4fc5-aa33-08da768271f7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3493

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU3ViamVjdDogW1BBVENIXSBDaGFuZ2VMb2c6IG1l
bnRpb24gSU9NTVUgc3VwZXJwYWdlIHN1cHBvcnQNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KVGhhbmtzIGZvciB0aGUgcGF0Y2gsDQoNCkFj
a2VkLWJ5OiBIZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQoNCktpbmQgcmVnYXJkcywN
CkhlbnJ5DQogDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 03:56:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 03:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380781.615148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJoRU-00060h-2g; Fri, 05 Aug 2022 03:56:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380781.615148; Fri, 05 Aug 2022 03:56:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJoRT-00060Z-UF; Fri, 05 Aug 2022 03:56:07 +0000
Received: by outflank-mailman (input) for mailman id 380781;
 Fri, 05 Aug 2022 03:56:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJoRS-00060P-Jy; Fri, 05 Aug 2022 03:56:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJoRS-0004b8-Es; Fri, 05 Aug 2022 03:56:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJoRR-0006vD-Uo; Fri, 05 Aug 2022 03:56:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJoRR-0003uZ-UA; Fri, 05 Aug 2022 03:56:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ikjsEZk7/MsadnLAV03Si6NTRNm7dqWIpQtaJdk7IJ0=; b=AueDEAYwO/vlHnC7yGm2QmSsJu
	diMzb4HMb/7JhEB7oJ8nFVrU9ABEnnDKESq+hUflbZMHavHoW5pqtoD1M6sUguAyJWZuMZx5zFX6B
	HKSi0Qb9NdLlBgVeohAW9KgAIhwsPDKYIX6ZGBMwSfkCeqVkwN9Nes3n8njX0AbXQIYA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172133-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172133: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-credit1:host-ping-check-xen:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
X-Osstest-Versions-That:
    linux=c2a24a7a036b3bd3a2e6c66730dfc777cae6540a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 03:56:05 +0000

flight 172133 linux-linus real [real]
flight 172150 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172133/
http://logs.test-lab.xenproject.org/osstest/logs/172150/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1  10 host-ping-check-xen fail pass in 172150-retest
 test-amd64-amd64-xl-credit1 20 guest-localmigrate/x10 fail pass in 172150-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172150 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172150 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172093
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172093
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172093
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172093
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172093
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172093
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172093
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172093
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
baseline version:
 linux                c2a24a7a036b3bd3a2e6c66730dfc777cae6540a

Last test of basis   172093  2022-08-03 01:58:10 Z    2 days
Failing since        172111  2022-08-03 11:41:21 Z    1 days    2 attempts
Testing same since   172133  2022-08-04 05:14:48 Z    0 days    1 attempts

------------------------------------------------------------
1032 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   c2a24a7a036b..b44f2fd87919  b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 04:21:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 04:21:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380794.615158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJopz-00011Q-5X; Fri, 05 Aug 2022 04:21:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380794.615158; Fri, 05 Aug 2022 04:21:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJopz-00011J-32; Fri, 05 Aug 2022 04:21:27 +0000
Received: by outflank-mailman (input) for mailman id 380794;
 Fri, 05 Aug 2022 04:21:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJopy-000119-29; Fri, 05 Aug 2022 04:21:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJopx-0005K3-Vz; Fri, 05 Aug 2022 04:21:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJopx-0007g4-J6; Fri, 05 Aug 2022 04:21:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJopx-0002XM-Id; Fri, 05 Aug 2022 04:21:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MSZ0qgrDK9gRu0wV0bDZfM/pAbkIqhwb+ml5C6XGf1g=; b=vG8CxLOPjbqlJrOA533XFr1qM6
	FTwg9Do20XSO4eX24xR/3L80Jdpgz//gpGddcPiQRBn6P+D2AyYOSGQ94Ut3XXD7WNEQeGjoaOAjU
	kqha/mNb22dGPD5HGQda9Ss5A8Xfpf2M2D5AW2giCjcE9S8Brq0wQdNhBfHK/5Gj2fzo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172151-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172151: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 04:21:25 +0000

flight 172151 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172151/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    0 days
Testing same since   172151  2022-08-05 02:40:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 05:38:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 05:38:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380806.615179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJq2F-0000Ee-1B; Fri, 05 Aug 2022 05:38:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380806.615179; Fri, 05 Aug 2022 05:38:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJq2E-0000EX-TC; Fri, 05 Aug 2022 05:38:10 +0000
Received: by outflank-mailman (input) for mailman id 380806;
 Fri, 05 Aug 2022 05:38:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJq2D-0000EN-SL; Fri, 05 Aug 2022 05:38:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJq2D-00071e-Nn; Fri, 05 Aug 2022 05:38:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJq2D-0001fn-Ev; Fri, 05 Aug 2022 05:38:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJq2D-000870-ER; Fri, 05 Aug 2022 05:38:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GtUYL4viWQcSI0iwMVq+a2b8WFz/3cHrgrHn7dUzn0c=; b=J1SSsawcBkTWfzCgfjIAufbisl
	6XKHuSzu6i/RN03XXB6WHtFvLoXVlTofoiqnuQU3aVVGSoR1+9yTqInY45a7Xl32FtH1QqkorGwPz
	Yj+a3zhRKHrU/eCbeXRJRaWit2yFih5AofGhbnI/6n00IKWOOhQ4/uI8vH09yRzB7Z1o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172143-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172143: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-i386-libvirt:libvirt-build:fail:regression
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:regression
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:regression
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:regression
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=01ca29f0b17a50a94b0e232ba276c32e95d80ae3
X-Osstest-Versions-That:
    xen=f732240fd3bac25116151db5ddeb7203b62e85ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 05:38:09 +0000

flight 172143 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172143/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172073
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172073
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172073

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172073
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172073
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172073
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172073
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  01ca29f0b17a50a94b0e232ba276c32e95d80ae3
baseline version:
 xen                  f732240fd3bac25116151db5ddeb7203b62e85ce

Last test of basis   172073  2022-08-02 01:51:47 Z    3 days
Failing since        172081  2022-08-02 11:38:20 Z    2 days    5 attempts
Testing same since   172120  2022-08-03 16:40:02 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Dario Faggioli <dfaggioli@suse.com>
  Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
  George Dunlap <george.dunlap@citrix.com>
  Hongda Deng <Hongda.Deng@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien.grall@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 583 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 06:15:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 06:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380817.615195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJqbw-0004X5-VL; Fri, 05 Aug 2022 06:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380817.615195; Fri, 05 Aug 2022 06:15:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJqbw-0004Wy-SM; Fri, 05 Aug 2022 06:15:04 +0000
Received: by outflank-mailman (input) for mailman id 380817;
 Fri, 05 Aug 2022 06:15:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJqbv-0004Wq-Jt
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 06:15:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2077.outbound.protection.outlook.com [40.107.20.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f07b26fa-1485-11ed-bd2d-47488cf2e6aa;
 Fri, 05 Aug 2022 08:15:02 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB5621.eurprd04.prod.outlook.com (2603:10a6:20b:a6::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 06:14:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 06:14:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f07b26fa-1485-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iREtbcRzU1AonluszoaraA7NqE6J1XtTCtxcUE+X19pwVmgvEIbaTs/yad68QOaZyBqskIKJ454YaEIsBN8YJGwok0GqzH3TgDRAncbY765dwo6nUueCAmMakV4ClekFUzZVvt9ozS3o5mnc0f/g15Fsn19uUqSdbODyc2p7+5FI035YjDZNORAefa0R4yAiMa3Lp+0OFQDRCjvTYloRv4jSMa7d3hkICvqlUsQWc5zw4pzSG/QFnQcHyEygMq6OqnPtJ2uryAklZQfTM42iyrpr9RogROxM6PkgYGKp8syU2BanqMOJmkrIs3RctZ4G7GzIdqlNX4b5qJX2W2KWgg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bGH1TWAhCev18qr25KY0QCoCiXKkcHEAoVKC2XCVGQo=;
 b=eLyOnbLP6lXyXKU3t9bBdaPUaBtwL7ytsR/1uze4tmKFyz/ZGhUeBAWcJJu4fCjSoVbZ+fkf+HuTarZpx0/e3E6t45njqfdn293tA+5E79uYO5uFJycXHaYWFVEov1RYk/2ZclSVEA28dFoA9mzRDuRallnOwri5fShA6LLNdFddHfO7X2BI6f87hfQFL0QLGTrqogMM6n9/96tIbVud3/VMwfK8cdXBCyw5+O4VUyP6IM7VBlmT//wOkmMEscLDWyICeYbJk2jguVHIlSvQ3NYamd+Jc1ujb3Mcctvj/9FKrh3vaLY4eu7HDsoYQ0jlc0Y33VHqRgUUdC6yKwLbgQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bGH1TWAhCev18qr25KY0QCoCiXKkcHEAoVKC2XCVGQo=;
 b=iH3UdxqU45+sk8NYOiNZ8v7Rw5OjiIgeTRDyctEj53Nc7YQ+jPmr7Zh0b1IQdo/rD+dpHrXi2XFERO3Tb4wgWwE7yiD98xTqx2A6hSQjFm2wprA6Fet3/ox/mOpHaEzVIJqVW/QOoLD55IrxE7n8XRWrUogO0/EqTqtKpVgSLWRXbL2A+39sQOhtGrMElqaDnb6XHL4XlnswCfaNhmsSLQID6VuigrMZC2GjRaNgEIzllqIYxGZZZ0W4hlHLzXp0k/baAMpTiiPsNv8awZTu2g0fO0VO9FXqOdjT1TlSTK1TShkTZmDvPpQxs4l8bF6RTy8qCDbzS63/l6TjfYGX9A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <35b1a843-ffe8-0e68-969c-49e0f46ab685@suse.com>
Date: Fri, 5 Aug 2022 08:14:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <3bd56b9d-023b-1991-90bf-bc44d3c75bc8@suse.com> <YuvM7vElH/IdBJjq@mail-itl>
 <c9f9c980-6045-c697-eaf1-11e14a87e71a@suse.com>
 <6d329731-57ef-2e85-be1c-54102f3dd2b8@suse.com>
In-Reply-To: <6d329731-57ef-2e85-be1c-54102f3dd2b8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0065.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 956509d9-d7ef-4b3c-9037-08da76a9d312
X-MS-TrafficTypeDiagnostic: AM6PR04MB5621:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NTzpFRee24nHahsYGLQZvSslba2AhPrTMvFCAuKBPTHGTQC4+n1LppG++jSoGXd3TPow8rQ3ncZJ7yc/ns6Wyjrw8dphXDCcqURhlqbU5f30V4tETW6jtHoDmdjD4COlNVIOu6H/YqE0RaPl10iQVmRj0HQfl2FAyLa5YvJrOav3zljRL11WkQhfLWV5T1CRzK+1HS2uUJBYuozvnkkpoMyzgJN4pPUJqUdTajWMIL/GqnHJg1j+07bgZXswwwKezge6J7TuW3+p361jG0gfA9GcrsVsbLYnj28sDRukYwnG+cNFrIhOJcx6MnTLrP54RTkjY8/qBnnlK1fHatZfKYVB1T4JNZRimTgw/S+s70QZLZBcWfNFOkaGHKKt8SuoK/fGEaRLDi/vF+hSEcqn63qR14OlDzOH6AcufPmYBGEiwKeOMdvc2/XMSKSWFTnMmM1ptcXaMrv1cj0GuOpTm6LU/oU0vC/kbdc/vxOu1XV7zYK1FMDljqap6gO62ii4eohjC4ydnNCEvXnAMyp6s/i+0mv1twS/QFjPtO5aIv4TsbKX5yTWLTU7fMBWOXkL+XU51OWPZI0dfMspS6TLU/M8qkc3F7APLfUSLqyV72yGYTebbQBYp55cvmUmeE7vH21I0IWTyksxWheJDzhJ+f78O7mTjd88s1Y97GVGJm0PqB5BttyjfG0pMwyn5KFxkHseqmm4aLSUarSRP2qpvhVS6iG47u1amT0yTIoaTv0UGBZOQ8JiUJZ49SydYEvU9NDPN2E7aq/rnBGrIADPe3YZfsI8jX38QAqvV9kfyCS8OFNsx95/8SyJ8teh0L0WWa12DSYFq4vtJJA9r6bK5g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(396003)(366004)(136003)(39860400002)(346002)(4326008)(8676002)(5660300002)(66476007)(66946007)(66556008)(316002)(8936002)(2906002)(6916009)(31696002)(86362001)(36756003)(38100700002)(478600001)(6486002)(41300700001)(54906003)(83380400001)(66574015)(53546011)(26005)(6506007)(6512007)(6666004)(186003)(2616005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WE1JcFJjdEJNQWh4NVZ3eWVLMUFuWkErRktoeTUzVHRCdkZGdTA1eVM4alVJ?=
 =?utf-8?B?c29zcy9Td3RsQVVweWNuUGY5azBjaWNpTFFzNkdFUG1xQ1hMVnpQY2lWSHJB?=
 =?utf-8?B?b056YU52U1diUnpPbjhGdzYzdld3QWxZZ1BDSGcyZTdiRmx5eTFXRXErVmtZ?=
 =?utf-8?B?L2FWa0tlUzlEeEdzNElsZC84N1dUS1NUMHVXZHVYR05yU000U3lnWnBuK2Jm?=
 =?utf-8?B?dmdPRFZ1cThCeGpBdTNjYW90WUkzOEhXMnNtd1lQbm1kY0JHLzRlNzAza0xE?=
 =?utf-8?B?dnExMU5zVU1NN25mUUY1NVFYVEhVK0tmSUlNOWxsT3Zqb0Exa1ZwVjloeVJU?=
 =?utf-8?B?NkxPeVJncmtOVWR5amducHQ1blRNVmRzTFFyWTh2N3A3SXcrS2NzK3dRUTVX?=
 =?utf-8?B?bFpQVE5TUWhPcXdyQUJVdzFDWDloU29aMGhYNEJ5d0UyeXQ3MEhSWVRqeFRw?=
 =?utf-8?B?Zktlc1d3dUJFWC9yRjRZdGdzcHVFbFFUMjdIYTJsbzVRbUptVmRMSTNRNHll?=
 =?utf-8?B?cUxlbWhmK3U5cTB1dThVZldZV3FzSmZNc1FicEh5MlorbWdKeE5zWmNOeUUz?=
 =?utf-8?B?L1gwYzRqRGJBdUlvdkR5YXBNYm9zNVRLYzExS05STjZQc0pXcUtCRjRQelNW?=
 =?utf-8?B?M25FdGNKYjRiK1lvTGxwMGR5MC9HelozaWZtU051V3ZhRDZQMFdtcm1GTVRp?=
 =?utf-8?B?TzlrSkJ1U1IrdWhPVmZjeTlnTFJkcnM0QldpcjdOVXhaVnpnNnNqdlE5VUx1?=
 =?utf-8?B?RkNwSTRoQWJxcS9FSVowWVFJelYxNWVWZmdpUFltSlRxSG05cFdVZnVZK2E5?=
 =?utf-8?B?VDh5VmJMb2lKZ09vZkt6d1hrR1kzUUpqTUE1dHp6RUU2QjVSZmtWVXVaRWtE?=
 =?utf-8?B?Q0Z1VmNiK0FWOE5sdHdmbXNEOFVQei81dlJBdmRYaENTNkUvaHJxSHRkTHRi?=
 =?utf-8?B?ZUxEdmFCSGlQUU5CU1F3eXVLaFRFR0Y5Uy9wOFZnQzh4dnNVWWFSR3pYeTk5?=
 =?utf-8?B?OWMyT0IzLzJvOTFLczFzVmM0cCt1bDNMU00ybWQzT1lwTTBySkdSY0FoWmdy?=
 =?utf-8?B?Yll4ZXorbTBFZzFsazhWZ3Nid3dleUYyS0Z1eXV4OGlMOGFqRzFuQXJ6dUt4?=
 =?utf-8?B?cFl3U2NoemI3U1B2WWdUNGdPRWRzbWxWWmViaXBDclFmVXloU3dZNjBFWUVF?=
 =?utf-8?B?SlZtdWt5UjIyV1MyWklobE4yazkxV0V6eVZVcSszYnZzak14UmltbW1oeWo0?=
 =?utf-8?B?a1ZZWHhEYVY4SVNJOTFjdCttRXJiTGRlUFdEODZ5QnkxMGVPNlBmeXFtSVla?=
 =?utf-8?B?R09SRHo0WXBIUnFEVjF6SzdzdURaMk8wUU5abWZZOW55c1pNU01Wc2ZYYi8z?=
 =?utf-8?B?eWtRc2dBNEZDdlRlK0pwVUJSdWVTNWNMSERjWDIxSHlxYjN6MXdTUHp2eUNN?=
 =?utf-8?B?NWFWQ1dGS1A0L29VTjd6bi9KTDA4WWthUHRhSjZpa2Q3ZXJEb2FieVBSOHFN?=
 =?utf-8?B?TnI4TkJhT2tnU0xWUVlESStDbzByWEdkR21Ra2xxV1AzVGQ0aG9VZFdkQnRK?=
 =?utf-8?B?c3JjdEN3cjRhT1pGU202cDFsUWc5V3FxalhZUzMvNFg3R2N6dnlUTkEvSGpZ?=
 =?utf-8?B?WnpMd2FQcHlpQ2xqVlUycFhoQ0U0OU9OMXJnWGp5L0VodFV6U2cwTTI3VFk0?=
 =?utf-8?B?eFFCWWtuelltRThtYmNZVG81TVNqd2NBeGJwNTRUempBWThpY0ZSYndMeitR?=
 =?utf-8?B?L3ZXdFVtR2dSVnR3ODVGWEVjV0xYbWpkbWdxNE53b3FsVnlFdlphUk1VMG1k?=
 =?utf-8?B?MXIyeVpicXkwQVFITnN6QmlQZGxubk9XQWFvUzNrNTlRVlZ6T1ZTSUt5NzZh?=
 =?utf-8?B?S2lBb2dPYXJEWDBWNEl0dkYrUzJEeTJJQ0RFNDlYdHB2djBzOUZXQmM4dVhU?=
 =?utf-8?B?d2ptYkthVXVpMXF4dHArM2tnMlMzMXY3U3RycHBLMFR6SGNkTXNpa2dKV1Fh?=
 =?utf-8?B?RVN1RVNlNHhzb0duRlFXeTRHRlliWU1PblJzUGk4bFZObjFXdS9ucEpYM3JC?=
 =?utf-8?B?V0pxRUVyc2lXYVdGRVljUjQ1MmZTKy9nQW9ubjI4VnBtaDJvVzNjbSt3bFY2?=
 =?utf-8?Q?9S3qHy/b3jFK6cTI/Sb+6Cp3+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 956509d9-d7ef-4b3c-9037-08da76a9d312
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 06:14:59.0512
 (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: HryyLPwqeZ43vsLww2L/0ZL/jIYP6HOosfzPbbkb+GPfH4LUwqkHfXQrcYGNx2H9hBoGnows217cFJvp+8i4eg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5621

On 04.08.2022 16:34, Jan Beulich wrote:
> On 04.08.2022 16:21, Jan Beulich wrote:
>> On 04.08.2022 15:43, Marek Marczykowski-GÃ³recki wrote:
>>> On Thu, Aug 04, 2022 at 02:57:49PM +0200, Jan Beulich wrote:
>>>> On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
>>>>> +struct dbc {
>>>>> +    struct dbc_reg __iomem *dbc_reg;
>>>>> +    struct xhci_dbc_ctx *dbc_ctx;
>>>>> +    struct xhci_erst_segment *dbc_erst;
>>>>> +    struct xhci_trb_ring dbc_ering;
>>>>> +    struct xhci_trb_ring dbc_oring;
>>>>> +    struct xhci_trb_ring dbc_iring;
>>>>> +    struct dbc_work_ring dbc_owork;
>>>>> +    struct xhci_string_descriptor *dbc_str;
>>>>
>>>> I'm afraid I still don't see why the static page this field is being
>>>> initialized with is necessary. Can't you have a static variable (of
>>>> some struct type) all pre-filled at build time, which you then apply
>>>> virt_to_maddr() to in order to fill the respective dbc_ctx fields?
>>>
>>> I need to keep this structure somewhere DMA-reachable for the device (as
>>> in - included in appropriate IOMMU context). Patch 8/10 is doing it. And
>>> also, patch 8/10 is putting it together with other DMA-reachable
>>> structures (not a separate page on its own). If I'd make it a separate
>>> static variable (not part of that later struct), I'd need to reserve the
>>> whole page for it - to guarantee no unrelated data lives on the same
>>> (DMA-reachable) page.
>>>
>>> As for statically initializing it, if would require the whole
>>> (multi-page DMA-reachable) thing living in .data, not .bss, so a bigger
>>> binary (not a huge concern due to compression, but still). But more
>>> importantly, I don't know how to do it in a readable way, and you have
>>> complained about readability of initializer of this structure in v2.
>>>
>>>> That struct will be quite a bit less than a page's worth in size.
>>>
>>> See above - it cannot share page with unrelated Xen data.
>>
>> I have to admit that I'd see no issue if these lived side by side with
>> e.g. other string literals. The more that the device is supposed to be
>> exposed to Dom0 only anyway, and hence that'll be the only domain able
>> to get at that data.
> 
> Actually: With your plan to expose the device to a DomU, how is that
> going to work without tool stack adjustments? Wouldn't you need to
> prevent in particular HVM/PVH guests from using the GFNs corresponding
> to the MFNs where this Xen data is? The minimal requirement then would
> seem to be an E820 reserved range for the area.

I guess this was rubbish - by mimic-ing RMRRs or their AMD equivalents,
the tool stack ought to be taking care of this already.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 06:26:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 06:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380825.615207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJqms-000679-5k; Fri, 05 Aug 2022 06:26:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380825.615207; Fri, 05 Aug 2022 06:26:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJqms-000672-2o; Fri, 05 Aug 2022 06:26:22 +0000
Received: by outflank-mailman (input) for mailman id 380825;
 Fri, 05 Aug 2022 06:26:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJqmq-00066w-Mx
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 06:26:20 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84673b6f-1487-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 08:26:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8649.eurprd04.prod.outlook.com (2603:10a6:20b:43c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 06:26:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 06:26:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84673b6f-1487-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EPamcx3TydxjEf7bey/oHOHOv+NuTJ1bMqLVdf6xyFz/9ododElLIrecu2tMeiZBR6Rld/rMwziJtBU1H2MZ2/2p1+/TGwNw4jdsj6CDfX7dLIvE1dYgYm1qOw8LVQlJGz+YT5HEph4Zc9YRWX/nk7K5SWaOJOkPf9b5bpWFvkdOh+Dforj/gg8Ju8HQ4uWvXkgpe7IbYzPAFjWNvcqPSpDVqANpNt5pjnC5sLPBnA4fO3fHwYRKNZi6nH/IUW6CsTopvoF8begl9wnv81evYtCFTYJaZZSmSWlGeoGQKjhi0Xub1Ytdog1CzhSzHfzy0mVcLKS7We8imbPVD/mCAw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=edln0O7neXUIMAg00ykpAOuvx1m68fqZf3HyjeVwMZU=;
 b=jSaYoGdHWNJABJndRcPYkf5R9mexz7HXKMEFS2TLn6i2V3uwp4o6TKNGvTVXWLCYSpAiTXFBp0ll3PgBmEqI/0FL/VUu5/V/eYIDtFiA3qOOCkCMS6VHMlBW8Co8/8O/a8GPqAaZcRKj7S/PZxLfqweulAhYaHDyyQbBWlRKwNIwyXanHqHwgauKHsHDvuQgJ+I5RnaRourMp32kTuM4QBsZ0i2perqI0MYmypFmDtpwVGSU4skwHBeiNfsXvKyiaNXPMPr6v0U5tAYY4oPq5PZontmeh48GH8S47LIxzsXVO7oOQFIsxyXcu4R10Ys92gyEhMgn05T7qK7KS//wiw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=edln0O7neXUIMAg00ykpAOuvx1m68fqZf3HyjeVwMZU=;
 b=lNJsMl2qM4D9861neDzQtQvrNellVr4T3KK0PODpxCXt7+UxaFuJNU01/vtwPgSeK3Tq6krboXHZPVJ88kn18Zq0vdh18SasoWfiv2ZcriMK9Y14EhtIcSLRJg3tojECUiMMIKu4H7NXabMrPkEcVyr1kWWQwvX75Nc8Ust+5wwU+vU0zWqLz8738M0mXZMDx6ECS0tOeAafsVzUdQVez+20OQqwx3vIL2LFS4IO6LqM+4aaEcTunFTQ+zb1ygVpjOtKjVC8vg1x0D8joJ9nvC8uUv81x19UCaBOV8i/1ZVzk/DBtcvUCZPV/TPww7SfGF6tnGzeSFrIEjzDcpGSCQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b9e5d641-f530-4bd2-f9a1-aea7c1160948@suse.com>
Date: Fri, 5 Aug 2022 08:26:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 1/4] x86/kexec: Add the '.L_' prefix to is_* and call_*
 labels
Content-Language: en-US
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-2-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220804150424.17584-2-jane.malalane@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0068.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4efae768-b51d-4292-3776-08da76ab6785
X-MS-TrafficTypeDiagnostic: AM9PR04MB8649:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bzeL13v23TFyFpZmza5M+a1DLyJV5P6l6wTpg4qA26M+NcH2FcC3LvSTkOqHToNnt9fJct4JrXO9Mrbh0//Rb4WV8JLy+8Hbou8qkyX6UmXqd8PCxq7z+dOI36hOtk0iUAFpWbCt73pweaO5yuyRQa2h4dfDIQLCerZ9B/iAUb4p0WhqrQwperJwZw1qxjA3GNNhBR/+rIS/kGAq8tJjOnQIUuFtAJL36P4BAP9nau0pNCzunOkn+pYbcvB0xqZUe8d7WhWSc0UHmmNUkkx4KPQRzDfn9ymeUJ2PlR1QqaKHALJeYpcbrhzhCkgEgm2Jm1A7QD4So+Cu8r9ISJT7nVP0FicZgB7PvW/0oiauMDyNzPYaylR6tdl4KBH0AqJakpyi45j/xLiCAagWHHdnEGuimEjs6Xxo6RsFoob6eLwOUt1TQFSK/nVwmFHjAcAJyjQK1S1GI/PyT2aODKzZFnnjs+UaTbIIa2PNPattKgp20zzziQmtkazXFS4eU6oR6aIJQZT3x5BEeYcBPs2KL7AlKm2HjddyVQ3iu1X6EiuLbm2GRsnBfDKqUyP5keKbgg/FDyrMdKp4sFZpQe474PM2L34kgG01fuQtdlqjJYLUXhCMZzWWKWljk82ilFQAQkKQvJOn+HKF73ov4y/pWHl5yXnLBDbSPDdxsWKNsAHii/3EosfFQA0MEgvlSMmmJLX1cxJnvMYQRMBjCx3MUWUhvgssj9/ZMnBEsesQsWgZObamqH7x3/kMWIWdPdnPYu4/UleZL+qKAKQI3k+244YbKnhBqEneCgnBq84A5lFhm03GxTamgHYvXb6o/dkS1kskq5l8mO80VUQpNzGVUw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(366004)(39860400002)(346002)(136003)(396003)(186003)(6916009)(54906003)(6512007)(8936002)(66946007)(66556008)(316002)(8676002)(66476007)(4326008)(2906002)(2616005)(31696002)(86362001)(6506007)(36756003)(31686004)(478600001)(6486002)(53546011)(38100700002)(4744005)(41300700001)(26005)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QlZObjlRejhuRkJhdzRUcmhUVnRLU0l4aGRkRk8zTlJ1VkJGekJlYVFZYlpQ?=
 =?utf-8?B?ZG9BWmNMMlpXajBqUitIZ3FIbnhXZW0xZ3RwZVI0dVVBVGRsa09Ka3RHeGRa?=
 =?utf-8?B?WTh2RnBtU0x0c2YvM050bWtOYjNGS2orSzc3L3BJUHNWTHozZ1c0UTVKdjBL?=
 =?utf-8?B?bmw4cDhRVXl3YUg2RmtSY01pUHhNblhOdzdRb1lsbWpuRkZOek13UU1xMnZJ?=
 =?utf-8?B?dnpZVjMzdlM0bkZ0bEdpRTdnR1RsTFJnMXpELytrOWNBRnVFT21tZm91TWt6?=
 =?utf-8?B?bUJla0lGemZMbGZvb085L0lCelFPTWZnMUxWSmpQWTRyZlF6MkF3NHRsVEor?=
 =?utf-8?B?d1NNWlNyS3pOMGUwMTFTajUxOTljbzRVbDJEeDlucUdBVTFBK05TQ3hZa0Va?=
 =?utf-8?B?WVhWU2NlRFI5S0tjNGJmeG1qZE9ndUlVVE1pVGZYcTRCQ29tSmMrQVlwb28r?=
 =?utf-8?B?ZXFnWCtOdWlodldraWhEOUxUaktCeVd2bGxQcDJOeVdNSUhZcVNVVnVyZ2ZP?=
 =?utf-8?B?Q0JqQjI2WVdmY01lZmlxZUE0aU1McEE5NUtqU0FIdTJ5M2UzTktDNFlBeHhu?=
 =?utf-8?B?SWtQMm1Kd0p6eDB6TnlueEx5ZHpZVTNRN0RWc2hwR2VrTDR0VnRtaStkZmo2?=
 =?utf-8?B?WG9YbGd1a3hlOUxiUFVLV3A0RndSSHpTSS9TeEtESk5LWkRtb1ZpS0x5TEx3?=
 =?utf-8?B?ZmNza3diUXhMNGVWNEZwYkFCKzg3ZDB6V21hVnQvVldkR0NDclVhRkYrYVNu?=
 =?utf-8?B?VlJlc3BFWFl4cEdUajA1akVjVTFydXFBaHdObi94VHJIV3VZdmYvV2FjQVd6?=
 =?utf-8?B?Q1RmZ1dDTVlWLzBVSzNBYlUza0tsSElHZUJxVE1QN1g2NGQwdC94SE14N2lm?=
 =?utf-8?B?dS9pY1l4WFErVkxIakxMOTRxSHVINTZtR2EwT25KRXdXQVlxMS8xbUdQSHdP?=
 =?utf-8?B?aExLQlJNRXVJaVFyZ21qKzJtR1EvNVRtclhEYm5ORG5HUzFXOFJMSUorOUI3?=
 =?utf-8?B?bTBwNXhxU3BVMVBZMHVwcDVQcStlM0VkbjRBRzI5SE54ZkVMZjdmeUNKWDhJ?=
 =?utf-8?B?bmg5Yy8zTUxodUJtSEVPUWFvYzk4M3E3SDE5S1dHVXM0OFlWblo0THkyOVYx?=
 =?utf-8?B?WFJhNGZBZFBRTFp4WngwRjE1bEgxbzY2NnMvbm9icHlQM2o0a3M2ME00c2I3?=
 =?utf-8?B?ei9pb1NnUm0vcjJ0SVZaakxRK3JwUllJelh4bHFFdG4rQ0tkWEUrSnBVZXRJ?=
 =?utf-8?B?YUdHYkw4Sk84anQ4dUx6VVB0UHN2ajR4UlhmZmlzYmxhN015R2xRYVFXWVIz?=
 =?utf-8?B?RU5zcHhCUEVPT3VsV2ZiRS9NNTBVUEIvb2pHbEFKUjFZczlXbFV0OWZ3QitY?=
 =?utf-8?B?NWpIbW5GT2lkYnBXdGR5TWJRUkswbUVramw5SzJldGdpV0RPSXlxSzA3QWdx?=
 =?utf-8?B?RWxSRXY0NnlTMDRRSXcxZlZneDV1L3ZXUE5DZUMxaXVQZTdHNVhjaWVvR2JH?=
 =?utf-8?B?NmZPR2RoVFZzMFRFSVh0Zi9CNEM2SjdXaGtkdWxSN3ZhZW5mMkJFRDE1Sit5?=
 =?utf-8?B?TUNyZWlKbUwzRGF0VU4rcW5xK3lSNkJnbUV6Vi92Ti9MSDdsM1pzWHBJSHp1?=
 =?utf-8?B?Y0hsL2JyQS9OTjRrb3JUWk1WSllZMlFENFEybFZsbGxFMXIwdkNaVkMyMHly?=
 =?utf-8?B?N3FBQUlVWW8wY0lvZW5qUVdEblV6VTBFMnB0UjcxU2hzY0xzb3BpdkphUjNX?=
 =?utf-8?B?OVJRZzVGeWNhTVFzWkpuNzlnbFZaa2k3N212aHh6enhpQnBvWWxXc0tuaHZx?=
 =?utf-8?B?L1ZCdWhnbHh1R2t5RTFGL3FEV3RXSzZHOEJSeG41Mm5QeDZzVFlIalNydU40?=
 =?utf-8?B?aDM3U0RZdlphOWRLVG9KcU9sODJ6RCtPQkk3ZUpBUHk4a0M5ZjhPQnVRekFE?=
 =?utf-8?B?VjI3OTQwV1VqajhzeTl4djZieUtCemFBblF0NmJ4QXVKWFZkbE1BYUxvQXBF?=
 =?utf-8?B?UHoyTk1jdTVwcGIreTVWcE9GSHJST0YrWnY1MFdaMVVxM3FLLytNQWNZd1NG?=
 =?utf-8?B?cGFDYXhJMGF6dm9pNUpCcTZ3bGtKSVNZLy82djZGcFhYbS9XTFV0NHpGRU5v?=
 =?utf-8?Q?eCIfWFDkJF1ptbLgLFbQXweL4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4efae768-b51d-4292-3776-08da76ab6785
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 06:26:17.5709
 (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: Dk0oMyFb1jBrxscgn/kLdRRjMPFtqrNgXSxRth2EKxcQZtTunjtCh5MW4ZNSpCr0y4Dw6rF0/FCGEYv+ZiZo2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8649

On 04.08.2022 17:04, Jane Malalane wrote:
> These are local symbols and shouldn't be externally visible.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

albeit I have to admit I'm not overly happy with the underscores you
add. I think we use .L not followed by an underscore about everywhere
else, on the basis (afaic) that the L being upper case already makes
prefix and actual name sufficiently separated. But yes, in some more
recent work from Andrew there are a few cases of .L_ ...

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 07:05:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 07:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380838.615239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJrOp-0002Bp-9P; Fri, 05 Aug 2022 07:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380838.615239; Fri, 05 Aug 2022 07:05:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJrOp-0002Bi-6o; Fri, 05 Aug 2022 07:05:35 +0000
Received: by outflank-mailman (input) for mailman id 380838;
 Fri, 05 Aug 2022 07:05:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJrOo-0002Bc-Ij
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 07:05:34 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80040.outbound.protection.outlook.com [40.107.8.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff15ad14-148c-11ed-bd2d-47488cf2e6aa;
 Fri, 05 Aug 2022 09:05:33 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8614.eurprd04.prod.outlook.com (2603:10a6:10:2d9::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 07:05:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 07:05:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff15ad14-148c-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Sd7aLK9jDcQ3g1wMdH4fg2i/elsw93Wh77M0s8e8TJX8edJocAK+mqLCTga5DykK13bMgJdbIleHnTsg7WRejp09cnoII2sfmRQH1rmKas9Lf4I+vebLwoCY6ew+5ZZQ5a1zTBkGqsLxxHpoFmVTba/9inQISR0LxLJIipeJtsd0cHxmq7V9+vXEbS95Hme7piskuCPrJk9PYy2UZdajQ0Ceer/EBRlZxbRyJ8i/yYYKVMFpH3FIzENKb90k/6w4yk7AyvGTTgnKr0yNU+1Z694m0IVT+eLxGiWcmKmmDVaN+7SrR991vKQ/0Pn4yKvPYkc/J6SJqTUKFtUlcHs8Og==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ptnKYsYaxIVJBuhKFvpn/8js8/bBe1mvTq4ZLb2YokQ=;
 b=O5etydUjJ4MuMhlMUEO/F8xyQDdn1iTelZHm1Vtw16Q2NoujCMo54IgFe31hEy10oXdHXYrnkS63roeaMt1rHs3k3nFnZMPO6phG+8xN18XFQRf9devSelAnrVVn1Q8Xznpoc1V8+y6K/DS0H8Bop7r1vOvZoYiWMTe/gDGsufwia4GPJJNPp0Y97WmQ7eOQSeCEwjfwG8k8PHA9EDLYyK7gLtWrVxdxQsV8psBy56zOZ5Q8+tgUkF9CAXbcrNExkic4rslbc/JplUHK7O1yJOHdlmuhVXfQ957f/Ixcl/AZl73dzgH+5GDwcYR49O4av3PhVFI12bUHnYBBHMaFbQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ptnKYsYaxIVJBuhKFvpn/8js8/bBe1mvTq4ZLb2YokQ=;
 b=eoNaNBunAu62u/DjV1Of5+9W956ITnLvtaZZMRPASX8Oe97nwrvhhj2egWn70yC9hlPp7McbinlYGpqJld/s2By6o2f2XkIqKX0F5Mecu/yPE+Ghle//ixkNyLphu3pGq1q4mPy2vLL9LoETwANzmRjXDbyCGb9cmEdY+ltYRjFso/FXVU1wxDOxfvpUSMx4UJITozd0wiavWu6mSHa2tEQjC8+Mty/RbUmhUVAchoLMO9+RTIqyWpQdzgks7hZ4/ZoXsjQv4soSrb4O2UjBT5vtCLMz5oRQNO/DT+sIE4W1pirMmaryOl5i+fOqkufHOlJ6JnY7b1uL1J1xymC1iA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6397ea86-7391-5044-8e8b-a3d291521028@suse.com>
Date: Fri, 5 Aug 2022 09:05:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 08/10] drivers/char: mark DMA buffers as reserved for
 the XHCI
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <b35f5a68502352396cf6d95cc726bfdeb72639c9.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b35f5a68502352396cf6d95cc726bfdeb72639c9.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: acfb59e8-56b1-4d9d-515b-08da76b0e17b
X-MS-TrafficTypeDiagnostic: DU2PR04MB8614:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	norOw1kAVaIb8v+DLCmp/xhLuwmzYAbgVSa6Pf55yFlrmMS09j/wK3retKCA+qv0wjNgo/znWJ1yVHk2Rwc8D0IyawLM77A7gzI4wORj6ZKHF2Bz3cBdExR1aNgs8yVz2YF2v408WG0JXoRRrvvACXnIi/OcBLTfCC1WppP66I+hAhkuK5WGdSojfxzVg8E//OAys3c1iIR2TnGhkqyhWIsBC2pSvwGn3ZwePpr9JVSABwmPoANNwj7YS1H2Oq1UWLgfPdKhjcYSLwrvMOpTpA/T5pwhyZCibj8AoMYkjJYZMIE8DAFmOmoOLmmYzuI42QTblvWS0rT+hzeqi5dw+JDyI/ga9vYlJm47vnXr3YL0+5wYAWz94PBFRV8f1ULphO2K9coMV8d7N4RGNLrfRTF9srAIWJcW7ydpqp5BGaxkR7ZcYGKRviKl/z4eQcq3k2k9DccYDYUwaa9HyY+y8jMNTpJTh4oLPm8x6jEOO6/60qnfIl2L6W7N8iitoJINRljS8MAqA8BunmnvDrqMPzPwlNXweFXj8vTV1xCuR8y2+pjGVBu7tU2smkLdUKmMouwtEDc3zoFBHkM1LrSTfA21GN/cgTZzB5ED9yggN5MwDbT/OjAbOzFb7SZku1aiDy5Dn0FDUofQ2AeiWx12bVsNFIBbBhytCHci7/BFKtE46sjL1SBASeiCjr7OrVBtLFruxUAhSCC0SCSY/tpapl0a8nOE4VaTk1B7e/5dSKt00P3bQ40jEyQ9Yqr7hzkZ6v2P85JQt80BzvuvhMi2rGS5qVz+7mgB/BQCDdoJSFuKSjQRDZSMW6rbhx+ZhAbHyXcmHMo1BZJWuQEfdteE4w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(366004)(39860400002)(396003)(376002)(4326008)(8676002)(6916009)(86362001)(31696002)(66556008)(66946007)(316002)(26005)(6512007)(38100700002)(2616005)(54906003)(53546011)(6506007)(6486002)(4744005)(31686004)(478600001)(66476007)(41300700001)(2906002)(5660300002)(186003)(36756003)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R2hrQXB2NHRYc3dzT1A5WVhiTCtvdklySXpjc1JZbnRNOGx3bExjSTI4dENs?=
 =?utf-8?B?bWIwcGF6QTVhYTR3TTR5NWVPVlZjM0p6T1pKblhKRmNuSzVSMmUvMU9kSno4?=
 =?utf-8?B?SW82WEE2cFJsaW1lWDJhVGVVSlVBRjdYNFlSd3h3V1hCako2N0swejBaS2pn?=
 =?utf-8?B?VzdyRWd3Y29NK2hka2ZYSmxzL3kxUG5tYXQyRTNJcWxhWWJPMzlkUWlEKzZU?=
 =?utf-8?B?SUdEc3RydGkrUms3amVIdXhRdHM4cUx1V2dXbmJWNExUbVpockVaSzQxdVEy?=
 =?utf-8?B?UG9iYTIzcXIrUDF3UzR1WERFYUtsYjQxcmFZQ0RmM2JsL3pHMWZNcTF0bVVz?=
 =?utf-8?B?TU9jQVllRE5HWC9ndVYzbk1NUllCd0JJN1hQVDNRcUtwSGdIU1VKUHJBcUtC?=
 =?utf-8?B?Zm0xYUJnVnVEY0lMSFJhdlNYbDBJUlJyQmprQ2s5YlJpUERteXZiRkdMOE1P?=
 =?utf-8?B?UnRuUXUvZ2ovSWpETUowZGNWc0I2WjRtWHljenhNNmxUMjRuYlJlazFmZmVC?=
 =?utf-8?B?TGQ4THBqWVlnL2lZK2ROY2t1TnN5SHJZMGtJVml5WnBCOVJPamkxZ3I5bmdy?=
 =?utf-8?B?MVJzQmF1czJKeHZaSmVYZDNleWZLK3hJKzZRNVF5a3hTb1ZUSkNFYzA1eG5z?=
 =?utf-8?B?TVQvNVNLYjRCc0RjUE5IeDZsK2FubUprbTJHbkFrL0xlaDZPWUgyZDMvQitx?=
 =?utf-8?B?OVkxWGt4eG1WTVhJcERvNWxuc29TalVpM09lNDVvaVJaSEl2eWtKaTBuMW1t?=
 =?utf-8?B?YzE3bUhMYnFFZkwrb3RWclJhSlNsbE5BTlZmYlNYRS9UOFphT0s2bzNxM3N1?=
 =?utf-8?B?YkEzMXZ1OGxVcU9sN1g5VEtpKzdOT21YVjc4WEFPUUFCdmJoVmV6QlV5K0Ra?=
 =?utf-8?B?VFVRT1YxbTZUcVE2RWkySTJKdlNwWmo2UWU1dFRUOVdoZkQ0aHpaS01acUR3?=
 =?utf-8?B?L2NQcWVrdlE1dCtYd2VSNnJyTTlhWmxJN1k5bm4wTGI0RTAwOHJaSDlnUXN0?=
 =?utf-8?B?dElTNG80UHpzQVRERmp5NkVjMDVZZTVFTEs5Z0Z2SjhrNmVOKzBVY1JjaVBO?=
 =?utf-8?B?SEd6OE9lU0dKcWJVU056bFQxWUI4TGJBa25wMHJXcytKZnZ2eUFidDFlamNR?=
 =?utf-8?B?dGFVRXB0akhaUE9WaEVna3NPWlFPQlVYNGVWNmdUNEw0RVhSaG5RMWF1T1E0?=
 =?utf-8?B?QUIrQXQrak9SMmZzYUptcC9RRkJON3RZYmZJc09OUjdMQmhwSk9QR3dPY2FR?=
 =?utf-8?B?dzliMU1DOE5WMXpPalhrVnFYaVJlM3IwTldCNnV0L0tuckJtc3NKMFdxUlBh?=
 =?utf-8?B?a0dTd0VzMnN1Sm53Mm1Fam13WExpRkMxZ3o2RG52L3FIZE5xZUZmSUlCQ0dZ?=
 =?utf-8?B?U2V0RFRkVm9iWUlUUWVyUGdMRjJSWkF5dndHQ2o5WEVPT052TXF3SjduSWNE?=
 =?utf-8?B?d2JrMWlmcmNZbFBQSjlGSzhhQjFxMXBUMlhjSjFUVndKcGVUYjBwNXNGOVVp?=
 =?utf-8?B?SWJlWHFwWTdSOHRkdlFERkpLVS9yLzFmUStXTG54SzIrSGUzdGpieHJYZW9B?=
 =?utf-8?B?blVWSlBROERQaW1aeHdhak82NE1oTHAwSlpGdlU5U1BkV21rQ1dCcVB1Z1l2?=
 =?utf-8?B?aHAxa3UwU2xyK0xqamozTTRDTU93MUE3bHJ0MFdDSjg3bllZWWROcjlTekU4?=
 =?utf-8?B?dDMrR2tBWVFscFRpV1pzd2wrRGpOb3BSeStIOUNKczAyTjljdEQrekg0UFE0?=
 =?utf-8?B?YTBTTzE1NkVCUXFmQ25qdzBiWlh1REN1ZGgzbWtHMm5qYjNjdjFmYTlvMzdR?=
 =?utf-8?B?MGw2ajg1c0hMTmhPd3kyNUw1SUVzcitoRGxlVDVzYVRLMnpQUWhQdWtlOFY0?=
 =?utf-8?B?RzdmTFV4WjdWeE1yYW1Xdy9hUWNYR0lTTlJsNHV0Q2VTelgxWS9tS3BzK2lq?=
 =?utf-8?B?UEUvLytlNkYrRmRZSU5BNVdOYlpmU1d4bk5CRlhnWVp5Z0RnbHR5NHl0MklF?=
 =?utf-8?B?TG9HbEZJV05LdWdvaW8zMU41OW5XdUcybzcvMzMvRkdrTHdHRVFuK1I0azNQ?=
 =?utf-8?B?a3NBUFdud2pzKzVjRXVCNEU1Q0d0Q1BUVFZ5Q3F5R2owUmdmWXpTSmtIY3RW?=
 =?utf-8?Q?dwt/WlHhLi5HvsDHXnb4JPXlU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: acfb59e8-56b1-4d9d-515b-08da76b0e17b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 07:05:29.7498
 (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: pHAvBBGgkTYhXIPA5jMtbbF8HfppFeQF/E1QS/uU+UPT4hZY4B9ayljT/nRkvmQ4cWJxeD0gjAj3668QeCxV2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8614

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> @@ -1046,13 +1047,20 @@ static struct uart_driver dbc_uart_driver = {
>      .flush = dbc_uart_flush,
>  };
>  
> -static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> -static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> -static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> -static struct xhci_erst_segment erst __aligned(64);
> -static struct xhci_dbc_ctx ctx __aligned(64);

Why the change from 64 ...

> -static uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);
> -static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> +struct dbc_dma_bufs {
> +    struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> +    struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> +    struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> +    uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);
> +    struct xhci_erst_segment erst __aligned(16);
> +    struct xhci_dbc_ctx ctx __aligned(16);

... to 16?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 07:18:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 07:18:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380845.615250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJrb2-0003la-D1; Fri, 05 Aug 2022 07:18:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380845.615250; Fri, 05 Aug 2022 07:18:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJrb2-0003lT-AN; Fri, 05 Aug 2022 07:18:12 +0000
Received: by outflank-mailman (input) for mailman id 380845;
 Fri, 05 Aug 2022 07:18:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJrb0-0003lD-P5; Fri, 05 Aug 2022 07:18:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJrb0-0000ie-N5; Fri, 05 Aug 2022 07:18:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJrb0-0008Sa-1N; Fri, 05 Aug 2022 07:18:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJrb0-0004xa-0r; Fri, 05 Aug 2022 07:18:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GRKa2I4zMC7Uju1wPR3kacv4VFeU95Yk8uH7CnOlLbE=; b=ki0J3IisRq3llp3FiPQqp2NC/G
	1RBDSA+NnjfZk1ndTSGHt7ih35fZyhs7wmQ/0HCIkeJZyoA8eVMtW0A6t6pu8lS8pYR65o3ExuwSC
	oX3C7Lx7OxbWHOo31jj4Yl2yGPD7SdThtcAl+Be5PIszBoqGI78TFiuFK3Ry72Gf3fQk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172155-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172155: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 07:18:10 +0000

flight 172155 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172155/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 07:23:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 07:23:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380854.615262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJrgK-0005AU-2D; Fri, 05 Aug 2022 07:23:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380854.615262; Fri, 05 Aug 2022 07:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJrgJ-0005AN-VT; Fri, 05 Aug 2022 07:23:39 +0000
Received: by outflank-mailman (input) for mailman id 380854;
 Fri, 05 Aug 2022 07:23:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJrgI-0005AH-Os
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 07:23:38 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140043.outbound.protection.outlook.com [40.107.14.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85664b08-148f-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 09:23:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB6383.eurprd04.prod.outlook.com (2603:10a6:803:11b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 07:23:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 07:23:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85664b08-148f-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SW+xUOiM2IA9oOViiqE1XayNT1M9ZeK1i8olmhGE2qhuoDlF5pGtIBaFbJCXSDslpV1IgCoyTfMDZ8VTbGQvaJ3+FCsRocUze6K5Sld896bj+PgPd5d3SuvXa5TWENhcRRA53UMavK595OO7BLGCdHT5tL8QRYq01S/1nicLVr5kb/CwJDnnHmooFmyhNHP4cBFYbuPFFM9qNMVEdUYiGOzjmjmfkpDb67EplRZwlDaqsLiqZ9UmsX41EGFuge6t27FGAS3gDTbHgCLCCed75mXkko7UR1bIucLxwHsfmDxJAdh5uppFaJAKdgefe4BpbB7g4Bkq/xQlnUhtsEdxcQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jD3Z5U7ynBWJinUPIyLJ7Q4mDxOQ7+sfhFNLejLCdRY=;
 b=W/Ll0QD36tH/sgMKtLhufKoqzvOihWo2N/orz1Axi2vZ3Jg9YItX8NvyGlupLTRZT4vbSo+S27n75oJmmAeMoB/5argwGsf4QmZA7iOtGFnqFzZt7QtxsaW2UFRfMFhmS2+6IesjCmn2L7/OYwWU6GNTj/iYGLiHnsS+lo5cY4i/kDju2KIcKt0gslcf9etNKQdKXrczYmmJTpdszF4uSI7TtZKyzWr1vOjpE94LO3hMnY11KUpWyqebXiGYx7cnNC+JTKQ0ThZdfM91JJp5rNyxkP9vSsGRexwPN9eykpmmp9tucGjCCRfReBTr2s4cGDTBIgoktL0nQp9y371WGQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jD3Z5U7ynBWJinUPIyLJ7Q4mDxOQ7+sfhFNLejLCdRY=;
 b=TyudlxkiS5lcTLkNbx8o7bmR4quZr7SkTLCxvOOjMRWBTS0q4CCF2Zk3ur5ODDU1XEaWo9zb6qBEr14VQ7dF3cCv43wCuK1pvEWOPbOo4MKiyiZwyvJEJ5udKh1GaBqWnHYTYSVHw9WLNePSc0gJx8XZUESyFQTA9IxwHy+Q2cpKGqX3TayURLARHlnbkkJHZAuA3D+X/rewI6OvOgLey0/PFt+Vns34fU+/QJtL6RmpVSozKfdH/wjcX57TMQbgXm08hEhnt7I4G8dy/BL6JXISKtg08nkDymcbvqSa9f3mFKvknoXuj9oYPSoDHeOtg427wfnlaiJZw37OOcAEmw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <04256d0a-79a1-56f4-d092-de78f629c7f6@suse.com>
Date: Fri, 5 Aug 2022 09:23:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1f53bc70-87f7-4bdd-bc74-08da76b36883
X-MS-TrafficTypeDiagnostic: VE1PR04MB6383:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OFKEUbdceh96Mqfz3gmiysPKrglhiuJs+omwwcCs5n2zqYN8HOO3+oGSF2HO4OAiJH/S7ucb+8Vuh2MnD1PoOZm4A8H/0AKBYYTR8nw+TfitSngkdeEa/6BSuUpSMCLrOVZaP31d/fPmpN7Mx4Rd8BpKJ0JEHo0FjtWg8O/X7mahGFM0tR+rN720RuCaMKgTczXArWn00dIJs/1cDrYScLK6rPgRforlOwzC4t1vB77+hR/63+VBHa8pKBZWgWt3BcJR92fZk4REyzHuUmuXcypNIoTTcB1uqtttn3Pmhh6UBgv+kEXmbH8U6i/OKFmXGsC44u/khfX5ny29ZfM8Z157JRzbgI1qN6Vo4A7+FpeR/UfjejygMNf6ApIE0Hn2AxK2iHQTvfXUJq0tP5SOFhaPBmodjpyRa9ifG5soYtsNp4xgvHdqUxSyKUg764XIFqxKZ/7bysBCQWO3k7IJHlr0YmcrtErxCA5ZYeVJ1b/LeDqDD4ueRHOKAqdJ8HAk0VzGkUgs4D6V6nxaptmsrAqU3jfuuArlMAoltgdgSYsGKJD2iZu+zgIDyAeBbu36VxqqdwX8juZp5di3XLRQZlAUUrITALfZk3KsRPUd7ul3/Ue2rVuSR7ovIdQfHCSZDU0akr5PgC7H+YN806AmX7haR7QkzdehXuLZWW1ssEHlAl/+5f7rg7oMRdihEs3Maxe1BEaTmtuxbQN3ZB8pdlo2PQSWcaNN8tdX+qmuOjhnVaA7HASWu4ZYSx4FWq7no0AcJKYxUaYY9aVXMD6srU6sCkGdYiLjt9fCLQoND6vGGdK6ejjBShzeqxv3cnJwuX06EMruFK6Wxp2PjWI6Pw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(39860400002)(396003)(376002)(346002)(186003)(36756003)(2616005)(66946007)(54906003)(31686004)(66556008)(8676002)(66476007)(8936002)(4326008)(6916009)(41300700001)(86362001)(31696002)(5660300002)(316002)(2906002)(6486002)(38100700002)(6512007)(53546011)(478600001)(6506007)(6666004)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWNPaFowUmZtYnpYbmlac2JhcUtZMHFiNS9waHBzOWxKOUY0U25LTFdmelVH?=
 =?utf-8?B?Ym1IZUlnRXZHU21uNHpJZDZYellFbTBXaGpoRTUvZ3BBajZxSUVISmxRM1FU?=
 =?utf-8?B?ZVE2R0hDeit5OEFaTnpZZ3dPNjFGdFVVd1o2Y2E5d09lR2RQbEd0blIrQmNa?=
 =?utf-8?B?aUFtUndrK2cvemFyaDhBcjZ0TTNBZlRMQ0JlZmk3NzFBclUvL0dtWnliMGUy?=
 =?utf-8?B?TkxQenVHVERGcFVKR3BjUEhFbjZQdHlabzFyeldkM1d0WWs4a3hXSi9kcHo0?=
 =?utf-8?B?aStHaGFNRm1JeVowM3lsUkkzK1hpWDhHd3hrZE1PWWJXZ2loZDJSV1lwZlRu?=
 =?utf-8?B?bUprWmFRQzZjc1JBTzgzWmFtZzJwcmJGekRjdU8wUmZqWGVmQ2Q4aWRiRHY4?=
 =?utf-8?B?eDVkTDV2WjFQZUdrLzVodWxPZHY4SXE1KytHOGtjRG5HVHlmZ2tzNjVkc3pv?=
 =?utf-8?B?M051MFlFOU5TM01KWFBTWEdTaE1vR2V4Vi9kSmpkTkd0N3IvUThLeGVxZndL?=
 =?utf-8?B?QkJRQStJVVI5Q3JIaUFndXRLRXMybTRsbHVrOE9uRDR3R2ZvcmZVSThEVitY?=
 =?utf-8?B?TExzNmFxU0htakZhNVZnelpnNmI2SHVYeE5TTDduaDBxL0phYi9tQnFVZmNS?=
 =?utf-8?B?UzhuVlhUaTk0eG9OVFplV3ArNk9mMVZIbEExL0sxKzhvSHA5SVNjbDQ4ODRy?=
 =?utf-8?B?NHpWUmN1QitzWWwyWnpScUFWMndvZTJKSi9pZlNkSW9vSVowZERtYmhYWktR?=
 =?utf-8?B?Zk1Vb0pTRVJWL0lvOGNBL2VKd1ZZdlE1cXEydGEwZDd6K3RrWDI3TW1VZ1NN?=
 =?utf-8?B?RXI1T3JZaTY1UVo3NFo5WWNsTzFjUkpkVmVkVlU4ZWJ3NDY2WGNWdjFEZnJk?=
 =?utf-8?B?THNIU0F2TFd2OVZqTnY4MldraG1wL3dramI1V3hnT3dDMlJVdUNkK0pKcE9C?=
 =?utf-8?B?N3FTWEJZSmoyYnJsRkt1WHl6bkE1c1Q0UmJQelNYNmlKM1NBZUtqNkMvbzlX?=
 =?utf-8?B?K1Yyb09MRldGYWN6WnRyL0EvL3dZblNQYlIzY2d1QkNua0JrVXBjNGkxaVFT?=
 =?utf-8?B?TmFnVE50dmJ1VUt0cGRTcmp0cnZLYStMa1JDVWJycG1PWXFCSnBwTkM3U3FS?=
 =?utf-8?B?Q2E3TlB3WWRPTmRhRHhFN2QzSVFhOVZlUW5DNnZWODZpc3IyNjdvbVpyYU9y?=
 =?utf-8?B?dXh2SUM3U0dadXFSOVlZTlppZ2ZUODNuZXpJQ21CREdRK1FnS0FRQlMvbnNH?=
 =?utf-8?B?RTg5K2J3WnhrSWc4ZWJqL3VQMVdqeHVsNWVyMFUvRW1WVGgxNEFxNWNRZkVZ?=
 =?utf-8?B?RkJRaXE2TjZsQkVTdjQ3b3NzRGN2bmRtdXRrdFh4ZEhVa3RVZlRBbkhtWkE3?=
 =?utf-8?B?YTVsM2dVb1VESi9SNDZsNjQ4ZUlXZVFJcC9rbTZad3hMT1lkMGhPbmdGczdu?=
 =?utf-8?B?MjVXcm5EalZERnJzdkxKSWJSeFRaTFZGaGVFTzFaOGxsQXc5UmVmYkp3a2Vh?=
 =?utf-8?B?K25QdkwyYjN4bWlaYkNmczRJMTZPMk9ZVlpoZ2RLdHlRK0RkaXB0YSs4Q1ZK?=
 =?utf-8?B?bnlqd1ljNEVsR0huVEl6YSs1K1B4aVFnUDNMYm9CdVZvRjdxTWJoajNrdHUr?=
 =?utf-8?B?U0hzQ3RySzRTUUtrVTBmczRvVGtRdXBpZi9jMlZyUm12Mmt2ZmNaZEtwaFNq?=
 =?utf-8?B?SmpOMEl1SWlYNTQ2WGdQTU0rMVI1azU2ckU1K245MkxycVFnWFRLUVpWZ3Zx?=
 =?utf-8?B?VXhUbUUvbHE4MzFJVlg1emlRRVJIM1c0akpTTkp6VExEN3hjRTNmNHRsSU1V?=
 =?utf-8?B?MmpJaDUwSktQUG1uKzYvb3lHbGJzSnRrOERWSCt6TDNZRWMzS1FaNFJBenhC?=
 =?utf-8?B?VUNBMWZubHhNWjZhdEI3MEUzWTltdkRaZDBKNU1SMkZxWU9uTHp6QzZTaVRS?=
 =?utf-8?B?azNocjBielovR2pYU1dFcWNRMTJZWi9abkNnaE1rZTJUQy9mT2FhUEJOaERF?=
 =?utf-8?B?MGdlSDFCUjNyL0MxdjNrd29zRWlDT3FKTzF3SDdLeWpva280RUxsZnN2QjB3?=
 =?utf-8?B?bGNGbThIMjNIQ3k0MEZnRHlLenNxZTAvUkJDV3huemozak9uYVZFMUJEN0Zy?=
 =?utf-8?Q?CAqwhHITguNXyfdpS1Yho8Djk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f53bc70-87f7-4bdd-bc74-08da76b36883
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 07:23:35.3377
 (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: 9hc3NMpFiQ2uv+IK7K8CPjW8BJLwRN93m8rTr+Q4Kdcyk2m/4/rblLREUvuX7YFhIhag+7mR/LDYNGEJ9tvpuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6383

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> +static uint64_t dbc_work_ring_size(const struct dbc_work_ring *ring)
> +{
> +    if ( ring->enq >= ring->deq )
> +        return ring->enq - ring->deq;
> +
> +    return DBC_WORK_RING_CAP - ring->deq + ring->enq;
> +}

Doesn't unsigned int suffice as a return type here?

> +static int64_t dbc_push_work(struct dbc *dbc, struct dbc_work_ring *ring,
> +                             const char *buf, unsigned int len)
> +{
> +    unsigned int i = 0;
> +    unsigned int end, start = ring->enq;
> +
> +    while ( !dbc_work_ring_full(ring) && i < len )
> +    {
> +        ring->buf[ring->enq] = buf[i++];
> +        ring->enq = (ring->enq + 1) & (DBC_WORK_RING_CAP - 1);
> +    }
> +
> +    end = ring->enq;
> +
> +    if ( end > start )
> +        cache_flush(&ring->buf[start], end - start);
> +    else if ( i > 0 )
> +    {
> +        cache_flush(&ring->buf[start], DBC_WORK_RING_CAP - start);
> +        cache_flush(&ring->buf[0], end);
> +    }
> +
> +    return i;
> +}

The function's return type is int64_t but the sole return statement
hands back an unsigned int - what's the deal here?

> +static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> +static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> +static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> +static struct xhci_erst_segment erst __aligned(64);
> +static struct xhci_dbc_ctx ctx __aligned(64);
> +static uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);

I've been trying to identify the reason for the alignment here,
compared to the other buffers which are no longer page-aligned. I
haven't even been able to locate the place where the address of
this buffer is actually written to hardware; all I could find was
the respective virt_to_maddr(). Could you please point me at that?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 07:41:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 07:41:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380862.615273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJrxO-0007dA-JE; Fri, 05 Aug 2022 07:41:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380862.615273; Fri, 05 Aug 2022 07:41:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJrxO-0007d3-Fu; Fri, 05 Aug 2022 07:41:18 +0000
Received: by outflank-mailman (input) for mailman id 380862;
 Fri, 05 Aug 2022 07:41:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJrxM-0007cx-O3
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 07:41:16 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062.outbound.protection.outlook.com [40.107.21.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc2c2237-1491-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 09:41:15 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB4024.eurprd04.prod.outlook.com (2603:10a6:209:50::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 07:41:12 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 07:41:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc2c2237-1491-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FWVadnHgU70SJ4Jbrn5V0Rslm9Zldgcmdy1B9Hot/1nNlGUNMN/d9Kf1HLstLxMicE5lN6Fnj4hL1FKhyaKbG51tYLwt7p390o2qYXPjOjwwA80q26f8ArsfMLMF5ZbMGWjZjoROZsFWGEPRjbUW4e0iwh5nRRFWmRV+LFijMiTihyRl6RDMaTmO6mQEA4Gvej1yag+cqShr6ZUxIjZze/iDP7/2ba493Sby6tTWsvDHyqEaN8DLQuMoA33rgzLU+HOZqywxdCmsfbtwQqhtjFhs2bCLBWb43LCVBARvSmF37+FPKEQ1BqJiOIqR1ksRnPNiWeZSffQkM7MzS5yOdA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TMVZkPaBcQFTELXHDK18Lma/45F58cCxaNf992O8oDE=;
 b=SVhEPfRYElZoM0OXItpI+yJ1XeTYYYjBnV+nWe1Aifne49Hbni0g1lo1kENmv8c/wQJTnBVAm/x+fH15YrPzn6X6Yg5KcuUNruzXvn1Mjg5mOsYMK9xPKMiNqtCkZYYdTcl/ox2idZQuVlhUR7WHHxbtyYnArGaeb/ahkmUASlIkPA+VOarVaDQ05uOkzBzqpPJq+i8T+EBJt6aXQTrQYD3OyQXf7tpTht2WnicvP6AKDxDChe4O16/fVTFXvoLUZUB/0/QRkccmehkoocxG7p90hknNZa2fTnuXzMv2gehgpwuqHo6/Jc1V/dPKBiHH4L/aByGix6kwc/M/rv+eGg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TMVZkPaBcQFTELXHDK18Lma/45F58cCxaNf992O8oDE=;
 b=yLc5XJFjyhT/GojSZg3eOXg4XjXnBt5tpsigHasWohb1rOfyu+7x/3c5bExfEXMAp0C8B9dm/XGDLeHOfF7fL5NNQELHI7+/QXpeRzGipwIHUbRBmY57CEM3Ke66xHvXJ+TcG34CSWtShP554JTB43pZTyih3ZGzRQgsRnhT8Z0PsyiAZiPgDlfkQE+i136crmBEiyi6Mh1Ao4UlRfawwgCb5gP7EmCYVR9Knw2aWJ3EyDgNR5mC/YyQAhfSqR9KTRxIED99NcvZABzX+yi4+TyRJGhEmIiTH92y58ICNOh8qCbbo8EfdGWPyL5TdK9T91C6Tv0e7QlUL2W8Js4mgA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <48ec7c43-d9cc-e6da-dd06-1119d5a909e1@suse.com>
Date: Fri, 5 Aug 2022 09:41:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 04/10] console: support multiple serial console
 simultaneously
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <14411aa674b61d22d9626a3455206454793b6a37.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <14411aa674b61d22d9626a3455206454793b6a37.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS9P251CA0015.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:20b:50f::29) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e49f7790-6763-4f45-7425-08da76b5dec6
X-MS-TrafficTypeDiagnostic: AM6PR04MB4024:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kJHrRl5PDGhzjanohkMsZccXtnH2ZXNboAq3SIztdWeez3oJqohY7xMpVJPjUJF5QtAWjqLxav52Yu05wvKvrpcXuQBp8VDe7wsdsGFenPJKy8WOxk3733t3pf2NkoGG9mrvX99h++KD40/hrujIBM2xPIACJeJLQvE2qka73VTD6k3KoPMFVJg0qDPJ2AQ0G96FUVJLBQR/MeYbtSFPdOhLAgOIH2wgniCU+Fy4EkRh/8HLIA2JXm+7E2kwHx67Jg1/DhTsFeswi5t7CaFmv93QzhGgdICudcNtSWij3HmXquT3sWMSFG1XRA8fUrALHq9rRVcb27L1fqDk5pdNc3G31Y7MN8VPRVvISHoQ5aGK+GHK0MOWKjEoEPZguq6OGvvQvOo5YsOUMTBNRVBicQQoe9d5+yfZG+m5DkxVVvog9xMA/o+RfgXaR6pJHUVuwCQ88c94oHcNVJl/mUtnCSwb32xsPkwSabQs96RpcnvlzB/uhF5oHh1L/ZH8ZQmAQyo71KzbvC2JbJiyOBQKxvyXoCykrCL/1lCyiCa17rfmBP7iqjXAYyq15W6BgfFcnudoBscpdKodvobM7OfvHtK9SnB5b9It8/NcCmQ+mY7mQhHa6DQ+b8eLlWHqq/qAqc1E5vocQDD2+R+gbgu7OBdvcjSMTfRKXED+bBewUlRwlDqm5YaoRib09CJO+IikDEJQN5kh3A7z8I1REE7y7rP2eXUSkKzu/MwIelwACh/9o4thMqBn35D3CmKsw2RdyZ8br+loxcwCfRMADBaXpwAqJEaGjUq6wPGfQ0K1MUMk5SijHTEzk9QXn1p7cUo7SByMWzgT5caHxoZYocj1cw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(366004)(39860400002)(346002)(136003)(396003)(6506007)(6666004)(2906002)(41300700001)(53546011)(86362001)(478600001)(6486002)(8676002)(4326008)(66946007)(66476007)(31696002)(5660300002)(8936002)(66556008)(186003)(6916009)(54906003)(2616005)(36756003)(31686004)(83380400001)(6512007)(26005)(316002)(38100700002)(66574015)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bXU1ODhBV3I5NHAzUTBqSFY1WmRCV0NMMTYxSWFCRlloQ3JjM1pIS3NZMmZw?=
 =?utf-8?B?TCtyeEdtQ3VZMDBpZXZYR2I0Sm9Sc3hGQUxoSmc3dkVnV0FxVkxhcXF1Vitu?=
 =?utf-8?B?Tlh3NVk2SndUaE9acW5zSmVodExNRnQrRzc4MThMQlA5OEdrbXVVdkVIUm9s?=
 =?utf-8?B?SmJidHhmVWo0aXUwMU1QMGNNMUxtYzdVMXZ0V1czRDhiL1NhOVRBcUxVZjUz?=
 =?utf-8?B?eEtrK2U5dmJyS00rRVBjQUVleTBhZXhXWS9PdDJFdG52WHVLbE1IdW80VE5E?=
 =?utf-8?B?NEE3OURNOEFLM2ZWYlZ2Q3RlTWNSaE5rc3FMazByNkhoQ2ZWV3dhMllWSEY2?=
 =?utf-8?B?Vng0Rjg3MElqSG9KZmxncE5JNDA0ZUZleHlxV280T0hkRXdRbzZ0eUxQOG1r?=
 =?utf-8?B?SmhPaEJ1Y0FXUlpNT2JCcHcyMGozU09PUlVMNEtZS3E1Y3AxNlNsdXJ0QXJC?=
 =?utf-8?B?dngvdXEzaVB0Q0N4aDNrdzJqc0xrOU9BOXhJdi8yeGsrVUhIT1hFbEx5aVgv?=
 =?utf-8?B?dlNsMExvclZmemtMWkhvdUNFRm9hOWl6QTFEeFVueDgvVDdESERXb0YrSmM2?=
 =?utf-8?B?Sm1ZZzg3cVkzNGhvdmJ2YUd1MFI3eEJhZDZvNEsyS2ZEU0pUSStCanZvSGJw?=
 =?utf-8?B?UitvWmlMU0ZXRW9FL0VEeEpDMFZ5RWszTU51WUhpc0RZVUxoK3Y0aFdKM2Fq?=
 =?utf-8?B?ektTSXVtRTFKUXJpSGVRb25zRXZ1R3RBcGdnQ2FBQ0tsSXo5TDV5SUhpakhL?=
 =?utf-8?B?R01naEJ0cEYzQ3FPOFhWWVRNSEEySXMzNHZJeExFMnZCWG51OG03dFNGMWs1?=
 =?utf-8?B?Sm91WUtzdWlPcmU4RlQ4NlBSc0tIWkVWbmphUDMveEE1cmFhVTBwU0w4M0VT?=
 =?utf-8?B?T0lZU0lRMkIxa0hpakZCL2dvaVRvdkRmRHVMRVc5MUVsdWNkbE1VNkdhOEM3?=
 =?utf-8?B?bXAzOFAzaExTTVZQenFqWjZNbVY0aEYya3ZlNGE0Smp2UTZlTGhZN1BUT0ls?=
 =?utf-8?B?NWNuVzl0eU5GRTM2ckNMaWttQXNxZkkybFdjWXhVRnJ5TVJiTzVOZVRFR1lD?=
 =?utf-8?B?SGYrWEJhWDl0NDhSTnZCbDRuRlVoMVJTSGdlaDN1OEI5bXZ6ODFNVWpKSm14?=
 =?utf-8?B?cS9Oais0alN5eDByL3dwemoxK1E4ci9lalVBNkNFdHpXSENYaW9IWlJuQkpz?=
 =?utf-8?B?VU9DbWc3ek1sTytrNGJRbHlld0FFTlVEM0NGV3dnakp1bllqQ0RKbDBVOTRa?=
 =?utf-8?B?SU1UaVBBQVRrdldHYU95YTlsb3RzNnhybk5zUXFFK3loeldXOWNieDNWTVY5?=
 =?utf-8?B?VExDdCttUGdyQi9tMEZHNERpTzFHZHZSeW1LSWRyOXNWQWV1OUNuUVJVb1Nm?=
 =?utf-8?B?OTkrRVJLdDJIcG9iV1JiNC94RWhZejBDZjFJNXFocFRQZFFJUnJNUHJib0d0?=
 =?utf-8?B?Wmp2MVA1bHpIZjQxbFdLTGcxdTNoVDh6dW1URlA2cUEzLzFLVWIvcnVocE9s?=
 =?utf-8?B?WTRyMk9CWW5HVm9XdStIajM5WWxoNHdsRnI2K0FyVkdwVlpNS0Vpc0dBL29u?=
 =?utf-8?B?WUFScWgyR05TZFJ6cjIwRnoyeTcrSUxRVGQ4UEx2bTlUWXhPdjNZYTM4RjE5?=
 =?utf-8?B?WUxXTWV0eFRsWks0ZUZLQzBQMUJ0UXlibGlsUE84SjFvWGpGTjE2Zi9HYnFi?=
 =?utf-8?B?bjh5N2lTZnlvdSs1NnJINnBEYVkzK29MQmFtbWYvV0NxVXN3cWV4d0s4VGVP?=
 =?utf-8?B?QzEzTHdDUzFxM01WTlRzS0VYcnZzbTUvVnNHdTcxRzM3Ry95REhCMUp3ZVJu?=
 =?utf-8?B?L0hSeDJlcHU0ZUxvWmxjY24vRkZVeE1ScFhhUHpIUEpkazBhZzVrVHZaeXBi?=
 =?utf-8?B?Mjlmbmtqbks2eGUzMnZhT0pZenhXOVA3Q3M0TkozbWZJb0xhQ2grT0Z3Ty9T?=
 =?utf-8?B?RDFRMVppeGRBcC9YK1RDWHY1eVNPand1TnJLRkt6bWswYnF1NXdjQUlIT0U3?=
 =?utf-8?B?TjZVOUpnZWw5K1BpVUw4S1pOampIMmVVM1BMN1NIRHZWUnVsOTZ3V0pUcnFO?=
 =?utf-8?B?VTBYR3praGV4OWRHSGxlV2w3WUlvQnNhcHlkRGlZeUNRTUdlSkJuQ3VDWEdn?=
 =?utf-8?Q?0pFP/7uYZerczLMST6Uq5xrYw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e49f7790-6763-4f45-7425-08da76b5dec6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 07:41:12.6771
 (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: AK5slDpHU3tf58BsSloVUrc10yYPNo6k7lpmTxmV6rLWbCwqljujoWod5vKZOChQvBoyDL36UPGgQ3zpBhbrHA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4024

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> Previously only one serial console was supported at the same time. Using
> console=com1,dbgp,vga silently ignored all but last serial console (in
> this case: only dbgp and vga were active).
> 
> Fix this by storing not a single sercon_handle, but an array of them, up
> to MAX_SERCONS entries. The value of MAX_SERCONS can be chosen in
> kconfig, the default (4) is arbitrary, inspired by the number of
> SERHND_IDX values.
> 
> Make console_steal() aware of multiple consoles too. It can now either
> steal output from specific console (for gdbstub), or from all of them at
> once (for console suspend).
> 
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Actually I should have clarified yesterday that despite my effort to
review this change, I'm not convinced of its need. I simply don't see
the use case of having multiple serial consoles at a time, and afaict
console and gdb connection can already be run over different channels.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 08:16:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 08:16:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380876.615290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJsV7-0003CY-Nu; Fri, 05 Aug 2022 08:16:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380876.615290; Fri, 05 Aug 2022 08:16:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJsV7-0003CR-LH; Fri, 05 Aug 2022 08:16:09 +0000
Received: by outflank-mailman (input) for mailman id 380876;
 Fri, 05 Aug 2022 08:16:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJsV6-0003CL-9G
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 08:16:08 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50052.outbound.protection.outlook.com [40.107.5.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d901b5ca-1496-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 10:16:06 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4281.eurprd04.prod.outlook.com (2603:10a6:5:22::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 08:16:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 08:16:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d901b5ca-1496-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iqXUlpzuW38bCMafRGP0CE/EdFK8THcAJED7CPKe2oQQN3t9fVYhOzVCqbmCHKxUH5R5pTKgZ7RUc2NqIhwKgiKJ6AmwDdtnLgoYWtgjSrcnHIo4r9KO5goJ7e/4KSW3+2YaMHg66MIrV7cQ1WY/kRC3tmarWd7sOYh8IeAqnSeBo+G6qj9kqUGsaxy74A3WTdhOTB/+Ym5p9o/lFKvZyfvA5jddnQB3bBFOrqgWe6w48hjfJbVwtCWXj6ZHNThicOE+WJ3wC2Gt+Bw6H49cuOtoFF4c4eFxk2/PHEbvI3YIA+JVrWQArfgGao+jDIeGolY35KnCMW5ONzpLrZbwiA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U0sW4IdyWJFf38TTKrr/BTD50HxnU/Fwmd6ojQ+nOnM=;
 b=Da7AcX6jd3BB2XLFFZrh6TVd8pUWOmKDw45lCa5f8//nhd+WeViHt8wz6R8JiU8YLsJ/YQYYAAZlwyrJLn6bWxXqjW4akbK8bLYFWKPc/bEsPbYE8LW+HTtXdj9m6wlpjNOVF0j6f+3+ewLefXA/UQ57BVm9HGME6qElxWi4vdG14i1lozLFuU6wJwwfBxBU/e0FPKDwEfHjK6B7lvFCBcrbcbXN80wliTM7At9wOw58JzVbj4Crn4s0Ze1vwm0eNNhRU5KZWKNDs54SkpUqELOWD6PpAxSrB7ufjMr2PDGskXrJa/XDqOklbdn7qNFi37+02vU0TuRy/cdfdoP7Dg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U0sW4IdyWJFf38TTKrr/BTD50HxnU/Fwmd6ojQ+nOnM=;
 b=qJ4A4b810qT9lVDpwUd6XaS6cECcMS1CNHgqYYARbrfCkiJmt7ATlOIa6O4IzFwmcxJbLzFBVnEBoYvgws6RiSqBTDxQm/Ud4mWAtrIU8corqWvyBp4qkrPzIf5tR1fs2osgIQQx1ljPraPIVZKJ2grBUgtH7cVO0/Td9O0dWNDTn6+cB6YOqw5Kt1MsB16W6vl9+0uxCI8b3TF5mg80lcM2OnYwTnDB7Jyl3Sl7y8GA/6XWZ2PwXdSjkHKbx+mkeXwG+ZMMFcFJYDimaY4nRr4Q27T5fjBZNZM/3OC0KW8qL/0rMqDlZ2bAGPBOkMOKu3fw2Oa1snmNYXUJI4h02w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e98ca967-8ae5-3aad-6449-c3689e88bbe8@suse.com>
Date: Fri, 5 Aug 2022 10:15:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 09/10] drivers/char: allow driving the rest of XHCI by
 a domain while Xen uses DbC
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <dcbe3f53bd6d88fbf2a20970d4fdfe93479a5f59.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <dcbe3f53bd6d88fbf2a20970d4fdfe93479a5f59.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS8PR04CA0115.eurprd04.prod.outlook.com
 (2603:10a6:20b:31e::30) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 297f82d3-e336-49a4-128f-08da76babbc8
X-MS-TrafficTypeDiagnostic: DB7PR04MB4281:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s7ogNGIkxKH1c6GoWXtTjIpNDlR2btH/pDuD//JwCf+l9lscbBB9j2v5u/8VldRQhrd8/1LzUpMrs03xTzbhq6LcqhKPP/ao1aZcvFci43Ga8iIMusHSNq9t+w+HaN3fXb4ITi6JvOzhy/NW8VE60ngGMEPOSLBc+fwMQiBLANwm6RExA5bPG+Gjh2qWTG7iqsZ9XSkkySI4Ta4JdcKEHa/9wEuudORi5UeQyH0qtdroPokDELxMO9+XA/7WJa/XPtS0R/heRES/dvtSFmmp7qo7/WTSgNeU4PExekER4DJqI0HgQKFhTNz8nhq16Yhd1eJ+xYKdlWmWkZWEJUeKOjsYe5zrtdUJkmLt4+5Psd8FgSAARP3fvhYNM6f1uBJ5fbskUeiQg3Qq8tmvJRzzoH9TNb0wdPXGWupMKBewSrNm6yRleZkE7BtarwuSAlPEHbCxlTZliHu9u+DNccFGqqPK1D/4yfhn2BLr2/szElRtFXklpk/oqnyiURTps/hfu8x6i9kI+40KfaQfBmNaqSiV24NxUaOAUVHWHlq0MCwdJUzp1Troil0tf9SRFw5Fmjvqh2qnLVymruHHs5gHKIdHcQDx6iBZfJ1Wb9SbCsvrCmOlXdsi5R5c3gKhmtoP8UsbE87YCpmy7ym3SsW+AZIdmNvnUJ2eNh0naphN5YsXTGu1/Y5A4zm/gmaP8dcFHhIYNTvRpsi0+q6k2DY0ELb3fB8UQvXvUkMVXPIkoZ0H7cqQHqriRz2KCYiw7qktOLve0956g1CjwMTjPIFJHR5aGiZpWJ+hQeAcJV6kmHLLO4yx6nAs1ljRQ7pEue9/VB2gjcJ2DEYXnx80gVJ/3Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(376002)(396003)(366004)(346002)(41300700001)(6512007)(31696002)(26005)(86362001)(6506007)(53546011)(38100700002)(83380400001)(66574015)(2616005)(186003)(31686004)(8936002)(5660300002)(66946007)(66556008)(66476007)(8676002)(4326008)(36756003)(2906002)(54906003)(6916009)(478600001)(6486002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFpIV3ByZFFmOTFFTWxEOVVSZDNEOFlvQjZkOFk4UlJEQkd1MmpIRDU3dXA4?=
 =?utf-8?B?UlloY3V3NXFuUUViWncyWXpaQjltRFdlZ0l1RWNPa2tIblZXMWVxbHpwNEhB?=
 =?utf-8?B?MHRhY2ZOTkFLcXkyRzFEc0MwQ2lHSDZhZGl0Mis2NEZjenFWVUFRTFVrRGZt?=
 =?utf-8?B?SGpTdFlWVWtCeENrTWlOYUVXNWlTS3BsSkhVWVVONWV6ZmxqNTdZbnJpYU5o?=
 =?utf-8?B?OU91WUtZUEcwc0tpajc3eTMrUzc5N1dmMnJDUWVJbnhmU0dxenBJNEtNSGY0?=
 =?utf-8?B?K2NyM1RyS21hSjRxb3RTR0FhUmxRS0VaR1gyWU0rakpIaVJla1lCaGFnakgv?=
 =?utf-8?B?NEg3emd1UzZOZGo2U2RnYXk4c0FaSmlJcFcwMjJqak04RWVKbURab2tGM1lx?=
 =?utf-8?B?V3NJT1VGVkVwVTMzTGN4K0QwR2JndkNlUWVJUnp4aGFsM0d0blk0VFZ0ekF4?=
 =?utf-8?B?VkZyODFLUEJ6L3NaTHpIOEdoSS9wZWltUmNSN2NYSmsyeit3aGRTdVpBT2Ju?=
 =?utf-8?B?dVlDK2pHc3QxLy9BeGFWNStYMWpLVUdsVUYweFVCdGNaS0ZEcGZBMzgveStp?=
 =?utf-8?B?N0hRbVB5S3BBWmlKb2FHTVpHK0ZYLzAvMVErNGlDeTloVWVIYnAwZG5YTlpv?=
 =?utf-8?B?VDJQWUd4MEZaaUNIT25BYUN2MjJxdCtTaWNPWTFCMlBscmwyQTdJY2I4S2Vz?=
 =?utf-8?B?NUZzYUtkdWNteVR2dEZNMTdIWU1UMWlNTTZGSE4wMFBLZHBpNFpGMkNqTVVW?=
 =?utf-8?B?ZmhxQmkxNzgwM3BlR3JNTE5zaWZZSlNVeEhpM0lMMkRPa2tBaWk4OXc5VzZz?=
 =?utf-8?B?TGNodHFRRTFUMzN3Ti9ldmhqaVZFckR6QUR2bFUxeEZPakdic1ZLQ0RMclpt?=
 =?utf-8?B?bkNUS0VtM2QrQ1FtNEp4MlJJY3VMM3czMFI1RGtQbGN0UTA0SW8xNFhXQkNN?=
 =?utf-8?B?VHJKdFNtYWlsMm5HYlFEczR3N21VRUQreThwM2RhejkzREpIcHJ3WjdUSmNZ?=
 =?utf-8?B?TmtaeGZObUYwaG9hT2J3SHRJRThmdUxRUjY0SjdhSzdnVHE1eVljSG96ekF1?=
 =?utf-8?B?MDFlV0l1QS9HMDZISEdYdzYySWZZamhSTkRZeDBHaW4wallLMlE2SDFTeFIy?=
 =?utf-8?B?WFZDV0tvMnpqdlh3ZDFicnA2dFNUVTR6MlF2Wjd2NTA2dzRSSyt2ckY2akN0?=
 =?utf-8?B?aGlvcVhwdEVoa3FjdjJiWWppYkZZOTRzckVVMEVRUmJqRmNISGc2c2Nldk5R?=
 =?utf-8?B?RlpYRGswbVZBNWUvNHk1YmZ5ems3YzZraVZJUmJWYzNtZnRNcVEwQUJrMSsy?=
 =?utf-8?B?cjJiVy9PL0l0cFQ5ZTFJQitSeUFaZ2pmSHdkOFlOelNWYWFrMnY4SkswbW01?=
 =?utf-8?B?T25CZlJ3VC9SWnk5b3BLaVIzV3BFdnpxVS96a0F1aGJKdWcwalA5Y0Q0ekVy?=
 =?utf-8?B?NGticG1sSlFObDN5bXdaaGZWNDA5djNtMzVRNW54NjFTZFdqeFhTWVl5SVFu?=
 =?utf-8?B?UzZlcU8yODlyU1oxR2RwVDlwd2pkMFMySy96RzdJTjVBOGtqUUZsM3RLbG55?=
 =?utf-8?B?d1RDSTVkOFRRNWdNZGp6MloyY3IrRHZqWVFxYTgrcmlpR1FDaFc2VDZkSmVw?=
 =?utf-8?B?bmJmTTFONUR3ZjRYajQ1cEhqbTJHSEt4TnRUZWRNTHB3Wm1LbXdkWjRWWmdM?=
 =?utf-8?B?WkRoRUVWckRKSUsxWWJIOEljYmIxVHdoR05GRlErOFR1YXFwMXhVUENVTDRh?=
 =?utf-8?B?SGhCTnhxd3M2eUtuRldmSmFKZjlqR2RuK3JoMzZRNzJtMjhJNTFUSm5CZkw2?=
 =?utf-8?B?YnVhb0lNeFlpZjNtYThjYWJPb0p2SFpEOTNWVXBDdThoZXdwWTJ1SjRtc3JZ?=
 =?utf-8?B?Y1h1S1VUQnN3dFcwbG1RZlNxdERSZ21kWUFvYmMvSWpZazAwcmNLb3EwVGVx?=
 =?utf-8?B?RkZ2SWlWWm0xZE1iNk9iL2lDN1VMeXRnWk1TYzdHc3NXVzNFbk1IdEFLN25U?=
 =?utf-8?B?VzhneDR2N3BMUWRWSWJ2SkRTc2RnSGRFWmIvSS83VHpVUVJNczluQjBTQVpI?=
 =?utf-8?B?V2pxc2RBVFJ6bDhpcFFTdTMxVGFHK3FBQ1BBTnVGemJBZGRaQVF6RnpNeDBx?=
 =?utf-8?Q?G3r6JqiMtDi6bmIvxTc9CPqdl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 297f82d3-e336-49a4-128f-08da76babbc8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 08:16:01.3729
 (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: 6ZgTqaPHWgWnsAukb44Ys7nE6xUydhrNRN+1a4Pa8CFiIZYGLU5oSaR97/FdVaE3U7qdGw+FtZiMB1my/JxjQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4281

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> That's possible, because the capability was designed specifically to
> allow separate driver handle it, in parallel to unmodified xhci driver
> (separate set of registers, pretending the port is "disconnected" for
> the main xhci driver etc). It works with Linux dom0, although requires
> an awful hack - re-enabling bus mastering behind dom0's backs.

Which is one of the main reasons why I view DomU exposure as
going too far, despite recognizing the argument that this would only
be done if that DomU is fully trusted.

Furthermore - what's the effect of this? It would seem to me that
while bus mastering is off, the device will not function. What happens
to output occurring during that time window? Rather than needing to
re-enable bus mastering behind the owning domain's back, can't the
disabling of bus mastering be avoided in the driver there? As we can
see from the EHCI driver, there certainly can be communication
between Xen and Dom0 for functionality-impacting operations Dom0
might perform (there it's a device reset iirc).

> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -724,7 +724,7 @@ Available alternatives, with their meaning, are:
>  
>  ### dbgp
>  > `= ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
> -> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ]`
> +> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ][,share=none|hwdom|any]`
>  
>  Specify the USB controller to use, either by instance number (when going
>  over the PCI busses sequentially) or by PCI device (must be on segment 0).
> @@ -732,6 +732,16 @@ over the PCI busses sequentially) or by PCI device (must be on segment 0).
>  Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability (output
>  only). XHCI driver will wait indefinitely for the debug host to connect - make
>  sure the cable is connected.
> +The `share` option for xhci controls who else can use the controller:
> +* `none`: use the controller exclusively for console, even hardware domain
> +  (dom0) cannot use it; this is the default
> +* `hwdom`: hardware domain may use the controller too, ports not used for debug
> +  console will be available for normal devices
> +* `any`: the controller can be assigned to any domain; it is not safe to assign
> +  the controller to untrusted domain

I'm sorry, upon looking here more closely, can we use proper boolean
here as we do elsewhere, i.e. share=no|yes|hwdom (or more generically
expressed share=<boolean>|hwdom)?

I also think 'hwdom' should be the default, like we do for EHCI (with,
at present, not even a way to override).

> +Choosing `share=hwdom` or `share=any` allows a domain to reset the controller,
> +which may cause small portion of the console output to be lost.

As said above - this ought to be avoidable if the period of time the
reset takes is bounded and if the controlling domain announces the
reset and its completion. See ehci-dbgp.c:dbgp_op().

In any event I'd like to ask that you add a statement to the effect of
"no security support when using 'any'".

> @@ -1005,10 +1050,32 @@ static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
>      init_timer(&uart->timer, dbc_uart_poll, port, 0);
>      set_timer(&uart->timer, NOW() + MILLISECS(1));
>  
> -    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
> -        printk(XENLOG_WARNING
> -               "Failed to mark read-only %pp used for XHCI console\n",
> -               &uart->dbc.sbdf);
> +    switch ( uart->dbc.share )
> +    {
> +    case XHCI_SHARE_NONE:
> +        if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
> +            printk(XENLOG_WARNING
> +                   "Failed to mark read-only %pp used for XHCI console\n",
> +                   &uart->dbc.sbdf);
> +        break;
> +    case XHCI_SHARE_HWDOM:
> +        if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
> +            printk(XENLOG_WARNING
> +                   "Failed to hide %pp used for XHCI console\n",
> +                   &uart->dbc.sbdf);
> +        break;
> +    case XHCI_SHARE_ANY:
> +        /* Do not hide. */
> +        break;
> +    }
> +#ifdef CONFIG_X86
> +    if ( rangeset_add_range(mmio_ro_ranges,
> +                PFN_DOWN(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset),
> +                PFN_UP(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset +
> +                       sizeof(*uart->dbc.dbc_reg)) - 1) )
> +        printk(XENLOG_INFO
> +               "Error while adding MMIO range of device to mmio_ro_ranges\n");

How can this allow use of the device by a domain? Is there some sort of
guarantee that nothing else will live in the same 4k range? I can't
infer such from xhci_find_dbc().

> @@ -1085,7 +1153,7 @@ void __init xhci_dbc_uart_init(void)
>          unsigned int bus, slot, func;
>  
>          e = parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
> -        if ( !e || *e )
> +        if ( !e || (*e && *e != ',') )
>          {
>              printk(XENLOG_ERR
>                     "Invalid dbgp= PCI device spec: '%s'\n",
> @@ -1094,6 +1162,37 @@ void __init xhci_dbc_uart_init(void)
>          }
>          dbc->sbdf = PCI_SBDF(0, bus, slot, func);
>      }
> +    opt = e;

Looks like e (and hence opt) cannot be NULL here, ...

> +    /* other options */
> +    while ( opt && *opt == ',' )
> +    {
> +        opt++;
> +        e = strchr(opt, ',');
> +        if ( !e )
> +            e = strchr(opt, '\0');
> +
> +        if ( !strncmp(opt, "share=", 6) )
> +        {
> +            if ( !cmdline_strcmp(opt + 6, "none") )
> +                dbc->share = XHCI_SHARE_NONE;
> +            else if ( !cmdline_strcmp(opt + 6, "hwdom") )
> +                dbc->share = XHCI_SHARE_HWDOM;
> +            else if ( !cmdline_strcmp(opt + 6, "any") )
> +                dbc->share = XHCI_SHARE_ANY;
> +            else
> +                break;
> +        }
> +        else
> +            break;
> +
> +        opt = e;

... nor here. Hence I wonder why the while() and ...

> +    }
> +    if ( !opt || *opt )

... this if() check for it being (non-)NULL. At which point ...

> +    {
> +        printk(XENLOG_ERR "Invalid dbgp= parameters: '%s'\n", opt_dbgp);

... you could make the message here more specific by passing "opt"
instead of the full "opt_dbgp".

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 08:38:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 08:38:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380883.615301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJsqb-0005fN-IU; Fri, 05 Aug 2022 08:38:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380883.615301; Fri, 05 Aug 2022 08:38:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJsqb-0005fG-DO; Fri, 05 Aug 2022 08:38:21 +0000
Received: by outflank-mailman (input) for mailman id 380883;
 Fri, 05 Aug 2022 08:38:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJsqa-0005fA-5r
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 08:38:20 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130075.outbound.protection.outlook.com [40.107.13.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f430ac65-1499-11ed-bd2d-47488cf2e6aa;
 Fri, 05 Aug 2022 10:38:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB5055.eurprd04.prod.outlook.com (2603:10a6:803:53::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 08:38:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 08:38:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f430ac65-1499-11ed-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QbSi3D91bbilJrF/M2db+x05umSiWv3h3R4n0QtQZe/nO/6u2mx1ZXMwfzmOo5Lo57mVSQQ0dRZhx1/XrHs/+LSQU9DEr+0vJ3KD/UoEdcKJs+XRDmRsuNyEtJRULdWQvuPRFHuwOTD4d+DaOd7/pcUPbzPJ+6jd2PGO3C5WAX8tPZobpnOmYVXZJi3E3RaXcJdqmQ2iOeorMS9TwYISG/NxkyP/U7RetWO/xMAHNs395bbCy/At02p4pO1M3dvmp0qtIaRxCXuy8klXDGJ8zr5sLTPJoAf91g/+xXruRxqyxaOSP8TldpUauHQCUpLbpEonIFS/8WeEQp2WEI4Y0g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r4ND0QZIjewxiv+g8758lLOJTKHE4z1UIFkmcwn+BxQ=;
 b=H29IT0jrHcpIiiZ6sqJCOVNB4yhP6mxegBnnT3JAMomkvdYfA7g15Z12F3Pv1f3bOFaGSXQ7AkOe11INaEUxKlDdfNmZ+XfG9YiKipx73AJ5nS24HC8I06PSJgGL0twl2ViQr8g3+jIPgVbm/gyHz2BubLwPgCEE9Jbl3+HG1HKKgP4f+NA9G2SDCCAxNCNdWmU3S5pBKNCQI+f44OENel1GMCKjkKvJiKURmj83E8/JHfJ/EZseLNS/HTymVEk7YpwchnQCXYBYOLW45nYxxV5skdelx0ST0soFPVU5P4hWY8zLmPKAzKjRmbhW0Zzb0QmizsQo9Fh29/5yDJef7w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r4ND0QZIjewxiv+g8758lLOJTKHE4z1UIFkmcwn+BxQ=;
 b=P45KMOjC1HgQGEeiF/kOamn9fsyzUXdlFcd1n9i2OWuYaplI4seAMGyxtA0Ezyko5ueTxyasTuybR/xEnL4ko1/Yb1zE8+z7eY46yQJ+GbMy57xCwJ9p0bCD7428e0HOsyH1xciUNcGeydDxxVeA67bn2fcu5eRL/vpJduISH5tJlaAeL15Knt2JpcNHPMllUSa3+nSFD5Jvl0xsOb+63XKN2hgnA4LA7mp6pG6L+8SeZaiu5RxkTqhZeihfxqPe6QCPNAG4xnSLMZyD1TjTVm45Bx6MuBs7k6ENo4FQ1MAXH5i0buOFGkMwsojnjaZY3g8PfBWaPN7OoZdl1fZHLQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7d263ceb-3727-763b-0b9b-3b9ed82aa780@suse.com>
Date: Fri, 5 Aug 2022 10:38:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 10/10] driver/char: add RX support to the XHCI driver
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e273efdbf75cbc37b5c35798da7fde34877ac3b8.1658804819.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e273efdbf75cbc37b5c35798da7fde34877ac3b8.1658804819.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a4169e65-c29f-41d1-412d-08da76bdd725
X-MS-TrafficTypeDiagnostic: VI1PR04MB5055:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	j3G0pIHg96M1Ihjs/gx6L8OMA+kt5DLlOJOxoJc0kT9ERM0sYm4adSQMUZcnScV9lzmH9DvIa0NjZBFmJjEJVK7KUa9F4n8ojMRdEk1fW403/J/ZaT3YiVn4QFXpMjwFWMmP1EolJUKa8QXM0Iny+LvQvaQFXdxKOuf2MtJ9ArpZDwqvOPAqkcoGdlYteopYf10I3oEZ/IJcNSVlScki9Yhlvo6lBtfnrdJRt2RjAHgDQQBBtUMwDwjcQQiLr7J8xhQ2S9OsYvUImZpf/6JQK9ZY3i3CfII9CIH1AtrmHXWhTyTNQg+CVmh/bI4bGnm0tB+NSPqDtZBS8NF+sKGNzWDZB0AjI0/lVgQPEiBz1RVmpVIEY50UDJMc1gRUbqbBsVp7eBleOdGnK9k+m7DOWrm3Z4vESD6dLycALwyCipd1wA5YcEHSr6CcT7k4JbBlsSC2xPkOyPjWBnZBZEbL6qm5exTmhQb3RltzAZwbT+uR8vQh+QlkMYv1LBb0HCo33zTaI1T0Q7+oEc/XE0EIOBz8yaL51h/t+x48M5yA7gy/+4S+bFS1VR/pHVcPo3Bc0m9USbmg4o+VrlmGhAnc6Qj5eY/V62EY+/oWsi+SOBNwCmFReKyZpKQl+LWDz+ZcSvBkXInExOkqdUPtqA7nJtb9NZ6xI/nBO2bOSP/LwDYx42jCXbFObrxL3EZW3hyZHpVLJdC+SbYINeQ1YuIjMaO/LkPnE0DCLMrlQNWRk/UD4lEY9jaKbaM3f490T4Y0Uy6J0nmAbsnQrhMMgEvSt/prAXurX5LGwq5XyWYAJaTqy30peeJTPWZ+x30EFvAXX5GKBaqLyBYjnB+CzwNCHA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(366004)(39860400002)(376002)(136003)(41300700001)(31696002)(86362001)(6512007)(53546011)(6506007)(26005)(38100700002)(66574015)(83380400001)(2616005)(186003)(66946007)(66556008)(66476007)(316002)(8676002)(5660300002)(31686004)(8936002)(2906002)(4326008)(478600001)(6486002)(36756003)(54906003)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OEM0N2dvTUozVlVpdXM4MjBMTDIrYnZLc1laQ0t2eWpKRTc5eWluSkQ3cm9h?=
 =?utf-8?B?bFJ4VkhXY09FelB4QzJBMm9TZGtya3Bwamo3N2dMTEdlT1hwNXJudDRFbkZF?=
 =?utf-8?B?M0FybTVuRXBQZ3ErcEo5aHBXbXRGYXB3eHN0MFhqOU1xeC9FdExaZXNXbTh1?=
 =?utf-8?B?ZGJGUDFwdzYvT2ZPbUx1aUg2TkkycjB4N1B2Yk10SWZ1dkhaalhyMXF2bjA5?=
 =?utf-8?B?S3dQRXdPdXl2VzA1U1lvcG93aFhYbGZybVdlM0lkWW1GMjVlUkFtY1BGT2hR?=
 =?utf-8?B?UGlEV3kzSnVBZFZhRVp0eDhNSkFWc1FpWk00b051OWI1a0M4SEJGV2Q5N0g3?=
 =?utf-8?B?WFp0RGhBYWtOTVYzTCtxTkdpYXM3dEpPenh6M2ZUZGZTeVpndEIvcXlvdDJG?=
 =?utf-8?B?ejZSUjZGNURVK1hHd0J5T0N1TjQyK2krbE51dzdmazVJRjFWYkdOMXd5aFBE?=
 =?utf-8?B?RGZjVU51ZUxraWVEWGNpVEhjbGU4NmpQTmFuZWQ4KzcwdmhqcXBsMGh5Y04v?=
 =?utf-8?B?aTlMMkNHZ0hUcWhuVk14M3BNMzlKZjNWSHdvejR6OFlMckE2NUZma3RIZ3o3?=
 =?utf-8?B?cXZwaHoxdnZrNzFod0pOemk3ZmhNSWFya1V1VnBXV2VuM0lJV0ZWTSt6WkpM?=
 =?utf-8?B?Vmc1dTQxQkt1RjFWWVI1aVdEY2NYYkFJUlpsMDM4Wk9zQ1g1SEZsNStlOFhJ?=
 =?utf-8?B?eFhaQ1RmOG1mbUc2RFlFZDZsR1NITThtYnFPL1R5V294emwrVTJ2M3ZaV0E5?=
 =?utf-8?B?RjVrR0x5U3hMbTlJUEhGbjZwVytJY0RuRGxmalJ0Z0tDZ3dHZm40NDlHUXB5?=
 =?utf-8?B?WDR2RzRiYVBFMEZSWGkralh2OTZRbkFEcDliYjFEY0lwUi9obWpNbDRjby9a?=
 =?utf-8?B?YlhJcGZuYUVKMXdHblgzYkxzMVdZaGNrSDVicW15ZXpSK0Y5MzJoRTRNNDMv?=
 =?utf-8?B?Sml3YTkya2hqdmdJQmdYWDZCandzb1BjZHIxSWdhdGhEd0o5NW9pTjVZQVV0?=
 =?utf-8?B?ai9rQVI4dzBQeTJ0UXpyK2lvT1hPVlloTk1FOGp2Nk9NWWlOY0FyT042M3FL?=
 =?utf-8?B?am1BVHRuN1J3UGVWdEQxWjZOczlaNE9TK2lpZU1kVDgycVk5ZWJxeU1DUXdS?=
 =?utf-8?B?bGk2YjhNU1EySHdEUzczMkM0Uis0UVZzb0FzbVNWcURyWmZYYUUxTEs2T1dW?=
 =?utf-8?B?QnYweDY3eENiak56eGZabGFYOGxOQkwrU2NhVmF6OVExMmd4VXhUUDQyNFlJ?=
 =?utf-8?B?OU8rc1FUdHp2OTVGdm9zSkZ4aWpyQzJ5Sjl6WGlzY25qa1dwSjl3b0FuSkFU?=
 =?utf-8?B?NEVzRGNiSmlyUzlBODVFb2w2QzRUTDhvaWlxZDk3cDA3cHZQMXdGVkZFRVNT?=
 =?utf-8?B?Wkl4MUtjNmtsanNmTWNSRzg0bHdxYk5SVWZXaVlpQjNBdGpmdWEwam1Ia04w?=
 =?utf-8?B?YlYzN2FyV0o1dXp0TmpXbVk2RnhRUnNRWVlWVFBtQVVGUnlFUWZHNThTY0I5?=
 =?utf-8?B?UEVWbzA4dWc4SkJ4Sk1mWFJOZzNPeUlLaHNHcGE3WEdOdWRDQVN3OWo3WStI?=
 =?utf-8?B?NktzMWtsTXR3WmhGRExCcUZpeHBIejg1MUJFNkhvTE5iblhrZWtwTFZJcnhL?=
 =?utf-8?B?eHVCLzdtU0hMbmE3ekhLcXMyQ2ptNFpwY0FkdWtGcC83Q3U3WUZLdTQ1bFZJ?=
 =?utf-8?B?WkQweU0vVm9MelNCVHV1R1htYWhYdFoyWUZsU2ljdzU3WnY5ZUhacmhLdTVU?=
 =?utf-8?B?eWFkUnRTQW5FZk1wM3VicEY5amhaRWNYVk9oS3BjY2RsZmRKdzg0WWpJUHpj?=
 =?utf-8?B?VlNBTUVGQ0VzV0VQMWc3TlU2Z0xwdGxORVRwdUFmdHFJNjNUVWxkQmxOZGhm?=
 =?utf-8?B?K3ZWcENYZ2JmZER4Q3hDaGR4RlF0WjVHNG1FT1Vxb3R5RUNFUHdzbzdHdWJm?=
 =?utf-8?B?WFJIc1dTaEk2Wm5DK293bFZVNGdxTGp0aCtlQklPZCtnWTlKYUl3OCtPWTVB?=
 =?utf-8?B?eFhDZnB1OVp6akRkUG8wZXZ4UVVOdWIxQXQ2VzJJdGI2a1hKRGE1Sjh0MWcw?=
 =?utf-8?B?eUl0bERRRWhYQ2xrQndlSGtJM25JNkVBMTBsYitiL1NVN052ekd6MnNsNFJO?=
 =?utf-8?Q?OJArklKUFxjtqWEh0Inj3y+vK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a4169e65-c29f-41d1-412d-08da76bdd725
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 08:38:15.7567
 (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: jdKrPxHfpJ+XXUUhTlukB+zaZQolHYa1A5IfD1BWNstM0S3lJTjwHpC2KxFk6xtogRR/0Heagr+1YLgJlRH8Lg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5055

On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
> @@ -440,6 +442,16 @@ static void xhci_trb_norm_set_ioc(struct xhci_trb *trb)
>      trb->ctrl |= 0x20;
>  }
>  
> +static uint64_t xhci_trb_norm_buf(struct xhci_trb *trb)

const please.

> +{
> +    return trb->params;
> +}
> +
> +static uint32_t xhci_trb_norm_len(struct xhci_trb *trb)

And again.

> +{
> +    return trb->status & 0x1FFFF;
> +}
> +
>  /**
>   * Fields for Transfer Event TRBs (see section 6.4.2.1). Note that event
>   * TRBs are read-only from software
> @@ -454,6 +466,12 @@ static uint32_t xhci_trb_tfre_cc(const struct xhci_trb *trb)
>      return trb->status >> 24;
>  }
>  
> +/* Amount of data _not_ transferred */
> +static uint32_t xhci_trb_tfre_len(const struct xhci_trb *trb)
> +{
> +    return trb->status & 0x1FFFF;
> +}

Same as xhci_trb_norm_len()?

> @@ -985,6 +1054,33 @@ static void dbc_flush(struct dbc *dbc, struct xhci_trb_ring *trb,
>  }
>  
>  /**
> + * Ensure DbC has a pending transfer TRB to receive data into.
> + *
> + * @param dbc the dbc to flush
> + * @param trb the ring for the TRBs to transfer
> + * @param wrk the work ring to receive data into
> + */
> +static void dbc_enqueue_in(struct dbc *dbc, struct xhci_trb_ring *trb,
> +                           struct dbc_work_ring *wrk)

I can't seem to be able to spot any use of this function - it being
static, how do things build for you?

> +{
> +    struct dbc_reg *reg = dbc->dbc_reg;
> +    uint32_t db = (readl(&reg->db) & 0xFFFF00FF) | (trb->db << 8);

I think I've seen this constant in earlier patches. Can this be
a #define please, such that one can easily connect all the places
where the same things is meant?

> +
> +    /* Check if there is already queued TRB */
> +    if ( xhci_trb_ring_size(trb) >= 1 )
> +        return;
> +
> +    if ( dbc_work_ring_full(wrk) )
> +        return;

What made me spot the lack of caller are these return statements.
Without letting the caller know of the failure, how would it know
to make another attempt later?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 08:44:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 08:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380893.615318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJsw8-00079a-BT; Fri, 05 Aug 2022 08:44:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380893.615318; Fri, 05 Aug 2022 08:44:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJsw8-00079T-7B; Fri, 05 Aug 2022 08:44:04 +0000
Received: by outflank-mailman (input) for mailman id 380893;
 Fri, 05 Aug 2022 08:44:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJsw6-00079N-45
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 08:44:02 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0f271ce-149a-11ed-bd2d-47488cf2e6aa;
 Fri, 05 Aug 2022 10:44:01 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 j4-20020a05600c1c0400b003a4f287418bso969286wms.5
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 01:44:01 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:c429:6f10:af3f:7c1d])
 by smtp.googlemail.com with ESMTPSA id
 bd6-20020a05600c1f0600b003a2cf1535aasm4087504wmb.17.2022.08.05.01.43.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 01:43:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0f271ce-149a-11ed-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=nrVG778qlddv5kWc+Pow6sJfuzXjB6BFzDCgPT4Wf2Y=;
        b=mw7llrkZOb3cFGx1HyvQNzQx4PtveDxJHCszcE59RENXUfXjFVBzcw43Bv0Um9oAyB
         MMoIFDyfV4U1nNgeddZTetmX0GOjdfM8yygbZO8VJek6T3ObSuV9dMu0uWTgb07nEt/V
         /0YvQL8KtCVt6rTGXqifx9XXrSWPXmqrXTfn1VmIGwgv4Hv6kOKnOngt6wDuZVAjRGoM
         8Fo+VJDZe9zst9XB3uYKp/LWhVPYsWNBFtiYRhuwhJlVyrRkR72qAv0gbOBSUOMu8LJy
         MOn6fZejjtfwynBGoSbQURI5xl5VCOV5q9jEFPZp1cEbuyVOhOhDkR9vpm8LEasdNLaJ
         si0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=nrVG778qlddv5kWc+Pow6sJfuzXjB6BFzDCgPT4Wf2Y=;
        b=0caG9FPPbQy9BYvWZu+Q3aaQlnNF7KBJm++K2nkicGRcjUowKXvpeYOam1Oq4kZ6R/
         z4J2Xf8dXOkI2h8m1S86BG4ES1zgfAyhN67EnjIrvVp8iCpHXdFQnSnV/kKlape8Ctw1
         XiPEBdWZ5kYw6Tds8vcysUqdEYcpmeztYynOjXIZOwG6/kMGOViWcEMU0LbDr/vKhV29
         svTbUB/3smfLo6DFF0BwnXWOrW/iui3XDukkrE8zfV704HmoCnSpfPT8Jy2HvZ6d454v
         kqvTRKwW6Z1+jtJ32CRqgqDkiqFSIZdB8/mpFtxtCdGqJklYqCadDRsGAR7xxKwsIJbN
         ndpg==
X-Gm-Message-State: ACgBeo1hLCergfGsnnN5CpW64oZAbGiYOEBKzPqvSUcgrG36PQhfqcpn
	omkNx6he8pRVmkI0KXxwZY2woKncwVk=
X-Google-Smtp-Source: AA6agR7nnazu+foZdktq4/E273LY+sGZ71hATMz4EU2CQlLsanx5yy2NQpsNCpYTU5VUuE3iwQwzUA==
X-Received: by 2002:a1c:7209:0:b0:3a3:1f31:ef3a with SMTP id n9-20020a1c7209000000b003a31f31ef3amr8677361wmc.87.1659689040479;
        Fri, 05 Aug 2022 01:44:00 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] xen/cpu: Fix MISRA C 2012 Rule 20.7 violation
Date: Fri,  5 Aug 2022 11:43:54 +0300
Message-Id: <20220805084354.1847282-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In MASK_DECLARE_1(), the macro parameter 'x' is used as expression and
therefore it is good to be enclosed in parentheses to prevent against
unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/common/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/cpu.c b/xen/common/cpu.c
index b0b63cdb36..31fb5be5d9 100644
--- a/xen/common/cpu.c
+++ b/xen/common/cpu.c
@@ -25,7 +25,7 @@ const cpumask_t cpumask_all = {
  */
 
 /* cpu_bit_bitmap[0] is empty - so we can back into it */
-#define MASK_DECLARE_1(x) [x+1][0] = 1UL << (x)
+#define MASK_DECLARE_1(x) [(x)+1][0] = 1UL << (x)
 #define MASK_DECLARE_2(x) MASK_DECLARE_1(x), MASK_DECLARE_1(x+1)
 #define MASK_DECLARE_4(x) MASK_DECLARE_2(x), MASK_DECLARE_2(x+2)
 #define MASK_DECLARE_8(x) MASK_DECLARE_4(x), MASK_DECLARE_4(x+4)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 08:51:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 08:51:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380900.615328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJt3a-0000Bv-41; Fri, 05 Aug 2022 08:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380900.615328; Fri, 05 Aug 2022 08:51:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJt3a-0000Bo-1L; Fri, 05 Aug 2022 08:51:46 +0000
Received: by outflank-mailman (input) for mailman id 380900;
 Fri, 05 Aug 2022 08:51:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJt3Z-0000Be-C7; Fri, 05 Aug 2022 08:51:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJt3Z-00037G-6p; Fri, 05 Aug 2022 08:51:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJt3Y-0006FV-NH; Fri, 05 Aug 2022 08:51:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJt3Y-0003iU-Md; Fri, 05 Aug 2022 08:51:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=afmJvLPFp1TQldTHdsErMA87VSzSUwOJAAJJizgy+Ys=; b=WJL7CSken7qPbG9wFYNRkqOu21
	lg/l6dhhxsbe/2x2KPUtRw0InT3Y8LBX5iBZnEceDgR7j7TdrcW7KnGu9qG7X5gNqRUyxHll7RJJS
	ZeSxJPzJqLD4Rq8YaHr/2+XGUB5C2mM2fk3f6Y/NUXF/UNDd+os/Cc3to6SJ8tElTHd4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172148-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172148: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 08:51:44 +0000

flight 172148 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172148/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 test-amd64-amd64-xl-shadow   20 guest-localmigrate/x10   fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 172123
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    1 days
Testing same since   172148  2022-08-04 21:39:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  BALATON Zoltan <balaton@eik.bme.hu>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9
Merge: 2480f3bbd0 ed021daf2d
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Thu Aug 4 11:47:58 2022 -0700

    Merge tag 'pull-ppc-20220804' of https://gitlab.com/danielhb/qemu into staging
    
    ppc patch queue for 2022-08-04:
    
    In this short queue we have a fix in the sam460ex machine where we're
    not storing all GPIO lines in sam460ex_init().
    
    This is not causing problems (as far as we're aware of) at this moment,
    but this is getting in the way of a ppc405 rework we want to do for 7.2,
    so let's fix it now.
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iHUEABYKAB0WIQQX6/+ZI9AYAK8oOBk82cqW3gMxZAUCYuwOIQAKCRA82cqW3gMx
    # ZN+NAQDDOk4b79khltmrslo4Sa16nu/ARgqMGOsyy0Y5Whs9MgEAyiAVhpQ6C7Ok
    # W2sHeUkv/ZvzWvE7LWXMPZehBgU9DgM=
    # =QrsF
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 04 Aug 2022 11:21:21 AM PDT
    # gpg:                using EDDSA key 17EBFF9923D01800AF2838193CD9CA96DE033164
    # gpg: Good signature from "Daniel Henrique Barboza <danielhb413@gmail.com>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 17EB FF99 23D0 1800 AF28  3819 3CD9 CA96 DE03 3164
    
    * tag 'pull-ppc-20220804' of https://gitlab.com/danielhb/qemu:
      hw/ppc: sam460ex.c: store all GPIO lines in mal_irqs[]
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit ed021daf2d6c19499ae406055156dc19c073228f
Author: Daniel Henrique Barboza <danielhb413@gmail.com>
Date:   Wed Aug 3 20:32:04 2022 -0300

    hw/ppc: sam460ex.c: store all GPIO lines in mal_irqs[]
    
    We're not storing all GPIO lines we're retrieving with
    qdev_get_gpio_in() in mal_irqs[]. We're storing just the last one in the
    first index:
    
        for (i = 0; i < ARRAY_SIZE(mal_irqs); i++) {
            mal_irqs[0] = qdev_get_gpio_in(uic[2], 3 + i);
        }
        ppc4xx_mal_init(env, 4, 16, mal_irqs);
    
    mal_irqs is used in ppc4xx_mal_init() to assign the IRQs to MAL:
    
        for (i = 0; i < 4; i++) {
            mal->irqs[i] = irqs[i];
        }
    
    Since only irqs[0] has been initialized, mal->irqs[1,2,3] are being
    zeroed.
    
    This doesnÂ´t seem to trigger any apparent issues at this moment, but
    Cedric's QOMification of the MAL device [1] is executing a
    sysbus_connect_irq() that will fail if we do not store all GPIO lines
    properly.
    
    [1] https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg00497.html
    
    Cc: Peter Maydell <peter.maydell@linaro.org>
    Cc: BALATON Zoltan <balaton@eik.bme.hu>
    Fixes: 706e944206d7 ("hw/ppc/sam460ex: Drop use of ppcuic_init()")
    Acked-by: BALATON Zoltan <balaton@eik.bme.hu>
    Reviewed-by: CÃ©dric Le Goater <clg@kaod.org>
    Message-Id: <20220803233204.2724202-1-danielhb413@gmail.com>
    Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 08:58:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 08:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380909.615339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJt9v-0000t9-Pi; Fri, 05 Aug 2022 08:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380909.615339; Fri, 05 Aug 2022 08:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJt9v-0000t2-Mu; Fri, 05 Aug 2022 08:58:19 +0000
Received: by outflank-mailman (input) for mailman id 380909;
 Fri, 05 Aug 2022 08:58:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJt9u-0000sw-Nv
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 08:58:18 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50076.outbound.protection.outlook.com [40.107.5.76])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf1fbcb3-149c-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 10:58:17 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB6350.eurprd04.prod.outlook.com (2603:10a6:803:122::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 08:58:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 08:58:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf1fbcb3-149c-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QIfi6wU4G7zUubCtKq31qbH8KzIKtHXTGRh+gZm4zca+4FwQtv2iYkerdmPSNBdG3YScsRSsZdSqanNyzvqFvFHx92mbynrrNDL7KefWhMxJ0k12mrDGlvBJzPpXnsYlvCQZdaJtJXf5BmDMXdg4ak8Wu003BlJbjxd3p7O+v+pMKzzzqssW4n8ydizMB7QJg2sxW0zfBvLwM4VvQKfcVBpp22zVpvwDU20fX7HnbeFeJXyXHl+tsxvTAKw1SOhtB/UR4XiAj+sttadFRTL6HA0JH0lk0wUChOqtLKZBQHwhGUpXyNJYi0pX4Ihce26c6u4J4zbRhSvZA6M6JKu7XQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LqU+19+UTeOijz/zjWTwxXmWEbbRKExSixiLHgOID4k=;
 b=fOGfaKNDbPVRlnBa5UkM4eppiBeNixYACmRU623mv9T5eYP94NbXRrCqkcII5+bqs5h1U9PTR1+FG1h5d6L6OJHIHan3ehi2cxDMK7SjphCoGMnI3g3m/VkRwqRRoy1p2Whs3vCLaq84qu+hXBl20G7ZksgkpcY88aWTRtSNQdif2ayaZ7zqIrsbPNp+YkU1Vn06BxDRDobCoSQX8JE6GvAIeTOKui2fXF0ehadvc5qDSnmm1g+aE3nwY4+I/1W9tKj7oJLZGIHpeI98m4VJa7AkrjzvUikpMbPD0LuoKFJTn7wsUZJxdsEDdHCxHGjwU5L8oo8FX7vix7IvscRkhg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LqU+19+UTeOijz/zjWTwxXmWEbbRKExSixiLHgOID4k=;
 b=FvI1tiMTxvVik8v+OiD+YeTfqeh+Bpqn8cKspCgUe8qIcG4GDpGoW5BN3yN3KM55Uwd8YloAi8GX1GJo+RT1kc3obnZTU/gAwJLiSaj5GaIXgkq+tpyVqIGh5TpGWPrvSfNYROJa0Biqr1MwI7mverD6mWpTpjJUDuNCJhrRuny/G6DsvK+GFqq0z+XrXWYycM7n4dSVt5FKJ1rfBjgm8cGTmgRCqycxXW/MplfgZ/818LEaAoOt37G1AS4MbKtQ1Vz47yZa4CFhUnEiLQWmP3m1HCOVEpvpW8hXympXmflwttgiwdXQjzzmMqbAOFTt2MHECPT+4t+7Y2xnh+sNSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bc54f348-f1b3-71ea-14c2-5d756532ba48@suse.com>
Date: Fri, 5 Aug 2022 10:58:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/cpu: Fix MISRA C 2012 Rule 20.7 violation
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220805084354.1847282-1-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220805084354.1847282-1-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR02CA0022.eurprd02.prod.outlook.com
 (2603:10a6:20b:6e::35) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6921a410-bf8b-416f-a51a-08da76c0a221
X-MS-TrafficTypeDiagnostic: VE1PR04MB6350:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0XT1fL9Qfi1RUx8eFFpJYmyEL3HhwUj7g3mp+L1aN0HPNjNW4Zn3hhWDon63CVF+tCmfQdWKXp3PT5xb4cTAo1zESL5htwY/wU0XUelw75m/yedtFRXrafGum2Ky/m29lw9qjLuCkN3seu5+2ZJEftmy3IGI1kPDtszqo+j+zvxnJwUAN5zbtpZ/eJTwerN+k9k45y9A68RqtYodRgrpAb39SFJiS+5bLJpMx9+JI1HQ5F0h5/abH1ybHvxRQ/fqsA2qRH1PhqJQyJc9aOw7XQ670yg1zODS3kMRaWBzs/ikfnEPq4565WPKfVVz42UNaPmZrqq4HtEOsCldzmrwAjZqhgJw1fnqffRr/Hl/jRZkMIl+XTqutCHX9N7RbqRg2NA/t8CmnQ2LQXP4hF75IWYUadluE5sFir5wXtZD68IZpSEFerBGQqyeWnfdWmGIpRZpf/kLkgyfQIzAAJOJ0r4J4YdRZ4pSBq01f7if3HuLaDAAw2JjPTexE/NnD5pdN/AogiLEMeixKErdb2dAlHGz/+3SFR49CsFsirqovQm1i2vE7mFZ//OSP0qahQpwDSmyrh+eIrNXOrCywFvRhr2kXKOVUI7c4PvuSlPO6pr6G9x90WFW4iBwKz1yeSWeBK30U3cBE5pChdDuKIZJkNExOLwXPUb4NrkvUuemiKnNeIcEOI2lzMROJFDMTRYKHaUxQ9IbKVuu7lNMz5zYrK3klQyY1fWIKNGd6XaT5KbBrb4iS1bQvqtyiuB/7WxqdeNNXVeyzSgocpotCJA5PA3SpyGWuzsxjYPqF2PRWDWv+XdfSULdNHUKWJc2m8NIZMSsgZ/srTuXn+/wmwnVrg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(366004)(346002)(396003)(39860400002)(2906002)(6666004)(6506007)(41300700001)(2616005)(53546011)(6512007)(186003)(31696002)(26005)(86362001)(66946007)(66556008)(66476007)(8676002)(31686004)(4326008)(6916009)(36756003)(54906003)(316002)(5660300002)(8936002)(38100700002)(478600001)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UmgzUW1xMUE5Qyt0cHhlekdic0Fqay9XZXMwcEswSjcwWVpkN29Qd0F5cWJt?=
 =?utf-8?B?bHdadHY1ek9vU0czazZYQ0orNlFWcDh6em5uN3FmK1JFQ2liRkNpZUkwNzly?=
 =?utf-8?B?Y1dpNzl1RWU2UVNBOUpnL0ttZ29qeUN0NkpJamZXdUUrVldocWxUUzcyUTlp?=
 =?utf-8?B?QWRXUnlEbHBKUHhnUWkrMmNIS3JESDQ1VVc4UXVhNDRUOG1RK3JiOWVlNXZq?=
 =?utf-8?B?WDZDQzBCeXg1cTdNVGp5NEVLMVRHOFlka1h6KzlwL0V0SmtYejQrRXZ1d0dz?=
 =?utf-8?B?VXRVZnFDY3NoUUZsNUZJVlp2SzFkaUQvbEI5QVdIUnlEV2drV0dPQ0dKM3Rk?=
 =?utf-8?B?VjdJL0owZ2xxU2FGb3FaeHpCOFlMUlY2dlpNbFU1TUJ0RXVXSG9WanRRaEhZ?=
 =?utf-8?B?NzZldVNPcmZvcUlYMk1XQmZvbU5ZTDZhdklCRmVnbXJ2SDlsaStNL3VyMExL?=
 =?utf-8?B?Mk5ya1MycDQyQjdwS1BtbGpGTGx5dHRSNzlEdzdDQStpYnY2UWVBUzZlNmFy?=
 =?utf-8?B?dWRGNFN3TytyVVZCT0J1aWFnUk9DNzF4bTRuWVhUSExyS0ZDdVVUOWc4RGZZ?=
 =?utf-8?B?RWNqZGZsWVc1akZrRlo3K1JlRHlUTFZVblBWaVJQK0psa3RRY3d6QTh3aUtx?=
 =?utf-8?B?LytOUy9DYnFpRUpxNEF1MnRzb3YySXlVaHBzekxyTDRsNjJVV0R6YlBRWGsw?=
 =?utf-8?B?TnlnYWprQWNJWFJ0SkpoS0pPd0xad0ZqaGNVRko5QWQxcGsyMEw2andjRDhr?=
 =?utf-8?B?aTdzbkxaZkJDS0pQOWNUWWxqc3lYZXhSd1JlVVFGZHVuUldCZlkwcUFnb0tM?=
 =?utf-8?B?ZVdLYUx2T2lSY3pKM1EyMi8ya2dUZ0dwNDBxNUUzbXozOFBYcUpiaDBtRUFV?=
 =?utf-8?B?cEpzMlg2YWdGTHowV2laWDM1RGhDazFYWEpQNGNyazkzSlVTWSt4eERUNmZ6?=
 =?utf-8?B?ZTVyaUU4ZjVCQ3JYVmZzTEpEZks3eWZocjRxTHFmOVI2MXl5YTZ0NkMvT3VV?=
 =?utf-8?B?eFpOWUZ5V05KVmU5Qm5VRkpHM2VpOTVacEhPayt6bkxJWHc3ZTFUMTJhRVhO?=
 =?utf-8?B?b3B6bTZkUzlNZEhEM1NoOWtYMTVnVW1GQ3FUWHlTU3JNb283ODFVN1plS3ZS?=
 =?utf-8?B?WEd6TDZsbkJOWVljalphcDVPQmVVS2JZa3BrZUF5enJ3cWpyRFA1c1lZUWFF?=
 =?utf-8?B?RnUxWWMxYmdzYS8yVGxFOVlYN1VGR0VaZkdtNnZGSlBVUkNNZUhIN1pLNlZK?=
 =?utf-8?B?QXBIY1NtbWlpa3pXbEQybmwybHFMNHNNaGhVazgvcFNHSlN6THV1akZpalJQ?=
 =?utf-8?B?Vkd3N3VWNVhYR1A1YStvQmRHQldmR1VrRXNoSTNTZUQ0czNmaXp2Y1grU3M5?=
 =?utf-8?B?L3FTUGJIMmlBUS9oSWlESThWMG9UaW1tNFJSOGdzaUJnbVdwWG5aODlvQ0R5?=
 =?utf-8?B?dGV0enliNnNFUC9OK2JJeVV5MW1wdG1PWkhac0dmejFCdnpzN1ZiMEltVkxM?=
 =?utf-8?B?OTAwWjJYRHpQTGR4UlN2RG12QlVBMVBPR1lzbGdpOGZpVlN2c1dNd0dYWjBU?=
 =?utf-8?B?ZlVpUkJWZTNScXJ2eWhrOGtibk1MZlpuNDJ2bEd6dThDMGxpUUhtL1lrckp3?=
 =?utf-8?B?RW1BS1NxcTJ4UWFZRDBwbm42R3loVmxadm5xa1Vhbmdra0p4RDgwWS9VUWVp?=
 =?utf-8?B?UVU0S0UvanBkZXhoMDdsNXhQY1lYUDJKQ05Uck1qUnpRNk9WUUIxOTFEM2E5?=
 =?utf-8?B?UEJubktoRkFWRnpLWmg4Z0lxa2NaT3k2WkQzdUlYekwrQkF4a2pqZDBYV0RJ?=
 =?utf-8?B?S0N3ZDVUTFowWGRRQThxT1RaeEd5ZG0xdEMxQ2Z4YmxndzhEUHlIUUp4aTR2?=
 =?utf-8?B?YlpUTHhZVEdBUnd0T2JNVWFQSGFjYmpmZEpZNXhTMHZyRjNDSTdLbGZQSmha?=
 =?utf-8?B?bTNQK2QzalFCM1VDNmFzK0hnbldIczhsbDAzd2tkS2NncGhJUkFxTEhnckU4?=
 =?utf-8?B?UVViOTdqaHhBeWFmOTJ0U2xoYVdad1FqRWQ3T1RGa08vZ3NtUk80VURpUWNJ?=
 =?utf-8?B?bGt2b0VNMzBCaXpWWW5pSkJQTDI4L0l0TStoMjZ2VmUrV0NPejVSSVJMSmor?=
 =?utf-8?Q?/bNBZxm6+AA4m7xdKBPOT/AB7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6921a410-bf8b-416f-a51a-08da76c0a221
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 08:58:15.3196
 (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: LLPTuOPXajJWzUsuNbwW/Uwe7/h30Lez+sbPXZVM3WLiTGztZzyNg/Hpv5pQkPWD4C7cJLvbGCYysvfUocSpnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6350

On 05.08.2022 10:43, Xenia Ragiadakou wrote:
> --- a/xen/common/cpu.c
> +++ b/xen/common/cpu.c
> @@ -25,7 +25,7 @@ const cpumask_t cpumask_all = {
>   */
>  
>  /* cpu_bit_bitmap[0] is empty - so we can back into it */
> -#define MASK_DECLARE_1(x) [x+1][0] = 1UL << (x)
> +#define MASK_DECLARE_1(x) [(x)+1][0] = 1UL << (x)

If you adjust these, you also ...

>  #define MASK_DECLARE_2(x) MASK_DECLARE_1(x), MASK_DECLARE_1(x+1)
>  #define MASK_DECLARE_4(x) MASK_DECLARE_2(x), MASK_DECLARE_2(x+2)
>  #define MASK_DECLARE_8(x) MASK_DECLARE_4(x), MASK_DECLARE_4(x+4)

.. want to adjust all of these, as they all have a similar issue.
And while doing such adjustments, please also add the missing blanks
around + .

However, these are macros used locally in a single .c file only, so
I'm not convinced as strict rules need to apply here. To make clear
no further uses (farther apart from the macro definitions) are
intended, an option would be to add #undef-s right after
cpu_bit_bitmap[]'s initializer. (But this is not an objection to
adding the parentheses, just a general remark.)

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 09:25:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 09:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380920.615360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtZf-0004Gr-38; Fri, 05 Aug 2022 09:24:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380920.615360; Fri, 05 Aug 2022 09:24:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtZf-0004Gk-0J; Fri, 05 Aug 2022 09:24:55 +0000
Received: by outflank-mailman (input) for mailman id 380920;
 Fri, 05 Aug 2022 09:24:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJtZe-0004Ge-4a
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 09:24:54 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2048.outbound.protection.outlook.com [40.107.21.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7551a9c7-14a0-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 11:24:51 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB5830.eurprd04.prod.outlook.com (2603:10a6:20b:ac::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.18; Fri, 5 Aug
 2022 09:24:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 09:24:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7551a9c7-14a0-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mLyZrdlDTRuDtP8DIbQzUyKY43eugLM64X+2nTVz1l8hDCzpa5c0crQA5LH2ckcGImJKloe0kwXCIwUMhFIfTuEQlzxdLLsXIOOHC45fRDQ1ZnxexoPFS6W3dFPDwUT2+ER2bxfxPam0Qu/4ddr5KdIvPzHCTV/TnUrbXvCkDaQYZsghoxtTieo3yBGP7jZG2X6ulMtLKXIIaXTxW5UOfcXUROjvgaWEPTRVyDsHu881K4DsbO3m0tHbHSAjO4w3FU9oS9u9aJyuYB31uc9FJSDkfwKdBKx5CQWlvj30M4fMcJc858+txg5NUuJvo87rZYDHeaZq6AumCmXk9YlxfA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x0tsA9oUDG1B/nFNR/reYRCnJtOepE8GG2eBO3vppEE=;
 b=fjy0S9aB0U+xO9LhXzhVze9oT73k0OpryrNlNJQYniGC6EEWBWP90c0hliYlAD1aTOEQGL0aS/5Bjxxalajd0FGkGIqMSxTrvm0fAe7u9EIRkV8rTe02sYLrQujhsvxPL4LR724Xp4MA+ssdUm+0O1fHMZn5vzFBZswEV2LdDuBWMx1hY82CcUcn8YfyuQSVv0agHFD515/EzAnuIQpEaeQ4ZkLKkYNDKJr+ge+glvFW7d6MU4Qr7hIML0mUNBuc1ZfPZlQgs7OkvzEybZbz+EUhhyb18/y6npO3465Y6M85lPlSqKF99CzmWbJ4A4dIBmzqylxHHpxoNM2dcfmznA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x0tsA9oUDG1B/nFNR/reYRCnJtOepE8GG2eBO3vppEE=;
 b=IF/8DCyDVR6kaIQN2HHlVxSk8UggCfKm9KT3Nt9RlNpqfAYRbpHLBdo6F6dbyZBlnDEVB78xECabU2bFOBDXx8ZlSE/HosjzrMlthylbrstf8zngPK0wthyWYqzTnWdPOaBYymtDYfr7xl4csGq5njmJ56W+p7vkSZvCnRvHf1SFKYotBfXDd1smFe/muiN+OqAv5Fm76itRzOks0qqLFWCKYuI+lSMx7h3BSbgNvtxKWKRWWauTh1LCYW+MlsBnEk44WxsoFW0hRbstBmwnnMkh7nIQfb+l7672uqv2POBPYiif7exgXVTjNVpzEg8Bv12hxJgmU5ziXle8niS47w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2bd30d03-1918-02c7-02b2-cff8d58c99b0@suse.com>
Date: Fri, 5 Aug 2022 11:24:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 2/4] xen: Port linkage.h from kernel code
Content-Language: en-US
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-3-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220804150424.17584-3-jane.malalane@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0072.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:87::49) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d2c0ef87-4c45-4c75-4b43-08da76c4584c
X-MS-TrafficTypeDiagnostic: AM6PR04MB5830:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LyCx2LiaXmcZ4btaGxZK25LCfYWG27dN5lDhJXoSfritPhh49vRhbMQvz8ebHdaol+J1AJ33/pfQDFEN1kmQhvBOqXCB3GJk62QQb3gT6qU/nAPpTDNJtITopZGJf471yihlW1/dYSN7UIroVTYcKSibPq2nMOnCwyJi4uFolUrS39dpCA1NswHQDxyLfBDFyNy0QWRGOGKzb7Yo16hE2wtYf4gBx3Od3yhuoIcy65775hnK74gefp6vYCQZ02lBr8t3pMuqmicnD1jCLwEsQxm10ATYjk2ys5v3C1PpotP3wNCQ1Hk7qY/xlrjHazekqJpPiVjPYUYP+bYCBrPtllU8xATXAh8dpBuRBRpl6tXRsN6cvL17aL0foOvycQoXq9WhASguAjnACULRiNWUzvgXKMvDp/AHY4zwVsbx1hJKM+Cr+UWZPPMR1zNgmGeD1MUquVlUaKlBQY/PGXkwjG0NwX0gLQGLtgpqKbryQBgzsty2fk2mNtui6MXTZGYvSa/0yKRDxZFwcRXf0JHgQZptYsdRPELRsAAkFtFAOut6RsDl/eNEChkJYmaFMaMDH57DiHbWcmtMcYHPbYLRTfToB7duzLa/Bo1gG5ubiZdVgeeYeThWbPXjz1+p+qE5R0iexrmyfpggwOgnhp3wYsTZETVBWU9lzScN6UeAr70F/W05FHRBrmrWzH1FnMyd29DhYMlXOC4lJ+Y4IfH7+fMlsoMxbeIXm7JsiEff209YweJL5kIGQWD1Z35tfkmab3Ne3VMCJagtejwyYzRkeMbWlz8KXkRdRBBsI/l7dBne7oMqECnnzHmM0qOinUeZzw45Ez0DWb1bI4kcEYeOLA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(396003)(346002)(136003)(366004)(39860400002)(186003)(53546011)(6512007)(36756003)(6506007)(31696002)(38100700002)(2616005)(86362001)(66556008)(66946007)(83380400001)(26005)(31686004)(66476007)(4326008)(8676002)(6916009)(54906003)(8936002)(478600001)(41300700001)(2906002)(6486002)(5660300002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aklKd3ZVbkY4V1pWTkUyQmNxanEzbVJKWHlJUlVzbW84MEVBN2RLZlZLUEw5?=
 =?utf-8?B?MmVoY0NzMlNLdksxOHB6S0hlQ0txUHhpL0dpZXZGU0o4RkZSMklpazFvRGlB?=
 =?utf-8?B?MmVscGdoWEVRTVR5dzNTNG9OM1BiWlBWUjFEcEVVb1VpVkQvdGZPcGdON1dH?=
 =?utf-8?B?Y1JDcVNEdzUyRCtGeFlkNkZ6cUxDRmUzNUV1SGZUaU5zRGx4NVphY3ErZlZ4?=
 =?utf-8?B?ODVIdGo0c2JWTGpHeWoyRisyNVdsdjFkWEpiMnE3Ump2WU1ORExPZVh1SWNN?=
 =?utf-8?B?d1ZmRWRtcVJQemU0MGZURHVlTEFpSTRLV28vVmRZMHlRMTlJbUdXTDBUMm5n?=
 =?utf-8?B?djlickFBQTRnTmMvUkZOem8xYjdPb0YvVldmSWRQSy9EYmcrcFh4SzZXclB4?=
 =?utf-8?B?QTFZaUhxTEVJb1lBMVBEZGxMSXVuODVYS1ExUGc0UzNtNDJzdVVaRlFQdFF1?=
 =?utf-8?B?bGZ6MnVwSHhURHVaNlg2d084ditlSXNrVVlGMEx0Y1l6R1A5TUozTWFHeEd5?=
 =?utf-8?B?YjV2MVpxdy96ajBMRHFXcjg1NjdoQWhnM3p4NEk1UUJuSEx0aXdDQkp2YWV3?=
 =?utf-8?B?d0tnODdZUWs1M1BObEc0UTI5MFBxSk9DVmFMbFBMUlc3TW9hRHd5aEdSVVZq?=
 =?utf-8?B?bGFNV1N2VHluMDJmdlNiTWtMeEVGUUZOQTFVUVpMbkp1a2M1Ui9ITm4zUWVi?=
 =?utf-8?B?aDZkcUtadDFWU2dlZ1lpOVlVcWhlOUxHNXRvbmgxRUo1SVkycytON21qcWsr?=
 =?utf-8?B?SHZaRUQ0YWg0SWhDNmNwSjNvWmtsOVhSTXcwaVFNSHQxenNsRm54SjVObndy?=
 =?utf-8?B?dEtEZHpvUDZtQkNHQlY3akgvV2huazR4eVBoRklOd1czazIrOTQvV0NFWE4v?=
 =?utf-8?B?L3U3Snd6SUwvNVlyaHlvZEYwVXYzcVQvRjFHZnFsOEY3NUEyTTliOE45aGpj?=
 =?utf-8?B?MTZsZWFrLzd1UVcvblBnSGY4aE55Vm9ESFRqdSsvMzZxdEx4YTE3cGJFTm5x?=
 =?utf-8?B?NzIybGhuTUpBUkxKeEFjYjZaRDRIRkhIMEVGSzhmR3h6TjFLTmtpZTBOSnda?=
 =?utf-8?B?THZiUkdWaWJDODRNSVB3THFMblpQNVFydDBYWWV4VFJSUFlweTU5cC9kZ0xl?=
 =?utf-8?B?RmlCQldsb2R3ZjZLZm9DRlA5eERYRzZRZjRKcmVHL2tOV1BLcnhBSzhXbEJE?=
 =?utf-8?B?dHF6TTcwcFlqNVVqZDhmOWhkdUZLY3dZQlZ0QzFDWkRQK1JvTkFqaCtPOFhO?=
 =?utf-8?B?dEdaWkxtSjBnRzAwTWl1YmFZdytmaHJ5cTFXbTlIcGwzZGdaOG1FUHkxVnpG?=
 =?utf-8?B?NjBnOVJ2ejBUcTFzeUhnMHJSeFRrclFEckhLa3lkaHkyY01scFI2MU55RWlU?=
 =?utf-8?B?bHFCczJZMHJSbFVwaEQ4MEgvOEJpbTJ2cjR4Q0lDanRKbldBMHFVVFh1cU5H?=
 =?utf-8?B?aWpWci9QWnZSUXRCcmJqRXVZRmRRSWg2TWd1QXQrNUNnT3dDS0VhdlBseVhY?=
 =?utf-8?B?d05qVjdtM09sbllnViszbkl3LzFoL0pRYldtbTdFRFMvZU5VZ3ZJNG9qdlc1?=
 =?utf-8?B?eThESFZiMXNWRmZJQklIQ1ROMkhFTXpnTVRocjlEb1dyOWlsNk1vZC9qc0VQ?=
 =?utf-8?B?QWw4eVJtaXZ0Z0YzZFE1ZjJTSDRXbXhRRkFJVFBRR3ZTNG9GWnRNMFR1RlVY?=
 =?utf-8?B?TjVLQ09hMHZ3dE9PVmxuOFBqM0dpSE1Pc0MybXM4d1BUSm9vQVVYYUlla2h1?=
 =?utf-8?B?L3dHc3pGU3J6VU5pc2RsVytIaGlNNDNBVWdFUUlTcEpDd3RiekxIam11TXhK?=
 =?utf-8?B?bURjQ0Z3bTRzRy9PMGpEeXZVMlMyUEROVnprMjBoOFpwZXFWL2tYRWdZckxq?=
 =?utf-8?B?T0gvQ2huMHpYcFNTeTlzS09WY1N5NmNRWmNaSXFpMG56RGVrb1p6MTluTzZn?=
 =?utf-8?B?R252SzU5bkkxMjI3VjB6TGhjbWpUOHU1bThxN05wdHpaU3BWVXN5bVYxZkRn?=
 =?utf-8?B?ZTJkb2w4SnlOZWh2SDlQbzBvbTNuNUpOelBsS21OVnJqRitRRHJyajhMdjd2?=
 =?utf-8?B?RGJJaHhsb0dmNUtUWmZBUTBybGFrZk5hTG9WeC9UV2M4NWZpdGgxQ3pnY1Nx?=
 =?utf-8?Q?uPa++ZCQMvr1Elfpnw8hALZqS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d2c0ef87-4c45-4c75-4b43-08da76c4584c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 09:24:49.4346
 (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: 3M1HaMH+MCDMMtHA5hb9my9R/nIVKGVeomBQy3oh3v58ec2q1CsPA+rsf34BVlPM9vhyXLbvWABtWhJWoVvvIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5830

On 04.08.2022 17:04, Jane Malalane wrote:
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>

In the title you say "port", but then you don't say what customization
you've done beyond the obvious adjustment of inclusion guard and
adjustment (actually removal) of #include-s. How much customization we
want to do is important here, after all. I notice you did, for example,
add new flavors of SYM_INNER_LABEL, but then you didn't add anything to
use .hidden (which I have queued as a new patch on top of a supposed v2
of "x86: annotate entry points with type and size"). At the same time
you've left in objtool related commentary, when we don't use that tool
(and no-one knows if we ever will).

I'm further not sure I agree with the naming of some of your additions,
as they appear to not really fit with the naming model used elsewhere.
Your additions also look to not always match style used elsewhere in
this file.

You further want to mention what Linux version this was derived from,
to make it easier to determine what incremental changes to port over
subsequently.

Overall I'm not convinced this is a model we want to go with, first
and foremost because the commonly used macro names are too long for
my taste. What's wrong with ENTRY() and ENDPROC() / ENDDATA()?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 09:29:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 09:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380927.615371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtdp-0004wF-Kw; Fri, 05 Aug 2022 09:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380927.615371; Fri, 05 Aug 2022 09:29:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtdp-0004w8-I3; Fri, 05 Aug 2022 09:29:13 +0000
Received: by outflank-mailman (input) for mailman id 380927;
 Fri, 05 Aug 2022 09:29:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJtdo-0004w2-CS
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 09:29:12 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2067.outbound.protection.outlook.com [40.107.22.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10176a9b-14a1-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 11:29:11 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5202.eurprd04.prod.outlook.com (2603:10a6:208:c6::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 09:29:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 09:29:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10176a9b-14a1-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IgFE/tN/E2GGsKgXtt1tyNKA5dZp3XMObmMnqB1Af5gJpqAP61fO+JRuUkJLXY0NBJvmHWkM3KMwfOfRi1lMrW6ofJ2vLPkLTkewsN9DU3/5bvHw3srjFoF5JsbKe+Qt9G9Me8WgcTbviLiLyNS3cCFoG/fMbZucokxMIjdm8tNdGK32u5od/3/nb2yVPuTFwEwAMgpc9u9SPQUyyrWjx22c6ZqESKrzYNnW5rZ6AQugGheb/63ruBpvWxrzGyyzb7aRqy34RXxE4e+x5i7LE9mqxMEo59SrU6hq4tDUxqKwDylUnM/5DloGf6vktJHOO/qhF797puhDi5xPftJW2Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9ugxw8LhezYCwoJhbYRDo23JGiRd6ZVGAFvSB1KRHK8=;
 b=a7f+UHQC3GaCQE5D57wBrJWZR86fHLtXEt+GUX/lHfrBg4jPnXJs5rqUVLm+htCoSUAVLn/N3cnCb0JxryE1ohagSZtmpTZWsN8Pf/0RcOVANDFATtO2pbGtDk1EiQmYBKQnRyudtS922nGTlk7+kmtAGYWZL2df11e08PbaxCSHWoK7gTdAuDKvBbN74sjN20DemxJwJzuA8dXqkYOuRVpnlI4QC+NYeo+SIaA1xuewJ4zGpKpqzOt4KEFjLKre+YWQuxrMaPWaQl6Z+cTHCc4X09663sGf3idrLmuoFU7In9Zb4thQJb1JHDnpboqsO5tNTVcuC5vCpN57FcRayw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9ugxw8LhezYCwoJhbYRDo23JGiRd6ZVGAFvSB1KRHK8=;
 b=x8jq4CfEeFkttuPTIXwAPVh2p53GRWVroJOGpI0/txtKU1DT4zEW8ZVN45quwcdfs9/84Mfl+5m7UzHWOmivfG40Pq2jyqJQrO6lIC0KW5qbDSghrvMMZyJxuIrFDzzZv/T/70F67Hi94hxGLxRcjh8Magw4qPLBIBjt/gI6I6bLb4A7T8s9uQjdtsdBjXdGsJI7OzWeJmGiqUXAiuXwyt3knmQQmDyUJBLzl0j0LIRCm2R0ojgOHMd7/eIX9y4cUGZk9D8aVVQTQtZ4P1SvGqB9kacpAatx+v7CZYf9w/poGhjYpbU21FxLN+ej+ui/jzY7ODqeoDZluFNep8hWMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <21d006d5-df5a-afe8-0f79-10e13febf2ea@suse.com>
Date: Fri, 5 Aug 2022 11:29:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 3/4] x86/entry: move .init.text section higher up in the
 code for readability
Content-Language: en-US
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-4-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220804150424.17584-4-jane.malalane@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0144.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 42d7895d-d304-42f6-7311-08da76c4f36d
X-MS-TrafficTypeDiagnostic: AM0PR04MB5202:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	40MuTHm3fdfvHYEFA0sU9VmQr8mnq7OSXmlKYJn2ELH+ODQpefMwaooARHUEqRbRr8Bw2bccGlC1Fl9tNclhTo0e1iV1A1NdxVrU2z7ZmTpCCcuFPt9TwwCB9nK6BWJxJQce7WpQf6hQAM4mhBsAJN4QHW2XsTaa/i8q+S+qSWk9uI0VlPEV5mkHyRZklLg7S5XOuaO6mSl8TwCIEKTnwO/0A+Ob0ABFK1P5GKgh0N76AFX0pjqYsymxr8ET7CPrDujl0+SWNmP0y/0SC1hNOjrhPWUQuD7v+PLp+97JSLmxigmfynVN5gGGxoBvtHUIvY7ghcpnC8fpXnlt23ZdASGYEg0qkRKI8KC/HeYElMK3R3FsqIm/7yA1JrX9mzyNbIEMORT3sE2bLqkKYkRwsY4HEwjL6iX8kKXJFtMdRGTvAI2exWguW6WFsfqxJs3rvLh2EB0fwWJDxKs+zU7z52wM2MFpX2mymiNhLWbADpFgzyhdU/bliRThKnrfuWMOfAKKAQtT4gc0vwlKHhji4/bByC79ij028/JLzlHNABvfrsYLrA+u5/m+hxf9x6H0gPzItpKV+BA9/HsImO2kB33gbww++428Z5AzsNBkh9y8Zu6kcnbNm7SUaCHpFt0r5fMmx0JWdET73drRICUv+EpbNTl6vacTY8fPKkoR2ptb0reYc78y36+KlmXHwAkKyfv2jl8DvVDHhNezD9D3wy3Uf2AB63pV9JG+lM3x3cwdwQIMHhua8WEQ8K5lMNH4j0xofnjM/67t5kbo2z9FTRoST+7577iITNwTLV99vadjpXg5zGqFY2C9sS3OZ+l3Qch5Tb6FfeJS9+Kvse9s16ikCv+RYq/uHBrH8V9qoU0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(366004)(136003)(39860400002)(396003)(8676002)(66946007)(66476007)(66556008)(83380400001)(6486002)(186003)(2616005)(5660300002)(4326008)(478600001)(2906002)(6916009)(316002)(31686004)(36756003)(54906003)(31696002)(86362001)(6506007)(53546011)(38100700002)(8936002)(26005)(6512007)(41300700001)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eVRMVnZiSjVmNmxkeE9tZFc5a0NoVDRxaGIwWTVwVG1JZHpTTzVmL0M1OVhL?=
 =?utf-8?B?TGhka2lnSThmMlBwWWxjT0N2Uk1iakRIMmhUanJyNmpGTSt4djdVL2xsRU05?=
 =?utf-8?B?dEJDTmk0d3VabjlOT0lHQ2wvMVVVRnp6eEZHSHRXMWtHM0xtK1RSWmZwMmRV?=
 =?utf-8?B?OE1WVkU5STZzTitEdnhIZjF0VS9MZUVhb0JJc0hZUjBwTUF3QjlERjlHQ1Fw?=
 =?utf-8?B?cjFkVE1uYUR3WHhJYUh1LzFEd01zcWtveDE0Y24xVEdkK3BpOUxUaGdNYTdq?=
 =?utf-8?B?ckZ1Q3JuMXBHZGJyMXVpVGRJN3JmbkRuRno0cTczSWZaZFRmMEdIdE1qRmVx?=
 =?utf-8?B?Q2hHMnJNemVocTNCVGtjOTZDblhNR09uZmlkeEpLcUFpUmVzYyt5b1JKa0Q0?=
 =?utf-8?B?a2JoMDJwUndwMjFlckZzdlQ0d2psOVkwNitFMi9QQi8wQzlkRk1mSVgvWlNr?=
 =?utf-8?B?d3BicDBUYjZxQWZ3ejkzVG15am1LQ3l3Wk1mcHVRckRTd1lyS3p0MVNoSGZ2?=
 =?utf-8?B?RSthN2ttbVZpRUY1TzZNV05yMzFVbkV3WjdSTGR0NkNCR1pxVzVKSjJWcVpO?=
 =?utf-8?B?Q2dEYTYxZzRtd2c2T0t3eDdJVkQ5ZjRBK3AzSjZPOXByTG1XZk0zcWJFVkNB?=
 =?utf-8?B?cDNVa2pjV3BMUldJTnd0RnluMk5STExkZkkyL1NzeHliZ0FBMEdmUGt3WStP?=
 =?utf-8?B?eFplaWFzamdtdWF1NUdyVm9qc09YU2RLbXB0UCthQmI0SzZlT1RwMlFHeUdl?=
 =?utf-8?B?c09UdHc0Vi8zSXBRQVdpenFSWUpFU1c5TGVpZzdxQU9meFBkd0l0L0xBK3E4?=
 =?utf-8?B?Sm1mQ21zL3pIdTlRK3JPdjVvWDNUUzBxK0JCWkNCTmw5L282dllyVW9GcWY2?=
 =?utf-8?B?Z3cyYnJIcHRlRWgzMWxENUFNYkhmQVErVmRnOEF3RWZjajQ5aHFBd0pSZXU2?=
 =?utf-8?B?ZzJWMHQwT003Y21zTFJ2a2JrdCsrSkw2RnBrYnJVTEFZRjRuRGdaOHNpb2R4?=
 =?utf-8?B?UGNHR3pLeXdLdHhJZk4rdjV0VHd1UnRqem1qci93M3B6aGQ0czFVUlhoODhh?=
 =?utf-8?B?SEtiVnJIOUlqanY5SnBIWFJCWGlSa0dqb3dlNld3WVN5YXMxMWRpRmlNVjR4?=
 =?utf-8?B?NFZ6WCs4dFlWNVN0YzUyQXFONDBydEVMeE5WUlNyMWl2WXUxSitHNGhuOEtY?=
 =?utf-8?B?bHFkd1d3TVQrR1FNQW13eXVEYXo5cGJiRlJoSmpHSXBmVjhxT3c3KzdEK2Jp?=
 =?utf-8?B?cmdnN3JkQ2Q1RzI1N0Y1cGdWYnQxN0hVamdWckNYejFtSDJSVUI3Um5OenBH?=
 =?utf-8?B?N3orQ1RTN0d0SkMxckNqUDNsMFdoai8zaDlLc21EOGlFeXMrbkV3dlVaeTB0?=
 =?utf-8?B?S0NFU0xwWXJYN0tKYnFNOVlHeVhucGV4OXFDeTJnV21Yd2ZrU0lNb1p2cjNp?=
 =?utf-8?B?YjNXZlppVXYwd2c0bGtjYWJmajhVbzBXYlNqeGw5VXlqNzhYNmVqR1hpNHZQ?=
 =?utf-8?B?Rm9zb2M1RDRiWjMyS3NjSEVMWEpwZ3lpRkQyb3E2emlQR1Nud1JNeVdoVzhS?=
 =?utf-8?B?TXRLYzc2SkhHTUF3NlkyaUZaVU1zSjRuaTZmT3FQWGhZblJmLzRoMWlCUm1R?=
 =?utf-8?B?UnE1NEF4Qkd0bDZiU1BrTStXaThTV1FrOUFkSHhkY2tjZjJFZGMxVTJ6cGNT?=
 =?utf-8?B?eGxjTXhVdmExdm5nR3JoU3FtY2M3UndRTXpzV25YUGhoVnRDWTRpeXREV1VH?=
 =?utf-8?B?S2hxVnZoNVZSUkpiK3BZOXY2Z0JoZDcxN2gyOVdqNWJ6eXJLL2FBeG41ZGp6?=
 =?utf-8?B?ZXorRndSQ29VR2xuUTZMZVVyTjJGaDJRYVZ5TFpqL1NWUjd4dzdwZnp6SFAv?=
 =?utf-8?B?WHZZSG12ZGJmVzNvbVhsUUZqVk5iR0dvZktGTjFaQkZYcElyTXhCdXkzTmxU?=
 =?utf-8?B?RlFKdmR2T1FDeXlrTTFabzJ2MVBTUWUxcTI5U01TZk9oU2R4azFwQTVKWEU0?=
 =?utf-8?B?V1hGaXJBQUl5QnV0ei9peWZiTFFVNXBVY1pFaXNNMEN3SDMvZDZQUStrZWVM?=
 =?utf-8?B?UVFZUnJrbk9DSWkrR2hJL05tSnRBQTY2b2RzQTg3alZZb2lZN1pPUUZKZlFN?=
 =?utf-8?Q?2hANIvizsjRm5D4JfKC5cahtg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42d7895d-d304-42f6-7311-08da76c4f36d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 09:29:09.7144
 (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: 8RgzT2B6st/FAJQ+2K9fnnGI2EYn86hhk5FYbAo3jgBcxO/DbsIfRbKoUW9hKbqVnv8ACuCIXQOoWGWzp5QA6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5202

On 04.08.2022 17:04, Jane Malalane wrote:
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
> ---
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: "Roger Pau MonnÃ©" <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>  xen/arch/x86/x86_64/entry.S | 19 +++++++++----------
>  1 file changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
> index 26bf2f1941..4ad25d9c90 100644
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -140,6 +140,15 @@ process_trap:
>          call create_bounce_frame
>          jmp  test_all_events
>  
> +        .pushsection .init.text, "ax", @progbits
> +        ENTRY(early_page_fault)

Why is this line suddenly not unindented anymore (as labels ought to be)?

> +        ENDBR64
> +        movl  $TRAP_page_fault,4(%rsp)

As you're moving this code, may I ask that you add blanks after the comma
here and ...

> +        SAVE_ALL
> +        movq  %rsp,%rdi

... here? Then, with Andrew's comments also taken care of,
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 09:32:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 09:32:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380934.615385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtgq-0006K5-4Z; Fri, 05 Aug 2022 09:32:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380934.615385; Fri, 05 Aug 2022 09: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 <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtgq-0006Jy-0s; Fri, 05 Aug 2022 09:32:20 +0000
Received: by outflank-mailman (input) for mailman id 380934;
 Fri, 05 Aug 2022 09:32:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WXlD=YJ=epam.com=prvs=0216224003=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1oJtgo-0006Jq-1f
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 09:32:18 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d86275f-14a1-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 11:32:15 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2752wsAq010871;
 Fri, 5 Aug 2022 09:31:30 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3hrr5vs8m8-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 05 Aug 2022 09:31:30 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AM6PR0302MB3366.eurprd03.prod.outlook.com (2603:10a6:209:25::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 09:31:26 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::d87f:d45e:b2c6:c21]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::d87f:d45e:b2c6:c21%6]) with mapi id 15.20.5504.016; Fri, 5 Aug 2022
 09:31:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d86275f-14a1-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LIDqF0CLwWzsccpCq9WVw2pyYiVNEtImuKfLlq06Z30vkHTLGq5GN/edzPeFJfIKP0fGfxtips1JNe4SoP7Qt726/Rg56hVAmlUL/eYUagxWEm3dz25wL7izWFokgRZ/RFHo7wZ4X0IbaObylUKNJP3yAFH0MoNZcVmGsLRwFSnYlJmL6knWJ8fqMGgoDd4F+VW8rUsRtO1jXd7jDFslUvSuPf/VEl1I2AOUsmEaICLlU2UL5E25UIE5+BQkxJ2d4OWpjDgSHr5Jz4Bzn7NVbHAYB0Aqce6MxxpGtqUFxhr8NYkXAufxZHUXj1Z9RG1OlFZx/O+gLQveDYSVaMGf0g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3ygLQKAIvWL8iDybhhhVj0qW2imS7PtuXrZ8GGK6ufo=;
 b=G0KdHVDfXu2hFOaQYKx1aZbQCgTjzgxso3Ekp65Ps3/ucel1FYk9/n+BHI+mz3pdW61NMTzj/eC5q2YKZOMKviAxOb7S7m+6MmffJZERp9nBV+2/oA7jovAVxZ9AzYStHauffA3IoXjrIw/o1nt4wVhO0hA9ywcegvCOM7LZs7eFSU4bW2Jqg4zhvJPCMhneAR8Se6yZkziB8f6vJ7Ae+JHzxjmfMgNU1y6YWijojq4b1tPEOtxpvqcX98Fz0AIPKu8P6tbVg9B71pegknE6ctPgfTnmpHXZuufcQyLLwhaxlpUvobed2ldU4KTe6MLjv6fVGqW//azPz2Os7BXeSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3ygLQKAIvWL8iDybhhhVj0qW2imS7PtuXrZ8GGK6ufo=;
 b=gV3Kp9cxRCUaODl5yme/QiLho88WZwncZliUYcN+DYM7ZVMWev5aUuh6NA9xX8kuCc8XgV47f7splx3slUkhk3z9JPjmEPSyCs7j8ohwrLQRUYu27Sb+iqjj8VW8OGA0hU3u8yrHM0l23iVA93ew0g4N1LeHjZ/B8J6MkDgGSxaY07f6Fd6gp+NiGa0sgf1NuKc6F6duX91W/9jJFYQAQroczGmQ0x+aWm2BQwpQkRlzj0YhhLucs3U87GizBPue0piQhPZqZN2I4SKV7meMiAJCIHyeATyi47Jtij9oP9M5X9UWxvEi6vnIv2p8XZTfmqF0rcw1kw4kNnobaaWgVg==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Dan Carpenter <dan.carpenter@oracle.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        Ian Campbell
	<ian.campbell@citrix.com>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "kernel-janitors@vger.kernel.org" <kernel-janitors@vger.kernel.org>,
        Bastian
 Blank <waldi@debian.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] xen/xenbus: fix return type in xenbus_file_read()
Thread-Topic: [PATCH] xen/xenbus: fix return type in xenbus_file_read()
Thread-Index: AQHYp9GEZ0chDohme0ithoOevS/GFq2gDJUA
Date: Fri, 5 Aug 2022 09:31:26 +0000
Message-ID: <5162a6ef-1d68-108b-cc1d-a2846ae2cf7e@epam.com>
References: <YutxJUaUYRG/VLVc@kili>
In-Reply-To: <YutxJUaUYRG/VLVc@kili>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8ff0b520-fdde-4a55-1f91-08da76c544dd
x-ms-traffictypediagnostic: AM6PR0302MB3366:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 hrDyMI8Bx5NiKhm6A6z7+ahbQRy8dORgZUopgkCDFSxAmEk6gZSliftCEwbCAaRNWIb2SJdSp2P/l9l8FhTnnuCQsSgFPUNfGGV6VQ6njJh2m+Mkj5Cv9D2D4DuPqqIgx1xfCwkJJObiLmt4PqJMGSeHhtjjBFDsujsXQLXtzALPIPks2PG78P2MsuaHIgJiSXjOrrc35zMOiIET/ZIM7pn9phGtmA9EMs1GsDH6kGbVmtgMk3xAHwC5l8wkb5T1Chy+fF1sv2p+mILP18RwUOEJw4VP0IN+8cEh9a670Z/OMj2MQEHYFnMDptyhLvHsv0PGaq3MWkYUXcv4lKoCVWsgKK+rvL2mTE5QeBqeH9L7nJ8R9afKa6i3b1RtrBj6JjxJgG7mJ0315hrebzWuzlMzKJ5IlvcW0q8qc9Ws+1+r50S0UW7/11MnNn+EKTTAQpOhOq8FHrwN/JNMGiVL8GkUO7lxicNCXpobpDfSW4iikjUnqBcLUnChlGczQLXPSNAPPClXguQXu67xpj0vAebHpmX2buNib1uIqNshmP1xbtEbVr5CqcpRjjPwis5/EuePjCZPLnIFM3ovFm23k7ceqcDhQaIEYF5IabtMIahK87MwvOvawc4dlQVAWnuJkyEO690rHF1aFNUd/CnQQUMGM837mfO3r5cBsStp5pJKJ1FWEGboQ0jxXvME+kbqZ22ppM2anp+QDxzaEfVe6/B91YPHGgXwiG7UY7oSP258LNuC8WxDcGqs9rhoEClpf9uXrBROlXMaKYEJiFJ+xFKsiVc0htdW9pnetxc9glG04/dPyidY377VdHMqtv2fccYN3c8EwENbaeXQPa+TuA==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR03MB6108.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(39860400002)(376002)(346002)(136003)(396003)(5660300002)(91956017)(8676002)(4744005)(66946007)(76116006)(66446008)(86362001)(4326008)(64756008)(66556008)(66476007)(8936002)(122000001)(316002)(31696002)(36756003)(38100700002)(26005)(6486002)(2906002)(41300700001)(478600001)(54906003)(2616005)(6916009)(6506007)(38070700005)(186003)(71200400001)(53546011)(6512007)(55236004)(31686004)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?YktjV2N4WU80eTBOUjdQVjBNcVNUS3Fqd1VqODZobU8yYXhrbGRxWDFjQVVX?=
 =?utf-8?B?KytyMXdxRWgvT1hYNlVTUVJOTzZqTnN0a3ZMaW1LV3k3YWUwMHVwb2NNR25X?=
 =?utf-8?B?dVNMM2lpbjA3SzU2K2VueG5PalFlUzB2cmpXT2xSQi9YeEpqZnlJanJXd1By?=
 =?utf-8?B?Zlo3b1dDcXlCWm96d3hlSlgvOGNFUTdJOXNtMmhoUkxwMDhEa2JRYXhmTXFj?=
 =?utf-8?B?c1VyVUJBTnNEM1V5TTIvdEkzZHRmUW9UeVVQSmlHL2R4L1QyUWpha0UvODRw?=
 =?utf-8?B?S3Z0RUJjcmFCM3RsTVE1M0FqNFB4SlRJYzcxTDg3RDN0QjE2dE1nOWNocjhE?=
 =?utf-8?B?SHhCZGU2VVZpditMbGdTVG1ZcDlBS3Vud3h3aWZyanE0ZS84eC9henZlRmhr?=
 =?utf-8?B?VlRadUdMK2RObVhRM053V1BPUU9rWlZEbUtDQkJveWxXSC9pNFpTODVuMFlw?=
 =?utf-8?B?enRsRHNLZ0lXR2tiTldEQUZPNGZlRzAxUGF6amZZUzBmeVo1aWlsbFliVytt?=
 =?utf-8?B?a0ZYMWV0eU9vdjc2ZExxNEgxUnVWcDUvNUdTNXhVMlN1enVFMys1UEhzU2pq?=
 =?utf-8?B?VElHNHNvSCt2MXppME8wZ3FaUlFCOGcycEhUWUU2Rit0YmFncVdWY3FwS1Zx?=
 =?utf-8?B?UnRCYWRTYmxjQk53czlhaXhseU5PVGIrbzFPblBJUS9LK05rS1pjaXBoeUtG?=
 =?utf-8?B?amV4SDZ3NkZZa1ptQmUvcmFQKzdqZFExbCtGdURrcFFick1uYmdreFZxTWZG?=
 =?utf-8?B?R21mU0syNVpIRi9wZUxtZHVxRm1BZTA0d01QWmNqSGV5ZnIwVWdIdDBVRThp?=
 =?utf-8?B?WFFXTFNDWkVPMG5hazdIRnNycmEvRWMrRkhxVS9yc0xDQUJveGtDeXVFRE1t?=
 =?utf-8?B?d0xZVW9pcW1RNXBDYS94aURFeVMvMXhnVWlxTW1WZ3dtWjZLRFZrNzY4OEFq?=
 =?utf-8?B?Ty8vUldQY0NtUERLdlhBbTd3UzJyZERXdmo1WGlFWHdwNVd1cExjWjZvcW5y?=
 =?utf-8?B?MWpHdHZWeVhiNHNkcEZPYTlaRU9nazhYdGRyZXdzY2RPSHJRSVdJOXF2YjVx?=
 =?utf-8?B?QWh2bDJPUDBudVZqd3haYVl2WmNvcGJQUDdUZEt6S0hwcmwwejRWQjk0Q0Ux?=
 =?utf-8?B?a1lVbHhIZHhSem1Pb3VtQzNKckxIRHN6SklnQjhpRy9KUnJlRW1NSzRpWU42?=
 =?utf-8?B?aWNtWExEdERoSUM0MVdUdFZhNWFoMWlDYStDQzFtamsxMTR1d0duSGdjc1dY?=
 =?utf-8?B?ekowWVJ4K1NRcW5MSXkyLzNDV3hsaE1VcFBHbHlPV0xLNytPSHpmMXNQbVUw?=
 =?utf-8?B?Y0R4L0dpb0RHaVB3NzIxVTJXZEcxZDdGd05iTDFkYjF2QUVLMDBrLzMwTUl2?=
 =?utf-8?B?YUJCSXRSWUo4UVRTL1pBNXFZQ3N1VXFWWVpUeXRBdzczTCtxVWdrVFZIUkNq?=
 =?utf-8?B?YkZHNGNveWVBZ3dYR3N4SDRGUkhEU2libWphOWl1MVRkTUpGWU5wOFhwRGRR?=
 =?utf-8?B?WXp6bm45N1RUSWJjeWRNT0tFd2ZJOTM3UlZReUpuUThQSUtFYUxlL3llUHhm?=
 =?utf-8?B?TWNpNm9FYnVmekNGdUhCWm5mSUl5TThIZFYySWowWHBHNGtVeVVKNktDa1cv?=
 =?utf-8?B?eVlmTGU3cWhZaFZJbXZwRHo4ZlBqWTZ3R1BUNkpoYVBsdjdyTXVFK1YyWDA5?=
 =?utf-8?B?Q05Xc3pMZnBlUC9TK013VEw2Tjd1dzAzUlBRc2NqMVErbmNRVmNCUjJrNHhs?=
 =?utf-8?B?dTRiOXRTVm0rTWpYTkRpb1luWk4yWmlDMjNFL3pYNENEaVV2dm1qcXZ0SnJS?=
 =?utf-8?B?TW1wQThSWkd4YmsrcWI2MG4zUmk5L1pBOXk4RVUrbkFDL2JxRUE0b1ZsUUM0?=
 =?utf-8?B?a2RMOS9FaGViK2h3cEVPWnVEa2h6b2Q0TDlkNStJQmMvSm5qNzB1alNlM2JO?=
 =?utf-8?B?VkpJeE1FYW1XWnR3Tm9md2p0Q0lNMmVxL3JvcHNiNEUzNW0zWTJ0djhzc1lN?=
 =?utf-8?B?bWQyRVBXVW9oOXAzUGRzWHFqaFJmYnlmN3drTW9nSXlYeHgrVGFkYnNxdWhj?=
 =?utf-8?B?a1pXTm8vZ0htTmwvd1NrMkd1UHAvYUFJNFllYWpjV2JiM1ppWHR2dnl0VWtZ?=
 =?utf-8?B?ZG1nK2UrWG1DZXE5ZDZvcDlyUWw2SzJ0Y3N2WUt3WjcxUFgxYnNjQktwalJt?=
 =?utf-8?Q?yAMZ3cnCTXqPka85bknMU/k=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E93EFA2ECFF1D04F8D3369F136A7431A@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR03MB6108.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ff0b520-fdde-4a55-1f91-08da76c544dd
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2022 09:31:26.2167
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: fAiXNKd1WmWg/RAvFMhJ+TUc/k5ePTqVy70RXZ8/ZXavj63ZQuNKfL557EQioJAiTxmZDsA2gH10tdkRX1M89D4kDVnbrYaxtJ+EFVFjPBY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0302MB3366
X-Proofpoint-ORIG-GUID: zkfXll1RaxVMrSrpW03yEj170XKUn1mN
X-Proofpoint-GUID: zkfXll1RaxVMrSrpW03yEj170XKUn1mN
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-05_03,2022-08-04_02,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0
 mlxscore=0 malwarescore=0 priorityscore=1501 clxscore=1011
 lowpriorityscore=0 mlxlogscore=999 impostorscore=0 phishscore=0
 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2206140000 definitions=main-2208050046

DQpPbiAwNC4wOC4yMiAxMDoxMSwgRGFuIENhcnBlbnRlciB3cm90ZToNCg0KDQpIZWxsbyBEYW4N
Cg0KPiBUaGlzIGNvZGUgdHJpZXMgdG8gc3RvcmUgLUVGQVVMVCBpbiBhbiB1bnNpZ25lZCBpbnQu
ICBUaGUNCj4geGVuYnVzX2ZpbGVfcmVhZCgpIGZ1bmN0aW9uIHJldHVybnMgdHlwZSBzc2l6ZV90
IHNvIHRoZSBuZWdhdGl2ZSB2YWx1ZQ0KPiBpcyByZXR1cm5lZCBhcyBhIHBvc2l0aXZlIHZhbHVl
IHRvIHRoZSB1c2VyLg0KPg0KPiBUaGlzIGNoYW5nZSBmb3JjZXMgYW5vdGhlciBjaGFuZ2UgdG8g
dGhlIG1pbigpIG1hY3JvLiAgT3JpZ2luYWxseSwgdGhlDQo+IG1pbigpIG1hY3JvIHVzZWQgInVu
c2lnbmVkIiB0eXBlIHdoaWNoIGNoZWNrcGF0Y2ggY29tcGxhaW5zIGFib3V0LiAgQWxzbw0KPiB1
bnNpZ25lZCB0eXBlIHdvdWxkIGJyZWFrIGlmICJsZW4iIHdlcmUgbm90IGNhcHBlZCBhdCBNQVhf
UldfQ09VTlQuICBVc2UNCj4gc2l6ZV90IGZvciB0aGUgbWluKCkuICAoTm8gZWZmZWN0IG9uIHJ1
bnRpbWUgZm9yIHRoZSBtaW5fdCgpIGNoYW5nZSkuDQo+DQo+IEZpeGVzOiAyZmIzNjgzZTdiMTYg
KCJ4ZW46IEFkZCB4ZW5idXMgZGV2aWNlIGRyaXZlciIpDQo+IFNpZ25lZC1vZmYtYnk6IERhbiBD
YXJwZW50ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4NCg0KDQpJIHRoaW5rIHRoYXQgcGF0
Y2ggZG9lcyBjb3JyZWN0IGNoYW5nZXMsIHNvDQoNClJldmlld2VkLWJ5OiBPbGVrc2FuZHIgVHlz
aGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQoNCg0KW3NuaXBdDQoNCg0K
LS0gDQpSZWdhcmRzLA0KDQpPbGVrc2FuZHIgVHlzaGNoZW5rbw0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 09:40:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 09:40:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380943.615399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtod-0007rI-1c; Fri, 05 Aug 2022 09:40:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380943.615399; Fri, 05 Aug 2022 09:40:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtoc-0007rB-VA; Fri, 05 Aug 2022 09:40:22 +0000
Received: by outflank-mailman (input) for mailman id 380943;
 Fri, 05 Aug 2022 09:40:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJtoc-0007r5-1Y
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 09:40:22 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70049.outbound.protection.outlook.com [40.107.7.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f431e94-14a2-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 11:40:20 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6264.eurprd04.prod.outlook.com (2603:10a6:20b:b7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 09:40:19 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 09:40:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f431e94-14a2-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hIrMdF494dLDqEnDhO1s28j7kXzmqMP1rOEDYnXgtZgNHpJWS5HW6yo7B9tp/XcFolV7pdRWBCih0MHPU6xNG7yB7yry6Ox09h9cEYzoXH/J9Z456iY6AMGntVGJGjc17WIE2aNPG4uWmkYqTyq/TSTJl9H+E6KcTrNxFdMz7nMCh9VZfzUqueK9rUxrT/QJbTI8DRrBDohBsW4t5GLYwweiiRN7tMb6CVWFPFZUYFX0PdhNJMAhzbVwUirRnuBWpBLPV194CQ6+g0ywm9ETcEN8VV20sps/IGAKHkJSOphjJFbQV7Ru6sbD3KVMTsnuQk9M+//dDkaUKlmmBXeayw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RQtI/an3OrELNwPmGg3DJboBXFRJixjRkjtOHlz8FZs=;
 b=dwg2+k1kYYcPzHqZMQWakmY6HTVAqlERuk4BCzdyafE+Ol5cisBgY5Dhaiun6VsmYubk640pOiXhsQnQPHJwVOozKO1PQbBxO73A8DNdCG4J+gN4jonVPIJYFdTwAZH4sYFWtmPB6MlwpP9womWFcR2Zl8N6V8/tffp0HJva7gix+EZQP6mqRrJR7Kp0n5TpckivG/apo2tlGjMD8uUcsmqw1+sMFDWqhXRVstXZrjsvnkK2UExXD2xrD+IwJa1+EAy1k1QkW5ohryS7z4xcowPdzN6zWsnL84KZobKX4KGbFRj/KFW+9lOEbrNGJVe4pEpgp2BF0pp14TrT0tPhxQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RQtI/an3OrELNwPmGg3DJboBXFRJixjRkjtOHlz8FZs=;
 b=ndZ3CdY2i2n6VyvfomjzpJwo1Z6OjPBCj5HP1NCdbtRyHut0qQcAUBi1hTArBdxCCWEFFxuTNORH/BrNyU2kj1J6sQa4JhGqWxTB1D7xGIeqBAai3V/qJvkvQNdtI/qmF05iuTKnX3iZJlRLmTDmgnittAfhv6WyLqRV9wqqkVSTYFUB1rJS8fqOL1XQMiXQnPtsEBPYBoVIe4uleN0AKUsGwf+jNP83/MA7nhtReNaezMhkR7QFbJW0RIJBDASjNC29yGiEyxdJ6owZU9v+egV2PaT5rp3kji9gCVoAF4/fQrChGJ3K35aepm66bIHw34ypsGowpEYIJonbIw5NSA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a02dce79-5508-542b-903b-1da0b7f63709@suse.com>
Date: Fri, 5 Aug 2022 11:40:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [RFC PATCH 4/4] x86: Use linkage.h helpers to add tags to symbols
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Jane Malalane <Jane.Malalane@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-5-jane.malalane@citrix.com>
 <554f0d5b-42a2-2640-32bc-69db1acd759a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <554f0d5b-42a2-2640-32bc-69db1acd759a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 56d9e944-5134-45fc-9ee4-08da76c6827b
X-MS-TrafficTypeDiagnostic: AM6PR04MB6264:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tHUBlPn8WruQGF5JogplSsYAgyHQCjZ2RLL1d5JZffJsx//bx9PK9s2ZZ607Dgl6B6jth7IJFM4i9Y+6wkqP72xIJDc2tA36eJw5PgFPeYszPnLAoA0X7OZr/n/1ullzJ6Y6McxdzSMtnRy5Awjn0j5L7BQ1jPobDGm7DJNdut0jSLNQBaewL/hxa0gI6X0xf2YfQtIbMQKLqXZhwQdMVhWxLc8gxSuHeQQ5+amfylHfeay2DA2X7pObH5F/Nu1+rz/oW+dyT/TQjPpNpGFShoDOHeD+tbcEZjM91Tql1AkPuAPe3QxjMdQ/D1635GBawd5dpLz9i3b6TNzSA8Vz1PTjAA0HAcZ+xwHCvRugCMYOHNVkjmfJ2X4QmgSDknS6dNiL0sfH7+j0+FLJ4mf8JO32namgw2yF7x4slbZjEVn9y+KvWNn9XKydJxXP8y3aDlKrmG1sW4E9NSLEI5xfyQEFbP3qwYxGroMDN1F3nYtmaR07eenlDH1R/3bIY5ITnhMcp3BgwNSsVh8iGSmzLUOkD2ZrZHajd/yM2ZMZbfurBGXbcZDV87fketSQQCMOsJEQUvXAYyQlHJ7WeJFuwvIzWkZMKZAvuwXikmmwOLNLRJUldFWLPx2XDVVjmq51CAFAq/pLGyJ8JduJBs2WZt9QzqKh+828yTTQe2PLegp5evD5MfMLCNmUKOKKlBCVXLG21FF+dDZT7SSgWOHRULHqXa9IF9D/m1JMxXNzrZbtx4741Y9fzBR1hAeFQVKYxqpZH8zU4kjKsk5aTwE/EaCxET+p+MJdcwi71DqYaowvotbqYWv8S31M/c3hZ3e0zlc4444F1CF5UlezhZVJog==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(396003)(346002)(39860400002)(366004)(6506007)(110136005)(66556008)(36756003)(31686004)(66476007)(4326008)(6486002)(54906003)(8936002)(316002)(478600001)(66946007)(5660300002)(8676002)(41300700001)(26005)(6512007)(2906002)(2616005)(186003)(86362001)(53546011)(38100700002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?STEvSDRUVjlkSVZmd0Y4dmpPY2hncExaTXdCaEFXQkhtOWVieTBvSW9ZTll3?=
 =?utf-8?B?K2xzd0kyUVluMjRiQVQ2Q1FrcXNPVXNMakloWFRlSjV4NkFhb2hEVmdHU3ZS?=
 =?utf-8?B?RG5sQXltc0k2YTRMS1dlYUNsR2QwVjNHK2pBYWNyb3JNVEhTS2tPcEFSdDEx?=
 =?utf-8?B?ZDM3ZWU1RkdUcStMcTJrUzlxdDRJNG5wOEVqRnRGY1VSVDQxaWxMKzU0ZnB1?=
 =?utf-8?B?Z2c1ZUVROEcvMkpPLzFkaG1oTzcwMnhxbjVaZllCUmZ5Qk9mVkhvYjN6Vzd0?=
 =?utf-8?B?M3dlMitNLzEvRFN0cnZqVW5BSFBidWl5ak9sd2c2U2R2MldtMG85NGxpWTZG?=
 =?utf-8?B?QmFNVFl0U2FJMjhhTU1DVzNOWTJ0VTIwZkhDODhPTVo3aFBEWUIxQXgzRGlF?=
 =?utf-8?B?ejgwMWRYeWRMS29lMjVvWWV6VWxaT2M5bGUvOWxhZjB0bm1vbGhtb0ZsWEpp?=
 =?utf-8?B?NTBacnJUUUpneU9LSnVycG9HZVdqY3dzNWdSV2Z4VHlrK01TYUVFMHBoZ3Vq?=
 =?utf-8?B?b0lDdDNUeTlDaDhRK2JKVVJLWjJ6OXV5ZEMwZGFUQURiS3h2QzUyT1ZHdmJO?=
 =?utf-8?B?aG5XWkd2S0lJUVhXV3NtZWVUeENjR1cycXBHNWE0WmhYZG9uaWVqWk9pZW13?=
 =?utf-8?B?YkFlMFAxUW9Qb05yZWRMS3l1NmZ4SmlZR000djRiWFlnMmFLekpveTVsbUtn?=
 =?utf-8?B?VGFtZ0Jpb3dEN29lZlZTdHY5d2h5V3FZR0dLK0dWM0pUVkZxQ25GLzhpdGhW?=
 =?utf-8?B?OXBFY0NwckdLSklGdyt0b3FBTnFzWXg5REFuK1lLVC92K2xrNndJRWkyWDgy?=
 =?utf-8?B?cGo5cjMxUEV2WUJ4VkN6YUNXUzlwOHdiMmg1QXFqSjJDbC9Xb3Z6ZFVPYjN0?=
 =?utf-8?B?N2NjNUF1OHJ3ekU5VlFBVXlvdVdOdWx0NDlXSUdmcTZ2Wm1CNzBxcW96MkFu?=
 =?utf-8?B?R1NSVHlUNnlGNVZLMXZjck9UM0VRdmpjUHEzYWNSRXcxNlA2b3FtTmo4d3E1?=
 =?utf-8?B?bWYxeGVZSm5PQnpEcDJXM0s0aGNza3Y3RTlvOGZxZlUwMWp6MU1ERG9RdVp5?=
 =?utf-8?B?SlRiN2RpQktwUWdaSklzZktiVE9sb2Ura3BlMUtwWDArZ2ZGbTJmMG11SGs2?=
 =?utf-8?B?YzhycHBDZ0x4NWNWQ2NqelVCNjZydkRjSFhvb1hEdFdVWDMwQWJOcmxNS2Z5?=
 =?utf-8?B?REROc3dhQ29ZTGlQU2o3RUpRdVhPZDE5OElFNkkwbnZqNEN0THVuSmlRcDVO?=
 =?utf-8?B?dWozY2w5NVo4NkhEenFuMEQzOGhBVDdNbE9zSHFUbm5KTG1iTDdiU0ZIMmRD?=
 =?utf-8?B?Vm96cmMwZ2RiSDM5bEkybER2UkpQQzlZbmZCTEVBVHVuUWgxWXNlc01ZOXVX?=
 =?utf-8?B?aXVFbmNqbTlScEl0aWVzcG54aXV4N2NYNy9YWVl6bVlxMWYrdkZtY1dlY3lQ?=
 =?utf-8?B?WDRNeWhHL2M1VXE3T0xGcUZvaWVuRjZkZHhEL2lqUys2WG1mZmpOeUVrR0FO?=
 =?utf-8?B?MTJZTUMwMGdKRG9CZ1NkSXlPNGxnSlJ1SFlCWm4vMXoveEpVbG9RRG5MOGw0?=
 =?utf-8?B?dXg1RFJLMm1pdlgyQlc0Nld0ZVFhcnR0V2tGdWRWTzkyeE1nUTZQSGYvWkU0?=
 =?utf-8?B?QitUV3MzOEhVQUFsY1FFWlJTNkI2YXlLbGV3czNoM1hYRHZGV3ZFOHNPMllp?=
 =?utf-8?B?QzVaNmNmSGh0MkFIMXdQbE1yUkpQclVBYk12Snp4OGxCTWJDcjl4TmRHb3pF?=
 =?utf-8?B?N3RtYk1OSklybWh4aDQ4ZkRuMGc0NkNReTNzazI1MVhGdTlpRE5pUVZIRXBW?=
 =?utf-8?B?USs4L0hIMVIyVndrdmdNS3h5cUkvYS85M2c2NW5wUHVjT2Jrd1lHWlVhZnha?=
 =?utf-8?B?UW9Sb00yMU9vbmJNQnp1VnYxWk5oWE9TeTdzbnQxdllKbERTSnNYODNtQ2d5?=
 =?utf-8?B?WkJRMFQ5OWkvSklhZUdDVzA3QkdKQk4ydm5ORkJ5a3lHRDhKS0tDTytZbzJX?=
 =?utf-8?B?Rzh5Vzl6OHRhQ2dRMnVod1Q4bk5NbWY5eXFsd1krWDFvb3h0ZXpUY1RNRmdC?=
 =?utf-8?B?eE45WjBtTmh1dmZXeE91ZjVoYTRybHhQSi9yYWpOU3k1SVVCZ2UrTFdDWjhh?=
 =?utf-8?Q?aoJYqFQwarhF+y/L5Lb8xhJZF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 56d9e944-5134-45fc-9ee4-08da76c6827b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 09:40:19.1869
 (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: xpI5euIfleC/Qrun8uNQEQiuAAPgBym4OaR1chA5W8F2W1ri2RP2RVubxAFYjk/QOoqcQJeAkk3WECKC602txg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6264

On 04.08.2022 21:46, Andrew Cooper wrote:
> On 04/08/2022 16:04, Jane Malalane wrote:
>> RFC: I'm unsure on where the page_fault symbol should end, i.e. if
>> unlike current code handle_exception_saved should be within page_fault
>> like handle_exception is or not.
> 
> Jan: we've got two examples (page fault, and NMI) which don't form any
> reasonable function layout.Â  Both of these are fallthrough into
> handle_{ist,}_exception.
> 
> I suggested labelling handle_{ist,}_exception as the main symbol, and
> keeping {page_fault,nmi} as small stubs, because we want backtraces to
> stay the same and not report {page_fault,nmi} for everything.

I.e. the opposite of what the patch currently does. That's fine with me
in principle (sadly there's no STT_THUNK or alike, which might allow
better reflecting the purpose yet still not marking these as STT_FUNC
nor leaving them at STT_NOTYPE), but the small stubs then want an end
annotation, so that their code is covered by some [start,start+size)
pair in the symbol table. IOW I think that as a final result (not
necessarily right after this series) we want all code and data
contributions to be covered by such a range. Which in turn means for
this series that _if_ an area is touched, it should be brought into
that intended shape.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 09:51:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 09:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380953.615416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtzZ-0000zP-48; Fri, 05 Aug 2022 09:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380953.615416; Fri, 05 Aug 2022 09:51:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJtzZ-0000zI-19; Fri, 05 Aug 2022 09:51:41 +0000
Received: by outflank-mailman (input) for mailman id 380953;
 Fri, 05 Aug 2022 09:51:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3gIk=YJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJtzX-0000zC-Ip
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 09:51:39 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 311a4b6a-14a4-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 11:51:37 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 36386320039A;
 Fri,  5 Aug 2022 05:51:33 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Fri, 05 Aug 2022 05:51:33 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 5 Aug 2022 05:51:31 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 311a4b6a-14a4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659693092; x=
	1659779492; bh=LJLJk+cfWSWZBIEjxijUsxllR4/JDRgxszeltZAQQ/A=; b=r
	GMCCFYgboI2WajOsKyUr/lXjWpLQaK9Vr41uXvSld9xGzoYnJQjBZ+JMqgJUTZMl
	A648D4TqTG3Xdkx3oFR2buwLOXWIDpUenoZgKiL5o/8JeVUCVnMHbufzhqsJTnOF
	fA48pLY+eciqqYk5j19/gqKB63O3VuHXMpA291TUO0FlF3a8jSzJRUSofJNt2j8z
	yq4NHcejyfozbFZtyFDp+cB/s2tec562J1sUUO4qXpdXc1ZWEhfZ5S0J8L4kts7m
	9KM3V5OKLztg8fz5dpK3dbvpkHLp0dYZ+EOufQVdzBfuRM6YwPVqUcNYKxOwo+fV
	Wo71KENrfqUeR7TzRK0gg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659693092; x=1659779492; bh=LJLJk+cfWSWZBIEjxijUsxllR4/J
	DRgxszeltZAQQ/A=; b=lUe9jyioa+qlHb+pP2jsLkQWdqtjgjIhT+tLMMB6SwD9
	GS/YjlDe4pSG3Vb3zIJYd5ZPUUMWB2Retxyk6f/e5LBa/4fTDYc+M9OGc5V8eIiT
	aBdBFnhBJW19VIxo+FcIXPmNCRLAsByjJzn/5GqF9UGxsJfzw3y3dBHc+MKmxqs4
	6Iwp17R7E35GuP4vGE89YgByyrddkuxFwkklG3YjopvZG60bq2HbQZS+viYzsnE6
	Z9aXpRLqewKwDpxLRxFIS44UKCDpVxcfDv4lIyFTeYhUYuWrdowPkid20S10p8r1
	TFFwkmWbyP0l3KCGz8PoRA/zdrr4Os8POY04+keXdA==
X-ME-Sender: <xms:JOjsYnzIzpr6Ub-b6XCz_x0nvUbJmQjI2DEQwkELJ5AO7WcFMLWF5w>
    <xme:JOjsYvTgcFTfnN3RBGUMKXs7qSY7BpPNWxg94ttXqncOMZXHDN0HrdVbbiaGUGkgf
    Cv15JUEMUYIig>
X-ME-Received: <xmr:JOjsYhVYe0616vY3UYIHM9-9TVhAyo4mXzBXOJVITmi3zEhzVQmu53voPUxQUlFcQBVnNXlINeTHX3RrFDZBJPonN_fRa2IAr1Zd>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdefuddgvdduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:JOjsYhjL5um9HQQ7zJAnwc9OqbBFt_sRIu_Z3aRx4ouhJoKYSKaHDA>
    <xmx:JOjsYpDNHzhPI0P7zPOkH6Si_vaUZ78jrWs1NVqsrUNRbLRYPo9Lrw>
    <xmx:JOjsYqKC4FmJFvCnET1b39tCW1yy3oBOw-o1a0VzWLyBGKCcQnZLmQ>
    <xmx:JOjsYs7QB_Ek3VWTfCv9COqZe5lcFB5uZfVwGw4WAwSOfbr0woa2Qg>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 5 Aug 2022 11:51:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Message-ID: <YuzoIAh+scGcDY1R@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <04256d0a-79a1-56f4-d092-de78f629c7f6@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="ypQ8S4xIULrb65UQ"
Content-Disposition: inline
In-Reply-To: <04256d0a-79a1-56f4-d092-de78f629c7f6@suse.com>


--ypQ8S4xIULrb65UQ
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 5 Aug 2022 11:51:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger

On Fri, Aug 05, 2022 at 09:23:32AM +0200, Jan Beulich wrote:
> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> > +static uint64_t dbc_work_ring_size(const struct dbc_work_ring *ring)
> > +{
> > +    if ( ring->enq >=3D ring->deq )
> > +        return ring->enq - ring->deq;
> > +
> > +    return DBC_WORK_RING_CAP - ring->deq + ring->enq;
> > +}
>=20
> Doesn't unsigned int suffice as a return type here?

Yes, it does.

> > +static int64_t dbc_push_work(struct dbc *dbc, struct dbc_work_ring *ri=
ng,
> > +                             const char *buf, unsigned int len)
> > +{
> > +    unsigned int i =3D 0;
> > +    unsigned int end, start =3D ring->enq;
> > +
> > +    while ( !dbc_work_ring_full(ring) && i < len )
> > +    {
> > +        ring->buf[ring->enq] =3D buf[i++];
> > +        ring->enq =3D (ring->enq + 1) & (DBC_WORK_RING_CAP - 1);
> > +    }
> > +
> > +    end =3D ring->enq;
> > +
> > +    if ( end > start )
> > +        cache_flush(&ring->buf[start], end - start);
> > +    else if ( i > 0 )
> > +    {
> > +        cache_flush(&ring->buf[start], DBC_WORK_RING_CAP - start);
> > +        cache_flush(&ring->buf[0], end);
> > +    }
> > +
> > +    return i;
> > +}
>=20
> The function's return type is int64_t but the sole return statement
> hands back an unsigned int - what's the deal here?

And also, the only use for the return value is comparing to 0. So, yes,
should be unsigned int.

> > +static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> > +static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> > +static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> > +static struct xhci_erst_segment erst __aligned(64);
> > +static struct xhci_dbc_ctx ctx __aligned(64);
> > +static uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);
>=20
> I've been trying to identify the reason for the alignment here,
> compared to the other buffers which are no longer page-aligned. I
> haven't even been able to locate the place where the address of
> this buffer is actually written to hardware; all I could find was
> the respective virt_to_maddr(). Could you please point me at that?

It's dbc_flush() -> dbc_push_trb().
And indeed, I think I can drop the alignment when it's moved into
structure dedicated for DMA-accessible buffers.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--ypQ8S4xIULrb65UQ
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLs6B8ACgkQ24/THMrX
1yx8/gf/f1YYwcA5SaLOXS1ImRMCEPWqUBcF7C4t807WyumVoKvjGO1MSSnjRtq/
Wpy2uh+lvu6vDgcepX51VSAPEcf20ljeP6xZkdKN8jOo8diy7OWFBtUhIkowzW45
lXsrfGpkZcsoBGEs333Ajt2lUywji03TdXZXNXAMuT6C6pRc6eK1fyJ5n/xjpSNW
7Xdbz6ez4rnO+ffQWWR8cyrVe8pdxN+1RCJlA4y3ENH7RcF0buq34bQ1x9R0BZaw
GsYcuiw+QhKZfVdn4BM1Wl4Q3jd+LLIBX6o+t+x7MksUnMP3KW+oVMyAFfw12SOQ
ageedWevrTTXEUWjFBb1nOtZexHveg==
=M/Dn
-----END PGP SIGNATURE-----

--ypQ8S4xIULrb65UQ--


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 09:54:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 09:54:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380961.615427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJu21-0001ZQ-H5; Fri, 05 Aug 2022 09:54:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380961.615427; Fri, 05 Aug 2022 09:54:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJu21-0001ZJ-EP; Fri, 05 Aug 2022 09:54:13 +0000
Received: by outflank-mailman (input) for mailman id 380961;
 Fri, 05 Aug 2022 09:54:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJu20-0001ZD-Di
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 09:54:12 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150084.outbound.protection.outlook.com [40.107.15.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8dafd643-14a4-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 11:54:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8422.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 09:54:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 09:54:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8dafd643-14a4-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kMGVRymkrfxwSS0pVaEyppXZmz7+X2BedycRW4mpAQcaKBDvfoJfDsHZm7bPkDQDYDO9O7cOjrj+AnZ5NURrRqErliYwCTQktWI8bLExR+yH6RFjBaENokPLqApxKUElELFlKfQLiJiFRy82MRL4mFrOkN4wf4zaP0E8BcqOcSQKcFivjFPlO+CQ9WA5MAI8d2jQjEvIJmN9frXldcXyoG+9uzu0K9amEZnJMObdp6BQU4tOADS2L0nYNX+xGt1ov3pDgph76br1wr2EI0MUD/n1yp23o4gXChICn+K3HKP3+jw0IERzSmPOZJyZyjhadQb/ni/fso6A6MM9Hjhqtg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wGqsSwqv9QHIwgjwqqQ6GoZ1T/TSyIoK4Ng2iDuMqxc=;
 b=ldpHcLWbFtwwfKiM3M1ipf//3pYBvFMU1+JL1lHDRmm6Zkdxq0UZKiBevScGcCJnoPsVZY7Ia0XBnidnSuTt5xzCB4zm4A9JWHiRRW0yqjGqCR7TQhPEp176y4njMM93Lih3CtfanZmVgWCFrIVKozqHeonOL3NMy6UnWjCs6DE037OWszc9fZsqLv2D6LeazF5boFKTDBSwnLagzYmEdO0mq7wl8IiHLu1lFX4yQ/zMFas14mxFrtPdWxT6N/i6dFH+Elp4FQomki8PGVgVKHTxHqMOriLGuGmcoyK9WR9go/q3IJ/bzzpyjnui/JoPVZ6yCKScItMWOdfUQnISiA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wGqsSwqv9QHIwgjwqqQ6GoZ1T/TSyIoK4Ng2iDuMqxc=;
 b=ft72XHSEcLSAY/8VO3fh6xx+/Lh+nAsnc9Wnuzxwrm5hHoty14So/oOesXD6D6p3sw0QKRzsPVAkjhmPor54CsVhflg5Fe8+dVda1Kk3Dmh3/VNWY7CsnxueqvcfmAwIVR7ZP+CHLH7S9F2I05I8cpzg4G/TcEmdCkAuKVLNv46847usLzMrbrHqkZlcX5pm5LrPLjWwk+x8DLlHzGoqc6StyRp4Vpx2SENwB4rhz9M7ztOr9DHMf/RdUX52odx4BMejfVzIvVBs3Crp35uzLj1zE6H65PJM0Ncdj8ICHhnIV2PKQq3hCcXNhW7Bg16voObKTR/nRWqkyR/lQpL/Og==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bec18d21-5823-0108-e257-8e4732c6d1fc@suse.com>
Date: Fri, 5 Aug 2022 11:54:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <04256d0a-79a1-56f4-d092-de78f629c7f6@suse.com> <YuzoIAh+scGcDY1R@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YuzoIAh+scGcDY1R@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM5PR0101CA0016.eurprd01.prod.exchangelabs.com
 (2603:10a6:206:16::29) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1d891722-61c4-4ed5-985d-08da76c870e8
X-MS-TrafficTypeDiagnostic: AM9PR04MB8422:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rsST+M0qi13Wn96D2wOqGoLMJUsxSghoRVR8a0yZfL7dUTUdjST1TotJ//NaJnc0YS/LDhQ7enpRXW/E73ZJxG/nTFkLThUvmLy6wb+d+IGm+dQJH7RebegfCFjKgH8ogEVycLjvSOBXEzBjsaIgK5SgcaiT4B5kF811km6co6UdBsjo+g43rXyivNBvBr2J2SMSn/eupqHeLTFwTKDsAUBLC7AZO/5yBw5Ew8d9wGdbAbRfJy1kIto7j3fInRIM54/ECheqJrv4CJL57vQuPmhNmiUyfHM6LqaO0AtaIQeMAGQlixwlHAjpU0CBUf9MhyhRpR0GiCxDYqjqOTh8xrMne2jahpzajBM8bv5YRj9iorNrqnV9Cxvw/Hkd+bqi97eQK0O3jtm6E4YcZ/jeRvSboNReWYwB4xBe768TemVLngqk85pts1jzU+5NO3kYPGCKY8CwkI8MYyoK40Iz0n942xuP5JsHaHh909VyWmKCMUo1LOZ0pzE6x+pIqT0A0E5zceqZ5mph71PIEq16CEKaO93tSQAp1E7foM3H9JcOcMh6TvF+2mfeFr1iNE30zzaICw/S3cxpOyylDZQyzsUXvoW+QtJ/++mDHZdtDSFsTljSx4VMY5Zq6tpzGML+cjna6/JPZzwLFGF2BR3V/dxOErYgTEOm+Tw8QVk/d5n9TTTwqIc+d7phsv4Rj3rw1cAmEA6iQWroeH4zo+rnsPMHx1xsjQKb0VPNmArkVNsxzKavrjJMkl8zLqieVj5hSlkh/7lf5GGHJHTNQWRIRENoEFJZJfJWka4FXQhCDhErM/UibctdT3sOXASt80vPetZuiwMd15diip29Sa435g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(346002)(366004)(136003)(376002)(86362001)(31696002)(36756003)(31686004)(66946007)(66556008)(38100700002)(2616005)(186003)(6512007)(26005)(53546011)(41300700001)(6506007)(4326008)(8676002)(478600001)(5660300002)(66476007)(54906003)(6916009)(316002)(2906002)(8936002)(83380400001)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SkhQZXFndzBORThiR3dxdktMM3d3bU52WElFRnFDV1d5N0R4bGx3SjJ3Y2F0?=
 =?utf-8?B?ajc0bVJWcWpGT3hpMTVHOWRoRHE0YW5CWkUrK2k4SkhmbW52THJEY2JmS1lm?=
 =?utf-8?B?bTNmRGNDZlZISmp1Qlc0NmFkL0VXUjE4T1NJWWdVbWs1aWVzdGhiN0ROSFBp?=
 =?utf-8?B?bCtSeEUxUUN6MVo1bUE5YlpwMEVMZ2twalpmMVRIdUNtenZlMmE1MmFCVWZD?=
 =?utf-8?B?Y1oxTTNLb2hPYmRBQ2hFd1VWMG1MMytrSzBweWRkWURob2dKUEFGbnEreU5y?=
 =?utf-8?B?MERJWUZYK0tKR3ArdzJxeFhWSGdENHRqc2czQU5IMVBIUmdwakxiQTRkaDFL?=
 =?utf-8?B?VFNvVEpOeWg2clF3bXJoL2hsb3JLMTBZcFhGUHZuc3YvVlFwQTVtLzhHL21v?=
 =?utf-8?B?VWM0dmw2Y2cxYTA3TEY1T2VZS0tXL1V0Zk9hK1RGSEYvREZ3WEEwMVp1SGVS?=
 =?utf-8?B?ZFdaaS84c3cvN0F1R0VkQjRUaWFZYTd2MVp3L2tkejIvNGYvTzdBSlduNCtH?=
 =?utf-8?B?MzYyYXo3MVZWR2V6eXEwUXZjbnZwNHVuSGYvQzdnZU5NWFNJaTNDRlpZWWxS?=
 =?utf-8?B?eXRqOVdXaElLTGR6RmsvRlgxWHgxblpsSExsQThRQ2lhZ0FpdC9OdzBrS0J5?=
 =?utf-8?B?VjBCSUpLeFpjYm9iTEh1UEpKWk5oSXNqVGNKKy8ybjhCc1pzNWFNdmo4MW9E?=
 =?utf-8?B?d2RRQ0dsOEV6Nlh3ZnhQMTRUdmtXaS90a1hiTVpGdkFNNldDSEwvMkFWTUIr?=
 =?utf-8?B?ZDdXbHlsQldHWXJlUG5xbjJRWXlwQklBQ1dsQTEvKzRuU0Mzb0s3SzBuQUFI?=
 =?utf-8?B?RE81ODAyakZmdWlqaC9mY3dacG40MmgzR0U4aVl3M04zL2doVzYxYWtsQWRK?=
 =?utf-8?B?VkxJSXdZU0RJenhWT1BJTFFLMjBZdkplNEpuSC9pWmdkS1FlcDdMTUx5Yitk?=
 =?utf-8?B?VzZveWRPelVuTnRMSVBFTUtXb1F0K0lqTFhPOFEwM1pLbDdVMHF1cjZlRndI?=
 =?utf-8?B?UlczZkZEYWUyWFYyTyt6NnZkV1BFQjJlSkpKaXJ1RzEyeDl6em9GaS82NzNM?=
 =?utf-8?B?UGEyb3RVWVY2a1pDNGxndDhaTk5KZFdWN215VnI2ZzZObXNGT20zV2w4eFNM?=
 =?utf-8?B?ajBNRFRhMlVueERtM1pET1EzSDJmY2FmcFJwL2tDdmwvOUk2cWhBR0JENTVz?=
 =?utf-8?B?SFhOUEYyOElYSXYxQzNaTDYyWEtIdTBEUkw5MVZCWHFtdmROWlp0QW1JYmk4?=
 =?utf-8?B?d2R4QmdMd0pYUEJFUVV4RDd1TDRJQTd4RXRSN09FM0VLY0VRWkFHdHZ2L3Mz?=
 =?utf-8?B?RTNGb0lKa1VxaEJLQWMxQ1I4Y0xjaVJyZHR1YjJwKzdpMTN4WnNlQm5oNFcr?=
 =?utf-8?B?OUQ0NWNkL016ZEFoT0w1R2NWNnF0ZTlZRkwzWHhGTXNDamk0WGFlL3hKOFFu?=
 =?utf-8?B?bVhQcHRwb0NZdWV0L20zRHNJUFlualpZL21QRnBHV2I3YnFzM2dnQm1sdnNq?=
 =?utf-8?B?eUF1TVNUMVQyaWNrUk1xUnMzZWlBZzgxbnZXbjR1dHhFU0VzWlovb2pmQ2tu?=
 =?utf-8?B?amtBWEQ5bWU3bVdQSWpVNUU4RjNPOUJMSnlPckRzQW9ZTndxYzBMalZJbHNX?=
 =?utf-8?B?dW1IaTBVeVlKd1MxdTdLMHhjQm9mRW1wMW1GbDliRDJRUU1tOEtySFBUZUJa?=
 =?utf-8?B?WllQY3duYzE0TTl5dE00djhKbjJHN29yY2VpUi9OUERONTFjMFRnVC9lRTdC?=
 =?utf-8?B?cVFKVGZiSm1jalQ1OG5MQXBzMkRIZDFRcFl5MFRPdWpoM0RnTStZN2N4VXFL?=
 =?utf-8?B?andGVHZzdzROeDIyUzBuNmM2Y1hMa3hWckpIb1ZWMkZxYmEyRzRrcTdIZHF6?=
 =?utf-8?B?cUtRSjc3ZkRMWnIySk1keVptTEh3dHIzb3FEaUN4SWkrQ0lLVlFFbWVpbUF4?=
 =?utf-8?B?QVl6Q2EyRWZNWURDV1ZENUJkVnRiTVRZSXFTMVJIdlZvWnBMKzU2bmtpK2NW?=
 =?utf-8?B?YXBmdnhNbkwreWJkU01QRTdYNEVoc1F1MHI5eU1IRzgrRDl5TGFDTjhXV1NM?=
 =?utf-8?B?WmRKK3NEMXJIelNQTGpBbU9HZ3RiS2dKSnVQTGVUY29ZV2l6N0hjdSsxT2tH?=
 =?utf-8?Q?DQLIBXpaEzgl0Lmx8fXY/fvI+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d891722-61c4-4ed5-985d-08da76c870e8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 09:54:08.7580
 (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: xgbnu5vui6eA5hTBUcdI1gSr99kVGGRa5v3Yb8JbLNxal1SCTAvfKmqNr0bOIpOB3Uh+d3OPP6ansVtHHdAI/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8422

On 05.08.2022 11:51, Marek Marczykowski-GÃ³recki wrote:
> On Fri, Aug 05, 2022 at 09:23:32AM +0200, Jan Beulich wrote:
>> On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
>>> +static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
>>> +static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
>>> +static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
>>> +static struct xhci_erst_segment erst __aligned(64);
>>> +static struct xhci_dbc_ctx ctx __aligned(64);
>>> +static uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);
>>
>> I've been trying to identify the reason for the alignment here,
>> compared to the other buffers which are no longer page-aligned. I
>> haven't even been able to locate the place where the address of
>> this buffer is actually written to hardware; all I could find was
>> the respective virt_to_maddr(). Could you please point me at that?
> 
> It's dbc_flush() -> dbc_push_trb().
> And indeed, I think I can drop the alignment when it's moved into
> structure dedicated for DMA-accessible buffers.

Why would you be able to drop the alignment then, but not here?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 09:58:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 09:58:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380969.615438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJu67-0002Jv-6b; Fri, 05 Aug 2022 09:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380969.615438; Fri, 05 Aug 2022 09:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJu67-0002Jo-39; Fri, 05 Aug 2022 09:58:27 +0000
Received: by outflank-mailman (input) for mailman id 380969;
 Fri, 05 Aug 2022 09:58:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3gIk=YJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJu65-0002Ji-Jw
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 09:58:25 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24766053-14a5-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 11:58:24 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id B7120320034E;
 Fri,  5 Aug 2022 05:58:21 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 05 Aug 2022 05:58:22 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 5 Aug 2022 05:58:19 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24766053-14a5-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659693501; x=
	1659779901; bh=/FV0e0EPoTxXhTPGPsSr8DnBLeXpfgvCXkQjtAfdsMg=; b=r
	pkBQTEYZTUrvelZrl2BVJE4LvyJDKPp8AggAkNdfXV7a7aNg/hOG1ZfqW1fOFsvZ
	ynVX6hQnyF1z7GdTQ0n84EPiLXAi+QTz0T7BKhPInqIrfMKSHHmL31FnIaBDWka8
	FkzRfJ62QxsYVe3wc4pBxu9DSsJZko5DL+OAFP9bhUomAfqlsX3FDHb1m02H3Vff
	ypjPMRWTWQBdBb1+hv9cx4X7je1t5tUlNyySNnseefEeLhOchs+dXMt30rblBGBA
	sPfQGmNwisndS3HvqAlRJLlr5MhUqfVfI4QO7Dz6vIYf83q4IZL3Dy8035+FsBx0
	SHtEjbDUz6a9PVP3fEY+w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659693501; x=1659779901; bh=/FV0e0EPoTxXhTPGPsSr8DnBLeXp
	fgvCXkQjtAfdsMg=; b=w9YAi0B5pEO5ieEHVT+oy422vLYwS0m0MlcRu/Uu79/V
	5m4LFlzyTfUadiGUHOeF9O8fTcGQfmBAIalUcqTz7tA2w//XoQxhwPHAyyWsS7D3
	M9OZUrER6P1xmxDrrHrUjDs88YS/NwOdp5U7jgyPSMBYsDbXLW65s+ZcDpE47vJU
	c1El6/R3PGFJATD55kLw3S8q+jYdCZKpSAPtSAAxeIuNd3IihCtDfpvuLqPiPy5B
	TqJEiuIno7+TI9nNUREMO4XE+GEyJlEHPMg6tCMEi+3IwsLjztFapMuj8NVqS4SG
	HBjZj4ZNzctnvQrN3apiaTVagOxc3AesHlmEyJI+pg==
X-ME-Sender: <xms:vOnsYgX_pmSW1-EZZoIKneppgoTDYnl9J9yo_cwZ4F6AuVxxU0Zh0w>
    <xme:vOnsYkkvy5oURuq_Avxl4neBbcr4asZhugQS1olD7oW60OFxh7ugucT41TK0Dids4
    DmM13TiTtyFLw>
X-ME-Received: <xmr:vOnsYkYQq1H8iuqDW9ELNeDAgZEyg2a5bURwGIpG7laHvDRrFAJLfJhJdnQiBDYsVZTO1aBd1gY8JU1fJTprQIGfot2-u0ZaKApg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdefuddgvdefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:vOnsYvU94G_daISZL3s8o0iULAVl3klYPTWYLvGi9UlfbS1plgHahA>
    <xmx:vOnsYqlDROrkBpxeKYuEopv7zr4KfDi_QifBVcTM5LIttgBTYmtfrw>
    <xmx:vOnsYkdBjYJncD3fh2JQ9CnLRTIUdly7dKf-1s5x3PPHuFWX7inahA>
    <xmx:vensYrBsSVbDhkSDoRTzQyZ3FdCLDlXWTrXxPWtWWl59LgYZfzFHQw>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 5 Aug 2022 11:58:17 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 10/10] driver/char: add RX support to the XHCI driver
Message-ID: <YuzpuUz5g+HtJdzy@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e273efdbf75cbc37b5c35798da7fde34877ac3b8.1658804819.git-series.marmarek@invisiblethingslab.com>
 <7d263ceb-3727-763b-0b9b-3b9ed82aa780@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Gy7n0B/hlISokl98"
Content-Disposition: inline
In-Reply-To: <7d263ceb-3727-763b-0b9b-3b9ed82aa780@suse.com>


--Gy7n0B/hlISokl98
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 5 Aug 2022 11:58:17 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 10/10] driver/char: add RX support to the XHCI driver

On Fri, Aug 05, 2022 at 10:38:13AM +0200, Jan Beulich wrote:
> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> > @@ -440,6 +442,16 @@ static void xhci_trb_norm_set_ioc(struct xhci_trb =
*trb)
> >      trb->ctrl |=3D 0x20;
> >  }
> > =20
> > +static uint64_t xhci_trb_norm_buf(struct xhci_trb *trb)
>=20
> const please.
>=20
> > +{
> > +    return trb->params;
> > +}
> > +
> > +static uint32_t xhci_trb_norm_len(struct xhci_trb *trb)
>=20
> And again.
>=20
> > +{
> > +    return trb->status & 0x1FFFF;
> > +}
> > +
> >  /**
> >   * Fields for Transfer Event TRBs (see section 6.4.2.1). Note that eve=
nt
> >   * TRBs are read-only from software
> > @@ -454,6 +466,12 @@ static uint32_t xhci_trb_tfre_cc(const struct xhci=
_trb *trb)
> >      return trb->status >> 24;
> >  }
> > =20
> > +/* Amount of data _not_ transferred */
> > +static uint32_t xhci_trb_tfre_len(const struct xhci_trb *trb)
> > +{
> > +    return trb->status & 0x1FFFF;
> > +}
>=20
> Same as xhci_trb_norm_len()?

Yes, I was considering to use that, but technically those are different
packets, only incidentally using the same bits.

>=20
> > @@ -985,6 +1054,33 @@ static void dbc_flush(struct dbc *dbc, struct xhc=
i_trb_ring *trb,
> >  }
> > =20
> >  /**
> > + * Ensure DbC has a pending transfer TRB to receive data into.
> > + *
> > + * @param dbc the dbc to flush
> > + * @param trb the ring for the TRBs to transfer
> > + * @param wrk the work ring to receive data into
> > + */
> > +static void dbc_enqueue_in(struct dbc *dbc, struct xhci_trb_ring *trb,
> > +                           struct dbc_work_ring *wrk)
>=20
> I can't seem to be able to spot any use of this function - it being
> static, how do things build for you?

It's in dbc_uart_poll().

>=20
> > +{
> > +    struct dbc_reg *reg =3D dbc->dbc_reg;
> > +    uint32_t db =3D (readl(&reg->db) & 0xFFFF00FF) | (trb->db << 8);
>=20
> I think I've seen this constant in earlier patches. Can this be
> a #define please, such that one can easily connect all the places
> where the same things is meant?

Ok.

> > +
> > +    /* Check if there is already queued TRB */
> > +    if ( xhci_trb_ring_size(trb) >=3D 1 )
> > +        return;
> > +
> > +    if ( dbc_work_ring_full(wrk) )
> > +        return;
>=20
> What made me spot the lack of caller are these return statements.
> Without letting the caller know of the failure, how would it know
> to make another attempt later?

Next iteration of dbc_uart_poll() will take care of it.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--Gy7n0B/hlISokl98
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLs6bkACgkQ24/THMrX
1yzDnwf8CLtenG3FsPkzjLFlGz5DTXFoRbY43UT33v4kFpr/hRwWjqz63i9bv02B
gIpz1t+jI4+dawnl7EOuhbaBxJMO5a/vS3JJQIwpvOVgXLuMZ37P1XnDtZerg3dJ
KfcwfG91cU01uRI8kYr8bdoa/1qUErVFpJMR4C3xmexjYAmKsg0sRXdufxEfkDDo
QQft4+ovD3gYuEI0YXUBz5iMNN+qL7WT2OMigHtwnAbSgdZbIg4heuPbZbdR2Yvi
t5Jm6Cr2esd9jg5QAyIc75cdA+pT6mwj6OjrVjdA1uQvMPP2NbcdE1cb/GTVOSS4
CaxeFdk0aBHUhBJDjF1i260YAZTIog==
=pGrZ
-----END PGP SIGNATURE-----

--Gy7n0B/hlISokl98--


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 10:00:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 10:00:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380977.615449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJu8B-0003jv-Hx; Fri, 05 Aug 2022 10:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380977.615449; Fri, 05 Aug 2022 10:00:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJu8B-0003jo-Eb; Fri, 05 Aug 2022 10:00:35 +0000
Received: by outflank-mailman (input) for mailman id 380977;
 Fri, 05 Aug 2022 10:00:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJu8B-0003je-3D; Fri, 05 Aug 2022 10:00:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJu8B-0004bl-0u; Fri, 05 Aug 2022 10:00:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJu8A-00019M-PG; Fri, 05 Aug 2022 10:00:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJu8A-0002lf-Ol; Fri, 05 Aug 2022 10:00:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l9SvBV9nVqvAMJ8n5yczWl6GFSlFgT4TBZqomFnHebE=; b=ZwBa/eghX2H2kO9pqZjuoXQf2O
	QhOb4Jn3mNUGR7vL9xaezW54wjenNlh2vgJjNFQJ40ubBX5ef/oYps7MS2cCIwz/iF4uZ7NwA/chf
	Eu64vnTEYWzR0C2XeC5Gw7vJqO3gS6nfVlmYxvnY7IrxffU7REZ7ROLxn9p9MrLHLtPA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172161-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172161: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 10:00:34 +0000

flight 172161 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172161/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 10:01:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 10:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380986.615460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJu9S-0004Kr-S6; Fri, 05 Aug 2022 10:01:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380986.615460; Fri, 05 Aug 2022 10:01:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJu9S-0004Ki-PL; Fri, 05 Aug 2022 10:01:54 +0000
Received: by outflank-mailman (input) for mailman id 380986;
 Fri, 05 Aug 2022 10:01:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3gIk=YJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJu9S-0004KW-2u
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 10:01:54 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0c1ade2-14a5-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 12:01:52 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id ADB43320092D;
 Fri,  5 Aug 2022 06:01:50 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Fri, 05 Aug 2022 06:01:51 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 5 Aug 2022 06:01:48 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0c1ade2-14a5-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659693710; x=
	1659780110; bh=FdzgW5a/85qe8nQR8G8KhuDD9ZlY5A5GrI4upZEiUos=; b=9
	GGjpY7aO3AOU9EVC6p6U5DQY/xIY8Kv3CdQ40j879EPmkFT4h56p5OWnyBiLfkdo
	ZHtS8CrI6AUAFF3bh2jqbZ+d3VXKAnle+qvGPDlDO/V22sFW1kCioVz1r5QejESx
	iRwnn2mtHTEsowYOcYTuOg8QcgNDVJ4pZ3isiPDTZKlX0iC6kWDTvdc8InD3Tcdy
	LJGnKycBwdrG2XlgK4NXvxyFAXcbViemIL2ltTfLIQD2nQ56BjJ3sU1GDGRekL9l
	xC+2z8gCIvhSQN93ylHwqzNYGGqMn6a5tTUB+D0rCdOY4f4z1FC/SbtAtCeQpipp
	rU4BJHuda8O5kbExM0lcA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659693710; x=1659780110; bh=FdzgW5a/85qe8nQR8G8KhuDD9ZlY
	5A5GrI4upZEiUos=; b=r3+OcK2LftIYysg9uIkotEfGUwepSn+wA8VFDJLbCZ+7
	j8zejd2nAPnyAH8fdLgZoBFKVM8CX2T8F2cwxQt4IBJxDOzqPkVcu+nqpM+LYXbJ
	785ZPsLPkMfW1uW2GDNZxldF+C7XPHEw2WthlIF41H0m0EzLalY3bxgIz7VhMyyR
	rPDpS5+aVezy4S4hW4AqK+f3KYDEAceaLSN0pcwhqx1tsL4RHJ58W593QYMOY7HY
	D3IB4lGZKQUj1ja6PL+mOj5CJALuDsehnKNJ1AqxTVxisCOCZ68ih1scysVb1dwF
	qM07oBlKBqhxz+WMzs196yWk4XnAkkzGnNU4YuWyEQ==
X-ME-Sender: <xms:jersYvrHKoVZo7_eHtQr2D0a4auWGSTBPFt7hN7f-IfGxuOotGlTPA>
    <xme:jersYprdT5Hingi8mWm7-WJp4eWy05bIIx9pnFGeacDK78NDO9ywjnMT37z9B8mUi
    zDRda-u92bX3Q>
X-ME-Received: <xmr:jersYsMOcm1rHroIJ__9MN10ehqTvPI09gji_xPcSlPGEtKXH1UEeVmrTXo596Tsuj2TPOIpAm6zmAwCI3kIdV0PJeE6ISWJGXrU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdefuddgvdefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:jursYi7neg36G0e0DTmmjT131tyFqPs5e0fWmuOOuHtO-NFkMfX2wg>
    <xmx:jursYu6Gs2eOWNnzalDdntvg_wF_p8cav34GvjuHfrYzJZXQJ1Ib_A>
    <xmx:jursYqjj-Lp_1jWd-QYatTb-wHdsLAZFKCdKOl0b_jgJaT8JcYHzwQ>
    <xmx:jursYgQRAwzhSZLsnoV57AZWJla-lSq0jR9i-MpRSj9-g9mPkVBVYA>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 5 Aug 2022 12:01:46 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger
Message-ID: <YuzqilmPM/m4LquD@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e2e536b4b3d6ef417efbc399842b58aa420c1e3f.1658804819.git-series.marmarek@invisiblethingslab.com>
 <04256d0a-79a1-56f4-d092-de78f629c7f6@suse.com>
 <YuzoIAh+scGcDY1R@mail-itl>
 <bec18d21-5823-0108-e257-8e4732c6d1fc@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="rsBdOqiikpfz+SON"
Content-Disposition: inline
In-Reply-To: <bec18d21-5823-0108-e257-8e4732c6d1fc@suse.com>


--rsBdOqiikpfz+SON
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 5 Aug 2022 12:01:46 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/10] drivers/char: Add support for USB3 DbC debugger

On Fri, Aug 05, 2022 at 11:54:06AM +0200, Jan Beulich wrote:
> On 05.08.2022 11:51, Marek Marczykowski-G=C3=B3recki wrote:
> > On Fri, Aug 05, 2022 at 09:23:32AM +0200, Jan Beulich wrote:
> >> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> >>> +static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> >>> +static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> >>> +static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> >>> +static struct xhci_erst_segment erst __aligned(64);
> >>> +static struct xhci_dbc_ctx ctx __aligned(64);
> >>> +static uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZ=
E);
> >>
> >> I've been trying to identify the reason for the alignment here,
> >> compared to the other buffers which are no longer page-aligned. I
> >> haven't even been able to locate the place where the address of
> >> this buffer is actually written to hardware; all I could find was
> >> the respective virt_to_maddr(). Could you please point me at that?
> >=20
> > It's dbc_flush() -> dbc_push_trb().
> > And indeed, I think I can drop the alignment when it's moved into
> > structure dedicated for DMA-accessible buffers.
>=20
> Why would you be able to drop the alignment then, but not here?

Similar reason as previously - to guarantee it isn't put with unrelated
stuff on the same page, as this array will be accessed by the controller
directly. But, since this patch doesn't attempt to handle IOMMU
situation yet, I think I can drop it here too as there is little benefit
for trying here.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--rsBdOqiikpfz+SON
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLs6ooACgkQ24/THMrX
1yyVVwf9EfMuoY2rbahOGHs1q4/f6cAJmOA0n3GifDuQcu3oNQdG1bmqd6n5kVXj
KFt2wihOtdKrwexBPtlnsuiQW3xg9VR2aiA7SjwsudqS6mDcf+hed62+a8U/DiSO
JgeiorSXEwbyE4CUME/LFSQwITOOEjR9EzinxxLE4o+Ot3g3dkd/YfOmp6jCQtYw
7i0ueWuf27RHAif3u5uUnn8vx7fqq6sBMcio33735ucoDudtJlwr+lcj6oNcLnlf
N1ufM3AptmJ1RYt3267jVh/n+lZVhKKfmPQV3IeWYCj0a5d8hrLgxk0+sxOXF5od
JlGdqdDoOhk0+kmxJDZ0ZRY+cKmz5g==
=0lvr
-----END PGP SIGNATURE-----

--rsBdOqiikpfz+SON--


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 10:03:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 10:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.380994.615471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJuAq-0004vb-6r; Fri, 05 Aug 2022 10:03:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 380994.615471; Fri, 05 Aug 2022 10:03:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJuAq-0004vU-3b; Fri, 05 Aug 2022 10:03:20 +0000
Received: by outflank-mailman (input) for mailman id 380994;
 Fri, 05 Aug 2022 10:03:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=quRM=YJ=oderland.se=josef@srs-se1.protection.inumbo.net>)
 id 1oJuAo-0004vD-90
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 10:03:18 +0000
Received: from vsp01-out.oderland.com (vsp01-out.oderland.com
 [2a02:28f0::24:1]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3ad3919-14a5-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 12:03:17 +0200 (CEST)
Received: from office.oderland.com (office.oderland.com [91.201.60.5])
 by vsp-out.oderland.com (Halon) with ESMTPSA
 id d34affa8-14a5-11ed-956b-cb16337fe68d;
 Fri, 05 Aug 2022 12:03:16 +0200 (CEST)
Received: from 160.193-180-18.r.oderland.com ([193.180.18.160]:38978
 helo=[10.137.0.14])
 by office.oderland.com with esmtpsa  (TLS1.3) tls TLS_AES_128_GCM_SHA256
 (Exim 4.95) (envelope-from <josef@oderland.se>) id 1oJuAp-0040la-II;
 Fri, 05 Aug 2022 12:03:16 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3ad3919-14a5-11ed-924f-1f966e50362f
X-Scanned-Cookie: 0162612eaad5b0a05cb4a8d9b4dce14a4c5e9ffb
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=oderland.se
	; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:
	Cc:To:From:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID:
	Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
	:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=Yb/sBbIP8LbZDr3FjyOxNqjI/ODw5L7fXTT/MsczMz4=; b=T+x3j63HKJVPgHfTxADZ91d4z/
	fHC3HAs+66alxJgwn7FwjK1OxjNFI1LGaQvxKozhRJK8ThlxS771tkF0A7T7V+nBaNwGORO4L9NRY
	9EV17gGxoFYMVHpdWaoIoIPEx2NfO7ieyUBs889QBowzQi0BNZFZCbwAUEflZOly/Vxn9pf7w0xxB
	LK4TlQMnq/RpPYfV9OpNSuQatXjX1n4ozyv2s5l5+THH1RHCoE/bnihJW3KD1jiM7X961J74S+Bmp
	zgb3AX5OWMwAOYPAWjrLs9aMRQN+xVOOjlxob+3XiDYato4i3sDRiHs5rOquzQ2b1sWDImEzriJKc
	3nw3tCug==;
Message-ID: <f1d3ebc5-0e5e-20b5-430c-9426aa5e4bbe@oderland.se>
Date: Fri, 5 Aug 2022 12:03:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101
 Thunderbird/104.0
Subject: Re: [PATCH v2] PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
From: Josef Johansson <josef@oderland.se>
To: Thomas Gleixner <tglx@linutronix.de>, Bjorn Helgaas
 <bhelgaas@google.com>, linux-pci@vger.kernel.org,
 Jason Gunthorpe <jgg@nvidia.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
References: <d818f9c9-a432-213e-4152-eaff3b7da52e@oderland.se>
Content-Language: en-US
In-Reply-To: <d818f9c9-a432-213e-4152-eaff3b7da52e@oderland.se>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
x-oderland-domain-valid: yes

On 2/14/22 11:07, Josef Johansson wrote:
> From: Josef Johansson <josef@oderland.se>
>
> PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
>      
> Commit 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") modifies
> the logic of checking msi_attrib.can_mask, without any reason.
>      
> This commits restores that logic.
>
> Fixes: 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()")
> Signed-off-by: Josef Johansson <josef@oderland.se>
>
> ---
> v2: Changing subject line to fit earlier commits.
>
> Trying to fix a NULL BUG in the NVMe MSIX implementation I stumbled upon this code,
> which ironically was what my last MSI patch resulted into.
>
> I don't see any reason why this logic was change, and it did not break anything
> correcting the logic.
>
> CC xen-devel since it very much relates to Xen kernel (via pci_msi_ignore_mask).
> ---
>
> diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> index c19c7ca58186..146e7b9a01cc 100644
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -526,7 +526,7 @@ static int msix_setup_msi_descs(struct pci_dev *dev, void __iomem *base,
>   		desc.pci.msi_attrib.can_mask = !pci_msi_ignore_mask &&
>   					       !desc.pci.msi_attrib.is_virtual;
>   
> -		if (!desc.pci.msi_attrib.can_mask) {
> +		if (desc.pci.msi_attrib.can_mask) {
>   			addr = pci_msix_desc_addr(&desc);
>   			desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
>   		}
>
> --
> 2.31.1
>

Hi,

I'm sending a ping such that this patch will not get forgotten in the 
oblivion.

Regards
Josef


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 10:11:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 10:11:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381011.615488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJuIZ-0006So-51; Fri, 05 Aug 2022 10:11:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381011.615488; Fri, 05 Aug 2022 10:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJuIZ-0006Sh-0T; Fri, 05 Aug 2022 10:11:19 +0000
Received: by outflank-mailman (input) for mailman id 381011;
 Fri, 05 Aug 2022 10:11:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3gIk=YJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJuIX-0006SI-RB
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 10:11:17 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f087ac16-14a6-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 12:11:16 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id E0CC832004E7;
 Fri,  5 Aug 2022 06:11:13 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Fri, 05 Aug 2022 06:11:14 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 5 Aug 2022 06:11:11 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f087ac16-14a6-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659694273; x=
	1659780673; bh=2qhs46LUf3+Xtf/2JnW6tSAg63w3kOere6vPwuH6uqg=; b=h
	MqGBRO/QV3qgCgN/6WOKDn3fp2XE2aj7Q17Kxz3Yiq9zg3oyNV/dIpuqpHrKzwRU
	dPQ+hfypZByxn8gwl7p2oeLbmuA8Hx8YSK1A+U5b47ixiHKD6BaheuP8+mWat1no
	3JrIj/VyC+0v9exc5fq2aheRNBPpJQ7wT0zHf2tpY80SebHjQNtpapUljsGB+EuH
	o2U728nn2Pbk7Tp1jOBMqHY0ytZgZEt6ecPW8KBmk+NO0arsPgZe1B85e0VioF/R
	nTWSfqSU0SEa8VxQfaGJYKrlc7zRFIlfykoTozWeokp5HdOCi1JisorV4UhG0GzQ
	T5nyfxQjdoBcaxOmZHGOg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659694273; x=1659780673; bh=2qhs46LUf3+Xtf/2JnW6tSAg63w3
	kOere6vPwuH6uqg=; b=QwTKGQS6vLcfT2r66nXMC8rM02ZFi73dwC2hrjgY1FOQ
	XMEfw8Nf8tV9Rbr4covcysCCiGVgC9eCjYCPKH81ZzSBxLc1MzG2p2DoM4sgikol
	Z1hRNS6azwecgWXNc33BIbu4QcwR9HDhHBK1BnUeMvAY1g4IMdO0QiJoQTPxFEza
	dKCRUWL7v7sMRAVY1rP9X8JXE1ljNSCsbar4hs0jnyoZI4H5N8a+139urcUNOJJC
	BSG8FGXkyUvXh/ltm3gHWhy8pi+N6pUqNj8UnTmsF5VFW+fPA4jWfIL9aIZ5tB9W
	shFEt710WKbjNLdcoBLDmL6CSuw9dE9fdrV0xWbaeQ==
X-ME-Sender: <xms:wezsYua0WNMTz9IG83lyxSdAGUPK_3FGSKsSAX2uroisv_vJVjhZpg>
    <xme:wezsYhbGSS_0tip1zEoSmIjPBytw_x0DDpD6G6R8ejjQz52i6ZCq0_KcAf1ZDtiml
    T6eA8NRYtoW7A>
X-ME-Received: <xmr:wezsYo9zCRL9MJH_pj5XMJ1PGDCzMZUpWsL4tThUr9Sab6j5Ohk7qMbetK7OdFiFEtu8hm05Xygf9pYPsFuAc1jJ1Texa_5uMUeA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdefuddgvdejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:wezsYgoakPqCnkW1uDCh9zAuJI2vfQdsoNPVdgTbOXx-sU0HAsz-Bw>
    <xmx:wezsYprWOxDI-EFndDCjDMIOke2YDBe6_i0ojoY6vWWjOp7Uz9087A>
    <xmx:wezsYuRXJ4-Gw214f83d_SQnZ5nu1ebdToNc9ZQVCXFMTY5cGi000Q>
    <xmx:wezsYqm9_YibKDnjOk_xSFELwnXY5J4ehueVZXCYBPO3gMMiuuL2UQ>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 5 Aug 2022 12:11:08 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 08/10] drivers/char: mark DMA buffers as reserved for
 the XHCI
Message-ID: <YuzsvMZdryi3GXhO@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <b35f5a68502352396cf6d95cc726bfdeb72639c9.1658804819.git-series.marmarek@invisiblethingslab.com>
 <6397ea86-7391-5044-8e8b-a3d291521028@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="H2BSgvvACpZPQrOC"
Content-Disposition: inline
In-Reply-To: <6397ea86-7391-5044-8e8b-a3d291521028@suse.com>


--H2BSgvvACpZPQrOC
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 5 Aug 2022 12:11:08 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 08/10] drivers/char: mark DMA buffers as reserved for
 the XHCI

On Fri, Aug 05, 2022 at 09:05:27AM +0200, Jan Beulich wrote:
> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> > @@ -1046,13 +1047,20 @@ static struct uart_driver dbc_uart_driver =3D {
> >      .flush =3D dbc_uart_flush,
> >  };
> > =20
> > -static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> > -static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> > -static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> > -static struct xhci_erst_segment erst __aligned(64);
> > -static struct xhci_dbc_ctx ctx __aligned(64);
>=20
> Why the change from 64 ...
>=20
> > -static uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);
> > -static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> > +struct dbc_dma_bufs {
> > +    struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> > +    struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> > +    struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> > +    uint8_t out_wrk_buf[DBC_WORK_RING_CAP] __aligned(DBC_PAGE_SIZE);
> > +    struct xhci_erst_segment erst __aligned(16);
> > +    struct xhci_dbc_ctx ctx __aligned(16);
>=20
> ... to 16?

That's rebase fail, it should be changed to 16 initial patch too.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--H2BSgvvACpZPQrOC
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLs7LwACgkQ24/THMrX
1yzbWQgAkd0+ocKcxzuiyfjf1xP47sWav+X7FshGKrHvYflyvgjpV13TVhjPpSY6
jpKsdDD5FVORfk4mzj53Ol7Orj5UEbAjpag4/+YD6fK1fxZp/q2vAb3Ki52GK1Rl
J861Pyhpgc00/KjLRe3R1fVI6LBTkXbQdFWH7ce9dspfxntmmMHWfq+8Rh67CRqD
TtrU4kxfkp4KAvzLnOtqaImZmadsQuySE7fHQr+kb0rCS2dnAdbK9k7tO/HD+UDs
nJv1LcqQFunCtBTUC8Q46AIgMIiz70gvBQVOt+eLsZLiWaCZz7mCQQqKg3VU29T5
y0A7NmSKTKn9jClHzvLgiSiAWyIyog==
=muyc
-----END PGP SIGNATURE-----

--H2BSgvvACpZPQrOC--


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 10:39:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 10:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381022.615505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJuj5-0000gG-EH; Fri, 05 Aug 2022 10:38:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381022.615505; Fri, 05 Aug 2022 10:38:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJuj5-0000g9-Ao; Fri, 05 Aug 2022 10:38:43 +0000
Received: by outflank-mailman (input) for mailman id 381022;
 Fri, 05 Aug 2022 10:38:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jIDu=YJ=citrix.com=prvs=2098568dc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJuj3-0000g3-Os
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 10:38:41 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c328a0d8-14aa-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 12:38:38 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c328a0d8-14aa-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659695918;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=klcN6ihm9mZaX9/9wwugxzNwOZN9EgdYLIIdk4FSF+c=;
  b=Y3APm8/oaZg9evdDihbVuEg5YO/TvvvF26k0pYeoticR80ZVluAhFqeL
   KDy5rSXEQ8jnVS2ga+VfNGEIPzrZNjU9/kV6O4x433mxNUvhqf+P+Ghvp
   BmwpbSLNJy/a3H1fc9dd5AH0YmdJM5ZPkaHcGQg8d7isyGELj5KMUC3/3
   c=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 76698737
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:0SQsSqpLZgCy19daMwkFnUe1JTpeBmJ2ZRIvgKrLsJaIsI4StFCzt
 garIBnVPv2LNzHwLdskbo2+/E8GvcXTztNkSwRppXoyFSJHpJuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GtE5gdWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqUWvdZsO00Q0
 sAyBzkuSBKR27u2wrOkH7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8+Dp4kkfjurX74azBC83qepLYt4niVxwt0uFToGIWLJI3aGp4K9qqej
 mLl+D/rGR8rCMeW73m/7i2U3MTivCyuDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWefhSN
 kgV8SoGtrUp+QqgSdyVdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QbWNQeHGJwk
 AXTxpWwWGIp4Ob9pW+hGqm8o3SCIhI5c0g+TwANbi0H8YW6oIMykUeaJjp8K5JZnuEZCBmpn
 W3b8nZj2OxP5SIY//7lpA6a2lpAsrCMF1dovVuPAwpJ+ysjPOaYi5qUBU83BBqqBKKQVRG/s
 XcNgKByB8heXMjWxERhrAjgdYxFBspp0xWG2DaD57F7q1yQF4eLJOi8Gg1WKkZzKdojcjT0e
 kLVsg45zMYNYSr0Nv8uMtPrV5VCIU3c+TPNBpjpgidmOMAtJGdrAgk0DaJv44wduBd1yvxuU
 XtqWc2tEWwbGcxa8dZCfM9EiOdD7n1vmgvuqWXTlUvPPUy2OCHIEt/o8TKmMogE0U9ziF+Lr
 IYObZbblk83vS+XSnC/zLP/5GsidRATba0aYeQNHgJfCmKKwF0cNsI=
IronPort-HdrOrdr: A9a23:nhuvB64AF1GZ32zgCgPXwMTXdLJyesId70hD6qhwISY6TiX+rb
 HIoB17726RtN9/YhEdcLy7VJVoIkmskKKdg7NhXotKNTOO0ADDQb2KhbGSpQEIcBeeygcy78
 hdmtBFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="76698737"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/spec-ctrl: Use IST RSB protection for !SVM systems
Date: Fri, 5 Aug 2022 11:38:14 +0100
Message-ID: <20220805103814.23032-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

There is a corner case where a VT-x guest which manages to reliably trigger
non-fatal #MC's could evade the rogue RSB speculation protections that were
supposed to be in place.

This is a lack of defence in depth; Xen does not architecturally execute more
RET than CALL instructions, so an attacker would have to locate a different
gadget (e.g. SpectreRSB) first to execute a transient path of excess RET
instructions.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/spec_ctrl.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 44e86f3d674d..d2cd5459739f 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -1327,8 +1327,24 @@ void __init init_speculation_mitigations(void)
      * mappings.
      */
     if ( opt_rsb_hvm )
+    {
         setup_force_cpu_cap(X86_FEATURE_SC_RSB_HVM);
 
+        /*
+         * For SVM, Xen's RSB safety actions are performed before STGI, so
+         * behave atomically with respect to IST sources.
+         *
+         * For VT-x, NMIs are atomic with VMExit (the NMI gets queued but not
+         * delivered) whereas other IST sources are not atomic.  Specifically,
+         * #MC can hit ahead the RSB safety action in the vmexit path.
+         *
+         * Therefore, it is necessary for the IST logic to protect Xen against
+         * possible rogue RSB speculation.
+         */
+        if ( !cpu_has_svm )
+            default_spec_ctrl_flags |= SCF_ist_rsb;
+    }
+
     ibpb_calculations();
 
     /* Check whether Eager FPU should be enabled by default. */
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 10:39:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 10:39:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381025.615516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJujU-000157-Lb; Fri, 05 Aug 2022 10:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381025.615516; Fri, 05 Aug 2022 10:39:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJujU-000150-It; Fri, 05 Aug 2022 10:39:08 +0000
Received: by outflank-mailman (input) for mailman id 381025;
 Fri, 05 Aug 2022 10:39:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jIDu=YJ=citrix.com=prvs=2098568dc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJujT-0000g3-IP
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 10:39:07 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3a447cc-14aa-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 12:39:06 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3a447cc-14aa-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659695946;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=lqB3xQU+A2yYIjTyl1oqGJaxhEwCyRZkCLnoN3kmAh0=;
  b=SOKNEq7Qai43rbVaCDAisSAJfJ+0DBpEMYxmb6cJ/WRMMNtwrAua5utW
   R06qU1UuPwYzRd2J8KTuoxJjVnL0Rdn0AhinTh/oSuHCq0yXRs3vwopu3
   VZ4LehyOXB3frcshVnXYZNYwhkVm1B8FxGxOA4N/Tj7eYAuvf17rig2/u
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77215048
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:aXToTqy2gZGQGtED8J16t+dZxirEfRIJ4+MujC+fZmUNrF6WrkUOm
 GtLUGyOPa6KZzDzKN9xbISz9ksAuMDXytUyHVRuqSAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Esz5K+aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1fFnttE40o2N1ZJlBz5
 6JCATYGYjyq0rfeLLKTEoGAh+wmJcjveogepmth3XfSCvNOrZLrGvuQo4UChXFp254ITa22i
 8kxMFKDaDzpZRFVN0hRI5U5hOqy3VH0ciFCqULTrq0yi4TW5FMuiuGwaIaFEjCMbf97uEqHv
 m7nxn/wWRg7CoWA6hbY90v504cjmgukAdlPRdVU7MVCn1m71mEVThoMWjOTg9O0l0q/UNJ3M
 FEP92wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9eGinrZmUnRGJFw8kEH1cPwYCRgcpyoy2yG0stS4jXuqPAYbs0ICkR2+tn
 GnWxMQtr+5N1JBWjs1X6XiC2mvx/caRE2bZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/5nzvp5pyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN5FIPv88KbSrwMf4fj2eN5yMCncDd+SnNDKiIPrKinLArHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6RMJruMow+lWLeb7pMjtcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5Rrpns/PV+liEr
 ow32gnj40w3bdASqxL/qeY7RW3m51BibXwqg6S7rtK+Hzc=
IronPort-HdrOrdr: A9a23:R8Gfha1zD36yff5xi8ku5QqjBL4kLtp133Aq2lEZdPRUGvb3qy
 nIpoV96faUskd0ZJhOo7C90cW7LU80lqQFhLX5X43SPzUO0VHAROoJgLcKqweQfREWndQ96U
 4PScdD4aXLfDpHsfo=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77215048"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] xen/wait: Describe RSB safety
Date: Fri, 5 Aug 2022 11:38:40 +0100
Message-ID: <20220805103840.23796-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

It turns out that we do in fact have RSB safety here, but not for obvious
reasons.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/common/wait.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/xen/common/wait.c b/xen/common/wait.c
index e45345ede704..1a3b348a383a 100644
--- a/xen/common/wait.c
+++ b/xen/common/wait.c
@@ -210,6 +210,26 @@ void check_wakeup_from_wait(void)
     }
 
     /*
+     * We are about to jump into a deeper call tree.  In principle, this risks
+     * executing more RET than CALL instructions, and underflowing the RSB.
+     *
+     * However, we are pinned to the same CPU as previously.  Therefore,
+     * either:
+     *
+     *   1) We've scheduled another vCPU in the meantime, and the context
+     *      switch path has (by default) issued IPBP which flushes the RSB, or
+     *
+     *   2) We're still in the same context.  Returning back to the deeper
+     *      call tree is resuming the execution path we left, and remains
+     *      balanced as far as that logic is concerned.
+     *
+     *      In fact, the path though the scheduler will execute more CALL than
+     *      RET instructions, making the RSB unbalanced in the safe direction.
+     *
+     * Therefore, no actions are necessary here to maintain RSB safety.
+     */
+
+    /*
      * Hand-rolled longjmp().
      *
      * check_wakeup_from_wait() is always called with a shallow stack,
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 10:49:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 10:49:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381040.615533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJutn-0002r9-MT; Fri, 05 Aug 2022 10:49:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381040.615533; Fri, 05 Aug 2022 10:49:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJutn-0002r2-Ji; Fri, 05 Aug 2022 10:49:47 +0000
Received: by outflank-mailman (input) for mailman id 381040;
 Fri, 05 Aug 2022 10:49:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJutm-0002qr-85
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 10:49:46 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10081.outbound.protection.outlook.com [40.107.1.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51449988-14ac-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 12:49:45 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9005.eurprd04.prod.outlook.com (2603:10a6:102:210::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Fri, 5 Aug
 2022 10:49:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 10:49:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51449988-14ac-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZjudNiKWHfHPLbFJz3gYTzj/n3ZP5AfdEA4OYAzIqRyYgujN8PH34OAerykrk3o4iUhvKSwZqjG7+93P/KXE6p2frbkj4J9WUaIBvEKifdJNpvNH92DariNMrqMaSWWBS+qveqd+OnvNejGixqFObL9tQ2tmYMN/iVE61Br9ulEaHGSte+Za72547pu+Es6OKjWByF11pLC9gZoYcYqGMS3EN9XjIoSeiaHtJ1b7YW8txC0n69cZPXkatVf40yKl6M/k8HgawuUu9fKtPgepob8q+jWBa0R04kfw3gaIH+ZN0ChEJnTu+Eqrf84f5JZlvwO11OAC7O9XBleAcn1HvA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tFhSKgS0YU2BSbGbqtSHBOUUm+kibVkvmZTipaDwR6Q=;
 b=ZYW23ofAoskmupXZ2h8EusLoMqieO1z4XPZ1rDP1i88i2u8hBs8TrqOgm5v7S0mrlq4dHDWh05iz9KRk9oRgDu06UJvX+XsSW1LH+R37jXxw1usIXnq4UnXjoJFrSmR3xKiZhGx95tV1jXTcTTCJaTcFT1BDDPAcHTAMh4FWadHyv5WYEA37MjtqxcIXPQogLkrQnRmEbi76VoBEES8Zi42DvGJ0v14vjp2N1Bwgsj7kwsQlr2l6rsncbdBDPy0xPVUi9EqKulops/k20Lo089z+gaDZvTqtbnGucTx43vtLFMI+AbhENuygDnZTS4oriKbUn64XrQrlyNAXtve6eg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tFhSKgS0YU2BSbGbqtSHBOUUm+kibVkvmZTipaDwR6Q=;
 b=MzwI6I8Fff5IchrKjlkT7Q3P8m7TnvqXfq8BzxZm1ChtUl5dtPDbxa9zJHEZAo0y29pOh7ppQ3nHbNQcP2bEP3RGYa9nJMgMssfQuLC5VpoEFEN7asOr+g5Lunub26Si9b2owUw+M1+z5bvsY8JicuB5bnJ6vjWM3fn2yUm0sfzAyuaoKZ/mfss/wg/G5+BrEEx3shubHgmtuUTFfr5GYPaPCNhRi07k2uOpJ7py/Co8jFCVGcBi/SeJFouX6Hjq/HQcP1vFg6bQv43G6JDTzkWlLBgrWLVXIxbhLZDjadNzLaCIaVgaG43S0Z7rPiWGkAs1Ry/Uqa1xmLirACDPGA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ab786545-6cd8-ab89-7b94-0fa3cda464ae@suse.com>
Date: Fri, 5 Aug 2022 12:49:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] x86/spec-ctrl: Use IST RSB protection for !SVM systems
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220805103814.23032-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220805103814.23032-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR1001CA0001.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:2::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8c79c448-83d1-43a1-d2ca-08da76d0345f
X-MS-TrafficTypeDiagnostic: PAXPR04MB9005:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V+jZOyqpjragnjgJk2vGSfBZB5tC6bnZfgqbtCGP/FNhA7BfHwKbydxdOw2drmhwHVGvW0h5NuzuL1XXSqJbFm01qDAq++Gj+J31CkR+5a85/C15YjIysAluuxaYJsvrYnMgUBNuLeQkSTD537ec9EDBgdaNqK28cjU7t8G1uLyoO9fbX+lQt13X1iPJ9Q+aOC2ZmEKHl3AZm/UUYIRSLnsUK8L0qivlaUONkqupqAFnB6xRHB4m5fy0j/waUYNoMoPze3e1kt81mufR1W9wtfsBthSOdnUE4WaBKB2jP/O54NG2Jw9QDgrYgzKzxeOToGbrpWsvStHsXfg8W0PfvonFw1IjhY/8nBX72FAkhsKzl4UxTjAyc4hFPnvnYQMSyC9J3zih2H7ofR4W55DTDehit/8HAMEjXMeB73vobLLppZDJw5JovLVf/QXniZ17q+e27OSLRQRWzjLOfqGPZmNnb1p9fb5EO3h1yT4ml9ublfiRJkEWUcW9JrS1ykeO9FTwmFkzoAoPwIUkQW9Rz0NCGrIkX1ud5mhz2Z1gRjUnuYckoWyI5wLavXhfSqmAcCyaWcOr1k38WU43wFvjeeVekq/dQGfZoqI5RHIFllZKCy1RgtQj2MhBUoFXUpiLUfmX4VeAQbkJua8qpSC8CVEMa9Jl+uKvVELsMixgUrtmZsCkxDqgjvdDQBgBMfSfhNvxAOUNrlRuDlCLUq3Q8OyqWOhBjtASnqDURGpiOSYRpNzXvOBkwBq8XTp9JEQU/NaKvewWno6El2DNzzC0AfO7GYChgTtAZymefqo4DPLE1RHMzNSNnGdtjADf7kCDUHb+4iSzIUh1yo83i9l1YQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(346002)(396003)(39860400002)(136003)(53546011)(26005)(6506007)(186003)(2906002)(6512007)(2616005)(38100700002)(8936002)(8676002)(5660300002)(4326008)(4744005)(66556008)(66946007)(66476007)(6486002)(41300700001)(31686004)(478600001)(86362001)(54906003)(6916009)(316002)(31696002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TTkvTXl2K25NalR1V1MvaTN5M3RneE5BUGJnUlFGMmRDbWFEYUJ1bGdGcFVu?=
 =?utf-8?B?Z3dQb3hGbTVGNG9POU9FaXNCTkJrczg0bWtwRS9LWXpyWmR5SE0ySSt0eWQ3?=
 =?utf-8?B?Rm9jUDE2dDlqUmd5R0U0Q1FNOHdCZjRyTTBRMkhhY0MwM0E1Z0R1RnBMTWUw?=
 =?utf-8?B?ODFwSlpvbDJlUVpQTmFSVk8xNGtCbEJiV3NONjhyU2RKaHU0dHp6c3pYd3Ra?=
 =?utf-8?B?NXhRbkxoRWxUQml0K0czUVFYYjNqMmJHbjdhZlZNMC9zdE5OVXVSeVg0dnc0?=
 =?utf-8?B?VlV4dmd4VGJhcFVVL2dMbTZDVUdMcnZRRUk1UkM2K1JBNHptelJkTVF3UWpO?=
 =?utf-8?B?dkR0TkVDVVB0a01UNGY4MjhMb3o0UGVSNGN0anBFRUo1cUQvek1Nc0NIa2JJ?=
 =?utf-8?B?MHk5RFRxOGtJTUVRYmorZXNkQjBISDZFSnVFSWFYTGRtWWNodVZzWTJEdHJK?=
 =?utf-8?B?Z2NsYjJhWTRJNnZJQzRjZStHWGd5L1NCV1pxMEVRbzh4NEpZSVRFajFDaGlX?=
 =?utf-8?B?M3hQbzVFWE1ZTUVrSm1qcXJqUnhOQTNhbTU1ZGJnWlJQMWxuK2t2bnkxUlJB?=
 =?utf-8?B?cWpRMzI3Rmp0cUJCMTM3NTBhZEg1WW1vUWxpbUltKzRQbGdEMHI3VFhuL05w?=
 =?utf-8?B?NGxCSWxadEEwUkd2by9VNnN1VUlTbmtxZllBQUtmeVFZN2taRDcxWlJIczE1?=
 =?utf-8?B?MDlrTFFybS9tMmJQdXQ3VkZyWDRRdnFJSEVIMlFQYXVxZXRqUFBtc21KYjJ6?=
 =?utf-8?B?ZjRQUGFTZEpEUXBTNFVqSTVqSzlTODNTc2J1MENuUEdoSk1YV21ZcU96S1l6?=
 =?utf-8?B?eGxIb241Z3ZnbE1ZVkxJVnBDSWYra0hFRzE3QzdFdTk0SW9namdRSEc1UmhQ?=
 =?utf-8?B?ZFVjaVRSbklWdGtGbkxYWnlkS3dNN1RwWFRyT0lOcmlEV2J2bERqWStlUW1h?=
 =?utf-8?B?YXNGZlI1ZnFhaHZvdXcwaExoS3RSMzhrZzVFS0RLajcwVXBmTE9XRTYyM3hW?=
 =?utf-8?B?K3MyV2lTWFVoeFhWdmlDTDJMMVhESzdlTlFpcGZQWjEzWDVDZS9UTXRyMU1u?=
 =?utf-8?B?akE5aENXSXJVQXZVTHpoeGZZWS9zZStTTnBoVnpmQjZWVDVxMENmUDVhTnp0?=
 =?utf-8?B?bWhUMzhqSkVFODlRaG51SCtGc29nVGdMTnhNemJlM1RiQ3VJOGVXY01OeEV6?=
 =?utf-8?B?VkNJNm5VWVkxbGEwQzFWZkw2eHI4Qkp2N2tEdmFDRGhaeFhaVDhCNkIrcHFC?=
 =?utf-8?B?VFJqS2xrL3doRUl4TG9temJWQytoanUyaWRGTVdIWmpCMmJXRlZhSWQzNU5S?=
 =?utf-8?B?a2xwekljTHlWbXRxYVZ5UXl0MG5XVm42RGE4QUh3L0gvRE5CRm9ZSjdjelFh?=
 =?utf-8?B?SWd2SFJRMm9iVFlHYkZaMUFndkVoUXZBcWJEdmZnQ3ZxRmtaZkNSZUZwc21G?=
 =?utf-8?B?QzJUcW1sSkFpc1QrZUNsYUNOY01tcUdBQXdEa09ySW4rSXc0NXFHclpKWDdv?=
 =?utf-8?B?THFaOWxGallnTjdRZ3IyYXhlUnM0N2gwTzlLd2FkOXAzeWJ6ZWNzZEdpS2gr?=
 =?utf-8?B?R1p2R0tJU1dxdTI1V2d1ZnlOQ0RIOHJwbDdtVFVibFBObmh6ZlY3eE9hSm5v?=
 =?utf-8?B?T2FNNDVSN2tDZmxwMm94VjdLNW1HMjdkckorb1NUUmU3YzlMcTdtQjV3OXhC?=
 =?utf-8?B?eENUZTdBYmZreDZsaVhMdHVHWWhHRDdmNUpFZlFYTlA1NlJrNnV2bVJoejBK?=
 =?utf-8?B?aFZxZFBvbFZuaFpaRUxOV2UxeUdvVHUxMjFhVXMxL3J3VkIwdjlkMmhobnJ0?=
 =?utf-8?B?Vk5BSjNmTmEwRDFhUm5VQWRCWU4yZzVyVzU2VkdadHlLUWM3c3kyS0d4ODNt?=
 =?utf-8?B?eEVGZkpBMmtpakphWTdsd2pEanBmOExrT2hHWjlOcFFNdTFYWmdZU3ZjN3J5?=
 =?utf-8?B?d1ZZdmcvb1E5UkN1Yjk4c2FTbnhPS2lrblNvTW0ySlgxbzJGR21ORnBrcGVK?=
 =?utf-8?B?bzN1YWNma3lzNmhVSXhaVXFoK2h5aWtsaXhDb1FRV29ESVl2bWsyRktKMnJa?=
 =?utf-8?B?QmpwQzl5RW9HTDNPTk5DdysyUTQ1Z2JHcFhWaC93aTFnajlvay9CTlNPa1RT?=
 =?utf-8?Q?9/h8zRZ7QzXHogEbvhFnfpDGO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c79c448-83d1-43a1-d2ca-08da76d0345f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 10:49:43.2504
 (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: jQD06uXePHE7NNjuXj//6ZyXsrITuoRsdFM4pb3BJYrNgPOOkBaZHAPlSe9IRD65ZJrQuHiZLDDZDDpali9ifg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9005

On 05.08.2022 12:38, Andrew Cooper wrote:
> There is a corner case where a VT-x guest which manages to reliably trigger
> non-fatal #MC's could evade the rogue RSB speculation protections that were
> supposed to be in place.
> 
> This is a lack of defence in depth; Xen does not architecturally execute more
> RET than CALL instructions, so an attacker would have to locate a different
> gadget (e.g. SpectreRSB) first to execute a transient path of excess RET
> instructions.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 10:51:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 10:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381047.615544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJuvZ-0004Dy-2G; Fri, 05 Aug 2022 10:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381047.615544; Fri, 05 Aug 2022 10:51:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJuvY-0004Dr-VR; Fri, 05 Aug 2022 10:51:36 +0000
Received: by outflank-mailman (input) for mailman id 381047;
 Fri, 05 Aug 2022 10:51:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJuvX-0004Dj-9X
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 10:51:35 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2074.outbound.protection.outlook.com [40.107.20.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91dcff74-14ac-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 12:51:33 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9005.eurprd04.prod.outlook.com (2603:10a6:102:210::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Fri, 5 Aug
 2022 10:51:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 10:51:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91dcff74-14ac-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K/zM3OuBo6CNDapcU2hHiqpfiTjfNxDs/K11ik8qWcrQgvnbrrLnvqab7GojL2YHxv8h7onNjPIYdSHZySSadB/cPfTWLY4Xgq2ABs/4UP/dTDmo1nise34G8PDAVN1G9WCGPtPzIJIvYOP8/uhqTiQu/fO+T46vUyBk9lc5f4vclHsFnpGnBSvZ0pZPw/91GO8ltmYW6x7YfqgMCjoAiFBeRIfHdQ+59thxQLfOHwOnvmFRkeh500gQVqDzl4mbuvEMQRvX/sufqMMnVHJi9rI6YgTzgRHcx0CRLSerIhDB90xZfM5gk+7ET/18fKEX26oPEYxGHTP41NRQUtBO8Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ocQwyIDVrCzLEs4NdDWQT1Voiibm6xPg9LD3hDeZZjk=;
 b=mVTuZlcplhYUgTc0wdGDn5v7XPw4zLjFk1cBg2z7Z+wGovO62nMXG/tgjmctJ3+chlx8o0Hs+5zAoWuCHzJJ80+0YDzIXqLlMzAs/c6H8z2GoKcldo7pu0S60uAArKUwkH56worpGDVZ+lvBNfeQJEAx+8FyFmtke364Aclgjz5cyQjmKRHxhcxirJskPQ0mWMCt1yFZO13bEGOyicAL/eYkwLo1peh3e+mxwAu3fAkfN5qaQXiU/7TwfA1XgWoi+IpPd6Ez8qWJ0tdg9Q6l1mhy1mfFo5K/gjzSod0yLAapVb0i8uqmiXsd8mb930TpWfLw5jSoXDfGn1gvZJpaag==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ocQwyIDVrCzLEs4NdDWQT1Voiibm6xPg9LD3hDeZZjk=;
 b=cvbtItnBqhA0Ia1eowSCRq0fpuhyLyJigFj14Tus6CqK/ZARt/ML2U3gaoRrOMKGcfERIfWACdYDNC77cVtcSFTxWK7bKkZZ7v6FKUZ2dG8mXc5G5I7YNSNGqCYPMlkRnRI3xiemTMoe00sj08kLApm+BkwMdJM8WuCqjfc4THJBUyv+b3VytY3lKe9DYcZKCodz7YdKzoJGlIvkVLunXrwykwGfKyCjrET/nFxgpFcP2Esm622dawcqT7LOxfEZPasyaksCzXRH4ec5kaS/oK2/5Vd/4ySCIcNUHGkYtI24dgSQJDhkuYCoo33HD5N50QT+w7Edj+sgIexStNYZSg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cd835582-a9e5-f756-8a08-148ae4d46983@suse.com>
Date: Fri, 5 Aug 2022 12:51:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/wait: Describe RSB safety
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220805103840.23796-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220805103840.23796-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0099.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6d5876a3-d54c-4598-9dfa-08da76d07548
X-MS-TrafficTypeDiagnostic: PAXPR04MB9005:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	P63N4GEoNLaU3w+RaJ9FiUtx2WOlDudROBYy9p+C9YMeJtBHoDMWwn70nPC9FINeHeqn9NYjKcaPttQ/4BVx/VkYgUSaUYHTGsVmlZzUFtRgZR6z7Ymn2WRlJS5USXKfVarx0PhSUYE88NL+GSCYsH/klnyNKCwz5OpqX5uQ1+MpzmdNTLptMxcaGfb0O/grjmE2lhUamPBPnLz8eA/F2mS88sBHfNyD1Ydb9Ng7iZ6b9SdT25BqIZubZu9k/6zBfeO4U9XE8/sTUcCGAizcXX7tGzdQrRNYwzjsi0W27401qSjMR4ehMgdCAvwCuN/y6aPTfiHSN3SDzFrtCISqMin5KUPl0sD/clJuGr4iDGNG/S4jYOlb1VjhGMGyvGW13/1NDwW1t3gQ6STytmEG7mAKnZZssiGKFAtB7gbV+f+2pesc+y1V8hl5vkjJ/2TFWoduuZvqdWURR638ZmRBlKHfWxrElVM73PksgYWeqZLbL+3afdmiqpD+Dix0SS7qjDcQxqPKykOKdo/Anktsafpg+dF13RlqRNiWESGSKUWNbCPmgT3twJOM/S+fuqivBui/hCkvod0O/rX6kiHTudxiAEF9TPWlpuk02Mb0PlS7mn3wu26Zze48MS58Mb6t8JGXIdqducd/DorRbpmh9YfGxfnW/GandUOFPCLXgUetXOKboKiOLHO4/VwcyTteSg/Hw1OmNziwO9Mg6IXwYEXhMp2orOOMd1llG3amvnu7Q3XRz/N75wtEBL1do57Cja73gx8Vz7btdlYgrl04K5EKoSeV5GdTW9ZUNhFR2B8PIk1rFeSc+CbGYNa652nva/0InkPxpobCGTiHifRnOQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(346002)(396003)(39860400002)(136003)(53546011)(26005)(6506007)(186003)(2906002)(6512007)(2616005)(83380400001)(38100700002)(8936002)(8676002)(5660300002)(4326008)(66556008)(66946007)(66476007)(6486002)(41300700001)(31686004)(478600001)(86362001)(54906003)(6916009)(316002)(31696002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1ErWU5qeHQ5N0pub0p5YjhZVGprUGxmbWp3MERyaVdkUVNGOWxCQi9TMHkr?=
 =?utf-8?B?emV6NUQ1amtZMHA5MkVGK0N3V0NscnJuSlQwL2RFdWpRcmlCK1VSekZXQUVP?=
 =?utf-8?B?ZmpMNVlmVmFHZENOUmZQcHVvZDNnMU80RFdnYjhSOTJCVXBGdkNaTXBlbldT?=
 =?utf-8?B?Z2lqT3gvZU93c09halpDZTIxekJnQ3NUSlVhaWxwZThZcjU1cFphQW81OWc3?=
 =?utf-8?B?aDdLSytkZ3QzbHZsOVZNbjNRM291QjAvaDBQZmNka04relNISWR0RUZ3cjRy?=
 =?utf-8?B?Z01jQ3Zsd2ZUQTNpSXpobHI0c0Y3cFoxQUxROTA0UDRYTVYrQ0k0bHUrU3d4?=
 =?utf-8?B?aWZydHZpaEJYVkFMM3FiYk9IUkRUdGxrNXpsa1prNHpRN2xRS3ZKanpoNEFL?=
 =?utf-8?B?eXhLUXdMR3RjVlJwdTViU0ZUa3Zxa2daTXdHbFdRQ0c0UUV1d2h1WVg0L0pK?=
 =?utf-8?B?clMwcWg2WFZLY0lLYzIzNmZHbVdleXdrZnp4TFJBTU1vTHhrS3IwM0RJdEpx?=
 =?utf-8?B?OVdBa1YzWU5UMGlJSGM0dkpPQVA4RFJXeDFIQWQyWTR1YUJiVGkwb09mRUEv?=
 =?utf-8?B?VTg3czNqcmZnM3Y4WFdJd3ZiUGI3enhKcHZrMng4ZWcwbGtJbDNwcThHVGFL?=
 =?utf-8?B?THNGYkxFS0pQQng3Yi82QlJwWll1TEhGdWw1YkVQdmlJVE1vMnY4ZGVnYUxF?=
 =?utf-8?B?RUZBTTR0cm9HbUhsRU02MXVzcml4ZENBOGNES0V1RkoyYmRyZUxtRUtyM2tO?=
 =?utf-8?B?RHNCNG51V2M1ZHcrMjdDZUFKT3FZYnFOd25VMVZBdjdlZ0JCMTEweTdWOFgz?=
 =?utf-8?B?Y1F0RTBaVldITGlZVnVMa1ZGdkNoS2xEazVDelVJTTZXcXJCekhMUFh5OVc5?=
 =?utf-8?B?ZEs3c21PTEI1dXY4eGlxOStXeUd5YnFqTnBwQ25jdVpjOEE2bnJHdCtPdXIz?=
 =?utf-8?B?Mmd6ZjVCTVRoZFBSK28xY0ZPeXJrRXorSDhraGVtb1lvVm4rNklaanY4cnFh?=
 =?utf-8?B?UXpmb01QTDl2N0htbE94TW5RQmRQQW5wWklsaWt1U21MYzJtZzRJVzJEcnBV?=
 =?utf-8?B?VDE5b3VkNFVkcDVjVVFRRk1LbjNONElPU3M5LzJsLzJVRnI4cnFBMHRpTFRv?=
 =?utf-8?B?S252TUF6ZWJNQlVKOWFDeFR1S1p6bHJ1dndHRzUxZnYzYklXcEFvb09MOTlH?=
 =?utf-8?B?N3J2R1Vod3RUZUhrbHNIelRoWWhyQWdydUdXMTdoc2UwelJXdlcvWFY2Qmox?=
 =?utf-8?B?VmNnaitqRlFobmRyVld1WGVwS0k3MVAvNldSRlUyWWxhUUNqSmYxV1JBcUE3?=
 =?utf-8?B?Zmlha1hkcFR3SjM3NkVWQmt1aVN1UW1VVFk1M0M4TlBUTGkvWmNCL2pkVjRq?=
 =?utf-8?B?aGV1QkxWMzF4Q0EyM2l3M3EyaXFVUHRZTUxrSzlISWpWR09SR2JaVmpDK3Ns?=
 =?utf-8?B?Z0hPRDNJdThnbEtBMFpQNmVNeS9hcXBnK3YvZVNFUytiMlg0Z1VXTDhwZ1FZ?=
 =?utf-8?B?NTc3V2QrSjlWai9OdGNsR1VFSEdTb2lZSkZhLzVmRDNSanhSV1dud3VGeG5q?=
 =?utf-8?B?ekZkdnV0ZFpqLzBGYWdUZHd0V0JJWkhZYnBnVlhCcnhpZkVjbHVKNGl3OHQz?=
 =?utf-8?B?RFYwM1hXSUNRNlE1OTFhMFdxcE81Y2NGa2hUaUJJb1dTYjYxSUNMSnROV3JT?=
 =?utf-8?B?cGsrM2JRdm5uZW1wbUxWNDFRR0srZnp2NVdINEtqQ1g5SzFCOXIyeVlMMWlF?=
 =?utf-8?B?NzJrY3hlUW1kaVZZTzhUUkovc3NvdEhpTS9QY2dDOXZlbFl4OXJMZVRHb3Bw?=
 =?utf-8?B?VzZ1ZGJUa3JUMVppaDQ2L3pUSXp2eDBDeE16eGxSZ0lINExRemVsLzBXTFdW?=
 =?utf-8?B?MTZZcUdYaUNDZGZnZFZydHd2dTY1eGMwWmhNT2RORlJUTlpLZ25XMU5FZzlZ?=
 =?utf-8?B?WFhJeElhUzJ2ZEhhUGM4QXpNbytHbGhVVWE3a3JHZVlhMGJHT3BRa3ZrRWZ1?=
 =?utf-8?B?WDVCZ2FObHlZUkdRR2NqYkN6dTE2WTJZOU44Sy8rNVA2a3pDNTFqNTZPamdv?=
 =?utf-8?B?S0haT1JCanAxSHBaL2ZIZUdWUE1lOUVuUXVacUJFR0pZVkJiUVAxTXFtYVdq?=
 =?utf-8?Q?Wa3deQMuxaepzPO16Z1vmCEgy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d5876a3-d54c-4598-9dfa-08da76d07548
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 10:51:32.0877
 (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: hwy6NqBN96GVCC4H7w4TVr033fkDFeeVqY/b5pn6slI2RtqWbd2pEUdXfYhOHDnLoRdRHmWCRM7HJb7a3B8DLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9005

On 05.08.2022 12:38, Andrew Cooper wrote:
> It turns out that we do in fact have RSB safety here, but not for obvious
> reasons.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
preferably with ...

> --- a/xen/common/wait.c
> +++ b/xen/common/wait.c
> @@ -210,6 +210,26 @@ void check_wakeup_from_wait(void)
>      }
>  
>      /*
> +     * We are about to jump into a deeper call tree.  In principle, this risks
> +     * executing more RET than CALL instructions, and underflowing the RSB.
> +     *
> +     * However, we are pinned to the same CPU as previously.  Therefore,
> +     * either:
> +     *
> +     *   1) We've scheduled another vCPU in the meantime, and the context
> +     *      switch path has (by default) issued IPBP which flushes the RSB, or

... IBPB used here and ...

> +     *   2) We're still in the same context.  Returning back to the deeper
> +     *      call tree is resuming the execution path we left, and remains
> +     *      balanced as far as that logic is concerned.
> +     *
> +     *      In fact, the path though the scheduler will execute more CALL than

... (nit) "through" used here.

> +     *      RET instructions, making the RSB unbalanced in the safe direction.
> +     *
> +     * Therefore, no actions are necessary here to maintain RSB safety.
> +     */
> +
> +    /*
>       * Hand-rolled longjmp().
>       *
>       * check_wakeup_from_wait() is always called with a shallow stack,



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 11:10:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 11:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381057.615561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvE4-0006kt-Pp; Fri, 05 Aug 2022 11:10:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381057.615561; Fri, 05 Aug 2022 11:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvE4-0006km-N2; Fri, 05 Aug 2022 11:10:44 +0000
Received: by outflank-mailman (input) for mailman id 381057;
 Fri, 05 Aug 2022 11:10:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jIDu=YJ=citrix.com=prvs=2098568dc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJvE4-0006jz-6V
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 11:10:44 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3dcfe243-14af-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 13:10:42 +0200 (CEST)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 05 Aug 2022 07:10:21 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6509.namprd03.prod.outlook.com (2603:10b6:510:b5::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 11:10:18 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.016; Fri, 5 Aug 2022
 11:10:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dcfe243-14af-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659697842;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=WbQjmE9q6jg+VjB4JDRg+Fgiia03s44YrTmy40lpr3w=;
  b=CDXKshJhU5mr3z4UhUaMRthqQHLIPgL4CD0pQX+2q3/IalKbVO0F1FTS
   JyyIp0Y7vrZaaTBtzyNv6zAA1+f/4CdS0aiy6xbijhCHqzd4W5SJtQhjQ
   BUt23amup5BcxZioLSTXTMPY+OzV8Yypbts1MYMSmLUnF67WYLv1ZN3Pk
   Y=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 76700401
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:J8J7uqh7ZAsA+vpUezYxUsPCX161eREKZh0ujC45NGQN5FlHY01je
 htvW2jVPKqMZ2HyKItyOYu0oRwO7J+Gz9FkSFA5pCwwRCIb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSq5GtD1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eD40ao6VHXn530
 e0xCwkPbleIgb26+efuIgVsrpxLwMjDGqo64ykl4RSHSPEsTNbEXrnA4sJe0HEonMdSEP3CZ
 s0fLz1ycBDHZB4JMVASYH48tL7w2j+jLHsF+BTM/fpfD2v7lWSd1JDENtbPd8PMbsJShkuC/
 UrN/njjAwFcP9uaodaA2i3y2beXwXuiMG4UPO2DrdNr3HzQ+klJGgRKfEqB+6GzsHfrDrqzL
 GRRoELCt5Ma9kamU938VB2Qu2Ofs1gXXN84O/I+wBGAzOzT+QnxLngJSHtNZcIrsOcyRCc2z
 RmZktXxHzttvbaJD3WH+d+pQSiaPCEUKSoOYHECRA5cu937+thr3lTIU8ppF7OzgpvtAzbsz
 juWrS84wbIOkcoM0Kb99lfC696xmqX0oscOzl2/dgqYAslROuZJu6TABYDn0Mt9
IronPort-HdrOrdr: A9a23:O4uzqaFFV3DzSDWHpLqFS5HXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskdrZJkh8erwW5Vp2RvnhNNICPoqTM2ftW7dySeVxeBZnMHfKljbdxEWmdQtsp
 uIH5IeNDS0NykDsS+Y2nj2Lz9D+qjgzEnAv463oBlQpENRGthdBmxCe2Sm+zhNNW177O0CZf
 +hD6R8xwaISDAyVICWF3MFV+/Mq5ngj5T9eyMLABYh9U2nkS6owKSSKWnY4j4uFxd0hZsy+2
 nMlAL0oo+5teug9xPa32jPq7xLhdrazMdZDsDksLlUFtyssHfqWG1SYczGgNkHmpDq1L/sqq
 iKn/4UBbUw15oWRBDynfKi4Xi47N9k0Q6e9bbRuwqenSW+fkN1NyMJv/MmTvOSgXBQw+1Uwe
 ZF2XmUuIFQCg6FlCPh58LQXxUvjUasp2E++NRjxkC3fLFuH4O5l7Zvin99AdMFBmb3+YonGO
 5hAIXV4+tXa0qTazTcsnN0yNKhU3wvFlPeK3Jy8fC9wnxThjR03kEYzMsQkjMJ8488UYBN46
 DBPr5znL9DQ8cKZeZ2BfsHQ8GwFmvRKCi8eF66MBDiDuUKKnjNo5n47PE84/yrYoUByN8olJ
 HIQDpjxBoPkoLVeLizNbFwg2DwqT+GLEXQI+lllutEk6y5Qqb3OiueT11rm9e8opwkc7/mZ8
 o=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="76700401"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=msR3t7UXY/jm6A16Ubk53PFA8WDB+iWrEuTlq+duc6a0hhryZEYxdO75AAKXR6d1T+zqlosKke5XPn+nPwfMWpMyHbxAv/pvmnRS4eYU6TNlKa54B40SDscj0OuQB4kB49O90K+IuxHhaDAZP01HFgxfns7yV1El1r8DdRvr3LC9jyRhPRY1sCNHiawRIDRPwY46/LEWer54SVfAiTcFy6qgybDisjKMU+gRJt7gEA08W5/bIm0chGMdgWPTR0MQaQLKh0jXd0ExZhPL639djyUPv1L7yjjYSU5gsvLP+iIZHG6vMHpyuk9yM3hYozI5Xz2LmwGto9/QFe/aIhRcEA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WbQjmE9q6jg+VjB4JDRg+Fgiia03s44YrTmy40lpr3w=;
 b=RIGlDrLpiFO52oES/S4Hw0lzCsXBLEmbwU301Rt7ovntcAqXL+zDArcnalzAGX47FCl5dP2DHPvuzqYf744tBHgKY4jCS5Pn31cskgmjFCsJL71Or2FzbHCHt1Rl6V3B3SQqKo5g4wsRf2WN4932yRSAlKnJeWBhasr4aUxE8xcfPMNJzSVtse4xoRxdXa99TYScaE3Y5ZsUc9oNXAlEcUVsKVhkyIPywPDXCZVc2dEOFWXmavA+8OiOvWNDslYURoDFcLelfjSZRpeFwBoj/otHaU9loNtpm8FxMHx0FGOb1B326Olx3Z9JSXji1QOg8Z5MlF0q6Ij5TREXUT5gGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WbQjmE9q6jg+VjB4JDRg+Fgiia03s44YrTmy40lpr3w=;
 b=BQaS8gXO0f0ldyJ6xG7nfz5iAlKpJ+m6QJcYbLfJa+ABqSI/LZXcbua7ioZczpMyf0c8/gPvcp6rCCcler6KH0LrrKvj+wwqXewtgvywlWEVyMNRNAXB54ishRJo19Wzqf1fpx0vYcJVJHBjs7TS7UOT6+W8vznpOemQq1OmHLw=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen/wait: Describe RSB safety
Thread-Topic: [PATCH] xen/wait: Describe RSB safety
Thread-Index: AQHYqLeZRPHbs/fcFkKmBoS12c4tV62gITQAgAAFPYA=
Date: Fri, 5 Aug 2022 11:10:17 +0000
Message-ID: <f84f74f7-a8f8-bf70-c2cb-a2a493a61ce8@citrix.com>
References: <20220805103840.23796-1-andrew.cooper3@citrix.com>
 <cd835582-a9e5-f756-8a08-148ae4d46983@suse.com>
In-Reply-To: <cd835582-a9e5-f756-8a08-148ae4d46983@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 822a7bb2-6291-4364-3b57-08da76d31436
x-ms-traffictypediagnostic: PH0PR03MB6509:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 YHzqkx25LumOVjzbCAQVk4Ies/GN30n5IJgCdB06ZWdegwMhCwWmG0wGDwPDmLOnYZxnetffJrd1VV3gfQstFgepp7uKquQ2Hz+7v0KOn6necWmLcL3SAr9DSzz7WKb+Q89myIfzBPHEiLSK3alwpqaHVc4nI9RBnpQpVfXXVZddsUvUunbBvo1P6zBBjrDXDJyaovLmOC/hhl9/BR3icdW2Y4DCJpesjgNNmHgGBKakyMCNuAyGa3gUUxEa5Vm3qR3VccCnLgjyWpvCSSrGkkaTwBwnjvO4ZBxrP33QfDyeWQRJg30wMW5LK6du8ag8VJ81T543zmQnPWrXFG/SD1JqCFVZzqcUGvfVV2vqGYM3d6bI60CHTSbkufUL0DMRuhEYNPcmhOuQbRKBQJvvmeMu0Fe3ufHvc7O2IAwlg3emNYYj+AMoyKlpzSHL4JdWOOM9ytPjrrK4s8xqShNKdiXUsaou/h29byOUMi+76J0UEI8LJZ9Jz1P1YYBpFRsR4QxjH734bzdNyj4DHYU4r0F55phPx+v9HWdXn49JtVwHiBiktRiNpPEyIXuyQQLHEKTvNfbRrYuQiadQcG7u4R7GmMVwLO5SoakZfxDc+IArc28Ka4LLsn+5LrfxlGwjTApFnwKvKntw1PhbTCrZBl3c75NQ5oPJ0x4TnSJhcQ8IRO/bw0LzZktTFEEnqTIXseXls+dhSjDMoC0cGDMxgXyiI5v1OwxiwMpNPgcJTKEEQioybgaWqjoYfm+55busUYovPx5ri8zaWXnMz82qqKdq3M8HCEAmHFqi8rSshleMMAYHDcUy/RqB8ti1yqgHUK2oyGE8ab6FwmAtZ3WIO4HlCA7YsEW8rXItQ8BLyUFYsl39qTnPM06qbHLGSbJ3
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(136003)(396003)(376002)(366004)(53546011)(186003)(6506007)(2906002)(41300700001)(26005)(2616005)(6512007)(38100700002)(86362001)(31696002)(38070700005)(83380400001)(82960400001)(122000001)(478600001)(5660300002)(6486002)(6916009)(54906003)(91956017)(66446008)(76116006)(316002)(36756003)(66556008)(8936002)(71200400001)(64756008)(31686004)(8676002)(4326008)(66476007)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RmppenJ0N1RGVDh2dmdwd1V2RldOVllXbThhODhhSG8zVG9NVktScUFFSlNy?=
 =?utf-8?B?cU83UWdydnBHZ2kxNXphSXhxZUpaMEZPTllDVHpTM05UZ0JmczFhM2F3ZEVB?=
 =?utf-8?B?cXppZHVPMjNTK1owR2wyelhIdTVtb0hEV0RjQWpaeDdMZzRpeUxjOUplTDUw?=
 =?utf-8?B?SWlJb01uZDBCdG9RY2hxR2c1NHFEMyt2QVVGdkQyTjdsa2tjMnVxSVlUNU1B?=
 =?utf-8?B?cDVKandmNG1BTGtCbFhYazNrSzBaWHZWZXRqWVU2dlBueXNWS1J2Tm9jZUdP?=
 =?utf-8?B?QjhhN2Y1cVRTVWFzWlpaTXZLa25mVHBOdWUvOEoycFlySUcvK1EwWEtSaW1i?=
 =?utf-8?B?Zkpuc0xraVlSRTBXQW15b3hYQWhCck1laGh5eElCQnNPbWtueGlIdm5RUFFD?=
 =?utf-8?B?cVVzemUzaXN5VUN5NVlqNUFENUQwdzR2UDhhQkp4cGJFeHNhc3VmRm1pSkhq?=
 =?utf-8?B?aGZDa1c3NjNBckxGYzNkeWlWTCtvSDE5WmlsQWYzK1pkMmVrenJiOEc0STJV?=
 =?utf-8?B?alNqRkRuMFROa1k1ejgvdkd6VmExL0M1emJSeGZYOUhNUEwwWDJWbkhuSEE1?=
 =?utf-8?B?MlFWa2VFOFZld1RZTW9oSGZTamZPOWxTOEFHdi8wNFlNbUZjSkZCZloyR2tT?=
 =?utf-8?B?WnRnak03NDRYKzR3d1diUUNjeGgwT3RwVGsxOUN1bHM4VWpuK0lmU3RqR2dM?=
 =?utf-8?B?VDBGVWdId3MvQmxJYklmRERqZHEraHB0bmRKU083VFgxMmYyK3JtSFU0aVFC?=
 =?utf-8?B?VU84VXFqZkMwRDVVMkhxQnduaER0MDV2OWk4bldIWDh6VUxuMjJTZzRrOVFR?=
 =?utf-8?B?WDZrQlJ2TDVWaEtlckhYY2NPcDQxdCt3eUlqZmtIUUJQYnY2ZzN6TjNRWXVh?=
 =?utf-8?B?MW9pTnhESFVuZ0tiTCsxRHdqeFhnT2VTVXVlaHdjZE1taDZydUhGQnF3b09t?=
 =?utf-8?B?SGxnbkY3RGxROW1zWUdkVGRZSG9ucndva1N2cld6VWU1Wk5aWE9naDlSOVNB?=
 =?utf-8?B?VWluREJYeVB0OWUwTDJoVWRTVEozOFhTQjhZbFE5Tk5ETHdxSnJva2c1TFVv?=
 =?utf-8?B?VDRzSE91S3B1WkpiRW9wZ21RR0N5dEhrUTlvcE5KU0RTclVhV0kvdHJqeTVK?=
 =?utf-8?B?N3BKRDIweW9OeStrU2pHV0dsQXVvcXZia1Qrd2YrOCtlU1VuS1NMWk5ld05V?=
 =?utf-8?B?MHFiS3FLbFd1ODdBNklxc3N6eWt2aDNqb214VlVsbGsyOWxKeXJ0V1ZRMkFV?=
 =?utf-8?B?NWxab28wc2NyWktUYXV0VXUrVzlQWEY1YXZGL3dENnY0R0lpQmVvZlZoMExH?=
 =?utf-8?B?ZStwa2IxWEEyN003OHdlSTNUMHowUHB3UllTbk45aDFDZzVoSHFCQzBEWlNw?=
 =?utf-8?B?bGZXaWZDb0FtTHVQY09YdnpySks3NHR4eVpZdWlCNWkxWGJmK2JhNWdHNmdt?=
 =?utf-8?B?MXVyOS9tamdIM0R1QmVlUVlLbTBJZEpwL0grL3V1RlVSYkZacG1mTDJiem9H?=
 =?utf-8?B?YkdTMHd4UjgzSGRmSU5xdStXQjZDSlFnV1dLT0hFckZxUFFsU2pjYThQanJN?=
 =?utf-8?B?RFE0Z1FrVkZmZ3lwNUx6dm5oZ01PTkNiMHNLbm1zZTBMSlJuL3NKQ3d5cktQ?=
 =?utf-8?B?MnZXdm9hQ0ZUMGh2d2ErZWV5a3gxbGMxeE04ajVVZjQ0N05sN21tc0g5ZWo3?=
 =?utf-8?B?ZWFqQ1BjMDFoSWV3aGprU0tSVXlmb21oS2tYTHl0bVpMMnFyTnVvZ2VZZzBw?=
 =?utf-8?B?QUdqMlF4UFdYZFZPRmNBWmlUczlzZVRuY2Y0TEdpYmFoNGtpU3NYNG0rb1c3?=
 =?utf-8?B?YUtsOU1HUTd5c1dKMTNTRWdiOE85M1pZOGoxQ2xlQXZOdlJCYWN6aW5CVjZO?=
 =?utf-8?B?NzBxQVZoRkhtRFFRL3NxN2tRNk52N0lvWU1Vd2ptMEFtVytkU2c1bGdHOUdY?=
 =?utf-8?B?Mlo1V3hIY0pVSjM4RnliK1lmc2dKbW5kT3RvRzhnSnlPelFINmF5ckRtTjNa?=
 =?utf-8?B?MjNKdGJzdW12Y0gyYXNwV0R0UkFLUkdoWW9kbzAzZktIVFRhbEN2QXZtTEFs?=
 =?utf-8?B?TnpBNzFPUXZ3YjQ5d1pFSk9UZ2dWRjhoekJ5ZDhweW93VVNSU0pwZEtBSGR6?=
 =?utf-8?Q?KwTwWdMO3BrEG0tNTppPuf+q/?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <64E30F8BBB2B9849873CE295B00941CF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 822a7bb2-6291-4364-3b57-08da76d31436
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2022 11:10:17.5153
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 6TYyJzwakcQeDV1RauZNu9JPhfHDd3/8qwR4LLB1JMmjgWAtdk+gF2y6ixrbbl7/8c6U4WhQnTHuC4cRtR6Xu0isnwhPmlk67BzkpxF9CyA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6509

T24gMDUvMDgvMjAyMiAxMTo1MSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDA1LjA4LjIwMjIg
MTI6MzgsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBJdCB0dXJucyBvdXQgdGhhdCB3ZSBkbyBp
biBmYWN0IGhhdmUgUlNCIHNhZmV0eSBoZXJlLCBidXQgbm90IGZvciBvYnZpb3VzDQo+PiByZWFz
b25zLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+DQo+IFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+DQo+IHByZWZlcmFibHkgd2l0aCAuLi4NCj4NCj4+IC0tLSBhL3hlbi9jb21tb24vd2FpdC5j
DQo+PiArKysgYi94ZW4vY29tbW9uL3dhaXQuYw0KPj4gQEAgLTIxMCw2ICsyMTAsMjYgQEAgdm9p
ZCBjaGVja193YWtldXBfZnJvbV93YWl0KHZvaWQpDQo+PiAgICAgIH0NCj4+ICANCj4+ICAgICAg
LyoNCj4+ICsgICAgICogV2UgYXJlIGFib3V0IHRvIGp1bXAgaW50byBhIGRlZXBlciBjYWxsIHRy
ZWUuICBJbiBwcmluY2lwbGUsIHRoaXMgcmlza3MNCj4+ICsgICAgICogZXhlY3V0aW5nIG1vcmUg
UkVUIHRoYW4gQ0FMTCBpbnN0cnVjdGlvbnMsIGFuZCB1bmRlcmZsb3dpbmcgdGhlIFJTQi4NCj4+
ICsgICAgICoNCj4+ICsgICAgICogSG93ZXZlciwgd2UgYXJlIHBpbm5lZCB0byB0aGUgc2FtZSBD
UFUgYXMgcHJldmlvdXNseS4gIFRoZXJlZm9yZSwNCj4+ICsgICAgICogZWl0aGVyOg0KPj4gKyAg
ICAgKg0KPj4gKyAgICAgKiAgIDEpIFdlJ3ZlIHNjaGVkdWxlZCBhbm90aGVyIHZDUFUgaW4gdGhl
IG1lYW50aW1lLCBhbmQgdGhlIGNvbnRleHQNCj4+ICsgICAgICogICAgICBzd2l0Y2ggcGF0aCBo
YXMgKGJ5IGRlZmF1bHQpIGlzc3VlZCBJUEJQIHdoaWNoIGZsdXNoZXMgdGhlIFJTQiwgb3INCj4g
Li4uIElCUEIgdXNlZCBoZXJlIGFuZCAuLi4NCj4NCj4+ICsgICAgICogICAyKSBXZSdyZSBzdGls
bCBpbiB0aGUgc2FtZSBjb250ZXh0LiAgUmV0dXJuaW5nIGJhY2sgdG8gdGhlIGRlZXBlcg0KPj4g
KyAgICAgKiAgICAgIGNhbGwgdHJlZSBpcyByZXN1bWluZyB0aGUgZXhlY3V0aW9uIHBhdGggd2Ug
bGVmdCwgYW5kIHJlbWFpbnMNCj4+ICsgICAgICogICAgICBiYWxhbmNlZCBhcyBmYXIgYXMgdGhh
dCBsb2dpYyBpcyBjb25jZXJuZWQuDQo+PiArICAgICAqDQo+PiArICAgICAqICAgICAgSW4gZmFj
dCwgdGhlIHBhdGggdGhvdWdoIHRoZSBzY2hlZHVsZXIgd2lsbCBleGVjdXRlIG1vcmUgQ0FMTCB0
aGFuDQo+IC4uLiAobml0KSAidGhyb3VnaCIgdXNlZCBoZXJlLg0KDQpXb3cgSSBmYWlsZWQgYXQg
d3JpdGluZy4uLsKgIEZpeGVkLg0KDQp+QW5kcmV3DQoNCj4NCj4+ICsgICAgICogICAgICBSRVQg
aW5zdHJ1Y3Rpb25zLCBtYWtpbmcgdGhlIFJTQiB1bmJhbGFuY2VkIGluIHRoZSBzYWZlIGRpcmVj
dGlvbi4NCj4+ICsgICAgICoNCj4+ICsgICAgICogVGhlcmVmb3JlLCBubyBhY3Rpb25zIGFyZSBu
ZWNlc3NhcnkgaGVyZSB0byBtYWludGFpbiBSU0Igc2FmZXR5Lg0KPj4gKyAgICAgKi8NCj4+ICsN
Cj4+ICsgICAgLyoNCj4+ICAgICAgICogSGFuZC1yb2xsZWQgbG9uZ2ptcCgpLg0KPj4gICAgICAg
Kg0KPj4gICAgICAgKiBjaGVja193YWtldXBfZnJvbV93YWl0KCkgaXMgYWx3YXlzIGNhbGxlZCB3
aXRoIGEgc2hhbGxvdyBzdGFjaywNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 11:15:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 11:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381065.615571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvIJ-0007Me-B4; Fri, 05 Aug 2022 11:15:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381065.615571; Fri, 05 Aug 2022 11:15:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvIJ-0007MX-7e; Fri, 05 Aug 2022 11:15:07 +0000
Received: by outflank-mailman (input) for mailman id 381065;
 Fri, 05 Aug 2022 11:15:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvII-0007MN-KI; Fri, 05 Aug 2022 11:15:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvII-00069b-GD; Fri, 05 Aug 2022 11:15:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvII-0005xd-9w; Fri, 05 Aug 2022 11:15:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvII-00076V-9T; Fri, 05 Aug 2022 11:15:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hGCW7nk6C6Y/JIK+GJIdqC2+eCBwe8/L4YMnNjz9A+4=; b=sGVfbjtNA5rGZK9QyulkWvvc3S
	/clvhv1wDyoNjjM2Ne6Q61WO3+R+StvuzFmHs+R+aTJ+0kQXklglZ+ZJb4CirKbj8aLB5gjCMy0mm
	m/EXvcBexG8qQ7c8mdAy30d3PnwgJetw++Uk1/9wr95lrFjBYlTRfW4wchnJAfMcwd9A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172160-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172160: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cc7410683db0a98758d03401b628ba8652c20c18
X-Osstest-Versions-That:
    xen=1f7543c039f6b9eb182f0395965b9d414ac774c4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 11:15:06 +0000

flight 172160 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172160/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172149
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cc7410683db0a98758d03401b628ba8652c20c18
baseline version:
 xen                  1f7543c039f6b9eb182f0395965b9d414ac774c4

Last test of basis   172149  2022-08-04 22:03:06 Z    0 days
Testing same since   172160  2022-08-05 07:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1f7543c039..cc7410683d  cc7410683db0a98758d03401b628ba8652c20c18 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 11:40:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 11:40:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381076.615592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvgQ-0001hU-JF; Fri, 05 Aug 2022 11:40:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381076.615592; Fri, 05 Aug 2022 11:40:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvgQ-0001gk-CG; Fri, 05 Aug 2022 11:40:02 +0000
Received: by outflank-mailman (input) for mailman id 381076;
 Fri, 05 Aug 2022 11:40:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvgP-0001Yh-En; Fri, 05 Aug 2022 11:40:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvgP-0006Y9-Aj; Fri, 05 Aug 2022 11:40:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvgO-0007ow-TH; Fri, 05 Aug 2022 11:40:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvgO-0007UJ-Sl; Fri, 05 Aug 2022 11:40:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=z3lvMB3LNbF4maQz/JFQJ6qov7xYRG6FUJUWrDYpdRU=; b=ztuQFHBZ9Exau5wHNWhFxGmNFU
	kzUwZQNAxTgTXiydsJHewQyT3Rwp2HHJeH/sRZ1PTZSA+nhCJ4sh20wNmLiuQBNlzwuwvVSqXDWXu
	Sd1g7Wz+6w9jTg4pJuNrwlUTEAHAxCRgfiyX1AKQ5oGbfIwZi6V651AFG1n6zvfy9Ct0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172152-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172152: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:host-ping-check-xen:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b2a88c212e652e94f1e4b635910972ac57ba4e97
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 11:40:00 +0000

flight 172152 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172152/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 test-armhf-armhf-xl-arndale  10 host-ping-check-xen      fail REGR. vs. 172133
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                b2a88c212e652e94f1e4b635910972ac57ba4e97
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    1 days
Testing same since   172152  2022-08-05 04:01:26 Z    0 days    1 attempts

------------------------------------------------------------
684 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 59507 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 11:41:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 11:41:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381086.615602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvhc-0002wl-VZ; Fri, 05 Aug 2022 11:41:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381086.615602; Fri, 05 Aug 2022 11:41:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvhc-0002we-SB; Fri, 05 Aug 2022 11:41:16 +0000
Received: by outflank-mailman (input) for mailman id 381086;
 Fri, 05 Aug 2022 11:41:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvhb-0002wQ-BE; Fri, 05 Aug 2022 11:41:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvhb-0006fO-8l; Fri, 05 Aug 2022 11:41:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvha-0007t7-Vt; Fri, 05 Aug 2022 11:41:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJvha-0000D3-VR; Fri, 05 Aug 2022 11:41:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HxBacNN9erxEnayFqW4AGpNrlce7Jgo5hVEUO9NrP4g=; b=NzVFFZUz+te8K5AnLZ1VoMhCxC
	6g7JA1aQqEoZkD6HG4upaYF8bDLYDzqtzO23d8BWE/UiUxW4/ErjRe2ifms5t71xz5zLb3AJsSzCR
	4/GhPhqbpEQb8jJ+67LULtbKl+7D4oFhyZ149Q5l3sFysazTduRV470SPgwLbYv2p/U0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172153-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172153: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=589536e75d2af745c8f27134b466b23e4fbe3e95
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 11:41:14 +0000

flight 172153 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172153/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              589536e75d2af745c8f27134b466b23e4fbe3e95
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  756 days
Failing since        151818  2020-07-11 04:18:52 Z  755 days  737 attempts
Testing same since   172153  2022-08-05 04:20:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118320 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 11:44:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 11:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381095.615613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvl6-0003bQ-Es; Fri, 05 Aug 2022 11:44:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381095.615613; Fri, 05 Aug 2022 11:44:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJvl6-0003bJ-BX; Fri, 05 Aug 2022 11:44:52 +0000
Received: by outflank-mailman (input) for mailman id 381095;
 Fri, 05 Aug 2022 11:44:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fcVI=YJ=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oJvl4-0003bD-R5
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 11:44:51 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60080.outbound.protection.outlook.com [40.107.6.80])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 025bee11-14b4-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 13:44:48 +0200 (CEST)
Received: from AM6PR10CA0011.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::24)
 by DB8PR08MB5385.eurprd08.prod.outlook.com (2603:10a6:10:119::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 11:44:46 +0000
Received: from AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:89:cafe::30) by AM6PR10CA0011.outlook.office365.com
 (2603:10a6:209:89::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Fri, 5 Aug 2022 11:44:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT018.mail.protection.outlook.com (10.152.16.114) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5482.12 via Frontend Transport; Fri, 5 Aug 2022 11:44:46 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Fri, 05 Aug 2022 11:44:45 +0000
Received: from c4ee71ceccce.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9F558D01-FC92-4DD3-B23B-73BA83C3F40B.1; 
 Fri, 05 Aug 2022 11:44:39 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c4ee71ceccce.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 05 Aug 2022 11:44:39 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DBAPR08MB5607.eurprd08.prod.outlook.com (2603:10a6:10:1ae::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 11:44:37 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.016; Fri, 5 Aug 2022
 11:44:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 025bee11-14b4-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cJINa2VTwg3fqq3Oj/xphfXPPlqWZrNRzlhKobjWu4eppD9Ah1vMi5SVSxyiwYW9L70xab8QF6xDWE6UqUQT4p01LqzNlYMV/e1gh7NKSFrYk6UaxkWI2ttBwxPjSXJSo4okURIDpip90FLCCdVxfbuMTy6UqS4FycJ0nhTEGuAr6VNffIF51WkkWHoLzU2+EVs8MMBBjgrRKVIy+H/XVcj2JWbiQpp60B1SItGgpqLa1h+vkHIJ/gtmcwXHrTcprlmU0qjPQma0MHqe2wpWzW6jhd/Y+jB7c7gCfSw+19HPNj2yaj9wRDTNC6NDuoNaicXrj3Pws1J2NSK/ezprgA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QWzF3SlKpUzG1sytpRrSPU1L7zn8eraL1X2wvtQ2gug=;
 b=FZ9wDH9lbRnnOQnAj8DpeOj2ptaTRvIxa/nhXYgmZLxqMbf62StF+YxmKQeQpo3+pTvJe1vnUXliBzOPuKe0ALph0EXBAJrEanUsEmca56xTpfoJl08Nh9x0mzMYJdVNIvxFRqr0+uaWT10J/ik2pOzAc8FlVH6wne0kXBpeldoYc+0erezcx1Q2bIlxnz8R5RJXZAjFvVQKEuJc2WqZZJFt5ckA7a408fONtxXslbX6mgQPjoKlvT6PESwgf4+xC6IgbfzdV7n3U6ncd0aBxur/9zexrt4BGAZWhJaF2KE/3zBA+lnH0BeQ+M2AdwRo+khHCPHFs9nOPG4/mrx/WQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QWzF3SlKpUzG1sytpRrSPU1L7zn8eraL1X2wvtQ2gug=;
 b=Bri/mQTF/kMC+vsa01pDa5GAla/SRAbd8ZJx5n78QkWZKYd8Zn2GSEV1CRu6Mwd/rxlNF24blDMyScZ5u8YoFCzNwMSg0hiW4B2mG71t+02WoNDLj49xw2UQz5JQTleloAaenhsvFfKBQ9ouEbMCdcJfc66Lqrfv8LIBm4Okv6I=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0e0a11bf3ca6d663
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hy5TkeTsLuTgELUrhgkv8Bw+4X0a3VEgvwgEHvyiT+Gl+6V40qPV18cXruZAe4/59ycJA8mgkVt6X4E20rlGkeMeWpEUEBaWdYjmG4HfDxlegyYQU9PsQPyWuZARdOLZIqDRZLTJqkbvdudjtw4ydp6IaqqgeCKQkyp8oV5z8nIvd5tzSvaMrkRe8f7/I/nyE7r2ZOXO405cftkEMayFkkpDogdjjCq0xbt7d3pbWISYKIU/5DXU17C3blkiVwvSZbb7GhP64VA09Xp7hg3Jg0l5PRaPdAaRfxIsnp2ASBJpSuGdGBPzxCnH8LKOFycG51QQdPqTaVkhIgEYEjv3yg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QWzF3SlKpUzG1sytpRrSPU1L7zn8eraL1X2wvtQ2gug=;
 b=W8lNNQ7rqI4ofairr+vIxXcmcR59uBCbJ2LHu9pGjl5TMZiFZ9uAug/ZdPOtIzvfbL93QslTNCIjxjAcgclLPRF+GjenaBAGPLf6U/lBkb5eZqM3/ew3Lw0TR7BKxCe56weEJ25wpYo1S75cd69p8KOq4yrZh2JtfJMGCed8Kz5xPKTwkeuSyKllIZMqj/NBBghAh/w/lYvjetPa6JSM/HwRotSKqvlx9aa8Ad5ebUSq6R9wdkyUNfTSZOVO3AIw9+Nzqv+jGuRyJVoxkhh+w2jtil+LCmVkuAgxN13W5QtwIRflzc9FNOVEfIGC9ISSsOv8FeVg8rVVzOnQ2s1Kdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QWzF3SlKpUzG1sytpRrSPU1L7zn8eraL1X2wvtQ2gug=;
 b=Bri/mQTF/kMC+vsa01pDa5GAla/SRAbd8ZJx5n78QkWZKYd8Zn2GSEV1CRu6Mwd/rxlNF24blDMyScZ5u8YoFCzNwMSg0hiW4B2mG71t+02WoNDLj49xw2UQz5JQTleloAaenhsvFfKBQ9ouEbMCdcJfc66Lqrfv8LIBm4Okv6I=
From: Rahul Singh <Rahul.Singh@arm.com>
To: "leo.yan@linaro.org" <leo.yan@linaro.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Peter Griffin
	<peter.griffin@linaro.org>, Jerome Forissier <jerome.forissier@linaro.org>,
	Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>
Subject: Re: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Thread-Topic: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Thread-Index: AQHYp9oSH5EsxeaUkUyE6LjUTYBewq2gMcUA
Date: Fri, 5 Aug 2022 11:44:37 +0000
Message-ID: <D6DDAE40-A8EF-4230-A292-401FBA085EE0@arm.com>
References: <20220804081253.GA1219098@leoy-ThinkPad-X240s>
In-Reply-To: <20220804081253.GA1219098@leoy-ThinkPad-X240s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2a33f93e-2e5a-4ac6-019e-08da76d7e52e
x-ms-traffictypediagnostic:
	DBAPR08MB5607:EE_|AM5EUR03FT018:EE_|DB8PR08MB5385:EE_
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 xnuOBSGJj0UlvPed0NnSx7cIQRq+1SZIdZ63mx9puYyEqYZlL8cIj9FB7jTWWHInAuSUMjiJj32XaEWstEK43EMeBu085NHEBo/cKOxkZ6ltLV8aV5yLB1qq2QEc3oA+YNJ6AyCo03JCDQtCUt4UQsTnkEpYhhGy4dBII5CpFC2H7IPGnLm6lZcJF2Hs5J+y+cvDxHUrKhqNaZByxvgpXdEwGCvzClvtoFAjniUiob8fUS4QT4y7yFBkSbx46RKey7+yhZXKiwRrxXkEBG3NQvj7lRN/ltqsd3Q/cTnIno9Z6TBLou6EHr5fRGvB6vBgDrWJTOKNKzRiWcj9wEUozA+akGUqbG8HfEv1B+mL1Syt2uiMU/B3KeSBoyV7QXWMPexv9Zw16NDa9tq1gJ3ayD38bxXhjPz8iQp/3QiVNeSClDZ0UuIofBhZ2hXMsw0T57+hO7MNWVYjuJnjTE+aggd7w+4haHpy6CZ/00AaB5cveTohdblU6MZsA9//+ZTaZEnJWYnHtvan8P/OqlUI9g9mB2CphjWx1tAe5uKEc/yYjRr/K9+46M5EHhhX4lnxtQli1lEU9qol8bNmp8jmmCcuQO4IdWyY5dw9Q3xGuZzzyNoIRwGOWFc4BadwX1TUnKycJIY69zvFB2dXIlZ2uXHVf4CG/v6KWYODyPE6eHFt9GVebctivAfJP5gZdy4zpV5pmro9Tvf3w9cpC2Oay8yQQa40PweyqOkb6I2kkpE+vgZvxJ9vZC5srlWcvhbYHAJoyUuKbIlJsZxW5gbrIKXsK0U1M2/vbsL8OV8B7jxUa0EoIQf+WlSp7DCAXnOGEi4uGk3zgbhn0x7XPe8Sgw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(39860400002)(346002)(366004)(396003)(83380400001)(38070700005)(86362001)(33656002)(66556008)(66476007)(76116006)(66446008)(66946007)(8676002)(4326008)(91956017)(64756008)(38100700002)(71200400001)(122000001)(478600001)(8936002)(6486002)(54906003)(45080400002)(316002)(6916009)(26005)(6512007)(186003)(6506007)(53546011)(2616005)(5660300002)(36756003)(41300700001)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <6454EA06E458274A92A04412AC654A35@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5607
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cd899358-33e3-4c20-defe-08da76d7dfe0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	we8fyBwntnkn1PCrGg8xGTkho2GQvV72kfCtsLg7akBgVXss5BKMQTkkmPfHPq25Bm2CyeZ3FqelkQLS1Y9fwmHCIPy4q0LWIAHaeRDQTl2/u9Xyxk/UsrYPe+iOVB5tXSBEi4/VCy8Zj9ulgEWz9cCDFTNJLCAx89KzywozJh95Thez36khKWvULfDqoj3izWNSc/jpGTp57RhP5zDjDqPJemUE1qDOR0tTFEQxfzB/MzPeJ50OTZVmAQsENohFxBhiaS3vVT4z++uSmMFgAlapkXfnr9Tz03esfarIPnLxPPX9++HYvjlFu0zLw73aJ6qj1FPWFVIA0IXum4Ir3kbkSg+ZzPm9EzPy+b2gbiifa2V66LZSKibhI/MqYiMOmAvetCW1pKch50RcSHknx/E2w/EEdny+328FkBFDisl8frCW044h80wE4WbYKaZb99tPkwqqAJWLWGs1CMp+4ej2DlDePG1rAZEJVWsawHQ09cvYQ2EEzVikJhVQUYfdZfK4zJgVHbVHOImXV6RwKHjDsABOJAeO+GtRTdbn3WPNy5ll1NTwU2rw9tPRAR7BQmcZc3A/S5WrZJi0ilVU1UCHb/cvqqwMUOWxJ0CE+FqdiA5XCPJ3Tzi3E/m7bzjnpA37cTZ8Et+d9ke9TNw8mf9o5T6wEaxTUb/4Er+R4nB9QJJ+9ErBtN2Mxt6fXNinSDVNduHUS3cwAwcw3MGhoSN+gvSKPGaJRwKurqsnAuIaSMnJmx+5Hgr/Mva7vHleHt9NvuQI3lI3XLz67ZN8ZbOlneSIsVPbweFYz0ABsRnj4vh2QhzwI3RSjC+xtVpX
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(346002)(39860400002)(136003)(36840700001)(40470700004)(46966006)(45080400002)(316002)(40480700001)(478600001)(33656002)(107886003)(47076005)(336012)(2616005)(6486002)(41300700001)(53546011)(26005)(54906003)(6512007)(186003)(6506007)(4326008)(36860700001)(70206006)(86362001)(70586007)(36756003)(5660300002)(2906002)(81166007)(8936002)(6862004)(356005)(8676002)(83380400001)(40460700003)(82310400005)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 11:44:46.0765
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a33f93e-2e5a-4ac6-019e-08da76d7e52e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5385

Hi Leo,

> On 4 Aug 2022, at 9:12 am, Leo Yan <leo.yan@linaro.org> wrote:
>=20
> Hi there,
>=20
> Now I am working on Ampere Altra SoC platform, with Xen (4.16) and Linux
> kernel (5.15.23).
>=20
> I observed a warning is reported by Linux kernel in the booting flow:
>=20
> [    0.403737] ------------[ cut here ]------------
> [    0.403738] WARNING: CPU: 30 PID: 0 at drivers/irqchip/irq-gic-v3-its.=
c:3074 its_cpu_init+0x814/0xae0
> [    0.403745] Modules linked in:
> [    0.403748] CPU: 30 PID: 0 Comm: swapper/30 Tainted: G        W       =
  5.15.23-ampere-lts-standard #1
> [    0.403752] pstate: 600001c5 (nZCv dAIF -PAN -UAO -TCO -DIT -SSBS BTYP=
E=3D--)
> [    0.403755] pc : its_cpu_init+0x814/0xae0
> [    0.403758] lr : its_cpu_init+0x810/0xae0
> [    0.403761] sp : ffff800009c03ce0
> [    0.403762] x29: ffff800009c03ce0 x28: 000000000000001e x27: ffff88071=
1f43000
> [    0.403767] x26: ffff80000a3c0070 x25: fffffc1ffe0a4400 x24: ffff80000=
a3c0000
> [    0.403770] x23: ffff8000095bc998 x22: ffff8000090a6000 x21: ffff80000=
9850cb0
> [    0.403774] x20: ffff800009701a10 x19: ffff800009701000 x18: fffffffff=
fffffff
> [    0.403777] x17: 3030303035303031 x16: 3030313030303078 x15: 303a30206=
e6f6967
> [    0.403780] x14: 6572206530312072 x13: 3030303030353030 x12: 313030313=
0303030
> [    0.403784] x11: 78303a30206e6f69 x10: 6765722065303120 x9 : ffff80000=
870e710
> [    0.403788] x8 : 6964657220646e75 x7 : 0000000000000003 x6 : 000000000=
0000000
> [    0.403791] x5 : 0000000000000000 x4 : fffffc0000000000 x3 : 000000000=
0000010
> [    0.403794] x2 : 000000000000ffff x1 : 0000000000010000 x0 : 00000000f=
fffffed
> [    0.403798] Call trace:
> [    0.403799]  its_cpu_init+0x814/0xae0
> [    0.403802]  gic_starting_cpu+0x48/0x90
> [    0.403805]  cpuhp_invoke_callback+0x16c/0x5b0
> [    0.403808]  cpuhp_invoke_callback_range+0x78/0xf0
> [    0.403811]  notify_cpu_starting+0xbc/0xdc
> [    0.403814]  secondary_start_kernel+0xe0/0x170
> [    0.403817]  __secondary_switched+0x94/0x98
> [    0.403821] ---[ end trace f68728a0d3053b70 ]---
>=20
> Looked into the code, the GICv3 driver tries to create persistent
> reservations for pending pages, and the persistent reservation table
> can be used by kexec/kdump.  For the persistent reservations, it
> relies on MEMRESERVE EFI configuration table, but this table is not
> supported by xen.efi, I think this is the reason for the above oops.

Yes, you are right above warning is observed because Xen does not support=20
memreserve efi table. I also observed a similar warning on the N1SDP board.
>=20
> I checked that if I boot a host Linux (without Xen), then the EFI has
> provided MEMRESERVE configuration table, I can get below log:
>=20
>  #  dmesg | grep MEMRESERVE
>  [    0.000000] efi: TPMFinalLog=3D0x807f9ef0000 ACPI 2.0=3D0x807fa0d0018=
 ... MEMRESERVE=3D0x807f8141e98
>=20
> Just want to confirm, is anyone working on enabling MEMRESERVE EFI
> configuration table for Xen?  And welcome any comments and
> suggestions!
>=20


Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:05:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:05:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381105.615630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJw5H-00069W-F8; Fri, 05 Aug 2022 12:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381105.615630; Fri, 05 Aug 2022 12:05:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJw5H-00069P-B7; Fri, 05 Aug 2022 12:05:43 +0000
Received: by outflank-mailman (input) for mailman id 381105;
 Fri, 05 Aug 2022 12:05:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=34eQ=YJ=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oJw5G-00068Y-3G
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:05:42 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20045.outbound.protection.outlook.com [40.107.2.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec63fd40-14b6-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 14:05:40 +0200 (CEST)
Received: from FR0P281CA0053.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::17)
 by VI1PR08MB4559.eurprd08.prod.outlook.com (2603:10a6:803:100::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 12:05:37 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:48:cafe::7f) by FR0P281CA0053.outlook.office365.com
 (2603:10a6:d10:48::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15 via Frontend
 Transport; Fri, 5 Aug 2022 12:05:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Fri, 5 Aug 2022 12:05:36 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Fri, 05 Aug 2022 12:05:36 +0000
Received: from cc54504fab03.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 75CC43E4-BFFA-488E-91C3-772C8E4C703C.1; 
 Fri, 05 Aug 2022 12:05:25 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cc54504fab03.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 05 Aug 2022 12:05:25 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB8470.eurprd08.prod.outlook.com (2603:10a6:10:406::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Fri, 5 Aug
 2022 12:05:23 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.014; Fri, 5 Aug 2022
 12:05:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec63fd40-14b6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Kh91LmvjidxXvabeeFSL5uqWurR+zgCVP9fHFN2dsEGRbqUdnQtjGJjM29KwRuPjs9lr92GM1kI9AvhZHfnLCL784NkgZOHMQQXFjr8oSnhl79SRBb8xCGyan57Xse3arc8fs95ysgQ6ir//ywF0UYlFodApUeBJtuslo8zskGB7qwwBhAx89aaB8mMq/Xpy48B4H49Jb5noDJtgg66qquF9OjRLyftcD78igAQGtLAavoaFsR7PYUjRMJ3IwiLvZjQQzy/V2HcsCJ7kVjbT1ThNpj+kGAeXw6btyPNwFv2v5Yq9TauDQqXoYw+ZkacAEa8dMJfwRBmkVFx4ol8bwg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vXNlIwD4rqRziOLZr0CUjujEfSVSItRtbleORrE8oF4=;
 b=PFYSUzfkEYPTolnMFmxS/3yeeH6J8Xci4ubDBw0ZicTtMUoeQ/u/ox39LwLCUX2sNlKaKtjRuU5khE02hHjKCaac/PXhsC5AL2ecXx8Mm9d+GPDuEzP9OYhJgdC4sIFQw5nEEX3jvePf4DIu8zme7KQyU6r4LMMpg0AXlVZylveZu0uES5seb7CDXv1gcANg+7Q1CYOWHDHHQGPToGey31sNHbjDEJ7ABpQk/lapD4P5cqfDJnNktdsHP0kLrkLm3a24LS5yw40CCQY46/KafHRnFx9WpGGrsRPos5BPb3LfL7WH/zcOhMhFMbMkxTOT9/cD4pzqi/Go6wqtJdqnng==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vXNlIwD4rqRziOLZr0CUjujEfSVSItRtbleORrE8oF4=;
 b=v3gJUTkDtxBGCmaxB4MP81N+G0lwg5QFB4KMBMJFZZDK4LaJePIf9T3+XZTuXkvRz/+vH6RvgW75YlWTVhKZATyVSaWD8+NHs9zl257+cIlf3SiWvE6QEUbdEPGjVm5z5bb1F9BhkOc5W2MnFUWRT/hT18Owj1RKv6gCC2ya2tI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 20023080a0a20548
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SwmrPU8Am4DrBXexY29pUyquN9Xtlt6fsgjAxZFPLHmGGefT0o11A5d+XichKPJICXbCpSqFAZyNAMUj/VjP6VgkUg8yj7GLcAXgMYXrnS4N3NRZLZHWehKKY3LxDAmoCaIQvipuoz2gM1oKz5BP7rg7sc0hL+k9ffAT+P4r2X/I8pgiQC+1p8CO0tvHi9YlolKO1b37FQEcLEWyH1YglXu9qIawPYtjy0XS3ww135qFZN/EDItMWW/cpW0jXU00X+L6jjizO+NjzGeVQuPCTempGDjtWSI8+hCkM5PMsx+7EqCA+M57qRfoQAlufrIL43tUW0gfYqM0875/P2ySwA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vXNlIwD4rqRziOLZr0CUjujEfSVSItRtbleORrE8oF4=;
 b=Myxvdf/GthqsFOHraW8sfOJ8VpibvoQFCm1/O7rQNr/0l8EfN+v08ySVWsDen10IsjaESvAvE6Mdg7LakCqCoRieeyKa4HZz+Cr3r6V0ToiirTV+Gus9jwILPhgBKounn6rto35pSBq04Y4SR8K5uFnsdOVnYRgUnCcmPlJJqqp3EeROMXKRzpXbj/g0JTHCshgCPOI8klMyvpW73Zx1zdLa1ksK/IlniMZY1xWMaayNALAGfhWa7C9v6YFmVL03PkjX5urb+dtN/3dQ1FEMGsyC7vt4lgFyE8Y3aqt3ybp6j/CaeXbwlxauPtg+cuSoQUOzSDStkWQScU65ZQwRLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vXNlIwD4rqRziOLZr0CUjujEfSVSItRtbleORrE8oF4=;
 b=v3gJUTkDtxBGCmaxB4MP81N+G0lwg5QFB4KMBMJFZZDK4LaJePIf9T3+XZTuXkvRz/+vH6RvgW75YlWTVhKZATyVSaWD8+NHs9zl257+cIlf3SiWvE6QEUbdEPGjVm5z5bb1F9BhkOc5W2MnFUWRT/hT18Owj1RKv6gCC2ya2tI=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "leo.yan@linaro.org" <leo.yan@linaro.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Peter Griffin
	<peter.griffin@linaro.org>, Jerome Forissier <jerome.forissier@linaro.org>,
	Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>, Rahul Singh
	<Rahul.Singh@arm.com>
Subject: Re: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Thread-Topic: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Thread-Index: AQHYp9oMDnfnppRN40WNR+bqQStYIa2gMcaAgAAFzAA=
Date: Fri, 5 Aug 2022 12:05:23 +0000
Message-ID: <EA8A294E-856D-4579-B26E-55F6B7EB477C@arm.com>
References: <20220804081253.GA1219098@leoy-ThinkPad-X240s>
 <D6DDAE40-A8EF-4230-A292-401FBA085EE0@arm.com>
In-Reply-To: <D6DDAE40-A8EF-4230-A292-401FBA085EE0@arm.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 33acfad1-6a7c-4890-8e54-08da76dacebf
x-ms-traffictypediagnostic:
	DU0PR08MB8470:EE_|VE1EUR03FT045:EE_|VI1PR08MB4559:EE_
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 jjKC9sw26RcwHB7lozlpQx6K3b6xXeQzXHDHI9H+A+CXcvkmfV+lWrx2foyu+imuGVUZ3oqBpS7NVJCsW/0WLMS5ZvOc7d+sFdgLQTmNo8qrvGP7Oq3NGLKByeafb5oStDU0o/OtbhZLhbR+qN4fsBac5shvkh+NI050C7CYa9mHgsqIImWXQCcp+4JIJUoll0nEnsNfi+0dtXo7vutcF7IMNUXyZnEYIPqJLG7bivtSJww327z7j2uqnkR1eEzen7SkFjNpKkzmLkhk+kLPp3WfUggdX7SVlu4tDeiwvz03XbQl1k85O3Z6rMP+Py1qFWL9NMIWLJVvQtp9FdSqMdIC8YogI9WUp8nf3gfQ6VzuBQ/o0WeboOIvRWThMUFnihUo73012HVTGv55x+pj5L7WjTsjmV2yVt7zLRXTgyP2YkyFpZWM8d2aNcDgFrBa0VHtiCZsj8Dyzvmup4F5EE8N8cnbQWCWAkWE7WeJhF1B9kdKFpdbuS3HIQPRkMEBYOON18xco8Uq2HX38asE3LhuCMOmYpqHQAlB2bDZF6wii9VWcZMrgOWITeJfgsNU8O+HP7Iv45iCteXnZ9yICH7IMCsMCL7yYGMJxODN2rvVYykw5nhQJlQd+b0k7wpWCFf2P0Skbyc/tNDmSdysQqAkLpPmt7lF85XpEVzoxwCpljVSY677HUXY1jUxVmJZsNrIHsvsoCjj6s81EkUz4DUbCJ9zN5R5peZpT3nVHpv7JXilZdiZsPtoSI+OIbHnUT7Fdi1ZncqbjEy6h0jkYk97C1pTUxzbVaRQnIJBu1CFvqYCtgdGuSpTr793XIm9GkmVE9FtzKeuSY4skmPBbA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(478600001)(2906002)(64756008)(2616005)(6486002)(66446008)(83380400001)(91956017)(8676002)(186003)(36756003)(26005)(71200400001)(4326008)(33656002)(6512007)(5660300002)(6506007)(76116006)(53546011)(38100700002)(66946007)(45080400002)(86362001)(66556008)(38070700005)(122000001)(6916009)(54906003)(316002)(8936002)(66476007)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EFAE786890DA60409799899A0273F717@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8470
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	405a6d48-01a7-49cf-a2d6-08da76dac6ae
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z4iM8dGCroM+ovT0qcRrixB/2uW1RT5ZEzdDr+xKyYSAUFbXAOhrglHtrVNRlLQehvLpMh5dcuYlhNimSJyl/nqtxtY5ueo4hcwxFVNY5uKy1d3iAup7oR6dV/49gT4iMR5caDytzVeCyDW3haxWQsFXwhE8yggzoR4G4JNrs3AWtrSKvPEiiP15OUGefJwtr7Ztm+c8qF1Hmj8D4kfEs40pTcFe38tI0yekIcrq1Jdu0Bw54IXY+XOBm9hlfJVd7nCVZcTfZDCqYv+Hp0+qvo78Ut4hooAvg3S1hI3a/lKMw09dynUXafmHUqLAljrOBlu0zZoynJX/H6dAL3b1yueRP8Ppn9K899bCrx/3mwR6lkNETs7xvq6nWkNj2eT+IvqxpamknHgQpWLCvdGRrqCuK2EB51Bzrtpe+tC1ApTeo9vU3/IhVrVsqfm/fIphFTJGjRfPfpgRp5wQ0Hz1b4I5RbosUlDWYOtpBmiUcqZOSHHE0ktfLqBkp3gcyBKpLBGUNk5dBsVlov8CTG4AwdA45qznj8hGCnP/iTw+wzte59wREZuLdU6U074Tu1WQAy9zp53yZQiWU2o4rqcoJEoj7u/zV+jFeqK4XQShZNTSk23vq6L8cwlHnF2OSwh/Vri+5CoUzEvjXrGyvlfaL+nBBVRoaS1qU4jcIG1kCNVz22UMK7nbKKWjw7AOUU8OHxCZ6ps/ZHUOi59fhzAbOsl+9pQPjzp+EauIoSPD6dDh8yeRSdRPMO5TvPsqCtoJCLbbC/2DF4QmCKfOjdDcdU6+ralqS6DyGmwnRQ0KaLcpyNcoTMbu9jEANg0j0028
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(396003)(39860400002)(376002)(36840700001)(46966006)(40470700004)(36860700001)(82740400003)(6486002)(2906002)(5660300002)(82310400005)(33656002)(41300700001)(26005)(478600001)(6512007)(53546011)(6506007)(8936002)(6862004)(36756003)(83380400001)(81166007)(316002)(356005)(45080400002)(54906003)(186003)(2616005)(40480700001)(86362001)(8676002)(4326008)(70586007)(336012)(70206006)(47076005)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:05:36.8816
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 33acfad1-6a7c-4890-8e54-08da76dacebf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4559

HI Leo

> On 5 Aug 2022, at 12:44, Rahul Singh <Rahul.Singh@arm.com> wrote:
>=20
> Hi Leo,
>=20
>> On 4 Aug 2022, at 9:12 am, Leo Yan <leo.yan@linaro.org> wrote:
>>=20
>> Hi there,
>>=20
>> Now I am working on Ampere Altra SoC platform, with Xen (4.16) and Linux
>> kernel (5.15.23).
>>=20
>> I observed a warning is reported by Linux kernel in the booting flow:
>>=20
>> [    0.403737] ------------[ cut here ]------------
>> [    0.403738] WARNING: CPU: 30 PID: 0 at drivers/irqchip/irq-gic-v3-its=
.c:3074 its_cpu_init+0x814/0xae0
>> [    0.403745] Modules linked in:
>> [    0.403748] CPU: 30 PID: 0 Comm: swapper/30 Tainted: G        W      =
   5.15.23-ampere-lts-standard #1
>> [    0.403752] pstate: 600001c5 (nZCv dAIF -PAN -UAO -TCO -DIT -SSBS BTY=
PE=3D--)
>> [    0.403755] pc : its_cpu_init+0x814/0xae0
>> [    0.403758] lr : its_cpu_init+0x810/0xae0
>> [    0.403761] sp : ffff800009c03ce0
>> [    0.403762] x29: ffff800009c03ce0 x28: 000000000000001e x27: ffff8807=
11f43000
>> [    0.403767] x26: ffff80000a3c0070 x25: fffffc1ffe0a4400 x24: ffff8000=
0a3c0000
>> [    0.403770] x23: ffff8000095bc998 x22: ffff8000090a6000 x21: ffff8000=
09850cb0
>> [    0.403774] x20: ffff800009701a10 x19: ffff800009701000 x18: ffffffff=
ffffffff
>> [    0.403777] x17: 3030303035303031 x16: 3030313030303078 x15: 303a3020=
6e6f6967
>> [    0.403780] x14: 6572206530312072 x13: 3030303030353030 x12: 31303031=
30303030
>> [    0.403784] x11: 78303a30206e6f69 x10: 6765722065303120 x9 : ffff8000=
0870e710
>> [    0.403788] x8 : 6964657220646e75 x7 : 0000000000000003 x6 : 00000000=
00000000
>> [    0.403791] x5 : 0000000000000000 x4 : fffffc0000000000 x3 : 00000000=
00000010
>> [    0.403794] x2 : 000000000000ffff x1 : 0000000000010000 x0 : 00000000=
ffffffed
>> [    0.403798] Call trace:
>> [    0.403799]  its_cpu_init+0x814/0xae0
>> [    0.403802]  gic_starting_cpu+0x48/0x90
>> [    0.403805]  cpuhp_invoke_callback+0x16c/0x5b0
>> [    0.403808]  cpuhp_invoke_callback_range+0x78/0xf0
>> [    0.403811]  notify_cpu_starting+0xbc/0xdc
>> [    0.403814]  secondary_start_kernel+0xe0/0x170
>> [    0.403817]  __secondary_switched+0x94/0x98
>> [    0.403821] ---[ end trace f68728a0d3053b70 ]---
>>=20
>> Looked into the code, the GICv3 driver tries to create persistent
>> reservations for pending pages, and the persistent reservation table
>> can be used by kexec/kdump.  For the persistent reservations, it
>> relies on MEMRESERVE EFI configuration table, but this table is not
>> supported by xen.efi, I think this is the reason for the above oops.
>=20
> Yes, you are right above warning is observed because Xen does not support=
=20
> memreserve efi table. I also observed a similar warning on the N1SDP boar=
d.
>>=20
>> I checked that if I boot a host Linux (without Xen), then the EFI has
>> provided MEMRESERVE configuration table, I can get below log:
>>=20
>> #  dmesg | grep MEMRESERVE
>> [    0.000000] efi: TPMFinalLog=3D0x807f9ef0000 ACPI 2.0=3D0x807fa0d0018=
 ... MEMRESERVE=3D0x807f8141e98
>>=20
>> Just want to confirm, is anyone working on enabling MEMRESERVE EFI
>> configuration table for Xen?  And welcome any comments and
>> suggestions!
>>=20

No I do not think anybody is working on this at the moment.
If you want to work on adding support for this in Xen, we can provide suppo=
rt
and help on reviewing and testing as we have several targets on which we
observe this (N1SDP and Ava).

Cheers
Bertrand



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:10:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381113.615644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwAC-0007c3-3b; Fri, 05 Aug 2022 12:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381113.615644; Fri, 05 Aug 2022 12:10:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwAC-0007bw-0N; Fri, 05 Aug 2022 12:10:48 +0000
Received: by outflank-mailman (input) for mailman id 381113;
 Fri, 05 Aug 2022 12:10:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eACj=YJ=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1oJwAA-0007bq-R7
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:10:46 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2059.outbound.protection.outlook.com [40.107.93.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a172a5c9-14b7-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 14:10:45 +0200 (CEST)
Received: from MN2PR12MB4192.namprd12.prod.outlook.com (2603:10b6:208:1d5::15)
 by BN7PR12MB2676.namprd12.prod.outlook.com (2603:10b6:408:2d::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 12:10:42 +0000
Received: from MN2PR12MB4192.namprd12.prod.outlook.com
 ([fe80::1a7:7daa:9230:1372]) by MN2PR12MB4192.namprd12.prod.outlook.com
 ([fe80::1a7:7daa:9230:1372%7]) with mapi id 15.20.5504.016; Fri, 5 Aug 2022
 12:10:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a172a5c9-14b7-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Kh7Ue+MJvGMREL2MiPtXKas+SAYp77rsPhWFNPhF181kq4erhOLdILSC4xUvPhLRyRGIFvEymLuHHCMXjK1NVRy6UjatCh5DPvBz0lFjf1AXMOm4vjC/tnJRdPVgksVDVulMqvFmPPMI4yGzdiz2ozqb7WmtkraNX9rxYDrhFGl8ajw6logtnC9aA6BWeBefaSpEahuFi4hHiUjwFZMRfpsa9ZUNfgSFAx4xPMntsiUtnJqpGpjZ7WaLHtsGVqV8qv7VQ4jYpBwcofd5RpAWkH/TAnlyp3vmar1kFzJjuEjRAONXZRlvsunBrleAMoiaXC4TLDMtQ2ej6Jcel19pZA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9xxeV8rR278VqMcf3mIZ8bLAT4CFg7jhy+Oi9B4XdAM=;
 b=Tppk4QN1wkt4mSwe8rGOwh+Nig5+wlwI49BGOAk4YhVlUoU67fJdb+ZdoU7Twwt8U/G+yrxL8F/ps90NbuQS2FMCY+GQE6vF4gEapi96sDQA89JJn3jXFepvTlSoNQo6BjY5clnUbg5HHVpJofV5ytoT+OLoU9hyEswP+uUiPKmMkOh+9S2L1Cd61jfOWSbi9dpxBwFwYKUkuQ4qBb0K/JHZEJgN8I8aGANoAdwOXf3HjSF5YKa0aX+ncuD8tYfQh1vGsfxhUlJkpeTXq5OP+049t/iW8O/zylaZJ9eA7J2h7a7VSKDQ/zSfn51Y90Q6zoBq/kbHDJpCY0zXSjmWnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9xxeV8rR278VqMcf3mIZ8bLAT4CFg7jhy+Oi9B4XdAM=;
 b=ohPAArF8s3Pc3VCcZ9pAtmuOTkCTbCCe7dSw8Fb+HPVxOE8BLm6w4W8Evjk06+5wRCnKcTe2WfMRpMNCTyFBRRngpdoUt09qPxoYB+Umbq0/nhQnDma7u5PLa5FoO0cC+xckM3Z6WJ8QuWQuPeRlpt8HcsG03pbSC0B7BkuPIGn+BngURXIgmRiSrvZZKr0J1vW773Sqwz0R93Cte/opg7ouH0tChsJSaqqtfiMwShNlvCseB8KW8+FwaqE0WCRzVDjp+b7Wu9mMidwsX+17zwCnVhvBqxhoHv28/qulPTVlwrL7nxtbk4X2eP8rbMb7FMqwEGjHtrVsyDC8e7zbVg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 5 Aug 2022 09:10:41 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Josef Johansson <josef@oderland.se>,
	Bjorn Helgaas <bhelgaas@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, linux-pci@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
Message-ID: <Yu0IwZXyTIhdALMb@nvidia.com>
References: <d818f9c9-a432-213e-4152-eaff3b7da52e@oderland.se>
 <f1d3ebc5-0e5e-20b5-430c-9426aa5e4bbe@oderland.se>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f1d3ebc5-0e5e-20b5-430c-9426aa5e4bbe@oderland.se>
X-ClientProxiedBy: BL1PR13CA0282.namprd13.prod.outlook.com
 (2603:10b6:208:2bc::17) To MN2PR12MB4192.namprd12.prod.outlook.com
 (2603:10b6:208:1d5::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: afdaee0a-f265-4bd7-b749-08da76db848b
X-MS-TrafficTypeDiagnostic: BN7PR12MB2676:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z/ZYL9xAGYkhlwftTK0ifDVhB7op4XjzUWiujDGOpgIfgQRJBixPrruv9jedOjn+DUTYPVkUNWcKeUXjW9lvsjb80M+ZLgYMCJTvcJocnP02IX7N5OQno0CromeAM1YVTT2cppfNAKQm6njZXy6HBZAxnSVw2RrKTi+bd+QzZDZwxmebBqpBHrrin4DUhOmBLmu/s4L9HPjloqizym5o8BW3XgEw7fh2T4fzQajCbhPn/CN+ebhtEOwx4D1Xlys829a/02cS9a9YZ4EeXk8wCxLnfnqlMqvVIL5Sja0+/X+8NSdOq1H54YLvyyRmC+MC7ZdNik0n7A+ZCE1JKvDvUj7RgZGPHwReFjHiPN5y9i1pmRHP7PUYR5WxY1bZePvXvbM5mg98hvoEKl5xKbfcNQ7JBnQAAHrjtMGCB+eVc8/BFTK7jOiOwvyNEIhhZtW5UaEqHVaLj2dAdUo/882mj136b7si34i+dGPokGE35SKM6N6I9hXfBeSLkuvZCncRF6OImSPQGnJ/TlXOyfRsSCDXhU/j3WB4GOf00IlSn+9AvBtLOHZwZt/r6S0+6T0Y3kMiMJO/cBNZA+3wZDNHf/qg8SComgQ6jUOzeAhKfe+TRAvFlT9V/hkuRTbxyeKIyvyb4HBhmAOXW7UUHsboMkVv/8J4Lw8/YUYWZvDeFAP8QXRm+vmQWBGuMB9H1bxhMbv8Lhe6n2a51n6ZNXQU64JEF+Z+ox8VmP/HO6lsaMdpsvs0jnYtze7XfiJuPMKC
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB4192.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(366004)(346002)(376002)(136003)(2906002)(83380400001)(38100700002)(110136005)(6486002)(8676002)(66476007)(4326008)(66946007)(66556008)(54906003)(316002)(478600001)(2616005)(186003)(41300700001)(5660300002)(6512007)(6506007)(26005)(53546011)(8936002)(36756003)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?VGgwgg62OJ23hNDSV0Aw3rnMkOGNyck/QKz1/1gbN+JxghvbGwv6nAWCj7T6?=
 =?us-ascii?Q?o0JHGTDaH+hnsG8yi66ES4IL0mkgxqCrfUFMS5Uf4j4+/WHkGwqV9HnZj8XY?=
 =?us-ascii?Q?2uIE0N8RoZpyWDbf06rtDinXCDyU9Zt2LhNuOHaC0ZghfZY4F+K65Wgu6MNX?=
 =?us-ascii?Q?V1opUK+5nvd2fu1Hs/wQwwQzi8zpZvqbl4ZM9TKoCvHnFPnD8HS4ZAvElOjC?=
 =?us-ascii?Q?2cD8wuFYoyJnDSmO7vj43KQznN9PuLJRUHbOuxhTHvDQA95oP0qKXhjc8av6?=
 =?us-ascii?Q?0qHlA5+NrgUv+/yxzirRvHaavxIYuTP2M8tYixjewrnO5GAipStI4up59Pd/?=
 =?us-ascii?Q?A5tRVGUMlnBY6Swo/LnMz3vbVpDew+6gxyq54azrXv0coK0Fd8toVt7c2nHG?=
 =?us-ascii?Q?8dl1wpiylGgr1PWTloxxjJOhugrXxUNYhZq1Rg0gbLnKxV7ZPPEmFlKjpHk4?=
 =?us-ascii?Q?w4qAsCc4QdYTXI3jBHyB173TCvVHqUF2+ZQthYzNhNYqkwVsObF5iSgZNrar?=
 =?us-ascii?Q?cppY59uWAa2YBPxh0orturx4qVyHz+5rysegmn6BUBnqVyWceXgKBCKncZiD?=
 =?us-ascii?Q?T12rOk+jpokjs1Ufi3x6pRMP9EltPnbUHk1EIBoapH+LwrtghEK4zvR0/Xrs?=
 =?us-ascii?Q?jAo4BPFM+w2j4K1y161RngOBUOcldgFkbwKkrIn0+95OGtS4ImxIvThRScYf?=
 =?us-ascii?Q?ZBUhQCBQpDW/AOF2E9GUOKzJ0V8yxC1zx1ttHwgzwam6bRDCyk4sEGIyhrsC?=
 =?us-ascii?Q?k9oJnsFMaSpIrNQA5RIXuRlwY1LqW9NqV7RavaAuOGqLuwTRulP1sp+5T/A4?=
 =?us-ascii?Q?wCBXnumIzJLe3OBxvhsj9dP/2GCO9ZHSJE83KOExGOetBXDYn+sVahUgdpug?=
 =?us-ascii?Q?usN8kqGx7OuhKQ40EbRXDldQLOeyuyuWBpzqlGNUJy44wsMHN3xF6/zMpsOY?=
 =?us-ascii?Q?rCiajsQRz1/ndenQL6NvojSl8u2/pbij46DrOIWvzCuMiTGnKLpJCa42mFY9?=
 =?us-ascii?Q?vvcSWxd4GEukb3XcP8sk+XhzEL38dt/9FvmvVSCdwS0DRm4dA3LdXrSy6O7J?=
 =?us-ascii?Q?2FvlvwrZh8nCqUOt6n63Ytmos5Vm3KdTAdIP/9XQDre39Qy895AOxiAm7eCn?=
 =?us-ascii?Q?oGre5gYvsYUUXrEuqPA3FZ2G+MUX+TOOCpzSCTSSakeHtTnC6BMGdVkar8ww?=
 =?us-ascii?Q?jaxH2vmFAOGaDgQ47h+aMvc61O8o6dOonRdXAIPpkoDD/7/HbCnxjhVTfaWw?=
 =?us-ascii?Q?wIpe2EDZJ/fLJbMef6DlHLq8G2jXt2iTH0wog0/ZHhDoM0owJjSLzwO+5h4P?=
 =?us-ascii?Q?CoIY+UWb/iNRLkSOLm6nUYsYDkNo7MlCv/YeqTFniEMsAz4/za4M2p80/9Pt?=
 =?us-ascii?Q?i7vlbfHGZfD1OvZopmGflQUuSxyM1LKS1wUf7THDpNgEYMNtD7CLCH/vm1hd?=
 =?us-ascii?Q?yX98dteGwXkFkkNSSBw6Lulw8clVGEoKSjv8UNWiQszYfLznLfdJYKQ1TIlg?=
 =?us-ascii?Q?UACV7oT0C227KsQxrz5L+nXuUg3fn/K3ExM5Z5KL3InvEhyNLIpQp95vWhCF?=
 =?us-ascii?Q?99SmlKH4n+zHdD5R3VHDLK5KY1n6WKFuQZvANujw?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afdaee0a-f265-4bd7-b749-08da76db848b
X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB4192.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:10:42.1416
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rDCa341oS1udUlYEgJR16KRnAwek0Hf8+0R/6mfpfWCq3DIikXCfeZKySxscZVSG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR12MB2676

On Fri, Aug 05, 2022 at 12:03:15PM +0200, Josef Johansson wrote:
> On 2/14/22 11:07, Josef Johansson wrote:
> > From: Josef Johansson <josef@oderland.se>
> > 
> > PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
> > Commit 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") modifies
> > the logic of checking msi_attrib.can_mask, without any reason.
> > This commits restores that logic.
> >
> > Fixes: 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()")
> > Signed-off-by: Josef Johansson <josef@oderland.se>
> > 
> > ---
> > v2: Changing subject line to fit earlier commits.
> > 
> > Trying to fix a NULL BUG in the NVMe MSIX implementation I stumbled upon this code,
> > which ironically was what my last MSI patch resulted into.
> > 
> > I don't see any reason why this logic was change, and it did not break anything
> > correcting the logic.
> > 
> > CC xen-devel since it very much relates to Xen kernel (via pci_msi_ignore_mask).
> > ---
> > 
> > diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> > index c19c7ca58186..146e7b9a01cc 100644
> > --- a/drivers/pci/msi/msi.c
> > +++ b/drivers/pci/msi/msi.c
> > @@ -526,7 +526,7 @@ static int msix_setup_msi_descs(struct pci_dev *dev, void __iomem *base,
> >   		desc.pci.msi_attrib.can_mask = !pci_msi_ignore_mask &&
> >   					       !desc.pci.msi_attrib.is_virtual;
> > -		if (!desc.pci.msi_attrib.can_mask) {
> > +		if (desc.pci.msi_attrib.can_mask) {
> >   			addr = pci_msix_desc_addr(&desc);
> >   			desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
> >   		}
> > 

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Bjorn, please take it?

Jason


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:11:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381119.615654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwAi-00085o-Ca; Fri, 05 Aug 2022 12:11:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381119.615654; Fri, 05 Aug 2022 12:11:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwAi-00085h-9j; Fri, 05 Aug 2022 12:11:20 +0000
Received: by outflank-mailman (input) for mailman id 381119;
 Fri, 05 Aug 2022 12:11:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJwAh-00085R-Dl; Fri, 05 Aug 2022 12:11:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJwAh-0007JI-Cu; Fri, 05 Aug 2022 12:11:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJwAh-0000YP-4a; Fri, 05 Aug 2022 12:11:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJwAh-0001b6-46; Fri, 05 Aug 2022 12:11:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wTjeiZMPhAiHPEvv9lHmGvWH/GKTeXi1pRo+Ezv+3Eo=; b=i3+YGM//Gr8S+5usG19cGSnBqU
	Lwot3yuwLnlYD4eb6lQaRswuKorajG/3SNK0TPWFe+s4u6y5gQsHVWOUeKQpICB7V1SmX6ubH6F4j
	V2FMeKNEFuRrzEfz3TTOYTIKOy6/2QD8aQI9f8kk+uNNiIPCEvgZ9BTMXwBuR6EbqZCc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172170-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172170: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 12:11:19 +0000

flight 172170 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172170/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:38:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381134.615674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwb4-0002Os-Mr; Fri, 05 Aug 2022 12:38:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381134.615674; Fri, 05 Aug 2022 12:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwb4-0002Ol-KE; Fri, 05 Aug 2022 12:38:34 +0000
Received: by outflank-mailman (input) for mailman id 381134;
 Fri, 05 Aug 2022 12:38:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJwb3-0002Of-7U
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:38:33 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60059.outbound.protection.outlook.com [40.107.6.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83455438-14bb-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 14:38:31 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6546.eurprd04.prod.outlook.com (2603:10a6:208:170::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 12:38:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 12:38:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83455438-14bb-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IK+PNWlStbaulS5P5WfkAM9iNGp/aW/zYkMg7idG376HCPWyhb0i/vaYTC2WXhY1DR2abv5PFgHH/vP78vLdDhF5qRj2M47pIQK5di81nZyFlprwIOU2/1xq29tFUFhh6z5TMQrZfxrGJQQgeekIRBIlXIMJ65RLHMJhtFbB2KGT9UyphevQuA9RtCAF4iJE49UsriEhpbgliHtVZzo6LnOzQO1ollOJ8lBwdOB3SsxXoVuP36kgbvS1Lu11+KVHmuaEbylzzFpqXYtI32RsMoNCgMqlbhVgiVhgTo0D/sSskHIH8+SahqM7lQJ/39W3VoU9ydnSs0ijRd3dAW0tSg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ii8XkMyPcAtw/F2gScSdDNe2Hasbr7ZwKHZvBWFlevk=;
 b=DcrywsV/Cjyh07cN2StRd8WXqIYMSim+lzAWuSkVth/C/So9I0HDbU+paXkUFD2DwGCGqB8aLAopavs66Y5oSN7phU8qv6m00hysCtyrT9vKOg0pFhJBKBXf/nFufaX0Hwjfv/4FsoC/BPHipGHYQ0qY6autcHR7ZvzMcT5XZb3xl10YZaJPRgvL1ntcvIxo5V+0NZ0jWZv4F0MLk4BA4drdY3taEHHVe9DBL4hfIwyinhiDkwVG0s5tuNYpgInOQ+nqxoe9y6B1EJTuxC1JjyxsT9ySM/vCZY50RUtLrP8WzvGuSHAr49+l5qX6js/Dt57bDyB5d5n4FBpzZv2aTQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ii8XkMyPcAtw/F2gScSdDNe2Hasbr7ZwKHZvBWFlevk=;
 b=rSLeWsyagQ2FwTolkwRFvySwsrePRi7HngETjqW6WZq3u/O8V4vxHdSaogI5Emt2qp52T5iSKZRO43RfrZulsNl5G8rr6Ls05af/fsyOJ+RfauryJu+N71Iyz+8B/tgAlzZPgkiFj3aomXUWVbuv0TN7Xyc1qYneY7dMnrJ1LXajDhSmYq8qOJAXVnRq+rWLK7LAfC+GW2ODe0rm/jr5/vsF+9L+/DCGx1c2mZXhhTl2o0roKXRmhpOPu3R6EKzhIQM5GrWzLrjmCpi7h/h3W2oLw3s9kyX66D4A/j9DPd5iuw2Gn0q1qx6yneBRcrIhaPONPT9LwA5oF3Pgpgn7jQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <65f4ef5d-a174-2d23-3ed6-1c80e5f6244a@suse.com>
Date: Fri, 5 Aug 2022 14:38:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 10/10] driver/char: add RX support to the XHCI driver
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e273efdbf75cbc37b5c35798da7fde34877ac3b8.1658804819.git-series.marmarek@invisiblethingslab.com>
 <7d263ceb-3727-763b-0b9b-3b9ed82aa780@suse.com> <YuzpuUz5g+HtJdzy@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YuzpuUz5g+HtJdzy@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6P192CA0091.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:8d::32) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2f9a4aa8-ea51-408d-8f2a-08da76df65fc
X-MS-TrafficTypeDiagnostic: AM0PR04MB6546:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VpQS4sQcJruAUoWHwessk0bqbtpfMENCvX5xGnvaXZYVPfsjwcb3Z+6sTy5PewDkaaf6CO+XKW3ie6EVPaA3Ro5SoqwcagncOmTfeVQ7oIFUDoYnTDe07HdYULSwCN29zIIoNAFrGFk3Ort+pZmkhFKCANdeakswtt6jZj0GIVZF9+lV6i3qzTsBRqFbj1EZ9O6oq7+fgiWbQaighLRMZsmDqTkMD3KustPk0waMi2H5Pw3O5ezCQ5ODRA8NALCFMdcNlHrf9GFgSYPpa7RrY2Su2ZQ3emu7YykunV3vXsMzjKIBm3equ6varHmCWG9z5+XvrALtQFXUYgWZnbeSVPyX5FId9MKKJY8RR+1NZhLZOLRQ0n3mTrz8EZ8ExA8pnwhnplNFJVa3dz20C+73WBl9YIfNNTrX1qbNLhQGtOPRd8ZcAp+VpiBQ5D0/PZs2BpGtva/RA9SN1+gqlEeRDcfFt+HEiX8JvksWNA+3chY+L/4ZtRr98rxQ8kmCAjwCVpiKl1Al5XBVJno9vbjn1s0S8Zq7ctrRmTijiilHd4oeZw7NuGh4lP3+OXPhUOWGx2uUwaQNi0PxRj372RwlOCgeNcBSkXfv71/5OqnJMHYwgG8hPx5WX39WG9qaYsYdqS2U4Lyn0qNkb4URm6Kubt90ZS6k+TBXj8FoKP55Vn+G4n0LnA/gFxoz8m6wqKHY3oEmaykHsPr0D5U/UQBvGHOTm0FbgwZcRk3HZs8H/UORdrkzeL6ao7shVdZIa7Snb5Mb+IocRIOcWfDcSWWZchzXm7+34vKrpFscsEbpYHSwKrM3VBCo06gqzbm2HJZ+Cgrav5HfFeiHJ0SHCcm7Lw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(396003)(376002)(366004)(346002)(31686004)(6512007)(54906003)(186003)(6916009)(36756003)(2616005)(66574015)(26005)(38100700002)(316002)(8676002)(6486002)(478600001)(53546011)(86362001)(41300700001)(2906002)(8936002)(5660300002)(66476007)(4326008)(31696002)(6506007)(66946007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmhZS1Z3TFd2M01CRnlLTkNFOWRWTnAwWXFXd0VEdzAxeXhWSzBFNTdOOFBm?=
 =?utf-8?B?eFpMeGZURWcxNnREc01adXR6Q0ViYjdQTkhkS3diQ0RLdnJaTEVBNEh1c1VW?=
 =?utf-8?B?QkI5aVB6RDZMTEVBQTVhYURvUnpkY2hxeklWai9NVUZUcDdwNnBWS1h3S25z?=
 =?utf-8?B?U3I5SklVK3JLS3dWZDFwUFY4YUN0Zkx5QUFua0p0MWJkcWtHRnNXR2k5WUgz?=
 =?utf-8?B?R0lLMWk3eExyWEg0M05ucEh0US9SdjJsNUlXQVoxbVRRbUpkK3lBRTdUYU5k?=
 =?utf-8?B?Wnppa3FrK3dpR2dVWWYrc3kzSzBMTzJNVjF6bEpqbHBwZVhvVHB2ZWVRcjJ1?=
 =?utf-8?B?cTM2OG13cW00anJBcEJjZHp5KzNyNldWUVhaU0hqQ01JR25Rd2FIQU4wbFZZ?=
 =?utf-8?B?azNZdFdCa3hUcGFWaGkyakF1S2xkSlI3WEgrYll1bERrZXlnemNpcUM0Q2E0?=
 =?utf-8?B?UUNQb2tGRVRJMWd2NlRIbGZ1R0JVb0VXZ09KWHFOSmhLZDZpR0xYWWE5Y3dE?=
 =?utf-8?B?dGVXbmtJVERVRzVBYVlYcWd2R3BYQ3JnbWxFOGlud2hQRXI3R21DWnQ3VnY0?=
 =?utf-8?B?MjlTS2oyTFJ2T3pLSSswUU45clFrS050dFVFMXVhcWhvbEZ5elQ4S1pSQm9K?=
 =?utf-8?B?RGdIc1ZpYVBWcVZGcXdzQ2crMy9NV3pYODRkaldsNEcyckxBS0xpaUVFaUti?=
 =?utf-8?B?RlRGUEY0RzNRRHRwMjZialRZbFVnT0hia1JJTWRObDlmRGZWSTlBcXRITkhJ?=
 =?utf-8?B?ZUVGNHNlZHBBVG5PY3Jja0R4K0R0cWYrTG1tRFNHS0tmQ3pUalByWFdMSkxM?=
 =?utf-8?B?d0VvWldCZUU2QkxQMHZza1lzOGhweXg1a0FUQ2QzZHE0alpBQm43N3k2dWIv?=
 =?utf-8?B?WTJSdEc2MU56enZJZjhWZ3lMdytjdzBMZ0VtVWM0UzRoMVJzUVBVZW1WbER4?=
 =?utf-8?B?MkdMOG9GeXZENmNUOEEwdDgzWTFPZU9xaDJaTGd5RkIxZGc5K0F3VXBDZEo1?=
 =?utf-8?B?RkJlV2FNN1dOa1VYZVI1OGpwVis5aVRhMDZ0b0NVSWJSSFdwWXNybk8ybTBX?=
 =?utf-8?B?eGNaOEVIZWJHV0tETHBYUjN3MUx4cUcwQ2c3RzQxeTVhd2hyOStFRHI4cUMv?=
 =?utf-8?B?MXRWbTg4SDFKeDMraloxRXZhdDMvdlJtTTlwZVN2VG9VaWhCUEVBVVBGZ2Nm?=
 =?utf-8?B?WVdDRTdkdHB2dkNYTjNZWW0wYXlVR1JBMThyZWg4Zld2OXpWLytpMWZIK0pw?=
 =?utf-8?B?OTFZNHFoNnhBRGV1YnFiTmd4b2F2SHhHWE13dk9teWRHMTFPSkF3NEJ5UzFQ?=
 =?utf-8?B?U290dE51RXJ4dDFGN0N5QitZVnJZbzRHMVFNUi9YM1pEalhjVktKZC84eHFl?=
 =?utf-8?B?alkrTEpmRGxRald6bkcrbThBMFQ3dVpNc1BMMy85TW9HQ2hzY3ZYSFNJNXM4?=
 =?utf-8?B?cWM2VEhIbjdEa3ZjVnhqbWk2V2VIYmtsVEJ3SWlya2hENDk3WHFISXMvdy9N?=
 =?utf-8?B?bEZBRDdKb0ZlVVNGMEIwYWZPNGlsUEoyQmdEQVNCcmVDTVlUNnkvZEVhc01F?=
 =?utf-8?B?czZXanZiUjVZajR3c296MTdZaXdwWXZrWnRjM0htTm9MdHlTeWVsNmtoZ2hz?=
 =?utf-8?B?RmRqVmwyK1ZwVUlFMkt6b0N3UXY2YUUxL3lGWlFVWFVRc0ZvNERlRmtmYVVa?=
 =?utf-8?B?VHlSRnRtMURsS3pKbFVyTm1iM1dTRWFocFhmWHBiVXhPQ1d1Y21DSHhtUUJk?=
 =?utf-8?B?U3hXWFVGbEs0N2ZTVnc0cE5QZVFMa1NTNzNyYThwaDAxMVRnSE9CWjNaQkxV?=
 =?utf-8?B?Skx2TGVJU0E4NUJsTzZ1Wm9LbnhkU29kT0V5djNOeTIwa1ZuQWVONHJSZUdv?=
 =?utf-8?B?TGk3SWNCQ1o3SUQwbS94RXJReW5CcWYxZzV5eExCMUo2eFdZNWRuczYvNVZn?=
 =?utf-8?B?SzFzelhjQjk4c1dNbkQzV2tPaFZRbDBDOGlBZFkwTktqTmk5MzVhR0ZNcTJh?=
 =?utf-8?B?aThMRGg3YzlxL2xRYU13dWxvcDdsLzdRb3ZNdzdWZEVidndQS1ZKbGtwbXdQ?=
 =?utf-8?B?dWlLc090aWJGRHg5d3RJZnlXdWNKdmdOR09SSzg2SGZ0NEx3c0tCSUp4OFdw?=
 =?utf-8?Q?enJjzY1x7LZLT5IusPen/29Iq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f9a4aa8-ea51-408d-8f2a-08da76df65fc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:38:28.8587
 (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: rdV/UEPJUughtjlib/A6so8Fz5dc4vIcwrDNZitqv8F0KdVCOmgSyz7KfEKVAh7eUg78FrP2Ln4wqeNQt+s9vw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6546

On 05.08.2022 11:58, Marek Marczykowski-GÃ³recki wrote:
> On Fri, Aug 05, 2022 at 10:38:13AM +0200, Jan Beulich wrote:
>> On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
>>> @@ -454,6 +466,12 @@ static uint32_t xhci_trb_tfre_cc(const struct xhci_trb *trb)
>>>      return trb->status >> 24;
>>>  }
>>>  
>>> +/* Amount of data _not_ transferred */
>>> +static uint32_t xhci_trb_tfre_len(const struct xhci_trb *trb)
>>> +{
>>> +    return trb->status & 0x1FFFF;
>>> +}
>>
>> Same as xhci_trb_norm_len()?
> 
> Yes, I was considering to use that, but technically those are different
> packets, only incidentally using the same bits.

I see. That's the problem with using literal numbers rather than #define-s.
But for a driver like this I didn't want to be overly picky, and hence
would have wanted to let you get away without introducing many more.

>>> @@ -985,6 +1054,33 @@ static void dbc_flush(struct dbc *dbc, struct xhci_trb_ring *trb,
>>>  }
>>>  
>>>  /**
>>> + * Ensure DbC has a pending transfer TRB to receive data into.
>>> + *
>>> + * @param dbc the dbc to flush
>>> + * @param trb the ring for the TRBs to transfer
>>> + * @param wrk the work ring to receive data into
>>> + */
>>> +static void dbc_enqueue_in(struct dbc *dbc, struct xhci_trb_ring *trb,
>>> +                           struct dbc_work_ring *wrk)
>>
>> I can't seem to be able to spot any use of this function - it being
>> static, how do things build for you?
> 
> It's in dbc_uart_poll().

Oh, interesting. This then means that patch 1 on its own doesn't build.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:43:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381141.615686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwfJ-0003n0-9D; Fri, 05 Aug 2022 12:42:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381141.615686; Fri, 05 Aug 2022 12:42:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwfJ-0003mt-67; Fri, 05 Aug 2022 12:42:57 +0000
Received: by outflank-mailman (input) for mailman id 381141;
 Fri, 05 Aug 2022 12:42:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gIeK=YJ=citrix.com=prvs=209c8ba5a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oJwfI-0003mn-PW
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:42:56 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ea14101-14bc-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 14:42:54 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ea14101-14bc-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659703373;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=euWSBfbmZsItBC3hxzTVH+hCNlldPJzlYSx/FyyOXBg=;
  b=PUkhvMMyi56Xe2JmEWhHvJDTirX24/rvlrP5zK8eRrMN+5qnbTG3yAVw
   pH7Bokt54NpklfM/7Qdb/5Bn8wHDfse83ylXqgvlSQ7tg0NGBXCXVAqv8
   8qfX/MObWJKkYvxsgf6EdLhOaiHjr0GTAWC0tf3/QONndD9JAJ0n9wNjX
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77454067
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:cUhp3KhbU0CcU4VHiYFJ0DSoX161FhAKZh0ujC45NGQN5FlHY01je
 htvC2vXOq6ONzb3eN5zb9jgo0MH7JHUytM2QQI+pXthQiob9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSq5GtD1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eJ4EZ+/l1Wk539
 KIhIS8cLRu/hOuK+efuIgVsrpxLwMjDOYoevjdrzC3DDOZgSpfGK0nIzYYGhnFq3JkIRKuAI
 ZpCAdZsRE2ojxlnM1ELCJU4jaGwi2P2aTFwo1OJv6snpWPUyWSd1ZCyb4aIJoTUGq25mG69p
 mLi0EbmAighE4akmDWO2VKilOH2yHaTtIU6S+Tjq68CbEeo7kweDgcHE2Syp/aRg1S7HdlYL
 iQ86ico6KQ/6kGvZt38RAGj5m6JuAYGXNhdGPF87xuCooLW6QuEAmkPThZadccr8sQxQFQXO
 kShxo2zQ2Y16fvMFCzbpuz8QS6O1TY9N2MDZDAGFiQ84ofaqZ4izRnzTd9fKfvg5jHqIg0c0
 wxmvQBn2ehC05BWiPznlbzUq2ny/8aUF2bZ8i2SBzv4tV0hOeZJcqTysTDmAeB8wJF1p7Vrl
 FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/LF7rlxBA1b5IehtDMhWfS+FyPosdz7ze
 1P0sghM/pJVN3bCRfYpPtPvUJRznPm6SYWNuhXogj1mMvBMmPKvpnkyNSZ8IUi3+KTTrU3PE
 cjCKpv9ZZrrIa9m0CC3V48g7FPf/QhnnDu7bc2qkHyaPU+2PiH9pUEtbATTNYjULcqs/G3oz
 jqoH5LVlkQGCrekMni/HEx6BQliEEXXzKve86R/HtNv6CI/cI39I5c9GY8cRrE=
IronPort-HdrOrdr: A9a23:eHJ1rqFkXxZif/depLqE6MeALOsnbusQ8zAXP0AYc3Jom+ij5q
 STdZUgpHrJYVkqNU3I9ertBEDEewK6yXcX2/hyAV7BZmnbUQKTRekIh7cKgQeQeBEWntQts5
 uIGJIeNDSfNzdHsfo=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77454067"
Date: Fri, 5 Aug 2022 13:42:43 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Henry
 Wang <Henry.Wang@arm.com>
Subject: Re: qemu's deprecated -soundhw option
Message-ID: <Yu0QQ7T+Hh1poeQi@perard.uk.xensource.com>
References: <2b5ab7dd-d38a-835e-947e-67e1be263cf3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <2b5ab7dd-d38a-835e-947e-67e1be263cf3@suse.com>

On Mon, Aug 01, 2022 at 04:54:57PM +0200, Jan Beulich wrote:
> Hello,
> 
> a user was making us aware in a bug report that qemu's -soundhw command
> line option is deprecated (and apparently going to be gone in the next
> version), replaced by some form of -device. libxl_dm.c does not appear
> to know of this yet, so I wonder if this isn't something that will want
> addressing for 4.17 (and then likely also backporting). Clearly I don't
> feel capable myself of making such an adjustment, first and foremost
> since I have no clue how to know which variant a given qemu binary is
> supporting.

Thanks for letting me know. I've started to work in it.

I've also found out that "-sdl" is going away.

As for figuring out which qemu binary is been used, so far that hasn't
been needed for command line options, and it looks like it still not
needed :-). (At least, I hope using -device instead -soundhw is going to
work the same way.)

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:44:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:44:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381148.615696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwgY-0004LD-Iu; Fri, 05 Aug 2022 12:44:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381148.615696; Fri, 05 Aug 2022 12:44:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwgY-0004L6-GJ; Fri, 05 Aug 2022 12:44:14 +0000
Received: by outflank-mailman (input) for mailman id 381148;
 Fri, 05 Aug 2022 12:44:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJwgX-0004Ky-6z
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:44:13 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20044.outbound.protection.outlook.com [40.107.2.44])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e3d918f-14bc-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 14:44:12 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8552.eurprd04.prod.outlook.com (2603:10a6:10:2d7::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 12:44:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 12:44:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e3d918f-14bc-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L7u0xQmZBGXyrfbEs11JjGvcyttlWlxPWFq9FE9U5lpP9pyWhMp9eCY/F/0I/Hk0a0+WY/soqtf/pl5B0V6atG1uiQhM5fWejRSf4fOCzCcDyfLzvaKygkegApuPTISWfXYwnhlPpSkp4unVX1dQ0GeqyBcGfswOIlX5K1lkUiKhDsdcJVeftVWq5h/smwogJAGOuGRWrpmi48uefvE2rZiT6sOKe/OSJ4t6a9rFBRVohEAToNm9q//HDWtrx1hy2s/IfteVKA5T/+I6OGVc0G2CM+A5q/0vFfG51lKw7ljr6jQ+yeHkAOtNp/UGRTr9iwIFtklZE1uP2W7k9O9NvA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uzHyQApOXDWqwjAkCSCjUK8hAkuZnwoCJGT2zZ/wqXI=;
 b=Sy6+9GU0RSHi2hygD8P5V3SnXkETXm/d8Kau1QVU8JVUARaMKojGrBfId3b130J+8D++zbnzQ/wT15ZajT+GGnKYooEJjiWk58L5V5DZiYws/yS0KDfjoTj5wskdB0KevB8r+ohlxoiqEjLxWdQSnDg0vTHuCDZ82lsD+3br5kEBfUXn2etQYaOtboYOpjSr2iqamsSdjJx/Jjq8jL8qEcOKlPzzW+VFIpBAlQW3k+sh/BUVyxWE7O4FHglZZFSjgP5RGzhLpVutLrwh+eE8YzwWDPaimP3mYVJWdQxRnxKwZCu9uWUnst3ceoirtZzhi5bb47qx4SMTQ+qGoW0gqA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uzHyQApOXDWqwjAkCSCjUK8hAkuZnwoCJGT2zZ/wqXI=;
 b=hNAkllnMxcZPJ2BIgeWdxEHzjo1EpeWgd6sxUejfKX/Nm0KuCXwGods3YcY1iTWcGMudc87qvxIQkSeZTge/U6zyd29UQjzgeR93yIXd+vMhSShViGIjxdl2vtl9CqoOK2HyJgLLwbAqjsNPeOP/9K5Th/kRYjiTxZ0GER+aWiPG/2rYk8s3EnNbBnzgwgtCNLqUCd55qfMR/AucAuAT8fmUxsepsm/NdMFL37BHkEhkIo3vAOzsSYRbwILe3/n6KknGGkXhxQfBUlu4nYDFeq2F5OYS9MjW/NTurNB4YwDP1v1UiPRL/tzia8RilkJEy4afoHAizD2CCZOuFsAUWg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ecbc9bd-c232-cb54-1c0d-f64b3fdfc20c@suse.com>
Date: Fri, 5 Aug 2022 14:44:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: qemu's deprecated -soundhw option
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Henry Wang <Henry.Wang@arm.com>
References: <2b5ab7dd-d38a-835e-947e-67e1be263cf3@suse.com>
 <Yu0QQ7T+Hh1poeQi@perard.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yu0QQ7T+Hh1poeQi@perard.uk.xensource.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0089.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8b529a0a-323c-4d2f-81f1-08da76e03100
X-MS-TrafficTypeDiagnostic: DU2PR04MB8552:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fAdVG+u1oAQ6m51TxCSHmegOh2rf/727aSAiqM3nYvgokp9Yh8QwrGbwUE4MfCy0Yes/UUMjz7kKeQ979M040YGtZty9w+IDTb/nBo6mxxkF2UlCN4erQ3vH5C6HXoskeNKy6WYRLW7zbaHyYo/3BTNanT0cJiQMoAqQHypU+IOWTh5lodUVH04BglZIncr3oBDw8UXJ1tZfGdtTRmE2VEdR94t71wTUmRVzvy5FVvKvM3U7aT1UXp3Cjjteb9ICGFaRTbLgMMpq+5yAiHmBp725ZIzjl7MQHs4NYOBl+tLaXzKRophuvPCJvIiWuVGuIBW1OoO9HALD1f3sJtztqnhR6J+GsnUq0GCPaDwVXIiMarotSYD443kCpYi/oJrlt+KEcOa/p2dQfqbT1f73+reqLENRr433aX2VBhtIZsuD5XLThE8FORYC8/m3n84qGE57lRhMxyxTbBrk0IeRohnR6eqlRMjlID1AiOA5guk6g6hV4oHedhNbZ3AErH6zhslInCXUgKpNLb5FQbBvyTdvX0Tzbs9Yi+HRmcnSu2KK+Gs/mNRrlU1u0oJn9gYEr5F0gs7bu3TmpclwPPban99OXKR95fmbMaZZGVv5bvMqV6dQ44B1j44gWXfkYRV9EoUs3cqTDOo4qAUqbr3A4gg0KfCgja/S3S4CKtE+8klMRw539pCTEHJ2EntokLKIukb0O+Llhp7GRRfVZxJWm5ZNGShGM6nn/bgt+Wm5EaMBShLlvr+lgldFiY7DzxvLlJS7oM0tyR1TYAUlNIywiE6pIhHx9+b/DBWwv7j5pWt4EhwRUqP6Y5DEC3fsJxcM0DOLw5+j7Zp7SkbJcGByhw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(136003)(396003)(366004)(39860400002)(316002)(6512007)(36756003)(478600001)(86362001)(2616005)(6916009)(53546011)(8676002)(31686004)(66556008)(66476007)(66946007)(4326008)(54906003)(31696002)(2906002)(26005)(41300700001)(186003)(8936002)(6506007)(5660300002)(38100700002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K25qcVNGcFhTOG96TTZCN3Y0blRxUGpkc0JKSkk3NFBwUXJRM1lML3ZNRkN4?=
 =?utf-8?B?dERqR0hNZFhTWFdzeURvOW5TUTJGR1pkaUFGbTRkS3V2KzJYK3cyRVU3YjNz?=
 =?utf-8?B?V3NsMEgwQWppU3FqRGZDL0tjNVArMFFHempSdzlnb011UlVGTEI3SEluUUI5?=
 =?utf-8?B?dnEwdFIzcFFicEJ4a3didm5TcTk3QnJkSXIyZGVpVmZkbWRmelYxRURNcFoz?=
 =?utf-8?B?dVVnU094alk2QkI1ZHpUcnVYaTBFbDk4SitiUHdIUnVsYWNoMkhEc2F0L1I5?=
 =?utf-8?B?aXl0cnpVdGEvR3UrNW1jNGRmdWdKdnRXanFSQzFkMmFwc3Vzei9ZdTU1UEFo?=
 =?utf-8?B?RmVabVUwcHRLamdmdkd5S0FDbGJkdy9YZXZkeGhkZHpNNzVqbEN3MFpPRnpQ?=
 =?utf-8?B?UnErVTFlUFFFdnBWQTRHOE4vQ3FRQjY0Rm12SzhrMzRicWQvK3U3SU9laERi?=
 =?utf-8?B?OEs2NzdiNmh4cGxhdVFxczRKK2NHTEpxcityY3dZbHZUOWxtakNnTWJScjh3?=
 =?utf-8?B?QWk3M0RId2JmeTFBbkJrN05UQ0t3NFFUNTF3ZVozeWhNMEdkVWpmSzduQ1pu?=
 =?utf-8?B?U0JYY3NlRXE1ei9rbnFqYUVhVzBJcjd6WHhHSkZGY1M4YmtFK24zV1B5MG1i?=
 =?utf-8?B?YmU2bnF4UzlRaHk1bTdkM2RwNlovNDdwQXVFS21pOUtRbEFEcmlhMDB4WHRQ?=
 =?utf-8?B?djZXRXpxelRabFZpYUIyZDdWL29vdjkzeVRBWDR3S0NiZG5XRlJJbUE3ZlNr?=
 =?utf-8?B?K1ZyMGN4Z3JoQXFxWUhzNjIrcHJUb21lTnZsNk1vay9mbG5HQ2ZZbCtBbGpQ?=
 =?utf-8?B?MHliS2paQldqcjF1UXgwbndqUzVDYXpZcmMzL3VXQTBPMUZGYlV2T3U3RWtK?=
 =?utf-8?B?T2lVV1dUaFdadThRekowK000c1k5ZUlUTkJzc0VxTmwzaEMrMFFQME8ySkll?=
 =?utf-8?B?N1NiVTZPcldWbmYwZlhQZ2RIM05ySlNsZGNjdnZnclpOMlI3Y0lQblNJdDVR?=
 =?utf-8?B?TDRyem1nRUM0NDFMckFqWWZ2cmpqcE1IbG9Ib0RpNFBWWWZLK0haSjVQaEdU?=
 =?utf-8?B?VUY1R1h5NmFDNklOUFc1eEdyam1lVWRpV293ckVhOEt2ZElheit2K0Q2QjFx?=
 =?utf-8?B?TnFneHhmNVYzZXlPa0dBNlpwdDczSTZlZExwVzkyVEVsbElHZ1BITHZ2akxv?=
 =?utf-8?B?UGhOcnpRZmNYOG4rcUlmU0M0cWhlYnY1eWlicWNGcVI1TGFmN3YvTkxHWWFS?=
 =?utf-8?B?M1hRQ0YzZURZcFd1VlFvUklNQWI4Vzh6bTZmNkFTek5BTTBXa2RQd0VidG4z?=
 =?utf-8?B?VU1VRUlBY2sxOW80TWdzazJOZlhSLzNWYWVLaldDajdPYm5tSDl0b3U3T08w?=
 =?utf-8?B?VG9zZUZudWVzZ2dobWFQa1ZuOGlIYU9WeU5RNGpSc013UHl5UGwzR3NjdHMw?=
 =?utf-8?B?cmlQS0RUS2J3VlpVTERhRk9YS0dVOWxxRk5XOThOckIrYkVSTXJXKy90KzhI?=
 =?utf-8?B?NEVqenNQcFFkSU8rZ0RHTndtOW9ISmlPS1JkRmtqNHlWQW0vUmY5dUVpWHB2?=
 =?utf-8?B?bmhXN3lEZHUzc3hobStHRFowai9Ic29adm84RG9ncGI4OXpqK0FuMXFvUElz?=
 =?utf-8?B?UlIwbTVtcVI3dnJ3anpXUDVMQi9LTElCOXJrMVhCMmhwTG5lbXdYVzZaOWVX?=
 =?utf-8?B?UHl6cFNmZFdkQzJCTnh6NzVGRkxNM09wb3hRRXRFVWpJcFhIbE9wUkdOa09x?=
 =?utf-8?B?TjJva09ZcjlXb2F3eTUyaW9qSEladkpTYjRLUTM2OEhkNnM0Vm5DYmJ6WFFr?=
 =?utf-8?B?NjBSU1ZFSUZwL000V1hya3R1bjFGKzhBRnNib1pZbE1wWU1VRWoyQjZvVFFr?=
 =?utf-8?B?Z2ZPV1pBVnZLa3cyZGVrS3ZybzVnQlpXdEhkMzJPN2pzQmIyL09kbEJHci9Y?=
 =?utf-8?B?L2ZVY1MvSHpPalFOMkdiMFROVTVNN3RGcXVObXpIaXZRUzF3aWZBcHMvWmNt?=
 =?utf-8?B?TkJidlZxcGMyVFNyVFJaN3FENFRHYlJpWWowK0I3aHY3bEVVWjZjLzBicDYv?=
 =?utf-8?B?aHdnSDRkV3ZwejRDQU1zVDFmU3MvSFVRMmNybU11TXVGM3BVN3lOOFFvcGVx?=
 =?utf-8?Q?Zhk/gukFd3+F8i8caZVSKt3lW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b529a0a-323c-4d2f-81f1-08da76e03100
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:44:09.4308
 (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: exOYc4+Dao0ucNDc6Ib+UKayz0n6jSDrCPjziUTiqQ9HoO3EOUblIxMw8l+aYCCkkCGsKXRMAfPQwthsvnHsog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8552

On 05.08.2022 14:42, Anthony PERARD wrote:
> On Mon, Aug 01, 2022 at 04:54:57PM +0200, Jan Beulich wrote:
>> a user was making us aware in a bug report that qemu's -soundhw command
>> line option is deprecated (and apparently going to be gone in the next
>> version), replaced by some form of -device. libxl_dm.c does not appear
>> to know of this yet, so I wonder if this isn't something that will want
>> addressing for 4.17 (and then likely also backporting). Clearly I don't
>> feel capable myself of making such an adjustment, first and foremost
>> since I have no clue how to know which variant a given qemu binary is
>> supporting.
> 
> Thanks for letting me know. I've started to work in it.
> 
> I've also found out that "-sdl" is going away.
> 
> As for figuring out which qemu binary is been used, so far that hasn't
> been needed for command line options, and it looks like it still not
> needed :-). (At least, I hope using -device instead -soundhw is going to
> work the same way.)

All the way back to pretty old qemu versions?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:44:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:44:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381155.615708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwh7-0004sg-SG; Fri, 05 Aug 2022 12:44:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381155.615708; Fri, 05 Aug 2022 12:44:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwh7-0004sZ-PC; Fri, 05 Aug 2022 12:44:49 +0000
Received: by outflank-mailman (input) for mailman id 381155;
 Fri, 05 Aug 2022 12:44:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJwh6-0004jk-Rs
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:44:48 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63e07661-14bc-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 14:44:48 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id j15so3150729wrr.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 05:44:48 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538])
 by smtp.googlemail.com with ESMTPSA id
 g11-20020a5d698b000000b0021eff2ecb31sm3993185wru.95.2022.08.05.05.44.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 05:44:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63e07661-14bc-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=5QoU0mc2TWEv8sO0311kNKz03SKY0VN/lL0FOXSMxc8=;
        b=eAMeHqYn3TwvjihOdduYnbF1FZFVBn3rjuaFuL1Lc8Z5O51s1DqV8940tDa0fxwIRi
         Wj0dhBAc3qypEJVEu1P1yP5RQfg0E+e26ZVDeJc0M8xafpuchgGB6eOey4R8eFUHr146
         7GyrxIRZk3igngFt8IEhP/5HnySeva17u5wquB69IeEwvbCyalv6kj49/VCwtFDohJwp
         srgzJvpH30I7wrSt4bQkVa4ImQDwkp60kbFP/hDWbmPpaBzSJBXgHFcpvyfk333oMgCJ
         32a2jPrM6kTPjU0QBcFjeMK+2mxkBsEWeZkyi+fT06Q6mBxiGpd0QmZ8CNWgXurl1e/I
         D9iA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=5QoU0mc2TWEv8sO0311kNKz03SKY0VN/lL0FOXSMxc8=;
        b=bMnaDs7dVcHv3Ok05cHG4bnipwhXPF8gbTYrzCUV/lDpRpw23pZn+O03ksIq8MOLo5
         WEpn5+j/CFyQZMkqCeX0YUTj5XQVueNxNwT/QBb3DfscerDT7dRNS+blm8hfnPMcpuLk
         bhNMtA3TSpfDPay1DDfhoNhtOpHyC4oDtZnZab211nOhD7TG3tsOT9HlZSRFoJ5w+lLZ
         0pVkXllq2/PyacRLRdpOCoEfnx605yxW4UMRQR4H7dgO5i08+xJT1C2QIfFi2mUJpf7+
         dwppBdAO7ksNsp4xulccRVn9B+hrkoW5cic6zOx6nIpwQIQsFqCVgJnkJ2ZIrWjmOVNH
         Ckvw==
X-Gm-Message-State: ACgBeo0fhsx6khqEaLo98g5SjdKy8HuHzt0L3dWoX7Ld3MnP3AfuH/mT
	1kebT0/+EqhOS0KM6Gh6Kja4sWZR6I8=
X-Google-Smtp-Source: AA6agR4RcMWd4ceoG8ZP6qhSNeKcMR8r4w0CR+VYY/gkjAJQfgLQLqW72r9UcAXrN8PUXaPL0M3NBQ==
X-Received: by 2002:adf:fbd2:0:b0:21e:7f74:5df1 with SMTP id d18-20020adffbd2000000b0021e7f745df1mr4201846wrs.43.1659703487404;
        Fri, 05 Aug 2022 05:44:47 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 0/3] xen/cpu: Minor coding style fixes
Date: Fri,  5 Aug 2022 15:44:39 +0300
Message-Id: <20220805124442.1857692-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xenia Ragiadakou (3):
  xen/cpu: Fix MISRA C 2012 Rule 20.7 violation
  xen/cpu: Add missing white space around arithmetic operators
  xen/cpu: Undefine MASK_DECLARE_ macros after their usage

 xen/common/cpu.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:44:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:44:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381156.615719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwhA-00059n-88; Fri, 05 Aug 2022 12:44:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381156.615719; Fri, 05 Aug 2022 12:44:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwhA-00059d-4L; Fri, 05 Aug 2022 12:44:52 +0000
Received: by outflank-mailman (input) for mailman id 381156;
 Fri, 05 Aug 2022 12:44:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJwh7-0004jk-VN
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:44:50 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64840cc9-14bc-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 14:44:49 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 j4-20020a05600c1c0400b003a4f287418bso1228333wms.5
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 05:44:49 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538])
 by smtp.googlemail.com with ESMTPSA id
 g11-20020a5d698b000000b0021eff2ecb31sm3993185wru.95.2022.08.05.05.44.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 05:44:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64840cc9-14bc-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=SDGt6RJ+ZB5pXGejCuARpIpNfU/+FrEqf6LGth7Ds0I=;
        b=adpcAg1igBCUfHUwrjCwgQ4nk6jPzMyEPxErkQ66X5lexek8Rdn0EFnsEUKK3VEJL6
         SOP71pHwaBwMka2blqPfZHAfwR2SMnW3LuJA0w2sSuYb+kCyfczyVAvyBe8EfuY03fG5
         oEOAKPVwuRip8+l5kRrVb335RPoEdjNfzqXVU92E7vXnN9dJHApK2JNc3N26+yJVGQB0
         XqNqIqIx5+KPvO8Yx821SxZt7bbyJa2y++Lrh1hNCFq/GzK3feDywGsY6w+crRl1hMCX
         6GWBx4NB6VZazYH+StlbRRCyerh3H3DK7ESv+pSE0J/kcdYAl7HPdtFz6WxJD9Vr8uii
         uyYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=SDGt6RJ+ZB5pXGejCuARpIpNfU/+FrEqf6LGth7Ds0I=;
        b=WnfLeoYe7MjcU8hhbBKP66dSK03Sbtnezr0gx+RJOA1D5JSGWxiAz9V2eYxFSfUehU
         evYdpAlsO9TVkby5F4ceRnNJedE7SiNpSDpRXZMFxJk8fQdM3erDRNMAqIJaWprwXGn0
         n8ux6wE3NhqqJIHomRgaJ0tNbzlzISjJrt8TvZGyGaP17uvJZ4hUL9L4EX9A4YaVxIy0
         wpzbVQ4lZtzguNmxLVnORmgfjdPSYnfhFiTPpxWyYsEYslVu20eQyRI4emzBafkGplle
         MJMYHHxzmOfrsN/PZxORHI16QehvIN8jVUBp4O6WHLgDi1f4+xboWNqqXkofPCZ4Bv3c
         tPPg==
X-Gm-Message-State: ACgBeo2hXIuCMXjuc4cfROg2nyF2UuT29eLsKeoxZiR3uUP3BtpM75d8
	TqGrlUqmn6pUfRbeof1OIwI7YUk8Yrk=
X-Google-Smtp-Source: AA6agR55ntopDM59sXTkYdsI3FM/121Wo2KC1XRYR50IhyYiTtwTYDm3Pp++I/uF5Fo8S2I9gINSMA==
X-Received: by 2002:a05:600c:2d02:b0:3a5:e61:d876 with SMTP id x2-20020a05600c2d0200b003a50e61d876mr4578664wmf.132.1659703488663;
        Fri, 05 Aug 2022 05:44:48 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/3] xen/cpu: Fix MISRA C 2012 Rule 20.7 violation
Date: Fri,  5 Aug 2022 15:44:40 +0300
Message-Id: <20220805124442.1857692-2-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220805124442.1857692-1-burzalodowa@gmail.com>
References: <20220805124442.1857692-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In MASK_DECLARE_ macros, the macro parameter 'x' is used as expression and
therefore it is good to be enclosed in parentheses to prevent against
unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- fix MISRA C 2012 Rule 20.7 violation in all MASK_DECLARE_ macros

 xen/common/cpu.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/common/cpu.c b/xen/common/cpu.c
index b0b63cdb36..feb2a6634e 100644
--- a/xen/common/cpu.c
+++ b/xen/common/cpu.c
@@ -25,10 +25,10 @@ const cpumask_t cpumask_all = {
  */
 
 /* cpu_bit_bitmap[0] is empty - so we can back into it */
-#define MASK_DECLARE_1(x) [x+1][0] = 1UL << (x)
-#define MASK_DECLARE_2(x) MASK_DECLARE_1(x), MASK_DECLARE_1(x+1)
-#define MASK_DECLARE_4(x) MASK_DECLARE_2(x), MASK_DECLARE_2(x+2)
-#define MASK_DECLARE_8(x) MASK_DECLARE_4(x), MASK_DECLARE_4(x+4)
+#define MASK_DECLARE_1(x) [(x)+1][0] = 1UL << (x)
+#define MASK_DECLARE_2(x) MASK_DECLARE_1(x), MASK_DECLARE_1((x)+1)
+#define MASK_DECLARE_4(x) MASK_DECLARE_2(x), MASK_DECLARE_2((x)+2)
+#define MASK_DECLARE_8(x) MASK_DECLARE_4(x), MASK_DECLARE_4((x)+4)
 
 const unsigned long cpu_bit_bitmap[BITS_PER_LONG+1][BITS_TO_LONGS(NR_CPUS)] = {
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:44:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:44:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381157.615724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwhA-0005Cn-LH; Fri, 05 Aug 2022 12:44:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381157.615724; Fri, 05 Aug 2022 12:44:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwhA-0005Bc-DK; Fri, 05 Aug 2022 12:44:52 +0000
Received: by outflank-mailman (input) for mailman id 381157;
 Fri, 05 Aug 2022 12:44:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJwh9-0004qq-5V
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:44:51 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65302a48-14bc-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 14:44:50 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id l4so3094541wrm.13
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 05:44:50 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538])
 by smtp.googlemail.com with ESMTPSA id
 g11-20020a5d698b000000b0021eff2ecb31sm3993185wru.95.2022.08.05.05.44.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 05:44:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65302a48-14bc-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=VhNWeIBhD0ahO/HsUZnkkDtHhV0EasH/pgWjfOxpRkc=;
        b=bkb1rXYyFU5hNcge0JinQrDqZngqcTakb6MnA5dReBB5kkIlceSLCJ6PM+i4sH7eMT
         Ys5t9YizLNIrBHenG4zKoBaDKYr664HjUK35Cd6NjkW1+hx8fFhAh0s7LWIq+M6JzYCp
         DKIQzFMFDFns/vm8Nm6960cH8eZh3n5JYuXFFSc5u320z8BwYxcEkjKYw0uepOmmoT5k
         gNoJsx+W8wpQbFYjpe7rMXsV3DrMGTblRGz0NcoLBmAoBqzF5CEMvvz223te6qd+RAHo
         c3TFI33XkFEWJxt1wPnU5YDfCLQSjkuzAgPaQ/YzFspeXnnPW4pen85PDpR38lY86LDM
         AMVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=VhNWeIBhD0ahO/HsUZnkkDtHhV0EasH/pgWjfOxpRkc=;
        b=iLQVq23CCxv9ff6zY3zxIcUg1LkdTj+F4Un+7AepwlgEtQYNqWkcUQdXgib7gfWahA
         SPhyHLqjvdEmPXxnUWNDT4aUGKj9ayJ+pEqVkGgJgNmtdLqH/AI+JF6zQU9Tndv3ROET
         L2OSqhFiJe2t6SnRgp4r6vnBeDsK9Wi3mJlWThhV8A9c9RWJwDqxfAu5ZgRfKHp8Jsga
         vTlI160BtcV7jtfBdQc7K6rgL+VZ8Tn2RrFMvpbJIpsgxeaWSWu+Ku2ll+Er4MhsUzY+
         JetGHwVMWQXiLpdVi9k9brLtYOjSuAuEUvoC6G2oSQJqpeKOg/OEPr1RO5ru6P6T3ClV
         uB+Q==
X-Gm-Message-State: ACgBeo3FlWKZBbWkLvr3wz5pXoezC9+hlbNyGXFFpntbuMSR6wrLavzG
	9PLCXDlCBhv7YFA3BTqaDx6iHxTVtCM=
X-Google-Smtp-Source: AA6agR7dqhpV+NLotH9pCvm+py5M3jygWpuBvRUzcBFCO8zEZA3m+7jqUVFbB5J26A59y5xQlXV3+Q==
X-Received: by 2002:a5d:584d:0:b0:220:6cca:706d with SMTP id i13-20020a5d584d000000b002206cca706dmr3964610wrf.363.1659703489781;
        Fri, 05 Aug 2022 05:44:49 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 2/3] xen/cpu: Add missing white space around arithmetic operators
Date: Fri,  5 Aug 2022 15:44:41 +0300
Message-Id: <20220805124442.1857692-3-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220805124442.1857692-1-burzalodowa@gmail.com>
References: <20220805124442.1857692-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- new patch

 xen/common/cpu.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/common/cpu.c b/xen/common/cpu.c
index feb2a6634e..c48a1cabd2 100644
--- a/xen/common/cpu.c
+++ b/xen/common/cpu.c
@@ -25,12 +25,12 @@ const cpumask_t cpumask_all = {
  */
 
 /* cpu_bit_bitmap[0] is empty - so we can back into it */
-#define MASK_DECLARE_1(x) [(x)+1][0] = 1UL << (x)
-#define MASK_DECLARE_2(x) MASK_DECLARE_1(x), MASK_DECLARE_1((x)+1)
-#define MASK_DECLARE_4(x) MASK_DECLARE_2(x), MASK_DECLARE_2((x)+2)
-#define MASK_DECLARE_8(x) MASK_DECLARE_4(x), MASK_DECLARE_4((x)+4)
+#define MASK_DECLARE_1(x) [(x) + 1][0] = 1UL << (x)
+#define MASK_DECLARE_2(x) MASK_DECLARE_1(x), MASK_DECLARE_1((x) + 1)
+#define MASK_DECLARE_4(x) MASK_DECLARE_2(x), MASK_DECLARE_2((x) + 2)
+#define MASK_DECLARE_8(x) MASK_DECLARE_4(x), MASK_DECLARE_4((x) + 4)
 
-const unsigned long cpu_bit_bitmap[BITS_PER_LONG+1][BITS_TO_LONGS(NR_CPUS)] = {
+const unsigned long cpu_bit_bitmap[BITS_PER_LONG + 1][BITS_TO_LONGS(NR_CPUS)] = {
 
     MASK_DECLARE_8(0),  MASK_DECLARE_8(8),
     MASK_DECLARE_8(16), MASK_DECLARE_8(24),
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:44:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381159.615740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwhB-0005d7-QZ; Fri, 05 Aug 2022 12:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381159.615740; Fri, 05 Aug 2022 12:44:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwhB-0005cZ-M5; Fri, 05 Aug 2022 12:44:53 +0000
Received: by outflank-mailman (input) for mailman id 381159;
 Fri, 05 Aug 2022 12:44:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJwhA-0004qq-HF
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:44:52 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66048627-14bc-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 14:44:51 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 v131-20020a1cac89000000b003a4bb3f786bso3944704wme.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 05:44:51 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538])
 by smtp.googlemail.com with ESMTPSA id
 g11-20020a5d698b000000b0021eff2ecb31sm3993185wru.95.2022.08.05.05.44.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 05:44:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66048627-14bc-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=sFXoKruA65y914muDfqfb3heuhx2eDlNA1LbdaLcdJE=;
        b=lPVT10fSpCIuzfs8LUh1lG9iCx7udlSPhGPgZa03oWZKMQK/r1bZYXcybS8Wkf3sOg
         T/TfOSqnMyv39tnWcfcca0ZxxMzm8i4ZXxfehDsX6dYk9OIxoLP7DSFMJ0rkgrjwwnXZ
         q2X2kkQ2efpG7FBj7NSQpNs5buXz1TMkYdXKiVsDqPGXVK+nZM7Z1OpXCe9Tn7FQXv3X
         i9wc0TIxEJz2tZCk+NhNcF7hl5zVHmbrP3fG3cO8pd0IUGwp5iG+kJd7e8bqtHezxRev
         0iGupSKB6A6pL2dZOIZTNRJMy67X1IGx42gWIY1L6yUBYq29DZHmxCdm6JEtZI2ZAaTt
         tN+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=sFXoKruA65y914muDfqfb3heuhx2eDlNA1LbdaLcdJE=;
        b=uDxwyg+Ph12ANMzX6nNR9M8Yw9678hIXsSVb+HliBpk0Yh4p0WxqlpHsy+/HzkUs56
         vngCmhzWSL9IdDqDpERgaj8WBGCMmc5xLoEUUax1Aq1QMpRNsLPFycMz4upPo2ohHd+u
         LcfRYUgtZRAhwR+MY5REKphGlBydjbCz695pS6Q33RkcMxwy4JMvwf/fCavfiC20RR3c
         +BGq525XSd7koTU9RxyEbZVc+lTeYsQ2izhZxb7Jgohi9+91Hgo8s7f/RpwpPrDRdlqB
         RFX/PliQIojfZf4ozWw6b1l5xmSxp/I/AwWcGt5R6EJ871z9U4ECi1HbrpFTlFN7OVFx
         Om6A==
X-Gm-Message-State: ACgBeo38+LI++haYE0N7Ttjsg36J13Ka6Worjc9ernYZAINYNU10DW6o
	8LW8ZhEXxumZDKZodD439xyKE78sRZM=
X-Google-Smtp-Source: AA6agR4aM79ulC1RIe13/8lQtz+dLQx8WfHLKipHeO5aB8ysY9YI+nYbW7UsnLsj27HbUtBVQwbGzQ==
X-Received: by 2002:a05:600c:34d6:b0:3a3:31cc:e150 with SMTP id d22-20020a05600c34d600b003a331cce150mr9323512wmq.94.1659703491137;
        Fri, 05 Aug 2022 05:44:51 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 3/3] xen/cpu: Undefine MASK_DECLARE_ macros after their usage
Date: Fri,  5 Aug 2022 15:44:42 +0300
Message-Id: <20220805124442.1857692-4-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220805124442.1857692-1-burzalodowa@gmail.com>
References: <20220805124442.1857692-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MASK_DECLARE_ macros have only a limited scope. Remove their definitions
immediately after their usage.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- new patch

 xen/common/cpu.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/cpu.c b/xen/common/cpu.c
index c48a1cabd2..4a048caa49 100644
--- a/xen/common/cpu.c
+++ b/xen/common/cpu.c
@@ -40,6 +40,11 @@ const unsigned long cpu_bit_bitmap[BITS_PER_LONG + 1][BITS_TO_LONGS(NR_CPUS)] =
 #endif
 };
 
+#undef MASK_DECLARE_8
+#undef MASK_DECLARE_4
+#undef MASK_DECLARE_2
+#undef MASK_DECLARE_1
+
 static DEFINE_RWLOCK(cpu_add_remove_lock);
 
 bool get_cpu_maps(void)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:47:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381186.615755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwjW-0007Np-Au; Fri, 05 Aug 2022 12:47:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381186.615755; Fri, 05 Aug 2022 12:47:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwjW-0007Ng-7f; Fri, 05 Aug 2022 12:47:18 +0000
Received: by outflank-mailman (input) for mailman id 381186;
 Fri, 05 Aug 2022 12:47:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3gIk=YJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJwjV-0007NS-26
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:47:17 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b94615c3-14bc-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 14:47:14 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 579D1320076F;
 Fri,  5 Aug 2022 08:47:09 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 05 Aug 2022 08:47:10 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 5 Aug 2022 08:47:07 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b94615c3-14bc-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659703628; x=
	1659790028; bh=HEIWCfVqrdmJkMn1gZ+2mN9K8TGGPSFErl/hguJ0iKg=; b=7
	QWZkGAcqYJpY6DejqedxoiFHTaZty0wUXoT7Dh14joobdIMY+S8a26xcSNRetDRi
	2lPCqK40UFLynYMmd+ca00MOe44g8mK0zPq7SkYO+fDus0woBwSA4aUXo9J9BvOD
	mekxNEb3MQAfNg83PaVkLzJOfT8TNHV5eu2HVWz2W6WUUm1EHfWvB3FRJ6PNGJU7
	2NAda5W2R/ScytfS2cl8AjK1F+rjsLmPnX/vS2/mhW1uoh3xFvMUBdmWobChzUds
	e/53nf/Hys3hAuuXlnTFpwLTKDiCENINaoJtTY41Y46PppiiPgikANxsgXHSgSYg
	7IcwunpxL9Q/pYT7u0v6Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659703628; x=1659790028; bh=HEIWCfVqrdmJkMn1gZ+2mN9K8TGG
	PSFErl/hguJ0iKg=; b=q9Ps5ZSpf4mjgQevXGca7K+XDfWnNLYewo95voFT3C2Z
	VqlBkmBlg1UlFGZP9aVSvuipawLyYqn1UnoUlr3v0iS6AUTTPWsVf2Nt9jU6+dp3
	krpcBPnNqd2dtqoDNxjqDnbzu9rzBUvtet2iyMe+yJD4UxBObXzx2ig8y0/eWi24
	Ef/7RFPj1oIEs94x1VKsios3MVwcW0eFXgIVO0XuENWUXF35m5g8ggevgk2bhPVH
	aDJA/QRv+vk/NH70LZKwxlVKyYZ1KfHINlVzMyv/LdaizYdBjssbY42mDNZW7Xhz
	ahxJed0phcxSvYUWeu0c+XJyXUiHqwmyGKcGyPXZEw==
X-ME-Sender: <xms:TBHtYk5Uzf3xNXyWYf1s-g0HK5UHTlpMnGOSr5UkvqEF4fxQyuXp2g>
    <xme:TBHtYl4VCS75Y4Umq3JYxEz8UjbsT_ayZwZ62yXaLW2Lk-Stm3kXn0RBtUXwZ2Jo6
    2H4NYQHX5OIVw>
X-ME-Received: <xmr:TBHtYjflGPFEDyEHJrQQfbYu9_jTAVup5w-z5v8AyB70tbd-3zlJuF0ztLQefChjW2Vp664f-dzSh41KNtPMFPS9L0GMD8JQh4e3>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdefuddgheekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:TBHtYpJuIEsfb4oVGaUxIWdBoLC_DVoh8sAMmENL7Zh-1hLa-f0vdg>
    <xmx:TBHtYoIEAucyzIIFAXX6FQKgHSGzOG2qmglU5Kcjpp9-3fX7kFe_lg>
    <xmx:TBHtYqxTp5DoOyN_lSrw80Zqwrpkl-6-2VMYs6Uyc8deeZFOA0ubQQ>
    <xmx:TBHtYtH-CmR3J_QSadoeuihF0aVfaCvo4gjWVcKCkadcvq9a4u01jQ>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 5 Aug 2022 14:47:04 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 10/10] driver/char: add RX support to the XHCI driver
Message-ID: <Yu0RSB0OwfoKX+Fp@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e273efdbf75cbc37b5c35798da7fde34877ac3b8.1658804819.git-series.marmarek@invisiblethingslab.com>
 <7d263ceb-3727-763b-0b9b-3b9ed82aa780@suse.com>
 <YuzpuUz5g+HtJdzy@mail-itl>
 <65f4ef5d-a174-2d23-3ed6-1c80e5f6244a@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="NcKBd7aDqpLIIHpe"
Content-Disposition: inline
In-Reply-To: <65f4ef5d-a174-2d23-3ed6-1c80e5f6244a@suse.com>


--NcKBd7aDqpLIIHpe
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 5 Aug 2022 14:47:04 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 10/10] driver/char: add RX support to the XHCI driver

On Fri, Aug 05, 2022 at 02:38:26PM +0200, Jan Beulich wrote:
> On 05.08.2022 11:58, Marek Marczykowski-G=C3=B3recki wrote:
> > On Fri, Aug 05, 2022 at 10:38:13AM +0200, Jan Beulich wrote:
> >> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> >>> @@ -454,6 +466,12 @@ static uint32_t xhci_trb_tfre_cc(const struct xh=
ci_trb *trb)
> >>>      return trb->status >> 24;
> >>>  }
> >>> =20
> >>> +/* Amount of data _not_ transferred */
> >>> +static uint32_t xhci_trb_tfre_len(const struct xhci_trb *trb)
> >>> +{
> >>> +    return trb->status & 0x1FFFF;
> >>> +}
> >>
> >> Same as xhci_trb_norm_len()?
> >=20
> > Yes, I was considering to use that, but technically those are different
> > packets, only incidentally using the same bits.
>=20
> I see. That's the problem with using literal numbers rather than #define-=
s.
> But for a driver like this I didn't want to be overly picky, and hence
> would have wanted to let you get away without introducing many more.

That's kind of the purpose of those helper functions - to extract
specific fields according to the xhci interface, one per function. An
alternative could be #define _instead of_ those functions, but I think
that would be worse.  What I mean, is the function name serves as
description of that those constants are about.

> >>> @@ -985,6 +1054,33 @@ static void dbc_flush(struct dbc *dbc, struct x=
hci_trb_ring *trb,
> >>>  }
> >>> =20
> >>>  /**
> >>> + * Ensure DbC has a pending transfer TRB to receive data into.
> >>> + *
> >>> + * @param dbc the dbc to flush
> >>> + * @param trb the ring for the TRBs to transfer
> >>> + * @param wrk the work ring to receive data into
> >>> + */
> >>> +static void dbc_enqueue_in(struct dbc *dbc, struct xhci_trb_ring *tr=
b,
> >>> +                           struct dbc_work_ring *wrk)
> >>
> >> I can't seem to be able to spot any use of this function - it being
> >> static, how do things build for you?
> >=20
> > It's in dbc_uart_poll().
>=20
> Oh, interesting. This then means that patch 1 on its own doesn't build.

Right, I need to move the call into this patch.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--NcKBd7aDqpLIIHpe
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLtEUgACgkQ24/THMrX
1yyE0Qf/WB9SGLejF1doTqJmdVoSqB1SlOyh+1pcyEIzMxgpSeriD12+JpKSbiI7
6zctZ/O2noiD+/lvVmbNOUeQV+HTwEAe4m/7H+oEBIMDicLVc6XxLhJcoTVaOlMJ
jQIL7ND6QqelDFQmbLBEDyTozittdkF88DCKO9dKuk1j4zVo1xilhU7ExT/GaguI
QUyPaRWrDiss2WXqX7H1e2MHr7GU5vQW5tMEcnC7cUQ7EzwpI8K4bzwEsm+vE0Zr
8OFQwvJ8xozyhKnxzS/4RsXvWIeE3fMkBtfNopT6zfYE3l7JwmHgFJxMetcPTwmq
5v+q3Jb8opTwGv48fENSVRSI0T1Q7Q==
=BsQf
-----END PGP SIGNATURE-----

--NcKBd7aDqpLIIHpe--


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:50:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:50:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381194.615766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwmS-0000Kw-Od; Fri, 05 Aug 2022 12:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381194.615766; Fri, 05 Aug 2022 12:50:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwmS-0000Kp-Lj; Fri, 05 Aug 2022 12:50:20 +0000
Received: by outflank-mailman (input) for mailman id 381194;
 Fri, 05 Aug 2022 12:50:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJwmR-0000Kj-65
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:50:19 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00076.outbound.protection.outlook.com [40.107.0.76])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 287715ce-14bd-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 14:50:18 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7576.eurprd04.prod.outlook.com (2603:10a6:20b:29b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Fri, 5 Aug
 2022 12:50:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 12:50:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 287715ce-14bd-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KCaBPDKEgrohx+JX5BY8hpxXVpkg6potRRK6sXNu+effyIvYiTQtiPVW7UL5FREo3Q45pzbmppoIRbD0gdBZnXIbq1grW+JM4EAxOLobGCTmMfdSVginUupEeEhKQ46FXSqem42fFzZW0MOi8lde09auJMTI8TYS0ZwNfTADw/hKwjKpQlfQ8XN5g4WYyQ7kN5khge4IuxVNrVsvtf+jPKekJmfbUvvYHWqsG7QOoR0Fed2knmqh1llJgZiqpKR9mvBNS4Mg2pdozxbork9xwYw+wThre2AnUB0s1uNsDkwe7/jUK5inhUetBX4dDIxkX5KynrUo3mck5BAKIZgB+g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UBAYKGBQ4ZkaDkXTgIo3+RIjMC6njktJsE/xLLQtPVc=;
 b=VfjPDW8U0i10EJcw5DyGYqV/7Ee4x7ecEf/8a6VYBDKBDmtPqHfPJuCREX0H2Ecq12wD/mYKGlsaxwSfAj+PunRN3yZZBn1IyJJKZ0bl8fr+bZETiNe2dWOJuj2OdwbcUDBBEkLM7NCW+PRWHYnYr4OV5yNivuInpdiEO6x8OxV53JSFFRCs1VdK2tmJsvTIJyhZxGd/CQGu2d+nJdDLW8Ylx0aU/WJbphFSoPKpG8vbjG6w+AU2TFwcTqB5N8uZqqp23dRB51e4kp1jrORknUYVGreptIpG2rCLCvvIq7UOH9s7T1TT30Acngj9x/H4K+JEtrFw8MA/3IcRmwsjFw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UBAYKGBQ4ZkaDkXTgIo3+RIjMC6njktJsE/xLLQtPVc=;
 b=KjiK1UlWWhBw4bgbOSFkX2jHLkhhYqzWqXth/99nEpgpsZ6xekrCaFIULy5NEDjQQbTihX7m3XwH//4qcTIJkHMn0zNQZqBBWSQyRc+e8DPYgfQOmxVwzRKglQ5Y9gUuc7uRQmtHNmtrm9RytePr7MvNDhZMNq0+QxzneyEIGsSN0tL9o2wWz+g8emxhTDIIEvPSn+8MEzG+8Ai2lZDYRH1r7PkDQs2Z7LlZH+D1SqziOkgRPwed7CX/fCVntvZmU6AVmrhd8RY43o3B/M3YnlxIDgR9zttdJ93SK7mndcfMd6oAZHzeFwB7OF26qztcMUuYTsvxsOYSga2suJUypg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <67c9bf09-7639-bbb2-6942-9fce583bf700@suse.com>
Date: Fri, 5 Aug 2022 14:50:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 0/3] xen/cpu: Minor coding style fixes
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220805124442.1857692-1-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220805124442.1857692-1-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0068.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:84::45) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ca21624c-8ab4-41f8-341f-08da76e10bb3
X-MS-TrafficTypeDiagnostic: AS8PR04MB7576:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ntp81R48ZtAAuH8nhJSIPe5r5zj2e5Z5welhAKzziVCaMGcmV2S23modDnLcmUiB8EijP4vvWEnOaf85gp8jlrVwSwrKxGMV0UlexrvQoRL5WyYQgL/rnBo6Oh0/w33jmx7mg48aE8PeDbwx8BC91G7CN1QRrtcBRpm4Qbdlr/A8oBGyC2WKj3gN8S2pEAIzgZXzJuxK/z+fjaQig94TAEnUVvzhCnWTh8S8aWmg+ZMBIJ8wJWRQ0HGKftn/88hJpOTgeEoTLyLPtENsgcRZh8ZgSXSVwG/Oxs9vJ9oqhq6mVEXs420YvYJwByJaMP78z/tynNGuzXzma7XtY0tiiawJ/Ci/z3kDWVfNZSKxlz9OU+oABySHLeOehFK1u/N9j7gmsvj8xHZEqFx8rvI4q7Ej7UMlTbTHFzZWQ39NPl4MMRC4yshWL1GNasXByS/S3iOFKqd+uxXi5fmrU4Qemxznnz0qRZ7l1bzU2NAPAo9E5+drrJbXvraNeZu/0QGYpWkJNtiGw82sGNTdN+0p+iQTFrH/I3qDCLnOsS6HYz6gdrHDAfcBMtnQ5vc31bwDyuKX1LsrzoOcQ6CRk5PxziRUMHENi3tSqLsgYgiggJJN2GgZkOExoAgvQMyCDty8qqhsYC2CptpPtBDkbXti/HUt8WP1vBB6t/mUKA6wpnHVc8/OHYyTJ9EMRUi0MbcZaSD2NiCSs5QGMbjRaZJinRoKXevPthn3oErzV+iyxZcyHtE/S3R2XCBqrGujia6Yd5cv7KSZjUVKUTujJlImrkMcALp40d+KG1NVYxGXdib0qDSPJnphs9IgHmtsvYZfQL8pstinkd+eMn/ntP4q5g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(39860400002)(396003)(376002)(136003)(66946007)(316002)(66476007)(6916009)(6486002)(54906003)(31696002)(66556008)(478600001)(2906002)(4326008)(41300700001)(6666004)(83380400001)(8936002)(8676002)(4744005)(36756003)(6512007)(26005)(2616005)(6506007)(186003)(86362001)(53546011)(5660300002)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3hDemcxRHZRN3ZXL2dBTG1aeDllTllUNnlJbHhzQmhScnFVSEF1cWF6SEJl?=
 =?utf-8?B?ZWNNZGg4RjhqY1hWQm96Rng1MXlHWlpnQk9lY3RGVjcyejRIWVh2YnQ0YWpl?=
 =?utf-8?B?NXZtL1Zzbldid0V3NmJOYTBtVEgzTlBENGhuUnNpSitFOGFwOFd6a1V1RjRT?=
 =?utf-8?B?dGV6ZktVTXNKeTJUMkNISEpsdGZkWFUyOEtvWHprWVFhTkV1KzFTRzFlVmpz?=
 =?utf-8?B?ejBiRjFJZmd3VkJwakswUkh6M2xzUFgzNDhLTXFobmtZaWZibDJxUS85Umdi?=
 =?utf-8?B?bkliRnpBNms2THFQWTlwY3pOeWFNQ3BXR04rN0dqQXppb05DTWxYV0lGME84?=
 =?utf-8?B?OUFtTnNDU0I5SDAxcG05M0RxNkpremlXeWhOS0VVNHVSbVpubncyamxQRTlG?=
 =?utf-8?B?TmVLakU5UWYvNjFsUis0WDc1eWFUdHJTYmNsUHEvYjczVGdmbHVGdHFMYTBw?=
 =?utf-8?B?TjhFdExha3pSRk1KUGJSSmdxN1pjZ1gvWENTMmE1clRUV1BqTTM4Yllhc2hC?=
 =?utf-8?B?Y1I2Z2dOdVc1MTdJbi9NV3phTE44ZWhzMERTN0V6NXRZaWo0NWgyOUFkaFFs?=
 =?utf-8?B?YVk5YWNZLzdWT0pPVGM2RGtvVzJxSUtDcmEvZStDSGJJMlE1ZXU1aU9YcGpK?=
 =?utf-8?B?UTQwakpjUGthNVpjN3dJT2NQZ1N0b0JWbW52Z1M5RjhFQUZIUTVwclFNczNs?=
 =?utf-8?B?dUhvY29EeGxIVlRVcUdmYUxnbjR5dU83cGNOLytDdmU0M2U3NVVjNlBjQWZY?=
 =?utf-8?B?N0VEOEVEaFUxQjJMZWU5cXJzNjl5a1lXZkJ3bHp1MzRrWHlGNTVvbStwT2FW?=
 =?utf-8?B?OGo3RGZsSlcrN1M4WTY4YVl1VDdBYjFDTWNzYmlKejhUZ0UybExFNFZBb0Nu?=
 =?utf-8?B?bmJVVGd0SVF5YkVMMFN4SzQxYkJ1VkhRQXpGcFhSMVBFY1VyNEw2VUlkNHF5?=
 =?utf-8?B?QjJNQ21DMmdLZCswVmlwc1ZOSkxQMkp0YkpVWElqZzJLR3JDY3ZrRTM0Rmow?=
 =?utf-8?B?N2tPTkkxb2hFdmNZWnEyS0trRW5VZjJoTVUyQlN1amlnZ1JzcjBvL2RWcm4v?=
 =?utf-8?B?N3lpWk01VlRyVTREd0t0d2pNM1FsT0EvaHljWjBXZUVwbnN5WWNHYnpRUXZK?=
 =?utf-8?B?NVhBMGtTYkE4N2kxRzFqUFlkNlVRdUFNMFFVMkZZRGFrTDN0Z29YcXB2R1hr?=
 =?utf-8?B?ZDVpcXRhQlVQbkxBZWpwRTdxaUpUbXM5MVl6U1o1R2hRcFIyUFhpLzlJaTRq?=
 =?utf-8?B?ZkUzalQ2UmZ5aG1XU3dYQWQ5UUxOMXBxeHZkYmJ1SDNmdk5tQWdBSzN2VE5u?=
 =?utf-8?B?NE1sb3ZHWUdaazJ6MjBaTG5zMnhsSGJadHlMSmZ1bUNwSnlwSXF4ZG13MzVS?=
 =?utf-8?B?TmZPL00rbUhVdFM1Q2pxNGpyODZZWDZ1Q1NMVmZFSnZKVXpFL3VPWFgreGtS?=
 =?utf-8?B?UmFySjBvMHpNcytLK3FtcWlKMjdLU1gxRGRUWUhiMjlETmxzR3FzTHVaY2Vo?=
 =?utf-8?B?b21tcFhsbzgrL2xrTzQ3ZWNBa2Y5VHRPSWtzaUp0dFdvaTlieGl6ZFg5NmUr?=
 =?utf-8?B?cGF2RE5WYlhoWEowV2FYY0xYT1MreFlRK0xNVkNEekZBemNxU0p3SFIwOWFN?=
 =?utf-8?B?MG8zSVdZcHUrdElkcnVoVFpIMXBOTmZLN1dxR2RET0FaN2RUeG9WTStNamY1?=
 =?utf-8?B?N0JTaDBpTUtaL1hVSmtzQnFGRTI3cmdyS2xNdytNTnM0MCtLeTNlOC93Q2pl?=
 =?utf-8?B?ZWhVSnJ6Z2pvTFhVUG1Fc2l6Ly9BWWhNK2N6RGNUbXlFVWhUVkJwamQ3N0Vi?=
 =?utf-8?B?NTd3MUQ0VzdiT0VrOGRxTGpGTW5qeGhiRU15Qi85dHNHYjlDTFNLUjBlVXZv?=
 =?utf-8?B?TUxMelVIdC8wSEs0Q1daN1dNaUxDdkxhOHNoeWNGU0ZjejR0eVBJcm4yMHhR?=
 =?utf-8?B?VWdYQWtCdzVrWUJpcTJLeWJJb1JPUTErOGRVcGxzWGJvbGtJb0FkaWdYbk41?=
 =?utf-8?B?czRRUE4za2VzdVd5dlp4YlByRVBiOGhSQjBuOVdtUTJTMjZ6cncrYWVTbEla?=
 =?utf-8?B?d1d5RUIrNWtobFNTbmtkRFdIa0pWdkpoZFAyK3pwVFhydGg4RGlGQ2ZNZUVQ?=
 =?utf-8?Q?4bP743TeJanDPiTOW3EA/zQzJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca21624c-8ab4-41f8-341f-08da76e10bb3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:50:16.3609
 (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: 3IVahoV/jdEm4iDf/BE47x5l/WsZ0mx95ohonSKkqH4qRVtFoKX/rezhbwBWabb/yGA0T1U9uHZkAKoet5A3WQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7576

On 05.08.2022 14:44, Xenia Ragiadakou wrote:
> Xenia Ragiadakou (3):
>   xen/cpu: Fix MISRA C 2012 Rule 20.7 violation
>   xen/cpu: Add missing white space around arithmetic operators
>   xen/cpu: Undefine MASK_DECLARE_ macros after their usage
> 
>  xen/common/cpu.c | 15 ++++++++++-----
>  1 file changed, 10 insertions(+), 5 deletions(-)
> 

Acked-by: Jan Beulich <jbeulich@suse.com>

However,
- I don't see why patches 1 and 2 needed splitting, when patch 1 already
  touches all those lines. It is the usual thing for us to make cosmetic
  adjustments when touching a line anyway.
- Patch 3, while fine to be separate, wants a Requested-by: or
  Suggested-by: me (which I guess can be taken care of while committing).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:52:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381205.615786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwo6-00012M-AH; Fri, 05 Aug 2022 12:52:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381205.615786; Fri, 05 Aug 2022 12:52:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwo6-00012F-74; Fri, 05 Aug 2022 12:52:02 +0000
Received: by outflank-mailman (input) for mailman id 381205;
 Fri, 05 Aug 2022 12:52:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJwo4-000127-Ts
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:52:00 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00062.outbound.protection.outlook.com [40.107.0.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 651c6ff0-14bd-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 14:51:59 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7576.eurprd04.prod.outlook.com (2603:10a6:20b:29b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Fri, 5 Aug
 2022 12:51:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 12:51:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 651c6ff0-14bd-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bveTuXAPKuT0RDlEhigAVC7d+ONab5F8aykkTZ+xM1480y1wA9TLvllMU4WMSFk9gGjGIYLVMmVzmHSbWDtq684CpeE4qF6kGrf5n6jCwjcuFyFa2mq/DAwpGlSu4vdo/DJfisj3fVagR5+gKb7sT9wqBNjgLAX3bONc92oNOIUASRTIZrgaE1CwPFElyGaiVdLcLBA/dLqAYG7d8rFlsK0qaCtn6VWieV0rNm29lhR1OqCs1+wVOAAYKXU9zyVxYphucD6m2XLIO6L2lGAlQesXKhzW2Mr4rBvC5BneS0roJoxnz71hJrIiVYe/wghwIAtZ8La9HkR7vWN96Wzj2g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T4YCCyZq4pRPcp5PXZinSK0SdcCmt321BWtKAzULGHI=;
 b=fpXlAxz5Rq9vRxmi15Oyo+L067b41f0OUebGsngG/wcg1CiW3Rn3U94GzqEuF3NfP6/wUS9iKbnW620f//jT3Or1ZZ/V9kRs+9Fr6lW+a2z7iNYnDY1rtab1Rgk7f7mEJQWbHw7z4p1+YOT5aM6zX8uLwtBRpcUkNjMqJ8u4y0cMmMmCSyylcayBQu1V23CrPM+azg+K/OgoFBmfq7/dJomNCiDeTeiShWprUTkU13zZq6e+kc7cQtKh7dDeDLPAQG5QDJu3dAVSJ0tM/OykVRj56YIfNSDqLnxcugi30etV4QPJLq3AVuopOWmFhW/jQtKEghrIZon9g1Z/IzHLVA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T4YCCyZq4pRPcp5PXZinSK0SdcCmt321BWtKAzULGHI=;
 b=g8G1n5sQKxIxKEYTpvYBhkCOuC9MGOfzPYOqyuwueJQW7KGxLVxmdMJoUAlQg1by4SzOjAvs+n3Gb1s8BJalZjJj25pBpGNEYhSvvWgxbjkiWbHCrN80j3GGXDnmO0YJhXoy1T+G/AJKzjth2doF6+ddrfJObDd0ExPG6v4a/5Y3gg5eCmdrMXG5uJnMnAUpKexprmt1DeSxlviqBw1JfF0tOuw8fDVgqfrulNjjDWMmoA+c6DtAiJn4WcY5Mq/XmMptrbHh1hZ2Z5PrLAneEjHdt8/vS6+i4k6eZKGWy8cQNTGnoBM8pBlKV90jJ4HMvS7FjdOtb9cF4AOhBBOsBQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7525c124-0dcc-1511-28dd-9ddab7370b25@suse.com>
Date: Fri, 5 Aug 2022 14:51:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3 10/10] driver/char: add RX support to the XHCI driver
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e273efdbf75cbc37b5c35798da7fde34877ac3b8.1658804819.git-series.marmarek@invisiblethingslab.com>
 <7d263ceb-3727-763b-0b9b-3b9ed82aa780@suse.com> <YuzpuUz5g+HtJdzy@mail-itl>
 <65f4ef5d-a174-2d23-3ed6-1c80e5f6244a@suse.com> <Yu0RSB0OwfoKX+Fp@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yu0RSB0OwfoKX+Fp@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS9PR05CA0051.eurprd05.prod.outlook.com
 (2603:10a6:20b:489::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 92f4e8c5-56c7-485c-8f7c-08da76e148dd
X-MS-TrafficTypeDiagnostic: AS8PR04MB7576:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KmKzJ61zqvzmZIrIXC4s8NGiM2GwAStzDclrvroqZKk262H5UgirFkJnTI4enb7xHLgldG0v+dk9rNku/FLqCtFd7tgfz2YThihIAvQnMk16qQEblkf7AfQq+egYHuRtA5EIv7ru+6/v65atcwHwhTOloXAXQcYFvDayBWU+3tsED8QzHL1SydNk1YTv1NKWcx47YUkAQHyZ2pK4DfNotzfCO9XYlrPTcl0i5JP57pvApTTQ7QM+sxDX5O13ApOJan2tZQmHkrd6lPm8FWGuHWe5JWOCRnAvqLBHW79cceOBOKtoTtoxkSN00YXvsokrqrmXBee5GrKINd9ssM7qgq2pYMpqL1Afit8Ui9dXx83tOEGcZJlBFVStDpZRX+askSnRDV2D/xuD2H84lpr9yYimGCF/RiHti5qSFX3//Pl1IKOvx6HE7Fwj2lJvnF5/oodCMjQl9mr4m+PDBJgzyKZTkb+aVwz74V5FdZbqI8U4NeqS05uZGnfCdX5E6FutVDa3S2ZtaS0nAUx7RJsC8/NJMFJBIkaD3+t6HcURyNrT84nWPb98UYh/RE8m2mvhukEYgvMXAiQLyRdyG8DQ8A5vR6QRzPLhgrOIWtHW+1aBqmIf3Tu8akoHon6bCLWlwucI4M1y9mf2rXrksJs2gnQkjWoe8r2U79NK01eaqqgsbhHFkZJxqLeNxxqYZgYFrq1Gse/rUotcX132AzWsjuPsN/xBfE7XTFnnDw0Md9N2pytgXhMZpSRA7SDyc6zZNswcBOVToQV9/T+6uONMGuaCdu/EnGrex9LqnEGf9nzqu4OUfjDSzR7N9zdoZVIgZFXiuyCky97NXBxZyOaa7w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(39860400002)(396003)(376002)(136003)(66946007)(316002)(66476007)(6916009)(6486002)(54906003)(31696002)(66556008)(478600001)(2906002)(4326008)(41300700001)(6666004)(8936002)(8676002)(36756003)(6512007)(26005)(2616005)(6506007)(186003)(86362001)(53546011)(5660300002)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SnpiOXMyNVQ0SkRxTmFLdUJ2VWZWb0h1SEkxemlZYnJIejhnRVlZLysvdW1M?=
 =?utf-8?B?UWkvNGNyNkgwLzZyWUFRZFZlZU05dnh6eWQyTU15VVFldUNyRnpCTVF1YnBL?=
 =?utf-8?B?RHVMQWZPWEl5QVdIOStsazNSZkIrdzVLUlY3YVpHYnRhMFhreVZvVjZsdHpQ?=
 =?utf-8?B?RFdtQXhiWHBQaGs0a3FtUDRZNW1sT0p6Z3dZSHVMSW1ZNGlFS1lVV0pULy96?=
 =?utf-8?B?cnhDQUl2VUlpVDJBc0k0L0JycHQvT2laYjNleEFIbHN0N0NBZHBzTkNqUmFL?=
 =?utf-8?B?aVd0bURYZGZoY1ZTSmpodlNrdnlpb2w3OHRNYkw5TGxNdkpyTS9KNXdGcVpR?=
 =?utf-8?B?MXRvQ21zc09aaVhOQWpJWnM2YjljRjAwejZQY3hZZXB0TEUwdHFqY2llemNF?=
 =?utf-8?B?N29yaEtSUVhuampURVZiaW5QNTYyWjcrS1Z0RjFzMitjTjJkNnNyN1JFc1N3?=
 =?utf-8?B?WktXaTkwUytHUEVjT21rVDlqeUpZWVhFc2phdVRoZ2IrNFQzYmpTbTJaNDR0?=
 =?utf-8?B?MjB0aHdMb1NwdEZHb29aanBSU3pIMmlFMzJxK1VuYkorQjFwZFRzOWVyZWZT?=
 =?utf-8?B?TFBPcDhHQ2ltLytzZEZ4V2NLUS9HK2E1N3V5a1NmQXgrRVF5M1Z0SWZVRVYv?=
 =?utf-8?B?d3d0OURqRUZLemtHd3JnVy9jWFNLaGcxMThWR0E3MkRiam1pL2FxanJ3Mnpx?=
 =?utf-8?B?TGV6RFhiamZUVE90SzJLcGkybkIrdE5FWlZyaHgzb3pLRFcyQ3NXYndaK0pl?=
 =?utf-8?B?VHNIKzlKZm94ZGN1a1VjcGFoWE00M3VQMEswNkxVcWVrMnNiVGlWaS92aWtV?=
 =?utf-8?B?dk43dGNGMXJzaDYvU3V0YU5WYk1DaVBBTEVjQ21hWTcrVnFiV1RmcFNTTGkw?=
 =?utf-8?B?dGREWC9GQTVZc2VtdllLWXB3aHR1TnhkL1RFeUgrTGhyZDhTdXZCT2xIMDNL?=
 =?utf-8?B?TjYxd3BWTkFXK2NVdUNhVWZLdytvd0p3cTZncmw2QU5HTmZGZnlVaGNaNk9U?=
 =?utf-8?B?MUVUSlhjMmxwM0Z2cUFQODVmdFJ6RDJPc3dCOFNUWG8rMHFrd2tWNDJQd2hT?=
 =?utf-8?B?NmNpajV4dWtTZkxOZ09ydUUxZXdpY2N5L1ZOSjZoQzgzVzZPVU1XV1dNbjNz?=
 =?utf-8?B?Z00wSDdwQlVac3h6L2lFVTZHVnI1V3V4RlVicER4TWFjQU5NS2cvdmFSTGlG?=
 =?utf-8?B?WDdvTENkVWxRRGtOVytSbDRvVlVjU0FGNWFtSnQxSTNncE1uamw5SHZYQ2ha?=
 =?utf-8?B?eTB3dTFYTkc5Ky9tWjFJL296YkNLZncxVVRyMzN5cEFvWDJKM0IvcHhiMUNo?=
 =?utf-8?B?L01lWVNCRFE4Qk1LLyszaHBUS2VxTGdacUJ4MTh3YVF5NTJvVEdwSCtYRmJp?=
 =?utf-8?B?M0RYTjB6bno0K2M1YnV1SUEwVnM3dmloYUI0cFhDRzJJdEIyUmpubW1wUXp6?=
 =?utf-8?B?WFRGZmFNa1JrZnVZUzU1MFdWQm0zNjBjSlN4N3BGTDNLZU03YzR2TzZ2N3gx?=
 =?utf-8?B?cjl4dzZSMEZMWWcvZG5FaGpUVkJzeVdMZGY5Z3ptOEg5MEh1VWdQd3FwTDFZ?=
 =?utf-8?B?NC9EQ3NHalBCWXdDeGpiYm1DZWVBYWsrelRKczF3Wkh5OC9JY201THFtbHlL?=
 =?utf-8?B?aENwK0pHcE8rUzQrY0pjSWU1Nk1NRENmMG1yUTZKYmkvam05STE4ait0TjAz?=
 =?utf-8?B?US9TZWhuTk8yT0ZaTHRCY3gwZ0c4Tklmelo5a3hOUS9rTnYwQWNISUpEaDgy?=
 =?utf-8?B?ME5qcGtSV2FlMWx1bWRta3FjTEZNNU1ocjEvU0JwOHdIK3libVpNd0Z6SHpD?=
 =?utf-8?B?VTgyQXdGRHV5SXowV0RWOXd4ZGllYm91a0JpQjJhQ0k1NVYvcjNER0ZmZm00?=
 =?utf-8?B?NTRCbDRrUkkxcW15NHVwUEtrWTFOYU9KOERIUTJKcFU3aFZ1aVJ2N1ZDQnFI?=
 =?utf-8?B?M1ppZWpmZFRlWmZLNVluVjNFN1MvWTdlN1RZdmVBMkNTc1ppRytOcVhEdHM2?=
 =?utf-8?B?MnJXMDFOcVR0S0w5VHNGQzBmQjNQcWltVU9tVWN1WDVrNWJxK0lKREhWNWdu?=
 =?utf-8?B?emkrVHJYQjROOVhSY0dqbzZTL21YeE1JK2R1VlgyeW1pdnVsNmFtaWdKTjU4?=
 =?utf-8?Q?+J4BlL1kc3g0no3X3i+GXVgxy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 92f4e8c5-56c7-485c-8f7c-08da76e148dd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:51:58.9795
 (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: 7Ifjf3uw1WoZtGEHA/+o5jAFIrPq/iD82960XYuzPGteZux+bdR9EkHUIMWNP+fNEZlvwM/lvd0E1tjjhlMxgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7576

On 05.08.2022 14:47, Marek Marczykowski-GÃ³recki wrote:
> On Fri, Aug 05, 2022 at 02:38:26PM +0200, Jan Beulich wrote:
>> On 05.08.2022 11:58, Marek Marczykowski-GÃ³recki wrote:
>>> On Fri, Aug 05, 2022 at 10:38:13AM +0200, Jan Beulich wrote:
>>>> On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
>>>>> @@ -454,6 +466,12 @@ static uint32_t xhci_trb_tfre_cc(const struct xhci_trb *trb)
>>>>>      return trb->status >> 24;
>>>>>  }
>>>>>  
>>>>> +/* Amount of data _not_ transferred */
>>>>> +static uint32_t xhci_trb_tfre_len(const struct xhci_trb *trb)
>>>>> +{
>>>>> +    return trb->status & 0x1FFFF;
>>>>> +}
>>>>
>>>> Same as xhci_trb_norm_len()?
>>>
>>> Yes, I was considering to use that, but technically those are different
>>> packets, only incidentally using the same bits.
>>
>> I see. That's the problem with using literal numbers rather than #define-s.
>> But for a driver like this I didn't want to be overly picky, and hence
>> would have wanted to let you get away without introducing many more.
> 
> That's kind of the purpose of those helper functions - to extract
> specific fields according to the xhci interface, one per function. An
> alternative could be #define _instead of_ those functions, but I think
> that would be worse.  What I mean, is the function name serves as
> description of that those constants are about.

Right - as said, fair enough for a driver like this.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 12:54:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 12:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381212.615796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwqi-0001eB-OS; Fri, 05 Aug 2022 12:54:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381212.615796; Fri, 05 Aug 2022 12:54:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJwqi-0001e4-Lc; Fri, 05 Aug 2022 12:54:44 +0000
Received: by outflank-mailman (input) for mailman id 381212;
 Fri, 05 Aug 2022 12:54:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=34eQ=YJ=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oJwqh-0001dw-3l
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 12:54:43 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2075.outbound.protection.outlook.com [40.107.22.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c556bf5f-14bd-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 14:54:41 +0200 (CEST)
Received: from DU2PR04CA0271.eurprd04.prod.outlook.com (2603:10a6:10:28c::6)
 by GV1PR08MB7852.eurprd08.prod.outlook.com (2603:10a6:150:5f::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 12:54:31 +0000
Received: from DBAEUR03FT011.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28c:cafe::65) by DU2PR04CA0271.outlook.office365.com
 (2603:10a6:10:28c::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15 via Frontend
 Transport; Fri, 5 Aug 2022 12:54:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT011.mail.protection.outlook.com (100.127.142.132) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Fri, 5 Aug 2022 12:54:31 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Fri, 05 Aug 2022 12:54:31 +0000
Received: from be5b6f0dbe68.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FED3320D-18A4-4E64-830D-EDDD9683A9EC.1; 
 Fri, 05 Aug 2022 12:54:24 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id be5b6f0dbe68.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 05 Aug 2022 12:54:24 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB7549.eurprd08.prod.outlook.com (2603:10a6:102:24c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 12:54:22 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.014; Fri, 5 Aug 2022
 12:54:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c556bf5f-14bd-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=bXGOmyP6vVXNtjycsX8pOHF8pdnp4kxM0Nf8wxjHnwGtJTkqa10zPDtljpWi5Xy7RV594Yll0gpi5O2G6co1+OceeZYgOuJT+mABF4YZh7irvcmRsYczWymUtaTu84kpoMDqjfyKkRhfaDyESsRzXYogyDqoQ6+lEvUZ13CKx9EcReHpLTBeKzsVagx65XsmhI0nqUr7ymNnYlwU0sgByg2IJ9Wjz9EcXxKtYHd/EqmZ72nPma2dqTV0W2LQWjhF9PyPT7gN4csnFl2kk7QWZsC/cWW/9BObzk2Ag1p4LJzNqxtzyKHbXg/tFTsSuIKsK5Ia3UeKCllJ23cgkt8Fdw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R+rqeo4VSxegEgGsWXsWeCxXKRKj4dVn0Ew97snMRh4=;
 b=DBhVJsv2BzeXHUz7W1wwqS+HNQnUiWyrHL0HP9eMyUffrDLdvF2CTsp8pYWz7HU9X0UmNikS+bgETsS67Fgt9MWa56/F6HnDbZksxJ/rGFC3erzJ3cj3bbfxZ/JEFsr9d6CwFYfZe/YYq/g/YsGqPsrvNyzZW5+q940QPN7GQmHOxo41aI482U9MmQSWv45omvjZv36aLvmL/Mki8tDT7Wx7zKLG++1dQhugx2L4R3K6lZR13McuavbHmw+iNoL10SMdBt5MExPaUt+05FFrgGpucfPZEB/ZRuyI34IZ4QnwmEOAws4eCchTCBqn0Hwugt/iqDARrZ4B6CIxc4LMnw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R+rqeo4VSxegEgGsWXsWeCxXKRKj4dVn0Ew97snMRh4=;
 b=lfrLhcY9bU+/JFpThPu990yo1G6X6fYpNoYyJn2VDigA5IyhiGvvS4qDnMMPhbPXUv0pcmm38ly0S+ni31qJjD94Y008c4KlpcfdOoqrd+LzFWR26jH7RFwxU2ajpHi/iJFg6Ygl0Hnuk45LNjZuWbEjmog8r8WzEg0dyo+Ac1A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c9317046ef2abcdd
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GAfBN+V1C8cv/NG3r5SmDkxEEP/BqQpH0pyDT/3LMoV6aYYLYF/AkHdL9iC9FKXol9UlROtuY+phCUsA6mlI+KAy8ASF3/szdlPDXs9CEsv1R6/IG5redyHgfP54W1ACgfdNan+sargu0EeiAsfra80H2PyUII9O8ucE00lsiTwAWJheQ9yNF/f/i3RP4jOZFyaHpTyexZAVcNnY0t/3RSqyQyiqWvu6DbKI/BdrmoQ/8AJXytR+pmUadFROUjHZKagm4dThQDPIz46AJ8MHM+W935g1W5yDlCC+b8z/gJ3PZmFTz74Cs1OUA6aG8B8HM3d+UHUrRhYpZYwla0afjg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R+rqeo4VSxegEgGsWXsWeCxXKRKj4dVn0Ew97snMRh4=;
 b=dJ0ZWrznP2mjO7qcxmedPxVq/EWCBhvSlR1KXIWDOGEXpCdpYOYj/cdBhBfi6j5Jt5r09CD0N3v8VZenz65sbuniJj3gAQFoJXt3mUU3/8O9wy2qV6n86sN1lWP3Ul0O0m0J0sxhFc/UpGH8ZfaNmopaRXiSS42ZmS2eDZe4swnsgw1btHjwTkh1zof45U+UvPgUz5GAtO9Aixa0+780z9RNC2JXQnixe3Yg8m+BgW3ePZEhCD244Ge++N/UIC62ylOKeztOcOf0/hwc98EsJCM6DwUJyapZLLEaO7ChKxiO9v1KFtk7JxNAElI8IeOylJAA47ZbUxmG0ajLrHkUOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R+rqeo4VSxegEgGsWXsWeCxXKRKj4dVn0Ew97snMRh4=;
 b=lfrLhcY9bU+/JFpThPu990yo1G6X6fYpNoYyJn2VDigA5IyhiGvvS4qDnMMPhbPXUv0pcmm38ly0S+ni31qJjD94Y008c4KlpcfdOoqrd+LzFWR26jH7RFwxU2ajpHi/iJFg6Ygl0Hnuk45LNjZuWbEjmog8r8WzEg0dyo+Ac1A=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 0/3] xen/cpu: Minor coding style fixes
Thread-Topic: [PATCH v2 0/3] xen/cpu: Minor coding style fixes
Thread-Index: AQHYqMk4Rr0Mxe0A3UaODc1UlcvSOa2gQ2IA
Date: Fri, 5 Aug 2022 12:54:21 +0000
Message-ID: <8310EA29-F5F4-438B-8A80-FEA4709D8F75@arm.com>
References: <20220805124442.1857692-1-burzalodowa@gmail.com>
In-Reply-To: <20220805124442.1857692-1-burzalodowa@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 5ff75745-c9dd-420d-1378-08da76e1a3c7
x-ms-traffictypediagnostic:
	PAXPR08MB7549:EE_|DBAEUR03FT011:EE_|GV1PR08MB7852:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 /17j/fFcZ0It91uLwv07E0NQix0YEBA8KNdWxxcnMw4lXiRYaIfXrik/UOW1y0VJaPCyKtvFcReUuO1H15B1UPGHkrvAqRqnJ0Iio4sSqAR2S/R+pLF3DHp83FJ/AtVNaaSGA57WFTx9QWXkIUCdjlbEoJ3ZIqmEnVliOROVpWzgOYnNUAIIYmXWHWt5tVW3XQercPcfTofrotGQsERZNdKkEKwtCjxrK9ysyECbxrQAxsuhLOP9wYWIGB0KCYZZhxKV9uhmV7eV4hxB/r8ZTFhfAUW3mMPVX7hR5c4/PuvpSfblDWI8P2GghhilfXxLvbLzUmgGQUo6J+pNExU+PXYm8wHNjRX94P0oDOOgUFSSupoDOeA73dFNgE0ABhNb6NdwxlAyWEYOUwuAxQUoBxxxmET+b0B5q6TOsKagn5UIhS12dZMtovT1TnfDpviBeQODJ7/kXPffyMERWeDbDDcRhd7BDztAbHO+8/Jjczm75WjAZ5cJsEJ5JfktCtEX3H2u4fhomMsNeyvwxCskkQyVW7HVhl7/Jz5JtOxfUzQWqgl50Jckpzwi1mFIBMwKutj41lHBXO8NlRMS5GY1H3R+Dkp1y6MIYpyZGPHIccoTblwmguEljJNc22+UZ++VOQ7CYNKfThAwnlFYg8Ca/nm24ofhqR/HiGXdeanYJ/ej+5xCkkb0bGMVptgICUribuAsiIcx6mdZv8naGrQcGQaBuYOa7dfdm8MpHD+rurMwT7+nzlM/k9DMTzDkgewX3Kw9ZsFs2+CLbrNp4bKEWptW4bi7UChNZ7qo9Q8mQkpdN+b7iIN1/alkHXwTyGngziY9kj+G6wyR6FdrZ2BLpQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(39860400002)(346002)(396003)(376002)(41300700001)(5660300002)(6512007)(36756003)(4326008)(91956017)(54906003)(66476007)(66446008)(76116006)(66556008)(64756008)(66946007)(8676002)(33656002)(6486002)(8936002)(478600001)(86362001)(6506007)(53546011)(186003)(71200400001)(83380400001)(26005)(4744005)(2616005)(38100700002)(316002)(2906002)(6916009)(122000001)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <222294E86342844485EDA595761F4583@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7549
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT011.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	40a93b6b-0d5b-4ed3-e30b-08da76e19e22
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CZLZ+VGGiRuChGCS+Erg6G5OO7T7GDvWGzH5XJzY76vRJuvYFHcPMXDDEFZiqYd07Svhgahsy2BViH1/yF2g/b8S4F0RpxKzb+mmUUDixTad7kwWQwFLAjUCiK21PprVku3cTi1YTng+3K2URn+X2loG7ZCPjeKlL4sIBimqv7t1YtpKt7q/tvw/D5kVSouNBuoRn5faSM44OcBoFhBtQ2jj+uEJx6pSu5xQv2Mz/9rjn64RGQ+O4o6sL5yBT5MpA2LtGaxAKx/J4b5mKpaQ4XJYILErBapsRouIGGh4ClOc0xP59mBFj6KwOFPfyj5B9kVSwfsIAe0q8Rt3XmfjvdrIfqCgVr5n3E2xVJlRtOLvxhTSuSwXTrgu2dCyx7LTfMZNdnV8IIE614+rBK1p8Y9i2HkXSpkg5exItvAnWWy1qrNCDpusNRpOxJObbIKP+nBWOAaaWSrEzKs5UsFa8FjGiuk9OVF4gv7x0ho+8yhwf2t4Cmd7B2+I1/vrX8T1uDiq8V/2TK+i4UpuV+80c0FOgoneC7ayeTExk34IeKYAwkOdktmvV9hKBUoc11WUL5/NtM5+iSLQNgJz9NvGxKnzqrWBhbcJwsqXTGbDjfYzu/hrhLrmCIOYl6hOSRuKEKLWILQ/bqUvbPgCc4YFFtmfuEGLBmnOLFPx7ojdq7rnFha3siujb3Z0JQnAYd4q3w3fKmUIYLEdeuE71FA7XyNHlMgzKsCE6WjtJq6gpVR+gOJM0Bh3q0+UFyIV54nJucVrfZCZ0Iz8sKQdy4olYc1d7srdOUtcg5aHHJ7Ra+7ednZCdhcqSB5ZkJGeNwjc
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(136003)(346002)(39860400002)(36840700001)(40470700004)(46966006)(336012)(356005)(47076005)(83380400001)(82740400003)(81166007)(36860700001)(316002)(40460700003)(54906003)(5660300002)(4744005)(8936002)(4326008)(6862004)(8676002)(70586007)(70206006)(2906002)(26005)(6512007)(53546011)(186003)(6506007)(2616005)(41300700001)(6486002)(478600001)(86362001)(82310400005)(40480700001)(36756003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:54:31.3642
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ff75745-c9dd-420d-1378-08da76e1a3c7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT011.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7852

Hi Xenia,

> On 5 Aug 2022, at 13:44, Xenia Ragiadakou <burzalodowa@gmail.com> wrote:
>=20
> Xenia Ragiadakou (3):
>  xen/cpu: Fix MISRA C 2012 Rule 20.7 violation
>  xen/cpu: Add missing white space around arithmetic operators
>  xen/cpu: Undefine MASK_DECLARE_ macros after their usage
>=20
> xen/common/cpu.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>=20

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

But I agree with Jan that some patches could have been
squashed but I do not think we need to have a v3 here.

Cheers
Bertrand

> --=20
> 2.34.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 13:06:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 13:06:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381219.615808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJx1b-0003DT-Q9; Fri, 05 Aug 2022 13:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381219.615808; Fri, 05 Aug 2022 13:05:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJx1b-0003DM-Ma; Fri, 05 Aug 2022 13:05:59 +0000
Received: by outflank-mailman (input) for mailman id 381219;
 Fri, 05 Aug 2022 13:05:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oJx1a-0003D0-MG
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 13:05:58 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 584833d9-14bf-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 15:05:57 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 186-20020a1c02c3000000b003a34ac64bdfso1685196wmc.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 06:05:57 -0700 (PDT)
Received: from ?IPV6:2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538?
 ([2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538])
 by smtp.gmail.com with ESMTPSA id
 c16-20020a5d5290000000b0021e6c52c921sm4767354wrv.54.2022.08.05.06.05.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Aug 2022 06:05:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 584833d9-14bf-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=SUSC5Af7lUsDUGvqC38W6woZTdDtRfk0cwc3lsb+0PI=;
        b=d+MS3cKkHjdmIohnsKJoG8wKyP0gFedyOYqeX2qaHEC3Oj7ySOJKB9rfZ36EAvXa8J
         vnlqc7sEsjvextezWLZGdIcrgIZrTcXUwPJA5l0cUcTzNBOPG15VNu33hU2DTwH8lZ/l
         ZUDc5Nx/bk73LQajtdoi685imgz5Gm2aC6VQ8hHqfAWP5y/dwoeNADZ6ome26xhXP/Uk
         7U9Dx4qUck8Iu2WAtyurRez0OcjJz6HkoA4o9C1wBGP/IZBYGWu5GvukLdsOVqDIQP9U
         ofznPla+/kcMx7D+X5o735wx0BJkyK6psGcHEhiB4EieI+Z6vh7N/KgQt+bLlAp0nGJv
         FSmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=SUSC5Af7lUsDUGvqC38W6woZTdDtRfk0cwc3lsb+0PI=;
        b=AaU7beYLglCkQvAzQ5rhbB9Fc0Xf1TVw3KEnDVlsk0vR54kLjDJrXQfT7FOIgRUb4T
         CunDgdXTkvySBZFyuyVyshOaaSjSQ/bHky6GyCwkoAUPvXXjFjfMdQG6aNOvArRfLBD6
         cehG7YHWm4qXSvWVdFVp+QnabS/V+w8l9YwW95PoDVEtALipLrmXX2a0cBI4pZM7T+Ym
         M1cmKrrK1OD0qdO76Oej/Xt1MOKqp8qi1C10a84dGg9N3iWmFdPHSTiakVZhT7ixJhPY
         ESQeHZXhVnZuvHaDsJ7GY9rDRHiX/q7eXkd8eOhwvhHNdmXrmQHbRu8iu3Nt7E5lYm1w
         wBLA==
X-Gm-Message-State: ACgBeo3Dq+11auunNgSTtM6Ui7tknm8aXAZL4mXudLiBp20VgKqy7CJ9
	dwBRbpVtPMHzxywG7k3ns7M=
X-Google-Smtp-Source: AA6agR68pRRoq1tsZsSs6Ca2qUS/k+R0WuCTSAbwzzDtGJ34alJKxq4+NfqLersFZSCU44maJij4yw==
X-Received: by 2002:a05:600c:1e0f:b0:3a3:191c:a3c8 with SMTP id ay15-20020a05600c1e0f00b003a3191ca3c8mr4863032wmb.151.1659704756874;
        Fri, 05 Aug 2022 06:05:56 -0700 (PDT)
Message-ID: <4749e664-0052-a6d1-c4a1-42cebc17e610@gmail.com>
Date: Fri, 5 Aug 2022 16:05:54 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 0/3] xen/cpu: Minor coding style fixes
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220805124442.1857692-1-burzalodowa@gmail.com>
 <67c9bf09-7639-bbb2-6942-9fce583bf700@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <67c9bf09-7639-bbb2-6942-9fce583bf700@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 8/5/22 15:50, Jan Beulich wrote:
> On 05.08.2022 14:44, Xenia Ragiadakou wrote:
>> Xenia Ragiadakou (3):
>>    xen/cpu: Fix MISRA C 2012 Rule 20.7 violation
>>    xen/cpu: Add missing white space around arithmetic operators
>>    xen/cpu: Undefine MASK_DECLARE_ macros after their usage
>>
>>   xen/common/cpu.c | 15 ++++++++++-----
>>   1 file changed, 10 insertions(+), 5 deletions(-)
>>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> However,
> - I don't see why patches 1 and 2 needed splitting, when patch 1 already
>    touches all those lines. It is the usual thing for us to make cosmetic
>    adjustments when touching a line anyway.

In my opinion, the initial patch that added the code should not have 
been accepted in first place without the white spaces around '+'.
But maybe coding style rules came later.
Nevertheless, I continue to consider it unfair to rely on and request 
from new unrelated patches to fix those issues.

> - Patch 3, while fine to be separate, wants a Requested-by: or
>    Suggested-by: me (which I guess can be taken care of while committing).
> 
> Jan

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 13:08:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 13:08:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381227.615819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJx3n-0003tz-CY; Fri, 05 Aug 2022 13:08:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381227.615819; Fri, 05 Aug 2022 13:08:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJx3n-0003ts-9F; Fri, 05 Aug 2022 13:08:15 +0000
Received: by outflank-mailman (input) for mailman id 381227;
 Fri, 05 Aug 2022 13:08:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LiuH=YJ=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1oJx3m-0003tk-0K
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 13:08:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a88ede06-14bf-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 15:08:12 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 29B9C106F;
 Fri,  5 Aug 2022 06:08:12 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8EAAA3F73B;
 Fri,  5 Aug 2022 06:08:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a88ede06-14bf-11ed-924f-1f966e50362f
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] arm/domain: fix comment for arch_set_info_guest
Date: Fri,  5 Aug 2022 14:08:00 +0100
Message-Id: <20220805130800.16387-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1

The function arch_set_info_guest is not reached anymore through
VCPUOP_initialise on arm, update the comment.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in v2:
 - rephrased comment to not list caller functions (Julien)
---
 xen/arch/arm/domain.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 2cd481979cf1..9db8a37a089c 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -885,9 +885,8 @@ static int is_guest_pv64_psr(uint64_t psr)
 #endif
 
 /*
- * Initialise VCPU state. The context can be supplied by either the
- * toolstack (XEN_DOMCTL_setvcpucontext) or the guest
- * (VCPUOP_initialise) and therefore must be properly validated.
+ * Initialise vCPU state. The context may be supplied by an external entity, so
+ * we need to validate it
  */
 int arch_set_info_guest(
     struct vcpu *v, vcpu_guest_context_u c)
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 13:12:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 13:12:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381235.615830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJx7Y-0005Iy-Rz; Fri, 05 Aug 2022 13:12:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381235.615830; Fri, 05 Aug 2022 13:12:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJx7Y-0005Ir-PL; Fri, 05 Aug 2022 13:12:08 +0000
Received: by outflank-mailman (input) for mailman id 381235;
 Fri, 05 Aug 2022 13:12:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3gIk=YJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJx7X-0005Il-NG
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 13:12:07 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 33a40cd9-14c0-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 15:12:06 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 18C8932008C3;
 Fri,  5 Aug 2022 09:12:03 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 05 Aug 2022 09:12:03 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 5 Aug 2022 09:12:00 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33a40cd9-14c0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659705122; x=
	1659791522; bh=bx1uynbDvPEOaeRQsheEo3fUrtNzutH+a0nifpI6Ek8=; b=c
	L10tn/4ozEbYqxYqysVsNPofRDrtlbPvFPVeVScvsDYADR7WtHb73DPTQNERrdJs
	PQoTvRTRQS77WHS6yvzulWJBs4SS3RPz/p1CvzUxDRbA+WFjvdC6Dw0R6ByBnAh+
	TX4PJGCgcYACEnDY7N6L3Lr+57EEs6SvhU692TUiLCPENvuInT3cZu110WIcCHRs
	ed6Fj7xqCMmNtgxMu6kp17phth74HggQ1e2FocHARCfw4fUm+vULqC2kH6/eH0eY
	Ktb0oaTmSilkcyPGiJ6nxDc/XZz/d3S+m1e0lHVarvp/R+EE1N+4px+stb5ooD7G
	UjhXw7PvcMLEe0KdYMjNA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659705122; x=1659791522; bh=bx1uynbDvPEOaeRQsheEo3fUrtNz
	utH+a0nifpI6Ek8=; b=SsQ6M7QJuHGHcukY3mKWHUW6VvohsxO+UzEuCIc4WULW
	W+BBnFsq1qLTTPONldMSQcCFRj23LCxZALLZN3mWCn3nmYqm8UkWw0ZxS97QdWQU
	aCLT4do8gzSlJcxVxTK/bZOxqTFQTYoz+8Z5Ept7mZFgiggO6arHoJzhMyuWGWl2
	dr9QOu90aAZtFBYg6HgjrLwWn7NKmk0QtaAsVQ19iDjdUXcfMQYyyZOhwtx5wKi/
	+9gb+1ETTT3OWTol6lLtb6TjTLsYCH5s9K7GjNs3LBTVuRcz4Ev867NXC7HN7Z+A
	JZvlY7gz6Dsf7J0Uok1biUOTtiFXL+AY4WqpHWDMtw==
X-ME-Sender: <xms:IRftYk-s9glKhaJLMnr14lGA795QYqrTReVwABz1BtNudkUw0hQbEA>
    <xme:IRftYstzoH8KPIsaZ4Q7ftBLU6BLrJv50efJ_bRDkIxHcW6CeT1svWyoe2_1QZTaq
    Ae40m6AvTW5qQ>
X-ME-Received: <xmr:IRftYqAH3j_zglcNbcE9MXlPgwm_yym44uFn2v3iyJO1EEPO1ln5mWqnAi8WvFL59yxre_VhcDMFsVWb9P8W--8ARyX4zdYs3Ohn>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdefuddgieegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:IRftYkdrxrhGcFUrdYC7mLhmrOqtCXUY6akdjwBlZka7RdibEH7_gQ>
    <xmx:IRftYpM7laRMUhh5K6RXhYTeoDl6gnhiMahex7kOvgyqLN7ASqbkyQ>
    <xmx:IRftYukLew3UG70nD1tFTCuIa8lDUDI2F88A0Klv2lli9gywlC9ekA>
    <xmx:IhftYurksyIvl7Rqevggqo25ynQWwsMEW1Ckc5sqcXswq9lG_fma6g>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 5 Aug 2022 15:11:57 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 04/10] console: support multiple serial console
 simultaneously
Message-ID: <Yu0XHUhsebE+WG0g@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <14411aa674b61d22d9626a3455206454793b6a37.1658804819.git-series.marmarek@invisiblethingslab.com>
 <48ec7c43-d9cc-e6da-dd06-1119d5a909e1@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="iL6KS72HvcTwiigy"
Content-Disposition: inline
In-Reply-To: <48ec7c43-d9cc-e6da-dd06-1119d5a909e1@suse.com>


--iL6KS72HvcTwiigy
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 5 Aug 2022 15:11:57 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 04/10] console: support multiple serial console
 simultaneously

On Fri, Aug 05, 2022 at 09:41:09AM +0200, Jan Beulich wrote:
> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> > Previously only one serial console was supported at the same time. Using
> > console=3Dcom1,dbgp,vga silently ignored all but last serial console (in
> > this case: only dbgp and vga were active).
> >=20
> > Fix this by storing not a single sercon_handle, but an array of them, up
> > to MAX_SERCONS entries. The value of MAX_SERCONS can be chosen in
> > kconfig, the default (4) is arbitrary, inspired by the number of
> > SERHND_IDX values.
> >=20
> > Make console_steal() aware of multiple consoles too. It can now either
> > steal output from specific console (for gdbstub), or from all of them at
> > once (for console suspend).
> >=20
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
>=20
> Actually I should have clarified yesterday that despite my effort to
> review this change, I'm not convinced of its need. I simply don't see
> the use case of having multiple serial consoles at a time, and afaict
> console and gdb connection can already be run over different channels.

I agree the usefulness is limited. I needed this only to debug the xhci
console driver itself. But since I did this change already, I figured
I'd share it as it might be useful for others in similar situation.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--iL6KS72HvcTwiigy
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLtFx0ACgkQ24/THMrX
1ywCqwf+L8TOcTbsS9UtWNKvvaSbITWjqyXOg17F0oaWLNs+D2yPuJ2Blmk0/xw/
3Rk1uGEkIr4SZnv0n2RwplAdh5JgJFA9xVQt+oiqJrui3Gsdzagou1Dpy3gWtEx4
6VJd4xJZrXG/7gaDbsNkc/sAwMsWkwPgo7qgVktvFxKSK9hc2IAPr5YfSg4lEhQr
ijblvXGnL4AdeRQpSxnIKxC3OVgVVmcbP5APUabnpdoEXelYmQcXGeCl5Xj824jV
JowXGxNVb+nhsu1vnrElyn2uAKt344bRExsrdxH+/BaVAzuLOPVD3oIaa2XjEG9w
/k4ukUc+Jg2kCV1fOjnSWPa5xiRe0w==
=a7hR
-----END PGP SIGNATURE-----

--iL6KS72HvcTwiigy--


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 13:13:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 13:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381240.615840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJx8j-0005qx-5h; Fri, 05 Aug 2022 13:13:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381240.615840; Fri, 05 Aug 2022 13:13:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJx8j-0005qq-2s; Fri, 05 Aug 2022 13:13:21 +0000
Received: by outflank-mailman (input) for mailman id 381240;
 Fri, 05 Aug 2022 13:13:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LiuH=YJ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1oJx8i-0005qb-69
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 13:13:20 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80087.outbound.protection.outlook.com [40.107.8.87])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f657930-14c0-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 15:13:19 +0200 (CEST)
Received: from AS9P194CA0024.EURP194.PROD.OUTLOOK.COM (2603:10a6:20b:46d::29)
 by AM0PR08MB5362.eurprd08.prod.outlook.com (2603:10a6:208:180::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 13:13:06 +0000
Received: from AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46d:cafe::fa) by AS9P194CA0024.outlook.office365.com
 (2603:10a6:20b:46d::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Fri, 5 Aug 2022 13:13:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT015.mail.protection.outlook.com (10.152.16.132) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Fri, 5 Aug 2022 13:13:06 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Fri, 05 Aug 2022 13:13:06 +0000
Received: from 6780071df1f6.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0254D989-E64A-4029-880B-FA48708B5A45.1; 
 Fri, 05 Aug 2022 13:12:54 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6780071df1f6.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 05 Aug 2022 13:12:54 +0000
Received: from AM0PR08MB3809.eurprd08.prod.outlook.com (2603:10a6:208:103::16)
 by GV1PR08MB8473.eurprd08.prod.outlook.com (2603:10a6:150:81::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 13:12:52 +0000
Received: from AM0PR08MB3809.eurprd08.prod.outlook.com
 ([fe80::4ca:af1b:4380:abf9]) by AM0PR08MB3809.eurprd08.prod.outlook.com
 ([fe80::4ca:af1b:4380:abf9%5]) with mapi id 15.20.5504.014; Fri, 5 Aug 2022
 13:12:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f657930-14c0-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=A6lX5AdE1sH5dm4pCnzQiI7UAjmoe8EgJlepyfCqwW1Xsf7+kTOcK+voBTjmVSF2m6M+40ASh06bHA4b5ob0U90dK4YjmC70eSrLTNoa6RVRlRsIW3VHrAeX5FWFw9mUUAljFB7f6glzknmmPhaRF2h26G5RoqhOtamPiRb6sSdoAk42QPb4B2rGXw2lpoANqo1mP0UtYTmj7iXBco2xo1OdjUZpVkN8gmXhB36c3zdTFU81/oaFRj4Es6Cl6gQOmxnyfCkuuNjiGchu3v+AJoSfdaIcIT+dw5/HnkPmsQjO/Jv1l+09ExWYvsddpi/pw6vsKjC363WHM4Jmvnfqjw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MZlSKummqDwyA7XSeCEvJAjoFOPoUHXJcN868r8iNcY=;
 b=RKnW1sC97J0OanPGQ4qprJK9a5y0jWlMD9I5LiuyS0c4JX9LQtkVE42E3EtrXxos4xBZbjmQdmMDdKMskBwiNmC517ledFlWrduSuDZBwnYKu1soZsYHmNX/eu49dAdbKfkBg1uubMgJouBxPcv3BZaAskU+yQ26IPOnwXZqtW+jlOfGHjdWfq0BQLcLpcRH02utb00nZ+ydqvTcjU/ufIr9hnkg2k7t8Qjq0gvTRV+BXvF2AIAZMP6qzp/GjgeJRxq/pV+3MUJrbPszg+mM/l57jI5CVQCLHmGW5TmEWe/6BXwfSpNP0LpdwOfeaf6sZGKk00TjZtedAT9c5zqyoQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MZlSKummqDwyA7XSeCEvJAjoFOPoUHXJcN868r8iNcY=;
 b=mNarN6+umvPffiILeCxxRzcdtDO0yNXElXJ9oF1udVDoHedZRhE0vqdUjdihVRx7bNz53jS5GqOeEv96p61xRGNC+CSFhOvp+O3366p8dedc9kk3kuLREMhC5cqA2PWAUC8W/i3xzL4Eb+QC+ZAQ7kMpOv+bQj6GSbRTBp70Wno=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: db805199d11b63d7
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gRfJtSgh7DCh7K2+1KAE7utDGA1YBrNR/WgqT7HlCuPdCUCVwrEZrZ25Rp34lxIKls4ayfb3frAWezlLnN07HAvflzWHcI803nONPl/x7yDkssrVWp375RvSORIt2OdYW5WPkMQ4O4KkUeM92JdXWtuu7iBbqFU0ekKioATYa9rF3A7lRr55/PWO+N9RMUMAcyh1l7fXQLRRYSnwoOC4+IZ35zhVLzKeas6mRqtyBcTYMeem5odeZSaN9nM3MFVrymnmT96Dpu5Nn98IxvG/f/fFEYiwqrMurZv92puba0Qdd96QUn+sHGdA3MHSXlmXiG3rYsIcNvjT8mtB8lQD8Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MZlSKummqDwyA7XSeCEvJAjoFOPoUHXJcN868r8iNcY=;
 b=Z92UR6A873UJhF/+ajwtuu3GNT37pmLu8kCgetj9AG3hR+K3//H5XfjjCsjQd+K/jsyn69TB35VoIqRIE1sbDfobQ/cDMs+S2qbmYjOGyeysodMrwszuWx7vZ3f/fLzo4owMR6iMCggjyVhHpiLH9RqeWJEr1j5sifxr2GmUJ2N/e+G4IHd4/NZZT3huGCR3q9+KmGXbyRvbT1s9eXXZOIRCGUggahtK/IIvEA7CM0MNN/k6h2/Cy4EBwpBsjfk9qg81HIjHjgymaIj57IIk3aJUMBrPiP6/5rFswxmMk3D6Dey3PlfGSzIwR2uhqipZk5Gi+IgYMxpZCG3vdQmHbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MZlSKummqDwyA7XSeCEvJAjoFOPoUHXJcN868r8iNcY=;
 b=mNarN6+umvPffiILeCxxRzcdtDO0yNXElXJ9oF1udVDoHedZRhE0vqdUjdihVRx7bNz53jS5GqOeEv96p61xRGNC+CSFhOvp+O3366p8dedc9kk3kuLREMhC5cqA2PWAUC8W/i3xzL4Eb+QC+ZAQ7kMpOv+bQj6GSbRTBp70Wno=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Xen development discussion <xen-devel@lists.xenproject.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] arm/domain: fix comment for arch_set_info_guest
Thread-Topic: [PATCH] arm/domain: fix comment for arch_set_info_guest
Thread-Index: AQHYqMxj+SsCb6WfSkeThh/1USfbDq2gSIcA
Date: Fri, 5 Aug 2022 13:12:50 +0000
Message-ID: <7ED079C7-4A8A-45EF-8DC7-539D338F8535@arm.com>
References: <20220805130800.16387-1-luca.fancellu@arm.com>
In-Reply-To: <20220805130800.16387-1-luca.fancellu@arm.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: bfc08538-26c8-490e-ab7f-08da76e43c6e
x-ms-traffictypediagnostic:
	GV1PR08MB8473:EE_|AM5EUR03FT015:EE_|AM0PR08MB5362:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 LhVKvsjkGdK5FCTWgJUi50KXPD9TBUb2zClOrjS57FiXJt1W76Xl0klzmc2doLGpNnR+aKlDHQJ4EYmbkM5xaX2kNdUXg3MhX7cD/F6/aLNyzfLvJILU5wgG9mKMpz7ZmLDwPGLC+MCSDD4n9H3yn8h33Lw3l6X4q8w5R1NDrm3FJP56rHcrgoKYMprQuzejvlA78QE0US73O4txMiSkoBVfnGZzv08cJXUenjQ8DUte/pZD8CT2Dm8pNJ+w4mFaLGJZBENAawwB2It9Bhc2e7ZQnXvsdSgdMlElcTF0F8t9Fy45Nn2qSoYejFCCy/b39+XG21skRhKshfKXbg79OOyo9SokyAahzyAGnd+OIr2Q9KdhEN3w8AAgPjiKInuh+QbE4KvyhePJOiMW/LtbKg0x45QGYxHLPxk1x0DJ+LKCKPrfG8PgJPA4LpBhC9rYeYxdHl3nhFyP1455kXxb1UV0va5uQdzhZtGUwwBJvA/jwDSqALhJGFgbwFMwcUWYvFg+eomdOO8xQEJNZjYMWfNAkqQcC9FymexNGSlgIs63BLTQISi27uCZ48AyoAxWIDVRVZ8M9JXnnwgmpDRWaUgckC8BFhBIJGElUN+nqqb+SKtAw4/DvthAcDIApVKI4Uu2O0I8fatBsppiI+A8FdblZQbxFTiaA390QKwjMqPphw33p2NfMOpZ7ML/k3QwvB/dw6qeh5bFUsoksrhdblIsVcWTgw07iO+EkBm2D/7tms9i3sAaGg8q6MZ9AOC1+UI5NA7W32MmNPrJwL3SWFvR1umNI8xfoF6hlaFtV4SgPGMnOlvbFbgaxKJkmYFDnpGJt89pRul3YA9w8glBEA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB3809.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(396003)(376002)(136003)(366004)(2906002)(478600001)(8936002)(38100700002)(6506007)(6512007)(36756003)(26005)(53546011)(54906003)(6916009)(316002)(2616005)(91956017)(122000001)(4326008)(41300700001)(64756008)(76116006)(66556008)(66476007)(66446008)(66946007)(86362001)(8676002)(83380400001)(71200400001)(6486002)(38070700005)(5660300002)(186003)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0B21AD160A45D04EA9FF183628EBA995@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8473
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bf4560da-c9ee-43bc-0bc4-08da76e43327
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	65OiH8Jo7EDztNaAC9ks4neNeu82+xafaDXHz33GV47ZzTOdxs9Npe2/5FDXkHtYATNYnfaWeCHNF6HAy9ScwI4Son3YEnqjI+KKOutVdcIMYq/sVufOgRobKlKxqMBiEdTk/IMlZki9GU3MP1Ngty3iUrtmZCZJegqiwJSPSyQUlGVlcXHi4wy1m6SZ4mRyiXB5EWdVGxMk4L8/KBPrN1iu7AKMvpvcSwUuSX8BFSrF7z5uokKE0vGV6f2Wg4RFZOGBCQCt2vGNrBWyiCMuakEtaga2ApvdTr01yi+En2nuy9kSeWTg1XH7/wXuLqnZCMBe+U6J9gmw3dSvJd+SfmWwTI9gRWR6oibdsAzNTMX736qyXgnOjrSd+BZtfWf3JXt5mHx2XV73853+vRnOCue+n1+S7V6j6LjOTpPQXw5j7wwM3UD7GcVK/fcodAYkqrt0CT8cps63z3SPj10qiuy5hFlVpl0ZxvJrAOQVxnMoJJ+JoWf9EAVYSxTsyzwTT1ho7A+Vzjw8Nmy4dkMf3nUhXRuF0OhsMBEBCsfgu8O/FxXJJRXHwbdWmXVAM3KwHexZgyxzam2FGAtP97cON9tJT/n8lG6BASavVck1JR56b9lAA9uQZvOfSCSTREqchliDWrNJXRHQWfxQwbfIvQN6Iof0wfQQuQAgddcHb1YKH3jZCYAomMRLPs+ntpagLJ6ByJn2SnrRdIry4J7Ws9rHNsDx584UvgHUGIAI1eY8H99zYf1WJWzjwiunQ/VHwx7qu2RWi8o70qbIZ9DasNIpp6EtF+TF5/qns7d77VauoyCLLh1qxpfvxIOuNJDk
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(346002)(39860400002)(396003)(46966006)(40470700004)(36840700001)(6486002)(8936002)(70586007)(70206006)(2616005)(8676002)(6916009)(54906003)(5660300002)(4326008)(53546011)(6506007)(41300700001)(6512007)(107886003)(26005)(2906002)(36756003)(47076005)(40460700003)(81166007)(83380400001)(186003)(86362001)(336012)(33656002)(356005)(36860700001)(40480700001)(316002)(478600001)(82310400005)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 13:13:06.4228
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bfc08538-26c8-490e-ab7f-08da76e43c6e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5362



> On 5 Aug 2022, at 14:08, Luca Fancellu <luca.fancellu@arm.com> wrote:
>=20
> The function arch_set_info_guest is not reached anymore through
> VCPUOP_initialise on arm, update the comment.
>=20
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Hi All,

Sorry I forgot to put v2 in the tag.

Cheers,
Luca

> ---
> Changes in v2:
> - rephrased comment to not list caller functions (Julien)
> ---
> xen/arch/arm/domain.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>=20
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 2cd481979cf1..9db8a37a089c 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -885,9 +885,8 @@ static int is_guest_pv64_psr(uint64_t psr)
> #endif
>=20
> /*
> - * Initialise VCPU state. The context can be supplied by either the
> - * toolstack (XEN_DOMCTL_setvcpucontext) or the guest
> - * (VCPUOP_initialise) and therefore must be properly validated.
> + * Initialise vCPU state. The context may be supplied by an external ent=
ity, so
> + * we need to validate it
>  */
> int arch_set_info_guest(
>     struct vcpu *v, vcpu_guest_context_u c)
> --=20
> 2.17.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 13:33:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 13:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381255.615864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJxSE-0008Q9-24; Fri, 05 Aug 2022 13:33:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381255.615864; Fri, 05 Aug 2022 13:33:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJxSD-0008Q2-VV; Fri, 05 Aug 2022 13:33:29 +0000
Received: by outflank-mailman (input) for mailman id 381255;
 Fri, 05 Aug 2022 13:33:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJxSC-0008Pd-70; Fri, 05 Aug 2022 13:33:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJxSC-0000V1-4T; Fri, 05 Aug 2022 13:33:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJxSB-0003hS-Kz; Fri, 05 Aug 2022 13:33:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJxSB-0007p8-KZ; Fri, 05 Aug 2022 13:33:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2MJei/EMY8cCL1GhuxO2qQjmmctNOB6flczd49AFHDE=; b=UcvP6mSXele4rjdy8eOslNsXom
	prGx+vJN/U6fKcSvCK9P8OgVWDxOBaSQ72JVoS8uEDAlyeHHD0xYXAYq6z5NgOvJRcpfZXM0RQkYM
	qYPE+BKem68z4JoOMBnul8UbtUpmF17rUES3sVZB9OU/FMb+ShCOTiNEnVjitx5r+3/o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172157-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172157: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1f7543c039f6b9eb182f0395965b9d414ac774c4
X-Osstest-Versions-That:
    xen=01ca29f0b17a50a94b0e232ba276c32e95d80ae3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 13:33:27 +0000

flight 172157 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172157/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-i386-libvirt            6 libvirt-build                fail  like 172143
 build-amd64-libvirt           6 libvirt-build                fail  like 172143
 build-arm64-libvirt           6 libvirt-build                fail  like 172143
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172143
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172143
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172143
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172143
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172143
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172143
 build-armhf-libvirt           6 libvirt-build                fail  like 172143
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172143
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172143
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172143
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  1f7543c039f6b9eb182f0395965b9d414ac774c4
baseline version:
 xen                  01ca29f0b17a50a94b0e232ba276c32e95d80ae3

Last test of basis   172143  2022-08-04 12:29:47 Z    1 days
Testing same since   172157  2022-08-05 05:40:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   01ca29f0b1..1f7543c039  1f7543c039f6b9eb182f0395965b9d414ac774c4 -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 13:51:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 13:51:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381286.615891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJxji-0002bw-SB; Fri, 05 Aug 2022 13:51:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381286.615891; Fri, 05 Aug 2022 13:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJxji-0002bp-OR; Fri, 05 Aug 2022 13:51:34 +0000
Received: by outflank-mailman (input) for mailman id 381286;
 Fri, 05 Aug 2022 13:51:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJxjh-0002bf-Rs; Fri, 05 Aug 2022 13:51:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJxjh-0000v4-NX; Fri, 05 Aug 2022 13:51:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJxjh-0004lf-CS; Fri, 05 Aug 2022 13:51:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJxjh-0007Mm-Bz; Fri, 05 Aug 2022 13:51:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=CTzqBFcCqe44WJGQvBlA1PXAHPcVQF7TwPexEdei1PQ=; b=mA8zgSQ9425wp6MSp2YRBzzbji
	Q7XRshK6If86LyKBVDMsaP8pV6aT0BangN8ly0SktxMJNYzQOJi7gAgze2njuILuKn+AqMSoSW+Xr
	3BntBjxfUHmktATuudT8cUfGu7TFE1dWcKeuIYeLro1GxSrXVo5T7V8lmemxRlRVBuD4=;
To: xen-devel@lists.xenproject.org
Subject: [ovmf bisection] complete build-amd64-libvirt
Message-Id: <E1oJxjh-0007Mm-Bz@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 13:51:33 +0000

branch xen-unstable
xenbranch xen-unstable
job build-amd64-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf https://github.com/tianocore/edk2.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172182/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/ovmf/build-amd64-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/ovmf/build-amd64-libvirt.libvirt-build --summary-out=tmp/172182.bisection-summary --basis-template=172136 --blessings=real,real-bisect,real-retry ovmf build-amd64-libvirt libvirt-build
Searching for failure / basis pass:
 172170 fail [host=himrod1] / 172136 ok.
Failure / basis pass flights: 172170 / 172136
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf https://github.com/tianocore/edk2.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd a8f59e2eb44199040d2e1f747a6d950a25ed0984 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd https://github.com/tianocore/edk2.git#444260d45ec2a84e8f8c192b3539a3cd5591d009-a8f59e2eb44199040d2e1f747a6d950a25ed0984 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e\
 8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-01ca29f0b17a50a94b0e232ba276c32e95d80ae3
Loaded 10001 nodes in revision graph
Searching for test results:
 172136 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172151 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd a8f59e2eb44199040d2e1f747a6d950a25ed0984 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
 172154 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172156 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd a8f59e2eb44199040d2e1f747a6d950a25ed0984 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
 172158 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 04248b82f9621c511f3d5502ce74df7122ed157e
 172155 [host=himrod2]
 172159 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 3629759626ac7201a670a8a2d4d4a536e7443575
 172162 [host=himrod2]
 172163 [host=himrod2]
 172166 [host=himrod2]
 172161 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd a8f59e2eb44199040d2e1f747a6d950a25ed0984 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
 172167 [host=himrod2]
 172169 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 ca45d3cb4586372909f350e54482246f994e1bc7
 172172 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172175 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172170 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd a8f59e2eb44199040d2e1f747a6d950a25ed0984 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
 172178 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172180 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172182 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Searching for interesting versions
 Result found: flight 172136 (pass), for basis pass
 For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x5618bf8a6a38) HASH(0x5618bf8a51b0) HASH(0x5618bf8b1088) HASH(0x5618bf8b9070) Result found: flight 172151 (fail), for basis failure (at ancestor ~5390)
 Repro found: flight 172154 (pass), for basis pass
 Repro found: flight 172156 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172136 (pass), for last pass
 Result found: flight 172172 (fail), for first failure
 Repro found: flight 172175 (pass), for last pass
 Repro found: flight 172178 (fail), for first failure
 Repro found: flight 172180 (pass), for last pass
 Repro found: flight 172182 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172182/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/ovmf/build-amd64-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172182: tolerable ALL FAIL

flight 172182 ovmf real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172182/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build           fail baseline untested


jobs:
 build-amd64-libvirt                                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 13:57:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 13:57:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381297.615907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJxpT-0003Iw-IV; Fri, 05 Aug 2022 13:57:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381297.615907; Fri, 05 Aug 2022 13:57:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJxpT-0003Ip-Fg; Fri, 05 Aug 2022 13:57:31 +0000
Received: by outflank-mailman (input) for mailman id 381297;
 Fri, 05 Aug 2022 13:57:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJxpS-0003Ij-6O
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 13:57:30 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062.outbound.protection.outlook.com [40.107.20.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b03613f-14c6-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 15:57:29 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6019.eurprd04.prod.outlook.com (2603:10a6:208:141::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 13:57:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 13:57:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b03613f-14c6-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CU0+kPDOe7No2VdPZujzlzEZTmJ3a6Ef9CTn3NJ85Z2WAnc3LYX1trf2UNQRNc+0JbMu2YkpgmGH++ULojxJl6jSKjSn+lgh/foES+kAUohmelV/6qdoqcnopMpiutdyrYoLCDDpBnjkeTAVflL+juIfFNpie/5zk2PSsyuuGHdXYfmqN1VHeKwtDf5RrCyoOqo17HXVSZ+TUKw4dYd0DYzPcAZX/saDSt2utKQ1yUsYOocB/YVYJmVSS9t6AgCffMseTDYtDYqj8aqsAlp5sDRPFmqBXvvK5TnN4lTKrUD/KrsGbXHrKVUwAzC/aJepb1MQftub0BiVOhncyro2Sg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vxc05xjFoqlXm5elSu/oqEeEzAN6Oce92bcqa3mfRnU=;
 b=FfFQtd3j7tCMh0zU2Zd8jkRsPy8Jft5TfEjL0KSj/hdK8oh+VtCkRNAzen/82O1FKg/dp0Y1AKvbfDjRhZVHeidExPoQOhubXWDD2f+UKAuJ0h8xNMBnVjp48HmAvPNUMzw4+ZW7EG6aO5PsGrA7Hv3exQCtRVLHOADs/L6za5c6fJfKrimHeURJIxy5oeMD3f+UrAmvZCBM1Ha5xH4qchsRv2Z2PdZdECOVQ97SQSRvZ5RPl3X1kNhbuDP6xTFOEOd0H5Uhlb2HpcUHJiyUVYJEC1LPyfbhV43PskKfjftZaHkuB/BLsh+9dQBFbjN3GllgdFKUnJLB5KS4a++iHA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vxc05xjFoqlXm5elSu/oqEeEzAN6Oce92bcqa3mfRnU=;
 b=onkzdpEp3EQ4xWmnBef2bVakrYHvEWLssSgQIPIUOi6DneCPLxwfkLkDIgMusoTBKm1pxv35zUR2etJfQ15K8lAZOaY5kZ9i4zRIsRVpO5m1JkCk0p6GRC8KZGWHWNgTlPT/B3TOVr4RX13nREvUYh4kl99KKEYUy+Wp6Fd+VhvVY1bIg+Onq6IOkS4fGbvXSLpUBv3oVqCpt3wEHMJ6HUtIKA4M2lzaKdvSNqS99MHFZP+BSb0/0/M6NqttvMdfUPuaFkX8kX4AdyC2/mAlaW0XCqDu5Ll66F/d+W1PHsPdCcuWuBMb9G/oWY3b6PuJt2lCsLfrsSkvTAUIqcoMPw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <14c8f7dd-f619-8008-c08e-d9031023be25@suse.com>
Date: Fri, 5 Aug 2022 15:57:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 0/3] xen/cpu: Minor coding style fixes
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220805124442.1857692-1-burzalodowa@gmail.com>
 <67c9bf09-7639-bbb2-6942-9fce583bf700@suse.com>
 <4749e664-0052-a6d1-c4a1-42cebc17e610@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4749e664-0052-a6d1-c4a1-42cebc17e610@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0a042dab-8b43-4014-726f-08da76ea6da4
X-MS-TrafficTypeDiagnostic: AM0PR04MB6019:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zHxmR4Sqbsd75La8rlWGQBktRHHW1HT0ll/bGliHxoRNLFy537avPP8aC2AUFguVUDU4Pp0vbMQXmGUntizCXt8xph9SLTqMolkRT6OTxseGPq7ZoAbJMRtEF5A9JbvTQsPKukUG6sdiN6pvXTv3CyZDJYKYlI+NCFXU1N2Ny75zQK9CE/W/V8oIvdsOFKKoAchMCM0Gv0FzIPJbx+QwmnqcPbzU4Qlfl6EzO+NDDOoAJNHPbMqxTYpxq/73H+ugHpaFLOsjyHD99TET6lX2GlJYjUXq9lnhb+N+Ra1AZfyVk5lrdrIsbeLh4e0ZFZs4jBMb+LUXafu5PI/LBDVlLflMe0Cb3DJ0qdgARaAxJNXt0n6u5S8/NY0FADJR6RRVTxr6S8AL7VaCFCFTDZPmnoeggQziI1765PDUUJgkK7OaclR6pZALsTidfA5qwz/zarQjMq2IkTMbiLsPooxfz6sPETkbOoZPFmJ3NQ1xATVzbP91KoKaoyBpIsLAVeX5VtxjyR0y5lE2+IwgSSmy3tw78JfYHL02jswpbb2de90P27ajB4DzQ8AQEaDtU4dcVdcgo/Oc/Ss73U6kzTZL9dxXv46AHuGTm1IPNp4EPqwvWndHE3A1e4jHmI3UkC7/IYsdhVVounSmN5HkV0HwHY/ZR+3Saf+agWC/f7IsJT48suIsX0CS+tIOXddf/a5KnIgPKOxpNGW1UE/t0oR3jBt9+Fr/aXeZz49NUNnlomwIU99v2ALp3Kq13Xy+DwAEe9+15ob7XH2PMcTj6TgEIsqvi7tIDYw8+eQceQUXr9QBNey4hBxIY/aNESZSJc7eb7yZp/dDjSv+1YmdJ6TOBw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(396003)(346002)(366004)(136003)(6506007)(41300700001)(6666004)(26005)(6512007)(6486002)(54906003)(6916009)(38100700002)(478600001)(31696002)(53546011)(316002)(86362001)(186003)(2616005)(66556008)(83380400001)(4326008)(66946007)(66476007)(8676002)(5660300002)(8936002)(31686004)(2906002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0FnSXM2N3N2MzVOQ2plNUdCWTRtYkhXWDdNZWVPOTBmZ0FsbWVCc0hlZzFh?=
 =?utf-8?B?TXl4S0tveUlYNTUrTS9RZ21HOGpMWWVPL3E3b3NGdStORGJheDFxZHVWaWc0?=
 =?utf-8?B?NUFvZlg1WGRYYnRSdXdBU1hvMWlOK0pMV0dHQ3ZEL0dzTTgrOHh3NHN3d29q?=
 =?utf-8?B?YTVtQ3ovOUo5NnpvVHBHZWJ3VVI3WEFOTjVWVWhlblVBZmJlMnVCZWtmN1FX?=
 =?utf-8?B?ZGNQcHROVXFQUWtUSUROOHozME5kSHZUcXJmL1k3a2VuOFQ4UHV1N3dpQ0pl?=
 =?utf-8?B?RmVzOU5yT3M2N0Q4bHQvcjNHdlZXZkkxNlRJTEJWWUdkcmQ3MzZ4cjVNSEFY?=
 =?utf-8?B?TUZLZC9ZVXFTOU1tVHdybExYNTMyUXZKY0dBYmk0M0szR3hiZFhsSTI2cXd5?=
 =?utf-8?B?OEthV2wvVUl3enEySlNKVVM1NU1tOHN5SjZZV2RuVkkrVWttR284OHRLbzJD?=
 =?utf-8?B?c3VPMGtVZjJVY0JFQWtDaytXd0x5NFZQS0x6ZHUwaW9ZRE9DOWtNdWkzbjlz?=
 =?utf-8?B?UEhpSkNramdtbllaT1JpVnFKU2hXWm5mcVZXSk82VGdMeVBzOGNKRHVudHph?=
 =?utf-8?B?ZjZGMS9uMEZSNFc4U1FEbDJYMSt2NytVNmRQSWxYeGRrV0crN2dBSXA2Vmtr?=
 =?utf-8?B?ZmwydSs0UmtRaEJEb3Jyek8vSk5uTlZaTVI5Mm54SnhPa3JPaUdlNzRtZ0pa?=
 =?utf-8?B?VVhwN3F2TnpuY3lzK0JOVlZJUFNEMVdEaS9mQ1pHdlIxanBNdVZCYmgxK3Vv?=
 =?utf-8?B?SzdmR29Ma1VBajJVcXdrMWVQcGtyTkdWK0UyREZPT3lOVUJTdkc5ZFl2N0sw?=
 =?utf-8?B?MkhTWStyWHh0RTZ3MVVVTXBRK2VaT1RrRXF3S0V5TmpiOTltUTlnRVpRdkJr?=
 =?utf-8?B?a3hJdFlYUW55QVNRUm1tMUk1ODRHRVBYdWRUdElNczZwVmp0dkJJenVkbVZq?=
 =?utf-8?B?M3J1dGdBOVBVL0ovYUxZazZoNkVrY2h4eVZhYzREaGZBVnk1VVhvdnJKclZs?=
 =?utf-8?B?cGpJeE9iQWE3V0ZpVTdTTWd2RWprdnpRam5OUUs2dkZ6S2lEWnN0b3VEU1ph?=
 =?utf-8?B?T0xlUHZiV0NhU1ZwQkgzbG5jR3lVVjQ0RVdYekhRQmpFdmhSWmpHVWt5V1Y5?=
 =?utf-8?B?SWVyU3E0ckp2OWs2b2FteDU4bXRjM1FGaVByK0hOOUV3QVdjOTNia0M0dXVp?=
 =?utf-8?B?TThqdnoyc3VRemNPV3lpR3VpMjJ5Q3VRM0c3c3JEakdrUEZ6bEVkRCs0NHJ2?=
 =?utf-8?B?RExrUE5DUEFXUHJBL3BJQ2d0YTI1NkZLQ1JCYjEvQTdtb3JjOFdsTGtVOGhC?=
 =?utf-8?B?bmx1THVSVlpLZ1VXRXM1NnFzSkdtMzVvYWYvdmJxbVFGbS9hM29JZy9UNjdM?=
 =?utf-8?B?KzJPL1BNZUF2SkpjOHpBbGlBMzdZNkVYd1NES3BGWDNZK3JsMmZ4dGxuV3F6?=
 =?utf-8?B?RS9DdFFNSG9hTGpKK3drT04vbE9SRG9XYXppWTRsaTg1cjZuOHNBSUw3MllM?=
 =?utf-8?B?MkNzRzlSNjBnUjMxMzNHUUxmNEJ0Z0NDTzNLMHRFUFlIS1hwOU1YTGllUGZH?=
 =?utf-8?B?MzJkcjd6TkRlWnpwQjhqaVRDR2JudHFnVmFKcXJiRkZMdjNKeWZ5RDNVd3hW?=
 =?utf-8?B?WmtGUVMzNGJESHowUGprTVl5VTE2a1d1TFR2d1V3MjVwdkhSMm5IY0pTZWFy?=
 =?utf-8?B?a0RaaGo1dHlPeHk2V2xOUHdTRWpHSnN2ZjB2VzJKRTlLaitMT3o4RXdsU05J?=
 =?utf-8?B?bnAxQTI3c3hWZ1EyamM2VFp0bE44akJRYVR6RFkvcXlZMkFzNTE1NVU2Mkww?=
 =?utf-8?B?bU1MWFlWWEJkSUJ5TTZPdzZlRHpuL2FBRHppVWZRQXRYQUVuc0ZqSVBFQVpn?=
 =?utf-8?B?Q3FyUE83U1I4YzJwYjlJSTRqZG15bnNOOGdoREU2R2Fja0RvMDVNeHJic1Y5?=
 =?utf-8?B?byszT0FiYVlCaUprRTJvSUdEa3VjZlJ2aE9lb25HZytKMHhVWnRkWkMrNlJs?=
 =?utf-8?B?M1paTys1QmtrLzFETjZ6WC9qcUdGamVUM3Y2OThFMTh2Tjk1RktsRU1lM0Z3?=
 =?utf-8?B?VFRRSkRaSS9kVExkY3d0TmVhVjhXQUplWXYwZ0x6bmZLOURlYlkzcmJnRi9G?=
 =?utf-8?Q?a7nmsYHTvCGxYJ/DWzNdXrYgL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a042dab-8b43-4014-726f-08da76ea6da4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 13:57:26.1671
 (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: LdLYGKrx7k5UA3JEb7eHXKUEu88VLjVg7SnkJU/DQIAy61i19IGdgZxlTjeAaUDZDBWJF+oYcZmw6kUjuW5tgQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6019

On 05.08.2022 15:05, Xenia Ragiadakou wrote:
> On 8/5/22 15:50, Jan Beulich wrote:
>> On 05.08.2022 14:44, Xenia Ragiadakou wrote:
>>> Xenia Ragiadakou (3):
>>>    xen/cpu: Fix MISRA C 2012 Rule 20.7 violation
>>>    xen/cpu: Add missing white space around arithmetic operators
>>>    xen/cpu: Undefine MASK_DECLARE_ macros after their usage
>>>
>>>   xen/common/cpu.c | 15 ++++++++++-----
>>>   1 file changed, 10 insertions(+), 5 deletions(-)
>>>
>>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>> However,
>> - I don't see why patches 1 and 2 needed splitting, when patch 1 already
>>    touches all those lines. It is the usual thing for us to make cosmetic
>>    adjustments when touching a line anyway.
> 
> In my opinion, the initial patch that added the code should not have 
> been accepted in first place without the white spaces around '+'.
> But maybe coding style rules came later.

Iirc the goal was to take it unaltered from Linux.

> Nevertheless, I continue to consider it unfair to rely on and request 
> from new unrelated patches to fix those issues.

I can certainly see where you're coming from, but please also try to take
maintainer perspective: By doing trivial and obvious adjustments at the
same time when touching code anyway, there's one less patch to look at
(and later to apply). And please also consider how "git blame" or alike
works: By touching the same line(s) twice in close succession, finding
the "real" change is made needlessly harder. (Putting the cosmetic change
first is generally disliked because it makes backporting harder, in case
such is wanted / needed.)

I'm sorry if you take such requests as unfair - they aren't meant to be.
They're merely meant to make things as easy as possible for everyone
(which may only be on average, yes).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 14:06:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 14:06:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381305.615922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJxyE-0004qb-Dq; Fri, 05 Aug 2022 14:06:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381305.615922; Fri, 05 Aug 2022 14:06:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJxyE-0004qU-Ap; Fri, 05 Aug 2022 14:06:34 +0000
Received: by outflank-mailman (input) for mailman id 381305;
 Fri, 05 Aug 2022 14:06:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s4Nu=YJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oJxyC-0004q4-PN
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 14:06:32 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150054.outbound.protection.outlook.com [40.107.15.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce40fad5-14c7-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 16:06:31 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5841.eurprd04.prod.outlook.com (2603:10a6:208:132::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug
 2022 14:06:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022
 14:06:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce40fad5-14c7-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gthBfwEG8c9JWkj+MV9JllQKnijCe7ezlj9NED2JV2Vy0LFMgaLZ7DaIZkqzaIq56pZn8kJXjuE62VuDbxKtIqU/Pf6BUrDG++XWRpfGwXOUPhx6HvWz8GexpWjETkjYQI1YijnZLD8xWeSSRjSLd6ejuNmMt1Miu/B7NR7qk41opkJbOC/kBXENaKLGHi8FAOd+rTHCkfRsj0hpqRnjP6/C+QbyWlHGauHG/tCRxiqEhp3xwT6g2J3/4W1Wb2RfaxwfA1g3ffEYVOYqzaI9EHpaikBsvDd+H2BBozSLzLxG25RwwieIn8nc7TRspp72ksa8LyrKbXIBqdLX7S1PGA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pGGpvxdM5Xk/Jsi7GFTekf4ULHupdplIYq6NGVWwaF4=;
 b=LhVQizEQ9pciBiu9rIasLQYoQfI3XbY1PRvQD3ZUFyJdD+iP8317TLzWNY4CAYO0N4NCO/4rS4ShvHPUHRp73/ISiuQms+1y+yVGNhZi4cqbvzyxqN4aQlMXkc5/sZ8mAVh6B6XjBY2rJBObp1m8xMSy/SRAnJfCvnugBWh1Y9munB06jEHsWAhjeMUKiR9OY1AfI0u9DGj3n1OqBB+jFk+MhiK+PgatW2zOp9+2FauVjsZzd6TVmICMi0h6Sc09b3Jwmc8UXOXpEpckvU9hcoCKNJP+vpw3n9vUeOoJDc+SC/BSAnpBCX4RkjgucS8WKi07bk2Goc2xyLFlIBbn0g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pGGpvxdM5Xk/Jsi7GFTekf4ULHupdplIYq6NGVWwaF4=;
 b=mjpinqlLp/tv2/KYE7/X1eAQelAMDAnas4Bbi90kv5xI50gA/LWfhrsWA8FS5spkHiWWvzGSFouYnJ97a/+rOvfiBVFhrp2W6zTGYdM8CjDlGXvUcrpHJFn4jAS7HNTu9ZR+IbRVkaDY9sptCoVNv3O9BaJ0AEEC17hZebmNs2MsEg2EItYZajkrFDlzqyHXUgRLu1ydkKatNrAc5rDdUGlYhgEgm22gH22I1S+7gq42k3TlpB/KgzcHpO90h3Zkc+wk/v+QOBvMWEJm2QU/oecQUOcz7BmdVOHzh5rGIexxzLO1kAU9hzTRvWKQ9FiIQoZU/BDU2iN+wK773EUJgQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <64ef8170-fd70-cd07-f861-a79639203f7a@suse.com>
Date: Fri, 5 Aug 2022 16:06:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] docs: correct x86 MCE command line option info
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2f3f70a1-9a0f-42e7-4f13-08da76ebb133
X-MS-TrafficTypeDiagnostic: AM0PR04MB5841:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VNeglEHcI7VDKHLDWaelnH6SAgvi35Rf8DfNW/hTo2WHyIIOs7+P/Fw0nmXUu7kc8Ot9Z6jFDjw3cQ76jpG+v8REdPyvykLP4Qaq9tQn+01Ob4DoIK8IOdDN4hperv7BDXmJMAyUvzLfcOcBx17Rn0kDK5yBpwIdXgHIFX9p4EwZ7qMPaTBzvjeAk0NgGBQU9rfdG6t5OGCXsXDQZv/LgjdwTgTppsrlZithUm4N+8RvkMxKkjQzEuX7PAzJOLIdy+bUZFsA/2uiKuiQl/PvpAAQW2oZnd8bwYXq0X+dcy8wfopLGa27sdaY4OA/b3GyvlVhRYxfden0wsz+NvbZzx3q39zGGbjz6ip3UZiR3wVaBo0ijMf461d/xYky4CPJxbk/5fO1UtkyVZV5yzys5HYLsIlw77q/22Go/1AGouB6s6ucYzpHHpJHlbU19zJrkmZojMIiBFjx/EdVJOXI0tQpcefdHSsOzfi/WlZhTN3AtGqnrf+TANHM61r0LAstKoFlHa5KhWeiNU0u+3/MGTaE2YwgvwH1WXRKrWzgcgZuJdJ79GeEyAbqfQBdsGobpRhiUOtlT8PDfZhMcT+SCCkZSE10exxGT+1Di8oc124wGRBlUx2wN3Zr51Mv87WoxYqcgTrL84mKZShnBhVJCOCOF69RJSePjPgcDyY4qF/oU5nCd0eLLOFXeiSC8A0y6jBAUFFOgdUyWy/CS0g8854kT42sFJ3sHDFV/DZg3dford+Y7V3mJPoZbBeQoZrfnNekK4mp3OE6E4Va9o+Q/WvHRxOAzOUC33JacG6v5lRvag8v4/EIQy1xL2mL707ehxBv4b+ZML2a32qIPfxo2w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(396003)(346002)(39860400002)(376002)(36756003)(6916009)(54906003)(31686004)(86362001)(66476007)(31696002)(66556008)(66946007)(8676002)(8936002)(4326008)(316002)(5660300002)(478600001)(6486002)(2906002)(38100700002)(41300700001)(2616005)(6506007)(26005)(6512007)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UEVQNnEyazdEUVNCTklHalN1SXlIS0FpMW5jZ3J2NFNwa1ZBUmZEVk8xdGIy?=
 =?utf-8?B?UDRWeXFOZEJLcUNmR2tEcjlWN0xNWnBNVVNHMUl2b0tzbVJSeWFRcG85TExE?=
 =?utf-8?B?dElLd0dhTnI2YU1oeWdkMGJJZURoOEJjUmpHS1VJNmZQYXZyc3dtQ0d3bXJu?=
 =?utf-8?B?SWo5TnNWMVdGcG1hdHJSRUlqVC9uT3l0TXk4WTlMRFBhUGhJa2pFR3haWUpD?=
 =?utf-8?B?VklhUEFUSEpoRmp2UkJRaWtBRUYvUmJVTHkrYzZuTGRlV3RrTXJlVUdZWWJU?=
 =?utf-8?B?cDgwNkwzRjN3UERiMkxuUVlnWExLazRqTUhBTS84ckNvRHpmRWV3bmxHSFlo?=
 =?utf-8?B?YWNCUEo0WDFCNm9LRGM4TC9ZVG1qbFcvd0tSZWN6TWlJTGlzSW1xemlScWxY?=
 =?utf-8?B?dnZsRzJOcEJnWEk0OCtNZy80RUdOUms1QmgzQmJNWEowY09JM0tzNjJISitV?=
 =?utf-8?B?WEJhT3o3K2M2NUx1b0EwQnNkSDh4SDhjOTlpd1JTU0NCN3BsMjRVNHNIODJZ?=
 =?utf-8?B?NUNEdERQdTR1N1BmbDNFclBOTVBZUUFGa1UxSkJYMHRJS0Rxd1luc1Rrb3RZ?=
 =?utf-8?B?eFJHaEZXdUFSOVpOQU51SnVpdmxMb0J5RjYzZlFxNU1wVFZIdStJZ3VSb2Jq?=
 =?utf-8?B?WllrdU0rUVdnTFg4dkErWTgrZGxSbEpPODhQQVh6ajJTdnN5c2Uwak1XZllt?=
 =?utf-8?B?dFVLeDdHVDA4dWk4NUpXUnpNS08zbnZxVDNYcGZmdm1DSUNGWXdBNVpyeFE4?=
 =?utf-8?B?Qlk0VFlrMit3Z3krTllTTU5CRDBTUU5naDJrbG5MZHZobjBRMEJ1N1AxYWZO?=
 =?utf-8?B?VHBsNks3a1hub2N5SG9TcjZPVlptNk40Q2E4QzhCY0hsUnA1TG94K3pGbGsr?=
 =?utf-8?B?UUpydGVqa1dMR043YkJIbmUwaXJEV0dSUVlib1VtTklNeUhMazZtWEpud0xt?=
 =?utf-8?B?MklLelgzSFpiNDNTZ1NXRVYwcEpHeHNZRDhkNEF0NHBoZHoydi9rbjlwOHls?=
 =?utf-8?B?L2JMSVVBYWI3b0dqcWwyR2pHdEE3U2lKNXpPS2RYRDVEMFNwRjFBaWFnUXY5?=
 =?utf-8?B?MTJ3VmkxRk5tR2hqNG9KcGsrNTBYd3ZlekZrZllSejFuZnhra0pkcStwU2NH?=
 =?utf-8?B?YUNZL0JSRnZPb1ArYnVBbWtaZWxRYVJWMmNxQTlIVWMxaDU1emZhM0k3ZXN2?=
 =?utf-8?B?ZkhqeTAveEQ1WnBZOS9IZjM5MldnM2EwZFY0ZmwvSTdMeXg3Lzk1ZmRSWXIz?=
 =?utf-8?B?RTg2L3ZBYmJlNTFDT0JtZkUxL1FkR3FDOGYrZk9NRXh6c29vbE8zL3Vicjcr?=
 =?utf-8?B?azR1cHpaQWRkWU5EMjRPWmZkYjZMc0dsUkx3UTNUQVZMbFE2YXNGYXNHNC9N?=
 =?utf-8?B?MW1TQm10VWZrc2ViZnh3N1pWd2JBSlpOSWhpWDl2UW9SQWVKMWxtR3liTUZP?=
 =?utf-8?B?MExqbEtpRXZ1MUFmZGhlRkZFL1phcmNjdUJvemV4S3JiR2lUSnNtRTFKMEtk?=
 =?utf-8?B?dW1wUmI5KzczRmVUZ2o0OVM3ZGNRa3loTDRzYktIZzlHMGtuRUptV0Vna0RH?=
 =?utf-8?B?Y2tjdTdrSnZCVTZvZjVnRWpUcW9HUGJMbmhpS2hBV1IwUjBpSW9xR2tjQjhl?=
 =?utf-8?B?Uloyek9BZHhPR3NuM0h4RWM4UXk2MWlwcW5hYmJsN0lld3hMWWFlSFBlajVv?=
 =?utf-8?B?Y0JPckZPQW1lZWtkdlRmVFdOM0VMcXpnditlRlNVSGRhRVhSSTg0c2xPYTJ5?=
 =?utf-8?B?T2FMbmlNTXdmR2w0MUR0Uy9FNUgxQnFHZk9FZnpjN2FzcmxER0VhR0w3T2VX?=
 =?utf-8?B?N1hhNFBuMUNtNk4wcytZeUQ5elcrc0VnOWlYRXY5WUxxazE3VDl2UWJLZUlP?=
 =?utf-8?B?c2F2WlkzdjRhckVsZlhZOGpLSzg0WFliYU00bGFROFVhbHNnUlRxSkpER1Bw?=
 =?utf-8?B?ZVZlZXB0U2ZEaURWbk0yL0t6RFRCcWJ6ZWlKTTV6OGhHVjAybnBqOGZabjV1?=
 =?utf-8?B?Z2ZiMy9wWU1tOHlGUUVRL1cxRy93dlpJWUtSNi8xOTV3ejc2L2lFRGZiL0NC?=
 =?utf-8?B?ajdKYjk2bjRMdjNmT2tRcXQ2cHV5Z21CbVQyWXViK2RTd09jQlVzNjNQY3Nj?=
 =?utf-8?Q?jiqnKu/NBohBPyM35gJZSF9Q3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f3f70a1-9a0f-42e7-4f13-08da76ebb133
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 14:06:29.5855
 (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: 2VlioJuLjEsF2heRhPx2IjvfR50PLMWLI1NkmaZ01QXMZ84t/jIz52fcJeoDZH3otnGXU9tnSCGz/l4uwIACdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5841

Not even the types were correct, let alone defaults being spelled out or
the purpose of the options actually mentioned in any way.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Wording change. Explain "silent".

--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1691,10 +1691,23 @@ one pending bit to be allocated.
 Defaults to 20 bits (to cover at most 1048576 interrupts).
 
 ### mce (x86)
-> `= <integer>`
+> `= <boolean>`
+
+> Default: `true`
+
+Allows to disable the use of Machine Check Exceptions.  Note that doing
+so may result in silent shutdown of the system in case an event occurs
+which would have resulted in raising a Machine Check Exception.  Silent
+here is as far as Xen is concerned; firmware may offer to retrieve some
+collected data.
 
 ### mce_fb (Intel)
-> `= <integer>`
+> `= <boolean>`
+
+> Default: `false`
+
+Force broadcasting of Machine Check Exceptions, suppressing the use of
+Local MCE functionality available in newer Intel hardware.
 
 ### mce_verbosity (x86)
 > `= verbose`


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 14:40:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 14:40:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381317.615945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJyV4-0000eW-68; Fri, 05 Aug 2022 14:40:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381317.615945; Fri, 05 Aug 2022 14:40:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJyV4-0000eP-35; Fri, 05 Aug 2022 14:40:30 +0000
Received: by outflank-mailman (input) for mailman id 381317;
 Fri, 05 Aug 2022 14:40:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJyV2-0000eE-Fz; Fri, 05 Aug 2022 14:40:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJyV2-00023O-ET; Fri, 05 Aug 2022 14:40:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJyV1-0007m5-TL; Fri, 05 Aug 2022 14:40:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJyV1-0001cr-Sw; Fri, 05 Aug 2022 14:40:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3iiqlPyybZQCFf43VRiEoGyH5taCGslrE+ceT/dfk/4=; b=r6aTkt0zPPryq+7oYk7lZVGLz6
	9MweEkS0xEziwqEMIM3YGwq8eqzJsl/RviVZmz4XBQ9tJIiv1E1OD981QzUohCLHVeH3hipe+howW
	fgs49IKNnMW+eTUca1xUFu295Vf9pumT0OC1EOWNbrxfgzo8IYmjfyVjaN14yGv9butA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172179-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172179: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 14:40:27 +0000

flight 172179 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172179/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 14:48:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 14:48:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381326.615956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJycN-0001PV-VH; Fri, 05 Aug 2022 14:48:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381326.615956; Fri, 05 Aug 2022 14:48:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJycN-0001PO-SB; Fri, 05 Aug 2022 14:48:03 +0000
Received: by outflank-mailman (input) for mailman id 381326;
 Fri, 05 Aug 2022 14:48:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJycM-0001PE-GQ; Fri, 05 Aug 2022 14:48:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJycM-0002Ab-Ct; Fri, 05 Aug 2022 14:48:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJycM-00086u-2i; Fri, 05 Aug 2022 14:48:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJycM-00060F-2I; Fri, 05 Aug 2022 14:48:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=c7I5NWPHAEEOswcqapdepdKasEUrgg8JkQ7fJ9RQ/7I=; b=CPsIVmxSMA6yCXatRu/0i8/Yb5
	nNtl23bIRrPdtSNqY7nZfNeJWYs1wE3t5PUH1Hkeww8I+xyElrUum/CamjktytPfJcjY/1Z3XmeO6
	bDN6nM+8x+liMEBFHY8ROkgGzWH8RGMg4x9xhsn+KiZFhMyih8vMy10y30brWwO3x1wA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172174-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172174: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=da74c951e4e58080583daaad373b0d38a3f8bc83
X-Osstest-Versions-That:
    xen=cc7410683db0a98758d03401b628ba8652c20c18
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 14:48:02 +0000

flight 172174 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172174/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172160
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  da74c951e4e58080583daaad373b0d38a3f8bc83
baseline version:
 xen                  cc7410683db0a98758d03401b628ba8652c20c18

Last test of basis   172160  2022-08-05 07:00:25 Z    0 days
Testing same since   172174  2022-08-05 12:05:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   cc7410683d..da74c951e4  da74c951e4e58080583daaad373b0d38a3f8bc83 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 14:57:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 14:57:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381337.615969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJylc-0002uD-T7; Fri, 05 Aug 2022 14:57:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381337.615969; Fri, 05 Aug 2022 14:57:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJylc-0002u6-QT; Fri, 05 Aug 2022 14:57:36 +0000
Received: by outflank-mailman (input) for mailman id 381337;
 Fri, 05 Aug 2022 14:57:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jIDu=YJ=citrix.com=prvs=2098568dc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oJyla-0002ty-Ib
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 14:57:34 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed0c0205-14ce-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 16:57:31 +0200 (CEST)
Received: from mail-dm6nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 05 Aug 2022 10:57:27 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO6PR03MB6209.namprd03.prod.outlook.com (2603:10b6:5:355::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Fri, 5 Aug
 2022 14:57:25 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.016; Fri, 5 Aug 2022
 14:57:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed0c0205-14ce-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659711451;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=OrkBGEzgD+hPyFzyKdNKRLo0vS5YS2565uyHyG8RF4E=;
  b=YEISwzfK0vw3tfB9QDpRwiJyRkORBdxOtJcQCJRU9GqHdEcZvHMwFCsf
   VATtMC3X6GJ/QAeaXvy10n3kbJ/oqyWaVk9jlyuJFBOSXLRUwP6Df4VyL
   elYVFi5oCBOys6WhUq7eh0MxFKQU7vlzi5dC/OidrmV8D3+etkFgP+8qY
   k=;
X-IronPort-RemoteIP: 104.47.58.104
X-IronPort-MID: 77465736
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3Ak38Tz6rPcjI6pHceMMeonu416+heBgzWbkX39?=
 =?us-ascii?q?0b9NTMEsmFhBb0lAxN0WSfWymEg+FsMj219OT4V8D5p1RRBJuSajspdBUZ6q?=
 =?us-ascii?q?Fb6aBgWNsfOFmrT+qUpoREHwkRf0CGtdPFz0hoArbXZWufD9vy3odezvF55R?=
 =?us-ascii?q?ghdRPYKYYfrMZhPcH7oIw0tkWSdd9931nQd8JAbVeBm6NMyv5FDqJ6WbAOZx?=
 =?us-ascii?q?BN/teQzWIrT83QyDOIy41WFFoYZ0Yvjd9fty687rfPI1C3KamcIrldQIfI4/?=
 =?us-ascii?q?N6VAtcqnGk8fj2eREyr0WlUjvbDsojwW7Len1PhrF6CKX9g6m40doWq5ctlO?=
 =?us-ascii?q?JyxSi9ScbnmifnrycAGUa9TIe1eA9Se12Nk4L60kV2OPMF4Emm4+QX8ueVlu?=
 =?us-ascii?q?5zjjkvS3xVXB8NXgf8eDXQy3i47u975hM0/AuC/uRdhX3hJ93tJciHfEP/aT?=
 =?us-ascii?q?18UKjaksXvGtLV6ImsMueIEwLtKr6ffw/a2Bge2q4ljx9rey2gAnt62Q6WqS?=
 =?us-ascii?q?OrpaH9onZYzgHilb2tRe8OLWqY4fTmSsmZgrew50YaFx9dhCTUDOh7EZGQnl?=
 =?us-ascii?q?zR2/DTGzCCGupvWvS2Xp6lhAKcwIfqI7AhDbrhIx392b+SM1yvEquA0qr8a+?=
 =?us-ascii?q?xXoiacP1H5AAdrVpSlNjEFsrBmHWVxBkwD7PhCm5je4eVq8DK7b5f/ld4hpq?=
 =?us-ascii?q?8zQTijW0oDBp8dPXwCiywExJsZ5lP32aTwDHE68RKkgpxSz5j9YONY0pBSZX?=
 =?us-ascii?q?EuajYqHQRrCsGIPl8nn73VSq7k+nob9u3SDcPykPS0LeMXbXvjTRDkzF1WX8?=
 =?us-ascii?q?G4Or9UWZOJz5zStphyrn+1LVqovR8m0aC8Hi9qtQ0D44BAxfCeB119+mEL4R?=
 =?us-ascii?q?EE6Bv0VADW0WTieWKVC8O5i+mCNAYnfljPuNYrlv01JPrVWDmmshZwdu3jHx?=
 =?us-ascii?q?WUwnn+1kGoRe9kQn2tYbiKQYLTe1zbBvI57XWZOrLUnd2eVMjR/35Ocd6t1G?=
 =?us-ascii?q?yLitgkkfRej9VDoJ4hkeLuVDHDFlTOlVg9yMA0Ht90DeXHjHJhguh2IQpmD0?=
 =?us-ascii?q?wZjX9Qi+GY43VLhQyMDLi7yLzf0ECKYc2973h9VHk3IYNf7zZVyuwIXp+zr7?=
 =?us-ascii?q?dU4YW/kS4BgJkRosHgBIQAOUMI7JWfKgNsadLXzMg2jwdOVdrNAlBqtIgkuO?=
 =?us-ascii?q?t6w3SeMZOYeZ7Xjrcyz6S9CtK14bF9Bn6cKLAYfhv/O7b2uuZF7fiBQE8eh4?=
 =?us-ascii?q?5qOGGNThahqyvRHx/PVi+y4qqWESkKWEyZkazpFJKxJxkUCqU0JTjLYeYfW6?=
 =?us-ascii?q?MMQX9CabxTiyOXqkPjo7xdlTfR0d7kaKP694Iijwg9qQIOhcsuKex5a8WRxE?=
 =?us-ascii?q?juCkDNC3rtaZ6TRPPJ/eNyYK7DvdX1XmCbyBMBOzYA2cdZUnGDi8lFfZ9A1g?=
 =?us-ascii?q?+bUdz1ef0WVD5KX3yTYnAIpClPwP+Lk1LxyvwPxqvPs9pl/Hd4ufLTxIcVFb?=
 =?us-ascii?q?ZMRotHlySNjZTvDso/RpG50gVKi7y67gd7Z6+++8IlVMEA3f7z8dRN28qDHN?=
 =?us-ascii?q?ir+iy3rxs0xpgcEO6zUgHty9bL8g2c7VfoHiJodlpnZIDIwwX7cFKwzhMALO?=
 =?us-ascii?q?DKOtnuIcz/EIVUYuDdX2quiuQWlZZJVVtpGrKy8iljCgDrxX5ELDL2W/50hS?=
 =?us-ascii?q?+DET0PBxuI3c0/Qx4hdqO2u10gYEnPs0k8TIbXA9lJcGTdaNXKKg2vLMN+GJ?=
 =?us-ascii?q?D1VOi8elSx2y8EjWlzUFZiWYlN0TEfWfDug3bYb8sB24MeoEfEC05u+Dc7El?=
 =?us-ascii?q?crRnyG1nxSzb0uPQVimzjnpPhhB/lSQuhwvaaQ2f6WQotyTzqeq0BGygcm6H?=
 =?us-ascii?q?Pi7rBo3U6agey7cE3vmI6z20Tpzzp3eVH26pBGOvGK+/F8/g4ytU8xoYhij6?=
 =?us-ascii?q?VatricY92wWMJ1U1DkIGHLcB6vO5cvyfVCSDQSagD25B79pUAl5u6ykHhVfd?=
 =?us-ascii?q?ckWt2Js/Rf1hFULRQyrYyTH9nBCUzW/EdT+Vl9/4CTGgKVLs+aIA6zWNOlMP?=
 =?us-ascii?q?+vdv7uqfgOAKcmwbQkCdTe9UzdcPAbqxNiBraoWSZeh/bExB2etPZzuTLax/?=
 =?us-ascii?q?mtH0TOULCQZIpYU27JPv5LgZXJ/Jv8S95Zwwk9qBwu8qoQldEDz1NFBL+um5?=
 =?us-ascii?q?QbEJ29QABX4zpFmemao9uRYgpxUkOPUf9u9ym1sLQ/BGrwBK8BFvrTkmbqmc?=
 =?us-ascii?q?MV4OA9n4KkFP5T58UfCtrbKah+emhjOEBBslLcbLDHUFChojcTADsyhlKGIq?=
 =?us-ascii?q?Hx4IYe9sIQ7W1g02piE6NcOTA5hqYBlI+8Jzc18M9sfO5iUz6vnAuPM9ltcJ?=
 =?us-ascii?q?N3NVWniJoVBAMPLgG2LlGXtPExdHMuPnZeNNaKdIO8xa0F0/lQO5+w7EqDyH?=
 =?us-ascii?q?eekEXZBop2cfvOHjzOWiGDT4bK+/pDIB+3dyiJgwNe44Hg3XF3+UppBLAl2z?=
 =?us-ascii?q?ARA48IRJZa3JhuO49lSREPqU0CjfswIgSi8IWTtv5uJbpB3DnWxmbQumwsKP?=
 =?us-ascii?q?Uk/uY7uwIcHy5gd3wEyDr51+3nzbJpv+o+HObYNgW9p7GYnwMEyZd1i?=
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77465736"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YwTslft/a56G8BujM/8MBxSYQyn3Uw1Tld0YqTB1OES8lwQMWpIg6Ddwzyv2nBSZmWPZc8LrsYh+8M32qPoHqs+dd2pYnjl926F1lzA+y8cS572h4YcTsOfO05S8AhQXqB0N9h1yIM5xJPnBIP6edQzKLdPBpQ/BMEexNj0bjzgkdgP9UOxsEGHYMpuIpT2cPiV1OKtoObF1oX/qk6jQ0RmAqBtAwW5BASZzvviI5Dy82nae3+yFBX4ls9p8XcprviQpyM59i3A+SkA+vfsBCaYmc1V+24qo6yDImfebCxdPv35lwbvrW/Pq14WgsqEbvlGh1NFR4R5zdVc2p9AGmA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OrkBGEzgD+hPyFzyKdNKRLo0vS5YS2565uyHyG8RF4E=;
 b=XS/m5DFKGRARidSY7bs/64YrzYXSvwUT+fzNMi55jBBoiL9VJoUGsDvPafv8xTjLzYXoHxCN3JbsR8ES6caRDYnCburzF1yk0mL9LugY5UaZqjZUgph27GImhg+tECf9m6wOFFm5drwwBExiYS+uwzgKbNpbfx5wHd3hK3+Sfu4XT1B5AFPKafAY4JLctoKApNXpwjep6K+kFKp3gSc2mGxMtmrFxqK0rzOk6NDKND3dDQDy8O8kc78XJQORt5p+ZGhb+/Td6mDjpe5UWMH0mLAWlPj7E2g/gyADnnyz3gEXiFQpgkDvRqrWASsMhfhsG9XFSk4srqMBF7SgirUYSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OrkBGEzgD+hPyFzyKdNKRLo0vS5YS2565uyHyG8RF4E=;
 b=H3GRB7588UI2kighzFkRhWXZMJe1ndj9Exq/l9YOWo0/wk7msG/z9NZd+zST1ne82P1sCJU/Tp3fq+wyOoPIVib10+Deqbns59+2PkHjb2G7/TU27FKXLOQoMd7/BBV1B3SYRy8bqe2UK83+oZE7+vqipmYMwX/uzlEFky2bbKY=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>
Subject: Re: [PATCH v2] docs: correct x86 MCE command line option info
Thread-Topic: [PATCH v2] docs: correct x86 MCE command line option info
Thread-Index: AQHYqNSUm6aLYYN4ckK8TkzDnGlc9q2gZa+A
Date: Fri, 5 Aug 2022 14:57:25 +0000
Message-ID: <20fe587b-5181-12fd-d67c-9a38dfe0c21a@citrix.com>
References: <64ef8170-fd70-cd07-f861-a79639203f7a@suse.com>
In-Reply-To: <64ef8170-fd70-cd07-f861-a79639203f7a@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6a2bfb9d-41d8-4cc7-6b15-08da76f2cf2e
x-ms-traffictypediagnostic: CO6PR03MB6209:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 16d6N04pyqrlI93qRZHQ6Rt0yWdTezt0/yybR9tfYGFAM+ZKCN9X6O9TLmxo8Gfuj7nh2r+Onex//X9APWuWGhIW9JLMS/y17I2J6Pw+3enSxHcs8oCSCh0gb0fqfZENcmmU02BUlUJhcnIiGvruPZ+imSBvNPmVBer1IVChUBOyg/MwrlnXouDkjLZtrHbbfEpiGFjX1QwZWZfvqgWAwcSe3Dk+9JV5epbmTrr1rHoOpXk7IYSNrV/sXAgP12vI7oCN6rYOxlZ9haGO1zBddpOP5ezHX7BfI3tCybt8NUmIfZPGYbWa9PjpJQjRxmKxAx7mfJ6XfhRIaZQG/DV3ytzL6fo/rhXCHa7Y6eoPDdIjoVp/5ap9X+qcuVEJAnTmnihRP95xToqR7MegynDz0S4oTZ0P8hau7wjl46X5pA71eP0DD8nNoNhHxXHZaiKc508p1ZBQS7LwARMB2r2THzVGn9fHGhFeYzTrGEMyo/ziLebAZBh+V4OaiUYiV9c0Z/Hs9hygvMLqc4JS/gTFF0CWDURvgBXchLTEs05QAfZBK7lhFye6w9Ir+pq2mf3flCGoOyX295wM5PiorWLGmwcYnFjaMXlIT8yunocVbzJztvjyjHWqlK3ie0zAzYBdVtPxMzTM6LC/JiBjYuKQ+mxFm0OW+NndHqMJAV0xAEDaV/W4k7OLy232qo2qe+VupItwxL2/R0MN+ZsZbAQ2RP9VtKpFhh2g0KkjA9Ml8gElWV9MqKbm2YpoNlrA0iHl9Z6En9op6jjQbJDsvzieB3qEzUm2xF77juVh6QzK6d5Mz7+6etzgqdDSTTQS19L3KIT3p3pnTGDcTPsPXy0nbokxPpUv549Jn1plRktYuyiQoZMwlbscmpUQMZLfjLSf
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(136003)(346002)(376002)(396003)(66946007)(91956017)(478600001)(6486002)(36756003)(31686004)(76116006)(5660300002)(66446008)(316002)(66556008)(4326008)(8676002)(71200400001)(8936002)(66476007)(64756008)(110136005)(54906003)(38070700005)(6512007)(41300700001)(26005)(107886003)(6506007)(31696002)(53546011)(86362001)(122000001)(2616005)(2906002)(82960400001)(186003)(558084003)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WUxzYmI3Mkc3RGJyQmpYZzJhYUxjb0VLblFXL2RGUG1ybkF3WHMyL3VyNnFw?=
 =?utf-8?B?YUI1NHROTXlLQU1PRnlyMlJ4SGJmNTFRTksxRlJETWlJeTJERUg3d3c1blM5?=
 =?utf-8?B?T0dOM2daZjdpb01uWnpZb1ZtWVVCZkI4bFIzazJiYUMvMDJvZjRaYnhHeWx6?=
 =?utf-8?B?Z0NjR0RFSWdmaDl1VDBOWHNoRW93bnBRQUtoRytIaUk2UzZ0SzFMeitKZk5S?=
 =?utf-8?B?TjIzZWpwMlZmdnJ0NXE4UWY4LzdSTkJrM3B1WitVK0dMTE45d0ZBei9DUmhN?=
 =?utf-8?B?Ri9qTXI0b1BIMWkyODRIMVlweG1ESWRGTTBIeDJiUzA3b1VncE0xT1pQSVN4?=
 =?utf-8?B?YkppSWJCSjdCcjd5ZXlIL2hyQ3FYYTh4TEhxVms3TDhENWhhOTlzL2JZQ3Vj?=
 =?utf-8?B?NmJnVzFLUUk1cXRKQTFiVHlQSFFaM1R2TCtNTVhxSE83MmNLbHBMTnVQd21M?=
 =?utf-8?B?ZlRoUzRrc2pPUW0yaFdzSmRydmVWVEZmUFF5bXZBcnNGV3ljc0hHNG55bzc0?=
 =?utf-8?B?VWh4OTlCdS9IMzRGenoxak9ENHN6L2REaGVtMjJhNlI2MXBiRGV3c21BV3hh?=
 =?utf-8?B?bGh6WHRTQm9LV1pkWVdyQUNGakdtc1RwNlQvb1hJS25iNkoxTlA3eG9jQUVs?=
 =?utf-8?B?RjZVb290b3RnT0RXSEx4Ulc2YldPb0RscG94SnRCbFhtM2FBU2ZUeXMyWFVQ?=
 =?utf-8?B?cEdYNXFPUVpIN2tZc0NwM0d0WnpPcU5ZT2lHNVh0YkErbVJNbHVpL1lZd0Jj?=
 =?utf-8?B?bHJZZVhrbk5HMzk4Mm5lZnBrWisxTk5YS3hmYkJZZmovZ2NucGI2OVVaZDVJ?=
 =?utf-8?B?cHNHdTNIamY5NU9PUVgvUzVsYlRtWHZGUkNtMytva3hnME9YZTloYmd1KzJw?=
 =?utf-8?B?bTRvRm4yL3FEMzBBdGF3MWxlVFcrS0xjVkVNTG9FTUxMYkc5VTdJTE1wd2xl?=
 =?utf-8?B?bmlBNk1XaGROcUxpY2ZFOGJOTTNzZmNhTTFmdTd1VmVvSVVjZGI0b25tRU1w?=
 =?utf-8?B?UjZ6RUtPME5qVUhOdjBTQ3hZYTVaM2kvcTNrZDFNUG1CejdmQmNPY2Zobndm?=
 =?utf-8?B?ZFBnTVFKdmJoa2FUcnArd0Z6bVJ5bzV2bmxkRlA1ZDdHK05OVU5tQzZmWFpT?=
 =?utf-8?B?SUt0RGdxcVc4Umt2RDQ0MVpxRDVJSFU5dWFiYjdiMm51cUlHTjBKc2FtbXZp?=
 =?utf-8?B?NEhFUERISTdPaGNvMWxpQUhMejR6TStwd2lHQTJWZ2VuczVtNi9QeEFxV1FT?=
 =?utf-8?B?dllCdWc3eVRVVS9PbDNubDl4NE1MWWtYVkw3R3FmcWE0aGw5clllQUJDR0Q5?=
 =?utf-8?B?eUNobFQyVm16M29Ud3pKMU9qUFZKRWtILytETkIzWWExOEZJWmhBL0xZQmgw?=
 =?utf-8?B?Q0pXNDRPeU92RVhzU0ZaUHNPUUt4WE4xSUczWUFxUEF5dDFyeU1QQklkZWkz?=
 =?utf-8?B?YTk5R2ExUDYzdjBseEVXMkUzNGtiay84Q1BCdWdHTGl2U2poMjY2TzdybCtk?=
 =?utf-8?B?QVJZa21LVGxiMUNhUmJOYks1L00zZUc4dm9LaW1GZ1AzWUtmMXBxbWkzUTdU?=
 =?utf-8?B?OGRwckdzOVZKdjRzbzBLWFRTS3JDdmFRWm1ZRlFhczVwNXNsVzAwU3VqRGZK?=
 =?utf-8?B?ejJzdVJ0cEI0bEl3V0taU3Y4dTJKekt2N0txZGp6WlZycWZKc2Q4bDE2ZU9u?=
 =?utf-8?B?SXA4dDBoRThQQ0VFdTJYeDdWbWVWSUJ2OFlOanlZQldmclJNV0dSVG1OVzZO?=
 =?utf-8?B?UEhFZktrajlzM3RPUUgrWFRtSWYwRHA2dWVNQVhWNExmYkU4WWZnVHJGalBM?=
 =?utf-8?B?K1VOUFh3MEN2ZnAyZUtnQkVCVVhQdWdMUDlwa0tNbDZLY0VoZENIRUtGRHBw?=
 =?utf-8?B?UjVnMC9TR0NmV0tScytLc2syb2ZMd3dQU2o2eUtUakhnWVRYVWEvNVBSVDV2?=
 =?utf-8?B?YVQvdkJIMDg2cGd6RmFUUm5qaVpRbThhOStCc1BLKzFEQ0p6Z0hLYy9WQ2Q0?=
 =?utf-8?B?dEhTVUVyL2FyV1hYenFlSWh2QXpyQVdxemxpdUZ0NmdlMDVDT2RHcjNscCth?=
 =?utf-8?B?OFM3aHZHVlBkTFg0Zk0wQTFrK3preW1XRHJxVUpWU2duMXNpakJMQTFJUjFw?=
 =?utf-8?Q?lA1SdYTCCX/1pkUr5/8L+UHHy?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <585DA6C7D1F88F49A54DECF691EB77AB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a2bfb9d-41d8-4cc7-6b15-08da76f2cf2e
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2022 14:57:25.5966
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: svBaC97sW1Qyelk7uXoyWLE0KNtvlnFLoHmAKt0GdmIiixPwynNwR4kwSBJg3Znvl9lyh+PAx9M///WIxAkK7tnlUZt0V+uiVmHcexaG+z4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR03MB6209

T24gMDUvMDgvMjAyMiAxNTowNiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE5vdCBldmVuIHRoZSB0
eXBlcyB3ZXJlIGNvcnJlY3QsIGxldCBhbG9uZSBkZWZhdWx0cyBiZWluZyBzcGVsbGVkIG91dCBv
cg0KPiB0aGUgcHVycG9zZSBvZiB0aGUgb3B0aW9ucyBhY3R1YWxseSBtZW50aW9uZWQgaW4gYW55
IHdheS4NCj4NCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
Pg0KDQpBY2tlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4N
Cg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 15:13:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 15:13:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381348.615990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJz1D-0005Hd-Cy; Fri, 05 Aug 2022 15:13:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381348.615990; Fri, 05 Aug 2022 15:13:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJz1D-0005HW-9V; Fri, 05 Aug 2022 15:13:43 +0000
Received: by outflank-mailman (input) for mailman id 381348;
 Fri, 05 Aug 2022 15:13:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJz1C-0005HM-6G; Fri, 05 Aug 2022 15:13:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJz1C-0002iX-1x; Fri, 05 Aug 2022 15:13:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oJz1B-0001RV-MP; Fri, 05 Aug 2022 15:13:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oJz1B-00044p-M0; Fri, 05 Aug 2022 15:13:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=JQ32aFc7cgWzfoNjtWy0ZZ2WWT4n49E/D1broP8GxU0=; b=CBB+z/Fvlz54UL2qDtUhLAUxl4
	tBFmajHlIFsALipZ9iq9b2mfsoTlIuNM+8N7m7+72dlEoTaApWHKKKb7CdfaKgT3B9rMpvuts2ivV
	1zLbXAvyobqPUhRjBfcombfAbfPEW10hCDDhgxDkLuF2FqYKCiDhBKRrL8mOwJfKU7jE=;
To: xen-devel@lists.xenproject.org
Subject: [qemu-mainline bisection] complete build-amd64-libvirt
Message-Id: <E1oJz1B-00044p-M0@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 15:13:41 +0000

branch xen-unstable
xenbranch xen-unstable
job build-amd64-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172189/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/build-amd64-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-mainline/build-amd64-libvirt.libvirt-build --summary-out=tmp/172189.bisection-summary --basis-template=172123 --blessings=real,real-bisect,real-retry qemu-mainline build-amd64-libvirt libvirt-build
Searching for failure / basis pass:
 172148 fail [host=himrod1] / 172123 [host=himrod2] 172103 ok.
Failure / basis pass flights: 172148 / 172103
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/osstest/ovmf.git#0dc9b78a46813d61533b2bb0f7ef897a06a273be-444260d45ec2a84e8f8c192b3539a3cd5591d009 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84\
 e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://git.qemu.org/qemu.git#d2656dd577754129f86328f95e6ee4a241913d6f-0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9 git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-01ca29f0b17a50a94b0e232ba276c32e95d80ae3
Loaded 64891 nodes in revision graph
Searching for test results:
 172103 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172123 [host=himrod2]
 172148 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
 172168 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
 172171 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 68b01ef0b3c182d207bff01dd3e20d287668c855
 172173 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 8a3b89e4307da260675483bb86fc06cc62ed7c08
 172165 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172176 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 ca45d3cb4586372909f350e54482246f994e1bc7
 172181 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172183 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172186 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172187 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172189 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Searching for interesting versions
 Result found: flight 172103 (pass), for basis pass
 Result found: flight 172148 (fail), for basis failure
 Repro found: flight 172165 (pass), for basis pass
 Repro found: flight 172168 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172103 (pass), for last pass
 Result found: flight 172181 (fail), for first failure
 Repro found: flight 172183 (pass), for last pass
 Repro found: flight 172186 (fail), for first failure
 Repro found: flight 172187 (pass), for last pass
 Repro found: flight 172189 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172189/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/qemu-mainline/build-amd64-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172189: tolerable ALL FAIL

flight 172189 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172189/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build           fail baseline untested


jobs:
 build-amd64-libvirt                                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 15:44:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 15:44:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381359.616003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzUW-0000GT-PN; Fri, 05 Aug 2022 15:44:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381359.616003; Fri, 05 Aug 2022 15:44:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzUW-0000GM-ML; Fri, 05 Aug 2022 15:44:00 +0000
Received: by outflank-mailman (input) for mailman id 381359;
 Fri, 05 Aug 2022 15:43:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fcVI=YJ=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oJzUV-0000GG-Kj
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 15:43:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6aafef2d-14d5-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 17:43:57 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 248AD106F;
 Fri,  5 Aug 2022 08:43:57 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8949C3F73B;
 Fri,  5 Aug 2022 08:43:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6aafef2d-14d5-11ed-924f-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() & pci_get_pdev()
Date: Fri,  5 Aug 2022 16:43:43 +0100
Message-Id: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

pci_get_pdev_by_domain() and pci_get_pdev() functions find the pdev in
the pseg list. If pdev is not in the pseg list, the functions will try
to find the pdev in the next segment. It is not right to find the pdev
in the next segment as this will result in the corruption of another
device in a different segment with the same BDF.

An issue that was observed when implementing the PCI passthrough on ARM.
When we deassign the device from domU guest, the device is assigned
to dom_io and not to dom0, but the tool stack that runs in dom0 will try
to configure the device from dom0. vpci will find the device based on
conversion of GPA to SBDF and will try to find the device in dom0, but
because device is assigned to dom_io, pci_get_pdev_by_domain() will
return pdev with same BDF from next segment.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/pci.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 938821e593..29356d59a7 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -593,13 +593,10 @@ struct pci_dev *pci_get_pdev(int seg, int bus, int devfn)
             return NULL;
     }
 
-    do {
-        list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
-            if ( (pdev->bus == bus || bus == -1) &&
-                 (pdev->devfn == devfn || devfn == -1) )
-                return pdev;
-    } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,
-                                     pseg->nr + 1, 1) );
+    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
+        if ( (pdev->bus == bus || bus == -1) &&
+             (pdev->devfn == devfn || devfn == -1) )
+            return pdev;
 
     return NULL;
 }
@@ -642,14 +639,11 @@ struct pci_dev *pci_get_pdev_by_domain(const struct domain *d, int seg,
             return NULL;
     }
 
-    do {
-        list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
-            if ( (pdev->bus == bus || bus == -1) &&
-                 (pdev->devfn == devfn || devfn == -1) &&
-                 (pdev->domain == d) )
-                return pdev;
-    } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,
-                                     pseg->nr + 1, 1) );
+    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
+        if ( (pdev->bus == bus || bus == -1) &&
+             (pdev->devfn == devfn || devfn == -1) &&
+             (pdev->domain == d) )
+            return pdev;
 
     return NULL;
 }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 15:45:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 15:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381367.616015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzW9-0000pd-3U; Fri, 05 Aug 2022 15:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381367.616015; Fri, 05 Aug 2022 15:45:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzW9-0000pW-0j; Fri, 05 Aug 2022 15:45:41 +0000
Received: by outflank-mailman (input) for mailman id 381367;
 Fri, 05 Aug 2022 15:45:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fcVI=YJ=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oJzW8-0000pQ-0e
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 15:45:40 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a74a60fc-14d5-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 17:45:38 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CF849106F;
 Fri,  5 Aug 2022 08:45:38 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3FC1F3F73B;
 Fri,  5 Aug 2022 08:45:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a74a60fc-14d5-11ed-924f-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: smmuv1: Set s2cr to type fault when the devices are deassigned
Date: Fri,  5 Aug 2022 16:43:44 +0100
Message-Id: <e6a8807af0832db752d735e4f9ebddaa6bbd7c12.1659713886.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When devices are deassigned/assigned, SMMU global fault is observed
because SMEs are freed in detach function and not allocated again when
the device is assigned back to the guest.

Don't free the SMEs when devices are deassigned, set the s2cr to type
fault. This way the SMMU will generate a fault if a DMA access is done
by a device not assigned to a guest

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu.c | 32 +++++++++++++++---------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 69511683b4..141948decd 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -1598,21 +1598,6 @@ out_err:
 	return ret;
 }
 
-static void arm_smmu_master_free_smes(struct arm_smmu_master_cfg *cfg)
-{
-    struct arm_smmu_device *smmu = cfg->smmu;
-	int i, idx;
-	struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);
-
-	spin_lock(&smmu->stream_map_lock);
-	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
-		if (arm_smmu_free_sme(smmu, idx))
-			arm_smmu_write_sme(smmu, idx);
-		cfg->smendx[i] = INVALID_SMENDX;
-	}
-	spin_unlock(&smmu->stream_map_lock);
-}
-
 static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
 				      struct arm_smmu_master_cfg *cfg)
 {
@@ -1635,6 +1620,20 @@ static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
 	return 0;
 }
 
+static void arm_smmu_domain_remove_master(struct arm_smmu_domain *smmu_domain,
+				      struct arm_smmu_master_cfg *cfg)
+{
+	int i, idx;
+	struct arm_smmu_device *smmu = smmu_domain->smmu;
+	struct arm_smmu_s2cr *s2cr = smmu->s2crs;
+	struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);
+
+	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
+		s2cr[idx] = s2cr_init_val;
+		arm_smmu_write_s2cr(smmu, idx);
+	}
+}
+
 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 {
 	int ret;
@@ -1684,10 +1683,11 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 
 static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device *dev)
 {
+	struct arm_smmu_domain *smmu_domain = domain->priv;
 	struct arm_smmu_master_cfg *cfg = find_smmu_master_cfg(dev);
 
 	if (cfg)
-		arm_smmu_master_free_smes(cfg);
+		return arm_smmu_domain_remove_master(smmu_domain, cfg);
 
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 15:45:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 15:45:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381368.616026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzWD-00018w-Am; Fri, 05 Aug 2022 15:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381368.616026; Fri, 05 Aug 2022 15:45:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzWD-00018n-7a; Fri, 05 Aug 2022 15:45:45 +0000
Received: by outflank-mailman (input) for mailman id 381368;
 Fri, 05 Aug 2022 15:45:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fcVI=YJ=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oJzWC-00017n-B6
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 15:45:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a9cbb75a-14d5-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 17:45:43 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 19251113E;
 Fri,  5 Aug 2022 08:45:43 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D38B63F73B;
 Fri,  5 Aug 2022 08:45:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9cbb75a-14d5-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
Date: Fri,  5 Aug 2022 16:43:45 +0100
Message-Id: <d5590d91683f2dddb3836b1afb444f30c2f5a7fb.1659713855.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

is_memory_hole was implemented for x86 and not for ARM when introduced.
Replace is_memory_hole call to pci_check_bar as function should check
if device BAR is in defined memory range. Also, add an implementation
for ARM which is required for PCI passthrough.

On x86, pci_check_bar will call is_memory_hole which will check if BAR
is not overlapping with any memory region defined in the memory map.

On ARM, pci_check_bar will go through the host bridge ranges and check
if the BAR is in the range of defined ranges.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/include/asm/pci.h     | 12 ++++++++++
 xen/arch/arm/pci/pci-host-common.c | 35 ++++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/pci.h     | 10 +++++++++
 xen/drivers/passthrough/pci.c      |  8 +++----
 4 files changed, 61 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
index 7c7449d64f..5c4ab2c4dc 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -91,6 +91,16 @@ struct pci_ecam_ops {
     int (*init)(struct pci_config_window *);
 };
 
+/*
+ * struct to hold pci device bar.
+ */
+struct pdev_bar
+{
+    mfn_t start;
+    mfn_t end;
+    bool is_valid;
+};
+
 /* Default ECAM ops */
 extern const struct pci_ecam_ops pci_generic_ecam_ops;
 
@@ -125,6 +135,8 @@ int pci_host_iterate_bridges_and_count(struct domain *d,
 
 int pci_host_bridge_mappings(struct domain *d);
 
+bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end);
+
 #else   /*!CONFIG_HAS_PCI*/
 
 struct arch_pci_dev { };
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index fd8c0f837a..8ea1aaeece 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -363,6 +363,41 @@ int __init pci_host_bridge_mappings(struct domain *d)
     return 0;
 }
 
+static int is_bar_valid(const struct dt_device_node *dev,
+                        u64 addr, u64 len, void *data)
+{
+    struct pdev_bar *bar_data = data;
+    unsigned long s = mfn_x(bar_data->start);
+    unsigned long e = mfn_x(bar_data->end);
+
+    if ( (s < e) && (s >= PFN_DOWN(addr)) && (e<= PFN_DOWN(addr + len - 1)) )
+        bar_data->is_valid =  true;
+
+    return 0;
+}
+
+bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end)
+{
+    int ret;
+    struct dt_device_node *dt_node;
+    struct device *dev = (struct device *)pci_to_dev(pdev);
+    struct pdev_bar bar_data =  {
+        .start = start,
+        .end = end,
+        .is_valid = false
+    };
+
+    dt_node = pci_find_host_bridge_node(dev);
+
+    ret = dt_for_each_range(dt_node, &is_bar_valid, &bar_data);
+    if ( ret < 0 )
+        return ret;
+
+    if ( !bar_data.is_valid )
+        return false;
+
+    return true;
+}
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h
index c8e1a9ecdb..f4a58c8acf 100644
--- a/xen/arch/x86/include/asm/pci.h
+++ b/xen/arch/x86/include/asm/pci.h
@@ -57,4 +57,14 @@ static always_inline bool is_pci_passthrough_enabled(void)
 
 void arch_pci_init_pdev(struct pci_dev *pdev);
 
+static inline bool pci_check_bar(const struct pci_dev *pdev,
+                                 mfn_t start, mfn_t end)
+{
+    /*
+     * Check if BAR is not overlapping with any memory region defined
+     * in the memory map.
+     */
+    return is_memory_hole(start, end);
+}
+
 #endif /* __X86_PCI_H__ */
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 29356d59a7..52453a05fe 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -304,8 +304,8 @@ static void check_pdev(const struct pci_dev *pdev)
         if ( rc < 0 )
             /* Unable to size, better leave memory decoding disabled. */
             return;
-        if ( size && !is_memory_hole(maddr_to_mfn(addr),
-                                     maddr_to_mfn(addr + size - 1)) )
+        if ( size && !pci_check_bar(pdev, maddr_to_mfn(addr),
+                                    maddr_to_mfn(addr + size - 1)) )
         {
             /*
              * Return without enabling memory decoding if BAR position is not
@@ -331,8 +331,8 @@ static void check_pdev(const struct pci_dev *pdev)
 
         if ( rc < 0 )
             return;
-        if ( size && !is_memory_hole(maddr_to_mfn(addr),
-                                     maddr_to_mfn(addr + size - 1)) )
+        if ( size && !pci_check_bar(pdev, maddr_to_mfn(addr),
+                                    maddr_to_mfn(addr + size - 1)) )
         {
             printk(warn, &pdev->sbdf, "ROM ", PFN_DOWN(addr),
                    PFN_DOWN(addr + size - 1));
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 15:50:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 15:50:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381383.616036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzaR-0002tF-SZ; Fri, 05 Aug 2022 15:50:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381383.616036; Fri, 05 Aug 2022 15:50:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzaR-0002t8-PV; Fri, 05 Aug 2022 15:50:07 +0000
Received: by outflank-mailman (input) for mailman id 381383;
 Fri, 05 Aug 2022 15:50:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3gIk=YJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oJzaQ-0002t2-3K
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 15:50:06 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44499257-14d6-11ed-bd2e-47488cf2e6aa;
 Fri, 05 Aug 2022 17:50:03 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 367D13200942;
 Fri,  5 Aug 2022 11:50:00 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Fri, 05 Aug 2022 11:50:00 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 5 Aug 2022 11:49:58 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44499257-14d6-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1659714599; x=
	1659800999; bh=Y17z3AMHco75C6mzY36PJmWyn+CLGKO7LtBoysDQTec=; b=d
	HUcA+/c4wdeIcnkgjGvA8d27YLsfL7+0zUiyDp/Gb+PQjOsdPVLZx/ZPOP6k4KkJ
	Rr2fh/5bHWyGj94EoZaR4Cvk2p1BVZmsLdKF06C4vJVeQrST47TclmKp9x+kYat8
	8ONedGFkBSx2nz27vkU7ygwybe7GiRKlrd14KVHPRfRKWeQE24Vqm7qswqputN+x
	w/MeTwKPq3NdbBu2ODeakPhjFqmnx+GKp3QPIgjc51uVz8NOlH20nez+BOiiKyYm
	LUCspvCQCV0KCmqVQmUvk9nPSKD3UM7VDNLOXEkCeXLX2N1lblutifp0POEwU5KY
	E2YBmXLPo/Er7lhNcH/PA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1659714599; x=1659800999; bh=Y17z3AMHco75C6mzY36PJmWyn+CL
	GKO7LtBoysDQTec=; b=OGWl9Gv1iyYvKa2RM5MzIYwqrobiZKnyMT+JHTXpD4FI
	dnMBiGV7WytP95ARcHBx2oKEM0xhuawzd/9WTJjZNlUCoZHayRc+ThIIcUkJ5HhM
	qCEZ66319+9elmO989KSIMyarU3+6kYb+ETeAvnfC8M0W1lqgPriDEkxA0BG0OOY
	qnW1vt6rRC10o4qZnpcFM0Q62q3+DZYUJjtKyiL/mkTScjHK0tOAi4vQbxrA3EFQ
	tUiRyuriP3xOuSM5bVKb7jj5e5IIQNiY7z7YlN11DLQfmYQmYlMOGmqFWnr5U22A
	RBsjabLTAPFWz2NpmYxD6YU/V2Ha62yinsOTazOhbA==
X-ME-Sender: <xms:JzztYiHkKUEtOySZpvqQHNDr8RNYHXrIXAIge8luqoam9QPWF1zB0g>
    <xme:JzztYjXkLZbXQFWevZdpSroqWyhQc2Z7--fsM3hoGLspzO6m6dq4eZdGYsvGgoPOF
    YcJo-nJXteaqw>
X-ME-Received: <xmr:JzztYsIgznpC_mhCMGvFaOmgALPM05P153RXoCLjzw9f6_e4AvCJGJj-efqaKqVx7eMw_2qDfnh43O-XcbUR2iAGutjjhM7Z3oV4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdefuddgleejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:JzztYsGq7S5J3lcot1dEXd9B8eom_rktpdkcu8nTjmJhiasjCfaDiQ>
    <xmx:JzztYoXeyobWqApaci8NXRzKwYI_gDoWJRSWU6FX5B6eZxG2uUY1dg>
    <xmx:JzztYvPYzqHLivhtT8OwJSOTh6dbpe3TvowRz_dKao0KGWmhvL2yQQ>
    <xmx:JzztYmxUhG5x1nePX_RpRYrtmd8T6uaLWnq6OHnWqhoD6nAfFsyawg>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 5 Aug 2022 17:49:54 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 09/10] drivers/char: allow driving the rest of XHCI by
 a domain while Xen uses DbC
Message-ID: <Yu08ItSlvtqALMvS@mail-itl>
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <dcbe3f53bd6d88fbf2a20970d4fdfe93479a5f59.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e98ca967-8ae5-3aad-6449-c3689e88bbe8@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="FeBDfD/FXRWlzqIh"
Content-Disposition: inline
In-Reply-To: <e98ca967-8ae5-3aad-6449-c3689e88bbe8@suse.com>


--FeBDfD/FXRWlzqIh
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 5 Aug 2022 17:49:54 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 09/10] drivers/char: allow driving the rest of XHCI by
 a domain while Xen uses DbC

On Fri, Aug 05, 2022 at 10:15:59AM +0200, Jan Beulich wrote:
> On 26.07.2022 05:23, Marek Marczykowski-G=C3=B3recki wrote:
> > That's possible, because the capability was designed specifically to
> > allow separate driver handle it, in parallel to unmodified xhci driver
> > (separate set of registers, pretending the port is "disconnected" for
> > the main xhci driver etc). It works with Linux dom0, although requires
> > an awful hack - re-enabling bus mastering behind dom0's backs.
>=20
> Which is one of the main reasons why I view DomU exposure as
> going too far, despite recognizing the argument that this would only
> be done if that DomU is fully trusted.
>=20
> Furthermore - what's the effect of this? It would seem to me that
> while bus mastering is off, the device will not function. What happens
> to output occurring during that time window?=20

If no reset happens, the controller will continue sending the data after
bus mastering is enabled back - no data lost in this case. If reset does
happen, data that was already handed off to the controller (TRB queued)
but not sent yet, is lost. But data that is still queued only in the
work_ring, will be sent after controller is re-initialized. I did
several tests of this, and I have not noticed any data loss in practice.

> Rather than needing to
> re-enable bus mastering behind the owning domain's back, can't the
> disabling of bus mastering be avoided in the driver there?

Linux disables bus mastering when PCI devices are enumerated (before
xhci driver is loaded at all), and enables it back only when xhci driver
tells it so. So, if xhci driver in dom0 is blacklisted (which is the
case in qubes by default...), the console would be much less useful, so
to say. And I don't think Linux maintainers will appreciate xen-xhci-dbc
specific code in core PCI handling...
It isn't an issue for EHCI driver, because EHCI debug port
interface does not seem to use DMA.

>  As we can
> see from the EHCI driver, there certainly can be communication
> between Xen and Dom0 for functionality-impacting operations Dom0
> might perform (there it's a device reset iirc).

Yes, I can see how controller reset can be coordinated this way. But
also, I see it more like a future improvement if it deemed to be
necessary, than a strict requirement, as the controller reset is a quick
event that in practice does not impact the functionality in any
significant way (with the current code shape). On the other hand, adding
such synchronization feels like several more iterations of this
series...

And BTW, if Linux crashes in the middle of controller reset, with such
synchronization you would not get the crash message at all. While
admittedly such issue is rather unlikely, I see it as a potential
downside of coordination here (you could still avoid it by
`share=3Dnone`/`share=3Dno`, with all its consequences).

Generally, what would be your minimal acceptable version? If support for
sharing the controller with a domain (including dom0) requires
significantly more work to be accepted, I'd much prefer to drop it in
this series and have it possibly introduced later (and in the meantime,
possibly carry as a downstream patch). Unfortunately, I have limited
time to work on the series, but also, I think having this feature
upstream - even in partial form - will be very useful for many Xen users
and developers. Especially, I'd like this series (in some shape) to be
included in Xen 4.17.


> > --- a/docs/misc/xen-command-line.pandoc
> > +++ b/docs/misc/xen-command-line.pandoc
> > @@ -724,7 +724,7 @@ Available alternatives, with their meaning, are:
> > =20
> >  ### dbgp
> >  > `=3D ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
> > -> `=3D xhci[ <integer> | @pci<bus>:<slot>.<func> ]`
> > +> `=3D xhci[ <integer> | @pci<bus>:<slot>.<func> ][,share=3Dnone|hwdom=
|any]`
> > =20
> >  Specify the USB controller to use, either by instance number (when goi=
ng
> >  over the PCI busses sequentially) or by PCI device (must be on segment=
 0).
> > @@ -732,6 +732,16 @@ over the PCI busses sequentially) or by PCI device=
 (must be on segment 0).
> >  Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability (=
output
> >  only). XHCI driver will wait indefinitely for the debug host to connec=
t - make
> >  sure the cable is connected.
> > +The `share` option for xhci controls who else can use the controller:
> > +* `none`: use the controller exclusively for console, even hardware do=
main
> > +  (dom0) cannot use it; this is the default
> > +* `hwdom`: hardware domain may use the controller too, ports not used =
for debug
> > +  console will be available for normal devices
> > +* `any`: the controller can be assigned to any domain; it is not safe =
to assign
> > +  the controller to untrusted domain
>=20
> I'm sorry, upon looking here more closely, can we use proper boolean
> here as we do elsewhere, i.e. share=3Dno|yes|hwdom (or more generically
> expressed share=3D<boolean>|hwdom)?
>=20
> I also think 'hwdom' should be the default, like we do for EHCI (with,
> at present, not even a way to override).

Yes, I can do that.

> > +Choosing `share=3Dhwdom` or `share=3Dany` allows a domain to reset the=
 controller,
> > +which may cause small portion of the console output to be lost.
>=20
> As said above - this ought to be avoidable if the period of time the
> reset takes is bounded and if the controlling domain announces the
> reset and its completion. See ehci-dbgp.c:dbgp_op().
>=20
> In any event I'd like to ask that you add a statement to the effect of
> "no security support when using 'any'".

Sure, I can add it more even explicitly (there is already "it is not
safe to assign the controller to untrusted domain").

>=20
> > @@ -1005,10 +1050,32 @@ static void __init cf_check dbc_uart_init_posti=
rq(struct serial_port *port)
> >      init_timer(&uart->timer, dbc_uart_poll, port, 0);
> >      set_timer(&uart->timer, NOW() + MILLISECS(1));
> > =20
> > -    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
> > -        printk(XENLOG_WARNING
> > -               "Failed to mark read-only %pp used for XHCI console\n",
> > -               &uart->dbc.sbdf);
> > +    switch ( uart->dbc.share )
> > +    {
> > +    case XHCI_SHARE_NONE:
> > +        if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn=
) )
> > +            printk(XENLOG_WARNING
> > +                   "Failed to mark read-only %pp used for XHCI console=
\n",
> > +                   &uart->dbc.sbdf);
> > +        break;
> > +    case XHCI_SHARE_HWDOM:
> > +        if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.dev=
fn) )
> > +            printk(XENLOG_WARNING
> > +                   "Failed to hide %pp used for XHCI console\n",
> > +                   &uart->dbc.sbdf);
> > +        break;
> > +    case XHCI_SHARE_ANY:
> > +        /* Do not hide. */
> > +        break;
> > +    }
> > +#ifdef CONFIG_X86
> > +    if ( rangeset_add_range(mmio_ro_ranges,
> > +                PFN_DOWN(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_o=
ffset),
> > +                PFN_UP(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_off=
set +
> > +                       sizeof(*uart->dbc.dbc_reg)) - 1) )
> > +        printk(XENLOG_INFO
> > +               "Error while adding MMIO range of device to mmio_ro_ran=
ges\n");
>=20
> How can this allow use of the device by a domain? Is there some sort of
> guarantee that nothing else will live in the same 4k range? I can't
> infer such from xhci_find_dbc().

That's a very good question. From what I see, it lives on a page
together with other extended capabilities (but nothing else). Most of
registers in other capabilities are read-only, but there are some
read-write. It seems Linux driver works fine without writing to any of
them, but it sounds very fragile...

The main reason for this code is to prevent Linux initializing DbC for
itself. But AFAIK Linux does not do it on its own, it requires explicit
action from the system admin (a write to sysfs or kernel option).
I'm not exactly sure what will happen if Linux will try to use DbC too,
my guess is either Xen console will stall, or they will fight each other
by re-initializing DbC over and over. Neither of them look appealing...

Would you prefer to drop this part, in favor of documenting it's the
system admin responsibility to prevent Linux from using it? In that
case, I think the default should remain `share=3Dno` (possibly changing
only after implementing some coordination with Linux side).

> > @@ -1085,7 +1153,7 @@ void __init xhci_dbc_uart_init(void)
> >          unsigned int bus, slot, func;
> > =20
> >          e =3D parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
> > -        if ( !e || *e )
> > +        if ( !e || (*e && *e !=3D ',') )
> >          {
> >              printk(XENLOG_ERR
> >                     "Invalid dbgp=3D PCI device spec: '%s'\n",
> > @@ -1094,6 +1162,37 @@ void __init xhci_dbc_uart_init(void)
> >          }
> >          dbc->sbdf =3D PCI_SBDF(0, bus, slot, func);
> >      }
> > +    opt =3D e;
>=20
> Looks like e (and hence opt) cannot be NULL here, ...
>=20
> > +    /* other options */
> > +    while ( opt && *opt =3D=3D ',' )
> > +    {
> > +        opt++;
> > +        e =3D strchr(opt, ',');
> > +        if ( !e )
> > +            e =3D strchr(opt, '\0');
> > +
> > +        if ( !strncmp(opt, "share=3D", 6) )
> > +        {
> > +            if ( !cmdline_strcmp(opt + 6, "none") )
> > +                dbc->share =3D XHCI_SHARE_NONE;
> > +            else if ( !cmdline_strcmp(opt + 6, "hwdom") )
> > +                dbc->share =3D XHCI_SHARE_HWDOM;
> > +            else if ( !cmdline_strcmp(opt + 6, "any") )
> > +                dbc->share =3D XHCI_SHARE_ANY;
> > +            else
> > +                break;
> > +        }
> > +        else
> > +            break;
> > +
> > +        opt =3D e;
>=20
> ... nor here. Hence I wonder why the while() and ...
>=20
> > +    }
> > +    if ( !opt || *opt )
>=20
> ... this if() check for it being (non-)NULL. At which point ...
>=20
> > +    {
> > +        printk(XENLOG_ERR "Invalid dbgp=3D parameters: '%s'\n", opt_db=
gp);
>=20
> ... you could make the message here more specific by passing "opt"
> instead of the full "opt_dbgp".

Yes, indeed.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--FeBDfD/FXRWlzqIh
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLtPCIACgkQ24/THMrX
1yxevQf+My0Omo9i/UezE6gkgrDXhWjwQwpLQjQNdYZxBbJojdaV1+x3M2tTx5h7
xEt44kvx3S+B5qof0LLKqZaGwiMV7Ey4W9syPzRN58mUe8staxlo0CdIxRtGnp1e
jMF3vQeXiF3ImixLLXfQbG0dyxSlPTAQPn14vtQCeaR9yhMXnYkCdxSQIkkttTWf
sD3/m6LeSAF6n/J7eRR/RqZqGM/6qLlP9TvkuTp/oQ9LkQ9gDWzztfuZ7VKAu8bi
G7N44P45a9LyMDC1ZyxzR+B2eiEGIs35k7UAxvSrq5D3IIXeQasypvZDxtyBJKCx
dVUtMESnEz6qZPnrMx2tA/H9OhepDg==
=6q87
-----END PGP SIGNATURE-----

--FeBDfD/FXRWlzqIh--


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 15:53:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 15:53:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381392.616048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzdw-0003Zk-Gt; Fri, 05 Aug 2022 15:53:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381392.616048; Fri, 05 Aug 2022 15:53:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzdw-0003Zd-DK; Fri, 05 Aug 2022 15:53:44 +0000
Received: by outflank-mailman (input) for mailman id 381392;
 Fri, 05 Aug 2022 15:53:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nMRl=YJ=kernel.org=helgaas@srs-se1.protection.inumbo.net>)
 id 1oJzdv-0003ZX-1E
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 15:53:43 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6849c38-14d6-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 17:53:41 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D607A61650;
 Fri,  5 Aug 2022 15:53:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0AC75C433D6;
 Fri,  5 Aug 2022 15:53:38 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6849c38-14d6-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659714819;
	bh=Se9SDt2ZRUYRFX0hcwxM1N0Mmp3ukORJJk2HQ8WaVaY=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=XIJWkthvmMKa2TLp3F4zcXLYpo4kTFhJjk1H5JoWwig5ysxrTbTUIFl4lOjz5lUP3
	 HOKDtG+GNhRRc2VIplQd1a8h3nNwWuY/pkKWPSFQ9L4a4j95cTxf2fU+nLe3OwbJUX
	 /nB9iGBOEG8ocqYToPKrIo55C0rJdbhF0gyg+HfYpcjNBGEij9YJ/+OGf1p13Dp1Fc
	 zm9+8b6z/AKORN2R15lbjBL77g0aPEpagxkDgrBKTD59Lk0XZeIZQ8pHPGbVxFM20N
	 6Jp3xrphEXDwAziNP8EQcwFw1XtfnYeWzg4elHpU4+1TSPqapRsIyngI9YsQl+bmFR
	 Q0bP+Smjg7XlQ==
Date: Fri, 5 Aug 2022 10:53:36 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Jason Gunthorpe <jgg@nvidia.com>, Thomas Gleixner <tglx@linutronix.de>
Cc: Josef Johansson <josef@oderland.se>,
	Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
Message-ID: <20220805155336.GA1005417@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Yu0IwZXyTIhdALMb@nvidia.com>

On Fri, Aug 05, 2022 at 09:10:41AM -0300, Jason Gunthorpe wrote:
> On Fri, Aug 05, 2022 at 12:03:15PM +0200, Josef Johansson wrote:
> > On 2/14/22 11:07, Josef Johansson wrote:
> > > From: Josef Johansson <josef@oderland.se>
> > > 
> > > PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
> > > Commit 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") modifies
> > > the logic of checking msi_attrib.can_mask, without any reason.
> > > This commits restores that logic.
> > >
> > > Fixes: 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()")
> > > Signed-off-by: Josef Johansson <josef@oderland.se>
> > > 
> > > ---
> > > v2: Changing subject line to fit earlier commits.
> > > 
> > > Trying to fix a NULL BUG in the NVMe MSIX implementation I stumbled upon this code,
> > > which ironically was what my last MSI patch resulted into.
> > > 
> > > I don't see any reason why this logic was change, and it did not break anything
> > > correcting the logic.
> > > 
> > > CC xen-devel since it very much relates to Xen kernel (via pci_msi_ignore_mask).
> > > ---
> > > 
> > > diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> > > index c19c7ca58186..146e7b9a01cc 100644
> > > --- a/drivers/pci/msi/msi.c
> > > +++ b/drivers/pci/msi/msi.c
> > > @@ -526,7 +526,7 @@ static int msix_setup_msi_descs(struct pci_dev *dev, void __iomem *base,
> > >   		desc.pci.msi_attrib.can_mask = !pci_msi_ignore_mask &&
> > >   					       !desc.pci.msi_attrib.is_virtual;
> > > -		if (!desc.pci.msi_attrib.can_mask) {
> > > +		if (desc.pci.msi_attrib.can_mask) {
> > >   			addr = pci_msix_desc_addr(&desc);
> > >   			desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
> > >   		}
> > > 
> 
> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
> 
> Bjorn, please take it?

Thanks for the ping.  Since 71020a3c0dff4 is by Thomas, and he merged
that along with a whole series of MSI work, I think I probably
expected him to take care of this.

This looks like a simple typo, so I think the commit log should be
reworded along that line, e.g., something like:

  71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") inadvertently
  reversed the sense of "msi_attrib.can_mask" in one use:

    - if (entry->pci.msi_attrib.can_mask) {
    -         addr = pci_msix_desc_addr(entry);
    -         entry->pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
    + if (!desc.pci.msi_attrib.can_mask) {
    +         addr = pci_msix_desc_addr(&desc);
    +         desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);

  Restore the original test.

Thomas, do you want to take this?  I'm happy to merge it, but would
like your reviewed-by or ack first.

Bjorn


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 16:10:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 16:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381399.616059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJztz-0006T8-UK; Fri, 05 Aug 2022 16:10:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381399.616059; Fri, 05 Aug 2022 16:10:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJztz-0006T1-QQ; Fri, 05 Aug 2022 16:10:19 +0000
Received: by outflank-mailman (input) for mailman id 381399;
 Fri, 05 Aug 2022 16:10:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fcVI=YJ=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oJztx-0006Sv-Te
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 16:10:18 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80079.outbound.protection.outlook.com [40.107.8.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 178496a9-14d9-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 18:10:15 +0200 (CEST)
Received: from AM5PR0601CA0040.eurprd06.prod.outlook.com
 (2603:10a6:203:68::26) by DB7PR08MB3355.eurprd08.prod.outlook.com
 (2603:10a6:5:18::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Fri, 5 Aug
 2022 16:10:13 +0000
Received: from VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:68:cafe::cf) by AM5PR0601CA0040.outlook.office365.com
 (2603:10a6:203:68::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Fri, 5 Aug 2022 16:10:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT005.mail.protection.outlook.com (10.152.18.172) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Fri, 5 Aug 2022 16:10:12 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Fri, 05 Aug 2022 16:10:11 +0000
Received: from e5b718851d47.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1C561093-23A1-4896-BE36-57F312C04C45.1; 
 Fri, 05 Aug 2022 16:10:05 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e5b718851d47.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 05 Aug 2022 16:10:05 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB7PR08MB3258.eurprd08.prod.outlook.com (2603:10a6:5:20::27) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Fri, 5 Aug
 2022 16:10:02 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.016; Fri, 5 Aug 2022
 16:10:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 178496a9-14d9-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=I+YvdefhrC9Qau7lv7UihBN4MUlidfoCR3ueweApe2Y6UdjI13Yq/h9UXXYdNUO15i1WMblxenpMfSnWQI6MlvUIS4BkoT9S1t/YlRkzsKpXoDG3obL5gdEOa15bhl/FQZSbfilmYmQUKZT7IO68/kQVjyXZXpqFDi7hbUCQW1DiwzIxVB8/8wig5mVxEPsCL1+aOultPGaHTIhjs1xQGXfuJVL7Tf720qUFbU6lDqNr9gj9yaaVX8tyJ++H5OIx0XsaeJlnxEnuiN6GpLyY9PZISUFq29KN3uZ7JsT7nb4f9X1MBc/BpxwqkoiaGGaEsw0pH2U1ZJzJduTXEr7Swg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/fkv2TXGSGdP8MJxcQkTVVcK3+7Dx1+KwTSkxmIxAeQ=;
 b=X8vxt6G/WBLsFKeUzkuwlaZs49bnlrxoHl0N4nZ7syOhUsgEE0OIlUa7+NaMNlsrj1B/xYIalNUk8pKLiil2rDYcZUAnFnHrfPLqPbg7KBg9l/4gGIjg1pvbb3mPja5tfs9S2Wr8xLtqP4xf+MOvxAZTIgsoyLjSTfiOVFlsKN5ltiHLz8P+ZqdtAPAa8wBMKOboITy2LI3srsDm+tsBU1jUF5bZvD3g2Zz0JXkrRn7Ry6eiVZNZvhgUplXZSkirAMlsXkfGEAM4E9myC6A3CcNc7DOdcpoyuU03nR3MLlXq+3SlokG1DVd8O0VtSgDpXX7r+LPL9uCVii4L+JIraQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/fkv2TXGSGdP8MJxcQkTVVcK3+7Dx1+KwTSkxmIxAeQ=;
 b=fDOLvxRlSIyKbRIGJ1Ov/K/hJtAOQA+gSLzey4F47/orCQFTB4Kupr3SUOSA5z9/BX7PGIDYlVzZhyp4jak99FvoGz00pmZ94wwvdhZbRy8ubJV5HYamwq/5ndc9lOfc/DczLnUz1hwbycWFSQC1mDM7i7cpyE9fITQcgW9CTe4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: a08be334e8a542ad
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YstDgAOKaHktdYWY7iRZeJlW/dokvSwbFh2PLXuspBzIW2t8mduGzHdy8P7wxd5wa/syLi99C4vDOI+cYg6nU4Uo3/ESkHIQmBU/zAr05itD8Id5hY43L35n0xOXupDV9+5RI7vMQ55BTqCkjnq3jnfPabnZF8YssvJLdFme/Im+oEiA7jjDVcqi6UaMe4/LZCych4xm7eX8VXCvaG0VGsuI51elQZubYillnzpIjykGK3/rhwRm8mVtzFVCMXVPnqHGtPS//g7f4b4Fa73z/5JG49h6YYKj5ReMuuY+KHTWFF7k5ovYALVNvqusmYrfy1aRAwK7531iYlVf5gSOzA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/fkv2TXGSGdP8MJxcQkTVVcK3+7Dx1+KwTSkxmIxAeQ=;
 b=g8zt+VFyK10QeOHlpjrGhEBOUmMmaKcUBh7EppuwZmtbbKN0F9pFjW6z8djhnnRFwMsc3V5q09HMXdt4sGk/PMW13t53bpNFwb2Z99vq3UWikGdzluqJVL9b1790kKwBjPfB+d+c2zliKoLlSc0pgHgZx6rJr0TvCxH1dgoL1gqiQp+7G248PsFB9tOTiyl8Q5/nfRJMiblnHCHII/JJzxzM8XcGT3Q3KPx+/WNhUD1tcnbmnUXcWiAoDS5nr2mqvSZ20wLPOPL6KV4CPJrO6znICp7VkIsm0JabzdJOlFutFVb6aWpcjFuGWNvxWLo0y3Z7oehEG5AXKAdz+DsGlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/fkv2TXGSGdP8MJxcQkTVVcK3+7Dx1+KwTSkxmIxAeQ=;
 b=fDOLvxRlSIyKbRIGJ1Ov/K/hJtAOQA+gSLzey4F47/orCQFTB4Kupr3SUOSA5z9/BX7PGIDYlVzZhyp4jak99FvoGz00pmZ94wwvdhZbRy8ubJV5HYamwq/5ndc9lOfc/DczLnUz1hwbycWFSQC1mDM7i7cpyE9fITQcgW9CTe4=
From: Rahul Singh <Rahul.Singh@arm.com>
To: xen-devel <xen-devel@lists.xenproject.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 7/8] xen: introduce xen-evtchn dom0less property
Thread-Topic: [PATCH 7/8] xen: introduce xen-evtchn dom0less property
Thread-Index: AQHYhkYA1mUxDH8Iek+Bi6llJii6za2gvxYA
Date: Fri, 5 Aug 2022 16:10:02 +0000
Message-ID: <B91E9B3F-27DA-4412-9F1D-AFD1287D0898@arm.com>
References: <cover.1655903088.git.rahul.singh@arm.com>
 <f2bc792f8dea59648b011cda4fe7c42929c4e3d7.1655903088.git.rahul.singh@arm.com>
In-Reply-To:
 <f2bc792f8dea59648b011cda4fe7c42929c4e3d7.1655903088.git.rahul.singh@arm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: faa0820e-153b-4276-a27c-08da76fcf9ce
x-ms-traffictypediagnostic:
	DB7PR08MB3258:EE_|VE1EUR03FT005:EE_|DB7PR08MB3355:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 MA7+Hf8vDMO1vJ9zYqNgfSrJKKC//6jz2VsFFGurvl8TJmE9PGcmJek79RXgJsIRzEUrNyMC7UsVqBcC7PmAmRHgfSd6b01sxzkBhkcwSnUPHvLA2vSDkMhqYhBvco85MX1OuLygI4A2CUUp6dnCGwQz460y/BUGNoSmb2UPht5QoTpayIg6nX4aG+EN+IjI8Jg519Hwo3P64qTKX17EYx2jMuAib1K/2HdCSxz8M9qknWiU1VI6ffThFgstOg2xeAjixvCYF8x9ZCJwoJey58URx48tZHNAvZnEh0YS3MiYgi0kuqPq8YPnBITsn3xUKmo7g7rxVbt+3jdICpYSEzMKz8Q/FF28p2W8FOdqAn/C56fgKHiamrkxznK2r8HyWQIMCvmDWXMDZCeJ5LOzwsOfiJevJ+YrVa9vMhZQbUMiB4XTZSn2OxjQ2eZacmbPnD1olNaBVxT+MyHTmBtYcrc609kSljmkdefw5u1I3+tm2369CtqeFzmLrwz0/oWLOWiwD7DamQv3qg+b57qh8c8uIdKvgY9ARmHM1c8QEph/8va6Z/gxLFZi4CqhWnQ1kJu6t20OYbVZvQM07xqyWq+ASZGf205SwsCeT0Lent0uw2gd5zkuqjAomw95oU0ez0LqO2W4DQIkRTLHPg0x9oxrMyLaWMv85g++kn2B4ucr/P3VjmoHB402BZTPo31qvlN1D/FcADsZVjV2PupH95bRq2OA8XDtDwpa98FZXUUUEswiXulyj/wokFtUrhCTRj/JgBsrgrZKh0OvzBTQ9zCsPmOohTxdPodNIqp3wX/2XKdZtAJ/pxAdCIHb0xsiqvuiMeHTkld4qBF+PjeD5uyUNA5+AENQB0HZsWy8LQc=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(366004)(346002)(136003)(396003)(53546011)(36756003)(54906003)(26005)(316002)(41300700001)(6512007)(478600001)(6506007)(6916009)(86362001)(71200400001)(6486002)(38070700005)(38100700002)(122000001)(186003)(66446008)(2616005)(66476007)(64756008)(83380400001)(4744005)(8676002)(4326008)(91956017)(66946007)(66556008)(2906002)(33656002)(76116006)(5660300002)(8936002)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <FB703D0AE41B84409EA37F71A2D4103D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3258
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d4faffff-a099-4c23-c9da-08da76fcf43c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4hSGPTyfrcJoHFQYZRbWL4FwkAo6Iza38YoCKO7U6Q3peM/Qj1HmNJHjUDd649PEGRBEstZMBvvEZfkrPYZo5gHf9j++uecd78sIf89j+VgrGDySlFSD253IY9PoU82n5+Qb3egVqZWGIDK0K/GHV5bT93xCWwmUCv8vtwoqMpNjDiJ5hU1212nJrT4xgyYNsjoozHiKeQw1wEDySm2oKvKlt0lyjVFx8Fahp451+WFvAEbgJVsL4aw/7nhU8DQjI8RLoKK3564WqwMiQUhWFGk3OCy+5BXEBH7mTu0RVU82WXKA+Yo10xoGoTFS/aXVuBf25JcsITTFakUDG9qiuzBPcPiz5zUMMVnoD8C+wQxvxmQ7rqKQip7CgSo2StnTaRIXoavBObCIkRoCD30FUdH1lpv6fYYIOofcYNeipTA5foqxw/6t84hd1MnSzt49GTHihnW0TLrg/mAhTb5Z6h2tjMFkJIhSHmnxfxXholUL82BVIQZ9nyz6VYhEUVCbvN6Bt2/YU193FGAd2FyEcCednrQMdXr0VNLVKXXyO6cxIIawbhj8tW6QL7X86ycDJmYPA/YjuDJRVMWBbS63r4zxjPklQagnMvwUjyn9wQKCBfNK8s1C+PGe14W1Mt41GF31cvOVEAxj4SlkgvCDQmeybf4sOcMTbUKW+isXxaY2eSNAYLltBbI0RzaKqXj/4im1tGWP08Yan69F1PyHaspziAqGJwc4ZznhKHXqn/BdozWm0nuTgdghvv9RZfaSApDZJ9N3q6gJ42FqNvF1gdCiAx/5aPTDrOYAA+N+600VbGc2PmfS72jQvoDEuqA9PajEjUw3Nzw5GH+P3+K1UQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(376002)(136003)(39860400002)(36840700001)(40470700004)(46966006)(6486002)(6916009)(5660300002)(54906003)(36860700001)(82310400005)(478600001)(4744005)(316002)(70586007)(8936002)(4326008)(8676002)(70206006)(36756003)(6512007)(107886003)(47076005)(41300700001)(2906002)(2616005)(26005)(6506007)(33656002)(336012)(53546011)(186003)(81166007)(83380400001)(356005)(40460700003)(40480700001)(82740400003)(86362001)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 16:10:12.0001
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: faa0820e-153b-4276-a27c-08da76fcf9ce
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3355

Hi ,=20

> On 22 Jun 2022, at 3:38 pm, Rahul Singh <Rahul.Singh@arm.com> wrote:
>=20
> Introduce a new sub-node under /chosen node to establish static event
> channel communication between domains on dom0less systems.
>=20
> An event channel will be created beforehand to allow the domains to
> send notifications to each other.
>=20
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
> docs/misc/arm/device-tree/booting.txt |  62 +++++++++++-
> xen/arch/arm/domain_build.c           | 139 ++++++++++++++++++++++++++
> xen/arch/arm/include/asm/domain.h     |   1 +
> xen/arch/arm/include/asm/setup.h      |   1 +
> xen/arch/arm/setup.c                  |   2 +
> 5 files changed, 204 insertions(+), 1 deletion(-)

I am waiting for a review for this patch and the next patch in the series b=
efore
I send the next version. Sending this email as a gentle reminder.

Thanks in advance.=20

Regards,
Rahul=


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 16:14:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 16:14:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381406.616070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzxr-00075L-DM; Fri, 05 Aug 2022 16:14:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381406.616070; Fri, 05 Aug 2022 16:14:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oJzxr-00075E-Ae; Fri, 05 Aug 2022 16:14:19 +0000
Received: by outflank-mailman (input) for mailman id 381406;
 Fri, 05 Aug 2022 16:14:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oJzxp-000758-Bn
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 16:14:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJzxp-0004TT-1W; Fri, 05 Aug 2022 16:14:17 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.9.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oJzxo-0001mm-Rv; Fri, 05 Aug 2022 16:14:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oppPtUa9gUMv3aBAKnYK8X5squWNVmFP7ys6AaSrUTc=; b=l9DSfSElfuVQND2AVd1nVv63CY
	047WnIq0c3bh3BKuuHL2VLaScZbIJ/dA8ETIUaC3MzcEqgEPGPbbsh9J+3uYf2Grhytd9yRCunpEr
	nxvGT0lqI03hJDsPHgxikaqFzEEGccvZFftIV+gZXMTGgeAiz34rTuMYRud8EfSJiX/g=;
Message-ID: <6a276407-cfcd-d383-6d51-644b463ee510@xen.org>
Date: Fri, 5 Aug 2022 17:14:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH 7/8] xen: introduce xen-evtchn dom0less property
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>,
 xen-devel <xen-devel@lists.xenproject.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1655903088.git.rahul.singh@arm.com>
 <f2bc792f8dea59648b011cda4fe7c42929c4e3d7.1655903088.git.rahul.singh@arm.com>
 <B91E9B3F-27DA-4412-9F1D-AFD1287D0898@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <B91E9B3F-27DA-4412-9F1D-AFD1287D0898@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 05/08/2022 17:10, Rahul Singh wrote:
> Hi ,

Hi Rahul,

>> On 22 Jun 2022, at 3:38 pm, Rahul Singh <Rahul.Singh@arm.com> wrote:
>>
>> Introduce a new sub-node under /chosen node to establish static event
>> channel communication between domains on dom0less systems.
>>
>> An event channel will be created beforehand to allow the domains to
>> send notifications to each other.
>>
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>> ---
>> docs/misc/arm/device-tree/booting.txt |  62 +++++++++++-
>> xen/arch/arm/domain_build.c           | 139 ++++++++++++++++++++++++++
>> xen/arch/arm/include/asm/domain.h     |   1 +
>> xen/arch/arm/include/asm/setup.h      |   1 +
>> xen/arch/arm/setup.c                  |   2 +
>> 5 files changed, 204 insertions(+), 1 deletion(-)
> 
> I am waiting for a review for this patch and the next patch in the series before
> I send the next version. Sending this email as a gentle reminder.

I wasn't planning to review this patch and the next one yet because this 
looks mostly parsing. I think this is more important to get patch #1-#6 
correct first.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 17:24:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 17:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381427.616099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK13w-0005ix-Pp; Fri, 05 Aug 2022 17:24:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381427.616099; Fri, 05 Aug 2022 17:24:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK13w-0005iq-NK; Fri, 05 Aug 2022 17:24:40 +0000
Received: by outflank-mailman (input) for mailman id 381427;
 Fri, 05 Aug 2022 17:24:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK13v-0005ig-T6; Fri, 05 Aug 2022 17:24:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK13v-0005rO-Oy; Fri, 05 Aug 2022 17:24:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK13v-00015E-E3; Fri, 05 Aug 2022 17:24:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oK13v-000814-Dd; Fri, 05 Aug 2022 17:24:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YaIGa6fkEpq9nv/7SqspySX9JNXehTGYmklHPQFXU1I=; b=hYQTDt1UBT6oQVMEGJAa3z7MzX
	/tQ2kyFdn5ESf0YgPjiTrZpkXomP1yx7pCwd6Z3q/472Wh+DuYE4bW/22W7tRI/g4j/QzLHtU3hHx
	Q5FKO7niVLHyFUWc7hlRLEMMVYGTXWns/NTtO4zkJ6t2OM5lhbaXFEq6OcL6XHmN4KKE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172191-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172191: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 17:24:39 +0000

flight 172191 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172191/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 17:35:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 17:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381442.616132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1EY-0007QI-1f; Fri, 05 Aug 2022 17:35:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381442.616132; Fri, 05 Aug 2022 17:35:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1EX-0007QB-V8; Fri, 05 Aug 2022 17:35:37 +0000
Received: by outflank-mailman (input) for mailman id 381442;
 Fri, 05 Aug 2022 17:35:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oK1EX-0007Pv-4F
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 17:35:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oK1EW-00064X-TV; Fri, 05 Aug 2022 17:35:36 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.9.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oK1EW-0002fK-Nd; Fri, 05 Aug 2022 17:35:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=c8W8WX+tAgLhkadqHWznLBios+dKfOVAlXjWu8WVJTY=; b=AuC/CXAEUGuNu1vr3rUS+6IQcF
	E2AWzQ7Bnmf+g3Z8l7ndjfK4jKVM/byUQnmT811ortWpoYFJjaIqk9TPJiSrQn3A2e2It34l2QVBu
	pHqgkmh4M2CMJKVfePxN7ZMsjsWWo1a4yGbSGjSzdBlQmwoKMImAHfLKg5CZ86umBTH0=;
Message-ID: <047c108c-524c-27f9-2326-c015093990ce@xen.org>
Date: Fri, 5 Aug 2022 18:35:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH] arm/domain: fix comment for arch_set_info_guest
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220805130800.16387-1-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220805130800.16387-1-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 05/08/2022 14:08, Luca Fancellu wrote:
> The function arch_set_info_guest is not reached anymore through
> VCPUOP_initialise on arm, update the comment.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> Changes in v2:
>   - rephrased comment to not list caller functions (Julien)
> ---
>   xen/arch/arm/domain.c | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 2cd481979cf1..9db8a37a089c 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -885,9 +885,8 @@ static int is_guest_pv64_psr(uint64_t psr)
>   #endif
>   
>   /*
> - * Initialise VCPU state. The context can be supplied by either the
> - * toolstack (XEN_DOMCTL_setvcpucontext) or the guest
> - * (VCPUOP_initialise) and therefore must be properly validated.
> + * Initialise vCPU state. The context may be supplied by an external entity, so
> + * we need to validate it

NIT: Missing a full stop. This can be added on commit.

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 17:35:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 17:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381443.616143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1EZ-0007fs-DK; Fri, 05 Aug 2022 17:35:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381443.616143; Fri, 05 Aug 2022 17:35:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1EZ-0007fj-9y; Fri, 05 Aug 2022 17:35:39 +0000
Received: by outflank-mailman (input) for mailman id 381443;
 Fri, 05 Aug 2022 17:35:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK1EX-0007Q0-6p; Fri, 05 Aug 2022 17:35:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK1EX-00064Z-4B; Fri, 05 Aug 2022 17:35:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK1EW-0001oQ-LV; Fri, 05 Aug 2022 17:35:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oK1EW-0006GN-Kz; Fri, 05 Aug 2022 17:35:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AA+ORxmhdvUmekmXgKvIz14KzLJvVGZl6hV3sOol+oQ=; b=FiPpxO1ue/Ghre0SEvuzNsC2lJ
	TezDRUWlpeVDKYdEnKIrceNwNp4eFTwN+o9b1s1Y5AlqQIzRRTTLUl9LJ9MZ/RVuzwVHl3Yq+V2Ab
	njUOY4O3J38lKq/wYh/pH4EeBSXu1CHOF+1rw+kxMQe43PuNQpXiVugAIZDzLeuBWj14=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172164-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172164: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=09ed077d7fae5f825e18ff9a2004dcdd1b165edb
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 17:35:36 +0000

flight 172164 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172164/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                09ed077d7fae5f825e18ff9a2004dcdd1b165edb
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    1 days
Failing since        172148  2022-08-04 21:39:38 Z    0 days    2 attempts
Testing same since   172164  2022-08-05 08:54:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  BALATON Zoltan <balaton@eik.bme.hu>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 09ed077d7fae5f825e18ff9a2004dcdd1b165edb
Merge: 846dcf0ba4 21d4e557e2
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Thu Aug 4 17:21:13 2022 -0700

    Merge tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu into staging
    
    Pull request trivial branch 20220804
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmLsHD8SHGxhdXJlbnRA
    # dml2aWVyLmV1AAoJEPMMOL0/L748y7AP/iXRxiqvnb478I+OuOPRu37PaBEfU3n4
    # Ry4xr1VT+9GV3MKBK1icA065+tTmW4s1ANJBihhGgn0S1oMiSJQk6esAKtjGsdt0
    # OdWPPxVHN2XMs0UgwnONjzgSCbS5boLPK6wk+jMoyb3Vry+moa7JIbRr1ynlWOdN
    # 3S3rDTsyOX0gvuNOjht56g5aGRnnPqU3qIU6AdIOxpZxpb4dHi3g+UDAB5APCZss
    # oUZonuBeiSA+1T2XJc9opNdA56s8ObO41TJ1vMqt4TboYWUo+VXZf5Y21wE85Cx/
    # qUtNiY7rCfBA8EdjmvkunmV0jIc9TghWCBTh3JMWp756dvwIpwl4eWnODFUwyhZs
    # S4EAlPgHEjzqi6dbuKb+MNDkQKjUjP8gDn8ZVPQT+QLl0yjY9sOasKqkI0xnZDfI
    # NVVIhUjpwWfC9jJL7M+ML6+Tg16UpH4vOq9nySZ3G/z61P1+uXnI/M2Fx5LxoELQ
    # Z9eHzphbXgyGialt+Yin0A07rOYG9oRgAKGc2e0RgEPFSO8c6kcy+DdoVgz87xCC
    # PwrfNs/s6vzH11a3MPkYhTadVvaDIXbPgkRdUNKPyaGLvSjkrQ7aMCCGT0dCfDAq
    # 00SAq+KMaSdL9VDgtipGcDOGwbLpI9ixNXvMPNrfVu+Qa6VcZO6synwWaeTMnxzf
    # tx4tSb/W4nB3
    # =y8/X
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 04 Aug 2022 12:21:35 PM PDT
    # gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
    # gpg:                issuer "laurent@vivier.eu"
    # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [undefined]
    # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [undefined]
    # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [undefined]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
    
    * tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu:
      include/qemu/host-utils.h: Simplify the compiler check in mulu128()
      ppc: Remove redundant macro MSR_BOOK3S_MASK.
      docs/about/removed-features: Move the -soundhw into the right section
      vdpa: Fix file descriptor leak on get features error
      README.rst: fix link formatting
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit 846dcf0ba4eff824c295f06550b8673ff3f31314
Merge: 0ee33dd0ce 7b0ca31364
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Thu Aug 4 14:06:17 2022 -0700

    Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging
    
    Pull request
    
    - Format string portability fix in virtiofsd
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmLsF9sACgkQnKSrs4Gr
    # c8hAgwf/QPdBt6F1kBZTlSSt2nV2VAlX9HxsWAE5tSbtUTNS9Xr+avX6MHljAU20
    # WN+zZ+4cUHjIqtt6NueqkTczV5PqccvB6H9Cs0FdkKH8unyMSHvSRNuRlAG+LgMF
    # YQdHGGc9tvcIACz4GwWfzXJ/FsaoFHw7qTX3AUxe9nmlZnbB7cdl4Z7v6CQZ6kFL
    # bfXCd2bXcw2XosykGijsiiJ5IV+nshchaVA01DbO+w/KeLaGJgUbiEB6unMGUIBL
    # IMxy9VaP2AS44cGqNkFfWIm2tCfE0uT2qhca4BMk0kXQlwoBAuFGHuGHhbH0dU+w
    # fFN+lSaLs0oBGo1G0Mw+ImLF9XymAw==
    # =k1jb
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 04 Aug 2022 12:02:51 PM PDT
    # gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
    # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
    # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
    
    * tag 'block-pull-request' of https://gitlab.com/stefanha/qemu:
      virtiofsd: Fix format strings
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit 0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9
Merge: 2480f3bbd0 ed021daf2d
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Thu Aug 4 11:47:58 2022 -0700

    Merge tag 'pull-ppc-20220804' of https://gitlab.com/danielhb/qemu into staging
    
    ppc patch queue for 2022-08-04:
    
    In this short queue we have a fix in the sam460ex machine where we're
    not storing all GPIO lines in sam460ex_init().
    
    This is not causing problems (as far as we're aware of) at this moment,
    but this is getting in the way of a ppc405 rework we want to do for 7.2,
    so let's fix it now.
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iHUEABYKAB0WIQQX6/+ZI9AYAK8oOBk82cqW3gMxZAUCYuwOIQAKCRA82cqW3gMx
    # ZN+NAQDDOk4b79khltmrslo4Sa16nu/ARgqMGOsyy0Y5Whs9MgEAyiAVhpQ6C7Ok
    # W2sHeUkv/ZvzWvE7LWXMPZehBgU9DgM=
    # =QrsF
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 04 Aug 2022 11:21:21 AM PDT
    # gpg:                using EDDSA key 17EBFF9923D01800AF2838193CD9CA96DE033164
    # gpg: Good signature from "Daniel Henrique Barboza <danielhb413@gmail.com>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 17EB FF99 23D0 1800 AF28  3819 3CD9 CA96 DE03 3164
    
    * tag 'pull-ppc-20220804' of https://gitlab.com/danielhb/qemu:
      hw/ppc: sam460ex.c: store all GPIO lines in mal_irqs[]
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit 7b0ca313647532a2c7007379ff800c9a2415c95d
Author: Stefan Weil <sw@weilnetz.de>
Date:   Thu Aug 4 09:48:33 2022 +0200

    virtiofsd: Fix format strings
    
    Signed-off-by: Stefan Weil <sw@weilnetz.de>
    Message-Id: <20220804074833.892604-1-sw@weilnetz.de>
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

commit ed021daf2d6c19499ae406055156dc19c073228f
Author: Daniel Henrique Barboza <danielhb413@gmail.com>
Date:   Wed Aug 3 20:32:04 2022 -0300

    hw/ppc: sam460ex.c: store all GPIO lines in mal_irqs[]
    
    We're not storing all GPIO lines we're retrieving with
    qdev_get_gpio_in() in mal_irqs[]. We're storing just the last one in the
    first index:
    
        for (i = 0; i < ARRAY_SIZE(mal_irqs); i++) {
            mal_irqs[0] = qdev_get_gpio_in(uic[2], 3 + i);
        }
        ppc4xx_mal_init(env, 4, 16, mal_irqs);
    
    mal_irqs is used in ppc4xx_mal_init() to assign the IRQs to MAL:
    
        for (i = 0; i < 4; i++) {
            mal->irqs[i] = irqs[i];
        }
    
    Since only irqs[0] has been initialized, mal->irqs[1,2,3] are being
    zeroed.
    
    This doesnÂ´t seem to trigger any apparent issues at this moment, but
    Cedric's QOMification of the MAL device [1] is executing a
    sysbus_connect_irq() that will fail if we do not store all GPIO lines
    properly.
    
    [1] https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg00497.html
    
    Cc: Peter Maydell <peter.maydell@linaro.org>
    Cc: BALATON Zoltan <balaton@eik.bme.hu>
    Fixes: 706e944206d7 ("hw/ppc/sam460ex: Drop use of ppcuic_init()")
    Acked-by: BALATON Zoltan <balaton@eik.bme.hu>
    Reviewed-by: CÃ©dric Le Goater <clg@kaod.org>
    Message-Id: <20220803233204.2724202-1-danielhb413@gmail.com>
    Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>

commit 21d4e557e2fd0cb7f10b632b35f51146a1b6d892
Author: Thomas Huth <thuth@redhat.com>
Date:   Thu Jul 21 09:48:09 2022 +0200

    include/qemu/host-utils.h: Simplify the compiler check in mulu128()
    
    We currently require at least GCC 7.4 or Clang 6.0 for compiling QEMU.
    GCC has __builtin_mul_overflow since version 5 already, and Clang 6.0
    also provides this built-in function (see its documentation on this page:
    https://releases.llvm.org/6.0.0/tools/clang/docs/LanguageExtensions.html ).
    So we can simplify the #if statement here.
    
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Message-Id: <20220721074809.1513357-1-thuth@redhat.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>

commit 1e2dd311491565a58b30f29e71c6e429fc8e7e84
Author: Yonggang Luo <luoyonggang@gmail.com>
Date:   Fri Jul 29 04:11:35 2022 +0800

    ppc: Remove redundant macro MSR_BOOK3S_MASK.
    
    Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
    Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
    Message-Id: <20220728201135.223-1-luoyonggang@gmail.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>

commit 9878fbf3424015da93e0a8e8cec40a2d45323fad
Author: Thomas Huth <thuth@redhat.com>
Date:   Tue Aug 2 09:56:11 2022 +0200

    docs/about/removed-features: Move the -soundhw into the right section
    
    The note about the removal of '-soundhw' has been accidentally added
    to the section of removed "linux-user mode CPUs" ... it should reside
    in the section about removed "System emulator command line arguments"
    instead.
    
    Fixes: 039a68373c ("introduce -audio as a replacement for -soundhw")
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Daniel P. BerrangÃ© <berrange@redhat.com>
    Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
    Message-Id: <20220802075611.346835-1-thuth@redhat.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>

commit aed5da45daf734ddc543c0791e877dac75e16f61
Author: Eugenio PÃ©rez <eperezma@redhat.com>
Date:   Tue Aug 2 13:24:46 2022 +0200

    vdpa: Fix file descriptor leak on get features error
    
    File descriptor vdpa_device_fd is not free in the case of returning
    error from vhost_vdpa_get_features. Fixing it by making all errors go to
    the same error path.
    
    Resolves: Coverity CID 1490785
    Fixes: 8170ab3f43 ("vdpa: Extract get features part from vhost_vdpa_get_max_queue_pairs")
    
    Signed-off-by: Eugenio PÃ©rez <eperezma@redhat.com>
    Reviewed-by: Laurent Vivier <lvivier@redhat.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Message-Id: <20220802112447.249436-2-eperezma@redhat.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>

commit 9567fc1665b6649d2aff0184f68377a9e7c30dd9
Author: Cornelia Huck <cohuck@redhat.com>
Date:   Wed Aug 3 11:02:50 2022 +0200

    README.rst: fix link formatting
    
    Make the links render correctly.
    
    Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    Reviewed-by: Daniel P. BerrangÃ© <berrange@redhat.com>
    Message-Id: <20220803090250.136556-1-cohuck@redhat.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 17:50:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 17:50:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381460.616157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1T3-000202-O4; Fri, 05 Aug 2022 17:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381460.616157; Fri, 05 Aug 2022 17:50:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1T3-0001zv-L0; Fri, 05 Aug 2022 17:50:37 +0000
Received: by outflank-mailman (input) for mailman id 381460;
 Fri, 05 Aug 2022 17:50:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oK1T1-0001zp-V8
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 17:50:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oK1T1-0006Qi-Bm; Fri, 05 Aug 2022 17:50:35 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.9.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oK1T1-0003SF-5N; Fri, 05 Aug 2022 17:50:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=L+Y3zK0Xq8TngzvyxfphnC2WFUcpRUOxUsi+dQtvGH4=; b=RdamraHWR/EDua2nhTXhvJaBpq
	LkCCiV3I/ItQGDEERwJ1JZxub7qZDJfo81U7uT/8CukbhmRFZ/4v377HoMHU7tcUYJzwFaPDrhWnO
	tRJM6agqf96dh8N0+YnLMF5EawadaojCjlYRawPqJjgt4VQVOm3+xC5WS3CjDk8TdQUU=;
Message-ID: <00ca8cb1-bd87-563d-a31d-a642a69d5f3f@xen.org>
Date: Fri, 5 Aug 2022 18:50:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v9 2/8] xen: do not free reserved memory into heap
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-3-Penny.Zheng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220720054611.2695787-3-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Penny,

On 20/07/2022 06:46, Penny Zheng wrote:
> Pages used as guest RAM for static domain, shall be reserved to this
> domain only.
> So in case reserved pages being used for other purpose, users
> shall not free them back to heap, even when last ref gets dropped.
> 
> This commit introduces a new helper free_domstatic_page to free
> static page in runtime, and free_staticmem_pages will be called by it
> in runtime, so let's drop the __init flag.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

With a couple of comments below:

Reviewed-by: Julien Grall <jgrall@amazon.com>

> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index ed56379b96..a12622e921 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -151,10 +151,6 @@
>   #define p2m_pod_offline_or_broken_replace(pg) BUG_ON(pg != NULL)
>   #endif
>   
> -#ifndef PGC_static
> -#define PGC_static 0
> -#endif
> -
>   /*
>    * Comma-separated list of hexadecimal page numbers containing bad bytes.
>    * e.g. 'badpage=0x3f45,0x8a321'.
> @@ -2636,12 +2632,14 @@ struct domain *get_pg_owner(domid_t domid)
>   
>   #ifdef CONFIG_STATIC_MEMORY
>   /* Equivalent of free_heap_pages to free nr_mfns pages of static memory. */
> -void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
> -                                 bool need_scrub)
> +void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
> +                          bool need_scrub)
>   {
>       mfn_t mfn = page_to_mfn(pg);
>       unsigned long i;
>   
> +    spin_lock(&heap_lock);
> +
>       for ( i = 0; i < nr_mfns; i++ )
>       {
>           mark_page_free(&pg[i], mfn_add(mfn, i));
> @@ -2652,9 +2650,34 @@ void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
>               scrub_one_page(pg);
>           }
>   
> -        /* In case initializing page of static memory, mark it PGC_static. */
>           pg[i].count_info |= PGC_static;
>       }
> +
> +    spin_unlock(&heap_lock);
> +}
> +
> +void free_domstatic_page(struct page_info *page)
> +{
> +    struct domain *d = page_get_owner(page);
> +    bool drop_dom_ref;
> +
> +    ASSERT(d);

I saw Jan commenting on this. I agree with him to switch to

if ( d )
{
   ASSERT_UNREACHABLE();
   return;
}

I would even go further and add a printk() to log the problem in prod.

> +
> +    ASSERT_ALLOC_CONTEXT();
> +
> +    /* NB. May recursively lock from relinquish_memory(). */
> +    spin_lock_recursive(&d->page_alloc_lock);
> +
> +    arch_free_heap_page(d, page);
> +
> +    drop_dom_ref = !domain_adjust_tot_pages(d, -1);
> +
> +    spin_unlock_recursive(&d->page_alloc_lock);
> +
> +    free_staticmem_pages(page, 1, scrub_debug);
> +
> +    if ( drop_dom_ref )
> +        put_domain(d);
>   }
>   
>   /*
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 3be754da92..f1a7d5c991 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -85,13 +85,12 @@ bool scrub_free_pages(void);
>   } while ( false )
>   #define FREE_XENHEAP_PAGE(p) FREE_XENHEAP_PAGES(p, 0)
>   
> -#ifdef CONFIG_STATIC_MEMORY
>   /* These functions are for static memory */
>   void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
>                             bool need_scrub);
> +void free_domstatic_page(struct page_info *page);
>   int acquire_domstatic_pages(struct domain *d, mfn_t smfn, unsigned int nr_mfns,
>                               unsigned int memflags);
> -#endif

NIT: The removal of #ifdef seems to be unrelated to this patch. If you 
plan to send a v10, then I would suggest to mention it on the commit 
message.

>   
>   /* Map machine page range in Xen virtual address space. */
>   int map_pages_to_xen(
> @@ -212,6 +211,10 @@ extern struct domain *dom_cow;
>   
>   #include <asm/mm.h>
>   
> +#ifndef PGC_static
> +#define PGC_static 0
> +#endif

I saw Jan commenting on this change. So, FYI, I am OK either way.

> +
>   static inline bool is_special_page(const struct page_info *page)
>   {
>       return is_xen_heap_page(page) || (page->count_info & PGC_extra);

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 17:53:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 17:53:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381468.616168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1VN-0002f1-82; Fri, 05 Aug 2022 17:53:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381468.616168; Fri, 05 Aug 2022 17:53:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1VN-0002eu-4t; Fri, 05 Aug 2022 17:53:01 +0000
Received: by outflank-mailman (input) for mailman id 381468;
 Fri, 05 Aug 2022 17:53:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oK1VM-0002eo-F0
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 17:53:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oK1VL-0006Sb-O0; Fri, 05 Aug 2022 17:52:59 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.9.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oK1VL-0003UZ-Hr; Fri, 05 Aug 2022 17:52:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=HMYmHR92dY9g2PU3X0I7pTq+GPaKT03metYmkpUkEN4=; b=o1rUXxZDYyWsNHhTdtYfOT/8wa
	WVDZukrpPBJeS0b7UlNJZQHDE88bpxLlgN4TKjBphQulQPJlJGZF6wk5oO9Jl1HZnlZ6zHsiDzHVv
	Ia1IeO+ntYVynjTnzeGtC/+7c8auwlrlmvBd3otaB05uD0eRHXn2txByd68GRxl+9ZZs=;
Message-ID: <6b81f1fe-f548-15de-eeb4-e635ef3f7955@xen.org>
Date: Fri, 5 Aug 2022 18:52:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v9 3/8] xen: do not merge reserved pages in
 free_heap_pages()
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-4-Penny.Zheng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220720054611.2695787-4-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Penny,

Sorry I only spotted a couple of typos in the commit message now.

On 20/07/2022 06:46, Penny Zheng wrote:
> The code in free_heap_pages() will try to merge pages with the
> successor/predecessor if pages are suitably aligned. So if the pages
> reserved are right next to the pages given to the heap allocator,
> free_heap_pages() will merge them, and give the reserved pages to heap
> allocator accidently as a result.

s/accidently/accidentally/ I think.

> 
> So in order to avoid the above scenario, this commit updates free_heap_pages()
> to check whether the predecessor and/or successor has PGC_reserved set,

s/PGC_reserved/PGC_staticmem/

I think both #1 and #3 can go in now. So I would be happy to handle the 
typoes on commit.

> when trying to merge the about-to-be-freed chunk with the predecessor
> and/or successor.
> 
> Suggested-by: Julien Grall <jgrall@amazon.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Julien Grall <jgrall@amazon.com>
> ---
> v9 changes:
> - no change
> ---
> v8 changes:
> - no change
> ---
> v7 changes:
> - no change
> ---
> v6 changes:
> - adapt to PGC_static
> ---
> v5 changes:
> - change PGC_reserved to adapt to PGC_staticmem
> ---
> v4 changes:
> - no changes
> ---
> v3 changes:
> - no changes
> ---
> v2 changes:
> - new commit
> ---
>   xen/common/page_alloc.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index a12622e921..45bd88a685 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1475,6 +1475,7 @@ static void free_heap_pages(
>               /* Merge with predecessor block? */
>               if ( !mfn_valid(page_to_mfn(predecessor)) ||
>                    !page_state_is(predecessor, free) ||
> +                 (predecessor->count_info & PGC_static) ||
>                    (PFN_ORDER(predecessor) != order) ||
>                    (phys_to_nid(page_to_maddr(predecessor)) != node) )
>                   break;
> @@ -1498,6 +1499,7 @@ static void free_heap_pages(
>               /* Merge with successor block? */
>               if ( !mfn_valid(page_to_mfn(successor)) ||
>                    !page_state_is(successor, free) ||
> +                 (successor->count_info & PGC_static) ||
>                    (PFN_ORDER(successor) != order) ||
>                    (phys_to_nid(page_to_maddr(successor)) != node) )
>                   break;

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 18:07:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 18:07:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381475.616179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1iw-0004MI-GH; Fri, 05 Aug 2022 18:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381475.616179; Fri, 05 Aug 2022 18:07:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK1iw-0004Ls-DE; Fri, 05 Aug 2022 18:07:02 +0000
Received: by outflank-mailman (input) for mailman id 381475;
 Fri, 05 Aug 2022 18:07:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jIDu=YJ=citrix.com=prvs=2098568dc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oK1iu-0004Lk-JL
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 18:07:01 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 646b1995-14e9-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 20:06:58 +0200 (CEST)
Received: from mail-bn7nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 05 Aug 2022 14:06:40 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA0PR03MB5402.namprd03.prod.outlook.com (2603:10b6:806:b7::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug
 2022 18:06:38 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.016; Fri, 5 Aug 2022
 18:06:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 646b1995-14e9-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659722817;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=N0/54p4No/wTFPdg0dZSU4Qe/D5i6arfL0fpOb6VaCg=;
  b=HwJHtVgYtxagwCNY5jjQ8CbR0513TQ7v4RYyWnAwAPCrF2Q5R9trNjNw
   6ivv2VgRqsg9s4vekP/kEn22cY+KcFnNEcD2bSTsXzBeEsdAWhTvII7AY
   /mPQN3+vcs8N4YpKgpMfNoSk/XxJrp3UnXdg5B7PGrBjZAT/4yX1xUiCF
   E=;
X-IronPort-RemoteIP: 104.47.70.108
X-IronPort-MID: 77914750
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4s/J9KBkbtuyrhVW/zfiw5YqxClBgxIJ4kV8jS/XYbTApD4l0jxWn
 GIfXmiAPanbMGSgeNwlaI+x/EpSuMKHn9dmQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEs/7b83uDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW2Xq2M00CBwnAbFbwLdRAj9K7
 6Q+Fj9YO3hvh8ruqF66Ys9Fo517aePNY8YYsHwmyizFB/E7R5yFW7/N+dJTwDY3gIZJAOraY
 M0aLzFoaXwsYTUWYgtRVM14w7/u3yGvG9FbgAv9Sa4fym7f1gFulpPqN8LYYIeiTsRJhEeI4
 GnB+gwVBzlFa43GlWXYqhpAgMf/vD7nRI8YTYG/zaF1hVm1wGBDJxcvAA7TTf6RzxTWt8hkA
 1wZ/G8ioLY/8GSvT8LhRFuorXicpBkeVtFMVeog52mlxqPK7i6DC2MDTzoHb8Yp3OcpQRQ62
 1nPmMnmbQGDq5WQQHOZs72S8jW7PHFNKXdYPHdUCwwY/9PkvYc/yArVScpuG7K0iduzHizsx
 zeNr241gLB7YdM36phXNGvv21qEzqUlhCZutm07gkrNAttFWbOY
IronPort-HdrOrdr: A9a23:tKyQMqnSnnakZONjPg3hajRvrkXpDfOPimdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WGIVY3SETUOy1HYVr2KirGSjwEIeheOvNK1sJ
 0NT0EQMqyWMbEXt6fHCUyDYq4dKbq8ge+VbIXlvhFQpGhRAskOgTuRSDzra3GeLzM2Z6bRYa
 Dsgvav0ADQHEj/AP7aOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPYf2F
 mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFcRcsvy5zXMISdOUmRMXee
 r30lMd1gNImjTsl1SO0FnQMs/boXATAjHZuAalaDDY0LHErXoBerZ8bMRiA1XkAgMbza9BOO
 gg5RPni7NHSRzHhyjz/N7OSlVjkVe1u2MrlaoJg2VYSpZ2Us4ZkWUzxjIjLH47JlON1Kk3VO
 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGcl2E+pgEz82IIgMgE2nsQ/pM0TJdJo+
 zCL6RzjblLCssbd7h0CusNSda+TmbNXRXPOmSPJkmPLtBOB1vd75rspLkl7uCjf5IFiJM0hZ
 TaSVtd8XU/fkr/YPf+qKGjMiq9NVlVcQ6duv22vaIJy4EUbICbQhGrWRQpj9aqpekZD4nSR+
 uzUagmccPeEQ==
X-IronPort-AV: E=Sophos;i="5.93,216,1654574400"; 
   d="scan'208";a="77914750"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qy9cYPBGn5vhY1U8clll7VozmaAmt4lP15MNEf+212qQxTN57WvOJDbVpUOvYKRaGVcYA0ticMgdB5SotG079avafwsSWlgjTtY/rnehTd4ieWlxDs0pM/Yw31AjgGLa8iK0sT5NIAF87sYqy86KRlt76aGuzc+45WSUqOqn6TFo52TzC8iOIrCYMIMlJ/fKCs2eUOqLFmfg/KL1V8uDsmTEIwFFpb5z/9XXauW+Mc+TbTGnmMzcGUpz63kPo4WlWAE/j4ibsxodOnYpdJ9XEgn4uMxj1oBFo1Y09Zh5hN/SpR4vbU10yxzH8ISZnY6BmcEF548Ae2VofRhYc4aZag==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N0/54p4No/wTFPdg0dZSU4Qe/D5i6arfL0fpOb6VaCg=;
 b=UE7YVB12vXAI8LP14bYRVH8SCrDWyPuU5US9OKZQjfHqhLF2LLgw4ZphHeo2EoRAo0Dqu9QTdVEne+nLRQ16Esp+wyibmWKmr7eVlQjRoqEsLX/A9WXPUNrNXYhJyKWW4+IG666Zj69bYqTuIiee1zuxRQiR61YcGnBMssse8Tn1mjiEa/ea2OJvz6w57sNUWAv7xJ5oWxevFxkzx0T3/n/Dl0Pxcl/dAHqDn1snyA2H4Y6mJUtpQtgYz+IXCmrR4UNdWdC2zjCIZUUdC+gWxSUCfH+LjnOGY7I3DWe+5Gt4eLlZxjiKi274pX/4VtkeQmsPNDdHdJhc3KjdceNjXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N0/54p4No/wTFPdg0dZSU4Qe/D5i6arfL0fpOb6VaCg=;
 b=q94ubgVVyNBblGwAzaMVO2P2Qbr+AgaLKs8hbiakWGxoIZ8Jid2Vqfwe4sYwxG4rR48EvOpgd/rtlzwvkVt7vGCs7bz7hLFKZm/oxEwyxMvBkA6kcoYVrg9W8enAi7IqLNFOtZUDxaZguMhmWF1QTmeuvY/ZYc9r5vrefvDTigw=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 7/7] tools/ocaml/libs/eventchn: do not leak event
 channels and OCaml 5.0 compat
Thread-Topic: [PATCH v1 7/7] tools/ocaml/libs/eventchn: do not leak event
 channels and OCaml 5.0 compat
Thread-Index: AQHYo3Q7g2T4T7O1X0OIdhve1Wb7Ta2gpUyA
Date: Fri, 5 Aug 2022 18:06:37 +0000
Message-ID: <cb9b9589-0d0d-d644-385a-eedcdb90f733@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <6e5fd9edfea379b69682fa538141298fc1bc3110.1659116941.git.edvin.torok@citrix.com>
In-Reply-To:
 <6e5fd9edfea379b69682fa538141298fc1bc3110.1659116941.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 109cc667-413d-47ae-b562-08da770d3d9e
x-ms-traffictypediagnostic: SA0PR03MB5402:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 PNbCfz7cz8wBiuDpG+1UW6BjAFAwg1VesVttOcYHxCkfx67UJe9jN93A9dFQzrPK8PJQgTX4v/SQO97uncYbChUZyH9MK0/D1amqczPqb38L/LP4BJwIVZHB4MmzJImrLss56Ur0wCEh6WSi0h1mZ78I+hvvZsOQYXmuDij/KDLIT7Dq4H6jo3PO7gsWa9skFhRAvCE5l8dnc6TRPt50Y84o3IzVzTX4RdOBFWP17rps3yKqAt+MXYGrqIaYcW4GebiscIm/d6m/v5PvjZsyY8++jX50njLqQkceeL1bADZffi0f6AlL9MhIIIdn9Hp8NuUji5+EYAhaNKcpLW1Tt1ZeBYP7h/uzWQXCu/SrgYD7WFQqYmu2XeoN/rdJagivhTBtMbHsdkNEt75jrcCt/XqSh0e4fYjOdgQge82pyrXB9VG5z9iuPf2J/r/rNU+S4jSikUHbQ7/On0tvES+R/Kqd6DUxts6DvMHyVG9wQNiXT62HUeBbbpSIidhGCmcRg8Q+Z4P7Dwb51j9Jw4YEj51Cqc9QM/lS3/j2rnEsV20uzhp/ypKMxo3dUCZr9ld/SIcNQf0JO4n2mPTCkeEOMiitTw+hl+XiXU9cDBx5AMu/9Mtm1+g/bwmeeu74K2Jq0yjsGZZBmbmwgW9eqCC97RQTgeVNJLWtFGVifYM0NElWxvHhBnaCAoEgMgr4FXFbsAUvRTLvcWUt8CqzorArQrQSW8tfVUTZlClp6KxLqB4CTKmeWo33TsstnjvSaUmNI4a0U5lfGrQu3hjfwklrdqDonC/zHtwCecM1hxH/iGxWgwkgFyKpCl2TitqNvbgqTABZqh3lRZSQfwrN6KvPFaQ2yZduoVCp9ddJivIla/7vSnn45F4JHmNGZVB++CZ1buviP1yuSsJxf+E1DsN+Yg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(396003)(376002)(136003)(6486002)(966005)(478600001)(41300700001)(71200400001)(38070700005)(86362001)(82960400001)(38100700002)(36756003)(26005)(6512007)(53546011)(83380400001)(66574015)(31686004)(2616005)(186003)(31696002)(6506007)(110136005)(54906003)(107886003)(76116006)(66946007)(66556008)(316002)(64756008)(4326008)(8676002)(66476007)(66446008)(5660300002)(8936002)(122000001)(91956017)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?L016Q1lrUmEzVVlHSXRiQUpobjI0ZDE4TE5VYlNKNVhVdGYyYUw1SjBKK2hZ?=
 =?utf-8?B?Z1N4QnZ4OU9vZjlUVm42Nlc0UmZHL0RrQ2xpVnBtWmJmcHZJRjNVQ2dOWXow?=
 =?utf-8?B?OWlTbkI3UnFWVHpuTkxORGt5MkQ1blV1KzVLajdOMWRBM1JTYWdHOVA2VmQr?=
 =?utf-8?B?OWIyY09sODZtQ3IwaU8xN3FIbjl3dm1ObGpEU1IvcXRLUDlYTWtMbFNuYThj?=
 =?utf-8?B?b0xhZUpUWU9rWUJBUW5CdFVsQnAvbGh3UURSWjFYMU5NWWxDQitTM1NPZTFS?=
 =?utf-8?B?WVIvelVVL1NkTjVEZE1qQ2hNcm9Eb1pwTXkvbmdjeGYydjJEWmw1ZnNhcFA2?=
 =?utf-8?B?NmVhUWtOKzV4bklhNGVTYXZ6cld4OHhaN0lLcmxPSEJIa0Yzb1VtWFZCT1V0?=
 =?utf-8?B?VW5GaDNuT2JZbytYakc4ZWhzTGNzeUZJZmZGYUpheXkrWmt4Q3A5QjJhWmtC?=
 =?utf-8?B?cCtpUmxncys1Mzh0c0p6WEExdjBBQWM5ZnpnR1piekF4enFJVDVndW5Kajhi?=
 =?utf-8?B?UjY3N0NxbmVwY0habjUzVTRBS0JBdjdDb2EwMUJINU9IOUQ0MUxJbDlJZSt6?=
 =?utf-8?B?eHpxQWFGZUQ3QXIyRXJHOTNkc1hYSlI2YndNNmcva1BHVmpMUDdxbVgzWURU?=
 =?utf-8?B?RldrUmxSalQyWTJWeHJsR0ZSM1BJZXZXVXBjNEFwS1VyMkZyM1hhMDRwRDBL?=
 =?utf-8?B?MnlobWpBa3VRZUFmbHBTRTk3ZXE1cVJyd1VlYzNFeC9LMUhGOWFoY0FpbDBL?=
 =?utf-8?B?aHpGR2ZCMXJMZlUrZW9zZTZWMkpQSlBaeTZxT0EyYmNkdTRzSHJGUnVQVUlp?=
 =?utf-8?B?eExPc01KUU9RMTZFSWZIU09XVWZuNWlJMkJWN1AvRUhISWN3RklSOG9hazRC?=
 =?utf-8?B?NHVDazN5NUNwRUdlZHhiNFBOV0h1Sm1ZdHdtQy9PV3l0clJtS3R1SXYrNENz?=
 =?utf-8?B?UHlaUGVqYTlEUDJHVnJOTnA5WlU4U01WS3pLS2NOK2pmYmZpMTI5ZVFRdTZN?=
 =?utf-8?B?Rm9Nc2VIa3JHU0s2TVNYc1BoK3VnS3U5Tmpac0dSNW11WSttUFJRdVZDdjVL?=
 =?utf-8?B?VlRNdVpiL0ZGWFVQSHdiUExPeERhYlVJUkVJNC9YUVFRUTF0aGNwWk83WUdX?=
 =?utf-8?B?dktPRVdhQzRUMXlWdUQvWm9xQzBPb05iTjIxWVZCcTFvVHkzMURNTU9wZXk2?=
 =?utf-8?B?NlY0NGZISmlqMkUrbmllRW1nSWQ5a2RHYU1wUk1LYVN3NVRwSDBCTjJvVVU2?=
 =?utf-8?B?dFdpSjFmWHpURVpMNW1jaEEvbTRCTDBQcEs3MUxsTm5zejBhQk1Ud1VSajd3?=
 =?utf-8?B?MExrN0hEZ3NkNTVsUHFUSlhsaTFWQXY1RXBrQzNTeUJSdWZsbTdVakRiUFN2?=
 =?utf-8?B?eDg0WEFxRDhmRnE1b1ZvcHdHejFIUmtpUVhMUWxQcnJoUHFFRCtCQy9Pa2tB?=
 =?utf-8?B?MXdnbnJ3OGJNdjBYS1dtYTNuR21hVmJmVzgyZXZXQitsWGJqNTAzV3N6RUVj?=
 =?utf-8?B?S0k2d2g5K05LQmM4cnhjRXBoSW50YkdWN3dYM1FoK2pUaURmUzFNcnZ0Mm1V?=
 =?utf-8?B?aFZqY1RTNHFvVng5czUwWXVhVmFSOWNUaklObW9BblAyMDkyNXUxa3VSZHhF?=
 =?utf-8?B?Mk5xLzBxYTNsclZnZkU1bXVEb1krbU5jRUM0cnhCMDlIczNVVUY5Wjc1dG52?=
 =?utf-8?B?SUYxQjRXdVEwMzVJcFR3YWV6bkFwVHU3cDZBSDVONDZMbjhsV2dDS2g2MFpM?=
 =?utf-8?B?dmgwbWFuNTJackFQSDlyL0gyUmkyTUdtMDBveTFjbUJtdWZnamRMcW5NdCtW?=
 =?utf-8?B?Y21hOXZXRlZpT2xsSjRaTEpvWGR0RDhGVkVha3BFbDYxNXZNb2ZpMVpzdSs4?=
 =?utf-8?B?S2wrQkdxTXcyVVZYa1Z6ck9wQ21NeGU3LzZySm5MM0VSNFd4dDlPeE5Oa2t5?=
 =?utf-8?B?clhucGRwTUNQNU4vU3dkSnZ6RjZMSytCV1JoNjkyS2V1WXJVWk5tV0kydHhm?=
 =?utf-8?B?cHpBK2hTYXk2VW9BbHhsa3o5SzZ6M2hEa2Q5aXp0b25iK2tqWWdvbjBNTVFI?=
 =?utf-8?B?aEwyQllod1FDQXVJUTBCYmFjQ040T0JKeW5UTmxHdS9UYkJxUmhtWmFBUjk3?=
 =?utf-8?Q?6oxIkOrZe+qAAT+xCOzop1xJx?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <11540DE6C2241C4E886321D6ACB0657D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 109cc667-413d-47ae-b562-08da770d3d9e
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2022 18:06:37.7813
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 76Yk1U99n2ONm3z9bMpX49+AyDKjd2PhCdh9qwNI9iYahHnt3u9Kn6zvnSZNNtokUjQWVi93Yko+1m3zAPmvZlJ/+HY4wwVmIU9HIm7IeEs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5402

T24gMjkvMDcvMjAyMiAxODo1MywgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4gQWRkIGEgZmluYWxp
emVyIG9uIHRoZSBldmVudCBjaGFubmVsIHZhbHVlLCBzbyB0aGF0IGl0IGNhbGxzDQo+IGB4ZW5l
dnRjaG5fY2xvc2VgIHdoZW4gdGhlIHZhbHVlIHdvdWxkIGJlIEdDZWQuDQo+DQo+IEluIHByYWN0
aWNlIG94ZW5zdG9yZWQgc2VlbXMgdG8gYmUgdGhlIG9ubHkgdXNlciBvZiB0aGlzLA0KPiBhbmQg
aXQgY3JlYXRlcyBhIHNpbmdsZSBnbG9iYWwgZXZlbnQgY2hhbm5lbCBvbmx5LA0KPiBidXQgZnJl
ZWluZyB0aGlzIGNvdWxkIHN0aWxsIGJlIHVzZWZ1bCB3aGVuIHJ1biB3aXRoIE9DQU1MUlVOUEFS
QU09Yw0KPg0KPiBUaGUgY29kZSB3YXMgcHJldmlvdXNseSBjYXN0aW5nIGEgQyBwb2ludGVyIHRv
IGFuIE9DYW1sIHZhbHVlLA0KPiB3aGljaCBzaG91bGQgYmUgYXZvaWRlZDogT0NhbWwgNS4wIHdv
bid0IHN1cHBvcnQgaXQuDQo+IChhbGwgIm5ha2VkIiBDIHBvaW50ZXJzIG11c3QgYmUgd3JhcHBl
ZCBpbnNpZGUgYW4gT0NhbWwgdmFsdWUsDQo+ICBlaXRoZXIgYW4gQWJzdHJhY3QgdGFnLCBvciBO
YXRpdmVpbnQsIHNlZSB0aGUgbWFudWFsDQo+ICBodHRwczovL29jYW1sLm9yZy9tYW51YWwvaW50
ZmMuaHRtbCNzczpjLW91dHNpZGUtaGVhZCkNCj4NCj4gU2lnbmVkLW9mZi1ieTogRWR3aW4gVMO2
csO2ayA8ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4NCg0KU28gd2hpbGUgdGhpcyBsb29rcyBsaWtl
IGEgZ29vZCBpbXByb3ZlbWVudCwgZG9uJ3Qgd2UgbmVlZCB0byBkbyBpdCBmb3INCmFsbCBsaWJy
YXJpZXMsIG5vdCBqdXN0IGV2dGNobj8NCg0KSXQgZG9lc24ndCBsb29rIGFzIGlmIE9jYW1sIDUu
MCBpcyB2ZXJ5IGZhciBhd2F5Lg0KDQo+IC0tLQ0KPiAgdG9vbHMvb2NhbWwvbGlicy9ldmVudGNo
bi94ZW5ldmVudGNobl9zdHVicy5jIHwgMjkgKysrKysrKysrKysrKysrKystLQ0KPiAgMSBmaWxl
IGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1n
aXQgYS90b29scy9vY2FtbC9saWJzL2V2ZW50Y2huL3hlbmV2ZW50Y2huX3N0dWJzLmMgYi90b29s
cy9vY2FtbC9saWJzL2V2ZW50Y2huL3hlbmV2ZW50Y2huX3N0dWJzLmMNCj4gaW5kZXggZjg4OWE3
YTJlNC4uYzBkNTdlMjk1NCAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvb2NhbWwvbGlicy9ldmVudGNo
bi94ZW5ldmVudGNobl9zdHVicy5jDQo+ICsrKyBiL3Rvb2xzL29jYW1sL2xpYnMvZXZlbnRjaG4v
eGVuZXZlbnRjaG5fc3R1YnMuYw0KPiBAQCAtMzMsNyArMzMsMzAgQEANCj4gICNpbmNsdWRlIDxj
YW1sL2ZhaWwuaD4NCj4gICNpbmNsdWRlIDxjYW1sL3NpZ25hbHMuaD4NCj4gIA0KPiAtI2RlZmlu
ZSBfSChfX2gpICgoeGVuZXZ0Y2huX2hhbmRsZSAqKShfX2gpKQ0KPiArLyogV2Ugd2FudCB0byBj
bG9zZSB0aGUgZXZlbnQgY2hhbm5lbCB3aGVuIGl0IGlzIG5vIGxvbmdlciBpbiB1c2UsDQo+ICsg
ICB3aGljaCBjYW4gb25seSBiZSBkb25lIHNhZmVseSB3aXRoIGEgZmluYWxpemVyLg0KPiArICAg
RXZlbnQgY2hhbm5lbHMgYXJlIHR5cGljYWxseSBsb25nIGxpdmVkLCBzbyB3ZSBkb24ndCBuZWVk
IHRpZ2h0ZXIgY29udHJvbCBvdmVyIHJlc291cmNlIGRlYWxsb2NhdGlvbi4NCj4gKyAgIFVzZSBh
IGN1c3RvbSBibG9jaw0KPiArKi8NCj4gKw0KPiArLyogQWNjZXNzIHRoZSB4ZW5ldnRjaG5fdCog
cGFydCBvZiB0aGUgT0NhbWwgY3VzdG9tIGJsb2NrICovDQo+ICsjZGVmaW5lIF9IKF9faCkgKCoo
KHhlbmV2dGNobl9oYW5kbGUqKilEYXRhX2N1c3RvbV92YWwoX19oKSkpDQo+ICsNCj4gK3N0YXRp
YyB2b2lkIHN0dWJfZXZ0Y2huX2ZpbmFsaXplKHZhbHVlIHYpDQo+ICt7DQo+ICsJLyogZG9jcyBz
YXkgdG8gbm90IHVzZSBhbnkgQ0FNTHBhcmFtKiBtYWNyb3MgaGVyZSAqLw0KPiArCXhlbmV2dGNo
bl9jbG9zZShfSCh2KSk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgY3VzdG9tX29wZXJh
dGlvbnMgeGVuZXZ0Y2huX29wcyA9IHsNCj4gKwkieGVuZXZ0Y2huIiwNCj4gKwlzdHViX2V2dGNo
bl9maW5hbGl6ZSwNCj4gKwljdXN0b21fY29tcGFyZV9kZWZhdWx0LCAvKiByYWlzZXMgRmFpbHVy
ZSwgY2Fubm90IGNvbXBhcmUgKi8NCj4gKwljdXN0b21faGFzaF9kZWZhdWx0LCAvKiBpZ25vcmVk
ICovDQo+ICsJY3VzdG9tX3NlcmlhbGl6ZV9kZWZhdWx0LCAvKiByYWlzZXMgRmFpbHVyZSwgY2Fu
J3Qgc2VyaWFsaXplICovDQo+ICsJY3VzdG9tX2Rlc2VyaWFsaXplX2RlZmF1bHQsIC8qIHJhaXNl
cyBGYWlsdXJlLCBjYW4ndCBkZXNlcmlhbGl6ZSAqLw0KPiArCWN1c3RvbV9jb21wYXJlX2V4dF9k
ZWZhdWx0IC8qIHJhaXNlcyBGYWlsdXJlICovDQoNClRoaXMgd2FudHMgdG8gZ2FpbiBhIHRyYWls
aW5nIGNvbW1hLg0KDQo+ICt9Ow0KPiAgDQo+ICBDQU1McHJpbSB2YWx1ZSBzdHViX2V2ZW50Y2hu
X2luaXQodm9pZCkNCj4gIHsNCj4gQEAgLTQ4LDcgKzcxLDkgQEAgQ0FNTHByaW0gdmFsdWUgc3R1
Yl9ldmVudGNobl9pbml0KHZvaWQpDQo+ICAJaWYgKHhjZSA9PSBOVUxMKQ0KPiAgCQljYW1sX2Zh
aWx3aXRoKCJvcGVuIGZhaWxlZCIpOw0KPiAgDQo+IC0JcmVzdWx0ID0gKHZhbHVlKXhjZTsNCj4g
KwkvKiBjb250YWlucyBmaWxlIGRlc2NyaXB0b3JzLCB0cmlnZ2VyIGZ1bGwgR0MgYXQgbGVhc3Qg
ZXZlcnkgMTI4IGFsbG9jYXRpb25zICovDQo+ICsJcmVzdWx0ID0gY2FtbF9hbGxvY19jdXN0b20o
JnhlbmV2dGNobl9vcHMsIHNpemVvZih4Y2UpLCAxLCAxMjgpOw0KDQpUaGUgbWVtb3J5IGFsbG9j
YXRlZCBmb3IgeGNlIGlzIHRpbnkgKDQ4IGJ5dGVzKSBhbmQgaW52YXJpYW50IGZvciB0aGUNCmxp
ZmV0aW1lIG9mIHRoZSBldnRjaG4gb2JqZWN0LCB3aGljaCB3ZSd2ZSBhbHJlYWR5IGVzdGFibGlz
aGVkIHRlbmRzIHRvDQpvcGVyYXRlIGFzIGEgc2luZ2xldG9uIGFueXdheS4NCg0KRG9uJ3Qgd2Ug
d2FudCB0byB1c2UgdGhlIHJlY29tbWVuZGVkIDAgYW5kIDEgaGVyZT8NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 19:21:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 19:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381487.616202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK2sr-0004BX-1z; Fri, 05 Aug 2022 19:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381487.616202; Fri, 05 Aug 2022 19:21:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK2sq-0004BQ-Vg; Fri, 05 Aug 2022 19:21:20 +0000
Received: by outflank-mailman (input) for mailman id 381487;
 Fri, 05 Aug 2022 19:21:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK2sp-0004BG-Ev; Fri, 05 Aug 2022 19:21:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK2sp-0008M5-CF; Fri, 05 Aug 2022 19:21:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK2so-00061B-Uk; Fri, 05 Aug 2022 19:21:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oK2so-0003UU-UI; Fri, 05 Aug 2022 19:21:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ADBdtGhASWR+Sckv3Mjk4Vfbc/CzBo5xNNDeDmZPUK0=; b=EYovQh7fqSkbAbjGlIGGEhAhae
	pfL6w79nE5ML+/zLWULqcjWC7YysmZ7auvWQ+W4uBtEIBJT6ELRLdfVOVv801EC7BCoSVeaDD0j5D
	28ybqXj/oJAYckG0w7D+HOPcV0k4/F+yptuWiCrvO189G2i8f8cnac/QObDG8e9+qn9c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172177-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172177: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b2a88c212e652e94f1e4b635910972ac57ba4e97
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 19:21:18 +0000

flight 172177 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172177/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                b2a88c212e652e94f1e4b635910972ac57ba4e97
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    1 days
Testing same since   172152  2022-08-05 04:01:26 Z    0 days    2 attempts

------------------------------------------------------------
684 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 59507 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 20:31:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 20:31:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381504.616222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK3y6-0003Az-AX; Fri, 05 Aug 2022 20:30:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381504.616222; Fri, 05 Aug 2022 20:30:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK3y6-0003As-6w; Fri, 05 Aug 2022 20:30:50 +0000
Received: by outflank-mailman (input) for mailman id 381504;
 Fri, 05 Aug 2022 20:30:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK3y5-0003Ai-JJ; Fri, 05 Aug 2022 20:30:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK3y5-0001OU-Gm; Fri, 05 Aug 2022 20:30:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK3y5-0001N4-5F; Fri, 05 Aug 2022 20:30:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oK3y5-0005Oe-4r; Fri, 05 Aug 2022 20:30:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A0n/PrQnJe2w2GYN+vk94PriFzbkprnzUZ48uaX5PbI=; b=eb7zJSYkt684pBzPM4jgeJOKct
	QCuyKob9dFBhsxesxaFAL87INYhUqC6wJWZF4fUy/KEh//qOPyOrchsUG5rkMcpY47R7nN2IvE4eA
	FDVWA3iLdWFMM2qNHhud8jCWtw6b0wCB8+xyvyO9rJ7IUO9Gp7BEk2eMPuTy8RehsMT4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172198-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172198: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 20:30:49 +0000

flight 172198 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172198/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 21:17:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 21:17:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381516.616235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK4ha-0007Xc-VG; Fri, 05 Aug 2022 21:17:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381516.616235; Fri, 05 Aug 2022 21:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK4ha-0007XV-Sh; Fri, 05 Aug 2022 21:17:50 +0000
Received: by outflank-mailman (input) for mailman id 381516;
 Fri, 05 Aug 2022 21:17:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oK4ha-0007XM-4H
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 21:17:50 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e8f1f67-1504-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 23:17:49 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id l22so4517656wrz.7
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 14:17:48 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538])
 by smtp.googlemail.com with ESMTPSA id
 z9-20020a5d4d09000000b0021dd08ad8d7sm4833347wrt.46.2022.08.05.14.17.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 14:17:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e8f1f67-1504-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=U9oyGo2xK9qn/v4CR94onuln5ETzoejF6L9XxhBXwCk=;
        b=SvYg6n/dXePu4V843nj8d+0plQBewKILIQRL9YqL4D2PagYiNyVRDIT+9Y4Qt/9Tk7
         jJapaJ5QaFv1kGdqex8KjhtrJjLpP4LVEMcQoUzIroqGA7Dib2uzoxqDsnbDdxEbmNUB
         gVGjeOkA/J67DRPwArl47AnlNjdYx4avP53T2otn6ZRcSZC5E8Zu2n0VTKj9hN58zlCJ
         0mW4BKamJHF/KrdmN5a1wR+aC/4b5Hnn4tF//1Gk6YPURxyK7FeW8MUigmVfBLgxsyFe
         vw/GdtiZAesKQjq7qS45OOMuyTT1E33lwBuJ711pWx0NPRja22HeT+PwrY0ww3ZbGA53
         V8nQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=U9oyGo2xK9qn/v4CR94onuln5ETzoejF6L9XxhBXwCk=;
        b=MO93t8C1Y8LhO4WE4/QuCxUEtf4K+ulCp2FJxzkrFuj0jy/EABPqAPEA22SRHTLwtH
         e0opn2XTqpS5CmJFj2mVx/i6aWsiyX3ScLTEGI8L6HxyZ0vSByqzD4LKkSmVv9JhaDNA
         CNuc7SFKRmHaCqCFWKIVItcNqNShYdAPlr8JW08Ava30fo39LrCjmCpgQPCvw/oM8pkB
         j3kYM+8Whw4TOOGHMyi06vnYmk3Dbp8u6te/wbIX2Owbid9t9+Zh1l3zo0EhnOr2LaM2
         nQGdkgdyYVEGOrSDkcjABco/mfnz0bHCInICA/3hBRiVJ9lscN9wmboRilJLvj9QhzXI
         a/Iw==
X-Gm-Message-State: ACgBeo26hQMq6xtFx5nCcy8nl5ApHtS9aLu+3Lj1eToVF/YHLvdAJTlu
	pPaw7QQ/zqoqjItUp9Z5XidT+kiv2xk=
X-Google-Smtp-Source: AA6agR45mHKoEUaKa85DtqrmuKxottTAYeYU3g1NT4+XIaDZT5xE+LfO6Qq22kBmwcTwyvXzyVTc9A==
X-Received: by 2002:a5d:4345:0:b0:21a:3b82:ad57 with SMTP id u5-20020a5d4345000000b0021a3b82ad57mr5398632wrr.176.1659734268172;
        Fri, 05 Aug 2022 14:17:48 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 0/2] automation: Test a pv network interface under dom0less enhanced
Date: Sat,  6 Aug 2022 00:17:39 +0300
Message-Id: <20220805211741.1869068-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xenia Ragiadakou (2):
  automation: qemu-smoke-arm64: Use kernel 5.19
  automation: qemu-smoke-arm64: Run ping test over a pv network
    interface

 automation/gitlab-ci/build.yaml               | 11 +++++
 automation/gitlab-ci/test.yaml                | 10 +++--
 automation/scripts/qemu-smoke-arm64.sh        | 43 +++++++++++++++++--
 .../kernel/5.19-arm64v8.dockerfile            | 37 ++++++++++++++++
 4 files changed, 93 insertions(+), 8 deletions(-)
 create mode 100644 automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 21:17:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 21:17:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381518.616257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK4he-00083F-EP; Fri, 05 Aug 2022 21:17:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381518.616257; Fri, 05 Aug 2022 21:17:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK4he-000836-Bg; Fri, 05 Aug 2022 21:17:54 +0000
Received: by outflank-mailman (input) for mailman id 381518;
 Fri, 05 Aug 2022 21:17:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oK4hd-0007XM-76
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 21:17:53 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10b00da1-1504-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 23:17:52 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id z17so4528125wrq.4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 14:17:52 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538])
 by smtp.googlemail.com with ESMTPSA id
 z9-20020a5d4d09000000b0021dd08ad8d7sm4833347wrt.46.2022.08.05.14.17.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 14:17:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10b00da1-1504-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=FtiZPovu9vfEtmY1jAZC9LcYQsm0U6GpSbrl2Z2hIbc=;
        b=iaVdZeRoahjmE2/0xsoK1A9C/Wz4QKmJeuoUGehyxz9Ze+r7bs9FRV414CyEWyXYWJ
         Ziv90U8mWv6Wz91aFPh08G39sT3IfSnYLmbyjgQ0QuzM03LlcM+Y2TslEyY6cIvWoElt
         8s6+u5LiRynHZ9I3sunbhhLLq6u0curk8sdU8I9NGlUBHUhHVMH84Ftc6u7rDNNm/o7h
         nrm+c0tsHQLu3/MDDleARoxL2wOdvKtBYO9UKYNR7H2Lmk817s09uoSQHHpUoG1ey5CJ
         7W+EaJTIpgrUlhIs2j7ZYGZ/MqRacJSZjzkYPiYRKGlnjntoZ/BZpY3bDSs2juACO+cM
         aLuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=FtiZPovu9vfEtmY1jAZC9LcYQsm0U6GpSbrl2Z2hIbc=;
        b=c//1H1v1VksYme/MqmDOPYa8j4o0m0a99Gjl2gNQBcxlUdTjcVMLb0qxthlfRQ/gru
         +NMj5RuBW8hbT4CrWJv7ZfOywbKnCTlVIvOcuDxw2DD5ExqDPWB2ZO60TkB8ZitTDhKp
         j1F4SZd1v08oYMN5TsMWzmZWaWBcoGgMaJ9/UG5I6xIHgmekE31xH7vAatf/1LRerxv8
         ireelRTm27FDSwxi64JvkDhlqQsRCwi4oOyFjZ1GoMiBaMQxe8nU8nFim8B+Hpp2yk9g
         s51S2CofLA5bLNTCyDTCMLwPwMMRnwZIh6gx3+RNsfKWbBJm/jTBcs3082ti2UutieuZ
         ON0A==
X-Gm-Message-State: ACgBeo08jS1bPa450l9M2dDNQOWs1UW4lVPq63hMV4DGW6Em6qkEc5Ao
	FncsgPApwf3MkvpubXzgYstwGC80MRY=
X-Google-Smtp-Source: AA6agR4TEPDzWeoho1seRvUXiN8ohf2xxoKIF7etu4KP7Do/42XxlyZ5JsnHqCJ5IeKzgdHzuzarhA==
X-Received: by 2002:a5d:64e2:0:b0:220:7dc6:1353 with SMTP id g2-20020a5d64e2000000b002207dc61353mr5417626wri.411.1659734271743;
        Fri, 05 Aug 2022 14:17:51 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/2] automation: qemu-smoke-arm64: Run ping test over a pv network interface
Date: Sat,  6 Aug 2022 00:17:41 +0300
Message-Id: <20220805211741.1869068-3-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220805211741.1869068-1-burzalodowa@gmail.com>
References: <20220805211741.1869068-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch modified the test in the following way
- Dom0 is booted with an alpine linux rootfs with the xen tools.
- Once Dom0 is booted, it starts xenstored, calls init-dom0less to setup
the xenstore interface for the dom0less Dom1, setups the bridged network
and attaches a pv network interface to Dom1.
- In the meantime, Dom1 in its init script tries to assign an ip to eth0
and ping Dom0,
- If Dom1 manages to ping Dom0, it prints 'passed'.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 automation/gitlab-ci/test.yaml         |  6 ++--
 automation/scripts/qemu-smoke-arm64.sh | 43 +++++++++++++++++++++++---
 2 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index aa633fb655..2eb6c3866e 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -69,7 +69,8 @@ qemu-smoke-arm64-gcc:
   script:
     - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee qemu-smoke-arm64.log
   needs:
-    - debian-unstable-gcc-arm64
+    - alpine-3.12-gcc-arm64
+    - alpine-3.12-arm64-rootfs-export
     - kernel-5.19-arm64-export
     - qemu-system-aarch64-6.0.0-arm64-export
   artifacts:
@@ -87,7 +88,8 @@ qemu-smoke-arm64-gcc-staticmem:
   script:
     - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log
   needs:
-    - debian-unstable-gcc-arm64
+    - alpine-3.12-gcc-arm64
+    - alpine-3.12-arm64-rootfs-export
     - kernel-5.19-arm64-export
     - qemu-system-aarch64-6.0.0-arm64-export
   artifacts:
diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh
index b48a20988f..0d19ad52cc 100755
--- a/automation/scripts/qemu-smoke-arm64.sh
+++ b/automation/scripts/qemu-smoke-arm64.sh
@@ -4,8 +4,13 @@ set -ex
 
 test_variant=$1
 
-passed="BusyBox"
-check=""
+passed="passed"
+check="
+until ifconfig eth0 192.168.0.2 && ping -c 10 192.168.0.1; do
+    sleep 30
+done
+echo \"${passed}\"
+"
 
 if [[ "${test_variant}" == "static-mem" ]]; then
     # Memory range that is statically allocated to DOM1
@@ -68,6 +73,36 @@ cd initrd
 find . | cpio --create --format='newc' | gzip > ../binaries/initrd
 cd ..
 
+# DOM0 rootfs
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../binaries/dist/install/* .
+
+echo "#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+bash /etc/init.d/xencommons start
+
+/usr/local/lib/xen/bin/init-dom0less
+
+brctl addbr xenbr0
+brctl addif xenbr0 eth0
+ifconfig eth0 up
+ifconfig xenbr0 up
+ifconfig xenbr0 192.168.0.1
+
+xl network-attach 1 type=vif
+" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
+cd ..
 
 # ImageBuilder
 echo 'MEMORY_START="0x40000000"
@@ -76,7 +111,7 @@ MEMORY_END="0x80000000"
 DEVICE_TREE="virt-gicv2.dtb"
 XEN="xen"
 DOM0_KERNEL="Image"
-DOM0_RAMDISK="initrd"
+DOM0_RAMDISK="dom0-rootfs.cpio.gz"
 XEN_CMD="console=dtuart dom0_mem=512M"
 
 NUM_DOMUS=1
@@ -113,5 +148,5 @@ timeout -k 1 240 \
     -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
 
 set -e
-(grep -q "^BusyBox" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
+(grep -q "^Welcome to Alpine Linux 3.12" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
 exit 0
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 21:17:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 21:17:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381517.616247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK4hc-0007n0-8B; Fri, 05 Aug 2022 21:17:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381517.616247; Fri, 05 Aug 2022 21:17:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK4hc-0007mt-3m; Fri, 05 Aug 2022 21:17:52 +0000
Received: by outflank-mailman (input) for mailman id 381517;
 Fri, 05 Aug 2022 21:17:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gvBN=YJ=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oK4ha-0007XM-Vr
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 21:17:51 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f5dd7d5-1504-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 23:17:50 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id z16so4471012wrh.12
 for <xen-devel@lists.xenproject.org>; Fri, 05 Aug 2022 14:17:50 -0700 (PDT)
Received: from uni.. ([2a02:587:ac1d:6c00:cdd9:ab5d:6d5c:1538])
 by smtp.googlemail.com with ESMTPSA id
 z9-20020a5d4d09000000b0021dd08ad8d7sm4833347wrt.46.2022.08.05.14.17.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 14:17:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f5dd7d5-1504-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=s9dZ6sD5EIOKc0plVklLAsEe+knWyHasBDCNA/VtHus=;
        b=DcUFLQg+YNAbdV/DmeSGNv8P8WebdIyymNu1Z26ni61qgnFhAkmTdJ7px68E3khP83
         wSQnneMtiEJdZ24Nh8cFtVGJ043EaQ31P+yUcGLBXwJqtGMhR/ApDkLrmsA10Lg1mqMU
         MtU5AyPLtPxcq8/PGGF6jlu3IGn2NY5yc2O5v5hpicUtDz/qzAQOzJvE68GhL1GQyfbF
         6X2vnrdA4Bsk5UPOtRK0hGHGHZ88q4jqrnpwpvGgHBnXgOxtIKttCUlDhtANiUhPHfBu
         +bucLw5+1+2E3vqo+1XU5iTXXKs6x7wTRjytAvxKi7DSrjHQVNI7tuJ6fGaNB+wGnfJL
         GtwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=s9dZ6sD5EIOKc0plVklLAsEe+knWyHasBDCNA/VtHus=;
        b=bGywSkySecqzOuPNnyMPhxM+nZx18nV4lRsePLCJIY3yCJatwDdJ37796rRcEt8Jks
         EPOYxUhCGIhV8h5efHeIS7yuf1mnvtWE2oHJExw+0cAC19lt+UqhB9bHv6o9fhVU0hsK
         zMJ64Fwdnb9TV30eGk8mjWB5Q+8Pdbeq2CMj5cesUwQ/XA9DNCfDJCtVCIqoyzZ67USd
         aDqtpmcWgUIyukyjJEwjo79kmlWwvbntMPIz9LFUBv1VzMoOA5bTCe7Po3ILaYJb1yiu
         SV+eWySD9bVEYb41fMej4mV0DJlbs6laC/vzEZWa/MT2sxnlQ/pR6kq4fbKpVsN0rHGW
         PZ9g==
X-Gm-Message-State: ACgBeo1a+MfAhDXmMbCktYAH+u29Ry980aQxPUUeAp13usiufzMfTz3j
	9Fdw+NOdh6h8porU3dpMTyWvajr8iZo=
X-Google-Smtp-Source: AA6agR4hrVFhpDLKSUGRNxT6uDWRR5gklde0uzfTdMLn9KjEGGlsjQsBbtgAxXxuTXRjBfJybezsIQ==
X-Received: by 2002:adf:ce10:0:b0:221:760e:17fc with SMTP id p16-20020adfce10000000b00221760e17fcmr2420585wrn.495.1659734269494;
        Fri, 05 Aug 2022 14:17:49 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/2] automation: qemu-smoke-arm64: Use kernel 5.19
Date: Sat,  6 Aug 2022 00:17:40 +0300
Message-Id: <20220805211741.1869068-2-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220805211741.1869068-1-burzalodowa@gmail.com>
References: <20220805211741.1869068-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use kernel 5.19 to unblock testing dom0less enhanced.
This kernel version has the necessary patches for deferring xenbus probe
until xenstore is fully initialized.
Also, build kernel with bridging and xen netback support enabled because
it will be used for testing network connectivity between Dom0 and Dom1
over a pv network interface.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 automation/gitlab-ci/build.yaml               | 11 ++++++
 automation/gitlab-ci/test.yaml                |  4 +-
 .../kernel/5.19-arm64v8.dockerfile            | 37 +++++++++++++++++++
 3 files changed, 50 insertions(+), 2 deletions(-)
 create mode 100644 automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 23b306e7d0..d2f75a090c 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -597,6 +597,17 @@ kernel-5.9.9-arm64-export:
   tags:
     - arm64
 
+kernel-5.19-arm64-export:
+  extends: .test-jobs-artifact-common
+  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:5.19-arm64v8
+  script:
+    - mkdir binaries && cp /Image binaries/Image
+  artifacts:
+    paths:
+      - binaries/Image
+  tags:
+    - arm64
+
 qemu-system-aarch64-6.0.0-arm64-export:
   extends: .test-jobs-artifact-common
   image: registry.gitlab.com/xen-project/xen/tests-artifacts/qemu-system-aarch64:6.0.0-arm64v8
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 6f9f64a8da..aa633fb655 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -70,7 +70,7 @@ qemu-smoke-arm64-gcc:
     - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee qemu-smoke-arm64.log
   needs:
     - debian-unstable-gcc-arm64
-    - kernel-5.9.9-arm64-export
+    - kernel-5.19-arm64-export
     - qemu-system-aarch64-6.0.0-arm64-export
   artifacts:
     paths:
@@ -88,7 +88,7 @@ qemu-smoke-arm64-gcc-staticmem:
     - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log
   needs:
     - debian-unstable-gcc-arm64
-    - kernel-5.9.9-arm64-export
+    - kernel-5.19-arm64-export
     - qemu-system-aarch64-6.0.0-arm64-export
   artifacts:
     paths:
diff --git a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
new file mode 100644
index 0000000000..e445c1f03a
--- /dev/null
+++ b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
@@ -0,0 +1,37 @@
+FROM arm64v8/debian:unstable
+LABEL maintainer.name="The Xen Project" \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV LINUX_VERSION=5.19
+ENV USER root
+
+RUN mkdir /build
+WORKDIR /build
+
+# build depends
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        build-essential \
+        libssl-dev \
+        bc \
+        curl \
+        flex \
+        bison \
+        && \
+    \
+    # Build the kernel
+    curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-"$LINUX_VERSION".tar.xz && \
+    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
+    cd linux-"$LINUX_VERSION" && \
+    make defconfig && \
+    sed -i 's/CONFIG_IPV6=m/CONFIG_IPV6=y/g' .config && \
+    sed -i 's/CONFIG_BRIDGE=m/CONFIG_BRIDGE=y/g' .config && \
+    sed -i 's/# CONFIG_XEN_NETDEV_BACKEND is not set/CONFIG_XEN_NETDEV_BACKEND=y/g' .config && \
+    make -j$(nproc) Image.gz && \
+    cp arch/arm64/boot/Image / && \
+    cd /build && \
+    rm -rf linux-"$LINUX_VERSION"* && \
+    apt-get autoremove -y && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 05 21:53:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 21:53:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381583.616287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK5Fh-0005Uv-Ks; Fri, 05 Aug 2022 21:53:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381583.616287; Fri, 05 Aug 2022 21:53:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK5Fh-0005Uo-HX; Fri, 05 Aug 2022 21:53:05 +0000
Received: by outflank-mailman (input) for mailman id 381583;
 Fri, 05 Aug 2022 21:53:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eWLc=YJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oK5Fg-0005UP-CI
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 21:53:04 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9f68d4f-1508-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 23:53:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2CB4761B4B;
 Fri,  5 Aug 2022 21:53:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 549A4C433D6;
 Fri,  5 Aug 2022 21:53:00 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9f68d4f-1508-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659736380;
	bh=YBVb2UuiyL9fYAf2ZD22IiReTkcKo2pe/pMehkWFEYk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=U7g6vpbP7jn1InxCg6+WvtqZsXaZ6UzHHgQM13cbVJQTPqGdBh9rRHQ4+yRJenAsz
	 RN4Vdm+lq/4W9ErYKyFxljAfkwFRBwKVgoaWZjston/H1kqx64iTbTjtE02SmapeBA
	 xNFMSPiEdSwQLodxXD61lnkzEgfXvMOvetj+N7iPMuQlpAnLro5CAL33XidCAjdC9H
	 uP6/NtPQkvnonC1VvZ/Iti6gjwFnqMP+Fha5yiXp1U+KOAoHWmfNeuYeK96G2gnIXq
	 SezsonWbS2PbkhB71q7hEWrfzIl3tyyRkMFVl4zipSUztFWi5erH+6gGDBn/KC3Epf
	 /8UHDGwNAwbzQ==
Date: Fri, 5 Aug 2022 14:52:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/2] automation: qemu-smoke-arm64: Use kernel 5.19
In-Reply-To: <20220805211741.1869068-2-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208051452480.3147284@ubuntu-linux-20-04-desktop>
References: <20220805211741.1869068-1-burzalodowa@gmail.com> <20220805211741.1869068-2-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 6 Aug 2022, Xenia Ragiadakou wrote:
> Use kernel 5.19 to unblock testing dom0less enhanced.
> This kernel version has the necessary patches for deferring xenbus probe
> until xenstore is fully initialized.
> Also, build kernel with bridging and xen netback support enabled because
> it will be used for testing network connectivity between Dom0 and Dom1
> over a pv network interface.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  automation/gitlab-ci/build.yaml               | 11 ++++++
>  automation/gitlab-ci/test.yaml                |  4 +-
>  .../kernel/5.19-arm64v8.dockerfile            | 37 +++++++++++++++++++
>  3 files changed, 50 insertions(+), 2 deletions(-)
>  create mode 100644 automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 23b306e7d0..d2f75a090c 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -597,6 +597,17 @@ kernel-5.9.9-arm64-export:
>    tags:
>      - arm64
>  
> +kernel-5.19-arm64-export:
> +  extends: .test-jobs-artifact-common
> +  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:5.19-arm64v8
> +  script:
> +    - mkdir binaries && cp /Image binaries/Image
> +  artifacts:
> +    paths:
> +      - binaries/Image
> +  tags:
> +    - arm64
> +
>  qemu-system-aarch64-6.0.0-arm64-export:
>    extends: .test-jobs-artifact-common
>    image: registry.gitlab.com/xen-project/xen/tests-artifacts/qemu-system-aarch64:6.0.0-arm64v8
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 6f9f64a8da..aa633fb655 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -70,7 +70,7 @@ qemu-smoke-arm64-gcc:
>      - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee qemu-smoke-arm64.log
>    needs:
>      - debian-unstable-gcc-arm64
> -    - kernel-5.9.9-arm64-export
> +    - kernel-5.19-arm64-export
>      - qemu-system-aarch64-6.0.0-arm64-export
>    artifacts:
>      paths:
> @@ -88,7 +88,7 @@ qemu-smoke-arm64-gcc-staticmem:
>      - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log
>    needs:
>      - debian-unstable-gcc-arm64
> -    - kernel-5.9.9-arm64-export
> +    - kernel-5.19-arm64-export
>      - qemu-system-aarch64-6.0.0-arm64-export
>    artifacts:
>      paths:
> diff --git a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
> new file mode 100644
> index 0000000000..e445c1f03a
> --- /dev/null
> +++ b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
> @@ -0,0 +1,37 @@
> +FROM arm64v8/debian:unstable
> +LABEL maintainer.name="The Xen Project" \
> +      maintainer.email="xen-devel@lists.xenproject.org"
> +
> +ENV DEBIAN_FRONTEND=noninteractive
> +ENV LINUX_VERSION=5.19
> +ENV USER root
> +
> +RUN mkdir /build
> +WORKDIR /build
> +
> +# build depends
> +RUN apt-get update && \
> +    apt-get --quiet --yes install \
> +        build-essential \
> +        libssl-dev \
> +        bc \
> +        curl \
> +        flex \
> +        bison \
> +        && \
> +    \
> +    # Build the kernel
> +    curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-"$LINUX_VERSION".tar.xz && \
> +    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
> +    cd linux-"$LINUX_VERSION" && \
> +    make defconfig && \
> +    sed -i 's/CONFIG_IPV6=m/CONFIG_IPV6=y/g' .config && \
> +    sed -i 's/CONFIG_BRIDGE=m/CONFIG_BRIDGE=y/g' .config && \
> +    sed -i 's/# CONFIG_XEN_NETDEV_BACKEND is not set/CONFIG_XEN_NETDEV_BACKEND=y/g' .config && \
> +    make -j$(nproc) Image.gz && \
> +    cp arch/arm64/boot/Image / && \
> +    cd /build && \
> +    rm -rf linux-"$LINUX_VERSION"* && \
> +    apt-get autoremove -y && \
> +    apt-get clean && \
> +    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 21:54:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 21:54:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381591.616298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK5Gf-00064o-4n; Fri, 05 Aug 2022 21:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381591.616298; Fri, 05 Aug 2022 21:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK5Gf-00064h-0U; Fri, 05 Aug 2022 21:54:05 +0000
Received: by outflank-mailman (input) for mailman id 381591;
 Fri, 05 Aug 2022 21:54:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eWLc=YJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oK5Gd-0005UP-Ox
 for xen-devel@lists.xenproject.org; Fri, 05 Aug 2022 21:54:03 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1dced501-1509-11ed-924f-1f966e50362f;
 Fri, 05 Aug 2022 23:54:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7406A61B16;
 Fri,  5 Aug 2022 21:54:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 998EFC433D6;
 Fri,  5 Aug 2022 21:54:00 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1dced501-1509-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659736440;
	bh=HeOpmd8EG5oGFipfWTztXdQH0uU/mZ5HzFtt2bvbKdM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T33Gl+apZL8P8AHI+ZnluPcj6h7PK0kATrsXs31qN2YGexGtavc37qTCTf0G/ybRn
	 n3oK/kYPJZkGxTIRVGPVaBE4nFRNPsD3KaZrTixmIOtEkhkJPOLsSAuPJd/t+CAemF
	 qNJ5QWqajFfqlu7jnqYqErMJvtMpDyKYgeLFMRce0M8OrK4h7G1QAV4ElfkhdKFAu3
	 fD2hJRQeBQrIA5RYowoyY9q+HAPWazqAYIqCJYgPvUi7zifOQw32rFW0aM4YNmhBUh
	 znTU7x4zEq/kMgB2u4eqZloL6A+wam80+tdFQ/+uWs415wRIsUcQ/2Z3jGNoDlvIF3
	 eRYFUSwtut9Rw==
Date: Fri, 5 Aug 2022 14:53:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 2/2] automation: qemu-smoke-arm64: Run ping test over a
 pv network interface
In-Reply-To: <20220805211741.1869068-3-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208051453020.3147284@ubuntu-linux-20-04-desktop>
References: <20220805211741.1869068-1-burzalodowa@gmail.com> <20220805211741.1869068-3-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 6 Aug 2022, Xenia Ragiadakou wrote:
> This patch modified the test in the following way
> - Dom0 is booted with an alpine linux rootfs with the xen tools.
> - Once Dom0 is booted, it starts xenstored, calls init-dom0less to setup
> the xenstore interface for the dom0less Dom1, setups the bridged network
> and attaches a pv network interface to Dom1.
> - In the meantime, Dom1 in its init script tries to assign an ip to eth0
> and ping Dom0,
> - If Dom1 manages to ping Dom0, it prints 'passed'.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
> ---
>  automation/gitlab-ci/test.yaml         |  6 ++--
>  automation/scripts/qemu-smoke-arm64.sh | 43 +++++++++++++++++++++++---
>  2 files changed, 43 insertions(+), 6 deletions(-)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index aa633fb655..2eb6c3866e 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -69,7 +69,8 @@ qemu-smoke-arm64-gcc:
>    script:
>      - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee qemu-smoke-arm64.log
>    needs:
> -    - debian-unstable-gcc-arm64
> +    - alpine-3.12-gcc-arm64
> +    - alpine-3.12-arm64-rootfs-export
>      - kernel-5.19-arm64-export
>      - qemu-system-aarch64-6.0.0-arm64-export
>    artifacts:
> @@ -87,7 +88,8 @@ qemu-smoke-arm64-gcc-staticmem:
>    script:
>      - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log
>    needs:
> -    - debian-unstable-gcc-arm64
> +    - alpine-3.12-gcc-arm64
> +    - alpine-3.12-arm64-rootfs-export
>      - kernel-5.19-arm64-export
>      - qemu-system-aarch64-6.0.0-arm64-export
>    artifacts:
> diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh
> index b48a20988f..0d19ad52cc 100755
> --- a/automation/scripts/qemu-smoke-arm64.sh
> +++ b/automation/scripts/qemu-smoke-arm64.sh
> @@ -4,8 +4,13 @@ set -ex
>  
>  test_variant=$1
>  
> -passed="BusyBox"
> -check=""
> +passed="passed"
> +check="
> +until ifconfig eth0 192.168.0.2 && ping -c 10 192.168.0.1; do
> +    sleep 30
> +done
> +echo \"${passed}\"
> +"
>  
>  if [[ "${test_variant}" == "static-mem" ]]; then
>      # Memory range that is statically allocated to DOM1
> @@ -68,6 +73,36 @@ cd initrd
>  find . | cpio --create --format='newc' | gzip > ../binaries/initrd
>  cd ..
>  
> +# DOM0 rootfs
> +mkdir -p rootfs
> +cd rootfs
> +tar xzf ../binaries/initrd.tar.gz
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +cp -ar ../binaries/dist/install/* .
> +
> +echo "#!/bin/bash
> +
> +export LD_LIBRARY_PATH=/usr/local/lib
> +bash /etc/init.d/xencommons start
> +
> +/usr/local/lib/xen/bin/init-dom0less
> +
> +brctl addbr xenbr0
> +brctl addif xenbr0 eth0
> +ifconfig eth0 up
> +ifconfig xenbr0 up
> +ifconfig xenbr0 192.168.0.1
> +
> +xl network-attach 1 type=vif
> +" > etc/local.d/xen.start
> +chmod +x etc/local.d/xen.start
> +echo "rc_verbose=yes" >> etc/rc.conf
> +find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
> +cd ..
>  
>  # ImageBuilder
>  echo 'MEMORY_START="0x40000000"
> @@ -76,7 +111,7 @@ MEMORY_END="0x80000000"
>  DEVICE_TREE="virt-gicv2.dtb"
>  XEN="xen"
>  DOM0_KERNEL="Image"
> -DOM0_RAMDISK="initrd"
> +DOM0_RAMDISK="dom0-rootfs.cpio.gz"
>  XEN_CMD="console=dtuart dom0_mem=512M"
>  
>  NUM_DOMUS=1
> @@ -113,5 +148,5 @@ timeout -k 1 240 \
>      -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
>  
>  set -e
> -(grep -q "^BusyBox" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
> +(grep -q "^Welcome to Alpine Linux 3.12" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
>  exit 0

This patch looks great! One minor comment: Should we great only for
"^Welcome to Alpine Linux" without the version (3.12) to make it easier
to upgrade in the future?

If you are OK with it, I can remove "3.12" on commit.


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 22:28:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 22:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381600.616315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK5nh-00019R-R4; Fri, 05 Aug 2022 22:28:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381600.616315; Fri, 05 Aug 2022 22:28:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK5nh-00019K-NT; Fri, 05 Aug 2022 22:28:13 +0000
Received: by outflank-mailman (input) for mailman id 381600;
 Fri, 05 Aug 2022 22:28:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK5ng-00019A-KT; Fri, 05 Aug 2022 22:28:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK5ng-0003kd-G4; Fri, 05 Aug 2022 22:28:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK5ng-0008AV-5k; Fri, 05 Aug 2022 22:28:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oK5ng-0004Mz-5K; Fri, 05 Aug 2022 22:28:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nT7ZRlSYzSPMeJk7C5uQQlnawEq1pCi5NIecXeaiRf4=; b=fuP1o8KJvsQrwqpYxIKu5rAke6
	9p+53qZPNJL/yFyZ9jyjt42ae3cnbJ5FBpoXy8wlceEzasNp1I+IlckqNXbQEWmlRbbGkjadvPGMv
	rD9I5Qll47gHAuO3Gf95u3ne/P1Z8yt0Aq44IZ4AfmQxtT2FEJSTkOPbSlLURCPHCY4o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172199-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172199: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
X-Osstest-Versions-That:
    xen=da74c951e4e58080583daaad373b0d38a3f8bc83
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 22:28:12 +0000

flight 172199 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172199/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172174
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc
baseline version:
 xen                  da74c951e4e58080583daaad373b0d38a3f8bc83

Last test of basis   172174  2022-08-05 12:05:02 Z    0 days
Testing same since   172199  2022-08-05 18:03:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayankuma@amd.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   da74c951e4..6d6aee437e  6d6aee437e37fced0c49be97e08c30da873690fc -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 23:07:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 23:07:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381613.616338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK6Pu-0005QV-0G; Fri, 05 Aug 2022 23:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381613.616338; Fri, 05 Aug 2022 23:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK6Pt-0005QO-S0; Fri, 05 Aug 2022 23:07:41 +0000
Received: by outflank-mailman (input) for mailman id 381613;
 Fri, 05 Aug 2022 23:07:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK6Pt-0005QE-4M; Fri, 05 Aug 2022 23:07:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK6Pt-0004Ww-03; Fri, 05 Aug 2022 23:07:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK6Ps-0001hT-Ny; Fri, 05 Aug 2022 23:07:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oK6Ps-000673-NU; Fri, 05 Aug 2022 23:07:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CCaQhHfHZEb3oi7ixY9tsBGJgt8ss6hVCe2AXVQhK2g=; b=XVN3k9ALQUzbl1fAPNTT31bbCY
	vcwf3+jWdV33En19yUPiy0dJbthjFPoo7hd4q3g+A0gw5x9afbGcNqcFiQn8jKNmSLGdnnAr5lFar
	bbs2I9p+oLPtt0P52JFfa5vvC6uBPDfNCoz3r+W5cB9YMPKRnJaTd1PXQ59CwtKYloSU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172184-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172184: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cc7410683db0a98758d03401b628ba8652c20c18
X-Osstest-Versions-That:
    xen=1f7543c039f6b9eb182f0395965b9d414ac774c4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 23:07:40 +0000

flight 172184 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172184/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-i386-libvirt            6 libvirt-build                fail  like 172157
 build-amd64-libvirt           6 libvirt-build                fail  like 172157
 build-arm64-libvirt           6 libvirt-build                fail  like 172157
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172157
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172157
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172157
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172157
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172157
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172157
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172157
 build-armhf-libvirt           6 libvirt-build                fail  like 172157
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172157
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172157
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cc7410683db0a98758d03401b628ba8652c20c18
baseline version:
 xen                  1f7543c039f6b9eb182f0395965b9d414ac774c4

Last test of basis   172157  2022-08-05 05:40:39 Z    0 days
Testing same since   172184  2022-08-05 13:45:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1f7543c039..cc7410683d  cc7410683db0a98758d03401b628ba8652c20c18 -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 05 23:41:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Aug 2022 23:41:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381637.616373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK6wR-0001QD-V2; Fri, 05 Aug 2022 23:41:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381637.616373; Fri, 05 Aug 2022 23:41:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK6wR-0001Q6-SF; Fri, 05 Aug 2022 23:41:19 +0000
Received: by outflank-mailman (input) for mailman id 381637;
 Fri, 05 Aug 2022 23:41:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK6wQ-0001Pw-6g; Fri, 05 Aug 2022 23:41:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK6wQ-0005I5-5o; Fri, 05 Aug 2022 23:41:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK6wP-00031B-Po; Fri, 05 Aug 2022 23:41:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oK6wP-0004OB-PL; Fri, 05 Aug 2022 23:41:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1ETLgZ9OM9rEzPhgh65a7CxCo1OBJOzB+SnchSOPD2s=; b=Y2giLE6ykdc4q+mTJUx1SQ9wAX
	YZuE7SWwk7eUG6pn3yuhH7vnE2h+hHbtBGe4S7clLwU55IbpU70Jjr2XBRE97K7Yv9lbTr/oENjbw
	gKylmfH08Hz/Kuqar6ZdBWPe3Bj7U1qTVtpbBzIRKk7I/MB5tEMvBmGlgu3PFSQIJkjg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172205-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172205: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Aug 2022 23:41:17 +0000

flight 172205 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172205/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    0 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 01:19:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 01:19:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381653.616406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK8Sh-0000kc-1j; Sat, 06 Aug 2022 01:18:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381653.616406; Sat, 06 Aug 2022 01:18:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK8Sg-0000kV-V2; Sat, 06 Aug 2022 01:18:42 +0000
Received: by outflank-mailman (input) for mailman id 381653;
 Sat, 06 Aug 2022 01:18:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RBGG=YK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oK8Sf-0000kP-VJ
 for xen-devel@lists.xenproject.org; Sat, 06 Aug 2022 01:18:42 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b430fa96-1525-11ed-924f-1f966e50362f;
 Sat, 06 Aug 2022 03:18:40 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 7848DB82A2A;
 Sat,  6 Aug 2022 01:18:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 124F5C433D6;
 Sat,  6 Aug 2022 01:18:37 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b430fa96-1525-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659748718;
	bh=tOPc8jqwQzeGntxejPsnkylEqSahnrjGmg1D5U59qWo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PZAYivHP8DFbj3Q3TAxRRsGwcfLcZF5O5g4RaaGTCs5Jyd2WRdTH/GVNygvfs7y/g
	 YkZWveqWW+pQ5rCDYFtVDOhQOBlHftFPNdwVk82P503c4low1fZZ/FuV8m8HzDEI91
	 qAhSksgXDUbDJWlOBj/9/pdLapMhBzHD+wE75fcjc13WKDpISHtKNeaHHMtpzf64tw
	 K/LkijI/DqBf5dO6o6wbOE2sSiMzPoIr1zDQ1exueK09aHfaGJX/1xdX4cvCZxR1Q2
	 CvvQAA7ZttrjLDazHEMtcUx4NtejRFGNwh0EkAsY/FYfNjCGnqG3YE8H5XiERjgKyx
	 U7BX+jLLNAnkA==
Date: Fri, 5 Aug 2022 18:18:36 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: qemu-smoke-arm64: Run ping test over a
 pv network interface
In-Reply-To: <alpine.DEB.2.22.394.2208051453020.3147284@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2208051501510.3147284@ubuntu-linux-20-04-desktop>
References: <20220805211741.1869068-1-burzalodowa@gmail.com> <20220805211741.1869068-3-burzalodowa@gmail.com> <alpine.DEB.2.22.394.2208051453020.3147284@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 5 Aug 2022, Stefano Stabellini wrote:
> On Sat, 6 Aug 2022, Xenia Ragiadakou wrote:
> > This patch modified the test in the following way
> > - Dom0 is booted with an alpine linux rootfs with the xen tools.
> > - Once Dom0 is booted, it starts xenstored, calls init-dom0less to setup
> > the xenstore interface for the dom0less Dom1, setups the bridged network
> > and attaches a pv network interface to Dom1.
> > - In the meantime, Dom1 in its init script tries to assign an ip to eth0
> > and ping Dom0,
> > - If Dom1 manages to ping Dom0, it prints 'passed'.
> > 
> > Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

[...]

> > @@ -113,5 +148,5 @@ timeout -k 1 240 \
> >      -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
> >  
> >  set -e
> > -(grep -q "^BusyBox" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
> > +(grep -q "^Welcome to Alpine Linux 3.12" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
> >  exit 0
> 
> This patch looks great! One minor comment: Should we great only for
> "^Welcome to Alpine Linux" without the version (3.12) to make it easier
> to upgrade in the future?
> 
> If you are OK with it, I can remove "3.12" on commit.

We also need to remove DOMU_ENHANCED[0] from the ImageBuilder config
otherwise this is not going to work.

diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh
index a79401fd81..0d19ad52cc 100755
--- a/automation/scripts/qemu-smoke-arm64.sh
+++ b/automation/scripts/qemu-smoke-arm64.sh
@@ -118,7 +118,6 @@ NUM_DOMUS=1
 DOMU_KERNEL[0]="Image"
 DOMU_RAMDISK[0]="initrd"
 DOMU_MEM[0]="256"
-DOMU_ENHANCED[0]=0
 
 LOAD_CMD="tftpb"
 UBOOT_SOURCE="boot.source"


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 02:34:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 02:34:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381662.616423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK9di-0000R0-Ke; Sat, 06 Aug 2022 02:34:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381662.616423; Sat, 06 Aug 2022 02:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oK9di-0000Qt-HM; Sat, 06 Aug 2022 02:34:10 +0000
Received: by outflank-mailman (input) for mailman id 381662;
 Sat, 06 Aug 2022 02:34:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK9dh-0000Qj-5H; Sat, 06 Aug 2022 02:34:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK9dh-0007w8-11; Sat, 06 Aug 2022 02:34:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oK9dg-0002Ro-M4; Sat, 06 Aug 2022 02:34:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oK9dg-0003fI-LW; Sat, 06 Aug 2022 02:34:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t/W+9gI0Y4Qg+oi9sqhmY5hpVlpxxjJdcAnjJLkoRJI=; b=rpHErAZ5oUpE8Jb+opIdpiJbcy
	xhBdeBf8NT2fgCSlQY+RDXGt88EwHjIY3Dv9nWPRyCpIXo6huZDifejQyvmCgyQToCLd3KPZqBGbF
	bcR6ov46f8RDJIM4baX57lSH3xDzwNYf6NBLsEZYyz9qHbp4lIbr00D4jBOqjbeMKjzE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172197-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172197: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=09ed077d7fae5f825e18ff9a2004dcdd1b165edb
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 02:34:08 +0000

flight 172197 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172197/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                09ed077d7fae5f825e18ff9a2004dcdd1b165edb
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    2 days
Failing since        172148  2022-08-04 21:39:38 Z    1 days    3 attempts
Testing same since   172164  2022-08-05 08:54:17 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  BALATON Zoltan <balaton@eik.bme.hu>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 09ed077d7fae5f825e18ff9a2004dcdd1b165edb
Merge: 846dcf0ba4 21d4e557e2
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Thu Aug 4 17:21:13 2022 -0700

    Merge tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu into staging
    
    Pull request trivial branch 20220804
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmLsHD8SHGxhdXJlbnRA
    # dml2aWVyLmV1AAoJEPMMOL0/L748y7AP/iXRxiqvnb478I+OuOPRu37PaBEfU3n4
    # Ry4xr1VT+9GV3MKBK1icA065+tTmW4s1ANJBihhGgn0S1oMiSJQk6esAKtjGsdt0
    # OdWPPxVHN2XMs0UgwnONjzgSCbS5boLPK6wk+jMoyb3Vry+moa7JIbRr1ynlWOdN
    # 3S3rDTsyOX0gvuNOjht56g5aGRnnPqU3qIU6AdIOxpZxpb4dHi3g+UDAB5APCZss
    # oUZonuBeiSA+1T2XJc9opNdA56s8ObO41TJ1vMqt4TboYWUo+VXZf5Y21wE85Cx/
    # qUtNiY7rCfBA8EdjmvkunmV0jIc9TghWCBTh3JMWp756dvwIpwl4eWnODFUwyhZs
    # S4EAlPgHEjzqi6dbuKb+MNDkQKjUjP8gDn8ZVPQT+QLl0yjY9sOasKqkI0xnZDfI
    # NVVIhUjpwWfC9jJL7M+ML6+Tg16UpH4vOq9nySZ3G/z61P1+uXnI/M2Fx5LxoELQ
    # Z9eHzphbXgyGialt+Yin0A07rOYG9oRgAKGc2e0RgEPFSO8c6kcy+DdoVgz87xCC
    # PwrfNs/s6vzH11a3MPkYhTadVvaDIXbPgkRdUNKPyaGLvSjkrQ7aMCCGT0dCfDAq
    # 00SAq+KMaSdL9VDgtipGcDOGwbLpI9ixNXvMPNrfVu+Qa6VcZO6synwWaeTMnxzf
    # tx4tSb/W4nB3
    # =y8/X
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 04 Aug 2022 12:21:35 PM PDT
    # gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
    # gpg:                issuer "laurent@vivier.eu"
    # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [undefined]
    # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [undefined]
    # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [undefined]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
    
    * tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu:
      include/qemu/host-utils.h: Simplify the compiler check in mulu128()
      ppc: Remove redundant macro MSR_BOOK3S_MASK.
      docs/about/removed-features: Move the -soundhw into the right section
      vdpa: Fix file descriptor leak on get features error
      README.rst: fix link formatting
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit 846dcf0ba4eff824c295f06550b8673ff3f31314
Merge: 0ee33dd0ce 7b0ca31364
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Thu Aug 4 14:06:17 2022 -0700

    Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging
    
    Pull request
    
    - Format string portability fix in virtiofsd
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmLsF9sACgkQnKSrs4Gr
    # c8hAgwf/QPdBt6F1kBZTlSSt2nV2VAlX9HxsWAE5tSbtUTNS9Xr+avX6MHljAU20
    # WN+zZ+4cUHjIqtt6NueqkTczV5PqccvB6H9Cs0FdkKH8unyMSHvSRNuRlAG+LgMF
    # YQdHGGc9tvcIACz4GwWfzXJ/FsaoFHw7qTX3AUxe9nmlZnbB7cdl4Z7v6CQZ6kFL
    # bfXCd2bXcw2XosykGijsiiJ5IV+nshchaVA01DbO+w/KeLaGJgUbiEB6unMGUIBL
    # IMxy9VaP2AS44cGqNkFfWIm2tCfE0uT2qhca4BMk0kXQlwoBAuFGHuGHhbH0dU+w
    # fFN+lSaLs0oBGo1G0Mw+ImLF9XymAw==
    # =k1jb
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 04 Aug 2022 12:02:51 PM PDT
    # gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
    # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
    # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
    
    * tag 'block-pull-request' of https://gitlab.com/stefanha/qemu:
      virtiofsd: Fix format strings
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit 0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9
Merge: 2480f3bbd0 ed021daf2d
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Thu Aug 4 11:47:58 2022 -0700

    Merge tag 'pull-ppc-20220804' of https://gitlab.com/danielhb/qemu into staging
    
    ppc patch queue for 2022-08-04:
    
    In this short queue we have a fix in the sam460ex machine where we're
    not storing all GPIO lines in sam460ex_init().
    
    This is not causing problems (as far as we're aware of) at this moment,
    but this is getting in the way of a ppc405 rework we want to do for 7.2,
    so let's fix it now.
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iHUEABYKAB0WIQQX6/+ZI9AYAK8oOBk82cqW3gMxZAUCYuwOIQAKCRA82cqW3gMx
    # ZN+NAQDDOk4b79khltmrslo4Sa16nu/ARgqMGOsyy0Y5Whs9MgEAyiAVhpQ6C7Ok
    # W2sHeUkv/ZvzWvE7LWXMPZehBgU9DgM=
    # =QrsF
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 04 Aug 2022 11:21:21 AM PDT
    # gpg:                using EDDSA key 17EBFF9923D01800AF2838193CD9CA96DE033164
    # gpg: Good signature from "Daniel Henrique Barboza <danielhb413@gmail.com>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 17EB FF99 23D0 1800 AF28  3819 3CD9 CA96 DE03 3164
    
    * tag 'pull-ppc-20220804' of https://gitlab.com/danielhb/qemu:
      hw/ppc: sam460ex.c: store all GPIO lines in mal_irqs[]
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit 7b0ca313647532a2c7007379ff800c9a2415c95d
Author: Stefan Weil <sw@weilnetz.de>
Date:   Thu Aug 4 09:48:33 2022 +0200

    virtiofsd: Fix format strings
    
    Signed-off-by: Stefan Weil <sw@weilnetz.de>
    Message-Id: <20220804074833.892604-1-sw@weilnetz.de>
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

commit ed021daf2d6c19499ae406055156dc19c073228f
Author: Daniel Henrique Barboza <danielhb413@gmail.com>
Date:   Wed Aug 3 20:32:04 2022 -0300

    hw/ppc: sam460ex.c: store all GPIO lines in mal_irqs[]
    
    We're not storing all GPIO lines we're retrieving with
    qdev_get_gpio_in() in mal_irqs[]. We're storing just the last one in the
    first index:
    
        for (i = 0; i < ARRAY_SIZE(mal_irqs); i++) {
            mal_irqs[0] = qdev_get_gpio_in(uic[2], 3 + i);
        }
        ppc4xx_mal_init(env, 4, 16, mal_irqs);
    
    mal_irqs is used in ppc4xx_mal_init() to assign the IRQs to MAL:
    
        for (i = 0; i < 4; i++) {
            mal->irqs[i] = irqs[i];
        }
    
    Since only irqs[0] has been initialized, mal->irqs[1,2,3] are being
    zeroed.
    
    This doesnÂ´t seem to trigger any apparent issues at this moment, but
    Cedric's QOMification of the MAL device [1] is executing a
    sysbus_connect_irq() that will fail if we do not store all GPIO lines
    properly.
    
    [1] https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg00497.html
    
    Cc: Peter Maydell <peter.maydell@linaro.org>
    Cc: BALATON Zoltan <balaton@eik.bme.hu>
    Fixes: 706e944206d7 ("hw/ppc/sam460ex: Drop use of ppcuic_init()")
    Acked-by: BALATON Zoltan <balaton@eik.bme.hu>
    Reviewed-by: CÃ©dric Le Goater <clg@kaod.org>
    Message-Id: <20220803233204.2724202-1-danielhb413@gmail.com>
    Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>

commit 21d4e557e2fd0cb7f10b632b35f51146a1b6d892
Author: Thomas Huth <thuth@redhat.com>
Date:   Thu Jul 21 09:48:09 2022 +0200

    include/qemu/host-utils.h: Simplify the compiler check in mulu128()
    
    We currently require at least GCC 7.4 or Clang 6.0 for compiling QEMU.
    GCC has __builtin_mul_overflow since version 5 already, and Clang 6.0
    also provides this built-in function (see its documentation on this page:
    https://releases.llvm.org/6.0.0/tools/clang/docs/LanguageExtensions.html ).
    So we can simplify the #if statement here.
    
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Message-Id: <20220721074809.1513357-1-thuth@redhat.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>

commit 1e2dd311491565a58b30f29e71c6e429fc8e7e84
Author: Yonggang Luo <luoyonggang@gmail.com>
Date:   Fri Jul 29 04:11:35 2022 +0800

    ppc: Remove redundant macro MSR_BOOK3S_MASK.
    
    Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
    Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
    Message-Id: <20220728201135.223-1-luoyonggang@gmail.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>

commit 9878fbf3424015da93e0a8e8cec40a2d45323fad
Author: Thomas Huth <thuth@redhat.com>
Date:   Tue Aug 2 09:56:11 2022 +0200

    docs/about/removed-features: Move the -soundhw into the right section
    
    The note about the removal of '-soundhw' has been accidentally added
    to the section of removed "linux-user mode CPUs" ... it should reside
    in the section about removed "System emulator command line arguments"
    instead.
    
    Fixes: 039a68373c ("introduce -audio as a replacement for -soundhw")
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Daniel P. BerrangÃ© <berrange@redhat.com>
    Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
    Message-Id: <20220802075611.346835-1-thuth@redhat.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>

commit aed5da45daf734ddc543c0791e877dac75e16f61
Author: Eugenio PÃ©rez <eperezma@redhat.com>
Date:   Tue Aug 2 13:24:46 2022 +0200

    vdpa: Fix file descriptor leak on get features error
    
    File descriptor vdpa_device_fd is not free in the case of returning
    error from vhost_vdpa_get_features. Fixing it by making all errors go to
    the same error path.
    
    Resolves: Coverity CID 1490785
    Fixes: 8170ab3f43 ("vdpa: Extract get features part from vhost_vdpa_get_max_queue_pairs")
    
    Signed-off-by: Eugenio PÃ©rez <eperezma@redhat.com>
    Reviewed-by: Laurent Vivier <lvivier@redhat.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Message-Id: <20220802112447.249436-2-eperezma@redhat.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>

commit 9567fc1665b6649d2aff0184f68377a9e7c30dd9
Author: Cornelia Huck <cohuck@redhat.com>
Date:   Wed Aug 3 11:02:50 2022 +0200

    README.rst: fix link formatting
    
    Make the links render correctly.
    
    Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    Reviewed-by: Daniel P. BerrangÃ© <berrange@redhat.com>
    Message-Id: <20220803090250.136556-1-cohuck@redhat.com>
    Signed-off-by: Laurent Vivier <laurent@vivier.eu>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 03:16:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 03:16:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381672.616434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKAIM-0004l4-S6; Sat, 06 Aug 2022 03:16:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381672.616434; Sat, 06 Aug 2022 03:16:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKAIM-0004kx-PM; Sat, 06 Aug 2022 03:16:10 +0000
Received: by outflank-mailman (input) for mailman id 381672;
 Sat, 06 Aug 2022 03:16:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKAIL-0004kn-07; Sat, 06 Aug 2022 03:16:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKAIK-0000OR-SN; Sat, 06 Aug 2022 03:16:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKAIK-00053b-LS; Sat, 06 Aug 2022 03:16:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKAIK-0006r2-L2; Sat, 06 Aug 2022 03:16:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=T4QeQ9v+L713SQdcLPtFjUh0h+n8nm35aTg7cICuCVs=; b=VR2xf2DTUuj/wj/HI6reQNq+zD
	RX9nFOHtUschvUl5abyqIL7MVtVslAogXZBYQKrSji1rAZOv6J85embyY8cfFpUT5vk6Sh15Ys7aJ
	undfJ07mi+MNjET54PkoWl8e+EIHRPo7gqJwolQ6LVi2UttZGlS/TuK9lppRs3oealTQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172213-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172213: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 03:16:08 +0000

flight 172213 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172213/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    1 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 04:10:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 04:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381684.616451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKB8S-0001j3-Uw; Sat, 06 Aug 2022 04:10:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381684.616451; Sat, 06 Aug 2022 04:10:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKB8S-0001iw-Rq; Sat, 06 Aug 2022 04:10:00 +0000
Received: by outflank-mailman (input) for mailman id 381684;
 Sat, 06 Aug 2022 04:10:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKB8S-0001im-FC; Sat, 06 Aug 2022 04:10:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKB8S-0001OX-CZ; Sat, 06 Aug 2022 04:10:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKB8R-0007rv-SZ; Sat, 06 Aug 2022 04:10:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKB8R-0002Hx-Re; Sat, 06 Aug 2022 04:09:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pL7aUWfboY59XIdieUbg3yOpz8D5ZdF6cw8M8mXx75s=; b=6oS1u6PO4ak23/ypLITgrGMUe5
	V8wJml+b4QIAVjXkIrt5ZrpM38XJAARgVfpaFh9jfgV4LBjZkbL2RfehXhSP6q8Rrduu091DBIZzU
	aPBoUEzYyVzKCm2n9cvslPppnQDlj75qTDpFO/vv2jWeaRo76038yPYOXG+Wy+4hFO+4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172202-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172202: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9e2f40233670c70c25e0681cb66d50d1e2742829
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 04:09:59 +0000

flight 172202 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172202/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                9e2f40233670c70c25e0681cb66d50d1e2742829
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    1 days
Failing since        172152  2022-08-05 04:01:26 Z    1 days    3 attempts
Testing same since   172202  2022-08-05 19:41:40 Z    0 days    1 attempts

------------------------------------------------------------
718 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 63321 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 05:02:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 05:02:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381695.616468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKBxJ-0007xv-PR; Sat, 06 Aug 2022 05:02:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381695.616468; Sat, 06 Aug 2022 05:02:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKBxJ-0007xo-MU; Sat, 06 Aug 2022 05:02:33 +0000
Received: by outflank-mailman (input) for mailman id 381695;
 Sat, 06 Aug 2022 05:02:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKBxI-0007xd-MM; Sat, 06 Aug 2022 05:02:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKBxI-0002rp-Jo; Sat, 06 Aug 2022 05:02:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKBxI-0002kU-CR; Sat, 06 Aug 2022 05:02:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKBxI-0006vw-By; Sat, 06 Aug 2022 05:02:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fjINwfsd741FXftrdLwyTez0uWW1kvERBegrH/TF6l8=; b=Ey4PL2npA/YrkCK5xShfXBDgr6
	WZcb3zDMRZnO30SXDMAoVwCxnLFzusBK1boW3bbyv6fiakQtCVfKF/o1QMNanrIkVQDESh+UAAYSa
	J2JftQ6DRgVq+pJ8XuK3nwlYIVEgUv9K+f5bBJpGDECKtjOHpBuQBjlqneGTinmQM0b4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172218-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172218: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 05:02:32 +0000

flight 172218 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172218/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    1 days
Testing same since   172151  2022-08-05 02:40:28 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 07:49:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 07:49:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381758.616527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKEYL-0007b8-4X; Sat, 06 Aug 2022 07:48:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381758.616527; Sat, 06 Aug 2022 07:48:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKEYL-0007b1-02; Sat, 06 Aug 2022 07:48:57 +0000
Received: by outflank-mailman (input) for mailman id 381758;
 Sat, 06 Aug 2022 07:48:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vGaZ=YK=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oKEYJ-0007av-88
 for xen-devel@lists.xenproject.org; Sat, 06 Aug 2022 07:48:55 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3789a115-155c-11ed-924f-1f966e50362f;
 Sat, 06 Aug 2022 09:48:53 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 p8-20020a05600c05c800b003a50311d75cso4431285wmd.4
 for <xen-devel@lists.xenproject.org>; Sat, 06 Aug 2022 00:48:53 -0700 (PDT)
Received: from ?IPV6:2a02:587:ac1d:6c00:8f6:5cd3:d95f:677c?
 ([2a02:587:ac1d:6c00:8f6:5cd3:d95f:677c])
 by smtp.gmail.com with ESMTPSA id
 n23-20020a1c7217000000b003a0323463absm6768490wmc.45.2022.08.06.00.48.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 06 Aug 2022 00:48:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3789a115-155c-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=kQUJyvpMJ2j1Cr1OlnG75QcsN292tBPizCATbRqCnOI=;
        b=HQOTl7PsOkluQ1AHCD5PTT9sDYTAiFA21JUu3pRdO8kJRkiETMF3BPVNHsArReJDyK
         X8najzN5MRXImXUUg8M9lOTS6sQ75ICP/7COqTf41KxnVOHgJ8s3A7VJsDq56U28w1zq
         Mtu8ZjpUoEjFuj1dBy3/liA1ZkWNnxz15GINR9YIZ7z6gYTTkUqxydwFUulj1iHzHR62
         iOQlp6NByq/+0/BsLhMtJMotnjuhzEb26do+Ew3MWMYtx6RYTuRA/IrtEMEP46NBsiZ6
         mwycMihcWNSgti8ntHf0HmWkIeQ5w4x1av17F+b/8LlttiX3OtO3Ya61bQtbVzpwVFUM
         4LIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=kQUJyvpMJ2j1Cr1OlnG75QcsN292tBPizCATbRqCnOI=;
        b=IQK/JASIlJcw/SnmNMbdkKdiE1rrJrBt/CQYBKI51xup+2StxRFUrUzpBVV0tO1CsW
         lzDqBPITmkS9YCb8uxHWSODoTfOfBwtfIITXBsi+bCufSl9V0uWciDkD0WJQaTfrJikO
         ISIlaAgXo0yyPm+B4f4+oCxZg0CaUbH4GYF9924s/HLoW4tV4RPGUM84b+mSb3xBtjDz
         D+r53mUtasBxlp+P1IKYjEq7xjxMn6fhilmjpHUKyq2/YBzofG4wUA8FAw7SpqPJJZWL
         LuWd63HwASQxWq7Bgcyi0HOxuHJysqXccc22IuHIr6bO7eD+wgefsuZDMnPfQodW5z+r
         TJWw==
X-Gm-Message-State: ACgBeo0IguuKXXCf4i9yQbxnVQlK4m52dJz04g296t4us9vbgEJuUKNM
	ojrcIN7VGFV5HSVpFh65YVg=
X-Google-Smtp-Source: AA6agR6MHuLOi/q+w+zs4ekeMKSAFT9dRzepKUhOmJyXLc51zczzTPJgXVW+xAIXkn6075WMQMb/zA==
X-Received: by 2002:a05:600c:a03:b0:39e:4f0c:938c with SMTP id z3-20020a05600c0a0300b0039e4f0c938cmr6804125wmp.145.1659772132669;
        Sat, 06 Aug 2022 00:48:52 -0700 (PDT)
Message-ID: <c9802c8f-b8e7-09c9-45ab-02ea23e5592e@gmail.com>
Date: Sat, 6 Aug 2022 10:48:50 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 2/2] automation: qemu-smoke-arm64: Run ping test over a pv
 network interface
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
References: <20220805211741.1869068-1-burzalodowa@gmail.com>
 <20220805211741.1869068-3-burzalodowa@gmail.com>
 <alpine.DEB.2.22.394.2208051453020.3147284@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2208051501510.3147284@ubuntu-linux-20-04-desktop>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <alpine.DEB.2.22.394.2208051501510.3147284@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 8/6/22 04:18, Stefano Stabellini wrote:
> On Fri, 5 Aug 2022, Stefano Stabellini wrote:
>> On Sat, 6 Aug 2022, Xenia Ragiadakou wrote:
>>> This patch modified the test in the following way
>>> - Dom0 is booted with an alpine linux rootfs with the xen tools.
>>> - Once Dom0 is booted, it starts xenstored, calls init-dom0less to setup
>>> the xenstore interface for the dom0less Dom1, setups the bridged network
>>> and attaches a pv network interface to Dom1.
>>> - In the meantime, Dom1 in its init script tries to assign an ip to eth0
>>> and ping Dom0,
>>> - If Dom1 manages to ping Dom0, it prints 'passed'.
>>>
>>> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
> 
> [...]
> 
>>> @@ -113,5 +148,5 @@ timeout -k 1 240 \
>>>       -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
>>>   
>>>   set -e
>>> -(grep -q "^BusyBox" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
>>> +(grep -q "^Welcome to Alpine Linux 3.12" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
>>>   exit 0
>>
>> This patch looks great! One minor comment: Should we great only for
>> "^Welcome to Alpine Linux" without the version (3.12) to make it easier
>> to upgrade in the future?
>>
>> If you are OK with it, I can remove "3.12" on commit.
> 
> We also need to remove DOMU_ENHANCED[0] from the ImageBuilder config
> otherwise this is not going to work.
> 
> diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh
> index a79401fd81..0d19ad52cc 100755
> --- a/automation/scripts/qemu-smoke-arm64.sh
> +++ b/automation/scripts/qemu-smoke-arm64.sh
> @@ -118,7 +118,6 @@ NUM_DOMUS=1
>   DOMU_KERNEL[0]="Image"
>   DOMU_RAMDISK[0]="initrd"
>   DOMU_MEM[0]="256"
> -DOMU_ENHANCED[0]=0
>   
>   LOAD_CMD="tftpb"
>   UBOOT_SOURCE="boot.source"

This change was not there when I was testing, that's why.
I will wait a bit in case there are more comments and I will send a v2 
with this fixed and 3.12 removed.

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 07:52:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 07:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381766.616537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKEbI-0000b9-Lg; Sat, 06 Aug 2022 07:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381766.616537; Sat, 06 Aug 2022 07:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKEbI-0000b2-Ix; Sat, 06 Aug 2022 07:52:00 +0000
Received: by outflank-mailman (input) for mailman id 381766;
 Sat, 06 Aug 2022 07:51:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKEbH-0000as-QD; Sat, 06 Aug 2022 07:51:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKEbH-0006D7-Nm; Sat, 06 Aug 2022 07:51:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKEbH-000474-Ad; Sat, 06 Aug 2022 07:51:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKEbH-000453-AF; Sat, 06 Aug 2022 07:51:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qYlJ6JmI7lJqd8gd8dgTdpOaFCBndIb3TXMTCGJh/no=; b=L1WBOP3YItqXi+2d7Gw0bSbqmf
	BE2Be/C5mIXWlBl8BYWf0eLZ8fOWTo6spKztXeYgLuocBXeCbgDqkEcYyP6XPmxkQ/LDsypcMPQdG
	3CW57GzMqCJgnMOE2oJ2FUKgvHUSRygy8nNyC6k+K5flc0BFGxrDzaKwBoWvFI/oYlK4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172223-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172223: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=a8f59e2eb44199040d2e1f747a6d950a25ed0984
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 07:51:59 +0000

flight 172223 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172223/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 a8f59e2eb44199040d2e1f747a6d950a25ed0984
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Testing same since   172151  2022-08-05 02:40:28 Z    1 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 09:00:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 09:00:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381787.616572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKFf9-0007qg-8H; Sat, 06 Aug 2022 09:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381787.616572; Sat, 06 Aug 2022 09:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKFf9-0007ps-4P; Sat, 06 Aug 2022 09:00:03 +0000
Received: by outflank-mailman (input) for mailman id 381787;
 Sat, 06 Aug 2022 09:00:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKFf7-0007TU-7X; Sat, 06 Aug 2022 09:00:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKFf7-0007xu-3w; Sat, 06 Aug 2022 09:00:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKFf6-0007ef-Lx; Sat, 06 Aug 2022 09:00:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKFf6-0004OT-LZ; Sat, 06 Aug 2022 09:00:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=+ha3DV06/I/zAht+9WNqd8ByiVsc2c8ePQ43Um+lCig=; b=tEjyaNEPYzn7eeoIrj5zXhRV+G
	qGH4KUko23hPBISfPFKskr28R7lw4ZmEgwwxu3HJWOu3MjwjTbZLj5fht57mfpvV0HyzmnVj3RIOy
	aM7DjgRdBnJtf8hVd7PJz4lnxd1ELuYbyorWkHb+Pq37sRj/cl6QpAicpvP08JHkiYfI=;
To: xen-devel@lists.xenproject.org
Subject: [qemu-mainline bisection] complete build-i386-libvirt
Message-Id: <E1oKFf6-0004OT-LZ@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 09:00:00 +0000

branch xen-unstable
xenbranch xen-unstable
job build-i386-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172234/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/build-i386-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-mainline/build-i386-libvirt.libvirt-build --summary-out=tmp/172234.bisection-summary --basis-template=172123 --blessings=real,real-bisect,real-retry qemu-mainline build-i386-libvirt libvirt-build
Searching for failure / basis pass:
 172197 fail [host=huxelrebe1] / 172123 ok.
Failure / basis pass flights: 172197 / 172123
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 09ed077d7fae5f825e18ff9a2004dcdd1b165edb 46de2eec93bffa0706e6229c0da2919763c8eb04 1f7543c039f6b9eb182f0395965b9d414ac774c4
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/osstest/ovmf.git#0dc9b78a46813d61533b2bb0f7ef897a06a273be-444260d45ec2a84e8f8c192b3539a3cd5591d009 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84\
 e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://git.qemu.org/qemu.git#2480f3bbd03814b0651a1f74959f5c6631ee5819-09ed077d7fae5f825e18ff9a2004dcdd1b165edb git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-1f7543c039f6b9eb182f0395965b9d414ac774c4
Loaded 64850 nodes in revision graph
Searching for test results:
 172123 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172148 fail irrelevant
 172164 [host=huxelrebe0]
 172196 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172200 [host=huxelrebe0]
 172201 [host=huxelrebe0]
 172203 [host=huxelrebe0]
 172204 [host=huxelrebe0]
 172206 [host=huxelrebe0]
 172207 [host=huxelrebe0]
 172208 [host=huxelrebe0]
 172209 [host=huxelrebe0]
 172211 [host=huxelrebe0]
 172212 [host=huxelrebe0]
 172214 [host=huxelrebe0]
 172215 [host=huxelrebe0]
 172197 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 09ed077d7fae5f825e18ff9a2004dcdd1b165edb 46de2eec93bffa0706e6229c0da2919763c8eb04 1f7543c039f6b9eb182f0395965b9d414ac774c4
 172216 [host=huxelrebe0]
 172219 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172222 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 09ed077d7fae5f825e18ff9a2004dcdd1b165edb 46de2eec93bffa0706e6229c0da2919763c8eb04 1f7543c039f6b9eb182f0395965b9d414ac774c4
 172224 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ed021daf2d6c19499ae406055156dc19c073228f 46de2eec93bffa0706e6229c0da2919763c8eb04 7c5b25c3038abc2dc8353f56ed67d2c4fcd43d79
 172225 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 68b01ef0b3c182d207bff01dd3e20d287668c855
 172226 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 8a3b89e4307da260675483bb86fc06cc62ed7c08
 172227 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 ca45d3cb4586372909f350e54482246f994e1bc7
 172228 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172229 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172231 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172232 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172234 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Searching for interesting versions
 Result found: flight 172123 (pass), for basis pass
 Result found: flight 172197 (fail), for basis failure
 Repro found: flight 172219 (pass), for basis pass
 Repro found: flight 172222 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172123 (pass), for last pass
 Result found: flight 172228 (fail), for first failure
 Repro found: flight 172229 (pass), for last pass
 Repro found: flight 172231 (fail), for first failure
 Repro found: flight 172232 (pass), for last pass
 Repro found: flight 172234 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172234/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/qemu-mainline/build-i386-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172234: tolerable ALL FAIL

flight 172234 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172234/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build           fail baseline untested


jobs:
 build-i386-libvirt                                           fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sat Aug 06 09:33:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 09:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381802.616587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKGBn-0003Au-Sz; Sat, 06 Aug 2022 09:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381802.616587; Sat, 06 Aug 2022 09:33:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKGBn-0003An-Pj; Sat, 06 Aug 2022 09:33:47 +0000
Received: by outflank-mailman (input) for mailman id 381802;
 Sat, 06 Aug 2022 09:33:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKGBm-0003Ad-Cj; Sat, 06 Aug 2022 09:33:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKGBm-0000A4-B1; Sat, 06 Aug 2022 09:33:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKGBm-0000sb-3f; Sat, 06 Aug 2022 09:33:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKGBm-00065y-3C; Sat, 06 Aug 2022 09:33:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=J9t7nweOOkU51uMMCJVCVobK++n5GRYAdj7R+a99jWw=; b=J3o7uMNw2uADzT05t4P7v5vZ1x
	oTOxABWfI6cy0BAzNmAoCKBgPZQKvBGEHq5wqC3SWSQLCSvsOU9xXCH8IMxBSm2VlgKgzg3YnhTH9
	VvzsUXT0i5pEaqZbDb38qshgmBHqDrH1dhfXn6HxB+BlAQrmd4le+BjK//rGMXEfIV1o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172230-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172230: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=3e599bbc105ff089b21b6024100d585a8c781328
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 09:33:46 +0000

flight 172230 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172230/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 3e599bbc105ff089b21b6024100d585a8c781328
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Failing since        172151  2022-08-05 02:40:28 Z    1 days   12 attempts
Testing same since   172230  2022-08-06 08:10:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 10:38:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 10:38:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381820.616628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKHBn-0001Fh-6W; Sat, 06 Aug 2022 10:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381820.616628; Sat, 06 Aug 2022 10:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKHBn-0001Fa-2y; Sat, 06 Aug 2022 10:37:51 +0000
Received: by outflank-mailman (input) for mailman id 381820;
 Sat, 06 Aug 2022 10:37:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHBl-0001FN-Bj; Sat, 06 Aug 2022 10:37:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHBl-0001Ql-9P; Sat, 06 Aug 2022 10:37:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHBl-0002fa-0s; Sat, 06 Aug 2022 10:37:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHBl-0002Ej-0O; Sat, 06 Aug 2022 10:37:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dau+KCcc1ApXaHl1kLbxv7CZFsoYPx3NqTKpfkieggI=; b=mzjOg3UovJJvLTjycEN6M2ZubB
	gup9grhi14qtXJeMJIDXnnCtKCkDiO0/jFcqfCh+w+L9N0IPuAf2ysONXvOXw9Za/Wqo3gWcvqrPj
	kW0SFZOgT1WdHEp/hRFkuBf5qLG+BOyp28FQpuyCumier3DqxxKqG99otAosgIozy68k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172210-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172210: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
X-Osstest-Versions-That:
    xen=cc7410683db0a98758d03401b628ba8652c20c18
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 10:37:49 +0000

flight 172210 xen-unstable real [real]
flight 172233 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172210/
http://logs.test-lab.xenproject.org/osstest/logs/172233/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 172233-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 172233 like 172184
 build-i386-libvirt            6 libvirt-build                fail  like 172184
 build-amd64-libvirt           6 libvirt-build                fail  like 172184
 build-arm64-libvirt           6 libvirt-build                fail  like 172184
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172184
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172184
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172184
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172184
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172184
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172184
 build-armhf-libvirt           6 libvirt-build                fail  like 172184
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172184
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172184
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc
baseline version:
 xen                  cc7410683db0a98758d03401b628ba8652c20c18

Last test of basis   172184  2022-08-05 13:45:18 Z    0 days
Testing same since   172210  2022-08-05 23:37:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Ayan Kumar Halder <ayankuma@amd.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   cc7410683d..6d6aee437e  6d6aee437e37fced0c49be97e08c30da873690fc -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 11:09:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 11:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381831.616645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKHga-0004bo-LY; Sat, 06 Aug 2022 11:09:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381831.616645; Sat, 06 Aug 2022 11:09:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKHga-0004bh-Hl; Sat, 06 Aug 2022 11:09:40 +0000
Received: by outflank-mailman (input) for mailman id 381831;
 Sat, 06 Aug 2022 11:09:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHga-0004bX-52; Sat, 06 Aug 2022 11:09:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHga-000250-2k; Sat, 06 Aug 2022 11:09:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHgZ-0003d6-LX; Sat, 06 Aug 2022 11:09:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHgZ-0000Br-L4; Sat, 06 Aug 2022 11:09:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+qRqzAlk2ZVayKg2KuMTGpT//rRhlA/5PxoVai2AJO4=; b=hQuTsaVkmy3YQRch5gXzQlkVei
	xBk04jJ/koVrVcsBk9mhEEePXncCgwK2SietpRTBbaxvaTmI74M01FFsXGAmQmnGV++uRieZee3XY
	xJul4miy20n6T5hfqheFAEIZ8tL48IGLC41ESsgzlmmCSIYu9CjIhQxJQOao2IUXlV9U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172217-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172217: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c669f22f1a47897e8d1d595d6b8a59a572f9158c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 11:09:39 +0000

flight 172217 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172217/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                c669f22f1a47897e8d1d595d6b8a59a572f9158c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    2 days
Failing since        172148  2022-08-04 21:39:38 Z    1 days    4 attempts
Testing same since   172217  2022-08-06 02:38:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 11:10:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 11:10:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381840.616656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKHhT-0005y1-5i; Sat, 06 Aug 2022 11:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381840.616656; Sat, 06 Aug 2022 11:10:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKHhT-0005xu-1t; Sat, 06 Aug 2022 11:10:35 +0000
Received: by outflank-mailman (input) for mailman id 381840;
 Sat, 06 Aug 2022 11:10:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHhR-0005xk-QS; Sat, 06 Aug 2022 11:10:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHhR-00028m-Pd; Sat, 06 Aug 2022 11:10:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHhR-0003em-Ag; Sat, 06 Aug 2022 11:10:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHhR-0001Kn-AD; Sat, 06 Aug 2022 11:10:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VPmeyvRNDIPjiNg9pWKifuGpZYIODSF8fBtqVvjUjJM=; b=5b6DH1JyXuANnNK6bEbPLVSUpq
	9XIdmTmQlTSmaCD67ozLkQsJ40RmSWrTwz52a1s1D/aROTwBAkwsoNHTW0jbWJKLBidW0i+oAd/wf
	6NC9y2fmlAheLFAC3yjKalZwh+hKheG2Vsa6M4VXOynZ02Vs7QcPHF1Vy8zcc32rQRUc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172236-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172236: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=3e599bbc105ff089b21b6024100d585a8c781328
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 11:10:33 +0000

flight 172236 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172236/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 3e599bbc105ff089b21b6024100d585a8c781328
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Failing since        172151  2022-08-05 02:40:28 Z    1 days   13 attempts
Testing same since   172230  2022-08-06 08:10:39 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 11:27:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 11:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381852.616673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKHy7-0007dE-KT; Sat, 06 Aug 2022 11:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381852.616673; Sat, 06 Aug 2022 11:27:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKHy7-0007d7-Hj; Sat, 06 Aug 2022 11:27:47 +0000
Received: by outflank-mailman (input) for mailman id 381852;
 Sat, 06 Aug 2022 11:27:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHy6-0007cx-FI; Sat, 06 Aug 2022 11:27:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHy6-0002PK-AV; Sat, 06 Aug 2022 11:27:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHy6-00048x-1Y; Sat, 06 Aug 2022 11:27:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKHy6-0003Er-17; Sat, 06 Aug 2022 11:27:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BfeGFdtzLNGC95zgu5OAfHM6CGUHv61PY3phJvgVNpY=; b=nebIQlU6UNcF2N4PRC7Pju8ZRy
	yDWZUVCD75GKKpKILq/lj1iBoF+up7ZWan/UOSGsVznpoRrLMHFUcWvo/5zmJUnyTjYYFhtXomvMl
	OS9PNPR3j9rxPL4PXkHDV+Z5+s3wCsvJdAEjxHYzkS+p+oydbgTmhe01I/fK8O/vQ1vE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172221-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172221: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=70768cda9740d1fbc4b95460247bc5384d7e31a1
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 11:27:46 +0000

flight 172221 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172221/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              70768cda9740d1fbc4b95460247bc5384d7e31a1
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  757 days
Failing since        151818  2020-07-11 04:18:52 Z  756 days  738 attempts
Testing same since   172221  2022-08-06 04:19:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118351 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 15:02:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 15:02:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381875.616696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKLJV-00036n-8S; Sat, 06 Aug 2022 15:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381875.616696; Sat, 06 Aug 2022 15:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKLJV-00036g-5a; Sat, 06 Aug 2022 15:02:05 +0000
Received: by outflank-mailman (input) for mailman id 381875;
 Sat, 06 Aug 2022 15:02:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKLJU-00036W-Ee; Sat, 06 Aug 2022 15:02:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKLJU-0006Ov-BM; Sat, 06 Aug 2022 15:02:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKLJT-0001FA-Uv; Sat, 06 Aug 2022 15:02:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKLJT-0005sL-UT; Sat, 06 Aug 2022 15:02:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PJyu3fyYuRfdM8tLfGIHwaFFYVZUGvIjOScWt4bdtL8=; b=iHnkORfuXzIuwEQeIFvelFj26y
	OF0BWaqfT4cGr1KHOKLe+SghR/HKZ3C4K9NAkNTUztzJ9f7eFv29a/SuoHRk4ZZQqQ2VtiHMbAyS9
	gEZrAq8/tU4/KtpeXhP+Sf7NzzibdRD0JeLSUj9rowjyg8UeCR/nV8jerZLZp56No89M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172220-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172220: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=6614a3c3164a5df2b54abb0b3559f51041cf705b
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 15:02:03 +0000

flight 172220 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172220/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                6614a3c3164a5df2b54abb0b3559f51041cf705b
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    2 days
Failing since        172152  2022-08-05 04:01:26 Z    1 days    4 attempts
Testing same since   172220  2022-08-06 04:13:22 Z    0 days    1 attempts

------------------------------------------------------------
824 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 72970 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 15:30:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 15:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381886.616713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKLkf-0006O3-KC; Sat, 06 Aug 2022 15:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381886.616713; Sat, 06 Aug 2022 15:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKLkf-0006Nw-GD; Sat, 06 Aug 2022 15:30:09 +0000
Received: by outflank-mailman (input) for mailman id 381886;
 Sat, 06 Aug 2022 15:30:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKLke-0006Nm-7O; Sat, 06 Aug 2022 15:30:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKLke-0006tM-2V; Sat, 06 Aug 2022 15:30:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKLkd-0003BJ-HC; Sat, 06 Aug 2022 15:30:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKLkd-0002LL-Gi; Sat, 06 Aug 2022 15:30:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KSJFa9odKQXQ4hU9yBgdqWUUYEGqMzF3BgkSl1q9SHY=; b=zoGBGNrSbnnS+6ZJSqukCEzwVH
	zxytcAj4trSDcvbZQwSo6TbCcMV9dzqc5+QKJEGKw9unalJhRHjYEuMWnwsP39N3puqC2tuYGa/s8
	TXOTOOVV2Jlog0qlzn156X+NoMRrYpHydFka6ZQ0kG51dZYbHuAGu0BGtIQ17DJe3l1A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172242-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172242: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=3e599bbc105ff089b21b6024100d585a8c781328
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 15:30:07 +0000

flight 172242 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172242/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 3e599bbc105ff089b21b6024100d585a8c781328
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Failing since        172151  2022-08-05 02:40:28 Z    1 days   14 attempts
Testing same since   172230  2022-08-06 08:10:39 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 16:03:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 16:03:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381896.616723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKMGj-0001pS-2k; Sat, 06 Aug 2022 16:03:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381896.616723; Sat, 06 Aug 2022 16:03:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKMGi-0001pL-WF; Sat, 06 Aug 2022 16:03:17 +0000
Received: by outflank-mailman (input) for mailman id 381896;
 Sat, 06 Aug 2022 16:03:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKMGh-0001os-Va; Sat, 06 Aug 2022 16:03:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKMGh-00081u-QI; Sat, 06 Aug 2022 16:03:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKMGh-0004Ke-92; Sat, 06 Aug 2022 16:03:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKMGh-0007Qf-8X; Sat, 06 Aug 2022 16:03:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Sa1ySRuvbSSDk1DMosj1UrlocEz4FCFaelyfmEpj3B0=; b=UejV19SJhTaYq60MUfg4dhQgUi
	NEudt7H0p14ez0HN0TIahYCfh/p/T/AAwLPbARDFfOo/zUUuMf34gYnscJ7c3GnXr9KT8oZMAGBqP
	m0grAfMpITdI8PfJtyNtCduONVNIfDzmFJYnwK1JxnEs7o1vHAEOCONu2h26C92JAvYA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172238-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172238: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
X-Osstest-Versions-That:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 16:03:15 +0000

flight 172238 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172238/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 172210
 build-i386-libvirt            6 libvirt-build                fail  like 172210
 build-amd64-libvirt           6 libvirt-build                fail  like 172210
 build-arm64-libvirt           6 libvirt-build                fail  like 172210
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172210
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172210
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172210
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172210
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172210
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172210
 build-armhf-libvirt           6 libvirt-build                fail  like 172210
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172210
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172210
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc
baseline version:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc

Last test of basis   172238  2022-08-06 10:40:26 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Aug 06 18:10:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 18:10:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381911.616747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKOFe-0005u3-6a; Sat, 06 Aug 2022 18:10:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381911.616747; Sat, 06 Aug 2022 18:10:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKOFe-0005tw-3p; Sat, 06 Aug 2022 18:10:18 +0000
Received: by outflank-mailman (input) for mailman id 381911;
 Sat, 06 Aug 2022 18:10:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKOFd-0005tm-81; Sat, 06 Aug 2022 18:10:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKOFd-00020a-5L; Sat, 06 Aug 2022 18:10:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKOFc-00039H-Qh; Sat, 06 Aug 2022 18:10:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKOFc-0003OW-QH; Sat, 06 Aug 2022 18:10:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iF4LWDKrOI/48+umXW+bfdE/oUMcNEKjRh8J2lTeWPs=; b=xAsKfozCSbe0Wy4lGlF1YIZ68l
	dIHJdoIimJd1CaJqYRf9HOXy6H3UB93LQbMEbg0m1KlQY0+auEJ6ls1bgGHZM66Q2UGORs8MxpZxN
	cvdptq6c82bdjGKL9gLW4ZjAl4YQBooxeMBRc9tC7pA68zvv5AnuHfTIIiQyK3+B/tjg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172247-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172247: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 18:10:16 +0000

flight 172247 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172247/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Failing since        172151  2022-08-05 02:40:28 Z    1 days   15 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 19:09:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 19:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381922.616764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKPAY-0002kD-HI; Sat, 06 Aug 2022 19:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381922.616764; Sat, 06 Aug 2022 19:09:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKPAY-0002k6-EF; Sat, 06 Aug 2022 19:09:06 +0000
Received: by outflank-mailman (input) for mailman id 381922;
 Sat, 06 Aug 2022 19:09:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKPAW-0002ju-Ns; Sat, 06 Aug 2022 19:09:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKPAW-00034M-JJ; Sat, 06 Aug 2022 19:09:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKPAW-0005Kz-8X; Sat, 06 Aug 2022 19:09:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKPAW-0006FX-82; Sat, 06 Aug 2022 19:09:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aNX05uGRTOUkg0kmbo0SH2lFdwt/6pvYXpqAAZTvZSk=; b=vKYgszgPBCjkfrgJVAamVhx0TD
	uIxPfdPohdf/ZtdriqtNlDiwVZBPEv1wZPQepx+0zv8ddXWPY6CKkm/B0gwyE/ft8AkOqu0yibjlU
	kPBrWvlaRRDOVtwcWPrcB7kCs+O10JXX1kT/RiMXf6Mf2fSr4FnjAlbnX6lTC6Ada8k8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172241-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172241: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c669f22f1a47897e8d1d595d6b8a59a572f9158c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 19:09:04 +0000

flight 172241 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172241/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                c669f22f1a47897e8d1d595d6b8a59a572f9158c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    3 days
Failing since        172148  2022-08-04 21:39:38 Z    1 days    5 attempts
Testing same since   172217  2022-08-06 02:38:18 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 20:51:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 20:51:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381936.616780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKQlj-0004qP-Uh; Sat, 06 Aug 2022 20:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381936.616780; Sat, 06 Aug 2022 20:51:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKQlj-0004qI-Rv; Sat, 06 Aug 2022 20:51:35 +0000
Received: by outflank-mailman (input) for mailman id 381936;
 Sat, 06 Aug 2022 20:51:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKQlh-0004q8-Vx; Sat, 06 Aug 2022 20:51:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKQlh-00050Q-SD; Sat, 06 Aug 2022 20:51:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKQlh-00015y-BR; Sat, 06 Aug 2022 20:51:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKQlh-0007ip-At; Sat, 06 Aug 2022 20:51:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=19+vLZFm0xbQ6mUR87gfs/qCYEwJvQVnUxzGz/AWCa0=; b=opu/DqcImmdprk1+Tbs7XfRjmX
	KOK+GV5R6ErF6y/EisioyETu8xWkoM49Pb0DO2rDBJmOYJdOaILdTLE4rSOtHxea8wtykldKlWii6
	J+xU1uDW6a+ZOwDbqu8qAKHRFcGy2fGK90aQyOSeR1IsMeKPrV1bU6yHJ38PrSqTFz7Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172246-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172246: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=6614a3c3164a5df2b54abb0b3559f51041cf705b
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 20:51:33 +0000

flight 172246 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172246/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                6614a3c3164a5df2b54abb0b3559f51041cf705b
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    2 days
Failing since        172152  2022-08-05 04:01:26 Z    1 days    5 attempts
Testing same since   172220  2022-08-06 04:13:22 Z    0 days    2 attempts

------------------------------------------------------------
824 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 72970 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 21:04:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 21:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381946.616791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKQyG-0006R5-7L; Sat, 06 Aug 2022 21:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381946.616791; Sat, 06 Aug 2022 21:04:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKQyG-0006Qy-4k; Sat, 06 Aug 2022 21:04:32 +0000
Received: by outflank-mailman (input) for mailman id 381946;
 Sat, 06 Aug 2022 21:04:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKQyE-0006Qo-9C; Sat, 06 Aug 2022 21:04:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKQyE-0005Dv-2V; Sat, 06 Aug 2022 21:04:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKQyD-0001dW-KX; Sat, 06 Aug 2022 21:04:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKQyD-0006y5-K6; Sat, 06 Aug 2022 21:04:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XhVHVmOBjvYfQN2TpgLoEuUJ2kS2ttg9iAIcK9t5TCw=; b=LPPG/ktaotNyw1UmgASElJRReE
	X4LV3WRtp/2uJV6pUR/u6WhBqm7t6NaGKRzGoFU5rBhLOvTW7tLYFr6dqBqZXAu0/MkKoDX5+kXcv
	A8yKfZA8n0S4d7U4furBroQArqlQTfVXXZVHwTojpLqMjliQ2yH/N0bGZgaO43Y/vJAM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172250-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172250: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 21:04:29 +0000

flight 172250 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172250/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Failing since        172151  2022-08-05 02:40:28 Z    1 days   16 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sat Aug 06 22:19:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 22:19:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381959.616815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKS8p-00053R-S4; Sat, 06 Aug 2022 22:19:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381959.616815; Sat, 06 Aug 2022 22:19:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKS8p-00053K-OR; Sat, 06 Aug 2022 22:19:31 +0000
Received: by outflank-mailman (input) for mailman id 381959;
 Sat, 06 Aug 2022 22:19:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKS8o-00053A-Ek; Sat, 06 Aug 2022 22:19:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKS8o-0006dI-4q; Sat, 06 Aug 2022 22:19:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKS8n-0004U4-Pm; Sat, 06 Aug 2022 22:19:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKS8n-00056g-PG; Sat, 06 Aug 2022 22:19:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=vHm8nc8GP0+aqRhRO2XF5lMXhzmUCzxWkb6dFZOG2YQ=; b=mZaJAMCM4njURj2q8dcigD+wTp
	3OhabqRjIRZuwSXecnBo0dXiBUfqaIctupNbEeqEq7Nm9jj3qlcLWv/Dtkij7XapLRRqDGONYZWPI
	aTEF/P9tz1Yy6HM3+1EWYsQTHfUgaKoMhpaQ7S2wLqJBmkDo6Z73EzbsTU56wA8tQU+E=;
To: xen-devel@lists.xenproject.org
Subject: [qemu-mainline bisection] complete build-arm64-libvirt
Message-Id: <E1oKS8n-00056g-PG@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Aug 2022 22:19:29 +0000

branch xen-unstable
xenbranch xen-unstable
job build-arm64-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172257/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/build-arm64-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-mainline/build-arm64-libvirt.libvirt-build --summary-out=tmp/172257.bisection-summary --basis-template=172123 --blessings=real,real-bisect,real-retry qemu-mainline build-arm64-libvirt libvirt-build
Searching for failure / basis pass:
 172241 fail [host=laxton1] / 172123 ok.
Failure / basis pass flights: 172241 / 172123
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 c669f22f1a47897e8d1d595d6b8a59a572f9158c 46de2eec93bffa0706e6229c0da2919763c8eb04 6d6aee437e37fced0c49be97e08c30da873690fc
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/osstest/ovmf.git#0dc9b78a46813d61533b2bb0f7ef897a06a273be-444260d45ec2a84e8f8c192b3539a3cd5591d009 git://git.qemu.org/qemu.git#2480f3bbd03814b0651a1f74959f5c6631ee5819-c669f22f1a4\
 7897e8d1d595d6b8a59a572f9158c git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-6d6aee437e37fced0c49be97e08c30da873690fc
Loaded 64808 nodes in revision graph
Searching for test results:
 172123 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172148 fail irrelevant
 172164 fail irrelevant
 172197 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 09ed077d7fae5f825e18ff9a2004dcdd1b165edb 46de2eec93bffa0706e6229c0da2919763c8eb04 1f7543c039f6b9eb182f0395965b9d414ac774c4
 172235 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172237 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 09ed077d7fae5f825e18ff9a2004dcdd1b165edb 46de2eec93bffa0706e6229c0da2919763c8eb04 1f7543c039f6b9eb182f0395965b9d414ac774c4
 172217 fail irrelevant
 172239 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 ed021daf2d6c19499ae406055156dc19c073228f 46de2eec93bffa0706e6229c0da2919763c8eb04 7c5b25c3038abc2dc8353f56ed67d2c4fcd43d79
 172240 fail irrelevant
 172243 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 68b01ef0b3c182d207bff01dd3e20d287668c855
 172244 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 8a3b89e4307da260675483bb86fc06cc62ed7c08
 172245 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 ca45d3cb4586372909f350e54482246f994e1bc7
 172248 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172249 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172241 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 c669f22f1a47897e8d1d595d6b8a59a572f9158c 46de2eec93bffa0706e6229c0da2919763c8eb04 6d6aee437e37fced0c49be97e08c30da873690fc
 172251 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172253 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 c669f22f1a47897e8d1d595d6b8a59a572f9158c 46de2eec93bffa0706e6229c0da2919763c8eb04 6d6aee437e37fced0c49be97e08c30da873690fc
 172256 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172257 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Searching for interesting versions
 Result found: flight 172123 (pass), for basis pass
 Result found: flight 172241 (fail), for basis failure
 Repro found: flight 172249 (pass), for basis pass
 Repro found: flight 172253 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 2480f3bbd03814b0651a1f74959f5c6631ee5819 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172123 (pass), for last pass
 Result found: flight 172248 (fail), for first failure
 Repro found: flight 172249 (pass), for last pass
 Repro found: flight 172251 (fail), for first failure
 Repro found: flight 172256 (pass), for last pass
 Repro found: flight 172257 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172257/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/qemu-mainline/build-arm64-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172257: tolerable ALL FAIL

flight 172257 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172257/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build           fail baseline untested


jobs:
 build-arm64-libvirt                                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sat Aug 06 23:02:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Aug 2022 23:02:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381969.616829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKSnr-0001ep-4g; Sat, 06 Aug 2022 23:01:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381969.616829; Sat, 06 Aug 2022 23:01:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKSnr-0001ei-1s; Sat, 06 Aug 2022 23:01:55 +0000
Received: by outflank-mailman (input) for mailman id 381969;
 Sat, 06 Aug 2022 23:01:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xclA=YK=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oKSnp-0001ec-NV
 for xen-devel@lists.xenproject.org; Sat, 06 Aug 2022 23:01:54 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bfd7ee7a-15db-11ed-924f-1f966e50362f;
 Sun, 07 Aug 2022 01:01:50 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id A14465C003D
 for <xen-devel@lists.xenproject.org>; Sat,  6 Aug 2022 19:01:47 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Sat, 06 Aug 2022 19:01:47 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Sat, 6 Aug 2022 19:01:46 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfd7ee7a-15db-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:content-type:date:date:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1659826907; x=1659913307; bh=ZBKQSKRMMC
	mzsCJlk0Mfty7Sz0g/6zAg7aYoTXrsjGU=; b=qVOMpX/anhdm00NRyWT6dbQT1W
	IgR9lZJQsQXYfg4Y8YN9py5Vdk0tP6Bwynw5rwqf2njUJPDDKndqpHhHK5wGNIWD
	oHNwPijFef+nLvZ1wxXAUisxZvyFpMS99z0D9ZgHKjCCj07IuVURTaVzgzIz+qip
	Vi93BSPILObRNpDvynTcVgtsgism0eeQKv8e8qThKPpOb3uT9CRxK67KrnD3t01A
	NFJmNyLR1HtDJjvX2aTM/bPn2cHCexpQ+Bs7rkmk8/yMhdtNUkwPas2cTSc3lnId
	/tx3i5p42AFL8O2W3Y4144HACnMD7NQATwCZwTHM4X0Di2kZRQkY4yDXgzNA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:message-id:mime-version
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1659826907; x=
	1659913307; bh=ZBKQSKRMMCmzsCJlk0Mfty7Sz0g/6zAg7aYoTXrsjGU=; b=T
	fQaZsNtQYR9jjqKpyAQfCT7zqRapOxodeMAnWuANai484reW0ihyqBdLGBC7/HiI
	F+qcUVquBZlpDnAnjkYbvOTx3tq1lytZPVzbszJgEgZfH9gLEeyVo6SUiE4o5wHK
	uSUFYP2ECAb3wnO95INX5ZA82x1N6qPFZayHYEZ4idilbFixP/1XDfPijIZicY+o
	vrg823Dhf1MZ93ana1zNKo3ShUjhsesogK0oYnDapxOOD/nbPPZQUmaqg8TODK48
	FaJ62D1yP5YHMVSO76wws9Q/zUnJfdcLicWm5J7xcbeJzs6LGHc3CzVy0L5H8KKx
	0Yo0Y+oxsExLUO9RQ4E0A==
X-ME-Sender: <xms:2_LuYgXb0geHlNcTSVTcdHcKz3P0md5F7y35c6059WATwYHrzmFmHA>
    <xme:2_LuYknbH0z8t7v4g8tfgwxZUgDX6uOAr6Fiu1h1tAK-MMQwW1C6cHtR7NUH57z73
    22WQhPpUxoMcg>
X-ME-Received: <xmr:2_LuYkZMQHW7n6LiT_jh3W8eESto4KMQ749tzjf4oCAYhDm-WzVEwCO35sumEyN3W2t4v8R_EBClm9A_DvpGlc6teyBHwG6RVgQL>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdefgedgudekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkgggtugesghdtreertd
    dtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhi
    uceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqne
    cuggftrfgrthhtvghrnhepieffjeeuheeghfeutefftdeufefhieethfehveehteefgfeu
    udelffefffehledvnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvg
    hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhn
    vhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:2_LuYvXJUvq2xTkj0sf7-JMgxUTTXJd5MDJQ3JoyARMlaQjmanfwaQ>
    <xmx:2_LuYqnf0da0zJKNyphZUlRmvb2kJ8pfqlKfjasQJERLK4AU13XMQQ>
    <xmx:2_LuYketAEV_Re3U6S1Qm1Dzl0bi1wP8_UmcTc1nKieXVbHgP1I4Lg>
    <xmx:2_LuYmzBP0f1S8Tglp8RJMDDZOKqN0XS6RQS843cGK0TfUsvjUWS5g>
Feedback-ID: i1568416f:Fastmail
Date: Sun, 7 Aug 2022 01:01:43 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: getting gitlab pipeline status
Message-ID: <Yu7y2LoNMI4wyUxb@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="sUYoUiAsqHeLhFU3"
Content-Disposition: inline


--sUYoUiAsqHeLhFU3
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sun, 7 Aug 2022 01:01:43 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: getting gitlab pipeline status

Hi,

Related to an IRC chat few days ago - here is how to get gitlab pipeline st=
atus:

# get latest pipeline of a branch
$ curl -s 'https://gitlab.com/api/v4/projects/xen-project%2Fxen/pipelines?r=
ef=3Dstaging' | jq -r '.[0].status'
success
# get latest pipeline of a commit (example of success and failure)
$ curl -s 'https://gitlab.com/api/v4/projects/xen-project%2Fxen/pipelines?s=
ha=3D6d6aee437e37fced0c49be97e08c30da873690fc' | jq -r '.[0].status'
success
$ curl -s 'https://gitlab.com/api/v4/projects/xen-project%2Fxen/pipelines?s=
ha=3Dda74c951e4e58080583daaad373b0d38a3f8bc83' | jq -r '.[0].status'
failed

Documentation:
https://docs.gitlab.com/ee/api/pipelines.html#list-project-pipelines

If making osstest push gate checking gitlab pipeline status is desirable
(IMO that would be helpful), the above should be enough. I'm not fluent
in osstest internals, but I hope it isn't too complex to add such
check...

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--sUYoUiAsqHeLhFU3
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmLu8tgACgkQ24/THMrX
1yxqoAf/Tuy3V/IQV11rTFuWQ6ySIODRL7dtD6mMPc+nQRd+lRXv5uGTYFUuSEo5
YxhYMCupEBeudgJtO52eYgOvbp+q333ETF2nJiuKfATi5lasAlV3U4F0YlYyrSGB
6eJ8KnAViTdUMH6pZXZDuM02sAEdoRyZuc5Rzkjpun1gfoMk2g67+/c156vIRbjY
8ktxd6X0fk90loiInVyGQbBr317weBNbKsdGF/VbvbFreGrkf+QwIsY37UqceHAq
N0Rb04hSxNu8XBpcleqb8X5Lg0Fi5aYAYUgXZrE9jwKKD0MTsbTaib2Kax0tVlvk
9ycYS+VHwlLWd20GZ6WVZTD6MQjafA==
=K/6z
-----END PGP SIGNATURE-----

--sUYoUiAsqHeLhFU3--


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 00:09:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 00:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381980.616840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKTr7-0008RQ-Qs; Sun, 07 Aug 2022 00:09:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381980.616840; Sun, 07 Aug 2022 00:09:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKTr7-0008RJ-OC; Sun, 07 Aug 2022 00:09:21 +0000
Received: by outflank-mailman (input) for mailman id 381980;
 Sun, 07 Aug 2022 00:09:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKTr5-0008R9-Lz; Sun, 07 Aug 2022 00:09:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKTr5-0000qy-JX; Sun, 07 Aug 2022 00:09:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKTr5-0002q6-7g; Sun, 07 Aug 2022 00:09:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKTr5-00066m-7E; Sun, 07 Aug 2022 00:09:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CasH41TJK8msr10dH4krNuc4CVtrWss6QTjufxlsEQQ=; b=M5CvDfxCBEzEwelc3Ew44hDdte
	GNKm7CUnpqPSLEUJl8SbN/FWnc4ENp2PqJX3G0OiR2hw5wQ5Dt3MP0nfoWbafMUa4Q28YmEKg6ZST
	V63pI2DEkEY0UlENUNs+0U2mvPY0xKG4md6HV4O9hx+EabRX2iVgFs9ZZ7ROSrEfVPMo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172255-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172255: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 00:09:19 +0000

flight 172255 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172255/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Failing since        172151  2022-08-05 02:40:28 Z    1 days   17 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 00:19:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 00:19:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.381989.616851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKU0P-0001Ug-NB; Sun, 07 Aug 2022 00:18:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 381989.616851; Sun, 07 Aug 2022 00:18:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKU0P-0001UZ-K2; Sun, 07 Aug 2022 00:18:57 +0000
Received: by outflank-mailman (input) for mailman id 381989;
 Sun, 07 Aug 2022 00:18:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKU0O-0001UP-L8; Sun, 07 Aug 2022 00:18:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKU0O-00011d-Hg; Sun, 07 Aug 2022 00:18:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKU0O-00037i-4V; Sun, 07 Aug 2022 00:18:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKU0O-0003NY-43; Sun, 07 Aug 2022 00:18:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1kGIfLfHRMxRaVIw2eeXhyoMIlPkT8EbAQIeTHqKfpg=; b=7AkkxzWxE+NqSAoqKzRnJ0JWgC
	MyWEPealYeUtQwJQXRQZZ8bUGrX6Q28/4yuYmvOeHv4fcL1GqLsosCC2ZSOkCjq2RysxXin/63nw+
	YD/6Ha5agP7UTh/bXxDVcEbkvq4rEcGaemvGSdL1k93T10NPxP5lPfPsImYAj79YEdEU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172252-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172252: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c669f22f1a47897e8d1d595d6b8a59a572f9158c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 00:18:56 +0000

flight 172252 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172252/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                c669f22f1a47897e8d1d595d6b8a59a572f9158c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    3 days
Failing since        172148  2022-08-04 21:39:38 Z    2 days    6 attempts
Testing same since   172217  2022-08-06 02:38:18 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 02:24:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 02:24:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382000.616868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKVxH-00042c-N4; Sun, 07 Aug 2022 02:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382000.616868; Sun, 07 Aug 2022 02:23:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKVxH-00042C-Gf; Sun, 07 Aug 2022 02:23:51 +0000
Received: by outflank-mailman (input) for mailman id 382000;
 Sun, 07 Aug 2022 02:23:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKVxG-00041z-4P; Sun, 07 Aug 2022 02:23:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKVxF-00023E-VH; Sun, 07 Aug 2022 02:23:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKVxF-00009s-71; Sun, 07 Aug 2022 02:23:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKVxF-0000F5-6W; Sun, 07 Aug 2022 02:23:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sX1M14f1RdtB1ZwpmXSMJX+dlEJFhywilhqYjWzZyG4=; b=BE42xZI8eYBAG2KSQWkGbzmeqC
	J224gV87xkZ7MsGXQkTt+v2dDc/n4TAVMpDav0wBgDbt51lGIMUhzYFs4tLammv6fp+twwf7hACRE
	a0g9ZQ/VLhrB/1B0a3YKtTx6KmhaQFUnxzw+p1Qd8AtJVnKFVc//CorY8WOoPlt0yRkA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172259-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172259: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 02:23:49 +0000

flight 172259 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172259/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Failing since        172151  2022-08-05 02:40:28 Z    1 days   18 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 03:11:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 03:11:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382010.616879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKWgu-0000pt-6S; Sun, 07 Aug 2022 03:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382010.616879; Sun, 07 Aug 2022 03:11:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKWgt-0000pT-WC; Sun, 07 Aug 2022 03:11:00 +0000
Received: by outflank-mailman (input) for mailman id 382010;
 Sun, 07 Aug 2022 03:10:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKWgs-0000pH-O9; Sun, 07 Aug 2022 03:10:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKWgs-0002x0-EC; Sun, 07 Aug 2022 03:10:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKWgr-0002fO-TH; Sun, 07 Aug 2022 03:10:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKWgr-0006gs-Sc; Sun, 07 Aug 2022 03:10:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pqeOmdBOb7Sf/M4Aoude5d5UNsTj20p7WaMx6It6hB0=; b=1WHsqczzvtV3/GZxVoMvhENmO5
	SR+Deoc2mBhGPpe3R99qUHKhBT2H5vwhdjTj7i6Fstuq818H8Wg9oovHhF9w9lTwtqEVJ2BeoPGCr
	hLzpNzfh+BXLWOoHtjBBSeDzki9ppD9aOwOLjM7Cpnn8/k4sFD9BNs4ITONe/d1bKeeg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172254-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172254: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=af3e9579ecfbe1796334bb25a2f0a6437983673a
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 03:10:57 +0000

flight 172254 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172254/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                af3e9579ecfbe1796334bb25a2f0a6437983673a
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    2 days
Failing since        172152  2022-08-05 04:01:26 Z    1 days    6 attempts
Testing same since   172254  2022-08-06 21:12:00 Z    0 days    1 attempts

------------------------------------------------------------
975 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 99364 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 04:31:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 04:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382019.616890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKXwf-0000K6-SX; Sun, 07 Aug 2022 04:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382019.616890; Sun, 07 Aug 2022 04:31:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKXwf-0000Jg-L3; Sun, 07 Aug 2022 04:31:21 +0000
Received: by outflank-mailman (input) for mailman id 382019;
 Sun, 07 Aug 2022 04:31:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKXwe-0000JW-JJ; Sun, 07 Aug 2022 04:31:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKXwe-0004Yz-Fk; Sun, 07 Aug 2022 04:31:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKXwd-00085g-PW; Sun, 07 Aug 2022 04:31:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKXwd-0002DH-NF; Sun, 07 Aug 2022 04:31:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6FAyOlG22lR2bgKFn38p+omXiOUCBoPlcWlQfyDQnXw=; b=vzAHWbD9W7o/akCJuuOn2teI/o
	jrUO+L+iRyIsG0LYs7RAEm6xgDFX4wfgKXxQ2cAQy8UuRPN1ew7MzqKtZQ6eQgxRNtaytXcBaZFIQ
	9MrbUGc6Qx2p+5O78/GyWewRsUGcr3CxFfXzYY3pFZHtOuVvs+7Ahs+ZBsAY4fblcck4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172263-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172263: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 04:31:19 +0000

flight 172263 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172263/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    2 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   19 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 07:20:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 07:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382030.616907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKaa3-0008QJ-Oj; Sun, 07 Aug 2022 07:20:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382030.616907; Sun, 07 Aug 2022 07:20:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKaa3-0008QC-KY; Sun, 07 Aug 2022 07:20:11 +0000
Received: by outflank-mailman (input) for mailman id 382030;
 Sun, 07 Aug 2022 07:20:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKaa2-0008Q2-0k; Sun, 07 Aug 2022 07:20:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKaa1-0007xE-UZ; Sun, 07 Aug 2022 07:20:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKaa1-0002Gz-Jw; Sun, 07 Aug 2022 07:20:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKaa1-0005Zc-J9; Sun, 07 Aug 2022 07:20:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+vAg9CZ7+SxGCaLy5fg1VonojKctrmawmbM+PijSYKI=; b=w2KqtY5zQLDP0UQUhnahCLPlpG
	AOaTpWQe1591NCHeEUJUUL3bL8aaBbnn5Xw+E32COZbxI8v4scK00def385hrmeaGR3ZpkIvBJ8+H
	YubBbm0ZZvteKsXiTyBPWXvbFZBtbrvElNKMah0DzND+yqIFcpyh/2VkQnf7+On1fRl4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172266-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172266: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 07:20:09 +0000

flight 172266 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172266/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   20 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 09:43:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 09:43:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382047.616924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKco3-0005V8-GY; Sun, 07 Aug 2022 09:42:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382047.616924; Sun, 07 Aug 2022 09:42:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKco3-0005V1-DQ; Sun, 07 Aug 2022 09:42:47 +0000
Received: by outflank-mailman (input) for mailman id 382047;
 Sun, 07 Aug 2022 09:42:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKco2-0005Ur-AP; Sun, 07 Aug 2022 09:42:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKco2-0002e6-8Q; Sun, 07 Aug 2022 09:42:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKco2-0007qV-1L; Sun, 07 Aug 2022 09:42:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKco2-0000MS-0u; Sun, 07 Aug 2022 09:42:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PQotRc7ftKaXUoKxiaubGwuvG2UPX/6F0QXvfygR6BU=; b=JowQZa6MyC5eI/3Z2E/F7/SfhF
	vm2Zmv6nRVYeftYZyDQ105RAkPtTeDhCqVGQBc8HPj7P7ylQKm5bnkVECPKXvIBG2eSA/kBP2pHh6
	WynqejGlUo22Xbej8zkHMgkCTSnkVhqSJ6Ei8PwBdRoPuqjw+5zYKP4rBPN2AD65iKrg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172268-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172268: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 09:42:46 +0000

flight 172268 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172268/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   21 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 09:55:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 09:55:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382056.616935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKd0a-00072A-KS; Sun, 07 Aug 2022 09:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382056.616935; Sun, 07 Aug 2022 09:55:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKd0a-000723-Ge; Sun, 07 Aug 2022 09:55:44 +0000
Received: by outflank-mailman (input) for mailman id 382056;
 Sun, 07 Aug 2022 09:55:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKd0Z-000717-9n; Sun, 07 Aug 2022 09:55:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKd0Z-0002w4-5m; Sun, 07 Aug 2022 09:55:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKd0Y-0008Ad-R5; Sun, 07 Aug 2022 09:55:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKd0Y-0003ye-Qc; Sun, 07 Aug 2022 09:55:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+EuIYuAvJY7YWNo9Y+dk8Trx8Yegf9qxbp3IpSSpbqY=; b=wgPzuYSE7ysdvFPU730IXown4x
	4dA8q6pftwr1J+iFct29IVCwmdBBnMEWaTvfYgjc4z3Av3a2BJdunjfHVgGb29I8Tg0B+DkYRpfbe
	ZbQr9Vur6qKd914BKae/gn70KlQ5auX6z1yYgg01xVZyfjz3dYbzzcpepLgJyYrHVkQg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172265-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172265: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=70768cda9740d1fbc4b95460247bc5384d7e31a1
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 09:55:42 +0000

flight 172265 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172265/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              70768cda9740d1fbc4b95460247bc5384d7e31a1
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  758 days
Failing since        151818  2020-07-11 04:18:52 Z  757 days  739 attempts
Testing same since   172221  2022-08-06 04:19:00 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118351 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 11:04:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 11:04:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382077.616946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKe4W-0005gN-RS; Sun, 07 Aug 2022 11:03:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382077.616946; Sun, 07 Aug 2022 11:03:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKe4W-0005gG-NW; Sun, 07 Aug 2022 11:03:52 +0000
Received: by outflank-mailman (input) for mailman id 382077;
 Sun, 07 Aug 2022 11:03:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKe4U-0005g6-WE; Sun, 07 Aug 2022 11:03:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKe4U-0004CR-SC; Sun, 07 Aug 2022 11:03:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKe4U-0001VY-DG; Sun, 07 Aug 2022 11:03:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKe4U-0004eg-Cn; Sun, 07 Aug 2022 11:03:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Px5I7p5PbOFo40twP/yTAaIlo4PMGcqyEh3TighA5yA=; b=eWUkvmRW3OnkPonuT8MM98T7xP
	jGnVUGtFdNaZPidzmSl5h9sqIuNX2qBYaJ9Q5KSerEWXyfnQHg5m+SICCWUBPPRitW0vrc1dXIEvP
	pIBy1OIMrjeLxRtNsT4CuVBEKWHPt4FbVq53rH36tGPzMfL2MVEavO0L6LlM7V07sCeI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172264-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172264: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1612c382ffbdf1f673caec76502b1c00e6d35363
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 11:03:50 +0000

flight 172264 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172264/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                1612c382ffbdf1f673caec76502b1c00e6d35363
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    3 days
Failing since        172152  2022-08-05 04:01:26 Z    2 days    7 attempts
Testing same since   172264  2022-08-07 03:22:40 Z    0 days    1 attempts

------------------------------------------------------------
1038 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 106658 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 11:10:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 11:10:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382087.616957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKeAk-0007A4-NH; Sun, 07 Aug 2022 11:10:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382087.616957; Sun, 07 Aug 2022 11:10:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKeAk-00079x-Ji; Sun, 07 Aug 2022 11:10:18 +0000
Received: by outflank-mailman (input) for mailman id 382087;
 Sun, 07 Aug 2022 11:10:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKeAk-00079n-3F; Sun, 07 Aug 2022 11:10:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKeAj-0004L9-VG; Sun, 07 Aug 2022 11:10:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKeAj-0001hT-HJ; Sun, 07 Aug 2022 11:10:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKeAj-0005Wn-Gp; Sun, 07 Aug 2022 11:10:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=O42gSJVKSl2t1dJsLjp0hLdPyjfrfpgzspeaCpwM5eY=; b=7McHylSq3K+t4ixPSO6tcAdX05
	sHmns8mJS/ezC1H3rJIugWnmd004zREJotmlF3bxTsE1FGh07q5oyAbHxRHqcqqiS0rSk6+h+Ftm4
	xBON41zRh+STOxTXgjRiEOB+s7rs0ECMu8RQAc/0sP+VzGyDwWc3Ly/yCG+48wkJKoP0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172260-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172260: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c669f22f1a47897e8d1d595d6b8a59a572f9158c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 11:10:17 +0000

flight 172260 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172260/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                c669f22f1a47897e8d1d595d6b8a59a572f9158c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    3 days
Failing since        172148  2022-08-04 21:39:38 Z    2 days    7 attempts
Testing same since   172217  2022-08-06 02:38:18 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 12:05:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 12:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382101.616968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKf2O-00040m-1v; Sun, 07 Aug 2022 12:05:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382101.616968; Sun, 07 Aug 2022 12:05:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKf2N-00040f-TA; Sun, 07 Aug 2022 12:05:43 +0000
Received: by outflank-mailman (input) for mailman id 382101;
 Sun, 07 Aug 2022 12:05:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKf2M-0003zC-5Z; Sun, 07 Aug 2022 12:05:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKf2L-0005OG-T5; Sun, 07 Aug 2022 12:05:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKf2L-000303-F4; Sun, 07 Aug 2022 12:05:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKf2L-0006LM-Ec; Sun, 07 Aug 2022 12:05:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gx2U6KVzcd0SRX9IOANIbER5/Qt6rNWtQK934cDPO+I=; b=on7fcZsJ/cmloI2p2VjPQFYIm6
	BPiwR08JwwMKPzYnel3L6+2s7JWCOsuy/+8zGIV6GpVAkL+yEOk5QB+RuG4G4L7mLKYKwd4cVSfXj
	JeJymuEn32WjC8OlbrbxblINN8RzdpnQE9I4Dp2rnbrBApkpT5c1cUWxyWd9TLrPaSK8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172262-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172262: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
X-Osstest-Versions-That:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 12:05:41 +0000

flight 172262 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172262/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-shadow     7 xen-install                fail pass in 172238
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 18 guest-localmigrate/x10 fail pass in 172238
 test-amd64-i386-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail pass in 172238
 test-armhf-armhf-xl-vhd      17 guest-start/debian.repeat  fail pass in 172238

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-i386-libvirt            6 libvirt-build                fail  like 172238
 build-amd64-libvirt           6 libvirt-build                fail  like 172238
 build-arm64-libvirt           6 libvirt-build                fail  like 172238
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172238
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172238
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172238
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172238
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172238
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172238
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172238
 build-armhf-libvirt           6 libvirt-build                fail  like 172238
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172238
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172238
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc
baseline version:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc

Last test of basis   172262  2022-08-07 01:52:29 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Aug 07 12:40:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 12:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382112.616985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKfZf-00086s-N7; Sun, 07 Aug 2022 12:40:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382112.616985; Sun, 07 Aug 2022 12:40:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKfZf-00086l-Ix; Sun, 07 Aug 2022 12:40:07 +0000
Received: by outflank-mailman (input) for mailman id 382112;
 Sun, 07 Aug 2022 12:40:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKfZe-00086b-0X; Sun, 07 Aug 2022 12:40:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKfZd-0005zH-Ut; Sun, 07 Aug 2022 12:40:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKfZd-0003nY-27; Sun, 07 Aug 2022 12:40:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKfZd-0003XF-1b; Sun, 07 Aug 2022 12:40:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=akrrrFsoyFD4Xm6GRXl+YS7vJSswh9wIeCaCerDQlqo=; b=mOJjQoo4nSqg5YO0+WQCQBWnxf
	l2hhYlmjdlDALx6S243ZpOSh6uUMJkAWwOs/oXHqH/+iBmh6+CnpJ2h1lppjgT8YBlAKsKUuuSDoy
	8PTRmf6E/Wm6jr0ikrmI76P1aQyiPxzzg3hvk2WAb5317SSmZVKw0M1FqpSHapk7KoC4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172270-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172270: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 12:40:05 +0000

flight 172270 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172270/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   22 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 15:29:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 15:29:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382122.616995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKiDn-0006Wg-Mn; Sun, 07 Aug 2022 15:29:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382122.616995; Sun, 07 Aug 2022 15:29:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKiDn-0006WZ-Jf; Sun, 07 Aug 2022 15:29:43 +0000
Received: by outflank-mailman (input) for mailman id 382122;
 Sun, 07 Aug 2022 15:29:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKiDm-0006WP-Ey; Sun, 07 Aug 2022 15:29:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKiDm-0000lc-CF; Sun, 07 Aug 2022 15:29:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKiDl-0004Tu-U4; Sun, 07 Aug 2022 15:29:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKiDl-0005U5-Th; Sun, 07 Aug 2022 15:29:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6RB//6v4PxdXQtURxCCGhHjkWaf8p13YO8d1OCRKj8c=; b=E4PNT9v+yRHByOVDK25Tk+HZXt
	5//aWhlbFiJw4/F2GIvoq4n2OrCdb7whg3zSipQAsdEJ+f0bETkP6e4jbAFzUMmXUb9g2YG646kX+
	IIoKqjEXSaAhPIPssKcDGazKygr1c/u2mODBCBYcnUKBB1wesyK/wEdSQVASf92LdYXE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172274-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172274: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 15:29:41 +0000

flight 172274 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172274/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   23 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    0 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 17:17:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 17:17:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382136.617013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKjtP-0000xw-KP; Sun, 07 Aug 2022 17:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382136.617013; Sun, 07 Aug 2022 17:16:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKjtP-0000xp-GY; Sun, 07 Aug 2022 17:16:47 +0000
Received: by outflank-mailman (input) for mailman id 382136;
 Sun, 07 Aug 2022 17:16:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKjtO-0000xf-Bk; Sun, 07 Aug 2022 17:16:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKjtO-0003Rw-91; Sun, 07 Aug 2022 17:16:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKjtN-0007pe-R7; Sun, 07 Aug 2022 17:16:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKjtN-0007JD-Qh; Sun, 07 Aug 2022 17:16:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9nRpY1iYpY0kjeQCWc8dHaNQX6bjZhx6SLdapSmrx1g=; b=zm91mEKA2fkIY1a5IWV5Peg5OJ
	QSwWfKWbgX1YYFPb9OeW/n/XLgjSyVkNiEqwisRqar3SknIWn5wJRvTJ8h/qLMpv21sAfRppTvmAn
	i9TC08srX67+p7DBE17YkMMNiRvppf6Lq7L33jk+FOstwaAZol1tmEi8wUfi40gL7a2o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172271-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172271: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1612c382ffbdf1f673caec76502b1c00e6d35363
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 17:16:45 +0000

flight 172271 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172271/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                1612c382ffbdf1f673caec76502b1c00e6d35363
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    3 days
Failing since        172152  2022-08-05 04:01:26 Z    2 days    8 attempts
Testing same since   172264  2022-08-07 03:22:40 Z    0 days    2 attempts

------------------------------------------------------------
1038 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 106658 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 17:48:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 17:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382147.617030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKkNo-0004H5-3Y; Sun, 07 Aug 2022 17:48:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382147.617030; Sun, 07 Aug 2022 17:48:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKkNo-0004Gy-0A; Sun, 07 Aug 2022 17:48:12 +0000
Received: by outflank-mailman (input) for mailman id 382147;
 Sun, 07 Aug 2022 17:48:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKkNm-0004Gi-Iy; Sun, 07 Aug 2022 17:48:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKkNm-00040a-Hn; Sun, 07 Aug 2022 17:48:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKkNm-0001nW-5u; Sun, 07 Aug 2022 17:48:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKkNm-0000I9-5R; Sun, 07 Aug 2022 17:48:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RuMUOKZhN1KCgQ7sgDUnnLUNVH3lCyDTFp9S6cAs5M0=; b=JAgTDAcW6OvrATGB2bQZ4Qp+29
	m1QMun/9Zsq61SKNF6Qc28YqKeOCvut5XjFEda5YuxpKPZpFSdq4xKySGzgyT3g9uphwaS0Jv/Y1k
	/+9AuUbMc1wWV+gdr7uIraE518dGxNxVoXov+zP8qlccAMYXbmuHj7yunZpIT/3wIXAU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172275-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172275: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 17:48:10 +0000

flight 172275 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172275/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   24 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 19:43:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 19:43:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382161.617041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKmBE-0007IZ-3r; Sun, 07 Aug 2022 19:43:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382161.617041; Sun, 07 Aug 2022 19:43:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKmBE-0007I2-0y; Sun, 07 Aug 2022 19:43:20 +0000
Received: by outflank-mailman (input) for mailman id 382161;
 Sun, 07 Aug 2022 19:43:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKmBC-0007Hr-SM; Sun, 07 Aug 2022 19:43:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKmBC-0006Aq-KT; Sun, 07 Aug 2022 19:43:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKmBC-00089w-3Y; Sun, 07 Aug 2022 19:43:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKmBC-0007RQ-33; Sun, 07 Aug 2022 19:43:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rZPfaIyRyINpVEXcms6LC8yv5XIXcEY1FnsDEYZx1/o=; b=3eI/eT5vCAeohbhz0Z2IBIQrI5
	FKC/yvnBaddwpmrFxsNNdBPWuvCLclB5x5hc2NLS6MNuqE6ZAS7q5i9AlnxRRbDPPwpUjpa7deLK+
	M8Kcr5LEAFpwar0a5K0jXka730+PvJ07f3Xi6HZXJZ5fVdb6O2dy4YjICOWTmV/DRCNI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172272-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172272: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start.2:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c669f22f1a47897e8d1d595d6b8a59a572f9158c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 19:43:18 +0000

flight 172272 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172272/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     19 guest-start.2              fail pass in 172260
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 172260

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                c669f22f1a47897e8d1d595d6b8a59a572f9158c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    4 days
Failing since        172148  2022-08-04 21:39:38 Z    2 days    8 attempts
Testing same since   172217  2022-08-06 02:38:18 Z    1 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 20:06:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 20:06:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382172.617058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKmXM-0001Ng-4I; Sun, 07 Aug 2022 20:06:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382172.617058; Sun, 07 Aug 2022 20:06:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKmXM-0001NZ-0c; Sun, 07 Aug 2022 20:06:12 +0000
Received: by outflank-mailman (input) for mailman id 382172;
 Sun, 07 Aug 2022 20:06:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKmXK-0001NP-Ac; Sun, 07 Aug 2022 20:06:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKmXK-0006dS-80; Sun, 07 Aug 2022 20:06:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKmXK-0000Ws-00; Sun, 07 Aug 2022 20:06:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKmXJ-00021S-Vm; Sun, 07 Aug 2022 20:06:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5HNCS/1R9Mq0+e7+ubGFvjhcP1fYhad6+lflxyfsIQM=; b=bQX2Sf1e4GyY9m/QQymcEs+w1V
	5LitY288UbFpCX0T8LNMWfLZXpCzyUzXcspu10tAtvjMkYNcb0eEbvdUu9MFoInwMWasusBh8UfnM
	NKy8/otBHIT+cfX6ajfMtJYePafoeoDqpG6x24ZDZ+be9qUM5/n3ODt1ZQjsJSoMP+Bw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172279-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172279: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 20:06:09 +0000

flight 172279 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172279/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   25 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Sun Aug 07 22:50:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Aug 2022 22:50:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382181.617069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKp5T-0007zM-NA; Sun, 07 Aug 2022 22:49:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382181.617069; Sun, 07 Aug 2022 22:49:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKp5T-0007zF-Jr; Sun, 07 Aug 2022 22:49:35 +0000
Received: by outflank-mailman (input) for mailman id 382181;
 Sun, 07 Aug 2022 22:49:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKp5S-0007z5-AD; Sun, 07 Aug 2022 22:49:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKp5S-0001Is-6w; Sun, 07 Aug 2022 22:49:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKp5R-00008N-RM; Sun, 07 Aug 2022 22:49:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKp5R-0008I8-Qx; Sun, 07 Aug 2022 22:49:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Lx0mt5VHl0Y/NPcZznbEK/Ml5UQxpsT8NhZmT0xyGVo=; b=wjH00+Q507y2hD6mkkAHoaC1Yr
	2kY+/ELUcqx5HePU4pmyxOom/vAaVfDsW667aOMX27zdeqIBebKFk7kIIhlFGhGtgR2zwXSmbniKZ
	O0ScFyN03CkiZvrASQI++ekFCLwD7lmYiN0SgTqYYPYIZ+njHy6W0qfm47w0b1TV0GtU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172282-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172282: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Aug 2022 22:49:33 +0000

flight 172282 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172282/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   26 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 00:23:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 00:23:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382191.617080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKqYB-0001ML-Gy; Mon, 08 Aug 2022 00:23:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382191.617080; Mon, 08 Aug 2022 00:23:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKqYB-0001ME-EQ; Mon, 08 Aug 2022 00:23:19 +0000
Received: by outflank-mailman (input) for mailman id 382191;
 Mon, 08 Aug 2022 00:23:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKqYA-0001M2-47; Mon, 08 Aug 2022 00:23:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKqY9-0003dL-VI; Mon, 08 Aug 2022 00:23:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKqY9-00039z-HX; Mon, 08 Aug 2022 00:23:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKqY9-0003xN-H9; Mon, 08 Aug 2022 00:23:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zNp2T2P+5yG2p7fNjLHSnjSFus0ac6zQ720lV0XRjIE=; b=nCcGF2RklZ+d1qWWfzxGmRbWuk
	Z6ogv7/kJSvoLt8jvLzcmCwUWylzGQZeu3jI4iKj56VSg5z32LQX3W6yyp57Sd9y0GEoT75afGdMO
	iie4l0+7QVFOA/3fcQQ/6xUof4+1s2jIQtL7ZVQxTSxmnD76IZ6vEsy7W6CdD3Y/uUKo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172278-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172278: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1612c382ffbdf1f673caec76502b1c00e6d35363
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 00:23:17 +0000

flight 172278 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172278/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                1612c382ffbdf1f673caec76502b1c00e6d35363
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    3 days
Failing since        172152  2022-08-05 04:01:26 Z    2 days    9 attempts
Testing same since   172264  2022-08-07 03:22:40 Z    0 days    3 attempts

------------------------------------------------------------
1038 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 106658 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 01:32:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 01:32:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382202.617097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKrdG-0006U9-Lp; Mon, 08 Aug 2022 01:32:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382202.617097; Mon, 08 Aug 2022 01:32:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKrdG-0006Tj-Ds; Mon, 08 Aug 2022 01:32:38 +0000
Received: by outflank-mailman (input) for mailman id 382202;
 Mon, 08 Aug 2022 01:32:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKrdF-0006TJ-Cw; Mon, 08 Aug 2022 01:32:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKrdF-0003Cc-AS; Mon, 08 Aug 2022 01:32:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKrdE-0004sV-OM; Mon, 08 Aug 2022 01:32:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKrdE-0006e0-Nw; Mon, 08 Aug 2022 01:32:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IONqR9w1WLN6IND8YD5l5y6rCDesZf/GJ83d/yrEmrM=; b=eUjaPo6xv7u0abdNXINgWAKR79
	Xs3SywNR7WUPuNBzWuGuR68Lrvykj0M8NsjNfrx8UtstD0ycocUzGga9E4h0UJ6rhpnA++9ZlWbAi
	kIP5wppAenAcuMVWV4bbVUmbTozoNm4GGMDLQ/M2vXEO7Fu7O1N4RbvyaQGHCdMdVCQ8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172283-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172283: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 01:32:36 +0000

flight 172283 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172283/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    2 days   27 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 01:53:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 01:53:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382211.617108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKrxh-0000RM-9G; Mon, 08 Aug 2022 01:53:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382211.617108; Mon, 08 Aug 2022 01:53:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKrxh-0000RF-5c; Mon, 08 Aug 2022 01:53:45 +0000
Received: by outflank-mailman (input) for mailman id 382211;
 Mon, 08 Aug 2022 01:53:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2Fnh=YM=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oKrxf-0000R9-S4
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 01:53:43 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2058.outbound.protection.outlook.com [40.107.22.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec9028d1-16bc-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 03:53:41 +0200 (CEST)
Received: from DB8P191CA0029.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::39)
 by AM9PR08MB6146.eurprd08.prod.outlook.com (2603:10a6:20b:2db::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 8 Aug
 2022 01:53:37 +0000
Received: from DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:130:cafe::71) by DB8P191CA0029.outlook.office365.com
 (2603:10a6:10:130::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Mon, 8 Aug 2022 01:53:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT053.mail.protection.outlook.com (100.127.142.121) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Mon, 8 Aug 2022 01:53:36 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Mon, 08 Aug 2022 01:53:36 +0000
Received: from 03f2373c7608.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 759DF1AA-BBB1-4185-AA9E-69BF80CFFD62.1; 
 Mon, 08 Aug 2022 01:53:25 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 03f2373c7608.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 08 Aug 2022 01:53:25 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB6PR0801MB1927.eurprd08.prod.outlook.com (2603:10a6:4:75::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Mon, 8 Aug
 2022 01:53:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5482.016; Mon, 8 Aug 2022
 01:53:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec9028d1-16bc-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=DdqxW/bkUgqhvXqvJ8RpM/KzCp3XcJBzadYcoE3j8yJGtwC9yJRN6GJHmuP1N6T681bdTPowNawWdzGLwcia8pcE4hdgTMPsOW5sAmm20jkSXt4wmqFObybrz38+hbvmzjU+tR7WhsYaO2jkssudh4g0a/0slOSOpF1RYaYtqBKDtgMmLFjh5e7PPbX9d0ncRRJ3MiOT1SMFTFWR6eOTI10MvvsoQ+C2VKlv6CBDKh+BSW8BckgkfBqRGej3F+UWIYN9l3xlF2Ei0ayyvz8PfoozeK41e13LkMzh86n8Sj7yUY9gmZ5nzkQNimvkfHqlMcy6LOSdyKmNfkMMcKnJ3Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zKO5yEeo8TSbe4p+8dQUr8m9UvRJFhxAYHYGPlJp9Bk=;
 b=WuBOg7urUvpNXoQZtM2cCsxCAQj2Rrevv0DtXrV+6/Kfof8M6BNvXYGLrW7I4Joewv32jIRMGbIkSC47d1NJ2PzksyNuOHate/yI0p7y/coxfmQ50hxeDT/0590wMFZbxmvoSOGLDC9saI2sNNbOAdqqHmY2i4Wq8QfH8XUUhsKSr/RHVrC6ia/jNUb5h4m57s3BRcnJPwSfWk+dTdMSVT+/Md5Bizu5gJVv8uydmZvv9Ge65WqF3r8jJtuidtj6jkypfn0zdZ1f+JddFss5s7wygoUfesS05snrZSNwI46Mx1aG8OQrhBYqlyDfMsjOb/p1dWekAbbrYRtkw0ZpvA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zKO5yEeo8TSbe4p+8dQUr8m9UvRJFhxAYHYGPlJp9Bk=;
 b=C9vF8rlDZ82czCUlt7nphm6QdlZ9Ak1gVta+M4vmYcV596idpw6ISnx66i7Fvv/EATvvt6ZBxQOCnxeTMmUBf4CBrt4TbSP3hH70//6tztHreCwRc5Uwr4Wu3ML4Ywug/+YPFxRc/0cqNcx2NmHoKhYZ+Wp5aauk2HPCG9Mtk7A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cSg1et7x7afawepOnaA/zWJ3yFRVZRcCFiy+TGRl1Wmdr0rhT8aCE7xWZVc0xIY46ZgDAwnYhQB0wg8PVRpjmClao4bfJLdN6vlRCp/KO4PQaTxDib0Rklgv7f0fX7NAUQYNN2PHmh+VjhofEXuq+FYoH+pahkJLiCFnRZ1B2TVLnv40umwl7zNpxuBJr13XBFbB5aP64Dz+sXm4gMPY/QksBxDcIVSFmjEI/ow2CYnnD8S+tz5mcFerVsTRm6yyR2tv0PnDKn1s/yHGQkVfeZ3PNijVGawDpj0G0BSMQ8OxsrVXV8kgyeZVAMTe03RGC9CFs9jDLsk9teflv2ljJw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zKO5yEeo8TSbe4p+8dQUr8m9UvRJFhxAYHYGPlJp9Bk=;
 b=l02m99bWCPRZbpSf3ZAP1xuNY1cMAV0Q8Lj7ouEdaFON079Qo71Lm/VL5btGkil6L6+ZJGPer8LKNqwNgzox/qCmnGCBeDtiT7Ao6/rLz21FTYBPdXbPhB0g9vJUm7ckCrzQUvH2FnzHZ2tR5Kjd4p7KjdKETt3uGZML0b/HtWqwidhdJYA9/DcJY6Yzkk5kc12UsjoMNFdcbaP9vMCmylYlUH43JqMtmdmneGCoKgXrDtgfOx8QI+xt/PfR+B613M2dGw1afkCSXP0bSiMNr5FS662cszsXGLqBi5im6xbI8g5XQCoFOqcpMibpE4Ufeu8sfCFA0qdBKpwP7jBXnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zKO5yEeo8TSbe4p+8dQUr8m9UvRJFhxAYHYGPlJp9Bk=;
 b=C9vF8rlDZ82czCUlt7nphm6QdlZ9Ak1gVta+M4vmYcV596idpw6ISnx66i7Fvv/EATvvt6ZBxQOCnxeTMmUBf4CBrt4TbSP3hH70//6tztHreCwRc5Uwr4Wu3ML4Ywug/+YPFxRc/0cqNcx2NmHoKhYZ+Wp5aauk2HPCG9Mtk7A=
From: Henry Wang <Henry.Wang@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Julien Grall <julien@xen.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Julien Grall <jgrall@amazon.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Jan Beulich <jbeulich@suse.com>, Juergen Gross
	<jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	"christopher.clark@starlab.io" <christopher.clark@starlab.io>, Wei Liu
	<wl@xen.org>, "Wei Liu (LSG)" <liuwe@microsoft.com>
Subject: Reminder: Last posting date for Xen 4.17 is Fri Aug 12, 2022 
Thread-Topic: Reminder: Last posting date for Xen 4.17 is Fri Aug 12, 2022 
Thread-Index: AdiqyX5bEXn4ht+4TX+tVkigxIYPBA==
Date: Mon, 8 Aug 2022 01:53:24 +0000
Message-ID:
 <AS8PR08MB7991ACDDB74E72ED11D3E9E692639@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9B8C80F070239F47BE9A6D2B577990E9.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 95818588-b698-4ebc-d7a8-08da78e0cf03
x-ms-traffictypediagnostic:
	DB6PR0801MB1927:EE_|DBAEUR03FT053:EE_|AM9PR08MB6146:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 A6PEw5ESe8hrUv20D7yZG1M8MNsUjoITd6kQ96ckvphe3jF7h850COtcp2IrRiJ3hUg7E+YAGMfW2HdjK2e7kBvMfAe61T4Vq7Yb3lx2WVQCp5aZhkvr1L2v0lvNL7Aq5MqlzRw6i4jBbUo3abL19WPQvOzKO6eG6RvsZxMNv432TCuLd5xatSIHBxaERnrr+bgNJJWzysqTR5gMiTx7tJVnfq6c+ZUPNt0wHM+eJl5r+keyDc5Qnk14jpKQNt7H1tmqQzo7g74EgyBguq41t63XecpN7dnhbnmKy/OO6cWTgqo3hE4TgGCZ/31haiU37VunsvxywblLWnKOudU7RanU8FfZHUi+PNdQbwOfkJTgzvZ5ymyvVDtsFIyMDR8VG1Nt5kKGCmmV/0SrwncoacC2b11KSQhCWHyeY3iXKcX4iwvknZeCbkGCR88Lp/1hRkqslTZH8mgFmz/kf1eSWZtvD6bTIW5S32yeRJsuCN+eLBOa7u8U8af415IcIijC2Yd9mF6D5PaMg0vExowZJSnz3Brjv7hWgG0B9O3MKOGeZENkVpCKSn54TsHfIyc6hSs/jxC3PAayQzN5uY5jbRKNG5wwqK+0HbxbkSP/iWj22OZ99MADSLxs7u3fXOp+1gn+j+uj10RPzhsBpcTZeFbPURewM0FhZEhuv7IoguBRByRm8CTuwIEsAWbDVpsl8zAEdD6V/QSyB2sjpAMIrLQAndKGxASUjbbr9xU7pG4UgLt4QOl+MCKsGeVwQgBXJWdRKuatCXXrpCPaE2a/XFl1SgZauW6vuNRM+eQr/+8732CSEAkjnbkNkcuIFyjp
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(136003)(396003)(366004)(39850400004)(38100700002)(38070700005)(186003)(478600001)(71200400001)(41300700001)(26005)(4743002)(6506007)(7696005)(9686003)(55016003)(86362001)(4326008)(8676002)(64756008)(66946007)(66446008)(66476007)(66556008)(76116006)(5660300002)(54906003)(316002)(6916009)(2906002)(122000001)(83380400001)(33656002)(558084003)(52536014)(8936002)(7416002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1927
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	407080c7-143f-4d44-8769-08da78e0c7a0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b9sNGsx7/lfdB+/8ejB8rPkcZYVXX9pahYXmvy63VxsQmyTqLIH48h4jaWiJet1OZ6e4niILoJC5TmNFJhwmB3QEsxwpQOKTBv0shIlbYjIaEZnEvqq2uXpACEleRVojO4Waddk2nxkzonvJYDNeglZI/B44r31jdT0Ad0DEpfTSJ3XuwO66STc+oe1VnPkvoK2sJNUtTf6Ya5c2g9Hku9VmdshY5KZdHom39y0H/qyq9hMfeptoDI0QCKnbttjYbKOzWChy0WlDvvq3yt/osDlgq7ZtSFvE9TNP5jZBkru3K5ZrivwmWsaUEqA/EL/lOQCaeYPQ8+4KzSMS7ixVvlJEYuPLJhxU2oG6SR9lT956edgAcpZ3c8KrxBTh/pucdBcTPMvhd+Nazif7qh3gXMR9z+Kd/Vl4flEvfgC9mbTQHYh3V/B18F9bDo8ya+r2Qq6XTlb8mgvpucIV8kM2iM1o1bD4ff9KYrHsooj9x9OMjAH/YLjFzM9OS+hU3l42ad7Iq/IcDUJNi5j8r9gkKGdPNx0aCrHiPqL14W6GiQebzy8AWXhYtop92592r6eMP2L1z1VO804EZ3KVSFunV81g6x8hBLXlEgh1thSdxMYCwcxdteVb8pigW6brDsRZv5boG3qJyXnzB0rxLSo59jkdt/eZxwIlw9uBdnLRFzSMsofCFnqskTxQ+0gcCFH5YGBqCnXKdliJe0OvlJhjvf2OE2e/6Qmy1I0gfUylqnVuZpdJqLqGXnewd+Hk/XBWzdxC+UXOAs4YMZqjrZR1vA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(39850400004)(396003)(346002)(376002)(46966006)(36840700001)(8936002)(52536014)(5660300002)(478600001)(4743002)(558084003)(9686003)(33656002)(7696005)(26005)(6506007)(86362001)(41300700001)(2906002)(36860700001)(82740400003)(55016003)(82310400005)(336012)(186003)(47076005)(356005)(40480700001)(81166007)(107886003)(83380400001)(70206006)(8676002)(70586007)(54906003)(4326008)(316002)(6916009);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2022 01:53:36.7489
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 95818588-b698-4ebc-d7a8-08da78e0cf03
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6146

Hi all,

This email is a weekly reminder about the Xen 4.17 release. The last postin=
g
date for Xen 4.17 is Fri Aug 12, 2022. If you want your features to be incl=
uded
for the release, please make sure they are posted for the first time before
**Fri Aug 12, 2022**.

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 03:30:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 03:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382228.617124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKtSz-0003T2-JR; Mon, 08 Aug 2022 03:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382228.617124; Mon, 08 Aug 2022 03:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKtSz-0003Sv-GU; Mon, 08 Aug 2022 03:30:09 +0000
Received: by outflank-mailman (input) for mailman id 382228;
 Mon, 08 Aug 2022 03:30:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKtSy-0003Sl-KO; Mon, 08 Aug 2022 03:30:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKtSy-0006F7-Go; Mon, 08 Aug 2022 03:30:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKtSy-0003cP-4J; Mon, 08 Aug 2022 03:30:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKtSy-0008L8-3o; Mon, 08 Aug 2022 03:30:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JbOlVDb+lsqs8r1wdVMTHfya7zMD76kOdKfxgn+pj4s=; b=B2gRHqB0vQLARR7q76NXn03ntH
	ADYDxYLzdF3F/TQGYw9y3rCmjv4yFUiCBYuCDadh3qWMW7ihUXcuwGTD2eWGPO68m/NAgViAi2I+h
	DZHqkn2mzHPWB9TQuCoupsKVY1JaduHufI2qw4hBlS0cQqHidolsy7JP/3rcGVfklRf0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172286-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172286: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 03:30:08 +0000

flight 172286 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172286/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   28 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 03:47:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 03:47:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382237.617135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKtjP-00052w-2f; Mon, 08 Aug 2022 03:47:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382237.617135; Mon, 08 Aug 2022 03:47:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKtjO-00052p-Vu; Mon, 08 Aug 2022 03:47:06 +0000
Received: by outflank-mailman (input) for mailman id 382237;
 Mon, 08 Aug 2022 03:47:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKtjN-00052f-Tg; Mon, 08 Aug 2022 03:47:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKtjN-0006aA-Na; Mon, 08 Aug 2022 03:47:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKtjN-00052Y-Bk; Mon, 08 Aug 2022 03:47:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKtjN-0000lb-BO; Mon, 08 Aug 2022 03:47:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TtGsQu8z7QWLfWvqotM0mc7p44RRXvsVxNGt7gV5ntk=; b=mBNAUjgcQmWyifOxjJDyIoYqAI
	roI26cnCWGN2ykk8Sf4FDDegZTgSgxNKpEBDKAx28BkJinO7xjk6cPp97cf0ERLBggoTF9gZyw0Ku
	fFVGhbgFmTg0qmkGDYgVYEvlyjDEFPXqWwFUpvVY2xIIlLb1dV1pgCsADU+lqMxRvtes=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172281-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172281: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start.2:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c669f22f1a47897e8d1d595d6b8a59a572f9158c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 03:47:05 +0000

flight 172281 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172281/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     19 guest-start.2    fail in 172272 pass in 172281
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 172272 pass in 172281
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172272

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                c669f22f1a47897e8d1d595d6b8a59a572f9158c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    4 days
Failing since        172148  2022-08-04 21:39:38 Z    3 days    9 attempts
Testing same since   172217  2022-08-06 02:38:18 Z    2 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 05:12:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 05:12:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382249.617146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKv3x-0005kX-Bf; Mon, 08 Aug 2022 05:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382249.617146; Mon, 08 Aug 2022 05:12:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKv3x-0005kQ-92; Mon, 08 Aug 2022 05:12:25 +0000
Received: by outflank-mailman (input) for mailman id 382249;
 Mon, 08 Aug 2022 05:12:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKv3w-0005kG-EU; Mon, 08 Aug 2022 05:12:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKv3w-0000CZ-CV; Mon, 08 Aug 2022 05:12:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKv3v-0001mh-Qf; Mon, 08 Aug 2022 05:12:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKv3v-0004fq-QC; Mon, 08 Aug 2022 05:12:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uK/xYdNk2o66LjNfJREM3iYpBQ9JFnIvDlqY02QRLfk=; b=f/y8hJyd42NB2q2+VNuurAT/aL
	G2hmfQHKAldr28EsWyBaKSg8eQQtFkgBjI+NjzAWvXwG1TepfDzVKPbaB6iAsLmTHBgre1gAuZomk
	ctI0OxtbgtlLu03+6L5r/psPk/Fl1L0u+QxnAwhcVt6YB+eFgZQgCATr39ZkRTnVCUpQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172289-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172289: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 05:12:23 +0000

flight 172289 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172289/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    3 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   29 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 06:34:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 06:34:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382259.617158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKwKl-0005DR-Eo; Mon, 08 Aug 2022 06:33:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382259.617158; Mon, 08 Aug 2022 06:33:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKwKl-0005DK-C7; Mon, 08 Aug 2022 06:33:51 +0000
Received: by outflank-mailman (input) for mailman id 382259;
 Mon, 08 Aug 2022 06:33:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qbuG=YM=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oKwKj-0005DB-2f
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 06:33:49 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0dbcebd8-16e4-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 08:33:46 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1BCD3208EE;
 Mon,  8 Aug 2022 06:33:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C732613AB3;
 Mon,  8 Aug 2022 06:33:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 1vt/Lkiu8GILIAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 08 Aug 2022 06:33:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0dbcebd8-16e4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659940425; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=3Dr/K2CH3ZqLF36bJ0KuS/bY6OuBUo3zMHwlZgoOi/c=;
	b=B6CR1S2U2fYT0A1M5P5uSAII7v7GRlZnPp1yhUS1pNxlECczQCnSV1mEiQGk58APsqWamS
	HAWB1DbmYwGNBhIAW4u8OaYamQ4qj6uXHLHH66N7vOzZ0bhjYz11pzdrvUEk0RsqqQgCuI
	sMWBUSzWY/sqYxyh2pgSFQq+gPVBo/c=
Message-ID: <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
Date: Mon, 8 Aug 2022 08:33:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
In-Reply-To: <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------c6Ewid216pdS0YYIK1YUdhK6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------c6Ewid216pdS0YYIK1YUdhK6
Content-Type: multipart/mixed; boundary="------------EJCJ6mr3EwF0Ma5GxoML3Slm";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Message-ID: <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
In-Reply-To: <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>

--------------EJCJ6mr3EwF0Ma5GxoML3Slm
Content-Type: multipart/mixed; boundary="------------BykrYgHIjA05peejZlzq7f4U"

--------------BykrYgHIjA05peejZlzq7f4U
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDQuMDguMjIgMjE6MjgsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAwMy8wOC8yMDIyIDEyOjU5LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gRXh0ZW5kIHRo
ZSBkZWZpbml0aW9uIG9mIHRoZSBYZW5zdG9yZSBtaWdyYXRpb24gc3RyZWFtIHRvIGNvdmVy
IG5ldw0KPj4gZmVhdHVyZXM6DQo+Pg0KPj4gLSBwZXIgZG9tYWluIGZlYXR1cmVzDQo+PiAt
IGV4dGVuZGVkIHdhdGNoZXMgKHdhdGNoIGRlcHRoKQ0KPj4gLSBwZXIgZG9tYWluIHF1b3Rh
DQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29t
Pg0KPj4gLS0tDQo+PiBWMzoNCj4+IC0gbmV3IHBhdGNoDQo+PiAtLS0NCj4+IMKgIGRvY3Mv
ZGVzaWducy94ZW5zdG9yZS1taWdyYXRpb24ubWQgfCA4NSArKysrKysrKysrKysrKysrKysr
KysrKysrKysrLS0NCj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCAz
IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kb2NzL2Rlc2lnbnMveGVuc3Rv
cmUtbWlncmF0aW9uLm1kIA0KPj4gYi9kb2NzL2Rlc2lnbnMveGVuc3RvcmUtbWlncmF0aW9u
Lm1kDQo+PiBpbmRleCBlZmE1MjZmNDIwLi5iMmIxZDNkNWM3IDEwMDY0NA0KPj4gLS0tIGEv
ZG9jcy9kZXNpZ25zL3hlbnN0b3JlLW1pZ3JhdGlvbi5tZA0KPj4gKysrIGIvZG9jcy9kZXNp
Z25zL3hlbnN0b3JlLW1pZ3JhdGlvbi5tZA0KPj4gQEAgLTQzLDcgKzQzLDEzIEBAIHRoZSBz
ZXR0aW5nIG9mIHRoZSBlbmRpYW5uZXNzIGJpdC4NCj4+IMKgIHwtLS0tLS0tLS0tLXwtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQo+PiDC
oCB8IGBpZGVudGDCoMKgIHwgMHg3ODY1NmU3Mzc0NmY3MjY1ICgneGVuc3RvcmUnIGluIEFT
Q0lJKcKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+PiDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqAg
fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4g
LXwgYHZlcnNpb25gIHwgMHgwMDAwMDAwMSAodGhlIHZlcnNpb24gb2YgdGhlIHNwZWNpZmlj
YXRpb24pwqDCoMKgwqAgfA0KPj4gK3wgYHZlcnNpb25gIHwgVGhlIHZlcnNpb24gb2YgdGhl
IHNwZWNpZmljYXRpb24sIGRlZmluZWQgdmFsdWVzOiB8DQo+PiArfMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHwgMHgwMDAwMDAwMTogYWxsIGZpZWxkcyB3aXRob3V0IGFueSBleHBsaWNpdGx5
wqDCoMKgwqAgfA0KPj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIG1lbnRpb25lZCB2ZXJzaW9uIGRlcGVuZGVuY3kgYXJlwqDCoMKgwqDCoCB8
DQo+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
dmFsaWQuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgfA0KPj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDB4MDAwMDAw
MDI6IGFsbCBmaWVsZHMgdmFsaWQgZm9yIHZlcnNpb24gMSBwbHVzwqDCoCB8DQo+PiArfMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmllbGRzIGV4
cGxpY2l0bHkgc3RhdGVkIHRvIGJlwqDCoMKgwqDCoMKgwqAgfA0KPj4gK3zCoMKgwqDCoMKg
wqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN1cHBvcnRlZCBpbiB2ZXJz
aW9uIDIgYXJlIHZhbGlkLsKgwqDCoMKgIHwNCj4gDQo+IEkgYW0gYSBiaXQgY29uY2VybmVk
IHdpdGggdGhlIGJ1bXAgb2YgdGhlIHZlcnNpb25zLiBJdCBtZWFucywgaXQgd2lsbCBiZSAN
Cj4gbmVjZXNzYXJ5IGZvciBYZW5zdG9yZWQgdG8ga25vdyB3aGV0aGVyIHRoZSBuZXcgWGVu
c3RvcmVkIHNwZWFrcyB2MSBvciB2Mi4gVGhpcyANCj4gaXMgbGVzcyBhbiBpc3N1ZSB3aGVu
IExpdmUtTWlncmF0aW9uIChhbHRob3VnaCB0aGVyZSBpcyBhIGZsZWV0IG1hbmFnZW1lbnQg
DQo+IHByb2JsZW0pIGJ1dCBpdCB3aWxsIGJlIG9uZSBmb3IgTGl2ZS1VcGRhdGUgaWYgd2Ug
bmVlZCB0byByb2xsYmFjay4NCj4gDQo+IFNvIEkgYW0gd29uZGVyaW5nIGlmIHdlIGNhbiBh
dm9pZCB0byBidW1wIHRoZSB2ZXJzaW9uIGFuZCB1c2Ugb3RoZXIgbWVhbnMgdG8gDQo+IGRl
dGVjdCB0aGUgZGlmZmVyZW5jZS4NCg0KSW4gdGhlIGVuZCB0aGlzIGlzIGV4YWN0bHkgd2hh
dCB0aGUgdmVyc2lvbiB3YXMgbWVhbnQgdG8gYmUgdXNlZCBmb3IuDQoNCkkgdGhpbmsgaXQg
d291bGQgbWFrZSBtdWNoIG1vcmUgc2Vuc2UgdG8gdGhpbmsgYWJvdXQgdGhlIHdheSB0byBo
YW5kbGUgYQ0KYnVtcCBvZiB0aGUgdmVyc2lvbiBpbiBhIGNvbXBhdGlibGUgd2F5Lg0KDQpN
eSBpZGVhIHdhcyB0byBhZGQgYSB4ZW5zdG9yZWQgY29tbWFuZCBsaW5lIHBhcmFtZXRlciBm
b3IgbGltaXRpbmcgdGhlDQptaWdyYXRpb24gc3RyZWFtIHZlcnNpb24gdG8gYmUgdXNlZCB0
byBhIHNwZWNpZmllZCB2ZXJzaW9uLCBjYXVzaW5nIG5ldw0KZmVhdHVyZXMgcHJvYmFibHkg
dG8gbm90IGJlIGF2YWlsYWJsZSwgdGhvdWdoLg0KDQpJIGRvbid0IHNlZSBob3cgZS5nLiBh
IHJvbGxiYWNrIHdvdWxkIGJlIGRvYWJsZSBpbiBjYXNlIGEgZG9tYWluIGFscmVhZHkNCnN0
YXJ0ZWQgdG8gdXNlIGEgbmV3IGZlYXR1cmUgbGlrZSB0aGUgdGhpcmQgcGFyYW1ldGVyIHdo
ZW4gc2V0dGluZyBhIHdhdGNoLg0KRXZlbiBpZiB3ZSdkIGRyb3AgdGhlIGRlcHRoIGluZm9y
bWF0aW9uIHdoZW4gcm9sbGluZyBiYWNrIGEgd2F0Y2ggc2V0DQphZnRlcndhcmRzIHdpdGgg
YW4gYWRkaXRpb25hbCBkZXB0aCBhZGRlZCB3b3VsZCBiZSByZWplY3RlZCBieSB0aGUgb2xk
ZXINCnhlbnN0b3JlZCwgd2hpY2ggd291bGQgYmUgdW5leHBlY3RlZCBmYWlsdXJlIGZvciB0
aGUgZ3Vlc3QuDQoNCkl0IG1pZ2h0IG1ha2Ugc2Vuc2UgdG8gdHJ5IHRvIHVzZSB0aGUgVjEg
c3RyZWFtIHdoZW4gZG9pbmcgYSBsaXZlIHVwZGF0ZSwNCmUuZy4gY292ZXJpbmcgdGhlIGNh
c2Ugd2hlbiB0aGUgU0VUX0ZFQVRVUkUgY29tbWFuZCB3YXMgdXNlZCBmb3IgZWFjaA0KYWN0
aXZlIGd1ZXN0IHRvIGxpbWl0IHRoZSBmZWF0dXJlcyB0byBWMSBjb21wYXRpYmxlIG9uZXMu
IEEgZm9yY2UgcGFyYW1ldGVyDQptaWdodCBiZSB1c2VkIHRvIHVzZSB0aGUgVjEgc3RyZWFt
IGV2ZW4gaWYgZ3Vlc3RzIGFyZSB1c2luZyBWMiBmZWF0dXJlcywNCnJpc2tpbmcgYnJlYWth
Z2Ugb2YgdGhvc2UgZ3Vlc3RzLg0KDQo+IA0KPj4gwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+
IMKgIHwgYGZsYWdzYMKgwqAgfCAwIChMU0IpOiBFbmRpYW5uZXNzOiAwID0gbGl0dGxlLCAx
ID0gYmlnwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+IMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDC
oCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+
PiBAQCAtMTE3LDcgKzEyMywxNyBAQCB4ZW5zdG9yZWQgc3RhdGUgdGhhdCBuZWVkcyB0byBi
ZSByZXN0b3JlZC4NCj4+IMKgIHwgcnctc29ja2V0LWZkwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB8DQo+PiDCoCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSsNCj4+IMKgIHwgZXZ0Y2huLWZkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8DQo+PiArKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rDQo+PiAr
fCBuLWRvbS1xdW90YcKgwqAgfCBuLWdsb2ItcXVvdGHCoCB8DQo+PiArKy0tLS0tLS0tLS0t
LS0tLSstLS0tLS0tLS0tLS0tLS0rDQo+PiArfCBxdW90YS12YWwgMcKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+PiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0rDQo+PiArLi4uDQo+PiDCoCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSsNCj4+ICt8IHF1b3RhLXZhbCBOwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHwNCj4+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+ICt8
IHF1b3RhLW5hbWVzDQo+PiArLi4uDQo+PiDCoCBgYGANCj4+IEBAIC0xMjgsNiArMTQ0LDIy
IEBAIHhlbnN0b3JlZCBzdGF0ZSB0aGF0IG5lZWRzIHRvIGJlIHJlc3RvcmVkLg0KPj4gwqAg
fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIHwNCj4+IMKgIHwgYGV2dGNobi1mZGDCoMKgwqAgfCBUaGUgZmls
ZSBkZXNjcmlwdG9yIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB8DQo+PiDCoCB8wqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgdGhlIGV2ZW50IGNoYW5uZWwgZHJpdmVywqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+PiArfMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHwNCj4+ICt8IGBuLWRvbS1xdW90YWDCoCB8IE51bWJlciBvZiBxdW90YSB2YWx1
ZXMgd2hpY2ggYXBwbHkgcGVywqDCoMKgwqDCoMKgIHwNCj4+ICt8wqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIHwgZG9tYWluLiBWYWxpZCBvbmx5IGZvciB2ZXJzaW9uIDIgYW5k
IGxhdGVyLsKgIHwNCj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPiANCj4gSSB0aGluayB3ZSBj
YW4gYXZvaWQgZXh0ZW5kaW5nIHRoZSBzdHJ1Y3R1cmUgaGVyZSBieSBjcmVhdGluZyBhIHNl
cGFyYXRlIHJlY29yZCANCj4gZm9yIHRoZSBxdW90YS4NCj4gDQo+IFdpdGggdGhhdCwgdGhl
IG5ldyBYZW5zdG9yZWQgZG9uJ3QgbmVlZCBzcGVjaWZpYyBjb2RlIHRvIGRlYWwgd2l0aCBy
b2xsYmFjayANCj4gYmVjYXVzZSwgYXMgQUZBSUNULCB1bmltcGxlbWVudGVkIHJlY29yZHMg
YXJlIGlnbm9yZWQgYnkgZXhpc3RpbmcgWGVuc3RvcmVkLg0KDQpGb3IgcXVvdGEgdGhpcyB3
b3VsZCBiZSBwb3NzaWJsZSByZWdhcmRpbmcgdGhlIGZ1bmN0aW9uYWxpdHksIGJ1dCB0aGVy
ZSBhcmUNCnVzZSBjYXNlcyB3aGljaCBtaWdodCBzdWZmZXIgaW4gY2FzZSBxdW90YSBhcmUg
bm90IGJlaW5nIGFjY2VwdGVkIGJ5IHRoZQ0KbmV3IGluc3RhbmNlIChlLmcuIGRyaXZlciBk
b21haW5zIG5lZWRpbmcgaGlnaGVyIHF1b3RhKS4NCg0KT1RPSCB0aGlzIGlzIG5vIGd1ZXN0
IHZpc2libGUgaW50ZXJmYWNlLCBzbyBJJ20gb24gdGhlIGVkZ2UgdG8gYWRkIHRoaXMNCmRh
dGEgdG8gVjEuIFRoaXMgd291bGQgZXZlbiBiZSBwb3NzaWJsZSB1c2luZyB0aGUgZ2xvYmFs
IHJlY29yZCBvZiBWMSwgYXMNCnRoZSBsZW5ndGggaW5mb3JtYXRpb24gb2YgdGhlIHJlY29y
ZCBhbGxvd3MgdG8gYWRkIG5ldyBmaWVsZHMgd2l0aG91dA0KaGF2aW5nIHRvIGJ1bXAgdGhl
IHZlcnNpb24uDQoNCj4gDQo+PiArfCBgbi1nbG9iLXF1b3RhYCB8IE51bWJlciBvZiBxdW90
YSB2YWx1ZXMgd2hpY2ggYXBwbHkgZ2xvYmFsbHnCoCB8DQo+PiArfMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCB8IG9ubHkuIFZhbGlkIG9ubHkgZm9yIHZlcnNpb24gMiBhbmQg
bGF0ZXIuwqDCoMKgIHwNCj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gK3wgYHF1b3RhLXZh
bGDCoMKgwqAgfCBRdW90YSB2YWx1ZXMsIGZpcnN0IHRoZSBvbmVzIGFwcGx5aW5nIHBlcsKg
wqDCoCB8DQo+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGRvbWFpbiwg
dGhlbiB0aGUgb25lcyBhcHBseWluZyBnbG9iYWxseS4gQcKgwqAgfA0KPj4gK3zCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCB2YWx1ZSBvZiAwIGhhcyB0aGUgc2VtYW50aWNz
IG9mICJ1bmxpbWl0ZWQiLiB8DQo+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB8IFZhbGlkIG9ubHkgZm9yIHZlcnNpb24gMiBhbmQgbGF0ZXIuwqDCoMKgwqDCoMKgwqDC
oMKgIHwNCj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gK3wgYHF1b3RhLW5hbWVzYMKgIHwg
MCBkZWxpbWl0ZWQgc3RyaW5ncyBvZiB0aGUgcXVvdGEgbmFtZXMgaW7CoMKgwqAgfA0KPj4g
K3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCB0aGUgc2FtZSBzZXF1ZW5jZSBh
cyB0aGUgYHF1b3RhLXZhbGAgdmFsdWVzLiB8ID4gDQo+PiArfMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB8IFZhbGlkIG9ubHkgZm9yIHZlcnNpb24gMiBhbmQgbGF0ZXIuwqDC
oMKgwqDCoMKgwqDCoMKgIHwNCj4gDQo+ICBGcm9tIG15IHVuZGVyc3RhbmRpbmcsIGJvdGgg
dmVyc2lvbiBvZiBYZW5zdG9yZWQgbmVlZHMgdG8gYWdyZWUgb24gdGhlIHF1b3RhIA0KPiBu
YW1lcy4gU28gaXQgbWVhbnMgdGhlIG5hbWUgaGF2ZSB0byBiZSBkZWZpbmVkIGFzIHBhcnQg
b2YgdGhlIHNwZWMuIEF0IHdoaWNoIA0KPiBwb2ludCwgSSB0aGluayBpdCB3b3VsZCBiZSBi
ZXR0ZXIgdG8gdXNlIElELg0KDQpJIGRvbid0IHRoaW5rIHNvLiBGb3Igb25lIHRoZSBtaW5p
bWFsIHNldCBvZiBxdW90YSBuYW1lcyBoYXMgYmVlbiBkZWZpbmVkDQphbHJlYWR5IGluIHBh
dGNoIDMuIEFuZCBldmVuIHdpdGggdXNpbmcgYW4gSUQgeW91J2QgaGF2ZSB0aGUgc2FtZSBw
cm9ibGVtDQphZ2FpbiwgYnV0IHdpdGhvdXQgaGF2aW5nIHRoZSBwb3NzaWJpbGl0eSB0byBh
ZGQgdmFyaWFudCBzcGVjaWZpYyBxdW90YQ0KKHJlbWVtYmVyIHRoYXQgdGhlcmUgYWxyZWFk
eSBoYXMgYmVlbiBhIHN0YXRlbWVudCB0aGF0IGRvaW5nIGEgbGl2ZSB1cGRhdGUNCmZyb20g
QyB0byBPQ0FNTCBvciB2aWNlIHZlcnNhIHdvdWxkIHByb2JhYmx5IGJyZWFrIHVzZXJzIGR1
ZSB0byBzb21lDQpkZXZpYXRpb25zIGluIGJlaGF2aW9yKS4NCg0KPiBBbHNvLCBjYW4geW91
IGNsYXJpZnkgd2hhdCB3b3VsZCBoYXBwZW4gaWYgdGhlIHN0cmVhbSBjb250YWlucyBhIHF1
b3RhIG5vdCANCj4gc3VwcG9ydGVkIGJ5IHRoZSBuZXcgWGVuc3RvcmVkPw0KDQpZZXMsIEkn
bGwgYWRkIGEgc2VudGVuY2UgdGhhdCB0aG9zZSBzaG91bGQgYmUgaWdub3JlZC4NCg0KPiAN
Cj4+ICsNCj4+IMKgIHhlbnN0b3JlZCB3aWxsIHJlc3VtZSBpbiB0aGUgb3JpZ2luYWwgcHJv
Y2VzcyBjb250ZXh0LiBIZW5jZSBgcnctc29ja2V0LWZkYA0KPj4gwqAgc2ltcGx5IHNwZWNp
ZmllcyB0aGUgZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBzb2NrZXQuIFNvY2tldHMgYXJlIG5v
dCBhbHdheXMNCj4+IEBAIC0xNDUsNyArMTc3LDcgQEAgdGhlIGRvbWFpbiBiZWluZyBtaWdy
YXRlZC4NCj4+IMKgIGBgYA0KPj4gwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgIDHCoMKgwqDC
oMKgwqAgMsKgwqDCoMKgwqDCoCAzwqDCoMKgwqDCoMKgIDTCoMKgwqDCoMKgwqAgNcKgwqDC
oMKgwqDCoCA2wqDCoMKgwqDCoMKgIDfCoMKgwqAgb2N0ZXQNCj4+IMKgICstLS0tLS0tKy0t
LS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0r
DQo+PiAtfCBjb25uLWlkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgfCBjb25uLXR5cGXCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB8DQo+PiArfCBjb25uLWlkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgfCBjb25uLXR5cGXCoMKgwqDCoCB8IG4tcXVvdGHCoMKgwqDCoMKgwqAgfA0K
Pj4gwqAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t
Ky0tLS0tLS0tLS0tLS0tLSsNCj4+IMKgIHwgY29ubi1zcGVjDQo+PiDCoCAuLi4NCj4+IEBA
IC0xNTQsNiArMTg2LDE3IEBAIHRoZSBkb21haW4gYmVpbmcgbWlncmF0ZWQuDQo+PiDCoCAr
LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKw0KPj4gwqAgfCBkYXRhDQo+PiDCoCAuLi4NCj4+ICsrLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+ICt8IGZlYXR1cmVzwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSsNCj4+ICt8IHF1b3RhLXZhbCAxwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHwNCj4+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsN
Cj4+ICsuLi4NCj4+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+ICt8
IHF1b3RhLXZhbCBOwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+
ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+ICt8IHF1b3RhLW5hbWVz
DQo+PiArLi4uDQo+PiDCoCBgYGANCj4+IEBAIC0xNjcsNiArMjEwLDEwIEBAIHRoZSBkb21h
aW4gYmVpbmcgbWlncmF0ZWQuDQo+PiDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIHwgMHgwMDAxOiBzb2NrZXTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gwqAgfMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB8IDB4MDAwMiAtIDB4RkZGRjogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1
c2XCoMKgwqDCoCB8DQo+PiDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gK3wgYG4tcXVvdGFg
wqDCoMKgwqDCoCB8IE51bWJlciBvZiBxdW90YSB2YWx1ZXMuwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHwgT25seSBmb3IgYGNvbm4tdHlwZWAgMCAoc2hhcmVkIHJpbmcpLsKgwqDC
oMKgwqDCoMKgIHwNCj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgT25s
eSB2YWxpZCBmb3IgdmVyc2lvbiAyIGFuZCBsYXRlci7CoMKgwqDCoMKgwqDCoMKgwqAgfA0K
Pj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+PiDCoCB8IGBjb25uLXNwZWNgwqDCoMKgIHwgU2Vl
IGJlbG93wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+PiDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4g
wqAgfCBgaW4tZGF0YS1sZW5gwqAgfCBUaGUgbGVuZ3RoIChpbiBvY3RldHMpIG9mIGFueSBk
YXRhIHJlYWTCoMKgwqDCoMKgIHwNCj4+IEBAIC0xODIsNiArMjI5LDIyIEBAIHRoZSBkb21h
aW4gYmVpbmcgbWlncmF0ZWQuDQo+PiDCoCB8IGBkYXRhYMKgwqDCoMKgwqDCoMKgwqAgfCBQ
ZW5kaW5nIGRhdGE6IGZpcnN0IGluLWRhdGEtbGVuIG9jdGV0cyBvZsKgwqDCoCB8DQo+PiDC
oCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcmVhZCBkYXRhLCB0aGVuIG91
dC1kYXRhLWxlbiBvY3RldHMgb2bCoMKgwqDCoMKgwqAgfA0KPj4gwqAgfMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCB8IHdyaXR0ZW4gZGF0YSAoYW55IG9mIGJvdGggbWF5IGJl
IGVtcHR5KcKgwqDCoMKgwqAgfA0KPj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+PiArfCBgZmVh
dHVyZXNgwqDCoMKgwqAgfCBWYWx1ZSBvZiB0aGUgZmVhdHVyZSBmaWVsZCB2aXNpYmxlIGJ5
IHRoZcKgwqDCoCB8DQo+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGd1
ZXN0IGF0IG9mZnNldCAyMDY0IG9mIHRoZSByaW5nIHBhZ2UuwqDCoMKgwqDCoMKgIHwNCj4+
ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgQWxpZ25lZCB0byB0aGUgbmV4
dCA0IG9jdGV0IGJvdW5kYXJ5LsKgwqDCoMKgwqDCoMKgIHwNCj4+ICt8wqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHwgT25seSBmb3IgYGNvbm4tdHlwZWAgMCAoc2hhcmVkIHJp
bmcpLsKgwqDCoMKgwqDCoMKgIHwNCj4gDQo+IEZvciB0aGUgcHVycG9zZSBvZiB0aGUgc3Ry
ZWFtLCBJIHdvdWxkIGNvbnNpZGVyIHRvIG1ha2UgaXQgYXZhaWxhYmxlIGZvciB0aGUgDQo+
IHNvY2tldCBjb25uZWN0aW9uLiBUaGlzIGNvdWxkIHBvdGVudGlhbGx5IGJlIHVzZWQgaW4g
dGhlIGZ1dHVyZSB0byBhbGxvdyBlYWNoIA0KPiBhcHBsaWNhdGlvbiB0byBoYXZlIGEgZGlm
ZmVyZW50IGJlaGF2aW9yIHdoZW4gc29ja2V0IGlzIHVzZWQuDQoNClRoaXMgd291bGQgYnJl
YWsgdGhlIHVzZSBvZiB4ZW5zdG9yZS1zdHViZG9tIGZvciBzdWNoIGEgc2V0dXAuDQoNCj4g
SSBjYW4ndCBtYWtlIG15IG1pbmQgeWV0IGlmIHdlIGNhbiBhdm9pZCBidW1waW5nIHRoZSB2
ZXJzaW9uIGZvciB0aGlzIGZpZWxkLiANCj4gV2hhdCB3b3VsZCBoYXBwZW4gaWYgd2UgbmVl
ZCB0byByb2xsYmFjaz8NCg0KSSB0aGluayBhbiBhY3RpdmUgdXNhZ2Ugb2YgdGhlIG5ldyBm
ZWF0dXJlcyBhbmQgYSByb2xsYmFjayBhcmUgbXV0dWFsbHkNCmV4Y2x1c2l2ZS4gU2VlIGFi
b3ZlLg0KDQo+IA0KPj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBPbmx5
IHZhbGlkIGZvciB2ZXJzaW9uIDIgYW5kIGxhdGVyLsKgwqDCoMKgwqDCoMKgwqDCoCB8ID4g
DQo+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+ICt8IGBxdW90YS12YWxgwqDCoMKgIHwgUXVv
dGEgdmFsdWVzLCBhIHZhbHVlIG9mIDAgaGFzIHRoZSBzZW1hbnRpY3MgfA0KPj4gK3zCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAidW5saW1pdGVkIi7CoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwN
Cj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgT25seSBmb3IgYGNvbm4t
dHlwZWAgMCAoc2hhcmVkIHJpbmcpLsKgwqDCoMKgwqDCoMKgIHwNCj4+ICt8wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgT25seSB2YWxpZCBmb3IgdmVyc2lvbiAyIGFuZCBs
YXRlci7CoMKgwqDCoMKgwqDCoMKgwqAgfA0KPiANCj4gSSB3b3VsZCBzdWdnZXN0IHRvIGJl
IHZlcnkgb2J2aW91cyBhbmQgc2F5IHRoZSB2YWx1ZSB3aWxsIG92ZXJyaWRlIHRoZSB2YWx1
ZSAoaWYgDQo+IGFueSkNCg0KT2theS4NCg0KPiANCj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0K
Pj4gK3wgYHF1b3RhLW5hbWVzYMKgIHwgMCBkZWxpbWl0ZWQgc3RyaW5ncyBvZiB0aGUgcXVv
dGEgbmFtZXMgaW7CoMKgwqAgfA0KPj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgfCB0aGUgc2FtZSBzZXF1ZW5jZSBhcyB0aGUgYHF1b3RhLXZhbGAgdmFsdWVzLiB8DQo+
PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IE9ubHkgZm9yIGBjb25uLXR5
cGVgIDAgKHNoYXJlZCByaW5nKS7CoMKgwqDCoMKgwqDCoCB8DQo+PiArfMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCB8IE9ubHkgdmFsaWQgZm9yIHZlcnNpb24gMiBhbmQgbGF0
ZXIuwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4gDQo+IEFzIGZvciB0aGUgImdsb2JhbCIgcXVv
dGFzLCBJIHdvdWxkIG1vdmUgdGhlIHF1b3RhcyBpbiBhIHNlcGFyYXRlIHJlY29yZC4gSW4g
DQo+IHRoaXMgY2FzZSwgdGhpcyB3b3VsZCBhbHNvIGJlIHVzZWZ1bCB0byBhdm9pZCBoYXZp
bmcgbWF5IGR5bmFtaWMgbGVuZ3RoIGZpZWxkIA0KPiB3aXRoaW4gdGhlIHNhbWUgcmVjb3Jk
Lg0KDQpJIGxpa2UgaGF2aW5nIHRoZSBkYXRhIHRvZ2V0aGVyIG1vcmUuDQoNCkJ1dCBJJ20g
bm90IHJlYWxseSBmZWVsaW5nIHN0cm9uZyBhYm91dCB0aGF0Lg0KDQo+IA0KPj4gwqAgSW4g
Y2FzZSBvZiBsaXZlIHVwZGF0ZSB0aGUgY29ubmVjdGlvbiByZWNvcmQgZm9yIHRoZSBjb25u
ZWN0aW9uIHZpYSB3aGljaA0KPj4gwqAgdGhlIGxpdmUgdXBkYXRlIGNvbW1hbmQgd2FzIGlz
c3VlZCB3aWxsIGNvbnRhaW4gdGhlIHJlc3BvbnNlIGZvciB0aGUgbGl2ZQ0KPj4gQEAgLTI0
Nyw3ICszMTAsNyBAQCBieSBhIGNvbm5lY3Rpb24gZm9yIHdoaWNoIHRoZXJlIGlzIGBDT05O
RUNUSU9OX0RBVEFgIA0KPj4gcmVjb3JkIHByZXZpb3VzbHkgcHJlc2VudC4NCj4+IMKgIGBg
YA0KPj4gwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgIDHCoMKgwqDCoMKgwqAgMsKgwqDCoMKg
wqDCoCAzwqDCoMKgIG9jdGV0DQo+PiAtKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0t
LS0rDQo+PiArKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rDQo+PiDCoCB8IGNv
bm4taWTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+
PiDCoCArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsNCj4+IMKgIHwgd3BhdGgt
bGVuwqDCoMKgwqAgfCB0b2tlbi1sZW7CoMKgwqDCoCB8DQo+PiBAQCAtMjU2LDYgKzMxOSw5
IEBAIGJ5IGEgY29ubmVjdGlvbiBmb3Igd2hpY2ggdGhlcmUgaXMgYENPTk5FQ1RJT05fREFU
QWAgDQo+PiByZWNvcmQgcHJldmlvdXNseSBwcmVzZW50Lg0KPj4gwqAgLi4uDQo+PiDCoCB8
IHRva2VuDQo+PiDCoCAuLi4NCj4+ICsrLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t
LSsNCj4+ICt8IGRlcHRowqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8DQo+PiArKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rDQo+PiDC
oCBgYGANCj4+IEBAIC0yNzUsNiArMzQxLDEzIEBAIGJ5IGEgY29ubmVjdGlvbiBmb3Igd2hp
Y2ggdGhlcmUgaXMgYENPTk5FQ1RJT05fREFUQWAgDQo+PiByZWNvcmQgcHJldmlvdXNseSBw
cmVzZW50Lg0KPj4gwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+IMKgIHwgYHRva2VuYMKgwqDC
oMKgIHwgVGhlIHdhdGNoIGlkZW50aWZpZXIgdG9rZW4sIGFzIHNwZWNpZmllZCBpbiB0aGUg
fA0KPj4gwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGBXQVRDSGAgb3BlcmF0aW9u
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHwNCj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gK3wgYGRlcHRoYMKgwqDCoMKg
IHwgVGhlIG51bWJlciBvZiBkaXJlY3RvcnkgbGV2ZWxzIGJlbG93IHRoZcKgwqDCoMKgwqDC
oMKgIHwNCj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgd2F0Y2hlZCBwYXRoIHRv
IGNvbnNpZGVyIGZvciBhIG1hdGNoLiBUaGlzwqDCoMKgwqDCoCB8DQo+PiArfMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCB8IGZpZWxkIGlzIGFsaWduZWQgdG8gdGhlIG5leHQgNCBvY3Rl
dCBib3VuZGFyeS7CoCB8DQo+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IEEgdmFs
dWUgb2YgMHhmZmZmIGlzIHVzZWQgZm9yIHVubGltaXRlZCBkZXB0aC7CoCB8DQo+PiArfMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IFRoaXMgZmllbGQgaXMgdmFsaWQgb25seSBmb3Ig
dmVyc2lvbiAyIGFuZMKgwqDCoMKgwqAgfA0KPj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgfCBoaWdoZXIuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPiANCj4gSWYgd2Ug
YXJlIGdvaW5nIHRvIGJ1bXAgdGhlIHN0cmVhbSB2ZXJzaW9uLCB0aGVuIEkgdGhpbmsgd2Ug
c2hvdWxkIG1vdmUgdGhlIA0KPiBmaWVsZCBiZWZvcmUgdG9rZW4vcGF0aC4NCg0KSSB0aG91
Z2h0IGFib3V0IHRoYXQsIGJ1dCBsaWtlZCBpdCBiZXR0ZXIgdG8gYmUgYWJsZSB0byBrZWVw
IGEgY29tbW9uIHN0cnVjdA0KbGF5b3V0IGZvciB0aGUgcmVjb3JkIHdpdGggdGhlIFYyIGZp
ZWxkcyBiZWluZyBhdCB0aGUgZW5kLg0KDQpNYWluIHJlYXNvbiBpcyB0aGUgYWJpbGl0eSB0
byBhdm9pZCBkdXBsaWNhdGlvbiBvZiBjb2RlIGZvciBiZWluZyBhYmxlIHRvDQpoYW5kbGUg
Ym90aCB2ZXJzaW9ucy4NCg0KPiANCj4+IMKgIFxwYWdlYnJlYWsNCj4+IEBAIC00MDYsNiAr
NDc5LDEyIEBAIEEgbm9kZSBwZXJtaXNzaW9uIHNwZWNpZmllciBoYXMgdGhlIGZvbGxvd2lu
ZyBmb3JtYXQ6DQo+PiDCoCBOb3RlIHRoYXQgcGVybTEgZGVmaW5lcyB0aGUgZG9tYWluIG93
bmluZyB0aGUgbm9kZS4gU2VlIFs0XSBmb3IgbW9yZQ0KPj4gwqAgZXhwbGFuYXRpb24gb2Yg
bm9kZSBwZXJtaXNzaW9ucy4NCj4+ICtccGFnZWJyZWFrDQo+PiArDQo+PiArIyMjIERPTUFJ
Tl9EQVRBDQo+PiArDQo+PiArDQo+PiArDQo+IA0KPiBXaGF0IHRoaXMgc2VjdGlvbiBpcyBm
b3I/DQoNCk9oIHRoYXQgaXMgYSBzdGFsZSByZXN1bHQgb2YgYSBwcmV2aW91cyB2YXJpYW50
IGNvbnNpZGVyaW5nIGFuIG93biByZWNvcmQNCnR5cGUgZm9yIHF1b3RhIGFuZCBmZWF0dXJl
IGluZm9ybWF0aW9uLiA6LSkNCg0KDQpKdWVyZ2VuDQo=
--------------BykrYgHIjA05peejZlzq7f4U
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------BykrYgHIjA05peejZlzq7f4U--

--------------EJCJ6mr3EwF0Ma5GxoML3Slm--

--------------c6Ewid216pdS0YYIK1YUdhK6
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLwrkgFAwAAAAAACgkQsN6d1ii/Ey+d
7Qf/SgzAKIJNUiH40e8sRTctHutjsX5q6ote8/gwTuIw7bY9gao4dk4vKv/9HB2ZdDaLpcvb+F60
fGKyfyr5hH4LB8nX/fgznh0mJPQogDHVNnievrR2nnifiiCzD0W+XT9IDX1Q3Hg44uAXtGr7A5BW
nYc39QlaSvLbRGS0HjYv7WEI5aqHpjfx8Oe/uybgD21t4SGEk0c7HIhFZiELdhB2i6vKqHXUVexS
QO3D/2GmPFPQP3EZDmNafj7Jqf8S+iNCsAKb/AXSCzbXJ49W5mIzleGcsZW/7GOYbRyc3OrjozTF
SB/zoAMAS8kQbWEZcKf0mOggQ/L6G2+oUgOyoMNtYQ==
=XOqk
-----END PGP SIGNATURE-----

--------------c6Ewid216pdS0YYIK1YUdhK6--


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 06:52:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 06:52:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382269.617169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKwd4-0007aF-0C; Mon, 08 Aug 2022 06:52:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382269.617169; Mon, 08 Aug 2022 06:52:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKwd3-0007a8-Tr; Mon, 08 Aug 2022 06:52:45 +0000
Received: by outflank-mailman (input) for mailman id 382269;
 Mon, 08 Aug 2022 06:52:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKwd3-0007Zy-7D; Mon, 08 Aug 2022 06:52:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKwd3-00023P-3n; Mon, 08 Aug 2022 06:52:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKwd2-0007cd-J9; Mon, 08 Aug 2022 06:52:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKwd2-0004G0-Im; Mon, 08 Aug 2022 06:52:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+X6VOaPg+JcU86xEdPhmpVRZXqNqYPYj+Dw5WNzkH5I=; b=esxiTZdADMjYZVF0Qq4kNt/BSP
	EZ4haxVNZEuJUU1kTnBBD0+Nm961nisjamSdg8HpJMygXB4w3d1oms68vbbJa4F4LpozhNqykZybn
	C2yYHOBrQPvsMVMHJQknjcFu+fRBuUZG58jmlZ3ZCm+9p1V8LPhDBkpox6XpM11Pu30c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172285-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172285: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3bc1bc0b59d04e997db25b84babf459ca1cd80b7
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 06:52:44 +0000

flight 172285 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172285/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                3bc1bc0b59d04e997db25b84babf459ca1cd80b7
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    4 days
Failing since        172152  2022-08-05 04:01:26 Z    3 days   10 attempts
Testing same since   172285  2022-08-08 00:39:37 Z    0 days    1 attempts

------------------------------------------------------------
1071 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 109544 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 07:30:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 07:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382279.617179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKxDO-0003NV-0Y; Mon, 08 Aug 2022 07:30:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382279.617179; Mon, 08 Aug 2022 07:30:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKxDN-0003NO-UA; Mon, 08 Aug 2022 07:30:17 +0000
Received: by outflank-mailman (input) for mailman id 382279;
 Mon, 08 Aug 2022 07:30:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKxDM-0003NE-VS; Mon, 08 Aug 2022 07:30:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKxDM-0002in-Sp; Mon, 08 Aug 2022 07:30:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKxDM-0000iJ-HH; Mon, 08 Aug 2022 07:30:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKxDM-0001Js-Gr; Mon, 08 Aug 2022 07:30:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vrFaFWTDD4u02LRizLE9ml7Rp/AxB+LUFmuq316tJ9E=; b=MdW2SoSpZF/JwK7tg3uQ7X99GO
	mOlVd0R+jJjWI9a7hW1nStflYB1HWL9jPqMyOAsWIvk2lKa//ighLvYBhiyfhruAisvLQrnVDYIS0
	igoynOnLToXiP9JsgxfAjTRO3FYdCYTOuPG5SCTrfSnbKVeyDkx8OOzd8Wr5+0dGsSLc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172292-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172292: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 07:30:16 +0000

flight 172292 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172292/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   30 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 08:29:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 08:29:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382294.617197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKy8D-000269-Qp; Mon, 08 Aug 2022 08:29:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382294.617197; Mon, 08 Aug 2022 08:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKy8D-00025j-L2; Mon, 08 Aug 2022 08:29:01 +0000
Received: by outflank-mailman (input) for mailman id 382294;
 Mon, 08 Aug 2022 08:29:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8Skl=YM=citrix.com=prvs=21225e93a=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1oKy8B-00025d-Q6
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 08:29:00 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 210f741c-16f4-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 10:28:52 +0200 (CEST)
Received: from mail-dm6nam04lp2048.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Aug 2022 04:28:53 -0400
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by CH0PR03MB5987.namprd03.prod.outlook.com (2603:10b6:610:e2::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 8 Aug
 2022 08:28:51 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::11be:5f36:d3fe:ba1e]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::11be:5f36:d3fe:ba1e%7]) with mapi id 15.20.5504.020; Mon, 8 Aug 2022
 08:28:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 210f741c-16f4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659947336;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=EeFgg0PZLXmc11B2lFa4DrrH8M4ggU2n2VlpXlpGeq4=;
  b=Bs9otyIy7/89uIboxBTlplZ48nT7B4WhH/z4EgZJhQXIww117HVkKzbd
   E7+KC4IEUrAPWpRhlVaJbfs/w+WUEXM09fE8E+RgOSDcmOPca4kBUhBto
   uuT6GdqhY8eZgmQ8FKopkvqnEQj0C2SmPJ14btmMi/HgaJKaMPd6UTqpC
   c=;
X-IronPort-RemoteIP: 104.47.73.48
X-IronPort-MID: 77582049
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AVW8AiarPhKgzGXiJzN6WB3HIVUdeBgzWbkVqE?=
 =?us-ascii?q?Vv9NTMMstF8BD8lAvKqVEvT01k6UjGKW5A0biNCDDI/1qKvmsqJXJeNWK6q+?=
 =?us-ascii?q?LhGXo7d3WT2RcH+5BKnk/E4X0tSYnEDQWceaIfoFnoXCksJESOgcm0Oz3D1Y?=
 =?us-ascii?q?+kN5KhljsjiHpHlXUVn/R3tPvtvdVdgfyOtjWz2P0tVE7Y2xybiJ0N3CMxzM?=
 =?us-ascii?q?eMAs6HjGDgXbFOZ7KfvMgMpNjmXZYwvSWDxIAzJB4/wzBt4Dui6+DDbAYR8D?=
 =?us-ascii?q?L+jYlIbcOTdRVFZUFuczWxRbWJDCz91PGKkjhmMb39DKX9A2CgnrJuPxz/Hl?=
 =?us-ascii?q?u2OHHb+KWexiKHyBvHIZAdzgGpu3IumGcwAzdwUYLt1tUQg7QbAkjQllJM6s?=
 =?us-ascii?q?5bzfzPEO2qpdUu6JKcDyCj4ttFzoXmcTKE6K1YfAgYnIIqMFu33kB9Xdmwkr?=
 =?us-ascii?q?cVFB/AwnQGpqSNJbm8FxyGFaI8yItJoet4Uvo+47tKNfsgi9UwEfz2rS/pM4?=
 =?us-ascii?q?bhy7ZBpbKAIq/Lr2iYDJqKV+KrfeRBZlxaLsn4g1Qn+QP7yJwi4CdN8zMb6x?=
 =?us-ascii?q?H7hiDrcLmGHc3akhEqiwOXqev40XXH0W5nX+H7UJvtyUjAx+0NDIQHgzJ+Bn?=
 =?us-ascii?q?3b4C309y9webcUmwsNVF84OjICBaB47nndWuK/lwmGr3iqQ0Ltyqx8h6yEsC?=
 =?us-ascii?q?EV90P2d+JIOT7+6hz+m5aLsWPWv39VCfmugM5X5RP8E0ugyx53VbzqtnzHN3?=
 =?us-ascii?q?2l13XCqkVUAOsfSOM/4xmLljbpbeyLm7ygXmu8kzD32dI87qKwRAkzgYHxLC?=
 =?us-ascii?q?bqI4ZZP+r1BRvjz9eX4b1a8xfiF6OOqYJliEsUcvi5uVN2xweroBMvLU9veN?=
 =?us-ascii?q?p4ONUnIEqqCDJEmFky5LHPB+7taTj+lwUPBgzNoxFBEq7WGoQnp+43plzDyJ?=
 =?us-ascii?q?I2oFJtPbroD0y8uYE4WF68JTXV5ABCu1Y3x3A2Cz7z8BhHOzieTyHtCZ3YXs?=
 =?us-ascii?q?vtZHBOTF6E813tPyEmtWZWFUGlAP8dGiI3Ix1kb48MeoLW4iISU/Wr5M9yLF?=
 =?us-ascii?q?qlXqnD7hV7SSCCZrSH5x7f6prIiUYCe+8xtMO5ZnEOavwJ0M6ADR/jH+ZoYD?=
 =?us-ascii?q?as7TnCU8LeIj+YUr0rH3V5E8kZiBdXZOd+0fg1gGt6J8CCbqXpsv0tra22dL?=
 =?us-ascii?q?yMZnS6UNifzY4KE0joZz5cYP0ZPOfxh5ptyeEaWiuRfN2zMst90/yekbn7/N?=
 =?us-ascii?q?z0usGAykXWXBPMtdKGvGTHw1tmAIs9ADXX4LC1NLyZgvZfmN+dOVMuMIRCN5?=
 =?us-ascii?q?MUoFC5hEW7+z8EsHZBVoHt+7BQL+i1Ul6ba2kLTG0nLTagDIQM5LqRDZI/dl?=
 =?us-ascii?q?gdYA+5jsvSyMjWsqyDWCsjseBwHAPpplmHaI0OMmMGxwgor0q8ArryIA/UF1?=
 =?us-ascii?q?kip9EcITRJOU0NyrxHaX08YMOhkuzs9cTQ5kfcvyoO9dout/51Uhy8ZspvIY?=
 =?us-ascii?q?rr/qPoajGjYIjqQZNtiAE74Zj1OkTxHL4ecn7Lp0dfaTiHbu/RFMyG4VvHKs?=
 =?us-ascii?q?SwBFW0rfBJ6yPm7WKKFT7ak+6IRzMYlqOSrttpimJREo4PUDk2a7P+8SGyLW?=
 =?us-ascii?q?Fu7I/+OnK8QAPC2VxarNoTl7cTgiY9M5FREudLKYEn5Fkhda49B6DZaJ3Lmu?=
 =?us-ascii?q?qNKTG7OaKNKb2RY9Oz1Hk39CGlHN2AUewJ/KdIkop9hbSjw1NtLEe8s4XPW0?=
 =?us-ascii?q?6ICIKfUPO+aNtdO4aP340pZzSvvqEjoBmtMbKBn8dvna36KXeT/YKsvJ+Xba?=
 =?us-ascii?q?O11q8LuATHb+iMiUETqBQKnsMsySEt/2RjjwFmKry2VGxNy13aJ6mGwtS9hr?=
 =?us-ascii?q?7OHGI3qwp6zu+MBqud7r2EXbSFIgaz/FUCfNLdtcA2K/4sN7VrhNrCBQfCWa?=
 =?us-ascii?q?2ZIDaMg598OzOg7J9LRF2LazmxbrFKxzMzyv5ugQhnaeBvM3k3fh+NmGaueM?=
 =?us-ascii?q?iKqxK99NHnUImlsKZtYNuIGGazrN3rTi8DYTL/hLHTG/EGvLvMLjJDH5dN9z?=
 =?us-ascii?q?19Fx0sPyOxUvBp43+7ih1uvuAEt5TYp9dZHWAcvfG4/r5YBSASwIamlzVtnn?=
 =?us-ascii?q?rbIYSnvUJJ192p6NAizLzw9bbOfjEWmhOMYFxXZH1EnIDMjmvNev0PrqJjAd?=
 =?us-ascii?q?n8JlU4WZ0PUJMINd7GzBUOvPe5+lD/J7KprO1vRPL11Rw6aqblQH4vd3Itzx?=
 =?us-ascii?q?+pX/j+py6hL1kba8fjIxoS5W+pht0WbyMYLYJguB0V53f0ZC8mlqkwkeoqdS?=
 =?us-ascii?q?yWayKYMvjXn9uOuLmgDYJXK/ogh/Ry/fTlA59+S7mCSlYh3x2+rDAfE26IWy?=
 =?us-ascii?q?J+WmKZGlsz+AiiMgBxe/ceGNXQbvaRw61/g941pzT4LgJ1/aT7mdY1twWcHE?=
 =?us-ascii?q?8fk1WTa8V1x4oFY?=
X-IronPort-AV: E=Sophos;i="5.93,221,1654574400"; 
   d="scan'208";a="77582049"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mAOxjlm3BiU5MDAOt3z7relYO6pGn4CDLJharg+cVO6VJTiXRiauaBvzLtVbgM3yOJNUcDe7S9N/GXnCuiK9PWEpDXDS9/c6FzfKjQzdVbp0XHkOgsRh9Jj6hLYvoeHoN3m3Y0fxT4DMLtPdcPuZt9m8V4zsno2B58elPMRLgDjQ6lNNiL5w89N13ybsSeyQDVvbKBwKaU8yNVdI2uPjrhucHSLA0tHbWVQS1R6/Mt/LB3EgTq56olgvvPGReEOIXH9tc+lUZjtDt0VoDmqyflr/qpIFqoSv9rPZDPEpGP55lFpsYqigeF+9zWESF0K6tnJ0zpE9kjEZ0k3piIjAvA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EeFgg0PZLXmc11B2lFa4DrrH8M4ggU2n2VlpXlpGeq4=;
 b=SZDSkwruBzErxyuipnYheSxXt+Ni9ljNr9v+WlnsoEnjOu4zvRGVeoze3b7EcnUj/3yPvbIYBpd8DCBA1KArHgwk+yqnbFdVUSPntxG96EDqr7E3kLQmQWTph0tNuDubMgGZjPpCPMv1igDTbdZp1HUEVXQMa3J4C6NvD89MD/yZW5z0p7GYD7Kw0z6GbVRJ7HC7bdOGCpJi1oR76JwngthLwRtUbvZlYNOlF1YXlxLkohuIXK9/fUjbfDptQedPh9zkhJ9fMMXg/IFOF9gtNaCQBAQV1wKa4b8YtQUzalAjEfl8BY616Itc//kC38AMmNKXZZzH7i10McZxEmCoCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EeFgg0PZLXmc11B2lFa4DrrH8M4ggU2n2VlpXlpGeq4=;
 b=W/MasjRe2JCAj1Yy8xJEpdDvbjIscgCpBxWfJvd5/OEsS8gky3ZggzqvN/q9yQZOpo0ZVXXte6MHexoJydeme9fV6uH9gYsn9ZfltPZ4HDqj2BHRRjW9/5bkjO0WrouKFv+fy62svyXYx6+OM3lpkROJWTfmJeoVH/wtXDOahzQ=
From: Edwin Torok <edvin.torok@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 7/7] tools/ocaml/libs/eventchn: do not leak event
 channels and OCaml 5.0 compat
Thread-Topic: [PATCH v1 7/7] tools/ocaml/libs/eventchn: do not leak event
 channels and OCaml 5.0 compat
Thread-Index: AQHYo3Q0OnbES2PbE0uxc/5mBalu0q2gpUyAgAQVkQA=
Date: Mon, 8 Aug 2022 08:28:50 +0000
Message-ID: <404E8D81-3409-41FA-8DBE-3D4136D3938E@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <6e5fd9edfea379b69682fa538141298fc1bc3110.1659116941.git.edvin.torok@citrix.com>
 <cb9b9589-0d0d-d644-385a-eedcdb90f733@citrix.com>
In-Reply-To: <cb9b9589-0d0d-d644-385a-eedcdb90f733@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4ad6279e-2fe3-418b-0883-08da791805ab
x-ms-traffictypediagnostic: CH0PR03MB5987:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Vb6UKzAuUVcVmP42CbIFAigXsRuW/y3Gj61TYNmYKRCewXtWHGqUjB+ymJ98nHFjRy17lt0sEEceAjzgBSpq32Nvasz1TJZJZJ+ixgagO4wqT935koY/d/pdj4Aq/Cdj/S9Q4Fp9cDP5TFIQdGQNsCtShFP32SQmmnu45qD6D4ZUP5sO+g5L3Et2nTfFVto5zr3ZpN55TbGJWMjrYEw7efa9Y4hzdgAEsM9dDAgrQx+DfcyFkHVzzUYmP5kDQJQ8OKMJbHXmPvAbLKLwkl7xXo2z+m7QSXKgMBJObDgnXunO6+StZGzFm8VAof5oxiQ31P2HdcM6+LfAlCUx/2FG3tKPBJC9W4U52PyNy5AQpwfzScy4Q3eFHqQlWBZ5icf7N/UZFt/KAjZDdec/8O5P4FWtXfD/yI7+kez5oj90O73v/pHZ7ag65fctk9mc9KyM5h7Soft8mFKgpOFVnu6p8s7WbhFM+cANcd7Pubej/E6G6BfowZuO/YcPpMjrAHKBlDtxNesrT3S6fUI4K3y4i8UGpDT64/cxBphw2J6ePw9XT1zAliINGVyTnZB3EgvBMzIsHU0Vam2KDd10xz/xR78WO/wXR1h4IeE+kTnIGw2dSiap7mMVRxUgJrX3pFxuKAUR+ss4r2GoAbycDrCgDpYeB4OzMrI1OgiMAV/BghPIoZqjSH/cFGia/iK9weAbK31GtRg4rGRl1uHkWl6ExoWSaSPYWCwJazlHJMuAocuIALJg7kN8uUfrH3imEdQuFE6l1jW+vF7fzZvAu5nnSdek+3qfj/DNYc0WKbiab3HVTAsi+CqBWP68pwmJAXE5HZvOtLGAdnvX21Xo8S6mTdy36Lyxi/i6sPCOhfng9CfuR6HYsKSQ1aPS2QXXJRAb9wa38qRbLQjPRBHbtHjA5w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(396003)(39860400002)(366004)(376002)(37006003)(54906003)(6636002)(316002)(6486002)(478600001)(966005)(71200400001)(41300700001)(2906002)(91956017)(66946007)(4326008)(8676002)(64756008)(66446008)(66476007)(66556008)(5660300002)(76116006)(6862004)(8936002)(38100700002)(122000001)(38070700005)(82960400001)(36756003)(33656002)(86362001)(6512007)(66574015)(2616005)(107886003)(186003)(6506007)(26005)(83380400001)(53546011)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VmR1QVhHSWhnTjN5VmFIbE91RXBwWEsrOUtxdGorVjduc3BXQkdzVEZtcHlv?=
 =?utf-8?B?RFNJN0QvMjdLcWlEMHNtUXJLQWVUOTBhemtnS2pWUHZkSElxMExDTXVpYTB5?=
 =?utf-8?B?eFNmUWkxZTUxYWpvZW82cksrUHpuSmJZa0N6NjNrQnhuUEVrTC9yV3drN0x0?=
 =?utf-8?B?TituaGd5QmV3TGpLVE5BZU9pSUNUbVJvcmx1Z3VhQ3BNaWV0b2NBbElQbWU4?=
 =?utf-8?B?b2Z6YVAwRjJkOElVNHU3Q2p5RC94WlpKVG5BQTJqR1F6b2dCR2F6SG9rVHhP?=
 =?utf-8?B?OTdqcjBDaXJ3ZWg5MGMwTjdLK0cxSUtSMllpVlR1YTBTUThWK0ZpdHpGckxS?=
 =?utf-8?B?WlRzK0VqQnlrSENTYmNtWWc0MlU5dGV3OWVXdWkwUFdSeElQNWZWM0ZkRGhC?=
 =?utf-8?B?Mlk1b0cxQ3NwT3RLUmsvUkVTUGJibG90ZVNsTzNrSjhXSDBJaTd3T1NsSlNG?=
 =?utf-8?B?UE1Ic1hKYzYxYmN3Y2RlYkJsMnY4UEVZQjdZQ3dqczcvZ1piTzFBaDZvTUlY?=
 =?utf-8?B?Q3Jma2lVM09NKzZhQUczSUZkMzJpRjVTWmUxK3Eyd2hYZ1B3OGNadmFyRjNO?=
 =?utf-8?B?MldVQURkejdGRVllUWM3K0VXU3gwc24rZm1HSy94eTZYUjhyeGt3WGM0ZExX?=
 =?utf-8?B?aG5TS3hlMXhaMXpHb2Y0d3M2ZFg2Z25sa3UzSmdFVjg2VSszM0VkcUc3ajI5?=
 =?utf-8?B?RE1zQURzQ09FZmg4RHlEK0NZYmJBUDJjanhvSTdXeGdXbnc0eG1uRkp4QlVp?=
 =?utf-8?B?ZmxxaWcvQnVBanFEaXhVZjlGQThMelVCZ3ZwVFNHUzZKVVNDbDVTcXNvaFJv?=
 =?utf-8?B?c0lNeGFXV25VT3dvN0FmWHRiNUFyOEs3Qk1Da21wWnEwR3BmK1ZuRzF0Z0xj?=
 =?utf-8?B?cEMxNEdJelptdGJjYVFvZFJQZlY2L3pOdk1TNjkwS0lLNEVoTkt6b2cxVFlq?=
 =?utf-8?B?RzNnMnVONWZ1VXNYK1hNcUhzTVdaTFdLaStpcTExNklYUFRQTXRSdFM4WExV?=
 =?utf-8?B?b0NVbndKNGZjdC81VHZZNmpwRW5qY0dCNy91VkVZREJsREhmeGY4UW5IODRx?=
 =?utf-8?B?WFZEbThJUkExeVVRNXpSbGVqbVZ1cVpwOUVWc2E1eXY1NHJVbXZrSDJMS3M2?=
 =?utf-8?B?VWg4VUVvcU95YlorME9KellDaEEvZnJDRDg3R3RMbFRKazIwZU5MZ2pDVEM3?=
 =?utf-8?B?Y1lPL0toVGY3QTA1TUNNMk5DQlBybmR5R2xuSHhBVDJwNldXWHNYYzFkcS90?=
 =?utf-8?B?S1NMUmZLY0E1VkVBcEVSdW9jVEljYUpuOTFEK3V4TUM5OWlOVkdPWVpxcWRG?=
 =?utf-8?B?M1hTMEVxYzYrazVydFhTNHB4YythbU1EbVZUMnIxejVTMURTRGhGL0lrbjhi?=
 =?utf-8?B?R0xzam0xQ2RiVitIUUJFRFRNODBLazNjaEpmYU9JMzA1eDYyeDZoM09RN3ZG?=
 =?utf-8?B?RGRrSmlkazl0KzIxeW84YXloR2JQODNCTWlacklWUzlWZXJrR0pRTXVYZGho?=
 =?utf-8?B?bGhud1FYUG9jL3NvYUFITnNUSnVtaTJjcXpFcWhPcGNPbklLbXJUV3c1OFBs?=
 =?utf-8?B?a0NFaThkdlBmcmZqSGNoa1c0amp2eVVTYWg0QXprLzlMVHJvUjFsT2s3M3FJ?=
 =?utf-8?B?eG1XNlBVWm1VWTlLT3BEVGFpRk5ubjhQMFBlelpveWFoSFcwS0pJQjZKMy9J?=
 =?utf-8?B?cW45Yklxa0haSWsydFBnM2JYdnZWcU00NW90WnRScEl6bXc1bW5WcnJzbmdY?=
 =?utf-8?B?WTRQRVVyUnVmSzRlUk5VdmxFS25ieWxsU1FnNm9TZWVHbW92eE9GME81dVhz?=
 =?utf-8?B?TUkzc0FJeVFDcmFnODNKSnAzVUFhSGpvNFl5Y3dUZEJvRFJLUXk0WDJTSFdU?=
 =?utf-8?B?MGxReU1CRGhZZU5ydTdzUEFudnFCMk1odFV1dzkxUXAvN0w2ZzZDSmVGQjY3?=
 =?utf-8?B?UWhEeEQxN21jc0twUG1PcjhrdDZGWUN5SUtFcDVLUUVacHhFS0xpNWUwRVpn?=
 =?utf-8?B?Wko0MDc5R2FZOTE0U2hRUzV0V3UyNmVRanJyRHdDeDVUNS9XdEp0amJ6VTVq?=
 =?utf-8?B?TXVncEx5SmI0OFF5UnRTQ01CdDlLNHB5ZVE2UkdmRm9PaitJNE0vZTFuMXpQ?=
 =?utf-8?B?emxjRGdGaVVGWFpJaTJlcnBKUC9wUHVDelZMNFovYmp3M3FBZkZpeXZwNDlW?=
 =?utf-8?B?eEE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C006C78A1F8C984ABC3DC58A56890C45@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ad6279e-2fe3-418b-0883-08da791805ab
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Aug 2022 08:28:50.6991
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: MEMTkDjPsAArxoWn+vz5ASsWjDPQ73dfjytain96s82XHlUw6ScInotKrWZZTBgUUK3FrTMo0xO4lmhQWTh9/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB5987

DQoNCj4gT24gNSBBdWcgMjAyMiwgYXQgMTk6MDYsIEFuZHJldyBDb29wZXIgPEFuZHJldy5Db29w
ZXIzQGNpdHJpeC5jb20+IHdyb3RlOg0KPiANCj4gT24gMjkvMDcvMjAyMiAxODo1MywgRWR3aW4g
VMO2csO2ayB3cm90ZToNCj4+IEFkZCBhIGZpbmFsaXplciBvbiB0aGUgZXZlbnQgY2hhbm5lbCB2
YWx1ZSwgc28gdGhhdCBpdCBjYWxscw0KPj4gYHhlbmV2dGNobl9jbG9zZWAgd2hlbiB0aGUgdmFs
dWUgd291bGQgYmUgR0NlZC4NCj4+IA0KPj4gSW4gcHJhY3RpY2Ugb3hlbnN0b3JlZCBzZWVtcyB0
byBiZSB0aGUgb25seSB1c2VyIG9mIHRoaXMsDQo+PiBhbmQgaXQgY3JlYXRlcyBhIHNpbmdsZSBn
bG9iYWwgZXZlbnQgY2hhbm5lbCBvbmx5LA0KPj4gYnV0IGZyZWVpbmcgdGhpcyBjb3VsZCBzdGls
bCBiZSB1c2VmdWwgd2hlbiBydW4gd2l0aCBPQ0FNTFJVTlBBUkFNPWMNCj4+IA0KPj4gVGhlIGNv
ZGUgd2FzIHByZXZpb3VzbHkgY2FzdGluZyBhIEMgcG9pbnRlciB0byBhbiBPQ2FtbCB2YWx1ZSwN
Cj4+IHdoaWNoIHNob3VsZCBiZSBhdm9pZGVkOiBPQ2FtbCA1LjAgd29uJ3Qgc3VwcG9ydCBpdC4N
Cj4+IChhbGwgIm5ha2VkIiBDIHBvaW50ZXJzIG11c3QgYmUgd3JhcHBlZCBpbnNpZGUgYW4gT0Nh
bWwgdmFsdWUsDQo+PiBlaXRoZXIgYW4gQWJzdHJhY3QgdGFnLCBvciBOYXRpdmVpbnQsIHNlZSB0
aGUgbWFudWFsDQo+PiBodHRwczovL29jYW1sLm9yZy9tYW51YWwvaW50ZmMuaHRtbCNzczpjLW91
dHNpZGUtaGVhZCkNCj4+IA0KPj4gU2lnbmVkLW9mZi1ieTogRWR3aW4gVMO2csO2ayA8ZWR2aW4u
dG9yb2tAY2l0cml4LmNvbT4NCj4gDQo+IFNvIHdoaWxlIHRoaXMgbG9va3MgbGlrZSBhIGdvb2Qg
aW1wcm92ZW1lbnQsIGRvbid0IHdlIG5lZWQgdG8gZG8gaXQgZm9yDQo+IGFsbCBsaWJyYXJpZXMs
IG5vdCBqdXN0IGV2dGNobj8NCj4gDQo+IEl0IGRvZXNuJ3QgbG9vayBhcyBpZiBPY2FtbCA1LjAg
aXMgdmVyeSBmYXIgYXdheS4NCg0KVGhlcmUgYXJlIDIgd2F5cyB0byBtYWtlIGl0IHNhZmU6IHVz
ZSBhIGJsb2NrIHdpdGggQWJzdHJhY3RfdGFnLCBvciBhIGJsb2NrIHdpdGggQ3VzdG9tX3RhZzoN
Cmh0dHBzOi8vdjIub2NhbWwub3JnL21hbnVhbC9pbnRmYy5odG1sI3NzOmMtb3V0c2lkZS1oZWFk
DQoNCih0ZWNobmljYWxseSBpdCBvbmx5IGV2ZXIgd2FzIHNhZmUgdG8gdXNlIG5ha2VkIHBvaW50
ZXJzIGZvciB3b3JkLWFsaWduZWQgcG9pbnRlcnMgcHJldmlvdXNseSwgYWx0aG91Z2ggbWFsbG9j
IHVzdWFsbHkNCiBlbnN1cmVzIHNvbWUgbWluaW1hbCBhbGlnbm1lbnQpLg0KDQpUaGVyZSBpcyBh
IG1vZGUgd2hlcmUgdGhlIHJ1bnRpbWUgY2FuIHdhcm4gb24gc3RkZXJyIHdoZW5ldmVyIG5ha2Vk
IHBvaW50ZXJzIGFyZSB1c2VkICh0aGVyZSBpcyBhbiBvcGFtIHN3aXRjaCBmb3IgaXQsDQpvciBv
bmUgY2FuIHNwZWNpZnkgYSBmbGFnIGR1cmluZyB0aGUgY29tcGlsZXIgYnVpbGQgdGltZSksIGJ1
dCBpdCBvbmx5IGRvZXMgc28gd2hlbiB0aGF0IGNvZGVwYXRoIGlzIGhpdCwNCm5vdCBhdCBidWls
ZC9saW5rIHRpbWUuDQoNCkEgcXVpY2sgbG9vayBhdCB0aGUgbGliczoNCiogbGlicy9tbWFwOiB1
c2VzIEFic3RyYWN0X3RhZw0KKiBldmVudGNobjogZml4ZWQgaGVyZSB0byB1c2UgQ3VzdG9tX3Rh
Zw0KKiBsaWJzL3hjOiBuZWVkcyBmaXhpbmcsIHN0dWJfeGNfaW50ZXJmYWNlX29wZW4NCiogbGli
cy94bDogdXNlcyBDdXN0b21fdGFnIChhbHRob3VnaCBpdCBoYXMgb3RoZXIga25vd24gaXNzdWVz
IChpdCBzaG91bGQgbmV2ZXIgdXNlIGNhbWxfY2FsbGJhY2tOIGRpcmVjdGx5LCBidXQgdXNlIGNh
bWxfY2FsbGJhY2tOX2V4biwgc2VlIGh0dHBzOi8vdjIub2NhbWwub3JnL21hbnVhbC9pbnRmYy5o
dG1sI3NzOmMtY2FsbGJhY2tzKQ0KKiBsaWJzL3hlbnRvb2xsb2c6IHVzZXMgQ3VzdG9tX3RhZw0K
DQpTbyB3ZSBuZWVkIGEgcGF0Y2ggZm9yIGxpYnMveGMuDQoNCj4gDQo+PiAtLS0NCj4+IHRvb2xz
L29jYW1sL2xpYnMvZXZlbnRjaG4veGVuZXZlbnRjaG5fc3R1YnMuYyB8IDI5ICsrKysrKysrKysr
KysrKysrLS0NCj4+IDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u
cygtKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvb2NhbWwvbGlicy9ldmVudGNobi94ZW5l
dmVudGNobl9zdHVicy5jIGIvdG9vbHMvb2NhbWwvbGlicy9ldmVudGNobi94ZW5ldmVudGNobl9z
dHVicy5jDQo+PiBpbmRleCBmODg5YTdhMmU0Li5jMGQ1N2UyOTU0IDEwMDY0NA0KPj4gLS0tIGEv
dG9vbHMvb2NhbWwvbGlicy9ldmVudGNobi94ZW5ldmVudGNobl9zdHVicy5jDQo+PiArKysgYi90
b29scy9vY2FtbC9saWJzL2V2ZW50Y2huL3hlbmV2ZW50Y2huX3N0dWJzLmMNCj4+IEBAIC0zMyw3
ICszMywzMCBAQA0KPj4gI2luY2x1ZGUgPGNhbWwvZmFpbC5oPg0KPj4gI2luY2x1ZGUgPGNhbWwv
c2lnbmFscy5oPg0KPj4gDQo+PiAtI2RlZmluZSBfSChfX2gpICgoeGVuZXZ0Y2huX2hhbmRsZSAq
KShfX2gpKQ0KPj4gKy8qIFdlIHdhbnQgdG8gY2xvc2UgdGhlIGV2ZW50IGNoYW5uZWwgd2hlbiBp
dCBpcyBubyBsb25nZXIgaW4gdXNlLA0KPj4gKyAgIHdoaWNoIGNhbiBvbmx5IGJlIGRvbmUgc2Fm
ZWx5IHdpdGggYSBmaW5hbGl6ZXIuDQo+PiArICAgRXZlbnQgY2hhbm5lbHMgYXJlIHR5cGljYWxs
eSBsb25nIGxpdmVkLCBzbyB3ZSBkb24ndCBuZWVkIHRpZ2h0ZXIgY29udHJvbCBvdmVyIHJlc291
cmNlIGRlYWxsb2NhdGlvbi4NCj4+ICsgICBVc2UgYSBjdXN0b20gYmxvY2sNCj4+ICsqLw0KPj4g
Kw0KPj4gKy8qIEFjY2VzcyB0aGUgeGVuZXZ0Y2huX3QqIHBhcnQgb2YgdGhlIE9DYW1sIGN1c3Rv
bSBibG9jayAqLw0KPj4gKyNkZWZpbmUgX0goX19oKSAoKigoeGVuZXZ0Y2huX2hhbmRsZSoqKURh
dGFfY3VzdG9tX3ZhbChfX2gpKSkNCj4+ICsNCj4+ICtzdGF0aWMgdm9pZCBzdHViX2V2dGNobl9m
aW5hbGl6ZSh2YWx1ZSB2KQ0KPj4gK3sNCj4+ICsJLyogZG9jcyBzYXkgdG8gbm90IHVzZSBhbnkg
Q0FNTHBhcmFtKiBtYWNyb3MgaGVyZSAqLw0KPj4gKwl4ZW5ldnRjaG5fY2xvc2UoX0godikpOw0K
Pj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgc3RydWN0IGN1c3RvbV9vcGVyYXRpb25zIHhlbmV2dGNo
bl9vcHMgPSB7DQo+PiArCSJ4ZW5ldnRjaG4iLA0KPj4gKwlzdHViX2V2dGNobl9maW5hbGl6ZSwN
Cj4+ICsJY3VzdG9tX2NvbXBhcmVfZGVmYXVsdCwgLyogcmFpc2VzIEZhaWx1cmUsIGNhbm5vdCBj
b21wYXJlICovDQo+PiArCWN1c3RvbV9oYXNoX2RlZmF1bHQsIC8qIGlnbm9yZWQgKi8NCj4+ICsJ
Y3VzdG9tX3NlcmlhbGl6ZV9kZWZhdWx0LCAvKiByYWlzZXMgRmFpbHVyZSwgY2FuJ3Qgc2VyaWFs
aXplICovDQo+PiArCWN1c3RvbV9kZXNlcmlhbGl6ZV9kZWZhdWx0LCAvKiByYWlzZXMgRmFpbHVy
ZSwgY2FuJ3QgZGVzZXJpYWxpemUgKi8NCj4+ICsJY3VzdG9tX2NvbXBhcmVfZXh0X2RlZmF1bHQg
LyogcmFpc2VzIEZhaWx1cmUgKi8NCj4gDQo+IFRoaXMgd2FudHMgdG8gZ2FpbiBhIHRyYWlsaW5n
IGNvbW1hLg0KPiANCj4+ICt9Ow0KPj4gDQo+PiBDQU1McHJpbSB2YWx1ZSBzdHViX2V2ZW50Y2hu
X2luaXQodm9pZCkNCj4+IHsNCj4+IEBAIC00OCw3ICs3MSw5IEBAIENBTUxwcmltIHZhbHVlIHN0
dWJfZXZlbnRjaG5faW5pdCh2b2lkKQ0KPj4gCWlmICh4Y2UgPT0gTlVMTCkNCj4+IAkJY2FtbF9m
YWlsd2l0aCgib3BlbiBmYWlsZWQiKTsNCj4+IA0KPj4gLQlyZXN1bHQgPSAodmFsdWUpeGNlOw0K
Pj4gKwkvKiBjb250YWlucyBmaWxlIGRlc2NyaXB0b3JzLCB0cmlnZ2VyIGZ1bGwgR0MgYXQgbGVh
c3QgZXZlcnkgMTI4IGFsbG9jYXRpb25zICovDQo+PiArCXJlc3VsdCA9IGNhbWxfYWxsb2NfY3Vz
dG9tKCZ4ZW5ldnRjaG5fb3BzLCBzaXplb2YoeGNlKSwgMSwgMTI4KTsNCj4gDQo+IFRoZSBtZW1v
cnkgYWxsb2NhdGVkIGZvciB4Y2UgaXMgdGlueSAoNDggYnl0ZXMpIGFuZCBpbnZhcmlhbnQgZm9y
IHRoZQ0KPiBsaWZldGltZSBvZiB0aGUgZXZ0Y2huIG9iamVjdCwgd2hpY2ggd2UndmUgYWxyZWFk
eSBlc3RhYmxpc2hlZCB0ZW5kcyB0bw0KPiBvcGVyYXRlIGFzIGEgc2luZ2xldG9uIGFueXdheS4N
Cj4gDQo+IERvbid0IHdlIHdhbnQgdG8gdXNlIHRoZSByZWNvbW1lbmRlZCAwIGFuZCAxIGhlcmU/
DQoNCkl0IGlzIG5vdCBqdXN0IGFib3V0IHRoZSBtZW1vcnkgaXRzZWxmLCBidXQgYWxzbyBhYm91
dCB0aGUgZmlsZSBkZXNjcmlwdG9yczogdGhvc2UgYXJlIGEgbGltaXRlZCByZXNvdXJjZSwNCmFu
ZCBpZiB3ZSB1c2UgdGhlIDAgYW5kIDEgaXQgbWVhbnMgdGhhdCB0aGlzIHdpbGwgYmUgZ2FyYmFn
ZSBjb2xsZWN0ZWQgdmVyeSBpbmZyZXF1ZW50bHkgc2luY2UgdGhlIGFsbG9jYXRpb24gaXRzZWxm
IGlzIHZlcnkgc21hbGwsDQphbmQgeW91IGNvdWxkIHBvdGVudGlhbGx5IHJ1biBvdXQgb2YgZmls
ZSBkZXNjcmlwdG9ycyBpZiB5b3Uga2VlcCBvcGVuaW5nIG5ldyBldmVudCBjaGFubmVscy4NCk5v
dGljZSB0aGVyZSBpcyBubyBBUEkgZm9yIHRoZSB1c2VyIHRvIGNsb3NlIHRoZSBldmVudCBjaGFu
bmVsLCBzbyBpdCBoYXMgdG8gcmVseSBvbiB0aGUgR0MsIHdoaWNoIGlzIG5vdCBpZGVhbC4NCg0K
VGhlIG1pcmFnZSB2ZXJzaW9uIG9mIHRoZSBldmVudGNobiBsaWIgZG9lcyBwcm92aWRlIGEgY2xv
c2UgZnVuY3Rpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2Uvb2NhbWwtZXZ0Y2huL2Jsb2Iv
bWFpbi9saWIvZXZlbnRjaG4ubWxpLA0KYWx0aG91Z2ggaXRzIGltcGxlbWVudGF0aW9uIGp1c3Qg
bGVha3MgaXQgKHRvIGF2b2lkIHVzZS1hZnRlci1mcmVlKTogaHR0cHM6Ly9naXRodWIuY29tL21p
cmFnZS9vY2FtbC1ldnRjaG4vYmxvYi9tYWluL2xpYi9ldmVudGNobi5tbCNMNDINCg0KQXJlIGV2
ZW50IGNoYW5uZWwgYWx3YXlzIGV4cGVjdGVkIHRvIGJlIHNpbmdsZXRvbnMsIGlzIHRoZXJlIGEg
dmFsaWQgdXNlIGNhc2Ugd2hlcmUgeW91J2Qgd2FudCBtb3JlIHRoYW4gMSBldmVudCBjaGFubmVs
L3Byb2Nlc3M/DQoNCkJlc3QgcmVnYXJkcywNCi0tRWR3aW4=


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 09:17:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 09:17:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382302.617208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKyt9-00079M-84; Mon, 08 Aug 2022 09:17:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382302.617208; Mon, 08 Aug 2022 09:17:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKyt9-00079F-4m; Mon, 08 Aug 2022 09:17:31 +0000
Received: by outflank-mailman (input) for mailman id 382302;
 Mon, 08 Aug 2022 09:17:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FHLH=YM=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oKyt8-000799-5M
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 09:17:30 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150073.outbound.protection.outlook.com [40.107.15.73])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb8a1552-16fa-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 11:17:28 +0200 (CEST)
Received: from AS9PR06CA0511.eurprd06.prod.outlook.com (2603:10a6:20b:49d::6)
 by AM9PR08MB6290.eurprd08.prod.outlook.com (2603:10a6:20b:2d5::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 8 Aug
 2022 09:17:24 +0000
Received: from AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:49d:cafe::9) by AS9PR06CA0511.outlook.office365.com
 (2603:10a6:20b:49d::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15 via Frontend
 Transport; Mon, 8 Aug 2022 09:17:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT025.mail.protection.outlook.com (10.152.16.157) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Mon, 8 Aug 2022 09:17:23 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Mon, 08 Aug 2022 09:17:23 +0000
Received: from f7a8f1466d8e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 542AD46B-F8FF-4E18-A294-026331B47D60.1; 
 Mon, 08 Aug 2022 09:17:13 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f7a8f1466d8e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 08 Aug 2022 09:17:13 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AS8PR08MB6200.eurprd08.prod.outlook.com (2603:10a6:20b:292::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 8 Aug
 2022 09:17:09 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.020; Mon, 8 Aug 2022
 09:17:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb8a1552-16fa-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=P92r3rktKX1NJpONqo9Sg2QiOLsChGQhGpyw/DLPWIXsAOKZRPzm9mOhE74FZtZ0g1DBPTIUb46UWlNBsdImJ8IzFDM2G26Az7qZM/pLnOIkji1iP7sK/mUu79Ohqt38WIlkXiNA0oKUa3Sk60PhEpDIlshstl07m3hSOfhznd/vhVmt2gqDXjy3p9NQf6JNY8ybUhwyhj/3jiB4cxiF8v+kShak6rpYG4LEcAFHWkSOxUa4uFFsMwj9K7S21Kzo3K5Z5hKo0wXs6lqai9C3aO0+dNCx24xX7Dz73iuJKyoiGd9xcvDweY0VLK5uMB3UoVrkKYVPhyZz1W92nScEEg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=75iWP21dbhB/tpAA/qlwGnhI8Qt//tkztN28LXdTycU=;
 b=ODS7uxAFh2SV4PgAtbts4ZOSeOqsupckw2QrJkms5QWlvUN452HB1M9UWjsl2AVUl0moagvnzYhcY8UDgiqP2ldE+C2mT8BssNHaH6umU4KjCwO7qUE8QoJOBxyeGeN+oquGOAooZnO8BCTUmdlXBs+hZJ6OlQsaZChiXAwNbw7Tgmh56XBQ9UpD0YlCKuC65GlJ434wrultsyzrOK5BGp9m0NCvS3rcW+U9G2SfG5apBRSktB+OKwR9scFcPDT+UwmBYPqfRub26MrAhBUaM7ctLqmWqEOJliAN51zb77Hw7ULQjBrCnMtFuxQnLZ/nKQml44a3t8aBzL2ZYf3E3g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=75iWP21dbhB/tpAA/qlwGnhI8Qt//tkztN28LXdTycU=;
 b=AzBpfxMJKsTdQO8xSNgIXDmkkQDBpV7vHhXUpp6SUdQSfiG1qbt3qxlx4BuOgemklmZ65mOwKVyH+Bk9Z5Am0qvhP8OFDhel9W32S5aiXIhrJgIxOKT1sACzN765RwVEF3eq+reCE1akmn9QKeliclZyfZfhkIOimkDnDgI6hSc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3d06c4dbf8f1371e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OQDeFfZ6fs2wMvKkRlME37jDDFokDaJUpW4vbu18hIC68X1ztNceNA+hU3X69clC7UppwO/N9CXfBjVZhjFDzkzhKzkVBnyjQbJbQ/FDV1KK50IdvDEIh3Wl2Q/h4o34b1ToLo1zWs4n95dA7B0GHL38Jj2Shk33PUvYGHOrmVwq7QLGjv8LfGgxPVO9XQEgWjfA3V7UzurQKttbQIpYhw9NCyxntAVQhCciIkEyVmwtsQw54wTrmmzeCA8LkqN7WuVSDvAhx1lkrXyO8ZQe879OJ/ps8fkDsw/PO/uJgvAyX8/fcmZ/3RN7g2pVxrQmBvTXp1BX1OkeGPgMvMXdeg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=75iWP21dbhB/tpAA/qlwGnhI8Qt//tkztN28LXdTycU=;
 b=e9iLCAxJ7VnTC5Ty1q74IhK2SA33GFV1gFZtxmwHGPDMSqd8anG1BvHQKfVR5SzyU0qeKkCjW1vYu5snVcHNEHHdeWguQesiN9L9f2B08ileTWt3aTVp2E69sUaFdeZjgPmuuZWV0y5jQJcGax1Zaw47AB/lSDheml5aGc0++uCaEqCaln2uarHnj/30ED9/YIRxXZehwGcCewBXTg7mR4gTAPFYpJ9Jiu4mudC3AND4dJzdHe/SQmgdfblnwMLTEDVp+K4/O3HHaaAiK3XOTr86W/X2FnZQPIr/HRMKQflxbc5NH7sTOVaAnTOAMTiDJ9qcGGwmKaud3hISJi2nbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=75iWP21dbhB/tpAA/qlwGnhI8Qt//tkztN28LXdTycU=;
 b=AzBpfxMJKsTdQO8xSNgIXDmkkQDBpV7vHhXUpp6SUdQSfiG1qbt3qxlx4BuOgemklmZ65mOwKVyH+Bk9Z5Am0qvhP8OFDhel9W32S5aiXIhrJgIxOKT1sACzN765RwVEF3eq+reCE1akmn9QKeliclZyfZfhkIOimkDnDgI6hSc=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 7/8] xen: introduce xen-evtchn dom0less property
Thread-Topic: [PATCH 7/8] xen: introduce xen-evtchn dom0less property
Thread-Index: AQHYhkYA1mUxDH8Iek+Bi6llJii6za2gvxYAgAABLQCABEJzgA==
Date: Mon, 8 Aug 2022 09:17:08 +0000
Message-ID: <AE8DA632-9DAE-4728-8ECA-A569A8D7BB06@arm.com>
References: <cover.1655903088.git.rahul.singh@arm.com>
 <f2bc792f8dea59648b011cda4fe7c42929c4e3d7.1655903088.git.rahul.singh@arm.com>
 <B91E9B3F-27DA-4412-9F1D-AFD1287D0898@arm.com>
 <6a276407-cfcd-d383-6d51-644b463ee510@xen.org>
In-Reply-To: <6a276407-cfcd-d383-6d51-644b463ee510@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: e849f7fe-9b50-4b56-ea53-08da791ece1c
x-ms-traffictypediagnostic:
	AS8PR08MB6200:EE_|AM5EUR03FT025:EE_|AM9PR08MB6290:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 BtM0oWaW+mZPo+EYCFiDPDbAXW1p4kARjNYRsl7VmZ6QFonbVEefDZG+ZLED6qwCb5aDvN+qPGDew9ql3IxqJSKSHHWWzGQ/tgNofejwRwJphNUdvpUDEUwXj5STvtXh/5FIbVUXl0bZRfsc/CU7XFbIseoeQ2p/vxrnCZVF8vbNC0deaWgdWioM6ZQrUtVWpSETsS4aXlvRmyeiw5FBDDTkuZUYfW3C2V0HLjZDSUN0fo+MZ3SIyB+6Q89Jmyvji669R7m+7N0FBZaqla8LsRnAKgiPBDQvA24pu+IJYlQ/7BiKSLaWiiUHLpMzYH/PVWHm9TJ5LFN+8kOl7GoSmU85AmWuhFsGOWA8IUGOhTPDr9zyiSbK3u9E2Sx3VZ73/oY1lcSGnGW4Uv+4cqARCux6CbMm0dyVDJGJ2upXI8WINOz/7Wg0Sdz4q4yNw78HyTKufnyB8Kd49Prj1Ie1z810ziyJzp7YOfaHchjrfGkLzpfNMXd0iL0xB+WtfkeqpF5ne9uhiSkBQwRLYtN0VW6d63ZZwD56R0/vEGmyCRtZ1hMVYDe5ElNoGUb9MmRcY9tO9OJAAhDym8RRz/LoUq+1uHqo9rqsD9Wu68ZGgEGrJ5ICVID3xXbApZNYm+D6rkqLKXpe8QN3IdgdfU9w68vY3Upduov+dZSgVqn1xDvkddbFIBGHIw3jm10xXvJsvcoxB6tDHUtE+kGxPawzq2MuEc0a5KG8zIFh3OQDBXgyp0nXztin4NG+pCCXvcpx1DtSEXL2l5T5QMPgA7o2cNzZtvfQIj4F+UKjt8L1ePg9ohHJ41rEm987fY4r8p+GBd0NPIiDQMp3v2AAqDN94YvaJtMxkOKXLATE4q8dGRU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(376002)(366004)(396003)(136003)(5660300002)(4326008)(478600001)(33656002)(6486002)(2616005)(8936002)(26005)(8676002)(66446008)(41300700001)(76116006)(6512007)(66476007)(66556008)(6506007)(66946007)(86362001)(71200400001)(53546011)(91956017)(2906002)(64756008)(122000001)(38100700002)(38070700005)(6916009)(36756003)(186003)(316002)(54906003)(83380400001)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AA6C724BD1A5EA458AA11972FB850D4E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6200
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d07a0f76-be14-4214-ae01-08da791ec524
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X6raVAr/11JFFjk3MHkkeSFyat79AaZaAZCVIIsNK6O1N6gjp9WJ5bqrdIjet4DCyH5fIhS1szxLvchmHHPt9yxQVevnMdSm6Ni3w40LW3uOndP95nro5gJxGoj6YiuN+ee7Z/QPuVm/XPbW/i50qiSMzLxeVoQ5FCBK/Q9GSNv8QayeML0zYMqfCMMr979elBN7Acc4sxjKb0KsTxhbJ5pxwAccN/7bF8LvgcNHuxMSU6bpXHLF+Ws7RVBCAWrkh74qRdXpOLJRVzUuDRWpE08PVXahByEWcrQ5cuPdH1zM0q7CxnJfCZTEJ+JniV2ID1+TefgclntHB5PHunq+ya65ND2I1pRLuuYMyOf9RxNmNlqrwWvB0OIeKMfbfxiCX2J7TTuRz9uWUfLMe5LyMyaFeGwO0aNtXNZgAfYyBCoXL+x+5tHxVvuPToEPNT3HDIE40Q1D0exTQLlB9cpycXaZXXob09IpIW70OCAt6GswepcYBVKum4Gfzr7VBI0zNsLSeb2ToB5gGuL85ohfIKrNoK8xC5AOemHWZ0nija4sjVGmINSCukaG39MgUWGRyhwOJ9BiA0ALVl6PqwfxzvgmxXrLQ8i8JckeuQuZi6jQ6hth3a0sGVZPoz7EQpGP7vl7r3gdPgrKFpAejESVuWY76NjsaNOMQ+RVO9IcG/t8Ujl7KwJPGzq4uJUO6p4ovOxGW9BC7UJh/U+3jhHexZfpETu0jWF9hKAZthLM2SMEVaMKYg1+L9z30VWBC3y0FEV614gqD2O9O5/f1TZ8kQ3HXf2NPEdhW5zZzKP9VCnXV7RbfU04Ck8jTscmrl3dhhC6STrX3e6n64whx64Abw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(396003)(346002)(136003)(46966006)(36840700001)(40470700004)(82740400003)(36756003)(6506007)(26005)(6512007)(41300700001)(356005)(81166007)(86362001)(40480700001)(6486002)(478600001)(53546011)(33656002)(83380400001)(40460700003)(36860700001)(47076005)(107886003)(82310400005)(2616005)(336012)(186003)(2906002)(6862004)(8676002)(4326008)(70206006)(8936002)(70586007)(5660300002)(316002)(54906003)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2022 09:17:23.9702
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e849f7fe-9b50-4b56-ea53-08da791ece1c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6290

Hi Julien,

> On 5 Aug 2022, at 5:14 pm, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 05/08/2022 17:10, Rahul Singh wrote:
>> Hi ,
>=20
> Hi Rahul,
>=20
>>> On 22 Jun 2022, at 3:38 pm, Rahul Singh <Rahul.Singh@arm.com> wrote:
>>>=20
>>> Introduce a new sub-node under /chosen node to establish static event
>>> channel communication between domains on dom0less systems.
>>>=20
>>> An event channel will be created beforehand to allow the domains to
>>> send notifications to each other.
>>>=20
>>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>>> ---
>>> docs/misc/arm/device-tree/booting.txt |  62 +++++++++++-
>>> xen/arch/arm/domain_build.c           | 139 ++++++++++++++++++++++++++
>>> xen/arch/arm/include/asm/domain.h     |   1 +
>>> xen/arch/arm/include/asm/setup.h      |   1 +
>>> xen/arch/arm/setup.c                  |   2 +
>>> 5 files changed, 204 insertions(+), 1 deletion(-)
>> I am waiting for a review for this patch and the next patch in the serie=
s before
>> I send the next version. Sending this email as a gentle reminder.
>=20
> I wasn't planning to review this patch and the next one yet because this =
looks mostly parsing. I think this is more important to get patch #1-#6 cor=
rect first.

Make sense, then I will send the next version of patches #1-#6 for review.

Regards,
Rahul=20
>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 09:49:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 09:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382310.617219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzNO-00025a-QJ; Mon, 08 Aug 2022 09:48:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382310.617219; Mon, 08 Aug 2022 09:48:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzNO-00025T-NS; Mon, 08 Aug 2022 09:48:46 +0000
Received: by outflank-mailman (input) for mailman id 382310;
 Mon, 08 Aug 2022 09:48:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iWor=YM=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oKzNN-00025N-47
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 09:48:45 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a6c9a77-16ff-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 11:48:44 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id gk3so15544815ejb.8
 for <xen-devel@lists.xenproject.org>; Mon, 08 Aug 2022 02:48:44 -0700 (PDT)
Received: from uni.. ([2a02:587:ac16:4a00:e000:5de0:498c:ce14])
 by smtp.googlemail.com with ESMTPSA id
 27-20020a170906309b00b007317d1fde85sm287196ejv.89.2022.08.08.02.48.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 02:48:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a6c9a77-16ff-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=fAbvP2qffw6JPn02Gyh6ZC4rHhETkfv+Fr6KgCMMz4U=;
        b=TiT0PVwGEEod0droqvG8LTqXtWYcXMOkttkUp1jFh7eY3vNZAMHdD8Hz8wOeYeF3By
         hk1MxA1SA3x5Nn7JbDcSWj6ly4uy3EMQVX6TLTL3q2tcz7VWdmUPMM61KPo67XQtDhXR
         epcA0U0FdmfJrcdOutG+1Vc8YlMpJkXoKKqUfgfnYSJCNiqCGXqQBipAuvF6/F99LJdV
         fiXO5reMDFAsD1bscpXDnNflHEiarzSC6u3nCendQJyChzYoJYlRsCOXiJAg+8Ql5ATZ
         4GhrvDXHxw0pkvrx9I/VutFfL9TJX/pBftZY0kcNcXTf5bCfVIC0PtNBZJDkLfL+VWxC
         +kcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=fAbvP2qffw6JPn02Gyh6ZC4rHhETkfv+Fr6KgCMMz4U=;
        b=liQIzX9WtEpZK2ipFpQ+x7v1CplvgPgfrJTE1fpIF82tk04Ijn3puxNzUkdHYtkAIu
         fOVY+TDhf7mtVQQnH6uiEfLpyiBHBeLEByRqMdm5LYL48J9sU8bCTQB1Op9np4H1ODbm
         niVdQb5sKic+4zYvk5xROxMv3bmjPcXH00pa0Ap44xXNb/tpS+zyiQcfW/Z+OT9lR68q
         c4jdIqPxVGnoKtIq46qjxv4V62ueT+NPtNz076Lyop8AcWUOU0fGNzb9I4KlnieFSJ5R
         81la3q2j2p/Y/yB0hCf7q6mJ9lsPAYJO8tIWYgRx8Laq+WMqRWIMRgWfKzh7/KaLL91u
         fKeQ==
X-Gm-Message-State: ACgBeo3F4jDbS+LSEw6MkMDR9JmReWBtUP/fPLGCRPTgIU36m5/KNAwn
	Vd6ljQkyycsI8SYJ8XRogJ2mc1nLOSE=
X-Google-Smtp-Source: AA6agR6ufHUL8UFQW7m2lkSfJ0KfAMJaHnx+O5sbnk49JdbVa1z4ff7ZQib/BAI9+RN1rbhMW+RubQ==
X-Received: by 2002:a17:907:87b0:b0:731:3dfd:bc8d with SMTP id qv48-20020a17090787b000b007313dfdbc8dmr5437896ejc.607.1659952123349;
        Mon, 08 Aug 2022 02:48:43 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: regs: Fix MISRA C 2012 Rule 20.7 violation
Date: Mon,  8 Aug 2022 12:48:37 +0300
Message-Id: <20220808094837.1880522-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In macro psr_mode(), the macro parameter 'm' is used as expression and
therefore it is good to be enclosed in parentheses to prevent against
unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/arm/include/asm/regs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm/regs.h
index 794721a103..0693a68131 100644
--- a/xen/arch/arm/include/asm/regs.h
+++ b/xen/arch/arm/include/asm/regs.h
@@ -11,7 +11,7 @@
 #include <asm/current.h>
 #include <asm/processor.h>
 
-#define psr_mode(psr,m) (((psr) & PSR_MODE_MASK) == m)
+#define psr_mode(psr,m) (((psr) & PSR_MODE_MASK) == (m))
 
 static inline bool regs_mode_is_32bit(const struct cpu_user_regs *regs)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 09:50:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 09:50:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382317.617230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzPP-0003R5-5J; Mon, 08 Aug 2022 09:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382317.617230; Mon, 08 Aug 2022 09:50:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzPP-0003Qx-2U; Mon, 08 Aug 2022 09:50:51 +0000
Received: by outflank-mailman (input) for mailman id 382317;
 Mon, 08 Aug 2022 09:50:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKzPO-0003Qo-Oi; Mon, 08 Aug 2022 09:50:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKzPO-00027H-LZ; Mon, 08 Aug 2022 09:50:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKzPO-0001HK-As; Mon, 08 Aug 2022 09:50:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKzPO-0001eP-AU; Mon, 08 Aug 2022 09:50:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aiyMY54X/R3IVzS45xbJkPUErqZv8k+iMhjMLDuB1l4=; b=JxyEamMsQ/rQn3kgqHFiYHMiUh
	m9J+lCswr6/0PUcLraibzYsp2TezfTUlZftOkOcz9hnHmM1NiUJiJjrU3AP4+/ucwKIEaRT3HtmEk
	dwzzUUS8/N8sO6oiRGWMrweeaexH8Ip2zTcbE0gPGun1BBqiyM3N1fP5pV7IC5yRBa5Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172294-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172294: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 09:50:50 +0000

flight 172294 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172294/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   31 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   17 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 09:59:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 09:59:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382328.617241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzXk-00049q-Vz; Mon, 08 Aug 2022 09:59:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382328.617241; Mon, 08 Aug 2022 09:59:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzXk-00049j-T5; Mon, 08 Aug 2022 09:59:28 +0000
Received: by outflank-mailman (input) for mailman id 382328;
 Mon, 08 Aug 2022 09:59:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OsbD=YM=citrix.com=prvs=2126415cc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oKzXk-00049d-9l
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 09:59:28 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c872a6b4-1700-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 11:59:26 +0200 (CEST)
Received: from mail-mw2nam04lp2175.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Aug 2022 05:59:23 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6096.namprd03.prod.outlook.com (2603:10b6:5:397::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 8 Aug
 2022 09:59:21 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Mon, 8 Aug 2022
 09:59:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c872a6b4-1700-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659952766;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=4KdswnCGNoBj46tV+m2UQug6LHCAU7u2DJfoAWjJgcs=;
  b=B02fizQibNs3niJBc8zM+ia67QzdMAbarpLHARcC1DYirAeg5gZwyqG5
   kjpmKM+PAKvYCkqnRvG9q8NYLH2zoa+vsniYxQhJMTjXnL57EFPnmkidE
   8s2r2m7XwJ34QtawNNgd0SXQfOC1m3gVMCfQqeXR5J9ypWVqAlM1E9Wxa
   s=;
X-IronPort-RemoteIP: 104.47.73.175
X-IronPort-MID: 77587349
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:YDNWy65s5iyyPnrcWe4TLAxRtCfGchMFZxGqfqrLsTDasY5as4F+v
 mYfDG+EaPreN2XzeNkia4qx9ExX6p7RztRrTwc9+ywyHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5KSq4Vv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJF4oG7Ea5blIPTpp6
 /UxJzkvSD/bvf3jldpXSsE07igiBO/CGdtD/1Rfl3TeB/tgRo3fSaLX49MexC03ms1FAffZY
 YwedCZraxPDJRZIPz/7CrpnxLvu2ia5LGYe8Q3IzUY0yzG7IAhZ+b7hKtfKPPeNQt1YhB2wr
 WPa5WXpRBodMbRzzBLarS/82bSTzEsXXqojDZeJ/fxroWaR5TE4GQArawuwnsmQ3xvWt9V3b
 hZ8FjAVhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xCmEaQxZbZdchtctwQiYlv
 neWm/v5CDopt6eaIU9x7Z+RpDK2fC0Kd2kLYHdYSRNfuoa+5oYukhjIU9BvVravicH4Ei3xx
 DbMqzUig7IUjogA0KDTEU37vg9Ab6PhFmYdjjg7lEr/hu+lTOZJv7CV1GU=
IronPort-HdrOrdr: A9a23:1DJELq+unAi9xAoUGfRuk+F7db1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQodcdDpAtjifZtFnaQFrLX5To3SJjUO31HYYL2KjLGSiQEIfheTygcz79
 YGT0ETMrzN5B1B/L7HCWqDYpkdKbu8gcaVbI7lph8DIz2CKZsQljuRYTzrcHGeMTM2YabRY6
 Dsg/avyQDBRV0nKuCAQlUVVenKoNPG0Lj8ZwQdOhIh4A6SyRu19b/TCXGjr1YjegIK5Y1n3X
 nOkgT/6Knmmeq80AXg22ja6IkTsMf9y+FEGNeHhqEuW3XRY0eTFcdcso+5zXUISdKUmRIXeR
 730lAd1vFImjHsl6eO0F3QMkfboW8TAjTZuCKlaDPY0LDErXQBeoR8bMtiA2XkAwBLhqAC7I
 tbm22erJZZFhXGgWD04MXJTQhjkg6urWMlivN7tQ0XbWIyUs4nkWUkxjIiLL4QWCbhrIw3Gu
 hnC8/RoP5QbFOBdnjc+m1i2salUHg/FgqPBhFqgL3f7xFG2HRii0cIzs0WmXkNsJo7Vplf/u
 zBdqBljqtHQMMaZb90QO0BXcy0AGrQRg+kChPbHX33UKUcf37doZ/+57s4oOmsZZwT1ZM33I
 /MVVtJ3FRCD34Gyff+qaGj3iq9MFlVBw6du/22z6IJyYHUVf7sLTCJTkwono+pv+gfa/erKc
 qOBA==
X-IronPort-AV: E=Sophos;i="5.93,222,1654574400"; 
   d="scan'208";a="77587349"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MJVWnVt96AYlPRV1GZ96M5fcEUkvl4JCD3jkZffuWXvoUZwsQo4sAdVzF3aY2E/AeyNMFOxLoQ7MXVm2ZW9gsZIZEeyxkSB53JYPcE3wTfK3KQUB1ofPDwL4oYytugd6osjP+3tMEsrpDMJC8gyVKB4vhVoll3Jxr9NLuKJ5gN0gFHg9vQWSNgfFb6A8g4S8BWwSPdyRsdMwq+LfuWFo1xHEgV6syoCa/sV5rOoc+DmXGKskJupQjzdu0+el3AwzYd1uPD20nqBwJnbnlgFgwiNepdfqzboYCgvggJ9EdUctRVRAX1+7PXVkJDmHPQTAp8PtWncSA3KPDUSzorre3Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4KdswnCGNoBj46tV+m2UQug6LHCAU7u2DJfoAWjJgcs=;
 b=PcnCDz2+m94he09xCcvGCtC0mAUN5aUJlCirE9KKqYVcL93zP8KnOD1zPQMFDhJyySas41fQBOXhsjnYg3zJLW8jI5wpJHgSY1l3LQ1uJ8NY+yVFVMLc0Eztrvx1dSS2twKAvEYW8LwNUn8l0db40jHgKfjYu8Eext9F1KWtRJN9ZdGxaCiR3gQlkaNftfAzNXSdT6R4L8ONv2SWh6FWrcfpSlgWUESXS3eNZ33OsoLk1JdfUs98NggCGDAnGHs9TUNrH+CFHH6zdhqLj65k7+205qHab5BmusrMmuYBO3scXEXSCjYuKnW0IG9LpkGhTD3ZzS8yGkkjDSjvsasASA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4KdswnCGNoBj46tV+m2UQug6LHCAU7u2DJfoAWjJgcs=;
 b=IiPoe28Nqwez7BxiiODajmdMX1Cal6TFjGXqmt3HTDh1SxWWprcWsGgP5n5Gig9T4NEjn07K+3BB27Dkni0pFxCdz/cGU3svT9vSLMJf5t2RrIoGxKLIkGFUl+61J1XuYlh8eNteqHF50nGRXYZteKjv4lUGXxQlmvjo0m4ZCaM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 7/7] tools/ocaml/libs/eventchn: do not leak event
 channels and OCaml 5.0 compat
Thread-Topic: [PATCH v1 7/7] tools/ocaml/libs/eventchn: do not leak event
 channels and OCaml 5.0 compat
Thread-Index: AQHYo3Q7g2T4T7O1X0OIdhve1Wb7Ta2gpUyAgAQVkQCAABlAgA==
Date: Mon, 8 Aug 2022 09:59:14 +0000
Message-ID: <c3d04d8b-6c84-e2f2-1d1f-cefc7121597c@citrix.com>
References: <cover.1659116941.git.edvin.torok@citrix.com>
 <6e5fd9edfea379b69682fa538141298fc1bc3110.1659116941.git.edvin.torok@citrix.com>
 <cb9b9589-0d0d-d644-385a-eedcdb90f733@citrix.com>
 <404E8D81-3409-41FA-8DBE-3D4136D3938E@citrix.com>
In-Reply-To: <404E8D81-3409-41FA-8DBE-3D4136D3938E@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 86818ee3-4b0c-4ce7-51a3-08da7924a688
x-ms-traffictypediagnostic: DM4PR03MB6096:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 a4C5cloGh5LAKF9f3zP590zAGVbnTPTo+571odSfx2dcgYEs/EuIWZW6mGHomtf1IoeW+/cmNIc2Kilc2hrbGGjEDcXmb+uZuObzuoMxMT7lV/A2jOn6TN1PYkYVicLnAceb7QLJsMP5QXcNLM37wpJmWEZ6vH1zaH2QsoUvGv7l3Vz/G5YOBwDdlx886dIZlrk+0BMkyhpa0Onyq63OjEQYZeRETp7DBg8ck2tI7rkzkWVWScqMYo5BfiH0TqPabIyPnjwrKhLwa1fCiEhucT5yP55zvOE7SXFWM3Qd0HLdZIyPpMmrAZ86Tn34/olwdNIwYixfB4chG7HQex8NYyf1eGE9D1kAt2chgn5zBJLTV/f8dsozWkiIWpyhFolG02b5t9ZTcgaMBgXKj9MM3Miv9IGdt9cpuQQFsN0nxdLfLWuL1yNg4Ax2hUxWJDn3kmNcouNZr0eMJH9SsEQwIhkTxVQhG1+PFiWUBcZpX2A2T/gdz9Qb40pPDajndcHxXG2K7FEieYDoJ3WBmrJaQCVLzjm1Qd5HDsUNiO5nqs+iF1yeGEjNm1wFCjPbjq5fGOdo2Tqx9Laa+sW1TxxKY5w/wf8g/MqkNohQvN9ggdKE5TgMafQ45H6yMMWiTxLx5G4/JmbENqJt2vYlvY7gqBFXH7C/tHTRaK5H2k0UiaeQPBsDpnDhIVn98OVfrtBIeb+vGuZI1dTsadzW7WtaokYoI7DcaYwTOfvbXdF6GCJO2aBfvel+XL9DOLQfShqQ6Dg7XTsoILTKOBJaWs/r6RVSZn4YaOb/Z17poAwKP5FvjHaBpuxf8fsPwKnUWTSIh1nptlvHVzq+dBtH4IKio1C/U5aF9xjTnKLrWiKR7n4TXiP1J88fMsIGS/P/+Z2HBimUw9WtwsSp4v5M6L2T4hYfs/EPjc9M33/ksNSRTEpLlXDxUtknLd3vX4wrZx14
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(396003)(366004)(136003)(376002)(6506007)(53546011)(2906002)(41300700001)(83380400001)(107886003)(38100700002)(122000001)(186003)(38070700005)(66574015)(6512007)(2616005)(26005)(82960400001)(31686004)(71200400001)(64756008)(4326008)(8676002)(66446008)(91956017)(66476007)(66946007)(76116006)(36756003)(37006003)(54906003)(6636002)(66556008)(316002)(86362001)(8936002)(6862004)(478600001)(966005)(5660300002)(6486002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RFBiSGFvSW9xQ2hGZ25xQU95c0JQVnQ3b3RhakQvMHA3dXhqSG1BVmZXYmdp?=
 =?utf-8?B?RGZGK3B3STMxaEJlN1lLdjFvQ3NIWFZkd1pLeGFlMVZtTnFjTTZydTkwU1Nx?=
 =?utf-8?B?bFowVXl0U0dhZVI5cmUzUnN0blNYZEllWFNrdlNrZFVGcFBKWWJaTHh5YWRp?=
 =?utf-8?B?dHVnajF2RDMzekdMOHE4ODBQVzNKQXg1NTNmVlR3NUcwdVEwNVMvRlM1NUlq?=
 =?utf-8?B?dzN2aW9YNUhWYjVpRFJDWHF5SlFoeWNWTno3eEwwNTVBcE1FamRoSGdRZmNr?=
 =?utf-8?B?Ym9rU3pVNGQ4a2dadlM2ajBtZXU3TUpiSDlYSUVTS05Rdlk1RUFSdktRM1ZS?=
 =?utf-8?B?SE5kd2dRb29TT0d6SGl6YXJVU1ZCRi9zelljVUNDWXlzMWllZVJoNnE2eHVX?=
 =?utf-8?B?T0lXbGs4QlJ0ZzF3UlUwU2dVc3VuWDFOMVVGZTFWT29jNmRUSGRLZEVVdnVH?=
 =?utf-8?B?UjE4TkFSMHViVktJdklvUktINlZtdmpYVTRDaWU2RVJYa2dmd1NpUVdpUUpG?=
 =?utf-8?B?V010UmpaV2U0TnBzTWNLcDAzODRoTU1BVEtxUTJ6V0VtSDFiN05EQTZLWmtJ?=
 =?utf-8?B?MXpDU0xFcFZXREFCNHZOV09rOG5rRm04a1JQUWJKQlZ3NUNYZTZSR3ZzenVT?=
 =?utf-8?B?bDdURmlzdGhxOTFIM2ZIWXpaemNvMVFpSEZQcXk3YnRFMHZtUk1UQ1ZKMmxh?=
 =?utf-8?B?eStib0JKSHpTRG5ReHVmQm1mb1dTT3Z4TW5pUE92ZXVBTWQ0WFlOZmZjUmUw?=
 =?utf-8?B?eEZQWHVIb1FpUkdHSDcrZEJDZC9lMGN2d2lWdkJ1Y0NsYmhpS3FMSkRuTzRl?=
 =?utf-8?B?cndUTTcyRWhudUZLTk1lWURHVkUrUmN1NlZ4YnVJc3N6ZGNwNmRENlIvalBq?=
 =?utf-8?B?citFM0M1RldVd0ttTEhRZ3lXM1pWb3liWUZ1clF5UktieHozK0E2TnArbzk3?=
 =?utf-8?B?amlGT0MzdVJObncvQlp5TnpFdHNBeU5KZVFqcUg4dWJobFN3NnZRcTZ3SjF2?=
 =?utf-8?B?Q2k1eTR6ZVpaY3FRL0NvWUhGMHpFUE9iYVhnT0wxV0MzMGFTUExZNmRrQWlI?=
 =?utf-8?B?VjR6TVpOaWVPcGhCbEU3cDBrS0psQjRQcGVvQXBxZ1lVWndDWm90U0pYTlM2?=
 =?utf-8?B?V3IzQXBQZGh2Wk55T3lKTlNyUVV0WjlzaU1BaFpwVUtLT04vbXNaWDRmZnBl?=
 =?utf-8?B?L1JHNlRjak8zaVBNcllNMThSSlZJOThnKy9WdUVrVDFBejFWV2tOdFZGdDRq?=
 =?utf-8?B?YzBSdWZaQW5mM2xHK05Bd0NWemNSemtZSFRHR001OVhxTUVuTkhDaXBPV1Y3?=
 =?utf-8?B?Q09BZGQ3YVVWQzM0dW50TTZmTGxZQ0V6YW02MG1YTC91V0JTWGF6OWVVZkFR?=
 =?utf-8?B?SjdkVzFUR2p0UG9OcTF4SE02TlgvZUUwMHNGOGF1RTdEc1IvNDhIaVliSjJ6?=
 =?utf-8?B?dGplVkhDV3RhK0I1RnNtRmtpL3pLRWU0YkNxbGlNMGxmZ0RtRysxTHNWT2Yr?=
 =?utf-8?B?NUZwR2lNbTlPejBiSTNnNnJkbjQ4MVNZaDNxUytMN3JvYjV3bVl6VWhCdkVh?=
 =?utf-8?B?aGpveC81dzNTMjV4cy9iV1lYY2NtdmF5cFVkN05oWkc0a1F3bCtWajd0dUZh?=
 =?utf-8?B?VnJsY3pNaXRubE5qOHMydDZRR1RqcVBKTkw3d3lOa09vS001RGl4VVFUU3o3?=
 =?utf-8?B?cmgvdUJLcmZ6NFNTR0FwZHpoNEtZKytHOE12NjgyVlo5Qi9kK24ydjA2S3ZP?=
 =?utf-8?B?bVpYbDVxQ0pXR0Nib3lMckYrUndURzY3VDYxNGcvNngvWHpvc25RUHZPd05K?=
 =?utf-8?B?Y245WDUzaWdmb013VTYwNHpvZ0RtTjRtTGxpQ2VZb2xWQWR2M0pDZFJWMUxs?=
 =?utf-8?B?eXJ2d2pLUWJ2WWZ5Y1djQWZ1bG1ubkhTNTUya0p5Zi9xbDVUcmZ1UFhzNWFB?=
 =?utf-8?B?TlJoUmFJVXFsVWc0QVBNdUZ1WTRPYXpUNE1tcWNBc0lFNXBITXd4aFJObHoy?=
 =?utf-8?B?M2c4ZnVIY2JSWVRTYTAyQzJNUGh5SmkzakMrZGVZVCtTcjkwcVNZeHZOWmhi?=
 =?utf-8?B?SlRKRnp6TFFOMTFTNzY5ekFFVkhxa3JvMWlQdUl5aW5BcXVvTWpEOVZXYjF0?=
 =?utf-8?Q?4zuM+kEDccGjrQv1jRym9y1pZ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <20FAFED8058CD848BA164C8D8A5C93FE@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86818ee3-4b0c-4ce7-51a3-08da7924a688
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Aug 2022 09:59:14.5612
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3WrHpDhmydgemkmwdX5KcAmzQTpDHxHT13YFAikarFv6pIOXPe3dMMN1QC+EecvlzVWvvPJYIkucUKZ6KYbLkXtJZv42VZylpKFrQhoATHY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6096

T24gMDgvMDgvMjAyMiAwOToyOCwgRWR3aW4gVG9yb2sgd3JvdGU6DQo+PiBPbiA1IEF1ZyAyMDIy
LCBhdCAxOTowNiwgQW5kcmV3IENvb3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv
dGU6DQo+Pg0KPj4gT24gMjkvMDcvMjAyMiAxODo1MywgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4+
PiArfTsNCj4+Pg0KPj4+IENBTUxwcmltIHZhbHVlIHN0dWJfZXZlbnRjaG5faW5pdCh2b2lkKQ0K
Pj4+IHsNCj4+PiBAQCAtNDgsNyArNzEsOSBAQCBDQU1McHJpbSB2YWx1ZSBzdHViX2V2ZW50Y2hu
X2luaXQodm9pZCkNCj4+PiAJaWYgKHhjZSA9PSBOVUxMKQ0KPj4+IAkJY2FtbF9mYWlsd2l0aCgi
b3BlbiBmYWlsZWQiKTsNCj4+Pg0KPj4+IC0JcmVzdWx0ID0gKHZhbHVlKXhjZTsNCj4+PiArCS8q
IGNvbnRhaW5zIGZpbGUgZGVzY3JpcHRvcnMsIHRyaWdnZXIgZnVsbCBHQyBhdCBsZWFzdCBldmVy
eSAxMjggYWxsb2NhdGlvbnMgKi8NCj4+PiArCXJlc3VsdCA9IGNhbWxfYWxsb2NfY3VzdG9tKCZ4
ZW5ldnRjaG5fb3BzLCBzaXplb2YoeGNlKSwgMSwgMTI4KTsNCj4+IFRoZSBtZW1vcnkgYWxsb2Nh
dGVkIGZvciB4Y2UgaXMgdGlueSAoNDggYnl0ZXMpIGFuZCBpbnZhcmlhbnQgZm9yIHRoZQ0KPj4g
bGlmZXRpbWUgb2YgdGhlIGV2dGNobiBvYmplY3QsIHdoaWNoIHdlJ3ZlIGFscmVhZHkgZXN0YWJs
aXNoZWQgdGVuZHMgdG8NCj4+IG9wZXJhdGUgYXMgYSBzaW5nbGV0b24gYW55d2F5Lg0KPj4NCj4+
IERvbid0IHdlIHdhbnQgdG8gdXNlIHRoZSByZWNvbW1lbmRlZCAwIGFuZCAxIGhlcmU/DQo+IEl0
IGlzIG5vdCBqdXN0IGFib3V0IHRoZSBtZW1vcnkgaXRzZWxmLCBidXQgYWxzbyBhYm91dCB0aGUg
ZmlsZSBkZXNjcmlwdG9yczogdGhvc2UgYXJlIGEgbGltaXRlZCByZXNvdXJjZSwNCj4gYW5kIGlm
IHdlIHVzZSB0aGUgMCBhbmQgMSBpdCBtZWFucyB0aGF0IHRoaXMgd2lsbCBiZSBnYXJiYWdlIGNv
bGxlY3RlZCB2ZXJ5IGluZnJlcXVlbnRseSBzaW5jZSB0aGUgYWxsb2NhdGlvbiBpdHNlbGYgaXMg
dmVyeSBzbWFsbCwNCj4gYW5kIHlvdSBjb3VsZCBwb3RlbnRpYWxseSBydW4gb3V0IG9mIGZpbGUg
ZGVzY3JpcHRvcnMgaWYgeW91IGtlZXAgb3BlbmluZyBuZXcgZXZlbnQgY2hhbm5lbHMuDQo+IE5v
dGljZSB0aGVyZSBpcyBubyBBUEkgZm9yIHRoZSB1c2VyIHRvIGNsb3NlIHRoZSBldmVudCBjaGFu
bmVsLCBzbyBpdCBoYXMgdG8gcmVseSBvbiB0aGUgR0MsIHdoaWNoIGlzIG5vdCBpZGVhbC4NCj4N
Cj4gVGhlIG1pcmFnZSB2ZXJzaW9uIG9mIHRoZSBldmVudGNobiBsaWIgZG9lcyBwcm92aWRlIGEg
Y2xvc2UgZnVuY3Rpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2Uvb2NhbWwtZXZ0Y2huL2Js
b2IvbWFpbi9saWIvZXZlbnRjaG4ubWxpLA0KPiBhbHRob3VnaCBpdHMgaW1wbGVtZW50YXRpb24g
anVzdCBsZWFrcyBpdCAodG8gYXZvaWQgdXNlLWFmdGVyLWZyZWUpOiBodHRwczovL2dpdGh1Yi5j
b20vbWlyYWdlL29jYW1sLWV2dGNobi9ibG9iL21haW4vbGliL2V2ZW50Y2huLm1sI0w0Mg0KPg0K
PiBBcmUgZXZlbnQgY2hhbm5lbCBhbHdheXMgZXhwZWN0ZWQgdG8gYmUgc2luZ2xldG9ucywgaXMg
dGhlcmUgYSB2YWxpZCB1c2UgY2FzZSB3aGVyZSB5b3UnZCB3YW50IG1vcmUgdGhhbiAxIGV2ZW50
IGNoYW5uZWwvcHJvY2Vzcz8NCg0KQ2FyZWZ1bCBvbiB0ZXJtaW5vbG9neS7CoCBXZSdyZSBkaXNj
dXNzaW5nIGFuIG9wZW4gL2Rldi94ZW4vZXZ0Y2huIGZpbGUNCmhhbmRsZSwgdXBvbiB3aGljaCBh
biBhcmJpdHJhcnkgbnVtYmVyIG9mIGV2ZW50IGNoYW5uZWxzIGFyZSBtdWxpcGxleGVkLg0KDQpU
aGVyZSdzIG5vIGdvb2QgcmVhc29uIHRvIGhhdmUgbW9yZSB0aGFuIG9uZSBmaWxlIGhhbmRsZSBv
cGVuLCBhbmQNCnRoZXJlJ3Mgbm8gZ29vZCByZWFzb24gdG8gY2xvc2UgaXQgZXhjZXB0IGR1cmlu
ZyBzaHV0ZG93bi4NCg0KU28gMCBhbmQgMSBhcmUgcHJvYmFibHkgdGhlIHJpZ2h0IHZhbHVlcyBp
biB0aGlzIGNhc2UuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 10:04:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 10:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382336.617252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzcw-0005dd-JZ; Mon, 08 Aug 2022 10:04:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382336.617252; Mon, 08 Aug 2022 10:04:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzcw-0005dW-Gg; Mon, 08 Aug 2022 10:04:50 +0000
Received: by outflank-mailman (input) for mailman id 382336;
 Mon, 08 Aug 2022 10:04:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qbuG=YM=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oKzcv-0005dQ-CI
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 10:04:49 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 848d2d12-1701-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 12:04:40 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id AE52B20B36;
 Mon,  8 Aug 2022 10:04:47 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 819C813A7C;
 Mon,  8 Aug 2022 10:04:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hvJ+Hb/f8GKNfgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 08 Aug 2022 10:04:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 848d2d12-1701-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659953087; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=A5Vdp259iyrPQhr6eAL7IwFXUp/JMkHtIHoNgO1dQDc=;
	b=hgVy9lJSK/wYikaE34t02MeS/vqAeJbhJiCeKFYfgKmyMb6j6rePn3wPBsQI6fSHrQsw8N
	AtqlCAHjN2Z/cZRtwcwaZrs7rp4oiHm2JKEgnzzQ6QTZ+Hz8R7RTUN+f5hvZDr35nCR7Yu
	97VQz33T7jtSJsBoOb0yHT/RWxrwHuM=
Message-ID: <b0a8e835-dbd0-6522-3bd0-edde27861323@suse.com>
Date: Mon, 8 Aug 2022 12:04:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-3-jgross@suse.com>
 <5b68bc1d-e920-bae8-52c9-809d9f4919f8@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
In-Reply-To: <5b68bc1d-e920-bae8-52c9-809d9f4919f8@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ryEXm5CfPWHLZY0z5E1dfb0j"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ryEXm5CfPWHLZY0z5E1dfb0j
Content-Type: multipart/mixed; boundary="------------OP00nIFVC0f0kMGJIlKj4Xej";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Message-ID: <b0a8e835-dbd0-6522-3bd0-edde27861323@suse.com>
Subject: Re: [PATCH 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802132747.22507-3-jgross@suse.com>
 <5b68bc1d-e920-bae8-52c9-809d9f4919f8@suse.com>
In-Reply-To: <5b68bc1d-e920-bae8-52c9-809d9f4919f8@suse.com>

--------------OP00nIFVC0f0kMGJIlKj4Xej
Content-Type: multipart/mixed; boundary="------------ZucyvOwvbWH2IKNeIJLdnkSg"

--------------ZucyvOwvbWH2IKNeIJLdnkSg
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDMuMDguMjIgMTE6MjUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMi4wOC4yMDIy
IDE1OjI3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEveGVuL2NvbW1vbi9zY2hl
ZC9jb3JlLmMNCj4+ICsrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+PiBAQCAtMzE5
MCw2ICszMTkwLDY2IEBAIG91dDoNCj4+ICAgICAgIHJldHVybiByZXQ7DQo+PiAgIH0NCj4+
ICAgDQo+PiArc3RhdGljIHN0cnVjdCBjcHVfcm1fZGF0YSAqc2NoZWR1bGVfY3B1X3JtX2Fs
bG9jKHVuc2lnbmVkIGludCBjcHUpDQo+PiArew0KPj4gKyAgICBzdHJ1Y3QgY3B1X3JtX2Rh
dGEgKmRhdGE7DQo+PiArICAgIHN0cnVjdCBzY2hlZF9yZXNvdXJjZSAqc3I7DQo+IA0KPiBj
b25zdD8NCg0KWWVzLg0KDQo+IA0KPj4gKyAgICBpbnQgaWR4Ow0KPiANCj4gV2hpbGUgY29k
ZSBpcyBzdXBwb3NlZGx5IG9ubHkgYmVpbmcgbW92ZWQsIEkgc3RpbGwgcXVlc3Rpb24gdGhp
cyBub3QNCj4gYmVpbmcgInVuc2lnbmVkIGludCIsIHRoZSBtb3JlIHRoYXQgc3ItPmdyYW51
bGFyaXR5IGlzICJ1bnNpZ25lZCBpbnQiDQo+IGFzIHdlbGwuIChTYW1lIHRoZW4gZm9yIHRo
ZSByZXRhaW5lZCBpbnN0YW5jZSBvZnRoZSB2YXJpYWJsZSBpbiB0aGUNCj4gb3JpZ2luYWwg
ZnVuY3Rpb24uKSBPZiBjb3Vyc2UgdGhlIGxvb3AgaW4gdGhlIGVycm9yIHBhdGggdGhlbiBu
ZWVkcw0KPiB3cml0aW5nIGRpZmZlcmVudGx5Lg0KDQpJIGNvbnNpZGVyZWQgdGhhdCBhbmQg
ZGlkbid0IHdhbnQgdG8gY2hhbmdlIHRoZSBsb29wLiBPVE9IIHRoaXMgc2VlbXMNCnRvIGJl
IHJhdGhlciB0cml2aWFsLCBzbyBJIGNhbiBkbyB0aGUgc3dpdGNoLg0KDQo+IA0KPj4gKyAg
ICByY3VfcmVhZF9sb2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7DQo+PiArDQo+PiArICAgIHNy
ID0gZ2V0X3NjaGVkX3JlcyhjcHUpOw0KPj4gKyAgICBkYXRhID0geHphbGxvY19mbGV4X3N0
cnVjdChzdHJ1Y3QgY3B1X3JtX2RhdGEsIHNyLCBzci0+Z3JhbnVsYXJpdHkgLSAxKTsNCj4g
DQo+IEFmYWljdCB4bWFsbG9jX2ZsZXhfc3RydWN0KCkgd291bGQgZG8gaGVyZSwgYXMgeW91
IGZpbGwgYWxsIGZpZWxkcy4NCg0KT2theS4NCg0KPiANCj4+ICsgICAgaWYgKCAhZGF0YSAp
DQo+PiArICAgICAgICBnb3RvIG91dDsNCj4+ICsNCj4+ICsgICAgZGF0YS0+b2xkX29wcyA9
IHNyLT5zY2hlZHVsZXI7DQo+PiArICAgIGRhdGEtPnZwcml2X29sZCA9IGlkbGVfdmNwdVtj
cHVdLT5zY2hlZF91bml0LT5wcml2Ow0KPj4gKyAgICBkYXRhLT5wcHJpdl9vbGQgPSBzci0+
c2NoZWRfcHJpdjsNCj4gDQo+IEF0IGxlYXN0IGZyb20gYW4gYWJzdHJhY3QgcGVyc3BlY3Rp
dmUsIGRvZXNuJ3QgcmVhZGluZyBmaWVsZHMgZnJvbQ0KPiBzciByZXF1aXJlIHRoZSBSQ1Ug
bG9jayB0byBiZSBoZWxkIGNvbnRpbnVvdXNseSAoaS5lLiBub3QgZHJvcHBpbmcNCj4gaXQg
YXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uIGFuZCByZS1hY3F1aXJpbmcgaXQgaW4gdGhl
IGNhbGxlcik/DQo+IA0KPj4gKyAgICBmb3IgKCBpZHggPSAwOyBpZHggPCBzci0+Z3JhbnVs
YXJpdHkgLSAxOyBpZHgrKyApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIGRhdGEtPnNyW2lk
eF0gPSBzY2hlZF9hbGxvY19yZXMoKTsNCj4+ICsgICAgICAgIGlmICggZGF0YS0+c3JbaWR4
XSApDQo+PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgZGF0YS0+c3JbaWR4XS0+c2No
ZWRfdW5pdF9pZGxlID0gc2NoZWRfYWxsb2NfdW5pdF9tZW0oKTsNCj4+ICsgICAgICAgICAg
ICBpZiAoICFkYXRhLT5zcltpZHhdLT5zY2hlZF91bml0X2lkbGUgKQ0KPj4gKyAgICAgICAg
ICAgIHsNCj4+ICsgICAgICAgICAgICAgICAgc2NoZWRfcmVzX2ZyZWUoJmRhdGEtPnNyW2lk
eF0tPnJjdSk7DQo+PiArICAgICAgICAgICAgICAgIGRhdGEtPnNyW2lkeF0gPSBOVUxMOw0K
Pj4gKyAgICAgICAgICAgIH0NCj4+ICsgICAgICAgIH0NCj4+ICsgICAgICAgIGlmICggIWRh
dGEtPnNyW2lkeF0gKQ0KPj4gKyAgICAgICAgew0KPj4gKyAgICAgICAgICAgIGZvciAoIGlk
eC0tOyBpZHggPj0gMDsgaWR4LS0gKQ0KPj4gKyAgICAgICAgICAgICAgICBzY2hlZF9yZXNf
ZnJlZSgmZGF0YS0+c3JbaWR4XS0+cmN1KTsNCj4+ICsgICAgICAgICAgICB4ZnJlZShkYXRh
KTsNCj4+ICsgICAgICAgICAgICBkYXRhID0gTlVMTDsNCj4gDQo+IFhGUkVFKCk/DQoNCk9o
LCByaWdodC4gRm9yZ290IGFib3V0IHRoYXQgcG9zc2liaWxpdHkuDQoNCj4gDQo+PiBAQCAt
MzE5OCw1MyArMzI1OCwyMiBAQCBvdXQ6DQo+PiAgICAqLw0KPj4gICBpbnQgc2NoZWR1bGVf
Y3B1X3JtKHVuc2lnbmVkIGludCBjcHUpDQo+PiAgIHsNCj4+IC0gICAgdm9pZCAqcHByaXZf
b2xkLCAqdnByaXZfb2xkOw0KPj4gLSAgICBzdHJ1Y3Qgc2NoZWRfcmVzb3VyY2UgKnNyLCAq
KnNyX25ldyA9IE5VTEw7DQo+PiArICAgIHN0cnVjdCBzY2hlZF9yZXNvdXJjZSAqc3I7DQo+
PiArICAgIHN0cnVjdCBjcHVfcm1fZGF0YSAqZGF0YTsNCj4+ICAgICAgIHN0cnVjdCBzY2hl
ZF91bml0ICp1bml0Ow0KPj4gLSAgICBzdHJ1Y3Qgc2NoZWR1bGVyICpvbGRfb3BzOw0KPj4g
ICAgICAgc3BpbmxvY2tfdCAqb2xkX2xvY2s7DQo+PiAgICAgICB1bnNpZ25lZCBsb25nIGZs
YWdzOw0KPj4gLSAgICBpbnQgaWR4LCByZXQgPSAtRU5PTUVNOw0KPj4gKyAgICBpbnQgaWR4
ID0gMDsNCj4+ICAgICAgIHVuc2lnbmVkIGludCBjcHVfaXRlcjsNCj4+ICAgDQo+PiArICAg
IGRhdGEgPSBzY2hlZHVsZV9jcHVfcm1fYWxsb2MoY3B1KTsNCj4+ICsgICAgaWYgKCAhZGF0
YSApDQo+PiArICAgICAgICByZXR1cm4gLUVOT01FTTsNCj4+ICsNCj4+ICAgICAgIHJjdV9y
ZWFkX2xvY2soJnNjaGVkX3Jlc19yY3Vsb2NrKTsNCj4+ICAgDQo+PiAgICAgICBzciA9IGdl
dF9zY2hlZF9yZXMoY3B1KTsNCj4+IC0gICAgb2xkX29wcyA9IHNyLT5zY2hlZHVsZXI7DQo+
PiAgIA0KPj4gLSAgICBpZiAoIHNyLT5ncmFudWxhcml0eSA+IDEgKQ0KPj4gLSAgICB7DQo+
IA0KPiBUaGlzIGNvbmRpdGlvbmFsIGlzIGxvc3QgYWZhaWN0LCByZXN1bHRpbmcgaW4gcG90
ZW50aWFsbHkgd3JvbmcgYmVoYXZpb3INCj4gaW4gdGhlIG5ldyBoZWxwZXIuIENvbnNpZGVy
aW5nIGl0cyBwdXJwb3NlIEkgZXhwZWN0IHRoZXJlJ3MgYSBndWFyYW50ZWUNCj4gdGhhdCB0
aGUgZmllbGQncyB2YWx1ZSBjYW4gbmV2ZXIgYmUgemVybywgYnV0IHRoZW4gSSBndWVzcyBh
biBBU1NFUlQoKQ0KPiB3b3VsZCBiZSBuaWNlIG5leHQgdG8gdGhlIHBvdGVudGlhbGx5IHBy
b2JsZW1hdGljIHVzZXMgaW4gdGhlIGhlbHBlci4NCg0KSSdsbCBhZGQgdGhlIEFTU0VSVCgp
Lg0KDQo+IA0KPj4gLS0tIGEveGVuL2NvbW1vbi9zY2hlZC9wcml2YXRlLmgNCj4+ICsrKyBi
L3hlbi9jb21tb24vc2NoZWQvcHJpdmF0ZS5oDQo+PiBAQCAtNTk4LDYgKzU5OCwxNCBAQCBz
dHJ1Y3QgYWZmaW5pdHlfbWFza3Mgew0KPj4gICAgICAgY3B1bWFza192YXJfdCBzb2Z0Ow0K
Pj4gICB9Ow0KPj4gICANCj4+ICsvKiBNZW1vcnkgYWxsb2NhdGlvbiByZWxhdGVkIGRhdGEg
Zm9yIHNjaGVkdWxlX2NwdV9ybSgpLiAqLw0KPj4gK3N0cnVjdCBjcHVfcm1fZGF0YSB7DQo+
PiArICAgIHN0cnVjdCBzY2hlZHVsZXIgKm9sZF9vcHM7DQo+IA0KPiBjb25zdD8NCg0KWWVz
Lg0KDQoNCkp1ZXJnZW4NCg0K
--------------ZucyvOwvbWH2IKNeIJLdnkSg
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------ZucyvOwvbWH2IKNeIJLdnkSg--

--------------OP00nIFVC0f0kMGJIlKj4Xej--

--------------ryEXm5CfPWHLZY0z5E1dfb0j
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLw378FAwAAAAAACgkQsN6d1ii/Ey/I
ZAf+JsfSUOVNEYr3wqoUg7XJoLKwhGl3vgI0lqKxiRuIiyaOj6BcoNJGU050A0v+1PWCzHyGXu6z
sjQ0dRNF69FRQGsu7I2aTdcP7iibgpg9wt0qv2aNWop/iIamn8ksH6ALoaJOvEn4Ym5b0ZRle22v
w5n/ZC/oLfn/MEa3HIBH5xliPDI+1r97c0LllCIJb0mLMOazTspMvtHZNHS1W8QZX9wU9kCiJZk1
1KW8nOy3ZKIZfK+R4Qc03AzQVKN0EI+03JTBeqc/78Qs4cD4Z9m9vDJ8l/YZscaARGK110/XZGMD
QCMJ7Ag20zvVQl/frgBDALMX/mgkIvfMWHw2NwtuQw==
=UcBQ
-----END PGP SIGNATURE-----

--------------ryEXm5CfPWHLZY0z5E1dfb0j--


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 10:19:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 10:19:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382346.617263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzqb-0007Dx-Ur; Mon, 08 Aug 2022 10:18:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382346.617263; Mon, 08 Aug 2022 10:18:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzqb-0007Dq-Ry; Mon, 08 Aug 2022 10:18:57 +0000
Received: by outflank-mailman (input) for mailman id 382346;
 Mon, 08 Aug 2022 10:18:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKzqa-0007Dg-Ai; Mon, 08 Aug 2022 10:18:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKzqa-0002hL-6T; Mon, 08 Aug 2022 10:18:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oKzqZ-0002Tj-OV; Mon, 08 Aug 2022 10:18:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oKzqZ-0002aB-O4; Mon, 08 Aug 2022 10:18:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qmMPPVmT/Kf5IG3H9Xh0iR0Fx+wLhi58ahFHR1S5ab4=; b=Gt9g5eHyhtJq31o7H7reMmXUqf
	/bBhb+frmB4Sf+mShbfeGxwNkanA0wyjV88m4n78GkwxLlSKZJNjjrB9pqk0Yk/4g9blc7fMK0yXY
	MmJ46oHjwSZA+R/dXpcqfpfh00eBkoYrM13+s9Veddj9yvGULj8b4kYmy3K0Narzdl5Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172291-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172291: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=70768cda9740d1fbc4b95460247bc5384d7e31a1
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 10:18:55 +0000

flight 172291 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172291/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              70768cda9740d1fbc4b95460247bc5384d7e31a1
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  759 days
Failing since        151818  2020-07-11 04:18:52 Z  758 days  740 attempts
Testing same since   172221  2022-08-06 04:19:00 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118351 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 10:21:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 10:21:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382355.617274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKztA-000097-Bw; Mon, 08 Aug 2022 10:21:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382355.617274; Mon, 08 Aug 2022 10:21:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKztA-000090-9A; Mon, 08 Aug 2022 10:21:36 +0000
Received: by outflank-mailman (input) for mailman id 382355;
 Mon, 08 Aug 2022 10:21:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qbuG=YM=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oKzt8-00008s-Fh
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 10:21:34 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dfea6c85-1703-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 12:21:33 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 83BFF1FEBA;
 Mon,  8 Aug 2022 10:21:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 50EDA13A7C;
 Mon,  8 Aug 2022 10:21:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +2LKEazj8GJyCAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 08 Aug 2022 10:21:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfea6c85-1703-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659954092; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=eiVDu9L2SK5hcIvnswXroy+I4f05Cq3o95eqceWP36c=;
	b=RjjXemFo2CdoGoMsqPWda6nNkHQGJX3Uqa7vNZuH55mD5kN+OQgGy3Hu3ZuC8t4l1Po18y
	dK3yNNDd9s4WCkxG6BRcrB2lY9GpWWBCezoggBpQUIKKj5bxkpq/XIor3VyM6IOAk9SbtU
	RRvS+te6fGN2N2PRrt8bcbbZs1tCs+s=
Message-ID: <353f3e95-f8e8-5c25-b5e8-8d90ea62e737@suse.com>
Date: Mon, 8 Aug 2022 12:21:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, Gao Ruifeng <ruifeng.gao@intel.com>,
 xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802133619.22965-1-jgross@suse.com>
 <e62049ce-09e4-f457-f849-16ce9c581145@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 3/3] xen/sched: fix cpu hotplug
In-Reply-To: <e62049ce-09e4-f457-f849-16ce9c581145@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mO6Qx4gH3Iqj0D5sYHANGhev"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mO6Qx4gH3Iqj0D5sYHANGhev
Content-Type: multipart/mixed; boundary="------------XpTVwd2LTSlPXb6h056WHRF6";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, Gao Ruifeng <ruifeng.gao@intel.com>,
 xen-devel@lists.xenproject.org
Message-ID: <353f3e95-f8e8-5c25-b5e8-8d90ea62e737@suse.com>
Subject: Re: [PATCH 3/3] xen/sched: fix cpu hotplug
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802133619.22965-1-jgross@suse.com>
 <e62049ce-09e4-f457-f849-16ce9c581145@suse.com>
In-Reply-To: <e62049ce-09e4-f457-f849-16ce9c581145@suse.com>

--------------XpTVwd2LTSlPXb6h056WHRF6
Content-Type: multipart/mixed; boundary="------------rEDsPYdO951uw7RzXekUF0tL"

--------------rEDsPYdO951uw7RzXekUF0tL
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDMuMDguMjIgMTE6NTMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMi4wOC4yMDIy
IDE1OjM2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEveGVuL2NvbW1vbi9zY2hl
ZC9jcHVwb29sLmMNCj4+ICsrKyBiL3hlbi9jb21tb24vc2NoZWQvY3B1cG9vbC5jDQo+PiBA
QCAtNDE5LDYgKzQxOSw4IEBAIHN0YXRpYyBpbnQgY3B1cG9vbF9hbGxvY19hZmZpbl9tYXNr
cyhzdHJ1Y3QgYWZmaW5pdHlfbWFza3MgKm1hc2tzKQ0KPj4gICAgICAgICAgIHJldHVybiAw
Ow0KPj4gICANCj4+ICAgICAgIGZyZWVfY3B1bWFza192YXIobWFza3MtPmhhcmQpOw0KPj4g
KyAgICBtZW1zZXQobWFza3MsIDAsIHNpemVvZigqbWFza3MpKTsNCj4gDQo+IEZSRUVfQ1BV
TUFTS19WQVIoKT8NCg0KT2gsIHllcy4NCg0KPiANCj4+IEBAIC0xMDMxLDEwICsxMDQxLDIz
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgY3B1X2NhbGxiYWNrKA0KPj4gICB7DQo+PiAgICAg
ICB1bnNpZ25lZCBpbnQgY3B1ID0gKHVuc2lnbmVkIGxvbmcpaGNwdTsNCj4+ICAgICAgIGlu
dCByYyA9IDA7DQo+PiArICAgIHN0YXRpYyBzdHJ1Y3QgY3B1X3JtX2RhdGEgKm1lbTsNCj4g
DQo+IFdoZW4geW91IG1lbnRpb25lZCB5b3VyIHBsYW4sIEkgd2FzIGFjdHVhbGx5IGVudmlz
aW9uaW5nIGEgc2xpZ2h0bHkNCj4gZGlmZmVyZW50IG1vZGVsOiBJbnN0ZWFkIG9mIGRvaW5n
IHRoZSBhbGxvY2F0aW9uIGF0IENQVV9ET1dOX1BSRVBBUkUsDQo+IGFsbG9jYXRlIGEgc2lu
Z2xlIGluc3RhbmNlIGR1cmluZyBib290LCB3aGljaCB3b3VsZCBuZXZlciBiZSBmcmVlZC4N
Cj4gRGlkIHlvdSBjb25zaWRlciBzdWNoLCBhbmQgaXQgdHVybmVkIG91dCB3b3JzZT8gSSBn
dWVzcyB0aGUgbWFpbg0KPiBvYnN0YWNsZSB3b3VsZCBiZSBmaWd1cmluZyBhbiB1cHBlciBi
b3VuZCBmb3Igc3ItPmdyYW51bGFyaXR5LCBidXQNCj4gb2YgY291cnNlIHNjaGVkdWxlX2Nw
dV9ybV9hbGxvYygpLCBiZXNpZGVzIHRoZSBhbGxvY2F0aW9ucywgYWxzbw0KPiBkb2VzIHF1
aXRlIGEgYml0IG9mIGZpbGxpbmcgaW4gdmFsdWVzLCB3aGljaCBjYW4ndCBiZSBkb25lIHVw
IGZyb250Lg0KDQpXaXRoIHNjaGVkLWdyYW49c29ja2V0IHNyLT5ncmFudWxhcml0eSBjYW4g
Z3JvdyB0byBhYm92ZSAxMDAsIHNvIEknbQ0Kbm90IHN1cmUgd2UnZCB3YW50IHRvIGRvIHRo
YXQuDQoNCj4gDQo+PiAgICAgICBzd2l0Y2ggKCBhY3Rpb24gKQ0KPj4gICAgICAgew0KPj4g
ICAgICAgY2FzZSBDUFVfRE9XTl9GQUlMRUQ6DQo+PiArICAgICAgICBpZiAoIHN5c3RlbV9z
dGF0ZSA8PSBTWVNfU1RBVEVfYWN0aXZlICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAg
ICAgICBpZiAoIG1lbSApDQo+PiArICAgICAgICAgICAgew0KPj4gKyAgICAgICAgICAgICAg
ICBpZiAoIG1lbWNocl9pbnYoJm1lbS0+YWZmaW5pdHksIDAsIHNpemVvZihtZW0tPmFmZmlu
aXR5KSkgKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgY3B1cG9vbF9mcmVlX2FmZmluX21h
c2tzKCZtZW0tPmFmZmluaXR5KTsNCj4gDQo+IEkgZG9uJ3QgdGhpbmsgdGhlIGNvbmRpdGlv
bmFsIGlzIHJlYWxseSBuZWVkZWQgLSBpdCBtZXJlbHkgYXZvaWRzIHR3bw0KPiB4ZnJlZShO
VUxMKSBpbnZvY2F0aW9ucyBhdCB0aGUgZXhwZW5zZSBvZiByZWFkYWJpbGl0eSBoZXJlLiBQ
bHVzIC0NCg0KT2theS4NCg0KPiB3b3VsZG4ndCB0aGlzIGJldHRlciBiZSBwYXJ0IG9mIC4u
Lg0KPiANCj4+ICsgICAgICAgICAgICAgICAgc2NoZWR1bGVfY3B1X3JtX2ZyZWUobWVtLCBj
cHUpOw0KPiANCj4gLi4uIHRoaXMgYW55d2F5Pw0KDQpUaGlzIHdvdWxkIGFkZCBhIGxheWVy
aW5nIHZpb2xhdGlvbiBJTUhPLg0KDQo+IA0KPj4gQEAgLTEwNDIsMTIgKzEwNjUsMzIgQEAg
c3RhdGljIGludCBjZl9jaGVjayBjcHVfY2FsbGJhY2soDQo+PiAgICAgICBjYXNlIENQVV9E
T1dOX1BSRVBBUkU6DQo+PiAgICAgICAgICAgLyogU3VzcGVuZC9SZXN1bWUgZG9uJ3QgY2hh
bmdlIGFzc2lnbm1lbnRzIG9mIGNwdXMgdG8gY3B1cG9vbHMuICovDQo+PiAgICAgICAgICAg
aWYgKCBzeXN0ZW1fc3RhdGUgPD0gU1lTX1NUQVRFX2FjdGl2ZSApDQo+PiArICAgICAgICB7
DQo+PiAgICAgICAgICAgICAgIHJjID0gY3B1cG9vbF9jcHVfcmVtb3ZlX3Byb2xvZ3VlKGNw
dSk7DQo+PiArICAgICAgICAgICAgaWYgKCAhcmMgKQ0KPj4gKyAgICAgICAgICAgIHsNCj4+
ICsgICAgICAgICAgICAgICAgQVNTRVJUKCFtZW0pOw0KPj4gKyAgICAgICAgICAgICAgICBt
ZW0gPSBzY2hlZHVsZV9jcHVfcm1fYWxsb2MoY3B1KTsNCj4+ICsgICAgICAgICAgICAgICAg
cmMgPSBtZW0gPyBjcHVwb29sX2FsbG9jX2FmZmluX21hc2tzKCZtZW0tPmFmZmluaXR5KSA6
IC1FTk9NRU07DQo+IA0KPiBBaCAtIGhlcmUgeW91IGFjdHVhbGx5IHdhbnQgYSBub24tYm9v
bGVhbiByZXR1cm4gdmFsdWUuIE5vIG5lZWQgdG8NCj4gY2hhbmdlIHRoYXQgdGhlbiBpbiB0
aGUgZWFybGllciBwYXRjaCAoYWxiZWl0IG9mIGNvdXJzZSBhIGNoYW5nZQ0KPiB0aGVyZSBj
b3VsZCBiZSBlYXNpbHkgYWNjb21tb2RhdGVkIGhlcmUpLg0KPiANCj4gQWxvbmcgdGhlIGxp
bmVzIG9mIHRoZSBlYXJsaWVyIGNvbW1lbnQgdGhpcyAybmQgYWxsb2NhdGlvbiBtYXkgYWxz
bw0KPiB3YW50IHRvIG1vdmUgaW50byBzY2hlZHVsZV9jcHVfcm1fYWxsb2MoKS4gSWYgb3Ro
ZXIgdXNlcnMgb2YgdGhlDQo+IGZ1bmN0aW9uIGRvbid0IG5lZWQgdGhlIGV4dHJhIGFsbG9j
YXRpb25zLCBwZXJoYXBzIGJ5IGFkZGluZyBhIGJvb2wNCj4gcGFyYW1ldGVyLg0KDQpJIGNv
dWxkIGRvIHRoYXQsIGJ1dCBJIHN0aWxsIHRoaW5rIHRoaXMgd291bGQgcHVsbCBjcHVwb29s
IHNwZWNpZmljIG5lZWRzDQppbnRvIHNjaGVkL2NvcmUuYy4NCg0KDQpKdWVyZ2VuDQo=
--------------rEDsPYdO951uw7RzXekUF0tL
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------rEDsPYdO951uw7RzXekUF0tL--

--------------XpTVwd2LTSlPXb6h056WHRF6--

--------------mO6Qx4gH3Iqj0D5sYHANGhev
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLw46sFAwAAAAAACgkQsN6d1ii/Ey9T
/Qf7BScKje/ocGm4/OCBC4clyPYoOK3D7S825i0wQmbtFLe1Pxgl/RGctxunAzwuaRBUzlYK+UK0
lr1hVcaQp5yQpKNRM+czvCkbcl+M7pvU8pd+cifvYt22MLZVAFfhSiJU8zkZGaa+dkNY8hGxbvPU
vwzeNxl4iQWdEW/raggC9IvXNjndktZzz23+eP74YDyBLaJJfnO6RLiMobX8/LctRqmaM1Cvds5S
M8CK+Je8aSc660Gtm4sGWnsphStesyddj5exDUvzDOChLpE3Nz07dawhs7RcfsIGsDsD45+1xzu5
Crc47xI8iQ2YQq+KlROHb2X5cr8iK6WYPLaZkeUo0g==
=HBvr
-----END PGP SIGNATURE-----

--------------mO6Qx4gH3Iqj0D5sYHANGhev--


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 10:24:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 10:24:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382364.617285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzvk-0000qu-TH; Mon, 08 Aug 2022 10:24:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382364.617285; Mon, 08 Aug 2022 10:24:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oKzvk-0000qn-PY; Mon, 08 Aug 2022 10:24:16 +0000
Received: by outflank-mailman (input) for mailman id 382364;
 Mon, 08 Aug 2022 10:24:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FHLH=YM=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oKzvk-0000qf-Cs
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 10:24:16 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20089.outbound.protection.outlook.com [40.107.2.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ad2a4fa-1704-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 12:24:05 +0200 (CEST)
Received: from AS8PR04CA0103.eurprd04.prod.outlook.com (2603:10a6:20b:31e::18)
 by AM0PR08MB5361.eurprd08.prod.outlook.com (2603:10a6:208:18d::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 8 Aug
 2022 10:24:10 +0000
Received: from AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31e:cafe::e1) by AS8PR04CA0103.outlook.office365.com
 (2603:10a6:20b:31e::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20 via Frontend
 Transport; Mon, 8 Aug 2022 10:24:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT051.mail.protection.outlook.com (10.152.16.246) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Mon, 8 Aug 2022 10:24:10 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Mon, 08 Aug 2022 10:24:09 +0000
Received: from 18778cc10c6d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0617DDE5-2C29-4267-9E71-CF4B09DE43AE.1; 
 Mon, 08 Aug 2022 10:24:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 18778cc10c6d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 08 Aug 2022 10:24:00 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB8PR08MB4201.eurprd08.prod.outlook.com (2603:10a6:10:a3::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Mon, 8 Aug
 2022 10:23:56 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.020; Mon, 8 Aug 2022
 10:23:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ad2a4fa-1704-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=GYjNeW/QLR5XMIwrqDHQAzR1c3HOXVfJJLa9vZ5OXlgbQCgoe7mX7A+EBHo+9ZdB+QKktF5CRyDlFTlhsFYjEm9jhbXbHQftmtWFGUf0XmZxkxMLvVdFJBuaO0+qReaJu5pKKvgCTpGPbWNyPfPaLek6ApgW0uIsounMumCWbaXBJT+exh0i5iSHsIxae7lnBNKXuuqfKLZgJYVcCgyoWcmaBS1QXF8LdBS4UNICb9XmaAMGWVI3EKM3dF2iHWuh4JGC9pUMddtZnfTpeWriiu35Ks3nPqN8QEMSf2R1P3dRy53MrWj7CEY7OXaW8iQIXwfkoOeV2PLFbyd02QENWg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pEC1UNeVFQYe9s1W5kVVrxpcNejWT9OQBrLvfsXAHRY=;
 b=QL8mlQ9rtkVb3IRbbpmlGQ12B2F7ReRhQ78At3RLhF2NZbTew2wgwA6hV2yt1u21aD+yBL+wox0PvtawuhVkR4H6xiDlhPfDOtjXgl7OAqkYSOp5j8I6M5lOGpNgBiJ2nTPxOLY5iPP7fL6tw8lpiJepOPF/Iqi6R6A+CiPzvqvO74TizpTAP/HyV1LsbC9Yfqsu489yEsb1VAE4tQ5gRU5szA0x7L5obtV05W9YwUAGwimF0F7WE0Bv3bWNQ7wRHTn/kMOMRrPM1dsRru1Loq9JwNjUaHUpaZPwpL2/UYdz6tSm3RtxvG6uBFl+eoSx83eXzoxgIshu++xQailGrQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pEC1UNeVFQYe9s1W5kVVrxpcNejWT9OQBrLvfsXAHRY=;
 b=Vzoh0UZCpIBcyHlfD9O/0PiiGsRn3y6bVjphbPFhpNsEiz6EXWYAP3m19SCJcXkLdYqa6pk+kSywEV/x+uQhzJkbYmqbq96hUle2djC8qvYXiCT2o2A7zVvxVJCB59KqxwxqTasyUV4BxRUyqprXyrOFH/XRpF60PCKIJj7zgrA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 31dd563db0a9b5d5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CFnQU1dS9FkHXUGYrK38Et3XRcEiDyYTJVdEc3YCmQMa3USYy7rc/cvuApGsM9I2Qfy0znHCxEZQeoJCpc8FLzkV+wOmXlSxmLCHtjsWDaU7IKkL7O8DUSDbhKIkg1xv49OLqKyaaxrKcr82R6CYRE7P3bt5CZJJPPHn+PF79hxycyIsl3wvyuaUNZZPlT06DoJcMYVYHDTIpFgxHcL8R08ppY/fd6YNcSE8i1TrOF2hiu7kckluzJlNffjhds6llVQEsk2x1Ld2ySy5LZKenIihBiSpcULMyqEhd0p0C6idUeiBerMX/y8xN6GzmatU/tj+2OM3Lhp6zSfr7WCFQg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pEC1UNeVFQYe9s1W5kVVrxpcNejWT9OQBrLvfsXAHRY=;
 b=mtf+2+7PGG/jm37SwaBNNT+Wz+E9VbmlXV8UR+JliJ7O1WGTAabgI8TyDZBU5U4b1eHSneKYlxoBug8WJMLoUFFsbSR18uB56uRe/UDQF8ows4/GyHBe+uWm7IFjOiqemjphMIGcEfxB8+CfsEakAgTYdDRIWrxvUqe9RhjuvwTAjVqz/9S1sygseVykun0wpV176bu4Pbx3EJiNsZyaTB8T5G8ZTsMPnFz4FCmWdhJKQfM7rwaYKrhTZmMXN3c/VhGx9yOYqOxt7wzuC2gTYV99dRzY33JEXwTjhn06Bie1d5ZsKk8AqzZEz1zF9i7KL1H0D9NqWmSvmZzAnaUovg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pEC1UNeVFQYe9s1W5kVVrxpcNejWT9OQBrLvfsXAHRY=;
 b=Vzoh0UZCpIBcyHlfD9O/0PiiGsRn3y6bVjphbPFhpNsEiz6EXWYAP3m19SCJcXkLdYqa6pk+kSywEV/x+uQhzJkbYmqbq96hUle2djC8qvYXiCT2o2A7zVvxVJCB59KqxwxqTasyUV4BxRUyqprXyrOFH/XRpF60PCKIJj7zgrA=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: regs: Fix MISRA C 2012 Rule 20.7 violation
Thread-Topic: [PATCH] xen/arm: regs: Fix MISRA C 2012 Rule 20.7 violation
Thread-Index: AQHYqwwZtXumFYx8Q0O7NIXFXrkCLa2ky9SA
Date: Mon, 8 Aug 2022 10:23:56 +0000
Message-ID: <0D928059-208D-49EC-913C-321963E5C8E3@arm.com>
References: <20220808094837.1880522-1-burzalodowa@gmail.com>
In-Reply-To: <20220808094837.1880522-1-burzalodowa@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 9fa101ce-3445-4acc-fbd1-08da792821ff
x-ms-traffictypediagnostic:
	DB8PR08MB4201:EE_|AM5EUR03FT051:EE_|AM0PR08MB5361:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 2qP3x3675g1ElEQQ6Dm+/QUkuDwj9LoqGYhwhFIShbCN1D2HuIapc+NLwT//jD7MYnn24E6Wr2xCE2uNJeabKmkje8fYEDwJ9wo3fM6WA+tPIqIec9yD3caVvl3vDIKq130YAhnheFB2wQ2PzJQhOWF9MOIY0D8Jjkc0GPD/c0sLfCqdBvQ5wucsOq5he2ik+7G9IQZjaQxmCHWZcN9NQ1w7S9NX+8nqDaKTJFfae8FLycBZSgmHF7wnY4WAxdSIT9XRQ2jFlaGODP3TqwXEWN7k16sdbVVd2zyBQaH/6rf1XpyEs5XRYgDw30IQnzlTEZ7aq0rVDjY1DsfNv2vZev0vFuRHpodufvyxXkBV6Kymj3KWX+tvINFXfG0y1OykC/nrumsGs9Bk24cfmUwaZylsGWxrIJpCdGqmmGv+cdlasPqBLcoQOUzHiBUXZFERTzR6Uk0s39mxGjuqJx8/HrtamJmZviwOVL2AqjuNd6tQrxjdKYlszBQMsNMNjMs5iAHMEXhbJr/wU9TmRx0IMI5OXn+twX5h9c5U3zZMbblo+8ONUSbxT6TXB+SgTax7O+KtuirLP56vqCMm4zLGfqFsj+A+vtjOZxvXZtUbIqSZyK0zmb9QaQPxUpZpjIymHveKXYQR/zIBt9ujb9iSLQ8+9HAdU2uNyUqwmtX3JY61zCAPVUcsPLJPZYMeI7rznfcYwAtQ86h0VszRskC17md+yWqOL+sm3n+THUBRS11vtMMytiZp4aN9VW9x4fHXwlvdJFN17UG7H73DSojQPvqN2eK2m7nvtxJ5+HUyJNmrCaKuoxnTNNuMjZGMPb3wJge+GtZC9Jslr8cmhEPzVw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(39860400002)(366004)(376002)(396003)(4744005)(478600001)(6486002)(66946007)(8936002)(66556008)(76116006)(33656002)(4326008)(66446008)(2906002)(38070700005)(66476007)(91956017)(38100700002)(5660300002)(53546011)(122000001)(86362001)(2616005)(186003)(41300700001)(71200400001)(26005)(6512007)(6506007)(316002)(54906003)(6916009)(36756003)(64756008)(8676002)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <69B7C8F9296B1C4FB9869DB7E78B9BD4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4201
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a59f2bb5-3a2c-4578-1d25-08da792819c4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XnlEmeO+Hzvd9VZHxsENdHN37gtRvP0q4LxP9foh4pHY6pfzLYvzPrmlR3lmCy+ejUqHxHZ4I+EczeRPupyky/L8ZzsrHK/rw5zKQWyRucGJd95DBTIskj3ZCgq3pKrgj2wixnxixde2cWPrGBBzN+uxnM6bGi62MmkR3Tphs+hlhkSNTnrloh9pbfCdsy0+4g8ag9YwNL9kxspP0b+mUJlfh5aN724widS4gAl5XDQItHtCkEVBA4d4+upP/aJ1HFwxA+aA0VaKME23Odr5PAG4HPmnZINAyD9Z58aTQB0MukZmYSW6K4NxMpGm6IpBLiDrTP2w0R7YCMCAuSavcYn0BnyaQe9YXFX6wCcandB5v5Zf+uxBAx18BZmfPDZKdplttt41qnQHRWj/pucf0k47rADQQv6jpFLp2NCIOpIieshGkmEeOaHpt6VgxU1z6jihDXBIM2sd6jn+4rO1e5hmsYWHZLs2KpVyJMgGVKPqh6hWhKQQ0uehb9fhTYDgUego8icdQs5prV7sqfIElCOVsl0Uw0wpywnfDtraVjGVsnFuxwLKOy21mAAfT2TYkECBXVVCYhJiwBDuiinPg1xR2eD9sNV1igvJBN6yFVqnDI5g4sA4mZRO/TBjZDnijSKqolEQRpPZJNiYQi4U1wQAMsjHa2wgYZAPmPrOSPsOoy3Jp/+cb8B6aEwJhS2IA04kDXArCDCyT+KKS4nU7eGuZDty79oSzSVcXh6+nfecnrBEHQQX4xHzugVzfJUf+Dh2nhFdANhKyPqrWKF3PHyw25ZJptuq7APnq+/0V4jhK2U5s7sLwjwx+jkB8EyG
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(376002)(39860400002)(346002)(36840700001)(40470700004)(46966006)(82740400003)(316002)(82310400005)(356005)(40460700003)(478600001)(81166007)(2616005)(2906002)(54906003)(41300700001)(70206006)(70586007)(36756003)(4326008)(36860700001)(8676002)(33656002)(5660300002)(4744005)(40480700001)(6486002)(6512007)(107886003)(86362001)(83380400001)(8936002)(6862004)(53546011)(6506007)(186003)(26005)(47076005)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2022 10:24:10.1798
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9fa101ce-3445-4acc-fbd1-08da792821ff
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5361

Hi Xenia,

> On 8 Aug 2022, at 10:48 am, Xenia Ragiadakou <burzalodowa@gmail.com> wrot=
e:
>=20
> In macro psr_mode(), the macro parameter 'm' is used as expression and
> therefore it is good to be enclosed in parentheses to prevent against
> unintended expansions.
>=20
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul
=20


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 11:00:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 11:00:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382375.617302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0Uj-00051L-N7; Mon, 08 Aug 2022 11:00:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382375.617302; Mon, 08 Aug 2022 11:00:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0Uj-00051E-KL; Mon, 08 Aug 2022 11:00:25 +0000
Received: by outflank-mailman (input) for mailman id 382375;
 Mon, 08 Aug 2022 11:00:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oL0Uh-000518-Uz
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 11:00:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oL0Uh-0003Tr-G9; Mon, 08 Aug 2022 11:00:23 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[10.95.148.130]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oL0Uh-0008UT-4W; Mon, 08 Aug 2022 11:00:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=kT6wRwofyVm/Xl6bCDZwUN+TugVz/lksoYm7hLZ0kpw=; b=4dFWk9nmc3gcsF0/jmPxTyNRi4
	x7XWvF0hZJo2GhtknAfw4Xs7BP8Kfn60tjJYpm7J2nV3u594jukgUMAPuGjc4BsC2RY5bDax7/Ii7
	aViaojKClMjIBBvWo2N/EjedF6lperUCDVl4sE6GXlQMqecgS19R3Ch2I8sDU/NEKDUo=;
Message-ID: <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
Date: Mon, 8 Aug 2022 12:00:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
 <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 08/08/2022 07:33, Juergen Gross wrote:
> On 04.08.22 21:28, Julien Grall wrote:
>> On 03/08/2022 12:59, Juergen Gross wrote:
>>> Extend the definition of the Xenstore migration stream to cover new
>>> features:
>>>
>>> - per domain features
>>> - extended watches (watch depth)
>>> - per domain quota
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>> V3:
>>> - new patch
>>> ---
>>> Â  docs/designs/xenstore-migration.md | 85 ++++++++++++++++++++++++++++--
>>> Â  1 file changed, 82 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/docs/designs/xenstore-migration.md 
>>> b/docs/designs/xenstore-migration.md
>>> index efa526f420..b2b1d3d5c7 100644
>>> --- a/docs/designs/xenstore-migration.md
>>> +++ b/docs/designs/xenstore-migration.md
>>> @@ -43,7 +43,13 @@ the setting of the endianness bit.
>>> Â  |-----------|---------------------------------------------------|
>>> Â  | `ident`Â Â  | 0x78656e73746f7265 ('xenstore' in ASCII)Â Â Â Â Â Â Â Â Â  |
>>> Â  |Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> -| `version` | 0x00000001 (the version of the specification)Â Â Â Â  |
>>> +| `version` | The version of the specification, defined values: |
>>> +|Â Â Â Â Â Â Â Â Â Â  | 0x00000001: all fields without any explicitlyÂ Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â  mentioned version dependency areÂ Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â  valid.Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â  | 0x00000002: all fields valid for version 1 plusÂ Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â  fields explicitly stated to beÂ Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â  supported in version 2 are valid.Â Â Â Â  |
>>
>> I am a bit concerned with the bump of the versions. It means, it will 
>> be necessary for Xenstored to know whether the new Xenstored speaks v1 
>> or v2. This is less an issue when Live-Migration (although there is a 
>> fleet management problem) but it will be one for Live-Update if we 
>> need to rollback.
>>
>> So I am wondering if we can avoid to bump the version and use other 
>> means to detect the difference.
> 
> In the end this is exactly what the version was meant to be used for.
> 
> I think it would make much more sense to think about the way to handle a
> bump of the version in a compatible way.
> 
> My idea was to add a xenstored command line parameter for limiting the
> migration stream version to be used to a specified version, causing new
> features probably to not be available, though.

I think this is fine. Someone that cares about rollback will also likely 
care about fleet diversity. So they will want to avoid enabling a 
feature until they know it can work everywhere.

> 
> I don't see how e.g. a rollback would be doable in case a domain already
> started to use a new feature like the third parameter when setting a watch.
> Even if we'd drop the depth information when rolling back a watch set
> afterwards with an additional depth added would be rejected by the older
> xenstored, which would be unexpected failure for the guest.

See above.

> 
> It might make sense to try to use the V1 stream when doing a live update,
> e.g. covering the case when the SET_FEATURE command was used for each
> active guest to limit the features to V1 compatible ones. A force parameter
> might be used to use the V1 stream even if guests are using V2 features,
> risking breakage of those guests.

I don't have a strong opinion on this yet. I might have some when seen 
the code :).

[...]

> This would even be possible using the global record of V1, as
> the length information of the record allows to add new fields without
> having to bump the version.

I was actually thinking about this when writing the e-mail last week. 
There are no dynamic length array in the global records so far, so using 
the length information would be ok. I am more concerned about the others 
because we are mixing fixed and dynamic length.

This means it is more difficult to read the code and the layout.

> 
>>
>>> +| `n-glob-quota` | Number of quota values which apply globallyÂ  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | only. Valid only for version 2 and later.Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| `quota-val`Â Â Â  | Quota values, first the ones applying perÂ Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | domain, then the ones applying globally. AÂ Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | value of 0 has the semantics of "unlimited". |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Valid only for version 2 and later.Â Â Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| `quota-names`Â  | 0 delimited strings of the quota names inÂ Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | the same sequence as the `quota-val` values. | > 
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Valid only for version 2 and later.Â Â Â Â Â Â Â Â Â  |
>>
>> Â From my understanding, both version of Xenstored needs to agree on 
>> the quota names. So it means the name have to be defined as part of 
>> the spec. At which point, I think it would be better to use ID.
> 
> I don't think so. For one the minimal set of quota names has been defined
> already in patch 3.

Someone reading the migration stream will not necessarily read the 
Xenstore protocol. So I think we should either make them explicit in the 
documentation or have a link to the other document.

> And even with using an ID you'd have the same problem
> again, but without having the possibility to add variant specific quota

Fair enough.

> (remember that there already has been a statement that doing a live update
> from C to OCAML or vice versa would probably break users due to some
> deviations in behavior)
I can't find such statement in public documentation. Do you have a link?

That said, a guest doesn't have a (easy?) way to know how Xenstored is 
implemented. So it is quite concerning to hear some of them may rely on 
behaviors. How did that happen?

> 
>> Also, can you clarify what would happen if the stream contains a quota 
>> not supported by the new Xenstored?
> 
> Yes, I'll add a sentence that those should be ignored.
> 
>>
>>> +
>>> Â  xenstored will resume in the original process context. Hence 
>>> `rw-socket-fd`
>>> Â  simply specifies the file descriptor of the socket. Sockets are not 
>>> always
>>> @@ -145,7 +177,7 @@ the domain being migrated.
>>> Â  ```
>>> Â Â Â Â Â  0Â Â Â Â Â Â  1Â Â Â Â Â Â  2Â Â Â Â Â Â  3Â Â Â Â Â Â  4Â Â Â Â Â Â  5Â Â Â Â Â Â  6Â Â Â Â Â Â  7Â Â Â  octet
>>> Â  +-------+-------+-------+-------+-------+-------+-------+-------+
>>> -| conn-idÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | conn-typeÂ Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| conn-idÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | conn-typeÂ Â Â Â  | n-quotaÂ Â Â Â Â Â  |
>>> Â  +-------------------------------+---------------+---------------+
>>> Â  | conn-spec
>>> Â  ...
>>> @@ -154,6 +186,17 @@ the domain being migrated.
>>> Â  +---------------+---------------+-------------------------------+
>>> Â  | data
>>> Â  ...
>>> ++-------------------------------+
>>> +| featuresÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> ++-------------------------------+
>>> +| quota-val 1Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> ++-------------------------------+
>>> +...
>>> ++-------------------------------+
>>> +| quota-val NÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> ++-------------------------------+
>>> +| quota-names
>>> +...
>>> Â  ```
>>> @@ -167,6 +210,10 @@ the domain being migrated.
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | 0x0001: socketÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | 0x0002 - 0xFFFF: reserved for future useÂ Â Â Â  |
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| `n-quota`Â Â Â Â Â  | Number of quota values.Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Only for `conn-type` 0 (shared ring).Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Only valid for version 2 and later.Â Â Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> Â  | `conn-spec`Â Â Â  | See belowÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> Â  | `in-data-len`Â  | The length (in octets) of any data readÂ Â Â Â Â  |
>>> @@ -182,6 +229,22 @@ the domain being migrated.
>>> Â  | `data`Â Â Â Â Â Â Â Â  | Pending data: first in-data-len octets ofÂ Â Â  |
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | read data, then out-data-len octets ofÂ Â Â Â Â Â  |
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | written data (any of both may be empty)Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| `features`Â Â Â Â  | Value of the feature field visible by theÂ Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | guest at offset 2064 of the ring page.Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Aligned to the next 4 octet boundary.Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Only for `conn-type` 0 (shared ring).Â Â Â Â Â Â Â  |
>>
>> For the purpose of the stream, I would consider to make it available 
>> for the socket connection. This could potentially be used in the 
>> future to allow each application to have a different behavior when 
>> socket is used.
> 
> This would break the use of xenstore-stubdom for such a setup.

I am not sure why it would break the use of xenstore-stubdom. An 
application will already need to cope with the case Xenstored doesn't 
support a feature.

At which point, it would be easy to say "I don't want this feature" when 
using a socket.

> 
>> I can't make my mind yet if we can avoid bumping the version for this 
>> field. What would happen if we need to rollback?
> 
> I think an active usage of the new features and a rollback are mutually
> exclusive. See above.
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| `quota-names`Â  | 0 delimited strings of the quota names inÂ Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | the same sequence as the `quota-val` values. |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Only for `conn-type` 0 (shared ring).Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Only valid for version 2 and later.Â Â Â Â Â Â Â Â Â  |
>>
>> As for the "global" quotas, I would move the quotas in a separate 
>> record. In this case, this would also be useful to avoid having may 
>> dynamic length field within the same record.
> 
> I like having the data together more.

Which is fine so long the code doesn't become too horrible to 
read/maintain. I think having dynamic length array in the middle of the 
record makes it trickier.

This will only become worse as we introduce new fields in newer 
revision. So at which point would you say the record has grown too much?

To me, this is already the point and we have plenty of record ID to 
handle that.

>>
>>> Â  In case of live update the connection record for the connection via 
>>> which
>>> Â  the live update command was issued will contain the response for 
>>> the live
>>> @@ -247,7 +310,7 @@ by a connection for which there is 
>>> `CONNECTION_DATA` record previously present.
>>> Â  ```
>>> Â Â Â Â Â  0Â Â Â Â Â Â  1Â Â Â Â Â Â  2Â Â Â Â Â Â  3Â Â Â  octet
>>> -+-------+-------+-------+-------+
>>> ++---------------+---------------+
>>> Â  | conn-idÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> Â  +---------------+---------------+
>>> Â  | wpath-lenÂ Â Â Â  | token-lenÂ Â Â Â  |
>>> @@ -256,6 +319,9 @@ by a connection for which there is 
>>> `CONNECTION_DATA` record previously present.
>>> Â  ...
>>> Â  | token
>>> Â  ...
>>> ++---------------+---------------+
>>> +| depthÂ Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> ++---------------+---------------+
>>> Â  ```
>>> @@ -275,6 +341,13 @@ by a connection for which there is 
>>> `CONNECTION_DATA` record previously present.
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> Â  | `token`Â Â Â Â  | The watch identifier token, as specified in the |
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â  | `WATCH` operationÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| `depth`Â Â Â Â  | The number of directory levels below theÂ Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â  | watched path to consider for a match. ThisÂ Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â  | field is aligned to the next 4 octet boundary.Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â  | A value of 0xffff is used for unlimited depth.Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â  | This field is valid only for version 2 andÂ Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â  | higher.Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>
>> If we are going to bump the stream version, then I think we should 
>> move the field before token/path.
> 
> I thought about that, but liked it better to be able to keep a common 
> struct
> layout for the record with the V2 fields being at the end.
> 
> Main reason is the ability to avoid duplication of code for being able to
> handle both versions.

The cons is you can't easily describe the record in "struct ...". As I 
wrote above, I think have dynamic length array in the middle of a record 
is wrong.

I have looked at the code, I don't think there will be enough code 
duplication to warrant adding fixed field at the end of the record.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 11:05:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 11:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382388.617324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0a4-0005uo-Oj; Mon, 08 Aug 2022 11:05:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382388.617324; Mon, 08 Aug 2022 11:05:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0a4-0005uh-LR; Mon, 08 Aug 2022 11:05:56 +0000
Received: by outflank-mailman (input) for mailman id 382388;
 Mon, 08 Aug 2022 11:05:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MrjU=YM=citrix.com=prvs=2124ac30a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oL0a4-0005ep-5W
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 11:05:56 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11d60e7a-170a-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 13:05:55 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11d60e7a-170a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659956754;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+TMoGxiqff4av5HP+7bjjRzkm1T+xybFBCI1AfNJyi4=;
  b=VxUc//Fdg8pIARCaUTHySDh5x7mzK80Q5tn6qIANx/ZUZkjukyZcRtWe
   OZuxwl+hqLc8g3Li/4lEX8kReUU7U+mAfrF7YMBclttzVIgjxOCsZY6D4
   YigsrccCQdbDuWIt8x/yA4vx5GoRqdJEUxr2Gh/uwEgaF6brg60YfDD6N
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80148078
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:wHgEFqj7aZmE4a2AndrzZ+saX161HhAKZh0ujC45NGQN5FlHY01je
 htvX2DXaKrZMGOmL4t0bo2w8R4O75+EytM2GVE6riEwFiMb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSq6GtB1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eNJJb27t+Hn532
 +08MDlQS0meiP2o+efuIgVsrpxLwMjDOYoevjdrzC3DDOZgSpfGK0nIzYYGhnFq3JkIRKuAI
 ZpCAdZsRE2ojxlnM1ELCJU4jaGwi2P2aTFwo1OJv6snpWPUyWSd1ZC9aIOJKoTVFa25mG6Jv
 SH3plSgCCgCPfLC4yjCqk+n2rfmyHaTtIU6S+Tjq68CbEeo7nMXIA0bUx28u/bRokyxQdVEM
 GQP5zEj66M18SSDXtT7GhG1vnOAlhodQMZLVf037hmXzajZ6BrfAXILJhZDYtE7sM49RRQxy
 0SE2djuAFRSXKa9ECzHsO3O9HXrZHZTfTRqiTI4oRUt6saggdw6kQ32YMdHCKfoq4ToFi7u+
 mXfxMQhvIn/nfLnxo3iow2W3Wzx+cGVJuImzl6JBzz4t2uVcKbgPtX1sgaDsJ6sOa7DFjG8U
 G44d99yBQzkJbWEj2SzTeoEB9lFDN7VYWSH0TaD83TMnglBGkJPnqgKuVmS3G8zbq45lcbBO
 Sc/Qz956p5JJ2eNZqRqeY+3AMlC5fG+SIW1B6+PMYsWPcMZmOq7EMZGNSatM53FyhBwwcnTx
 7/BGSpTMZrqIfs+l2fnLwvs+bQq2jo/1QvueHwP9Dz+iOL2TCPEFt843K6mNL9RAFWs/FqIq
 L6y9qKil31ibQEJSnCLqdBLcQhbcxDWx/ne8qRqSwJKGSI+cElJNhMb6ehJl1BN90iNqtr1w
 w==
IronPort-HdrOrdr: A9a23:e4P0QKqb829wWHGwoNGNzeQaV5oteYIsimQD101hICG8cqSj+P
 xG+85rsiMc6QxhIU3I9urgBEDtex7hHNtOkOss1NSZLW3bUQmTTL2KhLGKq1aLJ8S9zJ856U
 4JSdkZNDSaNzZHZKjBjDVQa+xQo+W6zA==
X-IronPort-AV: E=Sophos;i="5.93,222,1654574400"; 
   d="scan'208";a="80148078"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: [XEN PATCH 1/2] tools/libxl: Replace deprecated -sdl option on QEMU command line
Date: Mon, 8 Aug 2022 12:05:44 +0100
Message-ID: <20220808110545.62886-2-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220808110545.62886-1-anthony.perard@citrix.com>
References: <20220808110545.62886-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

"-sdl" is deprecated upstream since 6695e4c0fd9e ("softmmu/vl:
Deprecate the -sdl and -curses option"), QEMU v6.2, and the option is
removed by 707d93d4abc6 ("ui: Remove deprecated options "-sdl" and
"-curses""), in upcoming QEMU v7.1.

Instead, use "-display sdl", available since 1472a95bab1e ("Introduce
-display argument"), before QEMU v1.0.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/libs/light/libxl_dm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 1864ee30f0..04bf5d8563 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -1349,7 +1349,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
     flexarray_append_pair(dm_args, "-display", "none");
 
     if (sdl && !is_stubdom) {
-        flexarray_append(dm_args, "-sdl");
+        flexarray_append_pair(dm_args, "-display", "sdl");
         if (sdl->display)
             flexarray_append_pair(dm_envs, "DISPLAY", sdl->display);
         if (sdl->xauthority)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 11:05:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 11:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382387.617313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0a3-0005f2-B1; Mon, 08 Aug 2022 11:05:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382387.617313; Mon, 08 Aug 2022 11:05:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0a3-0005ev-8I; Mon, 08 Aug 2022 11:05:55 +0000
Received: by outflank-mailman (input) for mailman id 382387;
 Mon, 08 Aug 2022 11:05:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MrjU=YM=citrix.com=prvs=2124ac30a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oL0a1-0005ep-Qw
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 11:05:53 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f98bbb1-170a-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 13:05:51 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f98bbb1-170a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659956751;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=LrYwBQoaATgyh7V0ViZ2IL0EZDYvWxwNLf16i7LThYw=;
  b=JyHL3wUDufgScCSCL/G4YzNmIKCiGgbTF3na1xl/ORWlpLPWJS9rV4bH
   lrii3ViAUcowYJA2oiBFyYNWHRHWcgdGSV2rtOfInq5zvya5FxZ90E6OV
   6wlxHFwGHgryTRkt0+I3E0R3tDwhafvYd4rFpg/TQKTHOmW9ix8fnEkjK
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77591055
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:d1gELalwc/FdZelG/RwLvnro5gz/JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJJWD3VOa3YMzH1KNsjPN619kpUuJWAyd9jSgpl/3g9FyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37Kyi4GpwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kmJag+x7stHVtA3
 ucfaxwudhmepfC5lefTpulE3qzPLeHuNYIb/Hph0SvYHbAtRpWrr6fivIECmm1q34YXQKiYN
 5FxhTlHNXwsZzVGPEsXD5Qv2v+lnHDlfxVTqU6PpLpx6G/WpOB0+OeybYuMIoHXLSlTtmy8h
 XidoXi6OBVEatG41QGv6HKHm8aayEsXX6pNTeblp5aGmma7xGMJDwYNfUCmuvT/gUm7M/pAL
 2QE9yxoqrI9nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZjxLZcEitcQ2bSc3z
 VLPlNTsbQGDq5XMFyjbrO3N62rvZ25FdgfueBPoUyMV+/zFndxpkijBZc1kU4KWltToOyP/l
 mXiQDcFu1kDsSIa//zloAGZ3W/z/8Shoh0dvVuOAD/8hu9tTMv8PtHztwCGhRpVBNzBJmRtq
 kTojCR3AAomKZiW3BKAT+wWdF1Cz6bUaWaM6bKD8nRIythMx5JAVdoJiN2GDB01WvvogBewC
 KMphStf5YVIIFyhZrJtboS6BqwClPa9RIS0CauLP4IROfCdkTNrGwk+DXN8Iki3yBR8+U3BE
 c3znTmQ4YYyVv08kWveqxY12r433CEurV7uqWTA503+idK2OS/KIYrpxXPUMYjVGovY/1iOm
 zueXuPWoyhivBrWO3WPr9ZPdQFURZX5bLivw/Fqmie4ClIOMAkc5zX5mNvNp6QNc3xpq9r1
IronPort-HdrOrdr: A9a23:TJ/ocq8DuwM7SEbY0S9uk+DUI+orL9Y04lQ7vn2YSXRuHPBw8P
 re+MjztCWE7gr5N0tBpTntAsW9qBDnhPtICOsqTNSftWDd0QPCRuxfBOPZslrd8kbFl9K1u5
 0OT0EHMqyTMWRH
X-IronPort-AV: E=Sophos;i="5.93,222,1654574400"; 
   d="scan'208";a="77591055"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH 0/2] libxl: replace deprecated -sdl and -soundhw qemu options
Date: Mon, 8 Aug 2022 12:05:43 +0100
Message-ID: <20220808110545.62886-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.qemu-deprecated-soundhw-v1

Hi,

There's some more QEMU options that are deprecated. We still don't need to
figure out which QEMU version we are going to run as the options that replace
them already existed in QEMU 1.0, so all the version QEMU upstream that we
could possible use as device model.

Thanks,

Anthony PERARD (2):
  tools/libxl: Replace deprecated -sdl option on QEMU command line
  tools/libxl: Replace deprecated -soundhw on QEMU command line

 docs/man/xl.cfg.5.pod.in                  |  6 +++---
 tools/libs/light/libxl_types_internal.idl | 10 ++++++++++
 tools/libs/light/libxl_dm.c               | 21 +++++++++++++++++++--
 3 files changed, 32 insertions(+), 5 deletions(-)

-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 11:06:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 11:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382390.617335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0a9-0006Et-06; Mon, 08 Aug 2022 11:06:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382390.617335; Mon, 08 Aug 2022 11:06:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0a8-0006EZ-TB; Mon, 08 Aug 2022 11:06:00 +0000
Received: by outflank-mailman (input) for mailman id 382390;
 Mon, 08 Aug 2022 11:06:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MrjU=YM=citrix.com=prvs=2124ac30a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oL0a8-0005ep-79
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 11:06:00 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14ef6f74-170a-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 13:05:58 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14ef6f74-170a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659956758;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=UoENNw6Pj7pjKh3ByeuEJ7KwsY4w8czj33URcS8/NGA=;
  b=KOS+1qq/3as92JhsQBJh/o4xDy9HnAya4lUxpc+Y7wNtRRqVY1aqw53V
   Yl1aHojop+0DI2yPJtxGM8NVH48Dk3PH79qSxdZ5P6LgZGnJlBQC5NwgJ
   yv68VFzH1RtWBESH24XCepiOjyVCWGXi/yJo3MSn0UDKzh8F77voTLgZ8
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80148087
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:CwDuWKsCf8yaYibt4mSbcJsd3efnVCheMUV32f8akzHdYApBsoF/q
 tZmKW6Ea//YZ2P9f4h0aom//U4A6pfTx9VhGwJkpHg0Qy8X+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4GNA5zTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FYInuaF3GDgQz
 vE/cjQjdDuOqrOa8YvuH4GAhux7RCXqFIYWu3UmxjDFF/c2B5vERs0m5/cBgm123JoXW6+DO
 YxJMlKDbzyZC/FLEl4RFJI5mvbunnTleidUgFmUubA28y7YywkZPL3FYIKMJozSFZo9ckCwp
 EXU+l3lJjEhFN2zzSGr7Xj2j6jopHauMG4VPOLhraM76LGJ/UQMDDUGWF39puO24ma8VMhYM
 Fc84Tc1oO4580nDZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpatYrqcs3TjwCz
 UKSkpXiAjkHjVGOYSvDrPHO92r0YHVLaz9ZDcMZcecby9bc48Yzl0uRddtESqqblPb4NGDc8
 gnf+UDSmI4vYd43O7STpA6a0mzy+8eQEmbZ9S2MADv7s1oRiJqNItXxtAOFtasowJOxFAHpg
 ZQSpySJAAni57mpnTfFfugCFarBCx2tYGyF2g4H83XMGl2QF5+fkWN4umgWyL9BaJpsRNMQS
 Ba7VfltzJFSJmC2SqR8fpi8Dc8npYC5S4m0BqGLNYUfOscqHONiwM2JTR744owQuBJ0zfFX1
 WmzK65A8kr2+Yw4lWHrFo/xIJcgxzwkxHO7eK0XOy+PiOPGDFbIGOhtDbd7RrpmhE9yiFmKr
 o032grj40k3bdASlQGOrdZNdQxSfCZT6FKfg5U/S9Nv6zFOQAkJY8I9C5t4E2C5t8y5Ttv1w
 0w=
IronPort-HdrOrdr: A9a23:3bema65sovSyJ/eITAPXwMTXdLJyesId70hD6qhwISY6TiX+rb
 HLoB17726TtN9/YhEdcLy7VJVoIkmskKKdg7NhXotKNTOO0ADDQb2KhbGSpAEIcBeeygcy78
 hdmtBFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.93,222,1654574400"; 
   d="scan'208";a="80148087"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: [XEN PATCH 2/2] tools/libxl: Replace deprecated -soundhw on QEMU command line
Date: Mon, 8 Aug 2022 12:05:45 +0100
Message-ID: <20220808110545.62886-3-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220808110545.62886-1-anthony.perard@citrix.com>
References: <20220808110545.62886-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

-soundhw is deprecated since 825ff02911c9 ("audio: add soundhw
deprecation notice"), QEMU v5.1, and is been remove for upcoming v7.1
by 039a68373c45 ("introduce -audio as a replacement for -soundhw").

Instead we can just add the sound card with "-device", for most option
that "-soundhw" could handle. "-device" is an option that existed
before QEMU 1.0, and could already be used to add audio hardware.

The list of possible option for libxl's "soundhw" is taken the list
from QEMU 7.0.

The list of options for "soundhw" are listed in order of preference in
the manual. The first three (hda, ac97, es1370) are PCI devices and
easy to test on Linux, and the last four are ISA devices which doesn't
seems to work out of the box on linux.

The sound card 'pcspk' isn't listed even if it used to be accepted by
'-soundhw' because QEMU crash when trying to add it to a Xen domain.
Also, it wouldn't work with "-device" might need to be "-machine
pcspk-audiodev=default" instead.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 docs/man/xl.cfg.5.pod.in                  |  6 +++---
 tools/libs/light/libxl_types_internal.idl | 10 ++++++++++
 tools/libs/light/libxl_dm.c               | 19 ++++++++++++++++++-
 3 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 6d98d73d76..b2901e04cf 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2555,9 +2555,9 @@ The form serial=DEVICE is also accepted for backwards compatibility.
 
 =item B<soundhw="DEVICE">
 
-Select the virtual sound card to expose to the guest. The valid
-devices are defined by the device model configuration, please see the
-B<qemu(1)> manpage for details. The default is not to export any sound
+Select the virtual sound card to expose to the guest. The valid devices are
+B<hda>, B<ac97>, B<es1370>, B<adlib>, B<cs4231a>, B<gus>, B<sb16> if there are
+available with the device model QEMU. The default is not to export any sound
 device.
 
 =item B<vkb_device=BOOLEAN>
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index 8f71980aec..fb0f4f23d7 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -56,3 +56,13 @@ libxl__device_action = Enumeration("device_action", [
     (1, "ADD"),
     (2, "REMOVE"),
     ])
+
+libxl__qemu_soundhw = Enumeration("qemu_soundhw", [
+    (1, "ac97"),
+    (2, "adlib"),
+    (3, "cs4231a"),
+    (4, "es1370"),
+    (5, "gus"),
+    (6, "hda"),
+    (7, "sb16"),
+    ])
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 04bf5d8563..fc264a3a13 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -1204,6 +1204,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
     uint64_t ram_size;
     const char *path, *chardev;
     bool is_stubdom = libxl_defbool_val(b_info->device_model_stubdomain);
+    int rc;
 
     dm_args = flexarray_make(gc, 16, 1);
     dm_envs = flexarray_make(gc, 16, 1);
@@ -1531,7 +1532,23 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
             }
         }
         if (b_info->u.hvm.soundhw) {
-            flexarray_vappend(dm_args, "-soundhw", b_info->u.hvm.soundhw, NULL);
+            libxl__qemu_soundhw soundhw;
+
+            rc = libxl__qemu_soundhw_from_string(b_info->u.hvm.soundhw, &soundhw);
+            if (rc) {
+                LOGD(ERROR, guest_domid, "Unknown soundhw option '%s'", b_info->u.hvm.soundhw);
+                return ERROR_INVAL;
+            }
+
+            switch (soundhw) {
+            case LIBXL__QEMU_SOUNDHW_HDA:
+                flexarray_vappend(dm_args, "-device", "intel-hda",
+                                  "-device", "hda-duplex", NULL);
+                break;
+            default:
+                flexarray_append_pair(dm_args, "-device",
+                                      (char*)libxl__qemu_soundhw_to_string(soundhw));
+            }
         }
         if (!libxl__acpi_defbool_val(b_info)) {
             flexarray_append(dm_args, "-no-acpi");
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 11:31:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 11:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382416.617346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0yh-0001fH-1h; Mon, 08 Aug 2022 11:31:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382416.617346; Mon, 08 Aug 2022 11:31:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0yg-0001er-TN; Mon, 08 Aug 2022 11:31:22 +0000
Received: by outflank-mailman (input) for mailman id 382416;
 Mon, 08 Aug 2022 11:31:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qbuG=YM=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oL0yf-0001ei-0i
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 11:31:21 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ebfa333-170d-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 13:31:19 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 0F97120536;
 Mon,  8 Aug 2022 11:31:18 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C698713AB3;
 Mon,  8 Aug 2022 11:31:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id O3lSLgX08GI+KwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 08 Aug 2022 11:31:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ebfa333-170d-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1659958278; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=2evc5l6PP2w2PoI0uC9vm8qhmVNhJIm0qV618jY8Fzw=;
	b=JqxojVl/kmmxWKN1D4VzTsEHuvcrlj+YGHieeJchGPjLCEqrObr/Phq/opPsSAxE6GsNvg
	VC+5CZe6wrbj+FJ1ZtBvmvHd2BZNFCLsifOzDfoHg718McbbyTVncjfznUTpVni6cj20PR
	6G6vufdMm8n2C6NX6Fu88HaLyhk38NY=
Message-ID: <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
Date: Mon, 8 Aug 2022 13:31:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
 <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
 <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
In-Reply-To: <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------RT8sEFhehwPjDfmwAjtRx0Lu"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------RT8sEFhehwPjDfmwAjtRx0Lu
Content-Type: multipart/mixed; boundary="------------5i3LrpcqhSNNgcWqljNgcZ9J";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Message-ID: <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
 <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
 <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
In-Reply-To: <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>

--------------5i3LrpcqhSNNgcWqljNgcZ9J
Content-Type: multipart/mixed; boundary="------------lUxlQ0DYoPeYp05hPCvhNirR"

--------------lUxlQ0DYoPeYp05hPCvhNirR
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMDguMjIgMTM6MDAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDA4LzA4LzIwMjIgMDc6MzMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAwNC4wOC4yMiAyMToyOCwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IE9uIDAzLzA4LzIw
MjIgMTI6NTksIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+IEV4dGVuZCB0aGUgZGVmaW5p
dGlvbiBvZiB0aGUgWGVuc3RvcmUgbWlncmF0aW9uIHN0cmVhbSB0byBjb3ZlciBuZXcNCj4+
Pj4gZmVhdHVyZXM6DQo+Pj4+DQo+Pj4+IC0gcGVyIGRvbWFpbiBmZWF0dXJlcw0KPj4+PiAt
IGV4dGVuZGVkIHdhdGNoZXMgKHdhdGNoIGRlcHRoKQ0KPj4+PiAtIHBlciBkb21haW4gcXVv
dGENCj4+Pj4NCj4+Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuY29tPg0KPj4+PiAtLS0NCj4+Pj4gVjM6DQo+Pj4+IC0gbmV3IHBhdGNoDQo+Pj4+IC0t
LQ0KPj4+PiDCoCBkb2NzL2Rlc2lnbnMveGVuc3RvcmUtbWlncmF0aW9uLm1kIHwgODUgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tDQo+Pj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCA4
MiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0
IGEvZG9jcy9kZXNpZ25zL3hlbnN0b3JlLW1pZ3JhdGlvbi5tZCANCj4+Pj4gYi9kb2NzL2Rl
c2lnbnMveGVuc3RvcmUtbWlncmF0aW9uLm1kDQo+Pj4+IGluZGV4IGVmYTUyNmY0MjAuLmIy
YjFkM2Q1YzcgMTAwNjQ0DQo+Pj4+IC0tLSBhL2RvY3MvZGVzaWducy94ZW5zdG9yZS1taWdy
YXRpb24ubWQNCj4+Pj4gKysrIGIvZG9jcy9kZXNpZ25zL3hlbnN0b3JlLW1pZ3JhdGlvbi5t
ZA0KPj4+PiBAQCAtNDMsNyArNDMsMTMgQEAgdGhlIHNldHRpbmcgb2YgdGhlIGVuZGlhbm5l
c3MgYml0Lg0KPj4+PiDCoCB8LS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfA0KPj4+PiDCoCB8IGBpZGVudGDCoMKgIHwg
MHg3ODY1NmU3Mzc0NmY3MjY1ICgneGVuc3RvcmUnIGluIEFTQ0lJKcKgwqDCoMKgwqDCoMKg
wqDCoCB8DQo+Pj4+IMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+Pj4+IC18IGB2ZXJzaW9uYCB8
IDB4MDAwMDAwMDEgKHRoZSB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpY2F0aW9uKcKgwqDCoMKg
IHwNCj4+Pj4gK3wgYHZlcnNpb25gIHwgVGhlIHZlcnNpb24gb2YgdGhlIHNwZWNpZmljYXRp
b24sIGRlZmluZWQgdmFsdWVzOiB8DQo+Pj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAw
eDAwMDAwMDAxOiBhbGwgZmllbGRzIHdpdGhvdXQgYW55IGV4cGxpY2l0bHnCoMKgwqDCoCB8
DQo+Pj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBtZW50aW9uZWQgdmVyc2lvbiBkZXBlbmRlbmN5IGFyZcKgwqDCoMKgwqAgfA0KPj4+PiAr
fMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFsaWQu
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgfA0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMHgwMDAwMDAwMjog
YWxsIGZpZWxkcyB2YWxpZCBmb3IgdmVyc2lvbiAxIHBsdXPCoMKgIHwNCj4+Pj4gK3zCoMKg
wqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZpZWxkcyBleHBs
aWNpdGx5IHN0YXRlZCB0byBiZcKgwqDCoMKgwqDCoMKgIHwNCj4+Pj4gK3zCoMKgwqDCoMKg
wqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN1cHBvcnRlZCBpbiB2ZXJz
aW9uIDIgYXJlIHZhbGlkLsKgwqDCoMKgIHwNCj4+Pg0KPj4+IEkgYW0gYSBiaXQgY29uY2Vy
bmVkIHdpdGggdGhlIGJ1bXAgb2YgdGhlIHZlcnNpb25zLiBJdCBtZWFucywgaXQgd2lsbCBi
ZSANCj4+PiBuZWNlc3NhcnkgZm9yIFhlbnN0b3JlZCB0byBrbm93IHdoZXRoZXIgdGhlIG5l
dyBYZW5zdG9yZWQgc3BlYWtzIHYxIG9yIHYyLiANCj4+PiBUaGlzIGlzIGxlc3MgYW4gaXNz
dWUgd2hlbiBMaXZlLU1pZ3JhdGlvbiAoYWx0aG91Z2ggdGhlcmUgaXMgYSBmbGVldCANCj4+
PiBtYW5hZ2VtZW50IHByb2JsZW0pIGJ1dCBpdCB3aWxsIGJlIG9uZSBmb3IgTGl2ZS1VcGRh
dGUgaWYgd2UgbmVlZCB0byByb2xsYmFjay4NCj4+Pg0KPj4+IFNvIEkgYW0gd29uZGVyaW5n
IGlmIHdlIGNhbiBhdm9pZCB0byBidW1wIHRoZSB2ZXJzaW9uIGFuZCB1c2Ugb3RoZXIgbWVh
bnMgdG8gDQo+Pj4gZGV0ZWN0IHRoZSBkaWZmZXJlbmNlLg0KPj4NCj4+IEluIHRoZSBlbmQg
dGhpcyBpcyBleGFjdGx5IHdoYXQgdGhlIHZlcnNpb24gd2FzIG1lYW50IHRvIGJlIHVzZWQg
Zm9yLg0KPj4NCj4+IEkgdGhpbmsgaXQgd291bGQgbWFrZSBtdWNoIG1vcmUgc2Vuc2UgdG8g
dGhpbmsgYWJvdXQgdGhlIHdheSB0byBoYW5kbGUgYQ0KPj4gYnVtcCBvZiB0aGUgdmVyc2lv
biBpbiBhIGNvbXBhdGlibGUgd2F5Lg0KPj4NCj4+IE15IGlkZWEgd2FzIHRvIGFkZCBhIHhl
bnN0b3JlZCBjb21tYW5kIGxpbmUgcGFyYW1ldGVyIGZvciBsaW1pdGluZyB0aGUNCj4+IG1p
Z3JhdGlvbiBzdHJlYW0gdmVyc2lvbiB0byBiZSB1c2VkIHRvIGEgc3BlY2lmaWVkIHZlcnNp
b24sIGNhdXNpbmcgbmV3DQo+PiBmZWF0dXJlcyBwcm9iYWJseSB0byBub3QgYmUgYXZhaWxh
YmxlLCB0aG91Z2guDQo+IA0KPiBJIHRoaW5rIHRoaXMgaXMgZmluZS4gU29tZW9uZSB0aGF0
IGNhcmVzIGFib3V0IHJvbGxiYWNrIHdpbGwgYWxzbyBsaWtlbHkgY2FyZSANCj4gYWJvdXQg
ZmxlZXQgZGl2ZXJzaXR5LiBTbyB0aGV5IHdpbGwgd2FudCB0byBhdm9pZCBlbmFibGluZyBh
IGZlYXR1cmUgdW50aWwgdGhleSANCj4ga25vdyBpdCBjYW4gd29yayBldmVyeXdoZXJlLg0K
DQpUaGF0IHdhcyB0aGUgaWRlYSwgeWVzLg0KDQo+IA0KPj4NCj4+IEkgZG9uJ3Qgc2VlIGhv
dyBlLmcuIGEgcm9sbGJhY2sgd291bGQgYmUgZG9hYmxlIGluIGNhc2UgYSBkb21haW4gYWxy
ZWFkeQ0KPj4gc3RhcnRlZCB0byB1c2UgYSBuZXcgZmVhdHVyZSBsaWtlIHRoZSB0aGlyZCBw
YXJhbWV0ZXIgd2hlbiBzZXR0aW5nIGEgd2F0Y2guDQo+PiBFdmVuIGlmIHdlJ2QgZHJvcCB0
aGUgZGVwdGggaW5mb3JtYXRpb24gd2hlbiByb2xsaW5nIGJhY2sgYSB3YXRjaCBzZXQNCj4+
IGFmdGVyd2FyZHMgd2l0aCBhbiBhZGRpdGlvbmFsIGRlcHRoIGFkZGVkIHdvdWxkIGJlIHJl
amVjdGVkIGJ5IHRoZSBvbGRlcg0KPj4geGVuc3RvcmVkLCB3aGljaCB3b3VsZCBiZSB1bmV4
cGVjdGVkIGZhaWx1cmUgZm9yIHRoZSBndWVzdC4NCj4gDQo+IFNlZSBhYm92ZS4NCj4gDQo+
Pg0KPj4gSXQgbWlnaHQgbWFrZSBzZW5zZSB0byB0cnkgdG8gdXNlIHRoZSBWMSBzdHJlYW0g
d2hlbiBkb2luZyBhIGxpdmUgdXBkYXRlLA0KPj4gZS5nLiBjb3ZlcmluZyB0aGUgY2FzZSB3
aGVuIHRoZSBTRVRfRkVBVFVSRSBjb21tYW5kIHdhcyB1c2VkIGZvciBlYWNoDQo+PiBhY3Rp
dmUgZ3Vlc3QgdG8gbGltaXQgdGhlIGZlYXR1cmVzIHRvIFYxIGNvbXBhdGlibGUgb25lcy4g
QSBmb3JjZSBwYXJhbWV0ZXINCj4+IG1pZ2h0IGJlIHVzZWQgdG8gdXNlIHRoZSBWMSBzdHJl
YW0gZXZlbiBpZiBndWVzdHMgYXJlIHVzaW5nIFYyIGZlYXR1cmVzLA0KPj4gcmlza2luZyBi
cmVha2FnZSBvZiB0aG9zZSBndWVzdHMuDQo+IA0KPiBJIGRvbid0IGhhdmUgYSBzdHJvbmcg
b3BpbmlvbiBvbiB0aGlzIHlldC4gSSBtaWdodCBoYXZlIHNvbWUgd2hlbiBzZWVuIHRoZSBj
b2RlIDopLg0KPiANCj4gWy4uLl0NCj4gDQo+PiBUaGlzIHdvdWxkIGV2ZW4gYmUgcG9zc2li
bGUgdXNpbmcgdGhlIGdsb2JhbCByZWNvcmQgb2YgVjEsIGFzDQo+PiB0aGUgbGVuZ3RoIGlu
Zm9ybWF0aW9uIG9mIHRoZSByZWNvcmQgYWxsb3dzIHRvIGFkZCBuZXcgZmllbGRzIHdpdGhv
dXQNCj4+IGhhdmluZyB0byBidW1wIHRoZSB2ZXJzaW9uLg0KPiANCj4gSSB3YXMgYWN0dWFs
bHkgdGhpbmtpbmcgYWJvdXQgdGhpcyB3aGVuIHdyaXRpbmcgdGhlIGUtbWFpbCBsYXN0IHdl
ZWsuIFRoZXJlIGFyZSANCj4gbm8gZHluYW1pYyBsZW5ndGggYXJyYXkgaW4gdGhlIGdsb2Jh
bCByZWNvcmRzIHNvIGZhciwgc28gdXNpbmcgdGhlIGxlbmd0aCANCj4gaW5mb3JtYXRpb24g
d291bGQgYmUgb2suIEkgYW0gbW9yZSBjb25jZXJuZWQgYWJvdXQgdGhlIG90aGVycyBiZWNh
dXNlIHdlIGFyZSANCj4gbWl4aW5nIGZpeGVkIGFuZCBkeW5hbWljIGxlbmd0aC4NCj4gDQo+
IFRoaXMgbWVhbnMgaXQgaXMgbW9yZSBkaWZmaWN1bHQgdG8gcmVhZCB0aGUgY29kZSBhbmQg
dGhlIGxheW91dC4NCj4gDQo+Pg0KPj4+DQo+Pj4+ICt8IGBuLWdsb2ItcXVvdGFgIHwgTnVt
YmVyIG9mIHF1b3RhIHZhbHVlcyB3aGljaCBhcHBseSBnbG9iYWxsecKgIHwNCj4+Pj4gK3zC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBvbmx5LiBWYWxpZCBvbmx5IGZvciB2
ZXJzaW9uIDIgYW5kIGxhdGVyLsKgwqDCoCB8DQo+Pj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0K
Pj4+PiArfCBgcXVvdGEtdmFsYMKgwqDCoCB8IFF1b3RhIHZhbHVlcywgZmlyc3QgdGhlIG9u
ZXMgYXBwbHlpbmcgcGVywqDCoMKgIHwNCj4+Pj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgfCBkb21haW4sIHRoZW4gdGhlIG9uZXMgYXBwbHlpbmcgZ2xvYmFsbHkuIEHC
oMKgIHwNCj4+Pj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCB2YWx1ZSBv
ZiAwIGhhcyB0aGUgc2VtYW50aWNzIG9mICJ1bmxpbWl0ZWQiLiB8DQo+Pj4+ICt8wqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgVmFsaWQgb25seSBmb3IgdmVyc2lvbiAyIGFu
ZCBsYXRlci7CoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwN
Cj4+Pj4gK3wgYHF1b3RhLW5hbWVzYMKgIHwgMCBkZWxpbWl0ZWQgc3RyaW5ncyBvZiB0aGUg
cXVvdGEgbmFtZXMgaW7CoMKgwqAgfA0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8IHRoZSBzYW1lIHNlcXVlbmNlIGFzIHRoZSBgcXVvdGEtdmFsYCB2YWx1ZXMu
IHwgPiANCj4+Pj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBWYWxpZCBv
bmx5IGZvciB2ZXJzaW9uIDIgYW5kIGxhdGVyLsKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+Pj4N
Cj4+PiDCoEZyb20gbXkgdW5kZXJzdGFuZGluZywgYm90aCB2ZXJzaW9uIG9mIFhlbnN0b3Jl
ZCBuZWVkcyB0byBhZ3JlZSBvbiB0aGUgcXVvdGEgDQo+Pj4gbmFtZXMuIFNvIGl0IG1lYW5z
IHRoZSBuYW1lIGhhdmUgdG8gYmUgZGVmaW5lZCBhcyBwYXJ0IG9mIHRoZSBzcGVjLiBBdCB3
aGljaCANCj4+PiBwb2ludCwgSSB0aGluayBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gdXNlIElE
Lg0KPj4NCj4+IEkgZG9uJ3QgdGhpbmsgc28uIEZvciBvbmUgdGhlIG1pbmltYWwgc2V0IG9m
IHF1b3RhIG5hbWVzIGhhcyBiZWVuIGRlZmluZWQNCj4+IGFscmVhZHkgaW4gcGF0Y2ggMy4N
Cj4gDQo+IFNvbWVvbmUgcmVhZGluZyB0aGUgbWlncmF0aW9uIHN0cmVhbSB3aWxsIG5vdCBu
ZWNlc3NhcmlseSByZWFkIHRoZSBYZW5zdG9yZSANCj4gcHJvdG9jb2wuIFNvIEkgdGhpbmsg
d2Ugc2hvdWxkIGVpdGhlciBtYWtlIHRoZW0gZXhwbGljaXQgaW4gdGhlIGRvY3VtZW50YXRp
b24gb3IgDQo+IGhhdmUgYSBsaW5rIHRvIHRoZSBvdGhlciBkb2N1bWVudC4NCg0KSSdsbCBh
ZGQgYSBsaW5rIHRvIHRoZSBvdGhlciBkb2MuDQoNCj4gDQo+PiBBbmQgZXZlbiB3aXRoIHVz
aW5nIGFuIElEIHlvdSdkIGhhdmUgdGhlIHNhbWUgcHJvYmxlbQ0KPj4gYWdhaW4sIGJ1dCB3
aXRob3V0IGhhdmluZyB0aGUgcG9zc2liaWxpdHkgdG8gYWRkIHZhcmlhbnQgc3BlY2lmaWMg
cXVvdGENCj4gDQo+IEZhaXIgZW5vdWdoLg0KPiANCj4+IChyZW1lbWJlciB0aGF0IHRoZXJl
IGFscmVhZHkgaGFzIGJlZW4gYSBzdGF0ZW1lbnQgdGhhdCBkb2luZyBhIGxpdmUgdXBkYXRl
DQo+PiBmcm9tIEMgdG8gT0NBTUwgb3IgdmljZSB2ZXJzYSB3b3VsZCBwcm9iYWJseSBicmVh
ayB1c2VycyBkdWUgdG8gc29tZQ0KPj4gZGV2aWF0aW9ucyBpbiBiZWhhdmlvcikNCj4gSSBj
YW4ndCBmaW5kIHN1Y2ggc3RhdGVtZW50IGluIHB1YmxpYyBkb2N1bWVudGF0aW9uLiBEbyB5
b3UgaGF2ZSBhIGxpbms/DQoNCk5vLCBub3QgcmVhbGx5LiBJSVJDIHRoaXMgd2FzIGEgcmVt
YXJrIG9mIEFuZHJldyBiYWNrIHdoZW4gd2UgaW50cm9kdWNlZA0KTFUgb2YgWGVuc3RvcmUu
IEl0IG1pZ2h0IGV2ZW4gaGF2ZSBiZWVuIGF0IHRoZSB0aW1lIHRoZSBkaXNjdXNzaW9uIHdh
cw0Kb25seSBvbiB0aGUgc2VjdXJpdHkgTUwuDQoNCk5vdGUgdGhhdCAidXNlcnMiIGRvZXNu
J3QgbmVlZCB0byBpbXBseSBndWVzdHMsIGl0IG1pZ2h0IGJlIHJlbGF0ZWQgdG8NCmRvbTAg
c2lkZSB1c2VycywgbGlrZSBlLmcuIFhBUEkuDQoNCj4gVGhhdCBzYWlkLCBhIGd1ZXN0IGRv
ZXNuJ3QgaGF2ZSBhIChlYXN5Pykgd2F5IHRvIGtub3cgaG93IFhlbnN0b3JlZCBpcyANCj4g
aW1wbGVtZW50ZWQuIFNvIGl0IGlzIHF1aXRlIGNvbmNlcm5pbmcgdG8gaGVhciBzb21lIG9m
IHRoZW0gbWF5IHJlbHkgb24gDQo+IGJlaGF2aW9ycy4gSG93IGRpZCB0aGF0IGhhcHBlbj8N
Cg0KTGFjayBvZiBjb21tdW5pY2F0aW9uIGJldHdlZW4gT0NBTUwgYW5kIEMgWGVuc3RvcmUg
bWFpbnRhaW5lcnMgYmFjayB0aGVuPw0KDQo+IA0KPj4NCj4+PiBBbHNvLCBjYW4geW91IGNs
YXJpZnkgd2hhdCB3b3VsZCBoYXBwZW4gaWYgdGhlIHN0cmVhbSBjb250YWlucyBhIHF1b3Rh
IG5vdCANCj4+PiBzdXBwb3J0ZWQgYnkgdGhlIG5ldyBYZW5zdG9yZWQ/DQo+Pg0KPj4gWWVz
LCBJJ2xsIGFkZCBhIHNlbnRlbmNlIHRoYXQgdGhvc2Ugc2hvdWxkIGJlIGlnbm9yZWQuDQo+
Pg0KPj4+DQo+Pj4+ICsNCj4+Pj4gwqAgeGVuc3RvcmVkIHdpbGwgcmVzdW1lIGluIHRoZSBv
cmlnaW5hbCBwcm9jZXNzIGNvbnRleHQuIEhlbmNlIGBydy1zb2NrZXQtZmRgDQo+Pj4+IMKg
IHNpbXBseSBzcGVjaWZpZXMgdGhlIGZpbGUgZGVzY3JpcHRvciBvZiB0aGUgc29ja2V0LiBT
b2NrZXRzIGFyZSBub3QgYWx3YXlzDQo+Pj4+IEBAIC0xNDUsNyArMTc3LDcgQEAgdGhlIGRv
bWFpbiBiZWluZyBtaWdyYXRlZC4NCj4+Pj4gwqAgYGBgDQo+Pj4+IMKgwqDCoMKgwqAgMMKg
wqDCoMKgwqDCoCAxwqDCoMKgwqDCoMKgIDLCoMKgwqDCoMKgwqAgM8KgwqDCoMKgwqDCoCA0
wqDCoMKgwqDCoMKgIDXCoMKgwqDCoMKgwqAgNsKgwqDCoMKgwqDCoCA3wqDCoMKgIG9jdGV0
DQo+Pj4+IMKgICstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0t
LS0tLSstLS0tLS0tKy0tLS0tLS0rDQo+Pj4+IC18IGNvbm4taWTCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGNvbm4tdHlwZcKgwqDCoMKgIHzCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+Pj4gK3wgY29ubi1pZMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgY29ubi10eXBlwqDCoMKgwqAg
fCBuLXF1b3RhwqDCoMKgwqDCoMKgIHwNCj4+Pj4gwqAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsNCj4+Pj4gwqAg
fCBjb25uLXNwZWMNCj4+Pj4gwqAgLi4uDQo+Pj4+IEBAIC0xNTQsNiArMTg2LDE3IEBAIHRo
ZSBkb21haW4gYmVpbmcgbWlncmF0ZWQuDQo+Pj4+IMKgICstLS0tLS0tLS0tLS0tLS0rLS0t
LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+Pj4+IMKg
IHwgZGF0YQ0KPj4+PiDCoCAuLi4NCj4+Pj4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKw0KPj4+PiArfCBmZWF0dXJlc8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB8DQo+Pj4+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSsNCj4+Pj4gK3wgcXVvdGEtdmFsIDHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgfA0KPj4+PiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+Pj4+
ICsuLi4NCj4+Pj4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPj4+PiAr
fCBxdW90YS12YWwgTsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+
Pj4+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+Pj4gK3wgcXVvdGEt
bmFtZXMNCj4+Pj4gKy4uLg0KPj4+PiDCoCBgYGANCj4+Pj4gQEAgLTE2Nyw2ICsyMTAsMTAg
QEAgdGhlIGRvbWFpbiBiZWluZyBtaWdyYXRlZC4NCj4+Pj4gwqAgfMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCB8IDB4MDAwMTogc29ja2V0wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+Pj4gwqAgfMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDB4MDAwMiAtIDB4RkZGRjogcmVzZXJ2
ZWQgZm9yIGZ1dHVyZSB1c2XCoMKgwqDCoCB8DQo+Pj4+IMKgIHzCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8
DQo+Pj4+ICt8IGBuLXF1b3RhYMKgwqDCoMKgwqAgfCBOdW1iZXIgb2YgcXVvdGEgdmFsdWVz
LsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+Pj4+ICt8
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgT25seSBmb3IgYGNvbm4tdHlwZWAg
MCAoc2hhcmVkIHJpbmcpLsKgwqDCoMKgwqDCoMKgIHwNCj4+Pj4gK3zCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgfCBPbmx5IHZhbGlkIGZvciB2ZXJzaW9uIDIgYW5kIGxhdGVy
LsKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+Pj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4+PiDC
oCB8IGBjb25uLXNwZWNgwqDCoMKgIHwgU2VlIGJlbG93wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+
Pj4+IMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8DQo+Pj4+IMKgIHwgYGluLWRhdGEtbGVuYMKgIHwg
VGhlIGxlbmd0aCAoaW4gb2N0ZXRzKSBvZiBhbnkgZGF0YSByZWFkwqDCoMKgwqDCoCB8DQo+
Pj4+IEBAIC0xODIsNiArMjI5LDIyIEBAIHRoZSBkb21haW4gYmVpbmcgbWlncmF0ZWQuDQo+
Pj4+IMKgIHwgYGRhdGFgwqDCoMKgwqDCoMKgwqDCoCB8IFBlbmRpbmcgZGF0YTogZmlyc3Qg
aW4tZGF0YS1sZW4gb2N0ZXRzIG9mwqDCoMKgIHwNCj4+Pj4gwqAgfMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCB8IHJlYWQgZGF0YSwgdGhlbiBvdXQtZGF0YS1sZW4gb2N0ZXRz
IG9mwqDCoMKgwqDCoMKgIHwNCj4+Pj4gwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCB8IHdyaXR0ZW4gZGF0YSAoYW55IG9mIGJvdGggbWF5IGJlIGVtcHR5KcKgwqDCoMKg
wqAgfA0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+Pj4gK3wgYGZlYXR1cmVzYMKgwqDC
oMKgIHwgVmFsdWUgb2YgdGhlIGZlYXR1cmUgZmllbGQgdmlzaWJsZSBieSB0aGXCoMKgwqAg
fA0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGd1ZXN0IGF0IG9m
ZnNldCAyMDY0IG9mIHRoZSByaW5nIHBhZ2UuwqDCoMKgwqDCoMKgIHwNCj4+Pj4gK3zCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBBbGlnbmVkIHRvIHRoZSBuZXh0IDQgb2N0
ZXQgYm91bmRhcnkuwqDCoMKgwqDCoMKgwqAgfA0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB8IE9ubHkgZm9yIGBjb25uLXR5cGVgIDAgKHNoYXJlZCByaW5nKS7C
oMKgwqDCoMKgwqDCoCB8DQo+Pj4NCj4+PiBGb3IgdGhlIHB1cnBvc2Ugb2YgdGhlIHN0cmVh
bSwgSSB3b3VsZCBjb25zaWRlciB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIA0KPj4+
IHNvY2tldCBjb25uZWN0aW9uLiBUaGlzIGNvdWxkIHBvdGVudGlhbGx5IGJlIHVzZWQgaW4g
dGhlIGZ1dHVyZSB0byBhbGxvdyBlYWNoIA0KPj4+IGFwcGxpY2F0aW9uIHRvIGhhdmUgYSBk
aWZmZXJlbnQgYmVoYXZpb3Igd2hlbiBzb2NrZXQgaXMgdXNlZC4NCj4+DQo+PiBUaGlzIHdv
dWxkIGJyZWFrIHRoZSB1c2Ugb2YgeGVuc3RvcmUtc3R1YmRvbSBmb3Igc3VjaCBhIHNldHVw
Lg0KPiANCj4gSSBhbSBub3Qgc3VyZSB3aHkgaXQgd291bGQgYnJlYWsgdGhlIHVzZSBvZiB4
ZW5zdG9yZS1zdHViZG9tLiBBbiBhcHBsaWNhdGlvbiANCj4gd2lsbCBhbHJlYWR5IG5lZWQg
dG8gY29wZSB3aXRoIHRoZSBjYXNlIFhlbnN0b3JlZCBkb2Vzbid0IHN1cHBvcnQgYSBmZWF0
dXJlLg0KDQpTb21lb25lIHJlbHlpbmcgdG8gYmUgYWJsZSB0byBzd2l0Y2ggb2ZmIGEgZmVh
dHVyZSBvbiBhIHNvY2tldCBjb25uZWN0aW9uDQptaWdodCBnZXQgaW50byB0cm91YmxlIHRy
eWluZyB0byBkbyB0aGUgc2FtZSB3aGVuIHJ1bm5pbmcgd2l0aCB4ZW5zdG9yZS1zdHViZG9t
Lg0KU3dpdGNoaW5nIGEgZmVhdHVyZSBvZmYgd2lsbCBlaXRoZXIgbm90IHdvcmssIG9yIHN3
aXRjaCB0aGUgZmVhdHVyZSBvZmYgZm9yIGFsbA0KZG9tMCBjb25uZWN0aW9ucyAod2hpY2gg
aXMgYSBzaW5nbGUgb25lLCBvZiBjb3Vyc2UpLg0KDQo+IEF0IHdoaWNoIHBvaW50LCBpdCB3
b3VsZCBiZSBlYXN5IHRvIHNheSAiSSBkb24ndCB3YW50IHRoaXMgZmVhdHVyZSIgd2hlbiB1
c2luZyBhIA0KPiBzb2NrZXQuDQoNCkkgZG9uJ3Qgc2VlIHRoZSB2YWx1ZSBvZiB0aGF0LiBJ
ZiB5b3UgZG9uJ3Qgd2FudCBhIGZlYXR1cmUsIGp1c3QgZG9uJ3QgdXNlIGl0Lg0KDQo+IA0K
Pj4NCj4+PiBJIGNhbid0IG1ha2UgbXkgbWluZCB5ZXQgaWYgd2UgY2FuIGF2b2lkIGJ1bXBp
bmcgdGhlIHZlcnNpb24gZm9yIHRoaXMgZmllbGQuIA0KPj4+IFdoYXQgd291bGQgaGFwcGVu
IGlmIHdlIG5lZWQgdG8gcm9sbGJhY2s/DQo+Pg0KPj4gSSB0aGluayBhbiBhY3RpdmUgdXNh
Z2Ugb2YgdGhlIG5ldyBmZWF0dXJlcyBhbmQgYSByb2xsYmFjayBhcmUgbXV0dWFsbHkNCj4+
IGV4Y2x1c2l2ZS4gU2VlIGFib3ZlLg0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+Pj4g
K3wgYHF1b3RhLW5hbWVzYMKgIHwgMCBkZWxpbWl0ZWQgc3RyaW5ncyBvZiB0aGUgcXVvdGEg
bmFtZXMgaW7CoMKgwqAgfA0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB8IHRoZSBzYW1lIHNlcXVlbmNlIGFzIHRoZSBgcXVvdGEtdmFsYCB2YWx1ZXMuIHwNCj4+
Pj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBPbmx5IGZvciBgY29ubi10
eXBlYCAwIChzaGFyZWQgcmluZykuwqDCoMKgwqDCoMKgwqAgfA0KPj4+PiArfMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IE9ubHkgdmFsaWQgZm9yIHZlcnNpb24gMiBhbmQg
bGF0ZXIuwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+Pg0KPj4+IEFzIGZvciB0aGUgImdsb2Jh
bCIgcXVvdGFzLCBJIHdvdWxkIG1vdmUgdGhlIHF1b3RhcyBpbiBhIHNlcGFyYXRlIHJlY29y
ZC4gSW4gDQo+Pj4gdGhpcyBjYXNlLCB0aGlzIHdvdWxkIGFsc28gYmUgdXNlZnVsIHRvIGF2
b2lkIGhhdmluZyBtYXkgZHluYW1pYyBsZW5ndGggZmllbGQgDQo+Pj4gd2l0aGluIHRoZSBz
YW1lIHJlY29yZC4NCj4+DQo+PiBJIGxpa2UgaGF2aW5nIHRoZSBkYXRhIHRvZ2V0aGVyIG1v
cmUuDQo+IA0KPiBXaGljaCBpcyBmaW5lIHNvIGxvbmcgdGhlIGNvZGUgZG9lc24ndCBiZWNv
bWUgdG9vIGhvcnJpYmxlIHRvIHJlYWQvbWFpbnRhaW4uIEkgDQo+IHRoaW5rIGhhdmluZyBk
eW5hbWljIGxlbmd0aCBhcnJheSBpbiB0aGUgbWlkZGxlIG9mIHRoZSByZWNvcmQgbWFrZXMg
aXQgdHJpY2tpZXIuDQo+IA0KPiBUaGlzIHdpbGwgb25seSBiZWNvbWUgd29yc2UgYXMgd2Ug
aW50cm9kdWNlIG5ldyBmaWVsZHMgaW4gbmV3ZXIgcmV2aXNpb24uIFNvIGF0IA0KPiB3aGlj
aCBwb2ludCB3b3VsZCB5b3Ugc2F5IHRoZSByZWNvcmQgaGFzIGdyb3duIHRvbyBtdWNoPw0K
PiANCj4gVG8gbWUsIHRoaXMgaXMgYWxyZWFkeSB0aGUgcG9pbnQgYW5kIHdlIGhhdmUgcGxl
bnR5IG9mIHJlY29yZCBJRCB0byBoYW5kbGUgdGhhdC4NCg0KRmFpciBlbm91Z2guDQoNCk90
aGVyIHF1ZXN0aW9ucyBhcmlzaW5nIGZyb20gdGhhdDoNCg0KLSBTaG91bGQgd2UgaGF2ZSBk
aWZmZXJlbnQgcmVjb3JkIHR5cGVzIGZvciBnbG9iYWwgYW5kIHBlci1kb21haW4gcXVvdGE/
DQoNCi0gU2hvdWxkIHdlIHNwbGl0IGdsb2JhbCBxdW90YSBpbnRvIHR3byByZWNvcmQgdHlw
ZXMgKHBlci1kb21haW4gc2V0dGFibGUNCiAgIGFuZCBnbG9iYWwgYWN0aW5nIG9uZXMpPw0K
DQotIENvbWJpbmF0aW9uIG9mIGFib3ZlIChvbmUgcmVjb3JkIHR5cGUgZm9yIHBlci1kb21h
aW4gcXVvdGEsIHVzYWJsZSBmb3INCiAgIGdsb2JhbCBkZWZhdWx0IHdpdGggImludmFsaWQg
ZG9taWQiLCBhbmQgb25lIHJlY29yZCB0eXBlIGZvciB0aGUgZ2xvYmFsDQogICBhY3Rpbmcg
b25lcyBsaWtlIG1heC4gcGF0aC1sZW5ndGgpPw0KDQo+IA0KPj4+DQo+Pj4+IMKgIEluIGNh
c2Ugb2YgbGl2ZSB1cGRhdGUgdGhlIGNvbm5lY3Rpb24gcmVjb3JkIGZvciB0aGUgY29ubmVj
dGlvbiB2aWEgd2hpY2gNCj4+Pj4gwqAgdGhlIGxpdmUgdXBkYXRlIGNvbW1hbmQgd2FzIGlz
c3VlZCB3aWxsIGNvbnRhaW4gdGhlIHJlc3BvbnNlIGZvciB0aGUgbGl2ZQ0KPj4+PiBAQCAt
MjQ3LDcgKzMxMCw3IEBAIGJ5IGEgY29ubmVjdGlvbiBmb3Igd2hpY2ggdGhlcmUgaXMgYENP
Tk5FQ1RJT05fREFUQWAgDQo+Pj4+IHJlY29yZCBwcmV2aW91c2x5IHByZXNlbnQuDQo+Pj4+
IMKgIGBgYA0KPj4+PiDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqAgMcKgwqDCoMKgwqDCoCAy
wqDCoMKgwqDCoMKgIDPCoMKgwqAgb2N0ZXQNCj4+Pj4gLSstLS0tLS0tKy0tLS0tLS0rLS0t
LS0tLSstLS0tLS0tKw0KPj4+PiArKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0r
DQo+Pj4+IMKgIHwgY29ubi1pZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHwNCj4+Pj4gwqAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0r
DQo+Pj4+IMKgIHwgd3BhdGgtbGVuwqDCoMKgwqAgfCB0b2tlbi1sZW7CoMKgwqDCoCB8DQo+
Pj4+IEBAIC0yNTYsNiArMzE5LDkgQEAgYnkgYSBjb25uZWN0aW9uIGZvciB3aGljaCB0aGVy
ZSBpcyBgQ09OTkVDVElPTl9EQVRBYCANCj4+Pj4gcmVjb3JkIHByZXZpb3VzbHkgcHJlc2Vu
dC4NCj4+Pj4gwqAgLi4uDQo+Pj4+IMKgIHwgdG9rZW4NCj4+Pj4gwqAgLi4uDQo+Pj4+ICsr
LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsNCj4+Pj4gK3wgZGVwdGjCoMKgwqDC
oMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+Pj4gKystLS0t
LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKw0KPj4+PiDCoCBgYGANCj4+Pj4gQEAgLTI3
NSw2ICszNDEsMTMgQEAgYnkgYSBjb25uZWN0aW9uIGZvciB3aGljaCB0aGVyZSBpcyBgQ09O
TkVDVElPTl9EQVRBYCANCj4+Pj4gcmVjb3JkIHByZXZpb3VzbHkgcHJlc2VudC4NCj4+Pj4g
wqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHwNCj4+Pj4gwqAgfCBgdG9rZW5gwqDCoMKgwqAgfCBUaGUg
d2F0Y2ggaWRlbnRpZmllciB0b2tlbiwgYXMgc3BlY2lmaWVkIGluIHRoZSB8DQo+Pj4+IMKg
IHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBgV0FUQ0hgIG9wZXJhdGlvbsKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8
DQo+Pj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4+PiArfCBgZGVwdGhgwqDCoMKgwqAgfCBU
aGUgbnVtYmVyIG9mIGRpcmVjdG9yeSBsZXZlbHMgYmVsb3cgdGhlwqDCoMKgwqDCoMKgwqAg
fA0KPj4+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHdhdGNoZWQgcGF0aCB0byBj
b25zaWRlciBmb3IgYSBtYXRjaC4gVGhpc8KgwqDCoMKgwqAgfA0KPj4+PiArfMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCB8IGZpZWxkIGlzIGFsaWduZWQgdG8gdGhlIG5leHQgNCBvY3Rl
dCBib3VuZGFyeS7CoCB8DQo+Pj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgQSB2
YWx1ZSBvZiAweGZmZmYgaXMgdXNlZCBmb3IgdW5saW1pdGVkIGRlcHRoLsKgIHwNCj4+Pj4g
K3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBUaGlzIGZpZWxkIGlzIHZhbGlkIG9ubHkg
Zm9yIHZlcnNpb24gMiBhbmTCoMKgwqDCoMKgIHwNCj4+Pj4gK3zCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgfCBoaWdoZXIuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4+DQo+
Pj4gSWYgd2UgYXJlIGdvaW5nIHRvIGJ1bXAgdGhlIHN0cmVhbSB2ZXJzaW9uLCB0aGVuIEkg
dGhpbmsgd2Ugc2hvdWxkIG1vdmUgdGhlIA0KPj4+IGZpZWxkIGJlZm9yZSB0b2tlbi9wYXRo
Lg0KPj4NCj4+IEkgdGhvdWdodCBhYm91dCB0aGF0LCBidXQgbGlrZWQgaXQgYmV0dGVyIHRv
IGJlIGFibGUgdG8ga2VlcCBhIGNvbW1vbiBzdHJ1Y3QNCj4+IGxheW91dCBmb3IgdGhlIHJl
Y29yZCB3aXRoIHRoZSBWMiBmaWVsZHMgYmVpbmcgYXQgdGhlIGVuZC4NCj4+DQo+PiBNYWlu
IHJlYXNvbiBpcyB0aGUgYWJpbGl0eSB0byBhdm9pZCBkdXBsaWNhdGlvbiBvZiBjb2RlIGZv
ciBiZWluZyBhYmxlIHRvDQo+PiBoYW5kbGUgYm90aCB2ZXJzaW9ucy4NCj4gDQo+IFRoZSBj
b25zIGlzIHlvdSBjYW4ndCBlYXNpbHkgZGVzY3JpYmUgdGhlIHJlY29yZCBpbiAic3RydWN0
IC4uLiIuIEFzIEkgd3JvdGUgDQo+IGFib3ZlLCBJIHRoaW5rIGhhdmUgZHluYW1pYyBsZW5n
dGggYXJyYXkgaW4gdGhlIG1pZGRsZSBvZiBhIHJlY29yZCBpcyB3cm9uZy4NCg0KWW91J3Zl
IGdvdCBhIHBvaW50IGhlcmUuDQoNCj4gSSBoYXZlIGxvb2tlZCBhdCB0aGUgY29kZSwgSSBk
b24ndCB0aGluayB0aGVyZSB3aWxsIGJlIGVub3VnaCBjb2RlIGR1cGxpY2F0aW9uIA0KPiB0
byB3YXJyYW50IGFkZGluZyBmaXhlZCBmaWVsZCBhdCB0aGUgZW5kIG9mIHRoZSByZWNvcmQu
DQoNCk9rYXksIGxldHMgZ28gd2l0aCBhIG5ldyByZWNvcmQgdHlwZSB0aGVuLg0KDQpTaG91
bGQgdGhhdCBhbHdheXMgYmUgdXNlZCwgb3Igb25seSBpZiB0aGUgZGVwdGggaW5mb3JtYXRp
b24gaGFzIGJlZW4NCnNwZWNpZmllZCAoSU9XOiBpcyB0aGUgb2xkIHdhdGNoIHJlY29yZCBm
b3JtYXQgaW52YWxpZCBpbiBWMik/DQoNCg0KSnVlcmdlbg0K
--------------lUxlQ0DYoPeYp05hPCvhNirR
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------lUxlQ0DYoPeYp05hPCvhNirR--

--------------5i3LrpcqhSNNgcWqljNgcZ9J--

--------------RT8sEFhehwPjDfmwAjtRx0Lu
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmLw9AUFAwAAAAAACgkQsN6d1ii/Ey92
LAf/QXlL4ErnLkjwpQWrb45nn4/0Y9Ru3m0q8CM/SyhlOf6P1gKUeDuQ+cKqLDSkosu8XL4ckAol
rVylked0vEffEV5DChmiB+h4EurviKlfUAJ0VLLGisY6oZOfScFfKtFZTRvNoPwumM4a2HdLw/PN
Q/3NwJsGINW7HfpOuRqb3TgkST5xXu+vR09me0kVk4O80rEIycduPEgikvwA0IhVgeS7JKfBBTLt
Q9F3Ho4g09KIgzR6e5LCZtejeSDULrxRGp0Ejwi1/nQodJRBT2dDFO3G5aIOglP5SHa+3etmD3+A
ObNQ0w8ebxuck/lzxQnhqR2KKNVXhaRbM+HSRwSinQ==
=pbT9
-----END PGP SIGNATURE-----

--------------RT8sEFhehwPjDfmwAjtRx0Lu--


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 11:32:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 11:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382427.617358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0zl-0002Gu-FZ; Mon, 08 Aug 2022 11:32:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382427.617358; Mon, 08 Aug 2022 11:32:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL0zl-0002Gn-AD; Mon, 08 Aug 2022 11:32:29 +0000
Received: by outflank-mailman (input) for mailman id 382427;
 Mon, 08 Aug 2022 11:32:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL0zj-0002Gd-Sq; Mon, 08 Aug 2022 11:32:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL0zj-000449-PY; Mon, 08 Aug 2022 11:32:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL0zj-0004ie-0U; Mon, 08 Aug 2022 11:32:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oL0zj-0002Jy-00; Mon, 08 Aug 2022 11:32:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=G8JaNkpBmlD5BZkPR/w5T13WRt1kR6lsfg68ZYL0pPg=; b=WSpBIB9fJjSzwyOrPEoqDp7h5E
	T21ghJQ2TbWUs8bTYlGeVm+NlNAOqkp7vMOMJXbJnkA6NGeF5AVCWiC0muyHZ6JgBeB8WTQcsDm51
	UIf55lanDVLS8hyrnW89aE8qH6IfA76dwJnBj38gnZJLczAYuNxIeBvFJS8bgxzRUlDM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172290-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172290: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c669f22f1a47897e8d1d595d6b8a59a572f9158c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 11:32:27 +0000

flight 172290 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172290/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172281 pass in 172290
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 172281
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 172281

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                c669f22f1a47897e8d1d595d6b8a59a572f9158c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    4 days
Failing since        172148  2022-08-04 21:39:38 Z    3 days   10 attempts
Testing same since   172217  2022-08-06 02:38:18 Z    2 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 12:11:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 12:11:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382442.617368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL1ao-0006YR-Em; Mon, 08 Aug 2022 12:10:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382442.617368; Mon, 08 Aug 2022 12:10:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL1ao-0006YK-Bo; Mon, 08 Aug 2022 12:10:46 +0000
Received: by outflank-mailman (input) for mailman id 382442;
 Mon, 08 Aug 2022 12:10:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL1an-0006YA-Is; Mon, 08 Aug 2022 12:10:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL1an-0004o5-GJ; Mon, 08 Aug 2022 12:10:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL1an-0005iY-1y; Mon, 08 Aug 2022 12:10:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oL1an-0004jv-1X; Mon, 08 Aug 2022 12:10:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gj0CkimfWE+B/Y3eCJN2WGlFWQSe26Ih1SCsxJ4YtRo=; b=SGX6iYdxo36TeBWm5Wd6f6rn/Z
	yJx9dNEDO8KKg+OSc7Y8B8EGnrwOut8u167VEWD/Qk4E+cfPsfRHG11YQIQSLrt30oWIBeXDwFt8C
	hIp+6AO3rN9SWwaSYgtdsNPkFVi9YcePwsMROlBabw9BOlFaafznidmk43GoitVCTeVg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172296-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172296: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 12:10:45 +0000

flight 172296 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172296/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   32 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   18 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 12:41:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 12:41:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382451.617379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL24E-0001RO-Sl; Mon, 08 Aug 2022 12:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382451.617379; Mon, 08 Aug 2022 12:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL24E-0001RH-PZ; Mon, 08 Aug 2022 12:41:10 +0000
Received: by outflank-mailman (input) for mailman id 382451;
 Mon, 08 Aug 2022 12:41:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL24D-0001R7-VX; Mon, 08 Aug 2022 12:41:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL24D-0005Kq-SP; Mon, 08 Aug 2022 12:41:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL24D-0006wR-HH; Mon, 08 Aug 2022 12:41:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oL24D-0003Cu-Gh; Mon, 08 Aug 2022 12:41:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BIuGe8c3z0nWCPwrMG6biUdBcJElvmOR+JWTJenX0OY=; b=sOPMJO7j0e/nzbaKrVtOBs7Dy5
	gAUCgo7cxMWugF+98ii6aq5RhP4MR6ikKaFoEqSEgNAY4BGPKI1s2oZ/M3a+nO1N9Eun68xS4kmG/
	dLI8n2MRO8Rexbe0R13B7JzXDxmqYwn/JcSaRyrafn+LRWqp/953VsqHJNADH5aFsjYA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172287-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172287: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
X-Osstest-Versions-That:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 12:41:09 +0000

flight 172287 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172287/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-shadow     7 xen-install      fail in 172262 pass in 172287
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 18 guest-localmigrate/x10 fail in 172262 pass in 172287
 test-amd64-i386-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail in 172262 pass in 172287
 test-armhf-armhf-xl-vhd 17 guest-start/debian.repeat fail in 172262 pass in 172287
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 172262
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install  fail pass in 172262
 test-amd64-amd64-xl-qcow2    12 debian-di-install          fail pass in 172262

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-i386-libvirt            6 libvirt-build                fail  like 172262
 build-amd64-libvirt           6 libvirt-build                fail  like 172262
 build-arm64-libvirt           6 libvirt-build                fail  like 172262
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172262
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172262
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172262
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172262
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172262
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172262
 build-armhf-libvirt           6 libvirt-build                fail  like 172262
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172262
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172262
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172262
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc
baseline version:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc

Last test of basis   172287  2022-08-08 01:52:00 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 14:37:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 14:37:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382465.617395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL3sr-0003jC-3L; Mon, 08 Aug 2022 14:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382465.617395; Mon, 08 Aug 2022 14:37:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL3sr-0003j5-0t; Mon, 08 Aug 2022 14:37:33 +0000
Received: by outflank-mailman (input) for mailman id 382465;
 Mon, 08 Aug 2022 14:37:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL3sp-0003iv-SL; Mon, 08 Aug 2022 14:37:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL3sp-0007Pc-Nl; Mon, 08 Aug 2022 14:37:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL3sp-00043k-Cm; Mon, 08 Aug 2022 14:37:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oL3sp-0004XH-CH; Mon, 08 Aug 2022 14:37:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PUeCgBD6ElUZSIOwBcyCSMZODCqVhYorqlOHrW6wv3I=; b=UEOC9vdpogCaDV/8w50vvX4XZf
	FkpOTMhv/fMNbYuwBA6v6iLz7D57eG1ZjYLYciQZAr/zeuwurxCnrGSb+7+LQLqdFbMdJg/nMkRTN
	MaEFrPZfeCyG9sS6JFrPCqg4Nm8JLR0s4Kp1swAMpJPXn6i0ZI+8kFBzphdhzFDWUTK4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172299-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172299: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 14:37:31 +0000

flight 172299 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172299/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   33 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    1 days   19 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 15:30:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 15:30:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382480.617406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL4hw-0001EF-1N; Mon, 08 Aug 2022 15:30:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382480.617406; Mon, 08 Aug 2022 15:30:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL4hv-0001E8-Uz; Mon, 08 Aug 2022 15:30:19 +0000
Received: by outflank-mailman (input) for mailman id 382480;
 Mon, 08 Aug 2022 15:30:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y+qk=YM=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oL4hu-0001Dw-Au
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 15:30:18 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 014893e0-172f-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 17:30:17 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id v10so6707958ljh.9
 for <xen-devel@lists.xenproject.org>; Mon, 08 Aug 2022 08:30:17 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 u28-20020a2eb81c000000b0025e6e1c836dsm1393006ljo.126.2022.08.08.08.30.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Aug 2022 08:30:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 014893e0-172f-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=liYOe8byd9KtMcGEPYQzUMb3SHaoWj/+mK+OKIWdke0=;
        b=qg7qbiZbeIveYN1kxUYMwHkcfN3l3WS5zzYR4J4dHt9SMlzCDh0h6p04ZRPY2BwlSS
         7dfujNsZFELYvyEjgVGY1donwHWe1YXlzpSRLgxNiiLTv/MORmy2aEOO2i8kqTh/Ka8a
         gZ73TCJBf7x2JUB9aKNKOgyTDCcYWUhp2yCtvLVtFFD8Mof7j3pMky1iNftgWO19Fz/6
         514TJL1yKPZ7GwXDNKmwt3jxD7powiD567sRQAwK08bZyPOLfdLdoF0Uy6jg1lHx/htd
         rnyU9nLnjrBmxAGjN4866C76V5TmLdBf9JjsVIB2Rx244QZcxdcVHTOuNc6/HTTKqP5y
         LIhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=liYOe8byd9KtMcGEPYQzUMb3SHaoWj/+mK+OKIWdke0=;
        b=FTjjMRlrwBRy8Bn28e2Z1wHevBWaTdSobZP5LokU8HmcBIRNf3/9g6wfZlQr/bIL6W
         5BLoCOtZRgvZMcc1z8AV3hNIBPe75KAFxMYxJDBlYaUuKQBxioLDdeNi+xCnbDeZbSYh
         JX0FYpxM5SOorfPKCU/o0sBbxa0kb0nZ1qlziZbSTiFOyjdl8d9KGiudo3zcaxeaD93o
         eGcTrmfK+CUeDW0nAv8bSAXg8eeDxUqhn5VeWl/Y4xBWlOLAGHXzLg6NwsZBuTX38Nja
         YWfVPIsmxpi46z9XRs8CPolrTe34oca5Vz8EchTN4rVdysnz8CCOACsfH/cRqXQw0V+1
         lQpg==
X-Gm-Message-State: ACgBeo1m+vIxCmoUcf0S9ihWmQU6yX9Po1heTPA0FESlccpdf2JmTJVE
	dUZkk8KcpHN0S+oIlqDvhcc=
X-Google-Smtp-Source: AA6agR7gr1vhmD/TuDChtiDSmBi3cdzpB+Jb1SJEQ3U/RoUwB6mjFZskFz+CXbwrTGJb/NPHtHdl3w==
X-Received: by 2002:a2e:9e10:0:b0:25d:fe95:3b5f with SMTP id e16-20020a2e9e10000000b0025dfe953b5fmr5603023ljk.179.1659972616552;
        Mon, 08 Aug 2022 08:30:16 -0700 (PDT)
Message-ID: <5e762a42-d0d5-86be-e3cd-64bde82c8b47@gmail.com>
Date: Mon, 8 Aug 2022 18:30:14 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <d5590d91683f2dddb3836b1afb444f30c2f5a7fb.1659713855.git.rahul.singh@arm.com>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <d5590d91683f2dddb3836b1afb444f30c2f5a7fb.1659713855.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 05.08.22 18:43, Rahul Singh wrote:


Hello Rahul


Thank you very much for that patch!


> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

I am not 100% sure regarding that. This is *completely* different patch 
from what Oleksandr initially made here:

https://lore.kernel.org/xen-devel/20220719174253.541965-2-olekstysh@gmail.com/

Copy below for the convenience:


+bool is_memory_hole(mfn_t start, mfn_t end)
+{
+Â Â Â  /* TODO: this needs to be properly implemented. */
+Â Â Â  return true;
+}




Patch looks good, just a couple of minor comments/nits.

>
> is_memory_hole was implemented for x86 and not for ARM when introduced.
> Replace is_memory_hole call to pci_check_bar as function should check
> if device BAR is in defined memory range. Also, add an implementation
> for ARM which is required for PCI passthrough.
>
> On x86, pci_check_bar will call is_memory_hole which will check if BAR
> is not overlapping with any memory region defined in the memory map.
>
> On ARM, pci_check_bar will go through the host bridge ranges and check
> if the BAR is in the range of defined ranges.
>
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>   xen/arch/arm/include/asm/pci.h     | 12 ++++++++++
>   xen/arch/arm/pci/pci-host-common.c | 35 ++++++++++++++++++++++++++++++
>   xen/arch/x86/include/asm/pci.h     | 10 +++++++++
>   xen/drivers/passthrough/pci.c      |  8 +++----
>   4 files changed, 61 insertions(+), 4 deletions(-)
>
> diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
> index 7c7449d64f..5c4ab2c4dc 100644
> --- a/xen/arch/arm/include/asm/pci.h
> +++ b/xen/arch/arm/include/asm/pci.h
> @@ -91,6 +91,16 @@ struct pci_ecam_ops {
>       int (*init)(struct pci_config_window *);
>   };
>   
> +/*
> + * struct to hold pci device bar.
> + */
> +struct pdev_bar
> +{
> +    mfn_t start;
> +    mfn_t end;
> +    bool is_valid;
> +};


Nit: This is only used by pci-host-common.c, so I think it could be 
declared there.



> +
>   /* Default ECAM ops */
>   extern const struct pci_ecam_ops pci_generic_ecam_ops;
>   
> @@ -125,6 +135,8 @@ int pci_host_iterate_bridges_and_count(struct domain *d,
>   
>   int pci_host_bridge_mappings(struct domain *d);
>   
> +bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end);
> +
>   #else   /*!CONFIG_HAS_PCI*/
>   
>   struct arch_pci_dev { };
> diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
> index fd8c0f837a..8ea1aaeece 100644
> --- a/xen/arch/arm/pci/pci-host-common.c
> +++ b/xen/arch/arm/pci/pci-host-common.c
> @@ -363,6 +363,41 @@ int __init pci_host_bridge_mappings(struct domain *d)
>       return 0;
>   }
>   
> +static int is_bar_valid(const struct dt_device_node *dev,
> +                        u64 addr, u64 len, void *data)
> +{
> +    struct pdev_bar *bar_data = data;
> +    unsigned long s = mfn_x(bar_data->start);
> +    unsigned long e = mfn_x(bar_data->end);
> +
> +    if ( (s < e) && (s >= PFN_DOWN(addr)) && (e<= PFN_DOWN(addr + len - 1)) )


Nit: white space after 'e' is missed in the last part of the check


> +        bar_data->is_valid =  true;
> +
> +    return 0;
> +}
> +
> +bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end)
> +{
> +    int ret;
> +    struct dt_device_node *dt_node;
> +    struct device *dev = (struct device *)pci_to_dev(pdev);


The cast is present here because of the const?

I would consider passing "const struct pci_dev *pdev" instead of "struct 
device *dev" to pci_find_host_bridge_node() and dropping conversion 
(pci<->dev) in both functions.


Something like below (not tested):

diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
index 5c4ab2c4dc..a17ef32252 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -116,7 +116,7 @@ bool pci_ecam_need_p2m_hwdom_mapping(struct domain *d,
 Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  struct pci_host_bridge *bridge,
 Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t addr);
 Â struct pci_host_bridge *pci_find_host_bridge(uint16_t segment, uint8_t 
bus);
-struct dt_device_node *pci_find_host_bridge_node(struct device *dev);
+struct dt_device_node *pci_find_host_bridge_node(const struct pci_dev 
*pdev);
 Â int pci_get_host_bridge_segment(const struct dt_device_node *node,
 Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint16_t *segment);

diff --git a/xen/arch/arm/pci/pci-host-common.c 
b/xen/arch/arm/pci/pci-host-common.c
index 8ea1aaeece..3a64a7350f 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -243,10 +243,9 @@ err_exit:
 Â /*
 Â  * Get host bridge node given a device attached to it.
 Â  */
-struct dt_device_node *pci_find_host_bridge_node(struct device *dev)
+struct dt_device_node *pci_find_host_bridge_node(const struct pci_dev 
*pdev)
 Â {
 Â Â Â Â  struct pci_host_bridge *bridge;
-Â Â Â  struct pci_dev *pdev = dev_to_pci(dev);

 Â Â Â Â  bridge = pci_find_host_bridge(pdev->seg, pdev->bus);
 Â Â Â Â  if ( unlikely(!bridge) )
@@ -380,14 +379,13 @@ bool pci_check_bar(const struct pci_dev *pdev, 
mfn_t start, mfn_t end)
 Â {
 Â Â Â Â  int ret;
 Â Â Â Â  struct dt_device_node *dt_node;
-Â Â Â  struct device *dev = (struct device *)pci_to_dev(pdev);
 Â Â Â Â  struct pdev_bar bar_data =Â  {
 Â Â Â Â Â Â Â Â  .start = start,
 Â Â Â Â Â Â Â Â  .end = end,
 Â Â Â Â Â Â Â Â  .is_valid = false
 Â Â Â Â  };

-Â Â Â  dt_node = pci_find_host_bridge_node(dev);
+Â Â Â  dt_node = pci_find_host_bridge_node(pdev);

 Â Â Â Â  ret = dt_for_each_range(dt_node, &is_bar_valid, &bar_data);
 Â Â Â Â  if ( ret < 0 )


> +    struct pdev_bar bar_data =  {
> +        .start = start,
> +        .end = end,
> +        .is_valid = false
> +    };
> +
> +    dt_node = pci_find_host_bridge_node(dev);

 Â Â Â  if ( !dt_node )
 Â Â Â Â Â Â Â  return false;


> +
> +    ret = dt_for_each_range(dt_node, &is_bar_valid, &bar_data);
> +    if ( ret < 0 )
> +        return ret;

s/return ret;/return false;


> +
> +    if ( !bar_data.is_valid )
> +        return false;
> +
> +    return true;
> +}
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h
> index c8e1a9ecdb..f4a58c8acf 100644
> --- a/xen/arch/x86/include/asm/pci.h
> +++ b/xen/arch/x86/include/asm/pci.h
> @@ -57,4 +57,14 @@ static always_inline bool is_pci_passthrough_enabled(void)
>   
>   void arch_pci_init_pdev(struct pci_dev *pdev);
>   
> +static inline bool pci_check_bar(const struct pci_dev *pdev,
> +                                 mfn_t start, mfn_t end)
> +{
> +    /*
> +     * Check if BAR is not overlapping with any memory region defined
> +     * in the memory map.
> +     */
> +    return is_memory_hole(start, end);
> +}


Nit: I would use simple #define instead of static inline here

But I am not 100% sure that x86 maintainers would be happy.


> +
>   #endif /* __X86_PCI_H__ */
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index 29356d59a7..52453a05fe 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -304,8 +304,8 @@ static void check_pdev(const struct pci_dev *pdev)
>           if ( rc < 0 )
>               /* Unable to size, better leave memory decoding disabled. */
>               return;
> -        if ( size && !is_memory_hole(maddr_to_mfn(addr),
> -                                     maddr_to_mfn(addr + size - 1)) )
> +        if ( size && !pci_check_bar(pdev, maddr_to_mfn(addr),
> +                                    maddr_to_mfn(addr + size - 1)) )
>           {
>               /*
>                * Return without enabling memory decoding if BAR position is not
> @@ -331,8 +331,8 @@ static void check_pdev(const struct pci_dev *pdev)
>   
>           if ( rc < 0 )
>               return;
> -        if ( size && !is_memory_hole(maddr_to_mfn(addr),
> -                                     maddr_to_mfn(addr + size - 1)) )
> +        if ( size && !pci_check_bar(pdev, maddr_to_mfn(addr),
> +                                    maddr_to_mfn(addr + size - 1)) )
>           {
>               printk(warn, &pdev->sbdf, "ROM ", PFN_DOWN(addr),
>                      PFN_DOWN(addr + size - 1));

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 15:35:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 15:35:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382491.617418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL4mt-0001s2-KS; Mon, 08 Aug 2022 15:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382491.617418; Mon, 08 Aug 2022 15:35:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL4mt-0001rv-H6; Mon, 08 Aug 2022 15:35:27 +0000
Received: by outflank-mailman (input) for mailman id 382491;
 Mon, 08 Aug 2022 15:35:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MrjU=YM=citrix.com=prvs=2124ac30a=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oL4mr-0001rW-R0
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 15:35:25 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b78413f0-172f-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 17:35:24 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b78413f0-172f-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1659972924;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=fmSmf4dxev8BX9UnBlmgZx5kzHy7hC/FmOB8GnvpseA=;
  b=gDTHGKQ3CsGykvT1hj1dDsFxcmYN1fK6WOG7v3GGh0AZ2ESy2tisynz4
   shzLjJvZbEWxRWZaRwinMfPks45zI+F288afpJVotIXS9DRR8bcZalNOa
   cYU9T+eL0G5s4iM5RQUWrHngs60tcMk5WBy5EagJdemtglxzydAXYgXSC
   g=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77617159
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3Ah31NN6BJ+URFNRVWkefolKxfNB/EJm4LizeM4?=
 =?us-ascii?q?r3joE0InEoKPFUCq0HgJSnKGYA4Qc41jMxiXanNTTvWBpoYkwc3S4cn6jLgL?=
 =?us-ascii?q?Yjshj2TamjNzvQeJpR1L3L6ckNe8Pv/S33kuYoXGJ4N4voonDMRdAbur0H3o?=
 =?us-ascii?q?Z2sgae/s5wy76/7HAlA9Cs/FZguI+QR7LXYCbK1ah7m5AjeH2wG2+upqEc0X?=
 =?us-ascii?q?NEkApJDxGP2crIBfbHjuYxE19XzrC5ZRgoUOj9QLMgn4I8np/gKZJyhtteHE?=
 =?us-ascii?q?+oWaEFCVDofjpckYfQ4Qzzzue+hhvZ7gi6fzW0Gx98rZnrVqz6vv38SNjT7/?=
 =?us-ascii?q?PM2OA3Va0gFq/VXHLVNy1SjD+SBo2JzePssHzTfXRWpIdVRD8gYiaj2o2xgn?=
 =?us-ascii?q?NrbuiDGM/TUQ8hQr4QOMAZSwLKlAQ9SqF9P1e1r9W1xQ48JOYwvV5mayHRk6?=
 =?us-ascii?q?AwGxHGDxU0J+96MbMCdxteN+UdDwhTiW8q5lwJA4QIg/1fJdO9VMaMedQYjn?=
 =?us-ascii?q?ToJyGrpe++dNm9MOeVIjPxLGM96ne9oDv6A3fha7nQ9GpSfsRzVDLgGJ5cS9?=
 =?us-ascii?q?v2/4uofiXIuyxId44Osard6t5ZLoH2fDEcIEK9vpo6LO693/kjo+HmpmJj7h?=
 =?us-ascii?q?jVk/JgsWPdn8FsC5Cj4+7DGorNCOh6qS/7KP6wC9141+oSR7kyfQ59Bfr8oE?=
 =?us-ascii?q?u+trtQsX+bmIZlmK2wnt6cR+sODXMIouxWA0NGQWAHBSUy2IQx3MvznlbMQl?=
 =?us-ascii?q?NhN20dVSl2U+Z7pjswTGVwd2r/JjkMSu9ZRYjsLEkn27DS+34c5umZve2N67?=
 =?us-ascii?q?gZw9nzCgpauWqeli/+kLUa9WysI8bBBDFbvqADTgYvfYbyNbol7wPT+j0Fym?=
 =?us-ascii?q?phIHmn9iYAb0oou42SHMy3FX/aFlJvkjBeVECtdQ0X+HqZ8qd/8gDh27i59h?=
 =?us-ascii?q?oNkK0P8+qQhMnSh8GxpKO3p3QlKZk2hA87d+P5DSrlul18Ybz6OPIRsJE2zP?=
 =?us-ascii?q?CBc9zdTj8nht32r6ti0cIQwx5Ku2DLsCStg9flvM84Pf4BYHSEf+g946xTCx?=
 =?us-ascii?q?9LzaIQQo2fVH5tCzh9BI4j2fNcm3BqiP4GpFGoAsTbSZvS/swDnEeS4rt1I7?=
 =?us-ascii?q?H26NxZ/D9oZO/UJCZo5psza9KJd7ZoOiHwTsHa710ZJ3nLzXuabx/CK1monl?=
 =?us-ascii?q?/8iW1M2yZrEf5bvYhP1/YBz0T4M6NaRAHDoJY4+mJSTCcCWBBqbPB52r47aJ?=
 =?us-ascii?q?DSf2jqM5lEo1GTC/8MdNP5ki4Ao6oRkOoAAPIxgYv+UA9FCSI0JJgbbcV5bf?=
 =?us-ascii?q?jQ0sfTXym4sbeHkLNKtBYuuL5BTB0SI3bUAae3U7JCqEiokZTr4rXQen+A5w?=
 =?us-ascii?q?3+1rnZnVHkSH8N+EqMiBxKU1Uhtn6sSDjtQc6fWVqFyyNJaByNmb2BXDcy7K?=
 =?us-ascii?q?AXZ4xDO+jDoSy+X2dR3t3P5iVMhC5UKKIhz3CIcd9MACsQtbtwchry2GjhFI?=
 =?us-ascii?q?kFcB0Tq7WYoK+6kwWlZO2/uy/IHkL101iiNRzpQmUsWBuSxPKyndUycNqQnJ?=
 =?us-ascii?q?q4ZbcFhw1CpeJfpHD+7PsMSq3h4UKlsvGbpOBoX3TfMFm9Jw7hf2ToN2eVdx?=
 =?us-ascii?q?/K202+Noch/SWFcWmP83SH/0HAJF8fez3biO2P80OwFpT6pA9tIYlMVU5Uho?=
 =?us-ascii?q?byzPhc3UnKZzo7CZ+KpQPMb7V4knGTWTtuplmtnwOnWBTyQV/NlTx+buCAtb?=
 =?us-ascii?q?OscnCAXw1qmr8wBkMf2JZEXL0JQscsyHJoK/X2/K0/nqeOI7BElF8+Uq8UaS?=
 =?us-ascii?q?bHZy73ef8dAMqZYGVfQYpJFh+qfmmA77eqGSZZOibtxkTdOkhqZ0CuiFhu9k?=
 =?us-ascii?q?VUsuI684BHiOwvO134dO/T2Z3dNyMlHeDAu1R2LQD8gNQ0GdAtFwyBrbiH1i?=
 =?us-ascii?q?pULkrrJzHo5vsUt6MHAcqsHc8kxsZm5zOlSiIpYRBCb43zNgX2uFvaQTvm9y?=
 =?us-ascii?q?ZhGZlgOazeEc72SrszetiXu8ddLBrKvwm4axJGShJzTWNMAlDLZM4b7Aahhk?=
 =?us-ascii?q?1lyBjupJbpxdbIf4RtOyGi+CN+Ri+jiVh4grTJwGOwITQLTJXye2DxlTrqFL?=
 =?us-ascii?q?f6Obt2q2t/ZCnw8hfZO9wi4kK2+xhnS4r/OliA5iH6zcvItaM7JDIEQ1ZIFu?=
 =?us-ascii?q?6bAELE2bUnrG/O3lplo1c5Syw5Vp1Pe8gKX1vQfH1u3apTLmw8hHSDu+mGDI?=
 =?us-ascii?q?ulkUvux4A22/DAxC+/2k9MykmsAkf9fe2bMB+HQAkztg9T1JUMdTIksJHgml?=
 =?us-ascii?q?bMVW+EXqiGZrf7FDZ22bq1mappa21rg2Ua7Uw0X1tOKC3+vxwvTQn1/4MrcF?=
 =?us-ascii?q?4kkXrZ9ixYlEQKx3LAWsjWYn9VbPoMYtP2dOe1tJz4zXJp0y97hSL/X+QYpj?=
 =?us-ascii?q?yw+uSYlX+8syTQl188Lk8JVDhZA1QamnygOwt9KDBGlQQJNNJaNoXYXsd5lp?=
 =?us-ascii?q?7fDFZPs3lEOjm9DrWk0C9qwEV6NDuGA4oWy4w8Q6KC+nymzZ8HVXTc5Wls/E?=
 =?us-ascii?q?HlopkTp3B000WaC41nMvfh7k5qc9lj3HiQQdHOc0DatR0zjsVUHpEiWwVvBR?=
 =?us-ascii?q?PgvmoIfpN6mSSOn1Lr7FHEmtqMk96o+mA5s3JzWtnRXptqCwIZi7WKKGg3xR?=
 =?us-ascii?q?exq6gao5Fv0pS5cPVREgjqQ0QK92rIdbfGHHAh0d1ZGvLy2cb266tNQjb2nW?=
 =?us-ascii?q?SZWUeocITFZJxZEjNUhi6dq9Q=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,222,1654574400"; 
   d="scan'208";a="77617159"
Date: Mon, 8 Aug 2022 16:35:13 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "George
 Dunlap" <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v3 11/25] tools/xentrace: rework Makefile
Message-ID: <YvEtMQi5NR8ynV6T@perard.uk.xensource.com>
References: <20220624160422.53457-1-anthony.perard@citrix.com>
 <20220624160422.53457-12-anthony.perard@citrix.com>
 <F815868F-E754-451E-B7E1-488258D5EF62@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <F815868F-E754-451E-B7E1-488258D5EF62@arm.com>

On Fri, Jul 22, 2022 at 01:30:53PM +0000, Luca Fancellu wrote:
> > On 24 Jun 2022, at 17:04, Anthony PERARD <anthony.perard@citrix.com> wrote:
> > .PHONY: uninstall
> > uninstall:
> > 	rm -f $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/, $(LIBBIN))
> > 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
> > 	rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(SBIN))
> > -ifneq ($(BIN),)
> > 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(BIN))
> > -endif
> 
> Why here donâ€™t we use $(RM) ?

Well, I don't think it matters which is used between $(RM) and rm -f,
beside consistency maybe. So I don't think introducing changes on those
line would be useful. (Also, it seems that the use of $(RM) for
"uninstall" targets are exceptional so far.)

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 16:12:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 16:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382499.617429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL5Ly-0006Va-7p; Mon, 08 Aug 2022 16:11:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382499.617429; Mon, 08 Aug 2022 16:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL5Ly-0006VT-5G; Mon, 08 Aug 2022 16:11:42 +0000
Received: by outflank-mailman (input) for mailman id 382499;
 Mon, 08 Aug 2022 16:11:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL5Lw-0006VJ-Ge; Mon, 08 Aug 2022 16:11:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL5Lw-0001Fv-DO; Mon, 08 Aug 2022 16:11:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL5Lw-0006r7-5E; Mon, 08 Aug 2022 16:11:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oL5Lw-0007Uj-4k; Mon, 08 Aug 2022 16:11:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7BMm/P793+4xR7PbBT2dWR0L5HXjTCDhGkVU59dM7sc=; b=OhFl0aVevdTgXQy3aYwvPr4y2X
	85Vqqdb0BvVeajW7XcOjCO4ew78Az5QsCU3D3CvBMkblBkc5QQsUUrNmTnCzkg7r3DOcEnkOTBQmE
	QmIEJux3ThQZ9teQVqp+5cKQx6Z4qqLnt0ubu2snOUdNZcMzOnj+O0vz0bVsMEYCD5eY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172301-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172301: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 16:11:40 +0000

flight 172301 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172301/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install         fail pass in 172299

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   34 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    2 days   20 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 18:32:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 18:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382514.617451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7YK-00031h-D8; Mon, 08 Aug 2022 18:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382514.617451; Mon, 08 Aug 2022 18:32:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7YK-00031a-9x; Mon, 08 Aug 2022 18:32:36 +0000
Received: by outflank-mailman (input) for mailman id 382514;
 Mon, 08 Aug 2022 18:32:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL7YJ-00031Q-4P; Mon, 08 Aug 2022 18:32:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL7YJ-0003xV-1O; Mon, 08 Aug 2022 18:32:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL7YI-0002hy-LA; Mon, 08 Aug 2022 18:32:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oL7YI-0004vU-Kh; Mon, 08 Aug 2022 18:32:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PspqCDh7ibDuAPFBpt4PCODNLTdJ2rQZpvjGtVZChNU=; b=qD00N2JbcBwZNX2jxnFejQnv0O
	MnpbB3yL50eArwd0LAAuIK3uCUiBd/n4pCWVaG+PQlJmrOaD9DZhilUM3I+ChA+EPzkgZzyDlEHIH
	QtO74NzowTS4S8W+t2emKy/TpHAA+VjBk3HXoJKxJ9x+JoJz4W0N/0vIWfECxRD5KkLU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172302-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172302: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 18:32:34 +0000

flight 172302 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172302/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   35 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    2 days   21 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 18:37:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 18:37:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382523.617464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7dP-0003fD-2Z; Mon, 08 Aug 2022 18:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382523.617464; Mon, 08 Aug 2022 18:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7dO-0003f6-Tf; Mon, 08 Aug 2022 18:37:50 +0000
Received: by outflank-mailman (input) for mailman id 382523;
 Mon, 08 Aug 2022 18:37:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL7dN-0003ew-3W; Mon, 08 Aug 2022 18:37:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL7dM-00042P-Ur; Mon, 08 Aug 2022 18:37:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL7dM-0002qL-ET; Mon, 08 Aug 2022 18:37:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oL7dM-0002GG-E0; Mon, 08 Aug 2022 18:37:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1HJlOoeeHXKE1DfzM8CO/SXcd1bmbboArF8A9CrSrr4=; b=hCVvYb4U+7MW+/FDy860xiQoJJ
	wM7pG87MwCuJOaf1yHYRM8yOF+siDMtHcRt1R6GRkLK81bJL6obu8OF5PV5kNCLVwNafGHXUYsOI7
	Y7qwn1nmn8ziDcaVSaC2rk03BXEenfx2FJDL2WlcKSXG454lPCa/cIq8hHECxoGwpa1M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172293-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172293: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4e23eeebb2e57f5a28b36221aa776b5a1122dde5
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 18:37:48 +0000

flight 172293 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172293/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     17 guest-saverestore        fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                4e23eeebb2e57f5a28b36221aa776b5a1122dde5
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    4 days
Failing since        172152  2022-08-05 04:01:26 Z    3 days   11 attempts
Testing same since   172293  2022-08-08 06:55:39 Z    0 days    1 attempts

------------------------------------------------------------
1074 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 110214 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 18:39:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 18:39:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382532.617474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7ed-0004Fj-CV; Mon, 08 Aug 2022 18:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382532.617474; Mon, 08 Aug 2022 18:39:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7ed-0004Fc-8f; Mon, 08 Aug 2022 18:39:07 +0000
Received: by outflank-mailman (input) for mailman id 382532;
 Mon, 08 Aug 2022 18:39:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y+qk=YM=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oL7eb-0004FQ-EU
 for xen-devel@lists.xen.org; Mon, 08 Aug 2022 18:39:05 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6004b676-1749-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 20:39:04 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id v2so5279453lfi.6
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 11:39:03 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 k3-20020a2eb743000000b0025e48907929sm1452241ljo.23.2022.08.08.11.39.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Aug 2022 11:39:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6004b676-1749-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=YLfAaoA6TVYVn3NAUPMEsTnFNbo7kNjnovMZPyuIUaE=;
        b=Z5qj71MYxY109mQ4Uvz5hPIXwu8z3Ulsl4v8C3LfZ2eYjOQWLQdoWAeXpI9wWsPIsH
         S/VKPr3Bf6BYv302nxT3e84JlO4aEXltO4Q6jHYvnazKMniA8B1LtDwRO1dJPA63Qi0A
         NasLMvak6KJgAS/QWitYcFkPOQZq1+7yYlFKUvKkgm25+L2ypdAzluVae2TPAyssNCa5
         cOYi/5MXHCMsw/SYiid5dQVrmC4pdLHEnGm10sTSbowHd/WUi9nzpAD3ioeg80VnI1Fm
         JFNpx6Byvb4joy+sWw5ccJj2dQ97lwZVDLkJfZZyGZEywaGbe47H3qWnyuiNTZj4+Zlv
         yCbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=YLfAaoA6TVYVn3NAUPMEsTnFNbo7kNjnovMZPyuIUaE=;
        b=6Qf3gKceCepTyEQc31h+hegeV2rbmFE+JDdSKdKyv0GbsKOuZMG8cOdgQv2o4v/DQQ
         D1TiiTxnYbLeNfghDQqFTbZY7vC5DXBt6mpiuaYyOBdcnYomPIR14leoU/vWq2lXTnpI
         1Kg0fhoIDJNPABfVQfQyKNwhuj+lLSTJg9f6aAkdSeZ+VQrURirhnYGem/c+AwH1x02X
         qaidY7KGQzPGiEZ2Q7b8B1hSq7uYgTl0M5AscadmrTFPUsqfhiJmfVZC5SnUIMYVtdsm
         aXVXWg/qv8Z21tjBXjMTGopejZkpvOxWFks/36745qR1o9q9Dxjm675V5v63to6KgHU4
         sA2g==
X-Gm-Message-State: ACgBeo1vik5jHY+/ZeGWUS94WPBu2L8nJLGkdWYF7tqrI++xHCiFbmWP
	8u2tPPs8P5y5fw0Z5Bpj/xg=
X-Google-Smtp-Source: AA6agR6GkYbAdmTyxOKKLQr74xnHajS7R2opP+iUK6JfvQEoUcpFsjTJCAQsiXAY1vacefiDnHHZ3g==
X-Received: by 2002:a05:6512:10d0:b0:48b:27f2:6d96 with SMTP id k16-20020a05651210d000b0048b27f26d96mr6588581lfg.94.1659983942429;
        Mon, 08 Aug 2022 11:39:02 -0700 (PDT)
Message-ID: <82a9d50c-58ef-1842-be7f-33a05d861f15@gmail.com>
Date: Mon, 8 Aug 2022 21:39:00 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V3 3/6] libxl: arm: Create alloc_virtio_mmio_params()
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
 <ae3e61fe687cb2d9dac17622da2ec81c4064db39.1659596139.git.viresh.kumar@linaro.org>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <ae3e61fe687cb2d9dac17622da2ec81c4064db39.1659596139.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 04.08.22 10:01, Viresh Kumar wrote:

Hello Viresh


> Create a separate routine to allocate base and irq for a device as the
> same code will be required for each device type.
>
> Suggested-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/libxl_arm.c | 38 ++++++++++++++++++++++++------------
>   1 file changed, 25 insertions(+), 13 deletions(-)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 1a3ac1646e94..2f64b9f0ebee 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -48,6 +48,24 @@ static uint32_t alloc_virtio_mmio_irq(libxl__gc *gc, uint32_t *virtio_mmio_irq)
>       return irq;
>   }
>   
> +static int alloc_virtio_mmio_params(libxl__gc *gc, uint64_t *base,
> +                                    uint32_t *irq, uint64_t *virtio_mmio_base,
> +                                    uint32_t *virtio_mmio_irq)
> +{
> +    *base = alloc_virtio_mmio_base(gc, virtio_mmio_base);
> +    if (!*base)
> +        return ERROR_FAIL;
> +
> +    *irq = alloc_virtio_mmio_irq(gc, virtio_mmio_irq);
> +    if (!*irq)
> +        return ERROR_FAIL;
> +
> +    LOG(DEBUG, "Allocate Virtio MMIO params: IRQ %u BASE 0x%"PRIx64, *irq,
> +        *base);
> +
> +    return 0;
> +}
> +
>   static const char *gicv_to_string(libxl_gic_version gic_version)
>   {
>       switch (gic_version) {
> @@ -85,20 +103,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>           libxl_device_disk *disk = &d_config->disks[i];
>   
>           if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
> -            disk->base = alloc_virtio_mmio_base(gc, &virtio_mmio_base);
> -            if (!disk->base)
> -                return ERROR_FAIL;
> +            int rc = alloc_virtio_mmio_params(gc, &disk->base, &disk->irq,
> +                    &virtio_mmio_base, &virtio_mmio_irq);
> +            if (rc)
> +                return rc;
>   
> -            disk->irq = alloc_virtio_mmio_irq(gc, &virtio_mmio_irq);
> -            if (!disk->irq)
> -                return ERROR_FAIL;
> -
> -            if (virtio_irq < disk->irq)
> -                virtio_irq = disk->irq;
>               virtio_enabled = true;

 Â Â  I think that "virtio_enabled = true;" should be moved ...


> -
> -            LOG(DEBUG, "Allocate Virtio MMIO params for Vdev %s: IRQ %u BASE 0x%"PRIx64,
> -                disk->vdev, disk->irq, disk->base);
>           }
>       }
>   
> @@ -107,8 +117,10 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>        * present, make sure that we allocate enough SPIs for them.
>        * The resulting "nr_spis" needs to cover the highest possible SPI.
>        */
> -    if (virtio_enabled)
> +    if (virtio_mmio_irq != GUEST_VIRTIO_MMIO_SPI_FIRST) {
> +        virtio_irq = virtio_mmio_irq - 1;
>           nr_spis = max(nr_spis, virtio_irq - 32 + 1);

 Â ... here. Otherwise after applying all patches "virtio_enabled" only 
gets set if there is a virtio disk device. So it won't be set for virtio 
i2c, etc.

I see that in V2 it was there, but in V3 is not. Or maybe there is some 
reason for doing that which I am not aware of?


Other changes look good.


> +    }
>   
>       for (i = 0; i < d_config->b_info.num_irqs; i++) {
>           uint32_t irq = d_config->b_info.irqs[i];

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 18:40:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 18:40:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382540.617485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7fT-0004so-Q0; Mon, 08 Aug 2022 18:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382540.617485; Mon, 08 Aug 2022 18:39:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7fT-0004sg-MT; Mon, 08 Aug 2022 18:39:59 +0000
Received: by outflank-mailman (input) for mailman id 382540;
 Mon, 08 Aug 2022 18:39:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iWor=YM=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oL7fS-0004Zn-TM
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 18:39:58 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80d891d8-1749-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 20:39:58 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id gk3so18135001ejb.8
 for <xen-devel@lists.xenproject.org>; Mon, 08 Aug 2022 11:39:58 -0700 (PDT)
Received: from uni.. ([2a02:587:ac16:4a00:f2e5:15e2:30fb:8a7e])
 by smtp.googlemail.com with ESMTPSA id
 c16-20020aa7df10000000b0043cf2e0ce1csm4915221edy.48.2022.08.08.11.39.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 11:39:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80d891d8-1749-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=cXG2+avotaR7lN8ZJi5h+68QPfMGOHqEOSY+Ekpxhkk=;
        b=AUPuDRqh7QvgRFSrJcNW7aFTiX/i95bUDjEwKNubYUe+rWVkYLTFtWobIj/okRWKRS
         7YagORddxPffepA9eXlQR9d8lprKYGSqR+oR4+8h3i+o2+POl+ttJjQQON0nzzgVJq/D
         F2sUoogK0i8uuu125FdBtJUGNkzq3NDtY+ulICkQsXiGdPNJ2T+jL+dWagAiMV9XBSLF
         8hSbO/9wkV0ShMT6kvrn+0CD3rkZQs+AYQW4KiQzRTnkKmqz4BgX5WjmTAR8xJ2XK5Ty
         l0Ki2NCZzGcSFUAxLbeDUKit2KIjtBpnMiYNrnyhjoO7aGQhNX0kTJIIb0l/owy2PpQo
         x+Tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=cXG2+avotaR7lN8ZJi5h+68QPfMGOHqEOSY+Ekpxhkk=;
        b=Ei8NNj/am+wXyoo5WFZjSnpvAn+FxefpaLYvBvHpKiVUhafaZ/lCowkm+HMtr82wKg
         HQAa9uhhC10moGNLrlNKqZ+GEhHERMVkTc2MIs1JYHc2/vWYLBzcrpEs1pFB221fke2+
         IiAL6sWpA4sM0FnncTGW7avfGhXY21N/O0E8LC5rEEIG57iha6nnkVr5s2Trzx/ILocZ
         qWz5SM8FR9cdvylCag6xiltcXBCYiN+gfRIbYK2WU44S5urCSpxXgKP+lcsvZkFvdt8M
         qf0ri441U4C7QU+FtZxhewucwGDIBFf8oY3Qi6XtvCHs68IIacOKIIFMzTq2tOtGvgZ2
         rR6w==
X-Gm-Message-State: ACgBeo1mdtSXoAjtqLx1aXwz9SjlE680Bz+NLTGHXt2MCdWTFT0hN7mX
	cmBqHzlAAW1mCEIYUBS9OI+Qh5HD9w8=
X-Google-Smtp-Source: AA6agR74qktu5SFIRl8fSuNICmS6rxOQBbSpfp6bo2bD51rJtNOtH4L0rllAaFBDzvQLeBy+M9iWDA==
X-Received: by 2002:a17:906:ef8c:b0:730:e4e0:1f69 with SMTP id ze12-20020a170906ef8c00b00730e4e01f69mr13118415ejb.113.1659983997388;
        Mon, 08 Aug 2022 11:39:57 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 0/2] automation: Test a pv network interface under dom0less enhanced
Date: Mon,  8 Aug 2022 21:39:50 +0300
Message-Id: <20220808183952.1888459-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xenia Ragiadakou (2):
  automation: qemu-smoke-arm64: Use kernel 5.19
  automation: qemu-smoke-arm64: Run ping test over a pv network
    interface

 automation/gitlab-ci/build.yaml               | 11 +++++
 automation/gitlab-ci/test.yaml                | 10 +++--
 automation/scripts/qemu-smoke-arm64.sh        | 44 ++++++++++++++++---
 .../kernel/5.19-arm64v8.dockerfile            | 37 ++++++++++++++++
 4 files changed, 93 insertions(+), 9 deletions(-)
 create mode 100644 automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 18:40:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 18:40:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382541.617496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7fV-00058w-26; Mon, 08 Aug 2022 18:40:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382541.617496; Mon, 08 Aug 2022 18:40:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7fU-00058l-Ul; Mon, 08 Aug 2022 18:40:00 +0000
Received: by outflank-mailman (input) for mailman id 382541;
 Mon, 08 Aug 2022 18:40:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iWor=YM=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oL7fU-0004sh-3x
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 18:40:00 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81664ca1-1749-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 20:39:59 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id y13so18092645ejp.13
 for <xen-devel@lists.xenproject.org>; Mon, 08 Aug 2022 11:39:59 -0700 (PDT)
Received: from uni.. ([2a02:587:ac16:4a00:f2e5:15e2:30fb:8a7e])
 by smtp.googlemail.com with ESMTPSA id
 c16-20020aa7df10000000b0043cf2e0ce1csm4915221edy.48.2022.08.08.11.39.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 11:39:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81664ca1-1749-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=pmYnYXaiATMWy4qWVpvV+VyEhrge4cny24Q8a2VB19A=;
        b=F0QEKyhBbcycjypi2VCRocS89EgmXSpBpvDkBkGxnFge8vM1S6bGvWpxJZ6dfN6IaN
         JuB6ZQV/fdUt9UuudtsIDk+8PxuzTJxUEesmNj8qiFxwxWB4t6PgGDHCkBYd1ODxotv4
         DVN7IAZZj4JN32246k9DRYfZ96fyBVRDccXJmeG80GXgj4scH9j2ffVUD5vBTgUL/uWm
         R6UqO1rftwgSTV+spG+a6g9tGDJD5Y/8JQZnvcJZX1T05x0hlMNlWLXheiYBaf25PYRo
         LN1JySDnQtHZyKVk50poiO+16WqDSwvcBbsCcQJQmBYfh+8SJEBDQoRVrnW6m9GefF/d
         2RWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=pmYnYXaiATMWy4qWVpvV+VyEhrge4cny24Q8a2VB19A=;
        b=sbrojy6SOioPIrpRidV/Y8t+8AvkC5anA63WTaFCT8/IY5D8MSbQ3Mnlw3JpRuSzhk
         Okq4kEAEc1ZQq9Vld0QUyMWznl1IpAqvIBeuxuk1Mfc0jOYwrapPDiUJ6+DDomxvfvtk
         /s8DacIDn+HXLZopOaYrKvfOfg/WGLIidfVttzz/lftD+h8oayxzasUvmugp8dAcZY05
         /OQLnvrkngmN3x0yf9rbdAgQHqNOAtmuEu3Oov6DexhMrvN3mfpaslPSe1PiLHr3m1po
         4ZVHiRJStc3xuXedG+ZtFvXQGypQV4Bv8GtSOYItl9MaVzEC8vcZI6bHdv0Ty/J5F/Fv
         aG5g==
X-Gm-Message-State: ACgBeo1PQf598fKKmLrMFi5qCc6KKV9BiqAXXvEeJBWiEBLu+8mbpFTE
	GC+kEeDAHXnrAOq88nJEjkaVozqWsE4=
X-Google-Smtp-Source: AA6agR7yoQWy06m47LTBzo+Baes3blkewYmxwh1AG0j2GSdf4y/eEUyGHr1/ev5nhUPP4/xQZRIq6w==
X-Received: by 2002:a17:907:c14:b0:730:9d15:c9bc with SMTP id ga20-20020a1709070c1400b007309d15c9bcmr14685850ejc.752.1659983998487;
        Mon, 08 Aug 2022 11:39:58 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 1/2] automation: qemu-smoke-arm64: Use kernel 5.19
Date: Mon,  8 Aug 2022 21:39:51 +0300
Message-Id: <20220808183952.1888459-2-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220808183952.1888459-1-burzalodowa@gmail.com>
References: <20220808183952.1888459-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use kernel 5.19 to unblock testing dom0less enhanced.
This kernel version has the necessary patches for deferring xenbus probe
until xenstore is fully initialized.
Also, build kernel with bridging and xen netback support enabled because
it will be used for testing network connectivity between Dom0 and Dom1
over a pv network interface.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- none

 automation/gitlab-ci/build.yaml               | 11 ++++++
 automation/gitlab-ci/test.yaml                |  4 +-
 .../kernel/5.19-arm64v8.dockerfile            | 37 +++++++++++++++++++
 3 files changed, 50 insertions(+), 2 deletions(-)
 create mode 100644 automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 23b306e7d0..d2f75a090c 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -597,6 +597,17 @@ kernel-5.9.9-arm64-export:
   tags:
     - arm64
 
+kernel-5.19-arm64-export:
+  extends: .test-jobs-artifact-common
+  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:5.19-arm64v8
+  script:
+    - mkdir binaries && cp /Image binaries/Image
+  artifacts:
+    paths:
+      - binaries/Image
+  tags:
+    - arm64
+
 qemu-system-aarch64-6.0.0-arm64-export:
   extends: .test-jobs-artifact-common
   image: registry.gitlab.com/xen-project/xen/tests-artifacts/qemu-system-aarch64:6.0.0-arm64v8
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 6f9f64a8da..aa633fb655 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -70,7 +70,7 @@ qemu-smoke-arm64-gcc:
     - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee qemu-smoke-arm64.log
   needs:
     - debian-unstable-gcc-arm64
-    - kernel-5.9.9-arm64-export
+    - kernel-5.19-arm64-export
     - qemu-system-aarch64-6.0.0-arm64-export
   artifacts:
     paths:
@@ -88,7 +88,7 @@ qemu-smoke-arm64-gcc-staticmem:
     - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log
   needs:
     - debian-unstable-gcc-arm64
-    - kernel-5.9.9-arm64-export
+    - kernel-5.19-arm64-export
     - qemu-system-aarch64-6.0.0-arm64-export
   artifacts:
     paths:
diff --git a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
new file mode 100644
index 0000000000..e445c1f03a
--- /dev/null
+++ b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
@@ -0,0 +1,37 @@
+FROM arm64v8/debian:unstable
+LABEL maintainer.name="The Xen Project" \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV LINUX_VERSION=5.19
+ENV USER root
+
+RUN mkdir /build
+WORKDIR /build
+
+# build depends
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        build-essential \
+        libssl-dev \
+        bc \
+        curl \
+        flex \
+        bison \
+        && \
+    \
+    # Build the kernel
+    curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-"$LINUX_VERSION".tar.xz && \
+    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
+    cd linux-"$LINUX_VERSION" && \
+    make defconfig && \
+    sed -i 's/CONFIG_IPV6=m/CONFIG_IPV6=y/g' .config && \
+    sed -i 's/CONFIG_BRIDGE=m/CONFIG_BRIDGE=y/g' .config && \
+    sed -i 's/# CONFIG_XEN_NETDEV_BACKEND is not set/CONFIG_XEN_NETDEV_BACKEND=y/g' .config && \
+    make -j$(nproc) Image.gz && \
+    cp arch/arm64/boot/Image / && \
+    cd /build && \
+    rm -rf linux-"$LINUX_VERSION"* && \
+    apt-get autoremove -y && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 18:40:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 18:40:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382542.617506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7fW-0005T5-D6; Mon, 08 Aug 2022 18:40:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382542.617506; Mon, 08 Aug 2022 18:40:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL7fW-0005Se-9K; Mon, 08 Aug 2022 18:40:02 +0000
Received: by outflank-mailman (input) for mailman id 382542;
 Mon, 08 Aug 2022 18:40:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iWor=YM=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oL7fU-0004sh-Uc
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 18:40:01 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 820943d2-1749-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 20:40:00 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id t5so12397047edc.11
 for <xen-devel@lists.xenproject.org>; Mon, 08 Aug 2022 11:40:00 -0700 (PDT)
Received: from uni.. ([2a02:587:ac16:4a00:f2e5:15e2:30fb:8a7e])
 by smtp.googlemail.com with ESMTPSA id
 c16-20020aa7df10000000b0043cf2e0ce1csm4915221edy.48.2022.08.08.11.39.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 11:39:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 820943d2-1749-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=vS8/1xdGBjOCQRHZYv0ZoPfKB9E5HWaT+XENlF5TNvc=;
        b=JHSbjPNvFEFFmFuRnDAqp8W61wx0kUHz+ZyyC49LeQLdVimzbCP78i/NIKRq25okSI
         Sf0He9+PrjioAvZ79UMhKz+A/HtD/JnW9VFmZ3KiK/WERvjiYPZ7+PuEwGd/0GNDUuw8
         D8U+glxBxACvnOHwHlsDdLQbIuNeyBDlzIIckmoiGu+e2rJPSSLAyM57L7OupY3i0BXw
         3nJzm4mOz60AgTL0qsRJ8ywv3XOmJjLT87e32+yypN8indiPvd3vHNP/S+K9+V86OOh/
         yeNVTib18IqE1UyAXfLZjL55/GJDTJ1iO+sIaV/IoZ7XkefD1dUXJ+o1S5lGsqFGDYoQ
         CY7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=vS8/1xdGBjOCQRHZYv0ZoPfKB9E5HWaT+XENlF5TNvc=;
        b=FT5RPcW7wQEb+gwD/wqRv9o0Rif0VnICQaUvT1tZZjH426b1O+WwB8PyUNgFCSnS+M
         LmLBFNMJOS3Ustft52UNJBgGM96qu0pAiVviqhMwyLEtnyBkN14O9FuvEBnpt6VOew06
         gVQyZxF4oCotiomMpYTPLz5VSx8PXRDKz/B3CXSHkQdqjydJ+N0iCp9kRu4bRz7J0apF
         4S+pu4DIbJc5mlNZw1pyzHAFGc5oI9TyvtROO7sivz5LIjZswUu4h5j+Lv+kBIhQZ6++
         dJSvHJp2Y5wWadKxgWN6U596Ult+U4J5zGexvLA3ET+LUyOTGlWRz0UB4gvmZC8WXegy
         ohYQ==
X-Gm-Message-State: ACgBeo0XcUoFv+0EHGZ9PctnrRQ/iKE228kr52hTXtRCTx5SM2ddXEqN
	j/HOtL2HRB6Prlb9MSSPPKJ+CjG65zI=
X-Google-Smtp-Source: AA6agR7AcCIHdKI9z+HaPQuPF1Pm/ozX+EhSXcVda8DLaN8FRkXsSiI7k3sFfUBl7h8sk9qaqFE2Ow==
X-Received: by 2002:a05:6402:2691:b0:43d:ba10:854b with SMTP id w17-20020a056402269100b0043dba10854bmr18064425edd.158.1659983999430;
        Mon, 08 Aug 2022 11:39:59 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 2/2] automation: qemu-smoke-arm64: Run ping test over a pv network interface
Date: Mon,  8 Aug 2022 21:39:52 +0300
Message-Id: <20220808183952.1888459-3-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220808183952.1888459-1-burzalodowa@gmail.com>
References: <20220808183952.1888459-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch modified the test in the following way
- Dom0 is booted with an alpine linux rootfs with the xen tools.
- Once Dom0 is booted, it starts xenstored, calls init-dom0less to setup
the xenstore interface for the dom0less Dom1, setups the bridged network
and attaches a pv network interface to Dom1.
- In the meantime, Dom1 in its init script tries to assign an ip to eth0
and ping Dom0,
- If Dom1 manages to ping Dom0, it prints 'passed'.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- rebase against the latest changes on staging
- search for 'Welcome to Alpine Linux' instead of 'Welcome to Alpine Linux 3.12'
so that the test is not bound to a specific Alpine Linux version
- do not disable dom0less enhanced in the ImageBuilder script

 automation/gitlab-ci/test.yaml         |  6 ++--
 automation/scripts/qemu-smoke-arm64.sh | 44 +++++++++++++++++++++++---
 2 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index aa633fb655..2eb6c3866e 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -69,7 +69,8 @@ qemu-smoke-arm64-gcc:
   script:
     - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee qemu-smoke-arm64.log
   needs:
-    - debian-unstable-gcc-arm64
+    - alpine-3.12-gcc-arm64
+    - alpine-3.12-arm64-rootfs-export
     - kernel-5.19-arm64-export
     - qemu-system-aarch64-6.0.0-arm64-export
   artifacts:
@@ -87,7 +88,8 @@ qemu-smoke-arm64-gcc-staticmem:
   script:
     - ./automation/scripts/qemu-smoke-arm64.sh static-mem 2>&1 | tee qemu-smoke-arm64.log
   needs:
-    - debian-unstable-gcc-arm64
+    - alpine-3.12-gcc-arm64
+    - alpine-3.12-arm64-rootfs-export
     - kernel-5.19-arm64-export
     - qemu-system-aarch64-6.0.0-arm64-export
   artifacts:
diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh
index 497dbee15f..c80d9b2aee 100755
--- a/automation/scripts/qemu-smoke-arm64.sh
+++ b/automation/scripts/qemu-smoke-arm64.sh
@@ -4,8 +4,13 @@ set -ex
 
 test_variant=$1
 
-passed="BusyBox"
-check=""
+passed="passed"
+check="
+until ifconfig eth0 192.168.0.2 && ping -c 10 192.168.0.1; do
+    sleep 30
+done
+echo \"${passed}\"
+"
 
 if [[ "${test_variant}" == "static-mem" ]]; then
     # Memory range that is statically allocated to DOM1
@@ -68,6 +73,36 @@ cd initrd
 find . | cpio --create --format='newc' | gzip > ../binaries/initrd
 cd ..
 
+# DOM0 rootfs
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../binaries/dist/install/* .
+
+echo "#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+bash /etc/init.d/xencommons start
+
+/usr/local/lib/xen/bin/init-dom0less
+
+brctl addbr xenbr0
+brctl addif xenbr0 eth0
+ifconfig eth0 up
+ifconfig xenbr0 up
+ifconfig xenbr0 192.168.0.1
+
+xl network-attach 1 type=vif
+" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
+cd ..
 
 # ImageBuilder
 echo 'MEMORY_START="0x40000000"
@@ -76,14 +111,13 @@ MEMORY_END="0x80000000"
 DEVICE_TREE="virt-gicv2.dtb"
 XEN="xen"
 DOM0_KERNEL="Image"
-DOM0_RAMDISK="initrd"
+DOM0_RAMDISK="dom0-rootfs.cpio.gz"
 XEN_CMD="console=dtuart dom0_mem=512M"
 
 NUM_DOMUS=1
 DOMU_KERNEL[0]="Image"
 DOMU_RAMDISK[0]="initrd"
 DOMU_MEM[0]="256"
-DOMU_ENHANCED[0]=0
 
 LOAD_CMD="tftpb"
 UBOOT_SOURCE="boot.source"
@@ -114,5 +148,5 @@ timeout -k 1 240 \
     -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
 
 set -e
-(grep -q "^BusyBox" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
+(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "DOM1: ${passed}" smoke.serial) || exit 1
 exit 0
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 19:32:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 19:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382561.617518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL8UA-0003Wm-Ev; Mon, 08 Aug 2022 19:32:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382561.617518; Mon, 08 Aug 2022 19:32:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL8UA-0003Wf-BW; Mon, 08 Aug 2022 19:32:22 +0000
Received: by outflank-mailman (input) for mailman id 382561;
 Mon, 08 Aug 2022 19:32:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL8U9-0003WV-9E; Mon, 08 Aug 2022 19:32:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL8U9-00052n-6T; Mon, 08 Aug 2022 19:32:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oL8U8-00048W-TL; Mon, 08 Aug 2022 19:32:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oL8U8-0008P4-Ss; Mon, 08 Aug 2022 19:32:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ltyZFTVUKFcy0z21kocCP3dBKTdukuTp0UC6Mi/OOTY=; b=uIYqUTba9NaTiCoy5LohUqCaIq
	m4WVYig/Mhha3pF/51K4ZzpbLQ6n0flsFnV1WNnN9LqrWpC8cYSA65m9nQemvlQO4hG1tzdnzGFAw
	lxA05wUezDzHxEz5YORs3vXHaQNUj09E/eEHIBhqts0Ho6wtqDy1//765R7hWJIaHkg4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172298-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172298: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c669f22f1a47897e8d1d595d6b8a59a572f9158c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 19:32:20 +0000

flight 172298 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172298/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 172290 pass in 172298
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 172290 pass in 172298
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install  fail pass in 172290

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                c669f22f1a47897e8d1d595d6b8a59a572f9158c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    5 days
Failing since        172148  2022-08-04 21:39:38 Z    3 days   11 attempts
Testing same since   172217  2022-08-06 02:38:18 Z    2 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 19:32:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 19:32:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382566.617529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL8Ua-00041S-Se; Mon, 08 Aug 2022 19:32:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382566.617529; Mon, 08 Aug 2022 19:32:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL8Ua-00041L-PW; Mon, 08 Aug 2022 19:32:48 +0000
Received: by outflank-mailman (input) for mailman id 382566;
 Mon, 08 Aug 2022 19:32:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y+qk=YM=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oL8UY-0003s1-SQ
 for xen-devel@lists.xen.org; Mon, 08 Aug 2022 19:32:47 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e100601e-1750-11ed-bd2e-47488cf2e6aa;
 Mon, 08 Aug 2022 21:32:46 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id c17so14112413lfb.3
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 12:32:45 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 4-20020a05651c12c400b0025e53413b6dsm1451220lje.2.2022.08.08.12.32.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Aug 2022 12:32:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e100601e-1750-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=ipnhp/Ii+AspFQv5rTlWkcDTE1Tq1YxQYf6J72n8Gbw=;
        b=UeBa1CkxRBrtHcOdthRkH+sus6U95dPvmYEOHt9EuXmXxrwo+l06uGlzLF4sUgTdLc
         NXbh3I/BuxxognUuGgY9uST0O6ywNwGvtBBYIdGlsGNXxEsEDS7HTOpjjOhusZ6U73ys
         qqx7fE3NvBk+0Ia5HXhaIG5RpySRNMkrOgKC28AqJLH9deinhPMp8hJgntOJlfNj2FBO
         Kj5mzrkvRlhOSRtSQbIwuoeCW/B+7GceWXIa6uYU5OMLgEB/1x0n0F+N/Dz585OWAv3g
         eZfdXR3Oxfo8u5sVP71cz4rw862vSD+cM8tqPihPgx6jou5BoZXi4XwnaJJcYk6WzZf4
         QxvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=ipnhp/Ii+AspFQv5rTlWkcDTE1Tq1YxQYf6J72n8Gbw=;
        b=JcfThDEug21e+clI2vw6i14iKGuZ4irPWkMgSB51kqQq2XZzTLwgyjpXOQ+V520Qh+
         04fghfpzAXeJcwWNCmecxlDiprypkEhSfvVr/UIHIXlRrk8SATpT3Z8Lcv+280tNaq5T
         GkQi6x9AMAzoBcUjuxBxAZZhoXxsikNcxqpX/CtB6nq4QAZp0hnnO4hbwndB7/Azy7Ba
         wWboz6dZUCNuvF25e7bVniFvVAedf0SkicI2hoSokJsOBlYDa8UdjWb26Dp/DtbOw2hh
         3Za8nrSOpCrDPJz1Ejqijsk4LajMquEPyzK+vpZ6vTIjKcchj2tPyjFgA1nIBrjvoJg5
         /hgA==
X-Gm-Message-State: ACgBeo1CMMweyT50guS9eAE0C147cmeY0Ie/5U2t7Y/iSA3nJH40QLop
	YNBdDKfstRKkidM5tfjH2Ns=
X-Google-Smtp-Source: AA6agR5wxhUDokBJPLRjwKEDrs6acNcGqnLmZVu//HDEeWCrA4Zg4fBPVEOmxXIiYFWuvLo3Be3P4A==
X-Received: by 2002:a05:6512:1083:b0:48b:a1bb:a8b4 with SMTP id j3-20020a056512108300b0048ba1bba8b4mr3362543lfg.342.1659987165442;
        Mon, 08 Aug 2022 12:32:45 -0700 (PDT)
Message-ID: <43fd61cf-b66f-b45a-c501-2b68e40c004a@gmail.com>
Date: Mon, 8 Aug 2022 22:32:43 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V3 4/6] libxl: arm: Split make_virtio_mmio_node()
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
 <ae20b87d583b981302905059d157a03400cd8eb2.1659596139.git.viresh.kumar@linaro.org>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <ae20b87d583b981302905059d157a03400cd8eb2.1659596139.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 04.08.22 10:01, Viresh Kumar wrote:

Hello Viresh

> make_virtio_mmio_node() creates the DT node for simple MMIO devices
> currently, i.e. the ones that don't require any additional properties.
>
> In order to allow using it for other complex device types, split the
> functionality into two, one where the fdt node isn't closed and the
> other one to create a simple DT node.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/libxl_arm.c | 24 ++++++++++++++----------
>   1 file changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 2f64b9f0ebee..6a8c4d042bd9 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -900,9 +900,8 @@ static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
>       return 0;
>   }
>   
> -static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
> -                                 uint64_t base, uint32_t irq,
> -                                 uint32_t backend_domid)
> +static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, uint64_t base,
> +                                        uint32_t irq)
>   {
>       int res;
>       gic_interrupt intr;
> @@ -922,7 +921,15 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
>       res = fdt_property_interrupts(gc, fdt, &intr, 1);
>       if (res) return res;
>   
> -    res = fdt_property(fdt, "dma-coherent", NULL, 0);
> +    return fdt_property(fdt, "dma-coherent", NULL, 0);
> +}
> +
> +static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
> +                                        uint32_t irq, uint32_t backend_domid)
> +{
> +    int res;
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq);
>       if (res) return res;
>   
>       if (backend_domid != LIBXL_TOOLSTACK_DOMID) {
> @@ -935,10 +942,7 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
>           if (res) return res;
>       }
>   
> -    res = fdt_end_node(fdt);
> -    if (res) return res;
> -
> -    return 0;
> +    return fdt_end_node(fdt);
>   }
>   
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
> @@ -1261,8 +1265,8 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>                       iommu_created = true;
>                   }
>   
> -                FDT( make_virtio_mmio_node(gc, fdt, disk->base, disk->irq,
> -                                           disk->backend_domid) );
> +                FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
> +                                            disk->irq, disk->backend_domid) );
>               }
>           }

[I failed to find a better place where to make a comment]


I think that the following chunk should be also moved to 
make_virtio_mmio_node_common() since it is not a virtio disk specific 
action, this "iommus" property pointing to "xen,grant-dma" IOMMU node is 
used to inform a guest that restricted memory access using Xen grant 
mappings needs to be enabled for the virtio device if it's backend is 
going to run in a non hardware domain, which I assume also applies for 
virtio i2c, etc.


 Â Â Â  if (backend_domid != LIBXL_TOOLSTACK_DOMID) {
 Â Â Â Â Â Â Â  uint32_t iommus_prop[2];

 Â Â Â Â Â Â Â  iommus_prop[0] = cpu_to_fdt32(GUEST_PHANDLE_IOMMU);
 Â Â Â Â Â Â Â  iommus_prop[1] = cpu_to_fdt32(backend_domid);

 Â Â Â Â Â Â Â  res = fdt_property(fdt, "iommus", iommus_prop, 
sizeof(iommus_prop));
 Â Â Â Â Â Â Â  if (res) return res;
 Â Â Â  }


This means that "uint32_t backend_domid" should be also passed as 
argument to make_virtio_mmio_node_common()


Something like the diff on top of current patch below (not tested):

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index a98cfe708b..1a6ace3d8d 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -900,7 +900,7 @@ static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
 Â }

 Â static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, 
uint64_t base,
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t irq)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t irq, uint32_t 
backend_domid)
 Â {
 Â Â Â Â  int res;
 Â Â Â Â  gic_interrupt intr;
@@ -920,15 +920,7 @@ static int make_virtio_mmio_node_common(libxl__gc 
*gc, void *fdt, uint64_t base,
 Â Â Â Â  res = fdt_property_interrupts(gc, fdt, &intr, 1);
 Â Â Â Â  if (res) return res;

-Â Â Â  return fdt_property(fdt, "dma-coherent", NULL, 0);
-}
-
-static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, 
uint64_t base,
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t irq, uint32_t 
backend_domid)
-{
-Â Â Â  int res;
-
-Â Â Â  res = make_virtio_mmio_node_common(gc, fdt, base, irq);
+Â Â Â  res = fdt_property(fdt, "dma-coherent", NULL, 0);
 Â Â Â Â  if (res) return res;

 Â Â Â Â  if (backend_domid != LIBXL_TOOLSTACK_DOMID) {
@@ -941,6 +933,17 @@ static int make_virtio_mmio_node_simple(libxl__gc 
*gc, void *fdt, uint64_t base,
 Â Â Â Â Â Â Â Â  if (res) return res;
 Â Â Â Â  }

+Â Â Â  return res;
+}
+
+static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, 
uint64_t base,
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t irq, uint32_t 
backend_domid)
+{
+Â Â Â  int res;
+
+Â Â Â  res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+Â Â Â  if (res) return res;
+
 Â Â Â Â  return fdt_end_node(fdt);
 Â }


Other changes look good.


>   

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 20:19:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 20:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382580.617546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL9DI-00005H-Fs; Mon, 08 Aug 2022 20:19:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382580.617546; Mon, 08 Aug 2022 20:19:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oL9DI-000058-CB; Mon, 08 Aug 2022 20:19:00 +0000
Received: by outflank-mailman (input) for mailman id 382580;
 Mon, 08 Aug 2022 20:18:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y+qk=YM=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oL9DG-000051-Tq
 for xen-devel@lists.xen.org; Mon, 08 Aug 2022 20:18:59 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53f21bee-1757-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 22:18:57 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id r14so11004845ljp.2
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 13:18:55 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 e15-20020a05651236cf00b0048a85bd4429sm1527851lfs.126.2022.08.08.13.18.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Aug 2022 13:18:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53f21bee-1757-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=Mndvt9OOp+f6zb1S3WX5DYIGtfjZlQBFjALJzZjkBxc=;
        b=FyYu36YyK4tZbS0QoNBDkCR/SbmBQncBLa3YMrIMfNoYoZYbC0EQyj/3G5N4CkpbV6
         DbbfBg69WdYaaVG1V23HkEzX/svuo2Wj8EfqChdDXtU3Jq3BcYNHE57Hk5UAUBXdiOrv
         CNhci7n6Y5P1+dhLcK89fTELjNRsEF/4vheuk0oJ2ydr1coHn9GeVMqsh+ZPSc2jseJM
         XyE2Luu3fXsRMXXiX/CFF7Zkx5qZ09WiI7NRMZiNhAl5r02z9sJH562/jM5Q4Dq/bgnw
         E109giR8Gi2oDUrBZEb7XPi0/DXRABYzg9iGkn7Ww3MO21q01pT7VV4c2Rw/1PngVQNP
         0HOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=Mndvt9OOp+f6zb1S3WX5DYIGtfjZlQBFjALJzZjkBxc=;
        b=CVQ0bXqIUNHJc5e4vZpIbSZd2Hi/Tbh1B6F+yiw+0X81sSdRWAW3j7QULA93h4iSJx
         t/Cz6sh/ItwLxBkHUldkU6Ir8tsx2TdtGEDzbLxN8FadoNkmvHBI/eUofRazgny4nOt+
         3eDmGbgSrvtnzg/rklPsahvnAWGnbdO8tNrhfdFvFI09RsFSBnp8okGis3Jxt8x4v2NO
         FV5Vg26+Y+5l/9U56oCh/ro58iMXOrf9UmNcvVNOJkMKoyWLEdTlgIFv4yWVgmE0RGXf
         QMN6hmeJVCUbeY4ocKIySoRu9bK5s1eHtDDdgEOhvJKibPkyrzCM5CiqXxAew57BEqip
         JoFA==
X-Gm-Message-State: ACgBeo0SlKi60CuWB1Q28dIGVrwQvoHeaITOOhPVNQ8RWczs2Bs9cggc
	CPykcdME6WsxlIA8rhSWgdw=
X-Google-Smtp-Source: AA6agR7d5D4UzmoeW8jlbhBsshQmE1jDGxSYys2Ha7Ryb/sPKtGx6ejQ66AoLdx5jYsnCk55lPOGhQ==
X-Received: by 2002:a05:651c:543:b0:25f:dbbb:9cd4 with SMTP id q3-20020a05651c054300b0025fdbbb9cd4mr2211948ljp.495.1659989935066;
        Mon, 08 Aug 2022 13:18:55 -0700 (PDT)
Message-ID: <12a8473d-2205-c4ff-26a5-836190158ed0@gmail.com>
Date: Mon, 8 Aug 2022 23:18:51 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V3 5/6] libxl: Allocate MMIO params for I2c device and
 update DT
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
 <8dbee989789fdd872256a8679278e174c8c2bdb0.1659596139.git.viresh.kumar@linaro.org>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <8dbee989789fdd872256a8679278e174c8c2bdb0.1659596139.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 04.08.22 10:01, Viresh Kumar wrote:

Hello Viresh

> This patch allocates Virtio MMIO params (IRQ and memory region) and pass
> them to the backend, also update Guest device-tree based on Virtio I2C
> DT bindings [1].
>
> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/libxl_arm.c | 35 +++++++++++++++++++++++++++++++++++
>   1 file changed, 35 insertions(+)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 6a8c4d042bd9..08a1499c9523 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -112,6 +112,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>           }
>       }
>   
> +    for (i = 0; i < d_config->num_i2cs; i++) {
> +        libxl_device_i2c *i2c = &d_config->i2cs[i];
> +
> +        int rc = alloc_virtio_mmio_params(gc, &i2c->base, &i2c->irq,
> +                &virtio_mmio_base, &virtio_mmio_irq);
> +        if (rc)
> +            return rc;
> +    }
> +
>       /*
>        * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
>        * present, make sure that we allocate enough SPIs for them.
> @@ -945,6 +954,26 @@ static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
>       return fdt_end_node(fdt);
>   }
>   
> +static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
> +                                     uint32_t irq)
> +{
> +    int res;
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq);
> +    if (res) return res;
> +
> +    res = fdt_begin_node(fdt, "i2c");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, "virtio,device22");
> +    if (res) return res;
> +
> +    res = fdt_end_node(fdt);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
>                                                const struct xc_dom_image *dom)
>   {
> @@ -1270,6 +1299,12 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>               }
>           }
>   
> +        for (i = 0; i < d_config->num_i2cs; i++) {
> +            libxl_device_i2c *i2c = &d_config->i2cs[i];
> +
> +            FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq) );
> +        }
> +
>           if (pfdt)
>               FDT( copy_partial_fdt(gc, fdt, pfdt) );


I think that patch needs to be updated according to the suggestion 
provided for "[PATCH V3 4/6] libxl: arm: Split make_virtio_mmio_node()" 
(of course, if you agree with it).

If so, the make_virtio_mmio_node_i2c() should gain "uint32_t 
backend_domid" argument, etc. And with introducing new virtio i2c the 
make_xen_iommu_node() should also be called for it if not created yet 
(or maybe better to have only single invocation of make_xen_iommu_node() 
at the end)


Something like the diff on top of current patch below (not tested):

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 0e448c486b..725ccb5f3f 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -957,11 +957,11 @@ static int make_virtio_mmio_node_simple(libxl__gc 
*gc, void *fdt, uint64_t base,
 Â }

 Â static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, 
uint64_t base,
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t irq)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t irq, uint32_t backend_domid)
 Â {
 Â Â Â Â  int res;

-Â Â Â  res = make_virtio_mmio_node_common(gc, fdt, base, irq);
+Â Â Â  res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
 Â Â Â Â  if (res) return res;

 Â Â Â Â  res = fdt_begin_node(fdt, "i2c");
@@ -1177,7 +1177,7 @@ static int libxl__prepare_dtb(libxl__gc *gc, 
libxl_domain_config *d_config,
 Â Â Â Â  size_t fdt_size = 0;
 Â Â Â Â  int pfdt_size = 0;
 Â Â Â Â  libxl_domain_build_info *const info = &d_config->b_info;
-Â Â Â  bool iommu_created;
+Â Â Â  bool iommu_needed;
 Â Â Â Â  unsigned int i;

 Â Â Â Â  const libxl_version_info *vers;
@@ -1285,16 +1285,13 @@ next_resize:
 Â Â Â Â Â Â Â Â  if (d_config->num_pcidevs)
 Â Â Â Â Â Â Â Â Â Â Â Â  FDT( make_vpci_node(gc, fdt, ainfo, dom) );

-Â Â Â Â Â Â Â  iommu_created = false;
+Â Â Â Â Â Â Â  iommu_needed = false;
 Â Â Â Â Â Â Â Â  for (i = 0; i < d_config->num_disks; i++) {
 Â Â Â Â Â Â Â Â Â Â Â Â  libxl_device_disk *disk = &d_config->disks[i];

 Â Â Â Â Â Â Â Â Â Â Â Â  if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if (disk->backend_domid != LIBXL_TOOLSTACK_DOMID &&
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  !iommu_created) {
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  FDT( make_xen_iommu_node(gc, fdt) );
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  iommu_created = true;
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  }
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if (disk->backend_domid != LIBXL_TOOLSTACK_DOMID)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  iommu_needed = true;

 Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
 Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  disk->irq, 
disk->backend_domid) );
@@ -1303,10 +1300,20 @@ next_resize:

 Â Â Â Â Â Â Â Â  for (i = 0; i < d_config->num_i2cs; i++) {
 Â Â Â Â Â Â Â Â Â Â Â Â  libxl_device_i2c *i2c = &d_config->i2cs[i];
+Â Â Â Â Â Â Â Â Â Â Â  if (i2c->backend_domid != LIBXL_TOOLSTACK_DOMID)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  iommu_needed = true;

-Â Â Â Â Â Â Â Â Â Â Â  FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq) );
+Â Â Â Â Â Â Â Â Â Â Â  FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq,
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  i2c->backend_domid) );
 Â Â Â Â Â Â Â Â  }

+Â Â Â Â Â Â Â  /*
+Â Â Â Â Â Â Â Â  * Note, this should be only called after creating all virtio-mmio
+Â Â Â Â Â Â Â Â  * device nodes
+Â Â Â Â Â Â Â Â  */
+Â Â Â Â Â Â Â  if (iommu_needed)
+Â Â Â Â Â Â Â Â Â Â Â  FDT( make_xen_iommu_node(gc, fdt) );
+
 Â Â Â Â Â Â Â Â  if (pfdt)
 Â Â Â Â Â Â Â Â Â Â Â Â  FDT( copy_partial_fdt(gc, fdt, pfdt) );

(END)


Other changes look good.


>   

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 21:10:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 21:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382587.617557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLA0d-0005Cx-6t; Mon, 08 Aug 2022 21:09:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382587.617557; Mon, 08 Aug 2022 21:09:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLA0d-0005Cq-3l; Mon, 08 Aug 2022 21:09:59 +0000
Received: by outflank-mailman (input) for mailman id 382587;
 Mon, 08 Aug 2022 21:09:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y+qk=YM=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oLA0b-0005Ck-EL
 for xen-devel@lists.xen.org; Mon, 08 Aug 2022 21:09:57 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7436e0d8-175e-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 23:09:56 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id t1so14416805lft.8
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 14:09:56 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 f14-20020ac251ae000000b0048a934168c0sm1536752lfk.35.2022.08.08.14.09.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Aug 2022 14:09:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7436e0d8-175e-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=fclTaO0RR7QqFPILVMZmcxoWslEPz/TF0H6dXGpu+9c=;
        b=AfE7XA/+CmYZnI0Mdv4ztZx6YG0jfXPFPoPDtH9r1UFmjlVJbgF/u6prUn1bm+b7e4
         uuoNaHkJsPk/DvZL4tgkH1LogMVPLuv9dPu2gehLEf9Iv/Pg7HvC1W3eDETk2VFwK3Rp
         rfSzn7f/aP5VUQMpar78YbOJJSE8vjsZAja6/LPT/BDE2VRX2xIzXxX8cO+TMS9e4jFk
         uYFTmMKt3i3E2PIqden2c49qKNMAhP9A/pe2s7uHjC5wO1QECmTvIoTbklVzCF9vJzng
         +ZjPjLXTayMDJuMZ7ffDivaloJW/xBO0uvJHE2UC+wQDSazfYDB68C0wJldF8UCXHL1I
         kY+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=fclTaO0RR7QqFPILVMZmcxoWslEPz/TF0H6dXGpu+9c=;
        b=2bLpaX1g3JiwgvyLHymC/E672cI4WC7uaC1f1QL9WaOs/jdq5EV9GHBn+r+ZYRu0ys
         MVoMkUFmc4oz2t55zXEbiZbT1xeqk87pZH8XTDjsDJJfs5NNBw8IYh3STZm7DauApxVX
         K/Dz/suIf8Ggn6rmG94DKjk5C1IdGHBpbT/y4cBUqWOF3mpmwI3SaZYoL3zBfnv5DzSf
         IetGbUjAq+RVcWezPpLrjNq5OTK1d3lHWcd9zQ5Wuw7c/cBFNHUMlAzxii8HTpxwq/bi
         KW+qVvChK5Z7svuBNl988zjYYuNbZF0e7vEGyRTXLRqspPfH+il73sjh8lGCLJTz2MJs
         xneQ==
X-Gm-Message-State: ACgBeo1fmZiUzNDjVydUfTICayjZOGQY2/k3QyeyFMhb1XrpqcD3pIf3
	9wpossvwHxjOUnK0FqNRVtE=
X-Google-Smtp-Source: AA6agR6TpbUH1fOvxYXdcCmuYvPM2CZTSzNRVmy7OeJJzxu2UddrXSxID4y/zfXTTf6GqlXMPJJOmg==
X-Received: by 2002:ac2:484e:0:b0:48b:1d04:e37c with SMTP id 14-20020ac2484e000000b0048b1d04e37cmr7094155lfy.320.1659992995891;
        Mon, 08 Aug 2022 14:09:55 -0700 (PDT)
Message-ID: <6b7cc481-78a1-e979-351e-e8135c5afa21@gmail.com>
Date: Tue, 9 Aug 2022 00:09:53 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V3 6/6] libxl: Allocate MMIO params for GPIO device and
 update DT
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
 <20af3a836d0ddd0d73024f8c10f7325e89ef19d8.1659596139.git.viresh.kumar@linaro.org>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <20af3a836d0ddd0d73024f8c10f7325e89ef19d8.1659596139.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 04.08.22 10:01, Viresh Kumar wrote:

Hello Viresh


> This patch allocates Virtio MMIO params (IRQ and memory region) and pass
> them to the backend, also update Guest device-tree based on Virtio GPIO
> DT bindings [1].
>
> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/libxl_arm.c | 47 ++++++++++++++++++++++++++++++++++++
>   1 file changed, 47 insertions(+)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 08a1499c9523..14b95087f027 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -121,6 +121,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>               return rc;
>       }
>   
> +    for (i = 0; i < d_config->num_gpios; i++) {
> +        libxl_device_gpio *gpio = &d_config->gpios[i];
> +
> +    int rc = alloc_virtio_mmio_params(gc, &gpio->base, &gpio->irq,
> +            &virtio_mmio_base, &virtio_mmio_irq);
> +    if (rc)
> +        return rc;
> +    }
> +
>       /*
>        * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
>        * present, make sure that we allocate enough SPIs for them.
> @@ -974,6 +983,38 @@ static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
>       return fdt_end_node(fdt);
>   }
>   
> +static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt, uint64_t base,
> +                                      uint32_t irq)
> +{
> +    int res;
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq);
> +    if (res) return res;
> +
> +    res = fdt_begin_node(fdt, "gpio");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, "virtio,device29");
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "gpio-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#gpio-cells", 2);
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
> +    if (res) return res;
> +
> +    res = fdt_end_node(fdt);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
>                                                const struct xc_dom_image *dom)
>   {
> @@ -1305,6 +1346,12 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>               FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq) );
>           }
>   
> +        for (i = 0; i < d_config->num_gpios; i++) {
> +            libxl_device_gpio *gpio = &d_config->gpios[i];
> +
> +            FDT( make_virtio_mmio_node_gpio(gc, fdt, gpio->base, gpio->irq) );
> +        }
> +
>           if (pfdt)
>               FDT( copy_partial_fdt(gc, fdt, pfdt) );

I think that patch needs to be updated taking into the account 
suggestions provided for two previous patches (of course, if you agree 
with them).

If so, the make_virtio_mmio_node_gpio() should gain "uint32_t 
backend_domid" argument, etc. And we need to make sure that 
make_xen_iommu_node() will be called for virtio gpio.


Something like the diff on top of current patch below (not tested):

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 9bd8d49f3c..54756b3dd5 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -986,11 +986,11 @@ static int make_virtio_mmio_node_i2c(libxl__gc 
*gc, void *fdt, uint64_t base,
 Â }

 Â static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt, 
uint64_t base,
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t irq)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t irq, uint32_t backend_domid)
 Â {
 Â Â Â Â  int res;

-Â Â Â  res = make_virtio_mmio_node_common(gc, fdt, base, irq);
+Â Â Â  res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
 Â Â Â Â  if (res) return res;

 Â Â Â Â  res = fdt_begin_node(fdt, "gpio");
@@ -1350,8 +1350,11 @@ next_resize:

 Â Â Â Â Â Â Â Â  for (i = 0; i < d_config->num_gpios; i++) {
 Â Â Â Â Â Â Â Â Â Â Â Â  libxl_device_gpio *gpio = &d_config->gpios[i];
+Â Â Â Â Â Â Â Â Â Â Â  if (gpio->backend_domid != LIBXL_TOOLSTACK_DOMID)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  iommu_needed = true;

-Â Â Â Â Â Â Â Â Â Â Â  FDT( make_virtio_mmio_node_gpio(gc, fdt, gpio->base, 
gpio->irq) );
+Â Â Â Â Â Â Â Â Â Â Â  FDT( make_virtio_mmio_node_gpio(gc, fdt, gpio->base, gpio->irq,
+ gpio->backend_domid) );
 Â Â Â Â Â Â Â Â  }

 Â Â Â Â Â Â Â Â  /*

Other changes look good.


>   

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 21:16:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 21:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382594.617567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLA6s-0006cb-Ro; Mon, 08 Aug 2022 21:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382594.617567; Mon, 08 Aug 2022 21:16:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLA6s-0006cU-PK; Mon, 08 Aug 2022 21:16:26 +0000
Received: by outflank-mailman (input) for mailman id 382594;
 Mon, 08 Aug 2022 21:16:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y+qk=YM=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oLA6r-0006cN-6b
 for xen-devel@lists.xen.org; Mon, 08 Aug 2022 21:16:25 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b61e5bb-175f-11ed-924f-1f966e50362f;
 Mon, 08 Aug 2022 23:16:24 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id bq11so14464309lfb.5
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 14:16:24 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 c9-20020a056512324900b0048afdf1ba33sm1534255lfr.208.2022.08.08.14.16.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Aug 2022 14:16:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b61e5bb-175f-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=i7sPcJcYJQqlG8+9RAdwokm2aX0ltxFoBxcSqQqgYGM=;
        b=YMT0LyDNumiq5hkP4xLvldqwpg5jyUIS9J588fyrHn3Az//G5VFFRYJvpsX3IILnoT
         PkEtsXMHvSHzzmBbOHtEoUDYlK98W5CQ0Oi3bqYdS97muxLpxXLK9iQuicPSroph1/xj
         etkIIzgDb+qRipVOZKit/Q+yGTNc7SpNUOOGVuzjdT9LSlMZkPK/bOz46HNyxkNEvpD0
         hY/8TaAbprCnVVBZGjShcG/MykNbCGp+voMHL+xQ8x7ijZW0jJKwO1TPpGOfWZlMCrp1
         6gXsrKZccmsZjvoAPRhG7EPc+t/M5HQqMMS4RkxTgeRGvgi3DA8Py/aLx6WSzlcgcuEh
         pUfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=i7sPcJcYJQqlG8+9RAdwokm2aX0ltxFoBxcSqQqgYGM=;
        b=oItQKpBU5sH4N6H/xGxSzAiW9aTK7TjyGaSXSFj5XZwax0gwnvf+zHFP74Ab5eVjTm
         BC6nG+wYx8rXxjqpikhoLt5jkAVa8ckSZUvS0X4ASdreI99RQbp3Uf/Cye3fx1t0B61m
         xRPjOwm09fYRICtmXu6d1zCWuCpNCzwbiFAireY7nhQfaHuqnxQ+GAkwrKhz1n8cPAlb
         5jl9nleiegS9Q3YGwB/f38flESJJKYioZQxjaZpYWTGXYHp4M7Jwv5nvyJOEH+yFxzyN
         g/zmIlzjWB7ZKogwUbdYJH9KmGunTNNQyop/1UOE73MH7g4KOaKiVA4IILorN/tGMEYn
         APcQ==
X-Gm-Message-State: ACgBeo1EQKxPW1fdtrgJj6Fdrphz09tOwqXc/prUNfB4nbFni62nH+kX
	HcFT1h6AMRWGDvj5DHJHqaU=
X-Google-Smtp-Source: AA6agR4ZpsVxQiDD8cSBPMyeSP1aWpsjR3qGi2qMv5ViCUIG577CbFYSpVgWPyYT7gd4vMdQ+n/1UQ==
X-Received: by 2002:ac2:5ca3:0:b0:48b:9997:9a01 with SMTP id e3-20020ac25ca3000000b0048b99979a01mr4269402lfq.374.1659993383806;
        Mon, 08 Aug 2022 14:16:23 -0700 (PDT)
Message-ID: <0610eb02-f074-f2d1-47b0-cb8c54374ebb@gmail.com>
Date: Tue, 9 Aug 2022 00:16:21 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V3 0/6] Virtio toolstack support for I2C and GPIO on Arm
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <cover.1659596139.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 04.08.22 10:01, Viresh Kumar wrote:
> Hello,

Hello Viresh


>
> This patchset adds toolstack support for I2C and GPIO virtio devices. This is
> inspired from the work done by Oleksandr for the Disk device.
>
> This is developed as part of Linaro's Project Stratos, where we are working
> towards Hypervisor agnostic Rust based backend [1].
>
> This is based of origin/staging (commit 01ca29f0b17a ("sched: dom0_vcpus_pin
> should only affect dom0")) which already has Oleksandr's patches applied.
>
> V2->V3:
> - Rebased over latest tree and made changes according to changes in Oleksandr's
>    patches from sometime back.

Thanks, I have reviewed all patches that touch libxl_arm.c (##3-6)



> - Minor cleanups.
>
> V1->V2:
> - Patches 3/6 and 4/6 are new.
> - Patches 5/6 and 6/6 updated based on the above two patches.
> - Added link to the bindings for I2C and GPIO.
> - Rebased over latest master branch.
>
>
> Thanks.
>
> --
> Viresh
>
> [1] https://lore.kernel.org/xen-devel/20220414092358.kepxbmnrtycz7mhe@vireshk-i7/
>
> Viresh Kumar (6):
>    libxl: Add support for Virtio I2C device
>    libxl: Add support for Virtio GPIO device
>    libxl: arm: Create alloc_virtio_mmio_params()
>    libxl: arm: Split make_virtio_mmio_node()
>    libxl: Allocate MMIO params for I2c device and update DT
>    libxl: Allocate MMIO params for GPIO device and update DT
>
>   tools/golang/xenlight/helpers.gen.go      | 212 ++++++++++++++++++++
>   tools/golang/xenlight/types.gen.go        |  54 ++++++
>   tools/include/libxl.h                     |  64 ++++++
>   tools/include/libxl_utils.h               |   6 +
>   tools/libs/light/Makefile                 |   2 +
>   tools/libs/light/libxl_arm.c              | 138 +++++++++++--
>   tools/libs/light/libxl_create.c           |  26 +++
>   tools/libs/light/libxl_dm.c               |  34 +++-
>   tools/libs/light/libxl_gpio.c             | 226 ++++++++++++++++++++++
>   tools/libs/light/libxl_i2c.c              | 226 ++++++++++++++++++++++
>   tools/libs/light/libxl_internal.h         |   2 +
>   tools/libs/light/libxl_types.idl          |  48 +++++
>   tools/libs/light/libxl_types_internal.idl |   2 +
>   tools/ocaml/libs/xl/genwrap.py            |   2 +
>   tools/ocaml/libs/xl/xenlight_stubs.c      |   2 +
>   tools/xl/Makefile                         |   2 +-
>   tools/xl/xl.h                             |   6 +
>   tools/xl/xl_cmdtable.c                    |  30 +++
>   tools/xl/xl_gpio.c                        | 142 ++++++++++++++
>   tools/xl/xl_i2c.c                         | 142 ++++++++++++++
>   tools/xl/xl_parse.c                       | 160 +++++++++++++++
>   tools/xl/xl_parse.h                       |   2 +
>   tools/xl/xl_sxp.c                         |   4 +
>   23 files changed, 1509 insertions(+), 23 deletions(-)
>   create mode 100644 tools/libs/light/libxl_gpio.c
>   create mode 100644 tools/libs/light/libxl_i2c.c
>   create mode 100644 tools/xl/xl_gpio.c
>   create mode 100644 tools/xl/xl_i2c.c
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 08 21:28:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 21:28:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382602.617579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLAIO-0008By-1z; Mon, 08 Aug 2022 21:28:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382602.617579; Mon, 08 Aug 2022 21:28:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLAIN-0008Br-Va; Mon, 08 Aug 2022 21:28:19 +0000
Received: by outflank-mailman (input) for mailman id 382602;
 Mon, 08 Aug 2022 21:28:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLAIM-0008Bd-Mg; Mon, 08 Aug 2022 21:28:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLAIM-0007B0-Ky; Mon, 08 Aug 2022 21:28:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLAIM-00024r-AP; Mon, 08 Aug 2022 21:28:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLAIM-0001Qw-7w; Mon, 08 Aug 2022 21:28:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Y9jW/UREgmRzdZ0I/O72Oj2l4fj/BrmIwN7pYge/JqE=; b=0lAOwEkcPjqi33S6vBmZPurKfb
	N2bqRgEzJHK/HJxfZchRY/GyOe+ypIlIL7WvCXVzq88hWmaGfHRPWm8qCbNLQYKMCHzeJmd7ckhhD
	dXsZa0ZppxSZE7lExC1eMN1GjMLb6hCZ8aiq2rCJlG9VKm6KQYouO+yapL90wApNcLCc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172306-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172306: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 21:28:18 +0000

flight 172306 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172306/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   36 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    2 days   22 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 22:34:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 22:34:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382611.617589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLBJl-0006bS-Lk; Mon, 08 Aug 2022 22:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382611.617589; Mon, 08 Aug 2022 22:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLBJl-0006bL-JG; Mon, 08 Aug 2022 22:33:49 +0000
Received: by outflank-mailman (input) for mailman id 382611;
 Mon, 08 Aug 2022 22:33:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=I8Hg=YM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oLBJk-0006bC-Nz
 for xen-devel@lists.xenproject.org; Mon, 08 Aug 2022 22:33:48 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a6194d6-176a-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 00:33:46 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 90774B80E89;
 Mon,  8 Aug 2022 22:33:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 075D6C433C1;
 Mon,  8 Aug 2022 22:33:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a6194d6-176a-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1659998024;
	bh=RD/Tmut2c+yNq9ahQUgZ7ov+TZ/oyJxFRs02AcWWPzk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Dcck0nf+8oypcGJWcvoyOBni7Inv7Sl5x1P0IsKOHx9NmkjVOdi6/DDZgZZV2CdAt
	 SKvgF7U5oemXO6Cx6ZUCIDQNa/b5xVhh4hfPF9H2+9zhYeKotWighBAQ/wpWXnYUCk
	 leE9VapqKvol2NJFrduM+kTDPx5oPfHIOEMEcAQ518S+2bgfNyDeoGdrO6mBiPqekP
	 a/WIVvgLof27SZlORmniB0VVdNC0UBDBig+oJv8fepeFNmZLu0HWy9CxQnC2yQlrd7
	 gr1GLRQo+brR4rFENvqiC4OPkRfrcV4cLIu8sOqlda3ARNQmFBBiZrMBdmXlbAQyn2
	 Te2fE3VaMH2yw==
Date: Mon, 8 Aug 2022 15:33:42 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 0/2] automation: Test a pv network interface under
 dom0less enhanced
In-Reply-To: <20220808183952.1888459-1-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208081533350.3147284@ubuntu-linux-20-04-desktop>
References: <20220808183952.1888459-1-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 8 Aug 2022, Xenia Ragiadakou wrote:
> Xenia Ragiadakou (2):
>   automation: qemu-smoke-arm64: Use kernel 5.19
>   automation: qemu-smoke-arm64: Run ping test over a pv network
>     interface
> 
>  automation/gitlab-ci/build.yaml               | 11 +++++
>  automation/gitlab-ci/test.yaml                | 10 +++--
>  automation/scripts/qemu-smoke-arm64.sh        | 44 ++++++++++++++++---
>  .../kernel/5.19-arm64v8.dockerfile            | 37 ++++++++++++++++
>  4 files changed, 93 insertions(+), 9 deletions(-)
>  create mode 100644 automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile


Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Mon Aug 08 23:37:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Aug 2022 23:37:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382622.617609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLCJ3-0004GP-9t; Mon, 08 Aug 2022 23:37:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382622.617609; Mon, 08 Aug 2022 23:37:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLCJ3-0004GI-6n; Mon, 08 Aug 2022 23:37:09 +0000
Received: by outflank-mailman (input) for mailman id 382622;
 Mon, 08 Aug 2022 23:37:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLCJ2-0004G8-2I; Mon, 08 Aug 2022 23:37:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLCJ1-0000xi-Q7; Mon, 08 Aug 2022 23:37:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLCJ1-0000kN-DD; Mon, 08 Aug 2022 23:37:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLCJ1-0003OT-Cj; Mon, 08 Aug 2022 23:37:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Kms8iTGO6VFeaV6Rq9GO2ABnGYJkzwEj4vT3Jz5I65k=; b=0WcRtjNgMd8CNswCkOS4lH0Nsz
	yGKulG8Ih0SWx2WrZorItbSxdotR+186KLFUl6+WECmCx9xPWjz66Kc9HceGKm1c2nHxDRzogIZG7
	a/v+OFVk8dVvvhubRGe0xPY+3uBOSuqkjUWCpr7iF7xRtiTYN4JEXSKSM/oPQr48hGQ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172309-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172309: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=cf02322c984a16fc2af252124df96564e574f3a7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Aug 2022 23:37:07 +0000

flight 172309 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172309/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 cf02322c984a16fc2af252124df96564e574f3a7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   37 attempts
Testing same since   172247  2022-08-06 15:41:48 Z    2 days   23 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 01:27:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 01:27:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382634.617626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLE1A-00058d-Lq; Tue, 09 Aug 2022 01:26:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382634.617626; Tue, 09 Aug 2022 01:26:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLE1A-00058W-IM; Tue, 09 Aug 2022 01:26:48 +0000
Received: by outflank-mailman (input) for mailman id 382634;
 Tue, 09 Aug 2022 01:26:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLE19-00058M-Ae; Tue, 09 Aug 2022 01:26:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLE19-0001uV-4Z; Tue, 09 Aug 2022 01:26:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLE18-00041n-NA; Tue, 09 Aug 2022 01:26:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLE18-0007gh-Mh; Tue, 09 Aug 2022 01:26:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uuVHSNrxm33hEvs754iOREZCmA7+rCM+q9BZ9kw2BIU=; b=YoVTBeQyBzwKUvgUoA/q2ld3Ct
	vcwYU6N52G6G8J23yNe0/usPvIaJ7wet+LfhKRl2MgipM/hOyJEByUsr9/Ler72LS2SaFIs0ezF1k
	bF8QZAhnFy839JRfA57yutEmwg+rFuCqgLcWyCERy80GU2G+pyQn1SL4cwP56yZD7QxE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172305-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172305: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3466f49dd0dd9d30fe1e916b49fca1f4f99a3b66
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 01:26:46 +0000

flight 172305 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172305/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-arm64-arm64-xl-vhd     17 guest-start/debian.repeat fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                3466f49dd0dd9d30fe1e916b49fca1f4f99a3b66
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    4 days
Failing since        172152  2022-08-05 04:01:26 Z    3 days   12 attempts
Testing same since   172305  2022-08-08 18:41:36 Z    0 days    1 attempts

------------------------------------------------------------
1083 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 110586 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 01:32:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 01:32:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382644.617637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLE76-0006cT-F7; Tue, 09 Aug 2022 01:32:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382644.617637; Tue, 09 Aug 2022 01:32:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLE76-0006cM-9q; Tue, 09 Aug 2022 01:32:56 +0000
Received: by outflank-mailman (input) for mailman id 382644;
 Tue, 09 Aug 2022 01:32:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLE75-0006cC-At; Tue, 09 Aug 2022 01:32:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLE75-00020Y-7M; Tue, 09 Aug 2022 01:32:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLE74-0004Au-Dc; Tue, 09 Aug 2022 01:32:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLE74-0000KW-C7; Tue, 09 Aug 2022 01:32:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Br7g7FPjdkUguTNvvqsQmomnxGS2QJyWVFz4ozHpNMk=; b=YRYV0ETQvq6uOeUUAW79BqX3bV
	dkeLygv+/hr6xJ9Kju8ZTZ1MEpf+v4Q0prPdBYL1rxw+NeFh8TUAgbuKl6/MDcMwbO9JN2sB3Rzpi
	00YxaZ0uJ6rrHPJA30Nd5+3W6xPmAO9YVmxFKd8WNSbWCEyku9MKCW7JoPy2NuCepdt4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172311-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172311: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=1da2012d938f141821740324e2dceee1b4cfa76d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 01:32:54 +0000

flight 172311 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172311/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 1da2012d938f141821740324e2dceee1b4cfa76d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    3 days   38 attempts
Testing same since   172311  2022-08-08 23:40:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 1da2012d938f141821740324e2dceee1b4cfa76d
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Jul 26 17:54:42 2022 +0100

    PrmPkg: Add details on AArch64 build to the Readme.
    
    Specify how to build the PrmPkg for the AArch64 architecture.
    Make the 2 following notes:
     - the PrmPkg has only been tested on AArch64 using the GCC5
    toolchain.
     - All symbols to be listed in the PRMT as well as the
    PrmModuleExportDescriptor must be explicitly preserved by resorting to
    the --require-defined linker flag.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 57faeb782a505935363936ab2edce282d3afc4d5
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Fri Dec 18 14:01:55 2020 +0000

    PrmPkg: Support AArch64 builds using GCC
    
    Add support to build PrmPkg for AArch64 using the GCC compiler.
    
    Add AARCH64 architecture to the list of supported architectures.
    Add BaseStackCheck library to allow for Prm module builds on AARCH64.
    
    Also update the CI to add dependency on ArmPkg.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 21200d9fe6d5b8078b93dbddfbcdf536308b67e4
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Apr 5 18:57:23 2022 +0100

    PrmPkg: Build Prm Samples with GCC for AARCH64
    
    - Add the --prm flag to the GENFW_FLAGS
    - Add the --no-gc-section to the linker flags so that apparently
    unreferenced symbols are not prematurely removed from the .dll which
    is used to generate the Prm module .efi.
    - Force the linker to maintain the PrmModuleExportDescriptor symbol.
    - Force the linker to maintain the PRM handler funtion's symbol.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 9f197e44b102a8d7d457d2cb4f54967681c858a9
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Apr 5 18:53:25 2022 +0100

    PrmPkg: Enable external visibility on PRM symbols
    
    Enable GCC compilations to keep external symbols when generating a PRM
    module.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 1ee162281710650d444c554f9fdbbd404abd9677
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Fri Oct 29 17:48:26 2021 +0100

    Basetools/GenFw: Allow AARCH64 builds to use the --prm flag
    
    The GenFw invocation with the --prm flag was previously reserved for
    X64.
    AArch64 platforms, built with GCC5, can also deploy PRM modules, hence
    the --prm flag is also applicable in builds targeting the AARCH64
    architecture.
    
    This commit enables the --prm flag to be used for EDK2 builds targeting
    AARCH64.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 02:42:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 02:42:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382655.617648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLFCF-0005Og-Aq; Tue, 09 Aug 2022 02:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382655.617648; Tue, 09 Aug 2022 02:42:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLFCF-0005OY-5s; Tue, 09 Aug 2022 02:42:19 +0000
Received: by outflank-mailman (input) for mailman id 382655;
 Tue, 09 Aug 2022 02:42:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLFCD-0005OO-QF; Tue, 09 Aug 2022 02:42:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLFCD-0003bd-NI; Tue, 09 Aug 2022 02:42:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLFCD-0006Qv-CA; Tue, 09 Aug 2022 02:42:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLFCD-0004QI-BS; Tue, 09 Aug 2022 02:42:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZY4xQx2lw/ujFxDQwSriQ34qBJzuD1gMHtiMXtb3zxo=; b=B/gjAjQ3IiK8008eZsF56Cxu4Q
	DUM/H2gxxTWlntuQSDKqODvekNJEPARt97G0B6Lq/32NoBKkjS/2gelIZk+yzwJmgjkWsE+VkUd+f
	cKVSb/Iu+IjhamLcU9qbV/gvfWmbaKo0d54dKfTYjaS95rLuAcrPaMeLlxqu5CTOPmSg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172310-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172310: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=89805b35ce6a0cf402563ebe2f09b03f27152474
X-Osstest-Versions-That:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 02:42:17 +0000

flight 172310 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172310/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172199
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  89805b35ce6a0cf402563ebe2f09b03f27152474
baseline version:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc

Last test of basis   172199  2022-08-05 18:03:04 Z    3 days
Testing same since   172310  2022-08-08 23:01:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6d6aee437e..89805b35ce  89805b35ce6a0cf402563ebe2f09b03f27152474 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 03:24:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 03:24:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382665.617659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLFqj-0001C1-EM; Tue, 09 Aug 2022 03:24:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382665.617659; Tue, 09 Aug 2022 03:24:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLFqj-0001Bu-B0; Tue, 09 Aug 2022 03:24:09 +0000
Received: by outflank-mailman (input) for mailman id 382665;
 Tue, 09 Aug 2022 03:24:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLFqi-0001Bk-Ha; Tue, 09 Aug 2022 03:24:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLFqi-0004I9-EO; Tue, 09 Aug 2022 03:24:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLFqh-0001GH-Vx; Tue, 09 Aug 2022 03:24:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLFqh-0006Yo-VV; Tue, 09 Aug 2022 03:24:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=E6lHG04JLvd7d6OmDoOru7/+RgYTLaq8wb51JTkHdw8=; b=UnoNlX6p7oDlY1cLUasMC29/UB
	FUq48J/Gk6R4Pgd8iM51O+pPe5GTblD4pN6EWRwW0KD93/gUxY+JaP8Vi5K8w0nM9rAMEkz3sNzvf
	lY/ewtNvO9lpGTV5xYN+4/SWqy3dX+wa4/7/k6PCaCovaKjW5AZslPUMfdtvqIktL7xk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172314-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172314: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=1da2012d938f141821740324e2dceee1b4cfa76d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 03:24:07 +0000

flight 172314 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172314/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 1da2012d938f141821740324e2dceee1b4cfa76d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   39 attempts
Testing same since   172311  2022-08-08 23:40:26 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 1da2012d938f141821740324e2dceee1b4cfa76d
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Jul 26 17:54:42 2022 +0100

    PrmPkg: Add details on AArch64 build to the Readme.
    
    Specify how to build the PrmPkg for the AArch64 architecture.
    Make the 2 following notes:
     - the PrmPkg has only been tested on AArch64 using the GCC5
    toolchain.
     - All symbols to be listed in the PRMT as well as the
    PrmModuleExportDescriptor must be explicitly preserved by resorting to
    the --require-defined linker flag.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 57faeb782a505935363936ab2edce282d3afc4d5
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Fri Dec 18 14:01:55 2020 +0000

    PrmPkg: Support AArch64 builds using GCC
    
    Add support to build PrmPkg for AArch64 using the GCC compiler.
    
    Add AARCH64 architecture to the list of supported architectures.
    Add BaseStackCheck library to allow for Prm module builds on AARCH64.
    
    Also update the CI to add dependency on ArmPkg.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 21200d9fe6d5b8078b93dbddfbcdf536308b67e4
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Apr 5 18:57:23 2022 +0100

    PrmPkg: Build Prm Samples with GCC for AARCH64
    
    - Add the --prm flag to the GENFW_FLAGS
    - Add the --no-gc-section to the linker flags so that apparently
    unreferenced symbols are not prematurely removed from the .dll which
    is used to generate the Prm module .efi.
    - Force the linker to maintain the PrmModuleExportDescriptor symbol.
    - Force the linker to maintain the PRM handler funtion's symbol.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 9f197e44b102a8d7d457d2cb4f54967681c858a9
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Apr 5 18:53:25 2022 +0100

    PrmPkg: Enable external visibility on PRM symbols
    
    Enable GCC compilations to keep external symbols when generating a PRM
    module.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 1ee162281710650d444c554f9fdbbd404abd9677
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Fri Oct 29 17:48:26 2021 +0100

    Basetools/GenFw: Allow AARCH64 builds to use the --prm flag
    
    The GenFw invocation with the --prm flag was previously reserved for
    X64.
    AArch64 platforms, built with GCC5, can also deploy PRM modules, hence
    the --prm flag is also applicable in builds targeting the AARCH64
    architecture.
    
    This commit enables the --prm flag to be used for EDK2 builds targeting
    AARCH64.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 04:29:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 04:29:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382677.617675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLGrr-0007IM-3p; Tue, 09 Aug 2022 04:29:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382677.617675; Tue, 09 Aug 2022 04:29:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLGrr-0007IF-1I; Tue, 09 Aug 2022 04:29:23 +0000
Received: by outflank-mailman (input) for mailman id 382677;
 Tue, 09 Aug 2022 04:29:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLGrp-0007I9-H0
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 04:29:21 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5af12de-179b-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 06:29:20 +0200 (CEST)
Received: by mail-pj1-x1030.google.com with SMTP id
 w11-20020a17090a380b00b001f73f75a1feso5638155pjb.2
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 21:29:19 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 ds23-20020a17090b08d700b001f3162e4e55sm8957064pjb.35.2022.08.08.21.29.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 21:29:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5af12de-179b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc;
        bh=wBbhkQGuv3KTB1QKPdDHYYXWmoJFS7PIyaq22fNBfO0=;
        b=LuACcZIaTD/DaUe8ZBWs8WROt5YUIWMC2cwAAkG3KB1Rz5j7jOkOk6U4KITcNsJbKo
         KleNW4tY/AbsQxPzNuHXutCJ67w4OulSB3xNRCf3HB/7YhYVfqjaRfA6d9g1hmYGVq5x
         VIe45pKFlmbGwbdAfHEeH5/dotsahEm9omY6qkH8d/EzOAkmMkKyAFM6DAy0G90rfJAW
         Z6bUbOB6TCAFD5BS+iv/k23fzGDzh2W/w5b+URFSXhKeQrFCUTVnaQG+ZneHyBo5/GRN
         gh7hDJnhyvoMfBCr6Cjf2iij3s5p+FZPt2IV2/HaT10bgbhOKgMDHHgnv2aJb5Cahjys
         3qbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc;
        bh=wBbhkQGuv3KTB1QKPdDHYYXWmoJFS7PIyaq22fNBfO0=;
        b=1H4PtjFM6oQcfcXlen1u4TW6RkUXY7CN4x93lbrQLVXpAh9xKLub/ihd0fc/9ZSamG
         YeOBfVrqRuGwWGjbAtWe6NDCCob1JPTWn/XLii/cZqtlL/1kYe7RkUixV1NZq1QMGvS8
         YRnDWOljdtqDG5fYBdrJ5qi8TcMG6Yjd8PXj0lbqtnNmxCTiN71Wygd7Wr+cBQjsRpGJ
         WVmGGGXB3aOo236tx6BAuLqGY6qpSWeF7rm7YbKtjCQy3eohFLNeSAQVpsfj0MEuUBcr
         rG00tjuREpA/6ytU9pnWm4/YOG8k+eLJcS+bqL/6OVG2IaQ4a0GIHgOaBEy4vHGCit28
         u0sQ==
X-Gm-Message-State: ACgBeo3XE+EMCWVBSNrxrVIgxIEnG6va8dJN+UCcdisvyu7z6VV6Jdb5
	gmeieX57qWG/ZFLz7L5kvL6RG2SvR6Nc8w==
X-Google-Smtp-Source: AA6agR7yVTqq94sfNx6I/j1IL1oSzJcZVzSE4wxxnsL2eKj4dtcbWG/sEqI/++EIC9395We8z18+yw==
X-Received: by 2002:a17:902:7c8a:b0:16f:4d4:ced8 with SMTP id y10-20020a1709027c8a00b0016f04d4ced8mr21818115pll.15.1660019348197;
        Mon, 08 Aug 2022 21:29:08 -0700 (PDT)
Date: Tue, 9 Aug 2022 09:59:05 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr <olekstysh@gmail.com>
Cc: xen-devel@lists.xen.org, Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH V3 3/6] libxl: arm: Create alloc_virtio_mmio_params()
Message-ID: <20220809042905.stgxxaofmtmwwkp4@vireshk-i7>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
 <ae3e61fe687cb2d9dac17622da2ec81c4064db39.1659596139.git.viresh.kumar@linaro.org>
 <82a9d50c-58ef-1842-be7f-33a05d861f15@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <82a9d50c-58ef-1842-be7f-33a05d861f15@gmail.com>

On 08-08-22, 21:39, Oleksandr wrote:
> 
> On 04.08.22 10:01, Viresh Kumar wrote:
> 
> Hello Viresh
> 
> 
> > Create a separate routine to allocate base and irq for a device as the
> > same code will be required for each device type.
> > 
> > Suggested-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > ---
> >   tools/libs/light/libxl_arm.c | 38 ++++++++++++++++++++++++------------
> >   1 file changed, 25 insertions(+), 13 deletions(-)
> > 
> > diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> > index 1a3ac1646e94..2f64b9f0ebee 100644
> > --- a/tools/libs/light/libxl_arm.c
> > +++ b/tools/libs/light/libxl_arm.c
> > @@ -48,6 +48,24 @@ static uint32_t alloc_virtio_mmio_irq(libxl__gc *gc, uint32_t *virtio_mmio_irq)
> >       return irq;
> >   }
> > +static int alloc_virtio_mmio_params(libxl__gc *gc, uint64_t *base,
> > +                                    uint32_t *irq, uint64_t *virtio_mmio_base,
> > +                                    uint32_t *virtio_mmio_irq)
> > +{
> > +    *base = alloc_virtio_mmio_base(gc, virtio_mmio_base);
> > +    if (!*base)
> > +        return ERROR_FAIL;
> > +
> > +    *irq = alloc_virtio_mmio_irq(gc, virtio_mmio_irq);
> > +    if (!*irq)
> > +        return ERROR_FAIL;
> > +
> > +    LOG(DEBUG, "Allocate Virtio MMIO params: IRQ %u BASE 0x%"PRIx64, *irq,
> > +        *base);
> > +
> > +    return 0;
> > +}
> > +
> >   static const char *gicv_to_string(libxl_gic_version gic_version)
> >   {
> >       switch (gic_version) {
> > @@ -85,20 +103,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
> >           libxl_device_disk *disk = &d_config->disks[i];
> >           if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
> > -            disk->base = alloc_virtio_mmio_base(gc, &virtio_mmio_base);
> > -            if (!disk->base)
> > -                return ERROR_FAIL;
> > +            int rc = alloc_virtio_mmio_params(gc, &disk->base, &disk->irq,
> > +                    &virtio_mmio_base, &virtio_mmio_irq);
> > +            if (rc)
> > +                return rc;
> > -            disk->irq = alloc_virtio_mmio_irq(gc, &virtio_mmio_irq);
> > -            if (!disk->irq)
> > -                return ERROR_FAIL;
> > -
> > -            if (virtio_irq < disk->irq)
> > -                virtio_irq = disk->irq;
> >               virtio_enabled = true;
> 
>    I think that "virtio_enabled = true;" should be moved ...
> 
> 
> > -
> > -            LOG(DEBUG, "Allocate Virtio MMIO params for Vdev %s: IRQ %u BASE 0x%"PRIx64,
> > -                disk->vdev, disk->irq, disk->base);
> >           }
> >       }
> > @@ -107,8 +117,10 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
> >        * present, make sure that we allocate enough SPIs for them.
> >        * The resulting "nr_spis" needs to cover the highest possible SPI.
> >        */
> > -    if (virtio_enabled)
> > +    if (virtio_mmio_irq != GUEST_VIRTIO_MMIO_SPI_FIRST) {
> > +        virtio_irq = virtio_mmio_irq - 1;
> >           nr_spis = max(nr_spis, virtio_irq - 32 + 1);
> 
>  ... here. Otherwise after applying all patches "virtio_enabled" only gets
> set if there is a virtio disk device. So it won't be set for virtio i2c,
> etc.
> 
> I see that in V2 it was there, but in V3 is not. Or maybe there is some
> reason for doing that which I am not aware of?

There is only one use of virtio_enabled after this patch, i.e. do
check for vpl011. Maybe we can drop the variable and use
virtio_mmio_irq != GUEST_VIRTIO_MMIO_SPI_FIRST ?

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:35:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:35:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382689.617708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtP-0006jY-HV; Tue, 09 Aug 2022 05:35:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382689.617708; Tue, 09 Aug 2022 05:35:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtP-0006jP-Ed; Tue, 09 Aug 2022 05:35:03 +0000
Received: by outflank-mailman (input) for mailman id 382689;
 Tue, 09 Aug 2022 05:35:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLHtN-0006BY-K0
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 05:35:01 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02a11967-17a5-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 07:35:00 +0200 (CEST)
Received: by mail-pj1-x102d.google.com with SMTP id pm17so10716126pjb.3
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 22:35:00 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 4-20020a170902c20400b0016c38eb1f3asm9721818pll.214.2022.08.08.22.34.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 22:34:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02a11967-17a5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=aIzbIEzFpUUXj5cpYUTP2MCSxRElsGZiwM2/TXC0VsI=;
        b=L76+H2rgeLBrfAKpc3uKaEhG+DOu/3CqLUU8BTux4E7SMjcoi5+CMQdzLVgSO9H/T/
         RKV50FBWpE+Mt+QgOCq2TEJLHwfLYY70ipU+XCp2H+L03wdcaz30/nnOEepffQBxEBoy
         r0PacWYSPtTrE65G4b1Mihjyum+RojJw6pfJPO/iOpuHGWNAYvWBYN6V69vztqUO/wpr
         HUIyxstRzgNqWU/fBZx844Fnmjy2I7fxa4v7kZ28L/Q+rXRdVLXTUKiFoUdXcvw1FlG7
         ibRGsD1AMjApBJCRSNF1Jb17QE06iWpkOCb8Xr44GF3qjRs6XZkwxKSS2S/Hf3p1Nw7J
         U2PQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=aIzbIEzFpUUXj5cpYUTP2MCSxRElsGZiwM2/TXC0VsI=;
        b=10ua5QbvPLZbFrmHPYG2ckIBrn+QFSvUAAaEhBue0HOm9ezed+h/QbdOrXP/HuG/T6
         IUJvORMLQsaEfrwBnMqwgn8KxqjIpafEUXczCnV1EoQ/Zh2/8EFPd+cF628fnnybXq4E
         KVCbBTQLMvgIliCrDrdue2IbGtRdAjR9KaFDrOieL7urqLwET55tT8632A6QSrFHeYdb
         a5R9MCOPlftK9Cg7G9namp0nBvJNm76MjhX2cEqfr2+aYEFmKyinPz+dl8aDaJVOXuuI
         sg/U3+uc7Bt5MgQYLMg+VQZy6q9PKePRv68eGIfPxWifQdLMmHbO7tuaTYguCmMaeMzQ
         f2GA==
X-Gm-Message-State: ACgBeo18zJhMdDJo3lL6enE+yXSqFmQRYB+IGNpVbdRj890DOxgjeMhG
	A4ovuNRD9EQc8Di976qp3fJtIQaq2ni7uw==
X-Google-Smtp-Source: AA6agR41ANL+8QzX63pVGQ7WNHWYu0sjGYFKdhwiXDMFeKWjRLaY2tp+japlo0YYGG46K9sSKD9oOw==
X-Received: by 2002:a17:903:1110:b0:16b:6968:1d08 with SMTP id n16-20020a170903111000b0016b69681d08mr22008834plh.3.1660023299480;
        Mon, 08 Aug 2022 22:34:59 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V4 3/6] libxl: arm: Create alloc_virtio_mmio_params()
Date: Tue,  9 Aug 2022 11:04:30 +0530
Message-Id: <9a382501b425f4248e071e93db7c213025f402e6.1660023094.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1660023094.git.viresh.kumar@linaro.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a separate routine to allocate base and irq for a device as the
same code will be required for each device type.

Suggested-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 41 +++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 15 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 1a3ac1646e94..4a750852b671 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -48,6 +48,24 @@ static uint32_t alloc_virtio_mmio_irq(libxl__gc *gc, uint32_t *virtio_mmio_irq)
     return irq;
 }
 
+static int alloc_virtio_mmio_params(libxl__gc *gc, uint64_t *base,
+                                    uint32_t *irq, uint64_t *virtio_mmio_base,
+                                    uint32_t *virtio_mmio_irq)
+{
+    *base = alloc_virtio_mmio_base(gc, virtio_mmio_base);
+    if (!*base)
+        return ERROR_FAIL;
+
+    *irq = alloc_virtio_mmio_irq(gc, virtio_mmio_irq);
+    if (!*irq)
+        return ERROR_FAIL;
+
+    LOG(DEBUG, "Allocate Virtio MMIO params: IRQ %u BASE 0x%"PRIx64, *irq,
+        *base);
+
+    return 0;
+}
+
 static const char *gicv_to_string(libxl_gic_version gic_version)
 {
     switch (gic_version) {
@@ -85,20 +103,10 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         libxl_device_disk *disk = &d_config->disks[i];
 
         if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
-            disk->base = alloc_virtio_mmio_base(gc, &virtio_mmio_base);
-            if (!disk->base)
-                return ERROR_FAIL;
-
-            disk->irq = alloc_virtio_mmio_irq(gc, &virtio_mmio_irq);
-            if (!disk->irq)
-                return ERROR_FAIL;
-
-            if (virtio_irq < disk->irq)
-                virtio_irq = disk->irq;
-            virtio_enabled = true;
-
-            LOG(DEBUG, "Allocate Virtio MMIO params for Vdev %s: IRQ %u BASE 0x%"PRIx64,
-                disk->vdev, disk->irq, disk->base);
+            int rc = alloc_virtio_mmio_params(gc, &disk->base, &disk->irq,
+                    &virtio_mmio_base, &virtio_mmio_irq);
+            if (rc)
+                return rc;
         }
     }
 
@@ -107,8 +115,11 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
      * present, make sure that we allocate enough SPIs for them.
      * The resulting "nr_spis" needs to cover the highest possible SPI.
      */
-    if (virtio_enabled)
+    if (virtio_mmio_irq != GUEST_VIRTIO_MMIO_SPI_FIRST) {
+        virtio_enabled = true;
+        virtio_irq = virtio_mmio_irq - 1;
         nr_spis = max(nr_spis, virtio_irq - 32 + 1);
+    }
 
     for (i = 0; i < d_config->b_info.num_irqs; i++) {
         uint32_t irq = d_config->b_info.irqs[i];
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:35:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:35:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382686.617687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtH-0006Bl-UM; Tue, 09 Aug 2022 05:34:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382686.617687; Tue, 09 Aug 2022 05:34:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtH-0006Be-RZ; Tue, 09 Aug 2022 05:34:55 +0000
Received: by outflank-mailman (input) for mailman id 382686;
 Tue, 09 Aug 2022 05:34:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLHtG-0006BY-D0
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 05:34:54 +0000
Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com
 [2607:f8b0:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd43ef2d-17a4-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 07:34:53 +0200 (CEST)
Received: by mail-pg1-x534.google.com with SMTP id r69so3934621pgr.2
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 22:34:52 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 j6-20020a170902da8600b001618b70dcc9sm10061085plx.101.2022.08.08.22.34.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 22:34:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd43ef2d-17a4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=JNWXCMOzndx4pJJoTI4XIwB3NwTqmVIO08uDGR4x5qs=;
        b=NWAsYGfogfNAoeszebimFvZphx7Lr3ShUfzavq7C1+2Wy+gL6ZN+F+4iArdNSycUAF
         nztezNEUMpB0vnZyHLAoJDh0tOri5+N4123o706T0A0hlHOXyZF8p31NanoQVCRAtUr0
         AAQNuZpRK3Hinm/OSNvsrE9AIjH6KdklplTBB8Ff2hH1oyn6/3QErhkvCAvYjxERqN7N
         IJaHXSCtQS5AzdocBJ9rjZP1qe3ZuYOXr7UijtKS3BiXYzuW/J+creyMtT55Rfzfykay
         23uVmJHpnJKtk9a+1mVKK5gOZNgYj8xhXo8KJMB0rRRPen7MjSIR16Vd4WcCyLwZwBRl
         pYzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=JNWXCMOzndx4pJJoTI4XIwB3NwTqmVIO08uDGR4x5qs=;
        b=eRyvLklYm9zK1U+mU2zbTCdwXHSfBjhg6FuYA9aRC/dmKM0uGug6PEDQFvpCYrAORo
         z7/K/TlC8uZmN13dcKBboD1uAmSE3yrBbgYPkS4E9xooxt5uukUPoI3ic2MvgFxM1A2z
         qMFxfwO+Nyw2O4YIYKvdja8KEbBZLz7hiDnZWyV5lKbcJ9KJYVjIYCQz709f01sU242U
         KtDJ9XSZAdyAOR5+DFZAcv8u4rxJIbzLH17Wtxvvn3IJ6cLjABDpRtmTY+b2TuvMqH1E
         BcVFmMMqkxrJrfe1KrXaV0ilyjPpweOlG9ufYad4maCeGpY8IjiPfj64vVnCGIPlu99B
         0S9g==
X-Gm-Message-State: ACgBeo1u4Uacr5v5ANPCOyxpjX6EfKj3siTTzxjCyGi0Mk4Y/YTpnxgI
	9r6LEfK7wVZGHfH+gmVCwIEr5Mqt9saoMg==
X-Google-Smtp-Source: AA6agR6rMctglCySAf2suKXt6TghPtg6sebc2AF+dN5iiLqMH44ckoxhjrKe1lxS0BW7nYiaMEbOUw==
X-Received: by 2002:a63:d014:0:b0:41a:13b3:69d9 with SMTP id z20-20020a63d014000000b0041a13b369d9mr18207772pgf.202.1660023290389;
        Mon, 08 Aug 2022 22:34:50 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V4 0/6] Virtio toolstack support for I2C and GPIO on Arm
Date: Tue,  9 Aug 2022 11:04:27 +0530
Message-Id: <cover.1660023094.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This patchset adds toolstack support for I2C and GPIO virtio devices. This is
inspired from the work done by Oleksandr for the Disk device.

This is developed as part of Linaro's Project Stratos, where we are working
towards Hypervisor agnostic Rust based backend [1].

This is based of origin/staging (commit 01ca29f0b17a ("sched: dom0_vcpus_pin
should only affect dom0")) which already has Oleksandr's patches applied.

V3->V4:
- Update virtio_enabled independently of all devices, so we don't miss setting
  it to true.

- Add iommu handling for i2c/gpio and move it as part of
  make_virtio_mmio_node_common(), which gets backend_domid parameter as a
  result.

V2->V3:
- Rebased over latest tree and made changes according to changes in Oleksandr's
  patches from sometime back.
- Minor cleanups.

V1->V2:
- Patches 3/6 and 4/6 are new.
- Patches 5/6 and 6/6 updated based on the above two patches.
- Added link to the bindings for I2C and GPIO.
- Rebased over latest master branch.


Thanks.

--
Viresh

[1] https://lore.kernel.org/xen-devel/20220414092358.kepxbmnrtycz7mhe@vireshk-i7/

Viresh Kumar (6):
  libxl: Add support for Virtio I2C device
  libxl: Add support for Virtio GPIO device
  libxl: arm: Create alloc_virtio_mmio_params()
  libxl: arm: Split make_virtio_mmio_node()
  libxl: Allocate MMIO params for I2c device and update DT
  libxl: Allocate MMIO params for GPIO device and update DT

 tools/golang/xenlight/helpers.gen.go      | 212 ++++++++++++++++++++
 tools/golang/xenlight/types.gen.go        |  54 ++++++
 tools/include/libxl.h                     |  64 ++++++
 tools/include/libxl_utils.h               |   6 +
 tools/libs/light/Makefile                 |   2 +
 tools/libs/light/libxl_arm.c              | 166 +++++++++++++---
 tools/libs/light/libxl_create.c           |  26 +++
 tools/libs/light/libxl_dm.c               |  34 +++-
 tools/libs/light/libxl_gpio.c             | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_i2c.c              | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   2 +
 tools/libs/light/libxl_types.idl          |  48 +++++
 tools/libs/light/libxl_types_internal.idl |   2 +
 tools/ocaml/libs/xl/genwrap.py            |   2 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   2 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   6 +
 tools/xl/xl_cmdtable.c                    |  30 +++
 tools/xl/xl_gpio.c                        | 142 ++++++++++++++
 tools/xl/xl_i2c.c                         | 142 ++++++++++++++
 tools/xl/xl_parse.c                       | 160 +++++++++++++++
 tools/xl/xl_parse.h                       |   2 +
 tools/xl/xl_sxp.c                         |   4 +
 23 files changed, 1530 insertions(+), 30 deletions(-)
 create mode 100644 tools/libs/light/libxl_gpio.c
 create mode 100644 tools/libs/light/libxl_i2c.c
 create mode 100644 tools/xl/xl_gpio.c
 create mode 100644 tools/xl/xl_i2c.c

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:35:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:35:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382687.617698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtM-0006Rj-66; Tue, 09 Aug 2022 05:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382687.617698; Tue, 09 Aug 2022 05:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtM-0006Ra-2N; Tue, 09 Aug 2022 05:35:00 +0000
Received: by outflank-mailman (input) for mailman id 382687;
 Tue, 09 Aug 2022 05:34:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLHtK-0006BY-Kn
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 05:34:59 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff386983-17a4-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 07:34:55 +0200 (CEST)
Received: by mail-pj1-x102c.google.com with SMTP id
 t2-20020a17090a4e4200b001f21572f3a4so11239431pjl.0
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 22:34:55 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 pf2-20020a17090b1d8200b001f7613a9d0dsm2442940pjb.52.2022.08.08.22.34.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 22:34:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff386983-17a4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=yuZwz8uc5wN8Cuv0zx5mBsmVFoUbz2odV0n16zvvUWs=;
        b=OrwZ0wLjzdCU5gHXJoz0aXkTOIjCrFikIslFlY4X2Y9QSqHUoSyrGC8Gd5q6Z11eqz
         1S67aVZLnGWIlNlrOq0bOPn5sb6ct3+jZymdz81W7Dces4e7a28pfGVHxslHcOXJqsB8
         CtWBoV2a91RZSq4NvIHjFtHxelh+fMUutnf+KCOgYfBWVDgwjyNmzCKt/N6LxhoSVJsn
         o7HxbGCbZLn0Y3AGixtcP0FCQkUXh3UOBODD8c9tMjzT+I//KpEBGWli9+Z0RF8AB5tA
         javIVQ+ymlXgovNS0P9WCzA4PJeVB+fgxqaPMcuAg2HLMwmEo8Z/DkQrS7Ey0HBPd1+b
         JwAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=yuZwz8uc5wN8Cuv0zx5mBsmVFoUbz2odV0n16zvvUWs=;
        b=SOubzgxLbQu2uLGGnSWstezgndvnVlu2jn8O+zDC3INVXlp0JKPb66pew00lstpJKY
         CqtYoWBBcqZAo0XCgj2EyROwEfE3L4mu3kLG7Lehvqr+yhUGbqXLf5cLpf/UKU8/pVgg
         gLKjr09CWCkzbjvqLc1mRqC9FdhdxwPWrgMMaJvYL9E8XAJBZT3Sf+Fo3v3FW1InUIY/
         lGs2QF4ISyaFOwxc3zktJmm5h5ppIT7aFfq1DxdXpWqXF3Gx8KB9EufjH4/boFbcecRr
         BXiWBUS+ATcmIRaSM9l905w2s6yyRqeosOsjjBMKIw0LjNsR2rRv441DbA2dLjMgAVwh
         bb/Q==
X-Gm-Message-State: ACgBeo3p/kFEw7e3ztAvjSnWdU2sQvbewX6SHLbMokGxLjdvL9a5Bw09
	DKxaK4R83zvx8kSOVHKFh0G52QW+tLP9FQ==
X-Google-Smtp-Source: AA6agR7oft/k0xWNBdGy2GKOt/ulmF37hRbGg5HQccdn0lTDV4hoKqnlNGCAJ004qypEuY+oXIDRrQ==
X-Received: by 2002:a17:902:dace:b0:170:8c21:3b1f with SMTP id q14-20020a170902dace00b001708c213b1fmr14309873plx.55.1660023293467;
        Mon, 08 Aug 2022 22:34:53 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V4 1/6] libxl: Add support for Virtio I2C device
Date: Tue,  9 Aug 2022 11:04:28 +0530
Message-Id: <6cd6ca9d72d4f844e8a007b687e28f49301fae03.1660023094.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1660023094.git.viresh.kumar@linaro.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting virtio-mmio
based virtio-i2c backend (emualator) which is intended to run out of
Qemu and could be run in any domain.

An example of domain configuration for Virtio I2c:
i2c = [ "" ]

Please note, this patch is not enough for virtio-i2c to work on Xen
(Arm), as for every Virtio device we need to allocate Virtio MMIO params
(IRQ and memory region) and pass them to the backend, also update Guest
device-tree. A subsequent patch will add these missing bits. For the
current patch, the default "irq" and "base" are just written to the
Xenstore.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/golang/xenlight/helpers.gen.go      | 108 +++++++++++
 tools/golang/xenlight/types.gen.go        |  27 +++
 tools/include/libxl.h                     |  32 +++
 tools/include/libxl_utils.h               |   3 +
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_create.c           |  13 ++
 tools/libs/light/libxl_dm.c               |  19 +-
 tools/libs/light/libxl_i2c.c              | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   1 +
 tools/libs/light/libxl_types.idl          |  24 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/ocaml/libs/xl/genwrap.py            |   1 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   1 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   3 +
 tools/xl/xl_cmdtable.c                    |  15 ++
 tools/xl/xl_i2c.c                         | 142 ++++++++++++++
 tools/xl/xl_parse.c                       |  80 ++++++++
 tools/xl/xl_parse.h                       |   1 +
 tools/xl/xl_sxp.c                         |   2 +
 20 files changed, 699 insertions(+), 3 deletions(-)
 create mode 100644 tools/libs/light/libxl_i2c.c
 create mode 100644 tools/xl/xl_i2c.c

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index fa3cf2ab7658..4c7b60439bf0 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1221,6 +1221,9 @@ x.Usbdevice = C.GoString(tmp.usbdevice)
 if err := x.VkbDevice.fromC(&tmp.vkb_device);err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := x.I2cDevice.fromC(&tmp.i2c_device);err != nil {
+return fmt.Errorf("converting field I2cDevice: %v", err)
+}
 x.Soundhw = C.GoString(tmp.soundhw)
 if err := x.XenPlatformPci.fromC(&tmp.xen_platform_pci);err != nil {
 return fmt.Errorf("converting field XenPlatformPci: %v", err)
@@ -1538,6 +1541,9 @@ hvm.usbdevice = C.CString(tmp.Usbdevice)}
 if err := tmp.VkbDevice.toC(&hvm.vkb_device); err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := tmp.I2cDevice.toC(&hvm.i2c_device); err != nil {
+return fmt.Errorf("converting field I2cDevice: %v", err)
+}
 if tmp.Soundhw != "" {
 hvm.soundhw = C.CString(tmp.Soundhw)}
 if err := tmp.XenPlatformPci.toC(&hvm.xen_platform_pci); err != nil {
@@ -1734,6 +1740,46 @@ xc.multi_touch_num_contacts = C.uint32_t(x.MultiTouchNumContacts)
  return nil
  }
 
+// NewDeviceI2c returns an instance of DeviceI2c initialized with defaults.
+func NewDeviceI2c() (*DeviceI2c, error) {
+var (
+x DeviceI2c
+xc C.libxl_device_i2c)
+
+C.libxl_device_i2c_init(&xc)
+defer C.libxl_device_i2c_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *DeviceI2c) fromC(xc *C.libxl_device_i2c) error {
+ x.BackendDomid = Domid(xc.backend_domid)
+x.BackendDomname = C.GoString(xc.backend_domname)
+x.Devid = Devid(xc.devid)
+x.BackendType = I2cBackend(xc.backend_type)
+x.Irq = uint32(xc.irq)
+x.Base = uint64(xc.base)
+
+ return nil}
+
+func (x *DeviceI2c) toC(xc *C.libxl_device_i2c) (err error){defer func(){
+if err != nil{
+C.libxl_device_i2c_dispose(xc)}
+}()
+
+xc.backend_domid = C.libxl_domid(x.BackendDomid)
+if x.BackendDomname != "" {
+xc.backend_domname = C.CString(x.BackendDomname)}
+xc.devid = C.libxl_devid(x.Devid)
+xc.backend_type = C.libxl_i2c_backend(x.BackendType)
+xc.irq = C.uint32_t(x.Irq)
+xc.base = C.uint64_t(x.Base)
+
+ return nil
+ }
+
 // NewDeviceDisk returns an instance of DeviceDisk initialized with defaults.
 func NewDeviceDisk() (*DeviceDisk, error) {
 var (
@@ -2867,6 +2913,15 @@ if err := x.Vkbs[i].fromC(&v); err != nil {
 return fmt.Errorf("converting field Vkbs: %v", err) }
 }
 }
+x.I2cs = nil
+if n := int(xc.num_i2cs); n > 0 {
+cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:n:n]
+x.I2cs = make([]DeviceI2c, n)
+for i, v := range cI2cs {
+if err := x.I2cs[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field I2cs: %v", err) }
+}
+}
 x.Vtpms = nil
 if n := int(xc.num_vtpms); n > 0 {
 cVtpms := (*[1<<28]C.libxl_device_vtpm)(unsafe.Pointer(xc.vtpms))[:n:n]
@@ -3028,6 +3083,16 @@ return fmt.Errorf("converting field Vkbs: %v", err)
 }
 }
 }
+if numI2cs := len(x.I2cs); numI2cs > 0 {
+xc.i2cs = (*C.libxl_device_i2c)(C.malloc(C.ulong(numI2cs)*C.sizeof_libxl_device_i2c))
+xc.num_i2cs = C.int(numI2cs)
+cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:numI2cs:numI2cs]
+for i,v := range x.I2cs {
+if err := v.toC(&cI2cs[i]); err != nil {
+return fmt.Errorf("converting field I2cs: %v", err)
+}
+}
+}
 if numVtpms := len(x.Vtpms); numVtpms > 0 {
 xc.vtpms = (*C.libxl_device_vtpm)(C.malloc(C.ulong(numVtpms)*C.sizeof_libxl_device_vtpm))
 xc.num_vtpms = C.int(numVtpms)
@@ -3733,6 +3798,49 @@ xc.rref = C.int(x.Rref)
  return nil
  }
 
+// NewI2cinfo returns an instance of I2cinfo initialized with defaults.
+func NewI2cinfo() (*I2cinfo, error) {
+var (
+x I2cinfo
+xc C.libxl_i2cinfo)
+
+C.libxl_i2cinfo_init(&xc)
+defer C.libxl_i2cinfo_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *I2cinfo) fromC(xc *C.libxl_i2cinfo) error {
+ x.Backend = C.GoString(xc.backend)
+x.BackendId = uint32(xc.backend_id)
+x.Frontend = C.GoString(xc.frontend)
+x.FrontendId = uint32(xc.frontend_id)
+x.Devid = Devid(xc.devid)
+x.State = int(xc.state)
+x.Evtch = int(xc.evtch)
+x.Rref = int(xc.rref)
+
+ return nil}
+
+func (x *I2cinfo) toC(xc *C.libxl_i2cinfo) (err error){defer func(){
+if err != nil{
+C.libxl_i2cinfo_dispose(xc)}
+}()
+
+if x.Backend != "" {
+xc.backend = C.CString(x.Backend)}
+xc.backend_id = C.uint32_t(x.BackendId)
+if x.Frontend != "" {
+xc.frontend = C.CString(x.Frontend)}
+xc.frontend_id = C.uint32_t(x.FrontendId)
+xc.devid = C.libxl_devid(x.Devid)
+xc.state = C.int(x.State)
+
+ return nil
+ }
+
 // NewNumainfo returns an instance of Numainfo initialized with defaults.
 func NewNumainfo() (*Numainfo, error) {
 var (
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index a0be7ada8c63..f8d7e84d6180 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -255,6 +255,11 @@ VkbBackendQemu VkbBackend = 1
 VkbBackendLinux VkbBackend = 2
 )
 
+type I2cBackend int
+const(
+I2cBackendVirtio I2cBackend = 0
+)
+
 type Passthrough int
 const(
 PassthroughDefault Passthrough = 0
@@ -584,6 +589,7 @@ Usb Defbool
 Usbversion int
 Usbdevice string
 VkbDevice Defbool
+I2cDevice Defbool
 Soundhw string
 XenPlatformPci Defbool
 UsbdeviceList StringList
@@ -646,6 +652,15 @@ MultiTouchHeight uint32
 MultiTouchNumContacts uint32
 }
 
+type DeviceI2c struct {
+BackendDomid Domid
+BackendDomname string
+Devid Devid
+BackendType I2cBackend
+Irq uint32
+Base uint64
+}
+
 type DeviceDisk struct {
 BackendDomid Domid
 BackendDomname string
@@ -935,6 +950,7 @@ Rdms []DeviceRdm
 Dtdevs []DeviceDtdev
 Vfbs []DeviceVfb
 Vkbs []DeviceVkb
+I2cs []DeviceI2c
 Vtpms []DeviceVtpm
 P9S []DeviceP9
 Pvcallsifs []DevicePvcallsif
@@ -1091,6 +1107,17 @@ Evtch int
 Rref int
 }
 
+type I2cinfo struct {
+Backend string
+BackendId uint32
+Frontend string
+FrontendId uint32
+Devid Devid
+State int
+Evtch int
+Rref int
+}
+
 type Numainfo struct {
 Size uint64
 Free uint64
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2321a648a59a..ab18c0b8c794 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -829,6 +829,15 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_BUILDINFO_VKB_DEVICE 1
 
+/*
+ * LIBXL_HAVE_BUILDINFO_I2C_DEVICE
+ *
+ * If this is defined, then the libxl_domain_build_info structure will
+ * contain a boolean hvm.i2c_device which instructs libxl whether to include
+ * a i2c at build time or not.
+ */
+#define LIBXL_HAVE_BUILDINFO_I2C_DEVICE 1
+
 /*
  * LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
  *
@@ -2397,6 +2406,29 @@ int libxl_device_vkb_getinfo(libxl_ctx *ctx, uint32_t domid,
                              libxl_vkbinfo *vkbinfo)
                              LIBXL_EXTERNAL_CALLERS_ONLY;
 
+/* I2C */
+int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
+                         const libxl_asyncop_how *ao_how)
+                         LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_remove(libxl_ctx *ctx, uint32_t domid,
+                            libxl_device_i2c *i2c,
+                            const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_i2c *i2c,
+                             const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+
+libxl_device_i2c *libxl_device_i2c_list(libxl_ctx *ctx,
+                                        uint32_t domid, int *num)
+                                        LIBXL_EXTERNAL_CALLERS_ONLY;
+void libxl_device_i2c_list_free(libxl_device_i2c* list, int num)
+                                LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_i2c *i2c,
+                             libxl_i2cinfo *i2cinfo)
+                             LIBXL_EXTERNAL_CALLERS_ONLY;
+
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb,
                          const libxl_asyncop_how *ao_how)
diff --git a/tools/include/libxl_utils.h b/tools/include/libxl_utils.h
index 46918aea847f..72b7796b7e4b 100644
--- a/tools/include/libxl_utils.h
+++ b/tools/include/libxl_utils.h
@@ -83,6 +83,9 @@ int libxl_devid_to_device_usbctrl(libxl_ctx *ctx, uint32_t domid,
 int libxl_devid_to_device_vkb(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_vkb *vkb);
 
+int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_i2c *i2c);
+
 int libxl_devid_to_device_vdispl(libxl_ctx *ctx, uint32_t domid,
                                  int devid, libxl_device_vdispl *vdispl);
 
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 13545654c2fc..961bdd33297b 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -112,6 +112,7 @@ OBJS-y += libxl_vdispl.o
 OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
+OBJS-y += libxl_i2c.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index b9dd2deedf13..84fe9f80c8fe 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -375,6 +375,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         libxl_defbool_setdefault(&b_info->u.hvm.altp2m,             false);
         libxl_defbool_setdefault(&b_info->u.hvm.usb,                false);
         libxl_defbool_setdefault(&b_info->u.hvm.vkb_device,         true);
+        libxl_defbool_setdefault(&b_info->u.hvm.i2c_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.xen_platform_pci,   true);
 
         libxl_defbool_setdefault(&b_info->u.hvm.spice.enable, false);
@@ -1753,6 +1754,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_console console;
         libxl__device device;
         libxl_device_vkb vkb;
+        libxl_device_i2c i2c;
 
         init_console_info(gc, &console, 0);
         console.backend_domid = state->console_domid;
@@ -1765,6 +1767,12 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
             libxl_device_vkb_dispose(&vkb);
         }
 
+        if (libxl_defbool_val(d_config->b_info.u.hvm.i2c_device)) {
+            libxl_device_i2c_init(&i2c);
+            libxl__device_add(gc, domid, &libxl__i2c_devtype, &i2c);
+            libxl_device_i2c_dispose(&i2c);
+        }
+
         dcs->sdss.dm.guest_domid = domid;
         if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
             libxl__spawn_stub_dm(egc, &dcs->sdss);
@@ -1797,6 +1805,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
                               &d_config->vkbs[i]);
         }
 
+        for (i = 0; i < d_config->num_i2cs; i++) {
+            libxl__device_add(gc, domid, &libxl__i2c_devtype,
+                              &d_config->i2cs[i]);
+        }
+
         if (d_config->b_info.arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART) {
             init_console_info(gc, &vuart, 0);
             vuart.backend_domid = state->console_domid;
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 1864ee30f0a2..9340ae4628a2 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2095,7 +2095,8 @@ static void libxl__dm_vifs_from_hvm_guest_config(libxl__gc *gc,
 static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
                                         const libxl_domain_config *guest_config,
                                         libxl_device_vfb *vfb,
-                                        libxl_device_vkb *vkb)
+                                        libxl_device_vkb *vkb,
+                                        libxl_device_i2c *i2c)
 {
     const libxl_domain_build_info *b_info = &guest_config->b_info;
 
@@ -2104,6 +2105,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
 
     libxl_device_vfb_init(vfb);
     libxl_device_vkb_init(vkb);
+    libxl_device_i2c_init(i2c);
 
     vfb->backend_domid = 0;
     vfb->devid = 0;
@@ -2114,6 +2116,9 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
     vkb->backend_domid = 0;
     vkb->devid = 0;
 
+    i2c->backend_domid = 0;
+    i2c->devid = 0;
+
     return 0;
 }
 
@@ -2276,6 +2281,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
     int ret;
     libxl_device_vfb *vfb;
     libxl_device_vkb *vkb;
+    libxl_device_i2c *i2c;
     char **args;
     struct xs_permissions perm[2];
     xs_transaction_t t;
@@ -2348,11 +2354,14 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
         || libxl_defbool_val(guest_config->b_info.u.hvm.sdl.enable)) {
         GCNEW(vfb);
         GCNEW(vkb);
-        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb);
+        GCNEW(i2c);
+        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, i2c);
         dm_config->vfbs = vfb;
         dm_config->num_vfbs = 1;
         dm_config->vkbs = vkb;
         dm_config->num_vkbs = 1;
+        dm_config->i2cs = i2c;
+        dm_config->num_i2cs = 1;
     }
 
     if (guest_config->b_info.stubdomain_kernel &&
@@ -2494,6 +2503,12 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
         if (ret) goto out;
     }
 
+    if (dm_config->num_i2cs) {
+        ret = libxl__device_add(gc, dm_domid, &libxl__i2c_devtype,
+                                &dm_config->i2cs[0]);
+        if (ret) goto out;
+    }
+
     if (guest_config->b_info.u.hvm.serial) {
         num_console++;
     } else if (guest_config->b_info.u.hvm.serial_list) {
diff --git a/tools/libs/light/libxl_i2c.c b/tools/libs/light/libxl_i2c.c
new file mode 100644
index 000000000000..2c46351ce3a4
--- /dev/null
+++ b/tools/libs/light/libxl_i2c.c
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_i2c_setdefault(libxl__gc *gc, uint32_t domid,
+                                        libxl_device_i2c *i2c, bool hotplug)
+{
+    if (i2c->backend_type != LIBXL_I2C_BACKEND_VIRTIO) {
+        i2c->backend_type = LIBXL_I2C_BACKEND_VIRTIO;
+    }
+
+    return libxl__resolve_domid(gc, i2c->backend_domname, &i2c->backend_domid);
+}
+
+static int libxl__device_i2c_dm_needed(void *e, uint32_t domid)
+{
+    libxl_device_i2c *elem = e;
+
+    return elem->backend_type == LIBXL_I2C_BACKEND_VIRTIO;
+}
+
+static int libxl__set_xenstore_i2c(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_i2c *i2c,
+                                   flexarray_t *back, flexarray_t *front,
+                                   flexarray_t *ro_front)
+{
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", i2c->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", i2c->base));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", i2c->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", i2c->base));
+
+    return 0;
+}
+
+static int libxl__i2c_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                    libxl_devid devid,
+                                    libxl_device_i2c *i2c)
+{
+    const char *be_path, *fe_path, *tmp;
+    libxl__device dev;
+    int rc;
+
+    i2c->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/frontend", libxl_path),
+                                  &fe_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &i2c->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__parse_backend_path(gc, be_path, &dev);
+    if (rc) goto out;
+
+    i2c->backend_type = LIBXL_I2C_BACKEND_VIRTIO;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        i2c->irq = strtoul(tmp, NULL, 0);
+    }
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        i2c->base = strtoul(tmp, NULL, 0);
+    }
+
+    rc = 0;
+
+out:
+
+    return rc;
+}
+
+static int libxl__device_from_i2c(libxl__gc *gc, uint32_t domid,
+                                  libxl_device_i2c *type, libxl__device *device)
+{
+    device->backend_devid   = type->devid;
+    device->backend_domid   = type->backend_domid;
+    device->backend_kind    = LIBXL__DEVICE_KIND_I2C;
+    device->devid           = type->devid;
+    device->domid           = domid;
+    device->kind            = LIBXL__DEVICE_KIND_I2C;
+
+    return 0;
+}
+
+int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
+    rc = libxl__device_add(gc, domid, &libxl__i2c_devtype, i2c);
+    if (rc) {
+        LOGD(ERROR, domid, "Unable to add i2c device");
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, rc);
+    return AO_INPROGRESS;
+}
+
+int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_i2c *i2c)
+{
+    GC_INIT(ctx);
+
+    libxl_device_i2c *i2cs = NULL;
+    int n, i;
+    int rc;
+
+    libxl_device_i2c_init(i2c);
+
+    i2cs = libxl__device_list(gc, &libxl__i2c_devtype, domid, &n);
+
+    if (!i2cs) { rc = ERROR_NOTFOUND; goto out; }
+
+    for (i = 0; i < n; ++i) {
+        if (devid == i2cs[i].devid) {
+            libxl_device_i2c_copy(ctx, i2c, &i2cs[i]);
+            rc = 0;
+            goto out;
+        }
+    }
+
+    rc = ERROR_NOTFOUND;
+
+out:
+
+    if (i2cs)
+        libxl__device_list_free(&libxl__i2c_devtype, i2cs, n);
+
+    GC_FREE;
+    return rc;
+}
+
+int libxl_device_i2c_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_i2c *i2c,
+                             libxl_i2cinfo *info)
+{
+    GC_INIT(ctx);
+    char *libxl_path, *dompath, *devpath;
+    char *val;
+    int rc;
+
+    libxl_i2cinfo_init(info);
+    dompath = libxl__xs_get_dompath(gc, domid);
+    info->devid = i2c->devid;
+
+    devpath = libxl__domain_device_frontend_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_I2C);
+    libxl_path = libxl__domain_device_libxl_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_I2C);
+
+    info->backend = xs_read(ctx->xsh, XBT_NULL,
+                            GCSPRINTF("%s/backend", libxl_path),
+                            NULL);
+    if (!info->backend) { rc = ERROR_FAIL; goto out; }
+
+    rc = libxl__backendpath_parse_domid(gc, info->backend, &info->backend_id);
+    if (rc) goto out;
+
+    val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", devpath));
+    info->state = val ? strtoul(val, NULL, 10) : -1;
+
+    info->frontend = xs_read(ctx->xsh, XBT_NULL,
+                             GCSPRINTF("%s/frontend", libxl_path),
+                             NULL);
+    info->frontend_id = domid;
+
+    rc = 0;
+
+out:
+     GC_FREE;
+     return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(i2c)
+
+#define libxl__add_i2cs NULL
+#define libxl_device_i2c_compare NULL
+
+LIBXL_DEFINE_DEVICE_LIST(i2c)
+LIBXL_DEFINE_DEVICE_REMOVE(i2c)
+
+DEFINE_DEVICE_TYPE_STRUCT(i2c, I2C, i2cs,
+    .skip_attach = 1,
+    .dm_needed = libxl__device_i2c_dm_needed,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_i2c,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__i2c_from_xenstore
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index cb9e8b3b8b5a..a8904cfea427 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4003,6 +4003,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__i2c_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
 extern const libxl__device_type libxl__vtpm_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index d634f304cda2..014a3ea8364c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,10 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_i2c_backend = Enumeration("i2c_backend", [
+    (0, "VIRTIO")
+    ])
+
 libxl_passthrough = Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -626,6 +630,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        # - "mouse" for PS/2 protocol relative mouse
                                        ("usbdevice",        string),
                                        ("vkb_device",       libxl_defbool),
+                                       ("i2c_device",       libxl_defbool),
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ("usbdevice_list",   libxl_string_list),
@@ -705,6 +710,15 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_i2c = Struct("device_i2c", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("devid", libxl_devid),
+    ("backend_type", libxl_i2c_backend),
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_disk = Struct("device_disk", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -982,6 +996,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("i2cs", Array(libxl_device_i2c, "num_i2cs")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
     ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
@@ -1145,6 +1160,15 @@ libxl_vkbinfo = Struct("vkbinfo", [
     ("rref", integer)
     ], dir=DIR_OUT)
 
+libxl_i2cinfo = Struct("i2cinfo", [
+    ("backend", string),
+    ("backend_id", uint32),
+    ("frontend", string),
+    ("frontend_id", uint32),
+    ("devid", libxl_devid),
+    ("state", integer),
+    ], dir=DIR_OUT)
+
 # NUMA node characteristics: size and free are how much memory it has, and how
 # much of it is free, respectively. dists is an array of distances from this
 # node to each other node.
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index 8f71980aecf1..1d83c600aaaf 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (15, "VSND"),
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
+    (18, "I2C"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
index 7bf26bdcd831..a9db0b97d80f 100644
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
 functions = { # ( name , [type1,type2,....] )
     "device_vfb":     DEVICE_FUNCTIONS,
     "device_vkb":     DEVICE_FUNCTIONS,
+    "device_i2c":     DEVICE_FUNCTIONS,
     "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
                       [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
                         ("of_vdev",        ["ctx", "domid", "string", "t"]),
diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
index 45b8af61c74a..cdf473f4ed57 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
 DEVICE_ADDREMOVE(nic)
 DEVICE_ADDREMOVE(vfb)
 DEVICE_ADDREMOVE(vkb)
+DEVICE_ADDREMOVE(i2c)
 DEVICE_ADDREMOVE(pci)
 _DEVICE_ADDREMOVE(disk, cdrom, insert)
 
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index b7f439121a3a..06801962f11e 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -23,7 +23,7 @@ XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o
 XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
 XL_OBJS += xl_info.o xl_console.o xl_misc.o
 XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
-XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o
+XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_i2c.o
 
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
 $(XL_OBJS): CFLAGS += $(CFLAGS_XL)
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 7c9aff6ad7a6..28618326149e 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -176,6 +176,9 @@ int main_vsnddetach(int argc, char **argv);
 int main_vkbattach(int argc, char **argv);
 int main_vkblist(int argc, char **argv);
 int main_vkbdetach(int argc, char **argv);
+int main_i2cattach(int argc, char **argv);
+int main_i2clist(int argc, char **argv);
+int main_i2cdetach(int argc, char **argv);
 int main_usbctrl_attach(int argc, char **argv);
 int main_usbctrl_detach(int argc, char **argv);
 int main_usbdev_attach(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 35182ca19630..c409ab1578d4 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -406,6 +406,21 @@ const struct cmd_spec cmd_table[] = {
       "Destroy a domain's virtual keyboard device",
       "<Domain> <DevId>",
     },
+    { "i2c-attach",
+      &main_i2cattach, 1, 1,
+      "Create a new virtual i2c device",
+      "<Domain> <i2c-spec-component(s)>...",
+    },
+    { "i2c-list",
+      &main_i2clist, 0, 0,
+      "List virtual i2c devices for a domain",
+      "<Domain(s)>",
+    },
+    { "i2c-detach",
+      &main_i2cdetach, 0, 1,
+      "Destroy a domain's virtual i2c device",
+      "<Domain> <DevId>",
+    },
     { "vdispl-attach",
       &main_vdisplattach, 1, 1,
       "Create a new virtual display device",
diff --git a/tools/xl/xl_i2c.c b/tools/xl/xl_i2c.c
new file mode 100644
index 000000000000..463fac2d5836
--- /dev/null
+++ b/tools/xl/xl_i2c.c
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include <stdlib.h>
+
+#include <libxl.h>
+#include <libxl_utils.h>
+#include <libxlutil.h>
+
+#include "xl.h"
+#include "xl_utils.h"
+#include "xl_parse.h"
+
+int main_i2cattach(int argc, char **argv)
+{
+    int opt;
+    int rc;
+    uint32_t domid;
+    libxl_device_i2c i2c;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-attach", 2) {
+        /* No options */
+    }
+
+    libxl_device_i2c_init(&i2c);
+    domid = find_domain(argv[optind++]);
+
+    for (argv += optind, argc -= optind; argc > 0; ++argv, --argc) {
+        rc = parse_i2c_config(&i2c, *argv);
+        if (rc) goto out;
+    }
+
+    if (dryrun_only) {
+        char *json = libxl_device_i2c_to_json(ctx, &i2c);
+        printf("i2c: %s\n", json);
+        free(json);
+        goto done;
+    }
+
+    if (libxl_device_i2c_add(ctx, domid, &i2c, 0)) {
+        fprintf(stderr, "libxl_device_i2c_add failed.\n");
+        rc = ERROR_FAIL; goto out;
+    }
+
+done:
+    rc = 0;
+
+out:
+    libxl_device_i2c_dispose(&i2c);
+    return rc;
+}
+
+int main_i2clist(int argc, char **argv)
+{
+    int opt;
+    libxl_device_i2c *i2cs;
+    libxl_i2cinfo i2cinfo;
+    int nb, i;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-list", 1) {
+        /* No options */
+    }
+
+    /*      Idx  BE   Hdl  Sta  evch ref ID    BE-type BE-path */
+    printf("%-3s %-2s %-6s %-5s %-6s %6s %-10s %-10s %-30s\n",
+           "Idx", "BE", "handle", "state", "evt-ch", "ref",
+           "ID", "BE-type", "BE-path");
+    for (argv += optind, argc -= optind; argc > 0; --argc, ++argv) {
+        uint32_t domid = find_domain(*argv);
+        i2cs = libxl_device_i2c_list(ctx, domid, &nb);
+        if (!i2cs) {
+            continue;
+        }
+        for (i = 0; i < nb; ++i) {
+            if (libxl_device_i2c_getinfo(ctx, domid, &i2cs[i], &i2cinfo) == 0) {
+                printf("%-3d %-2d %6d %5d %-10s %-30s\n",
+                       i2cinfo.devid, i2cinfo.backend_id,
+                       i2cinfo.devid, i2cinfo.state,
+                       libxl_i2c_backend_to_string(i2cs[i].backend_type),
+                       i2cinfo.backend);
+                libxl_i2cinfo_dispose(&i2cinfo);
+            }
+        }
+        libxl_device_i2c_list_free(i2cs, nb);
+    }
+    return 0;
+}
+
+int main_i2cdetach(int argc, char **argv)
+{
+    uint32_t domid, devid;
+    int opt, rc;
+    libxl_device_i2c i2c;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-detach", 2) {
+        /* No options */
+    }
+
+    domid = find_domain(argv[optind++]);
+    devid = atoi(argv[optind++]);
+
+    libxl_device_i2c_init(&i2c);
+
+    if (libxl_devid_to_device_i2c(ctx, domid, devid, &i2c)) {
+        fprintf(stderr, "Error: Device %d not connected.\n", devid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl_device_i2c_remove(ctx, domid, &i2c, 0);
+    if (rc) {
+        fprintf(stderr, "libxl_device_i2c_remove failed.\n");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = 0;
+
+out:
+    libxl_device_i2c_dispose(&i2c);
+    return rc;
+}
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 1b5381cef033..b91ffba14d40 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,74 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+int parse_i2c_config(libxl_device_i2c *i2c, char *token)
+{
+    char *oparg;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        i2c->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("backend-type", token, oparg)) {
+        libxl_i2c_backend backend_type;
+        if (libxl_i2c_backend_from_string(oparg, &backend_type)) {
+            fprintf(stderr, "Unknown backend_type \"%s\" in i2c spec\n",
+                            oparg);
+            return -1;
+        }
+        i2c->backend_type = backend_type;
+    } else if (MATCH_OPTION("irq", token, oparg)) {
+        i2c->irq = strtoul(oparg, NULL, 0);
+    } else if (MATCH_OPTION("base", token, oparg)) {
+        i2c->base = strtoul(oparg, NULL, 0);
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in i2c spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_i2c_list(const XLU_Config *config,
+                           libxl_domain_config *d_config)
+{
+    XLU_ConfigList *i2cs;
+    const char *item;
+    char *buf = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "i2c", &i2cs, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(i2cs, entry)) != NULL) {
+            libxl_device_i2c *i2c;
+            char *p;
+
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs,
+                                    d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
+            buf = strdup(item);
+
+            p = strtok (buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                rc = parse_i2c_config(i2c, p);
+                if (rc) goto out;
+
+                p = strtok (NULL, ",");
+            }
+
+            entry++;
+        }
+    }
+
+    rc = 0;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 void parse_config_data(const char *config_source,
                        const char *config_data,
                        int config_len,
@@ -2309,13 +2377,16 @@ void parse_config_data(const char *config_source,
 
     d_config->num_vfbs = 0;
     d_config->num_vkbs = 0;
+    d_config->num_i2cs = 0;
     d_config->vfbs = NULL;
     d_config->vkbs = NULL;
+    d_config->i2cs = NULL;
 
     if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
         while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_i2c *i2c;
 
             char *buf2 = strdup(buf);
             char *p, *p2;
@@ -2326,6 +2397,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
             p = strtok(buf2, ",");
             if (!p)
                 goto skip_vfb;
@@ -2583,6 +2657,7 @@ void parse_config_data(const char *config_source,
         if (vnc_enabled) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_i2c *i2c;
 
             vfb = ARRAY_EXTEND_INIT(d_config->vfbs, d_config->num_vfbs,
                                     libxl_device_vfb_init);
@@ -2590,6 +2665,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
             parse_top_level_vnc_options(config, &vfb->vnc);
             parse_top_level_sdl_options(config, &vfb->sdl);
             xlu_cfg_replace_string (config, "keymap", &vfb->keymap, 0);
@@ -2704,6 +2782,7 @@ void parse_config_data(const char *config_source,
             exit(-ERROR_FAIL);
         }
         xlu_cfg_get_defbool(config, "vkb_device", &b_info->u.hvm.vkb_device, 0);
+        xlu_cfg_get_defbool(config, "i2c_device", &b_info->u.hvm.i2c_device, 0);
         xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
         xlu_cfg_get_defbool(config, "xen_platform_pci",
                             &b_info->u.hvm.xen_platform_pci, 0);
@@ -2752,6 +2831,7 @@ void parse_config_data(const char *config_source,
     }
 
     parse_vkb_list(config, d_config);
+    parse_i2c_list(config, d_config);
 
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
                         &c_info->xend_suspend_evtchn_compat, 0);
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index bab2861f8c3e..4b972d525199 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -36,6 +36,7 @@ int parse_nic_config(libxl_device_nic *nic, XLU_Config **config, char *token);
 int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token);
 int parse_vsnd_item(libxl_device_vsnd *vsnd, const char *spec);
 int parse_vkb_config(libxl_device_vkb *vkb, char *token);
+int parse_i2c_config(libxl_device_i2c *i2c, char *token);
 
 int match_option_size(const char *prefix, size_t len,
                       char *arg, char **argopt);
diff --git a/tools/xl/xl_sxp.c b/tools/xl/xl_sxp.c
index 359a0015709e..a44c765aa515 100644
--- a/tools/xl/xl_sxp.c
+++ b/tools/xl/xl_sxp.c
@@ -140,6 +140,8 @@ void printf_info_sexp(int domid, libxl_domain_config *d_config, FILE *fh)
         fprintf(fh, "\t\t\t(usbdevice %s)\n", b_info->u.hvm.usbdevice);
         fprintf(fh, "\t\t\t(vkb_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vkb_device));
+        fprintf(fh, "\t\t\t(i2c_device %s)\n",
+               libxl_defbool_to_string(b_info->u.hvm.i2c_device));
         fprintf(fh, "\t\t)\n");
         break;
     case LIBXL_DOMAIN_TYPE_PV:
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:35:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:35:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382690.617720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtQ-0006zi-TG; Tue, 09 Aug 2022 05:35:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382690.617720; Tue, 09 Aug 2022 05:35:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtQ-0006yh-Mm; Tue, 09 Aug 2022 05:35:04 +0000
Received: by outflank-mailman (input) for mailman id 382690;
 Tue, 09 Aug 2022 05:35:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLHtP-0006dh-88
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 05:35:03 +0000
Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com
 [2607:f8b0:4864:20::430])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd8810e2-17a4-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 07:34:52 +0200 (CEST)
Received: by mail-pf1-x430.google.com with SMTP id y141so9895910pfb.7
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 22:34:58 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 p7-20020a17090a74c700b001f24dfedb94sm11602977pjl.53.2022.08.08.22.34.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 22:34:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd8810e2-17a4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=P4kqj2jADnNbmqdjtfqu3TdDmLlLN1dIEeugaQ81KuY=;
        b=Hg31E84Z+j5xHXrt07RrKT5Inh+nQkJ3e+jJvVuhJ/wTI6+5MtCjEHfTF1wi/RhoKm
         /DfNBxLTSsdvtbB7QtancNygDge3dAYkRPek8xHdALftxAhoosbKsnr3MNqwAoSsJ8GA
         crD6OS8TS0xWlw5coSxttCRdgmJAPgrQuqYVhZ55x1brhxUdYa5oT3UnyJNTrDc7W4bL
         4tz8qexGrqfGK1hv5VI4p+fU3/eYYzFtpMnykRBew1PiyejU20vx7cmT/4/+9zlj4pUg
         Xps0DVKAqmc7Q8REn/MNnHaID8qrC6joMkFG/UdAbZuURjOLojODmdKm5Apq03ZJnlNa
         DdDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=P4kqj2jADnNbmqdjtfqu3TdDmLlLN1dIEeugaQ81KuY=;
        b=dHVgT2sv/MfF0UdlPs3DcVE1IoZO026XvfR5zqM+5Y3BANRrAlWYSURBZYxUNN6or9
         fO6AQ00ZT41jTVyZrw5AZizj62dvKkYNQDLjkFQW72S7qLGP44eQHsfxmUNrtwYB46yO
         SG2bVUAGC+mmoZoeRZPn7H9csLLt4RR3FYGR02IzP78/pEYwlS9cdIqN4tZuPdNIX/lK
         nLlmMg754g3HmA+oZpdITeVj5md5yS4yY4zMPv5gpNzSpy0f/z3Hx2/XunfPCrKHCRAx
         py5TBsbe5pelaJuA8sM0uldaWzw3TW72pY2gKdyzuw+c/BTQGqipE+Un2nXInTDzOP6t
         TeOw==
X-Gm-Message-State: ACgBeo19A8B3Oyqso8UHBuqVKKA3Rafcjo3IpIHwZg41tY93AgF8cM9U
	bPxXkYosaoci6CrcLqVGlxJXTZlH9S5dNg==
X-Google-Smtp-Source: AA6agR4kRFT909e08UevRNDVR3Wi3krYNaTNMtbTaJOtSmuHVZKlOuOy3nNZubS22RpB5zXB8EDsQw==
X-Received: by 2002:a05:6a00:b44:b0:52e:d959:c05b with SMTP id p4-20020a056a000b4400b0052ed959c05bmr15329914pfo.22.1660023296584;
        Mon, 08 Aug 2022 22:34:56 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V4 2/6] libxl: Add support for Virtio GPIO device
Date: Tue,  9 Aug 2022 11:04:29 +0530
Message-Id: <ef815025eda7018cd713f13eb0d6a540e9deae9f.1660023094.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1660023094.git.viresh.kumar@linaro.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting virtio-mmio
based virtio-gpio backend (emualator) which is intended to run out of
Qemu and could be run in any domain.

An example of domain configuration for Virtio Gpio:
gpio = [ "" ]

Please note, this patch is not enough for virtio-gpio to work on Xen
(Arm), as for every Virtio device we need to allocate Virtio MMIO params
(IRQ and memory region) and pass them to the backend, also update Guest
device-tree. A subsequent patch will add these missing bits. For the
current patch, the default "irq" and "base" are just written to the
Xenstore.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/golang/xenlight/helpers.gen.go      | 108 ++++++++++-
 tools/golang/xenlight/types.gen.go        |  27 +++
 tools/include/libxl.h                     |  32 +++
 tools/include/libxl_utils.h               |   3 +
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_create.c           |  13 ++
 tools/libs/light/libxl_dm.c               |  17 +-
 tools/libs/light/libxl_gpio.c             | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   1 +
 tools/libs/light/libxl_types.idl          |  24 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/ocaml/libs/xl/genwrap.py            |   1 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   1 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   3 +
 tools/xl/xl_cmdtable.c                    |  15 ++
 tools/xl/xl_gpio.c                        | 142 ++++++++++++++
 tools/xl/xl_parse.c                       |  80 ++++++++
 tools/xl/xl_parse.h                       |   1 +
 tools/xl/xl_sxp.c                         |   2 +
 20 files changed, 696 insertions(+), 4 deletions(-)
 create mode 100644 tools/libs/light/libxl_gpio.c
 create mode 100644 tools/xl/xl_gpio.c

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 4c7b60439bf0..2f41ace71c61 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1221,6 +1221,9 @@ x.Usbdevice = C.GoString(tmp.usbdevice)
 if err := x.VkbDevice.fromC(&tmp.vkb_device);err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := x.GpioDevice.fromC(&tmp.gpio_device);err != nil {
+return fmt.Errorf("converting field GpioDevice: %v", err)
+}
 if err := x.I2cDevice.fromC(&tmp.i2c_device);err != nil {
 return fmt.Errorf("converting field I2cDevice: %v", err)
 }
@@ -1541,6 +1544,9 @@ hvm.usbdevice = C.CString(tmp.Usbdevice)}
 if err := tmp.VkbDevice.toC(&hvm.vkb_device); err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := tmp.GpioDevice.toC(&hvm.gpio_device); err != nil {
+return fmt.Errorf("converting field GpioDevice: %v", err)
+}
 if err := tmp.I2cDevice.toC(&hvm.i2c_device); err != nil {
 return fmt.Errorf("converting field I2cDevice: %v", err)
 }
@@ -1740,6 +1746,46 @@ xc.multi_touch_num_contacts = C.uint32_t(x.MultiTouchNumContacts)
  return nil
  }
 
+// NewDeviceGpio returns an instance of DeviceGpio initialized with defaults.
+func NewDeviceGpio() (*DeviceGpio, error) {
+var (
+x DeviceGpio
+xc C.libxl_device_gpio)
+
+C.libxl_device_gpio_init(&xc)
+defer C.libxl_device_gpio_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *DeviceGpio) fromC(xc *C.libxl_device_gpio) error {
+ x.BackendDomid = Domid(xc.backend_domid)
+x.BackendDomname = C.GoString(xc.backend_domname)
+x.Devid = Devid(xc.devid)
+x.BackendType = GpioBackend(xc.backend_type)
+x.Irq = uint32(xc.irq)
+x.Base = uint64(xc.base)
+
+ return nil}
+
+func (x *DeviceGpio) toC(xc *C.libxl_device_gpio) (err error){defer func(){
+if err != nil{
+C.libxl_device_gpio_dispose(xc)}
+}()
+
+xc.backend_domid = C.libxl_domid(x.BackendDomid)
+if x.BackendDomname != "" {
+xc.backend_domname = C.CString(x.BackendDomname)}
+xc.devid = C.libxl_devid(x.Devid)
+xc.backend_type = C.libxl_gpio_backend(x.BackendType)
+xc.irq = C.uint32_t(x.Irq)
+xc.base = C.uint64_t(x.Base)
+
+ return nil
+ }
+
 // NewDeviceI2c returns an instance of DeviceI2c initialized with defaults.
 func NewDeviceI2c() (*DeviceI2c, error) {
 var (
@@ -2913,6 +2959,15 @@ if err := x.Vkbs[i].fromC(&v); err != nil {
 return fmt.Errorf("converting field Vkbs: %v", err) }
 }
 }
+x.Gpios = nil
+if n := int(xc.num_gpios); n > 0 {
+cGpios := (*[1<<28]C.libxl_device_gpio)(unsafe.Pointer(xc.gpios))[:n:n]
+x.Gpios = make([]DeviceGpio, n)
+for i, v := range cGpios {
+if err := x.Gpios[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field Gpios: %v", err) }
+}
+}
 x.I2cs = nil
 if n := int(xc.num_i2cs); n > 0 {
 cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:n:n]
@@ -3083,6 +3138,16 @@ return fmt.Errorf("converting field Vkbs: %v", err)
 }
 }
 }
+if numGpios := len(x.Gpios); numGpios > 0 {
+xc.gpios = (*C.libxl_device_gpio)(C.malloc(C.ulong(numGpios)*C.sizeof_libxl_device_gpio))
+xc.num_gpios = C.int(numGpios)
+cGpios := (*[1<<28]C.libxl_device_gpio)(unsafe.Pointer(xc.gpios))[:numGpios:numGpios]
+for i,v := range x.Gpios {
+if err := v.toC(&cGpios[i]); err != nil {
+return fmt.Errorf("converting field Gpios: %v", err)
+}
+}
+}
 if numI2cs := len(x.I2cs); numI2cs > 0 {
 xc.i2cs = (*C.libxl_device_i2c)(C.malloc(C.ulong(numI2cs)*C.sizeof_libxl_device_i2c))
 xc.num_i2cs = C.int(numI2cs)
@@ -3798,6 +3863,47 @@ xc.rref = C.int(x.Rref)
  return nil
  }
 
+// NewGpioinfo returns an instance of Gpioinfo initialized with defaults.
+func NewGpioinfo() (*Gpioinfo, error) {
+var (
+x Gpioinfo
+xc C.libxl_gpioinfo)
+
+C.libxl_gpioinfo_init(&xc)
+defer C.libxl_gpioinfo_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *Gpioinfo) fromC(xc *C.libxl_gpioinfo) error {
+ x.Backend = C.GoString(xc.backend)
+x.BackendId = uint32(xc.backend_id)
+x.Frontend = C.GoString(xc.frontend)
+x.FrontendId = uint32(xc.frontend_id)
+x.Devid = Devid(xc.devid)
+x.State = int(xc.state)
+
+ return nil}
+
+func (x *Gpioinfo) toC(xc *C.libxl_gpioinfo) (err error){defer func(){
+if err != nil{
+C.libxl_gpioinfo_dispose(xc)}
+}()
+
+if x.Backend != "" {
+xc.backend = C.CString(x.Backend)}
+xc.backend_id = C.uint32_t(x.BackendId)
+if x.Frontend != "" {
+xc.frontend = C.CString(x.Frontend)}
+xc.frontend_id = C.uint32_t(x.FrontendId)
+xc.devid = C.libxl_devid(x.Devid)
+xc.state = C.int(x.State)
+
+ return nil
+ }
+
 // NewI2cinfo returns an instance of I2cinfo initialized with defaults.
 func NewI2cinfo() (*I2cinfo, error) {
 var (
@@ -3819,8 +3925,6 @@ x.Frontend = C.GoString(xc.frontend)
 x.FrontendId = uint32(xc.frontend_id)
 x.Devid = Devid(xc.devid)
 x.State = int(xc.state)
-x.Evtch = int(xc.evtch)
-x.Rref = int(xc.rref)
 
  return nil}
 
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index f8d7e84d6180..5a4656035cd1 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -255,6 +255,11 @@ VkbBackendQemu VkbBackend = 1
 VkbBackendLinux VkbBackend = 2
 )
 
+type GpioBackend int
+const(
+GpioBackendVirtio GpioBackend = 0
+)
+
 type I2cBackend int
 const(
 I2cBackendVirtio I2cBackend = 0
@@ -589,6 +594,7 @@ Usb Defbool
 Usbversion int
 Usbdevice string
 VkbDevice Defbool
+GpioDevice Defbool
 I2cDevice Defbool
 Soundhw string
 XenPlatformPci Defbool
@@ -652,6 +658,15 @@ MultiTouchHeight uint32
 MultiTouchNumContacts uint32
 }
 
+type DeviceGpio struct {
+BackendDomid Domid
+BackendDomname string
+Devid Devid
+BackendType GpioBackend
+Irq uint32
+Base uint64
+}
+
 type DeviceI2c struct {
 BackendDomid Domid
 BackendDomname string
@@ -950,6 +965,7 @@ Rdms []DeviceRdm
 Dtdevs []DeviceDtdev
 Vfbs []DeviceVfb
 Vkbs []DeviceVkb
+Gpios []DeviceGpio
 I2cs []DeviceI2c
 Vtpms []DeviceVtpm
 P9S []DeviceP9
@@ -1107,6 +1123,17 @@ Evtch int
 Rref int
 }
 
+type Gpioinfo struct {
+Backend string
+BackendId uint32
+Frontend string
+FrontendId uint32
+Devid Devid
+State int
+Evtch int
+Rref int
+}
+
 type I2cinfo struct {
 Backend string
 BackendId uint32
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index ab18c0b8c794..3bbb6d031372 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -829,6 +829,15 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_BUILDINFO_VKB_DEVICE 1
 
+/*
+ * LIBXL_HAVE_BUILDINFO_GPIO_DEVICE
+ *
+ * If this is defined, then the libxl_domain_build_info structure will
+ * contain a boolean hvm.gpio_device which instructs libxl whether to include
+ * a gpio at build time or not.
+ */
+#define LIBXL_HAVE_BUILDINFO_GPIO_DEVICE 1
+
 /*
  * LIBXL_HAVE_BUILDINFO_I2C_DEVICE
  *
@@ -2406,6 +2415,29 @@ int libxl_device_vkb_getinfo(libxl_ctx *ctx, uint32_t domid,
                              libxl_vkbinfo *vkbinfo)
                              LIBXL_EXTERNAL_CALLERS_ONLY;
 
+/* GPIO */
+int libxl_device_gpio_add(libxl_ctx *ctx, uint32_t domid, libxl_device_gpio *gpio,
+                         const libxl_asyncop_how *ao_how)
+                         LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_remove(libxl_ctx *ctx, uint32_t domid,
+                            libxl_device_gpio *gpio,
+                            const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_gpio *gpio,
+                             const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+
+libxl_device_gpio *libxl_device_gpio_list(libxl_ctx *ctx,
+                                        uint32_t domid, int *num)
+                                        LIBXL_EXTERNAL_CALLERS_ONLY;
+void libxl_device_gpio_list_free(libxl_device_gpio* list, int num)
+                                LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_gpio *gpio,
+                             libxl_gpioinfo *gpioinfo)
+                             LIBXL_EXTERNAL_CALLERS_ONLY;
+
 /* I2C */
 int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
                          const libxl_asyncop_how *ao_how)
diff --git a/tools/include/libxl_utils.h b/tools/include/libxl_utils.h
index 72b7796b7e4b..91f5c68172cb 100644
--- a/tools/include/libxl_utils.h
+++ b/tools/include/libxl_utils.h
@@ -83,6 +83,9 @@ int libxl_devid_to_device_usbctrl(libxl_ctx *ctx, uint32_t domid,
 int libxl_devid_to_device_vkb(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_vkb *vkb);
 
+int libxl_devid_to_device_gpio(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_gpio *gpio);
+
 int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_i2c *i2c);
 
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 961bdd33297b..7fae83100829 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -113,6 +113,7 @@ OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
 OBJS-y += libxl_i2c.o
+OBJS-y += libxl_gpio.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 84fe9f80c8fe..98a27ff8c005 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -375,6 +375,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         libxl_defbool_setdefault(&b_info->u.hvm.altp2m,             false);
         libxl_defbool_setdefault(&b_info->u.hvm.usb,                false);
         libxl_defbool_setdefault(&b_info->u.hvm.vkb_device,         true);
+        libxl_defbool_setdefault(&b_info->u.hvm.gpio_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.i2c_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.xen_platform_pci,   true);
 
@@ -1754,6 +1755,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_console console;
         libxl__device device;
         libxl_device_vkb vkb;
+        libxl_device_gpio gpio;
         libxl_device_i2c i2c;
 
         init_console_info(gc, &console, 0);
@@ -1767,6 +1769,12 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
             libxl_device_vkb_dispose(&vkb);
         }
 
+        if (libxl_defbool_val(d_config->b_info.u.hvm.gpio_device)) {
+            libxl_device_gpio_init(&gpio);
+            libxl__device_add(gc, domid, &libxl__gpio_devtype, &gpio);
+            libxl_device_gpio_dispose(&gpio);
+        }
+
         if (libxl_defbool_val(d_config->b_info.u.hvm.i2c_device)) {
             libxl_device_i2c_init(&i2c);
             libxl__device_add(gc, domid, &libxl__i2c_devtype, &i2c);
@@ -1805,6 +1813,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
                               &d_config->vkbs[i]);
         }
 
+        for (i = 0; i < d_config->num_gpios; i++) {
+            libxl__device_add(gc, domid, &libxl__gpio_devtype,
+                              &d_config->gpios[i]);
+        }
+
         for (i = 0; i < d_config->num_i2cs; i++) {
             libxl__device_add(gc, domid, &libxl__i2c_devtype,
                               &d_config->i2cs[i]);
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 9340ae4628a2..124b73f1dd00 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2096,6 +2096,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
                                         const libxl_domain_config *guest_config,
                                         libxl_device_vfb *vfb,
                                         libxl_device_vkb *vkb,
+                                        libxl_device_gpio *gpio,
                                         libxl_device_i2c *i2c)
 {
     const libxl_domain_build_info *b_info = &guest_config->b_info;
@@ -2105,6 +2106,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
 
     libxl_device_vfb_init(vfb);
     libxl_device_vkb_init(vkb);
+    libxl_device_gpio_init(gpio);
     libxl_device_i2c_init(i2c);
 
     vfb->backend_domid = 0;
@@ -2116,6 +2118,9 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
     vkb->backend_domid = 0;
     vkb->devid = 0;
 
+    gpio->backend_domid = 0;
+    gpio->devid = 0;
+
     i2c->backend_domid = 0;
     i2c->devid = 0;
 
@@ -2281,6 +2286,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
     int ret;
     libxl_device_vfb *vfb;
     libxl_device_vkb *vkb;
+    libxl_device_gpio *gpio;
     libxl_device_i2c *i2c;
     char **args;
     struct xs_permissions perm[2];
@@ -2354,12 +2360,15 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
         || libxl_defbool_val(guest_config->b_info.u.hvm.sdl.enable)) {
         GCNEW(vfb);
         GCNEW(vkb);
+        GCNEW(gpio);
         GCNEW(i2c);
-        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, i2c);
+        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, gpio, i2c);
         dm_config->vfbs = vfb;
         dm_config->num_vfbs = 1;
         dm_config->vkbs = vkb;
         dm_config->num_vkbs = 1;
+        dm_config->gpios = gpio;
+        dm_config->num_gpios = 1;
         dm_config->i2cs = i2c;
         dm_config->num_i2cs = 1;
     }
@@ -2503,6 +2512,12 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
         if (ret) goto out;
     }
 
+    if (dm_config->num_gpios) {
+        ret = libxl__device_add(gc, dm_domid, &libxl__gpio_devtype,
+                                &dm_config->gpios[0]);
+        if (ret) goto out;
+    }
+
     if (dm_config->num_i2cs) {
         ret = libxl__device_add(gc, dm_domid, &libxl__i2c_devtype,
                                 &dm_config->i2cs[0]);
diff --git a/tools/libs/light/libxl_gpio.c b/tools/libs/light/libxl_gpio.c
new file mode 100644
index 000000000000..1597f0ac7cea
--- /dev/null
+++ b/tools/libs/light/libxl_gpio.c
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_gpio_setdefault(libxl__gc *gc, uint32_t domid,
+                                        libxl_device_gpio *gpio, bool hotplug)
+{
+    if (gpio->backend_type != LIBXL_GPIO_BACKEND_VIRTIO) {
+        gpio->backend_type = LIBXL_GPIO_BACKEND_VIRTIO;
+    }
+
+    return libxl__resolve_domid(gc, gpio->backend_domname, &gpio->backend_domid);
+}
+
+static int libxl__device_gpio_dm_needed(void *e, uint32_t domid)
+{
+    libxl_device_gpio *elem = e;
+
+    return elem->backend_type == LIBXL_GPIO_BACKEND_VIRTIO;
+}
+
+static int libxl__set_xenstore_gpio(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_gpio *gpio,
+                                   flexarray_t *back, flexarray_t *front,
+                                   flexarray_t *ro_front)
+{
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", gpio->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", gpio->base));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", gpio->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", gpio->base));
+
+    return 0;
+}
+
+static int libxl__gpio_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                    libxl_devid devid,
+                                    libxl_device_gpio *gpio)
+{
+    const char *be_path, *fe_path, *tmp;
+    libxl__device dev;
+    int rc;
+
+    gpio->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/frontend", libxl_path),
+                                  &fe_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &gpio->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__parse_backend_path(gc, be_path, &dev);
+    if (rc) goto out;
+
+    gpio->backend_type = LIBXL_GPIO_BACKEND_VIRTIO;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        gpio->irq = strtoul(tmp, NULL, 0);
+    }
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        gpio->base = strtoul(tmp, NULL, 0);
+    }
+
+    rc = 0;
+
+out:
+
+    return rc;
+}
+
+static int libxl__device_from_gpio(libxl__gc *gc, uint32_t domid,
+                                  libxl_device_gpio *type, libxl__device *device)
+{
+    device->backend_devid   = type->devid;
+    device->backend_domid   = type->backend_domid;
+    device->backend_kind    = LIBXL__DEVICE_KIND_GPIO;
+    device->devid           = type->devid;
+    device->domid           = domid;
+    device->kind            = LIBXL__DEVICE_KIND_GPIO;
+
+    return 0;
+}
+
+int libxl_device_gpio_add(libxl_ctx *ctx, uint32_t domid, libxl_device_gpio *gpio,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
+    rc = libxl__device_add(gc, domid, &libxl__gpio_devtype, gpio);
+    if (rc) {
+        LOGD(ERROR, domid, "Unable to add gpio device");
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, rc);
+    return AO_INPROGRESS;
+}
+
+int libxl_devid_to_device_gpio(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_gpio *gpio)
+{
+    GC_INIT(ctx);
+
+    libxl_device_gpio *gpios = NULL;
+    int n, i;
+    int rc;
+
+    libxl_device_gpio_init(gpio);
+
+    gpios = libxl__device_list(gc, &libxl__gpio_devtype, domid, &n);
+
+    if (!gpios) { rc = ERROR_NOTFOUND; goto out; }
+
+    for (i = 0; i < n; ++i) {
+        if (devid == gpios[i].devid) {
+            libxl_device_gpio_copy(ctx, gpio, &gpios[i]);
+            rc = 0;
+            goto out;
+        }
+    }
+
+    rc = ERROR_NOTFOUND;
+
+out:
+
+    if (gpios)
+        libxl__device_list_free(&libxl__gpio_devtype, gpios, n);
+
+    GC_FREE;
+    return rc;
+}
+
+int libxl_device_gpio_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_gpio *gpio,
+                             libxl_gpioinfo *info)
+{
+    GC_INIT(ctx);
+    char *libxl_path, *dompath, *devpath;
+    char *val;
+    int rc;
+
+    libxl_gpioinfo_init(info);
+    dompath = libxl__xs_get_dompath(gc, domid);
+    info->devid = gpio->devid;
+
+    devpath = libxl__domain_device_frontend_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_GPIO);
+    libxl_path = libxl__domain_device_libxl_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_GPIO);
+
+    info->backend = xs_read(ctx->xsh, XBT_NULL,
+                            GCSPRINTF("%s/backend", libxl_path),
+                            NULL);
+    if (!info->backend) { rc = ERROR_FAIL; goto out; }
+
+    rc = libxl__backendpath_parse_domid(gc, info->backend, &info->backend_id);
+    if (rc) goto out;
+
+    val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", devpath));
+    info->state = val ? strtoul(val, NULL, 10) : -1;
+
+    info->frontend = xs_read(ctx->xsh, XBT_NULL,
+                             GCSPRINTF("%s/frontend", libxl_path),
+                             NULL);
+    info->frontend_id = domid;
+
+    rc = 0;
+
+out:
+     GC_FREE;
+     return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(gpio)
+
+#define libxl__add_gpios NULL
+#define libxl_device_gpio_compare NULL
+
+LIBXL_DEFINE_DEVICE_LIST(gpio)
+LIBXL_DEFINE_DEVICE_REMOVE(gpio)
+
+DEFINE_DEVICE_TYPE_STRUCT(gpio, GPIO, gpios,
+    .skip_attach = 1,
+    .dm_needed = libxl__device_gpio_dm_needed,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_gpio,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__gpio_from_xenstore
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index a8904cfea427..a64d0cb63179 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4003,6 +4003,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__gpio_devtype;
 extern const libxl__device_type libxl__i2c_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 014a3ea8364c..4c476a325e9d 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,10 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_gpio_backend = Enumeration("gpio_backend", [
+    (0, "VIRTIO")
+    ])
+
 libxl_i2c_backend = Enumeration("i2c_backend", [
     (0, "VIRTIO")
     ])
@@ -630,6 +634,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        # - "mouse" for PS/2 protocol relative mouse
                                        ("usbdevice",        string),
                                        ("vkb_device",       libxl_defbool),
+                                       ("gpio_device",       libxl_defbool),
                                        ("i2c_device",       libxl_defbool),
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
@@ -710,6 +715,15 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_gpio = Struct("device_gpio", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("devid", libxl_devid),
+    ("backend_type", libxl_gpio_backend),
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_i2c = Struct("device_i2c", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -996,6 +1010,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("gpios", Array(libxl_device_gpio, "num_gpios")),
     ("i2cs", Array(libxl_device_i2c, "num_i2cs")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
@@ -1160,6 +1175,15 @@ libxl_vkbinfo = Struct("vkbinfo", [
     ("rref", integer)
     ], dir=DIR_OUT)
 
+libxl_gpioinfo = Struct("gpioinfo", [
+    ("backend", string),
+    ("backend_id", uint32),
+    ("frontend", string),
+    ("frontend_id", uint32),
+    ("devid", libxl_devid),
+    ("state", integer),
+    ], dir=DIR_OUT)
+
 libxl_i2cinfo = Struct("i2cinfo", [
     ("backend", string),
     ("backend_id", uint32),
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index 1d83c600aaaf..253faedf235f 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -34,6 +34,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
     (18, "I2C"),
+    (19, "GPIO"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
index a9db0b97d80f..ffab4b362d2a 100644
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
 functions = { # ( name , [type1,type2,....] )
     "device_vfb":     DEVICE_FUNCTIONS,
     "device_vkb":     DEVICE_FUNCTIONS,
+    "device_gpio":     DEVICE_FUNCTIONS,
     "device_i2c":     DEVICE_FUNCTIONS,
     "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
                       [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
index cdf473f4ed57..0114cc22a1b6 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
 DEVICE_ADDREMOVE(nic)
 DEVICE_ADDREMOVE(vfb)
 DEVICE_ADDREMOVE(vkb)
+DEVICE_ADDREMOVE(gpio)
 DEVICE_ADDREMOVE(i2c)
 DEVICE_ADDREMOVE(pci)
 _DEVICE_ADDREMOVE(disk, cdrom, insert)
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index 06801962f11e..34ff203bfd86 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -23,7 +23,7 @@ XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o
 XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
 XL_OBJS += xl_info.o xl_console.o xl_misc.o
 XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
-XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_i2c.o
+XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_gpio.o xl_i2c.o
 
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
 $(XL_OBJS): CFLAGS += $(CFLAGS_XL)
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 28618326149e..dfa557077631 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -176,6 +176,9 @@ int main_vsnddetach(int argc, char **argv);
 int main_vkbattach(int argc, char **argv);
 int main_vkblist(int argc, char **argv);
 int main_vkbdetach(int argc, char **argv);
+int main_gpioattach(int argc, char **argv);
+int main_gpiolist(int argc, char **argv);
+int main_gpiodetach(int argc, char **argv);
 int main_i2cattach(int argc, char **argv);
 int main_i2clist(int argc, char **argv);
 int main_i2cdetach(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index c409ab1578d4..0c0d32b2e25b 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -406,6 +406,21 @@ const struct cmd_spec cmd_table[] = {
       "Destroy a domain's virtual keyboard device",
       "<Domain> <DevId>",
     },
+    { "gpio-attach",
+      &main_gpioattach, 1, 1,
+      "Create a new virtual gpio device",
+      "<Domain> <gpio-spec-component(s)>...",
+    },
+    { "gpio-list",
+      &main_gpiolist, 0, 0,
+      "List virtual gpio devices for a domain",
+      "<Domain(s)>",
+    },
+    { "gpio-detach",
+      &main_gpiodetach, 0, 1,
+      "Destroy a domain's virtual gpio device",
+      "<Domain> <DevId>",
+    },
     { "i2c-attach",
       &main_i2cattach, 1, 1,
       "Create a new virtual i2c device",
diff --git a/tools/xl/xl_gpio.c b/tools/xl/xl_gpio.c
new file mode 100644
index 000000000000..fa63b01ab180
--- /dev/null
+++ b/tools/xl/xl_gpio.c
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include <stdlib.h>
+
+#include <libxl.h>
+#include <libxl_utils.h>
+#include <libxlutil.h>
+
+#include "xl.h"
+#include "xl_utils.h"
+#include "xl_parse.h"
+
+int main_gpioattach(int argc, char **argv)
+{
+    int opt;
+    int rc;
+    uint32_t domid;
+    libxl_device_gpio gpio;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-attach", 2) {
+        /* No options */
+    }
+
+    libxl_device_gpio_init(&gpio);
+    domid = find_domain(argv[optind++]);
+
+    for (argv += optind, argc -= optind; argc > 0; ++argv, --argc) {
+        rc = parse_gpio_config(&gpio, *argv);
+        if (rc) goto out;
+    }
+
+    if (dryrun_only) {
+        char *json = libxl_device_gpio_to_json(ctx, &gpio);
+        printf("gpio: %s\n", json);
+        free(json);
+        goto done;
+    }
+
+    if (libxl_device_gpio_add(ctx, domid, &gpio, 0)) {
+        fprintf(stderr, "libxl_device_gpio_add failed.\n");
+        rc = ERROR_FAIL; goto out;
+    }
+
+done:
+    rc = 0;
+
+out:
+    libxl_device_gpio_dispose(&gpio);
+    return rc;
+}
+
+int main_gpiolist(int argc, char **argv)
+{
+    int opt;
+    libxl_device_gpio *gpios;
+    libxl_gpioinfo gpioinfo;
+    int nb, i;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-list", 1) {
+        /* No options */
+    }
+
+    /*      Idx  BE   Hdl  Sta  evch ref ID    BE-type BE-path */
+    printf("%-3s %-2s %-6s %-5s %-6s %6s %-10s %-10s %-30s\n",
+           "Idx", "BE", "handle", "state", "evt-ch", "ref",
+           "ID", "BE-type", "BE-path");
+    for (argv += optind, argc -= optind; argc > 0; --argc, ++argv) {
+        uint32_t domid = find_domain(*argv);
+        gpios = libxl_device_gpio_list(ctx, domid, &nb);
+        if (!gpios) {
+            continue;
+        }
+        for (i = 0; i < nb; ++i) {
+            if (libxl_device_gpio_getinfo(ctx, domid, &gpios[i], &gpioinfo) == 0) {
+                printf("%-3d %-2d %6d %5d %-10s %-30s\n",
+                       gpioinfo.devid, gpioinfo.backend_id,
+                       gpioinfo.devid, gpioinfo.state,
+                       libxl_gpio_backend_to_string(gpios[i].backend_type),
+                       gpioinfo.backend);
+                libxl_gpioinfo_dispose(&gpioinfo);
+            }
+        }
+        libxl_device_gpio_list_free(gpios, nb);
+    }
+    return 0;
+}
+
+int main_gpiodetach(int argc, char **argv)
+{
+    uint32_t domid, devid;
+    int opt, rc;
+    libxl_device_gpio gpio;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-detach", 2) {
+        /* No options */
+    }
+
+    domid = find_domain(argv[optind++]);
+    devid = atoi(argv[optind++]);
+
+    libxl_device_gpio_init(&gpio);
+
+    if (libxl_devid_to_device_gpio(ctx, domid, devid, &gpio)) {
+        fprintf(stderr, "Error: Device %d not connected.\n", devid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl_device_gpio_remove(ctx, domid, &gpio, 0);
+    if (rc) {
+        fprintf(stderr, "libxl_device_gpio_remove failed.\n");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = 0;
+
+out:
+    libxl_device_gpio_dispose(&gpio);
+    return rc;
+}
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index b91ffba14d40..181379cd5d19 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,74 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+int parse_gpio_config(libxl_device_gpio *gpio, char *token)
+{
+    char *oparg;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        gpio->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("backend-type", token, oparg)) {
+        libxl_gpio_backend backend_type;
+        if (libxl_gpio_backend_from_string(oparg, &backend_type)) {
+            fprintf(stderr, "Unknown backend_type \"%s\" in gpio spec\n",
+                            oparg);
+            return -1;
+        }
+        gpio->backend_type = backend_type;
+    } else if (MATCH_OPTION("irq", token, oparg)) {
+        gpio->irq = strtoul(oparg, NULL, 0);
+    } else if (MATCH_OPTION("base", token, oparg)) {
+        gpio->base = strtoul(oparg, NULL, 0);
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in gpio spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_gpio_list(const XLU_Config *config,
+                           libxl_domain_config *d_config)
+{
+    XLU_ConfigList *gpios;
+    const char *item;
+    char *buf = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "gpio", &gpios, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(gpios, entry)) != NULL) {
+            libxl_device_gpio *gpio;
+            char *p;
+
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios,
+                                    d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
+            buf = strdup(item);
+
+            p = strtok (buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                rc = parse_gpio_config(gpio, p);
+                if (rc) goto out;
+
+                p = strtok (NULL, ",");
+            }
+
+            entry++;
+        }
+    }
+
+    rc = 0;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 int parse_i2c_config(libxl_device_i2c *i2c, char *token)
 {
     char *oparg;
@@ -2377,15 +2445,18 @@ void parse_config_data(const char *config_source,
 
     d_config->num_vfbs = 0;
     d_config->num_vkbs = 0;
+    d_config->num_gpios = 0;
     d_config->num_i2cs = 0;
     d_config->vfbs = NULL;
     d_config->vkbs = NULL;
+    d_config->gpios = NULL;
     d_config->i2cs = NULL;
 
     if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
         while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_gpio *gpio;
             libxl_device_i2c *i2c;
 
             char *buf2 = strdup(buf);
@@ -2397,6 +2468,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios, d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
             i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
                                     libxl_device_i2c_init);
 
@@ -2657,6 +2731,7 @@ void parse_config_data(const char *config_source,
         if (vnc_enabled) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_gpio *gpio;
             libxl_device_i2c *i2c;
 
             vfb = ARRAY_EXTEND_INIT(d_config->vfbs, d_config->num_vfbs,
@@ -2665,6 +2740,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios, d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
             i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
                                     libxl_device_i2c_init);
 
@@ -2782,6 +2860,7 @@ void parse_config_data(const char *config_source,
             exit(-ERROR_FAIL);
         }
         xlu_cfg_get_defbool(config, "vkb_device", &b_info->u.hvm.vkb_device, 0);
+        xlu_cfg_get_defbool(config, "gpio_device", &b_info->u.hvm.gpio_device, 0);
         xlu_cfg_get_defbool(config, "i2c_device", &b_info->u.hvm.i2c_device, 0);
         xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
         xlu_cfg_get_defbool(config, "xen_platform_pci",
@@ -2831,6 +2910,7 @@ void parse_config_data(const char *config_source,
     }
 
     parse_vkb_list(config, d_config);
+    parse_gpio_list(config, d_config);
     parse_i2c_list(config, d_config);
 
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index 4b972d525199..6e041abe5d50 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -36,6 +36,7 @@ int parse_nic_config(libxl_device_nic *nic, XLU_Config **config, char *token);
 int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token);
 int parse_vsnd_item(libxl_device_vsnd *vsnd, const char *spec);
 int parse_vkb_config(libxl_device_vkb *vkb, char *token);
+int parse_gpio_config(libxl_device_gpio *gpio, char *token);
 int parse_i2c_config(libxl_device_i2c *i2c, char *token);
 
 int match_option_size(const char *prefix, size_t len,
diff --git a/tools/xl/xl_sxp.c b/tools/xl/xl_sxp.c
index a44c765aa515..632e1f338d09 100644
--- a/tools/xl/xl_sxp.c
+++ b/tools/xl/xl_sxp.c
@@ -140,6 +140,8 @@ void printf_info_sexp(int domid, libxl_domain_config *d_config, FILE *fh)
         fprintf(fh, "\t\t\t(usbdevice %s)\n", b_info->u.hvm.usbdevice);
         fprintf(fh, "\t\t\t(vkb_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vkb_device));
+        fprintf(fh, "\t\t\t(gpio_device %s)\n",
+               libxl_defbool_to_string(b_info->u.hvm.gpio_device));
         fprintf(fh, "\t\t\t(i2c_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.i2c_device));
         fprintf(fh, "\t\t)\n");
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:35:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:35:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382691.617726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtR-00077I-F3; Tue, 09 Aug 2022 05:35:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382691.617726; Tue, 09 Aug 2022 05:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtR-000753-90; Tue, 09 Aug 2022 05:35:05 +0000
Received: by outflank-mailman (input) for mailman id 382691;
 Tue, 09 Aug 2022 05:35:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLHtQ-0006dh-FZ
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 05:35:04 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00cb5078-17a5-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 07:34:57 +0200 (CEST)
Received: by mail-pj1-x1034.google.com with SMTP id
 t22-20020a17090a449600b001f617f2bf3eso779512pjg.0
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 22:35:03 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 j8-20020a170903024800b0016f0939080asm9841381plh.249.2022.08.08.22.35.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 22:35:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00cb5078-17a5-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=LLdxJR0I0KlWe+VourMuHy/5SrI2DecWdGVQY+6l0fk=;
        b=yb7fJ3Rlyi7pqniWC3V1Hyq24bYKaCbdh/rnacELcRgF/yeq4X2NTyhYQA+thM6Zfh
         GW3a/IH1bnj2MfGDAKsVqsRGkRt6aieIebz2oLDhiCXG47HQ/kmZpJ5CCtdrc8ebqxy8
         nflypvXXp2shqgA6APRwnehqjMHlJ4eh2GyXm42okdsKk1gbsEVHaR49kJUGaRYQh+hL
         9Xm5qkBpNzP1d/uRKdIE5m7uCqwbia9BQsDtMqHpzgyeCel8rTawhTWqpJOauGgWcQNz
         t5S9WGN6pYlBpWSAwP2tfY7h2SX+F21tWAk9NfyoTUsOVP6zwTUgt0TRESCFc3aVi5CB
         URFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=LLdxJR0I0KlWe+VourMuHy/5SrI2DecWdGVQY+6l0fk=;
        b=dh/U7BVGMj9jdKOdMDd0XMdWK+0q9prNKUpBGCFxYUemCrV9YQmQvJzdF8K/3vmZGg
         2ZMZj9qQR8Rmdl3b+SDUOKfXHs2DlkO14JknS7OpPXzzSqXYjRUxo8lUfv/gQIoJx0c1
         Ovgdv7dXTgr8ZuWy9iERuTnhMwzGVMvmMsIQX6+6GPnV9dQA7tS0+Te/YuZ26zhwZl9/
         9r1nTxYw2g8dvKsBJl96irmpSYVhyDxKmdPX9pjHXf0KVypigctiNYvTbOzwcDN7XFh6
         ng1zJ08bsxvSZxhGnOftcm9Ap5azlXqhCgdWJEb20u+l9jQmrhjrJE4H/UePz5JuO/af
         rmsA==
X-Gm-Message-State: ACgBeo11fZJ3vs9haG5DjeXWcggKhIg8Sm3erLvc7phW51ueDFDOn1Bj
	i3ZUMuz7QtDY0+88g719xiuQkCDKRq8TeQ==
X-Google-Smtp-Source: AA6agR5WXwm6bXsxWu+JiXGozCZ9DPjjaZTnOTV2c3XsEJyI37ETAYJg4eaXsGv577HJbC76MpFkRQ==
X-Received: by 2002:a17:902:f712:b0:171:29d0:6f9f with SMTP id h18-20020a170902f71200b0017129d06f9fmr171336plo.84.1660023302320;
        Mon, 08 Aug 2022 22:35:02 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V4 4/6] libxl: arm: Split make_virtio_mmio_node()
Date: Tue,  9 Aug 2022 11:04:31 +0530
Message-Id: <25fa5be0459f2f790f8420540840ea951a2f872e.1660023094.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1660023094.git.viresh.kumar@linaro.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

make_virtio_mmio_node() creates the DT node for simple MMIO devices
currently, i.e. the ones that don't require any additional properties.

In order to allow using it for other complex device types, split the
functionality into two, one where the fdt node isn't closed and the
other one to create a simple DT node.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 4a750852b671..891cb6ef2674 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -899,9 +899,8 @@ static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
     return 0;
 }
 
-static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
-                                 uint64_t base, uint32_t irq,
-                                 uint32_t backend_domid)
+static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, uint32_t backend_domid)
 {
     int res;
     gic_interrupt intr;
@@ -934,10 +933,18 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
         if (res) return res;
     }
 
-    res = fdt_end_node(fdt);
+    return res;
+}
+
+static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
     if (res) return res;
 
-    return 0;
+    return fdt_end_node(fdt);
 }
 
 static const struct arch_info *get_arch_info(libxl__gc *gc,
@@ -1260,8 +1267,8 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
                     iommu_created = true;
                 }
 
-                FDT( make_virtio_mmio_node(gc, fdt, disk->base, disk->irq,
-                                           disk->backend_domid) );
+                FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
+                                            disk->irq, disk->backend_domid) );
             }
         }
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:35:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382692.617742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtU-0007dD-RW; Tue, 09 Aug 2022 05:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382692.617742; Tue, 09 Aug 2022 05:35:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtU-0007cw-NE; Tue, 09 Aug 2022 05:35:08 +0000
Received: by outflank-mailman (input) for mailman id 382692;
 Tue, 09 Aug 2022 05:35:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLHtT-0006BY-Ep
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 05:35:07 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0618726f-17a5-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 07:35:06 +0200 (CEST)
Received: by mail-pl1-x633.google.com with SMTP id y1so4813446plb.2
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 22:35:06 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 i15-20020a17090332cf00b0016cf3f124e5sm9880956plr.131.2022.08.08.22.35.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 22:35:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0618726f-17a5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=3u6sGyZ8gp270ZFZu62PvztelHz8px5vnBASNJrcqXc=;
        b=vYqXcl/FVy7OhfhUEYdwZbQalwTEDVktmnPxHHzZ82YWO59agx/VYCvxwfqsMTwB48
         wgrM65+pnC5HX1oPKguEubBhG6lVOUKKLzq3q/RbmX6wVcNayRwWNdJRNfSrqdxlqYY4
         r/z5wWUwfSnm8QjQm+nxMJAmj00UnGnGX5P7HOrCJh9F9sQgyUhw2g1Kg1as7YVrekNb
         oq5RoXJFlBUXuTNEjzYthBcqAqfbheokG7CXor0gzyuCnqt+rinBGmrmjxv29KLiHrK+
         EB0K0v0WbaUebyFus4I3kqKe+vEqlmIRtoSTwv9pRPJjcK61O3Kesy6YQwRFet2/tAPm
         Ykvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=3u6sGyZ8gp270ZFZu62PvztelHz8px5vnBASNJrcqXc=;
        b=0yld1ndz8h0E9CI68njY/wRPuziju0m1LSSKnoUYHl6D6iwkU8TpJRVnatDPL6Ca5D
         T0YmH5HPc96X/fHsDfoDkeEF47M/0oLVVI3ghdlBYnomX2fpa4ju7FuTNyGnQ8RyCR4z
         n7ecjWfl+7rWjvVJD3VYCTbuN5RNlK0uIqtvbt6Buncsi4uki6vR75a3+0tlaVhWan7i
         Htq+alOMeH2eVK72p5LsLMR6H3vLvC9Yh04BGRBnh6y54uNUptzVVefWgtzsrN3gkay+
         p8KmcuvDMsJxag4mYvVwDA9KxcCk1v7vF3nLTuxXmjKKKIlSw9P564UORqq13CDY0uwd
         UjFw==
X-Gm-Message-State: ACgBeo0QX7vWKuM3M7lolD++cB1YyvVUHtCPjBAX7NxtPPZvTb8E3bm+
	7qRhxM1EeoqotYDZl29r46EGRhxvWon3FQ==
X-Google-Smtp-Source: AA6agR4A9r463y557MIGubQxFf8sgfJEeQy4QqO4hmIauxqvHxR4UUrnEM2iYbkMu99lOvfkoVAK/g==
X-Received: by 2002:a17:902:ecc8:b0:16f:9355:c103 with SMTP id a8-20020a170902ecc800b0016f9355c103mr18093875plh.122.1660023305236;
        Mon, 08 Aug 2022 22:35:05 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V4 5/6] libxl: Allocate MMIO params for I2c device and update DT
Date: Tue,  9 Aug 2022 11:04:32 +0530
Message-Id: <762932ad90785d31039343d543da14c84ce8327d.1660023094.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1660023094.git.viresh.kumar@linaro.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch allocates Virtio MMIO params (IRQ and memory region) and pass
them to the backend, also update Guest device-tree based on Virtio I2C
DT bindings [1].

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 57 +++++++++++++++++++++++++++++++-----
 1 file changed, 50 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 891cb6ef2674..93ea8e3d3fa3 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -110,6 +110,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         }
     }
 
+    for (i = 0; i < d_config->num_i2cs; i++) {
+        libxl_device_i2c *i2c = &d_config->i2cs[i];
+
+        int rc = alloc_virtio_mmio_params(gc, &i2c->base, &i2c->irq,
+                &virtio_mmio_base, &virtio_mmio_irq);
+        if (rc)
+            return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -947,6 +956,26 @@ static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
+                                     uint32_t irq, uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    if (res) return res;
+
+    res = fdt_begin_node(fdt, "i2c");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,device22");
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1148,7 +1177,7 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
     size_t fdt_size = 0;
     int pfdt_size = 0;
     libxl_domain_build_info *const info = &d_config->b_info;
-    bool iommu_created;
+    bool iommu_needed;
     unsigned int i;
 
     const libxl_version_info *vers;
@@ -1256,22 +1285,36 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
         if (d_config->num_pcidevs)
             FDT( make_vpci_node(gc, fdt, ainfo, dom) );
 
-        iommu_created = false;
+        iommu_needed = false;
         for (i = 0; i < d_config->num_disks; i++) {
             libxl_device_disk *disk = &d_config->disks[i];
 
             if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
-                if (disk->backend_domid != LIBXL_TOOLSTACK_DOMID &&
-                    !iommu_created) {
-                    FDT( make_xen_iommu_node(gc, fdt) );
-                    iommu_created = true;
-                }
+                if (disk->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                    iommu_needed = true;
 
                 FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
                                             disk->irq, disk->backend_domid) );
             }
         }
 
+        for (i = 0; i < d_config->num_i2cs; i++) {
+            libxl_device_i2c *i2c = &d_config->i2cs[i];
+
+            if (i2c->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                iommu_needed = true;
+
+            FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq,
+                                           i2c->backend_domid) );
+        }
+
+        /*
+         * Note, this should be only called after creating all virtio-mmio
+         * device nodes
+         */
+        if (iommu_needed)
+            FDT( make_xen_iommu_node(gc, fdt) );
+
         if (pfdt)
             FDT( copy_partial_fdt(gc, fdt, pfdt) );
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:35:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:35:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382694.617753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtY-0007zd-57; Tue, 09 Aug 2022 05:35:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382694.617753; Tue, 09 Aug 2022 05:35:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtY-0007zP-1x; Tue, 09 Aug 2022 05:35:12 +0000
Received: by outflank-mailman (input) for mailman id 382694;
 Tue, 09 Aug 2022 05:35:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLHtW-0006dh-BL
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 05:35:10 +0000
Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com
 [2607:f8b0:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0446a8a2-17a5-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 07:35:03 +0200 (CEST)
Received: by mail-pf1-x431.google.com with SMTP id 130so9867402pfv.13
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 22:35:09 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 u11-20020a17090341cb00b0016be14a776asm9780535ple.286.2022.08.08.22.35.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 22:35:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0446a8a2-17a5-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=NifFepPUEguH0dl29HRZU/y8m1pbiLwFccGf0MAc2pA=;
        b=ah2SuRCjUKuhv6hVLB517eCMzsnil5+BM1eVIYMRFKCDB/Dvpg3drAYwg0yEBs2bq6
         p98EcRuCrmJInJmt0KUgy1LQ4ZEru+Hf7uZod7FYlB1RyhWbf7twlWCj43QjBJhvPbZy
         ZonQaXmY0G8LsqzoNUttBnrAGwDA+MBhRB4tB4ULXgcXA+QTIlsKAephC50pHZ1M/jey
         1XufQpw/7zREXXeH46/fv9gbM2mPLMzAidpQK5C3pd8os9rbTBRF7qmdwr2OWrtIPAex
         wMPUb49lkvTDhoMreWA1dJF0t93kVbu1uPJtedHXvCdBGUaokEgoEYIZ6pIuzlWxwY59
         lM2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=NifFepPUEguH0dl29HRZU/y8m1pbiLwFccGf0MAc2pA=;
        b=JmKKEB2OLunlUikx1OZoeKMHr/7dl82YvPFh9mnF5T6o/ULciNNg5D1HFZX/wQ+2XH
         TJN1AHr0yOrgwprz8rQ70PXzNGfPNk73RkBvrmqE+K7nw37rSHaCWC3d6VzRVNgbdibs
         dYKyzqux+CeSh5BmKOQpfSOuI6G4i7zGrD+7rb4ffQT3oftdXainb1FswW4MxRPNkUo2
         I9XgwjIM2TPOPW3yZR33KV+iT+PRGhJxfZPeCn1ImHxEjNiLIhtfTo/s9onx5+Wp2Kti
         0pwHGtaoHrSO5rodFxdnDw+x3e+hJXtOKpTUx3x9kzwEKjv/oP6IPV1UtRjBeGU6UefR
         3Skw==
X-Gm-Message-State: ACgBeo1fXmjKHpE76i8t0KzVdC9DyEr7qcF3DhiVhcVsOVxzw11BTidE
	daDtMp30cJmXRbiLwvNahV4khZ3/pf80jw==
X-Google-Smtp-Source: AA6agR5gnYMyP837LUSYvjIMwCdyIj8l6QnmsH6niTyS910SeX5CSj47a3c/PFLRrKjgXspgncMDww==
X-Received: by 2002:a65:6b8a:0:b0:3db:7dc5:fec2 with SMTP id d10-20020a656b8a000000b003db7dc5fec2mr17535630pgw.223.1660023308188;
        Mon, 08 Aug 2022 22:35:08 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH V4 6/6] libxl: Allocate MMIO params for GPIO device and update DT
Date: Tue,  9 Aug 2022 11:04:33 +0530
Message-Id: <f4c77a566ce2a141e2044c859798a11152ce1928.1660023094.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1660023094.git.viresh.kumar@linaro.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch allocates Virtio MMIO params (IRQ and memory region) and pass
them to the backend, also update Guest device-tree based on Virtio GPIO
DT bindings [1].

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 51 ++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 93ea8e3d3fa3..c0ffb7f179d4 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -119,6 +119,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
             return rc;
     }
 
+    for (i = 0; i < d_config->num_gpios; i++) {
+        libxl_device_gpio *gpio = &d_config->gpios[i];
+
+    int rc = alloc_virtio_mmio_params(gc, &gpio->base, &gpio->irq,
+            &virtio_mmio_base, &virtio_mmio_irq);
+    if (rc)
+        return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -976,6 +985,38 @@ static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt, uint64_t base,
+                                      uint32_t irq, uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    if (res) return res;
+
+    res = fdt_begin_node(fdt, "gpio");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,device29");
+    if (res) return res;
+
+    res = fdt_property(fdt, "gpio-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#gpio-cells", 2);
+    if (res) return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1308,6 +1349,16 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
                                            i2c->backend_domid) );
         }
 
+        for (i = 0; i < d_config->num_gpios; i++) {
+            libxl_device_gpio *gpio = &d_config->gpios[i];
+
+            if (gpio->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                iommu_needed = true;
+
+            FDT( make_virtio_mmio_node_gpio(gc, fdt, gpio->base, gpio->irq,
+                                            gpio->backend_domid) );
+        }
+
         /*
          * Note, this should be only called after creating all virtio-mmio
          * device nodes
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:35:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:35:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382708.617764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtk-0000nj-Ey; Tue, 09 Aug 2022 05:35:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382708.617764; Tue, 09 Aug 2022 05:35:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLHtk-0000nb-B2; Tue, 09 Aug 2022 05:35:24 +0000
Received: by outflank-mailman (input) for mailman id 382708;
 Tue, 09 Aug 2022 05:35:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6IoV=YN=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oLHtj-0000ds-7l
 for xen-devel@lists.xen.org; Tue, 09 Aug 2022 05:35:23 +0000
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
 [2607:f8b0:4864:20::1032])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f622828-17a5-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 07:35:22 +0200 (CEST)
Received: by mail-pj1-x1032.google.com with SMTP id
 q7-20020a17090a7a8700b001f300db8677so11157209pjf.5
 for <xen-devel@lists.xen.org>; Mon, 08 Aug 2022 22:35:22 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 y2-20020aa793c2000000b0052d27ccea39sm10002509pff.19.2022.08.08.22.35.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Aug 2022 22:35:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f622828-17a5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=sxsdoFrwkTGSzFfDcFGJYqH8jWwXyV+j/itYZYHO1nE=;
        b=VmBR9tX/7F9hlrCyuovy7dlFdZ/FQZXNgyFRDkz4ChyXa2m0+0dnEJYgZyptaZy5Iw
         NSIwcXSSOZeLkfpBkQLAO2mtCT5LXmqlWm7K6igMTJucC0IqHHQv/bX6x4f+wLIMrOlR
         3GdblxCk9mnR4YSiGTS2gsiwv3YxL8XJp1BiSLGZAzyQyIZjkXeWftaQecjIhYTTQkoT
         HlTsWCvplUv4JyWjSPvEdD0RnrEFXwDZQhRxXCyQfzbQ4ZXpKdUPRRCKcrItWZaZ53og
         uAV62rBgYDFnbmEE9s8LNtrwyyI/jsK5vubQLapMV0G+YKxb+ax7UGIeFsYPPoDQCNW0
         n+qA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=sxsdoFrwkTGSzFfDcFGJYqH8jWwXyV+j/itYZYHO1nE=;
        b=IDVS7aMFnfLAj6TrZ78fZ2A5flANswrY5Vi9fbH4ToA0KntEfuuU+CZhgiu2UoZ5cL
         e7WWmucwHXsSweaCKswGzLfXZQsBrgaTOrU+DLAi6/B5x+DqYGdNs2m8W6Y85kc5IrT2
         eyq4k8wUdiYvjkmvowMKALF7lsKulfiJmmFX5yLuzYptlwiTDMBKIvvU2wNosFv9AwP9
         Ti7L9kqXDwnKIHJbwqhyvhZhBgIeJ4H3VkwO2A8yT9K0ejUHaGH7u7Ym/rJVKNFwyfAM
         iuOGMkuAXV49+R+SzkjZvlq5DvYQj6vJJ+OEmX0joqKicppoSXc0tvh81P7vvNlVKw07
         PknQ==
X-Gm-Message-State: ACgBeo09jz/W4cbGY4muKrboTdNCX8Ify8aBhZbfSmAROrbD2rHPN6C3
	rRd/WpF+yiuaVxIVum0l73p8WA==
X-Google-Smtp-Source: AA6agR7GFFB5zlYYFATETkU6XTUusnM2wOXA0ekOT6Wyk9cwetCDljUZhGbmmO0aUZ2C/BeLz0dWaw==
X-Received: by 2002:a17:902:e848:b0:16f:8f:9027 with SMTP id t8-20020a170902e84800b0016f008f9027mr22128862plg.66.1660023320869;
        Mon, 08 Aug 2022 22:35:20 -0700 (PDT)
Date: Tue, 9 Aug 2022 11:05:18 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr <olekstysh@gmail.com>
Cc: xen-devel@lists.xen.org, Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH V3 3/6] libxl: arm: Create alloc_virtio_mmio_params()
Message-ID: <20220809053518.v4tk6kue23aqmtwa@vireshk-i7>
References: <cover.1659596139.git.viresh.kumar@linaro.org>
 <ae3e61fe687cb2d9dac17622da2ec81c4064db39.1659596139.git.viresh.kumar@linaro.org>
 <82a9d50c-58ef-1842-be7f-33a05d861f15@gmail.com>
 <20220809042905.stgxxaofmtmwwkp4@vireshk-i7>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220809042905.stgxxaofmtmwwkp4@vireshk-i7>

On 09-08-22, 09:59, Viresh Kumar wrote:
> There is only one use of virtio_enabled after this patch, i.e. do
> check for vpl011. Maybe we can drop the variable and use
> virtio_mmio_irq != GUEST_VIRTIO_MMIO_SPI_FIRST ?

Nevermind, after modifying code I decided to keep the variable
instead.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:43:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:43:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382746.617774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLI14-0003Li-6S; Tue, 09 Aug 2022 05:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382746.617774; Tue, 09 Aug 2022 05:42:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLI14-0003Lb-3r; Tue, 09 Aug 2022 05:42:58 +0000
Received: by outflank-mailman (input) for mailman id 382746;
 Tue, 09 Aug 2022 05:42:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLI12-0003LR-QR; Tue, 09 Aug 2022 05:42:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLI12-00076e-N6; Tue, 09 Aug 2022 05:42:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLI12-0000vD-Bb; Tue, 09 Aug 2022 05:42:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLI12-0008LY-B8; Tue, 09 Aug 2022 05:42:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ufkmE1CS78qT9rLg078qzURQTVRiXVZ6rvQZ/K/y9fo=; b=wgnGgjaPJGAjno6m7ihi9iHQjo
	X9XN9aSRlWbFAs6OwW6YH9zw6xCvIV/7BEWIs/PUt3FnfAhJ1zSfT5IBfhX63UsEXRpDsqU2mIOuz
	hSb9ZYSd+UHqsmUjSy84pvNHjs52pK7PwjlkfQbKPSOtwn94WFnOlye4hQYdI0FwgXDQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172316-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172316: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=1da2012d938f141821740324e2dceee1b4cfa76d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 05:42:56 +0000

flight 172316 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172316/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 1da2012d938f141821740324e2dceee1b4cfa76d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    4 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   40 attempts
Testing same since   172311  2022-08-08 23:40:26 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 1da2012d938f141821740324e2dceee1b4cfa76d
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Jul 26 17:54:42 2022 +0100

    PrmPkg: Add details on AArch64 build to the Readme.
    
    Specify how to build the PrmPkg for the AArch64 architecture.
    Make the 2 following notes:
     - the PrmPkg has only been tested on AArch64 using the GCC5
    toolchain.
     - All symbols to be listed in the PRMT as well as the
    PrmModuleExportDescriptor must be explicitly preserved by resorting to
    the --require-defined linker flag.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 57faeb782a505935363936ab2edce282d3afc4d5
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Fri Dec 18 14:01:55 2020 +0000

    PrmPkg: Support AArch64 builds using GCC
    
    Add support to build PrmPkg for AArch64 using the GCC compiler.
    
    Add AARCH64 architecture to the list of supported architectures.
    Add BaseStackCheck library to allow for Prm module builds on AARCH64.
    
    Also update the CI to add dependency on ArmPkg.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 21200d9fe6d5b8078b93dbddfbcdf536308b67e4
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Apr 5 18:57:23 2022 +0100

    PrmPkg: Build Prm Samples with GCC for AARCH64
    
    - Add the --prm flag to the GENFW_FLAGS
    - Add the --no-gc-section to the linker flags so that apparently
    unreferenced symbols are not prematurely removed from the .dll which
    is used to generate the Prm module .efi.
    - Force the linker to maintain the PrmModuleExportDescriptor symbol.
    - Force the linker to maintain the PRM handler funtion's symbol.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 9f197e44b102a8d7d457d2cb4f54967681c858a9
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Apr 5 18:53:25 2022 +0100

    PrmPkg: Enable external visibility on PRM symbols
    
    Enable GCC compilations to keep external symbols when generating a PRM
    module.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 1ee162281710650d444c554f9fdbbd404abd9677
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Fri Oct 29 17:48:26 2021 +0100

    Basetools/GenFw: Allow AARCH64 builds to use the --prm flag
    
    The GenFw invocation with the --prm flag was previously reserved for
    X64.
    AArch64 platforms, built with GCC5, can also deploy PRM modules, hence
    the --prm flag is also applicable in builds targeting the AARCH64
    architecture.
    
    This commit enables the --prm flag to be used for EDK2 builds targeting
    AARCH64.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 05:57:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 05:57:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382760.617786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLIEx-0004yL-Hn; Tue, 09 Aug 2022 05:57:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382760.617786; Tue, 09 Aug 2022 05:57:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLIEx-0004yE-F2; Tue, 09 Aug 2022 05:57:19 +0000
Received: by outflank-mailman (input) for mailman id 382760;
 Tue, 09 Aug 2022 05:57:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLIEw-0004xz-0R; Tue, 09 Aug 2022 05:57:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLIEv-0007LE-Un; Tue, 09 Aug 2022 05:57:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLIEv-0001Os-2G; Tue, 09 Aug 2022 05:57:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLIEv-0005en-1n; Tue, 09 Aug 2022 05:57:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OySnhIBlsUOB1lBu2OT8X9tV0ThCrAA24fKH8bjOg7I=; b=U3DnEJYkGYjGtSM/EJWYbu+2B0
	uZtsbMFbP1gKSd6ZQ3Mzzce6ecPM0qRhpmToRbNpBSK7Filb16p7iD+Bt/ZOYAc5E+tD8hHzhJNE3
	SKH4boD2y1M8VL9JM4AONKrPEB9mAw35tx4I4Mb7yr280et33kb0sZXTKCGXLVmTESw4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172307-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172307: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=0b86b4e0dabbef15ba8d50e13bfecc582df70653
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 05:57:17 +0000

flight 172307 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172307/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                0b86b4e0dabbef15ba8d50e13bfecc582df70653
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    5 days
Failing since        172148  2022-08-04 21:39:38 Z    4 days   12 attempts
Testing same since   172307  2022-08-08 19:40:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 658 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 06:15:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 06:15:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382773.617796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLIWd-0007Re-27; Tue, 09 Aug 2022 06:15:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382773.617796; Tue, 09 Aug 2022 06:15:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLIWc-0007RX-Vk; Tue, 09 Aug 2022 06:15:34 +0000
Received: by outflank-mailman (input) for mailman id 382773;
 Tue, 09 Aug 2022 06:15:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLIWb-0007R8-44
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 06:15:33 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20060.outbound.protection.outlook.com [40.107.2.60])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id abb56666-17aa-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 08:15:31 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR0402MB2848.eurprd04.prod.outlook.com (2603:10a6:800:b5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Tue, 9 Aug
 2022 06:15:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 06:15:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abb56666-17aa-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GCSJXukgBouTtyLvAB2G/88ff52BmacMzPZiz122Vwbj5VYExuqYpMI/SAH7OrdGuWMjTh5PpBqEOGm4uSpR3w/ecRRP4v2ZgctKnsKlfdc4jjZfkaGOMXr8vEWEeRw2idC9zEgKQINWekMWGpkwZNs9CDuHeCo5t/C5VQD8efPmcaxxNKpkZQ4ne03KxBMAlpgApNyUb60FQPW31kzQsaaIXuByLrDuBQDP10afloiah5jnwm1vOnYOE6pMBPCQgs8ghi4zlK6vT5wkxnz2tWdtnOHvmdY6neifSvjyrzzWvqelE6dy1YPFRw3ToFvxmlv1prn26RnGn6TILvpejg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ot2c4bL9669ksxKlItYytiYsvDYnn9xXJUSAVuSlkXw=;
 b=mD2frlOzcpS8SB1iMRtYAo61rYbGjBlX/jiZfb5I6R0iBa6na2Mo1WXEbfJ/7O40jZGi5GuvMNKCQxMjxhWEmcjm/0umuDshAYwcKn9pruYW7eNSS9K/r4sEJOGhAKBMzoNuaOzpBG424GYFSXnuLcsQ1my+XIBf3/W2QzpW8D6Oct7g+HIf1KOPtU2inUDKu1vBXPYy6MPMDN4hktgeIf4wrEnO/HkLCIcJaNBdJ5l1Fh80US3EhC6CsMVebnY1Y55Que1hGmH1xcPvS9HC9tp187h1U5uHnI+8pUCDBhJi0Sf9sfCWppfSKJPFt3Di5jKRTRJ3G3QUNpqSI4AWJw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ot2c4bL9669ksxKlItYytiYsvDYnn9xXJUSAVuSlkXw=;
 b=WHXtf6AuDc8Z4UxxEMna+YnKkW62+Q++n/Sr86jCsH2Ig5Z/FObA86aFkYGu6J/wlAqNDUy/QU/Hr8CmBGn9BanhFK0GeUZmS9FXcosvWVV6I579pgDMgGP8Qv8VSRVWBNA4IQY+aw7kSS1RexuZOnu0tHMsH9cSmnH437oJ7SXUpnZnESvuJcvs7+V2bHcF7e8yh6YbORDriAvxPgXyOjWWa+nyvUvpe6UFzgjfisVotHs90Qha3bvs+lcn87Hou2bPu+L6u+nKSjn2G0P4AdeR/gqCIVr0EHyWn+UjfAIZPCOkSVIwUAw2BC3gCm0o16L5KiYp2jQNKQmDYNaTMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <70871d00-4dc3-74b6-4c52-c9dcefeb6363@suse.com>
Date: Tue, 9 Aug 2022 08:15:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 3/3] xen/sched: fix cpu hotplug
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, Gao Ruifeng <ruifeng.gao@intel.com>,
 xen-devel@lists.xenproject.org
References: <20220802132747.22507-1-jgross@suse.com>
 <20220802133619.22965-1-jgross@suse.com>
 <e62049ce-09e4-f457-f849-16ce9c581145@suse.com>
 <353f3e95-f8e8-5c25-b5e8-8d90ea62e737@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <353f3e95-f8e8-5c25-b5e8-8d90ea62e737@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e9a556b8-2f35-46ca-f4cd-08da79ce8d19
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2848:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p/RIDBQptDICjmQdLKGiyOJGCptpo/0Gi5+TQbjKIrtdrR+4QIcfE9AdVHvHz8dN7kfEfBEWBZR6rkWxW5/QisvJoR0n69dtBmtCRTcR6l4FC7BnXav6zVORwf3r6/czww3zoiIVVX6EnWReqDV75DOtALnOzdFjNKYHxZcD8U/dEmlP2pBvj/GaEGWgH9UtbUfvyf5NfCb/7h03exghh6+GuG+NtbzBC83L8EFL9gtTb9TP1xrEN/8qpQGGn6OdD2LZo7e6FLEibvQzl0c6DycJoaUOczK6iIhUnTg5oG2fTKpr8jdWR1tZm6/6Fth1Zx5R/fISQvFpZGO2FUG5jKawLXCuSlzlpjaAy+2v5SQRrnOv6uKiPFo8jNDokY8Rp2ntCMJfyeBBwNVYr+aoDhPvldyLJNl8bocO9a/JV8BHq6TjKUwPx6UynwEInU40C9UH7libpUeMrtmB5KbtoaS0g8CAX94Xq30tHzxca0/ay/IVQsIa2C4RobdCZBTSQZwfqDSeMwG+ry6n9HueXdqWSHbzdL09GveBXkHSteWyfY1epH6Bo+itiv7LcvfgXJ/nPXjwdQGjfxp97lKEFlQiDRyOUVh9t5rVbiowUC+3syjwKez2i2J3A9DnsWICf3jX/ngJvcarU4wCIJ11EQxPa++D4uDTsROE7XkXCW/TWH2tZv2u1HP2UBUdSWbiBv6FyYEouMHw3Z8M4MbuK4PUN8DwngjJ/lUaeF96XJyetK2d2B6yLNh/gCrzOfrE1AnpCft77rwoVxRl0RxO6qbJvlq/oFFNcKZ3VV3tRMJUkh4bG7KYG8q7BVdunggASeGmWIaVwG73nLN2WUo5hg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(346002)(366004)(396003)(136003)(2616005)(38100700002)(86362001)(36756003)(2906002)(31686004)(6486002)(5660300002)(31696002)(6862004)(8936002)(478600001)(4326008)(8676002)(66946007)(66476007)(6506007)(66556008)(316002)(41300700001)(83380400001)(53546011)(54906003)(37006003)(26005)(6512007)(186003)(6636002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bXlFM2ZicVlRTUNQS09ReTAwcnVmVy9NeVFyWTNpSzBNVFdMeFROa3NUL3A3?=
 =?utf-8?B?bnBVQUZUMG9FbEx4cjA2bkUyWU16SC8zUWtjYjgvMHRUV2pTZDQxYTdMeVF1?=
 =?utf-8?B?VDRad2JDTUlDZGRLWjZoUkMvS1FjdnVMekNSekFIVC81NksvcEVBdUwwWmJs?=
 =?utf-8?B?Q2JSSE5DODVURFR1UTIwS2cxQ1RpZzNtM3d5THBUbnpKekRXN2NGdGEyd1JS?=
 =?utf-8?B?ZHpuWHlMTkJDN2M0WjlRYXVVUXcvanpXaUhHMkRnbU1KSnVUSDBEU1ZnMzFH?=
 =?utf-8?B?cDVYR1J6WC9sbi8rRTZETnl2ZUI3UkwyNHpJSDRtN3FFN2tVYVkwVTJyWlJ0?=
 =?utf-8?B?NnkzMk83b3N6SUF0UDdCNUxuV1FpUDFXNUxuTUpBRXJ3bDYrZTduUWRTWlk1?=
 =?utf-8?B?SXFyOURZZVNuQk8xMUN4V0tqWGxsTUpBbkZ2MTR2dTVlNUlWeXE2UmdSaGlu?=
 =?utf-8?B?NGpLdDJCZEVabWRJakRDQ0JXcnVNdHJid3BRUG96RGc3RVVuRmpkeXFiL2d5?=
 =?utf-8?B?d3J4Y2tCS2RJWW5BOGd6VmlIOWdDL1FKdzBYRURRTC8wRHRndU1CTmpicWRT?=
 =?utf-8?B?bjFzUDRXeHE2TFJsSTlXZkd5WnlMek15OGtuTTQ1dFk1eVMreHpwOThtblR4?=
 =?utf-8?B?SndZQ3ozYm5rYzVhK3FWQ0lHSE90SmdHRnVqTEQxOXJFd0kxZDI4aHdRTFlj?=
 =?utf-8?B?UEUybDV4dTlWbWxhYklmRGxzL01nbmk0cDcvNVREN3U3aDJJZ25yc3lQdnNz?=
 =?utf-8?B?ZmNleE11Vy9JUEhlaStIVm0yVE9IczZGU3kzUXM1a1dZdWhMTlV3bEFnTHIr?=
 =?utf-8?B?bWFxOG91MnFza1JXRXduL0NUTjlKeEx3N25wc296ajl3ek9kc3VHTGV5M1NT?=
 =?utf-8?B?NGhSSnpjNnpuSVlzTEo5WGZDZThrUGpKMkM1M0tkR0JMdGMvTFg0UW1DSjdY?=
 =?utf-8?B?YUdMNE5zYXcvSHozc1lGd0dGQlRBZFU0OTVBaFJSR0h1blpyZjRnRUV4RmJI?=
 =?utf-8?B?ckhMRGlKbmVYTzRnSmF4dUM2aHk1TjcyalNybXI5MlJvRmRLUzhEcUVaQTRD?=
 =?utf-8?B?QVRVUXRLOWZ5Rkkxc0ZuVm4wemEvTi94NjN6dUwvWkxscWlGQkFPaldOVE9G?=
 =?utf-8?B?ejQzTm1qa2NMaC9SblJCRGdmN25UME1WaGdkWlZSY0ZBckhMZXdVZ1BrK2NR?=
 =?utf-8?B?N2kzaUVGbEZIeXJWNjJMUFpNa2dhL1k2TWlRNEppdVhvVlhmUTdXTWJ0dlps?=
 =?utf-8?B?d0YrQnpQL1Q1dDBqS3RJRVVPZnA0elBhRXF5T09OTjgvalJBR3lNaU9zaDhy?=
 =?utf-8?B?bzhpbnNhSjBDZzZKWVM2dFhwRzZ0UTVyL1BUYWx1WTRtZk9BWkpDQ1M1SHVN?=
 =?utf-8?B?eFR6OEVSaFBLWmdPaVE5S01paE93UFVnUWxoZUZRY1hYSlBTRmc5RUsvLzU2?=
 =?utf-8?B?c3NMVXZFZUJWN3ljbzNVNW5hQVNEN0hOMTBZN1ZEdXR6cVkxZWorbFhhK2ZK?=
 =?utf-8?B?Vm92elJ5RWFGUU54NWJJUzhVODllVzg4a3hyRjZQa3dBU1FyM1dyNlFQbGQw?=
 =?utf-8?B?YlZEc2VGME43dmZOMDVpUS9FWjZqUTBpMkpkYXBhZ3ZDWmZCMXNzTGZQYzE1?=
 =?utf-8?B?bEkxNG5RRHgrM0VLVzUxS3h5S01OQnhHcDRqUjAzcG9rUlZwa2VNYUdHK05o?=
 =?utf-8?B?WUJISy9TSklLS2dubTlZSmh4V2VoQkRYcjR0akdtSzdlKzlYc0dVRlpCVVBQ?=
 =?utf-8?B?cG9TN3RXRktaZVZsVCtvM3JkVjZDN2lNMWQrczE0aTUxRjVNNHpJMXdYVkJC?=
 =?utf-8?B?NUJXcUxnNUpCYWQ1bjhMWUFMczVUV3NHN1F0WUVxYWovRkZBMVRtVHpmTDdu?=
 =?utf-8?B?NnNMcXlQSU9qTEVSVCt6QVRINUt3NEsxMlBBbjkyTXBIYnc2SCsxQml5YjNH?=
 =?utf-8?B?WCtLQlpyL3NLMFVYVDhBV2VNU0p0Z2FyMXVwWE14bXNIdU5UK3JVVnZrWHRj?=
 =?utf-8?B?cGdHcW11WkZ0SlF3VjB1aDJzZW4rMG5PMnY4S2RKZHJORzJUS2FxMGdTMVN4?=
 =?utf-8?B?L2lTU3BIK1RLaEVpNzN3NTFZbHd5LzRuY050TGtlbXJvVUd1eTBMTzNQV2Qx?=
 =?utf-8?Q?h7t80daWlvQ4zgz7FoiqK5sno?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e9a556b8-2f35-46ca-f4cd-08da79ce8d19
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 06:15:26.6046
 (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: iJRdnjQOr6oVF1Bx1dJGMg5OR2F9JczRfVnndzXSOh94ltgXv6XepEMnIL+A6LSpaATcekph6zhKTPv52pbUUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2848

On 08.08.2022 12:21, Juergen Gross wrote:
> On 03.08.22 11:53, Jan Beulich wrote:
>> On 02.08.2022 15:36, Juergen Gross wrote:
>>>       switch ( action )
>>>       {
>>>       case CPU_DOWN_FAILED:
>>> +        if ( system_state <= SYS_STATE_active )
>>> +        {
>>> +            if ( mem )
>>> +            {
>>> +                if ( memchr_inv(&mem->affinity, 0, sizeof(mem->affinity)) )
>>> +                    cpupool_free_affin_masks(&mem->affinity);
>>
>> I don't think the conditional is really needed - it merely avoids two
>> xfree(NULL) invocations at the expense of readability here. Plus -
> 
> Okay.
> 
>> wouldn't this better be part of ...
>>
>>> +                schedule_cpu_rm_free(mem, cpu);
>>
>> ... this anyway?
> 
> This would add a layering violation IMHO.
> 
>>
>>> @@ -1042,12 +1065,32 @@ static int cf_check cpu_callback(
>>>       case CPU_DOWN_PREPARE:
>>>           /* Suspend/Resume don't change assignments of cpus to cpupools. */
>>>           if ( system_state <= SYS_STATE_active )
>>> +        {
>>>               rc = cpupool_cpu_remove_prologue(cpu);
>>> +            if ( !rc )
>>> +            {
>>> +                ASSERT(!mem);
>>> +                mem = schedule_cpu_rm_alloc(cpu);
>>> +                rc = mem ? cpupool_alloc_affin_masks(&mem->affinity) : -ENOMEM;
>>
>> Ah - here you actually want a non-boolean return value. No need to
>> change that then in the earlier patch (albeit of course a change
>> there could be easily accommodated here).
>>
>> Along the lines of the earlier comment this 2nd allocation may also
>> want to move into schedule_cpu_rm_alloc(). If other users of the
>> function don't need the extra allocations, perhaps by adding a bool
>> parameter.
> 
> I could do that, but I still think this would pull cpupool specific needs
> into sched/core.c.

But the struct isn't cpupool specific, and hence controlling the setting up
of the field via a function parameter doesn't really look like a layering
violation to me. While imo the end result would be more clean (as in - all
allocations / freeing in one place), I'm not going to insist (not the least
because I'm not maintainer of that code anyway).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 06:24:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 06:24:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382781.617808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLIfe-0000XQ-1b; Tue, 09 Aug 2022 06:24:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382781.617808; Tue, 09 Aug 2022 06:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLIfd-0000XJ-V5; Tue, 09 Aug 2022 06:24:53 +0000
Received: by outflank-mailman (input) for mailman id 382781;
 Tue, 09 Aug 2022 06:24:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLIfd-0000XD-5r
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 06:24:53 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60074.outbound.protection.outlook.com [40.107.6.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f55a73f7-17ab-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 08:24:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB5781.eurprd04.prod.outlook.com (2603:10a6:20b:ad::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 9 Aug
 2022 06:24:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 06:24:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f55a73f7-17ab-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EtNktvMEMN3G2NSsJw6e0G5xuzHsf1g8ejQN6YVULUml/UmacyG38GOWBP7mUaBqF925mw7F0GMI9iPeqgKaVxOUqaXOFvNuJcAjpiKcdeTR+S7NWfmGmsmUi4LYsF77zt+y1X26ztgRebgS3JPRVleGhJeSR7qnvIJCQF7VFhRtzkX5Req+wpZSEQJEtwyOncPkjtukytRVsTwkEmCXiqV17HXYvXbMfOZTZBtrKXLP1UEYQySOWatRF7ozErrZo6HBiLddbbeAQo0+9xPlDIBmLJF6U5ejPQv7b1SUbaa6ibPZV6cV9Fn8fW8HLl9JVb1JbYjbMMnr2wx1emlzbw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h3I7wrC6uIm93pblMo/mskVh2+IQUPsBt+7EVIrcxyI=;
 b=OlakdCmAMIdMvnetFM227FCrbPdAwLr9f6kBQqo/NLYTv0nXjGus2bKjz+ntPKS5X2/oKklxkxI/AI5pn9shHRr9J0YoOAlkwgtMVZsOZgX2hsvdNeLev+31FVGDodmpNnORColjVqmm4WoO5e7sySGobFWg3UmPtBvaw3YJTnGodjgdwKYInKsAij0uybETS836SbATC89IiRGj56U4cRtslN8UogmhgIh8k5lQYfTzo23UxLfcmOpun0Vpzn5kPIcGJ9CVEN/CDbOXbL/EUoITzprm0mPZMRumSgaDMQWrfpnaXns16jvB6N4mNDy+TAavv3ZutMX+3KhE8GLUKw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h3I7wrC6uIm93pblMo/mskVh2+IQUPsBt+7EVIrcxyI=;
 b=DpoLdXGJ01uhsmUCnPzvzhHxTh1jHOTJi4RwBlDWuNd0XzvCAr/rInvhVMEl1dE48uZCJMxan/d3ZTmG5/Hoqo7O/WYY4Eg72nYEsaxdOrgUV9zgPEinMvvfCvWwDqJ4S5r1fySlJ2dGB6r9MC9JGi9EPg1nyvm2LNqwnJoqW4wnxDBrVY9Aoy0Ie1LmzseTEYWGBNkTA9Bf/w9ltcaE1yQdg//W/dFadRHIPpUS20ACX9uiQNKIDd45ZiDgJLexxXtKRRGwOe3uSvFQHwTtfxAR9L5MUkNpZn9q1U/CAFFV0DsbMwl+HKOJ+ORwNthiimT3BbusHbQg7iihXoSWpA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <950ad8d2-93be-dada-131f-1c2757c2f125@suse.com>
Date: Tue, 9 Aug 2022 08:24:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v3 09/10] drivers/char: allow driving the rest of XHCI by
 a domain while Xen uses DbC
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.981658add2114d2558989cedba5877aa8b82d8a4.1658804819.git-series.marmarek@invisiblethingslab.com>
 <dcbe3f53bd6d88fbf2a20970d4fdfe93479a5f59.1658804819.git-series.marmarek@invisiblethingslab.com>
 <e98ca967-8ae5-3aad-6449-c3689e88bbe8@suse.com> <Yu08ItSlvtqALMvS@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yu08ItSlvtqALMvS@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e251ca00-0155-4109-8377-08da79cfdb90
X-MS-TrafficTypeDiagnostic: AM6PR04MB5781:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jQEDT6QaCtB/5RiCt/eT6bDcyfrfIX/IBQvfPlmV6QKkzNvUYchHLIlX3EgViBHmfTLjLtIRkeJhLlgUrS9YAtszPbOl8W+tRS1RpB8oQe2RwxsnTt3pjAgi13HBKaNOKqOfW2b7nT0PjeKjutc3yjz45Eco2f3W/p5yq3Xw/WwQUEveC/IMWLKa/wro//H5rbKt5Ol7CZDoRKxx244MloKVeUMHyQ5WSLfRYVK2VPqrAf1eL7VZNrknDRRhuqU3dqSags2WgKA7IktECd89289c36OkTbp018hsxF8bECR7lXWvlnNjR8y46FZZcEibdF69e5lhqGhacf9yZj/T8ypG7sNT0mnwm9WnadVrgwY91TZP0bhcvhXWU5iV6Gk9nloPWN9PhhMnfwKWgioJ9pBmUlz7tBYeM62lpA4bXHEvxZhmgTX2Doomd6LIp/IZxoxCfryl/ZZ8U42o30A1vwKQYh2dAni4R8uY3alJuu/U7uhv/YVI/Z47XkTgaGeiXANYaY3PBW8pcyWyC2e0EvRd5wArJnCcaN8Y/kCQ6ER3gnA1rg1dlaAE7xkFlNdUBLqcYKzZJwUayoB2nXoVjX4kF5A3TGHe0ZUGJF2bwO70go5yfaPxdqsVBebRLBx/OxCrM4W4oyI1TDpjBzDjjNmC0Dh8bF5cLPNWxwDSlS+7RPKt8lamFl+GDgDTFFnqqxcy/SamvdmZ3CoSG5wequgqCqWJTfIVzEC1Nrpgycrj8sMuTJpEMlON5LaHJRm5XDJUChndMkq9GzaUgdVhRF8R8Qq/FIBUkurbijCq9l0kwjkmDIIvO1nNSb0Mz9ZU1FL503yjCKHXmBEptM0BIw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(346002)(39860400002)(376002)(136003)(31696002)(86362001)(36756003)(31686004)(26005)(53546011)(6512007)(6506007)(83380400001)(2616005)(66574015)(186003)(41300700001)(6916009)(316002)(54906003)(478600001)(6486002)(8676002)(4326008)(66946007)(66476007)(66556008)(8936002)(38100700002)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXo5VklqVVNxWEoxNlJtTmF2bFhGbmVzZ2VnRy9sNkVKN2FRVEFkaWRWTC9m?=
 =?utf-8?B?MEo5bEVkZlRTcXNiMWlxYUptcEZXVldiU0ZGZXdJZFB4NW45cHRoUXJsSWxN?=
 =?utf-8?B?RzdkTkNzWUZHWlBNWkVmL010VXNCVU9RdTNhRWxtU2p0UlNsM0xCVXByLzA4?=
 =?utf-8?B?aFdSR3ptaWRUK0JwM0NxaUhqZWZZc3B1Njdmd2Mrb1FuMkJLMWUzalR3M2xR?=
 =?utf-8?B?bFJkRUpXeElLL245WUNVamRmNlhDdkdXcjFjMzhoY2NBQkZ6V2NFTDNtYStR?=
 =?utf-8?B?RkpJT01WQnVTalFhVjl6UGVLRXVJcWRWeXI4SDZQeXBGQWErK2p0Qk1GSThy?=
 =?utf-8?B?b0ExeDhPdjR5dXZPVEh3ZlJBTzNManpvYWEvdDlSbnRDaTJMYkNobUV4THAr?=
 =?utf-8?B?QmhQK1VjT3ByeHBRWGxVeHE5b3VxYVNqTm5JMXJHZVFwZGEreitoS2E3cEZh?=
 =?utf-8?B?MzBRUm9pb3hDMlRZZm02OVhzc3IxdGI1M0QxcFVTaXRwK1JiS1A4ZFVnajZQ?=
 =?utf-8?B?Y0hyQXhrS1dvU0RaMCt6RGhBZUNhMWJmNE00QmppRk1rODY5SXJkdlFVdzRv?=
 =?utf-8?B?eTIvVCtZR1dtWjErU0dOcjViaEUwUTJra2VacXZYYWw0cWNlUEM1bVd6MndM?=
 =?utf-8?B?WDJHd2RjbFd1N1pScEhiSEJrckFIamJ4dmNUcGRDS1Y1b3d2cEx4aTBBdldj?=
 =?utf-8?B?THJaV1Z3WmtyTHF4a1o2MjZsWkFSWFh6Rmh3UGxyNmZsTHdZNGNmbE44S0ZC?=
 =?utf-8?B?L0s5OWprQWF3OGdXbzNVZSsrT3VsR1dtTUVrS0pwcVpZbUgzN2VNOHJlT0VG?=
 =?utf-8?B?U0dFckh4SU5JUFgyMFNWSlYvUng5NjlMZ290Q3ZnMHJQZStmRm9QbjBFSElP?=
 =?utf-8?B?YnpPcG51OSsyK1c4azl4RmVWdW9JaFBQRmMrcTMzR00zTVVzVlliZm8xKzZm?=
 =?utf-8?B?Sks4alE1K3gzR3ZqY2kxYVRsa29IOGEwN2JRN0oxSlRJZGhEcWFQS3F6Mnpi?=
 =?utf-8?B?SzBvelJ5WWM3Tmpxa0piUHhqRTdBMVd5ZEdLSFp3Q04rNzZkaHhUYUdmSDRY?=
 =?utf-8?B?cEU0UHNDbU13UDlQbzVqSElZVC9rZHMrT1B1VzFiTzEwQ1crRnhCV1FWd3Rq?=
 =?utf-8?B?VDZRNjFpSFJwZjNad0JxTW9lejFHdmFvbnRrcGxRaGFtMzBsdjFPRXJzcDdZ?=
 =?utf-8?B?QjIwZW5ORnN0Y1Q4Nyt0QkJHOG1DRVNMTEhucEtad0JGSU1ueUZqdmhyemEr?=
 =?utf-8?B?R1Erd1lhamJpekUxdFFNV2JNSVpMU3Y2R1RVZWJvZ05SN21nOXc0QVh1b0U5?=
 =?utf-8?B?OUxLcGQ5VFpzVlZmWlVNYXAxZkVHRW5JbmRWWG40NjNrRE5BL04wYlo4eVls?=
 =?utf-8?B?WWU5SWd0cmZYc01ROFV5MlZNWVNVOWg2dHhSUTdkd21oK3FqZzBFMmdlbzdN?=
 =?utf-8?B?dzhXVnAvckd6S01hazFCQmUrZXJlaVJmL3ZwMjhtN3A4T3R0Uy9lajNOT1ZI?=
 =?utf-8?B?bSt2WE1JRzM4bmlENThLelZ0R0FVMGM1Q0NsK2x2REpOSnU1R0F3SVJETmxP?=
 =?utf-8?B?ZUdsK1pnUm42dlNBWUZIb01pcGtza05Lenk3MmgyTWlNT2dTV3VITS9PdXZZ?=
 =?utf-8?B?eWhsZlhrT0QzRkdtVit0RDFJUmtJNVhCbDM4T3QwSnVFUmxxN1ZFVElydmhP?=
 =?utf-8?B?RlRXdENiTU5HOTVGVmhVQWFETHpUbDlyTUZzeFdOTnFFNG1Bb0hRcmZzdlFn?=
 =?utf-8?B?azYzbE85OGhoR3NJRmZMMEd6cXArQkpaUFREeXpiNytFdWZ5akV1RGdhekJp?=
 =?utf-8?B?ZHZhMGIxWURrbDc3bkY4RjlCN1VVNjhqR0RTTitZNVlzc0NncFdpWVRtMEFj?=
 =?utf-8?B?RkwyTDFPd0RnRVF0LzRxN2ZTbmtoclFINUdaTUN6K0RVMWkxZVliZ2F5Y1JD?=
 =?utf-8?B?UzVCWmN1SlVQVExvZVBqdkV6Z3Z4RVNiNE5rM0dZQ0hmTEVBWFpmaGdTZ2k1?=
 =?utf-8?B?UG9QL1QwalNZUCtpTDh1Nm5zZmM5WThrRE92S3p4SEk5RkpLSUlzMUwvd3Ja?=
 =?utf-8?B?cW1iTHRXSVpubG9aajVPam11YmNOYmRQRXZnOWc3OHQxbDNtQVFQOWJpTDI4?=
 =?utf-8?Q?Os8ws1AlVO2FN5r2eX7Kene+v?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e251ca00-0155-4109-8377-08da79cfdb90
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 06:24:47.6312
 (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: IUpkBj/ZXFLAVgSuoKRa+OtN6orqmFpUvdPMibsi035TLAIqggqhDdOkrLjuqhwtgqqHyjgelYhpls5ZSdhMfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5781

On 05.08.2022 17:49, Marek Marczykowski-GÃ³recki wrote:
> On Fri, Aug 05, 2022 at 10:15:59AM +0200, Jan Beulich wrote:
>> On 26.07.2022 05:23, Marek Marczykowski-GÃ³recki wrote:
>>> That's possible, because the capability was designed specifically to
>>> allow separate driver handle it, in parallel to unmodified xhci driver
>>> (separate set of registers, pretending the port is "disconnected" for
>>> the main xhci driver etc). It works with Linux dom0, although requires
>>> an awful hack - re-enabling bus mastering behind dom0's backs.
>>
>> Which is one of the main reasons why I view DomU exposure as
>> going too far, despite recognizing the argument that this would only
>> be done if that DomU is fully trusted.
>>
>> Furthermore - what's the effect of this? It would seem to me that
>> while bus mastering is off, the device will not function. What happens
>> to output occurring during that time window? 
> 
> If no reset happens, the controller will continue sending the data after
> bus mastering is enabled back - no data lost in this case. If reset does
> happen, data that was already handed off to the controller (TRB queued)
> but not sent yet, is lost. But data that is still queued only in the
> work_ring, will be sent after controller is re-initialized. I did
> several tests of this, and I have not noticed any data loss in practice.
> 
>> Rather than needing to
>> re-enable bus mastering behind the owning domain's back, can't the
>> disabling of bus mastering be avoided in the driver there?
> 
> Linux disables bus mastering when PCI devices are enumerated (before
> xhci driver is loaded at all), and enables it back only when xhci driver
> tells it so. So, if xhci driver in dom0 is blacklisted (which is the
> case in qubes by default...), the console would be much less useful, so
> to say. And I don't think Linux maintainers will appreciate xen-xhci-dbc
> specific code in core PCI handling...
> It isn't an issue for EHCI driver, because EHCI debug port
> interface does not seem to use DMA.
> 
>>  As we can
>> see from the EHCI driver, there certainly can be communication
>> between Xen and Dom0 for functionality-impacting operations Dom0
>> might perform (there it's a device reset iirc).
> 
> Yes, I can see how controller reset can be coordinated this way. But
> also, I see it more like a future improvement if it deemed to be
> necessary, than a strict requirement, as the controller reset is a quick
> event that in practice does not impact the functionality in any
> significant way (with the current code shape). On the other hand, adding
> such synchronization feels like several more iterations of this
> series...
> 
> And BTW, if Linux crashes in the middle of controller reset, with such
> synchronization you would not get the crash message at all. While
> admittedly such issue is rather unlikely, I see it as a potential
> downside of coordination here (you could still avoid it by
> `share=none`/`share=no`, with all its consequences).
> 
> Generally, what would be your minimal acceptable version? If support for
> sharing the controller with a domain (including dom0) requires
> significantly more work to be accepted, I'd much prefer to drop it in
> this series and have it possibly introduced later (and in the meantime,
> possibly carry as a downstream patch). Unfortunately, I have limited
> time to work on the series, but also, I think having this feature
> upstream - even in partial form - will be very useful for many Xen users
> and developers. Especially, I'd like this series (in some shape) to be
> included in Xen 4.17.

I think I could agree with such logic as a temporary measure, i.e. marked
clearly with a FIXME: or alike. The Kconfig option then also would want
marking "experimental" (or maybe it already is).

>>> @@ -1005,10 +1050,32 @@ static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
>>>      init_timer(&uart->timer, dbc_uart_poll, port, 0);
>>>      set_timer(&uart->timer, NOW() + MILLISECS(1));
>>>  
>>> -    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
>>> -        printk(XENLOG_WARNING
>>> -               "Failed to mark read-only %pp used for XHCI console\n",
>>> -               &uart->dbc.sbdf);
>>> +    switch ( uart->dbc.share )
>>> +    {
>>> +    case XHCI_SHARE_NONE:
>>> +        if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
>>> +            printk(XENLOG_WARNING
>>> +                   "Failed to mark read-only %pp used for XHCI console\n",
>>> +                   &uart->dbc.sbdf);
>>> +        break;
>>> +    case XHCI_SHARE_HWDOM:
>>> +        if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
>>> +            printk(XENLOG_WARNING
>>> +                   "Failed to hide %pp used for XHCI console\n",
>>> +                   &uart->dbc.sbdf);
>>> +        break;
>>> +    case XHCI_SHARE_ANY:
>>> +        /* Do not hide. */
>>> +        break;
>>> +    }
>>> +#ifdef CONFIG_X86
>>> +    if ( rangeset_add_range(mmio_ro_ranges,
>>> +                PFN_DOWN(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset),
>>> +                PFN_UP(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset +
>>> +                       sizeof(*uart->dbc.dbc_reg)) - 1) )
>>> +        printk(XENLOG_INFO
>>> +               "Error while adding MMIO range of device to mmio_ro_ranges\n");
>>
>> How can this allow use of the device by a domain? Is there some sort of
>> guarantee that nothing else will live in the same 4k range? I can't
>> infer such from xhci_find_dbc().
> 
> That's a very good question. From what I see, it lives on a page
> together with other extended capabilities (but nothing else). Most of
> registers in other capabilities are read-only, but there are some
> read-write. It seems Linux driver works fine without writing to any of
> them, but it sounds very fragile...
> 
> The main reason for this code is to prevent Linux initializing DbC for
> itself. But AFAIK Linux does not do it on its own, it requires explicit
> action from the system admin (a write to sysfs or kernel option).
> I'm not exactly sure what will happen if Linux will try to use DbC too,
> my guess is either Xen console will stall, or they will fight each other
> by re-initializing DbC over and over. Neither of them look appealing...
> 
> Would you prefer to drop this part, in favor of documenting it's the
> system admin responsibility to prevent Linux from using it? In that
> case, I think the default should remain `share=no` (possibly changing
> only after implementing some coordination with Linux side).

No, quite the other way around - it being there makes Xen's use safe,
at the risk of breaking Dom0 (or, for your purposes, DomU) functionality.
The latter, if necessary, would imo need restoring by way of emulating
all write accesses to the page.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 07:53:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 07:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382793.617825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLK3Z-00017R-FD; Tue, 09 Aug 2022 07:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382793.617825; Tue, 09 Aug 2022 07:53:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLK3Z-00017K-CJ; Tue, 09 Aug 2022 07:53:41 +0000
Received: by outflank-mailman (input) for mailman id 382793;
 Tue, 09 Aug 2022 07:53:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VsBn=YN=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oLK3Y-00017E-0P
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 07:53:40 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50068.outbound.protection.outlook.com [40.107.5.68])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cb8b93e-17b8-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 09:53:32 +0200 (CEST)
Received: from DB9PR02CA0018.eurprd02.prod.outlook.com (2603:10a6:10:1d9::23)
 by AM6PR08MB4197.eurprd08.prod.outlook.com (2603:10a6:20b:af::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Tue, 9 Aug
 2022 07:53:29 +0000
Received: from DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d9:cafe::41) by DB9PR02CA0018.outlook.office365.com
 (2603:10a6:10:1d9::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20 via Frontend
 Transport; Tue, 9 Aug 2022 07:53:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT003.mail.protection.outlook.com (100.127.142.89) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Tue, 9 Aug 2022 07:53:28 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Tue, 09 Aug 2022 07:53:28 +0000
Received: from c38829d3b645.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CB552853-3310-49CB-9675-0C06B4E4E7FE.1; 
 Tue, 09 Aug 2022 07:53:23 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c38829d3b645.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Aug 2022 07:53:23 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com (2603:10a6:10:2e4::7)
 by AM6PR08MB3672.eurprd08.prod.outlook.com (2603:10a6:20b:4d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 9 Aug
 2022 07:53:21 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518]) by DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518%8]) with mapi id 15.20.5504.021; Tue, 9 Aug 2022
 07:53:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cb8b93e-17b8-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=KcTQc12QpQCchVBfxM2YX9tkQlOF1UkSbOJg69kBO2iA7wT6KCMBmsHLrh5mrm0COJY5JouH+7YBALmfmRks8TtA4RyFhqdI/uLx4ApfljqVUWASULsJb/7JHueK7VcQOZ7WHebZXu+NpMD8NeUyxsHBoghKgC3L44hAHW4Ci3Ov5PnaPmUrqCKrBeScqqWF5Puc+S1wuJAG+GWalPh5bXo8Fe3mpeTTwkfHjLnxDSZSrQuoWNZ8jjZ5AoeDWsZjK3g6mhFYUfJGeiLpGdnwykIvQUcgsdxeKHb0kIJ9dzB5HqxYStxhccSaQ5jP4WZgT0zXk2iIUQ1uz1O83Fb81Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wkPwy5AHKadMyIA+8uZGWZz5T9fExyiEnD2PJqoRzf0=;
 b=C+y4fB4SPT4CMf/MDcVStYcyHPaWUzuJsG99W4M5tJSHc/1SzBdgVyLoCajIz7702PGUryi95qLOMpeNn519172ZJWNFerMSeYNGcHwnmW+BHYm837zxvIrNW0t+6hCW2/jHJ+g02Jsu8v/OlvvJzD0TA9t0u0RhJzJa5x2T+AnRwCM9KQ9TQ2Hxs2eG7xsXpCU3HAhpILC8G6eXBEqrvvcJhnt7wRwfZU/Y+zkeoeJNU8TsFudNhlyScEj4zLNt0iRwzRBLIO0tkMkwATur2kED0BqN4gHt/h0RtveC2hUMIpg0pfHxd6FYnFGmCKBbZGXvIVoAZBrIz33rAkDmVg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wkPwy5AHKadMyIA+8uZGWZz5T9fExyiEnD2PJqoRzf0=;
 b=ZM5lwlI3KX2exONTH3aSW/baWlEZ1knAIsIrisRycxLfvO2e7SKkxIVwm9EqcE6yUPs3PxNvPq6I61iEI96+DfR8OPrhycXZNvPzna2l/qH05vdeNO8Ry36MGmJijEY+KzixhXPUq/2lnkvpSbK/nSCMggvHeT3VzHyqUkBYgPQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CBaEUriQ/a2DfDsj58h8ZMSvrfjCK6NX/NNbtKoeiYqleQTwSSdNddVXNZunJz3NuHLFW2NBOaSfyPq7W3oUkVsw+Fd/Z8YzgyBk1IofBC1U7v2zhbBy9JY+IIeRpbb7xeA3wWLQqlYOEol3kGRFcjrIi83kW3Op/QTWglKyUS9+hWpuw0LVWQnaHo31JIYYDrqaZrhde7CAfX6lrkK91DqN13S3CERMg6QZx2FyxpryB41Y/20hdubMaiMnSd/F48hXkmEY4Cz4xwBdF2jnxnZRCJCbIbYC37uHA1SUaTktvEZAw2wYsXis1ruSBRSm0K3/9DeetjjWz3j0KrkdxA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wkPwy5AHKadMyIA+8uZGWZz5T9fExyiEnD2PJqoRzf0=;
 b=Z22zeeyMJf7RYBL8xQ5rwMEvauzPip23h4U9WZuZH8bOVJRWqM+Lu1TacvdcOgdYW3bYZ83O3oDobOrWfd0doGHM5McbOjuaaNK397oQmfIDGDH+24w7r8GvNOoYCwdnEGRpZbzOv9fkHmVf8GGrJgUYtTZ5b4vPubp9aBlyO0hfE4h/iVBhL9WVBGoAx8NM2XCeJPHWjWm+WMHgymeOJ92TGsqGIkamGkYPzot/O8lgOf+FvmASJe9WRuJ0XKUqjBHEjnUegvs1LIiYl0vNnEZFwUMJ/QC9o9NtcOxdoDm8zuDb62ihTpPGdtLmqisLVa6nXWCeSTgFqI82atFAdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wkPwy5AHKadMyIA+8uZGWZz5T9fExyiEnD2PJqoRzf0=;
 b=ZM5lwlI3KX2exONTH3aSW/baWlEZ1knAIsIrisRycxLfvO2e7SKkxIVwm9EqcE6yUPs3PxNvPq6I61iEI96+DfR8OPrhycXZNvPzna2l/qH05vdeNO8Ry36MGmJijEY+KzixhXPUq/2lnkvpSbK/nSCMggvHeT3VzHyqUkBYgPQ=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Thread-Topic: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Thread-Index: AQHYm/wqv1nrEHMOJUyQDyAePQJHla2PQtqAgBcOCRA=
Date: Tue, 9 Aug 2022 07:53:20 +0000
Message-ID:
 <DU2PR08MB7325EB83FDD208467A493557F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-9-Penny.Zheng@arm.com>
 <d050bcf4-f71d-423d-a157-4243548f47a6@suse.com>
In-Reply-To: <d050bcf4-f71d-423d-a157-4243548f47a6@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: B6B35EEE43109F43B6EA8178CCEA72F2.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: b9585a4b-d7a6-40aa-1d1d-08da79dc3f55
x-ms-traffictypediagnostic:
	AM6PR08MB3672:EE_|DBAEUR03FT003:EE_|AM6PR08MB4197:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 GVvs92rofy395BKhciY05bjrM4D6Ulx27UdOy8NuctqcJRZ/Du/yBAvxWber4zF5bKD0u++QiecnJJn8RTq3XGR+E6rIsCiMtEoTVIEiw9K9Mzz08iKnVxiSELM5n2PnUDgZHmwdkpgoehusdibDYoMYrwbFIaWmh24QYjc78ptwVIc6wuxaRUv5urvhO+QhC3izM/z9kX3TDEBaNenHA4mWBNrxpYPLSuUStpv+i9DJeo/q/Yjk1UhGuVWOoUDwdNapLX57rjdHVs84SzRnoL2WtBxIIgWzXMZx20lgiKeugGjdOK9Lw8n/Q7U4uFONetIKmB6FkbR4HDitTPTBKgjNg+FEkeRRTg9O02lFP5Ps37ez0bRhdnOURn6aSCxRjFz2+XGqym9wW0KAclvTaraTWctcxBOC0AxGrT1QZ4xuzDFQZQ0upl4bXFmRfbX/O26CLcSndoUdtlQgQfPuRbLDqnGfe7wj/ZnTJHzKYV+VVgHddSmvOf3RCOm8FMc19Jd09Ib2pJ8v20rR3bYoGtrwSMQJ014j+YpSwawwfCTpLqvQE43lHI7OebM9xdMmkqfmUovdauWHXU/cTV3aKytQAwp+Bw0/uZ3+7ghAB17pF9yTE8WB0FgZXWaI0+gX31xHV+oDxQb2ExysUy4VtEA+ZTMLkLj+A1s1dVyxMYtMqJArN2gbknN4NXPcyu32LH7FVfFi/e8lYpVWV2mkblgK2t4lGvRT2Sai64O/cTbhcOl9hKFqGeCyEXHVf7H8aOqtcgwrdmBLFRprIrshmgKDCWfwn8XyVVhamrKVHYk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(396003)(39860400002)(366004)(376002)(52536014)(83380400001)(122000001)(5660300002)(186003)(2906002)(38100700002)(9686003)(55016003)(6506007)(7696005)(53546011)(66556008)(66476007)(33656002)(66946007)(316002)(6916009)(64756008)(66446008)(76116006)(71200400001)(26005)(86362001)(4326008)(8676002)(54906003)(8936002)(41300700001)(38070700005)(478600001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
 =?utf-8?B?Z3NORzZLZzc1YXVUTi9BVVptMVFITlRXdEtncmJqM1l5c0FxNmxjVklHZThs?=
 =?utf-8?B?THh3OCtUelRMQzdTSmNoajdMaEI3UEt5RzN4YThzR3Z0aVpZVkVITnl5RmtL?=
 =?utf-8?B?ZTNsQ01JKzlPaVJBREpzdzRtSitDVlZGSGRqd0x1UGhTcGZQRk02c2ZrRGN0?=
 =?utf-8?B?ZnBCVFVtNFFuVzkvN2RLU3ZNYUNZamFvbG1HZEVCSyszVlRkYjNlRE1WK2Mw?=
 =?utf-8?B?TE8wU0FuaXRlOGtDMWovakcxRkJSaVF6U0p5V21MS0luU3NKS05jU3FRY2I1?=
 =?utf-8?B?YzBkWENMUEIvS3hYOTV5dVdEaWZFNzVDdGhVZXdob1JLa0FSZ3Q3dmh6Sll2?=
 =?utf-8?B?TjBqaWtoY1paMHlueVAyS2Vxc1U0NEY1K1lXandISm9rUGZhR0VMZFVaUVJl?=
 =?utf-8?B?RndyaDEyWml6Y3pQSkY1NmRiR3pVWDViQXJTV3ZmOFNkQllKQlVMeHBadi9B?=
 =?utf-8?B?ZWtoRHp5QmNMckl0MGdObFU5MkQvaTZ6YmRTbUpyZ1ZJaDhFQ1E3ZnB3ZDlv?=
 =?utf-8?B?b0VJM1pVSGM4Wi9XQXBzK0VMUlNSWlJZZFdreEsyeWQwL1MzNEFsR3pxbm5P?=
 =?utf-8?B?eXI4YWpJT2wySEFtT0xMdDJCd2xRL3BXZkZGUllEL0FoamNWUzZyOHJFRUEv?=
 =?utf-8?B?VytqTUlnZnFuTUtKOE1nc0NvQkVNYlAxaERVZkQxNWdndVZWZkMxcTZFcUpP?=
 =?utf-8?B?L1MvVXNmTXROYUN0SklQbVJYR0pBdUxiempFaklDUWs3eGMxajRUeFBid1Bx?=
 =?utf-8?B?S3dLZExRNUN2RCtiRzllV2pNWkg5MFAvM3djemhOYzhLWGx3cm1JUlVsMSt5?=
 =?utf-8?B?TWZab1NiN1JJbStRcldaZnVCTlU2bjlLRDJYUFo5ZFk5M2VSMkk3b0hFMHhv?=
 =?utf-8?B?azZWSGh6bzdhdFg3bHhuRHpyd1VBZWtEVzB5SStEU1Znb2g0ak9Dbjd6R25P?=
 =?utf-8?B?a0ZEcjgwTFhEMndYSnpwYmtTZ0RyOFBlRE5QTGY3NEVnejhQZ2tXTExwZTJJ?=
 =?utf-8?B?SW4zVUdZZ1BoenJLOFU0NjFCdEhBc3djOHJ2Q2E5ZjlySyt3R1U2N1hkYXcv?=
 =?utf-8?B?TDFLODBMVC94VElhZjRjN09kQVcveHBJWEg3cWhkSHA0dUphdGppN0VoY2J4?=
 =?utf-8?B?NjBOb3ZOM09UYTA1VmVnT0xpdDRMVEhldlJYbU1qc1BQLzVyV3Y1MkE4aFVI?=
 =?utf-8?B?SFc2Sk5WeW9CcCt4T3BwYm5nb3d3MWxQYTg1K2hIdXlOdGcydHhOd0xzUEN6?=
 =?utf-8?B?S3ZjQW1GMENPQkp1akZRYnNFb25zWnBibVI1SEFrV1p5V3I2b1BPVUxhTlNW?=
 =?utf-8?B?Lzlxck9WNERzcTdMdEVDVkV3YlNlVUVBekFKYUJnY21QVUFicnQxL012VzBR?=
 =?utf-8?Q?AvyJzl1Lp3ftLa1rCpeosH03udBiryls=3D?=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3672
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b75473bc-5faf-4505-2a47-08da79dc3a8e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qr2FNO0CxckhP2XX6VP0+L8jTdhFTrq35Hff3Vcv9GPZXmfxpfFuDRi2dFykkxc0R6CTaG5gJ09QbCZmz2y4KbKJBoR91QJ1DMXnVqDYgk/h9Zy13Kay/9XCsbDXr08iXcrILaNmK56i8zsWuEU5PpuvKBN9syMjuyqBnDOQCgYqpnHY5MEDae7kW8e6tzbYzHvYqUbMZOV62mSc2D14LY6Dbb5kPOzNITQY23jdUU5RZWV02y+JGM5yE4pVvPYXIyAZlUKMObkgsHROcA2Abd+Dm2PHrrIu2sEHn1jPm5vDLRlbDDVwjljbvjj5QL4h78cBelj8Mj3hsdQkNc4/XS8hUmj5AcM0A52Q9b+C+hgkKSGjejFVL0B3m9bG4868goHynEqqw1wZikPYGsBAJqWUH3WqZ731e0rvRr1j8NnbO/VxRe2cv9Jx3Krp2zyzmJEC757+BuxKXAEcn8ReHdU5CLv8sAX3ZjZe05ZY61dfaelnoy0grz/5rLaYOCD0D0doSUqLgvA2MUwG9Rj7mvTmQXYFB/U+2amuYH+ANjh4gUWTYSunBlVtCaigzWmDwSS1Feo5RlPR1+q0QJvy5qLq+43MOyjxBUM0zsfpvCtc33zT4dWZ0SAwg/yBW1ZBMyN4MQ33Njj3UVwb75Ra879hoN6nzjhL1FdJygCakuBYHGjp0iOQqrwsUDqTk1e9wro8+UQx1OhjQky6kkFWpksjtwlrDwy6eut6POz2wpcyvh5HBLSWKCsBE0H6rlldEBzGXYwV7xRNejqrk0wWyguvgkbOpO0PlVNGGADkKlDJgkPkQU3fGjBOJ/Mujh8a
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(346002)(136003)(39860400002)(46966006)(40470700004)(36840700001)(9686003)(356005)(53546011)(82740400003)(478600001)(26005)(33656002)(40480700001)(5660300002)(6506007)(7696005)(2906002)(41300700001)(81166007)(4326008)(70206006)(70586007)(52536014)(83380400001)(6862004)(8936002)(8676002)(54906003)(86362001)(36860700001)(316002)(336012)(55016003)(40460700003)(82310400005)(47076005)(186003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 07:53:28.8498
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b9585a4b-d7a6-40aa-1d1d-08da79dc3f55
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4197

SGkgSmFuDQoNClNvcnJ5IGZvciB0aGUgZGVsYXllZCByZXNwb25zZS4NCg0KPiAtLS0tLU9yaWdp
bmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBYZW4tZGV2ZWwgPHhlbi1kZXZlbC1ib3VuY2VzQGxp
c3RzLnhlbnByb2plY3Qub3JnPiBPbiBCZWhhbGYgT2YgSmFuDQo+IEJldWxpY2gNCj4gU2VudDog
TW9uZGF5LCBKdWx5IDI1LCAyMDIyIDExOjQ0IFBNDQo+IFRvOiBQZW5ueSBaaGVuZyA8UGVubnku
WmhlbmdAYXJtLmNvbT4NCj4gQ2M6IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgQW5kcmV3
IENvb3Blcg0KPiA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT47IEdlb3JnZSBEdW5sYXAgPGdl
b3JnZS5kdW5sYXBAY2l0cml4LmNvbT47DQo+IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+
OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ow0KPiBXZWkgTGl1
IDx3bEB4ZW4ub3JnPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggdjkgOC84XSB4ZW46IHJldHJpZXZlIHJlc2VydmVkIHBhZ2VzIG9uDQo+IHBv
cHVsYXRlX3BoeXNtYXANCj4gDQo+IE9uIDIwLjA3LjIwMjIgMDc6NDYsIFBlbm55IFpoZW5nIHdy
b3RlOg0KPiA+IFdoZW4gYSBzdGF0aWMgZG9tYWluIHBvcHVsYXRlcyBtZW1vcnkgdGhyb3VnaCBw
b3B1bGF0ZV9waHlzbWFwIGF0DQo+ID4gcnVudGltZSwgaXQgc2hhbGwgcmV0cmlldmUgcmVzZXJ2
ZWQgcGFnZXMgZnJvbSByZXN2X3BhZ2VfbGlzdCB0byBtYWtlDQo+ID4gc3VyZSB0aGF0IGd1ZXN0
IFJBTSBpcyBzdGlsbCByZXN0cmljdGVkIGluIHN0YXRpY2FsbHkgY29uZmlndXJlZCBtZW1vcnkN
Cj4gcmVnaW9ucy4NCj4gPiBUaGlzIGNvbW1pdCBhbHNvIGludHJvZHVjZXMgYSBuZXcgaGVscGVy
IGFjcXVpcmVfcmVzZXJ2ZWRfcGFnZSB0byBtYWtlDQo+IGl0IHdvcmsuDQo+ID4NCj4gPiBTaWdu
ZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8cGVubnkuemhlbmdAYXJtLmNvbT4NCj4gPiAtLS0NCj4g
PiB2OSBjaGFuZ2VzOg0KPiA+IC0gVXNlIEFTU0VSVF9BTExPQ19DT05URVhUKCkgaW4gYWNxdWly
ZV9yZXNlcnZlZF9wYWdlDQo+ID4gLSBBZGQgZnJlZV9zdGF0aWNtZW1fcGFnZXMgdG8gdW5kbyBw
cmVwYXJlX3N0YXRpY21lbV9wYWdlcyB3aGVuDQo+ID4gYXNzaWduX2RvbXN0YXRpY19wYWdlcyBm
YWlscw0KPiANCj4gTWF5IEkgc3VnZ2VzdCB0byByZS1jb25zaWRlciBuYW1pbmcgb2YgdGhlIHZh
cmlvdXMgZnVuY3Rpb25zPyBVbmRvaW5nIHdoYXQNCj4gInByZXBhcmUiIGRpZCBieSAiZnJlZSIg
aXMsIHdlbGwsIGNvdW50ZXJpbnR1aXRpdmUuDQo+IA0KDQpIb3cgYWJvdXQgY2hhbmdlIHRoZSBu
YW1lICJwcmVwYXJlX3N0YXRpY21lbV9wYWdlcyIgdG8gImFsbG9jYXRlX3N0YXRpY21lbV9wYWdl
cyI/DQoNCj4gPiArLyoNCj4gPiArICogQWNxdWlyZSBhIHBhZ2UgZnJvbSByZXNlcnZlZCBwYWdl
IGxpc3QocmVzdl9wYWdlX2xpc3QpLCB3aGVuDQo+ID4gK3BvcHVsYXRpbmcNCj4gPiArICogbWVt
b3J5IGZvciBzdGF0aWMgZG9tYWluIG9uIHJ1bnRpbWUuDQo+ID4gKyAqLw0KPiA+ICttZm5fdCBh
Y3F1aXJlX3Jlc2VydmVkX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IG1lbWZs
YWdzKQ0KPiA+ICt7DQo+ID4gKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlOw0KPiA+ICsNCj4g
PiArICAgIEFTU0VSVF9BTExPQ19DT05URVhUKCk7DQo+ID4gKw0KPiA+ICsgICAgLyogQWNxdWly
ZSBhIHBhZ2UgZnJvbSByZXNlcnZlZCBwYWdlIGxpc3QocmVzdl9wYWdlX2xpc3QpLiAqLw0KPiA+
ICsgICAgc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiA+ICsgICAgcGFnZSA9IHBh
Z2VfbGlzdF9yZW1vdmVfaGVhZCgmZC0+cmVzdl9wYWdlX2xpc3QpOw0KPiA+ICsgICAgc3Bpbl91
bmxvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ID4gKyAgICBpZiAoIHVubGlrZWx5KCFwYWdl
KSApDQo+ID4gKyAgICAgICAgcmV0dXJuIElOVkFMSURfTUZOOw0KPiA+ICsNCj4gPiArICAgIGlm
ICggIXByZXBhcmVfc3RhdGljbWVtX3BhZ2VzKHBhZ2UsIDEsIG1lbWZsYWdzKSApDQo+ID4gKyAg
ICAgICAgZ290byBmYWlsOw0KPiA+ICsNCj4gPiArICAgIGlmICggYXNzaWduX2RvbXN0YXRpY19w
YWdlcyhkLCBwYWdlLCAxLCBtZW1mbGFncykgKQ0KPiA+ICsgICAgICAgIGdvdG8gZmFpbF9hc3Np
Z247DQo+ID4gKw0KPiA+ICsgICAgcmV0dXJuIHBhZ2VfdG9fbWZuKHBhZ2UpOw0KPiA+ICsNCj4g
PiArIGZhaWxfYXNzaWduOg0KPiA+ICsgICAgZnJlZV9zdGF0aWNtZW1fcGFnZXMocGFnZSwgMSwg
bWVtZmxhZ3MgJiBNRU1GX25vX3NjcnViKTsNCj4gPiArIGZhaWw6DQo+ID4gKyAgICBwYWdlX2xp
c3RfYWRkX3RhaWwocGFnZSwgJmQtPnJlc3ZfcGFnZV9saXN0KTsNCj4gPiArICAgIHJldHVybiBJ
TlZBTElEX01GTjsNCj4gPiArfQ0KPiANCj4gV2hhdCBhYm91dCBsb2NraW5nIG9uIHRoaXMgZXJy
b3IgcGF0aD8NCj4gDQoNClJpZ2h0LCBsb2NraW5nIGlzIG5lZWRlZCBoZXJlIHRvbzoNCmZhaWw6
DQogICBzcGluX2xvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQogICBwYWdlX2xpc3RfYWRkX3Rh
aWwocGFnZSwgJmQtPnJlc3ZfcGFnZV9saXN0KTsNCiAgIHNwaW5fdW5sb2NrKCZkLT5wYWdlX2Fs
bG9jX2xvY2spOw0KDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 07:59:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 07:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382801.617835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLK8r-0001oY-4l; Tue, 09 Aug 2022 07:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382801.617835; Tue, 09 Aug 2022 07:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLK8r-0001oR-27; Tue, 09 Aug 2022 07:59:09 +0000
Received: by outflank-mailman (input) for mailman id 382801;
 Tue, 09 Aug 2022 07:59:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLK8p-0001oL-Ov
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 07:59:07 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20074.outbound.protection.outlook.com [40.107.2.74])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23f5cc67-17b9-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 09:59:06 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8665.eurprd04.prod.outlook.com (2603:10a6:20b:43c::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21; Tue, 9 Aug
 2022 07:59:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 07:59:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23f5cc67-17b9-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DXk8lSG5XJgDwYKkzOgVs+XNC8Qrw1SQ8RehveMZWAPQcjGSe13SJiklneA8hetbR5v1Yr4wZKoexmXGkHiebhW0hXLuWp7+xpNwdyfH2yhNPRRf+Q6el9fq+ChPnwd0Yd/Vv4BhwYYfUwzgED6oriUCaGh24tosJ2WyrVTCoIK/+1fXgJy4HrBvt4zurbANj44RWBlVwuYnclFJbBjOAhUzsXpOlMSxFwGSQzAIVrTD9WBGEK9MCDY2Pu8gd5NpGo4SK0WWmOQTKvIE0AE7N9UsNQiK3hqJTXjrYTqar80iypnlce8WrOzTrRsWmNyo+xb8SsHvVx175N6lgELvAw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W7IiJ0bbjzrhdCSZ6D0gXF1meTgCbnqHa0H9BLQw6KU=;
 b=Qf2xYocpjtyzWmUhyn75AVr17Tjk7BkV31lYTVJD8GaFH8p5f3qVgwDKhvZj/8/MA9dkvZ/nMCKAhInLfM+iZI6wZJrGrwP+05sAvTkg5Jv4u9ZvqsIiCdFFepaeU0rt0lTyWC7cXm4YA48Q3926EGKyE4wTJhjkkl/cZRvYNMJ9e9mco6r+RTd3huvF85ncEbRTASblKF7P7ntrZL75kadVEsKUYyueO0+nfaw3k4JDIWeqzs+KkdAPEqWA99e76w7lFWPYEqVNI8twk5qDw2GQ2TMrJmN8Gtql9Udqzm6bxZp+eMQuspnqEpDy2XrbxpqITymIU8sWN4qLUXPB0Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W7IiJ0bbjzrhdCSZ6D0gXF1meTgCbnqHa0H9BLQw6KU=;
 b=dNMUwkrRY0GX2uKoEGP/uPL+GTpnYhZVxQ9Q64YbaU20JiDWEcFVkrRcEB0X9SlA6NfK3W0gU6Qhm22EjqbhUT0RxO9BRp4YzeaEQ61+XF3BDH6Qe1T1QLvivyOLkJWd5h43HLhtrV7GLE3mt8Fua4FMYnkiGVdZZB5qzmj6NygDSjQIfod9o2B70QoNiIE+46ubxz8l3dEjQtw5+KkeXpnOsLjYgOYit0KwfHe9GCFmAZqBkbvO0rL2onv0FoITJWpPquBs6uwdalOVI99jlc2l65wn6yOLZaNu5hm+xlf2FiXCCGEmcx0asv+r0m6PTKZETaC+QC5FukbHe//VpA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <99e65678-c394-01f1-9f49-827388f2fff6@suse.com>
Date: Tue, 9 Aug 2022 09:59:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>
Cc: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-9-Penny.Zheng@arm.com>
 <d050bcf4-f71d-423d-a157-4243548f47a6@suse.com>
 <DU2PR08MB7325EB83FDD208467A493557F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <DU2PR08MB7325EB83FDD208467A493557F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0028.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dd1790ea-88f8-45bc-b2cd-08da79dd06f5
X-MS-TrafficTypeDiagnostic: AM9PR04MB8665:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4imHhQYmazpAxnxw1kQIpNCy6tINEEAkrWB+Bj72YRwbMaV4JzmRvWK7/Iuz8lsKKXSOJQb+as2VVyEHyXydc+/seHLOmWAyHRnjEkGLA20aAhcZ1PWdmQdB+0RamTX4L1gFstsk1JQKHzILeSy3XKk+MZCRZHJSva1gffp5EBN4zFgbaZRNuZW2rWLJUp4WweabM5h10u6zpc9Lte2uDGAeo1YncqTwJ1HOMC5+XGA37rsSSjxe9rIHKZ3x8guoWKR5Ew8+vLyVrNVB4TQ1C2/EsKXu6urEBD4RsrM66qKhpuwspjAujCvZXdruL+I+R1IvNociSzIG7m9UBob0k4gFhB/92zOheVP0AYh3tSmpOJ51F6unn7ZrnFIFrdz51YxxTerpls5TWEcdFPD/hjYWStqfv9cD+jWojSlrepsyEGMQ98cE1d5DoBxZHc1CaVUB3aFvFe7baReP3dJersAVLI7jLcW75y/NoMjMgQBQSTbtLaCgjl6V+fOE8PiGEF232/+38Loo+3fdzZcsl6v8XFZsltcVNHIEKn7f+F+CpcIHdl+LpTmAB6FFs0sm6XENaOZh9lva5TtvpAspL6ax+H6siO+ZdOASpGd4sV5vxy/r1niPQ6ndQuw5h8wV5L2gr1mIFVfq9CSV62tpxjQexdBl33hUxkEGGSvbmWuLGy/F7hNOrO0+6chT5oA+b4fnRUhrqo+Rpz0RRknCtICQ4T6eY93Gb4c8V2xMTS68d/d5jTaz57ykC+a3pt4qJF1RQhGkPaxV7JY/S+07Yl4axgrbNV0hvzwlh3uXwswV9vpbbExZxTQLqx/hb+vxNld3K27CXGFH6Du0jz9hZA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(366004)(136003)(396003)(346002)(6486002)(86362001)(31696002)(478600001)(41300700001)(26005)(36756003)(53546011)(83380400001)(31686004)(2616005)(186003)(6512007)(6506007)(6862004)(54906003)(5660300002)(8676002)(4326008)(316002)(66556008)(66946007)(66476007)(38100700002)(8936002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dElYU05ISHdHRWd0T2VWaWhvZFlhV0JQSlZiaEc2NXBCRzZYRnBCcTdybzVy?=
 =?utf-8?B?c1hrRy9xZm5OUW1EOEhWZEZGQy9BUWpGYjAxckJ2U2dJYVpGeWZmYVQyWGl1?=
 =?utf-8?B?aEJCdmh3Skh2MWo2bHh2VGVTL1R3UHl1N2V5OXhERXc1aVl3bGkyMzE2MlFB?=
 =?utf-8?B?REtRYU9vMzl1OWRPNTRVaUtTVk9yczV0Y3JFa1p0WlBvZ1BJbjl5dm10RFUx?=
 =?utf-8?B?Y3BwWXJCaGdOdDY4ZzJneTM0SE1UUzVSZWVDVm5jYld4NHE4QmZQY0E4Wkpo?=
 =?utf-8?B?SVBpbkxtWVhEVGNPQmY1a21QWGRWK1RlREo4ODByQXlvUG9RUTVkZDFRNlNa?=
 =?utf-8?B?eFIzdFpud3ZheHloOHZsQmtBUWdubzlxSzV1eGx4M0krK01rbmFCOW1YcUg3?=
 =?utf-8?B?UFo2K3ZRTmtmeTIySTE5L3FmQmd4dllCSmw3U2pmeW1QaVZnczNocDF5VXV0?=
 =?utf-8?B?WFhnM2E5WER1dm5oaHJialFaVEFHOGJsMEpDL1ZLb0hwVHVnbTlIcU50dGh3?=
 =?utf-8?B?Uy9PelhJZkVBTnJRY0k1Q3ZINzltRWNzYS8xVE5jZE1oQUxsbW91ZnhqcEpU?=
 =?utf-8?B?MzBHSCtiWnc0ckV5bEQvcm53VHdhRDFqMkdjOG5VQUQ5N2Y3N1NZYTRRcDN6?=
 =?utf-8?B?R0t2RDdqaWQ2VU1IV1VIWFlPd05DNWxRdExGWVMyTVptQ0h5TkwvSlFqY0Vx?=
 =?utf-8?B?WXJGRUVLaVBtSzRLS2dtY2hqdGw2SG1wNE9wTCtFaUhqWGt2ZVQ1YnFLcTg3?=
 =?utf-8?B?MFBoQzdxQ2F4M2dHaWhqQ3dIbW9GRFZFbVhTaW5wbzBOR3hCRG03M3c5d0Zo?=
 =?utf-8?B?anp6NUladzdxYUpnc09GaEx1d21wVlpaa3BlZ09CTlVuZjRRemY3R3FZRDN4?=
 =?utf-8?B?VU9qWHEwQXM2b3hPZFRFbkRGcUdiaDNVTzlSM3pVMEVYTnVDZHdxSzdueTUy?=
 =?utf-8?B?RDhaaWNWaDZEeUNJays3ZjZYL2c1VE1IaU5JL0dac0NTMitmaWZhU3JRZWFy?=
 =?utf-8?B?dmlzc2kxU2l6dVBZSHRwN2NUODdjTC83THA5aEJhY3dTZTdsVWU2YmN3MFFh?=
 =?utf-8?B?MWVDdFdRWGRkYkVDYzNFeFcrbmJONzRUcGEvNnUydnMweEhKbWlDVmRlK3ZZ?=
 =?utf-8?B?OFhJQ2FXODZiL2JjYU9wQzdhTkdOWDl1T2lwNUQ1SzM5VHptM2kvQjQzTGxD?=
 =?utf-8?B?K0VMSzBZNXlINTRzZG5tQVhCK2YvbUJqYkJuOFVyRXZaeTRzV1lGK0xRS2Zy?=
 =?utf-8?B?ZXkzU3J1Y3JTbmtXZm9yaVcwNWR2b3RqVWpXMk4xcE9yajdzY1ZTeE1Wdm9G?=
 =?utf-8?B?UVVEME9XWXB1VWJvV0J3bzUyNE9NamVTZ0ZsanQ4RXljTFoyeEE5aWlxVmJi?=
 =?utf-8?B?YXpzWUV2dW1SMW4zZkF5bGNEUGlvc1RuRDl3MFdDMmRQUGpUUTVQem9ldC9U?=
 =?utf-8?B?UFRkS2pyTHFrVGczS3hicTJvSmxuNEdBY1NCSVFXQkRBN0VrRmxFZFhKWHF4?=
 =?utf-8?B?amZCQ095T0piWU1OTmI3MHRkclRLZlBtNWY3VlBUYTkzbGJ2RjFCUVE4cmwx?=
 =?utf-8?B?eUZjdC82WGJSbkhnR1NBQzhsSW5GdW5tUHB5WHRDMjRlUmdrWWM3ZGR1ck15?=
 =?utf-8?B?YlV2RDBTMG9VVVlkZ1J6enREV0p0dWo0bkczbDFHOERlUHBDOUJON0gvbURw?=
 =?utf-8?B?d2p0bWZCQ0Jyc3p1RVgxNGVPd1NTSmxxZHdXTkFpY0lCL1hIdHY5MlV6RVM4?=
 =?utf-8?B?b2IweFpMNnBucytOTDJPT24xbTZjQnlpTTl5WWFDQTVWaTJlRm9nTmJRbE1l?=
 =?utf-8?B?ZXRwSjBUTmlVSWZtMEV2Y2Rma1hLbnpQL0pqcUhLbGlCYmp2b3FVTjg5Uzg0?=
 =?utf-8?B?UkRHbnpXcCtHNktWSFlVeTdieDRWcjNXa1lMVmJENWtOek1yUitQOGZGTHBa?=
 =?utf-8?B?eEUraG9wbFovcGJkSTBsRFFlcmdzRkhCWi9kc1ZwMW9GdWtkM1Z6alRIL1dK?=
 =?utf-8?B?aE5XKzA0OU9pOVg4eGViOFF3Q1dFYUtkMUE0N2FtRzVyNUs3OWhCSTM3YlB1?=
 =?utf-8?B?Q0Q5OUtKeWhxbWNEQWIxcVVwMkhmTDJNTDU4OXgyMWtWcXROUmc2enZaN3h1?=
 =?utf-8?Q?VicnnnH/KogYF3AhNb6VTvsgn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dd1790ea-88f8-45bc-b2cd-08da79dd06f5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 07:59:03.8938
 (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: 6gA0cG/r2+WKbDfcm+zkjC1pCS3ynJwHHXcLOdP7mcB49jTc40H9KqZaw2O6Evsl9eMtK3qVqg9Mi21/f1Fw0A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8665

On 09.08.2022 09:53, Penny Zheng wrote:
>> -----Original Message-----
>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of Jan
>> Beulich
>> Sent: Monday, July 25, 2022 11:44 PM
>>
>> On 20.07.2022 07:46, Penny Zheng wrote:
>>> When a static domain populates memory through populate_physmap at
>>> runtime, it shall retrieve reserved pages from resv_page_list to make
>>> sure that guest RAM is still restricted in statically configured memory
>> regions.
>>> This commit also introduces a new helper acquire_reserved_page to make
>> it work.
>>>
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> ---
>>> v9 changes:
>>> - Use ASSERT_ALLOC_CONTEXT() in acquire_reserved_page
>>> - Add free_staticmem_pages to undo prepare_staticmem_pages when
>>> assign_domstatic_pages fails
>>
>> May I suggest to re-consider naming of the various functions? Undoing what
>> "prepare" did by "free" is, well, counterintuitive.
>>
> 
> How about change the name "prepare_staticmem_pages" to "allocate_staticmem_pages"?

Perhaps - if what the function does really resembles allocation in some
way. So far I wasn't really certain in that regard, and hence I was
wondering whether "prepare" doesn't better describe what it does, but
then its inverse also doesn't really "free" anything.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382812.617847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLKF2-0003me-4O; Tue, 09 Aug 2022 08:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382812.617847; Tue, 09 Aug 2022 08:05:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLKF2-0003mX-14; Tue, 09 Aug 2022 08:05:32 +0000
Received: by outflank-mailman (input) for mailman id 382812;
 Tue, 09 Aug 2022 08:05:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLKF1-0003mN-6g; Tue, 09 Aug 2022 08:05:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLKF1-0001mX-1T; Tue, 09 Aug 2022 08:05:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLKF0-00015m-NY; Tue, 09 Aug 2022 08:05:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLKF0-0003uH-N6; Tue, 09 Aug 2022 08:05:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ds+xXx2ko5Wbq8ELx9fOwGPaW/dURJ40nG59Wkw+s30=; b=ladq7dhH344Iht7U2IzGVB5xAx
	BxA6Jf9B0i1FShXVOupAT9zt/zxW1522K+Qh3m7rJtuasKwnW+XOj70Br4dAnWsfs96H27tc3FxQp
	B0hyD9KWV4qgRJw/CksGmWseN6OWRtuS3kB8+hmgV3PyAnWcP7wNoIepeUkArs+CmMdc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172320-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172320: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=f1688ec9dab680ad8a56ec0a3d0b1346933d7e07
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 08:05:30 +0000

flight 172320 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172320/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 f1688ec9dab680ad8a56ec0a3d0b1346933d7e07
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   41 attempts
Testing same since   172320  2022-08-09 06:10:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit f1688ec9dab680ad8a56ec0a3d0b1346933d7e07
Author: Liu, Zhiguang <Zhiguang.Liu@intel.com>
Date:   Tue Aug 9 09:25:37 2022 +0800

    UefiCpuPkg: Simplify the struct definition of CPU_EXCEPTION_INIT_DATA
    
    CPU_EXCEPTION_INIT_DATA is now an internal implementation of
    CpuExceptionHandlerLib. Union can be removed since Ia32 and X64 have the
    same definition. Also, two fields (Revision and InitDefaultHandlers)are
    useless, can be removed.
    
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>

commit 9a24c3546ebeb58ae72a21e0ad353980ce906931
Author: Liu, Zhiguang <Zhiguang.Liu@intel.com>
Date:   Tue Aug 9 09:25:36 2022 +0800

    MdeModulePkg: Move CPU_EXCEPTION_INIT_DATA to UefiCpuPkg
    
    Since the API InitializeSeparateExceptionStacks is simplified and does't
    use the struct CPU_EXCEPTION_INIT_DATA, CPU_EXCEPTION_INIT_DATA become
    a inner implementation of CpuExcetionHandlerLib.
    
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Leif Lindholm <quic_llindhol@quicinc.com>
    Cc: Dandan Bi <dandan.bi@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Jian J Wang <jian.j.wang@intel.com>
    Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>

commit 0f7bccf584d93b2642c0a413a47fc821d1f5dbfd
Author: Liu, Zhiguang <Zhiguang.Liu@intel.com>
Date:   Tue Aug 9 09:25:35 2022 +0800

    UefiCpuPkg: Simplify InitializeSeparateExceptionStacks
    
    Hide the Exception implementation details in CpuExcetionHandlerLib and
    caller only need to provide buffer
    
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Leif Lindholm <quic_llindhol@quicinc.com>
    Cc: Dandan Bi <dandan.bi@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Jian J Wang <jian.j.wang@intel.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>

commit 1da2012d938f141821740324e2dceee1b4cfa76d
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Jul 26 17:54:42 2022 +0100

    PrmPkg: Add details on AArch64 build to the Readme.
    
    Specify how to build the PrmPkg for the AArch64 architecture.
    Make the 2 following notes:
     - the PrmPkg has only been tested on AArch64 using the GCC5
    toolchain.
     - All symbols to be listed in the PRMT as well as the
    PrmModuleExportDescriptor must be explicitly preserved by resorting to
    the --require-defined linker flag.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 57faeb782a505935363936ab2edce282d3afc4d5
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Fri Dec 18 14:01:55 2020 +0000

    PrmPkg: Support AArch64 builds using GCC
    
    Add support to build PrmPkg for AArch64 using the GCC compiler.
    
    Add AARCH64 architecture to the list of supported architectures.
    Add BaseStackCheck library to allow for Prm module builds on AARCH64.
    
    Also update the CI to add dependency on ArmPkg.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 21200d9fe6d5b8078b93dbddfbcdf536308b67e4
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Apr 5 18:57:23 2022 +0100

    PrmPkg: Build Prm Samples with GCC for AARCH64
    
    - Add the --prm flag to the GENFW_FLAGS
    - Add the --no-gc-section to the linker flags so that apparently
    unreferenced symbols are not prematurely removed from the .dll which
    is used to generate the Prm module .efi.
    - Force the linker to maintain the PrmModuleExportDescriptor symbol.
    - Force the linker to maintain the PRM handler funtion's symbol.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 9f197e44b102a8d7d457d2cb4f54967681c858a9
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Tue Apr 5 18:53:25 2022 +0100

    PrmPkg: Enable external visibility on PRM symbols
    
    Enable GCC compilations to keep external symbols when generating a PRM
    module.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit 1ee162281710650d444c554f9fdbbd404abd9677
Author: Jose Marinho <jose.marinho@arm.com>
Date:   Fri Oct 29 17:48:26 2021 +0100

    Basetools/GenFw: Allow AARCH64 builds to use the --prm flag
    
    The GenFw invocation with the --prm flag was previously reserved for
    X64.
    AArch64 platforms, built with GCC5, can also deploy PRM modules, hence
    the --prm flag is also applicable in builds targeting the AARCH64
    architecture.
    
    This commit enables the --prm flag to be used for EDK2 builds targeting
    AARCH64.
    
    Signed-off-by: Jose Marinho <jose.marinho@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

commit cf02322c984a16fc2af252124df96564e574f3a7
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 22:08:12 2022 +0800

    BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit d241a09afbe4f472a5d7da5090dfc85046f2250f
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Wed Jul 20 20:00:39 2022 +0800

    BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header
    
    Print 'SubtypeGuid' field from the EFI_FREEFORM_SUBTYPE_GUID_SECTION
    structure.
    This value describes the raw data inside the section.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng<bob.c.feng@intel.com>

commit f5f8c08db92d15c7a359a5eb3b0cc2545c945942
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 23:45:52 2022 +0800

    BaseTools/VolInfo: Show FV section boundaries
    
    Currently there is no labels for start and end of the
    EFI_SECTION_FIRMWARE_VOLUME_IMAGE type section. Therefore it is not
    possible to see where the FV section ends and another section starts.
    Add labels for start and end of the FV sections to fix the issue.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit a0a03b51548e6fc7524b5aa9f8042cbabce6da1c
Author: Konstantin Aladyshev <aladyshev22@gmail.com>
Date:   Tue Jul 19 22:27:10 2022 +0800

    BaseTools/GenSec: Fix typo
    
    Fix typo in the help message.
    
    Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>

commit 3e599bbc105ff089b21b6024100d585a8c781328
Author: Edward Pickup <edward.pickup@arm.com>
Date:   Thu Aug 4 10:20:50 2022 +0100

    DynamicTablesPkg: Fix using RmrNodeCount unitlitialised
    
    Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
    an additional check for ACPI version. This fixes a crash running on
    kvmtool.
    
    Signed-off-by: Edward Pickup <edward.pickup@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

commit a8f59e2eb44199040d2e1f747a6d950a25ed0984
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:09 2022 +0800

    MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This change modifies AhciPei library to allow usage both EDKII_PCI_DEVICE_PPI
    and EDKII_PEI_ATA_AHCI_HOST_CONTROLLER_PPI to manage ATA HDD working under
    AHCI mode.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>

commit 86757f0b4750f672f346d955f89e5b76430ba6b4
Author: Czajkowski, Maciej <maciej.czajkowski@intel.com>
Date:   Tue Aug 2 01:00:08 2022 +0800

    MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3907
    
    This commit introduces EDKII_PCI_DEVICE_PPI. The purpose of this PPI is
    to provide a way of accessing PCI devices to drvice drivers such as
    NvmExpressPei or AhciPei.
    
    Cc: Hao A Wu <hao.a.wu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
    Reviewed-by: Hao A Wu <hao.a.wu@intel.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 08:08:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 08:08:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382822.617858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLKHe-0004OY-Jn; Tue, 09 Aug 2022 08:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382822.617858; Tue, 09 Aug 2022 08:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLKHe-0004OR-Fg; Tue, 09 Aug 2022 08:08:14 +0000
Received: by outflank-mailman (input) for mailman id 382822;
 Tue, 09 Aug 2022 08:08:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VsBn=YN=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oLKHc-0004OJ-Sx
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 08:08:13 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80084.outbound.protection.outlook.com [40.107.8.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65413755-17ba-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 10:08:05 +0200 (CEST)
Received: from AS9PR06CA0308.eurprd06.prod.outlook.com (2603:10a6:20b:45b::28)
 by DB9PR08MB6507.eurprd08.prod.outlook.com (2603:10a6:10:25a::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 9 Aug
 2022 08:08:08 +0000
Received: from VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45b:cafe::7e) by AS9PR06CA0308.outlook.office365.com
 (2603:10a6:20b:45b::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15 via Frontend
 Transport; Tue, 9 Aug 2022 08:08:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT008.mail.protection.outlook.com (10.152.18.75) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Tue, 9 Aug 2022 08:08:07 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Tue, 09 Aug 2022 08:08:07 +0000
Received: from 5e29a059cbca.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DC595C5E-A5A2-4CFA-98E8-3F1EF15201BF.1; 
 Tue, 09 Aug 2022 08:08:01 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5e29a059cbca.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Aug 2022 08:08:01 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com (2603:10a6:10:2e4::7)
 by VI1PR08MB5470.eurprd08.prod.outlook.com (2603:10a6:803:136::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Tue, 9 Aug
 2022 08:07:59 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518]) by DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518%8]) with mapi id 15.20.5504.021; Tue, 9 Aug 2022
 08:07:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65413755-17ba-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=nRUZ7HZ5yovfmYihyLxrVHr8/UE36gi4O74optTVREjGA7NLkx1e88CEUTE3rDuoejqqEyIRPJLSAjVR2k5fJvJbavu7dZqqyftaKkRFZV1SAlXI8E9C+auUf+T7qtPN/0mmH3qxJEG3Cvu3TVssIVHbEquqBczxEq8CYqrTTdliIw9ZhlAVUS87jY0DjlhRz9/LYJg5KAOC/lHrrlqcFKfgU38AIwIyYNds6iD5P74CL2oF5E+qFd18xhRMV0c42XeDd3udtbNfgrLZeTmJzEpPafXNnjqJzA1PiJarRVQe8Vx3QLCm+YDBKcuyHxzqaJ5yu0ZOAgdVQkAT2Kb49g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9kCQSUP1KNF16XoRASwxg0ZiuNazY6sZKtoDPBN1gBk=;
 b=mRZSEQbzdQwzekbzDSHv9ajiP5nlo82iysTcsWYWIg9v5MWMc3wKyhf051SJiFleWnmC8IdWVmiO1kkj+HAYXY1UwEjTkK2zPdN4JRzbAftA2N2cSjc1smZtUFlhvodpMvI2tFAgy7t8rsZhFFYdZj8IPAq3ryTuYiehQ3wEBNcAhjtOSutqBJsFlVWd5cfETFzk4WV6tVafSoE932jXyTD6LGgx+axkzDyyO2DxJ42pxsQT7UCXVMkm4YbPZUYzU3zYV6c/5JenVsC0VYJKJvVt8oFdbfBkwHdYzoO3ZFNeDEdKZ8aaqlGMzC9T95lJ+VBlsT37J/t02U9Ekjy4Ow==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9kCQSUP1KNF16XoRASwxg0ZiuNazY6sZKtoDPBN1gBk=;
 b=Lq3N9o5OpKyOp+zT9z3EMgvlci2d4iVTobXhrD6UkYl8Q6auDm0E8XZeJdPYQeBppWmTd1IiK89ClAtvLSxn511EVyGDTSsAMaiummZ0C6CgeU7kXlwZ6gr7QFsvTkILWjfeeJO3C1QpYCox/khDo0wmz3+c9OhWkMjP3iWGJH0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CFs1uFSfcjMer+XFlRY0h59ho0XzMRcCmMYEUTGmVIYTt6wDEVTI4VuVvrEqjgEwRgVnxwDF/T7cOL6sl/2ZLT0QE2b4j53JQisTLLz8wwgpWEbHEJwi4OHdqTRK4wuWYVEDZMteSzdlEtn5V1qQeJjyQw3Y+RQwKXjOhlwB6YcbRFAQ7F0hdGis857hWhL8YdviEsrc5iyB9C68YWJrgQ14NhRCCFrZ1+HCbgWaR41kOSMI9/UL75105QQ2LogXhXWK7v+bQ5gAW49lWQT85YTE5cx9/gxQ0nOMCdDU1sP3CSaOSM1JzXGAGU4u3GasZ1n8d9bv7bcdb0sekmR7xw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9kCQSUP1KNF16XoRASwxg0ZiuNazY6sZKtoDPBN1gBk=;
 b=VooDAHp86T2g2H9QOEZX66P3+XVxQUugqu+qeXUTNwZ0xNfscIvsVewKgHbM7lxh0dL1TcpXl/zYBAthBdPkiWM/ES4UOak6Bzsij/2BrnrkDjAAY7BXzd+vZkbZ5oHreMLmOA1tCqKxPjxll4faD99Lb4/ZM/+NA3okAuwPHjRg3OcJn0TGdIxNaGo3tGzNJPk1jX3gJ0LKDQUtXfUcoGY+eLziTpbVgQQyuV8YK/rb3F3nQvjnekPI7Fg9iRTCoFpbNm7y9AELBgXZpaLlOZw4U95PnhgEahFM9ToIRGi4c3Zt1OCA0D9iN1FZVvc2ta65r9Q2KMyF5V9FaoQ4ZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9kCQSUP1KNF16XoRASwxg0ZiuNazY6sZKtoDPBN1gBk=;
 b=Lq3N9o5OpKyOp+zT9z3EMgvlci2d4iVTobXhrD6UkYl8Q6auDm0E8XZeJdPYQeBppWmTd1IiK89ClAtvLSxn511EVyGDTSsAMaiummZ0C6CgeU7kXlwZ6gr7QFsvTkILWjfeeJO3C1QpYCox/khDo0wmz3+c9OhWkMjP3iWGJH0=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Thread-Topic: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Thread-Index: AQHYm/wqv1nrEHMOJUyQDyAePQJHla2PQtqAgBcOCRCAAALrAIAAAXbw
Date: Tue, 9 Aug 2022 08:07:59 +0000
Message-ID:
 <DU2PR08MB7325A733C5B374ED899A2007F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-9-Penny.Zheng@arm.com>
 <d050bcf4-f71d-423d-a157-4243548f47a6@suse.com>
 <DU2PR08MB7325EB83FDD208467A493557F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <99e65678-c394-01f1-9f49-827388f2fff6@suse.com>
In-Reply-To: <99e65678-c394-01f1-9f49-827388f2fff6@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 42FF908CD720B246B0FE3C97F5FC4C6C.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 94458ecd-9a2f-4fc1-f17c-08da79de4b38
x-ms-traffictypediagnostic:
	VI1PR08MB5470:EE_|VE1EUR03FT008:EE_|DB9PR08MB6507:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 JgIvgWftmUUa18CaI/VZyr+tLTHGYvtYckZRG03ZU8kNXlmy+myHTPSYvJ05pq8tAOhqTgsLcZllHAJFOfcljuownkQGlDmZtQj5ifKkRdCX/OicumKUy42kbz/HcyTTrHWg2f4fGBMbVVKtAqoefs3K5XZcsRF+wO7JRlUXqMbKzZdYAkbp2ULEvkdownqOzN9gCCF75sJ8E9wW8LSQyZPD94tID3rGodsFJWPdc99l8YPT4HEysYPfumZd3TqGWijqOnV29fEy1gKBrQGB+h7gEXJYv5PSj4bLNNyQ8bFmBEs+7iwXR9yp7qjXvCnSJ1BuqdLO396INqp/5wtPpzirsXK44anwAQ2WRRIB688+oT8v3FnXV1CIu6xzOLCHQgjPGkITIh941k052sbOaot59wO/XC6qs26Qv2iu1NWRwatfmg/r0QcSq2EkI6CChTbL4UazdtpqgXgxgSL52A1gIbTx8nBLeUJ2rlZrtobOtCJIoBPr8bT+cprTVreQCcPNfDS8CKYI8CNgiYV1qBA3pXZf/YqTqBRzEPKGjeQ3IO6bkDhOnkLfDKITEqIKAhXsX4cwqvCFQ34BCJFxiAV1GafYq1dvWErExZygOl39ADRmYCvZCu0aBmKNB9dZOzmOLCqSJSV9Cu+C2lRiSR/ccHOH2JTjOwsU8MGkoQ3ggAYq0iZnvyFSmGqe3SNQxOb1XUEL2g2r2XQ1FzTJk+Cs6ephSxS1qlAG7EeemOMXnpUh16p5JP8R849FGxewbqVczUtyj+2Of9/8w4+vftqqmTgl/DupQtL0XJyhV1watfjcZxIlwQwccyvTWuFT
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(346002)(366004)(136003)(396003)(122000001)(2906002)(6916009)(54906003)(38070700005)(55016003)(38100700002)(83380400001)(52536014)(33656002)(8936002)(5660300002)(66476007)(186003)(53546011)(478600001)(9686003)(41300700001)(66556008)(66946007)(4326008)(76116006)(66446008)(64756008)(26005)(8676002)(86362001)(316002)(7696005)(71200400001)(6506007);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5470
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	dc46f409-6f72-4858-47ee-08da79de460d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sDzPTFwY++0AZvOblhuTHcxFqb3BbsS4kYhx3cVHBipO3YfdcpYrIl9GTDe4aWJU8Z5qe42AMd4PtK11iNklUCVhkpkAeWWripTswXul2KREZiYbAlY1alsST61DeGPQL23QluShWKWHBHtViLhyNlFN5dtPrY5Bi1bZProZSWw1WCcTVuZcTOrDwro7NKkeAtrN8ocuz1tIWiKI+78bIrU4BXHhQIqsttrTW6ZqopqnaZohLUGkCNoxmNwK0z7eBVlVKFlh3tHDjyURuOSgcEyJbi+/mYznlQytQ6O7yRNC6VBgOiWnIqdC6v2tcFmPVZWKkv4cws0EMwXI7PMFyq/oZLlWJNpDEB169gD8MVvuE7zNygFvqIL9H65YwBR3hqBuPQrvV+bgRqw+w9EsgMX23dRwNOg3+0n/CL5Dw7gxPHBkDOVR1T8+yOzY8vCbiKpCzaxLqfp7cLnO7DuChcpjfdl1cpAnCChOr8avQj0a87vXZS6r26cwIsWFvIpye96CTDFmTzOpWh0rijUM6gol3aroZv3TB22Kb1Rc1PVCKZrnP4Zl85SpwaZHpuWUb+0uDpsZjtGBcP7VAXTskyeMdGQjiH2HuqFOcblcIyDc+QGjjLO0zW47ybP42P/yFRhiSTo2VcMz2mul6jaRXBTcJMmrXMRZzRxyyfPTmpHCY/2ekEmB29copQwRiVqPRJSPuqpUI6vei501qjrBxrc78b1KlJc0L1CQQBWnxE/ssOEfjNofDB/a3/rYLbWLE7MQSjFb+14T+VudgSy/OTIkf54yoUm+QK49Dgi1JgkXfsscgwGy7jJUMrisB7/s
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(136003)(39860400002)(376002)(40470700004)(36840700001)(46966006)(82740400003)(4326008)(70586007)(70206006)(6862004)(54906003)(36860700001)(5660300002)(316002)(82310400005)(8936002)(8676002)(186003)(478600001)(52536014)(2906002)(47076005)(26005)(9686003)(33656002)(41300700001)(7696005)(336012)(6506007)(53546011)(40480700001)(356005)(81166007)(83380400001)(40460700003)(86362001)(55016003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 08:08:07.6820
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 94458ecd-9a2f-4fc1-f17c-08da79de4b38
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6507

SGkgamFuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmFuIEJldWxp
Y2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgOSwgMjAyMiAz
OjU5IFBNDQo+IFRvOiBQZW5ueSBaaGVuZyA8UGVubnkuWmhlbmdAYXJtLmNvbT4NCj4gQ2M6IFdl
aSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgQW5kcmV3IENvb3Blcg0KPiA8YW5kcmV3LmNvb3Bl
cjNAY2l0cml4LmNvbT47IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT47
DQo+IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz
dGFiZWxsaW5pQGtlcm5lbC5vcmc+Ow0KPiBXZWkgTGl1IDx3bEB4ZW4ub3JnPjsgeGVuLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjkgOC84XSB4ZW46
IHJldHJpZXZlIHJlc2VydmVkIHBhZ2VzIG9uDQo+IHBvcHVsYXRlX3BoeXNtYXANCj4gDQo+IE9u
IDA5LjA4LjIwMjIgMDk6NTMsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+PiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBYZW4tZGV2ZWwgPHhlbi1kZXZlbC1ib3VuY2VzQGxp
c3RzLnhlbnByb2plY3Qub3JnPiBPbiBCZWhhbGYgT2YNCj4gPj4gSmFuIEJldWxpY2gNCj4gPj4g
U2VudDogTW9uZGF5LCBKdWx5IDI1LCAyMDIyIDExOjQ0IFBNDQo+ID4+DQo+ID4+IE9uIDIwLjA3
LjIwMjIgMDc6NDYsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+Pj4gV2hlbiBhIHN0YXRpYyBkb21h
aW4gcG9wdWxhdGVzIG1lbW9yeSB0aHJvdWdoIHBvcHVsYXRlX3BoeXNtYXAgYXQNCj4gPj4+IHJ1
bnRpbWUsIGl0IHNoYWxsIHJldHJpZXZlIHJlc2VydmVkIHBhZ2VzIGZyb20gcmVzdl9wYWdlX2xp
c3QgdG8NCj4gPj4+IG1ha2Ugc3VyZSB0aGF0IGd1ZXN0IFJBTSBpcyBzdGlsbCByZXN0cmljdGVk
IGluIHN0YXRpY2FsbHkNCj4gPj4+IGNvbmZpZ3VyZWQgbWVtb3J5DQo+ID4+IHJlZ2lvbnMuDQo+
ID4+PiBUaGlzIGNvbW1pdCBhbHNvIGludHJvZHVjZXMgYSBuZXcgaGVscGVyIGFjcXVpcmVfcmVz
ZXJ2ZWRfcGFnZSB0bw0KPiA+Pj4gbWFrZQ0KPiA+PiBpdCB3b3JrLg0KPiA+Pj4NCj4gPj4+IFNp
Z25lZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxwZW5ueS56aGVuZ0Bhcm0uY29tPg0KPiA+Pj4gLS0t
DQo+ID4+PiB2OSBjaGFuZ2VzOg0KPiA+Pj4gLSBVc2UgQVNTRVJUX0FMTE9DX0NPTlRFWFQoKSBp
biBhY3F1aXJlX3Jlc2VydmVkX3BhZ2UNCj4gPj4+IC0gQWRkIGZyZWVfc3RhdGljbWVtX3BhZ2Vz
IHRvIHVuZG8gcHJlcGFyZV9zdGF0aWNtZW1fcGFnZXMgd2hlbg0KPiA+Pj4gYXNzaWduX2RvbXN0
YXRpY19wYWdlcyBmYWlscw0KPiA+Pg0KPiA+PiBNYXkgSSBzdWdnZXN0IHRvIHJlLWNvbnNpZGVy
IG5hbWluZyBvZiB0aGUgdmFyaW91cyBmdW5jdGlvbnM/IFVuZG9pbmcNCj4gPj4gd2hhdCAicHJl
cGFyZSIgZGlkIGJ5ICJmcmVlIiBpcywgd2VsbCwgY291bnRlcmludHVpdGl2ZS4NCj4gPj4NCj4g
Pg0KPiA+IEhvdyBhYm91dCBjaGFuZ2UgdGhlIG5hbWUgInByZXBhcmVfc3RhdGljbWVtX3BhZ2Vz
IiB0bw0KPiAiYWxsb2NhdGVfc3RhdGljbWVtX3BhZ2VzIj8NCj4gDQo+IFBlcmhhcHMgLSBpZiB3
aGF0IHRoZSBmdW5jdGlvbiBkb2VzIHJlYWxseSByZXNlbWJsZXMgYWxsb2NhdGlvbiBpbiBzb21l
IHdheS4NCj4gU28gZmFyIEkgd2Fzbid0IHJlYWxseSBjZXJ0YWluIGluIHRoYXQgcmVnYXJkLCBh
bmQgaGVuY2UgSSB3YXMgd29uZGVyaW5nDQo+IHdoZXRoZXIgInByZXBhcmUiIGRvZXNuJ3QgYmV0
dGVyIGRlc2NyaWJlIHdoYXQgaXQgZG9lcywgYnV0IHRoZW4gaXRzIGludmVyc2UNCj4gYWxzbyBk
b2Vzbid0IHJlYWxseSAiZnJlZSIgYW55dGhpbmcuDQo+IA0KDQpIbW1tbSwg4oCccHJlcGFyZeKA
nSB3aXRoIOKAnGRlc3Ryb3nigJ0gaW4gaXRzIGludmVyc2U/IERvIHlvdSBoYXZlIGFueSBzdWdn
ZXN0aW9uIGluIG1pbmQ/DQogDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 08:27:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 08:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382832.617869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLKa2-0006p8-5x; Tue, 09 Aug 2022 08:27:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382832.617869; Tue, 09 Aug 2022 08:27:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLKa2-0006p1-31; Tue, 09 Aug 2022 08:27:14 +0000
Received: by outflank-mailman (input) for mailman id 382832;
 Tue, 09 Aug 2022 08:27:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLKa0-0006ov-AX
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 08:27:12 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2081.outbound.protection.outlook.com [40.107.22.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0ffb1f4b-17bd-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 10:27:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR04MB3307.eurprd04.prod.outlook.com (2603:10a6:7:23::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Tue, 9 Aug
 2022 08:27:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 08:27:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ffb1f4b-17bd-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nFLplgkyafVrRKoqc8jB1P4clplGfpfOo2lycGmv5hd5LlQ8SLd3Ik0FsKLpPj3v6cmms94zCAtzvMZUNy8j5Vqr8jSOG/m5SAiGy63kIBR+YnTLPVMNxQVn5djqp8UfeReU87rgALhgC+Ct43ubeeKr3olhKbApnaHzeA9MFn/MNNrn5NDxzcvtoDHFuA3zRVssZM3kgSH5XPkKOV4LWtCYWV3hs4OcHjkpqTnA1msyohyqq7KuK6qhMeTYkr719oxixv/zh5b43TOETH4UzkjAO8+RFsysg1+vTGNKDtur+pXb1mnjjNRnrHlmOoneMDvt1yp949xguRBBNijGYQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v3V6exqC7DjK0CpM1a16AgTs+9nQUwwXI9cvn6J8I4U=;
 b=KfdHuhyjISGFjPogc2y4eCGyA5hNqMTeZh6xe/Hw43mQuDMYlGuapiW2Q2ODxjk5UsKJHNHw8hasmh6+tlUuhCY5cmfPWfs204JnORuFraIDB2kZ9X4koRFAlb9gEWic3A9uTvEH1r45xOKDDRWzddtZdavrSgDQgZ7pajcxhD3z6ireiKW7PZX1aLaoNH/y3EtsvOz4MgpoUfD50ok7FK0PZiSLaHJP1uXoPr4HGXVYStsMaUw4TAzxB3QuZXnsPUF80Y2x08vdwsIQJClZLyH+p1jqKg0GO7/j+I/0JV9sIQ735hnmxULls41gyD9Q7Nlq5nfR3OE0RIPQKClgBQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v3V6exqC7DjK0CpM1a16AgTs+9nQUwwXI9cvn6J8I4U=;
 b=GCJMaxe58nHxNIruIEAusmYrgduWCECEb6dNWboX4eRV7kYDbcDcaQes2RR9RE9xVUGHQNBiVHRTr5EoE6W5FX93s8AeJwvaRZh7jtu7Hy/q9rzMAzQJsVz+NLzv3ORbFU5HgQRifA4ehrQHz3rqHqedFpkkowbkPbFFWrnims1o9iHMhkWZvPj28l1HyN5n3Ip/Uox3utI53HF0o+r3tvTpyztE/0vsCKm81ZYzVxDBsQK6u8CkhVUiB4ToOz20C7zMDK0cueTXCEu2CtIjHbn8bdr+DG9lCq6ETKdIFOW7MuipNQDa9/baCNATw4kIvDgVT6omTUWqJ0JN0fAFhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <14ce6b41-c422-abac-4b59-541511d75cae@suse.com>
Date: Tue, 9 Aug 2022 10:27:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>
Cc: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-9-Penny.Zheng@arm.com>
 <d050bcf4-f71d-423d-a157-4243548f47a6@suse.com>
 <DU2PR08MB7325EB83FDD208467A493557F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <99e65678-c394-01f1-9f49-827388f2fff6@suse.com>
 <DU2PR08MB7325A733C5B374ED899A2007F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <DU2PR08MB7325A733C5B374ED899A2007F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS8PR04CA0155.eurprd04.prod.outlook.com
 (2603:10a6:20b:331::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2537e118-452a-4f7c-cbcf-08da79e0f32f
X-MS-TrafficTypeDiagnostic: HE1PR04MB3307:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	r+Rc5wYf5BoK2PiMIbHZWAlCOZnmxBUPKUEfCj0g4YYwU/+D6KaXKLTicpiQ/+1ypltsCRmbGt1HzW5n3AJzYYptefN/C3JhnlByjqyHh/wLXQLAERhSj1A9R5XkiPswwi/dqPMbgLjFe+hFdOdzUQWkgUK1lWPhNetN8/3bpyIQSqLxEUyzJWdkCMHT5JMQuSkLdC8U03cGJuVZzNO6SOvcOQrm+bK8eY7HKKFyPj3IVLuvY9WArSRzdNR/iCRf5Y2WQZKctBPSXvKfWTvMoUiFsQURMA3atpNRgNlXipDjicP2kwdoKst98feAsky3z3dDpsV7OVujpQopI95KVY2gonGbG8df00jacXn4n5xpp1N38kn92tyOEpXvwPwBag9SINcGsJazvzDthS33gcjOc2u6RJBilSXtvOMJo4o5gCkXo3X4x1AZ9DNWyih2xE6538rxSXW5sfaYVXKaMl1eNqxTMY+3ICfv7dBKy7dqNI/9n3D+ETFwxpYuQuxh0q5jrMNFv4OESX9hewNYiMbiIhfa+tuWHTbQtH/L0jtjq1/b8HIZWeSyRjoqT7C9SvwlI0KCqRPNryJc/s1gfssdMG5PGj5JjeE1fBe1tzLozZGHzQiD24TX2XX2E9jWIN001ynSCJFWgVT1yq370pkRdM6tK2vZ9q/R9dTUu+4n9Ln9AtxCOrWpxJBcfxX4ixT0B6xkjfQr4zMo1A3D/KjG4VBW8oKk0vIWGAJXnpEnqVV0lz0etdhrVE/nXKGabasgtIdUT45Ld3HXllZ2ZE+k8ujAh6yvpjDWIHjQz1PGzTnr/1DvRvhiVhVP44f0nUEYhuDqYZV9XMLGVmtAGg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(39860400002)(346002)(376002)(366004)(66476007)(38100700002)(66556008)(66946007)(478600001)(31696002)(6486002)(6862004)(8936002)(5660300002)(8676002)(54906003)(86362001)(4326008)(316002)(31686004)(83380400001)(6512007)(26005)(36756003)(186003)(2616005)(41300700001)(53546011)(6506007)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bEh5WjlXZVpscXRDUWE3SjU0U2V2dTVqS2Y3VlpOY0VOM0t2dmxxWG5pWmtP?=
 =?utf-8?B?cmpMTmsrZWtqYURwS1NuQW5iZkpINHpGSzlnUGRPbEF2UmlTTDBUMENzaUVQ?=
 =?utf-8?B?aE9pZzhSajdib2x0TUQ0V2FXUmtBbGxtSi9oZlNzakVlWTJ0NjRJZGpRS1Mr?=
 =?utf-8?B?R3BjWVZZZ0JXS1o1LzNuMGtJTitmWjA1ZGR1T1pBSGRVSWltaUtpa08ybjFz?=
 =?utf-8?B?ZG1vQy9CSkNwMUFoM09sQ1UxdVhNanMyM2hTeVZmMG9KVE5PSGRDWjRnZ1Fm?=
 =?utf-8?B?M0xna0pEZHF6QVNCME1DNzBtMWQrNGYyczZTS0l2cHJQS3BjS29QbEVwYURR?=
 =?utf-8?B?cTk5Vm1JM2hzRmJKc2Zjc21ST2Q3ZFQzNzdsdnFaalliUXJ2TjRQSjhNZGJF?=
 =?utf-8?B?RU40aS8xMW5mU013OFZkR1lRTm95UmtKM3J2azN0cE9PSXlRSGl1QXNINkRi?=
 =?utf-8?B?RGRZV1FYN2dvLzQvcXlxOTJGaWYrZTRSRTNUaFBlcy9WWU54RkJ5a3B3b21j?=
 =?utf-8?B?ZWpxcUtodkZnVHdvNCt0bHIrSDJSZ1g4Ri9MbEw3YkJsWW16S2RsU2kvV1VB?=
 =?utf-8?B?bXcraWdTcFRGZThXWXliZmlKcXROSXJ1ckVidy9VYVBxMWRKSmpJc1h2VnJ0?=
 =?utf-8?B?VDZYYXkyb3NIOHlyb3VydGVmZHd3SWZFTVpnZFpNUjJNcnJmQzZMbXNySzFz?=
 =?utf-8?B?dHhaRlRWaTJnOUVGRXVHanNCdlhDSHp0eEV4QTZ1TWo2cHBzRUhCSGdTRWRJ?=
 =?utf-8?B?eTRPNTNQbjg0V1FjUnkwei9BbmpIdVZMVmEycDdkQmR1MmVBcSsvd1FHRXlV?=
 =?utf-8?B?MkMwb3FYV2dOU3lCdGUxSTJvaGtRbDdGa3lXOEF4VVRsbmNNS2FMNEwrZUc5?=
 =?utf-8?B?TEhlTVROQnB4T1FEVDRYZW5kck9OUTlabGRMYzQrdTVmdkNCTGlZaXFWcFpM?=
 =?utf-8?B?M1JNYUxDdE03WHp6VUo5M3dDSitGUkpRZjlwakRYOGFJM1pqTm05d1NnYVZQ?=
 =?utf-8?B?TWp3Q29QaVJvQjhVR09xb0Zmc3hGdHNTM0ZBK0hjZ1BHbG05MUExS21VRmJj?=
 =?utf-8?B?YnRjdkFSMHd6akZDdXFsWEdYUnd5NmRFVVN4dCtOajRKdnBiOXZrbEtjMnBs?=
 =?utf-8?B?RkVwcUNlVmZiWHpMRi9kRTFQb1F6VzFRb3hOYXhWWmxYR05UTlk4SUxZRVlO?=
 =?utf-8?B?Q2daakdHLzdRbnFaUFhQdkQrRGUrUi9oQmVqYmNrbFRiemk4UEFRZXVZRTZZ?=
 =?utf-8?B?YUtsdXhkSHMwai9JdVlvRU5GeU9BNkNyeWMvbWkrc0dhbHZWbGYvZ2lGN0hN?=
 =?utf-8?B?eW9SWHBJK0VpbmZZZy9zaGxyQmlmb3p4Q2c3cm41REI3N2lONVJTUXorVXZ4?=
 =?utf-8?B?NDRIWDlkQnZnV3hMajltYXJqc0RpUFg3N0wybXJkYjNpQzlXZ1ZVSGRzU3Rp?=
 =?utf-8?B?L0YxWTExelhPbkRSZlNuS3pHWDRvUEE0L2hLOEVUcGpOcGJqdXlrb0hrMkFY?=
 =?utf-8?B?ZVdPenFyQlNwNjhBbjhBTnlwWlZMcjNEcHN6QThyWTFBVkNaVkRIQkF4TnQx?=
 =?utf-8?B?NjlWVzRCT2xrNndzaXorRmJWNG5HUjJaZ0xzRmZBMGhQc3FJRmhRTlZ0bTFl?=
 =?utf-8?B?NHBvRVpRK09MVE1Rc0xLa0lUNnE1WU5kL01MaHgvanZMa3BMakd4cUF0M3Vq?=
 =?utf-8?B?S1ZaZ2ZUZFp5ODg1emxac1ZEUjQ1S1RNdkJtMkZMSlRFMzhxL1N2czBsVnZ3?=
 =?utf-8?B?UXBRRUMwMDJFR2w5SmtrRHdKaXlYNnpiZkoyT21qYXBRUUJlUHNiekYvanJz?=
 =?utf-8?B?RWlEbmZaYzB3RmxFRTQwRUZxN090UWp0QU5HZVQ0K3Y0UnhPL0twZzAxeVhZ?=
 =?utf-8?B?OGxNTkhoVmtaMU92QkRaYTFKZnlFY0NCOUtYbnJYejNHTXJ4V1ltQlN6SlJ3?=
 =?utf-8?B?ZjlTU3FtNGVERjkzSXJ0TGp2WUQ3bVlxTThXNVNaKzZXU0dkdFFqeTRhSXkr?=
 =?utf-8?B?cHlIR21tS25DSFZFWHZQdzlLd3FXUlJTWFlUaHFzR09CRGJGTERXbVo1UnFF?=
 =?utf-8?B?a2NLUlJvZmpaZ09JYkJ4VDJ6UDI1S2k1aTg1MUM1ekljZFd0NzNBUUI0R2Vm?=
 =?utf-8?Q?DLav8S41z/7DXOxpNFYfovDpx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2537e118-452a-4f7c-cbcf-08da79e0f32f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 08:27:08.7696
 (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: PQKXvvvoYMCIqGqJbEp/oDt3Tfpztcx7x6LMb8FXhKGl9TBdDevAPcn0vOkdQms1AUiBjh9OLJhvnHqKx5OLCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3307

On 09.08.2022 10:07, Penny Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Tuesday, August 9, 2022 3:59 PM
>>
>> On 09.08.2022 09:53, Penny Zheng wrote:
>>>> -----Original Message-----
>>>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
>>>> Jan Beulich
>>>> Sent: Monday, July 25, 2022 11:44 PM
>>>>
>>>> On 20.07.2022 07:46, Penny Zheng wrote:
>>>>> When a static domain populates memory through populate_physmap at
>>>>> runtime, it shall retrieve reserved pages from resv_page_list to
>>>>> make sure that guest RAM is still restricted in statically
>>>>> configured memory
>>>> regions.
>>>>> This commit also introduces a new helper acquire_reserved_page to
>>>>> make
>>>> it work.
>>>>>
>>>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>>>> ---
>>>>> v9 changes:
>>>>> - Use ASSERT_ALLOC_CONTEXT() in acquire_reserved_page
>>>>> - Add free_staticmem_pages to undo prepare_staticmem_pages when
>>>>> assign_domstatic_pages fails
>>>>
>>>> May I suggest to re-consider naming of the various functions? Undoing
>>>> what "prepare" did by "free" is, well, counterintuitive.
>>>>
>>>
>>> How about change the name "prepare_staticmem_pages" to
>> "allocate_staticmem_pages"?
>>
>> Perhaps - if what the function does really resembles allocation in some way.
>> So far I wasn't really certain in that regard, and hence I was wondering
>> whether "prepare" doesn't better describe what it does, but then its inverse
>> also doesn't really "free" anything.
>>
> 
> Hmmmm, â€œprepareâ€ with â€œdestroyâ€ in its inverse? Do you have any suggestion in mind?

To be honest I was hoping you would make an attempt at finding a suitable
pair of verbs. To me "destroy" is more the opposite of "create", and I'm
unable to think of a good opposite of "prepare" (short of resorting to
"unprepare"); if I really needed to come up with something then it would
likely be "cleanup", albeit I'd not be overly happy with that either.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 08:32:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 08:32:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382839.617880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLKeq-0008Fs-Ng; Tue, 09 Aug 2022 08:32:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382839.617880; Tue, 09 Aug 2022 08:32:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLKeq-0008Fl-Kt; Tue, 09 Aug 2022 08:32:12 +0000
Received: by outflank-mailman (input) for mailman id 382839;
 Tue, 09 Aug 2022 08:32:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLKeo-0008Fb-Tb; Tue, 09 Aug 2022 08:32:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLKeo-0002FH-O6; Tue, 09 Aug 2022 08:32:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLKeo-0002PB-DL; Tue, 09 Aug 2022 08:32:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLKeo-0005cq-Cv; Tue, 09 Aug 2022 08:32:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cRnVkngQ0tEVYBZoyuO7qE4w38UF3RU2KOlcDzGsGbo=; b=V1Jepc3eVHgL1w/zmyUV/c7uyg
	XQUCTzEfNqPaPO74WzRz5K15FthP7nLcCr7C1upsqgo6sQ1YDs6NKjCiVWeOsW8x70XrQHEaeQPdk
	ABDv5kMiaGfhAJMq0ESJzbp6LNCN3Xn/lQVUkxVbPDfOz60aixZvXLHUAnQ/N/Tg+xk0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172318-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172318: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=2dd3ec6f57eba6673eca5d965ca79bafd8b83d59
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 08:32:10 +0000

flight 172318 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172318/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              2dd3ec6f57eba6673eca5d965ca79bafd8b83d59
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  760 days
Failing since        151818  2020-07-11 04:18:52 Z  759 days  741 attempts
Testing same since   172318  2022-08-09 04:20:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118603 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 08:58:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 08:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382851.617891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLL4B-0002NN-TS; Tue, 09 Aug 2022 08:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382851.617891; Tue, 09 Aug 2022 08:58:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLL4B-0002NG-Ph; Tue, 09 Aug 2022 08:58:23 +0000
Received: by outflank-mailman (input) for mailman id 382851;
 Tue, 09 Aug 2022 08:58:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VsBn=YN=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oLL4A-0002NA-6d
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 08:58:22 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10058.outbound.protection.outlook.com [40.107.1.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69a73971-17c1-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 10:58:19 +0200 (CEST)
Received: from AS9PR04CA0110.eurprd04.prod.outlook.com (2603:10a6:20b:531::12)
 by DBBPR08MB4806.eurprd08.prod.outlook.com (2603:10a6:10:db::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.19; Tue, 9 Aug
 2022 08:58:15 +0000
Received: from AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:531:cafe::a2) by AS9PR04CA0110.outlook.office365.com
 (2603:10a6:20b:531::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21 via Frontend
 Transport; Tue, 9 Aug 2022 08:58:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT033.mail.protection.outlook.com (10.152.16.99) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Tue, 9 Aug 2022 08:58:14 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Tue, 09 Aug 2022 08:58:14 +0000
Received: from d39d4bd9d902.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9848F4BA-E12C-400A-A3E8-423E0BA8BB14.1; 
 Tue, 09 Aug 2022 08:58:03 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d39d4bd9d902.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Aug 2022 08:58:03 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com (2603:10a6:10:2e4::7)
 by AM5PR0801MB1746.eurprd08.prod.outlook.com (2603:10a6:203:3b::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Tue, 9 Aug
 2022 08:58:01 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518]) by DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518%8]) with mapi id 15.20.5504.021; Tue, 9 Aug 2022
 08:58:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69a73971-17c1-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=klJvBe3zNawfiBdj4JGhD4DO3oVo7wHSEeXoCQZV/OIOVsh8EZJ1cRh9feodjZ2dBlLQM5KcacCQ7+KyjH9ssPiqIIdo7zCvu3iwzf7QpNq7WYc8T2HaVwpMbZbkotg+R/U42YgrD0it7OEU6rZUUhh0UUYXq4NBja94IU5+A2prIwKylbMeFWkXcEdZkogRYzL3HMFU4XGFy/xSWCaAKkS/qrVbMkVkqqhdo9M32prM/FnhW84ShjmkKjsEgf62Aj562L4j+bIrmfI2Sh+VzPMqE5B109H6QmcOftA4hehuyiRGwQ7Pa4DkVPmPjXZFOIb4OmxKh7egBHAvqIg5Qg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qc/J9r3AaJPnUqwMqXYwWHPL/cC6vYuHrNbRr6+mLwk=;
 b=R6rwlQbBt6Wef26epROddVVyBmJDKvmGAb1zNMaGjY/6TAPv8r0wY1RqVx8BWOno6dqHvIiIJPNfCvNTNzxkIWJgKKbWk1wF+7UhFDl9PmVDtw48xJhitMh2lZICjbN5g3+mZRB4prT/vLU9ghVqheaE7RIRZ7PPighIUa3RU4vLuzMqRH9r84O4q6lxvZHydd5FpVGTd/3u2b09FPmmEklsa/WlL6bOWovBV6fuAzAisDsdmMOw3C6YiqDjjwwF//7A/gv2zb4S7QHrgB2g5IbnGgVQP9bWTsy2w5tG9hYQ8IK3Yx5gIGcYBz253aDwbcJqlSOIzjLh/JXKs6KW9g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qc/J9r3AaJPnUqwMqXYwWHPL/cC6vYuHrNbRr6+mLwk=;
 b=GxuYm07SPHD2wKz/LZrUMtWdoFjXoJeGM0ln/MsmgY4N3KKORj8ljrS+eeHsCIz1NIKWts/ioXXIZEA/GNzId56OgqfEY6mPJjmeQezSceXbXdid0+T9J+DPa1ap5FhQp19hCoRv3xgPwT2pac9Rr9h86Lz/P+97Ul2W1AzEI8s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aEL9CJrEVZ59hUOXP34OGOhmQHBXz6sMrw6q8jOl54CbdieH8trT9NOKEf6OU8dOJxk4f28i4SrJx2hGAVey+CdJhJsEm0pDaqJpaEEJC1NwZqyX6LYkMgPmnFSaD/bjok9iJxUt81zTm1/+WbCFQHoOs6NpHVZsPPzG7OuFjpIWlDEtn88uxm66rNCMXCJMgUMQ4o+LFhsp5bWQ9aGZ27DxASItknNUzvGlwaQMUmtBdxJnbtHFB6Djk8mzjt9Zb32lwkAJq0n9ZCeLnmA8w7woti1pEeZG6jQrMZBZF9YSxyS+K5tviYQZ67cBg2cIPks+8yRTMeW+JZ3RWULvSw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qc/J9r3AaJPnUqwMqXYwWHPL/cC6vYuHrNbRr6+mLwk=;
 b=Q55+rtkFZtUAnvZNw8P/heCHwJnjKiKTkX5GGqvCQ+GPljoyLdeQdDHMtTzbEco5+bdGyJymhjVsZUr0ifPIRq4POmkMxppEZn057sHlLjbSBgVJqQVqjWeh7vM62P296uUJMnDKUWKDF5ycyuOQnwIde/n+y+RxqwTuKDHdGs4iyZxj/3KQKyXVVmrzHLaFaZiGJ/ehtCu6wy12BJM0yD1tXLDgvIR12jE1ttf3O/7do/k5h9HQ7dlrhIQT2AFSsyulNCWZqRsMFnhIDAxETGdFI7wJ9TJq2XLkNn2EKxbtVqbIF9msV4j+jn2GVDao+tN/Xw/KP/a7MLekwMQLFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qc/J9r3AaJPnUqwMqXYwWHPL/cC6vYuHrNbRr6+mLwk=;
 b=GxuYm07SPHD2wKz/LZrUMtWdoFjXoJeGM0ln/MsmgY4N3KKORj8ljrS+eeHsCIz1NIKWts/ioXXIZEA/GNzId56OgqfEY6mPJjmeQezSceXbXdid0+T9J+DPa1ap5FhQp19hCoRv3xgPwT2pac9Rr9h86Lz/P+97Ul2W1AzEI8s=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Thread-Topic: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Thread-Index:
 AQHYm/wqv1nrEHMOJUyQDyAePQJHla2PQtqAgBcOCRCAAALrAIAAAXbwgAAGY4CAAAYCAA==
Date: Tue, 9 Aug 2022 08:58:01 +0000
Message-ID:
 <DU2PR08MB732531F03BB6F436FCC79673F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-9-Penny.Zheng@arm.com>
 <d050bcf4-f71d-423d-a157-4243548f47a6@suse.com>
 <DU2PR08MB7325EB83FDD208467A493557F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <99e65678-c394-01f1-9f49-827388f2fff6@suse.com>
 <DU2PR08MB7325A733C5B374ED899A2007F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <14ce6b41-c422-abac-4b59-541511d75cae@suse.com>
In-Reply-To: <14ce6b41-c422-abac-4b59-541511d75cae@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 8AFB0E0819CB1246833FB1A888D94D5A.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 3cd5baed-6772-4d3d-9326-08da79e54b65
x-ms-traffictypediagnostic:
	AM5PR0801MB1746:EE_|AM5EUR03FT033:EE_|DBBPR08MB4806:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 P7jj8x4unBY3MTjJhDW40iNCBZiGphkNDUekURb6gAbvyispnrzOaORk1vdxvu6Li27WDdqw13RGf6VV/e9bTZiRywosjwbqHbCSHnKFPCNWRBAmQGT4mCBS5Vt3dJUlrPOnIoc6NmJHKDeU1dIFxxK+Bf6rBs6j97zX8cWEJyhO9gDEHZhS2rYLeTw56BmRYkx3l5JV4HqAlarXEmePWDrijjh6gMlWrRdplV7lgBO4FMlU8XcOULA85OgWwioS/42eWcCDxZDre1S/qoF5EXs7z6EmeagaZAZHZez8X+YCpP2LBG1DOKDd/rhvMzVEn8qn6K+slBsI021Gn/5jcXM/D7N7OFEwzvzUKDZctZc8pcQVps3brG38SFtswjAIKj7tieXwYXjkh6hHPuIc6N2pHRgOWaHKe8bDNDUBq4pjmso/xMAnPFTD6yfDCARc9oLyygu3h/ANYPj8NFjUlWhxzD0M5gOd3iih19kMpGNDHCNd+/2XwWvAqlmfpki9oKZZqPfeOjZk+RKlgVya2lIT2mlLOePCf0kz+2x4nl+/m8R+XW4R+i0W8VyANsk7sv+mf9pDRD5bkcKAouXgc6vd2zXGghcFxf9sc/DcKAkvB+1lokptUg0kNc6Js1JbrrrcQ50WjnfULlvCpCCGpZaqhlQ9njhcmF86NqhB1dUbbebIXlG8l8VVLg7/fYwPae6rIoZ6tAebu80uNFROgDr8bzM1kxZjI3hOsoXE3NSHky7nFi7a6+FY6Aj0RACdG07E+O2qgxLp5hgZYzmfQeKSDyz/7HL/oLCEz+cunnPgQCgc10mBkhh0UZI18925
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(376002)(346002)(366004)(66446008)(71200400001)(38070700005)(64756008)(4326008)(83380400001)(8676002)(66556008)(66476007)(76116006)(66946007)(26005)(86362001)(9686003)(41300700001)(53546011)(2906002)(6506007)(7696005)(186003)(33656002)(478600001)(5660300002)(8936002)(52536014)(6916009)(54906003)(316002)(55016003)(122000001)(38100700002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1746
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fd36c39f-25b8-436b-6ca0-08da79e54371
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NXrx5O6OlSC4Z02cP8HbjsvhLSuylkqikdXz4v3ucX07vFuWue1MoE1Tn6JC2A6L+4D9dQNEDlUHMG1FLRxAWK9h5bjV3e/k3Nzv8r6odxPvIhMqd59XrGgxRnfSFnoVbQeR0VytkOwT41MEdpV0/eLuKtRIg7lgBlqQk9nSST6KtXr4WfV6FepJnq7kqA5dBSQajBZh8AbR8MI9ulcI7aZ3V5kqZmkfugXsPjnfhzyd2SmKpkmuwp1qOfXuaxze/OZMLeijOeIGAIRMeBQhxfqGbcS6oDExvKNyg+EXB7PgcRYLY07lGOjTPv7JXATJ4tDbmlRb5AmuwFcWg+VNfyG/jy5ARMh+PUaWEiy8LpKiiNHPsArMn+ihctBa4wBQRRwsfe3SlnkkWq8PPa6qAYRFIekYmvlYfyJFoST07UB+CEfsTBPe6nFHItgk9wwX27kYUErY2o3th4CsxhY/m7Ki1jFurT0FHemOfpXu1DXNQhUT+2ZfrukYpyRzMBAVAe3mrR+umAldL5fUvCoM5FRF/rgrxJUfZxar24nXiS+nRpFtAiKJqR1c3OAzxAyjLxfs557GdzYZy53n/fLnqYv+Y/+2tq6nMMpdzqpduVa+oYHNlSM8OAZcFP8Fr+O/2XjXfo+FWVyP1Vmf6u5rtApHwg7jOEM7QxmXBEgwIsEPnnCeTIIoJkEEoefjFAFL2qZ0J+5R58UW1SLvF/RH3Wt8q8yAJ/1Ccq7uIh0WbgioB85XfkYw6F8/TXuVI0FePPUNnxXe+UqQwH8pplS7kfy2cMtbnPFOnr6LQCt1Sqb1MlVANu5Bvq12RfYvxAaaUWVzVwjyGBiWAsXZqG/ET9ovG//2qOM+dql5YHXVIpA=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(396003)(136003)(376002)(40470700004)(36840700001)(46966006)(7696005)(9686003)(186003)(53546011)(6506007)(336012)(47076005)(83380400001)(86362001)(356005)(82740400003)(40460700003)(36860700001)(5660300002)(8676002)(70586007)(81166007)(4326008)(54906003)(40480700001)(33656002)(82310400005)(70206006)(55016003)(52536014)(8936002)(26005)(6862004)(478600001)(2906002)(316002)(41300700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 08:58:14.5141
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3cd5baed-6772-4d3d-9326-08da79e54b65
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4806

SGkgamFuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmFuIEJldWxp
Y2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgOSwgMjAyMiA0
OjI3IFBNDQo+IFRvOiBQZW5ueSBaaGVuZyA8UGVubnkuWmhlbmdAYXJtLmNvbT4NCj4gQ2M6IFdl
aSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgQW5kcmV3IENvb3Blcg0KPiA8YW5kcmV3LmNvb3Bl
cjNAY2l0cml4LmNvbT47IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT47
DQo+IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz
dGFiZWxsaW5pQGtlcm5lbC5vcmc+Ow0KPiBXZWkgTGl1IDx3bEB4ZW4ub3JnPjsgeGVuLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjkgOC84XSB4ZW46
IHJldHJpZXZlIHJlc2VydmVkIHBhZ2VzIG9uDQo+IHBvcHVsYXRlX3BoeXNtYXANCj4gDQo+IE9u
IDA5LjA4LjIwMjIgMTA6MDcsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+PiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
DQo+ID4+IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCA5LCAyMDIyIDM6NTkgUE0NCj4gPj4NCj4gPj4g
T24gMDkuMDguMjAyMiAwOTo1MywgUGVubnkgWmhlbmcgd3JvdGU6DQo+ID4+Pj4gLS0tLS1Pcmln
aW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBYZW4tZGV2ZWwgPHhlbi1kZXZlbC1ib3Vu
Y2VzQGxpc3RzLnhlbnByb2plY3Qub3JnPiBPbiBCZWhhbGYNCj4gPj4+PiBPZiBKYW4gQmV1bGlj
aA0KPiA+Pj4+IFNlbnQ6IE1vbmRheSwgSnVseSAyNSwgMjAyMiAxMTo0NCBQTQ0KPiA+Pj4+DQo+
ID4+Pj4gT24gMjAuMDcuMjAyMiAwNzo0NiwgUGVubnkgWmhlbmcgd3JvdGU6DQo+ID4+Pj4+IFdo
ZW4gYSBzdGF0aWMgZG9tYWluIHBvcHVsYXRlcyBtZW1vcnkgdGhyb3VnaCBwb3B1bGF0ZV9waHlz
bWFwDQo+IGF0DQo+ID4+Pj4+IHJ1bnRpbWUsIGl0IHNoYWxsIHJldHJpZXZlIHJlc2VydmVkIHBh
Z2VzIGZyb20gcmVzdl9wYWdlX2xpc3QgdG8NCj4gPj4+Pj4gbWFrZSBzdXJlIHRoYXQgZ3Vlc3Qg
UkFNIGlzIHN0aWxsIHJlc3RyaWN0ZWQgaW4gc3RhdGljYWxseQ0KPiA+Pj4+PiBjb25maWd1cmVk
IG1lbW9yeQ0KPiA+Pj4+IHJlZ2lvbnMuDQo+ID4+Pj4+IFRoaXMgY29tbWl0IGFsc28gaW50cm9k
dWNlcyBhIG5ldyBoZWxwZXIgYWNxdWlyZV9yZXNlcnZlZF9wYWdlIHRvDQo+ID4+Pj4+IG1ha2UN
Cj4gPj4+PiBpdCB3b3JrLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBa
aGVuZyA8cGVubnkuemhlbmdAYXJtLmNvbT4NCj4gPj4+Pj4gLS0tDQo+ID4+Pj4+IHY5IGNoYW5n
ZXM6DQo+ID4+Pj4+IC0gVXNlIEFTU0VSVF9BTExPQ19DT05URVhUKCkgaW4gYWNxdWlyZV9yZXNl
cnZlZF9wYWdlDQo+ID4+Pj4+IC0gQWRkIGZyZWVfc3RhdGljbWVtX3BhZ2VzIHRvIHVuZG8gcHJl
cGFyZV9zdGF0aWNtZW1fcGFnZXMgd2hlbg0KPiA+Pj4+PiBhc3NpZ25fZG9tc3RhdGljX3BhZ2Vz
IGZhaWxzDQo+ID4+Pj4NCj4gPj4+PiBNYXkgSSBzdWdnZXN0IHRvIHJlLWNvbnNpZGVyIG5hbWlu
ZyBvZiB0aGUgdmFyaW91cyBmdW5jdGlvbnM/DQo+ID4+Pj4gVW5kb2luZyB3aGF0ICJwcmVwYXJl
IiBkaWQgYnkgImZyZWUiIGlzLCB3ZWxsLCBjb3VudGVyaW50dWl0aXZlLg0KPiA+Pj4+DQo+ID4+
Pg0KPiA+Pj4gSG93IGFib3V0IGNoYW5nZSB0aGUgbmFtZSAicHJlcGFyZV9zdGF0aWNtZW1fcGFn
ZXMiIHRvDQo+ID4+ICJhbGxvY2F0ZV9zdGF0aWNtZW1fcGFnZXMiPw0KPiA+Pg0KPiA+PiBQZXJo
YXBzIC0gaWYgd2hhdCB0aGUgZnVuY3Rpb24gZG9lcyByZWFsbHkgcmVzZW1ibGVzIGFsbG9jYXRp
b24gaW4gc29tZQ0KPiB3YXkuDQo+ID4+IFNvIGZhciBJIHdhc24ndCByZWFsbHkgY2VydGFpbiBp
biB0aGF0IHJlZ2FyZCwgYW5kIGhlbmNlIEkgd2FzDQo+ID4+IHdvbmRlcmluZyB3aGV0aGVyICJw
cmVwYXJlIiBkb2Vzbid0IGJldHRlciBkZXNjcmliZSB3aGF0IGl0IGRvZXMsIGJ1dA0KPiA+PiB0
aGVuIGl0cyBpbnZlcnNlIGFsc28gZG9lc24ndCByZWFsbHkgImZyZWUiIGFueXRoaW5nLg0KPiA+
Pg0KPiA+DQo+ID4gSG1tbW0sIOKAnHByZXBhcmXigJ0gd2l0aCDigJxkZXN0cm954oCdIGluIGl0
cyBpbnZlcnNlPyBEbyB5b3UgaGF2ZSBhbnkNCj4gc3VnZ2VzdGlvbiBpbiBtaW5kPw0KPiANCj4g
VG8gYmUgaG9uZXN0IEkgd2FzIGhvcGluZyB5b3Ugd291bGQgbWFrZSBhbiBhdHRlbXB0IGF0IGZp
bmRpbmcgYSBzdWl0YWJsZQ0KPiBwYWlyIG9mIHZlcmJzLiBUbyBtZSAiZGVzdHJveSIgaXMgbW9y
ZSB0aGUgb3Bwb3NpdGUgb2YgImNyZWF0ZSIsIGFuZCBJJ20NCj4gdW5hYmxlIHRvIHRoaW5rIG9m
IGEgZ29vZCBvcHBvc2l0ZSBvZiAicHJlcGFyZSIgKHNob3J0IG9mIHJlc29ydGluZyB0bw0KPiAi
dW5wcmVwYXJlIik7IGlmIEkgcmVhbGx5IG5lZWRlZCB0byBjb21lIHVwIHdpdGggc29tZXRoaW5n
IHRoZW4gaXQgd291bGQNCj4gbGlrZWx5IGJlICJjbGVhbnVwIiwgYWxiZWl0IEknZCBub3QgYmUg
b3Zlcmx5IGhhcHB5IHdpdGggdGhhdCBlaXRoZXIuDQo+IA0KDQpNYXliZSB1bnByZXBhcmUgaXMg
YmV0dGVyIGhlcmUsIEkgd2FzIHNlYXJjaGluZyBsaW51eCBjb2RlIGZvciB0aGUgaGVscCwgYW5k
DQp0aGV5IGFyZSB1c2luZyBwcmVwYXJlL3VucHJlcGFyZSBhcyBhIHBhaXIgb2YgdmVyYnMgYSBs
b3QgaW4gZHJpdmVycyBjb2Rlcy4NCg0KRm9yIHRoZSByZW5hbWluZyBoZXJlLCBJIHN1Z2dlc3Qg
dG8gZml4IGl0IHdpdGggYSBuZXcgY29tbWl0LCBzaW5jZSBmcmVlX3N0YXRpY21lbV9wYWdlcw0K
aGFzIGFscmVhZHkgYmVlbiBtZXJnZWQuDQogDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 09:31:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 09:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382862.617907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLLZm-0006Uo-Ig; Tue, 09 Aug 2022 09:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382862.617907; Tue, 09 Aug 2022 09:31:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLLZm-0006Uh-G0; Tue, 09 Aug 2022 09:31:02 +0000
Received: by outflank-mailman (input) for mailman id 382862;
 Tue, 09 Aug 2022 09:31:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UeFk=YN=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oLLZl-0006UY-Cg
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 09:31:01 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f9b4b0d3-17c5-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 11:31:00 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id z2so14402955edc.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 02:30:58 -0700 (PDT)
Received: from uni.. ([2a02:587:ac16:4a00:ffbe:91df:428c:5448])
 by smtp.googlemail.com with ESMTPSA id
 14-20020a170906328e00b007308fab3eb7sm890025ejw.195.2022.08.09.02.30.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Aug 2022 02:30:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9b4b0d3-17c5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=GKf425hQpe0PuKB2CboK1V+rcOcRfhoh8GDez6kIN+s=;
        b=Uazp/VRgepPhK3ZjanepFrhaJzeQlZt9m6RQZqr2/r1soHMFRiJcGnoDOGJEixZTIG
         YQateJa7SnyEicp60liI4cdH19a5sTnn0NHBMzjPuTPqQW20k6SEQUKQMhW74U038kHz
         86NVMEHSWZ9E05cD8S9j72TovMt/HnKprLbSf3rrY3KzRtom1kHw/2fgCZvh9DVbmq+J
         v5ZtMcq8DTQaQWmWIqktRgyWpdQttQGgwuhtKDYC82IrXciKKrcOszVLr+XUDTWBJDdn
         caTco++3oGs41wL9JRaCB0T9ZIzE5yif6bnxzVhT4mDYjGydCrRjfhktPabvPpjLjQsw
         +Ptw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=GKf425hQpe0PuKB2CboK1V+rcOcRfhoh8GDez6kIN+s=;
        b=WlXC/b9WlUKabf2OkFv5RUbgTiQdLafIz8CvAa/PSkZZQO+0yJrrbCQz1lLZxw1bBJ
         xOZTlpJ2+K9MjDa9WrfniDrNICLw3UHSceB0kjhKR13gAxG1og8pswaKniP5DglDsO7D
         kiZ8R4secmFW6v6b/BWCJO8wpPU8lZzWfKvNvJfrH/7Tqe12QJ7oNcIfGLmyjn19jaEp
         KEQZjSJGgK4oFgRUExSm4qoQi1lIJezuPWQfo9xavT6szrEvA3hZy3Kr6CFZKWj90c3Q
         wuVj+bWdJ7WLoVX4oQe/G6eKOE110czJpyGZ/O60zoGsNXuBYdArbgqpxVII7cyr5i0L
         NiOQ==
X-Gm-Message-State: ACgBeo027pRLPWnk5XWW+LpLIAZ+6yrXlE0mnuEnvOcrNsmsMNFII72q
	k2tq2+tYHO9AaMlrVKHJkuW972FijiI=
X-Google-Smtp-Source: AA6agR4PcxieVKljj2LSYZb9hvlkouYZasC20AZdREBl+9zuPeFIijZ0BNfExWGz4VGgqziGGeMI6w==
X-Received: by 2002:a05:6402:50c9:b0:43e:42b0:f84a with SMTP id h9-20020a05640250c900b0043e42b0f84amr20758381edb.72.1660037457829;
        Tue, 09 Aug 2022 02:30:57 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: vreg: Fix MISRA C 2012 Rule 20.7 violation
Date: Tue,  9 Aug 2022 12:30:48 +0300
Message-Id: <20220809093048.1893025-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In VREG_REG_HELPERS(), the macro parameter 'offmask' is used as expression and
therefore it is good to be enclosed in parentheses to prevent against
unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/arm/include/asm/vreg.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/vreg.h b/xen/arch/arm/include/asm/vreg.h
index fa2f4cdb17..f26a70d024 100644
--- a/xen/arch/arm/include/asm/vreg.h
+++ b/xen/arch/arm/include/asm/vreg.h
@@ -141,7 +141,7 @@ static inline void vreg_reg_clearbits(unsigned long *reg, register_t bits,
 static inline register_t vreg_reg##sz##_extract(uint##sz##_t reg,       \
                                                 const mmio_info_t *info)\
 {                                                                       \
-    return vreg_reg_extract(reg, info->gpa & offmask,                   \
+    return vreg_reg_extract(reg, info->gpa & (offmask),                 \
                             info->dabt.size);                           \
 }                                                                       \
                                                                         \
@@ -151,7 +151,7 @@ static inline void vreg_reg##sz##_update(uint##sz##_t *reg,             \
 {                                                                       \
     unsigned long tmp = *reg;                                           \
                                                                         \
-    vreg_reg_update(&tmp, val, info->gpa & offmask,                     \
+    vreg_reg_update(&tmp, val, info->gpa & (offmask),                   \
                     info->dabt.size);                                   \
                                                                         \
     *reg = tmp;                                                         \
@@ -163,7 +163,7 @@ static inline void vreg_reg##sz##_setbits(uint##sz##_t *reg,            \
 {                                                                       \
     unsigned long tmp = *reg;                                           \
                                                                         \
-    vreg_reg_setbits(&tmp, bits, info->gpa & offmask,                   \
+    vreg_reg_setbits(&tmp, bits, info->gpa & (offmask),                 \
                      info->dabt.size);                                  \
                                                                         \
     *reg = tmp;                                                         \
@@ -175,7 +175,7 @@ static inline void vreg_reg##sz##_clearbits(uint##sz##_t *reg,          \
 {                                                                       \
     unsigned long tmp = *reg;                                           \
                                                                         \
-    vreg_reg_clearbits(&tmp, bits, info->gpa & offmask,                 \
+    vreg_reg_clearbits(&tmp, bits, info->gpa & (offmask),               \
                        info->dabt.size);                                \
                                                                         \
     *reg = tmp;                                                         \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 10:02:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 10:02:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382879.617935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLM3u-0001bV-3l; Tue, 09 Aug 2022 10:02:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382879.617935; Tue, 09 Aug 2022 10:02:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLM3u-0001bO-0F; Tue, 09 Aug 2022 10:02:10 +0000
Received: by outflank-mailman (input) for mailman id 382879;
 Tue, 09 Aug 2022 10:02:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLM3r-0001bI-Vk
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 10:02:08 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2072.outbound.protection.outlook.com [40.107.22.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51fe3524-17ca-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 12:02:04 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6293.eurprd04.prod.outlook.com (2603:10a6:20b:71::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21; Tue, 9 Aug
 2022 10:02:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 10:02:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51fe3524-17ca-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Go4odYZP+GCebMc0gVTfVGGfJz+C6fshN93RpMdAH6pfS2CYtkzH4yVXiMRSaHSzbf9WNfWGITIMhb78c2oTRL20OPKFPO/8E9KmYavQJo2xHONkC0UWzlltqrkcIVd0W100Y8RnUNmPwrFp4cUFCp/iPfjwO5Z/owHqSzS85dBQTgvJ8QAEG75hCT6vz6UdeJY5eqeJQAXa2Pe80WaaEiCPsTNqBXjnxfz+1OxOkvXr8O/M+wZpUANFV4/7rnu3pHXTI+kcx8iJxS0H6kgd3xINdjqPdC99bkJoBt2xpBFWiZosIYPZphsMRcTZyPd0khx592eu8gjXJFhR/W0r2A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UXirUhgLbJ7enE2EkxzaOjXcrOZEYsMjX+mhcy725Bg=;
 b=Ql8otdfhx1NhcGffuE5+ysZbOXAbxR5XfuFRlUAbdAnV57yMplJGxxpnC1QCCrxsiF4cCRBVoGT3Y6kJ2+Wu2jcqa5+ZC093mWhsti+8VRxLDy1zWHvd5JMO+j0u2xda555rKwe+taAv42HpoWjr6hwjl24Hn6nL2K9wMP0Ggvbp28vwMR6Okr0IYKU/UYYp+AM8ez/Y3x9ef+lCjG6d4RMp/qyCi2NDS2dy9duzU1EDRWFDUftDKSO4q+0+aGcdmSLYqhsQSNNUrR/MaJcOUZBwP6XWhZBEl+QP/inrBIY3fwmG2ppIkLtGoUIESSoyab3XXxvGdwNP8jAgDj7JGw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UXirUhgLbJ7enE2EkxzaOjXcrOZEYsMjX+mhcy725Bg=;
 b=Oc9/zmRwVIxCu/STzaGa5aW4Qznu+QF4LxUM4/1kxk2ieM/n5dspvklRBqBB5bPVIWHbISHMmGcL1/v1Lfa6ac4qhw/Y8OVK6K098kVPoIGarJR+3RfOHmw4dPQvJKBV8OmmC9hir4OQGXNSRE+4DMc4Xr0x73EzH1zEkMVQSBTxpu0ycT1zxXjHeUILkLiRf7QtHwVhQJUQ/58JftCREa5gNuwQuRSLtlRMcR/eCpugHfpmnLqXRTiaoZOO4UB2NX9K2VI9Lr+MkeVhg+XCTPif9nNLNdwK4k8FGh1ejhxkZpL0jraGLx6rS1sTRztr3AODv1aqM8dJfgVu7R5EEQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dd0ad0a4-6a01-7e35-51dc-614477bb9556@suse.com>
Date: Tue, 9 Aug 2022 12:02:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0090.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5f94c790-01cb-47e6-a22d-08da79ee351b
X-MS-TrafficTypeDiagnostic: AM6PR04MB6293:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bireU2nDuMvzrKMqOAQTV2z4iI4l9o2Y19egG7w19fBMg8pd6XYt7tN32mRzrrnTqBU8Voydp/MOxw/TulCeiuI+MuLHhRVEV+9JGPDS4nSgBAaqawbs5ImRNZoP/LkNAPfoyFYx1APHuVFyRr6/ssQC3PFsbXorcf6DXRQJ+5WF8WZIRPAqXfSAw3vqvBkkkpIvCW8f9cu4QMjy6WYLnZxbIKp8vB1FAYEPOcJVRDUnXQqhCVvHtRacE+LnPvi2iloVqWDKnGzs0L1+NCVUFVzKECM1J0JoQI9umQ/CyZuJnrdOAhHuoTQtSuFwVhsQFfZOAYTAUeyXhW8LyQmTa57ivRuIiLjDVOyVYl7csQFAfqsacFqhyxOe87Ht7t70k24mMswaO2JAGJRRHiA6zrjDsbdmBb5G/M4hnaqtnpAG55qGDrJgW3WUwJxlUNd//qwmtcIz/X/qwNaqrmXWuqb/6kOlmT+q9y1uZmvMwX41E08xiMrwgsogGV1cjWyZSSDncBYD2YHsxJ3O+U+CHP9vqb6kxXAgRI3usUYRH5xGFlse1eji/zee1cMxyaPEV9vZ3Btujubb/Y1AacD0xNrz2USmZoSE2oRkZzR8wvRGjM4K0TPkOU5r6+i3ULNrArExlChODv+khP3Iz/H5f+SHhTxQGuNqJj+m/s1OmCyql3sw0qK+dvl58Ut0tDNhsfL4IyYZHJO41Th3jYqQELSo7HumiEO/eRqlKU4oyzL/k4y7IEs6bqqBLv1AdRicjQuiOWEUTTCJMcBZn08DESm5SGyy3fTUVRgJloKHQw/8vnlwfpMyitWe/jqcUIAlOy1sVoASLv1F3JeOG5+1kw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(376002)(39860400002)(366004)(136003)(41300700001)(31696002)(26005)(6512007)(86362001)(6506007)(38100700002)(53546011)(186003)(2616005)(8936002)(31686004)(5660300002)(2906002)(66946007)(66476007)(66556008)(8676002)(4326008)(6486002)(36756003)(316002)(6916009)(54906003)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NkVpMzNNSnBSdVN1NW9jZmtBbk9NbENWL0Rka0grNlZQcTJoOHJ4SVI0em1I?=
 =?utf-8?B?d2d0dTNFc3RSTUcvOTVZRU9hTGUvYkhrZ25DNkM1dGhETWFhWTBybTUrUHNF?=
 =?utf-8?B?TzV5TXUzYjdLdUk1ZnhML0tYVSsva0QrL0YyRnN6NnhSMjhGWUZ6azdoZ1Yr?=
 =?utf-8?B?dldKY0RWdTAyenVaM09hQ2xPVkh1OXVLVDU2U3ZGNy8wMFZIR1R1WkYxa3FZ?=
 =?utf-8?B?c3pwVEp5dE52WXhtS09jM1VDcmJ6MVZpK1UyOFNTUkt4VmdPcmZwZzlKWnNn?=
 =?utf-8?B?TWtveFhaN1FlbTVWZ1h3MWRMUEhDa1daeTljNSsybjJYWDN3NE1jRGxTNWFv?=
 =?utf-8?B?SnM2dzB1cmZtMnpwTWhNYWdCZis1Z21mOEVBR2JHNGVFWmw0NjFRS1VjcEVz?=
 =?utf-8?B?WEJRL2ZBNE45NHhBUklNNHcvMStaYWw1b3R0YkhCK1R2UkttdXIvQ01iZW8w?=
 =?utf-8?B?RE1qdDk0RU40bytJc1JDMHczOUpOK081MVloZkFVcy9oQ1ZEbG1uUWVnN1pB?=
 =?utf-8?B?WnRqRVVncm5Hd3BEeTZLVFFoMyt2anNHMGROSW5SWVo5RW5IYlp5TkNjeE5U?=
 =?utf-8?B?aGkzWnliaDg0UmN3QURWUWRQUWpVNVkxaVpFU1R4SlJENnV3V0w1TzFLcGM2?=
 =?utf-8?B?WklnbXBDQWl2VzRIZzU5a1VtYnJ2ZGxOYU5uVlRlZTdlbEpsWk9zbG53VFBz?=
 =?utf-8?B?Wk00S1R2aUVjZFVEc1VmcE54WG9iMDBxVkdKVXQ2S0NwV2hGRTVKa09WTVNz?=
 =?utf-8?B?bElaZy9zRTJqekp3VVRyb2xha01ENTNHVGJJWlVyVUJWcXVjMnBCUlN2cVdx?=
 =?utf-8?B?WHJVNyt1Z294QkdQQmM1bkt6Q3NiK01sZ2IzOExoNS9VcS94QTJjdTd6R2JC?=
 =?utf-8?B?RFlpWXd5YkR5MnROTmNRSmZ4THJaK3hDU3FCNjNjY21mWkQ3L1duMXBXY3dM?=
 =?utf-8?B?bE1DVVJKbzY0V0JibGVtVGRGelB3elBtaTQvMzIrYUY4ZktKYlJMNS95SVhC?=
 =?utf-8?B?SUN3b2JaWFM2aFNqYmF0THcwZy9Ha0lCQUgxTk5kdks4dVd3WGRPWWg3M2Jk?=
 =?utf-8?B?NDU3blAwMTMvQTlFb1F2VTVpa0tabDIyNjRFcFZXRW15SlA3ekIzK1VTb0cw?=
 =?utf-8?B?Z1NldmIxMWcxMEUza1loNGZEVENLbE11dFhvWGhQazJocHg0OExRREhsRVNo?=
 =?utf-8?B?cW1aY0xxUmhWaUV3SGJwYXA1VmUrL2gxeWl6Zko0dU1BcWZtaEIrcE1tVmVh?=
 =?utf-8?B?VW4rbVhSOGRNR1Uwc3N5bHRVRTE4RVlCQmRKZC9ESm9pNncyWFlmWkxpQTNo?=
 =?utf-8?B?NjMrUFRVK3VzaWR6WGgxU0N2bzgvQ1djYVRUNHgvRmNKbWs4VmZCdFduN2RH?=
 =?utf-8?B?NDlLaGFhVUQ1UE5haXR3eFlMY3hpUXQ2dlhMY0t5eVhlaUFMcTB1OUxQVmd5?=
 =?utf-8?B?ZzVuSkVoYnArb0U0Q2M5c0l4emhzakV2emxmZ0hZQm42eC9lY3YyN3llZ1J3?=
 =?utf-8?B?VXcvZ0V0V0hUT2x2QzJtUlJLT211K2EyN2lqMHFRN0w3cVNodzVodG4rczM5?=
 =?utf-8?B?RTVyVEc3bjlkNjFISUQ0eVpMOTQ5NThSOEY5eTZIRFVIQ0NzTy9pb2p4bXlS?=
 =?utf-8?B?REh1N29tNDJGdVVhTDVKdGYxUnR5M05WdTVjWlVEeTIzT3pNaWtJVnQ4aHdi?=
 =?utf-8?B?QXBLdFo4dE1tYkpIWHdFY2QreVY0cld4MkVtZGszb1FId09QYXNkQjZLbjZQ?=
 =?utf-8?B?Y0RlVnZNNmJLRXZkUjJ0RnV5WTVHYkhOcTdjQ0FxTVo4TGpRZlFJL1lRaS9i?=
 =?utf-8?B?RFErNXR2NnlJYnpDalZ1REg2Nk5nWjNIZHZHaDdST1h1d1hqZnlneDJJT1dN?=
 =?utf-8?B?QjVnRWNGUlFDcXZ4QUx0aWp1Z01QYUdEakdzM1BZVldxb1BaeEg4SGNyR0p5?=
 =?utf-8?B?MjNhTFo1V3RKbmI0bFE3aEd0VDJRcTdRSVRZRnliaS9pa0V1V3E2Vjgra0NL?=
 =?utf-8?B?Um4vSXB4ZW5ISWQ4NWpDSEJ5NFgwSzZNclQ2Y3U1TmNGbkF6ODJjczB6QWEy?=
 =?utf-8?B?aTFkZVdMNnFkcDVOWEdTY2h3Z2FZYjJNczg5Vnk4VU1NK0oyTk96b3ZpVTZi?=
 =?utf-8?Q?3fv8tIFK7gLnyuLithWWG/Skm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f94c790-01cb-47e6-a22d-08da79ee351b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 10:02:02.7933
 (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: nXb3q4cWC7PZfeFkPmdTAkS3WrgKenYGPT53OZSOPfNFWaCuh91kfq+E6iVa/QsHXq60biKZG1YlcqS6e5Q4sg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6293

On 05.08.2022 17:43, Rahul Singh wrote:
> pci_get_pdev_by_domain() and pci_get_pdev() functions find the pdev in
> the pseg list. If pdev is not in the pseg list, the functions will try
> to find the pdev in the next segment. It is not right to find the pdev
> in the next segment as this will result in the corruption of another
> device in a different segment with the same BDF.
> 
> An issue that was observed when implementing the PCI passthrough on ARM.
> When we deassign the device from domU guest, the device is assigned
> to dom_io and not to dom0, but the tool stack that runs in dom0 will try
> to configure the device from dom0. vpci will find the device based on
> conversion of GPA to SBDF and will try to find the device in dom0, but
> because device is assigned to dom_io, pci_get_pdev_by_domain() will
> return pdev with same BDF from next segment.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

This wants a Fixes: tag.

> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -593,13 +593,10 @@ struct pci_dev *pci_get_pdev(int seg, int bus, int devfn)
>              return NULL;
>      }
>  
> -    do {
> -        list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
> -            if ( (pdev->bus == bus || bus == -1) &&
> -                 (pdev->devfn == devfn || devfn == -1) )
> -                return pdev;
> -    } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,
> -                                     pseg->nr + 1, 1) );
> +    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
> +        if ( (pdev->bus == bus || bus == -1) &&
> +             (pdev->devfn == devfn || devfn == -1) )
> +            return pdev;
>  
>      return NULL;
>  }
> @@ -642,14 +639,11 @@ struct pci_dev *pci_get_pdev_by_domain(const struct domain *d, int seg,
>              return NULL;
>      }
>  
> -    do {
> -        list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
> -            if ( (pdev->bus == bus || bus == -1) &&
> -                 (pdev->devfn == devfn || devfn == -1) &&
> -                 (pdev->domain == d) )
> -                return pdev;
> -    } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,
> -                                     pseg->nr + 1, 1) );
> +    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
> +        if ( (pdev->bus == bus || bus == -1) &&
> +             (pdev->devfn == devfn || devfn == -1) &&
> +             (pdev->domain == d) )
> +            return pdev;
>  
>      return NULL;
>  }

Indeed present behavior is wrong - thanks for spotting. However in
both cases you're moving us from one wrongness to another: The
lookup of further segments _is_ necessary when the incoming "seg"
is -1 (and apparently when this logic was introduced that was the
only case considered).

As an aside - my mail UI shows me unexpected threading between
this patch and two subsequent ones. If they were actually meant
to be a series, can they please be marked n/3?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 10:11:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 10:11:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382887.617946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLMCv-000380-51; Tue, 09 Aug 2022 10:11:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382887.617946; Tue, 09 Aug 2022 10:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLMCv-00037t-1U; Tue, 09 Aug 2022 10:11:29 +0000
Received: by outflank-mailman (input) for mailman id 382887;
 Tue, 09 Aug 2022 10:11:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLMCt-00037n-Ry
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 10:11:27 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60086.outbound.protection.outlook.com [40.107.6.86])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0f6c1d5-17cb-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 12:11:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8779.eurprd04.prod.outlook.com (2603:10a6:20b:40a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21; Tue, 9 Aug
 2022 10:11:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 10:11:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0f6c1d5-17cb-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z9YU9GpVxo+zYHwUbek5mmEYekZdpuiZRQ/i+tGlFbUN/Gv4hVCGgRERMMl1deqnt2Ng+Q9/+RoD4w2DWcAQRic7MyDQW0iXOvBo9XOEJqUJzCJcthtS6ze8jis4ieS3tMmvyhn2/lX83ZxNHMJzFWk3c9GWHHmPattjZLvncumzNt0l4y0VghGG7VqAx3GdtUc1aIAL30W+s0pU+BaazRgf9LAS8zW7hBqTKDCGtsBBnd6p389bOPWHSO0eOBIjDSDNIjn9QQOfLBsWb/rSL+isxY2JYtpGFW6pRNS4sYxvrA6uGYJvg7KlqchpQeaXGSw71TpErWPM4Qe8dk+wUw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gxKSiC1OQmtpVWmA/XPbVf5BRb6scrzbYmJiVJJ50us=;
 b=H7ej6bpVd9dfqLqnJcl8cp3fy+a5PKDif0JKeejEgalKKsKcDuhBO5zhGlH16g4KOYxn+Le5JgOSvabuqylL8tUK9J+9lOv8AUISA9JLkAOHjA/pQBveckONSa+/EVNT2iREe2laPw13Yj/IepaEOnDV6LMEz028vF31VIeLvzrkSHmGLDVqF2sbixLm/Sc7YVIz4YEKnEbyhbWe1byPgtXxG4BVxYUHRBxoWKjAXUv09bE+naR+2H1dwywe1c8MH+j0xFTRQ2/AkriKf6g1a6v5oQNrlRSM/QuJQTGpP+4Ge81RMMkySDuzoQyNHcccdr5dpcgg+OnlZuqnV24EIQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gxKSiC1OQmtpVWmA/XPbVf5BRb6scrzbYmJiVJJ50us=;
 b=HZKUYdG5t4UYLkhTAH1ATnPZchHMi2JM+GU5+gUThdLR7X5m6m7LS2YNziC/fZl84t193w6z7uZomtE1xrGYcQj9ycFFT0QAwsQJkEUV9Vrn0bm1SgVcru3FizuHKJrxnAD++1VarXPOdE9iiNhh7JBWNYS0utdkAKWYRpyQC7oXAM9OvJJCydQJlkBvCf1/haMmcjNORosqCaRY4uupnSr6hcXD+G7LIiYUKumtlcZhll7kTTi68FIEgBoxxcxLhJ936S4bA9rcZaieisqhZ+he/dAcRCgEionHYYH3LYVeVphSJ5MqdYynQhvLqKvYrckQF3ps0hPjYIIQWtavcQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a42dacd0-c046-cc8d-da4e-8a3feb405cd8@suse.com>
Date: Tue, 9 Aug 2022 12:11:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
Content-Language: en-US
To: Oleksandr <olekstysh@gmail.com>, Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <d5590d91683f2dddb3836b1afb444f30c2f5a7fb.1659713855.git.rahul.singh@arm.com>
 <5e762a42-d0d5-86be-e3cd-64bde82c8b47@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5e762a42-d0d5-86be-e3cd-64bde82c8b47@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 911957c0-eea8-4557-e9e3-08da79ef8412
X-MS-TrafficTypeDiagnostic: AM9PR04MB8779:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zHHbmp3wsWkuvrrbDQY6TSexDxbVzFWffJMEFeGkKHQsAbMRZ10L/nEBE60zUPeOYRgYubxzFN9RUG36MfyK2kpPzayCpZoqpqQYLMIFPjwjUbD7SFtUTI/kV0amRSddaa8hdNaaRLUoi8DrKLV8m04r6vC/7eG96ALWzq8tvYbjTmYowAFUcQP5yJ7nyi6TeCFBx1p27mCHPKSnoKnVIkE362QuTqlHaMt9CsnKsdrlsvbtvxltyuhXsfvY09dODsfLrfC+We9OeyXNXAuTL0n24EEYmGOwx73Rbi+9SLkRkOJK/KenaUT7K5rCuvTP+Ve4llT5TQta3g9L8Wma4txB4cBmVGZDxK66y2m3Lff84FUz3bO3dK7H37vWKo7ZM0pQ16hzmHu5QNCraSupvBClEt1k87VmCpon169ldj1dTIXC7PkfxWFMmgjfI74VR7IqcDOzEBfWm6Z1UrOlEF6OEZTJzaNonzdLjZ9XWXZUdEIdxFw7Pc3ycGOv/yQb5AlBRVxQEVivCsEw6Htb7HR6c+4UWiDzzWukpLvrV7OilJIc4UFbjuSHGAu/HW0FfIqPj2X/XchAMNcSmpK/pyvi+syO50zkpdnKxiMwC6EVlHS8UQ99LJwARrCfBlV1n3Vim1pfsyzKMqCuI3pivq/ENg+O+FMjKzXW5wcTNbT49DXA5kI5Sfu3eTY0hvVl9mzH7+4JnMWGZ6g8aw1n6pMLewXal+kNJirrLX0jNndcVA/+XN4pLC/fd/+fmu1QZPEJgVWZrCNCKV65dU5BqFhjTUGF+EzX4Ky7KOmEzbjLuriEYGIMQaLb0wiEXskj+bmO9FswBqXUgn2iCdRkng==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(136003)(376002)(39860400002)(396003)(26005)(36756003)(2906002)(6512007)(53546011)(186003)(31686004)(41300700001)(2616005)(7416002)(38100700002)(5660300002)(8936002)(478600001)(110136005)(31696002)(86362001)(6506007)(4326008)(6486002)(316002)(66476007)(54906003)(66946007)(8676002)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c1lOVnRFZ05JRE4rM1dNNjJGTUw4dWNrMnNtWmZ0WlpHaEgvZmNHTHFEdGd2?=
 =?utf-8?B?SnRFZzNPTVpPR1FZaFdBRWhUYWtBWGV2aE9SbjllWkZ1K1JYKzI0RzFXMEcw?=
 =?utf-8?B?N2pLSHAvclpyWkxoVG9ERkh4bDh5TlVKWDVQRGFNQzlGVG1ZQi9MVXVDUTdE?=
 =?utf-8?B?WWltQTF3RCtTd2pTdXhQVktMeEdPZXB0TWhWNThRUEorU2tqQ3dCamRoLzlq?=
 =?utf-8?B?NUFESFJtSktGSnFpUlBiOERpazgxcU55Z1VQR2JkZGo3VGRiRGcxZEpvb0lL?=
 =?utf-8?B?b3VBa1huZndlNzhMcVNzUXpqR2hCVFIyNDVSWjl5L3NKQm9LQWJLOUFoWEt5?=
 =?utf-8?B?VjU3KzVoQUN3TnpUREtjbG51cDN1VVU3YkVpb3pBNHU1alNDdGdNUGpYc0Fs?=
 =?utf-8?B?VmxUL3FLNG4zSVp4N2ZSQytSWkNpaHoxTlhPeTVyMlQ2QVhUdkRKcmFaanZ1?=
 =?utf-8?B?WGlDTkZTd1V6dFBXYXp3MXdoQlNsMWZnSis2dnA1OGN3WGpIU1ZEcXRSSmp3?=
 =?utf-8?B?RjJNQzJFVk9NeU9IQmE5UjNxQXowL1pSRFBZeFdnVkdzWHpUOGNDTGtZeHVk?=
 =?utf-8?B?QXRGRWpRSUxlbDNQYlhreVJDalNsRFp2TEd2ckF5NmJEUE40M3FXL3htc0V3?=
 =?utf-8?B?SHhJbk52Yk9OOHdBT1R0aUhpdzVRWXZKbGI4TDlQU0Z4SjdvSkN5RURsQ0xE?=
 =?utf-8?B?NE5KWUQ2cFF4RUZHY1pTRXJiVG9YQTkyNmxJVWRBWXNLc0FVL0dPMVB3anVh?=
 =?utf-8?B?TjJxeXBOdkZSdkVlVDRkYWZBUFNxRlRaUmwwMHcyUEkrcTFlbStaWXE5Z2F4?=
 =?utf-8?B?NXZUYTgrd2V5U1IrWHkrRjdSVmZwb3p4RGI3WGp1ZUFha2IvZFlxYkRBN004?=
 =?utf-8?B?UE5Cb3plZDRMenpMTGRWZjAydEZNekhjWkc0cm9pNDVmaVBYTHdYN3FVdTcx?=
 =?utf-8?B?eFMvcnp1V0w2enVMVCs4a0NCUi9YOXJMRHNzOTBiZ2J6aFNjOXdVQ0VUeUV5?=
 =?utf-8?B?aEsyK1F5QVdXbUFsVHN3NjJNOHdoK2VPbnREN3d6SmcrUUFZSGkranFoKy80?=
 =?utf-8?B?YlQ0S09CQzlGcy9aMXowZHZlYjl1YkdkN2VwWWVYRytER0VEZWtNREhpS2tJ?=
 =?utf-8?B?Rnl5RDhLT3BpNk5XTlIwSzFBWWs1Y1JmZ1RjVW93N3c1eGRBbDlxRDJXb0p5?=
 =?utf-8?B?aFl5bnRCeC9EZ2MrcndZaFYzZ3VsYm41WTJkZ3ZyYVY1MFdkNnVGZUNkL1g3?=
 =?utf-8?B?ZE9zMUV1ck9CZWdUOFBPVFhYTU05SDNtWkhNMzNwbzFxcmxkUWRyNlZlVEJl?=
 =?utf-8?B?OVk4U3NxdVhTM093Qm5zSzNhNE5oWGd4WDFDU1NOWU5IR3FwMGlLZm5jSU5q?=
 =?utf-8?B?enB0NFVuK1VBSCt4djNsZnhZMStkbk5naENiZm1sb2FFMG1iVXlseVpNY1c3?=
 =?utf-8?B?MW1nSGxYRURJQnhJbVpyTGNLOGlFbW55OWgzNXNvbW1qVEpZclZ6NmpBN0dq?=
 =?utf-8?B?ejZ4OHl1dDhnUzNyT0lLYllKeUpLT2hDNDJuNWFlUGpQZXpMNHZKYXBOcHdw?=
 =?utf-8?B?a05OWDZRZFk5bEFRdGJCZ05XSEdJSThuUnZmS1RzMGFxdVFheVlTYUsrUG1Z?=
 =?utf-8?B?aHlXMER3bVBHNy8wM1lPVVd3ZjJPZEVnWHUrTjJuRUlRYlhxeEFoVjVhb0VX?=
 =?utf-8?B?dkdPVzY1QUdSL3k5S3lUUTJTRWQrZlNhbVhNbHFGcTYzU2lic2cxUU14Wmsw?=
 =?utf-8?B?Z0NaS0tHTGNlYmdoUm9lOGxuZ2JSSlh0bkxBK1lxTG5YTkdMelY5SVdJaE1x?=
 =?utf-8?B?VmI4cTB6TUxGN0VNNHJsWUtaTFk4alljR1ZqYjR0aGtVZlV2ZnJuTmUxQTcy?=
 =?utf-8?B?VExwSjdUcXZTTitRSFR3MlUvQiswdDdsNStYb1krb0NpVThSdS9FajVZckRS?=
 =?utf-8?B?U3J1Q2pLL0llRnRvd3FpRjU4N2pENTFzUC9iWGo4REozTXo1UFNqd3pNTVp6?=
 =?utf-8?B?dzkzRVFqRUpFS2xSMDd3M1d2cnFDelNwQ25RVVVaNWQ5K0ErcmZTcldPbGF6?=
 =?utf-8?B?NVd1VGtFRGUwQWRSODJBeHZMemJpOGExM0w5ZEVYcXFIQnl0TnFDbmg0WFNZ?=
 =?utf-8?Q?Lew7mSSZd9e61awZjfYhArpBn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 911957c0-eea8-4557-e9e3-08da79ef8412
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 10:11:24.7573
 (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: Xs/gbuXA9XPTGuhdkbAsicog4qgUGgkhCg/nnZmztcH2h1dJNczpXkLieu6Mf8IOrbUaJjRGk6KH0Zt/DrdGZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8779

On 08.08.2022 17:30, Oleksandr wrote:
> On 05.08.22 18:43, Rahul Singh wrote:
>> --- a/xen/arch/arm/pci/pci-host-common.c
>> +++ b/xen/arch/arm/pci/pci-host-common.c
>> @@ -363,6 +363,41 @@ int __init pci_host_bridge_mappings(struct domain *d)
>>       return 0;
>>   }
>>   
>> +static int is_bar_valid(const struct dt_device_node *dev,
>> +                        u64 addr, u64 len, void *data)

Nit: No new uses of u64 please use uint64_t instead.

>> --- a/xen/arch/x86/include/asm/pci.h
>> +++ b/xen/arch/x86/include/asm/pci.h
>> @@ -57,4 +57,14 @@ static always_inline bool is_pci_passthrough_enabled(void)
>>   
>>   void arch_pci_init_pdev(struct pci_dev *pdev);
>>   
>> +static inline bool pci_check_bar(const struct pci_dev *pdev,
>> +                                 mfn_t start, mfn_t end)
>> +{
>> +    /*
>> +     * Check if BAR is not overlapping with any memory region defined
>> +     * in the memory map.
>> +     */
>> +    return is_memory_hole(start, end);
>> +}
> 
> 
> Nit: I would use simple #define instead of static inline here
> 
> But I am not 100% sure that x86 maintainers would be happy.

Quite the other way around - when possible we prefer inline functions.
And note that the two functions are strictly aliases of one another
(in which case a simplified

#define pci_check_bar is_memory_hole

might indeed have been worth a consideration, as there's no type
safety to be lost in such cases).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 10:25:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 10:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382896.617957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLMPv-0004e3-9U; Tue, 09 Aug 2022 10:24:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382896.617957; Tue, 09 Aug 2022 10:24:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLMPv-0004dw-6o; Tue, 09 Aug 2022 10:24:55 +0000
Received: by outflank-mailman (input) for mailman id 382896;
 Tue, 09 Aug 2022 10:24:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLMPt-0004dm-Vq; Tue, 09 Aug 2022 10:24:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLMPt-0004Kt-U3; Tue, 09 Aug 2022 10:24:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLMPt-0006nM-M7; Tue, 09 Aug 2022 10:24:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLMPt-00039a-Lc; Tue, 09 Aug 2022 10:24:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aCz2gtjKFNn9mTbgagY5qPRhv+7mFaDsn6dhoFGQEkk=; b=doMSp4i/8Jm77AIo0rOxppXPRX
	6u2SYrd+pFM5BHsrNdVZlkTDcLUR9yBENwNCqx9W957LMcONsCKf6cB8TGThY2OHfhzSB0kE527QD
	dPc2Y1Dbp03ZS2n5xLbb1DOh/hnIhqKpkabq+p7vj1p1Ar5tNIWURkhv9QyrUJixFwmM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172322-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172322: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 10:24:53 +0000

flight 172322 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172322/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   42 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 11:31:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 11:31:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382906.617968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLNS8-0003im-2u; Tue, 09 Aug 2022 11:31:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382906.617968; Tue, 09 Aug 2022 11:31:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLNS7-0003if-WB; Tue, 09 Aug 2022 11:31:15 +0000
Received: by outflank-mailman (input) for mailman id 382906;
 Tue, 09 Aug 2022 11:31:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLNS7-0003iT-3T; Tue, 09 Aug 2022 11:31:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLNS7-0005SV-03; Tue, 09 Aug 2022 11:31:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLNS6-0000NU-G9; Tue, 09 Aug 2022 11:31:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLNS6-0008Vx-Fi; Tue, 09 Aug 2022 11:31:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UfV3N8r9EO+U7CiNqE8+CmbSsDsTDEqdenSF3lPsCKo=; b=JwDLWaxrKlkdFhOR01488KFSDb
	xI4nPbgDKrneLbCXrnlwtPgzJ79TpFA657AJId49137ONkAkgYoD4ZPgBZlu5xd2ovie5GmZd4Vsi
	2Y3TXdTCPHiA1aZ+j2ZKgEhbDmqam5pHmBDtVsNK6aM6gKVIvyz3oONB8A/Yf7cXtGqA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172313-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172313: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=5d5d353bed32dc3ea52e2619e0d1c60b17133b91
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 11:31:14 +0000

flight 172313 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172313/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-amd64-amd64-xl-xsm      17 guest-saverestore        fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-amd64-amd64-xl-shadow   20 guest-localmigrate/x10   fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                5d5d353bed32dc3ea52e2619e0d1c60b17133b91
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    5 days
Failing since        172152  2022-08-05 04:01:26 Z    4 days   13 attempts
Testing same since   172313  2022-08-09 01:41:48 Z    0 days    1 attempts

------------------------------------------------------------
1155 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118794 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 12:09:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 12:09:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382917.617979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLO2Z-0007Ep-5b; Tue, 09 Aug 2022 12:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382917.617979; Tue, 09 Aug 2022 12:08:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLO2Z-0007Ei-2Y; Tue, 09 Aug 2022 12:08:55 +0000
Received: by outflank-mailman (input) for mailman id 382917;
 Tue, 09 Aug 2022 12:08:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tcHH=YN=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLO2X-0007Ec-Ew
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 12:08:53 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08a30b00-17dc-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 14:08:52 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id d14so16654838lfl.13
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 05:08:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08a30b00-17dc-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=XAhIwILs5jhkJz5Pi6j4TfceLVtBPcU5siLExAVPCSg=;
        b=W2P6KsgWhLb2dAI4UwFxA+5jryMO8rpm17vJ6A40lJvNs7VRYETAZE8nPXAU7c84mH
         9Zy4x+GHnw5V1eLX0ZfzPBbFedfehijaerGjtrUDfW0U3G3A1r8wsv8F9Csi0Pqy7YCH
         Af7X1lWqMV/n1SpNbeP/Bo/nnHUs/IWKEsT8ioKGE9KLKZ4DcJ3Yndje72Jf9L99a4Bf
         sgAFKUS8WWrYjdkfXbF+VWSkIEI875IakPTAy91U/vmvlKoYF2Hs6xRx/Gz1wa6LLYGP
         UIc9MyINe6AV/NBO4MLrNnAYkgiYNb2bWI50Y573kg1p5IKSFoGMeJYd+X1epidwAYqP
         AFzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=XAhIwILs5jhkJz5Pi6j4TfceLVtBPcU5siLExAVPCSg=;
        b=07bQMW4CQ54HpryC1cFMpRUWVp0WqrOyo0aK3wT+N40L55ybMWYY7yosvjpCmt22CK
         1/N1Ce67lfNLPcxJ08UO0NIwSetlFN2l7yKhdbKghqHeYjOtDPwCpztBOBtF8mLpaLfN
         DEcrJDbqir5m4JYSLld9gH2mHnv/gW1SupHdllDAj4lcvcFnHsHaiIP9VzHGKDV1Ebbq
         /hSCT51PeHYUwhVTPq8LGFP9Q+EOY//gvm7ElOXL/Spv11sa6/oOGBnzEghuLCXCoudt
         kB/79YsieS0iMLKL+6OQd9ZawTOTHoEp2NwYt0RqFlMuwD5j+UfJuGiWwUc4EdS7Z9N4
         ddOQ==
X-Gm-Message-State: ACgBeo3SwzYGePVrwwyBbx3cNfzFDIOXkHigpF+2rSKwiOqBTfOm2vw0
	7LL7ybQ07GlTWGvNQ5gly5uqkIRk65e5SKvnajI=
X-Google-Smtp-Source: AA6agR5B3XL0HZFOFJVYuBgMAB1lW1jxXU1Xh16mkz8/MPiHb3lQmVE/xXFUWSiTPbGl8CYYv1K/Zf82nq2WHLHWXoo=
X-Received: by 2002:a05:6512:c13:b0:48b:3b30:637d with SMTP id
 z19-20020a0565120c1300b0048b3b30637dmr6798269lfu.447.1660046931950; Tue, 09
 Aug 2022 05:08:51 -0700 (PDT)
MIME-Version: 1.0
References: <20220808110545.62886-1-anthony.perard@citrix.com> <20220808110545.62886-2-anthony.perard@citrix.com>
In-Reply-To: <20220808110545.62886-2-anthony.perard@citrix.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 9 Aug 2022 08:08:40 -0400
Message-ID: <CAKf6xpsHhqE5xOO+0eWcu8yqw2eVNy7CnxcW=Uwm8doggXoOMw@mail.gmail.com>
Subject: Re: [XEN PATCH 1/2] tools/libxl: Replace deprecated -sdl option on
 QEMU command line
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"

On Mon, Aug 8, 2022 at 7:06 AM Anthony PERARD <anthony.perard@citrix.com> wrote:
>
> "-sdl" is deprecated upstream since 6695e4c0fd9e ("softmmu/vl:
> Deprecate the -sdl and -curses option"), QEMU v6.2, and the option is
> removed by 707d93d4abc6 ("ui: Remove deprecated options "-sdl" and
> "-curses""), in upcoming QEMU v7.1.
>
> Instead, use "-display sdl", available since 1472a95bab1e ("Introduce
> -display argument"), before QEMU v1.0.
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 12:18:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 12:18:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382924.617990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLOBQ-0000GV-4p; Tue, 09 Aug 2022 12:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382924.617990; Tue, 09 Aug 2022 12:18:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLOBP-0000GO-VO; Tue, 09 Aug 2022 12:18:03 +0000
Received: by outflank-mailman (input) for mailman id 382924;
 Tue, 09 Aug 2022 12:18:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tcHH=YN=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLOBO-0000FN-FS
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 12:18:02 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4fe2504a-17dd-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 14:18:01 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id t1so16732105lft.8
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 05:18:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4fe2504a-17dd-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=f44owG/58USfu0ioppos8tVQWEx5hGkyGpdWHE6XXSs=;
        b=X8GFlzM5HBCRJkWiCA+c7d3qq+i5UTy1vGiU6h/6qyHW9pHFJjn3aRvs8cBYPBFGCR
         Y+W1k5Nf8swGaOEQRqyuI+n2zb1/YAhIhMaAeftEafsb2dI9DXcNGkeKlQnWIUYhFebQ
         w7q6ByYtC0mxSbZT5qmROSVMdBP8Tav95zZpgb5UYg3UwIcCuaqxBm7aN5aYrfbRC1lf
         BZ3s+8H1b81Tg+NgA9M5LM1HDYZoLiwhIgOdD0PN9SosrlwyQ9pNIN4r6oc7Cu4EDl1O
         Gpo6kCA0uG2qsuWL6VrkjGDdUfF/mJ4qVVFNz+7KTWfgPrp4mJc2zKqzVFce6b1ziBN0
         LtOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=f44owG/58USfu0ioppos8tVQWEx5hGkyGpdWHE6XXSs=;
        b=LRXxXSnKsWQQ+vM7PZxu/DEz24OO4RUJHKAbDrt4NEpf0An8ScZpp1xP68XXTEQEkk
         mAbr5kN3RAXMUSOtyryiJogj09TXA3i5FXdeYxzU4gAcu81ce4wBjzyqoJV2L0f5ci9X
         hnj8m2oeX07p89P71kJJM05O4aKs+lB3c2pg9aXstnGno/vSmHAVudu2Gm4UMyDtq1sD
         fwiY6pc0YsRUbDOq84dfnxCIHIDnsk7LkoQnPMqHbWet0sYEuwJSO2CLc5bTrXYn8Srj
         kV97BWV8WwFEY1lDtWEzvyZBfcWx9+FG/atHx+t46Bk6Py85REmqNVcIz0V5uKjGLPVH
         8g0w==
X-Gm-Message-State: ACgBeo0QF0pjh60hWH3eGq9wD+ynYfWcZaRC4O+a97p/EG1EsF8Glvcx
	GRaaoE9ftKs6qdjZIjH9qKVTPzxKzHO7+ugFmnU=
X-Google-Smtp-Source: AA6agR6g4PYLrLbc2gvrH23Lz4JLZlz6s+d7eGkYpgHI7ox7HacWOwLM/ZjWu8NaCwZMiird/lGMFznLB2nnE4OkKVA=
X-Received: by 2002:a05:6512:4016:b0:48b:1e96:af0f with SMTP id
 br22-20020a056512401600b0048b1e96af0fmr8813516lfb.359.1660047480886; Tue, 09
 Aug 2022 05:18:00 -0700 (PDT)
MIME-Version: 1.0
References: <20220808110545.62886-1-anthony.perard@citrix.com> <20220808110545.62886-3-anthony.perard@citrix.com>
In-Reply-To: <20220808110545.62886-3-anthony.perard@citrix.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 9 Aug 2022 08:17:49 -0400
Message-ID: <CAKf6xpuyK-5-UH4JOVDHidVgE+GBsS8a947LyAOVNORQRpsfew@mail.gmail.com>
Subject: Re: [XEN PATCH 2/2] tools/libxl: Replace deprecated -soundhw on QEMU
 command line
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"

On Mon, Aug 8, 2022 at 7:06 AM Anthony PERARD <anthony.perard@citrix.com> wrote:
>
> -soundhw is deprecated since 825ff02911c9 ("audio: add soundhw
> deprecation notice"), QEMU v5.1, and is been remove for upcoming v7.1
> by 039a68373c45 ("introduce -audio as a replacement for -soundhw").
>
> Instead we can just add the sound card with "-device", for most option
> that "-soundhw" could handle. "-device" is an option that existed
> before QEMU 1.0, and could already be used to add audio hardware.
>
> The list of possible option for libxl's "soundhw" is taken the list
> from QEMU 7.0.
>
> The list of options for "soundhw" are listed in order of preference in
> the manual. The first three (hda, ac97, es1370) are PCI devices and
> easy to test on Linux, and the last four are ISA devices which doesn't
> seems to work out of the box on linux.
>
> The sound card 'pcspk' isn't listed even if it used to be accepted by
> '-soundhw' because QEMU crash when trying to add it to a Xen domain.
> Also, it wouldn't work with "-device" might need to be "-machine
> pcspk-audiodev=default" instead.
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

With one question below.

> ---
>  docs/man/xl.cfg.5.pod.in                  |  6 +++---
>  tools/libs/light/libxl_types_internal.idl | 10 ++++++++++
>  tools/libs/light/libxl_dm.c               | 19 ++++++++++++++++++-
>  3 files changed, 31 insertions(+), 4 deletions(-)
>
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 6d98d73d76..b2901e04cf 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -2555,9 +2555,9 @@ The form serial=DEVICE is also accepted for backwards compatibility.
>
>  =item B<soundhw="DEVICE">
>
> -Select the virtual sound card to expose to the guest. The valid
> -devices are defined by the device model configuration, please see the
> -B<qemu(1)> manpage for details. The default is not to export any sound
> +Select the virtual sound card to expose to the guest. The valid devices are
> +B<hda>, B<ac97>, B<es1370>, B<adlib>, B<cs4231a>, B<gus>, B<sb16> if there are
> +available with the device model QEMU. The default is not to export any sound
>  device.

Is it worth mentioning driver support?  I think Windows 7 and later
only have a built-in driver for hda.  Windows 7 definitely doesn't
have a built-in driver for ac97.  I think all the other devices are
even older, so I doubt Windows has drivers for those, but I have not
checked.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 12:20:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 12:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382931.618001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLODj-0001ds-G5; Tue, 09 Aug 2022 12:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382931.618001; Tue, 09 Aug 2022 12:20:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLODj-0001dl-Bh; Tue, 09 Aug 2022 12:20:27 +0000
Received: by outflank-mailman (input) for mailman id 382931;
 Tue, 09 Aug 2022 12:20:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLODh-0001dX-OU; Tue, 09 Aug 2022 12:20:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLODh-0006KU-Hz; Tue, 09 Aug 2022 12:20:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLODh-0001hv-1h; Tue, 09 Aug 2022 12:20:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLODh-0005PQ-1A; Tue, 09 Aug 2022 12:20:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=grOiC05AYtLWko5GFSlxN/QgjHQfrxe94JSCypxQpjA=; b=zcOVmrmA7chtyVWZmHRd1dm/x5
	CBWpo6d57e2elQaNBfiBV3LhxqRueD8LozpEdGGSCtZbPVxbxg768GekVfR3hEnMevheegI+Xychw
	pPVzpKj0MW6OZKX00CiqxDRF+Jty3/5aqqBgymL5wC9gCPPWDXUPHnND329hDYN/2Vjg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172325-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172325: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 12:20:25 +0000

flight 172325 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172325/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   43 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 13:15:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 13:15:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382945.618018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLP56-0006nw-DQ; Tue, 09 Aug 2022 13:15:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382945.618018; Tue, 09 Aug 2022 13:15:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLP56-0006np-AR; Tue, 09 Aug 2022 13:15:36 +0000
Received: by outflank-mailman (input) for mailman id 382945;
 Tue, 09 Aug 2022 13:15:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLP55-0006nf-B3; Tue, 09 Aug 2022 13:15:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLP55-0007Gs-8h; Tue, 09 Aug 2022 13:15:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLP54-0004NS-V4; Tue, 09 Aug 2022 13:15:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLP54-0006q2-UZ; Tue, 09 Aug 2022 13:15:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=v/M1HNG/Ulw0yz/AgF0psYAf+NSpP7NqmoL+iTQzEjQ=; b=PwhqbwKTaiOhSFCCYJuwIKqaIi
	rACnrfk7SoGROX5SB4XFsIdjAzOwQoaJ/7mhk2YSAYpSOx9uTgP8G5kaMywtN0jPzjCdP5eMXw2I5
	BkjUHlzZQkjO1J52I5IS/+ht9Jfun8Y7O2nhWaT5uUWRliuTBZnN7kBr3W6ZSrOCA4go=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172324-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172324: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3caa5a3f03eef4ce7f010aea3af09bb8afde4298
X-Osstest-Versions-That:
    xen=89805b35ce6a0cf402563ebe2f09b03f27152474
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 13:15:34 +0000

flight 172324 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172324/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172310
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3caa5a3f03eef4ce7f010aea3af09bb8afde4298
baseline version:
 xen                  89805b35ce6a0cf402563ebe2f09b03f27152474

Last test of basis   172310  2022-08-08 23:01:46 Z    0 days
Testing same since   172324  2022-08-09 10:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   89805b35ce..3caa5a3f03  3caa5a3f03eef4ce7f010aea3af09bb8afde4298 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 14:02:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 14:02:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382955.618029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLPoB-0003SI-Rt; Tue, 09 Aug 2022 14:02:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382955.618029; Tue, 09 Aug 2022 14:02:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLPoB-0003SB-Oa; Tue, 09 Aug 2022 14:02:11 +0000
Received: by outflank-mailman (input) for mailman id 382955;
 Tue, 09 Aug 2022 14:02:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLPoB-0003S1-65; Tue, 09 Aug 2022 14:02:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLPoB-000882-1p; Tue, 09 Aug 2022 14:02:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLPoA-0007Hv-Dc; Tue, 09 Aug 2022 14:02:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLPoA-0007zv-D7; Tue, 09 Aug 2022 14:02:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pDl3LDTW2BY3p8r8TFjqr5zry54PAwgbOTXULjHNWw4=; b=Rtj1/0Vf9HF8JH3PdjcoqIn0Od
	i0jRHytgzsAQkwtxnDaO7SFXoUR2WLH0ekYmgr9kFC7D877Zoatx0BAzmByNskdt6oVy3XA/xLx/T
	w2VPbyhgc+CXvgxU5DNLtficjK5LThvaq3FjFFA9v4qV0kE4T9o3ZisEewU/DrbtNMy0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172315-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172315: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
X-Osstest-Versions-That:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 14:02:10 +0000

flight 172315 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172315/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 172287 pass in 172315
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail in 172287 pass in 172315
 test-amd64-amd64-xl-qcow2   12 debian-di-install fail in 172287 pass in 172315
 test-amd64-i386-xl-vhd        7 xen-install                fail pass in 172287
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail pass in 172287

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-i386-libvirt            6 libvirt-build                fail  like 172287
 build-amd64-libvirt           6 libvirt-build                fail  like 172287
 build-arm64-libvirt           6 libvirt-build                fail  like 172287
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172287
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172287
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172287
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172287
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172287
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172287
 build-armhf-libvirt           6 libvirt-build                fail  like 172287
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172287
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172287
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172287
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc
baseline version:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc

Last test of basis   172315  2022-08-09 01:51:51 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 14:04:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 14:04:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382965.618039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLPq8-000477-Ad; Tue, 09 Aug 2022 14:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382965.618039; Tue, 09 Aug 2022 14:04:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLPq8-000470-89; Tue, 09 Aug 2022 14:04:12 +0000
Received: by outflank-mailman (input) for mailman id 382965;
 Tue, 09 Aug 2022 14:04:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLPq7-00046q-He; Tue, 09 Aug 2022 14:04:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLPq7-00089b-Gg; Tue, 09 Aug 2022 14:04:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLPq7-0007Nq-6q; Tue, 09 Aug 2022 14:04:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLPq7-000072-6N; Tue, 09 Aug 2022 14:04:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TyVx59j2xLaqzF6l9MyoSfE3bD/eTB59WI9JygWTCBE=; b=dFTZn/5TIt14rOJle2iYqr/V+l
	+txX84zY4DfEdeiB+I9F6GBi/WI5lN6SrEg531Or1mkY2q0CX3RCUtNVREQe6U9ySFGJ85JoWUgxz
	mGPWzGpFNqq2GXDAo9+WzdTSc0lQoxgedjvrv4ZkbjcCQw242mDhAzc/aaYXJWRSUkFk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172327-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172327: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 14:04:11 +0000

flight 172327 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172327/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install         fail pass in 172325

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   44 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 14:06:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 14:06:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382974.618051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLPsg-0004j2-PQ; Tue, 09 Aug 2022 14:06:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382974.618051; Tue, 09 Aug 2022 14:06:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLPsg-0004iv-MB; Tue, 09 Aug 2022 14:06:50 +0000
Received: by outflank-mailman (input) for mailman id 382974;
 Tue, 09 Aug 2022 14:06:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sQDH=YN=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oLPse-0004ii-Us
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 14:06:49 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80985131-17ec-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 16:06:47 +0200 (CEST)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1660054001486612.4994336146949;
 Tue, 9 Aug 2022 07:06:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80985131-17ec-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; t=1660054003; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Yz+5D8xhS6VsduTkEUFAs4hiUQxEbdbbyvZbG1aSB43E1019kGqHblriqWdIsc6/S25pcx9PJWsB6ZAu/FvmAGfRFLnWrnDtmOhZFm7YGtjn03oHgBNdyyEEzyxj9WzFSPelHd+S4x1acSdCYszBuXgclJUISgYqPNdPoF9hQjQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1660054003; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=sCUZgg3ZKh6+lUDHe7AdAiEFvyygFukiKyXKr0zD0o0=; 
	b=lkf5/zMqfnVhoQQcuScXg8fyUjOezt30WImA3gu8CLVALDRjRQtYi87nEIfs/ryzUL9XB4H6bz3H+mRu7Th3hMQCXAohPDhRTfflNvK424x3TuC5P+sJ+RffUhEcrczuxL57JCFlsY8ClmYlUV0tbHk8COhtXpXq1AibwAEfLvs=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1660054003;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:MIME-Version:Content-Type:Content-Transfer-Encoding:Reply-To;
	bh=sCUZgg3ZKh6+lUDHe7AdAiEFvyygFukiKyXKr0zD0o0=;
	b=TXtWTEVVzGlWm6a04eaQPXf68QU8pxn7vDJ3klB7UQ2jZOlO+c20tBHYojL2Ot4K
	mFw2wKMYEAlga2biSJJ2Lvch4FMgZ1fthMtrS/6b9EDxm1WukPxBX3vDCGidpSOGA9l
	eltxtdNEhSPDV3YSD5IefcgAd6Wr0ZtcORo4sccI=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	jandryuk@gmail.com,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v12] xsm: refactor flask sid alloc and domain check
Date: Tue,  9 Aug 2022 10:06:33 -0400
Message-Id: <20220809140633.23537-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

The function flask_domain_alloc_security() allocates the security context and
assigns an initial SID for the domain under construction. When it came to SID
assignment of the initial domain, flask_domain_alloc_security() would assign
unlabeled_t. Then in flask_domain_create() it would be switched to dom0_t.
This logic worked under the assumption that the first domain constructed would
be the hypervisor constructing dom0 and all other domains would be constructed
by a toolstack, which would provide a SID.Â The introduction of dom0less and
subsequently hyperlaunch violates this assumption, as non-privileged domain may
be constructed before the initial domain or no initial domain may be
constructed at all. It is not possible currently for dom0less to express domain
labels in the domain configuration, as such the FLASK policy must employ a
sensible initial SID assignment that can differentiate between hypervisor and
toolstack domain construction. Â With the introduction of xenboot_t it is now
possible to distinguish when the hypervisor is in the boot state, and thus any
domain construction happening at this time is being initiated by the
hypervisor.

This commit addresses the above situation by using a check to confirm if the
hypervisor is under the xenboot_t context in flask_domain_alloc_security().
When that is the case, it will inspect the domain's is_privileged field to
determine whether an initial label of dom0_t or domU_t should be set for the
domain. The logic for flask_domain_create() was changed to allow the incoming
SID to override the initial label.

The base policy was adjusted to allow the idle domain under the xenboot_t
context the ability to construct domains of both types, dom0_t and domu_t.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---

Split out from series "Adds starting the idle domain privileged", earlier patches
from series have been committed.

Changes in v12:
- actually send the changes from v11

Changes in v11:
- put back dom0_created variable in flask_domain_create() to ensure the
  enforcement that dom0_t is a singleton label

Changes in v10:
- rewrote commit message
- fixed typos
- reworked logic in flask_domain_create() to be simpler and not result in
  changing the domain security struct before the access check fails

 tools/flask/policy/modules/dom0.te |  3 ++
 tools/flask/policy/modules/domU.te |  3 ++
 xen/xsm/flask/hooks.c              | 48 ++++++++++++++++++++++--------
 3 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/tools/flask/policy/modules/dom0.te b/tools/flask/policy/modules/dom0.te
index 0a63ce15b6..f710ff9941 100644
--- a/tools/flask/policy/modules/dom0.te
+++ b/tools/flask/policy/modules/dom0.te
@@ -75,3 +75,6 @@ admin_device(dom0_t, ioport_t)
 admin_device(dom0_t, iomem_t)
 
 domain_comms(dom0_t, dom0_t)
+
+# Allow the hypervisor to build domains of type dom0_t
+xen_build_domain(dom0_t)
diff --git a/tools/flask/policy/modules/domU.te b/tools/flask/policy/modules/domU.te
index b77df29d56..3f269018f9 100644
--- a/tools/flask/policy/modules/domU.te
+++ b/tools/flask/policy/modules/domU.te
@@ -13,6 +13,9 @@ domain_comms(domU_t, domU_t)
 migrate_domain_out(dom0_t, domU_t)
 domain_self_comms(domU_t)
 
+# Allow the hypervisor to build domains of type domU_t
+xen_build_domain(domU_t)
+
 # Device model for domU_t.  You can define distinct types for device models for
 # domains of other types, or add more make_device_model lines for this type.
 declare_domain(dm_dom_t)
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 8c9cd0f297..2c2d393edf 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -182,7 +182,15 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
         dsec->sid = SECINITSID_DOMIO;
         break;
     default:
-        dsec->sid = SECINITSID_UNLABELED;
+        if ( domain_sid(current->domain) == SECINITSID_XENBOOT )
+        {
+            if ( d->is_privileged )
+                dsec->sid = SECINITSID_DOM0;
+            else
+                dsec->sid = SECINITSID_DOMU;
+        }
+        else
+            dsec->sid = SECINITSID_UNLABELED;
     }
 
     dsec->self_sid = dsec->sid;
@@ -550,20 +558,36 @@ static int cf_check flask_domain_create(struct domain *d, uint32_t ssidref)
     struct domain_security_struct *dsec = d->ssid;
     static int dom0_created = 0;
 
-    if ( is_idle_domain(current->domain) && !dom0_created )
+    /*
+     * If the null label is passed, then use the label from security context
+     * allocation. NB: if the label from the allocated security context is also
+     * null, the security server will use unlabeled_t for the domain.
+     */
+    if ( ssidref == 0 )
+        ssidref = dsec->sid;
+
+    /*
+     * First check if the current domain is allowed to create the target domain
+     * type before making changes to the current state.
+     */
+    rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN, DOMAIN__CREATE, NULL);
+    if ( rc )
+        return rc;
+
+    /*
+     * The dom0_t label is expressed as a singleton label in the base policy.
+     * This cannot be enforced by the security server, therefore it will be
+     * enforced here.
+     */
+    if ( ssidref == SECINITSID_DOM0 )
     {
-        dsec->sid = SECINITSID_DOM0;
-        dom0_created = 1;
+        if ( !dom0_created )
+            dom0_created = 1;
+        else
+            return -EINVAL;
     }
-    else
-    {
-        rc = avc_current_has_perm(ssidref, SECCLASS_DOMAIN,
-                          DOMAIN__CREATE, NULL);
-        if ( rc )
-            return rc;
 
-        dsec->sid = ssidref;
-    }
+    dsec->sid = ssidref;
     dsec->self_sid = dsec->sid;
 
     rc = security_transition_sid(dsec->sid, dsec->sid, SECCLASS_DOMAIN,
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:07:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382985.618062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLQom-0002II-9A; Tue, 09 Aug 2022 15:06:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382985.618062; Tue, 09 Aug 2022 15:06:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLQom-0002IB-61; Tue, 09 Aug 2022 15:06:52 +0000
Received: by outflank-mailman (input) for mailman id 382985;
 Tue, 09 Aug 2022 15:06:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rEZx=YN=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oLQok-0002I5-3v
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 15:06:50 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00077.outbound.protection.outlook.com [40.107.0.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dcfe9d6c-17f4-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 17:06:36 +0200 (CEST)
Received: from DB8PR06CA0029.eurprd06.prod.outlook.com (2603:10a6:10:100::42)
 by AM0PR08MB3395.eurprd08.prod.outlook.com (2603:10a6:208:dc::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.19; Tue, 9 Aug
 2022 15:06:44 +0000
Received: from DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:100:cafe::1) by DB8PR06CA0029.outlook.office365.com
 (2603:10a6:10:100::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Tue, 9 Aug 2022 15:06:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT012.mail.protection.outlook.com (100.127.142.126) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Tue, 9 Aug 2022 15:06:43 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Tue, 09 Aug 2022 15:06:43 +0000
Received: from 0f550bac390a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B2F787AB-FDC0-45B3-AFF2-1A5083BF43B7.1; 
 Tue, 09 Aug 2022 15:06:36 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0f550bac390a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Aug 2022 15:06:36 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM5PR0802MB2498.eurprd08.prod.outlook.com (2603:10a6:203:98::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Tue, 9 Aug
 2022 15:06:34 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.020; Tue, 9 Aug 2022
 15:06:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dcfe9d6c-17f4-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Mmg29+2AipvE1d/pFXAI3ZvHMEQRCNRmKU5am/t+EaiQQxaqOClsgB72Q5OayI4AEvZqtZsAaRL8H5/1Gpu08iiyDvrCRSCS+7yJysr6YZ9sPrnfuKd5osIZUewoZxFHSbcCaIQSKp7iMuc0U/4m6d2VU9EWiFK+28r5fREOvVxTI63dSrhP1f46anTh54r+S0ZHA5cemhMBG+06kRjuIzHQiK/48zGFpkKppDgsNfNX7IttMQboP0xIuxopFTptxVQtN7sxiGsG+FdGUqw7JCp1b+/n6wEzS30oxfzHcbawbImXHsQ3RF1LfX7/lN+fhUpX6qvj62lMgwZ0G5KcXA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vK5HQKrElDf0iUkqMtc+bm6/H6U2KoyEA3OrM1FR6Xk=;
 b=KzGincdycrvzwyF5LdN1S6mN494Nz1bir2Vk5Yk7UgC7XibWh7a85HFxkMsf2J0ir4kknFsZX9Zb+TyKL9BHJHw+iBEZcdPK6CI8W8+atwh6nOCklYownhafbVFMNFqX9QJg88uSk4qtlLsPkfTtgTR/fDCR60UiTPVtv0eKf5YGW9QMhrKz1Y7tyMHwsMiRdTZHJa3Kw5HJthgJYkM+Yov+Z6kPDKyo92hZwPOIbpP3vNEshFGHdLW/NhfrZPvJHkKZK855mHL64kjHUAjm9Cq+9/99TX/firgMUHAm+UEut0oUFpAu5kpf8zRc8EWrTTIzpFz3r9E0P97yoMt36w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vK5HQKrElDf0iUkqMtc+bm6/H6U2KoyEA3OrM1FR6Xk=;
 b=3W9ex3FK0dNW0Bhan5aJWYasAT5LjzRSulURo5oJjgACynwpVE4aKaZxpJN2bXUcQpH49ix0ggEnMDPMXFVDgrpB6bV/6yfWu4/YHs4GHM2/z8isvTRyn+Vy54v+UVjGwGOUvLZvogIxO3lklP24cSsO0fxGMcydX3aAZgbLyQI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 000f1efb1970dbf2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qa0CG0Bn4BpL4azJ+juDiAfGPlBQfmhyU3yr/R+EN3J5pRtOcDfeoJqf7qfoSg3riehyt9QS/RpnVQpQc5BmV7XunkNuz0NhjpuBH0LCYKMp+l9Q4g6tPZkO4TsCAizQAUvxfabZkfdC5B4O47rLnqOhSMmMaRqrzkuXl+jmkF7fjbOxQvS9V7FjHyxJZa8+HFBkk5bfC9efV9QH0r3v92oEa6JhbMGn+Jfj2SaJ4wZ6+oQL7F4EAU7HD/RftvZ8fRB99lFM4lWmpamOTlZy15NL3NOOdQLet30qIUobzSfalBJlWzH/1kqJaLjPd7rAggrrWfDxu9tSonuiXUhRKw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vK5HQKrElDf0iUkqMtc+bm6/H6U2KoyEA3OrM1FR6Xk=;
 b=J8u6mCzCPPJ7/oBDeNAUk7+FiUx6GTUWbpBJsgFO4dWGCSDlwm2e0YeidSWGAi43/9FLkXjBk9UBPHk/M8ujTui6QXHrbt+gQqw5/C7byFFdquoaBNvPFvJnT7EJ9F80kvV2FtA/9zfDdlvjY6jdN6Oy6WaSRxUrkMzVz4YOpuE6aIPBnBxiKgm/H7nos0lQIEnrgcnLh+tFiphDkwLZhoEJednL7iYvZIVZbXqaduZAnmvko9fhaLQlE/0TC32aOnnB8U/KlG7RO+tGozI8jT5oC8PKPJyYkP8oDK4ylMJ5ZrY9waDjnyLnKEp8HffAgqQt2X+dC2Jk3EelSPHjRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vK5HQKrElDf0iUkqMtc+bm6/H6U2KoyEA3OrM1FR6Xk=;
 b=3W9ex3FK0dNW0Bhan5aJWYasAT5LjzRSulURo5oJjgACynwpVE4aKaZxpJN2bXUcQpH49ix0ggEnMDPMXFVDgrpB6bV/6yfWu4/YHs4GHM2/z8isvTRyn+Vy54v+UVjGwGOUvLZvogIxO3lklP24cSsO0fxGMcydX3aAZgbLyQI=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Thread-Topic: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Thread-Index: AQHYqOI28IdG0PHJfUiTCQKz3s6xa62mXF0AgABVF4A=
Date: Tue, 9 Aug 2022 15:06:33 +0000
Message-ID: <9F5E81CD-858B-44CA-8BE3-B518111E2E85@arm.com>
References:
 <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <dd0ad0a4-6a01-7e35-51dc-614477bb9556@suse.com>
In-Reply-To: <dd0ad0a4-6a01-7e35-51dc-614477bb9556@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 204c268c-2942-41df-c08d-08da7a18c584
x-ms-traffictypediagnostic:
	AM5PR0802MB2498:EE_|DBAEUR03FT012:EE_|AM0PR08MB3395:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 vYA1MQFTJb1QAgPUHBjtXkieB1nOdORg6taZWSGEzYNIB5tQSE6pXAm11Ja2yW+F0YecsyN6RJnnsy+ovcu+J+FGjcl3oo45cG4udmegT5IMw25AX0/8EmhqNerfKpteJ6DKW77wUhCAHlUOt36YjPxdfVNIylwkFvWonbTLeG+msxQCwqOtPm1RAfjyCnprfTWjMd9p37uO965vL/HDuoXsn7vnI/dwG89OXaBOgh7j7LZO3+kAniji2rekYwztGH4vfwf77QG2XrzULzwCbv/FTgrwM3D5L2ssc2jDs17cjsbY3z+tiIWXpl1XxVYGfuQJbmIWpO7ipMs3Vmb65pKf2FEbtPIBDh0T1UN6r1N3F7U3SETspYq98o47f6uuRLRFlw1dRsn21LF/BH+JoGjlkwEGnLf943ZD+5tJaKv33u/695/nBVX7zFMo5NOvxZLPHShzcVdnKHdJb4CNjXyOgoVHl/FywUrjAs6w1sdklIa8LyGnB0HLRNUBhanBX+O/04WGmfrXcWQ65Lc5tw5C07WFr05WG7TzDfol1UFyZXORyzzf2ai130qyD0xFb/JI7KGigFe8l7CTpUG6ZQu/TsMmajb72VEx5l8EcM59P4s4NSmTvKsNkDyW7MY/iKHjPamFFJvszYZ6m3THcRlzREfl6xUf7OcbxmAspMRjrSZCVHUQvppWgy+73pT9cr9jN9YnjytK8VO5WhXfxLkK0At4TdUdpz9E5xBfy5h6FH5RnlZIE2DkLg0QEte5loxyhzJn2P4JHwwDuuaDj5wc3mi5juPq0F8Y/DmMeYzvWFZX/qoBiAiQaeGm94SDvwoiNir/vPKhoWOHVBuXmQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(376002)(346002)(396003)(366004)(76116006)(8936002)(38100700002)(66446008)(91956017)(66556008)(5660300002)(66476007)(64756008)(8676002)(4326008)(66946007)(122000001)(2906002)(33656002)(6512007)(86362001)(38070700005)(36756003)(6486002)(478600001)(71200400001)(41300700001)(6916009)(316002)(2616005)(54906003)(186003)(26005)(6506007)(53546011)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <11E40EA16C104A4C90C2E020CC858ACD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2498
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5d52fbf3-86a8-48a3-1e2d-08da7a18bfac
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5fyp9K9KZMxAouCFxYKUPaVL95xQBi5ew0rUnpk9IBmqgNfF7fvNHk8SFeotvt4KSDDhJfOl8i541OGkFPN6Uunw4IdCuTTmOUNmjgKwrbMwJaWnAttxcmC4IKxnLCvGNaJ86c77VQJQyGnXl50rlacTmqp5XRyD869jeGMPqEcSMoVmrgNkHglgkVN80/MzDwyAl2VO6vDhoqkIJpIIgbiOrb+7YL7Zfh8SKuVzIk3wMoI7u8A7g+sC9ANGbNUN8RuLRYz3PnEzpK/mczxWcEO2wz/kA6qFnHXiaiH6s2UuinTuKZp4G6h+0fcVuhZIO2EfKAURZcoO4MxH3ma8piDD2z+5dAjbikmnbpMHm2vZIhvf6WvryW3eQnxHAm9SGkJpUAskVav0mDZx2oDo9EQAwy1ft00mFm37DhK/7jp5QKk0bYnxDWnI3jf1DGM3eVAER3ok9zMUtHtz1qtbgad/FQ4xZUAWtbhb+8J6luFpByCaGU0ZYK049acDI8zySARrQHnDNBHVd1QXVsUf7HTTYmBp8AIH7t3V1kc5SPhahbKfJSTx2qY0cKDSdNH/igPXXq1DZvih+9euvqnoG5U3KXDZBZFfct2b4p7F7mjOI1H65h4euhjRwdZbMyfOyTpg3ns8W4XcxFUIhdpeVVgYNCWpS+4Q3zKCvaAm82fROhEsGUjCV8hXatv8uqwDDcb67+lpc+5tD7UUnutsxvVj1RNaW1ojSqPoTGBXBbY78m4AwTNfvEa0ZSC0U2fAQ6Zy1myKssCSAItpRsMsDJm/tFQERMWh2I3+3C/j89s40DqfmNZcYwAljpc6Eoyn
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(396003)(39860400002)(346002)(46966006)(36840700001)(40470700004)(40460700003)(2906002)(33656002)(478600001)(2616005)(82310400005)(86362001)(36756003)(40480700001)(5660300002)(36860700001)(6862004)(8936002)(54906003)(8676002)(6512007)(26005)(70206006)(4326008)(6506007)(53546011)(70586007)(41300700001)(336012)(316002)(47076005)(82740400003)(81166007)(356005)(186003)(6486002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 15:06:43.7961
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 204c268c-2942-41df-c08d-08da7a18c584
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3395

SGkgSmFuLA0KDQo+IE9uIDkgQXVnIDIwMjIsIGF0IDExOjAyIGFtLCBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMDUuMDguMjAyMiAxNzo0MywgUmFodWwg
U2luZ2ggd3JvdGU6DQo+PiBwY2lfZ2V0X3BkZXZfYnlfZG9tYWluKCkgYW5kIHBjaV9nZXRfcGRl
digpIGZ1bmN0aW9ucyBmaW5kIHRoZSBwZGV2IGluDQo+PiB0aGUgcHNlZyBsaXN0LiBJZiBwZGV2
IGlzIG5vdCBpbiB0aGUgcHNlZyBsaXN0LCB0aGUgZnVuY3Rpb25zIHdpbGwgdHJ5DQo+PiB0byBm
aW5kIHRoZSBwZGV2IGluIHRoZSBuZXh0IHNlZ21lbnQuIEl0IGlzIG5vdCByaWdodCB0byBmaW5k
IHRoZSBwZGV2DQo+PiBpbiB0aGUgbmV4dCBzZWdtZW50IGFzIHRoaXMgd2lsbCByZXN1bHQgaW4g
dGhlIGNvcnJ1cHRpb24gb2YgYW5vdGhlcg0KPj4gZGV2aWNlIGluIGEgZGlmZmVyZW50IHNlZ21l
bnQgd2l0aCB0aGUgc2FtZSBCREYuDQo+PiANCj4+IEFuIGlzc3VlIHRoYXQgd2FzIG9ic2VydmVk
IHdoZW4gaW1wbGVtZW50aW5nIHRoZSBQQ0kgcGFzc3Rocm91Z2ggb24gQVJNLg0KPj4gV2hlbiB3
ZSBkZWFzc2lnbiB0aGUgZGV2aWNlIGZyb20gZG9tVSBndWVzdCwgdGhlIGRldmljZSBpcyBhc3Np
Z25lZA0KPj4gdG8gZG9tX2lvIGFuZCBub3QgdG8gZG9tMCwgYnV0IHRoZSB0b29sIHN0YWNrIHRo
YXQgcnVucyBpbiBkb20wIHdpbGwgdHJ5DQo+PiB0byBjb25maWd1cmUgdGhlIGRldmljZSBmcm9t
IGRvbTAuIHZwY2kgd2lsbCBmaW5kIHRoZSBkZXZpY2UgYmFzZWQgb24NCj4+IGNvbnZlcnNpb24g
b2YgR1BBIHRvIFNCREYgYW5kIHdpbGwgdHJ5IHRvIGZpbmQgdGhlIGRldmljZSBpbiBkb20wLCBi
dXQNCj4+IGJlY2F1c2UgZGV2aWNlIGlzIGFzc2lnbmVkIHRvIGRvbV9pbywgcGNpX2dldF9wZGV2
X2J5X2RvbWFpbigpIHdpbGwNCj4+IHJldHVybiBwZGV2IHdpdGggc2FtZSBCREYgZnJvbSBuZXh0
IHNlZ21lbnQuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IFJhaHVsIFNpbmdoIDxyYWh1bC5zaW5n
aEBhcm0uY29tPg0KPiANCj4gVGhpcyB3YW50cyBhIEZpeGVzOiB0YWcuDQoNCkFjay4gDQo+IA0K
Pj4gLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMNCj4+ICsrKyBiL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jDQo+PiBAQCAtNTkzLDEzICs1OTMsMTAgQEAgc3RydWN0IHBj
aV9kZXYgKnBjaV9nZXRfcGRldihpbnQgc2VnLCBpbnQgYnVzLCBpbnQgZGV2Zm4pDQo+PiAgICAg
ICAgICAgICByZXR1cm4gTlVMTDsNCj4+ICAgICB9DQo+PiANCj4+IC0gICAgZG8gew0KPj4gLSAg
ICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAoIHBkZXYsICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFs
bGRldnNfbGlzdCApDQo+PiAtICAgICAgICAgICAgaWYgKCAocGRldi0+YnVzID09IGJ1cyB8fCBi
dXMgPT0gLTEpICYmDQo+PiAtICAgICAgICAgICAgICAgICAocGRldi0+ZGV2Zm4gPT0gZGV2Zm4g
fHwgZGV2Zm4gPT0gLTEpICkNCj4+IC0gICAgICAgICAgICAgICAgcmV0dXJuIHBkZXY7DQo+PiAt
ICAgIH0gd2hpbGUgKCByYWRpeF90cmVlX2dhbmdfbG9va3VwKCZwY2lfc2VnbWVudHMsICh2b2lk
ICoqKSZwc2VnLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Vn
LT5uciArIDEsIDEpICk7DQo+PiArICAgIGxpc3RfZm9yX2VhY2hfZW50cnkgKCBwZGV2LCAmcHNl
Zy0+YWxsZGV2c19saXN0LCBhbGxkZXZzX2xpc3QgKQ0KPj4gKyAgICAgICAgaWYgKCAocGRldi0+
YnVzID09IGJ1cyB8fCBidXMgPT0gLTEpICYmDQo+PiArICAgICAgICAgICAgIChwZGV2LT5kZXZm
biA9PSBkZXZmbiB8fCBkZXZmbiA9PSAtMSkgKQ0KPj4gKyAgICAgICAgICAgIHJldHVybiBwZGV2
Ow0KPj4gDQo+PiAgICAgcmV0dXJuIE5VTEw7DQo+PiB9DQo+PiBAQCAtNjQyLDE0ICs2MzksMTEg
QEAgc3RydWN0IHBjaV9kZXYgKnBjaV9nZXRfcGRldl9ieV9kb21haW4oY29uc3Qgc3RydWN0IGRv
bWFpbiAqZCwgaW50IHNlZywNCj4+ICAgICAgICAgICAgIHJldHVybiBOVUxMOw0KPj4gICAgIH0N
Cj4+IA0KPj4gLSAgICBkbyB7DQo+PiAtICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggcGRl
diwgJnBzZWctPmFsbGRldnNfbGlzdCwgYWxsZGV2c19saXN0ICkNCj4+IC0gICAgICAgICAgICBp
ZiAoIChwZGV2LT5idXMgPT0gYnVzIHx8IGJ1cyA9PSAtMSkgJiYNCj4+IC0gICAgICAgICAgICAg
ICAgIChwZGV2LT5kZXZmbiA9PSBkZXZmbiB8fCBkZXZmbiA9PSAtMSkgJiYNCj4+IC0gICAgICAg
ICAgICAgICAgIChwZGV2LT5kb21haW4gPT0gZCkgKQ0KPj4gLSAgICAgICAgICAgICAgICByZXR1
cm4gcGRldjsNCj4+IC0gICAgfSB3aGlsZSAoIHJhZGl4X3RyZWVfZ2FuZ19sb29rdXAoJnBjaV9z
ZWdtZW50cywgKHZvaWQgKiopJnBzZWcsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBzZWctPm5yICsgMSwgMSkgKTsNCj4+ICsgICAgbGlzdF9mb3JfZWFjaF9lbnRy
eSAoIHBkZXYsICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFsbGRldnNfbGlzdCApDQo+PiArICAgICAg
ICBpZiAoIChwZGV2LT5idXMgPT0gYnVzIHx8IGJ1cyA9PSAtMSkgJiYNCj4+ICsgICAgICAgICAg
ICAgKHBkZXYtPmRldmZuID09IGRldmZuIHx8IGRldmZuID09IC0xKSAmJg0KPj4gKyAgICAgICAg
ICAgICAocGRldi0+ZG9tYWluID09IGQpICkNCj4+ICsgICAgICAgICAgICByZXR1cm4gcGRldjsN
Cj4+IA0KPj4gICAgIHJldHVybiBOVUxMOw0KPj4gfQ0KPiANCj4gSW5kZWVkIHByZXNlbnQgYmVo
YXZpb3IgaXMgd3JvbmcgLSB0aGFua3MgZm9yIHNwb3R0aW5nLiBIb3dldmVyIGluDQo+IGJvdGgg
Y2FzZXMgeW91J3JlIG1vdmluZyB1cyBmcm9tIG9uZSB3cm9uZ25lc3MgdG8gYW5vdGhlcjogVGhl
DQo+IGxvb2t1cCBvZiBmdXJ0aGVyIHNlZ21lbnRzIF9pc18gbmVjZXNzYXJ5IHdoZW4gdGhlIGlu
Y29taW5nICJzZWciDQo+IGlzIC0xIChhbmQgYXBwYXJlbnRseSB3aGVuIHRoaXMgbG9naWMgd2Fz
IGludHJvZHVjZWQgdGhhdCB3YXMgdGhlDQo+IG9ubHkgY2FzZSBjb25zaWRlcmVkKS4NCg0KSWYg
SSB1bmRlcnN0YW5kIGNvcnJlY3RseSB0aGVuIGZpeGVkIGNvZGUgc2hvdWxkIGJlIGxpa2UgdGhp
czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICANCuKAlHNuaXDi
gJQgDQrigKYuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgDQogICAgaWYgKCAhcHNlZyApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICANCiAgICAgICAgaWYgKCBzZWcgPT0gLTEgKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICByYWRpeF90
cmVlX2dhbmdfbG9va3VwKCZwY2lfc2VnbWVudHMsICh2b2lkICoqKSZwc2VnLCAwLCAxKTsgICAg
ICAgIA0KICAgICAgICBpZiAoICFwc2VnICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgIHJldHVybiBOVUxMOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAg
bGlzdF9mb3JfZWFjaF9lbnRyeSAoIHBkZXYsICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFsbGRldnNf
bGlzdCApICAgICAgICAgDQogICAgICAgICAgICBpZiAoIChwZGV2LT5idXMgPT0gYnVzIHx8IGJ1
cyA9PSAtMSkgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAg
ICAocGRldi0+ZGV2Zm4gPT0gZGV2Zm4gfHwgZGV2Zm4gPT0gLTEpICkgICAgICAgICAgICAgICAg
ICAgICAgICANCiAgICAgICAgICAgICAgICByZXR1cm4gcGRldjsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgIH0gd2hpbGUgKCByYWRp
eF90cmVlX2dhbmdfbG9va3VwKCZwY2lfc2VnbWVudHMsICh2b2lkICoqKSZwc2VnLCAgICAgICAg
IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzZWctPm5yICsgMSwgMSkg
KTsgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgcmV0dXJuIE5VTEw7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICBsaXN0X2Zv
cl9lYWNoX2VudHJ5ICggcGRldiwgJnBzZWctPmFsbGRldnNfbGlzdCwgYWxsZGV2c19saXN0ICkg
ICAgICAgICAgICAgDQogICAgICAgIGlmICggKHBkZXYtPmJ1cyA9PSBidXMgfHwgYnVzID09IC0x
KSAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgIChwZGV2
LT5kZXZmbiA9PSBkZXZmbiB8fCBkZXZmbiA9PSAtMSkgKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICANCiAgICAgICAgICAgIHJldHVybiBwZGV2OyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0K
ICAgIHJldHVybiBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICANCn0gIA0KDQoNCj4gDQo+IEFzIGFuIGFzaWRlIC0gbXkg
bWFpbCBVSSBzaG93cyBtZSB1bmV4cGVjdGVkIHRocmVhZGluZyBiZXR3ZWVuDQo+IHRoaXMgcGF0
Y2ggYW5kIHR3byBzdWJzZXF1ZW50IG9uZXMuIElmIHRoZXkgd2VyZSBhY3R1YWxseSBtZWFudA0K
PiB0byBiZSBhIHNlcmllcywgY2FuIHRoZXkgcGxlYXNlIGJlIG1hcmtlZCBuLzM/DQoNClNvcnJ5
IGZvciB0aGUgY29uZnVzaW9uIGFsbCB0aGUgcGF0Y2hlcyBhcmUgaW5kZXBlbmRlbnQgb2YgZWFj
aCBvdGhlci4NCk1heWJlIHRoaXMgaXMgYmVjYXVzZSBJIHNlbmQgdGhlbSB2aWEgYSBzaW5nbGUg
Z2l0IHNlbmQtbWFpbCBjb21tYW5kLg0KSSB3aWxsIGZpeCB0aGF0IGluIHRoZSBuZXh0IHZlcnNp
b24uIA0KDQpSZWdhcmRzLA0KUmFodWw=


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:13:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:13:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.382994.618073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLQv6-0003nd-2e; Tue, 09 Aug 2022 15:13:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 382994.618073; Tue, 09 Aug 2022 15:13:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLQv5-0003nW-Vf; Tue, 09 Aug 2022 15:13:23 +0000
Received: by outflank-mailman (input) for mailman id 382994;
 Tue, 09 Aug 2022 15:13:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLQv4-0003nQ-Mo
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 15:13:22 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20070.outbound.protection.outlook.com [40.107.2.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c83f4cc1-17f5-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 17:13:11 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8662.eurprd04.prod.outlook.com (2603:10a6:10:2dd::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 9 Aug
 2022 15:13:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 15:13:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c83f4cc1-17f5-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YxrGtPS3DScUKvVpMc98LjcUFWRknmzjfyc77SBUcspWuWkMCbbO5D5TkOUZIgIKY50M24rr7X4DVHnhtodlFseoJoNAfKW10htcyVuzgQ7JADQh6cuqgrT/d6/oUYOTVYNLnDd4Vsk83W+lWQ77IsdgPezW3BYAvWonBwc/OARTh/UhnZGXYLDrn+/7d51p+PZyt7+axSHWW90V1OXHrHQ1t7nv8gtSiuc86VNdHvzhWCdJ+9ZQe5XcxcWu+zrI7r1wXCzqNnEPZh2rdsomluHn5fuY8dvdYUU62mhZDZWsT/uXYjMMshlCMhKYl0BTiCCrmy1VHlbbRCe6sV/uqg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oKh30c55EpI/STGxmfeUdUzT9z+6VgDDJLq4DGKo834=;
 b=QMG6iYDpSMn7OLbLeEe6QBHreY+rqTMClDn757FN88Bfj5op31CVe44aMha+IDyXrJ81FRaiRptMJq7crg5eK7DlbajbdDiMwfmqFxi9qoT4ir0YTGvNFIHkKyQ/dsMwV531BchrRmtwJvuAlMiqBcokN2Q2sICaZouVMbH7AEjAv7z9O0k4AImGC4VZngD5VQ0Wg2eXvVdU/T9fcvFqRnZ/1KK6KTMBNuf/KOTfG0WH6EVj0agyj0YkbXywvsWC4OaIoThEHSwOQMlCXq1CSupl2sOqN3ppSky7qD8QXc+8QEFP5206GniZG+tIM8kkx/ux2WcqbsMkLgUWDDaWbQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oKh30c55EpI/STGxmfeUdUzT9z+6VgDDJLq4DGKo834=;
 b=0UdygP/yptmf22itCGqVedgUFZ5rVUmT9IyafvGhfuBHrKqPwssMU8TNEEjfp3wdVq3CPxIu2mWJvzxychUcmfzTPRt/0GwXcvhR7TiAAju2paUrxtFLZeey4PrYabApYyerv0zBcln3dl8Hg/pO/wJvVGlVf5J8A3r7FoRi9IzfmeDwVmQacnNXics1Lvcn6PKirsou7oXPy4Lk8DS0v7LV53rNzwm2Xepu4sz17jYmH/lng1C4P0GKMmbWU3GpqGHWhHnY5bZIKI3ve79RLB7Ua6UZ8D7r39ErO66HaCWkfSWekzwSVHf9UPFf3gzSWdsrkHaTfM4GCCCgUOXeaw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bd7d16b4-f11b-48ee-07d9-0f2e3d533964@suse.com>
Date: Tue, 9 Aug 2022 17:13:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <dd0ad0a4-6a01-7e35-51dc-614477bb9556@suse.com>
 <9F5E81CD-858B-44CA-8BE3-B518111E2E85@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9F5E81CD-858B-44CA-8BE3-B518111E2E85@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bb78e224-b91c-4eab-b868-08da7a19b094
X-MS-TrafficTypeDiagnostic: DU2PR04MB8662:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UcerGU+YGX8ba5ErQbucnUSw8sOPDM9TBvHVGnvJh5w0wSifiYeGkeauJgMBh4fqGCvHRCzBg5WG0iqtOjJ1X8VL+pVOtdz4n21xoAVcUvpZbbFaql8a/rOt3QI6fX3pbi24yWzltAIMEds3WQZilG/gV2cj1KCqr2PEfKmVZN7r6nimRmVvbZoAZLP4PEFskS8k9CkChCffdJyLeni4p+7WDfilX2ic+LFfB/TosWyTro0ZTafbSNyeJuKl2G8D0yFJkcJMh33tfmHr6kQBFqa97f/g0H0FEO7idTZkTDRX4XhMJFbA8Ig4ztjVzJRbcYUULYvqOoQpLM2wEdMKwKNEdU3SK9Tygw6+FJDa9DnARhAk+gNWdK0hU6eptp4BB8z8MIbTtosaVkKlijd4+AHjmTbYV8X/s64TYmGjFqoD8fNabNK03cxwT/ULQiBVTexgZjFdCeTvoOnKpAYdoO6HRXkSHDz8TpKDb9df/eyZRjQj2nuELBXAvRYLuxtzuLHvDHi3nHgFEa1nWnY34Lf+XMYFNQfhBClAt6kUP3q+BcOz4xQagtl2FVJyYssj+JPNSijnSoZRAprVcFSKEZU+rjwasrCUBwOw4QpDsgQfPX6skGcJUE4Zno6KrMyP9NeYeNrpajm4rzp1Mvv353U+u6PwZTivluztKVmNTwEKytdTU+MNl8ZyASmU0+HZ+1Zcqyz+p+N49eD0p3mLeOJMtO1AQaMDMRJmGHNEOBk4bYVtEE32LfSCPhgvLU6wOAUo8O6bJXXVBvwM1BmwWEcgw6KsyePnvOa18MkXmuhg6JfHbV31X7vkos0yIm35Vt3ju/zBSZJEXaX3eCvY9A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(396003)(366004)(376002)(39860400002)(26005)(31696002)(6512007)(53546011)(86362001)(41300700001)(6506007)(83380400001)(186003)(2616005)(36756003)(4326008)(8676002)(38100700002)(66556008)(66476007)(2906002)(8936002)(5660300002)(31686004)(6486002)(54906003)(6916009)(316002)(66946007)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V2YvNUpMQ3AzWC80M2Y5ZjhUTDlVRHRmdUhyZGhFVUZsSldZSnFmZjRrK0JP?=
 =?utf-8?B?Z1U1NUpmTHNmT04ybXVTdmhVS1ZPSll5OVlOWHZ5K01KMXpqMG1ZTmNuNURM?=
 =?utf-8?B?T25CQnZFOWcvdEQ2N2ptcUk3MnVUcFNoekpQbXUzR21OM3VubkxMNEVraldi?=
 =?utf-8?B?SUF5YWU5cTh6Uk5xSHpYb2JheTR2SkpZTUlwdm9xMUhjTzdiTS9YQlRoRVBn?=
 =?utf-8?B?bkZldXZFNlFJNEVkaFNvWjZTdlgrWHdSMHNWNEpDTU1ubFpLVUF6ZDcyRzJh?=
 =?utf-8?B?bVZiNk5KQmdVYnpQc1Vza0Z6T2pxNmYycHE2a0Vuc1NVMUdad0pVbkQwaUc4?=
 =?utf-8?B?RXQ3amhwalJKZmN4OGNidVNtUUMzTlVtMThxamZwMEY3eFJOYlFPVW5GVGdX?=
 =?utf-8?B?cERJeWxLOVhtU29iVVUveXpoQ0l4ZTZWMGNZSU44Y2xKR1dlQXZRSWhLbG02?=
 =?utf-8?B?aVFPVmVFWDhtcTNtSnh1MzBudFJYYnpZcjcySmIrTHBqNFlGS0lBOEF3RUt4?=
 =?utf-8?B?eVVTeHlSZzFDd0JKVjRTMDBLRHpPV3N6Yk14emVoRnQ4ZUwyTTVkdjF6TW1J?=
 =?utf-8?B?cXUvdFVveWRwa1QzQmt3NDREa2FEQWFIRVdZa3d6b3BJMVVSWHF3cHUzR1Jk?=
 =?utf-8?B?NW9TQnN6WXZ2MzNic2JFTjJiMFhIdk5EQitONlFqWlZlOTgvSEU4S2QvQVN6?=
 =?utf-8?B?UGJxc2dzUm90OUpJbHZWOEY5dnlUSERLclh3WndPRVZ6WWJIUnU3RWRIVHZK?=
 =?utf-8?B?Q0dicC84T243aXgzcjJqZUlzSlkvS09nTUR1bzZaeEFwbnFvb2YxVElLVnkx?=
 =?utf-8?B?MnEyNUJ4UHc3U2NFWUwvL0pxNDZmVFlYWWptWVUxOTZ2anpNaDN4SU1mdE80?=
 =?utf-8?B?OVVnNlNCUkxLbk91MWhOaDVLRDNwQ1hvRi9odmwyQzNuWFpCaHpVYTZUKzZB?=
 =?utf-8?B?eDc4K0crSWhJUVIrWUx2eDROaFhhbW1rT0FjM3l6MUdIR1B4YTVQWnUxMDIz?=
 =?utf-8?B?MjFOMU51dU1XQmVNT0h2SlI0WDFQejk0TEJBZ1pVTHExdGs4S2UzK1NUU0Z6?=
 =?utf-8?B?NzBqa0RpSkRUWmZMNHM4eFlOL1hQQ0dHM2FuMEMvaWNnQ3hQNEdiRFhrQlZT?=
 =?utf-8?B?eTBJZ0VTa2dPNDNKdnpYQzNMcCtaNlJMQWlrVmdJZjI3MS93aktQRTdDL3R0?=
 =?utf-8?B?dG9MY0UzQzZtd3dkUTNaUzBrRlQ0R3RPNUtrUzQxZG42YzRMMXZJZmFudC9E?=
 =?utf-8?B?QVNPOWpQWmhKOWtGQ3VvNlVKUDdIQ0Z2MVoydHkrWHV4d25ZVGdVT0RKSVE1?=
 =?utf-8?B?LzgyZDhzWkhiR2MwMm1USlNyM1pJVFdlQnZ2c0pvelczRjJnQ25RMXRwMWs4?=
 =?utf-8?B?dDU3TGpZNm1UTit5MTlaeTE3ZjRDRlNzRExQNXVIbWQ4SzUrYWhjSW1UYnMx?=
 =?utf-8?B?ZW1VdkVEMWNHNnlqcEZkbmZZbDd4RExQWjRkQ1NZVHk5bUtIUkZab2VRNTBh?=
 =?utf-8?B?WXhmL0NsejZyU1F4SjlFbzA2ODdjbi8wRWpTeFFkWEhBZjZjdmxubXFUVDdB?=
 =?utf-8?B?NkdrV08xc0dLRzloNWNxSWxvaWZFU2xuS0J0MGFlMmZMcURjTWxhREJ3RXM1?=
 =?utf-8?B?NFFzRmdkeGl4ZmtiU0s0TVJSYTROUUhvY3NQYk1QUjRRcmluNzZnNG5icnYw?=
 =?utf-8?B?ZS92YmE4cXBRRTcrc0k5czhrRGpiVGUxSnU1NGVoRGdDVEpjTVM1NUltOWQ2?=
 =?utf-8?B?ZDczYXVERERRcW5RSnkxV0RHNE5qL3lMSnhnVjRpSEJCNWE5c2NYenUwZGJB?=
 =?utf-8?B?TVNEbVpNei9ZTG1JTWJqQ3FJRktoL244SUtSRTY1VnRlWjFSSzQ5ZExoczE1?=
 =?utf-8?B?eHBURTRhcWRlaGRCdjBYcWc2SFl5UXBTbm1OcWFmdzE2d0U4Vlprbzl4NHB4?=
 =?utf-8?B?WjU5aVlDR2VUekN5bklEZGZSd3ZHcTNSaHVLNXI2VzhUSm15RzNRaURrWWw4?=
 =?utf-8?B?OU92cGhYbkpSdkRuOGNuVHJWaG94Rzc2QWJneG43OTZZRlI1RHZtMmxMcjZU?=
 =?utf-8?B?TXJjRlozVFkxbDdYTVNEVmJ4VHhoYmR1bFhTdGdNSFkrV0FNeFphc1JtSkRr?=
 =?utf-8?Q?Oo/KaHilWM7Hb18oxQqEGPjaP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb78e224-b91c-4eab-b868-08da7a19b094
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 15:13:18.3060
 (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: MIYGxGezWAxBfVohw9RfWfpXwChzIKoWewOs8QK9wgQlIjrh1oVt1Jodf6/Y9USQcLrG3+6GSJ5e+WOAovzEwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8662

On 09.08.2022 17:06, Rahul Singh wrote:
>> On 9 Aug 2022, at 11:02 am, Jan Beulich <jbeulich@suse.com> wrote:
>> On 05.08.2022 17:43, Rahul Singh wrote:
>>> --- a/xen/drivers/passthrough/pci.c
>>> +++ b/xen/drivers/passthrough/pci.c
>>> @@ -593,13 +593,10 @@ struct pci_dev *pci_get_pdev(int seg, int bus, int devfn)
>>>             return NULL;
>>>     }
>>>
>>> -    do {
>>> -        list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>>> -            if ( (pdev->bus == bus || bus == -1) &&
>>> -                 (pdev->devfn == devfn || devfn == -1) )
>>> -                return pdev;
>>> -    } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,
>>> -                                     pseg->nr + 1, 1) );
>>> +    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>>> +        if ( (pdev->bus == bus || bus == -1) &&
>>> +             (pdev->devfn == devfn || devfn == -1) )
>>> +            return pdev;
>>>
>>>     return NULL;
>>> }
>>> @@ -642,14 +639,11 @@ struct pci_dev *pci_get_pdev_by_domain(const struct domain *d, int seg,
>>>             return NULL;
>>>     }
>>>
>>> -    do {
>>> -        list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>>> -            if ( (pdev->bus == bus || bus == -1) &&
>>> -                 (pdev->devfn == devfn || devfn == -1) &&
>>> -                 (pdev->domain == d) )
>>> -                return pdev;
>>> -    } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,
>>> -                                     pseg->nr + 1, 1) );
>>> +    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>>> +        if ( (pdev->bus == bus || bus == -1) &&
>>> +             (pdev->devfn == devfn || devfn == -1) &&
>>> +             (pdev->domain == d) )
>>> +            return pdev;
>>>
>>>     return NULL;
>>> }
>>
>> Indeed present behavior is wrong - thanks for spotting. However in
>> both cases you're moving us from one wrongness to another: The
>> lookup of further segments _is_ necessary when the incoming "seg"
>> is -1 (and apparently when this logic was introduced that was the
>> only case considered).
> 
> If I understand correctly then fixed code should be like this:                                        
>    
> â€”snipâ€” 
> â€¦.                                                                  
>     if ( !pseg )                                                                
>     {                                                                           
>         if ( seg == -1 )                                                        
>             radix_tree_gang_lookup(&pci_segments, (void **)&pseg, 0, 1);        
>         if ( !pseg )                                                            
>             return NULL;                                                        
>                                                                                 
>         do {                                                                    
>         list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )         
>             if ( (pdev->bus == bus || bus == -1) &&                             
>                  (pdev->devfn == devfn || devfn == -1) )                        
>                 return pdev;                                                    
>         } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,         
>                                      pseg->nr + 1, 1) );                        
>         return NULL;                                                            
>     }                                                                           
>                                                                                 
>     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )             
>         if ( (pdev->bus == bus || bus == -1) &&                                 
>              (pdev->devfn == devfn || devfn == -1) )                            
>             return pdev;                                                        
>                                                                                 
>     return NULL;                                                                
> }  

That would about double the code in the functions. Imo all it takes
is to alter the while() conditions, prefixing what is there with
"seg == -1 &&".

Actually while looking there I've noticed the get_pseg() uses in
both functions aren't quite right for the "seg == -1" case either.
I'll make a patch there, which I think shouldn't collide with yours.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:15:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383001.618084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLQwk-0004Mu-ER; Tue, 09 Aug 2022 15:15:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383001.618084; Tue, 09 Aug 2022 15:15:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLQwk-0004Mn-BN; Tue, 09 Aug 2022 15:15:06 +0000
Received: by outflank-mailman (input) for mailman id 383001;
 Tue, 09 Aug 2022 15:15:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLQwi-0004Mh-Sp
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 15:15:04 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20055.outbound.protection.outlook.com [40.107.2.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05491e19-17f6-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 17:14:54 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8662.eurprd04.prod.outlook.com (2603:10a6:10:2dd::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 9 Aug
 2022 15:15:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 15:15:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05491e19-17f6-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JJRd89r6X6RMxhEDbipIPEorq6cEaa7X7aJA4C67z/Wm0zc/RDUC4OTHCPwtMJwcM+BW6So6/u0cGwqNI7QvP8oGM4f63ZP5PLLNBT+z4VeqypB9uvfc1gYtlgodalw4Fgg2Fy/Xe1eArGIpHDgzp85+/mroT58spVF7lnmkBpLa+paRFCixvlCURcGCLHacyPtmVGWL+kFZD6JXKMOthqQlnVjPx32DTtytjACzwyxWA759YrAAw/hMxDKvNPMS2FTihBveo6cpgraQN6/zS848sU2vNQnY4Kwfwk70ynWv+Xu20Gsh1ZYS2A2rbcF0qwGsdjSNxM8brTJsTCGEOQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CEjsAV+hPmvUmvQeU8zd98n8DEcdmdh6CIw4GL+C9RA=;
 b=lqqjtlC30X89bGrnyl20vABcN9Kn08tpft6xX7uToem6PgYPwQ4tiUTTqZ4brv8uufrdBpFRXvmFRZd1im6vfg34vUj3BJ7mwoxvkfPp0a9oorAHurdldwX1EXMnO22nFuXpAKOqE7jAXkIGRd6J5Tj68ncVSlKCmYndlzaPd1tngW+J5VtQKvZKzg11zgSJGeTuLAY1KNyD09cvTTwYkIJPz7XM2owcBeV5ji7PYyktgvw0AjUR10rmC2ubz1BSgiZbbRYuaGjLtuN8qjX2DZ2JPIIoupGUG6u6W397LT7gQlXt1DHseHCB7s3KY99p3IS1yIxoppQtnykPulTl1g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CEjsAV+hPmvUmvQeU8zd98n8DEcdmdh6CIw4GL+C9RA=;
 b=vQmGkRATBeNCGyHl4BEFLAvqMNUJS/azs3CZ0oCVwcXFQETj8r3frQWruFHI351DiFpBRj95rQvMKhq8R0nMnH645QfJ7w07A86RK69BPUjhP1qdI1o2OelUktysbgzjC5zYrDWLPrv69H/vAgDqTx3pvpyURwbNW0Jz88/W088MmUJ20xj0rn63ltkHUxhW6tcFWYHXVHPWknv26XHL0BPQfva5+AWbP8gMnPzlK97+qEw7SJIHNAxFl5+dGwiQp3shxYapaLnl8sAb6fz4bP5sDri8xL7UotDPg9BMn2pVU+rD7APeLJSEZTIO4DEwodif87nOwwTGpEKvYhGmZQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6c8defc0-3197-14cc-64ba-1ef140d6930f@suse.com>
Date: Tue, 9 Aug 2022 17:15:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 675cdf72-211e-49af-b28f-08da7a19ee89
X-MS-TrafficTypeDiagnostic: DU2PR04MB8662:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UvGSd1ORo/DbC7zPev9cQzIxG4SuiVH0xLLtV+CrtCvOwe3++F/bG1eMz6lFukIGh50XNJsF/F1+hOVQePx/LTK/ZJIdFCthC+roQJSg81IeE5p/jZSYYERYSgnmFZDTSQ2EvyxvhHqNy4aLRQ3N8WyzaRPC+Q5svdq0elXt61LgFDjElhX3NUp8XFuTc4GxrzbsgBfeYeQUkURfC9jKMl9ah4sQEvlcP10p5PCFGqrMt0XnzYmgmR3T59bpZNmCC8lcAPn1eMyOVCWCLS7fNIloOntNWPnbmOGVQ5KKMG5HSNr435oO9D3o3WnKHt8/aHGnZL953KAVe0L3xj8ECylepEHXS0Wg0hGuyjtwMJyyvoPyk0sHeXDqX0z41OAltlZnRve7vUqwf3Y82ociF13t16FbAsScOZ2Cou3FmN0T17jFu3KX+qahEjvhCEryw0UIaQM4qwuVbLOwbUyPkfBcZuLtXKcUIlOfOwTjfRxyWkRkuB/gy0MUNe7Ls+EKUyS3j1dXRGnTDFdBzpp0CvCAO7grFGUnUoCK8etAYHKqCgIFt09i1PqOO+mRMTXfwgegnk7oPIQ+1MT7baYW2LziB2ykfVz/9aZSPp0qjkIqWWxtJUdQhb4HqTLXh47Smr62hDQcRCXAvePjlnMQaCwxq1HiD33/4fmps4B/R2Fyy4QiT+qtwQFJP72Vdh0Lho/D1bR63i8rg0sXu2PzXAjRYkTM4rJpqQya87FmZjZnjjuNpRXEaBRlpVE/V47jcCcIKnKuhCT4Jra6xwc3TcuhlRE78QfhoKgJSJitvDH17LANvDb2tM2JcFsTjxdhXJqGD4vU3m4Of+JUiT0pDg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(396003)(366004)(376002)(39860400002)(26005)(31696002)(6512007)(53546011)(86362001)(41300700001)(6506007)(186003)(2616005)(36756003)(4326008)(8676002)(38100700002)(66556008)(66476007)(2906002)(8936002)(5660300002)(31686004)(6486002)(54906003)(6916009)(316002)(66946007)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WUlZaFhRdldXMHRqVmEvOXBzUUlURGN1ZnloWGpiM21UMWlBUlNIM3k5SjVL?=
 =?utf-8?B?ZXJDUzUwNWVoYkVIa3AwTmdJZk9YQS9Ec0h5Q0xOcHBVVDA1Z1NpSm96WTln?=
 =?utf-8?B?L2RoRnFCMnFKNzBqcFEvcDhFdUI1SzIzTmtvVkErWHhpMjJIN0NYK3hzWmFv?=
 =?utf-8?B?cmZ0cmFURHQ3TVpMZStha3kzTlFxT1JBR1RtUzJTUldBU1J1MTdyYStNdU9h?=
 =?utf-8?B?aEk0WjZzZTdjVGNnakR0U2xFOEt2SzBSd3VsZzlkWUVVbC9rMGVQU1FoT2Ex?=
 =?utf-8?B?KzJIWkdCL2lnWmpHMXNRNHJvMG1OVkwvbkVvV0tONks5MFZaRS9GRkpmdFZV?=
 =?utf-8?B?anorbTZYN1FLQW1vVlRwc2FrT3lIR1NjM0lMSTNzQThBWFBXWlh4aUc3UUls?=
 =?utf-8?B?ZWlCZy9heTFGMDcrRGZibUdvRHllQmoyWStNYUN2N05LVm1GenQyS29jVmtu?=
 =?utf-8?B?ck84NzIzU3NkL3pRTU4zV2J5SmZzbmJLWHhVQ1E1WmQwSmhzUXNDZmxUTTlr?=
 =?utf-8?B?UlVkRjdtUmR6WkRzNXVHNHhyelpRQ0N5N1ZKL0NVQk9pN1FZV0Q0ajZRS3c1?=
 =?utf-8?B?ajJjMHBhNENicnJTVkY1djdJbERBVHVtb3lhSS9kSjM1YmpYdEd5QXl2UDJj?=
 =?utf-8?B?RHA0R3V3L3N6eENnRnBtZUh0ZGdEM2ZHVUlURjRzb3BVbEMyQU5RQnE3Znh5?=
 =?utf-8?B?S1VKQjB6SjQ5K2Fvbi9zNmRpUUNleXRzMXhOanRmKzh6c1kyMStlaUw1aC8z?=
 =?utf-8?B?ZVJSblFxM2UxVzhEd1Y5eXdmQ1UzU2g5enpENDNNYXNrd3dzK2ZFQjhYdzlH?=
 =?utf-8?B?S1QrVm10SDVFWkVISEhXamJBVHVoWmFrelN4NVd6N3BTcng1SFJzZkVxNG5u?=
 =?utf-8?B?NVoxclVMcm5meDFHbVdYUDdQMTY5aC8yQTJoZFBBR2JuSXZQVG5hU0tlaVU4?=
 =?utf-8?B?QmU0c0VOdE4zcldESWZRNEQ4cnhLQSs4THVxcnBXdXFWTHNSR2hBOHJmQUVl?=
 =?utf-8?B?bThsa09EWnZlOW5JV3FORk1mdFNySks5K3Q4c201WDJxOGZnay9Rb0I2SjJh?=
 =?utf-8?B?aGlyK0FOS1V6UFlPZWNqUjhRZlU5TGFXWEtpdHlSNzhMWURidytxVTBQNGFk?=
 =?utf-8?B?dDUxY3NTTERaUzRjUDJXMjlOczEwTFpxbmg0eWx0NzloeEhWZUNaeFBYQ09J?=
 =?utf-8?B?cjhqRHRwUzArZzc5Y2U2aEtEYTRIQlRKV1ordTU4L1NUalJLdlJnUGdnWlFa?=
 =?utf-8?B?a3p6SE9MUk5yWlA2MmFCSGZsdSs0Nmp4RHUwWGRKYTBDOHhPSzdBRVJZRjli?=
 =?utf-8?B?bkVNRUpDVzVZb3pvSnZkMng2SlZzM1ExdlYvblZkTGVnRkJtNi9DaW5pZFRH?=
 =?utf-8?B?TE5YandpWDZpemViMFhSeTY0R0R1ZFJzYmZSSDErYnZzVHZpMGFPYkt1bHdR?=
 =?utf-8?B?cDlDZDlyN2NOeXgwNjFyR2RPR3RaZjdhbGFNYkRVTXpka2U5RmJiK1NEeVpV?=
 =?utf-8?B?R05kcXoxeHVqVVFpSlJ0OVF2MDdQcGNwbGN0bWNZazhMemlUUWM0RUgvMTlM?=
 =?utf-8?B?S3BjK3l2T0pwcjVRMno3TXBKakNQMjRhNnFYTlJNMFFSMElrcDlGV3NaREl4?=
 =?utf-8?B?USswZEJZZUVuRlE2ZFVBYkNZNU53MWtLRFBJQnNUV3B4TW1vNGdvekNnYU1u?=
 =?utf-8?B?eE0xOXBmekszc1grczRzUG83eEVxMkJEMmlPWS9VS09TVkQ5QW9QK1g4cktJ?=
 =?utf-8?B?NGw5MWZQditqOXZzZGs3bU9MUmxJekY4aEZHNHNEK1dUZE5WejZKMFh4dW9t?=
 =?utf-8?B?Yndxb0JsWTYyUmtZN2hORTVKV3FCemFnd0tyK2loV3E2eFNVcHlGR3hSM3g0?=
 =?utf-8?B?SlRQcnNGVm55MVVXTmtpS2lIZnRRMU52a2hpQTExdnV5RGRLWTZrd1kyRjRp?=
 =?utf-8?B?L2hmS3l6dWF5cjZjR0M5dmxxQUdVTlVQbEN6RjhMekNxNmhXODVhdy9uYjc0?=
 =?utf-8?B?NFZ4NVpwOTJ1N0ZxSFB1a2N3bTRlNnZlN0Iva04rWVFIbVdlbDZNMW5QNDAy?=
 =?utf-8?B?Vk5lTHU1K3BrVUp1S0pPZXQrM0pVaC83RVZOajFOTkxJWTRVRHl4NE5tSURs?=
 =?utf-8?Q?vxn/FRRs2tIgOoyDjeqVNvoc6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 675cdf72-211e-49af-b28f-08da7a19ee89
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 15:15:02.2525
 (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: GttoMjs8SkD9xEIh5YAYyXllJv6gcmrEM4EZzP79278Wny/VdFP2ZmsTJimSgTFQ468+C1A2l1C4GwJx8y+S6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8662

On 05.08.2022 17:43, Rahul Singh wrote:
> pci_get_pdev_by_domain() and pci_get_pdev() functions find the pdev in
> the pseg list. If pdev is not in the pseg list, the functions will try
> to find the pdev in the next segment. It is not right to find the pdev
> in the next segment as this will result in the corruption of another
> device in a different segment with the same BDF.
> 
> An issue that was observed when implementing the PCI passthrough on ARM.
> When we deassign the device from domU guest, the device is assigned
> to dom_io and not to dom0, but the tool stack that runs in dom0 will try
> to configure the device from dom0. vpci will find the device based on
> conversion of GPA to SBDF and will try to find the device in dom0, but
> because device is assigned to dom_io, pci_get_pdev_by_domain() will
> return pdev with same BDF from next segment.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

Actually one more thing: While you're working on vPCI as I understand,
the subject prefix here really wants to mention PCI, not vPCI.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:22:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:22:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383010.618095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLR41-0005oT-7R; Tue, 09 Aug 2022 15:22:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383010.618095; Tue, 09 Aug 2022 15:22:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLR41-0005oM-4E; Tue, 09 Aug 2022 15:22:37 +0000
Received: by outflank-mailman (input) for mailman id 383010;
 Tue, 09 Aug 2022 15:22:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rEZx=YN=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oLR3z-0005oG-Oo
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 15:22:35 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80059.outbound.protection.outlook.com [40.107.8.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 175cba18-17f7-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 17:22:34 +0200 (CEST)
Received: from FR3P281CA0135.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:94::19)
 by AM6PR08MB4278.eurprd08.prod.outlook.com (2603:10a6:20b:71::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 9 Aug
 2022 15:22:31 +0000
Received: from VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:94:cafe::7c) by FR3P281CA0135.outlook.office365.com
 (2603:10a6:d10:94::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.7 via Frontend
 Transport; Tue, 9 Aug 2022 15:22:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT060.mail.protection.outlook.com (10.152.19.187) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Tue, 9 Aug 2022 15:22:30 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Tue, 09 Aug 2022 15:22:30 +0000
Received: from 7bd232136c39.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 37632C01-843C-4299-A70A-D0BCCD15FB54.1; 
 Tue, 09 Aug 2022 15:22:18 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7bd232136c39.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Aug 2022 15:22:18 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AS1PR08MB7610.eurprd08.prod.outlook.com (2603:10a6:20b:475::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 9 Aug
 2022 15:22:15 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.020; Tue, 9 Aug 2022
 15:22:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 175cba18-17f7-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=iZjPXbBtEXWOhYM0ZhLxc5O2Q7lxSKPvG5VY9bVPi1FPTirNXOWkL1kx21C56KK1ePE5pfQLKNEBfvqA5tQGiiMGS9xeklhxbhJKrVYT3F9B/D5WKbtSboEl/diOoe11z4TLQM33o34cuTjeykjMTayqzFmiK/5cqURQ/yewCmcpAr7f5prbwEEbRjzctcUEGs4ApW3f/u+fA34L4h2rLtkfkuHNZqa4YWZYKEeQ+a4G8HFJE1vUhb93eDXZVk8wxIqvXaP/REB/DgB+qLCpcoobSNBltYzC9e+tLeMzKSepo/xKruot6Rvy5MXEsv55A7T/Py+aD83x9ML2uzjB2g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qKiyMQZmH1ue12GWdoANJx1MtXUAu20XJJARPdqamKg=;
 b=IKNIe2uH79Rt326WgqeAspMh/1HZoOlEy5yc9Tq0ZWmxJzf1hZ2HIMHkezXWtxuWGgBvMWRVkXWXpuUj+BB0Tcbmku6OSJtiOUFkDAqu3nCyrLMJ896eKd+HPlb5mkQ/8QPsxQVx/TcmutiYyWnVh8/f3lAHt7f/a50zeGjBWDpaBMmcltk9+u8N8EWgrm+T4xYfC3dTz5ywZNNyJhFJ3OqODJqDWUJ4IwWALcfzDS0DQ1MkvobFgsxXZkKlBS+b5zM0MtQCHn8buwgL4/ccGp2nV9D9p5UdAhaFukqg0EnFd1ffBpdR7lj9fOVVt2qUINfvV0c5fo9fkIhX6/XOvg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qKiyMQZmH1ue12GWdoANJx1MtXUAu20XJJARPdqamKg=;
 b=fHRwtCccM+EZX+eWH8///W1Q68zlwcvuz2NeRqCj9QJzcy3+W7QsuUvx7VnEpiNEFkB6LRIHH6AZp+ak435SuWWxqlmL12Jcq97SrGzUhPIs7C/YQaV+QjFMLAe4SaZ28kbrFQIAXmEOQCJ5J2g9mMO71t00ORp0+pyUk5hcKkI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ff585f82a6814432
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XjjVmO/I8xJdRI9xV5pxbNjGF50gd3DUJwAt69iIWRsnTsC44px4Wzp/QYd+ggnPtIwpwoBb/0h775TazSxc4VRy/+gepd5b9d0vuMuzrqEB0PqcIH3UCeooOqpC1yyEze15ZRTG3BVorbLmqyyk2DnbwWB8J0B/BCFFGFJ6vWmZYIInFhXvUijQ+iBGqm+geAO/7rlb94WLce9pW4/iyxlrMnoVK97H5IefTgl4PEjT/eG4ec3Jx4nlPHGNbMMuaMEFW+kM28x21H7r0amV+sueVRB5bZebiR5OK3rVS01BD1bDki2kC9z67Ht9hukK2J0yf2V+1zPa+UUXcHbBNA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qKiyMQZmH1ue12GWdoANJx1MtXUAu20XJJARPdqamKg=;
 b=SXmGPeVOWhggQd6gT+V6fMXpYtISUyTj7DDnnOc3TEeI1SXj4VCIojg17g/WK/0OO54FmBVd+2qhg85OOB7wMIXZUFygvG5FRAvGGYA+/+d1JuzqE7DYsH9LM+s46ihMvxIIKtQlx5NWZd/cDRWPgKQMnRqY3a0MowuXNtpMbRb2026P8051UL7h8h0hb62Is7Jb9Y95MApJyjpoNtb60H2TDIA+aRfichGKAAju/Swi80dEf0Z0Akna4ASYLq3HmZV6H/bE1RjOd4u8aTMiUuFQ8JJf6YWvKp4qXImoQYFLsT/Ix+vOvSu63wtEBzND/wySHGYwPEc6I+pkDyxx+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qKiyMQZmH1ue12GWdoANJx1MtXUAu20XJJARPdqamKg=;
 b=fHRwtCccM+EZX+eWH8///W1Q68zlwcvuz2NeRqCj9QJzcy3+W7QsuUvx7VnEpiNEFkB6LRIHH6AZp+ak435SuWWxqlmL12Jcq97SrGzUhPIs7C/YQaV+QjFMLAe4SaZ28kbrFQIAXmEOQCJ5J2g9mMO71t00ORp0+pyUk5hcKkI=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Oleksandr <olekstysh@gmail.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
Thread-Topic: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
Thread-Index: AQHYqOJykksEC+xLCUihSPiXurK3kK2lJb0AgAGQGQA=
Date: Tue, 9 Aug 2022 15:22:15 +0000
Message-ID: <43039C71-D661-4C8D-A132-9E020D0D1013@arm.com>
References:
 <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <d5590d91683f2dddb3836b1afb444f30c2f5a7fb.1659713855.git.rahul.singh@arm.com>
 <5e762a42-d0d5-86be-e3cd-64bde82c8b47@gmail.com>
In-Reply-To: <5e762a42-d0d5-86be-e3cd-64bde82c8b47@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 6427c48a-242a-4d27-e492-08da7a1af9f6
x-ms-traffictypediagnostic:
	AS1PR08MB7610:EE_|VE1EUR03FT060:EE_|AM6PR08MB4278:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 6dCXPs1E3HdJ/XbN+U8pdoFgrn2/dUbbetlF3RPSe7SGcIPpz5moIoIbUye3YRVtSEnZ42qO9jipPOE7Lv7bbAFafh9CauTQ1SqihkrAAZCed8/JqSgZ6FpFBvEjbYviNbi321SMuA3oWNJvYnWRmXDTV9rF5pqrItHG+LLtAjwYBqQPj0ThdP3U5dHUP6fyJ+uEb3Ksi3zS5IgTUN7XkbbHJOACizp0un10Ypiz4rvumW/2A17U+w0Qc00hUfiLx5EOri6UGeVVXHYI47dHuS59UcsusVJiE9sXpu8sRvLuD27OeWc95dGbiIpaFOPGYEroM0NK76dJ6WlV4lwDX9bBe7e1vc2XXKuUTgddLKaZx2USCyjHVU3szSllowDvbcFvGrC2Z4sGXMrWlbe4PkTTS7tjdAmUnV57AI6434CvmEPrdBbmXxb6CtHxwy3I6/grXhZfb/PvkccBUybKeVi7lz1WeP1yma8ryIZsYTy44lIpfNvOvTc72s7+fPXrUPUjlKxhubf991BdXQpLSCXGUhhJNhdsN7+lawSgIHcFyFq89r2Mke+8Q8fnad1dyCxnhnAQ6paSdWgoCfIAUy7dfqElA3kL9iZbdJ3A63J2ZQEvKeGlZpEuY60ivnZ3p3KJbkonnN1jBMPPdF51zb6ZgGQclgzdW6h5E5j+ZzCNBGAXCeXaUf/JST315HWBTmQGmYigDF++QN5p0ITzt+4Oh5w8GGT5UVQ90tOPMMxs+KgIHibfQuLYecVtn782GGnKjb55Dx/b1xwZPWyxOXorT432ADtDgL3pY2LyK7zOxETqVunT2bTf52iphU0I7EfqAOsgkboSjcbN6uob0KMknHOJdkck1kfUIPo/B0Bn4kx9eldjKGNXy7epig6N
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(136003)(396003)(366004)(346002)(2906002)(38070700005)(41300700001)(26005)(83380400001)(53546011)(6506007)(6512007)(2616005)(38100700002)(122000001)(6486002)(478600001)(33656002)(966005)(91956017)(8676002)(4326008)(71200400001)(36756003)(8936002)(66556008)(66446008)(66476007)(76116006)(186003)(64756008)(86362001)(316002)(66946007)(54906003)(6916009)(7416002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <1D52F4C825D2CC479FD62B4CC7C425AB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7610
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	acd90479-6034-4aa8-bd1e-08da7a1af0ea
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	a1g3ZcQ522zQ/OjKF6U93/lFAJGzuBXLPcs4qLx7A/slHi6Cr7FBi0J6m23MGYobQ/4YZ6tviRH5/jJ3PEH91DQVyxL+EByESQp82twlA21Q48dLDHmcUU0MJ47Osja+dT6fVJnsO7vGHemWLMUbmTZX8nNDlrSpw9+SPOeTWuCmhU6Owxx2Oq/MJ5tO4PSBGhAHesxGtr7QbPkeeBXhZoZi3LmJ067AYXX3iuWKFwLel8/0u/jayAnqM6vHqnpvq5WlPnSHnkqQMkiYGARUb70mvS3ROCRSaRF3R1BYYPluosMC4+AblZePDeU5m/Mj8L7QrxlA1bnKRQnSpMfcu/QZGlqhAqe4J/ududcZAui9b7CN9PhcLuSuavFAhAhFrm6P6rayrphHZ59WCovJXR+r+CTDy9j5o9Qcz8Mv/ciKZwVHNsr/0aLK4cqRukPK7vhbs/H1Y/K8w+v++EiT7t07EKVrXS6fk3yZ437ZNfH3F+WC/tg0K4IcXXY6pC9QDHTtimIilLi3UN+9D3PGMqj146G3nBgMspJoqmAQMAgnpiwh3a7zVNADe4+duTuMl5EC75glAeXOFiUK5NXcOBACaQ5Mok8OKNLDAzpKc/m/cu3/xy6HBkH+Y6b8q7+677CkAvLfcFwWOo4tuLzFGH+0b+lTxGShzFJxhtVQ3tL86bsdpxcYdyoBfJCNiAnmWaSXCiccO3ipUyoRJXHvgTkVVeh3RGzjSY2zWxjct5OsShDIRqDvK88nhAbWQ84Jd34bKOMAhuAwcHM2gCDCmrMP7wPUXAnFjdyLALcPY40rP1zE4qUDTMuyNC/jusCcPTslsGjamHbJ8JIGpGFmQQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(396003)(39860400002)(376002)(40470700004)(46966006)(36840700001)(41300700001)(8936002)(5660300002)(6862004)(86362001)(40460700003)(54906003)(966005)(70206006)(70586007)(4326008)(6486002)(316002)(478600001)(8676002)(83380400001)(36756003)(6512007)(47076005)(26005)(40480700001)(186003)(336012)(2616005)(36860700001)(356005)(33656002)(82740400003)(81166007)(82310400005)(2906002)(6506007)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 15:22:30.6279
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6427c48a-242a-4d27-e492-08da7a1af9f6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4278

SGkgT2xla3NhbmRyLA0KDQoNCj4gT24gOCBBdWcgMjAyMiwgYXQgNDozMCBwbSwgT2xla3NhbmRy
IDxvbGVrc3R5c2hAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+IA0KPiBPbiAwNS4wOC4yMiAxODo0
MywgUmFodWwgU2luZ2ggd3JvdGU6DQo+IA0KPiANCj4gSGVsbG8gUmFodWwNCj4gDQo+IA0KPiBU
aGFuayB5b3UgdmVyeSBtdWNoIGZvciB0aGF0IHBhdGNoIQ0KPiANCj4gDQo+PiBGcm9tOiBPbGVr
c2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+
IA0KPiBJIGFtIG5vdCAxMDAlIHN1cmUgcmVnYXJkaW5nIHRoYXQuIFRoaXMgaXMgKmNvbXBsZXRl
bHkqIGRpZmZlcmVudCBwYXRjaCBmcm9tIHdoYXQgT2xla3NhbmRyIGluaXRpYWxseSBtYWRlIGhl
cmU6DQo+IA0KPiBodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMjAyMjA3MTkxNzQy
NTMuNTQxOTY1LTItb2xla3N0eXNoQGdtYWlsLmNvbS8NCj4gDQo+IENvcHkgYmVsb3cgZm9yIHRo
ZSBjb252ZW5pZW5jZToNCj4gDQo+IA0KPiArYm9vbCBpc19tZW1vcnlfaG9sZShtZm5fdCBzdGFy
dCwgbWZuX3QgZW5kKQ0KPiArew0KPiArICAgIC8qIFRPRE86IHRoaXMgbmVlZHMgdG8gYmUgcHJv
cGVybHkgaW1wbGVtZW50ZWQuICovDQo+ICsgICAgcmV0dXJuIHRydWU7DQo+ICt9DQo+IA0KPiAN
Cj4gDQo+IA0KPiBQYXRjaCBsb29rcyBnb29kLCBqdXN0IGEgY291cGxlIG9mIG1pbm9yIGNvbW1l
bnRzL25pdHMuDQoNCk9rLiBJIHdpbGwgcmVtb3ZlIOKAnEZyb206IOKApiDigJwgaW4gbmV4dCB2
ZXJzaW9uLg0KPiANCj4+IA0KPj4gaXNfbWVtb3J5X2hvbGUgd2FzIGltcGxlbWVudGVkIGZvciB4
ODYgYW5kIG5vdCBmb3IgQVJNIHdoZW4gaW50cm9kdWNlZC4NCj4+IFJlcGxhY2UgaXNfbWVtb3J5
X2hvbGUgY2FsbCB0byBwY2lfY2hlY2tfYmFyIGFzIGZ1bmN0aW9uIHNob3VsZCBjaGVjaw0KPj4g
aWYgZGV2aWNlIEJBUiBpcyBpbiBkZWZpbmVkIG1lbW9yeSByYW5nZS4gQWxzbywgYWRkIGFuIGlt
cGxlbWVudGF0aW9uDQo+PiBmb3IgQVJNIHdoaWNoIGlzIHJlcXVpcmVkIGZvciBQQ0kgcGFzc3Ro
cm91Z2guDQo+PiANCj4+IE9uIHg4NiwgcGNpX2NoZWNrX2JhciB3aWxsIGNhbGwgaXNfbWVtb3J5
X2hvbGUgd2hpY2ggd2lsbCBjaGVjayBpZiBCQVINCj4+IGlzIG5vdCBvdmVybGFwcGluZyB3aXRo
IGFueSBtZW1vcnkgcmVnaW9uIGRlZmluZWQgaW4gdGhlIG1lbW9yeSBtYXAuDQo+PiANCj4+IE9u
IEFSTSwgcGNpX2NoZWNrX2JhciB3aWxsIGdvIHRocm91Z2ggdGhlIGhvc3QgYnJpZGdlIHJhbmdl
cyBhbmQgY2hlY2sNCj4+IGlmIHRoZSBCQVIgaXMgaW4gdGhlIHJhbmdlIG9mIGRlZmluZWQgcmFu
Z2VzLg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBSYWh1bCBTaW5naCA8cmFodWwuc2luZ2hAYXJt
LmNvbT4NCj4+IC0tLQ0KPj4gIHhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wY2kuaCAgICAgfCAx
MiArKysrKysrKysrDQo+PiAgeGVuL2FyY2gvYXJtL3BjaS9wY2ktaG9zdC1jb21tb24uYyB8IDM1
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gIHhlbi9hcmNoL3g4Ni9pbmNsdWRl
L2FzbS9wY2kuaCAgICAgfCAxMCArKysrKysrKysNCj4+ICB4ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9wY2kuYyAgICAgIHwgIDggKysrLS0tLQ0KPj4gIDQgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0
aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy
bS9pbmNsdWRlL2FzbS9wY2kuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wY2kuaA0KPj4g
aW5kZXggN2M3NDQ5ZDY0Zi4uNWM0YWIyYzRkYyAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2Fy
bS9pbmNsdWRlL2FzbS9wY2kuaA0KPj4gKysrIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Bj
aS5oDQo+PiBAQCAtOTEsNiArOTEsMTYgQEAgc3RydWN0IHBjaV9lY2FtX29wcyB7DQo+PiAgICAg
IGludCAoKmluaXQpKHN0cnVjdCBwY2lfY29uZmlnX3dpbmRvdyAqKTsNCj4+ICB9Ow0KPj4gICsv
Kg0KPj4gKyAqIHN0cnVjdCB0byBob2xkIHBjaSBkZXZpY2UgYmFyLg0KPj4gKyAqLw0KPj4gK3N0
cnVjdCBwZGV2X2Jhcg0KPj4gK3sNCj4+ICsgICAgbWZuX3Qgc3RhcnQ7DQo+PiArICAgIG1mbl90
IGVuZDsNCj4+ICsgICAgYm9vbCBpc192YWxpZDsNCj4+ICt9Ow0KPiANCj4gDQo+IE5pdDogVGhp
cyBpcyBvbmx5IHVzZWQgYnkgcGNpLWhvc3QtY29tbW9uLmMsIHNvIEkgdGhpbmsgaXQgY291bGQg
YmUgZGVjbGFyZWQgdGhlcmUuDQoNCkFjay4NCj4gDQo+IA0KPiANCj4+ICsNCj4+ICAvKiBEZWZh
dWx0IEVDQU0gb3BzICovDQo+PiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBwY2lfZWNhbV9vcHMgcGNp
X2dlbmVyaWNfZWNhbV9vcHM7DQo+PiAgQEAgLTEyNSw2ICsxMzUsOCBAQCBpbnQgcGNpX2hvc3Rf
aXRlcmF0ZV9icmlkZ2VzX2FuZF9jb3VudChzdHJ1Y3QgZG9tYWluICpkLA0KPj4gICAgaW50IHBj
aV9ob3N0X2JyaWRnZV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKTsNCj4+ICArYm9vbCBwY2lf
Y2hlY2tfYmFyKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBtZm5fdCBzdGFydCwgbWZuX3Qg
ZW5kKTsNCj4+ICsNCj4+ICAjZWxzZSAgIC8qIUNPTkZJR19IQVNfUENJKi8NCj4+ICAgIHN0cnVj
dCBhcmNoX3BjaV9kZXYgeyB9Ow0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wY2kvcGNp
LWhvc3QtY29tbW9uLmMgYi94ZW4vYXJjaC9hcm0vcGNpL3BjaS1ob3N0LWNvbW1vbi5jDQo+PiBp
bmRleCBmZDhjMGY4MzdhLi44ZWExYWFlZWNlIDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJt
L3BjaS9wY2ktaG9zdC1jb21tb24uYw0KPj4gKysrIGIveGVuL2FyY2gvYXJtL3BjaS9wY2ktaG9z
dC1jb21tb24uYw0KPj4gQEAgLTM2Myw2ICszNjMsNDEgQEAgaW50IF9faW5pdCBwY2lfaG9zdF9i
cmlkZ2VfbWFwcGluZ3Moc3RydWN0IGRvbWFpbiAqZCkNCj4+ICAgICAgcmV0dXJuIDA7DQo+PiAg
fQ0KPj4gICtzdGF0aWMgaW50IGlzX2Jhcl92YWxpZChjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25v
ZGUgKmRldiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICB1NjQgYWRkciwgdTY0IGxlbiwg
dm9pZCAqZGF0YSkNCj4+ICt7DQo+PiArICAgIHN0cnVjdCBwZGV2X2JhciAqYmFyX2RhdGEgPSBk
YXRhOw0KPj4gKyAgICB1bnNpZ25lZCBsb25nIHMgPSBtZm5feChiYXJfZGF0YS0+c3RhcnQpOw0K
Pj4gKyAgICB1bnNpZ25lZCBsb25nIGUgPSBtZm5feChiYXJfZGF0YS0+ZW5kKTsNCj4+ICsNCj4+
ICsgICAgaWYgKCAocyA8IGUpICYmIChzID49IFBGTl9ET1dOKGFkZHIpKSAmJiAoZTw9IFBGTl9E
T1dOKGFkZHIgKyBsZW4gLSAxKSkgKQ0KPiANCj4gDQo+IE5pdDogd2hpdGUgc3BhY2UgYWZ0ZXIg
J2UnIGlzIG1pc3NlZCBpbiB0aGUgbGFzdCBwYXJ0IG9mIHRoZSBjaGVjaw0KDQpBY2suDQoNCj4g
DQo+IA0KPj4gKyAgICAgICAgYmFyX2RhdGEtPmlzX3ZhbGlkID0gIHRydWU7DQo+PiArDQo+PiAr
ICAgIHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+ICtib29sIHBjaV9jaGVja19iYXIoY29uc3Qg
c3RydWN0IHBjaV9kZXYgKnBkZXYsIG1mbl90IHN0YXJ0LCBtZm5fdCBlbmQpDQo+PiArew0KPj4g
KyAgICBpbnQgcmV0Ow0KPj4gKyAgICBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmR0X25vZGU7DQo+
PiArICAgIHN0cnVjdCBkZXZpY2UgKmRldiA9IChzdHJ1Y3QgZGV2aWNlICopcGNpX3RvX2Rldihw
ZGV2KTsNCj4gDQo+IA0KPiBUaGUgY2FzdCBpcyBwcmVzZW50IGhlcmUgYmVjYXVzZSBvZiB0aGUg
Y29uc3Q/DQoNClllcyB5b3UgYXJlIHJpZ2h0LCBjYXN0IGlzIGJlY2F1c2Ugb2YgdGhlIGNvbnN0
Lg0KPiANCj4gSSB3b3VsZCBjb25zaWRlciBwYXNzaW5nICJjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
cGRldiIgaW5zdGVhZCBvZiAic3RydWN0IGRldmljZSAqZGV2IiB0byBwY2lfZmluZF9ob3N0X2Jy
aWRnZV9ub2RlKCkgYW5kIGRyb3BwaW5nIGNvbnZlcnNpb24gKHBjaTwtPmRldikgaW4gYm90aCBm
dW5jdGlvbnMuDQoNClllcyBtYWtlIHNlbnNlLiBJIHdpbGwgZG8gdGhhdCBpbiBuZXh0IHZlcnNp
b24uDQo+IA0KPiANCj4gU29tZXRoaW5nIGxpa2UgYmVsb3cgKG5vdCB0ZXN0ZWQpOg0KPiANCj4g
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wY2kuaCBiL3hlbi9hcmNoL2Fy
bS9pbmNsdWRlL2FzbS9wY2kuaA0KPiBpbmRleCA1YzRhYjJjNGRjLi5hMTdlZjMyMjUyIDEwMDY0
NA0KPiAtLS0gYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcGNpLmgNCj4gKysrIGIveGVuL2Fy
Y2gvYXJtL2luY2x1ZGUvYXNtL3BjaS5oDQo+IEBAIC0xMTYsNyArMTE2LDcgQEAgYm9vbCBwY2lf
ZWNhbV9uZWVkX3AybV9od2RvbV9tYXBwaW5nKHN0cnVjdCBkb21haW4gKmQsDQo+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9ob3N0X2JyaWRnZSAqYnJp
ZGdlLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGFk
ZHIpOw0KPiAgc3RydWN0IHBjaV9ob3N0X2JyaWRnZSAqcGNpX2ZpbmRfaG9zdF9icmlkZ2UodWlu
dDE2X3Qgc2VnbWVudCwgdWludDhfdCBidXMpOw0KPiAtc3RydWN0IGR0X2RldmljZV9ub2RlICpw
Y2lfZmluZF9ob3N0X2JyaWRnZV9ub2RlKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICtzdHJ1Y3Qg
ZHRfZGV2aWNlX25vZGUgKnBjaV9maW5kX2hvc3RfYnJpZGdlX25vZGUoY29uc3Qgc3RydWN0IHBj
aV9kZXYgKnBkZXYpOw0KPiAgaW50IHBjaV9nZXRfaG9zdF9icmlkZ2Vfc2VnbWVudChjb25zdCBz
dHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5vZGUsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNl90ICpzZWdtZW50KTsNCj4gDQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9h
cm0vcGNpL3BjaS1ob3N0LWNvbW1vbi5jIGIveGVuL2FyY2gvYXJtL3BjaS9wY2ktaG9zdC1jb21t
b24uYw0KPiBpbmRleCA4ZWExYWFlZWNlLi4zYTY0YTczNTBmIDEwMDY0NA0KPiAtLS0gYS94ZW4v
YXJjaC9hcm0vcGNpL3BjaS1ob3N0LWNvbW1vbi5jDQo+ICsrKyBiL3hlbi9hcmNoL2FybS9wY2kv
cGNpLWhvc3QtY29tbW9uLmMNCj4gQEAgLTI0MywxMCArMjQzLDkgQEAgZXJyX2V4aXQ6DQo+ICAv
Kg0KPiAgICogR2V0IGhvc3QgYnJpZGdlIG5vZGUgZ2l2ZW4gYSBkZXZpY2UgYXR0YWNoZWQgdG8g
aXQuDQo+ICAgKi8NCj4gLXN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqcGNpX2ZpbmRfaG9zdF9icmlk
Z2Vfbm9kZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ICtzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKnBj
aV9maW5kX2hvc3RfYnJpZGdlX25vZGUoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+ICB7
DQo+ICAgICAgc3RydWN0IHBjaV9ob3N0X2JyaWRnZSAqYnJpZGdlOw0KPiAtICAgIHN0cnVjdCBw
Y2lfZGV2ICpwZGV2ID0gZGV2X3RvX3BjaShkZXYpOw0KPiANCj4gICAgICBicmlkZ2UgPSBwY2lf
ZmluZF9ob3N0X2JyaWRnZShwZGV2LT5zZWcsIHBkZXYtPmJ1cyk7DQo+ICAgICAgaWYgKCB1bmxp
a2VseSghYnJpZGdlKSApDQo+IEBAIC0zODAsMTQgKzM3OSwxMyBAQCBib29sIHBjaV9jaGVja19i
YXIoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIG1mbl90IHN0YXJ0LCBtZm5fdCBlbmQpDQo+
ICB7DQo+ICAgICAgaW50IHJldDsNCj4gICAgICBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmR0X25v
ZGU7DQo+IC0gICAgc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilwY2lfdG9f
ZGV2KHBkZXYpOw0KPiAgICAgIHN0cnVjdCBwZGV2X2JhciBiYXJfZGF0YSA9ICB7DQo+ICAgICAg
ICAgIC5zdGFydCA9IHN0YXJ0LA0KPiAgICAgICAgICAuZW5kID0gZW5kLA0KPiAgICAgICAgICAu
aXNfdmFsaWQgPSBmYWxzZQ0KPiAgICAgIH07DQo+IA0KPiAtICAgIGR0X25vZGUgPSBwY2lfZmlu
ZF9ob3N0X2JyaWRnZV9ub2RlKGRldik7DQo+ICsgICAgZHRfbm9kZSA9IHBjaV9maW5kX2hvc3Rf
YnJpZGdlX25vZGUocGRldik7DQo+IA0KPiAgICAgIHJldCA9IGR0X2Zvcl9lYWNoX3JhbmdlKGR0
X25vZGUsICZpc19iYXJfdmFsaWQsICZiYXJfZGF0YSk7DQo+ICAgICAgaWYgKCByZXQgPCAwICkN
Cj4gDQo+IA0KPj4gKyAgICBzdHJ1Y3QgcGRldl9iYXIgYmFyX2RhdGEgPSAgew0KPj4gKyAgICAg
ICAgLnN0YXJ0ID0gc3RhcnQsDQo+PiArICAgICAgICAuZW5kID0gZW5kLA0KPj4gKyAgICAgICAg
LmlzX3ZhbGlkID0gZmFsc2UNCj4+ICsgICAgfTsNCj4+ICsNCj4+ICsgICAgZHRfbm9kZSA9IHBj
aV9maW5kX2hvc3RfYnJpZGdlX25vZGUoZGV2KTsNCj4gDQo+ICAgICBpZiAoICFkdF9ub2RlICkN
Cj4gICAgICAgICByZXR1cm4gZmFsc2U7DQoNCkFjay4gDQo+IA0KPiANCj4+ICsNCj4+ICsgICAg
cmV0ID0gZHRfZm9yX2VhY2hfcmFuZ2UoZHRfbm9kZSwgJmlzX2Jhcl92YWxpZCwgJmJhcl9kYXRh
KTsNCj4+ICsgICAgaWYgKCByZXQgPCAwICkNCj4+ICsgICAgICAgIHJldHVybiByZXQ7DQo+IA0K
PiBzL3JldHVybiByZXQ7L3JldHVybiBmYWxzZTsNCg0KQWNrLiANCj4gDQo+IA0KPj4gKw0KPj4g
KyAgICBpZiAoICFiYXJfZGF0YS5pc192YWxpZCApDQo+PiArICAgICAgICByZXR1cm4gZmFsc2U7
DQo+PiArDQo+PiArICAgIHJldHVybiB0cnVlOw0KPj4gK30NCj4+ICAvKg0KPj4gICAqIExvY2Fs
IHZhcmlhYmxlczoNCj4+ICAgKiBtb2RlOiBDDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2
L2luY2x1ZGUvYXNtL3BjaS5oIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BjaS5oDQo+PiBp
bmRleCBjOGUxYTllY2RiLi5mNGE1OGM4YWNmIDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gveDg2
L2luY2x1ZGUvYXNtL3BjaS5oDQo+PiArKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcGNp
LmgNCj4+IEBAIC01Nyw0ICs1NywxNCBAQCBzdGF0aWMgYWx3YXlzX2lubGluZSBib29sIGlzX3Bj
aV9wYXNzdGhyb3VnaF9lbmFibGVkKHZvaWQpDQo+PiAgICB2b2lkIGFyY2hfcGNpX2luaXRfcGRl
dihzdHJ1Y3QgcGNpX2RldiAqcGRldik7DQo+PiAgK3N0YXRpYyBpbmxpbmUgYm9vbCBwY2lfY2hl
Y2tfYmFyKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LA0KPj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1mbl90IHN0YXJ0LCBtZm5fdCBlbmQpDQo+PiArew0KPj4gKyAgICAv
Kg0KPj4gKyAgICAgKiBDaGVjayBpZiBCQVIgaXMgbm90IG92ZXJsYXBwaW5nIHdpdGggYW55IG1l
bW9yeSByZWdpb24gZGVmaW5lZA0KPj4gKyAgICAgKiBpbiB0aGUgbWVtb3J5IG1hcC4NCj4+ICsg
ICAgICovDQo+PiArICAgIHJldHVybiBpc19tZW1vcnlfaG9sZShzdGFydCwgZW5kKTsNCj4+ICt9
DQo+IA0KPiANCj4gTml0OiBJIHdvdWxkIHVzZSBzaW1wbGUgI2RlZmluZSBpbnN0ZWFkIG9mIHN0
YXRpYyBpbmxpbmUgaGVyZQ0KPiANCj4gQnV0IEkgYW0gbm90IDEwMCUgc3VyZSB0aGF0IHg4NiBt
YWludGFpbmVycyB3b3VsZCBiZSBoYXBweS4NCj4gDQoNCkphbiByZXBsaWVkIHRvIHRoaXMgYW5k
IEkgd2lsbCBjaGVjayB3aGF0IGlzIHN1Z2dlc3RlZCBieSBKYW4uDQoNClJlZ2FyZHMsDQpSYWh1
bA==


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:46:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383021.618109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRR3-0008Mn-8V; Tue, 09 Aug 2022 15:46:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383021.618109; Tue, 09 Aug 2022 15:46:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRR3-0008Mg-5T; Tue, 09 Aug 2022 15:46:25 +0000
Received: by outflank-mailman (input) for mailman id 383021;
 Tue, 09 Aug 2022 15:46:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oLRR1-0008MY-RT
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 15:46:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLRR1-0001ly-0y; Tue, 09 Aug 2022 15:46:23 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.14.84]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLRR0-00023h-Oa; Tue, 09 Aug 2022 15:46:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oneB/6Chy+LLARaekQEp7sNeZ8OdLKuVPvMzzFR5ppw=; b=L2QICtPFv//2+1u+8wwJdk1dO/
	zPOQ8i/j9y+4sdk5xJsd754318gbtfgIFEKxtSHjtVDOGFXtFrt6neNIR1fDwZ3PgAh2wTf9D13Qb
	Y7aNC8UJXXVgzHrCFvQ20sdXUZ6RctQwmbOQWBpmZzCqMpj/wCBU/7rbF+BWAuwZhwLA=;
Message-ID: <ebed1aff-c758-f3ee-7483-fadd28a6cb6b@xen.org>
Date: Tue, 9 Aug 2022 16:46:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>, Oleksandr <olekstysh@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <d5590d91683f2dddb3836b1afb444f30c2f5a7fb.1659713855.git.rahul.singh@arm.com>
 <5e762a42-d0d5-86be-e3cd-64bde82c8b47@gmail.com>
 <43039C71-D661-4C8D-A132-9E020D0D1013@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <43039C71-D661-4C8D-A132-9E020D0D1013@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

This patch seems to have been sent in-reply-to the SMMUv1 patch. Was it 
intended?

On 09/08/2022 16:22, Rahul Singh wrote:
>> On 8 Aug 2022, at 4:30 pm, Oleksandr <olekstysh@gmail.com> wrote:
>>> +bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end)
>>> +{
>>> +    int ret;
>>> +    struct dt_device_node *dt_node;
>>> +    struct device *dev = (struct device *)pci_to_dev(pdev);
>>
>>
>> The cast is present here because of the const?
> 
> Yes you are right, cast is because of the const.
>>
>> I would consider passing "const struct pci_dev *pdev" instead of "struct device *dev" to pci_find_host_bridge_node() and dropping conversion (pci<->dev) in both functions.

It looks like this function was added without any callers. The commit 
message claim there will be some. Can you (or Oleksandr) confirm this is 
not going to be problem for future patches?

That said, I agree that the conversion pci -> dev -> pci is pointless. 
So I would say if there are use case where we only have a 'dev' in hand, 
then we could ask the caller to do the conversation or we provide an 
helper if there are too many cases.

> 
> Yes make sense. I will do that in next version.

While you are modifying the prototype for pci_find_host_bridge_node() 
can you consider to also constify the return (it should not be modified)?

In any case, the change suggested by Oleksandr should preferably be 
separate to this patch and added before.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:50:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383029.618121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRVJ-0001LM-P6; Tue, 09 Aug 2022 15:50:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383029.618121; Tue, 09 Aug 2022 15:50:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRVJ-0001LF-MJ; Tue, 09 Aug 2022 15:50:49 +0000
Received: by outflank-mailman (input) for mailman id 383029;
 Tue, 09 Aug 2022 15:50:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A/TE=YN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLRVI-0001L9-RY
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 15:50:48 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70049.outbound.protection.outlook.com [40.107.7.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 08d73cc4-17fb-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 17:50:47 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6199.eurprd04.prod.outlook.com (2603:10a6:20b:bf::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Tue, 9 Aug
 2022 15:50:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::fcd7:eaf7:5345:210f%6]) with mapi id 15.20.5504.019; Tue, 9 Aug 2022
 15:50:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08d73cc4-17fb-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AskTGe8AkF3GdI5Yu92z1jR1qH/ylxcYSaIOa3v0s4G41N4GDISep+p+bOr2a9lJXsMXsvZuGw5ux1ipN8hOLo2HyMieE40pvfeO11GIu1bSvt6CF6kJvQQ7W1/gJR/g7OVpzm3dr306OODrSrziOu2V2cf9VpEg3ralstvff22VhZEr3k9Fz20U6RomHguBkJzvu7xxhei1cg6igNlrMvdM0WQfF+HnnSCZxOIY0Mc7pqjC4/wDaRiZ/1sPNUd6SEbiloMNxt9LoOcjGRQvHrH3i4eUw1bon3zoYtXKCoousu/QodV/GUxIL4Mje/McDBaYOf4upuaTqbLhowMpbA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j2o3e3VcZdpL1nk388vY2vbR7X6y2j6+znoiiGQykqM=;
 b=KT0+9yumtgfL76CfaIiq1VU5QqejDSstc74QvUmfAG9d1HhoQGP2tDQprP2ay91pE5oR/ZHTyImC8WJ/+oRzjHXe2387rCMybMUIA84WrMHFQEjFtbHPVq0mQsnKEc6YE4lmN6KoBzH9EAjKulMFgt/D1/BXEuknRpDjftM3tdPWRrBEgsBbFhOV5+re9anuG7/yTEpnPnv9Y4hwsqG5ObvIUTNSZXj13kmWu/S81XlnThLaWOSUAwWbYOYNUfPVIzJ3rLT+M7CaKHF3sP9JDFFyOsUkd5k4zCqW2LkC7nhHQIe+L0NK6YxnxOdPSpBPG0Q2gsVS4zJyzomAWDdb8g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j2o3e3VcZdpL1nk388vY2vbR7X6y2j6+znoiiGQykqM=;
 b=25fNPUuEbQ4F9k+RPbpk/mgHMUFnPN1xvABuuvOMNV3/UkErhUeBpX05AfnMcnyyfe3KgUsmKIr/Rx2RJfgDXW8c0XSxJ6skiAD8sTWGB1ppUFywQn+bzFqLn0fr7h3zjvQvWR2rR2fP7+L00dp44on1Y0n3gE+W+qVAsaOl6c1V9my+OFsytdRuNnU5ZX0joNJN9zRTCx+UmOXyBo41SFf2bPCOjGHn2qPgyS8xnZ/cJHoWHVzc3psGkiJ8RCQWyHQqAoRB5o0BZnQD17dyeMhYnOoaRCHQqVOzq6Bhjmh+Gu1vz8CxMkqBgH+U3Aql0EWG3wZ3lDmYp9BBGEEZNA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <80fb0709-5a0d-a3a5-b2ea-dca089714ac2@suse.com>
Date: Tue, 9 Aug 2022 17:50:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] PCI: avoid bogus calls to get_pseg()
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0014.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 46fbd8e8-8b72-4f89-a4e5-08da7a1eec2a
X-MS-TrafficTypeDiagnostic: AM6PR04MB6199:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wcy0nic8K7ZyDZQ+b0s3BmDk6N8zq94SUm3UMWIS6pO/fdZ1MIq7uN87QQIHubRpwoh+dgSWDGodIkuz3hg/e3M3PhoHCRF7ii9k2nYZyphxuC/gNOT8r3nDNxrjn3hGgJzN0YbJpQohPpPQAoZZLnfhMjsnIYyjbR7ok8zG3MlmJ1ZejlELvPYs/noUWA8a3FUUwLw8aErlIVGENM5G2cI5k48dXXTMSQajrdmVEak3Yi/4l2PnMEg+kTEp605Vi9DJOofvCmqDsBB762zePesE/qm8/HB5sJKxgRv2s+bP7BoisArqqOLSx/YoL5LHkIHsaeAiqHwliKgtWysCtJFOLGNHCZgYM6eObIYYB6grZe6KuJiiaOlxQ0g15NDTYXJW2mx+eE34ZJsRk7X+eT2VcUxka5fzCmJgJSRavrMNrlOWNHH63grXrdX0FqUU2/G9HZXFz0tScOe+6aSPMXtRNgjq7Dd1Np/u3CM3ajbG9ILZgK9PjKOWX2Q/QbOMNFuMQg5M9j69TG6/SLRaokrAbB55nnjoTJ1rkzLVTRDEmZ2OLB/45kHbY6W28Cw8Z6/gDYFCAwCP8CeP0t5IiXgIJ+m4+ANgWx9n+jDtUq8Cn8OGcI/Exv8y2mvfpXWR2gMeuqB2Rt1oW8vCcUFDlxMCJ1x/daSqGuv5RgL+pPOUCdFvV0vL4owGOIlEXN1eydrh1/Gf2vkPgnjh/fO79PZotjmOdKOcS+IPhNEeV+FO+cmklmaJsEXZqmYQ5YGbue/wDR99F1wHhJPmgTHPFV12Yw7s+MPS5tBu2vfZndKFDmCBwgYwrhxaQlF7XCboy6Cc6VAi2g0Lb4OGv2sq4Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(136003)(39860400002)(376002)(366004)(6506007)(38100700002)(41300700001)(2906002)(86362001)(186003)(26005)(6512007)(2616005)(83380400001)(316002)(54906003)(6916009)(66946007)(31696002)(66556008)(8676002)(4326008)(66476007)(31686004)(36756003)(6486002)(5660300002)(478600001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L1Vydy80VExjdVJHZmQ5eitxZTBtWFdPYXBmcFN3QW96OHQrQnFsTm5SZGRh?=
 =?utf-8?B?TjY2ZFlTTE1DaGpQYm9pUVZYR1BhbWxub2ZlNjIrRmtsb215WUtmNTZkOXRn?=
 =?utf-8?B?QStGSkYzQlArYUtaSmwwOVJoMFVCaEZ1RVNMeFZoUE1uVVpCUndOTHZucnJ4?=
 =?utf-8?B?RzkyUEJHQ0FpTFdOTUIzZTdUb3JSbVREWjNyOUNHdFVucURxbm1LbDV2VEpS?=
 =?utf-8?B?YkRXN1VoMTNxYURkazYwVTBlQm5vRXQxaGZ2UEpjd2pDb0tuNE5naWhHdUNt?=
 =?utf-8?B?S05ZTFZjY1FmdE01VWhBTWFnYnBWOTNYT1p3bFVTaFQ3L0YycG5wYjNyVWZn?=
 =?utf-8?B?UkZBblRSMllnaThlY1VWU0JnT3V3a2Y2MkUwVS96MUFoM1UwWHh6MTllU0c3?=
 =?utf-8?B?ZXZTZEJjMkRCN0xjWHA4cDhTbEExRkd4SjFLdVNKcU9HcXpoMVI5eXRlbmxq?=
 =?utf-8?B?OFRuRm1pbmRiU0F0SlJwVWFsRExKcU9hN2phRllMNmMzN2YydkwyZyswak5q?=
 =?utf-8?B?Q0tJYmtmby8zSkUrUllLQWNjcGdabDV3MG56T3E4MjFyQzF3N0NPcWo1MkFD?=
 =?utf-8?B?R2NObkVwa3RXdlpVMmFObnRBMzJGS1dEWDJhOGplaUtCZVpzMEpXZW8zc0lH?=
 =?utf-8?B?RjA2ZFh1eEkveCt1MWV6WlUxb2JIeDVRaDZsclBrcEpOajQrTkpSWWJaQ1pP?=
 =?utf-8?B?ZDlzSXg0cUNnTWpnOEdIUEtkL0FycGMzQmRVQjBSVGFwWnByVk1RZXBhbE45?=
 =?utf-8?B?UWtNbjBjUkZxM253UHFYNWJycmgwekhqSnZxcmUxS2tGZjBXYjRwV1pQcnBW?=
 =?utf-8?B?UkdxSjl6SHNXNU1WZ0cxdlJLQ2E4ZG9NYVJmQmRWSDAzUHNyTlA3bXoydko2?=
 =?utf-8?B?QmdQVHpSU2x4ZmxoNFNPTHNTcWJ3WFduWUxnOHhzc1YwT2RhSzdsanlRMWtl?=
 =?utf-8?B?VDZmaUMyY0htazZwbEkyNmd5NzNTMitxSWxxcjdPT2pVdmNRTEZjQlo0dXJF?=
 =?utf-8?B?WGErcnJzLytpSGRWR0I0KzAwaHNJSW51aEZja2VYR3FJNi84N0NZNUJDVEpP?=
 =?utf-8?B?dWRBalV0L01PVEx6YU9RbG1GWW51YndHYjYxem55SWdjR25qVFA4dGgxOUhP?=
 =?utf-8?B?bVdvSFJQTm55VTlwWWJ4dVYvQ0cxUUdZMUtrYnc4ODZ1TTFYbE1WaG13ZC9I?=
 =?utf-8?B?U1pRRjZuOXNwWDV1a0hxMkQxNHkvSkZDc3B5b2dOYmg4Z05IOUo2UGdXcmEw?=
 =?utf-8?B?R3Q5VUpreFg3bzlwYW1obFNyRjF6M3JQL000ZG9OY1d6T0kxZ2tMcEQ2Y0to?=
 =?utf-8?B?c0t0V0l1TnJST3QrNENNQXhaTktJc1ozLzBHQlRmUmd6UEJRTXVmb1hTVENI?=
 =?utf-8?B?Y0k2czNPN1FSbDl5LzhlVVZ3aWJIemhsV0FmTy8rSHRFZE5tN3ZSeUxRTDhR?=
 =?utf-8?B?d1JUZ2JaRWo1M1BjRVFwUTJaOGlsZC9lU3VUeTNaN0hRWDlndUFUNHdxT1hs?=
 =?utf-8?B?U0h3MUsxY2svZ3hjc1VITkpqbVQ2eGJ4ODZNaDlad3J0MHVIYXpXSjBmektY?=
 =?utf-8?B?elVLOTZLaDNCYXFBdk9Zb0RnOU9VVFVzbTFoTW5lWVF1RitUM204TnFDQ1M1?=
 =?utf-8?B?N1BqbHBiNTY3SU9NTGs4c0kxMDlMTkdXbEYzNjBLZzBMaWY1SHplWGpWazFE?=
 =?utf-8?B?elV6ZHZIZnVwNHdYdnF4bTUxY2NXeGxPRC9NanMrekdxWlloWGYzSFM0QmdZ?=
 =?utf-8?B?cnN1MDJXSDdiZ0NMZTNlWjVza0J6RXFwWXMxRGVOQzA2RFdSYWljMVI5ektM?=
 =?utf-8?B?RUNpV24wN01TS3ZLNFhXSnFxN2VNQWhDYjR0R0JYOHgxOERXMlVaYTRjU1E0?=
 =?utf-8?B?b2JhdVBpTkgwWmh6d3NwUWFUakRINWJzQU51L0pDUnY3YU1jdGI0alNoYmdv?=
 =?utf-8?B?UjdIby9HblJhUmNxTk50Z3kwYjdnU3Z2RDgxalRmdVRGSzRWNVBoUUxRbms4?=
 =?utf-8?B?ancxL1RZTmxFRzN4cVJOZU5abnJkLzFHMCt2MURPUXBwUmVZMFN3Y0t2dGxJ?=
 =?utf-8?B?amVuZ0hiSkwyeVNSU2pHRlljekE0V0FWSGlzeElXZEdXOVNpOHR5cjVMR2V3?=
 =?utf-8?Q?1wfCc7RiZMNI3pma8ntCjlCer?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46fbd8e8-8b72-4f89-a4e5-08da7a1eec2a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 15:50:45.7421
 (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: w0nrcVRwisnSqhnvu53EfR4nXQlQ6cxetu4XjYr5il6e0Uvx5inFiJbdawOipwPW/fSiwtzHd+k0NE1oTPy8ZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6199

When passed -1, the function (taking a u16) will look for segment
0xffff, which might exist. If it exists, we may find (return) the wrong
device.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
An alternative would be to declare that both functions cannot be called
with "wildcards" anymore. The last such use went away with f591755823a7
("IOMMU/PCI: don't let domain cleanup continue when device de-assignment
failed") afaict.

Each time I look at this pair of functions I wonder why we have two
copies of almost the same code (with a curious difference of only one
having ASSERT(pcidevs_locked())). Any opinions on deleting either one,
subsuming its functionality into the other one by allowing the domain
pointer to be NULL to signify "any"?

--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -578,20 +578,19 @@ int __init pci_ro_device(int seg, int bu
 
 struct pci_dev *pci_get_pdev(int seg, int bus, int devfn)
 {
-    struct pci_seg *pseg = get_pseg(seg);
+    struct pci_seg *pseg = NULL;
     struct pci_dev *pdev = NULL;
 
     ASSERT(pcidevs_locked());
     ASSERT(seg != -1 || bus == -1);
     ASSERT(bus != -1 || devfn == -1);
 
+    if ( seg == -1 )
+        radix_tree_gang_lookup(&pci_segments, (void **)&pseg, 0, 1);
+    else
+        pseg = get_pseg(seg);
     if ( !pseg )
-    {
-        if ( seg == -1 )
-            radix_tree_gang_lookup(&pci_segments, (void **)&pseg, 0, 1);
-        if ( !pseg )
-            return NULL;
-    }
+        return NULL;
 
     do {
         list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
@@ -628,19 +627,18 @@ struct pci_dev *pci_get_real_pdev(int se
 struct pci_dev *pci_get_pdev_by_domain(const struct domain *d, int seg,
                                        int bus, int devfn)
 {
-    struct pci_seg *pseg = get_pseg(seg);
+    struct pci_seg *pseg = NULL;
     struct pci_dev *pdev = NULL;
 
     ASSERT(seg != -1 || bus == -1);
     ASSERT(bus != -1 || devfn == -1);
 
+    if ( seg == -1 )
+        radix_tree_gang_lookup(&pci_segments, (void **)&pseg, 0, 1);
+    else
+        pseg = get_pseg(seg);
     if ( !pseg )
-    {
-        if ( seg == -1 )
-            radix_tree_gang_lookup(&pci_segments, (void **)&pseg, 0, 1);
-        if ( !pseg )
-            return NULL;
-    }
+        return NULL;
 
     do {
         list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:52:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383036.618132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRWS-0001t1-4v; Tue, 09 Aug 2022 15:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383036.618132; Tue, 09 Aug 2022 15:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRWS-0001su-0b; Tue, 09 Aug 2022 15:52:00 +0000
Received: by outflank-mailman (input) for mailman id 383036;
 Tue, 09 Aug 2022 15:51:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLRWQ-0001si-JS; Tue, 09 Aug 2022 15:51:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLRWQ-0001rK-Ev; Tue, 09 Aug 2022 15:51:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLRWQ-0004JN-1Q; Tue, 09 Aug 2022 15:51:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLRWQ-0000yk-0u; Tue, 09 Aug 2022 15:51:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oMcowk15sq3LnmBC39oHEMD3C/CoBWFNLbQOiDd4Kec=; b=vJFG+4+FBFlfj2rZNf3EDfoEgt
	b4/xKeK2RiWCu8zAA0lloIEoNGiVVQlvyo9r48Lemgb99jp5MJPYPJCm+ESyaw9j3SMv8SXziNkjv
	+nX/lrMNMgcpfvaATrq5spqe2tGR3XNNUhS8IrU9CV+2Ut2lhZwIQXBLSSYJJ+K3kTc8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172319-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172319: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ca5f3d4df1b47d7f66a109cdb504e83dfd7ec433
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 15:51:58 +0000

flight 172319 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172319/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-arm64-arm64-xl-vhd     17 guest-start/debian.repeat fail REGR. vs. 172123
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ca5f3d4df1b47d7f66a109cdb504e83dfd7ec433
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    5 days
Failing since        172148  2022-08-04 21:39:38 Z    4 days   13 attempts
Testing same since   172319  2022-08-09 05:57:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 968 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:52:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:52:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383039.618143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRWe-0002Dp-HG; Tue, 09 Aug 2022 15:52:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383039.618143; Tue, 09 Aug 2022 15:52:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRWe-0002Di-E6; Tue, 09 Aug 2022 15:52:12 +0000
Received: by outflank-mailman (input) for mailman id 383039;
 Tue, 09 Aug 2022 15:52:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rEZx=YN=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oLRWd-0002Cm-3p
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 15:52:11 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr30043.outbound.protection.outlook.com [40.107.3.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39eb1f1d-17fb-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 17:52:09 +0200 (CEST)
Received: from DB7PR05CA0004.eurprd05.prod.outlook.com (2603:10a6:10:36::17)
 by VI1PR08MB3199.eurprd08.prod.outlook.com (2603:10a6:803:46::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Tue, 9 Aug
 2022 15:52:07 +0000
Received: from DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:36:cafe::6b) by DB7PR05CA0004.outlook.office365.com
 (2603:10a6:10:36::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21 via Frontend
 Transport; Tue, 9 Aug 2022 15:52:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT030.mail.protection.outlook.com (100.127.142.197) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Tue, 9 Aug 2022 15:52:07 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Tue, 09 Aug 2022 15:52:07 +0000
Received: from cc4213433cb9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2E87CD9B-0D9C-40CB-BE09-64FD0699341A.1; 
 Tue, 09 Aug 2022 15:51:55 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cc4213433cb9.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Aug 2022 15:51:55 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DBBPR08MB6073.eurprd08.prod.outlook.com (2603:10a6:10:1f7::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 9 Aug
 2022 15:51:52 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.020; Tue, 9 Aug 2022
 15:51:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39eb1f1d-17fb-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=YrqRk20ve9LBAXs6697cJi9JLI5KxXVF5agMFeC3PTU6k5qsQWxoruVwRQ6NdedNDkKmZFzKxRTyd2QYRy1acR8h8g4ZSOkpZ7dTLClko8GGGIRGeyyTrh31YlW6DumzkA+B1/QEE8dQQ5Krh+WwoyMMbuzfFbOnCYmgL0IIhrEFOAQjV1G3c2mip2AmN96MSpY5IrTEr0ZTfdPpi6sVXfkYuyhfMAASBtge4s8zAhn320KUzTNTKc5w0ap4ROrwgdzqpoV9P9BUtl/iSXyOy7laFuMqdwpDZMyDE2Dwb1GMIn8+pWqtUDoVI+JGDUTHFgkunbWQ8izoOMvovA6rlA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Od+KecJCNPVCEehzJeJRC4V/NyG90OB7EfBVXM/9Y/Q=;
 b=TYW0Idgc0CjgXdA7h0IkZ53TMk14AbgLuq5bSfYlVaMDJsiJoTkB5ytkhS6V4epE7p2W0+XlH95Z4JZFVjs6x52jOvk5G2K4ZlF9MHFzp3g80m9plyBFDGtd72l6jyRuswF+4bf1O1GfidakSGtsvvZHlL5DN59k6vVOHE/vw3AeRxtJ+mL081ET4dl01t8Dk5IDRj0mSuLidLPrjuGD5G8SiiK/QNbAk/QesFK9EQCQqnzsN4Vg7S/PO89q6+IkVHLiAkSV3YnR9NZ2c/TJkYdvE66LoAcCtt7uqjBFhxZvBuvA2hGoKhAvGToqWmfUVOP8n4WAv5F84j1WOFCvyQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Od+KecJCNPVCEehzJeJRC4V/NyG90OB7EfBVXM/9Y/Q=;
 b=bvPpkAuJw8JHtlwi4/tXNtPP7Clr8K9J4dlH2HpOoiW4QBMcTGp8z2kQRmT+mNMEjQcTbl2dVCaSh2ICq77YRkbY4s7FMxHDqxBbnc68G46cQM5e30uennNEp8D9H0anR8lNAy5Fzu3NPoPpRVKGFEp/zNs8rCEz3EYNxaBz+/s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: a270cdcb05095f4b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mnOZcQ5dnmbbHLXFLTfpnshoMJuM3NF90wpMdqP7hiewRvHGs3vkek6A1PUV3fOMmUiGl5K/5ImIZ08hPBaOuD/TYt1+0fj20iqTN/TdCP0W66SD2NArA8RQj+XevytQygsMJM44NwyRVF9QVkaBtyIauDzMhLdDhISBaxp4ebFWBWYIVRU298lN4L6A6tL679tIzsu3MLSMV25qbZopd+x2bFtSm37HszwnhoEDaInkNRpYyEHH4q1DCu0O+tjBQYbNd3TyoO5rXbuY9askyuxvxUXsHcNG5b+5Fx05I4JyJFrRd8HM1pbrnGsGQxC0hXLttXM9MkhKAn+rMP/xkQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Od+KecJCNPVCEehzJeJRC4V/NyG90OB7EfBVXM/9Y/Q=;
 b=KksE62B2HVD0wnXRYAKOD00iYHhQ0PIEML3BoBvUKVobe24VuVRW5uXEpb9sQ5mhkxLp54sG+AKKUHglMQQI11yFN/fOGNvgFEGMwB7vG+iCBe3thJyxMUO3LAzS9tqeUE81OLC+A+SCLNw/0HpmUybTrY772wzTwa8j+DAJ6RkvOnhCQ/3BeUiDB49q0UgiJRZFykY3DXMtjOEQXcP0wju6a1Z1LP8k2cXc41lAMWcYJs4X1zWFo/wKClyEaswMAz5A+RueeCMgFKme8IbQLlQ5YQ3kuYI/qvIVUZQKY6asgc3KDQtvhCxjyY6OfJY3smAmU46I6WZOX3S7EE/mMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Od+KecJCNPVCEehzJeJRC4V/NyG90OB7EfBVXM/9Y/Q=;
 b=bvPpkAuJw8JHtlwi4/tXNtPP7Clr8K9J4dlH2HpOoiW4QBMcTGp8z2kQRmT+mNMEjQcTbl2dVCaSh2ICq77YRkbY4s7FMxHDqxBbnc68G46cQM5e30uennNEp8D9H0anR8lNAy5Fzu3NPoPpRVKGFEp/zNs8rCEz3EYNxaBz+/s=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Paul Durrant <paul@xen.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Thread-Topic: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Thread-Index: AQHYqOI28IdG0PHJfUiTCQKz3s6xa62ms9EAgAAKSYA=
Date: Tue, 9 Aug 2022 15:51:52 +0000
Message-ID: <A7BCD311-F39E-4ABD-BC43-BE3DE95F5066@arm.com>
References:
 <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <6c8defc0-3197-14cc-64ba-1ef140d6930f@suse.com>
In-Reply-To: <6c8defc0-3197-14cc-64ba-1ef140d6930f@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 44933c0b-a5ab-4c5c-23e5-08da7a1f1cd8
x-ms-traffictypediagnostic:
	DBBPR08MB6073:EE_|DBAEUR03FT030:EE_|VI1PR08MB3199:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Wb5B3diIJk7sEOAFJdVA0my5+QsBrN7w5d3DT1CiiLh9jgCDxtlOf7MgtifA/6IW92AUq0aa/HPYPYYh4N90IROY1NpBMkyW9QoHMnIWIFt4jiFAaDxvKLQ8NexGdLCQd4mttLr3Ye1TSc/DJP89N+4zeHhEKZ4C8Mh50uMGviMXgJoknzhN9yDefD8VtTR10ldrvKFeK/QLH36k0kDK6xHZJk/4xj4bsJQmTQ2pb6O/Y3OmiXKgP8r6ICs9/0AWCWUlMMifheU+z6Gu+M8X0bU8S/JpgJOiLizVNkkgJvBSZFb/MCmWh6TEbj5reSOhdDJndd9qI66nK3Lbdht87cj1o0Qn6pZ7FtQKY6jU9BW7SgB1NbW89+piWA7J0mp28QGriWRxHlAgIg/so57vJffvfkVS2TEfY/BUyeHS4GLCoxa7s/p03qsxZJJlGbf9dp/NEUK8DpB00k2xyCaor2/oyDGESbFOltrpYZvHvrAM3RSjZumiXYxyDT4mMJcV0qyZ6fv/mynwJsWbQFoNRzouGmKYF+vT8xMCkCpOXoozTuLHf+QmBq3GsG9NX9LXMfY9hXzgQ6aW07BshrjH6bGPm2qSgcYSrfiiAj8d9gCBKjxgqp86x3sEhDhSfPH6uBsaNGyOpxDXPtNxrKkCE7M660PO4UwcfnkKG6Y13/DkcJDYQNbpN6TAUA67yNHT3ThAL7gOZnJnJZb8Yr5w16A+1Fz6G73m1QahNCWEITexzXWAVq9pL4bQM7tDIRtwkhwT/8Z6IU/7/XLqenRLgJ/b4+CmC5F8UZFunZTJjwXghVmIQMNMynpdXzvZ1/yIWidjX8rwZgaRmGQ5KPB7dQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(346002)(366004)(396003)(39860400002)(6486002)(71200400001)(6506007)(478600001)(53546011)(41300700001)(33656002)(86362001)(2906002)(6512007)(2616005)(26005)(186003)(54906003)(36756003)(6916009)(8936002)(91956017)(4326008)(8676002)(76116006)(66476007)(66556008)(66946007)(64756008)(316002)(66446008)(38070700005)(122000001)(38100700002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <2569F39FF8353B408DDFA98DAE475F21@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6073
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	be11eb34-b323-4dd1-e5f2-08da7a1f13ee
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/Ikt680Em2YZyBwsIh5tH1jh6mVDytl0C2ea1UXv3u6TKWW4QRBmz3sNezqQHuMMtiQhvHdddsVjmqnpSfJ7VYaPqX5eEp3aVogTjtarortrZnkjgqNucRJhk1giZclxwBGqv9tiHKxxZMFqtV3V33/m2kwivnubHOPTxyyphJ5E+MorjxQB+Tr7N99kLFgzCV5Bu46iYpjSm2nnAed0u0eG64uSCtUNJl3yJCTYDhzVlT5i1D/Vt9woHI3vdydQldNZoyL9e/jdunpTaF52xDT9gG+xX7Hk6+CbAfaklYAlvMX/RsGjc3Uv8uCkw2tZJhs3Y14OcOHQIshB6zgUml2xtgVA3YRkRkkSpkWwJfu+bOIrSM7DYA941r4N6pZfv0yOQ21ZTARk3CqfYoyP6UpmZ//oDOUiIkILOsGwCq6ZLICH3S+5xxtOeO2xv4qtv8BisyGOpzPCGBfBp45ISWSP3EC1OWegGOoSE2clnGLuXqecK6BeOAjdJYPKsGdGcjfTNc9VrUQgdaeOXCQmuAF7HpLrfeI0su6GSwbgd7cAMfO9Dj21EMVPVEtR0wNm75qSu915Okvl3vCnK/ppgcY/oDtX8bXnmABfbIbS101mJUrj78dHIaizL6wOTy8cpG/w86kPVTNScqokM9LX6Q6GcI3k9BusViFDF1GdobRr8T8Kdc9XTcBzOi3lQO1zg4I8VYNwK1hbspcjW72i3cC7/PLgcV1UF5Tws8SlbUffOhgJMFjOBgn6wpOz8J+kYYHpZGgt1CeYNcDJRCMMoxwh4NlKnYmyJnltArhvdYc8WxspQgx8W4ZYdDpRCXtz
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(376002)(396003)(39860400002)(40470700004)(36840700001)(46966006)(70206006)(40480700001)(186003)(336012)(36860700001)(36756003)(41300700001)(8936002)(6862004)(33656002)(5660300002)(47076005)(2616005)(53546011)(4326008)(2906002)(86362001)(82740400003)(356005)(70586007)(54906003)(6486002)(316002)(478600001)(40460700003)(82310400005)(8676002)(81166007)(26005)(6512007)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 15:52:07.2848
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 44933c0b-a5ab-4c5c-23e5-08da7a1f1cd8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3199

Hi Jan,

> On 9 Aug 2022, at 4:15 pm, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 05.08.2022 17:43, Rahul Singh wrote:
>> pci_get_pdev_by_domain() and pci_get_pdev() functions find the pdev in
>> the pseg list. If pdev is not in the pseg list, the functions will try
>> to find the pdev in the next segment. It is not right to find the pdev
>> in the next segment as this will result in the corruption of another
>> device in a different segment with the same BDF.
>>=20
>> An issue that was observed when implementing the PCI passthrough on ARM.
>> When we deassign the device from domU guest, the device is assigned
>> to dom_io and not to dom0, but the tool stack that runs in dom0 will try
>> to configure the device from dom0. vpci will find the device based on
>> conversion of GPA to SBDF and will try to find the device in dom0, but
>> because device is assigned to dom_io, pci_get_pdev_by_domain() will
>> return pdev with same BDF from next segment.
>>=20
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>=20
> Actually one more thing: While you're working on vPCI as I understand,
> the subject prefix here really wants to mention PCI, not vPCI.

Ack.

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 15:57:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 15:57:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383054.618154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRbf-0003CM-5j; Tue, 09 Aug 2022 15:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383054.618154; Tue, 09 Aug 2022 15:57:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLRbf-0003CF-1e; Tue, 09 Aug 2022 15:57:23 +0000
Received: by outflank-mailman (input) for mailman id 383054;
 Tue, 09 Aug 2022 15:57:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TVJh=YN=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1oLRbd-0003C9-Ud
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 15:57:22 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1anam02on2089.outbound.protection.outlook.com [40.107.96.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f230d758-17fb-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 17:57:19 +0200 (CEST)
Received: from DS7PR03CA0183.namprd03.prod.outlook.com (2603:10b6:5:3b6::8) by
 PH8PR12MB6723.namprd12.prod.outlook.com (2603:10b6:510:1ce::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Tue, 9 Aug
 2022 15:57:16 +0000
Received: from DM6NAM11FT046.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b6:cafe::d3) by DS7PR03CA0183.outlook.office365.com
 (2603:10b6:5:3b6::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Tue, 9 Aug 2022 15:57:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT046.mail.protection.outlook.com (10.13.172.121) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5504.14 via Frontend Transport; Tue, 9 Aug 2022 15:57:16 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 9 Aug
 2022 10:57:14 -0500
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28
 via Frontend Transport; Tue, 9 Aug 2022 10:57:13 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f230d758-17fb-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XNUzCxbA9s4ahXNiioA+dYgSFOyE9PJTVKW/T6UisViNFj95LQmOABXPT3cjFY2IASWd7W/n9PtQQedawsUZhNR9ALgbS6jWMJlzO1Lb5iWuhWG3wo8CU6mbmvPoVMBozR1K5WnU4K+vO78doALGriUEs3UW0p9UpZSztRPgs3Y6Swx9vbJ08aFXHoqLfE4pScX7awBdqb/S89bIDu4rHd5idnwByYJQvBBQ4t61yCdiCOenvWpYs3fmmo02hy8oaxJZXzOSib2AWeU0VwaQIlfKxXVV+uudKwU8apOyjMoI16Tn68IsaOOsvKPZPZctZ+JYPQQ1H4pNchgx7FM/Ag==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dAUABT5KI2RGeCYMYaaE9z3R2dDgSDAkJ8fTYgIVVTk=;
 b=d7C/kDD2c6lgiOfxSqlwsoBYfXbpIk3aGZF5SBG/t0UIwV3S4T3f3Md1r7d19aOIxBZyd1vhlx9WCoKspa8lhZ5OneD2/d0qoVcw5bWCEtUMMqIlReybr0op4dKwtDJTKsmqch/p2Ob+5Fbmon9UDPUrPsVCvU6KjQF7HnF1afjTDHgnOs0CsA8UTkL9KyeX9lSAhKj+K3rZIKuYXMlC4gy2XAkK0f53wYR6RdTc0ufBBPmP4ZAn4Mxpk2b/UBGJkKSVblM3aNkq/CNnP/K5pDvdE2PprL11SluRofD69U7faCjqXO54NttItNwf7apzPV+5BSIp4Xke6rDgiWTsTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dAUABT5KI2RGeCYMYaaE9z3R2dDgSDAkJ8fTYgIVVTk=;
 b=X2dXVDKFX4bi3oor/ohm/OMvpsZai5YQ6f1+Xx5QlE68qx8FPQ5IzrnjdFWxTqe5LwxfTwBcu/JPtlhDGFoHTU2FSSu5rpcCTXuYZAgSKBfypX0hXTrE8C3q0Jabo3fu2xxyEcn32Hs5Gf+2yDd1a/NQTgRu8BzDJ6l6fxUGrdo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayankuma@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <stefanos@amd.com>,
	<cardoe@cardoe.com>, Ayan Kumar Halder <ayankuma@amd.com>
Subject: [XEN v1] gitlab: automation: Fix the automation scripts
Date: Tue, 9 Aug 2022 16:57:11 +0100
Message-ID: <20220809155711.39168-1-ayankuma@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 15278ad7-8c10-4773-b505-08da7a1fd4f6
X-MS-TrafficTypeDiagnostic: PH8PR12MB6723:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D4ZaFdvV2UMEUnMMrC6PfSzcyG93C7oEsnGb/4lyNYYC5BAxxEwjbO1gJVM6oaVeo9stKV+suRShXuDv3bJBtF7QHTNkZ4/uCSNIwTNMGjAnLpdq54gPjAEsUbCM7V9MLUkCRhHg/bthSvUOvd26P2LmVlPh7A9r6kaypXpghAkVq/oWslLXnLuUv8Ln3lBcdTwwXFUVR5HbGE/1zgKgokwPZzSDoOrMYYFlIcAG1xt1xf3KxXbG4Xw/EfjYTpppg3G3olvSW6j+WJrBKe3qZUe1JifIbMjGc47W/vkRDK+FGyyrShySoJ/Kc8je/P/jv8O3Ldhug8Ahb8qGyvvYlZcR4iV5eCQoCaC2vsu1Cqf4DW24yQhBiCm8jfYpkAt78WgorXCAHY/cRGzzpwSGPgsoPvSCEZouAClGYVEMy6oA8CzoM9x5EjF3cMrlVkTRD27XjHEiQB1iOV+1wygUuUL40Z2gxyEaEY6POmBvzX7WHM+k7iPmD1im+leR4ccLgyG0jrqYiPnIzKBXkqVgHtrCvOArI7ZHh+HGfQzIwMLmTa9ykFvEvBD7lsCXfojFYbvGlNochY899DgS1dIflPGYGMKtvw5vJLyfenuRVUL6vdjDDs2F+wNB2cEnLm8vvu+ao+tAJyKyYCaSL38CsIVsKO0x7WZNtphtMyrw7dqqFT4KxavGxcMfxvOBG61Jce0K6o0VnTRwdY5F/rZRJharddMVsF+ghVgk8JZI7zz7DtrKNr+AJTv5eANnx/T3H/zSZ1y3X3ThvmrP19vc75py/bAbuutlexdGWfbN72gygoP3UFva0kNJuxvV8O2uMZ5bRpDeGOti8oml8RLwPBQsUttXUSw+NugyAphe5sswk6tiglepNYhG7+XT5t+V
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(39860400002)(396003)(346002)(40470700004)(36840700001)(46966006)(26005)(8676002)(4326008)(82740400003)(70206006)(83380400001)(5660300002)(82310400005)(36860700001)(70586007)(40480700001)(41300700001)(2616005)(36756003)(40460700003)(6916009)(81166007)(478600001)(8936002)(186003)(2906002)(356005)(316002)(966005)(336012)(54906003)(426003)(47076005)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 15:57:16.0921
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15278ad7-8c10-4773-b505-08da7a1fd4f6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT046.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6723

One needs to run 'apt-get -qy upgrade' to upgrade the old packages so that
the missing dependent packages are also installed.

Signed-off-by: Ayan Kumar Halder <ayankuma@amd.com>
---

This is supposed to fix issues seen https://gitlab.com/xen-project/xen/-/jobs/2832045004
The failure is :-
root@4a175985cd71:/Users/ayankuma/alpine_vm/xen# apt-get -qy install --no-install-recommends u-boot-qemu u-boot-tools device-tree-compiler busybox-static cpio curl
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Breaks: libglib2.0-dev (<= 2.72.3-1) but 2.70.2-1 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

For this we need to upgrade the packages which will resolve the dependencies.

 automation/scripts/qemu-smoke-arm32.sh | 1 +
 automation/scripts/qemu-smoke-arm64.sh | 1 +
 2 files changed, 2 insertions(+)

diff --git a/automation/scripts/qemu-smoke-arm32.sh b/automation/scripts/qemu-smoke-arm32.sh
index 530f3892fd..e7e733798c 100755
--- a/automation/scripts/qemu-smoke-arm32.sh
+++ b/automation/scripts/qemu-smoke-arm32.sh
@@ -4,6 +4,7 @@ set -ex
 
 export DEBIAN_FRONTENT=noninteractive
 apt-get -qy update
+apt-get -qy upgrade
 apt-get -qy install --no-install-recommends device-tree-compiler \
                                             curl \
                                             cpio
diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh
index 497dbee15f..f714aacbb3 100755
--- a/automation/scripts/qemu-smoke-arm64.sh
+++ b/automation/scripts/qemu-smoke-arm64.sh
@@ -23,6 +23,7 @@ fi
 
 export DEBIAN_FRONTENT=noninteractive
 apt-get -qy update
+apt-get -qy upgrade
 apt-get -qy install --no-install-recommends u-boot-qemu \
                                             u-boot-tools \
                                             device-tree-compiler \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 16:00:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 16:00:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383062.618165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLReR-00057Q-IO; Tue, 09 Aug 2022 16:00:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383062.618165; Tue, 09 Aug 2022 16:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLReR-00057J-FO; Tue, 09 Aug 2022 16:00:15 +0000
Received: by outflank-mailman (input) for mailman id 383062;
 Tue, 09 Aug 2022 16:00:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rEZx=YN=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oLReQ-00057D-7l
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 16:00:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2083.outbound.protection.outlook.com [40.107.21.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a1c38ae-17fc-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 18:00:13 +0200 (CEST)
Received: from AS9PR06CA0607.eurprd06.prod.outlook.com (2603:10a6:20b:46e::10)
 by DB9PR08MB6393.eurprd08.prod.outlook.com (2603:10a6:10:25a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Tue, 9 Aug
 2022 16:00:10 +0000
Received: from AM5EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46e:cafe::34) by AS9PR06CA0607.outlook.office365.com
 (2603:10a6:20b:46e::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15 via Frontend
 Transport; Tue, 9 Aug 2022 16:00:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT054.mail.protection.outlook.com (10.152.16.212) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Tue, 9 Aug 2022 16:00:10 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Tue, 09 Aug 2022 16:00:09 +0000
Received: from ebe538af5c51.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4D768DF2-9185-4DD2-9420-2933445F562B.1; 
 Tue, 09 Aug 2022 16:00:03 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ebe538af5c51.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Aug 2022 16:00:03 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by GV1PR08MB7379.eurprd08.prod.outlook.com (2603:10a6:150:23::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 9 Aug
 2022 16:00:01 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.020; Tue, 9 Aug 2022
 16:00:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a1c38ae-17fc-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=a1J1KAJ8N392GvQRdBtGJ4ye4iBm6Y+yjopbsYk/SQEGDnkhlf9EeSPQ89Z0xU5pWJDCEGgR3HY0aUqn9Ybq6oXcGW6Dvsz7+KXB+S2pAINuEHr//fNU5PNuYcRDVYw82dV85NWCzXDUBX7xR2gAl3aXSHcDlUz0I/DLEhInL2AGuRzCfzzVQNGQdssFVutz0t/C5rhO+UjRDyVgiNRSvEY1vzhP52/tCwnxwaEhh2X+6TwkX2v14MjdSx6G3HijLxLN0Dw2bSrBz/ZnEYqJMCamTz5WxsuLm5G9/Va/jFXzKru++80TOsg5U9jhz5C/z43HRQndQ7okSAhOxbEZmA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1KpjXxok5CH/DHk54ul3iEJBpe4C3OhxMRY1cptw8V8=;
 b=Zz+F5NQ5C5ijteYC90qhyWPrqw9YhhxPkZd4vycTrYiVYdfZV/rxiFPiK6MSK5/cE/TSlOFznf/3H7+FINfJWHslNYpeRgGJek4u4uDlNwPagt6BXM/wTZrFaSntkI293laRYuvjB4I+dgKIog8Glgy2kBMmq1m5JRvBi6u45Xv993WHP94R1UE/2nB/wkWIK/bghSv1njScj2BgKKiVynOJTlSOv7yT/VR0SbVhNqJWZqYJ5sZa0YG1Hu0brZ3/Z1XFHOn1bwmEpKcu/hG7RpGvhRSsC6UQsyLi9MzlCcwnH9pNI9t5J0GhJGhJkRJb8fFttbefwKeadgvQEotsXQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1KpjXxok5CH/DHk54ul3iEJBpe4C3OhxMRY1cptw8V8=;
 b=wehMtJn1aIrAQ8V77DUjsvFDuABEEm8mtBHJPYxOjXpc8rydG2klAwv/i485P+fSJT5hhRqb+1InzMFVBZ6+CKiXE535e/dgUN2H5/OWThdSLB3qN0BswB37hHDp48UiA6luqmJJYauPrKahraOaOqOw4cZbb2wqliIxtaHp8wA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 692b4e29555827fe
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BuNLPP2HXPRyZ6SbGLvW30FjUapSfSdfs5vw/qRuMTcji32RjBwHuWf2wiuBOmYrUN43fkPdlfdUz7zQAuBTCGMm6XnYl0YjijEV3btMZ/1bFPafpuhLz84yPcpYOya3vOyzpZQSjJu4OMwRyeh2BBCKuxzFaYduPYweYg8keysoOBBg8cisQ8e2ksKMLzSVL55KQP0CcpUH7YQSzIiUSUjr7Zmk+9RFAxJvUyT28MQ0m1jBlzkeXsvm9FW+zr5jxodKYEARGq7cx/HBy/RbEG+cNSjNBqL1uyPRZGMz5WuTOaoTlrdX5xrkWDZYXfuxXPXFCH+6fx7d978ke1aV0w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1KpjXxok5CH/DHk54ul3iEJBpe4C3OhxMRY1cptw8V8=;
 b=mjHiCuR/U2imriXVd8Rfte4znWQ7yo7/vaaoMkkMuO6eI9cSb9JNvN1GMHUFgb4mAM/DbSMmVnKqUEznBtvzGewU43iPyPiKZQba20mEctqh3gddHd549iW3BSQ/09pMJCri59oLyY/cDlQduR+Dd3DlfNMIK0eVPFD+rWH0gaagvmhIYxUPbmbjTk1B3n9xsG5d4T07fZLrSo0H6suzQoYFM9UgYlZs36MQFQSx2BD2/2/3FeBDsRRcKq+EODrFrqOn/yjfJtxmxibZ4CsMNlPd0GvAe7uo3QCZz1tkfqby0RTTaLiz48k1Kku0XGTqmuyMORKfo/Q6LkSyLTwA0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1KpjXxok5CH/DHk54ul3iEJBpe4C3OhxMRY1cptw8V8=;
 b=wehMtJn1aIrAQ8V77DUjsvFDuABEEm8mtBHJPYxOjXpc8rydG2klAwv/i485P+fSJT5hhRqb+1InzMFVBZ6+CKiXE535e/dgUN2H5/OWThdSLB3qN0BswB37hHDp48UiA6luqmJJYauPrKahraOaOqOw4cZbb2wqliIxtaHp8wA=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Thread-Topic: [PATCH] [RFC] xen/vpci: modify pci_get_pdev_by_domain() &
 pci_get_pdev()
Thread-Index: AQHYqOI28IdG0PHJfUiTCQKz3s6xa62mXF0AgABVF4CAAAHhAIAADQ4A
Date: Tue, 9 Aug 2022 16:00:01 +0000
Message-ID: <1C1C3167-C8D8-42D7-BCD3-C130D9CA0525@arm.com>
References:
 <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <dd0ad0a4-6a01-7e35-51dc-614477bb9556@suse.com>
 <9F5E81CD-858B-44CA-8BE3-B518111E2E85@arm.com>
 <bd7d16b4-f11b-48ee-07d9-0f2e3d533964@suse.com>
In-Reply-To: <bd7d16b4-f11b-48ee-07d9-0f2e3d533964@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 01327b14-c517-4cbf-03dd-08da7a203cb4
x-ms-traffictypediagnostic:
	GV1PR08MB7379:EE_|AM5EUR03FT054:EE_|DB9PR08MB6393:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Y1gSh/SB9NuIHKy2ASQdba6iqBRed5uEKPVbI3WwzzX76AjhOMlfKWjussVbCpNaWvSyKABSMphjSm8zYuYZ/kRPBDGUHx0DWkBy43JPgKKD5PgErKuTEApXWeotRCpwR5sgXGQHB2YT+ggVnNF2pzl0MHfNAJ8aCkkXUQN0+QdepQCLjxy2FUFTmpLrSOk2XE6syh+qusQWG+3s7W0XnEDZ5nDAVgTmKolqO0eAu0PDO0Z0XTFNaZmaXPyb65gvq2EuQbPQoq8nTz1UnDtye7XCrFZzzF5FswOSQXAdwCsjQh5RcxcnkwZ4GWJUij0kpmyvKxqjw2ZoJEHiwULTik/kSqr3+tBHSzJe1L4tl73oXRcfyl93HDaja8/rBCd+0ZXs35CxJCsA4Z1MdQFSDEfxxieZuCfPuCJJ17SE7AjT8c7F96+z/vsSrngTB4zr15rEEHgwhsGH4NdYD6MBCpxGgE57vMdbGNa8vOL9sVNbVwDQge8CqJeZJHlxtJTKF4+w4YY8OXpAHznBvgu2gsXGYln2Vy4d5qg8Cid0wJ71QMpf4LbP28+eh/WCh67kn2deYzhBuH94PrGlVW2XrvCHNoJPYaC4ivaea9+0VEk6Oe9GZxqwgPBRsl9rdde3XxVygHLnf+cPbicLkk1glzJPAilZ+pkSF1v/LyLIly5/ER2RBQboffVKafWWNbMLojgYX+QkwhtHMUdllwelxf6rwV6nYS5D0+xSL6dRbayuc9e8QEQxBNhXBPr36mI753E1EnrHR15O3+MnVDskfppi7klW0VCBoUzrsiNIDNq0cg71OSkjvK+VtO08YMVHQVP8AnEj79sUnPt8d1Fo4Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(396003)(366004)(346002)(376002)(5660300002)(33656002)(2906002)(66946007)(76116006)(36756003)(316002)(71200400001)(478600001)(54906003)(8936002)(6486002)(53546011)(6916009)(38100700002)(38070700005)(2616005)(41300700001)(26005)(6506007)(122000001)(86362001)(4326008)(66446008)(64756008)(66556008)(6512007)(66476007)(8676002)(91956017)(186003)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <503498BA77C4AF4FAC5908465EF10B31@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7379
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	aa6be657-5837-4935-1421-08da7a203774
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A1UlMaAbGRw0GUpmPWwl+jBkjrVArflPLE7XwvjydtCw8GajfcsfupHgJpSXb9L5jZpuBsYAvmzVGIeVJ6j7Ez3B2yXLSM3j0VLK3ljb8Rxq7fZhvytFp7lbKwEUr+10Wj3wa2kpstv4IPtY5RCcYPo5xfoMwn2gupUW+Z2Le5uWYoWY0Iyrv58Hbi+g95i8teLdP0+wcuuklmjnlCCZ6ySkFghFm7HS57TSq6ydslgrGdmBBvYa+nYqwKRUmM09hjz6u3DUGhwkjOmUKIucv4iNX+Tj9AMozmFEMFmC1aWwEUh6jhjw07wONL/KZ6NumGexHbI+yI1Ja3b+QeC4QeV7gie2ra2PemhQn/uhc4j/YeGyDdc85qKhnQxvQnYqXsqt16ljl0mtN6j8EZVRVC/cFdTQ7Liw0FbIuMZQwQ07D7d0M6Y3nVM5oRkmfeV64Qv+TDqSlCmxnXNHuTH1dIcWpVhYVHw7wR1fKEgRXI9V3/UiqNoK3nmQHFv4yBEmkgbTHNV4ssuJuSX3SaBzpDVJG5upOaId2bKlaxKzAG0A3cfAocgoyAaX3zL5r1GS6fTeC+BAHE//JBZLndlVh6lyvz+Dj7cD567Hh4wPOcPF5pOjlojvOmXyQaq+9CKFqvkBRl6IsUSqux4i9dRtOXLOVFRmOiORYMlxiAjo8tqRkCqFBut3hnL9+fPcEWyZltHaMq+BcYef8B+BCNNWjsON7NIdNh6apvBM+qkn9AXgIGKE9/jNjquOaxpJLHHikXrvFDokACoOcWHsLupve8e6FNpSP0PGgB35IO12AqdM6PhgiScCu/XLPcAQNeSa
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(396003)(376002)(346002)(46966006)(36840700001)(40470700004)(6862004)(83380400001)(2616005)(8676002)(82310400005)(8936002)(70586007)(4326008)(70206006)(40460700003)(6486002)(186003)(47076005)(316002)(36860700001)(86362001)(54906003)(36756003)(478600001)(5660300002)(82740400003)(336012)(40480700001)(41300700001)(33656002)(6512007)(356005)(26005)(53546011)(81166007)(6506007)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 16:00:10.1537
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 01327b14-c517-4cbf-03dd-08da7a203cb4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6393

SGkgSmFuLA0KDQo+IE9uIDkgQXVnIDIwMjIsIGF0IDQ6MTMgcG0sIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAwOS4wOC4yMDIyIDE3OjA2LCBSYWh1bCBT
aW5naCB3cm90ZToNCj4+PiBPbiA5IEF1ZyAyMDIyLCBhdCAxMTowMiBhbSwgSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+PiBPbiAwNS4wOC4yMDIyIDE3OjQzLCBSYWh1
bCBTaW5naCB3cm90ZToNCj4+Pj4gLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMN
Cj4+Pj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMNCj4+Pj4gQEAgLTU5Mywx
MyArNTkzLDEwIEBAIHN0cnVjdCBwY2lfZGV2ICpwY2lfZ2V0X3BkZXYoaW50IHNlZywgaW50IGJ1
cywgaW50IGRldmZuKQ0KPj4+PiAgICAgICAgICAgIHJldHVybiBOVUxMOw0KPj4+PiAgICB9DQo+
Pj4+IA0KPj4+PiAtICAgIGRvIHsNCj4+Pj4gLSAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAo
IHBkZXYsICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFsbGRldnNfbGlzdCApDQo+Pj4+IC0gICAgICAg
ICAgICBpZiAoIChwZGV2LT5idXMgPT0gYnVzIHx8IGJ1cyA9PSAtMSkgJiYNCj4+Pj4gLSAgICAg
ICAgICAgICAgICAgKHBkZXYtPmRldmZuID09IGRldmZuIHx8IGRldmZuID09IC0xKSApDQo+Pj4+
IC0gICAgICAgICAgICAgICAgcmV0dXJuIHBkZXY7DQo+Pj4+IC0gICAgfSB3aGlsZSAoIHJhZGl4
X3RyZWVfZ2FuZ19sb29rdXAoJnBjaV9zZWdtZW50cywgKHZvaWQgKiopJnBzZWcsDQo+Pj4+IC0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNlZy0+bnIgKyAxLCAxKSApOw0K
Pj4+PiArICAgIGxpc3RfZm9yX2VhY2hfZW50cnkgKCBwZGV2LCAmcHNlZy0+YWxsZGV2c19saXN0
LCBhbGxkZXZzX2xpc3QgKQ0KPj4+PiArICAgICAgICBpZiAoIChwZGV2LT5idXMgPT0gYnVzIHx8
IGJ1cyA9PSAtMSkgJiYNCj4+Pj4gKyAgICAgICAgICAgICAocGRldi0+ZGV2Zm4gPT0gZGV2Zm4g
fHwgZGV2Zm4gPT0gLTEpICkNCj4+Pj4gKyAgICAgICAgICAgIHJldHVybiBwZGV2Ow0KPj4+PiAN
Cj4+Pj4gICAgcmV0dXJuIE5VTEw7DQo+Pj4+IH0NCj4+Pj4gQEAgLTY0MiwxNCArNjM5LDExIEBA
IHN0cnVjdCBwY2lfZGV2ICpwY2lfZ2V0X3BkZXZfYnlfZG9tYWluKGNvbnN0IHN0cnVjdCBkb21h
aW4gKmQsIGludCBzZWcsDQo+Pj4+ICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQo+Pj4+ICAgIH0N
Cj4+Pj4gDQo+Pj4+IC0gICAgZG8gew0KPj4+PiAtICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5
ICggcGRldiwgJnBzZWctPmFsbGRldnNfbGlzdCwgYWxsZGV2c19saXN0ICkNCj4+Pj4gLSAgICAg
ICAgICAgIGlmICggKHBkZXYtPmJ1cyA9PSBidXMgfHwgYnVzID09IC0xKSAmJg0KPj4+PiAtICAg
ICAgICAgICAgICAgICAocGRldi0+ZGV2Zm4gPT0gZGV2Zm4gfHwgZGV2Zm4gPT0gLTEpICYmDQo+
Pj4+IC0gICAgICAgICAgICAgICAgIChwZGV2LT5kb21haW4gPT0gZCkgKQ0KPj4+PiAtICAgICAg
ICAgICAgICAgIHJldHVybiBwZGV2Ow0KPj4+PiAtICAgIH0gd2hpbGUgKCByYWRpeF90cmVlX2dh
bmdfbG9va3VwKCZwY2lfc2VnbWVudHMsICh2b2lkICoqKSZwc2VnLA0KPj4+PiAtICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzZWctPm5yICsgMSwgMSkgKTsNCj4+Pj4gKyAg
ICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggcGRldiwgJnBzZWctPmFsbGRldnNfbGlzdCwgYWxsZGV2
c19saXN0ICkNCj4+Pj4gKyAgICAgICAgaWYgKCAocGRldi0+YnVzID09IGJ1cyB8fCBidXMgPT0g
LTEpICYmDQo+Pj4+ICsgICAgICAgICAgICAgKHBkZXYtPmRldmZuID09IGRldmZuIHx8IGRldmZu
ID09IC0xKSAmJg0KPj4+PiArICAgICAgICAgICAgIChwZGV2LT5kb21haW4gPT0gZCkgKQ0KPj4+
PiArICAgICAgICAgICAgcmV0dXJuIHBkZXY7DQo+Pj4+IA0KPj4+PiAgICByZXR1cm4gTlVMTDsN
Cj4+Pj4gfQ0KPj4+IA0KPj4+IEluZGVlZCBwcmVzZW50IGJlaGF2aW9yIGlzIHdyb25nIC0gdGhh
bmtzIGZvciBzcG90dGluZy4gSG93ZXZlciBpbg0KPj4+IGJvdGggY2FzZXMgeW91J3JlIG1vdmlu
ZyB1cyBmcm9tIG9uZSB3cm9uZ25lc3MgdG8gYW5vdGhlcjogVGhlDQo+Pj4gbG9va3VwIG9mIGZ1
cnRoZXIgc2VnbWVudHMgX2lzXyBuZWNlc3Nhcnkgd2hlbiB0aGUgaW5jb21pbmcgInNlZyINCj4+
PiBpcyAtMSAoYW5kIGFwcGFyZW50bHkgd2hlbiB0aGlzIGxvZ2ljIHdhcyBpbnRyb2R1Y2VkIHRo
YXQgd2FzIHRoZQ0KPj4+IG9ubHkgY2FzZSBjb25zaWRlcmVkKS4NCj4+IA0KPj4gSWYgSSB1bmRl
cnN0YW5kIGNvcnJlY3RseSB0aGVuIGZpeGVkIGNvZGUgc2hvdWxkIGJlIGxpa2UgdGhpczogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+PiANCj4+IOKAlHNuaXDigJQg
DQo+PiDigKYuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgDQo+PiAgICBpZiAoICFwc2VnICkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+PiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgDQo+PiAgICAgICAgaWYgKCBzZWcgPT0gLTEgKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+PiAgICAgICAgICAg
IHJhZGl4X3RyZWVfZ2FuZ19sb29rdXAoJnBjaV9zZWdtZW50cywgKHZvaWQgKiopJnBzZWcsIDAs
IDEpOyAgICAgICAgDQo+PiAgICAgICAgaWYgKCAhcHNlZyApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+PiAgICAgICAgICAgIHJl
dHVybiBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgDQo+PiANCj4+ICAgICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4+ICAgICAgICBsaXN0
X2Zvcl9lYWNoX2VudHJ5ICggcGRldiwgJnBzZWctPmFsbGRldnNfbGlzdCwgYWxsZGV2c19saXN0
ICkgICAgICAgICANCj4+ICAgICAgICAgICAgaWYgKCAocGRldi0+YnVzID09IGJ1cyB8fCBidXMg
PT0gLTEpICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4+ICAgICAgICAgICAgICAg
ICAocGRldi0+ZGV2Zm4gPT0gZGV2Zm4gfHwgZGV2Zm4gPT0gLTEpICkgICAgICAgICAgICAgICAg
ICAgICAgICANCj4+ICAgICAgICAgICAgICAgIHJldHVybiBwZGV2OyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4+ICAgICAgICB9IHdoaWxlICgg
cmFkaXhfdHJlZV9nYW5nX2xvb2t1cCgmcGNpX3NlZ21lbnRzLCAodm9pZCAqKikmcHNlZywgICAg
ICAgICANCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzZWctPm5yICsg
MSwgMSkgKTsgICAgICAgICAgICAgICAgICAgICAgICANCj4+ICAgICAgICByZXR1cm4gTlVMTDsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICANCj4+ICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4+IA0KPj4gICAgbGlzdF9mb3JfZWFjaF9l
bnRyeSAoIHBkZXYsICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFsbGRldnNfbGlzdCApICAgICAgICAg
ICAgIA0KPj4gICAgICAgIGlmICggKHBkZXYtPmJ1cyA9PSBidXMgfHwgYnVzID09IC0xKSAmJiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KPj4gICAgICAgICAgICAgKHBkZXYtPmRl
dmZuID09IGRldmZuIHx8IGRldmZuID09IC0xKSApICAgICAgICAgICAgICAgICAgICAgICAgICAg
IA0KPj4gICAgICAgICAgICByZXR1cm4gcGRldjsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KPj4gDQo+PiAgICByZXR1cm4gTlVMTDsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgDQo+PiB9ICANCj4gDQo+IFRoYXQgd291bGQgYWJvdXQgZG91YmxlIHRoZSBjb2RlIGluIHRo
ZSBmdW5jdGlvbnMuIEltbyBhbGwgaXQgdGFrZXMNCj4gaXMgdG8gYWx0ZXIgdGhlIHdoaWxlKCkg
Y29uZGl0aW9ucywgcHJlZml4aW5nIHdoYXQgaXMgdGhlcmUgd2l0aA0KPiAic2VnID09IC0xICYm
Ii4NCg0KSSBhZ3JlZSB3aXRoIHlvdSB0aGlzIHdpbGwgYXZvaWQgZHVwbGljYXRpb24gb2YgdGhl
IGNvZGUuDQoNCj4gDQo+IEFjdHVhbGx5IHdoaWxlIGxvb2tpbmcgdGhlcmUgSSd2ZSBub3RpY2Vk
IHRoZSBnZXRfcHNlZygpIHVzZXMgaW4NCj4gYm90aCBmdW5jdGlvbnMgYXJlbid0IHF1aXRlIHJp
Z2h0IGZvciB0aGUgInNlZyA9PSAtMSIgY2FzZSBlaXRoZXIuDQo+IEknbGwgbWFrZSBhIHBhdGNo
IHRoZXJlLCB3aGljaCBJIHRoaW5rIHNob3VsZG4ndCBjb2xsaWRlIHdpdGggeW91cnMuDQoNCk9r
LiBJIHdpbGwgdGVzdCB0aGUgcGF0Y2ggb25jZSB5b3Ugc2VudCBpdC4uDQoNClJlZ2FyZHMsDQpS
YWh1bA0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 16:26:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 16:26:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383075.618179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLS3j-0007eu-P2; Tue, 09 Aug 2022 16:26:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383075.618179; Tue, 09 Aug 2022 16:26:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLS3j-0007en-MT; Tue, 09 Aug 2022 16:26:23 +0000
Received: by outflank-mailman (input) for mailman id 383075;
 Tue, 09 Aug 2022 16:26:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rEZx=YN=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oLS3i-0007e1-1B
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 16:26:22 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130072.outbound.protection.outlook.com [40.107.13.72])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ffb33fd8-17ff-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 18:26:19 +0200 (CEST)
Received: from AS8PR07CA0044.eurprd07.prod.outlook.com (2603:10a6:20b:459::17)
 by DB9PR08MB7051.eurprd08.prod.outlook.com (2603:10a6:10:2be::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Tue, 9 Aug
 2022 16:26:17 +0000
Received: from VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:459:cafe::4b) by AS8PR07CA0044.outlook.office365.com
 (2603:10a6:20b:459::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.9 via Frontend
 Transport; Tue, 9 Aug 2022 16:26:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT049.mail.protection.outlook.com (10.152.19.216) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Tue, 9 Aug 2022 16:26:16 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 09 Aug 2022 16:26:16 +0000
Received: from 536ec0c140d1.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3F8F375F-1C8A-40F6-AFC1-C83DF74042ED.1; 
 Tue, 09 Aug 2022 16:26:09 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 536ec0c140d1.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Aug 2022 16:26:09 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by VI1PR08MB3501.eurprd08.prod.outlook.com (2603:10a6:803:85::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Tue, 9 Aug
 2022 16:26:07 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5504.020; Tue, 9 Aug 2022
 16:26:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffb33fd8-17ff-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=RuuOASsLL07GgiIjHnF9O8BSwDKL0y+CRhVAzTy1qPhZ1KmQhDnWzNludExj4OZ1bA36aRUHb4Jfyz2WHRpvlXkoBb+U8Bu9mlmwJDwl7hz5aFoEW0a56kIW6kSDeAMyiqG0jhN19ZBlTanhBlZZ83q/sW8fILSbskRfE55PcH7LgiDiqAyiBgVajrQu2gEUCIyO9HUXNZOuMjUHZmi8wPfXpC2O7ML1e8zocazA2GTVdbEmZm1FJqhBhy+7eRY/fdbMmFoTK5rqblvEnlu1J3aDMo//dxBKqnpH1aEuKrNCA1gAM+kCi6PlEeDbSza8n9uhqf1PPg7mMVgRkeHsuw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sX80v2nt/z5wq8hiKScglfEvqL9+M79h/DzART4GQDU=;
 b=ODAT/hag/lCmFKA+zKqM2awrRT6VkHBrDqksadJYCEChmrV03lWn2Jjbi35ARePLrxmYw/R0741xUI86m2YFSj93okXTFycJgzt3bBgOXjXZnkjXjLYIAttIq53PrbbnlUEn1aDE0RmuwO/VheajnwJKNrmOl9y0ELISbWfMZO+GFbXJD+AKu6T8lpljWuGljoOoFCVde2ss9npsGORn+tTAE1pr9WscwjMx7iSDg/KfUXONbdtJu/W6yVoXg0YqCaJdf082lNz9cJeE1XlBo8JmD9+vz0U8Vqj+znaXZBWzXVrxOHvPdVNLUeEQbcP84wjzd87ZmgTJQLlj801PGg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sX80v2nt/z5wq8hiKScglfEvqL9+M79h/DzART4GQDU=;
 b=1VKMv2k7dCLl3hv+oKN9TKxr0Va+5r7amjfc7f0DN31jfGtwGbxZDRi+6mhN5P+Ej58y2gbYgVjQdCCDQNnsYIwDOApeLh1yJt3RUfH2fSdNW4tWOQBz7C99bum+M7pgEcFTivcukDFJ6ZL2rYaV0J//bYgWnBChjsi6SObzUyw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ba0b1f94a670760d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UW/TzKWIxvkyw+1s8CjVRG2zb0ha6Eq7Kj1hG+IttMCR1K9Rr1RuVkQla1A/mv0IrFIrCE2Z7saQU7tOVPXv6CDsWY1m4u7IPowRD2H8YbykM0M1qnjZlT9VQ7cZfYiC+0hBMs29Kxxby/VoL8Wd2PTyTeSoNuhpENvEj987DkA0KSUGukHrw+4vbzCad8R8qoi9ycdspgS3limpACps5SQjEUBRZunGvKJ2LFnk2bLtGE7caeQWSF4+CiD9u+q50Qfw/moZguF7ycTds96VMvLppT5jrW461TQ08JVcnGV2cUuQ4cgnQiaeDv/X5uxkaFiHK/d/qRjlCln3Vcignw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sX80v2nt/z5wq8hiKScglfEvqL9+M79h/DzART4GQDU=;
 b=CA6DTWK+wIMxaOphSq44YVecxTRxJcYkLbG0NcZ6DTL5niAo2B4aLMDccHzvKf1ajHOcbMCDQvSKJvgZ40poDRuIyteL/biDXpF6HZvZqEYghqaagLJk1Ck0MZEiv2BbTHGzW0S18Q0MdlBC1QrRUw4kYizh09W9mT3+CAr5wjWV0/Q9sLahvYXQGfvdOMgBuvP0Nc9ac25eZOisdlPnnKoitZLTMb1KOTGvyrnwTBVwT8wu+9DtOUv6v5Eu56RUhlgnlUPyEm2A1kesrZbsTgxYVpS7Vifl+o2EU+JalhRAOKMDC3vAWyge143ikcWeUzAGeycRATgec6+vfgKilg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sX80v2nt/z5wq8hiKScglfEvqL9+M79h/DzART4GQDU=;
 b=1VKMv2k7dCLl3hv+oKN9TKxr0Va+5r7amjfc7f0DN31jfGtwGbxZDRi+6mhN5P+Ej58y2gbYgVjQdCCDQNnsYIwDOApeLh1yJt3RUfH2fSdNW4tWOQBz7C99bum+M7pgEcFTivcukDFJ6ZL2rYaV0J//bYgWnBChjsi6SObzUyw=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: Oleksandr <olekstysh@gmail.com>, xen-devel
	<xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
Thread-Topic: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
Thread-Index: AQHYqOJykksEC+xLCUihSPiXurK3kK2lJb0AgAGQGQCAAAa6gIAACx4A
Date: Tue, 9 Aug 2022 16:26:07 +0000
Message-ID: <AADD096D-DA41-4B11-A869-85FC86BAA1A3@arm.com>
References:
 <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <d5590d91683f2dddb3836b1afb444f30c2f5a7fb.1659713855.git.rahul.singh@arm.com>
 <5e762a42-d0d5-86be-e3cd-64bde82c8b47@gmail.com>
 <43039C71-D661-4C8D-A132-9E020D0D1013@arm.com>
 <ebed1aff-c758-f3ee-7483-fadd28a6cb6b@xen.org>
In-Reply-To: <ebed1aff-c758-f3ee-7483-fadd28a6cb6b@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 055218be-afba-435b-ea44-08da7a23e25c
x-ms-traffictypediagnostic:
	VI1PR08MB3501:EE_|VE1EUR03FT049:EE_|DB9PR08MB7051:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 FjG02QS9w114my9L/BiQuAj1ZphDoZ8OLv1AmPYBSJ068QuX9Cv5sMOWME3MWJDZl2cCITKDIcBJdTzp+iKEzXf05jpweYRGOicVC8w7SqgA0j/X8j6b+cVePGVi5TNfdJrLwHer2wbMD9TL19NszngBIrgODUTbRWFUCcXlreQoAtxM9UXB3mwP/0CSoCchq9fZQZAWQNjGPOG9pzggZProp1cIyPLzNdqnt7bE92PIxB98TtRtVQvjUOKk7Zpa90oaU09iC7PD0sA6VrHW3dmsfHsnWHg+6db8WVeRUZIdHNfN8LIDdieGguHxdP/dX8yhAqmvNsnssd61sfGD/02s2gJcAtlKdgvIeOD7AzPBan6fXVrpz+tO5HE38G9MCbYNv/ZbIhlTwZs5fbY+cwcqJ3LmI4Wd9pkVOrMTZ/RzSzcwW4lpIOxowP0saZDd7tcK+413szvvLeF6nb4mgpGaHCou0oPTLnVGtQvBB88gz8H63WXLe/9d33CCvRUnARUJpaopQi5MjA8qQ0Q4V2FfiItbJbOS6zIBTRyZeWuIl02FJChkRcQzhXuLWgfHTa/AT+TVXPdVRTNEtmj3g8NjiLTEbBbp/VpCd1SScX5ZJDyomNyINChbpH9n4s5NSUz5fSP2IXg8aoQW8akXZiBC9C3B1/TZbRnM1gQkeW+w6Ok4yvsk+nre0GOzgQaIKpUt5KmON/aDjlOh+e/9f/aStHKb/0DNilJMW+NhTFa6F1fGl1G1Ufp/73w1vTNGaSoVNa/DCmZF5ipXZc6O7LYkVdxajcoR56RiC9mycxMRUSa5NqxA3XjrWqLZiaGNqqG3URIhaoVY/XBb1zEcPw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(376002)(396003)(39860400002)(366004)(38100700002)(38070700005)(186003)(2616005)(6486002)(26005)(6506007)(71200400001)(53546011)(41300700001)(478600001)(6512007)(36756003)(86362001)(91956017)(5660300002)(66446008)(4326008)(66946007)(6916009)(8676002)(66556008)(316002)(64756008)(66476007)(76116006)(122000001)(2906002)(83380400001)(33656002)(54906003)(8936002)(7416002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5DF07042423CED4D807BEE3BA831C1D6@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3501
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	14c7a427-900e-4a92-89a4-08da7a23dcca
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xINhtDtk6F9Z6aIRNieGGA/67pEYjg4KRXQICdzv4obdwDplNpGt5Hbv58UPNPHC3raUxakLWQTouNkVdQWXOCR8awdZK0/Zj6H6zQbPwNZnIYmXxcOmzOQMBhxny5WrxAAMqdWWsSpdyL1HUdzCf9xZ2H+5+ziQ8UKdUUHl8UXRxf5pFuxmfVq/bAcFIfxMHKfRJ2C9jvYcDXKJbFsfO3DkBonCCodO+x18hNsrYWg7fmSRt8LfAB9eEkH1DuBhFSklbYJSdLGNo3LhkNYEw5SMD96QzV7dANd32QDXlIqxqFR09cntq+W+Vmt3QnxnMRaOwGaKu6J1/HY86Dx7Tsm20TyJQ+yH4iGg9MBlNEia5x6TpTC6GinoS8tKWDz9ti8gGXC1yx2St3DSAaiTh3AwciheGpbjmxB9du1rtMHHaxuuRji37aS3vIyD872l6kILyWIhaMf/YRRBnRSbmBLLN45VDniSzOGR5M7aO2G0owRq0656Hui8erKvnLLmuwLH2yi6E6JkPafWHBR6kgaaaLMDYbRir1QX9U9H5HHRUri1Sfg7ynf0sU53creu8inqsg5ferb3QMeNswWwasJZ3MgF4e3f5GSWkODat7RFUTNpGNG9mXtbJ7ayjbdhMywObJW1WaGP5s6XhT3K2KGsbrDI6e+3dne8mKEfSRlHNIBvZwX+NO7VAaeoTkYuorqo8v8iM7SOrD6MTmTeULcf4R3d/GkBcxs/lve060Ln9yuUG9t7ZrQGaaBaFcznUmTJ1PdxkV45J6wSUfqVD4gPCHV6H8lO4sEnlAtE9ThoOzVWBe7xkh4O+2i8S1w8
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(396003)(136003)(39860400002)(36840700001)(40470700004)(46966006)(356005)(6512007)(26005)(53546011)(82740400003)(36756003)(478600001)(5660300002)(33656002)(41300700001)(40480700001)(336012)(6506007)(2906002)(81166007)(70586007)(8936002)(82310400005)(4326008)(70206006)(8676002)(6862004)(83380400001)(2616005)(36860700001)(86362001)(54906003)(6486002)(40460700003)(316002)(186003)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 16:26:16.5436
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 055218be-afba-435b-ea44-08da7a23e25c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7051

SGkgSnVsaWVuLA0KDQo+IE9uIDkgQXVnIDIwMjIsIGF0IDQ6NDYgcG0sIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGkgUmFodWwsDQo+IA0KPiBUaGlzIHBhdGNo
IHNlZW1zIHRvIGhhdmUgYmVlbiBzZW50IGluLXJlcGx5LXRvIHRoZSBTTU1VdjEgcGF0Y2guIFdh
cyBpdCBpbnRlbmRlZD8NCg0KVGhhdCB3YXMgYnkgbWlzdGFrZSBJIHdhbnQgdG8gc2VuZCBhbGwg
dGhlIHBhdGNoZXMgaW5kZXBlbmRlbnRseSBidXQgc29tZWhvdyBJIHNlbmQgaXQgDQpmcm9tIHNp
bmdsZSBnaXQgInNlbmQtZW1haWzigJ0gY29tbWFuZCBiZWNhdXNlIG9mIHRoYXQgSSB0aGluayB0
aGlzIHBhdGNoIGNvbWVzIGluLXJlcGx5LXRvIA0KU01NVXYxIHBhdGNoLg0KDQo+IA0KPiBPbiAw
OS8wOC8yMDIyIDE2OjIyLCBSYWh1bCBTaW5naCB3cm90ZToNCj4+PiBPbiA4IEF1ZyAyMDIyLCBh
dCA0OjMwIHBtLCBPbGVrc2FuZHIgPG9sZWtzdHlzaEBnbWFpbC5jb20+IHdyb3RlOg0KPj4+PiAr
Ym9vbCBwY2lfY2hlY2tfYmFyKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBtZm5fdCBzdGFy
dCwgbWZuX3QgZW5kKQ0KPj4+PiArew0KPj4+PiArICAgIGludCByZXQ7DQo+Pj4+ICsgICAgc3Ry
dWN0IGR0X2RldmljZV9ub2RlICpkdF9ub2RlOw0KPj4+PiArICAgIHN0cnVjdCBkZXZpY2UgKmRl
diA9IChzdHJ1Y3QgZGV2aWNlICopcGNpX3RvX2RldihwZGV2KTsNCj4+PiANCj4+PiANCj4+PiBU
aGUgY2FzdCBpcyBwcmVzZW50IGhlcmUgYmVjYXVzZSBvZiB0aGUgY29uc3Q/DQo+PiBZZXMgeW91
IGFyZSByaWdodCwgY2FzdCBpcyBiZWNhdXNlIG9mIHRoZSBjb25zdC4NCj4+PiANCj4+PiBJIHdv
dWxkIGNvbnNpZGVyIHBhc3NpbmcgImNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2IiBpbnN0ZWFk
IG9mICJzdHJ1Y3QgZGV2aWNlICpkZXYiIHRvIHBjaV9maW5kX2hvc3RfYnJpZGdlX25vZGUoKSBh
bmQgZHJvcHBpbmcgY29udmVyc2lvbiAocGNpPC0+ZGV2KSBpbiBib3RoIGZ1bmN0aW9ucy4NCj4g
DQo+IEl0IGxvb2tzIGxpa2UgdGhpcyBmdW5jdGlvbiB3YXMgYWRkZWQgd2l0aG91dCBhbnkgY2Fs
bGVycy4gVGhlIGNvbW1pdCBtZXNzYWdlIGNsYWltIHRoZXJlIHdpbGwgYmUgc29tZS4gQ2FuIHlv
dSAob3IgT2xla3NhbmRyKSBjb25maXJtIHRoaXMgaXMgbm90IGdvaW5nIHRvIGJlIHByb2JsZW0g
Zm9yIGZ1dHVyZSBwYXRjaGVzPw0KDQpJIGNoZWNrZWQgdGhlIHdob2xlIFBDSSBwYXNzdGhyb3Vn
aCBmZWF0dXJlIGJyYW5jaCB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCB3aGVuDQp3ZSBhZGQg
aW9tbXUgc3VwcG9ydCBmb3IgUENJIGRldmljZS4gIA0KDQo+IA0KPiBUaGF0IHNhaWQsIEkgYWdy
ZWUgdGhhdCB0aGUgY29udmVyc2lvbiBwY2kgLT4gZGV2IC0+IHBjaSBpcyBwb2ludGxlc3MuIFNv
IEkgd291bGQgc2F5IGlmIHRoZXJlIGFyZSB1c2UgY2FzZSB3aGVyZSB3ZSBvbmx5IGhhdmUgYSAn
ZGV2JyBpbiBoYW5kLCB0aGVuIHdlIGNvdWxkIGFzayB0aGUgY2FsbGVyIHRvIGRvIHRoZSBjb252
ZXJzYXRpb24gb3Igd2UgcHJvdmlkZSBhbiBoZWxwZXIgaWYgdGhlcmUgYXJlIHRvbyBtYW55IGNh
c2VzLg0KPiANCj4+IFllcyBtYWtlIHNlbnNlLiBJIHdpbGwgZG8gdGhhdCBpbiBuZXh0IHZlcnNp
b24uDQo+IA0KPiBXaGlsZSB5b3UgYXJlIG1vZGlmeWluZyB0aGUgcHJvdG90eXBlIGZvciBwY2lf
ZmluZF9ob3N0X2JyaWRnZV9ub2RlKCkgY2FuIHlvdSBjb25zaWRlciB0byBhbHNvIGNvbnN0aWZ5
IHRoZSByZXR1cm4gKGl0IHNob3VsZCBub3QgYmUgbW9kaWZpZWQpPw0KDQpBZ3JlZSwgSSB3aWxs
IGNvbnN0aWZ5IHRoZSByZXRydW4gYWxzby4gDQoNCj4gDQo+IEluIGFueSBjYXNlLCB0aGUgY2hh
bmdlIHN1Z2dlc3RlZCBieSBPbGVrc2FuZHIgc2hvdWxkIHByZWZlcmFibHkgYmUgc2VwYXJhdGUg
dG8gdGhpcyBwYXRjaCBhbmQgYWRkZWQgYmVmb3JlLg0KDQpBY2suIA0KDQpSZWdhcmRzLA0KUmFo
dWwNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 16:48:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 16:48:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383084.618193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLSPC-0001eA-K2; Tue, 09 Aug 2022 16:48:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383084.618193; Tue, 09 Aug 2022 16:48:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLSPC-0001e3-Fv; Tue, 09 Aug 2022 16:48:34 +0000
Received: by outflank-mailman (input) for mailman id 383084;
 Tue, 09 Aug 2022 16:48:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JuEu=YN=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oLSPB-0001dx-6b
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 16:48:33 +0000
Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com
 [2607:f8b0:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19887942-1803-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 18:48:32 +0200 (CEST)
Received: by mail-pg1-x52c.google.com with SMTP id 202so5087655pgc.8
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 09:48:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19887942-1803-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=poq7pbglN+mJqgr0ClUF6h7XMhrhqkEu8oEOldXvWo8=;
        b=Md+PlacZn+egXpKISpGLIIVVki3K0xVyszcIXnb/hWeW4WoCyr1eW+M2/ZTIf65yYr
         S5sDLmyGL0V4MIWpqPbPX8kIL0lhMXFKRkhUETgtacioY0/9VgS5CKCtRFJQHn2JOAur
         Xs0aaBQVkQ3TjaH6aPGaV5QFxs1e7aYBwy/uyEle6ANb/Ab0ByWnfe2j1nq2rQlzO/ah
         RLxvzoWK9QDrcgYvpv0sSARLz1HT9Ku7cSyy/mCY+DAJhAeZZU+urBdSFq++vAV7BHem
         qigzaPXWeLimGqykaVTCsh6EwULmq5TOcPwfzcmQJRHhtBrolXzxevHd8lWktSn79lNS
         vyIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=poq7pbglN+mJqgr0ClUF6h7XMhrhqkEu8oEOldXvWo8=;
        b=pzN30JkpFuM+yb+eKTb2etiJm8Oksh06cMjjud9aQMUrXBqPOAyFlR6glmhRT0Mh51
         Bpf/aEmFH+Y8iDxy/wMmGMawTbhDczp4bmPsUkuTQLUUBnQG+PHkqErWvNfqev3KUYT4
         FIrWbNixCummrMJfTJbYZfiRyiq2uhDhroULQPHmiAI9ZL3Yg6iW2MBwXmNze40S/zJX
         /0h7xWthA9X6IiSzOnnYdq8uq2PqV0+BTOR737LH35DkP7Tbus7GNs/cLGxlk9/8Q2Cz
         oFbFNBnPW9m+DiXbstIHiq/GWG8kJYnZ2I7lFdjrQT8tsQKHO136j5wIBHKA1NMIQA0n
         nwBw==
X-Gm-Message-State: ACgBeo0N5wGRYUNJKL8OgNQLPYr2d/kCH+dyY2Mq6+iRP2IMQq/DvF2d
	YBHtA7fS22EkQx4skU+A1NC/vVkijI2E3GWJLbE=
X-Google-Smtp-Source: AA6agR44MkgJ7E0biX8u36Kn42JaxYDGL0xuxqg+RvTyS7XjNAp3WY1kdiB+vQv3GhlOvJYbPlqnnW/N5b2yFWpfiVY=
X-Received: by 2002:a63:5f86:0:b0:41c:f1:f494 with SMTP id t128-20020a635f86000000b0041c00f1f494mr20568738pgb.51.1660063710361;
 Tue, 09 Aug 2022 09:48:30 -0700 (PDT)
MIME-Version: 1.0
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <d5590d91683f2dddb3836b1afb444f30c2f5a7fb.1659713855.git.rahul.singh@arm.com>
 <5e762a42-d0d5-86be-e3cd-64bde82c8b47@gmail.com> <43039C71-D661-4C8D-A132-9E020D0D1013@arm.com>
 <ebed1aff-c758-f3ee-7483-fadd28a6cb6b@xen.org> <AADD096D-DA41-4B11-A869-85FC86BAA1A3@arm.com>
In-Reply-To: <AADD096D-DA41-4B11-A869-85FC86BAA1A3@arm.com>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
Date: Tue, 9 Aug 2022 19:48:19 +0300
Message-ID: <CAPD2p-nw9-=FmTd=z=2tjcn6970Fs-Fj+yj0Cark1ukakNP9SQ@mail.gmail.com>
Subject: Re: [PATCH] xen/pci: replace call to is_memory_hole to pci_check_bar
To: Rahul Singh <Rahul.Singh@arm.com>, Julien Grall <julien@xen.org>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, 
	Paul Durrant <paul@xen.org>
Content-Type: multipart/alternative; boundary="000000000000c2bd9c05e5d1b342"

--000000000000c2bd9c05e5d1b342
Content-Type: text/plain; charset="UTF-8"

On Tue, Aug 9, 2022 at 7:26 PM Rahul Singh <Rahul.Singh@arm.com> wrote:

> Hi Julien,
>

Hello Julien, Rahul

[sorry for possible format issues]


[snip]


>
>
> >
> > On 09/08/2022 16:22, Rahul Singh wrote:
> >>> On 8 Aug 2022, at 4:30 pm, Oleksandr <olekstysh@gmail.com> wrote:
> >>>> +bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t
> end)
> >>>> +{
> >>>> +    int ret;
> >>>> +    struct dt_device_node *dt_node;
> >>>> +    struct device *dev = (struct device *)pci_to_dev(pdev);
> >>>
> >>>
> >>> The cast is present here because of the const?
> >> Yes you are right, cast is because of the const.
> >>>
> >>> I would consider passing "const struct pci_dev *pdev" instead of
> "struct device *dev" to pci_find_host_bridge_node() and dropping conversion
> (pci<->dev) in both functions.
> >
> > It looks like this function was added without any callers. The commit
> message claim there will be some. Can you (or Oleksandr) confirm this is
> not going to be problem for future patches?
>
> I checked the whole PCI passthrough feature branch this function will be
> used when
> we add iommu support for PCI device.



Can confirm that, it will be called by the iommu code, as I understand
there won't be an issue, the more, the exact place where the
pci_find_host_bridge_node() will be called will have "pdev" in hand.


>
>
> >
> > That said, I agree that the conversion pci -> dev -> pci is pointless.
> So I would say if there are use case where we only have a 'dev' in hand,
> then we could ask the caller to do the conversation or we provide an helper
> if there are too many cases.
> >
> >> Yes make sense. I will do that in next version.
> >
> > While you are modifying the prototype for pci_find_host_bridge_node()
> can you consider to also constify the return (it should not be modified)?
>
> Agree, I will constify the retrun also.
>
> >
> > In any case, the change suggested by Oleksandr should preferably be
> separate to this patch and added before.
>
> Ack.
>
> Regards,
> Rahul
>
>

-- 
Regards,

Oleksandr Tyshchenko

--000000000000c2bd9c05e5d1b342
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Tue, Aug 9, 2022 at 7:26 PM Rahul =
Singh &lt;<a href=3D"mailto:Rahul.Singh@arm.com">Rahul.Singh@arm.com</a>&gt=
; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px=
 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Juli=
en,<br></blockquote><div><br></div><div>Hello Julien, Rahul=C2=A0</div><div=
><br></div><div>[sorry for possible format issues]</div><div><br></div><div=
><br></div><div>[snip]</div><div>=C2=A0</div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex"><br>
<br>
&gt; <br>
&gt; On 09/08/2022 16:22, Rahul Singh wrote:<br>
&gt;&gt;&gt; On 8 Aug 2022, at 4:30 pm, Oleksandr &lt;<a href=3D"mailto:ole=
kstysh@gmail.com" target=3D"_blank">olekstysh@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; +bool pci_check_bar(const struct pci_dev *pdev, mfn_t star=
t, mfn_t end)<br>
&gt;&gt;&gt;&gt; +{<br>
&gt;&gt;&gt;&gt; +=C2=A0 =C2=A0 int ret;<br>
&gt;&gt;&gt;&gt; +=C2=A0 =C2=A0 struct dt_device_node *dt_node;<br>
&gt;&gt;&gt;&gt; +=C2=A0 =C2=A0 struct device *dev =3D (struct device *)pci=
_to_dev(pdev);<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; The cast is present here because of the const?<br>
&gt;&gt; Yes you are right, cast is because of the const.<br>
&gt;&gt;&gt; <br>
&gt;&gt;&gt; I would consider passing &quot;const struct pci_dev *pdev&quot=
; instead of &quot;struct device *dev&quot; to pci_find_host_bridge_node() =
and dropping conversion (pci&lt;-&gt;dev) in both functions.<br>
&gt; <br>
&gt; It looks like this function was added without any callers. The commit =
message claim there will be some. Can you (or Oleksandr) confirm this is no=
t going to be problem for future patches?<br>
<br>
I checked the whole PCI passthrough feature branch this function will be us=
ed when<br>
we add iommu support for PCI device.=C2=A0</blockquote><div>=C2=A0</div><di=
v><br></div><div>Can confirm=C2=A0that, it will be called by the iommu code=
, as I understand there won&#39;t be an issue, the more, the exact place wh=
ere the pci_find_host_bridge_node() will be called will have &quot;pdev&quo=
t; in hand.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"> <br>
<br>
&gt; <br>
&gt; That said, I agree that the conversion pci -&gt; dev -&gt; pci is poin=
tless. So I would say if there are use case where we only have a &#39;dev&#=
39; in hand, then we could ask the caller to do the conversation or we prov=
ide an helper if there are too many cases.<br>
&gt; <br>
&gt;&gt; Yes make sense. I will do that in next version.<br>
&gt; <br>
&gt; While you are modifying the prototype for pci_find_host_bridge_node() =
can you consider to also constify the return (it should not be modified)?<b=
r>
<br>
Agree, I will constify the retrun also. <br>
<br>
&gt; <br>
&gt; In any case, the change suggested by Oleksandr should preferably be se=
parate to this patch and added before.<br>
<br>
Ack. <br>
<br>
Regards,<br>
Rahul<br>
<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div=
 dir=3D"ltr"><span style=3D"background-color:rgb(255,255,255)"><font size=
=3D"2"><span style=3D"color:rgb(51,51,51);font-family:Arial,sans-serif">Reg=
ards,</span></font></span></div><div dir=3D"ltr"><br></div><div dir=3D"ltr"=
><div><span style=3D"background-color:rgb(255,255,255)"><font size=3D"2">Ol=
eksandr Tyshchenko</font></span></div></div></div></div></div></div></div><=
/div>

--000000000000c2bd9c05e5d1b342--


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 17:00:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 17:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383095.618210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLSb9-00044J-4p; Tue, 09 Aug 2022 17:00:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383095.618210; Tue, 09 Aug 2022 17:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLSb9-00042Y-0q; Tue, 09 Aug 2022 17:00:55 +0000
Received: by outflank-mailman (input) for mailman id 383095;
 Tue, 09 Aug 2022 17:00:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=flEI=YN=citrix.com=prvs=213c446d4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLSb8-0003x4-1d
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 17:00:54 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2b37ace-1804-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 19:00:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2b37ace-1804-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660064452;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=2bdCLaN+uBCS21iweS7oRTWqNsYNq+ooB0klsI5LdSI=;
  b=aL9qBU/xHNlhaNhM7MgKmfFIlijAxBvIxlq37BGpsyoaFbEo6RpW9KOu
   /GRbGKJhYAFtMAH2qJlgqKQOcJuemVKEZdeWcbDY+qldWQ+NAItAUnF/7
   vTvYGquSl6IlbJjevndanzUvQR6w2UCcCC0ITG+lmkTU0kztlBgObOcvj
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77711806
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:N8t+T61N0zwxsInjcPbD5Z1xkn2cJEfYwER7XKvMYLTBsI5bpz0Fn
 GVJWT3TO/uPMGDyfd90YIXkpB5XscLRnN5iSgs4pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8EI35pwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj6+gwA1MfFq8dwd0tXEJXx
 aUyLxYvKTnW0opawJrjIgVtrsEqLc2tN4IDoHBwizreCJ7KQ7iaHf+Mv4UBmm5t2IYeRp4yZ
 OJAAdZrRD3GbwdCJRE8D5Umkf3zrnL+bydZuBSeoq9fD237k1MuieG9aIS9ltqiSp4PnWTCh
 ED/oUfLITg2HY2mxhi+yyf57gPItXyiA99DfFGizdZ6jVvWymENBRk+UVqgveL/mkO4Q8hYK
 UEf5mwpt6dayaCwZoCjBVvi+ifC50NCHYoLewEn1O2T4reK7BSwLUoBdQUbNf8/hJYcQhoIk
 XbcyrsFGgdTXK2ppWO1r+nK9WvrYXVLdAfudgdfE1JbvoCLTJUby0uWE409SPPdYsjdQ2mY/
 tyckMQpa1z/Z+Yv3r7zw13IiinESnPhHl9svVW/so5IA2pEiG+Zi2+AswGzAQ5odtrxc7V4l
 CFsdzKixO4PF4qRsyeGXf8AGrqkj97cbmCN0A40T8B+pmr1k5JGQWy3yGAWGauUGpxcJW+Bj
 LH74Gu9G6O/zFP1NPQqMupd+uwhzLT6FMSNa804muFmO8EpHCfarX4GWKJl9zqy+KTauf1gZ
 MzznAfFJSpyNJmLOxLvHLhDjOF3nn1WKKG6bcmT8ilLGIG2PBa9IYrp+nPXBgzlxMtoeDnoz
 us=
IronPort-HdrOrdr: A9a23:22BZ9a7jjKNZbMoEmwPXwMTXdLJyesId70hD6qhwISY6TiX+rb
 HIoB17726RtN9/YhEdcLy7VJVoIkmskKKdg7NhXotKNTOO0ADDQb2KhbGSpQEIcBeeygcy78
 hdmtBFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.93,225,1654574400"; 
   d="scan'208";a="77711806"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH 0/2] x86/spec-ctrl: Reduce HVM RSB overhead
Date: Tue, 9 Aug 2022 18:00:14 +0100
Message-ID: <20220809170016.25148-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Xen happens to be not vulnerable to PBRSB, but it turns out we can improve the
performance on all eIBRS systems.

Andrew Cooper (2):
  x86/spec-ctrl: Enumeration for PBRSB_NO
  x86/spec-ctrl: Reduce HVM RSB overhead where possible

 xen/arch/x86/hvm/vmx/entry.S           |   1 +
 xen/arch/x86/hvm/vmx/vmx.c             |  20 ++++++-
 xen/arch/x86/include/asm/cpufeatures.h |   1 +
 xen/arch/x86/include/asm/msr-index.h   |   1 +
 xen/arch/x86/msr.c                     |   5 +-
 xen/arch/x86/spec_ctrl.c               | 106 +++++++++++++++++++++++++++++++--
 6 files changed, 126 insertions(+), 8 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 17:00:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 17:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383094.618204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLSb8-0003xM-OY; Tue, 09 Aug 2022 17:00:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383094.618204; Tue, 09 Aug 2022 17:00:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLSb8-0003xF-L3; Tue, 09 Aug 2022 17:00:54 +0000
Received: by outflank-mailman (input) for mailman id 383094;
 Tue, 09 Aug 2022 17:00:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=flEI=YN=citrix.com=prvs=213c446d4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLSb7-0003x4-3n
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 17:00:53 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d14c2803-1804-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 19:00:51 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d14c2803-1804-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660064450;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=kzV1NdfmDwjrGppyGg4tphySuRUYrZFiMHQBlfQ9nGk=;
  b=Biu9oyHUUShEUY33R3GAo2yfZIRqpF6PHXGeFPjw591N/tUfrKR2a7Oq
   9xtqmnCvZCWwzKhcNo+hcfITAb4+iyS1yNprs2aQX3L2pQxmTMdHcyC58
   XZVT+FqoKplg9dtCVYNNq565f1qQexnrQYM4FCOo1MylJ0q3YYkcan+wA
   g=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77711799
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:mu+MU6+20BbYGm+Ix/acDrUD736TJUtcMsCJ2f8bNWPcYEJGY0x3m
 DAcWWuCOv6PZmH3edh3O4y19RwC6pbWmt43SQRl/Hs8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM37ayo0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGB0I3PqIX4vdMAkYf1
 +48GW0tbU2ZrrfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoShtDIFoITrk5m/+lnCLXeDxEslOF46Ew5gA/ySQuj+e0aYWEK7RmQ+1UnEmFh
 UHDw13SGy0DM+6wxyqkolej07qncSTTB9tJSezQGuRRqEKX7nweDlsRT1TTiduTh1O6WtlfA
 1cJ4Sdopq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYXme97S7oiujAisyfE0QQR5ZbQhY+fC29enfkSnzosZf/L+d14OrQWmpm
 23U9UDSlJ1I05dVivzTEUTvxmv1+8OXFlNdChD/BDrN0+9vWGKyi2VEA3D/5O0IEouWR0LpU
 JMsy5nHt7Bm4X1geUWwrAQx8FKBva/t3MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK514Atc8IbCL1PPEvC25UNyjN5fmIKDgYfqqMMoomjmZZLWdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMEv2/Z9PlWPuL89AgOBD+8zL7TmMLXwN50j4jOH2ib/8YettDWZimchgt/za/VuJq
 4s32gnj40w3bdASqxL/qeY7RW3m51BibXwqg6S7rtK+Hzc=
IronPort-HdrOrdr: A9a23:ZY4hCKO1xvLVLcBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3gqy
 nOpoV86faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrZ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.93,225,1654574400"; 
   d="scan'208";a="77711799"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 2/2] x86/spec-ctrl: Reduce HVM RSB overhead where possible
Date: Tue, 9 Aug 2022 18:00:16 +0100
Message-ID: <20220809170016.25148-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220809170016.25148-1-andrew.cooper3@citrix.com>
References: <20220809170016.25148-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The documentation for eIBRS has finally been clarified to state that it is
intended to flush the RSB on VMExit.  So in principle, we shouldn't have been
using opt_rsb_hvm on eIBRS hardware.

However, dropping the 32 entry RSB stuff makes us vulnerable to Post-Barrier
RSB speculation on affected Intel CPUs.

Introduce hvm_rsb_calculations() which selects between a 32-entry stuff, a
PBRSB specific workaround, or nothing, based on hardware details.

To mitigate PBRSB, put an LFENCE at the top of vmx_vmexit_handler().  This
forces the necessary safety property, without having to do a 1-entry RSB stuff
and fix up the stack(s) afterwards.

Update opt_rsb_hvm to be tristate.  On eIBRS-capable CPUs not susceptible to
PBRSB, this disables HVM RSB software protections entirely.  On eIBRS-capable
CPUs suceptible to to PBRSB, this reduces a 32-entry RSB stuff down to just
one LFENCE.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/vmx/entry.S           |   1 +
 xen/arch/x86/hvm/vmx/vmx.c             |  20 ++++++-
 xen/arch/x86/include/asm/cpufeatures.h |   1 +
 xen/arch/x86/spec_ctrl.c               | 103 ++++++++++++++++++++++++++++++++-
 4 files changed, 120 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 5f5de45a1309..222495aed19f 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -44,6 +44,7 @@ ENTRY(vmx_asm_vmexit_handler)
         .endm
         ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
+        /* On PBRSB-vulenrable hardware, `ret` not safe before the start of vmx_vmexit_handler() */
 
         /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
         .macro restore_lbr
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 17e103188a53..8a6a5cf20525 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3934,8 +3934,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info = 0;
     unsigned int vector = 0, mode;
-    struct vcpu *v = current;
-    struct domain *currd = v->domain;
+    struct vcpu *v;
+    struct domain *currd;
+
+    /*
+     * To mitigate Post-Barrier RSB speculation, we must force one CALL
+     * instruction to retire before letting a RET instruction execute.
+     *
+     * On PBRSB-vulnerable CPUs, it is not safe for a RET to be executed
+     * before this point.
+     *
+     * Defer any non-trivial variable initialisation to avoid problems if the
+     * compiler decides to out-of-line any helpers.  This depends on
+     * alternative() being a full compiler barrier too.
+     */
+    alternative("", "lfence", X86_BUG_PBRSB);
+
+    v = current;
+    currd = v->domain;
 
     __vmread(GUEST_RIP,    &regs->rip);
     __vmread(GUEST_RSP,    &regs->rsp);
diff --git a/xen/arch/x86/include/asm/cpufeatures.h b/xen/arch/x86/include/asm/cpufeatures.h
index 672c9ee22ba2..fdb9bff833c1 100644
--- a/xen/arch/x86/include/asm/cpufeatures.h
+++ b/xen/arch/x86/include/asm/cpufeatures.h
@@ -49,6 +49,7 @@ XEN_CPUFEATURE(IBPB_ENTRY_HVM,    X86_SYNTH(29)) /* MSR_PRED_CMD used by Xen for
 #define X86_BUG_FPU_PTRS          X86_BUG( 0) /* (F)X{SAVE,RSTOR} doesn't save/restore FOP/FIP/FDP. */
 #define X86_BUG_NULL_SEG          X86_BUG( 1) /* NULL-ing a selector preserves the base and limit. */
 #define X86_BUG_CLFLUSH_MFENCE    X86_BUG( 2) /* MFENCE needed to serialise CLFLUSH */
+#define X86_BUG_PBRSB             X86_BUG( 3) /* CPU suffers from Post-Barrier RSB speculation */
 
 /* Total number of capability words, inc synth and bug words. */
 #define NCAPINTS (FSCAPINTS + X86_NR_SYNTH + X86_NR_BUG) /* N 32-bit words worth of info */
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 160cc68086c6..ffad202200ad 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -35,7 +35,7 @@
 static bool __initdata opt_msr_sc_pv = true;
 static bool __initdata opt_msr_sc_hvm = true;
 static int8_t __initdata opt_rsb_pv = -1;
-static bool __initdata opt_rsb_hvm = true;
+static int8_t __initdata opt_rsb_hvm = -1;
 static int8_t __ro_after_init opt_md_clear_pv = -1;
 static int8_t __ro_after_init opt_md_clear_hvm = -1;
 
@@ -515,7 +515,8 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM) ||
             opt_eager_fpu || opt_md_clear_hvm)       ? ""               : " None",
            boot_cpu_has(X86_FEATURE_SC_MSR_HVM)      ? " MSR_SPEC_CTRL" : "",
-           boot_cpu_has(X86_FEATURE_SC_RSB_HVM)      ? " RSB"           : "",
+           boot_cpu_has(X86_FEATURE_SC_RSB_HVM)      ? " RSB"           :
+           boot_cpu_has(X86_BUG_PBRSB)               ? " PBRSB"         : "",
            opt_eager_fpu                             ? " EAGER_FPU"     : "",
            opt_md_clear_hvm                          ? " MD_CLEAR"      : "",
            boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM)  ? " IBPB-entry"    : "");
@@ -718,6 +719,77 @@ static bool __init rsb_is_full_width(void)
     return true;
 }
 
+/*
+ * HVM guests can create arbitrary RSB entries, including ones which point at
+ * Xen supervisor mappings.
+ *
+ * Traditionally, the RSB is not isolated on vmexit, so Xen needs to take
+ * safety precautions to prevent RSB speculation from consuming guest values.
+ *
+ * Intel eIBRS specifies that the RSB is flushed:
+ *   1) on VMExit when IBRS=1, or
+ *   2) shortly thereafter when Xen restores the host IBRS=1 setting.
+ * However, a subset of eIBRS-capable parts also suffer PBRSB and need
+ * software assistance to maintain RSB safety.
+ */
+static __init enum hvm_rsb {
+    hvm_rsb_none,
+    hvm_rsb_pbrsb,
+    hvm_rsb_stuff32,
+} hvm_rsb_calculations(uint64_t caps)
+{
+    if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ||
+         boot_cpu_data.x86 != 6 )
+        return hvm_rsb_stuff32;
+
+    if ( !(caps & ARCH_CAPS_IBRS_ALL) )
+        return hvm_rsb_stuff32;
+
+    if ( caps & ARCH_CAPS_PBRSB_NO )
+        return hvm_rsb_none;
+
+    /*
+     * We're choosing between the eIBRS-capable models which don't enumerate
+     * PBRSB_NO.  Earlier steppings of some models don't enumerate eIBRS and
+     * are excluded above.
+     */
+    switch ( boot_cpu_data.x86_model )
+    {
+        /*
+         * Core (inc Hybrid) CPUs to date (August 2022) are vulenrable.
+         */
+    case 0x55: /* Skylake X */
+    case 0x6a: /* Ice Lake SP */
+    case 0x6c: /* Ice Lake D */
+    case 0x7e: /* Ice Lake client */
+    case 0x8a: /* Lakefield (SNC/TMT) */
+    case 0x8c: /* Tiger Lake U */
+    case 0x8d: /* Tiger Lake H */
+    case 0x8e: /* Skylake-L */
+    case 0x97: /* Alder Lake S */
+    case 0x9a: /* Alder Lake H/P/U */
+    case 0x9e: /* Skylake */
+    case 0xa5: /* Comet Lake */
+    case 0xa6: /* Comet Lake U62 */
+    case 0xa7: /* Rocket Lake */
+        return hvm_rsb_pbrsb;
+
+        /*
+         * Atom CPUs are not vulnerable.
+         */
+    case 0x7a: /* Gemini Lake */
+    case 0x86: /* Snow Ridge (Tremont) */
+    case 0x96: /* Elkhart Lake (Tremont) */
+    case 0x9c: /* Jasper Lake (Tremont) */
+        return hvm_rsb_none;
+
+    default:
+        printk("Unrecognised CPU model %#x - using software HVM RSB mitigations\n",
+               boot_cpu_data.x86_model);
+        return hvm_rsb_stuff32;
+    }
+}
+
 /* Calculate whether this CPU speculates past #NM */
 static bool __init should_use_eager_fpu(void)
 {
@@ -1110,6 +1182,7 @@ void spec_ctrl_init_domain(struct domain *d)
 void __init init_speculation_mitigations(void)
 {
     enum ind_thunk thunk = THUNK_DEFAULT;
+    enum hvm_rsb hvm_rsb;
     bool has_spec_ctrl, ibrs = false, hw_smt_enabled;
     bool cpu_has_bug_taa;
     uint64_t caps = 0;
@@ -1327,9 +1400,33 @@ void __init init_speculation_mitigations(void)
      * HVM guests can always poison the RSB to point at Xen supervisor
      * mappings.
      */
+    hvm_rsb = hvm_rsb_calculations(caps);
+    if ( opt_rsb_hvm == -1 )
+        opt_rsb_hvm = hvm_rsb != hvm_rsb_none;
+
     if ( opt_rsb_hvm )
     {
-        setup_force_cpu_cap(X86_FEATURE_SC_RSB_HVM);
+        switch ( hvm_rsb )
+        {
+        case hvm_rsb_pbrsb:
+            setup_force_cpu_cap(X86_BUG_PBRSB);
+            break;
+
+        case hvm_rsb_none:
+            /*
+             * Somewhat arbitrary.  If something is wrong and the user has
+             * forced HVM RSB protections on a system where we think nothing
+             * is necessary, they they possibly know something we dont.
+             *
+             * Use stuff32 in this case, which is the most protection we can
+             * muster.
+             */
+            fallthrough;
+
+        case hvm_rsb_stuff32:
+            setup_force_cpu_cap(X86_FEATURE_SC_RSB_HVM);
+            break;
+        }
 
         /*
          * For SVM, Xen's RSB safety actions are performed before STGI, so
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 17:01:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 17:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383101.618225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLSbc-0004rV-BC; Tue, 09 Aug 2022 17:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383101.618225; Tue, 09 Aug 2022 17:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLSbc-0004rO-8U; Tue, 09 Aug 2022 17:01:24 +0000
Received: by outflank-mailman (input) for mailman id 383101;
 Tue, 09 Aug 2022 17:01:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=flEI=YN=citrix.com=prvs=213c446d4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLSba-0003x4-Vy
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 17:01:23 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3606ba6-1804-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 19:01:21 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3606ba6-1804-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660064481;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=BjsbhCrYHcz6DpzW2qJjo+cMWTneVBzlQHfGChbvUbI=;
  b=ZJSdRKFWQqNPeVZq28AmH/jeXscioh1+viSI4jMyRDGWB0j1KhHrjA6t
   GmBluLzaNi3ukchJaN0dc3qFF9FwIsH7AOKweEa9FJN7dUFtaRpjxpG1z
   rnK/3hTeKmToLioEc0sv2PtJ+NiFpW37bjAE4QCQ18XpGiW5pYPS9ukZq
   c=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80265504
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:b4UPeqwKDmcCgV6YSsd6t+dYxirEfRIJ4+MujC+fZmUNrF6WrkUBm
 GcYXDiAM/jbNzbxKY0kbYTlp0JV7ZKEn4MwGQM5+CAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Es+5K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN01C0x1I484oN9aJn9A5
 dU+FHMfVB+q0rfeLLKTEoGAh+wmJcjveogepmth3XfSCvNOrZLrGvuQo4UChXFp254ITa22i
 8kxMFKDaDzpZRFVN0hRI5U5hOqy3VH0ciFCqULTrq0yi4TW5FwpiuawbYKJEjCMbeFOt0GIi
 HLYwyfoEg4hLP2jxQCd7X3504cjmgukAdlPRdVU7MVCn1m71mEVThoMWjOTg9O0l0q/UNJ3M
 FEP92wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9EnWQtamWjWmLFA8LI38rQxNHXzEKyoy2yG0stS4jXuqPAYbs0IOtQWion
 m7TxMQtr+5N1JBWjs1X6XiC2mvx/caRE2bZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/5nzvp5pyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN5FIAtMQDZST7M/cfj2eN5yMCnMDd+SnNDKiIPrKinLAoHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6RMJruMow+lWLeb7pMjtcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5Rrlis/3Z/lmNr
 r6y9aKikn1ibQE3WQGPmaZ7ELzABShT6UzewyCPStO+Hw==
IronPort-HdrOrdr: A9a23:Sr5hZ6myQ8GBnryv3UkCa9jHLi7pDfIW3DAbv31ZSRFFG/Fxl6
 iV/cjzsiWE8Ar5OUtQ4OxoV5PwIk80maQb3WBVB8bHYOCEghrPEGgB1/qB/9SIIUSXnYQxuZ
 uIMZIOb+EYZWIK9voSizPZLz9P+re6GdiT9ILj80s=
X-IronPort-AV: E=Sophos;i="5.93,225,1654574400"; 
   d="scan'208";a="80265504"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 1/2] x86/spec-ctrl: Enumeration for PBRSB_NO
Date: Tue, 9 Aug 2022 18:00:15 +0100
Message-ID: <20220809170016.25148-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220809170016.25148-1-andrew.cooper3@citrix.com>
References: <20220809170016.25148-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The PBRSB_NO bit indicates that the CPU is not vulnerable to the Post-Barrier
RSB speculative vulnerability.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/include/asm/msr-index.h | 1 +
 xen/arch/x86/msr.c                   | 5 +++--
 xen/arch/x86/spec_ctrl.c             | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 1a928ea6af2f..0a8852f3c246 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -84,6 +84,7 @@
 #define  ARCH_CAPS_FB_CLEAR_CTRL            (_AC(1, ULL) << 18)
 #define  ARCH_CAPS_RRSBA                    (_AC(1, ULL) << 19)
 #define  ARCH_CAPS_BHI_NO                   (_AC(1, ULL) << 20)
+#define  ARCH_CAPS_PBRSB_NO                 (_AC(1, ULL) << 24)
 
 #define MSR_FLUSH_CMD                       0x0000010b
 #define  FLUSH_CMD_L1D                      (_AC(1, ULL) <<  0)
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 170f04179347..d2e2dc2a6b91 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -74,7 +74,8 @@ static void __init calculate_host_policy(void)
          ARCH_CAPS_SKIP_L1DFL | ARCH_CAPS_SSB_NO | ARCH_CAPS_MDS_NO |
          ARCH_CAPS_IF_PSCHANGE_MC_NO | ARCH_CAPS_TSX_CTRL | ARCH_CAPS_TAA_NO |
          ARCH_CAPS_SBDR_SSDP_NO | ARCH_CAPS_FBSDP_NO | ARCH_CAPS_PSDP_NO |
-         ARCH_CAPS_FB_CLEAR | ARCH_CAPS_RRSBA | ARCH_CAPS_BHI_NO);
+         ARCH_CAPS_FB_CLEAR | ARCH_CAPS_RRSBA | ARCH_CAPS_BHI_NO |
+         ARCH_CAPS_PBRSB_NO);
 }
 
 static void __init calculate_pv_max_policy(void)
@@ -166,7 +167,7 @@ int init_domain_msr_policy(struct domain *d)
              ARCH_CAPS_SSB_NO | ARCH_CAPS_MDS_NO | ARCH_CAPS_IF_PSCHANGE_MC_NO |
              ARCH_CAPS_TAA_NO | ARCH_CAPS_SBDR_SSDP_NO | ARCH_CAPS_FBSDP_NO |
              ARCH_CAPS_PSDP_NO | ARCH_CAPS_FB_CLEAR | ARCH_CAPS_RRSBA |
-             ARCH_CAPS_BHI_NO);
+             ARCH_CAPS_BHI_NO | ARCH_CAPS_PBRSB_NO);
     }
 
     d->arch.msr = mp;
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index d2cd5459739f..160cc68086c6 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -419,7 +419,7 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
      * Hardware read-only information, stating immunity to certain issues, or
      * suggestions of which mitigation to use.
      */
-    printk("  Hardware hints:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
+    printk("  Hardware hints:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
            (caps & ARCH_CAPS_RDCL_NO)                        ? " RDCL_NO"        : "",
            (caps & ARCH_CAPS_IBRS_ALL)                       ? " IBRS_ALL"       : "",
            (caps & ARCH_CAPS_RSBA)                           ? " RSBA"           : "",
@@ -431,6 +431,7 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
            (caps & ARCH_CAPS_SBDR_SSDP_NO)                   ? " SBDR_SSDP_NO"   : "",
            (caps & ARCH_CAPS_FBSDP_NO)                       ? " FBSDP_NO"       : "",
            (caps & ARCH_CAPS_PSDP_NO)                        ? " PSDP_NO"        : "",
+           (caps & ARCH_CAPS_PBRSB_NO)                       ? " PBRSB_NO"       : "",
            (e8b  & cpufeat_mask(X86_FEATURE_IBRS_ALWAYS))    ? " IBRS_ALWAYS"    : "",
            (e8b  & cpufeat_mask(X86_FEATURE_STIBP_ALWAYS))   ? " STIBP_ALWAYS"   : "",
            (e8b  & cpufeat_mask(X86_FEATURE_IBRS_FAST))      ? " IBRS_FAST"      : "",
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 09 18:19:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 18:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383123.618237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLTpK-0003qE-0D; Tue, 09 Aug 2022 18:19:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383123.618237; Tue, 09 Aug 2022 18:19:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLTpJ-0003q7-Tf; Tue, 09 Aug 2022 18:19:37 +0000
Received: by outflank-mailman (input) for mailman id 383123;
 Tue, 09 Aug 2022 18:19:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oLTpI-0003q1-G0
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 18:19:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLTpI-00056o-5b; Tue, 09 Aug 2022 18:19:36 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.14.84]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLTpH-0005jz-WA; Tue, 09 Aug 2022 18:19:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=50cTcQN9kQWrwNQ7hdY31jwdICssF8lJSJBZGSkq80U=; b=RwfYEAQ+OA8JHpVTKtEezs04L6
	NmU7nygMpC+Qnot/cycW6W7cCEmkBVSQQYOwvSiwWQQRfpv4yXepgPfT1OS0/9UsKmLkVS2zxqtId
	CZ3uywi9hH5NTQkrRDRF8KHriqBn7QTpLisCkWiBkRF8QhQbklnjqZpxliMAQTl7iu3w=;
Message-ID: <0f1e12d0-1c58-8457-b3ff-26048f46430a@xen.org>
Date: Tue, 9 Aug 2022 19:19:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH] xen/arm: smmuv1: Set s2cr to type fault when the devices
 are deassigned
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <e6a8807af0832db752d735e4f9ebddaa6bbd7c12.1659713886.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e6a8807af0832db752d735e4f9ebddaa6bbd7c12.1659713886.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

title: The driver is for both smmuv1 and v2. Are you suggesting the 
issue only occurs on v1?

On 05/08/2022 16:43, Rahul Singh wrote:
> When devices are deassigned/assigned, SMMU global fault is observed
> because SMEs are freed in detach function and not allocated again when
> the device is assigned back to the guest.
> 
> Don't free the SMEs when devices are deassigned, set the s2cr to type
> fault. This way the SMMU will generate a fault if a DMA access is done
> by a device not assigned to a guest
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

AFAICT, this is fixing 0435784cc75d ("xen/arm: smmuv1: Intelligent SMR 
allocation"). If I am correct, can you add a Fixes tag?

> ---
>   xen/drivers/passthrough/arm/smmu.c | 32 +++++++++++++++---------------
>   1 file changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
> index 69511683b4..141948decd 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -1598,21 +1598,6 @@ out_err:
>   	return ret;
>   }
>   
> -static void arm_smmu_master_free_smes(struct arm_smmu_master_cfg *cfg)

IIUC, the function needs to be moved because you need to use 
arm_smmu_write_s2cr(). If so, I would suggest to mention in the commit 
message because at first it seems unwarranted.

> -{
> -    struct arm_smmu_device *smmu = cfg->smmu;
> -	int i, idx;
> -	struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);
> -
> -	spin_lock(&smmu->stream_map_lock);
> -	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
> -		if (arm_smmu_free_sme(smmu, idx))
> -			arm_smmu_write_sme(smmu, idx);
> -		cfg->smendx[i] = INVALID_SMENDX;
> -	}
> -	spin_unlock(&smmu->stream_map_lock);
> -}
> -
>   static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
>   				      struct arm_smmu_master_cfg *cfg)
>   {
> @@ -1635,6 +1620,20 @@ static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
>   	return 0;
>   }
>   
> +static void arm_smmu_domain_remove_master(struct arm_smmu_domain *smmu_domain,
> +				      struct arm_smmu_master_cfg *cfg)
> +{
> +	int i, idx;

NIT: I would suggest to take the opportunity to switch to "unsigned int" 
and ...

> +	struct arm_smmu_device *smmu = smmu_domain->smmu;
> +	struct arm_smmu_s2cr *s2cr = smmu->s2crs;
> +	struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);

... use const here. "cfg" and "smmu" can't be consistent but 
"smmu_domain" technically could (thanks to how C works). That said, I 
quite dislike it as the code ends up to be confusing...

> +
> +	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
> +		s2cr[idx] = s2cr_init_val;
> +		arm_smmu_write_s2cr(smmu, idx);
> +	}
> +}
> +
>   static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
>   {
>   	int ret;
> @@ -1684,10 +1683,11 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
>   
>   static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device *dev)
>   {
> +	struct arm_smmu_domain *smmu_domain = domain->priv;
>   	struct arm_smmu_master_cfg *cfg = find_smmu_master_cfg(dev);
>   
>   	if (cfg)
> -		arm_smmu_master_free_smes(cfg);
> +		return arm_smmu_domain_remove_master(smmu_domain, cfg);

Why are you using adding a 'return' here?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 18:26:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 18:26:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383130.618248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLTwH-0005GJ-Qi; Tue, 09 Aug 2022 18:26:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383130.618248; Tue, 09 Aug 2022 18:26:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLTwH-0005GC-M6; Tue, 09 Aug 2022 18:26:49 +0000
Received: by outflank-mailman (input) for mailman id 383130;
 Tue, 09 Aug 2022 18:26:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLTwG-0005G2-1c; Tue, 09 Aug 2022 18:26:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLTwF-0005Gh-TW; Tue, 09 Aug 2022 18:26:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLTwF-0003Z7-Ha; Tue, 09 Aug 2022 18:26:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLTwF-0005hj-HC; Tue, 09 Aug 2022 18:26:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sqGsYRhAvCgoebVOmiQOkKIg1z1Xv0yoKF45oYNpQ58=; b=sdkaE/HcQXxEfl8cFAM5dsfPw1
	IWGALbBVxPbCuIgjmeOY5TO+dW9SucgI4sAeBZjNvqwOExctW/1vJNgwE405zqnpK2Y9Y3mlPjkap
	lm6exXAsTl233l3YBjpFjbgFC/IFrM99n73o8kZ3uE8kkzbOJX98as4iSSHoSVxKIWGk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172330-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172330: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 18:26:47 +0000

flight 172330 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172330/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   45 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 18:42:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 18:42:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383143.618265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLUB1-0007dJ-6H; Tue, 09 Aug 2022 18:42:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383143.618265; Tue, 09 Aug 2022 18:42:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLUB1-0007dC-35; Tue, 09 Aug 2022 18:42:03 +0000
Received: by outflank-mailman (input) for mailman id 383143;
 Tue, 09 Aug 2022 18:42:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLUAz-0007d2-95; Tue, 09 Aug 2022 18:42:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLUAz-0005ai-87; Tue, 09 Aug 2022 18:42:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLUAy-0004KK-Pr; Tue, 09 Aug 2022 18:42:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLUAy-0005gZ-PQ; Tue, 09 Aug 2022 18:42:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JCnU2EBnfQigV8AruQ3ZtaRt08SrLi02kbI2HVNaOmI=; b=sipZOUpoDo8pDfPuNivgUaZyJ7
	tJgUIcjec79BoBNcq6xPU9b8LgtHgtw0m/oPumKFZiZKj8B//Qi7kKtPAoXshpwH+8miB0F9y8cXw
	tk1AlFjU19mOXT2kuYtYJmrvYdk+CfzLArBG6qKAd5Q7viLLHzBsaSah1Wn4FwwVXxtQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172331-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172331: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e83cd54611fec5b7a539fa1281a14319143490e6
X-Osstest-Versions-That:
    xen=3caa5a3f03eef4ce7f010aea3af09bb8afde4298
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 18:42:00 +0000

flight 172331 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172331/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172324
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  e83cd54611fec5b7a539fa1281a14319143490e6
baseline version:
 xen                  3caa5a3f03eef4ce7f010aea3af09bb8afde4298

Last test of basis   172324  2022-08-09 10:00:27 Z    0 days
Testing same since   172331  2022-08-09 16:03:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jason Andryuk <jandryuk@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3caa5a3f03..e83cd54611  e83cd54611fec5b7a539fa1281a14319143490e6 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 19:52:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 19:52:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383156.618275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLVGc-00069v-8e; Tue, 09 Aug 2022 19:51:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383156.618275; Tue, 09 Aug 2022 19:51:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLVGc-00069o-54; Tue, 09 Aug 2022 19:51:54 +0000
Received: by outflank-mailman (input) for mailman id 383156;
 Tue, 09 Aug 2022 19:51:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLVGb-00069e-3U; Tue, 09 Aug 2022 19:51:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLVGb-00075l-1Q; Tue, 09 Aug 2022 19:51:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLVGa-0001DU-Gm; Tue, 09 Aug 2022 19:51:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLVGa-00007Q-GG; Tue, 09 Aug 2022 19:51:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0LYw9dKUh/8clvxZ9znnFOed5va5VY1bb5FpXzLuyYY=; b=6U2PWa4eRUGL77FcUlSA3+kAHD
	QJcqWekvmTXbuv0yZ4JXR7fTcDmznFFCZf1B9V4yP2YMOSfopZR3kWHh+2tJrNEWv/DsgXTB/YpJN
	6960nJQppvQAHyEdHzWTS9K24A/h0EwrkD3EJpE8+2iBVIY+sZW5q4iHcTUuFMjeezAA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172326-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172326: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=eb555cb5b794f4e12a9897f3d46d5a72104cd4a7
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 19:51:52 +0000

flight 172326 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172326/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                eb555cb5b794f4e12a9897f3d46d5a72104cd4a7
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    5 days
Failing since        172152  2022-08-05 04:01:26 Z    4 days   14 attempts
Testing same since   172326  2022-08-09 11:35:17 Z    0 days    1 attempts

------------------------------------------------------------
1157 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 119708 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 20:20:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 20:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383167.618287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLVi2-00018B-LP; Tue, 09 Aug 2022 20:20:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383167.618287; Tue, 09 Aug 2022 20:20:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLVi2-000184-II; Tue, 09 Aug 2022 20:20:14 +0000
Received: by outflank-mailman (input) for mailman id 383167;
 Tue, 09 Aug 2022 20:20:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tcHH=YN=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLVi1-00017y-7Y
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 20:20:13 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id abc7b238-1820-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 22:20:11 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id l10so9520021lje.7
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 13:20:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abc7b238-1820-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=MwWcOH6QFzEGzNmKF+NW5zZftPwMp71Q3OencNIuroY=;
        b=dP5Vyx/SDwI8cqpSVeyCYPTSoCiYuHHCdnJfdCJ91sHYTOO7s3AGq65o+l9VJVOAov
         PClnMZVgVwdIIKLc5IIeqe8uey3Jb9OU/+9ZS0UKws1TXCF4mVEUW4BaUsGW+kHCHcR7
         LIR8g/AlUoXURL7UlkMOCTGk1XdaBzhFt0nDyrHmnvi7x35ggMT07etZ+ua4y8pibhe8
         xLvU+QT+Yj/XhAxpJFArS/vlQMu+RzvSByNl6bnaa8KK1QRFRcx18PcJoB4ptzEg6wuv
         X4EaofNc5zNb/k4s7Y83iWsWaT2IF85Eusi859ar8Q+9CizoPHc6DCMZlVSpUe05hYeZ
         3bJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=MwWcOH6QFzEGzNmKF+NW5zZftPwMp71Q3OencNIuroY=;
        b=fHDC2xkVBXcUWVc7X2hUz2wDnK6SZV6P02K5lMxDXSd+Imenvyyq6uuN5x9oTfiAq8
         XwxGYa/v3ESyD4JVDzmQ8s6ho59Ii1TCe6PtxudbDa3WOImG3wJyVVrwgGUm1Dqk3rgk
         FIZZWOAlCEOq+pJ+2KYdU5Mx65DhQZWGdWsvluWV3MZ2bUkRw82ubj1/VagWxZKBFJOI
         63dQ6LlPAYLW94pb8fI7fU7DR5BOADuNuD9wI9w+LPpVVh4n2rhYuTRCC6n4vEZ3pjdf
         wor92ofEEI/4DF9Y7i6TSuguAbfmHbtPpY2T757fbuxwMW4hH9cpex5OiGNOaY3poELQ
         /fyg==
X-Gm-Message-State: ACgBeo25oSI6hQ5v0btswoMN+0ntX5GYntGIvrJQYQ2YV8seZVLHtGg8
	hcX1Md4dfDloniI68rd3cY7nGmFyYbqYgwi2Ckcf9Qf5zi4=
X-Google-Smtp-Source: AA6agR49b+igiqmnlBA41AksRsh5hN5Kgs4VVcA4KdzgzHjZEGhjRHmt9QjpdzHTNZiitRewrcUmTv2j08l7fcwXCzY=
X-Received: by 2002:a2e:9604:0:b0:25e:4ed7:ef45 with SMTP id
 v4-20020a2e9604000000b0025e4ed7ef45mr7474571ljh.389.1660076411518; Tue, 09
 Aug 2022 13:20:11 -0700 (PDT)
MIME-Version: 1.0
References: <20220809170016.25148-1-andrew.cooper3@citrix.com> <20220809170016.25148-3-andrew.cooper3@citrix.com>
In-Reply-To: <20220809170016.25148-3-andrew.cooper3@citrix.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 9 Aug 2022 16:20:00 -0400
Message-ID: <CAKf6xpurnYVf-xz4VcFwq3uwbqBowyWJjgP=oLVZU3kWKtEWDg@mail.gmail.com>
Subject: Re: [PATCH 2/2] x86/spec-ctrl: Reduce HVM RSB overhead where possible
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <JBeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Aug 9, 2022 at 1:01 PM Andrew Cooper <andrew.cooper3@citrix.com> wr=
ote:
>
> The documentation for eIBRS has finally been clarified to state that it i=
s
> intended to flush the RSB on VMExit.  So in principle, we shouldn't have =
been
> using opt_rsb_hvm on eIBRS hardware.
>
> However, dropping the 32 entry RSB stuff makes us vulnerable to Post-Barr=
ier
> RSB speculation on affected Intel CPUs.
>
> Introduce hvm_rsb_calculations() which selects between a 32-entry stuff, =
a
> PBRSB specific workaround, or nothing, based on hardware details.
>
> To mitigate PBRSB, put an LFENCE at the top of vmx_vmexit_handler().  Thi=
s
> forces the necessary safety property, without having to do a 1-entry RSB =
stuff
> and fix up the stack(s) afterwards.
>
> Update opt_rsb_hvm to be tristate.  On eIBRS-capable CPUs not susceptible=
 to
> PBRSB, this disables HVM RSB software protections entirely.  On eIBRS-cap=
able
> CPUs suceptible to to PBRSB, this reduces a 32-entry RSB stuff down to ju=
st
> one LFENCE.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>  xen/arch/x86/hvm/vmx/entry.S           |   1 +
>  xen/arch/x86/hvm/vmx/vmx.c             |  20 ++++++-
>  xen/arch/x86/include/asm/cpufeatures.h |   1 +
>  xen/arch/x86/spec_ctrl.c               | 103 +++++++++++++++++++++++++++=
+++++-
>  4 files changed, 120 insertions(+), 5 deletions(-)
>
> diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
> index 5f5de45a1309..222495aed19f 100644
> --- a/xen/arch/x86/hvm/vmx/entry.S
> +++ b/xen/arch/x86/hvm/vmx/entry.S
> @@ -44,6 +44,7 @@ ENTRY(vmx_asm_vmexit_handler)
>          .endm
>          ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point.=
 */
> +        /* On PBRSB-vulenrable hardware, `ret` not safe before the start=
 of vmx_vmexit_handler() */

vulnerable

>
>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debu=
gging Xen. */
>          .macro restore_lbr
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 17e103188a53..8a6a5cf20525 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -3934,8 +3934,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs=
)
>  {
>      unsigned long exit_qualification, exit_reason, idtv_info, intr_info =
=3D 0;
>      unsigned int vector =3D 0, mode;
> -    struct vcpu *v =3D current;
> -    struct domain *currd =3D v->domain;
> +    struct vcpu *v;
> +    struct domain *currd;
> +
> +    /*
> +     * To mitigate Post-Barrier RSB speculation, we must force one CALL
> +     * instruction to retire before letting a RET instruction execute.

I think it would be clearer if this comment mentioned LFENCE like the
commit message does.  Looking at this change without the commit
message the connection is not obvious to me at least.  Maybe "we must
force one CALL instruction to retire (with LFENCE) before letting a
RET instruction execute"?

> +     *
> +     * On PBRSB-vulnerable CPUs, it is not safe for a RET to be executed
> +     * before this point.
> +     *
> +     * Defer any non-trivial variable initialisation to avoid problems i=
f the
> +     * compiler decides to out-of-line any helpers.  This depends on
> +     * alternative() being a full compiler barrier too.
> +     */
> +    alternative("", "lfence", X86_BUG_PBRSB);
> +
> +    v =3D current;
> +    currd =3D v->domain;
>
>      __vmread(GUEST_RIP,    &regs->rip);
>      __vmread(GUEST_RSP,    &regs->rsp);


> +    /*
> +     * We're choosing between the eIBRS-capable models which don't enume=
rate
> +     * PBRSB_NO.  Earlier steppings of some models don't enumerate eIBRS=
 and
> +     * are excluded above.
> +     */
> +    switch ( boot_cpu_data.x86_model )
> +    {
> +        /*
> +         * Core (inc Hybrid) CPUs to date (August 2022) are vulenrable.

vulnerable

> +        case hvm_rsb_none:
> +            /*
> +             * Somewhat arbitrary.  If something is wrong and the user h=
as
> +             * forced HVM RSB protections on a system where we think not=
hing
> +             * is necessary, they they possibly know something we dont.

"then they" and "don't"

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 20:33:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 20:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383175.618297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLVuv-0002ek-Pg; Tue, 09 Aug 2022 20:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383175.618297; Tue, 09 Aug 2022 20:33:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLVuv-0002ed-Ms; Tue, 09 Aug 2022 20:33:33 +0000
Received: by outflank-mailman (input) for mailman id 383175;
 Tue, 09 Aug 2022 20:33:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+xpM=YN=epam.com=prvs=022073e3d3=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oLVuu-0002eX-6K
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 20:33:32 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8714965b-1822-11ed-924f-1f966e50362f;
 Tue, 09 Aug 2022 22:33:30 +0200 (CEST)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 279JOM4B013616;
 Tue, 9 Aug 2022 20:33:10 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3huwq8r5pj-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 09 Aug 2022 20:33:10 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS8PR03MB7718.eurprd03.prod.outlook.com (2603:10a6:20b:402::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21; Tue, 9 Aug
 2022 20:33:02 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::6175:686:14fd:b1ad]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::6175:686:14fd:b1ad%4]) with mapi id 15.20.5504.014; Tue, 9 Aug 2022
 20:33:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8714965b-1822-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LNH5PsOr+jXDN5Yae1cmxvo7KGEAa0gkm0AeuI8vNujxWUXTklxzPU0bQ+2jjr/578A4BkqjLPSs4KvGyYx06po1PxkM1VK9VuqrP+jD8NSCO5c5gw7pI6o4tAajicHkeSi01f5SZ8E6wFa1hYF8X84QaL9OTVq6w/B7CCfokgkOfrNHvYc2kb/RodQICHJtLPIBDM2F+0sbvMO2j8/m6waYHArmPe05Oas7qWu7JpjLb2gWub81k0EdV1CFD4N/LXr6zwZA8D9uBiNwPdEof1ZWGLoyynnownnavJ7thNVqWchLU+PSu7VpWo4+eyKrw+1OZybgm4Adw9fn+p2exw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=goQEol/P2znPQQotiJy0LTLLYpOVZ0Czi4c0xmYmRxg=;
 b=hozD/JqADAVcaGvOfRlEYo/8UYmYLgEb8SU3WU5H0hMhuPpJS2g11qEz+uL8qvxmxU9zbRCv3DQsSuriJnYNwo/t00XTt6Wm+7v7QyWoCdBS3VSgLwfSUrO0Ov17NSOSJ/mvh9kFlLJ4WjnLWhIoM/ivquPWbZbw+mYbE7MeuICl6bNA+Tu3NkUkIJvk+HQD9FRfykORKO2pTGCCrfj7eL8+rGSiWgMm62g0AgQ6TJBOF1IjK+5pIPCgFmWNIHJ1lHmDHx1gQhSQOnDsO239+MPdFFjSpMTNckcKuHHOCi3YJE2M0we/Rc6+9YUegMdZlNC6FMorm5ylOcuC+0KdHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=goQEol/P2znPQQotiJy0LTLLYpOVZ0Czi4c0xmYmRxg=;
 b=qO0K2F+dqdpMeJRGYYI0xebVAxGVLMic6B1TpnYOPDsE0Uh1xz0nYjCUqSWKs1SxBBC1pEo+uRWyRhHckENHIuT/ph49jKOFoozE24QKdhoPEaaxhiUP8/hsR3CnG6Dd1diZZgmXbqzOPpyy55JSBDwpKhY6I0oiWbq2N0dteoQ3j3f/4y4I3NRWc6IfLcXr5tHVwG2G4UfOLgsYQWPQMgo3mDkXZ9T+DM5/X4gm4sS/UafYRnABeq5wdh2NbzemdIuJ+EVcLOvJ2ZmTO24Ty9uJ14ow3woULI4jtUZBgf5n9+3XwXSnJjfuxIrCF5WOTooROxn3Bcz6C+1BsAOgcw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>,
        Julien Grall <julien@xen.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/4] vpci: use pcidevs locking to protect MMIO handlers
Thread-Topic: [PATCH v2 3/4] vpci: use pcidevs locking to protect MMIO
 handlers
Thread-Index: AQHYmuuJA1lWCBgnj0iqi/IOtvD1PK2aAUWAgA0kaAA=
Date: Tue, 9 Aug 2022 20:33:02 +0000
Message-ID: <87o7wt9myq.fsf@epam.com>
References: <20220718211521.664729-1-volodymyr_babchuk@epam.com>
 <20220718211521.664729-4-volodymyr_babchuk@epam.com>
 <381b3611-79c2-807e-c5db-d5c0d9ea4fc4@suse.com>
In-Reply-To: <381b3611-79c2-807e-c5db-d5c0d9ea4fc4@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.6.5; emacs 28.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 48e4c18b-50c5-4962-87bb-08da7a465b13
x-ms-traffictypediagnostic: AS8PR03MB7718:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 +p1mmOKWhOVUSghMrhWV1QtblffeSKaAgsgUEWln/91kSSo4zWzwRUzciyYXGRNDEIQ9+r172zD11ffiKhrG+Mz1Wv83ksR7M2gCipww6PXysX1729Ep3yMHYbfCRc2Tq6IsAqg6zie8bLZ+yncWRqsS6A/zQs5GbB9p60NIYR7Hz4q7t6gziM5u0LC71Vvc3sCB/yhE6xbvm1uA0NJXXRFDLgpTPWjLBFL+o4dN8WBaKziHQ5mtQSFJaqJdvHGN3qVBrDDgvRE3klxEdrUN0muA8nLHzLVjon8qEP4UuxaaE82fMcZeKB3DjxghexjJlUdl7JUIaxm8aEPMZ0EX0aPxCn6BaX7WSA7OQkxKq5wWEcR2M0mAnD9qzjEEV9GzeLX3flHdQOs2IBWV//k+utCE3TkEdQamoOhbUUmHyTT+JqMREtpB0gRPFrYTKetalBE6x2ufEYmTyjkqYd0EkQGklbgoolp5FcOOG5NRPCdE86zXuq9J2yFEElQM7VCho+Uz6r8hzAxklxXXkXS2iIvN65G5zKnt1K40MVx4qGWL9ZYzPlyBTFUvEDhMYFm42r93jeBwjV4f/8naCk+ruwMlcIb39YX8KUzAcwRf33H++1S1u5tMHL3YtyDUv9mudboZ/XDuNNkA8rR3Y3JSmNhNfQaWP59HZpynetD03ap3TLWclCGkduQ9yAhvcz5KRY+IYNsIvi1Ij96xIs+yVDr0hcpNNwDM2SBmClzFwAiZqvjFNhOKZfhphxQEFEab1YF6tvKAe6mBRu3w9r9KmfFAOUnOa0gekmIN1yKUgKw=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(396003)(366004)(136003)(346002)(6916009)(2906002)(186003)(26005)(53546011)(6506007)(41300700001)(2616005)(6512007)(55236004)(38100700002)(86362001)(38070700005)(83380400001)(122000001)(5660300002)(66446008)(66946007)(36756003)(66556008)(66476007)(8936002)(8676002)(478600001)(71200400001)(6486002)(91956017)(4326008)(64756008)(76116006)(54906003)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?KgvvF0W2FTmX6GcVyH/lafBFRmZE8hAD3bZryeEvAR3GL4bidqpydh31kg?=
 =?iso-8859-1?Q?eqQkyC1QmAPYzYu4kssvLZTyxF2ADaglSSNk9sxISWTWIVHY20ThkUYwU2?=
 =?iso-8859-1?Q?StA3gJD6lj7s/VNtDlNHfgtA9OMFwlcR+ufLKv+2dWX1Uy3Z2d70zSO7+m?=
 =?iso-8859-1?Q?X0AeLa1KXvvQEqOttDRN6cUp2hqseEnn/6qvgdyT50wzi8/2CXvgo0F84j?=
 =?iso-8859-1?Q?opI9M0MCgUFXzq30zx4mhbd06BvRTmmJ2E/G/o0Axd0lskLgzd+ZinKTvt?=
 =?iso-8859-1?Q?CNMT4T7x30G/o43nEH2cjyMn3nK9NPFW4rnXXfFaIZiRLTF0SPPNP/oDUq?=
 =?iso-8859-1?Q?qv/QWHkkJGW6PePkjWFm1BZG/thEXSbaB7Bzse7603q1DU6nlzyDeDgwgf?=
 =?iso-8859-1?Q?ZDKZCk8R5LDTI3Tcs9P6MG8ZaFzZB6f1g9R5ssuUjIepJ9v87PUz5fd++y?=
 =?iso-8859-1?Q?WjgwW8h5e8J6Wvahn1rjJ6E+Xd90LryMWy8I3OXZUtgQT/Dq3FL9xDR2yl?=
 =?iso-8859-1?Q?q9ky3qNttRg6Xfm+RMM9cMio4wW7f2zWdo1vjW0TgAL4PWf4n/lh9Vh6RS?=
 =?iso-8859-1?Q?1qmVMFYKgmOjp1R4+9ArKyeONzLKDtSPliBE0xUBMaLCTp2GaCbDXv8umz?=
 =?iso-8859-1?Q?WGfIVGX4SDcbIOLjH1oLg6mqyKYqAR0KClw58z0bcb4PsBdZCPi1kmDCuP?=
 =?iso-8859-1?Q?cjaJJzsM/uxMdbJM3Mswf5RhSU0b5oAEYBHWO0fOx9C0cs6Srt/ysPc0gB?=
 =?iso-8859-1?Q?RPAqX7QyGiDDnPQjE2fIPZouwXTDUQ1EjXXQn2Wa3fowAotRltctdY4Tn1?=
 =?iso-8859-1?Q?j1ktm3LUdAxm4Mjps9pRUP15gGYLHcj2GFMx6uER5qZNHzZjCVbLDkF2Xq?=
 =?iso-8859-1?Q?189byeZbI5E2iIYADMut5xD/ze7NvBPvKu4tnQm9TX98DgaFVoP6gWXOgU?=
 =?iso-8859-1?Q?XRrYJ31T+DtaSwJvf3hdll4XOdXEmaIIxtiWPJZL8yrSqcekDqAP0fZXDT?=
 =?iso-8859-1?Q?zIViDAioXlDknH9zGpDTVrK/Fb713xC6v89GNA21+OsZEWW9Cc8Ijfbx4C?=
 =?iso-8859-1?Q?WyiXmtdsO/fpYAyTGABo71u+2QRgms01ZFENH+cWqOkUqwwE+bg61Y4Tzg?=
 =?iso-8859-1?Q?zh110TM5+eYTCrhBmXg0I+m0306NBV8EpmveeKooh3BEHxM4Qe/qvdTaww?=
 =?iso-8859-1?Q?NiKjsmxmU2CEIsUbpid8SvtVqtJ2FSByq4EoANwmIDgREoXaN5BCg2M2Je?=
 =?iso-8859-1?Q?BnJS3afZaYMg8ZgDXSUsgazWKHQYh4u3qZYnkXCJb5l550O1ay8NSDY8FW?=
 =?iso-8859-1?Q?w6jIoUkoz/6rVkBsaIA0DB5KS9UdcKlpT1iErf/5Zxh4xPOg13tOSuJVko?=
 =?iso-8859-1?Q?ZdBeLmh/zUM1B5uRqabnzrr5NPm/u/ENwoIEOLhTwS9cGk10kYifJXO6Om?=
 =?iso-8859-1?Q?lkyZxi53lABZQctSCgnonitE6Tu0ymPugmujUYHb39jkMXIMo6KizU7oC0?=
 =?iso-8859-1?Q?hGQFcq+PVKAajjS4lmWZAKX+VKk3MQSGTv25zNlSB4zhiVA5q0h+A/AlJp?=
 =?iso-8859-1?Q?zs2dSSoD4xsh0LDinuoXd8UOqcRZcy9g8IGZIMWiQ2x4mhHekOCBRrjvbk?=
 =?iso-8859-1?Q?Pku1Qj3uCsIQTpiyZCARVg5oShjpusHVmmZ00OGGx/tR0Rky+71+pIgQ?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48e4c18b-50c5-4962-87bb-08da7a465b13
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2022 20:33:02.0496
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8yh5So7NPzw0fTybDQeHJT1nZ+rgUZ2P6djfY81zmbbdcupDIcNhv817ceUDpJt19B7px9Cr3Wdq1Lqtqw2ZVFZfc87SJbrXqsJemjArqlo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7718
X-Proofpoint-GUID: UZnTcOaLel2e8uX75B9xIAW5h--7mZmy
X-Proofpoint-ORIG-GUID: UZnTcOaLel2e8uX75B9xIAW5h--7mZmy
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-09_05,2022-08-09_02,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0
 phishscore=0 malwarescore=0 mlxlogscore=767 lowpriorityscore=0 spamscore=0
 mlxscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208090076


Hello Jan,

Jan Beulich <jbeulich@suse.com> writes:

> On 18.07.2022 23:15, Volodymyr Babchuk wrote:
>> --- a/xen/arch/x86/hvm/vmsi.c
>> +++ b/xen/arch/x86/hvm/vmsi.c
>> @@ -891,10 +891,16 @@ void vpci_msix_arch_init_entry(struct vpci_msix_en=
try *entry)
>>      entry->arch.pirq =3D INVALID_PIRQ;
>>  }
>> =20
>> -int vpci_msix_arch_print(const struct vpci_msix *msix)
>> +int vpci_msix_arch_print(const struct domain *d, const struct vpci_msix=
 *msix)
>
> I don't think the extra parameter is needed:
>
>> @@ -911,11 +917,23 @@ int vpci_msix_arch_print(const struct vpci_msix *m=
six)
>>          if ( i && !(i % 64) )
>>          {
>>              struct pci_dev *pdev =3D msix->pdev;
>
> You get hold of pdev here, and hence you can take the domain from pdev.

Yes, makes sense.

>> +            pci_sbdf_t sbdf =3D pdev->sbdf;
>> =20
>>              spin_unlock(&msix->pdev->vpci->lock);
>> +            pcidevs_read_unlock();
>> +
>> +            /* NB: we still hold rcu_read_lock(&domlist_read_lock); her=
e. */
>>              process_pending_softirqs();
>> -            /* NB: we assume that pdev cannot go away for an alive doma=
in. */
>
> I think this comment wants retaining, as the new one you add is about
> a different aspect.
>
>> -            if ( !pdev->vpci || !spin_trylock(&pdev->vpci->lock) )
>> +
>> +            if ( !pcidevs_read_trylock() )
>> +                return -EBUSY;
>> +            pdev =3D pci_get_pdev_by_domain(d, sbdf.seg, sbdf.bus, sbdf=
.devfn);
>> +            /*
>> +             * FIXME: we may find a re-allocated pdev's copy here.
>> +             * Even occupying the same address as before. Do our best.
>> +             */
>> +            if ( !pdev || (pdev !=3D msix->pdev) || !pdev->vpci ||
>
> Despite the comment: What guarantees that msix isn't a dangling pointer
> at this point? At the very least I think you need to check !pdev->vpci
> first. And I'm afraid I don't view "do our best" as good enough here
> (considering the patch doesn't carry an RFC tag). And no, I don't have
> any good suggestion other than "our PCI device locking needs a complete
> overhaul". Quite likely what we need is a refcounter per device, which
> - as long as non-zero - prevents removal.

Refcounter itself is a good idea, but I'm not liking where all this
goes. We already are reworking locking by adding rw-locks with counters,
adding refcounter on top of this will complicate things even further.

I'm starting to think that complete PCI device locking rework may be
simpler solution, actually. By any chance, were there any prior
discussion on how proper locking should look like?=20

>
>> +                 !spin_trylock(&pdev->vpci->lock) )
>>                  return -EBUSY;
>
> Don't you need to drop the pcidevs lock on this error path?

Yeah, you are right.

>
>> @@ -450,10 +465,15 @@ static int cf_check init_bars(struct pci_dev *pdev=
)
>>      uint16_t cmd;
>>      uint64_t addr, size;
>>      unsigned int i, num_bars, rom_reg;
>> -    struct vpci_header *header =3D &pdev->vpci->header;
>> -    struct vpci_bar *bars =3D header->bars;
>> +    struct vpci_header *header;
>> +    struct vpci_bar *bars;
>>      int rc;
>> =20
>> +    ASSERT(pcidevs_write_locked());
>> +
>> +    header =3D &pdev->vpci->header;
>> +    bars =3D header->bars;
>
> I'm not convinced the code movement here does us any good. (Same
> apparently elsewhere below.)
>
>> @@ -277,6 +282,9 @@ void vpci_dump_msi(void)
>> =20
>>          printk("vPCI MSI/MSI-X d%d\n", d->domain_id);
>> =20
>> +        if ( !pcidevs_read_trylock() )
>> +            continue;
>
> Note how this lives ahead of ...
>
>>          for_each_pdev ( d, pdev )
>>          {
>
> ... the loop, while ...
>
>> @@ -310,7 +318,7 @@ void vpci_dump_msi(void)
>>                  printk("  entries: %u maskall: %d enabled: %d\n",
>>                         msix->max_entries, msix->masked, msix->enabled);
>> =20
>> -                rc =3D vpci_msix_arch_print(msix);
>> +                rc =3D vpci_msix_arch_print(d, msix);
>>                  if ( rc )
>>                  {
>>                      /*
>> @@ -318,12 +326,13 @@ void vpci_dump_msi(void)
>>                       * holding the lock.
>>                       */
>>                      printk("unable to print all MSI-X entries: %d\n", r=
c);
>> -                    process_pending_softirqs();
>> -                    continue;
>> +                    goto pdev_done;
>>                  }
>>              }
>> =20
>>              spin_unlock(&pdev->vpci->lock);
>> + pdev_done:
>> +            pcidevs_read_unlock();
>
> ... this is still inside the loop body.
>
>> @@ -332,10 +334,14 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int r=
eg, unsigned int size)
>>          return data;
>>      }
>> =20
>> +    pcidevs_read_lock();
>>      /* Find the PCI dev matching the address. */
>>      pdev =3D pci_get_pdev_by_domain(d, sbdf.seg, sbdf.bus, sbdf.devfn);
>> -    if ( !pdev )
>> +    if ( !pdev || (pdev && !pdev->vpci) )
>
> Simpler
>
>     if ( !pdev || !pdev->vpci )
>
> ?
>
>> @@ -381,6 +387,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg=
, unsigned int size)
>>          ASSERT(data_offset < size);
>>      }
>>      spin_unlock(&pdev->vpci->lock);
>> +    pcidevs_read_unlock();
>
> I guess this is too early and wants to come after ...
>
>>      if ( data_offset < size )
>>      {
>
> ... this if, which - even if it doesn't use pdev - still accesses the
> device.
>
> Both comments equally apply to vpci_write().
>
>> --- a/xen/include/xen/pci.h
>> +++ b/xen/include/xen/pci.h
>> @@ -161,6 +161,7 @@ void pcidevs_unlock(void);
>>  bool __must_check pcidevs_locked(void);
>> =20
>>  void pcidevs_read_lock(void);
>> +int pcidevs_read_trylock(void);
>
> This declaration wants adding alongside the introduction of the
> function or, if the series was structured that way, at the time of the
> dropping of "static" from the function (which from a Misra perspective
> would likely be better).
>
> Jan


--=20
Volodymyr Babchuk at EPAM=


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 20:55:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 20:55:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383183.618309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLWFq-00051w-J1; Tue, 09 Aug 2022 20:55:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383183.618309; Tue, 09 Aug 2022 20:55:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLWFq-00051p-ER; Tue, 09 Aug 2022 20:55:10 +0000
Received: by outflank-mailman (input) for mailman id 383183;
 Tue, 09 Aug 2022 20:55:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLWFp-00051f-1v; Tue, 09 Aug 2022 20:55:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLWFo-0000GJ-Va; Tue, 09 Aug 2022 20:55:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLWFo-0004WQ-Hr; Tue, 09 Aug 2022 20:55:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLWFo-0004VJ-HN; Tue, 09 Aug 2022 20:55:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=poi4cKNUnZSJy2QOFRmolAkjcRFRpU1xoNPkbmdfwwE=; b=qyq24nN67PwkQUY2GSfSI6a1kR
	nOb9T6fUonMd9LfiBwAfLP9hy6NpbgCIxqdhHGmprZvoQgLStI5Qb/gQyHwsIZYIPnp6yPqNVZYLQ
	4lMcsThzeuPk3b9LCcCLf4UyhIpZCksyCPumxN0dPGt4O/ik1K43QeHNL6dUXeayOdLE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172335-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172335: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 20:55:08 +0000

flight 172335 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172335/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   46 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 21:46:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 21:46:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383197.618320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLX3Z-0001lf-9a; Tue, 09 Aug 2022 21:46:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383197.618320; Tue, 09 Aug 2022 21:46:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLX3Z-0001lY-6B; Tue, 09 Aug 2022 21:46:33 +0000
Received: by outflank-mailman (input) for mailman id 383197;
 Tue, 09 Aug 2022 21:46:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lP5k=YN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oLX3X-0001lS-PS
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 21:46:31 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9a58b1f-182c-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 23:46:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A288E60F7B;
 Tue,  9 Aug 2022 21:46:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47E58C433D6;
 Tue,  9 Aug 2022 21:46:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9a58b1f-182c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660081588;
	bh=lIpD47DjX6g1SOlmnRB63wiVXZC8mHt8QqM7HTZh87k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JZhn9bwEhmRimsxYGUtFrCwpNPtqoatIPSvhcZQ7BuCqBi8xvZWjTWpCx2imqn7Lp
	 +GeppLo6oUiswT5fw4uoeu3OR/CmMx8EXjm74SXuWbVf/gungoc12P6F28SEQrCt7+
	 dxXmJNl4xnwYD8MxhxADIS6n42AuFWoYFinjDrn7JLkeqIHCSL+fST9W9eamCn7Bv2
	 7DeN2KbubqYEfeVxv4fSWM4cEKbS9JEhAivv0NnU5YVO4aPRvQsV6pEhVh0KIX3KS4
	 THfUujcRhohmNzV8nwT7zllZzOsb2c2H6RvvdeXrCKN0nDIEXxlwicH+Mu0ScHPZMG
	 1K703wZiFHglg==
Date: Tue, 9 Aug 2022 14:46:25 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: vreg: Fix MISRA C 2012 Rule 20.7 violation
In-Reply-To: <20220809093048.1893025-1-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208091446080.3790@ubuntu-linux-20-04-desktop>
References: <20220809093048.1893025-1-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 9 Aug 2022, Xenia Ragiadakou wrote:
> In VREG_REG_HELPERS(), the macro parameter 'offmask' is used as expression and
> therefore it is good to be enclosed in parentheses to prevent against
> unintended expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/include/asm/vreg.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/vreg.h b/xen/arch/arm/include/asm/vreg.h
> index fa2f4cdb17..f26a70d024 100644
> --- a/xen/arch/arm/include/asm/vreg.h
> +++ b/xen/arch/arm/include/asm/vreg.h
> @@ -141,7 +141,7 @@ static inline void vreg_reg_clearbits(unsigned long *reg, register_t bits,
>  static inline register_t vreg_reg##sz##_extract(uint##sz##_t reg,       \
>                                                  const mmio_info_t *info)\
>  {                                                                       \
> -    return vreg_reg_extract(reg, info->gpa & offmask,                   \
> +    return vreg_reg_extract(reg, info->gpa & (offmask),                 \
>                              info->dabt.size);                           \
>  }                                                                       \
>                                                                          \
> @@ -151,7 +151,7 @@ static inline void vreg_reg##sz##_update(uint##sz##_t *reg,             \
>  {                                                                       \
>      unsigned long tmp = *reg;                                           \
>                                                                          \
> -    vreg_reg_update(&tmp, val, info->gpa & offmask,                     \
> +    vreg_reg_update(&tmp, val, info->gpa & (offmask),                   \
>                      info->dabt.size);                                   \
>                                                                          \
>      *reg = tmp;                                                         \
> @@ -163,7 +163,7 @@ static inline void vreg_reg##sz##_setbits(uint##sz##_t *reg,            \
>  {                                                                       \
>      unsigned long tmp = *reg;                                           \
>                                                                          \
> -    vreg_reg_setbits(&tmp, bits, info->gpa & offmask,                   \
> +    vreg_reg_setbits(&tmp, bits, info->gpa & (offmask),                 \
>                       info->dabt.size);                                  \
>                                                                          \
>      *reg = tmp;                                                         \
> @@ -175,7 +175,7 @@ static inline void vreg_reg##sz##_clearbits(uint##sz##_t *reg,          \
>  {                                                                       \
>      unsigned long tmp = *reg;                                           \
>                                                                          \
> -    vreg_reg_clearbits(&tmp, bits, info->gpa & offmask,                 \
> +    vreg_reg_clearbits(&tmp, bits, info->gpa & (offmask),               \
>                         info->dabt.size);                                \
>                                                                          \
>      *reg = tmp;                                                         \
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 21:48:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 21:48:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383203.618331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLX5A-0002PZ-PG; Tue, 09 Aug 2022 21:48:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383203.618331; Tue, 09 Aug 2022 21:48:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLX5A-0002PS-MS; Tue, 09 Aug 2022 21:48:12 +0000
Received: by outflank-mailman (input) for mailman id 383203;
 Tue, 09 Aug 2022 21:48:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lP5k=YN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oLX59-0002PK-Ke
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 21:48:11 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f56519d6-182c-11ed-bd2e-47488cf2e6aa;
 Tue, 09 Aug 2022 23:48:10 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 2686FCE1AAB;
 Tue,  9 Aug 2022 21:48:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1B8AC433C1;
 Tue,  9 Aug 2022 21:48:03 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f56519d6-182c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660081684;
	bh=Sx2rcAFleWSXhA30GrbO/eH0VT3+/nj5z8QkUZZfZU8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=K1ye2QRQVtmjtseM50Q9kCkaEZe4Waj8FaqCJ615OXkhSOV2i1hg7Ms0x08eRYGXW
	 fiNVqE9hgeaxNc8Im7N6RAI98urYUmBoWFIG3mQCXvXUVAxO231PLIX0svdtulcG7T
	 3XxUJvMhm2ZnTILcCsBXITJQinAbokvO4qAsfi6dFw3tra1Oh29mEDfAZOKqWUKkt2
	 5PBMrNXWpA6mjyOObSed9hxxH8RRhjyivTRNzB3MkL6fjgG/ihjMGx89hA0XDNFmVm
	 S1DYHcH2RgLWZG4oMN2nRaphJBCq3b7E2bEFcJogFFqsaYjktx66X9BweupAWA9tFH
	 4M1FWYdyNKDJA==
Date: Tue, 9 Aug 2022 14:48:01 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: regs: Fix MISRA C 2012 Rule 20.7 violation
In-Reply-To: <20220808094837.1880522-1-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208091447520.3790@ubuntu-linux-20-04-desktop>
References: <20220808094837.1880522-1-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 8 Aug 2022, Xenia Ragiadakou wrote:
> In macro psr_mode(), the macro parameter 'm' is used as expression and
> therefore it is good to be enclosed in parentheses to prevent against
> unintended expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
>  xen/arch/arm/include/asm/regs.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm/regs.h
> index 794721a103..0693a68131 100644
> --- a/xen/arch/arm/include/asm/regs.h
> +++ b/xen/arch/arm/include/asm/regs.h
> @@ -11,7 +11,7 @@
>  #include <asm/current.h>
>  #include <asm/processor.h>
>  
> -#define psr_mode(psr,m) (((psr) & PSR_MODE_MASK) == m)
> +#define psr_mode(psr,m) (((psr) & PSR_MODE_MASK) == (m))
>  
>  static inline bool regs_mode_is_32bit(const struct cpu_user_regs *regs)
>  {
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 22:17:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 22:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383219.618346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLXXC-0005lB-47; Tue, 09 Aug 2022 22:17:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383219.618346; Tue, 09 Aug 2022 22:17:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLXXC-0005l4-0k; Tue, 09 Aug 2022 22:17:10 +0000
Received: by outflank-mailman (input) for mailman id 383219;
 Tue, 09 Aug 2022 22:17:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lP5k=YN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oLXXB-0005ky-7E
 for xen-devel@lists.xenproject.org; Tue, 09 Aug 2022 22:17:09 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0141f169-1831-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 00:17:07 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id EB045B81A07;
 Tue,  9 Aug 2022 22:17:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D0A35C433D6;
 Tue,  9 Aug 2022 22:17:04 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0141f169-1831-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660083425;
	bh=1kMaJKSySqhyNCALNV5bz1PDGI+AhN72J9+P6bKwbTI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=l90pl2IlJaIggt3fci15rUX4Flqlu0moQL9lW0m+zBuPS4lUoiAFfqPbkYl8RdDMI
	 OJ6QjlEoBYeiUhqJD4AZFyDbSnjUvW6vj/XQxR3cRkfCoP8VplEcdNNgZUJLQVWSAr
	 xM1Et1lrBV64B5lCy7grrHY62+cuUa6U8FGRlBtlm+84/QzGC6tI55ET6ECVcda7s3
	 yeje/5sb05W9qIcp3R4ZOWtZ7oZVZ6cT8GKurFptJlyo98xFVIiE5IfsJIAFP2+px8
	 j7EeGAbNUQPMgWNQhRt7wsqsc1FB/LacJmXQppqMtBEjmHN3TleKhdv+MyLGopGuZW
	 Evfw0vZqG0ttg==
Date: Tue, 9 Aug 2022 15:17:03 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ayan Kumar Halder <ayankuma@amd.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    stefanos@xilinx.com, stefanos@amd.com, cardoe@cardoe.com
Subject: Re: [XEN v1] gitlab: automation: Fix the automation scripts
In-Reply-To: <20220809155711.39168-1-ayankuma@amd.com>
Message-ID: <alpine.DEB.2.22.394.2208091513230.3790@ubuntu-linux-20-04-desktop>
References: <20220809155711.39168-1-ayankuma@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Thanks Ayan. The issue is that Debian unstable moved forward so now
apt-get fails. I updated the build container and the issue went away (I
rebuilt (automation/build/debian/unstable-arm64v8.dockerfile). So the
issue is gone for now.

In general, I don't know if it is a good idea to apply this patch: on
one hand it would make the script harder to break in the future next
time Debian moves forward, but I am concerned about additional
bandwidth and unnecessary upgrading done to packages for every test that
we run.


On Tue, 9 Aug 2022, Ayan Kumar Halder wrote:
> One needs to run 'apt-get -qy upgrade' to upgrade the old packages so that
> the missing dependent packages are also installed.
> 
> Signed-off-by: Ayan Kumar Halder <ayankuma@amd.com>
> ---
> 
> This is supposed to fix issues seen https://gitlab.com/xen-project/xen/-/jobs/2832045004
> The failure is :-
> root@4a175985cd71:/Users/ayankuma/alpine_vm/xen# apt-get -qy install --no-install-recommends u-boot-qemu u-boot-tools device-tree-compiler busybox-static cpio curl
> Reading package lists...
> Building dependency tree...
> Reading state information...
> Some packages could not be installed. This may mean that you have
> requested an impossible situation or if you are using the unstable
> distribution that some required packages have not yet been created
> or been moved out of Incoming.
> The following information may help to resolve the situation:
> 
> The following packages have unmet dependencies:
>  libc6-dev : Breaks: libglib2.0-dev (<= 2.72.3-1) but 2.70.2-1 is to be installed
> E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
> 
> For this we need to upgrade the packages which will resolve the dependencies.
> 
>  automation/scripts/qemu-smoke-arm32.sh | 1 +
>  automation/scripts/qemu-smoke-arm64.sh | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/automation/scripts/qemu-smoke-arm32.sh b/automation/scripts/qemu-smoke-arm32.sh
> index 530f3892fd..e7e733798c 100755
> --- a/automation/scripts/qemu-smoke-arm32.sh
> +++ b/automation/scripts/qemu-smoke-arm32.sh
> @@ -4,6 +4,7 @@ set -ex
>  
>  export DEBIAN_FRONTENT=noninteractive
>  apt-get -qy update
> +apt-get -qy upgrade
>  apt-get -qy install --no-install-recommends device-tree-compiler \
>                                              curl \
>                                              cpio
> diff --git a/automation/scripts/qemu-smoke-arm64.sh b/automation/scripts/qemu-smoke-arm64.sh
> index 497dbee15f..f714aacbb3 100755
> --- a/automation/scripts/qemu-smoke-arm64.sh
> +++ b/automation/scripts/qemu-smoke-arm64.sh
> @@ -23,6 +23,7 @@ fi
>  
>  export DEBIAN_FRONTENT=noninteractive
>  apt-get -qy update
> +apt-get -qy upgrade
>  apt-get -qy install --no-install-recommends u-boot-qemu \
>                                              u-boot-tools \
>                                              device-tree-compiler \
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 23:10:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 23:10:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383227.618357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLYMK-0002SX-2R; Tue, 09 Aug 2022 23:10:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383227.618357; Tue, 09 Aug 2022 23:10:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLYMJ-0002SQ-Vl; Tue, 09 Aug 2022 23:09:59 +0000
Received: by outflank-mailman (input) for mailman id 383227;
 Tue, 09 Aug 2022 23:09:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLYMI-0002SG-OJ; Tue, 09 Aug 2022 23:09:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLYMI-0003Gp-MY; Tue, 09 Aug 2022 23:09:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLYMI-0002t6-4q; Tue, 09 Aug 2022 23:09:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLYMI-0008Cn-4O; Tue, 09 Aug 2022 23:09:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KQRZ+17FwG2edk7EOmQ+clrP3G6QA3JSAX1tHyvCWj8=; b=Fd5ASeXkHiWzcfQtYIWmm8Leza
	k8Jj+35xpnSnTTAXT+pFvAhtDZz8xK6F148Yad8brqfQtjEfff/G9HJddm3916D4RI6gYH1y2FCwU
	uQLZ9k21LTMNOSJ7lPfQwUuiEsynnHXuo3wrjlKe6O2hHPhxUOpYAGFeJL0T5rPxdnSw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172337-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172337: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 23:09:58 +0000

flight 172337 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172337/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   47 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 09 23:42:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Aug 2022 23:42:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383240.618373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLYrj-0006Vx-Iy; Tue, 09 Aug 2022 23:42:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383240.618373; Tue, 09 Aug 2022 23:42:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLYrj-0006Vq-GN; Tue, 09 Aug 2022 23:42:27 +0000
Received: by outflank-mailman (input) for mailman id 383240;
 Tue, 09 Aug 2022 23:42:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLYrh-0006Vf-Ij; Tue, 09 Aug 2022 23:42:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLYrh-0003nw-Ed; Tue, 09 Aug 2022 23:42:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLYrg-0003kF-U7; Tue, 09 Aug 2022 23:42:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLYrg-0003XX-Te; Tue, 09 Aug 2022 23:42:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OdAyodu03zFxwnDQddVcZPg6uohYE5uosueKh1z47oc=; b=o4R1XKJ2Uq8YmVjzKDdzOMTjgv
	BrhK37hMHqq/GVGyjKv6unC5qhpmHTekv6moN3IBhBtSaq6/N4VrJFhKPYLsx/FXm9+wyNE9n4/uJ
	wORIttjNieExV7pgJ5V/KrXb7HWaDZkzQbLb/C4FAHZjRYAXCKpMuU/CF+hB7gJ8UpKQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172329-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172329: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3caa5a3f03eef4ce7f010aea3af09bb8afde4298
X-Osstest-Versions-That:
    xen=6d6aee437e37fced0c49be97e08c30da873690fc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Aug 2022 23:42:24 +0000

flight 172329 xen-unstable real [real]
flight 172339 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172329/
http://logs.test-lab.xenproject.org/osstest/logs/172339/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install         fail pass in 172339-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172339-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172315

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-i386-libvirt            6 libvirt-build                fail  like 172315
 build-amd64-libvirt           6 libvirt-build                fail  like 172315
 build-arm64-libvirt           6 libvirt-build                fail  like 172315
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172315
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172315
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172315
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172315
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172315
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172315
 build-armhf-libvirt           6 libvirt-build                fail  like 172315
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172315
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172315
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172315
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3caa5a3f03eef4ce7f010aea3af09bb8afde4298
baseline version:
 xen                  6d6aee437e37fced0c49be97e08c30da873690fc

Last test of basis   172315  2022-08-09 01:51:51 Z    0 days
Testing same since   172329  2022-08-09 14:08:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6d6aee437e..3caa5a3f03  3caa5a3f03eef4ce7f010aea3af09bb8afde4298 -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 01:07:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 01:07:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383263.618409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLaBi-00052s-Bz; Wed, 10 Aug 2022 01:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383263.618409; Wed, 10 Aug 2022 01:07:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLaBi-00052l-9C; Wed, 10 Aug 2022 01:07:10 +0000
Received: by outflank-mailman (input) for mailman id 383263;
 Wed, 10 Aug 2022 01:07:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLaBg-00052b-B3; Wed, 10 Aug 2022 01:07:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLaBg-0004Bh-9D; Wed, 10 Aug 2022 01:07:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLaBf-0006CR-PP; Wed, 10 Aug 2022 01:07:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLaBf-0000pz-Oz; Wed, 10 Aug 2022 01:07:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NvmCa/9eqstZnXborGyQVMGs+FIUCTJtMQCgsqJF5ck=; b=pdbhccwzB0XkfMrpUc2aOnGjh1
	k5dHJVZ4NMylwPaugDBZlqTLRCA83IEQWmBZAPMXEH46psG2tLdbASFVAWcC7t0kXg8oV4RbYLrKd
	49YVQG1hgGzE9FALVTpqXbd3ZawoIUHExVl8GKqxey0CsbVj8mZe62u/77n9jX6rlAfs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172341-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172341: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 01:07:07 +0000

flight 172341 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172341/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    4 days   48 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 01:36:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 01:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383273.618419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLadi-0008I1-LN; Wed, 10 Aug 2022 01:36:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383273.618419; Wed, 10 Aug 2022 01:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLadi-0008Hu-IR; Wed, 10 Aug 2022 01:36:06 +0000
Received: by outflank-mailman (input) for mailman id 383273;
 Wed, 10 Aug 2022 01:36:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLadh-0008Hk-Uc; Wed, 10 Aug 2022 01:36:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLadh-0004fY-Sg; Wed, 10 Aug 2022 01:36:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLadh-0007G6-Aw; Wed, 10 Aug 2022 01:36:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLadh-0000oT-AY; Wed, 10 Aug 2022 01:36:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dzX7/qM73bphHNjzYZVFOTO/Xngnxs2venkFfXaehrE=; b=nCePE0NluBdAopg3goyYixkH2n
	0uxT1j0bFd0GFnJpXd63R5w/dcQvtqneZdzlh4+XnZRmbZa71H8Zh3PXkK6bs5itYQN9ybJzMNgJG
	e33Y/1lMNxYVAl2wxUvZTezH2pZpkgsTLZsGUbY3RqM54gaJEpwW48wnHOhd1ya6BaF8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172338-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172338: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
X-Osstest-Versions-That:
    xen=e83cd54611fec5b7a539fa1281a14319143490e6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 01:36:05 +0000

flight 172338 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172338/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172331
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
baseline version:
 xen                  e83cd54611fec5b7a539fa1281a14319143490e6

Last test of basis   172331  2022-08-09 16:03:56 Z    0 days
Testing same since   172338  2022-08-09 22:01:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e83cd54611..ea2353a7fb  ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 02:35:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 02:35:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383285.618436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLbYz-0006AR-Vv; Wed, 10 Aug 2022 02:35:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383285.618436; Wed, 10 Aug 2022 02:35:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLbYz-0006AK-TF; Wed, 10 Aug 2022 02:35:17 +0000
Received: by outflank-mailman (input) for mailman id 383285;
 Wed, 10 Aug 2022 02:35:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLbYz-0006AA-3B; Wed, 10 Aug 2022 02:35:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLbYy-00065n-WF; Wed, 10 Aug 2022 02:35:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLbYy-0003QS-HS; Wed, 10 Aug 2022 02:35:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLbYy-0001pS-H0; Wed, 10 Aug 2022 02:35:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sr80GHbsMQnocMZDsktuSVMfJarDFwoJRLS0qHIi2cY=; b=UyimdCdlUkjQFAkHZmTfwjJm/4
	x6qCFypMIt78qED6BwpK5G8RJhmDkyIHHcqdmA7+Ihkxlsw+PR7hphbuYcrcUkPY4k6JG7xaWhgfa
	oMl6vptjHRxBtKkoabhGggDuShu9yfEqxZ/Yv5VAMV2HGydo9mjrAXYNqXfvkOiJOI2g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172332-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172332: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ca5f3d4df1b47d7f66a109cdb504e83dfd7ec433
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 02:35:16 +0000

flight 172332 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172332/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 172319 pass in 172332
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 172319 pass in 172332
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 172319

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ca5f3d4df1b47d7f66a109cdb504e83dfd7ec433
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    6 days
Failing since        172148  2022-08-04 21:39:38 Z    5 days   14 attempts
Testing same since   172319  2022-08-09 05:57:59 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 968 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 03:01:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 03:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383297.618448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLbxz-00016x-52; Wed, 10 Aug 2022 03:01:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383297.618448; Wed, 10 Aug 2022 03:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLbxz-00016q-0u; Wed, 10 Aug 2022 03:01:07 +0000
Received: by outflank-mailman (input) for mailman id 383297;
 Wed, 10 Aug 2022 03:01:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLbxx-00016g-Jx; Wed, 10 Aug 2022 03:01:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLbxx-0006X0-Ir; Wed, 10 Aug 2022 03:01:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLbxx-00057S-A0; Wed, 10 Aug 2022 03:01:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLbxx-0000O9-9V; Wed, 10 Aug 2022 03:01:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YTe847AhHUvs+RPCuULW/AptUz28iZuArGvREB8jAxM=; b=fAFGVW/JjB8kINMyFYFQtw+oUv
	mzS8rhpbdnd8XzCkoaZZVbglkWbs1jsCCXT/35BeZNjsxfuAv7Y496kZYwVp6o1xFC9INH2bU5nmq
	S5ebwPFvhkjMcnRofBmX3vYSpEs/uyDUgzrkaf2LuU1RU/oEJISIQv8UKeD6Gbty6PeQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172343-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172343: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 03:01:05 +0000

flight 172343 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172343/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   49 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 04:13:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 04:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383310.618459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLd62-0008CH-FR; Wed, 10 Aug 2022 04:13:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383310.618459; Wed, 10 Aug 2022 04:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLd62-0008CA-CD; Wed, 10 Aug 2022 04:13:30 +0000
Received: by outflank-mailman (input) for mailman id 383310;
 Wed, 10 Aug 2022 04:13:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLd60-0008C0-PP; Wed, 10 Aug 2022 04:13:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLd60-0007na-M2; Wed, 10 Aug 2022 04:13:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLd60-0000yY-D1; Wed, 10 Aug 2022 04:13:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLd60-0003bZ-CW; Wed, 10 Aug 2022 04:13:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FVf+zjD0eBtr/1aS1N9qFBBM9ziv3IZQyCBCF1KnPjQ=; b=VzEB/VIkFZbI3LzVGmyGC6tkLv
	6m6Dx0tKnyXo3VGcwJvRFgpVevIRPOVStVeiwfTLxVmlMPBXZDoOluI6NaGpq9dlkak5rZ4yijXZt
	nKZfs9Gv8z5NvB1LCmPqwBiASF1P2q5XZ7XEe62SjbluJnaamJD4jqfJ1GxE5H7GSGXM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172336-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172336: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=15205c2829ca2cbb5ece5ceaafe1171a8470e62b
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 04:13:28 +0000

flight 172336 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172336/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                15205c2829ca2cbb5ece5ceaafe1171a8470e62b
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    5 days
Failing since        172152  2022-08-05 04:01:26 Z    5 days   15 attempts
Testing same since   172336  2022-08-09 20:10:02 Z    0 days    1 attempts

------------------------------------------------------------
1165 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120605 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 05:07:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 05:07:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383324.618487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwX-0005RU-NN; Wed, 10 Aug 2022 05:07:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383324.618487; Wed, 10 Aug 2022 05:07:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwX-0005RL-HV; Wed, 10 Aug 2022 05:07:45 +0000
Received: by outflank-mailman (input) for mailman id 383324;
 Wed, 10 Aug 2022 05:07:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CIQX=YO=gmail.com=lukas.bulwahn@srs-se1.protection.inumbo.net>)
 id 1oLdwV-0005Qe-R2
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 05:07:43 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d14d5cf-186a-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 07:07:42 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id w19so25699354ejc.7
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 22:07:42 -0700 (PDT)
Received: from felia.fritz.box
 (200116b826504800504e9aff21bf95aa.dip.versatel-1u1.de.
 [2001:16b8:2650:4800:504e:9aff:21bf:95aa])
 by smtp.gmail.com with ESMTPSA id
 ew12-20020a056402538c00b0043bbbaa323dsm7009781edb.0.2022.08.09.22.07.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Aug 2022 22:07:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d14d5cf-186a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to
         :cc;
        bh=WsXcmjBQTbbS4kpYY9SBHjgMTL8/jvQNRCwa0TQb/Dw=;
        b=Mv1ccTu9Pt7/8Od4hcaLuLZygPfFa1idQh4Iwor2NDR/berSoqrpXJla+nyBiiGbr3
         h3UKWCuKMcyIMtS989oOv41ozNXbnk/WtywEAN7OcoerrgnnR1KtA//X8kaDTpzAhekZ
         Bwj+qhKRj2694wPxYZussIJtV2Q4LxbutLacyKcUD8j9T4GJWPjqvTCp0jjDoJGA/L6T
         FvMZmq4T7WUv/dwkaF5zWQmKwkafAwCyrzU0+7Aok6GAv03naIFweHysXUuondhs+tFi
         ko08cm0RQP+mEek+uFcwOIZrPZRMCjtbxMSVHeoKONP17wKwbx5AkYB+xGtHEQzXCLtX
         +7Zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=references:in-reply-to:message-id:date:subject:cc:to:from
         :x-gm-message-state:from:to:cc;
        bh=WsXcmjBQTbbS4kpYY9SBHjgMTL8/jvQNRCwa0TQb/Dw=;
        b=kRvlk7KdFB9FFuWY7iQfNACyWl8Z0cJHDePV2vV74oDRRhjSmUXkSZR3VO0pNDOXOt
         1u6CSZcM7H0eibk7BOdoLJIoynBlAMkN7qiHOx9CUHND/uSn0viYyICC18nkJwuz1Hvo
         z2sJH6foBE6Hs13JuDQqdQztstY08wNsZodKTFqpV9Gy+LvQ9Mw+c1JCVTYAGhY91yfv
         EwBmrgYCCJW1WK9helC8LjaepTE+mlTzKy2g5T43bAp3xHazqVj+khp31CknMSpJbIjq
         G7cs7/e3gvYjUWtHYoTqelIV/rfFl2aHNQZUgLo2GaJbFe3UC6SHb6kyXwPcsawKvD/A
         MNCQ==
X-Gm-Message-State: ACgBeo1vEeyUcCl/v/D4RgteQHnfrngcVDzBZrX4yxvEFMrSl1IpDxbt
	liXConOCFONVeBeoO7C801wVXo2n7dM=
X-Google-Smtp-Source: AA6agR7yLzaBfBvPVm44Z2rLdVtw/TzNrHXYRUe4nMa+MCuJoOnDFeBpiEiZup/g1QpSARwuyVKKVw==
X-Received: by 2002:a17:907:1c24:b0:731:59f9:1b3f with SMTP id nc36-20020a1709071c2400b0073159f91b3fmr9018203ejc.595.1660108062166;
        Tue, 09 Aug 2022 22:07:42 -0700 (PDT)
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>
Subject: [PATCH 1/4] xen: x86: set the config XEN_512GB after config change
Date: Wed, 10 Aug 2022 07:07:09 +0200
Message-Id: <20220810050712.9539-2-lukas.bulwahn@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>

Commit c70727a5bc18 ("xen: allow more than 512 GB of RAM for 64 bit
pv-domains") from July 2015 replaces the config XEN_MAX_DOMAIN_MEMORY with
a new config XEN_512GB, but misses to adjust arch/x86/configs/xen.config.

Adjust this config fragment now.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
---
 arch/x86/configs/xen.config | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config
index d9fc7139fd46..8a6c88f48e75 100644
--- a/arch/x86/configs/xen.config
+++ b/arch/x86/configs/xen.config
@@ -14,7 +14,7 @@ CONFIG_CPU_FREQ=y
 
 # x86 xen specific config options
 CONFIG_XEN_PVH=y
-CONFIG_XEN_MAX_DOMAIN_MEMORY=500
+CONFIG_XEN_512GB=y
 CONFIG_XEN_SAVE_RESTORE=y
 # CONFIG_XEN_DEBUG_FS is not set
 CONFIG_XEN_MCE_LOG=y
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 05:07:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 05:07:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383326.618509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwa-0005yz-DZ; Wed, 10 Aug 2022 05:07:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383326.618509; Wed, 10 Aug 2022 05:07:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwa-0005yq-AL; Wed, 10 Aug 2022 05:07:48 +0000
Received: by outflank-mailman (input) for mailman id 383326;
 Wed, 10 Aug 2022 05:07:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CIQX=YO=gmail.com=lukas.bulwahn@srs-se1.protection.inumbo.net>)
 id 1oLdwY-0005Qe-Nq
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 05:07:46 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f10a15b-186a-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 07:07:46 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id gb36so25648268ejc.10
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 22:07:46 -0700 (PDT)
Received: from felia.fritz.box
 (200116b826504800504e9aff21bf95aa.dip.versatel-1u1.de.
 [2001:16b8:2650:4800:504e:9aff:21bf:95aa])
 by smtp.gmail.com with ESMTPSA id
 ew12-20020a056402538c00b0043bbbaa323dsm7009781edb.0.2022.08.09.22.07.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Aug 2022 22:07:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f10a15b-186a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to
         :cc;
        bh=bCpmS8+/1egQCooQQ3as3vVr8d5Z062qoLdPw2AMxfk=;
        b=Ws0xIKbmOrSvv/GU3aU4TtHDjsGwi+4skIXyJw1BB+aefIIdDylvwl0J33PfZddEEa
         cY7EIfT1zmqNkz600Slda0hXQmBlzKpV4vuYYKTfHpTlxAVm2JJM7+JSNeNeXMcY53WA
         gKyAZsDBJy0O27RxhqyDKd9oEf/UCClgw/3dTvFesuPv/n/lcO4ZbhOzG1+RXc0vcpNM
         qQHVWNT1KDJ3++qnF0AJ9TX5xfO+TZYYoC/jjoAtfF+qxRAYpCpk3EjU+kh8/fiVPXI4
         KQW6MG4hh2wIcyiNYXkP7F8p5wSaXuNYH83KuLRYE0Po0OlLVusocwqAmLD5EHKP/xAZ
         ji2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=references:in-reply-to:message-id:date:subject:cc:to:from
         :x-gm-message-state:from:to:cc;
        bh=bCpmS8+/1egQCooQQ3as3vVr8d5Z062qoLdPw2AMxfk=;
        b=fvW4RvSgrjNr6ZJ0AQSGr16iH7YWYB1jwLIJXo70B0QSWAEWpB7QD3ui4LTfCeLsTB
         DkUp26NUxmT+zulVSv3ORusXTNfIesbNMVsi0wDmgF2OmmfT6v8xiL9M0WrSjfI50pw+
         9j72Fk+LY6cbUGeh1Gu3u69Dzn05NCO94M+uPkEhS+2qM2e6Td44qSOcdq03uTaLF/Ij
         CMJv2VCwZSDemDmQrB4BSr6TGa6deuRCBtz0koLlQZ2JWKhkzpGhecXSs77RmSXPs/fY
         lrELsmgy+MToHVzYQVSEEHwmKc16Rt7EzqGrJwlPGjML2Jha3FBBtxp/BFferAwu1GFU
         M3KQ==
X-Gm-Message-State: ACgBeo1Fbim1mhxGbiRNcd5j8V27qp1LI35/mEqNCoIp+c92dV9xTId2
	/icJvQgICNrV3I5HVFRIPAs=
X-Google-Smtp-Source: AA6agR7A6pJB4+cJg9xZ39GJFciYKDsagwONe95BcFa0P2gL4hJaNt7U60kSZRtiOudoecQhFipbpA==
X-Received: by 2002:a17:907:6da8:b0:730:8ed5:2df8 with SMTP id sb40-20020a1709076da800b007308ed52df8mr19323388ejc.75.1660108065630;
        Tue, 09 Aug 2022 22:07:45 -0700 (PDT)
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>
Subject: [PATCH 3/4] xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic config
Date: Wed, 10 Aug 2022 07:07:11 +0200
Message-Id: <20220810050712.9539-4-lukas.bulwahn@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>

While reviewing arch/x86/configs/xen.config, I noticed the following
note in this file:

  '# depends on MEMORY_HOTPLUG, arm64 doesn't enable this yet,
  '# move to generic config if it ever does.
  CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y

Commit 6c6685055a28 ("kconfig: add xenconfig defconfig helper") in June
2015 adds this note. Fortunately, commit 4ab215061554 ("arm64: Add memory
hotplug support") from December 2018 adds the memory hotplug in arm64, so
the precondition of this note above is now met.

Move setting the config XEN_BALLOON_MEMORY_HOTPLUG into the generic
xen.config now.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
---
 arch/x86/configs/xen.config | 3 ---
 kernel/configs/xen.config   | 1 +
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config
index 8a6c88f48e75..024817bc4f0e 100644
--- a/arch/x86/configs/xen.config
+++ b/arch/x86/configs/xen.config
@@ -23,6 +23,3 @@ CONFIG_XEN_ACPI_PROCESSOR=m
 CONFIG_XEN_PCIDEV_BACKEND=m
 # x86 specific frontend drivers
 CONFIG_XEN_PCIDEV_FRONTEND=m
-# depends on MEMORY_HOTPLUG, arm64 doesn't enable this yet,
-# move to generic config if it ever does.
-CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config
index 436f806aa1ed..ea84d5b3122d 100644
--- a/kernel/configs/xen.config
+++ b/kernel/configs/xen.config
@@ -34,6 +34,7 @@ CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
 CONFIG_XEN_SCSI_FRONTEND=m
 # others
 CONFIG_XEN_BALLOON=y
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
 CONFIG_XEN_DEV_EVTCHN=m
 CONFIG_XEN_BLKDEV_FRONTEND=m
 CONFIG_XEN_NETDEV_FRONTEND=m
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 05:07:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 05:07:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383323.618475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwT-0005BS-D8; Wed, 10 Aug 2022 05:07:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383323.618475; Wed, 10 Aug 2022 05:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwT-0005BL-Aa; Wed, 10 Aug 2022 05:07:41 +0000
Received: by outflank-mailman (input) for mailman id 383323;
 Wed, 10 Aug 2022 05:07:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CIQX=YO=gmail.com=lukas.bulwahn@srs-se1.protection.inumbo.net>)
 id 1oLdwR-0005BF-Vk
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 05:07:40 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a656361-186a-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 07:07:38 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id tl27so25720871ejc.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 22:07:38 -0700 (PDT)
Received: from felia.fritz.box
 (200116b826504800504e9aff21bf95aa.dip.versatel-1u1.de.
 [2001:16b8:2650:4800:504e:9aff:21bf:95aa])
 by smtp.gmail.com with ESMTPSA id
 ew12-20020a056402538c00b0043bbbaa323dsm7009781edb.0.2022.08.09.22.07.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Aug 2022 22:07:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a656361-186a-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:subject:cc:to:from:from:to:cc;
        bh=VbxQoe6fQMjbmMOpKGDHrB2IUNlWA7xE7c6RSpLy3Nw=;
        b=IC7qDwj3uhTT/tFcQhX0fl7EMLGTEXGn5oBMYiSuK2Mlf8TK/1vbV1vtnOGgnf5dt7
         PIW9KtfwJjkiVzT2qnmm15x0hvLxc6edoBw+yw5XxQxy4MrmKwkDrJOUsAnLN6qi8Lvh
         ygKmYs2LsXBhzP8VN0k6HSklP9GJHeSfjUveBAgL08trFsbKIp6pF4zuqiZtwQv1nR/M
         7XcLqDPUUv8/2hZbHDr+HiMz6NuhWE0aOGU9j3BZpwlgoWlFTZOrxvUeyk+wG88l0PFx
         8emfmV2xOpJa7WgWKj5xHL46rWQF4LBpc3wKzDezENR+Mwwb4q5rH6crmhQAdYfr8GLZ
         1dQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=VbxQoe6fQMjbmMOpKGDHrB2IUNlWA7xE7c6RSpLy3Nw=;
        b=XyOZI/oJpXhPJz0fy0X+i2fpMY8hjODtw5vFS2ObbUnFgGBOwCcfb3xqaA0L5sV4Jk
         Nuhunx7lGMNEL4JAd6OsH4Eqjx27E3ue7GHJF+al4U+Hywt4tEGr0eUamt5NfMoS9Nm1
         CjWEFmneBcJFtu8vL/ycZ7Wa19/pV6J9VMvmScKER4fndW8EsapNkYBBNeNZe1ckwSD1
         yWtVvMAy6iNCUJsVVXTHj7mywQzugd+u1VF64aFWe63pGpIzE84j4+tlzZazZCknaaP1
         jMQSDIUqzKH1UOoFvfXzettmdSMob0e0djlpXZCwO2+u/94nGRhACcPLBbIgYoJwYmRF
         JIuQ==
X-Gm-Message-State: ACgBeo0/mKB2lVDvA87M+djgeVLu2Ul3uvG0qiZ321JjVCbsxyQxVlfb
	apMimaHjp1J/ejHOtN0Uovo=
X-Google-Smtp-Source: AA6agR4Ilc9Mmk6bCf71q9Y4U7vONUnnGKet9rfY352UzgsL/7b2MdbpGf+DD7cnLyWAO/IqoW1hNA==
X-Received: by 2002:a17:907:608b:b0:731:8a9d:5a2d with SMTP id ht11-20020a170907608b00b007318a9d5a2dmr5099609ejc.443.1660108057768;
        Tue, 09 Aug 2022 22:07:37 -0700 (PDT)
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>
Subject: [PATCH 0/4] update the xen config fragments
Date: Wed, 10 Aug 2022 07:07:08 +0200
Message-Id: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
X-Mailer: git-send-email 2.17.1

Dear xen maintainers,

here are three patches to update the xen config fragments to the currently
existing configs.

The fourth patch is just an addition to MAINTAINERS that I saw reasonable
after get_maintainers did not point to the XEN subsystem.

It applies cleanly on next-20220810.

Lukas

Lukas Bulwahn (4):
  xen: x86: set the config XEN_512GB after config change
  xen: remove XEN_SCRUB_PAGES in xen.config
  xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic config
  MAINTAINERS: add xen config fragments to XEN HYPERVISOR sections

 MAINTAINERS                 | 2 ++
 arch/x86/configs/xen.config | 5 +----
 kernel/configs/xen.config   | 2 +-
 3 files changed, 4 insertions(+), 5 deletions(-)

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 05:07:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 05:07:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383325.618493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwY-0005Wo-6k; Wed, 10 Aug 2022 05:07:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383325.618493; Wed, 10 Aug 2022 05:07:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwY-0005Ul-0q; Wed, 10 Aug 2022 05:07:46 +0000
Received: by outflank-mailman (input) for mailman id 383325;
 Wed, 10 Aug 2022 05:07:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CIQX=YO=gmail.com=lukas.bulwahn@srs-se1.protection.inumbo.net>)
 id 1oLdwW-0005BF-UZ
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 05:07:44 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e018c6b-186a-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 07:07:44 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id b16so17607439edd.4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 22:07:44 -0700 (PDT)
Received: from felia.fritz.box
 (200116b826504800504e9aff21bf95aa.dip.versatel-1u1.de.
 [2001:16b8:2650:4800:504e:9aff:21bf:95aa])
 by smtp.gmail.com with ESMTPSA id
 ew12-20020a056402538c00b0043bbbaa323dsm7009781edb.0.2022.08.09.22.07.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Aug 2022 22:07:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e018c6b-186a-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to
         :cc;
        bh=/QGtQjFwrpxqvD/2kl5l0yjrJcEXf60xBhPRPT4PMoA=;
        b=GAe7/3paFERirxke/DBRSvzvyfo3gWidABn7thm95giMW+HV2HqKwT8qUQuiRWv1XN
         ue5u3oJgkxX8+vB5ZTCuGdckZVwFAxgEKMwUB/reIkdRp8E8fhaerBfHmKkgcTvuPKEv
         c8ZDZOgYd4avspD/J2GsUOFl/nv+GlXPY43wEkeZtmJpqBBWGRYUPdG3JwIL8WiCftml
         40p0mA/44jsByBfIJsZxzxi0uZ3w8XW/lAAo5wrPUTXTdsm80pN1fASSj0ohcPkvmVqf
         a77AyZl8o26lasym7opxdvnGs2Hw30CUAvzh+e7vOPAyesecgnFzDfI0wcCvG7+BzBgC
         88Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=references:in-reply-to:message-id:date:subject:cc:to:from
         :x-gm-message-state:from:to:cc;
        bh=/QGtQjFwrpxqvD/2kl5l0yjrJcEXf60xBhPRPT4PMoA=;
        b=zqALxqKFtAg0Fxr9aROLX80pkOugvfzA15HSsPBwC1uorHj4nGiRu+IKbiCBHAt5K5
         T20P5eNFZacofbP9LFWUckldyydvsg+jmcwewZDJ3gbueZ7Y6eJ7lg4G6/NqG8jL6n7h
         95EBWZS2ivGyODTNMUtq9rG2AB/7mhjo0NeGEx+UZ+1CFScyQt+R6CTyLVYVCCmgiL2/
         NwVUukuUOPihySeeF+vtHyQgj+4zzIvVVWAnqXKIv8ZclOJC3ZUKuHkJBATdtM3W0L3E
         iu6a7UucplSioBj6L72HdKqRo6QWcG6P68JQ9NIQW/Ds8uhnRAjCEASUgkj1f4/Wt4BH
         Du5w==
X-Gm-Message-State: ACgBeo1s3ex0Txf26pvKAIrunnBqIngvU4SUZTCxHQd/u33xdj5EnsXC
	wfKiogNo8zoqsEMYLCx6LarG4K+9FB8=
X-Google-Smtp-Source: AA6agR50NrhEtvIkwWAt2TLZ2+KyugoS0bLjK72bNnhhj6ZmZeHTbWPqCbTWKO6YhrfRBVfwhckfCA==
X-Received: by 2002:a05:6402:c45:b0:442:c549:8e6b with SMTP id cs5-20020a0564020c4500b00442c5498e6bmr865379edb.123.1660108063872;
        Tue, 09 Aug 2022 22:07:43 -0700 (PDT)
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>
Subject: [PATCH 2/4] xen: remove XEN_SCRUB_PAGES in xen.config
Date: Wed, 10 Aug 2022 07:07:10 +0200
Message-Id: <20220810050712.9539-3-lukas.bulwahn@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>

Commit 197ecb3802c0 ("xen/balloon: add runtime control for scrubbing
ballooned out pages") changed config XEN_SCRUB_PAGES to config
XEN_SCRUB_PAGES_DEFAULT. As xen.config sets 'XEN_BALLOON=y' and
XEN_SCRUB_PAGES_DEFAULT defaults to yes, there is no further need to set
this config in the xen.config file.

Remove setting XEN_SCRUB_PAGES in xen.config, which is without
effect since the commit above anyway.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
---
 kernel/configs/xen.config | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config
index ff756221f112..436f806aa1ed 100644
--- a/kernel/configs/xen.config
+++ b/kernel/configs/xen.config
@@ -34,7 +34,6 @@ CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
 CONFIG_XEN_SCSI_FRONTEND=m
 # others
 CONFIG_XEN_BALLOON=y
-CONFIG_XEN_SCRUB_PAGES=y
 CONFIG_XEN_DEV_EVTCHN=m
 CONFIG_XEN_BLKDEV_FRONTEND=m
 CONFIG_XEN_NETDEV_FRONTEND=m
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 05:07:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 05:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383328.618520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwc-0006JG-OU; Wed, 10 Aug 2022 05:07:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383328.618520; Wed, 10 Aug 2022 05:07:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLdwc-0006Ix-KV; Wed, 10 Aug 2022 05:07:50 +0000
Received: by outflank-mailman (input) for mailman id 383328;
 Wed, 10 Aug 2022 05:07:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CIQX=YO=gmail.com=lukas.bulwahn@srs-se1.protection.inumbo.net>)
 id 1oLdwa-0005BF-LX
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 05:07:48 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 603d2cd6-186a-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 07:07:48 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id k26so25713418ejx.5
 for <xen-devel@lists.xenproject.org>; Tue, 09 Aug 2022 22:07:48 -0700 (PDT)
Received: from felia.fritz.box
 (200116b826504800504e9aff21bf95aa.dip.versatel-1u1.de.
 [2001:16b8:2650:4800:504e:9aff:21bf:95aa])
 by smtp.gmail.com with ESMTPSA id
 ew12-20020a056402538c00b0043bbbaa323dsm7009781edb.0.2022.08.09.22.07.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Aug 2022 22:07:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 603d2cd6-186a-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to
         :cc;
        bh=AYDlJnJ9PdqwWRCOXeLaxSS9GQWnExGZMPNDuuoNCE8=;
        b=bTfzSFHuqdVV0lFN/lzZnjifaJWhlYjtaAo1Ju6X9xnrzPfdXvNksvX94Xy3RNm4e0
         Mo9821IeGlN16p7oF4bUNWkUMBEiRDR38mAAkiW2tfLcSgRkWH+IL1kn4ANYCty1o6FO
         JMDWgAvxgqDhHN+hFR+CCGW6kuN4qer/EH+w2ZizF74vETRMr4fe46dEjzLc96Xb+Hq3
         adWDwQQXFnqviSrvb4sOEBhnqHqlumBOX2bQxTIsdGaLukSgPKq2vPqQpRd0ggX86e2f
         HHqjuoTg0lIPNrCr4nqOHYPSmPTrTRLnScYdD7VqPdv9v4IAj6I0dDN+Dx1GyCjxL/je
         bnpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=references:in-reply-to:message-id:date:subject:cc:to:from
         :x-gm-message-state:from:to:cc;
        bh=AYDlJnJ9PdqwWRCOXeLaxSS9GQWnExGZMPNDuuoNCE8=;
        b=Ku+yfvFedegEEthnMsZO/PHUa/g5gqU9Hf3qu04zH180eqpQNP3xmEe+QVZEnnPFa6
         QH0r5D+9/H6QZj62xqIMh7FSLo9DJeYLAgLjqUnqFUBgborLbTppWnfXabChYib5K+oy
         ph//G94zP2WiFCBYLnUmLW2JrfM6VgCCkvkCzdmQBlDCJJSpXveQqGo/XLDpGhqofh9q
         UWqh+Fc7jAyHToSzmCk1hA7MFfm0+8tgqN6MgImK0tVG9Jz9IRuQNgdDDT4G6vo5Sd6K
         hq/M+LwyUmzyMTh7LtQT0WKWPJTiO8UAHdq7qCBTYwcZ8YFItg2TAyyJToMoCa17nWYz
         LYow==
X-Gm-Message-State: ACgBeo0QOVoq8nYcBgWntxMKH1FKt6zBK4qjgVTR+bJQjrNr7/xUGUau
	tSW7Py1+m3lsf2g09Y0ApmM=
X-Google-Smtp-Source: AA6agR7N5grn3FLzeXuLrRUfydMKCMsMWlGBR3iW3evvHqazBms9Xge3hhbgiHz69CDY/9axn9gf4g==
X-Received: by 2002:a17:906:7950:b0:730:f098:86ce with SMTP id l16-20020a170906795000b00730f09886cemr15915974ejo.390.1660108067589;
        Tue, 09 Aug 2022 22:07:47 -0700 (PDT)
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>
Subject: [PATCH 4/4] MAINTAINERS: add xen config fragments to XEN HYPERVISOR sections
Date: Wed, 10 Aug 2022 07:07:12 +0200
Message-Id: <20220810050712.9539-5-lukas.bulwahn@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>

Make changes to the xen config fragments reach the XEN HYPERVISOR
maintainers and mailing list.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
---
 MAINTAINERS | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index ee2098fc6f7c..6c2516b3da21 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -22217,12 +22217,14 @@ F:	drivers/*/xen-*front.c
 F:	drivers/xen/
 F:	include/uapi/xen/
 F:	include/xen/
+F:	kernel/configs/xen.config
 
 XEN HYPERVISOR X86
 M:	Juergen Gross <jgross@suse.com>
 R:	Boris Ostrovsky <boris.ostrovsky@oracle.com>
 L:	xen-devel@lists.xenproject.org (moderated for non-subscribers)
 S:	Supported
+F:	arch/x86/configs/xen.config
 F:	arch/x86/include/asm/pvclock-abi.h
 F:	arch/x86/include/asm/xen/
 F:	arch/x86/platform/pvh/
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 05:37:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 05:37:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383371.618537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLeOi-0002QP-3R; Wed, 10 Aug 2022 05:36:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383371.618537; Wed, 10 Aug 2022 05:36:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLeOi-0002QI-0V; Wed, 10 Aug 2022 05:36:52 +0000
Received: by outflank-mailman (input) for mailman id 383371;
 Wed, 10 Aug 2022 05:36:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLeOg-0002Q8-Nm; Wed, 10 Aug 2022 05:36:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLeOg-0001C5-LK; Wed, 10 Aug 2022 05:36:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLeOg-0006r2-84; Wed, 10 Aug 2022 05:36:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLeOg-0002Ts-7Z; Wed, 10 Aug 2022 05:36:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=v7B+gIKPI2V4SxXiXaZsDb0BpyDTAXuru1VBy1j8iag=; b=yB4zjcsYOvcmSl30AXymlPwcoq
	vDyZiMXzieu8oXDX7zsR8u8LBrlj+pDRvwL/5oqT9Pz4vOBx3LkHZBCSyxu3AK8DaDncIUM6RTba2
	87Qb4r4O3S1eHEn0bKebnDW2alEjUaamtOd5QlsvywTBezvdWa/nvxp3OPT/YkEDuRh4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172346-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172346: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 05:36:50 +0000

flight 172346 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172346/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    5 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   50 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 06:46:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 06:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383389.618548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLfUI-0001CE-5F; Wed, 10 Aug 2022 06:46:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383389.618548; Wed, 10 Aug 2022 06:46:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLfUI-0001C7-2D; Wed, 10 Aug 2022 06:46:42 +0000
Received: by outflank-mailman (input) for mailman id 383389;
 Wed, 10 Aug 2022 06:46:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vQbV=YO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLfUH-0001C1-8q
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 06:46:41 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140042.outbound.protection.outlook.com [40.107.14.42])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f73bf63-1878-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 08:46:39 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR0401MB2478.eurprd04.prod.outlook.com (2603:10a6:800:5a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 06:46:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 10 Aug 2022
 06:46:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f73bf63-1878-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WBahJLMvGqk6inw1rRai79RttdYwZoeMAGgMToHKXllZlToZ56qVUecHQUONbUMRk+iBCzO3INqIG218Zy0PMnPGXfsijWzy0NW3q2Unp01q7yVX/d3VRuQ8kK8WvERA740anMA2wx/YW6qy3lGOhCTjtKUuvqvxfDv1e1OEzJKTGZbrMtpuAMk0lW9C1011zqVrhWbcXMl5yTk8AcFNsRZOkx/O6OJ/easmBVrsGhnTIm+9UPp0tybPTCzD+y0jNlTyhd2mI2e3b6LSEdD4vuKGyGPwdR1T821+xCU97XCF66Iv0y/Qq410hm32RLyrxIxNIRUSimq9/u5trBTsiQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XjwzMdFj6Fblo4bsU0dvsEvVxOff1AXLAp9EZTC9wvU=;
 b=VjT0JP4aQYRAOMfsRmG+2K6UgDhxupiAZs4Fl1NnnSHNs1jVqEMbIIrZQgZW0UMNd/z04cALRiCbDz5dodCNbtJ0YAtB6vM5JsImMjsYovzO7URK8V/Y8Hbu+wfvbSaA62gTbzH433NPzR8kBLVtJ0/9TGHKA6qtpio21ASWNtVKH8CrT+y9QQ/fXodm/eyLua/3HJdI1IFBNwuhS5tjq2EKTTnk1u3u5vOPUBsZ7XNYphkq66puHeT2CiK57OGnE/OUjLEIuomedGMXEwg+pLIkGyfTkOvvI1ZqVN+gBqmpYHB4tIXa2LQd8mNIwkIaKbkRA67Zs/UcFpGqcIH76A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XjwzMdFj6Fblo4bsU0dvsEvVxOff1AXLAp9EZTC9wvU=;
 b=xUfw4BGBAQqhdYIG/mWEDgfsNZruWWHjlsSWBvxpoHOdYE33kMKDJFdKE5ySwPv3cXO5okkFdv0HgHFaQnomkUj5xY57eoGGKngfC7x1yjiOxl7wQv99PZWmqbxKT9CfL09FuT7O6gRX6TV1Ec72KBI5u133YI79mqksbWQW2FQt0sUxeWIEWu0omY0XAT+qOnfKJrhKr6PSefd9uEGVYXGHFQi7b12XsXxVLkA7eLcbaYPIvh5xlOP8a7l5w5kVFhmQ622Fc0QOMG2LMXhVRGxfmAObLIDXhHYJj5uofYl8qsat0wNrSUWa5YQOXhrOY/Q4u1Mv5QBz7CV+qsDwGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5dddbf66-2cce-da1e-9d52-d1fbd18c4ec6@suse.com>
Date: Wed, 10 Aug 2022 08:46:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 3/4] vpci: use pcidevs locking to protect MMIO handlers
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20220718211521.664729-1-volodymyr_babchuk@epam.com>
 <20220718211521.664729-4-volodymyr_babchuk@epam.com>
 <381b3611-79c2-807e-c5db-d5c0d9ea4fc4@suse.com> <87o7wt9myq.fsf@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <87o7wt9myq.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f8cc68b1-fe18-41a6-66c7-08da7a9c1222
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2478:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+Qr0GOT4GSl1hMTRKIxMJNid3R9A15aK5tbERci9i4oXKjCPAY8/RMxA3jsp7eRbqUC6as8Js2zWTwEZHAEHzfNkpy6q8a3IphoC7SwhT/bhRL9a/Pk0u7eIpUF6ud8BNH8wM7ZwYjYScJFJtUi5I+4WNdjUSd3Y32b/1hVJ3TlYrv8HsYXjgo+i0ZQhzFAD0hMlw3mXdOl5mMufBS0ydiY/tRNi+LSKoNfeNGoOqdjuxXRhyRHrGv14i9Nc8l/N+r0lNQyqNS/rTwIW/ZGsWIL6nXEqPndEQbqPoQVmkTfAurcuxAolx2BhXRVqf7SOwYS0IJ62HOTNN6vh8iR+yqx4C+KA5BuOTVwxylTfX3e2UMvi+rU5F5IWyiO7mDwR7bxI8wQDezf4cyIoWqyJkzr1VSENZh7ZsA9BJB/fD+3x8l9s2k+qr0u8MKIGkDAjoRYMZ7lHZ6ljBoaU1taEDcPnsEghe9TOOo3X2jXksppIpEeRhzaUTz/BxI63zmfGjUq0/dg7Qu0AfpAGCl9vKpA/ll0O7yIRxDudf8o3b8ztGzT302hZH0Bbwogpe3uFkra7raa+Kv4MBSN8erUbi+mXcclTc1ApO8WjODmqTJPMlISI3VpMExZ/R1kHUT5kQ7jXch31G29JrkE65Pgshvy6ps+d9HHKivq5BCvHV1M3jRj1wANRoEhKkVrOHchipcMCoeGLmH09eBg9aBVExSLICIZ1rDhFva4Qk5GW46sdTGJFF3Aw+y8A4un+wYbMm41uxe3Q0WcrylPC9qN2Yz66bSakRI4MKWeZjx8V+6OVaS0uupad6ta1+ACGB/Wn/cKtN3r9p5mUPeG5hxwo4w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(346002)(396003)(39860400002)(366004)(83380400001)(86362001)(31696002)(38100700002)(66946007)(66556008)(66476007)(8676002)(4326008)(316002)(54906003)(6916009)(2906002)(8936002)(5660300002)(6512007)(26005)(53546011)(6506007)(2616005)(186003)(41300700001)(478600001)(6486002)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUxiRTFGUHlnMDZneEpEMTZNMDdLbHByR2FpRHJ6OFBWa1I1UzFEczZFUmFr?=
 =?utf-8?B?Uk1qTTZwYzI1UXN4S29lMGZtajBOMU5oRjlrRDBBeVJpQnBRMUxyWm41UlJP?=
 =?utf-8?B?YVgzaVFEYjE5Mm9icVlqK1FQL1ZBTHVSYjdid3RzTzlaZjUxNlFqRUpzb1pN?=
 =?utf-8?B?a09NMGpDVXN6WGptdkZ5alhZWXFLWWN5bjI1U1ZpUWdCTkFtUGw4SmxtbFdy?=
 =?utf-8?B?ZFpnVE9wT1ZTTXkvSUwwU1lBazJFY09NaTJoWFZRTXQ3V0VTWGdpeFNuQ2Fw?=
 =?utf-8?B?eS90WFpPcjc4RzlkbkNkN3FUSXltZWpUNVJFNVpHYWtkT3R2OXlsN3JiZkx2?=
 =?utf-8?B?SFNVQ2x1QS9xNkVXUVBsV0NBZUM3S3RBblFSS3FtdnFIZVBLU1g3WUJhZFJq?=
 =?utf-8?B?Sm9DbUQvQ21aOFY0YWFlRU1mekMwUU9iS0ltdmNzczlpUVplV1FSeXVPU0xF?=
 =?utf-8?B?VDEreS8vam44SlFjdlIyeFNnVGVWaytMdmxabXpqMnN0VHJoaEs0V0VCK1BU?=
 =?utf-8?B?c3QzekVDcnp6aExBb0trcGNPbXVNV1RSWEpSa0F1WENQdVZqbjhnQVh6MUhr?=
 =?utf-8?B?OS9Ca2pROFdsWDhBSnpINkRJaVNVLzVwQ003bExwc00yQmQ1TjFTckU2ZE16?=
 =?utf-8?B?VW53cU9IMmJjejhsUDN2Y2RuVWpjQjZmZzZ3SWc4RCt5d1F6OGZWSG5MR0Z6?=
 =?utf-8?B?VjhhYWxWMUFTMzJlMTdoSVNaSnZsNHcreDBybkwybGw0NlZrQmdFQjNZbEJJ?=
 =?utf-8?B?VGNTU0kxSnlmeXJDQ2FZSzU4aEc3Z3R0RzVESVErSVBDa1pNM0YybkxOQmJq?=
 =?utf-8?B?cyttUHJPZlVtdXZRamxWaGdHTEMrSEpsT0V6VHBnMTVoc2VsTlVCRXBxMStQ?=
 =?utf-8?B?dWZYVnpJNFdNVE4wY0JtN3NaMDExa0w2dkRkWFZJbGU1TE8rQkNocE5rU1JV?=
 =?utf-8?B?WnV4QXF6ZTdieVVCcTZ3Z1FkdC9iZmhkNUUyRDhBSjhiNjdIUTYydkg2N2pL?=
 =?utf-8?B?ZXM0OUNRZTh1TzhWQ1VGbGZDZDFiaERLV09TcGR0Q0ZqQ3E1bGZybkRIWFgr?=
 =?utf-8?B?ckNUZm9hUDZmMGowS3NJTE41MG4xc08zUnQ2ZmpKVExOTVdudDM2Yld3eSt1?=
 =?utf-8?B?WEVGaVFkQlpRRzVWSjJlMzZrZ3pMOUY5ZE1XRUp1a2czK3VUbEZEc3drZHVr?=
 =?utf-8?B?azFqUTdPVGZGSEZ1dVZuZWxWajczMWM4bmI2YWs1YzJnYVQzV0w2Rjc5ajEw?=
 =?utf-8?B?RW0xSkk5b1pCWThWdWVocjlKeUZwaHJEckQvblI0Wm9GUEx2VUY1bXBVenNh?=
 =?utf-8?B?Q3hKbDA4aXZtWWlmd1B5WWpvQVIxNEZ4Nkd1TXpnM1E2MStoVzFpTTRwU1ZV?=
 =?utf-8?B?Mm9oODA4VW13WjJMZXNLV2tzbkdTUURBVTRkTHNDT1llRUVGelV5VTFaZHZZ?=
 =?utf-8?B?Z2pxVEE1US9mMnI5djdlNmM0Y3RoMW9hdC9zaGhqdEh6ZU1oNE1qSkx3ajA1?=
 =?utf-8?B?VWtPUWFMbjM0eDIvVmMyMGVxRXpIbzJGdG5FMUhJVmxDZzllNm5Qa0c3Uy81?=
 =?utf-8?B?WXV5RnRYT1JaOFFUdzdubWNHeEpVOXE3bXp1dkRGbFZWVUxRTHplY2twRlg1?=
 =?utf-8?B?QndzWHk3NjhLQkRLY3IzaE5kbVhOc2xId2dmVFN0Z2VBdllmcHNDK0l0L3RC?=
 =?utf-8?B?RDh2QVU5aDVqY1ZpMWJSRmNQbjhFRWF2dmNkUGo2bzEwM3VRQ0JMcFNEN1RV?=
 =?utf-8?B?eXZvdDlFOGR2bTZobnpVbXg3VktOTUdLeUREZDY2MEoxRm90ay84WkYvak44?=
 =?utf-8?B?Y2hiYmN2NlFFdFVDbTBPY293UGZZYVFSZEpHV01ESmM0VzN2eWJwUkJBUklU?=
 =?utf-8?B?Y3lMczVqcUUrbHMxaXBIczBybnhDU0huNC9VTWczWmFlbHJ0N2wvS00yK1VX?=
 =?utf-8?B?ZjZ5eUZDOTI5TERGTkhCbGRVNUtQdmVrRG1PbDlqSnBYZlI4VUZ3K2ZEY1Fu?=
 =?utf-8?B?T1Q4VzRHZEhWRmNmVVFLcjNrbWpZc1lUMXUrVFRqVEZrRFpCZXdjY0ErNnNN?=
 =?utf-8?B?L0hwS0RoWTBOQy9CWU5EYjVpdFJIa3cyVnVraGUwYTZKNnZNa1BOTmV3YnlM?=
 =?utf-8?Q?hKStDUafTgf9ZKio4gKk+FJCV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8cc68b1-fe18-41a6-66c7-08da7a9c1222
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 06:46:36.6265
 (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: njwt49lHR+Z8cwyhXm5BW9pN0v8kH53ANEEXrAvtaFE53RBnFCnaTS4gd7tgaCohnNghMRd7DR5/5HXyAZBmLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2478

On 09.08.2022 22:33, Volodymyr Babchuk wrote:
> Jan Beulich <jbeulich@suse.com> writes:
>> On 18.07.2022 23:15, Volodymyr Babchuk wrote:
>>> -            if ( !pdev->vpci || !spin_trylock(&pdev->vpci->lock) )
>>> +
>>> +            if ( !pcidevs_read_trylock() )
>>> +                return -EBUSY;
>>> +            pdev = pci_get_pdev_by_domain(d, sbdf.seg, sbdf.bus, sbdf.devfn);
>>> +            /*
>>> +             * FIXME: we may find a re-allocated pdev's copy here.
>>> +             * Even occupying the same address as before. Do our best.
>>> +             */
>>> +            if ( !pdev || (pdev != msix->pdev) || !pdev->vpci ||
>>
>> Despite the comment: What guarantees that msix isn't a dangling pointer
>> at this point? At the very least I think you need to check !pdev->vpci
>> first. And I'm afraid I don't view "do our best" as good enough here
>> (considering the patch doesn't carry an RFC tag). And no, I don't have
>> any good suggestion other than "our PCI device locking needs a complete
>> overhaul". Quite likely what we need is a refcounter per device, which
>> - as long as non-zero - prevents removal.
> 
> Refcounter itself is a good idea, but I'm not liking where all this
> goes. We already are reworking locking by adding rw-locks with counters,
> adding refcounter on top of this will complicate things even further.

I'm of quite the opposite opinion: A lot of the places will no longer
need to hold the pcidevs lock when instead they hold a reference; the
lock will only be needed to acquire a reference. Therefore refcounting
is likely to simplify things, presumably to the point where at least
recursive locking (and probably also converting to some r/w locking
scheme) won't be necessary. The main complicating factor is that all
places where a reference is needed will have to be located, and (quite
obviously I'm inclined to say) in particular all involved error paths
will need to be covered when it comes to dropping references no longer
needed.

> I'm starting to think that complete PCI device locking rework may be
> simpler solution, actually. By any chance, were there any prior
> discussion on how proper locking should look like? 

Well, there were prior discussions (you'd need to search the list, as
I have no pointers to hand), but I'm not sure a clear picture had
surfaced how "proper locking" would look like. I guess that's part of
the reason why the currently proposed locking model actually makes
things quite a bit more complicated.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 07:07:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 07:07:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383398.618559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLfoA-0003fR-Uy; Wed, 10 Aug 2022 07:07:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383398.618559; Wed, 10 Aug 2022 07:07:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLfoA-0003fK-SB; Wed, 10 Aug 2022 07:07:14 +0000
Received: by outflank-mailman (input) for mailman id 383398;
 Wed, 10 Aug 2022 07:07:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vQbV=YO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLfo9-0003fE-KH
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 07:07:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2047.outbound.protection.outlook.com [40.107.22.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e114743-187b-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 09:07:12 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8836.eurprd04.prod.outlook.com (2603:10a6:20b:42f::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 07:07:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 10 Aug 2022
 07:07:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e114743-187b-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gcqa9X0Ka6PfU26V+dskoz4ZlMDvyJncMAPr0c4fbsERLrnvPKS9BVxGYlPBYjRcZUnMsPny9BXU96uTBJ2GWhNaMoqwo5ODi3SnmKVvbLgI15/2LwnN+Al9YMcfCjwY6pS6NBfUu7/9ul4alzRnFSdl+wcNuLUXCJ+h1CbpGAOwbCMSXX+C/HAOG/2kokBVG745U6m/qiwIoRc/6pj1/OKln7+B1pHlA3Xh1SSb5dbAEsZ1yoxW1my5ua81Ymd7NERqyQ8TQ9BPjAeR31B55XOcrWUFhGroOYhgdn0eaqOmS15p4DkQK/DKOOmR9cRvrtEVunekmyKpUF9k2rZloA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ve5nfEAtRdkA5f1HmqWO/FpqvoiXF0HJasJGkFJiBlc=;
 b=XUPAZ4k0Jn/kIpFe8D+Q6PIgdTTD5FRkC54Yql1X6UNvlHG7CK1WBQLi66oybSuwHLjeGoFsvZTa6guTEqpMdaOYBaqSINQnI64eFI+RLU1A+BuciuRgl45ZnnGKD9SZSwS6lJuBhd+aDIIOgA0nFoBDQ5HBpfqbqqzFF2Zj0BNEGpjtZs7myMXJ7SBOBAM1H/kKrCOvb4WYSgzw8Bu782fQV9Y9cjpHhl5PQhImFSsjYtcQ0CSs3UtfyvdpQR3qpcobaEKPI+ktChmrt+B7INWo4A+waDh91PUdCPqlQ1tbjKpY60C7xhMWPHODNii/GYXBzbyAB13MjHFOhlEk/w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ve5nfEAtRdkA5f1HmqWO/FpqvoiXF0HJasJGkFJiBlc=;
 b=m+dq/k1dVInov9VzokQCFOaqPP1bHGutPuS9GQ+5hegdCd94p2TJrNE9ax7frtXrWnwNnq294ul16cTIFEwtkMR6JtPxuruBilYy6Q8stW8APi27/H32cyfFy+aa5I/5sZJZeElgFwWUXpD/x1eCRRwcgfcMHjJcchQwDmR2vOBr6tUlxbrqJyE9xEI4GdB7wBR9ZWWIXKqTBmf2AVpEq6OHswbmNYG6ae2TaUhueSwdWohwPYXSxTqCkETIsRblIUG5OeeFGaSQzWhAyM8ajhiLwG1UcWKpMzoGxN3QED4Ea4JSOgBNRjljQeZJjiTYhIkvYfHEgk1aIm86U+N13A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d8930edf-d138-6ef2-81c3-ff4d9003066b@suse.com>
Date: Wed, 10 Aug 2022 09:07:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 1/4] xen: x86: set the config XEN_512GB after config
 change
Content-Language: en-US
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org,
 Juergen Gross <jgross@suse.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-2-lukas.bulwahn@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220810050712.9539-2-lukas.bulwahn@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0142.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 66127261-71c5-4e61-b687-08da7a9ef0cc
X-MS-TrafficTypeDiagnostic: AS8PR04MB8836:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PW0Zid2LEhxL0yZdPSB2Oov54SWlSjbOtuxNxDSTFnWejAidBHu8R8D0KKGdlCG2SEX/VQIox1EMvuQr7rWDQ+RylH0jRYUIBL+SE6OM2XeHWdR1yiB6oCHtlyyTpmmetP4o5LOkEsCk9l+iW+Cmr6sPTGmYb7Wu0SNB3X41zyrvM1W97EVC+JJYwQ6yrHsU3q0XeYp+jOXAayF6uwNTjHicy1Opm5uHb2PU8QHoiN/IcN333QbdRKnZJymjY4IYCRuXIsFrUXRy81oBo3qtdK/c7ull6fxpjJ5j5UcocQ9Z/ijg7votyLUwbkplShj4Qjn0dKahkwynWMKkYxRlIaMqD9rPbaGztQqz3f4AyF320Va/sw6WqKfjltX5K0Y81XSNt4U6HTURD/XYrRm2q9saHNKbos1YC4uAhTzxuV/jIbmVEPSiWMa3/KnElCzGhaHZrAettsxGMq6gyYYpYaYYpsd7OUEXf7NNcj4LoqwOJP26qO/MIDeeF298abecIbyYzuukcLLcUeMH8Q6I1qlfUvkTDK9Of+9jdSCa6OMfXp5uogxMXg7/pn2Omjrm02/TASf/6jMEhylHXIf+CljoDTPImssZheClFccvbD/5+TYF9Hgowqc1QCtVY24mqNXnFWds2wzu0kU91dxZhln1nCZcQdZkn8wZoSDmk4DATJzSdZiDbaptrSavZKyhdVS5S3iBVtRnDNTAIt20UpHnqlZPoZim/fuYXho5OAbd73RVTXfAB+DQbXL5KP5fEH6zZ3lXLiYxlYlyHQKEeE9paOIhD0vT7zWsBSHZQFXiEKPx5n1b3GEyzJw2K37w58L6StdBf0BWy6u8Uh6pcA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(346002)(39860400002)(366004)(136003)(31696002)(86362001)(6916009)(38100700002)(4744005)(7416002)(8936002)(5660300002)(54906003)(316002)(8676002)(4326008)(66476007)(66556008)(66946007)(6486002)(2616005)(6512007)(26005)(186003)(478600001)(2906002)(6506007)(53546011)(41300700001)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TC85MFoxMlVsVWwwVFdMd05JZU0zQ2dGSGNXMTI4ZTBsditJaEtaOFJaRnJ3?=
 =?utf-8?B?Q2JWWnhqYUlvNkpLQlpBbEYybkxBOGI5eHZ2WjBubFlzT2twR0NsbkV0VEtj?=
 =?utf-8?B?YWR4Ykc4RjlkOUlmZlVoME1KLzc0bjJqeXRRTWpsZ3R3WW02cjR2V29Fa1dw?=
 =?utf-8?B?eTUySFY1TElHcW1Lc1AxdnlaM0JVa1RyUkVrRFBQVDZWNG9adUQ2VTRhUDlT?=
 =?utf-8?B?dTVqWUlpeXBGcnVFM1VaV3cwaWpBK1lZRlBJZkk2WWZuS1RwY0xIZmhxSUlC?=
 =?utf-8?B?UmVXYk13Zy9NNmJtaUZnL29BNThSSkdMZDJiTmdUTDFWRjVXZzVhZXpwVFA2?=
 =?utf-8?B?MkI4MEo3Wm4yZk92S3NJV2pIaDlpMFpuV1lFMEp5d3o0SjZvdUM2YTNnTGRV?=
 =?utf-8?B?M3FrQmlNZHdMMDNVS0tQYTRvN0M3UDA5WWlrTXp2VVV5RHlxZVNycUJFZ1dS?=
 =?utf-8?B?ajc3OVlXczNQc1NmQ285MVNaL3kxUFo3d0JIdVFlWXp3dVVqWllpZnNjdXpY?=
 =?utf-8?B?MHNzM1hsYXZHRURxaVM4akRLYjkrM0tYUjRtMzcrQTRFL3B2cjNaWTlhM0Jo?=
 =?utf-8?B?cHJQYzY3NEhJVXZSUWRoM1BTWVYzRGY5NWhYQ3FmRm1RUlFrWHhwV29kZFhN?=
 =?utf-8?B?bThKbmJRcVlqVTU0K3pQY3hiSkY0aHUzWmRocVJSM01DNU5oZ1RhOTFWTTdu?=
 =?utf-8?B?VkNXZkN6WGk3TGFySG9mbWszQWJiaEVnQzBpVU9IQlpGbW9IZEF6OWVkZ1Z0?=
 =?utf-8?B?bVdsdkQ1UHNvQ1gwcXhwMk1VY1RVcVF3bWlBL0REbTh2a2YrYzBIS0NYRDlz?=
 =?utf-8?B?UW9uUWZFYWUrTitoallwZ01QblZwNGU0d0QwaFpRQklSTURDQ2l3cFQzZUs0?=
 =?utf-8?B?TGhEZFJJVGorV1FPSkZwcjhkNTVHT2p2TjRaUXpYT210Tm5TdGVrY00yRzQ0?=
 =?utf-8?B?RkVUYnJzdlhlSGFacnlBYmNIWVlRS3cranlyL3c2ZkVrWHBha3pLWk8wNTJz?=
 =?utf-8?B?WVkvdVMrZlNTZDdsc3NBR3RnR3RhYm54RTc2VEsxWHNOdDV6cFRxV2p6T2tP?=
 =?utf-8?B?cEszVm5LMUhrSTh6b3NVaCt3cGY1ajlEWllWeEFXeDh3cDZ4QnJGcE8waWpp?=
 =?utf-8?B?elliKzFtMUdSZWJiMDh5VS85NllaL3RYR2xzUTA0VEF3QitJblR0N1dueHFq?=
 =?utf-8?B?QSsxWEhjTUR1QXlFVkorcTBXT2oyYkZKQThWUTNHL2dodUk3bVdrSW9peXVr?=
 =?utf-8?B?UDJZUDMvV2NvdGdBVHN2UTFxcVdwMnNGNXhWNjg2ZXhTUS9XTzFDT2pmU2tG?=
 =?utf-8?B?SVgwT3VDdDFwTWdQRmt1dUNVNCtoQWJ3WVJMTlBnVlJkNm9DTkY0eUg5Y1ZX?=
 =?utf-8?B?ZVc1T0kzdDYvd0c5cGwyS1AxditUcG4yUXBabnNoYWo4Z1J4TjZQVldrdU5o?=
 =?utf-8?B?NjAyem9rSmlieEpmNVdUdGtXM3FDcEtSUk1IVmJUd29jbUxzVXVJaUNpM2lB?=
 =?utf-8?B?aFh3YU1tT2RDWUNUY05NektuQ3lMQ04xTlVSNXlTU2szVFdxa2tTNFFPRmlN?=
 =?utf-8?B?ZjB6QzBiQVNmV2NFTlVMNXBmenV0NWVjM3RsSUJyREkrdnBrQlVGU2xOU3cy?=
 =?utf-8?B?cDJqY1RRcGFuRzd2WExuY2JlRE55eWVMRU1yZU9RdTJyVEtZdWNNcEg0MG1a?=
 =?utf-8?B?b29Zc2p4YWZaUnR2TnNtR05BaEFhYzg1cWZTZ1dBKzFFVXh4aitRM0NZOHA0?=
 =?utf-8?B?aFB1dVQyYi9XNUJON1RtZHQ0elp1RXY3SEdySmdBcTRzdGRiT1BnSlRUL1RT?=
 =?utf-8?B?cldrTXlaZVN4UTJhbnBoN3VWVTNja1BPUHhzaDZKc2FPZ2hBdDBWamhjTXF4?=
 =?utf-8?B?MDJ3MGlYYmpoVVN6eCtQWUxrUkRid2pESzVSaU1MZVRxMmh4b3JxTzVJZVMr?=
 =?utf-8?B?ZXU5ams5QnhUdHVOczV3MlJaRTRZSVJDeW5vQ2h1SUVyVTM3aWdSS3BrUmlD?=
 =?utf-8?B?V0g2MWRZT1FWNVBJSk5XZVRpUkNjcGNTalo5SkZvanF1SG1LTU1VRTJ1eEwz?=
 =?utf-8?B?bVdpL2lkd3VURmsyb2JHWFdiM2JMc2R2TG5sK0RyUEg1MnczUnlOSEVrVFpi?=
 =?utf-8?Q?1ZK/7IXXRDntO0jt+zNq84y2i?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66127261-71c5-4e61-b687-08da7a9ef0cc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 07:07:09.0965
 (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: x6TPmTE9f5WmEcxpSSbi3a3SnNnuLUuqWa/HhnLQypaXEwES4IZrdUD+dFxUaZebzVX35TMcdjUwJEzFfmbglA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8836

On 10.08.2022 07:07, Lukas Bulwahn wrote:
> --- a/arch/x86/configs/xen.config
> +++ b/arch/x86/configs/xen.config
> @@ -14,7 +14,7 @@ CONFIG_CPU_FREQ=y
>  
>  # x86 xen specific config options
>  CONFIG_XEN_PVH=y
> -CONFIG_XEN_MAX_DOMAIN_MEMORY=500
> +CONFIG_XEN_512GB=y

Does this actually need setting here? The option's default is y, so
it ought to be turned on "automatically". Hence I think it's only
the stale line which wants deleting.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 07:10:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 07:10:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383407.618570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLfrV-00053X-DS; Wed, 10 Aug 2022 07:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383407.618570; Wed, 10 Aug 2022 07:10:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLfrV-00053Q-Ai; Wed, 10 Aug 2022 07:10:41 +0000
Received: by outflank-mailman (input) for mailman id 383407;
 Wed, 10 Aug 2022 07:10:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vQbV=YO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLfrT-00053I-Su
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 07:10:39 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130079.outbound.protection.outlook.com [40.107.13.79])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 898e7ada-187b-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 09:10:38 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB5405.eurprd04.prod.outlook.com (2603:10a6:803:d6::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21; Wed, 10 Aug
 2022 07:10:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 10 Aug 2022
 07:10:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 898e7ada-187b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nU8qHy7FJ9nkTItK+6vk0i5YVxL4vYnH6chSdxgmYiqYjiNIqgKBz8ukOPADBoI6QG+GAElD+YXdVvVxE7G9WubzFhRFN1Soguyws8bJ3CpDm7h9NGJEMVHZPIhhRx7wGxPSsEu++8kVo4WMGBaE4pAF5tf+FwCX4VPXGoqZwH/UIZCRuuYVXJkiTVjUL14Mid+rzhMlm1R/h+SzGAbMKj0cfPRuCrY8ld3eWmAJ7Pw6ReUJYx56y7yT732KS0myfNclm5/wkQbJ6UA3iPzOpmNnrs6AwcqEKGKLoxs6qFaIrbY6LGDJM9qqSWEO4wdZswcoT0oGdW2B7RsZT2qfRw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MOKjV8PwDXsbXnXM2KUxg293fjuhA015i6GA5Bq9058=;
 b=VX7CFb/Cb1uDYSp6CJjq8F6KgzpTXm8MUqWuEem+gzzEVk+cFrieYOamuonu7RhD0L3KuouR6Y8M5gxX69Gd50VoNztJr8x9PK+vT6ZX5iCxaRlcc2n4op/JDSnqjR1J2+VJa5aCTmN9zKcYK+pPrwP3BUGmIVUwk/uId+ceLliOKcdJUOV64t39nRcJuemE8X4WGeRDwmNln3D4Hz+sOytMeQhvvhmp4O30A5kr4ViDLiQDHUYpdsPSp4lqDsk3O2wjc4wMIGQ5cak6O3sYhCY/mWIecatLCNzSEmer3qOShYRwy8BQEDBxjr7iGnr1pLqoYAGXn78HVTy89I9qdA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MOKjV8PwDXsbXnXM2KUxg293fjuhA015i6GA5Bq9058=;
 b=LXzOmGHH7eNWXQTlPAP/aTntlzCjyyBXJhT4uQM3vf0leFfWz6OqzdCJZ/dSak5FjvmmstwZkVi1VD6bhMmuQQ3yn12jkJ3u43SWohxbhI5eHlOel0PT5kt/YJOYknWa6NA5ty9Y+krNSDD7CCwSFa+0as0HLohimin8FKA4HaN0hTUqQrlVqmOPlARLF8wYPXB+5x8vMeWnpm9zGBvPJmBX75Qs3z/Jhi57VhDAyYw8SVXTbjJypSa+KvO6FTh/3tg/2qQTo8oKy+z45AdabgbTBkIJNPorzQsWLEHYwhC2oKlwAkV9ZEbcep/pejb5YKwtx0etWLv3zYkj+zcatQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <97ed879f-9b2e-a1d6-ca89-e98081f90cab@suse.com>
Date: Wed, 10 Aug 2022 09:10:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 1/2] x86/spec-ctrl: Enumeration for PBRSB_NO
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220809170016.25148-1-andrew.cooper3@citrix.com>
 <20220809170016.25148-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220809170016.25148-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a4af6ef7-c1f2-49ab-8986-08da7a9f6b7e
X-MS-TrafficTypeDiagnostic: VI1PR04MB5405:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SQmNsaIdoIfjneFNgU0FMmLKkqLvXpwjlA8eJDJrjjypAlbkgACGNJ1y88q1bV/awIR3JBWjA3TIQgs4IbndUH6ig+jHCgJ9+lPgYAofmFXitypRade1mVT4ceHOMfeT8RXcG45BX8XE+jjl6C9PpdeDirqsfAGyAYrcHEgTpeQEfo4oAEGYh//Ed0sUFFXzRl2pwZetIusBiDXjo11xsofPlUgGgdkHwCZEJooU774VI+hMkf0ooSppwDp9uDWbzKaEx6m3QCOS/wGfZ/ilaVWCkKvKSWq7/MdNGDo2upVKaUDdrbKsVlKOgE27O0v2I4CY6H2qA+22lviQO1ugsCHzV3+9L3/Kcng6Ql0y9VQhVlgF05M+1bgv6/ua5INdeZefyVFzmuZQrUxW9/swZOWNwqrh2RUxay/JKIJdcuJ+Js7hR6MJHLwnacyAkcfAIkACTSB0xUZvHeRiXS5z1QeBJjSoQ2bh0khicCuc8ZYkpmf5EQaxDcjuNl4+AEDCf/3/02HDVzfpccbLZzetVz+Z6HXTtEwZ11vYujnUML91LbM16AKCx+XVE+jyxgjCOis2M9X3g0UDTe5CltWXnO+wnqOcxcvISdCkFmRQXeJf5gXdiXeiLEicm/I7dhbR+iSF90GC0uE1V/IhGsmf5bPOV4SvKel2VUNy16CJV8Z30gyLP4Tqjfh74sB/Bw5AuRS5u3IfEn1eACcwQF8fVn99AgI0/vKk7IRrq7Q3NhdWubtkImxEMYV3YMZlz2/p93aJDxmCh8EhnakYHxEuq7JoLUzedXbHACYN4E1bJY/zaIb7nwZ8s/Av1BGlNW0GPkafA74U/1E5Yhcg6G5VEw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(376002)(346002)(39860400002)(136003)(31696002)(2906002)(8676002)(31686004)(66946007)(558084003)(4326008)(186003)(66556008)(5660300002)(66476007)(86362001)(316002)(8936002)(6916009)(36756003)(54906003)(41300700001)(6506007)(6512007)(53546011)(478600001)(26005)(6486002)(2616005)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MEF5UldUODE4RmM5SFVUWkROZCtXdzB2WE5nbldRYVhIQ2J3QTlIOWF3L2VC?=
 =?utf-8?B?QkVOOFRyN29QaDJUNzRyUHBZVFJWRERZTlFPRjBIWkdMZXkvMmVUZG1CTmFC?=
 =?utf-8?B?VUZKRW02VXlVQWR3OGNPc0lGMHZLa1VUZlVQVE5vRjhPb1FhZDJpc3hMbHZH?=
 =?utf-8?B?bFpweC91UFhrM1NhRWV3K05WNDBkek9xeWV5RHpIbnY2aWszcmNpZnNJTWVp?=
 =?utf-8?B?RlhCOXVnak9KbG9tM1JyYWcrYnI1S0JvRzdVQ1dXYkM0M08rVGJISXdUK0lk?=
 =?utf-8?B?d3BRbVdldnhKUHlYOFVZSXZhbzJYQ0tGcWhGaGF0eEc5OHE5MHBNMVBCRzZm?=
 =?utf-8?B?ZFBWMGQ1bkhqVko3dlRhSXBqbzd5OU5iMHlVYzh2QU5vYmxCSmtvdEVGcUc1?=
 =?utf-8?B?R2xaQ1hiWEsxMnFmZHgraGtNQjFCcDE1TXNHNmN0cXFGVUtwS3BMeGcvcThu?=
 =?utf-8?B?WXhURlNDdHpPUWx0NEdPWlp2dUR4d2FvYW9iaHNWNlpBcUZKeW82RkxsVHB3?=
 =?utf-8?B?bVJTMFI1NEpHMnhJTW1ZcS9jWm9DVC9LTkp5ZDRKVzF0aFJPQmZ6czZWeHVO?=
 =?utf-8?B?TzJtNVRRV080aElNblZuMHg1VHFUS0dWUGtYYlF0RkVMeDZSaTZDd3JESEpT?=
 =?utf-8?B?M1BUQUVMNkw1aUFVR2N0V1hNS2VtWncrdzN5RmhJS0tNQVhBazNzbCt5NFdv?=
 =?utf-8?B?Ni95WDFLYldtVXpWUjNRSHZMWEZQTWNPVHVyMXNCbU96S3kxOWp1M1BKYUhj?=
 =?utf-8?B?cGJoWXJiYndOS05WamN6S3Q3VzRYRlpRZk0rMkpaRFpvdW1raEh1V3RpL2VE?=
 =?utf-8?B?cFhHSkdjWHJ3VTJzR2lxVlRWcjRpR0hNSFN4azBGWW9aOEF5aXNJdGNBaGQr?=
 =?utf-8?B?b1Y4bVFScnJZYjhxU1RPbktvanlJSER3TjdoK0h2NE0xQzhNaDhFUW1LbXZN?=
 =?utf-8?B?UnFSTmduOU5RSlR5NDFSQUNUWFRCNWZ0TXI2MEVSM0puamM2SVQrbExCNDU3?=
 =?utf-8?B?cjdxc2lScFkwQUpoanBzWGRZT3g0cE55Y2NuVi95dHJpMmM2elZmTmVib1pP?=
 =?utf-8?B?Yk5zdGlLbWg4ZnVPOVdOQkFneHFoV240S3pFQTBOb1dvcW81UnRWbjJPQWtx?=
 =?utf-8?B?bVY5aHkzOW1UZHVEbjRMZFgwSkIwN0ZBWThCait6MWtleXltaVpkVXlIaUlS?=
 =?utf-8?B?UW9FZTd5VElpR3MyYlhUQjFKSlhEZ0pibG9BeW5WKytRSVdxT0NiUWk4Mmd6?=
 =?utf-8?B?cm9RRVVTSWYyUTFDeCtyQmFxb0U1ZlBZemtRM1g5TXdkRW4weUdLNHFKTEZJ?=
 =?utf-8?B?aEFYekdxZk56MmhNeDZZR0RsRlZBdmRSNllheThESUtLTDZMU0F0RnZpVUdY?=
 =?utf-8?B?d3RiTE9qWVBhcVJwL3pUSnJXR081bFlzbzc2dlpxeXh4THNqVVRwWXF3Rkk3?=
 =?utf-8?B?dUExSUVLbjd6WTQ1Y01jMW1RQzBFc1U5S0p4ZHQzVjFKczhMM0E0aEdyK1ZK?=
 =?utf-8?B?RFlFS0VBUkFWSWdCaFY5L0xaWjFUSEF3ZGV0Z1VPY2g0cnEva0IvVnZOKzZp?=
 =?utf-8?B?cWxLUVdXNVlxZzZkVDNsbVVLNXdXcUVCVkI0aVA0Y0psSFBia0I5dUpwcVQz?=
 =?utf-8?B?L0hnMVd0Q042WHFFYm1aZlNSQVBwd0dZKy9GSmhYL1N4eGNuR1FQdDNIOVht?=
 =?utf-8?B?TCtXckVHc2Q0eVBaQXByQSsrb0FESTAzRDhZR2NIb212L3BFbExuZkw2SkxK?=
 =?utf-8?B?Qml0c09jZmI2THlUTFBaZCs0eUc4L0hJdElHTFJkNU9oZDhzdXUvb0NRZ2o3?=
 =?utf-8?B?ZmVIcldVL3dQTmR6Ui9xZk80N1VsUE41YkZIVlBESHlUdWR5K3h4VEk0ekQy?=
 =?utf-8?B?VUpJaTViU2RrWmtXdEczYWRjd0VGemdyWHovcEthN2I5aVVmZGlkSHNqSkwr?=
 =?utf-8?B?SUxHbU1IVk9CSFlyWFpTTllaWEgvMkg0ZlVNU1EvVVVRaGdoYnU0VlVOVmJ0?=
 =?utf-8?B?aSs1cG1tRHdEYmV1aWZGUUprUENuWlRUWmRRaXkwZGhBOTVMOEZHaFkvK2dP?=
 =?utf-8?B?Um5xeDdJTHhWSmhOcnFpN0hIb0ZBV2NvbWQ3Y0tOVnY0bHJ3eURvWlN4WEdP?=
 =?utf-8?Q?K//50g18pc8XuI/xyHCtjkRe6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a4af6ef7-c1f2-49ab-8986-08da7a9f6b7e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 07:10:34.9752
 (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: HGvsulwbixgh+YGpx+QcrZDL8Fe9mHWoqP0pEPGMn3jUQbrm5Pi+nzn8QEmC7b/AqK0tfuedrSPMeTJWbXnkaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5405

On 09.08.2022 19:00, Andrew Cooper wrote:
> The PBRSB_NO bit indicates that the CPU is not vulnerable to the Post-Barrier
> RSB speculative vulnerability.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 07:53:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 07:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383418.618587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLgWk-0000qH-KL; Wed, 10 Aug 2022 07:53:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383418.618587; Wed, 10 Aug 2022 07:53:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLgWk-0000qA-He; Wed, 10 Aug 2022 07:53:18 +0000
Received: by outflank-mailman (input) for mailman id 383418;
 Wed, 10 Aug 2022 07:53:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLgWj-0000q0-68; Wed, 10 Aug 2022 07:53:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLgWj-0003WM-3S; Wed, 10 Aug 2022 07:53:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLgWi-0005t9-Ns; Wed, 10 Aug 2022 07:53:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLgWi-0001qa-NR; Wed, 10 Aug 2022 07:53:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yy/0I97ThWRbGNn4cXoZ66IA3MhlBQ8AhvtcVRMJZWI=; b=i6QrJvPADZvph8tXO6YUE6TIOZ
	KyZUdaANnGE2Hee95MQTb0x1AfrgpHbCm1pVANZDWkNVBlZPFujFcXRpyDr5+1xXvDh5Kxmu3FmT6
	gd1C30ejv+07XVzO8T+MziVF7P0JOh2bF8jjJTQ/uemvwYY4+JCBo4EvAF5XqLDrE1ns=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172351-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172351: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 07:53:16 +0000

flight 172351 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172351/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   51 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    0 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 08:01:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 08:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383432.618598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLge8-0002og-NQ; Wed, 10 Aug 2022 08:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383432.618598; Wed, 10 Aug 2022 08:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLge8-0002oZ-Ko; Wed, 10 Aug 2022 08:00:56 +0000
Received: by outflank-mailman (input) for mailman id 383432;
 Wed, 10 Aug 2022 08:00:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vQbV=YO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLge7-0002oT-Ju
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 08:00:55 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2065.outbound.protection.outlook.com [40.107.20.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e9e51ec-1882-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 10:00:54 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB5757.eurprd04.prod.outlook.com (2603:10a6:803:e1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21; Wed, 10 Aug
 2022 08:00:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 10 Aug 2022
 08:00:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e9e51ec-1882-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N4rRMNhDz+AEMf87mfQHlNR3Pt+lnI8FmYtqbpHMSF/9b+HNw1GzC6ROcx9FnMxR+Z9+Ez+MNgt7MYPIG5XRakDuua4t7vTzI4ydq49tMwkI9dfgDwJkQ9+6u9r17x9F0PVYuxM4zYMyxTYfQDr4h/t0+CcMGknL3y06nF52R+jYgwk6RPan30oOI6skuiDZZ4rrUNSLMnw0LRCCCnYmqXkB50gI+qDwON0mRhoQaKZWog+aCY2R9oNo1fAc+YrTa/sowRerx2fjpbS99s5togQmE5SJDIEE0MHczxnfmwNlUXw2OUW5kigqlOdAn/F8w7IVhODezaEKx/S1rEgRlQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pY+3BS1Mb7BKXhmIry/ksX6jz3RwGWGwVyg6zzLgMws=;
 b=ofo/KTwZqhANIe8fZq+aaCxu3dXL9izwDtoL/bUfWsiXID9s7De56vZXvJavUc8wVbZtFUlCjwnz8x1W3KFwNv8J4QMBtDQN2iigjRv8j8Y7EY4NLSaUcxT9XHkHDTHzbLnh9lZEGt6UzpErhR1aA7VrCqAgaR16VJGDoUjsubOdbWDDSZBAjWu6CsVVJ3bEz+FDUNO1K15SyxJpp0hDi+lqgcpCxcwB9HQYtI9SbZZyWiEyPQt34yRcYIpnU83XDGyM7kyK+oFXAstGmJEkK9zoBpx0qZxacSQDykFbXHYTxB7mTXuppi61eqQ4HQXy2TAACm/pZ4Qf6dUix+24PQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pY+3BS1Mb7BKXhmIry/ksX6jz3RwGWGwVyg6zzLgMws=;
 b=GI9zAop7pGEhnOWfzkRTFyTuu2ypN7lq8spXQ3yWFZqxsvGG+XMmXjNcnU/S3Rnj7A/QXDvMcUZkCI/YmuTwELlyYjZZymmLr2BqzmcvjZ9cTN4bqHMjbgbbWOQhRVNGOW2aaTotM//cbhGGfi/04lhgOkJPvGk35v5iVQDrzaO2E47Of/+3TidLy8tJeh6rjrtL238yKpXSkhi+cPPaF+x5Yvy8944capeWcM9+DjrlhHoIFSjr8NluwKM7Oq8KZ/FsxzrWWt0yl/xaLvnoZTRPDm+RCMDJGD2VoTwcc829DHv2oeVRYtlH5ZVnTkIJvNKIoXkU3k01KLs5ygAeBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b45778e0-9ad3-d32d-e226-7171cfb59394@suse.com>
Date: Wed, 10 Aug 2022 10:00:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/2] x86/spec-ctrl: Reduce HVM RSB overhead where possible
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220809170016.25148-1-andrew.cooper3@citrix.com>
 <20220809170016.25148-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220809170016.25148-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 639d668b-b6ce-46fe-2b52-08da7aa670df
X-MS-TrafficTypeDiagnostic: VI1PR04MB5757:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uVraFzDdj9A6vapoPcehVQY8L8ZzSEY5CWNf6zSBpqFT+ww35Bo6kGulc2kMkykZcJaWELJe+M2zXfgd4iO53oIsm7Dt0UsuT5rRmNq9YdQwYJ6NiNQdReyEhufaJAWtpfgfoXvWE87QefbEi6xH5ls3JoYpbNgMOesXq2/yDunSl3gB1B3TNl6VwU79XwbMoXFIP6KiLi3TPK4KHsbR520CvcXMr3rLNkHTl3hXfxUMgE9kwOkllldl2oLOaYCUchYJIOQsrlU5F/AXqOzJs4ci36hfhZ3iRF4EtVnPmnd1rnjEU5+5nmYew9MoPUKCcasBf0Pkmzqaiu9FtQ0LTJiPdsrgkSUYdcpJ6FZffXxaKqj6MXEC9Svzar7c/2KM2cYl1WgNK4o+J5AS8G8lJdsCbre4EhMDziskJt2vvFDNynOSwIl0VNBXCIgSaywGFmIZabL79GS1FBXzqY0khAJOvLT6Hy4qU45QkLz4Q56EQPJNsekeRtpTwx9PFKq3iSTPWhHQnPrIC5ZcYMG4u9aiQlhC3Am35ZLnw4ZEjeBv7wnBpgluWAre9v/pWjH0zlOLRUntX4Pws47vj3il96G/WnxhGBr+EAZLlQ9aeKwBU0mFFEpdBQJ0wptO12u9WGyrV60ltnY8lNeZ+GL68TKnCvJ836Lib1LSfgHmHKjaBEjQsDRnMNUWNBuaE6aufHhsSyJ/L9Ow2Am5MJGfMj54ftPTTP7FlHxnEckYV5AmGn8BlTcYd/cje9E3u1ppT11LQ9pHQ3odzwfI2zWbySccwDplxm+VTP6m+NmDdNqQhBLSs2+rmCi9BzMQPjS92xxAcxROft6TB8UwGHdLrw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(396003)(346002)(376002)(136003)(26005)(38100700002)(6512007)(53546011)(31686004)(2906002)(5660300002)(41300700001)(8936002)(36756003)(6506007)(2616005)(66476007)(86362001)(31696002)(66946007)(54906003)(4326008)(6916009)(8676002)(66556008)(6486002)(478600001)(83380400001)(316002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amVGd2VwMXNFN254WnBsMDhOYVNmREQ5T001RXFERUpMWWZiTlhRb0wxR0JV?=
 =?utf-8?B?S3dmZ0JoYlR2b0RORUpzUTdzMHNRZnpndDRxc3N2QzM0SVJHSHBFazlJbzZl?=
 =?utf-8?B?SE5remNEOWtySjdTWHA0R1JzUVQ3cmZ5L1NJS1g5aU9mZlFkQ21HZERmR0dn?=
 =?utf-8?B?QU80cnF2U3R0M3JWU3RFa0RPQ3VZVFlDMk1rQUo0elFUajcrWHlpNm80Z0gx?=
 =?utf-8?B?c3JaS2V0WXFJRzk1bk94UVFKUWQyQjNEWXpsSGRPaGJNdm96eE1lU21aTW5h?=
 =?utf-8?B?a2IvNlljRDJNR1VCdXFhQlFXZjhBbEJFbThFZlo0R0tLNk8vLzhudGRpMlhr?=
 =?utf-8?B?c1NLWmpEUVhWcHBEd2Fscm9ydW5xOSsyc3BlVlB1MjNNTmJLOUZQSUp2ZTQx?=
 =?utf-8?B?RjZ0VWc0cWxQQTBzQ3pjUEtscWVwNE1Qdm0vcWNBSjVqMzFGVk5qejlsWFRO?=
 =?utf-8?B?bEMvalUyalYwTTFyRUlsdk5aQ2N6RThRQitvWFVDTHdWcGhQRUNtczFORlcz?=
 =?utf-8?B?NUs3elhKWldUUXl2RVdVcWFCcEFLOHFuTE5tOU1GdlVSTXl3eDJoTHZXVm1D?=
 =?utf-8?B?bFRVVy9lNFNzS21NTnRjOUh4WVdRU282aWI4RDJ6QzlrZHBZaUY3Sm9QOFhq?=
 =?utf-8?B?cVRQNi90MDJzUDlTUWdVdXEvK0dGT21QTnFKcVRaRFpaRThDK25ES1JUR3hU?=
 =?utf-8?B?eWpUVHFvdDVucHZ0ZVB5YUlqVVJBcDR0SEdRU1BNdmdNSElHY3F0MnA3bmxI?=
 =?utf-8?B?Rnk1UXRJY3NIYVpJM201b3d5VzQ3Q0hhZlo4UkMrVVg1TmphSWJhaWlhRDVM?=
 =?utf-8?B?M3NDUzlrQTVKTEhlRFRzekg1Y0k2UHF0WXlySDFKVmNsQmVHZTUwd1NZOTZV?=
 =?utf-8?B?UUgyMjhSaVRyeklPSEd3eDJ6TUxlRmU0VFJXb1dDTVJLS3pXaDl4OGpuNHB3?=
 =?utf-8?B?MTdHUU5vVU1LSGYwU2w5ZkNtcTFscFVhVTFUTGYvK2RxNnNYNk1FaHlmbFE2?=
 =?utf-8?B?dnhzOUJpQzQ4cWw1R0drYVpwSHg3NDU0bzRjUlBjV3lCMXRkengweVdoUE5X?=
 =?utf-8?B?YWxSamhUSjBJckprTllub2JXU1ZralRnQ092TDd0VStuRHRBL3FQZmkzMHN6?=
 =?utf-8?B?dllOeWJUWFVHQkFRSkkxeHZMWU16UC94N1E4amRUdW1xVWY2V2d0MDBReFB1?=
 =?utf-8?B?NzNqc2NUNHBZeTNsRmhhQmhuRGRTeEtrZUVueCsrU2xXTmFoMUk2MHlDR0ZU?=
 =?utf-8?B?TG9RbzVBMUYzWTBZb3ljS0YrV0VJUDRJTnN6c0w3TE5VaVN3SnlhdEUvVVB1?=
 =?utf-8?B?bUlXa3M0UXNuL3ViS29pZUEvdU1pVlJ6OTdvQ3J1N292ME9kRXhEM00xcnBJ?=
 =?utf-8?B?RlVxQmtidUV6RWJhU3NzT2FERVR2U2pPbi9jVFNNTG83RVdRSDlLZEY2N04w?=
 =?utf-8?B?WEc3T1lUOUVhbk1jNCtIRjF1eUF2QlBoeG1zcEoyUlV2RE0wSjZvWkIvN0d2?=
 =?utf-8?B?L0FvYnhSc0s3QmJndkJ0bzdwcTZFVWxhZXdaRVN3YmR4VHFQcW9raGUzRnBG?=
 =?utf-8?B?M2UwR1gzTlBMM3R0RkoxcWh1N2N6NnpENk4wNFlXbmRwaVVabFJJeWU4c1NF?=
 =?utf-8?B?ZjFkL3NOZVJneGVOcTVRWk0wUnZaSWFGSUNnM1FCbTZuUDZhR1c5dFZBNGFn?=
 =?utf-8?B?STJhQS9YVFZRVUMxeXlnUFcyRHVEbzR5ZW0yY284MUxrdmhTSkRZUzdKVDdh?=
 =?utf-8?B?YkdqZXRCblRwcFRTTlJCbDVzVDhuT21CV251YTN4Y0xqMTJyNm5iOCtYeHFm?=
 =?utf-8?B?OHRtRnZxWE9yTDd5UFNQOEUzWDh5cFI2MDhWRjFEQ2JWdE9pdXYvSFhBUWJ6?=
 =?utf-8?B?ZFN2TWp6V2c0OFhnR1ZrR0xwaXBRT0FEY3JZRmFKaGcyMTVaMFA3MkZTRFNO?=
 =?utf-8?B?UndaRjZVSnJlSXp0ZnZKUzdTTEpKbGt6ekFnSVc3cFZ3QWRDZTVBcyt3ZEN0?=
 =?utf-8?B?UG8yRDJXSzNTdDloVFZuQU51TU5hQ3U0R0V4UEt3cEJkNUlGQTB6OVdQLzZE?=
 =?utf-8?B?ZGZtZXNtbm5FTkZmVkJYZThDaFVMdjRrZG0zcjN1OTZiVUJkNHRwQnF2V2p3?=
 =?utf-8?Q?nLxrESm4mHcoy+Zu2xyeex4vA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 639d668b-b6ce-46fe-2b52-08da7aa670df
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 08:00:50.5211
 (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: Xd1ODA6/3jtIezLHy2bGXI1T1mbbuMt9u5SCWLwiTBpK24DCCHl5AhECE2lTJdZ7q3MsVNMAXSwvleK3J9Wj/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5757

On 09.08.2022 19:00, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/vmx/entry.S
> +++ b/xen/arch/x86/hvm/vmx/entry.S
> @@ -44,6 +44,7 @@ ENTRY(vmx_asm_vmexit_handler)
>          .endm
>          ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
> +        /* On PBRSB-vulenrable hardware, `ret` not safe before the start of vmx_vmexit_handler() */

Besides the spelling issue mentioned by Jason I think this line also
wants wrapping. Maybe the two comments also want combining to just
one, such that "WARNING!" clearly applies to both parts.

> @@ -515,7 +515,8 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
>              boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM) ||
>              opt_eager_fpu || opt_md_clear_hvm)       ? ""               : " None",
>             boot_cpu_has(X86_FEATURE_SC_MSR_HVM)      ? " MSR_SPEC_CTRL" : "",
> -           boot_cpu_has(X86_FEATURE_SC_RSB_HVM)      ? " RSB"           : "",
> +           boot_cpu_has(X86_FEATURE_SC_RSB_HVM)      ? " RSB"           :
> +           boot_cpu_has(X86_BUG_PBRSB)               ? " PBRSB"         : "",
>             opt_eager_fpu                             ? " EAGER_FPU"     : "",
>             opt_md_clear_hvm                          ? " MD_CLEAR"      : "",
>             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM)  ? " IBPB-entry"    : "");

Along the lines of half of what fdbf8bdfebc2 ("x86/spec-ctrl:
correct per-guest-type reporting of MD_CLEAR") did, I think you also want
to extend the other (earlier) conditional in this function invocation.

I also wonder whether it wouldn't be helpful to parenthesize the new
construct, such that it'll be more obvious that this is a double
conditional operator determining a single function argument.

> @@ -718,6 +719,77 @@ static bool __init rsb_is_full_width(void)
>      return true;
>  }
>  
> +/*
> + * HVM guests can create arbitrary RSB entries, including ones which point at
> + * Xen supervisor mappings.
> + *
> + * Traditionally, the RSB is not isolated on vmexit, so Xen needs to take
> + * safety precautions to prevent RSB speculation from consuming guest values.
> + *
> + * Intel eIBRS specifies that the RSB is flushed:
> + *   1) on VMExit when IBRS=1, or
> + *   2) shortly thereafter when Xen restores the host IBRS=1 setting.
> + * However, a subset of eIBRS-capable parts also suffer PBRSB and need
> + * software assistance to maintain RSB safety.
> + */
> +static __init enum hvm_rsb {
> +    hvm_rsb_none,
> +    hvm_rsb_pbrsb,
> +    hvm_rsb_stuff32,
> +} hvm_rsb_calculations(uint64_t caps)
> +{
> +    if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ||
> +         boot_cpu_data.x86 != 6 )
> +        return hvm_rsb_stuff32;
> +
> +    if ( !(caps & ARCH_CAPS_IBRS_ALL) )
> +        return hvm_rsb_stuff32;
> +
> +    if ( caps & ARCH_CAPS_PBRSB_NO )
> +        return hvm_rsb_none;
> +
> +    /*
> +     * We're choosing between the eIBRS-capable models which don't enumerate
> +     * PBRSB_NO.  Earlier steppings of some models don't enumerate eIBRS and
> +     * are excluded above.
> +     */
> +    switch ( boot_cpu_data.x86_model )
> +    {
> +        /*
> +         * Core (inc Hybrid) CPUs to date (August 2022) are vulenrable.
> +         */
> +    case 0x55: /* Skylake X */
> +    case 0x6a: /* Ice Lake SP */
> +    case 0x6c: /* Ice Lake D */
> +    case 0x7e: /* Ice Lake client */
> +    case 0x8a: /* Lakefield (SNC/TMT) */
> +    case 0x8c: /* Tiger Lake U */
> +    case 0x8d: /* Tiger Lake H */
> +    case 0x8e: /* Skylake-L */

Hmm, is SDM Vol 4's initial table wrong then in stating Kaby Lake /
Coffee Lake for this and ...

> +    case 0x97: /* Alder Lake S */
> +    case 0x9a: /* Alder Lake H/P/U */
> +    case 0x9e: /* Skylake */

... this? Otoh I notice that intel-family.h also says Skylake in
respective comments, despite the constants themselves being named
differently. Yet again ...

> +    case 0xa5: /* Comet Lake */
> +    case 0xa6: /* Comet Lake U62 */

... you call these Comet Lake when intel-family.h says Skylake also for
these (and names the latter's variable COMETLAKE_L).

What is in the comments here is of course not of primary concern for
getting this patch in, but the named anomalies will stand out when all
of this is switched over to use intel-family.h's constants.

> @@ -1327,9 +1400,33 @@ void __init init_speculation_mitigations(void)
>       * HVM guests can always poison the RSB to point at Xen supervisor
>       * mappings.
>       */
> +    hvm_rsb = hvm_rsb_calculations(caps);
> +    if ( opt_rsb_hvm == -1 )
> +        opt_rsb_hvm = hvm_rsb != hvm_rsb_none;
> +
>      if ( opt_rsb_hvm )
>      {
> -        setup_force_cpu_cap(X86_FEATURE_SC_RSB_HVM);
> +        switch ( hvm_rsb )
> +        {
> +        case hvm_rsb_pbrsb:
> +            setup_force_cpu_cap(X86_BUG_PBRSB);
> +            break;
> +
> +        case hvm_rsb_none:
> +            /*
> +             * Somewhat arbitrary.  If something is wrong and the user has
> +             * forced HVM RSB protections on a system where we think nothing
> +             * is necessary, they they possibly know something we dont.
> +             *
> +             * Use stuff32 in this case, which is the most protection we can
> +             * muster.
> +             */
> +            fallthrough;
> +
> +        case hvm_rsb_stuff32:
> +            setup_force_cpu_cap(X86_FEATURE_SC_RSB_HVM);
> +            break;
> +        }
>  
>          /*
>           * For SVM, Xen's RSB safety actions are performed before STGI, so

For people using e.g. "spec-ctrl=no-ibrs" but leaving RSB stuffing enabled
(or force-enabling it) we'd need to have an LFENCE somewhere as well. Since
putting one in the RSB stuffing macro would require a runtime conditional
(for its use for alternatives patching), can't we leverage the one
controlled by this logic? That'll be a slight abuse of the name of
X86_BUG_PBRSB, but probably acceptable with a suitable comment. In the end
it'll simply be another fall-through, I guess:

        switch ( hvm_rsb )
        {
        case hvm_rsb_none:
            /* ... */
            fallthrough;

        case hvm_rsb_stuff32:
            setup_force_cpu_cap(X86_FEATURE_SC_RSB_HVM);

            /* ... */
            if ( boot_cpu_has(X86_FEATURE_SC_MSR_HVM) )
                break;
            fallthrough;
        case hvm_rsb_pbrsb:
            setup_force_cpu_cap(X86_BUG_PBRSB);
            break;
        }

That way, aiui, it also wouldn't get in the way of print_details(), which
checks X86_FEATURE_SC_RSB_HVM first.

Otoh I can see reasons why for the stuffing the LFENCE would really need
to live inside the macro, and in particular ahead of the RET there. Since
we don't want to have a runtime conditional there, I guess we should then,
as a fallback, extend the text in the command line doc to warn about the
inter-dependency. After all people "knowing what they are doing" doesn't
imply them knowing implementation details of Xen. But then I'd still be
a little concerned of the "they possibly know something we don't" case.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 08:12:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 08:12:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383442.618608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLgpZ-0004Lx-U7; Wed, 10 Aug 2022 08:12:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383442.618608; Wed, 10 Aug 2022 08:12:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLgpZ-0004Lq-R3; Wed, 10 Aug 2022 08:12:45 +0000
Received: by outflank-mailman (input) for mailman id 383442;
 Wed, 10 Aug 2022 08:12:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vQbV=YO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLgpY-0004Lk-6h
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 08:12:44 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2081.outbound.protection.outlook.com [40.107.21.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 35585cfc-1884-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 10:12:43 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9141.eurprd04.prod.outlook.com (2603:10a6:20b:448::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 10 Aug
 2022 08:12:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 10 Aug 2022
 08:12:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35585cfc-1884-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i/BrmW2qd15zMtsk2Yw7bhllWo0J2eDyMui5Qx/zAKjcqAdRPt3PaZxx8YrDdwCd/jJCN5XZ6LuHgpGrWwMI210QJi88uu5SYP2yh2ob8niZmHHjNsKp/Ciftp3wkJGglPwX6m6rHyVkxSZv3UzUoJNgfWMtK//cK8Hm3j6CNEbY6n7OguZU9omdW+N26ODT2YPCOq3XyQ1riwnID3i5ZwLGzRQ/GIZFMmCznsD43BCoGxfTTzpGz5Le0n6mduxwKBfj240Mmtx+IVLjFuX4fGMHFKhJBy/dbutn6c4CRN2L74v1/TKO07NLaQasQLUUgU0xXxhBHJ2Nx9R98jkPRg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NtygoRxhESv/N6X1/yEBbnxt1q39SAhRXgxSwy1OZzc=;
 b=VLiHX8m8wTasQlz5K2WV5VcvytibU1OJXirOkHakmOykgqCesLRmsI1DiyWgjhcDCuVXQJsGnrAYVo+oInREQxBX2V98gSD66393pwMDXSNP3/anGhirFWGbtf29A53Kj39Nrjv/GuQN9M+2qISZoBCmIiU7rc5lx+mWfZZkjwIkLV9HSsdmOea270WJBBg3s7RHDx3Vn269I3GfJ7wTa8xhH5AWbS8I3nQULldYYbV5nmcG/MfZr2bKwcXVGKV0saoWuYoE/ehA9f6Cfbig4hZhx02gLl9ql+oweXb6a3b3hItbOSC9SvplMVXltr+/xhqP9QPvyqwCTwSpak5jnA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NtygoRxhESv/N6X1/yEBbnxt1q39SAhRXgxSwy1OZzc=;
 b=GmoRjM3G5CfRfxdPZFwBMVHj0FX7tVSe7ShQU2ZZgdyi9Uz8j3AQqZB6YNqdJWp7A+rJuYaHadGARDBzD0oc2kAb+Fmvctp+9UmUQ1ru7d1asi+I6RTWwuCzWw8BWIwY7EBrj5ZS2Yj/6aWoJ4LN1T3H5FR2J4gFfCPR7Mg49t567oKfFqeMr1VyoDP85+VK8INlSknJ3x5eSw5/lqQx5n5rRftbKRrZzAlKJtqla4BykAIt0xO/PMQmS+Ia8bAOnKQjUTAk6dN1s7j/qOF8qlYWnoNM95ycdsBsOjZmQtYmk7lCCi1PPCOy3Jl4cAEWJpPrClzl/uZJ6VSCGyseIA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4d5ceaf6-5e2d-6f5e-f8d6-67483cb68daa@suse.com>
Date: Wed, 10 Aug 2022 10:12:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/AMD: check microcode size against CPUID-supplied limit
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0033.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:81::46) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f673c2fe-8ef8-4a7d-4ff4-08da7aa8185f
X-MS-TrafficTypeDiagnostic: AS8PR04MB9141:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	URMDcsEu5cvzojMLbVU/u1cs4NnmzCh8sfaoJBwVBwirlq2Oi7aLmd0Vs0GjI7C9xN40LFgTAzGvBKxkYniLp111jYytJEsDW+0vB9l5rBB8WT/6SpY7bAhyFKcercgbR8tE1A0qn1uJhu7Oapm8RSjXvjLOxO1AtFWRaIhplxsvE4DJiYkbUUKF8ZVNozow/fCGCO6EzRjjTdXqB2cuVZshQf9HeVOHu7KUNj7NXnUwadF/sy9heNOmn1QhxThpu2BnGJ5F68G+B+nlM8JadpIRyntHxAPdXoRKy442Bn/SdmsXhy5Xnt4+U92twVeOT8Wha7fm4SqXocDcDb4xYP/kNNNXV8RV83mHpRcQW0TYagAgBOFFxinhm995YWhAkQi/lyQ2hiyRimTVH/j84+HJtB9Y3f8wMlqVAYxgq7rhTvxNx1WmgBE4Cbl8jqyHNqwaljj4SE2qAIV4MUr1qNrXDdmuRarDg7exhepVM8jdKOs2iHwGgopF1jQXbbmFLzyflAZ1q0Nu8H3xqF0fGBP8zC1p0D0TzyBeZCPW2mPHxerEnDPhGtQSd5CBwVTI11/1BSoCFKdXA3MlATWag4IWGxBUesQGwKKQdxLmMNguvohjRFleStSJuaMZgHDzYFkh2QYd1rF9qkV9R8wzNiRb8OFEfkAa73ebEb2ALkh5YqZzRLsM1cew5KaLtT9j+B+zB1naNfPLiWWpPuxHo7EtYe2wYaA8zgCkNDaFyI6HoQCFeoEPVF8MSj2nvF1gWL918+m2uMxBILpkLptdCDj9r8DKHIVzEYNUtGNUVrBj70KgKgUlDam1XfDEpfAvtOSrewljOMTqhw3ReAUAmQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(346002)(396003)(136003)(39860400002)(376002)(41300700001)(31696002)(2616005)(6506007)(86362001)(6512007)(26005)(38100700002)(186003)(83380400001)(31686004)(5660300002)(8936002)(4326008)(66556008)(66476007)(8676002)(36756003)(66946007)(2906002)(6916009)(6486002)(478600001)(316002)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eENucExuRFNzeUp4elR2TGNJWERIR2hLaHpQejh3MVBWZFlkNDJRbVc2TUo5?=
 =?utf-8?B?cEViNFJNN1RKMjQzSXd5V2FqbGREY2lqRkZRSzQ3aDJmYm9BeDdOWG9PMUpp?=
 =?utf-8?B?UWhiZ3FtTnBaTE1hMkoxeWV2WEdPMlcvMnVRZ1V1K0lKRUdSQjlKNGpzTmJh?=
 =?utf-8?B?WDdRZkFVTDBvcXBLc2xPMFQvcnJUdW16L2dQUEtvS1VhNnBTRXVsaWhGcWVi?=
 =?utf-8?B?Wksyd1Fvd1ROOFhWSzQrSXVzUjdib3oxSlhVd0Evbi9OTG14Yk1tZ2Mwd2Z2?=
 =?utf-8?B?VnFQSHRBaXVnb1JEUnBQY0VzdnliTkR5Ui9SdFVEVHpnNUpRcWZqRkZPTlJw?=
 =?utf-8?B?QWVmOUhaVEh5TFM0ZmZFNlNtdmNBcS9kTkdjaW5tSThhcFN1VlBPQTI0RldW?=
 =?utf-8?B?NFZ5WnBIRndtcWRCdlNKZ1UwZms4UE9jelZBMzBFQ1NTNjBhSzlqSnVJOHo2?=
 =?utf-8?B?YmJZekQ4bGlyVElQaU9jazVEdVppdWs5UkNKQVBzd0U3Z0FmZ0tUb0RjdWpE?=
 =?utf-8?B?c1hUT00xOHhQRkVBYWNZRlBEVTZzRlVpZzJFS0E2MUdYVXVsTDVNdEpXKy9Q?=
 =?utf-8?B?cjdzT1F4cXc1WCsxSE9STERTNUo2WWNodVNzVzl5V0p1S3RLS01qcFBQMFhE?=
 =?utf-8?B?WGZZQzhkOFkvLy9XY1lZY2RhVmNJenVOb055b3hVODFkQ1BOb0dhT0pWYW9Z?=
 =?utf-8?B?UzNwaHI3YkR5eUt0eDcwMEtBcTN0MVQzeFRZWE1KT2xXd2V5dFR1SEszdlNW?=
 =?utf-8?B?elhUV3hDdmp3dUVWVExPakpDV0QzRUJDbisrSnN2WEZpazRQODFpek1YS2NL?=
 =?utf-8?B?TFlBc25aV01OUmRvalpIcVhJUlZTcm43U2p5emhHSG9aZmd2SGhOeG1oUjNE?=
 =?utf-8?B?SlZibjVUNnpDTTJUSVJ5THF6Q09MSy9tRjFzZ3hVcHVQdTFxZmFCVjZQVkQ5?=
 =?utf-8?B?d3BQckMyZVNUSUtIeExEck1CeXR2STRxdUdzZWoxT2JKbk9SSHhKaUgxdWxS?=
 =?utf-8?B?dXR5RHMrZm83Y05Ld1J2U0I1cjRwVGhyR1hnRlE4Tk4yd1BNWUpNNEZLSUs3?=
 =?utf-8?B?SEJ2MTBsZVBvYXdrVEs2b3VUd1Q5WkFNcnlpUGVYYUVod2hZZVdVV09uaUp5?=
 =?utf-8?B?ZHFxa1R4VEtvY1VEbkI4RVd1Yk5uNmYvTTVtYUVRbStRTlZOVVVxdDFzaWg0?=
 =?utf-8?B?aTBIZ3A2a2ljbDkzcFowMkwyb1NKUGFxdCs4YjdMS1JKYk1LcHBSWkxFVTlm?=
 =?utf-8?B?aUhuWC9zSzhFOG9ndld5WHNEVXZNTldMcHZIMXN3SUdlZEZFTzluT2xtMVdT?=
 =?utf-8?B?STdVMlhzMjVXTDZuWm4rSXJJY2Vqenlkc2hsQllqWTRWSk9JeS81d01zaUI3?=
 =?utf-8?B?a1I5TGxCK1RmRVJPMW9XcVUwckhVUjE2NVlhY0VQZlJHOTFqOHpINVpzb2xO?=
 =?utf-8?B?NXhjVFpteXNuc09BSlNYOSs3SG43VDhURWQ4UkpHN3I3Wmp2eXpRa3YzaUl3?=
 =?utf-8?B?SHk1YVMyRWRHVjMzR1VmRnRjaWJ5OVdaaTlGTUppWEJ5MEd3UXRidHl4Q1o5?=
 =?utf-8?B?cVNLTWgxN1ZGcXdudXZBQmpUNkJhazdtK2RGTjZPOFFpSGhHa0JKcEVYaTlD?=
 =?utf-8?B?ZmhCa2tDTE1WY21pNG80T2kzbDdZOGVucGpNTU1OM095REI3cGN0cm5zV3Mw?=
 =?utf-8?B?dFI3bkY3a0o3S05xb2ZGZTBPdU5pTHE4eFRRM0lDajJYdmJmR0VOdU1tNEZj?=
 =?utf-8?B?NzlKd3FsRzdTOEhsNlUzZjBuZGsxdHlQZjQ0aituQ2JrZU0xRDE5Q2RhSFVL?=
 =?utf-8?B?TG1KUW1odWVMOG1mWDlHL1AwdjVaLzM1RXkrN2lyMVVGL2VEQ2JHUUJLRDRV?=
 =?utf-8?B?ZG4vamFOSGltc1lVdmlNTlg5WXJTSTN4R1JsbW9CUkJDOGtpazcvc010bncw?=
 =?utf-8?B?Tmpra2x6NUlmN2VFS3Z4NEFYU0p1ci9tbGcyWXFNM01XLzVJUHpXcFpWL0lZ?=
 =?utf-8?B?QTNQczJkYnJVZVpDUTQ2aVNFUk9DTFNPYk51SFQ5ZURxWExqTFNoanhpLzZl?=
 =?utf-8?B?enhTbDRvNlplc3U1UGZiNTBnZGllMkJkL2luamJKUkdUZW15TVI3T2JnSkl0?=
 =?utf-8?Q?9KAG4osPNbA08jj/Mt9fhXs8q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f673c2fe-8ef8-4a7d-4ff4-08da7aa8185f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 08:12:40.9590
 (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: +q0JbOU17Iezp5O2GHwtBll2rdHeFhO470/CjnFbGPHZ/Qpsfqe86UX13k69lT9qXW2zy2QQxUCb0+AGnXtzGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9141

With there now being a CPUID field for this, let's try to avoid further
growing the set of family-specific "magic" numbers. Sadly on the boot
CPU it's too early to use the host policy, so an actual CPUID insn needs
to be issued. Let's take the opportunity though and make the extended
CPUID level available early.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -352,7 +352,9 @@ void __init early_cpu_init(void)
 			    &c->x86_capability[FEATURESET_7d0]);
 
 	eax = cpuid_eax(0x80000000);
-	if ((eax >> 16) == 0x8000 && eax >= 0x80000008) {
+	if ((eax >> 16) == 0x8000)
+		c->extended_cpuid_level = eax;
+	if (c->extended_cpuid_level >= 0x80000008) {
 		ebx = eax >= 0x8000001f ? cpuid_ebx(0x8000001f) : 0;
 		eax = cpuid_eax(0x80000008);
 
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -108,6 +108,13 @@ static bool verify_patch_size(uint32_t p
 {
     uint32_t max_size;
 
+    if ( boot_cpu_data.extended_cpuid_level >= 0x80000021 )
+    {
+        max_size = cpuid_ebx(0x80000021) & 0xfff;
+        if ( max_size )
+            return patch_size <= (max_size << 4);
+    }
+
 #define F1XH_MPB_MAX_SIZE 2048
 #define F14H_MPB_MAX_SIZE 1824
 #define F15H_MPB_MAX_SIZE 4096


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 09:01:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 09:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383453.618624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLhah-00012R-K9; Wed, 10 Aug 2022 09:01:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383453.618624; Wed, 10 Aug 2022 09:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLhah-00012K-HL; Wed, 10 Aug 2022 09:01:27 +0000
Received: by outflank-mailman (input) for mailman id 383453;
 Wed, 10 Aug 2022 09:01:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLhaf-000129-M0; Wed, 10 Aug 2022 09:01:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLhaf-0005FK-JY; Wed, 10 Aug 2022 09:01:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLhaf-0007sz-4u; Wed, 10 Aug 2022 09:01:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLhaf-0001p4-4R; Wed, 10 Aug 2022 09:01:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bwdatGZvNEwPsiGKU8qoB8msG12T7ELenAeAVVSL/9g=; b=CN78sCGlStjOQRBcl4p8ul6UIY
	IsizkJ+tSjeTOMPPz0jGvQrnx2ToVirMnon3lqRhooR+ruyuGoooDdlaU9iaV6E1oT8bRvPfms2VV
	w+fMKbJtO7KPNJfj3NTZ6oS9VunbJ97cNqPXVE2roqRSuqb4AjoZDMFLGmHbCTiMkwfs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172342-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172342: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-examine:xen-install:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e83cd54611fec5b7a539fa1281a14319143490e6
X-Osstest-Versions-That:
    xen=3caa5a3f03eef4ce7f010aea3af09bb8afde4298
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 09:01:25 +0000

flight 172342 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172342/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-i386-libvirt            6 libvirt-build                fail  like 172329
 build-amd64-libvirt           6 libvirt-build                fail  like 172329
 test-amd64-i386-examine       6 xen-install                  fail  like 172329
 build-arm64-libvirt           6 libvirt-build                fail  like 172329
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172329
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172329
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172329
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172329
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172329
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172329
 build-armhf-libvirt           6 libvirt-build                fail  like 172329
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172329
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172329
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172329
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  e83cd54611fec5b7a539fa1281a14319143490e6
baseline version:
 xen                  3caa5a3f03eef4ce7f010aea3af09bb8afde4298

Last test of basis   172329  2022-08-09 14:08:20 Z    0 days
Testing same since   172342  2022-08-10 00:07:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jason Andryuk <jandryuk@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3caa5a3f03..e83cd54611  e83cd54611fec5b7a539fa1281a14319143490e6 -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 09:23:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 09:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383465.618635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLhve-0003Uh-Hk; Wed, 10 Aug 2022 09:23:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383465.618635; Wed, 10 Aug 2022 09:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLhve-0003Ua-EC; Wed, 10 Aug 2022 09:23:06 +0000
Received: by outflank-mailman (input) for mailman id 383465;
 Wed, 10 Aug 2022 09:23:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLhvd-0003UQ-Ts; Wed, 10 Aug 2022 09:23:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLhvd-0005bb-Gv; Wed, 10 Aug 2022 09:23:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLhvd-0008Ud-4z; Wed, 10 Aug 2022 09:23:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLhvd-0008TU-4W; Wed, 10 Aug 2022 09:23:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aY4wz6AxUwlL19RfwWMaTQr/snfdKVilReFFTnBnjBM=; b=Ar6ejRhohKw5V0H4Q3CrbO9ZR9
	IdP8QDXfwoPhsdB/eEq8w8LCB4EW/N47UQeVx3P2PUF8xWqUbaFHQSZXOhJIRz6Hfhm/T1Jm40puJ
	9TW8vqwpOaCqaa7XVEaKhYD6ChRSsuZy8Lh5NgeXYL1f1M6+ylVvgwOcCTxqucbrbYzE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172345-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172345: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=61b6e67171c602cf6451e4928c9cdcc24c57a485
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 09:23:05 +0000

flight 172345 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172345/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                61b6e67171c602cf6451e4928c9cdcc24c57a485
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    6 days
Failing since        172148  2022-08-04 21:39:38 Z    5 days   15 attempts
Testing same since   172345  2022-08-10 02:38:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1174 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 09:50:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 09:50:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383478.618646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLiM5-0006hC-M2; Wed, 10 Aug 2022 09:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383478.618646; Wed, 10 Aug 2022 09:50:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLiM5-0006h5-Io; Wed, 10 Aug 2022 09:50:25 +0000
Received: by outflank-mailman (input) for mailman id 383478;
 Wed, 10 Aug 2022 09:50:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLiM4-0006gv-MH; Wed, 10 Aug 2022 09:50:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLiM4-000647-L9; Wed, 10 Aug 2022 09:50:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLiM4-0001QN-9v; Wed, 10 Aug 2022 09:50:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLiM4-0004PS-9U; Wed, 10 Aug 2022 09:50:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8ybRKqYzz4cP47rOgWuaxXmjbmiomji7UNDcA+61Rbg=; b=EUtzMfAcLIJvntxeHEIpFt9hq6
	OZDDR2dI/pxuL9D11Q5cpU/tvsRlt6JaZfjnLWNwHIFlLpuVtMKj82zUaZ5WrXmsRr3Huk6fuiYYP
	SLIUVHFIqBGmDtBwxgVWL4cPYffn6DxuxwwAqn/eBCwIyaHmlJC/svUA0F/cJuKCaT6E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172353-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172353: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 09:50:24 +0000

flight 172353 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172353/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   52 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    1 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 09:51:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 09:51:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383487.618656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLiN3-0007EK-W6; Wed, 10 Aug 2022 09:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383487.618656; Wed, 10 Aug 2022 09:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLiN3-0007ED-TR; Wed, 10 Aug 2022 09:51:25 +0000
Received: by outflank-mailman (input) for mailman id 383487;
 Wed, 10 Aug 2022 09:51:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ddlM=YO=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oLiN3-00079r-2v
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 09:51:25 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2059.outbound.protection.outlook.com [40.107.20.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe38e372-1891-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 11:51:24 +0200 (CEST)
Received: from FR0P281CA0008.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::13)
 by AM0PR08MB3715.eurprd08.prod.outlook.com (2603:10a6:208:10b::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 10 Aug
 2022 09:51:20 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:15:cafe::bd) by FR0P281CA0008.outlook.office365.com
 (2603:10a6:d10:15::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Wed, 10 Aug 2022 09:51:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.16 via Frontend Transport; Wed, 10 Aug 2022 09:51:19 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Wed, 10 Aug 2022 09:51:19 +0000
Received: from da728d39ea7a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 40E66EBA-6905-4625-B89A-B928C202530E.1; 
 Wed, 10 Aug 2022 09:51:08 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id da728d39ea7a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Aug 2022 09:51:08 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB3PR08MB9058.eurprd08.prod.outlook.com (2603:10a6:10:430::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 10 Aug
 2022 09:51:06 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%4]) with mapi id 15.20.5525.011; Wed, 10 Aug 2022
 09:51:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe38e372-1891-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=O/uttVfUwJeXVZi4VhWdLAHfe6lnv5oybfpmR2Uuu4oMNWbvFOGb3p+XpHa0mNk/5RBqhCdJCudK/vQGH30xy29G2cyg+H80hY86T1MsJmGAKeZfyyY+64t16Gu2i/sAnE2nlqAcKgDjK9pn/dxFGeehoSSzWo9zEpFCcBfwgOs4NRCe5ThAerLDtgRVNp5mdE/kiC2uaBJVyHac8VDZjUWjNjRdaQOOirYW7PSW93So6pAhCQaGOUWkc9oVHNclOlt/RfxJlUw31GzL6waEsGWTHPE9gRVlo1LzbMrWK1eojyRwfWCi///yEZ+zXZsXYpvImmeLpAqPC0iSBqFvAw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pUHtNR5I2sUhksranR3Xiofr/HqawJ7BxvPt+dq9Blw=;
 b=LkyfhBjeMOW98koJjuTCfZdRdBoWcqT/Q9gaZaRKNVUpp5MpSPRiyrw9Osb342q2ovBDC8bL7+6nO3VlX2RvfFjCqNBHnykiSkJc+xZPNUiq6PrPwb8u4Phxo53MrBFrZMv3B1q008SA4hQDYFK7vSXSku6eHz9fHViTiqSnVDhIRkivZzQ7sHLEpYsnc0yBTyY3gVwRGnsswhP8LYzXhbiMe1PoiAdTBTmNQnde+6Cg1op1eSCtORab72pMr/gXBqZrJ8EwGoooESOKLyFtCX9WpiSyyNBMlXQj254cTm5fRvZQ6L1oq5Onrx6AdPPrbs5GWckTRy9ka5Grxyj5cA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pUHtNR5I2sUhksranR3Xiofr/HqawJ7BxvPt+dq9Blw=;
 b=pexPz39UalTuOoBx9qExUKH1tlekT/FkIp3wy1jvmkg9FUNiKubyPZmSH34OFO4sY9ebRsn8FP2SL1Wt6SCBoqqDCy8s0uGtHCCcyUyiDpL99CDH3lf27k5jZ+alIAH14gIunmvql1kHH7xApLrfG2EChSV9+oKIh2Pi6a1tFpA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 34a6f0617c95abf5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lzD8KJjytDKrdbMhdy1Lrir6Kk2nWxyLB9cblfiKXUjSOUXgcNSOk1en242gJSID2ZNEMkcM2A/iEbPc/BGBh6n1eRqDM0MW7WtoFmr0SGhBaS++YeE41/SX4DCM29OyB2jE7lWZEwgDDTpboEIbJfRYKMkXwmAIi8rwPisDVqRJ3rFcZlD3GNHpiW7pdEtU7S3d9jcACI+XY2WbiyFy27gOLL/iWKeU3loFGW8IezYankjjgUjdQ0uN1SqgJZMH/S3hkUnPRChrsktYF/4Gsr9O0bmTyaCr+ThqJayfsxRz1EQO4nK108Wz7NiO1hJXtvlXhUFvrIjruQoqINze9g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pUHtNR5I2sUhksranR3Xiofr/HqawJ7BxvPt+dq9Blw=;
 b=QtA9Mxuwrxk+E+ZptfHORfj2dzLlPl6fvTI0BnwfGLokGOAaWzsmKx2ufQArfCBOlvt0itiJtL8QNuAse0xVJzEtNyBQa90uEP7PEgvt7ApfXv7KRuVV9h7TeAiWCjWF7Ot+xhzXgy8cCsH/hhQyMn6EfThMoW7fAdEMipTwbIK6prQXluaYao3AnFH/V+2Anu2bO8cOVsYFq6n0jmqLijR3SDCAdB7akYxoF8I3wrWFTrrdFNW1VDGoFEDboqRGjg2IyxOgNlp2TDy+aNZ7dZWVOP74mBwzjxbpn7JIZJJeH4OHKbZ1T0OSy08DGEURu2rX1aIFUzu5fZuTb3SY8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pUHtNR5I2sUhksranR3Xiofr/HqawJ7BxvPt+dq9Blw=;
 b=pexPz39UalTuOoBx9qExUKH1tlekT/FkIp3wy1jvmkg9FUNiKubyPZmSH34OFO4sY9ebRsn8FP2SL1Wt6SCBoqqDCy8s0uGtHCCcyUyiDpL99CDH3lf27k5jZ+alIAH14gIunmvql1kHH7xApLrfG2EChSV9+oKIh2Pi6a1tFpA=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: smmuv1: Set s2cr to type fault when the devices
 are deassigned
Thread-Topic: [PATCH] xen/arm: smmuv1: Set s2cr to type fault when the devices
 are deassigned
Thread-Index: AQHYqOJsqJOnAKwEgEyxPjukHtiB2a2m52IAgAEERAA=
Date: Wed, 10 Aug 2022 09:51:06 +0000
Message-ID: <1611FBAB-5F12-4595-88B6-8A4CB9ACADAB@arm.com>
References:
 <5650ddce1de4fd5471823bde44a12a03f157bc11.1659713913.git.rahul.singh@arm.com>
 <e6a8807af0832db752d735e4f9ebddaa6bbd7c12.1659713886.git.rahul.singh@arm.com>
 <0f1e12d0-1c58-8457-b3ff-26048f46430a@xen.org>
In-Reply-To: <0f1e12d0-1c58-8457-b3ff-26048f46430a@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: c7da1c85-7530-489d-e96e-08da7ab5e079
x-ms-traffictypediagnostic:
	DB3PR08MB9058:EE_|VE1EUR03FT045:EE_|AM0PR08MB3715:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 E69z9w+tTAaTbds2sCCLtObvSMrKa8jZmTBz4OiCehQMRy8eTlqOaXRzl6ySyuR8bM5O5mglBxN6S7Pc/ihIthaUKAD3xdPleN9HZBSGIBHrELsLzb4O89wq6Xq0fcJicCVhiA09f7Zx2QLTEb438k38VYPulLc0uLIwgonMZz3h2lqTNiGH0mfJVffPi/n8z7gdiAjwRCAGxGRsO591i5k5Lxhr6MRLXNDsE/+/mYHptRMV58js3HG+nMkKmP3sZVCFL2GpZxWYhB6B4cegkMQAo8Pjm8c0uWHH+XihrL7bX1CJr19xAU1oo47sWEhXtyaDHQl2ScrorFEqeim6sBz130lTbsVLN43Q7dwSCmIfRvBFMpKzkFHHnEro/0JiUI8MpjNLzJUOlLNlXQaaeiL3H8zHXqezXit3OVqrwxFobGGyGCfNBPAzoR8Eu8Nt480c2cKx54kO+HZ9bxHFS73QRIpkygj8aJrTOBVO1nFuwkxbzFb1RSw6hhO80YRCvoLxJoSl9kmLxM8Vfyx6SZhMr3EtWpQhKHMaEozbtW+OuEFwKScTejtcq9K50yzKKo8Cf99a9fOo4vjWCuG3lXof79vXDWpsWT5tKPjHcYfHHdvtM668bsJiePqZLpp0NZbfyXUnZ+UjmOP+bL7+JW8pCFPWN2102irjH/VEG+cIBmCVHv8U/71LoA9Trc/SQiMWci6ifpExKp0kpNEFfOIBLe/hsJ7P6smBYbU7LME5VOKxCqY79SA3ahG3zf/tWVxbuKUKPyfsSE9g+AdzjoiluR7LrdSFJNz+5zfhzJyIYe9+P/qJg1yPJWdoTPEq4bx3gir+4JMicQh9BHfezw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(376002)(346002)(396003)(366004)(5660300002)(66946007)(54906003)(2906002)(36756003)(33656002)(91956017)(478600001)(71200400001)(6486002)(316002)(8936002)(76116006)(86362001)(122000001)(38100700002)(26005)(53546011)(6512007)(41300700001)(6506007)(38070700005)(2616005)(66446008)(4326008)(66556008)(66476007)(64756008)(6916009)(8676002)(186003)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <ADFA711924B30848BB8B54024D936AC3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9058
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2eee4a43-4d1c-42f7-b91e-08da7ab5d878
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TtR3wZMXyL8WyCusJhpPnqGV1S+YQe4XCNAFWNhI7MIfMzm0WQfq3BCJ20AdcgxcqV4v5tIZp6rXHTBD0Sl+TeVJ47gGfUrOt+ksuqSuvdAqtJddbXNir83tfHpto+gmbODNU9G7d55936U4at0W+L4gLeSe7NAJ1yaNBDMN4BiSeM7Ti3GJc0iFmbLuygHLAVYpiuG1gN0e9Xwj5YbPNIfZUPV+vrv5wA/+IZmDXwP3nsG/akegY1Sswn+/NTW+iu3wGkQjPygDwcfa2z5OhM1Dq/f4vaGtjOZfM+D2xKal2blwhOcr7ULBuV3CvJmR4HV+N1dxZAHN4AysG3tmIwsFl9Hxu0UlNdw7S6fGVTQvDtPc+dW8F48nBPt6rXJmJ/yq4+h9PN/jdAG4r9k+uqU25AYHtuHz4+QTXR81gZt/kyJ1vumGu8eWgzfEOPePOQelhYjKiAwVoJyQUddLqmZ+WhYYYrlFCXpq8zMUgXS4NbYDtEZLFnLpxkeMdz8U4Ca9tqJRqniGhUJVR+wC/g2/R21h7AfRw8VLwizzibWcVdpxTw3ZGRF4KgLMltRuAPtwNdj2MgXX1RjYyaOikqHR3fXUsxRuEXbYyLuf6G0Iz+Vyy+rmu9LHshUTsE9ONY0zGL0P+MzNFRu1sPQcFb6G7LdTlMDx0G8DM0rakT9ECoeD85baSFOF2d+9+FSnFNNcJQNq0Tq0XG7f5mqquQgc0H0rPJnTAYukUoWnxAtryACb0UhveI5Tj2K5/V20HajwTNKb1XPzYbcY6vZhjBj7IsxFPg1iuVtWkdWTxsPYiagK9JHsfvWGn3HQktVt
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(346002)(39860400002)(136003)(36840700001)(40470700004)(46966006)(356005)(26005)(6512007)(186003)(6506007)(53546011)(336012)(83380400001)(2616005)(36860700001)(47076005)(82740400003)(4326008)(6862004)(8936002)(5660300002)(81166007)(107886003)(8676002)(2906002)(70586007)(40480700001)(82310400005)(70206006)(41300700001)(6486002)(478600001)(54906003)(40460700003)(36756003)(316002)(33656002)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 09:51:19.8644
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c7da1c85-7530-489d-e96e-08da7ab5e079
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3715

SGkgSnVsaWVuLA0KDQo+IE9uIDkgQXVnIDIwMjIsIGF0IDc6MTkgcG0sIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGkgUmFodWwsDQo+IA0KPiB0aXRsZTogVGhl
IGRyaXZlciBpcyBmb3IgYm90aCBzbW11djEgYW5kIHYyLiBBcmUgeW91IHN1Z2dlc3RpbmcgdGhl
IGlzc3VlIG9ubHkgb2NjdXJzIG9uIHYxPw0KDQpJc3N1ZSBvY2N1cnMgb24gYm90aCB2MSAmIHYy
LiBJIHdpbGwgZml4IHRoaXMgaW4gbmV4dCB2ZXJzaW9uLg0KPiANCj4gT24gMDUvMDgvMjAyMiAx
Njo0MywgUmFodWwgU2luZ2ggd3JvdGU6DQo+PiBXaGVuIGRldmljZXMgYXJlIGRlYXNzaWduZWQv
YXNzaWduZWQsIFNNTVUgZ2xvYmFsIGZhdWx0IGlzIG9ic2VydmVkDQo+PiBiZWNhdXNlIFNNRXMg
YXJlIGZyZWVkIGluIGRldGFjaCBmdW5jdGlvbiBhbmQgbm90IGFsbG9jYXRlZCBhZ2FpbiB3aGVu
DQo+PiB0aGUgZGV2aWNlIGlzIGFzc2lnbmVkIGJhY2sgdG8gdGhlIGd1ZXN0Lg0KPj4gRG9uJ3Qg
ZnJlZSB0aGUgU01FcyB3aGVuIGRldmljZXMgYXJlIGRlYXNzaWduZWQsIHNldCB0aGUgczJjciB0
byB0eXBlDQo+PiBmYXVsdC4gVGhpcyB3YXkgdGhlIFNNTVUgd2lsbCBnZW5lcmF0ZSBhIGZhdWx0
IGlmIGEgRE1BIGFjY2VzcyBpcyBkb25lDQo+PiBieSBhIGRldmljZSBub3QgYXNzaWduZWQgdG8g
YSBndWVzdA0KPj4gU2lnbmVkLW9mZi1ieTogUmFodWwgU2luZ2ggPHJhaHVsLnNpbmdoQGFybS5j
b20+DQo+IA0KPiBBRkFJQ1QsIHRoaXMgaXMgZml4aW5nIDA0MzU3ODRjYzc1ZCAoInhlbi9hcm06
IHNtbXV2MTogSW50ZWxsaWdlbnQgU01SIGFsbG9jYXRpb24iKS4gSWYgSSBhbSBjb3JyZWN0LCBj
YW4geW91IGFkZCBhIEZpeGVzIHRhZz8NCg0KWWVzLCBJIHdpbGwgYWRkIHRoZSBmaXhlcyB0YWcu
DQo+IA0KPj4gLS0tDQo+PiAgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYyB8IDMy
ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQ0KPj4gIDEgZmlsZSBjaGFuZ2VkLCAxNiBp
bnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkNCj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3Nt
bXUuYw0KPj4gaW5kZXggNjk1MTE2ODNiNC4uMTQxOTQ4ZGVjZCAxMDA2NDQNCj4+IC0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMNCj4+ICsrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL2FybS9zbW11LmMNCj4+IEBAIC0xNTk4LDIxICsxNTk4LDYgQEAgb3V0X2VycjoN
Cj4+ICAJcmV0dXJuIHJldDsNCj4+ICB9DQo+PiAgLXN0YXRpYyB2b2lkIGFybV9zbW11X21hc3Rl
cl9mcmVlX3NtZXMoc3RydWN0IGFybV9zbW11X21hc3Rlcl9jZmcgKmNmZykNCj4gDQo+IElJVUMs
IHRoZSBmdW5jdGlvbiBuZWVkcyB0byBiZSBtb3ZlZCBiZWNhdXNlIHlvdSBuZWVkIHRvIHVzZSBh
cm1fc21tdV93cml0ZV9zMmNyKCkuIElmIHNvLCBJIHdvdWxkIHN1Z2dlc3QgdG8gbWVudGlvbiBp
biB0aGUgY29tbWl0IG1lc3NhZ2UgYmVjYXVzZSBhdCBmaXJzdCBpdCBzZWVtcyB1bndhcnJhbnRl
ZC4NCg0KQWNrLiBJIHdpbGwgYWRkIHRoYXQgaW4gY29tbWl0IG1zZy4NCj4gDQo+PiAtew0KPj4g
LSAgICBzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11ID0gY2ZnLT5zbW11Ow0KPj4gLQlpbnQg
aSwgaWR4Ow0KPj4gLQlzdHJ1Y3QgaW9tbXVfZndzcGVjICpmd3NwZWMgPSBhcm1fc21tdV9nZXRf
ZndzcGVjKGNmZyk7DQo+PiAtDQo+PiAtCXNwaW5fbG9jaygmc21tdS0+c3RyZWFtX21hcF9sb2Nr
KTsNCj4+IC0JZm9yX2VhY2hfY2ZnX3NtZShjZmcsIGksIGlkeCwgZndzcGVjLT5udW1faWRzKSB7
DQo+PiAtCQlpZiAoYXJtX3NtbXVfZnJlZV9zbWUoc21tdSwgaWR4KSkNCj4+IC0JCQlhcm1fc21t
dV93cml0ZV9zbWUoc21tdSwgaWR4KTsNCj4+IC0JCWNmZy0+c21lbmR4W2ldID0gSU5WQUxJRF9T
TUVORFg7DQo+PiAtCX0NCj4+IC0Jc3Bpbl91bmxvY2soJnNtbXUtPnN0cmVhbV9tYXBfbG9jayk7
DQo+PiAtfQ0KPj4gLQ0KPj4gIHN0YXRpYyBpbnQgYXJtX3NtbXVfZG9tYWluX2FkZF9tYXN0ZXIo
c3RydWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4sDQo+PiAgCQkJCSAgICAgIHN0cnVj
dCBhcm1fc21tdV9tYXN0ZXJfY2ZnICpjZmcpDQo+PiAgew0KPj4gQEAgLTE2MzUsNiArMTYyMCwy
MCBAQCBzdGF0aWMgaW50IGFybV9zbW11X2RvbWFpbl9hZGRfbWFzdGVyKHN0cnVjdCBhcm1fc21t
dV9kb21haW4gKnNtbXVfZG9tYWluLA0KPj4gIAlyZXR1cm4gMDsNCj4+ICB9DQo+PiAgK3N0YXRp
YyB2b2lkIGFybV9zbW11X2RvbWFpbl9yZW1vdmVfbWFzdGVyKHN0cnVjdCBhcm1fc21tdV9kb21h
aW4gKnNtbXVfZG9tYWluLA0KPj4gKwkJCQkgICAgICBzdHJ1Y3QgYXJtX3NtbXVfbWFzdGVyX2Nm
ZyAqY2ZnKQ0KPj4gK3sNCj4+ICsJaW50IGksIGlkeDsNCj4gDQo+IE5JVDogSSB3b3VsZCBzdWdn
ZXN0IHRvIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIHN3aXRjaCB0byAidW5zaWduZWQgaW50IiBh
bmQgLi4uDQoNCkFjay4gDQo+IA0KPj4gKwlzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11ID0g
c21tdV9kb21haW4tPnNtbXU7DQo+PiArCXN0cnVjdCBhcm1fc21tdV9zMmNyICpzMmNyID0gc21t
dS0+czJjcnM7DQo+PiArCXN0cnVjdCBpb21tdV9md3NwZWMgKmZ3c3BlYyA9IGFybV9zbW11X2dl
dF9md3NwZWMoY2ZnKTsNCj4gDQo+IC4uLiB1c2UgY29uc3QgaGVyZS4gImNmZyIgYW5kICJzbW11
IiBjYW4ndCBiZSBjb25zaXN0ZW50IGJ1dCAic21tdV9kb21haW4iIHRlY2huaWNhbGx5IGNvdWxk
ICh0aGFua3MgdG8gaG93IEMgd29ya3MpLiBUaGF0IHNhaWQsIEkgcXVpdGUgZGlzbGlrZSBpdCBh
cyB0aGUgY29kZSBlbmRzIHVwIHRvIGJlIGNvbmZ1c2luZy4uLg0KDQpBY2suIA0KPiANCj4+ICsN
Cj4+ICsJZm9yX2VhY2hfY2ZnX3NtZShjZmcsIGksIGlkeCwgZndzcGVjLT5udW1faWRzKSB7DQo+
PiArCQlzMmNyW2lkeF0gPSBzMmNyX2luaXRfdmFsOw0KPj4gKwkJYXJtX3NtbXVfd3JpdGVfczJj
cihzbW11LCBpZHgpOw0KPj4gKwl9DQo+PiArfQ0KPj4gKw0KPj4gIHN0YXRpYyBpbnQgYXJtX3Nt
bXVfYXR0YWNoX2RldihzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21haW4sIHN0cnVjdCBkZXZpY2Ug
KmRldikNCj4+ICB7DQo+PiAgCWludCByZXQ7DQo+PiBAQCAtMTY4NCwxMCArMTY4MywxMSBAQCBz
dGF0aWMgaW50IGFybV9zbW11X2F0dGFjaF9kZXYoc3RydWN0IGlvbW11X2RvbWFpbiAqZG9tYWlu
LCBzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+PiAgICBzdGF0aWMgdm9pZCBhcm1fc21tdV9kZXRhY2hf
ZGV2KHN0cnVjdCBpb21tdV9kb21haW4gKmRvbWFpbiwgc3RydWN0IGRldmljZSAqZGV2KQ0KPj4g
IHsNCj4+ICsJc3RydWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4gPSBkb21haW4tPnBy
aXY7DQo+PiAgCXN0cnVjdCBhcm1fc21tdV9tYXN0ZXJfY2ZnICpjZmcgPSBmaW5kX3NtbXVfbWFz
dGVyX2NmZyhkZXYpOw0KPj4gICAgCWlmIChjZmcpDQo+PiAtCQlhcm1fc21tdV9tYXN0ZXJfZnJl
ZV9zbWVzKGNmZyk7DQo+PiArCQlyZXR1cm4gYXJtX3NtbXVfZG9tYWluX3JlbW92ZV9tYXN0ZXIo
c21tdV9kb21haW4sIGNmZyk7DQo+IA0KPiBXaHkgYXJlIHlvdSB1c2luZyBhZGRpbmcgYSAncmV0
dXJuJyBoZXJlPw0KDQpOb3QgcmVxdWlyZWQuIEkgd2lsbCByZW1vdmUg4oCccmV0dXJu4oCdLg0K
DQpSZWdhcmRzLA0KUmFodWw=


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 09:54:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 09:54:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383498.618668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLiPe-0007xS-GA; Wed, 10 Aug 2022 09:54:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383498.618668; Wed, 10 Aug 2022 09:54:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLiPe-0007xL-DV; Wed, 10 Aug 2022 09:54:06 +0000
Received: by outflank-mailman (input) for mailman id 383498;
 Wed, 10 Aug 2022 09:54:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bIAv=YO=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oLiPc-0007xD-RE
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 09:54:04 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5da24fe6-1892-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 11:54:03 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id b96so18452860edf.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 02:54:03 -0700 (PDT)
Received: from uni.. ([2a02:587:ac16:4a00:2259:7543:2ea6:3f52])
 by smtp.googlemail.com with ESMTPSA id
 l9-20020a1709063d2900b00730af3346d6sm2117129ejf.212.2022.08.10.02.54.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 02:54:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5da24fe6-1892-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=06SFtDDfQbw28f9Hf3Ri4wfCkUFS+9ANcS7I9ZTAbyw=;
        b=AaB7GJZUT7A1i9nJJ4emIL9/nIPczoVoeRAYh1SRICFG1cH8IyobPTgspt8C3dKo3e
         QjzS4d88/4ru5fKDlvmQMGw+31U0oXWdIXqk4TMO1eoYGY5pWfoNGGjXuvL21/jSMQwe
         bEtqCml+QpifHkO46rV7EhLTlUhGA3H714MaD/I6vcmC3+g/Ima0xOEfST2wT+MIVbRh
         zgAXM7WZWVbWocOS5i4t9DgZpnZfU9lUsvhiR4D56T/Mvu2qsTa0Tg3gRU/2w48keDQv
         mQ+03q7tayGR0S8hb+wZZRX2vGRa96BTs6FgYkC9nylJgh2gRpBJamYWDiWbgQVL9mp/
         ffIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=06SFtDDfQbw28f9Hf3Ri4wfCkUFS+9ANcS7I9ZTAbyw=;
        b=OIpLHVioYnTrD615J6Ic+Z4aTbZrfhkszZAvJKZMNyShO4G3+/QEtLZoAXAlTNk8C/
         V19EKtBvXe5elDLkBwHk8TI/t/bR4ogyCVVgY+tZXgX/8nVMnyzYz5ckd3x1b+HaGyox
         3M7rSOR7HYC0YJyvmM3MuAEtqFZma5I5CdRon/TmJ/SjzNqo60WZWohCka6D6McZg3/T
         Zt/feO46V+xlAESHHzSUH+HAm2CWVDDBruxMZdzZv6bzymZx0mH1bRM5muubvzaLZ4qy
         zyQyvdU5UONENHb4FgEJLN9FL0Ol4yUJHtjj3x3qXZPywXzmTbnr0aMym7EGpKyBk5Rw
         1csQ==
X-Gm-Message-State: ACgBeo2D7R8pbN4Dv6Q/y5g9qKSrI2ZigHgFNN1fApbN5cKwEilc3+j+
	uWImwoGpaQml90ZZr4UR0JvU6PQSg00=
X-Google-Smtp-Source: AA6agR49eRagY9bPPWujSlgC1b2SO87LUKYhkl5Vp+biaSHThFLWssLW7U05dqfMfN0WlWxevu0G7w==
X-Received: by 2002:a05:6402:2b88:b0:43a:6c58:6c64 with SMTP id fj8-20020a0564022b8800b0043a6c586c64mr26131701edb.348.1660125243369;
        Wed, 10 Aug 2022 02:54:03 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: vgic: Fix coding style in macro REG_RANK_INDEX()
Date: Wed, 10 Aug 2022 12:53:56 +0300
Message-Id: <20220810095356.1906405-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add parentheses around the macro parameter 's' to prevent against unintended
expansions. This, also, resolves a MISRA C 2012 Rule 20.7 violation warning.

Add white spaces around the subtraction operator.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/arm/include/asm/vgic.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
index d2a9fc7d83..3d44868039 100644
--- a/xen/arch/arm/include/asm/vgic.h
+++ b/xen/arch/arm/include/asm/vgic.h
@@ -286,7 +286,7 @@ static inline paddr_t vgic_dist_base(const struct vgic_dist *vgic)
  * Offset of GICD_<FOO><n> with its rank, for GICD_<FOO> size <s> with
  * <b>-bits-per-interrupt.
  */
-#define REG_RANK_INDEX(b, n, s) ((((n) >> s) & ((b)-1)) % 32)
+#define REG_RANK_INDEX(b, n, s) ((((n) >> (s)) & ((b) - 1)) % 32)
 
 
 extern struct vcpu *vgic_get_target_vcpu(struct vcpu *v, unsigned int virq);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 10:08:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 10:08:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383508.618679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLidK-000197-Mb; Wed, 10 Aug 2022 10:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383508.618679; Wed, 10 Aug 2022 10:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLidK-000190-Js; Wed, 10 Aug 2022 10:08:14 +0000
Received: by outflank-mailman (input) for mailman id 383508;
 Wed, 10 Aug 2022 10:08:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YHWZ=YO=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oLidI-00018u-LP
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 10:08:12 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00059.outbound.protection.outlook.com [40.107.0.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 568c9003-1894-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 12:08:11 +0200 (CEST)
Received: from AS9PR06CA0666.eurprd06.prod.outlook.com (2603:10a6:20b:49c::11)
 by AS8PR08MB7025.eurprd08.prod.outlook.com (2603:10a6:20b:34c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 10 Aug
 2022 10:08:08 +0000
Received: from AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:49c:cafe::5b) by AS9PR06CA0666.outlook.office365.com
 (2603:10a6:20b:49c::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15 via Frontend
 Transport; Wed, 10 Aug 2022 10:08:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT003.mail.protection.outlook.com (10.152.16.149) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Wed, 10 Aug 2022 10:08:06 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Wed, 10 Aug 2022 10:08:06 +0000
Received: from dd2f168fbf44.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E9802422-2A09-40AB-9085-6CB38ECC2E6A.1; 
 Wed, 10 Aug 2022 10:07:59 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dd2f168fbf44.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Aug 2022 10:07:59 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB6784.eurprd08.prod.outlook.com (2603:10a6:102:139::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 10 Aug
 2022 10:07:57 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 10:07:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 568c9003-1894-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=gtWioYClUGyarODH/Tn0X+uMah09sLzit9ov5+jSLc4T8tZz/gmdonDleyLyfS0aiNrmOz/1E9zjXkRD8bCZf4d5dQPOPhq3kIvN0Y8Jl9O4xa/ZnV5aRXTRBmIQ75I535pTwVSbnuTrmEOxLU5p6qwqh2kcTW+z3z3PoXZXP3wKtfo+4gCWXiQbE/y/Mj80PUssWVUbgBuntrS5OocYZ5e+G5/SWhUpD6Vj3jxNa6ft7tgZjRX4zHReKgKwpwPrk6j4xt/0Y0AdmhU7tqh/baKV/m2DYRQ3vROsdYaip+Ave9r6vNe6ltz4kW9XcUEFWNbqKmHJdjxaHi5mmJADEA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zZNhXIe12mODZAWTu2NFKAjjkycBWBTxGat3A+noRa4=;
 b=Y6cKD8TdLV5wPx5n5Th5ZEgVZ4Ay5W88dFT68JpkFuMQHJLfCm6aJcMsqB1Q9p0dX1wyHyNbsvJF0YykQx9sFB9YiIwuZJWDumViR2qaEqZk+YoskWGcrjaNAPpEkv/zDJ+bwCatwcdE4HTP2bSTTWQkZ5rSVXR4IFtnpDOet2Oi7BbksIyhMLkFyungMej6WK5jGkI+XdQpVYf/4UguFCbLejdp3ET2Wb4AUhd2E0V0SFjdLJbR6j6tZhqHKSwU0vDg+5toL+mKwzCkVprfVBKbvJvxsheR0OMSyeidznKk8sxFBudcrtXwuimf0pWnwjJeb9FbIY1UMAuAhyzd/g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zZNhXIe12mODZAWTu2NFKAjjkycBWBTxGat3A+noRa4=;
 b=4N0KopabY6S30Fk9Spv9F9Jqau1+l6CI3XybFkqdZg2J5Tdk5ydVhy1owXvIxJWuJNojIJjRS2EyQ1G7Y15OI+S20gUP4D0wDQTEHUS7GyuuJQC6xShMp0cS5USUq8QnQ+BB3qvxx9FxkG3M9fd7uNxYV4c0L1NlevaOO8soNlU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 330dd1085240d701
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RcMlhib3kGBOpdEt/nxE3ofj1XqOBTPBui0Cv+lw8hk7Me6ys3YtD6HyrOi7UnhAEjkMcSd2jBaCAp5Xdbk3IqpinFECP/9tlQjrobNy+lbD6Y5LQVwqSpLDp3BY2luPqJXsQ9Tr8Ip8dLHJqFLZgg7rcOtPXr99hanznC5CRRFlouZGacYia9BR40biomOSdjYT3PpfLBYQAKekPFcT/3N77qiPXvMLNSvNN60FJtv8q76MbHl8mNdlntkgoBMKtX/I0ggF2KnaKDiji4o8GGsqdQciYBrJcVdc5UW7W8UiyyqCp2AWJiQOf5WzxRzU+r8V6/zsWGM+ZuM8AXBiFg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zZNhXIe12mODZAWTu2NFKAjjkycBWBTxGat3A+noRa4=;
 b=ZOqxgXVqdxhv/rXWMggZryoIBwnOnLbZlTCyH1ybpI2FLgh9R+wmasF6f231y6fMgxKxODS04D2QnUK61tjEZlTTc4/MBojOkPaJ+XUTwJ7+bGv9y0ALq4Y276GVPhql+NH41qFwYkY5U41hBN3yZ1qEkCLwL2FsD1o9v5WxZn19W99/FPIPxyR3v2bW+xVY+mt81ThDYkm4EXZ6KEG9Xg7UM4d1vj73pXId1hgsBtGh5m2ePbH7Uqa8a2tT0v4NryajJfLhBmR0K3UQYLI3yd3fBadXAJ/HSstw36NiogS4+lwASiNbWeQA5OBMM3GJMYH5IAgSCLJbdiHqA3fqOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zZNhXIe12mODZAWTu2NFKAjjkycBWBTxGat3A+noRa4=;
 b=4N0KopabY6S30Fk9Spv9F9Jqau1+l6CI3XybFkqdZg2J5Tdk5ydVhy1owXvIxJWuJNojIJjRS2EyQ1G7Y15OI+S20gUP4D0wDQTEHUS7GyuuJQC6xShMp0cS5USUq8QnQ+BB3qvxx9FxkG3M9fd7uNxYV4c0L1NlevaOO8soNlU=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: vgic: Fix coding style in macro REG_RANK_INDEX()
Thread-Topic: [PATCH] xen/arm: vgic: Fix coding style in macro
 REG_RANK_INDEX()
Thread-Index: AQHYrJ8rGrSNIysILUarIEyFwudE/62n6OAA
Date: Wed, 10 Aug 2022 10:07:57 +0000
Message-ID: <23155CA0-7D7A-4D36-9D3A-ECEE81048138@arm.com>
References: <20220810095356.1906405-1-burzalodowa@gmail.com>
In-Reply-To: <20220810095356.1906405-1-burzalodowa@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 109aa320-2688-42d6-faac-08da7ab83865
x-ms-traffictypediagnostic:
	PAXPR08MB6784:EE_|AM5EUR03FT003:EE_|AS8PR08MB7025:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 xORgs2VNblnbklWfo0jyJ4akxxBqZO/16vJ2A9edHCOpFBo1uWwmLVka0ZX0u0oCJjMfl9qUcfHB90yoAQnfgij8FJiHwF7tYpMQqlwaux5KhPGvs4tS+Z2yCrbmpL29hCPSzGxBDHi/5k+Y379ydVCtDFDcaUqtsiGZIkjm3H9wfPasxWVyoSF+xYyWJw9ewUgy8dUuVdDlqv5jj8JXfgB946xPE4TOdMJymkeq9ctXicz/D+erRWd9RnoCWY3G12rew/WRY6UT1pl35Wobanj3uvaLi5FR0Cse/XSjq8efFPhCeThB1cj86E7q0q/5yPhGVWchOlM59U+cXa1sEj/Y0cvwCVo+rWrAM0dRRqgEJEcpsY9wYGqCxxGa+OxhMEEU/THXBoK1oS25KPGVYOxp1yCaLCr2rZkQpBbD3RYMBAdKDhddt5XASvBHWph7qY5HRIyhTwwB6mZSbHbjDSyW2WXsOjb0hKYjIhErwV7Bi7FHJHI0S8mIYh4hq+JMFGZxy8J7SCBfCZL+JJnZK/GcLPNL9QVBACIHjgFhoroV3ZD3dyhX8EU2HEQu/spCumiSWqID8r7J3SADeo6Bcy/Y5bWiKq33pzgC7DM6Or7luX5JdB6PgvGQuccOwYXDIrkTUQ22/figB6eyuOONJqVlMLFNCAqsAOc0y+Z/a4jIl2+8a36zxheT2Wjg7kHBJ/vDzlGEbYYYpQELA4cLUAcZHieEk377dOfNNQHLMqYfFzFQW4JfutWBTPj+OpUP4bFWgHUpwt4V2y+JEsiPhaxZc92kou0sYr57ofxyFlUVmTFZrltQ14o/oNEsF6imCZDsz1bZKfMUpAhY7g2VPw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(396003)(346002)(136003)(366004)(86362001)(53546011)(41300700001)(6506007)(6512007)(26005)(2616005)(122000001)(38100700002)(38070700005)(186003)(83380400001)(2906002)(36756003)(91956017)(66476007)(8936002)(5660300002)(66446008)(33656002)(76116006)(316002)(54906003)(478600001)(6916009)(66556008)(6486002)(4326008)(71200400001)(66946007)(8676002)(64756008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <FE78957F9525414D96793152D9D9D432@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6784
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ff6fad6e-64eb-41f9-5ea5-08da7ab83315
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2jDKlIuwSbnl29TSvYGIt/sBkyZvk4xc/9gbbFNuOWhL9UAJkS8fU1MqhBvZRVfhGfSdaTGOEtcu3kkq5QPCzb+SgQvYlG0ZNBHYcY2aUqaKPAkbFt0BQV426CVGMJvDq/JSKN0dTR/HmxRQ5asA02xKOR8vY38GLBj9CDmsBI1jeTrb8v58BFn7aB71KZ/1xR8XYZ4b8qMQgsyzchUbK8RorwVQlu/NaVYc+VQry19dDgH4FdeoQL5bPW0OQ1wTUU21BMNaSOmmg7AmiKKp+Kv8kkUN07voEhbJM1l/gFcPQ5qHbF6zhFrRcYlW2JwyNyC6YM0hTI3dCMiJwATDWbOL1RK6an/o/y3jRfB+FodWRx1zc77O7gInIV+aK7nQT5hXHk95KB74FuoFk07N2tawMlCFW5glTBSoVd4UTv0FaxLroq/3ojouLruo+ancsAhfEccj3GpvC8o7LmMb7c2VhCHfabpH47qi9R+5Dv4LTfDeuWyA3QSmO6GntCzLJjb4gJSBvTBkSpd7oXsjI4qTW/TVTNiF1SVNzBKPX/ACYAHgwz09RyVITpaxOM5V3ZF+XXNDqq0/gpUJQ1xiuKKVkkaYhOGArwQQBrTVkW62LyHMM1MevOMvLl616hLyJqAHFmk1+FlW+vsQNi9h6yv+vK94hFuokvCOstEDWoIAYtfpY2UDjU3rqE5wo4CO7+RoZRqQA+LFw3vWyTkm0Q6Wt1RqMUHft6aW0ZIu8t9Z1UlqXr095RZocV1hMToWQeSm1VaU4lu6SBhvS03vs4Qn9MQ4Nbh8RwgXh2JCiyNgYsmffkTZvRhOOJRPa+xI
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(396003)(39860400002)(376002)(46966006)(36840700001)(40470700004)(83380400001)(33656002)(6506007)(70586007)(53546011)(186003)(41300700001)(70206006)(4326008)(40480700001)(82310400005)(82740400003)(2616005)(316002)(336012)(54906003)(47076005)(107886003)(8676002)(6512007)(26005)(36756003)(86362001)(2906002)(40460700003)(8936002)(81166007)(6862004)(478600001)(6486002)(356005)(36860700001)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 10:08:06.4656
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 109aa320-2688-42d6-faac-08da7ab83865
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7025

Hi Xenia,

> On 10 Aug 2022, at 10:53, Xenia Ragiadakou <burzalodowa@gmail.com> wrote:
>=20
> Add parentheses around the macro parameter 's' to prevent against uninten=
ded
> expansions. This, also, resolves a MISRA C 2012 Rule 20.7 violation warni=
ng.
>=20
> Add white spaces around the subtraction operator.
>=20
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/include/asm/vgic.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/v=
gic.h
> index d2a9fc7d83..3d44868039 100644
> --- a/xen/arch/arm/include/asm/vgic.h
> +++ b/xen/arch/arm/include/asm/vgic.h
> @@ -286,7 +286,7 @@ static inline paddr_t vgic_dist_base(const struct vgi=
c_dist *vgic)
>  * Offset of GICD_<FOO><n> with its rank, for GICD_<FOO> size <s> with
>  * <b>-bits-per-interrupt.
>  */
> -#define REG_RANK_INDEX(b, n, s) ((((n) >> s) & ((b)-1)) % 32)
> +#define REG_RANK_INDEX(b, n, s) ((((n) >> (s)) & ((b) - 1)) % 32)
>=20
>=20
> extern struct vcpu *vgic_get_target_vcpu(struct vcpu *v, unsigned int vir=
q);
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 10:16:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 10:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383517.618693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLilF-0002a3-Jl; Wed, 10 Aug 2022 10:16:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383517.618693; Wed, 10 Aug 2022 10:16:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLilF-0002Zw-FX; Wed, 10 Aug 2022 10:16:25 +0000
Received: by outflank-mailman (input) for mailman id 383517;
 Wed, 10 Aug 2022 10:16:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bIAv=YO=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oLilF-0002Zq-4P
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 10:16:25 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c8fe349-1895-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 12:16:24 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id b96so18524689edf.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 03:16:24 -0700 (PDT)
Received: from uni.. ([2a02:587:ac16:4a00:2259:7543:2ea6:3f52])
 by smtp.googlemail.com with ESMTPSA id
 k5-20020aa7d8c5000000b0043cc7a3ff7fsm7445525eds.33.2022.08.10.03.16.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 03:16:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c8fe349-1895-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=8UFRtIN5yyc4XYM3pDicSCNtA4jZV+k/XX0izJawMPM=;
        b=B3UOtolh9oWwWJ1lt7WoK/wKmulYDyERDHQ1pYdR49oSDmr+gJJ1X7M29J0yp1DfFF
         liYAZWYJreiGPBY0kDWYH1xdQhxaR62JqcCDUgkWmjURU9TowmTb2dI/N6D4sSSvnMjc
         CVWyri1G0xGeQcjD2kR6eUtSmi//gO6oszfcH4xttRGU0vDmOJ2GS3YHgUKBNt5KiMuA
         QJrdfN0sl+/LIuxLGLeAFDanA2nH2+twVtlNXhKWllV+Z5uEIc/AHFionNk7QttOGR1X
         FH8QCWGqbuV9D+3HiuWwKLPge1bCLDZ1C5e59xhq+/Vsp/TPefCEsDun8vvC/w001ic5
         crMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=8UFRtIN5yyc4XYM3pDicSCNtA4jZV+k/XX0izJawMPM=;
        b=O/CJRR8oVS02Nev1czX0SAFhIv67gvhLWYrVcm91LrHkLRnVojl0D6r1lPC6SlN6Nm
         9DhRsRDH/Pep1RMWIt7sRCI1d3rLSM7N3kvJUMNaXDmI5GzHFDynC9nnExVOPbNmwdlC
         JwOtd+gUkoIUxYMjLyxsgbnJ9fbGvopW4BRtQffyxda9fFtk/bLgorWIQBkCH92q8tye
         8GHaRweFNGe98JnIYmrfMrGdFt5ItU506Eb3myrkHpzH3FjaPx9gaKQit5gpCbPofJ0B
         rIB47tFDJSGupP9Z+ctgAZYZ1SJQWkTXyfBJvAuJLLWJj71rU2K+NLJ+3XX8lKjg/p8b
         5KjQ==
X-Gm-Message-State: ACgBeo1j8XTpWEC4K4VvOdpKvRlkniiABTbGf6/OubBLxVRWQg2gK7QN
	RGh1ofNryEjYf1ZBT9MVByAG6jAehto=
X-Google-Smtp-Source: AA6agR5GoZL18Xe9Zft28yYtBUdHpsgn6S85S97c6Z+nPpIsta+pjgo3Zjkn1nTYOUes+hvve3K14Q==
X-Received: by 2002:a05:6402:51cb:b0:43e:8f40:858d with SMTP id r11-20020a05640251cb00b0043e8f40858dmr24699104edd.391.1660126583209;
        Wed, 10 Aug 2022 03:16:23 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: gic: Fix MISRA C 2012 Rule 20.7 violation
Date: Wed, 10 Aug 2022 13:15:39 +0300
Message-Id: <20220810101539.1909143-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In GIC_PRI_TO_GUEST(), add parentheses around the macro parameter 'pri' to
prevent against unintended expansions and realign comment.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/arm/include/asm/gic.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/include/asm/gic.h b/xen/arch/arm/include/asm/gic.h
index b3c6c67933..3692fae393 100644
--- a/xen/arch/arm/include/asm/gic.h
+++ b/xen/arch/arm/include/asm/gic.h
@@ -152,8 +152,8 @@
 #define GIC_PRI_IPI_ALL    ((GIC_PRI_IPI << 24) | (GIC_PRI_IPI << 16) |\
                             (GIC_PRI_IPI << 8) | GIC_PRI_IPI)
 
-#define GIC_PRI_TO_GUEST(pri) (pri >> 3) /* GICH_LR and GICH_VMCR only support
-                                            5 bits for guest irq priority */
+#define GIC_PRI_TO_GUEST(pri) ((pri) >> 3) /* GICH_LR and GICH_VMCR only support
+                                              5 bits for guest irq priority */
 
 #define GICH_LR_PENDING         1
 #define GICH_LR_ACTIVE          2
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 10:24:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 10:24:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383527.618707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLisn-00042N-Ch; Wed, 10 Aug 2022 10:24:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383527.618707; Wed, 10 Aug 2022 10:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLisn-00042G-9g; Wed, 10 Aug 2022 10:24:13 +0000
Received: by outflank-mailman (input) for mailman id 383527;
 Wed, 10 Aug 2022 10:24:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oLism-00042A-Dn
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 10:24:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLism-0006ix-3M; Wed, 10 Aug 2022 10:24:12 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLisl-000391-SY; Wed, 10 Aug 2022 10:24:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=j7U8MFVL+GnuHEKO1Vv9JnH5B4RnMXCvBNhiNJwhdCs=; b=Qd1ZXc1mmFHaTlXM1g5L6cNkIe
	oIea2KyWy0ZwIrWhIu0eweUQM7gfhbMlG3/gp1XIao+aLFvgnivkmoGZ0gZMJuNnsbvtK94jsnMQI
	ZYAp/WzH/75xZ2ougls53K7Fo0FSMwmNt6n8pNJQbXMlxQge+v3z4abUTJVg9KidRRQE=;
Message-ID: <8ee01e21-4941-a46d-a5f5-c132c078afa3@xen.org>
Date: Wed, 10 Aug 2022 11:24:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH] xen/arm: gic: Fix MISRA C 2012 Rule 20.7 violation
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220810101539.1909143-1-burzalodowa@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220810101539.1909143-1-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Xenia,

Thank for your effort to make Xen MISRA compliant. Personally, I find 
quite difficult to follow what's going on with dozen of single patches.

It is also makes more difficult for a committer to apply them. For 
instance, tools like 'b4' can easily apply a series. So there are less 
effort required.

So would you be able to try to batch your patches in larger series 
(maybe 10-20 patches)?

Cheers,

On 10/08/2022 11:15, Xenia Ragiadakou wrote:
> In GIC_PRI_TO_GUEST(), add parentheses around the macro parameter 'pri' to
> prevent against unintended expansions and realign comment.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
> ---
>   xen/arch/arm/include/asm/gic.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/gic.h b/xen/arch/arm/include/asm/gic.h
> index b3c6c67933..3692fae393 100644
> --- a/xen/arch/arm/include/asm/gic.h
> +++ b/xen/arch/arm/include/asm/gic.h
> @@ -152,8 +152,8 @@
>   #define GIC_PRI_IPI_ALL    ((GIC_PRI_IPI << 24) | (GIC_PRI_IPI << 16) |\
>                               (GIC_PRI_IPI << 8) | GIC_PRI_IPI)
>   
> -#define GIC_PRI_TO_GUEST(pri) (pri >> 3) /* GICH_LR and GICH_VMCR only support
> -                                            5 bits for guest irq priority */
> +#define GIC_PRI_TO_GUEST(pri) ((pri) >> 3) /* GICH_LR and GICH_VMCR only support
> +                                              5 bits for guest irq priority */
>   
>   #define GICH_LR_PENDING         1
>   #define GICH_LR_ACTIVE          2

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 10:59:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 10:59:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383537.618718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLjQl-0007Mq-3Y; Wed, 10 Aug 2022 10:59:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383537.618718; Wed, 10 Aug 2022 10:59:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLjQl-0007Mj-0E; Wed, 10 Aug 2022 10:59:19 +0000
Received: by outflank-mailman (input) for mailman id 383537;
 Wed, 10 Aug 2022 10:59:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c0+s=YO=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1oLjQj-0007Md-3G
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 10:59:17 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060.outbound.protection.outlook.com [40.107.243.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 791230dc-189b-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 12:59:15 +0200 (CEST)
Received: from MW4PR03CA0240.namprd03.prod.outlook.com (2603:10b6:303:b9::35)
 by DS7PR12MB5983.namprd12.prod.outlook.com (2603:10b6:8:7e::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Wed, 10 Aug
 2022 10:59:12 +0000
Received: from CO1NAM11FT020.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b9:cafe::2c) by MW4PR03CA0240.outlook.office365.com
 (2603:10b6:303:b9::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15 via Frontend
 Transport; Wed, 10 Aug 2022 10:59:12 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT020.mail.protection.outlook.com (10.13.174.149) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5525.11 via Frontend Transport; Wed, 10 Aug 2022 10:59:11 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 10 Aug
 2022 05:59:10 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 10 Aug
 2022 05:58:31 -0500
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28
 via Frontend Transport; Wed, 10 Aug 2022 05:58:30 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 791230dc-189b-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VQKhm4i0AMca9aBYYr4+37laaBZdfflxqJExrV3K1xCjI8CQtmLVKQmIwvb/Ng4XRphL0mMyE3uhFgV5V/Oftxk6vA20I05MHftHMXaNcIk39PZDeIA0lGllkmSFmDQq1p8JyVlr1o6/MIqkGwwf4Pr9GR3/oBy7vtwEVIs6lRIu0QwDuEv2oeML6A0MjY+eskTZbnC2LVVNxZO2VfOOFRhI1UqJ03b22MbHlg2dM3hxZiUOnx3fxcBnWzAtGMssSmEzZq1VcBiyDbQL5BsM4pMgESAQ+kG+DQAlmlSN1bbGhQ1NlRcvopcLG46k/QawnOufm8AJmr4pfqEa+1TVqA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rGpVah3n59CPxVuVNYgeIaw/1zZRjH3TajyXnIc0KM8=;
 b=KKi/blT4LDijAz3NAKalpfomNMpnbiTdkmBDqWVfoH7wNCjOiSY515FQSNhFojKd8l9jAQjIHNr3inPco8rq2fNvyS7z2tTGgmpI6IJc+J8RxrzoBAzcbVNj0+OeUUPAeG76DTbkOcIK11k63ivHPp4vzZeN+jos65ncCPq7zPhyE6MxaKmD2D/4c2KSphtZqCX1oK3dbmNYu3eOSk1rFexngg1Y5vNqPg63y37KjLs8+d7TTJQ8gTuWAR0cQyMrEeCZcBd7KWsXUhtI+Yyo8zwHm3HrjYtqDtWb1laQF3f/FPf1L6mwGJhkvqC+LCIH1jLq3RYVju5d3sJuj1afDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rGpVah3n59CPxVuVNYgeIaw/1zZRjH3TajyXnIc0KM8=;
 b=i/zuPEVmi61XceRYJFKAhQ5U+42DTRm6YYnH7pPaJ8BNsQI67BixF0c1zecPixrWCxXlC3hxl4noC0LAO8YQ0Ph8xSgaZAYMBYSHjQ02s7jgofg4DqVlaZXJ1eBwCSZDuu48Y2ij2PAxX7ZUR2nWewod1RLum7GanGBEE9+Woxw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayankuma@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayankuma@amd.com>
Subject: [XEN v1] xen: arm: Check if timer is enabled for timer irq
Date: Wed, 10 Aug 2022 11:58:22 +0100
Message-ID: <20220810105822.18404-1-ayankuma@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 797479bd-9b20-423d-36a3-08da7abf5b94
X-MS-TrafficTypeDiagnostic: DS7PR12MB5983:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NI75xUz/RZhwfSbBc3dZemBp8VLcwKq4dg2zlKxoZXPvj7tR+m2VcZrPebY8KHg9Zsp3eA7rL+lemKAqxaCT6sE8qIF9lgJXXQV9+Q7rOvjBxoB0MV5qEruaodq2hWvIvskXm//CgqJ3qaTYZ4arESmZMjcFzGYxtwwmCmlDKJFZXm1IElBvsTyLXCFGesqrPmquY+uDvTE/BnP7SvMG9j9NJYp+Rf28lD9XhaApsubSMNVc0f/QhQhwbCi3LiM6Kf4Is2qz5qXNM99NWpUQ+83L9d87FrUhAqKlBF+YY5jRgE1JRU78SxI7JuZMUlQAXIEWDIam0/9qLRzhAR9Tm3BqpLspdFkk4shFFNqM8ZwDqaJxtxATAsw9StQFplkvejEF1/i+m9lEp+jQlbZnpcZ1x9khheIlbLKfDxe3Z5Fp66Do5Y+XQPV3jO5elVPke2Gi770fAYVzF2JqarmMZ34ShBplfXfRipx2MIFeUe5+Pdx1JDjjVICVTENPTzKhAESyvlE92MfUDN0nI3pIHizdwrNKrOBoy8HgbA7h9tcfCVTXIU4lSc6DhfSQlSuaRPfOXrBWJ5HrHceQBGCo7maCkox9GIcslHA3QBKuj6VNQSQdS/H2QgCDJ/o9p07A3semXt9M7Lgg2UZE5iijNSqzrv0eX9UFKstKE+xNuYVdABHaIoXYq2EYr7ZMFBNtWZOnfiTc2+c9gl4lfFKQ+uoL1jpuykzVtwIWEpRgGiZxZcflCU7CrngANbKU97cyBvpBaVjhik7C8Y+RWrTLdLeP89w0rMki8UYZWUSCSVoCNcn6OMEZ5Jieke/oIHKTDzLAnCY+dEmZ2weKC1dnPw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(376002)(396003)(46966006)(36840700001)(40470700004)(336012)(186003)(36860700001)(41300700001)(40480700001)(8936002)(47076005)(426003)(83380400001)(5660300002)(1076003)(2616005)(36756003)(54906003)(70206006)(2906002)(82740400003)(356005)(478600001)(70586007)(26005)(6916009)(81166007)(316002)(82310400005)(8676002)(40460700003)(4326008)(6666004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 10:59:11.7941
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 797479bd-9b20-423d-36a3-08da7abf5b94
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT020.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5983

Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,
CNTHP_CTL :- "When the value of the ENABLE bit is 1, ISTATUS indicates
whether the timer condition is met."

Also similar description applies to CNTP_CTL as well.

One should always check that the timer is enabled and status is set, to
determine if the timer interrupt has been generated.

Signed-off-by: Ayan Kumar Halder <ayankuma@amd.com>
---
 xen/arch/arm/time.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index dec53b5f7d..f220586c52 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -222,8 +222,13 @@ int reprogram_timer(s_time_t timeout)
 /* Handle the firing timer */
 static void timer_interrupt(int irq, void *dev_id, struct cpu_user_regs *regs)
 {
-    if ( irq == (timer_irq[TIMER_HYP_PPI]) &&
-         READ_SYSREG(CNTHP_CTL_EL2) & CNTx_CTL_PENDING )
+    uint8_t timer_en_mask = (CNTx_CTL_PENDING | CNTx_CTL_ENABLE);
+    bool timer_cond_el2 = (READ_SYSREG(CNTHP_CTL_EL2) & timer_en_mask) ==
+        timer_en_mask ? true : false;
+    bool timer_cond_el0 = (READ_SYSREG(CNTP_CTL_EL0) & timer_en_mask) ==
+        timer_en_mask ? true : false;
+
+    if ( irq == (timer_irq[TIMER_HYP_PPI]) && timer_cond_el2 )
     {
         perfc_incr(hyp_timer_irqs);
         /* Signal the generic timer code to do its work */
@@ -232,8 +237,7 @@ static void timer_interrupt(int irq, void *dev_id, struct cpu_user_regs *regs)
         WRITE_SYSREG(0, CNTHP_CTL_EL2);
     }
 
-    if ( irq == (timer_irq[TIMER_PHYS_NONSECURE_PPI]) &&
-         READ_SYSREG(CNTP_CTL_EL0) & CNTx_CTL_PENDING )
+    if ( irq == (timer_irq[TIMER_PHYS_NONSECURE_PPI]) && timer_cond_el0 )
     {
         perfc_incr(phys_timer_irqs);
         /* Signal the generic timer code to do its work */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 11:33:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 11:33:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383549.618734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLjxr-00037X-Pc; Wed, 10 Aug 2022 11:33:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383549.618734; Wed, 10 Aug 2022 11:33:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLjxr-00037Q-Mz; Wed, 10 Aug 2022 11:33:31 +0000
Received: by outflank-mailman (input) for mailman id 383549;
 Wed, 10 Aug 2022 11:33:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YrKo=YO=epam.com=prvs=0221a0c8e4=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1oLjxp-00037K-Q0
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 11:33:30 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b26e3e0-18a0-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 13:33:19 +0200 (CEST)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27AAxIkf014036;
 Wed, 10 Aug 2022 11:32:32 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2057.outbound.protection.outlook.com [104.47.14.57])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3huwq8t6j2-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 10 Aug 2022 11:32:31 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by VI1PR03MB4270.eurprd03.prod.outlook.com (2603:10a6:803:5d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 11:32:29 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387%2]) with mapi id 15.20.5525.011; Wed, 10 Aug 2022
 11:32:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b26e3e0-18a0-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D506oHzK3eSdt5ypcaRz1a46mpQwDqfYVJQ0Kloxffyq0biFMPntykAJAejn2CPSjbNVuzPeN0NaVii+GwVy8vZ+7WgAz8AoERAncgOfNZ4BrTeowteDjgaeB+m8bpXRWhK5Z1npG28/6qtMj7YE/DFgjJy7MWKEdJQ4GMotXsRUyreYdNQ6qNl88GeT3wK40FGO4ZiadjHZZUD5UXFlIGFo1BnbG6WZgUacVcqOci3LDRv+rrOVDlDAmnCpt44r3MDNBt7wqdm+Y1flOaEnPyqXjXAUIhvGYl8a8vBZSXdAFSBamKmx3Ek3DSEnsURwE2I2cmT+ecks5aG6ZvrKEg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c9+hatWRbvsl4UX9qNd0GKihD3i2LitosVsKeBtTRIg=;
 b=nOWJG14amAvpRBxHNItKGpsVRoARMHQZMoCoavsILghwnWxTvP884E+eyRAcCjlLQmZIhbJIlK1/o/c2RPwoTsbcwU9J6adv2q4783PgghQfqNvkr5axn/fWaDQIsozWGODOErfuQpMZrpWj7abMHpfwUwe2qcDpyiX04k6aBdF1j2FkdSYCilrFuqhSCYHTMdi1m0qdaEXzDEOxmItE2SL4791E82dmoeMsx3dcR6Ho/BfcYrx2G9mwoQJeDv/GR54EEo1Jvy8i0RBSjpYvdGs7jshSRrr4MOhjEmInBDBe2hSpXYFP20SQPRmcq5gXJka+biyksp7To3wY+d943A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c9+hatWRbvsl4UX9qNd0GKihD3i2LitosVsKeBtTRIg=;
 b=g6LTn4q8zo/6RDxUXumFgGKHPfOcvxJz088uxoAqu4Sg+QA2hoiYuXdaPztqqr1Yr8oGQs0Y0U6MnS4jym9ISRD+ioJiQXuBGaTXYLj5FF2XoqBuU6LSjE1QNKJTvOcMIsv/aKKZvZf41852CKLa93cvUfWWRkeiH7azD1AzDpCrykDfdZ4L/vMG4faOg/0WY8jXUQcz+wOmRY9W4zKcftoZngJm9NO4okkQzhr8vrXWRNKWcN3ccpmbU/iazqdC9BGsxHOQQrnEsWA2+8Rjrp+htpcDfGyRTGfUO78QT1mrrJM5w1y62vOs/d4FWPjjKPtJBbn2vrjrQjyL1aOGDQ==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>, Juergen Gross <jgross@suse.com>,
        Boris Ostrovsky <boris.ostrovsky@oracle.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
        Borislav Petkov <bp@alien8.de>,
        Dave Hansen <dave.hansen@linux.intel.com>,
        "x86@kernel.org" <x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
        "kernel-janitors@vger.kernel.org" <kernel-janitors@vger.kernel.org>,
        "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/4] xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic
 config
Thread-Topic: [PATCH 3/4] xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic
 config
Thread-Index: AQHYrHcjLoZ+Ck4yj0aYNvWHl5MnO62oAMgA
Date: Wed, 10 Aug 2022 11:32:28 +0000
Message-ID: <081fa42d-8587-a69e-5e1c-672152ac8c3e@epam.com>
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-4-lukas.bulwahn@gmail.com>
In-Reply-To: <20220810050712.9539-4-lukas.bulwahn@gmail.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 84b0eb87-d1fe-4f28-98bd-08da7ac401c2
x-ms-traffictypediagnostic: VI1PR03MB4270:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 yfaiNY6J50Mg5WvzyaHDZJ6xCN014YDakrsV+Lc8zhFOiNQQWpkou6O4df0ddg2aEvH83uzbpg/GtzISgANCRsL0XTYEyAJKYUHeJpv/0/xhGRABDSi2gmDIaxQTOHNpZqIq3wp5cbhZenquxcyshEh5PoT9KkFxTqnaJdYcacB20iU5OsnU2DLG094J3WI5m2QlA6yVh/HGGQ4Ty/M+yeV9TeB6DX2pJKaYKu/kqgpPRHHJu+RNR1ynA61ori/EIGrqZI3PK5iAPRKiV/3qE9VO6oMz+Z0MWlaFGXIkWjH5Xti8RyMXAUjRyCEgIX3JlR1XWd7AVF83RI5VzgvP/4nrJmDC0ALAp3pIg+zbjrKvv5HPTy6PnrDVxr0GY+8H3Ja/Xv+rt6TEharmj8gs94rpLiv9t1mePiMQLmHYyz8sbKkYor7x3eHLuPGmbj1jtUFr05iVG/D5fH0noAHZPcjIhO/AWKxPV0WHOgswlPxKm/U2FONB+SSEFMjJcAZZOy84grqQV7K9jx6emggFewAyWtTLoGXmDvjfEL/pOwx6LldoJvxaMdBs4Gb52UIZ2TdhKoRuakUbn22pmT9yzlFVdH4cilOvUAfkwk6fuTsRQ76szak6/mLo5TjWzf15SA+V/JLtm4Z59KLoAEvHwqFU5PfgkQSZDSXk0ee9LNiEUVRBOdhBjORW2ZHwLO/4U6jd4C64MVncSoac9kFIUdB8E3MklQn0tEXhwE/0YwuRQExOdXVsG7UGSoux73ECTi/TrcB3en08Wr+p/bcERHnOKuIcxF9KWtCY1FVFW5QRCAIWJVuzJX2PCnDBPCh2AnofT8j7fCHIu2uizBTaMj8sxsivKoONWO50nTXX/bI=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR03MB6108.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(136003)(376002)(346002)(366004)(6512007)(186003)(2616005)(83380400001)(316002)(110136005)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(8676002)(4326008)(91956017)(36756003)(41300700001)(54906003)(31686004)(2906002)(478600001)(26005)(6506007)(53546011)(55236004)(31696002)(86362001)(38100700002)(38070700005)(6486002)(8936002)(7416002)(5660300002)(71200400001)(122000001)(41533002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?VERveTQrUXIxWHFCbFdnWjBnY3cwYnc5U3BWVDZEcUpIRkVuQWt1bnVNbmJ2?=
 =?utf-8?B?OTBZdHdpaWtJbVd4Y3MvSG5sUVQ3YzhIRXI5RzFJWDdwMkUvck96bHorNkJi?=
 =?utf-8?B?a2pCN2d6OFB2L1hhY2l1OTRpOU0xRTRRT2cyVDU3bDZFU0lIbXVFTXVRNFZY?=
 =?utf-8?B?TGpqelkzVENnbUwyR0RFSmxyYVhNL2FxOTZJY0tTNGlFSCs3VlFJeU9iWDUr?=
 =?utf-8?B?RHJEOUZMZDNSTVp6WFdpRlJwTkhOYlA1cjVVTWVoMG5uMXl0ZW9uZjFtZHJE?=
 =?utf-8?B?aThIcnEyNnpWc0l6bkhHZkFaNWZRK3g5RXJaVEtSVUNHd21uRFBoajkzSy9o?=
 =?utf-8?B?OW9RZ2p4OS82VGVkZUg5TjZ3ZFZjbVpNNXZCT3orQk5hQ016SzVaOXJjMG9x?=
 =?utf-8?B?bGdOTjU2dVVmL25UVlkyZUVnUTZJQXRSeFV0bkJhNmQ5TjVTREVYY1N4d2JL?=
 =?utf-8?B?Z2J6UklEQTN2UFB4cmg0cXdzTVI3R0I4UHRFejRHa0F1WGVRZnNZMEpkVlBQ?=
 =?utf-8?B?K2RuYWFVeEExZ2UvazBQVXdUbW9uYit4Zk5CaEZncVZRbk9lTGhKSkdJYzZo?=
 =?utf-8?B?SGFuZVB1a1RUSnpkQTJIOVRmdldZaGFFWG81em1rYzdncHlXb0kyQ25KaTRS?=
 =?utf-8?B?K2ZVekJmTDVRRFY2STh4QmNXcUdMcHBvcnF0WnIzUmlZWjcrZDA5QmQ2M1BB?=
 =?utf-8?B?U3JxSFdFQ1AyUlJBVWgvdTlINnIyRFRHSmNaNFAramxPaXpBTitkbDZVVFBY?=
 =?utf-8?B?NWk2S05ISkExdjloVXRYZjJ4dFBvalBZdHZycDM5QXFNc3Axak1XNlovMGdV?=
 =?utf-8?B?NXJMZDNMSjV5R1M5VlYwM1Y2Qys0R3kwOUlrY1JDc1ZRSFA3SEFVck16S2Vh?=
 =?utf-8?B?TGFJVEh0SFM4aU9HejYvNFNPbXhTQ0plNWt4YnNVWElIM0V6SS9aRVM1dVhl?=
 =?utf-8?B?NGkrN1VwTGxQN3FPNTQ2VDJldGJJbitMTE9uOGE3Uy9xUDVPSlVkQXVzTkpD?=
 =?utf-8?B?K1dBY1pSUVpOMTFxd3hwcXBjbExEWnpWVFRpeEl5emtFc3lwbTVxZlpaWTBH?=
 =?utf-8?B?VEJhM0xycWdtTnBxajRYbXRCWFpMNmtsVjErdGljdVJiYmNlblN1SnBsUU9B?=
 =?utf-8?B?VVJsdUZsYk5xVng0S08wOWRQZWpwR3hYN1NGOGdTUUZCaUZBMzRGQ3o2bGdw?=
 =?utf-8?B?d3dWbEw2azY4RG5IQ0NsaHZFdHkwbVh2TzU1MzBhLzF2TVNjd3VGR0tFZmx4?=
 =?utf-8?B?Nk40bmRzdng4eHo2bzhVd0VabWVlSmZHRWJZeXR5OG1XN3ZlNEdsdFB6Uk1w?=
 =?utf-8?B?clI3TmV5dSsyWk0xc0VLUi82YjBYZmVpQWNqWFVMOWxMUmN6VU1mdVdjYkNG?=
 =?utf-8?B?L29JMjRRdm95RHcvakhLbFJJUnFFRW9sMFFISDA0YzVzZUIyZWJxZ3FvaGtP?=
 =?utf-8?B?YUN6RGlkRGozcmdZTVY0R1V6OGQ1MzhQUGxkZzZrYndsZUp2RU13Ry8vSGdi?=
 =?utf-8?B?eFpOejdIWU5xYkNTa1lSR3FYNVc5OGNFK2VHMXBadkdtN3ltaFFETFZXdUNR?=
 =?utf-8?B?K1N5eVp0Y1VxeXVPNUE1RFhERG5qNW43OEEvR0xzb3JRZzNBUlM4N29hM29H?=
 =?utf-8?B?VGk1TTNIdDZTdzUySm1iWXQxWkhHRlgvUXJ3Rkd5cE5zT0pzdkpaTTJ2WjV4?=
 =?utf-8?B?YXZvQ2U0UUxKSWxacXRybXpTS1AySFN3TU5CcGhlbExtTUhrN1hzQzdpWW1O?=
 =?utf-8?B?aTBhNUN1N0E1M2p1WjczYWgzR2F4dXdPbHRlR3JlNjBoZ0czc3Zsb1BBUkVZ?=
 =?utf-8?B?ZnZjS0YzOTVZTzVudEVGTkZLVDRRdU5KWENlRlFrN0luZUtIdnBzbERKbDZU?=
 =?utf-8?B?ODlTbGxyTnB6ZzFtS2FjbGJXZStNMktHbFFTNEpZVURvOVRwOGQwR2wyOEVR?=
 =?utf-8?B?R3dZWE5TcDd1SE5jaUdWUm5SdFl1MWJsSWYranBzVGR5eHV0OHl0VXNWdVdv?=
 =?utf-8?B?R3dMTFZWVHk2QkRsSHdXMFpyczdYUSs2UFY4WWpVZk95MmV0bDJxQU9IdXJH?=
 =?utf-8?B?ZEpwRUprUWVXeVZqYnhOUEJIblRJREljNWl3V1A3cmJwTUo1dDE1aHJNaXZX?=
 =?utf-8?B?Uzd3bjEydXU1am5qOFluNzkrQjNHaFhKM1lBYVBRNmhOeHpGQmsyTW9uLzY5?=
 =?utf-8?Q?wGyG9EoSOsbmUiFQCtCAaJU=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F7D4908D884DAD4C84158EA82BFDE4E0@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR03MB6108.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84b0eb87-d1fe-4f28-98bd-08da7ac401c2
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 11:32:28.7430
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2v2hXzeQ9TWw+QCrG78GljzThiB9tZ5JgpysCyXOqlzlwj+t6tpWLAVFUJ/gQvppSGHEfQXcd2jHDksGMdqyv1xGkWoq1AIx+y2/P33knPE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB4270
X-Proofpoint-GUID: xQzGMxYRUBimrdVP_s6iMkh69dLGxnH1
X-Proofpoint-ORIG-GUID: xQzGMxYRUBimrdVP_s6iMkh69dLGxnH1
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-10_06,2022-08-10_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0
 phishscore=0 malwarescore=0 mlxlogscore=999 lowpriorityscore=0 spamscore=0
 mlxscore=0 suspectscore=0 clxscore=1011 priorityscore=1501 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208100035

DQpPbiAxMC4wOC4yMiAwODowNywgTHVrYXMgQnVsd2FobiB3cm90ZToNCg0KSGVsbG8gTHVrYXMs
IGFsbA0KDQo+IFdoaWxlIHJldmlld2luZyBhcmNoL3g4Ni9jb25maWdzL3hlbi5jb25maWcsIEkg
bm90aWNlZCB0aGUgZm9sbG93aW5nDQo+IG5vdGUgaW4gdGhpcyBmaWxlOg0KPg0KPiAgICAnIyBk
ZXBlbmRzIG9uIE1FTU9SWV9IT1RQTFVHLCBhcm02NCBkb2Vzbid0IGVuYWJsZSB0aGlzIHlldCwN
Cj4gICAgJyMgbW92ZSB0byBnZW5lcmljIGNvbmZpZyBpZiBpdCBldmVyIGRvZXMuDQo+ICAgIENP
TkZJR19YRU5fQkFMTE9PTl9NRU1PUllfSE9UUExVRz15DQo+DQo+IENvbW1pdCA2YzY2ODUwNTVh
MjggKCJrY29uZmlnOiBhZGQgeGVuY29uZmlnIGRlZmNvbmZpZyBoZWxwZXIiKSBpbiBKdW5lDQo+
IDIwMTUgYWRkcyB0aGlzIG5vdGUuIEZvcnR1bmF0ZWx5LCBjb21taXQgNGFiMjE1MDYxNTU0ICgi
YXJtNjQ6IEFkZCBtZW1vcnkNCj4gaG90cGx1ZyBzdXBwb3J0IikgZnJvbSBEZWNlbWJlciAyMDE4
IGFkZHMgdGhlIG1lbW9yeSBob3RwbHVnIGluIGFybTY0LCBzbw0KPiB0aGUgcHJlY29uZGl0aW9u
IG9mIHRoaXMgbm90ZSBhYm92ZSBpcyBub3cgbWV0Lg0KPg0KPiBNb3ZlIHNldHRpbmcgdGhlIGNv
bmZpZyBYRU5fQkFMTE9PTl9NRU1PUllfSE9UUExVRyBpbnRvIHRoZSBnZW5lcmljDQo+IHhlbi5j
b25maWcgbm93Lg0KDQoNCkkgbWlnaHQgaGF2ZSBtaXNzZWQgc29tZXRoaW5nIGJ1dCBJIGhhdmUg
bmV2ZXIgaGVhcmQgb2YgYW55b25lIHVzaW5nIA0KWEVOX0JBTExPT05fTUVNT1JZX0hPVFBMVUcg
b24gQXJtLg0KDQpMb29raW5nIGludG8gdGhlIGNvZGUsIEkgYW0gYWZyYWlkLCBDT05GSUdfWEVO
X0JBTExPT05fTUVNT1JZX0hPVFBMVUcgDQp3b24ndCBiZSBmdW5jdGlvbmFsIG9uIEFybSB3aXRo
b3V0IHJld29ya2luZyByZXNvdXJjZSBhbGxvY2F0aW9uIGxvZ2ljIA0KaW4gZHJpdmVycy94ZW4v
YmFsbG9uLmMgYXQgbGVhc3QsIHNpbmNlIHN5c3RlbSAiaW9tZW1fcmVzb3VyY2UiIGNhbm5vdCAN
CmJlIHVzZWQgb24gQXJtIHRvIGFsbG9jYXRlIHVudXNlZCBtZW1vcnkgcmVnaW9uKHMpLCBwbGVh
c2Ugc2VlIA0KYWRkaXRpb25hbF9tZW1vcnlfcmVzb3VyY2UoKS4gSSBtaWdodCBiZSB3cm9uZywg
YnV0IGl0IGZlZWxzIHRvIG1lIHRoYXQgDQpoZXJlIHdlIHdvdWxkIG5lZWQgYSBzaW1pbGFyIGxv
Z2ljIGxpa2UgaW4gDQpkcml2ZXJzL3hlbi91bnBvcHVsYXRlZC1hbGxvYy5jIHdoaWNoIGlzIGZ1
bmN0aW9uYWwgb24gQXJtIHNpbmNlIGl0IHVzZXMgDQpzcGVjaWZpYyBYZW4gcmVzb3VyY2UgKG9u
IHg4NiBpdCBpcyBqdXN0IGFuIGlvbWVtX3Jlc291cmNlLCBidXQgb24gQXJtIA0KaXQgY29udGFp
bnMgcHJvdmlkZWQgYnkgdGhlIGh5cGVydmlzb3IgZXh0ZW5kZWQgcmVnaW9ucykuDQoNCkkgYW0g
bm90IGF3YXJlIG9mIGFueW9uZSB3b3JraW5nIG9uIGl0LCBzbyBJIHdvdWxkbid0IGVuYWJsZSB0
aGF0IA0Kc3VwcG9ydCBvbiBBcm0gYnkgZGVmYXVsdCB1bnRpbCB0aGUgY29kZSBpcyB1cGRhdGVk
Lg0KDQoNCg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhu
QGdtYWlsLmNvbT4NCj4gLS0tDQo+ICAgYXJjaC94ODYvY29uZmlncy94ZW4uY29uZmlnIHwgMyAt
LS0NCj4gICBrZXJuZWwvY29uZmlncy94ZW4uY29uZmlnICAgfCAxICsNCj4gICAyIGZpbGVzIGNo
YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEv
YXJjaC94ODYvY29uZmlncy94ZW4uY29uZmlnIGIvYXJjaC94ODYvY29uZmlncy94ZW4uY29uZmln
DQo+IGluZGV4IDhhNmM4OGY0OGU3NS4uMDI0ODE3YmM0ZjBlIDEwMDY0NA0KPiAtLS0gYS9hcmNo
L3g4Ni9jb25maWdzL3hlbi5jb25maWcNCj4gKysrIGIvYXJjaC94ODYvY29uZmlncy94ZW4uY29u
ZmlnDQo+IEBAIC0yMyw2ICsyMywzIEBAIENPTkZJR19YRU5fQUNQSV9QUk9DRVNTT1I9bQ0KPiAg
IENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9bQ0KPiAgICMgeDg2IHNwZWNpZmljIGZyb250ZW5k
IGRyaXZlcnMNCj4gICBDT05GSUdfWEVOX1BDSURFVl9GUk9OVEVORD1tDQo+IC0jIGRlcGVuZHMg
b24gTUVNT1JZX0hPVFBMVUcsIGFybTY0IGRvZXNuJ3QgZW5hYmxlIHRoaXMgeWV0LA0KPiAtIyBt
b3ZlIHRvIGdlbmVyaWMgY29uZmlnIGlmIGl0IGV2ZXIgZG9lcy4NCj4gLUNPTkZJR19YRU5fQkFM
TE9PTl9NRU1PUllfSE9UUExVRz15DQo+IGRpZmYgLS1naXQgYS9rZXJuZWwvY29uZmlncy94ZW4u
Y29uZmlnIGIva2VybmVsL2NvbmZpZ3MveGVuLmNvbmZpZw0KPiBpbmRleCA0MzZmODA2YWExZWQu
LmVhODRkNWIzMTIyZCAxMDA2NDQNCj4gLS0tIGEva2VybmVsL2NvbmZpZ3MveGVuLmNvbmZpZw0K
PiArKysgYi9rZXJuZWwvY29uZmlncy94ZW4uY29uZmlnDQo+IEBAIC0zNCw2ICszNCw3IEBAIENP
TkZJR19JTlBVVF9YRU5fS0JEREVWX0ZST05URU5EPW0NCj4gICBDT05GSUdfWEVOX1NDU0lfRlJP
TlRFTkQ9bQ0KPiAgICMgb3RoZXJzDQo+ICAgQ09ORklHX1hFTl9CQUxMT09OPXkNCj4gK0NPTkZJ
R19YRU5fQkFMTE9PTl9NRU1PUllfSE9UUExVRz15DQo+ICAgQ09ORklHX1hFTl9ERVZfRVZUQ0hO
PW0NCj4gICBDT05GSUdfWEVOX0JMS0RFVl9GUk9OVEVORD1tDQo+ICAgQ09ORklHX1hFTl9ORVRE
RVZfRlJPTlRFTkQ9bQ0KDQotLSANClJlZ2FyZHMsDQoNCk9sZWtzYW5kciBUeXNoY2hlbmtvDQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 11:37:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 11:37:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383558.618745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLk21-0003im-Au; Wed, 10 Aug 2022 11:37:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383558.618745; Wed, 10 Aug 2022 11:37:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLk21-0003if-81; Wed, 10 Aug 2022 11:37:49 +0000
Received: by outflank-mailman (input) for mailman id 383558;
 Wed, 10 Aug 2022 11:37:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLk20-0003iT-3R; Wed, 10 Aug 2022 11:37:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLk20-0007xM-00; Wed, 10 Aug 2022 11:37:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLk1z-0007m1-GF; Wed, 10 Aug 2022 11:37:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLk1z-00081g-Fp; Wed, 10 Aug 2022 11:37:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6vKvbjsGKATefF6sdJmzshG4l3a4DKtFg6mRWeBp8Xc=; b=hFq5IoTTg3O/NfsUBGlb24eylz
	0XphxDu0v0QYJ8xxAOm7Wnsov5MVkfzEGTfBFS3S67Mh9atrNYmfsGkjQkq2CDsaMkP6SZDWOPKAN
	/cH25Uwr9+cNe+2zneyyfHuM1lyLfc9YsElbN6boV1I4g5KU2CoQyyNy283sk//eueQ0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172348-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172348: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=a4e1a82668f168c9e57d3d03e8c17f6264ac0638
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 11:37:47 +0000

flight 172348 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172348/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              a4e1a82668f168c9e57d3d03e8c17f6264ac0638
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  761 days
Failing since        151818  2020-07-11 04:18:52 Z  760 days  742 attempts
Testing same since   172348  2022-08-10 04:19:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118742 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 11:56:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 11:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383570.618757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLkKG-0006BH-0V; Wed, 10 Aug 2022 11:56:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383570.618757; Wed, 10 Aug 2022 11:56:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLkKF-0006BA-Tv; Wed, 10 Aug 2022 11:56:39 +0000
Received: by outflank-mailman (input) for mailman id 383570;
 Wed, 10 Aug 2022 11:56:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ddlM=YO=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oLkKE-0006B4-Ew
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 11:56:38 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2044.outbound.protection.outlook.com [40.107.21.44])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c1762aa-18a3-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 13:56:36 +0200 (CEST)
Received: from DU2PR04CA0029.eurprd04.prod.outlook.com (2603:10a6:10:3b::34)
 by VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Wed, 10 Aug
 2022 11:56:32 +0000
Received: from DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3b:cafe::ef) by DU2PR04CA0029.outlook.office365.com
 (2603:10a6:10:3b::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Wed, 10 Aug 2022 11:56:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT018.mail.protection.outlook.com (100.127.142.74) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Wed, 10 Aug 2022 11:56:32 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Wed, 10 Aug 2022 11:56:32 +0000
Received: from a6dd5ceef11d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8879A817-FDC1-4626-9B95-1EE60344C05C.1; 
 Wed, 10 Aug 2022 11:56:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a6dd5ceef11d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Aug 2022 11:56:26 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by PAVPR08MB9064.eurprd08.prod.outlook.com (2603:10a6:102:32d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Wed, 10 Aug
 2022 11:56:24 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%4]) with mapi id 15.20.5525.011; Wed, 10 Aug 2022
 11:56:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c1762aa-18a3-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=U6WAShoKr+aG8Q31wHAw2EjtOypZiifF4yTWpDIs5aRkncGfGXXPiT/KeVyIYP/tbZZDVzp4NOI6E5t4vizb8qVf890N+4FpPnf1lfOg9wffEbcZzshONoRcNYzm6gI0H3117HW2NCiRKpLrCCpc15PbKAKNvOdA4hWIR6zLRLm2gEGxzUklqfUDKoznbA4bl5+b1LlrjnDR3P+oYpdCU8mfy3dGqnO0HT3Cl3gRubH7N6IpXdK/7rKzV+PQmeCvAXCJP88CsTaEqJM9vxDHTIkCHwlaKppiKY0SyvcfSZa5SfYGk84tLPZsmKryPKLek6cLgtmS3XAPk5nCLCn0GQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IE95nfIZuCt6z/SWDU0EUqYaPZFYyYQCEQX+gy3ATr8=;
 b=P3GjY5DH8y3llcyGtseEqGtX29PJoCIdyT2N9dgfDzZ/gkC8A7IdRMcu24kr4yagiJPeO4/yZciumyqCCwUSslTgRdTGDxGbaRsXFFfbDkeaefs41cAxbpKPwyWr92wqUhTMGMYEnEHgzTTl06v14XbbqzmkP8UPRHCYoUfjpbgaQfJBxmmsXszVymuyQTkYsigOoNZY4k93r1bEK3oy9lCqrC2AWbHFKTsDAJwjH6ruhdhfiG67GsVuy85+Oue6wnR/WjcWeqSqttkpElc6R1/x0dUQtujusGBirofnSE1wLxSG33iCwxVsHjd2Mo8g/DglDFAhvKTa/DF1p6Ww+A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IE95nfIZuCt6z/SWDU0EUqYaPZFYyYQCEQX+gy3ATr8=;
 b=WgS91BEIbAWeQv8lINeVTd0z60vMlpvxWrCvtU7IDbLAqFzaOE9mCA4XJLieTRiRugT/pNTSQWzPpTVGalJ4aooyojK1sCmOAzYHsRR17cDDilOS63ZuSSsgzPwi2TLHI/NDCdKP6v1eiTv5MAkHMXEu00pLjTJwjtkiYGIJUI4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c76e0028ea7a129f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AoNWq7zzlbIT1kNPAy9zLaVWQMeJjhSoyrxLh2KEFsnjWYMD3TtFiHQlAGVaXYVU5Or542HfykuSJa1EDPwOil2r55rbeDB+i1Udr0S3XBMB1Y6/jDyhI01Ed/eaNn1/bvIXIjqfz8k0P9h7/tBNnYmQojRYmyqtecqvAwscyph2UFmi4WaeXZAtA2tA2Yd1BE6i4KqRRpP+WxwpYM3PQULWnan+Zu+Cb+Q38FNaw1A3sz6Xu5VBw5jJL5PEe4TmDOdTU73ImzlcCKrq+LnJlxpcQbOth0mT/03bxSbDHYJYGUGMpgVvDpBY0pqvRXAueq9S8FzpfaGQp0FvK6iLQg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IE95nfIZuCt6z/SWDU0EUqYaPZFYyYQCEQX+gy3ATr8=;
 b=NTHfFRhkXhLy8F82MtkRD8Rff8zKZxCak+VakKzz1U8BeADh7yhkLry26EhXflmpn8RGbrdxd5Dqj44V0fiiWAnYZL+q4ImszOyo3VN8mC0OKDbFC0KgJeZejCYXKr0nzE201Jz3m1rXD0lT97JFi++1++tqupPB7MpT7ArpnJpk7hvybr6CcjfmvYyYBIltbJho/46P24WGeGcSJpYcRpZ8woNs4oPsvl47HdUmjBjhLD5vzvmPdOAgjBX83Tn6fL/trUguLuYQ7L9SMMPnmeQBzmiE+/2oezLXK6b+fWE7QAF2TToAXrjeH9+dqLddNHWtHwQa1vsD8yBsdIITfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IE95nfIZuCt6z/SWDU0EUqYaPZFYyYQCEQX+gy3ATr8=;
 b=WgS91BEIbAWeQv8lINeVTd0z60vMlpvxWrCvtU7IDbLAqFzaOE9mCA4XJLieTRiRugT/pNTSQWzPpTVGalJ4aooyojK1sCmOAzYHsRR17cDDilOS63ZuSSsgzPwi2TLHI/NDCdKP6v1eiTv5MAkHMXEu00pLjTJwjtkiYGIJUI4=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Paul Durrant
	<paul@xen.org>
Subject: Re: [PATCH] PCI: avoid bogus calls to get_pseg()
Thread-Topic: [PATCH] PCI: avoid bogus calls to get_pseg()
Thread-Index: AQHYrAfaSCwnUxIuckmqYlBEjhSF8a2oCFsA
Date: Wed, 10 Aug 2022 11:56:22 +0000
Message-ID: <D4EA645D-95DC-40ED-990A-8E376ABEC554@arm.com>
References: <80fb0709-5a0d-a3a5-b2ea-dca089714ac2@suse.com>
In-Reply-To: <80fb0709-5a0d-a3a5-b2ea-dca089714ac2@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 9b3968fc-bc1d-4869-2d90-08da7ac75e15
x-ms-traffictypediagnostic:
	PAVPR08MB9064:EE_|DBAEUR03FT018:EE_|VE1PR08MB5215:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 oJPVdsseNxjCQmTvdALoCcE+p2CrF5+vx93DpZwdC2Mag+lY5FlMPrxGhxvU3sMamBHZAThq7rf176O9RzYyzPGsp7SOICc7WzggZdGWOKbEp//DP3BAFsq1v+1MpYwy8T2Ek+FaOJyxKJU0qpRtnCgMxauWnYpWAa49aO05RzqyOFW1T/pTQC8JjwBJC6pjHwc39zBCn+/xR1fKiam7rSWyfBpfe8S7l1u16LFsBWhPWvoh0qJD2cZUy2XSVXkiKtvaqURnOrYRuOsMus/TM8ZKMTBjnakNkd/GzIcie9YS7i55V07sqwBv8IUrjJ1nwCo2Cn4en8KLAKU/t+0VXAKsdM8zOnaVvHbWrdofn0BrgqSaComkygqBxquJULMnFUbh3Ffw8YbPFdL52sUG6QUuMDt5YwcBmNQa0IiF0ME5HuaEcFuzC0ZISovF7KU3uyjMu3g4gHFLpzd+wBjiOi8rVoEqkWWkGQn26Mfw37FrqasRGUfFZkY0XYqUJ4SvUWDMhVJEeNngLCv0FkbaCcEimmbCf7fccq6ZPe3DSfMOdPSUhjh4UxOHxFK3RiIgwLRVN/A/P0AA08k4N+HYDn7vx9bihDy5frwyIyQZP38YsPSKnbt3D6ciUJ4qcRogIPbPVCFKsYkrFKG8EkTtB6L513vFWrwtjE+DDOCvTN5AYw10FPIGm54KkGxiYU1fa9hve1aMymJy+r8//n8HUXI5vb9Jw+F27BkpNnHBPGCtp5xUmqBdM+btAGRUmBxTsyliIH33poSz8DfJEDMDloC4jMgxwl1xPoA4cvd6qXTIYF4O98LtK5WDQA+8D+u200o7Z9dxFW+EjbAwfK63uw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(396003)(366004)(376002)(136003)(76116006)(4744005)(66476007)(8676002)(66446008)(4326008)(2906002)(66556008)(33656002)(91956017)(66946007)(54906003)(478600001)(64756008)(316002)(71200400001)(36756003)(6486002)(6916009)(38100700002)(38070700005)(53546011)(86362001)(41300700001)(26005)(122000001)(6506007)(6512007)(2616005)(5660300002)(8936002)(186003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <5776A43A1D928443A67221A61885B49F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9064
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2b60b5b9-62bb-423e-023c-08da7ac758a0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PnJCzwIYkyIjRnl6/jS0pIWIZLhj0e+rVwkQriYg8rGNueWJRYtxVGuAuJSZUuPbl3Rkq+w0zdquJT+V+e7bd+91U0MXRjK7YjgWLb4veWz2QKH+dLBhiVVnWCQnqQFlBWWZM3C58jrg7jwQHrOIOgX0qdKA44fWWVeeFv3NOwLFwFaBRzO9NC/BnACU64Z/o/hZiUXb2o9GFFa1VLntRJHfdiPSpZ0jr823wGOSDABvAP837ShHbVwRxcvzZM8W54yi88SANyzMYemTUmbXdL4fGg6RfIkoVpmpsYK07g8rWxW631eMGWIRYaoKR9fCir2t6jwSKePQPxW2bpZUQtf9h6bS8ACsRNTYOWHl11FeoRKDhYWNxldBHPBgTgOs5nma1ZI1uBogCEgpq1zzE1D1Zl5Y7Ex0fxuQemJBhv+/ffQNSRPmkwE/s9KkEOh3KWbERHHvXpb2Na1LI6R0fvx8tsbXoMCNHCy4pB7IW7RSdtMEMoU0waPNpMG5Ro4cpkp4u1/IVXZCzRYSUmjhaq/Vt6+EYjA5a740d0kON5TA9mejCLgk48sfFiEY0zRDRp5ZEDqmN55P0GOoxJBSOMPazwoaJkW0M8AjOKqkUyIYR93AVxCkSKHBz0buyMvM4oae18e2AmnXYJ2xDdyonH7/YGBMFf4J7S/Gm8puNxAw3k2ZkgrMGgFtAqCTSeKX1uTHZjmzZHmzJpCSErn8kk8Fns3OA8ZjqpysOUFAF14pMb43tahpbeTPwjJZXr8e+XzdNta58V6Zlxk53DpOnpmMYW/gm+RQEBzdfeKnEfY6ITKxDN247DimQhL1BhvE
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(376002)(39860400002)(346002)(46966006)(36840700001)(40470700004)(40480700001)(47076005)(70586007)(6512007)(336012)(4326008)(70206006)(26005)(186003)(2616005)(8676002)(6506007)(478600001)(41300700001)(6486002)(2906002)(316002)(53546011)(82740400003)(40460700003)(86362001)(82310400005)(36860700001)(36756003)(81166007)(356005)(5660300002)(8936002)(6862004)(33656002)(54906003)(4744005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 11:56:32.1873
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b3968fc-bc1d-4869-2d90-08da7ac75e15
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5215

Hi Jan,

> On 9 Aug 2022, at 4:50 pm, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> When passed -1, the function (taking a u16) will look for segment
> 0xffff, which might exist. If it exists, we may find (return) the wrong
> device.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I tested the patch on ARM and it works as expected.

Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Tested-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 12:13:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 12:13:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383581.618768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLkaH-0000B5-Kc; Wed, 10 Aug 2022 12:13:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383581.618768; Wed, 10 Aug 2022 12:13:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLkaH-0000Ay-HS; Wed, 10 Aug 2022 12:13:13 +0000
Received: by outflank-mailman (input) for mailman id 383581;
 Wed, 10 Aug 2022 12:13:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLkaF-0000As-Q7
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 12:13:12 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cb0ab447-18a5-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 14:13:09 +0200 (CEST)
Received: from mail-dm3nam02lp2041.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 08:13:06 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5600.namprd03.prod.outlook.com (2603:10b6:a03:286::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 10 Aug
 2022 12:13:05 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 12:13:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb0ab447-18a5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660133589;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=us74gs0zVWl2+1PrLlCRJesW7as0Tfs310n0PoQ/PMQ=;
  b=WuGwZP3cD3MqbZF9sHpB8OnklPyVHbDjqOX9QoGIn/qZQ/rh7EP1YQz2
   r95UIw1K6Q1WFcgSDliH5TuoINBpyil6xbX2XiU4UWkFpQilBhzvWPvZ+
   aw2h4LnlJtKQPgiChoPYzO7i6/N3+7o0VH8JZYILNnYfamKpdelyR3s2a
   Y=;
X-IronPort-RemoteIP: 104.47.56.41
X-IronPort-MID: 78209937
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Dt/Miq02gjB2PZdiW/bD5ctwkn2cJEfYwER7XKvMYLTBsI5bpzRWx
 msdC2qFM6qKYTCmKYgjbIng8hxU6JOHy9U3SgFopC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Us35pwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj689BMUYcMI5ExqVmB1hrp
 dECLDEyMznW0opawJrjIgVtruIKCZGxea864TRnxzyfCus6S5feRamM/cVfwDo7msFJG7DZe
 tYdbj1sKh/HZnWjOH9OUM54wLju2ye5L2QwRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPPk2LUoynz7gPJtRiqG5AoEpGoz6FvhXKo4nMBK0JLWETu9JFVjWb7AbqzM
 Xc8+CAjsKwz/0yDVcTmUluzp3vslg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQCz
 laUm/v5CDopt6eaIU9x7Z+RpDK2fCQQdmkLYHdeSRNfu4W65oYukhjIU9BvVravicH4Ei3xx
 DbMqzUig7IUjogA0KDTEU37vg9Ab6PhFmYdjjg7lEr8hu+lTOZJv7CV1GU=
IronPort-HdrOrdr: A9a23:xbe7Wa5JegNOdau2oAPXweCCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc0AxhI03Jmbi7Scq9qeu1z+853WBjB8bZYOCAghrlEGgC1/qp/9SEIUHDH4FmpM
 BdmsRFaeEYSGIK9foSgzPIXOrIouP3lpxA7N22pxgCcegpUdAY0+4TMHf4LqQCfngjOXNPLu
 v42iMonVqdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpixBiSgSiu4LvaFQHd+hsFSTtAzZor7G
 CAymXCl+SemsD+7iWZ+37Y7pxQltek4txfBPaUgsxQBiTwhh2ubIFBXaTHmDwuuumg5Hsjjd
 GJiRY9OMZY7W/XYwiO0FXQ8jil9Axrx27pyFeej3emi9f+XigGB81Igp8cWgfF6mI71esMk5
 5j7ia8jd56HBnAlCPy65zjTBdxjHe5pnIkjKo6k2Ffa40Dc7VcxLZvvn+9Ua1wWR4S2rpXV9
 WGP/usosq+tmnqNkwxi1MfhOBEmE5DRituDHJy4fB9mAIm4UyRh3FouPD32E1wtK7VAqM0md
 gteM5T5c5zZ95TYqRnCOgbR8yrTmTLXBLXKWqXZU/qDacdJhv22tfKCZgOlZaXkaYzve0PsY
 WEVEkduX85ekroB8HL1JpX8grVSGH4WTj20MlR65Vwp7W5HdPQQGa+YUFrl9Hlr+QUA8XdVf
 r2MJVKA+X7JW+rHYpSxQXxV5RbNHFbWswIvdQwXU6Iv6vwW8XXn/2edOyWKKvmED4iVG+6Cn
 wfXCLrLMEF9UyvUm+QummkZ5osQD2LwXtdKtmrwwFI8vl9CmRliHlntX2poseWNDZFrqs6OE
 NjPbKPqNLImVWL
X-IronPort-AV: E=Sophos;i="5.93,227,1654574400"; 
   d="scan'208";a="78209937"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nMfAtpmth/uH/KA9iR2b0YJH0kZP68NHfCAE3jYHfCXeXE5YboCws4/T/ca/8sfhtCUzb8E70Bg/5pV6QmLNfqIOFZW91Hei5MvFyUHaOqv6GJhU7cAbvgVSLLool3i4L9xBUtqFFGyYrDBTmGsy94OfjZ2RTmCL5uGE/MZb8h58lkt9VaAOm0MiJ93opUI1lKdUKmM+e6hRemky1ZdDixwd5VIT8+hs+S9G909jLGrWXSJte4FSllr26BI+itEq7QMvPKqaHvPWmv/fGJsTQL63OyftACXOedXNqT9KlWPb0zYDbq64SfJLuj0oWzWGJ0sDTtJjWm8OqB/ysR7OLQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=us74gs0zVWl2+1PrLlCRJesW7as0Tfs310n0PoQ/PMQ=;
 b=kMrLKgR1ORDaHipOS7SR6LoFGJliUv9hvx0zMFNplp85alrq6Rr/sJp68PP+O0VaKuVD6cL0+3jGpJT/00Hwl+I+U7kb36yXP+WM39N5XGYfs71+Mf7OiWprqi1coqkYJK5go/T3hpbCLxaL6xvIgPj7N9Ql/d3aofbjSmeE6Z8ffJvyMMUS/c5AnNV6hP5s65XxOQOvRv8Jk4OINAc9d7GLgkQNxOp2mRx8f8NqUCNKeR//WgWMPEVaQYqFf2+PdojfySqMtQGl5AkG3c4C4TOAhxeq7w8uTujbVa1VXD0NUDb7fUNBaG6yuzoqng6WNSxyq01D7tXzV3g+w3tDGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=us74gs0zVWl2+1PrLlCRJesW7as0Tfs310n0PoQ/PMQ=;
 b=CjlCsuJfR1v2D37lhiO9Fo1rSTv2kVBqCcriYIOPJIFrWhQ7SbWV88zRwO1BIHZzFnxs4zVE+ZkfLLyh5k+bOMHtbUpgf/rGCj0sRgj+yc1GDnO2mCosKoocsTD1vkqTyU6yOux7JFU5hgyOP6jy06GYqMvDEqEoO/Qqb2akAEM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH] PCI: avoid bogus calls to get_pseg()
Thread-Topic: [PATCH] PCI: avoid bogus calls to get_pseg()
Thread-Index: AQHYrAfYR6vkCfF7n0qu0r3Ze+QmG62oDQUA
Date: Wed, 10 Aug 2022 12:13:04 +0000
Message-ID: <ab3f2c03-afa9-a109-7803-bdc23056b7bf@citrix.com>
References: <80fb0709-5a0d-a3a5-b2ea-dca089714ac2@suse.com>
In-Reply-To: <80fb0709-5a0d-a3a5-b2ea-dca089714ac2@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4f55b298-db3d-4ade-bd2f-08da7ac9adaa
x-ms-traffictypediagnostic: SJ0PR03MB5600:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 O1O6fuS+0k4kelGoOjCYfahgjEtGccfdCCeugd02MnHCeBkJMIE9MTQFRUEmx0z75g7addxMeUGASUZP9YX1Ov/49BG248ZX9bnNEWwt8BYZxBBZqyu4LBdk9PojCUgFsi4wPq9Ig4cSVzdWhiFartNTGLNAMWxBXNh2DiM3+R6yri66GLfYRpJINqjbeCs8dVUkm+1qKOjcIxWjomASJsOlxRsOg0hA0J3/AuHbE722k+GzpZQbv13pNrqgmephgu3Nwuuwu+Am4RJ19YTEe8V3hU68li2LPPvj5buvEstk2WKY9tpKSuGQWFCfRL/8wnwqwPVy48NWvExR6NOKEmr5SQYtFQH1D+BQ9jugkmYCzyodI/m8M2oOTG7PvdTMyhvXl/XMZoLw/Qnnx8MBiifsKMgObQBESKlJhxi4lnFh21SL/OHNE8PVlakGiDL9/5dRQUpp+QBzvxDFXhjiMvTbyjbUJybHxykIW0fbr/o2vU/y8PnDsJj1QmFabXkKOB19xI1wHc/0YkV3RCr7Uy9g17zwHxtjT5GHn6m9btPh/dOu6FTc/DEfIssz7NL1OR34aEpTeyZfiF1DkAujheVNzacxCy0+evztEwYISl32LfAU0MpIpTvQl0fktRKEuv4cDZ6ghptLbN7HsfYr958jVRHZHWxDQFUGd/hccR0Lt8g7iguilatKruY5f2SLkiMHMu1gHypXY/HpEVIssaqzaHxyUxKyf6CfK15fFU9WlSviSvEMlY3sXssLRr09AM1g4NdC/asVulpJF1PqMhHXnAyJOQ6rgqYnJss75ZsvNjV3K3NgqILWSp+tic28rNP270NadGR9AUHeLpDWrn4w1BBVS6EzmfAbkqgM/JQhOW07ifC+LrUaShVb8eq+
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(136003)(366004)(39860400002)(396003)(2906002)(478600001)(41300700001)(5660300002)(76116006)(91956017)(66446008)(66556008)(4326008)(8676002)(66946007)(66476007)(316002)(71200400001)(36756003)(6486002)(86362001)(31696002)(31686004)(26005)(6512007)(6506007)(54906003)(110136005)(53546011)(64756008)(122000001)(38070700005)(2616005)(186003)(82960400001)(83380400001)(8936002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RlllMXJNc0xiVHdwNmVodzJLQ0xkOUl0eTIvaTZ3QXQ0ckFqZVNkeGlUYXZq?=
 =?utf-8?B?V3M3cjlXeWNFKy9UNU0xci9Wb3ZrNTdyWCtzNktTVEF4Y0pxRk9OR2MvamRI?=
 =?utf-8?B?OFJRQkNCR05QMmJCMk9mNFpjT2FQRlJuV1BrZmdmSWNvWHlkVGxBVkJjcnBZ?=
 =?utf-8?B?cEFGVWJIMXJiRE9jY2JxamlCUkNDNktqUjd5RnNZTWRwbkxwRDM1TVRZQUNX?=
 =?utf-8?B?WmlPblpCTWZvUUlBNVpQd3Azd2lkcVRBODRwUjk2VWtHUTJtcCtVQ2JTendB?=
 =?utf-8?B?aXVFcStWdTAwM2RhNEk0bE1PSGkrWnE2TzlTb3R3ejQ3b0R4R2JYR1VGM1VG?=
 =?utf-8?B?ZU9vMjAwY3U1VVJ3bFFKWmdCT2hQc2NnTE5zMk9BaUFMWEMzRWN3ZXFNb3ov?=
 =?utf-8?B?QWFZL29RRjdqbXhDL3FrQnZoaS9NRjlGdU1xUzNzYXBtaWJSclN4TGZyNlhI?=
 =?utf-8?B?VU1IWkI2V0NjTmk5UWNweDJjQm5xKzJuV0M1aUx2dUFwaUhHK2xaT0VndjdS?=
 =?utf-8?B?K3dDZS9lZmpGTno2bjhCNldaTzMyRDFic01PWWo4bXJ5dHFvYjRodFByNHlL?=
 =?utf-8?B?Mm5OYytzY2NLaEV1TzlaeG1oZUErY3hEaHA2eWE0aTJWQWFQNHRnajhEUFdN?=
 =?utf-8?B?SXFudStleEw3OU9zcmxZSUtuc1VseDdta01jYWNvNElrUkwyUkluZnFmZUFS?=
 =?utf-8?B?V3VsUGRFSWw5b3orZkRlTWFUb1VhRVhlelhNS3ptT3NXYWJ2ak93Y0tRRkhO?=
 =?utf-8?B?S1JRdGJOMmR6aHVWR3RrSlcvTXYxbmNGZjRSSWw4R1BBS2NhREVsSURycUNM?=
 =?utf-8?B?bjk1V0lRNmJFUGEybDRNc3NxNkFLZHQ1TFhjMUFJQTQzTVhpdFpSbWNPakkz?=
 =?utf-8?B?OE5qVU9jMmFlOThSWE5xYk9obFBCbU8zcG1QSFhFZ2kzRlR5NXdib2FjR1Rv?=
 =?utf-8?B?UDk5Z3ZlRko1dTRVRzQyQkNvVC8yeis0TWJpR205SkVKTTA0REo5K2tZWVJ3?=
 =?utf-8?B?QlArUzJzMFhyeGE2UGJBNFAvVEhxSGVGeURNcDBqL0lkbzFJRGdlNXFKWUth?=
 =?utf-8?B?T2NSMFdkOTQvTVRXY3o4RmlwU1hDalIrNURoV084VkhITUlVQVo1bDhBbm1W?=
 =?utf-8?B?bVkxZGU5UlZ4NTY0RlNSalQwYnp6eXBiTlFKN1BzejBjMXRFUmUvQk0wMXZ1?=
 =?utf-8?B?NkpNZmE1MVorTms2K3p4SEVjUXZqRXRwNGFPVFg5VktPb09aVzdiSFozQ0w2?=
 =?utf-8?B?dko2RG1EK0c3VDU2WHhHVFE4Zjdmajg5OExzR0FtbW5rUmYwMUtsQUdJTisz?=
 =?utf-8?B?MnZFVlEwdlNqRGNZTjdkQmlyQUVOSHBkSkg3Wm9rb0FMbVBkb0hPb2pJNjcr?=
 =?utf-8?B?SEg5V2NBT01oRkhOb2lrM0s0T3k3NEVNSEZkZmhNZ2F5bUdJNVlpTHZHdGJ4?=
 =?utf-8?B?b21yQS9BUnZ3NzhRNnZxYlBtVFJGRlRYajFXMS9Tc3FEb2VQOHU0bEFUWkVF?=
 =?utf-8?B?SnlQL3kzemNvNlEwRi9qNnJ2eFpvVUw1ekROU1lhOVdjbzFnTndnU1dSTFpD?=
 =?utf-8?B?dkV2SDMzbmdVRkRWQjhrTmY2dW9sanNoOERIMmZaTjNFNlhLZTA1WVNBSjhX?=
 =?utf-8?B?TTZMV2pWUlBZb2dqY01jMGV6SHMxYUl0cnU1L0F1R1pxN0R5cGdwanZLaEZl?=
 =?utf-8?B?YUZ1Y05PbndtKzNnNG43YXF6NGcyNlhvVDNZMS83VjhkWEZPb1djam1WVVUx?=
 =?utf-8?B?bTJORVV6WFptQTBYbmk0WklOeHJUcGJIUXRBTmxxZ054YlBwbmhGVW9MUjlQ?=
 =?utf-8?B?R3hjb21uc2tpakdMT1Y3ZFk2N3hiRTcwNTIxT3pkZzlCRldvQitDNzZOWlBE?=
 =?utf-8?B?R29oaUlENVpjMjJsdmNFdkJ3T2I4RU5FYU1seXVHa0t2OG1qc0hWbWJNUFdH?=
 =?utf-8?B?bllVNVU4RUFUUFBBRGZTSUVCanRtSVR1Rk5sSzdVMWlydWNmY1RZTzBDREhj?=
 =?utf-8?B?NUMyc0FtK2NSTzltTEhjOU45czBsUnFEb1RwbG1RdWo3NkFRbnc5SnhyVkwy?=
 =?utf-8?B?OXhLbWFYTEtRelArb290cmFHNWlXSFAzMktaZU9tOC9GYWRQWkVzOHpSYWg1?=
 =?utf-8?Q?34FZDQKKh3KeBG/LFVeOCDk79?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5CE8B378A62FCB4CA5369DAAE2A58F84@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	w9pG8qQx5x4e6h77suAW1vuIUj7opp17FEsfxXA2G4WIROPl/v6Pb1dWd6tZtBgbR+ygRzk0XU6b15F/tdpWRYgmEiHsQwHGXE/B5IA4iHWxNt9qODpj7cHC6om8vi819nda/N6olRXu8LKTQH2LaLj+UoG0EyAtkDY8/miIKgISzPdANzl8mrInjSB89DBVkbq2uywEdcJI4L/Lc+6YqvMEkc0esjHkQj4TTV3+Mbj3C6h9V2O8BGzGA+cB0O19JX/2LNRLx+ck4H/47K2uxSSheTkzOybozuGlmZje9EpQSJ8ndjAQ6LYU2uHdxbs+X8w57RrygJOr8sWv7DMeH+B0PGn+BFdkR1eXFLHB8tpsNWy2w6kWm+E8w4ke0SyrFdusQneDBcedA+DaDjNpvpc8yKtqBMu8j3qF/+bTPrFY1uMz57G/GyUqkcZxXC7Ah6yd7uaWInrc3ABaSN9iuuuI/ZrWb9gIHX+/gP3lyzQoQzl2H+aSlgha6NmYZFNIKDCUPybv6R7UPaVZs0g0mwJDaRp54W/bOC4wk3Mx0xKdumxpEb6yMqoNAhKAfAuFUAEHupE1czYH1Hjjy1uACoSsSf5BkjU9kKY0NdfR94wtDvogOSFcyfyk8x0njVDFGj+1NHyaISRjxZO6H/gbKu2BvvU1CT3HyUdOpgwvsS/OJ3nDg6+y2Cduf9bGdV9AFUzCFjxRaeH48ORXB7p+juZdBiYyFP8fFX6yTnqwC2P0En/7XiGDPo5NZ3fwbdYw7MKMDQ+AwoOPMW8rTe26mpzdb2JQy4fl7iXiTz4OYNEMmm2TI6lEe78xxb2CqGxS
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f55b298-db3d-4ade-bd2f-08da7ac9adaa
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 12:13:04.6384
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: PuNCqp89t0/A7xiattU+u3OXBE5SYy187+iWKZum55R/omZ0pxbxoah8z2r9HGmyTgXRmsXJbwSSbZXC/2v54qNuUJZEiHpcadGSVaT63Q8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5600

T24gMDkvMDgvMjAyMiAxNjo1MCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFdoZW4gcGFzc2VkIC0x
LCB0aGUgZnVuY3Rpb24gKHRha2luZyBhIHUxNikgd2lsbCBsb29rIGZvciBzZWdtZW50DQo+IDB4
ZmZmZiwgd2hpY2ggbWlnaHQgZXhpc3QuIElmIGl0IGV4aXN0cywgd2UgbWF5IGZpbmQgKHJldHVy
bikgdGhlIHdyb25nDQo+IGRldmljZS4NCj4NCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPg0KPiAtLS0NCj4gQW4gYWx0ZXJuYXRpdmUgd291bGQgYmUgdG8g
ZGVjbGFyZSB0aGF0IGJvdGggZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQNCj4gd2l0aCAid2ls
ZGNhcmRzIiBhbnltb3JlLiBUaGUgbGFzdCBzdWNoIHVzZSB3ZW50IGF3YXkgd2l0aCBmNTkxNzU1
ODIzYTcNCj4gKCJJT01NVS9QQ0k6IGRvbid0IGxldCBkb21haW4gY2xlYW51cCBjb250aW51ZSB3
aGVuIGRldmljZSBkZS1hc3NpZ25tZW50DQo+IGZhaWxlZCIpIGFmYWljdC4NCg0KVGhlIHdheSB3
aWxkY2FyZHMgd2VyZSB1c2VkIGJlZm9yZSB3ZXJlIGFsd2F5cyBib2d1cyBJTU8uDQoNCkkgc3Vn
Z2VzdCB3ZSB0YWtlIHRoaXMgb3Bwb3J0dW5pdHkgdG8gcmVtb3ZlIHRoZSBhYmlsaXR5IHRvIHJl
LWludHJvZHVjZQ0KdGhhdCBhbnRpLXBhdHRlcm4uDQoNCj4gRWFjaCB0aW1lIEkgbG9vayBhdCB0
aGlzIHBhaXIgb2YgZnVuY3Rpb25zIEkgd29uZGVyIHdoeSB3ZSBoYXZlIHR3bw0KPiBjb3BpZXMg
b2YgYWxtb3N0IHRoZSBzYW1lIGNvZGUgKHdpdGggYSBjdXJpb3VzIGRpZmZlcmVuY2Ugb2Ygb25s
eSBvbmUNCj4gaGF2aW5nIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKSkuIEFueSBvcGluaW9ucyBv
biBkZWxldGluZyBlaXRoZXIgb25lLA0KPiBzdWJzdW1pbmcgaXRzIGZ1bmN0aW9uYWxpdHkgaW50
byB0aGUgb3RoZXIgb25lIGJ5IGFsbG93aW5nIHRoZSBkb21haW4NCj4gcG9pbnRlciB0byBiZSBO
VUxMIHRvIHNpZ25pZnkgImFueSI/DQoNCkknbSBpbiB0d28gbWluZHMgYWJvdXQgdGhpcy7CoCBC
ZWNhdXNlIHRoZXkgYXJlIHRoZSBzYW1lLCB0aGV5IG91Z2h0IHRvDQpiZSBkZWR1cGVkLg0KDQpF
eGNlcHQgdGhleSdyZSBib3RoIGluc2FuZSBhbmQgYm90aCB3YW50IGNoYW5naW5nIHRvIGEgbGVz
cyBzaWxseQ0KZGF0YXN0cnVjdHVyZSwgYXQgd2hpY2ggcG9pbnQgdGhleSB3aWxsIGJlIGRpZmZl
cmVudC4NCg0KSXQgaXMgYSB0b3RhbCB3YXN0ZSB0byBkbyBhbiBPKG4pIGxvb3Agb3ZlciBhbGwg
UENJIGRldmljZXMgaW4gdGhlDQpzeXN0ZW0gY2hlY2tpbmcgZm9yIGVxdWFsaXR5IHRvIHNpbmds
ZSBkZXZpY2UgKGFuZCBpbiB0aGUgZG9tYWluIGNhc2UsDQphc3NpZ25tZW50IHRvIHRoZSBkb21h
aW4pLsKgIFRoZSBkb21haW4gdmFyaWFudCBzaG91bGQgbG9vcCBvdmVyIHRoZSBwY2kNCmRldmlj
ZXMgaW4gdGhhdCBkb21haW4sIGJlY2F1c2UgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSBhIHNob3J0
ZXIgbGlzdA0KdGhhbiBhbGwgZGV2aWNlcy4NCg0KVGhlIGdsb2JhbCBsb29rdXAgcHJvYmFibHkg
d2FudHMgdG8gaW52ZXN0aWdhdGUgYSBtb3JlIGVmZmljaWVudA0KZGF0YXN0cnVjdHVyZSBiZWNh
dXNlIEkgYmV0IHRoaXMgaXMgYSBob3RwYXRoLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 12:16:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 12:16:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383590.618778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLkdd-0000mM-3r; Wed, 10 Aug 2022 12:16:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383590.618778; Wed, 10 Aug 2022 12:16:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLkdd-0000mF-0v; Wed, 10 Aug 2022 12:16:41 +0000
Received: by outflank-mailman (input) for mailman id 383590;
 Wed, 10 Aug 2022 12:16:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YHWZ=YO=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oLkdb-0000m9-VR
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 12:16:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061.outbound.protection.outlook.com [40.107.21.61])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48f8b0b7-18a6-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 14:16:38 +0200 (CEST)
Received: from DU2PR04CA0046.eurprd04.prod.outlook.com (2603:10a6:10:234::21)
 by VI1PR0802MB2288.eurprd08.prod.outlook.com (2603:10a6:800:a6::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 10 Aug
 2022 12:16:28 +0000
Received: from DBAEUR03FT013.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:234:cafe::7c) by DU2PR04CA0046.outlook.office365.com
 (2603:10a6:10:234::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21 via Frontend
 Transport; Wed, 10 Aug 2022 12:16:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT013.mail.protection.outlook.com (100.127.142.222) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Wed, 10 Aug 2022 12:16:28 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Wed, 10 Aug 2022 12:16:28 +0000
Received: from 0104d7232ee6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B88EBAD8-7E53-4FFF-886D-32B09D308476.1; 
 Wed, 10 Aug 2022 12:16:22 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0104d7232ee6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Aug 2022 12:16:22 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Wed, 10 Aug
 2022 12:16:19 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 12:16:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48f8b0b7-18a6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cD9yxeHYs7DtJiVIbuCIOxZm3xRLhIsCWdziBwWMH3azRjAp0Mz+7ZaDy3Fi16gODRFiVPBqvEU/UKe5caP3qqhG4kFHIstJHpz+6tQMNzXKtvK3kYm1zVllcC5qDO9QL5Hn7M3j17b1oTztqbDdmHFLJhxKqr1cxeoTx+ot6saHb3aReE+j7350Ns3w098z1o8MBeYid0nd1ZcgO7vZuw6E9ZVSMUZJv62NHXlZT0J5NiNOsm58t8v2ov4AJpcOG7/Vgk9X/KnA/sohIFJf9MRKnBvcjw/7iOnIfWJAeVG0NdnQR/8dQzxHZUpu31Q2hECFb2JXPRwQBAtyMWyB8g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G+8nAjrwJpLnxSnU7MxAlYjalExUSHWjKcIYgXlSkmA=;
 b=GaM+KpxO3W+vB5n8/GFUzembNtqc6ujJouysWGHn9qIWcDYBwn3yQXA5ARS4HaZQNNDj41AyCmSLOI5Y4za+X4jQqlqZyBo3WZww6Auyb+9yIF5RY9bBe3iez13Y4NlcK57FwjfDcH7frmdvFsqKyrxIGvJaxpe/I79bySmwNWjb019BzLlv5u6GCac/t3J26GIbEdO6z6p8mC5g512CEkVyd15GvuEPQmxbdNVmtsUIhG3DlttXlkT2/sov4YmsFGuWvqjbLwH8grcvXh9+xj6McRDTbor8a1R8KAW5LIE9vlG/6nbt1m2ayH1u6NzQ/Ke0R9RY2susi9Xw+r8ZZw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G+8nAjrwJpLnxSnU7MxAlYjalExUSHWjKcIYgXlSkmA=;
 b=C+kCbT9FsnH7NJtJHJ14KMNLpApfQCtAHICq5fdFWY6Oh8pYjEeFGSke6gX7Nxgygswngse67OgGnCQI41nn1z6ZGDnf8VDHIL9B1f6CgM6NxdgN0QpXX7zu5g/5akuMUK4lyc/eIG81aqZ09NWyLLTIM8PtdLI2YDNYE/0IEW4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0fd2afa16710e9df
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DmuNnrnpcljIcgqKlw6NjfIeUluIChueJQgUrT/OLCj1d8DgAFtlUnVwrjUbeEUO4E9uDXmulXgiYz5EolTpa1ry6VJfYLBfF0AAdABwSKsSUH5EzwEB+XlkUXD87pGw63DGHQwbaVk207BsTLbjCBQf2agYISAWVF31/3qJLRSrZLh0Xf0tElExMxCxd+3AhmxR01T0c3d/Ke2xQBxy0ffjvWQjr+DruPKdH8m1neJGBmXQU0WUoojLq6djBPrrF3JSAX/XM22nuJCby25DjrPqB5DHc7vDbxvZWVBT5C0pa+3kF7jd/faqpbb/Jawh10tzrvaPCqeRAu/C/WGUvw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G+8nAjrwJpLnxSnU7MxAlYjalExUSHWjKcIYgXlSkmA=;
 b=Fj4z5j+Tz4F62V9dwil9NEQ/PwIAVAqBkjUMiGnF00sfmH573fNfYJ5XZbE2wP7Qcc9/1nidUEUC6gDzEEyv4t43lgwnLg2AvbZOzL2V5GNUfP4dWKzLwMKJvdE6+/amZWPZeZYV4Cm6DLzWZ5Z3fLYgVlaHutVKeV7YCPfKDIVRPmo85C/4K0n5wYwMBleYt0MhAR7yD2asPQghzprQFoPFS1VYMJRinyrQe2qm9QWwV3uLNJjyQkhs4RTVf0u6qcFpjy+BNw+KahiRiTJ4gWMplY8d+k5JAZhIRK8vONAJNryBlYisErW12WvRDLS+wq88itykPJ1sYeM4KANa/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G+8nAjrwJpLnxSnU7MxAlYjalExUSHWjKcIYgXlSkmA=;
 b=C+kCbT9FsnH7NJtJHJ14KMNLpApfQCtAHICq5fdFWY6Oh8pYjEeFGSke6gX7Nxgygswngse67OgGnCQI41nn1z6ZGDnf8VDHIL9B1f6CgM6NxdgN0QpXX7zu5g/5akuMUK4lyc/eIG81aqZ09NWyLLTIM8PtdLI2YDNYE/0IEW4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "stefanos@amd.com" <stefanos@amd.com>,
	"julien@xen.org" <julien@xen.org>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN v1] xen: arm: Check if timer is enabled for timer irq
Thread-Topic: [XEN v1] xen: arm: Check if timer is enabled for timer irq
Thread-Index: AQHYrKg/Alw9YSR5EEKrOxRi8qogf62oDK2A
Date: Wed, 10 Aug 2022 12:16:19 +0000
Message-ID: <1BBF4AC4-6FE0-4CC9-9188-13DE5281275E@arm.com>
References: <20220810105822.18404-1-ayankuma@amd.com>
In-Reply-To: <20220810105822.18404-1-ayankuma@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a05ddde2-ac2e-401f-f978-08da7aca273f
x-ms-traffictypediagnostic:
	DB6PR0801MB2070:EE_|DBAEUR03FT013:EE_|VI1PR0802MB2288:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 nSpzUaemG7qih/Wz5whCI8sBxRCKnLrv5UvAIcs1mBGT6XLqTvwa7FBSZPw4HbrSD4kPW2PS1EJoDUacatMMck0D4LZE/1tMiej7i7BjUpMLKetJEMn8VWQJg1IGk2xUX7zQAFja5NIvox5t4VrNbKwaeTbNVCWOeMT/GyTuRxYhTsMMGEn4KY0+W3EmrO74VMuFn27e3xhgZQ71gBvhn9Bq/HUKlBHXv4v13w0zK18i4XEopkOR7nLmWyD8KAFb6WVi6PiYtGMwurdP9GqSGc3ZDzv5msa70N5WgA4eLCnDYCsbVNs9UhWHjTGKZsaPkGk/8z+XiMOsjkP9hTzTbCDMkITNshQJ8pjfQ1vUTHmLOgXKSSt9iX+MPRAImhUg6P3nxKDRRYDrUfDdOHabsR1kGyishjG1lGi20l8v3595eIs7RP85knuRK9phffqaP4EN/+v95OmaTcbJXuKzNHeKXnmNyAHtlz5MPQt40MdUMndXRLruxM+7MVas0lBVaDKOIh5TqmfNZSDc/nh3CqZ7v4a20sUYPLheQPWdAa9gIMeknm7swEoW3RkrmMPJZLxKKNFBsZwBr6Tfof9QjBFr/kYM68BcXXQoBjSa69KGqYBpZ4fiEolx308eLr55osivXEdsLj4FKim+wYcjKJNDL8SIsAjmYpDdQNl/3iU+nXj8MFu+sOYxT+rpSqxgbPQyiJTc+ZCFToA9Om79cs1VGOrwIJRbGBdo+9xK4ld7BYyJsW92hiZfY+SH2qIfWIzDzogbq+RFJfuFVJFBXMJeGXunvMQU6NQ3tK/wRCtadFBuqV30futoCHQTLFd523TGcX5+nzZu3gKB/BHZH+XpxAO2bvQTC/hAb0oKf+P+JXOGKBHHunsJe1YXS6bM
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(366004)(376002)(39860400002)(346002)(66446008)(53546011)(66556008)(64756008)(66476007)(8676002)(66946007)(4326008)(5660300002)(91956017)(316002)(76116006)(6916009)(2906002)(38100700002)(8936002)(122000001)(38070700005)(86362001)(41300700001)(83380400001)(36756003)(33656002)(6486002)(26005)(71200400001)(478600001)(54906003)(186003)(6512007)(6506007)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <A45FA3B69CE48A4E9AD296DB96966490@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2070
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bdc20c9d-1307-40b3-d79b-08da7aca21e4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WDHZQvV1ob3L6BDvO7mBk89XTDshgThAOW/EZtg3jJvhevv52proPf3Gp5Xpi/5zS8rlBCnog97a22bJf9YFx88VFMUujR+Woonp2dpeiDrxiIGCuvtu0oyZvMYpoGkij3HRJdzpKJ7nGPX0egFItf3C+1VpABuE2OZFnVYvNgzH0Gs1+YrcWs0i1DKFjs0kN7/XXAxDiODWv8GJiqSRaDHOYcLpuro0c8dHLa4YCOmVJc9XheB5MDh5L3lDhXClSBHv+Y00KtAPOMDZRapc4EqLd2M9/lkKWmv9iR3FzHiadiZqwJxFEmCYuwcgmXijwrXOGPS6+Q079BClVHamrwHk4aHxqnyDO6Pr8HVdRQacCnxkwFYQ8cp42a8+bCIqfqKPZvbK3O38Am0NtxYNNQAq1I69E/BoMhRFXjFDcLLTexJwNd3RrZNBLHrw5JNQkjkBG0F6YrMliR+VRGcUmlHXeR28NrljnH8FBnbFn9hCUezOwPtD/Cim34IQ9a959XRlPu39rp3+FPtyw40hABPz7YVMRGFjinn5y0zehu2WMPQIsTDBwNlMtEneR9DdclRdfmhukWF5c2qY3vxsmM9A+G+jp6M+i9HtDUIhmW7MohhIKS+TOmdr7I3cDzir+hhynl7SYrM/ot+tGgvcbuQ3J8pvFz0cjzAgL66LZHfwmdTSUdTjXrcQ88nIJ56FPZ+72muvU2DSeg26Ff1bzH0NmnSRNSBhA1DZ9bIQwEnnL5KKdvw2646tD+v5qpqY3h39818S1u/n1xGjwbaF+Fq+PWupCaSwkioju9t9AXMd8OKwmwT5KpT0mVC/PpGK
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(346002)(376002)(136003)(36840700001)(46966006)(40470700004)(40460700003)(54906003)(316002)(36756003)(47076005)(8936002)(478600001)(6486002)(86362001)(5660300002)(81166007)(356005)(6862004)(2906002)(82310400005)(2616005)(83380400001)(6506007)(41300700001)(53546011)(82740400003)(36860700001)(70206006)(70586007)(8676002)(4326008)(40480700001)(107886003)(186003)(336012)(6512007)(26005)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 12:16:28.6676
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a05ddde2-ac2e-401f-f978-08da7aca273f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2288

Hi Ayan,

> On 10 Aug 2022, at 11:58, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>=20
> Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,
> CNTHP_CTL :- "When the value of the ENABLE bit is 1, ISTATUS indicates
> whether the timer condition is met."
>=20
> Also similar description applies to CNTP_CTL as well.
>=20
> One should always check that the timer is enabled and status is set, to
> determine if the timer interrupt has been generated.
>=20
> Signed-off-by: Ayan Kumar Halder <ayankuma@amd.com>
> ---
> xen/arch/arm/time.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>=20
> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> index dec53b5f7d..f220586c52 100644
> --- a/xen/arch/arm/time.c
> +++ b/xen/arch/arm/time.c
> @@ -222,8 +222,13 @@ int reprogram_timer(s_time_t timeout)
> /* Handle the firing timer */
> static void timer_interrupt(int irq, void *dev_id, struct cpu_user_regs *=
regs)
> {
> -    if ( irq =3D=3D (timer_irq[TIMER_HYP_PPI]) &&
> -         READ_SYSREG(CNTHP_CTL_EL2) & CNTx_CTL_PENDING )
> +    uint8_t timer_en_mask =3D (CNTx_CTL_PENDING | CNTx_CTL_ENABLE);

This should either be a macro or be added directly into the condition.

But here seeing the rest of the code, I would suggest to create a macro for=
 the
whole condition and use it directly into the ifs as I find that this soluti=
on using
boolean variable is making the code unclear.

May I suggest the following:
#define CNTx_CTL_IS_PENDING(reg) (READ_SYSREG(reg) & (CNTx_CTL_PENDING | CN=
Tx_CTL_ENABLE))

Or in fact just adding CNTx_CTL_ENABLE in the if directly.

> +    bool timer_cond_el2 =3D (READ_SYSREG(CNTHP_CTL_EL2) & timer_en_mask)=
 =3D=3D
> +        timer_en_mask ? true : false;

? True:false is redundant here and not needed.

> +    bool timer_cond_el0 =3D (READ_SYSREG(CNTP_CTL_EL0) & timer_en_mask) =
=3D=3D
> +        timer_en_mask ? true : false;

Same here

> +
> +    if ( irq =3D=3D (timer_irq[TIMER_HYP_PPI]) && timer_cond_el2 )
>     {
>         perfc_incr(hyp_timer_irqs);
>         /* Signal the generic timer code to do its work */
> @@ -232,8 +237,7 @@ static void timer_interrupt(int irq, void *dev_id, st=
ruct cpu_user_regs *regs)
>         WRITE_SYSREG(0, CNTHP_CTL_EL2);
>     }
>=20
> -    if ( irq =3D=3D (timer_irq[TIMER_PHYS_NONSECURE_PPI]) &&
> -         READ_SYSREG(CNTP_CTL_EL0) & CNTx_CTL_PENDING )
> +    if ( irq =3D=3D (timer_irq[TIMER_PHYS_NONSECURE_PPI]) && timer_cond_=
el0 )
>     {
>         perfc_incr(phys_timer_irqs);
>         /* Signal the generic timer code to do its work */
> --=20
> 2.17.1
>=20

Cheers
Bertrand=


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 12:21:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 12:21:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383601.618790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLkif-0002Ge-QG; Wed, 10 Aug 2022 12:21:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383601.618790; Wed, 10 Aug 2022 12:21:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLkif-0002GX-NN; Wed, 10 Aug 2022 12:21:53 +0000
Received: by outflank-mailman (input) for mailman id 383601;
 Wed, 10 Aug 2022 12:21:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLkif-0002GN-3I; Wed, 10 Aug 2022 12:21:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLkif-0000HX-1C; Wed, 10 Aug 2022 12:21:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLkie-0001Zv-KG; Wed, 10 Aug 2022 12:21:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLkie-0003Bb-Jp; Wed, 10 Aug 2022 12:21:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Kmj4sW3FSoyXF9+YiKtBwihPEKK3PlksYbj6T+C8i+M=; b=sBp0MnQ/g+0MO9nEY2V7ApTzvc
	3kn0YcH93m9FSeJbqAp7+T/1MNsns2qTKG4ITcCbxOuansZYO8RHsXeHHbubVwKckknwqUlZRDejL
	klo5oBmnxibq08PRpfUUYflntBqWr5e4H4d9OpwXTdhIKOT2oWe+SRwJECc/FqiYlY5E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172347-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172347: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d4252071b97d2027d246f6a82cbee4d52f618b47
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 12:21:52 +0000

flight 172347 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172347/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                d4252071b97d2027d246f6a82cbee4d52f618b47
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    6 days
Failing since        172152  2022-08-05 04:01:26 Z    5 days   16 attempts
Testing same since   172347  2022-08-10 04:18:20 Z    0 days    1 attempts

------------------------------------------------------------
1170 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121912 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 12:55:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 12:55:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383612.618801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLlEq-0005Y4-AG; Wed, 10 Aug 2022 12:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383612.618801; Wed, 10 Aug 2022 12:55:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLlEq-0005Xx-6v; Wed, 10 Aug 2022 12:55:08 +0000
Received: by outflank-mailman (input) for mailman id 383612;
 Wed, 10 Aug 2022 12:55:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c0+s=YO=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1oLlEo-0005Xr-E3
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 12:55:06 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1anam02on2058.outbound.protection.outlook.com [40.107.96.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1df12d9-18ab-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 14:54:56 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DM6PR12MB4909.namprd12.prod.outlook.com (2603:10b6:5:1ba::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 10 Aug
 2022 12:55:00 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::84ed:932e:f39d:54c7]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::84ed:932e:f39d:54c7%7]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 12:55:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1df12d9-18ab-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I2l4/KYYGK7kHxrBs36SyV2tG+wRrtwa2eLMiNOWLK3w5uf1ah7mKY6jtRYgnxKik0ZmxaLgxBtR+jjr2w61qRyD/v2V5uNhCiKDd5w1Jc5BwCFawjWnat8LuTveE6zmEavrN9hUOPrxwcRqOBPVbDLaCHrr3AMwt+sEy1L6Kvat52qVjTfvubrf7fk/6uI3d3lmXwsGODa8PHpza2/VWBH+g9gv/8YCq154Qvm2U2tX+y7aEyvyREfmRQ4uMmmviBntOBAk/EYrDBpGfmY9BS9xkhHlZ/mdTGsUu2zfiTFo7CJY5wFuIfkSoT4akTCxC9kQMVbx3m1JQBisRKq4nw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e3cA+KTSXYELMHlA8I7bHiZ4wz5E/mk3H1vEQ3cwKUY=;
 b=h1lp4Fq7aqy+uCxAc7ZJjQwXvE4suf6B2bDzLOX1QjtfB/gfYBEqgUYBASWmHt4DQgdfdTGb9NrzDU2tjqCkyGBNLBxr+MB3ysJ5pXVPs9oxSNrAs26cRHhRHHbMfcKrYNruLwuDvFyjtYkc1+oP5Cys6K4W/qGmbptjYbHZtNMNnmWNFh+CZaNIvjlvefb0aYQgoIqHsx7Ji0SObA0c1l5pTFBsPxZEm+fUKtjEpa2IyOmWRo24HgddCY2rGmkbuuYW8GvrQ7XPJQisVFcVjTKUuh1oH/8rYA/LMWY3wq7MHK3lHj30rieyIv/WHFj2p8chBJ1N1zW6thV6sXANoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e3cA+KTSXYELMHlA8I7bHiZ4wz5E/mk3H1vEQ3cwKUY=;
 b=wCWCIwOn/zt+37h2XfEsql9ryOcNg/6cecEVqmYpI71/7s4yt/qgOV1nZg5oq5/7sRtArwGUnHq/NsXvJcL80G7MSXsXdn32CYBdUGaqX+y5Zx3yVjUxlkzBXMbfNK49c0uq6YdZqtBpqRFq9QnGKW3ScCKvQjzFt++tRDogWNY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <6d1ba477-5c15-0fec-b624-96cf00484bbf@amd.com>
Date: Wed, 10 Aug 2022 13:54:55 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [XEN v1] xen: arm: Check if timer is enabled for timer irq
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "stefanos@amd.com" <stefanos@amd.com>, "julien@xen.org" <julien@xen.org>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>
References: <20220810105822.18404-1-ayankuma@amd.com>
 <1BBF4AC4-6FE0-4CC9-9188-13DE5281275E@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <1BBF4AC4-6FE0-4CC9-9188-13DE5281275E@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DBBPR09CA0024.eurprd09.prod.outlook.com
 (2603:10a6:10:c0::36) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3ea5de34-6dc3-40dc-3942-08da7acf892a
X-MS-TrafficTypeDiagnostic: DM6PR12MB4909:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nEjK5HnbqgA0vwKDzSZH9ls95kNvcmoO7vKE9OX1xupbsclnxegAGUoXlgMCIBKcw8HZw8M0Dec9oIycunCoXwN5TMawXOVUuP59pMtTlle2qxH8EBVZDqFGZ2aAms2Ot+RnmKxkIYX96HpMc4ROWue3UyX/iI0VbrIq1rDDKZkFV0YFIb9nAY6r2iop6S61Oa6YNfABJlGXHhhBoXjxxufpBCsRIi8SMRGurA/ID4yByumPRw8rKZWNxU1dUcBOdqHD2DngcL6Y/qqiqNmKFoPCcP7oCXXVNAvFA33h2/FNKiNRajEPAR8DvZjQwDa8jdy9lCnlaTl+gi6ALDRgFeEpOkLrGAunvlXS79rqGAN7Nza2SF0OPdR04j8AIIOuAJ6KpDyazjhZGN5+HlQxqzL6wxQj3GW2xqoSmHmzJO2EyqHnrJpNWQTRacjf3imNKG+8EvB1wrgrFgNLNLPd+ufRSCdjCxTuhZOabVKNgG085QqjJOioaHZhPf6Xtw6UJfng/eSip6WeKb2Zpi9ee0FNxorY4G5VptKPBzSFnSKMGQS7/LRZ7saVjR2msVNHe2zBuY/goYU+tDG8nDc0ERK03osESzlK0tyBRvFZWygNXTJKeFRb48/6viZ15AgGS+1Cp8+Y3WfAp3IRk9vi53Ed9nU8m1jqPK78AM7P/gUpNKl6bG94ok9oDgFJ29i67jN1tgfQx6i9vX3K69HuL0FqDXw3KGDYrIoobeOGTkFmTdP4tQ8Sbi/YC3BN9SujPH9Z+xuwEqelH+xpLwpUfO9ZDxm1rm1vwtoZEv+1R8TdMjGDpnD/bLqRZbw1YIZvSQHYFQ5w2Q0D5D14QrB7tw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(54906003)(36756003)(316002)(6506007)(6512007)(6666004)(53546011)(26005)(6916009)(6486002)(41300700001)(478600001)(31696002)(2906002)(66476007)(66556008)(66946007)(8676002)(4326008)(8936002)(5660300002)(186003)(2616005)(83380400001)(31686004)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NEZNRmlEaFB0Z2pzWUxUVlBiMUVPOUJTTFVXdDdQMjRTdXhKQ0F3UmY1TnNi?=
 =?utf-8?B?VlhaZVN0TFV3S1NaVmFibTFRSVJKRU16MFJVTkdLMVpWaFQxVjRkcms4M3dH?=
 =?utf-8?B?NUhyOXFKbHVzaWNTRlZvZ3ByN2RYcTQ1TGt6RHNFTmJWK0M1SjIzbjd6aTE0?=
 =?utf-8?B?U3l6aDVwWXE3dDlKSlRoS0hDQ2ZCNkJGblBJd2NOMkZMWlN0QkxKN0tyNVFz?=
 =?utf-8?B?cVRYeUczZTNBZlB5OTlPY0xGWnlrb1JQalJkeVo5a0lEc08yRHd6ZDJ4T2Q5?=
 =?utf-8?B?dnlOc09WUmdmcndxcmJ4eHM1QWJmQ3Fwek1GSU9yWnozeXZGVlF2WXc3NVhr?=
 =?utf-8?B?ak55SnQ1ZjBXZTZsU0ZiV05aM3QvMVkwSHhyWHNzcGhPZ21iS0J1OGdJT29p?=
 =?utf-8?B?d2pkYlZTRlFRbHpweHVzU3JkeG5Ea1lkSlY4SThpeXUzbFBHYWhrd21mdFRN?=
 =?utf-8?B?cDR0NndEODltTjAyWkhnLzUwM2FGRkFuTWt3cFNtRitoT2lud1lVTE1sdGRI?=
 =?utf-8?B?Y0RaOXdrZVhSbUFXNE1QbHlCL0xhb2cwVk45RVo4c2VpVm85TDdlcWJQakx0?=
 =?utf-8?B?SEJ0cFc3RmZ1K1JDV1lFTGRENXkraG85NENsVW13Nkl0dXVRR1pYc1hnRXhR?=
 =?utf-8?B?S0pDUjVRTDdKMEVFMGxXcXl2SWJaSTRleXA0dXZ4SFh5eTYxMGNCNVVmRitG?=
 =?utf-8?B?R2FFZEtyN1VleS9kWHFkZGpPalV0Lzk0SUplS1hkblMwc0M4MjUwc1JtR0Jv?=
 =?utf-8?B?NXVMcUdvRnY3WXk0clFBd0RRUGx4QWN4bU9oT3VwY0RpTmV5YnNHYUJhdVVE?=
 =?utf-8?B?STY1bjhnUlR1OE9YWFZCY1FnTTBqeEhmVEZYOGViRXp5NU9Gd3drNzdXOFl4?=
 =?utf-8?B?K29wQm81SzJLYWxWdHl4RU0vNnVDZlQwN2F0Z2RMa3VGeEZ1NXFsbHMvOVpG?=
 =?utf-8?B?MVhQS083ZnVleE1YUVJ5ZUp2WE45RSsveGM1ak9EK1ZMMWUvbEptWFlqWnBh?=
 =?utf-8?B?RU9NRmxUK2NRRkFvNFU1cXVLZ09sU1l0NUlUazhNMDkvT1EzTk1mRzBIV0RS?=
 =?utf-8?B?eVhsTzk5U213eForaEJqVjluQ21QL2lxaW56L2xyMVFpWWlRd3JRVW1CVk1F?=
 =?utf-8?B?QzRqdVYrSGJzUVE1TmRyY1hVamp6bFB4QWI0UDliL2tUNkwvSzVoQ1ROV3cv?=
 =?utf-8?B?dkJNeGJDdExWM3I0Y3laMElaUFFFa2J4NWtFMWpKaGY2cVJuc2J6RDF5Ukhw?=
 =?utf-8?B?Y1B4VW82dWZ2Z3Z0Y3N5OU80RVJFYldPeWRTTm13dWo4ZWZ4WHhIcGJUVGdW?=
 =?utf-8?B?WDdMaWk1V3hjdmdhZ3hpUmM0SllxS1MycmwvSkhaMnI2QWp2cklReWcvd3lY?=
 =?utf-8?B?d2hSQi9aQTAvZkE3UFFESHVRaVN6Z1dwN1V1dmxHQ1hjWWFZN2JGWkIwSmls?=
 =?utf-8?B?c1V0SDc4bUhLUGRCb28zakNLZG51bGVBZ3U3bFoxd1BaTHdkbVpGblhGSFhQ?=
 =?utf-8?B?T2ZHa2o4L3lXZ0Z3eFlEL2tzT0pZZklRaTJHQXZyaHJOcHgxYlp2bHRtd2Vn?=
 =?utf-8?B?bUxjNVhSc1FkM0FKVGtFVnlWQjJDT1REbDJIQ0dsUGVINlpic0d5TmYydnN2?=
 =?utf-8?B?ZllCbUJvMS9rQ1dibWZTakJmdVh5YXdveGhhb1dqdzRpNDJoUHVuUkJvcEcz?=
 =?utf-8?B?NWRsTkU4cDdZYm8xbFZvL3A1eHY3NlZSY2lDU1Fla0ppSDVhcWg0WHJlM1k2?=
 =?utf-8?B?UnM3OXRxOG5ob3Z5VUp4ME96Z2tQNExDY3lMamZCZGJMbXdyZ2V5Mmp3Q3RS?=
 =?utf-8?B?YlYreGxOY3o3Z2l4YjdUSjI3NEhzOU5Rc2Y0a2tkRGRNbTVGL05WVC8wRStK?=
 =?utf-8?B?WHpFZFhIN0FadXovOXFLRU1SWUJQRW93bzVsTmFpZGNzS080OUkxOHVYcGF3?=
 =?utf-8?B?UzJiZ3VjVU5SSzRSeXo2UEc4dG5waGl3NVRYdDdZbDZENUNxN0MvZitsSHhL?=
 =?utf-8?B?QlVCS0V1L1p5T1d0WTViZ1lMa2xLYUhyRTh0VVIydDFXMkdZc3h3MXIzTThW?=
 =?utf-8?B?SDNtRXF1TDdkQTZkOEM2T1AzN2owT3d0OUJzU2RFckZMZGVvQTNmOGl1Qm5r?=
 =?utf-8?Q?yqS39FqqhJPOJz+D3v72g3UK3?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ea5de34-6dc3-40dc-3942-08da7acf892a
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 12:55:00.6129
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yIEbRVE8Jsa7gj/wndzW0JSAS4UIfHE6J3iw92EQG3WCllVhysf+iqTd7YCnLDee9ivyJUKk80mULIDFvbNIkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4909


On 10/08/2022 13:16, Bertrand Marquis wrote:
> Hi Ayan,

Hi Bertrand,

>
>> On 10 Aug 2022, at 11:58, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>>
>> Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,
>> CNTHP_CTL :- "When the value of the ENABLE bit is 1, ISTATUS indicates
>> whether the timer condition is met."
>>
>> Also similar description applies to CNTP_CTL as well.
>>
>> One should always check that the timer is enabled and status is set, to
>> determine if the timer interrupt has been generated.
>>
>> Signed-off-by: Ayan Kumar Halder <ayankuma@amd.com>
>> ---
>> xen/arch/arm/time.c | 12 ++++++++----
>> 1 file changed, 8 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>> index dec53b5f7d..f220586c52 100644
>> --- a/xen/arch/arm/time.c
>> +++ b/xen/arch/arm/time.c
>> @@ -222,8 +222,13 @@ int reprogram_timer(s_time_t timeout)
>> /* Handle the firing timer */
>> static void timer_interrupt(int irq, void *dev_id, struct cpu_user_regs *regs)
>> {
>> -    if ( irq == (timer_irq[TIMER_HYP_PPI]) &&
>> -         READ_SYSREG(CNTHP_CTL_EL2) & CNTx_CTL_PENDING )
>> +    uint8_t timer_en_mask = (CNTx_CTL_PENDING | CNTx_CTL_ENABLE);
> This should either be a macro or be added directly into the condition.
>
> But here seeing the rest of the code, I would suggest to create a macro for the
> whole condition and use it directly into the ifs as I find that this solution using
> boolean variable is making the code unclear.
>
> May I suggest the following:
> #define CNTx_CTL_IS_PENDING(reg) (READ_SYSREG(reg) & (CNTx_CTL_PENDING | CNTx_CTL_ENABLE))
This will return true even if either CNTx_CTL_PENDING or CNTx_CTL_ENABLE 
is set.
>
> Or in fact just adding CNTx_CTL_ENABLE in the if directly.
We want to check that both are set.

So this should be :-
#define CNTx_CTL_IS_PENDING(reg) ( (READ_SYSREG(reg) & (CNTx_CTL_PENDING | CNTx_CTL_ENABLE)) ==
(CNTx_CTL_PENDING | CNTx_CTL_ENABLE) )

Let me know if you agree. I will prefer using a macro rather putting this in 'if' condition as it might make readability difficult.

- Ayan
  

>
>> +    bool timer_cond_el2 = (READ_SYSREG(CNTHP_CTL_EL2) & timer_en_mask) ==
>> +        timer_en_mask ? true : false;
> ? True:false is redundant here and not needed.
>
>> +    bool timer_cond_el0 = (READ_SYSREG(CNTP_CTL_EL0) & timer_en_mask) ==
>> +        timer_en_mask ? true : false;
> Same here
>
>> +
>> +    if ( irq == (timer_irq[TIMER_HYP_PPI]) && timer_cond_el2 )
>>      {
>>          perfc_incr(hyp_timer_irqs);
>>          /* Signal the generic timer code to do its work */
>> @@ -232,8 +237,7 @@ static void timer_interrupt(int irq, void *dev_id, struct cpu_user_regs *regs)
>>          WRITE_SYSREG(0, CNTHP_CTL_EL2);
>>      }
>>
>> -    if ( irq == (timer_irq[TIMER_PHYS_NONSECURE_PPI]) &&
>> -         READ_SYSREG(CNTP_CTL_EL0) & CNTx_CTL_PENDING )
>> +    if ( irq == (timer_irq[TIMER_PHYS_NONSECURE_PPI]) && timer_cond_el0 )
>>      {
>>          perfc_incr(phys_timer_irqs);
>>          /* Signal the generic timer code to do its work */
>> -- 
>> 2.17.1
>>
> Cheers
> Bertrand


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 12:58:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 12:58:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383621.618812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLlI0-00069h-QD; Wed, 10 Aug 2022 12:58:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383621.618812; Wed, 10 Aug 2022 12:58:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLlI0-00069a-M2; Wed, 10 Aug 2022 12:58:24 +0000
Received: by outflank-mailman (input) for mailman id 383621;
 Wed, 10 Aug 2022 12:58:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YHWZ=YO=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oLlHy-00069S-Ne
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 12:58:22 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80048.outbound.protection.outlook.com [40.107.8.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1887c481-18ac-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 14:58:14 +0200 (CEST)
Received: from AS9PR06CA0270.eurprd06.prod.outlook.com (2603:10a6:20b:45f::31)
 by PA4PR08MB5966.eurprd08.prod.outlook.com (2603:10a6:102:ee::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 10 Aug
 2022 12:58:20 +0000
Received: from AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45f:cafe::14) by AS9PR06CA0270.outlook.office365.com
 (2603:10a6:20b:45f::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16 via Frontend
 Transport; Wed, 10 Aug 2022 12:58:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT020.mail.protection.outlook.com (10.152.16.116) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Wed, 10 Aug 2022 12:58:19 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Wed, 10 Aug 2022 12:58:19 +0000
Received: from e0d495cca3e6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C2F55801-0F58-4151-95FB-330499689AFA.1; 
 Wed, 10 Aug 2022 12:58:12 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e0d495cca3e6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Aug 2022 12:58:12 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by VI1PR08MB3822.eurprd08.prod.outlook.com (2603:10a6:803:bb::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 10 Aug
 2022 12:58:09 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 12:58:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1887c481-18ac-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Ymi591X6/Nju06uousMkgXPXSDOJkzBBFG52EMoW9aZgx/uhpyJsoVVWd96PwRldA8n7Z4aD9VAcKkvVelRRI/J5bXihy6MY7ZseBDf4gr5o7QGBWufQRg1cqVb6rdqvXfhYN5G+EqePk10X3Kfx3oXOQLdrABnwSA328gOHhuruqkkOey1IgyRQKIintcYvwNqYW46UHQBn6jTPEOSR9iO/3p92aF7jkwu/m1cmvFgzXCnZK1vnaypB2fuFCkytnLO+ET8qgjppn5NHswvYVR3OkG+p+Vs8bK3LeFfdtzccGSIN1fSqkX7eaQRNBxU5wI+yQptT4z3s1OizSwZrVw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YljHEp5KpgzEgZuXkKvaWSJRwVkL+cWNXToYLrpMveg=;
 b=Z6HXzxU0Pxx1h2xUG7iI+n0d4dmPPHfswqfNZ0NNTUFnK58VNNS1GgsPnafxroiN7FnZz0pJRghs12SAE1GxuE4Uvp/SxIx90Cga6NunAheMNdIrLdki6zQJhEsetC0NB12OcZyYjlS0KPxO929roDlHZs3Vp6MNqPZzHCLTfqlb6OJ6sFTS5S0pNzVKjYvzaUNGZrOwl47UWl+fsgZYkrQcxreW5BIdFjfLlkjycpbs6QsB2fU1YFH1whNwHhwpJw6Av/jduNzLIYfjdPrIxbUNu3LufjUohbjAGh6MqdvTZ7DqCWoO8+mnYuhW81/vQlZEB0yz5DtNRUHZOHg3wg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YljHEp5KpgzEgZuXkKvaWSJRwVkL+cWNXToYLrpMveg=;
 b=zgt3mMZtzY44APjfyvjqYp0cXsrHUOyXRL7KQeWTHpUkAh43oITSDxH+NWPnWdN5VGfTIcWtJnoakx9ZNMC85UxF3K9uf5zr6pRfK42+tWTvbchOIPkXncCIq01MpI4NKAFZUI7gjZW41d505wVwG703nrUnIn6BbWe0qXHR9ZQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 902664dbe3232a22
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T1vELt888pRK9qNx/lhjwY2O9z8v0xD/sFtsEJCPrP9eseAgCh/Jyv0/NqgLjDoUNKKyaZm2e0wWhxu54LKooghTWI/Ibd/Z1zOBHk7bkiPro+2U8rDVRuQdxw8uXQYATnZgPORzj9JzgbECaj0G//CQm/kffYkuI+0xNvzaF438mVCv/ANuk5JxN9XBL9/Cq/9M6VO82c8Y+ivFnNNgKZDKOZaaZhrBHqnVadRyE6+L0FG+3kIbfY2Nm15D/J986bw5coGI4fFJQ/fPZrBr5IrMpYM5nsUMpKUQVWSwV9lSfb5cs7xWGtlEI0a/uL0QDAemNXcPYQp/JxI2qZJjGg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YljHEp5KpgzEgZuXkKvaWSJRwVkL+cWNXToYLrpMveg=;
 b=AyGfv2JbHl84hNiDc4ivvClLYSqTpc+M3I+XQBxIGgRCP0o/F+uI4JADhYDVT3C4nkMt8FTsH5VodhrK2YD3lBSYyChc2NXMbX/NuFDohD4QV427KOBozeDXpKhUnCkzYzIeQ7/O0T20Jsk9/VLQnhihG4H5Pyf/2uMRXOPr1CDQcnOjX7K/cb2wAutT13EUdJYUHvyryruvI516SQwy13P2TTkXq/kHXupLTHmu1wkxtWe3QWGCVi/a1Mnd/gfz7Bc/GOLxZNvPxUl6VmsNB3eyFTOsQ2gi2GhUTJ2GJ95WXbT7yxIgn3inOztQrA/+kBgGp4rPKgxR9g5kmZr8+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YljHEp5KpgzEgZuXkKvaWSJRwVkL+cWNXToYLrpMveg=;
 b=zgt3mMZtzY44APjfyvjqYp0cXsrHUOyXRL7KQeWTHpUkAh43oITSDxH+NWPnWdN5VGfTIcWtJnoakx9ZNMC85UxF3K9uf5zr6pRfK42+tWTvbchOIPkXncCIq01MpI4NKAFZUI7gjZW41d505wVwG703nrUnIn6BbWe0qXHR9ZQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "stefanos@amd.com" <stefanos@amd.com>,
	"julien@xen.org" <julien@xen.org>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN v1] xen: arm: Check if timer is enabled for timer irq
Thread-Topic: [XEN v1] xen: arm: Check if timer is enabled for timer irq
Thread-Index: AQHYrKg/Alw9YSR5EEKrOxRi8qogf62oDK2AgAAKyYCAAADmAA==
Date: Wed, 10 Aug 2022 12:58:08 +0000
Message-ID: <5857F1F0-A986-4579-BAA3-9C87A6EFADE1@arm.com>
References: <20220810105822.18404-1-ayankuma@amd.com>
 <1BBF4AC4-6FE0-4CC9-9188-13DE5281275E@arm.com>
 <6d1ba477-5c15-0fec-b624-96cf00484bbf@amd.com>
In-Reply-To: <6d1ba477-5c15-0fec-b624-96cf00484bbf@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 0db77586-a124-480b-85a1-08da7acfffe2
x-ms-traffictypediagnostic:
	VI1PR08MB3822:EE_|AM5EUR03FT020:EE_|PA4PR08MB5966:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 PyKRhb5Kcvm1QyrBHtwuwnI+CqCEziNbJeNzMp6a6myjuXbV/EdxYLhceeTCOQs2ZLH4OeQhSM8a4jnq68c71rms7agROsnCP7+SkpPLa+mqCmbjq5mGBeDXDqgIX++0jXu7jQVMy1ZkCM6XAk9rpLK7/FxrooA/OZM3Rgb2K7qzyQ0CwmSkAwWKNLUT8tViM5AmPqN6vs8q4QjhZwO0BJMhpUawBYf9IohjL7vwPRW9k1HK6qI2Gr62gqvFIUWc1aFuupIZZzRGOswOBg+JEC9NsX+15bhoPLGEg9Pe2zymRRrvZeXcjTZQWs9rI4TEnzk6KSBJ2AeioEsOfNmvkf7XH4k5u0Q/Wrcf5xs2QLhOJSo5CDbzWmh+5Y6ESM0Q0Q/x/x19cjiRxyUNxXC8k8AU79OlREIxW8BRBFWtxOVGOuMbdSI4i84GOHtY7KrjeSdz1PCKybf8lz/kB4heieQtmC9uiFukwvmUDO9Xq9U/wsrdJxV3R0qrWNWcFc16sNGEnlOK2QtBib4pDI6aD3hmn7iaSgPmJcTvdrMh5TL5F5b7qsGIt3iSMLphDsNB8u7JpwWdIV9FwV1bgz2dKMygi1wUzjTD4hHAPP9xwW89AUYPmWw/sSipEDEcTkFG9vMoPmnZOaz4QrEZl1JQTUVbSId80iUYlqBbzJzBd4quJst8Z/rKMqw06wssF68w0AH7t7+wqTzRkME3gfe1OwhkzHrrutcASi1BBCE/jibhRhSBbRMU434xxMjT8gMSc3aze+idLKDm9TG3xe/AF1NWX2/9hzuzsg2b8nMtxFJLQ7HMEmOJl7gdcib9ER4lr0uITr3hycR34oOC8eyONA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(366004)(376002)(396003)(136003)(39860400002)(38070700005)(71200400001)(6486002)(86362001)(478600001)(91956017)(5660300002)(54906003)(6916009)(8676002)(66556008)(4326008)(186003)(66476007)(83380400001)(66946007)(76116006)(66446008)(6506007)(64756008)(2616005)(316002)(26005)(36756003)(6512007)(41300700001)(38100700002)(53546011)(122000001)(2906002)(8936002)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3FC92F178AF87D4083CD0B690AABE9F5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3822
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	14e1438e-caeb-429f-4daa-08da7acff962
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Wizc4gG3N3HEzXrVCMpbvD8p00qFtC1mrgp+aylXDm00+9n8B3qJkFU2bcyEWMkbTp4cMQFYf4Bue2zM9iaYOaml6c2O50dF5hAQGOxbLagnOtVEzkfriwmRPrmN9K7LLsvwF1OJVgrh1BvIlrBS0QeXOAeLVDeliY28hZYx/FFg6BC5N899pw/9uACSpYOMN2+Gq/7ZiQoRv+vCXnPBXSiZm8a6wqStGMBpvOtaYO11TbZIJ01tc7WkeZEiCUPqwCdQW3XcORik5aGp+1p3U0NkxH0yhBpCd3dk7C3VfgHH/S2cZM3a9vtgxbmKgeRGHxFRGnH7P7dFXBQwXtasv1BuRD4w0omGLbJEn+7h/BwFJwsmd65nAra/iryhSNuSIq5g6mOPu9LYIs5JRkEU52MUbLcgRTtynhPfeb+i5KH6QknqCaAz10r56IkXRr/XB4HPDADa6lheZEqY3hTzj3+BZxbVYNsiiFaN5JLEaN4rX1Qyxd3RFe9cThycFW80XMzLNz60LQOAy0aYS4eURxZkCrxtz0maEC/2LxIrSopxYnEDK7wGUdxqagBHEXewRJVePIXxNM5iV+igP2iVw2gb//P4o/3w4i6xX6Hyzk9m+t0S0kSR6jsjEx5dRaSY/ICiNAjx/7yvGnDY3wqHkTgkebbDWXL/h7QxhAnlJ5gHhGM7ixOhnKv2DGLeZVmtb/o14UCcYUdufSYF/dWDogogEJfuEk7bhfaBXZUNi+auc3BnKHsvDlbmX9WjgDjM7N+mgE3SQKd+NWuxLh0MLobz/ufTaHrunjkUQlj0dmAI2u28Aw1FIfjU2L6BkykO
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(39860400002)(346002)(36840700001)(40470700004)(46966006)(70206006)(36756003)(70586007)(8676002)(4326008)(186003)(6486002)(40480700001)(86362001)(5660300002)(6862004)(40460700003)(478600001)(8936002)(54906003)(316002)(53546011)(2906002)(33656002)(83380400001)(6512007)(356005)(41300700001)(26005)(82740400003)(2616005)(81166007)(107886003)(82310400005)(336012)(6506007)(47076005)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 12:58:19.5419
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0db77586-a124-480b-85a1-08da7acfffe2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5966

Hi Ayan,

> On 10 Aug 2022, at 13:54, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>=20
>=20
> On 10/08/2022 13:16, Bertrand Marquis wrote:
>> Hi Ayan,
>=20
> Hi Bertrand,
>=20
>>=20
>>> On 10 Aug 2022, at 11:58, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>>>=20
>>> Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,
>>> CNTHP_CTL :- "When the value of the ENABLE bit is 1, ISTATUS indicates
>>> whether the timer condition is met."
>>>=20
>>> Also similar description applies to CNTP_CTL as well.
>>>=20
>>> One should always check that the timer is enabled and status is set, to
>>> determine if the timer interrupt has been generated.
>>>=20
>>> Signed-off-by: Ayan Kumar Halder <ayankuma@amd.com>
>>> ---
>>> xen/arch/arm/time.c | 12 ++++++++----
>>> 1 file changed, 8 insertions(+), 4 deletions(-)
>>>=20
>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>> index dec53b5f7d..f220586c52 100644
>>> --- a/xen/arch/arm/time.c
>>> +++ b/xen/arch/arm/time.c
>>> @@ -222,8 +222,13 @@ int reprogram_timer(s_time_t timeout)
>>> /* Handle the firing timer */
>>> static void timer_interrupt(int irq, void *dev_id, struct cpu_user_regs=
 *regs)
>>> {
>>> -    if ( irq =3D=3D (timer_irq[TIMER_HYP_PPI]) &&
>>> -         READ_SYSREG(CNTHP_CTL_EL2) & CNTx_CTL_PENDING )
>>> +    uint8_t timer_en_mask =3D (CNTx_CTL_PENDING | CNTx_CTL_ENABLE);
>> This should either be a macro or be added directly into the condition.
>>=20
>> But here seeing the rest of the code, I would suggest to create a macro =
for the
>> whole condition and use it directly into the ifs as I find that this sol=
ution using
>> boolean variable is making the code unclear.
>>=20
>> May I suggest the following:
>> #define CNTx_CTL_IS_PENDING(reg) (READ_SYSREG(reg) & (CNTx_CTL_PENDING |=
 CNTx_CTL_ENABLE))
> This will return true even if either CNTx_CTL_PENDING or CNTx_CTL_ENABLE =
is set.

Yes this is missing the comparison part

>>=20
>> Or in fact just adding CNTx_CTL_ENABLE in the if directly.
> We want to check that both are set.
>=20
> So this should be :-
> #define CNTx_CTL_IS_PENDING(reg) ( (READ_SYSREG(reg) & (CNTx_CTL_PENDING =
| CNTx_CTL_ENABLE)) =3D=3D
> (CNTx_CTL_PENDING | CNTx_CTL_ENABLE) )
>=20
> Let me know if you agree. I will prefer using a macro rather putting this=
 in 'if' condition as it might make readability difficult.

Yes I agree

Bertrand

>=20
> - Ayan
>=20
>>=20
>>> +    bool timer_cond_el2 =3D (READ_SYSREG(CNTHP_CTL_EL2) & timer_en_mas=
k) =3D=3D
>>> +        timer_en_mask ? true : false;
>> ? True:false is redundant here and not needed.
>>=20
>>> +    bool timer_cond_el0 =3D (READ_SYSREG(CNTP_CTL_EL0) & timer_en_mask=
) =3D=3D
>>> +        timer_en_mask ? true : false;
>> Same here
>>=20
>>> +
>>> +    if ( irq =3D=3D (timer_irq[TIMER_HYP_PPI]) && timer_cond_el2 )
>>>     {
>>>         perfc_incr(hyp_timer_irqs);
>>>         /* Signal the generic timer code to do its work */
>>> @@ -232,8 +237,7 @@ static void timer_interrupt(int irq, void *dev_id, =
struct cpu_user_regs *regs)
>>>         WRITE_SYSREG(0, CNTHP_CTL_EL2);
>>>     }
>>>=20
>>> -    if ( irq =3D=3D (timer_irq[TIMER_PHYS_NONSECURE_PPI]) &&
>>> -         READ_SYSREG(CNTP_CTL_EL0) & CNTx_CTL_PENDING )
>>> +    if ( irq =3D=3D (timer_irq[TIMER_PHYS_NONSECURE_PPI]) && timer_con=
d_el0 )
>>>     {
>>>         perfc_incr(phys_timer_irqs);
>>>         /* Signal the generic timer code to do its work */
>>> --=20
>>> 2.17.1
>>>=20
>> Cheers
>> Bertrand



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 13:34:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 13:34:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383631.618823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLlr9-0001uj-JP; Wed, 10 Aug 2022 13:34:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383631.618823; Wed, 10 Aug 2022 13:34:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLlr9-0001uc-Gk; Wed, 10 Aug 2022 13:34:43 +0000
Received: by outflank-mailman (input) for mailman id 383631;
 Wed, 10 Aug 2022 13:34:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oLlr8-0001uW-AD
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 13:34:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLlr7-0001VP-T8; Wed, 10 Aug 2022 13:34:41 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLlr7-0004Z2-L7; Wed, 10 Aug 2022 13:34:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Vksvn6ecqNa+iu2ixH5zlgwVybEEnMGmGnvfNXOd/zA=; b=NvlmToctcAjghxPOOVIdvV3rU6
	1A4neEH5n2tBrUoI40fezyYqScifI4rkvHOUYZ4+2jFUYYnP7l1WdJsD1HXT/Xij3LZpoROGRU66e
	84gUvbuOOBiUtvQxa+DeEctOO/KDkShFYbQY1ITgR00U1yQe6BaXv9Kl17lPT+goMUaE=;
Message-ID: <6cfcd4fa-3afd-1c70-6a70-9df557ee1811@xen.org>
Date: Wed, 10 Aug 2022 14:34:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [XEN v1] xen: arm: Check if timer is enabled for timer irq
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@amd.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com
References: <20220810105822.18404-1-ayankuma@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220810105822.18404-1-ayankuma@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

Bertrand already made some comments. I will try to avoid repeating the
same comments.

On 10/08/2022 11:58, Ayan Kumar Halder wrote:
> Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,

You are modifying code that is common between AArch64 and AArch32. So I 
would mention this behavior is common. Also, please specify the version
of the spec. This helps in case the behavior has changed.

Also, NIT: I would prefer if you quote the Arm Arm rather than auxiliary
specifications.

> CNTHP_CTL :- "When the value of the ENABLE bit is 1, ISTATUS indicates
> whether the timer condition is met."

I think the key point here is the field ISTATUS is "unknown" when the 
ENABLE bit is 0.

> 
> Also similar description applies to CNTP_CTL as well.
> 
> One should always check that the timer is enabled and status is set, to
> determine if the timer interrupt has been generated.

I understand the theory. In practice, I am not sure this could ever 
happen because the timer interrupt is level and by clearing *_CTL you 
will lower the line and therefore you should not receive the interrupt 
again.

Checking the 'enable' is not going to add too much overhead. So I am 
fine if this is added. That said, would you be able to provide more 
details on how this was spotted?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 13:37:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 13:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383641.618836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLltq-0002VR-0k; Wed, 10 Aug 2022 13:37:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383641.618836; Wed, 10 Aug 2022 13:37:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLltp-0002VK-UM; Wed, 10 Aug 2022 13:37:29 +0000
Received: by outflank-mailman (input) for mailman id 383641;
 Wed, 10 Aug 2022 13:37:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLlto-0002VE-Uw
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 13:37:28 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 915f1fb1-18b1-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 15:37:27 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 915f1fb1-18b1-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660138647;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=RGqfgPAI6n2sccCOluZxIMu1JcstgVkLXKfy6tIucZY=;
  b=VnI8ZjYVyKfbHZT74LXSLTuU9dMicAussTDOOzm0lcBuuK7k4vgdeTds
   p8MrK36tukMBjit2dfMrLkFH5bSy004pYeRK/CSprjnfpd3SstoQb3CnR
   fueFyCybEAi/iQVEU/lnq6f+vyPoYOUr/9EfgHiaRplnacMMTvFShC4XZ
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80335057
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:8AgG5qrHYzKNFtYw67IHazRTWXFeBmJ2ZRIvgKrLsJaIsI4StFCzt
 garIBnVa/iIZWenfIt2advn9kwHvZbdz4cyTQdkry0zEywT9JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GpA5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqVF3eZ6Llhpp
 cUjFwtKVxu+28C35Z20H7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8+Dp4kkfjurX74azBC83qepLYt4niVxwt0uFToGIqNIYfXHZgK9qqej
 mHLoUrACBQqDuC4+B2K8i7zgdTisgquDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWefhSN
 kgV8SoGtrUp+QqgSdyVdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QbWNQeHGJwk
 AXTxpWwWGIp4Ob9pW+hGqm88BSyNAcsCj87XhA/CjIO3oXBoaQcgUeaJjp8K5JZnuEZCBmpn
 W7S9Hlh3uxN5SIY//7lpA6a2lpAsrCMF1dovVuPAwpJ+ysjPOaYi5qUBU83BBqqBKKQVRG/s
 XcNgKByB8heXMjWxERhrAjgdYxFBspp0xWG2DaD57F7q1yQF4eLJOi8Gg1WKkZzKdojcjT0e
 kLVsg45zMYNYiPyMvcuMtLsUZ5CIU3c+TPNCJjpgidmOMAtJGdrAgk3DaJv44wduBd1yvxuU
 XtqWc2tEWwbGcxa8dZCfM9EiOdD7n1vmgvuqWXTlUvPPUy2OCHIEt/o8TKmMogE0U9ziF6No
 44Ga5bTl0U3vS+XSnC/zLP/5GsidRATba0aYeQOHgJfCmKKwF0cNsI=
IronPort-HdrOrdr: A9a23:/8bGy6sOqv76gJTtaGiJ3rmV7skDjNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd0ZJhEo7q90ca7Lk80maQa3WBzB8bGYOCFghrKEGgK1+KLrwEIcxeUygc379
 YDT0ERMrzN5VgRt7eG3OG7eexQvOVuJsqT9JjjJ3QGd3AVV0l5hT0JbTpyiidNNXJ77ZxSLu
 v72uN34wCOVF4wdcqBCnwMT4H41qf2fMKPW29+O/Y/gjP+9Q+V1A==
X-IronPort-AV: E=Sophos;i="5.93,227,1654574400"; 
   d="scan'208";a="80335057"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation again
Date: Wed, 10 Aug 2022 14:36:55 +0100
Message-ID: <20220810133655.18040-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

From: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>

Following on from cset 9ce0a5e207f3 ("x86/hvm: Improve hvm_set_guest_pat()
code generation"), and the discovery that Clang/LLVM makes some especially
disastrous code generation for the loop at -O2

  https://github.com/llvm/llvm-project/issues/54644

Edvin decided to remove the loop entirely by fully vectorising it.  This is
substantially more efficient than the loop, and rather harder for a typical
compiler to mess up.

Signed-off-by: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
---
 xen/arch/x86/hvm/hvm.c | 51 ++++++++++++++++++++++++++++++++++----------------
 1 file changed, 35 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0dd320a6a9fc..b63e6073dfd0 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -302,24 +302,43 @@ void hvm_get_guest_pat(struct vcpu *v, u64 *guest_pat)
         *guest_pat = v->arch.hvm.pat_cr;
 }
 
-int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
+/*
+ * MSR_PAT takes 8 uniform fields, each of which must be a valid architectural
+ * memory type (0, 1, 4-7).  This is a fully vectorised form of the
+ * 8-iteration loop over bytes looking for PAT_TYPE_* constants.
+ */
+static bool pat_valid(uint64_t val)
 {
-    unsigned int i;
-    uint64_t tmp;
+    /* Yields a non-zero value in any lane which had value greater than 7. */
+    uint64_t any_gt_7   =  val & 0xf8f8f8f8f8f8f8f8;
 
-    for ( i = 0, tmp = guest_pat; i < 8; i++, tmp >>= 8 )
-        switch ( tmp & 0xff )
-        {
-        case PAT_TYPE_UC_MINUS:
-        case PAT_TYPE_UNCACHABLE:
-        case PAT_TYPE_WRBACK:
-        case PAT_TYPE_WRCOMB:
-        case PAT_TYPE_WRPROT:
-        case PAT_TYPE_WRTHROUGH:
-            break;
-        default:
-            return 0;
-        }
+    /*
+     * With the > 7 case covered, identify lanes with the value 0-3 by finding
+     * lanes with bit 2 clear.
+     *
+     * Yields bit 2 set in each lane which has a value <= 3.
+     */
+    uint64_t any_le_3   = ~val & 0x0404040404040404;
+
+    /*
+     * Logically, any_2_or_3 is any_le_3 && bit 1 set.
+     *
+     * We could calculate any_gt_1 as val & 0x02 and resolve the two vectors
+     * of booleans (shift one of them until the mask lines up, then bitwise
+     * and), but that is unnecessary calculation.
+     *
+     * Shift any_le_3 so it becomes bit 1 in each lane which has a value <= 3,
+     * and look for bit 1 in a subset of lanes.
+     */
+    uint64_t any_2_or_3 =  val & (any_le_3 >> 1);
+
+    return !(any_gt_7 | any_2_or_3);
+}
+
+int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
+{
+    if ( !pat_valid(guest_pat) )
+        return 0;
 
     if ( !alternative_call(hvm_funcs.set_guest_pat, v, guest_pat) )
         v->arch.hvm.pat_cr = guest_pat;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 13:55:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 13:55:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383652.618850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLmB1-0004rN-EZ; Wed, 10 Aug 2022 13:55:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383652.618850; Wed, 10 Aug 2022 13:55:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLmB1-0004rG-C3; Wed, 10 Aug 2022 13:55:15 +0000
Received: by outflank-mailman (input) for mailman id 383652;
 Wed, 10 Aug 2022 13:55:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLmB0-0004r6-61; Wed, 10 Aug 2022 13:55:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLmAz-0001s2-Q2; Wed, 10 Aug 2022 13:55:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLmAz-0006vW-9Z; Wed, 10 Aug 2022 13:55:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLmAz-0003PP-9A; Wed, 10 Aug 2022 13:55:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MX16cdjiyHONTun4op2w9FaiwGNB/aZ8ynK/eD4JuZQ=; b=43bk6jC50JMsNOgZXWlwF4iuzx
	wDG3hKkieaca5Tg9dL+U70NDEX3zU1vc3S18ZjJ1Sxr94tiL9+srj1wa2W/KY5rYLHpwO5eveJixM
	a5DZ4Xxdj8imAegDmp10NfT4Fa4Ccue3VSIvowBWYgN+gL/n5FRJZMxk4c76CIsqHyJA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172356-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172356: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 13:55:13 +0000

flight 172356 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172356/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   53 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    1 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 14:00:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 14:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383663.618862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLmGG-0006Lz-3p; Wed, 10 Aug 2022 14:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383663.618862; Wed, 10 Aug 2022 14:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLmGG-0006Ls-10; Wed, 10 Aug 2022 14:00:40 +0000
Received: by outflank-mailman (input) for mailman id 383663;
 Wed, 10 Aug 2022 14:00:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c0+s=YO=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1oLmGE-0006Lm-Qs
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 14:00:38 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2056.outbound.protection.outlook.com [40.107.223.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf4c6402-18b4-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 16:00:37 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CY4PR1201MB2503.namprd12.prod.outlook.com (2603:10b6:903:d1::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Wed, 10 Aug
 2022 14:00:33 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::84ed:932e:f39d:54c7]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::84ed:932e:f39d:54c7%7]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 14:00:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf4c6402-18b4-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aAJhSTT/VxUPzo4y9WtVasQo/Qpv9pGalAACxJ+1cEgdttO33IYMaBXJBQTpqvQ2VLREvxdHGOA8mc/u6aezf4+sHXCSWuo5tF5/ZWT4PZbusGW0QrgFIvnasPKVtyBzz6Yb1qzZUTIJWnkgMVZFV6/dR5DYxZf9ANSBargprnFstYZHKeW8VtCqWja586LLMlrLYNmYCsNuyjtwUvL7TUaiTwwF485paNb33MiPwvRoc0l7RRAkfoWkaxlFpwTW4Ic9mYyXwPSs1X78yrmDL8cNb4U0AMLIP8RveqKEquMFZurttj93vy5kCEEF9qLrqSGpeA+fmWnxy2Jol4BNng==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8yY7vDxjFLB6kOsgaG/z9kS3VErJMPVY9qUqtOxSxyk=;
 b=ERQNKQ1Avegt/0hUVVIjg0PNfmAgpIRWpdlcKKXKX31yiCwxGB8UavLUQDcvuMehwGxtLnepfi/Ux9/1klPmSWLHDbEBrvhl5Djgv3ZrFq3ujwX4qyFokzu+xSt49PocaY9NNdvRxb7HSNaXAwwCUAVp4q8cDAQq0eZL0NAaApaEyJEoJlYmgOl/T3KnYZZN1SNPbQVvbsQMRTUQ8+ei+c83Zire9hMaNF3DKGJn+QwOMY9FP12c7YhZcMJtHjWWAVj0NeTognVUh5Fw2OmpAMhKdHcx6tz/tALAHgN2wEFslK+dOzUxQzWzL7SYn1aDvnbNse4JZeTup26c1MOqzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8yY7vDxjFLB6kOsgaG/z9kS3VErJMPVY9qUqtOxSxyk=;
 b=L3p7dUrmi2mFpp3dFrE/59tO2awsZW0n6L72RqzzQw5YlAlBCWEI0jn5QbctX5B0D6XVogwF19VXOjvnbdsnOpUXdYCcICTzq8tdxoL1+b07JR7Likr7YLvqW6v8CMs2KyVDPHXNr7IVSzEACohjSEeLlEHYK6zr8NwhBi6tf+E=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <f10e92ea-ac57-18a9-8843-781d3242f67d@amd.com>
Date: Wed, 10 Aug 2022 15:00:28 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [XEN v1] xen: arm: Check if timer is enabled for timer irq
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@amd.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com
References: <20220810105822.18404-1-ayankuma@amd.com>
 <6cfcd4fa-3afd-1c70-6a70-9df557ee1811@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <6cfcd4fa-3afd-1c70-6a70-9df557ee1811@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DB8PR06CA0004.eurprd06.prod.outlook.com
 (2603:10a6:10:100::17) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ae3339b3-b8a0-466f-11cd-08da7ad8b185
X-MS-TrafficTypeDiagnostic: CY4PR1201MB2503:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3wt7E9Mu4oM68ytJ8HIliwCBZZllbB7y4KeT71VCIXRtzy3CA+bxS3qQe8MssZYhFrs08BXtAjJHlw1f6Hw3/Y5+jYfZ0Lmi2CQzj16e/Q0FmKWGVibr5yty7FXcBp8GgrCDude+JafugH7UE7mfIsb45c6fvFfUuHG9W0FQEUoYXqsw5IlfhTz+kLOlMryzCK511AQfyV6W21pJAbJcQbE2hanS2y2ZgjjV5+81sCAJ3CDZTea6d8fPPVKaF4LniAx5hnfgjVy8zMY/avUod4t7BmT58PS/TSw4cmUdg2gBqqzjaW6Sx+O66I1iUT4yC9Sx5ePSd+d4oINbsRQ2Kf3mco3DKvGS+i2H8dZQ/cOX/zyo63U+w5ByaJs0Lzf5Z/Pf4hGE3dgW+/f2IB6vkfr8B0aFP52VXyn2HKgOy2WFBhLBwMUFQ2MIdBovY/ApvmC4evc14Bi07aOi9BZPY1mcibbbEldwVA/X7YU/Qih0rcbtvuVwZbBwNb0zs4gxc8Mc/pQ75dKBwokkgbsfttL7iZc0kR3oKFj3UwKh27NvaQ17UOM52cRfNHkegfSf6Yu1BQd1i/VI5il3au6R1Pyk8fMwvqZ+wadZIaWlPPSBHszNc7Mk7RjdzWOrzEuehhp7SJnfRM3n7/hZ/+8cJZSU9cjEE3X/f86/55pwRT0196fWgzu3qOxMR8Ig03s0GI81FOfyW+pSsCMsm+G9/Gb03cN8BbGP3U/D/ux36DQ3WwCf96bzCVcjew4FA2T9emrGf35YqTkDpv6BiKlDmCte9U8ZOTLX02/mxs/QUzGukdVDHWxhk+CODqvd8i1lX5BfuBUljaN72b2EFirHsQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(366004)(396003)(376002)(346002)(38100700002)(66476007)(66556008)(478600001)(66946007)(8676002)(8936002)(31696002)(6486002)(5660300002)(4326008)(6506007)(316002)(6512007)(2616005)(31686004)(186003)(36756003)(26005)(53546011)(2906002)(41300700001)(6666004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M0RSZXFoU1BTVUtLeGVHa1M4aEtmblNMWkpaa2E0enJZUjZMUnl5ZG1TbTJp?=
 =?utf-8?B?djNEQkNwU3hFSnVFMmF1L1BTdmlZY3hrSThYR3liWVdJT29RS1RaQXh3L3Ir?=
 =?utf-8?B?YnBITWFvSHFQMWtvOEg4WUcvYjRSRE1MMWU4QUUzdkhvMUNQOVF5QU5xa2ow?=
 =?utf-8?B?c0NiYWtOaVllMy9xRUpQbEpvRjJwVml5S1BKMFA0NXVFbUVTMmtuOHJNd2xT?=
 =?utf-8?B?emF0UEw3cnBVMkVxc05Yd0haaEJsc0RGcVlyc2pJQVFmZUNSZ0xoTDZuKzlp?=
 =?utf-8?B?V0k5VlFRTU5aMzhDeWhSTHhxcDAvUXU1ZmlhTGhyM2VnMU5qNitIaUk3eWdz?=
 =?utf-8?B?dEpTc2xoUWJVc0tpL2p0L010ZytXOUdhSm40VjBhbnRWYzR3aHlEcGxpbDBH?=
 =?utf-8?B?RFhGZTUrK01wT2hlOUdRUWd5UE1FZWJGdGErQys5VkZ0RFJ4bmpXMXFMdTJU?=
 =?utf-8?B?UjlkbVBORjFLeHhjRHJHZmxwS2EvVXgyKzhveFZKOHJwZ09mdU05Qk5nOHhD?=
 =?utf-8?B?RVZvOUR3Zy9jZDVlLzBZSnc0U1NkN3RPN05PUTlmQmRRTzRCV0VENGVOWksz?=
 =?utf-8?B?bEFwL3hhVXdQQUJ6YkszaS9oUnlaTWt2QmVMbmNGK3M1ZGZHRjZjL25XVDBG?=
 =?utf-8?B?eThQS0hNYWRMUzhBUkpOWkhQazFJb1NKUFNyRDZrOVFqcWVra0lPN094RWly?=
 =?utf-8?B?N0pScTZSWHhIaUt5Y3RtUE4xRW9YQSswK1BvYzNkdFdsSTdyWXFoblFzTHlE?=
 =?utf-8?B?dXRxd1ZNbThJV0Z0SUJEOHNISFozTVIzcGJRaG1NOGhFbnpmVkt1QmlZOThK?=
 =?utf-8?B?Qm1vMUFpakwxRktiZisxaHBTMkUySnpsa3J6d2hQclliU1FWZnQwYTZJeWNt?=
 =?utf-8?B?U3k1bW1JbFNld1VRcjJYWmpLeFVpdDYrRDJvUklJbVl6bDJzb0ZjcGQrYkZX?=
 =?utf-8?B?NVNSK0F4RnFKOE8zbnU0dUFZT3VBRTlxSHc5bzIxSXlTempPNUZ1aUlZaEpj?=
 =?utf-8?B?aWlOeDVyQldsd2ZhbEg3KzF5YVJxK1h6SEIyMVpQTWpVazJoRkZob01DOUJ5?=
 =?utf-8?B?Y1E0Yy9wUkRhbm9kS2tGcVN3WTBGZEV5YUIrTFoyelhsWFRNbUZWSi80QTNZ?=
 =?utf-8?B?cmJQTllNWS93alV5QXpEOXhtMitnTk5ZdXRkQ0hJa0QwNGtjMmkzZU1XcHRx?=
 =?utf-8?B?b3c0ckF1aTQ0Qkl0aHh5bXRrRlV2OENNZTl2SjZDODdQWmlMZ21KbE9wc2kv?=
 =?utf-8?B?L2R3RHkzZnBtRVVMaFoyTXN2emROYUpoNVFQaVlzbFZHdUtiK1pHOGtIaXBN?=
 =?utf-8?B?dWtBZTArVGlLZjZ5cFVqT1BNK3o2SWJaQklxRTRVdERqRWlhd3QzaGpTQnRM?=
 =?utf-8?B?ZldBSnNsL1BPcEQrTTl4dEk4cHJXWlhSc3hENlVpcmh6b0gwSHpRQm8zamVj?=
 =?utf-8?B?NWgzMUhOL2NKc3hvVWRVQWdPWFFPWW0vckJCUzAraHBwRlFSR1J6akpCYlFY?=
 =?utf-8?B?azZFWG1vRjdVdnFEOU1NR00wbVRKZ1lHc3FMdTZXbUZsQzlHL1JtZzBHSnVM?=
 =?utf-8?B?eThtLzNrbUxUTW1lSnBLMEdDTmc0dVJoMGdNQm0yN29zTFRZYXVzVU0yL1RH?=
 =?utf-8?B?Q1Q4OGFLK2RZWGQ3UFZpeVY0ejRKMG1hZGNJTDZNeXZTWm85KytLbjVvM0VX?=
 =?utf-8?B?WmFiUUk1K3AzaUtGV3d0T0dzdE13NVRUQ2QzNGs3R1dxb0w3TkE3N0ROeGVp?=
 =?utf-8?B?TFYxQTkzcjR4VWFSNGkvR0lCdWhCcmRaWVQ4S2RHanFwdm1rMTdBUjZhL3hy?=
 =?utf-8?B?d0g5YnY1Y3A1TEVXVHBZRlJMK1RRbTRBK2NsM0lLUTJ0MVRGMDk2ZE1lR0NB?=
 =?utf-8?B?N0dkdyt3NjR4akErWGFXVDVBd05yMHlkRTZzZXJJUkVZakVSY1ByM1JUQnZX?=
 =?utf-8?B?TzBMOWlSL09QRldZcUNSQ1pDZmZMUHIrTThwalkwTEN1MHpmd2IvRUxWK1l3?=
 =?utf-8?B?Z2ZwZWFrN2pEWHNCQTVkME5qRS9HVGpoN2lrOXhsM2F4VW84SWpyUXBjMU15?=
 =?utf-8?B?QVhrR3NTZGhjczQvSDBzZEhhVDFqMGtEOVo1c1UxUm40ZTArSWNWV24vUTVw?=
 =?utf-8?Q?BYVMPhIqDwtPlAY0IjaNjlnU5?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae3339b3-b8a0-466f-11cd-08da7ad8b185
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 14:00:33.8190
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mnbZBUcA6vgzkj61Gmm65hC5JTsxmY4y1ja9toYKLvXk2yYdL6S/uZKqDL/OodfMYoQsH6/QovdYyy/kv8BlFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1201MB2503


On 10/08/2022 14:34, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> Bertrand already made some comments. I will try to avoid repeating the
> same comments.
>
> On 10/08/2022 11:58, Ayan Kumar Halder wrote:
>> Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,
>
> You are modifying code that is common between AArch64 and AArch32. So 
> I would mention this behavior is common. Also, please specify the version
> of the spec. This helps in case the behavior has changed.
ack
>
> Also, NIT: I would prefer if you quote the Arm Arm rather than auxiliary
> specifications.
ack
>
>> CNTHP_CTL :- "When the value of the ENABLE bit is 1, ISTATUS indicates
>> whether the timer condition is met."
>
> I think the key point here is the field ISTATUS is "unknown" when the 
> ENABLE bit is 0.
yes, this is the key thing.
>
>>
>> Also similar description applies to CNTP_CTL as well.
>>
>> One should always check that the timer is enabled and status is set, to
>> determine if the timer interrupt has been generated.
>
> I understand the theory. In practice, I am not sure this could ever 
> happen because the timer interrupt is level and by clearing *_CTL you 
> will lower the line and therefore you should not receive the interrupt 
> again.
>
> Checking the 'enable' is not going to add too much overhead. So I am 
> fine if this is added. That said, would you be able to provide more 
> details on how this was spotted?

This was spotted while debugging an unrelated problem while porting Xen 
on R52. For a different reason, I was not able to get context switch to 
work correctly.

When I was scrutinizing the timer_interrupt() with the documentation, I 
found that we are not checking ENABLE.

Although the code works fine today (on aarch32 or aarch64), I thought it 
is better to add the check for the sake of compliance with the 
documentation.

I can send the v2 patch (addressing yours and Bertrand's comment) if you 
think it is fine.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 14:07:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 14:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383672.618873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLmMP-000702-Qn; Wed, 10 Aug 2022 14:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383672.618873; Wed, 10 Aug 2022 14:07:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLmMP-0006zv-Nh; Wed, 10 Aug 2022 14:07:01 +0000
Received: by outflank-mailman (input) for mailman id 383672;
 Wed, 10 Aug 2022 14:07:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vQbV=YO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oLmMO-0006zp-KO
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 14:07:00 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80043.outbound.protection.outlook.com [40.107.8.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3060467-18b5-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 16:06:59 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6828.eurprd04.prod.outlook.com (2603:10a6:10:113::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 10 Aug
 2022 14:06:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 10 Aug 2022
 14:06:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3060467-18b5-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BVdBGHSmXDtk1pAE+Sxn0LuElK0YLMXD9q9FMGnGvEolJilWNiu/hsncWu8ie4ECUhPQK/l4wcHVQ2Spumt75OYt+9W/NsribCEarqX5lcd3i3A1ldP7gHCiba0JV/2loX+bvMrUIKSco9mx4iUvXFKpTo03r7X36mj0AtwRYFM89ajZrN9zrohpp23L6YNyd+Vy2IZRzomtOJODhpOlf+e+EhkBIf8pUpaRRDK2ET3SGfokHcu+4uSs/iPFX9BJ0+9zXb1bgocZaZh2e8lehN9IsHZhOJek/547omw9AlQQK+VvisMo1tsApfiXUzMdULrIgUkG+pV2CI2Ngh5EoQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wkCbFM/D2/rz8tgaTG4ZilBApXaCxtFpSGGlp/ns37M=;
 b=E6DHZmXQbsSbUiCjLp/rhMz2ZW/x4jLBrOpuSDakkwDq0cssI/4GjCfNkKYOcssQleDihDI74XA8uurquYNmCTv3I7nklTNFsM6iPL6mfl0x62zTxe7024E/oQdXLYCYJKVGrvM1v0BLTCYRJo1Q8g2oFB/craQiV+9dk/64nrtKCwMwhQXLEJC8jfrWOsF8vPqA/37/T2sK2bZPZ3KWM0imavmsy2LdgmjokOAVn2augPjTXSGmjf548QNJviRKg9IH1zBu7Lc7v4nZHXq86Y3BgvhFW4VWoIFgu6jCrC3l9Ab0naREzBuTg5dlzqwIN+R/Q5cMROcgP92yf0SBoA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wkCbFM/D2/rz8tgaTG4ZilBApXaCxtFpSGGlp/ns37M=;
 b=WtQj+C0h+Eyzw0E6FC1tiVdbYvg4lk+JkflWYxsc+ADCAkKDKZ7KB1IwH6fLeUoAkpum6eaKSBK03zBfBOsScVKDQcMSfPTjJwhUaushpscIDKm75nZvTZ8AhensF1N8BdXpt55zB3m+0NT6zahNMNBwBhWB6gopvcfV6Fzf0hUSFFsrZbNF4zUtwfrPEIncuMFDn1PpUPbzW5W/D0ntU2lRAa1pXGa1dekktYQaRNfh+/cRqcC97npvQVT4b1h9v1VWJjzHQ2n0RzAPsJE8CIX3metLeZMqIaryqX58Usy5sT/pPy8XNm7QswmPSBH/jfHY6DEjfSXOQ1bTrLpDOg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <74d0425a-a206-2bcb-50d6-e5bb4c5e2bf3@suse.com>
Date: Wed, 10 Aug 2022 16:06:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
 again
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edvin.torok@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220810133655.18040-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220810133655.18040-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 482feaab-7298-4e60-fbf5-08da7ad995a5
X-MS-TrafficTypeDiagnostic: DB8PR04MB6828:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BL/nSVxBjxO2qNmi3t2fhJIePlWaRdbPigJYMEtftsLleQAONEvSqFp/9tSs3rTfbLtJlRepCSzw0BZ6XXZeuCqkQvQqwTG4vddgzSkai5/4XAxZ8kDXDLZNzxenUPanO0FumCmm9Y+y5R92Gy0k6aQauIB0kgFq/YsW5Mgu0GK1YYjTs1iJ4nplOV9HvYbiwd7sd+oZHA9rizT7K0/6v06LZxFKOoxcy8I3tNrL9aRofX8uu0JlwRNdE7ON8nR7WFKj7UkkFR5VFn3IMqWNvO9oRaVoP26MMYR/6C7miM1tALVy70Lw/VxCydmmuYvolND1LI0rYb8iOeEjpVGW+a1clEB1eKJX7zkKUQy9jSxIHVJoHLlFM0Lopb9YmfZBCSWknyUhJvmQF4w+Nwb5v54Z/IPBO26xiaYgdOTsuHci3oqKTZMQg3SQ0AADJq6k9unQx2ea5AjiC9kCi5XFYJOZ908t934712wdroRAeLZzcLcC4voQyr5ShJ9r4k08sMwV1ZvZxpgoppLzHIw3j/h9VsgekaYFCvEx8hSm+cB8Spx4WSqM5d+oclTRKsMESRvAWL4KGjOQvhZ+1vkZ81cmvDXX4HvlKocxbhHu/PRbBpbv71Ag8z5uzYYJiXJW7kBaVJV5Ohureooabt01YUHQKZhYAYkzFbQh/E5Bw2zVQWVgsq471XEpnk10bt/1cr1CtpOUApzLwXwa7RxwuY1PGz0CZvr3ZtV3T6yZ/jGAFr7W+WI6GnXAL/4QVro3PO1GnPjHS2xD85BhbD18TJE9hk+exFe/JIdI61bkgHfYdg6d4GuZQ597+HfoHiocAvzDgRk/TUomDjrasPjQXJ8Gax2NJanc6rcSpoReQvw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(396003)(136003)(39860400002)(376002)(478600001)(41300700001)(966005)(6486002)(36756003)(316002)(38100700002)(110136005)(54906003)(186003)(2616005)(66574015)(26005)(66556008)(6506007)(6512007)(53546011)(4326008)(8676002)(66946007)(66476007)(2906002)(31696002)(8936002)(31686004)(5660300002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFRMSERVYWljbnVKdjU4TmhkbmNwM04zVGt3eGJmRjVCRWNEY01TSlVEZ1Vr?=
 =?utf-8?B?WSt5S2hDRXVuUzhVcFFIeVN5ejdhM3N5N0ZmS3dRVmYvbDM5TU0rUjdXa1B3?=
 =?utf-8?B?VmdqTUxxQ2prQ1lKVkRvS3U5R0ljUlQ5anpxcVc3NVJ2MVhUamhJdEhwakFO?=
 =?utf-8?B?dEhURW1kaDA4VGJKTEZCVWVhMGhRL2IrS3V3TW5oR2MvSzFvNVVrdS9DZlBl?=
 =?utf-8?B?REgvTnV2cFNCS1QxbFFmaFR5WlJzOVF1QmRyYUxseHAwVURwU0ozZlVwUytR?=
 =?utf-8?B?bGFEZ1FoT0lRTzRCMnlhRWZvS3ZTb2t6aVlSOWYrUHR1Zjd3M0hzWURuVWQ0?=
 =?utf-8?B?MzZJY0FmWUE0eFdRSHVUN0k1dWN4eXRTYy9YN3NKOEpUQktYWWN3QXZRY1E3?=
 =?utf-8?B?NUJ1Y0NQTW8zcFBoT1NWZHgyY2x5SkVFb0F1T2pKZjhTSXdtVTN2UlRnc1l0?=
 =?utf-8?B?d1FKSVhYL0FDYWRyeHJ0TW9RdHFTSmFGdUtrZmJBa2kxZStwbUN4MU81bU93?=
 =?utf-8?B?QmFuUlBBM21GRHRvR29iaW0yV1lEUHBMbERDR3ZZSzY1ckhRclFoa2FGOWs2?=
 =?utf-8?B?VFhVbzNhMWhBN2g1bXF5ZkF2Z3hSMndZdmpZQS9LVVduRStGc05TUGhxM0xB?=
 =?utf-8?B?V3NzNGxxVUpMMlZEemhLV0FvSzNPZzlXaWMvTHAwY2U1TGhFME4rd0JVamx5?=
 =?utf-8?B?NmVuYis2THprdjVmREhEZG5YMTR0bHRWbEhRVjgyNFlsWHBNUFhjVEVFbXNX?=
 =?utf-8?B?S0owRHdJanFta3E3SnRsZC92NVdJN0tTS2hPelhocFdmNTBlTzg1S3VSWFp1?=
 =?utf-8?B?dHI4OVVjQUtwY0FUV0lSOW4weVFqQkxpMUpqRFc1VUordHQrR2pGdk52Y2Ux?=
 =?utf-8?B?UkkvOFJsOEtpV2tTNlNtcnNnOFowb21XV2hMQ2l4bGZUa2dPVmtLNG5LVmcz?=
 =?utf-8?B?L1Z0RysraGtqNTlCYmVxTzJra05kL2NTQ25sTnVuM0xRQnhaRjFhS0cva2d6?=
 =?utf-8?B?Y3ZSSmJteXc3dWxVc0RJN2ZZSlN1dW1BaHJLMVFGclFSbFNZUXliY3lGT3d1?=
 =?utf-8?B?UzZqUTJndExvaHZzZXo4TXNGaWJYbU1xbG9QNkpUdlN1OUp0RGVIZWE3NDF5?=
 =?utf-8?B?T2MrS2NFUWM2TU9zU0tybnNMUzIxZTBLekt4U3kra3dsVzMxUkUzZGZ6UVV4?=
 =?utf-8?B?a2xQRkEvNk9MQXhVVHpPVGRHaUNwVnpEQ0V1TnVZbzk5dVZDTWw2eTZzZTN4?=
 =?utf-8?B?U21sb21manR6NmpWSlNPdHY2SFhLL2V1T1dDOW1GK1d0RkpIR3ZJdFpRNXlP?=
 =?utf-8?B?OGUwNmpDc1RxZFJjU1NaWXpSWFdMcWJBQlh2QUtZSGxhUlhpQmpLUkNCVjBq?=
 =?utf-8?B?T2N0OHM3a3B4c1kxYkZ0enNnKzdJaW1oUEd2ZUg2NFZPWWhoVTc1Y3dPWGgx?=
 =?utf-8?B?em5UWFVhMC9aS0RqNXcwRURleGZSWXg1cEFQL0xhVEZQMmVEK0ZiQlR2cDA3?=
 =?utf-8?B?QmJDMmNud25TcytJOTN1RzJ5YkROVnIvVmZpODF4MjYyanF0TUtPL1RRUlJy?=
 =?utf-8?B?MGRZRXk3U2J1RXBBM1ErTVJjc3F0RGNVdmFNc2RDZDVpM243U1hCUmJPZWxY?=
 =?utf-8?B?bFBML0dVTnEzOU9GMEJISzljN1VoNFdTYlM0Y0haQzZuQzFrUSt4ZE8rY0xO?=
 =?utf-8?B?WDU0cTVIeUMyeFZHZFZvZDlrSnNHUkxaRzlsZjBhNjVFbUFNWEJMQUdRTVdz?=
 =?utf-8?B?T2ZLWFUyb0thTGVVSHdZT2FTWjk1SXdvUWRQblVEZWZCRnZGWXJVN0t6eERo?=
 =?utf-8?B?S01Ub3ZjZC9WVUpaU2F3eVVydFdJV3ZNMnYzOEhUUkQwTXpEQVljeHNmQ29y?=
 =?utf-8?B?UFBtV0JaaXFtbmlLYjY3a3F5R1dGYng2YWZWT0Fna2NOa1dDeFB2THcwRmhB?=
 =?utf-8?B?VzZoQjhkTEI5aVF3bXNmYkVCY1ZkT3doYm5NODNlam93SUxOUEJ1L28zSG8r?=
 =?utf-8?B?WlU2NWlSOHhwalZaSlNqaXBCWkdvY0drbnhDcUZkZkpsc2h4WGNWMlZ2d3F6?=
 =?utf-8?B?S0U3WW1nM1hHb1ZrRURPUGcvWFVPaHlzM0czTG5ZTEZpU05idVcrRGNMY1Nq?=
 =?utf-8?Q?yLkwse1ZxfRxIt9XA8qnHdIkj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 482feaab-7298-4e60-fbf5-08da7ad995a5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 14:06:56.4927
 (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: K+97pYB1Po1u14p5l+k7k3XWW+VloVh1CWXpumhrrP68C3MhoD+g3zUR+U1qZ9wgPyayNO4KYXAz6+M6oXjPng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6828

On 10.08.2022 15:36, Andrew Cooper wrote:
> From: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
> 
> Following on from cset 9ce0a5e207f3 ("x86/hvm: Improve hvm_set_guest_pat()
> code generation"), and the discovery that Clang/LLVM makes some especially
> disastrous code generation for the loop at -O2
> 
>   https://github.com/llvm/llvm-project/issues/54644
> 
> Edvin decided to remove the loop entirely by fully vectorising it.  This is
> substantially more efficient than the loop, and rather harder for a typical
> compiler to mess up.
> 
> Signed-off-by: Edwin TÃ¶rÃ¶k <edvin.torok@citrix.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

The main downside being that changing the code to fit in a new PAT
type will now be harder. I wonder in particular whether with that
in mind it wouldn't be better to express the check not in terms of
relations, but in terms of set / clear bits ("bits 3-7 clear AND
(bit 2 set OR bit 1 clear)"). The code kind of does so already, but
the variable names don't reflect that (and would hence need to
change in such an event).

> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -302,24 +302,43 @@ void hvm_get_guest_pat(struct vcpu *v, u64 *guest_pat)
>          *guest_pat = v->arch.hvm.pat_cr;
>  }
>  
> -int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
> +/*
> + * MSR_PAT takes 8 uniform fields, each of which must be a valid architectural
> + * memory type (0, 1, 4-7).  This is a fully vectorised form of the
> + * 8-iteration loop over bytes looking for PAT_TYPE_* constants.

While grep-ing for PAT_TYPE_ will hit this line, I think we want
every individual type to also be found here when grep-ing for one.
The actual values aren't going to change, but perhaps the beast
way to do so would still be by way of BUILD_BUG_ON()s.

> + */
> +static bool pat_valid(uint64_t val)
>  {
> -    unsigned int i;
> -    uint64_t tmp;
> +    /* Yields a non-zero value in any lane which had value greater than 7. */
> +    uint64_t any_gt_7   =  val & 0xf8f8f8f8f8f8f8f8;

This and the other constant want to gain UL suffixes. (While I'm
open to be convinced otherwise on the earlier two points, this one
I'm going to insist on. Yet in case it would end up being the only
change in need of making, it could of course be done while
committing.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 14:51:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 14:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383683.618883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLn3J-0003bz-9g; Wed, 10 Aug 2022 14:51:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383683.618883; Wed, 10 Aug 2022 14:51:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLn3J-0003bs-70; Wed, 10 Aug 2022 14:51:21 +0000
Received: by outflank-mailman (input) for mailman id 383683;
 Wed, 10 Aug 2022 14:51:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oLn3I-0003bm-06
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 14:51:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLn3H-0002sW-Ig; Wed, 10 Aug 2022 14:51:19 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLn3H-0008G3-Bq; Wed, 10 Aug 2022 14:51:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=e9QsneBUnLAQW6zomqTk7AC2tJQoftZpmuTfa1unkmQ=; b=iM+aVzJTKS26pXsQbZi9u3nWS2
	Hs1s3Ewc5HCnrUW1AAqT/b4Abn6l2f2J3Uy16dPUfH7FoyjMWM7UmgSFSIOQ6QeOiPUD010xRJyTM
	3UVGwUxo5ndGrN9TeKieZKFQHogWOcK0QIVZd2jbrz6yHSiiZDU/GDQI4e1W22QBm4i0=;
Message-ID: <28d85fd0-0e61-7e45-34c5-91ba746561ce@xen.org>
Date: Wed, 10 Aug 2022 15:51:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [XEN v1] xen: arm: Check if timer is enabled for timer irq
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@amd.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com
References: <20220810105822.18404-1-ayankuma@amd.com>
 <6cfcd4fa-3afd-1c70-6a70-9df557ee1811@xen.org>
 <f10e92ea-ac57-18a9-8843-781d3242f67d@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f10e92ea-ac57-18a9-8843-781d3242f67d@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 10/08/2022 15:00, Ayan Kumar Halder wrote:
> On 10/08/2022 14:34, Julien Grall wrote:
>> On 10/08/2022 11:58, Ayan Kumar Halder wrote:
>>> Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,
>> Checking the 'enable' is not going to add too much overhead. So I am 
>> fine if this is added. That said, would you be able to provide more 
>> details on how this was spotted?
> 
> This was spotted while debugging an unrelated problem while porting Xen 
> on R52. For a different reason, I was not able to get context switch to 
> work correctly.
> 
> When I was scrutinizing the timer_interrupt() with the documentation, I 
> found that we are not checking ENABLE.
> 
> Although the code works fine today (on aarch32 or aarch64), I thought it 
> is better to add the check for the sake of compliance with the 
> documentation.

Thanks for the clarification. I am quite curious to know why you think 
our code is not compliant.

As I wrote before, when ENABLE is cleared, you should never have an 
interrupt because the timer interrupt is level. So I believe our code is 
compliant with the Arm Arm.

The only reason I am OK with checking ENABLE is because the overhead is 
limited. If this wasn't the case, then I think I would have wanted clear 
justification in the commit message *why* this is not compliant.

FWIW, Linux seems to use the same approach as us (see [1]). So, if you 
think this is not compliant, then maybe this is something you also want 
to consider to fix there?

Cheers,

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/clocksource/arm_arch_timer.c#n644

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 16:39:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 16:39:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383719.618895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLojb-0005Ql-Tu; Wed, 10 Aug 2022 16:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383719.618895; Wed, 10 Aug 2022 16:39:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLojb-0005Qe-R5; Wed, 10 Aug 2022 16:39:07 +0000
Received: by outflank-mailman (input) for mailman id 383719;
 Wed, 10 Aug 2022 16:39:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLoja-0005QU-E5; Wed, 10 Aug 2022 16:39:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLoja-0005Cx-AW; Wed, 10 Aug 2022 16:39:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLojZ-00076P-W2; Wed, 10 Aug 2022 16:39:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLojZ-0007Sd-Vb; Wed, 10 Aug 2022 16:39:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZISkhQkxIcHGQwTyqwx8eejVAvxT9awW/YkwkntRvc0=; b=CtvfvzYc10sDOTCxY6rRU4dPPj
	gY9zai3ZPSRngRp9M/cRkZUoHoIKgTxd4HEcRsctZzsFFgcBnEckJ1jfEwRLj5Mfj1Gq0lsXSEa9D
	Su2xe0ckXCkd4Qhn4oHz4MyjDgyC3sxcvTVGS2lwXdA9m7XOAsjkKXvhtmclph3rhpa4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172361-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172361: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 16:39:05 +0000

flight 172361 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172361/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   54 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    1 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 16:44:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 16:44:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383729.618906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLooZ-0006qn-HW; Wed, 10 Aug 2022 16:44:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383729.618906; Wed, 10 Aug 2022 16:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLooZ-0006qg-F0; Wed, 10 Aug 2022 16:44:15 +0000
Received: by outflank-mailman (input) for mailman id 383729;
 Wed, 10 Aug 2022 16:44:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c0+s=YO=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1oLooX-0006qZ-Jz
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 16:44:13 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2052.outbound.protection.outlook.com [40.107.220.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7b85ef4-18cb-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 18:44:10 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CY4PR12MB1512.namprd12.prod.outlook.com (2603:10b6:910:3::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Wed, 10 Aug
 2022 16:44:06 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::84ed:932e:f39d:54c7]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::84ed:932e:f39d:54c7%7]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 16:44:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7b85ef4-18cb-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FslCcDXOTvkefU6afIs5W6E2fyB6vDYdHFF2NHjTJ7MKsoE6hA0wvE7rK5dHmUAadXWx+0jJPXWPFw+3Hp0cAfQDrqRqalguYVRp3GF1x7zXi3nMVU2MnbMw2oxeugpsSoDE3z6+GxQk6rG/Ruw8wRs6zJtE+aGj+I6a3ENwbM9e5u0j4KhMqk3Mt2Y7U+o5uzP6sMXwQAjNDCbQVXpmoeil3SH3hWN9iR1e8fYNLGfuLynCiZ2couns+vdwxReY8rF08a4ipxmFCcGKl0/76pBhKhjQZgeKush0DUI3/DzPIAIo+KQAp3oRujeKoLTJ34TTk4F9sfjkO+QQNBoSjA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6SssnIpM48YIUE2OLtl1iBnPsDbowaRmdHSF6rIkGUM=;
 b=VFNxO5Vc2g40rDVQsR0IL27fOOVsF42NQCdHaJnBnbhp9OB1jXKOUHtW5q09jt/wkM4X8WnMUmFL5O8WsmoDrcQQKZdKKo8JJsBuUKUVaf7qwZNtNxmheoHyNOMQcpNH+Tbjpnjvja1S3dPSuwnv84ZR6U1bk17ZibhEv1Lwr1EkS0Rbk5SbBY0rzLFjxBP1aRgOtjGUPa4Yol4AIvCeEb4w5GRNzmSJ/l4dWj9MSpUC6ZfFXgjbNXy/QB1TR2NNusm5TPgip2pci7CsqP7TGOgK/jzLRMGJTUZhLUc7mz6V85iP2wOotlTh5D7yULIAnoo1zx9/12WSjoF1KgbyTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6SssnIpM48YIUE2OLtl1iBnPsDbowaRmdHSF6rIkGUM=;
 b=AyVb84n9wOag6Arxx8skeovijZNsHY75RZuJl1QGtVPfe1OdMM+hEqd0AaD9bD9XX6csZ8AzkUTykeR9AKV3DZnpEna6VZ2alHKNACtwtDJ9jBTX1rch3a3otJcKgHm1wYb85nrgmAvHYNcgh0JPLPp0jc+QKqKQTgAbrwIdi+0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <5548c76c-cf75-05fa-2f20-256e210afd32@amd.com>
Date: Wed, 10 Aug 2022 17:44:00 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [XEN v1] xen: arm: Check if timer is enabled for timer irq
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@amd.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com
References: <20220810105822.18404-1-ayankuma@amd.com>
 <6cfcd4fa-3afd-1c70-6a70-9df557ee1811@xen.org>
 <f10e92ea-ac57-18a9-8843-781d3242f67d@amd.com>
 <28d85fd0-0e61-7e45-34c5-91ba746561ce@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <28d85fd0-0e61-7e45-34c5-91ba746561ce@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0105.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c3::7) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7cdecddd-da3a-4d87-ba28-08da7aef8a45
X-MS-TrafficTypeDiagnostic: CY4PR12MB1512:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aMs54cQ+M9EvqXO9ONcz2VPziuZxyLhpRwlME2Bp3Cfvx10U8+AHkGHyMz+02Mb2Rv5um1p+c/tPw/AAWJ27upH6V95Gw8N2zYjlESUyKgw1kdjNhAvBdAB0Z4pGLTIdwK+zXUljJ2WdTIz8uFMUR3RrLqNdrfSM6uT9T0U61Gv2krahOtnY9m/qKyeR7oCU1mHXBUMoroMl0L6ch8mkVt0yHHY4FUFbbTtrg56v4ZzMfMllmaCMwySqG2qQ849ujcPMIFV69f4V3a7xTF6iKxH8O1wmatSlWXJGVe3853l4YTPEQ3SciyReVq+dNDuRMscpagQSYzRbwKbuMMpoZwumiTCIvfgNPKunC7fqHnWgQH5Ysql6hEVbZILCPtcxQdt2mrBvcBNOwASxW9cYE9PgLB0dKUudvdJdUUjY1jDHiHfpCEkiGj67fgRrV7dC5VLeQfoNnnIFSCcrt34Wv5tvruyMjufWtDOQJlAghxoGqtCOJHVaAY/O2F8I5JkDZRzXxJH6BC3977koO/GzyvaPijSnrM2LdMgHCd/tsIWPI78ugv5f8PJqjhzxUdjsg9DCyGNmVuITIssjL8DJLDxTav8ZRtjTZ+UHNZt33VXY/+yJwe6azAkgL8tYD4DsiEBjRu07fTPyBXBLahRtJsChqDBJnsj56o7qqTr7QJN2PFDMTsjtGmokYx/JaogBvnVj98TzpjYNer7Lg8OTv7+nA5M/u+8BMO1jY01oCykEFORfx7tM5BDgMY+/WCuLkt6T/xjxByfdlKNrlNNvTHTMHztA3XiUwKXo9FszdOYb2NqRKK1a55Eb0QRt4tfnngYDFUfLzldMFa5ccxR7XBg7m88efqIgLbGPBlXX5bU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(8676002)(26005)(41300700001)(5660300002)(2616005)(316002)(186003)(478600001)(66476007)(6666004)(36756003)(31686004)(4326008)(31696002)(6512007)(8936002)(6506007)(53546011)(66946007)(66556008)(38100700002)(2906002)(966005)(83380400001)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UzRVNTFicEo3QjFwNDh1bHlENXV3Smkzcmo1ZGNZS20vYnRBWGkyVmNscEo5?=
 =?utf-8?B?cWxGUkE3N093c1FzTlRaUnBLQU5XYkg0cnBVSzRUTVRGblRPNXVSMEdpUHFL?=
 =?utf-8?B?T3pla0VxbUNyWHRFREliVWpEOGRkbzJvRU90ZjF0YTdkTW5mOGhTUXBWNGF1?=
 =?utf-8?B?VHI0S3BDN1dIUE5rQWZQMzJyUVhiRE95d0ZKU2lCRytoNXM4UnZaV0lhb240?=
 =?utf-8?B?K0p3VHJrRURTUmozazF4MFNQYVN4eFFIVkNHa3dFOTRITEU3NmR1WFpRN3Js?=
 =?utf-8?B?OWhxbHpxYjlVUkNzUHp0Y3dndHNNN25TM2RPZXBscUUxT2lzaGdiUS9xRHJ1?=
 =?utf-8?B?a3RZYVBFUURSZGNNUlNsZFUyK3ZuUXNZWGZrSnRTQ1lLeXNrME55Vmptc2E2?=
 =?utf-8?B?STRzcVlKd2JFbFExN3hsbFpHSEFXa3pDV1dSdFJJMmw0aXJzNUd4UGFvVitM?=
 =?utf-8?B?S0RUdTdRbk5mcjlHZlovR3hMN0dCYmZocWVHeTUvU25TMmxjdDhuV0JpaXlW?=
 =?utf-8?B?ZTBMMSs5NThNVmlPTGRXeHBNREViaDl5cThkbU8xUUpRSTlIQXZna2NJOW9U?=
 =?utf-8?B?a1pRcXhWbm5YSDZHUVhXKytNVngxbm9PZnFodFgreHNqYnE1Nks0ckg5R0Fl?=
 =?utf-8?B?WjNIdkljdUdTQ0NtcDFJcmtRc1FScVJEdjlEbDZiTFhId2xJZDBlUS9YbHRW?=
 =?utf-8?B?K043WGlDci9TS0FtTFF6RmhPMGRxYVRFZE00Z3ViQ2NlTENVVW04UHhnSWhU?=
 =?utf-8?B?bWNxNTFLOVJIR293ZElWL3FuZy9RdWcvQnBuWnZ0VHBEakd3TEFJMDZCUHps?=
 =?utf-8?B?MjRCeXVSZ2VLcUtXVi8xa2ppUnE3aDQyTUpYbXc1cVNvaXFOTlQ2UEhsV3po?=
 =?utf-8?B?S2phaXV4MXgxSUo4NnpjbTYyYUtpdE8xNm1OZ0lidUpCZ0MxekZFWGZJYU9J?=
 =?utf-8?B?bGMweU1EUHJsTkc1bDY4b1Fsc2xoZUdUM1JjZTAvRS90UzV0UTBJK0NEQVR1?=
 =?utf-8?B?M2o1NmcvcTkrRWVmUmRPUElKK2toL2gzTGY1dFVZNlBTa3F1OHlTOU5RU3p0?=
 =?utf-8?B?MXhzQ0MvdWpwTXRxbUFLUlNlWGhpNmV6NnFpYTZXY0xPcStxVTRHZnVMeUFQ?=
 =?utf-8?B?dk1IdHRDYThOWC8xc2VqOHJRRkN0cDFFY09vWjNGOFE0anBYdHRIdlYxUi8y?=
 =?utf-8?B?aHJqZmdyWjY5eWNqemVPelhISWFvemgram9KamwvUWlGd0ZBMDdXRTd3UGlw?=
 =?utf-8?B?elNpYUJiUFNpWmZ0dzBBbXA3ZXZvZUZ5ZkYvbWxuMUNucHMyVnZEek5OTk8x?=
 =?utf-8?B?cnBSTEsxYzJaZWU1SVVIOU9mNlFtL3BUTmhyYjU0bWdrekhYMGlzLzlwUmJs?=
 =?utf-8?B?dmRpa1Frc1RCZzBRTjUyTWRWdUFMM05TUWFPbWl4Y1F0TU40VUw4NHdVTml3?=
 =?utf-8?B?ZHMyVFZNSngrcjZtUVFZb2xlU0QrY2VQcUZHdGl6U3pQOFRDYStHckpmY1JO?=
 =?utf-8?B?aEdzT2FsbytYM2VHeTZvRHg2QXppaEt3bWFXa21ZQlFXMGZ1b25wSnhUMm5U?=
 =?utf-8?B?TmxLOUdDYit5UktZaVg4ZVZrL2c2V0l2aTZyUzc4L3NoYXo3ekRZK0gzVEZa?=
 =?utf-8?B?T3JvZ2x4QWNoWUQ3NEZtR1ZBaHlqV25TYVB3dE5xbDRkNU5WMm0yMmVYYlZl?=
 =?utf-8?B?NSs1TC8yRTRvU1k1T0FMeU55ZTU3Q2tBWmJ4SWoxSTZySUxObE91RmxYemc1?=
 =?utf-8?B?K1JkbVZGVTRhSzhDVzYvbUx1N2g2b3AzM2VIQjE0SDM2UEFCUDB0WWUwNEN6?=
 =?utf-8?B?REJnd3hNdWFpNE41NUgzWEtrYTdESTZ2VFJKbURUb0ZTYjZRZjUzMENEUHFK?=
 =?utf-8?B?ank0dmZjNG9iQmtSLzZxYkhuQTAvd3V6MzFITDBhOWc1bWgyNlFEdmdsVmI1?=
 =?utf-8?B?TE40cHF6MHVzQk44ZHFZNDhvT3pqQ2pvbkJ5Mkp0Zk5DOWMza2VwK045ME1B?=
 =?utf-8?B?QzlCL25ONTZRY2hNOC9qS1d6MVErZmdmSk14b1lMRWRZS3Z1eS9rbEJmMkVL?=
 =?utf-8?B?dnRKb0swcWRUWW8vWUhTNnVzbGF2Z09pc0xmSzFGK3cydytReEtRN3lsWm9a?=
 =?utf-8?Q?QN3ndSIlnSODpw4BZ9MyOf8lm?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7cdecddd-da3a-4d87-ba28-08da7aef8a45
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 16:44:06.4287
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1xmVU7k0yotLCQ00v5mane4rnl9LQQ0lff6exKVlvZhiKtINhZXpPlLXbMG4c9oqvwy+lnhOax4xmlroQ0kXPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1512


On 10/08/2022 15:51, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> On 10/08/2022 15:00, Ayan Kumar Halder wrote:
>> On 10/08/2022 14:34, Julien Grall wrote:
>>> On 10/08/2022 11:58, Ayan Kumar Halder wrote:
>>>> Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,
>>> Checking the 'enable' is not going to add too much overhead. So I am 
>>> fine if this is added. That said, would you be able to provide more 
>>> details on how this was spotted?
>>
>> This was spotted while debugging an unrelated problem while porting 
>> Xen on R52. For a different reason, I was not able to get context 
>> switch to work correctly.
>>
>> When I was scrutinizing the timer_interrupt() with the documentation, 
>> I found that we are not checking ENABLE.
>>
>> Although the code works fine today (on aarch32 or aarch64), I thought 
>> it is better to add the check for the sake of compliance with the 
>> documentation.
>
> Thanks for the clarification. I am quite curious to know why you think 
> our code is not compliant.
>
> As I wrote before, when ENABLE is cleared, you should never have an 
> interrupt because the timer interrupt is level. So I believe our code 
> is compliant with the Arm Arm.
>
> The only reason I am OK with checking ENABLE is because the overhead 
> is limited. If this wasn't the case, then I think I would have wanted 
> clear justification in the commit message *why* this is not compliant.

Sorry, I think I misunderstood this part of the documentation

"When the value of the ENABLE bit is 1, ISTATUS indicates whether the 
timer condition is met."

I understood this as "ENABLE" need to be checked before "ISTATUS" is 
checked.

- Ayan

>
> FWIW, Linux seems to use the same approach as us (see [1]). So, if you 
> think this is not compliant, then maybe this is something you also 
> want to consider to fix there?
>
> Cheers,
>
> [1] 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/clocksource/arm_arch_timer.c#n644
>


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 16:53:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 16:53:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383737.618917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLoxP-0008J6-DQ; Wed, 10 Aug 2022 16:53:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383737.618917; Wed, 10 Aug 2022 16:53:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLoxP-0008Iz-Aq; Wed, 10 Aug 2022 16:53:23 +0000
Received: by outflank-mailman (input) for mailman id 383737;
 Wed, 10 Aug 2022 16:53:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLoxN-0008It-CP
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 16:53:21 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eee438c9-18cc-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 18:53:19 +0200 (CEST)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 12:53:16 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6107.namprd03.prod.outlook.com (2603:10b6:408:11c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 16:53:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 16:53:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eee438c9-18cc-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660150399;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=dq1QoU9wrBsf+JtYUWnGYv8Pj6/tIY8nw/QTFRhHCk0=;
  b=d/SzCQ8F+zXPAbCF5lbcXcgmxiIRVbmHKSHDL1iEfZ5JW94Q9ovgVsu1
   Z1verSzjyZQjRPS8wSgwke+SLzBM3OxigoPrUDIrWjiWbJy1J0F8qcrpX
   eevDAhZY/bf+tZbN7HAA+1hYVhR0CaXHQOsw7kZ8rsz0hd3XQULBRfv7K
   4=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 78239251
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ek+tNaJHvExxkVUBFE+RyJQlxSXFcZb7ZxGr2PjKsXjdYENS1GNUm
 jZLXziCb/bZYDfyL4t/Yd7g90hUsZbVmIVlHFFlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Es11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE7a9LXRAYJYgiwrx4JExM5
 /8xJHMTcUXW7w626OrTpuhEoO0GdZCuFqVP/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe
 84ebjkpZxPFC/FNEg5PVNRiw6H11j+mLW0wRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPPk2HUqC/17gPJtSDJCKQRM4S1zdFVsV+hllMJGSM9VkTu9JFVjWb7AbqzM
 Xc8+CAjsKwz/0yDVcTmUluzp3vslg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQCy
 Vuhj97vQzt1v9WopWm1876VqXa4P3gTJGpbPCscF1Jbs5/kvZ05iQ/JQpB7Cqmpg9bpGDb2h
 TeXsCw5gLZVhskOv0mmwW36b/uXjsChZmYICs//BwpJMisRiFaZWrGV
IronPort-HdrOrdr: A9a23:JMc5wKOE7xwfjcBcT+n255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90DHpewKQyXcH2/hqAV7EZnirhILIFvAp0WKG+VHd8kLFh4lgPM
 tbEpSWTeeAdWSS7vyKrzVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH
 Pz3Kp6jgvlXU5SQtWwB3EDUeSGj9rXlKj+aRpDKw875BKIhTaI7qe/NxSDxB8RXx5G3L9nqA
 H+4k3Ez5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJptkJJi7qggOIYp0kf7GZpjg6rMym9V5vut
 jRpBULOdh19hrqDy+IiCqo/zOl/Ccl6nfkx1Pdq2Dku9bFSDUzDNcErZ5FczPCgnBQ/+1U4e
 Zu5Sa0ppBXBRTPkGDW/N7TTSxnkUKyvD4LjfMTtXpCSoETAYUh77D3vXklVavoLhiKr7zPI9
 MeSv00I8wmKG9yWkqp+lWHBubcBkjbUC32GXTq8fblrgS+1EoJs3fwgvZv3kvovahNNaWtrY
 7/Q9tVvaALQckMYa1nAuAdBcOxF2zWWBrJdHmfOFL9Ccg8SjvwQrPMkcIIDduRCeo15Yp3nI
 6EXEJTtGY0dU6rAcqS3IdT+hSIRGmmRzzixsxX+pA849THNfHWGDzGTEprn9qrov0ZDMGeU/
 GvOIhOC/umKWf1A45G0wD3RpEXI3gDV88evMo9Rju104r2A5yvsvaefOfYJbLrHzphUmTjAm
 EbVDy2P8lE5lDDYA6NvPEQYQKZRqXSx+MBLEGBxZlj9GEkDPw+jiEFzVKk+8qMNTpO9qQrYU
 oWGsKUrp+G
X-IronPort-AV: E=Sophos;i="5.93,227,1654574400"; 
   d="scan'208";a="78239251"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VcFrXMilLgceM2B0cWTeCjpYGajE3XBBhT2z9c+veedXRM84ZXqEF3qWpA4cs9Ftcz7F7ZLxI6Y7ltgUaldsRyYS4j0ypMpIIMXF82Rk6A936fnmJpjE0U3bYbxlHZm66PJk4n2UP6X8sXdAgXv64LbX+LhR6Ry92+wAIyCZJ+20FRITrAB6AGgUY81uHrYXjIaet7g9W2a2aY1XeOZWzz+tWZF3fnAyKS3d3OfB/VMf3nHRaRhqx73yRdIBchkhOHu3NbVYE5AXxm8uLU60IF6C5Xly+mZA4EMgIk8r3BOWAmLRqVivmqFhiVrSEzh36GrqmFKebdhAOyp5GdacQA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dq1QoU9wrBsf+JtYUWnGYv8Pj6/tIY8nw/QTFRhHCk0=;
 b=fYKo8egxWjahwNNnuqNhOoDA7s8xQaK41p43yDXMeMTvYEA+9qg+GRVUOjqW9AGW5RyU7Kcu3fQhq07Z4t7FCeq6lx+Qh2e2uoNlRKtZQDUkyfAUi86d88qOTr2fCf3r23/NYoue3ukYmBiKu3iNzC14OYGq1QdzoD+Zz94HTRn2P5Wjr9LJlGvz05pZZmdV6iRVWTBHuZf6xqjqMiofSl50UFSF/djLG2ktzv4UTfFqw0EP7LcDOZHOSUAA/MshQi1PqI2B/uz39xysxet1BKb7ZRiXrAPfuZjV/h6VYkZfIq5cj9lQpRZBG2iuUR7/6pXbaL8wOxI1O8UGl9RARA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dq1QoU9wrBsf+JtYUWnGYv8Pj6/tIY8nw/QTFRhHCk0=;
 b=Cj/ddLxuMe72ctswAPNIKQO/JA5xH7zENpc1Q3SmTYyLeMQBG1aAlVJUpe6/AovuUxJ1ov8mC2az+Iew98rPkcMQsEF2WQ57sDM2zCEdAx+Dez9DYncSPF7KqaUieVrjNCtHqMC+jQD+T9vOdlp/ejGoVz05cMF3X2Nc2DSauxc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 01/11] x86/CPUID: AVX512-FP16 definitions
Thread-Topic: [PATCH 01/11] x86/CPUID: AVX512-FP16 definitions
Thread-Index: AQHYgKKW7KRWCIuWMEySYi2Dfp4rP62oshaA
Date: Wed, 10 Aug 2022 16:53:14 +0000
Message-ID: <2882ecf5-f1e7-fb83-5ba8-d7e714e0191f@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <5dc84e7b-e3d6-92cf-8ffb-c4bc0a3e6c74@suse.com>
In-Reply-To: <5dc84e7b-e3d6-92cf-8ffb-c4bc0a3e6c74@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 28fd11cc-a567-4455-f10f-08da7af0d0f3
x-ms-traffictypediagnostic: BN9PR03MB6107:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 cd2uvwLyFTGexQITp4h0ajUzQVLH9bYOA60Zfu/GnRsm+oJPmIXB6OuIPRq8holUcWw2F24iuhkEoYHNYtVpadzU18lMPdhE8IVTUuJTabk0OYkrBFOzLCdA8glrx3DuHdJZQIVc2rILeFP7tZ9rtyqgaDIfhKelYIgAG9q59LL9JyPmjJej4R7Eue1q+xYllNwbKDPblJBu6DYeABYWGPDf6nGrg+VVRnVxz6Q9N6aDQu6XFEkjCfD5OQLZyqdFc9Pv7VtMSNQmvz48ao3/FuMmGdNGTpUmAUo8phJmlAhOPkXSUY4IuUsV37vTmKdXauredAAvJgp+8WPda+7MWEdBjlDq3C+/ixfWTlYG4gabCZCF+gJZ1zDQ9OpWUaK8IuGIEogCnxEVuMFXOip2l5RoywPqQUGa3IN18U2SOXqRdKb6ndGBaToMaDuX6GoBzLAv6QA9UiWfHLBfSKwz5pnchDio82D2Ng+7qOIuI4kn3X0c7cWewrVNKE5gi1xH4YD1GpFZc9KS0JaflNUlzvBaGgmam+wCxd3gPxE7ACUjNxu3AkZOeNxicTjq2F8XAURGh4IWIC+OByYAQ//1qw4xlMtnEX+3VQnQKInFk7rFcKlh0iRA0LonDX7tNb+TKCxTVpV7a+lc8f6iaF83f0UMEgDJ1SBqBilA/FkztIt0SlFar4JV7lwsKsrfGknnFDnmgv+QpjkH6P3cOvVrPcYlUfCZwwgefZYqiQSNwjQ1i1R+3DMug6KZYG2JpqX569jLbqeFcvVVXbsoXCpmyC3zL68dWiykz3d73rqON4soNf+09EDhkRNnceyxF3yrMLgYeLrYIuBCoEJwChLWPAh1/M/76C9ACMddBA9M9nM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(376002)(366004)(136003)(396003)(110136005)(54906003)(316002)(71200400001)(31696002)(91956017)(36756003)(8936002)(478600001)(6486002)(86362001)(38070700005)(5660300002)(82960400001)(2906002)(122000001)(2616005)(6506007)(38100700002)(41300700001)(53546011)(558084003)(66946007)(66476007)(76116006)(64756008)(66446008)(4326008)(8676002)(31686004)(66556008)(107886003)(186003)(6512007)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YXBweHZpbmF3NXVPUGV6MjZsMjF0ZUlVTGY2aW1DaXFGVzcwTnU5L0VRa2Vl?=
 =?utf-8?B?N0Zkdmh6Y0k3Mm5RaGNYQjJZWmdHUDVWcmJ1NjQxSVlyeGM1NTJ6SUI5MVJy?=
 =?utf-8?B?UmRsODZzN3lKWERMVDNGY21tMEtHWlkvM0RwZ2VCTTNsVTgyOHMwQ3JQRmcr?=
 =?utf-8?B?dTVYNUFMVkE5WGhLZ0lzSHpaNDlJRHlHNmQxejBrc2hjWis3N1d1SHhXdC8v?=
 =?utf-8?B?cmV5K3pqS0lHY0ZWV1VPemZ4djBPYXNuWThsWnNMb21KLzZRRmd2Tk90Z3VR?=
 =?utf-8?B?djB6MWR5YlBKOTNHUE1HaGRONG1vcW9xUERzcmdhMlFNRDc2SExpRGpUV0pa?=
 =?utf-8?B?M1F1aXJsRGFPWlIzUCtUZjdqYlR0allTdjN2RkRrNGVVWGp0aU4yVUl1dFBE?=
 =?utf-8?B?NEN1dTNIRVZmdnhpbDBDQ3lVOW00cHFlQU16My9adkJURUFOcWpJYUJPV1BP?=
 =?utf-8?B?dGZZY2VHMGdLOENmeklTR1NlMjBibXlKQXVtTWJpOTVRRjVPcnhaRko3MVJS?=
 =?utf-8?B?WGxXZGxuYjJzMEJHOHZxMkZySlJIcU5Ib2JhV09tdGs4NHlEdHNid05NQVZq?=
 =?utf-8?B?Y2lleWE5aForZm04SElMOHhjNGYzdEhOK2JaeFhwZ29KNmRIekg1aytxMjI1?=
 =?utf-8?B?elFQUERmSkJyZDFzWWhCdWlYenR1N3dyczdZNXFlYTlENHNHZlRwK2pVdGZz?=
 =?utf-8?B?bDhrTVEzbjl4ZjhDb3BycHhZVW14QUQvaXFXT2dha3dCdklLWVBhN2xYUTZS?=
 =?utf-8?B?TjFzdm1kVkttSGlXZ0szN3M2TEw0RnZEclNzQ28zcVZNdzJqZDIvK3V0d2N5?=
 =?utf-8?B?QVZIT0RIb0MzMW9XNmxLdmh4dnJxejE0QUZRQ0UyZHd2bTFRQkNOWkxFdWFo?=
 =?utf-8?B?T2dtRjJTZU5DYW1tbEVsMkR5Nk5GTXc0UWN0bmNSS1hXVW1BalVRNXhwbzNQ?=
 =?utf-8?B?NXdmYk15UjV3Vi95cFhHcDNRZGdWRDhBTDhBR1pOTUJYNWlvTkdNT1hJVmFn?=
 =?utf-8?B?SWR0WkxiRHVLUzVoKzdBbk1BUGdHMVJ0NHZ4eStHbzVhd0tFdzdZM2NBTGFP?=
 =?utf-8?B?dFhIeWJBbzI4bDRvdUEvaTFPU1BQYytJcnNCWHNGT2N4QmdKVzdkZmVnZ0Ur?=
 =?utf-8?B?R0FxZjV1RGFsMmtMZkppcklhb0tmbW1ZM0xDWWpseitiTXhmSUdrOUJnK2FG?=
 =?utf-8?B?S2ZQQzhmb0NrV0hsKy8xNDdzOXhVWllUNzcvb0tXNzkwQ0k1S2UyQmxQdUhH?=
 =?utf-8?B?dmFocGNqb0d3eEFTUktNeVc2YWtSc2NlZktpUjl5Yi9XcmJzZS9pZ1M4VGJT?=
 =?utf-8?B?SU1NLzBKZmpMbEZ2bzRsN2hsSWNRbjA0c3pleXFIU1hNSVNmV2gvTmVrQk5m?=
 =?utf-8?B?TEZJQmdKeDBmNVNnK21nZS82OC83T2lJSWVEekZEL2o1UkJoNklpSStSU3RC?=
 =?utf-8?B?eWNFQUlCaytydjgxWEZLajFiWlhUSi9lUUNOSlVmQVZaY2ZkQ3B1a2VzQzlG?=
 =?utf-8?B?dm1CUlE2c1lVdE1zWTI3YXZEcUNpSXBtSng4aGdqcVhjVmI2d2JXckgzaHpF?=
 =?utf-8?B?WTk3RnIyak1ONVdyNXdXbUUveU44ck1YMStZZXYyd3oyNDdmcHBoVGx0N3Ns?=
 =?utf-8?B?d2FBb0ZsSDg0eXQyMFdFQ0p4aWNReG1DeWszVUR2NDNmbm9VTFZXRERhYW9R?=
 =?utf-8?B?Z3kvMXdQeG9yb0VJVzRFUVJHNEx6cG5oN0JtT0VTbWJDdDhjdCtVTWg5aWRr?=
 =?utf-8?B?Nkh1NzBRLzk3Z0k1SnQ0bFlyR1hJaHNzNDd6TWQ5Z2twYUdkbVJaaWtJcGM0?=
 =?utf-8?B?NFF2Q0p5NC9Mc0wzOVhuVEZMVEJWTUpGcWJHR2tGTUxaZHBqNnhENE8yK0tj?=
 =?utf-8?B?SnpHYTNIQlk4N1IzSnV0S3JneVAycnpPYytEY0R5VTJUWDlDWjdyY2JxWjMr?=
 =?utf-8?B?L083S2VoMXJkbnBsM1JrUWFxWEUzMkZ1aXNpbzhpUm9udVNEY1VoQytTMWIv?=
 =?utf-8?B?Y1Z6eVV2RGtBUms1TzFUTmRvVHJrWXd4R2cvbFB5dDJ2ZzVEanNXQ2h1ZDN5?=
 =?utf-8?B?amt1MTIvQmVjdEpCYTFtV09meDlIRXRvSm5mOTZZZWQzMk5oTzJzaHBsczdD?=
 =?utf-8?Q?6TvpR74FGAxxMc+msZyQjK5RN?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2325E7EDC284F54283E8617981091F7D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	pao//vhEPRYyV6nXKRDMExFlX/FmeYQc3jYo5or9JFFBkhTnk6i9JiJV0a0JZDRWJAwAWR8P/gMCZhdKEl6EKmyQ5zj2kHjVaw7HG7qoSlncOPaO8AXB9UyXpBykJ2mStc7OcMeYZEzHrVKo3VMFAs3a57Dp/63ccmL1FVuQmSGtVSno4jM5TezzjUo0EXd37fJGmzmiin+zGaSJFMRUUkd5lADFYJT1iAZfqQfzqb0dSUt1bDQb0C15+4366ir+SxFC3mfKIhOuTxHTf7RxzMZIA3sXfLAiFym3Jovmh81o5jrYATm68Znk2MMwRRuQ1SW9+jAx2IYW54kq75CSRFMYLEIyHLTKi7sCDzlRSMmhbFIs4iSkJtkw7sxPWKs5w04NkB7kICOhVvH5J8C3K+zS5WuL8A5Wlidr542uQDyKtB2doL86NMxtSnNG8kb9748dMEDUiOFq7+V2U+lhPtw5pKlMfA2a2bNOQ7BH4ytXiq9oYsjQ8Cs9KwqE+dROzg5axoJNbVXNg3CsGiCjWBAY/a29uu6cvOf+vjQpw3ymKRWg1lcJRbMMu3XrQx6hgOefL8S1+XncVC1jGC7PZZDZXjWAWrRkzPH2P+DFflLgUgLi0uUiYg0vTua0R572pgHIQIVv+oa9q1pS/N/zXfQZGh0M+GnyNDPsZAGHM3awTTvJIgbN1vQudpOyC1Vv4heptDMzjQ1xAQXWvPSr8KiRGgdgcJZXj1XWnbKT6VHo6nuJRy9W2c4bBLduxzJGRPlwc44yH8VBcBGg95CnfnsPrZ/mQBuJdbn9c06v3CyHZMQwwAK8RcEgW0YB4Teh
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28fd11cc-a567-4455-f10f-08da7af0d0f3
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 16:53:14.2577
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jpTtWLNFZurKIPjA+WVLX5pGa72j/MTaZOJ1cAxzBniEMnaByTw6zw2F2QoStjcZc78XraKKeJRe6+VG+YOTwbJaM839RlTN3in0sAVNaHo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6107

T24gMTUvMDYvMjAyMiAxMToyNywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEFuZHJldyBD
b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 17:03:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 17:03:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383747.618927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLp7T-0001Rr-HU; Wed, 10 Aug 2022 17:03:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383747.618927; Wed, 10 Aug 2022 17:03:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLp7T-0001Rk-EH; Wed, 10 Aug 2022 17:03:47 +0000
Received: by outflank-mailman (input) for mailman id 383747;
 Wed, 10 Aug 2022 17:03:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLp7R-0001Re-8A
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 17:03:45 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 629a30b3-18ce-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 19:03:43 +0200 (CEST)
Received: from mail-bn7nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 13:03:40 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5312.namprd03.prod.outlook.com (2603:10b6:208:1e9::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 10 Aug
 2022 17:03:38 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 17:03:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 629a30b3-18ce-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660151023;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=QgumIHl6F8csl+ZdYQl1PuQRY54TLt22Dug+yQjzVOw=;
  b=OtuPeNoz57yKB0nbPq8k/9hiDBowxV3NyG+1PWIqD4wL1aBbnfHN+MBh
   md8NWNjEj/fQNcjMWt00v0lBQvNFfOG8jPSD+ZZMAmw8y5DlnlrdUJMAJ
   B25Z46r1o6XPGwLzWqov/p7/Qr6Um7OSxszLD1GUBj04EZbNlBwFvbisd
   8=;
X-IronPort-RemoteIP: 104.47.70.105
X-IronPort-MID: 77803282
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:K7mmfaLlMytledfxFE+RyJQlxSXFcZb7ZxGr2PjKsXjdYENS0DRWn
 WYaUWrVP6neZmamKNFxbI3no0tTscWHzNEyQQFlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Es11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE4Md1Ulw9GsoiwLhGWFBV5
 PJDKiFTR0XW7w626OrTpuhEoO0GdZGuFqVA/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe
 84ebjkpZxPFC/FNEg5PVNRiw6H33j+mK2AwRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPAmWLeqCL27gPJtX39V5I/LKWzzdtzsWGtm1BNVxRMeFTu9JFVjWb7AbqzM
 Xc8+CAjsKwz/0yDVcTmUluzp3vslg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQCy
 Vuhj97vQzt1v9WopWm1876VqXa4P3cTJGpbPSscF1Jdvp/kvZ05iQ/JQpB7Cqmpg9bpGDb2h
 TeXsCw5gLZVhskOv0mmwW36b/uXjsChZmYICs//BApJMisRiFaZWrGV
IronPort-HdrOrdr: A9a23:y6wRUangxkHZcJ1pugpYqLOWRSnpDfMEiWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WGIVY3SETUOy1HYVr2KirGSjwEIeheOvNK1sJ
 0NT0EQMqyWMbEXt6fHCUyDYq4dKbq8ge+VbIXlvhFQpGhRAskOgTuRSDzra3GeLzM2Z6bRYa
 Dsgvav0ADQHEj/AP7aOlA1G8z44/HbnpPvZhALQzYh9Qm1lDutrJLqDhSC2R8acjVXhZMv63
 LMnQDV7riq96jT8G6c60bjq7Bt3PfxwNpKA8KBzuATNzXXkw6tIKhxRrGYuzgxgee3rHInis
 PFrRsMN9l6r1nRYma2ix3w3BSI6kdh11bSjXujxVfzq83wQzw3T+Bbg5hCTxff4008+Plhza
 NixQuixtlqJCKFuB64y8nDVhlsmEbxi2Eli/Qvg3tWVpZbQKNNrLYY4FheHP47bWDHAcEcYa
 xT5fPnlbFrmGChHjbkV65UsYWRt0EIb1O7q445y5SoOnZt7StEJgAjtbEidz87he4Aot9/lq
 T52+1T5c9zpoV9V9MDOM4RBcSwEWDDWhTKLSabJknmDrgOPzbXp4fw+6hd3pDiRHUk9upEpH
 36aiIviUciP0b1TcGe1pxC9R7ABG27QDT208lbo5x0oKf1SrbnOTCKDAlGqbrqn9wPRsnAH/
 qjMpNfBPHuaWPoBIZSxgX7H51fM2MXXsEZsssyH1iOvsXIIIv3sfGzSoeaGJP9VTI/Hm/vCH
 oKWzb+YM1G80CwQ3f9xAPcXnv8E3aPia6Y0JKqitT75LJ9RrGk6DJl+GhRzvv7WgFqo+gxYF
 Z0Jq/hn+eyuXS2lFy4nVlUBg==
X-IronPort-AV: E=Sophos;i="5.93,227,1654574400"; 
   d="scan'208";a="77803282"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jl3BJZ1p/wPu3tMTvXJjl0flx43sq2VnBUdKJVLsukaHHW/Y0R6vf/X9xJ4UIaUyqkrSG7K8496oYIUpAFYwOIGLqZTK3GxK4vvIvWpS1v4yyotDAgNaEd24zbBqgtMv6QQbRKV53eBeYj9BRtBpuemhPHHvjCYnSgWc6JC7l9CbDR/470GEyt3SoBaOHV5pNBJHepYfDxlcj1KnFHrMhq/bsG+I8J6BGPUvO9XEnfewtNbN7/gDlFA2vCVeJNSK73JEbpIv20livNI4ajXdNBIytjlhQHMiKiG6xvB8kTZSyjxJu4i+W4f2iI3ndgM4z1sfXDuloQhCwJZ8lUxYLg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QgumIHl6F8csl+ZdYQl1PuQRY54TLt22Dug+yQjzVOw=;
 b=IUxeV4BuKmpSVfz6kT6ZX3mOYs7gPnvnqAxI1FtAjO4YBNoF5F5/KqNr5z91qxCu5zIR92l2W5w21Bf1fwiGsuOeKJlRDgBw31YfBG34Aa7+vbX+nn9zDcvSE9Dlvm9GUyUjJu3BbC47zHQA9z1I9YnKfrwF4s8S2uvrZxrqRWx9/hGPpznlejs05CyipqVD5WnipDETCWzq338ALveSfeHfcdhBIAWN9X25DdUWCKYMfEfHVnBINxqzuz56AZCoREu2YeRbK3b/0b6WRdYHNNdIlfauiLZ1AKNbFnd0tpgadFB/tC/OKn+edHeRdRMqVtypskCrfS2kL3fTv+xSPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QgumIHl6F8csl+ZdYQl1PuQRY54TLt22Dug+yQjzVOw=;
 b=vdboSdMFsPQwM28moJk+BJxY0PC/pLW1ssouRaTrOLWOOuj30nL3mixRsUh2iNCFdwIuvRjYZDWthuB6XmVQA7htzRhv2/A3NSzD7m4wFfnpuetwVjaQOaXgOgGiY9aF4YkwmzYV7aVKv8zRMN6JmYih1uANUdlpscfIoRHbd4s=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 02/11] x86emul: handle AVX512-FP16 insns encoded in 0f3a
 opcode map
Thread-Topic: [PATCH 02/11] x86emul: handle AVX512-FP16 insns encoded in 0f3a
 opcode map
Thread-Index: AQHYgKKgfUHb/QlOR0ydMqlnSzGqYK2otP6A
Date: Wed, 10 Aug 2022 17:03:38 +0000
Message-ID: <b5040452-8b25-0363-25dd-b0fb67291a4b@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <b922b255-f8c6-725d-2290-2749c614fde0@suse.com>
In-Reply-To: <b922b255-f8c6-725d-2290-2749c614fde0@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4d51883b-c0e3-43fa-b884-08da7af244c8
x-ms-traffictypediagnostic: MN2PR03MB5312:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 gAPuZNDrmTyMBpX+XF8WI8HxJ4gNM0ilvuZb74rJF7TSdh7qIELC4m27uiJfPCQITsat0D5W6rIlHemWQlEOCWSAGCtoCqiveVTTf5ABIyfR59a1su0DnkRZr13vsn+XFvU8F1lTXvAVVi8Mmv7rEPpVFXKLADlyW8OtRUky9sY/nlHjUWdZ5lsGkabzd6wWfm5w38s2bNa5ZqITk2S5TxiUUmXDxNxxzYtg0Ixqq71mYzyYerK0bddZmOst3EWYWMuU+ZSYcv9kokYo4qtFJtwuWEdHE2SJOmkido7wy4CV3BP3MbPXaLSoDv7ttReaOLsTLlIgHWuIi00FsGp6r2beGYTEfYJIUMCKMNpwluvQeRWU5XvUW7szvM7RuLchXPB9r8fY9kzOyZ3niukSTTCjXoEILcYxj/H4J7eZIb8j4UHmGJCogi7gXSfdHw5sJeww4fX8sTHZe+ysl1XZaaDbWhsQceSl58hnIlfqgsX3yvjCZIe+ajGMoF0ryhYv4N+PNXomZpfuiHCzl8VcT6JcEhLTFi+SNVmPFYkBSl2Ym//xtyiKwWTpUXnTJdHKTEnUL2huvFE52s8OgeZj6+r9lOE2pBQYpGKROqNsitgsEKWHTmlSzBLjhEDOJ/R82pgJgMGEK/0WNZtsPJk0e2fVOtUgtvJ6oKAsYT7MpG/kQ3Nz2Ry6oicCj649vcuSZ4iCN1iV7kzkIdRQJVQ9ywKVDdtM6pDPBi//YEk0BEDM/hbHA4+eG8nod5W58ma4ZF3EAn396CMbRON7e4VrwDiQIApKAAEeRKLORxbTbIwXgc5TEHsSEyld26GCqzdh9L+4Pogkelzvn9rmcg41nxTJ0n0SCRQY2vACs1xuGaJMfmuDa8KIb4fC390Ixo53
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(366004)(376002)(346002)(396003)(83380400001)(478600001)(6486002)(8936002)(6512007)(2906002)(26005)(186003)(53546011)(6506007)(38100700002)(41300700001)(31696002)(5660300002)(107886003)(2616005)(316002)(86362001)(31686004)(122000001)(36756003)(66476007)(66946007)(54906003)(38070700005)(110136005)(66556008)(64756008)(66446008)(76116006)(91956017)(82960400001)(4326008)(71200400001)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SlNuc1ZBcXhCbnpKYTYwZXFMT1pMTVFkdHZaUndMbFN3KzQzZEZCMERXL1ls?=
 =?utf-8?B?WGdFVzNicnpTT1FTWG1GZ0lyNUxlMnZzVy9zUW1UTkh4RlJHeXRWTzROL0pH?=
 =?utf-8?B?Q2NocVhOQUpmMDI3ZWgzZVBtVllxMld6SU54QzN3ZWxOWUU3aVhSbTJ2STJz?=
 =?utf-8?B?bWNQcGZBOWhrYnBEaDZicCtlZm1uUFVNNS9XY29vYTN5T2pWVjhJNWtmUlVG?=
 =?utf-8?B?SURrQ2RyWGd1V0swVkRrYm5rSnZQODhiZ3ZjTUI5NEhoalJsZjllcjRwZWlN?=
 =?utf-8?B?RVRKUmZnWS9laGM3MllWc0NaUXdDbXh6S3MvMWphMFdCTUxZbU9IN1lkOCt5?=
 =?utf-8?B?V3AyZjZQOHlNZDR5Vk90eFNNYmxhbFhuSExWc1krdkdUK0pCS2pwQi8xcmp4?=
 =?utf-8?B?TWRwRGxJQUMxSHBheW1WeXIvZEtxRm5KZnNLZmgwclprMXdoWW1oajJ5QWsw?=
 =?utf-8?B?SzF5U3B1d3FHU2drWW4xZk1kTmordzhKaWsxN1U5alAvYUtJNUhGNzNSMkNw?=
 =?utf-8?B?UmtKaHFlZm9FUEhSRXA2TVhvTG11aE1KODVrcTljOS9kQXgzSkU3Wnh6Nmo2?=
 =?utf-8?B?UlNEdFNjbjRvRU9uNVNzOUl4NjZsK1VqN0Evb1lLajVRZTI0dVZJOEhJSlZz?=
 =?utf-8?B?SVc0SEI5dGJ3dkFYUnp4ZE9rYUg3bDJtR1F0NloxbUdyNFFvaWJ5amJ3bm10?=
 =?utf-8?B?b05YcmN2ZGpuc3F5T2tITEVBcmo4Q1FDNVUreXYzd0JrVnVZMUxmcGFHNjZs?=
 =?utf-8?B?bWUvRFlQM0MxVmZYMysxZXdpVFhHczJaSmxydWMxcVRmQ0ZmTjBLcG02UzB2?=
 =?utf-8?B?NlRyT294S2NqSEtQMFlTVjNSV2tVL0tmN0JGL2orS1lrYWZTTnVTODlreFNy?=
 =?utf-8?B?S0F3YjM0NExPUlVRcXp2OGxpR3p6OU9lcm1tYmVHN3FDVTdIVzNOcDNQWnhI?=
 =?utf-8?B?a0l2blZYM0srbExyVDcvNkd5OXRBTzZPdEs4dllQc3dUam11dE1WdHJ0RlVM?=
 =?utf-8?B?N3dhZW95WFc4clB3Wkt4cWMyVVJpb1hLblJwT1phQitUOU1TODJER1ZxQmpZ?=
 =?utf-8?B?dUtNc0NBUm5GYUI4UkRYODhwM00xSFpQTWNzMmJLMVhzY3J6RTErMmdlZmVS?=
 =?utf-8?B?OGo0Qk9tTmVvQ1Z5QXdLb1FDOCtlMVdNVzRVZ0ZuRHprRXp6Z0pMenRrK2x0?=
 =?utf-8?B?WFBMTitySlRCdUt1U242Ry9aWVBHVDZpWXM3WE9PNWJ4WW1sbXZJMnNRV3Bu?=
 =?utf-8?B?UmVaN3Z1TXBoWkVEUHk1TTZkV1hBaUVVNXdFVHQ2bWNNMzF6VnA5TFNVS2Zl?=
 =?utf-8?B?NW93eUtqMXpsMUY3NTdQUGNTU0VhTjZMNTdYSTNtZVV4cVFrNWVtOHRZTVdP?=
 =?utf-8?B?NXVuZzlpQmh2YVlEdFQvMXF2SmNzYlllcFRMRWJOcE1Dck5vM0t1VkNDaWVh?=
 =?utf-8?B?cWo0bnc3WGk5VzNHcm1nMDNYT0ZTUFArYWxkL2UyK2U5Q01waHpEdm9XekM2?=
 =?utf-8?B?bHhKdDc0YUFWaTJTenF1LzZkd1FJZTFNTDBXL1Axb2pUeExxR0Y1UGpXWFJE?=
 =?utf-8?B?WGZMdlVQSi9WN0hhRSs3Z3FuSldGNUZaRE9zSHA0M1lsOXE4OHVnaEMrcnNU?=
 =?utf-8?B?RjMyYVlZa0V4aDJsOHFpNTh2aWMzOXMzdC9wdjBZc3Vnc2pWZE5Bc2Q1VFRD?=
 =?utf-8?B?eWJ0bFEzdFljNU0yeHF4ZWtwVW5IOTFEci9EWmIrdU8xcWZTenREQmlJRjdX?=
 =?utf-8?B?cTcwSWRwNjlsa0tyK00yRUwvSFhlVThrZitjYklGbWpYOGRMRnNPQ0JhaGZq?=
 =?utf-8?B?RXdJRXpXYnRIOFBNeXFVY1VaQ0dXUnpJM0VPSURqSENxaFlkNW5oQXdzZGly?=
 =?utf-8?B?WVlUT0hyUU1XVnFRNVJzNUUrSTE1UUhyTjZtbVg5MzB5MU52eEFUMm02eERv?=
 =?utf-8?B?SnRUekIvUGZLNnlVNHZCbituV1NVbXE2MjhuN0FNamtaSkRqSVZGYUE1Z2cr?=
 =?utf-8?B?V2dkWFU0NDdnMmo0UW9nUVBlSytabXhvUU9HYW5Tbi9odm5Gdll6dTVpcVZG?=
 =?utf-8?B?UXdsVHpnbXhFWFh0NkVFZEFBZXlWSFhzRlREQXZxR2x3N0FqVEJaQXdyNmwv?=
 =?utf-8?Q?hM8aSgkzFgdssY3XGAmsl+0U7?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <32226EFD2751714BA2C39CF292131540@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	InRu8UJ1pSlJlx4PyQyoqmzWBou6+VuIi9+Kl2ZrRR715I6LaT8qpllmjPfW0Nn6zEqRc1b+m3bOuS2oTOFy1qt7qFDcZTzNhG9U4yvHr8v609tBCUiv5HkqM9a6JOUbwb7DFAUN5a2NjYvtmSwBC8lVDq7r9HAkfVFRdoiZaIsUf8c9RqB4K9lu/gCa9/6ju5H5/Q5wd+E9lzccekIjJY6ibnjFRGY8ErmrFBc86Oa2Ca/7u4dMkx0CSgYX2WzngxJtKicKfRDr3HLwNV+ElcJUy6/CmWmm636qvAbPuZutN+ReH8g0wJWTYxfBW+ov7k6UTg9XRNPhAM/iRMee0VI3FF7phirYRV33TWiagSjLIZpuALvBjrFewKqlDu7Tx5nV+6F5XK7JSk2AD0FbCEc2FT9w2lAH/m0jnJGrgzwL3sm9A8+R4OoRkZED2h2Z8gdING3JRHbSXVjAJnyqgfQwfFv2j9Vn0DffJMZqzkDnsu+mcm4TCGUu+pi5iEzR8reJsDDqC3tYMF028QQ3VYy6YF9358nMyis+1w/eNs6A8yUt9UfOU0R09bMA1/44ZGzCeEOfGiCA+wTQH9dODj615DAvrjxH3C1lJ5hjoo3VUgR7MyLCqd9xA5SZiL76uxg1LV8YQnqVcoepGDzpV3RZ2Q1ymTlFgUESQw4i0z1usVul/xjYXcH6gtU3QiNY/xt8o/H9iUNOl0JRowoTwAKdKzJ7/MpLD6qg0TPIuwsiT2rwbicXvt7zT2Z6dw8/sZNqmYg4SvDb3sV8ZKTiFESJi+slQwxl6VmfNGWZIQOehsSQi053+O7gPyBkmhw0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d51883b-c0e3-43fa-b884-08da7af244c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 17:03:38.0400
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: aDw1GEAUWxkxdK4FTDwPqX84tVhaGrEr7ioNTWyauoqQPjeYq7AxGMktqCDOr5wEj2y4QnvOdjcExDCm6bRyPMoGmVLcLlRu4r/vEErrsSw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5312

T24gMTUvMDYvMjAyMiAxMToyNywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEluIG9yZGVyIHRvIHJl
LXVzZSAoYWxzbyBpbiBzdWJzZXF1ZW50IHBhdGNoZXMpIGV4aXN0aW5nIGNvZGUgYW5kIHRhYmxl
cw0KPiBhcyBtdWNoIGFzIHBvc3NpYmxlLCBzaW1wbHkgaW50cm9kdWNlIGEgbmV3IGJvb2xlYW4g
ZmllbGQgaW4gZW11bGF0b3INCj4gc3RhdGUgaW5kaWNhdGluZyB3aGV0aGVyIGFuIGluc24gaXMg
b25lIHdpdGggYSBoYWxmLXByZWNpc2lvbiBzb3VyY2UuDQo+IEV2ZXJ5dGhpbmcgZWxzZSB0aGVu
IGZvbGxvd3MgIm5hdHVyYWxseSIuDQoNClRoaXMgaXMgc2xpZ2h0bHkgbWlzbGVhZGluZy7CoCBX
aGF0IHlvdSBtZWFuIGlzIGl0IGhhcyBhbiBGUDE2IHNvdXJjZSwgSQ0KdGhpbms/DQoNClRoZXJl
IGFyZSBub24tRlAxNiBpbnN0cnVjdGlvbnMgd2hpY2ggaGF2ZSBoYWxmLXByZWNpc2lvbiBpbnB1
dHMsIGxpa2UNCnRoZSBGMTZDIGdyb3VwLg0KDQo+IC0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVs
YXRvci94ODYtZW11bGF0ZS5oDQo+ICsrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci94ODYt
ZW11bGF0ZS5oDQo+IEBAIC0xODIsNiArMTgyLDcgQEAgdm9pZCB3cnBrcnUodW5zaWduZWQgaW50
IHZhbCk7DQo+ICAjZGVmaW5lIGNwdV9oYXNfYXZ4NTEyXzRmbWFwcyAoY3AuZmVhdC5hdng1MTJf
NGZtYXBzICYmIHhjcjBfbWFzaygweGU2KSkNCj4gICNkZWZpbmUgY3B1X2hhc19hdng1MTJfdnAy
aW50ZXJzZWN0IChjcC5mZWF0LmF2eDUxMl92cDJpbnRlcnNlY3QgJiYgeGNyMF9tYXNrKDB4ZTYp
KQ0KPiAgI2RlZmluZSBjcHVfaGFzX3NlcmlhbGl6ZSAgY3AuZmVhdC5zZXJpYWxpemUNCj4gKyNk
ZWZpbmUgY3B1X2hhc19hdng1MTJfZnAxNiAoY3AuZmVhdC5hdng1MTJfZnAxNiAmJiB4Y3IwX21h
c2soMHhlNikpDQo+ICAjZGVmaW5lIGNwdV9oYXNfYXZ4X3ZubmkgICAoY3AuZmVhdC5hdnhfdm5u
aSAmJiB4Y3IwX21hc2soNikpDQo+ICAjZGVmaW5lIGNwdV9oYXNfYXZ4NTEyX2JmMTYgKGNwLmZl
YXQuYXZ4NTEyX2JmMTYgJiYgeGNyMF9tYXNrKDB4ZTYpKQ0KPiAgDQo+IC0tLSBhL3hlbi9hcmNo
L3g4Ni94ODZfZW11bGF0ZS9kZWNvZGUuYw0KPiArKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxh
dGUvZGVjb2RlLmMNCj4gQEAgLTUxOCw2ICs1MTgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV4
dDBmM2FfdGFibGUgew0KPiAgICAgIFsweDdhIC4uLiAweDdiXSA9IHsgLnNpbWRfc2l6ZSA9IHNp
bWRfc2NhbGFyX29wYywgLmZvdXJfb3AgPSAxIH0sDQo+ICAgICAgWzB4N2MgLi4uIDB4N2RdID0g
eyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAsIC5mb3VyX29wID0gMSB9LA0KPiAgICAgIFsw
eDdlIC4uLiAweDdmXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX29wYywgLmZvdXJfb3Ag
PSAxIH0sDQo+ICsgICAgWzB4YzJdID0geyAuc2ltZF9zaXplID0gc2ltZF9hbnlfZnAsIC5kOHMg
PSBkOHNfdmwgfSwNCg0KVGhpcyBpcyBhIG5ldyBpbnN0cnVjdGlvbiwgaXNuJ3QgaXQ/DQoNCn5B
bmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 17:30:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 17:30:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383756.618939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLpXG-0004fT-Ka; Wed, 10 Aug 2022 17:30:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383756.618939; Wed, 10 Aug 2022 17:30:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLpXG-0004fM-HQ; Wed, 10 Aug 2022 17:30:26 +0000
Received: by outflank-mailman (input) for mailman id 383756;
 Wed, 10 Aug 2022 17:30:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLpXF-0004fC-RS; Wed, 10 Aug 2022 17:30:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLpXF-000663-Lf; Wed, 10 Aug 2022 17:30:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLpXF-0000GM-8j; Wed, 10 Aug 2022 17:30:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLpXF-0003Ib-7v; Wed, 10 Aug 2022 17:30:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RIQm3qsD0bVf2li75p12lX8Dqonp8vQ8L7mgoqsO0kE=; b=Z1Wak6waMdfmlBWpSp6AONdVHw
	5EZDSqbPRe3uWzsch4/rCo9/qwWxnLC+mPnvsOroNHEtAfylHMTIACBOyQ3yJ3nq9s8FroXuncJJl
	BpwzkFKNwFr53hJFlvRv1inH7DQtCMrQNMF2BfCBzPJb2Wn+N28PZx6kjxb+UToJcIdo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172354-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172354: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-unstable:build-amd64-xtf:<job status>:broken:regression
    xen-unstable:build-amd64-xtf:host-install(4):broken:regression
    xen-unstable:test-amd64-i386-xl-shadow:xen-install:fail:regression
    xen-unstable:test-amd64-i386-xl:guest-localmigrate/x10:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
X-Osstest-Versions-That:
    xen=e83cd54611fec5b7a539fa1281a14319143490e6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 17:30:25 +0000

flight 172354 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172354/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-xtf                 <job status>                 broken
 build-amd64-xtf               4 host-install(4)        broken REGR. vs. 172342
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 172342
 test-amd64-i386-xl           20 guest-localmigrate/x10   fail REGR. vs. 172342
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172342

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 build-i386-libvirt            6 libvirt-build                fail  like 172342
 build-amd64-libvirt           6 libvirt-build                fail  like 172342
 build-arm64-libvirt           6 libvirt-build                fail  like 172342
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172342
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172342
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172342
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172342
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172342
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172342
 build-armhf-libvirt           6 libvirt-build                fail  like 172342
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172342
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172342
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172342
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
baseline version:
 xen                  e83cd54611fec5b7a539fa1281a14319143490e6

Last test of basis   172342  2022-08-10 00:07:06 Z    0 days
Testing same since   172354  2022-08-10 09:02:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              broken  
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-amd64-xtf broken
broken-step build-amd64-xtf host-install(4)

Not pushing.

------------------------------------------------------------
commit ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
Author: Xenia Ragiadakou <burzalodowa@gmail.com>
Date:   Mon Aug 8 12:48:37 2022 +0300

    xen/arm: regs: Fix MISRA C 2012 Rule 20.7 violation
    
    In macro psr_mode(), the macro parameter 'm' is used as expression and
    therefore it is good to be enclosed in parentheses to prevent against
    unintended expansions.
    
    Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
    Reviewed-by: Rahul Singh <rahul.singh@arm.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 17:42:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 17:42:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383767.618950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLpiQ-0006DT-PC; Wed, 10 Aug 2022 17:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383767.618950; Wed, 10 Aug 2022 17:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLpiQ-0006DM-MO; Wed, 10 Aug 2022 17:41:58 +0000
Received: by outflank-mailman (input) for mailman id 383767;
 Wed, 10 Aug 2022 17:41:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLpiP-0006DG-Tk
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 17:41:58 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b963d164-18d3-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 19:41:56 +0200 (CEST)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 13:41:49 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6949.namprd03.prod.outlook.com (2603:10b6:a03:43f::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Wed, 10 Aug
 2022 17:41:44 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 17:41:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b963d164-18d3-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660153316;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=tVQp/cl4Oj1QGx72NSGy52vyBEUR+YFbhytQDT4u7/Q=;
  b=e8pBFe0/HbHCp46gNimFLe/LclUCcBGgGoIfrp7T4S3ZkFug15sz0uUO
   8G5SBJEPU2PEyLgrWoa2TxLQCt8QrUI9iE/FMNre69/HELRDwAiIPd47I
   J3VUoJoPTk33ghcjbnBGWa4rizUTu/gl79fodlxRVuC52UGysbbQFaR4B
   c=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 77049299
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:AHA9g6CJdBqYIBVW/zDiw5YqxClBgxIJ4kV8jS/XYbTApD9xgTQDm
 zEXCjyOO/qKa2P1Lt1/aITjphsEsZbWzN5nQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEsvrb83uDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW3rp0/JIJmAQB8ojpvtpB3xR7
 vcbAglYO3hvh8ruqF66Ys9Fo516aePNbMYYsHwmyizFB/E7R5yFW7/N+dJTwDY3gIZJAOraY
 M0aLzFoaXwsYTUWYgtRVM14wbfu3yevG9FbgAv9Sa4fym7f1gFulpPqN8LYYIeiTsRJhEeI4
 GnB+gwVBzlFa4TDmGDUoxpAgMfJtyT+CJwqKYa5ycA3ph7Ny1wTDxcZAA7TTf6RzxTWt8hkA
 04e9zcqrKMy3Fe2VdS7VBq9yFaUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebSMu/
 k+EmZXuHzMHjVGOYXeU97PRpzXiPyEQdDYGfXVdE1tD5MT/qoYuiB6JVsxkDKO+ktzyH3f33
 iyOqy89wb4UiKbnypmGwLwOuBr0zrChc+L/zl+/sr6Nhu+hWLOYWg==
IronPort-HdrOrdr: A9a23:fS6BbKt5I9jcFbpQTXMPxFT47skC1YMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6H6BEGBKUmslqKceeEqTPqftXrdyRGVxeZZnMffKlzbamfDH4tmuZ
 uIHJIOb+EYYWIasS++2njBLz9C+qjJzEnLv5a5854Fd2gDBM9dBkVCe3+m+yZNNWt77O8CZf
 6hD7181l+dkBosDviTNz0gZazuttfLnJXpbVotHBg88jSDijuu9frTDwWY9g12aUIP/Z4StU
 z+1yDp7KSqtP+2jjXG0XXI0phQkNz9jvNeGc23jNQPIDmEsHfpWG0hYczAgNkGmpDr1L8Yqq
 iJn/7mBbU115rlRBD2nfIq4Xin7N9h0Q669bbSuwqfnSWwfkNHNyMGv/MWTvKR0TtfgDk3up
 g7oF6xpt5ZCwjNkz/64MWNXxZ2llCsqX5niuILiWdDOLFuIYO5gLZvi3+9Kq1wah7S+cQiCq
 1jHcvc7PFZfReTaG3YpHBmxJipUm4oFhmLT0AesojNugIm10xR3g8d3ogSj30A/JUyR91N4P
 nFKL1hkPVLQtUNZaxwCe8dSY+8C3DLQxjLLGWOSG6XXJ0vKjbIsdr68b817OaldNgBy4Yzgo
 3IVBdCuWs7ayvVeLmzNV1wg2XwqUmGLETQI5tllulEU5XHNcnWGDzGTkwymM29pPhaCtHHWp
 +ISeBrP8M=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77049299"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YHPD2SVlKT9Ns1LmEfY9ZM1CPg5aLvJgo5L7iAyDGm14+EoexA1/Ks52mEcBQ6Ea1fAhE4w1mOI2mTdOy3m5SSRlgtoZyMiXaXgGRIA+75VnxCkacewQzu46GIfx3UtEN3AzQ2JfckwKRMZ28dnXIrVMo0q/xN06M6/g+oPb4i6OBpEqtuys+tsKunJFAioAo9YG/PCeJvX7uXb4bC5ACpUUPUVPBKZvKigpynGdQAsrbhFzOwK3C8FHQ0OoSMuJ8hJ4VqeKDBcX4hjGjtLoYiGG8dgvcZVn0efnSI75cuByj9k56BPhGl9nRUahXRlXpe7YlxCSLc76YO2L8ZxSIA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tVQp/cl4Oj1QGx72NSGy52vyBEUR+YFbhytQDT4u7/Q=;
 b=PGHtm3xeHys5FgoB6M80iqWEP/XQzGXa8dO+M+8/IREU/Y6bv0vn9BE6j+m4+X30phgIv4j2fbUMDwPCPfeu9ypLW0VGmosOfLVRLDWtjexIWG3KrSuneptS+ZYYqWg/BrwzFvbXwwge8j8f0jFJmjl26NUa57ub8d2on8LPGHKni/gLb5czuhj5h9pKvVKPC2kMGMMZuZ7slv6VOY3Jom9wPy8UQp6oYKK/SW2Zq9934UA38z6sJ3rAbNBQm1ixIYLhl4nHII2ckQBkTbBCPfK2MiONw0mFtObfo1E1QWpSdvY0yf3AFis9n4kVrKgCPAhXwd9fjH3i37HYtfSbag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tVQp/cl4Oj1QGx72NSGy52vyBEUR+YFbhytQDT4u7/Q=;
 b=MLi22eexxharAGisn20tZTKOunbLnYLFem62Zrk1S/ODyP9ANmrW/MEepL7q1aLdv3Dtx0OK4gEtSMzMwmdX9KlO38W2L1mNf4/1PT1VzR38eJcqwLf+bjCqzsw1MRH6/Ia4NvZoP/0TfwAtJ4SsnpkHJKD6dgGgiSveshaRsZw=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 03/11] x86emul: handle AVX512-FP16 Map5 arithmetic insns
Thread-Topic: [PATCH 03/11] x86emul: handle AVX512-FP16 Map5 arithmetic insns
Thread-Index: AQHYgKKuUAaNhV3kckqqLTowVcQ2H62ov6QA
Date: Wed, 10 Aug 2022 17:41:44 +0000
Message-ID: <bf655eed-288e-dfa2-34a8-e2d560304272@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <6721f404-e2f9-b686-009c-4c465a5a1e3f@suse.com>
In-Reply-To: <6721f404-e2f9-b686-009c-4c465a5a1e3f@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fafdedf8-2834-4c61-2e1b-08da7af797b2
x-ms-traffictypediagnostic: SJ0PR03MB6949:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 K2F/fzT/QQcQ+/t+7UMxxoFdcTEm9N4QgPq4GhiV/z6NN4zXjN/I9rIfteNzprEA+jJpPwFtPnIkJFTVpnc4oVxWYAEIY4WyLeJ0SragMxX8ksLzzV2KRKhvRpUjzhacZYYRDMoH0Lfu1U8a84NFaRQBfXQIZm1b8/8DTpt0bdVZFzckMudCnxDeQ781hXJBekLvwI6BBfkG7YEBVuCEHKwj/XqEM9PSHgSw5IZf6Sid0iZV2BQU0x7rQDra5XdcFnGgCk4vz7dTTdmxOCfEIWrYuNipye+B1cRurXMhKsnbesz7UWZiLh9pTzSExyaIzfXnoPo/0Z28FLP0PmBBjmvAqnrC0VXauI/gm/nO2bGbSOJYZ8F4eLYZwSsqvZjCc9GVkKdNwGd9/yg+X/WwG0T9Str8gb5mnp39x3Sa0vFgbXIRh6ociZJlOUvTRdgcuycDJCHIv+43T9UPUktysTEC/OuK0TuzqFr6Frkblx3YPMgvq3vDkuli0CrS/nR8g3l7VIGRN/q21OGAo9Z/pK57NXwj+YmMrSTl+Fci93lvMflIx3jIKuia1USjaHXbPdOWT1Z2ac8lutD9/aZdY47emSGyDI9dEB3qR6RPndL8d7lTcQPTt4guFycg+2EQ/+GA4gwTYxUf/gxz3Hk6ixJTKPGlMp1UUUBQcFLFzrqU3tpPd49x9PPl4lWKItZQOG6/YxTpO0bmgc4Ur2v1Dt9Dkte3p9F/QdK5GHizFRAandWsXPtNf5XbZLbWwr4XYZTHFFVRtn2WJH10hZIUTmJy8lll2KfN7TxYqqkvvLfFNTK3grIEle78DaGi40VMPHmTr36MladXiWgA9TPY3ffZaEaVNoUvEt1tiL1XY1vCjxp2W57dQdgjDBWW4/qN
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(366004)(136003)(39860400002)(396003)(31686004)(82960400001)(2616005)(26005)(107886003)(91956017)(186003)(110136005)(36756003)(86362001)(76116006)(8676002)(316002)(6512007)(38070700005)(4326008)(2906002)(41300700001)(53546011)(6506007)(66946007)(478600001)(64756008)(31696002)(66556008)(6486002)(66476007)(122000001)(38100700002)(71200400001)(66446008)(54906003)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dVJQOXlVT2ZJYXozRUhxYk5uSUJodC9nb2F1bTJXdndKVWxtR2ljbVhoREJS?=
 =?utf-8?B?eVhwamRLR2ZWNkxiOG9idzBZd1N0TnpSanFRUVJqQ0lYc1JTcFpNaGN5RkxV?=
 =?utf-8?B?Z0M0b1BGaEZyT1cxNUwzOUgwNzMvTER4eTg2MWpxVWRSVXExbVd0aDkrUDB4?=
 =?utf-8?B?QTQ5b09MZ25sNjdpU2VVWnJKRjJGZmtLZXJ3bUlmMUxLSkc2VWl0bDRoNXFH?=
 =?utf-8?B?VlhaTXZNNzlkSExOVDdSM1ArRjV1OVlZMUNXeExWaE5hbHd2dW45SmwvTlAx?=
 =?utf-8?B?Vzk0OVhiNHR6RjQ1KzFHTEdOaUh5Z0hDcCtucnFXWnBIY29NdUM2R2llVjd4?=
 =?utf-8?B?aE90OTRJSXo5OU9xdXJXRjJ5akFkMm1DUmhDeXppRGJKTW5jcm02SVdYRExI?=
 =?utf-8?B?N1RWbTkzUzJuRXhXdXNGOWRLMmMzNWJ3a2ZvVTBSRzRrZ21QS0dzODBBVHQ4?=
 =?utf-8?B?eUs1d0NqOFNCaG1GUU8zaExGMVBENmZWZlBScFpRK0tBdU5uRFVYU0hIbE1N?=
 =?utf-8?B?N0d3bXV1UjVBaXBCekJJMytnWjhmdmJxRzE5UFJub0V0dHAxU21nSFZ4M1RL?=
 =?utf-8?B?THArNlNPbVlOeVI2WkNZMEg4a01oVXh0d0Yzc3ZhTFVNYjNmSUIwTDJTaXlm?=
 =?utf-8?B?VWZuTitZZk9sTTd2c1E4aloyUExCcmtBcWtqUWgvRzJSc3pHNHdOelZNemlK?=
 =?utf-8?B?cG1WQ1NURnI5WElEN3ZvQXlZNlBwUDZ5eENtdEhnZDFHMGw4eGFMcVMvcXg2?=
 =?utf-8?B?MEw0V2FQYlQyKzUvR2RNcXhpQ1JURHFSMm5oWTEyVVVQRCs1b3E4SHdrK3gy?=
 =?utf-8?B?TjFkM2JZVTBnN2ozVkhKYnlveklFL2JlUCtFNDFxbmlTbytaZDdwM3g1MXJS?=
 =?utf-8?B?OFRzZUhxaUxTRjNlQXVFK2tzOGRqVnI3TDZGTTdTTlkxNEJNR1diSlk0YnlO?=
 =?utf-8?B?dGF3MFZWcjB0MmthS0NlRzZpbzFUQ1Rjbkw3bm0vQWlYRUJ3clVCWXArcXF4?=
 =?utf-8?B?am1qdEpWeCtOQmlYNk9ROWMyNjIwU2hWbk9peURqbzJCS2NOcjdSbUVuZERH?=
 =?utf-8?B?c2JmZ2JYdFQvUmIwamhDSzVlS3k1Y2d3ajVxbU5jYklLd3Q2Yk5CYURPSkZk?=
 =?utf-8?B?dlBTYUp2a3NGQnVyNFQrRnJndXk0UXNxNFRWQU9majlBQzBUbmNLeE0rVUpZ?=
 =?utf-8?B?VDdISllqMHFXemJJRnlpUklFeTlEYnBTOVd0Y1BlQlFnQkozNXY0eHlUVVBU?=
 =?utf-8?B?aXNyU1BNNWdpSEVEekQ0Sk5ibGlhWmRWUnpQQ0MzSnRWbXRicDVwRUw3SHo5?=
 =?utf-8?B?TkViOUxINE1ySUxRWXoyZkFpOHhDUk1yNXZ3eVVDenFtRVJlSkpnM0tTd3NE?=
 =?utf-8?B?RWRWSmY2Z2F0NTJBTUZXUUhkZ1c0d2YvbFVqMWhnUElnclFXR2RBa0Q4SHpz?=
 =?utf-8?B?ZzZNUUJZRm45WE5ZdVRHOWtLc1VaODNxNWU3bUVaNlNXTGlVQ1lxYmtKemZI?=
 =?utf-8?B?MHhDbFJlWFJhTDRpN21QazdRd1JWSmdVQ0ZtM2tuL053RHZnZXpBSHN3cWdQ?=
 =?utf-8?B?WSsxWUdCRGkvTjdTbDdXbk00VlBYRWpkSGFLRlI5eUdEV01FWVZqRmxZWUhE?=
 =?utf-8?B?QTQrYXVxdUFPeFZZeHJjL1RPQ0lSLy85d2llTUpzbVNpdUZ4U3NjZWcyOG1B?=
 =?utf-8?B?dEFCaWM0QVk0QmNNclNLL1M5WWxOS2RxSlcvMnhya290R0pIS3ZocEIvTk5B?=
 =?utf-8?B?eTZRNmwwYUZ3a3h0RHVWTzYyOElJSDllNUdxenIwQnpxcm5CZnlXb28zYWhn?=
 =?utf-8?B?bmZiQWdrVUVsOWJtZUwvZVJZQW4vT1BLUnlubGtHS09JZlJ4a1A2dytOWXM2?=
 =?utf-8?B?SVFpZ2QzUEFOaW4zUWh6Q3RLWEMydDBpUmJ2TWtLRVc4UGVYQWtDVFFnQmpp?=
 =?utf-8?B?ZXNFb0ZhbHFaVnpUOGpWQWIvVTVLN2dITXpZU2ZNSkVGZ29aRjFubkxrTmhQ?=
 =?utf-8?B?YVRXTGRudUpzdDB2Z2NYcHc1KzlBZjFzSWlCRnRYVTI1NC9pODBFeUQ5dEtS?=
 =?utf-8?B?dTZ0MUEwMk51RURWd1BUd3BOdDhvdnNncENCLzFlZWNiVEVuUk9wVHRNSlEx?=
 =?utf-8?Q?yG2LI9CHlaSdAG7a6oFa8Y31r?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3A41FC1D3CFCC749B2DCDD098B761704@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fafdedf8-2834-4c61-2e1b-08da7af797b2
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 17:41:44.6581
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: mOHtuoTPDQyqy5q59B1EVDLhGuSSnU8lNjU3dBh3Vg4xm9ejAFYBfHsrax/Q1TOISu31D3+9UP6ryD34L2IuYP6Y6JXKiWCMfF1cHzzNvss=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6949

T24gMTUvMDYvMjAyMiAxMToyOCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFRoaXMgZW5jb2Rpbmcg
c3BhY2UgaXMgYSB2ZXJ5IHNwYXJzZSBjbG9uZSBvZiB0aGUgInR3b2J5dGUiIG9uZS4gUmUtdXNl
DQo+IHRoYXQgdGFibGUsIGFzIHRoZSBlbnRyaWVzIGNvcnJlc3BvbmRpbmcgdG8gaW52YWxpZCBv
cGNvZGVzIGluIE1hcDUgYXJlDQo+IHNpbXBseSBiZW5pZ24gd2l0aCBzaW1kX3NpemUgZm9yY2Vk
IHRvIG90aGVyIHRoYW4gc2ltZF9ub25lIChwcmV2ZW50aW5nDQo+IHVuZHVlIG1lbW9yeSByZWFk
cyBpbiBTcmNNZW0gaGFuZGxpbmcgZWFybHkgaW4geDg2X2VtdWxhdGUoKSkuDQoNClRoaXMuLi4N
Cg0KPiAtLS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUvZGVjb2RlLmMNCj4gKysrIGIveGVu
L2FyY2gveDg2L3g4Nl9lbXVsYXRlL2RlY29kZS5jDQo+IEBAIC0xMjE5LDkgKzEyMTksMTggQEAg
aW50IHg4NmVtdWxfZGVjb2RlKHN0cnVjdCB4ODZfZW11bGF0ZV9zdA0KPiAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3Bjb2RlIHw9IE1BU0tfSU5TUigweDBmM2EsIFg4NkVNVUxfT1BDX0VYVF9N
QVNLKTsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgIGQgPSB0d29ieXRlX3RhYmxlWzB4M2Fd
LmRlc2M7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAg
ICAgICAgICAgICAgICBjYXNlIGV2ZXhfbWFwNToNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICggIWV2ZXhfZW5jb2RlZCgpICkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHsNCj4g
ICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoNCj4gLSAgICAgICAgICAgICAgICAgICAgICAg
IHJjID0gWDg2RU1VTF9VTlJFQ09HTklaRUQ7DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICBn
b3RvIGRvbmU7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmMgPSBYODZFTVVMX1VO
UkVDT0dOSVpFRDsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7DQo+
ICsgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBv
cGNvZGUgfD0gTUFTS19JTlNSKDUsIFg4NkVNVUxfT1BDX0VYVF9NQVNLKTsNCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgIGQgPSB0d29ieXRlX3RhYmxlW2JdLmRlc2M7DQo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICBzLT5zaW1kX3NpemUgPSB0d29ieXRlX3RhYmxlW2JdLnNpemUgPzogc2lt
ZF9vdGhlcjsNCg0KLi4uIG5lZWRzIGEgY29tbWVudCBoZXJlLCBhbmQgLi4uDQoNCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiAgICAgICAgICAgICAgICAgICAgICB9DQo+ICAg
ICAgICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzLT5leHQgPCBl
eHRfOGYwOCArIEFSUkFZX1NJWkUoeG9wX3RhYmxlKSApDQo+IEBAIC0xNDQzLDYgKzE0NTIsMjQg
QEAgaW50IHg4NmVtdWxfZGVjb2RlKHN0cnVjdCB4ODZfZW11bGF0ZV9zdA0KPiAgICAgICAgICAg
ICAgfQ0KPiAgICAgICAgICAgICAgYnJlYWs7DQo+ICANCj4gKyAgICAgICAgY2FzZSBleHRfbWFw
NToNCj4gKyAgICAgICAgICAgIHN3aXRjaCAoIGIgKQ0KPiArICAgICAgICAgICAgew0KPiArICAg
ICAgICAgICAgZGVmYXVsdDoNCj4gKyAgICAgICAgICAgICAgICBpZiAoICEocy0+ZXZleC5wZngg
JiBWRVhfUFJFRklYX0RPVUJMRV9NQVNLKSApDQo+ICsgICAgICAgICAgICAgICAgICAgIHMtPmZw
MTYgPSB0cnVlOw0KPiArICAgICAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICAgICAg
ICBjYXNlIDB4MmU6IGNhc2UgMHgyZjogLyogdnssdX1jb21pc2ggKi8NCj4gKyAgICAgICAgICAg
ICAgICBpZiAoICFzLT5ldmV4LnBmeCApDQo+ICsgICAgICAgICAgICAgICAgICAgIHMtPmZwMTYg
PSB0cnVlOw0KPiArICAgICAgICAgICAgICAgIHMtPnNpbWRfc2l6ZSA9IHNpbWRfbm9uZTsNCj4g
KyAgICAgICAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgICAgIH0NCj4gKw0KPiArICAgICAg
ICAgICAgZGlzcDhzY2FsZSA9IGRlY29kZV9kaXNwOHNjYWxlKHR3b2J5dGVfdGFibGVbYl0uZDhz
LCBzKTsNCg0KLi4uIGhlcmUuDQoNCkJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBjb2RlIHJlYWRzIGFz
IGlmIGl0J3MgYnVnZ3ksIHdpdGggbWFwNSByZWZlcmVuY2luZw0KdGhlIHR3b2J5dGVfdGFibGUu
DQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 17:45:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 17:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383775.618961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLple-0006pM-7V; Wed, 10 Aug 2022 17:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383775.618961; Wed, 10 Aug 2022 17:45:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLple-0006pF-4t; Wed, 10 Aug 2022 17:45:18 +0000
Received: by outflank-mailman (input) for mailman id 383775;
 Wed, 10 Aug 2022 17:45:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oLplc-0006p9-VO
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 17:45:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLplc-0006Lz-Ij; Wed, 10 Aug 2022 17:45:16 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oLplc-0004iO-BR; Wed, 10 Aug 2022 17:45:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=W4/2Bri3/orgQBwai+UpiioD9mgtnJdE4wIsqczzSHo=; b=kqivDXgjU0t+Y99saGsuIxKwkU
	85j7gU+pngaCDsXbXgWmW7G89XYrEGZ3v8805aD7xasyt98NeoxQ3/S15ECU+/hVrji7HvnTRJJnO
	d+Fq5dYXeQ48o4FgTx52aREKeZaibQVbHofsYwBkJR70NsWtRB5yU5Y+7qvu1Uf/NDH8=;
Message-ID: <de686a60-b8fb-af85-a310-52236f4b2021@xen.org>
Date: Wed, 10 Aug 2022 18:45:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [XEN v1] xen: arm: Check if timer is enabled for timer irq
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@amd.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com
References: <20220810105822.18404-1-ayankuma@amd.com>
 <6cfcd4fa-3afd-1c70-6a70-9df557ee1811@xen.org>
 <f10e92ea-ac57-18a9-8843-781d3242f67d@amd.com>
 <28d85fd0-0e61-7e45-34c5-91ba746561ce@xen.org>
 <5548c76c-cf75-05fa-2f20-256e210afd32@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5548c76c-cf75-05fa-2f20-256e210afd32@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 10/08/2022 17:44, Ayan Kumar Halder wrote:
> 
> On 10/08/2022 15:51, Julien Grall wrote:
>> Hi Ayan,
> Hi Julien,
>>
>> On 10/08/2022 15:00, Ayan Kumar Halder wrote:
>>> On 10/08/2022 14:34, Julien Grall wrote:
>>>> On 10/08/2022 11:58, Ayan Kumar Halder wrote:
>>>>> Refer "Arm Architecture Registers DDI 0595", AArch32 system registers,
>>>> Checking the 'enable' is not going to add too much overhead. So I am 
>>>> fine if this is added. That said, would you be able to provide more 
>>>> details on how this was spotted?
>>>
>>> This was spotted while debugging an unrelated problem while porting 
>>> Xen on R52. For a different reason, I was not able to get context 
>>> switch to work correctly.
>>>
>>> When I was scrutinizing the timer_interrupt() with the documentation, 
>>> I found that we are not checking ENABLE.
>>>
>>> Although the code works fine today (on aarch32 or aarch64), I thought 
>>> it is better to add the check for the sake of compliance with the 
>>> documentation.
>>
>> Thanks for the clarification. I am quite curious to know why you think 
>> our code is not compliant.
>>
>> As I wrote before, when ENABLE is cleared, you should never have an 
>> interrupt because the timer interrupt is level. So I believe our code 
>> is compliant with the Arm Arm.
>>
>> The only reason I am OK with checking ENABLE is because the overhead 
>> is limited. If this wasn't the case, then I think I would have wanted 
>> clear justification in the commit message *why* this is not compliant.
> 
> Sorry, I think I misunderstood this part of the documentation
> 
> "When the value of the ENABLE bit is 1, ISTATUS indicates whether the 
> timer condition is met."
> 
> I understood this as "ENABLE" need to be checked before "ISTATUS" is 
> checked.

Sorry I should have been clearer. I wasn't suggesting your understanding 
of the spec were wrong. In fact, it is correct and in theory we should 
check it.

I was pointing out that in practice I believe this is not necessary and 
our code is still compliant.

I also agree, this is not obvious from the code why we are compliant 
there are usually two ways to approach it:
   1) Add the extra check/barriers. The pros is the code is strictly 
compliant the cons is this could add overhead.
   2) Document it. The cons is we may be wrong and therefore end up in a 
unknown territory. In this case, this is mitigated by the fact the bit 
is "unknown" (and therefore I believe can never have a different 
meaning) and this will only trigger a "walk the list". That list would 
be empty if the timer is disabled.

You went with 1) and I am fine with that (I explained why before).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 18:05:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 18:05:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383786.618978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLq4e-0000rb-UH; Wed, 10 Aug 2022 18:04:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383786.618978; Wed, 10 Aug 2022 18:04:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLq4e-0000rU-Qg; Wed, 10 Aug 2022 18:04:56 +0000
Received: by outflank-mailman (input) for mailman id 383786;
 Wed, 10 Aug 2022 18:04:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLq4c-0000rO-FS
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 18:04:54 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec97fb31-18d6-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 20:04:52 +0200 (CEST)
Received: from mail-dm6nam04lp2045.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 14:04:47 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB5997.namprd03.prod.outlook.com (2603:10b6:5:388::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 10 Aug
 2022 18:04:46 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 18:04:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec97fb31-18d6-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660154691;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=xuPvxo01oVHQmAvqMocxKGHGXCnCvTgc2LurSfHXnuk=;
  b=WCEofq1O2l+ujFeCGs+rPcceIExGvDLEQN+Sj7bBEL+WaCgG2z1e2Ktx
   KDaTP/m7CDs4tHJpSZyXXGG7ECKyUH40AyETwiV9eoThmkMalSpu0F6Xa
   AcVzZRrobWSNjM2w64I6ZJLDF3+LpAVvxxsto9IWVGCYTdbemLzc/GeLb
   E=;
X-IronPort-RemoteIP: 104.47.73.45
X-IronPort-MID: 78246430
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:eIE8pKK5AdRiXsi6FE+Rz5QlxSXFcZb7ZxGr2PjKsXjdYENS0jJTz
 GZJDzzXOauNMDT8c49yb4SzoB5Uv5HdzNZnSAdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Es01BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE4aRJHGc6etIi+sEpXzp+6
 tsSIyEvYUXW7w626OrTpuhEoO0GdJWuEKZB/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe
 84ebjkpZxPFC/FNEg5PVNRiw6H33T+jLlW0q3rMzUYzy0HVwBZ8z/7GN93Nd8bRbc5UglyZt
 iTN+GGR7hQya4zFlWTZqSrEaunnvj2iQqY5LqyC6eNJoUGhy1MSJUUrSg7uyRW+ogvkMz5FE
 GQW8Cczqak59GSwU8LwGRa/pRasrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQ10
 neZktWvAiZg2IB5UlqY/7aQ6D+3Zy4cKDdeYTdeFVdYpd7+vIs0kxTDCM55F7K4hcH0Hje2x
 C2WqC85hPMYistjO7iHwG0rSgmE/vDhJjPZLC2ONo55xmuVvLKYWrE=
IronPort-HdrOrdr: A9a23:Qzk4R6AzceL4Z5flHeiEsseALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEEZKUmsuKKdkrNhR4tKOzOW9FdATbsSp7cKpgeNJ8SQzJ876U
 4NSclD4ZjLfCBHZKXBkUaF+rQbsb+6GcmT7I+woUuFDzsaEp2IhD0JaDpzZ3cGIDWucqBJca
 Z0iPAmmxOQPVAsKuirDHgMWObO4/XNiZLdeBYDQzI39QWUijusybjiVzyVxA0XXT9jyaortT
 GtqX252oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuQFNzn2jQ6sRYJ5H5mPpio8ru2D4Esj1P
 PMvxAjFcJu7G65RBD6nTLdny3blBo+4X7rzlGVxVH5p9bieT48A81dwapEbxrw8SMbzZJB+Z
 MO+1jcm4tcDBvGkii4zcPPTQtWmk29pmdnufIPjkZYTZAVZNZq3M4iFQJuYdI99RDBmcca+d
 pVfYfhDTFtAAqnhkXizy1SKRqXLywO91m9MxM/U4euokVrdThCvjclLYok7zc9HdsGOud5D6
 6vCNUWqJheCsARdq5zH+EHXI++DXHMWwvFNCaILU3gD7xvAQOFl3fb2sRD2AiRQu1/8LIi3J
 DaFF9Iv287fEzjTcWIwZ1Q6xjIBGGwRy7kxM1S74Vw/uSUfsuhDQSTDFQ118ewqfQWBcPWH/
 61JZJNGvfmaW/jA5xA0QHyU4RbbXMeTMoWsNAmXE/mmLOCFqT68ujANPrDLrvkFjgpHmv5H3
 sYRTD2YN5N60i6M0WI9CQ5m0mdD3AX0agAYJQypdJjubTlHrc8wTQ9mBC++tyBLyFEv+g/YF
 Z+SYmX4J+GmQ==
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="78246430"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LS4LyOaXL6fLvq7b2J5bku4xzbHuP5Wp8mONtcuQdeOi2NnMjy1aH2lD80Av/h1uayVa8LmYSHQ+TgoTgWmCe+7otWZXCjSLyZOhqR692ApgT52ulMlTpIZ87GhLAkyXqYwVe/pCS2YNJEpum/Kl2pAleKaeO3MbprTKFikQFUAAp1VEctyPbkPu5NW2lBA0EsvQX6c5NIA7ARthOEb5aK5DWvo0LlZbGdngo3A+uUQpp4gdmxfNPyuhlylJDoXXkgOuHlEmjPIdmAxi+jCXoY86HSm4K7etyspI15hcegmhr0wb1wDLbXETMNo8xdDj7htWhtAUFdj4c2fNR5BrqA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xuPvxo01oVHQmAvqMocxKGHGXCnCvTgc2LurSfHXnuk=;
 b=aI87TLMR5AjdwDgFsjsSUe7XOIfm2mxZ8AUj0Vi2MKZGVKPIhyfObrw7vTnIsOs8cj+jynLOY6H0Y0Qi6AZid/pnoUZsNWqg01ijLLVHk32GPbTInVpFQdaK05sMs2pgwp8mCcZTVreOUncsEoHgEiAno5h70NutABKdEzdIncVGh4xC0w4Jnbjsqpkd1TWB3aJuzX8anlqqmcgGoYfSdJuBFo7KAnHbENRaH+PcS2rnZs0iPDjze3geusMZOQnJeojkeM+UQ7BKHtU8RZ5Fu0SoE4ZIdbUm0TFkac0XnR/Z6HHL1dFsFWaStfbGlHaNHHiqD+0aHpE3MjdDQpPOvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xuPvxo01oVHQmAvqMocxKGHGXCnCvTgc2LurSfHXnuk=;
 b=urqGZa8QBgg46V5sZlNkZCO2aiQxFMTPFSWS4uDB1Pt9hMOPiIoVcqPTKOvZYRpvVrRN6/qCij3yKCQEhoa0jQ2F43ugSRfSot9DFNVqkXJ78MHFdsyxTQ/hjf+6ZLJbyupC0NvGqJBwmLpd+sXjRRvBaTXBfaszcTAF8BTKQLo=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 04/11] x86emul: handle AVX512-FP16 move insns
Thread-Topic: [PATCH 04/11] x86emul: handle AVX512-FP16 move insns
Thread-Index: AQHYgKKvyIyZD1WQk0Gxz6uWvI7+iq2oxhKA
Date: Wed, 10 Aug 2022 18:04:45 +0000
Message-ID: <46162a8c-d670-d207-d48a-3505e40a9aec@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <3e7f95f0-fded-74e3-d4b5-da185a7ab8d8@suse.com>
In-Reply-To: <3e7f95f0-fded-74e3-d4b5-da185a7ab8d8@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 327f5ff4-fbff-4679-8586-08da7afacef8
x-ms-traffictypediagnostic: DM4PR03MB5997:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 VPgH+mNF7DJMpEBZUh9HRU9qybeQWJ2QCsC4wO11SZAimFo4v8q2UqGAGNB8J3quy1llvCQKcxAHiKiJb7Y5Fky+lZDqVVidYpb884149BPjHcTBOpSvyg38Il9K4ohwkZrSva8xPFgQbt5EQV4nqmNajq3CtgnQLtpqMWMaQKfkilJKaOF+rz7q8xssfn+6sok2Ycva9lCcguFouuslpW/5IFPWJEQQMqI/yMQAmEEGakaYI1XUslZFB6OBRfREZNf1kcIJI1F7jusqZwPfYcUY0zdNMBG0Ozjt0j55ggn8+HC5Ajzb+wkg2QI2vF1L6eiwCT/0o/Hgn4CHDPm3C4QcEHGfwhmbmR9Z3Ugal0eQmXstcacQg4vKuh/Lc5RDxXXXAcdyJggCwuCVhJ9R5xBVPuADGXih3X4wKsNMgZd21wViSvOPygsqL8kgZpRw6wvnQgt+4vi+zMiY/zpdv0tHIOeT08dTRKRpzbjpQX/ohwtWPm3yen8iXg8whzodHCN21XKZyAcjsoKcYKtA2fPZT+NrtU6qBmIjygSuepIYuIC2ellHFT7lHyD6sE6nvplGsDkLG7hQjqz29stbualmKn/M6cCc5ESPPed5OMQDjo6ig66t6ndS4MtxmsiQKel18m5YGd7mfXufJ5F6SkmngwO4mS5Y+nE15QStl/rJBHAYsxqzxp7RN/oXPN0zkJKYj2hDghzZJF/qMs4P7s+nZbcsGcUszoC6pLjPb2zA/yMncwO38EzxeyVcwsq0CP+k/fFp7BRUpnKZDX+u3eppd6fpTMIVB4D0aKvSmvNpNYIWp7UXZwMZ9UgjirmYOz9AShhd/jRQraooUMfOtJrjpSg2JVK+qBvn7R0rfeHJbMsERk+vjjyrr2ZmXxpt
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(366004)(396003)(376002)(346002)(6486002)(71200400001)(478600001)(41300700001)(2906002)(31696002)(86362001)(31686004)(36756003)(91956017)(54906003)(110136005)(316002)(38070700005)(107886003)(186003)(26005)(38100700002)(2616005)(6506007)(53546011)(6512007)(4744005)(8936002)(66556008)(122000001)(64756008)(66446008)(66476007)(66946007)(5660300002)(4326008)(8676002)(76116006)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?N0g1Y0VMOFBoc0tnZE0vc0NZVWx2bjJxNlBoWWN0UnUrYlJnYmlSbVpKcFhm?=
 =?utf-8?B?VjJ5cEg3aVp3dHJkYnhoUG11Ui9kVHg4YnNJMUhBTldrVzJTUDV6MU4zbUww?=
 =?utf-8?B?NlNRSVRzOXlTSEU2NjFnSGh4Ykl1YjZCVzRWeHd1bVhuRTJZUDZqMVQ4Zlk3?=
 =?utf-8?B?Tm9pcUVIWEY2ODVDMWg4ajJLSzRpUEJZb0YvMU9GL1d3aldHVWYremt3bGla?=
 =?utf-8?B?THgxUkx6NTliTUY0WHBLY0poRk1WaUtCSmNZRERzOUd1bHUybi9sbXhjanFE?=
 =?utf-8?B?dGhZZEFGTk1jQ1ZaQ3pSejU2UW1zS01ySnRvUU0rbGt0eFI3Y2NPY0FQUFJY?=
 =?utf-8?B?Y0Z2aE9MQUlDZnYwVmtWMHh1enR0cGwrRlpXcTREajZKcHF0NTllTVlvaFQx?=
 =?utf-8?B?b0V3cXR3RGhjKzA4VkdPTzJXQ1plT24wclpMMTloTXd2Wk9GNjdqTkl5KzI5?=
 =?utf-8?B?V01CSnVtcVpyQmFTMUVkSVpET2phazVGVHpka21heVROUmxXZzg2dW5QZ05N?=
 =?utf-8?B?cm1QUllwYzFDckNMWE5Ha1hkK2o5NUllcjhjQk01VzJGV3kxdk53cjIxNWhO?=
 =?utf-8?B?S1puRFp0SUV2UHdRUWZLdE0wd2Rqd3dPZHNsbWx0ZFhIakVONk5SQkF5djk2?=
 =?utf-8?B?RS9jT29kTXdUZzd4bk9SY1NQUmJheXoyZHFxY0NMc0YvYWMvUFpNdVJ2bFhs?=
 =?utf-8?B?OHcxT3d0ZEE3M1NjV1AwVWM4NWZ0V2duQ2UxL3Mwc0dWekhWMmtjcnhBRHBV?=
 =?utf-8?B?cjF2TmEvdVFSckw0eDRJNlZuanByWXI5NWx1RHNUSGNiVjAxdU5YN2pGK293?=
 =?utf-8?B?cDF3UHVXNytlWHhxd1A3MzFTMnBucUFPaVlXOTdBclExTFpzSFFYdHk3dUw0?=
 =?utf-8?B?dzRiL1dxVmFPWVlxL3NJNUgrVmJ2TEtrcERyK1BVb2VLRG9FQUFlRWlEOUpy?=
 =?utf-8?B?ZEU1NVNXMG05R1QxeFZ0SmlGZVBISmo1MUEvMnV1VVNiVG1VTDJqNGdlUmhW?=
 =?utf-8?B?aTZNMHlKb2djQnpGam52b29hZHlPTFI4N2tYcVhNc2l4TVZpaXFwTTBjY0xp?=
 =?utf-8?B?TXZSNThRZks3dGVZcC9ReVJ6VnRrTldQblJKb0ZDNCtWc1V5Q3dMZVFscmFY?=
 =?utf-8?B?WjRxdk9hejk1MGNURlpZMFBrMnRlUnZjZG5mZmkrUVgrSUg2VzJsa2IwM2dt?=
 =?utf-8?B?SnJWVytoRnNETVlJYVczSitoZWJrWlFOQkc5a2NTMi9YcWdOVXlCczJRVGRN?=
 =?utf-8?B?N1RlM3J0SXpEaGpyWS91MmlLYm11OVV5UkRpL1FSL1EwTCtZZmlKa3pGb2NQ?=
 =?utf-8?B?U2N6b3YxWkNRSUJSMnhXaGw0OXU4dVUwY012ejZMVXA2SXpKWXNRUk9GSm0y?=
 =?utf-8?B?aFZVOVVva3NQT3Z6bURRNDVYK2dha3krSEtQZG5FbGo2aW5lVlRObStPOWsz?=
 =?utf-8?B?TEJhSmpPZXBiSm1GZGtHaWpjYU1nTFBtcU5JbjlZaU00L1E5bmxOaXFqMUx5?=
 =?utf-8?B?UkVCelpsNFZmOTJ1T1FacVhsZTYwYVhJUEI1eEx5aFk4Y1NNN2QwN3hza0NK?=
 =?utf-8?B?eXlsSHZYUCsxR2Y2cnRyazlNdDgvWUNDendrRXBzQks5VzcxSk1Iam1rYVhZ?=
 =?utf-8?B?TzVhZzNGL3lQMlZDVitQU21DU1pBOGJaNmlydXhoWnFieFFEbDdFbFlIZmJx?=
 =?utf-8?B?ZjBsT2VUS05MUlI5T3VPZG5VMTJEejh1Wk9XMmFVOGxmSi9pUXR3WDFxUjhB?=
 =?utf-8?B?YVZnTjNjT3Y5KzNYcDFQa01xaWF6REpmQUtsazZxelE2YjU1bHUwN2ZkNkhq?=
 =?utf-8?B?OU9YQ0xQeVJTUTFOM3ZiaDlURDVObTFwWmVwdERHU05wMUs0bXlHVjhaRUFZ?=
 =?utf-8?B?TU4zUTdGUXBiNE05UTBraXV1Z3planBDTXZBbEFGbnZJbWEvT3NwTlVLRzl2?=
 =?utf-8?B?K1MwRG1oRnlvMXNFUFdlRGsyalJTU2wzcHdVMnlJdURTeS9FUkNMZTlQVnNL?=
 =?utf-8?B?RUs3Z3hjdldHVTFCSjhPTVVPYkZrRjRpNnZMRkZXSzRqb0Y3S1Z0bERYeWpr?=
 =?utf-8?B?Q1l5eXlaQzNGcTU2N2p1Z3pQeVU1WFFaK2VnZ0g0TTZDRjJWNVNsekRTZW12?=
 =?utf-8?Q?DbU3K9ac9azX5fi+BS+Bjwf2X?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7FED65F684EAD040880968E0006C3EBD@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	OLMeBYlI1lPn2KIZKcygqF2Q1/9vHLK8IzlU+jueDYhHR4/A8o8SYOxZ01oUKgSAN17X3L0x5qlwLkTxpt99DE73prm76wtnLW3IyrsbdJDlrsva3Q1fbiX8D4c+3fp2++HlwYt+9jRfaAc4ApcIMH5xxfX081S+zYgE3OxmOv0g6NW6mCRVqnH4Z9I6Vj3nS2MRPIaLge5bvyVgX0ce8YLka/fDB7d78ESZhNiSy8ZfvJcZnRDkqKqOC7HJq0a2kLap6/TzEctBnAFbeKqtPYVtQXW/RW++pDtJ9YshsRueUFYk1q478wunX4vQx3SwVBTI2mleJxqci7gapFPER/OCKymR/F6BwWhxIgfqkqwBpKu9F/eI0HEUynhaQ82yFxIOtVYO8wg1tL9eAFXYZ4u0No3swlR7OI10d5gzSRhYJKy69fyHJx4JMbNnXUEv9JsMR6NP5Zdfre6YjEf4SuYTylh+A9wd/N3l+UGJhDdyO21eDORxZ1xP0lNEgwyedRQkVqhE81RZmKYS4EPfg/5Ldcaf4Dc7k4rQrV41LSPX2ta3Jln335ea0gmcdGiKFG+1wjwMwmpLKVDHoQQJDn9GzZWwlqfAgYapDZUHgHpijTdSC09KO2NPNHFjYhyeEQ3m+YITb9ABC4MPdOi5VlE236rIa9NrasbM08OLGmCeMUNpKUGJn0xRIG6mm7pRw4/TBd+23+513UHntk09hmu8Oe4oK+Ll37CvUtRp0dKK7VGxDYMCICN8gDmBk+cMgFT4eiEDIlV5gkz39/Iu5LaJROVdG+TlMwZav5vv9JTgzb/agCCzmYlXg/NrQ4dB
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 327f5ff4-fbff-4679-8586-08da7afacef8
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 18:04:45.8996
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: mAcb7D4SqfrGGM6P93h+a961m3mNz9zpWg99XLBQ9FMYT+Mc8DJz+a5yZK0cuv3krhipolqQ13+Qb1oQKXu1yvnaCiK+rtbxVgYUIyAAqmk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB5997

T24gMTUvMDYvMjAyMiAxMToyOCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IC0tLSBhL3hlbi9hcmNo
L3g4Ni94ODZfZW11bGF0ZS9kZWNvZGUuYw0KPiArKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxh
dGUvZGVjb2RlLmMNCj4gQEAgLTU4NSw3ICs1ODUsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGRl
Y29kZV9kaXNwOHNjYWxlKGVuDQo+ICAgICAgICAgIGJyZWFrOw0KPiAgDQo+ICAgICAgY2FzZSBk
OHNfZHE2NDoNCj4gLSAgICAgICAgcmV0dXJuIDIgKyAocy0+b3BfYnl0ZXMgPT0gOCk7DQo+ICsg
ICAgICAgIHJldHVybiAxICsgIXMtPmZwMTYgKyAocy0+b3BfYnl0ZXMgPT0gOCk7DQo+ICAgICAg
fQ0KDQpUaGlzIGh1bmsgbG9va3MgbGlrZSBpdCB3YW50cyB0byBiZSBpbiBhIHByZXZpb3VzIHBh
dGNoPw0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 18:08:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 18:08:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383796.618989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLq8X-0001YU-Gr; Wed, 10 Aug 2022 18:08:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383796.618989; Wed, 10 Aug 2022 18:08:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLq8X-0001YN-Dp; Wed, 10 Aug 2022 18:08:57 +0000
Received: by outflank-mailman (input) for mailman id 383796;
 Wed, 10 Aug 2022 18:08:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLq8W-0001YD-T8; Wed, 10 Aug 2022 18:08:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLq8W-0006oh-P1; Wed, 10 Aug 2022 18:08:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLq8W-0001Zb-DN; Wed, 10 Aug 2022 18:08:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLq8W-0008IU-Cs; Wed, 10 Aug 2022 18:08:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2oa4y4/jfmXFV4MT7wy73ZfAPh283KSDxo5ibXpvSCA=; b=zMImCmbmHp/V8goOQoJMnXtGHN
	sNzD7vEXOF0vlkRBfCeFjUpMISd0gq7+EcyyEyasUasLZ4+I77ZQ934GcgxTQ9ux5NtvGoW13UISk
	VEAk9ZwBTth+rM1Vj4SqpqiMYcp/pMSF9TNEabtqgCOjw7ulle1E/hD8+55fxOC/P46M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172362-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172362: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 18:08:56 +0000

flight 172362 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172362/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   55 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    1 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 18:14:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 18:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383806.619000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLqDy-0002yL-4U; Wed, 10 Aug 2022 18:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383806.619000; Wed, 10 Aug 2022 18:14:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLqDy-0002yE-1o; Wed, 10 Aug 2022 18:14:34 +0000
Received: by outflank-mailman (input) for mailman id 383806;
 Wed, 10 Aug 2022 18:14:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLqDw-0002y8-Vh
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 18:14:33 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46c06ae0-18d8-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 20:14:31 +0200 (CEST)
Received: from mail-co1nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 14:14:29 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO3PR03MB6711.namprd03.prod.outlook.com (2603:10b6:303:17a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 18:14:26 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 18:14:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46c06ae0-18d8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660155271;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=mo4QdnL8Asg/l2cDu1TAiBlnUnWRxIQ963jSg+8Dnt0=;
  b=S2gmNaJG0d6/TlNyKntc1BXeHR50daoEddcwCJp5dzBEPIOELF94QGNo
   UZ/ufzX08/Pf9DpqmrfXEEtUPvD7ncAmltnBVtfyrYd0T70XD1mluWP/H
   SRiOMLgefcX/twtdUgwhCdziu2DQgJM1T4bJ8phFAOnXZVb317fQM/OlH
   A=;
X-IronPort-RemoteIP: 104.47.56.172
X-IronPort-MID: 77809786
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:th0aIKu7VZ9S5qIT1rapUbm/w+fnVE9fMUV32f8akzHdYApBsoF/q
 tZmKWDXafiLamb1Kd5wOYSyoEIFv8WAy9dqSQJvr300Hy5D+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4WtA5TTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FZAh37Y0Am1Nz
 9EZBiIXTgyct+eG3K3uH4GAhux7RCXqFKU2nyg5iBr+VLMhS52FRLjW79hF2jt2ntpJAfvVe
 8seb3xocQjEZBpMfFwQDfrSns/x3iW5L2Ie9QzT/PVti4TQ5FUZPLzFGdzZYNGVA+5SmV6Vv
 Dnu9GXlGBAKcteYzFJp91rz2b+XzHyrBur+EpWgz+Bl3maey1cwI0crVhjmgt3jlWSHDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLSNrmK2YTzSa7Lj8kN+pES0cLGtHbihdSwIAuoDnuNtq0UiJSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNfNi1CAgbQD0ct9EQ==
IronPort-HdrOrdr: A9a23:6ttC1qwf/MQZynE6EsMtKrPxBOgkLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9IYgBapTiBUJPwIk81bfZOkMQs1MSZLXPbUQyTXc1fBOrZsnfd8kjFmtK1up
 0QFJSWZOeQMbE+t7eD3ODaKadu/DDkytHPuQ629R4EIm9XguNbnn5E422gYy9LrXx9dP4E/e
 2nl696TlSbGUg/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2jnC6l87nzFjmfx1M7XylUybkv3G
 DZm0ihj5/T8s2T+1v57Sv+/p5WkNzuxp9qA9GNsNEcLnHBmxulf4NoXpyFpXQQrPu04Fgnvd
 HQq1MLPth16VnWYmapyCGdlTXI4XIL0TvP2FWYiXzsrYjSXzQhEfdMgopfb1/w91cglMsU6t
 MJ40up875sST/QliX04NbFEztwkFCvnHYkmekPy1RCTIolbqNLp4B3xjIWLH5AJlO+1GkUKp
 goMCju3ocRTbpcVQGBgoBb+q3pYp30JGbffqFNgL3P79EcpgEF86JR/r1iop5HzuN8d3AM3Z
 W7Dkwj/os+MfM+fOZzAvwMTtCwDXGISRXQMHiKKVCiD60fPWnRwqSHqYndydvaD6Dg9qFC7q
 jpQRddryo/akjuAcqB0NlC9Q3MWny0WXDoxttF75Z0t7XgTP6zWBfzA2wGgo+lubESE8fbU/
 G8NNZfBOLiN3LnHcJM0xflU5dfJHECWIkeu8o9WViJvsXXQ7ea/tDzYbLWPv7gADwkUmTwDj
 8KWyXyPtxJ6gSxVnrxkHHqKgfQk4zEjOdN+YThjpguIdI2R/xxWyAu+CeEz9DOLyFeuaore0
 Y7KK/7k8qA1BuLwVo=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77809786"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RpQLvtsoI330uS2GWtk4R8a81/oQS94Bf/mP/EsNdAxonI8DMJkpZ+nIXsFFGeS93XRGoAtl93kZSm/+DMBJJZAyU3kbMHq6Hfi5yUMnIrB2yqkjgnB7BoxoHm+9+fSXdhWqFjw+NvRczqfOG+64prHjZcp2uN8Y1tbSOfxGOzTpXZpy7qvf8Hp/WgptnSRURlGPddz4vQVH6HeBKsS51EULQSXBOCHfSfE6c1b/h4+6RkQmIMoWQLp+bcX2K8DphCiRNb9gnTMxkkFDZVk8YyJc7wa3DSDSJohdWqA+40wswwlq3USwWdskNVPuNraN2LZNPuh3Jb96ANu2oU77pQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mo4QdnL8Asg/l2cDu1TAiBlnUnWRxIQ963jSg+8Dnt0=;
 b=HZOCHq0/HatIKW0xXYnoOIvaxsI1rAD1oOdkJ1AKJgjI22jh2IF0F0P7CrC56B/tg1FoxLSLGpeBY00m1FSLEYvWZPUlSzpcSB3KPyvFW7xwKNI+n6G/BbqxZRxez3i/Bhj3NT4ggVTnk3W/A5ZfImFVSqomtCUV9Dc1HhXlKsdfWUyi3uwiSVYvAgjvW/G8J9QbuBB6MQSU2/tUEUOtuzCzV2CfXEkgre9/zefkPi91iNJSv1DLoU4UkSHFf9liHlcO0qzDCQLqTJ0wlZgXOQ9LO1ym9+3zHtYheC47K4WWTlC9iqNict+QVtXDGVjUeyTd+9Wo/9WQLQWkxVe/5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mo4QdnL8Asg/l2cDu1TAiBlnUnWRxIQ963jSg+8Dnt0=;
 b=Gdv7qF79lUTbKm80RzHpg3nXR6qC+j5HmIJT+rI1/6wqtUcGMr+X8LDcOOoZGJEw/LprLMkS7ZjJ75NBc/BSsn3GyVMG/sakJLz+/4C+Y/hq6ftu5IJjl5Q52D0cxoA6mlWdlzpI6zpDtlK5U7ZYfgBXjZgMvKvCDGeNr+gC23U=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 05/11] x86emul: handle AVX512-FP16 fma-like insns
Thread-Topic: [PATCH 05/11] x86emul: handle AVX512-FP16 fma-like insns
Thread-Index: AQHYgKLMYZVUVS03kE6CW6Ot9D+s3a2oyMWA
Date: Wed, 10 Aug 2022 18:14:25 +0000
Message-ID: <f6ced614-4ade-8993-bcb2-1ea5a0378080@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <36fadb47-32a2-b06e-4cd3-218635ef8aeb@suse.com>
In-Reply-To: <36fadb47-32a2-b06e-4cd3-218635ef8aeb@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c49370bd-f380-46e2-fe78-08da7afc287e
x-ms-traffictypediagnostic: CO3PR03MB6711:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 wSrjijDMkF1p5//kIsbe8AX5QThWQFhy7a+P+V65jRo/55FuCAHjmlf/emgz4/WS6Nw3oAQjq4xI1q22yZQIgVEe/U/OqmR3w8dernX5p1Bsw/X+xGWIfslSWHLIOqxVCF+MRlxA9yMI6/R65wkV4YHDuP+XS1VRCpk4Y3mtq15cOSVugS7+RCOUko34Jbc9AX7kKj2an3dQHF4TUtojUZw8OefKxDihNHtuS4sfI84G5dNihVdBG9yZcMMVK5sFmvH5s4/omqBYhZUbsArz4ZHWeVmaSTSgWMC4yBk75J2oTLNUauRNUzjLYE2PzCIl+Uf5gcohNFTI777Hz61fn8bYh0zahxWRH/Ey/5tmfsHzkoOpx4N2fzXooZ9VfxH/pLdGwL1FDpzL4Jdq7xvSDsx19BjZHaUDmaSgbs0VLuK0IxJm95Q66UqSzimKpu9GhecpxX2SfkDmcNIiQunuJogOLEMWzhZ8ujk/8GCf2T+i4Z0ZiyxMGlChnEenBwKkNB80FFE2aZe19p7uQEuI5VM7PJanlUXu+wawc+LBfcuxShq+KTrMxBCs3BLJMB5eS50otGS7aUq1iMS30KNpQqFJ5VqjKcJcZDC8nn6MEr7FX15PRnLPqCHT+zkt58gzrJP13PynGN1DM5JBKZDjgqyOxL/K/RsgapCP13REBa48LsyMs8iyEKi96J0naXr7Xu1e7Mh4ltrKX68Bx+X7UlLCnwwedEzAnoXl1fH84vPBubUGp2Mx20hhPqI0jBbAf3Sy5z2LVIFYibthxEm0Q7qt+Mkx/b5ZZ2OVyqBH8eYNBKZoxVWPQLteJTmuYiwGquLSMlwQ1z0bdK+5cO3P3JIxEJdAAHG0UZwwkdVlDcKl/+NhPhw06gs9sWDyvKLS
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(376002)(136003)(396003)(346002)(8676002)(6512007)(186003)(26005)(4326008)(64756008)(54906003)(316002)(66446008)(107886003)(6486002)(2616005)(66476007)(91956017)(66946007)(66556008)(478600001)(76116006)(36756003)(110136005)(31686004)(2906002)(6506007)(53546011)(41300700001)(8936002)(82960400001)(31696002)(86362001)(71200400001)(5660300002)(122000001)(38100700002)(38070700005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Nkc4eHEzR3ZUNUNrMGZBMnA4QmNyWWZzZmtkMCt5Z3drMzhyVW5FTUZFTWJh?=
 =?utf-8?B?YXVsclk1WkxEV1hmOTNDSVVFZXgxUGVCVVZWN0ZtbDRkN0R1VHpaZWNLMnBX?=
 =?utf-8?B?VEhzSDlJUnowU0crUEZoZ2grS2FHZ2tCNSs2ODR6YUpkaU1idmVyNjBTNC94?=
 =?utf-8?B?TVBneE0zRzEyQWxBUCtvRmUzemJpQzVIbXYrV2dadHY4aE5YVkJiNVU5OXhN?=
 =?utf-8?B?T21oVnlFVi90dHEzMnhyNW51Q3hqamNxdnQ0T3YzdHovMjBGWG4wTjNrckxq?=
 =?utf-8?B?Q3k4SjNJN3R2QXQ3YVZWWU9tQlpYMnp1VnFaam1vcDZEQkFydzlNQnJSZVoy?=
 =?utf-8?B?eEVHUHZKa0hzcHRuZFBTVWR0YnUzdmFLZis0M3l3MHFWOUVyeUhxcmdseS9G?=
 =?utf-8?B?azBxOTRQbHFmVXJHMWZVY1VpOFZlTXp4NTc1L2g4c2lkKzFlTzcwbHUydnlp?=
 =?utf-8?B?a0JqTW1QL1NIUmFkVk5nTERRUGEvWnVRZ3VZVFNvVVA1SUJ5c0pDMDhBbUpY?=
 =?utf-8?B?SHFFMm9FdUxHdnBERUpJWVo1czF0L1JvdGZvSmZ6by90MnloU01ldDlNQS9M?=
 =?utf-8?B?MzN6TEZTK3lXZ0VJR1VMV1RQd2N6S2dOYThpVXNJZzNIQ1ZUYStnVHdobkk1?=
 =?utf-8?B?eVBrWm1NVTlWY3d6VTZ0R0JzelRYMnFQMGpwMzRpQUE2K1JxcjYvcUFYTUwy?=
 =?utf-8?B?eTl2WC9hVHdjZmduRmpTZjZwcnJCL0ZaVjI2d0ROdFd6WGdlQWhIMXVzNjdn?=
 =?utf-8?B?VFVQS0NjbGRIMS9jR1hJSHZVMnhCQVUxbmluek5BWlkrVHdnZm90dFJ6T09s?=
 =?utf-8?B?akNyY2RSQVlPZjJzOVNlWFBPdXpsWkdkamRRVnR3U0FvTEFianlJL2NSa2pj?=
 =?utf-8?B?UVhJQzMwTzk3MmNlREdVQ2JsUFJtYVRKb0Q0Z2Z0T0ZrZ2ZkdUJBZE9KNXZQ?=
 =?utf-8?B?c3JZZzNKNVhZdm5YSG1RZUx6c1M4dFJVLzgzQ3BYQ01VOGNhNGpDalduLzNi?=
 =?utf-8?B?cTZRaVBTcWU3WmV5UjIyT2xqREhqL0NJaFdJY3N3a01UVkF6eFRwTzRaenNi?=
 =?utf-8?B?NG9ZN3dMcUZGdDF6YTMzTXJOT0Q1UjRVVmNkWHRGVDhxbkFEa2pxNkRRelJE?=
 =?utf-8?B?OUg2K1pqTzhrOVUxQmt4aWVLL3Yva0x2NjlPRjFlSjd6c1hyK1FNT1g3YnRM?=
 =?utf-8?B?MW1aWWtLM05rMkJsdW9kYkNhdHJKSWN1YS9ZTllnQW1zVXpxVlcxVjFsMzQv?=
 =?utf-8?B?d2RMdnpYM2JKcTZ4Vk5jSVRrQ1pGL3NwbFZ2NUV0QzBGVnVDbVZVbi91bU9s?=
 =?utf-8?B?MHRybUVCcUNYVVNBaU4vNFprM3JINnFtVS9xSlhnTGN5bUVUSldJeFphYkJT?=
 =?utf-8?B?bEVtcy9aRUY2M3Q5M3FpYWZYNy9zOVU2WjBuWUwrNVM0UGhnaFJoQXdkSWh0?=
 =?utf-8?B?R1BVOW8wMXl2ZHB6Qk5zeTlIZFZPenJualNDaGNETUE3eWE4L2t2eG5iN2lW?=
 =?utf-8?B?OUlkTmE4ZGFKUlFTY0cwY0xrbFlkYy9YNnF0bmJ1UDFOd2xxYVJtMXhab1hD?=
 =?utf-8?B?WjNZdTU4YjFLZlpMWVZad0hkSzdzaENPelRtU014bTFUTklCcERKb3R0aWZM?=
 =?utf-8?B?dDQ2anBmeTNMWUJHM3J5OUxNam9hWnNDYXY0RGROQlh1UEs4bFhMbGRqYUVE?=
 =?utf-8?B?UHZDUkVLTGRTMXhMeFBZU29leCt2aC9QQk5FekFsT3Y5dVZLVEx2bE4xNFlL?=
 =?utf-8?B?WXN2ZVhMMTdJQy9iZjI2RW52MkhUeDRUdHJZMUF1d1kwNkFORHJrUUt1TUla?=
 =?utf-8?B?OEhDRkY2dkduQUoveWdUKzJlTmVEZHp3WnVzY0xaYVptRXF2NUxvVnRSeDVr?=
 =?utf-8?B?Ry9lMTR0Tm5YWS9FV1Vwa3l5Y3RGTlFMOG9TSU0vU1lJelBRM2V0RnI3TUFa?=
 =?utf-8?B?RElBV3R5ejA5dHhSVjVnQ0pnUXAvZENJSmNielBJQ2xPNmNQWXlQNFlpVy9B?=
 =?utf-8?B?SlJkdFlPNjJteUpDQk1tQWVPY2N2cE84dlh5cXRTeHNaM2l0OFk3U1FpaW9Z?=
 =?utf-8?B?SjFvNXFWMW1EWnZwVW5vZ243eEppQmpmQUpSN0gxcFVqa0tZYUkwaGg1M2Fn?=
 =?utf-8?Q?iPGxqhS3K8xbgUNVhcFdjANzQ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A0BFDBB17257BA4E97C8415F14137433@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	INLeksp0DR9n9fH3/R/WihH26lATddR2qmNf2FJlZph2T4L5M1YPkp4UvaRdKRtk1KueyHahRFp+262YyVP+ok7TwtRQhDvpZDSxw1CTb1RjqOz7sc91h310ZHFh1D7PbARYXeeFqB8Cxg+qbS7clKDRPHeZ5NbS++TC3Jj25cSj1NLHo9JMkUQpeVM0oirp/IXNr/g5wV6SHA5Iy1FAuoPsIfG3Tk1yW2MlXNRdXDjbGgZcSmNpaa7XvWT3KDpK458VGxz8qfF+J0o4NezwFKaZrF53xRMz38/4mw3mUaIQYLA3ihrXgNY4cr27H1z03nAWovXlB71r6kaAXsz0zMxob9tIt5S+rgkGx22KKMNhBoMaJO4nIj1/ULST8Bu2H9kZhl4y9gueZu4yh/9SNmnBObnDhcjD1T2FpQdfmra5LXREuezabz+9pQKSBQotGLVbof4vMvSZb7NQYzaGEtheAJCACW2gDM6slE6netjU2qJaoqfreFZb50yKY7MROJjbj87BqrA+LJvyzVcSmpwhWG/ZZBuD24srOQqOKewyaqWWGQ8/R9zKCE8Zk7p9PEhHc/x4WTGM05w7U1tjgcH5XfOOtpurSJyNdL3Zg/PmheA8WRQDJltJOrvJsKGNXfzpPp7kS8kHYtyRpFzjUHqts3iTnkZsZjDQPBPuiR0eCARZ7V5I+chH63iRUynZeMA43D2SBI/DRXr4gCiQ0jFwvtEgIYNofA239xXdv7MH2u7RK/ia+QK4Wk8fasugNG78W7GVgnoT6xUb0j0H0zuRp/WEOLmSuzlGscDWrdChycN4V7VCwfLtZ1Agt/z0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c49370bd-f380-46e2-fe78-08da7afc287e
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 18:14:25.5792
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: tGzGRw3Bi6pTZJ7RGK4QQtjb2OQw7yVeWJJq7ZvsamXbhHOK8I18ZkRpbZmk1ajr2vQGQ1thQNstVf5+rIC4zf/5CpGLX+jaQyfBG8sqY9k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6711

T24gMTUvMDYvMjAyMiAxMToyOCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFRoZSBNYXA2IGVuY29k
aW5nIHNwYWNlIGlzIGEgdmVyeSBzcGFyc2UgY2xvbmUgb2YgdGhlICIwZjM4IiBvbmUuIE9uY2UN
Cj4gYWdhaW4gcmUtdXNlIHRoYXQgdGFibGUsIGFzIHRoZSBlbnRyaWVzIGNvcnJlc3BvbmRpbmcg
dG8gaW52YWxpZCBvcGNvZGVzDQo+IGluIE1hcDYgYXJlIHNpbXBseSBiZW5pZ24gd2l0aCBzaW1k
X3NpemUgZm9yY2VkIHRvIG90aGVyIHRoYW4gc2ltZF9ub25lDQo+IChwcmV2ZW50aW5nIHVuZHVl
IG1lbW9yeSByZWFkcyBpbiBTcmNNZW0gaGFuZGxpbmcgZWFybHkgaW4NCj4geDg2X2VtdWxhdGUo
KSkuDQoNCkFnYWluLCB0aGlzIG5lZWRzIGNvbW11bmljYXRpbmcgaW4gdGhlIGNvZGUuDQoNCj4N
Cj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPg0KPiAt
LS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUvZGVjb2RlLmMNCj4gKysrIGIveGVuL2FyY2gv
eDg2L3g4Nl9lbXVsYXRlL2RlY29kZS5jDQo+IEBAIC0xMjMxLDYgKzEyMzEsMTYgQEAgaW50IHg4
NmVtdWxfZGVjb2RlKHN0cnVjdCB4ODZfZW11bGF0ZV9zdA0KPiAgICAgICAgICAgICAgICAgICAg
ICAgICAgZCA9IHR3b2J5dGVfdGFibGVbYl0uZGVzYzsNCj4gICAgICAgICAgICAgICAgICAgICAg
ICAgIHMtPnNpbWRfc2l6ZSA9IHR3b2J5dGVfdGFibGVbYl0uc2l6ZSA/OiBzaW1kX290aGVyOw0K
PiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgICAgICAgICAg
ICAgICAgY2FzZSBldmV4X21hcDY6DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBpZiAoICFl
dmV4X2VuY29kZWQoKSApDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmMgPSBYODZFTVVMX1VOUkVDT0dOSVpFRDsNCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7DQo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICB9DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBvcGNvZGUgfD0gTUFTS19JTlNSKDYs
IFg4NkVNVUxfT1BDX0VYVF9NQVNLKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGQgPSB0
d29ieXRlX3RhYmxlWzB4MzhdLmRlc2M7DQoNClNvIHRoZSBtYW51YWwgc2F5cyB0aGF0IG1hcCBz
cGFjZXMgMiwgMywgNSBhbmQgNiBhcmUgcmVndWxhciBtYXBzIChpbnNuDQpsZW5ndGggZG9lc24n
dCBkZXBlbmQgb24gdGhlIG9wY29kZSBieXRlKSwgd2l0aCBtYXAgMyBiZWluZyB0aGUgb25seSBv
bmUNCndoaWNoIHRha2VzIGFuIGltbSBieXRlLg0KDQpJIHRoaW5rIHRoaXMgbWVhbnMgdGhhdCBT
cmNJbW0gYW5kIFNyY0ltbUJ5dGUgd2lsbCBjYXVzZSB4ODZfZGVjb2RlKCkgdG8NCmdldCB0aGUg
d3JvbmcgaW5zdHJ1Y3Rpb24gbGVuZ3RoLg0KDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsNCj4gICAgICAgICAgICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgICAgICAgIH0NCj4g
ICAgICAgICAgICAgICAgICBlbHNlIGlmICggcy0+ZXh0IDwgZXh0XzhmMDggKyBBUlJBWV9TSVpF
KHhvcF90YWJsZSkgKQ0KPiBAQCAtMTQ3OSw2ICsxNDg5LDI0IEBAIGludCB4ODZlbXVsX2RlY29k
ZShzdHJ1Y3QgeDg2X2VtdWxhdGVfc3QNCj4gICAgICAgICAgICAgIGRpc3A4c2NhbGUgPSBkZWNv
ZGVfZGlzcDhzY2FsZSh0d29ieXRlX3RhYmxlW2JdLmQ4cywgcyk7DQo+ICAgICAgICAgICAgICBi
cmVhazsNCj4gIA0KPiArICAgICAgICBjYXNlIGV4dF9tYXA2Og0KPiArICAgICAgICAgICAgZCA9
IGV4dDBmMzhfdGFibGVbYl0udG9fbWVtID8gRHN0TWVtIHwgU3JjUmVnDQo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBEc3RSZWcgfCBTcmNNZW07DQo+ICsgICAg
ICAgICAgICBpZiAoIGV4dDBmMzhfdGFibGVbYl0udHdvX29wICkNCj4gKyAgICAgICAgICAgICAg
ICBkIHw9IFR3b09wOw0KDQouLi4gYnV0IGhlcmUgd2UgZGlzY2FyZCB0aGUgdGFibGUgZGVzYyBh
bmQgY29uc3RydWN0IGl0IGZyb20gZmlyc3QNCnByaW5jaXBsZXMuDQoNCldoeSBhcmUgd2UgcHJv
Y2Vzc2luZyBpdCB0d2ljZT8NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 18:20:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 18:20:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383813.619011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLqJK-0004Nm-Oq; Wed, 10 Aug 2022 18:20:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383813.619011; Wed, 10 Aug 2022 18:20:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLqJK-0004Nf-Lh; Wed, 10 Aug 2022 18:20:06 +0000
Received: by outflank-mailman (input) for mailman id 383813;
 Wed, 10 Aug 2022 18:20:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLqJJ-0004CC-FQ
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 18:20:05 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d0182b1-18d9-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 20:20:04 +0200 (CEST)
Received: from mail-dm6nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 14:19:53 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO3PR03MB6711.namprd03.prod.outlook.com (2603:10b6:303:17a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 18:19:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 18:19:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d0182b1-18d9-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660155603;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=dpws7zw8wqyZAg5d0bOkx/+XIDZ2jqPvftyQCig4v6o=;
  b=N7FBy6GViVSYAwJpjWIr8qXglIxaVpeMdxbqSWO8BIQrdM+7LYcSuR/m
   ELGaxe+KhBIdEpcU0qwaYXDf0NLw08QG147ERJkJN6mxyxM42qsyZBN3W
   41h5TKvCGM27uZYMBKHwnBUmWjqgTlbpg3yENA0NMFYKd6hEInss3djPx
   A=;
X-IronPort-RemoteIP: 104.47.59.169
X-IronPort-MID: 77052955
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1nYdSKOTxcJvcB3vrR28lsFynXyQoLVcMsEvi/4bfWQNrUpx0zEEx
 2EbXGzUPazfZ2HxeNolYdvg/BkBvMSDzIRmGwto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/vb8EgHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFOy2NFVAV8RZbZGuckpGCJW+
 +YEOg4CO0Xra+KemNpXS8FKr+F6dozHGd1avXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rr5wCChIlW0q3rMzUYzy0HVwBZ8z/7GN93Nd8bRbc5UglyZt
 iTN+GGR7hQya4PHlGDUry/EaunnvgT1QdxNLpqC2eMtn1+t3FYuMQUMbA7uyRW+ogvkMz5FE
 GQW8Cczqak59GSwU8LwGRa/pRasrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQ10
 neZktWvAiZg2IB5UlqY/7aQ6D+3Zy4cKDZYYTdeFFVUpd7+vIs0kxTDCM55F7K4hcH0Hje2x
 C2WqC85hPMYistjO7iHwG0rSgmE/vDhJjPZLC2JNo55xmuVvLKYWrE=
IronPort-HdrOrdr: A9a23:bd8i561AyELsp7WgUumtyQqjBZpxeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ4uxpOMG7MBDhHQYc2/hdAV7QZnidhILOFvAv0WKC+UyrJ8SazIJgPM
 hbAs9D4bHLbGSSyPyKmDVQcOxQj+VvkprY49s2pk0FJW4FV0gj1XYBNu/xKDwVeOAyP+tcKH
 Pq3Lsjm9PPQxQqR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LoSK05KX8Gx242A5bdz9U278t/U
 XMjgS8v8yYwrCG4y6Z81WWw4VdmdPnxNcGLMuQivINIjGpphe0aJ9nU7iiuilwhO208l4lnP
 TFvh9lFcVu7HH6eH2zvHLWqkfd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ
 g7nF6xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklUqvoXRiKrbzPIt
 MeS/0018wmN29yqEqp51WH9ebcGkjb2C32GnTq9PbliAS+10oJsnfwjPZv4kvosqhNC6Wsrt
 60TJiB3tt1P7ArRLM4C+EbTcStDGvRBRrKLWKJOFziULoKInTXtvfMkfwIDcyRCes1JaEJ6e
 L8eUIdsXR3d1PlCMWI0pEO+hfRQH+lVTCozs1F/ZB2trD1WbKuaES4ORsTutrlp+9aDtzQWv
 61Np4TC/j/LXH2EYIM2wHlQZFdJXQXTcVQsNcmXFCFpN7NN+TRx6TmWeeWIKCoHScvW2v5DH
 dGVD/vJN9Y5kTuQXP8iAi5YQKYRqU+x+MELEH3xZli9GFWDPw8juE8syXL2uibbTtfr6cxYE
 xyZLv6j6LTnxjFwVr1
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77052955"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M0kWpULsVYNx+e8jZiW4DaBDklsBNh4WJxwu+t/x5FMDbQoqdnVTEP6JMFm74hVDmBU1exj1FwAjk3UgSkxnGDbPLR5vwTw27AzLzL1l3cNVqw899QbFuq/uDuiVGLQ2/Cxoa+B3/pjqzcpkwhUFOxND5mVWQ3KUsnP4yMf45rh01RMsurOY3KOq1Lq8wKm3ZijJAFeuMJ8hq6fnDgIB0a/LQecOOwoECd7pN3M0ZsGrMCTNvih6fwSk8JxwMOlfH8MtPnMoKdbH7iAYpfcD9XOezU+J3WgmmpneFj5nRIz0RuSAJXQle06JF6hEXMVWfAkcw+ZuhwV0kw4mNSWbJA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dpws7zw8wqyZAg5d0bOkx/+XIDZ2jqPvftyQCig4v6o=;
 b=FUxuU8hFVB1VixkynWeiNigk3tYYy15iOobiFshLK7yiFVjFIOFK1KxyFkRe9dM3g3nIBULGvjvi8PieU0l76b/14EYRTBlb7XBc+UJj2w1eIn3aGZ75Z+wWznnfH+vknHvH7u4My9S30OrdGr7dasGTrU0Auk8cBLaftN8vstzZCzlbcR9V9IFvAdIF+sveSHcCGv87iU4nnnLs/wVzMTTAtJcVnRegSL41wrKC4qX4ZDCWyH5mWIS8dK79vh+2lByQf7gyLw1wMOIrr2mGARvzVmtYxBXQTQ77yKAhOD1PVKb6co7V/0D0PDEqSLjsd1U5A+/As0cqP9r5zs1QBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dpws7zw8wqyZAg5d0bOkx/+XIDZ2jqPvftyQCig4v6o=;
 b=En40AEXp/rjKbD20aaQ+ALKAdvz2em9WBbXkbHnX70QrlVnovR81/HkGUvwUeLQvq3Bu/nn/o4Cz7/tqTHnoOUomZk/hczONIAeU4SbxgTbdbj6oeBPKxT7JDdOR5yES23+v5LRk2OwIVCKXCD4HlmqAQJQPGrPVPpfmmX/uHNM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 06/11] x86emul: handle AVX512-FP16 Map6 misc insns
Thread-Topic: [PATCH 06/11] x86emul: handle AVX512-FP16 Map6 misc insns
Thread-Index: AQHYgKLNcpy29FwOe0qp2fzlrLJoM62oykqA
Date: Wed, 10 Aug 2022 18:19:51 +0000
Message-ID: <6b9c7d2b-4711-882b-975e-d12d87d95ff2@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <ca49ed5d-d440-72da-6f56-664888c8b25c@suse.com>
In-Reply-To: <ca49ed5d-d440-72da-6f56-664888c8b25c@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a55a9398-1bd6-4ef5-014e-08da7afceadc
x-ms-traffictypediagnostic: CO3PR03MB6711:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 iZjkgutZdep4bAILMBHgBQ/u+VhDeSzi18gFTVqkgXMsJBki8cTUZJ4f7188zVZncAHr38h0rePJAAcIH4hyIPuyvQQOQWL/LyK4LtsFI2lW5Q3+Y0x91X0v7otL1258gb4FgZL7C8mQALd1gdBg27DgjoBMKQwseKAeSfPS5sqtRuMc8WEbQkjdUDgWqagiYhUEOCk3iEghrRYHlfK0qF4d9SuV9JLPcmZISOVkTnp/jTRTxIJXAtJcuI8pzRvwU3w3vjO+DZRk0L9tDALdCv3GSsmgSx2vj18P5JKwnSimEQpXBP6oN2YOphkzmDpS6xO/5U25DyJd7CdOGisPEXKvICcWMgN9LU38iUzU5RjLzBDomQmM4SrtTvEpVpilF9BmoRW5J6nYVoJwcNZXMcSwxpML3d3jzPUfMA1jVUq55Fzyfib8s/B50K4J5+ITe7P2KY1DcsmF5JcjUnfaKFvzT5fojYs3PJYZeI0GRDHjxPHepWT27RQhgQVKePA9CB1qxMgl56azdfBjHN3lwebgYnSzmltVN4V8u1sgSGPs/0LABgqcFyxtIzg/62+QcFpTc892RrBIeUkoJMvZ2tFONlWuX9LbJY+9wZzSX4tiKRlACGpnNU2Z/bfOrXkFSXDiAQPnFJcDOOazJEDPW1uTM4rteYWj3JinNVW/K3MaKxAUG5IjW4kuaonTeGSwhknnJNn6OnefuJDxgaN62Ihft0gaFkUQe/00qh50pUYAJPEGNFs8M7NaVCyB35u0aa3sHsi4Koo8JfLx8ZRnQUg7R81kqjZ2NSZnNgK+WzHGwoJpjHhxw5OtKoRsHvDgWAO0wA2l/4ZwAkLXdJ4WTdITfvyAZsgwRoFBY0tzNbAJh8F0hv/n2t6JfPpRPV22
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(376002)(136003)(396003)(346002)(8676002)(6512007)(186003)(26005)(4326008)(64756008)(54906003)(316002)(66446008)(107886003)(6486002)(2616005)(66476007)(91956017)(66946007)(66556008)(478600001)(76116006)(36756003)(110136005)(31686004)(2906002)(6506007)(53546011)(41300700001)(8936002)(82960400001)(31696002)(86362001)(71200400001)(5660300002)(122000001)(38100700002)(4744005)(38070700005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UzVKMmw0ZUpkUFVGbFNMcHR1eFJHc2ZtS1M4VzFaU3R4b0p2czBvL0ZBcklx?=
 =?utf-8?B?KzVOdDlzTUtoT053Q3lvdUhQcm9CNi9udVFia3VHODl4UWN0MjY4bmxjUE5i?=
 =?utf-8?B?T1JXOWpTWW1icW1zTW83aUx1N2t6MVRiQ3U3aFNkcWNwempnTVFPSkJIMFVQ?=
 =?utf-8?B?eWZoVVlVNzJrSjROM3p6VGRYRjVLU0lSV0czdk9saG84MDBrNUppQnBZY1g1?=
 =?utf-8?B?V1R0TnB0bkd4bDFIUFFaaDExaDQyeGViSFJvVlFRRkRjWWxBVGZKV0JBQ25v?=
 =?utf-8?B?R3NkTDk5VCtQdlN0Y3A3WEl2LzZoUVhBZlBuUjY0WExaVm5sUE91Q1B3SmRR?=
 =?utf-8?B?OUp0b3JMNWFPSC9tR2xpWmVJbCtjdWpGMWt2VHZZUHhWbk5zUm5BWVFpK3hS?=
 =?utf-8?B?MXhZc2h1RlN5dnFjTDlneDFURFpZOWdRRWtvYTZNYUpWcUs2RmNwekJ3T29Q?=
 =?utf-8?B?SGIrSS8zd3JFWStOM1dqd0R0TFoyNzBBazI1OWJ6bHArbmYxcXVjalZxbld4?=
 =?utf-8?B?UjhVK3YxSHNYdnRGa2hCVE0rUjFDZ0M4ZW9LczJrQXBnbWZUMXdQR0tZVmZP?=
 =?utf-8?B?aGg5RnhyVHNvc05QZTdTckNsSTR5c2VLSUJNb3JyT3NKY2htTzFZTXhvTlhP?=
 =?utf-8?B?WWtyQlREc2tBcmtudUVPSXNYN0NEWDJ1enZJN2xTTlNPUjVDNWVFWkpxczFN?=
 =?utf-8?B?M1NhaXVZY3lyWUxkdzlzRkdWOVM0OUtWM2ZRS0F5Z0FuYUVCTXBzTTM2S2lp?=
 =?utf-8?B?K1d5dFNPWUpucHVYYm5BZ09wSlJseXg3ZXE4eitvL2tRNDFEMDgvbWtoRXY0?=
 =?utf-8?B?T1F1UVZ6OWxyamJDUFJjMGhtMkE2enRQZ0pVSlhWZnEzdHliby80SFBiM1Ez?=
 =?utf-8?B?Y0pLeS9icWdvT1JySWE2WkNGc0NEbHgwdEczdFZpdytlWGlFbmRBOG50WTRQ?=
 =?utf-8?B?SUpSekF6R3JtbERpd0d6YXVXdUFkYjhpTGhlWDRMMEdBbVZRNk1yWlBUUFVk?=
 =?utf-8?B?amdHWTJ3ZWZIeS9pMEpFaWJDdmF0aVF3czRLMGRoNlN0d20vYTI0c2oycThX?=
 =?utf-8?B?K1UvbHZ5aStlU0lHYlgxdGZKZlM1Yk9VOEdLcGRscVhlNmxCNldLUlhIQTFl?=
 =?utf-8?B?cG5rTDlHVlFUTXJHMG1BcjdpNU50cVZjM2h5RjVYNUY0WHczVnJmOUJPbTdU?=
 =?utf-8?B?RHFxSVNFbG53VjdicFdJenJSNHhKazVBQVRXajhBYkw1cUN1WlMxK1ZINTBJ?=
 =?utf-8?B?Vnh1djNrNmdlYVZJMTZSeGZPNklwK0RPTEIveVVIdXM3R04yTEhhZVhmYzcv?=
 =?utf-8?B?NWtYZVpUZERUVVZ6US9QZGMvL0Y3Q0pwSzliem5CbzRJNEQrOE0yM0tlcEU2?=
 =?utf-8?B?UFhXUURpOXZxNXA4alp5TGUrRTkrL3VMTFIxdmR0VnJhekhzMUladTIzVTRF?=
 =?utf-8?B?a3A4NU84SCtVSGdHUUFvdmNkV2o5QVQ3RHY2UUg4MERnM2ZyMXhiUEtvNURn?=
 =?utf-8?B?QTVKRHdtTXZld2VjQ3NLVzlhWnV4a2R1a3F3SkhuL3FmU0JKQWNJN0MzVlhH?=
 =?utf-8?B?QW5WVGJMaGpYZU8ydVlQY1FuUGMyWWtYYk5uUG5XM3RaNTI3WUJyeU5PRXZs?=
 =?utf-8?B?elRJYm16UXRiNEFIVFA2MVdGdWhWcnAxQmtCdE5VTzRNV2tFRkxoTnJyeDV4?=
 =?utf-8?B?eS9KamdHalNrZVNqbU5ONVpsYThBMjhGWlRJSW1VUkhMRFc3dGZvUEVtcmtO?=
 =?utf-8?B?ZHVtdm56VnM4OU5kWnc2K1o5VUtQcU8vSmovRFdZVVNSZnk4NzY0QitnQTJP?=
 =?utf-8?B?a3pKVDlaZWxqaFRIWnQzYTZmRjNJa2ZQdmR6LytuUjhySWtiVTZpQSttZUZa?=
 =?utf-8?B?eVpUSFlNb0pKMVlreEtscWd6aEdCU043VDJwRXkvZnVIa05oOGFubExudVlE?=
 =?utf-8?B?Qlh2V0FtcWgzUHlkRTE1Y1JPWGN2K05Ybmo2cVNjMXJhcjVCcmtYT3pEdWtQ?=
 =?utf-8?B?aTJzMmNHRWJFV0tMU0tzWkpWNCtLUVdLVDBRTWlFRXp5aVFlMFROT214K0Jp?=
 =?utf-8?B?dlBzekhxWFp3cDI4VEpuWlY4dVhUZThoQVUyZXZkTGZaMkxzWHltcEVUMFdn?=
 =?utf-8?Q?uoW+Ydvf8IBhyfFJhzShKROjZ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D388493C5409564591C01C7FA439E3A8@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	KESETLBCtQFcPbL7s/P004x6lBSpF60YTFnwgNL8sn7IS9sAelZwrWVpQ8EUG/5siMhO84oY+S1g9TF+KZtm/iP3F25sJZSkdisze8Xk+zPADTYQJhK570/bs3Kt5Df++u2gZ39a0MaqaHFQ2aJGfi+Ol+S3OS2wDP7BrKL9RdqaokAxIMFFMaFkXdcqFy8f1iWWSLO9rX/4Xlez2ZcoA1Bu1R9besCk0MkiABE7m9Kw//oD4ZqSVqIpjEyCuZACOI6rFmPMJKUvLLKCEfcxhGT8sERcpUj3IGw8HZJgpoys9SoAYI/zd9SvqF1cRNxc26hzUjxXogAAMPvc1GE52cTwdu6RiXlhZUbse9frFp0MBnHj603FtuerZ+Pbl208RezjDfsGvVnMUdezb5oXmp3mUGNzsAEb+uyEXJ01QsIgyb0QRFMjGgqfpHyWPkEFj3jR0e0a6HUIst+JqdRvR4aC0GS0PwyzLmysvB16vVwqDhzdXLEi6cJrWgPqqI3pFIs3OopbBI3PbIVHykjQwF9WSr4j/WuPmRyOeTJd6gF5vfNg6xhtM58w0jjXMOQUYukQX/e5+va4Et4291/ryB39RDIWgztibX2zuIfNTGjZQLvK1AM6h/FlVNgxI3XuHT2t23laZ27ny3A7os+oKCBN7pA+SLvH31Mi2EsE3Qn+hCPT8U01BBRfT4ggfiaKXHJ8E293DABYLkJeSBkuS+pbf/5CGi77Bwip5H6XhlGUYyYjhjesb75bKIGagICjwOhgxXcEdxZ3OJ8mo77c2L+yjknd4EdZpHP1Xbcypw8dPYNBcgvgJO2Scs7boVmH
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a55a9398-1bd6-4ef5-014e-08da7afceadc
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 18:19:51.6511
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ce5XyDXSTlsZfsFSyVKRQv9I5ch+HZOrfPM86Dzor1+3TyMffBR+ejEOj5PJ46cgwhIB0C364ct1HprPeXXauPPloz42Al4x8teE/Nq6kT4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6711

T24gMTUvMDYvMjAyMiAxMToyOSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFdoaWxlLCBhcyBiZWZv
cmUsIHRoaXMgbGV2ZXJhZ2VzIHRoYXQgdGhlIE1hcDYgZW5jb2Rpbmcgc3BhY2UgaXMgYSB2ZXJ5
DQo+IHNwYXJzZSBjbG9uZSBvZiB0aGUgIjBmMzgiIG9uZSwgc3dpdGNoIGFyb3VuZCB0aGUgc2lt
ZF9zaXplIG92ZXJyaWRpbmcNCj4gZm9yIG9wY29kZSAyRC4gVGhpcyB3YXkgbGVzcyBzZXBhcmF0
ZSBvdmVycmlkZXMgYXJlIG5lZWRlZC4NCg0KTWlub3IgZ3JhbW1hciBub3RlOiBmZXdlciwgbm90
IGxlc3MuDQoNCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
Pg0KDQpBY2tlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4N
Cg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 18:59:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 18:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383825.619022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLqvY-0007o5-Q3; Wed, 10 Aug 2022 18:59:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383825.619022; Wed, 10 Aug 2022 18:59:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLqvY-0007ny-Lr; Wed, 10 Aug 2022 18:59:36 +0000
Received: by outflank-mailman (input) for mailman id 383825;
 Wed, 10 Aug 2022 18:59:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLqvW-0007ns-Tt
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 18:59:35 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 908caaa6-18de-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 20:59:32 +0200 (CEST)
Received: from mail-dm3nam02lp2044.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 14:59:23 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6560.namprd03.prod.outlook.com (2603:10b6:510:b2::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 18:59:21 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 18:59:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 908caaa6-18de-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660157972;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=v+FUkkNXUdsDRza/BZmXmza+uQtzxQ3xL7qWZY82AS0=;
  b=DGNDY+eEwiuQcJ49QyMbWanDy7q788nkfSYGxJZXwiVALONUgauAa+5R
   lddhnJ6XcCBnEw5hS6qiH9obvyKyhcs7jbUV8YHTOyKZS9i61z3paMexZ
   RZhCOzRXRUCDgvLHLMUULsvwWO3L+CvM21EjnENnRfGCoBa8gMVHdIrY9
   g=;
X-IronPort-RemoteIP: 104.47.56.44
X-IronPort-MID: 77572999
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Oy2rcqAFnqK0JhVW/zfiw5YqxClBgxIJ4kV8jS/XYbTApG53gzNSn
 WFNUWiPP6rZazT3fN4iYYqx9EkOuZSHytBmQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEsvrb83uDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJWyqw/flADXERB9M/p8VNOHtg3
 qcIIhlYO3hvh8ruqF66Ys9Fo5x5aeXOZ8YYsHwmyizFB/E7R5yFW7/N+dJTwDY3gIZJAOraY
 M0aLzFoaXwsYTUWYgtRVM14wbnu2iWXnz5w8Tp5oYIe5WTJwRM3+7/qKNfPIfSBRNlPn1ber
 WXDl4j8Kk5FaYPFmGvUmp6qrvPT2hrKWKI3L4f70d5Wmwa59ksBJjRDADNXptH80CZSQel3K
 UYZ5y4vpqga71GwQ5/2WBjQiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6ceWjgCx
 lKP2dTzClRSXKa9THuc8vKYqGi0MC1Nd2saP3dYEU0C/sXpp5w1glTXVNF/HaWpj9rzXzbt3
 zSNqyt4jLIW5SIW65iGEZn8q2rEjvD0osQdv207gkrNAttFWbOY
IronPort-HdrOrdr: A9a23:XNNvF6iFIufyRJvB3MoS6CXAKHBQX/J23DAbv31ZSRFFG/FwyP
 rCoB1L73XJYWgqM03IwerwQ5VpQRvnhP1ICRF4B8buYOCUghrTEGgE1/qv/9SAIVy1ygc578
 tdmsdFebrN5DRB7PoSpTPIa+rIo+P3v5xA592uqUuFJDsCA84P0+46MHfjLqQcfnglOXNNLu
 v52iMxnUvERZ14VKSGL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftxK/mHwOe1hI+VSoK5bs562
 DKnyHw+63m6piAu17h/l6Wy64TtMrqy9NFCsDJos8JKg/0ggLtSJV9V6aEtDUVpvjqzFoxit
 HDrzopIsw2wXLMeWOepwfrxmDboXgTwk6n7WXdrWrooMT/Sj5/IdFGn5hlfhzQ7FdllM1g0Y
 pQtljp9KZ/PFflpmDQ9tLIXxZlmg6funw5i9MeiHRZTM83dKJRl4oC50lYea1wXh4SqbpXVd
 WGPvuso8q+QmnqKUwxeVMfmeBEa05DWituhHJy4vB9nQImx0yRhHFoufD31k1wiK7VDaM0p9
 gse54Y6o2nBKUtHN1ALfZETs2tBmPXRxXQdGqUPFT8DakCf2nAspjt/dwOlaiXkbEzvewPca
 76ISVlnH93f1irBdyF3ZVN/ByISGKhXS71wsUb45RioLXzSLfiLCXGETkV4oCdiuRaBteeV+
 e4OZpQDfOmJWzyGZxR1wm7X5VJM3ERXMAcp95+UVOTpcDALJHsq4XgAb7uDauoFSxhVnL0A3
 MFUjS2LMJc7lqzUnu9mxTVU2OFQD2KwXuxKtmuwwE+8vl8CmQXiHlltb2Q3LD5FRRS9qorYU
 B5PLTr1qumuGjexxe701lU
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77572999"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MM/uom8E4dE7fdM7B3orRtpZAdRrh9n/8kcKCsszv4YxaX91XaMr0KIbhxMGKgM7C60UZ8YXfad+gxO/uZv8JbsiiWom3IDYRlYp+q5Z9g8NcExuRrPuSSQdye20W0TAizUPLGSYkVKHeEqE3sRDqvlpv2LQwwkYWOfQoB2b/zlxBxjZYZ0XzqTpGYbwWrxuJW1oAJ1BM3QLZRb1Dk8qnpWg4rIqUE18gE/wCaSNcxWpgjOPQJi8Gp5k9hWOZ1b1x3q5wBdwE2TnmS5mvVQj4FGLXDFfrx383fHF3GT2wVjDmRhHclqqxhxc42yjoAZhe/gYTrXJ2fvDip+qUdmxiA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v+FUkkNXUdsDRza/BZmXmza+uQtzxQ3xL7qWZY82AS0=;
 b=Zz2tMEa4atO9EAbGyxesTc7HtsmWxCJ7LACPqwqb88Sg3KtHzFEXxmXlTz7zQ5/RCrsMRn+vdUDTFbjksU4c5qLSzV7ZOC6G5eN5n2fuSUr0379N8LxlwD+8ZvPjQqc5EVZ7Hg5ElXpzqJYfC7kYY1bMiImsMcwijVQjSvLMj7kBPn79CyJGg9tsorCyz8bmGVDdCCku5nC8Nkf7lDGJKcq+ziSoc+HXELPRUMHl6uHPrG2dm5S/33ClxYtHAsezkKU3YXYVXPlDTT5YZuvOt/oPizM7i5vcXhwvAghamXwj2ftx+g+8u/oUbazghdWgVJiuVxYlQMuIdg8TV7Qudg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v+FUkkNXUdsDRza/BZmXmza+uQtzxQ3xL7qWZY82AS0=;
 b=aQjzjeM8oDU34ktxmkPfRXBPCUJJFryPaYFT3OxcVCC3JH8VjBPC4sbabtZBkkQYX28daOCfLV5O1h/SJyi3Y/zeoYvSnbc4J4c7hJxaeIKyvlDMKfuPpzMASmlqkPDQdgjGrUMGgCWT45VU1T3Uqt3ozaZhCNll+7rsamybjHk=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 07/11] x86emul: handle AVX512-FP16 complex multiplication
 insns
Thread-Topic: [PATCH 07/11] x86emul: handle AVX512-FP16 complex multiplication
 insns
Thread-Index: AQHYgKLgKph3y+48mU+QAqm9zgIC462o1VOA
Date: Wed, 10 Aug 2022 18:59:21 +0000
Message-ID: <288e2b63-52d5-1ff6-ff4e-2b3398abe844@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <b4054ce2-7645-e467-ad91-93868d493845@suse.com>
In-Reply-To: <b4054ce2-7645-e467-ad91-93868d493845@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 13260cee-6294-4f2a-c833-08da7b026f7d
x-ms-traffictypediagnostic: PH0PR03MB6560:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 G9OZPrTgLLkgmz1GVKt/o62n8FWSblRF0lgzeCXrgPS8xvZZfveeqg6ghLBQbT+NB5ceNcCrpFEKTAI2RUwVj8rBshd3FmdhfuGtKEKT3dib1gptHhzDpwtOfNoza1jr3uZBCNSB4fMUC1aMoVRIe7F1j+FvjlZFchxRwdNWbuT+noUrBLHyv9HJPVDmsfK1xJr+O7/fWC36zspZgtpi/GqF28dvOe5kESUIg4DJjbNvYhM9BdJBMG06tpLCZ7nbWbvBuyLOEg6aIRbryQKYrkI2Tv8iqxLOfhbqbajs7hpVtwqtp6iFebTDIoR/lE8NPPMsoR79WtH1EjVuTsK2nQbM9zzvfBwpQnOymHQwdsQbamyxR/MTf6rWj3Vg53VBRLwFZd1SaPALbO6xQ50a1lAC/QK0qIAom/R6Fh30sI/9Qc+n88QoiclSMeTxnzDfz19k16gT6cwGc3ZhzJXrEQ815viqkIJLkpRp6gNOlbpwLqR+r/BsMre+LU5idJjgUOQZJt6/YquVvZHtNJSWMbGmztRIH+h/yEQspwCJqmVL/mka896P+GhK6Jsy82QaEuYIbPV73rV6oR4eApafClxZ9fhP8YfJBPJWhXKQHMsaVEyT87mSdMgQ44M3bCOa1rx0rv9+FoFaiPOsVhWpZb7cMVvgu2qOkTSWGihcIv1/yK62b40byRWdjIQFITtmBT4b9f6GcePyFRdo4RBZBRvgNryz1d2+1/nJTIgFeg1+gkrqvVACV/ZGeI1hSS0w17Q71GT8oI9sQBl0ipVbKsAjXMfoHDo51pScMMSk4W66cJGJ2tMJ6a+7NtixDWDpa/iK+MjmfGvTS2SrKd5oJHSrY3sg/zaBgPPgbH0IU1go1uhT3uRo8vezuVibC1t3
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(346002)(39860400002)(136003)(376002)(64756008)(66946007)(66556008)(66476007)(66446008)(4326008)(76116006)(8676002)(5660300002)(316002)(54906003)(91956017)(2906002)(8936002)(38100700002)(122000001)(38070700005)(86362001)(558084003)(36756003)(31696002)(478600001)(6486002)(26005)(6506007)(6512007)(82960400001)(41300700001)(71200400001)(110136005)(53546011)(107886003)(2616005)(186003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Nm0vMDQrZno5RkJpRkpjZ0ZDVTA1UndZZCt3bDlLRmZNTlBWUnB0SWt5RHJC?=
 =?utf-8?B?aFkrd1FFdHY0UHM5Kzg4c0t6WURxNVpNaUlORHBmRE5yTkx4cjRWTk5nL0Zt?=
 =?utf-8?B?OHN0TnY1WC9lUEpCRVFFUVAycE9Xb3NGMFc3VkJRMnE3bmdhb240cEd1ODlC?=
 =?utf-8?B?OXQ3TnBEODhGTkhmb01oMnVKK3hHRHUwbUlMTldVc0YrQUszY05vZmlUT3Uw?=
 =?utf-8?B?UG03MGhITzF0cG1SZ1g5T3ovRitCV0wzZjRZM2l1SmVuUEhNd0lzZXdSb0dG?=
 =?utf-8?B?V3RjK2xET1pPemRHa1BVc2cyeXpqeHVnR3M0MmlOa1Q2R0NlSVpOK0N3dUhk?=
 =?utf-8?B?c3BYRlF4OXk2SnFoR0s5RWNWMm9yNXdWZlNBZXdJSSs4WVJOWng1MjAza3BX?=
 =?utf-8?B?eWJXT0lJa0tsWDdMdnNxN0VCU0d0ZXNCWHFVcFBVaHZUd2RPb3hHUVUvdkdr?=
 =?utf-8?B?YXhqY3VZU1Ntb2tycjdqOTg4UkMyT3ZvQkJKeHB3WmZ5SUZlMVlBRVBKRFN6?=
 =?utf-8?B?MzBIUk1lL1ZCenF6R1pMRjQrVDVWUkVyMjRFZDNCUTgreVhHN0R2bzJPZVpV?=
 =?utf-8?B?NGd6S3VPSjYxdiswSU9NQkE3TnlQUjU1RVBzWWlCRldmeEJjdTV5bmJ0VmRx?=
 =?utf-8?B?b1hCcjgxY3RHYThFQnFnMEErKzJUcld6WGQxeEJCN3NWNG01eDB0QVdibXRD?=
 =?utf-8?B?SmlQYlhmbUFzQ0xXOXVLcW9IR05QVjcxMkxoS3RhTitneTBwMEFlczdkK2Mw?=
 =?utf-8?B?K2lUREhSdmRTQ3VIQVJwdWpxeGJackR4cjhNdkRBdkZveElKY0kwTjE1eHZk?=
 =?utf-8?B?OStLamJKazNmMTFiclBPWkxGSXA1c3pYZHVuMEdNdldvUmxZZkFyVmtmL21n?=
 =?utf-8?B?Q292ZG5BcHRoZEJWOGxmcUZvOWxYTDVlaDN0czhNd3dCQUYzZnYyM2lNMlhx?=
 =?utf-8?B?ZVV0a29XMWR0OGhNUnEvRmpQb29JVEQ3Wk9YUjNleXJrcHVnQnZPYXhRNTA2?=
 =?utf-8?B?aXFjellxN2d0d3IyQWlVUEdySVowb1dwZmtKalR2STAyMEFlNUJiUzdwV2lL?=
 =?utf-8?B?Qmh6bzMwLzNXUTNtSUZRZ3dzMlAwOEU5Q0h0UEl2QzNkdnFLRmFRVks3dzEr?=
 =?utf-8?B?cGs4b2UxWnZSVUtleWRFaDNXL3BxYlBZWWg1NitEK1czakVlRzJkRHhGUWMr?=
 =?utf-8?B?eUxGcVh3SksxdlYyb3dhdHJ0aUtGbDIxMUpUREVvQlY4MDNrdS9pNktSc2Z3?=
 =?utf-8?B?dGdtME9QemZ2L01KbWxNNVk0d2c2SStlcnpFL25OVkg2YXpVSUVFMkJwT1ZX?=
 =?utf-8?B?ajd1ekFVR2pHTG5CLzhuL2gzbFhYNHhPOGFiOFduT242dXdaSFFhOUJ4dTdv?=
 =?utf-8?B?MXZyeGNQZG93Qks0T2hMSXBTWE1pVmlCU09ISWh2L2VmZGs3alNQNThKNE1Y?=
 =?utf-8?B?MzZNT1ZRdnJ5YnY1Zyt6UU5XdUJ1Z2RsSUk3cndxL3lSbWo1R0R5b1kxV2NS?=
 =?utf-8?B?Q0J1NVZwN0pic1lSWHB1N1drdXVCbU5sNnhZdFg0WUdGRVQrejUyRHJudUoz?=
 =?utf-8?B?SFJLSnpicjBSWFR5WEIrOFp3ZVVPbEgrOHNoWlM1L1lsWUozMzJ6OTdPdnls?=
 =?utf-8?B?UTd0TndIKzlsd1FCTkg2SWpmakJzQzNSaVc5KzkvVS9aR0RSRmcvaXpaajhG?=
 =?utf-8?B?R0d2TVNCTUxzS3RaTUZ2SDVLNUs2dGljUU5URlU2S1BIa1MyT0pEUVB3cWF0?=
 =?utf-8?B?bG9CWWovMmNFb2JkTWsvMG5NMWZNTGU4OUJRbFRkR0lTdFFFQ3F0ak1HSjVa?=
 =?utf-8?B?eGZyTXpycWZEL3QvUEsxZHpvTStyQWJjaEpoWDZEWVpFTEhpVmY0MDVDMm9i?=
 =?utf-8?B?dUdXdlpGZzg2YWVjNVp6VjZHRVBMS2FWQjZEb0N1TjB2Mm92WUplTXFrTDJX?=
 =?utf-8?B?MmpaUi9kR3MzT0VLR3EyWXJ1OENaTUs2WEtzZ0l5QlIxaTNRTURYNGltMG12?=
 =?utf-8?B?YVhRNkRDeXlIWjNvbE1MYk1PcnZzYUVtb0E0aXcvYVFMYWY5WGZrbERrV0ZF?=
 =?utf-8?B?alRva1IwdXptc1Y3S1pwd2R0am9zMmtMSCsraFJIVURkU2VrY1dLMVJFeDNF?=
 =?utf-8?B?ZjRHZUVBYUdIYmYwbkJWVkVqdHRzNlNyWVZ1c1F1emg5c2ZRd0ljejBTazFF?=
 =?utf-8?B?QkE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EC1924FA874CD34685A3A1D1533CEE36@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	rQQnJy1wzwESKlw7qAhAxgdx9UgULy66VQmwbfrXJ0CLpGNwRGNQr+UVXHDDt3dhxSz99yXmiZKpwN0lgRTha4xnco7zYdN5PmUTiykvlqc0Ddy90j+sYsxtL99QopNW4d1JMGZkBveKq+YWvysPIAhy2OZEzRGXjz9TWm89A6BeAPlQAsccaEyb2Mp84S6GqcCZeblmzcSzzXJ48EGWVGZjgqlPDaWgEn13Z1hmXmh+OamrCkPfmpBPEU3KqwmNrwc0GiHYWtXeIgYjNQvFXhKKVYKZE6Su7EvKuxmpQvoPJx0Dpo7vluKopa+byvQnB9QZya/ogpgmsgrfPt1VUTHtL73ydiosQk3TQRX/zPCeAXhNRAMFetnH+ebf0tf66IX/VBBLGrkQydiRuyymeOmqJxETgOLicUZcBp7Qw4GhrjC0ypn4ACdJZzhMyOOgqzWXk0kVZ6H/U6BobsCF2MHcmgnXyrDHxgrVPkVlTTnRO1kOjmW1RseopfnCj6oxXkWOqUxGk9dondQXxa+MlYUpWDizxr95J3twR3vwFLD435I4D69ha8Q/ZT6vFg0ccsXaQxYA/lN9KDVsIUOYiH8cRHhl58dYefMKOGfGsJqBe/WaQm4TsbLULqq5hvfVdCRd6Y5xoiSxkV7vbVFw2FtH8yujRC3CEpvL2KsDCUt3Ze+spUb1PCpKQVSi3Oc9NU98xr9dIwWtivXFz9wmiEwyy+emKmdn9vnvrAm5qu/d5+eNWLiFoEKv2We3H9VgHg3nj1MqmP3e3vs7AE0FI/1OO6RdGC6pny4t965nW8VSLJtUMb3gxCfpzoJ/+469
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13260cee-6294-4f2a-c833-08da7b026f7d
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 18:59:21.6386
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /HYbxqC6ODeaDUOFWMLv/Yqu7r/T8bzu7YBAw6SXaSXY4CVhNugb3HJ8f8cbrdt6v4mHdxRyjjNEMCsIySrq3xbhKwPh74nxsNmqmDGdVRY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6560

T24gMTUvMDYvMjAyMiAxMToyOSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEFzcGVjdHMgdG8gY29u
c2lkZXIgYXJlIHRoYXQgdGhlc2UgaGF2ZSAzMi1iaXQgZWxlbWVudCBzaXplIChwYWlycyBvZg0K
PiBGUDE2KSBhbmQgdGhhdCB0aGVyZSBhcmUgcmVzdHJpY3Rpb25zIG9uIHRoZSByZWdpc3RlcnMg
dmFsaWQgdG8gdXNlLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+DQoNCkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPg0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:01:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:01:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383833.619032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLqx4-0000iR-3c; Wed, 10 Aug 2022 19:01:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383833.619032; Wed, 10 Aug 2022 19:01:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLqx4-0000iK-0a; Wed, 10 Aug 2022 19:01:10 +0000
Received: by outflank-mailman (input) for mailman id 383833;
 Wed, 10 Aug 2022 19:01:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLqx2-0000i8-Rx
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:01:08 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9225864-18de-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:01:07 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 15:01:04 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5788.namprd03.prod.outlook.com (2603:10b6:806:11b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 19:01:01 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 19:01:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9225864-18de-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660158067;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=7LlE2loe1zcPlhFkGFnv0Mlun/s0NVNhsNqI7pz4euM=;
  b=eImOGeC7xXBCuHvqoFA3KdlYR/RN6IWnqQHnZ0GCIbJkdCr5/HxpnuD9
   zAO+ONxCX6nKht4lnR/1t91hOoFxXRbUl4tU0ruBpVXoyfC4YBTwNV8as
   RJdIo0LCR44oxMtq+3bp7b8Nni15cjC4pRZ57T4mW6dnzKs5NuOGQGdxF
   A=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 77817658
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3As3v/VKJdgclqs5GEFE//H55ytH0wRxNe6xNQV?=
 =?us-ascii?q?3GjJ87Jw2KOdwAVq3hD0jjPsaMbZjM4BA2eBl9Di6jKiWRCgflUwKyy6aPWL?=
 =?us-ascii?q?XPlX7uSnoASyqqPA27twqEHTTLAC2HtWHovxL+lnc0/ST9t53wSFDnk7kav5?=
 =?us-ascii?q?ypJHUYzFRrwnPYzWaimX0mV+xEdrSQRBiH2zDUPqzqwkjiHIWO44iNVl1PiV?=
 =?us-ascii?q?yDJ1QpBx+Nm8AYCowW6kYB6A1uZUB/TV+dkklzHTv9ONb11LW/oBuveU45/u?=
 =?us-ascii?q?VYOYDVOs0YqxK+Pk/eutPP9DLVMKg08AdpwqRcwVhJtcAwBrItxZHq3dWooz?=
 =?us-ascii?q?ItT115lC5gYROKpDJEtPNXfniH0ueedZ+5EPDr6Z/9eGGuLTTRRpbjddrlMv?=
 =?us-ascii?q?FsCgnxwG6mWet0Drp2/ZGdN3qY+wQGEnTD795VUMkcRmXcmsGZy5RTiA7mod?=
 =?us-ascii?q?7TQ/TQ/cSzKyvmzsucqlSQ15dc2/bEsFdWxSGbNb6QR2MfJHkEHPb2hRonfY?=
 =?us-ascii?q?0u7t3Le38Ndv4PUIRCuXWasuIZQn5+yT1SMUBKDE9DM/OGUfSy4LQtLzmZn6?=
 =?us-ascii?q?4caFijVKzkLckKNksOTMKeXVN4bc2hvtpViCErLkJjOjO1xeY+F1H2B4feP7?=
 =?us-ascii?q?wnAh3AkKFIjzVLD0c+gRZbgZdrzKfyCAvwkBY0jkT2P1DOok9TWsJq23fXAS?=
 =?us-ascii?q?Y7tQGY+1X1Mpfk1nfsd0t2/aHLuK3PiRNMS6rQT+jSjBwyRfSt1GAIEDbU45?=
 =?us-ascii?q?wVbWpfkybmZNT9VkXj8wdmCKhV0sxV0/csgQFz/TyjMNyID66NNE7Tjebqm0?=
 =?us-ascii?q?IswPl51MkTLNlmLn5HVjX7NahBcfoMXkw9U5cJBiuwZASRzI91dCPXLU48CU?=
 =?us-ascii?q?wL5TPgx4OZRuoi9rzcoEpc6GhWr83hCVTmhOk6cv/jE7uRhzUDiC8KdogiAF?=
 =?us-ascii?q?Gh7uQ+xcWAfyxDoFRL9ICvmdyBZqnwT0FYJOxnmsNlDSj8AHyAXLjGMy3NiL?=
 =?us-ascii?q?qWriCnobCsnVecqBxm1RaDz90zU1TVlGGoEmudMqs2fnqmZLt6q7MB+J/+zW?=
 =?us-ascii?q?drBbn+6Cde5TKrRkclVI1DgEhuwIE4YqPZqGL25oTW0InxLs6SrHu858IIQr?=
 =?us-ascii?q?qD4MtDRgxiw8K2c/aONCJctsZ0jtVEpxz5lIC5+N2sQ0zOc/3DhezH3V0bKp?=
 =?us-ascii?q?Y7aJoS9+xxvhbRxmDjWGx+X341fekvfIxZgUleelXYfRZ1bvPqpAjPCW+x8j?=
 =?us-ascii?q?lsW05FPJXLQkiF07x6hLCFKPaFadAKCrqWO2lsd1bPNZbovrEwY4tMwwKXOi?=
 =?us-ascii?q?eJMmLbu76WAahjaiMDBLmm5SlF0P2a7V7zSlvSsGmL1p6OtVgXvMj+B0a6oG?=
 =?us-ascii?q?rVTAvwh4w/9vxgx25OlVns6DqzBFItOTWui+Z+uZxY+BK/CftRkK7S9intdR?=
 =?us-ascii?q?cw0lwjuhGkK3NTTVaTMjZ8peStzbu3uLxL3NauJAZf1Yfd2ey2aXKno+WuHI?=
 =?us-ascii?q?44oHpd89Xdvxzgj1Ox5VcsPWD8oVRU4cLM34Y8g5pN+kRcI6GZKCuLeN90X8?=
 =?us-ascii?q?Hzv+SefGvmNZU27BiiEgIpEWxXHnRGTqgqgpLo0OTLt4xNp5rf99Y4eLcwv8?=
 =?us-ascii?q?PoQhvfV3liL5VzyOSIwPpPelepgSPbZC0E5gpddmxjCIh3eUzv3WKFHTB4K1?=
 =?us-ascii?q?idrcvxSDi0p1YKXHMYzPo8od18yfgvv69Mf2qLS86ejSaXRXcyb3RLyZ+LHd?=
 =?us-ascii?q?DVq5vjiIYmeynEpFJlegZqFpaOnuMfO3NlXFJUEw0TaI0LunpkxZqvrOQHMU?=
 =?us-ascii?q?29pqk/Vq3tzVia4r6an2n6aKruVcmNK4/OPMdclrwT7CQgCENLSZtFzdPHqU?=
 =?us-ascii?q?ZyaMGT8ckSFFAgGGnY9bJrc91YjoF7m5AUEuBqWRsWBcNcioXqw8mGscSBWG?=
 =?us-ascii?q?e23Lw4B2/weIUE29WLPLm3kpoR3zzoXNGLBz4MTw3GYuIJvEjpO+IPR639P+?=
 =?us-ascii?q?XbB8CJotPH1UpvtLF33tYSpJdVoglGEX4asZrHCYfE2BarldMvLFU/4EaIwp?=
 =?us-ascii?q?XVeydUwh46WSwss9hYiT3p+0PTuhkdwBNKKgiFCaPzBOIRlocNTqVR32fnoF?=
 =?us-ascii?q?LNdQhejsNTYGbEI2E+gM1NNjVMrdfPgNkxZ9gk6xPORH5+yLvFrm6KlVNVKb?=
 =?us-ascii?q?fUqTK/FtHzr//F5ISutWN5Rwa43HWC+zlLyKmUoBszj+MfXIjZbNy6dAZrVC?=
 =?us-ascii?q?P3kdCe3liB2lJ66QPSLfFssPPQAf4Db2rPicymOiXNbIT+8WFpwzdwnFmOk0?=
 =?us-ascii?q?xOcvnGAtZXqfveikKRlIrziVGd65fCPT/v4nkoYMfuJhtFyrV/elzfAVFXDU?=
 =?us-ascii?q?KfR66I1hPKP5cjcqRHDSRmtAPJUJaCHBZf8JRSKKgXG2qqhPTqzcoNbnqnj5?=
 =?us-ascii?q?VXel+ybLonTpfZa7by0ixsvDMsNyWqLsJUQRm5mCGKimmNaH7LGTqgDQh2zV?=
 =?us-ascii?q?geADaOiEn2U?=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77817658"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dnzEWnhOk1YcRU/T1hRnWhSGfNA/opgyG3qcG4Vy4tq0cLh77vF7SJDFv7qSktaCgitF+f3Da1tMZiLL2Uj+RTi0BXcTdoGMBODoZwrY3/TLEo8IzjG0sAHOUSLwOd1+clHNEsdEZTQWV63H6kZ7qbAxHl2dK3f1qIfuausaqTav5XpBeghWeMKCBOUd3hzThPMTLsNFxcK2KrNwhtK7t9AncYIgvtxl3AEDbD42NLHQ9VNzqOcRtfhvdOKm04Ywnp7Ph5rDcMDy8OTD/VMr0zjBPIXhw7AuRZal29YzPP/+ilxMXsJ2k04OIjq2WPdcyykTQEUlcrS+flnL4rR2Ig==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7LlE2loe1zcPlhFkGFnv0Mlun/s0NVNhsNqI7pz4euM=;
 b=jmzDiCog7q+A4tmRkSBDSHS8mrxwWY3dhC76LSX0uzsosoE3/Nq+pkwliB4E0TJGie9uEKDtWCQrnjgQEzrGmR6wLuxa6W8H+iza1v48SogCbrfzis+W8ISRYsFBYJskoD1B1nR7cvCfnzLpDwWzomsnBX7n5TQpF1ZVhHzER7FoBI7vaiiCXJSZn+dhUEQNLaZ9gc9UZt5mKif5nywllJWCxzYV7nVyVUrbe5+LkV2T0GTKxHpNdAGuaaB1FGstHqY6xLkr4eCeZULhsLDzTUIOreG0rCLFLIAZbBPkDZWa7/fKhF83FXpYFuVd0t2NI99IxZMV/B/OtLVAq1fVVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7LlE2loe1zcPlhFkGFnv0Mlun/s0NVNhsNqI7pz4euM=;
 b=JKYlmh3LnZSGZPr0bLB6VEd3BB+p5N/v8b5L65/8eDb13xJpV425dXGd12ZYQFL4U/qdbbkA1e0C9B9bA/Hf4eXcRyjvgCjKCG85n2AWA5yG4DxiMfM1BrlWHKUXX3QcVYkQcF20q3VYHKryxdyKZHpMClzlgGJbXJrXXz243Zk=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 08/11] x86emul: handle AVX512-FP16 conversion to/from
 (packed) int16 insns
Thread-Topic: [PATCH 08/11] x86emul: handle AVX512-FP16 conversion to/from
 (packed) int16 insns
Thread-Index: AQHYgKL05Pj98cEMCkW8t6XeRhrzv62o1ckA
Date: Wed, 10 Aug 2022 19:01:01 +0000
Message-ID: <b2c51a01-6c25-7893-f822-854f378755bc@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <5c77cdba-fac9-d82b-9d68-40f8b4f82d66@suse.com>
In-Reply-To: <5c77cdba-fac9-d82b-9d68-40f8b4f82d66@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: acb2e3da-9153-440a-4490-08da7b02aabf
x-ms-traffictypediagnostic: SA2PR03MB5788:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 N0/tC2NQUktUzs5h1tUEx4NGsP2C+tm1w2ucoxp4P14sFUa8CvxT1/s4rtX6RV/fM01Q9oT1ZW2lc35j8B5vqpw85QpuG+vFuoZmE+0Jm5O0EmvZNbRVIRYC95bkTCmW+oo+7sBtycs7Iuc1oYRFOIz48D1CvA9n6y0RdMH1Xgn/SmKR3nDDde9zhVF3C+Ux6+eIW0TMyXRsfmXQDPZrzJTVqc+cN/NRjPs/xw5EkuIhE9VxJ0C4NbaSJGgF/js66D0AqaTFtVBd699mXpcc8IfWBqwBOJuHgDeg3/gIdSuM4jTJKs4X8CFDvZZrgTIBEE40pJjD5DpvrUn+8EjqXDwAaRrfbVT0+HS+m3ZA8Cj3KtNt0kRN2yzHUCD7tDhqMwP0b6IaE5+NRmUg0lna/kt6JXnnvvGaXEIoNf/Ps8s3tDjsa/YottoTpYHQG4hr+uD9oxGQDS6pm8AuK1gcUcBbS91CJmlwgSySso42hVtycwepuEX17SccZ9svebxq3cQlYzUqFAGHyvJk/D1cWK8zJAe9c9kLqD9VdEtwQMXP6thstkO+3f/zHTD/uPLfEtWdK9IzT/MhdFzUMCW7xb49F878CiY5OAXKoeV/mmgGUHPjnE3Kw4xHATEvZKj6btTVhmaEJ4kXMF2BYeA1VwYfH9WwJl591yFKJZmLABW9N4nic53m1KvaJUDlfhuT6tMaj0e4c2DsZtu3HQjwvyvM/oD9U1ZrH+sMoJR5dMdgdKYnrNg0JrS5eH6laooYsoj9P94xiLd5R3AglW5pUFgDJFV22THusxAvgmJCQf1/G5yod7bdh/2ZyRqdzqXIj6OYWj4Tpa+ve3TroEwEAljmiqo2mPvwFfYRAfQayHl2G8OJHFSYg1gOsUHZplND
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(396003)(366004)(136003)(39860400002)(41300700001)(6506007)(38100700002)(53546011)(31696002)(82960400001)(6512007)(26005)(86362001)(107886003)(122000001)(38070700005)(186003)(2616005)(31686004)(8936002)(4744005)(5660300002)(8676002)(4326008)(64756008)(66446008)(66556008)(66476007)(91956017)(76116006)(66946007)(36756003)(2906002)(110136005)(54906003)(316002)(478600001)(71200400001)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R3g3ZjMwcVI4d3JZYzhGRDNMb1RtVHlaTHV1NlNneXlPenY5dlRmRS9GMVo4?=
 =?utf-8?B?WE56U3BCdW1aZTh2NnIrazl6SjlZTU5UUE5xOHdwMVN0MmxOeWRkT1FhWmJ0?=
 =?utf-8?B?MU9tL3VBWmZ1blZGd3ZWdUk4L3NsRlBpamdZcEh1QTdNb1A3NWJyZ3o3RGlM?=
 =?utf-8?B?a0w4ZjdZRkl2MVdleU4wVmRnS0ZiNmMvU3A3YnNVRWsrUjJDUXF4cEJQcGxh?=
 =?utf-8?B?MjVTUXdoVUN4bDNkTW9Pa3NoTFMyYy9vbGtNQzFVSnlIRU9NcFVWRmpacVBy?=
 =?utf-8?B?QzRsM1hVamxzbGJZUXltWmg1RnBYczExa2kyOWFUQTRiaHIzWGJsaW10eFpx?=
 =?utf-8?B?VGNPSEE1b1BNUlQ1SWhVeXlmL2VsWHl4MUZkNGZ2NURFaHNTeWZ1aTE2UjJ6?=
 =?utf-8?B?b3FMY24rM0JDL2xvQkMzQzhoQ2wrNmNmazQ2Q0JjK2I2azBpaHB3UjE2SEhR?=
 =?utf-8?B?WlB5L3hOTUtlZTFMVytUa1ExUURGYmtoTlo1Mzg4bG5pT2E0L3FISWZSbFdM?=
 =?utf-8?B?Myt4dVNtZ043cmdxMk9mR2xTM2tRUnVmRXFPTDJuLzhGQWNtbHlSTlo5YU1Z?=
 =?utf-8?B?MFQybWtwSktUZW8rdTE0VkJnMHJsU0JnbVA1U0t1M25FR1dlODN3MWdhRXdm?=
 =?utf-8?B?aExMNGRjUW4wdUxHOWJQU3dYVmV5cUp2VFVjR0E2ZVlvSlBhWWpLaXZxc3Nm?=
 =?utf-8?B?aHJmeUNTNDdvejBPUnQyTTVrLy9mbG5MeTZSME5LdHVWRU1FWjZkbHcwdkhi?=
 =?utf-8?B?TnR3YXZMNnczYWN4Wis4MU1CS2p2NURhNCtxdmEvb3BqeUF4TWpsVlNlTXhC?=
 =?utf-8?B?a1U0OVRtM0JRaTl3c1VmUWk4cnpuVXFiOTZFeVh3NmlCdFR5Q0psQ3lvQmxt?=
 =?utf-8?B?RWM3YmlFUStHZ1N5bUdQY2tvMzE3THRvdUFFdUlVcitoSlAvRVlwMGl1d3pC?=
 =?utf-8?B?V0JzZWdLWTdjWHVaY1lFTE84dWJiSElwQytsMExWZE9rblhOTDdXRXRxM2xF?=
 =?utf-8?B?aEZOUk40dkovM1NRaGp4cTZHWU9qWDJMUG43dk5CZ1hjQnExc1BrNUo4OEF3?=
 =?utf-8?B?UHcwaHpIdEVDOXBxK0NRQmk2R3oxOHZzNGhjc0pKdUE3RVFtVUFkaXdYWExi?=
 =?utf-8?B?SHh1dUFxWnROZWw0YXR3dVJ5SjQvR3dGYUhBZGk3M01pMGpZcElPSWpIbzAw?=
 =?utf-8?B?NTBKVG5YM3NMU29pK0lxYk9CTGFMbHhUekdiV1NtZm1mQ01COXNXVnlESjBa?=
 =?utf-8?B?MDVrWlowSjZ1WFNMUGF2VGxVVmE1SzU2R3pFL2lpa2F5Qjc1ZW5pTmpWbGFv?=
 =?utf-8?B?QWJpY3dEQStsaTZjbm1ISFRzRG85Um8wT0RRZVVCMElJY2VPcUZ2aEkyanFs?=
 =?utf-8?B?NlRRaXV6MTFtZ0Y2cUdBOTcrUC9NV095SHFrU09TT0VzZ20rQXFkaGZGaVNq?=
 =?utf-8?B?NTBYS3FuQVI1K2dIRTNpWHBzemxtWEN3d0ZIUkkxUDdHbGlXcjRicUlneFVB?=
 =?utf-8?B?UHdlOGdRbllMclRZM1dHSERTOEpZYzh4VTNOeGt2T2lZSk8vN01JbnBBL2Ry?=
 =?utf-8?B?V1U4V2xFT2x3WXg1TldybHp0Yis4R2c1NkZQV01JZjFYNlhZVDcvVTV0T1o2?=
 =?utf-8?B?RVJyUXY2QnFsemk4cmN6RTk3VXRESXdaZFUrQXY4OWgrMVhVOXhhbW5aUm45?=
 =?utf-8?B?bm1vM3dZLzIyNjM2V3BYcytWK0Y4YVhyZEFIK09nbHdlZDVBOXJNSG9GUnJE?=
 =?utf-8?B?Y2ZiSnJkVU1EQUtlU3cyUlZiRW9zRlFIbTBuN0ZEaEExbEM2S0Z0Y1JCMk96?=
 =?utf-8?B?OGhSR3A5ZDVMZDc0M3pyWUdLWU1uUThHZkpaWEpvbFE2VllsR0pBSTlMaWg5?=
 =?utf-8?B?S2M0L0JuOHVoMXRVM0tGR0RyYjVaVXVITnZXbGFwVEtVUE1oRi96cXF3M1hn?=
 =?utf-8?B?QWhsSXBNZXFCWnNxcmM3bWtUSGsyRjRhYmxWNGQ3Y0orMVRqQjEyZ2pEdUYw?=
 =?utf-8?B?bzZjOU5kYWphOGMvVXJEbmdCNXkraHJjdW5IeS9yUVVaT20yN2FHN0ZPUWlK?=
 =?utf-8?B?N3Y2RVN3eUJzRndtdnBLaWViSklpZ3lvQXlIbGl0NGpQemdoQy81bi83NWFP?=
 =?utf-8?B?OTJTUUowV0tOOFlTYitSejljQXdDSGQxRGVSL2g1cWtnLzRaWDRhWTNhaDE3?=
 =?utf-8?B?RVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A3FA0D2EC877EE4E9F170375DEBEDF3F@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	5UowIeKwzKr1gj1R/8o0sEK7OZRDv46dB9f6mngq/uWUuzZ7AuEKph0Ki4Wole3kfeb8JgBbgr5oSXLhfzF46BtvlxPBPlZ23/TSPLf5FEGH3et2Nek6bK4/zqVIwkbpC9/FZ10SBi7EwkvIMJi6yfv+FGg1cgAZAuwOS+a71YW4NJNuMtaa0btpllx4i2GpVtw+WyGrh2EpztGu/zI9zPizCGRwRVpDQuTpM55WpCyUFjyzPqflV4SLEM362jijrqRS+fYVyh7o5H/Q+ity7pMn3xaAUKaUrEHYvxlaDjv9ICKJR5Ot/2YerUJ6Xs3FxmnpGf3HpgNa7FELL1FsVfvXJgblux9Gn3E0cuxAHSNdS/mtVNqq2FUHo/62fGtf3F8bzKQb09wHhT8v6AwEnBLLQovbnFz1lCu9N+UpKgbEQf/kunEVKbzzGcp/zR2tcVc3GSoIfgw+m4JKgwgldsrW1wwHTQNJn8ZgHbFb2+Up+N2H/xKS3sIb1jw9C5tRvYZX39tOhmEnV7YqUrNpmsEkBKUzimlwpVGzzd6tFs14YuPnV1Xx4x8Q3m5jlOlX4Nc095fcapQ/9zY6psPLvSUfhiEHcVDyau3AyUg5ezbA0aC33kk+2yNIQ46bOiqg7D9Q/XBX1Q/2IvrFtwOsQEuV85OV/et+T+4guQ7rk4HiN2SAFvM4wvZEx/Br0MFgAILxzkA3YI4/7DTaOLJK5cDghNDMC2a8WKZw+8FtX4A15bAJIK4lWyErWsQkRF58Z8DMoeo6hVrKF8sILaF3+HCoY3JAodQr4WvFEXRQ9JyzpsME6dTH24pp7eRLgbbA
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: acb2e3da-9153-440a-4490-08da7b02aabf
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 19:01:01.0846
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2+scd1OlJ2d3vSWsT6myaNPGUQ/Qy+UdKu4UMR6nMugiDZ2VAz8t4QfF5eMKKL3g5E0msTj+TO/IGUiZQ79+qe5oBUA5uOMmrNWTCM94UCA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5788

T24gMTUvMDYvMjAyMiAxMTozMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFRoZXNlIGFyZSBlYXNp
ZXN0IGluIHRoYXQgdGhleSBoYXZlIHNhbWUtc2l6ZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uDQo+
IHZlY3RvcnMsIHlldCB0aGV5J3JlIGRpZmZlcmVudCBmcm9tIG90aGVyIGNvbnZlcnNpb24gaW5z
bnMgaW4gdGhhdCB0aGV5DQo+IHVzZSBvcGNvZGVzIHdoaWNoIGhhdmUgZGlmZmVyZW50IG1lYW5p
bmcgaW4gdGhlIDBGIGVuY29kaW5nIHNwYWNlDQo+ICh7LFZ9SHtBREQsU1VCfVB7UyxEfSksIGhl
bmNlIHJlcXVpcmluZyBhIGxpdHRsZSBiaXQgb2Ygb3ZlcnJpZGluZy4NCg0KQXQgd2hhdCBwb2lu
dCBpcyBzaGFyaW5nIHRoZSBvcGNvZGUgdGFibGVzIGdvaW5nIHRvIGJlIG5vdCB3b3J0aCBkb2lu
Zz8NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:07:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383843.619044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLr3X-0001Q1-RT; Wed, 10 Aug 2022 19:07:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383843.619044; Wed, 10 Aug 2022 19:07:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLr3X-0001Pu-OH; Wed, 10 Aug 2022 19:07:51 +0000
Received: by outflank-mailman (input) for mailman id 383843;
 Wed, 10 Aug 2022 19:07:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLr3W-0001Po-A4
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:07:50 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7c9d8fa-18df-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:07:47 +0200 (CEST)
Received: from mail-dm6nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 15:07:44 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6106.namprd03.prod.outlook.com (2603:10b6:408:11b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 19:07:43 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 19:07:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7c9d8fa-18df-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660158467;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=tOooJxy2bu8fw3Zgp5s5qca9HBaouVICyCWWjcLV4ug=;
  b=gP7D12p9XfL1H5KIKCuEn6NEypf0gHP/RYPP1lxjh7J2iVQpPJTY/49O
   NCe2iOeA80r+H+izJN1hdknkPKhaTMH9Ruj8EE5LiDrJ+dJUqopjmqhWF
   HVIo65hzyskIJnVO5V/P5FFBIhqm7hhbgEAZIX0G/0DRzmH7Ile7RP3Lf
   4=;
X-IronPort-RemoteIP: 104.47.57.177
X-IronPort-MID: 78252424
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:HpFHRaIitmx06fzDFE+RyJQlxSXFcZb7ZxGr2PjKsXjdYENS1mAOz
 mMaUWvTb62JZ2egetFybojl/ENXvZPQzdcxS1BlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Es01BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE585HVkUEH4IhwP9uWERv5
 N0qOSITR0XW7w626OrTpuhEoO0GdZCuEKZB/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe
 84ebjkpZxPFC/FNEg5PVNRiw6H12T+mLGIwRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPPk2ffrijw7gPJtQrwdKUPRaWlz957mGeMnmojJR4qcnLu9JFVjWb7AbqzM
 Xc8+CAjsKwz/0yDVcTmUluzp3vslg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQCy
 Vuhj97vQzt1v9WopWm1876VqXa+PHYTJGpbPCscF1JavJ/kvZ05iQ/JQpB7Cqmpg9bpGDb2h
 TeXsCw5gLZVhskOv0mmwW36b/uXjsChZmYICs//BwpJMisRiFaZWrGV
IronPort-HdrOrdr: A9a23:OaPtTKPtgVZiX8BcT+n255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90DHpewKQyXcH2/hqAV7EZnirhILIFvAp0WKG+VHd8kLFh4lgPM
 tbEpSWTeeAdWSS7vyKrzVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH
 Pz3Kp6jgvlXU5SQtWwB3EDUeSGj9rXlKj+aRpDKw875BKIhTaI7qe/NxSDxB8RXx5G3L9nqA
 H+4k3Ez5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJptkJJi7qggOIYp0kf7GZpjg6rMym9V5vut
 jRpBULOdh19hrqDy+IiCqo/zOl/Ccl6nfkx1Pdq2Dku9bFSDUzDNcErZ5FczPCgnBQ/+1U4e
 Zu5Sa0ppBXBRTPkGDW/N7TTSxnkUKyvD4LjfMTtXpCSoETAYUh77D3vXklVavoLhiKr7zPI9
 MeSv00I8wmKG9yWkqp+lWHBubcBkjbUC32GXTq8fblrgS+1EoJs3fwgvZv3kvovahNNaWtrY
 7/Q9tVvaALQckMYa1nAuAdBcOxF2zWWBrJdHmfOFL9Ccg8SjvwQrPMkcIIDduRCeo15Yp3nI
 6EXEJTtGY0dU6rAcqS3IdT+hSIRGmmRzzixsxX+pA849THNfHWGDzGTEprn9qrov0ZDMGeU/
 GvOIhOC/umKWf1A45G0wD3RpEXI3gDV88evMo9Rju104r2A5yvsvaefOfYJbLrHzphUmTjAm
 EbVDy2P8lE5lDDYA6NvPEQYQKZRqXSx+MBLEGBxZlj9GEkDPw+jiEFzVKk+8qMNTpO9qQrYU
 oWGsKUrp+G
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="78252424"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cS1c/ixhtigDSy+WYfxGS7IQCioDVwsMvOx8YlJeDYxjVYCbP8FWnFa2oCMeSFNh4vPp7HZdziLJgLTYsCCCavGjcFHukrms/mA4rabJA5F3cbEgUclfCAfAz4SaMX7FxcpHpsS+nZHG2Jm3OcHmaCztuwT1k+03qLYqhH5pM29yfBhyH8j4iZnbC3Ax6eSkMgk+5nPxgNJaMnbMOzx687842OcMjT3J1q8OhU3su+C4s3j19CJWCsSXh8umtQGofusNLQkgN6D2QmAqpwQzWyrerilqEBNZUceOTa36Z+ikHRIIXjX456DM84In6LbJwYUXYXo2b6Fc3Tc5ak3dkA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tOooJxy2bu8fw3Zgp5s5qca9HBaouVICyCWWjcLV4ug=;
 b=HBZnSvyUnPXq2T5zk9rQL4a8Iqgz6Yf5Ty0088i69stUhTUV0DtvDVg/vyAol4CtWPoVEirbiXPSGCiXzUy3qY9jl6QrJNF/MDAM+eK03s/MyBmG+5Qt2/jxwYuS9R+SJAojs6PmS0gz+UE1F4pcnVQQZWnNJMtWgBPcvFEWMui6DCL6j1jtiG7OD5paesQ7NqMHSa7r+7cWfp19TfLgC4TskbedGE/PJYGpSDzvX0AXVifGpRK063MhFbI7JsYduQsmHIPiwQqWoAJCwCRuEmEGYAurrhql2UPnK3WVFtlAXrJgUBrbMYiOwUfNKlslBNNvdsNN0GMLw3bPLTxRWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tOooJxy2bu8fw3Zgp5s5qca9HBaouVICyCWWjcLV4ug=;
 b=ulj5J57RQWUlm4Xemf1XVjunctpVYECR/fFmEO5qzA9IWjk65G+M6Q6nxHAQVrZlAubbgMTI7dLrYKNCjbhU0QsmArRSLv1pgYnmR/euJ+6y8RKlNXImpChl1D40Clbh46hytbwHGmzr9kg+KTLG2b9buDkUtaZqkiwmG+ofx3Q=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 09/11] x86emul: handle AVX512-FP16 floating point
 conversion insns
Thread-Topic: [PATCH 09/11] x86emul: handle AVX512-FP16 floating point
 conversion insns
Thread-Index: AQHYgKMB+x4t4y5oT0i9TUf8CXbhva2o16gA
Date: Wed, 10 Aug 2022 19:07:42 +0000
Message-ID: <02383505-c26c-913a-52ce-b5f14f7be041@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <4d9c76d3-763c-c1e6-f38b-9282f023a995@suse.com>
In-Reply-To: <4d9c76d3-763c-c1e6-f38b-9282f023a995@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ae7689a1-a317-4b3c-7f52-08da7b039a1b
x-ms-traffictypediagnostic: BN9PR03MB6106:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 MYp0Ef3RBmOFvfdv1IDcEKOFiOhmvmijA9/lyYqEiwigA4q8El//43GIUmGSS5S5lwSDpNrooiGhJAx1wJ/OEAb5Q8v3iF5GMNzs8xG73CDS1PzO3Rkkl8lqZSSQTYGojJyo6mvqR/Eg+ZyI5N7yahatDoNcjncbLyAHHZNjZrNpNCO3oFGPHAc920U93UhRk7dKlytA1/6PbAg4yPJyxvoneAHQnryudhKuWaUS7DZ+4PA4Al5G0E6qoliZHMnB156QmBloOVjE0CZHlmpKbjg6tfnxsIpsLbr24x3oPLEFa3z04w6WaHvPgpXNxUY7GKmqcH5OBYa8oN36h139boYXn9DPgRB7sYqz2JAlTV2fLwdIxkvCoV3axIqEScod1TDQEdUDXMrxqig/ov9YMVlHHe+45J4TNXnMgQq2KIoaffRhjWnFA3qrBi7P8tTM6gKL9+QWPs9v73x+U7IG3T11cKYDGXm7MiuzynWuS2VGHGQ4ZgW2hMWitDhjG6VP81fEyM049+Dznt9nIJrdWVtNKc1A/0gC0L2KlADAHvjq0R5M9IoKyQyN/Gq5Pmu+3VIpx7hbbJoLao/fpxSCeNrX2t5AmJv2AWFX4zP3ozM7j+nEj+LVKtVvlsN/N1n+WHJVmb1upc4ovfa4WBRS3tWvG1TgaMaMUERrqTq/KxkNc1h+imdlqQYs9GG6JziOOEX8mj/cirosNcNVkvqFqDg9lJ1VCeMYoolZZLTXV1CzHF94nabzHKyRlb2xRfLZuW+7hB4o0RCULjYzEVQoqVLFsaW2Mj5lvZgwFqnYAgqvJOnUu7Z2Dj+35s/Ic0p4kWQMIlylRSGOj8M7I4kC5IcjMKOtCRyASm9iGzYYppFvKLlBHXZxGFPFNtUcl8DjvQL/KatDaDdsJ3bw2y1o9NTAuLLUBi75UC5jY1K7WWI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(346002)(396003)(366004)(39860400002)(110136005)(54906003)(316002)(31696002)(36756003)(71200400001)(91956017)(8936002)(478600001)(38070700005)(6486002)(86362001)(5660300002)(82960400001)(2906002)(122000001)(2616005)(38100700002)(41300700001)(53546011)(6506007)(558084003)(66946007)(66446008)(66476007)(76116006)(64756008)(8676002)(4326008)(31686004)(66556008)(107886003)(186003)(6512007)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YytnTFZsZEMxVGNxUWxIS3BnSmFoalJpOTZPYXAwSDFQRzJCS0ZVMnpKaWtl?=
 =?utf-8?B?UVdFZHFLcUJuOHRSMzZHeUNSQ2QzQUxwNTZseHJJbmFDM285b3FyaUhhVXF3?=
 =?utf-8?B?a0d2QWVLUTFVMzZ3VEJzUjVyNWJreHIyRHVsTEhmTCtSbXVYQTh1YWlHWTNl?=
 =?utf-8?B?dlI5V05ucENnRUt3eFBXYUF4cEI3RmF5TzIxd2F1bWZHL05VRHJISjdXZWpO?=
 =?utf-8?B?dk56emNXdEtPUkhuMTlYQlo1eDl6cWo4dEliZHpnMjBDYkxrKzlDU3VzMVlr?=
 =?utf-8?B?MWZnZmc0TlRTN1ROb1E4d1lDaFFkMjNLSVFXVm5SdFhhUjZDdmk0WDFOOVB4?=
 =?utf-8?B?eUFETm4xVERWNEM0YmkwV2RjaGFLYzJzV2YvY3NWanJVQk9UVmU4Q1dKWWx4?=
 =?utf-8?B?RlVXTkNLUGoyY3NtVkk1ZG1JOENPMjRwUGl3eTRpN2VBM3JiRko0ZzJ0ZVJ3?=
 =?utf-8?B?TFNNZVdubU95aUxuRzA2VEhWOGNtbktCc0ZXS2xJdEEwQzFNTVJDTi9NOHFM?=
 =?utf-8?B?aFVBaUNPdnA5N2NPTTRGVTQrdlJ3OWNrbUZOWTI0ajJhdm1GNXhNRlA0RFk1?=
 =?utf-8?B?NHM5akl6M0lBNG94MDNrMUtjTEpVOHpMelllUEcvTFFuanFBMldCZ3ZwV09s?=
 =?utf-8?B?T3ozelBvQTZyZlNHY21yOUEvZWxlU3llR1VqWmVISExjVDIwOVFib0dib2Rv?=
 =?utf-8?B?OUhqNDlleWM1RlFjRDFzRnpKWHdNNTI1eDlkNnB4V2htODNxckxaK29VWkVN?=
 =?utf-8?B?Qzh1OUhpVWdaMWozbWRDVFpWZE9xNmltUkVkTXdQQmlXdlRaYWZoMFo1aDlO?=
 =?utf-8?B?ekZYRFZRK3VRbXdjQzhGQkFtaVBJZUVtUXNFUjlzSEtaQ0hsc3pzTDk2azdO?=
 =?utf-8?B?WCtzRk52OElvWGlLRTdnSlNlbUdWRUZ5R25keFl1Rmc3SUxJcDZPWkM2bk8z?=
 =?utf-8?B?Nms3WUs5QWlIaUxnSHhwYUR0NHdkbHMwbDFaN2tDWktUOThNaHhrbzk3bmNN?=
 =?utf-8?B?bHJFSUQvQ0FGTnJSL0FScHlsYmJwZkFMM2hGaGlFL2lRTHV3Ujg0dmJYSUJW?=
 =?utf-8?B?UUpjMGZDcWpjZTJJK2NUamRXekxSeE04QXEyVmZEelFDNjlTNkI0dVlNV2pm?=
 =?utf-8?B?R1QzSWpXUlNHWlBHWm9sREhZS2kvUzBqYTdOWFBhUE5VcGlJOUgwRkYzNTZs?=
 =?utf-8?B?VXgxeTZ5MXZ3ZmlKRlpnK01pSGZ1b0xSTTZlcDkxTk4yd0RvNUpFV20vaGJ1?=
 =?utf-8?B?M0FXQS8wdmxXNzhrdDZQYlVJSW05ZW92eWRuQ0dMSHJ4eFBSUnpHY2NlYndo?=
 =?utf-8?B?VjJpa0ZKQUREWnRTWHcyM1ZBaDR6d2daQTRkdTlPcC8rM0ZPKzhNM1JhZlhJ?=
 =?utf-8?B?TE9TMi9zajZoVnBreGEvY0FEa2kwUUs2V0x5K2p1QXpGcHZTMXhMcHU1Yk5z?=
 =?utf-8?B?M2ZkbjdwWFQ1MGRWTHp4elczZ0hXUkRxellMdE11M0IxK3k3UGVzY2tYdG9B?=
 =?utf-8?B?Wll1S2NFT0F2ZGRYQUlsRi9mL3M2T3lNWUllSmhrOFRvL2ZQNklxNDNmdXpt?=
 =?utf-8?B?Y3d2a2QydVVOaUIwaUo2cEhhelJzNmhTaHUySUhzY0F5YVZOTlJBelBPNFNx?=
 =?utf-8?B?aUtYanV6dmhzTlNmK2Q2cU5hclJmSlljYnpwSEd3Sm4ybjZzcFVxR21vSCtW?=
 =?utf-8?B?dmNvNFhNQjhFRXA2U21IMjRXbHNOMTJFNFBkajdzUTVZeEUwNkVvVmJQaTlh?=
 =?utf-8?B?WWpqMjZoeTRZMzBBNW9uUHBrMWtoM1BGQXZXMS82RjEyTEQ0UUtvcndsQ3du?=
 =?utf-8?B?MERJbWVlc0FwbmJmYXpXV1pzbG1pWjdqSjVTeXU4WHYyODNUL1k5cTExWU5K?=
 =?utf-8?B?YzBLRkhYYlRqMTNNZ29EMUI0NUVyQ3YyMkoyWWlvTDhQUXg1ZjV2MWtkNEFv?=
 =?utf-8?B?WlJEdmg2K3lwYm1MeHY5eDdUVEZ6aDkzc0NwNG5ZTnpJa2Y2Yy9oYWpCRDdR?=
 =?utf-8?B?UnQ2OFNEdWhYSTE0alRUZkVqWldoc0kwMUU2cCtRck5WY28vWmU1VFlrQklw?=
 =?utf-8?B?Y3ZJZUluYUwrUjMwV3FldVdreW5lZkpGQ0JNN2JEbEovcXN2ek9PNnk0M1Rk?=
 =?utf-8?B?OWhHWTB3c2IwSmEybzBjakVDQ2lad2dYdi9OOCsxaDdNbTZEci92MWhhUDYw?=
 =?utf-8?B?NVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <66F12AD5B72DAB478D465183FBCB8A83@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	flRURK1WkWhFDsd4InSL2ja2ZFlB7MPstdhv3jCjjxASZh7BSJyDcl9vU7h14gr8rvEKLH7zYzzAA24C0hCUnfgpxKuVRA2kQ9sOPDHtb13mWDiPH6iWQIV45QOLq5D/tRwevm8RRpX3TcGuHqi3vQa1xdr/VAJ012BOdwtdrP0OZz34sES5ZYS8iCM4b2xj3vgUurwAwB3nVCrR5aX87R6vb+QA3SXYSeT2rotMHjWRZ+Qo3tnRvv19Nd+Tk0nmU27e4WJHRLEWEDFOmJOBZKaeZOjihiLtcsDNoYPxFREpTpTcoE9VPt/WxqlYVjoPdsWVNAn3ky4U2KjZ4GGG4oPNCsb27i9q94Q9MCekn6SfH5cFJEGPGFRuy4aJKJs6fvQs5cR8EUEMvcpjx2dCpkrNuvtbFhNgNGi6h1jbRYMvN4K3UTwVr77yE534XT4mOwGXt7mlg9Ip929j/xPSpRTCmaJYuBRDBZysIaSxyUtVVg1uVxL0F5OibbtBCHZvf7f6loQ6oHKeK2OuLOXSX8QqhfPibi0koyrUrZhM1wUFate5Nff5uRobFUyhH1YYUn4hGjHl7ZkjpB6IXgRoL51l5NNlDz++qJqfWhV8RaaIh+3d9+IwJfQsclgyA5zZxjoLGqUCF31ShF1DumgJ0Q96hjog3hzvz+gg7SrZOytYQUeb7qIMEM2UabochzYw8BgnLdxid+BMJA/FmCgZpheqOzg3vvbdfdW+e8Rh1JxVDbUYqSdKID0pxqNqDnKTvP9DO2ssDHggukRfSE7xc5JtHhgycXFI/ri5fTiB5u0lnD6g2JiyTIty0szmWU4Q
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae7689a1-a317-4b3c-7f52-08da7b039a1b
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 19:07:42.6801
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /KHqPIBUr1tH864bThWyUhWOlb3EpUut2Ty1Ldys6SjSiDda380ycQlu8RapiEuC7w7afZPVvW60+ZIF3hUWfo3rtEJZW2fBrO8MogIVTI0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6106

T24gMTUvMDYvMjAyMiAxMTozMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KQWNrZWQtYnk6IEFuZHJldyBDb29w
ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:09:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:09:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383852.619055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLr5Z-00025P-BK; Wed, 10 Aug 2022 19:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383852.619055; Wed, 10 Aug 2022 19:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLr5Z-00025I-8N; Wed, 10 Aug 2022 19:09:57 +0000
Received: by outflank-mailman (input) for mailman id 383852;
 Wed, 10 Aug 2022 19:09:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLr5X-00025C-Mj
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:09:55 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0346ed75-18e0-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:09:54 +0200 (CEST)
Received: from mail-dm3nam02lp2040.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.40])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 15:09:51 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO3PR03MB6695.namprd03.prod.outlook.com (2603:10b6:303:176::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 19:09:49 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 19:09:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0346ed75-18e0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660158594;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=luLz+fQFEs6jAL5QSCxGGNL2p/GBb1TxcnGWrjpqBHk=;
  b=RZCKUpQVp6mcZmxesiRYFLaK5fC7I06SHBdIKoqABHHnPMdVv+pHb1FA
   3d8K1VX1cnp9Yp+wgfltmuu4TOQyorTG2MugFEXf/yGivKjC2dBusfgRt
   YjpKv0e5MWLiJjDoqNpqL42TEP8eGAcaZ47YIQsbKi65HBk2u5Vh7kv9z
   8=;
X-IronPort-RemoteIP: 104.47.56.40
X-IronPort-MID: 77814661
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:m8CkqaBvDGrGSRVW/zfiw5YqxClBgxIJ4kV8jS/XYbTApG8jhWEHz
 2oWXm2FMqrfambwLo1yaYy3oRtTv8OBz9BhQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEsvrb83uDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW3+20shCMBsqAYIJo/RLQmcW8
 PA7DS9YO3hvh8ruqF66Ys9Fo5x5aeXOZ8YYsHwmyizFB/E7R5yFW7/N+dJTwDY3gIZJAOraY
 M0aLzFoaXwsYTUWYgtRVM14wbnu2iGXnz5w8Tp5oYIe5WTJwRM3+7/qKNfPIfSBRNlPn1ber
 WXDl4j8Kk5FZIXDl2Tcmp6qrsPFmWTLAbMKLqSx2+Vxh0Wr7C8OGiRDADNXptH80CZSQel3K
 UYZ5y4vpqga71GwQ5/2WBjQiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6ceWjgCx
 lKP2dTzClRSXKa9THuc8vKYqGi0MC1Nd2saP3dYFU0C/sXpp5w1glTXVNF/HaWpj9rzXzbt3
 zSNqyt4jLIW5SIW65iGEZn8q2rEjvD0osQdvG07gkrNAttFWbOY
IronPort-HdrOrdr: A9a23:pnOFkqtHVrKL3A2OAPyJYAa97skCXoAji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6H6BEGBKUmslqKceeEqTPqftXrdyRGVxeZZnMffKlzbamfDH4tmuZ
 uIHJIOb+EYYWIasS++2njBLz9C+qjJzEnLv5a5854Fd2gDBM9dBkVCe3+m+yZNNWt77O8CZf
 6hD7181l+dkBosDviTNz0gZazuttfLnJXpbVovAAMm0hCHiXeF+aP3CB+R2zYZSndqza05+W
 bIvgTl7uH72svLiyP05iv21dB7idHhwtxMCIiljdUUECzljkKFdZlsQLqLuREyuaWK5EwxmN
 fBjh88N4BY6m/XfEuyvRzxsjOQngoG2jvH8xu1kHHjqcv2SHYREMxan79UdRPf9g4JoMx8+L
 gj5RPbi7NnSTf72Ajt7dnBUB9n0mCup2A5rOIVh3tDFaMDdb5qq5AF9k89KuZDIMu60vFjLA
 BdNrCa2B9kSyLdU5kfhBg3/DWYZAV2Iv5BeDlbhiXa6UkMoJkz9Tpk+CVWpAZ9yHt6cegF2w
 2MCNUXqFkFJPVmEp5VFaMPR9C6BXfKRg+JOGWOIU7/HKVCIH7VrYXriY9Frd1CVaZ4u6faoq
 6xJm9wpCo3YQbjGMeO1JpE/lTER3i8Ry3kzoVb64JisrPxSbL3OWnbIWpe2PeIsrEaGInWSv
 yzMJVZD7vqKnbvA59A20n7V4NJIXcTXcUJspIwWk6IoMjMNor239arOMr7Nf7oC3IpS2n/Cn
 wMUHz6I9hB9FmiXjvijB3YSxrWCzjCFFJLYd3nFsQoufgw39d3w3koYHyCl7K2ACwHtLAqd0
 1jJ76imr+npACNjBT101k=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77814661"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DkRWMGtGKxF8N5+PEBwiLYBTrfFB7JHHTGDTrMF5m1WX6JEzZUMpysM23u/W4YFt6mmBIjWvfCOBOsNz+D883ZTCTUIJZaKPwQgkvqQqUqXANK+xGWbtvDjkfoCOHYIULi8h86CNKBfvTJO/QRwiIhAFfFrGVGQhjWCSKouS3tglvZkmo4OP/ocSzsKQiJd9kCNZQQ96908yKm41wpRlBWAtaArmiDDUl43QABxDetC0cwRYyii60wTkTdQ1suxMxAUCAkbp/RHOIEQcvxTLJqGgEV9xphuHT3CfvNnZNwe5BS3avySNY4njJgIR0p8ScN2aZGN21T+cTQ/SPJXCKw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=luLz+fQFEs6jAL5QSCxGGNL2p/GBb1TxcnGWrjpqBHk=;
 b=Q9MWbKAAb7D6drFp832tmtHXtb1nzVPK4KC6ifTxAXRW0furlxg13mEZ2HeWC39RW+n7qPlyDV3HnEokz/H2SCPU+6eXZUS0nnZng4affxZv1zwy49ARg0oP273O0JwDmwziX16rR/YfADozAQiSWA1kNDGD3G8rio6DBEK94P560mijrr22jU2unO8zMEc2mdaycKgogyG/BWv97GacJRLn5393VWMumD4QhL8FW3J4nGikcSMgb8wmRIyhWhF0DlulKIqKqbf6Ex0kq33RbZMB+D6pU7Wtcyvi5+tCJwb5yHW2/Dqjum1mMozCrF6vH02Ff/cIv3YUVlr49mXLUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=luLz+fQFEs6jAL5QSCxGGNL2p/GBb1TxcnGWrjpqBHk=;
 b=nk+ydVhc0ieYZR1aaGTsnfcMPz/vTEv6G9m+jNdTzSllpA/OQjszEP+eD75YMm1P8GXfEOo4MzfkWpnNiyRCyL+mhXZrkrdEaXoA5yN/O+4fEHkZvHfN+vlL19ZW+nm5X9fh+Z3S71mZHAeNIHbqForGFdTR2WX1ipvUsi6dMUc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 10/11] x86emul: handle AVX512-FP16 conversion to/from
 (packed) int{32,64} insns
Thread-Topic: [PATCH 10/11] x86emul: handle AVX512-FP16 conversion to/from
 (packed) int{32,64} insns
Thread-Index: AQHYgKMWKPihk5cLF0yn90+JaN8SLK2o2D+A
Date: Wed, 10 Aug 2022 19:09:49 +0000
Message-ID: <11a429f8-0ba7-f380-e7d0-28817cb9593f@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <2f99e91d-6a91-f860-45d0-9c8b67c9b2b8@suse.com>
In-Reply-To: <2f99e91d-6a91-f860-45d0-9c8b67c9b2b8@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6812cb55-ac83-4abc-fbf4-08da7b03e5c7
x-ms-traffictypediagnostic: CO3PR03MB6695:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 j6qu6tNXI47o11uRlCeYr9zIgvREsTu0BWuRPqDXfr2t7HfMf0a2dNteidp7k7uZhXUMmin3J4zzGY1USJUNtVb1QqYOn6jUxTssdD8IMM4k8drdcLZCne7h54OCW/0J7G10bFuix+55kdd/NABk4jz5bmHnJopSDLAFMHRE/A6tcMRD54j/MwBlymyYc2ZcqBIet2NDwqkVi7yMmFjOM++uy4Jub/jAMXIUYxlBUQJ97RfbcYsBlUM7yA2ut8luKi99oNXWxTqmf14LLLx7mftWpnw6y9M8AuyzSX5V4o6j4G4yxA40MHmDFTnnk+qiDVagKwYAoQZjXNUXwy53yYGisKKAzW4VPCBFtUt5dwgvv1QB42TW4Xr9gxnIu5BUN0q/SCVSW93MoPxtLOLwcTw8yS8GUTTCBPFOQwyNFSy5Z2jQ7TFIr42VtCu46Vc07fggQPubBoeTaMZpHojXvPeo7CgnplB2ud83SuP0QfucpERZ9+2MiXD9s8c6R3XUSpEv/BzzogxHBZaeADHu/GxewUhNgj62FBJbxiUHnsnkiniqyFA7OuSDudWLvANMFdV7GfZBzAid3RR/b1ZpyIkLbKzhM8G2gme5a04Ait4j7w7r2UxVXT9vzcb1dv2KxECaphVrzAVAtdhSIr4DPEmVKeM0P00TW08JysV80BbW8a2eeKR4YIdUTt7pX1CvOK26LI3O/HywLbf4u5MUHfX4TMhkrgxlHsMzEtM8emI7F9fy2F5UYRm72z3Nwz974s22Mt7ZNT0UUGmEIMgcmhKyoXMGcxXR+XhlOKI1qD5WqKkQiKODH7FWprvxltjyNcIcyOLAJuOkbVqAvb62Bj6prvXy900E+ohkKQvpo+k=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(39860400002)(346002)(136003)(396003)(376002)(4326008)(66446008)(8676002)(64756008)(5660300002)(66476007)(66556008)(91956017)(76116006)(316002)(66946007)(2906002)(122000001)(38070700005)(8936002)(36756003)(82960400001)(31696002)(86362001)(38100700002)(478600001)(6486002)(41300700001)(71200400001)(110136005)(54906003)(107886003)(53546011)(2616005)(26005)(6506007)(6512007)(186003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UE4zRmUvNnd5bmRGYnBHZlVoU2pNMlhSd1VuaVRVTGVGSjA2OGo5elgvb3BU?=
 =?utf-8?B?SU5IaHczTzZpUG5BN1JnczlGTnptSlBmYlUzdzNwanZlcmdCaHFrL0R5bkpj?=
 =?utf-8?B?UVFNZGtRL29IZWQ5OERCWlAxbS9DdU5rOTZvODh1ZmF2QkpoMDVtbWlER0hz?=
 =?utf-8?B?RXZWSTRpT21RenEyMFlFRDZIZE81UkdmbnNleDZ1Y2lhNVR3MFp1Rm5uU0Rl?=
 =?utf-8?B?VjFzVGRaRXdWQnVLQzJBdVNrU2gxN1RvaHlmRkg5MDZkdVpySEgzUk5SMksv?=
 =?utf-8?B?aW5iSFRnczg1bkNXVTBnQlFmTVVCWEtMa1NoVTQra2F4WWU2eHZMY3B3N3RQ?=
 =?utf-8?B?ZUpGaDhGVXZtN2NMSEw2ZCtjUUZnV1VpaXpRR1B4QThuRzljSVF1RWFtblp5?=
 =?utf-8?B?QTJKWmNWT2RDQ3U0ejF3NUwvY1lQUkZhaXJXdkgvdWg0dXhhMUxYKzNBNm9p?=
 =?utf-8?B?YnRyclA4TTF2Ym9PZ0Z6TUpPV0owaEtsaTl4aFhpQmNRWlR3K2IvUDIzaDht?=
 =?utf-8?B?VmNuTnlvalhwWGZXUFhWNms5aEZxbDdpM3RkbUtDdDBZYkh4RHFPUmYzVmVO?=
 =?utf-8?B?aWRFL0xOdUZwSnFZdzQ2RGt5RTU3ajFyV0RtZ1QvUDFZdUNWMC9haG1HWExl?=
 =?utf-8?B?U1VMTnRQclhJckE5WEFvUXNIalJwczlmVWtpcGhIZHdJRUpHS2phdjE5dFUw?=
 =?utf-8?B?SXlFOG9hTWZLVk9raERTRnMzRTBxc05ENUhTN3FZVE83cGhSK2N3Rk9VNXYv?=
 =?utf-8?B?dXlKNUlXU0ZLSHQxSldud0ZaeGRXRXBlUkJXbUJQa2ZnNE9ya2hhNndpTkJy?=
 =?utf-8?B?QUE5U2JhTit5L0hoZlJpbS94NEV3OU9BQ3ZCSXdnU0VvSGQrRzF5NWhQQXJu?=
 =?utf-8?B?NU8ybjBuT05OeTlBZVZFdk5oZTZjTjhEZ1lGL29FTDAxOFNIclJ5M2dGQ3Rn?=
 =?utf-8?B?U00vcEpVa0ZWNE96a1hSSUtULyswL2d1d0tkMlVpd0NuWkUzZml0c3B2Z3I3?=
 =?utf-8?B?OGo0K3FYbXdMV1NWcXhYRWR2MkZ4dGFkQ3JCUVpNY0RUbW9hamlXNVhjZTJx?=
 =?utf-8?B?M2p1V2NqVGNrTzByaVlPaEJQRGN2NHV2YWRkaW11ZU91YWZwVEZHZjV5aVNu?=
 =?utf-8?B?SEI2ZnlBRGRJb2pmVmNaTUo2ZFV5d2hMQllhNmZwTFVKUmY3SFh2UHlRUHNh?=
 =?utf-8?B?M0V0cE96K1A3V2lHT1lSVkNKUWFTQ002NzRlN24xUU1VRnhFdXB5RmJMUUl5?=
 =?utf-8?B?NkVZUER3eUUrbk5KUXhTbERRdUZqTHFXUGx2Q3RadUNTNXd4Sm1hZHVKc1Zh?=
 =?utf-8?B?K2dnMG1KVlVNQmk4YlNNYUV6TjN5TEV4aHgyUlg0TTBtY0RkajN5YWRYL1pj?=
 =?utf-8?B?aEMvSmk0eUtJS256UXE0YjRSSVl2b0dDRkZSOU5ob045cHJOOW1Nelp0cHNN?=
 =?utf-8?B?dk1kczBqK2tZTU1pRDFrNVNZVUZEV3p3WHlMcHJ5ODRVamdvNXhKMU4xMEpx?=
 =?utf-8?B?SUZNZHl5OHNGa3NocFR4QVNFaDJjTnRtRGNSbml2R3VGN3hEbldKN3EvWkd6?=
 =?utf-8?B?WmZGQ1lHcm5nMXFmZGNRamlORGwwbWwvSGlQanFwbXBlZTZHWDMra1VsMFZJ?=
 =?utf-8?B?b0F0ZmpIVEdsby9zVWNsSjg0cUxsZ25mbzZRb29XOEsyaU8rQjA2RUxybXRW?=
 =?utf-8?B?aEFuWVFINzRRbzlrUitwN080NDZXZWVoTHpNdHR4c253aW0zTnc0bDNkakxE?=
 =?utf-8?B?K08rOXBIQUowWHo4OGhnM1lEeUY1Rkl0S1FOZE5ERUNRQW5jME9XOTNhQXJl?=
 =?utf-8?B?QVdwekdzVE5Vb1VPYkUzOUljTm8wTzN5QWtRdlNVSE5qUzJBSXJQSHdHTThO?=
 =?utf-8?B?WExtOTBoTUQ5VWs0SkZhc202SkY4dnRCaGtLWDVRQUppNCtKeXNZcVU2eUk0?=
 =?utf-8?B?YVZ5YnlTa05qcDF0SUd4SkUzZ2hNdnEydUpDclRzaW9iejc3cmIzbEpOVU0y?=
 =?utf-8?B?TzM0U25CaWNvLytZSFZrMEFiVGwxLzhERzFzRTlPakJ0djJoZXpIWjQwaVBa?=
 =?utf-8?B?eHFwRGx4UXRoWTdCTHVoVEtoMU92akZ0RlRNUGRlampDUkd4bm9VbjhOcGpj?=
 =?utf-8?B?M3NlZUpBa0x4N0I5Y2VyanpyOHVWdFNuaU56N3o4blIzVGNJMXRtWks1bndm?=
 =?utf-8?B?MEE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F7CF7410D41DF34AAE16E579DC0B2EC7@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	FnHE9S8e2PKBZSE6JagyuhQw0O6rmq/RmcCrS9AXagFRL990o05TTVUt0aFcsxjdARSdTKyyJ/KMpp9ksefFGsHw5LfOGxZ/as2pGFUL1WTVT4mE2V+PABSFAQVgYnCU6yS6SCMGdx6C0wm92b32fY0ZlmlwbajqY/Kuh2sX3jTrAIX8oIXmBfCqr3g9SG/ORHVtUDUsuP/zVaOHNY9RewbC3wiCKX+jn2fPl/NhcHLGg3lqWgH1zsvdA6UWexse9bLMgMZD/v567ikCbRCsCnEplQXDExn+YvjxYuqy6qrKdXQMsGbpo7DaEI63+wjywJ91h366FWukpUNg3tOLHQBai78P8HgJaEiQ3uAzdu9DTpcv8OMFSykY0oMBxCAof7vapvCWuIRZvyz3c5ZYuH8EiuYvaHeol4JAdMhoQdtMaCtHah0q6a1ZhOrcjphtLUH6NsBDNgty0SPnBQ1bsw0KWj37nw44re8YTbjDg9nIc+l3Drj8Fp5oaLrHiUgfF/PoAqcpl7RcFjOk6VB1Yp7Rtvfy14dHZM96LXcsoMJkY4nrnxW9+HQQs0vI1xQupHgwHdwY0PkBOW0dUWlo+66rkSydyQgb5kVp9+gw0HMwQrV6wPekfp7ffw/GdFnqZygZ/qzjFBmBHyLTLdzp6tS9hkj7muT40WeymYcmIaYejSBz4JJH6gI8LSXqCGdbWSNqCrlaTDYDwpnhiNtmxniTWd1Kd/qSyqUO7WhqGeH7PpiTvFLa2aWxEYQI6q+2fu6ERF41aLx/c9sp0KwCJU9MOV+gials7dqv4FUVfv6ZOczARTMbgWnXO1TmzT4M
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6812cb55-ac83-4abc-fbf4-08da7b03e5c7
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 19:09:49.6397
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9lrbu4fpYjFGHQDDIQdBP/u7YdCzJ7jUdxcrooMwSgiPEK06nJKVYTz3+o4C0Gqy9OVm46k+/DXUK6tWMhh1ULj3/KsaqAwEm9xUw1A5YQY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6695

T24gMTUvMDYvMjAyMiAxMTozMSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4NCj4gLS0tIGEveGVuL2FyY2gveDg2
L3g4Nl9lbXVsYXRlL2RlY29kZS5jDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS9k
ZWNvZGUuYw0KPiBAQCAtMTQ4OSwxMiArMTQ4OSwyNSBAQCBpbnQgeDg2ZW11bF9kZWNvZGUoc3Ry
dWN0IHg4Nl9lbXVsYXRlX3N0DQo+ICAgICAgICAgICAgICAgICAgICAgIHMtPnNpbWRfc2l6ZSA9
IHNpbWRfc2NhbGFyX3ZleHc7DQo+ICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICANCj4gKyAg
ICAgICAgICAgIGNhc2UgMHgyYTogLyogdmN2dHNpMnNoICovDQo+ICsgICAgICAgICAgICAgICAg
YnJlYWs7DQo+ICsNCj4gKyAgICAgICAgICAgIGNhc2UgMHgyYzogY2FzZSAweDJkOiAvKiB2Y3Z0
eyx0fXNoMnNpICovDQo+ICsgICAgICAgICAgICAgICAgaWYgKCBzLT5ldmV4LnBmeCA9PSB2ZXhf
ZjMgKQ0KPiArICAgICAgICAgICAgICAgICAgICBzLT5mcDE2ID0gdHJ1ZTsNCj4gKyAgICAgICAg
ICAgICAgICBicmVhazsNCj4gKw0KPiAgICAgICAgICAgICAgY2FzZSAweDJlOiBjYXNlIDB4MmY6
IC8qIHZ7LHV9Y29taXNoICovDQo+ICAgICAgICAgICAgICAgICAgaWYgKCAhcy0+ZXZleC5wZngg
KQ0KPiAgICAgICAgICAgICAgICAgICAgICBzLT5mcDE2ID0gdHJ1ZTsNCj4gICAgICAgICAgICAg
ICAgICBzLT5zaW1kX3NpemUgPSBzaW1kX25vbmU7DQo+ICAgICAgICAgICAgICAgICAgYnJlYWs7
DQo+ICANCj4gKyAgICAgICAgICAgIGNhc2UgMHg1YjogLyogdmN2dHtkLHF9cTJwaCwgdmN2dHss
dH1waDJkcSAqLw0KPiArICAgICAgICAgICAgICAgIGlmICggcy0+ZXZleC5wZnggJiYgcy0+ZXZl
eC5wZnggIT0gdmV4X2YyICkNCj4gKyAgICAgICAgICAgICAgICAgICAgcy0+ZnAxNiA9IHRydWU7
DQo+ICsgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gICAgICAgICAgICAgIGNhc2UgMHg2
ZTogLyogdm1vdncgci9tMTYsIHhtbSAqLw0KPiAgICAgICAgICAgICAgICAgIGQgPSAoZCAmIH5T
cmNNYXNrKSB8IFNyY01lbTE2Ow0KPiAgICAgICAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAq
Lw0KPiBAQCAtMTUwNCw2ICsxNTE3LDE3IEBAIGludCB4ODZlbXVsX2RlY29kZShzdHJ1Y3QgeDg2
X2VtdWxhdGVfc3QNCj4gICAgICAgICAgICAgICAgICBzLT5zaW1kX3NpemUgPSBzaW1kX25vbmU7
DQo+ICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICANCj4gKyAgICAgICAgICAgIGNhc2UgMHg3
ODogY2FzZSAweDc5OiAvKiB2Y3Z0eyx0fXBoMnV7ZCxxfXEsIHZjdnR7LHR9c2gydXNpICovDQo+
ICsgICAgICAgICAgICAgICAgaWYgKCBzLT5ldmV4LnBmeCAhPSB2ZXhfZjIgKQ0KPiArICAgICAg
ICAgICAgICAgICAgICBzLT5mcDE2ID0gdHJ1ZTsNCj4gKyAgICAgICAgICAgICAgICBicmVhazsN
Cj4gKw0KPiArICAgICAgICAgICAgY2FzZSAweDdhOiAvKiB2Y3Z0dHBoMnFxLCB2Y3Z0dXtkLHF9
cTJwaCAqLw0KPiArICAgICAgICAgICAgY2FzZSAweDdiOiAvKiB2Y3Z0cGgycXEsIHZjdnR1c2ky
c2ggKi8NCj4gKyAgICAgICAgICAgICAgICBpZiAoIHMtPmV2ZXgucGZ4ID09IHZleF82NiApDQo+
ICsgICAgICAgICAgICAgICAgICAgIHMtPmZwMTYgPSB0cnVlOw0KPiArICAgICAgICAgICAgICAg
IGJyZWFrOw0KPiArDQo+ICAgICAgICAgICAgICBjYXNlIDB4N2M6IC8qIHZjdnR0cGgyeyx1fXcg
Ki8NCj4gICAgICAgICAgICAgIGNhc2UgMHg3ZDogLyogdmN2dHBoMnssdX13IC8gdmN2dHssdX13
MnBoICovDQo+ICAgICAgICAgICAgICAgICAgZCA9IERzdFJlZyB8IFNyY01lbSB8IFR3b09wOw0K
PiBAQCAtMTUxNSwxMCArMTUzOSwzNCBAQCBpbnQgeDg2ZW11bF9kZWNvZGUoc3RydWN0IHg4Nl9l
bXVsYXRlX3N0DQo+ICANCj4gICAgICAgICAgICAgIHN3aXRjaCAoIGIgKQ0KPiAgICAgICAgICAg
ICAgew0KPiArICAgICAgICAgICAgY2FzZSAweDc4Og0KPiArICAgICAgICAgICAgY2FzZSAweDc5
Og0KPiArICAgICAgICAgICAgICAgIC8qIHZjdnR7LHR9cGgydXtkLHF9cSBuZWVkIHNwZWNpYWwg
Y2FzaW5nICovDQo+ICsgICAgICAgICAgICAgICAgaWYgKCBzLT5ldmV4LnBmeCA8PSB2ZXhfNjYg
KQ0KPiArICAgICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgaWYgKCAhcy0+
ZXZleC5icnMgKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgZGlzcDhzY2FsZSAtPSAxICsg
KHMtPmV2ZXgucGZ4ID09IHZleF82Nik7DQo+ICsgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0K
PiArICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgICAvKiB2Y3Z0eyx0fXNoMnVz
aSBuZWVkcyBzcGVjaWFsIGNhc2luZzogZmFsbCB0aHJvdWdoICovDQo+ICsgICAgICAgICAgICBj
YXNlIDB4MmM6IGNhc2UgMHgyZDogLyogdmN2dHssdH1zaDJzaSBuZWVkIHNwZWNpYWwgY2FzaW5n
ICovDQo+ICsgICAgICAgICAgICAgICAgZGlzcDhzY2FsZSA9IDE7DQo+ICsgICAgICAgICAgICAg
ICAgYnJlYWs7DQo+ICsNCj4gICAgICAgICAgICAgIGNhc2UgMHg1YTogLyogdmN2dHBoMnBkIG5l
ZWRzIHNwZWNpYWwgY2FzaW5nICovDQo+ICAgICAgICAgICAgICAgICAgaWYgKCAhcy0+ZXZleC5w
ZnggJiYgIXMtPmV2ZXguYnJzICkNCj4gICAgICAgICAgICAgICAgICAgICAgZGlzcDhzY2FsZSAt
PSAyOw0KPiAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICAgICAgICBjYXNl
IDB4NWI6IC8qIHZjdnR7LHR9cGgyZHEgbmVlZCBzcGVjaWFsIGNhc2luZyAqLw0KPiArICAgICAg
ICAgICAgICAgIGlmICggcy0+ZXZleC5wZnggJiYgIXMtPmV2ZXguYnJzICkNCj4gKyAgICAgICAg
ICAgICAgICAgICAgLS1kaXNwOHNjYWxlOw0KPiArICAgICAgICAgICAgICAgIGJyZWFrOw0KPiAr
DQo+ICsgICAgICAgICAgICBjYXNlIDB4N2E6IGNhc2UgMHg3YjogLyogdmN2dHssdH1waDJxcSBu
ZWVkIHNwZWNpYWwgY2FzaW5nICovDQo+ICsgICAgICAgICAgICAgICAgaWYgKCBzLT5ldmV4LnBm
eCA9PSB2ZXhfNjYgJiYgIXMtPmV2ZXguYnJzICkNCj4gKyAgICAgICAgICAgICAgICAgICAgZGlz
cDhzY2FsZSA9IHMtPmV2ZXguYnJzID8gMSA6IDIgKyBzLT5ldmV4LmxyOw0KPiArICAgICAgICAg
ICAgICAgIGJyZWFrOw0KPiAgICAgICAgICAgICAgfQ0KPiAgDQo+ICAgICAgICAgICAgICBicmVh
azsNCg0KUGVyaGFwcyBoZXJlLCBpbiB0ZXJtcyBvZiBvdmVycmlkaW5nLi4uDQoNCn5BbmRyZXcN
Cg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:14:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:14:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383862.619066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrAB-0003VE-UG; Wed, 10 Aug 2022 19:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383862.619066; Wed, 10 Aug 2022 19:14:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrAB-0003V7-Ql; Wed, 10 Aug 2022 19:14:43 +0000
Received: by outflank-mailman (input) for mailman id 383862;
 Wed, 10 Aug 2022 19:14:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUq/=YO=citrix.com=prvs=214886735=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oLrAA-0003V1-7s
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:14:42 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae3c792c-18e0-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:14:40 +0200 (CEST)
Received: from mail-mw2nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Aug 2022 15:14:38 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5268.namprd03.prod.outlook.com (2603:10b6:a03:219::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 10 Aug
 2022 19:14:36 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022
 19:14:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae3c792c-18e0-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660158880;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=QTx+Kz/aEwuTzgAjrw6hrgZaNaf8EX8zcO/0uiPVfDc=;
  b=D2wppvezJ8fOmXsImrW5KWlJtIOi8ImEzWSpUAlkMSMayyN0xhu3AIfb
   xFyuSuCvleQdcwNAvOv3VIgV/nSu0ioV+2e10X6LT0m3u39P9hS175aWQ
   AcBhBdt9HWsIqKTsQvyA96ivNgnuDJLbPx2+YlD8AlPW/WprphoeNjhM7
   o=;
X-IronPort-RemoteIP: 104.47.55.105
X-IronPort-MID: 78253028
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:qwieNqDTDcLtsxVW/zDiw5YqxClBgxIJ4kV8jS/XYbTApDwkgWAEz
 WocDDzVP62KYjCgLYh+PNi0p0MPvsLdzIc2QQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEsvrb83uDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW17v5Ok2UxoRBrAn1PlLHUMUt
 r9CMwlYO3hvh8ruqF66Ys9Fo517aezUZsYYsHwmyizFB/E7R5yFW7/N+dJTwDY3gIZJAOraY
 M0aLzFoaXwsYTUWYgtRVM14wbru3yGiG9FbgAv9Sa4fym7f1gFulpPqN8LYYIeiTsRJhEeI4
 GnB+gwVBzlFZIbCkmLfohpAgMfshTjwdqRNLoGe2eNxvVnPxE4SOgYvAA7TTf6RzxTWt8hkA
 04e9zcqrKMy3Fe2VdS7VBq9yFaUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebSMu/
 k+EmZXuHzMHjVGOYXeU97PRqCzoPyEQdDcGfXVdFVZD5MT/qoYuiB6JVsxkDKO+ktzyH3f33
 iyOqy89wb4UiKbnypmGwLwOuBr0zrChc+L/zl+/sr6Nhu+hWLOYWg==
IronPort-HdrOrdr: A9a23:1I0We60mBX4jTbjk2bsG2QqjBEgkLtp133Aq2lEZdPU0SKGlfg
 6V/MjztCWE7Ar5PUtLpTnuAsa9qB/nm6KdgrNhWItKPjOW21dARbsKheffKlXbcBEWndQtt5
 uIHZIeNDXxZ2IK8PoT4mODYqodKA/sytHWuQ/cpU0dMz2Dc8tbnmBE4p7wKDwMeOFBb6BJcq
 a01458iBeLX28YVci/DmltZZm4mzWa/KiWGCLvHnQcmXGzsQ8=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="78253028"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GwjDWNiGJnHlKQWPGJNHubzNNI2ffHsc0ejHWrILuyzVY+6BGHqZAU9dI5caU1NuWOiZg3WxS1YyBW8lnMW+WNVX4HV77xQF+E71GNskGviIef/eKvmzYfpbl0PnD28LeOyCjmuspiy8hGr77HFltN+SJdAHdGda/ceLaBsVxEqNyUqOzrkQ5QYlwthjcZmb2YmALyeuEuBRPU4FNTsqcvdFc5CHfVBK9ur4OMBAaQltrcCPm97iV1Il/thjEot2hNVZTU+YrWrdZvryyK6Br04oZ/k8NRprHX89BB52ewBMXdThtb4O3SRIQQQmwVRinPOyytcPM6diHd+EbLXwXw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QTx+Kz/aEwuTzgAjrw6hrgZaNaf8EX8zcO/0uiPVfDc=;
 b=ITxFefYg/AqSxU1/ISM32Haejoc0ShNj6qp8MzY79ZSx1BgunkMXtQWXwLpodkZEsd+Lf+TtrVAJL3QWLNBNVKR5IUzUTOadl8hfOUJryH271fGkPn1+1fg/2xkI+Y00O8cTesbMhy/M0Nd52jJnpP+Z8EYUTqz3CFor9dqOV0Xf6AX33+CPo4uSxlHvBfZgln/pY6JWHBSBNUDTHb4UrRkKF5vjjRsLgO0nKIrb8joFby9uEIaSNXW/HS/KmyFfNUPymTyFhiGQUL9tN67nZ1BnBpeaY9FfH3jgJ6Vusn5cTvtzvhMTHPe3gpX1YOmea1OT/fam3HkWjQabUi8vsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QTx+Kz/aEwuTzgAjrw6hrgZaNaf8EX8zcO/0uiPVfDc=;
 b=AVbnu1WSZ4GE4i7BgKdlgFfukXVf1PV7QdxS7eYedaenSTh/W2DExY2FHXfAD8jpIY2NxZ3t0NHQRnmoSAH15KOEbf3yE3IshsCKGOG0WGS6+T+Cjx/wl66CJy7ZSOZC/Kut/2LsoK+GiR+T98EKEvDk1HytqJCfPhjuj2rVrLw=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 11/11] x86emul: AVX512-FP16 testing
Thread-Topic: [PATCH 11/11] x86emul: AVX512-FP16 testing
Thread-Index: AQHYgKMxj2bzalbWCEimkboyQ2IgqK2o2ZSA
Date: Wed, 10 Aug 2022 19:14:36 +0000
Message-ID: <ec0c4bf4-b3d4-8921-a369-3798c5d36168@citrix.com>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <a64d46c5-53ca-299e-a7f7-7f66f6ae871f@suse.com>
In-Reply-To: <a64d46c5-53ca-299e-a7f7-7f66f6ae871f@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c11df64e-d8b0-4f65-8fe3-08da7b049097
x-ms-traffictypediagnostic: BY5PR03MB5268:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 FBb0lgEa/fCwkb9BTxrrauG4iQCxXPDrDu0zl3zYrgt5ZR9O4pqzky8ReuvszNUI/G+ndujEBZyNdxyW1+5y/TZPHjmstC3OdNduFOf4rdhoU0TkNVhActmPy/J6jBfea0oh1KfHaVft+qAYeHsOKICF4CZctE5mghhrTlcZNprCVvVs3GeTVUT9Ii5Woy1VW/JybYvyWRbcRSdqL6wIZvDjOsivklvZuFE4JVhTyIX7A8MDdwSCou++U5mbD6kMnxEI+JURzKPd9KRK8FSpd1qqamSoMNgL7a5AEVmZuqzPDeF9dblNA09JG7ZeTbQwBMYYawrgHBsTJ6jweIuTvKGX6zvXUdzaNZzSC9a2mTQdfI7Nofj7ryndEOgIwzubZ6CTXOcNwtOJuKPtOkForp9DsA8h4g74wNN74NdlkN3Ge5TEthG5lnw8UMGtbCmrWpEEnbwqqHrrM59Aicz0BCsI1jT6BH+1sQuxjOSFK1Ajbg8IHhiO/WQlwYmJY7KvbajFjQUTXisj+eppSsI8vjzsunvpHPPiHzF9gtP1cRPQWAifX9a4mtZPnMqir7rT072ODPR+cbne+3QeSw0QWpf9nBKeq69CgolTfotPMSlJY3F4tTx1pNgYPaX580gxbiWTaVapZyssb9f/4EPADqLe/9LdHd2iZerk7F9cPsCVYPm5nKHDOHiwOTEhvbsHrQhK6lPZXHzwt2TNpeiSSZ5byAl5IqB/AOlVJXR29KE4Bh+GOEzr6ZsEaQXnQWbqh2VpDxHRfeQItv0ONv+2PN6cmxvfMi8mqTpOJxJZpoaR0loJxWo3bPEPDk0V6bAb3pzq2xGrn8Yv9XV9TnyJCh29btOlOfw/EuQrJczugpe616JapymcW4o2RfBwVOJO
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(376002)(136003)(39860400002)(366004)(53546011)(38100700002)(41300700001)(2906002)(122000001)(83380400001)(2616005)(6506007)(186003)(107886003)(6512007)(26005)(64756008)(66446008)(66946007)(31686004)(66556008)(8676002)(4326008)(66476007)(76116006)(36756003)(31696002)(91956017)(71200400001)(54906003)(316002)(110136005)(5660300002)(82960400001)(8936002)(4744005)(6486002)(478600001)(38070700005)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SFA4aFFlN285ZXNLaWRFU0FITnV2K2swdFE3VWtDQlprd1EwQ0VGOWI3SVBL?=
 =?utf-8?B?Sjh6bFBxeDVRekdWajRDalBNUENZOU1NVWV2Q1RqOUU1TDNtYTJRRHZTb295?=
 =?utf-8?B?VjZiajBNL29mU0tvVDJrWDVEcExadVd0aUFLdXRKR3dVWGxTL09FMXh4V01L?=
 =?utf-8?B?V1A3SmhKTGtaWFJNU1NkOWU4TzBBMWFKellXYVcyelVwQmNGVXp5N3o2c1pB?=
 =?utf-8?B?NGd5OHRXOXJSOTEycnJTdTE4Rzh5L2x5SldyVGZXdW1IbEY5NEpSWCtTV1hB?=
 =?utf-8?B?Rm9rRmw5NTVPRGY0bXRqT2ZQZytYTGtRenNaZnZXOFVtcUIyRGxnRjlRVjFS?=
 =?utf-8?B?Nkt3cTh1cUdXWU9HQnZHSWw2QnFqQ0FwNUc4TXRXanU5bndxM2RoeitlL0Z1?=
 =?utf-8?B?TkxjZkVVU3RHQlk5d0hiU2VUa0FyKzRxQmw2YmNJejNzQjhnSkl3THNaUXRG?=
 =?utf-8?B?QVFCWmxzQ0IvYmNTNDdMNUprYW03OG1iZThBWFlsWHd4NnJRU2QwY09iZFhj?=
 =?utf-8?B?dG91VDY1WFhjTmRqdDlPUVhYN0U5ZkVBVTJocHdwQjdia3FqR1BQOFlxWUNk?=
 =?utf-8?B?QzArb3ltQjY3dzFZY3grdWdTcncwZENLZE5Zai9wVnRCNTR3SnFOdWRFWEN0?=
 =?utf-8?B?eDZDLzBmT25KajlyZXQ1SUdXTGR5Y09ubktDc25HQnRWbHV3K0dUaElrOWh2?=
 =?utf-8?B?R2lKOGUyai9xMTd1QXlaOGk0TVdwRC91STRNUjA5NWMvMkZUUVFMMGdSNmdX?=
 =?utf-8?B?eFdaOGtwalp6VDZhV3doM3M2bFRDdXVxdVJnUnZOdlpVdEJmMTduc25zSVhr?=
 =?utf-8?B?SWpwRXpCUnVSeXBraFdXM29FaisyMWdLS0Y4ak84RUVGWC9KWU1KNDZLdkRC?=
 =?utf-8?B?YUd1NDVPSWJyK2FVWXJkR0pMSFBJOVo4ZGhWTTFhLzNua1ZoaE9WVWdUNTUz?=
 =?utf-8?B?MnhMRlFvWFR1WTA0ZmJway9obzNsajJudzcvWENqUEtxOHBHb1U2YjFGYnVG?=
 =?utf-8?B?TEg2S2RFWDRiaG8ybnRJMGdGYnRwNzZRKzdpaEF3RDBWUlhwMFNWRU1qdGs2?=
 =?utf-8?B?eEoyS2tFbmYwQWZFdkJieVhmR1IvNW9nSk5yb29XQk1mRXNKUnpuVmNNc1BV?=
 =?utf-8?B?VEJJQUlHeDcvMTBRc1F2WUt5MkkvbkFYWkZVZHJNZ09iSStFUUJxc20rMTIx?=
 =?utf-8?B?TWgzeXh0SjFiS0JZc2NxT1Zpd0RpZ1BFQUNOOXdaNWR1cWQ4UmdYY09ZYnFU?=
 =?utf-8?B?YjdLZGNPVGJCajVUN3BoaEpwZ0VubjVmb04yWHNaR0ZsN2lrS3NoaGtYRC9V?=
 =?utf-8?B?dHVSMUZSaGhpYlNvNXFhK2d6ekEzT1VXWGg3RjhjQll2WU1zOUF1emhzV2xs?=
 =?utf-8?B?VFVYS3dhcXg4dDlmcnRCZ3JkNTU4QUtLUFVTdEZaa0hiTWR6ZmVkeWZIU1Yx?=
 =?utf-8?B?RHVReGR1YVFwWHk4NXZHY3l4cCtqZ29DbEQ2SXlkc2ZBRWhCK0pIZXhtUkNv?=
 =?utf-8?B?akdBdGFiOUpvKzVYSU9ZWTdUREsySmJtZ0E5V3JVZ3VMa2Y2bTlJaHJrSkNQ?=
 =?utf-8?B?WmIvVmpwUnpsZzdMQXA5SFFaSnBpNUpVUjQ1ZW5TOW81VDJGb1p3bjV2Z1Mv?=
 =?utf-8?B?MHEzdnV0bE5lMy9YV0M0ZVpRRlpOK1V2SDFjbG9nbnlmVEk5V1habHAxQWRQ?=
 =?utf-8?B?dy83bGo0Qk8va0lhU0doU0FuQk5xRmptOHd2c2JRdUFBYi9lOW8zY0pvbHBt?=
 =?utf-8?B?UlRhVDRNRFRYUDI0bHFwcE1HdUlCekl6dExVRld6SXQ4K0JBb20xQ21TaFdT?=
 =?utf-8?B?Qm9RMHhpVk1wck1rSVErWHR2WEdpV1h1OGpQWUxPRTJFbWJZdHZROWQyWHp1?=
 =?utf-8?B?WXZvMUV5RUd1TTZrbElyUTdPRkFjT3VSK1FHUGJLR1VkTjdBcUxMZFRZSFZz?=
 =?utf-8?B?b3Y1cVBEallDSmxOeEhLZE5TeTd1SUVnVjFvM3JvemJjMkZKamZwNFF3YWp0?=
 =?utf-8?B?R0g3RWU2dTNjK1RGWjNKbU15TGo2NzdycDRhVkZuWk5STzgzRTNvb2pWYUJL?=
 =?utf-8?B?MTRQckJMd2EvbmNjanNsTlM3NmFBZXpnckozVThYMEJkTHdQM2RrWmtZRmdF?=
 =?utf-8?B?MVBzcU8rV251OUlPOGF5M1UvUHY4NXB5K2xYaTVJSXZ1b0Y2aDNMVE83T0ZT?=
 =?utf-8?B?bUE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <457736151DF53F4DAB420FADCFE2FBA9@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	jFUtjqUzf82XEIKyXcUO5KUhkROh+i10ToWc34AQx1J4OJ2tGs5Ib9zPQYTaDW35o0+y4Y9ITz7r2lpnLlVkHRUKQdXS1FfTSphDRPB8s9aCNy/0vTEgK9UGtAlWQpZf7Bin8Zil7flYDfJ5UFYCdelEalaPDUM8nDv/Q3I/Bk3Dhg09vkk0q349zt8vjy/PHhBSeJA3/pKxx6xgVJ2SpLzuTdlKURf5sPJjNoaKIbnsqARkI0DIzlHg85gfKT73o0IUnSP+XIzOPSZUrw2pvS92p1PGuM/ZEhVCCiaWvljFfQG0mwBv2OUXtZcnkp2QqvkSlU2dhhV4pAQPL7tQb+d58xl3baeGWAzqexL3TJJJ0J0ChE9fDW5O//ZAbv9sLiMnIbzVWtzlPMcRhz2BB9rIMCPIWV0iAN7jLIoaSazeWv0VDQQVoDxV+EftW4vhO4telzHnlcpjXNt1Ndgx2UAB5KBIuEWJcbqqR1ugfiK2p+ByB0Sqr6X0h9pzNz+CfQsMutPw68F+5+8qeDTsL5jlpFQp3BUArutNLpKPoJRTgrM/ArihPRsdwNSOXjS9J1iD9VRXWQ9JlXAuXE3SbqYJFQWZxBLw8mMY2SnIG7b0GVUghKjaUm6WmHob47jofarmToFkLUFu4aw8Q5smumZ6kYcF8N0Mu0ROnCxw/oD3N8OOth4N+g+nV4bY6w3C/x3WVnlEKFBfr/pxR8ErKXMdA3hpxV6gBZvPbmKHFIMm0Y/TdXOma6G2Y2PPxsxylWYpUoeRSN8B2+v81D0ct7ZhLI3MGWIHzKKXQaNTHnw2j1l+37jwn1MQCIkchoUs
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c11df64e-d8b0-4f65-8fe3-08da7b049097
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 19:14:36.1815
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: mxD0Yler7PQHsFZ3vskiRrSb/ISuW2fA+9tnFpFEewMEgqseWQmOPlf4Mh2fq0Pz3G7O6Hp3gjJB6xd4KUHW/k8y+0tiqx/JKQgelv9JNJQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5268

T24gMTUvMDYvMjAyMiAxMTozMiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IC0tLSBhL3hlbi9pbmNs
dWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmgNCj4gKysrIGIveGVuL2luY2x1ZGUv
cHVibGljL2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaA0KPiBAQCAtMjgxLDcgKzI4MSw3IEBAIFhF
Tl9DUFVGRUFUVVJFKFRTWF9GT1JDRV9BQk9SVCwgOSozMisxMykNCj4gIFhFTl9DUFVGRUFUVVJF
KFNFUklBTElaRSwgICAgIDkqMzIrMTQpIC8qQSAgU0VSSUFMSVpFIGluc24gKi8NCj4gIFhFTl9D
UFVGRUFUVVJFKFRTWExEVFJLLCAgICAgIDkqMzIrMTYpIC8qYSAgVFNYIGxvYWQgdHJhY2tpbmcg
c3VzcGVuZC9yZXN1bWUgaW5zbnMgKi8NCj4gIFhFTl9DUFVGRUFUVVJFKENFVF9JQlQsICAgICAg
IDkqMzIrMjApIC8qICAgQ0VUIC0gSW5kaXJlY3QgQnJhbmNoIFRyYWNraW5nICovDQo+IC1YRU5f
Q1BVRkVBVFVSRShBVlg1MTJfRlAxNiwgICA5KjMyKzIzKSAvKiAgIEFWWDUxMiBGUDE2IGluc3Ry
dWN0aW9ucyAqLw0KPiArWEVOX0NQVUZFQVRVUkUoQVZYNTEyX0ZQMTYsICAgOSozMisyMykgLypB
ICBBVlg1MTIgRlAxNiBpbnN0cnVjdGlvbnMgKi8NCg0KVGhpcyBvdWdodCB0byBiZSAnYScgcmF0
aGVyIHRoYW4gJ0EnIHVudGlsIHNvbWVvbmUncyBhY3R1YWxseSBydW4gdGhlDQpzZXJpZXMgb24g
YSBTUFIgc3lzdGVtLg0KDQpPdGhlcndpc2UsIEFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy
ZXcuY29vcGVyM0BjaXRyaXguY29tPg0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383872.619077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrP7-0005rs-BY; Wed, 10 Aug 2022 19:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383872.619077; Wed, 10 Aug 2022 19:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrP7-0005rl-8Q; Wed, 10 Aug 2022 19:30:09 +0000
Received: by outflank-mailman (input) for mailman id 383872;
 Wed, 10 Aug 2022 19:30:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrP6-0005rf-Bs
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:08 +0000
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com
 [2607:f8b0:4864:20::82d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d6b697b7-18e2-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:30:07 +0200 (CEST)
Received: by mail-qt1-x82d.google.com with SMTP id h4so5155119qtj.11
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:06 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6b697b7-18e2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=EKhyktsChWP9CZ1PSgPGIKO4fIEXt44T6It0n4X25eg=;
        b=ByD1NOhgrwc44xwfeliHw7fjmb2u+m/G1SPYuZncSBjsms5A1+29guQek3C70RkSDE
         J28uPI0NxHspiOoOc5L+XmWUkmGKuQB3wvQI4uVqKfQqZK9P9h2BJaQPBegeFFjRLc5V
         KFDNa8qtYPqrx7CXUMmtoXLVgr1Dw3BjBVqP/kp1mVa2Cz9xVEpKRtJzd1Nq+85Ry8bR
         Aaa1WSPmUdCQas2283S1O5gLb8oc3jyDycezWxF7PosS8BxtKDrY38JLLVj1ZQkIM8kb
         YvUUrpxJVD87katpEekBOkYnrPD5MM9EAOG7S3S8L8bSF4kkPr5XI9gfJae0ig3iUpv6
         PVhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=EKhyktsChWP9CZ1PSgPGIKO4fIEXt44T6It0n4X25eg=;
        b=av4U6JulrkJa7LKaeaRjmJGC15X6gckJ+BGx1GhKsrda+2CMC/DvM5CshqcTVWM88A
         pvufF5mX9zoH+2cMUcLBHPs6JlIXQPBJGv2CXFkIl66PHuVomGX1JJm64MsWwJEZ1Shf
         BUs+SZD4E0y0GK/we1uH0eGHr8ecWQjxWRZ8KAdXjpDuuRGnFZe9nF/zktqFbYPB/Xm3
         cgSFJsxpq8Z1CJIB0ZHf/EGq3W7iO88QLfpXEzJ3PgaoWTrquNVTW3fW0QlPq6wqT+R4
         pUu+SrCc/c8+3GN/47SsT0y+kMZb//gK2E3c+i33MtvXPUXiLddm8Mp8JDw15ndugCqC
         Hmgw==
X-Gm-Message-State: ACgBeo3F/Ks/m0I1Onc1pL8tEdyWxXrmQbuphWqtBIe9CXMyw1cqcBhg
	zGGYNnNpQyc8Y0ncMxPa0NJ9/CBhgJw=
X-Google-Smtp-Source: AA6agR5Ekx9tXCQP+ep6Nh9aT2QP8klNYk4/sNkEvBFoHQi1YGRWBzMtgiN47R8g1gR8606EDAS2Hw==
X-Received: by 2002:a05:622a:190f:b0:343:5aa8:5538 with SMTP id w15-20020a05622a190f00b003435aa85538mr3284456qtc.445.1660159805399;
        Wed, 10 Aug 2022 12:30:05 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v2 00/13] Intel Hardware P-States (HWP) support
Date: Wed, 10 Aug 2022 15:29:31 -0400
Message-Id: <20220810192944.102135-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

This patch series adds Hardware-Controlled Performance States (HWP) for
Intel processors to Xen.

With HWP, the processor makes its own determinations for frequency
selection, though users can set some parameters and preferences.  There
is also Turbo Boost which dynamically pushes the max frequency if
possible.

The existing governors don't work with HWP since they select frequencies
and HWP doesn't expose those.  Therefore a dummy hwp-interal governor is
used that doesn't do anything.

xenpm get-cpufreq-para is extended to show HWP parameters, and
set-cpufreq-hwp is added to set them.

A lightly loaded OpenXT laptop showed ~1W power savings according to
powertop.  A mostly idle Fedora system (dom0 only) showed a more modest
power savings.

This for for a 10th gen 6-core 1600 MHz base 4900 MHZ max cpu.  In the
default balance mode, Turbo Boost doesn't exceed 4GHz.  Tweaking the
energy_perf preference with `xenpm set-cpufreq-hwp balance ene:64`,
I've seen the CPU hit 4.7GHz before throttling down and bouncing around
between 4.3 and 4.5 GHz.  Curiously the other cores read ~4GHz when
turbo boost takes affect.  This was done after pinning all dom0 cores,
and using taskset to pin to vCPU/pCPU 11 and running a bash tightloop.

In v2, I think I addressed all comments for v1.  I kept patch 11 "xenpm:
Factor out a non-fatal cpuid_parse variant", with a v2 comment
explaining why I keep it.

HWP defaults to disabled and running with the existing HWP configuration
- it doesn't reconfigure by default.  It can be enabled with
cpufreq=xen:hwp.

Hardware Duty Cycling (HDC) is another feature to autonomously powerdown
things.  It defaults to enabled when HWP is enabled, but HDC can be
disabled on the command line.  cpufreq=xen:hwp,no-hdc

I've only tested on 8th gen and 10th gen systems with activity window
and energy_perf support.  So the pathes for CPUs lacking those features
are untested.

Fast MSR support was removed in v2.  The model specific checking was not
done properly, and I don't have hardware to test with.  Since writes are
expected to be infrequent, I just removed the code.

This changes the systcl_pm_op hypercall, so that wants review.

Regards,
Jason

Jason Andryuk (13):
  cpufreq: Allow restricting to internal governors only
  cpufreq: Add perf_freq to cpuinfo
  cpufreq: Export intel_feature_detect
  cpufreq: Add Hardware P-State (HWP) driver
  xenpm: Change get-cpufreq-para output for internal
  cpufreq: Export HWP parameters to userspace
  libxc: Include hwp_para in definitions
  xenpm: Print HWP parameters
  xen: Add SET_CPUFREQ_HWP xen_sysctl_pm_op
  libxc: Add xc_set_cpufreq_hwp
  xenpm: Factor out a non-fatal cpuid_parse variant
  xenpm: Add set-cpufreq-hwp subcommand
  CHANGELOG: Add Intel HWP entry

 CHANGELOG.md                              |   3 +
 docs/misc/xen-command-line.pandoc         |   8 +-
 tools/include/xenctrl.h                   |   6 +
 tools/libs/ctrl/xc_pm.c                   |  18 +
 tools/misc/xenpm.c                        | 355 +++++++++++-
 xen/arch/x86/acpi/cpufreq/Makefile        |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c       |  15 +-
 xen/arch/x86/acpi/cpufreq/hwp.c           | 627 ++++++++++++++++++++++
 xen/arch/x86/include/asm/cpufeature.h     |  13 +-
 xen/arch/x86/include/asm/msr-index.h      |  13 +
 xen/drivers/acpi/pmstat.c                 |  28 +
 xen/drivers/cpufreq/cpufreq.c             |  37 ++
 xen/drivers/cpufreq/utility.c             |   1 +
 xen/include/acpi/cpufreq/cpufreq.h        |  14 +
 xen/include/acpi/cpufreq/processor_perf.h |   3 +
 xen/include/public/sysctl.h               |  57 ++
 16 files changed, 1171 insertions(+), 28 deletions(-)
 create mode 100644 xen/arch/x86/acpi/cpufreq/hwp.c

-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383873.619088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPB-00067l-Ls; Wed, 10 Aug 2022 19:30:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383873.619088; Wed, 10 Aug 2022 19:30:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPB-00067c-Gh; Wed, 10 Aug 2022 19:30:13 +0000
Received: by outflank-mailman (input) for mailman id 383873;
 Wed, 10 Aug 2022 19:30:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPA-00067E-Ho
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:12 +0000
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com
 [2607:f8b0:4864:20::72c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d96c44f9-18e2-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:30:11 +0200 (CEST)
Received: by mail-qk1-x72c.google.com with SMTP id d8so7300982qkk.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:11 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d96c44f9-18e2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=YaQ1M6q3D+VE5TezIjwSsQPtyAvIE/tK9UYnMBK9ZTE=;
        b=JafKEHlefrPqEr6Vw+WOV8AkmEJGsfaqWtuIVzIELQET9cW8F7T//nvxxEdwYnETg7
         TMVXBTx4O3/K6+7PNozKjbfQu+TgTqj3hQ8AcGIdafm8GpZYY25mcZLUtNrmGaFNwDpU
         bvh5uvV56jG3p+Kai1GKr++Ucjdh2DZKhkpnRiaKwNQPxkk2eTpHS6KUtu0pRkqOr9Uc
         v6t1Ey8vN97/BDEegj8AsoixIKlynaczmTnK/9TVKjEQxMIKxZNgz+S9hWPelG8khq2U
         pjp5x1O/sJv6Fn3nk6tH3PgGrBwT5EIzuvJo5LC63qmBbZy8tXJV8o+HMDHZ7hEseyz+
         MmTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=YaQ1M6q3D+VE5TezIjwSsQPtyAvIE/tK9UYnMBK9ZTE=;
        b=3o8e+dC0VJeonJgWqAKidW1swLSD8zYh610ogYoauEo9Lvcj8/6wZMJo+GhRpGZMKm
         kTpbIrmSkkRMs+4/9Kxuhg7KWdHZ1yZDjxyxBbhwLQJPNghBE5vlzO3FJzJQCWMVoCvK
         doI6pbWn8GO0mOuzsOq0YPbbXParaH5dzUVV7n8g4uus57VjgYD8qajQHsLepeIGpCJL
         XkObAVN91aN4cGuPK6mUi9jstmkhhmTPVmMFtE70EuiGUqOW6mIMssinGszFRSocML5g
         p+1uNKego5e/BFapvrGeDCdzZVdziDx9uvTiVq2pI7BL4dueQd/ZAVQ17m+yco6GjDSN
         zm8A==
X-Gm-Message-State: ACgBeo2hyEpH1aopmzwAsI85WKjhqRQ3QPKGRDsXQYxhFCgzoUj1EC7Y
	hsQ5SIGzXQNy7uzhTPunu9OQOSsuzNA=
X-Google-Smtp-Source: AA6agR7W1Sl4o/sOM/mI6Q51UBYQMCUa9K2ffX72dCl9qcAu7Eu53VT2O/s3Y9lPL4/anajxNG4HTQ==
X-Received: by 2002:a05:620a:1597:b0:6b9:57d2:8aa0 with SMTP id d23-20020a05620a159700b006b957d28aa0mr11223268qkk.485.1660159809965;
        Wed, 10 Aug 2022 12:30:09 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 01/13] cpufreq: Allow restricting to internal governors only
Date: Wed, 10 Aug 2022 15:29:32 -0400
Message-Id: <20220810192944.102135-2-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For hwp, the standard governors are not usable, and only the internal
one is applicable.  Add the cpufreq_governor_internal boolean to
indicate when an internal governor, like hwp-internal, will be used.
This is set during presmp_initcall, so that it can suppress governor
registration during initcall.  Only a governor with a name containing
"-internal" will be allowed in that case.

This way, the unuseable governors are not registered, so they internal
one is the only one returned to userspace.  This means incompatible
governors won't be advertised to userspace.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v2:
Switch to "-internal"
Add blank line in header
---
 xen/drivers/cpufreq/cpufreq.c      | 5 +++++
 xen/include/acpi/cpufreq/cpufreq.h | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index a94520ee57..1fdd63d7b5 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -57,6 +57,7 @@ struct cpufreq_dom {
 };
 static LIST_HEAD_READ_MOSTLY(cpufreq_dom_list_head);
 
+bool __read_mostly cpufreq_governor_internal;
 struct cpufreq_governor *__read_mostly cpufreq_opt_governor;
 LIST_HEAD_READ_MOSTLY(cpufreq_governor_list);
 
@@ -122,6 +123,10 @@ int __init cpufreq_register_governor(struct cpufreq_governor *governor)
     if (!governor)
         return -EINVAL;
 
+    if (cpufreq_governor_internal &&
+        strstr(governor->name, "-internal") == NULL)
+        return -EINVAL;
+
     if (__find_governor(governor->name) != NULL)
         return -EEXIST;
 
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 35dcf21e8f..0da32ef519 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -114,6 +114,8 @@ extern struct cpufreq_governor cpufreq_gov_userspace;
 extern struct cpufreq_governor cpufreq_gov_performance;
 extern struct cpufreq_governor cpufreq_gov_powersave;
 
+extern bool cpufreq_governor_internal;
+
 extern struct list_head cpufreq_governor_list;
 
 extern int cpufreq_register_governor(struct cpufreq_governor *governor);
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383875.619099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPF-0006R1-Sy; Wed, 10 Aug 2022 19:30:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383875.619099; Wed, 10 Aug 2022 19:30:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPF-0006Qc-OX; Wed, 10 Aug 2022 19:30:17 +0000
Received: by outflank-mailman (input) for mailman id 383875;
 Wed, 10 Aug 2022 19:30:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPE-0005rf-4p
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:16 +0000
Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com
 [2607:f8b0:4864:20::72e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dbcba058-18e2-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:30:15 +0200 (CEST)
Received: by mail-qk1-x72e.google.com with SMTP id i13so4078099qkm.8
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:15 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbcba058-18e2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=SxZKnNNwTrIDOU+tEEO3VrrnwPCkxQYa2L8+Nx13qkY=;
        b=bl/eoNSd9YwaRcoCzH/e8sfTl5jrA4sJRaO9jVDs7GEFnRKcXPl3okgUWs/N4rLDrO
         X1VAgxTO2BH17pqV/CCgpbhL9rHI0Alz/4SB/mGoNhrM83rsinigCgQ/xJpG9Q5WsIJK
         hN5iInEvZIpGsTvImIYIEwyk7++1Tgd6NX6W/zYNzgFGG1tFWDCBXiX6eN4Cr5uWiosL
         NXETEiYUVteyYRsMR+QcHusjzUTXtURteUC6CAVR/4cnKwpoPEsFKaXF5UHj4vRRfjZ5
         3vnz7fzR7//O7vYUhqXA1FODyGLJOVThfRAsc/Z9vkSsAsfI8u3JxG/WXEXGQV3Lnw4f
         R6TQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=SxZKnNNwTrIDOU+tEEO3VrrnwPCkxQYa2L8+Nx13qkY=;
        b=4EC1h+2k0H03Y3Dnol123qpnlNLZgrIBQ7Pjxh/6Z/mVUEHvS4oruJD+YOxHkIpYM0
         7nKqVKlIXWYc+YGyad5wdXsHrE4uyx/O2D4LIIXnt16QHjtH0WXNJEJzWLX+IvSC+Hpy
         M6656N0GhCEmwCzh7QtUPxIXBZSeIenH9U29x34JTUKSzrf62O7V42CKgu7o8dCO4gLb
         JnTyIQ3WduQWh295Eqa6ISc9iM6D6YuYsxMeQf0UDvIAiflmSCVDf3T5JO4fXOPbuA7A
         zkD0e5qsgefgLUh2WgfZROGj4Dj1lsRB3d3EJfJAhtk7bVdihTuEnuES6y/fRNjO1sdC
         YC5g==
X-Gm-Message-State: ACgBeo3KeOikdAq+KvfJrWNnRPh53wcDB5KNmbA5W0UngzqLSh4UnVK6
	/Qk+g4LngPxkCUlOepPnf6T2NjGYSiU=
X-Google-Smtp-Source: AA6agR5A7InDlBEvaDBVp0c4YGz2tHxYW8f1DEBshjdpKSaPdcxbMaJFD9d4YbR4LPypMIzjxLH9Bw==
X-Received: by 2002:a37:9247:0:b0:6b9:78ef:56 with SMTP id u68-20020a379247000000b006b978ef0056mr6732765qkd.364.1660159814067;
        Wed, 10 Aug 2022 12:30:14 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 02/13] cpufreq: Add perf_freq to cpuinfo
Date: Wed, 10 Aug 2022 15:29:33 -0400
Message-Id: <20220810192944.102135-3-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

acpi-cpufreq scales the aperf/mperf measurements by max_freq, but HWP
needs to scale by base frequency.  Settings max_freq to base_freq
"works" but the code is not obvious, and returning values to userspace
is tricky.  Add an additonal perf_freq member which is used for scaling
aperf/mperf measurements.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
I don't like this, but it seems the best way to re-use the common
aperf/mperf code.  The other option would be to add wrappers that then
do the acpi vs. hwp scaling.
---
 xen/arch/x86/acpi/cpufreq/cpufreq.c | 2 +-
 xen/drivers/cpufreq/utility.c       | 1 +
 xen/include/acpi/cpufreq/cpufreq.h  | 3 +++
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index c27cbb2304..ded0150b3b 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -317,7 +317,7 @@ unsigned int get_measured_perf(unsigned int cpu, unsigned int flag)
     else
         perf_percent = 0;
 
-    return policy->cpuinfo.max_freq * perf_percent / 100;
+    return policy->cpuinfo.perf_freq * perf_percent / 100;
 }
 
 static unsigned int cf_check get_cur_freq_on_cpu(unsigned int cpu)
diff --git a/xen/drivers/cpufreq/utility.c b/xen/drivers/cpufreq/utility.c
index 9eb7ecedcd..6831f62851 100644
--- a/xen/drivers/cpufreq/utility.c
+++ b/xen/drivers/cpufreq/utility.c
@@ -236,6 +236,7 @@ int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy,
 
     policy->min = policy->cpuinfo.min_freq = min_freq;
     policy->max = policy->cpuinfo.max_freq = max_freq;
+    policy->cpuinfo.perf_freq = max_freq;
     policy->cpuinfo.second_max_freq = second_max_freq;
 
     if (policy->min == ~0)
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 0da32ef519..a06aa92f62 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -37,6 +37,9 @@ extern struct acpi_cpufreq_data *cpufreq_drv_data[NR_CPUS];
 struct cpufreq_cpuinfo {
     unsigned int        max_freq;
     unsigned int        second_max_freq;    /* P1 if Turbo Mode is on */
+    unsigned int        perf_freq; /* Scaling freq for aperf/mpref.
+                                      acpi-cpufreq uses max_freq, but HWP uses
+                                      base_freq.*/
     unsigned int        min_freq;
     unsigned int        transition_latency; /* in 10^(-9) s = nanoseconds */
 };
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383876.619110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPJ-0006kp-5I; Wed, 10 Aug 2022 19:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383876.619110; Wed, 10 Aug 2022 19:30:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPJ-0006ki-28; Wed, 10 Aug 2022 19:30:21 +0000
Received: by outflank-mailman (input) for mailman id 383876;
 Wed, 10 Aug 2022 19:30:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPG-0005rf-SD
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:18 +0000
Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com
 [2607:f8b0:4864:20::735])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd77d49b-18e2-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:30:18 +0200 (CEST)
Received: by mail-qk1-x735.google.com with SMTP id u24so4284861qku.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:18 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd77d49b-18e2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=9qPwuueNZm/jcjcA5mRF9P33JC4lKfZl/P5JBTr94o4=;
        b=qKAG0HqqmzibDAPGZjBSA0kiIYuYzdmb0zZoads/iQdBG8A7PgXzYHhfh+j7zdqdVz
         xbuER1rOhoCSA0laa2+APXLTU0JDx4Q8uoyUHrAyYhqliCotvf7lXYzIUQSBvO0tu6vB
         OBSPsoi+QsUaRNl8WL5RoA+Bp086yIeGBOrD8Bz/vNr55psf6aQ9j73T7KlXHRaVyoYa
         NV84Cthd10uBB9KuNhzz4gwUo34bx3BA3piAwbyK8vg+7CMUwVpW8fVykseeg7RlETKR
         QOHkCXNFhRCpt6xdcZ5gzyMnlFa5dctWq8QCo5KI75CD/t5F4wzVBQG4ycdqYkMCf60R
         9l2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=9qPwuueNZm/jcjcA5mRF9P33JC4lKfZl/P5JBTr94o4=;
        b=qya7G7ijhkyGqBnVK327LyZuTY65TB9EtDDV4P/bfr+4T5QVMvXMLIba4BsBEcdZAq
         z5s576RAcwiS4ZSwBeS09Qs1u7yttdA+oCiYNK0hRatfQzljtEzqK3JqGISwieLggyAT
         h7XHBJzpzz2w7YLOjAgEMqkV7gK8/4/FNN7ArN3t9ztAHZ3a5A4E18J3rkietURQN3LL
         iRfGtbsy6GUqHV5Ru/gjq0W6nCdIfUrpa6IMsufV0S5z+9irdJ0YiIvNkhBQN9urI35b
         Nz1WJP3AkGSotGBZT3mRD+oJA9N9qoOygfsPAUzNePnQpn+llMH92bnKQh0LCGfLDSZE
         bqTA==
X-Gm-Message-State: ACgBeo3JF0eytFm73jeH1GJdRCyfj+cZSv3m/JZXtUA+iFoi4XRCC/Ii
	h5PZdAuouZG3pJAR2/6rIsFWLaxrK10=
X-Google-Smtp-Source: AA6agR6/Et9og/kzf2RoDfeBn3P2dcpIpHBiLBAQgPI/jBOOhd5bkU4Ij8/0yxxVzB/1wSNVwe/n2A==
X-Received: by 2002:a05:620a:1026:b0:6b9:7884:1a6c with SMTP id a6-20020a05620a102600b006b978841a6cmr6868039qkk.664.1660159816780;
        Wed, 10 Aug 2022 12:30:16 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 03/13] cpufreq: Export intel_feature_detect
Date: Wed, 10 Aug 2022 15:29:34 -0400
Message-Id: <20220810192944.102135-4-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Export feature_detect as intel_feature_detect so it can be re-used by
HWP.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v2
export intel_feature_detect with typed pointer
Move intel_feature_detect to acpi/cpufreq/cpufreq.h since the
declaration now contains struct cpufreq_policy *.
---
 xen/arch/x86/acpi/cpufreq/cpufreq.c | 8 ++++++--
 xen/include/acpi/cpufreq/cpufreq.h  | 2 ++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index ded0150b3b..b5eb869227 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -340,9 +340,8 @@ static unsigned int cf_check get_cur_freq_on_cpu(unsigned int cpu)
     return extract_freq(get_cur_val(cpumask_of(cpu)), data);
 }
 
-static void cf_check feature_detect(void *info)
+void intel_feature_detect(struct cpufreq_policy *policy)
 {
-    struct cpufreq_policy *policy = info;
     unsigned int eax;
 
     eax = cpuid_eax(6);
@@ -354,6 +353,11 @@ static void cf_check feature_detect(void *info)
     }
 }
 
+static void cf_check feature_detect(void *info)
+{
+    intel_feature_detect((struct cpufreq_policy *)info);
+}
+
 static unsigned int check_freqs(const cpumask_t *mask, unsigned int freq,
                                 struct acpi_cpufreq_data *data)
 {
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index a06aa92f62..0f334d2a43 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -243,4 +243,6 @@ int write_userspace_scaling_setspeed(unsigned int cpu, unsigned int freq);
 void cpufreq_dbs_timer_suspend(void);
 void cpufreq_dbs_timer_resume(void);
 
+void intel_feature_detect(struct cpufreq_policy *policy);
+
 #endif /* __XEN_CPUFREQ_PM_H__ */
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383878.619121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPM-00075d-GK; Wed, 10 Aug 2022 19:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383878.619121; Wed, 10 Aug 2022 19:30:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPM-00075J-C3; Wed, 10 Aug 2022 19:30:24 +0000
Received: by outflank-mailman (input) for mailman id 383878;
 Wed, 10 Aug 2022 19:30:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPL-0005rf-3O
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:23 +0000
Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com
 [2607:f8b0:4864:20::829])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df53c7b2-18e2-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:30:21 +0200 (CEST)
Received: by mail-qt1-x829.google.com with SMTP id y18so1880286qtv.5
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:21 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df53c7b2-18e2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=jO9XMqeKcSpPkx9F4IM717CUVIYEi9EqWDYU/rzhTS0=;
        b=QOt7cUYBZJqmsFGp43FBhVtWSxsRzBGDfC0NCp3LaYlJaqBn6hg1noBnX1U3AYcZjm
         oKxhLSyaCEVChpMvOETi8inV53A7YyVyJ5RoOl+Kq3qMAuWSJJ5HjNAXw+JTgssB0xT5
         qvoS5pjOWTrpq1AD7+VpgHVIvQVw3lfDloJRCOPwlYLjgD8EWmb6JTpPvI/aUPTBRJIo
         6Z8EPor0LV4+/bw/bNc3Zt2nyhauicslcUC1gfjUsSW4O+L8cij29Nv45SwSCwZBRQEi
         LYftu7P3bUU50vkiLHxkzdYBMxSydSUcx6rreWA0TgiPuY1c1zghVJIc0XO2o+jdHlnY
         WPSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=jO9XMqeKcSpPkx9F4IM717CUVIYEi9EqWDYU/rzhTS0=;
        b=yuQny7KM8MffoopI/wS25hQv7cfFdqPUTQKCFTLnrKhB3T6N9ZVDz5DmLc6WYNXUJX
         zCoxIQKmO7JflXsFg25F14kUjVw6ujZSf+0FiAcG4lLC8nO7J7uhu1pbOI4uT1LlwUTH
         W0S12n6OjGJ+nolttlG5xmNQCPGtSs+WiHTc8cOphJnMHukSBgOu/6Ly35Hc5Bny866f
         Gvo0D5wEoq7HPdVF9Ou4VAuBfn+TZIadhqAzsXd7nyIgbvYdmeOVz6EMGWJb7pk5ep2i
         fFchg/ZcRER9X9CQwgHbwrjRgD1haWttwqwYhd6/TNCUopMRjB9ewGOqU8LjGpQQuYLX
         66OA==
X-Gm-Message-State: ACgBeo1eXyrahYBNc+TA2dQvx+VRLbhbvrp8BZjU/IpOMETsfylkFefj
	/sf3KS8bIHL7GgJNG6qLwZgcB5BxN6U=
X-Google-Smtp-Source: AA6agR7BmVnnkfyVRD6UMjBOIf0t8Vc9ybTPqd1ruaxG78toIKqZz1xc/qDhT+xKuwCGNS6D8C+CJQ==
X-Received: by 2002:ac8:5a16:0:b0:342:f905:bdf2 with SMTP id n22-20020ac85a16000000b00342f905bdf2mr13956377qta.364.1660159819512;
        Wed, 10 Aug 2022 12:30:19 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 04/13] cpufreq: Add Hardware P-State (HWP) driver
Date: Wed, 10 Aug 2022 15:29:35 -0400
Message-Id: <20220810192944.102135-5-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

>From the Intel SDM: "Hardware-Controlled Performance States (HWP), which
autonomously selects performance states while utilizing OS supplied
performance guidance hints."

Enable HWP to run in autonomous mode by poking the correct MSRs.
cpufreq=xen:hwp enables and cpufreq=xen:hwp=0 disables.  The same for
hdc.

There is no interface to configure - xen_sysctl_pm_op/xenpm will
be to be extended to configure in subsequent patches.  It will run with
the default values, which should be the default 0x80 (out
of 0x0-0xff) energy/performance preference.

Unscientific powertop measurement of an mostly idle, customized OpenXT
install:
A 10th gen 6-core laptop showed battery discharge drop from ~9.x to
~7.x watts.
A 8th gen 4-core laptop dropped from ~10 to ~9

Power usage depends on many factors, especially display brightness, but
this does show an power saving in balanced mode when CPU utilization is
low.

HWP isn't compatible with an external governor - it doesn't take
explicit frequency requests.  Therefore a minimal internal governor,
hwp-internal, is also added as a placeholder.

While adding to the xen-command-line.pandoc entry, un-nest verbose from
minfreq.  They are independent.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

---

We disable on cpuid_level < 0x16.  cpuid(0x16) is used to get the cpu
frequencies for calculating the APERF/MPERF.  Without it, things would
still work, but the averge cpufrequency output would be wrong.

My 8th & 10th gen test systems both report:
(XEN) HWP: 1 notify: 1 act_window: 1 energy_perf: 1 pkg_level: 0 peci: 0
(XEN) HWP: Hardware Duty Cycling (HDC) supported
(XEN) HWP: HW_FEEDBACK not supported

IA32_ENERGY_PERF_BIAS has not been tested.

For cpufreq=xen:hwp, placing the option inside the governor wouldn't
work.  Users would have to select the hwp-internal governor to turn off
hwp support.  hwp-internal isn't usable without hwp, and users wouldn't
be able to select a different governor.  That doesn't matter while hwp
defaults off, but it would if or when hwp defaults to enabled.

We can't use parse_boolean() since it requires a single name=val string
and cpufreq_handle_common_option is provided two strings.  Use
parse_bool() and manual handle no-hwp.

Write to disable the interrupt - the linux pstate driver does this.  We
don't use the interrupts, so we can just turn them off.  We aren't ready
to handle them, so we don't want any.  Unclear if this is necessary.
SDM says it's default disabled.

FAST_IA32_HWP_REQUEST was removed in v2.  The check in v1 was wrong,
it's a model specific feature and the CPUID bit is only available
after enabling via the MSR.  Support was untested since I don't have
hardware with the feature.  Writes are expected to be infrequent, so
just leave it out.

---
v2:
Alphabetize headers
Re-work driver registration
name hwp_drv_data anonymous union "hw"
Drop hwp_verbose_cont
style cleanups
Condense hwp_governor switch
hwp_cpufreq_target remove .raw from hwp_req assignment
Use typed-pointer in a few functions
Pass type to xzalloc
Add HWP_ENERGY_PERF_BALANCE/IA32_ENERGY_BIAS_BALANCE defines
Add XEN_HWP_GOVERNOR define for "hwp-internal"
Capitalize CPUID and MSR defines
Change '_' to '-' for energy-perf & act-window
Read-modify-write MSRs updates
Use FAST_IA32_HWP_REQUEST_MSR_ENABLE define
constify pointer in hwp_set_misc_turbo
Add space after non-fallthrough break in governor switch
Add IA32_ENERGY_BIAS_MASK define
Check CPUID_PM_LEAK for energy bias when needed
Fail initialization with curr_req = -1
Fold hwp_read_capabilities into hwp_init_msrs
Add command line cpufreq=xen:hwp
Add command line cpufreq=xen:hdc
Use per_cpu for hwp_drv_data pointers
Move hwp_energy_perf_bias call into hwp_write_request
energy_perf 0 is valid, so hwp_energy_perf_bias cannot be skipped
Ensure we don't generate interrupts
Remove Fast Write of Uncore MSR
Initialize hwp_drv_data from curr_req
Use SPDX line instead of license text in hwp.c
---
 docs/misc/xen-command-line.pandoc         |   8 +-
 xen/arch/x86/acpi/cpufreq/Makefile        |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c       |   5 +-
 xen/arch/x86/acpi/cpufreq/hwp.c           | 506 ++++++++++++++++++++++
 xen/arch/x86/include/asm/cpufeature.h     |  13 +-
 xen/arch/x86/include/asm/msr-index.h      |  13 +
 xen/drivers/cpufreq/cpufreq.c             |  32 ++
 xen/include/acpi/cpufreq/cpufreq.h        |   3 +
 xen/include/acpi/cpufreq/processor_perf.h |   3 +
 xen/include/public/sysctl.h               |   1 +
 10 files changed, 581 insertions(+), 4 deletions(-)
 create mode 100644 xen/arch/x86/acpi/cpufreq/hwp.c

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index fa56e880b3..2ac5b8f5aa 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -492,7 +492,7 @@ If set, force use of the performance counters for oprofile, rather than detectin
 available support.
 
 ### cpufreq
-> `= none | {{ <boolean> | xen } [:[powersave|performance|ondemand|userspace][,<maxfreq>][,[<minfreq>][,[verbose]]]]} | dom0-kernel`
+> `= none | {{ <boolean> | xen } [:[powersave|performance|ondemand|userspace][,<hdc>][,[<hwp>]][,[<maxfreq>]][,[<minfreq>]][,[verbose]]]} | dom0-kernel`
 
 > Default: `xen`
 
@@ -503,6 +503,12 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
 * `<maxfreq>` and `<minfreq>` are integers which represent max and min processor frequencies
   respectively.
 * `verbose` option can be included as a string or also as `verbose=<integer>`
+* `<hwp>` is a boolean to enable Hardware-Controlled Performance States (HWP)
+  on supported Intel hardware.  HWP is a Skylake+ feature which provides better
+  CPU power management.  The default is disabled.
+* `<hdc>` is a boolean to enable Hardware Duty Cycling (HDC).  HDC enables the
+  processor to autonomously force physical package components into idle state.
+  The default is enabled, but the option only applies when `<hwp>` is enabled.
 
 ### cpuid (x86)
 > `= List of comma separated booleans`
diff --git a/xen/arch/x86/acpi/cpufreq/Makefile b/xen/arch/x86/acpi/cpufreq/Makefile
index f75da9b9ca..db83aa6b14 100644
--- a/xen/arch/x86/acpi/cpufreq/Makefile
+++ b/xen/arch/x86/acpi/cpufreq/Makefile
@@ -1,2 +1,3 @@
 obj-y += cpufreq.o
+obj-y += hwp.o
 obj-y += powernow.o
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index b5eb869227..baafaf9b90 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -643,7 +643,10 @@ static int __init cf_check cpufreq_driver_init(void)
         switch ( boot_cpu_data.x86_vendor )
         {
         case X86_VENDOR_INTEL:
-            ret = cpufreq_register_driver(&acpi_cpufreq_driver);
+            if ( hwp_available() )
+                ret = hwp_register_driver();
+            else
+                ret = cpufreq_register_driver(&acpi_cpufreq_driver);
             break;
 
         case X86_VENDOR_AMD:
diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
new file mode 100644
index 0000000000..405cbae334
--- /dev/null
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -0,0 +1,506 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * hwp.c cpufreq driver to run Intel Hardware P-States (HWP)
+ *
+ * Copyright (C) 2021 Jason Andryuk <jandryuk@gmail.com>
+ */
+
+#include <xen/cpumask.h>
+#include <xen/init.h>
+#include <xen/param.h>
+#include <xen/xmalloc.h>
+#include <asm/io.h>
+#include <asm/msr.h>
+#include <acpi/cpufreq/cpufreq.h>
+
+static bool feature_hwp;
+static bool feature_hwp_notification;
+static bool feature_hwp_activity_window;
+static bool feature_hwp_energy_perf;
+static bool feature_hwp_pkg_level_ctl;
+static bool feature_hwp_peci;
+
+static bool feature_hdc;
+
+__initdata bool opt_cpufreq_hwp = false;
+__initdata bool opt_cpufreq_hdc = true;
+
+#define HWP_ENERGY_PERF_BALANCE         0x80
+#define IA32_ENERGY_BIAS_BALANCE        0x7
+#define IA32_ENERGY_BIAS_MAX_POWERSAVE  0xf
+#define IA32_ENERGY_BIAS_MASK           0xf
+
+union hwp_request
+{
+    struct
+    {
+        uint64_t min_perf:8;
+        uint64_t max_perf:8;
+        uint64_t desired:8;
+        uint64_t energy_perf:8;
+        uint64_t activity_window:10;
+        uint64_t package_control:1;
+        uint64_t reserved:16;
+        uint64_t activity_window_valid:1;
+        uint64_t energy_perf_valid:1;
+        uint64_t desired_valid:1;
+        uint64_t max_perf_valid:1;
+        uint64_t min_perf_valid:1;
+    };
+    uint64_t raw;
+};
+
+struct hwp_drv_data
+{
+    union
+    {
+        uint64_t hwp_caps;
+        struct
+        {
+            uint64_t highest:8;
+            uint64_t guaranteed:8;
+            uint64_t most_efficient:8;
+            uint64_t lowest:8;
+            uint64_t reserved:32;
+        } hw;
+    };
+    union hwp_request curr_req;
+    uint16_t activity_window;
+    uint8_t minimum;
+    uint8_t maximum;
+    uint8_t desired;
+    uint8_t energy_perf;
+};
+DEFINE_PER_CPU_READ_MOSTLY(struct hwp_drv_data *, hwp_drv_data);
+
+#define hwp_err(...)     printk(XENLOG_ERR __VA_ARGS__)
+#define hwp_info(...)    printk(XENLOG_INFO __VA_ARGS__)
+#define hwp_verbose(...)                   \
+({                                         \
+    if ( cpufreq_verbose )                 \
+        printk(XENLOG_DEBUG __VA_ARGS__);  \
+})
+
+static int cf_check hwp_governor(struct cpufreq_policy *policy,
+                                 unsigned int event)
+{
+    int ret;
+
+    if ( policy == NULL )
+        return -EINVAL;
+
+    switch ( event )
+    {
+    case CPUFREQ_GOV_START:
+    case CPUFREQ_GOV_LIMITS:
+        ret = 0;
+        break;
+
+    case CPUFREQ_GOV_STOP:
+    default:
+        ret = -EINVAL;
+        break;
+    }
+
+    return ret;
+}
+
+static struct cpufreq_governor hwp_cpufreq_governor =
+{
+    .name          = XEN_HWP_GOVERNOR,
+    .governor      = hwp_governor,
+};
+
+static int __init cpufreq_gov_hwp_init(void)
+{
+    return cpufreq_register_governor(&hwp_cpufreq_governor);
+}
+__initcall(cpufreq_gov_hwp_init);
+
+bool __init hwp_available(void)
+{
+    unsigned int eax, ecx, unused;
+    bool use_hwp;
+
+    if ( boot_cpu_data.cpuid_level < CPUID_PM_LEAF )
+    {
+        hwp_verbose("cpuid_level (%u) lacks HWP support\n",
+                    boot_cpu_data.cpuid_level);
+        return false;
+    }
+
+    if ( boot_cpu_data.cpuid_level < 0x16 )
+    {
+        hwp_info("HWP disabled: cpuid_level %x < 0x16 lacks CPU freq info\n",
+                 boot_cpu_data.cpuid_level);
+        return false;
+    }
+
+    cpuid(CPUID_PM_LEAF, &eax, &unused, &ecx, &unused);
+
+    if ( !(eax & CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE) &&
+         !(ecx & CPUID6_ECX_IA32_ENERGY_PERF_BIAS) )
+    {
+        hwp_verbose("HWP disabled: No energy/performance preference available");
+        return false;
+    }
+
+    feature_hwp                 = eax & CPUID6_EAX_HWP;
+    feature_hwp_notification    = eax & CPUID6_EAX_HWP_NOTIFICATION;
+    feature_hwp_activity_window = eax & CPUID6_EAX_HWP_ACTIVITY_WINDOW;
+    feature_hwp_energy_perf     =
+        eax & CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE;
+    feature_hwp_pkg_level_ctl   = eax & CPUID6_EAX_HWP_PACKAGE_LEVEL_REQUEST;
+    feature_hwp_peci            = eax & CPUID6_EAX_HWP_PECI;
+
+    hwp_verbose("HWP: %d notify: %d act-window: %d energy-perf: %d pkg-level: %d peci: %d\n",
+                feature_hwp, feature_hwp_notification,
+                feature_hwp_activity_window, feature_hwp_energy_perf,
+                feature_hwp_pkg_level_ctl, feature_hwp_peci);
+
+    if ( !feature_hwp )
+        return false;
+
+    feature_hdc = eax & CPUID6_EAX_HDC;
+
+    hwp_verbose("HWP: Hardware Duty Cycling (HDC) %ssupported%s\n",
+                feature_hdc ? "" : "not ",
+                feature_hdc ? opt_cpufreq_hdc ? ", enabled" : ", disabled"
+                            : "");
+
+    feature_hdc = feature_hdc && opt_cpufreq_hdc;
+
+    hwp_verbose("HWP: HW_FEEDBACK %ssupported\n",
+                (eax & CPUID6_EAX_HW_FEEDBACK) ? "" : "not ");
+
+    use_hwp = feature_hwp && opt_cpufreq_hwp;
+    cpufreq_governor_internal = use_hwp;
+
+    if ( use_hwp )
+        hwp_info("Using HWP for cpufreq\n");
+
+    return use_hwp;
+}
+
+static void hdc_set_pkg_hdc_ctl(bool val)
+{
+    uint64_t msr;
+
+    if ( rdmsr_safe(MSR_IA32_PKG_HDC_CTL, msr) )
+    {
+        hwp_err("error rdmsr_safe(MSR_IA32_PKG_HDC_CTL)\n");
+
+        return;
+    }
+
+    if ( val )
+        msr |= IA32_PKG_HDC_CTL_HDC_PKG_ENABLE;
+    else
+        msr &= ~IA32_PKG_HDC_CTL_HDC_PKG_ENABLE;
+
+    if ( wrmsr_safe(MSR_IA32_PKG_HDC_CTL, msr) )
+        hwp_err("error wrmsr_safe(MSR_IA32_PKG_HDC_CTL): %016lx\n", msr);
+}
+
+static void hdc_set_pm_ctl1(bool val)
+{
+    uint64_t msr;
+
+    if ( rdmsr_safe(MSR_IA32_PM_CTL1, msr) )
+    {
+        hwp_err("error rdmsr_safe(MSR_IA32_PM_CTL1)\n");
+
+        return;
+    }
+
+    if ( val )
+        msr |= IA32_PM_CTL1_HDC_ALLOW_BLOCK;
+    else
+        msr &= ~IA32_PM_CTL1_HDC_ALLOW_BLOCK;
+
+    if ( wrmsr_safe(MSR_IA32_PM_CTL1, msr) )
+        hwp_err("error wrmsr_safe(MSR_IA32_PM_CTL1): %016lx\n", msr);
+}
+
+static void hwp_get_cpu_speeds(struct cpufreq_policy *policy)
+{
+    uint32_t base_khz, max_khz, bus_khz, edx;
+
+    cpuid(0x16, &base_khz, &max_khz, &bus_khz, &edx);
+
+    /* aperf/mperf scales base. */
+    policy->cpuinfo.perf_freq = base_khz * 1000;
+    policy->cpuinfo.min_freq = base_khz * 1000;
+    policy->cpuinfo.max_freq = max_khz * 1000;
+    policy->min = base_khz * 1000;
+    policy->max = max_khz * 1000;
+    policy->cur = 0;
+}
+
+static void cf_check hwp_init_msrs(void *info)
+{
+    struct cpufreq_policy *policy = info;
+    struct hwp_drv_data *data = this_cpu(hwp_drv_data);
+    uint64_t val;
+
+    /*
+     * Package level MSR, but we don't have a good idea of packages here, so
+     * just do it everytime.
+     */
+    if ( rdmsr_safe(MSR_IA32_PM_ENABLE, val) )
+    {
+        hwp_err("CPU%u: error rdmsr_safe(MSR_IA32_PM_ENABLE)\n", policy->cpu);
+        data->curr_req.raw = -1;
+        return;
+    }
+
+    /* Ensure we don't generate interrupts */
+    if ( feature_hwp_notification )
+        wrmsr_safe(MSR_IA32_HWP_INTERRUPT, 0);
+
+    hwp_verbose("CPU%u: MSR_IA32_PM_ENABLE: %016lx\n", policy->cpu, val);
+    if ( !(val & IA32_PM_ENABLE_HWP_ENABLE) )
+    {
+        val |= IA32_PM_ENABLE_HWP_ENABLE;
+        if ( wrmsr_safe(MSR_IA32_PM_ENABLE, val) )
+        {
+            hwp_err("CPU%u: error wrmsr_safe(MSR_IA32_PM_ENABLE, %lx)\n",
+                    policy->cpu, val);
+            data->curr_req.raw = -1;
+            return;
+        }
+    }
+
+    if ( rdmsr_safe(MSR_IA32_HWP_CAPABILITIES, data->hwp_caps) )
+    {
+        hwp_err("CPU%u: error rdmsr_safe(MSR_IA32_HWP_CAPABILITIES)\n",
+                policy->cpu);
+        data->curr_req.raw = -1;
+        return;
+    }
+
+    if ( rdmsr_safe(MSR_IA32_HWP_REQUEST, data->curr_req.raw) )
+    {
+        hwp_err("CPU%u: error rdmsr_safe(MSR_IA32_HWP_REQUEST)\n", policy->cpu);
+        data->curr_req.raw = -1;
+        return;
+    }
+
+    if ( !feature_hwp_energy_perf ) {
+        if ( rdmsr_safe(MSR_IA32_ENERGY_PERF_BIAS, val) )
+        {
+            hwp_err("error rdmsr_safe(MSR_IA32_ENERGY_PERF_BIAS)\n");
+            data->curr_req.raw = -1;
+
+            return;
+        }
+
+        data->energy_perf = val & IA32_ENERGY_BIAS_MASK;
+    }
+
+    /*
+     * Check for APERF/MPERF support in hardware
+     * also check for boost/turbo support
+     */
+    intel_feature_detect(policy);
+
+    if ( feature_hdc )
+    {
+        hdc_set_pkg_hdc_ctl(true);
+        hdc_set_pm_ctl1(true);
+    }
+
+    hwp_get_cpu_speeds(policy);
+}
+
+static int cf_check hwp_cpufreq_verify(struct cpufreq_policy *policy)
+{
+    struct hwp_drv_data *data = per_cpu(hwp_drv_data, policy->cpu);
+
+    if ( !feature_hwp_energy_perf && data->energy_perf )
+    {
+        if ( data->energy_perf > IA32_ENERGY_BIAS_MAX_POWERSAVE )
+        {
+            hwp_err("energy_perf %d exceeds IA32_ENERGY_PERF_BIAS range 0-15\n",
+                    data->energy_perf);
+
+            return -EINVAL;
+        }
+    }
+
+    if ( !feature_hwp_activity_window && data->activity_window )
+    {
+        hwp_err("HWP activity window not supported\n");
+
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+/* val 0 - highest performance, 15 - maximum energy savings */
+static void hwp_energy_perf_bias(const struct hwp_drv_data *data)
+{
+    uint64_t msr;
+    uint8_t val = data->energy_perf;
+
+    ASSERT(val <= IA32_ENERGY_BIAS_MAX_POWERSAVE);
+
+    if ( rdmsr_safe(MSR_IA32_ENERGY_PERF_BIAS, msr) )
+    {
+        hwp_err("error rdmsr_safe(MSR_IA32_ENERGY_PERF_BIAS)\n");
+
+        return;
+    }
+
+    msr &= ~IA32_ENERGY_BIAS_MASK;
+    msr |= val;
+
+    if ( wrmsr_safe(MSR_IA32_ENERGY_PERF_BIAS, msr) )
+        hwp_err("error wrmsr_safe(MSR_IA32_ENERGY_PERF_BIAS): %016lx\n", msr);
+}
+
+static void cf_check hwp_write_request(void *info)
+{
+    struct cpufreq_policy *policy = info;
+    struct hwp_drv_data *data = this_cpu(hwp_drv_data);
+    union hwp_request hwp_req = data->curr_req;
+
+    BUILD_BUG_ON(sizeof(union hwp_request) != sizeof(uint64_t));
+    if ( wrmsr_safe(MSR_IA32_HWP_REQUEST, hwp_req.raw) )
+    {
+        hwp_err("CPU%u: error wrmsr_safe(MSR_IA32_HWP_REQUEST, %lx)\n",
+                policy->cpu, hwp_req.raw);
+        rdmsr_safe(MSR_IA32_HWP_REQUEST, data->curr_req.raw);
+    }
+
+    if ( !feature_hwp_energy_perf )
+        hwp_energy_perf_bias(data);
+
+}
+
+static int cf_check hwp_cpufreq_target(struct cpufreq_policy *policy,
+                                       unsigned int target_freq,
+                                       unsigned int relation)
+{
+    unsigned int cpu = policy->cpu;
+    struct hwp_drv_data *data = per_cpu(hwp_drv_data, cpu);
+    /* Zero everything to ensure reserved bits are zero... */
+    union hwp_request hwp_req = { .raw = 0 };
+
+    /* .. and update from there */
+    hwp_req.min_perf = data->minimum;
+    hwp_req.max_perf = data->maximum;
+    hwp_req.desired = data->desired;
+    if ( feature_hwp_energy_perf )
+        hwp_req.energy_perf = data->energy_perf;
+    if ( feature_hwp_activity_window )
+        hwp_req.activity_window = data->activity_window;
+
+    if ( hwp_req.raw == data->curr_req.raw )
+        return 0;
+
+    data->curr_req = hwp_req;
+
+    hwp_verbose("CPU%u: wrmsr HWP_REQUEST %016lx\n", cpu, hwp_req.raw);
+    on_selected_cpus(cpumask_of(cpu), hwp_write_request, policy, 1);
+
+    return 0;
+}
+
+static int cf_check hwp_cpufreq_cpu_init(struct cpufreq_policy *policy)
+{
+    unsigned int cpu = policy->cpu;
+    struct hwp_drv_data *data;
+
+    data = xzalloc(struct hwp_drv_data);
+    if ( !data )
+        return -ENOMEM;
+
+    if ( cpufreq_opt_governor )
+        printk(XENLOG_WARNING
+               "HWP: governor \"%s\" is incompatible with hwp. Using default \"%s\"\n",
+               cpufreq_opt_governor->name, hwp_cpufreq_governor.name);
+    policy->governor = &hwp_cpufreq_governor;
+
+    per_cpu(hwp_drv_data, cpu) = data;
+
+    on_selected_cpus(cpumask_of(cpu), hwp_init_msrs, policy, 1);
+
+    if ( data->curr_req.raw == -1 )
+    {
+        hwp_err("CPU%u: Could not initialize HWP properly\n", cpu);
+        XFREE(per_cpu(hwp_drv_data, cpu));
+        return -ENODEV;
+    }
+
+    data->minimum = data->curr_req.min_perf;
+    data->maximum = data->curr_req.max_perf;
+    data->desired = data->curr_req.desired;
+    /* the !feature_hwp_energy_perf case was handled in hwp_init_msrs(). */
+    if ( feature_hwp_energy_perf )
+        data->energy_perf = data->curr_req.energy_perf;
+
+    hwp_verbose("CPU%u: IA32_HWP_CAPABILITIES: %016lx\n", cpu, data->hwp_caps);
+
+    hwp_verbose("CPU%u: rdmsr HWP_REQUEST %016lx\n", cpu, data->curr_req.raw);
+
+    return 0;
+}
+
+static int cf_check hwp_cpufreq_cpu_exit(struct cpufreq_policy *policy)
+{
+    XFREE(per_cpu(hwp_drv_data, policy->cpu));
+
+    return 0;
+}
+
+/*
+ * The SDM reads like turbo should be disabled with MSR_IA32_PERF_CTL and
+ * PERF_CTL_TURBO_DISENGAGE, but that does not seem to actually work, at least
+ * with my HWP testing.  MSR_IA32_MISC_ENABLE and MISC_ENABLE_TURBO_DISENGAGE
+ * is what Linux uses and seems to work.
+ */
+static void cf_check hwp_set_misc_turbo(void *info)
+{
+    const struct cpufreq_policy *policy = info;
+    uint64_t msr;
+
+    if ( rdmsr_safe(MSR_IA32_MISC_ENABLE, msr) )
+    {
+        hwp_err("CPU%u: error rdmsr_safe(MSR_IA32_MISC_ENABLE)\n", policy->cpu);
+
+        return;
+    }
+
+    if ( policy->turbo == CPUFREQ_TURBO_ENABLED )
+        msr &= ~MSR_IA32_MISC_ENABLE_TURBO_DISENGAGE;
+    else
+        msr |= MSR_IA32_MISC_ENABLE_TURBO_DISENGAGE;
+
+    if ( wrmsr_safe(MSR_IA32_MISC_ENABLE, msr) )
+        hwp_err("CPU%u: error wrmsr_safe(MSR_IA32_MISC_ENABLE): %016lx\n",
+                policy->cpu, msr);
+}
+
+static int cf_check hwp_cpufreq_update(int cpuid, struct cpufreq_policy *policy)
+{
+    on_selected_cpus(cpumask_of(cpuid), hwp_set_misc_turbo, policy, 1);
+
+    return 0;
+}
+
+static const struct cpufreq_driver __initconstrel hwp_cpufreq_driver =
+{
+    .name   = "hwp-cpufreq",
+    .verify = hwp_cpufreq_verify,
+    .target = hwp_cpufreq_target,
+    .init   = hwp_cpufreq_cpu_init,
+    .exit   = hwp_cpufreq_cpu_exit,
+    .update = hwp_cpufreq_update,
+};
+
+int __init hwp_register_driver(void)
+{
+    return cpufreq_register_driver(&hwp_cpufreq_driver);
+}
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index f2c6f255ac..1aebf3f750 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -22,8 +22,17 @@
 #define cpu_has(c, bit)		test_bit(bit, (c)->x86_capability)
 #define boot_cpu_has(bit)	test_bit(bit, boot_cpu_data.x86_capability)
 
-#define CPUID_PM_LEAF                    6
-#define CPUID6_ECX_APERFMPERF_CAPABILITY 0x1
+#define CPUID_PM_LEAF                                6
+#define CPUID6_EAX_HWP                               (_AC(1, U) <<  7)
+#define CPUID6_EAX_HWP_NOTIFICATION                  (_AC(1, U) <<  8)
+#define CPUID6_EAX_HWP_ACTIVITY_WINDOW               (_AC(1, U) <<  9)
+#define CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE (_AC(1, U) << 10)
+#define CPUID6_EAX_HWP_PACKAGE_LEVEL_REQUEST         (_AC(1, U) << 11)
+#define CPUID6_EAX_HDC                               (_AC(1, U) << 13)
+#define CPUID6_EAX_HWP_PECI                          (_AC(1, U) << 16)
+#define CPUID6_EAX_HW_FEEDBACK                       (_AC(1, U) << 19)
+#define CPUID6_ECX_APERFMPERF_CAPABILITY             0x1
+#define CPUID6_ECX_IA32_ENERGY_PERF_BIAS             0x8
 
 /* CPUID level 0x00000001.edx */
 #define cpu_has_fpu             1
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 1a928ea6af..3961bac614 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -147,6 +147,13 @@
 #define MSR_PL3_SSP                         0x000006a7
 #define MSR_INTERRUPT_SSP_TABLE             0x000006a8
 
+#define MSR_IA32_PM_ENABLE                  0x00000770
+#define  IA32_PM_ENABLE_HWP_ENABLE          (_AC(1, ULL) <<  0)
+
+#define MSR_IA32_HWP_CAPABILITIES           0x00000771
+#define MSR_IA32_HWP_INTERRUPT              0x00000773
+#define MSR_IA32_HWP_REQUEST                0x00000774
+
 #define MSR_X2APIC_FIRST                    0x00000800
 #define MSR_X2APIC_LAST                     0x000008ff
 
@@ -161,6 +168,11 @@
 #define  PASID_PASID_MASK                   0x000fffff
 #define  PASID_VALID                        (_AC(1, ULL) << 31)
 
+#define MSR_IA32_PKG_HDC_CTL                0x00000db0
+#define  IA32_PKG_HDC_CTL_HDC_PKG_ENABLE    (_AC(1, ULL) <<  0)
+#define MSR_IA32_PM_CTL1                    0x00000db1
+#define  IA32_PM_CTL1_HDC_ALLOW_BLOCK       (_AC(1, ULL) <<  0)
+
 #define MSR_UARCH_MISC_CTRL                 0x00001b01
 #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) <<  0)
 
@@ -496,6 +508,7 @@
 #define MSR_IA32_MISC_ENABLE_LIMIT_CPUID  (1<<22)
 #define MSR_IA32_MISC_ENABLE_XTPR_DISABLE (1<<23)
 #define MSR_IA32_MISC_ENABLE_XD_DISABLE	(1ULL << 34)
+#define MSR_IA32_MISC_ENABLE_TURBO_DISENGAGE (1ULL << 38)
 
 #define MSR_IA32_TSC_DEADLINE		0x000006E0
 #define MSR_IA32_ENERGY_PERF_BIAS	0x000001b0
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 1fdd63d7b5..634f0a8a49 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -563,6 +563,38 @@ static void cpufreq_cmdline_common_para(struct cpufreq_policy *new_policy)
 
 static int __init cpufreq_handle_common_option(const char *name, const char *val)
 {
+    if (!strcmp(name, "hdc")) {
+        if (val) {
+            int ret = parse_bool(val, NULL);
+            if (ret != -1) {
+                opt_cpufreq_hdc = ret;
+                return 1;
+            }
+        } else {
+            opt_cpufreq_hdc = true;
+            return 1;
+        }
+    } else if (!strcmp(name, "no-hdc")) {
+        opt_cpufreq_hdc = false;
+        return 1;
+    }
+
+    if (!strcmp(name, "hwp")) {
+        if (val) {
+            int ret = parse_bool(val, NULL);
+            if (ret != -1) {
+                opt_cpufreq_hwp = ret;
+                return 1;
+            }
+        } else {
+            opt_cpufreq_hwp = true;
+            return 1;
+        }
+    } else if (!strcmp(name, "no-hwp")) {
+        opt_cpufreq_hwp = false;
+        return 1;
+    }
+
     if (!strcmp(name, "maxfreq") && val) {
         usr_max_freq = simple_strtoul(val, NULL, 0);
         return 1;
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 0f334d2a43..29a712a4f1 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -245,4 +245,7 @@ void cpufreq_dbs_timer_resume(void);
 
 void intel_feature_detect(struct cpufreq_policy *policy);
 
+extern bool opt_cpufreq_hwp;
+extern bool opt_cpufreq_hdc;
+
 #endif /* __XEN_CPUFREQ_PM_H__ */
diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h
index d8a1ba68a6..b751ca4937 100644
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -7,6 +7,9 @@
 
 #define XEN_PX_INIT 0x80000000
 
+bool hwp_available(void);
+int hwp_register_driver(void);
+
 int powernow_cpufreq_init(void);
 unsigned int powernow_register_driver(void);
 unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 5672906729..3d6dd14377 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -316,6 +316,7 @@ struct xen_ondemand {
     uint32_t up_threshold;
 };
 
+#define XEN_HWP_GOVERNOR "hwp-internal"
 /*
  * cpufreq para name of this structure named
  * same as sysfs file name of native linux
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383879.619127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPN-00079n-0S; Wed, 10 Aug 2022 19:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383879.619127; Wed, 10 Aug 2022 19:30:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPM-00078l-NM; Wed, 10 Aug 2022 19:30:24 +0000
Received: by outflank-mailman (input) for mailman id 383879;
 Wed, 10 Aug 2022 19:30:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPL-00067E-IQ
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:23 +0000
Received: from mail-qv1-xf2c.google.com (mail-qv1-xf2c.google.com
 [2607:f8b0:4864:20::f2c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e03a6b5e-18e2-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:30:22 +0200 (CEST)
Received: by mail-qv1-xf2c.google.com with SMTP id l18so11710839qvt.13
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:22 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e03a6b5e-18e2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=rqMgcE4Oac0416vvAOiMSA4SrnvTMeuV9YAjTBvnyLM=;
        b=c1RoHlkCEWondmxQPEyoI0ZUa88s/sfMV7IFD3o1eO5ibI6vDW5UOqB3+rR29Vfd9X
         uJOnOE31Idn+uWnR1eh5ApWDAcJvn9ZzwN5x4yABO7IlUMRo88Xv27SDhelVOgI0fyt7
         7XTcf5DI2/I0kWo91UVcH/bin5EOk6bOi4krcpPMx0lFSEwct2LqbCSgvPx+W9sfGOpB
         6EnHlHR0lVGhWJyGGAdNRCjzgEcg/Mv4Y9z9IapK2gqTmtWn/J0dtC+rUIw/ZTg6E5eA
         preSsXc2WFKBuAflenTeDF9l9B226naJ8VRClCsM4TySxAQyRwZvG5IDbvPGQ7Rq5r3R
         npOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=rqMgcE4Oac0416vvAOiMSA4SrnvTMeuV9YAjTBvnyLM=;
        b=FRguijjFv2UqmPW1j2vPuF4ueIXaV617lcUn6/gVxRjRvf4dFYEkr/z2/LrqS3ekgc
         1kggzxGzIkpXn6GHJpnk0kNZtvR3p/FZyaybzwHrDT91tvByXMDEU//q4EthB/JrnnvV
         UTPyQGBoXvIj273479hW08pJTL7A1O9iIAE3iK1LIjLNdRBQSHgo7SfOxc0FUFP/LUfg
         X1AMlQMHg4jjDYk84qMS7OZ8y2NJEMkw/5d+o3lImtNFquTxVqR9tvfMbVceMlOKZXtV
         KDw+s+U2Xb5YBfquP3nCMJTz/nwUNYuvs0ejlCDXiYhye2AgZsqfJVg1p+iolNO5o7ut
         C2BA==
X-Gm-Message-State: ACgBeo0NTuazqNdu09y2TY7KjlJP1mKYVBfKesING7QVdbP6YMW8qk4m
	XWgSIMQyzZUETMdUTwPfFuFFJExTLgE=
X-Google-Smtp-Source: AA6agR5zmnvx/9hysTrDH3OmwaYLu83NMOvLqj3obI+NldcUtFs6ywO20hZPDCPlhkSSiaQROmmtTQ==
X-Received: by 2002:a05:6214:23ca:b0:474:8c8:4fdf with SMTP id hr10-20020a05621423ca00b0047408c84fdfmr25321370qvb.89.1660159821373;
        Wed, 10 Aug 2022 12:30:21 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 05/13] xenpm: Change get-cpufreq-para output for internal
Date: Wed, 10 Aug 2022 15:29:36 -0400
Message-Id: <20220810192944.102135-6-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When using HWP, some of the returned data is not applicable.  In that
case, we should just omit it to avoid confusing the user.  So switch to
printing the base and turbo frequencies since those are relevant to HWP.
Similarly, stop printing the CPU frequencies since those do not apply.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v2:
Use full governor name XEN_HWP_GOVERNOR to change output
Style fixes
---
 tools/misc/xenpm.c | 41 +++++++++++++++++++++++++----------------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 4f8cde690a..179f9f1f96 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -711,6 +711,7 @@ void start_gather_func(int argc, char *argv[])
 /* print out parameters about cpu frequency */
 static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
 {
+    bool internal = strstr(p_cpufreq->scaling_governor, XEN_HWP_GOVERNOR);
     int i;
 
     printf("cpu id               : %d\n", cpuid);
@@ -720,10 +721,15 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
         printf(" %d", p_cpufreq->affected_cpus[i]);
     printf("\n");
 
-    printf("cpuinfo frequency    : max [%u] min [%u] cur [%u]\n",
-           p_cpufreq->cpuinfo_max_freq,
-           p_cpufreq->cpuinfo_min_freq,
-           p_cpufreq->cpuinfo_cur_freq);
+    if ( internal )
+        printf("cpuinfo frequency    : base [%u] turbo [%u]\n",
+               p_cpufreq->cpuinfo_min_freq,
+               p_cpufreq->cpuinfo_max_freq);
+    else
+        printf("cpuinfo frequency    : max [%u] min [%u] cur [%u]\n",
+               p_cpufreq->cpuinfo_max_freq,
+               p_cpufreq->cpuinfo_min_freq,
+               p_cpufreq->cpuinfo_cur_freq);
 
     printf("scaling_driver       : %s\n", p_cpufreq->scaling_driver);
 
@@ -750,19 +756,22 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
                p_cpufreq->u.ondemand.up_threshold);
     }
 
-    printf("scaling_avail_freq   :");
-    for ( i = 0; i < p_cpufreq->freq_num; i++ )
-        if ( p_cpufreq->scaling_available_frequencies[i] ==
-             p_cpufreq->scaling_cur_freq )
-            printf(" *%d", p_cpufreq->scaling_available_frequencies[i]);
-        else
-            printf(" %d", p_cpufreq->scaling_available_frequencies[i]);
-    printf("\n");
+    if ( !internal )
+    {
+        printf("scaling_avail_freq   :");
+        for ( i = 0; i < p_cpufreq->freq_num; i++ )
+            if ( p_cpufreq->scaling_available_frequencies[i] ==
+                 p_cpufreq->scaling_cur_freq )
+                printf(" *%d", p_cpufreq->scaling_available_frequencies[i]);
+            else
+                printf(" %d", p_cpufreq->scaling_available_frequencies[i]);
+        printf("\n");
 
-    printf("scaling frequency    : max [%u] min [%u] cur [%u]\n",
-           p_cpufreq->scaling_max_freq,
-           p_cpufreq->scaling_min_freq,
-           p_cpufreq->scaling_cur_freq);
+        printf("scaling frequency    : max [%u] min [%u] cur [%u]\n",
+               p_cpufreq->scaling_max_freq,
+               p_cpufreq->scaling_min_freq,
+               p_cpufreq->scaling_cur_freq);
+    }
 
     printf("turbo mode           : %s\n",
            p_cpufreq->turbo_enabled ? "enabled" : "disabled or n/a");
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383880.619142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPO-0007bm-J4; Wed, 10 Aug 2022 19:30:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383880.619142; Wed, 10 Aug 2022 19:30:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPO-0007aE-D0; Wed, 10 Aug 2022 19:30:26 +0000
Received: by outflank-mailman (input) for mailman id 383880;
 Wed, 10 Aug 2022 19:30:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPN-00067E-NL
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:25 +0000
Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com
 [2607:f8b0:4864:20::f2a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e16f4b30-18e2-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:30:24 +0200 (CEST)
Received: by mail-qv1-xf2a.google.com with SMTP id j11so11706649qvt.10
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:24 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e16f4b30-18e2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=oNA3OUefEtpoG+cuOAW7lfiq629QCTVrL+PJWqyEDAU=;
        b=h9zUJXTkGdYO0GMd0SimjPJDn7vqpELKtdImO3vNhMX2MuY3hszB5Pj+J+F6px5kiB
         gbZK9cmbdGiKNXFm5HK9dRKj+56l1VGVmd8Z/ilIPtluoUYsec9RGNCiPZf44PlCiRad
         jzFaM7xNGCWwF4oKBtpCcySFNRm/gd4tXayiROi6bZrOAtxRPTIyQypXGbQ8fE1boVEg
         H9AZ/Lx563a5xujFzbMMf5nEWaD4caQntveXCsmNFkLlhfRXt0vRGWbLHbwirU2KJ5Qu
         LpDbVzwBmnfAbFKDUMjgkScgzUDJKSGhDdWzDifMV9SE5/beAbP+luLNpKlxNNzC8c/J
         XtXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=oNA3OUefEtpoG+cuOAW7lfiq629QCTVrL+PJWqyEDAU=;
        b=21VdFZWkqMPvZBgf/rHpDPB81eohaADlWDSB87UK6WU1icC9ZXtNhh6F3HsocuwpDD
         5lMuddt7a5pBzJFBrzf+Hhyl7SWVQ/9MLs8/THGf8fT/38ZBy6k7uvSNDwbbnw6uIEaM
         YgUU8Om1TKlloyuefOuxKnMW1iAsg/bZIcJFp2LTIVIUw4Up9Bg0zlcM8B2G/AVCvC7F
         OEAendKe9kXx1a6BK+wK/EMNTe/RFlEQJsxDdHA8/F1XbYCWdNoI0Q821/aRZIK/Agoa
         Cz4dngM9z7ghw+tm7oULiX1ojbiTKoaMua1WJa9WSeW4HCzKHo+QHcixNWX0mO0Unc9w
         A39A==
X-Gm-Message-State: ACgBeo2DnWrS7vNVaLk4yrE5NSTwt2O2Yq6vPAFyLrBho6xx9mOiXsIo
	mbjlr2FMf1uMqObvKboSXsH5JwMguac=
X-Google-Smtp-Source: AA6agR597Y3Z1Db2tIHP+bgACUqju5yRmkN2rOmAbGPHe4lw+QIIFKOWssCXmwUtFYFyMKFYspglmw==
X-Received: by 2002:a05:6214:e41:b0:473:915c:3efe with SMTP id o1-20020a0562140e4100b00473915c3efemr25215103qvc.10.1660159823436;
        Wed, 10 Aug 2022 12:30:23 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 06/13] cpufreq: Export HWP parameters to userspace
Date: Wed, 10 Aug 2022 15:29:37 -0400
Message-Id: <20220810192944.102135-7-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Extend xen_get_cpufreq_para to return hwp parameters.  These match the
hardware rather closely.

We need the features bitmask to indicated fields supported by the actual
hardware.

The use of uint8_t parameters matches the hardware size.  uint32_t
entries grows the sysctl_t past the build assertion in setup.c.  The
uint8_t ranges are supported across multiple generations, so hopefully
they won't change.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v2:
Style fixes
Don't bump XEN_SYSCTL_INTERFACE_VERSION
Drop cpufreq.h comment divider
Expand xen_hwp_para comment
Add HWP activity window mantissa/exponent defines
Handle union rename
Add const to get_hwp_para
Remove hw_ prefix from xen_hwp_para members
Use XEN_HWP_GOVERNOR
Use per_cpu for hwp_drv_data
---
 xen/arch/x86/acpi/cpufreq/hwp.c    | 25 +++++++++++++++++++++++++
 xen/drivers/acpi/pmstat.c          |  5 +++++
 xen/include/acpi/cpufreq/cpufreq.h |  2 ++
 xen/include/public/sysctl.h        | 26 ++++++++++++++++++++++++++
 4 files changed, 58 insertions(+)

diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
index 405cbae334..233089b6c9 100644
--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -500,6 +500,31 @@ static const struct cpufreq_driver __initconstrel hwp_cpufreq_driver =
     .update = hwp_cpufreq_update,
 };
 
+int get_hwp_para(const struct cpufreq_policy *policy,
+                 struct xen_hwp_para *hwp_para)
+{
+    unsigned int cpu = policy->cpu;
+    const struct hwp_drv_data *data = per_cpu(hwp_drv_data, cpu);
+
+    if ( data == NULL )
+        return -EINVAL;
+
+    hwp_para->features        =
+        (feature_hwp_activity_window ? XEN_SYSCTL_HWP_FEAT_ACT_WINDOW  : 0) |
+        (feature_hwp_energy_perf     ? XEN_SYSCTL_HWP_FEAT_ENERGY_PERF : 0);
+    hwp_para->lowest          = data->hw.lowest;
+    hwp_para->most_efficient  = data->hw.most_efficient;
+    hwp_para->guaranteed      = data->hw.guaranteed;
+    hwp_para->highest         = data->hw.highest;
+    hwp_para->minimum         = data->minimum;
+    hwp_para->maximum         = data->maximum;
+    hwp_para->energy_perf     = data->energy_perf;
+    hwp_para->activity_window = data->activity_window;
+    hwp_para->desired         = data->desired;
+
+    return 0;
+}
+
 int __init hwp_register_driver(void)
 {
     return cpufreq_register_driver(&hwp_cpufreq_driver);
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index 1bae635101..67fd9dabd4 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -290,6 +290,11 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
             &op->u.get_para.u.ondemand.sampling_rate,
             &op->u.get_para.u.ondemand.up_threshold);
     }
+
+    if ( !strncasecmp(op->u.get_para.scaling_governor, XEN_HWP_GOVERNOR,
+                      CPUFREQ_NAME_LEN) )
+        ret = get_hwp_para(policy, &op->u.get_para.u.hwp_para);
+
     op->u.get_para.turbo_enabled = cpufreq_get_turbo_status(op->cpuid);
 
     return ret;
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 29a712a4f1..92b4c7e79c 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -247,5 +247,7 @@ void intel_feature_detect(struct cpufreq_policy *policy);
 
 extern bool opt_cpufreq_hwp;
 extern bool opt_cpufreq_hdc;
+int get_hwp_para(const struct cpufreq_policy *policy,
+                 struct xen_hwp_para *hwp_para);
 
 #endif /* __XEN_CPUFREQ_PM_H__ */
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 3d6dd14377..12a7a7db29 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -316,6 +316,31 @@ struct xen_ondemand {
     uint32_t up_threshold;
 };
 
+struct xen_hwp_para {
+    /*
+     * bits 6:0   - 7bit mantissa
+     * bits 9:7   - 3bit base-10 exponent
+     * btis 15:10 - Unused - must be 0
+     */
+#define HWP_ACT_WINDOW_MANTISSA_MASK  0x7f
+#define HWP_ACT_WINDOW_EXPONENT_MASK  0x7
+#define HWP_ACT_WINDOW_EXPONENT_SHIFT 7
+    uint16_t activity_window;
+    /* energy_perf range 0-255 if 1. Otherwise 0-15 */
+#define XEN_SYSCTL_HWP_FEAT_ENERGY_PERF (1 << 0)
+    /* activity_window supported if 1 */
+#define XEN_SYSCTL_HWP_FEAT_ACT_WINDOW  (1 << 1)
+    uint8_t features; /* bit flags for features */
+    uint8_t lowest;
+    uint8_t most_efficient;
+    uint8_t guaranteed;
+    uint8_t highest;
+    uint8_t minimum;
+    uint8_t maximum;
+    uint8_t desired;
+    uint8_t energy_perf;
+};
+
 #define XEN_HWP_GOVERNOR "hwp-internal"
 /*
  * cpufreq para name of this structure named
@@ -348,6 +373,7 @@ struct xen_get_cpufreq_para {
     union {
         struct  xen_userspace userspace;
         struct  xen_ondemand ondemand;
+        struct  xen_hwp_para hwp_para;
     } u;
 
     int32_t turbo_enabled;
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383883.619154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPS-00087D-4B; Wed, 10 Aug 2022 19:30:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383883.619154; Wed, 10 Aug 2022 19:30:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPR-00086e-UP; Wed, 10 Aug 2022 19:30:29 +0000
Received: by outflank-mailman (input) for mailman id 383883;
 Wed, 10 Aug 2022 19:30:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPQ-00067E-92
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:28 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3184711-18e2-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:30:27 +0200 (CEST)
Received: by mail-qk1-x732.google.com with SMTP id c28so2850004qko.9
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:27 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3184711-18e2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=NQrN8k420cCh2Whj4lm6iBK+XOd3RM9/GZQ5kCWEzI8=;
        b=HLdIwGXHmwGnGDAJ3JX6fFs+egLvXpMNZxno9hqkr3M9GrcC6pDbmkbvmuqhXJdUvp
         OKAr4LmY9KMODQZwk83Ru7V7yJz0GqBdl9m8us6RPwhEYhBFM1UkBhxrH5PuTW9VVZeA
         hj8ZOkfHn8IW5ij8or1eoAAmnER25KcIBzxG0/3KuVgR2akhp9Tr1iEN5bznvhsVPfEP
         wGDFdpAT/0v4JPjz1eh/JW3A5fSwqnaVNg+cEW8dhoPyGREYv8rjcTrBBFWcgHr0xeBF
         eWE3XyMqBj0u6SoJC2+rCIeaK+LeE3Lc30OznZ62v96BWRmQvcsUnh9upvUJQqQLM/tR
         5xtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=NQrN8k420cCh2Whj4lm6iBK+XOd3RM9/GZQ5kCWEzI8=;
        b=GtgZ1t6xvy+ZG7U8A0gGYPM4cMtuDarmj6BjUHSwIrwpEYOShOXvWbOx3agvOYIfEX
         lgVFL96g2dLgWidM0X3fwmjeeQYHvm9NlEWgz3I5JVymRQH1DtrjOEZEuVyqn1dVKyv9
         j+1HWw/nm8y3+50qwdmBz/pzuUQzjyImotilF88pcdDE5kAQNcNHKtoh1gtPD6sQUG6K
         M+DwHLD5Z/AHr8CxZVOzjcFqB9xEgoJzE3iSAMWP2NRdCaQFuZsWgqXPcYNc0vn6eskq
         wJB7klE/gj6M2GS6LXRCUJeb3AmvXu81nK3AW1KtF0NBM2nCaVwxLbxpahzkia7qRGe7
         0DUg==
X-Gm-Message-State: ACgBeo0Nz8HSQ4rqeOvYbonDNbNRRSK7S1Ja0b9KP7VArI2OG93vlINT
	ed0UFU3Z1xO177yPk1qasedS5/yee6I=
X-Google-Smtp-Source: AA6agR4/b6vChHirTVxjRR7Za7Z/b8B31vpq4Bd4hDp1FXSpeyAGg/EYyp8Url+AwzrsWgXO8lIzTA==
X-Received: by 2002:a05:620a:2451:b0:6b9:ab33:64c3 with SMTP id h17-20020a05620a245100b006b9ab3364c3mr2581738qkn.565.1660159826228;
        Wed, 10 Aug 2022 12:30:26 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 07/13] libxc: Include hwp_para in definitions
Date: Wed, 10 Aug 2022 15:29:38 -0400
Message-Id: <20220810192944.102135-8-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Expose the hwp_para fields through libxc.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/include/xenctrl.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 0c8b4c3aa7..9586eca4c0 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1900,6 +1900,7 @@ int xc_smt_disable(xc_interface *xch);
  */
 typedef struct xen_userspace xc_userspace_t;
 typedef struct xen_ondemand xc_ondemand_t;
+typedef struct xen_hwp_para xc_hwp_para_t;
 
 struct xc_get_cpufreq_para {
     /* IN/OUT variable */
@@ -1927,6 +1928,7 @@ struct xc_get_cpufreq_para {
     union {
         xc_userspace_t userspace;
         xc_ondemand_t ondemand;
+        xc_hwp_para_t hwp_para;
     } u;
 
     int32_t turbo_enabled;
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383888.619165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPU-00004u-G1; Wed, 10 Aug 2022 19:30:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383888.619165; Wed, 10 Aug 2022 19:30:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPU-0008WK-BC; Wed, 10 Aug 2022 19:30:32 +0000
Received: by outflank-mailman (input) for mailman id 383888;
 Wed, 10 Aug 2022 19:30:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPS-00067E-86
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:30 +0000
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com
 [2607:f8b0:4864:20::82d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e434f504-18e2-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:30:29 +0200 (CEST)
Received: by mail-qt1-x82d.google.com with SMTP id u12so12038470qtk.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:29 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e434f504-18e2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=7bEttMh9VcsUlhPn8Yy1aX7Mn4PrqipA69uGmY68abY=;
        b=BwZyp+rsgJfUcUV4cG+PUd6wrTbHzbvEVC0JAen+uOJRCo6WANJLf5J/fDiwzm1pfE
         U7HTa5ToaHo1WKZVt2lb69gzA2NU3p1kzQ3NTDGainYHzWlly1gsAQFQEnaOc/vQ9wgR
         p5O/fOtrkxXTjTsMcsOdShFLjtAZRUfxdnOS1tVpqwdfA4QNvLhQZ7el1C1O2/zywO4p
         IKamJOf5E8nopP4EV8hXbgh7RmIkFOZbx6wKL3e62zHMrhY2/lizXG4guKiGp/9jQmSv
         ioHoMqM4t3owkdDyJrnS+njzmuVtMzkctSuRb0hiz+PlqNS/YiybrqLsV8H+vClWIjMH
         wldA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=7bEttMh9VcsUlhPn8Yy1aX7Mn4PrqipA69uGmY68abY=;
        b=sta73nWEni/3JAe5lbJXyqzOtZs91g9smzPQyk4cF5klsOwYWaVObQBJRQLgJflgYq
         x/RbhNQ38SoKJ1X/coZRJsufuj0KwyifgLh8xwE3Ig36HdhIMo0g2Zp6LQMKcL1rhnxy
         npBGRLsvrzJ9d9FPWpKBtJMw6/M45Y45So5A6CdpX2uTK0aVdQpYfUL5Ye2ipZcPV1SG
         UQ3bKf++UGHiGkXMVf5ZODAInD7VSpmxjySgB34RhlxFuUqWi3cE22fY8+6PwmE4Fl5P
         ZpCO/q8+Mw5H7/rtX537gbQrP8aybGAt+1CKAMTigB36RY4sUIpYnOtKw8u3netjNRXX
         WAeg==
X-Gm-Message-State: ACgBeo0bFj4HnDm8sNkmY73utSf7QjNI00AB3Zn6SJG55ZrSiyHT8sGA
	rw0xn9AhZKXjk0W615ueB4dGVjSdyU8=
X-Google-Smtp-Source: AA6agR7R3cf12ooaUePc+sYsLFBnL4fRmb64u+qopKpUNVUQB+R8UbRr+vZ8vPmykcmAvFjs44e5YA==
X-Received: by 2002:ac8:5882:0:b0:343:648d:5a00 with SMTP id t2-20020ac85882000000b00343648d5a00mr285819qta.636.1660159828163;
        Wed, 10 Aug 2022 12:30:28 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 08/13] xenpm: Print HWP parameters
Date: Wed, 10 Aug 2022 15:29:39 -0400
Message-Id: <20220810192944.102135-9-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Print HWP-specific parameters.  Some are always present, but others
depend on hardware support.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v2:
Style fixes
Declare i outside loop
Replace repearted hardware/configured limits with spaces
Fixup for hw_ removal
Use XEN_HWP_GOVERNOR
Use HWP_ACT_WINDOW_EXPONENT_*
Remove energy_perf hw autonomous - 0 doesn't mean autonomous
---
 tools/misc/xenpm.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 179f9f1f96..610a516213 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -708,6 +708,44 @@ void start_gather_func(int argc, char *argv[])
     pause();
 }
 
+static void calculate_hwp_activity_window(const xc_hwp_para_t *hwp,
+                                          unsigned int *activity_window,
+                                          const char **units)
+{
+    unsigned int mantissa = hwp->activity_window & HWP_ACT_WINDOW_MANTISSA_MASK;
+    unsigned int exponent =
+        (hwp->activity_window >> HWP_ACT_WINDOW_EXPONENT_SHIFT) &
+            HWP_ACT_WINDOW_EXPONENT_MASK;
+    unsigned int multiplier = 1;
+    unsigned int i;
+
+    if ( hwp->activity_window == 0 )
+    {
+        *units = "hardware selected";
+        *activity_window = 0;
+
+        return;
+    }
+
+    if ( exponent >= 6 )
+    {
+        *units = "s";
+        exponent -= 6;
+    }
+    else if ( exponent >= 3 )
+    {
+        *units = "ms";
+        exponent -= 3;
+    }
+    else
+        *units = "us";
+
+    for ( i = 0; i < exponent; i++ )
+        multiplier *= 10;
+
+    *activity_window = mantissa * multiplier;
+}
+
 /* print out parameters about cpu frequency */
 static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
 {
@@ -773,6 +811,33 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
                p_cpufreq->scaling_cur_freq);
     }
 
+    if ( strcmp(p_cpufreq->scaling_governor, XEN_HWP_GOVERNOR) == 0 )
+    {
+        const xc_hwp_para_t *hwp = &p_cpufreq->u.hwp_para;
+
+        printf("hwp variables        :\n");
+        printf("  hardware limits    : lowest [%u] most_efficient [%u]\n",
+               hwp->lowest, hwp->most_efficient);
+        printf("                     : guaranteed [%u] highest [%u]\n",
+               hwp->guaranteed, hwp->highest);
+        printf("  configured limits  : min [%u] max [%u] energy_perf [%u]\n",
+               hwp->minimum, hwp->maximum, hwp->energy_perf);
+
+        if ( hwp->features & XEN_SYSCTL_HWP_FEAT_ACT_WINDOW )
+        {
+            unsigned int activity_window;
+            const char *units;
+
+            calculate_hwp_activity_window(hwp, &activity_window, &units);
+            printf("                     : activity_window [%u %s]\n",
+                   activity_window, units);
+        }
+
+        printf("                     : desired [%u%s]\n",
+               hwp->desired,
+               hwp->desired ? "" : " hw autonomous");
+    }
+
     printf("turbo mode           : %s\n",
            p_cpufreq->turbo_enabled ? "enabled" : "disabled or n/a");
     printf("\n");
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383893.619176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPW-0000W7-TI; Wed, 10 Aug 2022 19:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383893.619176; Wed, 10 Aug 2022 19:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPW-0000Vk-Os; Wed, 10 Aug 2022 19:30:34 +0000
Received: by outflank-mailman (input) for mailman id 383893;
 Wed, 10 Aug 2022 19:30:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPW-0005rf-2A
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:34 +0000
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com
 [2607:f8b0:4864:20::82d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5bcb100-18e2-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:30:32 +0200 (CEST)
Received: by mail-qt1-x82d.google.com with SMTP id e28so3916602qts.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:32 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5bcb100-18e2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=P4DHnPs04M49UGm1RCAoIcdB9bRr1CaBP0xbsg4cF5o=;
        b=Crxk3M5J3ets7+XOb0sdwE4VxWh+gUIf5a5ZaidWk5CZSxln7toj7dp0umjDEpKpks
         dOPXniPalO0SHN6wYHQKdXTCSOtROqdJF6Exqvnfr0OaiZ9Hhp/MiBe3007fGv/GkM8l
         O5EOR+yQRcXk+NQoUy8IOovBd3aofkjY64XGAhkZoGICTnkiPMMrlnRmdHjFWrMcLo5L
         KkLCoxT/7rxCAvPLmKLWZhXcKR2j5AXmpw7WoiXsXnm8BJ/BmYmBSysKSxUr/Dscd0Gx
         YtkIAMijb6sShds5pfCCKU45o6IaxiddHikym8t5huzhXrS2UXKL8lcLdIh+5as4kgA1
         ggow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=P4DHnPs04M49UGm1RCAoIcdB9bRr1CaBP0xbsg4cF5o=;
        b=4JWL0PYOCMTeLTn5dXS0SZRh3lrJ36FC3QEFKHzGXqemc4ond8p0GQVPrsBmEKuu5s
         dMEhaWFfvbF1NmfNwUZsrvbadQUx+K4thijHArJ28kt7q97QTEDsLCwFQ/D671AYOV0R
         anUXXgYRaUs2CRhnyYU1/Vq/z49O2+umH6EdhvoJi52scH6TFLl51UX9p9tG9DjaSl/n
         FyprvqT1/EdGIGEuxf45XgL3sefgZzLH6h+xdNDBeF8isyoe8Jc/0WG4sDzswbdrZzCJ
         rLehUW1cv+BI2dh0SIqNCEtl1iDZMICAJWNfsg91r8sNEr6z04dNfP+vJYt7woCLYn6n
         uTSw==
X-Gm-Message-State: ACgBeo2tO/FCVQefoOPJpxeVZMJ3UQh1A2URwOfSOXI2Z5AXlv0rRx/O
	ufkS7JYqrw9upw0sOgx5FVVkqjE/lY0=
X-Google-Smtp-Source: AA6agR5mPFEwjA1NEpP4R+XOX2tCYNEaGu2dx5jNneksQstJ1gm4udxvsXelcDD/YAp3dmZr/MnL/A==
X-Received: by 2002:a05:622a:174e:b0:343:202:4e55 with SMTP id l14-20020a05622a174e00b0034302024e55mr11569015qtk.81.1660159830572;
        Wed, 10 Aug 2022 12:30:30 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 09/13] xen: Add SET_CPUFREQ_HWP xen_sysctl_pm_op
Date: Wed, 10 Aug 2022 15:29:40 -0400
Message-Id: <20220810192944.102135-10-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add SET_CPUFREQ_HWP xen_sysctl_pm_op to set HWP parameters.  The sysctl
supports setting multiple values simultaneously as indicated by the
set_params bits.  This allows atomically applying new HWP configuration
via a single wrmsr.

XEN_SYSCTL_HWP_SET_PRESET_BALANCE/PERFORMANCE/POWERSAVE provide three
common presets.  Setting them depends on hardware limits which the
hypervisor is already caching.  So using them allows skipping a
hypercall to query the limits (lowest/highest) to then set those same
values.  The code is organized to allow a preset to be refined with
additional stuff if desired.

"most_efficient" and "guaranteed" could be additional presets in the
future, but the are not added now.  Those levels can change at runtime,
but we don't have code in place to monitor and update for those events.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

---
v2:
Update for naming anonymous union
Drop hwp_err for invalid input in set_hwp_para()
Drop uint16_t cast in XEN_SYSCTL_HWP_SET_PARAM_MASK
Drop parens for HWP_SET_PRESET defines
Reference activity_window format comment
Place SET_CPUFREQ_HWP after SET_CPUFREQ_PARA
Add {HWP,IA32}_ENERGY_PERF_MAX_{PERFORMANCE,POWERSAVE} defines
Order defines before fields in sysctl.h
Use XEN_HWP_GOVERNOR
Use per_cpu for hwp_drv_data
---
 xen/arch/x86/acpi/cpufreq/hwp.c    | 96 ++++++++++++++++++++++++++++++
 xen/drivers/acpi/pmstat.c          | 23 +++++++
 xen/include/acpi/cpufreq/cpufreq.h |  2 +
 xen/include/public/sysctl.h        | 30 ++++++++++
 4 files changed, 151 insertions(+)

diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
index 233089b6c9..2466933407 100644
--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -25,7 +25,9 @@ static bool feature_hdc;
 __initdata bool opt_cpufreq_hwp = false;
 __initdata bool opt_cpufreq_hdc = true;
 
+#define HWP_ENERGY_PERF_MAX_PERFORMANCE 0
 #define HWP_ENERGY_PERF_BALANCE         0x80
+#define HWP_ENERGY_PERF_MAX_POWERSAVE   0xff
 #define IA32_ENERGY_BIAS_BALANCE        0x7
 #define IA32_ENERGY_BIAS_MAX_POWERSAVE  0xf
 #define IA32_ENERGY_BIAS_MASK           0xf
@@ -525,6 +527,100 @@ int get_hwp_para(const struct cpufreq_policy *policy,
     return 0;
 }
 
+int set_hwp_para(struct cpufreq_policy *policy,
+                 struct xen_set_hwp_para *set_hwp)
+{
+    unsigned int cpu = policy->cpu;
+    struct hwp_drv_data *data = per_cpu(hwp_drv_data, cpu);
+
+    if ( data == NULL )
+        return -EINVAL;
+
+    /* Validate all parameters first */
+    if ( set_hwp->set_params & ~XEN_SYSCTL_HWP_SET_PARAM_MASK )
+        return -EINVAL;
+
+    if ( set_hwp->activity_window & ~XEN_SYSCTL_HWP_ACT_WINDOW_MASK )
+        return -EINVAL;
+
+    if ( !feature_hwp_energy_perf &&
+         (set_hwp->set_params & XEN_SYSCTL_HWP_SET_ENERGY_PERF) &&
+         set_hwp->energy_perf > IA32_ENERGY_BIAS_MAX_POWERSAVE )
+        return -EINVAL;
+
+    if ( (set_hwp->set_params & XEN_SYSCTL_HWP_SET_DESIRED) &&
+         set_hwp->desired != 0 &&
+         (set_hwp->desired < data->hw.lowest ||
+          set_hwp->desired > data->hw.highest) )
+        return -EINVAL;
+
+    /*
+     * minimum & maximum are not validated as hardware doesn't seem to care
+     * and the SDM says CPUs will clip internally.
+     */
+
+    /* Apply presets */
+    switch ( set_hwp->set_params & XEN_SYSCTL_HWP_SET_PRESET_MASK )
+    {
+    case XEN_SYSCTL_HWP_SET_PRESET_POWERSAVE:
+        data->minimum = data->hw.lowest;
+        data->maximum = data->hw.lowest;
+        data->activity_window = 0;
+        if ( feature_hwp_energy_perf )
+            data->energy_perf = HWP_ENERGY_PERF_MAX_POWERSAVE;
+        else
+            data->energy_perf = IA32_ENERGY_BIAS_MAX_POWERSAVE;
+        data->desired = 0;
+        break;
+
+    case XEN_SYSCTL_HWP_SET_PRESET_PERFORMANCE:
+        data->minimum = data->hw.highest;
+        data->maximum = data->hw.highest;
+        data->activity_window = 0;
+        data->energy_perf = HWP_ENERGY_PERF_MAX_PERFORMANCE;
+        data->desired = 0;
+        break;
+
+    case XEN_SYSCTL_HWP_SET_PRESET_BALANCE:
+        data->minimum = data->hw.lowest;
+        data->maximum = data->hw.highest;
+        data->activity_window = 0;
+        if ( feature_hwp_energy_perf )
+            data->energy_perf = HWP_ENERGY_PERF_BALANCE;
+        else
+            data->energy_perf = IA32_ENERGY_BIAS_BALANCE;
+        data->desired = 0;
+        break;
+
+    case XEN_SYSCTL_HWP_SET_PRESET_NONE:
+        break;
+
+    default:
+        return -EINVAL;
+    }
+
+    /* Further customize presets if needed */
+    if ( set_hwp->set_params & XEN_SYSCTL_HWP_SET_MINIMUM )
+        data->minimum = set_hwp->minimum;
+
+    if ( set_hwp->set_params & XEN_SYSCTL_HWP_SET_MAXIMUM )
+        data->maximum = set_hwp->maximum;
+
+    if ( set_hwp->set_params & XEN_SYSCTL_HWP_SET_ENERGY_PERF )
+        data->energy_perf = set_hwp->energy_perf;
+
+    if ( set_hwp->set_params & XEN_SYSCTL_HWP_SET_DESIRED )
+        data->desired = set_hwp->desired;
+
+    if ( set_hwp->set_params & XEN_SYSCTL_HWP_SET_ACT_WINDOW )
+        data->activity_window = set_hwp->activity_window &
+                                XEN_SYSCTL_HWP_ACT_WINDOW_MASK;
+
+    hwp_cpufreq_target(policy, 0, 0);
+
+    return 0;
+}
+
 int __init hwp_register_driver(void)
 {
     return cpufreq_register_driver(&hwp_cpufreq_driver);
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index 67fd9dabd4..55e2b285b5 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -398,6 +398,25 @@ static int set_cpufreq_para(struct xen_sysctl_pm_op *op)
     return ret;
 }
 
+static int set_cpufreq_hwp(struct xen_sysctl_pm_op *op)
+{
+    struct cpufreq_policy *policy;
+
+    if ( !cpufreq_governor_internal )
+        return -EINVAL;
+
+    policy = per_cpu(cpufreq_cpu_policy, op->cpuid);
+
+    if ( !policy || !policy->governor )
+        return -EINVAL;
+
+    if ( strncasecmp(policy->governor->name, XEN_HWP_GOVERNOR,
+                     CPUFREQ_NAME_LEN) )
+        return -EINVAL;
+
+    return set_hwp_para(policy, &op->u.set_hwp);
+}
+
 int do_pm_op(struct xen_sysctl_pm_op *op)
 {
     int ret = 0;
@@ -470,6 +489,10 @@ int do_pm_op(struct xen_sysctl_pm_op *op)
         break;
     }
 
+    case SET_CPUFREQ_HWP:
+        ret = set_cpufreq_hwp(op);
+        break;
+
     case GET_CPUFREQ_AVGFREQ:
     {
         op->u.get_avgfreq = cpufreq_driver_getavg(op->cpuid, USR_GETAVG);
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 92b4c7e79c..b8831b2cd3 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -249,5 +249,7 @@ extern bool opt_cpufreq_hwp;
 extern bool opt_cpufreq_hdc;
 int get_hwp_para(const struct cpufreq_policy *policy,
                  struct xen_hwp_para *hwp_para);
+int set_hwp_para(struct cpufreq_policy *policy,
+                 struct xen_set_hwp_para *set_hwp);
 
 #endif /* __XEN_CPUFREQ_PM_H__ */
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 12a7a7db29..08e25e15a6 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -341,6 +341,34 @@ struct xen_hwp_para {
     uint8_t energy_perf;
 };
 
+/* set multiple values simultaneously when set_args bit is set */
+struct xen_set_hwp_para {
+#define XEN_SYSCTL_HWP_SET_DESIRED              (1U << 0)
+#define XEN_SYSCTL_HWP_SET_ENERGY_PERF          (1U << 1)
+#define XEN_SYSCTL_HWP_SET_ACT_WINDOW           (1U << 2)
+#define XEN_SYSCTL_HWP_SET_MINIMUM              (1U << 3)
+#define XEN_SYSCTL_HWP_SET_MAXIMUM              (1U << 4)
+#define XEN_SYSCTL_HWP_SET_PRESET_MASK          0xf000
+#define XEN_SYSCTL_HWP_SET_PRESET_NONE          0x0000
+#define XEN_SYSCTL_HWP_SET_PRESET_BALANCE       0x1000
+#define XEN_SYSCTL_HWP_SET_PRESET_POWERSAVE     0x2000
+#define XEN_SYSCTL_HWP_SET_PRESET_PERFORMANCE   0x3000
+#define XEN_SYSCTL_HWP_SET_PARAM_MASK ( \
+                                  XEN_SYSCTL_HWP_SET_PRESET_MASK | \
+                                  XEN_SYSCTL_HWP_SET_DESIRED     | \
+                                  XEN_SYSCTL_HWP_SET_ENERGY_PERF | \
+                                  XEN_SYSCTL_HWP_SET_ACT_WINDOW  | \
+                                  XEN_SYSCTL_HWP_SET_MINIMUM     | \
+                                  XEN_SYSCTL_HWP_SET_MAXIMUM     )
+    uint16_t set_params; /* bitflags for valid values */
+#define XEN_SYSCTL_HWP_ACT_WINDOW_MASK          0x03ff
+    uint16_t activity_window; /* See comment in struct xen_hwp_para */
+    uint8_t minimum;
+    uint8_t maximum;
+    uint8_t desired;
+    uint8_t energy_perf; /* 0-255 or 0-15 depending on HW support */
+};
+
 #define XEN_HWP_GOVERNOR "hwp-internal"
 /*
  * cpufreq para name of this structure named
@@ -403,6 +431,7 @@ struct xen_sysctl_pm_op {
     #define SET_CPUFREQ_GOV            (CPUFREQ_PARA | 0x02)
     #define SET_CPUFREQ_PARA           (CPUFREQ_PARA | 0x03)
     #define GET_CPUFREQ_AVGFREQ        (CPUFREQ_PARA | 0x04)
+    #define SET_CPUFREQ_HWP            (CPUFREQ_PARA | 0x05)
 
     /* set/reset scheduler power saving option */
     #define XEN_SYSCTL_pm_op_set_sched_opt_smt    0x21
@@ -429,6 +458,7 @@ struct xen_sysctl_pm_op {
         struct xen_get_cpufreq_para get_para;
         struct xen_set_cpufreq_gov  set_gov;
         struct xen_set_cpufreq_para set_para;
+        struct xen_set_hwp_para     set_hwp;
         uint64_aligned_t get_avgfreq;
         uint32_t                    set_sched_opt_smt;
 #define XEN_SYSCTL_CX_UNLIMITED 0xffffffff
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383895.619186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPY-0000si-Kq; Wed, 10 Aug 2022 19:30:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383895.619186; Wed, 10 Aug 2022 19:30:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPY-0000rS-E7; Wed, 10 Aug 2022 19:30:36 +0000
Received: by outflank-mailman (input) for mailman id 383895;
 Wed, 10 Aug 2022 19:30:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPW-00067E-Sh
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:35 +0000
Received: from mail-qv1-xf2c.google.com (mail-qv1-xf2c.google.com
 [2607:f8b0:4864:20::f2c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e770febe-18e2-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:30:34 +0200 (CEST)
Received: by mail-qv1-xf2c.google.com with SMTP id l18so11711228qvt.13
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:34 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e770febe-18e2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=dLajvGFi/Mcq6cLyHR7My8Hc/MEdmzVTbkF+UN7LfEg=;
        b=pB5xf/YEQ3P8NLS7h8SXbF4V4sYUUeMsGEYPIFenPb8paOjgeZ/0QBPFHSpO2t0H6a
         HJ3d1q+KGpQMvuMOao+B4AIIRF921ShjneEBM4WOMdDQG9btDQC9zGyX/eU1wyiLxjNt
         VENBx0xjLF8/tE2KXCg9QR9L7j6NSmHsubPxm17B+0upYRHaBjfYLYQa98yHMZvC1rXL
         TnDC3YdQhApMTPHH8jsQp1do6ucwo7nGHI46z+/NqtRuIQFOvJc7sZOqEtp7fk5w2Lh1
         PkfAO4Ssupm5OIuXCPS3YfE/405aKoRtXXUHFn354CMHzckx54tsNQxQRiCGxn8KSyQx
         GZpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=dLajvGFi/Mcq6cLyHR7My8Hc/MEdmzVTbkF+UN7LfEg=;
        b=wvJv/T7eZ03Jg1QjVs0/zOhEStMWt9V8cUBZCMiJ5xet4nPFhK1BGtYunUrEGFDvhY
         3ekr1oj6IJVIzZz5Dl64ova4Sru81wujbByvZdlaVu6i0ElB6rMuy1y4SUPag2Igj+8+
         OzH9UPzoCe+4T/0CFqMGk/7Ib5nRu13e6Ln/spwxIIQhXKNv9D+wwzpXPNPqZNX8MdTn
         a0OgfyjeW5mYqh9Zu8G1Rojx4jXFbf8A4V4kNc21u3afWElX965jzTVVEYzZLEwqQMHd
         PP/XopEHVAyqw0pqOgugmsxQX2KiDwjRCxwZjO+ESaXY5R/mi6t10bjNYe8kmOpYhHvB
         uiKw==
X-Gm-Message-State: ACgBeo3bdKAgCp3RBc5bk04Z+jjHJK+ZzzEJ04b4xvmtkhVaTXQ5uBOJ
	01ysIrSqupbx0Xq9Yot2PDNPUnf2V+k=
X-Google-Smtp-Source: AA6agR6AHSo2l4SyRfTLy7dPfWFwKCM7w+4fegiPz5bnDR7LfriyWsMdrF8su5Ldpt6aKhrNUxADLQ==
X-Received: by 2002:a05:6214:c25:b0:476:eb9c:fc7b with SMTP id a5-20020a0562140c2500b00476eb9cfc7bmr24850012qvd.108.1660159833498;
        Wed, 10 Aug 2022 12:30:33 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 10/13] libxc: Add xc_set_cpufreq_hwp
Date: Wed, 10 Aug 2022 15:29:41 -0400
Message-Id: <20220810192944.102135-11-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add xc_set_cpufreq_hwp to allow calling xen_systctl_pm_op
SET_CPUFREQ_HWP.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

---
v2:
Mark xc_set_hwp_para_t const
---
 tools/include/xenctrl.h |  4 ++++
 tools/libs/ctrl/xc_pm.c | 18 ++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 9586eca4c0..2d6c112d44 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1934,11 +1934,15 @@ struct xc_get_cpufreq_para {
     int32_t turbo_enabled;
 };
 
+typedef struct xen_set_hwp_para xc_set_hwp_para_t;
+
 int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
                         struct xc_get_cpufreq_para *user_para);
 int xc_set_cpufreq_gov(xc_interface *xch, int cpuid, char *govname);
 int xc_set_cpufreq_para(xc_interface *xch, int cpuid,
                         int ctrl_type, int ctrl_value);
+int xc_set_cpufreq_hwp(xc_interface *xch, int cpuid,
+                       const xc_set_hwp_para_t *set_hwp);
 int xc_get_cpufreq_avgfreq(xc_interface *xch, int cpuid, int *avg_freq);
 
 int xc_set_sched_opt_smt(xc_interface *xch, uint32_t value);
diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
index 76d7eb7f26..87c636f820 100644
--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -330,6 +330,24 @@ int xc_set_cpufreq_para(xc_interface *xch, int cpuid,
     return xc_sysctl(xch, &sysctl);
 }
 
+int xc_set_cpufreq_hwp(xc_interface *xch, int cpuid,
+                       const xc_set_hwp_para_t *set_hwp)
+{
+    DECLARE_SYSCTL;
+
+    if ( !xch )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+    sysctl.cmd = XEN_SYSCTL_pm_op;
+    sysctl.u.pm_op.cmd = SET_CPUFREQ_HWP;
+    sysctl.u.pm_op.cpuid = cpuid;
+    sysctl.u.pm_op.u.set_hwp = *set_hwp;
+
+    return xc_sysctl(xch, &sysctl);
+}
+
 int xc_get_cpufreq_avgfreq(xc_interface *xch, int cpuid, int *avg_freq)
 {
     int ret = 0;
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383898.619195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPa-0001FW-IZ; Wed, 10 Aug 2022 19:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383898.619195; Wed, 10 Aug 2022 19:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPa-0001DW-20; Wed, 10 Aug 2022 19:30:38 +0000
Received: by outflank-mailman (input) for mailman id 383898;
 Wed, 10 Aug 2022 19:30:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPY-0005rf-LI
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:36 +0000
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com
 [2607:f8b0:4864:20::82d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8749938-18e2-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:30:36 +0200 (CEST)
Received: by mail-qt1-x82d.google.com with SMTP id e28so3916803qts.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:35 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8749938-18e2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=y+vBMXcv/4DGDDmvZsPT8uzCrAOnCtue/wVF+VShjKg=;
        b=PPGXS1dOZqj42VzObj0IdiHNnLxQmcwh/dsSPcpXr3rOsqcxlHLsH3hHXmBW9TPyvC
         estethndHVfIg1qXWb9+T7HqGO4xe0bD6FkJmweoZXrFmPD7D6BtteubqJikkSnXVPrY
         P4HtAel+xPintYU2didWBR/a0EaaQJOLHAAWHCUZLIWHuI5qPRhFiARFAU4Bb7TzWayB
         /2WXKlhs/fGa8Os71/LCOmhkQWyHJfiSd3iqvvi+v+abqtGgDq9jDZWytvHaFjaoMUao
         rIIaPncGXFJuyEtkfXPklW/Y+z7q2Jrk61g+XhrHk0K1sABhLEcM27zvWt5z9qxjiUR6
         FmQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=y+vBMXcv/4DGDDmvZsPT8uzCrAOnCtue/wVF+VShjKg=;
        b=pndWOd0mWhTvIg48dTsWNvtbpIV9Ivtxg4bJq4nBX5KjI90AkBpKVEwTNVo+CeCOxm
         s6H1xawSWXjujlzLo0MUwCQ3d++wPalC/VnFGP+xrltBRxtovaGoZvQglqBw4FM9e5oy
         yIgZ3fXHE5AXy2cjxYUJy1udVheuzZENUDvYJkIp8MrGWFIhungG45o+GEZv85H+45Of
         Kelvda4Ql5Lh416S/QNEIuz4Q99pnS0X/GB88aDzGhasDivDi7dEa7CwzucJpubCdGPg
         0dKv3zPSbFkzp04u4tRTOXf5trEcKtX4bPbiXuGP2B59UsxJOX67bL6KY/kM/BpFmVO/
         hCOg==
X-Gm-Message-State: ACgBeo1SermSt+TSIKfarL6XsjXZ+BEki7bi7anLj8sBGNHeF4aDGKh/
	AbZJ8rzb0JvXUxW+l1PctjkL49rJDDo=
X-Google-Smtp-Source: AA6agR7XoRUtZkLiJlHkCmpGAOHqOTXlBzuTjfVIEO0YRFkRRBuKdvoOHMPunC0xVX3Ku0XJQJxE+A==
X-Received: by 2002:a05:622a:190f:b0:343:5aa8:5538 with SMTP id w15-20020a05622a190f00b003435aa85538mr3286410qtc.445.1660159835258;
        Wed, 10 Aug 2022 12:30:35 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 11/13] xenpm: Factor out a non-fatal cpuid_parse variant
Date: Wed, 10 Aug 2022 15:29:42 -0400
Message-Id: <20220810192944.102135-12-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allow cpuid_parse to be re-used without terminating xenpm.  HWP will
re-use it to optionally parse a cpuid.  Unlike other uses of
cpuid_parse, parse_hwp_opts will take a variable number of arguments and
cannot just check argc.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v2:
Retained because cpuid_parse handles numeric cpu numbers and "all".
---
 tools/misc/xenpm.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 610a516213..5b28e2f6dd 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -79,17 +79,26 @@ void help_func(int argc, char *argv[])
     show_help();
 }
 
-static void parse_cpuid(const char *arg, int *cpuid)
+static int parse_cpuid_non_fatal(const char *arg, int *cpuid)
 {
     if ( sscanf(arg, "%d", cpuid) != 1 || *cpuid < 0 )
     {
         if ( strcasecmp(arg, "all") )
-        {
-            fprintf(stderr, "Invalid CPU identifier: '%s'\n", arg);
-            exit(EINVAL);
-        }
+            return -1;
+
         *cpuid = -1;
     }
+
+    return 0;
+}
+
+static void parse_cpuid(const char *arg, int *cpuid)
+{
+    if ( parse_cpuid_non_fatal(arg, cpuid) )
+    {
+        fprintf(stderr, "Invalid CPU identifier: '%s'\n", arg);
+        exit(EINVAL);
+    }
 }
 
 static void parse_cpuid_and_int(int argc, char *argv[],
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:30:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:30:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383902.619208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPd-0001pr-Ub; Wed, 10 Aug 2022 19:30:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383902.619208; Wed, 10 Aug 2022 19:30:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrPd-0001ph-R4; Wed, 10 Aug 2022 19:30:41 +0000
Received: by outflank-mailman (input) for mailman id 383902;
 Wed, 10 Aug 2022 19:30:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPb-00067E-QT
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:40 +0000
Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com
 [2607:f8b0:4864:20::f32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9c12b20-18e2-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:30:38 +0200 (CEST)
Received: by mail-qv1-xf32.google.com with SMTP id d10so6167281qvn.8
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:38 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9c12b20-18e2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=pJCyh+ArYcfa4uMep711UzFy3W8Uwd/8EjcLTHkoO0k=;
        b=RgcwESKdKg3z7te/avieu5S7kOxrYSbl//vn16Ja9ML2kcugPK8P7HczGrxGXMDQj3
         8Q51iyYO86N+ToneiJbarkoU6m4fEvT/x+NpwwiYetoS//NQtVfITVRcK8FCSL/k7yBz
         7yoxhcoqNZiGBIRuqeX9+GHYHC+htN4HPXh/97dWsl/89ETBOCOMVnMg8HVU9Q8NSESW
         TBEcafrE5Uzn1vRvikdzvf9BLRL42et1sTS5UIh22wuxcdEYK49JXKF6Yj6Bx4g8puO0
         4kwjhG0r1KV9u3yKKcWB2kTIjVl2Tlul4FXMd/FpKylocq5G7xyc2bm0AejG1mSI1RiU
         /1Uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=pJCyh+ArYcfa4uMep711UzFy3W8Uwd/8EjcLTHkoO0k=;
        b=19lOOBGt2VDPEW0nfO96wFe/+QX1UrIAzvBLAZ0gfrEM9Pa9BWQcjExh1ml2dWlAHA
         TLzpYtB0YXwXWOvPkDWG3PD+eUlU6LjM+7W5Ag5gUfdQfExApEK/8kzf6Ch+ZAhcmP+9
         ZRkKyix/TV2gZbQNNMugS8m16ur7bYZeU+NlcyBUzvPrR5nQ0EapJARamFmVm4tviwmk
         ewN7lV5TEGbP0oJPVSimz6l6tXO//gW5ZHItpGD+Sz0qeRPsK6ZepY5GuqftaR7f9Pq4
         7FmmS0jjnpynqs6J7GGmXA32l4XWGETFK2BiyqD7nDIan5DxkWGXbcVs3ameFeyfnV0D
         6RtQ==
X-Gm-Message-State: ACgBeo0pzg9TJI3Jytm1ALJhlshQ5micFr5J7TRdtimQayphbZ9ACA39
	YXm8C9uvwtM+rZ75Q/P3EkrjZ75b18k=
X-Google-Smtp-Source: AA6agR5MyhpdcuvfjPzDeyzHfF6vS/9egzV5yEl3CSLOvMPNmrpBJ2P4FeUmZb6SJV9ydYGADLnQSA==
X-Received: by 2002:a0c:f20f:0:b0:474:9593:ef67 with SMTP id h15-20020a0cf20f000000b004749593ef67mr25280406qvk.8.1660159837348;
        Wed, 10 Aug 2022 12:30:37 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 12/13] xenpm: Add set-cpufreq-hwp subcommand
Date: Wed, 10 Aug 2022 15:29:43 -0400
Message-Id: <20220810192944.102135-13-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

set-cpufreq-hwp allows setting the Hardware P-State (HWP) parameters.

It can be run on all or just a single cpu.  There are presets of
balance, powersave & performance.  Those can be further tweaked by
param:val arguments as explained in the usage description.

Parameter names are just checked to the first 3 characters to shorten
typing.

Some options are hardware dependent, and ranges can be found in
get-cpufreq-para.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v2:
Compare provided parameter name and not just 3 characters.
Use "-" in parameter names
Remove hw_
Replace sscanf with strchr & strtoul.
Remove toplevel error message with lower level ones.
Help text s/127/128/
Help text mention truncation.
Avoid some truncation rounding down by adding 5 before division.
Help test mention default microseconds
Also comment the limit check written to avoid overflow.
---
 tools/misc/xenpm.c | 230 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 230 insertions(+)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 5b28e2f6dd..c66ba7c959 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -16,6 +16,7 @@
  */
 #define MAX_NR_CPU 512
 
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -67,6 +68,27 @@ void show_help(void)
             " set-max-cstate        <num>|'unlimited' [<num2>|'unlimited']\n"
             "                                     set the C-State limitation (<num> >= 0) and\n"
             "                                     optionally the C-sub-state limitation (<num2> >= 0)\n"
+            " set-cpufreq-hwp       [cpuid] [balance|performance|powersave] <param:val>*\n"
+            "                                     set Hardware P-State (HWP) parameters\n"
+            "                                     optionally a preset of one of\n"
+            "                                       balance|performance|powersave\n"
+            "                                     an optional list of param:val arguments\n"
+            "                                       minimum:N  lowest ... highest\n"
+            "                                       maximum:N  lowest ... highest\n"
+            "                                       desired:N  lowest ... highest\n"
+            "                                           Set explicit performance target.\n"
+            "                                           non-zero disables auto-HWP mode.\n"
+            "                                       energy-perf:0-255 (or 0-15)\n"
+            "                                                   energy/performance hint\n"
+            "                                                   lower - favor performance\n"
+            "                                                   higher - favor powersave\n"
+            "                                                   128 (or 7) - balance\n"
+            "                                       act-window:N{,m,u}s range 1us-1270s\n"
+            "                                           window for internal calculations.\n"
+            "                                           Defaults to us without units.\n"
+            "                                           Truncates un-representable values.\n"
+            "                                           0 lets the hardware decide.\n"
+            "                                     get-cpufreq-para returns lowest/highest.\n"
             " start [seconds]                     start collect Cx/Px statistics,\n"
             "                                     output after CTRL-C or SIGINT or several seconds.\n"
             " enable-turbo-mode     [cpuid]       enable Turbo Mode for processors that support it.\n"
@@ -1299,6 +1321,213 @@ void disable_turbo_mode(int argc, char *argv[])
                 errno, strerror(errno));
 }
 
+/*
+ * Parse activity_window:NNN{us,ms,s} and validate range.
+ *
+ * Activity window is a 7bit mantissa (0-127) with a 3bit exponent (0-7) base
+ * 10 in microseconds.  So the range is 1 microsecond to 1270 seconds.  A value
+ * of 0 lets the hardware autonomously select the window.
+ *
+ * Return 0 on success
+ *       -1 on error
+ */
+static int parse_activity_window(xc_set_hwp_para_t *set_hwp, unsigned long u,
+                                 const char *suffix)
+{
+    unsigned int exponent = 0;
+    unsigned int multiplier = 1;
+
+    if ( suffix && suffix[0] )
+    {
+        if ( strcasecmp(suffix, "s") == 0 )
+        {
+            multiplier = 1000 * 1000;
+            exponent = 6;
+        }
+        else if ( strcasecmp(suffix, "ms") == 0 )
+        {
+            multiplier = 1000;
+            exponent = 3;
+        }
+        else if ( strcasecmp(suffix, "us") == 0 )
+        {
+            multiplier = 1;
+            exponent = 0;
+        }
+        else
+        {
+            fprintf(stderr, "invalid activity window units: \"%s\"\n", suffix);
+
+            return -1;
+        }
+    }
+
+    /* u * multipler > 1270 * 1000 * 1000 transformed to avoid overflow. */
+    if ( u > 1270 * 1000 * 1000 / multiplier )
+    {
+        fprintf(stderr, "activity window is too large\n");
+
+        return -1;
+    }
+
+    /* looking for 7 bits of mantissa and 3 bits of exponent */
+    while ( u > 127 )
+    {
+        u += 5; /* Round up to mitigate truncation rounding down
+                   e.g. 128 -> 120 vs 128 -> 130. */
+        u /= 10;
+        exponent += 1;
+    }
+
+    set_hwp->activity_window = (exponent & HWP_ACT_WINDOW_EXPONENT_MASK) <<
+                                   HWP_ACT_WINDOW_EXPONENT_SHIFT |
+                               (u & HWP_ACT_WINDOW_MANTISSA_MASK);
+    set_hwp->set_params |= XEN_SYSCTL_HWP_SET_ACT_WINDOW;
+
+    return 0;
+}
+
+static int parse_hwp_opts(xc_set_hwp_para_t *set_hwp, int *cpuid,
+                          int argc, char *argv[])
+{
+    int i = 0;
+
+    if ( argc < 1 ) {
+        fprintf(stderr, "Missing arguments\n");
+        return -1;
+    }
+
+    if ( parse_cpuid_non_fatal(argv[i], cpuid) == 0 )
+    {
+        i++;
+    }
+
+    if ( i == argc ) {
+        fprintf(stderr, "Missing arguments\n");
+        return -1;
+    }
+
+    if ( strcasecmp(argv[i], "powersave") == 0 )
+    {
+        set_hwp->set_params = XEN_SYSCTL_HWP_SET_PRESET_POWERSAVE;
+        i++;
+    }
+    else if ( strcasecmp(argv[i], "performance") == 0 )
+    {
+        set_hwp->set_params = XEN_SYSCTL_HWP_SET_PRESET_PERFORMANCE;
+        i++;
+    }
+    else if ( strcasecmp(argv[i], "balance") == 0 )
+    {
+        set_hwp->set_params = XEN_SYSCTL_HWP_SET_PRESET_BALANCE;
+        i++;
+    }
+
+    for ( ; i < argc; i++)
+    {
+        unsigned long val;
+        char *param = argv[i];
+        char *value;
+        char *suffix;
+        int ret;
+
+        value = strchr(param, ':');
+        if ( value == NULL )
+        {
+            fprintf(stderr, "\"%s\" is an invalid hwp parameter\n", argv[i]);
+            return -1;
+        }
+
+        value[0] = '\0';
+        value++;
+
+        errno = 0;
+        val = strtoul(value, &suffix, 10);
+        if ( (errno && val == ULONG_MAX) || value == suffix )
+        {
+            fprintf(stderr, "Could not parse number \"%s\"\n", value);
+            return -1;
+        }
+
+        if ( strncasecmp(param, "act-window", strlen(param)) == 0 )
+        {
+            ret = parse_activity_window(set_hwp, val, suffix);
+            if (ret)
+                return -1;
+
+            continue;
+        }
+
+        if ( val > 255 )
+        {
+            fprintf(stderr, "\"%s\" value \"%lu\" is out of range\n", param,
+                    val);
+            return -1;
+        }
+
+        if ( suffix && suffix[0] )
+        {
+            fprintf(stderr, "Suffix \"%s\" is invalid\n", suffix);
+            return -1;
+        }
+
+        if ( strncasecmp(param, "minimum", MAX(2, strlen(param))) == 0 )
+        {
+            set_hwp->minimum = val;
+            set_hwp->set_params |= XEN_SYSCTL_HWP_SET_MINIMUM;
+        }
+        else if ( strncasecmp(param, "maximum", MAX(2, strlen(param))) == 0 )
+        {
+            set_hwp->maximum = val;
+            set_hwp->set_params |= XEN_SYSCTL_HWP_SET_MAXIMUM;
+        }
+        else if ( strncasecmp(param, "desired", strlen(param)) == 0 )
+        {
+            set_hwp->desired = val;
+            set_hwp->set_params |= XEN_SYSCTL_HWP_SET_DESIRED;
+        }
+        else if ( strncasecmp(param, "energy-perf", strlen(param)) == 0 )
+        {
+            set_hwp->energy_perf = val;
+            set_hwp->set_params |= XEN_SYSCTL_HWP_SET_ENERGY_PERF;
+        }
+        else
+        {
+            fprintf(stderr, "\"%s\" is an invalid parameter\n", param);
+            return -1;
+        }
+    }
+
+    if ( set_hwp->set_params == 0 )
+    {
+        fprintf(stderr, "No parameters set in request\n");
+        return -1;
+    }
+
+    return 0;
+}
+
+static void hwp_set_func(int argc, char *argv[])
+{
+    xc_set_hwp_para_t set_hwp = {};
+    int cpuid = -1;
+    int i = 0;
+
+    if ( parse_hwp_opts(&set_hwp, &cpuid, argc, argv) )
+        exit(EINVAL);
+
+    if ( cpuid != -1 )
+    {
+        i = cpuid;
+        max_cpu_nr = i + 1;
+    }
+
+    for ( ; i < max_cpu_nr; i++ )
+        if ( xc_set_cpufreq_hwp(xc_handle, i, &set_hwp) )
+            fprintf(stderr, "[CPU%d] failed to set hwp params (%d - %s)\n",
+                    i, errno, strerror(errno));
+}
+
 struct {
     const char *name;
     void (*function)(int argc, char *argv[]);
@@ -1309,6 +1538,7 @@ struct {
     { "get-cpufreq-average", cpufreq_func },
     { "start", start_gather_func },
     { "get-cpufreq-para", cpufreq_para_func },
+    { "set-cpufreq-hwp", hwp_set_func },
     { "set-scaling-maxfreq", scaling_max_freq_func },
     { "set-scaling-minfreq", scaling_min_freq_func },
     { "set-scaling-governor", scaling_governor_func },
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:37:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:37:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383949.619220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrVn-00055a-NI; Wed, 10 Aug 2022 19:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383949.619220; Wed, 10 Aug 2022 19:37:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrVn-00055T-Iv; Wed, 10 Aug 2022 19:37:03 +0000
Received: by outflank-mailman (input) for mailman id 383949;
 Wed, 10 Aug 2022 19:37:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLrVm-00055J-9I; Wed, 10 Aug 2022 19:37:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLrVm-0008Nx-0e; Wed, 10 Aug 2022 19:37:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLrVl-0007WH-II; Wed, 10 Aug 2022 19:37:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLrVl-0006Hs-HQ; Wed, 10 Aug 2022 19:37:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rbiBB6dwGOyRiTWCkM7rdfR8OirdpYCgIj0v0Bk3rsQ=; b=UXQe/5bLjJehzWpqw8KeapEiLQ
	ylsdjOuM//ECGuH2H9tV2X94mNNOsJcykLpOdRIhwDraSLhrvprv1ek6OMgZKJU0q88fLA6+vnYZt
	E0tt4MwAm7amQAP1zb9krsTSRWkhco6ak3cKMEebTOWDxcYA3NqtC7bDOSkqokthr34I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172355-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172355: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-pvops:kernel-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=61b6e67171c602cf6451e4928c9cdcc24c57a485
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 19:37:01 +0000

flight 172355 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172355/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 172123

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                61b6e67171c602cf6451e4928c9cdcc24c57a485
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    7 days
Failing since        172148  2022-08-04 21:39:38 Z    5 days   16 attempts
Testing same since   172345  2022-08-10 02:38:22 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1174 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:39:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383962.619230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrYJ-0005mf-8c; Wed, 10 Aug 2022 19:39:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383962.619230; Wed, 10 Aug 2022 19:39:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrYJ-0005mY-5a; Wed, 10 Aug 2022 19:39:39 +0000
Received: by outflank-mailman (input) for mailman id 383962;
 Wed, 10 Aug 2022 19:39:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrPg-00067E-6s
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:30:44 +0000
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com
 [2607:f8b0:4864:20::736])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eabc46a6-18e2-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:30:40 +0200 (CEST)
Received: by mail-qk1-x736.google.com with SMTP id i24so11901699qkg.13
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:30:40 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 v6-20020a05620a0f0600b006af10bd3635sm537231qkl.57.2022.08.10.12.30.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:30:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eabc46a6-18e2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=ZVyxx+81E7lUFgUdbheKS4DtvqtlloOOvzDpUFkNgHU=;
        b=b9SSycSXr2T/kBrMVg2g6/0gFR08Le8iiib9o0Jy6q5p9CL7Z+wDLFDWdxGzPyzFGL
         xTHyT8f17772PdU1IbuULI9EiLekKrC70SL0nsH9O8mjUHVt9uW73dSBeF9yU0iwcqWq
         +vCsZpEjBOckf0HODXM3UuL1Xoyiwz/XYB8DOntsK8XCS8yMr0w8/lUnEJiXI3q4gxNa
         CRHGOJVw9bNySb2mL3nmcL7sdUzgeazQO6il2XnEkWSlI17/FWAgt3Y9IviaUyfljpkQ
         1UDqMIJHfALZ6fBXI+CMp+TMC2It2mlTKoeX3hv7h+G5efB8IehCk41dGjAeldwzW2mb
         MbhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=ZVyxx+81E7lUFgUdbheKS4DtvqtlloOOvzDpUFkNgHU=;
        b=l4Ms4t662R5HWbROilCAFl7+lkBRbaUy61VNC93QEfMBfPTa2uD+fN6FYHGThuXCdM
         fhaikAkuCjXwA/xnK4J0OCmcTiAAUDQ4DC6OMhAizodxEDsXPwFcasUqAxAVxZVtRStz
         0bJr6YY50RdiIpve1uQcGo9PiMa0sRAofqWmeSPmkOFM5D8rseSIu6QaXWWltXHCxGCs
         aJ61ifgNxKF+za3RLfrFyg4cRJgTL3+scOQQHnOUQmt2ZUNqdpkdqfmdz0FJFvQqTVmN
         2vVZvxojIM4klY/Bv0KW5+WuP0P5vHfuQMoNuY/czbROHEn7h8YW0ZvIhstdIf3dinVY
         mKsA==
X-Gm-Message-State: ACgBeo2EqvZPMb4aSyI9vlqwrsSOfCPUmq1dQFuA5khiB+evM+Q6RO5e
	tbXkKbMNLHzXg06RVRzRjL7TGPEOVDs=
X-Google-Smtp-Source: AA6agR7r32NDisgo1x2kSfxJb5FUC7I8Dh9FaL30qP+g8vq30mkw/k7TEbsBhxNG/n/TC8Ac+c2AAg==
X-Received: by 2002:a05:620a:2b8b:b0:6b9:43ca:4a6 with SMTP id dz11-20020a05620a2b8b00b006b943ca04a6mr12469847qkb.346.1660159839109;
        Wed, 10 Aug 2022 12:30:39 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v2 13/13] CHANGELOG: Add Intel HWP entry
Date: Wed, 10 Aug 2022 15:29:44 -0400
Message-Id: <20220810192944.102135-14-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810192944.102135-1-jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

---
v2:
Add blank line
---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index a87a193e15..3d982bf96b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
 ## [unstable UNRELEASED](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
+### Added
+ - Intel Hardware P-States (HWP) cpufreq driver
+
 ### Changed
  - On x86 "vga=current" can now be used together with GrUB2's gfxpayload setting. Note that
    this requires use of "multiboot2" (and "module2") as the GrUB commands loading Xen.
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:49:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383999.619253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrhN-0007bd-Dr; Wed, 10 Aug 2022 19:49:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383999.619253; Wed, 10 Aug 2022 19:49:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrhN-0007bS-AC; Wed, 10 Aug 2022 19:49:01 +0000
Received: by outflank-mailman (input) for mailman id 383999;
 Wed, 10 Aug 2022 19:49:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrhM-0007Jy-2X
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:49:00 +0000
Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com
 [2607:f8b0:4864:20::829])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79a66120-18e5-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:48:59 +0200 (CEST)
Received: by mail-qt1-x829.google.com with SMTP id a4so7304060qto.10
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:48:59 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 bk9-20020a05620a1a0900b006b978b521c8sm520897qkb.69.2022.08.10.12.48.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:48:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79a66120-18e5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=ldLHVgeKdjvBnWvXsTFiQtGXsbhhD4y0AKZBl5McVtM=;
        b=k951l1SZHtrgJuOqI64Na1mjlF8Fmzd+9KnmXbJfRPp58VZq0pO9QPvvFOwIMM1pk7
         esdOzk4PnIBJIMTRznT8HQTFMJbXuUl7OaYEp2yoj8IfkeHUnp/cwMqtVOf9GT3NrQOP
         QM04q8oZIiZcuwAGn7fLQQNdDdyhz06u7vTa4M6BUmxMwpqDFHrcBg5h3GbV2K5knMsV
         64lwz78KAI5gkRMwgvp5jy9ZKTALRCEp3OfsirfIakBM7ptYyROQvN4cfYStKPvEe2np
         2Ya5g2Y2kxGC+1Bq0zGpbIfZoPdrkUkU8OG32Z5M7VNVZaPVnR4W7CqN/3+LXwympo9d
         2gEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=ldLHVgeKdjvBnWvXsTFiQtGXsbhhD4y0AKZBl5McVtM=;
        b=lLsld1wPGxYPi3yPLyi1Of/3eP3kppY8/ryJlZ+eEUBpz0wroRJLWSkjpeIJGXgkD5
         B7Dfs6mT27Pt8VGrW90UyWrrT6HIP5WOmN+SzgjuiMed6E2ZS8NP9avIapLPEuN5IOSS
         hTLLbonm/6gNUAoiA1cdeq81lobIdoGxOeiGirq2AZbwpO0C/9AeHoNtIxw+tEHJYTjo
         XfEfaHKjI8vwIJBBYUB3jT4PVVoOUX1tMIuoYw/8/WyjqieYIKU4cB9Haiy7Qazp/ltj
         g9H7RHQZVDB0VBfwRm2pqer3/7wAHWvW87pZcv9Zxini5voNY1E4yfqYpj6t78t+Ljsp
         Sc0Q==
X-Gm-Message-State: ACgBeo0UjhjfkfoBQFt7I+62PMefVN6X/J7qai70runWvkk01uOXtXCl
	TPyis3XxmpfrrKz8VbdTZAJb71n+sug=
X-Google-Smtp-Source: AA6agR7bhQLOhE1bnwYwa41CKBRWd+MaKBBO+s+mrJjf+w46Zdgw7B5GK8RoL9vJAQMhREx31+LEVw==
X-Received: by 2002:ac8:5b85:0:b0:342:f85b:47ef with SMTP id a5-20020ac85b85000000b00342f85b47efmr14104015qta.665.1660160937846;
        Wed, 10 Aug 2022 12:48:57 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/3] golang/xenlight: Extend KeyedUnion to support Arrays
Date: Wed, 10 Aug 2022 15:48:25 -0400
Message-Id: <20220810194827.103428-2-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810194827.103428-1-jandryuk@gmail.com>
References: <20220810194827.103428-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Generation for KeyedUnion types doesn't support Arrays.  The smbios
support will place an smbios array inside the hvm KeyedUnion, and
gentotypes doesn't generate buildable Go code.

Have KeyedUnion add an idl.Array check and issue the approriate
xenlight_golang_array_to_C and xenlight_golang_array_from_C calls when
needed.  This matches how it is done in xenlight_golang_define_to_C &
xenlight_golang_define_from_C

xenlight_golang_array_to_C and xenlight_golang_array_from_C need to be
extended to set the cvarname and govarname as approriate for the
KeyedUnion cases to match the surrounding code.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/golang/xenlight/gengotypes.py | 41 ++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git a/tools/golang/xenlight/gengotypes.py b/tools/golang/xenlight/gengotypes.py
index ac1cf060dd..745a3cb466 100644
--- a/tools/golang/xenlight/gengotypes.py
+++ b/tools/golang/xenlight/gengotypes.py
@@ -374,6 +374,10 @@ def xenlight_golang_union_from_C(ty = None, union_name = '', struct_name = ''):
         s += 'tmp := (*C.{0})(unsafe.Pointer(&xc.{1}[0]))\n'.format(typename,union_name)
 
         for nf in f.type.fields:
+            if isinstance(nf.type, idl.Array):
+                s += xenlight_golang_array_from_C(nf,cvarname='tmp')
+                continue
+
             s += xenlight_golang_convert_from_C(nf,cvarname='tmp')
 
         s += 'return nil\n'
@@ -414,7 +418,7 @@ def xenlight_golang_union_from_C(ty = None, union_name = '', struct_name = ''):
 
     return (s,extras)
 
-def xenlight_golang_array_from_C(ty = None):
+def xenlight_golang_array_from_C(ty = None, cvarname = 'xc'):
     """
     Convert C array to Go slice using the method
     described here:
@@ -431,9 +435,9 @@ def xenlight_golang_array_from_C(ty = None):
     clenvar    = ty.type.lenvar.name
 
     s += 'x.{0} = nil\n'.format(goname)
-    s += 'if n := int(xc.{0}); n > 0 {{\n'.format(clenvar)
+    s += 'if n := int({0}.{1}); n > 0 {{\n'.format(cvarname,clenvar)
     s += '{0} := '.format(cslice)
-    s +='(*[1<<28]C.{0})(unsafe.Pointer(xc.{1}))[:n:n]\n'.format(ctypename, cname)
+    s +='(*[1<<28]C.{0})(unsafe.Pointer({1}.{2}))[:n:n]\n'.format(ctypename, cvarname, cname)
     s += 'x.{0} = make([]{1}, n)\n'.format(goname, gotypename)
     s += 'for i, v := range {0} {{\n'.format(cslice)
 
@@ -577,6 +581,11 @@ def xenlight_golang_union_to_C(ty = None, union_name = '',
 
         s += 'var {0} C.{1}\n'.format(f.name,cgotype)
         for uf in f.type.fields:
+            if isinstance(uf.type, idl.Array):
+                s += xenlight_golang_array_to_C(uf, cvarname=f.name,
+                                                govarname="tmp")
+                continue
+
             s += xenlight_golang_convert_to_C(uf,cvarname=f.name,
                                               govarname='tmp')
 
@@ -594,7 +603,7 @@ def xenlight_golang_union_to_C(ty = None, union_name = '',
 
     return s
 
-def xenlight_golang_array_to_C(ty = None):
+def xenlight_golang_array_to_C(ty = None, cvarname="xc", govarname="x"):
     s = ''
 
     gotypename = xenlight_golang_fmt_name(ty.type.elem_type.typename)
@@ -606,27 +615,27 @@ def xenlight_golang_array_to_C(ty = None):
 
     is_enum = isinstance(ty.type.elem_type,idl.Enumeration)
     if gotypename in go_builtin_types or is_enum:
-        s += 'if {0} := len(x.{1}); {2} > 0 {{\n'.format(golenvar,goname,golenvar)
-        s += 'xc.{0} = (*C.{1})(C.malloc(C.size_t({2}*{3})))\n'.format(cname,ctypename,
+        s += 'if {0} := len({1}.{2}); {3} > 0 {{\n'.format(golenvar,govarname,goname,golenvar)
+        s += '{0}.{1} = (*C.{2})(C.malloc(C.size_t({3}*{4})))\n'.format(cvarname,cname,ctypename,
                                                                    golenvar,golenvar)
-        s += 'xc.{0} = C.int({1})\n'.format(clenvar,golenvar)
-        s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
-                                                                      ctypename,cname,
+        s += '{0}.{1} = C.int({2})\n'.format(cvarname,clenvar,golenvar)
+        s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer({2}.{3}))[:{4}:{5}]\n'.format(goname,
+                                                                      ctypename,cvarname,cname,
                                                                       golenvar,golenvar)
-        s += 'for i,v := range x.{0} {{\n'.format(goname)
+        s += 'for i,v := range {0}.{1} {{\n'.format(govarname,goname)
         s += 'c{0}[i] = C.{1}(v)\n'.format(goname,ctypename)
         s += '}\n}\n'
 
         return s
 
-    s += 'if {0} := len(x.{1}); {2} > 0 {{\n'.format(golenvar,goname,golenvar)
-    s += 'xc.{0} = (*C.{1})(C.malloc(C.ulong({2})*C.sizeof_{3}))\n'.format(cname,ctypename,
+    s += 'if {0} := len({1}.{2}); {3} > 0 {{\n'.format(golenvar,govarname,goname,golenvar)
+    s += '{0}.{1} = (*C.{2})(C.malloc(C.ulong({3})*C.sizeof_{4}))\n'.format(cvarname,cname,ctypename,
                                                                    golenvar,ctypename)
-    s += 'xc.{0} = C.int({1})\n'.format(clenvar,golenvar)
-    s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
-                                                                         ctypename,cname,
+    s += '{0}.{1} = C.int({2})\n'.format(cvarname,clenvar,golenvar)
+    s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer({2}.{3}))[:{4}:{5}]\n'.format(goname,
+                                                                         ctypename,cvarname,cname,
                                                                          golenvar,golenvar)
-    s += 'for i,v := range x.{0} {{\n'.format(goname)
+    s += 'for i,v := range {0}.{1} {{\n'.format(govarname,goname)
     s += 'if err := v.toC(&c{0}[i]); err != nil {{\n'.format(goname)
     s += 'return fmt.Errorf("converting field {0}: %v", err)\n'.format(goname)
     s += '}\n}\n}\n'
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:49:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383997.619242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrhH-0007KB-5G; Wed, 10 Aug 2022 19:48:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383997.619242; Wed, 10 Aug 2022 19:48:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrhH-0007K4-2W; Wed, 10 Aug 2022 19:48:55 +0000
Received: by outflank-mailman (input) for mailman id 383997;
 Wed, 10 Aug 2022 19:48:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrhF-0007Jy-VX
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:48:54 +0000
Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com
 [2607:f8b0:4864:20::731])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75e531df-18e5-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 21:48:53 +0200 (CEST)
Received: by mail-qk1-x731.google.com with SMTP id t11so1213827qkt.6
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:48:52 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 bk9-20020a05620a1a0900b006b978b521c8sm520897qkb.69.2022.08.10.12.48.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:48:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75e531df-18e5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=QQXz13C4QpBnoSIB6G/QdpXurbcsW+r771/2/v8X8Eg=;
        b=DnDteQPj5aR12v8C6pwJWtGUrY5XcNNgA2jfxY+40VTKM5+vVZH3hndHbJyyDe2Z0S
         NeoV3IYVjvFFbrADf5ssweHA8qpV0ev8IKYcthH3VFAkMpz4JD7kB6Ga73jXbg+P2Eav
         NkIiB9Vh0HBkqVkkvmirha1KBaQziYLwm52leROPenNRX2pF5MGQjfMSO+dN0COsjGy8
         Z8T+DI7JlfHmeoR54XV27oX3FLYlHmGmUl/Dk+kZSUOyzeBAeDs4WY4iQDpabk9Ovnnu
         B6uT1PgDz53D+6DDFgLodh0fpCsW03gUG2b9DMkSgbXbkC9QdoflX7s18ywasY8PxRF9
         EBTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=QQXz13C4QpBnoSIB6G/QdpXurbcsW+r771/2/v8X8Eg=;
        b=MhYKabDzJpBqwSo+d8J2KsuRxuj5YxTFnaKM4L3QSdD7v0GpPsnRJ6V4KTui0i/1sh
         nlunJkIUM8aoaV29M0QO+u2a8NW1IOG+WKg8PktFcxiGagc8L/W579NYxaHTwo1TK9kx
         jrQ4Xi9Nv4L3sgHiL1KELmXXMwI8cfCH4P+H/r04IfxWLZ4gvVvKSK8UFM3F7Y88H+j8
         hmNWxcYA689yMxGR/dBgVau0XUaO88aBbHcb/4bePOJcmgzh3HPd1OdOdL7Mj4OcQtXQ
         xnqoL3Knh39TSV2zrokL/GcNTjsHFs9fohOj5WAvRT7lWOLupftEP86AjpLHj4zc/wsx
         valw==
X-Gm-Message-State: ACgBeo1NyrzrYks2yinEGrw1TFzC7U2pzsbXPaGVw2aLmvodZCqYOm4e
	NkZhavbLsYfoPzw2X4DmbaYl3YJtoWM=
X-Google-Smtp-Source: AA6agR5QJ6NF835S+D0GBaIudLoXytyZlZUls2cm9dEHiwRT7//36PAPIAaS4Oqxky87lXnFl+smAw==
X-Received: by 2002:a05:620a:c55:b0:6a7:9e01:95c9 with SMTP id u21-20020a05620a0c5500b006a79e0195c9mr22093906qki.63.1660160931564;
        Wed, 10 Aug 2022 12:48:51 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 0/3] libxl smbios support
Date: Wed, 10 Aug 2022 15:48:24 -0400
Message-Id: <20220810194827.103428-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

hvm_xs_strings.h specifies xenstore entries which can be used to set or
override smbios strings.  hvmloader has support for reading them, but
xl/libxl support is not wired up.  This patches adds a new xl.cfg option
and libxl support to write the xenstore strings.

The xl syntax looks like:
smbios=["bios_vendor=Xen Project","system_version=1.0"]

The Go binding generation needed extending to support Arrays inside a
KeyedUnion, which is what the first patch does.  The generated go code
builds, but it is otherwise untested.

There are also oem strings, oem-1..oem-99, that HVM loader supports.
The use of smbios_type Enum is a little unwieldy to defined so many
entries, but it works.  xl will internally parse smbios=["oem=A,oem=B"]
into oem_1 = "A" and oem_2 = "B".  xl still accepts oem_$N, though
hvmloader only reads sequentially from 1 up to a maximum of 99.  It's a
corner case what doesn't seem worth dealing with.

The rendered man page and html don't have a newline at then end of the
new section after patch 2.
"""
           battery_device_name=STRING
       ms_vm_genid="OPTION"
"""

however the txt format is correct:
"""
        battery_device_name=STRING

    ms_vm_genid="OPTION"
"""

It goes away after patch 3 is applied since it adds text about the "oem"
option in between the two lines above.  I'm at a loss as to why this is
happening.

Jason Andryuk (3):
  golang/xenlight: Extend KeyedUnion to support Arrays
  xl/libxl: Add ability to specify SMBIOS strings
  xl/libxl: Add OEM string support to smbios

 docs/man/xl.cfg.5.pod.in             |  49 +++++++++++
 tools/golang/xenlight/gengotypes.py  |  41 +++++----
 tools/golang/xenlight/helpers.gen.go |  51 +++++++++++
 tools/golang/xenlight/types.gen.go   | 126 +++++++++++++++++++++++++++
 tools/include/libxl.h                |   5 ++
 tools/libs/light/libxl_dom.c         |  20 +++++
 tools/libs/light/libxl_types.idl     | 125 ++++++++++++++++++++++++++
 tools/xl/xl_parse.c                  |  59 ++++++++++++-
 8 files changed, 459 insertions(+), 17 deletions(-)

-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:49:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384000.619264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrhQ-0007tf-Q9; Wed, 10 Aug 2022 19:49:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384000.619264; Wed, 10 Aug 2022 19:49:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrhQ-0007tW-L2; Wed, 10 Aug 2022 19:49:04 +0000
Received: by outflank-mailman (input) for mailman id 384000;
 Wed, 10 Aug 2022 19:49:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrhP-0007rn-AY
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:49:03 +0000
Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com
 [2607:f8b0:4864:20::834])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b1ebc2e-18e5-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:49:01 +0200 (CEST)
Received: by mail-qt1-x834.google.com with SMTP id l5so5602918qtv.4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:49:01 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 bk9-20020a05620a1a0900b006b978b521c8sm520897qkb.69.2022.08.10.12.48.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:48:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b1ebc2e-18e5-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=SumqexTTCRqxobYVxQoizLalrVNYgAZFWBWnxLaSfUU=;
        b=O3R02hA7NmhxIqDrMeEBUTxbZLZtn7DIWAvSUoNFXQ3G5qQQ7LSvcdH281uucrfp7c
         lFhMYQaC6H5VGiq27S5mJIGWDm6nPZXkPEFCS+3yjpRkmxGV5svrnHUg+6kMTeW0rdx5
         /NKMEhvUzZVIdWCNoOI7FBs4X5g+MIteStBt58JP0Ya/p9CvYpDuiElkniJwpzn16pT8
         whpBxWtEiWpuEkRtdPDOP8yvoO/yhQ76A+3IxNX1AyK2OIjMbgJX4TUKuRN4txOXp5++
         LkiIW1AEYh2Er/B+1B2wfN6XO2KqnwodWBxpHrSlFRbOwRZPTZkt5WqslZ96p5U9sniq
         4wuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=SumqexTTCRqxobYVxQoizLalrVNYgAZFWBWnxLaSfUU=;
        b=POct13hKXoX59FETvLJeLkdOfwrw8URmiE2M0VOA2QJO1GhgCKFX625WX6HSr/A57I
         K50NKa41KCkrKELTh1LLmwgKD62OUpdnkUmTS47ykVjaesPEDJOEmS4lfE80MAT8/BA/
         gxVVsp0Xn++jlOgCq5WgacrqpQodsNDWfTgYzabYsZeDcmGfy50nRcHrkt7XejjWm8m3
         +0QtqwJLqutvbyuLlUK4kUvCnz7MqBPHVAdzqf7NPnXyHwyO4+/W+N15XVGBqfzlx5FI
         wrlP54vGSTPM5kNfEhNKvYMParu8Qnu30JNfQ28U7Uy/nzO2zIt+DvbSfVQcmI77QzW4
         OCng==
X-Gm-Message-State: ACgBeo1SrqEzqh5C+QmHIatY9q7tvHPiWxVMiHc7+dH55EEFRudXQ6uB
	HDvmhsVzKQFC/pAtt+UblUhJGz7kWoA=
X-Google-Smtp-Source: AA6agR5iS1H/EecYrydPcu8k+9OzkxsXICEcXw+79WbpyY1AwZ7Fd4FykCuXSCQF1u5TcGgw4uiD2A==
X-Received: by 2002:ac8:5fd1:0:b0:31f:31a6:55c0 with SMTP id k17-20020ac85fd1000000b0031f31a655c0mr25626552qta.506.1660160940152;
        Wed, 10 Aug 2022 12:49:00 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 2/3] xl/libxl: Add ability to specify SMBIOS strings
Date: Wed, 10 Aug 2022 15:48:26 -0400
Message-Id: <20220810194827.103428-3-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810194827.103428-1-jandryuk@gmail.com>
References: <20220810194827.103428-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

hvm_xs_strings.h specifies xenstore entries which can be used to set or
override smbios strings.  hvmloader has support for reading them, but
xl/libxl support is not wired up.

Allow specifying the strings with the new xl.cfg option:
smbios=["bios_vendor=Xen Project","system_version=1.0"]

In terms of strings, the SMBIOS specification 3.5 says:
https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.5.0.pdf
"""
Strings must be encoded as UTF-8 with no byte order mark (BOM). For
compatibility with older SMBIOS parsers, US-ASCII characters should be
used.  NOTE There is no limit on the length of each individual text
string. However, the length of the entire structure table (including all
strings) must be reported in the Structure Table Length field of the
32-bit Structure Table Entry Point (see 5.2.1) and/or the Structure
Table Maximum Size field of the 64-bit Structure Table Entry Point (see
5.2.2).
"""

The strings aren't checked for utf-8 or length.  hvmloader has a sanity
check on the overall length.

The libxl_smbios_type enum starts at 1 since otherwise the 0th key is
not printed in the json output.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
The rendered man page and html don't have a newline at then end of the
new section.
"""
           battery_device_name=STRING
       ms_vm_genid="OPTION"
"""

however the txt format is correct:
"""
        battery_device_name=STRING

    ms_vm_genid="OPTION"
"""

I'm at a loss as to why this is happening.
---
 docs/man/xl.cfg.5.pod.in             | 45 ++++++++++++++++++++++++
 tools/golang/xenlight/helpers.gen.go | 51 ++++++++++++++++++++++++++++
 tools/golang/xenlight/types.gen.go   | 27 +++++++++++++++
 tools/include/libxl.h                |  5 +++
 tools/libs/light/libxl_dom.c         | 20 +++++++++++
 tools/libs/light/libxl_types.idl     | 26 ++++++++++++++
 tools/xl/xl_parse.c                  | 44 +++++++++++++++++++++++-
 7 files changed, 217 insertions(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 6d98d73d76..7edf5d23f3 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2061,6 +2061,51 @@ number of vendor defined SMBIOS structures (type 128 - 255). Since SMBIOS
 structures do not present their overall size, each entry in the file must be
 preceded by a 32b integer indicating the size of the following structure.
 
+=item B<smbios=[ "SMBIOS_SPEC_STRING", "SMBIOS_SPEC_STRING", ...]>
+
+Specifies the SMBIOS values to be provided to the guest.  These set or
+override specific entries in the tables provided to the guest.
+
+Each B<SMBIOS_SPEC_STRING> is a C<KEY=VALUE> string from the following list:
+
+=over 4
+
+=item B<bios_vendor=STRING>
+
+=item B<bios_version=STRING>
+
+=item B<system_manufacturer=STRING>
+
+=item B<system_product_name=STRING>
+
+=item B<system_version=STRING>
+
+=item B<system_serial_number=STRING>
+
+=item B<baseboard_manufacturer=STRING>
+
+=item B<baseboard_product_name=STRING>
+
+=item B<baseboard_version=STRING>
+
+=item B<baseboard_serial_number=STRING>
+
+=item B<baseboard_asset_tag=STRING>
+
+=item B<baseboard_location_in_chassis=STRING>
+
+=item B<enclosure_manufacturer=STRING>
+
+=item B<enclosure_serial_number=STRING>
+
+=item B<enclosure_asset_tag=STRING>
+
+=item B<battery_manufacturer=STRING>
+
+=item B<battery_device_name=STRING>
+
+=back
+
 =item B<ms_vm_genid="OPTION">
 
 Provide a VM generation ID to the guest.
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index fa3cf2ab76..cae14ec6f5 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -589,6 +589,38 @@ xc.build_id = C.CString(x.BuildId)}
  return nil
  }
 
+// NewSmbios returns an instance of Smbios initialized with defaults.
+func NewSmbios() (*Smbios, error) {
+var (
+x Smbios
+xc C.libxl_smbios)
+
+C.libxl_smbios_init(&xc)
+defer C.libxl_smbios_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *Smbios) fromC(xc *C.libxl_smbios) error {
+ x.Key = SmbiosType(xc.key)
+x.Value = C.GoString(xc.value)
+
+ return nil}
+
+func (x *Smbios) toC(xc *C.libxl_smbios) (err error){defer func(){
+if err != nil{
+C.libxl_smbios_dispose(xc)}
+}()
+
+xc.key = C.libxl_smbios_type(x.Key)
+if x.Value != "" {
+xc.value = C.CString(x.Value)}
+
+ return nil
+ }
+
 // NewDomainCreateInfo returns an instance of DomainCreateInfo initialized with defaults.
 func NewDomainCreateInfo() (*DomainCreateInfo, error) {
 var (
@@ -1189,6 +1221,15 @@ return fmt.Errorf("converting field Altp2M: %v", err)
 }
 x.SystemFirmware = C.GoString(tmp.system_firmware)
 x.SmbiosFirmware = C.GoString(tmp.smbios_firmware)
+x.Smbios = nil
+if n := int(tmp.num_smbios); n > 0 {
+cSmbios := (*[1<<28]C.libxl_smbios)(unsafe.Pointer(tmp.smbios))[:n:n]
+x.Smbios = make([]Smbios, n)
+for i, v := range cSmbios {
+if err := x.Smbios[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field Smbios: %v", err) }
+}
+}
 x.AcpiFirmware = C.GoString(tmp.acpi_firmware)
 x.Hdtype = Hdtype(tmp.hdtype)
 if err := x.Nographic.fromC(&tmp.nographic);err != nil {
@@ -1501,6 +1542,16 @@ if tmp.SystemFirmware != "" {
 hvm.system_firmware = C.CString(tmp.SystemFirmware)}
 if tmp.SmbiosFirmware != "" {
 hvm.smbios_firmware = C.CString(tmp.SmbiosFirmware)}
+if numSmbios := len(tmp.Smbios); numSmbios > 0 {
+hvm.smbios = (*C.libxl_smbios)(C.malloc(C.ulong(numSmbios)*C.sizeof_libxl_smbios))
+hvm.num_smbios = C.int(numSmbios)
+cSmbios := (*[1<<28]C.libxl_smbios)(unsafe.Pointer(hvm.smbios))[:numSmbios:numSmbios]
+for i,v := range tmp.Smbios {
+if err := v.toC(&cSmbios[i]); err != nil {
+return fmt.Errorf("converting field Smbios: %v", err)
+}
+}
+}
 if tmp.AcpiFirmware != "" {
 hvm.acpi_firmware = C.CString(tmp.AcpiFirmware)}
 hvm.hdtype = C.libxl_hdtype(tmp.Hdtype)
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index a0be7ada8c..e084c3540b 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -386,6 +386,32 @@ Commandline string
 BuildId string
 }
 
+type SmbiosType int
+const(
+SmbiosTypeBiosVendor SmbiosType = 1
+SmbiosTypeBiosVersion SmbiosType = 2
+SmbiosTypeSystemManufacturer SmbiosType = 3
+SmbiosTypeSystemProductName SmbiosType = 4
+SmbiosTypeSystemVersion SmbiosType = 5
+SmbiosTypeSystemSerialNumber SmbiosType = 6
+SmbiosTypeBaseboardManufacturer SmbiosType = 7
+SmbiosTypeBaseboardProductName SmbiosType = 8
+SmbiosTypeBaseboardVersion SmbiosType = 9
+SmbiosTypeBaseboardSerialNumber SmbiosType = 10
+SmbiosTypeBaseboardAssetTag SmbiosType = 11
+SmbiosTypeBaseboardLocationInChassis SmbiosType = 12
+SmbiosTypeEnclosureManufacturer SmbiosType = 13
+SmbiosTypeEnclosureSerialNumber SmbiosType = 14
+SmbiosTypeEnclosureAssetTag SmbiosType = 15
+SmbiosTypeBatteryManufacturer SmbiosType = 16
+SmbiosTypeBatteryDeviceName SmbiosType = 17
+)
+
+type Smbios struct {
+Key SmbiosType
+Value string
+}
+
 type DomainCreateInfo struct {
 Type DomainType
 Hap Defbool
@@ -568,6 +594,7 @@ NestedHvm Defbool
 Altp2M Defbool
 SystemFirmware string
 SmbiosFirmware string
+Smbios []Smbios
 AcpiFirmware string
 Hdtype Hdtype
 Nographic Defbool
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2321a648a5..023613d35b 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -174,6 +174,11 @@
  */
 #define LIBXL_HAVE_BUILDINFO_HVM_MS_VM_GENID 1
 
+/*
+ * libxl_domain_build_info has the u.hvm.smbios field.
+ */
+#define LIBXL_HAVE_BUILDINFO_HVM_SMBIOS 1
+
 /*
  * LIBXL_HAVE_VCPUINFO_SOFT_AFFINITY indicates that a 'cpumap_soft'
  * field (of libxl_bitmap type) is present in libxl_vcpuinfo,
diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
index 2abaab439c..9034933ea8 100644
--- a/tools/libs/light/libxl_dom.c
+++ b/tools/libs/light/libxl_dom.c
@@ -771,6 +771,26 @@ static int hvm_build_set_xs_values(libxl__gc *gc,
             goto err;
     }
 
+    for (int i = 0; i < info->u.hvm.num_smbios; i++) {
+        char *p;
+        path = GCSPRINTF("/local/domain/%d/"HVM_XS_BIOS_STRINGS"/%s", domid,
+                   libxl_smbios_type_to_string(info->u.hvm.smbios[i].key));
+
+        /* libxl defines are all "_", but the HVM_XS_ strings are "-". */
+        p = strrchr(path, '/');
+        for ( ; *p; p++) {
+            if (*p == '_')
+                *p = '-';
+        }
+
+        LOGD(DEBUG, domid, "Writing %d %s %s\n", i, path,
+             info->u.hvm.smbios[i].value);
+        ret = libxl__xs_printf(gc, XBT_NULL, path, "%s",
+                               info->u.hvm.smbios[i].value);
+        if (ret)
+            goto err;
+    }
+
     /* Only one module can be passed. PVHv2 guests do not support this. */
     if (dom->acpi_modules[0].guest_addr_out && 
         info->type == LIBXL_DOMAIN_TYPE_HVM) {
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index d634f304cd..d04207748e 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -418,6 +418,31 @@ libxl_version_info = Struct("version_info", [
     ("build_id",          string),
     ], dir=DIR_OUT)
 
+libxl_smbios_type = Enumeration("smbios_type", [
+    (1,  "bios_vendor"),
+    (2,  "bios_version"),
+    (3,  "system_manufacturer"),
+    (4,  "system_product_name"),
+    (5,  "system_version"),
+    (6,  "system_serial_number"),
+    (7,  "baseboard_manufacturer"),
+    (8,  "baseboard_product_name"),
+    (9,  "baseboard_version"),
+    (10, "baseboard_serial_number"),
+    (11, "baseboard_asset_tag"),
+    (12, "baseboard_location_in_chassis"),
+    (13, "enclosure_manufacturer"),
+    (14, "enclosure_serial_number"),
+    (15, "enclosure_asset_tag"),
+    (16, "battery_manufacturer"),
+    (17, "battery_device_name"),
+    ])
+
+libxl_smbios = Struct("smbios", [
+    ("key",          libxl_smbios_type),
+    ("value",        string),
+    ], dir=DIR_IN)
+
 libxl_domain_create_info = Struct("domain_create_info",[
     ("type",         libxl_domain_type),
     ("hap",          libxl_defbool),
@@ -604,6 +629,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        ("altp2m",           libxl_defbool),
                                        ("system_firmware",  string),
                                        ("smbios_firmware",  string),
+                                       ("smbios",           Array(libxl_smbios, "num_smbios")),
                                        ("acpi_firmware",    string),
                                        ("hdtype",           libxl_hdtype),
                                        ("nographic",        libxl_defbool),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 1b5381cef0..4f3f962773 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1220,8 +1220,9 @@ void parse_config_data(const char *config_source,
     XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms,
                    *usbctrls, *usbdevs, *p9devs, *vdispls, *pvcallsifs_devs;
     XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian, *dtdevs,
-                   *mca_caps;
+                   *mca_caps, *smbios;
     int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, num_mca_caps;
+    int num_smbios;
     int pci_power_mgmt = 0;
     int pci_msitranslate = 0;
     int pci_permissive = 0;
@@ -1783,6 +1784,47 @@ void parse_config_data(const char *config_source,
         xlu_cfg_replace_string(config, "acpi_firmware",
                                &b_info->u.hvm.acpi_firmware, 0);
 
+        switch (xlu_cfg_get_list(config, "smbios", &smbios, &num_smbios, 0))
+        {
+        case 0: /* Success */
+            b_info->u.hvm.num_smbios = num_smbios;
+            b_info->u.hvm.smbios = xcalloc(num_smbios, sizeof(libxl_smbios));
+            for (i = 0; i < num_smbios; i++) {
+                char *option_untrimmed, *value_untrimmed;
+                char *option, *value;
+                libxl_smbios_type v;
+
+                buf = xlu_cfg_get_listitem(smbios, i);
+                if (!buf) continue;
+
+                if (split_string_into_pair(buf, "=",
+                                           &option_untrimmed,
+                                           &value_untrimmed)) {
+                    fprintf(stderr, "xl: failed to split \"%s\" into pair\n",
+                            buf);
+                    exit(EXIT_FAILURE);
+                }
+                trim(isspace, option_untrimmed, &option);
+                trim(isspace, value_untrimmed, &value);
+
+                e = libxl_smbios_type_from_string(option, &v);
+                if (e) {
+                    fprintf(stderr,
+                            "xl: unknown smbios type '%s'\n",
+                            buf);
+                    exit(-ERROR_FAIL);
+                }
+
+                b_info->u.hvm.smbios[i].key = v;
+                b_info->u.hvm.smbios[i].value = value;
+            }
+            break;
+        case ESRCH: break; /* Option not present */
+        default:
+            fprintf(stderr,"xl: Unable to parse smbios options.\n");
+            exit(-ERROR_FAIL);
+        }
+
         if (!xlu_cfg_get_string(config, "ms_vm_genid", &buf, 0)) {
             if (!strcmp(buf, "generate")) {
                 e = libxl_ms_vm_genid_generate(ctx, &b_info->u.hvm.ms_vm_genid);
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 19:49:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 19:49:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384001.619275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrhS-0008BP-9W; Wed, 10 Aug 2022 19:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384001.619275; Wed, 10 Aug 2022 19:49:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLrhS-0008BG-64; Wed, 10 Aug 2022 19:49:06 +0000
Received: by outflank-mailman (input) for mailman id 384001;
 Wed, 10 Aug 2022 19:49:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UxBI=YO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oLrhQ-0007rn-RW
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 19:49:05 +0000
Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com
 [2607:f8b0:4864:20::82b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c7242b0-18e5-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 21:49:03 +0200 (CEST)
Received: by mail-qt1-x82b.google.com with SMTP id u12so12077995qtk.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 12:49:03 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:b898:c7de:df6c])
 by smtp.gmail.com with ESMTPSA id
 bk9-20020a05620a1a0900b006b978b521c8sm520897qkb.69.2022.08.10.12.49.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 12:49:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c7242b0-18e5-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=UYR0+uohvDIXv206Eq7xqYEcXJtgPEmS478u5ZUE58M=;
        b=LLmFZQIXXQR5s7aFFARrKKhoL7RS9PfJtLk+hCdCy0aMZ7snwvIODOVNup8KuprMGb
         Dt1ibz50BR8ZcFRg2gBumMj8lDOPAI/hxXdJngGeaTVy9Slir4k8qV8LujOQuiC1WpU+
         b6AagDGv8Nke6toKpx9fSOSRje6XxLk5IFh8BvgB9vKkYwuptPyalD3eBHWzLZrZkZ7X
         O6xSerIYCA00eutDFTqEWkT/bW/V2K+B8VSDZVHkx90akTn65fGczEtNfX5nJm4s3vk2
         TeAnCbFtjDoTktVlhKTBTUYwgstSa8POgeVm/4Z2FFSmXh0g076FT/G6xIImGuSjGgMk
         UzjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=UYR0+uohvDIXv206Eq7xqYEcXJtgPEmS478u5ZUE58M=;
        b=tzxVNKOvXrwjTrk+rHeWKBeuyqPMQTB4kfc8xV+cmtU/6UUxnGPHlSmrnJMokHDlL7
         S8rpS9OEDYqC89MYfAh+FPzmnll3O9WLb3nBRbPcFInzT/3iw40ENcXPT4e/DxyD4TFD
         VxND4K9f3sCquSpZoJ6dZaZSu3lVNDAtGiMiHTpQzfbcTWNfM99fLzCyYnrm7o8P5C6I
         ERmSXbA5Za31HZvB2IFtFra0WnwN/oQ6Z/GN0oguySp5Jkd1O23zUcdJGdCnHPFanYi9
         oVFi93UnlWfBbWnNzY2Cyw9sk5QIIyRwqG6L/25LDKJ2ZV150B0sNpXjaahd/T7JwAHD
         F8qQ==
X-Gm-Message-State: ACgBeo3fT0nNG59z17bh5JRMIYR2Gpx4zzNKAX4Od/lBefkz9EYKUoVc
	wdy09hdm3uWEfdqsMFieuwnBWKdqclI=
X-Google-Smtp-Source: AA6agR40LUsRMZXNfAIHlTIAI+WhtV2fN3eSZ/8pzxbMagSPZBUttDo96OvAI48aq5j3PvHaDDRguA==
X-Received: by 2002:ac8:7e96:0:b0:340:be9a:8ce1 with SMTP id w22-20020ac87e96000000b00340be9a8ce1mr25787460qtj.228.1660160942481;
        Wed, 10 Aug 2022 12:49:02 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 3/3] xl/libxl: Add OEM string support to smbios
Date: Wed, 10 Aug 2022 15:48:27 -0400
Message-Id: <20220810194827.103428-4-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220810194827.103428-1-jandryuk@gmail.com>
References: <20220810194827.103428-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for OEM strings in the SMBIOS type 11.

hvmloader checks them sequentially, so hide the implementation detail.
Allow multiple plain oem= items and assign the numeric values
internally.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
This change re-introduces the newline before ms_vm_genid.
---
 docs/man/xl.cfg.5.pod.in           |  4 ++
 tools/golang/xenlight/types.gen.go | 99 ++++++++++++++++++++++++++++++
 tools/libs/light/libxl_types.idl   | 99 ++++++++++++++++++++++++++++++
 tools/xl/xl_parse.c                | 15 +++++
 4 files changed, 217 insertions(+)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 7edf5d23f3..7947bf07ea 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2104,8 +2104,12 @@ Each B<SMBIOS_SPEC_STRING> is a C<KEY=VALUE> string from the following list:
 
 =item B<battery_device_name=STRING>
 
+=item B<oem=STRING>
+
 =back
 
+oem= strings can be specified mutiple times up to a limit of 99.
+
 =item B<ms_vm_genid="OPTION">
 
 Provide a VM generation ID to the guest.
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index e084c3540b..bd5752f634 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -405,6 +405,105 @@ SmbiosTypeEnclosureSerialNumber SmbiosType = 14
 SmbiosTypeEnclosureAssetTag SmbiosType = 15
 SmbiosTypeBatteryManufacturer SmbiosType = 16
 SmbiosTypeBatteryDeviceName SmbiosType = 17
+SmbiosTypeOem1 SmbiosType = 18
+SmbiosTypeOem2 SmbiosType = 19
+SmbiosTypeOem3 SmbiosType = 20
+SmbiosTypeOem4 SmbiosType = 21
+SmbiosTypeOem5 SmbiosType = 22
+SmbiosTypeOem6 SmbiosType = 23
+SmbiosTypeOem7 SmbiosType = 24
+SmbiosTypeOem8 SmbiosType = 25
+SmbiosTypeOem9 SmbiosType = 26
+SmbiosTypeOem10 SmbiosType = 27
+SmbiosTypeOem11 SmbiosType = 28
+SmbiosTypeOem12 SmbiosType = 29
+SmbiosTypeOem13 SmbiosType = 30
+SmbiosTypeOem14 SmbiosType = 31
+SmbiosTypeOem15 SmbiosType = 32
+SmbiosTypeOem16 SmbiosType = 33
+SmbiosTypeOem17 SmbiosType = 34
+SmbiosTypeOem18 SmbiosType = 35
+SmbiosTypeOem19 SmbiosType = 36
+SmbiosTypeOem20 SmbiosType = 37
+SmbiosTypeOem21 SmbiosType = 38
+SmbiosTypeOem22 SmbiosType = 39
+SmbiosTypeOem23 SmbiosType = 40
+SmbiosTypeOem24 SmbiosType = 41
+SmbiosTypeOem25 SmbiosType = 42
+SmbiosTypeOem26 SmbiosType = 43
+SmbiosTypeOem27 SmbiosType = 44
+SmbiosTypeOem28 SmbiosType = 45
+SmbiosTypeOem29 SmbiosType = 46
+SmbiosTypeOem30 SmbiosType = 47
+SmbiosTypeOem31 SmbiosType = 48
+SmbiosTypeOem32 SmbiosType = 49
+SmbiosTypeOem33 SmbiosType = 50
+SmbiosTypeOem34 SmbiosType = 51
+SmbiosTypeOem35 SmbiosType = 52
+SmbiosTypeOem36 SmbiosType = 53
+SmbiosTypeOem37 SmbiosType = 54
+SmbiosTypeOem38 SmbiosType = 55
+SmbiosTypeOem39 SmbiosType = 56
+SmbiosTypeOem40 SmbiosType = 57
+SmbiosTypeOem41 SmbiosType = 58
+SmbiosTypeOem42 SmbiosType = 59
+SmbiosTypeOem43 SmbiosType = 60
+SmbiosTypeOem44 SmbiosType = 61
+SmbiosTypeOem45 SmbiosType = 62
+SmbiosTypeOem46 SmbiosType = 63
+SmbiosTypeOem47 SmbiosType = 64
+SmbiosTypeOem48 SmbiosType = 65
+SmbiosTypeOem49 SmbiosType = 66
+SmbiosTypeOem50 SmbiosType = 67
+SmbiosTypeOem51 SmbiosType = 68
+SmbiosTypeOem52 SmbiosType = 69
+SmbiosTypeOem53 SmbiosType = 70
+SmbiosTypeOem54 SmbiosType = 71
+SmbiosTypeOem55 SmbiosType = 72
+SmbiosTypeOem56 SmbiosType = 73
+SmbiosTypeOem57 SmbiosType = 74
+SmbiosTypeOem58 SmbiosType = 75
+SmbiosTypeOem59 SmbiosType = 76
+SmbiosTypeOem60 SmbiosType = 77
+SmbiosTypeOem61 SmbiosType = 78
+SmbiosTypeOem62 SmbiosType = 79
+SmbiosTypeOem63 SmbiosType = 80
+SmbiosTypeOem64 SmbiosType = 81
+SmbiosTypeOem65 SmbiosType = 82
+SmbiosTypeOem66 SmbiosType = 83
+SmbiosTypeOem67 SmbiosType = 84
+SmbiosTypeOem68 SmbiosType = 85
+SmbiosTypeOem69 SmbiosType = 86
+SmbiosTypeOem70 SmbiosType = 87
+SmbiosTypeOem71 SmbiosType = 88
+SmbiosTypeOem72 SmbiosType = 89
+SmbiosTypeOem73 SmbiosType = 90
+SmbiosTypeOem74 SmbiosType = 91
+SmbiosTypeOem75 SmbiosType = 92
+SmbiosTypeOem76 SmbiosType = 93
+SmbiosTypeOem77 SmbiosType = 94
+SmbiosTypeOem78 SmbiosType = 95
+SmbiosTypeOem79 SmbiosType = 96
+SmbiosTypeOem80 SmbiosType = 97
+SmbiosTypeOem81 SmbiosType = 98
+SmbiosTypeOem82 SmbiosType = 99
+SmbiosTypeOem83 SmbiosType = 100
+SmbiosTypeOem84 SmbiosType = 101
+SmbiosTypeOem85 SmbiosType = 102
+SmbiosTypeOem86 SmbiosType = 103
+SmbiosTypeOem87 SmbiosType = 104
+SmbiosTypeOem88 SmbiosType = 105
+SmbiosTypeOem89 SmbiosType = 106
+SmbiosTypeOem90 SmbiosType = 107
+SmbiosTypeOem91 SmbiosType = 108
+SmbiosTypeOem92 SmbiosType = 109
+SmbiosTypeOem93 SmbiosType = 110
+SmbiosTypeOem94 SmbiosType = 111
+SmbiosTypeOem95 SmbiosType = 112
+SmbiosTypeOem96 SmbiosType = 113
+SmbiosTypeOem97 SmbiosType = 114
+SmbiosTypeOem98 SmbiosType = 115
+SmbiosTypeOem99 SmbiosType = 116
 )
 
 type Smbios struct {
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index d04207748e..58f404af37 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -436,6 +436,105 @@ libxl_smbios_type = Enumeration("smbios_type", [
     (15, "enclosure_asset_tag"),
     (16, "battery_manufacturer"),
     (17, "battery_device_name"),
+    (18, "oem_1"),
+    (19, "oem_2"),
+    (20, "oem_3"),
+    (21, "oem_4"),
+    (22, "oem_5"),
+    (23, "oem_6"),
+    (24, "oem_7"),
+    (25, "oem_8"),
+    (26, "oem_9"),
+    (27, "oem_10"),
+    (28, "oem_11"),
+    (29, "oem_12"),
+    (30, "oem_13"),
+    (31, "oem_14"),
+    (32, "oem_15"),
+    (33, "oem_16"),
+    (34, "oem_17"),
+    (35, "oem_18"),
+    (36, "oem_19"),
+    (37, "oem_20"),
+    (38, "oem_21"),
+    (39, "oem_22"),
+    (40, "oem_23"),
+    (41, "oem_24"),
+    (42, "oem_25"),
+    (43, "oem_26"),
+    (44, "oem_27"),
+    (45, "oem_28"),
+    (46, "oem_29"),
+    (47, "oem_30"),
+    (48, "oem_31"),
+    (49, "oem_32"),
+    (50, "oem_33"),
+    (51, "oem_34"),
+    (52, "oem_35"),
+    (53, "oem_36"),
+    (54, "oem_37"),
+    (55, "oem_38"),
+    (56, "oem_39"),
+    (57, "oem_40"),
+    (58, "oem_41"),
+    (59, "oem_42"),
+    (60, "oem_43"),
+    (61, "oem_44"),
+    (62, "oem_45"),
+    (63, "oem_46"),
+    (64, "oem_47"),
+    (65, "oem_48"),
+    (66, "oem_49"),
+    (67, "oem_50"),
+    (68, "oem_51"),
+    (69, "oem_52"),
+    (70, "oem_53"),
+    (71, "oem_54"),
+    (72, "oem_55"),
+    (73, "oem_56"),
+    (74, "oem_57"),
+    (75, "oem_58"),
+    (76, "oem_59"),
+    (77, "oem_60"),
+    (78, "oem_61"),
+    (79, "oem_62"),
+    (80, "oem_63"),
+    (81, "oem_64"),
+    (82, "oem_65"),
+    (83, "oem_66"),
+    (84, "oem_67"),
+    (85, "oem_68"),
+    (86, "oem_69"),
+    (87, "oem_70"),
+    (88, "oem_71"),
+    (89, "oem_72"),
+    (90, "oem_73"),
+    (91, "oem_74"),
+    (92, "oem_75"),
+    (93, "oem_76"),
+    (94, "oem_77"),
+    (95, "oem_78"),
+    (96, "oem_79"),
+    (97, "oem_80"),
+    (98, "oem_81"),
+    (99, "oem_82"),
+    (100, "oem_83"),
+    (101, "oem_84"),
+    (102, "oem_85"),
+    (103, "oem_86"),
+    (104, "oem_87"),
+    (105, "oem_88"),
+    (106, "oem_89"),
+    (107, "oem_90"),
+    (108, "oem_91"),
+    (109, "oem_92"),
+    (110, "oem_93"),
+    (111, "oem_94"),
+    (112, "oem_95"),
+    (113, "oem_96"),
+    (114, "oem_97"),
+    (115, "oem_98"),
+    (116, "oem_99"),
     ])
 
 libxl_smbios = Struct("smbios", [
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 4f3f962773..fb7f1f6867 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1787,12 +1787,16 @@ void parse_config_data(const char *config_source,
         switch (xlu_cfg_get_list(config, "smbios", &smbios, &num_smbios, 0))
         {
         case 0: /* Success */
+        {
+            unsigned int num_oem = 1;
+
             b_info->u.hvm.num_smbios = num_smbios;
             b_info->u.hvm.smbios = xcalloc(num_smbios, sizeof(libxl_smbios));
             for (i = 0; i < num_smbios; i++) {
                 char *option_untrimmed, *value_untrimmed;
                 char *option, *value;
                 libxl_smbios_type v;
+                char oem_buf[] = "oem_99";
 
                 buf = xlu_cfg_get_listitem(smbios, i);
                 if (!buf) continue;
@@ -1807,6 +1811,16 @@ void parse_config_data(const char *config_source,
                 trim(isspace, option_untrimmed, &option);
                 trim(isspace, value_untrimmed, &value);
 
+                if (strcmp(option, "oem") == 0) {
+                    if (num_oem > 99) {
+                        fprintf(stderr, "xl: sbmios oem strings limited to 99\n");
+                        exit(-ERROR_FAIL);
+                    }
+                    sprintf(oem_buf, "oem_%d", num_oem);
+                    num_oem++;
+                    option = oem_buf;
+                }
+
                 e = libxl_smbios_type_from_string(option, &v);
                 if (e) {
                     fprintf(stderr,
@@ -1819,6 +1833,7 @@ void parse_config_data(const char *config_source,
                 b_info->u.hvm.smbios[i].value = value;
             }
             break;
+        }
         case ESRCH: break; /* Option not present */
         default:
             fprintf(stderr,"xl: Unable to parse smbios options.\n");
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 10 20:34:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 20:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384034.619292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLsOz-0005nD-PN; Wed, 10 Aug 2022 20:34:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384034.619292; Wed, 10 Aug 2022 20:34:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLsOz-0005n6-M5; Wed, 10 Aug 2022 20:34:05 +0000
Received: by outflank-mailman (input) for mailman id 384034;
 Wed, 10 Aug 2022 20:34:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=z72a=YO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oLsOy-0005mz-1l
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 20:34:04 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c47c4c9c-18eb-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 22:34:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id AA32EB81B5D;
 Wed, 10 Aug 2022 20:34:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89845C433C1;
 Wed, 10 Aug 2022 20:33:58 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c47c4c9c-18eb-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660163639;
	bh=FSiQ1JPQhpwxTegkCE1Wd53aKULem9fIt+fhoTdU9qY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iHFTYqVLKVYfaQQWLKrfLVhgf8k61GGd42Ep1f2E2Yws2aPIettwo7jGTRsuXB7A/
	 sRv1y3M0S7ErhbbCxCU8wgEDUmu5DBYkAvdzQqjUIz01j3PYvhv9boaOGwsm8Pt2aT
	 T0EdYm+7zW4XPiVDWLzAA3JE3sMNYpZzgLUpFQg5TnqhxwCGrvRJuY65IihP03hzIQ
	 dq0y7+F7zb4x7ZsZnbHFgS1O9ezC605UK3cqdmUuGVBgaJKmcl2WIn5LcNOaGESCE/
	 VkfvEoWqElW5gv5/FRbFRsXvWlGEXfZjaa9PNBFWGb615wtd63V74SPPAiWlZEY6IK
	 G8bNmxTrwSANQ==
Date: Wed, 10 Aug 2022 13:33:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: gic: Fix MISRA C 2012 Rule 20.7 violation
In-Reply-To: <20220810101539.1909143-1-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208101333480.3790@ubuntu-linux-20-04-desktop>
References: <20220810101539.1909143-1-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 10 Aug 2022, Xenia Ragiadakou wrote:
> In GIC_PRI_TO_GUEST(), add parentheses around the macro parameter 'pri' to
> prevent against unintended expansions and realign comment.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/include/asm/gic.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/gic.h b/xen/arch/arm/include/asm/gic.h
> index b3c6c67933..3692fae393 100644
> --- a/xen/arch/arm/include/asm/gic.h
> +++ b/xen/arch/arm/include/asm/gic.h
> @@ -152,8 +152,8 @@
>  #define GIC_PRI_IPI_ALL    ((GIC_PRI_IPI << 24) | (GIC_PRI_IPI << 16) |\
>                              (GIC_PRI_IPI << 8) | GIC_PRI_IPI)
>  
> -#define GIC_PRI_TO_GUEST(pri) (pri >> 3) /* GICH_LR and GICH_VMCR only support
> -                                            5 bits for guest irq priority */
> +#define GIC_PRI_TO_GUEST(pri) ((pri) >> 3) /* GICH_LR and GICH_VMCR only support
> +                                              5 bits for guest irq priority */
>  
>  #define GICH_LR_PENDING         1
>  #define GICH_LR_ACTIVE          2
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 21:21:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 21:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384044.619307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLt8x-0002Pj-Es; Wed, 10 Aug 2022 21:21:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384044.619307; Wed, 10 Aug 2022 21:21:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLt8x-0002Pc-AX; Wed, 10 Aug 2022 21:21:35 +0000
Received: by outflank-mailman (input) for mailman id 384044;
 Wed, 10 Aug 2022 21:21:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLt8w-0002PS-Ld; Wed, 10 Aug 2022 21:21:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLt8w-0001xR-Ie; Wed, 10 Aug 2022 21:21:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLt8v-0004fz-Lp; Wed, 10 Aug 2022 21:21:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLt8v-0002nN-LK; Wed, 10 Aug 2022 21:21:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MljeR06zrx1UohKnqmV7yXJ8cwnixepx7wc93ckGlCs=; b=v6HG20jWiM18x3VAwA3j8DtzYm
	/40jhEdQLzMpXPRVzEDiaZKz/QHMuD3yGZcCTbA0j0sIQrR/g2RDjcZHblQNkjI7KSLkywiAiYWaC
	Ya+JHbLnGLMJWB2aV3MWhapw5rkuko99Knl01kbiuE4fuDQFaXiz4519X/5gBpvi1Jfs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172359-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172359: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d4252071b97d2027d246f6a82cbee4d52f618b47
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 21:21:33 +0000

flight 172359 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172359/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                d4252071b97d2027d246f6a82cbee4d52f618b47
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    6 days
Failing since        172152  2022-08-05 04:01:26 Z    5 days   17 attempts
Testing same since   172347  2022-08-10 04:18:20 Z    0 days    2 attempts

------------------------------------------------------------
1170 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121912 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 21:28:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 21:28:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384055.619317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLtFJ-00039I-88; Wed, 10 Aug 2022 21:28:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384055.619317; Wed, 10 Aug 2022 21:28:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLtFJ-00039B-5I; Wed, 10 Aug 2022 21:28:09 +0000
Received: by outflank-mailman (input) for mailman id 384055;
 Wed, 10 Aug 2022 21:28:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLtFH-00038w-OZ; Wed, 10 Aug 2022 21:28:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLtFH-00023W-Mv; Wed, 10 Aug 2022 21:28:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLtFH-0004wi-Au; Wed, 10 Aug 2022 21:28:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLtFH-0000Jp-AQ; Wed, 10 Aug 2022 21:28:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jWGf50X1lxUA4reLs+fhdfTOySnEu0+nOYLjnzpcUOU=; b=09jE8nYTm49x7V892BbMcjdqjt
	pmQ4EhC1gtgPs9lE2DGsKRp9KI20xRS1uXLSGXyQBc/QG7g7txFySYXsvLUgNpv61XIVdAzOs+ooY
	UM14BBUatL/nSd0Bx8TuqqswtPo803EzWHfPnJmCDLYd5CvI7EoTYSES/kaL9fp2p4OA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172365-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172365: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Aug 2022 21:28:07 +0000

flight 172365 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172365/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   56 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    1 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 10 22:56:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Aug 2022 22:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384067.619328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLucI-0003HB-J0; Wed, 10 Aug 2022 22:55:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384067.619328; Wed, 10 Aug 2022 22:55:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLucI-0003H4-GN; Wed, 10 Aug 2022 22:55:58 +0000
Received: by outflank-mailman (input) for mailman id 384067;
 Wed, 10 Aug 2022 22:55:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xRKX=YO=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oLucG-0003Gy-QN
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 22:55:57 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95824d6c-18ff-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 00:55:54 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 2B80D32008FF;
 Wed, 10 Aug 2022 18:55:50 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Wed, 10 Aug 2022 18:55:51 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 10 Aug 2022 18:55:47 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95824d6c-18ff-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm3; t=1660172149; x=
	1660258549; bh=RQV2F3vE9R1Q1AdTMLF5Q5GKEB6poBfySN9JiFXTRLQ=; b=X
	yvbGU3Nh6ZQyy8sQPo5cl4nWqf9r/F/+21YNzSuQuLstCqlJXE0F+CK+3dHEPIp5
	c1lgJ1UUjW4VRv8QBDaUHQlTTxJSgLqPuNHhas65wX0eDkinUo0h3RPXhQGMWPpl
	gU3GQ9n1qj6iHNOXgh6Uz74MhV+FoXwjhOJZpDMO02DHCeTALFvE9UcYIsr9X/96
	SgbH3uInqPS6WRB3y/3XQUrR3kXcoXNugsSfr4OqsCE01nwO2VcESqaEUimxhfEC
	yHIw7L52AdxHhEyw6l/KM55t3FR9NvB83cmuZtWFk3LLVXQd9b1mMqkpNA5h5jF6
	6yHZedsq2PhN6QfjO21GQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1660172149; x=1660258549; bh=RQV2F3vE9R1Q1AdTMLF5Q5GKEB6p
	oBfySN9JiFXTRLQ=; b=Uf7XxOQweTcwx8lhWxGkW8j5mG2UQN3/84kvPAM3BrZg
	miU4yMIry4v5ICeS8pPhAJSigFlmJvwReNN326ZfCtqF6zga/6c9cIVpoHXt1gpu
	K0JpSKq59rtzCw3V9JyP4/4dUU+MGw50H5uZRxIAPooQbMxEVGaCwoEdnr4v8fMS
	MnaMWJuMKB2BOeIMtzZFft1BwgJGkpSuLlsewohJqaluYJZYITzwx7YzP56p1vEA
	5GVdcUFEGVkxuhDPE8igZ778iXKZqd7XBcKMz0R22wv1KB7REG8tAZVK616bcPQW
	dV6YANmwV90pnIlNlHzuLcfDYeTT7EsK5XmIY1cxUA==
X-ME-Sender: <xms:dTf0Yt9084FlQ0e6PxiZbqFvx5ct8yQyhpNeHcUbNbJr0yYE_8rgkA>
    <xme:dTf0Yhs5M3d8ao1UAWRDXrcsLCKhdWPKA34oBdFAJ7WwZqculArBLgAnZuqL-ruac
    JqTRCYoHdpqvw>
X-ME-Received: <xmr:dTf0YrDqYcxdihvxVQqTEHdfsFteT3Bxa15OJAG4lPLUTkmagVp0mxjLpaypLPFhk9SRLkfewBaZmwRkA_J4Hvd7O7GkrKHdUmEU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegfedgudejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepkedv
    gfevtdfhfedtgeeuveeugefhteetlefhheeuvedvhefggedufffgvddvheetnecuffhomh
    grihhnpehouhhtlhhoohhkrdgtohhmpdgsohhothhlihhnrdgtohhmpdhkvghrnhgvlhdr
    ohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe
    hmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:dTf0Yhd5rj27n5Q37WqDQttwyYuSjr6FO0GN5v69QedfAFa9fARxHQ>
    <xmx:dTf0YiP9i9N7T62cX2jHwU73DdxrLwuDKukHcyCBOccl6Tdi8eBUQw>
    <xmx:dTf0YjnWMg_FWc98tLYFWxxNIZwfy8HwvjIUItGK-x8RFkPWAWLM5Q>
    <xmx:dTf0YjjfIDg8ZAeo1LhvHMi_ooIUEGg5XtuITyBc0gT4uf3AgjlFrQ>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 11 Aug 2022 00:55:44 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: "SK, SivaSangeetha (Siva Sangeetha)" <SivaSangeetha.SK@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"Pandeshwara krishna, Mythri" <Mythri.Pandeshwarakrishna@amd.com>,
	"Rangasamy, Devaraj" <Devaraj.Rangasamy@amd.com>,
	"Thomas, Rijo-john" <Rijo-john.Thomas@amd.com>
Subject: Re: Reg. Tee init fail...
Message-ID: <YvQ3cEFxWFi7fXjX@mail-itl>
References: <DM4PR12MB5200C7C38770E07B5946424A80B49@DM4PR12MB5200.namprd12.prod.outlook.com>
 <7689497b-1977-b30a-5835-587fa266c721@xen.org>
 <alpine.DEB.2.22.394.2206291251240.4389@ubuntu-linux-20-04-desktop>
 <DM4PR12MB520060A696B62EFBA3E5E96680BA9@DM4PR12MB5200.namprd12.prod.outlook.com>
 <60bf0e8a-1b58-4df4-fdcf-bcfeedd64e77@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="+QD6F8owS8JgvRRZ"
Content-Disposition: inline
In-Reply-To: <60bf0e8a-1b58-4df4-fdcf-bcfeedd64e77@suse.com>


--+QD6F8owS8JgvRRZ
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 11 Aug 2022 00:55:44 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: "SK, SivaSangeetha (Siva Sangeetha)" <SivaSangeetha.SK@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"Pandeshwara krishna, Mythri" <Mythri.Pandeshwarakrishna@amd.com>,
	"Rangasamy, Devaraj" <Devaraj.Rangasamy@amd.com>,
	"Thomas, Rijo-john" <Rijo-john.Thomas@amd.com>
Subject: Re: Reg. Tee init fail...

On Thu, Jun 30, 2022 at 07:31:38AM +0200, Juergen Gross wrote:
> On 30.06.22 05:32, SK, SivaSangeetha (Siva Sangeetha) wrote:
> > [AMD Official Use Only - General]
> >=20
> > +team
> >=20
> > -----Original Message-----
> > From: Stefano Stabellini <sstabellini@kernel.org>
> > Sent: Thursday, June 30, 2022 1:34 AM
> > To: Julien Grall <julien@xen.org>
> > Cc: SK, SivaSangeetha (Siva Sangeetha) <SivaSangeetha.SK@amd.com>; xen-=
devel@lists.xenproject.org; Stefano Stabellini <sstabellini@kernel.org>; Be=
rtrand Marquis <bertrand.marquis@arm.com>; Volodymyr Babchuk <Volodymyr_Bab=
chuk@epam.com>; jgross@suse.com; boris.ostrovsky@oracle.com
> > Subject: Re: Reg. Tee init fail...
> >=20
> > Adding Juergen and Boris because this is a Linux/x86 issue.
> >=20
> >=20
> > As you can see from this Linux driver:
> > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Feli=
xir.bootlin.com%2Flinux%2Flatest%2Fsource%2Fdrivers%2Fcrypto%2Fccp%2Ftee-de=
v.c%23L132&amp;data=3D05%7C01%7CSivaSangeetha.SK%40amd.com%7Ce962a907794f49=
17a80b08da5a0a7b3b%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63792129831=
5828104%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI=
6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=3DNxmMUckiDRGLv3qLJrhZKBt=
2zNTuomEZqYJdV74tXxA%3D&amp;reserved=3D0
> >=20
> > Linux as dom0 on x86 is trying to communicate with firmware (TEE). Linu=
x is calling __pa to pass a physical address to firmware. However, __pa ret=
urns a "fake" address not an mfn. I imagine that a quick workaround would b=
e to call "virt_to_machine" instead of "__pa" in tee-dev.c.
> >=20
> > Normally, if this was a device, the "right fix" would be to use swiotlb=
-xen:xen_swiotlb_map_page to get back a real physical address.
> >=20
> > However, xen_swiotlb_map_page is meant to be used as part of the dma_op=
s API and takes a struct device *dev as input parameter. Maybe xen_swiotlb_=
map_page can be used for tee-dev as well?
> >=20
> >=20
> > Basically tee-dev would need to call dma_map_page before passing addres=
ses to firmware, and dma_unmap_page when it is done. E.g.:
> >=20
> >=20
> >    cmd_buffer =3D dma_map_page(dev, virt_to_page(cmd),
> >                              cmd & ~PAGE_MASK,
> >                              ring_size,
> >                              DMA_TO_DEVICE);
> >=20
> >=20
> > Juergen, Boris,
> > what do you think?
>=20
> Yes, I think using the DMA interface is the correct way to handle that.
>=20
> BTW, I did a similar fix for the dcdbas driver recently:
>=20
> https://lore.kernel.org/r/20220318150950.16843-1-jgross@suse.com

I hit similar issue, and the patch below made it work for me (ugly
workaround), or at least stop complaining.

But note one of those places have this comment:

	/* We need actual physical address instead of DMA address, since
	 * Trusted OS running on AMD Secure Processor will map this region
	 */

I guess it means AMD Secure Processor bypasses IOMMU...

---8<---
diff --git a/drivers/crypto/ccp/tee-dev.c b/drivers/crypto/ccp/tee-dev.c
index 5c9d47f3be37..9d440fc8a56d 100644
--- a/drivers/crypto/ccp/tee-dev.c
+++ b/drivers/crypto/ccp/tee-dev.c
@@ -15,6 +15,7 @@
 #include <linux/gfp.h>
 #include <linux/psp-sev.h>
 #include <linux/psp-tee.h>
+#include <xen/page.h>
=20
 #include "psp-dev.h"
 #include "tee-dev.h"
@@ -39,7 +40,7 @@ static int tee_alloc_ring(struct psp_tee_device *tee, int=
 ring_size)
 	memset(start_addr, 0x0, ring_size);
 	rb_mgr->ring_start =3D start_addr;
 	rb_mgr->ring_size =3D ring_size;
-	rb_mgr->ring_pa =3D __psp_pa(start_addr);
+	rb_mgr->ring_pa =3D virt_to_machine(start_addr).maddr;
 	mutex_init(&rb_mgr->mutex);
=20
 	return 0;
@@ -129,7 +130,7 @@ static int tee_init_ring(struct psp_tee_device *tee)
 		return -ENOMEM;
 	}
=20
-	cmd_buffer =3D __psp_pa((void *)cmd);
+	cmd_buffer =3D virt_to_machine((void *)cmd).maddr;
=20
 	/* Send command buffer details to Trusted OS by writing to
 	 * CPU-PSP message registers




--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--+QD6F8owS8JgvRRZ
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmL0N3AACgkQ24/THMrX
1yyn2wf/W2IUPQ80S/Xw77RiNzuGT+iG1gAJDklZgO+WM4/fhnKKm/W1H/5CLMoT
WvTfzrfUO6esjnwSV6zq+UhAGMSRpu9Tg56i5+COv9RKRxgDFW8TVhNC00AFrPc2
GKmSF3a6ijZlgIHUm9pNdxs2t/LPM/JE9SK+8YdSUZ22EEEfEIiOdimVYJfQBBAi
ZiAL1d1e3KTivXDpYLCpBQIILpvYJn4fCUA8OOfNk70smuIQ1sBZIih6zmQQlfFP
I43eHZ2/OktRVWUx+SiyaJXjmjkC4D9/0YNDiIV+HuD5wxChqLc8vvIwNfIuGZbv
hkq0uPd2RmQ4CZAv2syVdqNk3uejJA==
=3+ID
-----END PGP SIGNATURE-----

--+QD6F8owS8JgvRRZ--


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 00:14:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 00:14:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384076.619339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLvpe-000397-GG; Thu, 11 Aug 2022 00:13:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384076.619339; Thu, 11 Aug 2022 00:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLvpe-000390-Dc; Thu, 11 Aug 2022 00:13:50 +0000
Received: by outflank-mailman (input) for mailman id 384076;
 Thu, 11 Aug 2022 00:13:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLvpc-00038q-TZ; Thu, 11 Aug 2022 00:13:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLvpc-0005PV-MG; Thu, 11 Aug 2022 00:13:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLvpc-0007aI-Bc; Thu, 11 Aug 2022 00:13:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLvpc-0005vE-BA; Thu, 11 Aug 2022 00:13:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vIeyjP9h59TySl7rwuqnkInZww/3bEETP/2MkyNUYeM=; b=5yZ3RVjF1mkMx1Z2KvP6uIJnuB
	YZLsDoGbcQRQUYeXFsogKSr5nNQk648gUoxls00j/nvWwG83EITNhg6GP0+BWWwun153dSRZpFedl
	OPl/H4d5cF5esqt64aOf1pevOQkcCkcfMayNy8dL8qEZ3dBWq7s7aQkkXm2JerwzUbCE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172370-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172370: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e9e2ecab2d931069d5f9afaae313e09d42bee6e9
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 00:13:48 +0000

flight 172370 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172370/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e9e2ecab2d931069d5f9afaae313e09d42bee6e9
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   57 attempts
Testing same since   172322  2022-08-09 08:10:24 Z    1 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 492 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 00:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 00:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384086.619350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLwXs-0007LQ-Sp; Thu, 11 Aug 2022 00:59:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384086.619350; Thu, 11 Aug 2022 00:59:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLwXs-0007LJ-Q6; Thu, 11 Aug 2022 00:59:32 +0000
Received: by outflank-mailman (input) for mailman id 384086;
 Thu, 11 Aug 2022 00:59:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLwXr-0007L9-OT; Thu, 11 Aug 2022 00:59:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLwXr-000673-M6; Thu, 11 Aug 2022 00:59:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLwXr-00017R-AT; Thu, 11 Aug 2022 00:59:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLwXr-00006i-A0; Thu, 11 Aug 2022 00:59:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BeSo7zc5hIGATeWceDpmcKmM4DgRPwcsGOJq8Nzqi+U=; b=qo3GxoGIkLOq9UqsFMh9T2Z5Bw
	i9gORD+Ut4yRImCIwzcd1YKy6Yc633JTSjtaTNE9xwsQmSIrh07YMe35ImHfwQfyWlAPDNuD7KwE2
	IGXOt3MW5xBM/fMKnkZIe23eUnsYIdJdyGHLGSkWjhdt20XVWemKJp9SjNTkwrQb7KL0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172368-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172368: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d7c3c845c44e097d6c980001e108da0bb84ed16f
X-Osstest-Versions-That:
    xen=ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 00:59:31 +0000

flight 172368 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172368/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172338
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  d7c3c845c44e097d6c980001e108da0bb84ed16f
baseline version:
 xen                  ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a

Last test of basis   172338  2022-08-09 22:01:49 Z    1 days
Testing same since   172368  2022-08-10 21:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ea2353a7fb..d7c3c845c4  d7c3c845c44e097d6c980001e108da0bb84ed16f -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 01:57:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 01:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384096.619362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLxRQ-00031r-2S; Thu, 11 Aug 2022 01:56:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384096.619362; Thu, 11 Aug 2022 01:56:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLxRP-00031j-T2; Thu, 11 Aug 2022 01:56:55 +0000
Received: by outflank-mailman (input) for mailman id 384096;
 Thu, 11 Aug 2022 01:56:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aSs6=YP=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oLxRP-00031d-7b
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 01:56:55 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2086.outbound.protection.outlook.com [40.107.22.86])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de295363-1918-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 03:56:51 +0200 (CEST)
Received: from AS8PR04CA0047.eurprd04.prod.outlook.com (2603:10a6:20b:312::22)
 by AS4PR08MB7855.eurprd08.prod.outlook.com (2603:10a6:20b:51e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 01:56:49 +0000
Received: from AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:312:cafe::6f) by AS8PR04CA0047.outlook.office365.com
 (2603:10a6:20b:312::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Thu, 11 Aug 2022 01:56:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT058.mail.protection.outlook.com (10.152.17.48) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 01:56:49 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Thu, 11 Aug 2022 01:56:49 +0000
Received: from f17c1fd1498f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7E9A1EA6-4540-44EE-B0D0-43A9F74509CA.1; 
 Thu, 11 Aug 2022 01:56:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f17c1fd1498f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Aug 2022 01:56:42 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM0PR08MB4995.eurprd08.prod.outlook.com (2603:10a6:208:162::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 11 Aug
 2022 01:56:41 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.022; Thu, 11 Aug 2022
 01:56:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de295363-1918-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=MOrCP4nmGD5Ygw0RpzFx3igSKwHfjhcwRMKj4tRy23yvs4F92A4y/kuzbUnbYVNmOTsN6denA5pwmQIM1RLy++aal1t/gOphIZJhjDJsRIWlpP29UazFGrTQ1QhBHsok8zFGlnVzlrtD+uJbFtfsTTX3yGJ0i2Zrk5xKCAeIbQJFzEB1MQRIPPx41nduyCOQ367qq1LC4gFOr+WN2Pg633ikSAvRddPmhn9XPTLXXf3qZ9Yn4ymoXxvJhBxM1J3jWrwXruu637Hqg+3F2F62kluuq4LxBHH0iMBnp7NXZcBcCESOqSdR3ue0tSAGcloxFNx2TBcPGz/ug2DzCyyeGQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gaU3zyVsMdNksOH9ehegYCjQ00g0JJm7zFB1U6bc190=;
 b=JLEmFWRkvn1aN2RXtvRdsTpd2ZMTzSFbDNXUbsZvZ+l3HpYQT0d/tKkFV4UYguxFoFtZyL7Ea7x2ttNJpg7vHyMMNoXQE/aviYcCB+dm8wiW7EwkeoSBwA/HASyGiP+1MQYTooAG3DdTzG3CFiRTDbNasRkYO9Nw2I4e4paw7A2ch1qdsrJbSjb+5jq9l+eliklaUvaeTndc833uZ6MLtbjG1fkOQX09Bu/njguPpHApejbd8SWM2FNk4VzB7P6rWx+im4n73V2dak3zTh6zNW4it2Z3QGDeu9peToTjE4v0dDZ1MI6PE1ZrdbHdaoG+3UGdunBehp2GCgP/XT6Abg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gaU3zyVsMdNksOH9ehegYCjQ00g0JJm7zFB1U6bc190=;
 b=3wRiE9zWbu+kew6meU70QQkc7YHOH4BVaUc3YpUbXW1TUqJO6IZfZ/Yyjnlyg69cM9HMJ8tIjQAJGkjcyWdspr7JcJVcj7Ba2LXclrVzw97fUVFbxrXxeLZ4hhtLMzGtc65pyXbGqkgN3eY1VuFBvtsvVB04rirpKf+Mf+vrulg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TmZ7wDCV0H5fo3qhORkPeQfz27eLqxkgrl3esRo2AWrpEXpRcvNzassUec79EXnmvUXfy8Pe09UjepULfNA5Gq7tto1GmBonNCocSGOwO0jWcYyd9/IYfZKgBbDsQ3W4C0+3OkT2dyznB1SkFTAZktNRy6mPcVQMp2Y9sEIGdfz4TVO10OEUdFbEnsBzzA4WQ0tMHXTtbxTLrZFlchtjS5Ic+6EBlePwFiZhxND+1G8IPBsBQODFg8Rz3phA8OS5+IPGjAcjkuh/nfmY8NhHnzDX4TrhtFrlSY85SKxZEjgF4q2o6YJa+TMOPh9yIDu6ypvlVmPfglQ0OmqJLioVZA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gaU3zyVsMdNksOH9ehegYCjQ00g0JJm7zFB1U6bc190=;
 b=f9K8VIfhEExPRiNMBf6QUpw/gHVuoUYSb13JZZiTnIxr1zaT5+oUQ0GSKDfpi1gWC6QhX12DXwSRV+/lR8YJrSMCiXnxs1WMpSaoEfomPXX4FSZO9LBiZls+AZgpwlekJUHY88vihVgNEgdC+GSItBrJRuonxCwfAvYGhuiVYwk6299hZgez5/IB6k6ZtGtz7BZ/vZp5iSuWEWv0lecCUKhCumWnWToIMozMqB1nn2Jwuy1mSQzBSAcS6jUXWExh3H81aqXmrgFvQ/xcrR56Tv+Q9LQkjjqIu6zFk+EGKMofFdd4mRaBXwK/ajDJeV0dvGQ60x+eqb0ja4u9LUCfCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gaU3zyVsMdNksOH9ehegYCjQ00g0JJm7zFB1U6bc190=;
 b=3wRiE9zWbu+kew6meU70QQkc7YHOH4BVaUc3YpUbXW1TUqJO6IZfZ/Yyjnlyg69cM9HMJ8tIjQAJGkjcyWdspr7JcJVcj7Ba2LXclrVzw97fUVFbxrXxeLZ4hhtLMzGtc65pyXbGqkgN3eY1VuFBvtsvVB04rirpKf+Mf+vrulg=
From: Henry Wang <Henry.Wang@arm.com>
To: Jason Andryuk <jandryuk@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Community Manager <community.manager@xenproject.org>
Subject: RE: [PATCH v2 13/13] CHANGELOG: Add Intel HWP entry
Thread-Topic: [PATCH v2 13/13] CHANGELOG: Add Intel HWP entry
Thread-Index: AQHYrO+y52qVsVi890iQZz0G1Doa+62o8LUA
Date: Thu, 11 Aug 2022 01:56:41 +0000
Message-ID:
 <AS8PR08MB79915E06D2B08A2A2AB2EB8192649@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
 <20220810192944.102135-14-jandryuk@gmail.com>
In-Reply-To: <20220810192944.102135-14-jandryuk@gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 59F71D8B99E12D498E793DAA11065946.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 7d4332d3-bead-496a-996c-08da7b3cc0ec
x-ms-traffictypediagnostic:
	AM0PR08MB4995:EE_|AM5EUR03FT058:EE_|AS4PR08MB7855:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 lFCfFweC4ANU5ZAT2reGyluDB8mTLEreIWD7KuO60J6vZ0ndxCENehvPXp8jEJAWjB9gW2IbZ0pJmbM65xwyitDd6t46C6p3/A7skG38ckIMDtj6Kr9rig5EwTZ3QamMUJ+7n4nxDnfBEetHe1Yci0nH2Fw11pZjJ8bezu79sDNf/H8MdgljyHqzE6cptGmNSRsPj7L2iJXtRjB8NuGZBMB3mgP1MzZYwPwuWeI1bauZnqqeY7mjDnKJZzJkg34xJwP2Py4A7W45X0Z8PWZ8ePW/pz9JUS8fULVxy8oU2d3dTwc52Z7NKVi9Wh/B55wdNYBnIZvMcP1iXftHsnGK0OpZpHQd3YkNSh8HnD7XfkBPwIrqFgh/sQ/IzMzkaHHeC+JHOiYwS52i/IHH9hg0px1phDMJmQkKKfbp+b9tp1rP4SiMxkXcA6XX/uhY5txpzVJwJCj6tpGTI6AGiefqjxYj0A/zXa50UYh+zswXTAvPHMCSh+w0Tti3BNnU5imImgiVIZVucnhfEv28qAe59h1/g5J1KyH9DzB1QL080m+R0xN2YcmWnmTKWouz6elowBnWHu5k2nvBQJL0+YF9dRJ26Xd6CFdnucdeHkRoAIcV9Y9fQzXJVD1+19h7fgbKRIJYpve5xYaNnoJ92aSAydvZK8+vDNpS9XyCE4gvDQIF0uO5URZR9xw0Zd/bPtI/D47FpyHoS2UYQU28fk9fbJY5bgqjXaZBt/2GwnSQ+pWJfOIZEZxttUXsfYeu5JvArdQOf6oMVxK2HFqnatKTlsA3mI85RfOdQxstdrB+/ZQUKvPJrfhqFQpjUATQ2ZEMG/ugaBjIFRnIT5PwA0LUY8D6uOQNs5cJwjIUHNY6gMcCZmQSsvgNRcYHqb0k9SzQ
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(346002)(39860400002)(136003)(376002)(55016003)(26005)(86362001)(186003)(7696005)(9686003)(6506007)(66946007)(38100700002)(122000001)(38070700005)(66556008)(66446008)(4326008)(41300700001)(64756008)(66476007)(83380400001)(8676002)(33656002)(5660300002)(2906002)(52536014)(8936002)(76116006)(71200400001)(478600001)(558084003)(110136005)(316002)(59356011)(219803003)(207903002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4995
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e67384a0-9d00-4aa6-d278-08da7b3cbc29
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AVd50tP+qyFG9tihRAnwitPt/vljqOdj3WDqW1EAL112uaQwb6PKLZz2yuLE7FpRomZRUEZvf3j/CShsqKeWASnWIQL5uRqysxq1NeAIZmDKBxYamYeY1fcBcJg13LnXBammPqLOtstvOuArIuydVRmbzOIC2TE090lbXdrJRcK3IAa0RBO876Xm0TdsgWI0ZzkeJkWX7do3KqJrec4vO/llciLu9mKu0KBquglNTJKaGcxg4xdm2UupQOw1q/ac+XoLm8o/H6e+KkBv+Zc6q+K6McD0fsUDEWUDOyRAL4bi9b2vVXVPMnUZDZPqrMcKHHbodVXcTx74+TtORGQJEUXhMvk7hIitU7g6grS6+dwMpXkpZTtVasATsH5g6CjuqhECFThZXa+4q/VvdsPF7Dq+l4x/7IP36tV1rpLn2CdYHqm3fGYjYV89TpkwaGXnF9mBI6L1r5OAKu3ypfjDPebUppiekLzRaVU3UHcLvxJGwGtFxH0x7aINwRBoh9uhYkbLwH3+nCscorg21rraf82jvzh1RU1raAixq33iPcKufHnQPa+Jgv/1co0io/1JYbqt0tfsV4HzsZOjHHoWLnlCYSMM14SxITvrX12IHrIDvug/81hCotzI65DnQpaO/qg0IEoO73JaYnFKtvkbW2uYy2xuWvbIkP7Z5ozTSqSRcP2fANIFArmS7DmmuZAu1HagsmoK5eadOS1JJnMfLI/NnNbwjQf4oTfRVapmTE4DUJmL76ESfetIs9N12XZDD8Yikn3vtobwle4iyLV/uizY2sf2co9ac4reSAWuGRvMn0zad3pys8wpfv6SDOq2v4OhocOPuH8FLe9Hf+Ff4J37tSa42ZjL64wZcCqMhALjjqj6aa0uq+yHQVONz0YRG+V6thSJzeNn8Hpzl+Xb7A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(376002)(396003)(136003)(40470700004)(36840700001)(46966006)(9686003)(26005)(110136005)(6506007)(2906002)(7696005)(478600001)(41300700001)(558084003)(33656002)(86362001)(316002)(40460700003)(356005)(82740400003)(81166007)(47076005)(186003)(336012)(70206006)(70586007)(82310400005)(83380400001)(52536014)(8676002)(4326008)(55016003)(40480700001)(5660300002)(8936002)(36860700001)(59356011)(219803003)(207903002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 01:56:49.0742
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d4332d3-bead-496a-996c-08da7b3cc0ec
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7855

Hi Jason,

> -----Original Message-----
> From: Jason Andryuk <jandryuk@gmail.com>
> Subject: [PATCH v2 13/13] CHANGELOG: Add Intel HWP entry
>=20
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Thanks for the patch,

Acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 02:36:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 02:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384107.619379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLy3p-0007b6-1u; Thu, 11 Aug 2022 02:36:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384107.619379; Thu, 11 Aug 2022 02:36:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLy3o-0007az-VC; Thu, 11 Aug 2022 02:36:36 +0000
Received: by outflank-mailman (input) for mailman id 384107;
 Thu, 11 Aug 2022 02:36:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLy3n-0007ap-I4; Thu, 11 Aug 2022 02:36:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLy3n-0006To-EI; Thu, 11 Aug 2022 02:36:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLy3n-00056O-0D; Thu, 11 Aug 2022 02:36:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLy3m-0001Lo-Vy; Thu, 11 Aug 2022 02:36:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FnkGi82dbFBr5O2oXUcLe6zrxfyHrRIBQekbfxPDD9g=; b=bKpVsAWIfrq050y7YjmixnoQ+H
	f0oZXrr/6oFB8nGjVJNTDfpK65JTcN1EQ9URwJfmcXZ1jp8c3HT+DCXtNeAfStEjDfusJBA8o6Loe
	qeYmY+houebFsR0/TQYyOX81sePdcdJeA65LQb4RMER7m/pQRfXQoulPHIA9WOzHeqf0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172371-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172371: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 02:36:34 +0000

flight 172371 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172371/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    5 days   58 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 03:36:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 03:36:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384117.619390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLyzm-00057i-Fw; Thu, 11 Aug 2022 03:36:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384117.619390; Thu, 11 Aug 2022 03:36:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLyzm-00057b-Cv; Thu, 11 Aug 2022 03:36:30 +0000
Received: by outflank-mailman (input) for mailman id 384117;
 Thu, 11 Aug 2022 03:36:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLyzl-00057R-5d; Thu, 11 Aug 2022 03:36:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLyzk-0007Sl-Vo; Thu, 11 Aug 2022 03:36:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLyzk-0006lE-Hl; Thu, 11 Aug 2022 03:36:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLyzk-0000iG-H8; Thu, 11 Aug 2022 03:36:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YLWVpppjamwjTl6ASCSX1EZTBXcNigYLO+4mSYT4WGs=; b=Mw/iahShDPXNxe8XGzBRqKdQ+A
	kUnNK0tcrGpno2w88aeVO1uMrAagQlR1C+tc8JXVYPBDzbck8PNHjUJudjs3v98D9JAVYt0W00kXA
	0R279lApPCBf2krWlzhkKBh1UCLIQ0kgdStid8K9TEhkze5pQh0XzyO8UoYnmd/ngDyg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172363-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172363: FAIL
X-Osstest-Failures:
    xen-unstable:build-amd64-xtf:<job status>:broken:regression
    xen-unstable:build-amd64-xtf:host-install(4):broken:regression
    xen-unstable:test-amd64-i386-xl-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
X-Osstest-Versions-That:
    xen=e83cd54611fec5b7a539fa1281a14319143490e6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 03:36:28 +0000

flight 172363 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172363/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-xtf                 <job status>                 broken  in 172354
 build-amd64-xtf            4 host-install(4) broken in 172354 REGR. vs. 172342

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-shadow     7 xen-install      fail in 172354 pass in 172363
 test-amd64-i386-xl     20 guest-localmigrate/x10 fail in 172354 pass in 172363
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 172354 pass in 172363
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 172354

Tests which did not succeed, but are not blocking:
 test-xtf-amd64-amd64-1        1 build-check(1)           blocked in 172354 n/a
 test-xtf-amd64-amd64-2        1 build-check(1)           blocked in 172354 n/a
 test-xtf-amd64-amd64-5        1 build-check(1)           blocked in 172354 n/a
 test-xtf-amd64-amd64-4        1 build-check(1)           blocked in 172354 n/a
 test-xtf-amd64-amd64-3        1 build-check(1)           blocked in 172354 n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172342
 build-i386-libvirt            6 libvirt-build                fail  like 172342
 build-arm64-libvirt           6 libvirt-build                fail  like 172342
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172342
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172342
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172342
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172342
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172342
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172342
 build-armhf-libvirt           6 libvirt-build                fail  like 172342
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172342
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172342
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172342
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
baseline version:
 xen                  e83cd54611fec5b7a539fa1281a14319143490e6

Last test of basis   172342  2022-08-10 00:07:06 Z    1 days
Testing same since   172354  2022-08-10 09:02:10 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-amd64-xtf broken

Not pushing.

------------------------------------------------------------
commit ea2353a7fbdabeb5f698ac53579dec1c8ea9f77a
Author: Xenia Ragiadakou <burzalodowa@gmail.com>
Date:   Mon Aug 8 12:48:37 2022 +0300

    xen/arm: regs: Fix MISRA C 2012 Rule 20.7 violation
    
    In macro psr_mode(), the macro parameter 'm' is used as expression and
    therefore it is good to be enclosed in parentheses to prevent against
    unintended expansions.
    
    Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
    Reviewed-by: Rahul Singh <rahul.singh@arm.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 04:11:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 04:11:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384127.619401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLzXH-0000ps-7v; Thu, 11 Aug 2022 04:11:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384127.619401; Thu, 11 Aug 2022 04:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oLzXH-0000pl-3U; Thu, 11 Aug 2022 04:11:07 +0000
Received: by outflank-mailman (input) for mailman id 384127;
 Thu, 11 Aug 2022 04:11:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLzXF-0000pb-AY; Thu, 11 Aug 2022 04:11:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLzXF-0008Jw-9L; Thu, 11 Aug 2022 04:11:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oLzXE-0007dO-R2; Thu, 11 Aug 2022 04:11:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oLzXE-0007Y2-QZ; Thu, 11 Aug 2022 04:11:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UZou0B7lnlEsYl+LnJg4YgKD1sllI2q1Nz8tOaiN0q4=; b=PziHoH+hJ4E2aVpzExRIPjfxwU
	SieQQZRxPjYppdPoIFjHkZbnqHspk0SCMHgQEmD0GTOFXXXFO6D8qP/V0gkDHAnG/wwVEoktkf6+R
	/lImYwL5C59duJJGWkkVZo/p8yzgb4rzQ1gg1SM7Pw15ZJMvxJ9qhiBRjrzRLiOOrl0A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172373-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172373: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 04:11:04 +0000

flight 172373 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172373/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    6 days
Failing since        172151  2022-08-05 02:40:28 Z    6 days   59 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 06:12:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 06:12:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384139.619415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1QK-0004In-0C; Thu, 11 Aug 2022 06:12:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384139.619415; Thu, 11 Aug 2022 06:12:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1QJ-0004Ig-T2; Thu, 11 Aug 2022 06:12:03 +0000
Received: by outflank-mailman (input) for mailman id 384139;
 Thu, 11 Aug 2022 06:12:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM1QJ-0004Ia-AX
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 06:12:03 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2059.outbound.protection.outlook.com [40.107.104.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 82e3d015-193c-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 08:12:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB5050.eurprd04.prod.outlook.com (2603:10a6:10:22::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 06:11:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 06:11:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82e3d015-193c-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PlONxj1HYJlXRlbqD2MertzztKKBy4GwFOq9RKxXBbS+jHS/Ye+z0GHZRBuBcTMBkX7ZxRvrqPLLSX9aUNN+BRHGeHcNGhmMvAlbynI/yqp2FGCnyhTT/QbWn9JecHD9cIChGpkhxF0ePgm8nU2chQQCMW43gvdhH1aUO/Kam1ovqSgXgVIBhWVvr+ImAu133dlm9X2pOHXXNI8Yfc2h3iPNlroz7NhBiezIMhm4tWwoPi+QlfImjUZb713IgYEqqwmMIDoi5k5K8wk7zs939FE5rHjy3fDkOZbtPatMmB36Oub8FXjlpV+Ama8J0OFVD8UF3Z+7p4/zdQXzIinGuA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mrAKU4IAfpLkn38z4pni4TE6urqQ3AFd4nHtHnOkjko=;
 b=RXzTr9V10Lz0IlCChZwcK6JftTngms5sH7mei3WMpTd8GxgQxjolfXQNWuipML08Hf/ZVloRcuseyl0H4VSGzfCnN6VZGJUmS5HYDsVcFrnBoymFfvtE7JQBuK+BL9Q8tEOfhVIgnwAUo2z733P32Lmf8o0V7vhOjiW9FHi9EL4o8CcTeALpS4MK4nmwW95ptfxI4Ois2eMILfeokEoZuI77qhoExdk4I9ziVKji5LZwK0A/TOx2VzKHNz8f6ZKI6XGtUhMosew11s+ZaJqkJR+A8/ejV3MDBRtXidPLNLsghLQfr3xrIQxnO/PotSOVQamVpgWxDhEq91I6CGVLHw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mrAKU4IAfpLkn38z4pni4TE6urqQ3AFd4nHtHnOkjko=;
 b=mf4RkEjzWdT+OJZ42vh8POAk/n4XACcMzVpuhwCMgrx8xWDXT7LMKurUUqGNQFX7CNd4tN1od5R2A6J67CvfhBqp3EwIOfyz7ulzeuu1m2que6UkP1PyCm/0+DyWsrqOraTgE94Zx/g7ps9BBco+7YrKJGYZuE7gWKP1TqnPnEOnSkFD/WR5SazuUW9g2CT25c+GxpGnuvYIyD9uqhatGJhOMzIkrzc94Y3xsrZ5aA3FZjFhSszvXYgRNR4hZE+ioYOjZVoc8luFzwPyScu967ubON+qcFzWj9MW0M4A6wO+P1pWV//zoABKK3rlPx6lhQbgv6Sua9BsocXSHhNZMQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eb05c145-73c8-50ff-2ac5-3d767bce5acf@suse.com>
Date: Thu, 11 Aug 2022 08:11:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 02/11] x86emul: handle AVX512-FP16 insns encoded in 0f3a
 opcode map
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <b922b255-f8c6-725d-2290-2749c614fde0@suse.com>
 <b5040452-8b25-0363-25dd-b0fb67291a4b@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b5040452-8b25-0363-25dd-b0fb67291a4b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0095.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0d22dfcc-592d-49b0-245b-08da7b606617
X-MS-TrafficTypeDiagnostic: DB7PR04MB5050:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7VYkqO8Rt+rKLU750RBFsu6FYLb68X6/ZUkzpsnzmV36KUp7Q++gPN+glPnVOx1r/ogEFtkMLmatCO6VhITZgSrAQDBMmleym/XixsHlRiftKE2GnkkctL1U8oZtglNaiIBy7CF3mbCMmbcAeM+JTnFouLI5RAbJBKRjBYQKrJbrjD1z/fuXtOHIrHY0m3j1rAppiSH8Sy5/6kjMZsE38pNmOUAt7tw1DA9IV4E3M1iMhcKXvMACOeFqHp7W4AdD+W8GmnOsjxXnhmI1ulGx+TmL3C6dJYo+fKPRScTyX+tcbg0PfQMO4HW8wXn4Tg3PkTirRTqNoUytvxGsJubHoyeWcte6Q04+qQ4BDLN8plOVJsBSe3dM7Dl9kpB1HSdxQPAGUOEHuKCRGpaEoQ/GUiRD7Zej3Ox00T5fAmxEMTKNZfLa++6fEQ0whOasGIgrk8cQXVQdDelOMjC7tIfI0LEDoNMzEgATOdS27734EBtkDFCFf/U7XXCz+SPEPB9DsuCQobCN1Ny+XkPqnIPA+o8ChnxPIm8RHY09fnr57y9GeTJvHMmm6FBJ1Nq8Y7WLnnsMPaCsfJBmFg4u0dcLjvU2PKL463T9ZeDkv0Re2owEjQir0JT4irVzbQ5ad6x/c4CCDnevvvnXLqZKYu1ZLtOGW1ndGmV4olSZH0NNlrBye/9ucAnzA1Qj29HS5pGqQar3xhJoE2EN9Q4sFcr0e0KTE83EuP7rgYgm979nnFmREHQcn8Muba6oR6bwifeNJPNSYrdFrxrakuJ2TJKlQDXxBDFSgbu4qPh/s5x84kh94XJPXASlBl7xQNzy1pcvfZVbKH1x8DCOlS4DHRZ8ng==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(376002)(346002)(396003)(366004)(36756003)(86362001)(31696002)(41300700001)(478600001)(6506007)(26005)(6512007)(53546011)(2616005)(31686004)(186003)(6486002)(83380400001)(5660300002)(66946007)(4326008)(8676002)(66556008)(66476007)(316002)(6916009)(54906003)(38100700002)(2906002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q1AvdkZ2YmU0enhlS0lhS3FxWmNwRnZNOE1jSzllT1ZRN0dKY2RORWZNSGt4?=
 =?utf-8?B?YmVBQ3BTeDlGcEpOUUpLQ01XbS9odVJaK2lpVk9CbVhlSnl6UjZwaGdqL2J2?=
 =?utf-8?B?OHpwd2ZNMFlxY2pRN0MyVlZHWUI4VTVhdVVERWtaaW5seWxzVi9DNFpQK3lt?=
 =?utf-8?B?ZDJQMGt6ZGZ6WG5jSnJ1bGFpejk3eTdMdnhmekxoQ0xJMXpmbG5BY0h3WUZS?=
 =?utf-8?B?OWhQN1ZBY0tBRy8vTGhzelFRWHhwakdKVjRBTkV4UnhjMnpQZzV3UmdiMlV3?=
 =?utf-8?B?cHViTzFzTURBWmVXa0lCUCtXMks2bUxyNlpWWDh6ZnpqVEtCb1J2SllCOWZa?=
 =?utf-8?B?c3ZjWTJGeHd4VmY3NnBQRXZESjhkRFdiWHdqSm1HdHppS2MzNGozSFVRMUtO?=
 =?utf-8?B?VUllUTJrTnVTR1pVV3FsSXd5ZE5aVWhicyswVVIzT3NqclVicjF1dVJkSEx5?=
 =?utf-8?B?Sys1VENNZ1NxNFc0ZXhSd3FJZERkWGl6L2ZBRVVVdmJFZDFPd2VhVWNjOHAx?=
 =?utf-8?B?RTVNdEdIZk9uaUFGVmUrcEtNQm80eHhLcktoR1hRcWd3MWMwMlROZEw2M0xa?=
 =?utf-8?B?UnJmd0diRW1MU0xIR2t5QjY3UnJQQm1yU2dQQVRsc0pjdUkyZm4zWCtRL081?=
 =?utf-8?B?a0RTZUJwUC81THRTM3NRMnhMNVkrbXpOUzBsZldDRElqMzNTNzRrMDhUYytQ?=
 =?utf-8?B?TDc5bnVLTXJvTjVySWhxUEE2V1JSLzcvWkFZVHRKdFF3Q1BDRXdvUDNTOWJR?=
 =?utf-8?B?WVB4RDJyMzZKUk1wS1Rsci9XbkNTYlJjTVlYRng2UEhOQU9KZlQvTXI2eUll?=
 =?utf-8?B?QStzYVcrbXZrckJrN0cyRXhsNUU3d0hBZHJuSXlZajlsQldyVmQ3YnZKak1N?=
 =?utf-8?B?OGtocnV5V2Vkb01YMysvYUU2QjRwbXVYRXZCOGFtWGhqN0VKQTl4Mm11Kzdm?=
 =?utf-8?B?UmRiSU5nVjdTeE9OUHJYRTlyYjNMTjZRbVJ2QjNUVE1yVyt6M20vc3ZQL2Jx?=
 =?utf-8?B?Qm1nK1gvb3JLaHhIeDRHK05PSXNYWlowWTRuU0lsWC9jemlld2lDKytiWVY4?=
 =?utf-8?B?SHRsQ29UWVQ4bTlWY2EvVFlhd1haZ1VEU2c4cXg3cCtNMVR2M2VZQitaTFRn?=
 =?utf-8?B?V0tJYnVmYWtmdkJSRXpoZHlCMkR0UXZESWp4TjJoZGMvWjM0eTBzMkR6Mzg4?=
 =?utf-8?B?UU9PbVpZRjd1MklObTk4MlNrZDcvaXZ1Nmo0NVFGZ3RSWHJLWUt5UEszenpG?=
 =?utf-8?B?NjV6dXRONjQzand0emRtZDUwZEtMcGhiZVZ1ZXFEcEltTnlLa1lvQVU4ZHBp?=
 =?utf-8?B?L3Ftd0owN2xwNUpncWhxZXJQbjhGczBoR3BIKzFoSnh2UlZ1RW1ZNXdQOFhC?=
 =?utf-8?B?aEJuQWVYQWlOdFhIWkdZQ3lwalpQRmJKdnFSSVVPL1g2blZDQXAxSWhEWXlE?=
 =?utf-8?B?MWs3MnFKcWthMkNCeUNyUGJETVIzUWJVR2V6UXVTejVxTTFRZFZDUytOcndM?=
 =?utf-8?B?RmJNazh3S3JyTHBhK0xCSmFxb0R6SktBNXRFdnBtVkdyeGMwK0dyZlNhYkYv?=
 =?utf-8?B?eG0xL3YxdVAvMVJySzdva1Y5WnViMDdKOCtPWmRUZXJGcEoyMlpvWlhCVUEr?=
 =?utf-8?B?SjA1a3p1MUMyMTh4RnRrTnZkR0tsSG8vaWI3SUk0Y3ludHNzZVZDL2VSYlhm?=
 =?utf-8?B?VW1QWFhBUW83QTZhN3JpTlZiMW91RU53L3RvdVI0RHVUTVpBaEFMbWx1THpl?=
 =?utf-8?B?bGg3T1JmNTNRRzhmOW9STFEyVkc1a3p5T2Z2YW52OXdCQis1VkRrQXlmMnJy?=
 =?utf-8?B?Z20wL0RwMy9WMzUrTzUzdllIREhrNTB6cEVMYUxMVmYrSWxReDlLQmRoc242?=
 =?utf-8?B?WHBqS01rK0h1OVhvTHI5Y1lJZTlvSENFbnBZZVNmMnhRZ00zSHZVWFpsajB5?=
 =?utf-8?B?bGZ4T0kwR0xHdjBxcFY5c0xlZEh2R2Zvc1JFSE9yd082SW11SUVPeDFpYmcv?=
 =?utf-8?B?RkFBak5LU0U0OWJuN3d6Wks5OVhQaFFldU1HQkdYWWNtOGtlU3NydzVTTlZv?=
 =?utf-8?B?UERVbXByMG45S2xXUklTS250ZS9qRlNacmZpUjNuZ0x6QitDRUlpdjE2UTdN?=
 =?utf-8?Q?tnCm5EvroSKn2iPdF4MfWdPZy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d22dfcc-592d-49b0-245b-08da7b606617
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 06:11:58.7465
 (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: WhPF/VBVTQqQJrouAOztjYHwPB7Ick/q5P8SIyaS0f/uXcHv1hB3M28/E3NnUYbZpmvhvW+XjaGfeLajCQnV/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5050

On 10.08.2022 19:03, Andrew Cooper wrote:
> On 15/06/2022 11:27, Jan Beulich wrote:
>> In order to re-use (also in subsequent patches) existing code and tables
>> as much as possible, simply introduce a new boolean field in emulator
>> state indicating whether an insn is one with a half-precision source.
>> Everything else then follows "naturally".
> 
> This is slightly misleading.Â  What you mean is it has an FP16 source, I
> think?
> 
> There are non-FP16 instructions which have half-precision inputs, like
> the F16C group.

I don't see the difference - both use the same floating point format.
Whether you call it FP16 or half-precision is imo secondary. In fact the
new boolean might be usable for the F16C insns as well, if we wanted to.

>> --- a/tools/tests/x86_emulator/x86-emulate.h
>> +++ b/tools/tests/x86_emulator/x86-emulate.h
>> @@ -182,6 +182,7 @@ void wrpkru(unsigned int val);
>>  #define cpu_has_avx512_4fmaps (cp.feat.avx512_4fmaps && xcr0_mask(0xe6))
>>  #define cpu_has_avx512_vp2intersect (cp.feat.avx512_vp2intersect && xcr0_mask(0xe6))
>>  #define cpu_has_serialize  cp.feat.serialize
>> +#define cpu_has_avx512_fp16 (cp.feat.avx512_fp16 && xcr0_mask(0xe6))
>>  #define cpu_has_avx_vnni   (cp.feat.avx_vnni && xcr0_mask(6))
>>  #define cpu_has_avx512_bf16 (cp.feat.avx512_bf16 && xcr0_mask(0xe6))
>>  
>> --- a/xen/arch/x86/x86_emulate/decode.c
>> +++ b/xen/arch/x86/x86_emulate/decode.c
>> @@ -518,6 +518,7 @@ static const struct ext0f3a_table {
>>      [0x7a ... 0x7b] = { .simd_size = simd_scalar_opc, .four_op = 1 },
>>      [0x7c ... 0x7d] = { .simd_size = simd_packed_fp, .four_op = 1 },
>>      [0x7e ... 0x7f] = { .simd_size = simd_scalar_opc, .four_op = 1 },
>> +    [0xc2] = { .simd_size = simd_any_fp, .d8s = d8s_vl },
> 
> This is a new instruction, isn't it?

Well, its the analogue of the space-0F encoded VCMPP{S,D} with the same
major opcode. I have to admit that it's unclear to me why you're asking.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 06:17:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 06:17:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384148.619428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1Vm-0004ww-Kt; Thu, 11 Aug 2022 06:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384148.619428; Thu, 11 Aug 2022 06:17:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1Vm-0004wp-I6; Thu, 11 Aug 2022 06:17:42 +0000
Received: by outflank-mailman (input) for mailman id 384148;
 Thu, 11 Aug 2022 06:17:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM1Vl-0004wi-95
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 06:17:41 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50066.outbound.protection.outlook.com [40.107.5.66])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d41e808-193d-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 08:17:40 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8590.eurprd04.prod.outlook.com (2603:10a6:102:219::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 06:17:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 06:17:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d41e808-193d-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JFfxjRZmrplYfR3emNxbaYMh6Gxm5+lAp1Mtg1zjXJOimuXkEQ6fUMVsqN1+e8lL3WFVzBM7pJyp6tkv0lioacQdZUULWyHNJwB4FQYs+dKskeLokjN7/9cKa8TMRPk87iJHTfFRBYDSlBuYycXOwKKwTFY60gGBirLJBc6UpfA7cxkNDryiJyCM+RP03RtPBLDb+IbLGQ+7RxgjdEUJRD+wRUgD71cclfRWxOfhVYT8WEnBVM/B3mhCdkr9/HgsnxWqPRrqww18GoXpuc/gmv7rIn8ETFmStkIxlfwfFUiQju7VYbGUuQNafla/xNcGi2myOLsMYI3UF+87ZHal1w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nDPgYLchmXejmk6IwI4ANwZAwXgkwnGeHSKr3HPchTI=;
 b=nCy/ZF8M83xvr4zNhWCSUXizGS/404JXGhWDImN7IJu7EB8SEkvKbb5Mj4L1xxS4qY2O/hepUUy+2Nvf3EQlFt4RkACMq0+9ym2a6F2sYVFKEb7REkX8IV3Uxg6hOUWrz2vnqz2EyXRyf+4NcMsGV5LLUWIlhpcbdYYR5UENURRP1+P4tDscpPJd6LGOzAlmFNXltqtj6YdFsYLOK/Y1FNCn0LX1XAyGQrTLoc96/2w/vL3ZXBoWYgmGVWZF/wF3rT76mIlOmtAxl2ZIeND0ABFLsdb22cdB5lAS7ACyOlzDBPFxkm0rBJS95Zzgqh8rVUyVMOgVbQ61Sg7Iiiu3iQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nDPgYLchmXejmk6IwI4ANwZAwXgkwnGeHSKr3HPchTI=;
 b=fui3nUc4qAbVWYMmEMO0YditJ9ZUSBihWoCYQzghTjOmP83YoNcObZaHAox91uuEWCOk4gCb9I8kcpZG03Ka3spR0q2s/GBIMHnsAejpZlAh8HZdNa5vGf2YGvP4iYK/haTg8+pM5Arw6EeCykjYPjO6rupH/zKbD/cP5DemfDSFMCehqh7gwY/qY+25Wk/gglB2WVY2+53eQNoI4jrKQVgXMN2r0EJ9JHmhyNbRhU0hlDh4MpDPuwdWsMQNPeFG/DCGT7+rEvpFjzOVimd/TUaxlamA+lhOpBJzHs9l4V6e4w48E+U/KF/2Sih6KQ56m4IhHnIERHbk5PLMYJ2HKw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3071efd0-b120-9c32-653a-465a53003a41@suse.com>
Date: Thu, 11 Aug 2022 08:17:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 04/11] x86emul: handle AVX512-FP16 move insns
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <3e7f95f0-fded-74e3-d4b5-da185a7ab8d8@suse.com>
 <46162a8c-d670-d207-d48a-3505e40a9aec@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <46162a8c-d670-d207-d48a-3505e40a9aec@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ee54232b-0cce-4001-efb6-08da7b613059
X-MS-TrafficTypeDiagnostic: PAXPR04MB8590:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Pirj1d1LObYv9ow4vdAtjdT9V93HNL5ev08cIOVJuVtTx0omrwXWY9wzT5ja3X4jEKXlV/Qk5NuCpT6UMX5YAcE16gJsOOp1VklsmFlqn6BS1JTH67zR5rIguw7PqzylBmnEeEZST1rPh+i9uLs+vgazhEMWnelOK3pQNRAelsrIwhEk96MdphaCsuc6nypNf+dFH/BNheNNxT9yar/MUtW7mjHjzXq0kTqNVp0ySKipmuOSYMZ1/NNI/5nRlX+NVKw8s+ucDlRC9TghVfiBPuprLJp8nW1dvZcxUdM2W21WRBO7pmr3zTTV6pZzzM7KDAtp40Te5hk32xPzCxk09ePmWVcG4RuqwxZpiOEudq76QHUsPbXEACnM5Ja5iTIhbZ+L/ng/MdxK/3XG/EVy3Tn41FW+6JAH8K2cC4q6KB6DZCVmNQdTJ5+J3P5BSEG7QA2Qzd0Spb3Z2ka+d7pCQDrchoDGLBxI7vN6d5l+D9OcTfmmSRIGhxJwwzT/b4LJ2j1djKDLCcE6XMb9MvjdB6hBblFYM1VrT5Ce2junumWA1bb2/M3FSS5Hg2MZa1dmQwMnL/MYr6C1GD7y8/R1hxsEj58Onewx+OkY9xHCZthx2B6Nk7NNSAY8Ndu1HSe6uGZFyxxsD20Q4De0UuGXtGcUmpVxjfQrDkUFewSZO+//pi51aExs0i7ciY5Wa6MWlqK88AZ+kJK6VKJaUElhEXZAS+o07dcKxgw0D2FvCwZyYrzqhHpXidyn5Jdi1QYQe3bbkaTT3teADvm52F4+gScwqppTIYCCkrVX5MpUa9ouyXNncq/Qjl3AkylDuCWrEJbaGwEqwvFOyv62FOvzfw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(376002)(346002)(396003)(366004)(36756003)(86362001)(31696002)(41300700001)(478600001)(6506007)(26005)(6512007)(53546011)(2616005)(31686004)(186003)(6486002)(5660300002)(66946007)(4326008)(8676002)(66556008)(66476007)(316002)(6916009)(54906003)(38100700002)(2906002)(4744005)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEZPL3ZvMEtRWUt0L2J2cE9UOG5NU2Z2QmFhMWRPbldCN0F5Wmg3YlJweVg4?=
 =?utf-8?B?Q3lic1BVMjhlMDl6WDkyMG8ycDlVQjN1SDhUSlNYT0FwWHNZc2lNLzVPMzI0?=
 =?utf-8?B?cm5KcmRWK1lOZjVPa25mZllINUZ3RVFUTlRVMDNxa3RiVko1S1RuQ29tM24v?=
 =?utf-8?B?cHZDTVlqRnAxTDI2ZzdZbnZwTkVLWlpGbzh3U09YcXdDQm0xeHJDa0Z5Uk5Z?=
 =?utf-8?B?QzdLSkRKZzdQTVdEcC9INjNMMG5UZG9kUFFyRExtMkw0LzhnRnY3MWFYNm92?=
 =?utf-8?B?ZGdDWTQ1cnlnbkVhcGZ1Kyt3dTh4SHVzT0dJV0phT3BBbnJ2OWdPOGhzby9E?=
 =?utf-8?B?REFkcHFkSWVsU09sbFU1WnNJN2JXdWtZdG5xVEVVQUdOMHhQWHk1TmRYVlR6?=
 =?utf-8?B?d241QkRpK2JYYWhSckc3MGVCUitDV09jV1RCa1FldGt5S3RRMFVJT25PTkEx?=
 =?utf-8?B?cER3UXQwVjlFNnE2WlF3RGVqMFZyVlRsU1owaWx4ZUwzbGM4YTBPU1huSVhh?=
 =?utf-8?B?Wi91bGN5SVEwU0xReUtMa0FPYmZLSHhGOFBJMndUOEFVRVZSVUx6dlRUeitT?=
 =?utf-8?B?YUJiTi81S243blVFdmtFWVlIZGQvT0RVaWtWbDgrUG94aWhNUCtRSFBmUDhM?=
 =?utf-8?B?QlNJNkdnTGVEck9GbXV4aDI0REdVWGVOZnZHTVdvdWdvM0psZDBnVlRQQUYy?=
 =?utf-8?B?dWpqaUtYcEw3UGhkZXpxQzdsRmlkVjN4alBXQUJEajkwTmhjQVBuQXNTNVhM?=
 =?utf-8?B?S0xRa3pmN0JkNlFib29mZzRzdm9lWnpZS0ZzQ1RoTW55UHJJZkROVXg4TEo2?=
 =?utf-8?B?YU9lM0c1UndTMWQ5Yk9TZCtWNmlETmVUbHdRMTNzaEF2N0hyS0hmdVJwbFRJ?=
 =?utf-8?B?bUNlaGk1MituSHNjT0lZVVZDL1BtQUU4Y3B2QWZsYW1IM2ducE4wUk5qeWw4?=
 =?utf-8?B?Y25CYTByQ29vbGY3WXRDRUMvR1pwdmJ2R0FCdGFCREpZRG9yTElLMDlhZnRJ?=
 =?utf-8?B?T1c3QisyRWJHREhNL2RpWFF2LytObnRzY3NPL0wwc0QzUjhPQUs3cWEzSUJU?=
 =?utf-8?B?Wis2dmkydytGaFU0azJ4RE8yOUdmc0U1eTk1K3dpVko4TWQrQXN3VHJtR3J3?=
 =?utf-8?B?VlUrUE55LzVocE5hdC91WTZqblJybzNwbHdaUWJ4c29tb0dacWY4N01TMFJH?=
 =?utf-8?B?Ylp1djFpV0o0QXVDSngzUW9jeWcvdlF4NlZkdmhXajNrU1pNY0lvSkxvbi9h?=
 =?utf-8?B?cFR1S0R2QUxpWU0xMnIrajhJQ0QvYzF1TlU3bXZPUVg4VjNiQ0Q5Rll6Z3Jm?=
 =?utf-8?B?bFNteCs3dS9GZGpWL0ZoenVjMzA5WmpuLzRheml4ZTZQSjBGS1plMHRNaUJv?=
 =?utf-8?B?OTBWTDgyVHEzbGU3cENZQjZPTnFIOGsyN01HZ0tBV3RPNGRiWnAveGJ0WXVN?=
 =?utf-8?B?V2k4clBNUWxud01VS3kyU2hQS1pOS2xhK1FydWNCVHN6SUdHdElWZGdNSVUz?=
 =?utf-8?B?TDdYamNkalRlN2xOaUxDOFhCL3BYaFdYZ3pWU2I4dy9RRkVvRG1DellXY2ky?=
 =?utf-8?B?WGl6L3lkQ2VtenMxdlRZUmJ4YTZWNjYzQi8reTdtQzRVbGRRN0d6c3JUWDl4?=
 =?utf-8?B?OGpCYWJMU3h0Wi9XYTlaRU1KVDNPSUh1Rk9GZHZENXJJa2hocG9tSGdsMDVw?=
 =?utf-8?B?N3BHcjFxbnJITEpFN0hvUk1hNEN3cnBMNDFnR3ltc3lYNWJwOUhYNzF2Z2py?=
 =?utf-8?B?dDBYK29QZTlNcFU3dE1RUzZoUVd5TzQvMXQ4NXZlR1JnbTJ0dmhqeGVKRG1W?=
 =?utf-8?B?aUZ0b0RHVEIyUGg4a3I0TXp4ZnZTSHE4RWFsOS9paDR4OG9VVXNuRk82TEo0?=
 =?utf-8?B?b1JSNXZsMHFYY1lrdFJwTTVCdUxJZkZtSE9SeTNLTnZMTG5nTzk1aSs3RUdR?=
 =?utf-8?B?U1RuRURWa0E4TU1OMXVxVlF3aG5JYXpabzlWQWREdzRsSlhPRjNXWXFnZ0RB?=
 =?utf-8?B?WDhPRnNkdjlHQmFEN2xsVUx2MjZtUjA1Vi9wY3NxNWNOVzUreWlrMzBjeG1k?=
 =?utf-8?B?SkV3ZzcrQTREY1cxMHd5cHdWSWwyckJPWmZlV3YzaGY5QWs4SEEvTExDVmpD?=
 =?utf-8?Q?98SJXvpkBwQVv0a9mmbp19uA+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee54232b-0cce-4001-efb6-08da7b613059
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 06:17:38.0841
 (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: vT7BT0MkXIfxhVTJjqzgGsIQ1ba/WKE1BLk3Z57fzQHOAaPFdP42UsmCCG9M2J0t70YG16Rij0ixU7zdKZTcWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8590

On 10.08.2022 20:04, Andrew Cooper wrote:
> On 15/06/2022 11:28, Jan Beulich wrote:
>> --- a/xen/arch/x86/x86_emulate/decode.c
>> +++ b/xen/arch/x86/x86_emulate/decode.c
>> @@ -585,7 +585,7 @@ static unsigned int decode_disp8scale(en
>>          break;
>>  
>>      case d8s_dq64:
>> -        return 2 + (s->op_bytes == 8);
>> +        return 1 + !s->fp16 + (s->op_bytes == 8);
>>      }
> 
> This hunk looks like it wants to be in a previous patch?

No, why? It's VMOVW which first needs it (d8s_dq64 isn't really used
very much). I could have put _all_ such adjustments in a single prereq
patch, but it seemed better to me to make such changes at the point
where they're actually first needed, to make the connection with why
the change is needed in the first place.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 06:29:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 06:29:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384156.619440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1gt-0006Rw-LI; Thu, 11 Aug 2022 06:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384156.619440; Thu, 11 Aug 2022 06:29:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1gt-0006Rp-HS; Thu, 11 Aug 2022 06:29:11 +0000
Received: by outflank-mailman (input) for mailman id 384156;
 Thu, 11 Aug 2022 06:29:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM1gs-0006Rj-6D
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 06:29:10 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10089.outbound.protection.outlook.com [40.107.1.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7e847e3-193e-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 08:29:09 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8054.eurprd04.prod.outlook.com (2603:10a6:20b:2a8::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 06:29:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 06:29:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7e847e3-193e-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DvSsbKJz22eCETtWL24JfAvvcSxyOk8JL4kGlsKcuJ+OByQKuXVc72uhNzSnKKchKxTsEGn9KAHFdST1Wa/eknn2Lvn8IM/mo5sEgNAh7/O1TYNZv8Fmbu37bsxyiUOgOtO/+CdflNWDIV2OAzIULdeqoMKeXcUXrHW7pPGXd4SdCUCLRIQdD4TlFTiKd3ylvRfOJu53Ryc9sZ3V+Ckgb7UMBl1LGIsRwK9sH63x35/JNmSs22+2fKavFQ85g3oTajRhtgzVuKTCohQj3iaZRhZ6+b/CpLZWaYESZIeQHepRQl8PSU4pRw/56DLVhwn8c7cWCnuqDtivtY75fgWg4A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PD97G3tW43BeWkpMob9C62GObN0nHLY5MA10bLLyhik=;
 b=oBJqSFxEaAd5N9Vgnf/gHyYJZMQQijv/5kHt+KiIb6q9/hTJ29+UwW6IZaD5crOEiQI+q+rrCxhkNB0DXFcmtBKNtml+MvemPkfokohFGMmucy7NpOzixJMt0KUpeLNknHjUQoBXUEURA50gw4IeixoqB3u7OAAb13V8+f+kUmar3herSHEWMjMtfELiYTubUR5+smHaOEJ6Jz/uX4AR/k9q17ZdgDYqZgjLX4iPcOge0NgDLg8Gt1HzosGGOmrYkeHOEiRIJWPZJGltDh8XLSIqDF3u5Byp3zXMO/n0b4cmW5U87uFO6naMLw+hqCsGmkUjWF5PYjjsmeQYqPj4dw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PD97G3tW43BeWkpMob9C62GObN0nHLY5MA10bLLyhik=;
 b=WaglYbvpgXMKoZDaG66SaYjtV09Uoyc8ltoS5Nw/eAuwSG8qv3YR8zRclxv6mCAvwyH4ZkVKjNYKns61Ht2VreAOtWUw+J5lA2Gz/kQhH1q0q2ym8XhuLEKFDhMGUA95/q+yC6ACd4T1mjiM3SvO/RzpNvDLWL0MuvJbVWj31utL87iP9rvJd3Sh1UJIRInzxPzKkuZG9B/7KA3z6IFcZjHQbDZMP2CjsBj2GWAZuSALsvosoRsiaQNfgjysVjimIR8yE54Mc4SgNjIBPCwSg/oFVCSdX9hJ+rvlU+t9Z2tKwXTiJXil7e65ArVdL2Uz34hSeJQwmNNPwT9f/Pcv3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <739b0c8f-b167-259f-6ea2-46bf6ecf691d@suse.com>
Date: Thu, 11 Aug 2022 08:29:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 05/11] x86emul: handle AVX512-FP16 fma-like insns
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <36fadb47-32a2-b06e-4cd3-218635ef8aeb@suse.com>
 <f6ced614-4ade-8993-bcb2-1ea5a0378080@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f6ced614-4ade-8993-bcb2-1ea5a0378080@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0128.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 48694516-e298-4605-42e0-08da7b62ca59
X-MS-TrafficTypeDiagnostic: AS8PR04MB8054:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5qXHOmGsCT6uk8ooghuGHl+4sYbXskkv0XcnPNFY/dFKAtFNOXGyy2UfWvi/adFGU1wfSdO3hWvlWyee69PfikI34j/zkS0Sl1MOoXjrOLuR1inxR9ygmZC+YziZMNbQlOQGKPTIposB6Wlj9HAFYyVlncCb81EdTqqVkIVlswyPdwHeGwuh24MuebvjOsVG2QxVlKb61SAKqobIIM/r4+qv5vdgWci5rOoEJKuVnLN50paMW8HImgvkvXDdaKizlADAtmNi6mFutecr8m0vEjhX6pkRBAQmAeCqKyHEkjhUtWvStwHuMTW7+zuYxcWx0t0YmaLzXSjEcgo+GMzF4M7AvcI2zsw0fhczcbJriKyPpX1RH/a5BBWGDU65Z77mrw5W2BwRer+a8B7VN56qTuyuMC7vxgMBfo0Pl5faqwlOgLBb+YcVBLmY/RZBnd/OumpWFaFyVdgD3nmy7oorSA8kui9gkezUy/EZM+cDlj2Ajs7Hh1iPFvC/Y/SCJxHv7+LABxiAAZ918MuDD4sMgLqWVGI9d1PZOxLYsqml3RGJRQe7GVWlbmZW57ux0WqvLtZl80foW4GmLiScwBTgQ5gTiplZy+19VDfCyUuZ/oqoBalhvJBGL73T9Q7gBxT/q97KhBbWQjDRa3DgL7a6ZZmd6JYFVd64X8vF3hISfdRbJtO8kH96FIsg5YCMzLR38gI4YLixE0btgqDsj7PvJn/L6xMQxOfzn4tY8jh1HsJ9RUrW+IVwqTlFIBrPIvgF6rs5gnK6Y9t0OQjJ5YLB4FV3IERaO5oT6TnxrxLEMPrFGEHHg9SXGzRV0ZPkCQUrnP4BcgT/VdQ1IYIAXTV2MA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(366004)(136003)(396003)(346002)(39860400002)(66556008)(66476007)(4326008)(66946007)(8676002)(316002)(54906003)(6916009)(31696002)(26005)(186003)(86362001)(478600001)(5660300002)(2616005)(6512007)(6486002)(6506007)(8936002)(53546011)(41300700001)(2906002)(38100700002)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eXZLUkxBcUtCMUVnaVpVSW4rN29MUTlVVjRKK2dPSVR5RXgzbzFhalVIZC9k?=
 =?utf-8?B?ekJudFRmYzB3Tm9yWHlzZ1RHUmM2Nklyd0EwNzBWL0dubTBzaklQOHpHUnRz?=
 =?utf-8?B?VUNuQnRzcDFTTnU0TVgxc0Q1dHI3dlRUcEtmdTZFVncybVdDM0lJYUNkdjZr?=
 =?utf-8?B?K2NtbkY3TG1idHJ6Q0lOQU5XVnJSazgrMXNKT2JERDBXVW4zTmxEalVIUTV4?=
 =?utf-8?B?SjFTWTJWNzNmSVhGZzhhVDRHWFdXc2YyRnJ3bXNxWFZNTnBaOVpaTFJYRE9L?=
 =?utf-8?B?cmNDRFYwTWxrSFhIVldEaHFXNDJmMm9uSU5rYUZDVytxemY4RStIOVFlMERO?=
 =?utf-8?B?bkgrZnpZeGthbHMwV0pCTG9oMFZVOE5TSVlOT0xxbC82Y1VoODhoN0czWVpo?=
 =?utf-8?B?VW1ZR01HeFBuTTVQYkQ0Ylhrb2pWa2VhME5DckRCd1JnbVp0TVJkUncycjJC?=
 =?utf-8?B?Q1NyY05zNUZqVTVCbk9mYkYycFZKU2lzdGx4WllnYndZSG9lZVNCTWdXMnRC?=
 =?utf-8?B?dUdpSUV3RHJ4OGdpSERjdVl6T3pwc2NzSEI5c3VHcDRLUFdZNTVydTB3cWdM?=
 =?utf-8?B?SGJqeDE4TkZBK3JWMmhWV2VTNTc4eUdIdGRidWFQdmIwMjZaV3dFZnhXMFdT?=
 =?utf-8?B?Sis4RDd2VWZ5QXE3TENoaXBFd29aWWIxK01pbWhaUzBuSDFPcTg2ejQrcVZB?=
 =?utf-8?B?Z2xqM0d1M2E3dTJwNkU0T3RDTDZjblJVQzJDK0NMOG9xcUs2NjFESTFJWHUx?=
 =?utf-8?B?ajNSRjBjMDVyNWxkUW1GNHJDUWpwSkptdDE1OC9uaC84bVlpdTh2NjdRdDFP?=
 =?utf-8?B?cm9XWDFNNzVPc0FhRnJSR3AwV1lQN0ZQanJ0VEZCNzZTTHZEUkYvcHBzUmFn?=
 =?utf-8?B?ZXNhL2YxSWR0Z3Q1VnIxMzZCNmpNaG5ZR3kvYnNzZDdrT2kvMW43Z3BYdEsv?=
 =?utf-8?B?NVcycjRIOGcwMU50TWpHaVZoR3hzWURDenMvU2lZSy9sYUgzY2o2cm1GdHZM?=
 =?utf-8?B?eDdsM3dYa0s0SXMvTFZjZzBXdWtQbUJaQzY0WUNBZWNWMElmMkhCTHF3UlNI?=
 =?utf-8?B?MXFhTldnTEQvTmV5K2t6SXVYSHNpbjJrTmxXVklTeTBoWUphUXdhWWFLYXFF?=
 =?utf-8?B?RmRNWEs4ME9LTVlnVFlOZjQvWDZrdWZzRERHY01TcXlLVktmbmdUUXlGbkNV?=
 =?utf-8?B?TEhXZUorV0VJWDRLMzV4eCtTVEFicVUwVGdjY1ppK3dzTnFheXVJTzZ3cHpi?=
 =?utf-8?B?alhLV2JreXRMTjdQcE5wZFgySFhZQ0ZGci9UNzIvQjNkZ1JQNVovWlQyRmZY?=
 =?utf-8?B?dzdUT0JFRnVLQm9GWnozR2d1TlVuQVVjRTJ0SW4rcnZLV2NKdVMxYUZxUkxL?=
 =?utf-8?B?dGliRGpqaXVYcXcrS3VaQlY4a1RraitnR3ZwZjMrN2tnWiswVlExUDBKd1dO?=
 =?utf-8?B?OVQyZWV3L1VYdGNtbHdFMFJvUHlncm8rQmZyMkx6ZHN1SVpoc1RFcnJqcWRw?=
 =?utf-8?B?NDhjc3o5T1lVUW90ZGRCU0EzQk5nK1lLSmVrdm9UY25FaEt6VlNrS2o2TllK?=
 =?utf-8?B?VkdOM0xaRUFCUVFRV2NwY0RFRFdsSzAzY0Q2T3FqWnB5N2JNSUtwL1ZQb1BU?=
 =?utf-8?B?SnRBSjlBRjRVbDlrVUppTmtIK2c1djVyb1dtQ3BKZVJBZXdOamtObG0zWThG?=
 =?utf-8?B?NlVwNmlFemJzMlRHK0ZKbU5DTnFSY2JjdUVFeTlrdnNoN2pMRXRHcmtxN1dp?=
 =?utf-8?B?R1JKNWF5dGRpU3lSd04vVGd5QVNjc0Fia1NxOHMxazJvOG4wNU1Cb0RHVlh2?=
 =?utf-8?B?b2QxVzhqRlNuT2Z3T1lwbGg1a1FwZmt3WXBMNG1WbDdRVkhUOHdLanh0NE14?=
 =?utf-8?B?dFN0cHFMQWVPd1FpcERwbUp6MEF5NlFJaU8vQklSTlNwL2JuVTYwOVVVZnpJ?=
 =?utf-8?B?RHNSV1M5dFcyM0VTTEc1b20rdVJPeEF3ZVFuUTJ4REdUbmRrMnJpVS9MUkZ2?=
 =?utf-8?B?THAzZ3Q2elRTMEl0V3lZUTRCQlBJb2IyTm1RdmMxMDJoY3ZqUVI2TGJXbC9n?=
 =?utf-8?B?aVBkdFFOSzliejlTcjAvZ055Y0NDQXRkNy9FUDRGQjUzRnFCc0lXVzl2RmdE?=
 =?utf-8?Q?jua8g/WPaMhryNNzlihgV1fcq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48694516-e298-4605-42e0-08da7b62ca59
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 06:29:05.9299
 (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: 5cZpal2d0P7l0xyeQ/vre9f9r6zG3R8t/HCo63CwxZ3FBlTszTRKUQ1ZC9NWXQoGADr9MUMDuh4XQmOB91fVBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8054

On 10.08.2022 20:14, Andrew Cooper wrote:
> On 15/06/2022 11:28, Jan Beulich wrote:
>> The Map6 encoding space is a very sparse clone of the "0f38" one. Once
>> again re-use that table, as the entries corresponding to invalid opcodes
>> in Map6 are simply benign with simd_size forced to other than simd_none
>> (preventing undue memory reads in SrcMem handling early in
>> x86_emulate()).
> 
> Again, this needs communicating in the code.
> 
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/x86_emulate/decode.c
>> +++ b/xen/arch/x86/x86_emulate/decode.c
>> @@ -1231,6 +1231,16 @@ int x86emul_decode(struct x86_emulate_st
>>                          d = twobyte_table[b].desc;
>>                          s->simd_size = twobyte_table[b].size ?: simd_other;
>>                          break;
>> +
>> +                    case evex_map6:
>> +                        if ( !evex_encoded() )
>> +                        {
>> +                            rc = X86EMUL_UNRECOGNIZED;
>> +                            goto done;
>> +                        }
>> +                        opcode |= MASK_INSR(6, X86EMUL_OPC_EXT_MASK);
>> +                        d = twobyte_table[0x38].desc;
> 
> So the manual says that map spaces 2, 3, 5 and 6 are regular maps (insn
> length doesn't depend on the opcode byte), with map 3 being the only one
> which takes an imm byte.
> 
> I think this means that SrcImm and SrcImmByte will cause x86_decode() to
> get the wrong instruction length.

What SrcImm / SrcImmByte are you talking about here? This twobyte_table[]
entry doesn't have such.

>> @@ -1479,6 +1489,24 @@ int x86emul_decode(struct x86_emulate_st
>>              disp8scale = decode_disp8scale(twobyte_table[b].d8s, s);
>>              break;
>>  
>> +        case ext_map6:
>> +            d = ext0f38_table[b].to_mem ? DstMem | SrcReg
>> +                                        : DstReg | SrcMem;
>> +            if ( ext0f38_table[b].two_op )
>> +                d |= TwoOp;
> 
> ... but here we discard the table desc and construct it from first
> principles.
> 
> Why are we processing it twice?

First of all this follows pre-existing code, where 0F38 is handled in a
similar manner. The primary reason for the two step approach though is
that we want to pick up the ModRM flag here, which the other table
doesn't have. Instead other tables might use its aliases (vSIB only for
now, which - yes - doesn't have a use yet in Map6, but this might
change going forward).

I also wonder why you comment on this here, but you didn't for patch 3,
where you've only asked that I add comments (which of course I will do).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 06:34:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 06:34:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384165.619451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1le-0007vE-B3; Thu, 11 Aug 2022 06:34:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384165.619451; Thu, 11 Aug 2022 06:34:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1le-0007v7-8C; Thu, 11 Aug 2022 06:34:06 +0000
Received: by outflank-mailman (input) for mailman id 384165;
 Thu, 11 Aug 2022 06:34:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM1lc-0007uh-AK
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 06:34:04 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2067.outbound.protection.outlook.com [40.107.20.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9760bb05-193f-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 08:34:03 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB8043.eurprd04.prod.outlook.com (2603:10a6:10:1e7::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Thu, 11 Aug
 2022 06:34:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 06:34:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9760bb05-193f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jYarP3jHLAV0qcrZBAWX4KaCZumzRQcVRkoikrVy0CfrRGeTFMsXyYfFATbwVvvAL2fNGoJ4ihPUZlUH8wIDtsWSCA5ETytLM2USxR4yrKnyq8Mo6Bw0Ahf4WpBH82HE7cU04rZ1GfksupHLvRxFsVBbQdbg9uygYYbRGJ5T/Ca+AEUWOmpq6giHzuUiFMfzlCWjgfp+CgsUYVi9QinfoL7m1NWdARKyrMuEUfkTzNGJZp/zqpAwBH+NPw1JqOWMhgt5WFEekBG5R3WBS5/XNdcXMCpPeUUjuhpJ3g0JmJe8Mktukx3DLNpm69rtoaCTmqmc6hD/SiCuKt37y1GBXw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G7jJ+P82HsC43H2tehMpBIbZLspeOZBz755EeWgzy0o=;
 b=CORt00xSONAieirTEfJ/tWrA/tWMrjCJwinT2VOi1oazClxKpFF8xZBCl02fuCVKLPjo9nArpB5egYieOIUtMtPNHQf2CuCu12sTKrgr7QaPVIoHY3SOiapwu700MiiiDcqjidbuQG2vHiMfzD+eebdrzZ31MInoSHAzwN16uqgWdUIwpVaqirp6VFie1gynyNCZSX08Skm/1MjUKwyhp8hboTYGur12je/NfqZvm7lMtagfQOumE2KCemu8kJcFvDegFaZLxRKhODH1fqQ6ueYLYSwAn0f70PKsqRv+NayX2pCvl7wxy/yMmE39Xo3DGz+5YZml4m20Own/C388QQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G7jJ+P82HsC43H2tehMpBIbZLspeOZBz755EeWgzy0o=;
 b=5ecToddr+lVRANtoj1EPmG3KSttY3R3Vvx+dQA9trWp0/XoxUU4wjbESvxM+TZAtrFu8ELeOJjNT1GyHviHaJHekYfarZzKzuSP+1htu9171Go1sQ/TzSF1xTCdCFy97OnGyemm5wLaruUJwnU/PhvXJ7UJq4WD5C1f1vXLd/8uQI7AffSKEsHl4oerMrfCYVdaPYY/wtCCN0DOpjmlA00w6N4REgdEtFV2vgdfgFBUlzsM77azg7koP8qjztNnldyZcnjzOKCPUD9B9UyL7j9pjJ18X6Eds94fBYYpcV10dQAdxTxZtk9IkyoGir2OKSI6AW81b7Vy1+BqiFUvaEg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ed928e9e-d8a3-9631-2a0d-0fb4d3868f31@suse.com>
Date: Thu, 11 Aug 2022 08:33:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 08/11] x86emul: handle AVX512-FP16 conversion to/from
 (packed) int16 insns
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <5c77cdba-fac9-d82b-9d68-40f8b4f82d66@suse.com>
 <b2c51a01-6c25-7893-f822-854f378755bc@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b2c51a01-6c25-7893-f822-854f378755bc@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ea53e2d5-563e-48f8-cc69-08da7b637aba
X-MS-TrafficTypeDiagnostic: DBBPR04MB8043:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vpg0bTN/nYOV46FHMUyJeMaNR9dszD+hbwkf+qpBnhtigy2UXAe5H75NKUkbQQOANxEB+BcDcx3N5/ALOwpB5I/NBqH09S9kHTGHIikWmjyB4ey33QSat0THv54AJdyuHzWINxM8EuVmjIb2UQoUXWgcHpGVyxss3mHSEOxuCFjWKLSZK6JATK0ZMQpE+03wWL+aMPfICxFfSLDhbSo30/QcmwJGNn5PVTHaIKKcnDxXjBLsduxpbTBjfqRhIw88kYzGZG573mot013RbpetiXXVVXgtnbXMNw9FraEjvkPaK7MNLvem2Ai/WQNiAN4N4zxsymUl32H6XCCzCQ4xbK+vZtNPY12EMxc6VRx7/JrhkSGwk5sfGx94PmC+wehCayPsmtx4Mjwict+W5JvaepRDHDMQkf2cUU1zUSN6iqB8QUIs6c0HNjvPAu84D2fxNauLH8XXfYF+eMlSXfekmkS036HPFYjQzvrRTx3yURtX8K8MlqZKI9sjmEbW0g5692ComGHTSY/n+4oAnU9B5BY1tId5zes0o4PDPi1rUCEqaMhqHhvlEfRLt9SymNYW64D0bqurcLx2fzeQM01xM83OjNWvoi3BhIchu6kgjLN2GzfdgKCNJmEH+d4C65D2FAQrW7AuY/wQ1GfKacntWyGTXED3rCCwmE01FljKTUDKS70cMSwTPUSwgJf8ZTCowTM5ac2M81BJUMLRCtmkX5ZZd7nobr9wuP0cIHUoBPkKxSAE/y0OVjRVLyeCxfw1Wrl0xDj/cXg2SWOOVOzkCcPA/cjSwWTnp8IuP0+IBKilzk+y1JEMkEL90GMk22reZcFLw5NVt/qLNG1dzIXPNg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(136003)(396003)(376002)(346002)(6512007)(41300700001)(31696002)(6506007)(186003)(6666004)(26005)(86362001)(38100700002)(2616005)(8936002)(53546011)(31686004)(5660300002)(66556008)(4744005)(66946007)(2906002)(4326008)(8676002)(316002)(54906003)(6486002)(36756003)(66476007)(6916009)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0lQUmlmcDFuOUFhdEZRdlQzSjFwS1dWZ0hmSFR1VG9jbUgyN1pBMWhpY0Iw?=
 =?utf-8?B?bVo1NW9hZVpZMWh3MzQveG5zTlNtN21rSHB3RlVuUDNTaE1UZ0pON0tNc0Jp?=
 =?utf-8?B?R0t2WjRuMEtXTWdTMXY2VlNKYzd6QWlBazhrTnowSXVXUVRWVlY4a1dZNWNP?=
 =?utf-8?B?aW5MNmNvTmZHYWo0di8vY2RacE0zN29FNjVNc3F4dTVyQ0ZVRGZxckFtZy9T?=
 =?utf-8?B?ekE1bW5TTW9Ib2NzRm5HQVNoY3VPSTFUbnBCYmIxOThxZFhSRzk0VjJVeXJC?=
 =?utf-8?B?c1NDMURtdnVLb1pCc2szT0N6eUp2YW9jRGdvdVVvOCtrMURET0JNNTY1M3h5?=
 =?utf-8?B?Y2JaU3kvMGcyQWYwSHJyRDJQR3NrQWlFcmR0U0x6U25UTmMvSnh6TGpmVTVx?=
 =?utf-8?B?WXJFMnV3VnZRcjNpSGV3ZmRNVTNiMm1XaEsxRFlya2lFYVZUMU8rd3hnZW85?=
 =?utf-8?B?cE5LT2JSQ1VWYzgzRGN5SzIwN2RmZjZrYjNvbDJ2bm5OV2dGODBEaXNhcStQ?=
 =?utf-8?B?QTJoQWRCbFlMR3RiWndMVUpCY09Zd1dYbnAzVGJKOWtVRGtwRW9ReHdadElW?=
 =?utf-8?B?cEZrbTZ3Ykg1VGtZNTRWYkVya213RE1XTjlrNmZaSGJMc3dkOWR6bEh4ZFVZ?=
 =?utf-8?B?eGxMTmwzSnFiWjhFc1lCNHlYSzVqT3N4dFp1aHRSRDk4eGFKVis4SlQxODhm?=
 =?utf-8?B?dm9SNGVUTU5yL2lqbDZBQ0dQTEs1OGo3QWRiSWxyOWdMZXUvR2t0NkJmNGEx?=
 =?utf-8?B?UEtXN0ROaWhmZGdaSGRLS2E1OEZlSVVrVHI0dTZzYVhBWmRHeHpEK1JTTUt4?=
 =?utf-8?B?WEY4RHR0WVVXN3NCZy9IQVZEckd2MlJ5ay9BUUJwaXFhbm53L3BJMm1ITFd4?=
 =?utf-8?B?Ykg1VUVib3l1VkpHQUJMcGh0blUwZlQ0MTZORFp2ZUcxQWdNWWtPSFJKdG5a?=
 =?utf-8?B?c3hBRFNlWmxBUHJ3VlVnbkpCdTFZRllLUXp6cEVzM0JjQ3ZGSDdRdTdoMHJl?=
 =?utf-8?B?MkxYMlJETHZ4ZElwUENqU3dmalM0N3I4WXRaTU5PUFlIaldaZytRd0RDazZr?=
 =?utf-8?B?VnhwN3pHT280a1I2Y0MrYjJrWmQyMTliV1IycGUxZTFKQ01KMjk2N1BveG1D?=
 =?utf-8?B?Y1JMNVVYQWxDNE4yN3pOUGtqQkMzQUJrNzhUdGp6TElOVCtPYmhrd2czZExj?=
 =?utf-8?B?TnNzQXNBa1NPTE55WWJUNC9oNVZzMnhud05oUXEya0dJeGNGYjRRSGI3YjZs?=
 =?utf-8?B?Zyt1YXFabUxsWmdNTTgvYmd6MCttVlJQODRrRFV3VTRSWVZlK01vZ2RDNi9S?=
 =?utf-8?B?OWJ5OGFMMjZXRCt0NWhDd2dpckVCaUtWZ1pYNEFFbk5rZjNEckpHRUFHekVX?=
 =?utf-8?B?RGhsMXlkOFVXRGZCMEhMS1JwK1ZFN0EwaDBvYVBsekQ0SVg5WjFLRUx6UG5h?=
 =?utf-8?B?Y3lpRDJOYmFPbW5CZDcwUG15Y251b2tmNUViWFRQYUViUTJQTWZ0aUZKQ0xP?=
 =?utf-8?B?b1B5Y2pLczJ0R1JyMlZLZm9xdmc2dVAzamkxcnY5cWZkc1JsNnV4aWorck9W?=
 =?utf-8?B?MHkxb1l6Vks1ZktjaGtEcElCME14Uk1QWXUwS0dDWXg5TjF5bWJ1VFh5VGY5?=
 =?utf-8?B?SjBsQnBYc09zSW5raVlQNS9FWEkxVWR3UzNEM3BkS2luRGRjbkRNemZIQyt0?=
 =?utf-8?B?MlNJRWpEQ3VoYSs0ZHRSdEZpSmFDdjFiNEJFQ1dzb0lTVTdDU05hb0Jidy9F?=
 =?utf-8?B?eVRTbVpWVkNTaWwyekZYcDVmckV2ZnUxQkw0eWh5c2NrS0hiRnZDV1NLMkZR?=
 =?utf-8?B?WEUyVnlRWElpQUd2dGpOL2pUY212Tm52YS9PZWFBUzhwalNYK2MzdEdiSHFs?=
 =?utf-8?B?c0g3QjBFSWwwaS94K2UzNkVLMFdKUmtjc2JtdldmVXZsOWFCeXJxM3p1bHht?=
 =?utf-8?B?b2xCM09yWENOdTh4ejZKb2ZtTUxMeGdXb3JockwrME1XTnZHNmlYVWU1Nk50?=
 =?utf-8?B?LzEvcjhaTGxVK2RBb2VseUs5dzR6WDZzbWlUNFU5SkljQUQxZTk1a2huejQ0?=
 =?utf-8?B?RVFOSFJRc0svRjVzNVV3K05RaHU2eFlBYUlnTE8vRFNSN1ZsNDBBWUtoQTI1?=
 =?utf-8?Q?1AzPEeHdrugjRJTFRVCzwISSm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ea53e2d5-563e-48f8-cc69-08da7b637aba
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 06:34:01.9106
 (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: h+Xj28beYHu5Os21396uEjW7h6ojidzS/7DtvPiSsGUmXMaLUm/Kt0SdQnHQfh26w0sOTy29ITWbTGn7tt8sKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8043

On 10.08.2022 21:01, Andrew Cooper wrote:
> On 15/06/2022 11:30, Jan Beulich wrote:
>> These are easiest in that they have same-size source and destination
>> vectors, yet they're different from other conversion insns in that they
>> use opcodes which have different meaning in the 0F encoding space
>> ({,V}H{ADD,SUB}P{S,D}), hence requiring a little bit of overriding.
> 
> At what point is sharing the opcode tables going to be not worth doing?

Very good question. I've not been able to set, for myself, a good
threshold. The vague plan that I had was to wait and see what the next
uses in map 5/6 are going to be, and then decide whether to introduce
separate tables. (And if still going with overrides then, re-evaluate
on the subsequent set of additions. But basically always with a full
new set of insns in mind.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 06:37:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 06:37:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384173.619461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1p6-0008W8-Po; Thu, 11 Aug 2022 06:37:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384173.619461; Thu, 11 Aug 2022 06:37:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1p6-0008W1-Mz; Thu, 11 Aug 2022 06:37:40 +0000
Received: by outflank-mailman (input) for mailman id 384173;
 Thu, 11 Aug 2022 06:37:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM1p6-0008Vv-7R
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 06:37:40 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70059.outbound.protection.outlook.com [40.107.7.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 180f8806-1940-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 08:37:39 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9265.eurprd04.prod.outlook.com (2603:10a6:20b:4e0::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Thu, 11 Aug
 2022 06:37:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 06:37:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 180f8806-1940-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=loCBei8o6ZOWEPuLM5ac4iVrtRtq56Dg++TVW3bj14eGfWVPftdGd2d75o55W3T8qdufXrnaZtrcV+AnXeb5jqZXI3EyY8UghfAFCQiQqSyKvfQKUurJizeosUHJOzNYhblFZe9mXvg6jh1c8TzGuIfYgb8CB6dCCuoewTF4CDjYxLX1mIyI2s84KOLIlPb4m/Y8iwC5Xvc4pxjJoQOX4JzKsCkcPyt4xf3hpMyFgOL7aBXhGLbn/gk02jSFSaWsZs8Q/RmUTjJJtQD5cNGO229hon7BNSLbjZawsfOfYZ5CXiSgNs0qHHkbiFaQ8aE4fdPGJsOaNgAI8z3I8o+rHA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Qd4ySrKofq/MThdlK6vhj46TAhUuCbNiuCWdMP3Du3w=;
 b=J2kGKxU0+P0aYdQI2ZLRqytz7RHDm973Dydoc/I/58QtoLjC9/cxpy56WTRABLciTLV7qMF1jTcZ8XAS2X+Nm7MiDoVp0/MegMQOMB77KpYH6Eckt/nyaKZRs3y1YnwKGkeU2+fGxmEOlDW8Eb4sTIYIIImUqzNtenp2IjuJ0pNpOanshCkrCaa2Gt7iK3fZ+Wyrwss/vk31ZRWSspardTofkgDeQU7mWqYUDa8HbRUgeljxGFhiReKZctj8EpHVg8BlOK5PlW0whHjDklAQg7LKqqBuAUEMA75bJNqSDdA/CVwotDrc9Y1k4QemGz+RjL5jjoWhjInidrLb2fwYZA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qd4ySrKofq/MThdlK6vhj46TAhUuCbNiuCWdMP3Du3w=;
 b=Z6DSXfhg3RzqxljVCJ8ojMlwUU4u+IihYXLec99uANo+zGAP7+TG6+vQD3ntFwisiAm9u4jEEmmQdyQkAmDdsSnxXA3QvvfT2FoAnOK7hiUCrs8dDwJcrqnxeHXGM7oBPe7DXYBkrFeaTkJ6w4+tSJ0xzbqW4H9XARGRnIa2nWOf7/J+hDj7i3HSn/sk5itGcmBvPoe3FaC/R31JxhDMkIc9mB2MOzeGz7xcs4L4r2/UZNq+cpmemi5vzIQ5tXkvvf0CqRvXwElgBcu+fphb2gBNrd23ZuMAI/Hu0kad2vGZqwl8vmshUTgZHJXPvJqGLcfuQsF8HIc2UVZjKRuY2g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <995cfb07-0981-1ea1-de6c-42792cd04eb6@suse.com>
Date: Thu, 11 Aug 2022 08:37:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 10/11] x86emul: handle AVX512-FP16 conversion to/from
 (packed) int{32,64} insns
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <2f99e91d-6a91-f860-45d0-9c8b67c9b2b8@suse.com>
 <11a429f8-0ba7-f380-e7d0-28817cb9593f@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <11a429f8-0ba7-f380-e7d0-28817cb9593f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0734.eurprd06.prod.outlook.com
 (2603:10a6:20b:487::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a25a6d8a-1b8d-46af-ac56-08da7b63fafb
X-MS-TrafficTypeDiagnostic: AS4PR04MB9265:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	isDr3K8aIx43WxqeqoZoEPFysbSqqAvGIWfGFmhmh7++nNYgUFjX84EVwW0Xxg3wZrLLPzznW2FLb+33iRmWPSLae2pS/4kI0r7UTsb8xmyIJX4J90Q+id6Qawa2151QjnrRZksTGwO7LitYeXzpDoifVsANp13Mipm9WyHTSoU3vXHtfCzSKXpz12BqZouRpA3/lvhzkOcwuWVvO0vwq3cZpiCZ/aMImfubCmxGqOsYXfKJxdNsDWoIIgTMBEjj8GsDJP6qKXIoXmoQhf4bpDEpyDr5O8Nzi+pc2HIIXulkqghQshBKJTjjctXnr3mPvh+YX1x027FC978nXW06JAHLTJFYeQRBEEnMsfyMvN3TDLf4bD92fPpBMoSKbLBtnmu0H6M+aWUi/q7GHaFgTVGpaRqtGvss14VKd25hwOUB19M7nEq2M7ZCgbFZk1tjCv04ZdPEKtxkWotbhmXmsq3hDU/Fv1WEhWsd/lpbeBTHHHxxUH2trc6zMzkPrZJBmrsEM54RBzLPfD1Kv4iqaEtRMAy6kU1Cwn75pcK5i5f3z48R3CWvz2rmAslDe50D1CzR/REEEz6PHIttA9WbnDEnSRkkIIJEHFT7P0yM1K7Hx2+MtIsNzJZLV30BMNIGY7KGNtUjbxQkAcImjwazlne2I62QVzg/tpzec0kC5FeT1vX1MbvIoX/+Vtk052donADhFbhORcCJrieT+k3kulE5D73hDmjnUk4PDC1nVnXIOIsyfyiXbiIZnfUAfzDwIQLhQd6W6BQCgXbu9OUyEYeUgVIrXWYbzchJ6pDKnKpA+UlCJ5P8fr5W2vr6GYWDncJH22CzNArjklCav5w0IA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(396003)(39860400002)(366004)(136003)(31696002)(26005)(41300700001)(2616005)(6666004)(6506007)(6512007)(86362001)(53546011)(38100700002)(186003)(5660300002)(31686004)(8936002)(8676002)(66476007)(4326008)(2906002)(66946007)(36756003)(66556008)(6916009)(6486002)(316002)(54906003)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDgrMXU0RFl0MVBEZU9jMkNyaGJraTVCQnRhZFNSbVZzcldxMGVFamNPK080?=
 =?utf-8?B?UldSd1Q2aTc2REdpelJMTEcxTi9rQ3ZQODB6TDB4WTd1eW1mY2FvREtHdGor?=
 =?utf-8?B?WkNxV1NzNGZVSTZRNXAxRE5jaG44Yk5xWTlYSmhSNTRLWFRYL0I3L1U2bzRn?=
 =?utf-8?B?YUxsZ0prMTAzT3J6bjcvRmt0WXpDczFXR2VPbUMvWmkvbW1QR0pGUGowWXJz?=
 =?utf-8?B?dmtlV0VETmJ0VEMrMC9yTVk4MWcwc3dDY1hQMGtnS1lvbWVHMW5CVUoyMzdo?=
 =?utf-8?B?REpYN2NvOUNlVGhIeDdUVUxKWE9BOE15TTZsZjlYTUx1ZHdvS1RKN241ZHYy?=
 =?utf-8?B?R3VvV1R4bXhObVAvcWl4Q29wTlQ2Y2RNV1kwMzBjc2lZc0tZMlNUUFJoeS9K?=
 =?utf-8?B?U0V4ZVNIL3VTckFJZ2t4RTdqc0ZFNllhbTRpQldISjR4akhRMEZhUkNRaFRr?=
 =?utf-8?B?YjI5ZmhUUWt5UUd6VHZtTHVPSlVTeVRnd3hMY2dQelMwSGlpL1lwZXBCam5v?=
 =?utf-8?B?OE8rNFVja2tEVmlUKysvbHdFRml5OHpVMDFWSXpXRnc1K2VQR0VqR1J6ZXha?=
 =?utf-8?B?RitUSUlvUFNCMk9zdmpCNDMvSXB6SU9Mcm00akVLaldmQXpGbEZYbFltVE10?=
 =?utf-8?B?MG9JYzZrUjc5eW40S3I2UktQK0NBck4vOVJXdElQcmRneHVmMWl0bVNrS3V5?=
 =?utf-8?B?UUgya2pOYmxWOGdjR29OL2dyTUJhejljbjJCSTFSM1haekFrQ3duUXlKRUlh?=
 =?utf-8?B?UWt3S3Q3UW9oUTRVeTY4azBSRnl4L0U3RDFaOEpaTVNVUXgveHFPTDZOd09y?=
 =?utf-8?B?YWlIS3cvWTJ4RTQ3UGt0NnVnSzR2dXhJbk81dnVOQ2F1cEVnOXVYNjVYcTE0?=
 =?utf-8?B?UnA3Q0wrZUFzd3g4VFBNVEJuWWcxd2VUaWJIVzZQQUNGMDZUSWlSTHRiSXhF?=
 =?utf-8?B?ODVLZHFidWhNUyt4UitDUjVzeHhIVmRobDVWeWcyRXd3Z2t0Z1hGYks1b05V?=
 =?utf-8?B?dDhNc0p4akxWUzVKcDcvYUJ5djlGODJ4dEMxcUpUWTlUZ1ZpV3Y3RW14MW1k?=
 =?utf-8?B?RW5YN01VRW5ESVU3T0NrVXQ0MlFLVXkxazA2bm5mM0RYVjhvbk1rWTVJUXFB?=
 =?utf-8?B?THNJNzV5ZFkvRXhESlQ1ZTF0S3hJQnVhYTArNTVBTU1GUXg0WXROT2hrSUFM?=
 =?utf-8?B?Q1cyN2RlQmc0cVdVNElIdkFqNks4SlVDdnZ4cHI0MlNXemlDYlpjR090TlB2?=
 =?utf-8?B?am9LY3VYdXBjTGx1L1ZhbHRiNTdHN2UvbXprckJMNFJVOXNFakVGWiswY20z?=
 =?utf-8?B?dTMrT21DbUJ2SkV4WFAzejlkamNmRENQMkdoR1ExRkFGaC9jZTcyM1dTZ01i?=
 =?utf-8?B?S0w3QVkvNVZCUlc0dloyU2JuTTNVT2RKeVBKQ2dMa3RKbW5nc2ovQXQ4Rk53?=
 =?utf-8?B?RnR5Zm5TMlUyVVN1Sm5Qak5qTGtwN25IenMveDBnVGRITGp0YU9PalBmU016?=
 =?utf-8?B?S05DK1lSSUFBM3l4Y1dWWkhHQjM2b2JzcStrZEo4ZFRYdjVoZ1RZeVplNHJs?=
 =?utf-8?B?WE9oa3VQZXhobVY5VnFvajNKVjVUQXlQZm55c2lSdnZIaHYxWitZRTBrZ003?=
 =?utf-8?B?SkRiQmFIMzJmdmhVTlUrL2VOM3gzMVBvM0JGTkViT05Qdy90WmtOVzNuV3Rv?=
 =?utf-8?B?QmZpeGs5MzRUOXMvSHhXbFVjcWtlWmpTUVdCZjRmSlJHZVcrMDZVYUxkTGhG?=
 =?utf-8?B?R2xPVCtTN3Q4RUMxazJqSURDdy9peFFXa1dPc2RPSWJ0aW1KSjFGclBGTE5i?=
 =?utf-8?B?SUphMWQ3THYrelFaQUJSYlJSNGM3bDd4aHYxTFQ3VGlxZ3NDWTlZTnhrWXBt?=
 =?utf-8?B?d1llUjBYcTFhTjhjcVpBdk9lOW5IWUZ1eklQWFdhcWtybEsrNElGUGxmWnpE?=
 =?utf-8?B?VVNKS3RtVFhqeGYzblFtVXEra0wvTFA2MmxlbWNLeXB4WWtZYzJTd1FqYldV?=
 =?utf-8?B?R1BlTTdGcDU1MEUwSWtjaEtaTmpHODVCOXQ4VXRMOEpSL2drTzhvSmdBMW1t?=
 =?utf-8?B?azYwam5BVTZTdzNHZHZESU9GVHVQMjdjVlByT01Pd2JYVkNCWnh6WGNyUTE4?=
 =?utf-8?Q?m/VtaakZZIM5BQV8zL6GCZzeP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a25a6d8a-1b8d-46af-ac56-08da7b63fafb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 06:37:37.0372
 (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: E256gI68yVRq3HRKFnh0cgSbQOx3mtupDoPOHdGeUWr0VfXSDVhZcD5jhR3nLQwUola07zL6VzInKtmjHBkudQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9265

On 10.08.2022 21:09, Andrew Cooper wrote:
> On 15/06/2022 11:31, Jan Beulich wrote:
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/x86_emulate/decode.c
>> +++ b/xen/arch/x86/x86_emulate/decode.c
>> @@ -1489,12 +1489,25 @@ int x86emul_decode(struct x86_emulate_st
>>                      s->simd_size = simd_scalar_vexw;
>>                  break;
>>  
>> +            case 0x2a: /* vcvtsi2sh */
>> +                break;
>> +
>> +            case 0x2c: case 0x2d: /* vcvt{,t}sh2si */
>> +                if ( s->evex.pfx == vex_f3 )
>> +                    s->fp16 = true;
>> +                break;
>> +
>>              case 0x2e: case 0x2f: /* v{,u}comish */
>>                  if ( !s->evex.pfx )
>>                      s->fp16 = true;
>>                  s->simd_size = simd_none;
>>                  break;
>>  
>> +            case 0x5b: /* vcvt{d,q}q2ph, vcvt{,t}ph2dq */
>> +                if ( s->evex.pfx && s->evex.pfx != vex_f2 )
>> +                    s->fp16 = true;
>> +                break;
>> +
>>              case 0x6e: /* vmovw r/m16, xmm */
>>                  d = (d & ~SrcMask) | SrcMem16;
>>                  /* fall through */
>> @@ -1504,6 +1517,17 @@ int x86emul_decode(struct x86_emulate_st
>>                  s->simd_size = simd_none;
>>                  break;
>>  
>> +            case 0x78: case 0x79: /* vcvt{,t}ph2u{d,q}q, vcvt{,t}sh2usi */
>> +                if ( s->evex.pfx != vex_f2 )
>> +                    s->fp16 = true;
>> +                break;
>> +
>> +            case 0x7a: /* vcvttph2qq, vcvtu{d,q}q2ph */
>> +            case 0x7b: /* vcvtph2qq, vcvtusi2sh */
>> +                if ( s->evex.pfx == vex_66 )
>> +                    s->fp16 = true;
>> +                break;
>> +
>>              case 0x7c: /* vcvttph2{,u}w */
>>              case 0x7d: /* vcvtph2{,u}w / vcvt{,u}w2ph */
>>                  d = DstReg | SrcMem | TwoOp;
>> @@ -1515,10 +1539,34 @@ int x86emul_decode(struct x86_emulate_st
>>  
>>              switch ( b )
>>              {
>> +            case 0x78:
>> +            case 0x79:
>> +                /* vcvt{,t}ph2u{d,q}q need special casing */
>> +                if ( s->evex.pfx <= vex_66 )
>> +                {
>> +                    if ( !s->evex.brs )
>> +                        disp8scale -= 1 + (s->evex.pfx == vex_66);
>> +                    break;
>> +                }
>> +                /* vcvt{,t}sh2usi needs special casing: fall through */
>> +            case 0x2c: case 0x2d: /* vcvt{,t}sh2si need special casing */
>> +                disp8scale = 1;
>> +                break;
>> +
>>              case 0x5a: /* vcvtph2pd needs special casing */
>>                  if ( !s->evex.pfx && !s->evex.brs )
>>                      disp8scale -= 2;
>>                  break;
>> +
>> +            case 0x5b: /* vcvt{,t}ph2dq need special casing */
>> +                if ( s->evex.pfx && !s->evex.brs )
>> +                    --disp8scale;
>> +                break;
>> +
>> +            case 0x7a: case 0x7b: /* vcvt{,t}ph2qq need special casing */
>> +                if ( s->evex.pfx == vex_66 && !s->evex.brs )
>> +                    disp8scale = s->evex.brs ? 1 : 2 + s->evex.lr;
>> +                break;
>>              }
>>  
>>              break;
> 
> Perhaps here, in terms of overriding...

>From all I can tell, the s->fp16 setting would better remain here, as
it's (embedded) prefix dependent. As are the disp8scale adjustments (if
you go look, you'll find similar pre-existing code a little higher up
in the file.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 06:43:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 06:43:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384181.619473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1uZ-0001We-E1; Thu, 11 Aug 2022 06:43:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384181.619473; Thu, 11 Aug 2022 06:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1uZ-0001WX-A2; Thu, 11 Aug 2022 06:43:19 +0000
Received: by outflank-mailman (input) for mailman id 384181;
 Thu, 11 Aug 2022 06:43:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM1uY-0001WN-GT
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 06:43:18 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2084.outbound.protection.outlook.com [40.107.20.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e187c180-1940-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 08:43:17 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR04MB3049.eurprd04.prod.outlook.com (2603:10a6:7:18::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.19; Thu, 11 Aug
 2022 06:43:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 06:43:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e187c180-1940-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SJYTCjOF2CwnkVPoKIPaZybecqjbYnWeoyltphKmo8lTDnOglqEKGxetauCzPIkeqWkJInp1IhfDmma+oBgV5g56nptlKgo3oXPd6yz7jlLeWHrSIdQbDL1T5A6kznM4IYcwOpVB8HrPzbYe/6ziudI7Fjdu0stTLDEz7cInNiAwW0ieximEVx45Bdt7GRGMoej+dALuQ83TEXvgZ0iyK87nIRH0NcrKC4irnKBYKWJ1VH+PFPiLwca0Qj/ws0OI5XBsZVaoBtEPKPF23Wk7MO2ji0umt41VBDQNRmumH0diuuMQTTElCmiXznX8KRL29uHgqCeupfNGej/fX5SCTg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D8tIM+q0X+VhXAivd9+zXbst6r5mW2HJuGbPf5j6bpo=;
 b=Ni8kOZUxKGql/8FCRDHsyNKvce5OANYty274Tgrlb/yvkUoeUXLl8rJSSbStBbBRMIGs/Kf3jt4fuQhQyIdtQsr7hTAYsCf+Pd6oRSh5kUCU7+J2tdGpm6Z1RWEo6KlTq6qHaZf7XJKBUEyJG+zxPRc7mixR/fmbnlRG/ayNKjKDkiWvKoBkWfSOdaNqbOnAAryKl+yr7jRbmXKYvaWKpNad0h4ksUbOiq6neokYl01eSeUe+kUk9lo9TcGLyZj1q+104DjNKxM4KHpcGFRNRm7RHQzRUHMhE4d6sH7o8ftSeSPWNKwzWwOmNLKgg04Xn60EeRHqKy3FMEEJX8hIOg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D8tIM+q0X+VhXAivd9+zXbst6r5mW2HJuGbPf5j6bpo=;
 b=js0lW3Z+GWnNaru+fffOAa19BPVebbTQoWBTopiwV459yTzJGsuM0ySGVC6yWcrDVCtqcsYXaOpWaTKOjK8L9eT61G6jf3AMpoNh+G6MqsBha1Ux/SwP1XXoUeiwg+/INwEYgKp+cZl4j3tMpb0Yn9xH3GoZLTCRhTvs2O6vNuirgvYvb9ZNePQO0RyH3rBggRCzeKe2pPRoL8xdqczH7tGMxfJ8jFLKyEn/T0KrA43m9tsj9LXUn6KDs1k/0M5Vymx0WPzIGR5sFvUR1c1bZPrCQJ75kfoMqpy7ZAiTOjAkx25xOP8dWcBVaRLgBUhEnhvIykwJHUFRl6BEzclkPg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ad02161e-b03a-626a-9472-c07edeb93108@suse.com>
Date: Thu, 11 Aug 2022 08:43:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 11/11] x86emul: AVX512-FP16 testing
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9ba3aaa7-56ce-b051-f1c4-874276e493e1@suse.com>
 <a64d46c5-53ca-299e-a7f7-7f66f6ae871f@suse.com>
 <ec0c4bf4-b3d4-8921-a369-3798c5d36168@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ec0c4bf4-b3d4-8921-a369-3798c5d36168@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0047.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 89dc04ee-71bf-4d69-5439-08da7b64c43f
X-MS-TrafficTypeDiagnostic: HE1PR04MB3049:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	URizOy2IOnJpf2J3ySYtkKjoahWMcA6T+ocQGvIcfFGpO+eaBYBw5Ob3tC5+1raTvtPa3nfL3DlD/O3VpNDtW3eDdBFT+6gcgaLcgSNtzcWyx+7hYZq8hQ1l1OYLticuShMS46Ve0rk9eGcN4nBLHXuNtonpF/h8R3HO1NEwVGvzj1yjo84HmLrjdZ0vkLhJSJ5UK0C5XzA0IxodnICfeikFMrpD1SUt/PNk5u/yxTrzFNaef6+I/ysLGfTlIufHnzWOSIiLtQKPToxPdt/QUb84Eg83b4OB5YUvYq3AsMhEGHjZAr3DYi4KGMCAprp9yDwi3YL+FiltPokEC7hDGhV0O3qvUvKvIVpg5TkXvbg90TdryJZTptw7x2BrDEIpixo5pSEStyNSZ/Wy38zymLqm9XNxxp2e6i7Zz15LGhjMX9qg9WfyccoGvSGl42MFH8Wav/qhxx3GWnV66ml14fcvv3UfVLBzMnEU1JSfoeGihlqgaRHAl0RoVyTEapbopZo5zQyoVAHx5mqMLCCdJcjEHcdlcAY3EjSOb1xbw+DqFp71hOq2jEqLoX9j4DLkFRTVIMm4bz1H1qaiJpbCJUtNUea6TUGZPDz/MSgUuUaTgmyT2pAcFaDfxPUUl3wvk7dBbDMNm31f5W4udgnlQ1JpgXe2YblRWwQNuvI7Fpgwu7mhVP+YzqKAHG+iCmCjLoFqtLE0Bgc0pMgZ3k0QToWmheqVdAHkuDvorZmhN+F3FE8rtsTRAE4CD170eQXtA7RjfXwXaFb0RWx5P5oJR7I2zHY4Cb9G/LcIwOUTwuzIOLZvkdpcfl9gtP9DArcJhs3agUmnmB4Onehd5RpK2g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(376002)(39860400002)(396003)(366004)(86362001)(31696002)(31686004)(38100700002)(36756003)(6666004)(41300700001)(53546011)(26005)(6506007)(186003)(6512007)(2616005)(6916009)(54906003)(316002)(2906002)(83380400001)(6486002)(5660300002)(8676002)(66476007)(4326008)(66556008)(8936002)(478600001)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NlVEbzZ0cFNRZHEySmJTQllaSVp5QytmbDBTRHJUQUNVMXp4Y0JaUEZiSGt4?=
 =?utf-8?B?TEZBMkJ5dHVRRTFJRGFTSWdPdE1lQTd6L0tkS1JBMWtjaDFzK3NFSjZlKzVp?=
 =?utf-8?B?aXpNNHAxTStrdFlVL3czbVpjRXlTOXpmb2xYVHkxbDN6RWd6TURheHVyNC9M?=
 =?utf-8?B?MzljRlMvaDFjQ0E2bGJBNlB1N0F5OGgzNnJCNmVaRXRaRnBZN2lJbEJGWTFJ?=
 =?utf-8?B?V2NDbnNXMkU4QWFCZWhVOGp0MDBZRENEWmpURmlISmVBSTl5UWx3aFg0NlJ5?=
 =?utf-8?B?eUhlUVJBNzQzTllwL3BpTTlRdkJEZ0ZsWXpoZGY4ckw3U0w5RGlwYm5Ed1JZ?=
 =?utf-8?B?M1lyVmpIRVB1T3BjcW5Yelo0K2ZRNHFhc1dQQzFoSXlwbzRkdkFXQnVLU2Yv?=
 =?utf-8?B?ZVRaamUrMHA3VDNzTGsvam5IZXZYVVh6TlZRUnY0WERIQjNsV3VvU05PR3E2?=
 =?utf-8?B?RGVLRXJpTExmY1pMeEgvRzB0S3NoMjZNUjJHSUVPalQxMEd0Tzh4bVFQOThw?=
 =?utf-8?B?ekFJbnBXMlZSUmNHMDFMa29XaXhFUUxNNFprWDFFMnRtOHd0bFVBaVVMaFkv?=
 =?utf-8?B?WGZnOFpZQ0VrSVp1Nzh0NW5ITXFJZ2V6V3ZTblpYUEJ0YlRoYzRMd3pQSGpM?=
 =?utf-8?B?K1hOaUVDNTJEOU1QK1lNL1l6OFM5U1pVSTkwNktNS1JLSWhYN3JSSXdOdjRU?=
 =?utf-8?B?ejRNbWdYZVcrWThZWnFUaWk4bmFRZmtmVFpKdUlqcWFhUXIybjJWdHl5U09B?=
 =?utf-8?B?NFVPdEM5Wm1pS3BiWTE0TExCRU1qK1dDYllVQzFQbW44UXd1eTRQMVIxTy83?=
 =?utf-8?B?ZHYzVjRyc3REZnhEbjNtU0gxeE85amhqVlRwb0Ura1YrbFYrakI4c1dScDEr?=
 =?utf-8?B?RHlVYnlPSlVaQVp3VE4xZ2NOdVpNZ1NNeHlJOUlBZWV2SHBBM1dEbWFZSmhP?=
 =?utf-8?B?aVpFdkx1aTNRTXBiU0w4RFY2TWtTYTJFWXBiRlZ1bFc5alVoZGVNbmZSNkVU?=
 =?utf-8?B?OXBEbnBpLzFDb3RZbWEzRGVCR21jUWNYNnFvdkZXSzdLcFY1NGdZaVZkV2d0?=
 =?utf-8?B?bWFWL3ZlUXJ1aXFreFZubnIzblB1RkQ4YUYvU2YxZmt3NDFOeUhKWmhRbEkz?=
 =?utf-8?B?VDFlLzkyQTZXdEk4UXdtRm9mZWtYMmhZQmIvT0VTQUFVZko2YlZEWEozeG9E?=
 =?utf-8?B?T0NuUmdoRTljZXRPQTROSmJ3QnpYZVYreU90Nm44cjN1UjJrQ3V2YmFMZmxo?=
 =?utf-8?B?UklHRkhBd2ZGbktqRDJxOVZZNnl2TGFkRXozeE93cUNYUHduMFFCTXcrWUNO?=
 =?utf-8?B?VWlXb05WOHd3Vm5ENFU1d1VSdGpoc1hnY2VaWEllb2lzYzA3ZjJNU1ltdnBU?=
 =?utf-8?B?bnIvZUFXQ1hNQ0loaGkvK0U4c2dDNlU0S21Ja1JvSXlHN3FXYVNnRkNmSVdF?=
 =?utf-8?B?aC9tT3l5L0p0cUlhNmkzMC9kMk5YZXdTWWNNekl5aU9HVDZuNlozMjF1QlJY?=
 =?utf-8?B?VVk3Mm5WcEFvbXZob2twbW1jNGdPR1cwZmZTdDZYbllyVng1bUt2dW51bE5x?=
 =?utf-8?B?NjFpaTlUZE92dVVsVXdGMW93OS8zemxDVGhhR0ttUWRIekZ3a0pnQ05xM2Ji?=
 =?utf-8?B?cmdFVk1GVXlxcGZEL3AyM2lMRmlIVnNCWngwTkdwMzlUSGFSR3NHb2FmWklG?=
 =?utf-8?B?TjhZd3pmMllwYTFwOFpzcGEyRDFIWlJTOGxvOUFESDgyamtJSTl4V29YVVR3?=
 =?utf-8?B?SWs3N2tFUlhJeWNTOXFlQjJ2aWJtcUJZWldBb1BTN0ZFcXFnczkrWFowMHBS?=
 =?utf-8?B?Y0YzYjV4NjZheXFCaCtxTzdLRlZkcXB4dFNrSFgrWDk4MWRXKzI5OVYwQXpu?=
 =?utf-8?B?cXhaOEZvSmd5QzlXNkdFWnJTVWJLZzk2U1hPZEV0Q2pMS1RSQ0NRWDdsWll0?=
 =?utf-8?B?U0ZjWmhEL3l2RGhZL3Z0Qy9yODRKOTNDcmJoRkltcjlIWXhzOUd0MXhlSGIy?=
 =?utf-8?B?dGE0anNubTRkUVg0K2RiaTM1UWN4SjgrNE9YNVNiNVA1dUZVVjJTOFEzQjNz?=
 =?utf-8?B?ak1VQ1JBRUdhY2gwblFxUDFodm4vekRHL0N3aVpReGMwSklyUi8zR2tCcmdU?=
 =?utf-8?Q?t3fW/tjnY9eV4+RQWd4tGItst?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89dc04ee-71bf-4d69-5439-08da7b64c43f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 06:43:14.6870
 (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: 7B9eQ7GXRcs+Se821OU8CIkGzla1PdMGc6tZvy1oTFXhPLiGFLVLyxMu/TErZCHIT8rqmE6SMxIN6Gtl+wWInA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3049

On 10.08.2022 21:14, Andrew Cooper wrote:
> On 15/06/2022 11:32, Jan Beulich wrote:
>> --- a/xen/include/public/arch-x86/cpufeatureset.h
>> +++ b/xen/include/public/arch-x86/cpufeatureset.h
>> @@ -281,7 +281,7 @@ XEN_CPUFEATURE(TSX_FORCE_ABORT, 9*32+13)
>>  XEN_CPUFEATURE(SERIALIZE,     9*32+14) /*A  SERIALIZE insn */
>>  XEN_CPUFEATURE(TSXLDTRK,      9*32+16) /*a  TSX load tracking suspend/resume insns */
>>  XEN_CPUFEATURE(CET_IBT,       9*32+20) /*   CET - Indirect Branch Tracking */
>> -XEN_CPUFEATURE(AVX512_FP16,   9*32+23) /*   AVX512 FP16 instructions */
>> +XEN_CPUFEATURE(AVX512_FP16,   9*32+23) /*A  AVX512 FP16 instructions */
> 
> This ought to be 'a' rather than 'A' until someone's actually run the
> series on a SPR system.

Hmm, merely running the series there wouldn't mean much, as the code
doesn't usually come into play. My justification for going straight to
A was, as expressed in the description, that the new tests all pass on
SDE. Otherwise I think you're putting the bar too high for ever going
from a to A for such extensions where no new state is introduced, as
imo this would then mean proving that every single insn was actually
tested when taken through emulation.

> Otherwise, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks (also for the other ones), but I'll wait with applying this one
until we've settled on the above.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 06:47:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 06:47:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384190.619484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1yY-0002Cd-2I; Thu, 11 Aug 2022 06:47:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384190.619484; Thu, 11 Aug 2022 06:47:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM1yX-0002CW-Ve; Thu, 11 Aug 2022 06:47:25 +0000
Received: by outflank-mailman (input) for mailman id 384190;
 Thu, 11 Aug 2022 06:47:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM1yW-0002CM-J9; Thu, 11 Aug 2022 06:47:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM1yW-0002o2-Eo; Thu, 11 Aug 2022 06:47:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM1yV-00071n-UL; Thu, 11 Aug 2022 06:47:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM1yV-0001NH-Tq; Thu, 11 Aug 2022 06:47:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=L9DKflNRxfdVld3JwI0VsQr81xxBNCLkk+pNBJUBGcY=; b=4RD4KX3Q4RlMx1NwxgQRMPdpyo
	YqqjnPxwR28zPeXI9tyI6w0bLRkCc0KGDM5NGY76K7VH5tAQf+5ilP6ZUg3vYmcKa68iov/pKEVie
	HrLBwlzA8cDthv9Ro9yz4d4l2lTFY6c3UQEQtHpGtQM9QiBDf5HUrPjYWDsJ3Uw4RMPM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172376-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172376: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 06:47:23 +0000

flight 172376 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172376/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    7 days
Failing since        172151  2022-08-05 02:40:28 Z    6 days   60 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 06:51:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 06:51:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384200.619494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM22l-0003bo-KM; Thu, 11 Aug 2022 06:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384200.619494; Thu, 11 Aug 2022 06:51:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM22l-0003bh-Hp; Thu, 11 Aug 2022 06:51:47 +0000
Received: by outflank-mailman (input) for mailman id 384200;
 Thu, 11 Aug 2022 06:51:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM22k-0003bb-3f
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 06:51:46 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130043.outbound.protection.outlook.com [40.107.13.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1025955e-1942-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 08:51:45 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM4PR0401MB2226.eurprd04.prod.outlook.com (2603:10a6:200:50::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.23; Thu, 11 Aug
 2022 06:51:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 06:51:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1025955e-1942-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GfU2x8SIsrmavYELMK+8XW6+Pe1q9+DpZxOtSKBZR7I5a6IZWXKOcSyLK7C/z4tj/EBNC+HoZfqqMedO1OO20QFRDYeg4KcNAeC0XCp/5od24GhnPs31vUMustOt+bxcilEI6NYOi8BKyyI3faDjknrXs+/l3Jmz+CkVUWbnywGGGJ3vo7Gra86dBrCrbGcAQ1YL1zayoDCQefpUpxN2y13wTsotjqXzqa86IZpKLDKuYDJw80DeB8HEww7juQED8xVh6OerbX0q2TWWiWo4ylcB1DAvhve/JNg3rdQGaLvxV71xcKwBNMM+xyxcm7exQ6OFfxrKAdHxyb4VKBGTlg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rfey6qOwf8lMltQak7yNITu4zjUR8SS7R9IlFyIAWvw=;
 b=KYtoQ7lmwGLd9PxmnyrGAXxfqER6Uz2AqVe8wanl2VFO/73PnsTf2K0/o2KK03hkz037H/lT9qvMq5LkMXi9/9nBW8ZKuHCy/0Otk/3Z3b2NbPpkhNcjyJVKuH8K4FfYcdmCidQVQNVuZgyZVuhlWKv54FygaoURIyzHdHdCSoVzqVCGcTGHaCGpUMxlko0prVm0SMo64zBFzGBact5H7RGBsf4hdQQz8eOxdUb/yEHCUmeR3VFILNw+dZvVJqvkPzFx6arrD2T3mpdWPfqszqJplV4Utrqtxg+GMYzZT7Alv4opbiin22/rD1Hr9qxh5cNL31USR1drioJLeufYog==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rfey6qOwf8lMltQak7yNITu4zjUR8SS7R9IlFyIAWvw=;
 b=g3BGzy3pmAs0qWJCLXndSDiTUWP912/w7g5AoHcJL4vDJnLzx3pNnE2zpyMwg7JU6b7cOIgkARTQMSpccKcH7A4romekpXJOHUn3HRDm/jZLczIxb4hfg76X6Gf3cJnpkoZPTxOuSk4OceAnV1FdNP+ek5D1jB1p1iOjMPfj4Z6AgtV5uSbwvSUIBXvZ/zSMIPF3k2ALf+oqPdCH90LVCWEDsw2NXSkSZ/VwfzoaMLfbQdCmWdSSKF5oFTpDZhTHAYPV+uOHGJ4u2gBRUAfkt2tX/HZerwA9P2Y1DFmdTvcT5QdBI05cVGNxbD3Xui71dPyuRJ3WyZgbYym9Ex5kfw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dff3fc03-8d94-7ca0-512a-501ed71dcc48@suse.com>
Date: Thu, 11 Aug 2022 08:51:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 13/13] CHANGELOG: Add Intel HWP entry
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <20220810192944.102135-1-jandryuk@gmail.com>
 <20220810192944.102135-14-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220810192944.102135-14-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0063.eurprd06.prod.outlook.com
 (2603:10a6:20b:464::25) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6d41ade7-b63e-493f-1bcb-08da7b65f33e
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2226:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cEJs/3if4UKMcDZbOnuXaTvFYKj7QXCgqzJKSB7o2glNLLHhOG9agAwLGo1VfYhLIJ1S5NyXGCLJ3LZOos8qgvWKgcTmWDcgO0Kh7eUYHlsf3ii13vWq2fTD/O5trs9CvvmCXZ3DqTHnXGTq8drb8AQePLEkXfs7qdfUjClx6pxcEtUYfMBsmePYbrtH5JD9VZiZDZ6bSq/mLOICOKqThYSprkIo6cLXm7+G+GT8DJWmqPbINJIFX+wyhegzuR3b0uOqQtulrbiS4H4Wrwcie6meX1ZqnpXZ+rmzYQcDbfeZq3Xh1lEEDNgXrxGmePs2lXoHlO37+slJvkOdg26NVnLISSLB6rAhgdmPAa37O3hM0O1ZBBXYHShtZbWgBsx/t4vmFjeOhxomFg1M87ji5J8LR9bgD8f6bpkkgQ1DAz7tR4XBQtcoo49k+nuL2UntPjxFDHS8caugJCUcL3hXxQshK/Sp0b1yPf2wY0SePmTBWc4tRLq4XHdjKayIXWzqWNMwArb4sVNXlwuW10fJHvwZPHKOT1EWZW2089ERqN6hSojD2FdzpQTuortEyXXl2dy8tp7EKh+IuU1oSDJbjyD42nmOynpTBJOZdoTED+3G6Ssyz3yuuQ6SIm1Ky8FZKF6m6QvKeCMRTYjure1O9EASuh6u7tdhG52aZyP8sQvReWC+RNwDGmRgwSfroMuC+GzE58ZlgaQHZ0DT6hHFhWbQ5FIg1Mk8FP+vUj/INvagb94DeZthRzzpm5mee1tjK1YGJUyVn47IoJfEXowqucKTVW9t/DloB2trv1InaHS+44dCoY1jO+zdoAziVUMHyjoF+SFVVmTNvk+MRQZhRgfsAumoGps+bxwUw7IgOiAyKQPTza50MvVfcJdWkTVIAzl3mg9EK/JTmGJ5Tn3Ero+LjKhRr76afGTs4weAXfj1ytZbBOF0uZWIduVsi+vK
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(136003)(376002)(346002)(39860400002)(86362001)(31696002)(8936002)(4744005)(6486002)(38100700002)(5660300002)(54906003)(316002)(4326008)(8676002)(6916009)(66476007)(66556008)(66946007)(186003)(2616005)(83380400001)(478600001)(2906002)(6506007)(6512007)(53546011)(26005)(41300700001)(31686004)(36756003)(59356011)(219803003)(207903002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWR2T0VraHpsOUxxQ0FaSkp6ZlFlK3dBek9xSCt6cmR2MU5QUWdUYUZQNlor?=
 =?utf-8?B?VEI4SHV4aTdhdVI2YnBsYm9oZDIrL3E2NVhpMnV6S1FzclJ2SXdaT3NaeWhz?=
 =?utf-8?B?ajBSUW5MSW9FcW1STm5obVc1OUM2S2pvM1U0YkVycDNDTStUTng2R1pMVlZR?=
 =?utf-8?B?K3B3OUJqWCtsTExpTnZGQXZUM3pPblczb0FReFdCNXhDNUlJQVlRRHVHa21P?=
 =?utf-8?B?eXpyeXdxdlQzSGtsWmNzNjZQOEVnYU8xUXZXbjFRdUdvM0N6UnkrSGRpaGEv?=
 =?utf-8?B?Rmd5bWxQMjFpZ0hiUUtZcGFuYTkwWmFFMU4xbTVIeGx3bDlCZEV6SFhkajQ0?=
 =?utf-8?B?QWV3SWpHZm9XWDg3ZDhucm1UYTZGS0hrQWRnT2xhaTQ5eS9DMG5acURVZ0Jy?=
 =?utf-8?B?eUs1YzF1S2dkZkFVUGxzNlVRNnJWNk1RV2RkQzNGby9DY2hmazZwZTZwdlhN?=
 =?utf-8?B?ZVlyODYrUWhxbEVTemxvNHUwck1YWStYTkpwVllGMkYvU3haMVlxbEFXTGVl?=
 =?utf-8?B?K0c1dUFNL2JOZllweWdWQURkRDl6dW1xZDI0c1RqdTh6N1pLTlhUUGs1Nng2?=
 =?utf-8?B?dEVMUFplTXE4ZWRmalV2VC9CN3FxSEpnR1JPclZhcng5Ym9ZYjFORHNHZ0p0?=
 =?utf-8?B?V2Vkb2Q4dHRJSkQ2cm4wa2NhVVhYeXFoalMxTVdiWjRJb0cwMk1EZndSV2pI?=
 =?utf-8?B?TGpSa0JNUmMvM0F1M3lDd05Pck9tZkN6ci9WdEt1YVBrN1RweE9RRWRwb1B5?=
 =?utf-8?B?bW1DTlZvM1RwTzVoakxGa091ZDVmM244UTR4dERVYUorUVpaaW45cmNZVUYx?=
 =?utf-8?B?V2JRVDFaTlpGb0VHT1BaRm1sc1FXc0xUZDkzUy9hYi90TDNvR2FoaVdPVG1s?=
 =?utf-8?B?MkV3dnJQQlBNSm1MN1VUT2JOUGEzUFc2aU9hWUVVV3dBSnpOT1VCKzRvYW9S?=
 =?utf-8?B?SEludTNyUzllT1JqNHh2enM1aE5JbHBhbEtoOE5tQnQxSFY3Ylo0UU1XOG9v?=
 =?utf-8?B?Z3hkTGlqZW9lQ2xaWDNKS1l6YnZkeWlVOTR1Nm00ckVObjZYODVncUFrVFg2?=
 =?utf-8?B?YTkzSEV2RTh1dmw2cUNLUHF4TmEwVHZjT0NEZTFPZHpCS0xtZzc5azFlS1FU?=
 =?utf-8?B?dmxiaFloZWthV21yS245bU1iMmwyNzNIVWNHM29VVE0ybUtXMzNDenprdkdE?=
 =?utf-8?B?azB2L1llSVlscUpwbWRCQ3l4N00yZnJLc0hxNlNhRWY2RFBuckxDYzVTRVVk?=
 =?utf-8?B?VTBTSlhUUndsYzZoZlVocEZHTWwvKzFnMzd5cWxJbjJHcWc0Sk1YMzJBb2JU?=
 =?utf-8?B?bEV4MFZXQWJjT2pzc3UvR2VleTdhK3pDY1RlcnBiaEc2SkpZaEliZnlydVlG?=
 =?utf-8?B?YWNCMnhDeW90LzRTL0FVNG1NZUpINXZxeXVqWXpCQnJ0SVFSZ3lYNlFSTUtT?=
 =?utf-8?B?azhCKzlFeGljQ2JlanpnbDVFdDRDY0RhZngyVlQyempQc1UxM1FYY2dnVTRy?=
 =?utf-8?B?M1hCNERlMWQ1Qi83ZmRRdEo2bDlad2luS0U0bWtrQW1rWXZpRHBTZVJEekVT?=
 =?utf-8?B?ZmNFNnFKcmcyWTM0OVNkSlFFM3NGTUF5a0p0SCtxbms4NkdGTkYzdE1OcCtm?=
 =?utf-8?B?VVMzaGpXVVM0WGlDZ1IvSzliSjU2MlNWM1Foa01xS1YvdmlrVGh4Z2lIemdo?=
 =?utf-8?B?aDhrM3ZqWWZLd2pqa09zbUw0N283UnBnR05zQmtVaHp6VWYzRmpMdGhpWXJq?=
 =?utf-8?B?QVh1MVREUUdJYkFRdmVLUW9DL1BSK25VOHYyeHZ4S3NqUHNiWXJlekRTcVJW?=
 =?utf-8?B?Q0Z3SkJHZWhacksxbW5RZzZUakxOV0FuNEJCaStlTWFBdlFIZWNHdGowNjVK?=
 =?utf-8?B?dUNaWUF5UzEzOVV0NXlxNFBMSk1KSk9JY21RODZaS0pYQzBwaHNpUEhEKzRY?=
 =?utf-8?B?bDlwVjJZRC9wMUF3Y1pNWVZpUEZBOVF3U2NkTEpSNVMxdm5ndXllU2RqUzho?=
 =?utf-8?B?WHg2ZUNhTGxseURpTlJDNGJKeDZKM254ZTlOZlJ4MDZ6dUJzaE9GTVNMS3VJ?=
 =?utf-8?B?aitFYi9mV2RaQ1pVc1YxSndRQWo2ZStJcTFkMUtYRlBQU3B3U3ZUNzdiMk9L?=
 =?utf-8?Q?bSq15J+5X0e/LjxmkwDPDLrwN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d41ade7-b63e-493f-1bcb-08da7b65f33e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 06:51:43.0131
 (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: bdODZM3F2hwC6UWpvDLXt/Il5S3piABqRgusC/Mm9UCJO2zJ46gm5QQ4hgETDdq7sHNflE056PXSnvDkJPWOuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2226

On 10.08.2022 21:29, Jason Andryuk wrote:
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>  
>  ## [unstable UNRELEASED](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>  
> +### Added
> + - Intel Hardware P-States (HWP) cpufreq driver

Note that there already is ...

>  ### Changed
>   - On x86 "vga=current" can now be used together with GrUB2's gfxpayload setting. Note that
>     this requires use of "multiboot2" (and "module2") as the GrUB commands loading Xen.

... a "Added / support upgraded" section right below here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 07:02:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 07:02:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384208.619506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM2DC-000597-Js; Thu, 11 Aug 2022 07:02:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384208.619506; Thu, 11 Aug 2022 07:02:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM2DC-000590-Gv; Thu, 11 Aug 2022 07:02:34 +0000
Received: by outflank-mailman (input) for mailman id 384208;
 Thu, 11 Aug 2022 07:02:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM2DB-00058u-Ur
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 07:02:33 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50065.outbound.protection.outlook.com [40.107.5.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 920152d2-1943-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 09:02:32 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB5657.eurprd04.prod.outlook.com (2603:10a6:10:a6::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 07:02:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 07:02:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 920152d2-1943-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JeOvEsYj6T647nwigO04pE+PhtIlb9MFFSELgMDxCRNP1s0yyxFEI5BRuZrWpLbrw6r2EXqFhbDoHxFC3cj8ryKwwLsd/Z+kAE7bkydj160yLvTziruhCAI2hEAN2MGHTHftwEuvnTWQyrVuAMsjb6uyZDceiftqt8y7DM6dFMD0FNxz+djk5TWZ632MBNOT8pvK/FMelNMjafIr35Nf50ax9vttiDNe8QQY280Yw2rXieBB7c+7IRw1PcVFYnYOL+RrsAKd4cSd+tBSiSFk2ADSQPGhii8v1JV9UnGwvKaU9urrTup5nOPboKmPXOYseZFx3DF67IM6k+i2Sj4gQw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8UntFayVAp+lMaQMMIqc5Pf7A1gF6CGWwYw7mxljBI4=;
 b=Z9WeMphZaHQyf8LWRdR0NfFOwSpWYds4sGXoFpM3TNsVIorOKEExhEDfuICiOQQ+VvKvdHBhvf3t2AtlZb6SzRX08JWardx0Jq2TKe7lGyxwr3vR226QYxK6h5CAY3X7bSYqswl6LQFX4aDoFmBXCOCh/rufkspgXObQFbaFj60/6wRyKes5T8LsgFLE3sshy9C6mXNBrJqv78HzKFRxiz5y3c3Jex/vYqidwd0j64QvODMuqVGa89LCnqcPXt04nIF1jejyTUGFTBYIIAefIGKi8gISjMq0qkQpg3n8jcddIREGoFA46GUB7NlsM48D19xO1MfZgo6jrMYQZ9ra2Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8UntFayVAp+lMaQMMIqc5Pf7A1gF6CGWwYw7mxljBI4=;
 b=hvqAAIcfsSr2oVioMTCdgrVsSv9t0MF7Dp+Ytey6Ue7MvBZWJeIuhWeGsVXODniY1PzRMEoZcxd+fonQwgS0z2qbPtGeoGmFPSdvklOOm3aWLVX2PnYTXtSUT3JjKcd8hszgzEFnIxNxZ4wS55ZrNpTGCC3UmAEak1XVY+0cAU6PzUdB+teFkXHfyQYNhJgLHR6aMnqAcQ0yfa3UDVzQ/Ew/pkgZ4j0JK3Z4h4NeqX81H2DBxKkIhZanGiPBjtlJFAPNdXHVUxQTmxyfbZOXadhkMkj0pIDcnGk84OZp4xx0Z7Hh5FvWOGzi/fvqN7tV/0PRSg+RwVfvUHbIXp1g1A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6681e649-a0d6-1853-e47d-c2c9057c2cd0@suse.com>
Date: Thu, 11 Aug 2022 09:02:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] PCI: avoid bogus calls to get_pseg()
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Rahul Singh <Rahul.Singh@arm.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <80fb0709-5a0d-a3a5-b2ea-dca089714ac2@suse.com>
 <ab3f2c03-afa9-a109-7803-bdc23056b7bf@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ab3f2c03-afa9-a109-7803-bdc23056b7bf@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6P191CA0074.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8a::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5c9045d6-ada0-4b22-4beb-08da7b677448
X-MS-TrafficTypeDiagnostic: DB8PR04MB5657:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rkMAdHMXJ4cUzvT7g4MRCAuBhJ3QQxYewDg3jW+yM2+KbEoR52Wsr9glCHpnjptHGgI+ZAwVN+VuUEeuzDhsadtXuQVSBFnIY4y+05IuOyIFSJY1GHFF6NsIxx47GgDfujCHds4AwmyNHNVrNOWNWgj6ETv8jRy7T7sNJLQl97U/4lHyO5FW2KGQKeB/kPJ4aNMvQLLEoPTSypYu/bgCkp9c7nVA2V8vR0Kb/9zIWEO97K5soEJVwm5KtcH0qk7QqTCwfm0l3MuHk7LXe1wIAv6hZpZm6kavTIQ5dBZXgQmQsQHupDNl3aGegpL8DeljPGghKqe/I13qxbPgHewR8mJYrmyJRY39sjAlQ/2Q8Fzcbgf+6U/oAWN1snIJPGmWGF+a8IAQYkiO0wMjuEbjpGl0ITYFP0UMwMIF5mPe5yRaaaumQii7mtwCtWFc7aD5m0PKUNtai2QvNkZznLxQxGtUhHfo13DOf00wCzsnx+K31aWff1HJMcxOX07tLRweSGaFlm0z63CvzRwIgXKQ73QLwafv++WtfQ9W4coUTqZk4BBZyqWy5/7z5GnznqDkKFJL91c8RMuckC4R74OVcPAp7HIMm6B15bAVqKy2WU3d/cDxW1RQOLWzxeZfzUNHXRmH6AEG4cLloW7skAjnU71tzH08W3bHzF1En0ZYjN8j28oifD4GzijIOTDOlVzgC6XdYS4eFtNn2TZofracL6+eVEMu/EETQAGgxdjc5IhBWp8FH4kBRQIdFa5QXIJlQAb0Bjd1UTyWzmM7P6M7d0ZPdjlcweL1Q9x9q2NOiAYdu8Wkw+wC9PSh9XJp9U9rPtU9KhqCb9dVw6Ew4InpjA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(346002)(376002)(136003)(396003)(26005)(6512007)(38100700002)(31696002)(6486002)(5660300002)(8936002)(86362001)(478600001)(53546011)(6506007)(6666004)(41300700001)(2906002)(4326008)(8676002)(66556008)(66946007)(66476007)(36756003)(83380400001)(110136005)(54906003)(2616005)(186003)(31686004)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aEx4OEpxVk1HZGlYeU85YnJaT3NHS2VTMmxoNDRDZmxZWUFHUDN2L3FBVjFX?=
 =?utf-8?B?akJwRXBtNUJIQWZTdGR2Zm42VDZyTUxNbVkzbGF6aWJpdm9iZjl2Yno1bzZm?=
 =?utf-8?B?TmVMendJWDFqc1JmZDlsaFdBZWNJNkRTUjRucDhEK1EyZXVMR28xazdlaWl2?=
 =?utf-8?B?RXVMRkZDZndsTzNRNmtlOTNUdDFSZG1NeDA2UmhlMWpHaHRXVzBIZHdvR0J0?=
 =?utf-8?B?UUtiS05LbmtKb24vbVRRNnc1N3BYTThvMHk2aDJSMGxJRG1SVmF5eEhFVVlX?=
 =?utf-8?B?QkliR2pXU1ZDdHgzSlFmeFVrVnd2RDdSN0JzVVIvVWZZeURmbEFzaHUrUmll?=
 =?utf-8?B?VUN5WjFwTzYydDB3dFduYlhuaE83UHNYbUI3NjZ2UTMyeUdaV1h2T0JmQVgz?=
 =?utf-8?B?VVA0clBydTRrcjRiZGI0aFFvMFBKbVZtcUczbHI3bjFSc2hLYkpxbFl3a29Z?=
 =?utf-8?B?R2piVUZrWTJzWFJBNGJTTVJWQkNVbmE0bFBWOE5kNGRhc2JnMDlBZHlLMVhF?=
 =?utf-8?B?S29JNktwalpaeThKSTVhdUNvNGthVWlkbGZ5VWZQKzJ5U09Vd013L3RXcDJW?=
 =?utf-8?B?R1ltdnlGUlYxODhPUW8rME9STzY2ZDJ1MW85NmlzQnlPSXRkRzhyY1gxVk9m?=
 =?utf-8?B?Y2hyNDBZQ2x4RzRMT1JTdFhseFNoK2p4TWE0VXRyNDZaUW8wZ0xBUXAwTHZS?=
 =?utf-8?B?ckUwVHg4UlUvZzVqZzc3bjZVd3llRFVreUpSVGxwRDc3ME53VnZ4UWE0d3lQ?=
 =?utf-8?B?ZmRvS1JSelMrczlJcVc5dHhWSXV6SUx3ZTJsRU1oLzVib1cwVnF6d0grY2cy?=
 =?utf-8?B?dWJqRGJDd3pCdE5TMTMrb0VWSmxHcmk1dE02VFVnYU5JV1hwaXMrN0x4WE1t?=
 =?utf-8?B?NEdyZkdpTVdyM0xYRlBmcWpHb3NIbWZ5QkRzMnZqalIwQlNrN2JJZHA5dW5Y?=
 =?utf-8?B?bXRGVUQrOThONHJkNG1JcUViQ045REZmbHRJbjVTSEprN2t5VmYrTURGSzNa?=
 =?utf-8?B?eXl1TkQ3WmJhY2QySUZUdTdXY1JuM3F4aEF0OTErS2wxc055Z2hnZVg5Zmdm?=
 =?utf-8?B?bElDbjhCWURqeGRsR2VIdS92cjVvQTdXMFBEUkRmV3FpYzhqblVUQnV1QlNs?=
 =?utf-8?B?MVJLaUpHOTFESUV5VE83VnNJRzRmV1FBWnFsNkNBUzJESjFKNzNyUGh0Wllh?=
 =?utf-8?B?enRVaVArOWlZNUpWdmNSVWdUMHNIV2ppT0hGQW9qYUdmbGszRzZUQUJVK1dM?=
 =?utf-8?B?ZjFYMGQ5Rld4SmZhb0hCazVhNDF4bjlwSHNWSDhDUHhPdFNHaklGdGIvUE1L?=
 =?utf-8?B?RkdwMlNVRzBYR2dtNUdnSVlFaXNMYVl6NEZ5ZDJMVGVyUmsvRHBxQ2hsRDAy?=
 =?utf-8?B?YVRidjdsUjNrQjFXZldvV0Z0b01OK2FKcVhCd1RDa1NlVlpzYU1IUFdyWHF6?=
 =?utf-8?B?emZ1ditzM0tramw1cmhxa2dPRjlJcmsvNFFYTXM3VVdkZWRhN3VrdjJQNUI4?=
 =?utf-8?B?UytOOUZXZ2xLRmF1bnZlaDBIYTdTTEFzQXo5VmFpT0dtY2pzY2NGa3R6YWZ4?=
 =?utf-8?B?L3lSNjVrVEJ5THBZV0xLM25FMllwWjhkZ0NUNzNxa2ZUSzVUYzBON09qM3JR?=
 =?utf-8?B?WE9SK2hzUVNpaHpZVVo0MG5oSEF2WHhvZTJaazgrTkorMVQ1KzM4SXJtOGEy?=
 =?utf-8?B?Zy85dktNcFkzN0lXWTMrYUVreFhhU0dKajR3dDRISG9BUkJLOUNYNjBLRWky?=
 =?utf-8?B?dUNjbUlROHo4RUx5QUJ3cjNTYXl2bW14YUJLS1hTMlZJVG1aUG5VMHd6Nndm?=
 =?utf-8?B?cGFHWFhtRFJTRHZ1WlFXM1BkcC90SWlqSjI4Rk44ZGkrUFJ3RjdXYVNuQ2Nx?=
 =?utf-8?B?RVh6Z3YwclR3YVg4cS9hN081MEpOaDdmTHduWEdueUduUmxEYk9yTm5HSzl1?=
 =?utf-8?B?bTU1NW0wVmk0QVh0TDV6Ung4cjE4aDNRcEFOb3BMM213Ym4veVlpdVRmVklZ?=
 =?utf-8?B?bXBqaFplQjYzYmtCd2YwbW5vTGNNanJ2SG1nZlZwbjJTN09aLzhUQTNyZmcv?=
 =?utf-8?B?OGxxN3RaRHFmbG5QbzJiYW4weWd2SnpsSm5kNHE4TExlTERzUngwbUN0NG53?=
 =?utf-8?Q?wZsPPO57DfO892/511nW6DT/e?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c9045d6-ada0-4b22-4beb-08da7b677448
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 07:02:29.0339
 (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: +y+O9/Tsddrvl4fV+I+HYnU1g/0b9YyVSS2rvUu1Mss4mWIKWL78sc6NXiPOpKnCFDT6ByGbuTh1nEv8JQu/+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5657

On 10.08.2022 14:13, Andrew Cooper wrote:
> On 09/08/2022 16:50, Jan Beulich wrote:
>> When passed -1, the function (taking a u16) will look for segment
>> 0xffff, which might exist. If it exists, we may find (return) the wrong
>> device.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> An alternative would be to declare that both functions cannot be called
>> with "wildcards" anymore. The last such use went away with f591755823a7
>> ("IOMMU/PCI: don't let domain cleanup continue when device de-assignment
>> failed") afaict.
> 
> The way wildcards were used before were always bogus IMO.
> 
> I suggest we take this opportunity to remove the ability to re-introduce
> that anti-pattern.

Okay, will do that in v2. Rahul - this means there's no point anymore
sending a v2 of your fix, as the bug will disappear as a side effect.
I'll add you as the reporter of that bug.

>> Each time I look at this pair of functions I wonder why we have two
>> copies of almost the same code (with a curious difference of only one
>> having ASSERT(pcidevs_locked())). Any opinions on deleting either one,
>> subsuming its functionality into the other one by allowing the domain
>> pointer to be NULL to signify "any"?
> 
> I'm in two minds about this.Â  Because they are the same, they ought to
> be deduped.
> 
> Except they're both insane and both want changing to a less silly
> datastructure, at which point they will be different.
> 
> It is a total waste to do an O(n) loop over all PCI devices in the
> system checking for equality to single device (and in the domain case,
> assignment to the domain).Â  The domain variant should loop over the pci
> devices in that domain, because it is guaranteed to be a shorter list
> than all devices.

With the "wildcard" support gone, that's going to be sensible, yes,
and I'll switch to that. Except for hwdom, where I mean to stick to
the per-segment all-devices lists, as on multi-segment systems these
are very likely the shorter lists, while on single-segment systems
the sole all-devices list likely isn't much longer than the list of
hwdom's devices (the delta being all devices [intended to be] passed
through plus all hidden devices). At this point I'm not sure whether
it would be worth further special-casing the single-segment case,
even if that's (on x86) the applicable one on the vast majority of
systems.

> The global lookup probably wants to investigate a more efficient
> datastructure because I bet this is a hotpath.

I don't think it's a hot path, but it can certainly be improved. Yet
that's future work, nothing to be done right here. But I'm inferring
you agree in this regard by saying "investigate".

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 07:27:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 07:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384216.619517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM2au-0007Yz-Fd; Thu, 11 Aug 2022 07:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384216.619517; Thu, 11 Aug 2022 07:27:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM2au-0007Ys-CY; Thu, 11 Aug 2022 07:27:04 +0000
Received: by outflank-mailman (input) for mailman id 384216;
 Thu, 11 Aug 2022 07:27:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM2at-0007Yi-Lm; Thu, 11 Aug 2022 07:27:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM2at-0003Uq-Ha; Thu, 11 Aug 2022 07:27:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM2at-0000Cz-8x; Thu, 11 Aug 2022 07:27:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM2at-0001On-8S; Thu, 11 Aug 2022 07:27:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LpATmmPwDu/VdByc7xMFJ2X9rwetn9ylri729NLA0nc=; b=IqYt4RDZIGePStZOVlQYTTTNMN
	84E5acRlmXrfDigengTwNBuOCDk/NT3/NIfqtbJhf9l1F654DTtl5BXJLORDTWZHG/81UUOyfXAqc
	esVBHf0WwFB3+eyT0CuG/GEecZc+LDuVjm2/JQhPAhgDNz/j8h2NYixF+CSwpneJmZAM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172366-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172366: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 07:27:03 +0000

flight 172366 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172366/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    7 days
Failing since        172148  2022-08-04 21:39:38 Z    6 days   17 attempts
Testing same since   172366  2022-08-10 20:09:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1268 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 07:34:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 07:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384227.619528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM2hh-0000e9-Cz; Thu, 11 Aug 2022 07:34:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384227.619528; Thu, 11 Aug 2022 07:34:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM2hh-0000e2-9M; Thu, 11 Aug 2022 07:34:05 +0000
Received: by outflank-mailman (input) for mailman id 384227;
 Thu, 11 Aug 2022 07:34:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jyZJ=YP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oM2hf-0000dv-J2
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 07:34:03 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7a9a687-1947-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 09:34:01 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 09575386E0;
 Thu, 11 Aug 2022 07:34:01 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9E2A51342A;
 Thu, 11 Aug 2022 07:34:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id t776JOiw9GI/OgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 11 Aug 2022 07:34:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7a9a687-1947-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660203241; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=RYBgpWOu3/19WD+GMmYcvppDczQ7yVeocRDLqEddeno=;
	b=m0mpPtGQZ4p86yYoJ+tXFcY4kk28Yb/57J8XBinSkv9s15tO4GWtA2fRjwO03xI8lfQP/Q
	3Q7EoBi6YjXyZc6BQXnIumpPKaWZSaT4umQrocKR2ittgzddjc/UMuv4pz2JUWMSbsIAl8
	FKBEUq7hgk3fBgNVlrlP0HHHbTiAsdM=
Message-ID: <23495ff0-4561-00b4-d96b-2f1bf4117b7a@suse.com>
Date: Thu, 11 Aug 2022 09:34:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: Reg. Tee init fail...
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: "SK, SivaSangeetha (Siva Sangeetha)" <SivaSangeetha.SK@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "Pandeshwara krishna, Mythri" <Mythri.Pandeshwarakrishna@amd.com>,
 "Rangasamy, Devaraj" <Devaraj.Rangasamy@amd.com>,
 "Thomas, Rijo-john" <Rijo-john.Thomas@amd.com>
References: <DM4PR12MB5200C7C38770E07B5946424A80B49@DM4PR12MB5200.namprd12.prod.outlook.com>
 <7689497b-1977-b30a-5835-587fa266c721@xen.org>
 <alpine.DEB.2.22.394.2206291251240.4389@ubuntu-linux-20-04-desktop>
 <DM4PR12MB520060A696B62EFBA3E5E96680BA9@DM4PR12MB5200.namprd12.prod.outlook.com>
 <60bf0e8a-1b58-4df4-fdcf-bcfeedd64e77@suse.com> <YvQ3cEFxWFi7fXjX@mail-itl>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YvQ3cEFxWFi7fXjX@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tnHr9OQoOKo2g0TtkaKgfTTc"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tnHr9OQoOKo2g0TtkaKgfTTc
Content-Type: multipart/mixed; boundary="------------jIKTS0XSEgSD69M9L2V9hZIE";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: "SK, SivaSangeetha (Siva Sangeetha)" <SivaSangeetha.SK@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "Pandeshwara krishna, Mythri" <Mythri.Pandeshwarakrishna@amd.com>,
 "Rangasamy, Devaraj" <Devaraj.Rangasamy@amd.com>,
 "Thomas, Rijo-john" <Rijo-john.Thomas@amd.com>
Message-ID: <23495ff0-4561-00b4-d96b-2f1bf4117b7a@suse.com>
Subject: Re: Reg. Tee init fail...
References: <DM4PR12MB5200C7C38770E07B5946424A80B49@DM4PR12MB5200.namprd12.prod.outlook.com>
 <7689497b-1977-b30a-5835-587fa266c721@xen.org>
 <alpine.DEB.2.22.394.2206291251240.4389@ubuntu-linux-20-04-desktop>
 <DM4PR12MB520060A696B62EFBA3E5E96680BA9@DM4PR12MB5200.namprd12.prod.outlook.com>
 <60bf0e8a-1b58-4df4-fdcf-bcfeedd64e77@suse.com> <YvQ3cEFxWFi7fXjX@mail-itl>
In-Reply-To: <YvQ3cEFxWFi7fXjX@mail-itl>

--------------jIKTS0XSEgSD69M9L2V9hZIE
Content-Type: multipart/mixed; boundary="------------rHe8xxYbkm2Z4cqfvU2PxKlH"

--------------rHe8xxYbkm2Z4cqfvU2PxKlH
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTEuMDguMjIgMDA6NTUsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToN
Cj4gT24gVGh1LCBKdW4gMzAsIDIwMjIgYXQgMDc6MzE6MzhBTSArMDIwMCwgSnVlcmdlbiBH
cm9zcyB3cm90ZToNCj4+IE9uIDMwLjA2LjIyIDA1OjMyLCBTSywgU2l2YVNhbmdlZXRoYSAo
U2l2YSBTYW5nZWV0aGEpIHdyb3RlOg0KPj4+IFtBTUQgT2ZmaWNpYWwgVXNlIE9ubHkgLSBH
ZW5lcmFsXQ0KPj4+DQo+Pj4gK3RlYW0NCj4+Pg0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn
ZS0tLS0tDQo+Pj4gRnJvbTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJu
ZWwub3JnPg0KPj4+IFNlbnQ6IFRodXJzZGF5LCBKdW5lIDMwLCAyMDIyIDE6MzQgQU0NCj4+
PiBUbzogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4+PiBDYzogU0ssIFNpdmFT
YW5nZWV0aGEgKFNpdmEgU2FuZ2VldGhhKSA8U2l2YVNhbmdlZXRoYS5TS0BhbWQuY29tPjsg
eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz
dGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBCZXJ0cmFuZCBNYXJxdWlzIDxiZXJ0cmFuZC5tYXJx
dWlzQGFybS5jb20+OyBWb2xvZHlteXIgQmFiY2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtAZXBh
bS5jb20+OyBqZ3Jvc3NAc3VzZS5jb207IGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tDQo+
Pj4gU3ViamVjdDogUmU6IFJlZy4gVGVlIGluaXQgZmFpbC4uLg0KPj4+DQo+Pj4gQWRkaW5n
IEp1ZXJnZW4gYW5kIEJvcmlzIGJlY2F1c2UgdGhpcyBpcyBhIExpbnV4L3g4NiBpc3N1ZS4N
Cj4+Pg0KPj4+DQo+Pj4gQXMgeW91IGNhbiBzZWUgZnJvbSB0aGlzIExpbnV4IGRyaXZlcjoN
Cj4+PiBodHRwczovL25hbTExLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91
cmw9aHR0cHMlM0ElMkYlMkZlbGl4aXIuYm9vdGxpbi5jb20lMkZsaW51eCUyRmxhdGVzdCUy
RnNvdXJjZSUyRmRyaXZlcnMlMkZjcnlwdG8lMkZjY3AlMkZ0ZWUtZGV2LmMlMjNMMTMyJmFt
cDtkYXRhPTA1JTdDMDElN0NTaXZhU2FuZ2VldGhhLlNLJTQwYW1kLmNvbSU3Q2U5NjJhOTA3
Nzk0ZjQ5MTdhODBiMDhkYTVhMGE3YjNiJTdDM2RkODk2MWZlNDg4NGU2MDhlMTFhODJkOTk0
ZTE4M2QlN0MwJTdDMCU3QzYzNzkyMTI5ODMxNTgyODEwNCU3Q1Vua25vd24lN0NUV0ZwYkda
c2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhh
V3dpTENKWFZDSTZNbjAlM0QlN0MzMDAwJTdDJTdDJTdDJmFtcDtzZGF0YT1OeG1NVWNraURS
R0x2M3FMSnJoWktCdDJ6TlR1b21FWnFZSmRWNzR0WHhBJTNEJmFtcDtyZXNlcnZlZD0wDQo+
Pj4NCj4+PiBMaW51eCBhcyBkb20wIG9uIHg4NiBpcyB0cnlpbmcgdG8gY29tbXVuaWNhdGUg
d2l0aCBmaXJtd2FyZSAoVEVFKS4gTGludXggaXMgY2FsbGluZyBfX3BhIHRvIHBhc3MgYSBw
aHlzaWNhbCBhZGRyZXNzIHRvIGZpcm13YXJlLiBIb3dldmVyLCBfX3BhIHJldHVybnMgYSAi
ZmFrZSIgYWRkcmVzcyBub3QgYW4gbWZuLiBJIGltYWdpbmUgdGhhdCBhIHF1aWNrIHdvcmth
cm91bmQgd291bGQgYmUgdG8gY2FsbCAidmlydF90b19tYWNoaW5lIiBpbnN0ZWFkIG9mICJf
X3BhIiBpbiB0ZWUtZGV2LmMuDQo+Pj4NCj4+PiBOb3JtYWxseSwgaWYgdGhpcyB3YXMgYSBk
ZXZpY2UsIHRoZSAicmlnaHQgZml4IiB3b3VsZCBiZSB0byB1c2Ugc3dpb3RsYi14ZW46eGVu
X3N3aW90bGJfbWFwX3BhZ2UgdG8gZ2V0IGJhY2sgYSByZWFsIHBoeXNpY2FsIGFkZHJlc3Mu
DQo+Pj4NCj4+PiBIb3dldmVyLCB4ZW5fc3dpb3RsYl9tYXBfcGFnZSBpcyBtZWFudCB0byBi
ZSB1c2VkIGFzIHBhcnQgb2YgdGhlIGRtYV9vcHMgQVBJIGFuZCB0YWtlcyBhIHN0cnVjdCBk
ZXZpY2UgKmRldiBhcyBpbnB1dCBwYXJhbWV0ZXIuIE1heWJlIHhlbl9zd2lvdGxiX21hcF9w
YWdlIGNhbiBiZSB1c2VkIGZvciB0ZWUtZGV2IGFzIHdlbGw/DQo+Pj4NCj4+Pg0KPj4+IEJh
c2ljYWxseSB0ZWUtZGV2IHdvdWxkIG5lZWQgdG8gY2FsbCBkbWFfbWFwX3BhZ2UgYmVmb3Jl
IHBhc3NpbmcgYWRkcmVzc2VzIHRvIGZpcm13YXJlLCBhbmQgZG1hX3VubWFwX3BhZ2Ugd2hl
biBpdCBpcyBkb25lLiBFLmcuOg0KPj4+DQo+Pj4NCj4+PiAgICAgY21kX2J1ZmZlciA9IGRt
YV9tYXBfcGFnZShkZXYsIHZpcnRfdG9fcGFnZShjbWQpLA0KPj4+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNtZCAmIH5QQUdFX01BU0ssDQo+Pj4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmluZ19zaXplLA0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIERNQV9UT19ERVZJQ0UpOw0KPj4+DQo+Pj4NCj4+PiBKdWVyZ2VuLCBCb3JpcywN
Cj4+PiB3aGF0IGRvIHlvdSB0aGluaz8NCj4+DQo+PiBZZXMsIEkgdGhpbmsgdXNpbmcgdGhl
IERNQSBpbnRlcmZhY2UgaXMgdGhlIGNvcnJlY3Qgd2F5IHRvIGhhbmRsZSB0aGF0Lg0KPj4N
Cj4+IEJUVywgSSBkaWQgYSBzaW1pbGFyIGZpeCBmb3IgdGhlIGRjZGJhcyBkcml2ZXIgcmVj
ZW50bHk6DQo+Pg0KPj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDIyMDMxODE1MDk1
MC4xNjg0My0xLWpncm9zc0BzdXNlLmNvbQ0KPiANCj4gSSBoaXQgc2ltaWxhciBpc3N1ZSwg
YW5kIHRoZSBwYXRjaCBiZWxvdyBtYWRlIGl0IHdvcmsgZm9yIG1lICh1Z2x5DQo+IHdvcmth
cm91bmQpLCBvciBhdCBsZWFzdCBzdG9wIGNvbXBsYWluaW5nLg0KPiANCj4gQnV0IG5vdGUg
b25lIG9mIHRob3NlIHBsYWNlcyBoYXZlIHRoaXMgY29tbWVudDoNCj4gDQo+IAkvKiBXZSBu
ZWVkIGFjdHVhbCBwaHlzaWNhbCBhZGRyZXNzIGluc3RlYWQgb2YgRE1BIGFkZHJlc3MsIHNp
bmNlDQo+IAkgKiBUcnVzdGVkIE9TIHJ1bm5pbmcgb24gQU1EIFNlY3VyZSBQcm9jZXNzb3Ig
d2lsbCBtYXAgdGhpcyByZWdpb24NCj4gCSAqLw0KPiANCj4gSSBndWVzcyBpdCBtZWFucyBB
TUQgU2VjdXJlIFByb2Nlc3NvciBieXBhc3NlcyBJT01NVS4uLg0KDQpJdCBzZWVtcyBub3Qg
dG8gYmUgYXR0YWNoZWQgdmlhIGFuIElPTU1VLCBzYW1lIGFzIGZvciB0aGUgRENEQkFTIGZp
eCwNCndoZXJlIHRoZSBhZGRyZXNzIGlzIHVzZWQgaW4gU01NIGhhbmRsZXIgcnVubmluZyBv
biB0aGUgbWFpbiBwcm9jZXNzb3IuDQoNCkl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byB1c2Ug
RE1BIG1hcHBpbmcgaW4geW91ciBjYXNlLCB0b28sIGFzIGxvbmcgYXMNCnRoZSByZWxhdGVk
IGRldmljZSBoYXMgdGhlIGNvcnJlY3QgRE1BIHNldHRpbmdzIG5vdCB1c2luZyBhbnkgSU9N
TVUNCnRyYW5zbGF0aW9ucy4NCg0KDQpKdWVyZ2VuDQo=
--------------rHe8xxYbkm2Z4cqfvU2PxKlH
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------rHe8xxYbkm2Z4cqfvU2PxKlH--

--------------jIKTS0XSEgSD69M9L2V9hZIE--

--------------tnHr9OQoOKo2g0TtkaKgfTTc
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL0sOgFAwAAAAAACgkQsN6d1ii/Ey8l
7Af/Yg4jv7yNwJKw4qOBLyaJdk3Hs3y+dMPn0UVOGjDMZ9/+E9Kguc7YyQfaN05I4BNTobOXSEdN
fIWuaGHO6onKJFc7RXFFjhXSakxXUSSuH99mp0Rh6l5GR+nDln6Eq/gQvLF3+hVlNiR7R9YTxzL1
aWjitXuEETU/JEFICMCBJ2LM8fg2s6GEVzc87v8gi52N1b9U5mDa/6EaAZkDzNgumdrrU5nlVKPt
A1gc6lbPfX5Ya7KwQHKmcNyzmqBpAGiuutXASURisLVU480YbPkHfIw6XOiVxH4u2LZXbD445moX
vPdomSk+QrZbPJc6VRsonF70eX+QA1LeJ1AHVZLVWA==
=mIAc
-----END PGP SIGNATURE-----

--------------tnHr9OQoOKo2g0TtkaKgfTTc--


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383699.619564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C9-0004wj-Jv; Thu, 11 Aug 2022 08:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383699.619564; Thu, 11 Aug 2022 08:05:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C9-0004sw-D4; Thu, 11 Aug 2022 08:05:33 +0000
Received: by outflank-mailman (input) for mailman id 383699;
 Wed, 10 Aug 2022 15:51:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzj-00016q-8T
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:43 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 541ecaca-18c4-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 17:51:42 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id n4so16465056wrp.10
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:42 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 541ecaca-18c4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=k7b9egffbhRjX5/OjtOx/by90hRcurZmtiI07zTQ9r0=;
        b=DO5S08zBi3vihZLd+TPnKuLvUBVq1/APvJ0DNR/ZVpJjz4DlQk8pVoCf++lDJQ+qCe
         J5GiO2q7rRcXgkXHqvH+Xa7gnatlgZJV5TwqmNquXIn+gL91mG56ATFSsq9BpXpc7zr0
         /1S04KGFgf42+WhssmeRXUhlovG5xP8Cx3T/uzDl82B5aLUk0pPU9HQVxh+wNlScY3LK
         CgQH74Kc4vSw87U7lXPsLH2C2ORUZZBxNzu/uVo2SSLsJLJNwcM+/ACew/XMVXYxRLdn
         VTO2yH9kAmRsQtleJsYuYUQbcBz0OVWz31KhDO6+31seXNLpFkbd/CzwI333S10XzntZ
         GzzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=k7b9egffbhRjX5/OjtOx/by90hRcurZmtiI07zTQ9r0=;
        b=AdwYvUhrPJImmIpqUfsocOuARRDqwfyvRtRncLpbURVVdKOZLNq9N5ezLo0959NMLs
         0ozbQamR9jbCuqHCfvZijusXUUVeW2DkQM/kD9UNs8N+o614rOWUeAHb5WnmbqR4Romi
         igyZwOsG0a1rfEd8hl27uZ5dJUezxT92c2AYZ2vjHk+wOOKHLIn3EvEqYiUpNIpwjdOK
         M4fB64sSf5MqdMwYKQBVdiawTMnwYVX0JPh8vY/vLQbOMBTxLuNUBET83/eJCRbv9fZK
         JguvxSGFLaI2esAetCw44+N4lgCxL3fopxdxGW8DO6HKL6tvAP94Qq+cmO07L3Qup5UF
         pwuQ==
X-Gm-Message-State: ACgBeo0zFu5Hj2c1tFt37Ws+mF33dkLqWk+FMCqsp292xDKgI9lEjEaa
	xi4TEYxPPLY9OriLvHdeyQ8=
X-Google-Smtp-Source: AA6agR6suRfvAaYpMQRv+C0nU04QPftK1r02sWI7OLgKf0C0mEfWd53MX+qfOk7MeFvdNRw94olKdA==
X-Received: by 2002:adf:db8f:0:b0:220:6059:5284 with SMTP id u15-20020adfdb8f000000b0022060595284mr18041360wri.33.1660146701918;
        Wed, 10 Aug 2022 08:51:41 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 04/11] net: shrink struct ubuf_info
Date: Wed, 10 Aug 2022 16:49:12 +0100
Message-Id: <1e2d0bef44cd68b0e3dd106283f4536645c2a124.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We can benefit from a smaller struct ubuf_info, so leave only mandatory
fields and let users to decide how they want to extend it. Convert
MSG_ZEROCOPY to struct ubuf_info_msgzc and remove duplicated fields.
This reduces the size from 48 bytes to just 16.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 include/linux/skbuff.h | 22 ++++------------------
 net/core/skbuff.c      | 38 +++++++++++++++++++++-----------------
 net/ipv4/ip_output.c   |  2 +-
 net/ipv4/tcp.c         |  2 +-
 net/ipv6/ip6_output.c  |  2 +-
 5 files changed, 28 insertions(+), 38 deletions(-)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index f8ac3678dab8..afd7400d7f62 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -533,25 +533,8 @@ enum {
 struct ubuf_info {
 	void (*callback)(struct sk_buff *, struct ubuf_info *,
 			 bool zerocopy_success);
-	union {
-		struct {
-			unsigned long desc;
-			void *ctx;
-		};
-		struct {
-			u32 id;
-			u16 len;
-			u16 zerocopy:1;
-			u32 bytelen;
-		};
-	};
 	refcount_t refcnt;
 	u8 flags;
-
-	struct mmpin {
-		struct user_struct *user;
-		unsigned int num_pg;
-	} mmp;
 };
 
 struct ubuf_info_msgzc {
@@ -570,7 +553,10 @@ struct ubuf_info_msgzc {
 		};
 	};
 
-	struct mmpin mmp;
+	struct mmpin {
+		struct user_struct *user;
+		unsigned int num_pg;
+	} mmp;
 };
 
 #define skb_uarg(SKB)	((struct ubuf_info *)(skb_shinfo(SKB)->destructor_arg))
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 974bbbbe7138..b047a773acd7 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1183,7 +1183,7 @@ EXPORT_SYMBOL_GPL(mm_unaccount_pinned_pages);
 
 static struct ubuf_info *msg_zerocopy_alloc(struct sock *sk, size_t size)
 {
-	struct ubuf_info *uarg;
+	struct ubuf_info_msgzc *uarg;
 	struct sk_buff *skb;
 
 	WARN_ON_ONCE(!in_task());
@@ -1201,19 +1201,19 @@ static struct ubuf_info *msg_zerocopy_alloc(struct sock *sk, size_t size)
 		return NULL;
 	}
 
-	uarg->callback = msg_zerocopy_callback;
+	uarg->ubuf.callback = msg_zerocopy_callback;
 	uarg->id = ((u32)atomic_inc_return(&sk->sk_zckey)) - 1;
 	uarg->len = 1;
 	uarg->bytelen = size;
 	uarg->zerocopy = 1;
-	uarg->flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
-	refcount_set(&uarg->refcnt, 1);
+	uarg->ubuf.flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
+	refcount_set(&uarg->ubuf.refcnt, 1);
 	sock_hold(sk);
 
-	return uarg;
+	return &uarg->ubuf;
 }
 
-static inline struct sk_buff *skb_from_uarg(struct ubuf_info *uarg)
+static inline struct sk_buff *skb_from_uarg(struct ubuf_info_msgzc *uarg)
 {
 	return container_of((void *)uarg, struct sk_buff, cb);
 }
@@ -1222,6 +1222,7 @@ struct ubuf_info *msg_zerocopy_realloc(struct sock *sk, size_t size,
 				       struct ubuf_info *uarg)
 {
 	if (uarg) {
+		struct ubuf_info_msgzc *uarg_zc;
 		const u32 byte_limit = 1 << 19;		/* limit to a few TSO */
 		u32 bytelen, next;
 
@@ -1237,8 +1238,9 @@ struct ubuf_info *msg_zerocopy_realloc(struct sock *sk, size_t size,
 			return NULL;
 		}
 
-		bytelen = uarg->bytelen + size;
-		if (uarg->len == USHRT_MAX - 1 || bytelen > byte_limit) {
+		uarg_zc = uarg_to_msgzc(uarg);
+		bytelen = uarg_zc->bytelen + size;
+		if (uarg_zc->len == USHRT_MAX - 1 || bytelen > byte_limit) {
 			/* TCP can create new skb to attach new uarg */
 			if (sk->sk_type == SOCK_STREAM)
 				goto new_alloc;
@@ -1246,11 +1248,11 @@ struct ubuf_info *msg_zerocopy_realloc(struct sock *sk, size_t size,
 		}
 
 		next = (u32)atomic_read(&sk->sk_zckey);
-		if ((u32)(uarg->id + uarg->len) == next) {
-			if (mm_account_pinned_pages(&uarg->mmp, size))
+		if ((u32)(uarg_zc->id + uarg_zc->len) == next) {
+			if (mm_account_pinned_pages(&uarg_zc->mmp, size))
 				return NULL;
-			uarg->len++;
-			uarg->bytelen = bytelen;
+			uarg_zc->len++;
+			uarg_zc->bytelen = bytelen;
 			atomic_set(&sk->sk_zckey, ++next);
 
 			/* no extra ref when appending to datagram (MSG_MORE) */
@@ -1286,7 +1288,7 @@ static bool skb_zerocopy_notify_extend(struct sk_buff *skb, u32 lo, u16 len)
 	return true;
 }
 
-static void __msg_zerocopy_callback(struct ubuf_info *uarg)
+static void __msg_zerocopy_callback(struct ubuf_info_msgzc *uarg)
 {
 	struct sk_buff *tail, *skb = skb_from_uarg(uarg);
 	struct sock_exterr_skb *serr;
@@ -1339,19 +1341,21 @@ static void __msg_zerocopy_callback(struct ubuf_info *uarg)
 void msg_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *uarg,
 			   bool success)
 {
-	uarg->zerocopy = uarg->zerocopy & success;
+	struct ubuf_info_msgzc *uarg_zc = uarg_to_msgzc(uarg);
+
+	uarg_zc->zerocopy = uarg_zc->zerocopy & success;
 
 	if (refcount_dec_and_test(&uarg->refcnt))
-		__msg_zerocopy_callback(uarg);
+		__msg_zerocopy_callback(uarg_zc);
 }
 EXPORT_SYMBOL_GPL(msg_zerocopy_callback);
 
 void msg_zerocopy_put_abort(struct ubuf_info *uarg, bool have_uref)
 {
-	struct sock *sk = skb_from_uarg(uarg)->sk;
+	struct sock *sk = skb_from_uarg(uarg_to_msgzc(uarg))->sk;
 
 	atomic_dec(&sk->sk_zckey);
-	uarg->len--;
+	uarg_to_msgzc(uarg)->len--;
 
 	if (have_uref)
 		msg_zerocopy_callback(NULL, uarg, true);
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index d7bd1daf022b..546897a4b4fa 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -1043,7 +1043,7 @@ static int __ip_append_data(struct sock *sk,
 				paged = true;
 				zc = true;
 			} else {
-				uarg->zerocopy = 0;
+				uarg_to_msgzc(uarg)->zerocopy = 0;
 				skb_zcopy_set(skb, uarg, &extra_uref);
 			}
 		}
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 970e9a2cca4a..3152da8f4763 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1239,7 +1239,7 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 			}
 			zc = sk->sk_route_caps & NETIF_F_SG;
 			if (!zc)
-				uarg->zerocopy = 0;
+				uarg_to_msgzc(uarg)->zerocopy = 0;
 		}
 	}
 
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 897ca4f9b791..6d4f01a0cf6e 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -1568,7 +1568,7 @@ static int __ip6_append_data(struct sock *sk,
 				paged = true;
 				zc = true;
 			} else {
-				uarg->zerocopy = 0;
+				uarg_to_msgzc(uarg)->zerocopy = 0;
 				skb_zcopy_set(skb, uarg, &extra_uref);
 			}
 		}
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383694.619551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C8-0004h0-T5; Thu, 11 Aug 2022 08:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383694.619551; Thu, 11 Aug 2022 08:05:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C8-0004fU-NU; Thu, 11 Aug 2022 08:05:32 +0000
Received: by outflank-mailman (input) for mailman id 383694;
 Wed, 10 Aug 2022 15:51:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzg-00016q-6c
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:40 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5259254d-18c4-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 17:51:39 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id p10so18205183wru.8
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:39 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5259254d-18c4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=RS63Hb0HKwQLj+yY8E+g8nWuxDYTXWs65j0+OKPH1OE=;
        b=ZQdOMbpO/VHyANe5mleak9CanXYG2CBuqoaXodVPqSxfN0jYX3Wpv/vcb6iubMBW1u
         4Ble+mSyTPc7xm8K/FN13yhEm7K3hDV1my/RtaOdys3+jH8lzdROVrs3yday1zidVe+x
         bMEKgzVG6yfs6m4/lp21crX1YCY0qdX1LO/SN3r1GTpQB97R7NYdjhtr4vcyw0X1MhlZ
         Rsr3NqzS5od350DfBp0/rWIgXTPVwoJA57tT5sN5ssmtZG7YNPmWvIuqmqqLbLD3mFiz
         LM3JoK9cwamnuJVbkAxMoi+VNXdtwhLPXE2PCWt/23HgKhwIUuswHMgcOCy1QLV1mNAn
         Xu2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=RS63Hb0HKwQLj+yY8E+g8nWuxDYTXWs65j0+OKPH1OE=;
        b=Gr4KgvZMRV0/TgpcKcSPSZCBFXb/9Jbbn7b7AFXStaS7USHY2W6eD3SwJ8rKqENqKq
         4oUwNrYY1RJ3kK6osWpfXqQChcE89Flq/2XZkIntU4TUwmeBZbikkVaHwHYHcKHT7pzb
         bP1Np8kF1kbfWkyIk+VgagaRg1JGRAC+h2/zVMxFdMcmXq4GNj5NGN0mfevvRV4Yrixm
         DsRsmaKX9JsmvcpJVpdxqXXYhGj5v+tXIEmKBzRIfGL0YuQM0PfOihK5F7a+xGopI1m8
         SwDTXinAbE0Nn/40XcYhHnV+4SQz+2ocAl72M+rU2s2hjmpLzLd33LVzFAka6Gf5hxUI
         RhkA==
X-Gm-Message-State: ACgBeo2h4bASfGJXdn4j8p3eflTRwDQXRH+e7Mw0Jaq6mrE1PRJuqTid
	trHk0AAi0e5aNLbJy5fj6AQ=
X-Google-Smtp-Source: AA6agR4m7a1ZpBafnXxHxc3Qgb+mIUi9eJAFTWTIHDXvxrcaOuXHorpWp86zCAS5S/bxu6e6MTh00Q==
X-Received: by 2002:a5d:64aa:0:b0:21e:be27:6dfb with SMTP id m10-20020a5d64aa000000b0021ebe276dfbmr18180217wrp.456.1660146698952;
        Wed, 10 Aug 2022 08:51:38 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 02/11] xen/netback: use struct ubuf_info_msgzc
Date: Wed, 10 Aug 2022 16:49:10 +0100
Message-Id: <9d13d0d17d672ce55a3d5cfd06d5c521270a7d4d.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

struct ubuf_info will be changed, use ubuf_info_msgzc instead.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 drivers/net/xen-netback/common.h    | 2 +-
 drivers/net/xen-netback/interface.c | 4 ++--
 drivers/net/xen-netback/netback.c   | 7 ++++---
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
index 8174d7b2966c..1545cbee77a4 100644
--- a/drivers/net/xen-netback/common.h
+++ b/drivers/net/xen-netback/common.h
@@ -62,7 +62,7 @@ struct pending_tx_info {
 	 * ubuf_to_vif is a helper which finds the struct xenvif from a pointer
 	 * to this field.
 	 */
-	struct ubuf_info callback_struct;
+	struct ubuf_info_msgzc callback_struct;
 };
 
 #define XEN_NETIF_TX_RING_SIZE __CONST_RING_SIZE(xen_netif_tx, XEN_PAGE_SIZE)
diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c
index fb32ae82d9b0..e579ecd40b74 100644
--- a/drivers/net/xen-netback/interface.c
+++ b/drivers/net/xen-netback/interface.c
@@ -591,8 +591,8 @@ int xenvif_init_queue(struct xenvif_queue *queue)
 	}
 
 	for (i = 0; i < MAX_PENDING_REQS; i++) {
-		queue->pending_tx_info[i].callback_struct = (struct ubuf_info)
-			{ .callback = xenvif_zerocopy_callback,
+		queue->pending_tx_info[i].callback_struct = (struct ubuf_info_msgzc)
+			{ { .callback = xenvif_zerocopy_callback },
 			  { { .ctx = NULL,
 			      .desc = i } } };
 		queue->grant_tx_handle[i] = NETBACK_INVALID_HANDLE;
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index a256695fc89e..3d2081bbbc86 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -133,7 +133,7 @@ static inline unsigned long idx_to_kaddr(struct xenvif_queue *queue,
 
 /* Find the containing VIF's structure from a pointer in pending_tx_info array
  */
-static inline struct xenvif_queue *ubuf_to_queue(const struct ubuf_info *ubuf)
+static inline struct xenvif_queue *ubuf_to_queue(const struct ubuf_info_msgzc *ubuf)
 {
 	u16 pending_idx = ubuf->desc;
 	struct pending_tx_info *temp =
@@ -1228,11 +1228,12 @@ static int xenvif_tx_submit(struct xenvif_queue *queue)
 	return work_done;
 }
 
-void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf,
+void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf_base,
 			      bool zerocopy_success)
 {
 	unsigned long flags;
 	pending_ring_idx_t index;
+	struct ubuf_info_msgzc *ubuf = uarg_to_msgzc(ubuf_base);
 	struct xenvif_queue *queue = ubuf_to_queue(ubuf);
 
 	/* This is the only place where we grab this lock, to protect callbacks
@@ -1241,7 +1242,7 @@ void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf,
 	spin_lock_irqsave(&queue->callback_lock, flags);
 	do {
 		u16 pending_idx = ubuf->desc;
-		ubuf = (struct ubuf_info *) ubuf->ctx;
+		ubuf = (struct ubuf_info_msgzc *) ubuf->ctx;
 		BUG_ON(queue->dealloc_prod - queue->dealloc_cons >=
 			MAX_PENDING_REQS);
 		index = pending_index(queue->dealloc_prod);
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383693.619544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C8-0004Yv-Jb; Thu, 11 Aug 2022 08:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383693.619544; Thu, 11 Aug 2022 08:05:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C8-0004Yj-E0; Thu, 11 Aug 2022 08:05:32 +0000
Received: by outflank-mailman (input) for mailman id 383693;
 Wed, 10 Aug 2022 15:51:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzf-00016w-62
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:39 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5186db06-18c4-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 17:51:38 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id l22so18237621wrz.7
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:38 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5186db06-18c4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=mveucMTZdZPLlN4D5K1kqfZw5UNWDwp9Ns7O7VRFK+I=;
        b=FeHdakLvXxtWgjpPF+aflE98THue/ZKUpEuSPYY/vwKS6pLky2/FycS8L1DaAOP7p2
         gbmwq+ySuj1nbkojJhrktc86MeoeDdNZHmrmEXeui4TvX9dWZtL5o1pn/n2SFPu2UKqJ
         LwG8Bt1+6Z9HVd12TbOjrwFHHO7Xbx+0NZ4knAvVP00VnvWpTA1vdoX8qFWZUEU1a0Hc
         WTzV9hRGh/acAWBr/K4D/fYN2WXLMaChMzaEobWBKN01dp0GD77rhc2rXo7Zw1Rse8vI
         EoYL8E2KpOU5sN0NjoXacILSTjNTJslWSxRKaYX/is4eawuPkbRaWRlUK6vsWA5Q252i
         fHCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=mveucMTZdZPLlN4D5K1kqfZw5UNWDwp9Ns7O7VRFK+I=;
        b=EeFksYZ35i1qaPE28k27EygXi9Hk0amzquZl8wc9o0iOIXgXQymyoA3wd+YBcLMyCf
         LYoU+9zv7noUhKgoy3FbGRcTuPHbmb5jb5tZPpA3AQsfuXVndYoG6y8JQT0RhCrWZ5a5
         M7rA4cCtB6pqxqawNGTeqwXoHFOHjLciPLpaFkPdRFZktgDdZ7LRMlz/SpBp3VF0/jOk
         pg7p+O0EqXrSBWakpb8YROAsDOBAg/lWE250apcV5bqE1tys6fDxcPeX3ymuC6ldA8nX
         Peuez7rvbi2ckMGCeJJlMSLBUxgHzBmAHmdAZONLF7I/TxY2wr8neuXvhyEk+PBSThDF
         IA6g==
X-Gm-Message-State: ACgBeo1uwcLFx4gJmOQQ6iZaaN7fa7NAcz4iKUAojh38mEv6czDFFrcB
	WD4azZs9gnduOGFLdkZ9DQY=
X-Google-Smtp-Source: AA6agR6IVj+Term37QFPdVaJx8duP8zGzs+p0efJL76vLIQCk5ivpP0E95/E2mMnqsqquEDgBKZAtg==
X-Received: by 2002:a05:6000:3c6:b0:220:5efd:423c with SMTP id b6-20020a05600003c600b002205efd423cmr18135634wrg.214.1660146697602;
        Wed, 10 Aug 2022 08:51:37 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 01/11] net: introduce struct ubuf_info_msgzc
Date: Wed, 10 Aug 2022 16:49:09 +0100
Message-Id: <d43f3ed1cb75c5572c1fc3bb32f2bb47c682da93.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We're going to split struct ubuf_info and leave there only
mandatory fields. Users are free to extend it. Add struct
ubuf_info_msgzc, which will be an extended version for MSG_ZEROCOPY and
some other users. It duplicates of struct ubuf_info for now and will be
removed in a couple of patches.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 include/linux/skbuff.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index ca8afa382bf2..f8ac3678dab8 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -554,7 +554,28 @@ struct ubuf_info {
 	} mmp;
 };
 
+struct ubuf_info_msgzc {
+	struct ubuf_info ubuf;
+
+	union {
+		struct {
+			unsigned long desc;
+			void *ctx;
+		};
+		struct {
+			u32 id;
+			u16 len;
+			u16 zerocopy:1;
+			u32 bytelen;
+		};
+	};
+
+	struct mmpin mmp;
+};
+
 #define skb_uarg(SKB)	((struct ubuf_info *)(skb_shinfo(SKB)->destructor_arg))
+#define uarg_to_msgzc(ubuf_ptr)	container_of((ubuf_ptr), struct ubuf_info_msgzc, \
+					     ubuf)
 
 int mm_account_pinned_pages(struct mmpin *mmp, size_t size);
 void mm_unaccount_pinned_pages(struct mmpin *mmp);
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383692.619539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C8-0004VP-9N; Thu, 11 Aug 2022 08:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383692.619539; Thu, 11 Aug 2022 08:05:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C8-0004VI-5w; Thu, 11 Aug 2022 08:05:32 +0000
Received: by outflank-mailman (input) for mailman id 383692;
 Wed, 10 Aug 2022 15:51:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnze-00016q-5Z
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:38 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 509c43d0-18c4-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 17:51:36 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id bv3so18211431wrb.5
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:36 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 509c43d0-18c4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=eLUXa/7f03mrrlxRZvP1+mfNlm5ZK61/IOpf+UOnfpA=;
        b=WqSg1M4LPvRvE7ifojxAgf7wRBU1icJ6/c02Okmzy1I7MNcWnJciMvgd9E29H25H4Q
         hOSe7+Md7Co6t5MC+3/kIvdRVkg5NK+48WzlsJpoKmlT00h4hLNZDfBAFl5jNzjUkw2L
         tDwbjfZBV458pAPRzXjVRiCGwRDFyQTytaD+8YF9Tuc0TmbJm9yw+HSJc6BXCFKIzpEK
         D9d891nlEEq+OcCtS7778AT52Q5yAJ9ZCs40vzIlwX+6P3K1D46S8DHPJLWHUfGr37ct
         L8IZcVVnoD/jWZzALGwunGKNX3cSyxrT1U/+O4o866OfJT0bJ2tZvGB0V4x8e0v/HdlK
         ai3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=eLUXa/7f03mrrlxRZvP1+mfNlm5ZK61/IOpf+UOnfpA=;
        b=iVuUgPGZSblF0iDAwVMXsJMi3cEdZf2NMlyFuTFGs5QW2rodO3j9h0Ly8VKXzFS+i9
         RS+T+dbXWwxzi29BAwU75Ji+deSrnPFNoLWfSyk7w89L7pwmmFaWMtCtCGrRXqnQqayX
         AEh9aSpL8Tkv60opG+T2/zD3LpZF2tS24KS0nWrc1/eINGmHaMcOu5FF8XV7E7o8NESu
         fvrnzte55scRA2BZ5qzxz7ZiBaT7y6hEaSqduTQibXWT3ORd95SgATYtKrUh5chW48kL
         dy9fjbskRmiXkIwE6lj9gYinrqy8fXKpCoxLXiH/tfFrSdsQpy6Y4x8CSawKAgBlBK2M
         kvtQ==
X-Gm-Message-State: ACgBeo32nm4MIrhlDSaMS5zvf5daAf1VnIeGAmmUW08DSYnWsW8+eBk+
	ZCUm7Glkh0Awp7T6epUx3Pk=
X-Google-Smtp-Source: AA6agR5DJfVKYDlrSNLa3wNyuLPvwubsZF8VZQM6JU+GS2BugrOvjw9AFh0IiP8A3TZSNH/OEieLog==
X-Received: by 2002:a05:6000:785:b0:220:6d7f:dd1f with SMTP id bu5-20020a056000078500b002206d7fdd1fmr18016045wrb.578.1660146695975;
        Wed, 10 Aug 2022 08:51:35 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 00/11] improve io_uring's ubuf_info refcounting
Date: Wed, 10 Aug 2022 16:49:08 +0100
Message-Id: <cover.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is a couple of tricks we can do with io_uring to improve ubuf_info
refcounting. First, we ammortise reference grabbing and then give them
away to the network layer, which is implemented in 8 and 11. Also, we
don't need need additional pinning for TCP, which is removed by 7.

1-4 are needed because otherwise we're out of space in io_notif_data and
using ->desc or some other field of ubuf_info would be ugly. It'll also
facilitate further ideas like adding a simpler notification model for UDP.

liburing/examples/io_uring-sendzc benchmark using a branch containing the
patchset and some more [1] showed ~1.6% qps improvement for UDP (dummy dev),
and ~1% for TCP (localhost + hacks enabling zc).

I didn't specifically test xen and vhost and not sure how, would love
some help with that.

[1] https://github.com/isilence/linux/tree/net/zc-ref-optimisation

Pavel Begunkov (11):
  net: introduce struct ubuf_info_msgzc
  xen/netback: use struct ubuf_info_msgzc
  vhost/net: use struct ubuf_info_msgzc
  net: shrink struct ubuf_info
  net: rename ubuf_info's flags
  net: add flags for controlling ubuf_info
  net/tcp: optimise tcp ubuf refcounting
  net: let callers provide ->msg_ubuf refs
  io_uring/notif: add helper for flushing refs
  io_uring/notif: mark notifs with UARGFL_CALLER_PINNED
  io_uring/notif: add ubuf_info ref caching

 drivers/net/xen-netback/common.h    |  2 +-
 drivers/net/xen-netback/interface.c |  4 +--
 drivers/net/xen-netback/netback.c   |  7 +++---
 drivers/vhost/net.c                 | 17 +++++++------
 include/linux/skbuff.h              | 35 +++++++++++++++++++++++---
 io_uring/net.c                      |  8 +++++-
 io_uring/notif.c                    | 21 ++++++++++------
 io_uring/notif.h                    | 22 +++++++++++++++-
 net/core/skbuff.c                   | 39 ++++++++++++++++-------------
 net/ipv4/ip_output.c                |  3 ++-
 net/ipv4/tcp.c                      | 11 +++++---
 net/ipv6/ip6_output.c               |  3 ++-
 12 files changed, 123 insertions(+), 49 deletions(-)

-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383705.619589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CB-0005Qe-2E; Thu, 11 Aug 2022 08:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383705.619589; Thu, 11 Aug 2022 08:05:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CA-0005On-RJ; Thu, 11 Aug 2022 08:05:34 +0000
Received: by outflank-mailman (input) for mailman id 383705;
 Wed, 10 Aug 2022 15:51:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzn-00016q-Mc
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:47 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56d6cb5f-18c4-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 17:51:47 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id j1so18275492wrw.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:46 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56d6cb5f-18c4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=h9HHmdtmbDaBgAkYhJr0MaG2LsaIMYK3/tGmura3Q/c=;
        b=RkQDnrNrgozMvW1slfCx3exnfLZSPNL0SE3J0CmXcn4NPQmzKH1nUhVoCi4rJ/bGhQ
         qWkiTJzALDavZu1xxA3ht8UtZU4n6tL4iHm1Zx/Em0r6K4Qe5KsTNb1lHxoLPs9CxUrL
         ZNGihmk1LOvOohQDQ1AY3Ulw8RiLhtDxqyohg/rvq0SO7NQvrO7saW7gPAaH7++iBvJP
         Jl1azWCXpOvZRwom0TDdfqiZB33KjKODuKkdpzGyNypg8/uceMD9cO1ihA+jI9r5ZcC3
         TYYoAUSpD/Fkw5BOO1iG7WSOK8lPFUPa6a5TlPYgWBB6P/+e3jyrNxZORTfBjtmz0zUS
         rYzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=h9HHmdtmbDaBgAkYhJr0MaG2LsaIMYK3/tGmura3Q/c=;
        b=gqrINwAblhQzlCwGHkavlNMWU+GHwUsvJ1tPHgZKZ9S6hpRhfrQtqdLGaNZP1dKJ8A
         BGB3wrC6cZl5URcgGGU85dsgmxtL8082aMGzME7+OmhBlQowzRQFeOIP4TGgQ2CrF5Cx
         6DOviDb50fEQwfSL4EqM/2Mw2ghHJCan2kKlSySOYXiPHJG/tJFN0Uo+wvHYnfJRaNzR
         xypIDHSYootR/5ueXcr1xXTGp+jbhf1e6rH8/8s7cez429ndiuMSZ63llqNleMzHj8VX
         0SSRXN+rh4XGluFNlxLemBxRNyJleI23rma3zwhbUtMO6ohbn/YGmmRA0Dvf8nQVo4dV
         y1OQ==
X-Gm-Message-State: ACgBeo2CNKq43octZdG6Ec04vreyRn5eBNXAHS7gT2QkUEPwTbzbXn8o
	1V9mvyNscg0XxUkSiGVJbPo=
X-Google-Smtp-Source: AA6agR6ZNn9gZ3GD3qgxjdOVbL8JXumKhuxwUdsZoAGuCONXxJ2F64wM4uAcQJPM/4Jm+GN1m/z5nQ==
X-Received: by 2002:a5d:634d:0:b0:220:5ff7:3969 with SMTP id b13-20020a5d634d000000b002205ff73969mr16857681wrw.709.1660146706405;
        Wed, 10 Aug 2022 08:51:46 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 07/11] net/tcp: optimise tcp ubuf refcounting
Date: Wed, 10 Aug 2022 16:49:15 +0100
Message-Id: <9a42187cdc9ce034fd23179c7b31d7cc6a54bd45.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add UARGFL_CALLER_PINNED letting protocols know that the caller holds a
reference to the ubuf_info and so it doesn't need additional refcounting
for purposes of keeping it alive. With that TCP can save a refcount
put/get pair per send when used with ->msg_ubuf.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 include/linux/skbuff.h | 7 +++++++
 net/ipv4/tcp.c         | 9 ++++++---
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 2b2e0020030b..45fe7f0648d0 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -522,6 +522,13 @@ enum {
 #define SKBFL_ALL_ZEROCOPY	(SKBFL_ZEROCOPY_FRAG | SKBFL_PURE_ZEROCOPY | \
 				 SKBFL_DONT_ORPHAN | SKBFL_MANAGED_FRAG_REFS)
 
+enum {
+	/* The caller holds a reference during the submission so the ubuf won't
+	 * be freed until we return.
+	 */
+	UARGFL_CALLER_PINNED = BIT(0),
+};
+
 /*
  * The callback notifies userspace to release buffers when skb DMA is done in
  * lower device, the skb last reference should be 0 when calling this.
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 3152da8f4763..4925107de57d 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1229,7 +1229,8 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 
 		if (msg->msg_ubuf) {
 			uarg = msg->msg_ubuf;
-			net_zcopy_get(uarg);
+			if (!(uarg->flags & UARGFL_CALLER_PINNED))
+				net_zcopy_get(uarg);
 			zc = sk->sk_route_caps & NETIF_F_SG;
 		} else if (sock_flag(sk, SOCK_ZEROCOPY)) {
 			uarg = msg_zerocopy_realloc(sk, size, skb_zcopy(skb));
@@ -1455,7 +1456,8 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 		tcp_push(sk, flags, mss_now, tp->nonagle, size_goal);
 	}
 out_nopush:
-	net_zcopy_put(uarg);
+	if (uarg && !(uarg->flags & UARGFL_CALLER_PINNED))
+		net_zcopy_put(uarg);
 	return copied + copied_syn;
 
 do_error:
@@ -1464,7 +1466,8 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 	if (copied + copied_syn)
 		goto out;
 out_err:
-	net_zcopy_put_abort(uarg, true);
+	if (uarg && !(uarg->flags & UARGFL_CALLER_PINNED))
+		net_zcopy_put_abort(uarg, true);
 	err = sk_stream_error(sk, flags, err);
 	/* make sure we wake any epoll edge trigger waiter */
 	if (unlikely(tcp_rtx_and_write_queues_empty(sk) && err == -EAGAIN)) {
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383703.619584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CA-0005Hq-NC; Thu, 11 Aug 2022 08:05:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383703.619584; Thu, 11 Aug 2022 08:05:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CA-0005Ev-CU; Thu, 11 Aug 2022 08:05:34 +0000
Received: by outflank-mailman (input) for mailman id 383703;
 Wed, 10 Aug 2022 15:51:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzl-00016w-Ps
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:45 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55c66db5-18c4-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 17:51:45 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 a18-20020a05600c349200b003a30de68697so1852975wmq.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:45 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55c66db5-18c4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=I6HOvD/OHCC6U7VTSloH8Bzb7BhYYX9aNTArIgD6mXg=;
        b=CvZ+o5GyX9Cl58rR5XQmVQ/WnA/GRIRdZxP33Dzgj6r9DPlQRphs6yOhzWqdULKen9
         gMmXHh/unAvJbQnQA9hJTCa2uvfKeDglP05vwYf7ACs1xU/sY79GVh0ja78nBVBuQos9
         At2FAi3HtK9PCPmiPaAo3PGgSrGuJe4zvs8ZzOggBwh7U2mW5q2DaPPvVs8/T9wnfdXz
         94FcpAUm2zJ0X95SveH+CL7kQAQJnVwYQOQrhReSHaP1tz8rIPU18lNRtSV+dGg7djft
         87OokEhFNIW6wyCD9lMh9IYzKCch26fi5GrPIxaxnKIQEuRdYWpJJ4Lz0KAThc69LX2g
         ITgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=I6HOvD/OHCC6U7VTSloH8Bzb7BhYYX9aNTArIgD6mXg=;
        b=V5XjQqJpiDQraXhGnF08AHY+r4WI6XBblL97n9Mvt5SXCMRwJ0KVEpVK3OGyImPSye
         6BzMy/dEFLyaiu8PmrY12e2PDX99FRpPyIH0BtU01iaHghRf2y0VzfxrpmwFagVA6D36
         aDoThVhFFMzaWTUIlX1aCOw65vCCAbW0JXn1V+P/uKD46icE/vAInuGOa4vyD6AVdAl1
         7xqvq9gjxnq2DvIUix9CdY6oJoZroPIFYLCRbnkGL4ZtMTNIIUccKiqJbbZL2f81dtyb
         AlHTm8r/bv+fePm/1G4qmBcphyx5zsUJf7WMJxwEbMhaIgHHc8+KoHJGua6DKMne8nJz
         VG7Q==
X-Gm-Message-State: ACgBeo3Mx8JhYoFjJ1q0e3jNNMG7VxW3ul0iMXoBf91MNHpQKTn8+p4p
	w36nZ9GHFILZmwmTk7ezmuI=
X-Google-Smtp-Source: AA6agR45he4dyQKI12poNM8AGSPq8F4/kGUNUT0s11gtoLe3WPA20HuKlateIe0Lr4uUnp3aBCdobA==
X-Received: by 2002:a05:600c:1e05:b0:3a5:b441:e9c with SMTP id ay5-20020a05600c1e0500b003a5b4410e9cmr2221515wmb.24.1660146704771;
        Wed, 10 Aug 2022 08:51:44 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 06/11] net: add flags for controlling ubuf_info
Date: Wed, 10 Aug 2022 16:49:14 +0100
Message-Id: <433971d77b5a757b11ce5683ef1d0377efcc8544.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are already skb_flags in ubuf_info, which enhancing skbs. Also add
flags controlling ubuf_info, mainly to hint about various referencing
aspects of it, which will be introduced in later patches.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 include/linux/skbuff.h | 1 +
 io_uring/notif.c       | 1 +
 net/core/skbuff.c      | 1 +
 3 files changed, 3 insertions(+)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index e749b5d3868d..2b2e0020030b 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -535,6 +535,7 @@ struct ubuf_info {
 			 bool zerocopy_success);
 	refcount_t refcnt;
 	u8 skb_flags;
+	u8 flags;
 };
 
 struct ubuf_info_msgzc {
diff --git a/io_uring/notif.c b/io_uring/notif.c
index 97cb4a7e8849..a2ba1e35a59f 100644
--- a/io_uring/notif.c
+++ b/io_uring/notif.c
@@ -66,6 +66,7 @@ struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx,
 	nd = io_notif_to_data(notif);
 	nd->account_pages = 0;
 	nd->uarg.skb_flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
+	nd->uarg.flags = 0;
 	nd->uarg.callback = io_uring_tx_zerocopy_callback;
 	/* master ref owned by io_notif_slot, will be dropped on flush */
 	refcount_set(&nd->uarg.refcnt, 1);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 40bb84986800..7e102373482c 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1207,6 +1207,7 @@ static struct ubuf_info *msg_zerocopy_alloc(struct sock *sk, size_t size)
 	uarg->bytelen = size;
 	uarg->zerocopy = 1;
 	uarg->ubuf.skb_flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
+	uarg->ubuf.flags = 0;
 	refcount_set(&uarg->ubuf.refcnt, 1);
 	sock_hold(sk);
 
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383701.619576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CA-000579-93; Thu, 11 Aug 2022 08:05:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383701.619576; Thu, 11 Aug 2022 08:05:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C9-00054h-RU; Thu, 11 Aug 2022 08:05:33 +0000
Received: by outflank-mailman (input) for mailman id 383701;
 Wed, 10 Aug 2022 15:51:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzk-00016q-FG
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:44 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54eb7c8b-18c4-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 17:51:43 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 i128-20020a1c3b86000000b003a536d58f73so1211964wma.4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:43 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54eb7c8b-18c4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=aYyDEkTXwWBCvoGHlIPqb+/BxSLKuFl8ndVR481kS1w=;
        b=hZ9U5hOp4VB5FaNjAUnUraKpOCA2Wpyj5HNp6Hhmv23m66TTZRgMWtl/dQOYhFz/E9
         36lXEdGbdo0OOYp9ub05DxHU0JI2ixvQfkVCuWQmznlpIUTvzJs+XnGqaJ2CMBu+LqhP
         BnPg0B38v5clDnOrD+9TKJLttKJu9NRZchU1iQUWn8KW95x2YDQFqqAhiIbkPwedVKlK
         NGR7PWWBnUvj5HLI2Nv9zCRnQk5F7LOPjdp0zI7zbkzXr3sK9gOJiNthyiUh1Y08msvy
         8rfhtGaZQIdqI/4wm9WgW+yQdrbS+/dsw22V6yBOrwzgjM4RRxcF9hYdLnEirsOA1u+p
         JGmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=aYyDEkTXwWBCvoGHlIPqb+/BxSLKuFl8ndVR481kS1w=;
        b=4FHtAh8TaKod+uiqFWHNTVsazBx+12jeeLzaQ1vkirwTNeDl4WCfRnPy0qP5gxlMRm
         MurSEKhwADLOH+HY5XnUjha1nqb5NjZAj0mNGvNuFdrygHw6q0JhwDsUcq93d3Ki4DYP
         F/ZWIU9MzX6kyujElJcdfDVXAm/Z/p3rwQTN/j1OpZczLD3gQa2aKAMcK+7cB1tpM9vB
         geJL9aNN4z5eAj6Gl63Dixh3zNxquXxhJlCc5yDhE9gqMGFlgrdt+vcEiXfFuFk96z6p
         Rq41MZaawb9MVoHY+2UkJS1awA/LI1kMeHlLiLVVze0V1oUQytjzWLa4900gNsncxDbw
         +53g==
X-Gm-Message-State: ACgBeo2xYBBHDeNkgOjhZE5TEEibm7BKTKAcNvYc5yrOgrzoWNYulEP0
	BZYCdgzrSeZAXLUCdv6wBR4=
X-Google-Smtp-Source: AA6agR4pIC1FSo3wRp5p1MAJqhHvgQE9nDnk6Uk00rTTOcb22zy1nLrULEj+sKAA+/DezVNGQLcv4Q==
X-Received: by 2002:a05:600c:1e8d:b0:3a5:74d:c61c with SMTP id be13-20020a05600c1e8d00b003a5074dc61cmr2953296wmb.70.1660146703329;
        Wed, 10 Aug 2022 08:51:43 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 05/11] net: rename ubuf_info's flags
Date: Wed, 10 Aug 2022 16:49:13 +0100
Message-Id: <7d43d8dd1c7e7c9964d40202482f325ecd06642b.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

ubuf_info::flags contains SKBFL_* flags that we copy into skbs, change
the field name to stress that it keeps skb flags.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 include/linux/skbuff.h | 4 ++--
 io_uring/notif.c       | 2 +-
 net/core/skbuff.c      | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index afd7400d7f62..e749b5d3868d 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -534,7 +534,7 @@ struct ubuf_info {
 	void (*callback)(struct sk_buff *, struct ubuf_info *,
 			 bool zerocopy_success);
 	refcount_t refcnt;
-	u8 flags;
+	u8 skb_flags;
 };
 
 struct ubuf_info_msgzc {
@@ -1664,7 +1664,7 @@ static inline void net_zcopy_get(struct ubuf_info *uarg)
 static inline void skb_zcopy_init(struct sk_buff *skb, struct ubuf_info *uarg)
 {
 	skb_shinfo(skb)->destructor_arg = uarg;
-	skb_shinfo(skb)->flags |= uarg->flags;
+	skb_shinfo(skb)->flags |= uarg->skb_flags;
 }
 
 static inline void skb_zcopy_set(struct sk_buff *skb, struct ubuf_info *uarg,
diff --git a/io_uring/notif.c b/io_uring/notif.c
index b5f989dff9de..97cb4a7e8849 100644
--- a/io_uring/notif.c
+++ b/io_uring/notif.c
@@ -65,7 +65,7 @@ struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx,
 
 	nd = io_notif_to_data(notif);
 	nd->account_pages = 0;
-	nd->uarg.flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
+	nd->uarg.skb_flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
 	nd->uarg.callback = io_uring_tx_zerocopy_callback;
 	/* master ref owned by io_notif_slot, will be dropped on flush */
 	refcount_set(&nd->uarg.refcnt, 1);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index b047a773acd7..40bb84986800 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1206,7 +1206,7 @@ static struct ubuf_info *msg_zerocopy_alloc(struct sock *sk, size_t size)
 	uarg->len = 1;
 	uarg->bytelen = size;
 	uarg->zerocopy = 1;
-	uarg->ubuf.flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
+	uarg->ubuf.skb_flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
 	refcount_set(&uarg->ubuf.refcnt, 1);
 	sock_hold(sk);
 
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383697.619556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C9-0004nU-70; Thu, 11 Aug 2022 08:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383697.619556; Thu, 11 Aug 2022 08:05:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3C9-0004lI-1j; Thu, 11 Aug 2022 08:05:33 +0000
Received: by outflank-mailman (input) for mailman id 383697;
 Wed, 10 Aug 2022 15:51:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzh-00016w-HZ
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:41 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53273659-18c4-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 17:51:40 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id ay12so5185324wmb.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:40 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53273659-18c4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=zKsqv0p5Obkg1TLb6/kUNEYbyvoYoWpfWSOapsGCJxI=;
        b=DFTQlY8ddG8nxlheZEdY1AhOzyhFf8i+cYlGvYaQA2jXHoy604PEPidno8824FFofg
         YVuRVy3aoGvd+VxIlbyTojzVgA6ObPKrHOe3N+BtwnJ8/SiHLCzaUthyY809sB53Uy0k
         A80hQEmxtBOQP5ObevE2QDwC8UdnYAyiC/9NRGBeNLRJhgqxJeTUEIEq3lyZCycgRAKv
         YeRgjQWebysXI2hCFaZdjrhd9yqY/GnXi1hw7QfcxVhAyGjXJUcOFXn8ZTBLEhYDSjyB
         tkKzffcoleVU5wSv7BENj8Sif4EsQ6FQBYNVk3yJnkXWSuO8uva7e43fGJIcAy/AtU+c
         ghIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=zKsqv0p5Obkg1TLb6/kUNEYbyvoYoWpfWSOapsGCJxI=;
        b=RneziP7bwJVyggCDpAuRtNqwknNQjKBMYFIkqqdzDqtE7ZO+J44koX4b06y91fbK7G
         wNbrzkJghTn+pkUJm//5Tjy1WLC5HR8gJqfWU/dD44L4BitnKMWoxzHWpBOMHLAqg3Rd
         9r1u/GFAYWhTs196Ix6+MPVc8LK7m8HW6uqlVTKxjUxBjx0rW9Jc3mYp9Idw4XXit+h1
         a7Jhn97WaooYSMrrJFsWNZ7RAZ/s2PYG/MMxqYEHtmpilEAX2FmhoNYxFnASOgZggjDq
         L5Dx9NkkKEAKEe2GupiCrro0hbTNDEsEYYk5GUqKDhi610dWV7yz642jzjWqmJBBKxKw
         r/KQ==
X-Gm-Message-State: ACgBeo2nod5sAkeIonE9ZVKx5K2POu1npfHndWD3RKMaJymgk4c6sAJs
	MlW4PcKRVulgwZpEovkOwfM=
X-Google-Smtp-Source: AA6agR7LF0ZwQ1BlKaVDicKs5LglruTEZwAxo7zyYgmWusQVZHSM24Cst0gJV7pB4XoOeH/qUhDY2A==
X-Received: by 2002:a05:600c:28cd:b0:3a5:4f45:b927 with SMTP id h13-20020a05600c28cd00b003a54f45b927mr2964921wmd.90.1660146700292;
        Wed, 10 Aug 2022 08:51:40 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 03/11] vhost/net: use struct ubuf_info_msgzc
Date: Wed, 10 Aug 2022 16:49:11 +0100
Message-Id: <87cfb629defa270e5ed953c6e501a47278f916c9.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

struct ubuf_info will be changed, use ubuf_info_msgzc instead.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 drivers/vhost/net.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 68e4ecd1cc0e..9b616536dd9e 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -118,7 +118,7 @@ struct vhost_net_virtqueue {
 	/* Number of XDP frames batched */
 	int batched_xdp;
 	/* an array of userspace buffers info */
-	struct ubuf_info *ubuf_info;
+	struct ubuf_info_msgzc *ubuf_info;
 	/* Reference counting for outstanding ubufs.
 	 * Protected by vq mutex. Writers must also take device mutex. */
 	struct vhost_net_ubuf_ref *ubufs;
@@ -288,7 +288,7 @@ static int vhost_net_set_ubuf_info(struct vhost_net *n)
 		n->vqs[i].ubuf_info =
 			kmalloc_array(UIO_MAXIOV,
 				      sizeof(*n->vqs[i].ubuf_info),
-				      GFP_KERNEL);
+				      GFP_KERNEL | __GFP_ZERO);
 		if  (!n->vqs[i].ubuf_info)
 			goto err;
 	}
@@ -382,8 +382,9 @@ static void vhost_zerocopy_signal_used(struct vhost_net *net,
 }
 
 static void vhost_zerocopy_callback(struct sk_buff *skb,
-				    struct ubuf_info *ubuf, bool success)
+				    struct ubuf_info *ubuf_base, bool success)
 {
+	struct ubuf_info_msgzc *ubuf = uarg_to_msgzc(ubuf_base);
 	struct vhost_net_ubuf_ref *ubufs = ubuf->ctx;
 	struct vhost_virtqueue *vq = ubufs->vq;
 	int cnt;
@@ -871,7 +872,7 @@ static void handle_tx_zerocopy(struct vhost_net *net, struct socket *sock)
 	size_t len, total_len = 0;
 	int err;
 	struct vhost_net_ubuf_ref *ubufs;
-	struct ubuf_info *ubuf;
+	struct ubuf_info_msgzc *ubuf;
 	bool zcopy_used;
 	int sent_pkts = 0;
 
@@ -907,14 +908,14 @@ static void handle_tx_zerocopy(struct vhost_net *net, struct socket *sock)
 			ubuf = nvq->ubuf_info + nvq->upend_idx;
 			vq->heads[nvq->upend_idx].id = cpu_to_vhost32(vq, head);
 			vq->heads[nvq->upend_idx].len = VHOST_DMA_IN_PROGRESS;
-			ubuf->callback = vhost_zerocopy_callback;
 			ubuf->ctx = nvq->ubufs;
 			ubuf->desc = nvq->upend_idx;
-			ubuf->flags = SKBFL_ZEROCOPY_FRAG;
-			refcount_set(&ubuf->refcnt, 1);
+			ubuf->ubuf.callback = vhost_zerocopy_callback;
+			ubuf->ubuf.flags = SKBFL_ZEROCOPY_FRAG;
+			refcount_set(&ubuf->ubuf.refcnt, 1);
 			msg.msg_control = &ctl;
 			ctl.type = TUN_MSG_UBUF;
-			ctl.ptr = ubuf;
+			ctl.ptr = &ubuf->ubuf;
 			msg.msg_controllen = sizeof(ctl);
 			ubufs = nvq->ubufs;
 			atomic_inc(&ubufs->refcount);
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383707.619603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CC-0005fQ-C7; Thu, 11 Aug 2022 08:05:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383707.619603; Thu, 11 Aug 2022 08:05:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CB-0005cY-FN; Thu, 11 Aug 2022 08:05:35 +0000
Received: by outflank-mailman (input) for mailman id 383707;
 Wed, 10 Aug 2022 15:51:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzo-00016w-NB
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:48 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 579a2e61-18c4-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 17:51:48 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 a18-20020a05600c349200b003a30de68697so1853031wmq.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:48 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 579a2e61-18c4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=itYGv2JZK8WBFRrJm44D9H1rA7HcrDCnR5GlKfK0jhs=;
        b=g4eoVr1fu36ewbAmfG/t6UJBFOF1oHPXDiKrqdGSPIInTe4GhXxac8aY/xl6qj4Ry6
         hjJIrOjXgd6Yh8flP1MMruBaz19LaJGjliJaVdqyUgKhS5Iv3yZ5EXnaluD0BcKphXnA
         a5VMobfClu6mDyYL8AgAxvtUKvP55/JPpMBJHMu3wEu4WaWTzPCZhMYmHWz8b0MVDXhx
         GJ1Mj+/b/tEIWLH+pz8xBbXVEHEgTx42XMs5iv3QJxf8DSyr0HdmFD+Q1l3bx4FME1BL
         RC5BlkaAdauVJCjSBnJ19eyaQPimR9ZGZKGI4e8RTaSx6XcGE3jjRf3+QIMjbpvGpNmL
         Nr8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=itYGv2JZK8WBFRrJm44D9H1rA7HcrDCnR5GlKfK0jhs=;
        b=Eu1x/h1pKkKvMyI/hKC0fdssmeG+AuM7xF6yGrQkIUOxOYnVQhwoZt2wPPS48d2GTi
         Co7g1yHyqXGaD4bpYWEaYj8sj8HwwibAayborxLVKQZBrhnlceb5CD5nv4d0fCSPfBJ/
         nVE5UPNWnndtegyGqyxVa9cfLZQta0JLyTRO2iBrXiqNZGu9Mk1E9IMv1y93wvVa5hsN
         uXtup5G9PMu9WS0GgzL/EaZv3J7gtKLDDD1X6VXGxips3JJ7MO1TQOXjC2KhSmaio6nI
         +xe8tVdU63qi4YHtc7ZC8d5jdBIu+PKHNnqhdphi4fYl31DdPmC6R9rzBSWjd4v5cx3V
         DjBg==
X-Gm-Message-State: ACgBeo2L9Tv91Dc3U5ywlP7ZBlFZccwFmReyvj83G1OAOMCiArXaleyR
	6E80RVGfQ3Je4SCOk5AzMkg=
X-Google-Smtp-Source: AA6agR5tWoJNmIKULSv6qED4kYicFbD6aj95a2kTMgyfbOltADMEJMZMCY4KEhAPbmXEqnmelWqLpA==
X-Received: by 2002:a05:600c:6009:b0:3a5:b069:5d34 with SMTP id az9-20020a05600c600900b003a5b0695d34mr2478342wmb.115.1660146707842;
        Wed, 10 Aug 2022 08:51:47 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 08/11] net: let callers provide ->msg_ubuf refs
Date: Wed, 10 Aug 2022 16:49:16 +0100
Message-Id: <526fe4cb9cda287bedfc92b3888b48a4f3b0250b.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some msg_ubuf providers like io_uring can keep elaborated ubuf_info
reference batching and caching, so it will be of benefit to let the
network layer to optionally steal some of the cached refs.

Add UARGFL_GIFT_REF, if set the caller has at least one extra reference
that it can gift away. If the network decides to take the ref it should
clear the flag.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 include/linux/skbuff.h | 14 ++++++++++++++
 net/ipv4/ip_output.c   |  1 +
 net/ipv6/ip6_output.c  |  1 +
 3 files changed, 16 insertions(+)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 45fe7f0648d0..972ec676e222 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -527,6 +527,11 @@ enum {
 	 * be freed until we return.
 	 */
 	UARGFL_CALLER_PINNED = BIT(0),
+
+	/* The caller can gift one ubuf reference. The flag should be cleared
+	 * when the reference is taken.
+	 */
+	UARGFL_GIFT_REF = BIT(1),
 };
 
 /*
@@ -1709,6 +1714,15 @@ static inline void net_zcopy_put(struct ubuf_info *uarg)
 		uarg->callback(NULL, uarg, true);
 }
 
+static inline bool net_zcopy_get_gift_ref(struct ubuf_info *uarg)
+{
+	bool has_ref;
+
+	has_ref = uarg->flags & UARGFL_GIFT_REF;
+	uarg->flags &= ~UARGFL_GIFT_REF;
+	return has_ref;
+}
+
 static inline void net_zcopy_put_abort(struct ubuf_info *uarg, bool have_uref)
 {
 	if (uarg) {
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 546897a4b4fa..9d42b6dd6b78 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -1032,6 +1032,7 @@ static int __ip_append_data(struct sock *sk,
 				paged = true;
 				zc = true;
 				uarg = msg->msg_ubuf;
+				extra_uref = net_zcopy_get_gift_ref(uarg);
 			}
 		} else if (sock_flag(sk, SOCK_ZEROCOPY)) {
 			uarg = msg_zerocopy_realloc(sk, length, skb_zcopy(skb));
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 6d4f01a0cf6e..8d8a8bbdb8df 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -1557,6 +1557,7 @@ static int __ip6_append_data(struct sock *sk,
 				paged = true;
 				zc = true;
 				uarg = msg->msg_ubuf;
+				extra_uref = net_zcopy_get_gift_ref(uarg);
 			}
 		} else if (sock_flag(sk, SOCK_ZEROCOPY)) {
 			uarg = msg_zerocopy_realloc(sk, length, skb_zcopy(skb));
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383710.619610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CC-0005oE-Qj; Thu, 11 Aug 2022 08:05:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383710.619610; Thu, 11 Aug 2022 08:05:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CB-0005jh-Tb; Thu, 11 Aug 2022 08:05:35 +0000
Received: by outflank-mailman (input) for mailman id 383710;
 Wed, 10 Aug 2022 15:51:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzq-00016w-9S
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:50 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 586c0349-18c4-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 17:51:49 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 q1-20020a05600c040100b003a52db97fffso1193011wmb.4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:49 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 586c0349-18c4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=P8aAKAj6QbUGM3qiLbxj6rCIuSDWisCzVUCts73nG7k=;
        b=iw4zMeJIq6Iduj5Ai23kLZLWv6lH2honhKvhFD/8RjX03J6CC6OT3GFZdBOkedBUdt
         n+4sEAA+jY/L/94w0veZ6+BigRGb/z+iiaiJDK2kbDqMnLkYpIKAVeEpBGeRkUhR8ZY4
         3C2zmmMBUj+haew1vR4ZvQFcsNz2n5JD1clVwf0uHdPmnBF3QMz0ffFPSnpU76csdYvx
         WghdcQ+nasGK3chHwCDoPTmwBdCerSaeh8eCSRiiRqlv5NxV5e1DoaVA1cZ7GwqNoWTR
         Iu2g0zXQ4q7bhvEbKDfbxuVUgmKMV7FWlYgxIhokbOIyG0ObnwT0cf/lwdYDKKmbRxeE
         YrCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=P8aAKAj6QbUGM3qiLbxj6rCIuSDWisCzVUCts73nG7k=;
        b=GuZeUyiouTVg0qvaoa1ubwMRhZwwr1q0byzgSuSg4RZW2Qj6ctkiPBzQRI0nKaYGbJ
         dej5nyNcdEJLbMzbbmivnlgK9r01jEL9aHexV1rlMK9QA2I7ojzKQsG7wN50tNPiLUMu
         RLB+4N+X/BpRpAcgEb8iTRg8IHAPLvPuEQ/OiQclJRz+G5fVd0/fv6Kz1SpwcNWjNpTH
         Uqj16tjVNgUFAcNDzY2KXC0avuS8pz31u1nxQP3G24INXItUMt3wDF47PQgm/BRCsYJz
         nZH2zVvqh9d6n/r6DyVpJtiTv+6lh+k4bQeQz2cecvjgf4gm4ARpQNwohbBSAO/+GibQ
         xPpA==
X-Gm-Message-State: ACgBeo2AG//HtraBIRmJhNM+wqvvoXecAiAIOWEHfExxPVfs1+XSTXH1
	eaY6XadsbCqwnwC9M4EOPj+glHhCwpE=
X-Google-Smtp-Source: AA6agR51LI/17gzAJrVldihDliUyILNuNHqftq15rGqHxVJN5cbfccCeChTUV2Xc8UnWpC6KUoJk0Q==
X-Received: by 2002:a1c:f209:0:b0:3a4:f42c:9ffb with SMTP id s9-20020a1cf209000000b003a4f42c9ffbmr2964735wmc.62.1660146709173;
        Wed, 10 Aug 2022 08:51:49 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 09/11] io_uring/notif: add helper for flushing refs
Date: Wed, 10 Aug 2022 16:49:17 +0100
Message-Id: <a68ff48da5a52be8f64b058c30d7076fbec41beb.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a helper for dropping notification references during flush. It's a
preparation patch, currently it's only one master ref, but we're going
to add ref caching.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 io_uring/notif.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/io_uring/notif.c b/io_uring/notif.c
index a2ba1e35a59f..5661681b3b44 100644
--- a/io_uring/notif.c
+++ b/io_uring/notif.c
@@ -73,6 +73,13 @@ struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx,
 	return notif;
 }
 
+static inline bool io_notif_drop_refs(struct io_notif_data *nd)
+{
+	int refs = 1;
+
+	return refcount_sub_and_test(refs, &nd->uarg.refcnt);
+}
+
 void io_notif_slot_flush(struct io_notif_slot *slot)
 	__must_hold(&ctx->uring_lock)
 {
@@ -81,8 +88,7 @@ void io_notif_slot_flush(struct io_notif_slot *slot)
 
 	slot->notif = NULL;
 
-	/* drop slot's master ref */
-	if (refcount_dec_and_test(&nd->uarg.refcnt))
+	if (io_notif_drop_refs(nd))
 		io_notif_complete(notif);
 }
 
@@ -97,13 +103,11 @@ __cold int io_notif_unregister(struct io_ring_ctx *ctx)
 	for (i = 0; i < ctx->nr_notif_slots; i++) {
 		struct io_notif_slot *slot = &ctx->notif_slots[i];
 		struct io_kiocb *notif = slot->notif;
-		struct io_notif_data *nd;
 
 		if (!notif)
 			continue;
-		nd = io_kiocb_to_cmd(notif);
 		slot->notif = NULL;
-		if (!refcount_dec_and_test(&nd->uarg.refcnt))
+		if (!io_notif_drop_refs(io_kiocb_to_cmd(notif)))
 			continue;
 		notif->io_task_work.func = __io_notif_complete_tw;
 		io_req_task_work_add(notif);
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383711.619616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CD-00062o-Lg; Thu, 11 Aug 2022 08:05:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383711.619616; Thu, 11 Aug 2022 08:05:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CC-0005wT-SS; Thu, 11 Aug 2022 08:05:36 +0000
Received: by outflank-mailman (input) for mailman id 383711;
 Wed, 10 Aug 2022 15:51:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzr-00016w-KA
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:51 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59340c41-18c4-11ed-924f-1f966e50362f;
 Wed, 10 Aug 2022 17:51:51 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 186-20020a1c02c3000000b003a34ac64bdfso1222800wmc.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:51 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59340c41-18c4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=KeuLRkJHac7T18EvJz7V2qjxDYwlB1JNeLqOJx59kSU=;
        b=NwaYFZmlXQkYLPFX3ZTPko8HcLgEHLwlrcyFvHq9hm7vQV2IwxrttH0/p8/BnnmZQl
         BTO0b3I01yD4gVwVuca1h/jbv+Cfysmr/pwkJd2AgCZmA4nNJaqDDMtHbPuEcJweTVo2
         579S6P3KHIkfq4qhjgykgSQx3GEN7jkMGKOWCq1fqwahARcWVFoKAElwF2/ur8B6ClIo
         4VUYL64JbAwxyO16ryqLgQ35TM4VOjpGgJE30dWaAoTd8zwN9ejtzD9yLFz3cxaGQo9r
         I+xFxR/ul8X0T8pEmed+ACyAEzgpzPI6KoqWeaF80317jz0w1JJi3GWEirlZLAj1Zjjz
         DcIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=KeuLRkJHac7T18EvJz7V2qjxDYwlB1JNeLqOJx59kSU=;
        b=u/Jrh0sBT780/L3Zu3KiTav3P/a5x4g4mEpqGuwdVeCdIsG04IB6tPO0Ec+hQB3Sbg
         brDxP3y8OXV70ZR1bD04+c2jObcRXwIlGoFnhB8kneooDTCUVUa6Nxbir0hBBUzZk1pY
         MgtuP+Tpw5Q2j0+tlGPrVUM2PCjT11BTMzvPolIzQFUaArMxnvbctbh1QFm7tSGl9lmc
         H4CxNp9egwW5V+5P1SW1KpH8eyjzKhuncyjGQ/brNIDenV2JUISrPJZufHM2tuY1R/zZ
         QwKVgE9c8tlF+GaggjdPBOGlBCLFkQauRuUleGuWvpfgiXp0Jw9MyJ9Mwg2pKQkkQZrZ
         aFyw==
X-Gm-Message-State: ACgBeo0TuqNA424/8aNu+Airqp7Brmh0JQdB8w99EO96SMgy54rO2Dfs
	QgaIeJEeaOePRmXW0yg0Ngk=
X-Google-Smtp-Source: AA6agR6Ld0dgt8VkL4NPznZl6LE5uIBV6RhDIhjeXAmILYOIjoMjQERHnQMZ5pvfGHOhFOpmDqlmgQ==
X-Received: by 2002:a7b:c852:0:b0:3a5:407a:76df with SMTP id c18-20020a7bc852000000b003a5407a76dfmr2851591wml.101.1660146710481;
        Wed, 10 Aug 2022 08:51:50 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 10/11] io_uring/notif: mark notifs with UARGFL_CALLER_PINNED
Date: Wed, 10 Aug 2022 16:49:18 +0100
Message-Id: <19cad183acc3a44b17b76c1719ad30c80aeff1ef.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We always keep references to active notifications and drop them only
when we flush, so they're always pinned during sock_sendmsg() and we can
add UARGFL_CALLER_PINNED.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 io_uring/notif.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/io_uring/notif.c b/io_uring/notif.c
index 5661681b3b44..dd346ea67580 100644
--- a/io_uring/notif.c
+++ b/io_uring/notif.c
@@ -66,7 +66,7 @@ struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx,
 	nd = io_notif_to_data(notif);
 	nd->account_pages = 0;
 	nd->uarg.skb_flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
-	nd->uarg.flags = 0;
+	nd->uarg.flags = UARGFL_CALLER_PINNED;
 	nd->uarg.callback = io_uring_tx_zerocopy_callback;
 	/* master ref owned by io_notif_slot, will be dropped on flush */
 	refcount_set(&nd->uarg.refcnt, 1);
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:05:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:05:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.383713.619627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CF-0006K3-1A; Thu, 11 Aug 2022 08:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 383713.619627; Thu, 11 Aug 2022 08:05:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM3CE-0006Fc-7p; Thu, 11 Aug 2022 08:05:38 +0000
Received: by outflank-mailman (input) for mailman id 383713;
 Wed, 10 Aug 2022 15:51:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIlE=YO=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1oLnzs-00016q-S2
 for xen-devel@lists.xenproject.org; Wed, 10 Aug 2022 15:51:52 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a09326b-18c4-11ed-bd2e-47488cf2e6aa;
 Wed, 10 Aug 2022 17:51:52 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 i128-20020a1c3b86000000b003a536d58f73so1212195wma.4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Aug 2022 08:51:52 -0700 (PDT)
Received: from 127.0.0.1localhost (188.28.126.24.threembb.co.uk.
 [188.28.126.24]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a05600c1e0100b003a342933727sm3004519wmb.3.2022.08.10.08.51.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Aug 2022 08:51:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a09326b-18c4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=8bvrycIBhC98AAS95EkRU1aUeIYv5cmtQ6g1fcH8Ls4=;
        b=NXRHpYfu0yj454B9TNqMSmsanOBuZYbEWiz+69QOiDC+DiJ2G+DWR8eQVlY70gQLu2
         d0y7fh2jjsSTdciIvCwRVN4S9hece9UJOGa8XGh2v8vTiQdh6mNLdQQ8Fav5YfXJjcUU
         khtZG1kVvwRuto8hvHjfgINz8qFheZKolPC7tRow4X5InG3ks03RinhMEB69q/HPIghp
         RR52RfGpkiacBVtnyrW+hJzjBXI1YrXWzEp3tbUt8VcNjh69N5Ru/lSwr+rsyQJoHgS+
         05TXvir/g7FILT8dTPmjkGDy/QS+ouQWtNodRMedLwj3LN6GVEXfdRJ6j4sUIlZrGHUR
         ilkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=8bvrycIBhC98AAS95EkRU1aUeIYv5cmtQ6g1fcH8Ls4=;
        b=xkh+JqrfMo1fcX0a/DAeHtE/lamGUGXAZ/sD+m/msDPIXW3+vIijaEAgGMMHtOYhQm
         Qw6O/QUJUrD//CMqStYBmQw1JJDlGkK5QHxQy5DwxTqZ++2LDMVfTQ4PEUokPye2AEPU
         /pesd5FKjZjyJ2lrF3C43C7SXvEbR4b/szuhIbrDp36T+EMdhMYZMRxfyve2YQU91x9Q
         A+0WF74uI79DBynf7+lzJTBfVXUFVwgX5k8FNuQmaCLjYFx39XWn5CxmvuxS57qQbYP+
         IUpRKBFTn4Hw9hBtanfKE2x6I0010KxSy12EX0wjZHbV+jo9F7zEEVCcN7aZLmy4os70
         S7Qw==
X-Gm-Message-State: ACgBeo3u9f4c0JgKDOC70WS8xA5679BKe+Kedpg1OSEAzsN3fDIkcH+7
	8Zg9FdmyjZfOy2IORQds6HM=
X-Google-Smtp-Source: AA6agR6ysliwRQwjHrbtgRjuvt8Ybcqj6h9fHpK3wukZ1ZPxN88XDbQ1aaLBOWU/0aq+IGK8xrnzTA==
X-Received: by 2002:a05:600c:4ecd:b0:3a3:3eb0:9101 with SMTP id g13-20020a05600c4ecd00b003a33eb09101mr3007084wmq.49.1660146711936;
        Wed, 10 Aug 2022 08:51:51 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	kernel-team@fb.com,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Pavel Begunkov <asml.silence@gmail.com>
Subject: [RFC net-next io_uring 11/11] io_uring/notif: add ubuf_info ref caching
Date: Wed, 10 Aug 2022 16:49:19 +0100
Message-Id: <9514ddeea83902c36887ce764bc0306a518af73c.1660124059.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.37.0
In-Reply-To: <cover.1660124059.git.asml.silence@gmail.com>
References: <cover.1660124059.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Cache some active notifier references at the io_uring side and get them
in batches, so the ammortised cost is low. Then these references can be
given away to the network layer using UARGFL_GIFT_REF.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 io_uring/net.c   |  8 +++++++-
 io_uring/notif.c |  6 ++++--
 io_uring/notif.h | 22 +++++++++++++++++++++-
 3 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/io_uring/net.c b/io_uring/net.c
index e6fc9748fbd2..bdaf9b10bd1b 100644
--- a/io_uring/net.c
+++ b/io_uring/net.c
@@ -949,6 +949,7 @@ int io_sendzc(struct io_kiocb *req, unsigned int issue_flags)
 	struct io_sendzc *zc = io_kiocb_to_cmd(req);
 	struct io_notif_slot *notif_slot;
 	struct io_kiocb *notif;
+	struct ubuf_info *ubuf;
 	struct msghdr msg;
 	struct iovec iov;
 	struct socket *sock;
@@ -1007,10 +1008,15 @@ int io_sendzc(struct io_kiocb *req, unsigned int issue_flags)
 		min_ret = iov_iter_count(&msg.msg_iter);
 
 	msg.msg_flags = msg_flags;
-	msg.msg_ubuf = &io_notif_to_data(notif)->uarg;
 	msg.sg_from_iter = io_sg_from_iter;
+	msg.msg_ubuf = ubuf = &io_notif_to_data(notif)->uarg;
+	ubuf->flags |= UARGFL_GIFT_REF;
 	ret = sock_sendmsg(sock, &msg);
 
+	/* check if the send consumed an additional ref */
+	if (likely(!(ubuf->flags & UARGFL_GIFT_REF)))
+		io_notif_consume_ref(notif);
+
 	if (unlikely(ret < min_ret)) {
 		if (ret == -EAGAIN && (issue_flags & IO_URING_F_NONBLOCK))
 			return -EAGAIN;
diff --git a/io_uring/notif.c b/io_uring/notif.c
index dd346ea67580..73bbda5de07d 100644
--- a/io_uring/notif.c
+++ b/io_uring/notif.c
@@ -68,15 +68,17 @@ struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx,
 	nd->uarg.skb_flags = SKBFL_ZEROCOPY_FRAG | SKBFL_DONT_ORPHAN;
 	nd->uarg.flags = UARGFL_CALLER_PINNED;
 	nd->uarg.callback = io_uring_tx_zerocopy_callback;
+	nd->cached_refs = IO_NOTIF_REF_CACHE_NR;
 	/* master ref owned by io_notif_slot, will be dropped on flush */
-	refcount_set(&nd->uarg.refcnt, 1);
+	refcount_set(&nd->uarg.refcnt, IO_NOTIF_REF_CACHE_NR + 1);
 	return notif;
 }
 
 static inline bool io_notif_drop_refs(struct io_notif_data *nd)
 {
-	int refs = 1;
+	int refs = nd->cached_refs + 1;
 
+	nd->cached_refs = 0;
 	return refcount_sub_and_test(refs, &nd->uarg.refcnt);
 }
 
diff --git a/io_uring/notif.h b/io_uring/notif.h
index 0819304d7e00..2a263055a53b 100644
--- a/io_uring/notif.h
+++ b/io_uring/notif.h
@@ -9,11 +9,14 @@
 
 #define IO_NOTIF_SPLICE_BATCH	32
 #define IORING_MAX_NOTIF_SLOTS (1U << 10)
+#define IO_NOTIF_REF_CACHE_NR	64
 
 struct io_notif_data {
 	struct file		*file;
-	struct ubuf_info	uarg;
 	unsigned long		account_pages;
+	/* extra uarg->refcnt refs */
+	int			cached_refs;
+	struct ubuf_info	uarg;
 };
 
 struct io_notif_slot {
@@ -88,3 +91,20 @@ static inline int io_notif_account_mem(struct io_kiocb *notif, unsigned len)
 	}
 	return 0;
 }
+
+static inline void io_notif_consume_ref(struct io_kiocb *notif)
+	__must_hold(&ctx->uring_lock)
+{
+	struct io_notif_data *nd = io_notif_to_data(notif);
+
+	nd->cached_refs--;
+
+	/*
+	* Issue sends without looking at notif->cached_refs first, so we
+	* always have to have at least one ref cached
+	*/
+	if (unlikely(!nd->cached_refs)) {
+		refcount_add(IO_NOTIF_REF_CACHE_NR, &nd->uarg.refcnt);
+		nd->cached_refs += IO_NOTIF_REF_CACHE_NR;
+	}
+}
-- 
2.37.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 08:59:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 08:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384329.619678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM41e-0007g0-8u; Thu, 11 Aug 2022 08:58:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384329.619678; Thu, 11 Aug 2022 08:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM41e-0007ft-3F; Thu, 11 Aug 2022 08:58:46 +0000
Received: by outflank-mailman (input) for mailman id 384329;
 Thu, 11 Aug 2022 08:58:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM41d-0007fj-BC; Thu, 11 Aug 2022 08:58:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM41d-0005bK-6m; Thu, 11 Aug 2022 08:58:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM41c-0004u4-Ry; Thu, 11 Aug 2022 08:58:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM41c-0003iI-RX; Thu, 11 Aug 2022 08:58:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yhXHilCf7Taayp5YZ12KTmZlkt54oqe+ai4kI07D+3k=; b=yzNWrzhiaXU5OyG/qThdpUlie1
	7AW+jxU9yyg0q9EUgLrWLNt7056Dje6WYgd9EtEFIMiwwVD4UOxf7l7hJjaIjzeFOYWgbhCCQCrHn
	ID5PMKwpRGnx/jthgBvOVXhD6grT1Z31lKBZx7xmyy5v7aUxaueyrFPzYY5E+VTY7R+E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172375-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172375: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=ab29ddfdf8774eaffbe4d6e83fd47ccb6b1c0308
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 08:58:44 +0000

flight 172375 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172375/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              ab29ddfdf8774eaffbe4d6e83fd47ccb6b1c0308
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  762 days
Failing since        151818  2020-07-11 04:18:52 Z  761 days  743 attempts
Testing same since   172375  2022-08-11 04:23:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 118902 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 09:00:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 09:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384340.619688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM43b-0000fy-MK; Thu, 11 Aug 2022 09:00:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384340.619688; Thu, 11 Aug 2022 09:00:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM43b-0000fq-JY; Thu, 11 Aug 2022 09:00:47 +0000
Received: by outflank-mailman (input) for mailman id 384340;
 Thu, 11 Aug 2022 09:00:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM43a-0000fX-Fo; Thu, 11 Aug 2022 09:00:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM43a-0005gK-F1; Thu, 11 Aug 2022 09:00:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM43a-00050e-7K; Thu, 11 Aug 2022 09:00:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM43a-0005Aa-6q; Thu, 11 Aug 2022 09:00:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Rw8Fz0iKWgYil+aPA+hkmRwoYuJOskyTkrVQ2l8Op/g=; b=QatSfA7wB1L34pKu0Ag60khPPt
	eoP8SgFE1Gnw/cwZSi+rQaaZ27Wyf1b0e9A8N1vI9f47qz/bpFCuUK9N8MTXikM1gmYAkFz+9f5Ct
	0FUGwG7qvKZoOBY07gqnXpNwAIWd1GSlD8CQPcymExQDWlLByv/uZX493yj6K7KObcr0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172378-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172378: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 09:00:46 +0000

flight 172378 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172378/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    7 days
Failing since        172151  2022-08-05 02:40:28 Z    6 days   61 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 09:26:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 09:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384350.619698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM4SV-0003At-Os; Thu, 11 Aug 2022 09:26:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384350.619698; Thu, 11 Aug 2022 09:26:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM4SV-0003Am-MG; Thu, 11 Aug 2022 09:26:31 +0000
Received: by outflank-mailman (input) for mailman id 384350;
 Thu, 11 Aug 2022 09:26:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aO9K=YP=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oM4SU-0003Af-8n
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 09:26:30 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60087.outbound.protection.outlook.com [40.107.6.87])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad25c8d3-1957-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 11:26:28 +0200 (CEST)
Received: from AM6P193CA0105.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:88::46)
 by AM9PR08MB6690.eurprd08.prod.outlook.com (2603:10a6:20b:301::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 11 Aug
 2022 09:26:25 +0000
Received: from AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:88:cafe::2b) by AM6P193CA0105.outlook.office365.com
 (2603:10a6:209:88::46) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Thu, 11 Aug 2022 09:26:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT024.mail.protection.outlook.com (10.152.16.175) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 09:26:23 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Thu, 11 Aug 2022 09:26:22 +0000
Received: from 8f82f790a6f3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A56ADD82-2A65-432C-9B6A-BBAB3B4466A8.1; 
 Thu, 11 Aug 2022 09:26:16 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8f82f790a6f3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Aug 2022 09:26:16 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AS4PR08MB8241.eurprd08.prod.outlook.com (2603:10a6:20b:51d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 11 Aug
 2022 09:26:13 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%4]) with mapi id 15.20.5525.011; Thu, 11 Aug 2022
 09:26:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad25c8d3-1957-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=RfRqyAEEp8fhnzwpQ6nOrRg7yeNQR+MSIOIWigxb7t2PCkjYRhdpz6D2fnK6XhM5xZxRJ4awxZMFbOU5B7463W34qbUCLrFhHUT77JvekKkPb5MmbMLsDO/UyrsxQdRuM/sN14o6NlyGSFVNxhifLMtlWQ4EJ5pt0wxf/I3lbYzVzM6v7shswc0gSjhP26FPT4FfmVeP8UA8IISgQCXJ2j7bNVsBNuk3bBJ6dULPmxQYvrM2WPFJIah3Vl9OEhjtjMEVJFZ1G9F1AybFeR1OwqNBRcNtvtLjawsyeLY38Cw1BhYa9AR4H2PpYq9thZuxh7XVeOMr2tjIlWf1X474vQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1vSIq1vrAL7EGGbL0y+nQGmTt2tz5PDTqBIvbVI6CGw=;
 b=UiaYwVKL9beiHzCgrPE7To0ncQ3n4TZxOLRnBc6Jg4/+gOjZIBbQFcSMj8gVZH+dj43zyX7W6s4Sn8bVjaomWnuIxN16juv9PingvEr59iqVYzRFJXHVoltGOqJPXSEMwjchdgDK+zZCErWr0NPNzze3jwqo57Rm3KIq/wL3MN75QeiT5W0qqxUEXxLsm8ZMiHqsrFuPFM70v6UOcByO9VrJ3Pj1LJP7WDXkZOz+X5eGLbZPifZdqCIEU4zDtQJr+kspXuan88HM3/udUL0DxGcCBOzr+faE+/Jez+TLXDX8I7uWSfEX3SXUVS5Baxo+RnQSJ+psbgSicG8zaybBZg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=temperror (sender ip
 is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=arm.com; dmarc=temperror action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1vSIq1vrAL7EGGbL0y+nQGmTt2tz5PDTqBIvbVI6CGw=;
 b=1o1e2VTumUTnjoKsFkMmIv9DlL3WomMQKhsknG6QWE9xLy8ZM1eokR0m0Sca91JYIMQczzP+1cGtC1FQZOlRV3qI5vhGPV/FPdJ/KBxFNJqfjQUh3fdiRB1W4rCHPt2zfFrtr/ZC6d0tpLXtYhq9e2roWRXdkg7vosMlynis3D8=
X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is
 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=temperror action=none
 header.from=arm.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of arm.com: DNS Timeout)
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1330c8ce073c1f50
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VEunBA0sOLudKBmUqRLPBhyBWMvWJkUXe3HJ60Gn2gZYz26rPoJTDG1WjzekUEzO+Lfa71GBXqGNO4FDLu7X0aCzOGijdlU9rSfCH1MUAWkT7q8MNYSRpHcbajVPzpE8sL9aG54yEdReNPMc8LCJfTmBSvsuq5lSs+8JkTwsrbRncz1Z4YF1I1hjtNyUEV9Bi8+xXYseiC1qK2yMEklNigvEk7XUKOA0cI16X3vW9A8efFcBcmVoFtc8jOj1ERRQ7FCviK+qF0I+Uojd7VvTmZlEdflTFd85LaoFH1x+moUO8Ky64rUMYzeo3VBK7dk6sMe0BtRCOnce6cPrjIhgzQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1vSIq1vrAL7EGGbL0y+nQGmTt2tz5PDTqBIvbVI6CGw=;
 b=ZDIz9ZAmB5Pzu5Uanv3ydlSRaSSFrT48SmRSteT/4SspNOfuYFsMYCY8T+DQvBZoizYC+EKcKHNPCsxsS4w28w4QMjgQLBtw2Sjw2Lt0dI3Df2p3j2pMXsLFXIL8sdFa+OjoqwASj4fl3+J0fzgWF5P6AMvmefoLgeVBzuXVeXC5BfH3BTkix27UZgRvbzjW2K/8iwU8d18QLhDk4aX0oqTXLzi3sYfLp8iwkF7ilf5Tu9nSHxLHgxSGzG1ybDjC4mvslg4Zbx/1mS+mx/01+J2HNMFvxv4e7Ul9IDZ1LngnRM1rNHFzXrPf6rIHQX02rZLgpx/zQ1HbGdmcb/u3Bw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1vSIq1vrAL7EGGbL0y+nQGmTt2tz5PDTqBIvbVI6CGw=;
 b=1o1e2VTumUTnjoKsFkMmIv9DlL3WomMQKhsknG6QWE9xLy8ZM1eokR0m0Sca91JYIMQczzP+1cGtC1FQZOlRV3qI5vhGPV/FPdJ/KBxFNJqfjQUh3fdiRB1W4rCHPt2zfFrtr/ZC6d0tpLXtYhq9e2roWRXdkg7vosMlynis3D8=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <Andrew.Cooper3@citrix.com>, Roger Pau Monne
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] PCI: avoid bogus calls to get_pseg()
Thread-Topic: [PATCH] PCI: avoid bogus calls to get_pseg()
Thread-Index: AQHYrAfaSCwnUxIuckmqYlBEjhSF8a2oDQUAgAE7iwCAACgsgA==
Date: Thu, 11 Aug 2022 09:26:13 +0000
Message-ID: <83A75E73-084D-47F3-8133-2F40941A99C7@arm.com>
References: <80fb0709-5a0d-a3a5-b2ea-dca089714ac2@suse.com>
 <ab3f2c03-afa9-a109-7803-bdc23056b7bf@citrix.com>
 <6681e649-a0d6-1853-e47d-c2c9057c2cd0@suse.com>
In-Reply-To: <6681e649-a0d6-1853-e47d-c2c9057c2cd0@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2fc73ec8-aedc-41a2-5c48-08da7b7b8ea6
x-ms-traffictypediagnostic:
	AS4PR08MB8241:EE_|AM5EUR03FT024:EE_|AM9PR08MB6690:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Vz1GotsIgZ/pUU9/sp0Crcjwi2xJglblhFM2oic6HnRyRHaXF/4UHA/qTBvBrSUUmjo2enA9rDe1zYKaSxdGs8BOPq+6RmZclQPFFZR+SEKfh2nHD21oxkNut+Ab4WyYJO7PRLJv3m884KOeKzn5nGsxCIWEceCaobsxBQIjX5gZ+FZTKctlE+WcT5UVEaaD8ZI8lDOg01wDQh13ST0GiFA1U/jqC/CvyXJfyqhWWntDH5bXjyrIGJCCCm5BlQ/KmFXdxA+/d9+TazwHzBwfn7FuC1zAiCPl0+KVVjAzoiWhkBT7kx0+WwHuxzx16hR3EkxEP93iKc/nSuv8D1j/fSHQ0dNc6ioSJA9oJlf/Krbq4fAkGvM8/6dyJOpZF3N0Ps4jMvEMld+/5OWi5m3NSViB28kJ3d0PdAEZx5kPvfxu1IjEvnKvB+FYNd2ezCKEDrFjpiO4V82JpTpEtW2U4Czm3JeHy+E4bqKOrf6zc3RirHDjlUqPN2avsgNBDOc/p6Md0jTWHCYx3s1pC5Fgi6Y7cA9BEIK0KM0/em1TzfOXU3Rbz4XVu/8YjspZy6QT+tZQvZcMZLDm2LCL+cTQNHwnvkAA0fCIli3XJ0yuCD/WvOn9F/7hRRh1Y+97ivTocNocq+hwCRm3GlbLfJ8HK3Z1ecAU7/3lYidxpfI9XhpkY4nUCuQq8OO5EKjystZzpSws+eswbYHbWn5Cgm/FjNioLzN5O6teQxwpQJrWW7Uop6oQizDWqDI6e2p6U/KBerRtBdf1ocA2UdOV+K7sixR3yXgjEixIkhNtwn3gMtiw+4uxGWLRInjMOP57tcPUXcBXNv+bHnfXVZt81X04hA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(376002)(346002)(39860400002)(366004)(6486002)(36756003)(41300700001)(478600001)(6506007)(38070700005)(33656002)(86362001)(26005)(53546011)(2616005)(6512007)(186003)(71200400001)(91956017)(66946007)(4326008)(8676002)(64756008)(54906003)(6916009)(66446008)(66556008)(66476007)(76116006)(316002)(122000001)(5660300002)(8936002)(38100700002)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CF2A7830B469FE40823281C004090748@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8241
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	26400403-7ea6-4b32-29e3-08da7b7b88ed
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	adk5twwzLPmvRY8ruwxN1KnSxFP+3cWgJoHXeNWN6La0miSbIXbGO1VkfK3So8+2JzrlAgFC9mienDcoCVxwwF4cvNWWbSdYunQpf3CSVV4jtnTfj3IKfe3psZxBXp7YDm582auFVTvXSsnru+MsH+W1apZIKbMCuWsI312q8S8Qk85FoMJT7JYdkR6SpGetp2K5/z4QXsPGZhLVHSpT9rDjcKltsMXXxLhbSBEkx1ePtkmARmAKREhrjpoAKBmoKE4UcEUWdXdbTehABTNXcP9tVByEILXCTGpIddJmk5dmF66olUhnXSXFLMTIpz4Ly9a6U5avUBXr11AU+61Q9iJuo18Kzdt+MP7l5qzZm7xHRJg3x/r+lf6C6ltaC1h186SqrwOsj7ydi8T/00IO8F5htXZqq9xxOcCIxDT4uLy0Mpy4NCt4B0YTDYuizEV06u2dU2t79hBGlZH75sLZt5vHN6WKD4833+2Sj+J3iacsTJNbbZE/D9MVYD6IIWZ2G7M6j1RpoEZPFtFRcmjiBUcSro9/nAqFYj4DuK1rChSgBwPuJTReGSJoxrBazPjLDr3hev9F9vNVU+ueMGgsH6RHJyv15KSWVyKWQUq8XI8IOetAt/qVTgooYh2s2UnbhE068TNbeZlj4Db3BVCWDj02fu0tII9283rmJYB4LD5RWnJ2A0/AvxSfcZLs8fCkS6nkaOMk1EyHychvlfPeMg1d/bpHHe0qz5NHHQEuJ47vXLaLKpu0wSlr4FmUr3+IU+vexPZRdU+4fmVKONWWmfNV7PBj9wSccP8IZtnNyWxqXj2Om0AMrNPFDFNT35Q/DSew2uwW6RAlwk5GfcxS7kiqz1P0WHRTJ2D1VbeJVJ4pSQe5hM1rffFBEq7CyZT8
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(39860400002)(376002)(396003)(36840700001)(40470700004)(46966006)(6862004)(8936002)(186003)(63370400001)(63350400001)(33656002)(70586007)(8676002)(70206006)(4326008)(47076005)(86362001)(478600001)(356005)(40460700003)(6486002)(81166007)(6512007)(26005)(82740400003)(82310400005)(41300700001)(2616005)(5660300002)(40480700001)(36860700001)(53546011)(2906002)(6506007)(336012)(316002)(36756003)(54906003)(45980500001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 09:26:23.0338
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2fc73ec8-aedc-41a2-5c48-08da7b7b8ea6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6690

Hi Jan,

> On 11 Aug 2022, at 8:02 am, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 10.08.2022 14:13, Andrew Cooper wrote:
>> On 09/08/2022 16:50, Jan Beulich wrote:
>>> When passed -1, the function (taking a u16) will look for segment
>>> 0xffff, which might exist. If it exists, we may find (return) the wrong
>>> device.
>>>=20
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> An alternative would be to declare that both functions cannot be called
>>> with "wildcards" anymore. The last such use went away with f591755823a7
>>> ("IOMMU/PCI: don't let domain cleanup continue when device de-assignmen=
t
>>> failed") afaict.
>>=20
>> The way wildcards were used before were always bogus IMO.
>>=20
>> I suggest we take this opportunity to remove the ability to re-introduce
>> that anti-pattern.
>=20
> Okay, will do that in v2. Rahul - this means there's no point anymore
> sending a v2 of your fix, as the bug will disappear as a side effect.
> I'll add you as the reporter of that bug.

Ok. I will test the patch once you sent it..

Regards,
Rahul


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:18:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:18:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384369.619730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5Gf-0000C1-RS; Thu, 11 Aug 2022 10:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384369.619730; Thu, 11 Aug 2022 10:18:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5Gf-0000Bu-Nq; Thu, 11 Aug 2022 10:18:21 +0000
Received: by outflank-mailman (input) for mailman id 384369;
 Thu, 11 Aug 2022 10:18:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XZap=YP=citrix.com=prvs=215a4cc3a=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1oM5Ge-0000Bo-ME
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:18:20 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea15a9c7-195e-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 12:18:18 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea15a9c7-195e-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660213098;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=YxGRDrkzYxuJpnGy2bIMOKaWBNPvAXtfX87uJdHcwkY=;
  b=WrA5EWKm2HLVT9C4RoPa9J+f/qozdfeT9IIfWrSoSL6d6/qt6RZe7H9s
   m7bRTJacZec7kJIF9p+eHfIEBfdJd8Jxtv61ehCoHrz4Tqbj9Oo0JBs9L
   OclVx48b7NprSVSgc4p7aB+bE5D6fdKzLPorGF4kiReOR/5xRBWv9iTiK
   I=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77101571
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:VhI1oKm87tw61DktrsaqcuDo5gzvJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbCjqGbv6KZmCjf9lwYY7g9R8BsJLczdc1TwE+r3o8QSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K2r4GpwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kTObcqpcApD1pl7
 MQpGjURVxeCutyplefTpulE3qzPLeHuNYIb/Hph0SvYHbAtRpWrr6fivIECmm1q34YXQKiYN
 5FxhTlHNXwsZzVVPUwMTpY3k+qymXD7dxVTqU6PpLpx6G/WpOB0+OeyaYKMJ4PTLSlTthqkg
 2744knzOxILKf2NziSpzFyilvCayEsXX6pNTeblp5aGmma72Wg7GBAQE1yhrpGRiESzRtZeI
 Ew84Tc1oO4580nDZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZ8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy107Oun2yUZyYuBnY6VB0BUTIC4uTdv9Rm5v7QdeqPAJJZn/WsR2+om
 2HV9XFg71kApZVVjvvmpDgrlxrp/8GUFVBtu207S0r/tmtEiJiZi5tEALQxxdJJN86nQ1aIp
 xDocODOvblVXflheMFgKdjh/Y1FBN7faVUweXY1Q/EcG82FohZPh7x47jBkP1tOOc0ZYzLva
 0K7kVoPuscLYyPzPP8qOdjZ5yEWIU/IS7zYug38NIISMvCdiifelM2RWaJg9z+0yxV9+U3OE
 ZyabdytHR4nNEiT9xLvHr91+eJ6mUgDKZb7H8+TI+KPjeXDPxZ4iN4tbDOzUwzOxPna+lWFo
 40Oa5DiJtc2eLSWXxQ7OLU7dTgiRUXXz7ivwyCLXoZv+jZbJVw=
IronPort-HdrOrdr: A9a23:V7UpG6/P4zuUd/t4f/Juk+DWI+orL9Y04lQ7vn2YSXRuE/Bw8P
 re+8jztCWE8Qr5N0tQ+uxoVJPufZq+z+8Q3WByB8bBYOCOggLBR+sOgbcKqweQfREWndQ86U
 4PScZD4aXLfD1Hsfo=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77101571"
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Ross Lagerwall
	<ross.lagerwall@citrix.com>
Subject: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions
Date: Thu, 11 Aug 2022 11:17:15 +0100
Message-ID: <20220811101715.3947873-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

These functions may be called by init_amd() after the _init functions
have been purged during CPU hotplug or PV shim boot so drop the _init.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 xen/arch/x86/cpu/common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 0412dbc915..20581bf3f8 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -57,7 +57,7 @@ static unsigned int forced_caps[NCAPINTS];
 
 DEFINE_PER_CPU(bool, full_gdt_loaded);
 
-void __init setup_clear_cpu_cap(unsigned int cap)
+void setup_clear_cpu_cap(unsigned int cap)
 {
 	const uint32_t *dfs;
 	unsigned int i;
@@ -86,7 +86,7 @@ void __init setup_clear_cpu_cap(unsigned int cap)
 	}
 }
 
-void __init setup_force_cpu_cap(unsigned int cap)
+void setup_force_cpu_cap(unsigned int cap)
 {
 	if (__test_and_set_bit(cap, forced_caps))
 		return;
@@ -100,7 +100,7 @@ void __init setup_force_cpu_cap(unsigned int cap)
 	__set_bit(cap, boot_cpu_data.x86_capability);
 }
 
-bool __init is_forced_cpu_cap(unsigned int cap)
+bool is_forced_cpu_cap(unsigned int cap)
 {
 	return test_bit(cap, forced_caps);
 }
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:22:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:22:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384377.619741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5KI-0001Z2-AO; Thu, 11 Aug 2022 10:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384377.619741; Thu, 11 Aug 2022 10:22:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5KI-0001Yv-6j; Thu, 11 Aug 2022 10:22:06 +0000
Received: by outflank-mailman (input) for mailman id 384377;
 Thu, 11 Aug 2022 10:22:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM5KG-0001Yp-1R
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:22:04 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f50b6f0-195f-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 12:22:01 +0200 (CEST)
Received: from mail-mw2nam10lp2106.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.106])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 06:21:58 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5714.namprd03.prod.outlook.com (2603:10b6:303:98::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 10:21:57 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 10:21:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f50b6f0-195f-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660213321;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=a36EBYFPt67N6elBvanE6Be5b6mseFgTOhjTIYc4vtY=;
  b=ajBF0N2yaO1irwYi6+Pz2XtIezB1XuR9IiAOSID7WdoREw7pVQYce1sy
   7cMXL1Z/EVT8yDTONSvSGaUXar1+2QCi08Xo9CNkMo+ek6WlGPio/dzlX
   sAY8E5EXjFrv0szjpCOBhgevhtBxZ749ApFzmc71BnOilpHMZJhe6PPbc
   A=;
X-IronPort-RemoteIP: 104.47.55.106
X-IronPort-MID: 77863223
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AKWY+c6tzYQq9p+9skf+Pk3ZKIOfnOphVZgL3L?=
 =?us-ascii?q?MmfNr3fOXjw2xdKXGK55aDH35v3Guxd+/pgKQ+wLbxTwizIborcBzKvaWIBR?=
 =?us-ascii?q?r3IGnh30Bx70HU1hOy1/YD3m4O2p2k5uZ9NwTk58X2NPwaQJHrViW21zxCWz?=
 =?us-ascii?q?WNrSULLaNdUChQ9uzNzZfDSVK30qWJ0TCMbkjPdM4joLnl6+NxmiTuPDhYo2?=
 =?us-ascii?q?P+oEomzmMbvRtFINa1hkNBpehmQwjQ70pfthmLaMvXDyLDVZFk80k8+UFS/B?=
 =?us-ascii?q?VGHoAAAX/JwcYnFk8Rd3V9ZHcSAECYH+2afv0nbBzwe/QCPay+alaqaA24XH?=
 =?us-ascii?q?B4LnVK3EiDwHCM8j2PTrDpN5vsW6iyMPOw6IWd04z59z89CjcCD68tz7e6RH?=
 =?us-ascii?q?J4DyFMtMApS7ltB2xwzZCmZsDamLYEXXxBG5jzem3nhCrwnzuh9b7e92AL6u?=
 =?us-ascii?q?8c+WkdGAZOCLVV5L8UCxfTLvSdpDvUYriN7No85ddeMOOCoKV3aWHWO/95xd?=
 =?us-ascii?q?GIqmR3U/8TVEn8TmjUDKdiV+OFFJLwVmHFK47IW2emkA1TvxlA9AEPBeARWZ?=
 =?us-ascii?q?EMRnP3+O3AeVEIJTSu7pylgcH9TYeWQbMzgVNd+x39Gb+Ls7xlR0JVRc6YtP?=
 =?us-ascii?q?Bjy0noJik8o7WBdhK3Dfrh59WXS5M027EooXqFqy/hEHFHnkqCWfU+YRV2Fo?=
 =?us-ascii?q?HXsq8ummn52RbFWvkIoHs9CFg7lYPaWBEqFubb4sRDuq57ocQhnMFkjlS77K?=
 =?us-ascii?q?G9vjtIruEtgSiGP4XxIINUX7swiQqVzMDCRf1JDErE/2RJ9m6KpIKdbPu8GL?=
 =?us-ascii?q?NUFL85+tDqgVlwywhZoldNRLezdzl8rbZfUSozDM5SXxzxMisTwOufad+UTJ?=
 =?us-ascii?q?Xz0CN6m3SFqcVNrKVBWecTvvxO+pVs3K4cZUMXo+3yNHKyyNMgGiqyV+h/hx?=
 =?us-ascii?q?ZQkaZM8Fn9mwsMSxs0vRcvM5KLDpvJSPKcMlCwMNA43Nf1/jbVA78EvXI/dH?=
 =?us-ascii?q?g1NU4N0UuymSBQFcVG4TYOtdXLC8Q+8KIs24iYksFOm3TGeJx2xAe4lT/VGN?=
 =?us-ascii?q?KBshNH58y4Wibf9DVwA4VyIw1f0c0dRCmVFoXHmb1ao7XsandImaRzK69KQY?=
 =?us-ascii?q?7OO2XQ/rfTh6tpGVEdTtiLRYFoj+tTm8ogog/WDeHZCB8w7XSFfMndel2BZH?=
 =?us-ascii?q?gtGxfqEwkR9Z1lrLfARSNn36PFEPsB7oL7nqA6egz07ZjUlmbTJUDhXSyTYj?=
 =?us-ascii?q?b16Vc08PLJG0+naNxwj6yKiNUSKMrDmE02j4CiBTwagmSF3Wmto01kF7oRjs?=
 =?us-ascii?q?KjKm9zDqq26ZmoI0A5eZr9Odt6xrWH9g8dRQtw5umj72OmZTvwzMuM5RTjqd?=
 =?us-ascii?q?qBVZuBLu06BORA76xkJbT0ByAqbr2eyu1TAIRcOUv/6aplsFZF5rpjMuvdKt?=
 =?us-ascii?q?G5bGww6nBu5cC21N2GFGh4Ux5li1RRmQoVshOkwXxzHU6XDhkztk+1H/er1U?=
 =?us-ascii?q?Qre7HdZOhdWOsYNQJ/gBHvoc9OwbyZ3VbrEY9+ZlWzXhFrL59BqHCmA+Ezj2?=
 =?us-ascii?q?OBuMGFXulLOTI1nz4DuxLxGV/FsFjqoNQwyFE8Ltwai9XQMX4X7Sfcsaewq7?=
 =?us-ascii?q?6YuLdiy11C2o5xuTrrPktuZ5TQ1p34govxqf3rwWeQHWjxq4OI8Uj9yTZ2L7?=
 =?us-ascii?q?pdedgNqFUwcYALntIKficE57V7UBj7d6t4Wp0cx5D5lW3nLM3chYQXh2JND2?=
 =?us-ascii?q?jZLKeYRDAPtTnPLn5vrC3gPHL1MRGauHOobyE1zfnnnrFJFP238wotOO+XWd?=
 =?us-ascii?q?qfKBoCOrPaxugFqxVsoHJAaplnO8Ez21dXqn7tCOAB5jQM1hfirA3ijG4gGt?=
 =?us-ascii?q?mzPPvJz/0POyU+/xgt+5PB98jj+ti2batp+HFdt98LUgL/8NBKcNjV3oMQL3?=
 =?us-ascii?q?m5v/31hRVsQkgMZfVCUrbrW9txNQTu+HpwZyw1iW2M5Fuv100dDcSjdTyQ9z?=
 =?us-ascii?q?6GT5iKqcboocNCAmaCOOFPcBdUtYUiu2F5vMXKgu0yACrqXavBRIO1mH3daV?=
 =?us-ascii?q?M/eLEk31BpW6qrxFbuYbuGiSwywzDTEHkZWd8yNrPWPtZ87ZPvxG5JA/ThKm?=
 =?us-ascii?q?gutwFU+k/zg69Tfpus7Ls/1ybTgTwV2ZBGbPcRk7MQ3CLGkrHNyrR1RqjxLR?=
 =?us-ascii?q?BlAIkH2Zn9And5czvayO+0Ybs6eZxVZuBjeRwM6BycUv51ID7pL2PdIeEV9a?=
 =?us-ascii?q?TEgTxZAif0Uf5C0hHwPqr98C6afw2yJYSYO7JlxzLGXxK3k+PWX8aYFFxuIF?=
 =?us-ascii?q?cN+BKHoyZAAvfZvMFfkDgdNTEnLJPo1J2JAWcCXpmS7CA5Li9jkdK2lFQwJv?=
 =?us-ascii?q?EL33HWFvBFhz74LjpT//a1quFelNZqrXfvziB2cHs00AkEijsax7Lu5PM7Xk?=
 =?us-ascii?q?y8OWM/ZfLXqgpWDIQgz+BR0GALCtjjXgdLsvbf5pHVLhr8sfaH9PaY2276mx?=
 =?us-ascii?q?FdOjDUzjkVA/6sJK3B4Xl1ulwSHP7D+l1JG8eNAZ+vo?=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77863223"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KcGzcXf5ChOLoH3uBFznLk4rPUxahW1bU9HPJipZwYQd6f+zM5/UK7B4nw+xpunStClUDbqa0o4+LGCxnoF1Z9+NoC/aFpM/meXzDfzWvMjHYKmPG6GaXIKTfaLn9ibJdgO3nYmSfU6HPSkdejJ6lQvH5C79QDnR1PQJ2rCLta2OGFKzjByKPxHS4JZRyrSpYNoe2Am4dzaxB9A0LsWB4xMtW4SwxIXEXlb896QhbEYZ58+AmGaWi6ytz3KOOYHcAS2wC6KmdhDZo3pifbSakj28EaAwEkZQ48kTQgCBmPd4HOwgePfoGerbP9mMPZnhvfCb4a+4ULdkdZMaxPXudg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=a36EBYFPt67N6elBvanE6Be5b6mseFgTOhjTIYc4vtY=;
 b=QjBOH+8TqUrz8ozxgarZcPAj4Eapub21IZKiauq6uFL1hbVxCeZn4lbwR0BUEQiRb5CAa7rg/hkIZXLvgXYULk0L15Jylf7tMifeu4y+7aU2yQ9lFmwfNXAIHtCBNMwSgZzkmSDkYb/OlA7NQ82RfYrpDghwT8ad6XXlb3g2e0i/pTdbNpbrnb/AwmA7tIyoKjF/xxp1/T6E7hRYGE2cxjqyuIHFIy0ZVN/cbujlDH4BEtP8hncHLOT3UB0g2gLxJkjb3/T97xN4lh57giiPwJfN8fgvR0fzoVbcYibGa5vHIGaSf3P7PUcV+5yXDV7vJbiZkmNzq9UoYtqVnsalbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=a36EBYFPt67N6elBvanE6Be5b6mseFgTOhjTIYc4vtY=;
 b=jvJKD/+Z/xC/g7fiy1/97rVzFiJDEQZ3QsKc74GR+Y7qikSoDtBPO7aJYGCM859DU1otOhvDC/TPRacGBCZKI32oC+vwr0z413DD63r+AnDDSGmWLLcjqGB4pxac2IH3uFXUWAiUa9JE8vE3jfzxEIRbXnRDRVaaSLglhAJYs+8=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions
Thread-Topic: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions
Thread-Index: AQHYrWuqM0jpHL25IEyIFgBUnyY/9K2pfX2A
Date: Thu, 11 Aug 2022 10:21:50 +0000
Message-ID: <7ff6d006-0a6d-60e9-ebb7-70ad3c6d6a5b@citrix.com>
References: <20220811101715.3947873-1-ross.lagerwall@citrix.com>
In-Reply-To: <20220811101715.3947873-1-ross.lagerwall@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fb026774-58aa-4ee8-6507-08da7b834de2
x-ms-traffictypediagnostic: CO1PR03MB5714:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 DfPKN3HJez0fgRnllfl0FQPiAnCV2WUQwucclrs2GJu/aW+nkf0e1cToO37oMU3a2dBfA8tr+qwu3GXXSqPeO5WWdHdtvf8zBEiSUBj3vFEY2fW/FN7UoGFtWzbOphmwiffhj9Gli1A++VGqyTUpGi3A5OiG2AGDeXZjlDXcTS4C6/BVx6JGgfk6ZZUYDq70T6H8/3Yd3zUoTeg6geZ9wTgSzPVlcPar3TSGTbJmqUZ65HcAKtA+6T3DqJ/JHsvCSg+kcCv0oe47KkJJCaGzToa2/F8ZBQG9VFdug02MBspvVjVc6BWUi/adBJn55D9tIZ5Mdk8ikZyaxE832nvgVeiM8Dvf+LoV2R5TkvmelrWvUVpvvBECQInvVgqhURPAHq6sVaK75LOAfrO1ELG85ef19mwFA68uLwYKs9DnOPrKJDDNDhgaJZQs9Ok6Ll7jnVpAit3ZTKtlgjTBbyZyn7C5J2uE92yxbKu9/Wzu/26dz32MQoljznRwqHSvTDqMYunqC+pMQWZKrbnkp/8xw6I8Nj+c8/9DH7ux5rKkX9W0tpjzTwuWyvNspvgxg8APyJMo0jrWa9z+MKoVS/3YFbNvI4prxSGx/5UJwP0+U9Bk9NzxeWKihZkLvj4GCOryK2HDpjsHIfpj4qCtWxz5YoN5ZujAHOc0aDXLHERYeAQ4PZeFzAx26Hu/Yt5DojFwKdIDM2axk8iUGEr6DOv5KRkXdnko4ReZhHqGu/XI8h0w0Eg2WvQbw1HG99/BivVKXe7AfY//aCr9xGUwWsUoB4KzOhorQ5dYlPas1zRAPGDKfwpwQq8fncCuoKG7wyhQtRzCxUKez81p2xKqOwyoa+cVBLG19hh20weJ7j0mtqeQbogLcDbvhsqoVSGdA2UP
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(346002)(136003)(366004)(396003)(478600001)(4744005)(5660300002)(6486002)(66556008)(2906002)(66946007)(64756008)(66476007)(66446008)(38100700002)(31686004)(122000001)(8936002)(38070700005)(82960400001)(8676002)(6512007)(6506007)(26005)(36756003)(2616005)(186003)(53546011)(86362001)(71200400001)(41300700001)(316002)(54906003)(76116006)(91956017)(4326008)(31696002)(110136005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UzJmWXFIVTBlMnRJNUdocVA3dmJWQUxUN3d1STY4UWdsNis1ZVpLSFlLOFd0?=
 =?utf-8?B?WnlKR3NJc2NIK1k3VG5pelBYWHFLVVRoa21EMEJMUzY5SWc4RXNVc1BOdnBi?=
 =?utf-8?B?SjRsVFY2cmFOTHVyY3g5TEh2TmFHSm54SytpQWJWcVh5azdtSTY4WEdYSFhM?=
 =?utf-8?B?bnZCUDZEZDFsR1lySnFGWS9SU2JEVklvZ0VYeFMxdWQ0dTV5TEJ4RjJTQTBa?=
 =?utf-8?B?ZDdLbFBJRUo5ZHlrK3g3anJCQ01TcklmdVp1cXBlMWRoUE5HNmVnMllURWtX?=
 =?utf-8?B?Z0ozS2ZJU3g3NHZpVGsrMjVxNEtkYjFNODBOeEhnOENZMEZKazlqcDdIQlJJ?=
 =?utf-8?B?S3dXUUExYlg4eXhlSW8rRUs2a2hDQXQ0ZmVDTnZ1aVRYYVZTNnZ3aCtxNXRn?=
 =?utf-8?B?ajAvYms1bkc2OE9Ia0xuWmdPNVc3WVpGR3VKL05QNWZEV1BQbmU3Y1VMbzEv?=
 =?utf-8?B?WENSZHlRdGpvRzJMd3cvK09TMUtSenorTTF5emJmT3BMWE0vdE9hOGhvTGJN?=
 =?utf-8?B?STVsWVpQT3NTNVNUZ2VSeUQwaUJFRm5JV2owVTlzVE92SmVtRlFUZUdDM2c2?=
 =?utf-8?B?TS9qOXFpVWtMODBoZ1FwMXFFbUhQcE9UR3Z5Qk5qeGxyUUtQMnlHckltckNV?=
 =?utf-8?B?eFljUUNRWURIUXo0MXg4V0pOQkRoN0t3dFd1Z2xEMUVYMlpVMDlFWG9RWjFZ?=
 =?utf-8?B?U3BHNlJNK21QSjdFeXJGWTFYd0ZpR1VEQkc4L2hMYWRNT3NFbG1DdlRUWUJN?=
 =?utf-8?B?Z2tHM244Nll4bGcxUmc4Ynh3TkZ6dHdDWDFYeDdDckZrVXM2U052QVJtOE9w?=
 =?utf-8?B?dkMrM1ZwdXRSUUNJbm9aa0FjZ0JXK3dWV1kyc0lESjF1OGVQQkF0VWxiVWIw?=
 =?utf-8?B?Q3NzYTBNR2E2amhZTTJFQ3ZNTjR0a0dYY1ZwU3NBMEZBVkFSR251N2JmUHBR?=
 =?utf-8?B?YUl6d2x1VTU2T09SQm5RQWM2dHlKRjFoMUNZVHVPeU5TUTh6aFc3cisxeHVH?=
 =?utf-8?B?ZmdPMldaZzNTNjl5bXRiMWxGckxYblgvYXJtK3Ywd1E1ZWgvanJzSWFGMmFX?=
 =?utf-8?B?TEpGSkkzeWIxYUY3Rk1PYmVBQ0lDNEZjVWJiTTljeWdSQlV5TnlNVUVML0w4?=
 =?utf-8?B?RUtGVGJSb1l1RFYvQ2VJRzE1UXM3TU9FL3RnYkZ4UEpaOTVOL0w3U0p0VG90?=
 =?utf-8?B?dVV1SXFZMFoyanRCcU95YmRXNjZ1cWlHeGJCbEZrU1JSNjJXOXlDMGNZVlBu?=
 =?utf-8?B?UEd3cDhqWndKYndjQVMrb1A2bVRnRkIvWWJoVDdMODhBU2RyakN5cEgxc0Vv?=
 =?utf-8?B?M0Z1L05YeEljcHdTNXVLcHd2bnpKRXkwOGxTaVRQNVVrRUNsTFl3R04zbFBI?=
 =?utf-8?B?TUJTVlJaTTVibzgzRXN5VlZHMnkyOThQQkZyNzMzcEZ4YTZicmROVmlrakJV?=
 =?utf-8?B?VVdTM29jUzVXRGxVSit2THpqb0JsdWIzNUYzdEpkS0U5cnphNDdUQ01WK1g2?=
 =?utf-8?B?K2I3M01GV1Bna012eWtSb01MOExWTnFLUjhuRS9hKzViTDVVSUhsY0JWVkor?=
 =?utf-8?B?eFAraHFyTytrSHl6N3IxeHpVTnQvTCttVy9IRHNkajVvalpEVHZTSnJRcGZV?=
 =?utf-8?B?SFVXU3p6OG00RmhhUHlzQStuWVR3aEkyTFU0ODFxRGdQTXQ2WkdRMUNza0Jr?=
 =?utf-8?B?MzN2SlJ6VW1UZkRQWnEydXhqbG5PSDVCNEUycEs3MEZyd1RKelMzVExmbGlp?=
 =?utf-8?B?UHVkdUQraHVWV24zQ21DWnlJREFpN1RkbzIrWVZIWGk0eTZsT0ovY1pLS0VM?=
 =?utf-8?B?emxUTkt5L0FRSWp5VHNDWno3Sk0yYTFhdTRmeWNaVUpRU0ZZeXV1bytBV0Zw?=
 =?utf-8?B?emREVEh4SmgvdHEzbFZJcVM5b0I1cDBFVVR1MGY4dzNzbS9aREZubGFISC9H?=
 =?utf-8?B?U1ZuUXdDM3J3eHhoNWk0OVVUQWtGMzZRTENxZStrV0phK0dxdHV5TDFmV1Ry?=
 =?utf-8?B?MFJHMWtHdkdYaC9BNWJ3eFROa0dMQmlYWThjbHVVZXlmOXVPNW91MktBbkds?=
 =?utf-8?B?V3ZjellZLzRiR1QvcVpHWjZTWEQwRXI2aDVBSGxWQTZOOFhVaCtNNUpPK3gv?=
 =?utf-8?B?ZE9OWG9RYUIrcnpXazJudzZieWR0SUU4eFFpUGNzeEZLZm5PMlpRQU8wT2VK?=
 =?utf-8?B?M3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5380DC5375247B4380E6E6C82D82CDF7@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Q+z41u3mF6YT0s+QWRWjOwKBzK9lMEd2+wqdUN97vtJHhATSMEzfqyBaRmwGAZiy+TebzsZs61LOvPTNqTqVp6KFXmyQSjF8SqZb33AK6DdA47vPkZcIuYaDG1ri5Azt1R2N3VPEtoroc8ouIDVdLe1+hlmDOk24maOAsjoai6RCUDEchMz8aVHVuXkF/jO3NN3ZHTHxKm41mObY9VjI4RbULFIZfeB3k2TEVRx1UvdFhfrdfBRcbL4UCZAC7MrQkOkUo7t5pSGhZvQYcJpn7B0JUhC2wTgKgYHenfQnBr7izjcczJ1TCVKjK9vs+obaNsNGbU3uHVprzn2kB0d+JQirBogGmh3iR/OhCU/iS8BCSLrg9sypLzYmEOJXkX4FZU1tHkHVWHYkExS15NidCrhq8HF7dEk3qzCsv6+c01fvOS6vbUxteKRq2uDZpXPKSzhzhCQqkMCNnb0U9Rnzx2AT5qEpgL2SM+cqFezjjTZ8FyzMG0kK6MqSn7AFWIl8SXO+qlPJG0dhZC27YwQXI4hH+BXDqHTf9fBQpfiMGg4fTYJcL4MUPCMAtEDXAoZX2ilZGl3gs3xGTNN8Zhh4KaxrHFalKfzH7aPSwUIF0EdYy4mqcXG5hTlamgAKjntQ/zSqIvmyDZuIfKEbw0zzfT4P0d/zs/PJeWexYirWsDdLmCaJ3+9mgwGlU7tOcjg3kcwzLDJXo4v0gh0Kt3O5ScSOUgKTPSmx9ooxCfL8wvE22KAaS8a+ZTgPpqHcdbHDaLHdBlRppSDSsDEj4nnHT8OzYzOGfB4k7kkxqC2jr7nh2S1h042BdLJ44GXMOcHG
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb026774-58aa-4ee8-6507-08da7b834de2
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 10:21:50.3805
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: hEuZby+z8zBBDXSkhX0+vcwJsOZn72zsimT9LnFRRwTBAiLOj2AVgCv6cIZXS/SwzgXeHfjto+tD/AruVMOfLdqeQ4XoPTePFUMUSby7j64=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5714

T24gMTEvMDgvMjAyMiAxMToxNywgUm9zcyBMYWdlcndhbGwgd3JvdGU6DQo+IFRoZXNlIGZ1bmN0
aW9ucyBtYXkgYmUgY2FsbGVkIGJ5IGluaXRfYW1kKCkgYWZ0ZXIgdGhlIF9pbml0IGZ1bmN0aW9u
cw0KPiBoYXZlIGJlZW4gcHVyZ2VkIGR1cmluZyBDUFUgaG90cGx1ZyBvciBQViBzaGltIGJvb3Qg
c28gZHJvcCB0aGUgX2luaXQuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IFJvc3MgTGFnZXJ3YWxsIDxy
b3NzLmxhZ2Vyd2FsbEBjaXRyaXguY29tPg0KDQpIbW0uwqAgVGhhdCdzIGEgYnVnIGluIGluaXRf
YW1kKCkgSSdkIHNheS7CoCBUaGVzZSByZWFsbHkgc2hvdWxkbid0IGJlDQp1c2VkIGFmdGVyIF9f
aW5pdC4NCg0KV2hpY2ggcGF0aCBleHBsb2RlZCBzcGVjaWZpY2FsbHk/DQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:31:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384388.619752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5T0-00036n-B6; Thu, 11 Aug 2022 10:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384388.619752; Thu, 11 Aug 2022 10:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5T0-00036g-6I; Thu, 11 Aug 2022 10:31:06 +0000
Received: by outflank-mailman (input) for mailman id 384388;
 Thu, 11 Aug 2022 10:31:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XZap=YP=citrix.com=prvs=215a4cc3a=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1oM5Sz-00036a-8L
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:31:05 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b27f9057-1960-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 12:31:03 +0200 (CEST)
Received: from mail-dm6nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 06:30:53 -0400
Received: from PH0PR03MB6382.namprd03.prod.outlook.com (2603:10b6:510:ab::9)
 by MW4PR03MB6652.namprd03.prod.outlook.com (2603:10b6:303:12f::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 11 Aug
 2022 10:30:52 +0000
Received: from PH0PR03MB6382.namprd03.prod.outlook.com
 ([fe80::98a5:50cc:d31:14b9]) by PH0PR03MB6382.namprd03.prod.outlook.com
 ([fe80::98a5:50cc:d31:14b9%9]) with mapi id 15.20.5525.011; Thu, 11 Aug 2022
 10:30:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b27f9057-1960-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660213862;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=M3co+S1ehLVNxkOAQf133B931JRCaze/VleNV4MaHGo=;
  b=dAr9u7oZfIiPQO1yOKIEUVNc9NKTU3ufwN9m2M8r7pF4izqIk+datMaX
   8Xl1gNkPB2pEtTxHln4XLcek/vkZjmtXl5COck8DQLcUvob24k1YKVzjx
   MS1gacJswMLlyMWqfiXXxGM7RKjuu0jDQo1QKSeah03pTmDaSIwoFNhl8
   0=;
X-IronPort-RemoteIP: 104.47.58.109
X-IronPort-MID: 80414715
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:N/+lnajPbj+vStI8aLlduuNXX161eREKZh0ujC45NGQN5FlHY01je
 htvCG6APP2La2D8L9F2aN+2o0pTu8DWnNQwGgRrryBjQyob9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSr4WtB1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eLNwRvcp7OGJ00
 NczK29QSimKpO2w+efuIgVsrpxLwMjDGqo64ykl4RSHSPEsTNbEXrnA4sJe0HEonMdSEP3CZ
 s0fLz1ycBDHZB4JMVASYH48tL7w2j+jLHsF+BTM/ftfD2v7lWSd1JD3N8HOPNiDSshPgU+co
 krN/njjAwFcP9uaodaA2iL02raTwnqmMG4UPOCa6fRF3GSe/E4wS0EnBVurh76011HrDrqzL
 GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAGRDNcbN0ttOctWCcnk
 FSOmrvBGjhHoLCTD3WH+d+pQSiaPCEUKSoOYHECRA5cu937+thr31TIU8ppF7OzgpvtAzbsz
 juWrS84wbIOkcoM0Kb99lfC696xmqX0oscOzl2/dgqYAslRPeZJu6TABYDn0Mt9
IronPort-HdrOrdr: A9a23:3utMP6/KCH4KFBWQi/9uk+F0db1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQodcdDpAtjifZquz+8O3WB3B8buYOCGghrjEGgG1+ffKlLbakrDH4JmtJ
 uINpIOcOEYbmIKwfoSgjPIderIqePvmM/HuQ6d9QYVcegAUdAD0+4NMHf+LqQAfngiOXNWLv
 qhz/sCgwDlVWUcb8y9CHVAdfPEvcf3mJXvZgNDLwI76SGV5AnYpoLSIly95FMzQjlPybAt/S
 zuiAri/JiutPm911v1y3LT1ZJLg9Hso+EzRfBky/JlagkEuDzYJriJaIfy+QzdZ9vfrGrCpe
 O84CvI+f4DrE85MFvF5ycFkDOQrQrGo0WStWNwx0GT7vARDQhKdfaoie9iA2Tkwltls9dm3K
 1R2WWF85JREBPbhSz4o8PFThdwiyOP0DMfeMMo/gtiuLElGclshJ1a+FkQHIYLHSr85oxiGO
 5yDNvE7PITdV+BdXjWsmRm3dTpBx0Ib1y7a1lHvtbQ3yldnXh/wUddzMsDnm0Y/JZ4T5Vf/e
 zLPqlhibkLRM4LaqB2AvsHXKKMeyTwaAOJNHjXLUXsFakBNX6Io5nr4K8t7OXvY5AMxItaou
 W0bLqZjx9GR6vDM7z/4HQQyGG9fIyUZ0Wf9uhOo55kp7b7WL3ndSWeVVFGqbrTn8ki
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="80414715"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OgXJORtp8fd7ebd+q4o06lDCqA8bLy3IV9J2mUzPi8qpcVdjD6w7LF2X1kxbqrJmVcZ3UJLKfxAJTKxAStGd0ZVL04ATSr2i7P96ktmQbsBiMrlT4i5HLGYX5rVKQn9D6TzZ3KeN3D9SVq3QmHNrwTPZ0vMNAvrdU+5PI6nZjl04d0YhhEEG1N8MmE7EOyt+bRUPP1hiE1A8F7E9cVj3edmSxZuBPfnIN7tTYXEURfBFOlCNQWBdHHbOK9GGS1CjsNtrnq6gUmZOFfji3/91Txd037mccLaSCZmzwe6BSqiXgZ2dYaATNS8cmTU+hC8K0620wxdpi87wvNRvEWX/qA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=49zEQII0C4FjJK3N7Z2fU9ccabXmk65bybIOH6uoXrM=;
 b=Xa0tIwRF66S3rFn41kh1Srj8uN5v1CfHVwuK+CEMPFsqggt53h7YLeVZtCd0PdK2E10t8NdeAA9/Nx5bNe6lQ5ZVOrN5CZZ9N2FmmilLgrHd7eZ3Y2/UMFImrf8lZtqTx+Kt4ADcMOcsgjJsYeOdUmsYAS8gc9ew8YPbxxNfz+mj8tRwjm0kpwRsib90Xx7xot4ek0qlo9qtxT1b8mIY1rlc7ppaOKRrpmGJogZyLxBEWbWVxZAoZUrqK1FVpIg+cmkgtfkCY1sqofs2Aw6GgzthJgCgZUkBtk04dJ1dv7NmXC1ivbCh/Em4GxQWHFc6RjEjZF78dSAPNbGvIbftfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=49zEQII0C4FjJK3N7Z2fU9ccabXmk65bybIOH6uoXrM=;
 b=GzrpklQTx3e5WoRxfGV2rLL6sM3vI89XiS/DcmXbAYvYUWz457IMEYXeCixm2dmFAN/53ZI5noz7t2BPilP1Wk+jYl55oVv++QuAGp0s56ZK2cnayiG7SGgPa9/IKphFUaxuF2uidAUwApyEAdJkpiuISCmbemPZ88tb7UW10k4=
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions
Thread-Topic: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions
Thread-Index: AQHYrWuqhVokOxPY3UOreWT/dXaIGK2pfX8AgAAASDA=
Date: Thu, 11 Aug 2022 10:30:51 +0000
Message-ID:
 <PH0PR03MB63827F5CFCCB8277405FD70BF0649@PH0PR03MB6382.namprd03.prod.outlook.com>
References: <20220811101715.3947873-1-ross.lagerwall@citrix.com>
 <7ff6d006-0a6d-60e9-ebb7-70ad3c6d6a5b@citrix.com>
In-Reply-To: <7ff6d006-0a6d-60e9-ebb7-70ad3c6d6a5b@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5bcd1f44-a1fb-4e25-17ec-08da7b849093
x-ms-traffictypediagnostic: MW4PR03MB6652:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Qye2rxD6IT+IDZNVZQivNniAuES83L9xQIbsMg3pmBoHy8lNjIfSo66g6n6TRQYYUDbrX+TtvoxFdcf36bBY6oxQ3foTafUa1z1rAifGjzEqDqJlR2WvnKpdURTl+zEg5gbyltL6ZmnjRx5CDZCeFTWi/Yl7PPChROnWUBpN5vF0kmxu2uOt8m64taeXO6yQTOS+3qCP99Hw6Axl19o9z3F6foQi5t74235jyYASqEBZ0AUqw7injO2ZfNpXip/6+YuqxWyUNo9NDVjR9mBYbd/Y4ClkXzYZI1oTnZuUKtvy72WxAEGje9r7VNK3eCRRrSrtD58/LQiqGuYxsRZT7oJ4CUksxpSxL6+peFQavwHTtrV0EJFQ0rItDtQKtpM6xX1nx5WHD1P7oPXHS0qDLurshAX8AIf9U1yx/tc9N9hO8rUM0dKbE+RZnXvUjB7QXjadHMA1KAGAv8x2XEYzqaZx8fXtC23y1tEyuRxwaxK/OJn8Q5ovmPk0zZu5t2elACAulVWSEQPE1sSgMRn+yX2saW6ZN/KvF+F9RP81lOLyxD3Id6p+d1MebT9UGm0KKZTYKJEYLtqCpB9hS+s8bIDp9DnXfyUlzmMt0hqS7vCVKTrNKC7A+93xJJF/g4M5Wg/jDpZ7uZW/f52nojF4eUWi08WmuqiEjPadI4t0sN3ivO9LhtzeORZL+1b+qPGnSSr1Rk+gMIgzzxAeXVuvhdK1DO2T0PKl3KvXFe6j8IstkRyForrjGY7kgDvGpkFmb+jfsBtClL8YWqrIafX7c6VP+ZVZeOpMqt8b+W9PEJr7Mn96z4AGjq5tdGWQQ3RZ
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6382.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(366004)(346002)(39860400002)(396003)(41300700001)(91956017)(8676002)(55016003)(2906002)(4326008)(76116006)(64756008)(66946007)(66556008)(66446008)(83380400001)(316002)(54906003)(110136005)(186003)(122000001)(38100700002)(26005)(66476007)(9686003)(82960400001)(478600001)(86362001)(8936002)(53546011)(5660300002)(38070700005)(33656002)(71200400001)(7696005)(6506007)(44832011)(52536014);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?wRnRdzNw8xZ/bTQuhIBaAvJoZJwqb2vl6ag/OzAd7lFZmC7nMjCr29ejSt?=
 =?iso-8859-1?Q?1aTvTxXI0CDI9OBPYBXPUlFN9q4QdusS70bh06NhGXEiJ4xrZwsIPGwCH/?=
 =?iso-8859-1?Q?W9pOKhxHbX3aUpRZCGmZ0EBp5TVqkuFrK9axUNA5+9Zr8QGwsSYgNVX05o?=
 =?iso-8859-1?Q?r/UD7C1eks0fsGILQI+Ad4g+vsquZ5XrJEwxwlCkqlWPMm5vqwYZKqsQ6H?=
 =?iso-8859-1?Q?FRpU454fgcHTPEujFIya9DnkpQCDynwtlFsf3jljR+lEdbccXu3E84bPyl?=
 =?iso-8859-1?Q?FiJau6EspLhbGPOZvARZriEPv1Da8LOdOgA0/QYfnI8HYVLQvQ67jdxYke?=
 =?iso-8859-1?Q?xsSeOZgOo1O0VB4ZAuveWpg6RUGrRcseHqmjzPAIAdBMv2APR6qPjH4RR0?=
 =?iso-8859-1?Q?Q8sdHWcmaI3C4dXRucNSCIlgRZXpV0QSugI7mGW9se1G6NRxrrddOmSeOV?=
 =?iso-8859-1?Q?GSQJnnYT9RBfWTxQAO+nHDESUSXScdkdz860nxfeQXc4z/Ur0fLiCQ7sHq?=
 =?iso-8859-1?Q?ndFA4509Ybw5qQhLSbo5+ry9qyW6gINQ4l9udaJKJAVp/YwLjpaZRTUqKq?=
 =?iso-8859-1?Q?nEdSXtEoohyfU+FlxGjXWCs7i28PF/gNqpo5IdoBh53s4JDV0FM7n4f84/?=
 =?iso-8859-1?Q?dJ4ujWUKQ5q4ZNx1HDVltBvH85gSACkd/gNrobOxL4c69LquG1NoYqDcRV?=
 =?iso-8859-1?Q?MDG86pVfL5HjIqx/in2XBcJax1HBXJdvqrP2M3MHxWxbGRYXRWfUYiinmT?=
 =?iso-8859-1?Q?/Wbz8P7vmlll3+QNKHcBKq9PU+dDgGPX/+vZsxPEIs/BbdzBF2/UiTNTrF?=
 =?iso-8859-1?Q?CQCxHNYyFNporHb8w2TB80AyBt50r/lYV0e7imMWlmjSBDsozoLeCIDnHt?=
 =?iso-8859-1?Q?BKnhISD4+BvoOO7dZCk7Ii4hzvqmv657eVtE/5SJqaLMor2yhCyl+2YXxJ?=
 =?iso-8859-1?Q?p3ZoQoUaYdHqTlfPQ5uqFpK5xGZlXI1/ENr2jbQKUy+WQa5QliJmsssQOa?=
 =?iso-8859-1?Q?kg3b6Q1JhKu7Er6VlU6CLMCENroNJF3hvoHZFYayVeIlWCG9jRNMwJKTIW?=
 =?iso-8859-1?Q?myVOrQXKRmg1bhn06lenMAQ/FPlvkWbwX6uGRYMPW9/i7GO9XAIyQKtd/b?=
 =?iso-8859-1?Q?8BBsH8NkUXoy6D3KUS22GpEs7ox+SShMgQRsmVNQoUN8YgcX3N/ruWie6h?=
 =?iso-8859-1?Q?RMLw/GUR/ckqvnky1fVngU5de4PTuckzYiVJs8UiPpdB+oaRz8L+3Meq+I?=
 =?iso-8859-1?Q?SsCEZFbnEeLNn8cY2q1hH6TxH/NXCNmG6L92mRvf22T848pBGldUaV1rz0?=
 =?iso-8859-1?Q?Qa7hSo+G4vCEz8g6jEOT5u5IJp40WQ3xEBXAA9ixms+FFT3S63T5aKmu6E?=
 =?iso-8859-1?Q?TEWyfE/QTJlPIjkXFJSUId5ntfQi6u7rPlDo6fKqYQodLiIc+tYG+fJLco?=
 =?iso-8859-1?Q?H9v/EH7vjxRa5cCuyTtZYygb0qXiZZQ3iaXtaJgltkIq3b8y6Vgb2Cd/qZ?=
 =?iso-8859-1?Q?UKFTkWehKOwsgo8+Wy9O4OJLH1X70iGCp1l2ynPHQJUmtE31ppD7IXeAHf?=
 =?iso-8859-1?Q?rto5JAiZ//yP0gmKKbIRPM6PntY4FmvpE+WTeLe3F3LKnlTR55Qc+SO1F9?=
 =?iso-8859-1?Q?JumUqrPP/KARziUuCLELt6T/HroqZY8dG5?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6382.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bcd1f44-a1fb-4e25-17ec-08da7b849093
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 10:30:51.7180
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: m2bJQ3jI9x2c4sqe1XVIncZMYJsIVdgfwKcIw57/CCL301HOMu/2Pg40ZN+BHfl2eArsEZLOBYYBGDGaycsx6GsbMQGg+iTsBvLaMiIPQNc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6652

> From: Andrew Cooper <Andrew.Cooper3@citrix.com>=0A=
> Sent: Thursday, August 11, 2022 11:21 AM=0A=
> To: Ross Lagerwall <ross.lagerwall@citrix.com>; xen-devel@lists.xenprojec=
t.org <xen-devel@lists.xenproject.org>=0A=
> Cc: Jan Beulich <jbeulich@suse.com>; Roger Pau Monne <roger.pau@citrix.co=
m>; Wei Liu <wl@xen.org>=0A=
> Subject: Re: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions =0A=
> =A0=0A=
> On 11/08/2022 11:17, Ross Lagerwall wrote:=0A=
> > These functions may be called by init_amd() after the _init functions=
=0A=
> > have been purged during CPU hotplug or PV shim boot so drop the _init.=
=0A=
> >=0A=
> > Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>=0A=
> =0A=
> Hmm.=A0 That's a bug in init_amd() I'd say.=A0 These really shouldn't be=
=0A=
> used after __init.=0A=
> =0A=
> Which path exploded specifically?=0A=
=0A=
The stack trace was:=0A=
=0A=
setup_force_cpu_cap=0A=
init_amd=0A=
identify_cpu=0A=
start_secondary=0A=
=0A=
In setup_force_cpu_cap() here:=0A=
=0A=
        /*=0A=
         * On pre-CLFLUSHOPT AMD CPUs, CLFLUSH is weakly ordered with=0A=
         * everything, including reads and writes to address, and=0A=
         * LFENCE/SFENCE instructions.=0A=
         */=0A=
        if (!cpu_has_clflushopt)=0A=
                setup_force_cpu_cap(X86_BUG_CLFLUSH_MFENCE);=0A=
=0A=
which was recently introduced by:=0A=
=0A=
commit 062868a5a8b428b85db589fa9a6d6e43969ffeb9=0A=
Author: Andrew Cooper <andrew.cooper3@citrix.com>=0A=
Date:   Thu Jun 9 14:23:07 2022 +0200=0A=
=0A=
    x86/amd: Work around CLFLUSH ordering on older parts=0A=
=0A=
=0A=
Should the fix rather be to guard that call with "if (c =3D=3D &boot_cpu_da=
ta ..." ?=0A=
=0A=
Ross=


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:35:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384398.619763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5Wp-0003jk-Qq; Thu, 11 Aug 2022 10:35:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384398.619763; Thu, 11 Aug 2022 10:35:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5Wp-0003jd-NY; Thu, 11 Aug 2022 10:35:03 +0000
Received: by outflank-mailman (input) for mailman id 384398;
 Thu, 11 Aug 2022 10:35:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM5Wo-0003jX-UI
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:35:02 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3fb74cab-1961-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 12:35:00 +0200 (CEST)
Received: from mail-dm6nam04lp2045.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 06:34:57 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW5PR03MB7007.namprd03.prod.outlook.com (2603:10b6:303:1aa::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 11 Aug
 2022 10:34:56 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 10:34:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fb74cab-1961-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660214100;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=z0o48xIdAaWOZ6a0sVgYEg00NTBFScV06bbRsb74HIk=;
  b=e3u7J5YKT1lY7+R8E3mCT7d3hGx9s4mVcM+TDEBH9pW0GsFImp4KIrko
   h2LCDB78555QQCmn71dUFUYvL+G2RiEBlyiQyQBu8Ws8t2dvt+nq2OCb5
   9TjUI+qnsNAtcnt7rF8GhGbsTM/bfTXyfXGR6QWEiNu8mCN5CsCaae3YZ
   8=;
X-IronPort-RemoteIP: 104.47.73.45
X-IronPort-MID: 78299631
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:yRxBo60WP/SigJhPwfbD5c1wkn2cJEfYwER7XKvMYLTBsI5bpzcEx
 2AcXzjTbKvcN2KjKY1/bI+2oRsEuJ/Xz9QxHFY6pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Uo35ZwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj69hnDxASYNYDwbtmOTpO/
 NcZMzkubw/W0opawJrjIgVtruIKCZG3ea865DRnxzyfCus6S5feRamM/cVfwDo7msFJG7DZe
 tYdbj1sKh/HZnWjOH9OUM54wLju2SK5L2AwRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPPk2vUrCn17gPJtSzyBN4+MaC1z9800WKhhWhUFSw0WkTu9JFVjWb7AbqzM
 Xc86ico6KQ/6kGvZt38RAGj5m6JuAYGXNhdGPF87xuCooLW6QuEAmkPThZadccr8sQxQFQCy
 Vuhj97vQzt1v9WopWm1876VqXa+PHYTJGpaOSscF1NZvp/kvZ05iQ/JQpB7Cqmpg9bpGDb2h
 TeXsCw5gLZVhskOv0mmwW36b/uXjsChZmYICs//BwpJMisRiFaZWrGV
IronPort-HdrOrdr: A9a23:C9R8i69U0r1NV6mxo8Ruk+F7db1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQodcdDpAtjifZtFnaQFrLX5To3SJjUO31HYYL2KjLGSiQEIfheTygcz79
 YGT0ETMrzN5B1B/L7HCWqDYpkdKbu8gcaVbI7lph8DIz2CKZsQljuRYTzrcHGeMTM2YabRY6
 Dsg/avyQDBRV0nKuCAQlUVVenKoNPG0Lj8ZwQdOhIh4A6SyRu19b/TCXGjr1YjegIK5Y1n3X
 nOkgT/6Knmmeq80AXg22ja6IkTsMf9y+FEGNeHhqEuW3XRY0eTFcdcso+5zXUISdKUmRIXeR
 730lAd1vFImjHsl6eO0F3QMkfboW8TAjTZuCKlaDPY0LDErXQBeoR8bMtiA2XkAwBLhqAC7I
 tbm22erJZZFhXGgWD04MXJTQhjkg6urWMlivN7tQ0XbWIyUs4nkWUkxjIiLL4QWCbhrIw3Gu
 hnC8/RoP5QbFOBdnjc+m1i2salUHg/FgqPBhFqgL3f7xFG2HRii0cIzs0WmXkNsJo7Vplf/u
 zBdqBljqtHQMMaZb90QO0BXcy0AGrQRg+kChPbHX33UKUcf37doZ/+57s4oOmsZZwT1ZM33I
 /MVVtJ3FRCD34Gyff+qaGj3iq9MFlVBw6du/22z6IJyYHUVf7sLTCJTkwono+pv+gfa/erKc
 qOBA==
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="78299631"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fNs7Jzx0MhyxcvnLqbVXkhWujTyzzAGMz5xSEOpe7r3N2bY/KWG7wombu8VH60aoddjAE4RIqdO563JBZea2ZCalDf7aritrfJYSOz2ndsiJkCvQSTHhxmaJJ+6RrZFzx1X2viSWh5oetOKLN5CtRx3Kn+ZotBaZ7lZxoJ8T5rclrVxMqb0E/Ph7kASbY3A3EyB77jJn5c7rg6gMQmYH89SDwnEN67tgdOLHBVe/kWy5QyqvNur4kXvHVif/YXdhcO6PdGin8KU/IzgE4Dh1LGWfPXmr3blAeWm7hUrbzj4V0XjjYmJBnfZOiSFtbOgpbEqunalJG0PYpe6pMtxm/g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z0o48xIdAaWOZ6a0sVgYEg00NTBFScV06bbRsb74HIk=;
 b=alVyu3FzXSWlcVblz6N9zBKmszihmHT0I5AGEV8fTwKftEODY6mORjjHxDgtFvdeRwS3KxHQyfLp+iixpITWQnR+9f1sIXEQp4kasseEkH0NlTHNGlngSmFf3IlgEHJjWfbLSqBOgCyASF3WSQeZ4GgMfyG6LpIy5vZxwwyAWs8UexzOpa5PhwtSUflmDr/rKLmCZlZsI/cJ6HpnTP714d1/saTRxfI6l4YXwfmhi2pUPecMvjnTdcQ6JguQe4tOj7/38q2yYkbDjREcgG5Xpu/v2wIK2qJw3s6FlqerRMJ3V+ZHokwRkhdzG0MXAg3nGKYWqmyL7xp9gPAqgjItig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z0o48xIdAaWOZ6a0sVgYEg00NTBFScV06bbRsb74HIk=;
 b=uAX1cccIg7w8/aGA0F/VCz4tlLJV0e1SiyuR/ziR9LJIz1sGNr6y3jd5cprETxFNTWi4hhWa4LBH8nES6tGLcLbv3F+H/otm9h+WxnG7licophrOTK+wHMEnhcyvSvQhtL2/UwF4pccZUJaOB7SBEl3grQdsDnkvoEBmSNlbllU=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions
Thread-Topic: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions
Thread-Index: AQHYrWuqM0jpHL25IEyIFgBUnyY/9K2pfX2AgAAChoCAAAEjgA==
Date: Thu, 11 Aug 2022 10:34:55 +0000
Message-ID: <e848e6a7-2c8e-d0d3-6aa8-24d9d78ae491@citrix.com>
References: <20220811101715.3947873-1-ross.lagerwall@citrix.com>
 <7ff6d006-0a6d-60e9-ebb7-70ad3c6d6a5b@citrix.com>
 <PH0PR03MB63827F5CFCCB8277405FD70BF0649@PH0PR03MB6382.namprd03.prod.outlook.com>
In-Reply-To:
 <PH0PR03MB63827F5CFCCB8277405FD70BF0649@PH0PR03MB6382.namprd03.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0730b4a9-e9f8-43ac-416e-08da7b852228
x-ms-traffictypediagnostic: MW5PR03MB7007:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 prkkhZUi1mOLX+IBCRAtRfMtY0bT2QzifDobN8Y8jho4iyYBqVO1t9BdDvwxd3HM3nHir4LnXimQlwPngp8TzacRiRDeErPLgnsQBhIO3Qh8itTD58f6VqTd72ZLAw4TfOXibBMsKj/8hSkWxc/E5Ts1keohkO/yg09xQRHMEWFxTL8Evvx9K/o0NUrtOeo9Qr7nri2FJOgnqE/mA3B+VEjpFOOxCKfaX3gOdZQ0Mdt0Wu/amNtT96ruk1yQHNcYr62w6zqLZYwrORc6PE3ty7fSJARckrhpwrHK3SAtlZDJBpz8DZqc70RHTmxb1dTFZq33HD+DG3aso7X9hF4F7jxiXrMDND7Ll2ijsMLEHkV4SUiRQYOOy+z8gZ5d93LpOlyPJSq5h3MWKeweh16BQKDNNb5YpHAm9qegZityufEY4jUoHdliEIQwZaW6GQfE8NUCHDcfF6Q5aGJS8mV2gRSwZIEThsV+IpOmaY1arXZC+9rLP4b7gyG+GcmOaHketSbUDt32QizEa2wtN2X4swXzKqIJMJ7XIXN8OgcyD7Z96i+jn4Op29EbfiMskinhBDFFIITOlDe5Iwq4fXh3ITYoAzsakIQbcWcSWK+CpHN82MdGiQpXo3bp/YIhYcRwwwqzjT1LoPzmQk/ImoCpWMxL1hiVrvp+MtW6san6w852O0HPTcqSB48EiNxTo0h5vhVJLfcORnRt3jr9o1U2wYE8MjZKxLt/yEXa5rNpkh0rl7l1CWZBXZORvExyu7vgdJFMJDIHs9UeK9fzqjZzoj8V2uAHdjR9etUY6QPLIWJzh3h4Z19bwtugOnFGJ+21llkSFoPmtpXAslu8j7Uvc4ByCDY4ZRbtoc7ycgsh92zTX+f/vN6S9p8jtVnyCLPi
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(366004)(136003)(39860400002)(376002)(76116006)(38070700005)(31696002)(66446008)(122000001)(71200400001)(2616005)(83380400001)(2906002)(6486002)(186003)(478600001)(36756003)(38100700002)(31686004)(86362001)(54906003)(4326008)(82960400001)(53546011)(316002)(110136005)(5660300002)(64756008)(66946007)(6512007)(6506007)(26005)(41300700001)(66556008)(66476007)(8676002)(91956017)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Q3JpMzExcDNjeXRMUG9JdDNPOVUwNXVxb1h1ZWF5QWxyNEhCTUFjTG5rODBW?=
 =?utf-8?B?TmdoRnBWNzNoQnpGSnpGWndER0RjZkRxN245cVZ2c3lZaFBVNG8yUDhEZDhU?=
 =?utf-8?B?TG9sVjJCYU1NRGFkVVAxKzBUcDlWRWJyOWEzaExiTjJWUEF4Y2l3OFBBd0l0?=
 =?utf-8?B?K2RiSjVtTTlXRlUydkVEd2JWdm5XZ2o1ODJyMWJjK2ZiTXFrR3AwMUNTY3Jh?=
 =?utf-8?B?aDI4Y01JcUJCeHdkRmRidVdFOVpkMGFteXBOZ2YwamtaN2lNaGQrR2dLNVNY?=
 =?utf-8?B?aHNQb0tJOHNTeFo5TmJxSGhLK3oxMzVZejNEOUVDLzlMYUROLzRZNjI4akEv?=
 =?utf-8?B?c2l2bGszWlllTk1udVRFQ29KZFR6T2syendCOHd1YjFUUWRnYU9Cc0ZrUCt1?=
 =?utf-8?B?dWFoM21mZFhPRjhFTFlkOVNMRlBFamZlRlg4eGpjK0RrRFRDQlpSMHRJU2o5?=
 =?utf-8?B?UTBVSmtSSU1QS0ZJZm9nRFI0eFRGY1JnbUp4MWZ1N1FyaWRURE42T1hjY3Y4?=
 =?utf-8?B?czNGZDdrT3c3cE0yU0lYZ1lnaldlWnZMYm45cjZoeTBQd1dyNk1UYUlJRFhO?=
 =?utf-8?B?UGRrVzJCdWpsSWw3WXRqeVlxS0Z6WmJGQmwxdEg2RGFzYWRZTkNMelJpMEJC?=
 =?utf-8?B?ZVZjb25pZVM0Tnd4VGtOQzd2d1NWcXBpckVDQTVzT0J4c2U2TjZRMEVrdW5X?=
 =?utf-8?B?NmZjM1BiWUVIcG9hNHZIQjJEVG1ubEFFUjg5ZXpoQWtOQytlTmpCQmpLTGZK?=
 =?utf-8?B?cUNjS0hlL0ZPQXRBUTJhb1FQY0IyTE5TaVM0RVgvbGJjZzJtVUFtVnJmWUFk?=
 =?utf-8?B?a1g1S25PQzEzNWZkeFZXYisvNEEydzQ1UDAyYUQ4cnJrTEVkYmhRMHZZaCtU?=
 =?utf-8?B?SnFiNGdvbndHc2dxVGdHQjZYN2lqSzVBakF3UXpZT1VsVHdiZy9qLzZud0t6?=
 =?utf-8?B?ZTlnQzBjWXl5WVFHQThnL3lmaW9BZm1VSi9pNnF3aWVBclpmVVFZb2VnekJz?=
 =?utf-8?B?UUNybzhES28zd1Z3NEROVWJ3QS82aHJSZkNpZ1dyNjhldis5RFUyNTIxcHIx?=
 =?utf-8?B?R0xOSGJWVEo1UzlpVTZsRjlXOVdnbUN0bXcvMUtOWSsvUktOMURxdUZ0WTVX?=
 =?utf-8?B?VTlRT1owS2R1SkViUlRtaCtBR01FWEtad0lDVTdXMXc1MWUvVms5eDNQK1By?=
 =?utf-8?B?aWxoc3hoWTJtR3oyVktiaGZYTENrTExJMzcxTUMrMEJmVnNtelR0YUtFUTJJ?=
 =?utf-8?B?SjE4WWorL1d4VUtPdjlkQkFuSlpNek8xU0hOZ0UrOVNTQmNGVndXTC9IREdC?=
 =?utf-8?B?RC81NHBXaUJibTdZV05Qa21rWUxHRlVvUUZpS2hzSEtiY0lzVW92MWJ3TGda?=
 =?utf-8?B?VnZJM25hNS9uOXFCb2dPT0UzRDlsamEvcDdKTW5MNXAvdE12cW9YaWhXclhp?=
 =?utf-8?B?UVlud3p5dUhtMW5NSjgvU21oM0g0SGFsaUV3c3FoMU9qSkhTbGp3STJXNXNn?=
 =?utf-8?B?WXpHTWFtc1dKdWxnU3dRM0dtaVBmMzNFR3VNWW9ZTEd0bE13Mmc4V3lIQVJO?=
 =?utf-8?B?SnIwdHdQSzFpcHZ5VmZBSForVzJSbjhDR2k0dGZJQTNYS0NxMDZJcGlidXhH?=
 =?utf-8?B?V0V5cTJydk9WazhSSytQbUNzaXZuL2pERS9kWmJvUVpvS0J2emt2dE5Qa3lG?=
 =?utf-8?B?Y3VBaGpiSUhVUW9RM0R2LzhtUDQzdmo5OXlvOGtyM3dlZDIyeXIyRVVPbjMv?=
 =?utf-8?B?Vm9EVzNxejdZU3dmZmJuNjNHa2FZcXB5aEZMZ1lwYUt2Q1NmSFMyTmp3TVZM?=
 =?utf-8?B?WmFRdThmc0oxWGxHYlN0Q3luNU5pYk45T1lSNGJjaWJ2aGdBa0V2bHFDMjR5?=
 =?utf-8?B?SXQzN3ZvenNjazlmV2VZVG5kWG1rdExZVUVrbVJkUHNHR2xFeXJiaUg1VkJo?=
 =?utf-8?B?N29iVVp2SXpzdjJVVHlHMkxnRFhhOGl2RDE5VWl4a3ZRM0lXVTRrYmVnU2dq?=
 =?utf-8?B?SzhaR09sNDI5RTlWbEZiMGxwalhCUkJqNFk2NFpLWDh5b3A2TE4vMEJaSXY3?=
 =?utf-8?B?UURaTklCcXVKZEUrZjl0S2Jhb05hVnA1aFp4anBkTExUUy9iY3BsQ2hnL3Z3?=
 =?utf-8?B?QnJTbWF1dXp6b1k0YlVwaHdaSXc1OC9jYk5XS1VoT1MrVmM5Vjh0b3VFNUg5?=
 =?utf-8?B?QUE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8D89EFAB3AFEC943BC6A4410288DF037@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0730b4a9-e9f8-43ac-416e-08da7b852228
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 10:34:56.0120
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: lNDuUdrcj3WLhyR0uXqh5viAuON2byTNxvn1mJPbaUy+vT52rqmJTawM42xqJjOIMHceJNwgLks3qWuAzYIUq7wLC2G72NkMWKlN5XawZAk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB7007

T24gMTEvMDgvMjAyMiAxMTozMCwgUm9zcyBMYWdlcndhbGwgd3JvdGU6DQo+PiBGcm9tOiBBbmRy
ZXcgQ29vcGVyIDxBbmRyZXcuQ29vcGVyM0BjaXRyaXguY29tPg0KPj4gU2VudDogVGh1cnNkYXks
IEF1Z3VzdCAxMSwgMjAyMiAxMToyMSBBTQ0KPj4gVG86IFJvc3MgTGFnZXJ3YWxsIDxyb3NzLmxh
Z2Vyd2FsbEBjaXRyaXguY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnIDx4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc+DQo+PiBDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPjsgUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT47IFdlaSBM
aXUgPHdsQHhlbi5vcmc+DQo+PiBTdWJqZWN0OiBSZTogW1BBVENIXSB4ODYvY3B1OiBEcm9wIF9p
bml0IGZyb20gKl9jcHVfY2FwIGZ1bmN0aW9ucyANCj4+IMKgDQo+PiBPbiAxMS8wOC8yMDIyIDEx
OjE3LCBSb3NzIExhZ2Vyd2FsbCB3cm90ZToNCj4+PiBUaGVzZSBmdW5jdGlvbnMgbWF5IGJlIGNh
bGxlZCBieSBpbml0X2FtZCgpIGFmdGVyIHRoZSBfaW5pdCBmdW5jdGlvbnMNCj4+PiBoYXZlIGJl
ZW4gcHVyZ2VkIGR1cmluZyBDUFUgaG90cGx1ZyBvciBQViBzaGltIGJvb3Qgc28gZHJvcCB0aGUg
X2luaXQuDQo+Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBSb3NzIExhZ2Vyd2FsbCA8cm9zcy5sYWdl
cndhbGxAY2l0cml4LmNvbT4NCj4+IEhtbS7CoCBUaGF0J3MgYSBidWcgaW4gaW5pdF9hbWQoKSBJ
J2Qgc2F5LsKgIFRoZXNlIHJlYWxseSBzaG91bGRuJ3QgYmUNCj4+IHVzZWQgYWZ0ZXIgX19pbml0
Lg0KPj4NCj4+IFdoaWNoIHBhdGggZXhwbG9kZWQgc3BlY2lmaWNhbGx5Pw0KPiBUaGUgc3RhY2sg
dHJhY2Ugd2FzOg0KPg0KPiBzZXR1cF9mb3JjZV9jcHVfY2FwDQo+IGluaXRfYW1kDQo+IGlkZW50
aWZ5X2NwdQ0KPiBzdGFydF9zZWNvbmRhcnkNCj4NCj4gSW4gc2V0dXBfZm9yY2VfY3B1X2NhcCgp
IGhlcmU6DQo+DQo+ICAgICAgICAgLyoNCj4gICAgICAgICAgKiBPbiBwcmUtQ0xGTFVTSE9QVCBB
TUQgQ1BVcywgQ0xGTFVTSCBpcyB3ZWFrbHkgb3JkZXJlZCB3aXRoDQo+ICAgICAgICAgICogZXZl
cnl0aGluZywgaW5jbHVkaW5nIHJlYWRzIGFuZCB3cml0ZXMgdG8gYWRkcmVzcywgYW5kDQo+ICAg
ICAgICAgICogTEZFTkNFL1NGRU5DRSBpbnN0cnVjdGlvbnMuDQo+ICAgICAgICAgICovDQo+ICAg
ICAgICAgaWYgKCFjcHVfaGFzX2NsZmx1c2hvcHQpDQo+ICAgICAgICAgICAgICAgICBzZXR1cF9m
b3JjZV9jcHVfY2FwKFg4Nl9CVUdfQ0xGTFVTSF9NRkVOQ0UpOw0KPg0KPiB3aGljaCB3YXMgcmVj
ZW50bHkgaW50cm9kdWNlZCBieToNCj4NCj4gY29tbWl0IDA2Mjg2OGE1YThiNDI4Yjg1ZGI1ODlm
YTlhNmQ2ZTQzOTY5ZmZlYjkNCj4gQXV0aG9yOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy
M0BjaXRyaXguY29tPg0KPiBEYXRlOiAgIFRodSBKdW4gOSAxNDoyMzowNyAyMDIyICswMjAwDQo+
DQo+ICAgICB4ODYvYW1kOiBXb3JrIGFyb3VuZCBDTEZMVVNIIG9yZGVyaW5nIG9uIG9sZGVyIHBh
cnRzDQoNCkJhaCwgYW5kIHRoYXQgd2FzIGFsc28gYmFja3BvcnRlZCBpbiBhIHNlY3VyaXR5IGZp
eCwgdG8gZXZlcnl0aGluZyBiYWNrDQp0byA0LjEyIGlzIGJyb2tlbi4NCg0KPiBTaG91bGQgdGhl
IGZpeCByYXRoZXIgYmUgdG8gZ3VhcmQgdGhhdCBjYWxsIHdpdGggImlmIChjID09ICZib290X2Nw
dV9kYXRhIC4uLiIgPw0KDQpZZXMgcGxlYXNlLg0KDQpTb3JyeS4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:50:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:50:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384409.619780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5ll-00064C-7E; Thu, 11 Aug 2022 10:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384409.619780; Thu, 11 Aug 2022 10:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5ll-000645-4O; Thu, 11 Aug 2022 10:50:29 +0000
Received: by outflank-mailman (input) for mailman id 384409;
 Thu, 11 Aug 2022 10:50:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM5lj-00063z-HP
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:50:27 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60048.outbound.protection.outlook.com [40.107.6.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 683ac3bc-1963-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 12:50:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR0402MB3473.eurprd04.prod.outlook.com (2603:10a6:208:1b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.24; Thu, 11 Aug
 2022 10:50:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 10:50:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 683ac3bc-1963-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z7GjgsP7z/+6dGtv3iqENnF3qvKLxuoiDeSxjzaIZJxUXjCB6o9wIhmlG5iqCw4uo8w0C9nZEz2B2zksMHwPGE1LxiOGhSMiw1XL+Ed5TTcA+neAqUw0ZNAsVVYgZiPGPG1Ih3Tw57TrPDHW1UleaZWZ6ts1A8Dkahx02dXgQTQktaUTmPrSyoKi3mvVmqHTYt/oJ4Bsr/tk1LWOoE6xFSPNC2/xwUOuoGmVhCp36aijJJppDO2s2YwVg+72o7pZEUYyySqVKPQL1EARA3/h6HEmxIoc81Gnkbpzx9qWu5qHsZACGqnAWaOp146l8bnewp+UIPERMdpjmhAh5LEe+A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lDpnCa/aY01wPS17Ku8OuyEjns8Lv4hwQT1tefTIjXw=;
 b=V7tn39jHUSNpDyKvrvj2p5npptfBmHfR6eTc0+58Az+I9nPdfjkNYhG9kzYXhlr9YGzJbVZDOBy0y/F7PiPgRGiHKkyw/d1LJg1JhO05w4c8MVAN7DS8wjQCbA8nM4dXlMX6JO+Jf9E+/G9/RqC9D0r86Y/wIiv8kHlXJd5rLj8esDZTtkwiwK6k0/wn3isVpkPveFML/UFOc3mX6SVExjwdG4lJPuCJa7lZPLKJUHa7iyHLHLnTlCH9wfOeJfls8kMhqPty3RgM5EDhb08NltoKb+D2v5cP1HOTk8ARaJLe/h2/F+CIpdq7cgAtwIxl3VgVsWmkGmeSgyEQUrqgyQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lDpnCa/aY01wPS17Ku8OuyEjns8Lv4hwQT1tefTIjXw=;
 b=KX3sE9QEnTXV3wDquqegy4B4U1nkhjVamI665Ku1TJHpdsncjCveStzWFVVhGllmUoYrgk0+5f9wtdF7s4N5Fo+giRQbgODlLWXsMuA6fdcuySC5NVv6NyvYy3p2VxDGka4agCw/S9stBiRnVKsUU1eqmt1q5VHQgh5kxvRfFLhiyPoajXKLlNPRVHtqy6QVTEwYbNIS2nh8PVY5veg+ZCs55Gxh0npFyaieeBVFv7HN2AxWjFyZ3gG62r9V2KA1Gr7DMmELTmQ8SKnI93uAqJESCyMR7snpLkzYd6gD7ATcMv4h2puCE5RWyPgtGf/079ZsdkJBzbZqoqfqCHv/Gw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
Date: Thu, 11 Aug 2022 12:50:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Rahul Singh <Rahul.Singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/3] PCI: re-work pci_get_pdev() and friends
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2954341c-9851-4dff-3c60-08da7b874b33
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3473:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6CbgTSgolocQa6hBv2AjmAI0Ref2QtUZ49mW34L08Dm4oysSWoUDhix+pKmha1JNYAHm6X0BfN23UTkzCe889sC0XlQRJkiZnCwx7jVAKea+7Onn6VAPQRPlmVVd/kfXhnQ+mzhkJv6orx+bZBt0/2AGVAN6nF+Y9LeeAw9cpM+eDz12W5JAvntvOiAkbyjpRl4i5U0cu0XOaktqwsdWAIx7+cf7+9YzA2sC3c0TtX0fAUNL9Vcxr4vYWu6mR+xk0kuKZPmqh44byEsb3vl2fnPRnsoMULQ+UzM2YHN/x4XRbVOnNzxT1Vnc5dQbkyGSjSI9Lzn8MVxbFFpycyfCNwwbuilPaY23MllattXVM5YNvSNHO1oo9dkQdAvpm7gqIV01VVr4Bgf4uM4ZuHYFSDW3FwudZSbB8uGRizr73foB4GNuL7FJDuPIw4mkX7XB1PDUR8xQSD6CGxxQhGi93lLco/HiCjcs5tZxqIbbVTTJtgB+2q6PUQi8/1wCRTeH855v2Fziap52wZKVSLY/sULv1PY8qOzVB55+7Ao5AWXInK0G9pKEmWTPepMNLgOPwjkC6krjSiMwi9VUM9isDUWLC/Zuih7It+IS2LJ6jrCEcqgFMorRaT4kuOWzsqkqNPDe8bVfrutPvlar4R4A9cdiSCXGarODx6DCjFrm3hUiowSvNCQynuj/MKp729jwHw+I4O3fYuFpJYZfanZ+MPyhZXDu6+7cPUqnODURcj10uGSq9UUQNwgPV/wSRNqWkKtOB1G/4Pd3UYXYMtltw9PwU3TjsRvzaIrIZu4kDu2JbRnkXucRLuOD5iVE1gjRK3/r/0H1BjxkUEOp5vTLnA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(346002)(376002)(39860400002)(136003)(6506007)(2616005)(8936002)(4744005)(26005)(6512007)(5660300002)(186003)(478600001)(36756003)(31686004)(6486002)(41300700001)(38100700002)(31696002)(86362001)(316002)(2906002)(54906003)(4326008)(8676002)(66556008)(66476007)(6916009)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WGJhWlJ3dlplV3VYYWx4Rmcya0pCZzRraWRZTW54THFpNDJCVEt0ZW1WeS94?=
 =?utf-8?B?WjYwSzdGQVJrVjQ3TS93WWlRNXpuemxTbjAzR09DbjZEVUFhQ3JqaXpVcWVp?=
 =?utf-8?B?clJvNlRxZjNNem90OFFXTC9xRXpaR25JNkpOTjcvK0pXd25CeFovckh1bERw?=
 =?utf-8?B?N2ZvYWN5YlJ2QTYvS0FteXEyN2QwZmpCNDJ5UkN4dFRaRFVOWEUvNG43UkY2?=
 =?utf-8?B?TEY3SldNS1Rjb1VkR3RRZEFzTVhRT2FaK2JGTkU4SjBVOWZDY2ZjaUtDRjMz?=
 =?utf-8?B?YkpuV0l5MVp1ajB1WlFSN1oxVlVRcVdxVmhYUmpjRFNJcDN3ZzJ1YnpyYU9z?=
 =?utf-8?B?dGcwZlpqbVNJbXJkbm9XR1BxNGhCRjdTZWlTdTM2a1VPZTVsRUp5RHFwakJj?=
 =?utf-8?B?bUoraGg5bE5DeXRscTBkS1FKdFNpbXBmWGlmc0ZlaGxvMGwrRkxiSGk4ank4?=
 =?utf-8?B?am5sZHNRNlJQQkovWlZpeVRIT3lacTRqTlNzUE9vT2dPZXA5M0hJZG1tZFVp?=
 =?utf-8?B?UCt2NjBPMFdKQWlrbFQ4V0FYUVpaSEpla0plckg5QXRHWDdnMkwwRkQvNE95?=
 =?utf-8?B?eW52ZWVhOVliQWxjSUxNRGl5UTloRmdNRXkwRHFBY0o1VXJIdFpvY2ZEKzFm?=
 =?utf-8?B?K2FUUmZuOHNnV3BDcUxEeitMZjZjdzZ3aVNCQ2JyRnRHeEEvR0ZReDRyaEFu?=
 =?utf-8?B?UEZVR0xmQ2dMWmZZNTl2YXc3Y2tBK2FvVFFob2ZiTW5HWVQ4MlV6U3hoSEZ1?=
 =?utf-8?B?T3cyaXVlR1RsemRUbmI5L094bmphMUhkellpbm5DcG9NYmpNcjBCRWtXWTB6?=
 =?utf-8?B?KzhaTVBqS20yUUVnL2IzQzQ0WWZyZTJaVUhNZksyTXJEeW04Rm5DSWRxdGdR?=
 =?utf-8?B?WXNmb2kxQkZOTkFENjZyVHIwUnh2ekNPZjNRYjNwQkZPaGh2TW9DUnJQUjBi?=
 =?utf-8?B?cG9jN0Q1V251dmRNeFdWVFhKbXBvRkgzeDcvVnhjbFh6SHdLaUxrVWFwZDIv?=
 =?utf-8?B?VkxqZTg5Z2Z4UWxTd05qdlJzdzFIUFVOV0ZRWFp2ekltVjdNdmJzaURzNnVj?=
 =?utf-8?B?cWUwWUlBNUpxbjlSaURyU3QrRkxhQmgyOE9DWTNVL2R3OXEwUjhUNTZCZXVV?=
 =?utf-8?B?c3F2THhyZXM5NmxXWFl3RmRVM0gzVncxOGdWQXBKL3QvVXBaQzhYV214L3Y2?=
 =?utf-8?B?MDEzUWc2UGUwNFhTaDJHQUhzZkNyUWRZcDBjeVFkWXNtMThDNnFDY0swb3Ry?=
 =?utf-8?B?aGRhdVp3QUZwTnQ4anNBWGVucGd1VVVPVjdTd0tSMUVDamE1blpjTnNlSzQ5?=
 =?utf-8?B?TjY1WVFaclBBME1RTU1xTlA3REkwUU5BYWlGM0xZZi9KV01iZnRtV3BSZW1Q?=
 =?utf-8?B?SjA3Y3dTSXJkNFVuaThBU0pGSldidk1YR3g2Z1h2cnF5S2E5c0lMWlJ6bjZ1?=
 =?utf-8?B?eHNSbnFFSU5RTDlOREovNXRTQ3NqRDh0L0tRSzVNSUs0Z1Y2VU83K29HQ0VV?=
 =?utf-8?B?bENyZSszOUFxTjN3VVVwK2FYWXZQczVJc2Q3RGMwaG1pQ1I3Tlo4aHJ2bGdt?=
 =?utf-8?B?SmlOM1ZVdVlONHFBS3Rsd1luaXdpUElVVmpSUDJPYXd2ditUMEZsbVRiN3hz?=
 =?utf-8?B?OCtUc2RicnRhZ1RETkpMbEpmaUZWbHBHeG55RnBlUDVaRk53L3JMYXNhU3I2?=
 =?utf-8?B?RDdXTTNsZy9OY2tVOStmUzdLLzRGdXh5clpFTC9yNmc2bFNPRlhsYW1INjN2?=
 =?utf-8?B?cGNLOUREQy82aVF4aVpnOFkyK3dVY1ZGU1QxUXF0QnUrYWhUMExXOG44WDFx?=
 =?utf-8?B?eDBhVVVXVVJRMEhjelBYTWQ4TXR3MG5vUDNET0N1d3RqZlFMbjM2MzlvUGtV?=
 =?utf-8?B?Q3ZzNUZ2ditOK0djc0RkcjFibXdXWFR2Vm15clM1cURQSTAySEs5cEFncUhM?=
 =?utf-8?B?MENSTUtzVmQ4Ym53eEc2VVV2b240YnFlSUNNck5qQ3c5V0lHbFJ6ZEZySk55?=
 =?utf-8?B?WXkvL1dINDdCVngzYlRMWHhPekdwR0U5bnFiVjlDTlR5SjN4MjRET3hUbEJ1?=
 =?utf-8?B?R1ZlcVdnZ2cweGFjckJrL1BDOUxjdmZRR1FGMldrSXBYbWxhamdqSHhkQmZm?=
 =?utf-8?Q?YfbIL5FUTEB/k24GRzUU0xrum?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2954341c-9851-4dff-3c60-08da7b874b33
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 10:50:24.0828
 (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: jTkf37cWqIejR36tt55/olfxDv6bzzTM6oB7rdJoyMRgc9aaBGiJD1tRtuBf36iGEpzZoCyrJUL+PK3dRrup4w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3473

The two previously submitted bug fixes can actually be had as a side
effect of eliminating a bogus feature, the last use of which had
disappeared a while ago. Further cleanup then follows along the
lines of what had also been discussed in the context of the earlier
attempts.

1: simplify (and thus correct) pci_get_pdev{,_by_domain}()
2: fold pci_get_pdev{,_by_domain}()
3: bring pci_get_real_pdev() in line with pci_get_pdev()

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:51:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384419.619791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5mq-0006fw-Kq; Thu, 11 Aug 2022 10:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384419.619791; Thu, 11 Aug 2022 10:51:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5mq-0006fp-I4; Thu, 11 Aug 2022 10:51:36 +0000
Received: by outflank-mailman (input) for mailman id 384419;
 Thu, 11 Aug 2022 10:51:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM5mp-0006fh-9K
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:51:35 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60054.outbound.protection.outlook.com [40.107.6.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90b35409-1963-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 12:51:34 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR0402MB3473.eurprd04.prod.outlook.com (2603:10a6:208:1b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.24; Thu, 11 Aug
 2022 10:51:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 10:51:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90b35409-1963-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JUTiU/4yF3eOiUwk5uqp5iM68a+BfYwxvTUtNKOBuWX8hXF23Lu3+P0TehvXqj+RE+AI/8UQJXgkgN+Lz6FqNalxRXPCVPIa/k3oSOppGrFBEgPA4aXUSaOil4iCBvU3q2F4hdzOe3c4LrZZBUv0yuEVDsfMTe14v8Um+sodKgGEkhjQwnLQZA8D6PVhxbczy62EVw4cgGEtX34T1YKIZ3TtLBvh450Z0K2tt6WhJxehzU3dB46HDw4XjIVGAlPk6KXVdtSvw2tiHWL1cjTsgW3zZhuNKXZX9kZaG78+Bqum49adfXIDXl3US8/45JcCB7uKyM40ZFeZVX68p1vRGA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ROeaBlVhWUfxYWHNj4EnOD1wrL9+c+7pgHiRTazbgrg=;
 b=jp5FTLb3wOuNHXs/3SbsXcclq7evyYHXYoApHTpBz0A8McDqJSz92HsgnN+KdMwUq7kNd9dgVdxgYufj5UdNzjtF7QkOTPuYOjoMo9TzTYnNSQVl1EvN5Z/8bDbSlq5X7ZiK20OYhDK0h4bJWc5dYHVhOkRyRgBGhCUWT3079hZjhv89aQNlOMFBrs4+kZpb31fgmiH5nfnQVweaPe64NiOuYl/ygRt6I5qe9x5R0zMdxWQhwFdoswkpxnCk3TZzKp6+ZWkGN0TA/wTBNHs88T8siNOXQS9Wd+jaJ8ISV7o3OJZhI7VLOvd8tXzMBy0eTD3LTFESNFRUhh0aYbn9RA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ROeaBlVhWUfxYWHNj4EnOD1wrL9+c+7pgHiRTazbgrg=;
 b=zZqFvmSLLxS8p6Ci4igICLaM8VoXSBDeE9AcH+eX6ndT+tdOQSm/mng+jMjLcpyTCTD652SMAcBxvUDqvguMuPkr8adOTUbO45gZ4eP3XS4Vvq5O31Jyf6vp2QnkjSBzV0ulmaj/pThvEiYXQkNfVsueTxP8bYfXM0BJjx3he5VgJN0UO12gFHEgH/otaUV5gV6z6ios/Chy+syGB7rO9V0a8mgNkMg3WoAewG7tyqBOq8INo7ZcMAvlMWbW+2lbf4H6sJc/5q6OBFWQXCX/xvH2c8bpnyEAh+eTYrxjX9ZOgV4q5lBmYOaQgT4TYBObG3wVNQl/Pn2pcokBLCG7uw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ad2d9405-9712-79bd-16d7-666ce79bcb3c@suse.com>
Date: Thu, 11 Aug 2022 12:51:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v2 1/3] PCI: simplify (and thus correct)
 pci_get_pdev{,_by_domain}()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Rahul Singh <Rahul.Singh@arm.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
In-Reply-To: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8830853e-4c08-4e85-89e3-08da7b8773d9
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3473:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	biinijqGYPpOxNbZuVSG24GHRGZLEJj1NCzwnFaBzLsd3d4KrY36sfRki8iPdvpX/SYv+3R3vLVJ6ts+3DW0bXYOW+CiraE5cOSNnLbwJsmcm33uNIlFKwdL4zs2lFTA2ZX4XP/H+rFT9KEji8NJcVhqCycNEwSQu6VbowEF01cYeEzl6wpJ2cJy7GIxftg5aF22/9Lvu9y0+kWDQ1s5Vyw7BXfTq4NWnENq8N15aQjV4L86E4ASFNIU0D3qj3HTE+As1EWLJnWxDqfczCm1vCsJ1s2oZzIKpm+g2KqZyz5K77t6dnDfONsCufZSCE44JNKCtKRxyqvcpN2UV1ff14EcYIJxo1TaNTsx0fKA6um8noSbtge3jSETqB1wPn83DXUg8/VwkNCNOD7Mf609GkQWBhyX9l1sWkfsK1fDQIF0qYtBWa2xoafvM8RG/dsIafdbcjzmrVEiGiSLlWtV2TqZfhZfBSxAnv3g91ZmohEGUr111SieOlR6BMtww1x+qdyyLQM/EJwXwRoHR8sYQeuotxdyI0H5LPwx7WSrFQFv4eqwvx8D0zOIIW5U2bNieskkoZSzYDfZ4cWGPSVBXmMASeuZWSyCXrloHCC4+ZpZR6oWAuqLV/qYbsnLbivUcHXmM4V4wubqQOuf2dgzoMzgkIJY3u3y72hpPpg6bhsuwz287/jImo5VjMtxxDP6XbKmAiImaIVmZRD5w48WBO8Ft0SDBaAXClNmPx2HyUdJZFqHkgNcf8qEBzLZxd7gKBzPIsmnXkFSZXRL+WsxLNLMJuG+y5xhTwqBuelm97M9NfbGGbwx8yRMRI4K9bP9zwQHCStaDnZpqI8k9QqXEQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(346002)(376002)(39860400002)(136003)(6506007)(2616005)(8936002)(26005)(6512007)(5660300002)(186003)(478600001)(36756003)(31686004)(6486002)(41300700001)(83380400001)(38100700002)(31696002)(86362001)(316002)(2906002)(54906003)(4326008)(8676002)(66556008)(66476007)(6916009)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RVZpZVlMbDlnd20wVFI5T2dyMmlvdjA3dDl4d2ZQb3hJSG9nSFhsdXo4ZHBu?=
 =?utf-8?B?N09Odm02enFLekdZUTU5SW54Rm9SMU9ZVENlaVcvMFp0RXVsd0JIUTNHcVE3?=
 =?utf-8?B?ZmtBWG0wT25hSGtVdTVzQ3QzNDZVUzlxbHBkV0VkT1dNaHpyTEp3Sm9mOG5I?=
 =?utf-8?B?OFFLRXEyYTlieS9UQWMyV1J0YU03Qy9TNGlDS0E1L3pqblFNbllxT3RtcGI4?=
 =?utf-8?B?YXVDWDZiNCtZcWlCRjJwTDBBVmp4MHFuM0V5SFo2bTczWjhWZEtmZUNRU3E0?=
 =?utf-8?B?S29QRnpNelp3eGFONDlkN0kyVzNmMk1oMWY1S1J0TS9uSWJzMmk5T29ka1k4?=
 =?utf-8?B?RzZjVlphQlBINjhVeXI2MUVxSXlqVkFTN1k1N3V0bXlJcEUxZ3F4dEsydTRk?=
 =?utf-8?B?dG41L3FYS1B0clZUM3A2Z0xiRzBFWit5WTRWckkwMkwwVUs0RE10MGlHVFhG?=
 =?utf-8?B?aXhMelVkWEw0c0pmY3diQ0FqUGpoVUw4NEVYQ0dTaUhNb3ZZd2hUais4TWF6?=
 =?utf-8?B?U05jdm05cjFNc3Bvbi81SUNPMnJlUWFybnBQeDVuL3M5cUM0bVZxRDJ0bnFX?=
 =?utf-8?B?bDNjRU1LTW93K2x5QUMzRjViUVZhckx0QUFrdlBUaUlxZ2ZnM0dWdkZoazlH?=
 =?utf-8?B?TFRadWdwcHRkOGd3RzRBbGZsd0lsb3lmUTQ1Vm1vcm1HWmg3T0RLazVHZWdG?=
 =?utf-8?B?TG1OTk1rOS9YZGRWTURYelo3K0ZtT3FsU1Eva3ppOEI4UjNPUUVmMkU0cHFC?=
 =?utf-8?B?cUU5bUthQ1NUY2JwdTYxSzBKcXNwTTU1SFFmbHlCWCtHZTk4T0N1Rkk2SkRM?=
 =?utf-8?B?NkRqY1BUcERpWFBrRFcwaWJNYVNMc0o3WERoa01NRFNsSWEySExIVVU0c1Bs?=
 =?utf-8?B?bzJtaVo4eGdjWGRnWlFzS09STHYycTdubVMwbUxhVHFFZzl5cnFMOEthOE5x?=
 =?utf-8?B?ZE56RmFtdHRhRVdTM1BHWlZldGl5Zk1tWHBIOFRDSWJEMmxPT2J5WVV4OFBp?=
 =?utf-8?B?WUFyU3VxS3doZ3BQRGNIaDlHKzRpZDh3eGhDVURmSU1LS0RjVXhSQ1NIR05M?=
 =?utf-8?B?UXFmQkxtMm9iSDFhcmJ6bFVZMVB6VGszbTRSU1hITHJLSFBmZm9mUTJPYmlP?=
 =?utf-8?B?bWVQL1NoTk8yUXFKWmFFam43eGZsZUFmT3J2eHduMWNwRm9pbmVUVlhkbWhq?=
 =?utf-8?B?L1dpVkl1VGZPL3F1cllvTVgwdVFacE9zM3lIOHFsZDVWRUc2ZnFOUktmZDFn?=
 =?utf-8?B?VkZXMXFOa2V2UmZvelZyMy9aeWJyNmV2T1Zoclh2d2JQVFBWSTMyVlNHL0tO?=
 =?utf-8?B?U20xSUg3Z2hoZm9YR1dGZ0xaeHR3MG8xeUdTYmdrRzFjbFN2OW5zd1k4M0Jq?=
 =?utf-8?B?czQybC9EUlZKQ1EydzJubmtuTkZvZnJuWUVEendXWnBwSzhUanBUUlRjSVhJ?=
 =?utf-8?B?VlNwTVJiVGxVbVBXbmovdDZ3cCt6UmFNbkpMQ0RmTVVWbWlOeExhS0x0eFcw?=
 =?utf-8?B?SjR4T29MZVJSdHBvLzkrQ3VyTVN3RnFCRlJZaHA2L0pCQlNkZnFKT3c4dVo5?=
 =?utf-8?B?N0M1RUdoUitmMGFNZko1SkdZbUNMOWt6a3ZabFhyc2hPLzRySTRrVUpKcHZs?=
 =?utf-8?B?TDZZc21HRTUvQnlrWXVrcjlwZzArTXZWYXljK3ZROUM3eFhoRTdWblJRQWo5?=
 =?utf-8?B?QzN3dmE2NldnT3c0NXBBS2hTRGRBUE56WE5Ub2tJZXRzdjFEUFZFOVNSVTdB?=
 =?utf-8?B?RWs0eDlmVk5PbjlUdWkvQ2MrcjVxME5pYkdFOUpxK29aYnNNSkdhMTdLU1VQ?=
 =?utf-8?B?UE11QWtFbXVNZHAyZFU1Rm8va3IrYVNVNmNDRjREd09qZ2MwaFNmWkozK2ZF?=
 =?utf-8?B?enIxQUpGd0g1SjZXOGZrRzVTSitndi9JQVplV2ZVTFgvYk1renZ6SnpTQUVm?=
 =?utf-8?B?b09PTnJldDZabEY3YzBlSjRLUjhibDhDN0hTaDRSakxnL1Q1am5NTk1Balh0?=
 =?utf-8?B?bDRFTjlLSG1hODFkK2s1TnZRM0t2R09JcFg1TmZqNmdaQmZ5Sk1JMkpKUHM2?=
 =?utf-8?B?N2lCaDZtN3c2UTN5Yy9TbkgwQjV3b3dLT2I5TVhHc1JxTUFnZXNjU3pvWkpY?=
 =?utf-8?Q?fZgtHvRgSjR+XKIfbPGhe2tG4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8830853e-4c08-4e85-89e3-08da7b8773d9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 10:51:32.1878
 (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: F+YKKK2Gmpnl4lpt/bHPO2FdcT/LXiKeS9LS96y7mU1q0N4ICTr6WIhXfbdU144hi0ELCsntDeO7xeAA5wNI3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3473

The last "wildcard" use of either function went away with f591755823a7
("IOMMU/PCI: don't let domain cleanup continue when device de-assignment
failed"). Don't allow them to be called this way anymore. Besides
simplifying the code this also fixes two bugs:

1) When seg != -1, the outer loops should have been terminated after the
   first iteration, or else a device with the same BDF but on another
   segment could be found / returned.

Reported-by: Rahul Singh <rahul.singh@arm.com>

2) When seg == -1 calling get_pseg() is bogus. The function (taking a
   u16) would look for segment 0xffff, which might exist. If it exists,
   we might then find / return a wrong device.

In pci_get_pdev_by_domain() also switch from using the per-segment list
to using the per-domain one, with the exception of the hardware domain
(see the code comment there).

While there also constify "pseg" and drop "pdev"'s already previously
unnecessary initializer.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Full rework, with even the title changed.

--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -576,30 +576,19 @@ int __init pci_ro_device(int seg, int bu
     return 0;
 }
 
-struct pci_dev *pci_get_pdev(int seg, int bus, int devfn)
+struct pci_dev *pci_get_pdev(uint16_t seg, uint8_t bus, uint8_t devfn)
 {
-    struct pci_seg *pseg = get_pseg(seg);
-    struct pci_dev *pdev = NULL;
+    const struct pci_seg *pseg = get_pseg(seg);
+    struct pci_dev *pdev;
 
     ASSERT(pcidevs_locked());
-    ASSERT(seg != -1 || bus == -1);
-    ASSERT(bus != -1 || devfn == -1);
 
     if ( !pseg )
-    {
-        if ( seg == -1 )
-            radix_tree_gang_lookup(&pci_segments, (void **)&pseg, 0, 1);
-        if ( !pseg )
-            return NULL;
-    }
+        return NULL;
 
-    do {
-        list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
-            if ( (pdev->bus == bus || bus == -1) &&
-                 (pdev->devfn == devfn || devfn == -1) )
-                return pdev;
-    } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,
-                                     pseg->nr + 1, 1) );
+    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
+        if ( pdev->bus == bus && pdev->devfn == devfn )
+            return pdev;
 
     return NULL;
 }
@@ -625,31 +614,33 @@ struct pci_dev *pci_get_real_pdev(int se
     return pdev;
 }
 
-struct pci_dev *pci_get_pdev_by_domain(const struct domain *d, int seg,
-                                       int bus, int devfn)
+struct pci_dev *pci_get_pdev_by_domain(const struct domain *d, uint16_t seg,
+                                       uint8_t bus, uint8_t devfn)
 {
-    struct pci_seg *pseg = get_pseg(seg);
-    struct pci_dev *pdev = NULL;
-
-    ASSERT(seg != -1 || bus == -1);
-    ASSERT(bus != -1 || devfn == -1);
+    struct pci_dev *pdev;
 
-    if ( !pseg )
+    /*
+     * The hardware domain owns the majority of the devices in the system.
+     * When there are multiple segments, traversing the per-segment list is
+     * likely going to be faster, whereas for a single segment the difference
+     * shouldn't be that large.
+     */
+    if ( is_hardware_domain(d) )
     {
-        if ( seg == -1 )
-            radix_tree_gang_lookup(&pci_segments, (void **)&pseg, 0, 1);
+        const struct pci_seg *pseg = get_pseg(seg);
+
         if ( !pseg )
             return NULL;
-    }
 
-    do {
         list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
-            if ( (pdev->bus == bus || bus == -1) &&
-                 (pdev->devfn == devfn || devfn == -1) &&
-                 (pdev->domain == d) )
+            if ( pdev->bus == bus && pdev->devfn == devfn &&
+                 pdev->domain == d )
+                return pdev;
+    }
+    else
+        list_for_each_entry ( pdev, &d->pdev_list, domain_list )
+            if ( pdev->bus == bus && pdev->devfn == devfn )
                 return pdev;
-    } while ( radix_tree_gang_lookup(&pci_segments, (void **)&pseg,
-                                     pseg->nr + 1, 1) );
 
     return NULL;
 }
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -177,10 +177,10 @@ int pci_add_device(u16 seg, u8 bus, u8 d
 int pci_remove_device(u16 seg, u8 bus, u8 devfn);
 int pci_ro_device(int seg, int bus, int devfn);
 int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devfn);
-struct pci_dev *pci_get_pdev(int seg, int bus, int devfn);
+struct pci_dev *pci_get_pdev(uint16_t seg, uint8_t bus, uint8_t devfn);
 struct pci_dev *pci_get_real_pdev(int seg, int bus, int devfn);
-struct pci_dev *pci_get_pdev_by_domain(const struct domain *, int seg,
-                                       int bus, int devfn);
+struct pci_dev *pci_get_pdev_by_domain(const struct domain *, uint16_t seg,
+                                       uint8_t bus, uint8_t devfn);
 void pci_check_disable_device(u16 seg, u8 bus, u8 devfn);
 
 uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg);



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:52:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384425.619802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5nJ-0007Bg-Ua; Thu, 11 Aug 2022 10:52:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384425.619802; Thu, 11 Aug 2022 10:52:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5nJ-0007BZ-Rd; Thu, 11 Aug 2022 10:52:05 +0000
Received: by outflank-mailman (input) for mailman id 384425;
 Thu, 11 Aug 2022 10:52:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM5nJ-0007BN-9C
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:52:05 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140089.outbound.protection.outlook.com [40.107.14.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a24bb4a4-1963-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 12:52:03 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6807.eurprd04.prod.outlook.com (2603:10a6:20b:104::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 10:52:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 10:52:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a24bb4a4-1963-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h0RRcCvdfvd6VFd/r0S4zOYgWZvS+XOtaxrkOJIRh3cGTpKhtIBoWDyi/yTUuwohkLdBA83a5r9ofPk2nA2PZL0hEzYZsz8XqMrlFu+BbI1sviXJFyx5PAXIAjJiH0EX7MXmOvtr7uN7mD/wtJ6h+i6kSKG/HwxuzrdPv2nsn2WYRopaFFS4s5QvZuIk1yz6aHVF9KYKmWpZIY5I9RejAvxPOvU4R84IUrhlKZulOMBX9XA5oAvozVEWRp/neng8wAK2nx0z8AwQRXPJRMFjhLWw+F6Fh7SppJz2tZ+2cSRaKT+Hk9sRnjTOyBmzvHy6TBWK3WbIuRWOBMgMOK4Etg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U0zHbxk/QqA7o2g0j0RhbdPf09SeyoqrU+7QNeFeUCo=;
 b=L2BfTn+A0fXkL0X30jRNBUyQXlGWhJAO0qodDSo6rOFIZwok/5JXuJj8Q9REaGH7BqXa0/Lw+10fv111eUt2heVBYv66rNBckV6VjSdglSdzUYnRnKkM8XwlTSJpA+FKbj21Hnwn0wmNANwGgnPdBk4x74y8BuPWXd24N/K9C7Wlnn/jISajWmwB55Pe+Lcwjap9HdNk4ZmZPzJ1Q/awXH6s+emyb06zpWdhxfzzC7wWaGZENpOCLJiMawEPdCMHbsTs9nGA2ELupEEAInaaR33cIkEFSmKPbQLBogNudjuHEJgaAtJXflMi1pgznwAev66+0qu6IMRWzv8o0uKr+Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U0zHbxk/QqA7o2g0j0RhbdPf09SeyoqrU+7QNeFeUCo=;
 b=HKlyU1jvPBX4IsKoI7e0rwedJ/4ey0DjYJhY0Ji6xwp2AKjtvFJ7d8T+l5qweCUqqcuRQ/h4nPhPO3V9V+2BxArKE22pxoxQe50127BQebFLCUJvhthTCTGssIdyuYvqspy6O9KAKtduqqhoChPiT0mmPOwJfWUCIyjVHlG+Wg2hBA6ADnC/0GVUWa9N0OZwBeJEvV60mjQzDL0PULKNsxblRGAauN7osb5Zvmd3lOHu5hrYhxWlZ+p1L5cnSD9VURHC6uLsX1/1CZUc5xFdNgjPmkpJYHtiKJ7VAH3BUoL2IFqeMvyVicc59eZsyaws6+kMDeShRMpCLqwVUWB8wQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0bdd4f3f-965a-fe39-f7af-d8a40b7a68c6@suse.com>
Date: Thu, 11 Aug 2022 12:52:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Rahul Singh <Rahul.Singh@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
In-Reply-To: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0119.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d89892b6-efaa-47ca-812b-08da7b878599
X-MS-TrafficTypeDiagnostic: AM7PR04MB6807:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TuwCDGWbDv3qmgvfAUxT0U8AkXKUomipfb4LUlccE6wO6JgMfCQ6e6wWQQNxkRWPN0A1cDYgRvIHqVBwIzojxIetWsfpIEWZwkeV1hDkOfBZSviOjzEdokVSQjwO1jHrOPflsfW8CUrlJOWHv3JxUDDBvzNODwWYTMyBzFQfYsGUt82IvC2skM7Ftqru+hd1oVZQ1+4474CjpcghBxltRqkdscEHGhsm1t38w1uUOZj3sMrEVh12AxiW8DMnt1NTR9NsCs4meYE/sJJv0OipIKJkiKmtf609m9JUN/8j33LXh0G2HSVEJV0hcRM546nGOiEhODpnPWgLy6TB8Fu6Tv8yj54dTkmEU931TGOmzPDOsfjckY6xTd5tCLnY0RLqpXjQscwLQ10TzXoXheeTkrKztZvg7kyVksPtrFCiQRlxh82yx5Vyq/WSaQYZXXLnh49Jenym97HxoO7YXvepamMrgHHxZZeEIelcvf4SZwdBE2robBBOIPYRCjpqzQmjwY0U1eo6eP7COYwNQpXOeKGMfbXH5Wda21/5O6CYYqm/nQRmXHC0DEaN5CTqe8xY0dxc5ySYJzwr48m6nAjy0VW0Q0Oivw89LmoUwvaFx46YLc5uC0dDfBwkMrD6etVKa8nrUKrMNbSCwKrxZrGkfnkph6F5bolzbckDYhgy+VGmV1NQipZvTZXDAlDtgVSdnhPUdsVx2ThIJoOX7tauNe3EBjLIQVFrvM7ZfpPHJos5SLgx6RuBYmjMvYXO3CFaVEbva56J/9bAuz0PWgKr2cdhxiz3JLZ19a7fAz+xFCdUh3xFpggl6Z+sdYwp5MBndkMQFHDL118ss4f9jpK5V7RknP8ysg4f24OoFrynHTA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(396003)(376002)(39860400002)(366004)(26005)(6916009)(6486002)(316002)(41300700001)(54906003)(478600001)(4326008)(2906002)(66556008)(8676002)(66946007)(66476007)(8936002)(38100700002)(5660300002)(31686004)(36756003)(31696002)(86362001)(2616005)(186003)(6506007)(6512007)(83380400001)(43740500002)(45980500001)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ak4zaXB1azFBaklyWHB6Znh5aUZxMmhxUk1hVlVzWnZ2dGdhOFRYT2hMT3ll?=
 =?utf-8?B?OC9OYjMxNG04QmljTlV2ZEdYb1l2VzZBc2VqUHRkTXBRb2RFZi9RcFpJOStl?=
 =?utf-8?B?MlN3NnpiWldnN3NKbm8xRitUcUZkRWJwd0psRVdVSnJVaW9xN3JVSmNPY0xY?=
 =?utf-8?B?cmlwT1JwWGVyZjRLUms4Q21sc3FEYjJIQWpuV1NobUFkeEcvQjI2ZGs0ZjF2?=
 =?utf-8?B?ejBXc1JpV250THZYNlhtQmh2UERkVnpOR3hyQkJiQS8wTzlGWHAwKzhMeUZF?=
 =?utf-8?B?MUZaenZ4WCs4d2JJL2NwOTgwdCtyUVZXWTRlWncreHZNMFhVM3NQV0svQzE1?=
 =?utf-8?B?Mzh3NlVTb3NVdTVPalNCenRRSUwxR0VPWW0vdEkvc1RuaUpkc1JqbTI4aWJt?=
 =?utf-8?B?cjV0TXhrWGMyUnNaUVErMUNFVVBmZUNTcHR4aHNwTHgwd1ROT1UzU0xTUndW?=
 =?utf-8?B?akh6TTlKQ3hXNCtvWGswaTh3NmZoQjlmWHRHY0tWZHNkSWpTSU9Hd2UrQTg5?=
 =?utf-8?B?ejlIY3Y5YmhLSStaOUU2OU0rdjRkcVdzN1o5L2lBVmZTUnU2SjJHYmFvejZV?=
 =?utf-8?B?RUJBME5WWUxvbnZ2K1BMY3k3Sk0vUkhaYUdWaGUxTlR4T0wxNXZGWDVIRHFI?=
 =?utf-8?B?dFg4eXVlbDRDRVdkbmVCR3NhYVoxam5XV20xYXBleGdCRW9xSDI0aWJNZVd3?=
 =?utf-8?B?QmRaSTR6czNOdGxHRUErSFpFTDY2OUpTL2ZJU2RQazB5NytSSE1vVWdDZzY4?=
 =?utf-8?B?SFA3TXBMdm1kZXlvNENqOFJ5dnNwVGVRV2FHRzZlVlJQK3J4REhQQXJjeUIy?=
 =?utf-8?B?YUlHWTlMVHBSVEJxbGovYUdkRXY4U2pJMW1DTDhHSWozMVh4ZjNnRHI5cFlv?=
 =?utf-8?B?R2hMRnRjT09EYk5tZmk4THBHT3RpSEdwM2d6NlVSV1BlN1BhY1g0TkFneG9z?=
 =?utf-8?B?SkY4N2lwOTREMzQ0ZnZwL1FPemF3dEhoWTFnOUdVWWd5NGZOK29KRUlDUmR3?=
 =?utf-8?B?Rk1zN1FsbFZ2L2pRK1hiZkxjRGdxR1ZPQ0QxaEsxZTdON3hPY01NN2ZzK0oz?=
 =?utf-8?B?Vk9DaWE5QTR3Ni91d3djZXY2KzdNSk1vZ1dPLzVXS3FMU29ZQno3TDV3V1pn?=
 =?utf-8?B?UTJUNGtWNjA4TDk2L2JxMlNQVFB2NDZ4MUVxZ2xZNGlhcjZRa3RzZFZ6WU04?=
 =?utf-8?B?QUEvYnBXZHd5c3J1VmQwc3ZiUW9QUWg3R093Tm1sNzgxN2huVGpEc253Rit5?=
 =?utf-8?B?UGtmNEZEdW96YWx4Mit6YTFNcVREbHlQM1Qyck1RelJQMnNRRzdqU1ZpYjhy?=
 =?utf-8?B?MFRjcjZpQlBYOGNIU0gzMFVJMU9GTFR3SFloSnkxbE9JS1ZvNlppdHowUWhQ?=
 =?utf-8?B?eVA0akhvN01XRHY0NXN2WFFXU05KbXVIWC9GQ2t4bXVHOFFvbjZJVEZMN1ZY?=
 =?utf-8?B?NGtqRTkvNVd1WFJGR3JHWVZuQWhkQWQzQkVUdXlpWjNyWUdRRGpPUVdaWEx5?=
 =?utf-8?B?amkvbVhCWXJsNGRPUG0zOVZDN3BLR1ZVUDhXVjEzSUE2eWZ3NjhNS3VXYTFq?=
 =?utf-8?B?a0I4V2dWbXJJUkxEL1I2VzNPeXZqdVozUU5vTWdDa2V5enJacVFiUlJXZ0Zh?=
 =?utf-8?B?M1ZDNTViUjIwVFpMOEdFa20yNzBVWDJDQ2lpYkhHeTBIRDVIVGpiZjhJK1dt?=
 =?utf-8?B?UTFYTlRSOVpPanlEQXJycWgzY3A1YjlSZnVZQ0tYenJtSU94dy81bGhlS3RE?=
 =?utf-8?B?OWV6aVd5WWxER1dPK0tqdCt0ajI3b0d3bDdaZ0lGUkIzN09IZXIrcm91UHVC?=
 =?utf-8?B?UDdvbkhObVdEMlk3YWErdWRRR1l5NnViVnBNTkt3UlJDV0N3V1pubE1NWUFl?=
 =?utf-8?B?aThPOThwSjJIVUQ1bXpCc3RvRERIYWFpWkpBWmNUcU1ua0F2eUZ1cnE2TlNX?=
 =?utf-8?B?SjRTd1N6L21NUWlVTjd0L1Q5d3g4ZU9lVlhPc3lWNnUxRksvYmgrV3VWbGtY?=
 =?utf-8?B?Q08rbEJsVkViQ2Y1bi93Uk53OUt3dG8rL1dxYlhXZDRIUy9tWVJWM0FaeG5u?=
 =?utf-8?B?NEJGeEhKMFBVSmlQQUY5VGdyOU9XWjFnMlg1eWJhZnpuK0pIelFsbndoeG14?=
 =?utf-8?Q?wi5vjFUIyWalUIvtyhITjfJGC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d89892b6-efaa-47ca-812b-08da7b878599
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 10:52:01.9671
 (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: Go+vUQed3sVjUfNQWRKsdJyM/ymnWf53h4v7lzOcdsO01PVlur9oaf1OXlSnNRh3B1S1w4q7BOpNm/lHbNaw1g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6807

Rename the latter, subsuming the functionality of the former when passed
NULL as first argument.

Since this requires touching all call sites anyway, take the opportunity
and fold the remaining three parameters into a single pci_sbdf_t one.

No functional change intended. In particular the locking related
assertion needs to continue to be kept silent when a non-NULL domain
pointer is passed - both vpci_read() and vpci_write() call the function
without holding the lock (adding respective locking to vPCI [or finding
an alternative to doing so] is the topic of a separate series).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2162,7 +2162,7 @@ int map_domain_pirq(
         if ( !cpu_has_apic )
             goto done;
 
-        pdev = pci_get_pdev_by_domain(d, msi->seg, msi->bus, msi->devfn);
+        pdev = pci_get_pdev(d, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
         if ( !pdev )
             goto done;
 
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -683,7 +683,8 @@ static u64 read_pci_mem_bar(u16 seg, u8
 
     if ( vf >= 0 )
     {
-        struct pci_dev *pdev = pci_get_pdev(seg, bus, PCI_DEVFN(slot, func));
+        struct pci_dev *pdev = pci_get_pdev(NULL,
+                                            PCI_SBDF(seg, bus, slot, func));
         unsigned int pos = pci_find_ext_capability(seg, bus,
                                                    PCI_DEVFN(slot, func),
                                                    PCI_EXT_CAP_ID_SRIOV);
@@ -1000,7 +1001,7 @@ static int __pci_enable_msi(struct msi_i
     struct msi_desc *old_desc;
 
     ASSERT(pcidevs_locked());
-    pdev = pci_get_pdev(msi->seg, msi->bus, msi->devfn);
+    pdev = pci_get_pdev(NULL, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
     if ( !pdev )
         return -ENODEV;
 
@@ -1055,7 +1056,7 @@ static int __pci_enable_msix(struct msi_
     struct msi_desc *old_desc;
 
     ASSERT(pcidevs_locked());
-    pdev = pci_get_pdev(msi->seg, msi->bus, msi->devfn);
+    pdev = pci_get_pdev(NULL, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
     if ( !pdev || !pdev->msix )
         return -ENODEV;
 
@@ -1146,7 +1147,7 @@ int pci_prepare_msix(u16 seg, u8 bus, u8
         return 0;
 
     pcidevs_lock();
-    pdev = pci_get_pdev(seg, bus, devfn);
+    pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
     if ( !pdev )
         rc = -ENODEV;
     else if ( pdev->msix->used_entries != !!off )
--- a/xen/arch/x86/pci.c
+++ b/xen/arch/x86/pci.c
@@ -90,7 +90,7 @@ int pci_conf_write_intercept(unsigned in
 
     pcidevs_lock();
 
-    pdev = pci_get_pdev(seg, PCI_BUS(bdf), PCI_DEVFN(bdf));
+    pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bdf));
     if ( pdev )
         rc = pci_msi_conf_write_intercept(pdev, reg, size, data);
 
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -531,7 +531,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
             break;
 
         pcidevs_lock();
-        pdev = pci_get_pdev(0, restore_msi.bus, restore_msi.devfn);
+        pdev = pci_get_pdev(NULL,
+                            PCI_SBDF(0, restore_msi.bus, restore_msi.devfn));
         ret = pdev ? pci_restore_msi_state(pdev) : -ENODEV;
         pcidevs_unlock();
         break;
@@ -546,7 +547,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
             break;
 
         pcidevs_lock();
-        pdev = pci_get_pdev(dev.seg, dev.bus, dev.devfn);
+        pdev = pci_get_pdev(NULL, PCI_SBDF(dev.seg, dev.bus, dev.devfn));
         ret = pdev ? pci_restore_msi_state(pdev) : -ENODEV;
         pcidevs_unlock();
         break;
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -447,7 +447,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xe
             }
 
             pcidevs_lock();
-            pdev = pci_get_pdev(dev.seg, dev.bus, dev.devfn);
+            pdev = pci_get_pdev(NULL, PCI_SBDF(dev.seg, dev.bus, dev.devfn));
             if ( !pdev )
                 node = XEN_INVALID_DEV;
             else if ( pdev->node == NUMA_NO_NODE )
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -748,8 +748,7 @@ static bool_t __init set_iommu_interrupt
     }
 
     pcidevs_lock();
-    iommu->msi.dev = pci_get_pdev(iommu->seg, PCI_BUS(iommu->bdf),
-                                  PCI_DEVFN(iommu->bdf));
+    iommu->msi.dev = pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf));
     pcidevs_unlock();
     if ( !iommu->msi.dev )
     {
@@ -1286,7 +1285,7 @@ static int __init cf_check amd_iommu_set
                 if ( !pci_init )
                     continue;
                 pcidevs_lock();
-                pdev = pci_get_pdev(seg, PCI_BUS(bdf), PCI_DEVFN(bdf));
+                pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bdf));
                 pcidevs_unlock();
             }
 
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -727,7 +727,7 @@ int cf_check amd_iommu_get_reserved_devi
             const struct pci_dev *pdev;
 
             pcidevs_lock();
-            pdev = pci_get_pdev(seg, sbdf.bus, sbdf.devfn);
+            pdev = pci_get_pdev(NULL, sbdf);
             pcidevs_unlock();
 
             if ( pdev )
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -576,23 +576,6 @@ int __init pci_ro_device(int seg, int bu
     return 0;
 }
 
-struct pci_dev *pci_get_pdev(uint16_t seg, uint8_t bus, uint8_t devfn)
-{
-    const struct pci_seg *pseg = get_pseg(seg);
-    struct pci_dev *pdev;
-
-    ASSERT(pcidevs_locked());
-
-    if ( !pseg )
-        return NULL;
-
-    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
-        if ( pdev->bus == bus && pdev->devfn == devfn )
-            return pdev;
-
-    return NULL;
-}
-
 struct pci_dev *pci_get_real_pdev(int seg, int bus, int devfn)
 {
     struct pci_dev *pdev;
@@ -601,12 +584,12 @@ struct pci_dev *pci_get_real_pdev(int se
     if ( seg < 0 || bus < 0 || devfn < 0 )
         return NULL;
 
-    for ( pdev = pci_get_pdev(seg, bus, devfn), stride = 4;
+    for ( pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn)), stride = 4;
           !pdev && stride; stride >>= 1 )
     {
         if ( !(devfn & (8 - stride)) )
             continue;
-        pdev = pci_get_pdev(seg, bus, devfn & ~(8 - stride));
+        pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn & ~(8 - stride)));
         if ( pdev && stride != pdev->phantom_stride )
             pdev = NULL;
     }
@@ -614,32 +597,33 @@ struct pci_dev *pci_get_real_pdev(int se
     return pdev;
 }
 
-struct pci_dev *pci_get_pdev_by_domain(const struct domain *d, uint16_t seg,
-                                       uint8_t bus, uint8_t devfn)
+struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf)
 {
     struct pci_dev *pdev;
 
+    ASSERT(d || pcidevs_locked());
+
     /*
      * The hardware domain owns the majority of the devices in the system.
      * When there are multiple segments, traversing the per-segment list is
      * likely going to be faster, whereas for a single segment the difference
      * shouldn't be that large.
      */
-    if ( is_hardware_domain(d) )
+    if ( !d || is_hardware_domain(d) )
     {
-        const struct pci_seg *pseg = get_pseg(seg);
+        const struct pci_seg *pseg = get_pseg(sbdf.seg);
 
         if ( !pseg )
             return NULL;
 
         list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
-            if ( pdev->bus == bus && pdev->devfn == devfn &&
-                 pdev->domain == d )
+            if ( pdev->sbdf.bdf == sbdf.bdf &&
+                 (!d || pdev->domain == d) )
                 return pdev;
     }
     else
         list_for_each_entry ( pdev, &d->pdev_list, domain_list )
-            if ( pdev->bus == bus && pdev->devfn == devfn )
+            if ( pdev->sbdf.bdf == sbdf.bdf )
                 return pdev;
 
     return NULL;
@@ -746,7 +730,9 @@ int pci_add_device(u16 seg, u8 bus, u8 d
     else if ( info->is_virtfn )
     {
         pcidevs_lock();
-        pdev = pci_get_pdev(seg, info->physfn.bus, info->physfn.devfn);
+        pdev = pci_get_pdev(NULL,
+                            PCI_SBDF(seg, info->physfn.bus,
+                                     info->physfn.devfn));
         if ( pdev )
             pf_is_extfn = pdev->info.is_extfn;
         pcidevs_unlock();
@@ -924,7 +910,7 @@ static int deassign_device(struct domain
         return -EINVAL;
 
     ASSERT(pcidevs_locked());
-    pdev = pci_get_pdev_by_domain(d, seg, bus, devfn);
+    pdev = pci_get_pdev(d, PCI_SBDF(seg, bus, devfn));
     if ( !pdev )
         return -ENODEV;
 
@@ -1201,7 +1187,8 @@ static int __hwdom_init cf_check _setup_
     {
         for ( devfn = 0; devfn < 256; devfn++ )
         {
-            struct pci_dev *pdev = pci_get_pdev(pseg->nr, bus, devfn);
+            struct pci_dev *pdev = pci_get_pdev(NULL,
+                                                PCI_SBDF(pseg->nr, bus, devfn));
 
             if ( !pdev )
                 continue;
@@ -1475,7 +1462,7 @@ static int device_assigned(u16 seg, u8 b
     int rc = 0;
 
     ASSERT(pcidevs_locked());
-    pdev = pci_get_pdev(seg, bus, devfn);
+    pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
 
     if ( !pdev )
         rc = -ENODEV;
@@ -1506,7 +1493,7 @@ static int assign_device(struct domain *
 
     /* device_assigned() should already have cleared the device for assignment */
     ASSERT(pcidevs_locked());
-    pdev = pci_get_pdev(seg, bus, devfn);
+    pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
     ASSERT(pdev && (pdev->domain == hardware_domain ||
                     pdev->domain == dom_io));
 
--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -417,7 +417,7 @@ static int __must_check map_me_phantom_f
     int rc;
 
     /* find ME VT-d engine base on a real ME device */
-    pdev = pci_get_pdev(0, 0, PCI_DEVFN(dev, 0));
+    pdev = pci_get_pdev(NULL, PCI_SBDF(0, 0, dev, 0));
     drhd = acpi_find_matched_drhd_unit(pdev);
 
     /* map or unmap ME phantom function */
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -118,7 +118,7 @@ void __init video_endboot(void)
                 u8 b = bus, df = devfn, sb;
 
                 pcidevs_lock();
-                pdev = pci_get_pdev(0, bus, devfn);
+                pdev = pci_get_pdev(NULL, PCI_SBDF(0, bus, devfn));
                 pcidevs_unlock();
 
                 if ( !pdev ||
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -325,7 +325,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsi
     }
 
     /* Find the PCI dev matching the address. */
-    pdev = pci_get_pdev_by_domain(d, sbdf.seg, sbdf.bus, sbdf.devfn);
+    pdev = pci_get_pdev(d, sbdf);
     if ( !pdev )
         return vpci_read_hw(sbdf, reg, size);
 
@@ -435,7 +435,7 @@ void vpci_write(pci_sbdf_t sbdf, unsigne
      * Find the PCI dev matching the address.
      * Passthrough everything that's not trapped.
      */
-    pdev = pci_get_pdev_by_domain(d, sbdf.seg, sbdf.bus, sbdf.devfn);
+    pdev = pci_get_pdev(d, sbdf);
     if ( !pdev )
     {
         vpci_write_hw(sbdf, reg, size, data);
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -177,10 +177,8 @@ int pci_add_device(u16 seg, u8 bus, u8 d
 int pci_remove_device(u16 seg, u8 bus, u8 devfn);
 int pci_ro_device(int seg, int bus, int devfn);
 int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devfn);
-struct pci_dev *pci_get_pdev(uint16_t seg, uint8_t bus, uint8_t devfn);
+struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf);
 struct pci_dev *pci_get_real_pdev(int seg, int bus, int devfn);
-struct pci_dev *pci_get_pdev_by_domain(const struct domain *, uint16_t seg,
-                                       uint8_t bus, uint8_t devfn);
 void pci_check_disable_device(u16 seg, u8 bus, u8 devfn);
 
 uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg);



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:52:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384436.619812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5nn-0007mp-AN; Thu, 11 Aug 2022 10:52:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384436.619812; Thu, 11 Aug 2022 10:52:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5nn-0007mi-7e; Thu, 11 Aug 2022 10:52:35 +0000
Received: by outflank-mailman (input) for mailman id 384436;
 Thu, 11 Aug 2022 10:52:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM5nl-0006fh-UB
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:52:34 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2074.outbound.protection.outlook.com [40.107.104.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3c3253c-1963-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 12:52:33 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6807.eurprd04.prod.outlook.com (2603:10a6:20b:104::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 10:52:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 10:52:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3c3253c-1963-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hFTHwFhqaQc0LOo0OQJQqWGAbQI3CilsU1n8TnS5mEK7w7V3J8Gj3gqL/W6aDzA5j/3qtdhRtopeXNPNfbLiANndaNo61EIror9rfMgBLjZP0g0eAGIG5FWbjyOCX/syVR0QfaCR164NxotNR/rqMsBys2c7HmxcvtZ+UeRqJXBiX1vTJTDfhBFYGOfMHweOQqDC8vjfA0vEo/o68/QEJrLTnCD1aZPZaue0iR/R5wdqEUBcoTd+I5ON2biJSTNJV9fOY7jS1RZDQttFhl5Zj+JbD7OjWA1oFjB2LpT0nOa3b3GyrdW2lNaSN2cVJsMmsY/X4X7EDrmMj2hqowuMhA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ltM3LnypLdKXezODmgDlDlM4OKAb8fvviVm22POdPMg=;
 b=CQ2XSET7gVPo/oIFb1yHBjvE+GspoLw+IGkaFxPOgYEl9CNgEDhfYXwErcjo4AiIqGOo4R3VWHqc0pJ93dB/JkhtG/pLdFyXLV2ndfbvp+NS++MYwTD34Y4MlFzVggD1pdBD/wX0Zc2b+RQVP8DXuUEkb1gi4cbCVImEc4uCrjyMlJI5cVvPUCkxgI75Jf+SDkufjNIZgINTBSPulGhrOnFs0Di7y5y5DikHKtozj7eOauwHY0cXGO5ESigcPvECHuxqu9NMh5BMWalO9JECeuVkO0J5z5+FI+EtfqGretewRbG0P1q+zm1WuhNmCWTILhddGpRxIRiz+fNNBcEI+Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ltM3LnypLdKXezODmgDlDlM4OKAb8fvviVm22POdPMg=;
 b=dMymrbZ2GSPT4nrPPdoHSZHcIp64TA9axAI4mZ6Lm0wqy2Nr07w/9vvwvCFFd05qtqBVOM7Wc43Y8WFIbQZSMZFKuMuWBBtd7ls+Wqm0o/2vTq6TBQG2tB26ajNcRzwKXjernBCvmtkhCfRbhVn/GqHrHzLt9FSlmwFipOxt6CBR/YZsiYW3QKv/Ch34YOVGDNX3YPlV4rakykbyq+rqj4iUh/bErWn6geM3aggaLG/q8MfqiI12ZaAma8qoPQ3S//NUdaVTdpc+VTPXywn83GMZkATSIFegLsfxXqGynXTx435Mv8kpmWN8A4bcFyTSDzUInox9PjJAyLOEdQMo8w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b8a5294a-6869-121b-cd67-0740e6330769@suse.com>
Date: Thu, 11 Aug 2022 12:52:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v2 3/3] PCI: bring pci_get_real_pdev() in line with
 pci_get_pdev()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Rahul Singh <Rahul.Singh@arm.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
In-Reply-To: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5dc5a16a-31d2-48f6-a134-08da7b879741
X-MS-TrafficTypeDiagnostic: AM7PR04MB6807:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Oo7zdffxuReRdXPcoPn/QbjptdR3cs6nm8D+RLKXlycWJfPx/s8MpJwfbxbEBqYgkOHOsjDz+dFqN7mlYMiCkMaxRAGKcVyuArZrfQ/mKrgR8C/NjWKQe1UBremSHwmiRwuWtNc+EbuT2t5BodN7pQWVkraLECwQrh8aL8QPIovYrFhWEs3QhaBlHCyBnEzw2X2c7cSI+CwPvEEIwQJxW/sX/F89cxfyuSPw9R+lwuAY0axcdoYpCIzJaEziCTAhDT/UmrTJA2a1KXuHklUSO8PXTdu553h1kbWcZGlgj7OmrLG4vxRbKM5GABMWAfuP5FI0YKBFenmD+YMEzWef4h0dkdnx1PmshGW9vGA+Ddyhpj5YfqcrbfqlwSVztOaY4NxbWEzUL9yNIzE/R7B40HOkIQyjhAw9jm9h53eVEPyOzymE0oSOHjA20T0P13oTXW00y3nnk5mxgBc0vVSdsaM5lQXvRj4veI1OZYWML6EM9BC1DcK8ODmhi6jyiUIX9+FpTS0LHb2S3Pz+uBV3FArWPeoXliCPPvbkJnZnxN5HlLDHO1530pYZDgI5t9bWRWyuIy+z4WsYcOjO2eEm6pWk1il5jqGhJjtfDptCuHP8TyFIrdloUDvJMni1+Cr2FXSnmeZrPLK/QtV8/C3oSX0luS9O1LovCwr678sxH3bb4PLwJh+3rv51Cb/weHyO+yTo/BZ869aT21rk3rjOqpqUw5VTp0QIBG4Inm+dGY8FW0CnyYcy3RTnyNB9JhEM9VVFFmvhwtffWKfkhBLGqNpHRH4eykx6BuMfYTZFgyq5YzGzwYzZTYFFM7fVxujhj3CP3peR1WzmmX5aTLZ3Qw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(396003)(376002)(39860400002)(366004)(26005)(6916009)(6486002)(316002)(41300700001)(54906003)(478600001)(4326008)(2906002)(66556008)(8676002)(66946007)(66476007)(8936002)(38100700002)(5660300002)(31686004)(36756003)(31696002)(86362001)(2616005)(186003)(6506007)(6512007)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tkl2NWZ6Yk4wN3pBU1pvT29wc0VWS24wcjhwQSt0Wmo0M3RuejgxUVpJNWIz?=
 =?utf-8?B?elhsVUprZzBzc3ZQR2piVEdHNUJPKzJRTDlZZndIbjBSSFhYMkptS2RkZnVJ?=
 =?utf-8?B?MkdyTGdWb1pjTjBrRmZUaVVPWURkWSswMFRoMDZjZUovUnR4R2RpMkFzeDQ1?=
 =?utf-8?B?dlJJRzYxdkJZd0ZwZGtyYlE2KzZtemFVVUlNQjJUVlB4TU1tV1ZsckFRNk5S?=
 =?utf-8?B?TndBVXdWTnNFK29vWWgzNXM3M3JQbGoxdGNkN1cxVHcyQVNPcFI0UG1hc3Y2?=
 =?utf-8?B?U1ErODdlUitPbmlZem1CTGl5MDdIdlBiUWdoZjNnMXlRZnF4aHhTWmMxV1RL?=
 =?utf-8?B?REdFN1pJaUxwajdSQ2dFeFFzbU0rcStQZVcvVGlLemFiemc5V2hHR2VVZWE1?=
 =?utf-8?B?VVFKU2dxWkNaL3JkMzE4R2cwUTN5Q3pWaUhMK1NGSTlLMFV5Wms3WThDMW9L?=
 =?utf-8?B?Tkg5UHVPRGVwdnc2VWp3Tjdvay9xczVmUmU1TlJvVmY0L0NYMGRBcHZ2elcz?=
 =?utf-8?B?TW9icWF2VituejVPcFR6QmwxU2dYclQzUDROVkVDZDZOdGVHSkxCbWdwUG4y?=
 =?utf-8?B?aWZQenN5UmpzNE5PVXRXVmlJU1NKanlxZjR1TDRnWVBScDEyMFJkR3R4ZldT?=
 =?utf-8?B?ZG5mM3J6MHZUenZ3N09FZ3RvcnhDd3ZNYnJGbTdPcUordFVTMnc3VUY2dzkz?=
 =?utf-8?B?UkcvNTRkbjdkQ3YvdGtvTTgzemVORzlCYkRlWHM2SFl1NkJpbjVWcGk3dFRH?=
 =?utf-8?B?ODhmZHZnZVBWbXFjdjViTGRNUGp3NHpsRFN1dVljNXc0cWxOUllHSHZwUTNK?=
 =?utf-8?B?MXhObVkvTWkzZVZIQVJXTVNQMm9KcEZxejVLejhDQ1VhU1ZFWndWUkFQMzBG?=
 =?utf-8?B?SmxCWlBGVnNHMjRjcjRhNEFSOEFpQjN3Tm51Sy8yeml4Zzk4UWxjMStMTVc4?=
 =?utf-8?B?YU1ONDloNVhySWdMMHpMMFVPZ0lWbjdsZHQ5d3RHVy90SUgyb3pUSEZkRjBv?=
 =?utf-8?B?ZnJEZDlnRFA3TW1xbGZXWUhPMnNTZmI5QXR6bmpBeXBCZUczTnlUdXg4dllh?=
 =?utf-8?B?T0dBSjcrZGI4c2MrWXBxSWpQVkZyN0dqQkRwRlRpRjV4cjYzUXFhWUNnejVy?=
 =?utf-8?B?OS9hZ1ZTZzA4b2RlK1A1a3hkSUVqemNzUTZGcnFkV0lzTDJrRVBSNEl5RUs0?=
 =?utf-8?B?THJyVWZTQU8zNkNsY2R6SllKL3drNTRYNmVqZGhrdEhKc2syOW5xWUd1bUZk?=
 =?utf-8?B?Uml2QnNua1I0ZVo2Z2JVbXRISHhDeDhzUWQwNVVYOERzNmZLNks2bElHM1Zx?=
 =?utf-8?B?L1c3aUgvNDh2bHJnL1hUU0tYSERRbVRaOGh0UXFnZlN6ZDkySWJDL3JPTy8w?=
 =?utf-8?B?T3Z1VkQ0UENjMHVoYjl1YVVjT1poMmpRdVFnT2Z4S1dVelJJUDJ6VDBWUGZB?=
 =?utf-8?B?WlFqeE0ydWxqM2JzN3FDczFUQllNQWtjeFpzNEc2aFJrRkZDbmlwbkFqT05C?=
 =?utf-8?B?SVVLaUg0RWFNbmFZeVpvSHd1RFVQZGZPWGxnUHJhYVJwRHRiVzdmd2dBNjJG?=
 =?utf-8?B?MzR1YU1YdGpBMGV1Nld3RnNUUXRXdGQvK2huZkQyY2tkTkcvVlNPNUFhQy9p?=
 =?utf-8?B?bXdKRldJYzNabWp2QWNJeE51cGJDeVJld0Z4VEZBaGUwL3ovcVRlTDUvVGNJ?=
 =?utf-8?B?cE96Q3F4bXNjRkxUNEpzMU1UWUdSR3pEL0lSSXFCbjcxa3VjRmtlZGZ3RGdx?=
 =?utf-8?B?d284MytMT09HVTQzcFloOWl4eDJGSTdiTDZhQkFPM2tuaWk1U1AzMWM1MWM1?=
 =?utf-8?B?SGc2UC9Ycm9reSttaXpBRStSZlhqS0xoV2dIZFA5amRLc2NUTUFhQzhyQS9z?=
 =?utf-8?B?Umg3K2UyQzFlQkczTWJ4R0hNeHhuOWdVQkdMNTMxTVZlNk5tWGJVRXJRU0ZV?=
 =?utf-8?B?c3FqYUdDY1dWRDhUZWpkN2tTZGx0Y2dWWWZTbSswVmFMcm0rM2VFWXZZWXl1?=
 =?utf-8?B?ZmFlVGgzNUV0N0VNbUZZbkY2cUt5TERlY0k3dUlvbzFnMG1Jb1JZeExSNytr?=
 =?utf-8?B?OWZlYmJyQlNOdG5aaHgyMTBPWEtzd1N0V01zY3dKWXJVUkR6R2VwU096ZHBH?=
 =?utf-8?Q?dRLlAZCJH1R6zBAD7YFcGh2/h?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5dc5a16a-31d2-48f6-a134-08da7b879741
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 10:52:31.5902
 (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: 3VRuiVjU3fep6fBKkqRCL/dputB/ZMAvg60dd3+c1Hb20m0MiJV4Jdr3gnACr6AGmftjUz5NL4dfDOOgRsdDog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6807

Fold the three parameters into a single pci_sbdf_t one.

No functional change intended, despite the "(8 - stride)" ->
"stride" replacement (not really sure why it was written the more
complicated way originally).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -639,8 +639,7 @@ static void cf_check parse_ppr_log_entry
     struct pci_dev *pdev;
 
     pcidevs_lock();
-    pdev = pci_get_real_pdev(iommu->seg, PCI_BUS(device_id),
-                             PCI_DEVFN(device_id));
+    pdev = pci_get_real_pdev(PCI_SBDF(iommu->seg, device_id));
     pcidevs_unlock();
 
     if ( pdev )
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -576,20 +576,18 @@ int __init pci_ro_device(int seg, int bu
     return 0;
 }
 
-struct pci_dev *pci_get_real_pdev(int seg, int bus, int devfn)
+struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf)
 {
     struct pci_dev *pdev;
     int stride;
 
-    if ( seg < 0 || bus < 0 || devfn < 0 )
-        return NULL;
-
-    for ( pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn)), stride = 4;
+    for ( pdev = pci_get_pdev(NULL, sbdf), stride = 4;
           !pdev && stride; stride >>= 1 )
     {
-        if ( !(devfn & (8 - stride)) )
+        if ( !(sbdf.devfn & stride) )
             continue;
-        pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn & ~(8 - stride)));
+        sbdf.devfn &= ~stride;
+        pdev = pci_get_pdev(NULL, sbdf);
         if ( pdev && stride != pdev->phantom_stride )
             pdev = NULL;
     }
@@ -1074,7 +1072,7 @@ void pci_check_disable_device(u16 seg, u
     u16 cword;
 
     pcidevs_lock();
-    pdev = pci_get_real_pdev(seg, bus, devfn);
+    pdev = pci_get_real_pdev(PCI_SBDF(seg, bus, devfn));
     if ( pdev )
     {
         if ( now < pdev->fault.time ||
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -178,7 +178,7 @@ int pci_remove_device(u16 seg, u8 bus, u
 int pci_ro_device(int seg, int bus, int devfn);
 int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devfn);
 struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf);
-struct pci_dev *pci_get_real_pdev(int seg, int bus, int devfn);
+struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf);
 void pci_check_disable_device(u16 seg, u8 bus, u8 devfn);
 
 uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg);



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:55:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384447.619824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5qM-00006g-Pe; Thu, 11 Aug 2022 10:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384447.619824; Thu, 11 Aug 2022 10:55:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5qM-00006Z-Mi; Thu, 11 Aug 2022 10:55:14 +0000
Received: by outflank-mailman (input) for mailman id 384447;
 Thu, 11 Aug 2022 10:55:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM5qL-00006T-0b
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:55:13 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 11b2aee7-1964-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 12:55:11 +0200 (CEST)
Received: from mail-mw2nam12lp2048.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 06:55:09 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6053.namprd03.prod.outlook.com (2603:10b6:208:309::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 10:55:07 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 10:55:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11b2aee7-1964-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660215311;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-id:content-transfer-encoding:mime-version;
  bh=qA1OM5V671uQG0WrwrXbO8oXyKnb501BwtHUunFlfbY=;
  b=JbW/25a0xgMF2702tkrz06voiu/ifSNJ3F8fJBR0NSqqcu5CeN7Yqaxw
   sZqhrnoipzzeVGV+RYAMjkJKwAFK5XET14X91sj5pepV1MYjbMIwXPK9b
   U0h3MMMr+iDnSujSCUGQez3kReRgqBR9xuynV+k/QxxXdQ6TbrRpzraMp
   U=;
X-IronPort-RemoteIP: 104.47.66.48
X-IronPort-MID: 77865050
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AwjBiCKASDd0tpxVWkefolJuSMR/EJr4LvTfN4?=
 =?us-ascii?q?r1ilRnhr7xRC69jY3YSWJQqes3zifLS3MVveC3q2iWO9FvJZzauSAdpsupFM?=
 =?us-ascii?q?kH4G/g6QPcjybTCHwmYmND3SIclPHveuen8oQ+C7qzsJPKv4fABuAtdU97SC?=
 =?us-ascii?q?kF805YGWqbckHAlckvWX+JzoqZsE3/6w0LagaxfN9ZULuQABUQD6JfX5t9rJ?=
 =?us-ascii?q?kP8HPyU79lT5Z6ChVoD1mqubhHm0Ivt9NDoiac3cL0sRa2noSxryuWxjsPfz?=
 =?us-ascii?q?06UWIB8LYeCe0RO6tnCsIDtsD2qYCMjSJGmkaNDyQ95nUa4+gDJ6d1wjejYu?=
 =?us-ascii?q?NrMUix18KJvk6YUn84HVKp7TSrloOPTjYO5eoGXwdOmPTcLkU7WwPbekaeSH?=
 =?us-ascii?q?t7aLaFhveB0B3qXyPbfPR2ZbSS8QmQq6TPbcmlxQkGQHihN1WCVZLLMs1wEr?=
 =?us-ascii?q?cUgQlsanmoANbSeZjK7K0wYc2NqW3fPrqFJXyldllOGsdBZeq+x6ANBDC+pT?=
 =?us-ascii?q?8qAhtzvz9rRVwZeGuLiFpLXbLbqsnALzu9I5IiHqlFNUBvMwbBC4F37aQKCk?=
 =?us-ascii?q?uRvc9iSmW5m1xMRcWx+90LP78rQqLV1m52FhvOKsWbknkqilLystout/JluG?=
 =?us-ascii?q?70baUrzmPfqYFdRY2Lzyf1yXutTZNuiupcTT5nbYAHG64S97kmelWyNFgR0q?=
 =?us-ascii?q?4WdUAwlz6IkHvIt/aeDZuNTSU36dAw2X6uK2pCP/niSUAFy/kDaHVqcYX1PC?=
 =?us-ascii?q?AvHDe/37bbMqKmru18Tktl85z6CBo3CHBpfG5LtZjubnwUEOsVuNYaxWMbUu?=
 =?us-ascii?q?i0UhjVOUSWpmzcgdEP1fK5+44sku/tq4I0honcK9ecjc+Fhqm6C3hvQfmH94?=
 =?us-ascii?q?j5AIKP1FFrsARArfFTkYfLh/io135/WzgOVytXpvSnFm9GjfQ3DpGPVUgoZh?=
 =?us-ascii?q?k2e4B83DrrR8AoHdYS7Ba1xqYet7Q8WYnVMmqK8g0ZoM775xnTkhA2vhbFLy?=
 =?us-ascii?q?vHzljZye+2gUFNZawAlP+an1tdHsTada+ZZxIZtiXHDNwEQw6m/XBwiNuUL8?=
 =?us-ascii?q?www/aHaOcK9SV++sHnIZx+QFiHEi3dH5uJ/XqFU8XmObM/ylxjMHqKLJKvku?=
 =?us-ascii?q?01l3GirjFWh8hRuqt1L/sF27mFcf93MGTYyJ/qSXSBurCf6fLqIXzxuy6KQn?=
 =?us-ascii?q?P3NdTWe0mnjeh97h7SGYCFuMWMg/s8JpYBtVTMXVBrzmFZJM8U9g7T10E8jp?=
 =?us-ascii?q?MhsGBFCL4ct10wPkfrE4eVUYkQ0RnOK6bv8kjtT1B5vZqgBL2ohobFb29qNg?=
 =?us-ascii?q?jxSO/WSY6qHkbwvy5n/P3JkvLOI7Oc8CuSeFidFuGnbfMXSnzbXIKA289l3V?=
 =?us-ascii?q?CXwmkFznu7CaE3y0ZdSc9sys1jScmfM3F0B/W598j8j4LYH45RxGKOOkEwN0?=
 =?us-ascii?q?CLf9QwG7MlD/u4XnGZEddPoa9eA+yrAog6lhJqDpPPg8GfKjIRXKzz6IYdLK?=
 =?us-ascii?q?Gqg4KvaoKYccNyCl+LoEy6v1Eh0eMyoN/5osFi9xbAf56QhcuYpjGSjmlKbw?=
 =?us-ascii?q?gmQRxLgRzP7iNO7AEMO9VcAmJJiYhh0NomWrJSIWAyAoFsrF93y0OThuLq+m?=
 =?us-ascii?q?3rT0AcKphjCHRCldCqNXnVJaa1qZDm4eeLaOv96NX8M9fPfFB/rwsr92KOlt?=
 =?us-ascii?q?++OQ98LLIOyl0V0aiuUgckqDXMSUw+R6IoDp8KMjZyiqg/zwmBe5Bz3u3b7r?=
 =?us-ascii?q?xsTyM7gkOzMuefBiLzZfo92LdB5Rn7uGRWKqFGeQRKyVrV5uV7ifO2SfWeOI?=
 =?us-ascii?q?9UV72+SBvZqapXVZ+YF9afedkeufOW1mYt06gM9kBrjECsP9M1HH8ghLqGHr?=
 =?us-ascii?q?gEaLo9skkJvOvppkzyliUlvhmqloNw+Fh79/h2KJKeT9apQMTiQ1iLLC3Kee?=
 =?us-ascii?q?p1yqF1tX472n1WvVRO6v8zKkJlXT032D41afj8lXzc9d42P3wjAskaY82/Ni?=
 =?us-ascii?q?nlOHCohs7jG7eOUzTDm5xeatCxCX4gtdNkpHluwKZZLrcljQxBDtq8JGGvMQ?=
 =?us-ascii?q?K9NSEK2+qtzrj+pMzNf4p50uXfDKbXHxFwIX5t2VC+CQL55emLNOuK24U6Pm?=
 =?us-ascii?q?UjJ6q+RD/VjDxqvC9XbB03TTXTorV0ewFBZWItJvCy9/LzIeTIqJWM37ARPj?=
 =?us-ascii?q?BZ+ja+caQ0uxXAZbAushHNkWBqKvvy4PQU1Mn+DQuWUkVkfT1Wf5BiFerRwd?=
 =?us-ascii?q?3zaQfQ=3D?=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77865050"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FZzmtIjEunYmhclQWwxlkCgZf/z31fp91fQYsA6kCqasKGZAivSBTbJUA8buS9NDO+hZQ4fmyK/cDhkvwolsnJ6EbdwhTRbJ1R8sbbyRIgm2Hu5yvvpLqQSFDyCnRuV3TZhVMT/uHOk9fsYWu8NEJ4n4KD1hGLkQ5px0vPI3bRUnragQ2/UyyvEQa55z0wg6xOxVfzZ61Qu3BrGy7iKQmnD3jwOJaVgBXdylo1V7Ln2c3v1kL3Nua3fTtcsEM2IQXqujc0kjLTC7BTOBBTaYdCMewfP91ro56vADY6bwoqwSJ5pTPmliEXlE7vxwHKMWhNL/xZUmfMHSZwiivjsI7Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qA1OM5V671uQG0WrwrXbO8oXyKnb501BwtHUunFlfbY=;
 b=PlITsKu7xitkPpCLYk+a4boHLU/SYFfAv6zhWaICZTbP3sw9tJMlrT1H/uVs//fx8xBYximDfsBfYxag/axiHBzx/FogEwDPzhyDSrJqhMwLvYH32sbuR6c02sw0fK6ffaWhC2mkV5w+kYyVntHUJC/S7MXmsxjc1bHcX0W2zRnoV1Q3OpMEi0y9XNbTBzlULKTZH9WURadEBp9y3xuhsn7CVSZQXLgwv0DoQRvHXJ+6HeIi7ASa+23BLMP/pRTIrXrfrMFQWP8FYZlc/Quqj84SPSRhDEOP4A7HGdptwBLwZSJzTiIeQMMlz4667YV6HE8EJTV+Nez9gaZKNA0pTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qA1OM5V671uQG0WrwrXbO8oXyKnb501BwtHUunFlfbY=;
 b=lCNLgwu9lKtU5WyYPeUGqZ9mi8zy11tBUt40hBFr2bJTM5MXbOOxmLtKzBAv73mbNFd/qorNgDRoA6ZQSbhL3aG/0JZGMNI6nACqB4l0F4YKLW0x7/DdzylfF+VtxZCrTeKwxVY0/gZPAYK2NzcWTE1YhJLMZpyybolsrMzxG0w=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 0/2] x86/spec-ctrl: Reduce HVM RSB overhead
Thread-Topic: [PATCH 0/2] x86/spec-ctrl: Reduce HVM RSB overhead
Thread-Index: AQHYrBGYD8msKpsBAEGG8Ts5UdCmda2piXiA
Date: Thu, 11 Aug 2022 10:55:01 +0000
Message-ID: <65cb8f97-9049-abb8-0fbb-80069da998f8@citrix.com>
References: <20220809170016.25148-1-andrew.cooper3@citrix.com>
In-Reply-To: <20220809170016.25148-1-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 60a558fb-b15d-4ce0-50b7-08da7b87f0ad
x-ms-traffictypediagnostic: BL1PR03MB6053:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 6IWBLvGh5Cf+qg5f9uQACLOafn/ll/rStRSSjf3Cb95aBzyvZSl09OuZ8Pc1mavys0HXpXaqATn5Smc26iwG1MJiKn2j5a4kb+qHIymenget63noPx4aLAFujTdVHknS0c5AeYrdoSEM+QOc0pYDCzCaaGwfCbLeZUqDoqMfy5IGrH5pnbQCxn28kePpPio1SkNiOugQIyxhrZb3IPzO0dBPhn/83f/CdHQKjGzmY/nfgyL70A7f9IwoBWSqwg7qkBYLagy9JRrirq20Tf2w+RrXLXyDmkoTyMsU64PaKfjRrH5lqiPQePY1xiO5FD+8EDL1qU54eO73dLpmh29apTHMjnh7ATpL23WCU8GGjsr3MpnR9sd5Oh6yGVq4X7mkqrNDm3sFhZQhKJ/uK8h6rqBQ/oknUHD/hm1vPO1wdNEDajLZaQVzVbUh2Cz8WA0xCzU5JQQqrPzmj6/pFU2qXFUIDR3WWC/vm200XeLQYvLIjwoXVptQA+3J7sFf3gxQDkxV+qPNWERVIsipTd56XubZ9d2LTbDJJXbsXU/XR+pydOXRTCkaPPALb+7XtyO/CK82NlGZrpumFlFKbhVjvN2fDKsHgb60uqdo3fbZnCvgABi6m8RK3Mxf/j3ttNUHK53d08m1KA2KbcAOPlOERcO1N8POLVVY1QIBXCbkjSfh/yLgI4+zKSkfmVR4gRfIpuFnRiD+dQn/HAe/i0CpKM8XOUGPgpODkk4G+Yuw653EjUj8Y715tJdk2zLmAdocbRTPfw3lK9Z9qrruecEqbtjGmzWsTfr5i+6N/IX7IWwDJU8sezfrqV03+lIf0qgUieFaW3iqyAt/OF1qqQkQgiVFZyL5DpeMNxoxT1M5mMLMCrXt9e00afFKl/Ht+odH
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(346002)(396003)(39860400002)(376002)(136003)(8936002)(5660300002)(4744005)(31696002)(26005)(86362001)(2906002)(2616005)(38070700005)(82960400001)(66476007)(122000001)(186003)(53546011)(41300700001)(6506007)(6512007)(71200400001)(478600001)(316002)(38100700002)(6916009)(8676002)(64756008)(91956017)(76116006)(66446008)(66556008)(6486002)(66946007)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?OE9MVGZ2MUthRTZybVdwaWx2WUgyRHRKVTBNVTRIS29lYjBJYXVMS1ZNY09X?=
 =?utf-8?B?MDBDWC9CaTFtOUtFU1VHMGpFc2hBOGYraWViTlJDeHZ3THNZVkplV01VSWxp?=
 =?utf-8?B?ZzdGcFVQekVhNU1XNXZCM3dpN2R4Q3lEMHpSR3RHckhUcm00TGM4VjlDeTRB?=
 =?utf-8?B?VVJrR21PZElOYmw5aEtmcll5ZUM0UzBIbXdVYUlnVG00M2FwbjJLYXNhWWk3?=
 =?utf-8?B?VEhTYStGMEp0VjI2cHlNNXpiNFNBTlJkKzlrSFpxVDk3aUFzeWx4NXdEKzF4?=
 =?utf-8?B?bCtxRk5lcEJCSXlLZ0p0T3hWcTZUWUlmV201cW94NlBYZmRweFBEcThMZWU1?=
 =?utf-8?B?eE5MWWNCbXlmUjlYQUNKdWRpb3UwZEZiLzRYbDF5OW9jU1FTbGNXMlErMDhz?=
 =?utf-8?B?dGphQmdBSU1YYnhBcm1JcXB1dUVNeUJnS0ZESFp6ZnU0bzdCYVVOdTIyS2xH?=
 =?utf-8?B?NmJrbUFQTmFldE5rVUk0SnVjZEIyOHZ5NHlFRHc2QS9MUkpoL1FGQmxpZUE2?=
 =?utf-8?B?Mzh1dUQybXZmS0hrYWVPQmF4NGxEK0trYzNjN1RpTkNKTmtUVWNpSm5tRkQr?=
 =?utf-8?B?YlpJa1daRlJrREE5WFA1bjU0dzF5a0JLOHhXZExaMWFwZXBsbVN6T3BJV1FR?=
 =?utf-8?B?bmFVSk8vUnNLQVJxRFZBT1IxOGR1bnZYZ1d1QVdtUGs0cU8yM1NtaUtrK2pI?=
 =?utf-8?B?MjdlR1F4c2pSVnFTb2JQVjhtWGxlcDU2UmhOeHprWFJsdm9jMXR1cFU5MEM0?=
 =?utf-8?B?YVRXOGtaaUxEbEVHbnRaL3h6Q2NoaWczSlpGa0d6Q282Ti91bG9kVVdyVHd6?=
 =?utf-8?B?aXRCeXJMWnhtVWllNzBaMmxYcnU5bU03R0M3WG5SMlNsNEVOWUM0TmhWWUVk?=
 =?utf-8?B?dVAvQW9VWld5RnQ1QkhJbnZRa2p1aWt2aWRicDI5VnkxcldOU2E3UFoyRDZz?=
 =?utf-8?B?M2FuNzBQWUs5bmpOcDZxWFBRc0pmai9FVDZ0WlFvb0lPeTd3Y1dvbFNuOHp1?=
 =?utf-8?B?R1FxeVdvWUN5L3J2ayt5L1JtYmxBNTV0ZzRHQXMzbFQxeTQrb2FSanU5ODhj?=
 =?utf-8?B?eG9KZ1VCNnVYRko3dkJNYXk0Q2xlWFF0UHV6S3VMZUszbGMxSlNDanBURUNK?=
 =?utf-8?B?REp4a3BKNzBwVXU5UU8zZlNhY2lSSnp6OXI1TE5EK2dPckRBejVJSnRIcGEz?=
 =?utf-8?B?djU5NUxFL3hncjdjckl0VEN1MnFZUEF0WHk3OEFSbEhwaHcwM0VjbEdSSkZM?=
 =?utf-8?B?VTduUHdpTHBTM1pwVnlsMCs1TXc4OGJUcElBR1h5QkRLeW5BQlNFY0hWbDl0?=
 =?utf-8?B?Q05oMGhDdytEdGllRkZIVFM1WW40UDJyTFFNNUZIcVFqU0ZzOGtpQ0MyU3o0?=
 =?utf-8?B?OE1xL24xRXc5ZVVhWGtxT3RHN0Rkdk5GRW05OTgwUGFBMlNwdUU4WWlhSWRr?=
 =?utf-8?B?WEFZU1l5R2hnb2NIUlFkYTk4Uzd2K3FDK3RPK2lQVHd1VmNiQkJhVTZxZTB1?=
 =?utf-8?B?eXo4Z1Bzclh6NFdDeTJrVlpqdE1iQUtENlRadEdaZlJwQWtwQzgvVm5DWWQ4?=
 =?utf-8?B?cnVVWXRVNUZZL1FnUVJDSkQ5UEVYTE1EU1FhaXphWWZoN0ppRVhCZGsvZUVV?=
 =?utf-8?B?KzI1ZjhjaVdJbE10L1ZYRGIyQUUzbURJL25BQWVsY1hFUkdGS3dYNUI2NGhX?=
 =?utf-8?B?V05CZmxCeUJYai9XS1R3REYxcWNwWWNMNWFGM1p1Z3pmN2tjMXYwaWVMMnN2?=
 =?utf-8?B?QkZVcUF4NUpZYkdJK1dJVlJxZkVhSk5YQ1lkdjZFd1Jhb2tuOFA0V3hhN1k3?=
 =?utf-8?B?YXVMRFpKdWZXMWMyek9lYmRqV0U5TEkrQXo1ZWhoOGZHSUZBMWFFbkQ5Skwv?=
 =?utf-8?B?UEh0eXdkNlJvZXNteXp5L2tMMlNqb2h1cjhBVFB4Q3JEZzJLenVMcnBKWVFO?=
 =?utf-8?B?RmVTZ1ZBRjBTaXY1UU0vZTFRZHV3TzBLZTVwdFM4b2JpeDZCejg2ZllOZnRY?=
 =?utf-8?B?SVNweGNSKzFtOWc4cUp2ZnZnOE9NbE93MXlZVEhzenF2VU9ua1pzSERQSjlz?=
 =?utf-8?B?MnRlVVBkN2V0ZnZPZ3QvUVZaODlNelZIUjE0SHdHUHZ1czQ3ZUl2TkhYK21N?=
 =?utf-8?B?UWgyTi9aMXUxUHFYbG9maTdPR0duSzk2U3cydGZxeVVIeU12ZG1QWTZnTkZL?=
 =?utf-8?B?QWc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7EF937B404691343B077BFD07A93FCA5@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	gwOnghlG5o7MAlN7AycS8u0i1vyALhB4fFUrfqzHUF0lUrZlpearypmca+48BPHy1+uFY6w/8pJpcebb9U1iwMWFFCnuaSzZLe9EcfTOlxVO7wKrDfWyLdcrh90Y/OxUt1STR9Fo8qsgX9P3LE9KBoI/KcX8RbUxMztO//MQ/H5VoD27lpibbAE2AW6bR7eKc/6RGMM1V7tGhgBk5I+JPoXiwWU5CHUVuqIDEE+0WWxfVcwtczWsoxjKYxyFkeOee3O3Z+CN6I9nh0HCzBaeFnOTzpzDjUv41ZUopCkfvpJWeKbENwOtWxQsQ7fnXKo9BgIYhMw20aW/A7mqPQhVfZfolMHrClbtX5MYJE1esfv8wCY18+hdYdgd5o8aYybZ4co1fhEz8pF2q8avxjARuWWoQgAFz4sHG+Xz+DVQsuqC7sqDdVF3JAUnrI2kJuapLuEpwrGieeZGgx2+mnv3IJSgaXxH+fsp1Ufp5t/bpxiwv+GfLPMz9wUmgVLXC5xG1g5/9mQqk6fbOQwX4Y3Fft2v8cPyNo1EVSLsirRYJcaxbIM/rzCHYarmDs8eUIrTVbuAlGnjnGZ7kGQBA3exmxrBTDTpe2i7DnXMOaH8TEWEnn96ZTWEZNyWwEvD9cr5Uo7i6yBI8hoMqOrSOVTBkyB79ija1rThKe+4GSCH5hLFIMZspWuTR9CWQZk7djEfG/7E8pUttuiNaZ5VLp75ZMhEluSgfK9dRvWbmGxeZ+M=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60a558fb-b15d-4ce0-50b7-08da7b87f0ad
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 10:55:01.4725
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 1GtWYf0QOMaMI+NG8oPnZeVGkiD8eHA5EW4Jfu+0KM/52C0pLl8bxE/0Iv6nzlQjh82Y/6ecIecC3SplxGiBbBz6E4JsE+lox8GeRS80/hE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6053

T24gMDkvMDgvMjAyMiAxODowMCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gWGVuIGhhcHBlbnMg
dG8gYmUgbm90IHZ1bG5lcmFibGUgdG8gUEJSU0IsIGJ1dCBpdCB0dXJucyBvdXQgd2UgY2FuIGlt
cHJvdmUgdGhlDQo+IHBlcmZvcm1hbmNlIG9uIGFsbCBlSUJSUyBzeXN0ZW1zLg0KPg0KPiBBbmRy
ZXcgQ29vcGVyICgyKToNCj4gICB4ODYvc3BlYy1jdHJsOiBFbnVtZXJhdGlvbiBmb3IgUEJSU0Jf
Tk8NCj4gICB4ODYvc3BlYy1jdHJsOiBSZWR1Y2UgSFZNIFJTQiBvdmVyaGVhZCB3aGVyZSBwb3Nz
aWJsZQ0KDQpOZXR3b3JrIHBlcmYgdGVzdGluZyBvbiBJY2VMYWtlIFNlcnZlciBzYXlzIHRoaXMg
dHVybnMgaW50byBhIDIlIGd1ZXN0DQpiYW5kd2lkdGggaW1wcm92ZW1lbnQuDQoNCn5BbmRyZXcN
Cg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 10:59:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 10:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384456.619834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5ud-0000l5-Bo; Thu, 11 Aug 2022 10:59:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384456.619834; Thu, 11 Aug 2022 10:59:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5ud-0000ky-9A; Thu, 11 Aug 2022 10:59:39 +0000
Received: by outflank-mailman (input) for mailman id 384456;
 Thu, 11 Aug 2022 10:59:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM5uc-0000ks-3L
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 10:59:38 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2075.outbound.protection.outlook.com [40.107.104.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b087a5cc-1964-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 12:59:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6744.eurprd04.prod.outlook.com (2603:10a6:20b:f6::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 10:59:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 10:59:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b087a5cc-1964-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m0OQd+IYiycH0OjhyeZsVVNsXcwjt5WTUzuiIfcVcZ+Ok06kaFTXqrdXaBm8xPpd0wfTSVoRG2GNpze3IN4uaB/UucFARiyOyAhD5+lfh4K6ZNQOxQ2C9Ko72mIzJ705god5pIlUwZU65x/U1fB8OtSuDqldEHucE1z72ZniZtoXyVu0MzUpGuo7Cf7bqTirR3SsY6nnNc7dphmXS7o1g+I4sVmMO30UaA+mklgaYxvn/YiPrnXsRDoyFfzO9FZkPZghAcre/hLu0Eyo64yFrjzWh4O94E8hE75htIngiymEZ/RoHMWyNntc+Z8BqgTBdyme+yxKxv2Auii/my06TA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OBYO4Xg7bCVuAbhNPgj8vmzhgJWbAmx8JtTystD9Nzc=;
 b=NagZUnLUnKjsrZkFwkXSOM/igxPhYaOgEDABwGRFDpQ5dCjJReTV14DPu7shdYqVFPnVcpqCPY+PAeAYLY/VUq6R+HOXzVAPyN7UDzLkdehnmS/bgogQUbVBcNX/otLMFqZgu6we5cx2N9YrpIaKefqJjcx6uZH5sDGBDOIwt4wgyCVanZoYg3cTBE1MHmJQ5YKN+j1Vwi8m4C96ajsz2MInx+Sygkl6zejLTdTCHB9EBV1ANvWx3vnvQ1BSfV+P/4f3SoAP1zyng/88gNtB8QACN3u8NjFCLFTeeVfwgtyiTZib2h1fpbb5cYcPvaplNavSQ2HlrMhtXkrNLRxKCA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OBYO4Xg7bCVuAbhNPgj8vmzhgJWbAmx8JtTystD9Nzc=;
 b=tIXfXYHq0zBPTRBxnAD5GqxIsiR9WKlq7vKaMY9l41H1tO8E3IIrTE2kGq7AMaRKxPq1JUaQcwx3G0hfrEG/cBk35zslUIL+tBM0RzkqO1K+QigQS528jRdwkF+0wq/PQeVOG/f7oy2OU3aZV1ptCgWecC2JNiwJSgG/Q8aA9j5FdhXX+0bk+SK+UHwhdy+WGblYmj0p5VPPXTd9jrmM71QDdTcCmsgkXCmOxXZedxcsS9Rfxj0aR2S1B7ZDGTolGLlG+x0wZmifNJtR32BhwfHf8Q4KABDcnU5pyDAM+BmOF7t8UzZ4dilGco3Z5hi27DhfbD8Ep6L9UZt5Ua6qjg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7da3506c-dc2a-aa50-2bac-2985d2b9e66e@suse.com>
Date: Thu, 11 Aug 2022 12:59:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20220811101715.3947873-1-ross.lagerwall@citrix.com>
 <7ff6d006-0a6d-60e9-ebb7-70ad3c6d6a5b@citrix.com>
 <PH0PR03MB63827F5CFCCB8277405FD70BF0649@PH0PR03MB6382.namprd03.prod.outlook.com>
 <e848e6a7-2c8e-d0d3-6aa8-24d9d78ae491@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e848e6a7-2c8e-d0d3-6aa8-24d9d78ae491@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 309941d8-3b4b-4e00-ba8b-08da7b8893e3
X-MS-TrafficTypeDiagnostic: AM6PR04MB6744:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LTcBAqgui97qSlpBSGuMMwKajRDb/cngx3aRvSi3fdJNZYzouAesqJ+BtJQxMp3h0FeIYwJOUVfXsiH7QGzADqkqeUtNuTL9ZnnebdOrKAKZgRjd7jlPvqj8Cu7JwJuawpojVHpFZjdBqhaz3CHDmbhetFhwaUgvKL4zMzpvRtrpCfwZ/nSj93SlJF4tM5HwGK6meTvXy+rDYOBPqE9/T4TA+3nqA2L7Gg6+Cxq4JvmA6q6VnZyGmoV234VftjbOUhG7OtAbaJt9duatSh7c6kRn7JCf4Ctu6MSRpjm5QuEWQ5v9olQEYdaW4uj6mdJMrjLUwu8fvFCEzPx8Kz66eZJ7y35bbrUHErZZPj/fb/V5Wa9LTJ9YjQG49uAvTljUqisTO6J2Nss0tQUo+8+vwnVbeib51jtAhOgGDuBDcGL9sVwhs/g4swtXc3JsG5AJ8u0vcVy2VbbNQ+J/+/PAxGmmmbkUT5f9cDLMaK/RvTfeZVetf4tb+41cH1UiuqnxLSsaVEw1B3aNewx8qBd/f7v56W8zCxkSQaaB3GUjsQCBhMruf2hOvkMKlt/bqwiLpOxPHM/quj+dMhFqPlXyN0pSS3INGXkOxV/qHt/kH7Y4FF743XXoyGpE8rUFTBZiESWPwy/rpG9JNOWAbak9/B5/PEmYo0z8ZfOxKumplIXD1yUEwSFtYuBm3+AyVdSxQPfEuAMeSY+D0NPyrml8Y/Fyugeoa1TY8AIuURGr+NcxgucC9M3WQn3X0xVwBw/NNuYDRJsWOfReYnZIL76sage+hNpRTvnpgKO5f+9+MPNna8jwWSeNzWWht/hPpp9rs4ZMIViLnR+BAf9et/2HfQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(39860400002)(366004)(396003)(136003)(110136005)(54906003)(316002)(478600001)(6486002)(41300700001)(2906002)(4326008)(66476007)(66556008)(66946007)(8676002)(5660300002)(8936002)(38100700002)(31686004)(36756003)(31696002)(86362001)(186003)(2616005)(53546011)(6506007)(26005)(6512007)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UmNKRTFETmwzWTgvT29rSytqVVQwZ3lxSlZVNnIrNGhvVEtpMGJET0x0cTNC?=
 =?utf-8?B?ekUxVnJDelJjcVVnbHo3Q3Y4ZVp6clVuMFFrZWo3OThXMS82cnNxcjdQN0tJ?=
 =?utf-8?B?MTZqYjBpeEhIOGp3U2FlTEptdVY1RDRkNVNvSFNLa1laSVNsWjFuVVJ3dVRn?=
 =?utf-8?B?YzZINFczeTE5ZTlzYlgxdWV3LzlHdTB2M3YwOGFzYVJwQmhTK3NhdmNad3Vl?=
 =?utf-8?B?dVl1bytGRDdOWktpYTl2T1hmcitCeGtLZW1qbHVBZHloUHdMVmRmeGI3RHdt?=
 =?utf-8?B?ekRwY2N3YlVGLzlJNEF1WnQxVjdvOHVjeHMvUWk4dnNsbFRxRGNhRWdISFdN?=
 =?utf-8?B?emt5RVg1K2hiZDdkK3VHYURBZ2xOOTIwUCtJemk1bkpqSDNCYnhpWWJmS1JB?=
 =?utf-8?B?eWNqV0RiNkN4SmJaalhub1NjOUlPZzB1eWJxbDRRc3BQVzVWRTlvdmlqa0gy?=
 =?utf-8?B?Vi9LUmFVSVdvZUNSd2lNN2pPZEpKM2I5NGxBTkhUbUNaTGxYR2pmeldGZU9F?=
 =?utf-8?B?ZlpEc1hrNDROaFplOGtlQ1FJWTYxZDFranRxZ3g4WkhjOThQeTllUVhtWDlB?=
 =?utf-8?B?UVVXczdCN1RnNzU1WG9ZUkJzaVZpNGJwclpHQnhFZ2l5b204ZHJld2R2WkdM?=
 =?utf-8?B?SkZUUVVrNGo4RitNZndLamczSUJXYUVPSVRQdEJIai9yWDh0aWpRY2dEVjR5?=
 =?utf-8?B?Q095RndGNU92NUw1b3MrS2xoZVFnVjdZT3ZEYkhFMWNjRFZTSU1ld1pYRHlT?=
 =?utf-8?B?dnZaTXB6ZEFKbndNVmFVd0FWMStLdE9rK0lVMmcwek9rc2N3SUZHZE8zejZp?=
 =?utf-8?B?UFNTSzlNYnA4RmlUSWdmendlS2l6aTlrd1BYbGp6c2pHVWpLdDRZYzhEZ0gv?=
 =?utf-8?B?MkxpUksyWHNRRlBpYjBjU1RYYUdpMExaUGJPZzJLMjM2Tk1VQUUzdHJvZkg0?=
 =?utf-8?B?VEo0dVF5OTV4NmxUOHJXelVVQ3dpcEEwaE4wOHU2cWdGdXdLT3BoRUxmRk1i?=
 =?utf-8?B?Yzh6bGJ0UFhsQk1RcnRsODhrelYyZVkrdTBlVXMwU3ZmVWtUR3g0U3JveFlM?=
 =?utf-8?B?SEJZbHpNeXNYaC9oSU5sdElLbVZ4OVZ2dS9YdHZiVzQ5RDh0LzNtb3BaeElH?=
 =?utf-8?B?dklZWkVoVlltVmtDWTAveVNYZG92QkZ6UFBORGZsT3BLSVhhdklaMFdNWjJj?=
 =?utf-8?B?S1NMM3JESmc2dVh6dFU1YmJvZzlPVjB2QzlNajNGVG5iWk9hSm5rY0xCVk5G?=
 =?utf-8?B?U1JCZ0xOS2FzQU1sRFZDdjdFNkI1WkhqN3RBUGdZWDdXeWlDU01JcURtb21k?=
 =?utf-8?B?UHNCbFVJQk94S2F4ZDVheVMvVm9ROTA0NTBtYXdCczBvVVU0b1FwOHBoaE1z?=
 =?utf-8?B?dTkyaC8xVzN3NkVTaWlpNWhEVUliNFBtK3NCZ2tSbUlacVp4ZjRLQ2lEOFlV?=
 =?utf-8?B?UU1uSVVhMXhJUmNGWG1Qb1UvUEJCUFlreHcwL2hsY1hlL0xycDRFbVpGdm4x?=
 =?utf-8?B?USsxVXRGckF3aWIyaDh0QUI5L0tNcmdkRkJPckw3SzlpV2loaE9USVhyTjBC?=
 =?utf-8?B?WC8waFFpcWZYUTNnMjZZNFdaeUs1Ui9RWXBqWCtCK0x5cmNyaCtrOXBBNFAw?=
 =?utf-8?B?WjdhM1l4Qm5uNUwwTVJRbFd5NDdoTHBybmllaW1yVjZ1Yk85b2cvUzRJWkkv?=
 =?utf-8?B?RDRUWWVUV1ZkcXJHT3d2OWtaWXBnNGpnemZpVFFtL01IL0JEV2lGS2ExVTdK?=
 =?utf-8?B?VkVpemF5UFpvUUJ5Vm5sQnVSVTdJV1FqYUxnN1VSWERWckR2azR4T294djEz?=
 =?utf-8?B?d1lYMHlXQ3AwNkVVVXNXWUlwVHo3REphdStBNUtqYWlaaVErRmFpSXpEL1pl?=
 =?utf-8?B?VFM1UFhET21WV21QVVp0Wi9oZ1MyNVA0ZWpPb3krcXRvc3JiZi9ZS2N3amZN?=
 =?utf-8?B?YjBCUG9EcnR6RTVpOG5ubklHSkRHVTEyd1B0UTJBZjYyUUdIZnY0WmhobVlJ?=
 =?utf-8?B?SGhNSTVGSEEvbmlOaTNXNWc2V1FLZUFHWHYrVEcrMXlLSE9yb0RmRWdjWFp6?=
 =?utf-8?B?VGRFeDNNNmd4cnZIYzhneUloZ01wcDlmR1lXbjI5RmVQVW8zNWdGcEF3VTZJ?=
 =?utf-8?Q?6BN7HSmcG3yhMCz+8tpKFt/Pw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 309941d8-3b4b-4e00-ba8b-08da7b8893e3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 10:59:35.4540
 (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: S1eA9fsjom8VePgRVLMxo4YqcnERASlsAby3+Cny8JrGJv5a30CF8p6N5YT3fa1hQWdU5JTSmwgdrANm/wGlNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6744

On 11.08.2022 12:34, Andrew Cooper wrote:
> On 11/08/2022 11:30, Ross Lagerwall wrote:
>>> From: Andrew Cooper <Andrew.Cooper3@citrix.com>
>>> Sent: Thursday, August 11, 2022 11:21 AM
>>> To: Ross Lagerwall <ross.lagerwall@citrix.com>; xen-devel@lists.xenproject.org <xen-devel@lists.xenproject.org>
>>> Cc: Jan Beulich <jbeulich@suse.com>; Roger Pau Monne <roger.pau@citrix.com>; Wei Liu <wl@xen.org>
>>> Subject: Re: [PATCH] x86/cpu: Drop _init from *_cpu_cap functions 
>>> Â 
>>> On 11/08/2022 11:17, Ross Lagerwall wrote:
>>>> These functions may be called by init_amd() after the _init functions
>>>> have been purged during CPU hotplug or PV shim boot so drop the _init.
>>>>
>>>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>>> Hmm.Â  That's a bug in init_amd() I'd say.Â  These really shouldn't be
>>> used after __init.
>>>
>>> Which path exploded specifically?
>> The stack trace was:
>>
>> setup_force_cpu_cap
>> init_amd
>> identify_cpu
>> start_secondary
>>
>> In setup_force_cpu_cap() here:
>>
>>         /*
>>          * On pre-CLFLUSHOPT AMD CPUs, CLFLUSH is weakly ordered with
>>          * everything, including reads and writes to address, and
>>          * LFENCE/SFENCE instructions.
>>          */
>>         if (!cpu_has_clflushopt)
>>                 setup_force_cpu_cap(X86_BUG_CLFLUSH_MFENCE);
>>
>> which was recently introduced by:
>>
>> commit 062868a5a8b428b85db589fa9a6d6e43969ffeb9
>> Author: Andrew Cooper <andrew.cooper3@citrix.com>
>> Date:   Thu Jun 9 14:23:07 2022 +0200
>>
>>     x86/amd: Work around CLFLUSH ordering on older parts
> 
> Bah, and that was also backported in a security fix, to everything back
> to 4.12 is broken.

4.13, but yes. Oh well.

It's actually odd that we use __set_bit() for X86_FEATURE_MFENCE_RDTSC (a
few lines up) but the more heavyweight function for X86_BUG_CLFLUSH_MFENCE.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 11:00:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 11:00:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384467.619845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5vp-0002Bt-PY; Thu, 11 Aug 2022 11:00:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384467.619845; Thu, 11 Aug 2022 11:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM5vp-0002Bl-My; Thu, 11 Aug 2022 11:00:53 +0000
Received: by outflank-mailman (input) for mailman id 384467;
 Thu, 11 Aug 2022 11:00:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XZap=YP=citrix.com=prvs=215a4cc3a=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1oM5vo-0002BY-Dp
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 11:00:52 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db77152b-1964-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 13:00:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db77152b-1964-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660215650;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=7zTsj3FgiSrtsICRFnfbrIPJEMJyYijoongIaQQeKlc=;
  b=f8i0uyWv9dp3PizsTKHCJI0G7cy/shFULdnIIuHl3KGmMkQV52qlVzvL
   16tEr6CI9qUc5pDSnm57+GICsnGa9fLTZYugxnwPnChkWbo/TSddr83vg
   8ZcSnlfuLE09rd2WIU5oIcCvPOSSqqzYEMWtltwIKopMbx6fAg4TMMMdr
   M=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80415703
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:HZsWc6OyJV84ZVjvrR3Ml8FynXyQoLVcMsEvi/4bfWQNrUol0TICz
 WMWCGrVa/qMYTDxc9x3Oo3k/EtS6J/Uy9VjQQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/va8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPTws9SFVk9G7YH0cFaCmIft
 vsFARokO0Xra+KemNpXS8Fpj8UnasLqIJkeqjdryjSx4fQOGM6ZBf+QvJkBgWl21psm8fX2P
 qL1bRJ1aw/bJRlGNVoNF5s6mM+jh2Xlci0eo1WQzUYyyziLkFUsj+C2WDbTUvnTFOVN2WeWm
 kDH2kvzDShLGIbP0BPQpxpAgceQxHimCer+DoaQ6fpCkFCVgGsJB3U+V1G2vP24gU6WQM9EJ
 gof/S9Ghbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6k6nMsF2AbLoZ87YlvGGJsh
 gThc87V6SJHj7yvdWuF/ZGvshiVFCMWfCwFeAYuZF5QizX8m73fni4jX/46TvDt1oyqQGiuq
 9yZhHNg3utO1Kbnw43+pAma2Gz0+/AlWyZvvm3qsnSZAhSVjWJPT6ih8hDl4PlJN+51pXHR7
 SFfy6ByAA3jZKxhdRBho81XRdlFH97fbFXhbadHRvHNDQiF9X+5Zpx36zpjPkpvOctsUWa3P
 heL5lsItc8OZiHCgUpLj2WZVawXIVXIT4y5Bpg4kPIXCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mTCpYNl5DUPwP5GfnGI8gPUoDnH9WKZX7Gc+mlHxKENO2OBaodFvyGAHQNLBpvPjV/F69H
 hQ2H5Li9iizmdbWOkH/mbP/53hTdRDX2bieRxRrS9O+
IronPort-HdrOrdr: A9a23:pO0ht6oMXISkm6wL0QFq10waV5oneYIsimQD101hICG8cqSj+f
 xG+85rsSMc6QxhPk3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakrDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="80415703"
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Ross Lagerwall
	<ross.lagerwall@citrix.com>
Subject: [PATCH] x86/amd: Only call setup_force_cpu_cap for boot CPU
Date: Thu, 11 Aug 2022 11:59:56 +0100
Message-ID: <20220811105956.3984262-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This should only be called for the boot CPU to avoid calling _init code
after it has been unloaded.

Fixes: 062868a5a8b4 ("x86/amd: Work around CLFLUSH ordering on older parts")
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---

This replaces "x86/cpu: Drop _init from *_cpu_cap functions".

 xen/arch/x86/cpu/amd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 29c59bcba4..d5f8e5e899 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -845,7 +845,7 @@ static void cf_check init_amd(struct cpuinfo_x86 *c)
 	 * everything, including reads and writes to address, and
 	 * LFENCE/SFENCE instructions.
 	 */
-	if (!cpu_has_clflushopt)
+	if (c == &boot_cpu_data && !cpu_has_clflushopt)
 		setup_force_cpu_cap(X86_BUG_CLFLUSH_MFENCE);
 
 	switch(c->x86)
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 11:11:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 11:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384476.619857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM65j-0003gB-Oi; Thu, 11 Aug 2022 11:11:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384476.619857; Thu, 11 Aug 2022 11:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM65j-0003g4-M1; Thu, 11 Aug 2022 11:11:07 +0000
Received: by outflank-mailman (input) for mailman id 384476;
 Thu, 11 Aug 2022 11:11:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM65i-0003fu-7m; Thu, 11 Aug 2022 11:11:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM65i-0007vQ-3o; Thu, 11 Aug 2022 11:11:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM65h-00042Y-J9; Thu, 11 Aug 2022 11:11:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM65h-0003el-If; Thu, 11 Aug 2022 11:11:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Att3NILBBmNlZUtlAu6OYgq0K9Zax3Tv2jK7qMcFHco=; b=IIUypz8oOqIF+Q9C2n81ig59rQ
	M9OhhSwfd+hicmVYGsUv2X8d4Yo9+B7RExGL+ZT6wzU87+GyrxMHIiaIAjjpU0ZITtN3l0E7aIPFy
	LoF63xA0rDXia2EMTTQbKvud80tO+WJL2xstqhFIeiC4atyXG8TVfES6lx3jqbBsiVro=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172369-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172369: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=aeb6e6ac18c73ec287b3b1e2c913520699358c13
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 11:11:05 +0000

flight 172369 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172369/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                aeb6e6ac18c73ec287b3b1e2c913520699358c13
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    7 days
Failing since        172152  2022-08-05 04:01:26 Z    6 days   18 attempts
Testing same since   172369  2022-08-10 21:41:32 Z    0 days    1 attempts

------------------------------------------------------------
1207 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 128519 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 11:30:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 11:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384487.619868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM6O5-0005xY-BI; Thu, 11 Aug 2022 11:30:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384487.619868; Thu, 11 Aug 2022 11:30:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM6O5-0005xR-8C; Thu, 11 Aug 2022 11:30:05 +0000
Received: by outflank-mailman (input) for mailman id 384487;
 Thu, 11 Aug 2022 11:30:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM6O3-0005j3-Nj; Thu, 11 Aug 2022 11:30:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM6O3-0008EI-KM; Thu, 11 Aug 2022 11:30:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM6O3-0004ip-89; Thu, 11 Aug 2022 11:30:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM6O3-0004x6-4U; Thu, 11 Aug 2022 11:30:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eivpf7yaxBQjjudi5LPFSgSxfXDP1IWbNDPYmEsd2pY=; b=iPAA/mArwXwsHsXmJhoXQ3bq4p
	37jh5hgSQ9rJ2nSpT0pBfUFHMZUgTwyhcRupGcqdO7ZtwD5kLfG7KBvUbb6xyCV8gNzUGYwyDDSHd
	0bT8oLEDA9NY8WB/DbGrj2CQU3N+lEoN1FbbY1E+Mxo1n/hs3rYtGLo2Ddh4PpTQ0lY4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172381-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172381: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 11:30:03 +0000

flight 172381 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172381/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    7 days
Failing since        172151  2022-08-05 02:40:28 Z    6 days   62 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 11:30:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 11:30:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384490.619879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM6OM-0006NV-Jm; Thu, 11 Aug 2022 11:30:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384490.619879; Thu, 11 Aug 2022 11:30:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM6OM-0006NM-Gk; Thu, 11 Aug 2022 11:30:22 +0000
Received: by outflank-mailman (input) for mailman id 384490;
 Thu, 11 Aug 2022 11:30:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wU7G=YP=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oM6OL-0006L3-60
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 11:30:21 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id faffcfcf-1968-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 13:30:19 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id f22so22521036edc.7
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 04:30:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faffcfcf-1968-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=Z3pEJGy1REnvgyy1oqHrPC2LjoiqiqNYoMkBf57hqjg=;
        b=nONpIuEL/LFcZCFd9KlimL3IEfSecAe2TmXAO4C9/JmMLUHjF18jL4HdsriDYfFOUc
         9V4wIHHAfqztp3VxJAs4W26jCVyD4vezSpm9QkmOw7cQ8GSf/i3dBrqaEPkPJ+o9SYxB
         +ABvuoxty5Et18khBp6YBy3w4azRZ7yUSCzs99Ae0O+Sj0amwp1ZFaHcWmEgRv4ZhoFK
         cDOXgPoU6RFyVUx0o8hdGFkLCr0fryhdUwk2mp3xjuqOtHmb2FV0Vkzh8gSKeaw7FVpC
         EUCgAgq23naLT0xAZPanwsJV0r991yHU1UxKCGQiO58O6HAVrcR+bknJTjEKS8oK2FmU
         QhsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=Z3pEJGy1REnvgyy1oqHrPC2LjoiqiqNYoMkBf57hqjg=;
        b=jrIi5iGKpVSSK1pn6Mb4bxdNI5ndiAfw8Pzc7xRa68o3I84653Sk64LjxOZjDEPWZ+
         V7FMnFg3NLe61zp5K7di+KYTgLI2nxnac7MSIpNaBDrcmCUgb6+BQ5pzl4fQEDAvHCRH
         psGcCycs1p1qhcv0XkJ/SeWVlaXKvIHUDsWis/1CoJMRRPoHZ8Ctrt2mtjzU7a1wnOZ4
         UJrdE0EF+lUoGR0iNE6UTVGrx1a1wNAM+R1+n23CTCeIJn4sTcmOCxPhc7EJj/rS1T4V
         AKWaj/Fz0i6S6Vu+pgwbt/TtN7GYjFPVqFvZsjSu8V0lGEyxaHfk/2ULLdDgoGh5UpLE
         jOvQ==
X-Gm-Message-State: ACgBeo2i992wmyYTEUWk3T8daBIWH0cFvSvqwXi3xdHhF8Bo6m8uiBNb
	Lvbw8F4WNsLQcKhwmWf8mQFE8Fw5jPTT5UJsLeU=
X-Google-Smtp-Source: AA6agR4K5rz6p7T3vjYS+Jt7gu6UNMdZhfdwJwRIEp4m+SoH4U9cRNuq1scSvguS+rMTEBhx50t2a1qBd7salsq+Irw=
X-Received: by 2002:a05:6402:3595:b0:43d:710a:3f3f with SMTP id
 y21-20020a056402359500b0043d710a3f3fmr30451103edc.375.1660217419336; Thu, 11
 Aug 2022 04:30:19 -0700 (PDT)
MIME-Version: 1.0
References: <20220810192944.102135-1-jandryuk@gmail.com> <20220810192944.102135-14-jandryuk@gmail.com>
 <dff3fc03-8d94-7ca0-512a-501ed71dcc48@suse.com>
In-Reply-To: <dff3fc03-8d94-7ca0-512a-501ed71dcc48@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 11 Aug 2022 07:30:07 -0400
Message-ID: <CAKf6xpsrTsmUj9+EO31FvY5xB+fnsH8PvQm868s5xO8tcG-OJQ@mail.gmail.com>
Subject: Re: [PATCH v2 13/13] CHANGELOG: Add Intel HWP entry
To: Jan Beulich <jbeulich@suse.com>
Cc: Henry Wang <Henry.Wang@arm.com>, 
	Community Manager <community.manager@xenproject.org>, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

On Thu, Aug 11, 2022 at 2:51 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 10.08.2022 21:29, Jason Andryuk wrote:
> > --- a/CHANGELOG.md
> > +++ b/CHANGELOG.md
> > @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
> >
> >  ## [unstable UNRELEASED](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
> >
> > +### Added
> > + - Intel Hardware P-States (HWP) cpufreq driver
>
> Note that there already is ...
>
> >  ### Changed
> >   - On x86 "vga=current" can now be used together with GrUB2's gfxpayload setting. Note that
> >     this requires use of "multiboot2" (and "module2") as the GrUB commands loading Xen.
>
> ... a "Added / support upgraded" section right below here.

Whoops, sorry about that.  Thanks for catching it.

For v3, I'll move to the existing section while keeping Henry's Ack.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 12:10:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 12:10:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384509.619890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM70f-0001fm-RB; Thu, 11 Aug 2022 12:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384509.619890; Thu, 11 Aug 2022 12:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM70f-0001ff-O9; Thu, 11 Aug 2022 12:09:57 +0000
Received: by outflank-mailman (input) for mailman id 384509;
 Thu, 11 Aug 2022 12:09:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PDJ2=YP=cdjrlc.com=wangborong@srs-se1.protection.inumbo.net>)
 id 1oM70e-0001fY-Bt
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 12:09:56 +0000
Received: from bg5.exmail.qq.com (bg4.exmail.qq.com [43.154.221.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7581e34b-196e-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 14:09:36 +0200 (CEST)
Received: from localhost.localdomain ( [182.148.14.53])
 by bizesmtp.qq.com (ESMTP) with 
 id ; Thu, 11 Aug 2022 20:09:25 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7581e34b-196e-11ed-924f-1f966e50362f
X-QQ-mid: bizesmtp79t1660219767t4u30kic
X-QQ-SSF: 01000000002000G0V000B00A0000020
X-QQ-FEAT: TLc+rbMvNaH5OYpc2vpXRliUymwUm3enbmSFWCPJHLn06RxUVTo7PYfDoGSrc
	Bf1mjnddn5ysypy0lYDebVTCHb1ta+hJ42+ICX9bVZkki8fWJAPuB77P0BTPLB6E6/zKNOs
	1ygH0WkIG8GlHvaeknhZKc7QKboCryiP1Ijqxfjxi2VKh1aacbmp2VNYZhTxtnsC2jFNozo
	/f/iNMCOjFoFJnQJJcdFQ69fMJDgzc3frUXx5g/Hi8ESPD6iZWAW9Z764mt3GIh5wV3aKXV
	t0X9VnkZG8PaBahVKeJIMmJKfm0k18jOxCmOb7sPvA+Jo11o++jJxROa92NSXNR9ssAtSSK
	0UMEzj44QlR5zkEOMzW3bxqlWCoKbTfEjEwsPitTU+NyQK6Ep3/AuDqG35gmtMEDvKYZVG2
X-QQ-GoodBg: 0
From: Jason Wang <wangborong@cdjrlc.com>
To: oleksandr_tyshchenko@epam.com
Cc: jgross@suse.com,
	sstabellini@kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	Jason Wang <wangborong@cdjrlc.com>
Subject: [PATCH] xen/pciback: Fix comment typo
Date: Thu, 11 Aug 2022 20:09:18 +0800
Message-Id: <20220811120918.17961-1-wangborong@cdjrlc.com>
X-Mailer: git-send-email 2.36.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-QQ-SENDSIZE: 520
Feedback-ID: bizesmtp:cdjrlc.com:qybglogicsvr:qybglogicsvr6

The double `the' is duplicated in the comment, remove one.

Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
---
 drivers/xen/xen-pciback/pciback_ops.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c
index 3fbc21466a93..84e014490950 100644
--- a/drivers/xen/xen-pciback/pciback_ops.c
+++ b/drivers/xen/xen-pciback/pciback_ops.c
@@ -159,7 +159,7 @@ int xen_pcibk_enable_msi(struct xen_pcibk_device *pdev,
 		return XEN_PCI_ERR_op_failed;
 	}
 
-	/* The value the guest needs is actually the IDT vector, not the
+	/* The value the guest needs is actually the IDT vector, not
 	 * the local domain's IRQ number. */
 
 	op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0;
-- 
2.36.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 12:13:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 12:13:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384518.619900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM73j-00035Y-9O; Thu, 11 Aug 2022 12:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384518.619900; Thu, 11 Aug 2022 12:13:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM73j-00035R-6X; Thu, 11 Aug 2022 12:13:07 +0000
Received: by outflank-mailman (input) for mailman id 384518;
 Thu, 11 Aug 2022 12:13:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM73h-00033l-Da
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 12:13:05 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2073.outbound.protection.outlook.com [40.107.22.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e877c597-196e-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 14:12:45 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB4855.eurprd04.prod.outlook.com (2603:10a6:20b:6::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.23; Thu, 11 Aug
 2022 12:12:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 12:12:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e877c597-196e-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=njAWftEpHUuO8oh7JK0ep3Z54qBl8nNgPNQ5sXjQeILzdjkOicqckV3tTr4Q1l3nC4ZSKrXXQAbSz+UtNSaIVuFqsofnA/7VXOaWs4ZaTjaPiiLqPAkxOuUh4TTnPZbtVULozNJTvxy8t1AZonQjCbHTex/UMd3HPjg4poVtwLb6Yf9bM0mVJfAZq60cz9ZNs/RnS01bQVzOOKWrIJc4Nm3bOwul5eoTjl7houwwXr3j7RVkkIM9eCXFmWTo+ZKPmgNBJBVezSN7Mm4QFSy5YBarxQyRuyUDJIVaz2q4ycKlUBGpWCJ1P2n+AWU4fR1lD6NcVx3BAVeFcP0Ki9pHtA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=htI3QdfpY1q136MRu9rJ1V3L6ZgoTZTIELuLwA7EY14=;
 b=I6LOz6a146Lj/HqaqN0TjNMuBQDDSoNEBzyNcuwoRUrKi4H6F0HnhLq5qKpsp6NqnATy8sUDnYOgj8maevGBh261PMOP5i6VoFrrJ7Zgu8nn3AgrUYSOCEE5ZDb/8LJXT7SRL3L5dBw8+ixu/H0PvXA2w/2/UqrENWddJm+FryVf9VTbND40Sar6TLMBVSOAnCt46h+PaC75f87c/ERyRBI0Wp0OahJ6iALWWRx754G7LmFHdFWwuPmxnzTbXuFd0LhwZZ407+syT30I7RO+5+7vlmB+i8/sijHQ5mYm57d0EXoBxVIjYLwMdxo3I8TCBmUXMBjtbaclo78a8P2N8A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=htI3QdfpY1q136MRu9rJ1V3L6ZgoTZTIELuLwA7EY14=;
 b=yMI2CwxqeMH5+a5HZOvhjZiIzXLhL2nvsoFjatYiPnihoym0D2WHWnPxH5Ch10YFeTvqQJmRZvq6GEM81yy5UDR4U+1ncuGrnwRLtpQgTNlZJzFPx7GlfHFcV5Z6kNpG2bzsZUMQexG58NRgqCM0rytIcBd9cuoJTwHL5xaWOhrT81I1HL3BZcp0nqRHGkKdbZwFDrJrBlvz+6gEBR5aua6GgBwUvazQ4nPQoGoiXRWzltUo1Cirs4YzGdUnj87wIvVwMzm0wdji/V7STAwAozPrztTsOp2nkFJfW7jMPftQHGdikyoICS5zO4hWBvVJAIAMIjKTvOhV/ngPXDxdzw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <98c7b73e-0ef2-05ff-e150-cfc2f5506bd2@suse.com>
Date: Thu, 11 Aug 2022 14:12:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] build/x86: suppress GNU ld 2.39 warning about RWX load
 segments
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR04CA0029.eurprd04.prod.outlook.com
 (2603:10a6:20b:110::39) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bdd8bc57-5e15-4798-87d3-08da7b92d46c
X-MS-TrafficTypeDiagnostic: AM6PR04MB4855:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oY81fQIdcwHD0r3rqbrW5VdaUyQimoDarN825wBkau2Py3GslCIgmwBmO8ZICykAwQKt2egFUxtkGd0ULedYevFmIFkaIU2bmdRSOy1pcaiuOrRvAhppkg2dj+6+/Qeyj8EfFuHEnS0da6CGNZUSr36p3TMHYeUwCGwomJHK6Mjd3UaL5DMqqKRgijlfxAptks2fwthC4nNhbOETppCyI2CkbXsjrxSe1S8BbeavKy15dnEPCITyUJM45sCWE4ICrS10PCdDkPVxKTRmuZpT1kE4gQQjbtaQNHUPKv+2zPgJQzSFqpAvCK5tXlUfoLbVnjtdZobTQAaluv9Wp9nYdMY7hq9Ftu0QlIOHFmVjP/O1/WNXxI/7MiwhPUOlhdRJ0W2+EM/ccENvyD+/y5TRSpAw/uxSDabjMm9B7F9zTfRoXw3jdHDi2cALq/EgEV+F5VfIlPf1htQsL+1G2rNdVB7ZALdAXpXLUK76/hYBhecXt14YtBKchbNd+Hb4bcNHIW0Tp9PZfCQB/PQJEBd6LLXbAqBt1GvoaUPsEgfIrEkMoUTqFmjwmVKMwOfP3jyfBWC5QGMb94YfhEJ+c7i5+DAuvVDS8NkVjJ1Wt9kyx4xmcRjUV/IuD5SyHDQdzHMMsqPY/1hJE6hgXPT5p7mPzIGc4BDYYHJpOBNLUQgpVGsmkLgnaNpDRlNoAXoIdV339C2fuUAzT42LkMkKqUg3gNRvaReIipnDCt34FTEPVp/RV5QQsGGeIU5qJwqXS13lfbxB2EjA9Z2pvs6o8MAQC5h2QZf9PyCe0mlbmB9bUPX+Ib7Bcf4KzK67OhKsTRDfRx/1G4A9YAZ0ql5Cmpmb6w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(396003)(376002)(366004)(346002)(316002)(83380400001)(54906003)(6916009)(6486002)(41300700001)(8676002)(478600001)(2906002)(4326008)(8936002)(66476007)(66556008)(5660300002)(66946007)(38100700002)(36756003)(186003)(2616005)(6506007)(26005)(31696002)(86362001)(6512007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TmpyMVVCQnR3cmcwSHFhSHBRMWpCSXoxbXF0Z2NJMmFKOEtZSzBPTG8rWlZY?=
 =?utf-8?B?VzRuUFBucWtQS0w4VXVaRmhKczg0a01aV0piRzE5RkdDT2x0SXdHNUlTT0h4?=
 =?utf-8?B?Y0Z1RGViVFE4Y3BxYk81ZUM1Y25pZjBVR21keDBhV0ppYjl2Zi9jRXNFa2pw?=
 =?utf-8?B?WHFRa3o4ajUybjRCUm94YnE5eVVqd3hwZDBVa1gxNVJUMnhXTzgwL0dyRytt?=
 =?utf-8?B?Y2kya2xaa0Q5YVZKTWxhUU1FNE91S3hRUWVzVStGVy9CYnFBWjFHVEZHYlVD?=
 =?utf-8?B?UjNTSTVLeW10ak5mSk8vRnFmMXpJci91b3pTNHl5blJ5ckFXNWgvcFFreWsz?=
 =?utf-8?B?SVVuc09oQ0ZhK1QrR3VXQTFwMHB5S3hyNm10YWdZSDVSbkxZQ1FQU3JXUGlj?=
 =?utf-8?B?NWZGc2d5cE9qWXF0YmRmOFhCMThOVWZMZlZwc25uVkpmTytmTjZCc3A4bzJy?=
 =?utf-8?B?ZklXT3ZXTUt0THBueVVWRXNUTzRsamtWYURBWEFHZFc3ejFxbmF1RGtVZ2wv?=
 =?utf-8?B?VTVZNHZuZzYxeC9qREhDeEoyc2ljelVHSEdFYTlXQWJYM2UxUXVIcVhWbHVv?=
 =?utf-8?B?VlEvOU9GVHVHZTFFLzIwM0hzSEhjS0U1emJxS2tWNmR2VllER2Y2WHE1RmI1?=
 =?utf-8?B?Ri9WOUxZMFZCVTBQUno1NGFIUU5jdk5IZ0lCU2RZeGFGeW9UQVVTYjdSR1JI?=
 =?utf-8?B?NytTNGgwT1FFL3NCN2xzMkVLUTkreldqRkVtbERqUVRMLzZXeW1pbEVmVzJa?=
 =?utf-8?B?UERMWDV2RGpiRHpEcmdkbG1jOHM4a0wwMTVhQVNhUTNPR0xOaGpScEE4SW5u?=
 =?utf-8?B?ak4xSjRPSGZmV2lkNjNiSWwzU3RHdlc1c2RkTFUrZzBRZ0gybDdZMmNuZjRp?=
 =?utf-8?B?Yk1XUDhCdnQrYkZJcWFwMmlLKzBaUUMzQWQrdVBnS2VoUUJXVjBtV1BsTDdN?=
 =?utf-8?B?RW9ERXVUM3UxYmFFWWhyTTFjdkZPRnZDMDVnRityc3lYY1V5cDdjSmlheUFa?=
 =?utf-8?B?SG5nc1J4cjFSbWhMZzROSk8rL3BQQUh4YWUvalNTOHpuTGIxekMvSGpZSFdG?=
 =?utf-8?B?K0pTNkt2OE94YmVLWVd5RHRQVG5EUEV2djBRekRTK2owSi9ucDgxWk5sMW0y?=
 =?utf-8?B?RUVxbjk5TG1nMkdpRFc4NDZsdHIxL2lmK2NjL0Vjaks3TU1kd0MyN1dVZXZG?=
 =?utf-8?B?Tk5rUk1RVG04QWh0K1dzQzlsazZzNEErT1RJYllUWW1ublJWRWxoZ1RRMzEy?=
 =?utf-8?B?b1hjZ2ZzQ2s3Qko3OUtTUlVicmY2djVDNm1xNnE0ZGpuRG1CMVZ4YUJZb2JB?=
 =?utf-8?B?dVYxTzFWbGFFVFRUZDZRWDR3ZjdURE1FMFZaYWZuVWxWcmw2T1ZOemhjUWlk?=
 =?utf-8?B?S2xsNy9qMytMT0N1NVYvQWFKVHh2SEF5R0FRanJJNWc5WVVoQkFETWdFcGp2?=
 =?utf-8?B?YUpwM0xqaDMyb3RmczN1cm1DZ25WQ3g3U2xHVG8xZVR0bjAwd1d2OE5uVnd5?=
 =?utf-8?B?dmp3VTNIQWNvdmxTeFM4cytML2FTeG1UcFIwOHhIMUM4UjdRd1phMFNEd0pW?=
 =?utf-8?B?QS9Lc210MytybU4zb2dPRSthbjJWVU9INCtIem5yNVF1aEczTVFYMml5Sy9D?=
 =?utf-8?B?RGlPeW5XdFhZSGtETUFsVjJxUnFhU3hJdmdUOHFVT21qWjM5bmhhVndKOGpX?=
 =?utf-8?B?ZWFJQ0F4ZEIxUW4rYmlnYjVTbGVnVmtDRVplSk9KcEY3bmh1K0l3SnBDWUt1?=
 =?utf-8?B?YTdBSzl5ck5GM2VHVXdlYXpuM0tIVVU4YkowZnpkTzZ6TkdoRzdLVHNDbEkw?=
 =?utf-8?B?bWdOYjIveDJ2MGZxQ3lLNU1JbS9maVpmT3VFQmdxZnNqYytpNjgxemhMelI4?=
 =?utf-8?B?Ym1POGRxelFyTjVZOHN6c0wyMUpQUjl6UE1uREhPbXVxZkNLUG1NU0dYTnV3?=
 =?utf-8?B?QnBjQlBMZEdRdFI1K25iWlI3ZU9DWi9BN0s1Zk1VV204OXVVRDZ2dnVYMDNq?=
 =?utf-8?B?cFRJNTgzMEJXSE13d2hyVmZIYXlIMmI2cjR5Nm9QRUFJL09YQmxHdW1TaEV3?=
 =?utf-8?B?MWdVNnNiZ3hqSEVQNXJhK0tNMmJZb2dnK1BzRzZmRHpMUGJVWG9rYTNuMXRh?=
 =?utf-8?Q?gCSwTA8AfSMnc+rn4Jj3dXTTY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bdd8bc57-5e15-4798-87d3-08da7b92d46c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 12:12:58.7076
 (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: FbSGFbTMSZHCeowt8xbTjILlXUKtG8UOqSZBh30VyXZKSPyCKTLI60gDGavyBL37ZGXdIfrhhPuuGqCCnj5hmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4855

Commit 68f5aac012b9 ("build: suppress future GNU ld warning about RWX
load segments") didn't quite cover all the cases: Apparently I missed
ones in the building of 32-bit helper objects because of only looking at
incremental builds (where those wouldn't normally be re-built). Clone
the workaround there to the specific Makefile in question.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Because of the use of LDFLAGS_DIRECT (coming directly from the Config.mk
helpers in config/) having a central place to set this once isn't very
easy: An option might be to introduce XEN_LDFLAGS_DIRECT and export that
from where the other XEN_*FLAGS are also exported. The way it's done
here is the less intrusive variant, though.

--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -24,6 +24,9 @@ CFLAGS_x86_32 += -I$(srctree)/include
 $(head-srcs:.S=.o): CFLAGS_stack_boundary :=
 $(head-srcs:.S=.o): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
 
+LDFLAGS_DIRECT-$(call ld-option,--warn-rwx-segments) := --no-warn-rwx-segments
+LDFLAGS_DIRECT += $(LDFLAGS_DIRECT-y)
+
 $(head-srcs): %.S: %.bin
 	(od -v -t x $< | tr -s ' ' | awk 'NR > 1 {print s} {s=$$0}' | \
 	sed 's/ /,0x/g' | sed 's/,0x$$//' | sed 's/^[0-9]*,/ .long /') >$@


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 12:15:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 12:15:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384526.619911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM75V-0003fv-L0; Thu, 11 Aug 2022 12:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384526.619911; Thu, 11 Aug 2022 12:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM75V-0003fo-IK; Thu, 11 Aug 2022 12:14:57 +0000
Received: by outflank-mailman (input) for mailman id 384526;
 Thu, 11 Aug 2022 12:14:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM75U-0003fg-3p
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 12:14:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2068.outbound.protection.outlook.com [40.107.22.68])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2cfeff3b-196f-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 14:14:40 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB4855.eurprd04.prod.outlook.com (2603:10a6:20b:6::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.23; Thu, 11 Aug
 2022 12:14:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 12:14:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2cfeff3b-196f-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WOOXpVApNrSgBgt9wbX9F+zJeswgqm5hA/hF9kWYbaEe2PFszQHz6KSMXPH+5DhqvKCCTGwiKvpoP5L+ImMfzuRMstZ5eqiOBeBu2BWqUVKwolzgUVOpKnV4YObrCNdLqGFOCsT3y8anCczjs8X50tOQwAzCfucZRh691Mr7BpZ/yKQXU8NJYjp16BVTPvTwgBLcYgkx1R5UCPzR+rw0fxMhy1wj29L4wmAWvFiyjurf9Y/dtAI15a1Rt2T8CpHBlTsdjTB0VW23Dn7O3EJnQB8MOpgD81BRqy1nlR6YxuYPL81GOrOrEunuxX4TNOxCFbk770pVKrlCERcKkwha7w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pyFc4NWRO6qB3BSVKcXz9B1gIArA808DxqvfItKNDBs=;
 b=F2t3wC1XbqJ1OSxSD13NQ//7wnzFIec6gcklexFfWGATSkel1Sw/TYEVhj2YBXI8A5X4jxTc6TESEdMoAwplbb11oAKfv9W9KYiNvx55RBoATelMQ2ef1waHC+eliR8H0XS+NB3sjGGTRN+jCWJqK30ZCuUge/Xu7xAaQkhw3thJvyB7WCc6/sMJBEsBNEmDoKW1HcPTzjxaXYtlycxqtV3+x58BhPZPU+BvOyH5ENAnAyOJdnbwS+m6jsYKSSSje688RA9it1jrkcUNbuAkliUBgNRyRTUgUwRclKubE+gEcKVQJjV0wZqt2H+B/b6o/K1Y5mW9cxwBHMxAmpgqQA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pyFc4NWRO6qB3BSVKcXz9B1gIArA808DxqvfItKNDBs=;
 b=uwoY7eIHpuOcgyEgyS1tTdNhEeZBTtj9WfEsb3YNuHoUUfQ+A6yUajnKX9jmOGglgaRuQS+noe4DA79oqYDmaoBzcXG8mDM4YJzXsA3qZAF5v2gLPBizAOF8HVOB6QGNMIQtTKVe6AXEzVOwhisj64Sy3iM4pf74r4P/+1rKNFfuu0jFfG7QRXIiUG19mRk9Tfu8dhddGXrP8OV97DLkSBi+kLS+h2e5zPpwgF9vLoAAtqmmz4aUUJOLJOEeIels2u5+AyvPELYwGxTViteb578wkMVaB8ST8WUHW+IkE3FZw2wb5BLRLuvJEUVFqTp4isd3qWeU0x5a2PY7k6Ob5g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cdaf00fc-d0ca-988f-565a-1fef3ae203e5@suse.com>
Date: Thu, 11 Aug 2022 14:14:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] config/x86: tidy {Free,Open}BSD LDFLAGS_DIRECT handling
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0746.eurprd06.prod.outlook.com
 (2603:10a6:20b:487::26) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 82cbebd3-1df4-4125-c921-08da7b9318fb
X-MS-TrafficTypeDiagnostic: AM6PR04MB4855:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IR6nLaXsZuW/KN/lgoRkuZL+p2CiIGRyeZSGlczlnqKC/q+AApONZuZ+3nz1vvfUyJ3Zl96XByaUXo9onE34lajIxlPPl1wA5pgZZ5fCSx8Uz2mTFp7aE3USitLq9mRExERrwKilI4YfOGcFS85C7JtyqCkmQ8/iV1bLr2/CxjRHWs3KMYmm4Z3wZJGGLXTtAV2oMi+lnfkrBrOLQkv6vlIqRIYozF9rtKmrw2L7CsoUIIZUxn4Wu2E7ysQaqWXYnUMoP3LQL9zT9GkqHXOiljFN9t5ok6+A0i39OG4F1X9Badt8O34nwoSTOWxaQjWEqV9cOhqrWuyo/eohSqUVTMo1vaZNCay7ZJewm8oJgFVBMryyHpGQgwTUNv47lEyrxxVYAi6J5V/zm6w2Mi0LAXsh/7GJwJoe7IcZnZBeQQLlxqT2MS2azGURd/q2MAE/wkvRMqNxlaocR2fjsn81c5DJISQ/HqYtsYVHidLC62xl3ZllAO+G44JWGc337cLlA1h10zVlXWurmb+d0kJmEpAAlFPvZ3slMifo7ZxEevQQBb6ndzzHf7tdX+VVBHw+XXEN8VMFONI/MwyhZ3vMSInDT4xbVbMmlraQYObhLT7jwSIN9pB/xUjjHh0YeGZTE7vcxhLU4VJzAxGofUQqJjCNA/+eSUmupqdM7UeHSVB5MwP+1qe26CBVwjbla5CgX6/R7AdZqXIGYANaKGF3/jebyLVT6jTKX9CmPPXQ7Iy/r/cYCzIleGJ1NLtcPl/LGI9JFyFRU+8+9y0us5B27PT2f59GsHY76oDskZhuUhpv1fK/MSZpnumuWIkNqvcgrkR2GzuZv9CEzC7YV2chTQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(396003)(376002)(366004)(346002)(316002)(54906003)(6916009)(6486002)(41300700001)(8676002)(478600001)(2906002)(4326008)(8936002)(66476007)(66556008)(5660300002)(66946007)(38100700002)(36756003)(186003)(2616005)(6506007)(26005)(31696002)(86362001)(6666004)(6512007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmduOFg4TjNoME14aGNjVS94dFBRdVdwaGxHbnlXWnhxeTcyZ0MrZFVaYW9X?=
 =?utf-8?B?QitDSmJCd2RGZXFXd3JiU1I3dnRoakRSTTFYdld3Wm1Na2NBdDlhZE1lUlMr?=
 =?utf-8?B?OGwwVTVOTWFzVFBabFVQcUJMVTNGc1QwZ0lPRjJidmtKZ0dLa1BRa2RzSWtN?=
 =?utf-8?B?ck1Yc0VZOXFWNTVPallyR2djUEdtQkF0QVJQaFhOc3IvR0lNdGJaMUV6Mkc4?=
 =?utf-8?B?ZHdscTRoUWJ0cnhFbXkyckRrMUdDTE5mTEZMTlBUdU5WMUNjZ1pPaEZTTjlx?=
 =?utf-8?B?aVJpMnpodnMyMnJiZ2tFMUUrbUt6ajY0NFlxZUJ6dWpZSGpLY3RKOGdEQ1lP?=
 =?utf-8?B?aU1XNkwrYjk3K0FpVXA2MHNQRTZLcWFIRkk5UCs4R05HVWp0SlBrOXVnaWJJ?=
 =?utf-8?B?TzVHREFtekJiSUs5K2RuT3JseFVzVS9HTTIwVm9UYmw5M1R1VjkxRllicE9h?=
 =?utf-8?B?UjlsS0RXUUlKaklsMXVQV29JS3hNbytPc3lqK1FCZHJNSVlBaDAyZm1rdzQx?=
 =?utf-8?B?SWZlUllwSngxUE9YRTJ1VEJicGtNVDVyZWFXTlhPRUEyMTJJV3lZVzdlSnZm?=
 =?utf-8?B?SDFFOWpUWUVwUSthRkZLalIwOHlZYXlHb1ovZlNyNG03Qy91MElEaHRzRUNj?=
 =?utf-8?B?d3lnclN0TDNCTXBTRDRNQ0dZd3FYaEpYMnVqaG0wbUdRVXNnR1FqejdhZzd5?=
 =?utf-8?B?aU94YlVZc2ZULzVSZUlJWDdkQXU0VThrSERCbTZNbFpUbjViSjdhMjlhTGgz?=
 =?utf-8?B?SDJPMnpLZHByVGNLaUdUaDJuWEFhVUxRQmxBVi80OGc0YTBIR0hkdVFMRUwr?=
 =?utf-8?B?VE9Qd0E2cllYYitFNzdrdWxvMXEzRTBmM0xNNFExb2pBVVpCN2VWOWRiallq?=
 =?utf-8?B?Vk82L081dXExR1FSd0ZjT3lHajZDSldaRVAxaUpZbm5uZ2IrczdWOUdLRFRs?=
 =?utf-8?B?Wld2aGZEZlljOVhjeVZyaXFEN3N6RlBiQndzbENWeS9MTkJ5ZHF6SHFtWU16?=
 =?utf-8?B?WWJVelRvSDNicDBaQnE0QlJsVzBtaGxuMjlydVh1dnQwVHNNQ2t4YkFQSkpz?=
 =?utf-8?B?a0tWQW5jalZqYTRHWnR5ZThXbC9aOWlQdlZLMXNMcVBMMm5hRXAxVlF5SFVj?=
 =?utf-8?B?dWF5MzVtTFNBQ3JBeXA4SXowMm5nT1BuTHc3dDBmNTZQQndZSGtseWh6NGVF?=
 =?utf-8?B?WlJXekd1eFlubTNIVE5wQWJMWnNJTTliWHJOeWw3N1VmRGFTQWdvWGRMVDlQ?=
 =?utf-8?B?RmY1dTdDcmk3RFFQeUYvcFZDMS9NTS9iRXdQZlZxaUtiL2VvbElCQ2xXdFMx?=
 =?utf-8?B?QkFCRXZyL3hhSkdwUWg2T2pCRzFiS0VpU05vOUcvOUliZFZhTnFQamM4eUFQ?=
 =?utf-8?B?NHZ1eVBJUXpsMDZRNktGTy9yZFo3Y3lUZmxaMUJEdlB1VDFVeHhHMkYzZVV1?=
 =?utf-8?B?QUxML1gyMHJsZ0dYQmc4SHFVSTlxYndyKzhDdEYrSEF6Tjl0M2dXWm9Qd1FM?=
 =?utf-8?B?N1BSc3VGUnVFNm9qakxFVVNORkdWY2RZQjZ5RndkWHpINXlGNWRpOUVkSzE1?=
 =?utf-8?B?djQvU3RJNlZIUEt5MWJUYVRBUmgrb2NJaHRvZGJJUDVESVo0WUp3UDN2bnZn?=
 =?utf-8?B?SDNwd1l1R0dRaVd1R0FQckJnaEt0cW1PNVhpRXZQRGNsbDg5NnBubisxV2s0?=
 =?utf-8?B?SHJ4ME41Ky9SOUFXNzc4dWJmeWhGYnhqZWhQUTRqTzRMSDFrcmtFY3IvUFR1?=
 =?utf-8?B?V2tsOU1sbktUU1Z0UTA4WjhmaE1GWmw3dWlkK1FMb0xrbVRwa3VaN2Jwd3Yy?=
 =?utf-8?B?Ym1MK3IyaWtHOGZjcUhUR2RjbEF6alNNUTZESjViTjI5N2JuZFlkMGJpbjZO?=
 =?utf-8?B?dHRsREMyUERzbDc0MWVVQWVpbC9EZDZFUFprZ1AxUlpPT0RDMTRSRjNkZnZM?=
 =?utf-8?B?eHorUGd6eEk3My9iZm9ibXhsOXgzRmRRM2RVRkU4L1JPeWc5eElyZVN5Rzhx?=
 =?utf-8?B?NWpLM3lCa0hMeHF0VFcvK0hzaVJSWCt5cE10SkpEYkNrTHNkdVk2UlJGai8r?=
 =?utf-8?B?dEY3TVl3S2VwZ3FNQ3pJUjAxd3M3TzU2OWJHYWN4S1pLU3RGblBSdDlCRHRi?=
 =?utf-8?Q?PKbf6YVGeWBKQHwdxh3hB+NWq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82cbebd3-1df4-4125-c921-08da7b9318fb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 12:14:53.9346
 (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: +b0xJktd5b1TLEwOuiB/qN9rpSHFw0Ms59jBPoV3pXPpNrUF1Tde79IieAy7tHJisTtXn0d9+HxSmCd2050iWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4855

It's not clear why for x86-64 a different approach was used than the
(shorter) one x86-32 has been using. Move the LDFLAGS_DIRECT_*BSD
setting to the respective OS files and reuse x86-32's approach for
x86-64.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I was actually inclined to go further and rename the variable(s) as
well, to e.g. XEN_ELF_SUB_FLAVOR, at the same time eliminating the
indirection via $(XEN_OS).

--- a/config/FreeBSD.mk
+++ b/config/FreeBSD.mk
@@ -1,5 +1,7 @@
 include $(XEN_ROOT)/config/StdGNU.mk
 
+LDFLAGS_DIRECT_FreeBSD = _fbsd
+
 # No wget on FreeBSD base system
 WGET = ftp
 PKG_INSTALLDIR = ${prefix}/libdata/pkgconfig
--- a/config/OpenBSD.mk
+++ b/config/OpenBSD.mk
@@ -1 +1,3 @@
 include $(XEN_ROOT)/config/StdGNU.mk
+
+LDFLAGS_DIRECT_OpenBSD = _obsd
--- a/config/x86_32.mk
+++ b/config/x86_32.mk
@@ -8,8 +8,6 @@ CONFIG_XCUTILS := y
 CFLAGS += -m32 -march=i686
 
 # Use only if calling $(LD) directly.
-LDFLAGS_DIRECT_OpenBSD = _obsd
-LDFLAGS_DIRECT_FreeBSD = _fbsd
 LDFLAGS_DIRECT += -melf_i386$(LDFLAGS_DIRECT_$(XEN_OS))
 
 IOEMU_CPU_ARCH ?= i386
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -14,14 +14,6 @@ SunOS_LIBDIR = $(SunOS_LIBDIR_x86_64)
 EFI_DIR ?= /usr/lib64/efi
 
 # Use only if calling $(LD) directly.
-ifeq ($(XEN_OS),OpenBSD)
-LDFLAGS_DIRECT += -melf_x86_64_obsd
-else
-ifeq ($(XEN_OS),FreeBSD)
-LDFLAGS_DIRECT += -melf_x86_64_fbsd
-else
-LDFLAGS_DIRECT += -melf_x86_64
-endif
-endif
+LDFLAGS_DIRECT += -melf_x86_64$(LDFLAGS_DIRECT_$(XEN_OS))
 
 IOEMU_CPU_ARCH ?= x86_64


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 12:16:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 12:16:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384534.619923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM76u-0004GN-Vm; Thu, 11 Aug 2022 12:16:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384534.619923; Thu, 11 Aug 2022 12:16:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM76u-0004GE-Sh; Thu, 11 Aug 2022 12:16:24 +0000
Received: by outflank-mailman (input) for mailman id 384534;
 Thu, 11 Aug 2022 12:16:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aSs6=YP=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oM76t-0004G3-9N
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 12:16:23 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2046.outbound.protection.outlook.com [40.107.104.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68e0881e-196f-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 14:16:21 +0200 (CEST)
Received: from AS9PR04CA0082.eurprd04.prod.outlook.com (2603:10a6:20b:48b::6)
 by AS8PR08MB6792.eurprd08.prod.outlook.com (2603:10a6:20b:39b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Thu, 11 Aug
 2022 12:16:19 +0000
Received: from VE1EUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:48b:cafe::fd) by AS9PR04CA0082.outlook.office365.com
 (2603:10a6:20b:48b::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.12 via Frontend
 Transport; Thu, 11 Aug 2022 12:16:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT010.mail.protection.outlook.com (10.152.18.113) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 12:16:19 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Thu, 11 Aug 2022 12:16:18 +0000
Received: from 68ff7bcfdab3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 78E9956D-F1B0-4531-B7DF-BFE62C6D2EF3.1; 
 Thu, 11 Aug 2022 12:16:12 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 68ff7bcfdab3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Aug 2022 12:16:12 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by HE1PR0802MB2249.eurprd08.prod.outlook.com (2603:10a6:3:c2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 11 Aug
 2022 12:16:10 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.022; Thu, 11 Aug 2022
 12:16:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68e0881e-196f-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Zry/3MLXG9LYNCngIIRJTyWuuSwLatCRsi9lNKs6N+4Y/JLVw/n8FWDVy1KFyAkCdH0iBBd7Y0hj+1E8Mz62S4n6SQQPVoqqY1MOq+CFCNnP01gxJFg7Ki51WJ9qe4EuWxfSBiVFkCy9Lloofl60nV2MBpR41cYaVHNk2CjqwCmoetYpbQMQWm/2D3FqcN3LFufVE91wZB07tMsz6NMSv9DX7mmabdfRQKGKrMp/c2ELHwGofpqVZHC9TSC8FftpsL9Dt/HZhamnuBQguhEVAfh2sYYTHqyNjHcBd8cuwWx7ctnuJ9PP0Ot8EZivSLc7g01qwyxGDI3aFFUZ9yjeqQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ntNMEI9RvxZNZvuyFVmvPxT3D8YQZGQ42cm6G796zYU=;
 b=NbGaXG5pE3ITU9bfEPKPXmHoeJFdO4TmTriHp3yHMJAC2gD5YyttlvgHDbLzoD8vwbKhAH03toTF4u/wVT3oEuwE3+m/YQgJi7xnJbUvkcTWss2fHbdaooSMvSVUM6f+r5oMaR8qH75eAVPedxZY8lXmzArDla3VaYVEpOFHBbbDUmEjUafBpd0bQYj3fJdSZP++KKC1YShRgLSHZj+cOt1wzh3Fg4caRWhN7CJaQdgLETX4JN5JGIUTlIMAYGQJp2cM9w9Y4uSxfuKOvd08dyMqKDhcPB8bHr6thm2w1KuF//pe9Lz9niTPDHbPBBahof3xWnMKG6YiLbK8zSB65g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ntNMEI9RvxZNZvuyFVmvPxT3D8YQZGQ42cm6G796zYU=;
 b=RzBWQBO2pD8boO3vekhkTWzs8PV9CusaILpZ8XrbwyJxJKWEgotEQGd82KcmDPiDHm+ehU9BAiLbNDrNHvbri9Yng4XG7ThFK15h1Ny810Vlz6Yi6p9G3xqktySGoR3Y+4VNaDMJ1ncC00Npp+i15cRU+yuFJXSHfuHO/JSx2Cg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kb2TjS7XY52kFJdsN4/b15YGE3WLeL5qvztqr+1kbReBIxZUxyzNVvXmNZEm+ZXCeb8GQgbKm3neUmM517ApaoYAi+5IKf9qxDrPLij5CQe2Kul+9BhcwRLeCRC7QhsDung5+vJhaDs6wIIaiSidBpagSHTfPONltocialvj8LhVE/4QmjFCVN0W70O8a3bLprW6z4OCSthmkiATopOGFadTrXQGbfMbUme5G3KpfqgzhI7PcMkM9qF/XF6usjJiicPzvSs/o4xUrjyKsuuAMv/8rVKbQQqQ05Krur6nnS3A5qsyaxNO1O5sMoGGi51M8QzunLPKMxgutJLCHgKoVA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ntNMEI9RvxZNZvuyFVmvPxT3D8YQZGQ42cm6G796zYU=;
 b=Am/6zBibA7vPU6dMcoIrlYHqqxlFvkbMyOxc+FGyj7MrQ0YZnoBv0C2ujD/RbOa27c9aMcUeZBsLFWbamfFtBVKaNY3ByMoU3RY7eApKDPniV5HXF0bBo98JUMSRodYvUOvJcDQ4Lak2XTBWRugIrDXIfW+IKsImknXxn3JMC69TExPN5ceDYJn1k5995bkoIW93jSCanKWoQ0xLyK1E4l3hRq4nZRRtHxfpqKfc06ZtQefTTn3+SGWz6AkWtSg2PDaCPNpo/o070aeJYbwIP83rEtRBtwQ5Jp4yMCw7dixB5t5bAdS6jxIwzU+wCnOvKtmT/FcDGNuAX76hJ5b0QA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ntNMEI9RvxZNZvuyFVmvPxT3D8YQZGQ42cm6G796zYU=;
 b=RzBWQBO2pD8boO3vekhkTWzs8PV9CusaILpZ8XrbwyJxJKWEgotEQGd82KcmDPiDHm+ehU9BAiLbNDrNHvbri9Yng4XG7ThFK15h1Ny810Vlz6Yi6p9G3xqktySGoR3Y+4VNaDMJ1ncC00Npp+i15cRU+yuFJXSHfuHO/JSx2Cg=
From: Henry Wang <Henry.Wang@arm.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: Community Manager <community.manager@xenproject.org>, xen-devel
	<xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>
Subject: RE: [PATCH v2 13/13] CHANGELOG: Add Intel HWP entry
Thread-Topic: [PATCH v2 13/13] CHANGELOG: Add Intel HWP entry
Thread-Index: AQHYrO+y52qVsVi890iQZz0G1Doa+62pQ74AgABNzICAAAx+oA==
Date: Thu, 11 Aug 2022 12:16:09 +0000
Message-ID:
 <AS8PR08MB7991A292BAC47CC3C1EB51C992649@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
 <20220810192944.102135-14-jandryuk@gmail.com>
 <dff3fc03-8d94-7ca0-512a-501ed71dcc48@suse.com>
 <CAKf6xpsrTsmUj9+EO31FvY5xB+fnsH8PvQm868s5xO8tcG-OJQ@mail.gmail.com>
In-Reply-To:
 <CAKf6xpsrTsmUj9+EO31FvY5xB+fnsH8PvQm868s5xO8tcG-OJQ@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: CA7EE8F3C1F34745B45FE8C820A77389.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: af2465a2-e7a9-42f0-928c-08da7b934bf8
x-ms-traffictypediagnostic:
	HE1PR0802MB2249:EE_|VE1EUR03FT010:EE_|AS8PR08MB6792:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 hYQTSyhE2fZtKrXnWn5qVW7irTJiiG+VTg37FH8hcuonl/eqyDQrpjAzjkRZcOZhpokU60FdavmrKTAdH4YH60dl2ABZ9eGKof1w7G9CGVGWRdWQPqK6zqmwaGprn8Mp0TSP9LhWz1b27kvwRpmARs9+TBny2u6n4qyX7VjI11Bt60oNOLNPAvjVudKptsKEgMslEeYZ1WXwKHr1HMxK8S/SgsmLT/IVFRYT9/IcIRma+vOLmQYcWVON53ecIkIkZETQXol11JowURpZjYg9GdVQ+NYbqhDbYZhgmV7k87FU5MCZ/iML/7M28XS+X1lAAC/Ft+OgkKjDDFXMNsNqd4rQInfw3svWAjOVzShOEcH77vNRXKcNyfKYGzi6SzIp2MIzpoxvNpjkMypcW4HOSqANq6KnRH3rzQ5tZ8cx1DRY8xCEcxXSygpMndH/lNtDoqmnu4zdoyALIMj4pWZEQmQN0zxOz9Mah+MkaO5jsjinRfHU83qSULckxmzGo27PPk+gqC5EP/bZHm+MvvJUPKBy/F/n1VHs6cC9fORfiiNp84TKl0FWep6vYIX/nYN42Why5gCt9SxyeCupg1yooTEVPWOzD63wq1bIHORLOgPIXTZ94pWj/SGIRjxUNjeOnbii3QGMsKD7IuuFHGdAakeVGeJB9DDKgU0QSRsSeCb4ialYpIOc87uWipcDt3BGbukqEFAChCBU6aqKXSCSOkf0pmAZURN5urDzEgcivGB1Hb2JqxTJwW/T+YG9DeYAO6BQhcPMTTMkMoiZ7kbzM7mpHLulNP25EfMh9HTrwqTbgkRvEu53YD5s1adZy3poitMlxWZImmqBx82kr1HTzMzDtZb9XhOlMLRkalGCXTUtCQSn+pjkiOSKTs8kN38m
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(396003)(376002)(366004)(136003)(186003)(26005)(8676002)(66476007)(9686003)(66556008)(38070700005)(316002)(64756008)(76116006)(4326008)(66946007)(7696005)(6506007)(55016003)(54906003)(86362001)(66446008)(8936002)(71200400001)(41300700001)(478600001)(83380400001)(6916009)(122000001)(558084003)(52536014)(2906002)(38100700002)(33656002)(5660300002)(59356011)(207903002)(219803003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2249
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f01a266c-c891-41d7-c2fc-08da7b934671
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Fs/tdqIrPnZoSdi0tRXMLB6keDc3Rr97v0zGCq2y3apkGBKHrVuR3ePxtjHCLMNysD+mZe1PvQRbOyqNHBdpxD3beK7JaMuiT48waGnoPFvhlM3iHq+WKc+hM3R15sRzSVXXwbZlSsSwayolazw5DNY10fZ+9l0STxYuKzO6Z8APKM5iujpNF77Ncqd1q9juNQl+OhYBLDRB32TbV9LyQnIbqmb++5lEXHEQaoowTCpdhA8+O9XLkwUSVRuTH42fCN2VbogYqm1xnuB7QJVtXbzILVEBRJ/351t8YtlZefL1aH9dhhhPBvK3Nio+FwflNKxRXCVQoSAC/s1jwmO4MgWs7o2tj079rn6bUbQWdcqsDAJwbjTVi1Z8T7kPpT0N/a25/XQ0y3J9Cr/B6YT0Cv6P2pRLICAVyiR6So98iKo1fpyQehCVAj1y/yinqxdVUp+MH18LSvxSnS0Qp3RZv4rgsVADBvBZ7woEttoAn2waXp+AUPGizU3nuEQXV319lUhoscHi1wLZS+vnwFMGEfY1s6kBeustav2K09mCpB2DxVGq7KckMtJ5TrklP6z8Q8P+Z8sfaQU9fXFpVMFFKws362sfcEzDF4a1WmJXVw+OSHt3522hZId2JpUKLG9TcSrjyUw+QAMMbY311wfkubBYsC+NLjB83x0aek8ZqyTzKuqrY/nZJ52uRULIZ5Z9EIK6oWKfvs+Pz5cbiMLj1QrIDyytMtirbj3X2wUH5yjDaO8ogqBTI5oitnG6Rl6sVlcQzFal+vm9WVct+2vlOPpualqscUv3KBlmj5SfqQrnlChTaT2CHnNCyn/NsVBsa2QxGb+8hL2dvNW21PgXvHIJjV1ko+Vfaq1Qe9LDWKXYGJkwlLpLVP9AtpR89tl4PTmblU8v2FXGrn9E8sevHw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(376002)(39860400002)(136003)(36840700001)(40470700004)(46966006)(6506007)(26005)(54906003)(86362001)(9686003)(186003)(7696005)(41300700001)(40460700003)(81166007)(83380400001)(107886003)(82740400003)(356005)(47076005)(4326008)(8676002)(36860700001)(82310400005)(33656002)(5660300002)(2906002)(8936002)(52536014)(336012)(6862004)(70206006)(558084003)(55016003)(70586007)(478600001)(40480700001)(316002)(59356011)(219803003)(207903002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 12:16:19.0243
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: af2465a2-e7a9-42f0-928c-08da7b934bf8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6792

SGkgSmFzb24sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmFzb24g
QW5kcnl1ayA8amFuZHJ5dWtAZ21haWwuY29tPg0KPiBGb3IgdjMsIEknbGwgbW92ZSB0byB0aGUg
ZXhpc3Rpbmcgc2VjdGlvbiB3aGlsZSBrZWVwaW5nIEhlbnJ5J3MgQWNrLg0KDQpUaGFuayB5b3Uu
IEtlZXBpbmcgdGhlIEFjayBpcyBvayB0byBtZS4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0K
PiANCj4gUmVnYXJkcywNCj4gSmFzb24NCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 12:19:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 12:19:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384543.619933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM79f-0004yE-Go; Thu, 11 Aug 2022 12:19:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384543.619933; Thu, 11 Aug 2022 12:19:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM79f-0004y7-E2; Thu, 11 Aug 2022 12:19:15 +0000
Received: by outflank-mailman (input) for mailman id 384543;
 Thu, 11 Aug 2022 12:19:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM79e-0004y1-9p
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 12:19:14 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2045.outbound.protection.outlook.com [40.107.22.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf7d92a6-196f-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 14:19:13 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6408.eurprd04.prod.outlook.com (2603:10a6:20b:fe::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 12:19:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 12:19:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf7d92a6-196f-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oijw+qy+lo+ibc2AzNyWyAzabVp78IZCIu8vgCFeO4PgLpE78XVkXKQnB8NDh9iQd2SYVermtht8SkQU97J6P68qsiKx0C/ojN32Deu9CCWPV9SXEP2Q0QllZ2mL60slO+sNituVwgwKSgI5oiEgScJ1gDT8MBoE/NWn0+ZYjqzklSV37rBAY8KfplV1nvwvpop+S+CBRmOYQXkq1Zmpt4mVQbLeqz96nm1fHr8joAh53ExBmgj9lnYO9TWkO41v7vXmcvFn8L+SjM8slo4MPD7PQ33uXF/QpG/X66NppPgPRA2ezetpYgbweEZIzODTmqTklJJuP8Zv0g1V4MQhcA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vt4YhZ+VsFMAnXlFl+BbRUtWC73QOZDgvmRBY//Bzks=;
 b=WId0e9fW/zEj+Ieot39LyfBO1Xe3pjGCTDE9nJVdE0BcLdGnMk9RgtEaJfoBS2pa4UCjZ/UcHwlbjhijJYqHH6oCBfnrlmBiUAm03cTTOr43+HOSqytgB6lrE98tCxQ5/4RhkUnodjLJM3NPGwvtSXv3NILho13T+5VZLrBlTxBws+fq7F95nJZH9R1Ep+lgrkq2xA1UScylmuli/NQqZnr1em6NIWKJ0BwWdlSFoL+VrVGvt7gVOw/DwVT0zr6uJErJBIJtOXz927Y8AHIyarrplpmcdx3+YTKjzZDbeCIpeXgoqUAPcZZxCSD2n3t5/40VuNQ8YuF0UvT6FtHYuQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vt4YhZ+VsFMAnXlFl+BbRUtWC73QOZDgvmRBY//Bzks=;
 b=suybSlTu2k38iXBFQlZgsmCT8EHm/D2UNtqMMlXGBLoRQ+UasRXG0+z3MRq/Ab2BXa8lIZjjQ4+Sx7AaqYJtVnekl6Odg/CEuXx1JEHMiUmnaq8IrqpDUBvvhDs0YzlwOVvd0BVvmNQ2Ku7YBN6V6Gu8ZDavGEm+4XUeDPRu6kbc7J1ETjWobIcZOW+8zuIa1hempty4Z7+Cy5I0rjS3X/VdVuDIT2z4IFfkY4/CGo79w5KP8L1Q5wcZwX2ef+s4TYFlPXvW9kCXvpwmKs9NAdrqbvv94/4bZw3TrU2oEOh+rRhEWAdrmf9CE+EH5ecPf/dCG/UrfEmN+D2oQO08SQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a74707fd-9ad1-3541-00c7-f0f91e9af4eb@suse.com>
Date: Thu, 11 Aug 2022 14:19:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/amd: Only call setup_force_cpu_cap for boot CPU
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20220811105956.3984262-1-ross.lagerwall@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220811105956.3984262-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR07CA0025.eurprd07.prod.outlook.com
 (2603:10a6:20b:46c::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2fc34293-2aa6-4b53-1971-08da7b93b28a
X-MS-TrafficTypeDiagnostic: AM6PR04MB6408:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ubSKYMhT/7ZfUkENa6V9Gfi6n6dWkR2bZXQtf9FnTU1PaO9+ZHMhYWe5ueN3pYJ0mjecz1Ldo+PumD4QL2FqRjsA+PsoMyMsiq5klWeKbnBrPA9bMAsvlDcFDrkv6RV7smnQ3oxKS23J+7KSAgwcsY6vVtmf+PVhEyFfI2BLAmMofZtdup4j6NDLwcqYcuG2DKkKiG6H0CEleSVXyBfsDuUxG1ljWfwBxojFEJTdjBkwX2QIWXwwX+GXy6cLsTJSFtuX9ASUyTkORisFcRUWeoT1GWemQ7f8qm3yzpfMEJe49/SFD/NITvjP/u9IHk+o73l2cGmdORQZd79GkkM8SyjqX1gs8cNVn9nk4lNBFO3j1N2hilo80P6Hoe7U18MUEiRNhkrUQIOQR9R5LVdI7YII7NJAegvqwPviJjYFsJ3O3bYC93+m3oTe+krgOxfDUN7I6aLvHoCXD1vJT8+S6qIwi6DPaY++cQol+bprN05OYM+V64TS9EpCiCP/IE5Fjp5dUi6keN92QEaaqKf6MzgHzAXep7Jq792WKcXkqI2+ldsgErqiQAzgVLidSmFB9CROZcwytrXkTP0BnHw5k+Bv82PuWvwXjiWdod/DWMK8TUvEW5URzkbPWvHqrEwICZLdM4+juX0eZjqL6NcX+J67rcC/pCcoI7SpVFJ2tj+1bKOhs/5MPY56pd2Cr+xDGkTk9haqdvmggjoYifcp0I9LtK7Ocgzs2YNt7pCZnSf0FBAUehbmogs7B3xesOG0MOyqnfdy75opwC34VfMxY3YNmrGPd0hI4vb2hYWZfj+XDcdcfaxOXaEWZdKNjGbb4/XMT3TwhJ4aikLhBT36MQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(136003)(366004)(376002)(346002)(186003)(83380400001)(38100700002)(66556008)(66946007)(66476007)(8676002)(4326008)(316002)(4744005)(5660300002)(2906002)(8936002)(6506007)(41300700001)(2616005)(53546011)(26005)(6512007)(6916009)(54906003)(36756003)(86362001)(6486002)(478600001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUlZR0ZhUEQxS2RFNGJ3SklHbWZwaTVUb2xhU1FoTGdnb014QUNBRVMxZWVo?=
 =?utf-8?B?d3MxTTRWNHhkb3BKK3JmcFloa3RLR1FUQ291SGZHSThZbG5rdFFiZkFxK0kv?=
 =?utf-8?B?QjFYZ1RpU3ozbXR1L1lWdUU1VjE1M0MyZzFWSGZLbVJYU2xuN2ZiUHdrVTh6?=
 =?utf-8?B?djVnYXN2aHBmRDNLUFg0Q0c4M3p3S2ExQUtBc05NUDN3YXlDWXBJS2JHZkZB?=
 =?utf-8?B?a1NCMkxwT1FzaHloS1BzQmFzMGhkYVRRSUZublVXQ3RGdjVEMG12RTRLaFZN?=
 =?utf-8?B?S1ZVRFhaenN0UkQvbHZBejgzQlFPTmMzamVDL2UwaFU0VVpLbGpiV3l5K2pY?=
 =?utf-8?B?azJJclRFQ0c4NVAwR0gramJBRmFWRGZCNjE0U3k5VHFiSzVFUTFMRGhWZTI5?=
 =?utf-8?B?Y1lvc2I5VG5qdjZHWmpybHRkaVVGUjIzdXBYaUMrQzkyWUc3RHNzV21YQmR4?=
 =?utf-8?B?TlRpL2RPTTJnak5qaUd6cWtmUEhFNXFwYUg1L1Mzb3lPY3RaeUJwSG9wZ0RE?=
 =?utf-8?B?UHhmUGlYNTM4TWpRc0xzSzVqbklHK2tGb2l3WEhCUUtVdW5JcExxNTJTNTBK?=
 =?utf-8?B?QlNyKzJzOUtUWVdJZWJEd1R6VTJZSUh6anFIdm80RGU2bDhLeENha09oVXpE?=
 =?utf-8?B?YnFOQVYwaWt6VnlTUGpwZ2hWa0p1cTcrMzhYUkNEWlc5OXprdllGelkweGdo?=
 =?utf-8?B?RGd2OUFrTTBsazcyNmZtY0lvN1VuR1k0M3JwTzIxekxoZE5ON2VRTFFndEZu?=
 =?utf-8?B?SzRpVm9NOW5IZjBnVEhjSERRZUZQdC9sRStDSmJuL1pCZDJxZGpNWXpTaHRW?=
 =?utf-8?B?OGJ4cnJWTzhDd25xNUdrQkZDQ3MwY2REMEpMV29uUlVUaFVLUFkvM1N1Ky8v?=
 =?utf-8?B?Q2JzY2lxcHFQVWpxU0JJRXYzR2htUGlLZEVGOHRGNi9LaHNPeWZqWkpGZ3hZ?=
 =?utf-8?B?eXdtU0dVbTd6R1d4dTloS0FnYlZsQlRLVEpaT3pXVG9mbEpVdFlnSCtEcU1u?=
 =?utf-8?B?dFFISzYrdUdkaEp3akVDMWZvSEdqUXdpc2o2aVVaRmdjaGxGa2pPTlpIVEwr?=
 =?utf-8?B?Si9CeVZOSW1ERWo4dFM1Z2xHd3FmdDdZd3djaDJZMTZXSjhLY1pXQk9vYXVa?=
 =?utf-8?B?b2JyV2cyZmxMTGtGUjMzUTZmM2Fxcmg3OFhLUU1ZR0tNOU5oNEVFRG1Sb0Zz?=
 =?utf-8?B?Q2VHbWhMZmMxMG9SVzJlL01jK1ovUjlTVHJyS3FkZldQRjdLMjY3WGZHYWpr?=
 =?utf-8?B?ZDN0T0N1VCs3aVNVWUIxcWFDQUtqMXRzcDlWZk1IdFdETTNpaXE2NmFCejNS?=
 =?utf-8?B?K2hieXVuZnFiZWs0MFFwZDZKSnNaRXZWR0tVVGhwd2ZSTjJRY3U1MEZlQjdT?=
 =?utf-8?B?YWNyMHZHQzNacElpc0UzSjR2bGVvVHUxR1lidUlhSGdxSXl3QVI2aXRqS1Mz?=
 =?utf-8?B?dXZBa3ZxS0JRQWJMWEJ1d1lKQkNoQ1lET0NrSHBGUEdQdWY5KzFQM0pxY1Fp?=
 =?utf-8?B?bDVIOG0vZVp5Rm0vVGprUy9qWDNCSTlnOUJDU2N0blRsN0lHbHVTMnBGenNG?=
 =?utf-8?B?MVF2UFlKV2JnZkdYZ2g1Qk8xWGNLMmVQYThabUpEd0hBS2ZjKytvQUt4U21v?=
 =?utf-8?B?WDRUdTdMYU95cHVNeThkRTBhdTl6eTQvcVVjZlBGWDQ0Tkw1NEllTDl3N0lr?=
 =?utf-8?B?alZ1RkZQVUFJWE14MSt0TGFPaHRtOFdVM0JaRHNOYnErR0oxU29XQjZNLzI3?=
 =?utf-8?B?RU84SUNiUHVGd2M2QXMyWStxU3lkSmppOFpsZ3J3K2MyRnBtU3B2SytLSk95?=
 =?utf-8?B?RWdENDczcS8rendsWWoyQVlBZUF0TkFhdmg4M2M3dkpIQlFTNWNyempncVR2?=
 =?utf-8?B?eE5YTllVYnE0UDBLd0NqeEZnZ29yWnNheERaVG1MWlIvdFc4K1Z5YkZFZ2px?=
 =?utf-8?B?djhSUTBpWHBMcmpmUGxTNEo2bjdHczNJcXZnV20ySUZYVVpQMFFBRUtjRXgr?=
 =?utf-8?B?QWF1K29MQzVHTlpPYzNZYnJwZnlJRDBWMTNKVUVaV3Qxck1iMTlyWUE3bnA1?=
 =?utf-8?B?SHcvWWFRWDUxTEtVTFZsQm5oeGNpU1pXRHdxTGZZVStDQWxKWndGcmVwNTlU?=
 =?utf-8?Q?rtkCI0rdv6L+bt70pz9/Jms4q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2fc34293-2aa6-4b53-1971-08da7b93b28a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 12:19:11.3400
 (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: lXH97tHtVeU0rAHVzTYzdNvsrHnVpXTM4CQsTk7EaMgxm6bkMSVs+rwlbOZ3q8xp4BzMjpnOM28mU40Isah49A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6408

On 11.08.2022 12:59, Ross Lagerwall wrote:
> This should only be called for the boot CPU to avoid calling _init code
> after it has been unloaded.
> 
> Fixes: 062868a5a8b4 ("x86/amd: Work around CLFLUSH ordering on older parts")
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit ...

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -845,7 +845,7 @@ static void cf_check init_amd(struct cpuinfo_x86 *c)
>  	 * everything, including reads and writes to address, and
>  	 * LFENCE/SFENCE instructions.
>  	 */
> -	if (!cpu_has_clflushopt)
> +	if (c == &boot_cpu_data && !cpu_has_clflushopt)

... I would have put the two sides of the && the other way around.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 12:20:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 12:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384548.619944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM7AX-0006Ho-R9; Thu, 11 Aug 2022 12:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384548.619944; Thu, 11 Aug 2022 12:20:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM7AX-0006Hh-OA; Thu, 11 Aug 2022 12:20:09 +0000
Received: by outflank-mailman (input) for mailman id 384548;
 Thu, 11 Aug 2022 12:20:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM7AW-0006HC-Oh; Thu, 11 Aug 2022 12:20:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM7AW-0000et-Jt; Thu, 11 Aug 2022 12:20:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM7AW-00076B-72; Thu, 11 Aug 2022 12:20:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM7AW-00073d-3G; Thu, 11 Aug 2022 12:20:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6GjSnCCRzaMYEjl8+u4foAz4tIcZEo00aeazhcJjhk0=; b=3TBvdDnIfnHbiSBtigb+lEC+4q
	zCLe/9zofY11UJAk5/MhtwBWpcQYe1bU1Hu8QXWGd51LXpI79pwQY9AnCgHWqZ4NRUeIXvwITgsrA
	2pjowZoff132UE5CJKv+brsNcG+SzhyytTKmi9s1LKHp1pBCGi9qDgJ5pFXg/zaqr2aw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172374-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172374: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d7c3c845c44e097d6c980001e108da0bb84ed16f
X-Osstest-Versions-That:
    xen=e83cd54611fec5b7a539fa1281a14319143490e6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 12:20:08 +0000

flight 172374 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172374/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172342
 build-i386-libvirt            6 libvirt-build                fail  like 172342
 build-arm64-libvirt           6 libvirt-build                fail  like 172342
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172342
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172342
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172342
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172342
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172342
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172342
 build-armhf-libvirt           6 libvirt-build                fail  like 172342
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172342
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172342
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172342
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  d7c3c845c44e097d6c980001e108da0bb84ed16f
baseline version:
 xen                  e83cd54611fec5b7a539fa1281a14319143490e6

Last test of basis   172342  2022-08-10 00:07:06 Z    1 days
Failing since        172354  2022-08-10 09:02:10 Z    1 days    3 attempts
Testing same since   172374  2022-08-11 03:40:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e83cd54611..d7c3c845c4  d7c3c845c44e097d6c980001e108da0bb84ed16f -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 12:30:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 12:30:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384566.619963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM7Kd-0007yB-0r; Thu, 11 Aug 2022 12:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384566.619963; Thu, 11 Aug 2022 12:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM7Kc-0007y4-UK; Thu, 11 Aug 2022 12:30:34 +0000
Received: by outflank-mailman (input) for mailman id 384566;
 Thu, 11 Aug 2022 12:30:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oM7Kb-0007xw-5d
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 12:30:33 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 627eeff7-1971-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 14:30:31 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 627eeff7-1971-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660221031;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=enPAxJBks+qIRCJJJ1CYO/xGCjALvTeZ36w2ibudy3c=;
  b=bTUqqThYhywSeILysSVG84gHY4pzTBqlM57mjpSj8QHlhecXoJegWcmU
   WCTlK7LtuGONXWM6S1rjUut+bvtOFZRp/0V2kRYqoGVaQMa440i3Zv3GA
   kDYK8YXeJn0p5s8iBtka4qgLnSnwnlMiWVLAmws6nXkGFsQO0PwGeCSKk
   A=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77871678
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AqsAlEq6C+KAkZ7nm1JbhdAxR2vbMJXerkicv2?=
 =?us-ascii?q?9bI5GJq3hjvcnjo/H4WJzvhRxp6nrJVcA1IXiFm0u1agP2hTJp+Q/MgYCR3R?=
 =?us-ascii?q?4OIfBmiRCwlrBHl7d7Ep9t/kQ8oo88LzXvyzw7rbNsXHEsK6DJ6TdpeZbfWp?=
 =?us-ascii?q?e5ymWeeeqCVEJyNb6h9RbHJqAKeawkva5JNGuTadgWSNidNwVtUfk8jEmHGs?=
 =?us-ascii?q?n3OqwksCxi+Djdp+tLUnwuqspgP6cfPLmZ75d73D1MVZcNLgA/5MLTOV4+li?=
 =?us-ascii?q?f0jkf1D8e6sAiZM/eGRLoRpQKvpQKHsBzNCJr7Dd1McwJ7uKCJQbUluOETfY?=
 =?us-ascii?q?8XnbAlxPtbKt/LUlCcSFdFbIScYumxn5WhH+7QeHtmRpZxl4uTX84BkSMk3v?=
 =?us-ascii?q?87M7pFYZxibEU02siZdkyE8jQrEkssie2DmdHf2zshDbFU3M+ysWKt/RZt5k?=
 =?us-ascii?q?zjiyKg9kqgY2KWRiU4e09gTWxKhnsf19SFiyALA+CtNM7kh8jqzG4H6P/ebA?=
 =?us-ascii?q?lb18gBlqlbZbBy/jGLCtj5b7zVj0px+O4qdMt8TWOgbw4/avFNNJida+R42z?=
 =?us-ascii?q?7VU4nIBMLS/11F1EW2sgEnteOZm4HivoQohHoLNuHWj3FXzrwVYXB+lGeuKN?=
 =?us-ascii?q?//h4fnK8A7WwkuwdPmSrFRH1NshZg5c7bCvvXfc5hqAH9GH0LSqoeYHBDgFf?=
 =?us-ascii?q?roTdJTJUWZOh2/DoMxwipacprPCkiLvGQ4aFNGXqKga4nykCuR0BjtkaLHjA?=
 =?us-ascii?q?ClUxkaqyMyz6ovwv0h80VvXl8uup7+BRZV5ZmpZdib5Sf1k3WY06iNwHy8qo?=
 =?us-ascii?q?vOOI5uZXD7cJB1/VW6BFACr2O0IlgDN6MolCG8eYVUGo3t40RzzKPfXRJt0d?=
 =?us-ascii?q?8NUqO3tdAEq5K0CSFO+ZN80R6qNkcHnoaGD969kwxuJjP6C5zM0lvpTXfZve?=
 =?us-ascii?q?LzSpX23ryVS4GEuZVcuWW3o2HThV0ilYbw4tplCeH5MoKzTPhKsyIgIZJEYG?=
 =?us-ascii?q?6Hejx7USnyj7WjHw4vuodEAm3CL+GU0uZJzHJ8jNjtnLKYHbhxDULoqNB5xd?=
 =?us-ascii?q?gM2o5rL5AqMfFO4RwvBRwdGUVHHpHWY1yVaoJBzVh4JmwkeYENX7IVQLmCF1?=
 =?us-ascii?q?46QeQlsGj3QuH71PKrtxhXsjVoVGE+QuIR662InaLYH8k7v0OSBK/aT6PBaJ?=
 =?us-ascii?q?3aQ5VtLF+mEDG6OebE+YUK80MXmPBLQAkZezlyEIVnQl6Iys/QL/NBmiQbv0?=
 =?us-ascii?q?5PlgX89BYkhVLySkZSnbEtAFZ0xECqlEBscP2NtMgokNX4L7Y/skLQszt5H6?=
 =?us-ascii?q?gwH2Re6MbIeEEFSkZCutYpH6In7mR8ZzK+kFNShgoAbvAwU2Cv9etiojFUhI?=
 =?us-ascii?q?nApAFiN7cpDzqOUW27em1APD4Db1tVvkZO8gRzOVoMRPio9ykEAmtdVg+qnd?=
 =?us-ascii?q?CXtIEOa3Sm5N7KRHUWeNiabuDPV6POnkq80oqp22rBTm/y0ue/Cm7Duie4Av?=
 =?us-ascii?q?1RrhSViEttNtTCjy/yGxR+MDGusJQpMn1h0crVemKW18XlD9g4mB7MOGoHFR?=
 =?us-ascii?q?Zb6FCj2h5d466sRbwHJjc3qRZUWQ4tV+MFBVlN0zK1Gr7eV8Iu7NGNnPNU3j?=
 =?us-ascii?q?YBHBVut8lJApePMQsc0OKACN2RuK8cO/crbuuHWUKrtf2FB+KxbFskrI2aHn?=
 =?us-ascii?q?zyUUEjMsnPIDpBV8c1E8U4UgE94LEBByM5DbbQQFY1m+8RcVB5U1FisMOWdk?=
 =?us-ascii?q?7kT5KOGwj+Nu987E7Yzq+gSNWCmA4x0p2h5865awZJavj2AKvsAbNlX4Pr/j?=
 =?us-ascii?q?F3Ju6oGtvaXrhE0zxX4Oz2di98QLKtMYvrRAeYVSm0UdjLzjxq0ug3TK+Axq?=
 =?us-ascii?q?3y9njr5gwT6Z+BeE1EtmXSWgwru5A1l1c8s12kTImKangJ3tpfIdTo2aSJca?=
 =?us-ascii?q?q5bH7M4/r83MNTO7LHTqnZEox4sGcjt3Czk8vM9vXPxNvXeEwMJFj944C31N?=
 =?us-ascii?q?zkT7W/Wu6Gwx1lwH3BoDgLzMJwNxW9T9+FZpJG77QQqcM0h3amDnvIcHdZef?=
 =?us-ascii?q?9ShCpWfXZDKlhhIc38BmwLOwhaqq1Z9FmZupiKjqOaNIcc7LWYGDuYdnX5n1?=
 =?us-ascii?q?BICqtFnNJqAxCZwdvV79mAs8VeFJxFy3QqdB+xyWbCbo4Zkl8wgOhwWobCMd?=
 =?us-ascii?q?PDPqkffeznKFWhCsmsflA+bCEdGj89KeUMiZ218xqdGmYYd18tQgiLMT1tXO?=
 =?us-ascii?q?ad/483mYHvN9Aj1TI6HCLQ5O7gkd5CwtIER6I+LHoq3eRISxTHjuFGi39G6Z?=
 =?us-ascii?q?lcS5XgrvhFrcPq409lQMd/LnQIy+SMfQg1x809/5z3mC1k3WDU3pch3Ost0d?=
 =?us-ascii?q?jFy9ZNHyV5TLJmvLE82oNukWqxW2pfZkxGZHNUap7NLXb//BU6tc5khU8fRu?=
 =?us-ascii?q?eOXPwyt+41s6SBMUuA1D0tokR6ahMnTRR/PtLlH/4e+0lbUJNh2QyoPJFxKl?=
 =?us-ascii?q?51h6BSP3oaxVCjH/xH7zRuqrJSEW+fhlmFNZKVF7UW07su+sG9+8e555fi4o?=
 =?us-ascii?q?+HECU77qiVWyo+fXr7SwOHh6Rffoka0Kq78mVUofHjlgjyatkzN/qlEvKY4v?=
 =?us-ascii?q?aMDTU3eyt2vHDNd4KOodH6a15r/pmi5tyeHllHN6/mjndzTasl4Ah+KCPpj2?=
 =?us-ascii?q?+MX+D1IbTX4ieZDV1kZXiaAK1YmoldkEF/KV0fbBBzAoaJmA3u1NkAe+GzUO?=
 =?us-ascii?q?htNY1Q5XB0rBK2IYIpkXjpHkVJJoLrYSHnN8mGyfH+YWozkamMoO0FfO7XsQ?=
 =?us-ascii?q?ErQayksGnjlYj56JY+6poQ9ReOpHgPtPY2yQlGSvCIVzMOpcb/ClYuDf3m4F?=
 =?us-ascii?q?0xv11M9qHDqLCN1/7QSYKNDiwIOLQk9rXVR6CsH8dg78IV5LCRSvw=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77871678"
Date: Thu, 11 Aug 2022 13:30:25 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<jbeulich@suse.com>, Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 2/2] tools/libxl: Replace deprecated -soundhw on QEMU
 command line
Message-ID: <YvT2YQQmaKyiKMAK@perard.uk.xensource.com>
References: <20220808110545.62886-1-anthony.perard@citrix.com>
 <20220808110545.62886-3-anthony.perard@citrix.com>
 <CAKf6xpuyK-5-UH4JOVDHidVgE+GBsS8a947LyAOVNORQRpsfew@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAKf6xpuyK-5-UH4JOVDHidVgE+GBsS8a947LyAOVNORQRpsfew@mail.gmail.com>

On Tue, Aug 09, 2022 at 08:17:49AM -0400, Jason Andryuk wrote:
> On Mon, Aug 8, 2022 at 7:06 AM Anthony PERARD <anthony.perard@citrix.com> wrote:
> > diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> > index 6d98d73d76..b2901e04cf 100644
> > --- a/docs/man/xl.cfg.5.pod.in
> > +++ b/docs/man/xl.cfg.5.pod.in
> > @@ -2555,9 +2555,9 @@ The form serial=DEVICE is also accepted for backwards compatibility.
> >
> >  =item B<soundhw="DEVICE">
> >
> > -Select the virtual sound card to expose to the guest. The valid
> > -devices are defined by the device model configuration, please see the
> > -B<qemu(1)> manpage for details. The default is not to export any sound
> > +Select the virtual sound card to expose to the guest. The valid devices are
> > +B<hda>, B<ac97>, B<es1370>, B<adlib>, B<cs4231a>, B<gus>, B<sb16> if there are
> > +available with the device model QEMU. The default is not to export any sound
> >  device.
> 
> Is it worth mentioning driver support?  I think Windows 7 and later
> only have a built-in driver for hda.  Windows 7 definitely doesn't
> have a built-in driver for ac97.  I think all the other devices are
> even older, so I doubt Windows has drivers for those, but I have not
> checked.

No, I don't think we can mention drivers support, we don't test any, it
would be incomplete, and we can't do anything if a driver is broken.
I've put "hda" first on the list in the hope that if someone wants a
sound card but don't know which one to use, they will try this one
first.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 12:51:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 12:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384575.619974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM7ed-0001wZ-Od; Thu, 11 Aug 2022 12:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384575.619974; Thu, 11 Aug 2022 12:51:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM7ed-0001wS-M2; Thu, 11 Aug 2022 12:51:15 +0000
Received: by outflank-mailman (input) for mailman id 384575;
 Thu, 11 Aug 2022 12:51:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM7ec-0001wG-CZ; Thu, 11 Aug 2022 12:51:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM7ec-0001Au-AF; Thu, 11 Aug 2022 12:51:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM7eb-0000Mr-Uk; Thu, 11 Aug 2022 12:51:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM7eb-0003Yz-UK; Thu, 11 Aug 2022 12:51:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JyrSAd9SDGzP6/TrUUwn6AiorTnPfZxrfCBKSeaY3Ts=; b=agHQLfPTGDl5Fffiis244ZKyWq
	wPHOGp4aQ53z/WInf9NuW9MhPvfJpCLebRYz0FaaGB2DA93d0xpVn6njzF3eNMvgIkZ/KLpA4eEAU
	g+ywYyr3XGe2sFrD8I3TKhdmag1WUWicaPhK4F1rqYKhbedZIcViGhcep4IQJHTXBDyk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172382-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172382: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4a2217c97024ccaf92adb6a08f4d340a803af352
X-Osstest-Versions-That:
    xen=d7c3c845c44e097d6c980001e108da0bb84ed16f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 12:51:13 +0000

flight 172382 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172382/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172368
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4a2217c97024ccaf92adb6a08f4d340a803af352
baseline version:
 xen                  d7c3c845c44e097d6c980001e108da0bb84ed16f

Last test of basis   172368  2022-08-10 21:00:28 Z    0 days
Testing same since   172382  2022-08-11 10:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d7c3c845c4..4a2217c970  4a2217c97024ccaf92adb6a08f4d340a803af352 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 13:11:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 13:11:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384585.619985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM7yK-0004Jy-Db; Thu, 11 Aug 2022 13:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384585.619985; Thu, 11 Aug 2022 13:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM7yK-0004Jr-At; Thu, 11 Aug 2022 13:11:36 +0000
Received: by outflank-mailman (input) for mailman id 384585;
 Thu, 11 Aug 2022 13:11:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM7yI-0004Jl-EK
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 13:11:34 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1dd154ff-1977-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 15:11:32 +0200 (CEST)
Received: from mail-dm6nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 09:11:28 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5838.namprd03.prod.outlook.com (2603:10b6:a03:2de::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 13:11:26 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 13:11:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1dd154ff-1977-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660223492;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=3xT856k0rdH+tUJBB9brTD1j+Tkm4Ehs0B5LW2Y9Cmo=;
  b=gZRjwc57/24xeJDzjYTeVJSOFqbUjRqOPz2GeKTtwPRYsdMm8fLxsleI
   M+KiRRV4hOA4B2gn1yerzFOTcGYZOY/yqkCdHXLUyKVrRf2DfYOPR2SlI
   2KU6nmwQOFRjfO6EwUBuWcA/6OB6Drap+Y4jUVRfdf+tMpAePLoyXxfMA
   o=;
X-IronPort-RemoteIP: 104.47.57.175
X-IronPort-MID: 77111332
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:pLrUAaMISZl58tDvrR2TlsFynXyQoLVcMsEvi/4bfWQNrUorgWNTn
 GBMDW6PM/iIMDD0fdt/btjl/U8H68XTyIAxGgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/va8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPKxe9ONkUUI7cB0aV6WWRA3
 8EBOAokO0Xra+KemNpXS8FKr+F6dYzHGd1avXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rr3wCCgLlW0q3rMzUYzy0HVwBZ8z/7GN93Nd8bRbc5UglyZt
 iTN+GGR7hQya4PGkGPeqSjEaunnnjzDWo4iFOSB69VtjgK0y0UBJjRKfA7uyRW+ogvkMz5FE
 GQW8Cczqak59GSwU8LwGRa/pRasrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQy3
 0KNt8PkA3poqrL9YUiU9qqQ6wizPycVBWYYYGkPSg5t3jX4iIQ6jxaKQtM9Fqew14TxAWupn
 G3MqzUijbIOi8JNz7+84V3MnzOroN7OUxIx4QLUGGmi62uVebKYWmBh0nCDhd4oEWpTZgDpU
 KQs8yRG0N0zMA==
IronPort-HdrOrdr: A9a23:qtt4hK2ZlV9GkwJQFat9nAqjBc5xeYIsimQD101hICG9Lfb5qy
 n+ppUmPEHP5gr5AEtQ5exoS5PwPk80lKQFrLX5Uo3SJDUO1FHYSb2KqLGSvgEIFheUygc/79
 YtT0EdMqyKMbESt6+TimTVfKdCsbu6GeKT9J3jJh9WPEdXgspbnmBE43OgYzRLrX59dPwE/f
 Snl656jgvlVFEvKv6wDn4DU+WrnayaqLvWJTo9QzI34giHij2lrJTgFQKD4xsYWzRThZ8/7G
 nsiWXCl+qemsD+7iWZ+37Y7pxQltek4MBEHtawhs8cLSipohq0Zb5mR6aJsFkO0a+SARcR4Z
 jxSiUbTodOAkDqDyOISNzWqkzdOQMVmj/fIJmj8D/eSILCNXUH4oF69Pxkm1PimjsdVZdHof
 t2N6jwjesOMfsC9B6NvOQhLXtR5xeJSSFJq59Os5QaOrFuOYO4aOQkjRlo+FNpJlOk1GjheN
 MeUv00rcwmAW+yfjTXuHJiz8erWWl2FhCaQlIassjQyDROmmtlpnFojPD3s01wgq7VcaM0rt
 jsI+BtjvVDX8UWZaVyCKMIRta2EHXERVbJPHiJKVrqGakbMzaVwqSHqokd9aWvYtgF3ZEykJ
 POXBdRsnMzYVvnDYmL0IdQ+h7ATW2hVXDmy91Y5ZJ+prrgLYCbehGrWRQriY+tsv8fCsrUV7
 K6P49XGebqKS/0FYNAz2TFKu5vwLklIbkoU/oAKiCzS5jwW/7XX8TgAYPuGIY=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77111332"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PZ/wjh9CO+A2afr6+qDDAPHiTV6/7xP8bpWTtZKP3IaGmNgjcxVIlYHN8BxSulUXVM7lEQWD+YNvL+ilULXY4OFD7l3fTqRTT35NLbgve+tR9me7iCCZTDn8Fw7CbWVU8YprFZ1X+bLPj/Xy7xRILe/C793GZDIPNSBmvfyXHagJvNeLLxU8TpR26e1U2b0WHio5BqRszJKtqHEEeR80bsC7QfNjq57K+bzPST7EjHmj8gnh/bzpmfhZkMywYL0ykAx/xv6RZu59GF/UvlEKiKwtZpnkTHctABscB75ZMWDiklby+VjBJu7lg5slyOUHRpDM6LjIH1f3dMMjJTP4ug==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3xT856k0rdH+tUJBB9brTD1j+Tkm4Ehs0B5LW2Y9Cmo=;
 b=ofwS1JQBUOq4RHBg0qrg15HPaxYOo2otaejvxb0PFhf5seLuMsMUzZhypy1PwogrdlGZd1M3UyHZ1DphCQh82a2Kg4H06++Jb8eFhqejNrR2ioE6cI9WL3lzkmcbdaVQodVS7FVK1SIBPCreMYy1eHtFKSmJ1QaPe4NRsuUCenfIFBDHV/DzCOJdT3bZEG1eVnqa+/MQigHIPGQfprqtA6EmQc9GZYzcVOSVVr99PHcjEXJl8Iv5fq9uLq5dsaHjRE8cGpOmqIK+1EfHzd5SkSGcwTNNTSmTA6NhNfYjmVjLscgbPN+CVq6a77Uj8/2lWtXhj1yeOCOlWmDXbm4BHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3xT856k0rdH+tUJBB9brTD1j+Tkm4Ehs0B5LW2Y9Cmo=;
 b=ZzSbw9WcACz38gCW3yV8hUmcR3JdeuTChIHp4E5JD3JhJesBjmTRguGvwdmQWbCqTyLDUXYW4OG7wJCk09229Who4f8A8DWKnC5d0IGuFYOV3fdTNXgXiAJcscxEQOyPVLXnPW8qFngBu4YEUpJIZ6SSSzFegHRpxWi66SLqYvM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, Rahul
 Singh <Rahul.Singh@arm.com>
Subject: Re: [PATCH v2 1/3] PCI: simplify (and thus correct)
 pci_get_pdev{,_by_domain}()
Thread-Topic: [PATCH v2 1/3] PCI: simplify (and thus correct)
 pci_get_pdev{,_by_domain}()
Thread-Index: AQHYrXBZXwmbEINJNkq3LaRWDdsBqK2prNgA
Date: Thu, 11 Aug 2022 13:11:26 +0000
Message-ID: <45cf7907-3ff3-49bd-e700-4333c0e45177@citrix.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <ad2d9405-9712-79bd-16d7-666ce79bcb3c@suse.com>
In-Reply-To: <ad2d9405-9712-79bd-16d7-666ce79bcb3c@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d3a17338-2792-4b21-6102-08da7b9aff4b
x-ms-traffictypediagnostic: SJ0PR03MB5838:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 NTiSCap6SJXJ54iT/WDRNuRU7kkrbSAMKFBQEnFwotFXWj16DIVAvtSFwXXCFt4mkedldvhrzlkXvYmNej/DvOgLtFMe7PzWiQ8V+pl7VsNdItSIF3kt+dqsBEXXo+/p3IIh5FaEfj4uLelpt1zNbIxpcfZsiZa1BtYesd7bFVPZc261bTYIbsegxJFXPul94LwQpYHbUb38AaQvwfT9hTpTHd1UKBKqVUI+/ELBlGuyiqzEcxnyHApKo9qUghOxo7u0zxGaTR+Jc5Z9vuf8yoMQVNUlTLJfUozYYGSUj7CC64IqyedpOZGGXq6Dv8LmezxkbcwvrRYNTAZ7fh2HvsuS9m2kk6RdS2uxfQxl0J1K3JLJu9ps0G14YWRvNLeXKAFAR8b5Gp5aC77izFvgUgw/Y8C7cvT03XETUjoXQk+ZrMYZImHFxwdZDW2yaC89TgxoiOvY0vUAgBAlGuxoqAlUlbWo0IRiHcYuhT5/5sVvtXV9/v4lRmVbQah/QF3bcrShO1ITqAzXahhBD4JsIDqAds1SJQ3QH4VtvyJBntVGqSm4bRaAoHMi2OoE2Woxm+a8aR1UfVAMr7qojws9xVKWEzBZ2P9O0WKdvkIw1CpErWLtIFTdMw+1nFmL/B0x+yhiBtl9++1sVci+cKr/NBtMqmiaSImGvNmYOu9ZpRcC9CSW1HvdM+KWhjTfSsyXcCqk2tk0AlPKumS7ZdtguaaNaRG2CqJLeRKExRED8NvUg5gLeKPPTYh0yvTQgQr2tBH7+npTbFBPac1zrfFZJO2zk5Vr8yYTiiU5RimeZjG0VYWrbTB9E1lWr4L6YA6ZaPC8ctDVa3ye2LPaBHY23XIh8p1oeCwW9dWaDXlZTRNr8CYAECuWvrR+8oTMoTgI
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(346002)(366004)(396003)(376002)(38100700002)(316002)(64756008)(4326008)(8676002)(478600001)(83380400001)(36756003)(110136005)(31686004)(66446008)(76116006)(91956017)(66946007)(66556008)(54906003)(6486002)(2906002)(26005)(31696002)(86362001)(5660300002)(8936002)(6512007)(6506007)(41300700001)(71200400001)(66476007)(82960400001)(38070700005)(2616005)(122000001)(53546011)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QWNqN2ZtbXBEbVJDNThWYkZBZVBUeWJnUGR6dDFZRlR5VkxSNThweWFSUnUz?=
 =?utf-8?B?K3V5SFduc3lDcitXcHpoVFU5TmNQNTJnL0xoQTdNZGZWWU03SXJNT3lUY01K?=
 =?utf-8?B?YlVRQ1I4TjJNNk1HdTU4bS96VVdOaGNSRFN4M0hoZEpEU002Y3JZeE1jSWh1?=
 =?utf-8?B?TEZ0YjB2dkpkZjJpTUVuaHpzUXFlZnVnOEREVWszMjlRMi9hbG5aYVJ4S0pH?=
 =?utf-8?B?aUV1WEV4R0YzekUxNCtwYjJTTE1vek91MCtKZnJUS0pTNXVOcENaZWNLc3B2?=
 =?utf-8?B?MWtIdWdDVS9JS3ZVZkhBazhBK1MwWTliSzhzUW1CVi9KbFU1Mmxob3lPZXVN?=
 =?utf-8?B?MzVvZ2pLM0tub1VFSGVXTTBaMG5UekdHalBleCtlYmNEbDVLeWwxTzdjUnN2?=
 =?utf-8?B?TTdXdktEQnVPYzVScHU1UWQ0eDJPUkdaNEswWEo1TG5zTmhaUXFEZ09hRk9T?=
 =?utf-8?B?VER5bzZYMzZ5U0xiV0h4elNVaUR5dzJoWURLcnJldUpOM3JEVU1DeUxVTkti?=
 =?utf-8?B?N3hHK2RrWGptMUp2NjVPVGtRMkF2VnBiT1NGa0o5d3RxdnNRblRzS3ZvS0Zn?=
 =?utf-8?B?WmtEQkJIUTBYWXU0Y2hVTERVazRGMm9Cb3pOL0JQeGdVanZFR0dUZ3p0UmFE?=
 =?utf-8?B?dnB0eTRlZ1JybWVxQ1ZMRitWRWlSS2pQWkJzdHNUU0tESmI5cUtTSUs4d2Vy?=
 =?utf-8?B?R2twZHo1TmxvTXlJMVRSbkI2UW1ZR1hCdjR5TWxuQUdrYlRrNVVuSzJJUUEy?=
 =?utf-8?B?eFBwUUlrREVlM1daMnRvdXpBdG8rY3JPUlZIVlJSTGZyM0NrdERrcDJYLzNn?=
 =?utf-8?B?WElaWVcxaFdLRnFWTGVPK2taUjFXdTE0Q2JnK2xsTjdwNUlRaklJRENMSVFW?=
 =?utf-8?B?MzhIUWlVTkRZMHZBM1lCMkpHeTVVUU8reWhaN2hVeUhqWVZSOXk3NDI4T1JW?=
 =?utf-8?B?c2IxUkIxb3h5UElyNStZc1EwdVlsTVMwN3N1M3llZEY5cVNHR3Q4YU1pL0Ex?=
 =?utf-8?B?aVI5RU1kMTZKeStOby9FSnRRdkdKZjNDbWlZbUhEaGFCNDBGS3VodGN3dFJM?=
 =?utf-8?B?RWVBN00wZy9VQXRlcDNMNmRsME9yamlhaDU2TjIySWY5UWgwRlM4VXBROCtJ?=
 =?utf-8?B?Z2luOVRmU1lpZFdrb2x1dUlhRVNkWXl6VW5oM2tFWktQZmhUM2p2M0lXRXJN?=
 =?utf-8?B?R3V3N2JLeEEvaFVDS2ZvMHJ6MzF0RnF5WUVxWTRRQzFvb1lnQ2NzaHA3b2E1?=
 =?utf-8?B?c2NFWkwyT1Zlek9DWXRnRWMwQkF3T2dxcXR5MWxGcmlDMnI0d3VQZnpRM29h?=
 =?utf-8?B?ZXdMYVpIZmpqRVBITzMra2xDbDhUTGU1eWFEWUQ4VDVGSC9Ha21WMmRyajNT?=
 =?utf-8?B?YVFNdzJ2RE1EY1dEbDZyMWhqWTczNkRkRWp6U2NJdTJaNXRzVGpGMkJSWWdK?=
 =?utf-8?B?b3g3QS9hRXVkYkFEQS83dHYyVlB0YUg1WThqT0hvNkxlUU9sV3NCRm9yUUYx?=
 =?utf-8?B?dlV4VmMvL2tCWnRlTEY3MnlrTG1lZXNZRjR4UXJwamIwZWNhUUUzSzlMenI0?=
 =?utf-8?B?ajhzcndtOTFRdTdTZVZ4WnU5NVF2eXI5dkg3Q1NTYjFoaGZ0blZnMWI3N1ov?=
 =?utf-8?B?RFEzR0gwMjFaU1JqTFZjcDRCeU1UMUJQQlJEd2FWdzlsaFErWjZDdFVDTHcw?=
 =?utf-8?B?VUpaS0Q1eEFHWWV5SHhuZ0YxUThiUkhaK0xSanhhazdpZjZlZUxRaFA3TWtC?=
 =?utf-8?B?UmhOSkYrM1JSaERENmNaVUtVaDhWSWlXR29SMTRHRlVXdjhzZVJjTzRYUWxr?=
 =?utf-8?B?R3VCNVFVOVBNRCs0VGJKZktLQ0ZFZGhHY1JJR3MzSGRCR2R3azZ4UUJjbW0r?=
 =?utf-8?B?UHNUanZNWjB1dDBReElwa25rMS9DQW05ZjNISXNEY3BBMTdtSUxvQWhweFNB?=
 =?utf-8?B?L3RMNUl5QTRmOU9OL0FtSTBNOXdFUzMxUVdqWTdJaWw1V2dZSmNqYUFHWjlM?=
 =?utf-8?B?c1B5amNRWjNQUStYL0VkNEYzV3NJYmUrZjRNOHBZSmw5eUFDRVdMdjhVVkJl?=
 =?utf-8?B?ZVN0bllURWZvKzRJZW9uZHdRTlFQTlNSMnJxVWxRVm9sNkRNNXVVU29PTjZ1?=
 =?utf-8?B?NXgwNkpoNW9iaXQ5eml2NExpSlkxNVhUZDBmMWt1ZUJkak9aUi95NWdiT2pR?=
 =?utf-8?B?NEE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3BEF8424476D444AA84F541E413FF6E5@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	/B0O2GmWwq1/HYE2kfxFtU9bFrc2BpYH4KbXrx7vN8yMLWYb9LAIGlfC7IZLaO6QbtsYh963O4nU0UK7XXEcxXjsKl4tkrvk0GexiyLOJcvYhYwaLKaHnBA1jyj4dBUOcCS7paHLPBeT1RMLSeoUXLQPll5/Xly5nOSYxyUid2xAi7v2ptNT0ZQKV6udUR0w11zM8zAWyhQn8X4usYCCITtOx8n2UKhqC9zf7yfBD5zgN7DrMxqJC3rK8ArOAhRLXPhO5JfwypHuBBJ2nMbHPb6bmZMugoTnRWReD+hmocdP5UBv+QxUf39C+K94W5ML/qhG1R2rftPh5YnTefWu4p4ISDHvxdqMBGPXWD9imOzu4VdAQLL9lrsUmWkk2CktzrSzljnzKyflMIwnPveNFj5VfHQst5Ub8CEjbxFv61OdbaH16RYzetv41F6Gb8cdCq9KsaIXtdLpI4S8PpnEdIXeQi5DpetnnroDrTwrpLuyrmvfjlOCSRrCTuaw3ZdD+LwwuSZCq9O/y6CjvBvaVLfPlfIST/+LTuY4pw0HLQdSoIUYDwrpUCFbhCwqDWUUWKa/JcOgHL0o7bIIS2hPnunzqW+R7ffiokp7KB83EPBoOo6SwFZKjjwD1rj2+Xo/7doJ/LKZiv6xxXdv7yNkp4yKYLAX0OxoR5HbCmtGmmbzr0WBgVfaXiLk4JJx+7LOEmw8/9zFKAC80ATzr0CQsatzW9Mksm54yGdoWXET3eLjZWBs+tsFM6NLh2++l+nx/zIIs/JjXoNahqXLNK/VN9zSPNspxUFFCZWGSynz0NDOoSK10lhiAcCqLUsm2qumzIPLsU56bhVlOZxb8wDgq6Q4lceWvKZG/FC+6endlpBuI5OMYk2pmThkRZvpBQOS
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3a17338-2792-4b21-6102-08da7b9aff4b
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 13:11:26.4031
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: H1mbZZ2YfNIQ1YM0BMvJSUPNQqC1GuivztqPsK3maWTZo6X8ySDvpQdkfU41xUwTiKHkblA38ha4T2Ye3uLIIJ160PWXzyoHiYRxf6rSfgo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5838

T24gMTEvMDgvMjAyMiAxMTo1MSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFRoZSBsYXN0ICJ3aWxk
Y2FyZCIgdXNlIG9mIGVpdGhlciBmdW5jdGlvbiB3ZW50IGF3YXkgd2l0aCBmNTkxNzU1ODIzYTcN
Cj4gKCJJT01NVS9QQ0k6IGRvbid0IGxldCBkb21haW4gY2xlYW51cCBjb250aW51ZSB3aGVuIGRl
dmljZSBkZS1hc3NpZ25tZW50DQo+IGZhaWxlZCIpLiBEb24ndCBhbGxvdyB0aGVtIHRvIGJlIGNh
bGxlZCB0aGlzIHdheSBhbnltb3JlLiBCZXNpZGVzDQo+IHNpbXBsaWZ5aW5nIHRoZSBjb2RlIHRo
aXMgYWxzbyBmaXhlcyB0d28gYnVnczoNCj4NCj4gMSkgV2hlbiBzZWcgIT0gLTEsIHRoZSBvdXRl
ciBsb29wcyBzaG91bGQgaGF2ZSBiZWVuIHRlcm1pbmF0ZWQgYWZ0ZXIgdGhlDQo+ICAgIGZpcnN0
IGl0ZXJhdGlvbiwgb3IgZWxzZSBhIGRldmljZSB3aXRoIHRoZSBzYW1lIEJERiBidXQgb24gYW5v
dGhlcg0KPiAgICBzZWdtZW50IGNvdWxkIGJlIGZvdW5kIC8gcmV0dXJuZWQuDQo+DQo+IFJlcG9y
dGVkLWJ5OiBSYWh1bCBTaW5naCA8cmFodWwuc2luZ2hAYXJtLmNvbT4NCj4NCj4gMikgV2hlbiBz
ZWcgPT0gLTEgY2FsbGluZyBnZXRfcHNlZygpIGlzIGJvZ3VzLiBUaGUgZnVuY3Rpb24gKHRha2lu
ZyBhDQo+ICAgIHUxNikgd291bGQgbG9vayBmb3Igc2VnbWVudCAweGZmZmYsIHdoaWNoIG1pZ2h0
IGV4aXN0LiBJZiBpdCBleGlzdHMsDQo+ICAgIHdlIG1pZ2h0IHRoZW4gZmluZCAvIHJldHVybiBh
IHdyb25nIGRldmljZS4NCj4NCj4gSW4gcGNpX2dldF9wZGV2X2J5X2RvbWFpbigpIGFsc28gc3dp
dGNoIGZyb20gdXNpbmcgdGhlIHBlci1zZWdtZW50IGxpc3QNCj4gdG8gdXNpbmcgdGhlIHBlci1k
b21haW4gb25lLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGhhcmR3YXJlIGRvbWFpbg0KPiAo
c2VlIHRoZSBjb2RlIGNvbW1lbnQgdGhlcmUpLg0KPg0KPiBXaGlsZSB0aGVyZSBhbHNvIGNvbnN0
aWZ5ICJwc2VnIiBhbmQgZHJvcCAicGRldiIncyBhbHJlYWR5IHByZXZpb3VzbHkNCj4gdW5uZWNl
c3NhcnkgaW5pdGlhbGl6ZXIuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb20+DQoNCkknbSBub3QgdG90YWxseSBjb252aW5jZWQgdGhhdCBzcGVjaWFs
IGNhc2luZyBod2RvbSBpcyByaWdodCwgYmVjYXVzZQ0KcXVhcmFudGluZSBkZXZpY2VzIGFyZSBk
b21pbyBub3QgaHdkb20uwqAgQnV0IEkgYWxzbyBjYW4ndCBpZGVudGlmeSBhDQpjYXNlIHdoZXJl
IGl0J3MgZGVmaW5pdGVseSB3cm9uZyBlaXRoZXIuDQoNCj4gLS0tIGEveGVuL2luY2x1ZGUveGVu
L3BjaS5oDQo+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9wY2kuaA0KPiBAQCAtMTc3LDEwICsxNzcs
MTAgQEAgaW50IHBjaV9hZGRfZGV2aWNlKHUxNiBzZWcsIHU4IGJ1cywgdTggZA0KPiAgaW50IHBj
aV9yZW1vdmVfZGV2aWNlKHUxNiBzZWcsIHU4IGJ1cywgdTggZGV2Zm4pOw0KPiAgaW50IHBjaV9y
b19kZXZpY2UoaW50IHNlZywgaW50IGJ1cywgaW50IGRldmZuKTsNCj4gIGludCBwY2lfaGlkZV9k
ZXZpY2UodW5zaWduZWQgaW50IHNlZywgdW5zaWduZWQgaW50IGJ1cywgdW5zaWduZWQgaW50IGRl
dmZuKTsNCj4gLXN0cnVjdCBwY2lfZGV2ICpwY2lfZ2V0X3BkZXYoaW50IHNlZywgaW50IGJ1cywg
aW50IGRldmZuKTsNCj4gK3N0cnVjdCBwY2lfZGV2ICpwY2lfZ2V0X3BkZXYodWludDE2X3Qgc2Vn
LCB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbik7DQoNCkkgd2FzIGdvaW5nIHRvIG1ha2UgYSBy
ZXF1ZXN0LCBidXQgSSBjYW4ndCBxdWl0ZSBnZXQgaXQgdG8gY29tcGlsZS4uLg0KDQpQYXNzaW5n
IHNiZGYgYXMgMyBwYXJhbWV0ZXJzIGlzIGEgd2FzdGUsIGFuZCBpdCB3b3VsZCBiZSBncmVhdCBp
ZiB3ZQ0KY291bGQgdGFrZSB0aGlzIG9wcG9ydHVuaXR5IHRvIGltcHJvdmUuDQoNClNhZGx5LA0K
DQotc3RydWN0IHBjaV9kZXYgKnBjaV9nZXRfcGRldih1aW50MTZfdCBzZWcsIHVpbnQ4X3QgYnVz
LCB1aW50OF90IGRldmZuKTsNCitzdHJ1Y3QgcGNpX2RldiAqcGNpX2dldF9wZGV2KHBjaV9zYmRm
X3Qgc2JkZik7DQorDQorI2RlZmluZSBwY2lfZ2V0X3BkZXYoLi4uKcKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcDQorwqDCoMKgICh7
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXA0KK8KgwqDCoMKgwqDC
oMKgIGNvdW50X2FyZ3MoX19WQV9BUkdTX18pID09IDHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBcDQorwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA/IHBjaV9nZXRfcGRldihf
X1ZBX0FSR1NfXynCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcDQorwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCA6IHBjaV9nZXRfcGRldihQQ0lfU0JERihfX1ZBX0FSR1NfXykpO8KgwqDC
oMKgwqAgXA0KK8KgwqDCoCB9KQ0KDQp0aGlzIGRvZXNuJ3QgcXVpdGUgY29tcGlsZSBhcyBhIHRy
YW5zaXRpb24gcGxhbiwgYW5kIEknbSBzdHVjayBmb3INCmZ1cnRoZXIgaWRlYXMuDQoNCn5BbmRy
ZXcNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 13:21:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 13:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384596.620004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM883-0005vT-SJ; Thu, 11 Aug 2022 13:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384596.620004; Thu, 11 Aug 2022 13:21:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM883-0005uL-LB; Thu, 11 Aug 2022 13:21:39 +0000
Received: by outflank-mailman (input) for mailman id 384596;
 Thu, 11 Aug 2022 13:21:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM882-0005rd-A4
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 13:21:38 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85b7335e-1978-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 15:21:36 +0200 (CEST)
Received: from mail-mw2nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 09:21:33 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6574.namprd03.prod.outlook.com (2603:10b6:510:b9::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 13:21:29 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 13:21:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85b7335e-1978-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660224096;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=xgkDYEMjAbrJCrSSl6k4kjK9yxklbaqz3zx8hlWzobo=;
  b=dreGwbYRHNgb3i9s0ilOY6JqyBSwXFK8lRF+Kkbg4t+B15PukHG6lB6q
   PRLxYEYqb6VRtRoEtnXIyluxF8OqOM79rFVyD92aXVtEQANXJwjTijWRL
   3PKfhZosHYb80BRLWPcuxm7BHCr2nrN085mg+p7rTh+HiG8IVI53rkqM5
   c=;
X-IronPort-RemoteIP: 104.47.55.105
X-IronPort-MID: 78312075
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1DFBz6l8H6m3hvyUSMqhZjHo5gxjJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcUGuCbvqLYjf8ctlyYI6/8koBvcOHn9I1SAZorShjEyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K2r4GpwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kIBIQq+v52JFpH6
 OE+MGA8chWtitq5lefTpulE3qzPLeHNFaZG4jRF8mucCvwrB5feX6/N+NlUmi8qgdxDFurfY
 MxfbidzaBPHYFtEPVJ/5JAWxb/0wCWgNWAF7gvN+MLb4ECKpOB1+JHrPMDYZZqhQsJNk1zDj
 mnH4374ElcRM9n3JT+trSL337WXwn6TtIQ6P7e1ptkyrVGo5EtIOUQOeQvqjKKHsxvrMz5YA
 wlOksY0loAw/kG2Stj2XzWjvWWJ+BUbXrJ4A+A8rQ2A1KfQywKYHXQfCC5MbsQ8s807TiBs0
 UWG9/vxDCFrmK2YTzSa7Lj8hQm7OTURa1QDYyAEZQIf5p/op4RbphDSStduFoalg9uzHiv/q
 xiRtzQ3jbgXic8N1o248ErBjjbqoYLGJiYq4i3HU2Tj6Rl2DLNJfKSt4FnfqPNfdoCQSwDZu
 GBewpDDqucTEZuKiSqBBv0XG62k7OqENzuahkNzG54m9HKm/HvLkZ1s3QyS7XxBaq4sEQIFq
 meJ0e+NzPe/5EeXUJI=
IronPort-HdrOrdr: A9a23:QjK7naoNzXGgFbqQd438e34aV5sDLNV00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6Ku90KnpewK+yXbsibNhcItKLzOWwldAS7sSobcKogeQUREWk9Qw6U
 4OSdkYNDSdNzlHZIPBkXGF+rUbsZa6GcKT9IHjJh5WJGkEBZ2IrT0JczpzeXcGJjWucKBJcK
 Z0kfA3wgZIF052Uu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyR+49bLgFBCc/xEGFxdC260r/2
 TpmxHwovzLiYD79jbsk0voq7hGktrozdVOQOSKl8guMz3pziq4eYh7XLWGnTYt5MWi8kwjnt
 Xgqwope+5z93TSVGeopgaF4Xiv7B8er1vZjXOIi3rqpsL0ABggDdBauI5fehzFr2I9odBVys
 twriGknqsSKSmFsDX25tDOWR0vvFGzu2AenekaiGEaeZcCaYVWsZcU8CpuYdU99WPBmcUa+d
 tVfYbhDcVtABWnhrfizzBSKemXLzAO99G9MxA/U4KuomNrdTtCvjYlLYQk7ws9HdQGOtl5Dq
 3/Q9pVfPsldL5oUYttQOgGWse5EWrLXFbFN3+TO03uEOUdN2vKsIOf2sR92AiGQu1+8HIJou
 W2bHpI8WopP07+A8yH25NGthjLXWWmRDzojsVT/YJwtLHwTKfidXTrciFkr+Kw5/EERsHLUf
 e6P5xbR/flMGv1AI5MmwnzQYNbJ3USWNAc/tw7R1WNqMTWLZCCjJ2STN/DYL72VTo0UGL2BX
 UOGDD1OcVb90iuHmT1hRDAMkmdDnAXPagAZZQy09JjuLTlbLc8wzT9oW7Jlf2jOHlFrrE8el
 d4Lffujr67zFPGj1r10w==
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="78312075"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AZlurRFNs2dOlut03nSceF7h7712H50BTPFixKYJCC+4/9+BKyYDflCvjKYajP3K1Fkz4Vn+h5tK7bNRENoChcRuFskQ1aql01W9B9cDoEqlExmQZQ+yn6yboc0IMAtH+dYOjKjdBahLMX384iN642Tunqa/O3ozS9eeSI9qUoanPSML41tYsqQSLcLYGjg9nSsmAlxMqfHdceJTKYd15MTzInjaUE6dimblNOKgOOv+Lqxfd/q1QMpG+FdlkwW5WoqD3N8a7Y8407yWsq3hhsOYkHF/NgUp0BEJX7n58tQ9oK8r8zMVQhqoCwrRiBmyumOPDJCciBVOIJtn3LYzkg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xgkDYEMjAbrJCrSSl6k4kjK9yxklbaqz3zx8hlWzobo=;
 b=ehVbpyR3ybig840JR/52Pq9LTSvdKkuYeamTtr516uj21pTMqKlR48hUZpbARMQ6aVwbHJVDAQGWm4Giwf3o36PTswtZBANa8ZT2FzY56VkvTx9XQ7V4C60SmDRB7t0ZxSBqBPFTwHa2r3E+4A4QVA08lFXarNSS/qbyGk4gSLgWXwpfntM5OgNVG2mbZHr4TKlgUlWbZ/j0NHLTvYqFCxTJdzA9UZMci4lECkLZHVtwtaiUxFsZaXZMZ+ZnCCS0VYvdcoGcK2ha4lJr+LTLWX1NA3EG0JQDI8VcQeXDhUWL16TU4s8PpNRVsp5ZMtUjPcoybRD3oINlClwF08D+mg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xgkDYEMjAbrJCrSSl6k4kjK9yxklbaqz3zx8hlWzobo=;
 b=I9M6vKIf+4OLM9u9NoPvUEZ0XRz5GsqzMpUgJ07u5uAxlmnay6Mh0N9sPyU8NpWkIJx/kX8QLOIgcv37Oxpo15XtR2Cze9SA0HlAO2hEkXXyVy/EmbqKUH+jL/PtvLk6O9UU7ZMFw/HC2DQnSI4u5rjQWYB3kKGrNDDdFEiTWWQ=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, Rahul
 Singh <Rahul.Singh@arm.com>, George Dunlap <George.Dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Thread-Topic: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Thread-Index: AQHYrXBuhfhLVAQnY0WV4dbewZaCI62pr6eA
Date: Thu, 11 Aug 2022 13:21:29 +0000
Message-ID: <48eee228-f7fa-5932-ac93-03cf70de01e8@citrix.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <0bdd4f3f-965a-fe39-f7af-d8a40b7a68c6@suse.com>
In-Reply-To: <0bdd4f3f-965a-fe39-f7af-d8a40b7a68c6@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 46e59ac7-4316-4bc4-475e-08da7b9c66ed
x-ms-traffictypediagnostic: PH0PR03MB6574:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 QU2t+Uk4bO5t7JQj/qeewwQbGgl2ZzAIRHrHoPOsLMbobBfV1n1t2i/HJYmlRvmFG0LKQTaEr+TKM/bWFp8sHsXU34Ga6GfgltEFfjMIC0s5fvWCtwtYtG2iL5IYNqEbHLR3TKaOsck/DEcpgJMaZIASufI6TG4nyvJy883Ag3N3dkjvjII1iBtRddMPidVpvoL0BGg/eqIzmdpZPAjMFLeb20MrZGbJUd2g6lvMe6UjCY4ROkLIgOSMIfpvkd2VwblCrli+j473gz0imk5O60KMBzzyRsQzTpR2tS9MFqCyuGt0kim4ePuuKrTgQ+kFfOujPxm1TkZD+Vps3alKwkqrnmnprvLTxHZzX497urMoe4MnmZGRkZfNefS9f3HzKmzDmgCabEsT04KLQXcBuDLvBcbDllzw3iqvE9MuVz04qnGBRMWKiko8xdlYvjH5IxWjc16SUFvUM4iWzOUjlxXhZMS2onDVeJ5E05xhqMbIblU5RXdr7NuOcECDzhhZcWFxbJwdHz3UrVzfL+GTQCKYommjwAOrJjM24IY6iKRBmOu5WlPUYjNFWF4/lO3HnBk/uiHi4Det0cxCMYUlyMKg8mdMOaH5gWGA37XAa6FRZ6ijK//rykOfj226WAwCKd/xYcfz/kdrp+oUMYNlnzkrWL/q1DxYxS/FCk5JrXWqPfysKNrxEWKmd8VFMeE4uomP3Kdw8J8h8/7zCDfU4nfRxdsWyhj/5HtR51occz1qzGT95hMQwNJLfL7LGSMRjpeQFNLv8BAj6MQJJ2DGG5wfNvnjOjRx/9GSqsO+I4L158DhSa0exWruVR2th+08sd93pKKeC+TUplCUsYRJq3rtZ1NoaZl+f9CYyS2NPThB3MNSKk5/fr00QpezMQXc
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(136003)(346002)(376002)(39860400002)(31686004)(36756003)(91956017)(76116006)(2906002)(2616005)(83380400001)(38100700002)(122000001)(186003)(6512007)(26005)(82960400001)(41300700001)(86362001)(31696002)(8936002)(5660300002)(53546011)(6506007)(66476007)(478600001)(6486002)(66556008)(38070700005)(4326008)(8676002)(66946007)(71200400001)(64756008)(66446008)(316002)(110136005)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?OHZmZFV5Zmxpdi9Ib0ZWZGNlS0pHYzA0YzFzcUEvNlVyVjlkaDhmTHpnRzJs?=
 =?utf-8?B?QVZlU2t4Y1pjTFVkMTVLaVRFYnVRc2FJWGZTeXF0UWdQd3RRZjU5eFAyL0RZ?=
 =?utf-8?B?NXZMLzJGZkdzTGYwdzgrOURueDUvZUNMMmN1V0t5YkduUVZUVXFWQlorUU9i?=
 =?utf-8?B?ck5BQkhGamI2eVo3MHpKdEFKTXFlY2craUk4dDBieFRoVWpxSnBzRDBTU0dq?=
 =?utf-8?B?U0Jla0hOQlZrMVlib2FXTExmL09nakdBK0lYTFZCS0dabkI2MHpWNVpwYU1H?=
 =?utf-8?B?RVJRQW1QdmRjdFFSVThmdzhnczJKWE1nR2FNUWpocHlGckl0b25HN2tRVnpC?=
 =?utf-8?B?R2Z4WHVnaDhDQy9mcUFWTVVWMkk1ZHFEN2dEZS9uWktlRGtCemFBd3g4d0M3?=
 =?utf-8?B?M2xoc3A2WENyUk9QUTlqL3BuOVBHeHhtamRQc0hpaFNuZStsckcyNGFLTlh4?=
 =?utf-8?B?T2NjSHZLUjloeE1yUHNNeGlWK3V6MUNGODB4cndKdDA5dW1sVHo0ZGgvS2Y0?=
 =?utf-8?B?UGc0K0orRWJUY3Y0K3RQWGhrR1hyQ3BrK2dpWDhBTmhJTXFjdE1LTG9DVE9a?=
 =?utf-8?B?OW5OQ29nOE40dmcrMFBlcWJnVHRDZlBLdXBpRWZMNmwrSy9JbnVJdnltWmFE?=
 =?utf-8?B?M3Q5TEFNd1BEUUYwL05wL2swTVM4QXd4RHE1VWZsMDZVNVREeVZQb0N3T0xE?=
 =?utf-8?B?V0xkTkw5ZFIyUG84c1M1MytjVXFRVmpKUkJUUHlHY1M5dGJYNW95eHZ6cEZC?=
 =?utf-8?B?NkxEdzFuUkJ1UzhRMkVGbmFrNEhlUndYdDRGS0JVT2N4TGRFUUlRL0ZFYzJy?=
 =?utf-8?B?MG81RGt6OG5tS29YSDlUQ3BraTN4QTJvcFB2b2c2MDVDWEY3NWw5YTBDdW8v?=
 =?utf-8?B?Q3hvZ0ZoV3NyWVNrU1paZFFWNmIrTzBqSDRjMTM1cWhXSTBXcXZVVTE5MzVF?=
 =?utf-8?B?YlNGYmNiWXFrQm1ZVDhNUWxlanAvVXNjSVdPRkRVVjZnY1EzOXA0MDYwMCtv?=
 =?utf-8?B?SUdWTldIZVN4YkZ3YUJiNUYra3NKdDV3L3pEZ1FIdW83NXVIVmxkOHZhenZT?=
 =?utf-8?B?MzRFeklhZVVESEdyaUM5Y2UxOE0zWVNxSGd4TGJid0k4Q0JaWk9oL0RLRFJY?=
 =?utf-8?B?UEJabTRQdVhVVExZQ3BqbmdrMmEyRThTYkZjT3ZoZWR4YUw4bzRheDZ3S3Rm?=
 =?utf-8?B?ejkvQVdzSUVLNFp3UkRDM3JFRy85MmNqQ3BJMklYVElhSFBuMHdWNlpsOVY4?=
 =?utf-8?B?NndRYXl0MzloVkx3blBtOWZtZGJZMXdNZlAxQmViREprMzhlWldWRGhsTlAz?=
 =?utf-8?B?dlJBYmVMeG5JZEd1bFh6RkJXTjJRb1ByVFVHZkUraUhNODJLNnVpUDVjYkVq?=
 =?utf-8?B?NkFTWlcxYUZodnRCdWtZYTNxVTNSUjh0T0dGbk5XQVR1VWtqVFFaVndNRlVM?=
 =?utf-8?B?SWdIT2E5ZGtrZ2tQK2xQazkraHcxdHdVUjhwbnNtWmI0TmNnQkFDbEFDUmRB?=
 =?utf-8?B?RzRhVkllaXdQR2JCbkR2eE5sY3dWMmsrRFRRVC8vT3YyYmpKK1ZRblVCZXlU?=
 =?utf-8?B?QXlnL0x6dTZIWjFpUDYrcGlmMjgwUUhqRm9xOW0rZWx0N0dlNE01Ryt2cFRZ?=
 =?utf-8?B?VHAxNHdibVpCb0RPS1R2UjBkaWgrK1d4cktmM2xnNWpQK1g4UEZpMUVSMktr?=
 =?utf-8?B?a0tZQTczbG1kUkQrUURKdlBwbXNlQkpOdFNwb3YxQm5zSEFueld4UTNwWncw?=
 =?utf-8?B?dHV2OVBPLy9jSUlHYWc4RW9sbkxlZWFZdEpJWFpzYXV5a2dIbEpmaGJ5aWIv?=
 =?utf-8?B?TDFJYjZwU3VieTJRZkdqZTloWmkzZ0V6WjFIMkJRUllCVmxOMnhlbFFjNW5K?=
 =?utf-8?B?TDFDUk1TMmJnRU5BdEZuRVRqOWN6UEkzekJ6N3VWSkpkK01jNkxtRDd5UUlx?=
 =?utf-8?B?a3FGQzR6TEw1MVRkRGZGc3gvcXZVOFl2QlppVm04eVlsWjl2d0ZKMVlrOU1s?=
 =?utf-8?B?UDQ0Sk9oSzU1ektSWWc3bnIvQTU2UjVFODEvWHRmUzhsZXZOMm84SWRyY2pZ?=
 =?utf-8?B?MXBsSDNLa25QUHVwWW5uMDEreWhySEdrcVM1NWNqSnRqR1BTNE10eDJYc3JZ?=
 =?utf-8?B?RmVxdGlqQ2tJYzFoaWJnZVFEOXM3VkdsbXI4eEdiUHBURUlvUW5WQzdPT1FK?=
 =?utf-8?B?T1E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F33493A68B571B419203F4B00C854083@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?VmVGUlkrVElFQStybDVWc3hOQTF4d2FMT29BUU5tNWRIdm5iaGY3SWNVcm1R?=
 =?utf-8?B?NWRtMXVFTTZmS0JCQndwYUI2QUVIOVQ3UDZQeHIrQjREQlpVTEliUkdGeC96?=
 =?utf-8?B?NWY5elBZMzEzUFh5RExRVlY4cTdxY2tiSVFwVFcwU3FrYkpGOG5YTjh1SmFs?=
 =?utf-8?B?OVZKT2Rpdmt5dCtOam5saUJVVERuZU1RVFVlMFh5N3V4VDF1aVUrN1F0endD?=
 =?utf-8?B?aEVZbDFWcC81ak5jNVpWT3lnMlZMSEdFN053Y0tUU0Zzd2FqR1NNZmV1UFJy?=
 =?utf-8?B?OFRqdlFITFlVNGgybEtzOWo3d1pmaGZTenNDT0c3MkZvYis3ak5ITUwySmxY?=
 =?utf-8?B?VlN1UHB5M1hZWkNOS3BMczZWNUFGQzcyUVkwbklQUlRkQlZUcm5LUU9XUUZU?=
 =?utf-8?B?TG1STFRDOG54Sm8xRUxpOUpWYmxQcUpZRExNRUM4MGlGUFZ0SVhmRk8xWGJr?=
 =?utf-8?B?a204K0FRTm9pOUtmMnVHdm1NMmtRTkhCUmFUTFZmRHBBZ2hocUhvM0pEcEVH?=
 =?utf-8?B?WklHb2J2MmRZcWpzRVhuTWR0RStScUxkaEUvOGV0SUJOR1pkeFhScE5YRnRX?=
 =?utf-8?B?djhwc3dySmN0ZEQ1SE4vajM2RVIzSHZnS0ovZ1ZHV2FkMFJDTTZ3U1RKaCtN?=
 =?utf-8?B?T0hlanJMSHJ4dzcvNVJLTmhwR2dQUGNXdzdKeFArdU5taWlDa2lpV0JBTXVF?=
 =?utf-8?B?ZFpUY1VzRUNsRktCV3lpd09jcGtTT2MwYjJRQ2VRZ1RxYVRrMHV6NUFaZFJt?=
 =?utf-8?B?TmhkR1ZFcER3enh0RzNyQ3lPemowaXZicFhjVDhjcnI0dTBxdi9tQjFSOHRo?=
 =?utf-8?B?dXIxdm84V1BmT2lVa2xJZ3JGUHpQaVU4ODlzSjEzc29ZREhhTjN5SS95OVFx?=
 =?utf-8?B?QWRDd01UNEI1Y0RPU01zU0R5OWlJM1M0dGtrQUk3TlRiVmlLbTMxMGtFUm5r?=
 =?utf-8?B?cXFnN3JzTitSVndScWUxc1VWMkgwZVI5YTY5aUlSTERsYmRMRE5tcVJaaytK?=
 =?utf-8?B?aU1xaGVwaHQwZlVvMzhDeEJlZXU2WHZkVWgrYkFSQ1h2cW9vN0pQQ1N6UEhx?=
 =?utf-8?B?YUpUNEg3Zk95MWh1OVJldG1xL2hLK1NkQzR1byt6SkdxZ3U5WnQ0aU11Qitx?=
 =?utf-8?B?WEtYMERCNURZZEJ6QkM1L1BMcjl3eHpTU2xJL293YkNGUnhNQWJFTEUzam1X?=
 =?utf-8?B?RUlJSkdOSnM1U2w5L2pld1JKc3ZBeGxLelpOZDRkRTgvSWNhcHluYWo2TnI1?=
 =?utf-8?B?NWgrNWNDbVNGV2lHOU5iay9DVHg4R05rdEgwNzUwMnB3dTJWa0JmejdmNzVG?=
 =?utf-8?Q?gQpY0bqejVwnnnPzXOx6RmG6jgDa2hC6qm?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46e59ac7-4316-4bc4-475e-08da7b9c66ed
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 13:21:29.7818
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: W/VISWKAkQqYDVmVtEYcNKF+Re6Fx2v2JkoS3u828nZoxQYT327AetOCl71pyjCGP0Vp6dkL0OaAu7iHGJgUXdISlUtbiRuC/yWfhKpN4VY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6574

T24gMTEvMDgvMjAyMiAxMTo1MiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFJlbmFtZSB0aGUgbGF0
dGVyLCBzdWJzdW1pbmcgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGZvcm1lciB3aGVuIHBhc3Nl
ZA0KPiBOVUxMIGFzIGZpcnN0IGFyZ3VtZW50Lg0KPg0KPiBTaW5jZSB0aGlzIHJlcXVpcmVzIHRv
dWNoaW5nIGFsbCBjYWxsIHNpdGVzIGFueXdheSwgdGFrZSB0aGUgb3Bwb3J0dW5pdHkNCj4gYW5k
IGZvbGQgdGhlIHJlbWFpbmluZyB0aHJlZSBwYXJhbWV0ZXJzIGludG8gYSBzaW5nbGUgcGNpX3Ni
ZGZfdCBvbmUuDQo+DQo+IE5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkLiBJbiBwYXJ0aWN1
bGFyIHRoZSBsb2NraW5nIHJlbGF0ZWQNCj4gYXNzZXJ0aW9uIG5lZWRzIHRvIGNvbnRpbnVlIHRv
IGJlIGtlcHQgc2lsZW50IHdoZW4gYSBub24tTlVMTCBkb21haW4NCj4gcG9pbnRlciBpcyBwYXNz
ZWQgLSBib3RoIHZwY2lfcmVhZCgpIGFuZCB2cGNpX3dyaXRlKCkgY2FsbCB0aGUgZnVuY3Rpb24N
Cj4gd2l0aG91dCBob2xkaW5nIHRoZSBsb2NrIChhZGRpbmcgcmVzcGVjdGl2ZSBsb2NraW5nIHRv
IHZQQ0kgW29yIGZpbmRpbmcNCj4gYW4gYWx0ZXJuYXRpdmUgdG8gZG9pbmcgc29dIGlzIHRoZSB0
b3BpYyBvZiBhIHNlcGFyYXRlIHNlcmllcykuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gLS0tDQo+IHYyOiBOZXcuDQo+DQo+IC0tLSBhL3hl
bi9hcmNoL3g4Ni9pcnEuYw0KPiArKysgYi94ZW4vYXJjaC94ODYvaXJxLmMNCj4gQEAgLTIxNjIs
NyArMjE2Miw3IEBAIGludCBtYXBfZG9tYWluX3BpcnEoDQo+ICAgICAgICAgIGlmICggIWNwdV9o
YXNfYXBpYyApDQo+ICAgICAgICAgICAgICBnb3RvIGRvbmU7DQo+ICANCj4gLSAgICAgICAgcGRl
diA9IHBjaV9nZXRfcGRldl9ieV9kb21haW4oZCwgbXNpLT5zZWcsIG1zaS0+YnVzLCBtc2ktPmRl
dmZuKTsNCj4gKyAgICAgICAgcGRldiA9IHBjaV9nZXRfcGRldihkLCBQQ0lfU0JERihtc2ktPnNl
ZywgbXNpLT5idXMsIG1zaS0+ZGV2Zm4pKTsNCg0KT2gsIEkgc2hvdWxkIHJlYWxseSBoYXZlIHJl
YWQgdGhpcyBwYXRjaCBiZWZvcmUgdHJ5aW5nIHRvIGRvIHRoZSBzYmRmDQpjb252ZXJzaW9uIGlu
IHBhdGNoIDEuDQoNCkhvd2V2ZXIsIGl0IG9jY3VycyB0byBtZSB0aGF0IHRoaXM6DQoNCmRpZmYg
LS1naXQgYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbXNpLmggYi94ZW4vYXJjaC94ODYvaW5j
bHVkZS9hc20vbXNpLmgNCmluZGV4IDExNzM3OTMxOGYyYy4uNmYwYWI4NDUwMTdjIDEwMDY0NA0K
LS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL21zaS5oDQorKysgYi94ZW4vYXJjaC94ODYv
aW5jbHVkZS9hc20vbXNpLmgNCkBAIC01OSw5ICs1OSwxNCBAQA0KwqAjZGVmaW5lIEZJWF9NU0lY
X01BWF9QQUdFU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDUxMg0KwqANCsKgc3RydWN0IG1z
aV9pbmZvIHsNCi3CoMKgwqAgdTE2IHNlZzsNCi3CoMKgwqAgdTggYnVzOw0KLcKgwqDCoCB1OCBk
ZXZmbjsNCivCoMKgwqAgdW5pb24gew0KK8KgwqDCoMKgwqDCoMKgIHN0cnVjdCB7DQorwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCB1OCBkZXZmbjsNCivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHU4IGJ1
czsNCivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHUxNiBzZWc7DQorwqDCoMKgwqDCoMKgwqAgfTsN
CivCoMKgwqDCoMKgwqDCoCBwY2lfc2JkZl90IHNiZGY7DQorwqDCoMKgIH07DQrCoMKgwqDCoCBp
bnQgaXJxOw0KwqDCoMKgwqAgaW50IGVudHJ5X25yOw0KwqDCoMKgwqAgdWludDY0X3QgdGFibGVf
YmFzZTsNCg0Kd2lsbCBzaW1wbGlmeSBzZXZlcmFsIGh1bmtzIGluIHRoaXMgcGF0Y2gsIGJlY2F1
c2UgeW91IGNhbiBqdXN0IHBhc3MNCm1zaS0+c2JkZiByYXRoZXIgdGhhbiByZWNvbnN0cnVjdGlu
ZyBpdCBieSByZXZlcnNpbmcgMzIgYml0cyB3b3J0aCBvZg0KZGF0YSBmcm9tIHRoZWlyIGluLW1l
bW9yeSByZXByZXNlbnRhdGlvbi4NCg0KUHJlZmVyYWJseSB3aXRoIHNvbWV0aGluZyB0byB0aGlz
IGVmZmVjdCBpbmNsdWRlZCwgUmV2aWV3ZWQtYnk6IEFuZHJldw0KQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 13:21:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 13:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384595.619996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM883-0005rz-GR; Thu, 11 Aug 2022 13:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384595.619996; Thu, 11 Aug 2022 13:21:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM883-0005rs-Dj; Thu, 11 Aug 2022 13:21:39 +0000
Received: by outflank-mailman (input) for mailman id 384595;
 Thu, 11 Aug 2022 13:21:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM881-0005rd-Iq
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 13:21:37 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2052.outbound.protection.outlook.com [40.107.21.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85def86b-1978-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 15:21:35 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4825.eurprd04.prod.outlook.com (2603:10a6:10:1b::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Thu, 11 Aug
 2022 13:21:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 13:21:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85def86b-1978-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nztw/jhRc4Yxl0QjqfY19ywJBfSAwBuQFsB1C4KAlXwDJ2Lf18DzJsePQhYjWOwUxlnlYpmBqTQTlpbdKr1CZHthLHZUiP3D6rlB9f5uJi0fdSwcZwdN0RtTRXv9CfH8CmbARVOxe0sRm+MkQpcaCKPbBCv1cp3U9fudWLeIZ0RbrvT+OyPfLC/OYonMRwNuJTLusItvnvoKRibfdxsrhLwRi30FZjcsIpNNTWxzI7LpS5xhBtsOQbZo06x+5R28PKLiDnod9EEmwHt7diV4qjj5WZbrDGQPWHW5mAPzSkXnEDkUfMNnCPqeFne0tMt3twHm349hquCxk5ypO1sVhw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V2977ye/d6M8LEtJlSGpyx62Eq26xhcvUCxRD6aJums=;
 b=FYSzQFrWUVzRpzRKAuxtPUOXbMxCnDp2GHU6PcAJrGjYFQoVgN0XKT1r0rrTcZSfHEJi/PJud6WImqcrnvU1inVIuv1rI8bt71xJDiu3yxmWaWimB82wk0u9Wh+zJzBx5dsQ5aUwKUmgLndKV/L9D1SbB1ZozcmloKucwWP8W10n4SFtS6vFdGWHc+kAOsvRIGV3LUgvvwsoXY+coGQCH/Jh+dwudo6istyxYmoTie+PC5IcYf2kHsq22OSrRbDa4l9fP2avH0QABV3Q5MPQcVLbXoQX91pjxxW9CW+3BdMxQFtWfeSvjpU7ekS77Bi8DcSlMWNTcgidPEcXDR9g/g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V2977ye/d6M8LEtJlSGpyx62Eq26xhcvUCxRD6aJums=;
 b=YnIel7buicutcN7l9xaNRATmI0BQhj6dGuHbFxn9Fu+tkiR3zu5ISp7w78nlRTivKE4SToo7Xd7dJajmlzGtb3JpQefa1Zs25TKxVuvc26ExjbHmIQmIzpU+ZHRaDM1Pzf5Nb6uINrLCSv/Lw//qJuTOSQRDnF8FjSyb3t+VxzsEg5q5MQhyVdB9HQbSsSVSdqh92TAeLur59HbRvsYvJLXdB2mXFHMeU7ei876xuHj6VhKG73ppbjAuUrsHpUbGUPn9huI2qtlBstEMDfvy+ILHAZzTAAN4YxEUb8XUY+DBiwfgLajKigJcMbx/SFzTaSIZd9okFZrneONFArS3iA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b4f39c5f-d197-67c5-8781-e22ad0c0d827@suse.com>
Date: Thu, 11 Aug 2022 15:21:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 1/3] PCI: simplify (and thus correct)
 pci_get_pdev{,_by_domain}()
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 Rahul Singh <Rahul.Singh@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <ad2d9405-9712-79bd-16d7-666ce79bcb3c@suse.com>
 <45cf7907-3ff3-49bd-e700-4333c0e45177@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <45cf7907-3ff3-49bd-e700-4333c0e45177@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS9PR04CA0064.eurprd04.prod.outlook.com
 (2603:10a6:20b:48b::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 055b6a0a-03b2-4069-8c55-08da7b9c68fd
X-MS-TrafficTypeDiagnostic: DB7PR04MB4825:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aA0B8leyZCukAEwvJWzUsOg+J9xJx5j6X47jtksNW58nrfkYLn8oMLgC8Ey7AotRsVytd2qXbDcBxk08PznGOdeID+CqvMViyTwv9+KsCdelnyVfOZwjeaVw6hlJl05RlOUElpA8KiQvdiQc1X2M8qCIA2GrzGDnz+JZv9kZmSvH1HmfsYArOJYtwgrbVSYWDX+2i7nI5UVV5AUWXOvTi063/LkBf/VGwcfiB9Ubr4ZKJURwdQh2Gohv7XWdMKr6SmyRBZ6x2owSygT86Xqv/nODBsWVzFF/FibYlthm/VDWWQ2DPSqInK5lqkcfLpN4rJsG2iv9p1Gf97NimUyOPbWyKzJpuDJrqSBxU+R+tispTLYCCOO1fHDiDXMQxGKNA3S95lgMAlNXMzty06BzGYT52SLGOJTSg1iHNNjiqDnHBYWF3CSaBCCVLSmwWq2duOtfPS5ZOMNYGHxHt04n8lp0L91G9KiMAxk7lid1hQjyHQyzE+z3/2ItlurtWbgZDLjOSpQDgqOay3nwBoo+Vz0+qylJLmHwLapR6HyYnFYIB/HR2JjCL9ARjpFW+DdwBVyt/T0grnU/ecTw+au9trSuXpfh29eTxukZnNajfiXp0a5mdfU/px0DrDll2Gqsg41lNgbms7Or6P+KcIkIKmyl7+RwgwmwuV2zeT8rwnuh/vz3r4OaarvLAkSpTX84n64yRYMjMcTlV2LzPXVzUOqrj79+i80pnYWXpOqt2DVIiQyRYvqLrcsskvwMdlqOAhO5S7w/he+DQujs/bPy9iA/NeAY6zcYYL59l6ojqWfZxrASZZRKy427YH8IQKpR6X1NocPTT585Tohcj8sbxA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(396003)(39860400002)(366004)(346002)(136003)(2616005)(478600001)(41300700001)(26005)(6512007)(6506007)(53546011)(86362001)(36756003)(31696002)(6486002)(31686004)(6916009)(186003)(83380400001)(54906003)(8676002)(4326008)(66946007)(316002)(66476007)(66556008)(8936002)(2906002)(38100700002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VnJiaC9wY0JPME03bUhaTU5SYm5PeXViY0VoRkVvQlVhQTgwS3RscEQ2Vm1D?=
 =?utf-8?B?c0VTRVNHOTNRdkxTcVZ1UGxNT29hOTFsbGxDSkt2aWVkRVM2UUtRdE9VVVk0?=
 =?utf-8?B?RzVnblNaL096NVVXcFlKdzUzU0NKd2QwRkxKalVkTTIzZVh2L1JhWHh6VEJP?=
 =?utf-8?B?SnkyKzhldVl4S3o0VnhGcXRoOUpxSXppaStwVzhORjE1blJUMXkzanFaNzNV?=
 =?utf-8?B?OHAvUXBrcERkVmR6SmhEWFl1S1pEeFp2azNXVENvUGNQbkMxZDQ5Zjc1czVF?=
 =?utf-8?B?UlRTU2p6b3J1QndON2FaQWM0cnZQWFRlcWN1czNEN1dpTzIvbDFqRVVmclBw?=
 =?utf-8?B?RVJqalNpM3JNQkY0UWVJd3VDWjF4UlRwZjUyQXY0S0s4U1VYK2JLSzNadVFy?=
 =?utf-8?B?VmFDUSt4b2dnZ2lvZ1FsS2lwNkIzd2RTZG9Ic29zb251dWFYRTJETyt2VitX?=
 =?utf-8?B?VEJ1bit1cTB3bFN6ZGdvY1Jzc0RkdWFXM0phTGwxcnEvSVg3ZDlCbTQwTVpr?=
 =?utf-8?B?Sm9ReFJmcGZlSytqS252azdCSkRKajBkWnpBYWhyeC9CQ0daR3F3SmVXbzIy?=
 =?utf-8?B?Mk0rcGRFOHZRODZOMW5PclFkdkJMR3RHS2VoM3FCUU02VzJFdmxlbDZFOTFH?=
 =?utf-8?B?Zm8ySVZKZVoveENaSzZTZENkNFlvdFA0aUFMYmswemk4ZVBsaSswZUtzcjkr?=
 =?utf-8?B?V0Y4NWhvYm9ZcnQ1c3pDS3F4WGtsOE54V3VLTUwzU1NLcVYvMHMrSjF5Qnlk?=
 =?utf-8?B?SmxGUE04ZnhkdHVhT3MxRVp4eWlkangwZWRhYkt2b2RxMWRjSjBMU1l6V2NS?=
 =?utf-8?B?Nlg4KzhFWjE4R1hIc1NEY2hkUnZPMFNSanhncEhsRTdiazlDL1F0dmkzQUZB?=
 =?utf-8?B?cjBYNUszcHkyWmQwd2oyTjJaN3c4bVpRc0JaQ1JXbDNyT21TTTFqSE84d1dk?=
 =?utf-8?B?TVhYQWY3bmdaQ1QxZ00vVURlTzBGMWN5THBMWTBXOHRCc0hmYjFHMllJbU5V?=
 =?utf-8?B?OXh2THVaVXBhTXg5UHlJR0huRVVGeHZmdldnWTJwK3lETjFpNWJHN2lxbEQ5?=
 =?utf-8?B?TXpoOUdqdWJyb3NmSTJYL1V5WDY1d0V2dWFxSlJwZG9YY2I2Y3NlUGVUUExS?=
 =?utf-8?B?RmdRc3phSmhNWEFUdFFta0IwOFZtL0NMdjc4dkk5eENoVjdRSjdXcy9UL3Na?=
 =?utf-8?B?NFRELzdjUERicnpHMWlxbGdhcldlTUttN2EwYmlzU05sQUgvRnF4Z3huN0pQ?=
 =?utf-8?B?Z2pCaXR1TE1YSXNRMkdZS21WSW9iNGVjTU5KM0F2RHVON09pOEdpMXhLb3Er?=
 =?utf-8?B?c0EvbTAzNWZPVjBHU2syYkxzWEtwRW5PTGYrOUdnVGtOTU5udUcvMzZNUllV?=
 =?utf-8?B?WHZuTkJpQVlKRGtTMnZDeFVJWkhsQ0RrY1MxUWxPWE0waEdYNjRyNG1uN3hG?=
 =?utf-8?B?LzBkTUtnMmNYcG1RUkxxbHdDMURiUHRFWEJOT0lTSmZPRW5kM0dWcE1NQjla?=
 =?utf-8?B?Y3l1R2RqdGZLWjBjK3VHN3J5ZHVDNVUxS0owei93OUh6L1hDVFNWV20rd1M5?=
 =?utf-8?B?SXU2bnF2K0wvWUNwNVNxK1lDNFlvZHpMZ0ZuTWt5cVg5bXJFN2hSRS80VzZt?=
 =?utf-8?B?NjJ6Q0tVcXJhMU0vUGdqS0daWHBRcVFMd05KbER2SW5ibk4xdUZ3b1QrUUxJ?=
 =?utf-8?B?WExoMU1hUUVWbEd5cXJ4a2lDdSsxWklubmNCOUhzQkxoaXc5VllhZUxNTTFT?=
 =?utf-8?B?OEc4a2p2TXc4T2VZRGZKNXVpcm5XVFJnR3pZQUlxYlhlY1UyT2djazVKaDF5?=
 =?utf-8?B?WHFGSTFFaFkrM2RCYWVCVWUyR2FYRmNrZGVkMUVxRUNUQjVTWjJWa1dXY3lW?=
 =?utf-8?B?SFRvRERibkRRamRRenpKWDEyZTQ0c0o5U1MvVVQ4bERjK2lyOWJCbWkxaEts?=
 =?utf-8?B?SEg3SFRHalVKcWlLd095QUN6ZmhVVEdWMmxOWWdOTWpZYUY1YnYzNkZkT0tQ?=
 =?utf-8?B?NGlsNVE4WXAyV1hQdnJTZ2tUMUtjTVJkTXdmNUVGdTM3dS90akNBZ2d2dGwr?=
 =?utf-8?B?VTRGcVRvbWVtb0xnT0J0cjc4b3RoTkFYdHBSSm8wdU5VRjZCWWVXWXBBL2ov?=
 =?utf-8?Q?IYhy5vQWbIaWj19kdS/YVf2i5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 055b6a0a-03b2-4069-8c55-08da7b9c68fd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 13:21:33.4314
 (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: FR4tn60qPcmdjeJX/O/nM2YWc52tlbMpWjuXxNa3QnelTDCBZJC6GzGW1GW+GrC7AJy48HJVEX7pWc0N3m1LpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4825

On 11.08.2022 15:11, Andrew Cooper wrote:
> On 11/08/2022 11:51, Jan Beulich wrote:
>> The last "wildcard" use of either function went away with f591755823a7
>> ("IOMMU/PCI: don't let domain cleanup continue when device de-assignment
>> failed"). Don't allow them to be called this way anymore. Besides
>> simplifying the code this also fixes two bugs:
>>
>> 1) When seg != -1, the outer loops should have been terminated after the
>>    first iteration, or else a device with the same BDF but on another
>>    segment could be found / returned.
>>
>> Reported-by: Rahul Singh <rahul.singh@arm.com>
>>
>> 2) When seg == -1 calling get_pseg() is bogus. The function (taking a
>>    u16) would look for segment 0xffff, which might exist. If it exists,
>>    we might then find / return a wrong device.
>>
>> In pci_get_pdev_by_domain() also switch from using the per-segment list
>> to using the per-domain one, with the exception of the hardware domain
>> (see the code comment there).
>>
>> While there also constify "pseg" and drop "pdev"'s already previously
>> unnecessary initializer.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

> I'm not totally convinced that special casing hwdom is right, because
> quarantine devices are domio not hwdom.Â  But I also can't identify a
> case where it's definitely wrong either.
> 
>> --- a/xen/include/xen/pci.h
>> +++ b/xen/include/xen/pci.h
>> @@ -177,10 +177,10 @@ int pci_add_device(u16 seg, u8 bus, u8 d
>>  int pci_remove_device(u16 seg, u8 bus, u8 devfn);
>>  int pci_ro_device(int seg, int bus, int devfn);
>>  int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devfn);
>> -struct pci_dev *pci_get_pdev(int seg, int bus, int devfn);
>> +struct pci_dev *pci_get_pdev(uint16_t seg, uint8_t bus, uint8_t devfn);
> 
> I was going to make a request, but I can't quite get it to compile...
> 
> Passing sbdf as 3 parameters is a waste, and it would be great if we
> could take this opportunity to improve.
> 
> Sadly,
> 
> -struct pci_dev *pci_get_pdev(uint16_t seg, uint8_t bus, uint8_t devfn);
> +struct pci_dev *pci_get_pdev(pci_sbdf_t sbdf);
> +
> +#define pci_get_pdev(...)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> +Â Â Â  ({Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> +Â Â Â Â Â Â Â  count_args(__VA_ARGS__) == 1Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> +Â Â Â Â Â Â Â Â Â Â Â  ? pci_get_pdev(__VA_ARGS__)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> +Â Â Â Â Â Â Â Â Â Â Â  : pci_get_pdev(PCI_SBDF(__VA_ARGS__));Â Â Â Â Â  \
> +Â Â Â  })
> 
> this doesn't quite compile as a transition plan, and I'm stuck for
> further ideas.

Just look at patch 2.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 13:27:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 13:27:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384613.620019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM8DG-00076M-FF; Thu, 11 Aug 2022 13:27:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384613.620019; Thu, 11 Aug 2022 13:27:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM8DG-00076F-Bo; Thu, 11 Aug 2022 13:27:02 +0000
Received: by outflank-mailman (input) for mailman id 384613;
 Thu, 11 Aug 2022 13:27:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oM8DE-000769-VS
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 13:27:00 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2073.outbound.protection.outlook.com [40.107.20.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47440fab-1979-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 15:27:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0401MB2681.eurprd04.prod.outlook.com (2603:10a6:3:87::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 13:26:57 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 13:26:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47440fab-1979-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R9VoU9NJL9zZpsbI6xjOPpBCCZ+YZhi7ANaTg461YP+y+Z98GnsxFIKKdJVUQLzn0/IOjSo9R6cL3XtDP3ibGb3Eva77NDi3hKyv+F7g81bCD0Qsur+rT/ECsyR49nH4/0fMHz43JZqP9A/wYFwwb2+nLFm3LRGNiHiC8HS4h0Hzka/qiWPzayXW22lM1hZaLDCTFBOQlH0wmXfhylGnlFOHMUypm37mZmwlzCfHjjXe3C4sXPMaTNNpicyB1GMxE0kwUVvyXYoWNX/tQeWmC4OxxTix9g0LRflU1s6k7GT7SUSYRbemVTc6bvYs78LX4jvMjCZTX1nFpVzJv34mqA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dZcPGgeiH61EGCv6EwTUFJqLvVZ7xjcfLcZdbsm1rik=;
 b=lpLTjWog1yYp0Ke27773rkLxy5gR6+c33Ob/G2bW7/0duW/k1yt/R+Wnur8h1ZEawSXWfRVPh94IeZeAgMXVkdhDxyB0qOxKH5RbxpAkJ2UCErQiCHx4ihBc8+rD1Zf0eKK9uk5Gju/0Dv9L824JwYJI3z2afU8bDpDAZRJmejeOFFAojo2+Tl0CabLeD4pc+4VR0Kn8L5kkFQUq3hLsB9mumbnaS64zp2dFOQyMZvq+by71ROUr7CiqJ9rYdWccjKNT6NRq9OQQnzhVITLQg+vGeYYoe3Idj8LKYxRO2Z34sVp2m3vMfSa5h82Z9zvXRJQJ7w9mqbY6xtle+zc7vg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dZcPGgeiH61EGCv6EwTUFJqLvVZ7xjcfLcZdbsm1rik=;
 b=bwtvc2f4BlOhbcPQX5nxNtt3ioXMWo1ONXGSQEJnx72C3KvBCYN1R3Da+xSX9BFKC6brauACBH0Cd0KVm0oHw4n8UYgo0kY0Fte16R4D4UHGE9/dJc2H4aJs4CSapSTYSHy1Tcz5Pc5mbOXjRipluxkC43mH/M2qGefay5GI5bLFBBWt+amWdafxwER0iSmfx4KxFUy88rb11T/BUnAWlsZuEdolsJksXgsZSEXd1i2OvWqilGbTq+j9t40dw2WKoM8+PfjpfiSvnzv5Ep406sfKfuptyZSdgYfDmCmGgRsJOJ7iFT3HxzFN19j744ZwtIjMc+5cPuJZ1EzgXwTtZQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2ab93940-89c3-1316-a1a4-22daa09f96fd@suse.com>
Date: Thu, 11 Aug 2022 15:26:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 Rahul Singh <Rahul.Singh@arm.com>, George Dunlap <George.Dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <0bdd4f3f-965a-fe39-f7af-d8a40b7a68c6@suse.com>
 <48eee228-f7fa-5932-ac93-03cf70de01e8@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <48eee228-f7fa-5932-ac93-03cf70de01e8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS9PR07CA0043.eurprd07.prod.outlook.com
 (2603:10a6:20b:46b::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c026fede-6db3-429a-584b-08da7b9d29b2
X-MS-TrafficTypeDiagnostic: HE1PR0401MB2681:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	grZCsScTjm+65SMl2byUM70xgIj2shsPSsyuN5OD1eM11Xd3WftgykwOuC5SBnIgDg+dgZJYzh7nfcPGdLiqyh2IRfkn/XxLCILeT3LZVSb448VKL08yYAdKTBr59OuEFl+7B6zAy5cxQtbebWif3uKBw5avbL+NwG3LwlUVl2Rv4t4Zpqe6NmCN9/NELG5YSfBvTdTnYtOcqqbiGeirbOCQ5CE5OFBr2Xp+DC8/0DR2V+ragFU7GiYERBiGC5ImkyiwPflzLnFVZvY9hGgsXG8F5K4aMacKQvsohgK2YpQEH9G4cvx/MJjKzelS5xWnx/MBQ0Dhz7oNxGpf3SLMjJIS+i3nCZv+s3akmEuu3Dv8nRTPlxGgJJ9goMphfG9qMrl0ZbPuoYtK8nYecbVv+1WNCSqQqF2/3UtxGrG08cHVkq3IcA4hdDXCrJKIZACBs7lNGF6ZZwu99QTCB7guEFV7CmA6v+RbQJFLDRgAbCgbXb4ZYN7BWvkUK79pg7YQ+Zla5E7FD+A2fCc5S+2oT08z8BuzuB5kyQAzZ71BnVEj3Oa2v5L5/YTE7Cxf7AMXHcyp9jLhlPXPVeECloWF0xJFDP4JB4nRzQ1r8of/gL/cytD8HgPLLeFLIycfiGbC8+fFc4n2aMVGz8SwqInbnYYaweilufjGoGI0lXH6TQSyxRYQeDy/PQoS6YkKmgYA/r5CHPvravAQCtHeJpxnIMpxpVE9Fq+/Z3mkmWX9KVXus+ftCwcMhry+13ExA+i18YUhd/LMx68v/tSbcBUDZO/TB+1a1+BdmiHIKDMyYc0/NjEzAMQX2UWtB6oKdmygvW6QjldtCdxiWFufir7adA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(346002)(376002)(136003)(39860400002)(186003)(2616005)(38100700002)(478600001)(6486002)(54906003)(41300700001)(316002)(6916009)(5660300002)(8676002)(2906002)(26005)(6512007)(66476007)(66946007)(8936002)(53546011)(66556008)(4326008)(6506007)(31686004)(31696002)(86362001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aU9IMDRvQzFudDRFQkxaWHRjNEdXYjFnazg5cjJyS0RGQ1JncjUxL1BvOUhH?=
 =?utf-8?B?N3hjbStDNnYySlEweGtRbE5WMWxoQnhrd0JYRms1WDFZMUVGSjNhM1ZWY0JG?=
 =?utf-8?B?dHV0dWZGTEV2UVJtZFpnN0FQM1dsTHd6Ymd0d0lVNFd2QjRnZ29KcDJyOWVw?=
 =?utf-8?B?UzR0T1VMazg5cU81eGpScXpNSUhab1BXaFlMY0hJeC9oeVVrVWxCcFRyUHhZ?=
 =?utf-8?B?NUY2S2NkTDA4Skk0QnhsWCtLaHRmQy9FSFZ6VlhsYXJvU2JpTHZRTEVmUTEv?=
 =?utf-8?B?Nm9lS3QvTkR6SVBvS08rT2tLejczVjBBZXRnNSsvdlpPUktPcHZ0OHQyTmhu?=
 =?utf-8?B?bDVQSnBZRU94MEN3SWcvaWJuQjBOcXFzaTY4ekU4L3ZyQVhUMmtERDNTRHFv?=
 =?utf-8?B?OTNnNjBsN1FpcVp5eGNHWUtFZVExVWNPcHlpKytWRkZhSndVbHhBWG1OQ21U?=
 =?utf-8?B?U0dYSmswaXZBeW5reWtmR09QM1hVQUVRS09YazZkVVFobStYQkNiaDI0OFQr?=
 =?utf-8?B?ZEhhMEc0NXBFOGJyVTkzbkN1Skp0dHRFTWk5NldZdnhvN2ErNW9vQTA2emQr?=
 =?utf-8?B?bXZPb3FZcGFTMjRodUpKRUkxdVBHdDAxSXhaam9YcU8wVjllbUdHNU9ZZ0N4?=
 =?utf-8?B?c2ZJZzVCWFBnQU9McDRqendPbGZENWhTN05sUjBVdTV5WGJKeHZkakpxaVdU?=
 =?utf-8?B?WGVPeC9XMlNLMXA2Z1VxVTJwQ0tYdXdwZVM5NTJuNDQvazJtSmtjMHFjQTVt?=
 =?utf-8?B?TnRiRTZDNVRxMEY5TURzY3FraERsSjdpenkwelB6Wjg1V2xDOXpXZ0RNaXNo?=
 =?utf-8?B?QlNNeTZadUxYUWJMdW1EbFdLUUtCQk94ZmVCVER3eTVReWpTeHoxQTNrd1Fu?=
 =?utf-8?B?QlJmdVl1SG1WbUNCTERvVWFqNTFUZndjZzZOMHhZRDdUR1p6VFVxWW45OHll?=
 =?utf-8?B?K1l1QjlRWGZPM1lPbzA3TTI3bmxtZEZISUZDR3JQdmhxOTlLVXE5aTl4NnQz?=
 =?utf-8?B?Yk9TNnByZ1VPUDFZbituMjdMM0ZMcWthUVdSZGE4Uy8wK1BVeGVuK1phTitn?=
 =?utf-8?B?Y0pwZlc5M0ZzUThkU1FoN1F2elVVSGFPUmVTTWhJT1JpTXYxZ0xpMUo0bEJ6?=
 =?utf-8?B?UG00c0RVZmRjYTNkZXBkUk4vcGNnS1lBTTlyclg0TVBCZUNveEdaOXFTK2hz?=
 =?utf-8?B?MXZmQmQzQ3FJVE5veVlFaktKaG9HVzdqQW5Nd25Oa1NubWhScXVKMGkxTEFo?=
 =?utf-8?B?MXlXT01PejNzYm04eC9UTkN5cDd6OTNYV01vSzBKN1c3K0Y0TkZpZUR1SDFw?=
 =?utf-8?B?eGUrcHZrclE0cFRKWVoxTTVWQVlJbkdVMWZuL3pPaDU4aXdZM1VnNmVtemk5?=
 =?utf-8?B?Z2R2TU5yNGh2UzV1MndwTXdmT1p1T0Nkb1FwTENmVUtaNkRqNXhnWGVNWE1U?=
 =?utf-8?B?dUg4V0NCM3R1Wm9YWjZIejg3VzcwY2s0SzVXZ2s0Sy9XNzhWRGh4UGduaXYr?=
 =?utf-8?B?eWdzTjQ5WGUvU052eXFYUC9tNzdGZ3R1bmJhMlJTUkFvVnA1Sjk0cHcvbFIz?=
 =?utf-8?B?MVNLelFEWUl1ZTZiVHhXanVhZjFQMWhZTjlmUUE3dmVnZkxnWUhtVWZ2ZWo5?=
 =?utf-8?B?VkRJUUhvbVorcTk4R2Z6UytHZ0tra1BZMU9jdmRla0x1SG92cFNvRTY1WExT?=
 =?utf-8?B?d3VEWFdhNGU1bERobWFBblAweDFTU3BGV3p0eEloQytQVzlJT3VTODlnZGQz?=
 =?utf-8?B?QnJZS0hVM3A1WFdJRXNHZzV0ZnVzaW9PVEtBY0tVOWdlOFYzSHQzdVpmcjRB?=
 =?utf-8?B?UGdmQkRoOVdtajRBOEJra01oN2NIYmtRNlFCakNxUXZqcEthNGF0MUpQczVZ?=
 =?utf-8?B?WHNCUTk5MWhtUGlUS0V3cFFsdmg3MHZuamhtR3VZcXQ5L2V3enhEZlBhbHFv?=
 =?utf-8?B?QTdGYk4zRmxxK1htcmxIK1lqeFhXblc0K2RuRG1Ea0V3SzdXMXNZZHYzMmc5?=
 =?utf-8?B?b3VMQ3FUbmUwRDRlZlBlQ1Y2dU9CR01xQm5VR2Q1NlA1RHRaSXVIa2YyNUIr?=
 =?utf-8?B?VUpvc25EcVVZbHkwTHhSV1NwaGNmd1hybFhWT2F1M1g5eUxwYW9qSkFEUGxi?=
 =?utf-8?Q?9mG4RJuu6azFSmdXUUFWKqELg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c026fede-6db3-429a-584b-08da7b9d29b2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 13:26:56.7232
 (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: Ud5RTBTVSNf3JBu/0uX8hc7LRgWpUIBkumnl8GLUiZnmW1bu9mRLWHHWEPN3EnabZbKY25brDZlHvtJx+azV7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2681

On 11.08.2022 15:21, Andrew Cooper wrote:
> On 11/08/2022 11:52, Jan Beulich wrote:
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -2162,7 +2162,7 @@ int map_domain_pirq(
>>          if ( !cpu_has_apic )
>>              goto done;
>>  
>> -        pdev = pci_get_pdev_by_domain(d, msi->seg, msi->bus, msi->devfn);
>> +        pdev = pci_get_pdev(d, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
> 
> Oh, I should really have read this patch before trying to do the sbdf
> conversion in patch 1.
> 
> However, it occurs to me that this:
> 
> diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
> index 117379318f2c..6f0ab845017c 100644
> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -59,9 +59,14 @@
> Â #define FIX_MSIX_MAX_PAGESÂ Â Â Â Â Â Â Â Â Â Â Â Â  512
> Â 
> Â struct msi_info {
> -Â Â Â  u16 seg;
> -Â Â Â  u8 bus;
> -Â Â Â  u8 devfn;
> +Â Â Â  union {
> +Â Â Â Â Â Â Â  struct {
> +Â Â Â Â Â Â Â Â Â Â Â  u8 devfn;
> +Â Â Â Â Â Â Â Â Â Â Â  u8 bus;
> +Â Â Â Â Â Â Â Â Â Â Â  u16 seg;
> +Â Â Â Â Â Â Â  };
> +Â Â Â Â Â Â Â  pci_sbdf_t sbdf;
> +Â Â Â  };
> Â Â Â Â  int irq;
> Â Â Â Â  int entry_nr;
> Â Â Â Â  uint64_t table_base;
> 
> will simplify several hunks in this patch, because you can just pass
> msi->sbdf rather than reconstructing it by reversing 32 bits worth of
> data from their in-memory representation.

No, I'm strictly against introducing a 2nd instance of such aliasing
(we already have one in struct pci_dev, and that's bad enough). There
could be _only_ an "sbdf" field here, yes, but that'll have knock-on
effects elsewhere, so wants to be a separate change. And there are far
more places where imo we'll want to use pci_sbdf_t.

> Preferably with something to this effect included, Reviewed-by: Andrew
> Cooper <andrew.cooper3@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 13:28:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 13:28:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384622.620030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM8ES-0007kU-W0; Thu, 11 Aug 2022 13:28:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384622.620030; Thu, 11 Aug 2022 13:28:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM8ES-0007kN-T5; Thu, 11 Aug 2022 13:28:16 +0000
Received: by outflank-mailman (input) for mailman id 384622;
 Thu, 11 Aug 2022 13:28:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM8ES-0007kF-4o
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 13:28:16 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73460eed-1979-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 15:28:14 +0200 (CEST)
Received: from mail-co1nam11lp2174.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 09:28:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5238.namprd03.prod.outlook.com (2603:10b6:610:a1::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Thu, 11 Aug
 2022 13:28:08 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 13:28:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73460eed-1979-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660224495;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=DGVTFhKGpF6+dO4s1Sidi8xH75hdqjc+ZBgsg21jmKc=;
  b=CGFGFCpn4xYhR+PuuhQJTGCVOj1YoJrjilTYIsxC5A9PC8Cowpuu6mdq
   BAf4igf1LT783tsHNB3y4xFbYVq3S/0OfPWrCCwz0+cI5TrAuirnBCOOz
   G3sSAURMpKoptJlbZ3xSwSZeGi9x0LxAgakb4iMYY27ATSucYMuy3PDjb
   s=;
X-IronPort-RemoteIP: 104.47.56.174
X-IronPort-MID: 77876639
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AYO9Rlqxn1eji7fOgAqN6t4n5zX0pJuY/Zkaij?=
 =?us-ascii?q?sDw7gqbGUtXu1SFAkJ/ySjEKRiNIzng2vs7SZUUdGKlGwxi4x2ElytlQ3tyl?=
 =?us-ascii?q?sLfoWLuo18932wJhUBgHO1tJvR627kgl+zDkIxMc+4SeQ3XEm3cqCYKulo83?=
 =?us-ascii?q?3TojssxzoVlQvVD/zO2rMg6bDtodNGbZhXytAmqHAZGPqfqowEuwfnH8DMaL?=
 =?us-ascii?q?iqOFpGUBlCDH6eZko264frak1HjJOPQXsHPg7UTO0TpBkGBST5gkb/G8nI3d?=
 =?us-ascii?q?KTsyMa7gi6aCCYM4ekTPowJDv4Lt8HUmVzOhkxYiYpmCnO6aFOm8TY4lg4oq?=
 =?us-ascii?q?czAuwr/wVNZS5bUBugGq1URkZWJKhsl1xh45YYaEcs9i/npKCbRL+Qc1EQz2?=
 =?us-ascii?q?MRseExtRft55TBqrLMYKzZWV1BaPBS8dgN9iddzlAO/WPFfp7GsZawauNgqY?=
 =?us-ascii?q?vMZoPqingX449yT5YUJHQgl2wx8N6PqBDo4Nykd4J6LgWkqHV3Pu3ITqLJ9l?=
 =?us-ascii?q?/ZTYKL4NihSKJEioGWfe2fE4n1YrB8CGbKxxX62MpoHqYh4w6CkJHW+djjXt?=
 =?us-ascii?q?nX/beH7kntt29JFDw2adCHhjznAaTCRUnKR7nWw1Hs5O0KaECZLbTtmT+snC?=
 =?us-ascii?q?TrFN3kSDm/odQD++Ci7KRIWUHgMcIsrgzAzeAGQ83ONk/rZlaP+C/eMtF/R9?=
 =?us-ascii?q?x6ujv1iPTxUUocgHO3kBFdTtPqAOwMD55evgD5Dm+BrWhh+9gAQLFjUMfXaU?=
 =?us-ascii?q?8HzjsthrZiuLNNSydgqqLhHZxo6ROpWSU4mYDvMvG37F6U0jXebGTrCH02d4?=
 =?us-ascii?q?By/TI357/XyOQiOJZWPLdpvqM0gXF2r6xWYN8OGVbwuSY07MnWetazozn8F/?=
 =?us-ascii?q?v/Er4roNYbEYfyZzXZ+wTvR5GOPNFyRPnWBtMyuP1icngTkYJ5QO80e1Si07?=
 =?us-ascii?q?J9SDYoDcKwpQcG4si7SU52NobJolZSPFKXj5zfCCYL7JXyB6M23VU5OwgtL7?=
 =?us-ascii?q?tmGRPbpY7kd7GytwG+eW0fhetD20Sj/RSszF2U5x8PDlHkgx5kLwLken6w6D?=
 =?us-ascii?q?guofFut4jUJ1By6dhpM54dhTJ9DIsrUny7Pw/ehTC8Na2O6bNCaFfXX9QYiE?=
 =?us-ascii?q?15qf7Xo6SBYOl2QrL+7jrTRJ3sAxhIZYv5Xk9PTpjpbfO+Mfgu/wDmxt12qO?=
 =?us-ascii?q?HOlH/s30POLX03nDi0i+1c500U42oEMRwu2Ds8QzyX3DzgnkTPOk7wx3tJG5?=
 =?us-ascii?q?lYwYIoKmK+fBBYByHH+VLmD2ZoH6UYaG9hzRNO1vIzqIfyJ6a3gn8TyL/RM0?=
 =?us-ascii?q?O0JXuxiqRlb4cXixAeSc0RQeyt7O+hhiNOwBxQgIRD/QwKmwHut9XLniDqwe?=
 =?us-ascii?q?r8Dwh1SuzLcfu7SvGouuxTd3NZXdj85m6KI/wVPsse1RfU3gTmgadJL6ifr8?=
 =?us-ascii?q?+6JEvsx/CN0MpIQN/3bxZobqfzdA+wr1rx6hyMRLiN85ZtxHs5+vobiffk5P?=
 =?us-ascii?q?cRrolHl6SQDbT8zso/ByRNtP/gH5xvZ9zmKKOoqIXRdjw1a1YoxH6jUI7NWq?=
 =?us-ascii?q?gglbBVQ+BLCFc/zEAnGNLDp713v9Ro1aeTTIWeot+yO86F0EQkwZy4oLVWVC?=
 =?us-ascii?q?y2QD7WiF+z4rR7Ih0gSLomFYzssNEpP9Cz2ZOxdspb7b32pdCg8k9sCBA+ev?=
 =?us-ascii?q?RdMNHa/pmiAXYL6m2VWu2igXWeKcRrv5Vxwpn1kRtPzy/zTqkeQuDunMGTha?=
 =?us-ascii?q?fgExniBsSLkky76fFDAn9mWYlNP1M3TPHmTz3byf/3JHuYpEVEgCt60qS9KO?=
 =?us-ascii?q?qgPFYYYMfbV7GK28RZ4j5FkyYZzQ6O1Vf/+H4fJEgPRlTuG9O5J/T6oGoIW+?=
 =?us-ascii?q?r6DIpm/vfR3xPtWKTZMKc/n4Zahj9Vc9kNMRAGZVODpvunjsZ6432qbdpylo?=
 =?us-ascii?q?mZs2F6kf2YrG6M8mGXCznLj5WQfoxemczy0wSCfiY+h8qhwU22zOZbmgv4fG?=
 =?us-ascii?q?L0SHeN8Q+vP7DHkMwE3RJXi3S/iMoCw37/7g2oSkwqC6sZ1ottXJAvjQx9QC?=
 =?us-ascii?q?JqT65yhsoNe9c3LaWqH4HxIAg60q179a1YpF4bEIOpZc3i4DIpfktQM9HV+H?=
 =?us-ascii?q?tsK/mFrPEVLx5jSLDITv+REY2O9kLWuZCLJf8vEvd7XRNCVK9RIobthwuaGg?=
 =?us-ascii?q?crFeTf/B3PFabfcKeLr4G+e2ZURQ76ZSNKtiZXJI9RgsMbTFLkxB3CJe+lDe?=
 =?us-ascii?q?wrG3RqO0+fB9tR6I5SaGtWt43KH70r4I46fwIfXj+Q9kO9r8T3uvIkSxoMnL?=
 =?us-ascii?q?w3OENK/FbrugvhsY5foZ9heJk6q21wiTaAlTQNH3XZZkgndZGoEaXPmpefrw?=
 =?us-ascii?q?+yOuH+WxwAT+8pmK0BEqHDPDG9Hr2z/5F8c2WS5IAxnUkcs8abLvJViSwG1n?=
 =?us-ascii?q?FzuJjfUHXGrivRo8WuxGGiS/Sl7c9kXJqW+qSs9R9f/VqqAI/SH/cwNXMpnA?=
 =?us-ascii?q?uvjRAHTtlYKViIzhFyqva8ieMVbh8n3TrK6gPhdfztzYQR8FThNfaRJr2m0c?=
 =?us-ascii?q?2EeyxnIiZ3vVEw3/tq0xdSf32vThlAfdW25rho=3D?=
X-IronPort-AV: E=Sophos;i="5.93,228,1654574400"; 
   d="scan'208";a="77876639"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zw/mnboGPgzO9mhEHwNpvRvIJQ9d/iu/vxYfcrXvmogo8dqPQs05kfQhCf0JfA1Qu2tSRwCbvG4JQ15Lidgz2WdF71hjsj7an0jz+qvxKvxvCFefSxvBqKLZn8jLFeYhpo1G5SVSErfK1O0/cxXOHKjksSyPI9+/1S9Q6SCp0Y242pU6Uar5Uj35KS5BLEEO3tCsK3obgfy4P3B7NyhBUOX6zdIseKpwkVWVt+kzAVm6OP3Xw+4zfBlYKBi0WLfCwE93Zl50KsnD55AFxESrcUviqozohQvPc10nMgZp01xWrJA2uQJhVZMIr80TJ4K+xzuIVTviDxjec7WzgTLrDw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DGVTFhKGpF6+dO4s1Sidi8xH75hdqjc+ZBgsg21jmKc=;
 b=eFjnJUCtHPesYxRnCNBlKzQtLGNgTXoHt1Tw1lF0TMwfJ9HOh5cCrlZuubGXoaATVZAaqU4srmVuEmohH1+wajKrcl2QAxqCTy7HecC2ZdFzy5CNkchAbqr3b5angnWMz01GXU9g0HpPTL1uAnpT4epNkJ0zw6Th71KRO/0t2rOIV1kXE8gghA8ziwcVi8Etj5b7znKctNOCIRmzbhi4IAW5TcC2r20s8zsXQdJMOEAjJZzxFbanOUp1tfT+yvBTd2p32sfwzIWuq8VGNZQ39qH9nhpeqNPH/ru/JY+5k2TGFR5Mc3jCf6qamylAOMx/iVdMw+Qna03CKgn5zRHEqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DGVTFhKGpF6+dO4s1Sidi8xH75hdqjc+ZBgsg21jmKc=;
 b=bN/ltj5lCv6paUOLDs59jNjEU+6A5YO5ytY1QN3AuVX5hHHRHz6rBYwtF9LkhKo3O5/DBZvdNNcqURu2abJm9eK8xZ9e9RmYUZaPzT89Ac1Ii54scTF1r6oJmEgquiF2XzRgRiUIOFnvMvB6l8FgLI+KxJ23NABlvowwwz3yHkc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, Rahul
 Singh <Rahul.Singh@arm.com>
Subject: Re: [PATCH v2 3/3] PCI: bring pci_get_real_pdev() in line with
 pci_get_pdev()
Thread-Topic: [PATCH v2 3/3] PCI: bring pci_get_real_pdev() in line with
 pci_get_pdev()
Thread-Index: AQHYrXCAqmL9g3mLvEOyD7Moiye3sK2psYIA
Date: Thu, 11 Aug 2022 13:28:08 +0000
Message-ID: <02dac373-6614-ceed-8dfc-54fed69d5694@citrix.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <b8a5294a-6869-121b-cd67-0740e6330769@suse.com>
In-Reply-To: <b8a5294a-6869-121b-cd67-0740e6330769@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 469d41d9-4b06-4974-185c-08da7b9d54b9
x-ms-traffictypediagnostic: CH2PR03MB5238:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 c7fjY7dYoMUUwHxgj+6396AWWdOHfFIulnn7fQCD6BA+Td+B88XHP/z6W7wkOXaxG5/kklUkMtvvO/p6Bu7Z8p+Ud150I4m4jZpS93gXayf0ROvcrcI37B/QBOFQz0mxyxgt+OaqUBSzRJMstMNGSDkdrZI4dl2R8F1amEW2cIzJVlWfHas8+WSNOl4fHLETiyilbuIePQLtEW6kTaPAnYqSajZyNDtrDmUzeWzTxo5OV2B41K+4yPZA0qKzEOsYeZ5l3Ouk1b55h7SPjPeWch34nazXAIJ1EVA7jmCYMcqH2H7tfhPlqwDxUOlFHQkD0mHsj5jd7tw0GWavuhDA6K+BKcb8miT/KCi4HnIGQwzzFauQYMnMKvbvH4UYdW/WByLBi6Rm9Bb5pZFJehP63ilQtwDrLG6OYrJNO7nWEaDORNDDYZucS5hJGKecY1SCZeluQNKFGxtC6YGcpczZ9oOoAz7UEx8VYiFcTtewiNu7F59IRHyH5iLY4ktkVJ71MWrGyMYnCckisd+qTUpRncD6dxHh3vorKjtd54zD61YzDlKkGz6cwRUxRLHYjj5E95LlPbBqRweBCsJfxZONRyMEbl2WKkriyt6GKSacCjvRBx27RO2mjlHpMu9wDCi+rGNHgoFITzKesDnK6i7pKEe5h48DAtHznZAWfi6qq2BwRsE9EwiAbM7fl8CpAmSjtFq0t9mbO6ZX7nq4Mwl1jKWLSDzb32clTgOWvjwRjDAoos/HngJK0qikEvVSfQlb2u2NX97mpqbB005DtgTn5vfrSP9xpeBXCNHOOq9xUC9yjv7TTaB4PgRZPG719Pyq1vtwtxF8F0XFMei39zyZ6jJ7YosuH9kDY1zCMM8O2DTRA2oIw224yNF4U1MSLSem
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(39860400002)(346002)(396003)(366004)(4744005)(5660300002)(31686004)(2906002)(76116006)(36756003)(66946007)(316002)(110136005)(71200400001)(8936002)(31696002)(2616005)(6486002)(478600001)(86362001)(66556008)(26005)(54906003)(38100700002)(53546011)(41300700001)(122000001)(82960400001)(38070700005)(6506007)(186003)(6512007)(8676002)(66476007)(66446008)(64756008)(4326008)(91956017)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?V29MUU9FOUkrNDlzcENMU2RRcm8wTjZKUkQ4TnROdVN5cnFLaFVBdkVCdU9T?=
 =?utf-8?B?T01YTnNaMGhpZ29TVm45WWZPTzlqZk11S09VN2J4NzcyNXc5eWN5a1JuTkNX?=
 =?utf-8?B?Ymt3NXh1WHgraWNiNjR2UjlXeW5NZ3dDS0ltQjB4NVNoVXFvZ0hFVGM3RGtY?=
 =?utf-8?B?VEpuSVZ6Wkd2dUhjMEpMclFSUUtEYmJNSDlmZzVHakZMTHZlUG4wNWFIMHQ1?=
 =?utf-8?B?aUtTSW1oRHZxRUV4cEFRNktpQ1NiNnduQmFjUW5rVmVxelYzcTBZTHgwY1FR?=
 =?utf-8?B?Y0VraXlsRTh5eE5lS3prQldvTWtJN213S3c3R0k1enI0Y05VK3Aza0Vqd3d5?=
 =?utf-8?B?cXIrMkFodlo1bmgxVzVRNEw4bCtNSG1HTzdKUVpMYkhzL3B5Q1ZCQVUrTlBC?=
 =?utf-8?B?dWN2aDhmMXlQbllqSmEwbVZuWEd3RVd6TU5DK3BXL044OW9nTUlhOEdrYUwr?=
 =?utf-8?B?anJ4dnYxc2p4RFFKMGNhbTR1WXlTcGxRcGVyMnlqN1JPeXRmU2pTQmJnczZs?=
 =?utf-8?B?dFhZWlFCN1RHVHdtazRaV2QyY3NzdlVVMUxmY0ZKTC9LOFBsSXpHQ3pqaDNp?=
 =?utf-8?B?d3FqRm5zd3J4eVUrMmdDejRMM29ReWIrVDQxa2lKS1l0KzZWYmlKcjR4NEo5?=
 =?utf-8?B?VllhYmFCdDJqMzZqWGdOWmJGcldhODdNSzQycG1KNVJtU1BWQ3ljakN0VExD?=
 =?utf-8?B?UmhmNGplVE85d0M5eVZOcGNiV0ZYOFgvWUpkT3BvSlJhaVA4SkRXWHgwVDR0?=
 =?utf-8?B?aVd5RG1FL3B1M2lSWDAyUVR6ZmhGMi9WUGY2aUczdlk3S0pCWEpCZlB2a3Z2?=
 =?utf-8?B?Y21GK2lSZEtFejhrdlpFa1NBN082V2l6Sit2cDl1dEllMmxpbTRPaHhnKzVI?=
 =?utf-8?B?bzBxRkgwOEh2b0xGM1FyRkNrbVViYWxUTWVGUkk1NDNZa0pmbE8xRHNsMTRS?=
 =?utf-8?B?RHJPVkg2ck9HalFrQlJoQldHRUp0VklXdHFscDc0TnltalgydFYzbmdaOUY2?=
 =?utf-8?B?Ti81b3R6TzcwT1BnWk1UR1ZvRHd4cVNLWGVhS1NpYmxoM1l3K0VZSGFiSURq?=
 =?utf-8?B?azJoK2NCUXhnOWVwMmxhc3IxR3VTY1prdC90UjNlT2RwRzFWbFdLRFJRdmlP?=
 =?utf-8?B?UzV5T2J0bHk3a2xpU3BuMzFIcU13RElJaW9JL0VlUFlwRldGT1Rwb3F4SnlH?=
 =?utf-8?B?eDVrRSszQmJ1RDFhV2wrdnAxbVNmTmFCaEk2QmY2RzNFRTczWEVCVmlnU3k1?=
 =?utf-8?B?dmZlREJJdlZoOThUNGVMYzZJeGMvVTZiY0dmT3d2TjJaTnEwSFM3aEdlM0J0?=
 =?utf-8?B?bjBnSTFxdFZDNm9TQzNZNmRBd0VhRDJ6REZ0T08rWnExMzVQRkc2YWRGVHNi?=
 =?utf-8?B?K1U5akNUUHFlYUV0cmM4TlZtYjU3WDlHc3RGeS8wMytETytPa2EvOWdhbHhF?=
 =?utf-8?B?K3JGRVJZNUd6U0pJWFJUR1QzVkx5YWFmRWczdVF1UXYxT2RmSWM1cWsxRncw?=
 =?utf-8?B?Mmh1c0xmeDNMbjJ4aWMyay9LZENrbjVsQVpFb2kxcjg4VXhFU1VyOHgrU0tV?=
 =?utf-8?B?WjRWcHMxc2JuNytoZWhjaWhmdnNwMFJmVE5Kazg0bWZsVzJDeUNXdHlPVEtn?=
 =?utf-8?B?czl0K28zVEdCOHlrcW1XOTdZem0rNkhGaVBKRUl1N3RuVHRzSmUxNDE0SkY1?=
 =?utf-8?B?dy9RSjhFUTRUek9mdHJVRDRxSGVKY25xQUoxd2puN0VLdktZNFF0L2hmRElz?=
 =?utf-8?B?YVV1anZxWkJucTVyWkxybWhSdXM2TjJ1QW1ja1dXb01rcWs5YTJ3VExWRjZl?=
 =?utf-8?B?MFpwUkUwNHdwTWJWQzFXamZjY1JZYkNzNHd4Yk1OTmwvdXdyS0trRGp3eE9p?=
 =?utf-8?B?YW1WbTZLTEJZVDJndGIwdzY5ZjN5WXFKdGIrM3hFcHVNTUE4WWVhbFE3bEc1?=
 =?utf-8?B?QkNSSUFlWTdjRmVuRkZtdDIybTRaRnVBMHQvektaUWxhenlPR0dVNDR5eFVH?=
 =?utf-8?B?SXhQeUhhek1xTHYwVDM2aVZzVUE2eTNUYSt1ZjF0YzkzS1E2a3VkT2NuVzlL?=
 =?utf-8?B?T1Fod0FPT0pyVjZpMjVqZ0F0WkdsaG9hUzEwOHgrWFRocHB2eUxsNlBWQ1VE?=
 =?utf-8?B?THFVUjl4QWpDY1JIWGpaNXR5cTZXdkVVTjBpZngybFlGSkFWUzN6YlBiRnc0?=
 =?utf-8?B?aUE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C57A53EDE9959A4FB0C71C4A06D0BA72@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 469d41d9-4b06-4974-185c-08da7b9d54b9
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 13:28:08.7688
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: nYUxS8KBbMXUDPwF+YTcwvri7jiHXy1pbJAI2/tAoSGfAYAX7bCpZuWhKa1/0BeKJFC/Xwk51gHzM+niJnd/hZBg9eMkp/3eKWIwJtuvBTI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5238

T24gMTEvMDgvMjAyMiAxMTo1MiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEZvbGQgdGhlIHRocmVl
IHBhcmFtZXRlcnMgaW50byBhIHNpbmdsZSBwY2lfc2JkZl90IG9uZS4NCj4NCj4gTm8gZnVuY3Rp
b25hbCBjaGFuZ2UgaW50ZW5kZWQsIGRlc3BpdGUgdGhlICIoOCAtIHN0cmlkZSkiIC0+DQo+ICJz
dHJpZGUiIHJlcGxhY2VtZW50IChub3QgcmVhbGx5IHN1cmUgd2h5IGl0IHdhcyB3cml0dGVuIHRo
ZSBtb3JlDQo+IGNvbXBsaWNhdGVkIHdheSBvcmlnaW5hbGx5KS4NCj4NCj4gU2lnbmVkLW9mZi1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpSZXZpZXdlZC1ieTogQW5kcmV3
IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 13:38:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 13:38:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384631.620041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM8OX-0000oi-W0; Thu, 11 Aug 2022 13:38:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384631.620041; Thu, 11 Aug 2022 13:38:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM8OX-0000ob-Sz; Thu, 11 Aug 2022 13:38:41 +0000
Received: by outflank-mailman (input) for mailman id 384631;
 Thu, 11 Aug 2022 13:38:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eubj=YP=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oM8OW-0000oV-81
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 13:38:40 +0000
Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com
 [2607:f8b0:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e71203f3-197a-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 15:38:38 +0200 (CEST)
Received: by mail-pf1-x42f.google.com with SMTP id h28so16481238pfq.11
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 06:38:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e71203f3-197a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=xnHqZDNGnZc5b7MP7xNff02YIiaMYNtpO3qGseQwAUg=;
        b=ztgk7H9meRnG112AV5/iiM2wg7+CBWEDQnqIl8ERQD8vRw6VfJXbI5rVaD4EgpxOjA
         CXirhiDe2P6W2FJi0gf7+cawIk/tvG0vAT6kv7YUhDHEwvWhH0g0Xp9UBmfywHq1Us89
         45542KuCYXs4pUTGdrXJOLhPgTVUNwzUMNm7DSwdhSpAWYmQi7xhTAuFMWtIK/TYOhSv
         a6gy3qfgflUUuYwSwWpjqsX1Vh2voje0yaP45Yz+5v7uUaB56G44m1lBCTuwpLxHoyFi
         6mf4Jel6i0sU5ivnSwaYEA1bcj/JLpa8b6mwCu8RDRlfwyWGa86Q6/QCPs/Iz+3FuvU8
         bewA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=xnHqZDNGnZc5b7MP7xNff02YIiaMYNtpO3qGseQwAUg=;
        b=0trGHVDawt0iUcTn98DhTY2pZ+Z4tJX3SGebInwEpkFvBXq/4YStpCR5O3bMgngfgh
         91JqdBmzcTwPlucDjFbrETuouQjyFdiIVTj6/EeN45GQaNHI7hDrmrGcz42JTUYrb546
         LWke59iycsk+QxqQ9uA4aH4+HGFz/XVTUNhs8EoAS37JHcqucEyYB5JGGB1HfQWtdhtH
         IFDcvhhndxdN43plrGq+4rS2clo9oOs1bMDiy4WrstS0txTXeq9w2kPFWHt/Lfi4qeDT
         hMG1yOaY02HzPkyDcGDOhaQQDqkuqcsZLzQ58bIph2THQln7gg43Hmns4CmTCUiAeYsX
         y0dA==
X-Gm-Message-State: ACgBeo3YhWTG9/SHNvnR8pp+kaqMlUAecxaYWMXd+LLq1NWRYKbj2q1B
	WvNQd6pwZNYZE9hIyVStbM5izTAk7JKkKM8yZOVXQg==
X-Google-Smtp-Source: AA6agR5wvQL2hXktVlLrd7PxdcVfdJeJ+31PFw0jutE15Cvic2Q5ZO8CK2Vg4I3GmkpdAOqzfK7DRwsytzSD1SvLhbM=
X-Received: by 2002:a62:30c7:0:b0:52f:9a31:5935 with SMTP id
 w190-20020a6230c7000000b0052f9a315935mr13531307pfw.14.1660225116535; Thu, 11
 Aug 2022 06:38:36 -0700 (PDT)
MIME-Version: 1.0
References: <20220622134219.1596613-1-jens.wiklander@linaro.org>
 <20220622134219.1596613-3-jens.wiklander@linaro.org> <a6610563-38b2-bb66-feab-df2ea29a9bb8@xen.org>
 <CAHUa44GLbbnxrKWQP2ZLGJO_rDUukdiO4_jOs8Ai55iLFh5YmQ@mail.gmail.com> <2444aee6-13b6-a208-d6ba-89c42b43315e@xen.org>
In-Reply-To: <2444aee6-13b6-a208-d6ba-89c42b43315e@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Thu, 11 Aug 2022 15:38:25 +0200
Message-ID: <CAHUa44G1Ea6Ry_TTPzOGG9yqFYabnPQbtsUc49048DCJd36BkQ@mail.gmail.com>
Subject: Re: [PATCH v4 2/2] xen/arm: add FF-A mediator
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Bertrand.Marquis@arm.com
Content-Type: text/plain; charset="UTF-8"

Hi,

On Thu, Jul 28, 2022 at 9:41 PM Julien Grall <julien@xen.org> wrote:
>
> Hi,
>
> On 27/07/2022 07:33, Jens Wiklander wrote:
> > On Fri, Jul 8, 2022 at 9:54 PM Julien Grall <julien@xen.org> wrote:
> >>> +    unsigned int n;
> >>> +    unsigned int m;
> >>> +    p2m_type_t t;
> >>> +    uint64_t addr;
> >>> +
> >>> +    for ( n = 0; n < range_count; n++ )
> >>> +    {
> >>> +        for ( m = 0; m < range[n].page_count; m++ )
> >>> +        {
> >>> +            if ( pg_idx >= shm->page_count )
> >>> +                return FFA_RET_INVALID_PARAMETERS;
> >>
> >> Shouldn't we call put_page() to drop the references taken by
> >> get_page_from_gfn()?
> >
> > Yes, and that's done by put_shm_pages(). One would normally expect
> > get_shm_pages() to do this on error, but that's not needed here since
> > we're always calling put_shm_pages() just before freeing the shm. I
> > can change to let get_shm_pages() do the cleanup on error instead if
> > you prefer that.
>
> I am fine with the current approach. I would suggest to document it on
> top of get_shm_pages().
>
> Also, if you expect put_shm_pages() to always be called before freeing
> shm, then I think it would be worth adding an helper that is doing the
> two. So the requirement is clearer.

OK, I'll fix.

>
> [...]
>
> >>
> >> How do you guarantee that both Xen and the domain agree on the page size?
> >
> > For now, I'll add a BUILD_BUG_ON() to check that the hypervisor page
> > size is 4K  to simplify the initial implementation. We can update to
> > support a larger minimal memory granule later on.
>
> I am fine with that. FWIW, this is also what we did in the OP-TEE case.
>
> >>> +    for ( n = 1; n < shm->page_count; last_pa = pa, n++ )
> >>> +    {
> >>> +        pa = page_to_maddr(shm->pages[n]);
> >>> +        if ( last_pa + PAGE_SIZE == pa )
> >>> +        {
> >>
> >> Coding style: We usually avoid {} for single line.
> >
> > OK
> >
> >>
> >>> +            continue;
> >>> +        }
> >>> +        region_descr->address_range_count++;
> >>> +    }
> >>> +
> >>> +    tot_len = sizeof(*descr) + sizeof(*mem_access_array) +
> >>> +              sizeof(*region_descr) +
> >>> +              region_descr->address_range_count * sizeof(*addr_range);
> >>
> >> How do you make sure that you will not write past the end of ffa_tx?
> >>
> >> I think it would be worth to consider adding an helper that would allow
> >> you to allocate space in ffa_tx and zero it. This would return an error
> >> if there is not enough space.
> >
> > That's what I'm doing with frag_len. If the descriptor cannot fit it's
> > divided into fragments that will fit.
>
> Oh, so this is what the loop below is for, am I correct? If so, I would
> suggest to document a bit the code because this function is fairly
> confusing to understand.

Yeah, I'm sorry about that. I'll add a comment describing what's going on.

>
> [...]
>
> >>> +    if ( read_atomic(&mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
> >>> +    {
> >>> +        ret = FFA_RET_NOT_SUPPORTED;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>> +    region_offs = read_atomic(&mem_access->region_offs);
> >>> +    if ( sizeof(*region_descr) + region_offs > frag_len )
> >>> +    {
> >>> +        ret = FFA_RET_NOT_SUPPORTED;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>> +    region_descr = (void *)((vaddr_t)ctx->tx + region_offs);
> >>> +    range_count = read_atomic(&region_descr->address_range_count);
> >>> +    page_count = read_atomic(&region_descr->total_page_count);
> >>> +
> >>> +    shm = xzalloc_flex_struct(struct ffa_shm_mem, pages, page_count)
> >> This will allow a guest to allocate an arbitrarily large array in Xen.
> >> So please sanitize page_count before using it.
> >
> > This is tricky, what is a reasonable limit?
>
> Indeed. We need a limit that will prevent an untrusted domain to DoS Xen
> and at the same doesn't prevent the majority of well-behave domain to
> function.
>
> How is this call going to be used?
>
> > If we do set a limit the
> > guest can still share many separate memory ranges.
>
> This would also need to be limited if there is a desire to support
> untrusted domain.

I see that someone obviously has asked the same questions about the
OP-TEE mediator in the TEE mediator framework. I'll try the same
approach with limit etc since I guess the use-case there and here at
least initially will be similar.

>
> [...]
>
> >>> +    ret = get_shm_pages(d, shm, region_descr->address_range_array, range_count,
> >>> +                        0, &last_page_idx);
> >>> +    if ( ret )
> >>> +        goto out;
> >>> +    if ( last_page_idx != shm->page_count )
> >>> +    {
> >>> +        ret = FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out;
> >>> +    }
> >>> +
> >>> +    /* Note that share_shm() uses our tx buffer */
> >>> +    spin_lock(&ffa_buffer_lock);
> >>> +    ret = share_shm(shm);
> >>> +    spin_unlock(&ffa_buffer_lock);
> >>> +    if ( ret )
> >>> +        goto out;
> >>> +
> >>> +    spin_lock(&ffa_mem_list_lock);
> >>> +    list_add_tail(&shm->list, &ffa_mem_list);
> >>
> >> A couple of questions:
> >>     - What is the maximum size of the list?
> >
> > Currently, there is no limit. I'm not sure what is a reasonable limit
> > more than five for sure, but depending on the use case more than 100
> > might be excessive.
> This is fine to be excessive so long it doesn't allow a guest to drive
> Xen out of memory or allow long running operations.
>
> As I wrote above, the idea is we need limits that protect Xen but at the
> same time doesn't prevent the majority well-behave guest to function.
>
> As this is a tech preview, the limits can be low. We can raise the
> limits as we get a better understanding how this will be used.

OK.

Thanks for the review.

Cheers,
Jens

>
> Cheers,
>
> --
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 14:17:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 14:17:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384639.620052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM8zv-00056n-Vh; Thu, 11 Aug 2022 14:17:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384639.620052; Thu, 11 Aug 2022 14:17:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM8zv-00056g-RX; Thu, 11 Aug 2022 14:17:19 +0000
Received: by outflank-mailman (input) for mailman id 384639;
 Thu, 11 Aug 2022 14:17:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=foSi=YP=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oM8zu-00056a-6E
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 14:17:18 +0000
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com
 [2607:f8b0:4864:20::1035])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d3d9a45-1980-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 16:17:17 +0200 (CEST)
Received: by mail-pj1-x1035.google.com with SMTP id
 q7-20020a17090a7a8700b001f300db8677so5233156pjf.5
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 07:17:16 -0700 (PDT)
Received: from leoy-huanghe.lan (n058152077182.netvigator.com. [58.152.77.182])
 by smtp.gmail.com with ESMTPSA id
 u8-20020a170902e5c800b00170a359eb0esm9446133plf.63.2022.08.11.07.17.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Aug 2022 07:17:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d3d9a45-1980-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=C8Zf2NSvfDsDU1qGut500fi9G7IQx8n0oSWEzCgVfIg=;
        b=zmUR88JIAsi3JxmbFzbYZ0cS75C5eZdvjTvDlEtg9yG4LDN4HFySLVXxRr6vBvFKd1
         kPTdUXpNud57u410H9Xhwll1F/Q34PmiWMXTok0T51T2kfy/oAxxVjW14AYyx6BB1K6R
         +QbUq9tiYcLL7WkQ15BvyUZydU2L+lJCba3rxUIkScKdDFt3Lk++RrZr1WC+N+D/HbXx
         Xe3cw7qqBeUoQZ91kpADvvuYXtfRPd+Z2nAlzdgvFbs+7BdhiitTUZO4gPRPK90ep2Ji
         xkmlpAAQTc8H82ceMhQLm+vlhQ+Nijvea1mgLanMyZpM2P+JFaJb/ul2KgcCXBkRhqNr
         /HRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=C8Zf2NSvfDsDU1qGut500fi9G7IQx8n0oSWEzCgVfIg=;
        b=CBUEWFoEJQKm6CFjdOKkroK5H7Ogb0zDWE7eIkhe56C6FjnD9ZQ+fghtlG4b3tFstp
         /z/S7PmW7LuaYXLCV7usTq9AgS6HL1Ae5Z8Dkzv8u5FLZ5h0gGU1FA4VMBC4MyOv9woa
         xS+S780ZGaXyb3FKq4lX2tmuDkrqy7qxnicO41K1GEPBNWuQbcwxp5eQwrlCtsYeJLMo
         5wnr1BXTPcZ3CneZcSrYotKOak0BNbPVbqnSkfH3AovVfirxjQaTjBgqOpVS/SSRu0Ed
         Ww1xDLphVEIJYerAsgP3wcHpCYkCKVyU4ZAAm62217QdT9VGL2gtsNj0+pwZ6QU+XXCp
         Xt1g==
X-Gm-Message-State: ACgBeo04zhhtj2Pq6xm5OzspQ3ZYX++iOS7k0ADiVMawVZ5zp/EzgW/z
	QmWdgS/p1gdTvhykvKPFIa4Zlw==
X-Google-Smtp-Source: AA6agR5ORDVzX0hn5csZu/4hcVbAhZCP5wL2HcM6Ed3tSuxyAG4tpDePd/DISbcyW4Nf65t3VIeY/w==
X-Received: by 2002:a17:902:8502:b0:16c:c5c5:a198 with SMTP id bj2-20020a170902850200b0016cc5c5a198mr31988808plb.88.1660227435254;
        Thu, 11 Aug 2022 07:17:15 -0700 (PDT)
Date: Thu, 11 Aug 2022 22:17:07 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Peter Griffin <peter.griffin@linaro.org>,
	Jerome Forissier <jerome.forissier@linaro.org>,
	Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,
	Rahul Singh <Rahul.Singh@arm.com>
Subject: Re: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Message-ID: <20220811141707.GB868014@leoy-huanghe.lan>
References: <20220804081253.GA1219098@leoy-ThinkPad-X240s>
 <D6DDAE40-A8EF-4230-A292-401FBA085EE0@arm.com>
 <EA8A294E-856D-4579-B26E-55F6B7EB477C@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <EA8A294E-856D-4579-B26E-55F6B7EB477C@arm.com>

Hi Bertrand, Rahul,

On Fri, Aug 05, 2022 at 12:05:23PM +0000, Bertrand Marquis wrote:
> > On 5 Aug 2022, at 12:44, Rahul Singh <Rahul.Singh@arm.com> wrote:

[...]

> >> Looked into the code, the GICv3 driver tries to create persistent
> >> reservations for pending pages, and the persistent reservation table
> >> can be used by kexec/kdump.  For the persistent reservations, it
> >> relies on MEMRESERVE EFI configuration table, but this table is not
> >> supported by xen.efi, I think this is the reason for the above oops.
> > 
> > Yes, you are right above warning is observed because Xen does not support 
> > memreserve efi table. I also observed a similar warning on the N1SDP board.
> >> 
> >> I checked that if I boot a host Linux (without Xen), then the EFI has
> >> provided MEMRESERVE configuration table, I can get below log:
> >> 
> >> #  dmesg | grep MEMRESERVE
> >> [    0.000000] efi: TPMFinalLog=0x807f9ef0000 ACPI 2.0=0x807fa0d0018 ... MEMRESERVE=0x807f8141e98
> >> 
> >> Just want to confirm, is anyone working on enabling MEMRESERVE EFI
> >> configuration table for Xen?  And welcome any comments and
> >> suggestions!
> >> 
> 
> No I do not think anybody is working on this at the moment.
> If you want to work on adding support for this in Xen, we can provide support
> and help on reviewing and testing as we have several targets on which we
> observe this (N1SDP and Ava).

Thanks for your quick response.

I took time to look into the code, below are my conclusions.

For a normal UEFI boot flow, UEFI will invoke Linux kernel's EFI stub,
and the EFI stub will install MEMRESERVE EFI configuration table.
This is accomplished in the Linux function install_memreserve_table().

Secondly, Xen passes DT to kernel, it synthesizes ACPI compatible
nodes in the device tree and finally kernel parses DT and create the
ACPI table.  In this case, Xen doesn't invoke Linux EFI stub.

To be honest, I have very less knowledge for Xen and APCI; just based on
reading code, I think it's hard for Xen to invoke Linux kernel's EFI
stub, this is because Xen needs to provide the EFI runtime services, and
I don't think it's feasible for Xen to pass through UEFI's runtime
service to Linux kernel.  If we implement the EFI runtime services for
Xen, then this would introduce a big implementation.

So another option is we simply add MEMRESERVE EFI configuration table
into device tree, just like Xen does for other ACPI tables (e.g.
RSDP?).  And then in Linux kernel, we need to parse the DT binding and
initialize the corresponding variables in kernel, so we need to add
support in the Linux source drivers/firmware/efi/fdtparams.c.

Before I proceed, just want to check which option would be the right
way to move forward?  And I am open for any other solution and welcome
suggestions.

Thanks a lot!
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 14:40:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 14:40:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384648.620063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9M7-0008Ok-RK; Thu, 11 Aug 2022 14:40:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384648.620063; Thu, 11 Aug 2022 14:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9M7-0008Od-OY; Thu, 11 Aug 2022 14:40:15 +0000
Received: by outflank-mailman (input) for mailman id 384648;
 Thu, 11 Aug 2022 14:40:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM9M5-0008OQ-UD; Thu, 11 Aug 2022 14:40:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM9M5-00038I-RB; Thu, 11 Aug 2022 14:40:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oM9M5-0007Ja-Il; Thu, 11 Aug 2022 14:40:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oM9M5-0004GM-Hv; Thu, 11 Aug 2022 14:40:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bEAmLEgxf7ZMaw7LiG/1nWKG0EGYggMOHJBOVfeVpyU=; b=KwkwRV7RSQxsfXmCMR2Wd9A+Zv
	ClkQuAx+1AwtE921iW/aCN9wUM4TNBbk0kwNnxY4pvCjCINpiCe5KExDFnZ7fXnK9vLv/+taMZpSa
	vMdo3R8HHb/UJ/4NLvePzpf9UBG5E/H+dY4Bh59KhzkD9zv59k+tmWPyekutBnwRjL94=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172379-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172379: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 14:40:13 +0000

flight 172379 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172379/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    7 days
Failing since        172148  2022-08-04 21:39:38 Z    6 days   18 attempts
Testing same since   172366  2022-08-10 20:09:54 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1268 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 14:59:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 14:59:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384658.620074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9eV-0001YN-GH; Thu, 11 Aug 2022 14:59:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384658.620074; Thu, 11 Aug 2022 14:59:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9eV-0001YG-Br; Thu, 11 Aug 2022 14:59:15 +0000
Received: by outflank-mailman (input) for mailman id 384658;
 Thu, 11 Aug 2022 14:59:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q8no=YP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oM9eU-0001YA-Kg
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 14:59:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2044.outbound.protection.outlook.com [40.107.21.44])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28e16377-1986-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 16:59:12 +0200 (CEST)
Received: from FR0P281CA0145.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:96::18)
 by AM6PR08MB3526.eurprd08.prod.outlook.com (2603:10a6:20b:4e::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 11 Aug
 2022 14:59:04 +0000
Received: from VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:96:cafe::64) by FR0P281CA0145.outlook.office365.com
 (2603:10a6:d10:96::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.8 via Frontend
 Transport; Thu, 11 Aug 2022 14:59:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT049.mail.protection.outlook.com (10.152.19.216) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 14:59:04 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Thu, 11 Aug 2022 14:59:03 +0000
Received: from c015735a07c8.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7BB93999-C057-4271-8FC2-F91DE6B2AA6C.1; 
 Thu, 11 Aug 2022 14:58:52 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c015735a07c8.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Aug 2022 14:58:52 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB8328.eurprd08.prod.outlook.com (2603:10a6:20b:56d::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 14:58:50 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.024; Thu, 11 Aug 2022
 14:58:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28e16377-1986-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=JTCQKXY1+QHUiDAlEWEZudoxuKKadf67fQwK21m92w1nOoIH/7PT6gf5nuMpNPFwm9QyMQZ7nyAi4aZCgdKtm/sJXZt0n0h0/eepTsPqIvoYeqdA1tUyGnpvC8fkzj/mXpPuGNz4KR6Qrx8zdoaaV+uhgbh7AYWg7szMYjAoE7OonJ6lRoYrNLgiV2SW/DeNtA92YFCMPzeNGshYZtU1swZTEoUgvczfLLwWwSQkMw8Q8EY8+VJ58VAmfGxmLFFL2fhaP4D+K8Oc8Thlo3jrm6UquM2giawqQ1AbrCQxp64Ymfl6lqrHAgLRSV3x0O7r6jR3bPLMx/TdVlExKyXktA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xpPjzz922B+GbkLI2qbtlyGbTL/cglPwEtotB0ioU2U=;
 b=df/1rtkDurtUWW8kKbw3/eFkdMFC+Y7gt6UbDHcYG5YvcsU5qLiWbb/bc4I9R3EDcGvweu5btISMi3L8Xrahyxt2hsKwa3FWYWeaYA3C1m6gEHDvbj2Z/5y9qJJtc1SIB9AQjbEMMDdqg/6AZkkuSMQVbLubJJj9jjIYWi/Ae1LgDNmr7k5I3kvmp4EKf0JjwI1haIw6ohWfN0QxacxY772vi251kz5GikjZOsiWVafYqZvYc/GQExtDK753Oy3geYRj1lxcCdwgaUaE7vO4qe5vbwPTPHbLvSiWYThMgY92UNx7Npy25vW03ShrDCMmo2jQkqAMtLen4EIaXErR8g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xpPjzz922B+GbkLI2qbtlyGbTL/cglPwEtotB0ioU2U=;
 b=3KzH9KWzN9vtJ91EnEsYkWIa3ylP4jsMkF186AniJImJAPntH0aXOxuc/JGvV86NEWZmzdK3Nsf5i5JnTYrzEkk4e4tEtFQ4e2c9+BSo8PsExhcRVl+YPIbRvu8uSgrzmV9VoaI3jffr1VChSfeWLf+A54os20efLQJlc3kybRE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3f9944ec7b038bf3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jb3why6vW2cJVO5mhLhGxk8jVGhkBhnlyHJ+BnEfJRWDs033h2qp8B7AaAzXTZKbAW8sGGGv/oCXST3f0VI/1gYZHNjEnLymbeZJDh8h/wILK01FOXx5uCHjpxoQUzOhdbLbz/VwiC2vzoywHYuuzaU0EkBLdWZO+lsWQzZgjC5e9m9rFUSe7329PKKHcINFBeSCNnLieSmAZOhqqYUimtnvvj7o6m8Hrw/0WMAtTM4coZcd1gGC7EyYSewYEsJTP0R5xOT88KW9HRSWdnHaixJUTrzNKPNE4gctNFudrtS+RtBnx9hyuSogA3bYgjyD3xmaubZBp+CfrJWo+afLGg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xpPjzz922B+GbkLI2qbtlyGbTL/cglPwEtotB0ioU2U=;
 b=eaYVfk9rW7igJ2JqZucDv20WDDltIKK7zu6kkZqS7Ej6Ka5RmLgH4zOOfBe4KdDdNTsHw8zjg9QT7Hpb6ekB8b9t7exdrEJlzsagbMQrk5SSAMbPUQaXigf+TvCEqpo3EEqyOYymdeOdteUgN6JHC+57K7oC/N4mcgkEGyE5ilXnpRpYwTXK+4IceqVkvMceOXvbik8X0qaH9PRuLswViymou/qEi7lYgBuxgQwZdVROP6DR3zLRiF5JBhP+ISfzb4kkjlLm1Uz+lQLcPcaQvYThsFbm166wx/uPskQFFAa64oPJs2GKgCRkYOWGOeaU3oIvQNcq/2Ukl3jweboGaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xpPjzz922B+GbkLI2qbtlyGbTL/cglPwEtotB0ioU2U=;
 b=3KzH9KWzN9vtJ91EnEsYkWIa3ylP4jsMkF186AniJImJAPntH0aXOxuc/JGvV86NEWZmzdK3Nsf5i5JnTYrzEkk4e4tEtFQ4e2c9+BSo8PsExhcRVl+YPIbRvu8uSgrzmV9VoaI3jffr1VChSfeWLf+A54os20efLQJlc3kybRE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "leo.yan@linaro.org" <leo.yan@linaro.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Peter Griffin
	<peter.griffin@linaro.org>, Jerome Forissier <jerome.forissier@linaro.org>,
	Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>, Rahul Singh
	<Rahul.Singh@arm.com>
Subject: Re: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Thread-Topic: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Thread-Index: AQHYp9oMDnfnppRN40WNR+bqQStYIa2gMcaAgAAFzACACZLNgIAAC6aA
Date: Thu, 11 Aug 2022 14:58:49 +0000
Message-ID: <26D200AA-0CCF-4778-A748-36CE448C6AB9@arm.com>
References: <20220804081253.GA1219098@leoy-ThinkPad-X240s>
 <D6DDAE40-A8EF-4230-A292-401FBA085EE0@arm.com>
 <EA8A294E-856D-4579-B26E-55F6B7EB477C@arm.com>
 <20220811141707.GB868014@leoy-huanghe.lan>
In-Reply-To: <20220811141707.GB868014@leoy-huanghe.lan>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: b5917aaf-bbbf-4ebd-0d5b-08da7baa0879
x-ms-traffictypediagnostic:
	AS8PR08MB8328:EE_|VE1EUR03FT049:EE_|AM6PR08MB3526:EE_
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Sb1jelktBxfSgXzVmEf87tOR3QgJ/fhdBezeHNK4zDUYxkXLf0k5WxDfEGVPiJm43CbFZ65QMqp82kSrHnlHMIrS6j6V9Y+ogiKxh/PhowEdqX3u0cdkOFF1xjkdcHd3H+LiiJlNd9pDK8UxNqUCVU/0dBM+1yk+Q1s7HTZ0iLKF63T4jiwWppkV82tH+Ak2iNltu700HN4ZUFmzIeYMzGQkdaTexPaLpGW/E/uPZ9oykdCBGVpYtd4kcjPIJNp4OBqBJ+fQXIMN1Wtw2lhMUsqRQ8zPMrfve4oDxXAJK9iiLZoFIfF6pe/gc3OeSBDYx11eTWV92bBMwnrzSb73CiHgIve9KPXzch/zdh+HUkC/IZMXymPbLl7qcAR8uFSKLOidaDDpnk5kAxmCLNY66DIYZhmmO1cEwmxPTYQvdcL1Zc2Pk0RcvTfqjGnthWM3QiPRn7bjpy7C+omTbHcWfIeLpgmmEVUnFF7bGHj63ztLsP0bkdIHKfbWYBiA4Ae0683PsU5EF0ztjIUg+ODnLJT5qWiC0QUb7rtRPpVDktDNCK226qFKyDzzGAteDrS671pH7vXNRHHSNkaj/N8mG7eLXXEE6teawKl30BQjw+HGzI51SlRwmZXkmjNPFJ1Wzj1WkTC2HT403bNADDmhbvyTdZAhIee8VwcT2e+hLeswU1K2Anoqvbp/l5OSaEy2SI77xCCXcpWHgd0886MyGO5kXavGxAwHFwMSHSMsVoMtAoXGI6v3qxZf+ryoQMJwx3V+57xzuJi97w59uzebmF7rd0er4fcInJQm6bPOIixxd4Z0M5E2cktzCEq/b0srnjqU+nttZPNmNjxR0FJ4lg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(136003)(346002)(366004)(376002)(66946007)(66476007)(8676002)(76116006)(66446008)(64756008)(186003)(66556008)(2616005)(54906003)(4326008)(91956017)(2906002)(316002)(6512007)(53546011)(33656002)(36756003)(6916009)(6506007)(83380400001)(41300700001)(86362001)(26005)(38070700005)(122000001)(5660300002)(71200400001)(478600001)(6486002)(38100700002)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <775D71003984B441A78FA5FB9B712E11@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
 =?us-ascii?Q?zuk9jTrqo3z5ooPjvuFc/7HlH31dcYamCebzc0P703/xyT2BY1H9fES7mnGd?=
 =?us-ascii?Q?pLnjaAyZqB7XWIVLnZj3aNIEcy3nr6oPxlonk6hcAQ/gBfWq5n6vs1lj3Gr4?=
 =?us-ascii?Q?R9lWfXfdc7arEzDe2nByyOHiqC/8MaZipLMFmvQkKvDo03kP7lHITvy8M8tk?=
 =?us-ascii?Q?mcgXzcqDPQAzBOQO+pBZsetBNzTaDawt6ixv4YpGYoADrGhpExRhtrPgjfmK?=
 =?us-ascii?Q?XIF/Ql7lS1EvigRSRlQxvQ5xCRg5gshzlXl4yxnkabzy4J3qjls+5o2YyKup?=
 =?us-ascii?Q?cPDhrVzhEhI25zNUNOU2n3mlFio7y9WzxWyON81w+YYr3nTAJrCCPEM/Nh2b?=
 =?us-ascii?Q?BPJdOyKH7h/qUZB2yECkgvY9r7NjZvjL+F8r7vGgah7YcOjmJF5NxeCy94KY?=
 =?us-ascii?Q?vuEKJ+cWRLH5eF6ZZ9vxSaZCSSzIIy1nz7d/Xxe/hWxcRjelBRr2rEw9NfUd?=
 =?us-ascii?Q?7XJk7Ssfd6FgnLwrCsHvbWCQGU0B8IFqAwJemEg1Z989oFb/vrTL1rdNiqEN?=
 =?us-ascii?Q?dCSbbhjWWt4c3p/+5Z+u6KgZLc6XqEf0kKPfbqniExxcK6bJvwNu9eMND7D7?=
 =?us-ascii?Q?KlQQtKmZA0XIkkj5swC9ItmFVpcdIIu+rNwp4VfwuHMCZlfaW+zwBpHi4W4a?=
 =?us-ascii?Q?F0e9tEXPQ5eMh3Ts6G58QDNi4OjfIxZN9jkaDLVQLbxvwyfWa/RFQOkC5LQp?=
 =?us-ascii?Q?BNHvUotALDF0KVoyvVmTBIqAsUYlwYzwb8ABPNB8hoMkjIaJWRYqTLHc22+P?=
 =?us-ascii?Q?FhtJG4/g/2zpPhk6BCeJjH+GnbWdIOYZHWaL5g9dWiVJRve+ApF5v3mPg/iB?=
 =?us-ascii?Q?mKfgchgEUHJJIsWnr+oyCHvuABlSjfWbA+dV8TNzr9l5jmW/EVjzTmxUqxdr?=
 =?us-ascii?Q?2PwvwHNB7uQs1gddgipZLRDMFeWF/PMVk1akrDb9FPT2hO6RNeJXeByqLhw7?=
 =?us-ascii?Q?S/mlttEamg0uMPA6u5qvTCf/gNPPt/uJS3nCAOhtioJpTV7SoJj3aDk7XRdB?=
 =?us-ascii?Q?UyXc?=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8328
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	55d075de-9f0c-46e4-fc4c-08da7ba9ffe5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XN6m8htMPjV3xQyO1/B9qRABferNh7E12MmE/++Z+WVCLF1PvGdB3dp68BdDi3Nz2YpiIVkmcZjqmcEUELUpw1lUEZEVcBGGNQ8rLF/f2gUSoKg8GP97uDA1GUe527+nDLU//ieP0WiNkKEASOU3tj202anT5eKfYtEFhQI+J+aPVJJMPKDazSdiZJuLvIMDXwBsgwNOjX2SsKd1X+juB9Pr4Zjw5QQukypT+Ve1xMiU7zkvIMX+tYl0DX2KCwob9La+duqErdsW0W5Wzuwv1Bu521f3MIcwmbLsTRNbQNEx4NkE5gqhqZGtSYaMmx9A7jeLDXuryxq0qo/QvJnHzH0Gs98WBedZmAr8lHvt2i079PrzceZFIoS8Yx+7KzFMN+AreTx5jM2d9okKokiJXrg1Y3siZ+faHHiXmn3j6sjBl+HH4NvsCYTLiFo6k4/qrAlr+AVVobSa9U+shomjtefmNRjgo4BIye6TDC4dUMchJbxkWaXUhJ3xHsycBc/F2qD3EsZbTiZwx1lE5Yv4AJHnWxBxCcPkptzE0n3luZzE7yU5nihOUt4pOHoEIjqbRQsDacTc6GMzjXTFBvkQ7PueIZCaxPuE69fKfSgNsJKJxMAgTEAO55aiYxbwdE95zsmoj5HEPZnSlkrqFlZDhPG8uL8AbMRxbJvMOg6iW7iUT3LKd6BY0E+QCyWiWnpdFoH5ajvnXF8HLiREip6VUvx9drfAvVRDsk59pLEExVQ5anf18y+USdIMRSUk4wAKJvwnO/Ik29bDfP03Mo0ycxFxpHgiXzB7L51EsDxmpxKOcMJlzG6MoVZoiJ4rozof
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(346002)(39860400002)(40470700004)(46966006)(36840700001)(86362001)(70586007)(8676002)(70206006)(2906002)(4326008)(81166007)(6862004)(8936002)(36860700001)(41300700001)(356005)(40460700003)(82310400005)(316002)(40480700001)(82740400003)(53546011)(54906003)(47076005)(186003)(33656002)(336012)(83380400001)(6506007)(36756003)(2616005)(5660300002)(478600001)(26005)(6486002)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 14:59:04.1904
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b5917aaf-bbbf-4ebd-0d5b-08da7baa0879
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3526

Hi Leon,

> On 11 Aug 2022, at 15:17, Leo Yan <leo.yan@linaro.org> wrote:
>=20
> Hi Bertrand, Rahul,
>=20
> On Fri, Aug 05, 2022 at 12:05:23PM +0000, Bertrand Marquis wrote:
>>> On 5 Aug 2022, at 12:44, Rahul Singh <Rahul.Singh@arm.com> wrote:
>=20
> [...]
>=20
>>>> Looked into the code, the GICv3 driver tries to create persistent
>>>> reservations for pending pages, and the persistent reservation table
>>>> can be used by kexec/kdump.  For the persistent reservations, it
>>>> relies on MEMRESERVE EFI configuration table, but this table is not
>>>> supported by xen.efi, I think this is the reason for the above oops.
>>>=20
>>> Yes, you are right above warning is observed because Xen does not suppo=
rt=20
>>> memreserve efi table. I also observed a similar warning on the N1SDP bo=
ard.
>>>>=20
>>>> I checked that if I boot a host Linux (without Xen), then the EFI has
>>>> provided MEMRESERVE configuration table, I can get below log:
>>>>=20
>>>> #  dmesg | grep MEMRESERVE
>>>> [    0.000000] efi: TPMFinalLog=3D0x807f9ef0000 ACPI 2.0=3D0x807fa0d00=
18 ... MEMRESERVE=3D0x807f8141e98
>>>>=20
>>>> Just want to confirm, is anyone working on enabling MEMRESERVE EFI
>>>> configuration table for Xen?  And welcome any comments and
>>>> suggestions!
>>>>=20
>>=20
>> No I do not think anybody is working on this at the moment.
>> If you want to work on adding support for this in Xen, we can provide su=
pport
>> and help on reviewing and testing as we have several targets on which we
>> observe this (N1SDP and Ava).
>=20
> Thanks for your quick response.
>=20
> I took time to look into the code, below are my conclusions.
>=20
> For a normal UEFI boot flow, UEFI will invoke Linux kernel's EFI stub,
> and the EFI stub will install MEMRESERVE EFI configuration table.
> This is accomplished in the Linux function install_memreserve_table().
>=20
> Secondly, Xen passes DT to kernel, it synthesizes ACPI compatible
> nodes in the device tree and finally kernel parses DT and create the
> ACPI table.  In this case, Xen doesn't invoke Linux EFI stub.
>=20
> To be honest, I have very less knowledge for Xen and APCI; just based on
> reading code, I think it's hard for Xen to invoke Linux kernel's EFI
> stub, this is because Xen needs to provide the EFI runtime services, and
> I don't think it's feasible for Xen to pass through UEFI's runtime
> service to Linux kernel.  If we implement the EFI runtime services for
> Xen, then this would introduce a big implementation.
>=20
> So another option is we simply add MEMRESERVE EFI configuration table
> into device tree, just like Xen does for other ACPI tables (e.g.
> RSDP?).  And then in Linux kernel, we need to parse the DT binding and
> initialize the corresponding variables in kernel, so we need to add
> support in the Linux source drivers/firmware/efi/fdtparams.c.
>=20
> Before I proceed, just want to check which option would be the right
> way to move forward?  And I am open for any other solution and welcome
> suggestions.

When Xen is started using EFI, Linux is then started purely using device tr=
ee
there is a standard way to define reserved memory to linux using the device
tree and Xen should decode the Memreserve entry from EFI and add the
corresponding entry in the device tree that we give to linux.

Regards
Bertrand

>=20
> Thanks a lot!
> Leo



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 15:06:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 15:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384668.620088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9l2-00037t-A4; Thu, 11 Aug 2022 15:06:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384668.620088; Thu, 11 Aug 2022 15:06:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9l2-00037l-78; Thu, 11 Aug 2022 15:06:00 +0000
Received: by outflank-mailman (input) for mailman id 384668;
 Thu, 11 Aug 2022 15:05:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ia3o=YP=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1oM9l0-00037e-R7
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 15:05:58 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a30c134-1987-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 17:05:57 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 35337B82123
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 15:05:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCE96C433C1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 15:05:54 +0000 (UTC)
Received: by mail-wr1-f54.google.com with SMTP id q30so21634801wra.11
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 08:05:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a30c134-1987-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660230354;
	bh=yKKaOYUKrifIPrRUrtxQh6ZRjjz6BisGvn5YGjkLbls=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=UYoE2bk+tRiUqJfhbbugLO6JRDOi3P8f2SbDxHMwCmVmpotu2i6cpt8zHbdmcCZXG
	 4bzTu5F9GlaDJLzpxe7z15eUmvr/FxrwhtWBu0ZYRZvSO6cIttqojfo7mOASo+/CNs
	 pn7ae3RCROcPFJ2+ZnYbBlpCyY7gZnZWCU3uj7HO6C70O03FArQcOrOvo2kuBaBbZU
	 P34stAUeZUWG4ZE3LVCCYwPHKM1fTxJlL/9RpTie3VgkByxIIMYXR/b1iXEZFJpKxi
	 QWug4N2wlazGxQMLRfqNAFQy82UUleGvVzg0krkmObbT4ONHJc5C7dpUmZIew/CIG1
	 r1Kipz9hgrXtg==
X-Gm-Message-State: ACgBeo31ZyR9KVnGoyu27iaQZxTVpRf5cyMStRhdCtvnCfrqfoZBw+fA
	hklnQrm/WUfN7yepgFa/hJJDBLZ2OkWzX8AuQu4=
X-Google-Smtp-Source: AA6agR5hGh2rrGWzyVcuKHPvIT0Fs9py0KLfZqb5kS98qufoMWbqCba+sGvY9JMXix8pHTbSRHokf9S1KSC0hqFZ3XY=
X-Received: by 2002:adf:d238:0:b0:21e:c972:7505 with SMTP id
 k24-20020adfd238000000b0021ec9727505mr20869668wrh.536.1660230352569; Thu, 11
 Aug 2022 08:05:52 -0700 (PDT)
MIME-Version: 1.0
References: <20220804081253.GA1219098@leoy-ThinkPad-X240s> <D6DDAE40-A8EF-4230-A292-401FBA085EE0@arm.com>
 <EA8A294E-856D-4579-B26E-55F6B7EB477C@arm.com> <20220811141707.GB868014@leoy-huanghe.lan>
 <26D200AA-0CCF-4778-A748-36CE448C6AB9@arm.com>
In-Reply-To: <26D200AA-0CCF-4778-A748-36CE448C6AB9@arm.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Thu, 11 Aug 2022 17:05:41 +0200
X-Gmail-Original-Message-ID: <CAMj1kXG_koV05iMEX9NgibdLNqVxB-2kwUj+bMXD-2CToQgn3g@mail.gmail.com>
Message-ID: <CAMj1kXG_koV05iMEX9NgibdLNqVxB-2kwUj+bMXD-2CToQgn3g@mail.gmail.com>
Subject: Re: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "leo.yan@linaro.org" <leo.yan@linaro.org>, xen-devel <xen-devel@lists.xenproject.org>, 
	Peter Griffin <peter.griffin@linaro.org>, Jerome Forissier <jerome.forissier@linaro.org>, 
	Marc Zyngier <maz@kernel.org>, Rahul Singh <Rahul.Singh@arm.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, 11 Aug 2022 at 16:59, Bertrand Marquis <Bertrand.Marquis@arm.com> wrote:
>
> Hi Leon,
>
> > On 11 Aug 2022, at 15:17, Leo Yan <leo.yan@linaro.org> wrote:
> >
> > Hi Bertrand, Rahul,
> >
> > On Fri, Aug 05, 2022 at 12:05:23PM +0000, Bertrand Marquis wrote:
> >>> On 5 Aug 2022, at 12:44, Rahul Singh <Rahul.Singh@arm.com> wrote:
> >
> > [...]
> >
> >>>> Looked into the code, the GICv3 driver tries to create persistent
> >>>> reservations for pending pages, and the persistent reservation table
> >>>> can be used by kexec/kdump.  For the persistent reservations, it
> >>>> relies on MEMRESERVE EFI configuration table, but this table is not
> >>>> supported by xen.efi, I think this is the reason for the above oops.
> >>>
> >>> Yes, you are right above warning is observed because Xen does not support
> >>> memreserve efi table. I also observed a similar warning on the N1SDP board.
> >>>>
> >>>> I checked that if I boot a host Linux (without Xen), then the EFI has
> >>>> provided MEMRESERVE configuration table, I can get below log:
> >>>>
> >>>> #  dmesg | grep MEMRESERVE
> >>>> [    0.000000] efi: TPMFinalLog=0x807f9ef0000 ACPI 2.0=0x807fa0d0018 ... MEMRESERVE=0x807f8141e98
> >>>>
> >>>> Just want to confirm, is anyone working on enabling MEMRESERVE EFI
> >>>> configuration table for Xen?  And welcome any comments and
> >>>> suggestions!
> >>>>
> >>
> >> No I do not think anybody is working on this at the moment.
> >> If you want to work on adding support for this in Xen, we can provide support
> >> and help on reviewing and testing as we have several targets on which we
> >> observe this (N1SDP and Ava).
> >
> > Thanks for your quick response.
> >
> > I took time to look into the code, below are my conclusions.
> >
> > For a normal UEFI boot flow, UEFI will invoke Linux kernel's EFI stub,
> > and the EFI stub will install MEMRESERVE EFI configuration table.
> > This is accomplished in the Linux function install_memreserve_table().
> >
> > Secondly, Xen passes DT to kernel, it synthesizes ACPI compatible
> > nodes in the device tree and finally kernel parses DT and create the
> > ACPI table.  In this case, Xen doesn't invoke Linux EFI stub.
> >
> > To be honest, I have very less knowledge for Xen and APCI; just based on
> > reading code, I think it's hard for Xen to invoke Linux kernel's EFI
> > stub, this is because Xen needs to provide the EFI runtime services, and
> > I don't think it's feasible for Xen to pass through UEFI's runtime
> > service to Linux kernel.  If we implement the EFI runtime services for
> > Xen, then this would introduce a big implementation.
> >
> > So another option is we simply add MEMRESERVE EFI configuration table
> > into device tree, just like Xen does for other ACPI tables (e.g.
> > RSDP?).  And then in Linux kernel, we need to parse the DT binding and
> > initialize the corresponding variables in kernel, so we need to add
> > support in the Linux source drivers/firmware/efi/fdtparams.c.
> >
> > Before I proceed, just want to check which option would be the right
> > way to move forward?  And I am open for any other solution and welcome
> > suggestions.
>
> When Xen is started using EFI, Linux is then started purely using device tree
> there is a standard way to define reserved memory to linux using the device
> tree and Xen should decode the Memreserve entry from EFI and add the
> corresponding entry in the device tree that we give to linux.
>

This is not what MEMRESERVE is used for. Specifying reservations for
the current boot is straight-forward. What MEMRESERVE does is specify
a reservation that survives kexec and is passed on to the next
kernel(s), as the table is anchored in a structure that is created by
the EFI stub on the first boot. This is needed for the GICv3 on some
platforms, as memory that Linux reserves for its interrupt tables can
never be released again, even across kexec, which means that the GICv3
will be DMA'ing into that memory if the kexec kernel wants it or not)

I'd strongly recommend against doing any of the things Xen does for
ACPI boot today: both the ACPI spec and the kernel documentation about
ACPI support in the arm64 port is 100% clear that EFI boot is the only
supported boot method. Issues like this one would have never popped up
if those rules were adhered to. (/pedantic mode off)

In your case, this is a matter of allocating a structure of the right
type and size, and making it available via the configuration table
array in the EFI system table that the dom0 kernel receives from Xen
at boot.

Please don't add DT entries for this - we should be able to cover this
using the existing pseudo-EFI boot flow that Xen uses today.

-- 
Ard.


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 15:09:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 15:09:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384676.620099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9oY-0003n9-Qe; Thu, 11 Aug 2022 15:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384676.620099; Thu, 11 Aug 2022 15:09:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9oY-0003n2-NR; Thu, 11 Aug 2022 15:09:38 +0000
Received: by outflank-mailman (input) for mailman id 384676;
 Thu, 11 Aug 2022 15:09:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM9oX-0003mw-8n
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 15:09:37 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b8465fa-1987-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 17:09:35 +0200 (CEST)
Received: from mail-co1nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 11:09:32 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5476.namprd03.prod.outlook.com (2603:10b6:208:29b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 15:09:30 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 15:09:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b8465fa-1987-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660230575;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=TLGp5dnrcZ7yzcqXuBT5hQELMhz0zQwP28EYOVgCd/g=;
  b=GfvTaJ9Zlybc9i/DkJLQHZxcR38YzIQQWZQ407b0H7BOnSAyzvSOcPue
   SASzcvy8rQVA0qhsihkTv3uTrm1o4QWOljW2Fq33vCkRy0ZPeoqbgpHVk
   bRjrxIZNl0JNftMkkLI4SHKwEdv+ZPoUDmT+FeW5zU14VlkpzJeUHoXHR
   A=;
X-IronPort-RemoteIP: 104.47.56.169
X-IronPort-MID: 77888654
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A58hZEagft0NUloxe5CQQrWTDX17brhtdy17au?=
 =?us-ascii?q?qucoGZSiukq9fiXu46NDXwAis6AHD0hfc/YAPTNSyQyA8LJJEL3rvfrMoZWl?=
 =?us-ascii?q?SefGamrltzVA/lty2FL4rKfkbqDghGdupkEbhOKjuz0mppihBhyhfuZ13IRF?=
 =?us-ascii?q?kq8pmhrMcdmY/9c8rC9xhlUixnb2S6fJ8T9dpL8qtFwLguguK16qsFnh1yxq?=
 =?us-ascii?q?qHu78hRSwn8HiOS6eh9msV3+AjQqaRQu1L8zyKVWIt/AG45AnH5gCLE6EIEP?=
 =?us-ascii?q?LJY/KgSzISlH0uv58JfWcqeSLjrLeSUWrWfNHdG8jYddPrj4XtApIqe0FMLU?=
 =?us-ascii?q?SqkSA9qs0HhHGvrs7LmRTwbXuKZ6a5QHAgGfWEFwroSAOJsTcPWB+snAlr6v?=
 =?us-ascii?q?4S/OHIZ22unxzpHUeVlM9rT4E74apjlRfM1f2W+hNnss+vMxWEM63LzEw8Tx?=
 =?us-ascii?q?nroaCP+iU3hoAWmb4Uwat7yQXYmWOsQndJKBug3kt/9p0qpCVH8SlwMSet+u?=
 =?us-ascii?q?QRFBmvMnhKD3J8b4gILuMiLhbRTvHOfeuxUzCZnihNP1K6rYKoh7RkGI+FDT?=
 =?us-ascii?q?9m0Um6rfzoOcRLlCIutRtzoJ+YuKFkXegCd/IgZ4T2S/htvLKmytPOf0eF98?=
 =?us-ascii?q?BD2Yx4urPdk2e96u10PrIy/IKmr3MwiSHJRx2+B+68ajsv7CcuEv2hezuEdU?=
 =?us-ascii?q?oAU3DDL+JGeIyu2l8yeE1CXOPXZsSWTiOaqlxptprQSQ+mOZUy+FF9k6RFSA?=
 =?us-ascii?q?2fN0xmj5VvPuhUPCerC1N5b0PyYlPZL7EAu9cFXKYIZHe9NiKyIhplaY1UHl?=
 =?us-ascii?q?1Git6JtPMa4hT+dI5lYJXS3xbZ4qy8OBPOmKVOKA8FVlP3T8epmCea5o7vNR?=
 =?us-ascii?q?Gjh/FDDjNs9SLTmauTJvk1G8MFaatj/Qo61ZyQqrr1H+dVyeu7Wi7Xp/K/hu?=
 =?us-ascii?q?sFGHQzYXmDiS1SxQ6/sXQWMnSVEvd8rqFFiu5iD9BdavY8LjriTvz6ldTGzj?=
 =?us-ascii?q?MWeTJFIA64qV/cMouxscT6rZrx84NLtzio+vqx5lwkO5OHY/n45rUWbtSTHr?=
 =?us-ascii?q?797/a/QujGfN7aaiMMx5azZ/HmQeaRQvL2J0WSBzNujeOMBgPFCFCCCGwwvO?=
 =?us-ascii?q?EDzlsdhpikjGvZkRCnvl0mMM9NGSeYqQrRzy8rDebdURRSzddeOXbaGK0Yxm?=
 =?us-ascii?q?qWOIJlMjjYjI8+dSg1CZjK4zI+nTgNzVrV9w4v+9hHUjUoSnOUwNHIf0jJTh?=
 =?us-ascii?q?ovESKnW8DOnaBQB3W0GhyhLGGyoYtGNaLsqtBEyCVh/DO+MBof7UEHIxkxVt?=
 =?us-ascii?q?H5mSGcl+meM7NLYqdFv2XnfRIIpgRRNYci0eTDLVF03iqC/V4QyOZJb7e5hk?=
 =?us-ascii?q?wVZXUBp2UzAibiDFSumZFMLhlBr4q/URX023CaX3MaE+zvvFm9xbmttm6PzW?=
 =?us-ascii?q?b/9O7/Jhl4E/Z7Dgu4V53766jFC/xKNWxdsKoe94lGOhBm1bhReowTyswdR9?=
 =?us-ascii?q?BxhEqbnDZNPFfQ/10hgztugdDcEWVq6yyL2Qx5/3j/YycJluMIpadkQ0umnw?=
 =?us-ascii?q?yWMs88b2rL6SAklP15NV8xz1BHb/xvCQmlpCzGjIt2IyZc7pTQjW5y7QqoOb?=
 =?us-ascii?q?8IMIMKQbBI0cpXHFaE5j6deTWEOF9V4Ll85CZtltMbDHKJ6mPxnkYA1Z9bUM?=
 =?us-ascii?q?3JlNni0F+np+ImvXI9V3gEbW/ASuMBjrxSayw6gooC9XUeYvnZclhfGKI2iy?=
 =?us-ascii?q?FgmNNk9DoS7fOhdE8+7hOWi7Xpjuss8Bj7u6OGPuvowCJVqylh9m9wGKq1PJ?=
 =?us-ascii?q?x86i9LMb86axBb6OMOHLLGFwx/c/mQrXyR24oU8FikjFG5GaR21QtGS8T0fR?=
 =?us-ascii?q?+Z3YswodKROawRRscf0WptH+Z7PsCUIp63NSQW1xcwfOo/YIwPovmlK6xktp?=
 =?us-ascii?q?FTx6LypRR9vHSBSjGUNMX6P8RlrHGn5jVTww51VTHkS+7FC8rOORiQkBNWyH?=
 =?us-ascii?q?shZ3zL4r6SxmDGcjC6dXwD6Sh+4J2z8n376+tGZAahEJJbxt1OAEShD5bFIO?=
 =?us-ascii?q?7AzYSmN/XYioAYeW9phBGuqYhBSh3O1uVd7JSch7UEb582hSGWA60hLtkcA3?=
 =?us-ascii?q?3z0vQFbiDfB1KpkhnegZXBxxzsDV2fAaIASXkVogPYISI0Kee1ouI+5/Y+ZH?=
 =?us-ascii?q?Cf664BJHdB6+qJix7IwXPVcHzRwEhB2qhMEwJ3R7tFC8pmFgX08od759NeUJ?=
 =?us-ascii?q?MAT/UoYvwcsMRihrw51oKSGbcxi3A99zL5WGp6bT5IfZyLs0fhXUsHbpwPbc?=
 =?us-ascii?q?BnLPprxejpX2fXivqOMs+1tG9umSsBDPvRcVdGvepufUA5SEgWhnRbjHrHtr?=
 =?us-ascii?q?qwhbdSn7bWynRdDMYbMGcmFu9/WfTRNWB4md7TD6nXLIbGgS8ELcjEqIffgu?=
 =?us-ascii?q?G8feZPCnWRBkU7DG5zOG6Gj+uWzQy7Qt0p7Ex4OuSoSiBfZEZRL/QW8KHywi?=
 =?us-ascii?q?gOgkG6vpG6Ids4Nk2kIs83TBVk6nzmWGQufgpe87cttCdZcu5HgJ/EEjV5wZ?=
 =?us-ascii?q?RRnGXBb8bPu5zUldx9ABr9NB9gEXZNG64AUcnP7zPiio80G6yhPBcxPaonlE?=
 =?us-ascii?q?81feJ9xA3EAnfnUTl8TrZV/HXtYj6OGjImUAIU3/XVx1A=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77888654"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kRgacQU6fB3PlBx9JD/fRwD46UBc6e1l4uRh321E/r+5OIb/819mxOCqbxKTC6bWC11Um/aXRzOTbaNZClDsK8OihJEZobI6oJ0HuIz0V2wpyf3uSumi3hb96GQgMlIvDu53je76jiHDA41iHNd4slkpLIEd6Y7oXVGcRcRJTIDfnk2BnYu3QABZSfbj+oJUnqmixtw9YAv+x9a5RCnnyzBvS/gC1pbdro+AjTXDzefo5ziDtacBCDoXvzQVGaakrH1XKhiM2PC91zEYDnpEsp/zFe33uCB96NB3eEWFZ8Xvx0Exi0H11BxfdIN0sQSgUtR29vx02LqmJmFHSLWExQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TLGp5dnrcZ7yzcqXuBT5hQELMhz0zQwP28EYOVgCd/g=;
 b=WxKveXxv9hVmIdQRCAVseSCwZDfhaSg4riaCZ5nIl12KtEzYQJmtIKZJaWdjZlm8yhIyvWI8FysppqW2OISbkpV4ezPDyRdi1A6TZOa7ZkTrbDsPHbNAAmwjFFB+S8E68iIxCmRxvUS31e2mdt+ziz08TUYs2pt0wct3ONkb2ci/oX7mBopMlQ2Wigt0dvrYnTrhRHr8A4E/u7ppWIcg41lFst+tU1kQfYi3ay4SrTfHbAfGVDloSRXAy3wulrbN90RS/gBBLMLKwZagoLzLCpNQ68+mkwjeQuOKLkE1ymrOW/lzlOznM1xOjL4l10V6+ygb2kC/nqKxJIT7SZ866A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TLGp5dnrcZ7yzcqXuBT5hQELMhz0zQwP28EYOVgCd/g=;
 b=FgoqGSLC2w7vUM0ANRSaQDUgWdWPt+sKbEpB1UNDhxUlUwnVeX7Otv4TghZB4Ete/YGcvVNTIklYKT+V5H42y0+YhpM/QPV0NIgXGTQp6xRu2wQPz9QvTl9T1eCQchH+KjKu0faehZ/p0XEApwt5xyFjv5pJ2qC4hYYpqoeRC/M=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, Rahul
 Singh <Rahul.Singh@arm.com>, George Dunlap <George.Dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Thread-Topic: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Thread-Index: AQHYrXBuhfhLVAQnY0WV4dbewZaCI62pr6eAgAABgwCAABypgA==
Date: Thu, 11 Aug 2022 15:09:30 +0000
Message-ID: <5b11f7b9-7264-0797-0aa5-20a988a04bc8@citrix.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <0bdd4f3f-965a-fe39-f7af-d8a40b7a68c6@suse.com>
 <48eee228-f7fa-5932-ac93-03cf70de01e8@citrix.com>
 <2ab93940-89c3-1316-a1a4-22daa09f96fd@suse.com>
In-Reply-To: <2ab93940-89c3-1316-a1a4-22daa09f96fd@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2e3f5951-8b69-40b7-21f2-08da7bab7d73
x-ms-traffictypediagnostic: BLAPR03MB5476:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 WUgOiFAyew0RU4QO+Lpxy9AnseQe8Kl90O2Ikf5x9Nd6j0WVBcjN54Yc3GfLtnbwBp/p5/kq5eGYc0vGqPkvVK/gc6UprBkrU/J/oGlxitkT2nLF8XmqXe4Dj2HKZLID/vd5tXx8w1fN65xvTw92M3KhkGcuCwps2cbHrWmHF4E6O69pF/L9tZ84S01A99PRsJb02oWjc6zDT0+HGj5RNFGgfez3GeiF7I1euXza51Yk2v83mH5W0Nbm7nmtRLzPrkmzwSgySfCfaO2MsLa9W6NY4+gv9FuxWwJIx1lJPsQ8v7mRdKUuQnl2g9N75x2fUHbD7tx8GDQb+2ovxweH4LEVST+n27e0ftHaCqEl703g8WxU4W6AzP9WS+krtE0/Av5BXKKNPJHCDBPoa+Bk9hy452KxT6oJl7vf3sLPfiaQAP7XBu2EbcTjXk3Gox9BbLcdqQ7TOx1ei7rqx/gYgFDZnkK3oKLLcooKoIi4zGZiIQnhxXC05wQiXSDd2gDsPty7u60mySi8/GxpN1Wx7RWaRUj8UNV+ZnsRX0ZmM7cN8Jb9WANg6cAcpDx7Iq/dQEISrCkiw9RPSXo13c7X7A8ZB2xkgpRbdDLmUieJ30XBIkYHQHMY18bg8DcDhSlLgueGtt1twvYAFom3bNuH726gJ4mAWkZIujxE6r1ejnN7gUREm2+0FwDj0f6xxE8aYkc9bseqCYDA1deRiamor6mlqKibHdFn5a4tknjAMHk0bTmAZFwgdOyR3vbzvMILmgkQnDhKMGK3MjD4AyGkigslLWhpBwBSiJnw20jtkgPvCA66Qc/+8SZE73NDmxzjpSKMPYGUsDA5biOaCqed15MunvfOQnsNisDLL5nwko8qrQw1v7J1tLsQF2hXlXHt
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(39860400002)(346002)(376002)(396003)(36756003)(2906002)(186003)(2616005)(54906003)(8936002)(31686004)(86362001)(6916009)(5660300002)(4326008)(38070700005)(66446008)(53546011)(8676002)(66556008)(64756008)(66946007)(76116006)(91956017)(122000001)(6512007)(38100700002)(31696002)(26005)(66476007)(316002)(41300700001)(6506007)(478600001)(6486002)(71200400001)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cWJtbTlRNzcxWnc5SlZMdUdXNHVSMDJrbHUxdjFDc1JIKytPU2VycGxORUtr?=
 =?utf-8?B?Zk5IZHVqOTNYdThlQ3c2azdBdnR4WGpjL09Ca29JRlJaWUhGdU1mbFJZTFhq?=
 =?utf-8?B?QzFaNURmZE5vOThJbFEvbGQwNzVFbStpOHgvdXc4ZUkrMWhTbVdpbkNMNmlK?=
 =?utf-8?B?N2d4Zjd0Vks0eTJEUXhNR0NtUVVnT3NWUDJEWVhZMGJsMG80UVJUWXZKd2lM?=
 =?utf-8?B?RFpCaEdPZkM1TEkyRzgzRVFvL2ZrdHp6cG1ZUHBLWkZqMld5UnNQVTk2UVhK?=
 =?utf-8?B?eTRUbkZURW5yaUc3Mk8zb0FxZ21PQU9HdG1EZTRwQ0hsY0x2S0NLeEY3U1lo?=
 =?utf-8?B?blhwR1pWczdEUXVtb1pBeGR0OTRWVXlGZTZjblNhT202Smd4NDFvSXRNT01O?=
 =?utf-8?B?TFBpQ0xidmFnTCtMM0hEbnh1K0h1NUsxTUNQVTdIUTVQN2s0RllDWmhLYmNQ?=
 =?utf-8?B?Wk1SMjlZZXo3Y3cvTm80U1hsYVQ3dFlDVCsvVEl0dmhLcGJiZ245R1RBUy9T?=
 =?utf-8?B?eGVyQjNNWitGN2ZocjRqNFpzZHBJdXo3SEZpNkFobHBheDFIbEZNSU5URkdO?=
 =?utf-8?B?b3ZLb25DTWVyc3BIclAxWkJKK0Y4L0IwdDVQejVWL0RhbGJYb05xTGp1czZK?=
 =?utf-8?B?Z3NYRDl4THAxNU80a25PZHNkUnM1Z1ErYkhSYTEwblJma2I1eVJDb2VRQTQw?=
 =?utf-8?B?T2U4UXZLb2tLelg0MGJDUzRTN2lEYjJnaGFRSkJ6WHVZcmkvUnZ1NzI1NFpB?=
 =?utf-8?B?cDlheldmcE4vWlVjMHNuMHJxTDI0YXRFNG9tT3dTSWoyWHg1SU9xZW53RzJG?=
 =?utf-8?B?MDA3VGJvanhhSStnMm0rUmFkdk9hallzQjUxUjM1TlhFOHZDZ3IwNWhJcHda?=
 =?utf-8?B?d21CRVBqUjFuTWxnSTdIYm1mTlJKSHR0ZHNNS2dvSSt5WTY1MG9LdEFCQ3ZO?=
 =?utf-8?B?UTR0VWdXUEpjeDRqMGFhYzhXWjh6Y2tUR0pRc2UyaFlTV05xcFBkTVhITDNN?=
 =?utf-8?B?TThzYmFQdkhTQ1BuZGVCa2ZpWnhsRm9pUmVYbDk5MTIvM2JhRU9WQ3NqNDVl?=
 =?utf-8?B?Q0RWUHN2NjdRT0QzRXlTbmxRR1ZKaEV1V2J0U3hhZU9SUlNjeEFOWWRBbjJx?=
 =?utf-8?B?NmJlZWZBZ25WKzV6ZW4yOVVDS0x0VkFhS3NiZDF6dEx4Z1RjMjA2d21iY29i?=
 =?utf-8?B?UFZCblZyS2dXWG9wOUJrMXV6Q2plNVplTE5hZ2tuWXNsYlVhYVd2SUxVSjlq?=
 =?utf-8?B?NFA4ZnhVbU9zVHdxdFFPdEdmRkRSZFVaK2JrVlRwN0RTYjJRVHNkRGJ3dEpa?=
 =?utf-8?B?MGFQQWVuT3RuekpkTnFOT210UVR0cW9LdE5xdTdrVitnblo4azBrMklJcWRk?=
 =?utf-8?B?L3ZUYTRiWW11WHBRK2gxSExGUU55cXd2V1JBT2dOWlR6WnV0YzFQYm9KT3Ax?=
 =?utf-8?B?Um9BcTJYdmVvRDAybTRKeDQzSkJITmlTRUI5TGE0RVZCSGlJNHhENUVWUTFy?=
 =?utf-8?B?T0hqQ3RDOWtMUU42NnlpZDUyREIySFRWTmFwSWlGTVNnOVNUaGRvUFhUd1Rk?=
 =?utf-8?B?a1JQaVUzSVVHWnYwSndzS2I4YUI2cGd1ZGRWeVovUFgvWVkzd2FaazkxMmxC?=
 =?utf-8?B?SHpkYVllcEZWQWdjRHF5bHhxTGlZcU9KTHVPRzdPTnlHVVIxSFFzOENDOXNr?=
 =?utf-8?B?dlVobFIreHVlUGo2S0xTeElqNkw2dVp1WnoyaURuaWNrelhuYXh0Vk5heUY4?=
 =?utf-8?B?VGRtSFZ1T1NBekxaeU1nbGRvQmdubjZpRGppd1FCb2lNc1NZaUlGSHFjZ3dx?=
 =?utf-8?B?OWdnMlhwTmF0S3RhcUxTRUU3dDhXWlZza1dUQTRXQ05DZHhqY1hXWUlDRGs4?=
 =?utf-8?B?NFFqV1NIenJtMXZBNkpRZ3hxNlk0aGNIWUJrTVRxaHQ4Wm9wcU1HdkJyL3h1?=
 =?utf-8?B?aDdIeUMrZW9VK0hjbXZmZ2VKNmZyYWtzemMrbFJYSEJTTkxPMXoxYi9QVkI1?=
 =?utf-8?B?YjluVEFKRDZiOWQ5TVJxTFA1b2h5dGozZUVkU2NnVG9TbzNUaFI0MG1pU2R6?=
 =?utf-8?B?K3dhb2JzYkEzYkpuSXo5SVlnZkFUdzlCcy95QjlMb3ZKNWVZSnJiTCtuWDIx?=
 =?utf-8?B?d0ZwdHI3cy9ZWUZDaFZGaEhjaXVvd3VSWGliZDh0cVNmeTQ0VWVydksxTk9U?=
 =?utf-8?B?anc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <369544CBF05EAC4B9F2DC181DCE5590D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?elVSN3p5cUU2NnJBUGRqbDFLWFZjMFJ4NzhCcG1yS2xVaTU3MHdUOS8wc0Rt?=
 =?utf-8?B?aGs5c05QU3dtVWJEZG1iRlBrZy8yVXlHUGFMVy9FZjFOMG50M1lOUVBGUzFp?=
 =?utf-8?B?emFBYnFEZUNEU1VZNmg0bDdMM3VLNVlsR2Z4Wjlrb3Jkb3Y3RzQ0Nk82bFd6?=
 =?utf-8?B?OThLV1F2THZFRFgvcm9EWUQxWk9vMEc0Zm1UVU1kOG5tdml0T1FvNEJxcnBw?=
 =?utf-8?B?RnRsYnUzWFlDSUxTMTE1Z3lNK09kbHdDN2czbnVGcjZWK1QyNkUrcW9Ka1M3?=
 =?utf-8?B?dHJCTWxFdXphKzBFRkRUV1dKb05KR3E3UFFlM0swS3FzOExDcStnNVFpNW55?=
 =?utf-8?B?ci9oYmlqTFhxMkp0NnRlMGgxRWxLWXFaTElaLzIxUEVEamcva0lVenAvb25u?=
 =?utf-8?B?TUJKQThiNXN2Yk5FTkw0cUJNby9ncHFSSmNSd2NRbUpTcW5sdHVGVjBLNWFz?=
 =?utf-8?B?RmY5bzY5Y3VFaVJNcVhhbFFZTFJXVTZZbTRJc2R6SHBtcnZnQnc2NU8ybGFs?=
 =?utf-8?B?YmdwTGZTVDVFTDNBdjRvbWtudFZweVR2WTNNd1FLNVFaNnhFdlRCSGRweDFz?=
 =?utf-8?B?UlhoMlBFd29KbmdNWmZjdS8vOEl0Z3Vka1d0aTdzMW82QkVxL3lwQmh1SVlV?=
 =?utf-8?B?TGJJRUZndGxEWXBYbi9ZMVdkM0dWVnFmem92TXBFT2Ricys4ME5UKzE0bHpz?=
 =?utf-8?B?dmtrWEhsYWdVZ3pUOVpIdW1TVUtGeVpkbGROYWpUMS9wcm9vRFBlSHMzZkh5?=
 =?utf-8?B?a1BwMGl6OWs0NE5NSk1Ec09wMy9kY1k3VVIwWG1MUnh0aHJ5M0hkQXB0a0tn?=
 =?utf-8?B?bUQ1WW9ZTW5ZUmgva3hnczNWRE9aNk44WEdONXFuaVBDbTdGTjl1ZlNUK0RB?=
 =?utf-8?B?VzI3bUNBejJYTmlnQktkQlFYbEw3TGQ4UHFmRnFISzJNR2tjVVVhQmxTREpC?=
 =?utf-8?B?NUtzb1dqbHNka0kzaWFvYlgwTjMwaHBzV2krVXpiNFFCanlCdnNqR245ZUJm?=
 =?utf-8?B?ck1yaWNGNXBqN2pKOGhIMi9KbWt2QnRGOWI0eW9qaDI1WU9SWHl5YTFtZGYx?=
 =?utf-8?B?S3JuM3E2YlVmSHlGNmdpUlBEbjNHOWJlK2ZjWVlKeUVpTC9GYTllaGVSZW4x?=
 =?utf-8?B?a0tkYjlGRkJFSktSNjJ5SGk4UytnR2hjM1R3TlB0Y014VG1aMFZ1ejNjQ0hI?=
 =?utf-8?B?ZDZaZ0Y1WGUvYmMyZ0pFeFZzOXVaUWpxNEdtOEx5bzkwWXdLSEQ1WmpMSXEz?=
 =?utf-8?B?bEMwVFhabnNNenphOHBrUXFoQjJ3cWdvZmZCVmo5aGJVelpUTGw1Qy9hVnY4?=
 =?utf-8?Q?+WiPIZVV9HMpuN095qlJa/Ny+h0HBz89in?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e3f5951-8b69-40b7-21f2-08da7bab7d73
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 15:09:30.0511
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: UTKW3Pi+dugS1ARZCQNdl8T2YSwZJszD/e373DL1ZVsx82BkBGLCCLHc4g2BAhneVtO8D9wbGGwV1y3K7d6PZfMPwps4dGTimbwlLRLm4Mg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5476

T24gMTEvMDgvMjAyMiAxNDoyNiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDExLjA4LjIwMjIg
MTU6MjEsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAxMS8wOC8yMDIyIDExOjUyLCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiAtLS0gYS94ZW4vYXJjaC94ODYvaXJxLmMNCj4+PiArKysgYi94
ZW4vYXJjaC94ODYvaXJxLmMNCj4+PiBAQCAtMjE2Miw3ICsyMTYyLDcgQEAgaW50IG1hcF9kb21h
aW5fcGlycSgNCj4+PiAgICAgICAgICBpZiAoICFjcHVfaGFzX2FwaWMgKQ0KPj4+ICAgICAgICAg
ICAgICBnb3RvIGRvbmU7DQo+Pj4gIA0KPj4+IC0gICAgICAgIHBkZXYgPSBwY2lfZ2V0X3BkZXZf
YnlfZG9tYWluKGQsIG1zaS0+c2VnLCBtc2ktPmJ1cywgbXNpLT5kZXZmbik7DQo+Pj4gKyAgICAg
ICAgcGRldiA9IHBjaV9nZXRfcGRldihkLCBQQ0lfU0JERihtc2ktPnNlZywgbXNpLT5idXMsIG1z
aS0+ZGV2Zm4pKTsNCj4+IE9oLCBJIHNob3VsZCByZWFsbHkgaGF2ZSByZWFkIHRoaXMgcGF0Y2gg
YmVmb3JlIHRyeWluZyB0byBkbyB0aGUgc2JkZg0KPj4gY29udmVyc2lvbiBpbiBwYXRjaCAxLg0K
Pj4NCj4+IEhvd2V2ZXIsIGl0IG9jY3VycyB0byBtZSB0aGF0IHRoaXM6DQo+Pg0KPj4gZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc2kuaCBiL3hlbi9hcmNoL3g4Ni9pbmNs
dWRlL2FzbS9tc2kuaA0KPj4gaW5kZXggMTE3Mzc5MzE4ZjJjLi42ZjBhYjg0NTAxN2MgMTAwNjQ0
DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbXNpLmgNCj4+ICsrKyBiL3hlbi9h
cmNoL3g4Ni9pbmNsdWRlL2FzbS9tc2kuaA0KPj4gQEAgLTU5LDkgKzU5LDE0IEBADQo+PiDCoCNk
ZWZpbmUgRklYX01TSVhfTUFYX1BBR0VTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgNTEyDQo+
PiDCoA0KPj4gwqBzdHJ1Y3QgbXNpX2luZm8gew0KPj4gLcKgwqDCoCB1MTYgc2VnOw0KPj4gLcKg
wqDCoCB1OCBidXM7DQo+PiAtwqDCoMKgIHU4IGRldmZuOw0KPj4gK8KgwqDCoCB1bmlvbiB7DQo+
PiArwqDCoMKgwqDCoMKgwqAgc3RydWN0IHsNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHU4
IGRldmZuOw0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdTggYnVzOw0KPj4gK8KgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgdTE2IHNlZzsNCj4+ICvCoMKgwqDCoMKgwqDCoCB9Ow0KPj4gK8KgwqDC
oMKgwqDCoMKgIHBjaV9zYmRmX3Qgc2JkZjsNCj4+ICvCoMKgwqAgfTsNCj4+IMKgwqDCoMKgIGlu
dCBpcnE7DQo+PiDCoMKgwqDCoCBpbnQgZW50cnlfbnI7DQo+PiDCoMKgwqDCoCB1aW50NjRfdCB0
YWJsZV9iYXNlOw0KPj4NCj4+IHdpbGwgc2ltcGxpZnkgc2V2ZXJhbCBodW5rcyBpbiB0aGlzIHBh
dGNoLCBiZWNhdXNlIHlvdSBjYW4ganVzdCBwYXNzDQo+PiBtc2ktPnNiZGYgcmF0aGVyIHRoYW4g
cmVjb25zdHJ1Y3RpbmcgaXQgYnkgcmV2ZXJzaW5nIDMyIGJpdHMgd29ydGggb2YNCj4+IGRhdGEg
ZnJvbSB0aGVpciBpbi1tZW1vcnkgcmVwcmVzZW50YXRpb24uDQo+IE5vLCBJJ20gc3RyaWN0bHkg
YWdhaW5zdCBpbnRyb2R1Y2luZyBhIDJuZCBpbnN0YW5jZSBvZiBzdWNoIGFsaWFzaW5nDQo+ICh3
ZSBhbHJlYWR5IGhhdmUgb25lIGluIHN0cnVjdCBwY2lfZGV2LCBhbmQgdGhhdCdzIGJhZCBlbm91
Z2gpLiBUaGVyZQ0KPiBjb3VsZCBiZSBfb25seV8gYW4gInNiZGYiIGZpZWxkIGhlcmUsIHllcywg
YnV0IHRoYXQnbGwgaGF2ZSBrbm9jay1vbg0KPiBlZmZlY3RzIGVsc2V3aGVyZSwgc28gd2FudHMg
dG8gYmUgYSBzZXBhcmF0ZSBjaGFuZ2UuIEFuZCB0aGVyZSBhcmUgZmFyDQo+IG1vcmUgcGxhY2Vz
IHdoZXJlIGltbyB3ZSdsbCB3YW50IHRvIHVzZSBwY2lfc2JkZl90Lg0KDQpXaGF0J3MgdGhlIGxp
a2VsaWhvb2Qgb2YgZ2V0dGluZyB0byB0aGF0IGJlZm9yZSA0LjE3IGdvZXMgb3V0Pw0KDQpJJ2Qg
cHJlZmVyIHRvIHNlZSBpdCBmaXhlZCwgYW5kIG9idmlvdXNseSBldmVuIG1vcmUgY29udmVyc2lv
biB0byBzYmRmX3QNCmlzIGJldHRlci4NCg0KQmFzaWNhbGx5LCBJJ20gaGFwcHkgZm9yIHRoZSBj
b252ZXJzaW9uIHRvIG5vdCBiZSBpbiB0aGlzIHBhdGNoLCBhcyBsb25nDQppdCdzIG5vdCBnb2lu
ZyB0byBnZXQgZm9yZ290dGVuLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 15:14:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 15:14:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384686.620113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9tV-0005Ce-Eb; Thu, 11 Aug 2022 15:14:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384686.620113; Thu, 11 Aug 2022 15:14:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9tV-0005CX-Aw; Thu, 11 Aug 2022 15:14:45 +0000
Received: by outflank-mailman (input) for mailman id 384686;
 Thu, 11 Aug 2022 15:14:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM9tT-0005CR-Tp
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 15:14:43 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52b308a3-1988-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 17:14:42 +0200 (CEST)
Received: from mail-dm6nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 11:14:35 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5476.namprd03.prod.outlook.com (2603:10b6:208:29b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 15:14:30 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 15:14:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52b308a3-1988-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660230882;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=F8QbVStJbbXhNlRh1IYjoMyM2nlhFITFfeMmdDXnPLk=;
  b=cX0Gdo8XR1fPZIRJgSa5VwRkiYsfQihybhq3Sra2Yd0Zt8nzgXdlT8wJ
   j1lSlBhcsdBQkcAS4mSW3zty9CSubT7x4YMS32xYMauA0ymMn0AE6MhbO
   hQijlHBusW4nrxZ3E6LlewndSxKvIUI90TGjCj7pgr90payL9HjMm+Trc
   I=;
X-IronPort-RemoteIP: 104.47.58.102
X-IronPort-MID: 80439421
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:C2cImKtKMNqn0LKl7vXNaI8aHufnVE9fMUV32f8akzHdYApBsoF/q
 tZmKW7VaPnYMGakeoogbY7j/U5S7JTXndNkTlNrqi88RStG+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4WpA5DTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FbNCodZvUVtgy
 fkdbxQMTROqu/22/73uH4GAhux7RCXqFKU2nyg4iB38U7MhS52FRLjW79hF2jt2ntpJAfvVe
 8seb3xocQjEZBpMfFwQDfrSns/x3iW5L2Ie9QLT/PJti4TQ5FUZPLzFGdzZYNGVA+5SmV6Vv
 Dnu9GXlGBAKcteYzFJp91r83rOUzH+hAer+EpWB5NV7mWKq/1c4UjwNCF2dnMaczWyhDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLSNrmK2YTzSa7Lj8kN+pES0cLGtHaSpaSwIAuoHnuNtq1kiJSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNfNi1CAgbQD0ct9EQ==
IronPort-HdrOrdr: A9a23:njNd/aMXseDnL8BcT+n255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90DHpewKQyXcH2/hqAV7EZnirhILIFvAp0WKG+VHd8kLFh4lgPM
 tbEpSWTeeAdWSS7vyKrzVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH
 Pz3Kp6jgvlXU5SQtWwB3EDUeSGj9rXlKj+aRpDKw875BKIhTaI7qe/NxSDxB8RXx5G3L9nqA
 H+4k3Ez5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJptkJJi7qggOIYp0kf7GZpjg6rMym9V5vut
 jRpBULOdh19hrqDy+IiCqo/zOl/Ccl6nfkx1Pdq2Dku9bFSDUzDNcErZ5FczPCgnBQ/+1U4e
 Zu5Sa0ppBXBRTPkGDW/N7TTSxnkUKyvD4LjfMTtXpCSoETAYUh77D3vXklVavoLhiKr7zPI9
 MeSv00I8wmKG9yWkqp+lWHBubcBkjbUC32GXTq8fblrgS+1EoJs3fwgvZv3kvovahNNaWtrY
 7/Q9tVvaALQckMYa1nAuAdBcOxF2zWWBrJdHmfOFL9Ccg8SjvwQrPMkcIIDduRCeo15Yp3nI
 6EXEJTtGY0dU6rAcqS3IdT+hSIRGmmRzzixsxX+pA849THNfHWGDzGTEprn9qrov0ZDMGeU/
 GvOIhOC/umKWf1A45G0wD3RpEXI3gDV88evMo9Rju104r2A5yvsvaefOfYJbLrHzphUmTjAm
 EbVDy2P8lE5lDDYA6NvPEQYQKZRqXSx+MBLEGBxZlj9GEkDPw+jiEFzVKk+8qMNTpO9qQrYU
 oWGsKUrp+G
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="80439421"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NhN5if/v2K9L5NNbUA8neIaAEsjzYeEhpqKLNKfGvBPDy+Tqt8bB6HPRertIXeDv3qWd2pTp1AhxcNcaDdHdMMkBJxeRaCZlmoug6eFONDBONY2HdCP39I8cjRA/hUoM9DCT+AC23rxHbQW8URhOTLO5NaUg7x1mJ814/HHO/kP00tgy32XJhCcfeTNBP845ysXaIpRLXJJafOeDks2PreCpX7fY8rxVPju/n/Z0uJZU4aFbZ+tR3P6UUb6koBgrOOayowlJDdSCSo0ejtD4Xb52jJjdBsl5RYcwo2d2dbJOIIs06WN0WN6ZQJ1Ou9msiquwBLZLOhSeVEdlpLTtGw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F8QbVStJbbXhNlRh1IYjoMyM2nlhFITFfeMmdDXnPLk=;
 b=ZAfGR6kddviCj3xcgT4jUg+iWbXFFX8hsjIET1Kqkp7IlknLl8crQsDYTbgyx4SWB6kvFaYa53VDofAhkjebsJIWXBtgeyE67YL1lpFNEY0Eld5fey2OWG/6e0mrl25UBdO43zgVW1qL+PMzrIlio5AH9JqS1/H5dstBCuaEifMzL0bLxFsIOIPX+VJZ3kwcf0sE0UQSUp3JEyhjP1hVboJNXY18VFyePCzqIwZI2A4rsCUuv+qBFv9yq3vzBbNFxGE+KHor04eWKeAFzvJ/+5kgcfyx5pkOn49bbGKejEfSy3Okn/J3Yr5GNGdwAHJ8RorLj5oAuJW/nSB6Z5/NDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F8QbVStJbbXhNlRh1IYjoMyM2nlhFITFfeMmdDXnPLk=;
 b=Lez3y4gULUe2j72JPBMUVJPjDOtxQPCCkm7tucAETy+DX57WpuV0AoKig41adZmAEsb6wXYXR2hrvfEqtACqAFBehjGZCtWtIr/zKc4pD3d9jDdZv0ofpFG79Lh+q5eJVxpCuwW8OC1JIp601ho5IiGIO/IlI+CQ+jOdhh6oGs0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH] build/x86: suppress GNU ld 2.39 warning about RWX load
 segments
Thread-Topic: [PATCH] build/x86: suppress GNU ld 2.39 warning about RWX load
 segments
Thread-Index: AQHYrXu4RMwCOoYLpUac/1qeB10tCq2pzyQA
Date: Thu, 11 Aug 2022 15:14:30 +0000
Message-ID: <f99169ee-e6b0-5c67-bf5e-e61e7cc31113@citrix.com>
References: <98c7b73e-0ef2-05ff-e150-cfc2f5506bd2@suse.com>
In-Reply-To: <98c7b73e-0ef2-05ff-e150-cfc2f5506bd2@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: bf63ceb6-7adc-4454-cfd2-08da7bac307b
x-ms-traffictypediagnostic: BLAPR03MB5476:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 dmB2lTmXHlgsYlz3RVi2zEIcEL4RNWj5rjfBp96h3uyZvulmgmuEANf+TFY/G4xOMMf9j7rE6tIj2p6Jd0UzOKtfgUognFHeVBJEAvsxjO70pFJlrB9sOLkeCmVFKeVVFBi5SAtms4lkOWcgJrW6FLJFXxeNwEjNqTJ6w0kUBkavLuWgR4qifXPRn6Bo+1r4tYAPijT7qQxtZ2mglF+dH8lBbwzrZiuwdOkxMpkZcn5AlPDWtZZ58wluF764yAKNgnEuNewi6nHl245RpYRlCRmmuNw8crLCJL6cIDxbh3KTf5t7vx5L/ZypxFbhHBDxr/HH0R/fncFO13wmYTrUG09tiHc5F3PbMyCBnT8SQzpL9CYjESROWc8bfAh2ftyMzfIzP0x2/8jVS2vbipRIEUiB3aqtVdR8jc7u4Y7epz4sVE7QlNmzU4B9bdYI8+H++ae6MArxJq5zFHs86gQz56hSrZ1mgnpGd01geCtiloMVrDIa7stCywLZy4NmvsL2k62vKwiq/rN9zwEtPaGvMfZmrReznpF/dT8AAs5o3FZjagffS/94/xziYIDo8t9a2DcQ7vEu24AjznqyJFREaUFW72yzct4YUuUBegdb1Usm6nVmZbSrZpwdvsaD2PdEQkUCipukMMVfX+92Bfs3UTOduX7OXsKcG3vVRIZ/GwAPO5kyZdtIK4FqlZeiEoEw01m5BT+1Wf1nELu5mCFekyI4ufmiEq1RGjQW+wrITD4y7MJFf0kHncVWTGfU3iDDRmKQE+00IwWbrvNpoD4brnTi09/bmA8b6jKi3nviJ4YKrgiDHudqmJU7ZtMe8SX26aLib4lAdWikNYty3yyywCnLIVNSqljAVJ143FLw9q0jsvPtFG59pU1BdOb4BuSr
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(376002)(346002)(366004)(136003)(6512007)(38100700002)(122000001)(31696002)(26005)(38070700005)(4326008)(66946007)(76116006)(91956017)(64756008)(66556008)(8676002)(53546011)(66446008)(6506007)(478600001)(82960400001)(71200400001)(6486002)(66476007)(316002)(41300700001)(54906003)(110136005)(107886003)(36756003)(2906002)(2616005)(186003)(4744005)(5660300002)(8936002)(31686004)(86362001)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SmcvTnFmRnE1Wk9DRzJKM0NsWnhNTEZuZ2xmTHd1NGc0Ym9NZVJEbGtPT1c1?=
 =?utf-8?B?d25KSXM0U015bUpMZU9Na29BRDh6ekV3YkxZMitZdHM3U1QwRE9aS2tHNFdx?=
 =?utf-8?B?QkgzT2xOazdMSlRvS2lDQTU1bDhtaUJJVVo0MVNtTFF3RVBLMTV1M1N1SWJ0?=
 =?utf-8?B?L3FWVHVoeTl4ajh5VGdLNURjT0FQN3JqVDZxVEh6YitxVUF0Njk4NHcyMVlr?=
 =?utf-8?B?UU1LU09SQVpWMUpiNjI5V25RNEROdXhSRXJCa2lkT3RtdVIyRzE4Z2RObG5D?=
 =?utf-8?B?R3NBMmF4cUIrcDdmMGR6b09JVlFwNWlXS2hmc2JWL2VhMU9nSVZHTUhOdHk4?=
 =?utf-8?B?eW5iVXZLbnZyL0VXbThaekhMK0U4Z0wrSW9GbGZCVjZJaGVhdzF0SjVxUzVa?=
 =?utf-8?B?elJVb1NwR1hHSzlRdlpHdkxGYmlxMVhKcVBpSFQzc2o2Sm5QU3hHeVM3Z2d1?=
 =?utf-8?B?VTIxOHA4UzNZSE94ZFJZUE82M0ZtbU9KTFlJTGdqSFJ0L25yNVNSZ1c5ZHNK?=
 =?utf-8?B?Sm1sbVB4cHhTb0FOKzZJWjV6aSt1Z3hVeEUvY2lJRXJYWkUxUUdsWUhpYmpk?=
 =?utf-8?B?ZG5CQlhRSHBnSjJQby9adUtwNDVHNERmdFpGY0ZwVU9vK045SWQxeXJDUEs2?=
 =?utf-8?B?a3VUdzdjZGl0bWd3aDY3T0dYeVpFWlExUXhYdWErMHIzZS9ZUnNnVHJGd1dl?=
 =?utf-8?B?TW1UQ1ZDNzBqUWdwR0R2TG9QMkJTc0Fld2M3VFdObEdtaVcxY2tnLzUxWk5w?=
 =?utf-8?B?VGVzOFRNNlRmS2orMW1zY0Radm9VcW91b3JySTFCRWlIL0xUaE9PY0h0bVZR?=
 =?utf-8?B?cEJuUkg4ankrWVlmSEd5WERqQWx4aVUyZUJyeEVsYXhxTFU3MGlYNXFlUFhx?=
 =?utf-8?B?ZkFwRTJTb3BCOXVLaksyaGRGTGI3YmhuNTRIci9VRGRkYzdzYXZ1L0trSmN5?=
 =?utf-8?B?bDRkaTFDSjNONHFZUmlWeVZUODlLRVFNLzNnc0lUeDByTFN0dkFodmFRZEZU?=
 =?utf-8?B?eWR5WnQ2anZ6QkFCWUhKOFBoa3I5QktZV2VId1pmSXhMK2x4Qm9GcVJNUXBP?=
 =?utf-8?B?S2VtbmZjR29jbXM5aFI3L1lvbWhyNzBmSFlRYzNpRkRIM2ZDV3FzaHR2a0R4?=
 =?utf-8?B?ejd6NkJLbWJaaGlJMkxYRVc5azFZdWZMUDl5dWlDTVN2TC9ya3lRcEdLQ2h0?=
 =?utf-8?B?TFMwbEFpaXRFSFEzTm9FRSsrTllFL0FGZ1BzVG5JSVoweWdKR2l1RUNvTHcy?=
 =?utf-8?B?bGx6eE9Cb2NZYlNOZkRvTDVLQnY0aGZpS2VCOTlvQTlqQlhHK2VpOFlQbUUv?=
 =?utf-8?B?MklPcGhPeGY0bXNhTGpySGJ0VTZiZkVHOTdaV29wdk4vVk9vVm1kSC84RDUw?=
 =?utf-8?B?WHp5c09rcFUzZHBuN0hBYUtkbEhUc3JKdUt1bDJvS0hwMEgzSEFyazVFOWRw?=
 =?utf-8?B?bmJrR3o0eFpEbjNJdXczN0MzbG9ZWE1LaFdiWGIrcmdXVWZqYnhsclkxenFr?=
 =?utf-8?B?NnZsY2RxVEJRNnU2NXJtWEFrdEVCWHlJcWdFU0JCYWtNVFc4b3Rra3h6MldS?=
 =?utf-8?B?SmpUQjhSbkdDNDN1M3pkUjN5Q1dxLzJ1ckIyVWIzS21KMk83YWZHL3F3dHZw?=
 =?utf-8?B?UEgycnk4Y3VkOXBMOUE1dXIxQVRiaytTYVZOczRsRGV4RlhCbFNqTE1jeGdW?=
 =?utf-8?B?TGtmcUlsNEFjdE11UE5EOWJyajQyYlovSG5vQjZ4WVdVV0JDbzd6dFFFTXN1?=
 =?utf-8?B?OFBDamFsOEs4aDlTZkFVYk9xMHFubnlGMXFTaW1qUThyL3YwNlJycVVCbDhu?=
 =?utf-8?B?K2xHZ1ZYNXlFTEkzM2o0TGV3UUVxeXp1RGVWVnNJdVZJbEZoTlBTMjlvZFdj?=
 =?utf-8?B?dzhyTndrZjhPa1RDbjA2NUxUaFZta1p4YllVQVp2dGRwOFMyWklyd0ZhcDFP?=
 =?utf-8?B?MEdzbDRsTjZWeVRXc3hhN0VnQkR4MEhVRUdYU2lGQ1NZdTNvME44OGxtVXZR?=
 =?utf-8?B?MDM4RHpMQUxnSldOT25uVVl4Ylg0S0x3b1Q2OHlwTkZtSHBvcGUyaE0reFIr?=
 =?utf-8?B?RlBRWXN5SEZMWExBNDRTUGZ2YmE2YmxrZW1xeEZwUTVVWGlFZXlhTTlHNENZ?=
 =?utf-8?B?cHE5VFdnKzB3K1B1MVF3bENaWU1XelZsV2NEVWVvSDhWdVF2Y2I0YWtESlZB?=
 =?utf-8?B?ZFE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <24D3336CD4320840B5C998410404F5D8@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	UV//9YggB5MSxZZfNh69tmB8qotQXN4KVLLn2O2OUnlIW/S/bPWaio8D95FYqzt8GiNwFC8Wrl1oNWANZnvYKktw2ZXY10LYRBnTOS6EMH1M1phcpp8uFtjYsWh3ssgAvFGV8YqgT0ozOi2ekVYrNyvaZ6l9pznyWATym6Pg61fDHGhmmE7gWB5U/adHv8XI/LPnixg5xCLh4o+FWe5zu3ODyLRgJE0CpkAEU38QZ9uMfIiuTAs0WcMWX5keSEypJ/ALny4xtH3U7BK8rZzanjLAItMyJtgErgbvEUWWPMaAASXmoIjyUVN3jBJedueUF4Fb4/2cYpIEnu7hTSDN9sHdJegen9sJoPpNT8EqlXPgZ8tewWFmi9zWYfII8jInmE2MeH4yIszulawb4YePC9XbGS6v0t50TWBXilG++r+vtb6fY0GUIs+tpQNPf4n25BxXzpCE76XBYK/fpl+xE5Ktpw04nin+NWoqP+V1k6jdjaYB2UWQKdyJnT6egmfN/guoyuJF0ktQq/6SBXD0EIwhpMxOlJtI/jcSucFjKeJ79hB6+JkpuuSX7F4c+6SYcvsI5YLgjD9YnkJxn1WxV+/pY9CacGSeeEYhX6Mcei0cybEs1ecNIKI8RVTPGV5pMlTvdr/spddiNd6quF/sMIKQPk3PZtGNcA1p2MpmpCBi1gx/I34w6U+Kt8OVnyu6eOQGgfxBklnLzQMj3/U8AhzsTjFCKpC/IXwNgiItoeqYODXrAkvJlFA7/fvUnJQV98G+GwjNyYLgb1Jv5kQCaWP0nM8P6eXxZy8BF+6IYj0cV1qBFKVuQI1reRRRoboX
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf63ceb6-7adc-4454-cfd2-08da7bac307b
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 15:14:30.4045
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: piU81p1OFWDzDEOCquw+m9yTu3Fgw65xYMbwrd6mL6xYFR3cFSRV2cFulLnwxGzokmwFZem/bMGKWy7NUBzWaF4njOg4KTP/miE8XD1D7pE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5476

T24gMTEvMDgvMjAyMiAxMzoxMiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IENvbW1pdCA2OGY1YWFj
MDEyYjkgKCJidWlsZDogc3VwcHJlc3MgZnV0dXJlIEdOVSBsZCB3YXJuaW5nIGFib3V0IFJXWA0K
PiBsb2FkIHNlZ21lbnRzIikgZGlkbid0IHF1aXRlIGNvdmVyIGFsbCB0aGUgY2FzZXM6IEFwcGFy
ZW50bHkgSSBtaXNzZWQNCj4gb25lcyBpbiB0aGUgYnVpbGRpbmcgb2YgMzItYml0IGhlbHBlciBv
YmplY3RzIGJlY2F1c2Ugb2Ygb25seSBsb29raW5nIGF0DQo+IGluY3JlbWVudGFsIGJ1aWxkcyAo
d2hlcmUgdGhvc2Ugd291bGRuJ3Qgbm9ybWFsbHkgYmUgcmUtYnVpbHQpLiBDbG9uZQ0KPiB0aGUg
d29ya2Fyb3VuZCB0aGVyZSB0byB0aGUgc3BlY2lmaWMgTWFrZWZpbGUgaW4gcXVlc3Rpb24uDQo+
DQo+IFJlcG9ydGVkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
Pg0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNCkFj
a2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KDQo+IC0t
LQ0KPiBCZWNhdXNlIG9mIHRoZSB1c2Ugb2YgTERGTEFHU19ESVJFQ1QgKGNvbWluZyBkaXJlY3Rs
eSBmcm9tIHRoZSBDb25maWcubWsNCj4gaGVscGVycyBpbiBjb25maWcvKSBoYXZpbmcgYSBjZW50
cmFsIHBsYWNlIHRvIHNldCB0aGlzIG9uY2UgaXNuJ3QgdmVyeQ0KPiBlYXN5OiBBbiBvcHRpb24g
bWlnaHQgYmUgdG8gaW50cm9kdWNlIFhFTl9MREZMQUdTX0RJUkVDVCBhbmQgZXhwb3J0IHRoYXQN
Cj4gZnJvbSB3aGVyZSB0aGUgb3RoZXIgWEVOXypGTEFHUyBhcmUgYWxzbyBleHBvcnRlZC4gVGhl
IHdheSBpdCdzIGRvbmUNCj4gaGVyZSBpcyB0aGUgbGVzcyBpbnRydXNpdmUgdmFyaWFudCwgdGhv
dWdoLg0KDQpJIHRoaW5rIHRoaXMgaXMgZ29vZCBlbm91Z2ggZm9yIG5vdy7CoCBUaGlzIG1ha2Vm
aWxlIGlzIGZ1bGwgb2YgbWFnaWMgYW55d2F5Lg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 15:18:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 15:18:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384696.620124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9wt-0005td-3t; Thu, 11 Aug 2022 15:18:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384696.620124; Thu, 11 Aug 2022 15:18:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oM9wt-0005tW-0O; Thu, 11 Aug 2022 15:18:15 +0000
Received: by outflank-mailman (input) for mailman id 384696;
 Thu, 11 Aug 2022 15:18:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oM9wr-0005tQ-Pg
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 15:18:13 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf67075c-1988-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 17:18:12 +0200 (CEST)
Received: from mail-sn1anam02lp2048.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 11:18:09 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5599.namprd03.prod.outlook.com (2603:10b6:a03:285::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 11 Aug
 2022 15:18:07 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 15:18:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf67075c-1988-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660231092;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=zgln2IJQYzhWPJHWQZ7pwhxJksIdJuGOA6CPVhNYYj0=;
  b=XuPREpYQ+u1wFxlCdLKIaqfDhThdlERRW/SOLXILZOY1g+Xn9WH8aQ+p
   AZoXc7d9QbQNSZgV1ETkyzt4nSCEoryEsyrBfH86lbK7ONdBM7OTJRjoT
   C/TiEsNSkJ1RkdX5q0nDxqofqeTjp7n0LWcfYik0/VRKc83TeOt2GEZg+
   A=;
X-IronPort-RemoteIP: 104.47.57.48
X-IronPort-MID: 77885634
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Gcu0Oa1l5Mklq8iozPbD5RJwkn2cJEfYwER7XKvMYLTBsI5bpzUGz
 WUfDG7UbP/cYWLxf9Ala9uxpBgGupHWztY2SgNppC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Uo35pwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj6/x/IVAXD4EGxsVQGUZi0
 dczIQ0/bCnW0opawJrjIgVtruIKCZGxebg54zRnxzyfCus6S5feRamM/cVfwDo7msFJG7DZe
 tYdbj1sKh/HZnWjOH9OUM54wLju2ya5L20wRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPAmWrYrCnw7gPJtTLgWMFJOJ6IzNxNvmy09GE9OT4xckTu9JFVjWb7AbqzM
 Xc8+CAjsKwz/0yDVcTmUluzp3vslg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQC1
 EKNnt7vLSxitvuSU3313qyPsTq4NCwRLGkDTSwJVw0I55/kuo5bpg3LZsZuFuiylNKdJN3r6
 zWDrSx7nLNKhMgC0v3h+Uid22784J/UUgQy+wPbGHq/6R90b5KkYIru7kXH6fFHL8CSSVzpU
 GU4pvVyJdsmVfml/BFhis1XdF11z55p6AHhvGM=
IronPort-HdrOrdr: A9a23:0Fi0nK5hrnWFUBWLowPXwWuBI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc0AxhI03Jmbi7Scq9qeu1z+853WBjB8bZYOCAghrlEGgC1/qp/9SEIUHDH4FmpM
 BdmsRFaeEYSGIK9foSgzPIXOrIouP3lpxA7N22pxgCcegpUdAY0+4TMHf4LqQCfngjOXNPLu
 v42iMonVqdUEVSSv7+KmgOXuDFqdGOvonhewQ6Cxku7xTLpS+06ZbheiLonys2Yndq+/MP4G
 LFmwv26uGIqPeg0CLR0GfV8tB/hMbh8N1eH8aB4/JlagkEyzzYJ7iJaYfy+Qzdk9vfrGrCV+
 O85CvICv4DqU85uFvF5ycFlTOQiQrGoEWStGNwyUGT3fARAghKRfapzLgpDCcwoSAbza5B+b
 MO0GSDu5VNCxTc2Cz7+tjTThlv0lG5uHw4jIco/jViuKYlGchsRLYkjTVoOYZFGDi/5JEsEe
 FoAs2Z7PFKcUmCZ3ScumV02tSjUnk6Ax/DGyE5y4eo+ikTmGo8w1oTxcQZkHtF/JUhS4Nc7+
 CBNqhzjrlBQsIfcKo4DuYcRsm8DHDLXHv3QSqvCEWiELtCN2PGqpbx7rlw7Oa2eIYQxJ93g5
 jFWEMwjx9HR6svM7z64HRmyGG8fIzmZ0Wd9ih33ekLhpTsALz2LCaEVFci18O9vvR3OLyoZ8
 qO
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77885634"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j2cz3BPtG475RL7ZSEEdGS0AInoqP4WnDffDdjDzx+l3eRqeEjKgWd8Lz+SXf3Gm5uX4ZfsXvEX6i3Zg6D9CGghkMzSQe6bOk4DZXA+Wn+QZoz4r1bwkwT+W2Zkfqn6aLxPkTe+H4GEdMZnebCDfCFGySxdr/NWhjHfYszNN4/6HOZWrrVyci+jr2tjL52N1Q2fmjzkwb0wtOMCTAdu6E6rRLOGu9S4zCs2Cu2mln2ldqOxf5D8F+IUBgX5zcijI0ZA5NiLqIgAfYaQNR8QTVOWyiCUZhNmDwfA/Dy3qmGN55oCDpHetkKAIv42fNgl3FDwYZO381/YvLQRckdMZuw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zgln2IJQYzhWPJHWQZ7pwhxJksIdJuGOA6CPVhNYYj0=;
 b=gCZZEMwXlhoSkS0pgiBNXdIgcpky9xMQf7y5VVh3sI/l0T5fqOas9frooi7ms8FaffKe6vaaSoBvNhS9XHvb9jgJxKKhwMyddyHEvWwb31g8Kxs0SE22rBmZ1wBIubm0aq/ynYpI1aj23/WXS6va9e1dN2e6O/Hv2v5Q4Ytm2bTLjxIvirXMfSy3stVhTsnEcKI2K9z9SHsBbHY/3ukwyITeticbHcI+a/J0o+mRpnihRyhsynRXdiBKa5mXhtc6BktFoN8bjX5fTaWOTTmXnn0WEVB48KCpGg+hID2d0Ss/EA9jzigiYsYmsmpkSi4lrAPYHNpjoeDgE5LHk56Pug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zgln2IJQYzhWPJHWQZ7pwhxJksIdJuGOA6CPVhNYYj0=;
 b=wVoUACSiqTxuYWJa//JkZSTFARnTsdndRTHUuB2KorhJBPTM4zy/P3Pd2HiNM/76m6ZoGoZnXEcI6BG+y46aTVXfCAOuMXryeP+b7t39ipr3TyTxv34rIjIqe0Kzeone7z0w0xD9ZUU4AUj6ua7UPt5ZIPahWvTJ0i93ichA6pI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>
Subject: Re: [PATCH] config/x86: tidy {Free,Open}BSD LDFLAGS_DIRECT handling
Thread-Topic: [PATCH] config/x86: tidy {Free,Open}BSD LDFLAGS_DIRECT handling
Thread-Index: AQHYrXv86BETBjNVqUiyAXoW2q4Ghq2p0CUA
Date: Thu, 11 Aug 2022 15:18:07 +0000
Message-ID: <73d232bf-08a5-00a1-f12b-451bd011a3f0@citrix.com>
References: <cdaf00fc-d0ca-988f-565a-1fef3ae203e5@suse.com>
In-Reply-To: <cdaf00fc-d0ca-988f-565a-1fef3ae203e5@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3e849587-b26c-42dc-3e8e-08da7bacb1ad
x-ms-traffictypediagnostic: SJ0PR03MB5599:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 bSS3sW8Tz9z8W6QarcYQmcOQP4fBafw1JXsVMn4peuAP5drZzvDq1AdtSMzd1Ecpu7zcIpfzdGOK+66NSgPyf0v+Kupf7EqQubCakTmRO53HLg/iy2xAkkRlLiLJ7pel8jlhWG0kXZ3hmTRlJ+8jKxtZFuk2mZrHf1yChx7K8Hi+dCmL1wgAtmZ04GxOZXP/bBaP5m1J9ifyuf7orx5uPK6+/Ft+4/qgHsy8QOn2BWof57lz587STfFOV3BSk9OV59PYUeJCLybUjbHvtLJhm0USA23arUs/pnEnDNN+brHoAoIuynj01nIFma24ZbAeAs6HFIJLvzuS7KsIYE6yz7AtD0hI5+JfnVhbdCMgjeIhiqV9tguDay4ILAlNopl/TzY5amH8WPm+7sPc7v1t6DzPAsg9EZQlavewNqf0xAeSPqEqh0J3CquI0LcK8T2tt6A4B3kJmrpB+UhqbKCbDIPQ7hnWJzzF12pWGgGUPh/jjfWG5Q9ImolFisDZfTeIfCbQjKB/gKgNMu89dcb1OlCiFiryNM4eUWAZb2izhiUM///q8oPlAGfBj/zgeVjevOtO6E2k8w5HGJ5Eisn4w3FeKrA/VEU3JEI9LxXNs1eLn5nZ5CtHBny8XYrt+XUZiP8sbuVYTZqi+CquP1O85oWD8v/7dE+gSvCCExIvY7DJvWQrjYBCqpNcVXe9ap7VXxv9pv/7swuwSmONiNE00d7AZZDyG6At18lDgRZod2wuT20+suCd7dYGta3BrRHM0JtBCOuWGpZcG473pBM1FNuvlOBSA3CWL/QCluKt1tFu4MU1QLRE07TmF8TEE96RBxDzJScdr7hcoagdt1Mf/+ids3YRVnHCS9reOoczWotvtJu8RNaSLp/4EVirR5/t
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(366004)(346002)(376002)(396003)(38070700005)(6512007)(110136005)(186003)(26005)(66446008)(4326008)(316002)(66946007)(91956017)(54906003)(64756008)(66556008)(2616005)(8676002)(66476007)(6486002)(107886003)(76116006)(36756003)(31686004)(41300700001)(6506007)(2906002)(53546011)(71200400001)(8936002)(31696002)(86362001)(478600001)(5660300002)(38100700002)(122000001)(82960400001)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WVFIY05TaVpTeTI1cHd0R1lCZ3hSeVl0MUZCcm5FRDBoVjZaQkMwb2Z6anQ0?=
 =?utf-8?B?K2s5NmJNS3VjVW1XTythTVNhbThITWc4dGh4ckxJcUUyMVBHeVYzTkNWNnJX?=
 =?utf-8?B?VG1oK1dwTS93VGVXWlZoUzFPWEozTlJmY045aERtMlF0Zi9xT1k1U3cvTTFS?=
 =?utf-8?B?TldjSnhvVXNsR0FETGZUenlkVmNwR0dLcFMwTmFtVE5RQ1Y4dFFURVEwRGFB?=
 =?utf-8?B?RVlCbmQxcE1JT3haNURQSllTdy9yYkMvVCtVZVYvL0VpVmZLSUtlZThUdXFS?=
 =?utf-8?B?cWVibGpCRnlpVTZzc2ViU1U1KzAzRlJIU0ZYTzVWTTJpRURzejVkTUEzUW1u?=
 =?utf-8?B?a2FqNWhnRThZNnZuWnd6YnIvbVRrL3ZvNi91OHZlWlFBZ005Z003Rjk0bVhk?=
 =?utf-8?B?ciszSzN6ay95RTBkNDlYVUdQaFpPNDVIMUljellSNjR2OVpsYktmVjdzc1Mv?=
 =?utf-8?B?eks0MFNZV2hpYW9XejJRZGEyRzlHVUxic0NwS2JLQktFUVh0T3VyNTlMdUVH?=
 =?utf-8?B?Tk9jM2JZb0N1bkJBeXRnalJ5OWRiaUliSW9sMlJnVkxpUU1ZOEc4UHdEdERj?=
 =?utf-8?B?QTR1ZGRCaEZGeWJma1dRYmowbmt1SXhiVkVienZXSmRHY2FXdlpydVRuUXcx?=
 =?utf-8?B?NWQ4cmhwbGxST0xHSWFqUC81cndCNllxZU9aWktVSmVBdnRmOHNLcWVTTFd5?=
 =?utf-8?B?cEMwODdXOGEvNitDM3BsQ0o1ajVEa1M3dlNaT3V5akM0WUFCajlhaGI0end2?=
 =?utf-8?B?blprdm1GckVEdnNkZENhQ3VRbnhmL0JoOGkzRWp0elZULzVhRC9XdXdFZFVT?=
 =?utf-8?B?RDNoSzBzNEZvZTdwSWVubkl5VExYYTYzUUVMU0hzQ3JqeERiZTdONHZJY0dB?=
 =?utf-8?B?YWlzWXN3dHFscStLNXNvbndiTzlyK3pMMHprWWZRUllYQ0krMi8wRnVVNmZu?=
 =?utf-8?B?aCs5NWZBT0FUR25uUmNBOW1qL3hNYmp1M09QWEt6bkJyV3NkUnhIVkJXZ211?=
 =?utf-8?B?QjBmazZBa3N0OFBDOVRjTkJtWC9YbG5NQk5adGdhUHJSUGR0SkhCc0g2MzRq?=
 =?utf-8?B?MW9rSHlPTHFLR1ZxRFhsYmE2VEhCb2ZtY3Y4ZnBjbEJDejYyZzZxT1dKUzg2?=
 =?utf-8?B?KzJLN3hlMDMyODljR3FGT3hhd2lSNERJM29vOXI0emowVnpxTVV1djRLUHh3?=
 =?utf-8?B?bjRROWZKZ09yWU53b2xkdmhNWkFuQnpsMGF1dk9vMWJDVklONm5VMDVGSmFV?=
 =?utf-8?B?aE1aenM5SVRLeGFXekhqNXRidUZFdHlkSURwNjgvUlhrRzFiZ29UZElxSHUw?=
 =?utf-8?B?VytlZmFiUDVWQ3MrTUxycVVIcWx1YmlkWUlhTEhXdWVlVnZJUXFBNk5NczQ4?=
 =?utf-8?B?Z2hvbzlOT0UwbXI5ME16MGFuUE1rMFRGNEhQUWN2djZicXBxTFYzZzNXbkRq?=
 =?utf-8?B?Y0FZQkFNOEV0QWh5Umd0czZCVmdmYkJNd1pwb0VHRnRkUmF0aWtkbVFKQVZ6?=
 =?utf-8?B?RnZpT3RBZG5wY3ZGQ1lRenhITlNyaDJyczE0bDU5dW54dVFaV3VDVzFWRi9u?=
 =?utf-8?B?dzFVWmR2eDlmWHFsYVQydVVNa0pzS3NKc1RsRGdyMXdQLzJYdlYvYlFHTnJP?=
 =?utf-8?B?dGp3clZ4bXJnUDNIVENSaUxoazVhYUlwMThiUXoxSFdja09qYlA5NkhwOGtq?=
 =?utf-8?B?RWVXeXdHeGwvckFFOFhWaVluWFo5ZmV5RDZVTHBGMTFuNnp5RFN2U0IrejE1?=
 =?utf-8?B?TVRmYk9YMWJZbGhZQ2QzM2ZIQkhmbk1TSEJxa0t3UFNqcSttc1BBT0psWjBR?=
 =?utf-8?B?VzM2VkdGbm0xN2hWN0xrS1FuS2V0Z1g5WGlYVnhDVU5kSWlIR3N1VkRiQkNz?=
 =?utf-8?B?bUVwbzB5NFhtNjZScHFsSTYwcXpyQU1PL3h3UnJxU05ybHp5VUNFK0RNc1Vs?=
 =?utf-8?B?K1hUcGlETXgvQngrU1VsTEVock02bU9CRDl2Zzczelh6Mk0zeG9JWXAzVGoy?=
 =?utf-8?B?VVNya0lBQUoza1QxWCtCTDhTcG9Ra2ZJYnJRM3cvRHdXQ1FoRnljQVUxRTJ6?=
 =?utf-8?B?SzRVUnZNZHJVWW1VK2F1cUZVSkxDdGYvODZwWDUrY2xZZUJvM1lhVUhWeFdV?=
 =?utf-8?B?YkdjZm16bVNxTUJVdGNvWTBNWDVNUFJxZDJ2Vm84RHNpcGlLM08wZm1kMVpT?=
 =?utf-8?B?MFE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A03CDC57EB05134B8076113B899ECF2C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e849587-b26c-42dc-3e8e-08da7bacb1ad
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 15:18:07.1702
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xHD987hfe76ByOo9qDdNuE49LtsLYj5xvx7tMBG5HoB7Tw+aujeCr/YxfdrjP1fiqw6covh5DAUhVRtleTif23AL/oKe36LrLayA81zbRco=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5599

T24gMTEvMDgvMjAyMiAxMzoxNCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEl0J3Mgbm90IGNsZWFy
IHdoeSBmb3IgeDg2LTY0IGEgZGlmZmVyZW50IGFwcHJvYWNoIHdhcyB1c2VkIHRoYW4gdGhlDQo+
IChzaG9ydGVyKSBvbmUgeDg2LTMyIGhhcyBiZWVuIHVzaW5nLiBNb3ZlIHRoZSBMREZMQUdTX0RJ
UkVDVF8qQlNEDQo+IHNldHRpbmcgdG8gdGhlIHJlc3BlY3RpdmUgT1MgZmlsZXMgYW5kIHJldXNl
IHg4Ni0zMidzIGFwcHJvYWNoIGZvcg0KPiB4ODYtNjQuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIg
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQoNCj4gLS0tDQo+IEkgd2FzIGFjdHVhbGx5IGlu
Y2xpbmVkIHRvIGdvIGZ1cnRoZXIgYW5kIHJlbmFtZSB0aGUgdmFyaWFibGUocykgYXMNCj4gd2Vs
bCwgdG8gZS5nLiBYRU5fRUxGX1NVQl9GTEFWT1IsIGF0IHRoZSBzYW1lIHRpbWUgZWxpbWluYXRp
bmcgdGhlDQo+IGluZGlyZWN0aW9uIHZpYSAkKFhFTl9PUykuDQoNClllYWgsIHRoYXQgbG9va3Mg
bmVhdGVyLsKgIE15IGFjayBzdGFuZHMgZWl0aGVyIHdheS4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 15:34:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 15:34:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384707.620139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMACj-0008Fi-Fh; Thu, 11 Aug 2022 15:34:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384707.620139; Thu, 11 Aug 2022 15:34:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMACj-0008Fb-Ch; Thu, 11 Aug 2022 15:34:37 +0000
Received: by outflank-mailman (input) for mailman id 384707;
 Thu, 11 Aug 2022 15:34:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q8no=YP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oMACi-0008FV-9Z
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 15:34:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2069.outbound.protection.outlook.com [40.107.22.69])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a3eb7f5-198b-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 17:34:35 +0200 (CEST)
Received: from AM5PR1001CA0022.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::35)
 by AM5PR0801MB2049.eurprd08.prod.outlook.com (2603:10a6:203:42::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 15:34:33 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:2:cafe::6b) by AM5PR1001CA0022.outlook.office365.com
 (2603:10a6:206:2::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend
 Transport; Thu, 11 Aug 2022 15:34:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 15:34:32 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Thu, 11 Aug 2022 15:34:32 +0000
Received: from 1153db2a4dd8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3C90804C-7B56-4E9A-B919-CBBEC0D4E1C0.1; 
 Thu, 11 Aug 2022 15:34:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1153db2a4dd8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Aug 2022 15:34:21 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB3937.eurprd08.prod.outlook.com (2603:10a6:208:12f::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 15:34:19 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.024; Thu, 11 Aug 2022
 15:34:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a3eb7f5-198b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=oZHZb8JMFh6QpZdE1v/Xy+8h/Ei7mZlW2QUR8Z3sy55YXuc4VUl/lnGShGpnfqFymsQuH6YjWgP3CDXKLVZ5XI5kGwynHE/lZjEoeC5jgYVep0+SxEs1rh8oytxpLgkoda0GZ59l8+h0gU5+EXK2WmI1TBnAd+Ipc7oc0tHaIGbPw24UVi9OhQxCe18cy7TqXrmazmb6grqRPlf2vSS+h7Hfo486+zEJbyMp9WBiKPez1ai9LSbQ1+et6oos01SrrU9teoiAn6Nfm9307+iXZcMVQs1v0YyPPiARYJ0g/ll/7TlvHG4H+7cbZht+uGbRuTx5iN98ljMMl8Lm9f8S+A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UylbPgWVsDiAONscMv2Fw7L/W3G3d6HeG5/uULIKxoM=;
 b=djni/6HId7quQGxVdx82J70TkZETixZMobPDpCDNWTUNMml4jMACnmeROvUYcLcWe5zb4uQ82p1A0m4tAVcOpzVBHpHjkr2j9IFqPE1OAXM41wbVeRR5JXpzZXfAuIVMbksoPpx4hu+Qv8hf/2A0USWU8WOcXIC24Wb2L8L0+ANi2EtVrxx+2NPEk4OP8AwQNvwPSuCBWkAq+aZVyOU+53470v+7HkZxjDCkgZyX1dRGaWclPPWhoRUfUTnkSIfvESCyXHO1jX+iwLGo9nXuBSC7AEInjOaAy+Xlt0ZJ3CznmkstBu0w1tMxc1LkQDCXJ1fO0XBZIL1XqiKcpmbkjw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UylbPgWVsDiAONscMv2Fw7L/W3G3d6HeG5/uULIKxoM=;
 b=5u3mwfGEU716kMDtr1gQ82p1ccBkJn7xSXy0MxXptwjqyUG0GDFT76N8svgJep++R32DQe2fS+Ifqj8m+aivi6//bQO8FAYtovSOkSRP1ZHZo/QjxhNmUOf+hSfPG4VXGI1upLrKxFBUhLS3f3XoVgSysls4cUI3Tnqouav1nqE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e88e1fdd1e2fcd85
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Uh/RH/hPQVb8rTbbSpwITVsPciexg/MAocxvoIqoA4v8StSR1kjAUlnaTBinwf60ZX8FMfECGdx3U/HaE3uaNkCnuRDZI0Wa4Vh5f9qWyORbXm/f7tFy2mvv4bDb5HxhyYcgW/+DUu3VPBTDNvKMhnnYxmKquouFWZaZXJcamELNtuz7oaKCGfn9vfUlcOoVfG6ciOHcW06GYgt4KX7ZswnlVYKHgD0ofUWQSDMScYe9H4Qe99XqXn8PHDiH0o4q0BuSIGjCtb5384c02EH/4eS3Mp4NlP8FIgATezHUILr7WiP6OheG5ZAjEO9XWFPLailVhwmHcKL7XWpAozhqvg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UylbPgWVsDiAONscMv2Fw7L/W3G3d6HeG5/uULIKxoM=;
 b=QiH0n2M/ywiJjt3tMfBvXKT3INc71OrT+0nTK9C+0g4QLYwo3OBpsM69vGu1LprvSzImq98sK2GA9Xkw/9ME0Okpn8i1Sr6JT+J2S7JD8xI9D/3laqbjemVQqrFCpaufVs7zZCkZhxfg9R6HNk8/71Tu/IcUhtqKBo+55D2jxjkdA7zb6R/OmcDcOLqtJsV7YQszVynbC5sfuImyHpCSDFqQxuIzLXMgLdBWSPCqQV9aUwAgpS+K5bbWd0PL4XsrREntWztuj2Re6wdKlGh/t7YKWZtOzNaAgvzrXSVfyf3qk/RIWp7frpQcu5vlXB0yxZbSVxOyHtVA3i8lkA/W6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UylbPgWVsDiAONscMv2Fw7L/W3G3d6HeG5/uULIKxoM=;
 b=5u3mwfGEU716kMDtr1gQ82p1ccBkJn7xSXy0MxXptwjqyUG0GDFT76N8svgJep++R32DQe2fS+Ifqj8m+aivi6//bQO8FAYtovSOkSRP1ZHZo/QjxhNmUOf+hSfPG4VXGI1upLrKxFBUhLS3f3XoVgSysls4cUI3Tnqouav1nqE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Ard Biesheuvel <ardb@kernel.org>
CC: "leo.yan@linaro.org" <leo.yan@linaro.org>, xen-devel
	<xen-devel@lists.xenproject.org>, Peter Griffin <peter.griffin@linaro.org>,
	Jerome Forissier <jerome.forissier@linaro.org>, Marc Zyngier
	<maz@kernel.org>, Rahul Singh <Rahul.Singh@arm.com>
Subject: Re: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Thread-Topic: Question: Enable LINUX_EFI_MEMRESERVE_TABLE_GUID in EFI
Thread-Index:
 AQHYp9oMDnfnppRN40WNR+bqQStYIa2gMcaAgAAFzACACZLNgIAAC6aAgAAB64CAAAf/AA==
Date: Thu, 11 Aug 2022 15:34:19 +0000
Message-ID: <FC36D6D7-C240-45D6-8125-A0FD8EE575F9@arm.com>
References: <20220804081253.GA1219098@leoy-ThinkPad-X240s>
 <D6DDAE40-A8EF-4230-A292-401FBA085EE0@arm.com>
 <EA8A294E-856D-4579-B26E-55F6B7EB477C@arm.com>
 <20220811141707.GB868014@leoy-huanghe.lan>
 <26D200AA-0CCF-4778-A748-36CE448C6AB9@arm.com>
 <CAMj1kXG_koV05iMEX9NgibdLNqVxB-2kwUj+bMXD-2CToQgn3g@mail.gmail.com>
In-Reply-To:
 <CAMj1kXG_koV05iMEX9NgibdLNqVxB-2kwUj+bMXD-2CToQgn3g@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 13577f5a-197e-499a-9301-08da7baefd1b
x-ms-traffictypediagnostic:
	AM0PR08MB3937:EE_|VE1EUR03FT044:EE_|AM5PR0801MB2049:EE_
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 dJqlNZyeakF3xLytAuO3DF4GTw47qRJIztwXY6GLPurXJgTmtDBvsDViob5otlBboESrJ1o771mH2sVOiZ5v/7vuIY5n98RJFhpR3q6r5J5lGoG/dTjCXJPf79ZeLybETvKEDBhjQ2nCC8qPofmpdYVWc7n6EEuPTYnL2BRtwysdwGn91a1BTJEXCDnIPtbFVefyepK7z4kTTmpJjh7nwt+6hF2Bs4CuA6ob+B3lksquKfVXpdwjg0tNE1oU9iQxwuGNvKOXq6bIq0Rd88ToylPwzhEp+aXVJ6SXrVUY444h7iqWdm06TVyTysayeENmtdjWxOWCeKZcr3Sjqt/Hf/97k/FyRwnVBGQC5IPS9a6+/39VxNn7ngmLJvKOZc9RtqJfuulozXAKa/g5EX4Idrf3AnRT4960U3BjxNT/xTz4LCrOFiAeWkNKZREc352wG3EePuQbPamsQ1FHLhZJK/OqP/Ndm5MRKHQ82v8CK2KKnvsv+GCbkRCrzaz0akNxqo929LExwVPC/vMh1VcSBnqWRg5U52nAaPjJxuew96COx1sOe1cDpNoPwsmbM8bAXvBRf7Fq2KHNDdKAqmZwvsdCEzU6suX529nZEJARQ8+2z2h447fdPrMgpm034hJKhK52BqjkbpNMK/bOE6PeR671H6ZG42c/L9uOI4l6T1U3D4WnvyrDjURGhf6xp5y0PZXXJ6bmV9iIXcM8uawX2Quqi13P9GAeOBl3xJZL/4X0dJLhD1eqdnLSpt0rlZGspUF/pZJ890YCRsTsfPEjTkAM5LHg8fknB+lmAii7gX5Scy6mm6lP6heV9uy8bI4MN/hY5r7M8PRGdCG/hxSHig==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(346002)(39860400002)(136003)(366004)(6512007)(38100700002)(26005)(38070700005)(66556008)(64756008)(122000001)(76116006)(91956017)(66946007)(4326008)(53546011)(66446008)(66476007)(8676002)(478600001)(71200400001)(6486002)(316002)(41300700001)(6506007)(6916009)(54906003)(33656002)(2906002)(36756003)(2616005)(186003)(5660300002)(8936002)(86362001)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <A555735A5CA2A6438E95E0EB69D4A962@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3937
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a7eec3ba-cf53-48eb-3bdd-08da7baef50f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3N4XQM/CZAUZciILIkN8caNQaR4bqRp2ibZKFuzxtJhI7GM+ZdFvZRgH6szEN9axfsUSv+sWXm5G2Y2COL7ykhWi7TbBTzsLJ91NS5EucWlD09kB63qWW+jUBq9huT+qs9DyaRPYnQbAwJACntBkNLgec2UyrJIEG4FuaYyhycTs7GpLTaWGsFh1X1uymx3g2WW7HXT5+RbMWJvMWlr4voWVHBAUfa3vflbG9aL4tY4huhrIh25TBWZDY0vAXR/09TvzdJC0shCFredCv6m7QfMh2aygSI+exLaCs3lxW6jpwWnnWiAivDqGFjC41FYjxuJFrY72DvkJtbocYDEgBmJuchjxy2ZXk1D9CNTZhOXNBC/uyiuC1DVBBUfczVtd70FWcVFCa0K1YzfkBS1+4dnd5lXE8nIw0MZpC4dTfxfBH+ZqAxclD8UqEApJz0npmIGroHwW4BkyTSjrJHZ1E8tPBg/4VR9kjlDWvp+1R+jUrvb8n/0cFTeCadA4AUFB8EtWohIfJpW2C0Cl71gDSP0vgmnrYcmOeINyWprqpjzhIWiNG0Q/N/jLUrxIVtjw6JQXItHJ/1sR33jDM0nxqkEFpzFURF+V7c0rPyrkfSI+/GbXTkeb309NX0S5EU9pCDXIq1KtilJsJg9hap2cS55dMSUZPVOdN+lCHs0viIKx+QBQP+g4VOUaZFE9OPdpEcYP0a8jLakvMRhfVhkEb7U+k9dLE/fhk3ofyLG+OLpQSl3wbjDjJsOk9Hhc4EagHP1iPrVKbwythBr2X6Ya6gkYMW9mhhC9U9VbORLkQz03GauXOncgGOsKpxkRKstS
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(396003)(346002)(136003)(40470700004)(36840700001)(46966006)(316002)(33656002)(41300700001)(356005)(70586007)(2906002)(70206006)(53546011)(4326008)(6506007)(26005)(8676002)(82740400003)(82310400005)(81166007)(6512007)(5660300002)(36756003)(47076005)(186003)(336012)(83380400001)(478600001)(86362001)(8936002)(40460700003)(6862004)(54906003)(40480700001)(36860700001)(6486002)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 15:34:32.5767
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 13577f5a-197e-499a-9301-08da7baefd1b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2049

Hi,

> On 11 Aug 2022, at 16:05, Ard Biesheuvel <ardb@kernel.org> wrote:
>=20
> On Thu, 11 Aug 2022 at 16:59, Bertrand Marquis <Bertrand.Marquis@arm.com>=
 wrote:
>>=20
>> Hi Leon,
>>=20
>>> On 11 Aug 2022, at 15:17, Leo Yan <leo.yan@linaro.org> wrote:
>>>=20
>>> Hi Bertrand, Rahul,
>>>=20
>>> On Fri, Aug 05, 2022 at 12:05:23PM +0000, Bertrand Marquis wrote:
>>>>> On 5 Aug 2022, at 12:44, Rahul Singh <Rahul.Singh@arm.com> wrote:
>>>=20
>>> [...]
>>>=20
>>>>>> Looked into the code, the GICv3 driver tries to create persistent
>>>>>> reservations for pending pages, and the persistent reservation table
>>>>>> can be used by kexec/kdump.  For the persistent reservations, it
>>>>>> relies on MEMRESERVE EFI configuration table, but this table is not
>>>>>> supported by xen.efi, I think this is the reason for the above oops.
>>>>>=20
>>>>> Yes, you are right above warning is observed because Xen does not sup=
port
>>>>> memreserve efi table. I also observed a similar warning on the N1SDP =
board.
>>>>>>=20
>>>>>> I checked that if I boot a host Linux (without Xen), then the EFI ha=
s
>>>>>> provided MEMRESERVE configuration table, I can get below log:
>>>>>>=20
>>>>>> #  dmesg | grep MEMRESERVE
>>>>>> [    0.000000] efi: TPMFinalLog=3D0x807f9ef0000 ACPI 2.0=3D0x807fa0d=
0018 ... MEMRESERVE=3D0x807f8141e98
>>>>>>=20
>>>>>> Just want to confirm, is anyone working on enabling MEMRESERVE EFI
>>>>>> configuration table for Xen?  And welcome any comments and
>>>>>> suggestions!
>>>>>>=20
>>>>=20
>>>> No I do not think anybody is working on this at the moment.
>>>> If you want to work on adding support for this in Xen, we can provide =
support
>>>> and help on reviewing and testing as we have several targets on which =
we
>>>> observe this (N1SDP and Ava).
>>>=20
>>> Thanks for your quick response.
>>>=20
>>> I took time to look into the code, below are my conclusions.
>>>=20
>>> For a normal UEFI boot flow, UEFI will invoke Linux kernel's EFI stub,
>>> and the EFI stub will install MEMRESERVE EFI configuration table.
>>> This is accomplished in the Linux function install_memreserve_table().
>>>=20
>>> Secondly, Xen passes DT to kernel, it synthesizes ACPI compatible
>>> nodes in the device tree and finally kernel parses DT and create the
>>> ACPI table.  In this case, Xen doesn't invoke Linux EFI stub.
>>>=20
>>> To be honest, I have very less knowledge for Xen and APCI; just based o=
n
>>> reading code, I think it's hard for Xen to invoke Linux kernel's EFI
>>> stub, this is because Xen needs to provide the EFI runtime services, an=
d
>>> I don't think it's feasible for Xen to pass through UEFI's runtime
>>> service to Linux kernel.  If we implement the EFI runtime services for
>>> Xen, then this would introduce a big implementation.
>>>=20
>>> So another option is we simply add MEMRESERVE EFI configuration table
>>> into device tree, just like Xen does for other ACPI tables (e.g.
>>> RSDP?).  And then in Linux kernel, we need to parse the DT binding and
>>> initialize the corresponding variables in kernel, so we need to add
>>> support in the Linux source drivers/firmware/efi/fdtparams.c.
>>>=20
>>> Before I proceed, just want to check which option would be the right
>>> way to move forward?  And I am open for any other solution and welcome
>>> suggestions.
>>=20
>> When Xen is started using EFI, Linux is then started purely using device=
 tree
>> there is a standard way to define reserved memory to linux using the dev=
ice
>> tree and Xen should decode the Memreserve entry from EFI and add the
>> corresponding entry in the device tree that we give to linux.
>>=20
>=20
> This is not what MEMRESERVE is used for. Specifying reservations for
> the current boot is straight-forward. What MEMRESERVE does is specify
> a reservation that survives kexec and is passed on to the next
> kernel(s), as the table is anchored in a structure that is created by
> the EFI stub on the first boot. This is needed for the GICv3 on some
> platforms, as memory that Linux reserves for its interrupt tables can
> never be released again, even across kexec, which means that the GICv3
> will be DMA'ing into that memory if the kexec kernel wants it or not)
>=20
> I'd strongly recommend against doing any of the things Xen does for
> ACPI boot today: both the ACPI spec and the kernel documentation about
> ACPI support in the arm64 port is 100% clear that EFI boot is the only
> supported boot method. Issues like this one would have never popped up
> if those rules were adhered to. (/pedantic mode off)

I agree with that in the long term we should find a solution to remove this
system and have something more compliant with EFI/ACPI in Xen.

>=20
> In your case, this is a matter of allocating a structure of the right
> type and size, and making it available via the configuration table
> array in the EFI system table that the dom0 kernel receives from Xen
> at boot.
>=20
> Please don't add DT entries for this - we should be able to cover this
> using the existing pseudo-EFI boot flow that Xen uses today.

Currently the EFI system table is passed using a device tree generated
by Xen. To add support right now we would need to make the table
available to dom0 and pass its address inside this device tree.

Cheers
Bertrand

>=20
> --=20
> Ard.



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 15:41:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 15:41:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384716.620150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAJN-0001Kp-9N; Thu, 11 Aug 2022 15:41:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384716.620150; Thu, 11 Aug 2022 15:41:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAJN-0001Ki-6X; Thu, 11 Aug 2022 15:41:29 +0000
Received: by outflank-mailman (input) for mailman id 384716;
 Thu, 11 Aug 2022 15:41:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WeOc=YP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMAJL-0001Kc-8U
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 15:41:27 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70054.outbound.protection.outlook.com [40.107.7.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ef0205d-198c-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 17:41:25 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB6075.eurprd04.prod.outlook.com (2603:10a6:10:c4::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Thu, 11 Aug
 2022 15:41:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 11 Aug 2022
 15:41:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ef0205d-198c-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KBMgLq1IcmSU14wCM2dYe5uxA867opay3GXQbYkc6uumiaNJcFO0Tdcz4TT+SeV7tvUjO4pLB++bXo+xCr8L2yQankwRFcp6hQ3A7gf9US2yZl5JrItrBPFTxzaByQrQEyOYKWFsjyuxHymjRzHudP+I6h7PTq3nVZ/iWELvKdPULSrVS/QO+ptZ7JQdDNqjgBUolIiJnLSuPEBcb+cDR7polKbypMSHddG3gfpBzdNz8ABmeKB2zyBkJ5wfVRFEf/n6fDAPSPslUA4GFEdwQeC91DP5FLKy8vYBi/OJoy9x2v8eUUkSP/vDlwt4YfWaU2I17Khb/typ7qINZOaxXA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BosLsCCq9eIrx2KkN1hwHB+r3NvIpTzBNuy0p7LarpA=;
 b=CAdYLoOthXIFx5vXSKNw6aIiaU/IaMJCBG4lWSvzovFitCrRNUcPpVpi3GfxJ5KM+sFmMN4cczrfJ8gH9HW+mcyujbhBr8qWzMWPwfCoocADNV63gHq5IUTW6VnbT1WB1CDbQb8q5xJZoYKZLogWntiMEKXrjF26QrcIM8BjeqkE7M/UsB2vvY0nQchnt1C0I9UwysdfohJfYwZxReOYPLZy6JHmY3quZkuNB8iQ3QLrmn9qSOxlRWOkZGR0pswB/2+hOSmppyEkW6dFKuWs+uKDVHUNCTsJArsVi3lD1CyzOqcJJR6HkBcGpVSIM9TSKyu9TSsYuJp9U21Bs1ql4Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BosLsCCq9eIrx2KkN1hwHB+r3NvIpTzBNuy0p7LarpA=;
 b=mTP1lvmmjoDLoxgmieGQs1zFEqpaVBmEAgNXbwwFmE8DqCR13U53B+BJu139qx/Cl1lXvgzLf1gaRfQUiC7SIkE7ZLZPdoMt22KuLNpEhgnJINpv+GIpRF8GWvJr+DP7H4Qofk3Ve6hu4JijHqQnbn3nJlIJN0j0MDau/TTMWGopKc6+wpLcvKL65IOSNKAuPGgNeaygvLkW0g4jtl21HbcZ3ZtKcQP23TURS0X70tHpc6JjRIo+yHBGCwPYAGodIarAQ0iQM+ig3SOgCBWNgZDqvfq4R33puzh+rDoCLF896dV5rWYkAFS/mPi5oeGGoYdh91J5rBwzZIvsj+Vv6A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <014bd92f-c2ad-820c-7dcd-5ec8cdcd6bf4@suse.com>
Date: Thu, 11 Aug 2022 17:41:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 Rahul Singh <Rahul.Singh@arm.com>, George Dunlap <George.Dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <0bdd4f3f-965a-fe39-f7af-d8a40b7a68c6@suse.com>
 <48eee228-f7fa-5932-ac93-03cf70de01e8@citrix.com>
 <2ab93940-89c3-1316-a1a4-22daa09f96fd@suse.com>
 <5b11f7b9-7264-0797-0aa5-20a988a04bc8@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5b11f7b9-7264-0797-0aa5-20a988a04bc8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0006.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 244530bb-4a0c-4f99-a879-08da7baff09d
X-MS-TrafficTypeDiagnostic: DBBPR04MB6075:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EUJbF9GwS+Xn/TAvnYnSfkRqLR/T0b9X3ZS8CAfqaC57enz0Ip+zpg0DYnWTq3SlmARQlbOglhmzmL6db1FK7ArVwkDoqVFxe5e280YZTqmxS4S5Ge0TnBVpUXJzcNdniythY+ey6cNi20T+KADhxZZtWt6EMMIEkstRUd4I4McviMWF3FC+YH1q60rOAxUpuPvXAnxhSn9OeOIUuovrJEnZ9sNJ//uFQEAUv+GH1/aPRUHWieEQNq/51rt8OXMw2UdryeIVBfNPwgfwR7aYuZfRyPHte1HW2LNVbgEukkykVlbPpJnjR2LdS8iQivi1JpE/0f3ylqbpYMftCB7Sj7NjqiHpKGRhOifZtmAyvtooEgpSVsqLAGuCmqIFiSRqHMRNBal3kk5MPhzsyNqI0m5MAI02qhd6z6Kosw/WhYz3726MjwzRdASeZ/AvU3NqEIpFCheUkqnBecOOkjSlYBOi1bFLwO63lZugm8GRJqmhijizBPRqmQ0hmlSu1OhflzoTAttiMeGxjXo5nCtFR+SnYYPU1FN861BFHEFSVVW+ZmoydtSQaA7f+EHDhLNIXJX4fRjoRM9BnUmw39CxjySpb7lfK6srdUYx+REHv9l+7J6W6yujV1RLT+qsv41mjQcRon54Efq82aSD8i70ugRunXTdNwi/teYNWAQJIb8deyaXfn+Vwv4XfumY0uvPV1U3TvfjdHNcmrMPOxsvBebrLrI6I+GxcighrXdShUkAYQx2wpbMzD7XQyX1hwWZlD25NpaoBPCpD1abZaqZY6SyYJlSRGAxurzdUHeNxyBj3P4B5tvEG9UI0xTUALLzzUr+vli9PtqPM9p6mQqSEw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(346002)(396003)(366004)(39860400002)(2906002)(53546011)(6506007)(6512007)(2616005)(38100700002)(26005)(41300700001)(36756003)(8676002)(6486002)(4326008)(66556008)(66476007)(8936002)(186003)(316002)(6916009)(31686004)(86362001)(478600001)(66946007)(54906003)(31696002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VU1lczNCV1BGN1ZFUVRCNVVLYk1JZENqZDFTUFZ2Ky9HVm9vaDlYbDFGN3BY?=
 =?utf-8?B?RzkrTUdSRFRSVGUzODN1dzRBOVg0T2loN1dCdnAxYkd0OUVQUy9LT1BGV3Vz?=
 =?utf-8?B?Q3JjUU5xVTh5eXJDQ0JERmpNSFFOeFIvZXRXSmxmR0lBdmxuME43a2JSRkZr?=
 =?utf-8?B?by8rSU1qRDlZQjV3T1VvV3B4bWZGbnFvQUE0SHZHNktFcVpRR1hPa1Z6bThZ?=
 =?utf-8?B?cGcydEFUTVFPZTNrZWNlaXZIUzhUbnB6TzVlK2IxSDFTd3ZsWkExZmExaFFG?=
 =?utf-8?B?aUVFMm1UQUw1Ykp4eEwyM05OVnhsaGFTQUpQWXN0WUF5TmNMcEc5M1VFTmJi?=
 =?utf-8?B?K3dybkJxTVlBWlpCVythSVB5azZqemgwWXpvUFNQMkhKOWdnd0hkdUNrQXhG?=
 =?utf-8?B?TXhadHBnUFFkUVowNUhLMXBLdXk3c0R6dnpzakJhYVpZRlU1QVJicmdycEM2?=
 =?utf-8?B?K205cEUzWWt0QVoyRUVNWVZHdVNmWUNlZmthQlNtTnNpaGNIdUh1cmxJTVVK?=
 =?utf-8?B?Y25uWk5HL1pPT3NQSURBTDRoREhMWnlYSFlhdE92QjV4LzhDdTdkQVBKQUxj?=
 =?utf-8?B?Um5BTnhXelIxdHJ1aUhHUUtmSDdzcUlvUFZXS2NGZHlMMlNaK2I4eTlKL0t5?=
 =?utf-8?B?MGVVcUtJZzMrSThWcmdyYXJ5RktKS2FFWkZ3YWFNei9LTmFMQk83M25BK0Nu?=
 =?utf-8?B?REpWR21zVWRvN0FZQWlNK1ZnSXBPWTI2aUVFWUllV3RtMTkyNytVTXFGOTJC?=
 =?utf-8?B?dlh1dGtsV2JYYmtUU3pnYW9iQi83TllBMFVlWVE4bVhLTzNoblAxTjVIZzJJ?=
 =?utf-8?B?RnJnR2p1ampPVFdpY3dkelZiaFpIYVIvR0NPU2drc1F6aUFBNTlLd0VKZnVY?=
 =?utf-8?B?NFlPTWxHUE1Hb2xxTlIrSFRlakhmT1hVT1ZoR0Rxa295b1lJS1RRb1VMemVa?=
 =?utf-8?B?eGFkNS93cU05Z3JHbk9ydWpkVVptUFNWTXF3dHdHcWZadUowRVV2YTlybXlm?=
 =?utf-8?B?dnVSSnAxaTgwblRYUWJKbWowT2NjcVluUXpzd2ZKR0EzR0crUityRSt5bTIy?=
 =?utf-8?B?MEtHcWk5ZjR1VWIvVFVvbUU0bFZRaW93TmNRaWl5OEI4UVNkYjVqREFDMjVj?=
 =?utf-8?B?cjNJLyttYkV5aTA5bGlWTWFPb2t6NWhWbDNPajV0N01GVGhxR3VrRitrcHJS?=
 =?utf-8?B?dCtMRTBUSGNneGxtelplNG5oVlJzelZ2SXJhN1ptUHNjV0xhNzVMeU1abGx4?=
 =?utf-8?B?a2FYZ2ZlbFhXek9COGZIYVBkaDBpR0ZwTXd0eDBpRWRMbzhqUUdSQWZOUWZW?=
 =?utf-8?B?bUcvd1dxSHV2bmxiRnVRZThJRDc5c3E5WlBCV1g0QjlrSG9UUlhHN0k0SG9v?=
 =?utf-8?B?QVNiSjRzUmVlS0VTODU4OUttazByR2lCWUl0OHJ3VEFpQitBL1BDS00wUWpI?=
 =?utf-8?B?Q1JueS9DTkpodmRNTVpobVozY3JHcTA4VU1MMVFIYTVtVllQdmxNb0RDV1Jt?=
 =?utf-8?B?MkFCYlhGQTBwdFh2OXRidmFrM3hUdDhnSHM3T3ZlaXlQQ0ZCT2tRUmlUZHJx?=
 =?utf-8?B?S0tEcWgvUjFDYVJYbTF6QzJKMmVTV3N1amdPamNJS3VrZjRlQmY2TU5PNDlj?=
 =?utf-8?B?ZkgzYWhKNCs5ZVpVVTZqTXN1L1pMVG0zMFAzKy9RWVNyU1VrTUxpWXh1VnY2?=
 =?utf-8?B?RDNsNy9Dbzc0ZGM2blJwUGNBVHhTOVNhZzNCR3FVQ1VxOWlCblR1M2s4TzM1?=
 =?utf-8?B?RW95QXdrMzN5bVlTVXNuaW1QNW4yWHpWTklvUlBBa3AvUTVSaHVGeDlFLzNH?=
 =?utf-8?B?dlhEaTdtN2prZnY5YXlnK0dqMmIrYThIR1psUGxuMHdJOUk2WVd0Y3hDcmZt?=
 =?utf-8?B?aVRJM1U0WnBKY2VxRW9ablNpSE00TUV0S1VhcUsycElseml0dUx0YlRyaisx?=
 =?utf-8?B?SUR0STRoMXVmMkdHSTBiK0pBNldaekxKeVh3dFJ3cW1rTCtRVW1yK2MrcnpQ?=
 =?utf-8?B?U0lVQVlnYkxkWHlIeTV0alRkckJ0QU9PemFyaTlnWDR3UUNKYklWOXl2TDhk?=
 =?utf-8?B?RmU4RkwyeTV2RzB6aTVHQmVOUW0vNHZkTmZHbHRGSWZoOG82MG1LZWxDNzBn?=
 =?utf-8?Q?XEivpOXJ0NbKyUMWwp39Twfo6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 244530bb-4a0c-4f99-a879-08da7baff09d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 15:41:21.4110
 (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: rvu72vzPzgsERyAVsrmajScqXloyEy6UFCibihf1N83TJA9zmKx+1JcZ1uKgg8id2hHtVbrcKICig30FEqnUuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB6075

On 11.08.2022 17:09, Andrew Cooper wrote:
> On 11/08/2022 14:26, Jan Beulich wrote:
>> On 11.08.2022 15:21, Andrew Cooper wrote:
>>> On 11/08/2022 11:52, Jan Beulich wrote:
>>>> --- a/xen/arch/x86/irq.c
>>>> +++ b/xen/arch/x86/irq.c
>>>> @@ -2162,7 +2162,7 @@ int map_domain_pirq(
>>>>          if ( !cpu_has_apic )
>>>>              goto done;
>>>>  
>>>> -        pdev = pci_get_pdev_by_domain(d, msi->seg, msi->bus, msi->devfn);
>>>> +        pdev = pci_get_pdev(d, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
>>> Oh, I should really have read this patch before trying to do the sbdf
>>> conversion in patch 1.
>>>
>>> However, it occurs to me that this:
>>>
>>> diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
>>> index 117379318f2c..6f0ab845017c 100644
>>> --- a/xen/arch/x86/include/asm/msi.h
>>> +++ b/xen/arch/x86/include/asm/msi.h
>>> @@ -59,9 +59,14 @@
>>> Â #define FIX_MSIX_MAX_PAGESÂ Â Â Â Â Â Â Â Â Â Â Â Â  512
>>> Â 
>>> Â struct msi_info {
>>> -Â Â Â  u16 seg;
>>> -Â Â Â  u8 bus;
>>> -Â Â Â  u8 devfn;
>>> +Â Â Â  union {
>>> +Â Â Â Â Â Â Â  struct {
>>> +Â Â Â Â Â Â Â Â Â Â Â  u8 devfn;
>>> +Â Â Â Â Â Â Â Â Â Â Â  u8 bus;
>>> +Â Â Â Â Â Â Â Â Â Â Â  u16 seg;
>>> +Â Â Â Â Â Â Â  };
>>> +Â Â Â Â Â Â Â  pci_sbdf_t sbdf;
>>> +Â Â Â  };
>>> Â Â Â Â  int irq;
>>> Â Â Â Â  int entry_nr;
>>> Â Â Â Â  uint64_t table_base;
>>>
>>> will simplify several hunks in this patch, because you can just pass
>>> msi->sbdf rather than reconstructing it by reversing 32 bits worth of
>>> data from their in-memory representation.
>> No, I'm strictly against introducing a 2nd instance of such aliasing
>> (we already have one in struct pci_dev, and that's bad enough). There
>> could be _only_ an "sbdf" field here, yes, but that'll have knock-on
>> effects elsewhere, so wants to be a separate change. And there are far
>> more places where imo we'll want to use pci_sbdf_t.
> 
> What's the likelihood of getting to that before 4.17 goes out?

Well, I can try to get to making a patch tomorrow, just in time to meet
the submission deadline. But that's not really a promise ...

Jan

> I'd prefer to see it fixed, and obviously even more conversion to sbdf_t
> is better.
> 
> Basically, I'm happy for the conversion to not be in this patch, as long
> it's not going to get forgotten.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 15:42:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 15:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384723.620161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAKB-0001s7-Hg; Thu, 11 Aug 2022 15:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384723.620161; Thu, 11 Aug 2022 15:42:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAKB-0001s0-Ey; Thu, 11 Aug 2022 15:42:19 +0000
Received: by outflank-mailman (input) for mailman id 384723;
 Thu, 11 Aug 2022 15:42:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aO9K=YP=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oMAK9-0001p9-QC
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 15:42:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 2cbafda2-198c-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 17:42:16 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D9A5F113E;
 Thu, 11 Aug 2022 08:42:15 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 38B533F5A1;
 Thu, 11 Aug 2022 08:42:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2cbafda2-198c-11ed-924f-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2] xen/arm: smmu: Set s2cr to type fault when the devices are deassigned
Date: Thu, 11 Aug 2022 16:42:04 +0100
Message-Id: <3d254f1c7045bc212c5700c1becde458174e5bf3.1660232299.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When devices are deassigned/assigned, SMMU global fault is observed
because SMEs are freed in detach function and not allocated again when
the device is assigned back to the guest.

Don't free the SMEs when devices are deassigned, set the s2cr to type
fault. This way the SMMU will generate a fault if a DMA access is done
by a device not assigned to a guest.

Remove the arm_smmu_master_free_smes() as this is not needed anymore,
arm_smmu_write_s2cr will be used to set the s2cr to type fault.

Fixes: 0435784cc75d ("xen/arm: smmuv1: Intelligent SMR allocation")
Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - fix minor comment in commit msg and added fixes tag.
 - make smmu_domain const in function arm_smmu_domain_remove_master
 - remove return in arm_smmu_detach_dev
---
---
 xen/drivers/passthrough/arm/smmu.c | 33 +++++++++++++++---------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 69511683b4..0a514821b3 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -1598,21 +1598,6 @@ out_err:
 	return ret;
 }
 
-static void arm_smmu_master_free_smes(struct arm_smmu_master_cfg *cfg)
-{
-    struct arm_smmu_device *smmu = cfg->smmu;
-	int i, idx;
-	struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);
-
-	spin_lock(&smmu->stream_map_lock);
-	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
-		if (arm_smmu_free_sme(smmu, idx))
-			arm_smmu_write_sme(smmu, idx);
-		cfg->smendx[i] = INVALID_SMENDX;
-	}
-	spin_unlock(&smmu->stream_map_lock);
-}
-
 static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
 				      struct arm_smmu_master_cfg *cfg)
 {
@@ -1635,6 +1620,21 @@ static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
 	return 0;
 }
 
+static void arm_smmu_domain_remove_master(
+				const struct arm_smmu_domain *smmu_domain,
+				struct arm_smmu_master_cfg *cfg)
+{
+	uint32_t i, idx;
+	struct arm_smmu_device *smmu = smmu_domain->smmu;
+	struct arm_smmu_s2cr *s2cr = smmu->s2crs;
+	const struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);
+
+	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
+		s2cr[idx] = s2cr_init_val;
+		arm_smmu_write_s2cr(smmu, idx);
+	}
+}
+
 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 {
 	int ret;
@@ -1684,10 +1684,11 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 
 static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device *dev)
 {
+	struct arm_smmu_domain *smmu_domain = domain->priv;
 	struct arm_smmu_master_cfg *cfg = find_smmu_master_cfg(dev);
 
 	if (cfg)
-		arm_smmu_master_free_smes(cfg);
+		arm_smmu_domain_remove_master(smmu_domain, cfg);
 
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 15:46:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 15:46:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384733.620172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMANi-0002YY-Ut; Thu, 11 Aug 2022 15:45:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384733.620172; Thu, 11 Aug 2022 15:45:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMANi-0002YR-RN; Thu, 11 Aug 2022 15:45:58 +0000
Received: by outflank-mailman (input) for mailman id 384733;
 Thu, 11 Aug 2022 15:45:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMANh-0002YG-I1; Thu, 11 Aug 2022 15:45:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMANh-0004NW-Fl; Thu, 11 Aug 2022 15:45:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMANh-0003IT-8i; Thu, 11 Aug 2022 15:45:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMANh-0007iI-8D; Thu, 11 Aug 2022 15:45:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ovfSNkzUCzuJUMRjb08xcxHSSVfCYbc8uxO6Sr01xKw=; b=2PcC1a4uqPEv8ePDs3+FdJjX5t
	QgIWaXuN2Q3NGaRkpWB41JcyRWGqTZHGEwSGARCqk58LyZcMU967eN367Ky+2WHxrI7Jr5r3cRPb1
	lkLKosAVTPDRvJmjebnAH1cIJjWXrpDOhyki6Hm6l9VJBubRrOka3KD7A4z5ukoH+nVg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172386-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172386: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 15:45:57 +0000

flight 172386 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172386/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    7 days
Failing since        172151  2022-08-05 02:40:28 Z    6 days   63 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:15:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:15:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384747.620191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAqd-0006Sw-Dm; Thu, 11 Aug 2022 16:15:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384747.620191; Thu, 11 Aug 2022 16:15:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAqd-0006Sp-AV; Thu, 11 Aug 2022 16:15:51 +0000
Received: by outflank-mailman (input) for mailman id 384747;
 Thu, 11 Aug 2022 16:15:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aO9K=YP=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oMAqc-0006Sj-JR
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:15:50 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2067.outbound.protection.outlook.com [40.107.21.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc2d2a27-1990-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:15:48 +0200 (CEST)
Received: from DU2PR04CA0241.eurprd04.prod.outlook.com (2603:10a6:10:28e::6)
 by AM8PR08MB6369.eurprd08.prod.outlook.com (2603:10a6:20b:354::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 16:15:45 +0000
Received: from DBAEUR03FT056.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28e:cafe::b8) by DU2PR04CA0241.outlook.office365.com
 (2603:10a6:10:28e::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.12 via Frontend
 Transport; Thu, 11 Aug 2022 16:15:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT056.mail.protection.outlook.com (100.127.142.88) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 16:15:44 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Thu, 11 Aug 2022 16:15:44 +0000
Received: from 958a58905dff.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EC2E35DD-3CBF-4841-9DFA-052A670C552A.1; 
 Thu, 11 Aug 2022 16:15:37 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 958a58905dff.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Aug 2022 16:15:37 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM0PR08MB3634.eurprd08.prod.outlook.com (2603:10a6:208:d6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 11 Aug
 2022 16:15:36 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%4]) with mapi id 15.20.5525.011; Thu, 11 Aug 2022
 16:15:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc2d2a27-1990-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=bAZuHkTKWuXzp8xSGD8HLjcgztGI7z9WlLQESko7wYZsGmypsjT963FkGz44p51qWZX1hoPb+33rk/RaeLbWQmo9kiyktzGa9VVezQISTF5PDmMlGQ647HMi6MO8dOQHp9NYuMrurTn3SEcljk7YIuN6gvpDvGebleZmTFeQ/NaQfzvHmrFWBDcNCVL/W0S2VKPPyd8Z8FPO2BM53l3+Z1GMXtQG3OhvpcqGutfjO6wWGmMsdjbNNi7r3LmSAeBAMuq5haylLHayH2lzN0Dg/aXJaS8JMFIkwa7yvvP62fwAzoVxxwO5/IspPSlZYg9snt7j6nW85Ioug3zmISWOyA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YmWPOcTyyFe8ypUr/fHSs5KlmXuh1gcUOk0+I3vMoPo=;
 b=MQGiaoIRPTD4BFXxPMG7ZO7P431xsNSRFPV8MeOq8SI48H6ipUwzmRc1G5SwAwiRZPe/kfykR0Yaz595lJEPRAnJzOvtlYlgDp+AwzJpdMDLuwWd2iGve0d4hPHFeckT+/eLjM3w/J9Cmr4mAJbsRQsYculthrtw6RcchzT2N8Wh3cnzwnsHGIUTjTkPBFOYdekbUPkOGPhMSwp+OE2T3PlXJS5rTBeCdOmrl+8cVi8fp3jVuezV2AXmUdxWvM+9sWhnE2yv8k07YGmDJd8CuUs7ncf2Epne5vIERTxdYDj6rcn8hYHOimoj02Pujfvw3JF6erd25ANRUWj9YE+S3Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YmWPOcTyyFe8ypUr/fHSs5KlmXuh1gcUOk0+I3vMoPo=;
 b=HJPp43Uqz3bHQF64FKPDKlbEnaHLtRa5WZia6qQBqHRbyNGnI4Dw4DsMe7LnqP1mzZSU3Xhyj3JF/xdokR7rL3WbXMPRDwnnP9eZ05jt8Mlngio4uqWIeGKg6jJDJ8SELAM12P1H3Vr8FWg50Cl1xC/V2U1oONlRGw/F0WOezAg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 749d0d732aa18f9a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IgbGTn7URAP9e7yxKI3TiXjIl/G3D5MCKd+UUo5HACfkE1SJ+zaa0loUbSAKn6GtkGj8VrZS37AABfV9vdQ2YZxgi8k7Ne4W7EkT2yIR1uof4Wn+ikfT+tFMTTMuCc1B3iLydam6wr58T4J45W0L6DN+7aHhukucC18/ZqqFyPeCMv+cZtluqe22lc05kFtqOskB1ot9Gfg2uJq7Jge01A18Z+gM0/2pMFWN0HlWUTEN2krW7FGF4d0SQmMd+BwOiGB5dXAE49R5fOmapfH2IbgEjjazfg/n4aj+YDefOPH4KbRHxraXdHgRK89Ggp8Iiwics+qYIhdrWo4R5MYZdg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YmWPOcTyyFe8ypUr/fHSs5KlmXuh1gcUOk0+I3vMoPo=;
 b=Su4EYR1IEvsKIi6EXW7wGolSLdr73HQJFHppRTGThr5/3oDKEjSus+mgVxtdF4XLtCCQAZfRwafTeYozNHJ83e1wGNvkqfUKF7xpDeV3gqVUASWxI3bTZq8WAbzrXteMPO3CH/vTqtgLszHh5ECkwhoeEbs/bFEWIyDSI9opgyvEATzHJZbpAOZDDgpH985av/FxXfuibbOdMWPsz3dv4L/tmQpriLEe8dz65zHUolrRrKZXJoO0ePXoAedeaYegxOSUMIpVBDUrno9o8n2n7YDGZuEsAhj9eBCyq5yAdufGzpscbpOINc+dSeRaxrg8B7EeqFvaiP+zZeG8W/xIPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YmWPOcTyyFe8ypUr/fHSs5KlmXuh1gcUOk0+I3vMoPo=;
 b=HJPp43Uqz3bHQF64FKPDKlbEnaHLtRa5WZia6qQBqHRbyNGnI4Dw4DsMe7LnqP1mzZSU3Xhyj3JF/xdokR7rL3WbXMPRDwnnP9eZ05jt8Mlngio4uqWIeGKg6jJDJ8SELAM12P1H3Vr8FWg50Cl1xC/V2U1oONlRGw/F0WOezAg=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Paul
 Durrant <paul@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 1/3] PCI: simplify (and thus correct)
 pci_get_pdev{,_by_domain}()
Thread-Topic: [PATCH v2 1/3] PCI: simplify (and thus correct)
 pci_get_pdev{,_by_domain}()
Thread-Index: AQHYrXBYbAi5RKJo+EWRwqCP3VXH1K2p4E0A
Date: Thu, 11 Aug 2022 16:15:36 +0000
Message-ID: <19F45D6B-45E6-4F10-B6F7-089796E0D5D4@arm.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <ad2d9405-9712-79bd-16d7-666ce79bcb3c@suse.com>
In-Reply-To: <ad2d9405-9712-79bd-16d7-666ce79bcb3c@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 4444ef01-2d87-44b3-4bd1-08da7bb4beac
x-ms-traffictypediagnostic:
	AM0PR08MB3634:EE_|DBAEUR03FT056:EE_|AM8PR08MB6369:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 REPeaVU/2JoE4WajHF9PVtpvzjR9e7KFktA2OD5FCC0QijVt7yp+mK17csIHRkaR5xanzsuen4t3weYU0JmcnQRjNsHH198jw5z0mUx01B+XsSTmepNF0H3VFUyaLwRoAkojLLAXVZblDksxPmQyHb3DgwE9HUjckHFORzPLX8+8Y0RrqDerxIgXFrJpbGwDca6DtWXVBlmWLsp8Mh6XKaHaIxhMM/Si8NNH70a2c+en5gLnxC/pwb/DNc/SYR0kLJz6RmqLxw50ddlhAt7RkM0tx6k8MmjW5WSoZ8h78ys5p4kRMFxNqwPBstbxGF+BI1U4545DRSCgbplkaw7cHHne3YkSXoD0919Apnykh8/bhu6RBhfDBKvBhrLPHdxWjztnNzc4vbqW9Tt7jB4Vwadu1yf1FIQbrNF0v2dmq7PKkNjvej1XDGVjS9JC2pYsfX52hGCVpvOSkud3XeAncqimHjNSdPSkRSa3hPWw6tnJsWTtg1UBu2KoVdqZeEy21MwzJqIr3CPJY09n2/9s0ByYaF+Fp3SBmub2FXSepoVtXWh106LWKysdqWBwL5SjBPQRs+v0gjgPSnFLjwKIpXV7g0MXUTNbZk7pZri1d+wbdDpV0Kdna+w7Md6iRQAhKe2jCmWsz3gft0nwErPa1KgKypIXCM/jJoLa5IciMwYgumJSgru4MKi2Xogbz98pNIwmkfkfuOO5skakMdQWIMV4XC7gbmfi+woSPazEZsjRelMfo8mK9XTj46tHhV9WY7eTY6p3OAri8kCyn84QzHQgUkRa45Yr/zNOH9Wb7yBQ4NAREJtEUe0Rg39AmZrOO7YT+9xoZlvXS+z6rbtyrA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(2616005)(2906002)(478600001)(33656002)(6916009)(122000001)(86362001)(64756008)(36756003)(54906003)(8936002)(5660300002)(66946007)(8676002)(26005)(6512007)(41300700001)(76116006)(38100700002)(53546011)(38070700005)(66446008)(4326008)(316002)(71200400001)(91956017)(66556008)(66476007)(186003)(6506007)(6486002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <9D751966CBE73C44BEB01E7CB17CC3D6@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3634
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ebb72f23-786c-4912-0058-08da7bb4b98b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FOFbc7JgZuHLRK/HgOZdBzn/s8IhviVpMC0z3nExlL5wUr1LYuexhAkZzyaczgPCtY49yYuo9ThfSl4L3wiQ8J1RbQtRxzJWxPFuqxG5VoSNjzb9XR70aWL51K/S++NjffnrZJzsQ+mmOppsYgiwem+zmnNXeey4xKmquf37PzsZp69PxHQXd8lVQozADruZF6qjbXDClu0ZEuWdB5vkIHn2gJ3u9v3fYXaNvBP0s68YajpE2rWtFczKGjADLFo2+gBliA82QEbG0JFpa3bg3xmmV/gDUab8QP6rRVoWv5mx6pRGx+vW9qBrpU5iT3KYak2dwBCv7jiKE1QLG5Lb15ik56wF+6Py6LnJP2cSabZrG41VE49CMZgpGrsfTsCKe4tiPj0YLMedTsQ1YsXBwKGssQXgO0HXeTPyylqRR2jbxPhINwUINuURdTnNcMNzUfxIFtasJ2EQQUxMatoIjlZuJMQ30gPUpdMypCNoN2aNMk/nmJqjHnw9aNZ2MbCT3vDjZ09ehUw24NF1FOXwN1GE0R4VO6SvBzmp2bh9ubdESOavLNM4t11FCPPA+VCXFktsRe4hjLWJq+u/9K6iscqerP+vK5SH2g1B6R4QBP2mJY8WNj3VfluwL86sSn9c7Z3MVFbWzMAWnAglHrV+OqqVbepWxXOpnkszsq9+1yNGdpa3MEE6V6ceJbOs32Ie+Jks20Md91auMTvc40XnxHkDGDFiOEZu7+lwyqmq2/9HiBLoyI7frsEBNgw2xG+eB4Bhc3jAeo0wLjk4jlvlaItsE41OCgqihTqIIxH19KA=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(346002)(396003)(136003)(36840700001)(40470700004)(46966006)(26005)(356005)(81166007)(6512007)(82310400005)(82740400003)(53546011)(6486002)(40460700003)(8936002)(6862004)(86362001)(478600001)(6506007)(5660300002)(33656002)(41300700001)(8676002)(4326008)(70586007)(2906002)(70206006)(40480700001)(36756003)(2616005)(54906003)(186003)(107886003)(336012)(47076005)(36860700001)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 16:15:44.9482
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4444ef01-2d87-44b3-4bd1-08da7bb4beac
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6369

Hi Jan,

> On 11 Aug 2022, at 11:51 am, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> The last "wildcard" use of either function went away with f591755823a7
> ("IOMMU/PCI: don't let domain cleanup continue when device de-assignment
> failed"). Don't allow them to be called this way anymore. Besides
> simplifying the code this also fixes two bugs:
>=20
> 1) When seg !=3D -1, the outer loops should have been terminated after th=
e
>   first iteration, or else a device with the same BDF but on another
>   segment could be found / returned.
>=20
> Reported-by: Rahul Singh <rahul.singh@arm.com>
>=20
> 2) When seg =3D=3D -1 calling get_pseg() is bogus. The function (taking a
>   u16) would look for segment 0xffff, which might exist. If it exists,
>   we might then find / return a wrong device.
>=20
> In pci_get_pdev_by_domain() also switch from using the per-segment list
> to using the per-domain one, with the exception of the hardware domain
> (see the code comment there).
>=20
> While there also constify "pseg" and drop "pdev"'s already previously
> unnecessary initializer.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I tested the patch series on ARM  and it works as expected.

Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Tested-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul
=20


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:16:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384751.620202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAr5-0006xC-Sl; Thu, 11 Aug 2022 16:16:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384751.620202; Thu, 11 Aug 2022 16:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAr5-0006x5-Nn; Thu, 11 Aug 2022 16:16:19 +0000
Received: by outflank-mailman (input) for mailman id 384751;
 Thu, 11 Aug 2022 16:16:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aO9K=YP=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oMAr3-0006oY-Tb
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:16:18 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062.outbound.protection.outlook.com [40.107.20.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed7d74a8-1990-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:16:17 +0200 (CEST)
Received: from DB6PR0202CA0017.eurprd02.prod.outlook.com (2603:10a6:4:29::27)
 by AM4PR08MB2865.eurprd08.prod.outlook.com (2603:10a6:205:d::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.11; Thu, 11 Aug
 2022 16:16:15 +0000
Received: from DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:29:cafe::a4) by DB6PR0202CA0017.outlook.office365.com
 (2603:10a6:4:29::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.12 via Frontend
 Transport; Thu, 11 Aug 2022 16:16:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT053.mail.protection.outlook.com (100.127.142.121) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 16:16:14 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Thu, 11 Aug 2022 16:16:14 +0000
Received: from ea36de2fb856.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CB975C7F-8EBB-4231-B111-E85E5AFC1201.1; 
 Thu, 11 Aug 2022 16:16:07 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ea36de2fb856.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Aug 2022 16:16:07 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM0PR08MB3634.eurprd08.prod.outlook.com (2603:10a6:208:d6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 11 Aug
 2022 16:16:06 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%4]) with mapi id 15.20.5525.011; Thu, 11 Aug 2022
 16:16:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed7d74a8-1990-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=HZVg+vC0AHRTk71qSjGpBBK77YNBJlZ7mCAwtCKUawdyIE+67ob2JCQPuWJe2PCNJw/EjyvkXOaadzB8bkH1sYrbltc6EBXe/3WHbW78c0kQf5i5xd7bkyK3PSVTdsieamZYMfLrM0lMib8aFMcOLHH3a53JJpTqiu34cuGXrubmtK65wOyxiBHbUuZxN88WtL6cuQmNLIYULlUNB3iM5c64WahCjedyG8Ch3dD/T3/W6GFqDAkKcK1165s3BP9MWepKIqGy1NgPy9KVhInzbTt2WgKFX8vq9/138w9vvjMQpX8BPAWUnFjC5naJdR4dk+gbhl1M90kRXW+YXtD5hw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D28FbbdvwfWTnb+AeMDo4M24qd+NAha8qe6OLpKIkNE=;
 b=S/ZBaEv2tPyxd7lNYpOZHjjS5ISSGfP1/YvowaJ6jMCVkqeyxWKyRFQL4WBAevQEAtaTdc2v3uxRS3JCjsJ2PoRkHAw4lVdswjDgDjqeUPJLzYxt6h+NXdAcRqdV3xmCMg87c4B9yVJU3yiQTSirOOUmMn68kVB89HQ7kjwBcKu5dPz/q/A+PuUqtgupyPd/0qjq6zGkFGFLauRrdLHCbhTsnCOFejsiqUh8h5BDS+6WMvJwBm28SxYo7p+/5OorK1ZS0sYRb0Iu02yaLfQ0jaB9AXbLMLWTIzWtGSkXsakwPoTZ/TtoaGrJMm5kRNde0ov5GQXUgBf0hJqdCirv0w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D28FbbdvwfWTnb+AeMDo4M24qd+NAha8qe6OLpKIkNE=;
 b=fvu9/F3Gq4G9mlMflFhjiA1ytLDOVPgdjnEzUfGTMadZCxGAPM2mi6RUgYs5fJPZlxdFOm6Vg3RbRmVPaqkAaMeM1L4XdD0zDtwNvVsXo3jRXaQ3eHMB9FO+PugLL6GRInoRc+Eg79Vh2L3Hwe0ZrB9JoRTu1dgv3RGrrgFoVbI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b4931b43444cb742
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=akvU4l54peZT4ktQYoUTVl/qwZhio49xC4ZQkGX65+pH8WDLffXOesrxcONfB8QFqtQq7XFQN+sinwaZSTn4vqEmo9yDewcea9k20Oeebq/Osz+yaSYCMD0JHJIigfIv1viXrp2oHOrxJ14V/9NDGp4M5/h46bbF+II0FuSuRMZNvZ8Li3AK4gN86WRcKbZgTES/ZAw5vpT7IzLQp+FO4pgxNMLSrxQ9OpbgX6b4//PgzdLo0D88t+7UyJhzLiF3ulEU8MPoIKJ9b5iqSCAQnymZWebY75A7rrdmf+8CnPmcwz8HWHv/6WX4W2gdBAIy9j/veYZ7pXKTPz7edlJbKg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D28FbbdvwfWTnb+AeMDo4M24qd+NAha8qe6OLpKIkNE=;
 b=YcvFce+2DXh0dEs5lUCkR5FDx5b+vvXl//vNH4Rxy22f3pWmUfuNiojALT0gVn3Wjp76aKLeRLj5bKKXoVfAmcMYZxbxQuCUOftsb5S0TCBuG54BtyLB6x9ylB0RV98qvFqZ/EhRPjh7NxlYAcTZdKKALs8MqntRcYrBD49QXarpHYFqam2Dca3ub1EKFLFwZ3E4SP6GLXaENzX6S/NnXKZuooud3QQ8835pTZ/319WUvtNsq+nE+4Mo2SEyZ5w50hKuvB34RiJ6BmbWSmAqfyqBHuXregsaZQ+3xdLaQreTOwJad3MMtuvvTlZ5XXitrF4kBAYPX4baUDf78D+jag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D28FbbdvwfWTnb+AeMDo4M24qd+NAha8qe6OLpKIkNE=;
 b=fvu9/F3Gq4G9mlMflFhjiA1ytLDOVPgdjnEzUfGTMadZCxGAPM2mi6RUgYs5fJPZlxdFOm6Vg3RbRmVPaqkAaMeM1L4XdD0zDtwNvVsXo3jRXaQ3eHMB9FO+PugLL6GRInoRc+Eg79Vh2L3Hwe0ZrB9JoRTu1dgv3RGrrgFoVbI=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Paul
 Durrant <paul@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 3/3] PCI: bring pci_get_real_pdev() in line with
 pci_get_pdev()
Thread-Topic: [PATCH v2 3/3] PCI: bring pci_get_real_pdev() in line with
 pci_get_pdev()
Thread-Index: AQHYrXB66CmheAjzHUSd7fcqZzV+dK2p4HAA
Date: Thu, 11 Aug 2022 16:16:06 +0000
Message-ID: <5645FC36-92B9-48A4-B6C5-3BD23EABECED@arm.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <b8a5294a-6869-121b-cd67-0740e6330769@suse.com>
In-Reply-To: <b8a5294a-6869-121b-cd67-0740e6330769@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: e763c859-af92-4fdc-14e6-08da7bb4d055
x-ms-traffictypediagnostic:
	AM0PR08MB3634:EE_|DBAEUR03FT053:EE_|AM4PR08MB2865:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 B6Ma/EVxZNNt0Zccyk2tFOI2bYf0N1BO9OZUTzzplbaz+D+mkANF3IZls4eMTwebRMH0+521EZMJP4YZnPEbDwn/8PS1ItrjWe8WQ0NQ2DBNOhWYn7dF6TaZPybxrvvcMEZ+YsaJ+fLiUdd+08G22ZokWRKdQaGKb+3DhoAkDFCNn13hzhzzOTrkxz8mdg/OZOjgvznoyFgDoub+RKw2PgZ6AEk8AUfshILFVvHX4AKfYpd8jRuo23PGWdsHD6IyK46b7MnhZEeUWy8dAuwJrLIG6WVT9rz2HPldXQkuRNnXcmjwmaTst/7pgy0jC89FSB/tllHoBVymvZeVhKTkmgJdRjUX538qBlVAls7Mvj+Or15vBCcXd0uRBtORY87AMeEQwBI3gk97l5/k0dWddhuPWusZ34iZtltpy/0fLuY64eF3eax9rMVaTeyhR6tdDD2Q+SRNFs50ouig5Wn8iL3QG/Wn8q/ER6JBuvXYE1FAfmEQPwy6T6Qm/E6uNjb3bxRF2bpSY6f+bXFUGgXYiX1OBOE+1vPuwlNHn4hJNsn4SUjbVXrx32TWL3eWlCp04OGGjEluGthd5eIq8prIimAs/4j4vQPwEiF0mmxeVsB1KHVdsSQvMxWnDWqezDee7uNERwx+M7/7eTwmcI3AUc92TJV1p7sDWHglFFK+7eLuUwxsx/V4jCfCmvzgVUy6/zOP4vfWtTul1XMTiQRQe2u1IUOiFSufh3ez3/zJ9D2UZC/6JYL24R8ODo3yR3leTlQdimJjP/h3++LFB98Z9qT2VeFTDGHiCe+QbNF/Q+4gAAX0B2f6eRtQjkEOBo5MQMpKW+Oaa002vVxQGS7rsQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(2616005)(2906002)(478600001)(33656002)(4744005)(6916009)(122000001)(86362001)(64756008)(36756003)(54906003)(8936002)(5660300002)(66946007)(8676002)(26005)(6512007)(41300700001)(76116006)(38100700002)(53546011)(38070700005)(66446008)(4326008)(316002)(71200400001)(91956017)(66556008)(66476007)(186003)(6506007)(6486002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <CA83BCA9374BC9439EA6FF7C8E22AD96@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3634
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	10bfceb6-ab55-41b3-98f5-08da7bb4cb61
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S4L+CF91v2Gw7qG2vSsETQ/TW/M/qT6yxLwT7we9BwQUG4v/lgLxaOZiL30SEAQHLj+TUdx8UEaosTVdLVCllXFAdsaBQy8ABQiYH3neph73RvVo25lEuEGzofBCAH19DgrYzH4r+puxNo065zdJLZ8GQ8oIGGCj1sHBtY+XBhGT8W4CjKG56T2BKOHo0h4poL4gtiwt7bDh0C7S9vMoROesnaysWVYbbuJlCk5qka657dR4zDM+Qt6gD0d5ubHBOD20ZPFQLqnPLxEz5uYi/NQH08671Taz22uvVS4pFRlzsrA+gKjIYvNm3fqZhU3qMUaAYX6eYkEQwUqVDg8d3G/8Ez5VeyFFeUteL91CfjSzjlQj/buUHCjwwWW794YLNVlbD87ZbtvMe9L5DBAG+w65orCZlQb5vYWSKrGsblvJr29ZVCaZmVoouQwq1XncSlvMPxqcSu5atsj4j6dpW0ts2K37/dgBK2kt8wUmTxQ3EDcmshfm23QRPfhjXapGm90lEvbjp73XtvkmSUKmI+LBu8SZJtQXJ40JHwwZbaZdOCsccHNLE204g9YMZlqhSOi27HYvWij1PoGAQbmMeyn5lXYJJIGrz5ppje5e5MrCoQTC+8HgNQVmERobSUgomeAXEKa1jIA+0F2HFtzAk8wW9lLF1tupiQGW3dUJFkECQkpKxvylrDq1LkzwOcI8+qER4Qmb2IHngRqiKOlIkB6lyUZtJjagXv0m1Wi6I65AbXkHp5c4TDQ2O+7LbMVDhDwjXcc1JZSf2rg8Ioka+XhcQS3tVvrTrSrS0MBk2ixPlq/KkHVzJMfnEVIheq2P
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(136003)(396003)(346002)(46966006)(40470700004)(36840700001)(356005)(316002)(81166007)(82740400003)(82310400005)(40460700003)(6486002)(5660300002)(86362001)(8936002)(6862004)(53546011)(33656002)(478600001)(6512007)(26005)(41300700001)(70206006)(4326008)(8676002)(2906002)(70586007)(4744005)(54906003)(40480700001)(2616005)(36756003)(336012)(107886003)(6506007)(36860700001)(186003)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 16:16:14.5913
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e763c859-af92-4fdc-14e6-08da7bb4d055
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2865

Hi Jan,

> On 11 Aug 2022, at 11:52 am, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> Fold the three parameters into a single pci_sbdf_t one.
>=20
> No functional change intended, despite the "(8 - stride)" ->
> "stride" replacement (not really sure why it was written the more
> complicated way originally).
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>=20


Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Tested-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:18:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384764.620212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAsh-0007em-6N; Thu, 11 Aug 2022 16:17:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384764.620212; Thu, 11 Aug 2022 16:17:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMAsh-0007ef-3h; Thu, 11 Aug 2022 16:17:59 +0000
Received: by outflank-mailman (input) for mailman id 384764;
 Thu, 11 Aug 2022 16:17:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aO9K=YP=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oMAsf-0007eT-GL
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:17:57 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2051.outbound.protection.outlook.com [40.107.22.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28bcf0e3-1991-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:17:56 +0200 (CEST)
Received: from FR3P281CA0141.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::14)
 by VI1PR08MB5487.eurprd08.prod.outlook.com (2603:10a6:803:13c::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 11 Aug
 2022 16:17:46 +0000
Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:95:cafe::d2) by FR3P281CA0141.outlook.office365.com
 (2603:10a6:d10:95::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.7 via Frontend
 Transport; Thu, 11 Aug 2022 16:17:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 16:17:45 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Thu, 11 Aug 2022 16:17:45 +0000
Received: from 6cfd2b1d78bb.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 767948FF-80A6-4929-967C-F04C6C17BC2C.1; 
 Thu, 11 Aug 2022 16:17:39 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6cfd2b1d78bb.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Aug 2022 16:17:39 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by VI1PR08MB4286.eurprd08.prod.outlook.com (2603:10a6:803:f6::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 16:17:36 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%4]) with mapi id 15.20.5525.011; Thu, 11 Aug 2022
 16:17:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28bcf0e3-1991-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=MSsLjl9COMfoVMMwoIIyB/kuRoahyZP2SXXnXY2eLeOVoK+c8ocSho6laXv1KVjjVhhR0ahjsGlL/x3SUtNLTzpv/DZznUZaOaEgekrsQT5YB9EIfZMlqYnjvXqsQPBbYJerAi57BdW0EiWx6B7X1k7G2K3iw/wYMz/EeANzghqyDCRe0pRVvPV3sde0c9je25Z6qeE1hPYv6G8P9pYKLpucN8eETr446Rrkxpp7KxzDg342Cf74mxibWapSZHawiwEY7DetM90tgkv8lSTVNe12irHNXBuiqkK0+RAoz4TVqVfY6WuDb9Q73HKBJq7/xHzbJd82fKn//X8R7M7ZYA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jBz8oskOKNg4uyTxzLL9dteX8kqrlFfIJsinpsinzI0=;
 b=GWNsJq00cePFJTlKjqEcPWoPJYAxjKuVN+0xiQVh6hn4pikev2eNqHZ+zJ5wTTdyT3z8j+qU1U3Ih67Je3sTCIbz0O3qIsyuuwQonBqiv3Vei6YIq/Nj1kfdftPuNW7b4bpevxB2VsvUAoTcge9QR7aOrsWkBf6szmGbp7yyU+QQkAKClYxgdn1W22w31DbckNlfJ7cnfwhEet1jYtETXAlqzn0Y2CblzjnMK+uYIZMxv15iKOGn9s8euVyTyDA6aZ/jRFv3p18lA0jLou8yZiCxxfsMFga34afNO/EAmO6OK2IESRy+9FUPfZuN465iH7DN1/F/9WBZKNy+Cmo5hw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jBz8oskOKNg4uyTxzLL9dteX8kqrlFfIJsinpsinzI0=;
 b=8uyla0JGVUZgraSIUqF0uW5oYCKNdpfA3SHRWDMgARlIuM3K44Myl0kD3nai+1skveVlXblCF7zvpqMPqtKGPQ/hBHLOqGjJO0fLXNx3kWnZPTMJPqITaoyJRUwg85SwP06dZL5PLel0dz3iYJFLcjeOwkavhqxU6pi4uSrjGnE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7d3a35ec0b6f045a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GxH7JE9wYb2Mx5q6sxz74FCrnGSN16VMeNV77FIJw6VjA3mwgiUDRAmJ6YNs371ThENRh+0POGwng7N/2/R/6m/yl9ucIDY2TwcmztKXIyZyZVU5m1KkfXbPBc68YjQ7B2I7Tv6xxYvX85G0muITZkiB+cDTtOoOGIurJgGYp1I9pVMaI/PGmFZxrv80I1U+Pp5aarKRg9vbzE38nuwUgxik1NJyG/Ekp8tqkg2nTuJUse85hs8D7KjOn3AXGa7awrj9T8tbqIRhZu9bya8ahEGcgMV2XxHi8SspdrNDUrBOA3iDCXiwdsmiseLyAwL2HWkrvODeDmw+L9KGZWking==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jBz8oskOKNg4uyTxzLL9dteX8kqrlFfIJsinpsinzI0=;
 b=WGiiCeNa2Gtu3qQl0c5Tp34oKVLegKyDrQmqQjDnBLXzPDa8A5QrS9x5qDz6HIIDa0LYlmyUO1XpNUO7Mr4GFEukps6MLFnxtH7PKmWwNga7KPAEQ3xsC0wzAlzNnSA9dQvfuOcqeh6Q0WrOWD4uyev31guubF+h+4Y5KSAru9C2sQZCxkN/jNYn6IDAvWdXzWPmnNVBcVDnTJ62O5x9SNqPY4+RUj+6j55+1kDlwWeuUOQUkW7KSABuCtP4mWuplCqXeQmGx5w+XU+w4fpsx5PtR7OmbC9loeezoL9OTxSvanInhazD1KZViZlPTKi97+LOZaDsuKVPgkyht3A35w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jBz8oskOKNg4uyTxzLL9dteX8kqrlFfIJsinpsinzI0=;
 b=8uyla0JGVUZgraSIUqF0uW5oYCKNdpfA3SHRWDMgARlIuM3K44Myl0kD3nai+1skveVlXblCF7zvpqMPqtKGPQ/hBHLOqGjJO0fLXNx3kWnZPTMJPqITaoyJRUwg85SwP06dZL5PLel0dz3iYJFLcjeOwkavhqxU6pi4uSrjGnE=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Paul
 Durrant <paul@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Thread-Topic: [PATCH v2 2/3] PCI: fold pci_get_pdev{,_by_domain}()
Thread-Index: AQHYrXBoGW5nDLcLl06N/ag9xMtlQK2p4NqA
Date: Thu, 11 Aug 2022 16:17:35 +0000
Message-ID: <8EBCC4EC-9886-4F67-B21A-2DAB23F2C480@arm.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <0bdd4f3f-965a-fe39-f7af-d8a40b7a68c6@suse.com>
In-Reply-To: <0bdd4f3f-965a-fe39-f7af-d8a40b7a68c6@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 5f192aa9-8be4-4368-022b-08da7bb506d7
x-ms-traffictypediagnostic:
	VI1PR08MB4286:EE_|VE1EUR03FT054:EE_|VI1PR08MB5487:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 HLyMiE7FV89E4+ZnMr4eD0rmqJtIAxt66LnMJwE9CLx3AzGgRI6oILxHdOj3TKDuPvFP/5O2wWYuFgVHkKI6p4psWtbF7tD+yERJs3k7/u+AtmbJjglm1CDPRbt1tR/mAYd4lDAJo5uEij9QA3f8YPOG+ygFTGAF6CrDa5aZplyHVaQcF3OPFWWVbOqHidNYdGzjW5uHQ4hSKUibzJwkHO+18pETE2+yGVqzhP6rMcogMlQD47k8a0bhKG8UNYUhxTjB8SBk1JDqN07tA4z3D9Ylg/4rcz0jrN+ZkXFS+OhQQ+WzZ96Jk+vIpC7oNuEMBsUMTq+eX4ECNYMoXYc/0b9cEOyg7UsZvFzsA5bAXsMTmoWI0lvVuzuwDytQ6p0+ZGsnq0iqX0tZcKsTevqANncnD5vICZ3zYokJbufF/AaL7Nn9C3HD0XUoCKZj3htYIsqskm9aTinQ1cqVeZac0F8VceAAYKiThzNQKB8MEOOpoJ3+syRtqnpbCwRL+rsJ4p3IEdqCZCICbDWOMXMIugs0yX3kzuprQzwIlhTLxEfiQgvj7T3uIOKBaIQazpEVnFf2jChrzCm7sHe1V9sIgNbpBK/6XLuI4ut+vTpDtKnu05DAN0Cw9gP8qKhKsbp6q7O9ewr1LggAoArklPD5QsZ7JAGAn23CZTiDpldt5yCrhxT+Xvfji1jxtYE89vX9nSqLBCpcHyc+qHWECUW/rHtWSE7I4lkHkBMNofe/csSjmgieKdzEO76Pj1tbcIO5O8WsjVkUQowkNBpLsrY6XUa+b9yR7woEMiDp1fP/oR4tjhdZih6zqofPoS64hnTiFKnCiNTmJ+t+3nP8hP63cA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(366004)(39860400002)(346002)(376002)(136003)(66556008)(4326008)(8676002)(66476007)(66446008)(64756008)(5660300002)(6916009)(91956017)(316002)(76116006)(66946007)(54906003)(2906002)(8936002)(4744005)(33656002)(38100700002)(122000001)(86362001)(41300700001)(38070700005)(478600001)(6506007)(6512007)(26005)(71200400001)(53546011)(6486002)(36756003)(83380400001)(2616005)(186003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <0544992140CF7B41B91C447D32F0285F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
 =?iso-8859-1?Q?pAeRuHR4NKt0lgb1kxn2Uf8sLBgjMvW/K75FF0UqEUDtr+LgcZrjNZca3s?=
 =?iso-8859-1?Q?BVmqqkNyzRIzE+ApcFyQGXl3anC7kWEMwIaWhl5iqNhrSm2pUT6+q+Znnl?=
 =?iso-8859-1?Q?CUhvEtKbUQIASmdCzcSE3oCGKPMPw4D/GmTKb6AU9xKX82SfyVVy+zCORS?=
 =?iso-8859-1?Q?Pw12vL6dwt+lzrSreCl7WXsNwIdSVLjhr4G5XzWdk2eHldJFHpiedR0dsm?=
 =?iso-8859-1?Q?6WLW6g6dnLTZ3c6ovCpvDfEG9SKcWQqSUvRT4v/68UqKjrlPUv3MAYyn2h?=
 =?iso-8859-1?Q?65+0qs4RnuoOfkc6XzkRujs4TvVmjoKGMizElhP2YFiqG7U1Rl3dzMLsTU?=
 =?iso-8859-1?Q?b1YfXOEioHVutbKahWcqbSpd28A+7utWqJg3xhm6hrRzA5lnJbo3CpFCQ2?=
 =?iso-8859-1?Q?v/IpIJerQPwi+Zn1mp37yvVEAqWPXMUBaYRprrhmPzGe4s6t3pb+mK/I1C?=
 =?iso-8859-1?Q?1AKUerhy5p5EslEF3O5ySG74jMqbHDaGbkMy1ipVD0E6Nh72euIkKBy0Fa?=
 =?iso-8859-1?Q?PLuUXOKcc8IXkakD5uYpxvXsW977bRcunXypIsB/JtI76VKbT56orrabdm?=
 =?iso-8859-1?Q?ns9QrWhWxRNG8nyN1/dFxx3bLO6uZZ3ESTzyiZG1cfs5IkWJ/uFdnC2YUr?=
 =?iso-8859-1?Q?tbpbdp+M/XSc7zdI/RF1W0L4LEuhJB3YL6k9Hv7k9lFR+na03hiWr+YwKl?=
 =?iso-8859-1?Q?wJ4cD53cUT4DNy2YebE9lgXlYa92nztVOYKPS6b8yyRthlzCSnEI/tbWgp?=
 =?iso-8859-1?Q?10KEGHtqgrgutkkSe7NxIaajjKvma+ZNgvstb/6VJvjOXT3/eO4jdSxxuW?=
 =?iso-8859-1?Q?apJmsZLYMOB8AfKregN3Nl1oyHW89LpYWZjLObr8DH/bwltytxnswtnz8V?=
 =?iso-8859-1?Q?iQ+vblvBPpaDjgunFdpqQ5DvdBK+9M1vWCTl+7l/Z3x6zeT4Zb+FllxpYN?=
 =?iso-8859-1?Q?bfjQdzZXQoSXDUtdf47dLiNuVS9/XwlUIPEWzCw8D5EeHrcaIj9uwiPzz1?=
 =?iso-8859-1?Q?k+fOmt6eQVnhK4XcGfASii1l2P/lGYnpKwOMVhu0GR8txteJC+7Ym4LhUV?=
 =?iso-8859-1?Q?0aiec9JxCDvBYEzHETZjwcwcV20FuRT0ia5+wUl2W0ZQlhQZiaNhv+DMh/?=
 =?iso-8859-1?Q?OkTvydYJCcMAUM/puqQpu5EKfLu1cIG2PWmSI2suc9XX15S3FD?=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4286
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	186f175e-24dd-48b6-9f50-08da7bb500cb
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OidfSSV/ZxpQan5wpHP9nw4JKv1kW3JFbnp9UPlAnvNZUuSREzkj/+prx+TMfBEaIPFtpsL2z1wyrvWIlpGkzkMYG4Qxd8VpaLp9Pq8TEv0nJTNA1yPnYISFXXYEFttzNz29F/Gr2vdBhpt3OEMol27ifBHMdB+tbreqk1288A+EW5eObO5CwIi8Y8cDrOHbpbo2ooCPSXuT18euE6s8wdNrRoFTBBN3teGx8LkbDVL1Te8Q/xGXfSBkLDypTM82HZfrPYlgOadO63MNBV5L/KU1zB2B45Jv+PrbGnikiFxg6QfLUaoABCPKe1io0PSWp4dp1Iwpe375IR33HrNP7FJX4Kke2WILd0Jcic859veUuYk1Y3adE0aisJZUA0q+I+ih9YdIWFe+SGX6cqDHeYIroTj4MUIM+Jvx/Z2qM26W2S8XuKaSHXpsr5QldbqrD8EIeMm1ns0VQxbmhhESUxdmIWeWev8Yo/XfYhsP+WWRtKVYjiKdDrb5WocaM8M1cXOk42/WBirggntbfuE+lfmnDDv9MsC6Ivb1c8Q2SdcFi5yEhFbRK5TDlTQo9H4B3cInHBN4YtqgwUzZeYhSjfPUtdfGWUESj6nGqmdUKRaw0hZXXPL7lSjJ9aRLZeXnmBC19HLRssE0G8fEMx3YxyEJG7dg0juxyDIZooOx3F8yYNJ9xHUyLI9GCdDbPTtCP99ck9RPwdrcwYXxYGbCBVKIIB0wwEr4OKMSbppySxFF6mSnyHKO9HyzEgl0kGoKhysIX3uDL73OSTNmE36kpF4E5RW1L6LTRyQ+cdYNuAQSePz9jgP0rVuZPPMa8GvK
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(136003)(39860400002)(376002)(36840700001)(46966006)(40470700004)(83380400001)(6506007)(336012)(53546011)(186003)(26005)(6512007)(2616005)(82740400003)(47076005)(81166007)(356005)(36860700001)(5660300002)(70206006)(4326008)(8936002)(8676002)(4744005)(70586007)(6862004)(41300700001)(40480700001)(2906002)(6486002)(478600001)(54906003)(316002)(86362001)(40460700003)(82310400005)(33656002)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 16:17:45.9303
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f192aa9-8be4-4368-022b-08da7bb506d7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5487

Hi Jan,

> On 11 Aug 2022, at 11:52 am, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> Rename the latter, subsuming the functionality of the former when passed
> NULL as first argument.
>=20
> Since this requires touching all call sites anyway, take the opportunity
> and fold the remaining three parameters into a single pci_sbdf_t one.
>=20
> No functional change intended. In particular the locking related
> assertion needs to continue to be kept silent when a non-NULL domain
> pointer is passed - both vpci_read() and vpci_write() call the function
> without holding the lock (adding respective locking to vPCI [or finding
> an alternative to doing so] is the topic of a separate series).
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>=20

Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Tested-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:38:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:38:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384772.620224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBCQ-0001dl-PY; Thu, 11 Aug 2022 16:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384772.620224; Thu, 11 Aug 2022 16:38:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBCQ-0001de-Ll; Thu, 11 Aug 2022 16:38:22 +0000
Received: by outflank-mailman (input) for mailman id 384772;
 Thu, 11 Aug 2022 16:38:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMBCO-0001dY-Jy
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:38:20 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffba500d-1993-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:38:18 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffba500d-1993-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660235898;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Kp/FFSGBrMwArRAvwpptXuvWXmao2G9uW1WtdIfd8cQ=;
  b=ZOau6wudNLUUrgGytgM3VJ7rJjCkInWHLxGk2plO9DIxv8l3SItBzPcq
   Ay7o/0b+jWT69hUNtJV87pwx98rgCV3guFhVCYG0JsWEYG4/AJIcdDe/f
   w5VZiMaUF9z4uUTBA5Cc3fbP+XLNJtLaVtlArF0r9SOfg+FiYZlM8CMiq
   4=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80448010
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:iphXnq32KEkEzBjGuPbD5b1xkn2cJEfYwER7XKvMYLTBsI5bpzAOx
 zAcDzvSb/qIMWWjL9F/PoS28kIPuZ7dn4VnGwdqpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Uo35pwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj6/pDIUY4GM4RwKVYBXpr/
 9seKQsQXjnW0opawJrjIgVtrsEqLc2tN4IDoHBwizreCJ7KQ7iaHf+Mv4UBmm5t2IYeRp4yZ
 OJAAdZrRD3GbwdCJRE8D5Umkf3zrnL+bydZuBSeoq9fD237nFQtjOi1aYK9ltqiTt5PxECg9
 2D/4238BE1KF9qTz2GAyyf57gPItXyiA99DfFGizdZ1hHWDy2pVDwcZPXOZi/Skjk+1W/pEN
 lcZvCEpqMAa5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWblXoVRYYNoZg7pVvA2V3i
 BnZxLsFGACDrpWaZF+a+JLXpAnxFiwOCGUlYy4/UDsstoyLTJ4Isv7fcjpyOPfr0IWtSG6pm
 m7iQDsW3OtK05NSv0mv1RWe2m/3+MCUJuIgzl+PNl9J+D+Vc2JMi2aAzVHApchNI4+CJrVql
 ChVwpPOhAzi4HzkqcBsfAnuNOvwjxp9GGeA6WOD5rF4n9hXx1atfJpL/BZ1L1pzP8APdFfBO
 RGN4VsOvMYCbCbwN8ebhr5d7Ox0pZUM6Py/DqyEBjawSsEZmPC7ENFGOhfLgjGFfLkEmqAjI
 5aLGfuR4YIhIf0+lFKeGrZCuYLHMwhkmgs/s7inkEn8uVdfDVbJIYo43KymMrllsP/Z+1WJq
 r6y9aKikn1ibQE3WQGPmaZ7ELzABSFT6UzewyCPStO+Hw==
IronPort-HdrOrdr: A9a23:mfZHeal/hc6NIMnLUb+74mf9olrpDfIW3DAbv31ZSRFFG/Fxl6
 iV/cjzsiWE8Ar5OUtQ4OxoV5PwIk80maQb3WBVB8bHYOCEghrPEGgB1/qB/9SIIUSXnYQxuZ
 uIMZIOb+EYZWIK9voSizPZLz9P+re6GdiT9ILj80s=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="80448010"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/msi: Switch msi_info to using pci_sbdf_t
Date: Thu, 11 Aug 2022 17:37:40 +0100
Message-ID: <20220811163740.31494-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This reorders the fields in msi_info, but removes all the under-the-hood
parameter shuffling required to call pci_get_pdev().

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/vmsi.c        |  4 +---
 xen/arch/x86/include/asm/msi.h |  4 +---
 xen/arch/x86/irq.c             |  2 +-
 xen/arch/x86/msi.c             |  4 ++--
 xen/arch/x86/physdev.c         | 10 +++++-----
 xen/drivers/char/ns16550.c     |  4 ++--
 xen/xsm/flask/hooks.c          |  2 +-
 7 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 198fbd67084b..75f92885dc5e 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -750,9 +750,7 @@ static int vpci_msi_enable(const struct pci_dev *pdev, unsigned int nr,
                            paddr_t table_base)
 {
     struct msi_info msi_info = {
-        .seg = pdev->seg,
-        .bus = pdev->bus,
-        .devfn = pdev->devfn,
+        .sbdf = pdev->sbdf,
         .table_base = table_base,
         .entry_nr = nr,
     };
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index 117379318f2c..fe670895eed2 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -59,9 +59,7 @@
 #define FIX_MSIX_MAX_PAGES              512
 
 struct msi_info {
-    u16 seg;
-    u8 bus;
-    u8 devfn;
+    pci_sbdf_t sbdf;
     int irq;
     int entry_nr;
     uint64_t table_base;
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index bf8b52d1114e..cd0c8a30a864 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2162,7 +2162,7 @@ int map_domain_pirq(
         if ( !cpu_has_apic )
             goto done;
 
-        pdev = pci_get_pdev(d, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
+        pdev = pci_get_pdev(d, msi->sbdf);
         if ( !pdev )
             goto done;
 
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 62c4fbcfbe55..d0bf63df1def 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -1001,7 +1001,7 @@ static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
     struct msi_desc *old_desc;
 
     ASSERT(pcidevs_locked());
-    pdev = pci_get_pdev(NULL, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
+    pdev = pci_get_pdev(NULL, msi->sbdf);
     if ( !pdev )
         return -ENODEV;
 
@@ -1056,7 +1056,7 @@ static int __pci_enable_msix(struct msi_info *msi, struct msi_desc **desc)
     struct msi_desc *old_desc;
 
     ASSERT(pcidevs_locked());
-    pdev = pci_get_pdev(NULL, PCI_SBDF(msi->seg, msi->bus, msi->devfn));
+    pdev = pci_get_pdev(NULL, msi->sbdf);
     if ( !pdev || !pdev->msix )
         return -ENODEV;
 
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 3a50d9d0c969..2f1d955a96bd 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -312,21 +312,21 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         {
         case MAP_PIRQ_TYPE_MSI_SEG:
             map.type = MAP_PIRQ_TYPE_MSI;
-            msi.seg = map.bus >> 16;
+            msi.sbdf.seg = map.bus >> 16;
             break;
 
         case MAP_PIRQ_TYPE_MULTI_MSI:
             if ( map.table_base )
                 return -EINVAL;
-            msi.seg = map.bus >> 16;
+            msi.sbdf.seg = map.bus >> 16;
             break;
 
         default:
-            msi.seg = 0;
+            msi.sbdf.seg = 0;
             break;
         }
-        msi.bus = map.bus;
-        msi.devfn = map.devfn;
+        msi.sbdf.bus = map.bus;
+        msi.sbdf.devfn = map.devfn;
         msi.entry_nr = map.entry_nr;
         msi.table_base = map.table_base;
         ret = physdev_map_pirq(map.domid, map.type, &map.index, &map.pirq,
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index cd3573e43df3..01a05c9aa859 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -435,8 +435,8 @@ static void __init cf_check ns16550_init_postirq(struct serial_port *port)
         if ( uart->msi )
         {
             struct msi_info msi = {
-                .bus = uart->ps_bdf[0],
-                .devfn = PCI_DEVFN(uart->ps_bdf[1], uart->ps_bdf[2]),
+                .sbdf = PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[1],
+                                 uart->ps_bdf[2]),
                 .irq = rc = uart->irq,
                 .entry_nr = 1
             };
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 8c9cd0f2972d..8bd56644efe4 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -918,7 +918,7 @@ static int flask_map_domain_msi (
 {
 #ifdef CONFIG_HAS_PCI_MSI
     const struct msi_info *msi = data;
-    uint32_t machine_bdf = (msi->seg << 16) | (msi->bus << 8) | msi->devfn;
+    uint32_t machine_bdf = msi->sbdf.sbdf;
 
     AVC_AUDIT_DATA_INIT(ad, DEV);
     ad->device = machine_bdf;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384784.620257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMn-0003h9-Av; Thu, 11 Aug 2022 16:49:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384784.620257; Thu, 11 Aug 2022 16:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMn-0003gq-7E; Thu, 11 Aug 2022 16:49:05 +0000
Received: by outflank-mailman (input) for mailman id 384784;
 Thu, 11 Aug 2022 16:49:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMl-0003Aq-Ng
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:03 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fd7056e-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fd7056e-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236542;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=gzc+84ow+LQ9Ng3mQt5cbeoe9zzNOiJroC8il6G69uY=;
  b=GlnYUnMLAfnEfL2OrJOt/rANRB3EZRMdKRoa+IrWckwN1VKtYMKNrhBP
   3UXYbvWfdpiKWd7rBU2AWg00N5KauagrltJpKEWVexVav3+hfzG9K7XUx
   rjKFIPc5I7yTznuyw1LuqGL770WF70eOsbUtDx2t3tLiUBa9qCABdO3gS
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77650091
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:t45c66xRkZX1kofBna56t+c5xirEfRIJ4+MujC+fZmUNrF6WrkUCx
 mFJDG6Ea/qLYTH9eYojbNvn8B5TusfSz9Q1TVNq+yAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Eo25K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1cIU91EaQx9NxQW19e6
 +1FITJdYw2M0rfeLLKTEoGAh+wmJcjveogepmth3XfSCvNOrZLrGvuQo4UChXFp254ITa22i
 8kxMFKDaDzJZQFPPVEGToozhu6yilH0ciFCqULTrq0yi4TW5FMujuW1aIuMEjCMbfxIkFy0r
 Tr7xUmnD0s3b+CDymOv6G3504cjmgukAdlPRdVU7MVCjVmewGVVFRMXUEegrOewokmkUtlbJ
 gof/S9Ghbc23FymSJ/6RRLQiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6ceQSEh3
 xmHltXiCDhrrZWcU3fb/bCRxQ5eIgBMczVEP3VdC1JYvZ+z++nfky4jUP5RPaD2ovTcFwvXm
 Q6asjljjrdDgNMEgvDTEU/8v968mnTYZldruF2PDz38t10RiJ2NPNLxtwWChRpUBMPAFwTa4
 iBZ8ySLxLpWZaxhghBhVwnk8FuBw/+eeAPRjld0d3XK32T8oiXzFWy8DdwXGauIDirnUWWwC
 KMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YvLFfYpHg/NRPKhQgBdXTAdolhU
 ap3jO72VSpKYUiZ5GPeqxghPU8DmXllmDK7qWHTxBW7y7uODEOopUM+GALXNogRsfLbyDg5B
 v4FaKNmPT0DD7ClCsQWmKZPRW03wY8TWcmq95AKLb7fe2KL2ggJUpfs/F/oQKQ994w9qwsC1
 ivVtpNwoLYnuUD6FA==
IronPort-HdrOrdr: A9a23:+olYBam11KpyHAy5sEVcrer8bYXpDfIq3DAbv31ZSRFFG/Fxl6
 iV88jzsiWE7wr5OUtQ4OxoV5PgfZqxz/NICMwqTNWftWrdyQ+VxeNZjbcKqgeIc0aVygce79
 YET0EXMqyXMbEQt6jHCWeDf+rIuOP3k5yVuQ==
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77650091"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, "Wei
 Liu" <wl@xen.org>
Subject: [XEN PATCH v4 01/32] tools/debugger/gdbsx: Fix and cleanup makefiles
Date: Thu, 11 Aug 2022 17:48:14 +0100
Message-ID: <20220811164845.38083-2-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

gdbsx/:
  - Make use of subdir facility for the "clean" target.
  - No need to remove the *.a, they aren't in this dir.
  - Avoid calling "distclean" in subdirs as "distclean" targets do only
    call "clean", and the "clean" also runs "clean" in subdirs.
  - Avoid the need to make "gx_all.a" and "xg_all.a" in the "all"
    recipe by forcing make to check for update of "xg/xg_all.a" and
    "gx/gx_all.a" by having "FORCE" as prerequisite. Now, when making
    "gdbsx", make will recurse even when both *.a already exist.
  - List target in $(TARGETS).

gdbsx/*/:
  - Fix dependency on *.h.
  - Remove some dead code.
  - List targets in $(TARGETS).
  - Remove "build" target.
  - Cleanup "clean" targets.
  - remove comments about the choice of "ar" instead of "ld"
  - Use "$(AR)" instead of plain "ar".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---

Notes:
    v2:
    - also replace plain "ar" by "$(AR)"

 tools/debugger/gdbsx/Makefile    | 20 ++++++++++----------
 tools/debugger/gdbsx/gx/Makefile | 15 +++++++--------
 tools/debugger/gdbsx/xg/Makefile | 25 +++++++------------------
 3 files changed, 24 insertions(+), 36 deletions(-)

diff --git a/tools/debugger/gdbsx/Makefile b/tools/debugger/gdbsx/Makefile
index 5571450a89..4aaf427c45 100644
--- a/tools/debugger/gdbsx/Makefile
+++ b/tools/debugger/gdbsx/Makefile
@@ -1,20 +1,20 @@
 XEN_ROOT = $(CURDIR)/../../..
 include ./Rules.mk
 
+SUBDIRS-y += gx
+SUBDIRS-y += xg
+
+TARGETS := gdbsx
+
 .PHONY: all
-all:
-	$(MAKE) -C gx
-	$(MAKE) -C xg
-	$(MAKE) gdbsx
+all: $(TARGETS)
 
 .PHONY: clean
-clean:
-	rm -f xg_all.a gx_all.a gdbsx
-	set -e; for d in xg gx; do $(MAKE) -C $$d clean; done
+clean: subdirs-clean
+	rm -f $(TARGETS)
 
 .PHONY: distclean
 distclean: clean
-	set -e; for d in xg gx; do $(MAKE) -C $$d distclean; done
 
 .PHONY: install
 install: all
@@ -28,7 +28,7 @@ uninstall:
 gdbsx: gx/gx_all.a xg/xg_all.a 
 	$(CC) $(LDFLAGS) -o $@ $^
 
-xg/xg_all.a:
+xg/xg_all.a: FORCE
 	$(MAKE) -C xg
-gx/gx_all.a:
+gx/gx_all.a: FORCE
 	$(MAKE) -C gx
diff --git a/tools/debugger/gdbsx/gx/Makefile b/tools/debugger/gdbsx/gx/Makefile
index 3b8467f799..e9859aea9c 100644
--- a/tools/debugger/gdbsx/gx/Makefile
+++ b/tools/debugger/gdbsx/gx/Makefile
@@ -2,21 +2,20 @@ XEN_ROOT = $(CURDIR)/../../../..
 include ../Rules.mk
 
 GX_OBJS := gx_comm.o gx_main.o gx_utils.o gx_local.o
-GX_HDRS := $(wildcard *.h)
+
+TARGETS := gx_all.a
 
 .PHONY: all
-all: gx_all.a
+all: $(TARGETS)
 
 .PHONY: clean
 clean:
-	rm -rf gx_all.a *.o .*.d
+	rm -f *.o $(TARGETS) $(DEPS_RM)
 
 .PHONY: distclean
 distclean: clean
 
-#%.o: %.c $(GX_HDRS) Makefile
-#	$(CC) -c $(CFLAGS) -o $@ $<
-
-gx_all.a: $(GX_OBJS) Makefile $(GX_HDRS)
-	ar cr $@ $(GX_OBJS)        # problem with ld using -m32 
+gx_all.a: $(GX_OBJS) Makefile
+	$(AR) cr $@ $(GX_OBJS)
 
+-include $(DEPS_INCLUDE)
diff --git a/tools/debugger/gdbsx/xg/Makefile b/tools/debugger/gdbsx/xg/Makefile
index acdcddf0d5..05325d6d81 100644
--- a/tools/debugger/gdbsx/xg/Makefile
+++ b/tools/debugger/gdbsx/xg/Makefile
@@ -1,35 +1,24 @@
 XEN_ROOT = $(CURDIR)/../../../..
 include ../Rules.mk
 
-XG_HDRS := xg_public.h 
 XG_OBJS := xg_main.o 
 
 CFLAGS += -D__XEN_TOOLS__
 CFLAGS += $(CFLAGS_xeninclude)
 
+TARGETS := xg_all.a
 
 .PHONY: all
-all: build
+all: $(TARGETS)
 
-.PHONY: build
-build: xg_all.a $(XG_HDRS) $(XG_OBJS) Makefile
-# build: mk-symlinks xg_all.a $(XG_HDRS) $(XG_OBJS) Makefile
-# build: mk-symlinks xg_all.a
-
-xg_all.a: $(XG_OBJS) Makefile $(XG_HDRS)
-	ar cr $@ $(XG_OBJS)    # problems using -m32 in ld 
-#	$(LD) -b elf32-i386 $(LDFLAGS) -r -o $@ $^
-#	$(CC) -m32 -c -o $@ $^
-
-# xg_main.o: xg_main.c Makefile $(XG_HDRS)
-#$(CC) -c $(CFLAGS) -o $@ $<
-
-# %.o: %.c $(XG_HDRS) Makefile  -- doesn't work as it won't overwrite Rules.mk
-#%.o: %.c       -- doesn't recompile when .c changed
+xg_all.a: $(XG_OBJS) Makefile
+	$(AR) cr $@ $(XG_OBJS)
 
 .PHONY: clean
 clean:
-	rm -rf xen xg_all.a $(XG_OBJS)  .*.d
+	rm -f $(TARGETS) $(XG_OBJS) $(DEPS_RM)
 
 .PHONY: distclean
 distclean: clean
+
+-include $(DEPS_INCLUDE)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384788.620294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMq-0004Yb-SA; Thu, 11 Aug 2022 16:49:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384788.620294; Thu, 11 Aug 2022 16:49:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMq-0004Wp-M1; Thu, 11 Aug 2022 16:49:08 +0000
Received: by outflank-mailman (input) for mailman id 384788;
 Thu, 11 Aug 2022 16:49:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMp-0003s9-7m
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:07 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81a2f48f-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:04 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81a2f48f-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236544;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=gjxG4UugGwSCb9wRzYZyec8iEMLX7UmigAqba15IK2A=;
  b=Ca8vguqhH9MiMHrB7qfh8teFLkmdKyGAwRsa0A+ChJ3nM2Lgc2xmJ06n
   rfQgRBhdmvy4lwyG79EQOH3q0Bf4QghjR8jFDlS4EkyhgfGvQF9tkemk/
   kWqMsOxGxK6A51mWYnbeJLgdv3Ir38fQvqlTslUrp1UhBZ4yWDO1DUvM9
   I=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78334312
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:/4cj/6vLQyM2aWAMgFf/zfiXw+fnVDxeMUV32f8akzHdYApBsoF/q
 tZmKTqAP/zZazT8e9pxOtiwpB9X6JOGx95rQVBt/ng3RioT+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4WpA5DTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FY0YysZ8P0sJz
 MIdJBEkZU661ry38JvuH4GAhux7RCXqFIYWu3UmxjDFF/c2B5vERs0m5/cBgm123JoXW6+DO
 YxJMlKDbzyZC/FLEl4RFJI5mvbunnTleidUgFmUubA28y7YywkZPL3Fb4qOIYDRHJ89ckCwu
 lLh3XTHWB4mKtWAymqo8lme2bGTpHauMG4VPOLhraM76LGJ/UQMDDUGWF39puO24ma6RtlWb
 UId/CEjqawv3EWxS5/2WBjQiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6cLqScCj
 wHT2YmzXHo27ePTGSn1GqqoQS2aOSglDWQ8T2g9cw4JwvDo/rhi0BP/Z4M2eEKqteEZCQ0c0
 hjT8nZm3+RM1JdVv0mo1QuZ2mzx//AlWiZwv1yKBTz9s2uVcab/P+SVBU7nAeGsxWpzZn2Ip
 zA6lseX94ji5rndxXXWEI3h8FxEjstp0QEwYnY1RvHNDxz3pxaekXl4uVmS3ntBPMceYiPOa
 0TOow5X75I7FCL0M/cvPNroWpR3l/KI+THZuhf8MLJzjmVZLlfbrEmCm2bJt4wSrKTcuf5mY
 srKGSpdJX0bFb5m3FKLegvp6pdyn3hW7T6CGvjGI+GPi+X2iIi9FehYazNjr4kRsMu5neki2
 4oGa5fWlk4PDLSWj+u+2dd7EG3m5EMTXfjew/G7vMbSSua6MAnN08Ps/I4=
IronPort-HdrOrdr: A9a23:qc3dzajltrtv8yiecBQELNVcw3BQXuIji2hC6mlwRA09TySZ//
 rBoB19726TtN9xYgBZpTnuAsm9qB/nmaKdpLNhWItKPzOW31dATrsSjrcKqgeIc0aVm9K1l5
 0QF5SWYOeAdGSS5vya3ODXKbkdKaG8gcKVuds=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="78334312"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 06/32] tools/xenpaging: Rework makefile
Date: Thu, 11 Aug 2022 17:48:19 +0100
Message-ID: <20220811164845.38083-7-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

- Rename $(SRCS) to $(OBJS-y), we don't need to collect sources.
- Rename $(IBINS) to $(TARGETS)
- Stop cleaning "xen" and non-set variable $(LIB).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 tools/xenpaging/Makefile | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/tools/xenpaging/Makefile b/tools/xenpaging/Makefile
index 04743b335c..e2ed9eaa3f 100644
--- a/tools/xenpaging/Makefile
+++ b/tools/xenpaging/Makefile
@@ -5,33 +5,33 @@ CFLAGS += $(CFLAGS_libxentoollog) $(CFLAGS_libxenevtchn) $(CFLAGS_libxenctrl) $(
 LDLIBS += $(LDLIBS_libxentoollog) $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(LDLIBS_libxenstore) $(PTHREAD_LIBS)
 LDFLAGS += $(PTHREAD_LDFLAGS)
 
-POLICY    = default
+POLICY   := default
 
-SRC      :=
-SRCS     += file_ops.c xenpaging.c policy_$(POLICY).c
-SRCS     += pagein.c
+OBJS-y   := file_ops.o
+OBJS-y   += xenpaging.o
+OBJS-y   += policy_$(POLICY).o
+OBJS-y   += pagein.o
 
 CFLAGS   += -Werror
 CFLAGS   += -Wno-unused
 
-OBJS     = $(SRCS:.c=.o)
-IBINS    = xenpaging
+TARGETS := xenpaging
 
-all: $(IBINS)
+all: $(TARGETS)
 
-xenpaging: $(OBJS)
+xenpaging: $(OBJS-y)
 	$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) $(APPEND_LDFLAGS)
 
 install: all
 	$(INSTALL_DIR) -m 0700 $(DESTDIR)$(XEN_PAGING_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
-	$(INSTALL_PROG) $(IBINS) $(DESTDIR)$(LIBEXEC_BIN)
+	$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(LIBEXEC_BIN)
 
 uninstall:
-	rm -f $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/, $(IBINS))
+	rm -f $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/, $(TARGETS))
 
 clean:
-	rm -f *.o *~ $(DEPS_RM) xen TAGS $(IBINS) $(LIB)
+	rm -f *.o *~ $(DEPS_RM) TAGS $(TARGETS)
 
 distclean: clean
 
@@ -39,6 +39,6 @@ distclean: clean
 
 .PHONY: TAGS
 TAGS:
-	etags -t $(SRCS) *.h
+	etags -t *.c *.h
 
 -include $(DEPS_INCLUDE)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384782.620235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMj-0003B8-Rg; Thu, 11 Aug 2022 16:49:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384782.620235; Thu, 11 Aug 2022 16:49:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMj-0003B1-N8; Thu, 11 Aug 2022 16:49:01 +0000
Received: by outflank-mailman (input) for mailman id 384782;
 Thu, 11 Aug 2022 16:49:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMi-0003Aq-DH
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:00 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d5f7607-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:48:58 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d5f7607-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236538;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=fkvuhsSqGjXFdyaMPkxvSxKuC8JTZ5Zq5j+rCFjjze4=;
  b=hMLha29TAwX1nUTvegNZU4f/zmPX3jyJC2kxr2/Bk8mN5dbW/rxLkLP9
   PYdQm5NOqzvvmNrsKczFlMzsTMfqfE+lo8mpHfg83t90aNWwc9+MNZSKQ
   Q4lAk1bqUZRAN9HVBYkoDgTLbQD4KAaAL7FGpz9IYZ8IT9abNCa8/Ko5p
   k=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77134651
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:9v+mx68icNaWz2tKd6XrDrUDFH6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 GAbXjqCO6uINGX3ftwkbN6ypBsD7ZHVm9FiGwtu/388E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM25ayo0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGB000EpxI4v5LATtf2
 fBfeA9RUj29vrfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoahtTOlARGdQmkf2hnHXXeDxEslOF46Ew5gA/ySQuj+G2bISII7RmQ+1wkGeZn
 335uF3YIRE4N8XB4wucrVOz07qncSTTB9tJSezQGuRRqEaI2mUZBRkSVF26ifq0kEizX5RYM
 UN80igzqak/8mS7Q9+7WAe3yFabujYMVtwWFPc1gCmB0rHR4hqZLmEcQyRddcc9s8srWT0t0
 ETPlNTsbRRzsbi9WX+bsLCOoluaOycPKnQZTTQZVgZD6N7myKkpiQnFVNFkE6idgdj8GDW2y
 DePxAAuirNWgcMV2qGT+VHcnynqtpXPVhQy5AjcQiSi9AwRTIOhaoqhr0XV7PNcN4uHR3GGp
 nEPn8XY5+cLZbmBnTKAaP8AF7ao47CCKjK0qVxlEoQl9j+t02W+Zo0W6zZ7THqFKe5dJ2WvO
 hWK/1oMutkDZxNGcJObfaq6B8YF3Pj4DejlDOH4Yp0eXcRNWTG+qXQGiVGr44z9rKQ9ufhhZ
 8/DIJn1VChy5bdPl2TvGbpEuVM/7mVnnD6IG8imp/iy+eDGDEN5X4vpJ7dnggoRyKqf6DvY/
 N9EXydh40UOCbauCsU7HGN6ELzrEZTYLcqvwyCvXrTfSjeK4Ul4YxMr/ZsvepZ+g4NenfrS8
 3e2VydwkQSh3SWYcVzbOi05MtsDuKqTSlplVRHAwH7ygyRzCWpRxP53m2QLkUkPq7U4kK8co
 wgtcMScGPVfIgn6F8AmRcCk9ORKKUX07T9iygL/P1DTibY8GFGSkjIlFyOznBQz4t2f6ZJi/
 +H9jVOHGPLuhW1KVa7rVR5m9Hvp1VB1pQ64dxKgzgV7EKk0zLVXFg==
IronPort-HdrOrdr: A9a23:4+6yDKpglYo7/iZTrsHsxC0aV5oneYIsimQD101hICG8cqSj+f
 xG+85rsSMc6QxhPk3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakrDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77134651"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Nick Rosbrook
	<rosbrookn@gmail.com>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, David Scott
	<dave@recoil.org>, George Dunlap <george.dunlap@citrix.com>, Juergen Gross
	<jgross@suse.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Christian Lindig <christian.lindig@citrix.com>,
	"Wei Liu" <wl@xen.org>, Tim Deegan <tim@xen.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [XEN PATCH v4 00/32] Toolstack build system improvement, toward non-recursive makefiles
Date: Thu, 11 Aug 2022 17:48:13 +0100
Message-ID: <20220811164845.38083-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.toolstack-build-system-v4

Changes in v4:
- several new patches
- some changes to other patches listed in their changelogs

Changes in v3:
- rebased
- several new patches, starting with 13/25 "tools/libs/util: cleanup Makefile"
- introducing macros to deal with linking with in-tree xen libraries
- Add -Werror to CFLAGS for all builds in tools/

Changes in v2:
- one new patch
- other changes described in patch notes

Hi everyone,

I've been looking at reworking the build system we have for the "tools/", and
transforming it to something that suit it better. There are a lot of
dependencies between different sub-directories so it would be nice if GNU make
could actually handle them. This is possible with "non-recursive makefiles".

With non-recursive makefiles, make will have to load/include all the makefiles
and thus will have complete overview of all the dependencies. This will allow
make to build the necessary targets in other directory, and we won't need to
build sub-directories one by one.

To help with this transformation, I've chosen to go with a recent project
called "subdirmk". It help to deal with the fact that all makefiles will share
the same namespace, it is hooked into autoconf, we can easily run `make` from
any subdirectory. Together "autoconf" and "subdirmk" will also help to get
closer to be able to do out-of-tree build of the tools, but I'm mainly looking
to have non-recursive makefile.

Link to the project:
    https://www.chiark.greenend.org.uk/ucgi/~ian/git/subdirmk.git/

But before getting to the main course, I've got quite a few cleanup and some
changes to the makefiles. I start the patch series with patches that remove old
left over stuff, then start reworking makefiles. They are some common changes like
removing the "build" targets in many places as "all" would be the more common
way to spell it and "all" is the default target anyway. They are other changes
related to the conversion to "subdirmk", I start to use the variable $(TARGETS)
in several makefiles, this variable will have a special meaning in subdirmk
which will build those target by default.

As for the conversion to non-recursive makefile, with subdirmk, I have this WIP
branch, it contains some changes that I'm trying out, some notes, and the
conversion, one Makefile per commit. Cleanup are still needed, some makefile
not converted yet, but it's otherwise mostly done.

    https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.toolstack-build-system-v1-wip-extra

With that branch, you could tried something like:
    ./configure; cd tools/xl; make
and `xl` should be built as well as all the xen library needed.
Also, things like `make clean` or rebuild should be faster in the all tools/
directory.

Cheers,

Anthony PERARD (32):
  tools/debugger/gdbsx: Fix and cleanup makefiles
  tools/firmware/hvmloader: rework Makefile
  tools/fuzz/x86_instruction_emulator: rework makefile
  tools/hotplug: cleanup Makefiles
  tools/libfsimage: Cleanup makefiles
  tools/xenpaging: Rework makefile
  tools/xentop: rework makefile
  tools/xentrace: rework Makefile
  .gitignore: Cleanup ignores of tools/libs/*/{headers.chk,*.pc}
  tools/libs/util: cleanup Makefile
  tools/flask/utils: list build targets in $(TARGETS)
  libs/libs.mk: Rename $(LIB) to $(TARGETS)
  libs/libs.mk: Remove the need for $(PKG_CONFIG_INST)
  libs/libs.mk: Rework target headers.chk dependencies
  tools: Introduce $(xenlibs-rpath,..) to replace $(SHDEPS_lib*)
  tools: Introduce $(xenlibs-ldlibs, ) macro
  tools: Introduce $(xenlibs-ldflags, ) macro
  tools/helper: Cleanup Makefile
  tools/console: Use $(xenlibs-ldlibs,)
  tools: Add -Werror by default to all tools/
  tools: Remove -Werror everywhere else
  tools/hotplug: Generate "hotplugpath.sh" with configure
  libs/light/gentypes.py: allow to generate headers in subdirectory
  git-checkout.sh: handle running git-checkout from a different
    directory
  libs: Avoid exposing -Wl,--version-script to other built library
  libs: Fix auto-generation of version-script for unstable libs
  tools/include: Rework Makefile
  libs/light: Rework acpi table build targets
  libs/light: Rework generation of include/_libxl_*.h
  libs/light: Rework targets prerequisites
  libs/light: Makefile cleanup
  tools/golang/xenlight: Rework gengotypes.py and generation of *.gen.go

 tools/configure.ac                            |  2 +
 tools/Makefile                                |  2 +-
 tools/console/client/Makefile                 |  4 +-
 tools/console/daemon/Makefile                 |  7 +-
 tools/debugger/gdbsx/Makefile                 | 20 +++---
 tools/debugger/gdbsx/gx/Makefile              | 15 ++--
 tools/debugger/gdbsx/xg/Makefile              | 25 ++-----
 tools/debugger/kdd/Makefile                   |  1 -
 tools/firmware/hvmloader/Makefile             | 19 +++--
 tools/flask/utils/Makefile                    | 11 ++-
 tools/fuzz/cpu-policy/Makefile                |  2 +-
 tools/fuzz/x86_instruction_emulator/Makefile  | 35 +++++----
 tools/golang/xenlight/Makefile                |  8 ++-
 tools/helpers/Makefile                        | 23 +++---
 tools/hotplug/FreeBSD/Makefile                | 11 +--
 tools/hotplug/Linux/Makefile                  | 16 ++---
 tools/hotplug/Linux/systemd/Makefile          | 16 ++---
 tools/hotplug/NetBSD/Makefile                 |  9 +--
 tools/hotplug/common/Makefile                 | 20 ++----
 tools/include/Makefile                        | 28 ++++----
 tools/libfsimage/common/Makefile              | 11 +--
 tools/libfsimage/ext2fs-lib/Makefile          |  9 ---
 tools/libfsimage/ext2fs/Makefile              |  9 ---
 tools/libfsimage/fat/Makefile                 |  9 ---
 tools/libfsimage/iso9660/Makefile             | 11 ---
 tools/libfsimage/reiserfs/Makefile            |  9 ---
 tools/libfsimage/ufs/Makefile                 |  9 ---
 tools/libfsimage/xfs/Makefile                 |  9 ---
 tools/libfsimage/zfs/Makefile                 |  9 ---
 tools/libs/call/Makefile                      |  1 +
 tools/libs/ctrl/Makefile                      |  3 -
 tools/libs/devicemodel/Makefile               |  1 +
 tools/libs/evtchn/Makefile                    |  1 +
 tools/libs/foreignmemory/Makefile             |  1 +
 tools/libs/gnttab/Makefile                    |  1 +
 tools/libs/guest/Makefile                     |  3 -
 tools/libs/hypfs/Makefile                     |  1 +
 tools/libs/light/Makefile                     | 72 +++++++++++--------
 tools/libs/stat/Makefile                      |  2 +-
 tools/libs/store/Makefile                     |  1 +
 tools/libs/toolcore/Makefile                  |  1 +
 tools/libs/toollog/Makefile                   |  1 +
 tools/libs/util/Makefile                      |  6 +-
 tools/libs/vchan/Makefile                     |  3 -
 tools/misc/Makefile                           |  1 -
 tools/tests/cpu-policy/Makefile               |  2 +-
 tools/tests/depriv/Makefile                   |  2 +-
 tools/tests/resource/Makefile                 |  1 -
 tools/tests/tsx/Makefile                      |  1 -
 tools/tests/xenstore/Makefile                 |  1 -
 tools/xcutils/Makefile                        |  2 -
 tools/xenmon/Makefile                         |  1 -
 tools/xenpaging/Makefile                      | 25 ++++---
 tools/xenpmd/Makefile                         |  1 -
 tools/xentop/Makefile                         | 23 +++---
 tools/xentrace/Makefile                       | 29 +++-----
 tools/xl/Makefile                             |  2 +-
 tools/Rules.mk                                | 55 ++++++++++----
 tools/debugger/gdbsx/Rules.mk                 |  2 +-
 tools/firmware/Rules.mk                       |  2 -
 tools/libfsimage/Rules.mk                     | 26 +++----
 tools/libfsimage/common.mk                    | 11 +++
 tools/libs/libs.mk                            | 48 +++++++------
 tools/libs/light/libxl_x86_acpi.c             |  2 +-
 tools/ocaml/common.make                       |  2 +-
 .gitignore                                    | 38 ----------
 config/Tools.mk.in                            |  1 +
 scripts/git-checkout.sh                       |  4 +-
 tools/configure                               | 29 +++++++-
 .../fuzz/x86_instruction_emulator/.gitignore  |  7 ++
 tools/golang/xenlight/gengotypes.py           | 10 ++-
 tools/hotplug/common/hotplugpath.sh.in        | 16 +++++
 tools/libs/.gitignore                         |  2 +
 tools/libs/light/gentypes.py                  |  9 ++-
 tools/xenstore/Makefile.common                |  1 -
 75 files changed, 371 insertions(+), 442 deletions(-)
 create mode 100644 tools/libfsimage/common.mk
 create mode 100644 tools/fuzz/x86_instruction_emulator/.gitignore
 create mode 100644 tools/hotplug/common/hotplugpath.sh.in

-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384786.620275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMp-000469-7Z; Thu, 11 Aug 2022 16:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384786.620275; Thu, 11 Aug 2022 16:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMp-00043n-0A; Thu, 11 Aug 2022 16:49:07 +0000
Received: by outflank-mailman (input) for mailman id 384786;
 Thu, 11 Aug 2022 16:49:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMo-0003Aq-6M
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:06 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82648173-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:05 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82648173-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236545;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=k96LELiDF10OR0dJpj9/L9eHF1chcvy5FKD7ZziqpbI=;
  b=ExhRiGbFJZhVr35o565dACaO3qs6iq6X6qj2p+APfe36UrTmYTjL4yLu
   JwXq58NnpOsQV1bHSCjrTcxLH11ld/8mFL34M7GTsHpvCo0MXT5zt1HeK
   GQPjBldVI+6fjDZf7Mb5/fh1kFCoay9m+pvzVnwZKSiJ47lMIKaD8Qznl
   I=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77650097
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:aLWkLKDmIbH8tBVW/0Pjw5YqxClBgxIJ4kV8jS/XYbTApDt2hWBUx
 2BMUW7VOPePZjD9ct90ad61pBsG7ZLcnYMwQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEsvvb8nuDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW1zn2OxRCmYzBNMZ/fZGKmRj8
 /JHDS9YO3hvh8ruqF66Yuxlh8BlJ8j3JoIP/HpnyFk1D95/H8qFGf+To4YFgnFg3aiiHt6HD
 yYdQTNpcBTHZQwJIloNAYgytOypmmP+Y3tTr1f9Sa8fvDeNkVQpgeeF3Nz9SOTbXucEwkiij
 WeBpGvmGz07C4CQ8G/Qmp6rrrCWxn6qMG4IL5Wn8tZ6jVvVwXYcYDUSSFCy5/ewjEWzX9ZCA
 0UO/2wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9bnmG74iSijaLZykSPV4pYAICQ1Qg/Iy2yG0stS4jXuqPAYbs0IOtQWCvm
 mnUxMQtr+5N1JBWjs1X6XiC2mvx/caRE2bZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/5nzvp5pyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN51sJu8cKbSv3N/Ufj2eN5yMCk8Dd+SnNDKiIPrKinLAoHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6RMJruMow+lWLeb7pMjtcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5RrxgsP/Y/V6Fr
 4832gnj40w3bdASqxL/qeY7RW3m51BibXwqg6S7rtK+Hzc=
IronPort-HdrOrdr: A9a23:2vNaWKikuLfTI5Ni3HsU2p88CnBQXtwji2hC6mlwRA09TySZ//
 rAoB19726StN9xYgBYpTnuAsi9qB/nmKKdpLNhX4tKPzOW3FdATrsD0WKK+VSJcEfDH6xmpM
 JdmsBFebvN5DNB4/oSjjPVLz9Z+qjlzJyV
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77650097"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 05/32] tools/libfsimage: Cleanup makefiles
Date: Thu, 11 Aug 2022 17:48:18 +0100
Message-ID: <20220811164845.38083-6-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Remove the need for "fs-*" targets by creating a "common.mk" which
have flags that are common to libfsimage/common/ and the other
libfsimages/*/ directories.

In common.mk, make $(PIC_OBJS) a recursively expanded variable so it
doesn't matter where $(LIB_SRCS-y) is defined, and remove the extra
$(PIC_OBJS) from libfsimage/common/Makefile.

Use a $(TARGETS) variable to list things to be built. And $(TARGETS)
can be use in the clean target in common.mk.

iso9660/:
    Remove the explicit dependency between fsys_iso9660.c and
    iso9660.h, this is handled automaticaly by the .*.d dependency files,
    and iso9660.h already exist.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 tools/libfsimage/common/Makefile     | 11 +++--------
 tools/libfsimage/ext2fs-lib/Makefile |  9 ---------
 tools/libfsimage/ext2fs/Makefile     |  9 ---------
 tools/libfsimage/fat/Makefile        |  9 ---------
 tools/libfsimage/iso9660/Makefile    | 11 -----------
 tools/libfsimage/reiserfs/Makefile   |  9 ---------
 tools/libfsimage/ufs/Makefile        |  9 ---------
 tools/libfsimage/xfs/Makefile        |  9 ---------
 tools/libfsimage/zfs/Makefile        |  9 ---------
 tools/libfsimage/Rules.mk            | 26 ++++++++------------------
 tools/libfsimage/common.mk           | 11 +++++++++++
 11 files changed, 22 insertions(+), 100 deletions(-)
 create mode 100644 tools/libfsimage/common.mk

diff --git a/tools/libfsimage/common/Makefile b/tools/libfsimage/common/Makefile
index 0c5a34baea..79f8cfd28e 100644
--- a/tools/libfsimage/common/Makefile
+++ b/tools/libfsimage/common/Makefile
@@ -1,5 +1,5 @@
 XEN_ROOT = $(CURDIR)/../../..
-include $(XEN_ROOT)/tools/libfsimage/Rules.mk
+include $(XEN_ROOT)/tools/libfsimage/common.mk
 
 MAJOR := $(shell $(XEN_ROOT)/version.sh $(XEN_ROOT)/xen/Makefile)
 MINOR = 0
@@ -13,12 +13,10 @@ LDFLAGS += $(PTHREAD_LDFLAGS)
 
 LIB_SRCS-y = fsimage.c fsimage_plugin.c fsimage_grub.c
 
-PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y))
-
-LIB = libxenfsimage.so libxenfsimage.so.$(MAJOR) libxenfsimage.so.$(MAJOR).$(MINOR)
+TARGETS = libxenfsimage.so libxenfsimage.so.$(MAJOR) libxenfsimage.so.$(MAJOR).$(MINOR)
 
 .PHONY: all
-all: $(LIB)
+all: $(TARGETS)
 
 .PHONY: install
 install: all
@@ -40,9 +38,6 @@ uninstall:
 	rm -f $(DESTDIR)$(libdir)/libxenfsimage.so.$(MAJOR)
 	rm -f $(DESTDIR)$(libdir)/libxenfsimage.so.$(MAJOR).$(MINOR)
 
-clean distclean::
-	rm -f $(LIB)
-
 libxenfsimage.so: libxenfsimage.so.$(MAJOR)
 	ln -sf $< $@
 libxenfsimage.so.$(MAJOR): libxenfsimage.so.$(MAJOR).$(MINOR)
diff --git a/tools/libfsimage/ext2fs-lib/Makefile b/tools/libfsimage/ext2fs-lib/Makefile
index 431a79068e..b9b560df75 100644
--- a/tools/libfsimage/ext2fs-lib/Makefile
+++ b/tools/libfsimage/ext2fs-lib/Makefile
@@ -9,13 +9,4 @@ FS_LIBDEPS = $(EXTFS_LIBS)
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
 
-.PHONY: all
-all: fs-all
-
-.PHONY: install
-install: fs-install
-
-.PHONY: uninstall
-uninstall: fs-uninstall
-
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
diff --git a/tools/libfsimage/ext2fs/Makefile b/tools/libfsimage/ext2fs/Makefile
index c62ae359ac..fe01f98148 100644
--- a/tools/libfsimage/ext2fs/Makefile
+++ b/tools/libfsimage/ext2fs/Makefile
@@ -4,13 +4,4 @@ LIB_SRCS-y = fsys_ext2fs.c
 
 FS = ext2fs
 
-.PHONY: all
-all: fs-all
-
-.PHONY: install
-install: fs-install
-
-.PHONY: uninstall
-uninstall: fs-uninstall
-
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
diff --git a/tools/libfsimage/fat/Makefile b/tools/libfsimage/fat/Makefile
index 7ee5e7588d..58bcc0751d 100644
--- a/tools/libfsimage/fat/Makefile
+++ b/tools/libfsimage/fat/Makefile
@@ -4,13 +4,4 @@ LIB_SRCS-y = fsys_fat.c
 
 FS = fat
 
-.PHONY: all
-all: fs-all
-
-.PHONY: install
-install: fs-install
-
-.PHONY: uninstall
-uninstall: fs-uninstall
-
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
diff --git a/tools/libfsimage/iso9660/Makefile b/tools/libfsimage/iso9660/Makefile
index bc86baf2c0..acf3164046 100644
--- a/tools/libfsimage/iso9660/Makefile
+++ b/tools/libfsimage/iso9660/Makefile
@@ -4,15 +4,4 @@ LIB_SRCS-y = fsys_iso9660.c
 
 FS = iso9660
 
-.PHONY: all
-all: fs-all
-
-.PHONY: install
-install: fs-install
-
-.PHONY: uninstall
-uninstall: fs-uninstall
-
-fsys_iso9660.c: iso9660.h
-
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
diff --git a/tools/libfsimage/reiserfs/Makefile b/tools/libfsimage/reiserfs/Makefile
index 5acfedf25e..42b751e007 100644
--- a/tools/libfsimage/reiserfs/Makefile
+++ b/tools/libfsimage/reiserfs/Makefile
@@ -4,13 +4,4 @@ LIB_SRCS-y = fsys_reiserfs.c
 
 FS = reiserfs
 
-.PHONY: all
-all: fs-all
-
-.PHONY: install
-install: fs-install
-
-.PHONY: uninstall
-uninstall: fs-uninstall
-
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
diff --git a/tools/libfsimage/ufs/Makefile b/tools/libfsimage/ufs/Makefile
index f32b9178bd..cca4f0a588 100644
--- a/tools/libfsimage/ufs/Makefile
+++ b/tools/libfsimage/ufs/Makefile
@@ -4,13 +4,4 @@ LIB_SRCS-y = fsys_ufs.c
 
 FS = ufs
 
-.PHONY: all
-all: fs-all
-
-.PHONY: install
-install: fs-install
-
-.PHONY: uninstall
-uninstall: fs-uninstall
-
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
diff --git a/tools/libfsimage/xfs/Makefile b/tools/libfsimage/xfs/Makefile
index 54eeb6e35e..ebac7baf14 100644
--- a/tools/libfsimage/xfs/Makefile
+++ b/tools/libfsimage/xfs/Makefile
@@ -4,13 +4,4 @@ LIB_SRCS-y = fsys_xfs.c
 
 FS = xfs
 
-.PHONY: all
-all: fs-all
-
-.PHONY: install
-install: fs-install
-
-.PHONY: uninstall
-uninstall: fs-uninstall
-
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
diff --git a/tools/libfsimage/zfs/Makefile b/tools/libfsimage/zfs/Makefile
index 084e5ec08d..434a9c3580 100644
--- a/tools/libfsimage/zfs/Makefile
+++ b/tools/libfsimage/zfs/Makefile
@@ -28,13 +28,4 @@ LIB_SRCS-y = zfs_lzjb.c zfs_sha256.c zfs_fletcher.c fsi_zfs.c fsys_zfs.c
 
 FS = zfs
 
-.PHONY: all
-all: fs-all
-
-.PHONY: install
-install: fs-install
-
-.PHONY: uninstall
-uninstall: fs-uninstall
-
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
diff --git a/tools/libfsimage/Rules.mk b/tools/libfsimage/Rules.mk
index bb6d42abb4..cf37d6cb0d 100644
--- a/tools/libfsimage/Rules.mk
+++ b/tools/libfsimage/Rules.mk
@@ -1,25 +1,18 @@
-include $(XEN_ROOT)/tools/Rules.mk
-
-CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ -DFSIMAGE_FSDIR=\"$(FSDIR)\"
-CFLAGS += -Werror -D_GNU_SOURCE
-LDFLAGS += -L../common/
-
-PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y))
-
-FSDIR = $(libdir)/xenfsimage
+include $(XEN_ROOT)/tools/libfsimage/common.mk
 
 FSLIB = fsimage.so
+TARGETS += $(FSLIB)
 
-.PHONY: fs-all
-fs-all: $(FSLIB)
+.PHONY: all
+all: $(TARGETS)
 
-.PHONY: fs-install
-fs-install: fs-all
+.PHONY: install
+install: all
 	$(INSTALL_DIR) $(DESTDIR)$(FSDIR)/$(FS)
 	$(INSTALL_PROG) $(FSLIB) $(DESTDIR)$(FSDIR)/$(FS)
 
-.PHONY: fs-uninstall
-fs-uninstall:
+.PHONY: uninstall
+uninstall:
 	rm -f $(addprefix $(DESTDIR)$(FSDIR)/$(FS)/, $(FSLIB))
 	if [ -d $(DESTDIR)$(FSDIR)/$(FS) ]; then \
 		rmdir $(DESTDIR)$(FSDIR)/$(FS); \
@@ -28,7 +21,4 @@ fs-uninstall:
 $(FSLIB): $(PIC_OBJS)
 	$(CC) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $^ -lxenfsimage $(FS_LIBDEPS) $(APPEND_LDFLAGS)
 
-clean distclean::
-	rm -f $(PIC_OBJS) $(FSLIB) $(DEPS_RM)
-
 -include $(DEPS_INCLUDE)
diff --git a/tools/libfsimage/common.mk b/tools/libfsimage/common.mk
new file mode 100644
index 0000000000..77bc957f27
--- /dev/null
+++ b/tools/libfsimage/common.mk
@@ -0,0 +1,11 @@
+include $(XEN_ROOT)/tools/Rules.mk
+
+FSDIR := $(libdir)/xenfsimage
+CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ -DFSIMAGE_FSDIR=\"$(FSDIR)\"
+CFLAGS += -Werror -D_GNU_SOURCE
+LDFLAGS += -L../common/
+
+PIC_OBJS = $(patsubst %.c,%.opic,$(LIB_SRCS-y))
+
+clean distclean::
+	rm -f $(PIC_OBJS) $(TARGETS) $(DEPS_RM)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384783.620241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMk-0003Ec-54; Thu, 11 Aug 2022 16:49:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384783.620241; Thu, 11 Aug 2022 16:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMj-0003Dv-Um; Thu, 11 Aug 2022 16:49:01 +0000
Received: by outflank-mailman (input) for mailman id 384783;
 Thu, 11 Aug 2022 16:49:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMj-0003Aq-2Q
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:01 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f637913-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:48:59 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f637913-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236539;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=uKZYwxU/eeIoJex6/iy2xttzxFfQWkQ9g42h+ITNP2Y=;
  b=G3hdQemnFsCmJ2NOBt7B1klHUBEB1iTnHzH3Apeyv6MsD/I9E+DK7m9+
   XC1sxXxM//kbGcpC9Rie0AkCCw/gdKCNml//edkWmMujnP+uGSyjLXrvV
   d8AbKZjDQ8c7NsCZ7Dca9Kt7IJenu8MpY/NWkIY5KE/C0CYu5GpvG2Pvr
   g=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77134656
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:hJALB6BiirHEOxVW/y7jw5YqxClBgxIJ4kV8jS/XYbTApDMl0mBVy
 DcdCD/QM6zeN2byLt1/Ydy0/RsPu5/Xm9ZhQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEsvvb8nuDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW0ru0twtAkA6AYtb2tlYPThtz
 tcSCD9YO3hvh8ruqF66Yuxlh8BlJ8j3JoIP/HpnyFk1D95/H8qFGf+To4YFgnFg3aiiHt6HD
 yYdQTNpcBTHZQwJIloNAYgytOypmmP+Y3tTr1f9Sa8fvDeKl1AvjeaF3Nz9RcGnXpRWlWChh
 Xvg7lndLx04EPeg4G/Qmp6rrrCWxn6qMG4IL5W6/PN3hFyYxkQIFQYbE1C8pJGRlUqWS99Zb
 UsO9UIGvaU0sUCmUNT5dxm5u2Kf+A4RXcJKFO834x3LzbDbiy6dG2MNCDBIbtcrsMsrbTUw0
 xmCmNaBONB0mOTLEzTHrO7S9G7sf3hORYMfWcMaZToH8vCgroA/shSMbulMLPeWtfb/OT6ll
 lhmsxMCa6UvYd8jjvvlpQiW3Gv1+PAlXSZuuFyJAzvNAhdRIdf8Otf2sQWzAeNodt7xc7WXg
 JQTdyFyBsgqBIrFqiGCSf5l8FqBt6fca220bbKC8vAcG9WRF52LJ9k4DMlWfhsBDyr9UWaBj
 LXvkQ1Q/oRPG3ChcLV6ZYm8Y+xzk/a4TYu9D6GEM4AUCnSUSONg1H8GWKJt9zq1zBhEfV8XY
 P93jvpA/V5FUP86nVJats8W0KMxxzBW+F4/savTlk3/uZLDNSH9dFvwGAHRBgzPxP/b/V69H
 hc2H5fi9iizp8WiO3WLrdNIfQxTRZX5bLivw/Fqmie4ClIOMAkc5zX5mNvNp6QNc3xpq9r1
IronPort-HdrOrdr: A9a23:FdFTg6ymoCcEMnghSRdJKrPwKr1zdoMgy1knxilNoRw8SKOlfq
 eV7ZMmPH7P+U8ssR4b+OxoVJPsfZqYz+8W3WBzB8bHYOCFgguVxehZhOOIqQEIWReOk9K1vZ
 0QFZSWY+efMbEVt6rHCXGDYrUd/OU=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77134656"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 02/32] tools/firmware/hvmloader: rework Makefile
Date: Thu, 11 Aug 2022 17:48:15 +0100
Message-ID: <20220811164845.38083-3-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Setup proper dependencies with libacpi so we don't need to run "make
hvmloader" in the "all" target. ("build.o" new prerequisite isn't
exactly proper but a side effect of building the $(DSDT_FILES) is to
generate the "ssdt_*.h" needed by "build.o".)

Make use if "-iquote" instead of a plain "-I".

For "roms.inc" target, use "$(SHELL)" instead of plain "sh". And use
full path to "mkhex" instead of a relative one. Lastly, add "-f" flag
to "mv" to avoid a prompt in case the target already exist and we
don't have write permission.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---

Notes:
    v4:
    - fix reason for 'mv -f' in patch description.
    - add a comment about build.o's new prerequisites.

 tools/firmware/hvmloader/Makefile | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile
index b754220839..2bb5deb0c6 100644
--- a/tools/firmware/hvmloader/Makefile
+++ b/tools/firmware/hvmloader/Makefile
@@ -60,8 +60,7 @@ ROMS += $(ROMBIOS_ROM) $(STDVGA_ROM) $(CIRRUSVGA_ROM)
 endif
 
 .PHONY: all
-all: acpi
-	$(MAKE) hvmloader
+all: hvmloader
 
 .PHONY: acpi
 acpi:
@@ -73,12 +72,18 @@ smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(SMBIOS_REL_DATE)\""
 ACPI_PATH = ../../libacpi
 DSDT_FILES = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c
 ACPI_OBJS = $(patsubst %.c,%.o,$(DSDT_FILES)) build.o static_tables.o
-$(ACPI_OBJS): CFLAGS += -I. -DLIBACPI_STDUTILS=\"$(CURDIR)/util.h\"
+$(ACPI_OBJS): CFLAGS += -iquote . -DLIBACPI_STDUTILS=\"$(CURDIR)/util.h\"
 CFLAGS += -I$(ACPI_PATH)
 vpath build.c $(ACPI_PATH)
 vpath static_tables.c $(ACPI_PATH)
 OBJS += $(ACPI_OBJS)
 
+$(DSDT_FILES): acpi
+
+# Add DSDT_FILES as a prerequisite of "build.o" so that make will also
+# generates the "ssdt_*.h" headers needed by "build.o".
+build.o: $(DSDT_FILES)
+
 hvmloader: $(OBJS) hvmloader.lds
 	$(LD) $(LDFLAGS_DIRECT) -N -T hvmloader.lds -o $@ $(OBJS)
 
@@ -87,21 +92,21 @@ roms.inc: $(ROMS)
 
 ifneq ($(ROMBIOS_ROM),)
 	echo "#ifdef ROM_INCLUDE_ROMBIOS" >> $@.new
-	sh ../../misc/mkhex rombios $(ROMBIOS_ROM) >> $@.new
+	$(SHELL) $(XEN_ROOT)/tools/misc/mkhex rombios $(ROMBIOS_ROM) >> $@.new
 	echo "#endif" >> $@.new
 endif
 
 ifneq ($(STDVGA_ROM),)
 	echo "#ifdef ROM_INCLUDE_VGABIOS" >> $@.new
-	sh ../../misc/mkhex vgabios_stdvga $(STDVGA_ROM) >> $@.new
+	$(SHELL) $(XEN_ROOT)/tools/misc/mkhex vgabios_stdvga $(STDVGA_ROM) >> $@.new
 	echo "#endif" >> $@.new
 endif
 ifneq ($(CIRRUSVGA_ROM),)
 	echo "#ifdef ROM_INCLUDE_VGABIOS" >> $@.new
-	sh ../../misc/mkhex vgabios_cirrusvga $(CIRRUSVGA_ROM) >> $@.new
+	$(SHELL) $(XEN_ROOT)/tools/misc/mkhex vgabios_cirrusvga $(CIRRUSVGA_ROM) >> $@.new
 	echo "#endif" >> $@.new
 endif
-	mv $@.new $@
+	mv -f $@.new $@
 
 .PHONY: clean
 clean:
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384787.620288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMq-0004Tj-FX; Thu, 11 Aug 2022 16:49:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384787.620288; Thu, 11 Aug 2022 16:49:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMq-0004SM-Be; Thu, 11 Aug 2022 16:49:08 +0000
Received: by outflank-mailman (input) for mailman id 384787;
 Thu, 11 Aug 2022 16:49:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMo-0003Aq-OE
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:06 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81cb3c3d-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:05 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81cb3c3d-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236545;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ysnWsjj7Rb1EHEFLlv8kUsqZAX1qaQM4OVjafbYC2NQ=;
  b=N3h0c+becblvFHHaq6ZaIovFvr8+Evh9C5SdTq4LC0cUBST2WpU3IUmb
   9Xx8xY3zBTLSP/nqEuk+nGkTk7l04I4Hcy77sRwXsVN2aS0dZb0QyL3Pc
   Ie8AVRlYJHvmi+epXlNqgzLVyR/U0Kct+SdDbTBrzCaa6Q3GAV/PcsdSy
   E=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77650099
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:hJ6ys6Ouj/mpT0fvrR3Pl8FynXyQoLVcMsEvi/4bfWQNrUp31zBVz
 jQZXWiPO//fYTageohwOoS3o01QvsSBnYNnSAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/va8EkHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPp/tI3ImUWFLZE58BQG25Cq
 +QjdmoCO0Xra+KemNpXS8Fpj8UnasLqIJkeqjdryjSx4fQOGM6ZBf+QvJkBgWl21psm8fX2P
 qL1bRJmagjAZBtefE8aEpskkM+jh2Xlci0eo1WQzUYyyzeMklEpiOm8WDbTUt/WXYIJumi4n
 CHpwV/zGDsXDfPB7yXQpxpAgceQxHimCer+DoaQ6fpCkFCVgGsJB3U+UUawqL+3g0i1VtZbN
 mQd4C9opq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYXeg0e66iRObAnQIC0gYaiNaVTBbuda29enfkSnzosZf/L+d14OrQWmhn
 GnT8kDSlJ1I05dVivzTEUTvxmv1+8OXFlNdChD/BDrN0+9vWGKyi2VEA3D/5O0IEouWR0LpU
 JMsy5nHt7Bm4X1geUWwrAQx8FKBva/t3MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK510JvMALZSr6MPUtC25UNyjN5faIKDgYfqqMMoomjmZZLWdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMEv2/Z9PlWPuL89AgOBD+8zL7TmMLXwN50j4jOH2ib/8YettDWZimchltf/Y/FiOo
 4oGXyZIoj0GONDDjuDs2dZ7BTg3wbITX/gad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:UxciEqj2X9dXuIo5ipjFcbzlU3BQXtwji2hC6mlwRA09TySZ//
 rAoB19726StN9xYgBYpTnuAsi9qB/nmKKdpLNhX4tKPzOW3FdATrsD0WKK+VSJcEfDH6xmpM
 JdmsBFebvN5DNB4/oSjjPVLz9Z+qjlzJyV
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77650099"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 04/32] tools/hotplug: cleanup Makefiles
Date: Thu, 11 Aug 2022 17:48:17 +0100
Message-ID: <20220811164845.38083-5-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Remove "build" targets.

Use simply expanded variables when recursively expanded variable
aren't needed. (Use ":=" instead of "=".)

Don't check if a directory already exist when installing, just create
it.

Fix $(HOTPLUGPATH), it shouldn't have any double-quote.

Some reindentation.

FreeBSD, "hotplugpath.sh" is already installed by common/.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 tools/hotplug/FreeBSD/Makefile       | 11 +++--------
 tools/hotplug/Linux/Makefile         | 16 ++++++----------
 tools/hotplug/Linux/systemd/Makefile | 16 +++++++---------
 tools/hotplug/NetBSD/Makefile        |  9 +++------
 tools/hotplug/common/Makefile        | 16 ++++++----------
 5 files changed, 25 insertions(+), 43 deletions(-)

diff --git a/tools/hotplug/FreeBSD/Makefile b/tools/hotplug/FreeBSD/Makefile
index de9928cd86..a6552c9884 100644
--- a/tools/hotplug/FreeBSD/Makefile
+++ b/tools/hotplug/FreeBSD/Makefile
@@ -2,18 +2,15 @@ XEN_ROOT = $(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
 # Xen script dir and scripts to go there.
-XEN_SCRIPTS = vif-bridge block
+XEN_SCRIPTS := vif-bridge block
 
-XEN_SCRIPT_DATA =
+XEN_SCRIPT_DATA :=
 
-XEN_RCD_PROG = rc.d/xencommons rc.d/xendriverdomain
+XEN_RCD_PROG := rc.d/xencommons rc.d/xendriverdomain
 
 .PHONY: all
 all:
 
-.PHONY: build
-build:
-
 .PHONY: install
 install: install-scripts install-rcd
 
@@ -44,12 +41,10 @@ install-rcd:
 	   do \
 	   $(INSTALL_PROG) $$i $(DESTDIR)$(INITD_DIR); \
 	done
-	$(INSTALL_DATA) ../common/hotplugpath.sh $(DESTDIR)$(XEN_SCRIPT_DIR)
 
 .PHONY: uninstall-rcd
 uninstall-rcd:
 	rm -f $(addprefix $(DESTDIR)$(INITD_DIR)/, $(XEN_RCD_PROG))
-	rm -f $(DESTDIR)$(XEN_SCRIPT_DIR)/hotplugpath.sh
 
 .PHONY: clean
 clean:
diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile
index 0b1d111d7e..9a7b3a3515 100644
--- a/tools/hotplug/Linux/Makefile
+++ b/tools/hotplug/Linux/Makefile
@@ -2,7 +2,7 @@ XEN_ROOT = $(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
 # Xen script dir and scripts to go there.
-XEN_SCRIPTS = vif-bridge
+XEN_SCRIPTS := vif-bridge
 XEN_SCRIPTS += vif-route
 XEN_SCRIPTS += vif-nat
 XEN_SCRIPTS += vif-openvswitch
@@ -22,16 +22,13 @@ XEN_SCRIPTS += launch-xenstore
 
 SUBDIRS-$(CONFIG_SYSTEMD) += systemd
 
-XEN_SCRIPT_DATA = xen-script-common.sh locking.sh logging.sh
+XEN_SCRIPT_DATA := xen-script-common.sh locking.sh logging.sh
 XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
 XEN_SCRIPT_DATA += block-common.sh
 
 .PHONY: all
 all: subdirs-all
 
-.PHONY: build
-build:
-
 .PHONY: install
 install: install-initd install-scripts subdirs-install
 
@@ -41,9 +38,9 @@ uninstall: uninstall-initd uninstall-scripts subdirs-uninstall
 # See docs/misc/distro_mapping.txt for INITD_DIR location
 .PHONY: install-initd
 install-initd:
-	[ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
-	[ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
-	[ -d $(DESTDIR)$(LIBEXEC_BIN) ] || $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+	$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
+	$(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
 	$(INSTALL_DATA) init.d/sysconfig.xendomains $(DESTDIR)$(SYSCONFIG_DIR)/xendomains
 	$(INSTALL_DATA) init.d/sysconfig.xencommons $(DESTDIR)$(SYSCONFIG_DIR)/xencommons
 	$(INSTALL_PROG) xendomains $(DESTDIR)$(LIBEXEC_BIN)
@@ -64,8 +61,7 @@ uninstall-initd:
 
 .PHONY: install-scripts
 install-scripts:
-	[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
-		$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
+	$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
 	set -e; for i in $(XEN_SCRIPTS); \
 	    do \
 	    $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
diff --git a/tools/hotplug/Linux/systemd/Makefile b/tools/hotplug/Linux/systemd/Makefile
index a5d41d86ef..26df2a43b1 100644
--- a/tools/hotplug/Linux/systemd/Makefile
+++ b/tools/hotplug/Linux/systemd/Makefile
@@ -1,12 +1,12 @@
 XEN_ROOT = $(CURDIR)/../../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-XEN_SYSTEMD_MODULES = xen.conf
+XEN_SYSTEMD_MODULES := xen.conf
 
-XEN_SYSTEMD_MOUNT =  proc-xen.mount
+XEN_SYSTEMD_MOUNT := proc-xen.mount
 XEN_SYSTEMD_MOUNT += var-lib-xenstored.mount
 
-XEN_SYSTEMD_SERVICE  = xenstored.service
+XEN_SYSTEMD_SERVICE := xenstored.service
 XEN_SYSTEMD_SERVICE += xenconsoled.service
 XEN_SYSTEMD_SERVICE += xen-qemu-dom0-disk-backend.service
 XEN_SYSTEMD_SERVICE += xendomains.service
@@ -14,7 +14,7 @@ XEN_SYSTEMD_SERVICE += xen-watchdog.service
 XEN_SYSTEMD_SERVICE += xen-init-dom0.service
 XEN_SYSTEMD_SERVICE += xendriverdomain.service
 
-ALL_XEN_SYSTEMD =	$(XEN_SYSTEMD_MODULES)  \
+ALL_XEN_SYSTEMD :=	$(XEN_SYSTEMD_MODULES)  \
 			$(XEN_SYSTEMD_MOUNT)	\
 			$(XEN_SYSTEMD_SERVICE)
 
@@ -30,10 +30,8 @@ distclean: clean
 
 .PHONY: install
 install: $(ALL_XEN_SYSTEMD)
-	[ -d $(DESTDIR)$(XEN_SYSTEMD_DIR) ] || \
-		$(INSTALL_DIR) $(DESTDIR)$(XEN_SYSTEMD_DIR)
-	[ -d $(DESTDIR)$(XEN_SYSTEMD_MODULES_LOAD) ] || \
-		$(INSTALL_DIR) $(DESTDIR)$(XEN_SYSTEMD_MODULES_LOAD)
+	$(INSTALL_DIR) $(DESTDIR)$(XEN_SYSTEMD_DIR)
+	$(INSTALL_DIR) $(DESTDIR)$(XEN_SYSTEMD_MODULES_LOAD)
 	$(INSTALL_DATA) *.service $(DESTDIR)$(XEN_SYSTEMD_DIR)
 	$(INSTALL_DATA) *.mount $(DESTDIR)$(XEN_SYSTEMD_DIR)
 	$(INSTALL_DATA) *.conf $(DESTDIR)$(XEN_SYSTEMD_MODULES_LOAD)
@@ -48,5 +46,5 @@ $(XEN_SYSTEMD_MODULES):
 	rm -f $@.tmp
 	for mod in $(LINUX_BACKEND_MODULES) ; do \
 		echo $$mod ; \
-		done > $@.tmp
+	done > $@.tmp
 	$(call move-if-changed,$@.tmp,$@)
diff --git a/tools/hotplug/NetBSD/Makefile b/tools/hotplug/NetBSD/Makefile
index f909ffa367..1cd3db2ccb 100644
--- a/tools/hotplug/NetBSD/Makefile
+++ b/tools/hotplug/NetBSD/Makefile
@@ -2,22 +2,19 @@ XEN_ROOT = $(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
 # Xen script dir and scripts to go there.
-XEN_SCRIPTS =
+XEN_SCRIPTS :=
 XEN_SCRIPTS += locking.sh
 XEN_SCRIPTS += block
 XEN_SCRIPTS += vif-bridge
 XEN_SCRIPTS += vif-ip
 XEN_SCRIPTS += qemu-ifup
 
-XEN_SCRIPT_DATA =
-XEN_RCD_PROG = rc.d/xencommons rc.d/xendomains rc.d/xen-watchdog rc.d/xendriverdomain
+XEN_SCRIPT_DATA :=
+XEN_RCD_PROG := rc.d/xencommons rc.d/xendomains rc.d/xen-watchdog rc.d/xendriverdomain
 
 .PHONY: all
 all:
 
-.PHONY: build
-build:
-
 .PHONY: install
 install: install-scripts install-rcd
 
diff --git a/tools/hotplug/common/Makefile b/tools/hotplug/common/Makefile
index ef48bfacc9..e8a8dbea6c 100644
--- a/tools/hotplug/common/Makefile
+++ b/tools/hotplug/common/Makefile
@@ -1,22 +1,19 @@
 XEN_ROOT = $(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-HOTPLUGPATH="hotplugpath.sh"
+HOTPLUGPATH := hotplugpath.sh
 
 # OS-independent hotplug scripts go in this directory
 
 # Xen scripts to go there.
-XEN_SCRIPTS =
-XEN_SCRIPT_DATA = $(HOTPLUGPATH)
+XEN_SCRIPTS :=
+XEN_SCRIPT_DATA := $(HOTPLUGPATH)
 
 genpath-target = $(call buildmakevars2file,$(HOTPLUGPATH))
 $(eval $(genpath-target))
 
 .PHONY: all
-all: build
-
-.PHONY: build
-build: $(HOTPLUGPATH)
+all: $(HOTPLUGPATH)
 
 .PHONY: install
 install: install-scripts
@@ -25,9 +22,8 @@ install: install-scripts
 uninstall: uninstall-scripts
 
 .PHONY: install-scripts
-install-scripts: build
-	[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
-		$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
+install-scripts: all
+	$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
 	set -e; for i in $(XEN_SCRIPTS); \
 	   do \
 	   $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384789.620300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMr-0004fD-BL; Thu, 11 Aug 2022 16:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384789.620300; Thu, 11 Aug 2022 16:49:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMr-0004e3-3m; Thu, 11 Aug 2022 16:49:09 +0000
Received: by outflank-mailman (input) for mailman id 384789;
 Thu, 11 Aug 2022 16:49:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMp-0003s9-Oo
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:07 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83148bdf-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:06 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83148bdf-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236545;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=oiMxhY9aNAuabaL1poisWXh5+cq7pv8wOKvWKuB/m94=;
  b=R3jt1ro69G6fAqc79zHZ0N3saSgB98WWnMWfjoGdOkOgehzfzENO0Stv
   DYvFUB1O4toi9tH0LgGHciVM0tUzelnA5TS7GCZn5wprhYrVNZG5rpNiF
   060j4mSLhKyFz4jAdP0psrmq3rB/1BKDI9KqqYVZoTjiKkZPilWFyXZVk
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78334323
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:YWYn3qjcjDODML9NnKEhr1iUX161ChAKZh0ujC45NGQN5FlHY01je
 htvW2+Ba6qPZWf0c9ElPYuzoB8AuZfTz95kHgo5qCszFysb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSr4WtC1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eM6IS0OlyX25yz
 OUyKTsBVE+Bqe2s3+fuIgVsrpxLwMjDOYoevjdrzC3DDOZgSpfGK0nIzYYGhnFq3JkIRKuAI
 ZpCAdZsRE2ojxlnM1ELCJU4jaGwi2P2aTFwo1OJv6snpWPUyWSd1ZCyYIGOJofQHq25mG6Al
 j7m8ifTPSsoMc2t5hy/7C+u19X2yHaTtIU6S+Tjq68CbEeo7nMXIA0bUx28u/bRokqjUNsZJ
 UUS8ScqqbUa/VauCNL6WnWQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3PLaXhRzi
 AXPxYmwQ2Uy7vvFEhpx64t4sxu8FiI/ImpcahM9VCEE6NXZ/4MdgQjQG4ML/LGOsjHlJd3h6
 2nU8nBm1upK1JBjO7aTpg6e3W/1znTdZktsv1iMADr4hu9sTNT9D7FE/2Q3+hqpwGyxalCa9
 EYJlMGFhAzlJcHczXfdKAnh8VzA2hpkDNE/qQQ2d3XZ327xk0NPhKgJiN2EGG9nM9wfZRjia
 1LJtAVa6fd7ZSX0NfcoO9vgW5lwl8AM8OgJsdiKBuein7ArLFPXlM2QTRf4M5/RfLgEzvhkZ
 MbznTeEBncGE6V3pAeLqxMm+eZynkgWmDKMLa0XOjz9jtJyklbJFupeWLZPB8hlhJ65TPL9r
 48Da5fXkEUDCYUToED/qOYuELzDFlBjbbieliCdXrXrztZOcI35N8Ls/A==
IronPort-HdrOrdr: A9a23:jtS076zDTBAGJb3Vc5voKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZImPH7P+U4ssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkGNDSaNzlHZKjBjzVQa+xQouW6zA==
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="78334323"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 07/32] tools/xentop: rework makefile
Date: Thu, 11 Aug 2022 17:48:20 +0100
Message-ID: <20220811164845.38083-8-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Add "xentop" to "TARGETS" because this variable will be useful later.

Always define all the targets, even when configured with
--disable-monitor, instead don't visit the subdirectory.
This mean xentop/ isn't visited anymore during "make clean" that's how
most other subdirs in the tools/ works.

Also add missing "xentop" rules. It only works without it because we
still have make's built-ins rules and variables, but fix this to not
have to rely on them.

Use $(TARGETS) with $(INSTALL_PROG), and thus install into the
directory rather than spelling the program name.

In the "clean" rule, use $(RM) and remove all "*.o" instead of just
one object.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---

Notes:
    v2:
    - use $(RM) in clean.
    - remove all *.o instead of just one object in "clean" rule.
    - in "install" rule, make use of $(TARGETS). install into a dir rather
      than to a specific path, in case there's more targets.

 tools/Makefile        |  2 +-
 tools/xentop/Makefile | 21 +++++++++------------
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 79b4c7e3de..0c1d8b64a4 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -17,7 +17,7 @@ SUBDIRS-$(CONFIG_XCUTILS) += xcutils
 SUBDIRS-$(CONFIG_X86) += firmware
 SUBDIRS-y += console
 SUBDIRS-y += xenmon
-SUBDIRS-y += xentop
+SUBDIRS-$(XENSTAT_XENTOP) += xentop
 SUBDIRS-y += libfsimage
 SUBDIRS-$(CONFIG_Linux) += vchan
 
diff --git a/tools/xentop/Makefile b/tools/xentop/Makefile
index 0034114684..7bd96f34d5 100644
--- a/tools/xentop/Makefile
+++ b/tools/xentop/Makefile
@@ -13,36 +13,33 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-ifneq ($(XENSTAT_XENTOP),y)
-.PHONY: all install xentop uninstall
-all install xentop uninstall:
-else
-
 CFLAGS += -DGCC_PRINTF -Werror $(CFLAGS_libxenstat)
 LDLIBS += $(LDLIBS_libxenstat) $(CURSES_LIBS) $(TINFO_LIBS) $(SOCKET_LIBS) -lm
 CFLAGS += -DHOST_$(XEN_OS)
 
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
-LDFLAGS += $(APPEND_LDFLAGS)
+
+TARGETS := xentop
 
 .PHONY: all
-all: xentop
+all: $(TARGETS)
+
+xentop: xentop.o
+	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS) $(APPEND_LDFLAGS)
 
 .PHONY: install
-install: xentop
+install: all
 	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
-	$(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
+	$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(sbindir)
 
 .PHONY: uninstall
 uninstall:
 	rm -f $(DESTDIR)$(sbindir)/xentop
 
-endif
-
 .PHONY: clean
 clean:
-	rm -f xentop xentop.o $(DEPS_RM)
+	$(RM) *.o $(TARGETS) $(DEPS_RM)
 
 .PHONY: distclean
 distclean: clean
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384785.620268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMo-0003xt-Ib; Thu, 11 Aug 2022 16:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384785.620268; Thu, 11 Aug 2022 16:49:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMo-0003xh-FN; Thu, 11 Aug 2022 16:49:06 +0000
Received: by outflank-mailman (input) for mailman id 384785;
 Thu, 11 Aug 2022 16:49:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMm-0003Aq-T4
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:05 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81b25845-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:03 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81b25845-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236543;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=J/SLv4tpkZk1s80iDBxg+IpFakavr4UAIdUl4Zv0U+U=;
  b=iRSnFYAAMyzWhH5DZm2PxxqtfNpG4kDPzWFGzS1z7iCaYF0DKlqo5Xk3
   4naHTPgzgXmDNph1Y34VxOIQw/bUm42cSTXjHIGnI1CY4Kh5m1VgLHmcO
   2uomQPq2wcV4yEMQn71MUbB+xYPmktrhe3WaDtDwqCuiYSARpXLnS+QS1
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77650092
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6r5dPaO5BQILab7vrR2Kl8FynXyQoLVcMsEvi/4bfWQNrUorhDACy
 DdMWz2AaP7ZNGH3eooiPNi09UsEucLSy9NiQAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/va8EkHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPe7vstIGgfM7c/oNhnH3AT/
 P5IJS0CO0Xra+KemNpXS8Fpj8UnasLqIJkeqjdryjSx4fQOGM6ZBf+QvJkBgWl21psm8fX2P
 qL1bRJmagjAZBtefE8aEpskkM+jh2Xlci0eo1WQzUYyyzeMklEpiOm3WDbTUt6zH9lEjnqXn
 Uff21vlXSBLJtajkSXQpxpAgceQxHimCer+DoaQ9ONugVCV7nweDlsRT1TTieKilke0VtZbK
 koV0ikjt64/8AqsVNaVdwK8iG6JuFgbQdU4O/037kSBx7TZ5y6dB3MYVXhRZdo+rsg0SDc2k
 FiTkLvBASFkufubQHSW+7OQsBu7Iy1TJmgHDQcGRwYY59jooKkokwnCCN1kFcaIYsbdQG+qh
 WrQ9W5n2utV3ZVjO7iHEU7vsR+i5bTgZwAPwV/pTny0swp7NIO4aNn9gbTE1sqsPLp1X3HY4
 iZcw5nBtblQZX2evHfTGbtQRdlF897AaWSB2gA3QvHN4hz3oxaekZZsDCaSzauDGuINYnfXb
 UDaomu9D7cDbSLxPcebj29cYvnGLJQM9vy/D5g4lvIUPvBMmPavpUmCn3K40WH3i1QLmqoiI
 5qdesvEJS9EV/w/k2LvFrdAi+VDKsUCKYT7G/jGI+mPi+LCNBZ5t59cWLdxUgzJxPzd+1iEm
 zquH8CL1w9eQIXDX8UjyqZKdAhiBSVqWvjLRzl/LLHrzvxORD58UJc8ANoJJ+RYokiivruRo
 i3hBxQIlAOXaL+uAVziV02PoYjHBf5XxU/X9wR1Vbp08xDPubqS0Zo=
IronPort-HdrOrdr: A9a23:lJ988K+KyqxXtxpLzi9uk+DeI+orL9Y04lQ7vn2YSXRuHfBw8P
 re+8jztCWE8Qr5N0tApTntAsS9qDbnhPxICOoqTNOftWvd2FdARbsKheCJ/9SjIVyaygc079
 YHT0EUMrPN5DZB4foSmDPIcOod/A==
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77650092"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, "Julien
 Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v4 03/32] tools/fuzz/x86_instruction_emulator: rework makefile
Date: Thu, 11 Aug 2022 17:48:16 +0100
Message-ID: <20220811164845.38083-4-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Rework dependencies of all objects. We don't need to add dependencies
for headers that $(CC) is capable of generating, we only need to
include $(DEPS_INCLUDE). Some dependencies are still needed so make
knows to generate symlinks for them.

We remove the use of "vpath" for cpuid.c. While it works fine for now,
when we will convert this makefile to subdirmk, vpath will not be
usable. Also, "-iquote" is now needed to build "cpuid.o".

Replace "-I." by "-iquote .", so it applies to double-quote includes
only.

Rather than checking if a symlink exist, always regenerate the
symlink. So if the source tree changed location, the symlink is
updated.

Since we are creating a new .gitignore for the symlink, also move the
entry to it.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---

Notes:
    v4:
    - Use pattern rules to link sources from libx86 and from x86 emulator
      tests
    - fix rm of .*.d2 dependency files
    
    v2:
    - create a new per-directory .gitignore to add the new entry and existing ones

 tools/fuzz/x86_instruction_emulator/Makefile  | 35 +++++++++----------
 .gitignore                                    |  6 ----
 .../fuzz/x86_instruction_emulator/.gitignore  |  7 ++++
 3 files changed, 24 insertions(+), 24 deletions(-)
 create mode 100644 tools/fuzz/x86_instruction_emulator/.gitignore

diff --git a/tools/fuzz/x86_instruction_emulator/Makefile b/tools/fuzz/x86_instruction_emulator/Makefile
index 1a6dbf94e1..13aa238503 100644
--- a/tools/fuzz/x86_instruction_emulator/Makefile
+++ b/tools/fuzz/x86_instruction_emulator/Makefile
@@ -9,32 +9,29 @@ x86-insn-fuzz-all:
 endif
 
 # Add libx86 to the build
-vpath %.c $(XEN_ROOT)/xen/lib/x86
+%.c: $(XEN_ROOT)/xen/lib/x86/%.c FORCE
+	ln -nsf $< $@
 
-x86_emulate:
-	[ -L $@ ] || ln -sf $(XEN_ROOT)/xen/arch/x86/$@
+x86_emulate: FORCE
+	ln -nsf $(XEN_ROOT)/xen/arch/x86/$@
 
 x86_emulate/%: x86_emulate ;
 
-x86-emulate.c x86-emulate.h wrappers.c: %:
-	[ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$*
+%.c: $(XEN_ROOT)/tools/tests/x86_emulator/%.c FORCE
+	ln -nsf $< $@
+%.h: $(XEN_ROOT)/tools/tests/x86_emulator/%.h FORCE
+	ln -nsf $< $@
 
-CFLAGS += $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -I.
+CFLAGS += $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -iquote .
+cpuid.o: CFLAGS += -iquote $(XEN_ROOT)/xen/lib/x86
 
 GCOV_FLAGS := --coverage
 %-cov.o: %.c
 	$(CC) -c $(CFLAGS) $(GCOV_FLAGS) $< -o $@
 
-x86.h := $(addprefix $(XEN_ROOT)/tools/include/xen/asm/,\
-                     x86-vendors.h x86-defns.h msr-index.h) \
-         $(addprefix $(XEN_ROOT)/tools/include/xen/lib/x86/, \
-                     cpuid.h cpuid-autogen.h)
-x86_emulate.h := x86-emulate.h x86_emulate/x86_emulate.h $(x86.h)
-
-# x86-emulate.c will be implicit for both
-x86-emulate.o x86-emulate-cov.o: x86_emulate/x86_emulate.c $(x86_emulate.h)
-
-fuzz-emul.o fuzz-emulate-cov.o cpuid.o wrappers.o: $(x86_emulate.h)
+x86-emulate.h: x86_emulate/x86_emulate.h
+x86-emulate.o x86-emulate-cov.o: x86-emulate.h x86_emulate/x86_emulate.c
+fuzz-emul.o fuzz-emul-cov.o wrappers.o: x86-emulate.h
 
 x86-insn-fuzzer.a: fuzz-emul.o x86-emulate.o cpuid.o
 	$(AR) rc $@ $^
@@ -51,11 +48,11 @@ all: x86-insn-fuzz-all
 
 .PHONY: distclean
 distclean: clean
-	rm -f x86_emulate x86-emulate.c x86-emulate.h
+	rm -f x86_emulate x86-emulate.c x86-emulate.h wrappers.c cpuid.c
 
 .PHONY: clean
 clean:
-	rm -f *.a *.o .*.d afl-harness afl-harness-cov *.gcda *.gcno *.gcov
+	rm -f *.a *.o $(DEPS_RM) afl-harness afl-harness-cov *.gcda *.gcno *.gcov
 
 .PHONY: install
 install: all
@@ -67,3 +64,5 @@ afl: afl-harness
 
 .PHONY: afl-cov
 afl-cov: afl-harness-cov
+
+-include $(DEPS_INCLUDE)
diff --git a/.gitignore b/.gitignore
index ed7bd8bdc7..ff1d668489 100644
--- a/.gitignore
+++ b/.gitignore
@@ -195,12 +195,6 @@ tools/flask/utils/flask-loadpolicy
 tools/flask/utils/flask-setenforce
 tools/flask/utils/flask-set-bool
 tools/flask/utils/flask-label-pci
-tools/fuzz/x86_instruction_emulator/asm
-tools/fuzz/x86_instruction_emulator/afl-harness
-tools/fuzz/x86_instruction_emulator/afl-harness-cov
-tools/fuzz/x86_instruction_emulator/wrappers.c
-tools/fuzz/x86_instruction_emulator/x86_emulate
-tools/fuzz/x86_instruction_emulator/x86-emulate.[ch]
 tools/helpers/init-xenstore-domain
 tools/helpers/xen-init-dom0
 tools/hotplug/common/hotplugpath.sh
diff --git a/tools/fuzz/x86_instruction_emulator/.gitignore b/tools/fuzz/x86_instruction_emulator/.gitignore
new file mode 100644
index 0000000000..65c3cf9702
--- /dev/null
+++ b/tools/fuzz/x86_instruction_emulator/.gitignore
@@ -0,0 +1,7 @@
+/asm
+/afl-harness
+/afl-harness-cov
+/cpuid.c
+/wrappers.c
+/x86_emulate
+/x86-emulate.[ch]
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384792.620323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMw-0005X7-1k; Thu, 11 Aug 2022 16:49:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384792.620323; Thu, 11 Aug 2022 16:49:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMv-0005Ws-U5; Thu, 11 Aug 2022 16:49:13 +0000
Received: by outflank-mailman (input) for mailman id 384792;
 Thu, 11 Aug 2022 16:49:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMu-0003s9-8S
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:12 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85426978-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:11 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85426978-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236551;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=mxTVCPUj7pxiYMIM697LcuDAzSCMllkoIRIujuNp3so=;
  b=EpGIt1LDO8mVGxactmy9AOUGZy+3rDDBvQUFFcOfLZVi7xoXU0vQR34C
   izd7IKXgX9zoL7u3ap/gUwaYfhTCDKrk/FpaEJqrjGM+n/IeFp2ZKtANl
   RlcxP42pFNyTtsIePKAO5jIy53Nm+uVQHwmRFCr0zmXA/gCfLKkB2F5iX
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77893905
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:3dNdqarAoVGKQxsgKi97r107YLpeBmIjZRIvgKrLsJaIsI4StFCzt
 garIBmOMviMM2WmKIx2aojnpBtSvZTSyoRjHQY5/ilgH3xGopuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GpB5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqUn+MR5MUcR7
 sYkMTIiSxzf3tmq/LekH7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8eDo4+m+G5wGHyaTRCpHqepLYt4niVxwt0uFToGIWKKo3RFJ0I9qqej
 l3s+Wa6Oh87COGglgKO+WOln9bhhwquDer+E5Xnr6U30TV/3Fc7CgASVFa9iem0jAi5Qd03A
 1cP5iMkoKw29UqqZtrwRRu1pDiDpBF0c8VUO/037keK0KW8ywSTC3UATzVBQMc7r8JwTjsvv
 neZktWsCTFxvbm9TXOG6qzSvT60ITISL2IJeWkDVwRty9vsuoYolTrUU81uVqWyi7XdEzzq3
 yqDqiR4grwJlNMKzI2y51WBiDWpzqUlVSZsuF+RBDj8qFokOsj1PORE9GQ3895/LqSXfn/ep
 0I4gsqxyexSVKqRqCmSFbBl8K6S2xqVDNHNqQcxQcF5pmv0oiDLkZN4u28nehowWioQUXqwO
 RKI51sMjHNGFCHyBZKbdb5dHCjDIULIMd3+Hs7ZYdNVCnSaXF/WpXo+DaJ8Mo2EraTNrU3cE
 c3CGSpUJSxGYZmLNRLvLwvn7Zclxzol2UTYTo3hwhKs3NK2PSDLEe9aaALfPr1jtstoRTk5F
 P4BX/ZmNj0FCLGuCsUp2dd7wa82wYgTWsmt9p0/mh+rKQt6AmAxY8LsLUcaU9U8x8x9y7aXl
 kxRr2cClzITc1WbdljRAp2iAZuzNatCQYUTYXVwYQr1gCh/OO5CLs43LvMKQFXuz8Q7pdYcc
 hXPU5/o7ihnItgfxwkgUA==
IronPort-HdrOrdr: A9a23:xyfUKqjEGoK27h0u45GvSX60z3BQXtwji2hC6mlwRA09TySZ//
 rAoB19726StN9xYgBYpTnuAsi9qB/nmKKdpLNhX4tKPzOW3FdATrsD0WKK+VSJcEfDH6xmpM
 JdmsBFebvN5DNB4/oSjjPVLz9Z+qjlzJyV
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77893905"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 09/32] .gitignore: Cleanup ignores of tools/libs/*/{headers.chk,*.pc}
Date: Thu, 11 Aug 2022 17:48:22 +0100
Message-ID: <20220811164845.38083-10-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---

Notes:
    v2:
    - move new .gitignore entries to the one in tools/libs/

 .gitignore            | 26 --------------------------
 tools/libs/.gitignore |  2 ++
 2 files changed, 2 insertions(+), 26 deletions(-)

diff --git a/.gitignore b/.gitignore
index ff1d668489..e3fe06cd13 100644
--- a/.gitignore
+++ b/.gitignore
@@ -106,26 +106,8 @@ tools/config.cache
 config/Tools.mk
 config/Stubdom.mk
 config/Docs.mk
-tools/libs/toolcore/headers.chk
-tools/libs/toolcore/xentoolcore.pc
-tools/libs/toollog/headers.chk
-tools/libs/toollog/xentoollog.pc
-tools/libs/evtchn/headers.chk
-tools/libs/evtchn/xenevtchn.pc
-tools/libs/gnttab/headers.chk
-tools/libs/gnttab/xengnttab.pc
-tools/libs/hypfs/headers.chk
-tools/libs/hypfs/xenhypfs.pc
-tools/libs/call/headers.chk
-tools/libs/call/xencall.pc
 tools/libs/ctrl/libxenctrl.map
-tools/libs/ctrl/xencontrol.pc
-tools/libs/foreignmemory/headers.chk
-tools/libs/foreignmemory/xenforeignmemory.pc
-tools/libs/devicemodel/headers.chk
-tools/libs/devicemodel/xendevicemodel.pc
 tools/libs/guest/libxenguest.map
-tools/libs/guest/xenguest.pc
 tools/libs/guest/xc_bitops.h
 tools/libs/guest/xc_core.h
 tools/libs/guest/xc_core_arm.h
@@ -145,21 +127,13 @@ tools/libs/light/testidl.c
 tools/libs/light/test_timedereg
 tools/libs/light/test_fdderegrace
 tools/libs/light/tmp.*
-tools/libs/light/xenlight.pc
-tools/libs/stat/headers.chk
 tools/libs/stat/libxenstat.map
-tools/libs/stat/xenstat.pc
-tools/libs/store/headers.chk
 tools/libs/store/list.h
 tools/libs/store/utils.h
-tools/libs/store/xenstore.pc
 tools/libs/store/xs_lib.c
-tools/libs/util/*.pc
 tools/libs/util/libxlu_cfg_y.output
 tools/libs/util/libxenutil.map
-tools/libs/vchan/headers.chk
 tools/libs/vchan/libxenvchan.map
-tools/libs/vchan/xenvchan.pc
 tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/*
 tools/debugger/gdb/gdb-6.2.1/*
 tools/debugger/gdb/gdb-6.2.1.tar.bz2
diff --git a/tools/libs/.gitignore b/tools/libs/.gitignore
index 4a13126144..1ad7c7f0cb 100644
--- a/tools/libs/.gitignore
+++ b/tools/libs/.gitignore
@@ -1 +1,3 @@
+*/*.pc
+*/headers.chk
 */headers.lst
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384793.620333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMx-0005p0-Ei; Thu, 11 Aug 2022 16:49:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384793.620333; Thu, 11 Aug 2022 16:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBMx-0005nr-9I; Thu, 11 Aug 2022 16:49:15 +0000
Received: by outflank-mailman (input) for mailman id 384793;
 Thu, 11 Aug 2022 16:49:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBMw-0003s9-Fx
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:14 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8762dcb2-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:13 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8762dcb2-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236553;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=gpM48lpnObCIjWGPGvBVueMdTtMWC0q32u6eUBiFh6U=;
  b=TvHRgEh1n7m2WRGC0A2xLmVMeD9uVWs0mTMvqmzafQ8uLzJcQYDu7zoo
   2XaOmPmlbKyLk/tJiipjV0+aYL6CZivGhDpG6DROExfIvtmEFVJQ8TkcO
   mJUt7yAerLuCoXXcsyRF7ZGJw5Di8DzD50SDaqAubkx5QUCz8ALq85Jkl
   c=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77893912
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:SP/Te6IP0IRaLWxpFE+R3pUlxSXFcZb7ZxGr2PjKsXjdYENS0zMEm
 DQXCjvQOayKZDP2f4p1YN++9UNQvsOHmoUyT1BlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Us11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE2q5JL0NoH4Yj+Mk0Gj9W6
 6IeCyEvcUXW7w626OrTpuhEg80iKI/gPZ8Fu2EmxjbcZRokacmdGeOQv4YehWpuwJAVdRrdT
 5NxhT5HZRLcYxpJKxEPBYg3huuAjXjjaTxI7lmSoMLb5kCMk1wgi+m0arI5fPSEFeUNxVegm
 ljL9nn5PBI3Ju6m1BmapyfEaujnwnqgBdN6+KeD3vJym1iS2mw7AQUbT0emuuK+jlOiWtVZM
 Aof/S9Ghbc23FymSJ/6RRLQiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6ceZTEsz
 E7PoNrvChRmqrjTQnWYnop4thvrZ3JTdzVbI3ZZE01VuLEPvb3fkDrWFfFAEvCXheb3NnLrn
 SiU8i4dlpcM2JtjO7qAwbzXv969jsGXEFZtt1qOBzzNAhBRP9D8OdHxgbTPxbMZddvCEAHc1
 JQRs5LGhN3iG61hg8BkrA8lOLiyr8iIPzTH6bKEN8lwrm/9k5JPkG053d2fGKuKGpxdEdMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QQOsAuLFbWrHw0PyZ8OlwBd2By+ZzTx
 L/BKZr8ZZrkIf0PIMWKqxc1juZwm3FWKZL7TpHn1RW3uYejiIquYe5caDOmM7FmhJ5oVS2Pr
 L6zwePWlEgEOAA/CwGLmbMuwacicSFnWcyr8JwLL4Zu4GNOQQkcNhMY+pt5E6QNokifvr6gE
 q2VMqOA9GfCuA==
IronPort-HdrOrdr: A9a23:vS0YTKmMyXb2lFXb79pgXRsRMifpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7gr5OUtQ4exoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCFHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77893912"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Henry Wang
	<Henry.Wang@arm.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>, "Wei
 Liu" <wl@xen.org>
Subject: [XEN PATCH v4 11/32] tools/flask/utils: list build targets in $(TARGETS)
Date: Thu, 11 Aug 2022 17:48:24 +0100
Message-ID: <20220811164845.38083-12-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
---
 tools/flask/utils/Makefile | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/flask/utils/Makefile b/tools/flask/utils/Makefile
index db567b13dc..6be134142a 100644
--- a/tools/flask/utils/Makefile
+++ b/tools/flask/utils/Makefile
@@ -4,10 +4,10 @@ include $(XEN_ROOT)/tools/Rules.mk
 CFLAGS += -Werror
 CFLAGS += $(CFLAGS_libxenctrl)
 
-CLIENTS := flask-loadpolicy flask-setenforce flask-getenforce flask-label-pci flask-get-bool flask-set-bool
+TARGETS := flask-loadpolicy flask-setenforce flask-getenforce flask-label-pci flask-get-bool flask-set-bool
 
 .PHONY: all
-all: $(CLIENTS)
+all: $(TARGETS)
 
 flask-loadpolicy: loadpolicy.o
 	$(CC) $(LDFLAGS) $< $(LDLIBS) $(LDLIBS_libxenctrl) -o $@
@@ -29,7 +29,7 @@ flask-set-bool: set-bool.o
 
 .PHONY: clean
 clean:
-	$(RM) *.o $(CLIENTS) $(DEPS_RM)
+	$(RM) *.o $(TARGETS) $(DEPS_RM)
 
 .PHONY: distclean
 distclean: clean
@@ -37,10 +37,10 @@ distclean: clean
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
-	$(INSTALL_PROG) $(CLIENTS) $(DESTDIR)$(sbindir)
+	$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(sbindir)
 
 .PHONY: uninstall
 uninstall:
-	rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(CLIENTS))
+	rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(TARGETS))
 
 -include $(DEPS_INCLUDE)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384797.620345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBN2-0006Xf-Qm; Thu, 11 Aug 2022 16:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384797.620345; Thu, 11 Aug 2022 16:49:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBN2-0006We-K9; Thu, 11 Aug 2022 16:49:20 +0000
Received: by outflank-mailman (input) for mailman id 384797;
 Thu, 11 Aug 2022 16:49:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBN1-0003s9-5c
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:19 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a279d32-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:18 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a279d32-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236557;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=t6+BU0EnWCm/vG2lzwqGir5k7zNv5buwu52uFlyPjUo=;
  b=WMJEVobZgCdcTj4551wJAWJe+3bkHGEJq2vIITlYHDema7NOuHHnFKoj
   EQRQYm52iI8dBuNrR2flkUX2v/q0Swp6ePiPM72SwRStyhXcM7GQ7Ock9
   KVH/R/rJkk8bnekbM/4G7rf7ZVXLCAHzF+5I0Wb3F7FblkIGwh+QcYF/Y
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77893921
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:lHfRe6nKpApFlm1UP5jwDNXo5gyHJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJLUGyFbq6PZTbzet8gbN+y/UxS6JPWy99lHAQ+qCE3RiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K2r4GlwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kNfoIq495wHlhl+
 MMyARctfDPEv/+plefTpulE3qzPLeHuNYIb/Hph0SvYHbAtRpWrr6fivIECmm1q34YXQKiYN
 5FxhTlHNXwsZzVGPEsXD5Qv2v+lnHDlfxVTqU6PpLpx6G/WpOB0+OeyYIuOK4bTLSlTtneG/
 XzEomHoOztEJZuyjmTc1nesrcaayEsXX6pNTeblp5aGmma7zGEJFAcfU1f9pPCjk1O/QPpWM
 UlS8S0rxYAt8GS7Q9+7WAe3yFaUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebT4lz
 FiShPvyGCdi9raSTBqgGqy89G3of3JPdClbOHFCHVBtD8TfTJ8btVHAfM9bF7GMpdDKMxjX4
 yKp6xAjmOBG5SIU7JlX7Wwrkhr1+MaRFl9qv1yJNo62xlgnPdD4PuRE/XCetK8dd9jBEzFtq
 VBew6CjAPYy4YZhfcBnaMEEB/mX6vmMK1UwanY/TsB6p1xBF5NOFL28AQ2Sx28za67ogRezP
 CfuVfp5vfe/xkeCY65teJ6WAM8316XmHtmNfqmKMIIWPcAoJV/apnsGiausM4fFziARfVwXY
 8/HIa5A815DYUiY8NZGb7hEiuJ6rszP7WjSWYr633ya7FZqX1bMEO9tGAbfMYgEAFas+lq9H
 yB3a5TXkH2ykYTWPkHqzGLkBQxTcSRnWMum95U/myzqClMOJVzNwsT5mdsJE7GJVYwM/gsU1
 hlRgnNl9Wc=
IronPort-HdrOrdr: A9a23:Ck9m36n4nj6tF//ad5Ynb8arHyHpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7gr5OUtQ4exoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCFHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77893921"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v4 13/32] libs/libs.mk: Remove the need for $(PKG_CONFIG_INST)
Date: Thu, 11 Aug 2022 17:48:26 +0100
Message-ID: <20220811164845.38083-14-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

We can simply use $(PKG_CONFIG) to set the parameters, and add it to
$(TARGETS) as necessary.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 tools/libs/libs.mk | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index e02f91f95e..7aee449370 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -37,10 +37,10 @@ PKG_CONFIG_LIB := $(LIB_FILE_NAME)
 PKG_CONFIG_REQPRIV := $(subst $(space),$(comma),$(strip $(foreach lib,$(patsubst ctrl,control,$(USELIBS_$(LIBNAME))),xen$(lib))))
 
 ifneq ($(CONFIG_LIBXC_MINIOS),y)
-PKG_CONFIG_INST := $(PKG_CONFIG)
-$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
-$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
-$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+TARGETS += $(PKG_CONFIG)
+$(PKG_CONFIG): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG): PKG_CONFIG_LIBDIR = $(libdir)
 endif
 
 PKG_CONFIG_LOCAL := $(PKG_CONFIG_DIR)/$(PKG_CONFIG)
@@ -55,7 +55,7 @@ $(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_INCLUDE)
 $(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
 
 .PHONY: all
-all: headers.chk $(TARGETS) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL) libxen$(LIBNAME).map $(LIBHEADERS)
+all: headers.chk $(TARGETS) $(PKG_CONFIG_LOCAL) libxen$(LIBNAME).map $(LIBHEADERS)
 
 ifneq ($(NO_HEADERS_CHK),y)
 headers.chk:
@@ -127,7 +127,6 @@ clean::
 	rm -rf $(TARGETS) *~ $(DEPS_RM) $(OBJS-y) $(PIC_OBJS)
 	rm -f lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR) lib$(LIB_FILE_NAME).so.$(MAJOR)
 	rm -f headers.chk headers.lst
-	rm -f $(PKG_CONFIG)
 
 .PHONY: distclean
 distclean: clean
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384798.620350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBN3-0006e1-IZ; Thu, 11 Aug 2022 16:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384798.620350; Thu, 11 Aug 2022 16:49:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBN3-0006cO-4s; Thu, 11 Aug 2022 16:49:21 +0000
Received: by outflank-mailman (input) for mailman id 384798;
 Thu, 11 Aug 2022 16:49:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBN1-0003Aq-Ep
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:19 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8991fb32-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:18 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8991fb32-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236558;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=bUOi3WNc8oZFZzCNM4EoNrFdmqodDZX34IS+jodiKpU=;
  b=dN/QJmGl+E1J8AFUSvoBbfrhpgGmGsE4Cb0KLvREZ9zFUjsseW/YoNqQ
   r8mfAH8EPG67qn2rq4hz4RIatUaJ/GJyy9IcgTxfMU9/4xpIrkWbgCyK4
   /0NzafJhMtjBKGyU0+0tOfuL/fFMNB5F0EZ3IWxQF2fIleDl0bZcokIyC
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80449000
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:BgLCHKJ4Z7WBzAExFE+R15UlxSXFcZb7ZxGr2PjKsXjdYENShDwPm
 GoZCzrTO/fbZmrwLYt2Ot7ipkkBv5/Sm4BhHgdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Us11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE298/FkQ5L6gjo8FzInFHy
 uIaETAnV0XW7w626OrTpuhEg80iKI/gPZ8Fu2EmxjbcZRokacmdGeOQv4YehWpuwJAVdRrdT
 5NxhT5HZRLcYxpJKxEPBYg3huuAjXjjaTxI7lmSoMLb5kCDlFAtgeC1aLI5fPSGH9lEgRjEm
 ljm2Fn5IC4EL5uj1QSspyfEaujnwnqgBdN6+KeD3vRnmkGJz2ofThgfT0KmoOKRg1S7HdlYL
 iQ85S4GvaU0skuxQbHVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQku9UxXicCz
 UKSkpXiAjkHjVGOYSvDrPHO92r0YHVLaz9ZDcMZcecby8HJ8Zs2gQDqdY9EFI2lh+LrGwjw6
 Qnf+UDSmI4vYd43O7STpA6Z22r9+cGQEGbZ9S2MADv7s1oRiJqNItXxtAOFtasowJOxFAHpg
 ZQSpySJAAni57mpnTfFfugCFarBCx2tYGyF2g4H83XMGl2QF5+fkWN4umgWyL9BaJpsRNMQS
 Ba7VfltzJFSJmC2SqR8fpi8Dc8npYC5S4q9Dq+MN4seP8IrHONiwM2JTRD44owQuBJ0zfFX1
 WmzKK5A8kr2+Yw4lWHrFo/xIJcgxzwkxHO7eK0XOy+PiOPGDFbIGOhtDbd7RrpmhE9yiFmKr
 o032grj40k3bdASlQGLqNJPcQ1RfSRibX00wuQOHtO+zsNdMDlJI5fsLXkJJ+SJQ4w9ej/0w
 0yA
IronPort-HdrOrdr: A9a23:+r1HwKCOkpHHAgPlHemU55DYdb4zR+YMi2TC1yhKJyC9Ffbo8f
 xG/c5rrSMc5wxwZJhNo7y90ey7MBbhHP1OkO4s1NWZLWrbUQKTRekIh+bfKn/baknDH4ZmpN
 5dmsNFaeEYY2IUsS+D2njbL+od
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="80449000"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v4 12/32] libs/libs.mk: Rename $(LIB) to $(TARGETS)
Date: Thu, 11 Aug 2022 17:48:25 +0100
Message-ID: <20220811164845.38083-13-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 tools/libs/libs.mk | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index 58d8166b09..e02f91f95e 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -23,9 +23,9 @@ LDLIBS += $(foreach lib, $(USELIBS_$(LIBNAME)), $(LDLIBS_libxen$(lib)))
 PIC_OBJS := $(OBJS-y:.o=.opic)
 
 LIB_FILE_NAME = $(FILENAME_$(LIBNAME))
-LIB := lib$(LIB_FILE_NAME).a
+TARGETS := lib$(LIB_FILE_NAME).a
 ifneq ($(nosharedlibs),y)
-LIB += lib$(LIB_FILE_NAME).so
+TARGETS += lib$(LIB_FILE_NAME).so
 endif
 
 PKG_CONFIG ?= $(LIB_FILE_NAME).pc
@@ -55,7 +55,7 @@ $(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_INCLUDE)
 $(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
 
 .PHONY: all
-all: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL) libxen$(LIBNAME).map $(LIBHEADERS)
+all: headers.chk $(TARGETS) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL) libxen$(LIBNAME).map $(LIBHEADERS)
 
 ifneq ($(NO_HEADERS_CHK),y)
 headers.chk:
@@ -124,7 +124,7 @@ TAGS:
 
 .PHONY: clean
 clean::
-	rm -rf $(LIB) *~ $(DEPS_RM) $(OBJS-y) $(PIC_OBJS)
+	rm -rf $(TARGETS) *~ $(DEPS_RM) $(OBJS-y) $(PIC_OBJS)
 	rm -f lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR) lib$(LIB_FILE_NAME).so.$(MAJOR)
 	rm -f headers.chk headers.lst
 	rm -f $(PKG_CONFIG)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384801.620362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBN6-0007OD-1j; Thu, 11 Aug 2022 16:49:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384801.620362; Thu, 11 Aug 2022 16:49:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBN5-0007KG-P0; Thu, 11 Aug 2022 16:49:23 +0000
Received: by outflank-mailman (input) for mailman id 384801;
 Thu, 11 Aug 2022 16:49:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBN3-0003Aq-DN
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:21 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b44c487-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:20 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b44c487-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236560;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=OlPVmttWbfxru1ipdHV5J3q6iQpuewLRL8Acv8ppp/4=;
  b=DGMyvuWFQm9J9AsKIUTS1WRxQ4igH+5ijF57Bkx8jdfgPUFM6hRC/DZ7
   ea/NcbpqkcLny9FqH9JBXblfUX1mPvxyvGWRYUFoPqA9zYqlS4uMu6w7i
   W+DYGKPdTgF5THZl5wUOeJKml4+llKpzv4gdm/0FAGaed5C/WQEwfq7wg
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80449013
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Yy9cUaDLkqfJnhVW/y/jw5YqxClBgxIJ4kV8jS/XYbTApDgi0DUAy
 WFNCmuBbP6CZ2b1co8kPYvg/U4Bu8LRxtVqQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEsvvb8nuDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW2Du6PlvE1wTBK8d/fZTLGhv1
 uAgIglYO3hvh8ruqF66Yuxlh8BlJ8j3JoIP/HpnyFk1D95/H8qFGf+To4YFgnFg3aiiHt6HD
 yYdQTNpcBTHZQwJIloNAYgytOypmmP+Y3tTr1f9Sa8fszCPkF0pieOF3Nz9VdmFaOdTr3+ig
 kH07WPLCykWMO2h4G/Qmp6rrrCWxn6qMG4IL5Wy++R2mlSVyioWAQcPSFqgifCjjwi1XNc3A
 1MQ0jojq+417kPDZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpatM8s9QtbSc3z
 VLPlNTsbQGDq5XMFyjbrO3N62rvZ25FdgfueBPoUyMe4fLvoZ4uqyvtS9FzNIO8r/7pITvJl
 mXiQDcFu1kDsSIa//zlowif0m31/8ahoh0dvVuOAD/8hu9tTMv8PtHztwCGhRpVBNzBJmRtq
 kTojCR3AAomKZiW3BKAT+wWdF1Cz6bUaWaM6bKD8nRIythMx5JAVdoJiN2GDB01WvvogBewC
 KMphStf5YVIIFyhZrJtboS6BqwClPa+TYy6DqmFPocUOPCdkTNrGwkwDXN8Iki3yBR8+U3BE
 c7znTmQ4YYyVv08kWveqxY12r433CEurV7uqWTA503+idK2OS/KIYrpxXPUMYjVGovY/1iOm
 zueXuPWoyhivBrWPnCLrdJOdgBWdBDWx/ne8qRqSwJKGSI+cElJNhMb6ehJl1BN90iNqtr1w
 w==
IronPort-HdrOrdr: A9a23:us/JbqMoefBe4cBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3/qy
 nOpoVi6faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrJ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="80449013"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v4 14/32] libs/libs.mk: Rework target headers.chk dependencies
Date: Thu, 11 Aug 2022 17:48:27 +0100
Message-ID: <20220811164845.38083-15-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

There is no need to call the "headers.chk" target when it isn't
wanted, so it never need to be .PHONY.

Also, there is no more reason to separate the prerequisites from the
recipe.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 tools/libs/libs.mk | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index 7aee449370..f778a7df82 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -55,22 +55,20 @@ $(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_INCLUDE)
 $(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
 
 .PHONY: all
-all: headers.chk $(TARGETS) $(PKG_CONFIG_LOCAL) libxen$(LIBNAME).map $(LIBHEADERS)
+all: $(TARGETS) $(PKG_CONFIG_LOCAL) libxen$(LIBNAME).map $(LIBHEADERS)
 
 ifneq ($(NO_HEADERS_CHK),y)
-headers.chk:
+all: headers.chk
+
+headers.chk: $(LIBHEADERS) $(AUTOINCS)
 	for i in $(filter %.h,$^); do \
 	    $(CC) -x c -ansi -Wall -Werror $(CFLAGS_xeninclude) \
 	          -S -o /dev/null $$i || exit 1; \
 	    echo $$i; \
 	done >$@.new
 	mv $@.new $@
-else
-.PHONY: headers.chk
 endif
 
-headers.chk: $(LIBHEADERS) $(AUTOINCS)
-
 headers.lst: FORCE
 	@{ set -e; $(foreach h,$(LIBHEADERS),echo $(h);) } > $@.tmp
 	@$(call move-if-changed,$@.tmp,$@)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:49:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:49:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384826.620378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBNA-0008QD-SA; Thu, 11 Aug 2022 16:49:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384826.620378; Thu, 11 Aug 2022 16:49:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBNA-0008Pm-Ld; Thu, 11 Aug 2022 16:49:28 +0000
Received: by outflank-mailman (input) for mailman id 384826;
 Thu, 11 Aug 2022 16:49:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBN9-0003s9-LG
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:27 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e4d9076-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:26 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e4d9076-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236566;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=y0p9wecYa39WMmq/hIK8QCu/gWTJKL1bo3dIpGAizxw=;
  b=LXr7GhqkeV+/WVXnN+t7PyLC5lYakUZSW3m6VJjbsIK1qefuDsgz+iiu
   SRYJmAUdAuGBqG+W2i+GJQhAotMagWCGqfajhb0S2x8Wb+R+hK1nIMFbz
   5EE1oXNKO2y4bZewjobv/L67A+tnP8SWVX9wjcw1nqBv06+aXHA08D50Z
   4=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77134689
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:CzK5X6qfq+vdpDvHMWG4GGszpb9eBmJ0ZRIvgKrLsJaIsI4StFCzt
 garIBmOOf2NYWH9Kdxya4nl/U8Avp6GnYJiTFM6qiw0RSsU+JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GpB5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqVIwORaGmFv0
 scSNTkXMz282+nn6ZSCH7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8eDo4+m+G5wGHyaTRCpHqepLYt4niVxwt0uFToGIWKI4fWG5UE9qqej
 kWF8GXgAR0aCNmC8Sue8Sye1t6U3hquDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWWd1FL
 FcP0jEztqV0/0uuJvHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3ueurx6pOQkyFmUfbDVZYDRZ6IjKhrhm23ojUe1f/L6JYszdQG+um
 2jb83Fn2d3/nuZQifzloAmvbyaE48GQE1Vrvli/sneNtFsRWWKzW2C/BbE3B95kJZ3RcFSOt
 WNsdyO2vLFXVsHleMBgrYww8FCVCxWtamS0baZHRcVJythU0yfLkXpsyD9/Plx1Fc0PZCXkZ
 kTe0SsIusELZCTyNP4nPtjrYyjP8UQHPYqNaxwpRoAWPsgZmPGvpUmCmnJ8L0iyyRNxwMnTy
 L+QcNq2DGZyNJmLOAGeHr5FuZd2l39W+I8mbcqkp/hR+ebBOSX9pHZsGAfmU93VG4vY+VmJr
 4sEZ5fTo/idOcWnChTqHUcoBQhiBRAG6Vre8aS7qsbrztJaJVwc
IronPort-HdrOrdr: A9a23:CUYRL6r7OfZU6IAwYn8MA50aV5oTeYIsimQD101hICG8cqSj+f
 xG+85rsyMc6QxhIE3I9urhBEDtex/hHNtOkOws1NSZLW7bUQmTXeJfBOLZqlWKcUDDH6xmpM
 NdmsBFeaTN5DNB7PoSjjPWLz9Z+qjkzJyV
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77134689"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 15/32] tools: Introduce $(xenlibs-rpath,..) to replace $(SHDEPS_lib*)
Date: Thu, 11 Aug 2022 17:48:28 +0100
Message-ID: <20220811164845.38083-16-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This patch introduce a new macro $(xenlibs-dependencies,) to generate
a list of all the xen library that a library is list against, and they
are listed only once. We use the side effect of $(sort ) which remove
duplicates.

This is used by another macro $(xenlibs-rpath,) which is to replace
$(SHDEPS_libxen*).

In libs.mk, we don't need to $(sort ) SHLIB_lib* anymore as this was used
to remove duplicates and they are no more duplicates.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
 tools/Rules.mk     | 29 ++++++++++++++++-------------
 tools/libs/libs.mk |  2 +-
 2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 47424935ba..23979ed254 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -61,13 +61,8 @@ endif
 #           public headers. Users of libfoo are therefore transitively
 #           using libbaz's header but not linking against libbaz.
 #
-# SHDEPS_libfoo: Flags for linking recursive dependencies of
-#                libfoo. Must contain SHLIB for every library which
-#                libfoo links against. So must contain both
-#                $(SHLIB_libbar) and $(SHLIB_libbaz).
-#
 # SHLIB_libfoo: Flags for recursively linking against libfoo. Must
-#               contains SHDEPS_libfoo and:
+#               contains $(call xenlibs-rpath,foo) and:
 #                   -Wl,-rpath-link=<directory containing libfoo.so>
 #
 # CFLAGS_libfoo: Flags for compiling against libfoo. Must add the
@@ -79,23 +74,31 @@ endif
 #                libfoo.
 #
 # LDLIBS_libfoo: Flags for linking against libfoo. Must contain
-#                $(SHDEPS_libfoo) and the path to libfoo.so
+#                $(call xenlibs-rpath,foo) and the path to libfoo.so
 #
 # Consumers of libfoo should include $(CFLAGS_libfoo) and
 # $(LDLIBS_libfoo) in their appropriate directories. They should not
 # include any CFLAGS or LDLIBS relating to libbar or libbaz unless
 # they use those libraries directly (not via libfoo) too.
-#
-# Consumers of libfoo should not directly use $(SHDEPS_libfoo) or
-# $(SHLIB_libfoo)
+
+# Give the list of Xen library that the libraries in $(1) are linked against,
+# directly or indirectly.
+define xenlibs-dependencies
+    $(sort $(foreach lib,$(1), \
+        $(USELIBS_$(lib)) $(call xenlibs-dependencies,$(USELIBS_$(lib)))))
+endef
+
+# Flags for linking recursive dependencies of Xen libraries in $(1)
+define xenlibs-rpath
+    $(addprefix -Wl$(comma)-rpath-link=$(XEN_ROOT)/tools/libs/,$(call xenlibs-dependencies,$(1)))
+endef
 
 define LIB_defs
  FILENAME_$(1) ?= xen$(1)
  XEN_libxen$(1) = $$(XEN_ROOT)/tools/libs/$(1)
  CFLAGS_libxen$(1) = $$(CFLAGS_xeninclude)
- SHDEPS_libxen$(1) = $$(foreach use,$$(USELIBS_$(1)),$$(SHLIB_libxen$$(use)))
- LDLIBS_libxen$(1) = $$(SHDEPS_libxen$(1)) $$(XEN_libxen$(1))/lib$$(FILENAME_$(1))$$(libextension)
- SHLIB_libxen$(1) = $$(SHDEPS_libxen$(1)) -Wl,-rpath-link=$$(XEN_libxen$(1))
+ SHLIB_libxen$(1) = $$(call xenlibs-rpath,$(1)) -Wl,-rpath-link=$$(XEN_libxen$(1))
+ LDLIBS_libxen$(1) = $$(call xenlibs-rpath,$(1)) $$(XEN_libxen$(1))/lib$$(FILENAME_$(1))$$(libextension)
 endef
 
 $(foreach lib,$(LIBS_LIBS),$(eval $(call LIB_defs,$(lib))))
diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index f778a7df82..d7e1274249 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -32,7 +32,7 @@ PKG_CONFIG ?= $(LIB_FILE_NAME).pc
 PKG_CONFIG_NAME ?= Xen$(LIBNAME)
 PKG_CONFIG_DESC ?= The $(PKG_CONFIG_NAME) library for Xen hypervisor
 PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
-PKG_CONFIG_USELIBS := $(sort $(SHLIB_libxen$(LIBNAME)))
+PKG_CONFIG_USELIBS := $(SHLIB_libxen$(LIBNAME))
 PKG_CONFIG_LIB := $(LIB_FILE_NAME)
 PKG_CONFIG_REQPRIV := $(subst $(space),$(comma),$(strip $(foreach lib,$(patsubst ctrl,control,$(USELIBS_$(LIBNAME))),xen$(lib))))
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384880.620410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWu-0004Hv-20; Thu, 11 Aug 2022 16:59:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384880.620410; Thu, 11 Aug 2022 16:59:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWt-0004H4-Tn; Thu, 11 Aug 2022 16:59:31 +0000
Received: by outflank-mailman (input) for mailman id 384880;
 Thu, 11 Aug 2022 16:59:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNd-0003Aq-9y
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:57 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e4059c7-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:52 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e4059c7-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236592;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=CGFwXlrWynx6TK1V9fLINkj8ydS6NN68SzpiLukviOo=;
  b=Bbcn02x9t6ELcMfDYy/1g51p4uiVIBNSpL61EQ27vLlbj2WSyh93IuKM
   OtcWp1TQ/MiJqTSvS9/oYfiUNjtQcUqj54/FK68Yr0y4Pczfe1sJVdH+1
   wxDQu5UdS9jOJX+QWsvfmX20inmGlCHN2Paid7q0G0ujaj1QcaqVIai5P
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77898119
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AYZv2BKI7U4ZZJOR0FE//H55y6k4xRxNeGxP+q?=
 =?us-ascii?q?gilJ80cmdWY4AxU5fiJA7t6h/JklmHkQqc++bkUhDt+1aKTYknsPwqF0fTr+?=
 =?us-ascii?q?p2GHfAGGAa+5RFE2PFMpiHviMVW1pg09echHfxEm4CRUTqZzBJ/FnhQRbdfs?=
 =?us-ascii?q?R08ONa+vl/4QdmsU3m8Bu7zUrmmKM/3EY4gLoMCBTT+AMlxqHaXYMsuATrh2?=
 =?us-ascii?q?jPN5IqhX/ykw8/siy6gl63hjmE8TBKIpsN+5TmQo+WuW4R/0eoEpWBo+wuRR?=
 =?us-ascii?q?mtFXXJ6n0zzC+ISzr/wT9FrDAkSzjDtOl2yi6QmZNNULEqcaPhPwqidLKtNZ?=
 =?us-ascii?q?lItLzlAynFoGQI4wcxpgqnNH3+GTiRzeRNkORLoqXnDleZkozoVkcq6OEGjJ?=
 =?us-ascii?q?4DpdSHTEPaOBFC1iAFYKrFu5OcGOdIHY1lDAyHUHTZWKIoJimp88cKTBxvxP?=
 =?us-ascii?q?PrYHFU5kxex7GMzIymPlrl/MdaJXGSlQsnytm3O41AuDsERw+k7Mh/x/+Grg?=
 =?us-ascii?q?2iYISO6zNbc5IfLS69a1zCR1nSkOsUXXAtF2/oQXL9kGNL1QZ+RLm3chRFQS?=
 =?us-ascii?q?+Kf1FjEwc1YzQOHcOxPd1IF58tAI8ABvFZpjppwuWdvnsqyHPytppsraehVa?=
 =?us-ascii?q?b/ddlkDXu5ouzF25sTO7JBp6QCtRT0y7Z0AaVUC4tGNOqg8NKg6az5UiLkbE?=
 =?us-ascii?q?/o8DNjxFHBR402k4anDjLbpungvrSKDmj0geTgejp0bx1aIXA59X7bkRJT71?=
 =?us-ascii?q?PLhuvL99iSISlhpn/Jm9oSjXonop1D+w1ATEtpUq4sMQr6JA3VPQku0KWaHH?=
 =?us-ascii?q?erL0OpXgKB54ukNRh8IBtmlYK7PLBg0NB+LgnvFI4vcY2unnO/tTu13c54Rl?=
 =?us-ascii?q?wLNcc37kl/2RYoyZlkW6hmdM6LsOTmY9GKwILWG6d8qiVpJ/6YyksI3D7MiV?=
 =?us-ascii?q?jZ6OIOg+pefNPAlCRUu4Aho5Wfu9TSTXgaRyv0DHn9+RT4qRpbBJjaebjn4h?=
 =?us-ascii?q?vHAHZBgqjt9Q3UVc+wMk5QvppATYGp4igUZYkVUXSSAkTowK+4ArRiha21Qt?=
 =?us-ascii?q?daBZYIaKukbKpKP3r/vQzTzyrwCAGv7mZfu47EkSesWU+xVMDfnCuqIlW/XA?=
 =?us-ascii?q?iNzejZYH2kFZVy4YL+sxLRjemYwcUOpOWG5vzpV0lR5eCGz/7u6ezlpA4+OT?=
 =?us-ascii?q?qgCYNR30TqxaGZx6XyORo19/sb8TpPoa6kZJfAgHvd/IymXtCSs2lTc3EtnV?=
 =?us-ascii?q?kfPP7APPbKuvvH0QtULnszGIziCQniY0IwIdYaY8CkxkD0K4kUCJpBFoYTX2?=
 =?us-ascii?q?KCyXyElOmL/Q8dwZzg9fG14bO7TJaqdH7pQbzg9n8qgJkNZY8xkZ+GjV5E+X?=
 =?us-ascii?q?lJly9AkPphLauAHH46Hh67fH4C5cfpYnet0UzjhI252AD5SccncGG8wcn9mJ?=
 =?us-ascii?q?NA57AVqH+M2Tnzlj9nZdbeucIL/qzP87S5TJpljYXtj9FJgWVMDPVl7A0zad?=
 =?us-ascii?q?R5sETBnCFLvcb1FLN/bdAqjPq1zTnjQjdAV8jxPXcS3g3l3qgyH2pOytpeqf?=
 =?us-ascii?q?3z99XEQP5voO/Yft1jMV0Czz8aDppOw8LiEpA0Evz7JS+EEHojFh3vAzCkFu?=
 =?us-ascii?q?9JybHIN5zhjHgU+X/RV3+NTyWSBY0w2z1hvyRY1dSyOdPUHLFjPmlVXqDAch?=
 =?us-ascii?q?Z9dv9XOmMCAE6jNLNqYMk8cEEqDLroE27T+/mKQXOXD4kKD5zSV6RD2DWjzp?=
 =?us-ascii?q?4KfHKUBs5zJQhQ6/tZfFAZ87NCKZAR8EfDnBv620lNi84orif9SqzxSZARLH?=
 =?us-ascii?q?Uvh9IwlA7PL94HvjQWPV+wvlFREKWCicE0G1a56y23m7w6q+QGvGu723Yq+R?=
 =?us-ascii?q?93GMCvgZ1JatcOVu/QO6tI3rtp4tr2AIbei35It8eTw25hkMqt6klJuPjtH3?=
 =?us-ascii?q?eD5o5xjWEwJhSuGT9DMzHN8CaC36RwJENXcTwVyiPT6PJL+50Td/Cs+4oC7T?=
 =?us-ascii?q?DTZGibfkMyu52wqeD/e9gFV1XkmSyL7BrrCEb/+JL9MoCzrxI0/H0wXUfeLk?=
 =?us-ascii?q?IhRfvH2/c/Auwjetx2DTagZ1CbcoFrQON/crnxw379TMEK1p3uiHqXz9MoN+?=
 =?us-ascii?q?DxNui/iX105cPDqLOFdxOSMYJBkYs5/NlEiM99sUmkprHOYR+H3zt+Iui2u1?=
 =?us-ascii?q?wwFr5pTthDuWFQjeguhpFQCW+oi3rk5GG+GLVFOkQvU2NlLmXoB9aTAD57K3?=
 =?us-ascii?q?ixJjMgWCnL5w61KXZXTF+xIfyhazqasqcUuQuQ6T7IaWNsbAjFExnsFHdLws?=
 =?us-ascii?q?Ll50WNOsLAhISbmZ/EvrkC9JNKMX7mzwzimxE6X9FZFmmjlRwBLcte4MpElP?=
 =?us-ascii?q?SeZPZFnHwx48188BkWfNFOb8ffzlF5l+5pDPdGm1AfuwX2kMFg1sm89GKWgA?=
 =?us-ascii?q?cX9JEV93nujf/VyFnjua9Z9Z5zeOr4vPAONj2gbTcLnBWgQHeoo6wUqvUSIJ?=
 =?us-ascii?q?A18DfJnJFtaiQi6Lrcd6p6uy88Gp/W4RnWdtnwUJeWkPHOWAZj3+7zgbPdTR?=
 =?us-ascii?q?lN2+s9yj5knaHYsEkdkoN2KLZSjkU52krNDLTFpvALx62ofuCUudifTCBoN6?=
 =?us-ascii?q?Vn3oUTq5lvSlotQLdT3SkVZyzPDVoeTt7mlMXhk6+UkZMfFwBBDen763VjY9?=
 =?us-ascii?q?NPvLJ0BRSD74X41ONOZJttjeF/jE9FhM8fFRbotO/s0WZ1FQpB7x8yIexsdd?=
 =?us-ascii?q?GTrm+I1IWV6?=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77898119"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, "Juergen
 Gross" <jgross@suse.com>
Subject: [XEN PATCH v4 30/32] libs/light: Rework targets prerequisites
Date: Thu, 11 Aug 2022 17:48:43 +0100
Message-ID: <20220811164845.38083-31-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

No need for $(AUTOSRCS), GNU make can generate them as needed when
trying to build them as needed when trying to build the object. Also,
those two AUTOSRCS don't need to be a prerequisite of "all". As for
the "clean" target, those two files are already removed via "_*.c".

We don't need $(AUTOINCS) either:
- As for both _libxl_savm_msgs*.h headers, we are adding more
  selective dependencies so the headers will still be generated as
  needed.
- "clean" rule already delete the _*.h files, so AUTOINCS aren't needed
  there.

"libxl_internal_json.h" doesn't seems to have ever existed, so the
dependency is removed.

Add few prerequisite for "libxl_internal.h" so all headers that it
depends on should be generated. And have $(SAVE_HELPER_OBJS) depends
on "libxl_internal.h".

Rework objects prerequisites, to have them dependents on either
"libxl.h" or "libxl_internal.h". "libxl.h" is not normally included
directly in the source code as "libxl_internal.h" is used instead. But
we are adding "libxl.h" as prerequisite of "libxl_internal.h", so
generated headers will still be generated as needed.

"testidl.c" doesn't depends on "libxl.h" but "testidl.o" does. Also
use automatic variables $< and $@.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/libs/light/Makefile | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 9329055c98..274e8350bb 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -147,9 +147,6 @@ LIBXL_TEST_OBJS += $(foreach t, $(LIBXL_TESTS_INSIDE),libxl_test_$t.opic)
 TEST_PROG_OBJS += $(foreach t, $(LIBXL_TESTS_PROGS),test_$t.o) test_common.o
 TEST_PROGS += $(foreach t, $(LIBXL_TESTS_PROGS),test_$t)
 
-AUTOINCS = _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h
-AUTOSRCS = _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
-
 CLIENTS = testidl libxl-save-helper
 
 SAVE_HELPER_OBJS = libxl_save_helper.o _libxl_save_msgs_helper.o
@@ -177,13 +174,13 @@ libxl_x86_acpi.o libxl_x86_acpi.opic: CFLAGS += -I$(XEN_ROOT)/tools
 $(SAVE_HELPER_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenevtchn) $(CFLAGS_libxenguest)
 
 testidl.o: CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
-testidl.c: libxl_types.idl gentest.py $(XEN_INCLUDE)/libxl.h $(AUTOINCS)
-	$(PYTHON) gentest.py libxl_types.idl testidl.c.new
-	mv testidl.c.new testidl.c
+testidl.c: libxl_types.idl gentest.py
+	$(PYTHON) gentest.py $< $@.new
+	mv -f $@.new $@
 
-all: $(CLIENTS) $(TEST_PROGS) $(AUTOSRCS) $(AUTOINCS)
+all: $(CLIENTS) $(TEST_PROGS)
 
-$(OBJS-y) $(PIC_OBJS) $(SAVE_HELPER_OBJS) $(LIBXL_TEST_OBJS) $(TEST_PROG_OBJS): $(AUTOINCS) libxl.api-ok
+$(OBJS-y) $(PIC_OBJS) $(SAVE_HELPER_OBJS) $(LIBXL_TEST_OBJS) $(TEST_PROG_OBJS): libxl.api-ok
 
 $(DSDT_FILES-y): acpi
 
@@ -195,7 +192,7 @@ libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
 	$(PERL) $^
 	touch $@
 
-_libxl.api-for-check: $(XEN_INCLUDE)/libxl.h $(AUTOINCS)
+_libxl.api-for-check: $(XEN_INCLUDE)/libxl.h
 	$(CC) $(CPPFLAGS) $(CFLAGS) -c -E $< $(APPEND_CFLAGS) \
 		-DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
 		>$@.new
@@ -207,13 +204,22 @@ _libxl_save_msgs_helper.h _libxl_save_msgs_callout.h: \
 	$(PERL) -w $< $@ >$@.new
 	$(call move-if-changed,$@.new,$@)
 
+#
+# headers dependencies on generated headers
+#
 $(XEN_INCLUDE)/libxl.h: $(XEN_INCLUDE)/_libxl_types.h
 $(XEN_INCLUDE)/libxl_json.h: $(XEN_INCLUDE)/_libxl_types_json.h
+libxl_internal.h: $(XEN_INCLUDE)/libxl.h $(XEN_INCLUDE)/libxl_json.h
 libxl_internal.h: _libxl_types_internal.h _libxl_types_private.h _libxl_types_internal_private.h
-libxl_internal_json.h: _libxl_types_internal_json.h
+libxl_internal.h: _libxl_save_msgs_callout.h
 
-$(OBJS-y) $(PIC_OBJS) $(LIBXL_TEST_OBJS) $(TEST_PROG_OBJS) $(SAVE_HELPER_OBJS): $(XEN_INCLUDE)/libxl.h
+#
+# objects dependencies on headers that depends on generated headers
+#
+$(TEST_PROG_OBJS): $(XEN_INCLUDE)/libxl.h
 $(OBJS-y) $(PIC_OBJS) $(LIBXL_TEST_OBJS): libxl_internal.h
+$(SAVE_HELPER_OBJS): $(XEN_INCLUDE)/libxl.h _libxl_save_msgs_helper.h
+testidl.o: $(XEN_INCLUDE)/libxl.h
 
 # This exploits the 'multi-target pattern rule' trick.
 # gentypes.py should be executed only once to make all the targets.
@@ -260,5 +266,4 @@ clean::
 	$(RM) testidl.c.new testidl.c *.api-ok
 	$(RM) $(TEST_PROGS) libxenlight_test.so libxl_test_*.opic
 	$(RM) -r __pycache__
-	$(RM) $(AUTOSRCS) $(AUTOINCS)
 	$(MAKE) -C $(ACPI_PATH) ACPI_BUILD_DIR=$(CURDIR) clean
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384877.620400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWt-0004AL-HJ; Thu, 11 Aug 2022 16:59:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384877.620400; Thu, 11 Aug 2022 16:59:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWt-0004AE-ED; Thu, 11 Aug 2022 16:59:31 +0000
Received: by outflank-mailman (input) for mailman id 384877;
 Thu, 11 Aug 2022 16:59:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNI-0003Aq-HJ
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:36 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93f71ad2-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93f71ad2-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236574;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=1Trsd0GfZi3ovEtSWpQIjoAN7t64kJh+RAV0yxYm0vI=;
  b=amettWsLI7OueoTswHpZSGJnbsAR2cGNi800YlARKKtvJ0U1NZ5WASS/
   3BtKJ1/GCQHhYwtuihkoc8c8Am3Ojd5juRMM3B38b0Q79cp0x5PBePkhF
   SVHNp5rCLIeFeWQqK/RqUn8P/v4429DAe5+33j3J+9K9gYzISNDiLHjEf
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77650154
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:a3o9sa6OdjGLoCRMKZviiwxRtPzHchMFZxGqfqrLsTDasY5as4F+v
 jNKWGzSa/3ZY2anfI1yadywpBtQ7J6An9ZlHgY6+H03Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5a2q4lv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJBoUFtFA5NgwO1pD+
 fokJw4CbxDYvP3jldpXSsE07igiBMziPYdZsXB81zDJS/0hRPgvQY2Tu4Uehm1pwJkTQ7COP
 KL1ahI2BPjESxRJJlcQDoN4hOqyj2PzWzZZtEiUtew85G27IAlZj+ezbYKMJ4DiqcN9mES8o
 2eY+V3COEs2Mc6AlQaj6zG2v7qa9c/8cN1LT+DpnhJwu3Wf3ncWCQEWfVKjrOOll1WlXNZCN
 00T/DFopq83nGSpQcP6RAaQu2Ofs1gXXN84O+Ez9gyl0Kff5AedQG8eQVZpdN0jnN87Q3otz
 FDht8PkA3ljvaOYTVqZ96yItnWiNC4NN2gAaCQYCwwf7LHLv4Ubnh/JCNF5H8adg9n4Hzi23
 j6LqTQliqsapckR3q6/8BbMhDfEm3TSZldrvEONBDvjt14nIt7+D2C11bTFxa1iB9rBUGfGh
 kMJl86i494BDJHWrzPYFY3hA4qVC+a53Cz02AAxR8FwqG30pRZPbqgLvmggeR4B3tIsPGawP
 RSN4V45CIp7ZiPCUENhX26m5y3GJ4DEHM+taP3bZ8EmjnNZJF7ep3EGiaJ9MgnQfKkQfUIXY
 87znT6EVypyNEie5GPeqx0h+bEq3Dsi4mjYWIr2yR+quZLHOiDNEehdaQreM7pjhE9hnOky2
 4g3Cid3408HDL2Wjtf/qOb/0mzm3VBkXMur+qS7h8aIIxZ8GXFJNsI9NYgJItU994wIx7igw
 51IchUHoLYJrSGYdF7ih7EKQO+HYKuTWlpnZHBwYQvziyR6CWtthY9GH6YKkXAc3LQL5ZZJo
 zMtJ61s3twnpuz7xgkg
IronPort-HdrOrdr: A9a23:Fx+fd687eD9CjRqMBTFuk+DgI+orL9Y04lQ7vn2YSXRuHPBw8P
 re+sjztCWE8Ar5N0tBpTntAsW9qDbnhPtICOoqTNCftWvdyQiVxehZhOOIqVDd8m/Fh4pgPM
 9bAtFD4bbLbGSS4/yU3ODBKadD/OW6
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77650154"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Christian Lindig
	<christian.lindig@citrix.com>, Wei Liu <wl@xen.org>, Elena Ufimtseva
	<elena.ufimtseva@oracle.com>, Tim Deegan <tim@xen.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Juergen Gross <jgross@suse.com>, David Scott
	<dave@recoil.org>
Subject: [XEN PATCH v4 21/32] tools: Remove -Werror everywhere else
Date: Thu, 11 Aug 2022 17:48:34 +0100
Message-ID: <20220811164845.38083-22-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Patch "tools: Add -Werror by default to all tools/" have added
"-Werror" to CFLAGS in tools/Rules.mk, remove it from every other
makefiles as it is now duplicated.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
---
 tools/console/client/Makefile   | 1 -
 tools/console/daemon/Makefile   | 1 -
 tools/debugger/kdd/Makefile     | 1 -
 tools/flask/utils/Makefile      | 1 -
 tools/fuzz/cpu-policy/Makefile  | 2 +-
 tools/misc/Makefile             | 1 -
 tools/tests/cpu-policy/Makefile | 2 +-
 tools/tests/depriv/Makefile     | 2 +-
 tools/tests/resource/Makefile   | 1 -
 tools/tests/tsx/Makefile        | 1 -
 tools/tests/xenstore/Makefile   | 1 -
 tools/xcutils/Makefile          | 2 --
 tools/xenmon/Makefile           | 1 -
 tools/xenpaging/Makefile        | 1 -
 tools/xenpmd/Makefile           | 1 -
 tools/xentop/Makefile           | 2 +-
 tools/xentrace/Makefile         | 2 --
 tools/xl/Makefile               | 2 +-
 tools/debugger/gdbsx/Rules.mk   | 2 +-
 tools/firmware/Rules.mk         | 2 --
 tools/libfsimage/common.mk      | 2 +-
 tools/libs/libs.mk              | 2 +-
 tools/ocaml/common.make         | 2 +-
 tools/xenstore/Makefile.common  | 1 -
 24 files changed, 9 insertions(+), 27 deletions(-)

diff --git a/tools/console/client/Makefile b/tools/console/client/Makefile
index e2f2554f92..62d89fdeb9 100644
--- a/tools/console/client/Makefile
+++ b/tools/console/client/Makefile
@@ -1,7 +1,6 @@
 XEN_ROOT=$(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenstore)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
diff --git a/tools/console/daemon/Makefile b/tools/console/daemon/Makefile
index 99bb33b6a2..9fc3b6711f 100644
--- a/tools/console/daemon/Makefile
+++ b/tools/console/daemon/Makefile
@@ -1,7 +1,6 @@
 XEN_ROOT=$(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenstore)
 CFLAGS += $(CFLAGS_libxenevtchn)
diff --git a/tools/debugger/kdd/Makefile b/tools/debugger/kdd/Makefile
index 26116949d4..a72ad3b1e0 100644
--- a/tools/debugger/kdd/Makefile
+++ b/tools/debugger/kdd/Makefile
@@ -1,7 +1,6 @@
 XEN_ROOT = $(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS  += -Werror
 CFLAGS  += $(CFLAGS_libxenctrl)
 CFLAGS  += -DXC_WANT_COMPAT_MAP_FOREIGN_API
 LDLIBS  += $(LDLIBS_libxenctrl)
diff --git a/tools/flask/utils/Makefile b/tools/flask/utils/Makefile
index 6be134142a..88d7edb6b1 100644
--- a/tools/flask/utils/Makefile
+++ b/tools/flask/utils/Makefile
@@ -1,7 +1,6 @@
 XEN_ROOT=$(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror
 CFLAGS += $(CFLAGS_libxenctrl)
 
 TARGETS := flask-loadpolicy flask-setenforce flask-getenforce flask-label-pci flask-get-bool flask-set-bool
diff --git a/tools/fuzz/cpu-policy/Makefile b/tools/fuzz/cpu-policy/Makefile
index 41a2230408..6e7743e0aa 100644
--- a/tools/fuzz/cpu-policy/Makefile
+++ b/tools/fuzz/cpu-policy/Makefile
@@ -17,7 +17,7 @@ install: all
 
 .PHONY: uninstall
 
-CFLAGS += -Werror $(CFLAGS_xeninclude) -D__XEN_TOOLS__
+CFLAGS += $(CFLAGS_xeninclude) -D__XEN_TOOLS__
 CFLAGS += $(APPEND_CFLAGS) -Og
 
 vpath %.c ../../../xen/lib/x86
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 0e02401227..1c6e1d6a04 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -1,7 +1,6 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
 CFLAGS += $(CFLAGS_libxenevtchn)
diff --git a/tools/tests/cpu-policy/Makefile b/tools/tests/cpu-policy/Makefile
index 93af9d76fa..c5b81afc71 100644
--- a/tools/tests/cpu-policy/Makefile
+++ b/tools/tests/cpu-policy/Makefile
@@ -36,7 +36,7 @@ install: all
 uninstall:
 	$(RM) -- $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/,$(TARGETS))
 
-CFLAGS += -Werror -D__XEN_TOOLS__
+CFLAGS += -D__XEN_TOOLS__
 CFLAGS += $(CFLAGS_xeninclude)
 CFLAGS += $(APPEND_CFLAGS)
 
diff --git a/tools/tests/depriv/Makefile b/tools/tests/depriv/Makefile
index 3cba28da25..7d9e3b01bb 100644
--- a/tools/tests/depriv/Makefile
+++ b/tools/tests/depriv/Makefile
@@ -1,7 +1,7 @@
 XEN_ROOT=$(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror -Wno-declaration-after-statement
+CFLAGS += -Wno-declaration-after-statement
 
 CFLAGS += $(CFLAGS_xeninclude)
 CFLAGS += $(CFLAGS_libxenctrl)
diff --git a/tools/tests/resource/Makefile b/tools/tests/resource/Makefile
index b3cd70c06d..a5856bf095 100644
--- a/tools/tests/resource/Makefile
+++ b/tools/tests/resource/Makefile
@@ -27,7 +27,6 @@ install: all
 uninstall:
 	$(RM) -- $(DESTDIR)$(LIBEXEC_BIN)/$(TARGET)
 
-CFLAGS += -Werror
 CFLAGS += $(CFLAGS_xeninclude)
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenforeginmemory)
diff --git a/tools/tests/tsx/Makefile b/tools/tests/tsx/Makefile
index d7d2a5d95e..a4f516b725 100644
--- a/tools/tests/tsx/Makefile
+++ b/tools/tests/tsx/Makefile
@@ -26,7 +26,6 @@ uninstall:
 .PHONY: uninstall
 uninstall:
 
-CFLAGS += -Werror
 CFLAGS += -I$(XEN_ROOT)/tools/libs/ctrl -I$(XEN_ROOT)/tools/libs/guest
 CFLAGS += $(CFLAGS_xeninclude)
 CFLAGS += $(CFLAGS_libxenctrl)
diff --git a/tools/tests/xenstore/Makefile b/tools/tests/xenstore/Makefile
index 239e1dce47..202dda0d3c 100644
--- a/tools/tests/xenstore/Makefile
+++ b/tools/tests/xenstore/Makefile
@@ -27,7 +27,6 @@ install: all
 uninstall:
 	$(RM) -- $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/,$(TARGETS))
 
-CFLAGS += -Werror
 CFLAGS += $(CFLAGS_libxenstore)
 CFLAGS += $(APPEND_CFLAGS)
 
diff --git a/tools/xcutils/Makefile b/tools/xcutils/Makefile
index e40a2c4bfa..3687f6cd8f 100644
--- a/tools/xcutils/Makefile
+++ b/tools/xcutils/Makefile
@@ -13,8 +13,6 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 TARGETS := readnotes lsevtchn
 
-CFLAGS += -Werror
-
 CFLAGS_readnotes.o  := $(CFLAGS_libxenevtchn) $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest)
 CFLAGS_lsevtchn.o   := $(CFLAGS_libxenevtchn) $(CFLAGS_libxenctrl)
 
diff --git a/tools/xenmon/Makefile b/tools/xenmon/Makefile
index 3e150b0659..679c4b41a3 100644
--- a/tools/xenmon/Makefile
+++ b/tools/xenmon/Makefile
@@ -13,7 +13,6 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS  += -Werror
 CFLAGS  += $(CFLAGS_libxenevtchn)
 CFLAGS  += $(CFLAGS_libxenctrl)
 LDLIBS  += $(LDLIBS_libxenctrl)
diff --git a/tools/xenpaging/Makefile b/tools/xenpaging/Makefile
index e2ed9eaa3f..835cf2b965 100644
--- a/tools/xenpaging/Makefile
+++ b/tools/xenpaging/Makefile
@@ -12,7 +12,6 @@ OBJS-y   += xenpaging.o
 OBJS-y   += policy_$(POLICY).o
 OBJS-y   += pagein.o
 
-CFLAGS   += -Werror
 CFLAGS   += -Wno-unused
 
 TARGETS := xenpaging
diff --git a/tools/xenpmd/Makefile b/tools/xenpmd/Makefile
index e0d3f06ab2..8da20510b5 100644
--- a/tools/xenpmd/Makefile
+++ b/tools/xenpmd/Makefile
@@ -1,7 +1,6 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror
 CFLAGS += $(CFLAGS_libxenstore)
 
 LDLIBS += $(LDLIBS_libxenstore)
diff --git a/tools/xentop/Makefile b/tools/xentop/Makefile
index 7bd96f34d5..70cc2211c5 100644
--- a/tools/xentop/Makefile
+++ b/tools/xentop/Makefile
@@ -13,7 +13,7 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -DGCC_PRINTF -Werror $(CFLAGS_libxenstat)
+CFLAGS += -DGCC_PRINTF $(CFLAGS_libxenstat)
 LDLIBS += $(LDLIBS_libxenstat) $(CURSES_LIBS) $(TINFO_LIBS) $(SOCKET_LIBS) -lm
 CFLAGS += -DHOST_$(XEN_OS)
 
diff --git a/tools/xentrace/Makefile b/tools/xentrace/Makefile
index 63f2f6532d..d50d400472 100644
--- a/tools/xentrace/Makefile
+++ b/tools/xentrace/Makefile
@@ -1,8 +1,6 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror
-
 CFLAGS += $(CFLAGS_libxenevtchn)
 CFLAGS += $(CFLAGS_libxenctrl)
 LDLIBS += $(LDLIBS_libxenevtchn)
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index b7f439121a..5f7aa5f46c 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -5,7 +5,7 @@
 XEN_ROOT = $(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
+CFLAGS += -Wno-format-zero-length -Wmissing-declarations \
 	-Wno-declaration-after-statement -Wformat-nonliteral
 CFLAGS += -fPIC
 
diff --git a/tools/debugger/gdbsx/Rules.mk b/tools/debugger/gdbsx/Rules.mk
index 920f1c87fb..0610db873b 100644
--- a/tools/debugger/gdbsx/Rules.mk
+++ b/tools/debugger/gdbsx/Rules.mk
@@ -1,6 +1,6 @@
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS   += -Werror -Wmissing-prototypes 
+CFLAGS   += -Wmissing-prototypes 
 # (gcc 4.3x and later)   -Wconversion -Wno-sign-conversion
 
 CFLAGS-$(clang) += -Wno-ignored-attributes
diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk
index 278cca01e4..d3482c9ec4 100644
--- a/tools/firmware/Rules.mk
+++ b/tools/firmware/Rules.mk
@@ -11,8 +11,6 @@ ifneq ($(debug),y)
 CFLAGS += -DNDEBUG
 endif
 
-CFLAGS += -Werror
-
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
 
 $(call cc-option-add,CFLAGS,CC,-fcf-protection=none)
diff --git a/tools/libfsimage/common.mk b/tools/libfsimage/common.mk
index 77bc957f27..4fc8c66795 100644
--- a/tools/libfsimage/common.mk
+++ b/tools/libfsimage/common.mk
@@ -2,7 +2,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 FSDIR := $(libdir)/xenfsimage
 CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ -DFSIMAGE_FSDIR=\"$(FSDIR)\"
-CFLAGS += -Werror -D_GNU_SOURCE
+CFLAGS += -D_GNU_SOURCE
 LDFLAGS += -L../common/
 
 PIC_OBJS = $(patsubst %.c,%.opic,$(LIB_SRCS-y))
diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index 2b8e7a6128..e47fb30ed4 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -14,7 +14,7 @@ MINOR ?= 0
 
 SHLIB_LDFLAGS += -Wl,--version-script=libxen$(LIBNAME).map
 
-CFLAGS   += -Werror -Wmissing-prototypes
+CFLAGS   += -Wmissing-prototypes
 CFLAGS   += $(CFLAGS_xeninclude)
 CFLAGS   += $(foreach lib, $(USELIBS_$(LIBNAME)), $(CFLAGS_libxen$(lib)))
 
diff --git a/tools/ocaml/common.make b/tools/ocaml/common.make
index d5478f626f..0c8a597d5b 100644
--- a/tools/ocaml/common.make
+++ b/tools/ocaml/common.make
@@ -9,7 +9,7 @@ OCAMLLEX ?= ocamllex
 OCAMLYACC ?= ocamlyacc
 OCAMLFIND ?= ocamlfind
 
-CFLAGS += -fPIC -Werror -I$(shell ocamlc -where)
+CFLAGS += -fPIC -I$(shell ocamlc -where)
 
 OCAMLOPTFLAG_G := $(shell $(OCAMLOPT) -h 2>&1 | sed -n 's/^  *\(-g\) .*/\1/p')
 OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F
diff --git a/tools/xenstore/Makefile.common b/tools/xenstore/Makefile.common
index 21b78b0538..ddbac052ac 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstore/Makefile.common
@@ -9,7 +9,6 @@ XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o
 XENSTORED_OBJS-$(CONFIG_FreeBSD) += xenstored_posix.o
 XENSTORED_OBJS-$(CONFIG_MiniOS) += xenstored_minios.o
 
-CFLAGS += -Werror
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
 CFLAGS += -I./include
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384876.620389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWs-0003ue-AL; Thu, 11 Aug 2022 16:59:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384876.620389; Thu, 11 Aug 2022 16:59:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWs-0003uX-6e; Thu, 11 Aug 2022 16:59:30 +0000
Received: by outflank-mailman (input) for mailman id 384876;
 Thu, 11 Aug 2022 16:59:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNQ-0003s9-NL
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:44 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98768f32-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:43 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98768f32-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236583;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/gk/zrc7mUau8n7u3084orMZkSKyjao6ioLVB6VKyZU=;
  b=cpPFQ3kzJJGr6vJFYit8uvf6uSzQuR24sSBUT/i9pzGYKr6HQQZ51o09
   NQsLMDLZsY2wPs57krO1/Ty6nuXlQKxJIB3+qflOhcM1SJmOMVcOtbYpg
   71gNux4cMRirMR0Gyj6dmyn7oTvz+xEQ4evUlB5nnXkgMetj/w7CHFX2B
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77893963
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:v94EQaLZjYN0cux2FE+RvZUlxSXFcZb7ZxGr2PjKsXjdYENS0DIAn
 zYcWm/TbqveZzOmeth2YNm+9BgG75OAnN5lGQRlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Us11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TEmMpTEnkXPpEh5vsoLWNkz
 v80MncdR0XW7w626OrTpuhEg80iKI/gPZ8Fu2EmxjbcZRokacmdGeOQv4YehWpuwJAVdRrdT
 5NxhT5HZRLcYxpJKxEPBYg3huuAjXjjaTxI7lmSoMLb5kCMk1wgi+mza7I5fPTVe+d/vEeni
 lnGoVnYCwlALdzG9DeapyfEaujnwnqgBdN6+KeD3vxlmlqI3UQIFQYbE1C8pJGRlUqWS99Zb
 UsO9UIGvaU0sUCmUNT5dxm5u2Kf+A4RXcJKFO834x3LzbDbizt1HUBdEGQHMoZ/8pZrG3p6j
 Tdlgu8FGxQ0j4CLcVOe6o6IsGyeOwIuLkMYIj8tGF5tD8bYnG0jsv7eZo89Tvbt34KsQG+YL
 yOi93Zn2ehK5SIf/+DipA2c3WrxznTcZlRtjjg7SF5J+e+QiGSNQ4WzoWbW4v9bRGpyZgnQ5
 SNU8yRyAQ1nMH1sqMBuaL9UdF1Rz6zZWAAweHY2d3Xbyxyj+mS4Yadb6yxkKUFiP64sIGG3O
 BeM4VoAtMIJZhNGiJObhKrvY/nGMIC6TYi1PhwqRoMmjmdNmP+vo3g1OB/4M5HFm0kwi6AvU
 aqmnTKXJS9DUcxPkWvpL9rxJJdxmUjSM0uPGs2gp/lmuJLCDEOopUAtbALSMrxkt/PY+W04M
 b93bqO39vmWa8WmCgG/zGLZBQliwaQTbXwul/FqSw==
IronPort-HdrOrdr: A9a23:2xFxG6yhHFVOhYBlZyFCKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZImPH7P+U4ssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkGNDSaNzlHZKjBjzVQa+xQouW6zA==
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77893963"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, "Juergen
 Gross" <jgross@suse.com>
Subject: [XEN PATCH v4 25/32] libs: Avoid exposing -Wl,--version-script to other built library
Date: Thu, 11 Aug 2022 17:48:38 +0100
Message-ID: <20220811164845.38083-26-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

$(SHLIB_LDFLAGS) is used by more targets that the single targets that
except it (libxenfoo.so.X.Y). There is also some dynamic libraries in
stats/ that uses $(SHLIB_LDFLAGS) (even if those are never built), and
there's libxenlight_test.so which doesn't needs a version script.

Also, libxenlight_test.so might failed to build if the version script
doesn't exist yet.

For these reasons, avoid changing the generic $(SHLIB_LDFLAGS) flags,
and add the flag directly on the command line.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/libs/libs.mk | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index e47fb30ed4..3eb91fc8f3 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -12,8 +12,6 @@ MAJOR := $(shell $(XEN_ROOT)/version.sh $(XEN_ROOT)/xen/Makefile)
 endif
 MINOR ?= 0
 
-SHLIB_LDFLAGS += -Wl,--version-script=libxen$(LIBNAME).map
-
 CFLAGS   += -Wmissing-prototypes
 CFLAGS   += $(CFLAGS_xeninclude)
 CFLAGS   += $(foreach lib, $(USELIBS_$(LIBNAME)), $(CFLAGS_libxen$(lib)))
@@ -85,7 +83,7 @@ lib$(LIB_FILE_NAME).so.$(MAJOR): lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR)
 	$(SYMLINK_SHLIB) $< $@
 
 lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxen$(LIBNAME).map
-	$(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,lib$(LIB_FILE_NAME).so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,lib$(LIB_FILE_NAME).so.$(MAJOR) -Wl,--version-script=libxen$(LIBNAME).map $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
 
 # If abi-dumper is available, write out the ABI analysis
 ifneq ($(ABI_DUMPER),)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384879.620405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWt-0004D1-RZ; Thu, 11 Aug 2022 16:59:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384879.620405; Thu, 11 Aug 2022 16:59:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWt-0004CM-Ll; Thu, 11 Aug 2022 16:59:31 +0000
Received: by outflank-mailman (input) for mailman id 384879;
 Thu, 11 Aug 2022 16:59:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNT-0003s9-KL
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:47 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b1c3dc9-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:46 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b1c3dc9-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236586;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=6Ciqslkc0BK3uoE16/zRFo3axUefMUHAjqrqHVfnJXw=;
  b=HZE0GY9IgBY0obIiMrzoRTY4IW1bsobJp1Vh8/9/Re7OYm3mosghL/tP
   xawcKH+ro7owbsEMlEgFhuZ0EV8Mu6d6anbuoivO7krQoUv4pl76pewov
   ehAA/+W3CM/OxqEDNYnn9zFjx+Nxkr/nt2jRMcz1QfLRRGqrLLkJVFJEF
   g=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77893971
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:OP2KqaL5HoA/ObokFE+RjJUlxSXFcZb7ZxGr2PjKsXjdYENSgzUGy
 mAXWm3Ua6rfMWHzfot+OYuw8EkH6J+Gm4c3QQdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Us11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE2tcwUW47H7Yh0NlMJ2hJ/
 vUCJRs1V0XW7w626OrTpuhEg80iKI/gPZ8Fu2EmxjbcZRokacmdGeOQv4YehWpuwJAVdRrdT
 5NxhT5HZRLcYxpJKxEPBYg3huuAjXjjaTxI7lmSoMLb5kCMk1wgi+myabI5fPTNRN5RoHbB+
 lif+nnrHR0qFvfO2TmspyfEaujnwnqgBdN6+KeD3uFuqE2ewCoUEhJ+fUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxa5UgU0AoQKVbdgsUfUl/SSs13x6nU4oiBpcf546eA7ZwcT/
 GCyudruDjV1vZatcCfInluLlg9eKRT5PEdbO3FcFVpauoC9yG0gpkmRF4g+ScZZmvWwQGitm
 G7S8UDSkp1J1aY2O7OHEUcrat5GjrzAVUYL6wreRQpJBSspNdf+N+REBbU2hMuszbp1rXHb5
 RDoY+DEsIgz4WilzURhutklErCz/OqiOzbBm1NpFJRJ323zpSb7ItgJsWEjfh0B3iM4ldjBP
 ifuVf55vscPbBNGk4cuC25ONyja5fe5Tom0PhwlRtFPfoJwZGe6wc2aXmbJhjiFuBV9zskC1
 WKzK5nE4YAyVfs6l1Jbho41jdcW+8zJ7T+KGcynkk/3jeP2ibz8Ye5tDWZip9sRtMusyDg5O
 f4FXydW432ziNHDXxQ=
IronPort-HdrOrdr: A9a23:N/0UKaA1SchAA2HlHemU55DYdb4zR+YMi2TC1yhKJyC9Ffbo8f
 xG/c5rrSMc5wxwZJhNo7y90ey7MBbhHP1OkO4s1NWZLWrbUQKTRekIh+bfKn/baknDH4ZmpN
 5dmsNFaeEYY2IUsS+D2njbL+od
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77893971"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 27/32] tools/include: Rework Makefile
Date: Thu, 11 Aug 2022 17:48:40 +0100
Message-ID: <20220811164845.38083-28-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Rework "xen-xsm" rules to not have to change directory to run
mkflask.sh, and store mkflask.sh path in a var, and use a full path
for FLASK_H_DEPEND, and output directory is made relative.

Rename "all-y" target to a more descriptive "xen/lib/x86/all".

Removed the "dist" target which was the only one existing in tools/.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/include/Makefile | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/tools/include/Makefile b/tools/include/Makefile
index b488f7ca9f..81c3d09039 100644
--- a/tools/include/Makefile
+++ b/tools/include/Makefile
@@ -7,17 +7,20 @@ include $(XEN_ROOT)/tools/Rules.mk
 # taken into account, i.e. there should be no rules added here for generating
 # any tools/include/*.h files.
 
-# Relative to $(XEN_ROOT)/xen/xsm/flask
-FLASK_H_DEPEND := policy/initial_sids
+.PHONY: all
+all: xen-foreign xen-dir xen-xsm/.dir
+ifeq ($(CONFIG_X86),y)
+all: xen/lib/x86/all
+endif
 
-.PHONY: all all-y build xen-dir
-all build: all-y xen-foreign xen-dir xen-xsm/.dir
-all-y:
+.PHONY: build
+build: all
 
 .PHONY: xen-foreign
 xen-foreign:
 	$(MAKE) -C xen-foreign
 
+.PHONY: xen-dir
 xen-dir:
 	mkdir -p xen/libelf acpi
 	find xen/ acpi/ -type l -exec rm '{}' +
@@ -36,16 +39,18 @@ ifeq ($(CONFIG_X86),y)
 	ln -s $(XEN_ROOT)/xen/include/xen/lib/x86/Makefile xen/lib/x86/
 endif
 
-all-$(CONFIG_X86): xen-dir
+.PHONY: xen/lib/x86/all
+xen/lib/x86/all: xen-dir
 	$(MAKE) -C xen/lib/x86 all XEN_ROOT=$(XEN_ROOT) PYTHON=$(PYTHON)
 
+MKFLASK := $(XEN_ROOT)/xen/xsm/flask/policy/mkflask.sh
+FLASK_H_DEPEND := $(XEN_ROOT)/xen/xsm/flask/policy/initial_sids
+
 # Not xen/xsm as that clashes with link to
 # $(XEN_ROOT)/xen/include/public/xsm above.
-xen-xsm/.dir: $(XEN_ROOT)/xen/xsm/flask/policy/mkflask.sh \
-	      $(patsubst %,$(XEN_ROOT)/xen/xsm/flask/%,$(FLASK_H_DEPEND))
+xen-xsm/.dir: $(MKFLASK) $(FLASK_H_DEPEND)
 	mkdir -p xen-xsm/flask
-	cd $(XEN_ROOT)/xen/xsm/flask/ && \
-		$(SHELL) policy/mkflask.sh $(AWK) $(CURDIR)/xen-xsm/flask $(FLASK_H_DEPEND)
+	$(SHELL) $(MKFLASK) $(AWK) xen-xsm/flask $(FLASK_H_DEPEND)
 	touch $@
 
 .PHONY: install
@@ -84,8 +89,5 @@ clean:
 	$(MAKE) -C xen-foreign clean
 	rm -f _*.h
 
-.PHONY: dist
-dist: install
-
 .PHONY: distclean
 distclean: clean
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384883.620433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWw-0004yI-KI; Thu, 11 Aug 2022 16:59:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384883.620433; Thu, 11 Aug 2022 16:59:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWw-0004y2-GR; Thu, 11 Aug 2022 16:59:34 +0000
Received: by outflank-mailman (input) for mailman id 384883;
 Thu, 11 Aug 2022 16:59:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNQ-0003Aq-7B
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:44 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 960c814e-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:37 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 960c814e-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236578;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=4HJ6zZu2n6v+FIEsm8kbGG2N7wL5T8JT/E4hq3TeoGM=;
  b=Tb6q7swrxzxtJ1Hqz8dleyO9T/bahNe9tIt6Ou8aEos9pkaLzNXLAodY
   KjQF4q5MbBPrHa6JhYX2CAM8hB+QhzLzbbXhLng1t5nb4B3mv0rHkXVVP
   N096rtsMLn8Lynw8zIEFplh1qv9GFGY1IYw3004eY3FovBsNfJXEd1Q+b
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78334380
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:hiIGY623NseRc55nxvbD5b9xkn2cJEfYwER7XKvMYLTBsI5bpzNVx
 jAcCmGEO/veYDShKot1Ydy39U8H7cSGmtZrQAJppC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Uo35pwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj6/R/XHw1OKkcwL5uAmJsx
 9s9OCgGYB/W0opawJrjIgVtrsEqLc2tN4IDoHBwizreCJ7KQ7iaHf+Mv4UBmm5t2IYeRp4yZ
 OJAAdZrRB3Gfx1IPEZREJ8klf2krnL+bydZuBSeoq9fD237k1wqi+S2YIK9ltqiHtxXl3+Uj
 W38/WHhMDMLc8yd2CGO2yf57gPItXyiA99DfFGizdZoj0eU3Xc7EwANWB2wpvzRolG6c8JSL
 QoT4CVGhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6k6nMsF2AbLoZ87YlvGGJsh
 gThc87V6SJHsazFdHGY0rOu9SqxOgonCkoSfSQKQl5QizX8m73fni4jX/46TvDt1oyqQGiuq
 9yZhHNg3utO1Kbnw43+pAma2Gz0+/AlWyZvvm3qsnSZAhSVjWJPT6ih8hDl4PlJN+51pXHR7
 SFfy6ByAA3jZKxhdRBho81XRdlFH97fbFXhbadHRvHNDQiF9X+5Zpx36zpjPkpvOctsUWa3P
 heL5lsItc8OZiHCgUpLj2WZVawXIVXIT4y5Bpg4kPIXCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mTCpYNl5DUPwP5GfnGI8gPUoDnH9WKZX7Gc+mlHxKENO2OBaodFvyGAfXMrxlsfjU/Fy9H
 hQ2H5Li9iizmdbWOkH/mbP/53hWRZTnLfgac/BqS9M=
IronPort-HdrOrdr: A9a23:LnNR96NTXvG3MsBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3/qy
 nOpoVi6faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrJ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="78334380"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, "Juergen
 Gross" <jgross@suse.com>
Subject: [XEN PATCH v4 23/32] libs/light/gentypes.py: allow to generate headers in subdirectory
Date: Thu, 11 Aug 2022 17:48:36 +0100
Message-ID: <20220811164845.38083-24-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This doesn't matter yet but it will when for example the script will
be run from tools/ to generate files tools/libs/light/.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/libs/light/gentypes.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tools/libs/light/gentypes.py b/tools/libs/light/gentypes.py
index 9a45e45acc..3fe3873242 100644
--- a/tools/libs/light/gentypes.py
+++ b/tools/libs/light/gentypes.py
@@ -584,6 +584,9 @@ def libxl_C_enum_from_string(ty, str, e, indent = "    "):
         s = indent + s
     return s.replace("\n", "\n%s" % indent).rstrip(indent)
 
+def clean_header_define(header_path):
+    return header_path.split('/')[-1].upper().replace('.','_')
+
 
 if __name__ == '__main__':
     if len(sys.argv) != 6:
@@ -598,7 +601,7 @@ if __name__ == '__main__':
 
     f = open(header, "w")
 
-    header_define = header.upper().replace('.','_')
+    header_define = clean_header_define(header)
     f.write("""#ifndef %s
 #define %s
 
@@ -648,7 +651,7 @@ if __name__ == '__main__':
 
     f = open(header_json, "w")
 
-    header_json_define = header_json.upper().replace('.','_')
+    header_json_define = clean_header_define(header_json)
     f.write("""#ifndef %s
 #define %s
 
@@ -672,7 +675,7 @@ if __name__ == '__main__':
 
     f = open(header_private, "w")
 
-    header_private_define = header_private.upper().replace('.','_')
+    header_private_define = clean_header_define(header_private)
     f.write("""#ifndef %s
 #define %s
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384888.620444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWz-0005Nh-W5; Thu, 11 Aug 2022 16:59:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384888.620444; Thu, 11 Aug 2022 16:59:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBWz-0005NR-RN; Thu, 11 Aug 2022 16:59:37 +0000
Received: by outflank-mailman (input) for mailman id 384888;
 Thu, 11 Aug 2022 16:59:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNC-0003Aq-Em
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:30 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9083ff3b-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9083ff3b-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236568;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=fHsG9B8lizzzPD6/i3Kul1uCNtvyOlPvp3xYploET6A=;
  b=SwlQjw5ZRyhr3gQwcxhpc5NwUjroick4OFZl+gpi5JDr+289RLflDMdE
   KzqveBQXm6Tz0dOceTDN5EQD2vBaiwQ4xM+4q4k6kay4NhFEXwA3yhHPw
   oM0XxuHu0M2MIcbOtJOFSSUTErFK3WrX29pJQ4k6QPtRwqhPALAtR6Q/j
   k=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77898045
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A+APeZa2eRjgzzysAofbDix16xWv30HFdZTh5N?=
 =?us-ascii?q?fl8DyL0cXcT1ZMr2eOEzzPWbIdy115diuC4uy+r1PHeSnFXDSeApxFbC0K+U?=
 =?us-ascii?q?O0llYYYIyPPm3mvWNhM752KLcE10Xgsmn+BdeF2TUlQWDDXdGdLsPJl70DSt?=
 =?us-ascii?q?Nd3SJQQMJsrO6ZHMP1habBC69VLLYUeGSf9fxq9A4sLxtays0wk3y02Bs8wY?=
 =?us-ascii?q?i5wUF8fGz5zlAsC4OW6VfDCyOw8TBBwhtP+5cGQpdyuU/RB3doDp3ho+guZR?=
 =?us-ascii?q?mMBvVJ6n0z089wSytH0P61rbwkrxjPdIt3Pm9JRGw0V8Qw1wKbZ5FLq9nKtv?=
 =?us-ascii?q?M2Dhn+UVr7g/Rn9e0HFVZ4pKT7rou+gW751+ROouShen9WzBar93k/T43PFx?=
 =?us-ascii?q?R3GRPcg0wzbXEUxyLna3VRgD7cAKbAHYWdDEynUHTKgGYIpmnj8wc7RD18Ry?=
 =?us-ascii?q?ZSJXVuPd8qAw43AhoEVfjh/9269ak/fbthJbh1TRefvldBwOitC+J7T79oqZ?=
 =?us-ascii?q?hRauPvcTaDv5gFMGrlurpZ06IquN+r9krn6vNvOlq1sc0GnCEMeM49ywTrdt?=
 =?us-ascii?q?uSj1FiWQa5h1R4E+0k/KnQh59QAtIUOkFYZroKcKHWsGfYcfbZe1duif6gQd?=
 =?us-ascii?q?S7H9tSCxcxiJPxc9cTA7+JZ+QCpWveTGo0uNe0h5dCNRlRFL624s2FAdZvWX?=
 =?us-ascii?q?4y/comGe5RClZhfG7QOmDBDIzuIWc8rsqKLohIXrfhKlnjcZi4oIwZUucXlU?=
 =?us-ascii?q?ZByWYu406eVFZzWy2SsruF6HqhXMA7x4uZctuD/l0XUQ7xJrjRvrLzbAgFcy?=
 =?us-ascii?q?4IbqFB5sgWDI8wGZzvtwcawE+U/SFaU+/g9O/Xk4HBzoApCm1UatgmANHPqu?=
 =?us-ascii?q?dKLPwEALe5XBANSOHC4qMZvgyTvucQl60Pa4YDJEOJ4lol9Qxp+eQuF0Oy7Y?=
 =?us-ascii?q?Jko68b/7S83Itikv1D1oB1R8xPMf9mm26zv/1YPjwZrhsy+QtbAingft9MM+?=
 =?us-ascii?q?+8F2LFViKVneaGK1GBML7Krvcfni27KziorYH6oJ7uZ3wQAR8eTVUYyRrQ0J?=
 =?us-ascii?q?bBmfl/gtmkGN+LPop74uJZjPdLcMGiLn4Zyu3MKJ1fLilWHjYVJ5SbfYkG49?=
 =?us-ascii?q?nRdTIA3aAt8cDSF26iL2MAAm9ct04Ab942B2+QDvHec2YuwtomCKdlb/keqQ?=
 =?us-ascii?q?SCeMCO8smCo50lpQGn9RL9qeMIIW+XJk+poFf5M0sVoBXHHhTxavASwH8P9s?=
 =?us-ascii?q?sWuEvGaZtBA8ffwGLEdJNsfDVUIHnKYDBXxfYa4sCsthD4WpqVcK5qtDjDXt?=
 =?us-ascii?q?lL6mLYmuFkEp20M7bv8ubHDhuK/DY9+v50QKcS3elnXXow9NXhuGFDghqzm+?=
 =?us-ascii?q?TNFhnk0lkwhX4DRoA9uM8olJUuuWFPb0TGVAHbeJ956bPI1wOaOPsssQLiGc?=
 =?us-ascii?q?iwKpjGjd7sLq3WDG2THMCr3zFZU8EE6GBySOi7QvJAAopaG9asiPG2jfulBR?=
 =?us-ascii?q?hJ5VnEX5T+MPcM5k3boa/d8o55f/nRx4hnXjE9rOJIPtsXBbJZHPiH0htSPd?=
 =?us-ascii?q?Pfe6ltaC0E3qAJqGM34U4QQthxRWI9GJTVLel5yN7JtrUcuG1wCrcnSDeQvt?=
 =?us-ascii?q?mGcYRoZtBhX1T69BYeSVutMwpBMuObIzmOYJZez1sBxC8bVaSfON7Gp9xUl6?=
 =?us-ascii?q?MfbJIzEFaZLx1Mn2YqUctBAdT0q8Qmqi61qfLdM1zH+udpzbNIEf/LmkdD2u?=
 =?us-ascii?q?I3buJ8JdGgE2XN4iyZJPvo275p+EpwWf+pBjl3LWGY7sbL9HCDWYxhOrV+sq?=
 =?us-ascii?q?I2pjmyKpQOX7YXBG/d/SPbBZhzjLQslXlryWYkcv5d8sCuBjgK0zuOjpy0zh?=
 =?us-ascii?q?GytVtl7nIKmldCl8M9uF5mM4xs4xpgkZEe0LkscwoOC/9csGfOl6IhmX5wr5?=
 =?us-ascii?q?sIKu6Sp7mEZXXd90Ari9OwwueEqLeLwt0fJUomgZeO4cWWoMedbLLvYRvUV+?=
 =?us-ascii?q?UWBGq5++fsNlcdJK2imlyHqWYFbjtKnH+//DnNDGD1HZOA/wRyfkJ2brkPsn?=
 =?us-ascii?q?5Q0ztLOB1u3Xf2FKsZpgHHbn5hEDL4hRM4c4rAMr1g+qGXM11rwCrkJ5h3B3?=
 =?us-ascii?q?W+XYBwl7DwBQgMU9KAgvkwBdV7uWUPF/OdHuuB8K2iXlpPMJphu+3+BhCUkt?=
 =?us-ascii?q?NVdbxXBKPsF+Ne2e/4A7HsAMgH9e/O9HeRePaJ1zm9Ltaah/gFIQLXA4zImu?=
 =?us-ascii?q?CI5RvdVg1oSgFlzmoTk8Iqw6hAWfItM1ok8pSJ8DdlN2qlxWVZQ/0zM956RL?=
 =?us-ascii?q?g3CofzJdbKoQzb3P/iYoyiNTbiFUY7WP4ehkGe4Koz/sfoV3hG++Utd0caI0?=
 =?us-ascii?q?AOa6pAOJtAge3L7o/zo9l7HClxNpeNFrqZaP06pphEmQi1ht9Yghglv/TZYm?=
 =?us-ascii?q?wZDkpyvBKlz4R3bvpwdIlwa7ryWHGHIkru4LhHYNAAdeyYkqZ3q0qZMn/Cp8?=
 =?us-ascii?q?S+Sgg/Db12JhQO1bIRH0ea8nWLShaI9BthIVK1YR2IBORshAEU3qn6h/VXim?=
 =?us-ascii?q?YD1tPCFsTbsfK+KmWdH7voCEBa9lI7Nuc9CGDcgfnAGZkPMUjild5qD0ChF8?=
 =?us-ascii?q?h2ezCXvvzn3Qr4ZNa93YSVtyjSzq1YBESQ3aMc2Sa3+y8y4jltJwwU22uf2u?=
 =?us-ascii?q?e0OoXYZWODnX4mb?=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77898045"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 08/32] tools/xentrace: rework Makefile
Date: Thu, 11 Aug 2022 17:48:21 +0100
Message-ID: <20220811164845.38083-9-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Remove "build" targets.

Use "$(TARGETS)" to list binary to be built.

Cleanup "clean" rule.

Also drop conditional install of $(BIN) and $(LIBBIN) as those two
variables are now always populated.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - also use := for BIN, SBIN, LIBBIN, SCRIPTS
    
    v2:
    - fix typo in title
    - drop conditional install of $(BIN) and $(LIBBIN)

 tools/xentrace/Makefile | 27 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/tools/xentrace/Makefile b/tools/xentrace/Makefile
index 9fb7fc96e7..63f2f6532d 100644
--- a/tools/xentrace/Makefile
+++ b/tools/xentrace/Makefile
@@ -9,41 +9,36 @@ LDLIBS += $(LDLIBS_libxenevtchn)
 LDLIBS += $(LDLIBS_libxenctrl)
 LDLIBS += $(ARGP_LDFLAGS)
 
-BIN      = xenalyze
-SBIN     = xentrace xentrace_setsize
-LIBBIN   = xenctx
-SCRIPTS  = xentrace_format
+BIN     := xenalyze
+SBIN    := xentrace xentrace_setsize
+LIBBIN  := xenctx
+SCRIPTS := xentrace_format
 
-.PHONY: all
-all: build
+TARGETS := $(BIN) $(SBIN) $(LIBBIN)
 
-.PHONY: build
-build: $(BIN) $(SBIN) $(LIBBIN)
+.PHONY: all
+all: $(TARGETS)
 
 .PHONY: install
-install: build
+install: all
 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
 	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
-	[ -z "$(LIBBIN)" ] || $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
-ifneq ($(BIN),)
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
 	$(INSTALL_PROG) $(BIN) $(DESTDIR)$(bindir)
-endif
 	$(INSTALL_PROG) $(SBIN) $(DESTDIR)$(sbindir)
 	$(INSTALL_PYTHON_PROG) $(SCRIPTS) $(DESTDIR)$(bindir)
-	[ -z "$(LIBBIN)" ] || $(INSTALL_PROG) $(LIBBIN) $(DESTDIR)$(LIBEXEC_BIN)
+	$(INSTALL_PROG) $(LIBBIN) $(DESTDIR)$(LIBEXEC_BIN)
 
 .PHONY: uninstall
 uninstall:
 	rm -f $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/, $(LIBBIN))
 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
 	rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(SBIN))
-ifneq ($(BIN),)
 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(BIN))
-endif
 
 .PHONY: clean
 clean:
-	$(RM) *.a *.so *.o *.rpm $(BIN) $(SBIN) $(LIBBIN) $(DEPS_RM)
+	$(RM) *.o $(TARGETS) $(DEPS_RM)
 
 .PHONY: distclean
 distclean: clean
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384890.620448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX0-0005S9-Et; Thu, 11 Aug 2022 16:59:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384890.620448; Thu, 11 Aug 2022 16:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX0-0005Qu-7G; Thu, 11 Aug 2022 16:59:38 +0000
Received: by outflank-mailman (input) for mailman id 384890;
 Thu, 11 Aug 2022 16:59:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNX-0003s9-95
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:51 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9caa0ff6-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9caa0ff6-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236590;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=V8jWdBRJCxUnfV5R+IMYSD99LmO4hxLhQr7j9mADfWE=;
  b=dMOWP4pSaG4B/RxBrK2Ww7KNKeFJdTjefQN0JfwKM9MgfegHtgvYyl4E
   MVsoePZWUIgyy4f3WB1FMlAHbaNFLojejCJbeOVD+J0NQaHqQiThLDfkW
   luCeNYVRL7CQdDA4FoXoGZFua7TgZqvmZirgHBBHyvfWPN+zuexSHKpHi
   0=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80449106
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:rKTmTazYiPO2+uNtpxl6t+dbxirEfRIJ4+MujC+fZmUNrF6WrkUOx
 2FMXTyGaKvYM2vxft0lYdi0o0oDu5bSz99hTAE5riAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Eo25K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1DNkw5eqEKqtxuAHEUx
 dAqM2wIUkic0rfeLLKTEoGAh+wmJcjveogepmth3XfSCvNOrZLrGvuQo4UChXFp254ITa22i
 8kxMFKDaDzJZQFPPVEGToozhu6yilH0ciFCqULTrq0yi4TW5FwpjOS8aYKLEjCMbchYl2KJv
 X3Gw0bCDxIVFPu97zbC2Fv504cjmgukAdlPRdVU7MVCglKJwXcIIAYLTlb9qv684mahX/pPJ
 kpS/TAhxYAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxO4QfZmcfMpp87pZwHGF0k
 A/S9z/0OdBxmJCvRH3a2qXElyqzKXIlAV0ZOSo4FRRQtrEPv7oPYgLzosdLSfDr1oWkRmipn
 VhmvwBl2exN0JdjO7GTuAme3mny/sWhohsdvF2/Y46z0u9uiGdJjaSM4EOT0/tPJZ3xorKp7
 CldwJj2AAzj4PiweM2xrAYlRujBCw6tamG0vLKWN8BJG86R03CiZ5tMxzp1OV1kNM0JERewP
 hGL4VwJvc4DYSHwBUOSX25WI5pC8EQdPY69CqC8giRmO/CdizNrDAkxPBXNjggBYWAnkL0lO
 IfzTPtA+U0yUP0/pBLrFrh17FPe7nphrY8lbcykkk/PPHv3TCL9dIrpx3PSN7xlsP7f8FmMm
 zudXuPToyhivCTFSnG/2eYuwZoidBDX2bieRxRrS9O+
IronPort-HdrOrdr: A9a23:PZcDj668RgP5j6KAoAPXwM7XdLJyesId70hD6qhwISY7TiX+rb
 HIoB17726MtN9/YhAdcLy7VZVoBEmsl6KdgrNhWYtKPjOHhILAFugLhuHfKn/bakjDH4ZmpM
 FdmsNFZuEYY2IXsS+D2njaL+od
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="80449106"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, "Juergen
 Gross" <jgross@suse.com>
Subject: [XEN PATCH v4 28/32] libs/light: Rework acpi table build targets
Date: Thu, 11 Aug 2022 17:48:41 +0100
Message-ID: <20220811164845.38083-29-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Currently, a rebuild of libxl will always rebuild for example
"build.o". This is because the target depends on "acpi" which never
exist. So instead we will have "build.o" have as prerequisites targets
that are actually generated by "acpi", that is $(DSDT_FILES-y).

While "dsdt_*.c" isn't really a dependency for "build.o", a side
effect of building that dsdt_*.c is to also generate the "ssdt_*.h"
that "build.o" needs, but I don't want to list all the headers needed
by "build.o" and duplicate the information available in
"libacpi/Makefile" at this time.

Also avoid duplicating the "acpi" target for Arm, and unique one for
both architecture. And move the "acpi" target to be with other targets
rather than in the middle of the source listing. For the same reason,
move the prerequisites listing for both $(DSDT_FILES-y) and "build.o".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/libs/light/Makefile | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 1d5716dbba..4a8b0f7bcf 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -32,14 +32,10 @@ ACPI_PATH  = $(XEN_ROOT)/tools/libacpi
 DSDT_FILES-$(CONFIG_X86) = dsdt_pvh.c
 ACPI_OBJS  = $(patsubst %.c,%.o,$(DSDT_FILES-y)) build.o static_tables.o
 ACPI_PIC_OBJS = $(patsubst %.o,%.opic,$(ACPI_OBJS))
-$(DSDT_FILES-y) build.o build.opic: acpi
+
 vpath build.c $(ACPI_PATH)/
 vpath static_tables.c $(ACPI_PATH)/
 
-.PHONY: acpi
-acpi:
-	$(MAKE) -C $(ACPI_PATH) ACPI_BUILD_DIR=$(CURDIR) DSDT_FILES="$(DSDT_FILES-y)"
-
 OBJS-$(CONFIG_X86) += $(ACPI_OBJS)
 
 CFLAGS += -Wno-format-zero-length -Wmissing-declarations \
@@ -58,8 +54,6 @@ ifeq ($(CONFIG_ARM_64),y)
 DSDT_FILES-y = dsdt_anycpu_arm.c
 OBJS-y += libxl_arm_acpi.o
 OBJS-y += $(DSDT_FILES-y:.c=.o)
-dsdt_anycpu_arm.c:
-	$(MAKE) -C $(ACPI_PATH) ACPI_BUILD_DIR=$(CURDIR) DSDT_FILES="$(DSDT_FILES-y)"
 else
 OBJS-$(CONFIG_ARM) += libxl_arm_no_acpi.o
 endif
@@ -191,6 +185,12 @@ all: $(CLIENTS) $(TEST_PROGS) $(AUTOSRCS) $(AUTOINCS)
 
 $(OBJS-y) $(PIC_OBJS) $(SAVE_HELPER_OBJS) $(LIBXL_TEST_OBJS) $(TEST_PROG_OBJS): $(AUTOINCS) libxl.api-ok
 
+$(DSDT_FILES-y): acpi
+
+# Depends on the source files generated by the "acpi" target even if "build.o"
+# don't needs them but do need the headers that are also generated by "acpi".
+build.o build.opic: $(DSDT_FILES-y)
+
 libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
 	$(PERL) $^
 	touch $@
@@ -227,6 +227,10 @@ _libxl_type%.h _libxl_type%_json.h _libxl_type%_private.h _libxl_type%.c: libxl_
 $(XEN_INCLUDE)/_%.h: _%.h
 	$(call move-if-changed,_$*.h,$(XEN_INCLUDE)/_$*.h)
 
+.PHONY: acpi
+acpi:
+	$(MAKE) -C $(ACPI_PATH) ACPI_BUILD_DIR=$(CURDIR) DSDT_FILES="$(DSDT_FILES-y)"
+
 libxenlight_test.so: $(PIC_OBJS) $(LIBXL_TEST_OBJS)
 	$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LDLIBS) $(APPEND_LDFLAGS)
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384894.620466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX2-00060h-Sa; Thu, 11 Aug 2022 16:59:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384894.620466; Thu, 11 Aug 2022 16:59:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX2-000609-NH; Thu, 11 Aug 2022 16:59:40 +0000
Received: by outflank-mailman (input) for mailman id 384894;
 Thu, 11 Aug 2022 16:59:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNd-0003s9-Dk
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:57 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0562e7a-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0562e7a-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236596;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=cmy94LPQCKJ2pSbsopGeQjlv0UX9Mnp6syCdYZy088g=;
  b=C5oCy9Q4vdPUWCLlpol1v1PWjLlYgSyYheG5oeEEY1Eo8Xj3TTmC1tTw
   Qk2tj63N0G5Nuq/JDuuylU1KG3SnB6yXCkyLhdj81NE5c3L5e6KkXM1pY
   rc+itpK8eCD1ZaxotN2ncCCJHDiYPNUso7ZWg5+JBAQniQRSfskoCwnMF
   o=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77134720
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:CvI9rqLK7Tg4IyMGFE+RuZUlxSXFcZb7ZxGr2PjKsXjdYENS0DQBy
 mUdWWyPPP6OMTP8c49/Otm/9UJXv5fRztJgGgRlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La8Us11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE59FTUn8zJd0hoP9UOjxs7
 +UHCSEmcUXW7w626OrTpuhEg80iKI/gPZ8Fu2EmxjbcZRokacmdGeOQv4YehWpuwJAVdRrdT
 5NxhT5HZRLcYxpJKxEPBYg3huuAjXjjaTxI7lmSoMLb5kCMk1UqjOe3aLI5fPTNaJ9Iz3nDv
 l6WoVTTLQsKGuTD2CCspyfEaujnwnqgBdN6+KeD3uFuqE2ewCoUEhJ+fUG8uvOjjUm9XfpQL
 kUV/mwlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9bVagqImRtWOLYzE2FjIgfzYbbBou/Iy2yG0stS4jXuqPAYbs0IOtQWCvm
 mnUxMQtr+5N1JBWjs1X6XiC2mvx/caRE2bZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/5nzvp5pyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN51sJu8cKbSv3N/Ufj2eN5yMCk8Dd+SnNDKiIPrKinLAoHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6RMJruMow+lWLeb7pMjtcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5RrxgsP/Y/V6Fr
 4832gnj40w3bdASqxL/qeY7RW3m51BhbXwqg6S7rtK+Hzc=
IronPort-HdrOrdr: A9a23:wX8Ne6ySDVnHluz0kOmjKrPwKr1zdoMgy1knxilNoRw8SKOlfq
 eV7ZMmPH7P+U8ssR4b+OxoVJPsfZqYz+8W3WBzB8bHYOCFgguVxehZhOOIqQEIWReOk9K1vZ
 0QFZSWY+efMbEVt6rHCXGDYrUd/OU=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77134720"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v4 32/32] tools/golang/xenlight: Rework gengotypes.py and generation of *.gen.go
Date: Thu, 11 Aug 2022 17:48:45 +0100
Message-ID: <20220811164845.38083-33-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

gengotypes.py creates both "types.gen.go" and "helpers.gen.go", but
make can start gengotypes.py twice. Rework the rules so that
gengotypes.py is executed only once.

Also, add the ability to provide a path to tell gengotypes.py where to
put the files. This doesn't matter yet but it will when for example
the script will be run from tools/ to generate the targets.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/golang/xenlight/Makefile      |  6 ++++--
 tools/golang/xenlight/gengotypes.py | 10 +++++++++-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
index 00e6d17f2b..c5bb6b94a8 100644
--- a/tools/golang/xenlight/Makefile
+++ b/tools/golang/xenlight/Makefile
@@ -15,8 +15,10 @@ all: build
 
 GOXL_GEN_FILES = types.gen.go helpers.gen.go
 
-%.gen.go: gengotypes.py $(LIBXL_SRC_DIR)/libxl_types.idl $(LIBXL_SRC_DIR)/idl.py
-	LIBXL_SRC_DIR=$(LIBXL_SRC_DIR) $(PYTHON) gengotypes.py $(LIBXL_SRC_DIR)/libxl_types.idl
+# This exploits the 'multi-target pattern rule' trick.
+# gentypes.py should be executed only once to make all the targets.
+$(subst .gen.,.%.,$(GOXL_GEN_FILES)): gengotypes.py $(LIBXL_SRC_DIR)/libxl_types.idl $(LIBXL_SRC_DIR)/idl.py
+	LIBXL_SRC_DIR=$(LIBXL_SRC_DIR) $(PYTHON) gengotypes.py $(LIBXL_SRC_DIR)/libxl_types.idl $(@D)/types.gen.go $(@D)/helpers.gen.go
 
 # Go will do its own dependency checking, and not actuall go through
 # with the build if none of the input files have changed.
diff --git a/tools/golang/xenlight/gengotypes.py b/tools/golang/xenlight/gengotypes.py
index ac1cf060dd..ff4c2ad216 100644
--- a/tools/golang/xenlight/gengotypes.py
+++ b/tools/golang/xenlight/gengotypes.py
@@ -723,7 +723,13 @@ def xenlight_golang_fmt_name(name, exported = True):
     return words[0] + ''.join(x.title() for x in words[1:])
 
 if __name__ == '__main__':
+    if len(sys.argv) != 4:
+        print("Usage: gengotypes.py <idl> <types.gen.go> <helpers.gen.go>", file=sys.stderr)
+        sys.exit(1)
+
     idlname = sys.argv[1]
+    path_types = sys.argv[2]
+    path_helpers = sys.argv[3]
 
     (builtins, types) = idl.parse(idlname)
 
@@ -735,9 +741,11 @@ if __name__ == '__main__':
 // source: {}
 
 """.format(os.path.basename(sys.argv[0]),
-           ' '.join([os.path.basename(a) for a in sys.argv[1:]]))
+           os.path.basename(sys.argv[1]))
 
     xenlight_golang_generate_types(types=types,
+                                   path=path_types,
                                    comment=header_comment)
     xenlight_golang_generate_helpers(types=types,
+                                     path=path_helpers,
                                      comment=header_comment)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384902.620476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX5-0006Q5-7O; Thu, 11 Aug 2022 16:59:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384902.620476; Thu, 11 Aug 2022 16:59:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX5-0006Pc-3O; Thu, 11 Aug 2022 16:59:43 +0000
Received: by outflank-mailman (input) for mailman id 384902;
 Thu, 11 Aug 2022 16:59:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNZ-0003s9-9W
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:53 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e78b31c-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:52 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e78b31c-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236592;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Nc4WbeeXR+sXTmS5lu4Ec75pp9DLw9YmC4v+YNyuXWw=;
  b=FrrnwbbPuRPhqwCM1rL3FadEM/TQXnIur8nzup7OyVtVkxX12Pl6GbYt
   AxBUKFoyK5AxmT5nexs/j2RmPe9tf2P97VtMIyh6H1gRaMkVPjDIjYcQr
   5gapQ32j9SqGeaFVS3SymVZG8kCXG99HMP6Adv1gzsaxMVgi2+H3RBJ7B
   o=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77893975
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:1DEgOawSvJjofWBdcQ16t+dbxirEfRIJ4+MujC+fZmUNrF6WrkUCz
 DceDW/VOquKZGv8et91aY3k9RtUuZLdyNQxHlFo/CAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Eo25K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1OPQYkJp8n3Np9DF9o3
 KccOT8mVA660rfeLLKTEoGAh+wmJcjveogepmth3XfSCvNOrZLrGvuQo4UChXFp254ITa22i
 8kxMFKDaDzJZQFPPVEGToozhu6yilH0ciFCqULTrq0yi4TW5FMugOm2YYWIEjCMbdRkrnqxj
 07KxG7wQQ9AEeyZmDiEzn3504cjmgukAdlPRdVU7MVCglKJwXcIIAYLTlb9qv684mahX/pPJ
 kpS/TAhxYAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxO4QfZmcfMpp87pZwHGF0k
 A/S9z/0OdBxmJ2kDmCG5IiykTm/Bw48dmsTagQ+UzJQtrEPv7oPYgLzosdLSfDr1oWkRmipn
 VhmvwBl2exN0JdjO7GTuAme3mny/sWhohsdvF2/Y46z0u9uiGdJjaSM4EOT0/tPJZ3xorKp7
 CldwJj2AAzj4PiweM2xrAYlRujBCw6tamG0vLKWN8BJG86R03CiZ5tMxzp1OV1kNM0JERewP
 hGL4VwJvc4DYSHwBUOSX25WI5pC8EQdPY69CqC8giRmO/CdizNrDAkxPBXNjggBYWAnkL0lO
 IfzTPtA+U0yUP0/pBLrFrh17FPe7nphrY8lbcykkk/PPHv3TCL9dIrpx3PSN7xlsP7f8FmMm
 zudXuPToyhivCTFSnG/2eYuwZoidBDX2bieRxRrS9O+
IronPort-HdrOrdr: A9a23:CF9MtaqR2nQ0qgGhWYxytlYaV5oteYIsimQD101hICG8cqSj+P
 xG+85rsiMc6QxhIU3I9urgBEDtex7hHNtOkOss1NSZLW3bUQmTTL2KhLGKq1aLJ8S9zJ856U
 4JSdkZNDSaNzZHZKjBjDVQa+xQo+W6zA==
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77893975"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, "Juergen
 Gross" <jgross@suse.com>
Subject: [XEN PATCH v4 31/32] libs/light: Makefile cleanup
Date: Thu, 11 Aug 2022 17:48:44 +0100
Message-ID: <20220811164845.38083-32-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Rework "libacpi.h" include in "libxl_x86_acpi.c" as to be more
selective about the include path and only add "tools/libacpi/". Also
"libxl_dom.c" don't use "libacpi.h" anymore. Use "-iquote" for libacpi
headers.

Get rid of the weird "$(eval stem =" in the middle of a recipe and use
a make automatic variable "$(*F)" instead.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/libs/light/Makefile         | 16 +++++++---------
 tools/libs/light/libxl_x86_acpi.c |  2 +-
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 274e8350bb..250cc3bd2c 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -169,8 +169,7 @@ LDLIBS += $(LDLIBS-y)
 $(OBJS-y) $(PIC_OBJS) $(LIBXL_TEST_OBJS): CFLAGS += $(CFLAGS_LIBXL) -include $(XEN_ROOT)/tools/config.h
 $(ACPI_OBJS) $(ACPI_PIC_OBJS): CFLAGS += -I. -DLIBACPI_STDUTILS=\"$(CURDIR)/libxl_x86_acpi.h\"
 $(TEST_PROG_OBJS) _libxl.api-for-check: CFLAGS += $(CFLAGS_libxentoollog) $(CFLAGS_libxentoolcore)
-libxl_dom.o libxl_dom.opic: CFLAGS += -I$(XEN_ROOT)/tools  # include libacpi/x86.h
-libxl_x86_acpi.o libxl_x86_acpi.opic: CFLAGS += -I$(XEN_ROOT)/tools
+libxl_x86_acpi.o libxl_x86_acpi.opic: CFLAGS += -iquote $(ACPI_PATH)
 $(SAVE_HELPER_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenevtchn) $(CFLAGS_libxenguest)
 
 testidl.o: CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
@@ -224,13 +223,12 @@ testidl.o: $(XEN_INCLUDE)/libxl.h
 # This exploits the 'multi-target pattern rule' trick.
 # gentypes.py should be executed only once to make all the targets.
 _libxl_type%.h _libxl_type%_json.h _libxl_type%_private.h _libxl_type%.c: libxl_type%.idl gentypes.py idl.py
-	$(eval stem = $(notdir $*))
-	$(PYTHON) gentypes.py libxl_type$(stem).idl __libxl_type$(stem).h __libxl_type$(stem)_private.h \
-		__libxl_type$(stem)_json.h  __libxl_type$(stem).c
-	$(call move-if-changed,__libxl_type$(stem).h,_libxl_type$(stem).h)
-	$(call move-if-changed,__libxl_type$(stem)_private.h,_libxl_type$(stem)_private.h)
-	$(call move-if-changed,__libxl_type$(stem)_json.h,_libxl_type$(stem)_json.h)
-	$(call move-if-changed,__libxl_type$(stem).c,_libxl_type$(stem).c)
+	$(PYTHON) gentypes.py libxl_type$(*F).idl __libxl_type$(*F).h __libxl_type$(*F)_private.h \
+		__libxl_type$(*F)_json.h  __libxl_type$(*F).c
+	$(call move-if-changed,__libxl_type$(*F).h,_libxl_type$(*F).h)
+	$(call move-if-changed,__libxl_type$(*F)_private.h,_libxl_type$(*F)_private.h)
+	$(call move-if-changed,__libxl_type$(*F)_json.h,_libxl_type$(*F)_json.h)
+	$(call move-if-changed,__libxl_type$(*F).c,_libxl_type$(*F).c)
 
 .PRECIOUS: _libxl_type%.h _libxl_type%.c
 
diff --git a/tools/libs/light/libxl_x86_acpi.c b/tools/libs/light/libxl_x86_acpi.c
index 57a6b63790..22eb160659 100644
--- a/tools/libs/light/libxl_x86_acpi.c
+++ b/tools/libs/light/libxl_x86_acpi.c
@@ -16,7 +16,7 @@
 #include "libxl_arch.h"
 #include <xen/hvm/hvm_info_table.h>
 #include <xen/hvm/e820.h>
-#include "libacpi/libacpi.h"
+#include "libacpi.h"
 
  /* Number of pages holding ACPI tables */
 #define NUM_ACPI_PAGES 16
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384908.620488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX8-00075O-Hp; Thu, 11 Aug 2022 16:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384908.620488; Thu, 11 Aug 2022 16:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX8-00074P-4J; Thu, 11 Aug 2022 16:59:46 +0000
Received: by outflank-mailman (input) for mailman id 384908;
 Thu, 11 Aug 2022 16:59:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNA-0003Aq-JA
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:28 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8eee6a8d-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:27 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8eee6a8d-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236567;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=IYKuPYRjZ6pvXVQdnWBlSSCMGmweNvIFFiS+JhxCSBY=;
  b=YP9nzi4lncPf28Qmtkw/6vdTGP1apUtKhhLHJ1yGKGR+xO/EJdDxX9cB
   bgtJ/sY8nu4reKiarjMoVRc9N50Jg8zYfi++rrF/pvfuvllBnobUFQ94m
   SYDnj+WCbYXngn81s7PvO9jLVZFlQfD+LYmZksBR52xANQWbSWby2J59F
   k=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77898051
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A+y7RlaM1YfKrNxLvrXNrnJZn9oimJRAgMRhcQ?=
 =?us-ascii?q?xGJyBt+GUZOw4laZrtjiq2i3aJmyGb9mmIBeKSSRr53aQm6gXAjCuHlasX+9?=
 =?us-ascii?q?5QHLC0YumKzbe0XjW3twuEXz1JRUf8BtCM7bJ8mgR2FR/vv/j1PJnkIdwUDM?=
 =?us-ascii?q?A15FlVxhm+g3eQV6f2UeZZ5LJGwsp5ifkrjn1gPlhF7vW5yEW4eLeEqvXAXV?=
 =?us-ascii?q?o/BIvZgFei4+eLqAsjioD2WaKfh/Pv4N+gnpFoR2q5z8BdREzFfQ1FHsdT1m?=
 =?us-ascii?q?w0aW/e2HSTeNU27twua3Pbh/ux4pnYCkePlZpqUJNDZH65g0giiiRHQVWa/X?=
 =?us-ascii?q?FIlLRnA6k1s0dnji49pQ8Z/fm1cENPEDSk72hwYifP/wSHFrvvgMH0/Bo+oe?=
 =?us-ascii?q?GPjTMRuB0qUBcrN8Mq6PPcZT4QAVbuI3TDzd4ksGhYsP3pL6JiXENF+g3agN?=
 =?us-ascii?q?XsV4hMNeYVPRIfaNBTj2vZiE4980PS37alh39Xykct0dk+K23kAwtROZJgT/?=
 =?us-ascii?q?pTcECBM2OL/abDWtYpsAz+J1HDcY7GoMZJT32GJG7HM+unWfay6tQSq1UdnO?=
 =?us-ascii?q?8R0FhhKicbCK0sMm4LP7GNrDW7kUtNOap7uev71qkYTK80ggu+qX/7QbP+dU?=
 =?us-ascii?q?G2+QQ+XybxT3Jur7CSaRxClAtkJ7QigUWI75t2C94YbiMN3ZS+MYIv8+nj9u?=
 =?us-ascii?q?BPbs4wOKswJHGezM1ksIywaNbIt7hodgCyA5J/l8q9y99gCNYgfAw2UNZRf1?=
 =?us-ascii?q?51zb4yxc3vQ/F+62Z0thHzYpYRiB0A76m6P4JWVZjqHv8/hPP+Nn8jbcogE7?=
 =?us-ascii?q?o2ylyyj3j4MdWq/COxGn7P6oREr4IQqbOdOgDRz+idmBRVIrBcrEzgNhJaV8?=
 =?us-ascii?q?DhF785c3JaWcSv6RfJnjzHJ3LeImuDq1bFLgD4KpVSYr3s3GzPxCotZV7Weo?=
 =?us-ascii?q?kUJzQvZooxjME5+0L7xDr9PniZG6ouOaomYn1WOCTVbx6z5AgasrwEAdB+Ki?=
 =?us-ascii?q?sUHm0BwE5c9TfYVzLKagRv6EOFs92NKEyZpIIxna6uH6DQn6WxQXl8OHufiQ?=
 =?us-ascii?q?ZXREUX8slIl2tMuLeInGxtXbWOSwQo4P2kO9zRZuTUvCKGMDLGz+EZcOLuEB?=
 =?us-ascii?q?eb4SrFvZhoR8LKmSZXzagjbxw2qXq+TJtnWwntzfJk7geX7LrQ1b+EolnC5L?=
 =?us-ascii?q?3itLttkKCgGZuLERzaxVuTkKeOPdHHEkKcZYn6421rXcYyFQBtkPP4FRIsDO?=
 =?us-ascii?q?tkr3ab5dUFN5oruLhsyVRJtWS90pLHIlxUksaJ4Kjo42fAX467WWi9qG2Bdt?=
 =?us-ascii?q?HzMQcsMLa+42PZxUeMtLATLAPIMIEva0O+m2xxnSrZnf479waXGeBccgw5Jg?=
 =?us-ascii?q?MemyDu5AYNRauBnA46Hh5bfHojBbeY4gcJL2u2cjbyTRx5KdoncoGgMcj7ny?=
 =?us-ascii?q?sA/BUn2ugZ02lCtT9jZiVNZmzy0DX2cmFoZov3YXElmlM77KKorPdG3Po45d?=
 =?us-ascii?q?R5GiXt1x3mmMRgHs+WEJKjI3ENRc3AZb4Fvx1v9g0g+Pud9WbJJ8eTon9QnM?=
 =?us-ascii?q?0QBqgrAiIMOiFGbzBQKdb8sNwuSolvKqD7hNwVMZpRBZFgU57c4pt5ueTnpJ?=
 =?us-ascii?q?P79l4f9NyR8fz08W6bWy0uI6MYxLR9JXSd6Bl+8rmfT90WjFmhEXTE5OP5cA?=
 =?us-ascii?q?alGyxM5GPCV1kaSYsvjfMZA90JtEKurd6COmMKazI7b18UwtSX0rsst0LLV0?=
 =?us-ascii?q?u0ZSz5zEQnZrykzep+8Go3Df8YczY2Uw946Id1jgODR+YrNbhG8dJMVWDabC?=
 =?us-ascii?q?u44izdTK+drXrBgCRFajYcRLTkKRBtyVnHE48BK91ZhCVrZiJqaNo5iP6z7z?=
 =?us-ascii?q?v9Tery70nFGXmieMHsnrXLkdN8gkP67xySN/Y9BBWbw5QXDr7Dl2FTooSW8K?=
 =?us-ascii?q?InI6UbljdbYOsmj8UV5l18lYB2Z9FfBsxDfJgM/OdWVe7cCugirq7kBW4yNw?=
 =?us-ascii?q?JGFkMx7sPeNuViw+XtEJOJm4Yb5VkWf7E39VpHatVymIAjwp/KlBI2cb7ySJ?=
 =?us-ascii?q?oe9RLgTjyJk+8Eo4wmkJlE+KW2wtnxW7dUzNM3JKi7wYx/oYeaqCaTmj3xI/?=
 =?us-ascii?q?/iB6GnruipsGVz+zpqp8NGDMaaWL0cbrFXI/UzdRk0KuJMHCRHlpGpcW4yBf?=
 =?us-ascii?q?wpCNmn9DQpiH3xbx7E1zCJRxsq/4I9zAl1/8wm3BZ3dWnXHXBFcg4QoKvg1Y?=
 =?us-ascii?q?7bpQshw1/5eIlzLXkFN/wOwuXAeg9KPWoojKOuX5SqW/Z0e9Thf/7UqSHnAC?=
 =?us-ascii?q?HfTk3XpwY+4W6NDD0ESuex+SDStm2wmFuhWzTJ84nJ3dROOcTAEJ4Ct2HjbT?=
 =?us-ascii?q?l3p47wAPZTznsuA3MacoJDCHT30gTbLsduwQcuRMNgwSjJY85oA4/ilSOdGN?=
 =?us-ascii?q?n1cWXpM4NdsTDsrDleSZem3z+DXadYeWCObVemxTt3CNmFe8t7vuGb+d8Phb?=
 =?us-ascii?q?hwop1sCofY77cu/25FcsJ0yypRAaAh60hDctjL4uIroHBzkwJ65j1dzgNDGt?=
 =?us-ascii?q?Nt2RqV761XkvRgEAy93EnzH4bEhtXaX1L8uq45um4lFuEWYKxV15I3/fZWTP?=
 =?us-ascii?q?PVpyrF4naceUYQ/h6FNxZpgh9KsG1NoSRrQMfvp1WQx05gokDBw6eCfRUDHy?=
 =?us-ascii?q?9l0Zw62h+iy7APR+yshESgxpfJ42+Dxj9VkK1sphrMCEJC3CSCw3d/4kM8lC?=
 =?us-ascii?q?9fxzZvr7LzM/7MXGfhl635yJyx73Bq7sAtIiEOG3iOsIsj9FtfXFbhk7jHs4?=
 =?us-ascii?q?Ws420j0ZaeIJoWBkft3spBGvGSXFaWbFKdKUF3LPsGy8c2L1w=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77898051"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v4 10/32] tools/libs/util: cleanup Makefile
Date: Thu, 11 Aug 2022 17:48:23 +0100
Message-ID: <20220811164845.38083-11-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Remove -I. from CFLAGS, it isn't necessary.

Removed $(AUTOSRCS), it isn't used.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 tools/libs/util/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tools/libs/util/Makefile b/tools/libs/util/Makefile
index ffe507b379..493d2e00be 100644
--- a/tools/libs/util/Makefile
+++ b/tools/libs/util/Makefile
@@ -11,7 +11,7 @@ OBJS-y += libxlu_pci.o
 
 CFLAGS += -Wno-format-zero-length -Wmissing-declarations \
 	-Wno-declaration-after-statement -Wformat-nonliteral
-CFLAGS += -I. $(CFLAGS_libxenctrl)
+CFLAGS += $(CFLAGS_libxenctrl)
 
 CFLAGS += $(PTHREAD_CFLAGS)
 LDFLAGS += $(PTHREAD_LDFLAGS)
@@ -29,7 +29,6 @@ ifeq ($(BISON),)
 endif
 
 AUTOINCS = libxlu_cfg_y.h libxlu_cfg_l.h libxlu_disk_l.h
-AUTOSRCS = libxlu_cfg_y.c libxlu_cfg_l.c
 
 LIBHEADER := libxlutil.h
 PKG_CONFIG_NAME := Xlutil
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384909.620493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX9-0007BX-7s; Thu, 11 Aug 2022 16:59:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384909.620493; Thu, 11 Aug 2022 16:59:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX8-00079Q-Q7; Thu, 11 Aug 2022 16:59:46 +0000
Received: by outflank-mailman (input) for mailman id 384909;
 Thu, 11 Aug 2022 16:59:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNB-0003s9-L5
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:29 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8fadaf68-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:27 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8fadaf68-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236567;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=qDrQV7EHclVKP7YqOg4K6xaUcpWhXjaa6NfN5s1VLLM=;
  b=fDMozji7l0DCFmMSd/wR422tnl/HJuQ3mELQuxUw6jd/SlJ6De42tFgb
   Zi302Prj3HaAo+VrVcAX0FGRrozOjtFJl0D9/dmD3FFNVRAIeYWLbjcbo
   Pbikh/eMufpqKoEPfb9T1atZ55g0RbQ68BCYv9PqpIRQaGJJqXhW+799f
   U=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77134691
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:5Xjz1q1uUExxY18NQvbD5ddxkn2cJEfYwER7XKvMYLTBsI5bpzJUy
 2EbWT/SPfbYZmamL4wkYdiw8RwG78fcyodgSQVppC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUwx4VlmrBVOSvU0
 T/Ji5CZaQTNNwJcaDpOsfrT8Uo35pwehRtD1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L
 86rIGaRpz6xE78FU7tJo56jGqE4aue60Tum0xK6b5OKkBlazhHe545gXBYqheW7vB3S9zx54
 I0lWZVd0m7FNIWU8AgWe0Ew/y2TocSqUVIISJSymZX78qHIT5fj6/5tA3FqZpNbwOJUCjl+q
 dUmLzo/Zw/W0opawJrjIgVtrsEqLc2tN4IDoHBwizreCJ7KQ7iaHf+Mv4UBmm5t2IYeRp4yZ
 OJAAdZrRB3Gfx1IPEZREJ8klf2krnL+bydZuBSeoq9fD237k1Moi+SzYYO9ltqiQOtHkk27p
 0///kvfQRgcDt2E0x/d7Sf57gPItXyiA99DfFGizdZ1hHWDy2pVDwcZPXOhpuKzkEm5WNR3J
 Ekd+y5opq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZh5MbsY38vA/QzMC3
 0WM2djuAFRSXKa9ECzHsO3O9HXrZHZTfTRqiTI4oRUt6NrskN1okFH1SvVoSJ7pp+PyEwP53
 GXfxMQhvIn/nfLnxo3iow6f22Pz/8GXJuImzl6JBzz4t2uVcKbgPtX1sgaDsJ6sOa7DFjG8U
 G44d99yBQzkJbWEj2SzTeoEB9lFDN7VYWSH0TaD83TMnglBGkJPnqgKuVmS3G8zbq45lcbBO
 Sc/Qz956p5JJ2eNZqRqeY+3AMlC5fG+S4y9CaiNP4oTOMIZmOq7EMZGOyatM53FyhBwwcnTx
 7/CGSpTMZrqIfs+l2fnLwvs+bQq2jo/1QvueHwP9Dz+iOL2TCPEFt843K6mNL9RAFWs/FqIq
 L6y9qKil31ibQEJSnWOrdJPcAtacSFT6FKfg5U/S9Nv6zFOQAkJY8I9C5t7E2C5t8y5Ttv1w
 0w=
IronPort-HdrOrdr: A9a23:tK2Gia/ixrzluuJQ1WRuk+DgI+orL9Y04lQ7vn2YSXRuHPBw8P
 re+sjztCWE8Ar5N0tBpTntAsW9qDbnhPtICOoqTNCftWvdyQiVxehZhOOIqVDd8m/Fh4pgPM
 9bAtFD4bbLbGSS4/yU3ODBKadD/OW6
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77134691"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Henry Wang
	<Henry.Wang@arm.com>, Wei Liu <wl@xen.org>, Nick Rosbrook
	<rosbrookn@gmail.com>
Subject: [XEN PATCH v4 17/32] tools: Introduce $(xenlibs-ldflags, ) macro
Date: Thu, 11 Aug 2022 17:48:30 +0100
Message-ID: <20220811164845.38083-18-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This avoid the need to open-coding the list of flags needed to link
with an in-tree Xen library when using -lxen*.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
---
 tools/golang/xenlight/Makefile | 2 +-
 tools/Rules.mk                 | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
index 64671f246c..00e6d17f2b 100644
--- a/tools/golang/xenlight/Makefile
+++ b/tools/golang/xenlight/Makefile
@@ -27,7 +27,7 @@ GOXL_GEN_FILES = types.gen.go helpers.gen.go
 # so that it can find the actual library.
 .PHONY: build
 build: xenlight.go $(GOXL_GEN_FILES)
-	CGO_CFLAGS="$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APPEND_CFLAGS)" CGO_LDFLAGS="$(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) -L$(XEN_libxenlight) -L$(XEN_libxentoollog) $(APPEND_LDFLAGS)" $(GO) build -x
+	CGO_CFLAGS="$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APPEND_CFLAGS)" CGO_LDFLAGS="$(call xenlibs-ldflags,light toollog) $(APPEND_LDFLAGS)" $(GO) build -x
 
 .PHONY: install
 install: build
diff --git a/tools/Rules.mk b/tools/Rules.mk
index ce77dd2eb1..26958b2948 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -105,6 +105,14 @@ define xenlibs-ldlibs
     $(foreach lib,$(1),$(xenlibs-ldlibs-$(lib)))
 endef
 
+# Provide needed flags for linking an in-tree Xen library by an external
+# project (or when it is necessary to link with "-lxen$(1)" instead of using
+# the full path to the library).
+define xenlibs-ldflags
+    $(call xenlibs-rpath,$(1)) \
+    $(foreach lib,$(1),-L$(XEN_ROOT)/tools/libs/$(lib))
+endef
+
 define LIB_defs
  FILENAME_$(1) ?= xen$(1)
  XEN_libxen$(1) = $$(XEN_ROOT)/tools/libs/$(1)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384910.620498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXA-0007L9-CB; Thu, 11 Aug 2022 16:59:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384910.620498; Thu, 11 Aug 2022 16:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBX9-0007HC-K4; Thu, 11 Aug 2022 16:59:47 +0000
Received: by outflank-mailman (input) for mailman id 384910;
 Thu, 11 Aug 2022 16:59:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNB-0003Aq-Sj
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:30 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8fcff216-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8fcff216-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236568;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=fS+wXyRWRj324Cveg5Ri5jEcXsCtRAlbPU6C8RaaQxw=;
  b=e++SsEIb7gtIJfdACUDP2J7sMTsGBYhLMH+y6zGxrVhjuWMkzhvhkGoS
   8WbG3Bp/HCMLI0aG8hoxXSPI9pgyAD6Dn5hdEb1/qqVPJPg47bd9s7msC
   shE2uujHFnLn2CxXDUAZH7f/GN7xaUWLiqUI7icQMoh1ct+7INMHpTiVZ
   M=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77650143
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Z7wPEKiqgzY37ADrzRBYJInmX161ChAKZh0ujC45NGQN5FlHY01je
 htvXW7Xa67YMGrzLop1a422oBtSvpLdzIBjHgRrpCk0QSkb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSr4WtC1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4ePdxG9/0tX2V30
 /UqDxoiNS6ijMzo+efuIgVsrpxLwMjDOYoevjdrzC3DDOZgSpfGK0nIzYYGhnFq3JkIRKuAI
 ZpCAdZsRE2ojxlnM1ELCJU4jaGwi2P2aTFwo1OJv6snpWPUyWSd1ZCyb4SIIoXWHq25mG7Cg
 m34oGfbBy04E+6ZwDaarViRhuPAyHaTtIU6S+Tjq68CbEeo7nMXIA0bUx28u/bRokqjUNsZJ
 UUS8ScqqbUa/VauCNL6WnWQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3PLaXhRzi
 AXPxYmwQ2Uy7vvFEhpx64t4sxuyaHYYNjVcYRYiRDkiyfa4nqA4oEz2G4ML/LGOsjHlJd3h6
 2nU8nBm1upK1JBjO7aTpg6e3W/1znTdZktsv1iMADr4hu9sTNT9D7FE/2Q3+hqpwGyxalCa9
 EYJlMGFhAzlJcHczXfdKAnh8VzA2hpkDNE/qQQ2d3XZ327xk0NPhKgJiN2EGG9nM9wfZRjia
 1LJtAVa6fd7ZSX0NfcoO9vgW5lwl8AM8OgJsdiKBuein7ArLFPXlM2QTRf4M5/RfLgEzvhkZ
 MbznTeEBncGE6V3pAeLqxMm+eZynkgWmDKMLa0XOjz9jtJyklbJFupeWLZPB8hlhJ65TPL9r
 48Da5fXkEUDCYUToED/qOYuELzDFlBjbbieliCdXrfrztZOcI35N8Ls/A==
IronPort-HdrOrdr: A9a23:rsaVJqPdi++MN8BcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3/qy
 nOpoVi6faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrJ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77650143"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 18/32] tools/helper: Cleanup Makefile
Date: Thu, 11 Aug 2022 17:48:31 +0100
Message-ID: <20220811164845.38083-19-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Use $(TARGETS) to collect targets. Use := for the first target instead
of +=.
Collect library to link against in $(LDLIBS).
Remove extra "-f" flags that is already part of $(RM).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>
---

Notes:
    v4:
    - use := for the first TARGETS
    v3:
    - apply changes to the new "init-dom0less" helper.
    - make use of the new macro $(xenlibs-ldlibs,)

 tools/helpers/Makefile | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
index 8d78ab1e90..09590eb5b6 100644
--- a/tools/helpers/Makefile
+++ b/tools/helpers/Makefile
@@ -5,13 +5,13 @@
 XEN_ROOT = $(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-PROGS += xen-init-dom0
+TARGETS := xen-init-dom0
 ifeq ($(CONFIG_Linux),y)
 ifeq ($(CONFIG_X86),y)
-PROGS += init-xenstore-domain
+TARGETS += init-xenstore-domain
 endif
 ifeq ($(CONFIG_ARM),y)
-PROGS += init-dom0less
+TARGETS += init-dom0less
 endif
 endif
 
@@ -20,6 +20,7 @@ $(XEN_INIT_DOM0_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
 $(XEN_INIT_DOM0_OBJS): CFLAGS += $(CFLAGS_libxenstore)
 $(XEN_INIT_DOM0_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(XEN_INIT_DOM0_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
+xen-init-dom0: LDLIBS += $(call xenlibs-ldlibs,ctrl toollog store light)
 
 INIT_XENSTORE_DOMAIN_OBJS = init-xenstore-domain.o init-dom-json.o
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
@@ -28,6 +29,7 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenstore)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
+init-xenstore-domain: LDLIBS += $(call xenlibs-ldlibs,toollog store ctrl guest light)
 
 INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
 $(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
@@ -35,30 +37,31 @@ $(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
 $(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
 $(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
+init-dom0less: LDLIBS += $(call xenlibs-ldlibs,ctrl evtchn toollog store light guest foreignmemory)
 
 .PHONY: all
-all: $(PROGS)
+all: $(TARGETS)
 
 xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(XEN_INIT_DOM0_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $(XEN_INIT_DOM0_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
 
 init-xenstore-domain: $(INIT_XENSTORE_DOMAIN_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(INIT_XENSTORE_DOMAIN_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenlight) $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $(INIT_XENSTORE_DOMAIN_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
 
 init-dom0less: $(INIT_DOM0LESS_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenevtchn) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenguest) $(LDLIBS_libxenforeignmemory) $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
 
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
-	for i in $(PROGS); do $(INSTALL_PROG) $$i $(DESTDIR)$(LIBEXEC_BIN); done
+	for i in $(TARGETS); do $(INSTALL_PROG) $$i $(DESTDIR)$(LIBEXEC_BIN); done
 
 .PHONY: uninstall
 uninstall:
-	for i in $(PROGS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
+	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
 
 .PHONY: clean
 clean:
-	$(RM) -f *.o $(PROGS) $(DEPS_RM)
+	$(RM) *.o $(TARGETS) $(DEPS_RM)
 
 distclean: clean
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384916.620509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXC-0007vk-96; Thu, 11 Aug 2022 16:59:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384916.620509; Thu, 11 Aug 2022 16:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXB-0007sp-Sf; Thu, 11 Aug 2022 16:59:49 +0000
Received: by outflank-mailman (input) for mailman id 384916;
 Thu, 11 Aug 2022 16:59:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNU-0003Aq-87
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:48 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 973f5cd3-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 973f5cd3-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236581;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=W6vCbrh65CqtneFRPKerc/tF+uYF6bBQ+treqeycw4E=;
  b=B+yYT4xTMoCyP4HbTgPkrrlRK5VVtV29sJ6Ax11DE/lF6AukyIFj9BxV
   x3FNfqj8EB5+wr7e7PLN7lW1e4fMmeLzdkfMNPlBb62S89MDA+eDJwK07
   ZSb+UQ0K4xqDr77pfU3M2Ur+kubuiTswVSQOr1j7mbpMJSSd+w+37OEAh
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77898109
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AaVG8CKnncLjjaAHjvQOC/4ro5mJPLRN+VbBN2?=
 =?us-ascii?q?KgSYl3aPzYEGi7M+fK5BX4HbfXpEBkXJ6DNWZp+jjygzYrHtUg2Xxbj45YZf?=
 =?us-ascii?q?yDZLXmqdZgs0VxX6vn0ZOlwoiFN1XsDjuYdcDWPVIPGpeEQDFzbZKfGyJh0o?=
 =?us-ascii?q?JTlcDTURsW6/O+DBuvFIgpPt653o7KWjKJYK1cCcPdYWSMeOq8Wg+dLlLy7D?=
 =?us-ascii?q?iknrOc9ndkYuEn/kabEvtHuigADi58QgSP3SwBBg0cWDhRbaT7kUiV2Akg8L?=
 =?us-ascii?q?bYTJtu0Au6XiyJ4IyxgowRQeLsKh/mqBmNerufe/AyIABnOriJgbY2LivAJj?=
 =?us-ascii?q?g9gxgj3GoXyPNShhAR/efpWNlqFb8NujQsYBaJ3kjr0Bqe8zlk3nzf6lEjKE?=
 =?us-ascii?q?TJ7KdzklJ1dayNvDS72lUM7T8a4Tq4/0QeLhbuxeYZKUNtdJ1Yc9vY0HX3E+?=
 =?us-ascii?q?HtbK9IVWmHMOfXa9Hkx6fTg0pfkPesg/xRcv5czRtJNO8Qx8SKBG4CaN32PM?=
 =?us-ascii?q?XMiVkEGQRTXBgC6PqWv/WgytQwOIv5k6LQVB9IIa3ZLLftUUGTUe2E/UOJQd?=
 =?us-ascii?q?y5OT0YXDcR+TGErJ3ROEfk8DNkoZPNF5BoVKeXyRgtdwPkU4mHB4nHhjpjqO?=
 =?us-ascii?q?3mByYmn+6pB12gWE/ir8mSNeyHMKzNKSy9gSsfXWSFuUHUZ1b+0IRpbMIjDy?=
 =?us-ascii?q?G/2TBcqlkwilko2tlMMvKuzXjmfcIIsG5BV+JiUURvnwJYwXwIOoTDvCeVex?=
 =?us-ascii?q?01siOhJPp1eHNSeieqEg2DYPZcRrlp/lLAawO8FPBEcniyutiAbev/tREMvV?=
 =?us-ascii?q?441SNFY1ER1JN0+nYTNmdg+Cy0LwMM8qtNKQK0GyAEX7WipQ6ixDOWIqbqlm?=
 =?us-ascii?q?BZZX9mH4ouwooa6II9v3i/6WJ1owdr3qUk9e4xszpwq4SW/xxVfe/+HIF7f3?=
 =?us-ascii?q?4FtCNEzKqk1tcLQYXylDxFvkCcup4WR7haqvkWBCzJZJmeFFB4KLgQGc9VTu?=
 =?us-ascii?q?qgFmN9xCuRR3ErLEWJosKSgg9u0WjlXQgZeLrS/ktoPpAg3TTyIfd+OsC7A6?=
 =?us-ascii?q?Y8WRmCp8a3dLC5kaPSCISA7ULlx1ungExH8RqMYm2sMTEpZKSP97ZH0ifUHo?=
 =?us-ascii?q?WtH146kMvCSddaygun4W6HFAkydHnb+FqpwVA5zLEA6F6DJyOwmAlNi8vtqy?=
 =?us-ascii?q?/X4xfqm0tjD9yrzL1ga+fyzEU4nRUwdGZGdxo2oAqI+PtwSk6mjC+c8J7vAO?=
 =?us-ascii?q?3cWooenQWiaSHJJk9SpEghtpak16SC+SkwRLDTtudvmX4RCvlknuNLU3o8OP?=
 =?us-ascii?q?2ie+YigNOGgCFeMI53VK3C2OUeVuF4X8AqOjcggNb3XTQGnVr+JAouE44y8G?=
 =?us-ascii?q?mLWEXWbjglo/uUs2E0NSAwPh7WW07hSsBA5RHkYYGeWnIuW4D8ZgVbNVmolW?=
 =?us-ascii?q?YB7U4PIr113xtofpfJmqyxj2FVWSSnhJ+R0tmkZ8Pb2CpS5/zAVkd7y3dLBa?=
 =?us-ascii?q?lA9JpLgN/hlG67cTgXdYsgaBp5egThvKJrT3z3G/5gzr3uXs+46UG+k8lIhu?=
 =?us-ascii?q?7vDS9PgIsEtDxontowKV3uCgIlzxG+W23L9+/xIXlsUQ1vtWIrLnPL9NPDyl?=
 =?us-ascii?q?tqPUeArDZhFTYO8Y1aS8aPKgxiDTDkwwY17dewNdGinlw4hKb92kAFW596Tf?=
 =?us-ascii?q?Oami2yMcpsl7WTT3a8TcXIJy5/QEg6Qq7YGpm0FxxLFXB/wpA1jssusmsS0s?=
 =?us-ascii?q?6baqKTlkAn6GGcbjEZS6o7XxIsHHIBc+UpQF55+gLkay0BtBEI6q6ILGsXjR?=
 =?us-ascii?q?fyUUj4wXOJ1Q7adUacW6TBg9R0APjezijGWd5yR/F9UQVoAyfWtDmxRpSdf6?=
 =?us-ascii?q?sy/DPLQNnQlpaNUmAofo5foJ9hot/CBp1ev+bZI6bgvjHOxMp8Qr8DvU/Oju?=
 =?us-ascii?q?SvL4kKpqaxO0EuomG28FnhpnhX9LkL9VNWYpqLqUiAIdbPYpBWulDa4Y2Gwj?=
 =?us-ascii?q?UXFEA0oaqzvgpTILHf9essG/U/0mhRXJDz5X5NpEy/EF+Ax/a/7SPppLFJbL?=
 =?us-ascii?q?UPg7S/HkMW8J0uNETCCTSDrkimCLj04RFyRLb4TAU4xgtVIG3RNoudB4RCUY?=
 =?us-ascii?q?Zl3fRJ5sdc6KZhqcNq53L9E20dGONn1dct99e9eNmwppfydbh5haROoJAmLN?=
 =?us-ascii?q?Z4P3UAOgJ+qQK1XZk3zqvKjvPM3v0Lff4cXhArtzXQg3v4pjRsb5yIU8NrU+?=
 =?us-ascii?q?+3qNn0UHG4+EGgOTP9ulLHmoUx/ppzIXyF1ICnG0RLvzTHoqVG7XSp/NnNVo?=
 =?us-ascii?q?omyCl9UqxQhtXqG7717zOrUhCMgoG70+bEWkKPx/hUkbfMuhN+fut/gOrIHz?=
 =?us-ascii?q?ajpXshO1uh26g3C75bRWHIPHyYTafacLD/k8W3DmRmcQCpfieuSAPRyz5bVJ?=
 =?us-ascii?q?4XVm2EcpPBYPp8x7FJK0q7QV7JcLfzt/DOQKzZyCnkkFtwkCmken90hF5xaW?=
 =?us-ascii?q?tBp7KJG9GNmiVb3H5i7Xpu5mlHxlYk2ZEetIhh8oXMZuqtJdLVaI+Ie+sUyO?=
 =?us-ascii?q?SteRfEVIahTRmIjyxse1PW/+QoFjlq1QLxV0zHxduRSw4RTT9gC+cc5jwAnd?=
 =?us-ascii?q?NaTLV9Vc6dxtNfH66/iGt/0RYQlU6/bkOV8aM7Clhy7KYvlIOkjmjnntbHIb?=
 =?us-ascii?q?mZ/xfrhymqIm6nFhoufOEfXsPjSr5UJBU0jWWO7XuOmkW5Gkn3/gJkg4j0R2?=
 =?us-ascii?q?5UDfNn/2zx1CTmbC1AvlnDc/TisvlXmcDMz9iNwH3Xev+JJcsPrBCYUpe6rz?=
 =?us-ascii?q?rPHmQA0cmdmj3CmidFuEJywFXsBlwGuA/PWpjElA4jIToB01zfbSMAACS75?=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77898109"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 24/32] git-checkout.sh: handle running git-checkout from a different directory
Date: Thu, 11 Aug 2022 17:48:37 +0100
Message-ID: <20220811164845.38083-25-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

"$DIR" might not be a full path and it might not have `pwd` as ".."
directory. So use `cd -` to undo the first `cd` command.

Also, use `basename` to make a symbolic link with a relative path.

This doesn't matter yet but it will when for example the commands to
clone OVMF is been run from tools/ rather than tools/firmware/.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 scripts/git-checkout.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh
index 20ae31ff23..fd4425ac4e 100755
--- a/scripts/git-checkout.sh
+++ b/scripts/git-checkout.sh
@@ -19,9 +19,9 @@ if test \! -d $DIR-remote; then
 		cd $DIR-remote.tmp
 		$GIT branch -D dummy >/dev/null 2>&1 ||:
 		$GIT checkout -b dummy $TAG
-		cd ..
+		cd -
 	fi
 	mv $DIR-remote.tmp $DIR-remote
 fi
 rm -f $DIR
-ln -sf $DIR-remote $DIR
+ln -sf $(basename $DIR-remote) $DIR
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384918.620518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXE-00089N-2x; Thu, 11 Aug 2022 16:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384918.620518; Thu, 11 Aug 2022 16:59:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXC-00084e-SA; Thu, 11 Aug 2022 16:59:50 +0000
Received: by outflank-mailman (input) for mailman id 384918;
 Thu, 11 Aug 2022 16:59:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNX-0003Aq-8h
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:51 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99f14366-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:44 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99f14366-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236584;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=dR83eQZUkBseSL1TT8Ybm7GdBrsNbP3ypihJcI9wWTg=;
  b=DmIbQsltO6d5Z/VTjJl1iNzjANfDxTKMqOLJjKXxRt+kuvUWk9iT1Hye
   dxEc5jk7XA7MvS5qi3WBG/TykDA2fwGpwXiBkA/urKE/FMQaCGZpJm50U
   JubTmTkd6zu/MzykJkZPBdqBE79NAyciHchm6TR+I7iGvm9fqLQVUgfA2
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77898114
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AmwNJlaksXp4cVxN+3mINEIHo5mJPLRN1VbBN2?=
 =?us-ascii?q?KgaYm36RzIEGi7MwEco7ei7X2ZQdm8EpoD9Y5lHzFUYqI9Fpq5fek2hZyTH7?=
 =?us-ascii?q?r5JptRazAfTr1EELKXvfEPq+ByDfNM6uT8a7r7mlV34rBkx8fxw4femqX/7o?=
 =?us-ascii?q?TEE0KZYNXvbigSTbgqBRwQzatawkbXCYDgXt4hKiJs4a4X2fCynhMLz/j+R8?=
 =?us-ascii?q?qnyFWAsm95gDiNmmBPU9f+wTimASqHr8hgbDXXRxpqY1jmhC2QI2yMZP59li?=
 =?us-ascii?q?f0jE/3B4e6sAi98/ZuFI0LswhRV8b+rdY+olUwI7WvQUZAmjlPmsTb4rjaZO?=
 =?us-ascii?q?ALUixCA57q7QIZERdN6ZjtumhiRf96o1qhjw84k9EK9KLXjW6kM2xy75Yizu?=
 =?us-ascii?q?W8sAutRTELoVAuE/0+gOptPx87Z//Su9u0V6M/qaiBLwT10OIRsEyMPi9PcA?=
 =?us-ascii?q?sbLqWrGB2C5qCbqpw6E7z9QHCJukGdZfvGL3YplreaSYkJYnSqDG4GaP32/M?=
 =?us-ascii?q?aM17E0b2G++kA65sOF0M6Bqg8/acqDvpp5tKd8TWOhuw+Mb31P6EwbmcjNWd?=
 =?us-ascii?q?g5Oz1kXDeR+TGUrZ/uPEXk8FuxcuxsGaKupFZ+Q16hKbnvdFFXsuHIK8Cr1O?=
 =?us-ascii?q?avtN36CncY96XJcP8sjnoisdij9gCeX2F/X4u3UmDGvMHYZVa/oEOdcKoQ19?=
 =?us-ascii?q?ULvYryDL0Zt0xeLQ3SgRpYTLiagqJGEI3LzUpKSu3zAq2yOQprQtqSfecF0O?=
 =?us-ascii?q?Vvebb46dNo5F//eqEm7FWNGYD4xzUXYhlu5UVx4IZnM+PRWJcKknV+d8hUsK?=
 =?us-ascii?q?OZ3DVzk4uJtrHwcfE4Ao1iIS9D5EojqOUgVjB/m0wUum/TFhqjypzDtTbZjm?=
 =?us-ascii?q?RbZIjnH0M9lEPB97Z6lWiPSemuv8VQhrfk7go817eECKCohgWD/3o1Zjo1Ph?=
 =?us-ascii?q?UOOC3uxYMMuiJ5wR+Mto0w+2WvMa7wTda8ncmh3cvn/R1xcggL4ioEK7BR4q?=
 =?us-ascii?q?oifHDqN24U7/PPEcrwmXQ8Fc3BR3CYIfjDiC5BZ8AFAW7zYyspFK2e6P22k6?=
 =?us-ascii?q?vLCrlvFKx4d0sHmAWTRtKclcgpWkhGrDPXi18rbQ1ED63XPd4Qqq/utw2VAa?=
 =?us-ascii?q?xiT8A+YFT+RMBxoXfiOojPb5c+FidIT7+PnqxT7GEGbJdH8w+Hp/jfZxEJdr?=
 =?us-ascii?q?EjZ49KPb1OTIr71Bo4YBoEgJis/8ZxO0/5vYG1b5mN9pqxRlFBmCEfDJWJzg?=
 =?us-ascii?q?+tJmJXml8G7mp3MJBauaqwaQuW5e9tAxzVRYnlAuKXBwewMcVXBX5nc6aFFI?=
 =?us-ascii?q?9F1PfWqUr+zD+db13hHTG3TrMuaevucN27mkGI4DDfAoR5ryW0YkvCRGeHKt?=
 =?us-ascii?q?93rmHeNmAZer7ocQMcyr+JQirdt500AnzktSV3nLaBls913VGcck1TNVmUEX?=
 =?us-ascii?q?rk0sZfXRhFTRAqP1nGarCxj3Cx2TSjhJ+Q2tmH/cea0Cuy5/wgVkd7y3dDBb?=
 =?us-ascii?q?hM9JhLcN/hlG5fcTgXdYggdh55egTjx55nS3zm+/4Fb+CfX9ay401u6Kdr8I?=
 =?us-ascii?q?56mK9HxA/UV5yd+TtUKpXvCbxKxDw42H/dxYQWpUFQd/TrjHjrrkPRDjoVBw?=
 =?us-ascii?q?XFPoDW6Uhq2nG+87UepzItGabj0R/5ZFSeeIGg0OK4VXwEWh8ASSvF21l25k?=
 =?us-ascii?q?nGaVeG7FoVcBLsyOzLDrN9lbCFvK9gDSmXHQNXNLJv+c2qVRdLfUV9tktIyu?=
 =?us-ascii?q?BIFLoYvCouuSTE/jZbwP6lG7hwW7V0/IbmA6zddkeRajeLe708YVBRXFWUDL?=
 =?us-ascii?q?UHJMW1bH94V1n7x7WEpwLrJchXBfA8UJUfsHwIy12+I9JlJMaM/jqeR9uFNM?=
 =?us-ascii?q?Ozf3YmwJraO18PJhS7e6DZhsSXO5t7ghEJElI4SuiUlHS0r3gHQuDsWowW+u?=
 =?us-ascii?q?KLWWbo0HiURuKQujVNEnPvVcMk3gMWa4W06WWsJN43TvCmRnqNL2Xt7DECQl?=
 =?us-ascii?q?kWXJAcy1/uYGBjG2Qx1Z4zPo6pTL8o+sZBoZxiipyRdsb0EBO3Vh92y3J8UP?=
 =?us-ascii?q?8X5MlTLeKrSzYojq6+GpogIumnMsHARZrpPWO2ZCAKCh0ygONT0XcRQobXxu?=
 =?us-ascii?q?CfkzFZMcmZayxwPKZAJEz192TjcNSYMBlaL6VJUVMkTMzQ1FtB07cl6IOyuE?=
 =?us-ascii?q?lLnriWiOp3jU4Ex6EsbJnFuFVrPWGDr4hr/0iJNhTxwsSfwrNwJ5bflV8Fts?=
 =?us-ascii?q?Rrw7RlJ2a/BBF19Os7Gaif/GNmVbcIMpCgRwbibF/PAPGznwj/ctHob6SQ8a?=
 =?us-ascii?q?4Uw8L92VW0f+nj5Yg6kd7s226vfNJp5V1kvI8+/M6v4LRtl4u5kuIP9d4ooZ?=
 =?us-ascii?q?4CW1nMkLU0X+Q65GIQ1I5pW8xZin5wGUqYqzHLgIc6K1+6MUkcr2IAldlJ3I?=
 =?us-ascii?q?XeTMXHvW2/6TsNrrLT+9L5NLMsToJnqFdsU9fF6v9Yb7fqFuuq/yKp7sIEDR?=
 =?us-ascii?q?vc1kdh/arVtVSBQ/Mh3s2/Iby1ppzXHp6fW2lJ9lNBdlxlN12JgC6Pyuum+t?=
 =?us-ascii?q?Cp8ibYQvDTubIF6VyCbMIpyemqZBaeogCWkc8TUSkdvLgTYTQftOzCmSpTdg?=
 =?us-ascii?q?meyhkV/6XMI2E6i3dr5FpMODD0a7e8ffmq/ncBqqaOf0zj6jM2nyYgzWx3um?=
 =?us-ascii?q?yXT+s8VtFuW578LlT9jCkgm9LLcgqSqmNuIBnr8PvTMUoO6VEeedDdlecCP5?=
 =?us-ascii?q?9Y4lskr7oTV+BDqbqMnutW5+TCvxeyFQzi+FGf81iLlSHh88NYpPvc0ZO/ux?=
 =?us-ascii?q?Yf7dR4hQjC6PGo/YuXl8nxiFhobNrudK6vU5f0niDcnyiSTfV4sLuyLpJSGO?=
 =?us-ascii?q?s3OLJZcn++DK3oOZJTn1HFc/VMfasPbGYBLcczMVzhwQvlzig3p1wNdOA+tU?=
 =?us-ascii?q?OA2xFnwd7BVkA=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77898114"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: [XEN PATCH v4 26/32] libs: Fix auto-generation of version-script for unstable libs
Date: Thu, 11 Aug 2022 17:48:39 +0100
Message-ID: <20220811164845.38083-27-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

When there isn't a version-script for a shared library (like for
unstable libs), we create one based on the current Xen version. But
that version-script became out-of-date as soon as Xen's version
changes and make as no way to regenerate the version-script on
rebuild.

In order to allow regenerating the script, we'll have a different
filename. In order to check if the content is up-to-date, we'll always
generated it and compare.

But we also need to know if there's already an existing version script
or if we need to generate one, for that we introduce $(version-script)
to be used to point to the path of the existing script. (Guessing if a
version script exist for a stable library with for example $(wildcard)
won't work as a file will exist when building the library without this
patch.)

We don't need the version-script unless we are making the shared
library so it is removed from the "all" target.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Alternatively, we could remove the need for to generate a
version-script, but that would mean the exported symbols won't have a
version anymore (like before, a few versions of Xen ago). Or, we could
use --default-symver, but the symboled would be versionned with the
soname (e.g. "libxenctrl.so.4.16.0") instead of "VERS_4.16.0".
---

Notes:
    v4:
    - new patch

 tools/libs/call/Makefile          |  1 +
 tools/libs/ctrl/Makefile          |  3 ---
 tools/libs/devicemodel/Makefile   |  1 +
 tools/libs/evtchn/Makefile        |  1 +
 tools/libs/foreignmemory/Makefile |  1 +
 tools/libs/gnttab/Makefile        |  1 +
 tools/libs/guest/Makefile         |  3 ---
 tools/libs/hypfs/Makefile         |  1 +
 tools/libs/light/Makefile         |  1 -
 tools/libs/stat/Makefile          |  2 +-
 tools/libs/store/Makefile         |  1 +
 tools/libs/toolcore/Makefile      |  1 +
 tools/libs/toollog/Makefile       |  1 +
 tools/libs/util/Makefile          |  3 ---
 tools/libs/vchan/Makefile         |  3 ---
 tools/libs/libs.mk                | 19 +++++++++++++------
 .gitignore                        |  6 ------
 17 files changed, 23 insertions(+), 26 deletions(-)

diff --git a/tools/libs/call/Makefile b/tools/libs/call/Makefile
index 103f5ad360..56a964b517 100644
--- a/tools/libs/call/Makefile
+++ b/tools/libs/call/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR    = 1
 MINOR    = 3
+version-script := libxencall.map
 
 include Makefile.common
 
diff --git a/tools/libs/ctrl/Makefile b/tools/libs/ctrl/Makefile
index 93442ab389..094e84b8d8 100644
--- a/tools/libs/ctrl/Makefile
+++ b/tools/libs/ctrl/Makefile
@@ -10,6 +10,3 @@ PKG_CONFIG_NAME := Xencontrol
 NO_HEADERS_CHK := y
 
 include $(XEN_ROOT)/tools/libs/libs.mk
-
-clean::
-	rm -f libxenctrl.map
diff --git a/tools/libs/devicemodel/Makefile b/tools/libs/devicemodel/Makefile
index b70dd774e4..20d1d112e7 100644
--- a/tools/libs/devicemodel/Makefile
+++ b/tools/libs/devicemodel/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR    = 1
 MINOR    = 4
+version-script := libxendevicemodel.map
 
 include Makefile.common
 
diff --git a/tools/libs/evtchn/Makefile b/tools/libs/evtchn/Makefile
index 3dad3840c6..18cdaab89e 100644
--- a/tools/libs/evtchn/Makefile
+++ b/tools/libs/evtchn/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR    = 1
 MINOR    = 2
+version-script := libxenevtchn.map
 
 include Makefile.common
 
diff --git a/tools/libs/foreignmemory/Makefile b/tools/libs/foreignmemory/Makefile
index b70dd774e4..81398e88b1 100644
--- a/tools/libs/foreignmemory/Makefile
+++ b/tools/libs/foreignmemory/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR    = 1
 MINOR    = 4
+version-script := libxenforeignmemory.map
 
 include Makefile.common
 
diff --git a/tools/libs/gnttab/Makefile b/tools/libs/gnttab/Makefile
index 3dad3840c6..4528830bdc 100644
--- a/tools/libs/gnttab/Makefile
+++ b/tools/libs/gnttab/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR    = 1
 MINOR    = 2
+version-script := libxengnttab.map
 
 include Makefile.common
 
diff --git a/tools/libs/guest/Makefile b/tools/libs/guest/Makefile
index 19d3ff2fdb..93338a9301 100644
--- a/tools/libs/guest/Makefile
+++ b/tools/libs/guest/Makefile
@@ -14,6 +14,3 @@ NO_HEADERS_CHK := y
 include $(XEN_ROOT)/tools/libs/libs.mk
 
 libxenguest.so.$(MAJOR).$(MINOR): LDLIBS += $(ZLIB_LIBS) -lz
-
-clean::
-	rm -f libxenguest.map
diff --git a/tools/libs/hypfs/Makefile b/tools/libs/hypfs/Makefile
index 630e1e6f3e..7fae5c750d 100644
--- a/tools/libs/hypfs/Makefile
+++ b/tools/libs/hypfs/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR    = 1
 MINOR    = 0
+version-script := libxenhypfs.map
 
 LDLIBS += -lz
 
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 13545654c2..1d5716dbba 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -252,6 +252,5 @@ clean::
 	$(RM) testidl.c.new testidl.c *.api-ok
 	$(RM) $(TEST_PROGS) libxenlight_test.so libxl_test_*.opic
 	$(RM) -r __pycache__
-	$(RM) libxenlight.map
 	$(RM) $(AUTOSRCS) $(AUTOINCS)
 	$(MAKE) -C $(ACPI_PATH) ACPI_BUILD_DIR=$(CURDIR) clean
diff --git a/tools/libs/stat/Makefile b/tools/libs/stat/Makefile
index 7eaf50e91e..ee5c42bf7b 100644
--- a/tools/libs/stat/Makefile
+++ b/tools/libs/stat/Makefile
@@ -134,4 +134,4 @@ uninstall:: uninstall-perl-bindings
 endif
 
 clean::
-	$(RM) libxenstat.map $(BINDINGS) $(BINDINGSRC)
+	$(RM) $(BINDINGS) $(BINDINGSRC)
diff --git a/tools/libs/store/Makefile b/tools/libs/store/Makefile
index 2334c953bb..300c271eb0 100644
--- a/tools/libs/store/Makefile
+++ b/tools/libs/store/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR = 4
 MINOR = 0
+version-script := libxenstore.map
 
 ifeq ($(CONFIG_Linux),y)
 LDLIBS += -ldl
diff --git a/tools/libs/toolcore/Makefile b/tools/libs/toolcore/Makefile
index 0d92b68b3b..20671dadd0 100644
--- a/tools/libs/toolcore/Makefile
+++ b/tools/libs/toolcore/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR	= 1
 MINOR	= 0
+version-script := libxentoolcore.map
 
 LIBHEADER := xentoolcore.h
 
diff --git a/tools/libs/toollog/Makefile b/tools/libs/toollog/Makefile
index 2361b8cbf1..d612227c85 100644
--- a/tools/libs/toollog/Makefile
+++ b/tools/libs/toollog/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR	= 1
 MINOR	= 0
+version-script := libxentoollog.map
 
 include Makefile.common
 
diff --git a/tools/libs/util/Makefile b/tools/libs/util/Makefile
index 493d2e00be..e016baf888 100644
--- a/tools/libs/util/Makefile
+++ b/tools/libs/util/Makefile
@@ -47,6 +47,3 @@ $(OBJS-y) $(PIC_OBJS): $(AUTOINCS)
 %.c %.h:: %.l
 	@rm -f $*.[ch]
 	$(FLEX) --header-file=$*.h --outfile=$*.c $<
-
-clean::
-	$(RM) libxenutil.map
diff --git a/tools/libs/vchan/Makefile b/tools/libs/vchan/Makefile
index ac2bff66f5..a1ef60ac8e 100644
--- a/tools/libs/vchan/Makefile
+++ b/tools/libs/vchan/Makefile
@@ -11,6 +11,3 @@ OBJS-y += io.o
 NO_HEADERS_CHK := y
 
 include $(XEN_ROOT)/tools/libs/libs.mk
-
-clean::
-	rm -f libxenvchan.map
diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index 3eb91fc8f3..cab8e9704a 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -4,6 +4,8 @@
 #   PKG_CONFIG: name of pkg-config file (xen$(LIBNAME).pc if empty)
 #   MAJOR:   major version of lib (Xen version if empty)
 #   MINOR:   minor version of lib (0 if empty)
+#   version-script: Specify the name of a version script to the linker.
+#     (If empty, a temporary one for unstable library is created)
 
 LIBNAME := $(notdir $(CURDIR))
 
@@ -12,6 +14,10 @@ MAJOR := $(shell $(XEN_ROOT)/version.sh $(XEN_ROOT)/xen/Makefile)
 endif
 MINOR ?= 0
 
+ifeq ($(origin version-script), undefined)
+version-script := libxen$(LIBNAME).map.tmp
+endif
+
 CFLAGS   += -Wmissing-prototypes
 CFLAGS   += $(CFLAGS_xeninclude)
 CFLAGS   += $(foreach lib, $(USELIBS_$(LIBNAME)), $(CFLAGS_libxen$(lib)))
@@ -53,7 +59,7 @@ $(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_INCLUDE)
 $(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
 
 .PHONY: all
-all: $(TARGETS) $(PKG_CONFIG_LOCAL) libxen$(LIBNAME).map $(LIBHEADERS)
+all: $(TARGETS) $(PKG_CONFIG_LOCAL) $(LIBHEADERS)
 
 ifneq ($(NO_HEADERS_CHK),y)
 all: headers.chk
@@ -71,8 +77,9 @@ headers.lst: FORCE
 	@{ set -e; $(foreach h,$(LIBHEADERS),echo $(h);) } > $@.tmp
 	@$(call move-if-changed,$@.tmp,$@)
 
-libxen$(LIBNAME).map:
-	echo 'VERS_$(MAJOR).$(MINOR) { global: *; };' >$@
+libxen$(LIBNAME).map.tmp: FORCE
+	echo 'VERS_$(MAJOR).$(MINOR) { global: *; };' >.$@.tmp
+	$(call move-if-changed,.$@.tmp,$@)
 
 lib$(LIB_FILE_NAME).a: $(OBJS-y)
 	$(AR) rc $@ $^
@@ -82,8 +89,8 @@ lib$(LIB_FILE_NAME).so: lib$(LIB_FILE_NAME).so.$(MAJOR)
 lib$(LIB_FILE_NAME).so.$(MAJOR): lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR)
 	$(SYMLINK_SHLIB) $< $@
 
-lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxen$(LIBNAME).map
-	$(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,lib$(LIB_FILE_NAME).so.$(MAJOR) -Wl,--version-script=libxen$(LIBNAME).map $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
+lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR): $(PIC_OBJS) $(version-script)
+	$(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,lib$(LIB_FILE_NAME).so.$(MAJOR) -Wl,--version-script=$(version-script) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
 
 # If abi-dumper is available, write out the ABI analysis
 ifneq ($(ABI_DUMPER),)
@@ -122,7 +129,7 @@ TAGS:
 clean::
 	rm -rf $(TARGETS) *~ $(DEPS_RM) $(OBJS-y) $(PIC_OBJS)
 	rm -f lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR) lib$(LIB_FILE_NAME).so.$(MAJOR)
-	rm -f headers.chk headers.lst
+	rm -f headers.chk headers.lst libxen*.map.tmp
 
 .PHONY: distclean
 distclean: clean
diff --git a/.gitignore b/.gitignore
index e3fe06cd13..1e415fbb99 100644
--- a/.gitignore
+++ b/.gitignore
@@ -106,8 +106,6 @@ tools/config.cache
 config/Tools.mk
 config/Stubdom.mk
 config/Docs.mk
-tools/libs/ctrl/libxenctrl.map
-tools/libs/guest/libxenguest.map
 tools/libs/guest/xc_bitops.h
 tools/libs/guest/xc_core.h
 tools/libs/guest/xc_core_arm.h
@@ -117,7 +115,6 @@ tools/libs/light/_*.[ch]
 tools/libs/light/*.pyc
 tools/libs/light/_libxl.api-for-check
 tools/libs/light/*.api-ok
-tools/libs/light/libxenlight.map
 tools/libs/light/libxl-save-helper
 tools/libs/light/dsdt*
 tools/libs/light/mk_dsdt
@@ -127,13 +124,10 @@ tools/libs/light/testidl.c
 tools/libs/light/test_timedereg
 tools/libs/light/test_fdderegrace
 tools/libs/light/tmp.*
-tools/libs/stat/libxenstat.map
 tools/libs/store/list.h
 tools/libs/store/utils.h
 tools/libs/store/xs_lib.c
 tools/libs/util/libxlu_cfg_y.output
-tools/libs/util/libxenutil.map
-tools/libs/vchan/libxenvchan.map
 tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/*
 tools/debugger/gdb/gdb-6.2.1/*
 tools/debugger/gdb/gdb-6.2.1.tar.bz2
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 16:59:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 16:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384948.620543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXK-0001OC-Nd; Thu, 11 Aug 2022 16:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384948.620543; Thu, 11 Aug 2022 16:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXK-0001Mx-5o; Thu, 11 Aug 2022 16:59:58 +0000
Received: by outflank-mailman (input) for mailman id 384948;
 Thu, 11 Aug 2022 16:59:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNY-0003s9-9v
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:52 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e0c3d0a-1995-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 18:49:51 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e0c3d0a-1995-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236591;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=cMqBsfjjVcDOSywKpK4KZmm9RxQrPRiX94KjnGLwZeE=;
  b=esTkBMLnON8KtvMQ3/n6wFy9M4/npNXoli3R94UK5sINyCSX9+kESmXw
   S82pSQwVOHtrYXE5Lu2XpCN12NZ0I3dMip4mzKBl2y5vk9t6O8B6Pxktw
   F8TRFewuXEBqkSl1js95wHkzcZPXeOmdfjOAODYAfV/EVjQTgH5y+q/AW
   o=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80449107
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:kjmebK+uz0G2F9aJnS2zDrUD7H6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 WVOXGmHMqmNM2ukctAnOd++ph4EvJCDn9ZqQAA4pSk8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM25ayo0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGM0BtPpVB3cFLUV5Ur
 90yGitTSgnZvrfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoahtTOlARGdQmkf2hnHXXeDxEslOF46Ew5gA/ySQhiOSxYYONJbRmQ+1Ou22At
 lnJz1jJPVIAHdCwljmD21+V07qncSTTB9tJSezQGuRRqF+c3GsIEzUNSEC25/K+jyaWRNZ3O
 0ESvC00osAa5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWblXoVRYYNoZg7pVvA2V3i
 BnZxLsFGACDrpWqSCme7u6zig/iBjJPDEUwfnEgVFE8toyLTJ4Isv7fcjpyOPfr0IWtSG6pm
 m7iQDsW3OtK05NSv0mv1RWe2m/3+MCUJuIgzl+PNl9J+D+Vc2JMi2aAzVHApchNI4+CJrVql
 ChVwpPOhAzi4HzkqcBsfAnuNOvwjxp9GGeA6WOD5rF4n9hXx1atfJpL/BZ1L1pzP8APdFfBO
 RGN4VsOvMYCbCbwN8ebhr5d7Ox0pZUM6Py/DqyEBjawSsEZmPC7ENFGOhfLgjGFfLkEmqAjI
 5aLGfuR4YIhIf0+lFKeGrZCuYLHMwhkmgs/s7inkEn8uVdfDVbJIYo43KymMrllsP/Z+1WJq
 r6y9aKikn1ibQE3WQGPmaZ7ELzABSFT6UzewyCPStO+Hw==
IronPort-HdrOrdr: A9a23:uu/C96y800x41J2pz9j0KrPwKr1zdoMgy1knxilNoRw8SKOlfq
 eV7ZMmPH7P+U8ssR4b+OxoVJPsfZqYz+8W3WBzB8bHYOCFgguVxehZhOOIqQEIWReOk9K1vZ
 0QFZSWY+efMbEVt6rHCXGDYrUd/OU=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="80449107"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, "Juergen
 Gross" <jgross@suse.com>
Subject: [XEN PATCH v4 29/32] libs/light: Rework generation of include/_libxl_*.h
Date: Thu, 11 Aug 2022 17:48:42 +0100
Message-ID: <20220811164845.38083-30-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Instead of moving the public "_libxl_*.h" headers, we make a copy to
the destination so that make doesn't try to remake the targets
"_libxl_*.h" in libs/light/ again.

A new .PRECIOUS target is added to tell make to not deletes the
intermediate targets generated by "gentypes.py".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/libs/light/Makefile | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 4a8b0f7bcf..9329055c98 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -215,6 +215,8 @@ libxl_internal_json.h: _libxl_types_internal_json.h
 $(OBJS-y) $(PIC_OBJS) $(LIBXL_TEST_OBJS) $(TEST_PROG_OBJS) $(SAVE_HELPER_OBJS): $(XEN_INCLUDE)/libxl.h
 $(OBJS-y) $(PIC_OBJS) $(LIBXL_TEST_OBJS): libxl_internal.h
 
+# This exploits the 'multi-target pattern rule' trick.
+# gentypes.py should be executed only once to make all the targets.
 _libxl_type%.h _libxl_type%_json.h _libxl_type%_private.h _libxl_type%.c: libxl_type%.idl gentypes.py idl.py
 	$(eval stem = $(notdir $*))
 	$(PYTHON) gentypes.py libxl_type$(stem).idl __libxl_type$(stem).h __libxl_type$(stem)_private.h \
@@ -224,8 +226,10 @@ _libxl_type%.h _libxl_type%_json.h _libxl_type%_private.h _libxl_type%.c: libxl_
 	$(call move-if-changed,__libxl_type$(stem)_json.h,_libxl_type$(stem)_json.h)
 	$(call move-if-changed,__libxl_type$(stem).c,_libxl_type$(stem).c)
 
-$(XEN_INCLUDE)/_%.h: _%.h
-	$(call move-if-changed,_$*.h,$(XEN_INCLUDE)/_$*.h)
+.PRECIOUS: _libxl_type%.h _libxl_type%.c
+
+$(XEN_INCLUDE)/_libxl_%.h: _libxl_%.h
+	cp -f $< $@
 
 .PHONY: acpi
 acpi:
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 17:00:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 17:00:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384954.620550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXM-0001hv-3A; Thu, 11 Aug 2022 17:00:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384954.620550; Thu, 11 Aug 2022 17:00:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXL-0001fg-M9; Thu, 11 Aug 2022 16:59:59 +0000
Received: by outflank-mailman (input) for mailman id 384954;
 Thu, 11 Aug 2022 16:59:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNO-0003Aq-6b
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:42 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95297b85-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95297b85-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236576;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=WWgKKsGpMO0s5/MpdnydWA9yplEqj5PrJ/SuQ+hxLac=;
  b=Z2IliiFVz30TrJkggKbdYyyPykX3xuEqDgmyBhEAfMz1GFZ0OO+yTxQp
   85NvynIbftSCCWHRj2OwJrrAw7/wtDQ5gD6Ei4SUA0hXJwKdzZ0XfrP2K
   M3Z1Yuoz49ksoF4BNZ7vYV1+XffdxrTLInXnwnxB53myOrq/QMaRfOc1r
   4=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78334375
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:XTZfqKjcttlOaiQA46HuDZ7+X161PRAKZh0ujC45NGQN5FlHY01je
 htvWW6BPqmLYWf2c94ibovnoBgB7Z6Ay4RhSVY/r3w9RCgb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSr4WtC1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eMdc+wLZaWHt0/
 781LAoUXBqnmcKN+efuIgVsrpxLwMjDOYoevjdrzC3DDOZgSpfGK0nIzYYGhnFq3JkIRKuAI
 ZpCAdZsRE2ojxlnM1ELCJU4jaGwi2P2aTFwo1OJv6snpWPUyWSd1ZCyYIGOJofVGK25mG7Jq
 mTp2Tv0WisiPf2u8wfaqkzzgcHQyHaTtIU6S+Tjq68CbEeo7nMXIA0bUx28u/bRol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJt//YSsV/XjPCOukDAWzZCHmUphMEaWNEeSWYM7
 A+kxsnTD39CtIeMe3i56JevlGbnUcQKFlPudRPoXCNcvYe7+NBs10uRJjpwOPXr14OoQFkc1
 xjP9XFj3OtL0Kbnwo3hpTj6bySQSo8lp+LfziHeRSqb4wxwf+ZJjKT4uAGAvZ6swGt0J2RtX
 UToeODEtYji9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvmkmex8wY5ZZI2WBj
 KrvVeR5uvdu0IaCN/crM+pd9exzpUQfKTgVfq+NNYcfCnSAXASG4DtvdSat4owZq2B1yPlXE
 crKLq6R4YMyU/sPIMyeG7hAitfGB0kWmQvueHwM50j+jebCOSXFFe5t3ZnnRrlR0Z5oaT79q
 753X/ZmAT0FOAEiSkE7KbIuEG0=
IronPort-HdrOrdr: A9a23:Xl3ZDK3cYa2qDKCj4UaCbgqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoV86faUskdoZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOceEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="78334375"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 22/32] tools/hotplug: Generate "hotplugpath.sh" with configure
Date: Thu, 11 Aug 2022 17:48:35 +0100
Message-ID: <20220811164845.38083-23-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v4:
    - new patch

 tools/configure.ac                     |  1 +
 tools/hotplug/common/Makefile          | 10 ++--------
 tools/configure                        |  3 ++-
 tools/hotplug/common/hotplugpath.sh.in | 16 ++++++++++++++++
 4 files changed, 21 insertions(+), 9 deletions(-)
 create mode 100644 tools/hotplug/common/hotplugpath.sh.in

diff --git a/tools/configure.ac b/tools/configure.ac
index 09059bc569..18e481d77e 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -7,6 +7,7 @@ AC_INIT([Xen Hypervisor Tools], m4_esyscmd([../version.sh ../xen/Makefile]),
 AC_CONFIG_SRCDIR([libs/light/libxl.c])
 AC_CONFIG_FILES([
 ../config/Tools.mk
+hotplug/common/hotplugpath.sh
 hotplug/FreeBSD/rc.d/xencommons
 hotplug/FreeBSD/rc.d/xendriverdomain
 hotplug/Linux/init.d/sysconfig.xencommons
diff --git a/tools/hotplug/common/Makefile b/tools/hotplug/common/Makefile
index e8a8dbea6c..62afe1019e 100644
--- a/tools/hotplug/common/Makefile
+++ b/tools/hotplug/common/Makefile
@@ -1,19 +1,14 @@
 XEN_ROOT = $(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-HOTPLUGPATH := hotplugpath.sh
-
 # OS-independent hotplug scripts go in this directory
 
 # Xen scripts to go there.
 XEN_SCRIPTS :=
-XEN_SCRIPT_DATA := $(HOTPLUGPATH)
-
-genpath-target = $(call buildmakevars2file,$(HOTPLUGPATH))
-$(eval $(genpath-target))
+XEN_SCRIPT_DATA := hotplugpath.sh
 
 .PHONY: all
-all: $(HOTPLUGPATH)
+all:
 
 .PHONY: install
 install: install-scripts
@@ -40,7 +35,6 @@ uninstall-scripts:
 
 .PHONY: clean
 clean:
-	rm -f $(HOTPLUGPATH)
 
 .PHONY: distclean
 distclean: clean
diff --git a/tools/configure b/tools/configure
index acd9a04c3b..6199823f5a 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2456,7 +2456,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/libs/xs/paths.ml ocaml/xenstored/paths.ml ocaml/xenstored/oxenstored.conf"
+ac_config_files="$ac_config_files ../config/Tools.mk hotplug/common/hotplugpath.sh hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/libs/xs/paths.ml ocaml/xenstored/paths.ml ocaml/xenstored/oxenstored.conf"
 
 ac_config_headers="$ac_config_headers config.h"
 
@@ -10947,6 +10947,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "../config/Tools.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools.mk" ;;
+    "hotplug/common/hotplugpath.sh") CONFIG_FILES="$CONFIG_FILES hotplug/common/hotplugpath.sh" ;;
     "hotplug/FreeBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xencommons" ;;
     "hotplug/FreeBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xendriverdomain" ;;
     "hotplug/Linux/init.d/sysconfig.xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xencommons" ;;
diff --git a/tools/hotplug/common/hotplugpath.sh.in b/tools/hotplug/common/hotplugpath.sh.in
new file mode 100644
index 0000000000..1036b884b8
--- /dev/null
+++ b/tools/hotplug/common/hotplugpath.sh.in
@@ -0,0 +1,16 @@
+sbindir="@sbindir@"
+bindir="@bindir@"
+LIBEXEC="@LIBEXEC@"
+LIBEXEC_BIN="@LIBEXEC_BIN@"
+libdir="@libdir@"
+SHAREDIR="@SHAREDIR@"
+XENFIRMWAREDIR="@XENFIRMWAREDIR@"
+XEN_CONFIG_DIR="@XEN_CONFIG_DIR@"
+XEN_SCRIPT_DIR="@XEN_SCRIPT_DIR@"
+XEN_LOCK_DIR="@XEN_LOCK_DIR@"
+XEN_RUN_DIR="@XEN_RUN_DIR@"
+XEN_PAGING_DIR="@XEN_PAGING_DIR@"
+XEN_DUMP_DIR="@XEN_DUMP_DIR@"
+XEN_LOG_DIR="@XEN_LOG_DIR@"
+XEN_LIB_DIR="@XEN_LIB_DIR@"
+XEN_RUN_STORED="@XEN_RUN_STORED@"
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 17:00:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 17:00:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384959.620555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXN-0001uy-2r; Thu, 11 Aug 2022 17:00:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384959.620555; Thu, 11 Aug 2022 17:00:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXM-0001qf-Gr; Thu, 11 Aug 2022 17:00:00 +0000
Received: by outflank-mailman (input) for mailman id 384959;
 Thu, 11 Aug 2022 16:59:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBN8-0003Aq-1i
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:26 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e3751cf-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:24 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e3751cf-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236564;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Cj3s7yDvAwdl+LH39Fhy7fBMjMaaqIg2Y2xcVMdDEwk=;
  b=O8na1xt/KDB20tzbE75aGDUGv0n69HGJMmUck1QfbLPeOqhKd4+GFAUB
   9K8bo7crr0CdpBs0W/fKkhfDztEdPHm/mNWZPZSH/YanpJUiopFKhTEvy
   07aHaquZEwFW86c4Wlkd89bUwO5JEXU75vPkAq9O2TdCoQZi/q1uIkoYv
   4=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80449025
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:sh0As6o9z6XTXhWa2mGTO8Sc+pNeBmJ0ZRIvgKrLsJaIsI4StFCzt
 garIBmHbP7fYzP9etByPoq3/UoD6sXXnYRgTAc9/no0FnwQ9ZuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GpB5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqVFo9YnBk1w8
 cUaKW4tMDeln73tnKmSH7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8eDo4+m+G5wGHyaTRCpHqepLYt4niVxwt0uFToGIqNJoDbHZ8I9qqej
 lnl4XTBGlJDDoOO6Bmc/yyoo7bPhzyuDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWWd1FL
 FcP0jEztqV0/0uuJvHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3urNnWO1FRYRFG0DOw9aai0dvIK/u6hm23ojUe1f/L6JYszdQG+um
 2jb83Fn2d3/nuZQifzloAmvbyaE48GQE1Vrvli/sneNtFsRWWKzW2C/BbE3B95kJZ3RcFSOt
 WNsdyO2vLFXVsHleMBgrYww8FCVCxWtamS0baZHRcVJythU0yfLkXpsyD9/Plx1Fc0PZCXkZ
 kTe0SsIusELZCTyNP4nPtjrYyjP8UQHPYqNaxwpRoAWPsgZmPGvpUmCmnJ8L0iyyRNxwMnTy
 L+QcNq2DGZyNJmLOAGeHr5FuZd2l39W+I8mbcqkp/hR+ebBOSX9pHZsGAfmU93VG4vY+VmJr
 4sEZ5fTo/idOcWnChTqHUcoBQhiBRAG6Vre96S7qsbrztJaJVwc
IronPort-HdrOrdr: A9a23:y5ReQq2ypPjKrpqgSQk5KwqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoV86faUskdoZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOceEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="80449025"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 16/32] tools: Introduce $(xenlibs-ldlibs, ) macro
Date: Thu, 11 Aug 2022 17:48:29 +0100
Message-ID: <20220811164845.38083-17-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This can be used when linking against multiple in-tree Xen libraries,
and avoid duplicated flags. It can be used instead of multiple
$(LDLIBS_libxen*).

For now, replace the open-coding in libs.mk.

The macro $(xenlibs-libs, ) will be useful later when only the path to
the libraries is wanted (e.g. for checking for dependencies).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
 tools/Rules.mk     | 16 ++++++++++++++--
 tools/libs/libs.mk |  2 +-
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 23979ed254..ce77dd2eb1 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -93,12 +93,24 @@ define xenlibs-rpath
     $(addprefix -Wl$(comma)-rpath-link=$(XEN_ROOT)/tools/libs/,$(call xenlibs-dependencies,$(1)))
 endef
 
+# Provide a path for each library in $(1)
+define xenlibs-libs
+    $(foreach lib,$(1), \
+        $(XEN_ROOT)/tools/libs/$(lib)/lib$(FILENAME_$(lib))$(libextension))
+endef
+
+# Flags for linking against all Xen libraries listed in $(1)
+define xenlibs-ldlibs
+    $(call xenlibs-rpath,$(1)) $(call xenlibs-libs,$(1)) \
+    $(foreach lib,$(1),$(xenlibs-ldlibs-$(lib)))
+endef
+
 define LIB_defs
  FILENAME_$(1) ?= xen$(1)
  XEN_libxen$(1) = $$(XEN_ROOT)/tools/libs/$(1)
  CFLAGS_libxen$(1) = $$(CFLAGS_xeninclude)
  SHLIB_libxen$(1) = $$(call xenlibs-rpath,$(1)) -Wl,-rpath-link=$$(XEN_libxen$(1))
- LDLIBS_libxen$(1) = $$(call xenlibs-rpath,$(1)) $$(XEN_libxen$(1))/lib$$(FILENAME_$(1))$$(libextension)
+ LDLIBS_libxen$(1) = $$(call xenlibs-ldlibs,$(1))
 endef
 
 $(foreach lib,$(LIBS_LIBS),$(eval $(call LIB_defs,$(lib))))
@@ -108,7 +120,7 @@ $(foreach lib,$(LIBS_LIBS),$(eval $(call LIB_defs,$(lib))))
 CFLAGS_libxenctrl += -D__XEN_TOOLS__
 
 ifeq ($(CONFIG_Linux),y)
-LDLIBS_libxenstore += -ldl
+xenlibs-ldlibs-store := -ldl
 endif
 
 CFLAGS_libxenlight += $(CFLAGS_libxenctrl)
diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index d7e1274249..2b8e7a6128 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -18,7 +18,7 @@ CFLAGS   += -Werror -Wmissing-prototypes
 CFLAGS   += $(CFLAGS_xeninclude)
 CFLAGS   += $(foreach lib, $(USELIBS_$(LIBNAME)), $(CFLAGS_libxen$(lib)))
 
-LDLIBS += $(foreach lib, $(USELIBS_$(LIBNAME)), $(LDLIBS_libxen$(lib)))
+LDLIBS += $(call xenlibs-ldlibs,$(USELIBS_$(LIBNAME)))
 
 PIC_OBJS := $(OBJS-y:.o=.opic)
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 17:00:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 17:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384964.620566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXP-0002NL-Ez; Thu, 11 Aug 2022 17:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384964.620566; Thu, 11 Aug 2022 17:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXO-0002KO-N5; Thu, 11 Aug 2022 17:00:02 +0000
Received: by outflank-mailman (input) for mailman id 384964;
 Thu, 11 Aug 2022 17:00:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNG-0003Aq-S4
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:35 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93328ea4-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:33 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93328ea4-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236573;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=uMtbT9OvCCyn0S146BCICiBUUfTxeCiBwu/GDB4z7hw=;
  b=FOFga99893KBBx+W9cGQRyYl/0RF7LyBfhadKIMo74J93ZE0sZXg5ftM
   IFtXjjmZmQ+ZYh6tgkS5hlYmM4bbXAKeJOYjICxVDXIG1AAdiszmV08wY
   Ma2pEdr+RqUZvGElS1U6WygVbjVCEZSIKJWZZFU2D5R+iS4OsoxM403rv
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77650151
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:STpru6NeRopNBTTvrR3Pl8FynXyQoLVcMsEvi/4bfWQNrUp0hTABn
 2AWWT2BaayDNmumKIx+YNni9h5UvJSGmIVmHgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/va8EkHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPlwa1jIGwWerRB2c1ODzBnq
 7s3C2wCO0Xra+KemNpXS8Fpj8UnasLqIJkeqjdryjSx4fQOGM6ZBf+QvJkBgWl21psm8fX2P
 qL1bRJmagjAZBtefE8aEpskkM+jh2Xlci0eo1WQzUYyyzeMklEpieW0WDbTUoKNW+QIjli6n
 Umc+mXUHDEAOoTEzBPQpxpAgceQxHimCer+DoaQ6fpCkFCVgGsJB3U+UUawqL+3g0i1VtZbN
 mQd4C9opq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYXufrrq4gBP1AHE2BlYMNAZaCiQmv9a29enfkSnzosZf/L+d14OrQWmhn
 GnT8kDSlJ1I05dVivzTEUTvxmv1+8OXFlNdChD/BDrN0+9vWGKyi2VEA3D/5O0IEouWR0LpU
 JMsy5nHt7Bm4X1geUWwrAQx8FKBva/t3MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK510JvMALZSr6MPUtC25UNyjN5faIKDgYfqqMMoomjmZZLWdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMEv2/Z9PlWPuL89AgOBD+8zL7TmMLXwN50j4jOH2ib/8YettDWZimchltf/Y/FiOo
 4oGXyZIoj0GONDDjuDs2dZ7BTg3wbITXvgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:1uBn5KzFQd+EeIWxeoFRKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZImPH7P+U4ssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkGNDSaNzlHZKjBjzVQa+xQouW6zA==
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77650151"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 20/32] tools: Add -Werror by default to all tools/
Date: Thu, 11 Aug 2022 17:48:33 +0100
Message-ID: <20220811164845.38083-21-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

And provide an option to ./configure to disable it.

A follow-up patch will remove -Werror from every other Makefile in
tools/. ("tools: Remove -Werror everywhere else")

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 tools/configure.ac |  1 +
 tools/Rules.mk     |  4 ++++
 config/Tools.mk.in |  1 +
 tools/configure    | 26 ++++++++++++++++++++++++++
 4 files changed, 32 insertions(+)

diff --git a/tools/configure.ac b/tools/configure.ac
index 32cbe6bd3c..09059bc569 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -81,6 +81,7 @@ m4_include([../m4/header.m4])
 AX_XEN_EXPAND_CONFIG()
 
 # Enable/disable options
+AX_ARG_DEFAULT_ENABLE([werror], [Build tools without -Werror])
 AX_ARG_DEFAULT_DISABLE([rpath], [Build tools with -Wl,-rpath,LIBDIR])
 AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP])
 AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring tools])
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 26958b2948..a165dc4bda 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -133,6 +133,10 @@ endif
 
 CFLAGS_libxenlight += $(CFLAGS_libxenctrl)
 
+ifeq ($(CONFIG_WERROR),y)
+CFLAGS += -Werror
+endif
+
 ifeq ($(debug),y)
 # Use -Og if available, -O0 otherwise
 dbg_opt_level := $(call cc-option,$(CC),-Og,-O0)
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 6c1a0a676f..d0d460f922 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -1,5 +1,6 @@
 -include $(XEN_ROOT)/config/Paths.mk
 
+CONFIG_WERROR       := @werror@
 CONFIG_RUMP         := @CONFIG_RUMP@
 ifeq ($(CONFIG_RUMP),y)
 XEN_OS              := NetBSDRump
diff --git a/tools/configure b/tools/configure
index 41deb7fb96..acd9a04c3b 100755
--- a/tools/configure
+++ b/tools/configure
@@ -716,6 +716,7 @@ ocamltools
 monitors
 githttp
 rpath
+werror
 DEBUG_DIR
 XEN_DUMP_DIR
 XEN_PAGING_DIR
@@ -805,6 +806,7 @@ with_xen_scriptdir
 with_xen_dumpdir
 with_rundir
 with_debugdir
+enable_werror
 enable_rpath
 enable_githttp
 enable_monitors
@@ -1490,6 +1492,7 @@ Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --disable-largefile     omit support for large files
+  --disable-werror        Build tools without -Werror (default is ENABLED)
   --enable-rpath          Build tools with -Wl,-rpath,LIBDIR (default is
                           DISABLED)
   --enable-githttp        Download GIT repositories via HTTP (default is
@@ -4111,6 +4114,29 @@ DEBUG_DIR=$debugdir_path
 
 # Enable/disable options
 
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+  enableval=$enable_werror;
+fi
+
+
+if test "x$enable_werror" = "xno"; then :
+
+    ax_cv_werror="n"
+
+elif test "x$enable_werror" = "xyes"; then :
+
+    ax_cv_werror="y"
+
+elif test -z $ax_cv_werror; then :
+
+    ax_cv_werror="y"
+
+fi
+werror=$ax_cv_werror
+
+
+
 # Check whether --enable-rpath was given.
 if test "${enable_rpath+set}" = set; then :
   enableval=$enable_rpath;
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 17:00:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 17:00:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.384974.620573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXS-0002q8-0d; Thu, 11 Aug 2022 17:00:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 384974.620573; Thu, 11 Aug 2022 17:00:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBXQ-0002k4-SL; Thu, 11 Aug 2022 17:00:04 +0000
Received: by outflank-mailman (input) for mailman id 384974;
 Thu, 11 Aug 2022 17:00:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jhQd=YP=citrix.com=prvs=21531f474=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMBNF-0003Aq-4R
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 16:49:33 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91429361-1995-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 18:49:31 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91429361-1995-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660236570;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=2Y09ZveeXsnK5zkGHgMts4gAI2d4WcooLONx/5eIfns=;
  b=SVSPGxRzA37g+Njw08565uIcJJb183hbNyIxTzMPadyNRxvbPkJB8mCH
   gbL4U0sYHy+8CTVZuzBC9TrcBqLG5+Cns93NY8ngZciLx3Dwzfsl4j5m1
   kd12tUZ9zIRi77wwLcpXxCxF8ydgQAZsfzKWE1XLJ+Mbrn4hTfMH4RxG+
   o=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78334368
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:TPPWoKtcNkjam30gOlF4KI/VEefnVDxeMUV32f8akzHdYApBsoF/q
 tZmKW+FOPiDNmPxfNknbo228k4B68WDy4QxGVFvqig3EyxA+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4WpA5DTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05Fd0g38RwCEVOz
 NpbGAI1aQu8rMSH+r3uH4GAhux7RCXqFIYWu3UmxjDFF/c2B5vERs0m5/cBgm123JoXW6+DO
 YxJMlKDbzyZC/FLEl4RFJI5mvbunnTleidUgFmUubA28y7YywkZPL3Fb4qOIYDRG5U9ckCwt
 Hnj9UPQRSghHZ+Q7AKl/yKIiuSUgnauMG4VPOLhraM76LGJ/UQMDDUGWF39puO24ma6RtlWb
 UId/CEjqawv3EWxS5/2WBjQiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6cLqScCj
 wHT2YmzXHo27ePTGSn1GqqoQS2aaRAwD2gLQS89a0g10eHku74YqCP1QYM2eEKqteEZCQ0c0
 hjT8nZm3+RM1JdVv0mo1QuZ2mzx//AlWiZwv1yKBTz9s2uVcab/P+SVBU7nAeGsxWpzZn2Ip
 zA6lseX94ji5rndxXXWEI3h8FxEjstp0QEwYnY1RvHNDxz3pxaekXl4uVmS3ntBPMceYiPOa
 0TOow5X75I7FCL0M/cvPNroWpR3l/KI+THZuhf8MLJzjmVZLlfbrEmCm2bJt4wSrKTcuf5mY
 srKGSpdJX0bFb5m3FKLegvp6pdyn3hW7T6CGvjGI+GPi+X2iIi9FehYazNjr4kRsMu5neki2
 4oGa5fWlk4PDLSWj+u+2dd7EG3m5EMTXfjew/G7vMbZSua6MAnN08Ps/I4=
IronPort-HdrOrdr: A9a23:c//VTa2bW3gLUZkmrZ3jsgqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoV86faUskdoZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOceEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="78334368"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 19/32] tools/console: Use $(xenlibs-ldlibs,)
Date: Thu, 11 Aug 2022 17:48:32 +0100
Message-ID: <20220811164845.38083-20-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 tools/console/client/Makefile | 3 +--
 tools/console/daemon/Makefile | 6 +-----
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/tools/console/client/Makefile b/tools/console/client/Makefile
index 44176c6d93..e2f2554f92 100644
--- a/tools/console/client/Makefile
+++ b/tools/console/client/Makefile
@@ -6,8 +6,7 @@ CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenstore)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
 
-LDLIBS += $(LDLIBS_libxenctrl)
-LDLIBS += $(LDLIBS_libxenstore)
+LDLIBS += $(call xenlibs-ldlibs,ctrl store)
 LDLIBS += $(SOCKET_LIBS)
 
 OBJS-y := main.o
diff --git a/tools/console/daemon/Makefile b/tools/console/daemon/Makefile
index 0f004f0b14..99bb33b6a2 100644
--- a/tools/console/daemon/Makefile
+++ b/tools/console/daemon/Makefile
@@ -10,11 +10,7 @@ CFLAGS += $(CFLAGS_libxenforeignmemory)
 CFLAGS-$(CONFIG_ARM) += -DCONFIG_ARM
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
 
-LDLIBS += $(LDLIBS_libxenctrl)
-LDLIBS += $(LDLIBS_libxenstore)
-LDLIBS += $(LDLIBS_libxenevtchn)
-LDLIBS += $(LDLIBS_libxengnttab)
-LDLIBS += $(LDLIBS_libxenforeignmemory)
+LDLIBS += $(call xenlibs-ldlibs,ctrl store evtchn gnttab foreignmemory)
 LDLIBS += $(SOCKET_LIBS)
 LDLIBS += $(UTIL_LIBS)
 LDLIBS += -lrt
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 17:05:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 17:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385047.620601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBcb-0007c2-AQ; Thu, 11 Aug 2022 17:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385047.620601; Thu, 11 Aug 2022 17:05:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMBcb-0007bv-7A; Thu, 11 Aug 2022 17:05:25 +0000
Received: by outflank-mailman (input) for mailman id 385047;
 Thu, 11 Aug 2022 17:05:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMBcZ-0007bp-Rs
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 17:05:24 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c82583bc-1997-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 19:05:22 +0200 (CEST)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 13:05:19 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5588.namprd03.prod.outlook.com (2603:10b6:208:290::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug
 2022 17:05:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 17:05:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c82583bc-1997-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660237522;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=ei7UImJjUhQiyB8Z2knWCeFrYrAfCUgsrtREqc3wWL4=;
  b=amlWxmngRiKqsFXeZFmRciIQYBlPfK7HszhHVWVOxcM6WPgJGmymZBJN
   izdq0GVvSDVzrTlN/JEXTV6YO9+OhqiU30bzPNBLL42B/cUK55ZRFVY9h
   eRqXJir0P7GPvyTRHm7yzENJuG5zGlJtSJc60vyCNczNLrw7OQpn0CS37
   A=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 78335814
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:er7/36jn6qMukWomouesw+hJX161VREKZh0ujC45NGQN5FlHY01je
 htvDDyBPfiIamP1Kd0iaY7ipBkOvcWDnIA1TQs4qi1gFCob9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSr4WtC1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eP6cn5cB4Gj512
 OE5GDtdYzC8o9qfz+fuIgVsrpxLwMjDGqo64ysl5xeJSPEsTNbEXrnA4sJe0HEonMdSEP3CZ
 s0fLz1ycBDHZB4JMVASYH48tL7w2j+jLHsF9RTM+vdfD2v7lWSd1JDENtbPd8PMbsJShkuC/
 UrN/njjAwFcP9uaodaA2i383bSSzXqnMG4UPODk6KZBuQ2w/FUeLxQReX6UpsazkkHrDrqzL
 GRRoELCt5Ma9kWtQsPsQh6Qr3uNvxpaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLR5FvaCRSHmd3qyJtj70Mi8QRUcdYQcUQA1D5MPsyLzflTrKR9dnVaSz3tv8HGiqx
 yjQ9XdjwbIOkcQMyqO3u0jdhC6hrYTISQhz4RjLWmWi7UVyY4vNi5GU1GU3JM1odO6xJmRtd
 lBe8yRCxIji1a2wqRE=
IronPort-HdrOrdr: A9a23:PVQdTq5UaohCK2YtLQPXweCCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc0AxhI03Jmbi7Scq9qeu1z+853WBjB8bZYOCAghrlEGgC1/qp/9SEIUHDH4FmpM
 BdmsRFaeEYSGIK9foSgzPIXOrIouP3lpxA7N22pxgCcegpUdAY0+4TMHf4LqQCfngjOXNPLu
 v42iMonVqdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpixBiSgSiu4LvaFQHd+hsFSTtAzZor7G
 CAymXCl+SemsD+7iWZ+37Y7pxQltek4txfBPaUgsxQBiTwhh2ubIFBXaTHmDwuuumg5Hsjjd
 GJiRY9OMZY7W/XYwiO0FXQ8jil9Axrx27pyFeej3emi9f+XigGB81Igp8cWgfF6mI71esMk5
 5j7ia8jd56HBnAlCPy65zjTBdxjHe5pnIkjKo6k2Ffa40Dc7VcxLZvvn+9Ua1wWR4S2rpXV9
 WGP/usosq+tmnqNkwxi1MfhOBEmE5DRituDHJy4fB9mAIm4UyRh3FouPD32E1wtK7VAqM0md
 gteM5T5c5zZ95TYqRnCOgbR8yrTmTLXBLXKWqXZU/qDacdJhv22tfKCZgOlZaXkaYzve0PsY
 WEVEkduX85ekroB8HL1JpX8grVSGH4WTj20MlR65Vwp7W5HdPQQGa+YUFrl9Hlr+QUA8XdVf
 r2MJVKA+X7JW+rHYpSxQXxV5RbNHFbWswIvdQwXU6Iv6vwW8XXn/2edOyWKKvmED4iVG+6Cn
 wfXCLrLMEF9UyvUm+QummkZ5osQD2LwXtdKtmrwwFI8vl9CmRliHlntX2poseWNDZFrqs6OE
 NjPbKPqNLImVWL
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="78335814"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kqbvuZkGFBvQDZ1RfK1u0vAa32IpnZYzYviXZwoZrDf0fkjnt1AYKWYA9gOpM89IuCib8s+PFSN9C6hJEJ1vKjJHRkqML5va4ycnBGa/GRnRxYkdyx3sgGRf8bUDAsaWcx8fLMul/3MI73hQFUQm3OHY5QrTL+/Fp2nzI9ijMksDa2nBK79HQSE0Vyfqs8Gh0Y8HKrTRCSlbZYU/L8YVposabscgej6DfJgG20GZgHxrHzLIwL1HfEwQsrTtUF16bpa4PT/f1SqoV4oPvVre0sE9xjbu9nSOpsNUxBj1IRUvjv+5u+W1KV4HLeVeQ7pU4IYTFxD1qKdhapZcVEYcEQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ei7UImJjUhQiyB8Z2knWCeFrYrAfCUgsrtREqc3wWL4=;
 b=jB+5M5dWdIZqrqv1zlLESxhhDdKONFRi9OXjSF1ckJzZpWQjsY1dKLv9Xub1jJipfWhkcOS2bPjYZitIlH+GVlWoubvSeZX8K2B6vWwmcccC4zRzETQoCEmG7Kmf/irKzQBQasAm08MDmxtpYITPcPHnmL3wGKkjekOCeOzWZkkd6WgRBpQ9QjT3niGZX9hSxmVTXnRsZykBzcAD8+f2TQZvGhH/f0IFw5B33EOp1cc7cb4n0GhpSjlIDqr9h7KAvl8BJJyGdVj3qCKnqb/5OCaGwzMTEAxO8VEgfRLooOeWRctsaUE17qehEzkJ6KLZXdqcsKrrvvu5D3FH7IaohA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ei7UImJjUhQiyB8Z2knWCeFrYrAfCUgsrtREqc3wWL4=;
 b=JXMZbfOstnt4NdnM5aYd3DmNqJDW3cnODkuwlGw1x9FDGwqy+icNhn4P4EUUEeJiyEn2uteagm4dx3h0hvRNeAThePFskvQb68AjSVE+jWbcR10Lx8tVbcLluyQHMC7oMLCi92TioH1ZvfCnnRaYUgNrM1oH5QH5YxsJhKPpXuc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH 2/2] x86/spec-ctrl: Reduce HVM RSB overhead where possible
Thread-Topic: [PATCH 2/2] x86/spec-ctrl: Reduce HVM RSB overhead where
 possible
Thread-Index: AQHYrBGVOnpsJ3EHKEGHOuDU3gegNK2nAqkAgALuQgA=
Date: Thu, 11 Aug 2022 17:05:17 +0000
Message-ID: <4254c2bb-6f54-a453-7ab9-9ba5b4de66e4@citrix.com>
References: <20220809170016.25148-1-andrew.cooper3@citrix.com>
 <20220809170016.25148-3-andrew.cooper3@citrix.com>
 <CAKf6xpurnYVf-xz4VcFwq3uwbqBowyWJjgP=oLVZU3kWKtEWDg@mail.gmail.com>
In-Reply-To:
 <CAKf6xpurnYVf-xz4VcFwq3uwbqBowyWJjgP=oLVZU3kWKtEWDg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ae796c72-3dc1-4aea-5558-08da7bbbaa3b
x-ms-traffictypediagnostic: BLAPR03MB5588:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 VyPot0AwKoeVCx65mMcoSGPUuQ1+qtrUTWOEz2PtnVGb6Brzr4H5jlDjIDZtRi+1kqrLCpkvNZJe3UPC4n8ianYIR6TJGhnlplPK2nqk++kNsl5vWJhZWIkBkIguMs5RiI9tKcd3sH40yU6AEH1yi0NQ+0Jcy405hh6UEOOq84Smd5dOqWlZAoaWxCf0zfFn2PV50DE4vT0rOYUPtD4o4Kz1e9dIziugOJVXm6QdS2cCHexFaCMv0uvOobcqlokZeU08V2qc/jCC5aGlik73vNSYWcJ4l4yf7NGskv+oUcaOM7f5HqWhMTOTUvB3BGVdSdqjuiAqS79iXBX1ad0ZsucLcd9sqw667xdF+0je8kMwYhY0bRm9Zf3rqQmOCmaxHeJyxM2B/GfbSwKNxeGgq0UesseC+rJvylsIIk4r5U/6+eKbDAJ0oyraeGYs6T5TPLfzfH8d0EubYCgH+Yesv3zPyU1qr0Mwi1dVsDZPVy5Glq1wSUXYTu5f7kupoelgMIj1mgMz21AzFZ6ubzarhCTPJMJk8CD9JGcVKfQmd7fS177T7D/sZEFD1cVHiQCNPJbHvWvHapq13A+9fZi2eWZkayn3iRNT4SixeysVYHivjJV5HksRFJAzqY7bGI+O3ty4NgFT5BdtQ2q74gFUk05CNwZ+aGEy4r3NXP3ua70DGfeKAjwYF/wtLkglvhcxvWVccuH87IK3TQv7K798tAqz+yCRdNmMigzbUAHZ076IUsEhc3XRdx4IUItENy1rcY4IpMQfqbkXOe85wcykURfc8wJrYeuEvRVrW4ygewJyZtAp/uTiCvarevCkIdOUbhptP93G8eshi8jIySN95tOge4PQhk7u/2DVn/2s+gzJAYAHRPBkfS9nfVg40p+s
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(366004)(396003)(346002)(39860400002)(136003)(2616005)(186003)(83380400001)(82960400001)(38070700005)(38100700002)(122000001)(478600001)(71200400001)(6486002)(41300700001)(91956017)(76116006)(316002)(54906003)(5660300002)(6916009)(2906002)(6512007)(53546011)(26005)(66446008)(66946007)(8936002)(64756008)(8676002)(66556008)(36756003)(4326008)(31696002)(31686004)(6506007)(66476007)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NmZZZmc2RkxVL1g5NVJHWndINHdOSi8xSzlaV0dYYnNQUCtPV0c4V1RSWHdX?=
 =?utf-8?B?UjRQRWJxNFcrTDVKTWprUGNnQ1ExUzdhK3VvMEZHRlRKeGMxQXJLdi9lS3d2?=
 =?utf-8?B?L1czUmVXVE1zbEVZbXRtUXc5ZS9zeDdmTzNVOExiSnk0ZmZ1ZmNOa3ZHcFpy?=
 =?utf-8?B?Rm95TmIxTzNSVU0ya1pEZ25RTXFuT0FrWGRMamNCK3NLYzNXVmUzcmlSWTNo?=
 =?utf-8?B?bzZjQUFSdmpPZlNFcmN5RVBtNDd4VTJ6K1REVzZsY2ozNjVpOVpFcTVCUnJu?=
 =?utf-8?B?dU1qVytZcUN6ck0rWG1SN2ZtYmdUb2o1RHYwMksrcTNJNWtIUWxLNTJYSGlw?=
 =?utf-8?B?QWhnNU1BQ2R0VGwwRmcxc253WUNWd2ZkZjhrNHdIN1RTNGxpWEg0azJ4bVBF?=
 =?utf-8?B?c0p5dE1FMUJGMU42Z1Fac0VWMjBIVTkyMmZmdnhYVktWZ2hoOHZlMjBPalhV?=
 =?utf-8?B?UklvZTVrMHc3M3ZwbU9TMTdta3lKbWE4QWpjQjdJUEFWYjZyTURBall2Qnlk?=
 =?utf-8?B?S1NmcE5OVVBqbWR1Zk1La3NjVzRoZTZ0Y3ZlcnJTSTlMbkZ6Qk9rMEdnR0Zr?=
 =?utf-8?B?QkphU1J5c2ZzcFFKd3FLRTdFVGNMaHNuQ05jZFg3cFhveC9adWhxSktUMDBw?=
 =?utf-8?B?Qmp2ZWtOWmZ3bkowYklYU1ZZNDkvcDArT1AwTkljTm56SnZJemMrZ2hxTXdS?=
 =?utf-8?B?dktzdmhFdUhSMVZlTWltRGVRQ3dSZnN1TkRsYXp2VVRUWUVaOXpWUkVYVnU5?=
 =?utf-8?B?RDhjWndZeEMvTUFiaCtiZUdqczMvVU9SR1RjV1BST28zTmpaZVQ0Y0pFQlND?=
 =?utf-8?B?dUtiUVJSREdjcG5BU0RXYURxY3o4dVozQ1RUdVZ5QXgvUTRyY1d2bDcrUFJ5?=
 =?utf-8?B?ME1KcXRWd1VYQkl4RGRVelh2UnF0V3dhdnlEa2RnTUgram8ySEcybjNHU1Ro?=
 =?utf-8?B?TXo3V3AxbGQxTUhHNzROT1hzRS9jUlE4ZjV0N1o3SFd4Vkl2c00yRlVIUnU2?=
 =?utf-8?B?SkpUYlBBUTNsUzZHUE56SmR5b2N0eVVaWm5jM3U3WCtDSzJNY2FyMG00eWNh?=
 =?utf-8?B?ZFZGclUwS3FIWGcxVVl0cXdXaERMZ015OHNXR0JWamtiaC83QlVWN1JSbUxK?=
 =?utf-8?B?b21DYk5QNS9kN0kxRzZKVGtDVzZPS1MzanB3Zkt2RW9VeExMSGFiWkNnMkd5?=
 =?utf-8?B?N3phc2hUbmVDcWRjTkF2aVU2QStJSllMMnIrbEorVTFEaU5QTTkwNG1ncnYx?=
 =?utf-8?B?L2VQZER5TThTUXBNNEt0bVl1QXZGTEpwSVpXeFlaM0pnV3N2YWVLcFcvYnZw?=
 =?utf-8?B?cG14ZzEwbXNNZHdtU0VxWXdUaDdZbElodlAvVzVyMlFSeHNheTZWbzJhSEhS?=
 =?utf-8?B?aVFzajRQZlFXUGhjUTlJYm5XOHhwY09CZyt6Vkd3c1UyVTdxQlJmMXM1RnE0?=
 =?utf-8?B?NjNZdTZXc3VkWlRtelE5UEIzeFJicW1ob1lOam04azNSMi9YZ0JKckxramVz?=
 =?utf-8?B?cUFneUNZWW0vZ3l6cE55VzhvYjF1N3NZSkxyYVIwSmVqOVpYbjlPZHhSSWJJ?=
 =?utf-8?B?OWdDL3gxQzNoTVRMWDFEUmZTWW5KaXJHUkRnZ3IxcXhXK0k1eWlwK0dmaGVy?=
 =?utf-8?B?RHp1aU5JTHdmZm9YQTBFd1VwaCswVDhBbXFzRFhoV1ZSc2d2cU1yZDBKSW12?=
 =?utf-8?B?VDVjSDJDTG0ydlV3ejJneDFia1dWU0NrWUdlcWdTK0w2bzNSaW5PbFp2dVNE?=
 =?utf-8?B?VEw3OXlkRnZxWVhsQkMwbm5TVk54ZEttYU5hcDVjeFhxS1VGWTFZN2Z0YWNC?=
 =?utf-8?B?TWdGczB1OXo1ejFIVU05R0NFS08yTklFdUJtdlpNZjd2TU1kQ3VMMmpLTlVm?=
 =?utf-8?B?T3B1SjZ0aGxGSTNrU0xPRjNzWTArenNXV0ZmV2lzLzM3bmdvUzZZRXkvRE9p?=
 =?utf-8?B?OHhrZXJITDhDbnFZV0lrQzVHSUtwMlpoQUQxM1NHcDZQMWtWR3JuTU1iR3Y3?=
 =?utf-8?B?bFM4eDV5ZUpHbHdFaHExdXpPODRnSE9oRm9WVmZQN0R3elVrektXaGhHK0JN?=
 =?utf-8?B?S2tFd2o4MFBDYThQSC83bTEvZWY2KzVIbXloTE5lcVFlTVZvbXB0M29NUVlt?=
 =?utf-8?B?LzdzMTJFRTVEbWhMajdNS3BqaXhBZzVkNnhOQzFrUzRhZG5BTmNIZGsrNUt4?=
 =?utf-8?B?enc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <6815F1A3AAA2E144A65C24ED37AFB21E@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	3cxg4HmKaFEtXYDpKlvGYwKCPzrL3cKeYXSJC92osV/w2dGMPu2l2YAv9CEc4cz5eXgQysXTmn5zKVeIFUdGMpIYPPpumDDmEbsk2JEjPrMelxCGEEFzw5RKbVCtqnq3iHxzm2F75Ll6Hlg/sy4P7M1j4JXUCg1eO2M5xy3YqouhnkdQ2ZFUjAyH1jdQWaYlHeRQ2wK/OEGjoD72lhf7hQhctkrOaNsVyiX7dZmp97YGicR0vdmG3yglZkp2LZ49SrJO8VFDJmvYWlkLvB4INt7FUs85Ix4d5RZ4DBrQrLBk4gkvkAkwkmoEkcZSxOjh36i7L6+riO3eikuqe/22KrDd06LoHudUW/m6U9PiMoN/R4r1KKAFhh3g2+kEyhJ9dZvc4arUKFbcGOMcne+ikaR9g9nz7hTkvQbb/7Gvm8EeGA1M3Ufr/apbL+Bk8AFtqRwDxj6PvOGLt9O0tgWO3nnsPp5vyDhcXGw4qgC6MqHxcuzlx+3ss98j3bhF8AagPnJ+DIXQEoRrO+1hK2+BtPs/yjJSFTDUelI+E5To9dhVqdYMIvXochdhslvuLml7hqb1CKe8iPc9z0g9+WOtFuvDaSCEAueVSzJkuki0InUKvKzDoNpy/aghx7C3Bt4JkFd6G+ELqvzdktDreh+6bLrwz2t+2tCCSuEEI7YVREB245WvBMWARfL+LN9bDzGc2gtHPZnlI+Lly4cJNAtogZd3+CWC6sc2a+y58SNao44jqeS9WNtV9zP6e7uvC12CTK2l1sebD74ZAYm7T2yr9HEqwT9+LV+3Zy5wRX9/PNy8gkuqKdSWiIDgUPe7/s2OYBRfcVXdwDc29wqF2+XkeZj3AWfyaq/NjZT4otXlofs=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae796c72-3dc1-4aea-5558-08da7bbbaa3b
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 17:05:17.1306
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +LMwxutKBulzfqK5Rtr5vCVEKXq0ljNt6ABL9mW3J+15JouG5eU9X3WoYrmYImMtW1q96H/du7+izs1ppFCvewmf0034ENGz3eqrTPSjYcs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5588

T24gMDkvMDgvMjAyMiAyMToyMCwgSmFzb24gQW5kcnl1ayB3cm90ZToNCj4gT24gVHVlLCBBdWcg
OSwgMjAyMiBhdCAxOjAxIFBNIEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5j
b20+IHdyb3RlOg0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIv
eGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMNCj4+IGluZGV4IDE3ZTEwMzE4OGE1My4uOGE2YTVj
ZjIwNTI1IDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMNCj4+ICsr
KyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jDQo+PiBAQCAtMzkzNCw4ICszOTM0LDI0IEBA
IHZvaWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4g
IHsNCj4+ICAgICAgdW5zaWduZWQgbG9uZyBleGl0X3F1YWxpZmljYXRpb24sIGV4aXRfcmVhc29u
LCBpZHR2X2luZm8sIGludHJfaW5mbyA9IDA7DQo+PiAgICAgIHVuc2lnbmVkIGludCB2ZWN0b3Ig
PSAwLCBtb2RlOw0KPj4gLSAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7DQo+PiAtICAgIHN0
cnVjdCBkb21haW4gKmN1cnJkID0gdi0+ZG9tYWluOw0KPj4gKyAgICBzdHJ1Y3QgdmNwdSAqdjsN
Cj4+ICsgICAgc3RydWN0IGRvbWFpbiAqY3VycmQ7DQo+PiArDQo+PiArICAgIC8qDQo+PiArICAg
ICAqIFRvIG1pdGlnYXRlIFBvc3QtQmFycmllciBSU0Igc3BlY3VsYXRpb24sIHdlIG11c3QgZm9y
Y2Ugb25lIENBTEwNCj4+ICsgICAgICogaW5zdHJ1Y3Rpb24gdG8gcmV0aXJlIGJlZm9yZSBsZXR0
aW5nIGEgUkVUIGluc3RydWN0aW9uIGV4ZWN1dGUuDQo+IEkgdGhpbmsgaXQgd291bGQgYmUgY2xl
YXJlciBpZiB0aGlzIGNvbW1lbnQgbWVudGlvbmVkIExGRU5DRSBsaWtlIHRoZQ0KPiBjb21taXQg
bWVzc2FnZSBkb2VzLiAgTG9va2luZyBhdCB0aGlzIGNoYW5nZSB3aXRob3V0IHRoZSBjb21taXQN
Cj4gbWVzc2FnZSB0aGUgY29ubmVjdGlvbiBpcyBub3Qgb2J2aW91cyB0byBtZSBhdCBsZWFzdC4g
IE1heWJlICJ3ZSBtdXN0DQo+IGZvcmNlIG9uZSBDQUxMIGluc3RydWN0aW9uIHRvIHJldGlyZSAo
d2l0aCBMRkVOQ0UpIGJlZm9yZSBsZXR0aW5nIGENCj4gUkVUIGluc3RydWN0aW9uIGV4ZWN1dGUi
Pw0KDQpXaGlsZSBJJ20gc3ltcGF0aGV0aWMgdG8gdHJ5aW5nIHRvIG1ha2UgdGhpcyBlYXNpZXIg
dG8gZm9sbG93LCB0aHJvd2luZw0KZXh0cmEgTEZFTkNFJ3MgYXJvdW5kIGlzbid0IHRoZSByaWdo
dCB3YXkgZm9yd2FyZCBJTU8uDQoNCkxGRU5DRSAqaXMqIHRoZSBiYXNpcyBvZiBhIGxvdCBvZiBz
b2Z0d2FyZSBtaXRpZ2F0aW9ucywgYmVjYXVzZSBpdCBoYXMNCmJlZW4gc3BlY2lmaWVkIGJ5IElu
dGVsIGFuZCBBTUQgdG8gYWxzbyBiZSBhIGRpc3BhdGNoIGJhcnJpZXIuDQoNClRoaXMgaGFzIGJl
ZW4gY292ZXJlZCBpbiBtdWx0aXBsZSB3aGl0ZXBhcGVycyBmcm9tIGJvdGggdmVuZG9ycywgYW5k
IGhhcw0KYmVlbiB1cGRhdGVkIGluIHRoZSBtYWluIG1hbnVhbHMgZm9yIDQgeWVhcnMgb3Igbm93
IG5vdy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 18:07:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 18:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385097.620615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMCaD-0005UT-Ue; Thu, 11 Aug 2022 18:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385097.620615; Thu, 11 Aug 2022 18:07:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMCaD-0005UM-RX; Thu, 11 Aug 2022 18:07:01 +0000
Received: by outflank-mailman (input) for mailman id 385097;
 Thu, 11 Aug 2022 18:07:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMCaC-0005UG-4Z
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 18:07:00 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62483a72-19a0-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 20:06:57 +0200 (CEST)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 11 Aug 2022 14:06:53 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6939.namprd03.prod.outlook.com (2603:10b6:510:16d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 11 Aug
 2022 18:06:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022
 18:06:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62483a72-19a0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660241217;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=2zxxZQJOHzIKkHOsVuL+rDKlRwyacsJezRH1V/jpBgg=;
  b=JJQxYvL+A7Cr+8DmYXr8AUdz3ukkvqS4/r6GPm9Ww/72ct2l0yhupYbl
   RfZ9ThFRbRTj8E6iAKza/JcaQOcvuEsG5sl/eQrQcUdKTDreOzwGgCMxH
   uT9d/xu1qw/BQ7nlyrGnc7/imJWFu+1hJBPI2xsdY/KRpxVUw2rQj5vrj
   A=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 77904389
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AktaTza0GhBeJE3T/y/bDix16xUOB0HFdZcB5A?=
 =?us-ascii?q?8V8DSJ0RI/PxWDyaNIpsxBweKiAvNtW2ov4UKlPnc5/wAtukbns/0DgINnrR?=
 =?us-ascii?q?QUueWrPnGjIEwXSaCGQZ6wiXP1+1vUjdBz5Mzn07BgJWwhUjotcs4JdKbJzr?=
 =?us-ascii?q?h169JHkHcLZ2gHfSbGonAo64v9PIJaCHD8VPMp6goRI/sqEfjh3HsxvjAAi5?=
 =?us-ascii?q?WdV6Da7HbACDnI6eBrAkqqIDqHZKsT8HhvjSZ0gY2HrlZBZC+UIg9hmaYYC1?=
 =?us-ascii?q?trRZ7VuG0UChzzqEIy7Bxm0/wmTt8x7V/JsiV+moitgV646pN7Wu4ZbzOcNd?=
 =?us-ascii?q?ON0bm5taIj8deSS+6mWpX6pE9i5+JRAIJSbyAxFG83Vlgabu9+Ko/6edeuf8?=
 =?us-ascii?q?gdDH1hps5BKrYL8B088VBKJs9djkD81Ag9OHKkZ7Kb26hT+D8Cm62lpcS8kT?=
 =?us-ascii?q?Y4eolROnfu42swaOGW4xHUTK9rQHnC+TQfq/0ZDvyByjVZt2AaLsiwqYjL0u?=
 =?us-ascii?q?bVJaATdQA57gzCnGmnbxf5yBbcaYoRMbSTeMbca6kZBBWEcdSQG8RI0U+Te0?=
 =?us-ascii?q?py+bXaYELcfUcHTQxtP+V73pJaVlPzkVmeVTbxNFNxNZlFJ+H1xNE7sy70tc?=
 =?us-ascii?q?OtAWZ+Mjm+Y8ZI6J16INFS5kdHm26k5bSru/IXjNRIYAv2J4MYZGkqtarUlZ?=
 =?us-ascii?q?S0WR4cbrMYGdclW4rBXc9gSKUqRvnYzdaprGv8LOD4QWJ/UUFoJNzDmmCXLm?=
 =?us-ascii?q?cAOl5QWqiI/w0mIOlXdx7FyxUnSw+fXJfLAr4LwJhyRYDYxCcmn3OPur9c4g?=
 =?us-ascii?q?Nz3CPjuDaE3AR7HVuYaWekwvn3qnL23H9aG1FkUCEtq+rqkHKJAXMX+24uXn?=
 =?us-ascii?q?KqSneHv5Hqs2AqOrotNyyynDXnf+vRabNGQy/AuN5o0RiCF4V6mzBZnrj7Ip?=
 =?us-ascii?q?J2ItsAT3Lq8Nec6lA9pruJ6qO8VjNpgyhjBrtOnuKvhtdy014O7MzCt9vEdn?=
 =?us-ascii?q?uTu/ivIQ4VX2HPNVkhcSZPBSbLCZM5rasuwlk34wIxrnIq2T/xau/Disvqjg?=
 =?us-ascii?q?TMTUxhrsifXOcCC45ItorKHvRTKnwY9o9fMigMMkt2pt6qO045Wya/FdQkJ7?=
 =?us-ascii?q?E6yo3NmNS7IZ17EufpGU+wXr4SwPoA+iqlQOuwTzj3zOAXeq+a3mSg1m1eRs?=
 =?us-ascii?q?l+O6v0loRKXcMiU31X9CBlPGbiFmCfhoTMvr9mBZ3VTxtnANh3PlAS7nT3/b?=
 =?us-ascii?q?5KByUCCFAYrjo40kaKiRIp840/ajQD1+27OEsRIOwLqkEFN57h1KLI/msQhL?=
 =?us-ascii?q?1viaQAlrKpDSUHN4SdeLaAchgIdW+d9JX38JsjcUL7rePMnXoQyCFRNfYa3p?=
 =?us-ascii?q?gLYCDXd9FGaHY2lAjEuusTH9e1447mM4AaR9aKRYe26N8aXLUeJdzyp/EX82?=
 =?us-ascii?q?8dk+30Km5ebmO774tkP6A5pTjogNEUm8zGM2ZxdLpuyzMDMqMrQkO7oeQggU?=
 =?us-ascii?q?kQ9ovjEYi0d+Zt7MbXqZogQjmCdV9TOxJKdertuAUjA3TZ1npItcuctqdn50?=
 =?us-ascii?q?Plm3t4dVlz8nJIgBKvldD53zs04N02Wn7bRdfgJ3je+P7xjdeMC/1pwCdyfk?=
 =?us-ascii?q?r63LI3aRwswwYz/mmIE5qWbQwZglhPk2yBa/aKxXWb/s2MvkcjM4BDnt5pgq?=
 =?us-ascii?q?fOnTnC3kX2ZhmfQRs/6pqm+9IwCG3urr5/6grbWRHNAJYanWP2z/ThvZ89Ai?=
 =?us-ascii?q?z9McK2+Kt7Ezwz6AMS2yGHnaPdDVnDkAKR8XQ6TaQtgVfIgU3DZqQnvSLEMN?=
 =?us-ascii?q?m8QArIYuwJ4vya3PzZvWt7jyimllGAUrnE3EDqUAKkiFf/Xig9fhvmaJRJxU?=
 =?us-ascii?q?ax9nbRQxgoGJuFalmz0hV2gf8eMShEnC5KZQt6AYXxHfUQNgiv9KianwziEv?=
 =?us-ascii?q?6kKTKYtQVe5rVYgzVaMPmmrpSw0QA2yjsVol4ODx6O5QTeWles5h8vgf7fef?=
 =?us-ascii?q?CWp8TmictI5MyveN0/740UooXd/6Njrr1m3IF/Su2diOHk5KblZKE/EOoIYw?=
 =?us-ascii?q?hqwKP0o4IAQb9lkkYV9428egJkemPYduM7pYQlTKvonNlbQx/mTTvJXv5/FP?=
 =?us-ascii?q?Mh7fneI4P3/iREcnwCfgohlS0OPa0t+yppc5D0HucEgU1sRM8PmXtLTeT2Tz?=
 =?us-ascii?q?zHr1cIWJRd3JNvIR5StBga/ARAX/aVwfYIv18mKX/uazvTONv1uiar/faWGY?=
 =?us-ascii?q?Hyhn6gfN3y+Ey0CDrwN7GG07ddvCQ8dSvuSdxW13yRIb4XQU9+9b42OVNBHP?=
 =?us-ascii?q?94PGiFeSTTReBGTo+XiYnxJH0nw6S4RrL1vgHJM91bJtkYAI1wTzVVjUOnem?=
 =?us-ascii?q?weu1l831JnAkke50/h9UoPZrv6Ofm7tvyrjm59BPGFVfMnxj6CxS5RJliHih?=
 =?us-ascii?q?QDE8W3ySXhtHyoPq5BLHmod8t8oCia2znzlC3C6wJItvbmJmqSicjuuBAM=3?=
 =?us-ascii?q?D?=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77904389"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EFL2WIJuLo1m8Mj0EpxkZxI27lurLg9y+L5ak1Wrn+HvQFRsRCeNjiSM47XTkWXV9xKX5ATPG3ivi2TnOhEQlvlg/ZLrieadIk7lqB4pd9Uk6DrPSFoC8dAn5lH82WQ/Ikjr9PS7PlQqPr6UzoL5RaLuzI1Ku5qYSGUjlwGrbhRqMTLUt8egcVZBCb/DDAesKq2uQS70Q6E7POzkuw+bJ5Qb4S7q5ywOTUKRm3fT24XYvEM/DtB5kIEVZczGwBpBA3Tsz7g7YR+tsA9UysAgr/p3Ss6i8qcChkC7JCySefdF8uLW7XPZyWtjI8D74DqZp1Y6AOuDQ/f6CxnusWquvQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2zxxZQJOHzIKkHOsVuL+rDKlRwyacsJezRH1V/jpBgg=;
 b=Z7qsctWNPmB9LzgWb211tRUAWZJrOw6AuuZxYCAfVxnMzomE62c6xtbjkgumFtAqZz+gumZ+ptI9db5R4T4tt9tBXCKEQHggbGrVkG2v3k+zUb+EC4F6TfPsZlXa3C5l5+b+4rcpxz1b+vlnUZUKJCFF9e3IFQFbz3BipFLXHzSnt7tbsCOerwXzyOrdtI6KFBPo8ecjF9fO+4wOhJNzwROMF4lYYKaOWUIS11FAGSBnuPjoJCL8Yw5e449iJtjkh2nqEgdve3oh3EwUq5SlE9Bc04g3ZY/h+ox2pNWeLg/aCXOn11OPytYmD6UruuelQykxCzT+sj5e23T+aZkVhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2zxxZQJOHzIKkHOsVuL+rDKlRwyacsJezRH1V/jpBgg=;
 b=Mn+kLNYcoU6XKwE39WEubO1ma8jG3NQTwucixQSywTivMYFP6cIzkeWtIjyifYSYV4AA0x9lSDrRhqtjYmmoVs7FcIgd8TK5kkGKzh1UWOUnXWAjQVSb7OFvweOGfoO/Pc6P19t8PR+C7+nhdYnO6zKBuyIwx4mX5hchN0CRx2M=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/2] x86/spec-ctrl: Reduce HVM RSB overhead where possible
Thread-Topic: [PATCH 2/2] x86/spec-ctrl: Reduce HVM RSB overhead where
 possible
Thread-Index: AQHYrBGVOnpsJ3EHKEGHOuDU3gegNK2nxnYAgAI7qAA=
Date: Thu, 11 Aug 2022 18:06:51 +0000
Message-ID: <ba78d9ff-e31e-210f-ebbb-9abb4a4e3fd3@citrix.com>
References: <20220809170016.25148-1-andrew.cooper3@citrix.com>
 <20220809170016.25148-3-andrew.cooper3@citrix.com>
 <b45778e0-9ad3-d32d-e226-7171cfb59394@suse.com>
In-Reply-To: <b45778e0-9ad3-d32d-e226-7171cfb59394@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 15751337-d876-40ad-c60f-08da7bc4440b
x-ms-traffictypediagnostic: PH0PR03MB6939:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 nw7h+i9XSZ2bd7YBkJ1OjkNa+HWj5sErs9Cf7aEOrLZSELtEdRYa0dvaUoteCk3Oh4GUY+cZ2Iip1z8qhxmjmXGakcvMe6JPY/hAAEC2+CUoaTK1s8mrib2swBplgYmDyfyooejclKJ1z6EHdI2WMK4J24WF7jUTuB2Iy2jCxUu6PWQb6vJk7+dzHjFomvRPg5tOVHXoD6/lQqXdHK0CarCHgn3mIXDdH2woRFvsa2KjAoxRuQziw6/n/JgpWchPIMAAkfD6uYQFw0e9swAafn+8K+99cdoXGp054p3DJmVkf4TOhW+b4b+LuW5IPvIiqRGWhzgLthkfN1YKgaAiNNWlOde+9yfpzQZuHgEh4lS3IJo3z7+G6HL+Lck90HCh3Jm4MZH6d2DXpkUjKMJlz7FX8Z2NBfT861SpRIMgnBfszph/4y2V1qw1ifa49AgOuYri2F4cU3WNMXJ2DpIbItMFfnKdH64fVEBTFyPOGfVCSGKUUO081hvWgtPFboTsdpQwLWJMeY/Addvf/lHRyZVsClLHdefTkjoOyy6Wcr0Sq2IqSQjWMCnI/EAzw34yGyXKcQ00073D88MylsNO4PHke0UzLb666WAMnELM9qaXC9OQ0kuNfhNqbk8pG0QqNHgOkx6b/vk0+r4lF158RvZSP/DwffxwDeY6BkpsxSKvjv3evVt7PWirqXzmUc2X5j6NoFsKeexHhrgXJHgFJlp5twCN1HcureRYrcpoMGQ1Vwejx2raukAknq6jlETj4RfH4JlHi1dE4ivAMhziZgiTmYdLzoh+R7VaFHWRSOXsdJ0NDCk0aoMAuyDLOzXuGJ1AXXaNOxGzwC3kdihRc3EOwKYp9MhoVL6JrgLp1lKxkqn52ZmIGznGm4RYkYoH
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(346002)(366004)(396003)(376002)(64756008)(4326008)(31696002)(86362001)(2906002)(71200400001)(6486002)(122000001)(76116006)(38100700002)(8676002)(66946007)(66556008)(66446008)(66476007)(91956017)(5660300002)(8936002)(316002)(82960400001)(38070700005)(6916009)(54906003)(36756003)(6506007)(53546011)(26005)(41300700001)(186003)(2616005)(31686004)(478600001)(83380400001)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VE4rd2kzTXd3ZFpveFVBaFBEcm51Q1dxV0kzMnpsbTB4ZlhEazFuN1FiYWJE?=
 =?utf-8?B?bUMxTkRWRnd3blg1OHhZdlJzbzNCNGVKM0ttbjVMUkZtLy9BdWZLa0Z4T2o4?=
 =?utf-8?B?MVVPN3FnZFJGNWd4dWxXcnNPWFhSYU9zaGRNOE5ZZi9SdXVDcHo2cXJDSTVZ?=
 =?utf-8?B?bEI3NHprZ0tOZUdHRmJiT0xONWUrbkdWY3V2Vlp6c29QV043c1FsMm9hWEpw?=
 =?utf-8?B?MmJMNkZXOUtJdURNdDg4K3lHM1RxYzV4bEhTdmVYZ0oxMSswVGM2UzZqNCtX?=
 =?utf-8?B?WE85bDBta2VuMHdIUEJoMDR3WGMxemtualZSMy9XMkQvU0w0RDdXMkVyT0NM?=
 =?utf-8?B?Y3B6OW15dzJWcmFwMHluQnM2Rkh5TU0xSWZja2tUSzNLanRFSGp1eUlEUkhW?=
 =?utf-8?B?MzRKQ0F4eXVpVUV2QnlHZUZrVG1PVGtjMFZva0lkcjEwWGI2N3FUejN0WUxJ?=
 =?utf-8?B?QUJRN0hrYmRqTEhKdnVJSllZTkl5RFNGdVkrTnMwWndJdGRBT1dhMW94ckZi?=
 =?utf-8?B?QVF5MDgxN0dMTllhbUdtQThtYWd5eGVpUUoxNy81WFZxME0zYkEwK2FsNmdC?=
 =?utf-8?B?amZDaU9Tckdpc3k1VFNRR21PYWFBSUdkWVB1ZGU4NiszbnVNNWloQlF5Nk1H?=
 =?utf-8?B?bVBYNGZJSGRhb1RCOWYxMUFhSWNEMmxyTE5PQlBha1dKZFJNM0phYVF4L2lO?=
 =?utf-8?B?VEg5bHY3MWIwd3F3ODVLVnlwSjhnbGZYcWo4VUtuNk40R0lqK0NnUEFpMU1X?=
 =?utf-8?B?dEJSVnhkSTA5dlhTTFlzZ1Bqa1dDbGlXK25XSVNUQnp0ZlpZYUlJZUxRSjFJ?=
 =?utf-8?B?MVZuTVlFNXAvOEhYamdZZzV2MDhpR0c3WTFqbWo3Wml3OXVZem1PWXNNL3lB?=
 =?utf-8?B?T2RnZTloaG5ndk1ocDFUbVprV1pQNEhYMit3cDM4eVJ6WUtOTitaU05FbVVS?=
 =?utf-8?B?U3pBS3dJaC8yMTZTeVdaNERWdjR3Q3hqMFI4YWR4NEFsOUFwTzVTbFdScnhZ?=
 =?utf-8?B?Y0RUVUFaL09WUlhJdkpkYXNJcWdIWjZmMjhyekNtZTExZlpHTUxKOVdTT0tI?=
 =?utf-8?B?MEdOdHZhdnV0bVpoN3lENzZGU25RMXYrZW1nVVQxVGhkU0M5MVdCRXV0UXhS?=
 =?utf-8?B?OXJ2NTY0QUxBeU5xRDVYTFBSTTE0b0xJdFJIVEZFeUQ3dnFmTnNSTGUxbTlr?=
 =?utf-8?B?WmtOVGRPNEZqR1pybStub0QzbVA2VTdsc214cXlGeTJIYm44MFNjSGpRSlFu?=
 =?utf-8?B?KzlhT0tIYWkvZEQ2VTFRemhTaUZSclJMMGlyZWlxWkZFeFFLckI4RzdOZHk4?=
 =?utf-8?B?T0ZTRXFaZUpIb2RJVjAzVW5kRFFiQjEyejhlTU5PVktLSHZJbHo3UmFkM29w?=
 =?utf-8?B?a0o4UnNpaHFlblpObHp1SWlrWHFXR0ZhcHNkeENUU3hYZFVzZFI5RVFkWmI3?=
 =?utf-8?B?ejBXWW9HaWRvQlZSU2FoQkFpRVczOFZBSGwzOXJmZnlwYXhRSE5oalVlSHVE?=
 =?utf-8?B?Tlk0M3dWVE1ZTmc2clZ2OThGU2laMkExQURHR3FCaERNbHVNcWFqTXhwcmI1?=
 =?utf-8?B?K2ZYMGVPUS8vU3VUTVVhbW5BWEVvU0hjWDJsR3VjZVNRZHJkaVFsR1RrOEQ3?=
 =?utf-8?B?ZHlhZHRRZjVWaXA4N3FrTmhzb2doK21sZE5BRXBONHNuaVhkck9UeHNrcVpx?=
 =?utf-8?B?eCtkNDRvbDB4SzRBQWpoeEsyQnR6aVFVWUc2a3Z3bXRXbEtsYjVnNDZxWTVm?=
 =?utf-8?B?QUppeUhzMkdaYXhQOExuV3pLY0U3a2RKNGwzSWszVUx2U3dkVGNXYTh2c0c5?=
 =?utf-8?B?VWdrS2hmSG1FS1VmRml6Q01MMTNHR00xeWpJbWd0bEMwQVJtLzJ6WmxRNkxa?=
 =?utf-8?B?bW5HdU5NYzBaVHdTMno0SzBNcVV1N01EVFpGQ3AyMmt5MFdmbjNSR0QydE1i?=
 =?utf-8?B?Wkk4cUw5MGFpMnFQUDlyT1FEQWNKYm90L2hqbjluN0RJN1lLZ2hRaENiSkNq?=
 =?utf-8?B?bW02amlNdnZwU0taVDFuTnlXWXJWdUZwRGdnVVJjUU1aa1pPSFd1VWhxVkw1?=
 =?utf-8?B?dzRCN2hvSTBWdWpTbHRLY25Pb1FxMlV4UFE3c2hTaHcvM3VRb1gyR3FVaXNT?=
 =?utf-8?B?dTc3MGpmd3ZjOUI1MlRFbEZZZWtWSVJhWWhJazYyYy9LQ3NrdFBaam1WK01i?=
 =?utf-8?B?WWc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2E08A31356566043AA7B06DF7B1089B4@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	xMe9lXf4bcVNhLKH7n/qmnQbD/ZoOQp5rcJOK/pGaan9UspWG3/KbUnAth46oRcSfekaKFjY/XX0/AEpkRUU/PuJuXdjjB4JyLRDsEBRJ/tA1Psbiqpsm0Bna1/KhKfV84vH8NbJt433gPqklqULhVNtJhmqN9pAFjWE73gSB/gGu54UHdx/LEcYKN3/dQ6Uw5tP8TwrgUCA45LzFPYGcCvn9Za7UoMV49QMQj7GjXnkEGhYeOKOg5yX3femSXO4ADMJdhmDD1vzV3xQwhCgyGKhRfkgJ4+SjB9ZyhvxK7YtsWn0BB3GXiciKypUKufsyAzH18LRxdeP58ezsjt/NdVNZC67f3GvtDWI1t0zbkacAxm+Ado3ry2WtJ9UkjYkI2f7y5qzReLMjJ3NV51+ySlDUac+Yh1hMywateCyhj//JeAecQvdf1SyXPFhjPp1WRxx7ZyKcFYYY6zeEPrSpEY8+to5nQawptIxvOO7bxbGA7kKoMrL6PXmkCQWGxvaOsBsSTtNFbnhH2bku+PhJbjseRtNT9qFfhu2/2L/ta2rt96afd1sG2N9v1726A1xQllNItvR6TrrTUIUfm4biER14KtwP3Ms6RPu+7rIoync7gWL9dGks5uQGR3kx+k7rdMplLe6Yud2AveIMCMwNweOEm0DX0Zl0KSU8tvPstvubycNpC0+plx7dfcnxNtMsBVKIcXh7J/IjhJUhMXaW+m8CtX9gWppkuUkWyWMh5p/jWORaKxwBiGJBAqHi8WIX58PfibZzWksH3jerLUowgIZj5pcuEL9Z8+3iYjq4kAw0M2+b50pW7pGEQPwGRnA
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15751337-d876-40ad-c60f-08da7bc4440b
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 18:06:51.1462
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: BRm3AspFQeti0vsZd4cVBrABmXhkKH1JMCgbvW+CUHPvekN6lyxZjRsIGqN+Y2rHSgOnCpA4PPcubbWf+v+x0bT7Y2tIeZp2ViHYJmKFMrk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6939

T24gMTAvMDgvMjAyMiAwOTowMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDA5LjA4LjIwMjIg
MTk6MDAsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL3Zt
eC9lbnRyeS5TDQo+PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC9lbnRyeS5TDQo+PiBAQCAt
NDQsNiArNDQsNyBAQCBFTlRSWSh2bXhfYXNtX3ZtZXhpdF9oYW5kbGVyKQ0KPj4gICAgICAgICAg
LmVuZG0NCj4+ICAgICAgICAgIEFMVEVSTkFUSVZFICIiLCByZXN0b3JlX3NwZWNfY3RybCwgWDg2
X0ZFQVRVUkVfU0NfTVNSX0hWTQ0KPj4gICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxs
ICpgLCBgam1wICpgIG5vdCBzYWZlIGJlZm9yZSB0aGlzIHBvaW50LiAqLw0KPj4gKyAgICAgICAg
LyogT24gUEJSU0ItdnVsZW5yYWJsZSBoYXJkd2FyZSwgYHJldGAgbm90IHNhZmUgYmVmb3JlIHRo
ZSBzdGFydCBvZiB2bXhfdm1leGl0X2hhbmRsZXIoKSAqLw0KPiBCZXNpZGVzIHRoZSBzcGVsbGlu
ZyBpc3N1ZSBtZW50aW9uZWQgYnkgSmFzb24gSSB0aGluayB0aGlzIGxpbmUgYWxzbw0KPiB3YW50
cyB3cmFwcGluZy4gTWF5YmUgdGhlIHR3byBjb21tZW50cyBhbHNvIHdhbnQgY29tYmluaW5nIHRv
IGp1c3QNCj4gb25lLCBzdWNoIHRoYXQgIldBUk5JTkchIiBjbGVhcmx5IGFwcGxpZXMgdG8gYm90
aCBwYXJ0cy4NCj4NCj4+IEBAIC01MTUsNyArNTE1LDggQEAgc3RhdGljIHZvaWQgX19pbml0IHBy
aW50X2RldGFpbHMoZW51bSBpbmRfdGh1bmsgdGh1bmssIHVpbnQ2NF90IGNhcHMpDQo+PiAgICAg
ICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0lCUEJfRU5UUllfSFZNKSB8fA0KPj4g
ICAgICAgICAgICAgIG9wdF9lYWdlcl9mcHUgfHwgb3B0X21kX2NsZWFyX2h2bSkgICAgICAgPyAi
IiAgICAgICAgICAgICAgIDogIiBOb25lIiwNCj4+ICAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhY
ODZfRkVBVFVSRV9TQ19NU1JfSFZNKSAgICAgID8gIiBNU1JfU1BFQ19DVFJMIiA6ICIiLA0KPj4g
LSAgICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1NDX1JTQl9IVk0pICAgICAgPyAi
IFJTQiIgICAgICAgICAgIDogIiIsDQo+PiArICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZF
QVRVUkVfU0NfUlNCX0hWTSkgICAgICA/ICIgUlNCIiAgICAgICAgICAgOg0KPj4gKyAgICAgICAg
ICAgYm9vdF9jcHVfaGFzKFg4Nl9CVUdfUEJSU0IpICAgICAgICAgICAgICAgPyAiIFBCUlNCIiAg
ICAgICAgIDogIiIsDQo+PiAgICAgICAgICAgICBvcHRfZWFnZXJfZnB1ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA/ICIgRUFHRVJfRlBVIiAgICAgOiAiIiwNCj4+ICAgICAgICAgICAgIG9w
dF9tZF9jbGVhcl9odm0gICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBNRF9DTEVBUiIgICAg
ICA6ICIiLA0KPj4gICAgICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0lCUEJfRU5U
UllfSFZNKSAgPyAiIElCUEItZW50cnkiICAgIDogIiIpOw0KPiBBbG9uZyB0aGUgbGluZXMgb2Yg
aGFsZiBvZiB3aGF0IGZkYmY4YmRmZWJjMiAoIng4Ni9zcGVjLWN0cmw6DQo+IGNvcnJlY3QgcGVy
LWd1ZXN0LXR5cGUgcmVwb3J0aW5nIG9mIE1EX0NMRUFSIikgZGlkLCBJIHRoaW5rIHlvdSBhbHNv
IHdhbnQNCj4gdG8gZXh0ZW5kIHRoZSBvdGhlciAoZWFybGllcikgY29uZGl0aW9uYWwgaW4gdGhp
cyBmdW5jdGlvbiBpbnZvY2F0aW9uLg0KDQpPaCB5ZXMsIGdvb2QgcG9pbnQuDQoNCj4gSSBhbHNv
IHdvbmRlciB3aGV0aGVyIGl0IHdvdWxkbid0IGJlIGhlbHBmdWwgdG8gcGFyZW50aGVzaXplIHRo
ZSBuZXcNCj4gY29uc3RydWN0LCBzdWNoIHRoYXQgaXQnbGwgYmUgbW9yZSBvYnZpb3VzIHRoYXQg
dGhpcyBpcyBhIGRvdWJsZQ0KPiBjb25kaXRpb25hbCBvcGVyYXRvciBkZXRlcm1pbmluZyBhIHNp
bmdsZSBmdW5jdGlvbiBhcmd1bWVudC4NCg0KSSBoYXZlbid0IGRvbmUgdGhhdCBlbHNld2hlcmUu
wqAgUGVyc29uYWxseSwgSSBmaW5kIGl0IGVhc2llciB0byBmb2xsb3cNCnRoZSBjb21tYXMgb24g
dGhlIFJIUy4NCg0KPg0KPj4gQEAgLTcxOCw2ICs3MTksNzcgQEAgc3RhdGljIGJvb2wgX19pbml0
IHJzYl9pc19mdWxsX3dpZHRoKHZvaWQpDQo+PiAgICAgIHJldHVybiB0cnVlOw0KPj4gIH0NCj4+
ICANCj4+ICsvKg0KPj4gKyAqIEhWTSBndWVzdHMgY2FuIGNyZWF0ZSBhcmJpdHJhcnkgUlNCIGVu
dHJpZXMsIGluY2x1ZGluZyBvbmVzIHdoaWNoIHBvaW50IGF0DQo+PiArICogWGVuIHN1cGVydmlz
b3IgbWFwcGluZ3MuDQo+PiArICoNCj4+ICsgKiBUcmFkaXRpb25hbGx5LCB0aGUgUlNCIGlzIG5v
dCBpc29sYXRlZCBvbiB2bWV4aXQsIHNvIFhlbiBuZWVkcyB0byB0YWtlDQo+PiArICogc2FmZXR5
IHByZWNhdXRpb25zIHRvIHByZXZlbnQgUlNCIHNwZWN1bGF0aW9uIGZyb20gY29uc3VtaW5nIGd1
ZXN0IHZhbHVlcy4NCj4+ICsgKg0KPj4gKyAqIEludGVsIGVJQlJTIHNwZWNpZmllcyB0aGF0IHRo
ZSBSU0IgaXMgZmx1c2hlZDoNCj4+ICsgKiAgIDEpIG9uIFZNRXhpdCB3aGVuIElCUlM9MSwgb3IN
Cj4+ICsgKiAgIDIpIHNob3J0bHkgdGhlcmVhZnRlciB3aGVuIFhlbiByZXN0b3JlcyB0aGUgaG9z
dCBJQlJTPTEgc2V0dGluZy4NCj4+ICsgKiBIb3dldmVyLCBhIHN1YnNldCBvZiBlSUJSUy1jYXBh
YmxlIHBhcnRzIGFsc28gc3VmZmVyIFBCUlNCIGFuZCBuZWVkDQo+PiArICogc29mdHdhcmUgYXNz
aXN0YW5jZSB0byBtYWludGFpbiBSU0Igc2FmZXR5Lg0KPj4gKyAqLw0KPj4gK3N0YXRpYyBfX2lu
aXQgZW51bSBodm1fcnNiIHsNCj4+ICsgICAgaHZtX3JzYl9ub25lLA0KPj4gKyAgICBodm1fcnNi
X3BicnNiLA0KPj4gKyAgICBodm1fcnNiX3N0dWZmMzIsDQo+PiArfSBodm1fcnNiX2NhbGN1bGF0
aW9ucyh1aW50NjRfdCBjYXBzKQ0KPj4gK3sNCj4+ICsgICAgaWYgKCBib290X2NwdV9kYXRhLng4
Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9JTlRFTCB8fA0KPj4gKyAgICAgICAgIGJvb3RfY3B1X2Rh
dGEueDg2ICE9IDYgKQ0KPj4gKyAgICAgICAgcmV0dXJuIGh2bV9yc2Jfc3R1ZmYzMjsNCj4+ICsN
Cj4+ICsgICAgaWYgKCAhKGNhcHMgJiBBUkNIX0NBUFNfSUJSU19BTEwpICkNCj4+ICsgICAgICAg
IHJldHVybiBodm1fcnNiX3N0dWZmMzI7DQo+PiArDQo+PiArICAgIGlmICggY2FwcyAmIEFSQ0hf
Q0FQU19QQlJTQl9OTyApDQo+PiArICAgICAgICByZXR1cm4gaHZtX3JzYl9ub25lOw0KPj4gKw0K
Pj4gKyAgICAvKg0KPj4gKyAgICAgKiBXZSdyZSBjaG9vc2luZyBiZXR3ZWVuIHRoZSBlSUJSUy1j
YXBhYmxlIG1vZGVscyB3aGljaCBkb24ndCBlbnVtZXJhdGUNCj4+ICsgICAgICogUEJSU0JfTk8u
ICBFYXJsaWVyIHN0ZXBwaW5ncyBvZiBzb21lIG1vZGVscyBkb24ndCBlbnVtZXJhdGUgZUlCUlMg
YW5kDQo+PiArICAgICAqIGFyZSBleGNsdWRlZCBhYm92ZS4NCj4+ICsgICAgICovDQo+PiArICAg
IHN3aXRjaCAoIGJvb3RfY3B1X2RhdGEueDg2X21vZGVsICkNCj4+ICsgICAgew0KPj4gKyAgICAg
ICAgLyoNCj4+ICsgICAgICAgICAqIENvcmUgKGluYyBIeWJyaWQpIENQVXMgdG8gZGF0ZSAoQXVn
dXN0IDIwMjIpIGFyZSB2dWxlbnJhYmxlLg0KPj4gKyAgICAgICAgICovDQo+PiArICAgIGNhc2Ug
MHg1NTogLyogU2t5bGFrZSBYICovDQo+PiArICAgIGNhc2UgMHg2YTogLyogSWNlIExha2UgU1Ag
Ki8NCj4+ICsgICAgY2FzZSAweDZjOiAvKiBJY2UgTGFrZSBEICovDQo+PiArICAgIGNhc2UgMHg3
ZTogLyogSWNlIExha2UgY2xpZW50ICovDQo+PiArICAgIGNhc2UgMHg4YTogLyogTGFrZWZpZWxk
IChTTkMvVE1UKSAqLw0KPj4gKyAgICBjYXNlIDB4OGM6IC8qIFRpZ2VyIExha2UgVSAqLw0KPj4g
KyAgICBjYXNlIDB4OGQ6IC8qIFRpZ2VyIExha2UgSCAqLw0KPj4gKyAgICBjYXNlIDB4OGU6IC8q
IFNreWxha2UtTCAqLw0KPiBIbW0sIGlzIFNETSBWb2wgNCdzIGluaXRpYWwgdGFibGUgd3Jvbmcg
dGhlbiBpbiBzdGF0aW5nIEthYnkgTGFrZSAvDQo+IENvZmZlZSBMYWtlIGZvciB0aGlzIGFuZCAu
Li4NCj4NCj4+ICsgICAgY2FzZSAweDk3OiAvKiBBbGRlciBMYWtlIFMgKi8NCj4+ICsgICAgY2Fz
ZSAweDlhOiAvKiBBbGRlciBMYWtlIEgvUC9VICovDQo+PiArICAgIGNhc2UgMHg5ZTogLyogU2t5
bGFrZSAqLw0KPiAuLi4gdGhpcz8gT3RvaCBJIG5vdGljZSB0aGF0IGludGVsLWZhbWlseS5oIGFs
c28gc2F5cyBTa3lsYWtlIGluDQo+IHJlc3BlY3RpdmUgY29tbWVudHMsIGRlc3BpdGUgdGhlIGNv
bnN0YW50cyB0aGVtc2VsdmVzIGJlaW5nIG5hbWVkDQo+IGRpZmZlcmVudGx5LiBZZXQgYWdhaW4g
Li4uDQo+DQo+PiArICAgIGNhc2UgMHhhNTogLyogQ29tZXQgTGFrZSAqLw0KPj4gKyAgICBjYXNl
IDB4YTY6IC8qIENvbWV0IExha2UgVTYyICovDQo+IC4uLiB5b3UgY2FsbCB0aGVzZSBDb21ldCBM
YWtlIHdoZW4gaW50ZWwtZmFtaWx5Lmggc2F5cyBTa3lsYWtlIGFsc28gZm9yDQo+IHRoZXNlIChh
bmQgbmFtZXMgdGhlIGxhdHRlcidzIHZhcmlhYmxlIENPTUVUTEFLRV9MKS4NCj4NCj4gV2hhdCBp
cyBpbiB0aGUgY29tbWVudHMgaGVyZSBpcyBvZiBjb3Vyc2Ugbm90IG9mIHByaW1hcnkgY29uY2Vy
biBmb3INCj4gZ2V0dGluZyB0aGlzIHBhdGNoIGluLCBidXQgdGhlIG5hbWVkIGFub21hbGllcyB3
aWxsIHN0YW5kIG91dCB3aGVuIGFsbA0KPiBvZiB0aGlzIGlzIHN3aXRjaGVkIG92ZXIgdG8gdXNl
IGludGVsLWZhbWlseS5oJ3MgY29uc3RhbnRzLg0KDQpOYW1pbmcgaW4gU2t5bGFrZS11YXJjaCBp
cyBhIHRvdGFsIG1lc3MuwqAgSGFsZiBpcyBjb3JlIGNvZGVuYW1lcywgYW5kDQpoYWxmIGlzIG1h
cmtldGluZyBhdHRlbXB0aW5nIHRvIGNvdmVyIHRoZSBmYWN0IHRoYXQgbm90aGluZyBtdWNoIGNo
YW5nZWQNCmluIHRoZSAxMCdzIG9mIHN0ZXBwaW5ncyBmb3IgMHg4ZS8weDllLg0KDQpCdXQgeWVz
LCBJIGRvIG5lZWQgdG8gY2xlYW4gdXAgYSBmZXcgZGV0YWlscyBoZXJlLsKgIEknbSBzdGlsbCB3
YWl0aW5nDQpmb3Igc29tZSBjb3JyZWN0aW9ucyB0byBiZSBtYWRlIGluIG9mZmljaWFsIGRvY3Mu
DQoNCj4NCj4+IEBAIC0xMzI3LDkgKzE0MDAsMzMgQEAgdm9pZCBfX2luaXQgaW5pdF9zcGVjdWxh
dGlvbl9taXRpZ2F0aW9ucyh2b2lkKQ0KPj4gICAgICAgKiBIVk0gZ3Vlc3RzIGNhbiBhbHdheXMg
cG9pc29uIHRoZSBSU0IgdG8gcG9pbnQgYXQgWGVuIHN1cGVydmlzb3INCj4+ICAgICAgICogbWFw
cGluZ3MuDQo+PiAgICAgICAqLw0KPj4gKyAgICBodm1fcnNiID0gaHZtX3JzYl9jYWxjdWxhdGlv
bnMoY2Fwcyk7DQo+PiArICAgIGlmICggb3B0X3JzYl9odm0gPT0gLTEgKQ0KPj4gKyAgICAgICAg
b3B0X3JzYl9odm0gPSBodm1fcnNiICE9IGh2bV9yc2Jfbm9uZTsNCj4+ICsNCj4+ICAgICAgaWYg
KCBvcHRfcnNiX2h2bSApDQo+PiAgICAgIHsNCj4+IC0gICAgICAgIHNldHVwX2ZvcmNlX2NwdV9j
YXAoWDg2X0ZFQVRVUkVfU0NfUlNCX0hWTSk7DQo+PiArICAgICAgICBzd2l0Y2ggKCBodm1fcnNi
ICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAgIGNhc2UgaHZtX3JzYl9wYnJzYjoNCj4+ICsg
ICAgICAgICAgICBzZXR1cF9mb3JjZV9jcHVfY2FwKFg4Nl9CVUdfUEJSU0IpOw0KPj4gKyAgICAg
ICAgICAgIGJyZWFrOw0KPj4gKw0KPj4gKyAgICAgICAgY2FzZSBodm1fcnNiX25vbmU6DQo+PiAr
ICAgICAgICAgICAgLyoNCj4+ICsgICAgICAgICAgICAgKiBTb21ld2hhdCBhcmJpdHJhcnkuICBJ
ZiBzb21ldGhpbmcgaXMgd3JvbmcgYW5kIHRoZSB1c2VyIGhhcw0KPj4gKyAgICAgICAgICAgICAq
IGZvcmNlZCBIVk0gUlNCIHByb3RlY3Rpb25zIG9uIGEgc3lzdGVtIHdoZXJlIHdlIHRoaW5rIG5v
dGhpbmcNCj4+ICsgICAgICAgICAgICAgKiBpcyBuZWNlc3NhcnksIHRoZXkgdGhleSBwb3NzaWJs
eSBrbm93IHNvbWV0aGluZyB3ZSBkb250Lg0KPj4gKyAgICAgICAgICAgICAqDQo+PiArICAgICAg
ICAgICAgICogVXNlIHN0dWZmMzIgaW4gdGhpcyBjYXNlLCB3aGljaCBpcyB0aGUgbW9zdCBwcm90
ZWN0aW9uIHdlIGNhbg0KPj4gKyAgICAgICAgICAgICAqIG11c3Rlci4NCj4+ICsgICAgICAgICAg
ICAgKi8NCj4+ICsgICAgICAgICAgICBmYWxsdGhyb3VnaDsNCj4+ICsNCj4+ICsgICAgICAgIGNh
c2UgaHZtX3JzYl9zdHVmZjMyOg0KPj4gKyAgICAgICAgICAgIHNldHVwX2ZvcmNlX2NwdV9jYXAo
WDg2X0ZFQVRVUkVfU0NfUlNCX0hWTSk7DQo+PiArICAgICAgICAgICAgYnJlYWs7DQo+PiArICAg
ICAgICB9DQo+PiAgDQo+PiAgICAgICAgICAvKg0KPj4gICAgICAgICAgICogRm9yIFNWTSwgWGVu
J3MgUlNCIHNhZmV0eSBhY3Rpb25zIGFyZSBwZXJmb3JtZWQgYmVmb3JlIFNUR0ksIHNvDQo+IEZv
ciBwZW9wbGUgdXNpbmcgZS5nLiAic3BlYy1jdHJsPW5vLWlicnMiIGJ1dCBsZWF2aW5nIFJTQiBz
dHVmZmluZyBlbmFibGVkDQo+IChvciBmb3JjZS1lbmFibGluZyBpdCkgd2UnZCBuZWVkIHRvIGhh
dmUgYW4gTEZFTkNFIHNvbWV3aGVyZSBhcyB3ZWxsLg0KDQpXZSBkb24ndCwgYnV0IGl0J3Mgc3Vi
dGxlLg0KDQpBdHRlbXB0aW5nIHRvIGV4cGxvaXQgUEJSU0IgaXMgYSBzdWItY2FzZSBvZiB0cnlp
bmcgdG8gZXhwbG9pdCBnZW5lcmFsDQpSU0Igc3BlY3VsYXRpb24gb24gb3RoZXIgcHJvY2Vzc29y
cyB3aGljaCBkb2Vzbid0IGZsdXNoIHRoZSBSU0Igb24gdm1leGl0Lg0KDQpYZW4gZG9lc24ndCBh
cmNoaXRlY3R1cmFsbHkgZXhlY3V0ZSBtb3JlIFJFVHMgdGhhbiBDQUxMcyAodW5saWtlIG90aGVy
DQpvcGVuIHNvdXJjZSBoeXBlcnZpc29ycyB3aGljaCBkbyBoYXZlIGEgcHJvYmxlbSBoZXJlKSwg
c28gYW4gYXR0YWNrZXINCmZpcnN0IG5lZWRzIHRvIGNvbnRyb2wgc3BlY3VsYXRpb24gdG8gZmlu
ZCBhIG5vbi1hcmNoaXRlY3R1cmFsIHBhdGggd2l0aA0KZXhjZXNzIFJFVHMuDQoNClRoaXMgaXMg
YWxyZWFkeSBtYWtlcyBpdCBhIGxhY2stb2YtZGVmZW5jZS1pbi1kZXB0aCB0eXBlIHByb2JsZW0s
DQpiZWNhdXNlIGlmIHRoZSBhdHRhY2tlciBjb3VsZCBjb250cm9sIHNwZWN1bGF0aW9uIGxpa2Ug
dGhhdCwgdGhleSdkIG5vdA0KY2FyZSBhYm91dCBjaGFpbmluZyBpdCBsaWtlIHRoaXMgdG8gYSBt
b3JlIGNvbXBsaWNhdGVkIGV4cGxvaXQuDQoNCkFuIGF0dGFja2VyIGhhcyB0byBmaW5kIGVub3Vn
aCByZXRzIHRvIHVud2luZCBhbGwgdGhlIENBTExzIFhlbiBoYXMgZG9uZQ0KdGh1cyBmYXIgKDMg
aW4gdGhpcyBleGFtcGxlLsKgIDIgZnJvbSB0aGUgZmlyc3QgUlNCIGxvb3AsIGFuZCB0aGUgY2Fs
bCB1cA0KaW50byB0aGUgdm1leGl0IGhhbmRsZXIpLCBhbmQgdGhlbiBvbmUgZXh0cmEgdG8gY29u
c3VtZSB0aGUgYmFkIFJTQg0KZW50cnkuwqAgaS5lLiB0aGV5IG5lZWQgdG8gZmluZCBhbiB1bmV4
cGVjdGVkIGNvZGUgc2VxdWVuY2UgaW4gWGVuIHdpdGggNA0KZXhjZXNzIFJFVHMsIGFzc3VtaW5n
IHRoZXkgY2FuIGZpbmQgYSBnYWRnZXQgaW4gdm14X3ZtZXhpdF9oYW5kbGVyKCkNCm9ubHkgd2hp
Y2ggdGhleSBjYW4gY29udHJvbCBzcGVjdWxhdGlvbiB3aXRoLg0KDQpBbGwgdGhlIEhWTSBmdW5j
cyBhcmUgYWx0Y2FsbHMgbm93LCB3aGljaCB3b3VsZCBoYXZlIGJlZW4gYmUgdGhlIG9idmlvdXMN
CnBsYWNlIHRvIHRyeSBhbmQgYXR0YWNrLCBidXQgY2FuJ3QgYmUgYXR0YWNrZWQgYW55IG1vcmUu
wqAgV2UgZG8gaGF2ZQ0Kc29tZSBpbmRpcmVjdCBicmFuY2hlcywgYW5kIG90aGVyIG1lY2hhbmlz
bXMgaW4gcGxhY2UgdG8gdHJ5IGFuZCBwcm90ZWN0DQp0aGVtLg0KDQpCdXQuLi4gYW4gYXR0YWNr
ZXIgaGFzIHRvIGRvIGFsbCBvZiB0aGlzLCBpbiB0aGUgc3BlY3VsYXRpdmUgc2hhZG93IG9mDQp0
aGUgbWlzcHJlZGljdGVkIGxvb3AgZXhpdCwgdGFraW5nIGl0IGZpcm1seSBmcm9tICJ0aGVvcmV0
aWNhbGx5IiBpbnRvDQoiaW1wb3NzaWJsZSIgdGVycml0b3J5Lg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 19:10:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 19:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385112.620654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDZh-0004O3-CP; Thu, 11 Aug 2022 19:10:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385112.620654; Thu, 11 Aug 2022 19:10:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDZh-0004Nw-9g; Thu, 11 Aug 2022 19:10:33 +0000
Received: by outflank-mailman (input) for mailman id 385112;
 Thu, 11 Aug 2022 19:10:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8gOk=YP=canonical.com=mfo@srs-se1.protection.inumbo.net>)
 id 1oMDZf-00047D-Ik
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 19:10:31 +0000
Received: from smtp-relay-internal-0.canonical.com
 (smtp-relay-internal-0.canonical.com [185.125.188.122])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43e533a2-19a9-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 21:10:30 +0200 (CEST)
Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com
 [209.85.221.199])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 9AC7D3FB9A
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 19:10:29 +0000 (UTC)
Received: by mail-vk1-f199.google.com with SMTP id
 m198-20020a1f26cf000000b0037d0bb08ff0so542100vkm.22
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 12:10:29 -0700 (PDT)
Received: from localhost.localdomain ([2804:14c:4e1:83a2:2ee9:2118:a2dc:3dd6])
 by smtp.gmail.com with ESMTPSA id
 g7-20020a67ea07000000b00384b60a5160sm120094vso.12.2022.08.11.12.10.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Aug 2022 12:10:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43e533a2-19a9-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;
	s=20210705; t=1660245029;
	bh=Bku1QWFjoN5ugmM4WYD4XEpuzkdpLBaIxy3t9egl2dU=;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
	 MIME-Version;
	b=veFCjXNrgHwp7PlSgIkzJ1re+NvzmQA+5bK55VyPrRJu1741Kv9qZA4nWt48kicLO
	 xQrPFEYlXl+eblhmvpll7gZvsTjN+dUG8gELao8HH9V73nhzXtD47buRKu+O9Ww6yl
	 otyi14ZjS5VXKq+vhPeQNJ2FVCN4Q3wVsqwV9o8zAn7c7nlZU/hdo1vEDp9e9VeY8p
	 gi1AXSaOtPkhhO6F0e16UAXTa4THhlicoDpTnYx/NH5H/a0HI80ruPIzDLqP7qQhHO
	 uAawwc29Q2L7FgDb/xfeSqbLxcdHX2812vvfAfAqrYgKCltXVezny8eiRbYoU97/KC
	 zuY5JIfq7Gt0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=Bku1QWFjoN5ugmM4WYD4XEpuzkdpLBaIxy3t9egl2dU=;
        b=1xSo7VDmVqEHrBrcmQ4vyC1sDz6eQiOEkQNE9+7sqTgBC+nGqyMm3Nj43GkULVI+9m
         NrngfdNJ/7y5qdnxWqsSpHf45XIIBZBCB2QJ6uQ8bBQQ44xZIcIHSheh2k48Zk9yEQnl
         fKa6kh4TPz89azFCk4OdWqtg8gM8BgrVrWUZWpRR9wUChJPYoF1eKXpnaDONNV+nbrIF
         sh9PqXCcVHHKJ0TXraPCbXpv+RSLm3dNoD/QD+Kg1VunUeEWcJ/PAXzlH63cZuTs1AhD
         gKT3iiX3tdx809dNHYpy9InQXtx5m4U/YE9gnplrGQ0yg0mx7t98NutnVywO0KRUNWxD
         Llrg==
X-Gm-Message-State: ACgBeo0C2soPpIpHb+PeHYTWvFtJmf3Bo1szUUGv8sTGNsa409zTv6CI
	L5GFaaPfplOZ+ECtqyZL7J6DRUPfMKO/r7Q1SnrOn4uDaIhqjElMoDDfjmlNSEC3WSbRTdt+vaI
	GWiHJdVttwLxPBGp3dLKr/tCfE06NTdRXsJtT1ox2vFmd
X-Received: by 2002:a05:6102:238d:b0:388:b4aa:9f37 with SMTP id v13-20020a056102238d00b00388b4aa9f37mr343526vsr.31.1660245028264;
        Thu, 11 Aug 2022 12:10:28 -0700 (PDT)
X-Google-Smtp-Source: AA6agR7sJF0r7Bab4TEClDzx3QZJkVijmAqmhpwSOj/n3f6ue0JTLlUNFDAzWPlrmv2No7ACNyKt7g==
X-Received: by 2002:a05:6102:238d:b0:388:b4aa:9f37 with SMTP id v13-20020a056102238d00b00388b4aa9f37mr343511vsr.31.1660245027975;
        Thu, 11 Aug 2022 12:10:27 -0700 (PDT)
From: Mauricio Faria de Oliveira <mfo@canonical.com>
To: xen-devel@lists.xenproject.org,
	grub-devel@gnu.org
Cc: Daniel Kiper <dkiper@net-space.pl>,
	=?UTF-8?q?Peter=20Gro=C3=9Fe?= <pegro@friiks.de>
Subject: [PATCH 2/2] templates/linux_xen: Properly order the multiple initrd files
Date: Thu, 11 Aug 2022 16:10:14 -0300
Message-Id: <20220811191014.139882-3-mfo@canonical.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220811191014.139882-1-mfo@canonical.com>
References: <20220811191014.139882-1-mfo@canonical.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The linux_xen template orders the "early" initrd file(s) _first_
(i.e., before the "real" initrd files) and that seems reasonable,
as microcode updates usually come first.

However, this usually breaks Linux boot with initrd under Xen
because Xen assumes the real initrd is the first multiboot[2]
module after the kernel, passing its address over to Linux in
Xen's start_info struct.

So, if a microcode-only initrd (i.e., without init/userspace)
is found by grub-mkconfig, it ends up considered as a normal
initrd by the Linux kernel, which cannot do anything with it
(as it has no other files) and panic()s unable to mount root
if it depends on a initrd to do that (e.g., root=UUID=...).

...

Well, since Xen doesn't actually use the provided microcode
by default / unless the 'ucode=<module number|scan>' option
is enabled, this isn't used in the general case (and breaks).

Additionally, if an user enables the 'ucode=' option, that
either specifies which module is to be used for microcode,
or scans all modules (regardless of being first) for that.

Thus, for Xen:
- it is *not required* to have microcode first,
- but it is *required* to have real initrd first

So, fix it by ordering the real initrd before early initrd(s).

After:

    # touch /boot/xen /boot/microcode.cpio
    # grub-mkconfig 2>/dev/null | grep -P '^\t(multiboot|module)'
            multiboot      /boot/xen ...
            module  /boot/vmlinuz-5.4.0-122-generic ...
            module  --nounzip   /boot/initrd.img-5.4.0-122-generic
            module  --nounzip   /boot/microcode.cpio

...

Corner case specific to Xen implementation details:

It is actually _possible_ to have a microcode initrd first,
but that requires a non-default option (so can't rely on it),
and it turns out to be inconsistent with its counterpart
(really shouldn't rely on it, as it may get confusing; below).

'ucode=1' does manually specify the first module is microcode
_AND_ clears its bit in the module bitmap. The next module is
now the 'new first', and gets passed to Linux as initrd. Good.

'ucode=scan' checks all modules for microcode, but does _NOT_
clear a bit if it finds one (reasonable, as it can find that
prepended in a "real" initrd anyway, which needs to be used).
The first module still gets passed to Linux as initrd. Bad.

Fixes: e86f6aafb8de ("grub-mkconfig/20_linux_xen: Support multiple early initrd images")

Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com>
---
 util/grub.d/20_linux_xen.in | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
index 50c62562b730..626aed40cbfd 100644
--- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in
@@ -307,7 +307,10 @@ for current_xen in ${reverse_sorted_xen_list}; do
 
 	initrd=
 	if test -n "${initrd_early}" || test -n "${initrd_real}"; then
-	    initrd="${initrd_early} ${initrd_real}"
+	    # Xen assumes the real initrd is the first module after the kernel.
+	    # Additional (later) initrds can also be used for microcode update,
+	    # with Xen option 'ucode=<scan|module number> (non-default anyway).
+	    initrd="${initrd_real} ${initrd_early}"
 
 	    initrd_display=
 	    for i in ${initrd}; do
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 19:10:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 19:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385111.620643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDZf-00048N-51; Thu, 11 Aug 2022 19:10:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385111.620643; Thu, 11 Aug 2022 19:10:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDZf-00048G-2H; Thu, 11 Aug 2022 19:10:31 +0000
Received: by outflank-mailman (input) for mailman id 385111;
 Thu, 11 Aug 2022 19:10:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8gOk=YP=canonical.com=mfo@srs-se1.protection.inumbo.net>)
 id 1oMDZd-0003so-S0
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 19:10:29 +0000
Received: from smtp-relay-internal-0.canonical.com
 (smtp-relay-internal-0.canonical.com [185.125.188.122])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 428ad19f-19a9-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 21:10:27 +0200 (CEST)
Received: from mail-vs1-f70.google.com (mail-vs1-f70.google.com
 [209.85.217.70])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 418093FB95
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 19:10:27 +0000 (UTC)
Received: by mail-vs1-f70.google.com with SMTP id
 124-20020a670882000000b00388cd45f433so1751644vsi.8
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 12:10:27 -0700 (PDT)
Received: from localhost.localdomain ([2804:14c:4e1:83a2:2ee9:2118:a2dc:3dd6])
 by smtp.gmail.com with ESMTPSA id
 g7-20020a67ea07000000b00384b60a5160sm120094vso.12.2022.08.11.12.10.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Aug 2022 12:10:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 428ad19f-19a9-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;
	s=20210705; t=1660245027;
	bh=hUhj4xVWV7i7kcWOSw9PKIOewcy2KLy7hUSFmlSeALs=;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
	 MIME-Version:Content-Type;
	b=JvfFDGvxb4Ky1UyLUiF1YIdF6mYNxCfwhk09hK6SY0yqMo+lOG0wljB0qxkLwTbCr
	 kN5pKEOKE7+SX6uV8DBhdG9NHglkuaA2DbrJz+xvo7c/3Fc4NQKyvJRpsdo3zPj0HB
	 wkG4yuiAg9c7FIbasgkYcycoIa2ZNQ8R2ftotSkAsetEQHqWBMRL7vDUhTvqXu1Uqc
	 KZisrNZtloq1YoHnwOT3ugj91M43/isBjwETWksWupBWqUzCZd0V9cUF7rx/D7Eael
	 +gGAVMSlKbDp2BIWdLS0EtyTh/GEj525rOvo9hJWysEmM7DSnmfoWbjlwlqsdia4F9
	 T/5S41C+PmIdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=hUhj4xVWV7i7kcWOSw9PKIOewcy2KLy7hUSFmlSeALs=;
        b=jKCPbq3j42olQQl1h+ZtjyPXp3hGhzpBkDDuTx6Dxg19YgL6lW66s7yHUvg9FV/cUK
         Fh8wpt5OXb5br6cWD1iyLCxxATCKl83cfi3o3a5aLlTme9z8AMj02xdQ+kgAcm5qI6UR
         aAXL9wueLrx98qGHx0cNeM3XL8SAtxnWcLC+eWXnMqEyhbrE/Mzm2oVTb9sgil4M5JHK
         2dpSUUzSJkGnxc+h531ZZNyGxrU3XRV2yafDRm7zoNqRiaV0nIRCiWUbMPV64TA1RTUf
         s+TYYIzgmZRtBMJUOuTR0sM41qK6Pa8l4z9eELLU5xquyh++P5LQlXcmjTTAWzKFA5et
         az4A==
X-Gm-Message-State: ACgBeo2Rwr3DbQ/3PTZ9oJ3YKg7T50PWeumlJ8lsIBjtpt2kf7lJKM8u
	z23LkvoVUEnz5ptLn92rjrhUbssE7VV9zAwAOaBxoO2+iVLvSAnvsiypa7Cj+SjXDxf39u6NX0l
	v9PrNp9W8jSZbrar/LPVldO7MYfYa+pf2pwfeqXq1K6iB
X-Received: by 2002:a05:6102:35c:b0:381:5d05:4eed with SMTP id e28-20020a056102035c00b003815d054eedmr291718vsa.74.1660245026117;
        Thu, 11 Aug 2022 12:10:26 -0700 (PDT)
X-Google-Smtp-Source: AA6agR6fIp/rY8D97jEgLS//TfrCICxkbup/p/NhqJDS1P8SHF2f6jQwj5g6tmRAkZjERWUPn7iSzQ==
X-Received: by 2002:a05:6102:35c:b0:381:5d05:4eed with SMTP id e28-20020a056102035c00b003815d054eedmr291705vsa.74.1660245025851;
        Thu, 11 Aug 2022 12:10:25 -0700 (PDT)
From: Mauricio Faria de Oliveira <mfo@canonical.com>
To: xen-devel@lists.xenproject.org,
	grub-devel@gnu.org
Cc: Daniel Kiper <dkiper@net-space.pl>,
	=?UTF-8?q?Peter=20Gro=C3=9Fe?= <pegro@friiks.de>
Subject: [PATCH 1/2] templates/linux_xen: Properly load multiple initrd files
Date: Thu, 11 Aug 2022 16:10:13 -0300
Message-Id: <20220811191014.139882-2-mfo@canonical.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220811191014.139882-1-mfo@canonical.com>
References: <20220811191014.139882-1-mfo@canonical.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The linux_xen template can put multiple initrd files in the
same multiboot[2] module[2] command, which is against specs.

This causes ONLY the _first_ initrd file to be loaded; other
files just have filenames in a "cmdline" string of the first
initrd file and are NOT loaded.

Fix this by inserting a module[2] command per initrd file.

Before:

    # touch /boot/xen /boot/microcode.cpio
    # grub-mkconfig 2>/dev/null | grep -P '^\t(multiboot|module)'
            multiboot       /boot/xen ...
            module  /boot/vmlinuz-5.4.0-122-generic ...
            module  --nounzip   /boot/microcode.cpio /boot/initrd.img-5.4.0-122-generic

After:

    # touch /boot/xen /boot/microcode.cpio
    # grub-mkconfig 2>/dev/null | grep -P '^\t(multiboot|module)'
            multiboot      /boot/xen ...
            module  /boot/vmlinuz-5.4.0-122-generic ...
            module  --nounzip   /boot/microcode.cpio
            module  --nounzip   /boot/initrd.img-5.4.0-122-generic

Cause:

The code was copied from the linux template, which is *apparently*
equivalent.. but its initrd command grub_cmd_initrd() *supports*
multiple files (see grub_initrd_init()), while module/module2 in
grub_cmd_module() *does not* (see grub_multiboot[2]_add_module()).

See commit e86f6aafb8de ("grub-mkconfig/20_linux_xen: Support multiple early initrd images"):
    'This is basically a copy of a698240d "grub-mkconfig/10_linux:
     Support multiple early initrd images" ...'

Specs:

Both multiboot and multiboot2 specifications mention support for
'multiple boot modules' (struct/tag used for kernel/initrd files):

    "Boot loaders donâ€™t have to support multiple boot modules,
     but they are strongly encouraged to" [1,2]

However, there is a 1:1 relationship between boot modules and files,
more or less clearly; note the usage of singular/plural "module(s)".
(Multiboot2, clearly: "One tag appears per module".)

  Multiboot [1]:

    "the â€˜modsâ€™ fields indicate ... what boot modules
     were loaded ..., and where they can be found.
     â€˜mods_countâ€™ contains the number of modules loaded"

    "The first two fields contain the start and end addresses
     of the boot module itself."

  Multiboot2 [2]:

    "This tag indicates ... what boot module was loaded ...,
     and where it can be found."

    "The â€˜mod_startâ€™ and â€˜mod_endâ€™ contain the start and end
     physical addresses of the boot module itself."

    "One tag appears per module.
     This tag type may appear multiple times."

And both clearly mention the 'string' field of a boot module,
which is to be used by the operating system, not boot loader:

     "The â€˜stringâ€™ field provides an arbitrary string to be
      associated with that particular boot module ...
      its exact use is specific to the operating system."

Links:

[1] https://www.gnu.org/software/grub/manual/multiboot/multiboot.html
    3.3 Boot information format

[2] https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html
    3.6.6 Modules

Fixes: e86f6aafb8de ("grub-mkconfig/20_linux_xen: Support multiple early initrd images")

Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com>
---
 util/grub.d/20_linux_xen.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
index 4382303c17f0..50c62562b730 100644
--- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in
@@ -162,12 +162,12 @@ EOF
     message="$(gettext_printf "Loading initial ramdisk ...")"
     initrd_path=
     for i in ${initrd}; do
-       initrd_path="${initrd_path} ${rel_dirname}/${i}"
-    done
-    sed "s/^/$submenu_indentation/" << EOF
+       initrd_path="${rel_dirname}/${i}"
+       sed "s/^/$submenu_indentation/" << EOF
 	echo	'$(echo "$message" | grub_quote)'
 	${module_loader}	--nounzip   $(echo $initrd_path)
 EOF
+    done
   fi
   if test -n "${xenpolicy}" ; then
     message="$(gettext_printf "Loading XSM policy ...")"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 19:10:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 19:10:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385110.620632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDZd-0003t1-UR; Thu, 11 Aug 2022 19:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385110.620632; Thu, 11 Aug 2022 19:10:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDZd-0003su-R8; Thu, 11 Aug 2022 19:10:29 +0000
Received: by outflank-mailman (input) for mailman id 385110;
 Thu, 11 Aug 2022 19:10:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8gOk=YP=canonical.com=mfo@srs-se1.protection.inumbo.net>)
 id 1oMDZd-0003so-7j
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 19:10:29 +0000
Received: from smtp-relay-internal-1.canonical.com
 (smtp-relay-internal-1.canonical.com [185.125.188.123])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41845f70-19a9-11ed-924f-1f966e50362f;
 Thu, 11 Aug 2022 21:10:26 +0200 (CEST)
Received: from mail-ua1-f71.google.com (mail-ua1-f71.google.com
 [209.85.222.71])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 8587C3FDDE
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 19:10:25 +0000 (UTC)
Received: by mail-ua1-f71.google.com with SMTP id
 k12-20020a9f30cc000000b0038cfe232fc3so1742828uab.18
 for <xen-devel@lists.xenproject.org>; Thu, 11 Aug 2022 12:10:25 -0700 (PDT)
Received: from localhost.localdomain ([2804:14c:4e1:83a2:2ee9:2118:a2dc:3dd6])
 by smtp.gmail.com with ESMTPSA id
 g7-20020a67ea07000000b00384b60a5160sm120094vso.12.2022.08.11.12.10.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Aug 2022 12:10:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41845f70-19a9-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;
	s=20210705; t=1660245025;
	bh=WI3WTcluaX9QeWSCytatte5fzBb19E+aqsA1DyfB5WM=;
	h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type;
	b=U48L5BMbBrnYlC9xdaXn19AsptvPl/DSo6K/nR7lpBIsRSFeqOpzeWX2In69ia4yb
	 1jmh6UyVY+oAZDGD0v/xad3P9LIc8d6zuGbRZl/9D231WRCHJn7OCSQNVcMhd7HSqt
	 Wnbk0cO0nDzHflfPdEgq0DFSkIiCz4F5MsW5Z/3SJkTJ7T7R+qcb2uSXMYMUr6+uOI
	 GCM5Kkv0ZBBMzizhxuRto84LnTGeCXJbW62E8pmDlNqa28RLwPmxUrgF2tTLg2YEe/
	 DYzeaepHLNHjyljWlVjpCkKJCPZVdzwWtCeY2nJXxy5xH6bm1e/oahRCPzKpc+aSG3
	 vcvQ/UhyTnwTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=WI3WTcluaX9QeWSCytatte5fzBb19E+aqsA1DyfB5WM=;
        b=cX2xqqA1KuNU0PJ78J1X1LUlnPxQeYmAd2761XOAXXuBMlb86EEPcKOPTmS+afEnG3
         PZXkB3G9fPFirKZnTQscJ3dpluftDv23QeQ33tDiluAfls1tdYSQZv04BL7AsAKuznFR
         eWd46GSkPSQeSVH4ctDrmdc3sCK/2uuX1WUZZZ7irDehJSep6iRMlpojTgESwsaF7s+u
         DAgy38nYnhm7sNaiJwnDfU3VnPDyanNgn3N7vNy2LeFLoBzoC1dHBF7DmqNYziFFbMcA
         sHbKm4FsuO6r6rJQ/R6xteRtdqRPY19CJszsJ1+BXT0mmaA38SHA9C6QrzH2FL7wjOtm
         LJRg==
X-Gm-Message-State: ACgBeo2w8c7diH/IQsARxWDL22oNnHi0c7uYMgn6pGblyydUacwkrR8n
	tCTHrLCHFdnbzSZ1mBzybVqHiqQMmgVSuWzosB+T9RkNakbnhLbon9TYmWtwLs3hmSyujo9Mzwz
	6MrzqkTv3IsL746DJWEOPSF6QjFQm0VUX+C/I+x/h9qTa
X-Received: by 2002:a05:6102:748:b0:383:f58b:e1d1 with SMTP id v8-20020a056102074800b00383f58be1d1mr232971vsg.4.1660245024094;
        Thu, 11 Aug 2022 12:10:24 -0700 (PDT)
X-Google-Smtp-Source: AA6agR7+3e6BBFtoN2+LChsymM31WoFtOxj+BrpCOK6WyVItXRq5dZIBaMclDO82NnKHtiZC3BBg2Q==
X-Received: by 2002:a05:6102:748:b0:383:f58b:e1d1 with SMTP id v8-20020a056102074800b00383f58be1d1mr232941vsg.4.1660245023802;
        Thu, 11 Aug 2022 12:10:23 -0700 (PDT)
From: Mauricio Faria de Oliveira <mfo@canonical.com>
To: xen-devel@lists.xenproject.org,
	grub-devel@gnu.org
Cc: Daniel Kiper <dkiper@net-space.pl>,
	=?UTF-8?q?Peter=20Gro=C3=9Fe?= <pegro@friiks.de>
Subject: [PATCH 0/2] templates/linux_xen: Properly handle multiple initrd files
Date: Thu, 11 Aug 2022 16:10:12 -0300
Message-Id: <20220811191014.139882-1-mfo@canonical.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Adding the xen-devel list as requested in grub-devel [0]:

On Thu, Aug 11, 2022 at 1:51 PM Daniel Kiper <dkiper@net-space.pl> wrote:
> In general patches LGTM. However, I would prefer to hear an opinion from Xen
> folks too. So, please repost the patch set and add xen-devel@lists.xenproject.org
> to the list of recipients.

[0] https://lists.gnu.org/archive/html/grub-devel/2022-08/msg00115.html

Thanks,
Mauricio

...

The linux_xen template seems to be broken for multiple initrd files.
Linux fails to boot when it needs a real initrd but early/microcode
initrd(s) are found by grub-mkconfig.

Patch 1 allows initrd(s) other than the first early/microcode initrd
to be loaded at all, fixing an implementation error for multiboot[2].

Patch 2 allows Linux to get the real initrd as initrd (vs. an early/
microcode-only initrd), thus being able to boot if it needs a initrd.

Synthetic tests:
---

    # touch /boot/xen /boot/microcode.cpio

Original:

    # grub-mkconfig 2>/dev/null | grep -P '^\t(multiboot|module)'
            multiboot       /boot/xen ...
            module  /boot/vmlinuz-5.4.0-122-generic ...
            module  --nounzip   /boot/microcode.cpio /boot/initrd.img-5.4.0-122-generic

Patch 1:

    # grub-mkconfig 2>/dev/null | grep -P '^\t(multiboot|module)'
            multiboot      /boot/xen ...
            module  /boot/vmlinuz-5.4.0-122-generic ...
            module  --nounzip   /boot/microcode.cpio
            module  --nounzip   /boot/initrd.img-5.4.0-122-generic

Patch 2:

    # grub-mkconfig 2>/dev/null | grep -P '^\t(multiboot|module)'
            multiboot      /boot/xen ...
            module  /boot/vmlinuz-5.4.0-122-generic ...
            module  --nounzip   /boot/initrd.img-5.4.0-122-generic
            module  --nounzip   /boot/microcode.cpio

    With fake multiboot2 header:

    # echo -en '\xd6\x50\x52\xe8\x00\x00\x00\x00' > /boot/xen
    # echo -en '\x00\x00\x00\x00\x2a\xaf\xad\x17' >> /boot/xen
    # echo -en '\x00\x00\x00\x00\x00\x00\x00\x00' >> /boot/xen
    # echo -en '\x00\x00\x00\x00\x00\x00\x00\x00' >> /boot/xen

    # grub-file --is-x86-multiboot2 /boot/xen; echo $?
    0
    
    # grub-mkconfig 2>/dev/null | grep -P '^\t(multiboot|module)'
            multiboot2      /boot/xen ...
            module2 /boot/vmlinuz-5.4.0-122-generic ...
            module2 --nounzip   /boot/initrd.img-5.4.0-122-generic
            module2 --nounzip   /boot/microcode.cpio

Regular tests:
---

Debug patch:

    __start_xen() @ xen.git:xen/arch/x86/setup.c
    ...
    +for (i = 0; i < mbi->mods_count; i++)
    +   printk("MODULE %d size %d string %s\n",
    +          i, mod[i].mod_end - mod[i].mod_start, (char*)__va(mod[i].string));
    +
     bitmap_fill(module_map, mbi->mods_count);
     __clear_bit(0, module_map); /* Dom0 kernel is always first */

For /boot/microcode.cpio:

    $ sudo apt install microcode-initrd # on Ubuntu

    $ du --bytes /boot/...
    13660416 /boot/vmlinuz-5.4.0-122-generic
    33062542 /boot/initrd.img-5.4.0-122-generic
    5045248  /boot/microcode.cpio

Original:

    (XEN) MODULE 0 size 13660416 string placeholder root=UUID=74dd579c-a377-487d-b8f7-bc7c6df13ba1 ro console=ttyS0
    (XEN) MODULE 1 size 5045248 string /boot/initrd.img-5.4.0-122-generic
    ...
    [    2.505207] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Patch 1:

    (XEN) MODULE 0 size 13660416 string placeholder root=UUID=74dd579c-a377-487d-b8f7-bc7c6df13ba1 ro console=ttyS0
    (XEN) MODULE 1 size 5045248 string
    (XEN) MODULE 2 size 33062542 string
    ...
    [    1.890498] Freeing initrd memory: 4928K
    ...
    [    2.710948] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Patch 2:

    (XEN) MODULE 0 size 13660416 string placeholder root=UUID=74dd579c-a377-487d-b8f7-bc7c6df13ba1 ro console=ttyS0
    (XEN) MODULE 1 size 33062542 string
    (XEN) MODULE 2 size 5045248 string
    ...
    [    1.968578] Freeing initrd memory: 32288K
    ...
    [    2.844889] Run /init as init process
    [    2.916532] systemd-udevd[148]: Starting version 245.4-4ubuntu3.17

Xen code:
---

Key code path for this patchset:

    @ xen.git:xen/arch/x86/setup.c:

    void __init noreturn __start_xen(unsigned long mbi_p)
    {
    ...
        unsigned int initrdidx, ...
        multiboot_info_t *mbi;
        module_t *mod;
        unsigned long ..., module_map[1];
    ...
        mbi = __va(mbi_p);
    ...
        mod = __va(mbi->mods_addr);
    ...
        bitmap_fill(module_map, mbi->mods_count);
        __clear_bit(0, module_map); /* Dom0 kernel is always first */
    ...
        microcode_grab_module(module_map, mbi);
           # ucode=number can __test_and_clear_bit(number, module_map),
           # ucode=scan can't.
    ...
        initrdidx = find_first_bit(module_map, mbi->mods_count);
        if ( bitmap_weight(module_map, mbi->mods_count) > 1 )
        printk(XENLOG_WARNING
               "Multiple initrd candidates, picking module #%u\n",
               initrdidx);
    ...
        /*
         * ... The second module, if present, is an initrd ramdisk.
         */
        dom0 = create_dom0(mod, modules_headroom,
                           initrdidx < mbi->mods_count ? mod + initrdidx : NULL,
                           kextra, loader);
    ...

Mauricio Faria de Oliveira (2):
  templates/linux_xen: Properly load multiple initrd files
  templates/linux_xen: Properly order the multiple initrd files

 util/grub.d/20_linux_xen.in | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 19:12:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 19:12:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385128.620665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDbC-0005Ve-MO; Thu, 11 Aug 2022 19:12:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385128.620665; Thu, 11 Aug 2022 19:12:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDbC-0005VX-JT; Thu, 11 Aug 2022 19:12:06 +0000
Received: by outflank-mailman (input) for mailman id 385128;
 Thu, 11 Aug 2022 19:12:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMDbB-0005VD-PB; Thu, 11 Aug 2022 19:12:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMDbB-0000Hz-NU; Thu, 11 Aug 2022 19:12:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMDbB-0008GV-8X; Thu, 11 Aug 2022 19:12:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMDbB-0002Q8-84; Thu, 11 Aug 2022 19:12:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ecmXXZ9CN2SV5rd52nGKoggMVvKnBPeWFotEs2vPPJs=; b=pJv703YPWlaXPo80HslpvFhmpP
	1owukJPB3TWyRduiXiWyI6ypRM3nGg3fOEgX7H10XmI5fXtx9+BM7A80ZJlu7YdzlHieagK+9KKW5
	wsrt8aY7nIjMmS/BU/d+71VBdXuiQ3RrANhPGyVq9yZr9pmug7j8Hmtp4dk5Cp0pUOes=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172391-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172391: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 19:12:05 +0000

flight 172391 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172391/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    7 days
Failing since        172151  2022-08-05 02:40:28 Z    6 days   64 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 19:15:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 19:15:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385143.620676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDeK-0006JF-BI; Thu, 11 Aug 2022 19:15:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385143.620676; Thu, 11 Aug 2022 19:15:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMDeK-0006J8-7C; Thu, 11 Aug 2022 19:15:20 +0000
Received: by outflank-mailman (input) for mailman id 385143;
 Thu, 11 Aug 2022 19:15:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMDeI-0006Is-Jt; Thu, 11 Aug 2022 19:15:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMDeI-0000Mo-Iy; Thu, 11 Aug 2022 19:15:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMDeI-0008NP-8W; Thu, 11 Aug 2022 19:15:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMDeI-0003mQ-81; Thu, 11 Aug 2022 19:15:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nrNah0Jnc88Foq/xoNShiVu9SuqmL3rayAgxs5B28Xo=; b=cIcWCvEKHEX/fk/J2uHbtp9T+H
	evMDY86po9XGiSxFrH0lGm96G67py8MG986AXctog+P4GfbNKYp/EHy9RB27768QhmYjLk9em4CA+
	7mFIzakmnMgHvKHOfua0BfewWzf7cxqHoqZ1L/Bvu0oGee3yyHt8g40UDNMkLT84Dojc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172390-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172390: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3eb1865ae305772b558757904d81951e31de43de
X-Osstest-Versions-That:
    xen=4a2217c97024ccaf92adb6a08f4d340a803af352
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 19:15:18 +0000

flight 172390 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172390/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172382
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3eb1865ae305772b558757904d81951e31de43de
baseline version:
 xen                  4a2217c97024ccaf92adb6a08f4d340a803af352

Last test of basis   172382  2022-08-11 10:00:27 Z    0 days
Testing same since   172390  2022-08-11 16:04:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4a2217c970..3eb1865ae3  3eb1865ae305772b558757904d81951e31de43de -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 19:59:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 19:59:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385156.620697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMELE-0002Jw-U6; Thu, 11 Aug 2022 19:59:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385156.620697; Thu, 11 Aug 2022 19:59:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMELE-0002Jp-RR; Thu, 11 Aug 2022 19:59:40 +0000
Received: by outflank-mailman (input) for mailman id 385156;
 Thu, 11 Aug 2022 19:59:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMELD-00024H-HD
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 19:59:39 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 203b5a88-19b0-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 21:59:38 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 203b5a88-19b0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660247978;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=S+Ld7c+dRiGE87K3GbtMdBGXMnjEkY04FCI3h90/+zM=;
  b=SM/YKZRhlcoBzU4/cBY6ghhU6qBIeliDFmF1Y9CLc8bd+vMXEc4mk+FJ
   KOBhQsDymh5FgxStXwcveqtJmhS4FJRvrqycjQmh9Qc8zMh9rBCMINstU
   BF0nBPD+OA4XE7K9PsX6qsnDQ9oJ/4oQeU9aXqPbi2YvuWo5VB4W5KMJX
   w=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77664067
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:9eRJ26qyzFAvQcwhfiU2OyeLqi9eBmJ2ZRIvgKrLsJaIsI4StFCzt
 garIBnUMv+Pa2WmfYx1YIzipE8Cv5CHydNlTVds+yhjF35Ap5uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GpB5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqUi+P5wIkB21
 sADE20SST2RqL6Zx7+CH7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8+Dp4kkfjurX74azBC83qepLYt4niVxwt0uFToGIWKJILWHZsK9qqej
 kDn0liiKUoKDfyexwah4nicn8nWgQquDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWefhSN
 kgV8SoGtrUp+QqgSdyVdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QbWNQeHGJwk
 AXTxpWwWGIp4Ob9pW+hGqm8lzGqPgs0FUw+fhRZUiwo8fa/j4Y+t0eaJjp8K5JZnuEZCBmpn
 W7S9Hlh3uxN5SIY//7lpA6a2lpAsrCMF1dovVuPAwpJ+ysjPOaYi5qUBU83BBqqBKKQVRG/s
 XcNgKByB8heXMjWxERhrAjgdYxFBspp0xWG2DaD57F7q1yQF4eLJOi8Gg1WKkZzKdojcjT0e
 kLVsg45zMYNYiPzMPEqM9juW51CIU3c+TPNCJjpgidmOMAtJGdrAgk3DaJv44wduBd1yvxuU
 XtqWc2tEWwbGcxa8dZCfM9EiOdD7n1vmgvuqWXTlUvPPUy2OCHIEt/o8TKmMogE0U9ziF+Fr
 o8AbZvVkEg3vS+XSnC/zLP/5GsidRATba0aYeQNHgJfCmKKwF0cNsI=
IronPort-HdrOrdr: A9a23:rBmlYKigC92mcrvkZ9POMzXn2HBQXuIji2hC6mlwRA09TySZ//
 rBoB19726MtN9xYgBHpTnuAsm9qB/nmaKdpLNhWItKPzOW31dATrsSjrcKqgeIc0aVm9K1l5
 0QF5SWYOeAdWSS5vya3ODXKbkdKaG8gcKVuds=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77664067"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 2/2] x86/svm: Keep the RAS balanced for guests
Date: Thu, 11 Aug 2022 20:59:05 +0100
Message-ID: <20220811195905.7780-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220811195905.7780-1-andrew.cooper3@citrix.com>
References: <20220811195905.7780-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

One source of lost performance was that fact that to protect Xen from a
malicious guests, we had to flush the RAS.

It turns out that CET Shadow Stacks give us enough architectural guarantees to
construct a lower overhead mitigation, which keeps the RAS balanced for the
guest so their return performance is still good.

To keep the RAS balanced, Xen must execute the same number of CALLs as RETs
across one VMexit->VMEntry.  Without CET-SS, we could achieve this fairly
easily with a `call; add $8, %rsp` and `push; ret` pair, but this is not legal
under CET-SS.  In fact, CALL is the only shadow stack "push" operation we
have, and we can't use it a second time if we intend to keep the RAS balanced.

Instead, we keep a real return address on the stack.  This means that for some
of entry.S, %rsp conditionally doesn't reference CPUINFO.

This necessitates swapping the current order of DO_OVERWRITE_RSB and
svm_vmexit_spec_ctrl; while they don't have any specific ordering
requirements, push_one_ras needs to come after svm_vmexit_spec_ctrl or else we
need some very invasive changes to fix up the %rsp changes.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

RFC for a couple of reasons.  This does function correctly, but I still want
to do more perf testing.

Secondly, X86_FEATURE_ALWAYS is clearly not ok for committing.  I'm still
debating whether to make this construct available in !CET-SS cases.
Mechanically, its fine, but the safety arguments depend on CET-SS being
active.

In principle, on CPUs which do not suffer Branch Type Confusion, you might be
able to reason a defence-in-depth argument that if an attacker can't control
indirect speculation, then they can't bypass the 1-stuff safety either, but
the only AMD CPUs not vulnerable to BTC have CET-SS anyway.

Third, I'd like some early feedback on how clear it the logic is given the
conditional nature of %rsp not referencing CPUINFO.

Fourth, the alternatives logic (I think) needs improving to not fix up a
direct CALL/JMP displacement if the destination is within the replacement
length.  I did the functional testing before wrapping things in alternatives.
---
 xen/arch/x86/hvm/svm/entry.S | 55 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 53 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index be4ce52bd81d..98934db41fec 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -22,8 +22,41 @@
 #include <asm/asm_defns.h>
 #include <asm/page.h>
 
+.macro push_one_ras
+        /*
+         * Pushes one entry into the RAS, then updates the return address(es)
+         * to point at svm_ras_speculation_trap.
+         *
+         * Rogue RAS-speculation will hit the INT3 and stop.  Architectural
+         * execution will go to svm_ras_speculation_trap.
+         *
+         * This deliberately leaves the (modified) return address on the
+         * stack(s).
+         */
+        call 1f
+        int3
+1:
+        lea     svm_ras_speculation_trap(%rip), %rax
+
+#ifdef CONFIG_XEN_SHSTK
+        rdsspq  %rcx
+        wrssq   %rax, (%rcx)
+#endif
+        mov     %rax, (%rsp)
+.endm
+
 ENTRY(svm_asm_do_resume)
         GET_CURRENT(bx)
+
+        /*
+         * We've just been schedule()'d.  There's no speculation safety needed
+         * here, but we do need to set the stack up in the manner expected by
+         * later logic.
+         */
+        ALTERNATIVE "", push_one_ras, X86_FEATURE_ALWAYS
+
+        /* WARNING!  After this point, %rsp /may/ not reference cpu_info. */
+
 .Lsvm_do_resume:
         call svm_intr_assist
         call nsvm_vcpu_switch
@@ -56,6 +89,20 @@ __UNLIKELY_END(nsvm_hap)
         clgi
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
+        /* WARNING!  Before this point, %rsp /may/ not reference cpu_info. */
+
+        /*
+         * If we're trying to balance the RAS for guests, push_one_ras in the
+         * VMExit path was necessary for speculative safety, but the on-stack
+         * return address was deliberately updated to point here.
+         *
+         * We execute one RET to re-balance the RAS.  It will mispredict (to
+         * the INT3 in push_one_ras in the general case), but won't
+         * architecturally change the instruction flow.
+         */
+        ALTERNATIVE "", ret, X86_FEATURE_ALWAYS
+svm_ras_speculation_trap:
+
         /* SPEC_CTRL_EXIT_TO_SVM       Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
         .macro svm_vmentry_spec_ctrl
             mov    VCPU_arch_msrs(%rbx), %rax
@@ -108,8 +155,6 @@ __UNLIKELY_END(nsvm_hap)
 	.endm
         ALTERNATIVE "", svm_vmexit_cond_ibpb, X86_FEATURE_IBPB_ENTRY_HVM
 
-        ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
-
         .macro svm_vmexit_spec_ctrl
             movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
             movzbl CPUINFO_last_spec_ctrl(%rsp), %edx
@@ -122,6 +167,12 @@ __UNLIKELY_END(nsvm_hap)
 1:
         .endm
         ALTERNATIVE "", svm_vmexit_spec_ctrl, X86_FEATURE_SC_MSR_HVM
+
+        ALTERNATIVE_2 "", \
+             DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM,  \
+             push_one_ras, X86_FEATURE_ALWAYS
+
+        /* WARNING!  After this point, %rsp /may/ not reference cpu_info. */
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         /*
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 19:59:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 19:59:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385155.620687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMELC-00024U-MA; Thu, 11 Aug 2022 19:59:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385155.620687; Thu, 11 Aug 2022 19:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMELC-00024N-II; Thu, 11 Aug 2022 19:59:38 +0000
Received: by outflank-mailman (input) for mailman id 385155;
 Thu, 11 Aug 2022 19:59:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMELB-00024H-6L
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 19:59:37 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e4f691f-19b0-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 21:59:35 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e4f691f-19b0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660247975;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=1wTTAmkP1sTOy6uXkQm9Y1aQZWYNUG4XBsWtqt3+8t4=;
  b=frCObnwjJfi7q3pUjuqdCABYrg2aYmOcieEJ9kANF1kVw0n2EpLoOV7r
   E9zMO5Ldr2LZErMt1Awa9Cs0g8auSp6/QbM8o7ISPfbzbNMvLwhShZqLY
   G9nibvemFPu/N+746SDcSY6V+JZ9TggvWwPSB/WtupYnvkKgabxwUaTM8
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77908203
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:AfLOg6sHA8oEIKBIWY/Uk4Hc4ufnVDheMUV32f8akzHdYApBsoF/q
 tZmKW6GPPqONGD8fIpyPNm+8h4P75HRzdBqTAE+/3gyFioW+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4WpA5DTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FZ8opPxQBkdkz
 9M3JAIvQQqloLmy/ZvuH4GAhux7RCXqFIYWu3UmxjDFF/c2B5vERs0m5/cBgm123JoXW6+DO
 YxJMlKDbzyZC/FLEn4RBIgzg6GDgX7nficDgFmUubA28y7YywkZPL3Fb4WEIozQHZ49ckCw/
 GaZ223bOAEmMuez2GvU21fylOv3pHauMG4VPOLhraM76LGJ/UQMDDUGWF39puO24maccd9CL
 00f+gI1sLM/skesS7HVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAOHKr+dvG2Zsj
 AXQ2Yq0W3o/69V5VE5x6J+GnW2oHi8zB1UtSiM2byQfxf64pLwa20enoslYLEKlsjHkMWiun
 WjS/Xdn3ut7Yd0jjPviow2e6964jt2QF1NuuF2KNo6wxlkhDLNJcbBE/rQyARxoCI+CBmeMs
 3Ef8yR1xLBfVMrd/MBhrQhkIV1I2xpmGGeF6bKXN8N9nwlBAlb6FWyq3BlwJV1yLuEPciLzb
 UnYtGt5vcENZCL3M/InOd3hUqzGKJQM8vy7Ps04k/IUOsQhHON51HgGibGsM5DFzxF3zPBX1
 WazesewF3cKYZlaIM6Nb75EidcDm3FhrV4/sLihkHxLJ5LCOyPOIVrEWXPSBt0EAFSs+lWIq
 okFZ5TRln2ykoTWO0HqzGLaFnhSRVBTOHw8g5U/mjKrSua+JFwcNg==
IronPort-HdrOrdr: A9a23:ZiDIIqy1oD0e+t7Hb8Q8KrPwIL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZMmPH7P+VIssR4b+exoVJPtfZq+z+8R3WByB8bAYOCOggLBR+sO0WKL+UyHJ8SUzI9gPM
 lbHJSWcOeAb2RHsQ==
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77908203"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 0/2] x86/spec-ctrl: Reduce HVM RAS overhead
Date: Thu, 11 Aug 2022 20:59:03 +0100
Message-ID: <20220811195905.7780-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is a optimsiation discovered while working on Retbleed.

Andrew Cooper (2):
  x86/svm: Remove regs param from asm-called functions
  x86/svm: Keep the RAS balanced for guests

 xen/arch/x86/hvm/svm/entry.S     | 58 ++++++++++++++++++++++++++++++++++++----
 xen/arch/x86/hvm/svm/nestedsvm.c |  3 ++-
 xen/arch/x86/hvm/svm/svm.c       |  6 +++--
 3 files changed, 59 insertions(+), 8 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 19:59:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 19:59:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385157.620709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMELL-0002dm-63; Thu, 11 Aug 2022 19:59:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385157.620709; Thu, 11 Aug 2022 19:59:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMELL-0002dd-3L; Thu, 11 Aug 2022 19:59:47 +0000
Received: by outflank-mailman (input) for mailman id 385157;
 Thu, 11 Aug 2022 19:59:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3/DV=YP=citrix.com=prvs=21511e084=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMELK-00024H-BH
 for xen-devel@lists.xenproject.org; Thu, 11 Aug 2022 19:59:46 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 24857ae3-19b0-11ed-bd2e-47488cf2e6aa;
 Thu, 11 Aug 2022 21:59:45 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24857ae3-19b0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660247985;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=KqmmLAV1fvNf0oBH4lqcnCZIyCym+wndXbWemJjGv9k=;
  b=An7bHQGVImhToWA5kURC5Qym55fPU6wNhVV6V+MfsBa4lEsnxD2SBtPN
   0jGkbUHLZP2/Z8CwPjYi8baVcY316XndDEhDv1VH5onaVgEuHNKLsjxUy
   X7oZ8BU119EcS8diIcc34HKYQixEoBFAuIR2KzW3kEuw7jzu7SgemyWYS
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77912369
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3ANotJXqjJ3mrf7PzgkV/5MdGJX17brhtdyRrau?=
 =?us-ascii?q?qucSGfot9Go9fgcEakywXxxQyOjNFhxPkljTP6bFW25pS+9ulAPs3xUIucbH?=
 =?us-ascii?q?vvzWNVykLxy4vp2jvjRqeQtbf0FzuW0+S8j7v4RyZsu6L3zlaqkYpjA1iwa5?=
 =?us-ascii?q?/YFhfqyHuERCyUGMssI0eM2zLkCwG+afzIVeHItNofOuv1lYObgxFOLAecQN?=
 =?us-ascii?q?OV3IDbmIAdI9MO8de0CXOoTfc7drjqanKBqQaHJiFvUf6kuCXBThJaRR1OH4?=
 =?us-ascii?q?+RHDTnPJBiYkzttZeorOv4eA8+fU0ej4HZTzBRYhAvZgmdUj/l7SuxZcel8Y?=
 =?us-ascii?q?jvxK9p7tkdHBKWwRWS4nresLtvR3hhERsr1SWEdR2u8BAyMYLaKIZ7HuSCZf?=
 =?us-ascii?q?sekF67vnCve9Zmmt4ZU7r0QJ1LO2bCKjOZ/eWpwQRsBgyHBW5AZorQaGF6mQ?=
 =?us-ascii?q?jD5i3roBsdlZmFYMFEMclzmoGaGTuCXCIAoiMkzqlhdDxRElGASyvC/Prgh+?=
 =?us-ascii?q?52o6GKTIPEVqAuypmie1dfyn18cpYRo6mg83t8MNq/Ugmpho0NhettN9OGc4?=
 =?us-ascii?q?cffysQkhLrs+5OOLY55AWHF09GLCVeUFX3xVhcF6h9PrQFot2nUtYqvL1iNa?=
 =?us-ascii?q?T/hR3NexEyEXYXeK64XN/84jxVBya5pNAxO4RY+PKdWIZ+WnKvdziR+xlH54?=
 =?us-ascii?q?95P9I6yEgN6PCmIwPpe0I9EE1sxAvGCXhqvDJWXO5KxgG2CZ+5RJDWMDIFJx?=
 =?us-ascii?q?Ez3lMphrZiWrFHDCNgSqLhIZ/oyQCpGAUJmrC0VBK4v55yJ+GEVrT7FfCP0o?=
 =?us-ascii?q?7rlePhvlT7VqV3aAtimwRwmrNbnw7KITzGWbXy0P8VmDLdim73MwQ1y1tKFY?=
 =?us-ascii?q?Nh1qtvRmHF+c6cIfM0VKPh2KqP360/wt0WW/Tsb0EnmKQAdABXKxSv3TbxNI?=
 =?us-ascii?q?sQIlqqn3/wxOgsTWqeTSUCq2hk91YyAjz95fOnmBHU8x/+ZJYbVytBo+EgPn?=
 =?us-ascii?q?ORc3iXhVnUisyAKlHn0An7YkNNOcJiNSf52ch+DUiC20wtBB3eLMvMhb3AWk?=
 =?us-ascii?q?zYbqi9os1kETgFAgzr+EtTEIHT2Kcp1k3THvNKOtsH0Dm2uDDqUnRCEVKXEn?=
 =?us-ascii?q?Lc4DoQQPxnvNsr+JS3bKsmmlPFtV2ulslBJqWVCK9C7o1m4NY2k9jmZgpIJm?=
 =?us-ascii?q?kv6Xn+hicTEhaJp5WU1Dy+htHfORf7iZobAmki2o2OtbCfLB2+hcpibG0D+F?=
 =?us-ascii?q?WkwWrLAZOVzlRAnneUeArJMyekzLr33U35SXyCpLnOUPiBv3gqgegpA+8FjE?=
 =?us-ascii?q?kIo4qEOqdFJTpCljLFCJHwXqKy7TiC91i32PjSQdHavdU5XLpxMWDXAN59Mj?=
 =?us-ascii?q?r83S9i9/5xvfKdZMgijehydHdB2hKwbIJui4keNMBS+f6+3Z5QPZcdXAvnfH?=
 =?us-ascii?q?qwcD3JlqCcGtV1QcYF3viZ+99G/RnBHrGxWwavjtJqkc/P3fLo/ozw5lQ8QR?=
 =?us-ascii?q?jxjICUi0vdPSzJyBYgupXHo48iLENhOds/Y0hCi9Z3eDHWNUFYkaD0CZiHNo?=
 =?us-ascii?q?LwOy+gZMsepumErqtsqturFRwD6EVG1m5hlEuov7Y/V+GG44LX6aS9afM+g/?=
 =?us-ascii?q?KYQ4TIkEew97sVPRUbSRu1WPSh/Nz6aIG4sp7Wtd8gUqSZt4yTBSRklVMbjg?=
 =?us-ascii?q?qi5Tsc3HjR5qvWHlg+8PP/uCsRTsomtHWTyOEMF0vbSibLAbW3YkAv+UNOTm?=
 =?us-ascii?q?PQXZrvq+VkySGa5TOC4w1ADX/TWQ7hzB9HtX53joXY0yfiVByj8bUShJLSrf?=
 =?us-ascii?q?hX0Ybt53FBWiOG/6lnjtb+kTTZu/SoUf15ihoIxgRV3GVT6wD+BcO7HGSbB9?=
 =?us-ascii?q?0K2esh1m5E4R2wgE8e9KhCPqLwA1t05CoMrLYpOEhdwWfJTIgesV5brL55l6?=
 =?us-ascii?q?nDM5SxjnJPtYNwg7kKduDecd5r8rDuuDxfqW6CtJIIWCyHjhHHkdtPiD2Wxy?=
 =?us-ascii?q?FFX7DXsU8gZT/UQhQ346dkAAUOxdXWTPZOY3wYAN0ia5K6cibKE1vyr3Owk+?=
 =?us-ascii?q?/+MHOnRN8uU1hX+Thd28Na3wCy0i+v0VIBCR2byPCVFAk9U0Vk/+lzAs0Z0G?=
 =?us-ascii?q?GcVVMrCLiNqtAN/+xl+xNtYZFZ5V8dx4nkBnnc1sqSTx0bXDaGePZDAUto3f?=
 =?us-ascii?q?BjF1y88sGEk54eMroBuh/QUom1BeR7UL0BhSxgEVBk6lLytfVENLySrdoTSp?=
 =?us-ascii?q?EVq0OQCG9+YosecCP5UqlLK9OFWShArjFRhDCWVsgpvGw3foLFW1VsPyM7ZI?=
 =?us-ascii?q?LhwOGoIIKGOEFMItFlzYdv8Q+cTsUde6/L9qwwn7bw6ptxzq2VvZFKBe/eVq?=
 =?us-ascii?q?32VzFFOIE2eYjZ6Nfwj3T10btl99vmiEL0LnnzQNTfOPL7rXJAuOn9bfWAc3?=
 =?us-ascii?q?dzuJycS3frLliKii8dDxHutpt6QryiNyJvSeq9Z9qtTvQStYJSkkXElaG/8F?=
 =?us-ascii?q?FTJV97j5OUpD8NsXxIh828J16ery2xiiIO8N+htlYowx0g470aoPnLk2L9KJ?=
 =?us-ascii?q?RflXhVveL5uRMtEn6exfeYWC+LLHjB1D+uNOMJBfeQS5uXdiCGZCqO+4+bTi?=
 =?us-ascii?q?20V90MgbJxq+o4N6dENn0Jr2WWqlKBk2LGh5jbVvG68Hwx380MLNtaiC2yK+?=
 =?us-ascii?q?1/sGoQ5q7nviIfV1a3wG5jW6iXu4fPjOUW7LvaPUcn7eXLloRmqCx9JMcqil?=
 =?us-ascii?q?KOSlf8jhoeNV8+tkqER7dQq+VAveHwDvSYCZ8a4kIwZq+xabCw=3D?=
X-IronPort-AV: E=Sophos;i="5.93,230,1654574400"; 
   d="scan'208";a="77912369"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 1/2] x86/svm: Remove regs param from asm-called functions
Date: Thu, 11 Aug 2022 20:59:04 +0100
Message-ID: <20220811195905.7780-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220811195905.7780-1-andrew.cooper3@citrix.com>
References: <20220811195905.7780-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

A optimisation is going to want to conditionally have extra data on the stack
around VMExit.

We could alternative between `mov %rsp, %rdi` and `lea 8(%rsp), %rdi`, but it
is easier just to make the functions void and let the compiler do the (not
very) hard work.

Passing regs is a bit weird for HVM guests anyway, because the resulting
pointer is invariant (this isn't native exception handling where the regs
pointers *are* important), and all functions calculate `current` themselves
which is another invariant.

Finally, the compiler can merge the get_cpu_info() calculation which is common
to both `current` and guest_cpu_user_regs(), meaning the delta in C really is
just one `lea`, and not any more expensive than `mov`'s in ASM anyway.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/svm/entry.S     | 3 ---
 xen/arch/x86/hvm/svm/nestedsvm.c | 3 ++-
 xen/arch/x86/hvm/svm/svm.c       | 6 ++++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index a60d759f7108..be4ce52bd81d 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -26,7 +26,6 @@ ENTRY(svm_asm_do_resume)
         GET_CURRENT(bx)
 .Lsvm_do_resume:
         call svm_intr_assist
-        mov  %rsp,%rdi
         call nsvm_vcpu_switch
         ASSERT_NOT_IN_ATOMIC
 
@@ -52,7 +51,6 @@ UNLIKELY_START(ne, nsvm_hap)
         jmp  .Lsvm_do_resume
 __UNLIKELY_END(nsvm_hap)
 
-        mov  %rsp, %rdi
         call svm_vmenter_helper
 
         clgi
@@ -132,7 +130,6 @@ __UNLIKELY_END(nsvm_hap)
          */
         stgi
 GLOBAL(svm_stgi_label)
-        mov  %rsp,%rdi
         call svm_vmexit_handler
         jmp  .Lsvm_do_resume
 
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 9f5f35f16aff..77f754736023 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -1460,8 +1460,9 @@ nestedsvm_vcpu_vmexit(struct vcpu *v, struct cpu_user_regs *regs,
 }
 
 /* VCPU switch */
-void nsvm_vcpu_switch(struct cpu_user_regs *regs)
+void nsvm_vcpu_switch(void)
 {
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
     struct vcpu *v = current;
     struct nestedvcpu *nv;
     struct nestedsvm *svm;
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 0849a9dc5f41..81f0cf55676b 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1040,8 +1040,9 @@ static void noreturn cf_check svm_do_resume(void)
     reset_stack_and_jump(svm_asm_do_resume);
 }
 
-void svm_vmenter_helper(const struct cpu_user_regs *regs)
+void svm_vmenter_helper(void)
 {
+    const struct cpu_user_regs *regs = guest_cpu_user_regs();
     struct vcpu *curr = current;
     struct vmcb_struct *vmcb = curr->arch.hvm.svm.vmcb;
 
@@ -2570,8 +2571,9 @@ static struct hvm_function_table __initdata_cf_clobber svm_function_table = {
     },
 };
 
-void svm_vmexit_handler(struct cpu_user_regs *regs)
+void svm_vmexit_handler(void)
 {
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
     uint64_t exit_reason;
     struct vcpu *v = current;
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 11 20:41:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 20:41:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385182.620720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMEzO-0008CJ-Bo; Thu, 11 Aug 2022 20:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385182.620720; Thu, 11 Aug 2022 20:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMEzO-0008CC-8i; Thu, 11 Aug 2022 20:41:10 +0000
Received: by outflank-mailman (input) for mailman id 385182;
 Thu, 11 Aug 2022 20:41:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMEzM-0008C2-OM; Thu, 11 Aug 2022 20:41:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMEzM-0001rV-L1; Thu, 11 Aug 2022 20:41:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMEzM-0004Ot-9F; Thu, 11 Aug 2022 20:41:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMEzM-00050e-8i; Thu, 11 Aug 2022 20:41:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=o2rkiI2406XNgpBihzwoOeiPtUYchRt/MESHj2j5pog=; b=2RpftK3YGikm7ZJTDQ+BmF0Ekz
	IOz7Ytr733+uIML8BGcEo24kgo4gku7NRVSFlqKz4WY2zZoHFFFgEhC/MBzfBwAxcc96+lqmghVnn
	lQXUwWmo71xMcf9Nl4ZRT6MQsAlKDh66Ww8brPgLIIMUsic0hA5h/Cy3LSz5PI9H4Weg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172385-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172385: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ffcf9c5700e49c0aee42dcba9a12ba21338e8136
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 20:41:08 +0000

flight 172385 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172385/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                ffcf9c5700e49c0aee42dcba9a12ba21338e8136
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    7 days
Failing since        172152  2022-08-05 04:01:26 Z    6 days   19 attempts
Testing same since   172385  2022-08-11 11:15:18 Z    0 days    1 attempts

------------------------------------------------------------
1207 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 128628 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 21:37:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 21:37:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385193.620730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMFrN-0004wY-KL; Thu, 11 Aug 2022 21:36:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385193.620730; Thu, 11 Aug 2022 21:36:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMFrN-0004wR-He; Thu, 11 Aug 2022 21:36:57 +0000
Received: by outflank-mailman (input) for mailman id 385193;
 Thu, 11 Aug 2022 21:36:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMFrM-0004wH-6x; Thu, 11 Aug 2022 21:36:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMFrM-0002lE-3x; Thu, 11 Aug 2022 21:36:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMFrL-0007K3-Bm; Thu, 11 Aug 2022 21:36:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMFrL-0001cS-BH; Thu, 11 Aug 2022 21:36:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bVL/7YjieZLrTVHws2XfdAYTzRsuYF1AsRWb1IUBhYU=; b=WOHipJCjOS3m0hsCp8E9fb0y7E
	t7aIajP4hnhQ8q2zXmkPjn7Pw+9yraZzrqehFnqANrURwv7VSd9JJ7IQ7aJVfckG4AxQfv2tgcJe/
	WzuBQVXGhGv+RvQoaYbCswJYichhY9xHnVzvHyzY8jhXr7dSqvwEbqNy7uEOIUlLhiW8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172394-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172394: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 21:36:55 +0000

flight 172394 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172394/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    7 days
Failing since        172151  2022-08-05 02:40:28 Z    6 days   65 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 11 23:02:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Aug 2022 23:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385205.620748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMHBb-000551-LX; Thu, 11 Aug 2022 23:01:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385205.620748; Thu, 11 Aug 2022 23:01:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMHBb-00054u-IG; Thu, 11 Aug 2022 23:01:55 +0000
Received: by outflank-mailman (input) for mailman id 385205;
 Thu, 11 Aug 2022 23:01:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMHBZ-00054k-Rj; Thu, 11 Aug 2022 23:01:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMHBZ-00049f-M4; Thu, 11 Aug 2022 23:01:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMHBZ-0003jT-5g; Thu, 11 Aug 2022 23:01:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMHBZ-0003eB-5G; Thu, 11 Aug 2022 23:01:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kOTLP4f4N7geZ8aaLeghOlaK9Ubd57LJq7NV29L19dE=; b=XYi9TLjYr3iY0Wpq7OtTlpMfiP
	ddCsVM0hLccO/Vtxvlp2LrG4G6G9Y6CpJaNDgkGCymROt2MFSZVHPgXpJ7Rz4/6/rUgsCkMJlnNpP
	Ea87hix4V/dfmEs3w4buMOYWlZQ+31pZ8yzeKKiuU1SdKBjsCIoiQPSmkq0hkS+iKHwY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172384-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172384: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Aug 2022 23:01:53 +0000

flight 172384 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172384/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 test-armhf-armhf-xl-arndale  14 guest-start              fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128
 test-arm64-arm64-xl-vhd     17 guest-start/debian.repeat fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z    7 days
Testing same since   172384  2022-08-11 11:13:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 00:14:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 00:14:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385218.620768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMIJq-00047M-BP; Fri, 12 Aug 2022 00:14:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385218.620768; Fri, 12 Aug 2022 00:14:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMIJq-00047F-6p; Fri, 12 Aug 2022 00:14:30 +0000
Received: by outflank-mailman (input) for mailman id 385218;
 Fri, 12 Aug 2022 00:14:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMIJp-000475-P4; Fri, 12 Aug 2022 00:14:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMIJp-0005wY-Lj; Fri, 12 Aug 2022 00:14:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMIJp-0006Jk-FY; Fri, 12 Aug 2022 00:14:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMIJp-0007le-FA; Fri, 12 Aug 2022 00:14:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8Rx5HJEXNiIf4ZMD9Q7S+FbUlZqWBcJqIpkt7+ieR0k=; b=c52sZuFN6WeZswKtz5GxA+uHnM
	YFopc2wUiwaNqVU0Q6uM+zI2DoK4eEf5QXP1zpzdXR/JdwGCC56HxS/I93kpPy90xLuNBXjz/smZz
	sGyc2tquDlqH5rjGqlWlZeRUWK9/20xZtBnQ5gMmpQtNzHMFibuXkjpU9gQLSqC/bsNs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172396-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172396: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 00:14:29 +0000

flight 172396 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172396/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    7 days
Failing since        172151  2022-08-05 02:40:28 Z    6 days   66 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    0 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 02:47:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 02:47:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385235.620797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMKh2-0008K9-H9; Fri, 12 Aug 2022 02:46:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385235.620797; Fri, 12 Aug 2022 02:46:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMKh2-0008K2-Dd; Fri, 12 Aug 2022 02:46:36 +0000
Received: by outflank-mailman (input) for mailman id 385235;
 Fri, 12 Aug 2022 02:46:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMKh1-0008Js-AD; Fri, 12 Aug 2022 02:46:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMKh1-0007DX-4L; Fri, 12 Aug 2022 02:46:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMKh0-0007dk-O1; Fri, 12 Aug 2022 02:46:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMKh0-0007Bg-Na; Fri, 12 Aug 2022 02:46:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5F0SwQIQWwhB3AmwA3mS71D+WJMGCum9kvkcqs91W/Q=; b=L9foyK7qeKz/yIy9OAwvVOSrcL
	SstIsdYmFRlz/1ZRJZuc2x5G6M3C4Fj6Jhee3Q9HJDe00cyIBelp6tgTJuIsYcgSvnIMyHJqwot7r
	Q0QoLSKC0Wk97zNy1y53Djfkj+xlnr5rz3KcQPSNsdrzHRANVLOq9jVOd4tpy1jQodNg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172389-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172389: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start.2:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 02:46:34 +0000

flight 172389 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172389/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 15 guest-start.2 fail pass in 172379

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    8 days
Failing since        172148  2022-08-04 21:39:38 Z    7 days   19 attempts
Testing same since   172366  2022-08-10 20:09:54 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1268 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 02:52:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 02:52:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385245.620807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMKmD-0001Ix-49; Fri, 12 Aug 2022 02:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385245.620807; Fri, 12 Aug 2022 02:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMKmD-0001Iq-1W; Fri, 12 Aug 2022 02:51:57 +0000
Received: by outflank-mailman (input) for mailman id 385245;
 Fri, 12 Aug 2022 02:51:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMKmB-0001Ig-Lp; Fri, 12 Aug 2022 02:51:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMKmB-0007J0-Ii; Fri, 12 Aug 2022 02:51:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMKmB-0007rx-BG; Fri, 12 Aug 2022 02:51:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMKmB-0001Uu-Aq; Fri, 12 Aug 2022 02:51:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WegXJKqLOZZqAM/g7EubyD278X97eEkFU3Wm76O6GYM=; b=xqUYg9Iyovgiodm9nK1qZxl+lv
	w4LVGIdfXyQF+jphxS+Mv6n4CBspdKQ2JSinqemcwoTYvMWB5xx7fchdcJ0y1G2O/YexokWJ/0a04
	2UgOeALjLTFGotvKKI1loaSndaswVAxqAaay75SH3x45iwR/HEHlKYCNglzG3hYYDlmI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172401-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172401: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 02:51:55 +0000

flight 172401 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172401/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    7 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   67 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 03:37:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 03:37:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385257.620825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMLU0-0005al-K3; Fri, 12 Aug 2022 03:37:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385257.620825; Fri, 12 Aug 2022 03:37:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMLU0-0005ae-Gh; Fri, 12 Aug 2022 03:37:12 +0000
Received: by outflank-mailman (input) for mailman id 385257;
 Fri, 12 Aug 2022 03:37:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMLTy-0005aU-SW; Fri, 12 Aug 2022 03:37:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMLTy-000840-OO; Fri, 12 Aug 2022 03:37:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMLTy-0000zv-Dp; Fri, 12 Aug 2022 03:37:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMLTy-00018Z-DL; Fri, 12 Aug 2022 03:37:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sAZhgBCuPyhYa1XXYw46odJmJ7EiVwPE3eCwdf7D6CQ=; b=RlmbwAU6bYLFR2qT4aNyYN86AW
	l2VphcUWECOv1MFSP9sBxA6Jp/YUWnGzKO1x2PV8eCWOE35+Y3VgMnXtqP4cK5LD57T02vG+WuJ6q
	elITUkGPWNkunHpN51Jck5WQkGxGNbb3tbLpFQP98ovVYCkK//zcjty68hcO67h8nUhM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172387-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172387: trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-cubietruck:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl-cubietruck:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4a2217c97024ccaf92adb6a08f4d340a803af352
X-Osstest-Versions-That:
    xen=d7c3c845c44e097d6c980001e108da0bb84ed16f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 03:37:10 +0000

flight 172387 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172387/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-cubietruck    <job status>                 broken
 test-armhf-armhf-xl-cubietruck  5 host-install(5)      broken REGR. vs. 172374

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172374
 build-i386-libvirt            6 libvirt-build                fail  like 172374
 build-arm64-libvirt           6 libvirt-build                fail  like 172374
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172374
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172374
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172374
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172374
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172374
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172374
 build-armhf-libvirt           6 libvirt-build                fail  like 172374
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172374
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172374
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172374
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4a2217c97024ccaf92adb6a08f4d340a803af352
baseline version:
 xen                  d7c3c845c44e097d6c980001e108da0bb84ed16f

Last test of basis   172374  2022-08-11 03:40:12 Z    0 days
Testing same since   172387  2022-08-11 13:10:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               broken  
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-cubietruck broken
broken-step test-armhf-armhf-xl-cubietruck host-install(5)

Not pushing.

------------------------------------------------------------
commit 4a2217c97024ccaf92adb6a08f4d340a803af352
Author: Xenia Ragiadakou <burzalodowa@gmail.com>
Date:   Thu Aug 11 11:48:12 2022 +0200

    arm/gic: fix MISRA C 2012 Rule 20.7 violation
    
    In GIC_PRI_TO_GUEST(), add parentheses around the macro parameter 'pri' to
    prevent against unintended expansions and realign comment.
    
    Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit fc9e089ad2d4739336c7b2553a325c9b6c02c40d
Author: Xenia Ragiadakou <burzalodowa@gmail.com>
Date:   Thu Aug 11 11:47:34 2022 +0200

    arm/vgic: fix coding style in macro REG_RANK_INDEX()
    
    Add parentheses around the macro parameter 's' to prevent against unintended
    expansions. This, also, resolves a MISRA C 2012 Rule 20.7 violation warning.
    
    Add white spaces around the subtraction operator.
    
    Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
    Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

commit 41fcb3af8ad6d4c9f65a9d72798e6d18afec55ac
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Thu Aug 11 11:47:11 2022 +0200

    tools/libxl: Replace deprecated -sdl option on QEMU command line
    
    "-sdl" is deprecated upstream since 6695e4c0fd9e ("softmmu/vl:
    Deprecate the -sdl and -curses option"), QEMU v6.2, and the option is
    removed by 707d93d4abc6 ("ui: Remove deprecated options "-sdl" and
    "-curses""), in upcoming QEMU v7.1.
    
    Instead, use "-display sdl", available since 1472a95bab1e ("Introduce
    -display argument"), before QEMU v1.0.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

commit c79e4d209be3ed2a6b8e97c35944786ed2a66b94
Author: Dario Faggioli <dfaggioli@suse.com>
Date:   Thu Aug 11 11:46:22 2022 +0200

    xen/sched: setup dom0 vCPUs affinity only once
    
    Right now, affinity for dom0 vCPUs is setup in two steps. This is a
    problem as, at least in Credit2, unit_insert() sees and uses the
    "intermediate" affinity, and place the vCPUs on CPUs where they cannot
    be run. And this in turn results in boot hangs, if the "dom0_nodes"
    parameter is used.
    
    Fix this by setting up the affinity properly once and for all, in
    sched_init_vcpu() called by create_vcpu().
    
    Note that, unless a soft-affinity is explicitly specified for dom0 (by
    using the relaxed mode of "dom0_nodes") we set it to the default, which
    is all CPUs, instead of computing it basing on hard affinity (if any).
    This is because hard and soft affinity should be considered as
    independent user controlled properties. In fact, if we dor derive dom0's
    soft-affinity from its boot-time hard-affinity, such computed value will
    continue to be used even if later the user changes the hard-affinity.
    And this could result in the vCPUs behaving differently than what the
    user wanted and expects.
    
    Fixes: dafd936dddbd ("Make credit2 the default scheduler")
    Reported-by: Olaf Hering <ohering@suse.de>
    Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 4735553ec1d8b63aa08772ced1fac96131427f94
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 11 11:45:23 2022 +0200

    x86/CPUID: AVX512-FP16 definitions
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 06:05:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 06:05:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385276.620860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMNnb-0003XT-W4; Fri, 12 Aug 2022 06:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385276.620860; Fri, 12 Aug 2022 06:05:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMNnb-0003XM-T5; Fri, 12 Aug 2022 06:05:35 +0000
Received: by outflank-mailman (input) for mailman id 385276;
 Fri, 12 Aug 2022 06:05:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Og4R=YQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oMNnZ-0003XG-KU
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 06:05:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c515fbaf-1a04-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 08:05:31 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6175F3F61C;
 Fri, 12 Aug 2022 06:05:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 239D313305;
 Fri, 12 Aug 2022 06:05:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3wijBqrt9WIZZgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 12 Aug 2022 06:05:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c515fbaf-1a04-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660284330; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=jdjyMlK2tgCDyADD5QRs3O36UaPIIVEioddscvW5Amw=;
	b=lNy+xqLG672OsNx+5treZKsmUobS0cNaRHhdGoeu2XmOzm4R+VSZgwx3OtJxVc7HFhm4Ht
	myhusQ2Na4wG/wxK1Ib5UzWLjS98lE92Wwo+e/51wdxweopcNQd8oXYY9ysbNPx6HEB2al
	qrCBu2UdsZ4nihnWPmrG234t6DmNlig=
Message-ID: <67aeb4bf-36dd-a775-4b15-c6aaf14eee06@suse.com>
Date: Fri, 12 Aug 2022 08:05:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 0/2] templates/linux_xen: Properly handle multiple initrd
 files
Content-Language: en-US
To: Mauricio Faria de Oliveira <mfo@canonical.com>,
 xen-devel@lists.xenproject.org, grub-devel@gnu.org
Cc: Daniel Kiper <dkiper@net-space.pl>, =?UTF-8?Q?Peter_Gro=c3=9fe?=
 <pegro@friiks.de>
References: <20220811191014.139882-1-mfo@canonical.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220811191014.139882-1-mfo@canonical.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------rsZC6tImMZLVjeNB4lKezClA"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------rsZC6tImMZLVjeNB4lKezClA
Content-Type: multipart/mixed; boundary="------------LGQhPH7PIr14dx3JBlRAQt8u";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Mauricio Faria de Oliveira <mfo@canonical.com>,
 xen-devel@lists.xenproject.org, grub-devel@gnu.org
Cc: Daniel Kiper <dkiper@net-space.pl>, =?UTF-8?Q?Peter_Gro=c3=9fe?=
 <pegro@friiks.de>
Message-ID: <67aeb4bf-36dd-a775-4b15-c6aaf14eee06@suse.com>
Subject: Re: [PATCH 0/2] templates/linux_xen: Properly handle multiple initrd
 files
References: <20220811191014.139882-1-mfo@canonical.com>
In-Reply-To: <20220811191014.139882-1-mfo@canonical.com>

--------------LGQhPH7PIr14dx3JBlRAQt8u
Content-Type: multipart/mixed; boundary="------------LLN5KQEfHGFphatgt0RVJCRd"

--------------LLN5KQEfHGFphatgt0RVJCRd
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTEuMDguMjIgMjE6MTAsIE1hdXJpY2lvIEZhcmlhIGRlIE9saXZlaXJhIHdyb3RlOg0K
PiBBZGRpbmcgdGhlIHhlbi1kZXZlbCBsaXN0IGFzIHJlcXVlc3RlZCBpbiBncnViLWRldmVs
IFswXToNCj4gDQo+IE9uIFRodSwgQXVnIDExLCAyMDIyIGF0IDE6NTEgUE0gRGFuaWVsIEtp
cGVyIDxka2lwZXJAbmV0LXNwYWNlLnBsPiB3cm90ZToNCj4+IEluIGdlbmVyYWwgcGF0Y2hl
cyBMR1RNLiBIb3dldmVyLCBJIHdvdWxkIHByZWZlciB0byBoZWFyIGFuIG9waW5pb24gZnJv
bSBYZW4NCj4+IGZvbGtzIHRvby4gU28sIHBsZWFzZSByZXBvc3QgdGhlIHBhdGNoIHNldCBh
bmQgYWRkIHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPj4gdG8gdGhlIGxpc3Qg
b2YgcmVjaXBpZW50cy4NCj4gDQo+IFswXSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2
ZS9odG1sL2dydWItZGV2ZWwvMjAyMi0wOC9tc2cwMDExNS5odG1sDQo+IA0KPiBUaGFua3Ms
DQo+IE1hdXJpY2lvDQo+IA0KPiAuLi4NCj4gDQo+IFRoZSBsaW51eF94ZW4gdGVtcGxhdGUg
c2VlbXMgdG8gYmUgYnJva2VuIGZvciBtdWx0aXBsZSBpbml0cmQgZmlsZXMuDQo+IExpbnV4
IGZhaWxzIHRvIGJvb3Qgd2hlbiBpdCBuZWVkcyBhIHJlYWwgaW5pdHJkIGJ1dCBlYXJseS9t
aWNyb2NvZGUNCj4gaW5pdHJkKHMpIGFyZSBmb3VuZCBieSBncnViLW1rY29uZmlnLg0KPiAN
Cj4gUGF0Y2ggMSBhbGxvd3MgaW5pdHJkKHMpIG90aGVyIHRoYW4gdGhlIGZpcnN0IGVhcmx5
L21pY3JvY29kZSBpbml0cmQNCj4gdG8gYmUgbG9hZGVkIGF0IGFsbCwgZml4aW5nIGFuIGlt
cGxlbWVudGF0aW9uIGVycm9yIGZvciBtdWx0aWJvb3RbMl0uDQo+IA0KPiBQYXRjaCAyIGFs
bG93cyBMaW51eCB0byBnZXQgdGhlIHJlYWwgaW5pdHJkIGFzIGluaXRyZCAodnMuIGFuIGVh
cmx5Lw0KPiBtaWNyb2NvZGUtb25seSBpbml0cmQpLCB0aHVzIGJlaW5nIGFibGUgdG8gYm9v
dCBpZiBpdCBuZWVkcyBhIGluaXRyZC4NCj4gDQo+IFN5bnRoZXRpYyB0ZXN0czoNCj4gLS0t
DQo+IA0KPiAgICAgICMgdG91Y2ggL2Jvb3QveGVuIC9ib290L21pY3JvY29kZS5jcGlvDQo+
IA0KPiBPcmlnaW5hbDoNCj4gDQo+ICAgICAgIyBncnViLW1rY29uZmlnIDI+L2Rldi9udWxs
IHwgZ3JlcCAtUCAnXlx0KG11bHRpYm9vdHxtb2R1bGUpJw0KPiAgICAgICAgICAgICAgbXVs
dGlib290ICAgICAgIC9ib290L3hlbiAuLi4NCj4gICAgICAgICAgICAgIG1vZHVsZSAgL2Jv
b3Qvdm1saW51ei01LjQuMC0xMjItZ2VuZXJpYyAuLi4NCj4gICAgICAgICAgICAgIG1vZHVs
ZSAgLS1ub3VuemlwICAgL2Jvb3QvbWljcm9jb2RlLmNwaW8gL2Jvb3QvaW5pdHJkLmltZy01
LjQuMC0xMjItZ2VuZXJpYw0KPiANCj4gUGF0Y2ggMToNCj4gDQo+ICAgICAgIyBncnViLW1r
Y29uZmlnIDI+L2Rldi9udWxsIHwgZ3JlcCAtUCAnXlx0KG11bHRpYm9vdHxtb2R1bGUpJw0K
PiAgICAgICAgICAgICAgbXVsdGlib290ICAgICAgL2Jvb3QveGVuIC4uLg0KPiAgICAgICAg
ICAgICAgbW9kdWxlICAvYm9vdC92bWxpbnV6LTUuNC4wLTEyMi1nZW5lcmljIC4uLg0KPiAg
ICAgICAgICAgICAgbW9kdWxlICAtLW5vdW56aXAgICAvYm9vdC9taWNyb2NvZGUuY3Bpbw0K
PiAgICAgICAgICAgICAgbW9kdWxlICAtLW5vdW56aXAgICAvYm9vdC9pbml0cmQuaW1nLTUu
NC4wLTEyMi1nZW5lcmljDQo+IA0KPiBQYXRjaCAyOg0KPiANCj4gICAgICAjIGdydWItbWtj
b25maWcgMj4vZGV2L251bGwgfCBncmVwIC1QICdeXHQobXVsdGlib290fG1vZHVsZSknDQo+
ICAgICAgICAgICAgICBtdWx0aWJvb3QgICAgICAvYm9vdC94ZW4gLi4uDQo+ICAgICAgICAg
ICAgICBtb2R1bGUgIC9ib290L3ZtbGludXotNS40LjAtMTIyLWdlbmVyaWMgLi4uDQo+ICAg
ICAgICAgICAgICBtb2R1bGUgIC0tbm91bnppcCAgIC9ib290L2luaXRyZC5pbWctNS40LjAt
MTIyLWdlbmVyaWMNCj4gICAgICAgICAgICAgIG1vZHVsZSAgLS1ub3VuemlwICAgL2Jvb3Qv
bWljcm9jb2RlLmNwaW8NCj4gDQo+ICAgICAgV2l0aCBmYWtlIG11bHRpYm9vdDIgaGVhZGVy
Og0KPiANCj4gICAgICAjIGVjaG8gLWVuICdceGQ2XHg1MFx4NTJceGU4XHgwMFx4MDBceDAw
XHgwMCcgPiAvYm9vdC94ZW4NCj4gICAgICAjIGVjaG8gLWVuICdceDAwXHgwMFx4MDBceDAw
XHgyYVx4YWZceGFkXHgxNycgPj4gL2Jvb3QveGVuDQo+ICAgICAgIyBlY2hvIC1lbiAnXHgw
MFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAnID4+IC9ib290L3hlbg0KPiAgICAgICMg
ZWNobyAtZW4gJ1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJyA+PiAvYm9vdC94
ZW4NCj4gDQo+ICAgICAgIyBncnViLWZpbGUgLS1pcy14ODYtbXVsdGlib290MiAvYm9vdC94
ZW47IGVjaG8gJD8NCj4gICAgICAwDQo+ICAgICAgDQo+ICAgICAgIyBncnViLW1rY29uZmln
IDI+L2Rldi9udWxsIHwgZ3JlcCAtUCAnXlx0KG11bHRpYm9vdHxtb2R1bGUpJw0KPiAgICAg
ICAgICAgICAgbXVsdGlib290MiAgICAgIC9ib290L3hlbiAuLi4NCj4gICAgICAgICAgICAg
IG1vZHVsZTIgL2Jvb3Qvdm1saW51ei01LjQuMC0xMjItZ2VuZXJpYyAuLi4NCj4gICAgICAg
ICAgICAgIG1vZHVsZTIgLS1ub3VuemlwICAgL2Jvb3QvaW5pdHJkLmltZy01LjQuMC0xMjIt
Z2VuZXJpYw0KPiAgICAgICAgICAgICAgbW9kdWxlMiAtLW5vdW56aXAgICAvYm9vdC9taWNy
b2NvZGUuY3Bpbw0KPiANCj4gUmVndWxhciB0ZXN0czoNCj4gLS0tDQo+IA0KPiBEZWJ1ZyBw
YXRjaDoNCj4gDQo+ICAgICAgX19zdGFydF94ZW4oKSBAIHhlbi5naXQ6eGVuL2FyY2gveDg2
L3NldHVwLmMNCj4gICAgICAuLi4NCj4gICAgICArZm9yIChpID0gMDsgaSA8IG1iaS0+bW9k
c19jb3VudDsgaSsrKQ0KPiAgICAgICsgICBwcmludGsoIk1PRFVMRSAlZCBzaXplICVkIHN0
cmluZyAlc1xuIiwNCj4gICAgICArICAgICAgICAgIGksIG1vZFtpXS5tb2RfZW5kIC0gbW9k
W2ldLm1vZF9zdGFydCwgKGNoYXIqKV9fdmEobW9kW2ldLnN0cmluZykpOw0KPiAgICAgICsN
Cj4gICAgICAgYml0bWFwX2ZpbGwobW9kdWxlX21hcCwgbWJpLT5tb2RzX2NvdW50KTsNCj4g
ICAgICAgX19jbGVhcl9iaXQoMCwgbW9kdWxlX21hcCk7IC8qIERvbTAga2VybmVsIGlzIGFs
d2F5cyBmaXJzdCAqLw0KPiANCj4gRm9yIC9ib290L21pY3JvY29kZS5jcGlvOg0KPiANCj4g
ICAgICAkIHN1ZG8gYXB0IGluc3RhbGwgbWljcm9jb2RlLWluaXRyZCAjIG9uIFVidW50dQ0K
PiANCj4gICAgICAkIGR1IC0tYnl0ZXMgL2Jvb3QvLi4uDQo+ICAgICAgMTM2NjA0MTYgL2Jv
b3Qvdm1saW51ei01LjQuMC0xMjItZ2VuZXJpYw0KPiAgICAgIDMzMDYyNTQyIC9ib290L2lu
aXRyZC5pbWctNS40LjAtMTIyLWdlbmVyaWMNCj4gICAgICA1MDQ1MjQ4ICAvYm9vdC9taWNy
b2NvZGUuY3Bpbw0KPiANCj4gT3JpZ2luYWw6DQo+IA0KPiAgICAgIChYRU4pIE1PRFVMRSAw
IHNpemUgMTM2NjA0MTYgc3RyaW5nIHBsYWNlaG9sZGVyIHJvb3Q9VVVJRD03NGRkNTc5Yy1h
Mzc3LTQ4N2QtYjhmNy1iYzdjNmRmMTNiYTEgcm8gY29uc29sZT10dHlTMA0KPiAgICAgIChY
RU4pIE1PRFVMRSAxIHNpemUgNTA0NTI0OCBzdHJpbmcgL2Jvb3QvaW5pdHJkLmltZy01LjQu
MC0xMjItZ2VuZXJpYw0KPiAgICAgIC4uLg0KPiAgICAgIFsgICAgMi41MDUyMDddIEtlcm5l
bCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBWRlM6IFVuYWJsZSB0byBtb3VudCByb290IGZzIG9u
IHVua25vd24tYmxvY2soMCwwKQ0KPiANCj4gUGF0Y2ggMToNCj4gDQo+ICAgICAgKFhFTikg
TU9EVUxFIDAgc2l6ZSAxMzY2MDQxNiBzdHJpbmcgcGxhY2Vob2xkZXIgcm9vdD1VVUlEPTc0
ZGQ1NzljLWEzNzctNDg3ZC1iOGY3LWJjN2M2ZGYxM2JhMSBybyBjb25zb2xlPXR0eVMwDQo+
ICAgICAgKFhFTikgTU9EVUxFIDEgc2l6ZSA1MDQ1MjQ4IHN0cmluZw0KPiAgICAgIChYRU4p
IE1PRFVMRSAyIHNpemUgMzMwNjI1NDIgc3RyaW5nDQo+ICAgICAgLi4uDQo+ICAgICAgWyAg
ICAxLjg5MDQ5OF0gRnJlZWluZyBpbml0cmQgbWVtb3J5OiA0OTI4Sw0KPiAgICAgIC4uLg0K
PiAgICAgIFsgICAgMi43MTA5NDhdIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBWRlM6
IFVuYWJsZSB0byBtb3VudCByb290IGZzIG9uIHVua25vd24tYmxvY2soMCwwKQ0KPiANCj4g
UGF0Y2ggMjoNCj4gDQo+ICAgICAgKFhFTikgTU9EVUxFIDAgc2l6ZSAxMzY2MDQxNiBzdHJp
bmcgcGxhY2Vob2xkZXIgcm9vdD1VVUlEPTc0ZGQ1NzljLWEzNzctNDg3ZC1iOGY3LWJjN2M2
ZGYxM2JhMSBybyBjb25zb2xlPXR0eVMwDQo+ICAgICAgKFhFTikgTU9EVUxFIDEgc2l6ZSAz
MzA2MjU0MiBzdHJpbmcNCj4gICAgICAoWEVOKSBNT0RVTEUgMiBzaXplIDUwNDUyNDggc3Ry
aW5nDQo+ICAgICAgLi4uDQo+ICAgICAgWyAgICAxLjk2ODU3OF0gRnJlZWluZyBpbml0cmQg
bWVtb3J5OiAzMjI4OEsNCj4gICAgICAuLi4NCj4gICAgICBbICAgIDIuODQ0ODg5XSBSdW4g
L2luaXQgYXMgaW5pdCBwcm9jZXNzDQo+ICAgICAgWyAgICAyLjkxNjUzMl0gc3lzdGVtZC11
ZGV2ZFsxNDhdOiBTdGFydGluZyB2ZXJzaW9uIDI0NS40LTR1YnVudHUzLjE3DQo+IA0KPiBY
ZW4gY29kZToNCj4gLS0tDQo+IA0KPiBLZXkgY29kZSBwYXRoIGZvciB0aGlzIHBhdGNoc2V0
Og0KPiANCj4gICAgICBAIHhlbi5naXQ6eGVuL2FyY2gveDg2L3NldHVwLmM6DQo+IA0KPiAg
ICAgIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJp
X3ApDQo+ICAgICAgew0KPiAgICAgIC4uLg0KPiAgICAgICAgICB1bnNpZ25lZCBpbnQgaW5p
dHJkaWR4LCAuLi4NCj4gICAgICAgICAgbXVsdGlib290X2luZm9fdCAqbWJpOw0KPiAgICAg
ICAgICBtb2R1bGVfdCAqbW9kOw0KPiAgICAgICAgICB1bnNpZ25lZCBsb25nIC4uLiwgbW9k
dWxlX21hcFsxXTsNCj4gICAgICAuLi4NCj4gICAgICAgICAgbWJpID0gX192YShtYmlfcCk7
DQo+ICAgICAgLi4uDQo+ICAgICAgICAgIG1vZCA9IF9fdmEobWJpLT5tb2RzX2FkZHIpOw0K
PiAgICAgIC4uLg0KPiAgICAgICAgICBiaXRtYXBfZmlsbChtb2R1bGVfbWFwLCBtYmktPm1v
ZHNfY291bnQpOw0KPiAgICAgICAgICBfX2NsZWFyX2JpdCgwLCBtb2R1bGVfbWFwKTsgLyog
RG9tMCBrZXJuZWwgaXMgYWx3YXlzIGZpcnN0ICovDQo+ICAgICAgLi4uDQo+ICAgICAgICAg
IG1pY3JvY29kZV9ncmFiX21vZHVsZShtb2R1bGVfbWFwLCBtYmkpOw0KPiAgICAgICAgICAg
ICAjIHVjb2RlPW51bWJlciBjYW4gX190ZXN0X2FuZF9jbGVhcl9iaXQobnVtYmVyLCBtb2R1
bGVfbWFwKSwNCj4gICAgICAgICAgICAgIyB1Y29kZT1zY2FuIGNhbid0Lg0KPiAgICAgIC4u
Lg0KPiAgICAgICAgICBpbml0cmRpZHggPSBmaW5kX2ZpcnN0X2JpdChtb2R1bGVfbWFwLCBt
YmktPm1vZHNfY291bnQpOw0KPiAgICAgICAgICBpZiAoIGJpdG1hcF93ZWlnaHQobW9kdWxl
X21hcCwgbWJpLT5tb2RzX2NvdW50KSA+IDEgKQ0KPiAgICAgICAgICBwcmludGsoWEVOTE9H
X1dBUk5JTkcNCj4gICAgICAgICAgICAgICAgICJNdWx0aXBsZSBpbml0cmQgY2FuZGlkYXRl
cywgcGlja2luZyBtb2R1bGUgIyV1XG4iLA0KPiAgICAgICAgICAgICAgICAgaW5pdHJkaWR4
KTsNCj4gICAgICAuLi4NCj4gICAgICAgICAgLyoNCj4gICAgICAgICAgICogLi4uIFRoZSBz
ZWNvbmQgbW9kdWxlLCBpZiBwcmVzZW50LCBpcyBhbiBpbml0cmQgcmFtZGlzay4NCj4gICAg
ICAgICAgICovDQo+ICAgICAgICAgIGRvbTAgPSBjcmVhdGVfZG9tMChtb2QsIG1vZHVsZXNf
aGVhZHJvb20sDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0cmRpZHggPCBt
YmktPm1vZHNfY291bnQgPyBtb2QgKyBpbml0cmRpZHggOiBOVUxMLA0KPiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga2V4dHJhLCBsb2FkZXIpOw0KPiAgICAgIC4uLg0KPiANCj4g
TWF1cmljaW8gRmFyaWEgZGUgT2xpdmVpcmEgKDIpOg0KPiAgICB0ZW1wbGF0ZXMvbGludXhf
eGVuOiBQcm9wZXJseSBsb2FkIG11bHRpcGxlIGluaXRyZCBmaWxlcw0KPiAgICB0ZW1wbGF0
ZXMvbGludXhfeGVuOiBQcm9wZXJseSBvcmRlciB0aGUgbXVsdGlwbGUgaW5pdHJkIGZpbGVz
DQo+IA0KPiAgIHV0aWwvZ3J1Yi5kLzIwX2xpbnV4X3hlbi5pbiB8IDExICsrKysrKystLS0t
DQo+ICAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkN
Cj4gDQoNCkZvciBib3RoIHBhdGNoZXM6DQoNCkFja2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0K
--------------LLN5KQEfHGFphatgt0RVJCRd
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------LLN5KQEfHGFphatgt0RVJCRd--

--------------LGQhPH7PIr14dx3JBlRAQt8u--

--------------rsZC6tImMZLVjeNB4lKezClA
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL17akFAwAAAAAACgkQsN6d1ii/Ey9D
qwf/T+O6oEwPLUVilV/uc7PUnzKu+YxHqJcmYku7UYJPSbogUVDanbASGCBhoPi7BI3Iete1vBA3
dnSNnGEGDYIj8rajhC5WJuSTNn3ou5Yj8pGGbcHOBoFymgKCslCsYTVq3R4NCxjYzbUBXbnCtxDe
VfdASMSNyd9cCQyxlBzzgrr5oT4tDkeuLzLdP3u3zkoKNpx3veAv/cYk33zg3t/kBbaTQsmc0sGt
SzKKAEES9sxGCEc15QHzs/rnJ8Ezdd3U38L0HS7ir35CGWSKFx8Vynrt0/ZjiniGo3G82EzWHlwF
Zfgy5kN710G5XBJWBoPmCDwNjesxnq+bfaZ0/ueM0Q==
=WbVs
-----END PGP SIGNATURE-----

--------------rsZC6tImMZLVjeNB4lKezClA--


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 06:39:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 06:39:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385284.620870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMOKd-0006pu-KZ; Fri, 12 Aug 2022 06:39:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385284.620870; Fri, 12 Aug 2022 06:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMOKd-0006pn-Hs; Fri, 12 Aug 2022 06:39:43 +0000
Received: by outflank-mailman (input) for mailman id 385284;
 Fri, 12 Aug 2022 06:39:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMOKc-0006pd-C8; Fri, 12 Aug 2022 06:39:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMOKc-0003QA-0x; Fri, 12 Aug 2022 06:39:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMOKb-0001DR-Jy; Fri, 12 Aug 2022 06:39:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMOKb-00083b-JV; Fri, 12 Aug 2022 06:39:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YXTsnrOFfPWJ2NcvjtCyv7E2oXGpqXkjHykzk6AnPs8=; b=Tca+21uYrq4LOj0PIlhlu9qguW
	lP2JKDG2A9b3Hpt4smjdrK/fTnKr1hQTx2JC+jJUoEW7FG2+l0/KGHRv29TPDfOwlaUObTTRpN58t
	DtOvM6rRBsco+MSvsi9/i+9lqZheXDzTIDIiTRd91zGYc4GhoDrW9wibQob/L3HtNGYg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172395-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172395: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-credit2:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl-credit2:host-install(5):broken:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=2ae08b36c06ea8df73a79f6b80ff7964e006e9e3
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 06:39:41 +0000

flight 172395 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172395/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit2     <job status>                 broken
 test-armhf-armhf-xl-credit2   5 host-install(5)        broken REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                2ae08b36c06ea8df73a79f6b80ff7964e006e9e3
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    8 days
Failing since        172152  2022-08-05 04:01:26 Z    7 days   20 attempts
Testing same since   172395  2022-08-11 21:12:51 Z    0 days    1 attempts

------------------------------------------------------------
1219 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  broken  
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-credit2 broken
broken-step test-armhf-armhf-xl-credit2 host-install(5)

Not pushing.

(No revision log; it would be 129723 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 06:45:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 06:45:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385301.620893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMOPr-0008Rt-IT; Fri, 12 Aug 2022 06:45:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385301.620893; Fri, 12 Aug 2022 06:45:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMOPr-0008Rm-Fu; Fri, 12 Aug 2022 06:45:07 +0000
Received: by outflank-mailman (input) for mailman id 385301;
 Fri, 12 Aug 2022 06:45:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMOPp-0008Rc-QC; Fri, 12 Aug 2022 06:45:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMOPp-0003Yj-K3; Fri, 12 Aug 2022 06:45:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMOPp-0001dZ-Dn; Fri, 12 Aug 2022 06:45:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMOPp-0004mW-DN; Fri, 12 Aug 2022 06:45:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aD3owUpIOsh9rK1oi0jV44gUZjRtY+CktjEx/nbvGc4=; b=OJdQLt86myCavaiUsw757WQiS8
	FebD/6vmr7KSYVziPFAdgc0T9GzTwg9Vsl5gnK42e6NwEkXfXQQJ7vmWr/InUDMckFGn23glFCSrv
	6ndtF7+3l3uOFxCtb/pXU15Qnlo4X9fh8gkPwcoOkbqcpizyCnhhnROG2hGlCdCzliF8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172406-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172406: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e76496530c5facf58f57680825adf513265066f0
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 06:45:05 +0000

flight 172406 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172406/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e76496530c5facf58f57680825adf513265066f0
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   68 attempts
Testing same since   172371  2022-08-11 00:41:44 Z    1 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 515 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 06:45:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 06:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385305.620905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMOPy-0000K1-Sq; Fri, 12 Aug 2022 06:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385305.620905; Fri, 12 Aug 2022 06:45:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMOPy-0000Ju-On; Fri, 12 Aug 2022 06:45:14 +0000
Received: by outflank-mailman (input) for mailman id 385305;
 Fri, 12 Aug 2022 06:45:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMOPw-0000IQ-S2
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 06:45:12 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150052.outbound.protection.outlook.com [40.107.15.52])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ee7af6d-1a0a-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 08:45:11 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR0402MB3619.eurprd04.prod.outlook.com (2603:10a6:208:23::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Fri, 12 Aug
 2022 06:45:07 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 06:45:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ee7af6d-1a0a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BVXicpdb7OUvPlYN83sNhPDF6mTdYyiSgY/cYfJQ0S/4cDbvibIHoksfFVKJ4Wb8QrQYFcIujM0njbboDKEdaEWS1uV2o9PSCow6zvkmb87Wa1hucHtK+PfrWr/npgrPBklPTJcNK73tyhaL1Xmg/vhAoeWEdjfHFj7u7t+i63SnGj0lVo+K/ZtRsg1gqs738EEWhe29SLfrz04h1ncuwAwsSfwz06o7+iYSFBXdjqYHVsAbDLmlEt6jlSpP27oP/HpD4LjrE8avoLA6/1ZI2MezCUizMqlVB1ubnbXupIrX7BqNWLn2MUN3IfkQlr9oug3QQ8ak7LvFEbC3DMUsoA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1XAPlaUOVTiIfPopHk22cvy56SQbCWm4+1p/oKN8q4M=;
 b=ZnUbzBOeo2F45FP39Dsfmww6oFvxlSNPpwpolLDEvsHhMxMCGhtS/sgLEAs/wrrEsvo9xz9SbSoOsBnSVNxZwuAvq0SCkP7wZqPmkgx2s7rWOFoOdG1eSoJVO/ZDrxlc/Aigg22Q958BsInOW4a+2E/h2JOxtIt9iy4/Qabi+GuPriAcGCwVVwTZYQw2qeAOfioY1xO3BcJ1L5XvMzRbUzn/tfgFpk87k2bfU+gklpDaPRed4KxrZ2vHB5C6XZ7tMobdxPO+MUYbJ72JWz3UwNG5EXu1WGh4adE66XfnKo4pAWNVcqCeEuVItdWsxc4Kuljkz45BjQWOJprpVzPR/Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1XAPlaUOVTiIfPopHk22cvy56SQbCWm4+1p/oKN8q4M=;
 b=ingZPfdcWQa4jmbiUrBf9NrACaGKNNTEV6UNQSxNxJ/qp9BqvGXe0GLnT6ahKzR1h24Y3S4ntdlmS85rUnTZIyDGjiRnv9BDRhb5rxZeTGslRqmVJ/hYPIKvgywoQmxzb6456yasWo3pk0dm8rCZ4vlR4AlPmiVVNSjQUzmlW1RYYMivq6xzX5HBsirJUEAaCVPj1RtklCmyH4NQbooohZtIa28dMy7VqU2fyQ+zH4GXFBmbdSafhuEvJeLHf7D/WL4p5j8i2tADNusZ1elA9FZIUBiPZEyOrko2h3FiQNlNz0RwYQ7ADHWVefnebHG57GY7Qd/C/FCBLdv2Z1zwDg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <82a9cb69-3a32-3bab-c28a-889bc11570aa@suse.com>
Date: Fri, 12 Aug 2022 08:45:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/msi: Switch msi_info to using pci_sbdf_t
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <20220811163740.31494-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220811163740.31494-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0097.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:8f::38) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ef4dd957-7258-4f10-fc25-08da7c2e31b4
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3619:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6XaWO2+6rx+JXsBKtQ+VXfFuaT1xY6pzQ+fnvgjlQm5+T+wt3knLb+LWcz/wlNcnsQxX58S1bcHpRQBErJCMRLwqMTJzBBlxBSQRAZJHeNshh79glaVpWLePLNEHFdJrOe5oRMazGyRgSmExMuv9oAgVXkBrpYHdJs8dm0ZbIDN1qrDoSPNrfttjdJzoR7nUL/zxCvGFdn3y+0p4NzuTOvL6b4tpgbFOm4pXsSh1maVt9YvUW5+CBCQbkGyS+pExRcQxYMED2Z2IdBE6nnOlm5+gTr0pkOM1vnjmGMFgSYv1X4z7aRJSy0BvSDloynCkK3x6+G0KnOzi9CP4bYOwmrWJv0E+3drnxz2vGQDGfrvvttim2oLSVjfv9rngcovb2ZmW5zJ+d2i/aCXRY13pufY82+rIIgd7zltq3qDKBQDNG/b+OsmRESNEIVKIJD44n9bevrEdpy6YVJwfAvzQLsikNpVuwhq8Z7lEq0Eb7WaPGvIpneNALFhUTey+3ejWU61/cD6+kRMWc4NmB8yOL3UUcVP4DLpKYOU6gnFOOgKCLc2oioeQ/Q/D9UmmSLTfMNOtjAuoRSA1kwt95fTS1sHclmrKV+e46dIo7XfUeFHp0AV0/RYk4V6RZnUSsCHx2EHz0OX4Wioj5nAmzg6WWKpH+cmN3JK2uTr2fLO+LyqJf0PsppxNFUJ7dUR1luan/1nrjDZ6TzoqUdYZtpBtsXyidUNVDnklmTAdWbml/1hCT/a1ybZW+DwWIYAFDDBTzADRZRjgew4mtRXxhJ3Xi/pDgWOp52Nn53zFTRgf9CXDoXP/zqT8wzuNS0CzCBwqtxvr1Ofy1bSk4nkLjbVH5Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(136003)(396003)(376002)(39860400002)(6916009)(6486002)(316002)(54906003)(478600001)(41300700001)(2906002)(4744005)(4326008)(8676002)(66556008)(8936002)(5660300002)(66946007)(66476007)(38100700002)(31686004)(36756003)(31696002)(86362001)(2616005)(186003)(26005)(6512007)(83380400001)(6506007)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFJOY1pGOGh1c25kQ2VlWDB0NGdOWEVOLzU2ejVhaWY5UEU2V3FqY2NHb05h?=
 =?utf-8?B?SjNTR0xuS1VQa296Mk01bkk4S3B6K01mVCtqWDF3Z1FSZmkvdEtmcE5PL3Y4?=
 =?utf-8?B?VkFIbTZiUEYydFREYUFBcVU2OWVSNjZaM01uQ2tydlFhNVVuOTE4NzJ1NXU3?=
 =?utf-8?B?TS9GMmREMGR5MTl2UC9QWloxanpoSzF6UmFvQlRjOUZFWDFKakx0L2pEVzVQ?=
 =?utf-8?B?VmE2Wi9IN0hDYThER0QwRk5wRW8yR2NzWjVJTVNPaFoxNHNiNlBLV2d2a3hm?=
 =?utf-8?B?MVZibzRtdHR5OFpqTmlXOGw2VURqdmVvODVINFpwVlpPTE1vM0FuRTZMSXl1?=
 =?utf-8?B?SDVDc0kxUmxqUys3UzlJWVk3Vlp1NG5Ic3d2K1JnbUN5NTlXT2dNTENSZ25V?=
 =?utf-8?B?TzJIR01wWlpncnV2R0IzU1cvV3pwa1gwZi9vS2h1Y0N3NWl6V2xmNEdNbE5q?=
 =?utf-8?B?MjVCcS94d3lvTlJUdmNEaExwTDRIZnNkTlVObTBYdlJqdXJ3Z0t4Q3NoZG1y?=
 =?utf-8?B?UEpWRmE1OGczYzBoeEhWMG9XR0ZQMHoyajVEYnJ6Sm9HcVdGSStTZER5b3Z5?=
 =?utf-8?B?cFlRblNOWVZOQ0NhNENoNUp2TlZkRHY1UmFxT1NtL3laV2V6V09uSnY1c2NI?=
 =?utf-8?B?NzZNRFhoZzUwZnJZbDY0TXl2eEk5OGM0NTZDTTZaT2hvWndWY09raDhYeXNn?=
 =?utf-8?B?NXlUNEZRdEpZV2Y3OWJKSFB1dTBkOGZKTHFwcTc4R1p3aFY3cW8xNE5DY1Jz?=
 =?utf-8?B?TDg1RCtNdklKbjhkYmo5QVVuS1BuZ0xtbnB2MFhKdDYxU0F3RXpLZWdRZVFZ?=
 =?utf-8?B?QnZaK0c4S09uR0orQ0hYQWFzU29UYXQ0TGs1RkQ0UzVpelBqWC9Sck5ib3d6?=
 =?utf-8?B?ajkwbGdVeFJiV0syRXBUSzAyaXU1MzNmeDl3cDJjTmwxc1h1eUZHRzJQS3hO?=
 =?utf-8?B?MlB5cVZsMWNaSmVPeGNWTjNRZ2RhUVJkUVNtc3VDakRCV084djdSK3RDWnE3?=
 =?utf-8?B?UmFnODJSalhYcTNPV0svQkx1S29TeHlyL2EwVjBocFhhYTZhSmo2THlXblp4?=
 =?utf-8?B?anp6ZnBZVU5hL1hiN1BWKzI1VTFabVRGOFE0a1hYVTdMQURaRlFyZHRDUHYz?=
 =?utf-8?B?RVNZQ3pTTUpscHZSMjllemgyS0FKYlY3eVkvTlY5RWxDQzhZK0tvUEN5Q2F1?=
 =?utf-8?B?RGdBOHQya3dYY3NFaDdQSjNHSHVrSlZrRWxjblRnbjZPNWcyQktLampKenho?=
 =?utf-8?B?bWpSbFpEOGZQT2VmMENCODNidlJUU29xbW1xUHhtak5jaysvVHRjM09LZHdi?=
 =?utf-8?B?VmhpN01aOTVUcmttYXNjcWFqZ0lsazFnbEh5RVJ5YlltQ09LS3Q1ZEN3WjdE?=
 =?utf-8?B?WVBRTlkwd3dxYm9VVEdtc20xZktrM1NaeW5zd2kyMmRycXIvMy9RY2FWY24z?=
 =?utf-8?B?NjZ4TmtVdHovZXJkNjk5Tnk5Z1RLUGFFb3pPdDhjY09LQjgrTzRTbXU4dmhX?=
 =?utf-8?B?RUJQVEhzMGowQWFITCtaMk5Jd2kvSUdMK2JWdlRoV1BvTjY4alJpQXAzS1FB?=
 =?utf-8?B?S2ltb3J1eDhzYzIrdXlLWmRhQ29IYUgyc1JYWnF5WmVrWWpaNkM0SVdoYVE5?=
 =?utf-8?B?ZVN5Yzg1SHBsWkxxOW5UQm4zSlkxUlVsUC92ZjRIRUl1cFpzU0NaL1V1aHJZ?=
 =?utf-8?B?bFR6VnpwV2VDZTdQZHBtRy8wd0s1VHloRXluWExkaXZId1BCOTFreTlla2J2?=
 =?utf-8?B?TnE0OVhtVnJtbHlFbktrMkM0aHVTU3djNVk4alhDck1mZ2E2T0pRQ2hyUkRX?=
 =?utf-8?B?YmdGd3E0K3VCK1M1VVduc1paUWwvenltejFlRi9RcXEzM1VvOU1yOTZpSGY2?=
 =?utf-8?B?TzBLdjhjYi9yVHRBN21lNjd4cHFGdVBtbDh6VGEvM2MwNWtmV2J2Q2pCam9X?=
 =?utf-8?B?L3RacXlOcTF3M21GbnM0VjFCRGVJRmt2MEluOWNGVWdDTEZBR09IdDk5UEJO?=
 =?utf-8?B?Y0FHdFpVdGp4RVFGc3NSZndYSlYvV01GWjdiMjdjSFQyVTNOS0xOWE1GRzVI?=
 =?utf-8?B?NXZvK2d0YThpZ1E3K1VGQ2tzOVJ5S0JuWmZEK0J0Tmh1Q0tlc3ZSUW1Tb1p2?=
 =?utf-8?Q?JZ0qeXK+m6CWRBdIcbheLss35?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef4dd957-7258-4f10-fc25-08da7c2e31b4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 06:45:07.2037
 (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: cR+1J+cXkW2Ncw21V68R8FhdYaCIMYDHwJcPh3VSUMFqX3IJ4FulTYKM4Iv+xibCFh7oGPLWwmARJo1vr35aRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3619

On 11.08.2022 18:37, Andrew Cooper wrote:
> This reorders the fields in msi_info, but removes all the under-the-hood
> parameter shuffling required to call pci_get_pdev().
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Oh, you've made the requested change yourself - thanks!

Reviewed-by: Jan Beulich <jbeulich@suse.com>

While not the primary goal as per the description, I'm particularly happy
to see ...

> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -918,7 +918,7 @@ static int flask_map_domain_msi (
>  {
>  #ifdef CONFIG_HAS_PCI_MSI
>      const struct msi_info *msi = data;
> -    uint32_t machine_bdf = (msi->seg << 16) | (msi->bus << 8) | msi->devfn;
> +    uint32_t machine_bdf = msi->sbdf.sbdf;

... this open-coding go away.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 07:07:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 07:07:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385322.620920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMOl6-000359-Pe; Fri, 12 Aug 2022 07:07:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385322.620920; Fri, 12 Aug 2022 07:07:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMOl6-000352-MB; Fri, 12 Aug 2022 07:07:04 +0000
Received: by outflank-mailman (input) for mailman id 385322;
 Fri, 12 Aug 2022 07:07:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMOl6-00034w-0d
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 07:07:04 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ce5fffb-1a0d-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 09:07:01 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5396.eurprd04.prod.outlook.com (2603:10a6:208:116::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Fri, 12 Aug
 2022 07:07:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 07:06:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ce5fffb-1a0d-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Aish+dLzElgL3f+loKI8ASBXNAtc02138ojha+NhUg/yG1MUrceHqD1YCd2oOph2/72WQqTzT4CVsEJPfEPN6gopx9U69JTN1NbNDdlqdM3bXSQC0sf3wrf3BdBGYMDSKsixc3KBSo7ErGzz3qP+BxIPFogwRF5eXshMhza+nvaUpySygNsGnvpdqspn84Y7HQQQC9wrlW2ST2jIV0WG1DYPQlqCN5c/WKmr9EpBPx/nEKLnRdQ/Dnn+WZ9z/puTqhOWedCuktNDHZqOiYinIxPI19bIc1bv6QCMcd4yr1TUhjst60dI2O5pto1ht1ehQrgK+JnTKv7uVnWVtpugvQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B08G4Yg9hc7MRAjDGVmnpCHFyKhKOK5Z9snEtO40L1w=;
 b=Rokw7rO7xOqGB2FhEdOjHVp/ERKxF1502BYODvv9/f+5Hqf6bjPpe9m0ze2RyqJ0hU+GO9g+NgAXIFnIcf6l5KZpix7slodyPsKIAmkNVP+UaeA6ee8DyJgqeTDouazLly2s0/K4rvqNHzNTs8ZXOM/Jxs5vfXrnngA3qL1RcwiKiU5leud+XimWOrDnZg9mwL1zkWRyO0U1sB6QhTCaRRhxAMauMRHUBsOdCxOLPA/h6QZY2cabAFFkR4APld8b/W+saNYVb8apjEphq4ZUsN0f8rmKAPL1E2NlWZgMYcrOAVzWt9Dn+XxesLNAfN3f5TNrP44QqhNEliCG6qq+gQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B08G4Yg9hc7MRAjDGVmnpCHFyKhKOK5Z9snEtO40L1w=;
 b=aYsoFU/OHeEus7IlJS2Lp67oMGY6dQsZKG1mR73HIF8KFNxoFingWAvK0Wl2R9Q8kJEWq0XvNUjw+ygYQtCcE28xHY4R7bJredvsK9EUOmClpOOinDPqWew0iIOHIl5aVxH/+FhP3rp8Rthe7wRmz3j8a0gGuak0LglbnToXCAz4/mReCKxQi38QvPCQOZF50BCRA4FWHUg/vExAbnF4WiJbT+QKVHVkCHx46NLDRIp0sS+geOWqpbiEKGgItm9qNCPAWmaijrq8znstgTB8M8jJX2U2HwM7GAR/zFBV4rwTDql2GH81xcKnuo7B/nHvxVpu4v7jPg+dMWQNCOfKsQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cc46a75d-e68e-c4de-edc6-ecfcd66859ac@suse.com>
Date: Fri, 12 Aug 2022 09:06:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 1/2] x86/svm: Remove regs param from asm-called functions
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220811195905.7780-1-andrew.cooper3@citrix.com>
 <20220811195905.7780-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220811195905.7780-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e2dfd665-e0f8-4097-ab1c-08da7c314003
X-MS-TrafficTypeDiagnostic: AM0PR04MB5396:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YIA2UuydGBs+bjwiQxNCIh5JmhX/6Kw0HefwRoVIRbgr17x1LJEJ6grB1nwdOa5XyG1/fZp9ULvtpVByxDXR9806c6+nngCQQ8slfMSPmk5z/nh9EeHQbX9rhPhDWbXo3DOUe/oacSOBzCyH6iLD1fHPsE0Z1Yy1H8NXNbIo6sr6peClxA1aasjzF6TH1Q3DSdXIrA6K7VO/xtb/cFkJV7rqJ7ETtyDY0JR+J3gyudVKMSwII8YDF8Tzgo1XBPXcbra5uVgKzT9RCWgDClqIpxG+AEFnYP9CPqslAyNXD/RQbaWdUrpxZUO+HZoneWf+nplAI3lJT1w26pZpt2Kkujh4R4QGK3+YVd3uqvftuiNJsMD3BES3pTbjnSy/t5nPuCG1APHF+AuStmvEpvb5sGkJ8uRMF5SOUFXPsXNoKQEcrtIMx+Tzpl6zriCnNYH7p1pV/CW4zi/4wJnRTOa7WDJWNLL2rRnKMiWT4ZmHJGJ84F5Ec9f6JCafE0kXxy9tNTgi06dYHkblsXJ5rXJr7GpoEBiRPCwf3SMDBWgVJwtp1g6VRC9l8zwmWEhFYZsYdiYHRjQr1r8rnuXIVjAnhZJDq7S3Umtex4KGuyJ5mIBXFFEHBEumWwDm5cxFwdRt0t52tpRBpMjIanrwTsI2F+x15qic2UxmCRFomv28CJmbflZ2y0IyQSZOKly4cvY9ltE0vi8mQT3HtVB5rV9WawYMZTFtQp72SXiLrUzXgdGOEQ2f3LlqnRVN2JdDFqATc1zZBEkhp87e9zQ8JzSJecsBf33oil2cRFkzeIoOnN1hmIpscMjBTVc6pqg3tits/uD+9ECwtySLf1YC33vwQw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(366004)(346002)(396003)(136003)(36756003)(86362001)(31696002)(53546011)(31686004)(6512007)(186003)(2616005)(6506007)(54906003)(478600001)(316002)(4744005)(6916009)(41300700001)(6486002)(66946007)(66556008)(38100700002)(8676002)(5660300002)(8936002)(66476007)(4326008)(2906002)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YjBBSml4Y3N0eUZpd3BmWDBRN3pSMzU4alBJNE84ODgwcHJLcjVkaElncFNR?=
 =?utf-8?B?SlRhbkpvTE5YYVlGZ3F5K2c1SEJhVGgzYjRLU200QktRMjAyN1dJeDQ1cCtD?=
 =?utf-8?B?bUp1bkhPdDhXNmdBekpBelZHZ0dhMVFhYUlnVStKcFFXbGwwaWIxZ0Nxcmhr?=
 =?utf-8?B?cCt5cW9iY1crNDZaOCtEZHEzcnVvbjRnNFRxV0EyYTZkeUdqVWF2Ly94c2V2?=
 =?utf-8?B?bDBZTTRlOEF1WUl4OGtoVEx2SHZreExEYnhDVEtLbllqR3BNNGdpdWZwWGk0?=
 =?utf-8?B?OUFxbTBIRXMxelYrR0g5QVEvUS9nWDIyMklKajkxKzM4RE54U2FYNW1JQUFz?=
 =?utf-8?B?Z2k2dWdXQXdJR29QbnpRQXZtaS9rWkpyanJRNGw3cjFlSHdlbDNLeTJVQXR0?=
 =?utf-8?B?S25PTTFXUHpYVUhybm0rTEl1cUh0UzI5WWF1YVpWR0gxOWhwU1E4VXluQXZJ?=
 =?utf-8?B?TXcwdUVEQ2h1ckZ1VUZUaE50dE5BVVR4REU0cUgrVDQ4bzBOUTVpc21VZkQr?=
 =?utf-8?B?blFXcXlQTDR3eFJRaitmT3liT2Z0KzBOZGVwWGVMdFpaaUUzVDVFKzUvWmRw?=
 =?utf-8?B?UVptOVROdEtTSHZBODB3c2VKTFF6Wk5FOXR4OGtGMmdlUzcxeEhiSFZVd1hM?=
 =?utf-8?B?c3UzQ2h5Zkl3d0tXNjEzcjg5N1loMXBrd0hRbFVsbEhJVkcrcFJaTHlBZ01o?=
 =?utf-8?B?R1VtRHk4SlJKQjBpU1FLUG0vYm5aQ3psNE9sVEpYRmpURE8weFkxb1o1Y2dH?=
 =?utf-8?B?dHk4WmMyU1FwUWkzK0k3Z0JIZVpBaWlaTWl4UytaR2YzbzVnejk3blBTSk0z?=
 =?utf-8?B?b0VvU0xiUjNOdmhPYUdLS3FmeDVjQ3R2Y0ZrRDdKeVk5SURqRTFqekI5MFlr?=
 =?utf-8?B?S2hHWm52bWkraWQ1LzFmQU1kMUxCZTFHdUdDT0RlU3M1QXRzRmovcmplWWU5?=
 =?utf-8?B?WUljdDFiZWwrTEtrMFRRMHNQNHlvWTNZdHltWktaQm9RZXJEa3BTQjFabGFo?=
 =?utf-8?B?SnJIU25kdFdVWERjcDhRQ1ozWE0zb1QxS2NtNDNrMHl2UWNwNFhFakhRR1Y1?=
 =?utf-8?B?bWRablFxNFFvclJUeW5IWU5ObFRoVVEycTJvaFhTSWhhSlAzKzhQdFFwVml6?=
 =?utf-8?B?Uk1rekFSclJhQ2hmaXRnQ1ZhdzV5WE9TK003RkVidk9vYTNmYkNDY3cvOTdz?=
 =?utf-8?B?RkQ4RkVFVnRRRWpRanA4akYvT3VRNkVJa05OY3hBT0pjYlZOYytkMXVUNDB2?=
 =?utf-8?B?UG1OY3RpTzVJa0QrdklaSGNYWU9WdFFtUzRobkhaL0VyTVlZTDBFQWRxSWNt?=
 =?utf-8?B?alNrUkMxMlRUOFZkRUc1R0lVUml6UElSc1I1V2crRWttOStzdTR6TUVubzdG?=
 =?utf-8?B?YzN3STEzcGxmbVVnMWxLQXQ3aTAySC9Ta1FlektaMGVuczQ0Q3FVQUtPemt6?=
 =?utf-8?B?RUtxR3VtL1ZCVW1oampvcGRhM3FqeWFkbm52OGdRY1U2OTNueG9acXpvU3Np?=
 =?utf-8?B?Si8wck9RVTBvOTc5cUJUNTVQNnI3ODNTT0dLNkJnR2hWazN0aEljbzgxRHd4?=
 =?utf-8?B?ZUlteHd0Q1gvUWhxcS8zN0JxdUZ0cTNoQXBYMFhhaGtRVmllMzJxSzFUMTZX?=
 =?utf-8?B?Mkd5U0RmZkNZajRlQUs5NzZHQlRBdDlJT2ZxREl2Y3pPbGhxNnZpQjMzTVdm?=
 =?utf-8?B?aEkxV0ZzTkFKdlhVUlh1Z0xRQ0JnbW51N0RZOUtMeU9TMkJOV0pjS084VWp6?=
 =?utf-8?B?NnY2TldXamZmaGwyTUFLcnc2OWVQL0ErblRxWjNwNFAxZE1jSWRJVE4vbHR5?=
 =?utf-8?B?anFmMWZTdkdBR0tyb0RQVWZLaHhSam4rUCt3d1hQYXFFMnlobDd0NnpFRnRw?=
 =?utf-8?B?R0RmaUNTUEtidjdobnE5RGU0TWdTME9xdUhpUFNYWVhlb21BOW0zb2pERUpa?=
 =?utf-8?B?TURycXJjTVlhU2V6aUdOaWVUVlJFOWthUHlpNTNOdFRXZTlTbnNTN0RpbEpu?=
 =?utf-8?B?U0o3alp4azJpV1lHUi92OGFraU9CQUtFUEoyTjB2ekJHNkhicmZFUmI2djhF?=
 =?utf-8?B?aXdpNHdQNldFU2VlMnBDdlJDQVRmYW9SRHBwcytRWnozMGkwOUNicXN0YTdF?=
 =?utf-8?Q?GmoGTjX1OWwPASK3a9aWqa2nx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2dfd665-e0f8-4097-ab1c-08da7c314003
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 07:06:59.6664
 (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: UWDvEYVZbsApNIvQPJYx2GK+cfgEPHdF5t/HL4nNwkWKpSN9eHpEa/YmGyVEUDMEjIz0LagKd14icmy0EjUeHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5396

On 11.08.2022 21:59, Andrew Cooper wrote:
> A optimisation is going to want to conditionally have extra data on the stack
> around VMExit.
> 
> We could alternative between `mov %rsp, %rdi` and `lea 8(%rsp), %rdi`, but it
> is easier just to make the functions void and let the compiler do the (not
> very) hard work.
> 
> Passing regs is a bit weird for HVM guests anyway, because the resulting
> pointer is invariant (this isn't native exception handling where the regs
> pointers *are* important), and all functions calculate `current` themselves
> which is another invariant.
> 
> Finally, the compiler can merge the get_cpu_info() calculation which is common
> to both `current` and guest_cpu_user_regs(), meaning the delta in C really is
> just one `lea`, and not any more expensive than `mov`'s in ASM anyway.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 07:29:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 07:29:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385330.620931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMP6Z-0005Sb-Ko; Fri, 12 Aug 2022 07:29:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385330.620931; Fri, 12 Aug 2022 07:29:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMP6Z-0005SU-I1; Fri, 12 Aug 2022 07:29:15 +0000
Received: by outflank-mailman (input) for mailman id 385330;
 Fri, 12 Aug 2022 07:29:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMP6X-0005SO-Ra
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 07:29:14 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60053.outbound.protection.outlook.com [40.107.6.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7574224b-1a10-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 09:29:11 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0402MB3372.eurprd04.prod.outlook.com (2603:10a6:7:8d::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Fri, 12 Aug
 2022 07:29:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 07:29:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7574224b-1a10-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XJ4V3swva0PYXMcHJ2U1W5t06tfybUTt/Rg4WR64mYCEb1VdVxRoKB4wx4IdPGVmYyBx/O4L0YksDGItR+/4IICDiLyAZYBt+CXkFD0urAKSuxgUskE0nR4Nj65Nyh2b7yTejIRQA5GlwawbmbpXkYKIBxZuxFHvLM4EyiyomBjGUSpByhqVlZcBXVXBQBJ+rVJdeeEShpOqPvx4EW3hvdf7WQjPfwl1UWh4RRbaO15g841MLuos1VcZGSlzBKgZhq/QHinf8sOfJgx0/50lYFUvQlGkpVnZvulSroa3z7js9NMPPWCviQZZSKgPiS3N7kkpBEsKMrGLPVUNXy7Jpg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=09jxNHr8AlzaG54Wd637e6Mtl0Lzx6yO38Rpe5px4WQ=;
 b=bd012ATtA2kVH8VqyYmyhRjLJvYfHdWNYmdblxPrNiAzOkBYoqjjdaD66rUzNWXAcHXMgwqM1IZJ9u4bVW8lJrxwwGR+acvj9eS+hOEzY/TB415tmnZUIw1jHsk4mT/s8KJfxFyomy0La/jQPydAR8Rb9kGjrhHMpmIXBe4Z7dAhtjkJu8T8gQ8TML7YZnCZ5LWjZevfXTtrKVNjgm5kQkpLQh7+geNGym7t+nW7gpczow3wMB+ErPlEholb3e1fb6bNci2CgjqYlKDe7so7/LaWZraOCTYHdeg/4l/IPbnLy4EB77ChXXebwrmAgHCCYpFVx7WXvwBNjIcx6O04ag==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=09jxNHr8AlzaG54Wd637e6Mtl0Lzx6yO38Rpe5px4WQ=;
 b=s7Xas3C+CNCgf6v6duNz+r9wUqxDrmwr2kO9xrHfCBziXQoBqQnermaaecjgX0UsO7ZMG8YQIHiMeIhpL6CNGZg40Pgsh3qCSDj1Z55TlpZ+7o5YMraUanLmIEX4RWaMg44gqZIWj+kdtvnSR9XfNzENx/9Z/S582aN7NQIN5mbh4zAXdvyXaBo7sbWgHbNZPFkFOWCSk47ftouF7kSjO6PIwxw3Kogfy69Abj1hHc1t+s0CZLgApwqta/5okFsod8zryYYy2qNBs+OyQDlgeDOg9/6Yrzh09l29yEry+d3SUlylD7eyskP20ElekebXw4uaG3QgUMpxIm42gh7rog==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c7eb68f3-4c86-b033-c57e-bb64fd8729b2@suse.com>
Date: Fri, 12 Aug 2022 09:29:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/2] x86/svm: Keep the RAS balanced for guests
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220811195905.7780-1-andrew.cooper3@citrix.com>
 <20220811195905.7780-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220811195905.7780-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS9PR06CA0084.eurprd06.prod.outlook.com
 (2603:10a6:20b:464::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3ac25a12-46c6-482f-6756-08da7c345849
X-MS-TrafficTypeDiagnostic: HE1PR0402MB3372:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yv9ulJ6oag6+jbGqlu3E5Gn2yzNVa3NDZpfQGiGqSDFj0vj8QOVxVuTBOSYfF+h1pIvsq8u0b5z1DA8ECHdudL0jIV6lN+kuO3w2C2yzEKKO/atqoA9F+ZLxjOsyN+SFKQ1/HRXvOZRNmGPDcfE7FIAbbU5hOhMu/aT9tJ+aQ4VqNyqsj1nVyvcX9ug2zNtLJN1gJH7IQ+IcqNkTskzhMrl90AP7WNwHpE3NqBZAn2fDep9XAPxrQjJ+1+tD/ojRbN1DfnFCozh6hJuCjuRqY3y9Ew2df1j+IVB5gKsGx/L77fltxaqoPWUVsnkUdBwklyLpdyT0Mak0+0dz5uhhUJPiqNaUVVm9XNRBz/3nQleAf1zAKff1G0YBAsFUxs3jh4JGTrYlkUsF/OzM9UoXjaCw15HDfvxX17MJHt2tpl1VejUMwbAffh7DpPUwG02c63DEKbYkOJ0KOFZCnoiOPgYY7UNQB5C0nZw0bm51z46T+htoKhf73OYlZnsBGyzDpXLmkJCVu201k62rliTrZj09LJ2Vx83zPohYuSUQQl4WwYjK6y6iaesCbm8hiOG2/3TGGfieqG9bTu3C+5y04Vv/nBb3HgFjgdnEFgWiZzLjRAsUZPN5TMO7TTN3kdtxC68tcuuMhkJ7LldE4UkV8ROULWTPajhPO6dN1ov1b7czvn+2b/BVjsbxX5D4Xj3r8uJanF5l2bn8GrYJ8N24IfZU3EPjBzyy4zfNyzZVBUV/sqXxuzc/fYy5AUsve3TO0ZwzqddcAZxGP+4DC0R2vhjveujREQHhlTLuC07BMBVHUmBAGT/tgCjrY2GcMS1/YwxPkJjIhU7GLnLzo//MDA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(366004)(396003)(346002)(136003)(39860400002)(31686004)(86362001)(31696002)(36756003)(41300700001)(38100700002)(66574015)(83380400001)(186003)(6916009)(6512007)(26005)(6506007)(53546011)(2616005)(5660300002)(2906002)(478600001)(6486002)(8936002)(8676002)(54906003)(316002)(66476007)(66946007)(4326008)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OGpyekh0UFVWTDMvKzlPK0lQdTI0QStIMG9tK200RDRRbVo5UnQ5VmdJVUlR?=
 =?utf-8?B?b2ZxSjZGZ1RnRXorenFhTHJlY3pKUEpsRkI4dkI2ekkvRXZQQXYzVHdmVkV2?=
 =?utf-8?B?ZUhqUVBGRitha0NsMlVTNmhuY214NldKQTVRdmVJNXRrZ1F6MW84T3hxNVdU?=
 =?utf-8?B?dnRVUDY5ZFZiUll2UFN1bUg3aDI2KzBTdmpwU25XbXZ5NnNBb3AvbEFEQjBs?=
 =?utf-8?B?MWxTd3pVWld3aXY5UlYrVHg0Vkx6T2V4a282ZldwVkZYaXh0L0lOTUNYTzJO?=
 =?utf-8?B?K1l0S3E2a0lrNDhSdWVpcngwbnJydVk5UmFxL2NDME9WdWNQOSt0ZEdkTXVP?=
 =?utf-8?B?aFRKQ1FlOERuNWtuWVA5MjIzK3pkK3NRK3Z0Y3psYUNKelFSNlVaQWVDaFZx?=
 =?utf-8?B?Mld3TGR0eDREM0lwQXpTWnRKUTVQeWttQVhPNTJnQmxraWVQcVNMQlNzUWFq?=
 =?utf-8?B?eUc2NFRUUDZGbkpIRk5JWVltOElDZzIvUFkvTVpZWWl2VFVvMEJkZE4zQi90?=
 =?utf-8?B?Q1dTeEsxcm5ja2hIbGd2eFdiSStwdVdBM1hkVkdaTU4xdnBEczBHb0ErNStN?=
 =?utf-8?B?eWtneGtLZ2R6OVNJamNQNjZybVd0aTVsWC9LaUJJSHovbXRNeUR3cUhndTNT?=
 =?utf-8?B?N1VqV1JubTlIODJzU1ZiWFhtNXFYeDZQNVgzb3dLWDU2SUplRi9zL0d1VHdw?=
 =?utf-8?B?enpoUGkvWWErODFnandML0NnUTZNNGxDeUJoVDE0cE85Yy9yR3cvMXV2OGls?=
 =?utf-8?B?L0lHb3JTUHl1dXJ4Y0ljWmxGZkxkMTJBLyt1THF0Q0g2K01McjE4dVBOenFu?=
 =?utf-8?B?NDVLVGlLdXAwbm01N1NjYVBsankrMjQ1RjlJT2p0Yk5vdUFqblI3Z2p2dms1?=
 =?utf-8?B?cmprdDNQNm5aVjJOcHl4c3hYODhMTTM0bWtkRnNvUUVkbWhVSklCYjBKSmZE?=
 =?utf-8?B?VVNiMWZzMTFpYnkraGRKejZveGlTZWxRa2g4VGhlZmx6RUVhNTBBT2s2TlVF?=
 =?utf-8?B?N0dTMndzMXdGWXMxNlJwcHBiUTdXT1dnSXdKNUFERGNXK0xmaCsxR1JqUWlM?=
 =?utf-8?B?VXBLamVCS2VaTmxidURRdVdzOUpHeUdTMGgzN01Xd3RUZ2xvY1NjTmxJb21Y?=
 =?utf-8?B?MHU1S1FpZlRRSEdkZlpDQ0kyN0FmMUF5UmdEZTRFOGRZUFROUHBra2FVaHhw?=
 =?utf-8?B?RVlaZk90TDgzY3JNWFhidmVwdVZET1AxSldVT3hOZlNDRDUzK2tRQkZyRlpV?=
 =?utf-8?B?bitMMk8rbzFOdXpMN1pJTWQvdDhDVndpcFZDVEU4TktSVGdGMDhlQmlFYVZu?=
 =?utf-8?B?R1Z2aE5MZ01NdUFDVjBwbnVnRng0WklTL1FrUlZBSWdQVUp4WC9JYXJzYVdW?=
 =?utf-8?B?bjhUMFNpUVZZcjVMQ2hpbGFWczFrK0tDNVJvaTZsY2RBQVlJL3VPaHNZUG5K?=
 =?utf-8?B?dXJxcVQ5WWorNktwRVV6WWQ4K3FqYmtjazROYzZseVpuc1JNWTAyZjZ5dHY5?=
 =?utf-8?B?cUVVRzEybzU3cE03bm5NOW1Pc0VyNk1tNC9sRUlVeGRRemV4dmdaVUowWE8y?=
 =?utf-8?B?RDRuanZhM2NoOGRtY2l4alZYcnJyNS9BckZQUkluN0d1MElBdUtjZXp5a0Z2?=
 =?utf-8?B?N1JHVVBWYlBKb2VCTXJKTHNlZTl1dFBaL1NaNEhNeDZLM1lpVFRKcDhCVUNx?=
 =?utf-8?B?VFdMZFRIdVNXcmZ4aW1kRnpOUFpUbkFqZm9BUDVJbHErVFFYOHR4OXFXV29L?=
 =?utf-8?B?UDhUQWZRYjg4L2VERmZuMUJMQ1NHOWViNTlFMmxkckhjVUZHZmZrUkwwZHhw?=
 =?utf-8?B?Q2NpMk9DTmovRU96bWVTMEZuUUpxNWUwNHRRVE1UT3ViWjZISy8zUFNZb0JG?=
 =?utf-8?B?ZHJhbW83eHI3aklsR0NoN2JNOTdZMnhjaHFHMWNyRWNkaFpHVlJJT3pHbWJU?=
 =?utf-8?B?R0ZiRmUwTXZ1UDhsMVZhQlIyMk9mZDFGb1MvUXlMN1JUd2FRY3JoY1hYQVBq?=
 =?utf-8?B?cytWT04ySEFIa29HTnUxYmdTY2h0d042d0VyeFErNnV0eE53cjRZeVNuMURI?=
 =?utf-8?B?cWJnbXRvNlRobm5kMXloT3JzSFI5d0xxNkFnK0lVd0tkZWdKQ0FLQWlybmJV?=
 =?utf-8?Q?GFImXlVIsNxLYwjuWQ0vhbF9h?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ac25a12-46c6-482f-6756-08da7c345849
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 07:29:08.8789
 (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: E9weFMYs/BHxFb80wS0wdLp4hRC9ReVqOwwQ5Qjk32gUV0UG8WbPMplniOoLQtWb2Q3cM9HnVgpu6URLcI1bfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB3372

On 11.08.2022 21:59, Andrew Cooper wrote:
> One source of lost performance was that fact that to protect Xen from a
> malicious guests, we had to flush the RAS.
> 
> It turns out that CET Shadow Stacks give us enough architectural guarantees to
> construct a lower overhead mitigation, which keeps the RAS balanced for the
> guest so their return performance is still good.
> 
> To keep the RAS balanced, Xen must execute the same number of CALLs as RETs
> across one VMexit->VMEntry.  Without CET-SS, we could achieve this fairly
> easily with a `call; add $8, %rsp` and `push; ret` pair, but this is not legal
> under CET-SS.  In fact, CALL is the only shadow stack "push" operation we
> have, and we can't use it a second time if we intend to keep the RAS balanced.
> 
> Instead, we keep a real return address on the stack.  This means that for some
> of entry.S, %rsp conditionally doesn't reference CPUINFO.
> 
> This necessitates swapping the current order of DO_OVERWRITE_RSB and
> svm_vmexit_spec_ctrl; while they don't have any specific ordering
> requirements, push_one_ras needs to come after svm_vmexit_spec_ctrl or else we
> need some very invasive changes to fix up the %rsp changes.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> 
> RFC for a couple of reasons.  This does function correctly, but I still want
> to do more perf testing.

As per further down you mean to say it functions correctly without the
use of alternatives. And even then (see below) I suppose it doesn't
function correctly with no (or unused) CET-SS but CONFIG_XEN_SHSTK=y.

> Secondly, X86_FEATURE_ALWAYS is clearly not ok for committing.  I'm still
> debating whether to make this construct available in !CET-SS cases.
> Mechanically, its fine, but the safety arguments depend on CET-SS being
> active.

I'm afraid it's not entirely clear what you mean here, nor why you've used
X86_FEATURE_ALWAYS in the first place when we have X86_FEATURE_XEN_SHSTK.
If "this construct" is push_one_ras, then the mere use of WRSSQ requires
it to not be used based on a runtime characteristic, not just a build
time one. Hence afaict you could as well put the entire macro body in the
#ifdef that currently encloses only the CET-SS insns.

> In principle, on CPUs which do not suffer Branch Type Confusion, you might be
> able to reason a defence-in-depth argument that if an attacker can't control
> indirect speculation, then they can't bypass the 1-stuff safety either, but
> the only AMD CPUs not vulnerable to BTC have CET-SS anyway.

Yet people may have reasons to turn off its use.

> Third, I'd like some early feedback on how clear it the logic is given the
> conditional nature of %rsp not referencing CPUINFO.

It's assembly code, touching of which needs extra care. Taking together
the size of the entire file (quite small) and the comments you add, I'd
say that's fine.

> Fourth, the alternatives logic (I think) needs improving to not fix up a
> direct CALL/JMP displacement if the destination is within the replacement
> length.  I did the functional testing before wrapping things in alternatives.

Yes, unless you want to prefix the CALL with a redundant insn prefix to
hide it from the displacement adjustment logic.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 07:43:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 07:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385342.620951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPKB-0007pp-3g; Fri, 12 Aug 2022 07:43:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385342.620951; Fri, 12 Aug 2022 07:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPKA-0007ph-Vu; Fri, 12 Aug 2022 07:43:18 +0000
Received: by outflank-mailman (input) for mailman id 385342;
 Fri, 12 Aug 2022 07:43:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMPK9-0007pY-1f
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 07:43:17 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10080.outbound.protection.outlook.com [40.107.1.80])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cd31628-1a12-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 09:43:16 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8646.eurprd04.prod.outlook.com (2603:10a6:10:2dd::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Fri, 12 Aug
 2022 07:43:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 07:43:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cd31628-1a12-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Uei+Nq4zHgxW0QNVVGqVr9WtmYuG1ofbliBW8WcPFSi0r0AIxVFhyXpDUniXfH2apaPKMpMEL6Ht2iK6nWcmivvB4mWcD7/cGoAoSNp5PsMqluS4KKDVfqRqTaQRdjIm6srIXt0KLBY6IWdaGIdV/S0Aoho+hfgoEgye4ewruFyW4pWuenDY98lZk5gTd/p5NDy20Y8S/21k1aWKv2G/itv8juiKXB4LPXNq9BcljObVxTpKxxppMKq2hB28hkx4YyWLcVhcH4ULK376MqN2c3f4jreM1hrmrxkw7j5Usj3roZDuieotZTzBUmAA7+yRDiciFWG8Vk3eK8hm2MScCw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GUAzah9w/l5Z6D5t55tUznNm6b5NNsbbbrHqYCcZYGg=;
 b=YChR1GU7pCOG3q1D5q7i/J+ARI7qT6U34TV5lHSetmGSS7wBHBItZE9ch7SaScMA0/8A91y0MLGAaF90lZZDEBt6XUd9PZTCNMLwPvTmDgGH+ID63UzBEhBx8AxdUewYZipCcU9p4OGx74OXuC9itDoVxO2q2Dnku8v6U1QaCLqz5Y/cKOo03Tg9jZ0CE7Ktupom1vKJAGEpKv0aZi8j4Bt+vUlqVfslsG11+L2HSsrN47jOL/PSebY0aOL5bcst2v+xiAbfQ9wvpmqCsX1363aIRCQk2zcqjsGZgTZd+0cxeT4ZvCS6ovSM0NKtzyNfakBGXm61yizGyApA++P3xQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GUAzah9w/l5Z6D5t55tUznNm6b5NNsbbbrHqYCcZYGg=;
 b=Oj8WLLyMkC+9zBnNnVfOWUR0h2iKqd2hgWydgxEeRmytcvSr9VTmavk4ifc1tKhrqpUrasJH/+WYanNtNqIHe/Se/K0dEnUJzKO/A60Hn7Td3BcxYhCgrwU3WvW6AEphT8ZYQlRxJHtSv23C2Gx8LxUQC06hFimaAjGgem8D9lLyksK6JS1v9mmcPx6AmY7Vlg5AItBsJhpTgNEzVxvzPnEsMuDGuThCgQ0/rnUiDyd7HRRrKN8ToV4Ral+VV8Svig4WAdLIc5Pq9TMGp2MDPfDF3vmFRAXSTBIGil1FbYLzxkGG4iXrg4MFwzL6tWBDeoSnOcPG/h65n78m6ZEYhA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
Date: Fri, 12 Aug 2022 09:43:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 0/4] x86/P2M: allow 2M superpage use for shadowed guests
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0010.eurprd06.prod.outlook.com
 (2603:10a6:20b:462::33) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 33d7641a-21ff-4bcb-b6dc-08da7c365019
X-MS-TrafficTypeDiagnostic: DU2PR04MB8646:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yuSMnfq+5pbmAKErTv06EGVBrfwn9oammXd4dpU4U1RPP8q7MOF9w23YB5XSK4oJE3858nZ2V5twSDszeZv11FDg5Jd9mw3+AeYfW33MYfNFvSEN/Gpe9NnbKZyZa4zQrf+68wdhglief5YbMV5rUE3jmYKwopHT9ELr7HsxsZPsDZDOea5GaQuWiubWtXiU7fAILwMPtWuiLQZHJoJgHMyE/43sw9mWqA8puZZ2CPT0yjCcQO+ZEBu3NmaQp2gSbm3s/SKCX9JKZomZ1wflUsfdZ9I/JgeS9yHPi5Q03N/YOxlIDNtTuqFxCOCcVjJnczp92pLsXIV64qGJhIa6KICO9rOGd8oAy5T5s7YLDveAJVhSl70b+qVwpathKuS2ZG2Sk8Ld3S0Ud9aOGU+kjS68OOZNbObJUq5mw4MeiEosyLv0YtJxjMJOVmZGu6Bs4yedrLld3f5MS2ltSQ2Ig1lPizB1K4iSd1PVFXKwn1Kq6Pl942dt51Qb+FeRuFLgqhFqaMXC+BD1DbePdoqzOhZ8fEOJ6uWEX/A/K5rR3/yzsQtGHrC5bPVmIqsfNkBASHgA8GSZFIc0e9jOmYXVY1XXe2MO1+9NtzddbdBlpfM+YR8N22UX+GlcHeWM5JOY7CQGNQh9lQmtncnjU3iw+a7IHDyXv/rirtBwGs29FwWAyDYoxkrmslB+5BY7RMbJXSYYVs7Yikirb60px9EgMvG3BrU9ok1S4Xgcod0VJuRLgAQyT4t3W7F1hd13g7YTe7pfftB/X9REGm0WBrvgY0DOqytTNoQpgb0HHphnH9Mdvg4F6Mav4+H4sTdGPUqtnTwVuQ2sc+eWmLiD9p/lkw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(136003)(346002)(396003)(366004)(6506007)(8936002)(26005)(6512007)(54906003)(6916009)(2616005)(5660300002)(4744005)(41300700001)(6486002)(86362001)(31686004)(6666004)(36756003)(478600001)(186003)(31696002)(83380400001)(316002)(2906002)(38100700002)(4326008)(66476007)(66946007)(66556008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UVJCRitUay8wbXhwS0txY2g3N3pRYkROaTJiTmw3US9udGd2VUtiY29mVEJI?=
 =?utf-8?B?Y1MxUmpYVnZTTEN5MnFiQ1Z6Sm5DVFgzSE84bjBzYmx6N0h2Yk4yYnQzcWM4?=
 =?utf-8?B?NHZzdTdHZnJCb05ld3RpbGl4YkNxREYyMEZ6QmV3TjRUei9hS2x3RlJQdVBD?=
 =?utf-8?B?MCtIcFZZV3BFckhJc1RISWJNZXlrbkpwQjdwY2t1a1I1VVFoYWpYLzZXRk5K?=
 =?utf-8?B?Qk5RSEg5R0p3dFVMbFdpRzYyam5kM0YwYUR5MkJaTmhqdXp2d1k0SlNROUdD?=
 =?utf-8?B?bmhRRFZRWERBT2RVUDl1MzdReFl6Qzd6Q3NZS1B4MHk1cFZhTXRlekpYU0NJ?=
 =?utf-8?B?SmRCa3RaT1BMTVNsOEh1eW0wTlJMOHR0Y3E2ejREVERyL1pUSlgyd1ZSOTRU?=
 =?utf-8?B?MWVQTzgxUlJLajlzRGRvQzZ4cDJMRk1NVUxlOHdHZlplVDFQUWF6Uk1MRkh6?=
 =?utf-8?B?TWc4bW1HZi92YUozdmpjclF6Ums0azJtc0VqWWxkSkt2dkMyK2RIS0R3Kys0?=
 =?utf-8?B?bmxTZ2N3SFFGdXFFY2tDSXA4d0RtTnNNRjZkT1pHL0JBQTdLMFV0aXArUWNs?=
 =?utf-8?B?VHhKZkgwVFVqZjZsSGljSTdJbWlsb3djcUl0a21BUXBHbXVzSFVoakVJQllJ?=
 =?utf-8?B?WWtrQ0JPQkVadkp0RnNBdFdQWkJjRlNCWDRxTnFtNXRRWEFpTmdNR0tVQ3dE?=
 =?utf-8?B?bWcwb3lJRElja0RzUEljYU5iUTZkZHFZdCsrUVVtbU9jcGJLNThOZmh1QU53?=
 =?utf-8?B?b3lLeFRheFNmUFhVWldhaGZqcE13Vi9QMXg5V081cVpBdm52VDM0N3pXWlpt?=
 =?utf-8?B?bVIybytOdndXNzlBeTBSZVBTOXI3ako1akxlOCsxOTZqc0R1d3hxQU02THpK?=
 =?utf-8?B?MjRCUkZYa3NkUDRVcTdUMFROeDBMN0JOY1I1eTgycUo2TDBBMnVaTUdlcTR3?=
 =?utf-8?B?WE5nNkczS3Z0TnN6Rmp4cGtyY2VHc0VSM3V2cHZTUll3Q1JDYTMrWDJzdWhr?=
 =?utf-8?B?VnNVeGo0YUNJVXFVL28zOW9nWVhhb3hGdlVRRGNXdjF4d21tU3hvbGgyVmcz?=
 =?utf-8?B?Z0NmcDVmTk1aUkxTZGQzWnlzQ0NBK21sNkMzN01pOWE5VkgxQURGMXBRQjJv?=
 =?utf-8?B?RUVMRXdSUlZlaFh4YzJLVEJLc3l3NCtLWnJXQnFnVGF4S2M2dFJCU0locTJQ?=
 =?utf-8?B?UDRyelkwSlpDSHpSV3hBV01ZL3N2Zy9GRllQQm8yaEw3QUlSSlhKbmZUUy9r?=
 =?utf-8?B?TUxBcTAxYmw2US9CN0Z5V1AxSWRXQlhlTVlSZHdKWGFtTExCZG1XQnhTUHlT?=
 =?utf-8?B?VERTSzk0SkYzU3F4UFFqTXI4WUZYWkNaeG9ZcnJmQmRFSTNMeGhKWGtPeHpO?=
 =?utf-8?B?dlY4RUg4SFRseERhZ0hFN0puS0hoVkdzMXdTaFk1OXdYZ0NsekRSYWNycExz?=
 =?utf-8?B?SmpoN1Zoc0tRV0RqT1d0S25veTZpSTRHM3U5R2tkTE03ek95M1d3NGxxR3NN?=
 =?utf-8?B?R1BMZ1Zna3h5VjdUNVoyUUlkcDR2UjQ1VkpJSHFOMVkrbzdZMFpPY1poWC85?=
 =?utf-8?B?SlJ2MVhHMktBZkFGQ2sxWGl6ZDB1a0RUZHcvZnJLMThsK1dKV3J3K2NMc3FQ?=
 =?utf-8?B?a0tRalg5bUNWOEJtN1BlZkJIN2hsRkZ4YTFtZ29ycEJnM0xXR05UZjdXQUVh?=
 =?utf-8?B?ZzR1TlRQT0VwTnYwTFJWWFI3VThvZDgvbkJnUWhueVdMSkZ6TmdPbFAzZ0I5?=
 =?utf-8?B?cjVmcENKWlVkM2Y4ajlQRlJOM0cvMGNSb0pHQ0dYWkRSdk9YNFRzTW9JRnRI?=
 =?utf-8?B?T3NoS2RnYno0eDNkSTJhZHpKRTRlQXkxWXc2NWNYeWQ4c2lna0pSRzJ4dklk?=
 =?utf-8?B?RmxVUzBjYVNwNGxnR2Q1ejhiS3AybVBpbm9pRklhUEhkWTZTNU5DSkc0eUha?=
 =?utf-8?B?RHhNd3VEOERrSTVOZEIvTjBEbFladVdmU3l4OG5EUVZDSExMMXhmK1N6SjJT?=
 =?utf-8?B?SHNEM2QzbGdHdkllWnROM0FvNjIraEtFU2ZEcmJDSVlXKy9mUEZ0eTVrQVJQ?=
 =?utf-8?B?UlV2RjNXTldFS1Q2N3BSOEVnNGJEeEtwbXR6cmlVSWk1RFl0djlCeUJ6REI3?=
 =?utf-8?Q?ohOZQlUI1vm43IvHYZm5gu7HI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33d7641a-21ff-4bcb-b6dc-08da7c365019
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 07:43:14.2474
 (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: VInQEwHi3SO7EgOBnwjl0+QZntcP3gMBER2S5cTb6CNmktIv4RJlvL3ZEb6CvtNzaAHV3++9FwMEID9Giqn3Pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

I did notice this anomaly in the context of IOMMU side work.

1: shadow: slightly consolidate sh_unshadow_for_p2m_change() (part I)
2: shadow: slightly consolidate sh_unshadow_for_p2m_change() (part II)
3: shadow: slightly consolidate sh_unshadow_for_p2m_change() (part III)
4: P2M: allow 2M superpage use for shadowed guests

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 07:44:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 07:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385350.620962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPKz-0008N3-Ce; Fri, 12 Aug 2022 07:44:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385350.620962; Fri, 12 Aug 2022 07:44:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPKz-0008Mw-9b; Fri, 12 Aug 2022 07:44:09 +0000
Received: by outflank-mailman (input) for mailman id 385350;
 Fri, 12 Aug 2022 07:44:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMPKy-0008ML-HS
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 07:44:08 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70088.outbound.protection.outlook.com [40.107.7.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8bc558a4-1a12-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 09:44:07 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8646.eurprd04.prod.outlook.com (2603:10a6:10:2dd::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Fri, 12 Aug
 2022 07:44:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 07:44:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bc558a4-1a12-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ve0QKPbzJcgIbaYkhss5zZTtK7/e52sm3KcxdnJjJOJQLRO1fuwBTUkrbMtXwn+zqPau4Ed3pOP4P+IDprhl7y036IiAt2PXvVdYBCPs+6oxlZUiDnq06aSWgRCBNhKpQq7h5kE4Qymit2VPDSbfcOnJyvTs30GesaDfAY/k4E/D0yaL5o30ego+tlu8QxGDA8yPmpqHKdjmDL3+S+LMYOdRNFoQezOIu9U0EHuYo0LEedSZekpEz3+lhtTM7x1xCwyI2g/uSjFb/0GjWexN7XWPjSwvbya6W4zO0gklKKNhKxpN/WU/3loNRS0IcBAj0/KQavZ3SHg0OOPckLek8Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=paHBxFxNPQQaCR96HVsNx65Tk5J0VvsjBSY4OoT4Sio=;
 b=Tp+H6IiCm/RMBQHmEMAZ64bSPuUBOHzBzAAkADHCYjNuwxDcBGkwCBFj35PO6eMoDg1quRd9Cmuu/y+46y6SkwLwzsr5g8TQzaElXFnIZSUx75qDOzFNPE2tQ3/yDpIkH3rbEanXgwfHpUlYWdMEtcH4nSMMbzy+8waAZFmC/ii4P8QydEjkMCswufCCQNWsSTKm3wseA29EpsX/33tHli8V+SvCzVEStE5f7g5NnXbELRf+S5j5xcCkDaRm99Qtc99cD/uysuiHA4WydfyjDSN/7rRSsI7qr7Z0Me3XyGkAFZyJkSSayKNm+1UTaInb0GnVCUoTIJa/5qjzAm76Rw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=paHBxFxNPQQaCR96HVsNx65Tk5J0VvsjBSY4OoT4Sio=;
 b=3aYZzOyX53glqxRnjRfsi+BJiEZ73Om+n6ZY0hN2JjrI+HCBz+bKjUv6kYz3C+Q2VjOlGMTiSiZYLsa1P6SqEkZiMeAvGGCrOyw8ugoqmKsM4SRkVHsIFPObavxuBmViWG5NQ6hqP5x4iHunB6ljIqvBGpdSM5AEGmCopuQYhrqqm0SyAaxJDsM9e0iu2HomANOyRjO3ily2f5ojgGgkyE6ozfiU2qmdj13Q06x1H1UevnV/jd52slmixFFR35o8BD1jM6oWyRDp3Cc49Q3f7OsGWPVkL/LGWpnmBbCNn2dY1uJWvryv18YJwtgsBvfX2C3LaSQ4BpAyDJL0b/sEmw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9c642811-0b63-72e6-3ef0-6d6262b5975c@suse.com>
Date: Fri, 12 Aug 2022 09:44:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 1/4] x86/shadow: slightly consolidate
 sh_unshadow_for_p2m_change() (part I)
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
In-Reply-To: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0018.eurprd06.prod.outlook.com
 (2603:10a6:20b:462::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e8135757-7fe0-46a9-b4e2-08da7c366f23
X-MS-TrafficTypeDiagnostic: DU2PR04MB8646:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G4nAliDYlbaGrrSrMJFCzmvlxKcq1+IgIqd1gvJFj9PdUMmGGN+WKJixPB6e5PwR4xlyXzvMZZPupQndmrTmftDK59+UTZWCVTLwylLj0ffBaf1cuOr7t/t8YKLrHhHUL10muT+3/qiRuWDlTcIC3XcHMFFoHU2sgQHAYb3/GexB/hTrhSUUx4mgpvJs3qHwEkxNhOhQKPSMIjhQcAWK2kJWHwq464cZ8qYMWUYiD+jqOIMmunRoENI8g43jNtwzFBRe11OWgsuVvqxD0zM1EQI2z1PfrThJWuJ5D2qKqILaxmBN+mIbVF9DZOIpYGO4tqsOFYksaGleI39IycK1Xp4H/q1xclMGTX+llaDvR4zH4B+XZenPMJnXFkgqFOYpgEtDHm1EZ63/5lFlm1db8yvZHD33Gl6mss07CH3Tcm09xjld/NaBbGiDifw1noWJWq/WCwj0ryeS4Z9djzkWHNXnfBkxTkm986BEHnDKanmMtVt9K9uULQin4HL/m3T0S0P9aGdUYAosKz5aSMFrHVAkEVROTS4I5NI9LxbrGlT0uj8fI5XUwSvpiKZoeQre9luXgbE4D6tF/rFAhMfFes06AF6Hnd0+9DC1mEFydHEPn+48uZ9dExLelkCuZqf1Td3mPo7sLN6EjhoNtOxtZxPu5/vswmUG7m/rTQYiH/+4NuIXRKE+8VW9p1XRoff17ugS+Pbl1GBLooYqoi/SXfT7SntiZR76vFiDS3/ms/l1mToSVLR9VrmWTKyrPAsEPEgys+ATkTE7WH4yHV4vAe61MkWecpUgF4iFRdbS/FfXIQC0Ron+ookc10plBCRRAuAMYeTICarddnz3r0f+MKn7NtjlxnF2VClgIBiTtJ/EhB67FEo5SSDV17EREBOq
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(136003)(346002)(396003)(366004)(6506007)(8936002)(26005)(6512007)(54906003)(6916009)(2616005)(5660300002)(4744005)(41300700001)(6486002)(86362001)(31686004)(6666004)(36756003)(478600001)(186003)(31696002)(316002)(2906002)(38100700002)(4326008)(66476007)(66946007)(66556008)(8676002)(70780200001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTYycWFqNnIwQ1NEUGRFMnZ2bjMyc0dmZVhRRkNGZHdSRHh3SDFQZDdtMDk2?=
 =?utf-8?B?NFQwc1hhS0ozQUFZd3dVV2wzcjRmK0UwUk1sSTE1VUtvM1lUUDZHeXY1c3Q1?=
 =?utf-8?B?R0cvZFk0bUQ2aUdaK1ZkNkdDVS9JOXk2bjZPdzlwMVBYYXBjNnozS1ZBR1J5?=
 =?utf-8?B?c2x6YmY4M2pET1Rxa0h3VUVGSEZZNTVLdldETmJqdlNvK0F0UmhSODVnSlF4?=
 =?utf-8?B?bnpKeGdTYWhRNzlhWFdrMDliSmNXU2s2NUpGb2tBbjJndjNGa2l4Z3VMbXpj?=
 =?utf-8?B?em5RVkFacll0U3pkYUl2YXZLSGg2d2ZmMVdwOUl3TmtaMGl4czROQUtoMnF0?=
 =?utf-8?B?S1J3YlRCeUlTS2NjbGZwSThvVDhvYjZ3SnREcndQSkNCTzZlZkRGM283OUVZ?=
 =?utf-8?B?WGhzM2FnbXUvZy9NSkFMVHBBaTdUTkNNTEhzSDUvSHRHa2VucFBXM25zNGlE?=
 =?utf-8?B?ZXFkcWd4cW93c2xoNnF1MGxQVko3a2RhQm1jaWo0YzV3aCszemdBZWZMZW1y?=
 =?utf-8?B?YmhmZ3pDcUE3QTVoTnRlYmZWeWgyekNScmJualZxT2JLM2dxbEp6bk15WGlD?=
 =?utf-8?B?d3prOHpyTU1FQ3FJR3ZQK2tvdUh0Vkt1bEc0T2NKbjI4UHU0SEZrMmRjVy8x?=
 =?utf-8?B?TEdiS2pzYTVZcUtXaVVwOE1RRUp3LzZKdk9CRVJBTHhHNkkveW9PaWlURjRY?=
 =?utf-8?B?WDZKdU93OE1UQlN6clZLa2dXNWZ4czlJQmtKNnRVYWVCakdPU1VNL2FNM0k4?=
 =?utf-8?B?clZ2SGdnTDZYUnB0S0F4UnRyU1piVXdyNzVMZ1Z0d3ZELzNCYW81T2x6Y2NF?=
 =?utf-8?B?RDhtN0pZTjhNV1QraU15TTg3TGZlN2dHNS9Fa2wzTEZvdHUraWpEZ3pKOTcx?=
 =?utf-8?B?RXBHem5LMFdSQjc0UjhKVXhwdFVLWlN2dUFsVDMxZWQ1TFRtUWVRcFJnck9j?=
 =?utf-8?B?Y1ZlNTI2aUJlL2NzelJ3d3dSRWhKQ3lyWnBwYkVNNXVVbzdQc0pDdFJCQlpE?=
 =?utf-8?B?dEpaRStoZGdXNUxyNEVsS2pGNUtoWGpoMG04YmhoTWtzK1dZTUs2c05UOENp?=
 =?utf-8?B?bkN4RnhJZVNVWlBwV1pUK2VsUXU1ZEtqcVIvQUZ3YXNrTGxZOVlqQVdMV29q?=
 =?utf-8?B?SEtJazFSbllpNUg0V3JNZm96clR5L2FSaEw4amlaWWNxMHF6RjduQkp3a1ly?=
 =?utf-8?B?OHdxTjRpTVFEcEhiV3V0KzUvQlZ0M1VlK2NEMHRSZitNQlZJNmg3Qk1WMUV1?=
 =?utf-8?B?OE51S2pCSUpHeGZkY0d4azNDb1VZeU9MejlhZ1JYR1NMYzZWaTFjRzU0Kzhh?=
 =?utf-8?B?bkk5cTZIQzJCeWlFd005UEdCYVlSRHFpYW5WOCtpdFYwVUdleUhuM0RIK1dK?=
 =?utf-8?B?ZHVwUHZRUXJuSGpCMG5RM203dzFvN3B4N3E3VG5zU2EwM04xMEQ4cWVaN1Rw?=
 =?utf-8?B?VU5lZ2xnYWJkcm9oVFR0a3M4QjJDRGpyY3dsamg4b0RZTXZMWm42WVh3NHJ1?=
 =?utf-8?B?OU9sY1p3VjkwMUVGMFQ1ZTRNdTdqVlpPSXVjT3lFSzdsTjhKMWxkcTR3cG1i?=
 =?utf-8?B?YlM1a0t3WmhDc0E5Y20wbGdFNVB6VTcxZUNuY01CSEE4ZkVqZlVCbmFha1hH?=
 =?utf-8?B?S3VTc2hVTUZpRTM0UDg2eG4xUE8va204Z3hyN1B6Tnpadi93bVNyRWdnRzda?=
 =?utf-8?B?cEo2Ty82TlFkcVBwN1JsdHZraGJ1T2gyRXhnbWtVR2VWZHJzSU1SZmN2c2R6?=
 =?utf-8?B?MnR4SkZ6WDdldmtybVgweDVyMndhYWdqelcvMVVTVlhoajQ1VGpRakw5S3N0?=
 =?utf-8?B?am1hMkJMYWNVdE8wa1ROZG1kSEdmOUZNdFZGSGI5bm1RWS9iQVNETnBvcXc2?=
 =?utf-8?B?dG9UblRxejRmR3hJQTgvb0EvMXVBZjljN1pUeDRkSUpUb3hEeFQvU2xKYnhy?=
 =?utf-8?B?aytDZm0xSWsyLzREaG51cDZTdjFJbnNWbEUvWVova1JLbVF6VGtmR0pkSi8y?=
 =?utf-8?B?U1ZwNDdQVVlIMDVsckFacUdlNGQxY0NYemNCTldJd3RBaFB3NHgrM1R1S3Zz?=
 =?utf-8?B?RjhMM1FGUG9oUzYrMGphbG9nZkVXczhHYnEzbjNVRUNybHVmRXM5ZnBSbnlv?=
 =?utf-8?Q?/Fn+gHKJknTSIuHvdkR+fR3/H?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e8135757-7fe0-46a9-b4e2-08da7c366f23
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 07:44:06.2129
 (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: A3+Sf9n/9tzHiX+KsXPemUOc+ROBhK7NDcizRVChfZDsxU7ls/uJ7x6UZQ+kJlE1mLTkJGLq3IOjy/W1OvHudw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

Replace a p2m_is_ram() check in the 2M case by an explicit _PAGE_PRESENT
one, to make more obvious that the subsequent l1e_get_mfn() actually
retrieves something that really is an MFN. It doesn't really matter
whether it's RAM, as the subsequent comparison with the original MFN is
going to lead to zapping of everything except the "same MFN again" case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Split from previous bigger patch.

--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -856,7 +856,7 @@ static void cf_check sh_unshadow_for_p2m
             for ( i = 0; i < L1_PAGETABLE_ENTRIES; i++ )
             {
                 if ( !npte ||
-                     !p2m_is_ram(p2m_flags_to_type(l1e_get_flags(npte[i]))) ||
+                     !(l1e_get_flags(npte[i]) & _PAGE_PRESENT) ||
                      !mfn_eq(l1e_get_mfn(npte[i]), omfn) )
                 {
                     /* This GFN->MFN mapping has gone away */



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 07:44:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 07:44:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385356.620976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPLQ-0000Ts-M5; Fri, 12 Aug 2022 07:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385356.620976; Fri, 12 Aug 2022 07:44:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPLQ-0000Tl-J2; Fri, 12 Aug 2022 07:44:36 +0000
Received: by outflank-mailman (input) for mailman id 385356;
 Fri, 12 Aug 2022 07:44:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMPLP-0008ML-2a
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 07:44:35 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70089.outbound.protection.outlook.com [40.107.7.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ba7631d-1a12-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 09:44:34 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8646.eurprd04.prod.outlook.com (2603:10a6:10:2dd::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Fri, 12 Aug
 2022 07:44:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 07:44:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ba7631d-1a12-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jpmFUc3IEYUirhBmesxiieNu1VaXZAczi4+U+ymiv/5fUvGK3EahuU/Kzt3CCo4zBOL7xxOXJvgiba6gz81D/lamHTQa1dboBFSGIY88Z54tiVN5pVvZy1yRbe0ThH+g4P43B76QXCB7TypZz0Vu3L1HF0ynCasYdkXyZ6n8mROmdiWDDBV2gNa0ezztlaHJonKPQKwAdjpRUDhDd9skHwT8qYbsQ2sCJBXUUhACWOXg9NUKLGZ/vxJ11iAOelVBut1UJoEzh9nT2mtgYe1RZZdlF4YKNXzt7KRV3daDt/UqP1m1f0Xa0/Joe9rRIhzbjs2DffHeoEpbcQzJnVLtRQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UgSRP2it2VqWEJo6oUkdTTXnRcYc9p6ImxEtjea60ng=;
 b=K85+MdPWaCC8DIrWspuFMWqoU/Usc1/Q7PHigTDJ3CSdIcK4ZmZj9hw9w6DMqX+cHgAv06/Blx3qtJw+degMXbBRe1o4nfu6d1miAIHkdMX7AJpuYEP4hFzP4Ys1UbQbvJLwfxUMLrpxu6i+lnvyCMHAIceYMNuo7c/cA/vZLh1OWqj2T0La/DeiHSGouZDhXpISu0P2LqaqCxvKxYikVPIP2n6X4+YoW9zeA2nJuUicCr0LDEMeQpkYXkrV2PV7j1CRWqEqfUfY7HATBlXT2ypTb3KkdidVRlOZmuDnG/0OgCf/ABXzW/lxXKauLk4HeZP4Grx0OTUnNe2Z1Pb1KQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UgSRP2it2VqWEJo6oUkdTTXnRcYc9p6ImxEtjea60ng=;
 b=JmhYVtyfXpz5ZEkKAleJUE7aK6ZWD4XgEbrYV4/2eLZCBaYPU5qZq3vA9uwP9NrssrWROdCStxmUYvGuIOdT06ZtkEkFV3TvGxeK90xqoDFC395LEG676ylS9EH07KFuzf6C31mpNHWaBe5yiUyoSCyZqhcEcoUFWiPsZZYGyee6trjTp4PsfDhzYMtvpKCpRMqTXvgBSmYS/khx8CvIFmoBAJOSzVYqm527qd7DUDCZiXxvWebKQVqzbM+5EerhAq4dhh9CRVag3pWkjSYE0NskGACjtumf+t2Dfutm2pnaJuF2K0ewfTz4MMbQOmUu2cBs4ononcFls2I1Oq8mlQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5e516159-906e-a8ac-7e4a-30b007245d29@suse.com>
Date: Fri, 12 Aug 2022 09:44:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 2/4] x86/shadow: slightly consolidate
 sh_unshadow_for_p2m_change() (part II)
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
In-Reply-To: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0395a9f0-a5e1-4d5d-dd61-08da7c367f44
X-MS-TrafficTypeDiagnostic: DU2PR04MB8646:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4TiC/c0KnyCZtD9I3t6kz4xmz6rL0fJBQFe52NvTzbIyxLgbpLULexUaInG5abdf1hqdUZ5+96qJsEdjSjXxrvu9VOiD3dROB3G+Xnf2zAc/TvgE2RjKkWsTt08yS6KmzNDjyHqxs8yv8JEadGsaGkK6ma20bTJ9ypurMbjMANoqqAh9CWAmNPaCECV5YNsVxB7UD6cU8QFsKA+xBWwqwoYJ5KeuKkDuHxfAymnHx/dqulvqFQRsaDS9kHxBDeQ0DRkVHbNNoszX0YXa/TE3WCGDKdUurz+/15cDPSaWbxC/Pkg6idG2epzxvoHAF4rj44d9hykthxxteitQl/MK3JTWy56GhD5qxWFyAlD/vO6ABkapUdXwmTIaEA/oyWuzPb18780RV0/Thge392kDCHGFnjvidxuB1yE44CyDo3/GJa7qDTmGYP5egOeVehhmSPvKgjHnqbcP2wt5Z4FDcB8TwLWDZAmoCxOsZaRgeSZLzlUARB8B+ZBqFiWppZ3HG9HN/GHLlwrVzxk1QY6/IJ83qvJlJdmdC4tB+0DpNPv1gqukPfwCygLdzeaStzM8oZEZy1qXjSoAoIaaEz8icoVCMFlzSL0prFtPNNjZDbuO5IzPul68HErTiPOENTsSUb628FWhVpd6yM9VMRgVsXfXKHjfxr4vw/b6ec6/uF7uUkj1FzgJ5dfBcoyH+swGc3CCUi1K4oMZKBsrZbBYyMHhJoGseUlIfVngA2cIWXwI4OjD9WIhGf3T88Fk/XK8JlpOTg2Hk4fZaIsB92Z4RvkKBgzQTapWD/q021bNaadTyQe8FRdM83tCg1GVJE7lCZERXZVTdr5ziIDZ4RBfogqRARCEBlQx5vcbiaTnHxv5nJT5U9WOtwAix7Oocz5W
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(136003)(346002)(396003)(366004)(6506007)(8936002)(26005)(6512007)(54906003)(6916009)(2616005)(5660300002)(41300700001)(6486002)(86362001)(31686004)(36756003)(478600001)(186003)(31696002)(83380400001)(316002)(2906002)(38100700002)(4326008)(66476007)(66946007)(66556008)(8676002)(70780200001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YUY4aVZ1cGFkVFJlQ1BRc2wwbG84Y3N0RHJ6bThGSU01ZytKVUtxYkZhRHJo?=
 =?utf-8?B?N3BnY1RxeVRENFhnRzhWdmhzdDhjV243N1NDSlhpd214dE5oMnNNWGFIZTZQ?=
 =?utf-8?B?aThnOGFuNGFHY3JEaElMSmVac1BsU3lsVFFsaGRpeHlwcTMvRy9XOVc5VDh6?=
 =?utf-8?B?YVJGYzhvRkUvSWtuQnc5NGthWEd5Tm5rNll3RGZ2WVRGM1d1eWR6blNyc1cx?=
 =?utf-8?B?TGlCUEZOR1J1b0oxMXlqSEZwWU1seGJMbndhWlBONVZpZHYzbUZDWUJKUEpn?=
 =?utf-8?B?ei95V0hsMjlaaloxZGJHU1pSVUJqTUtlMjkxMkJScTBsVnI4dnBkbjJ1YnZV?=
 =?utf-8?B?TjBRaWdmWFhJdXBsS05yY2VCR1Q3Lzc0QkFpMmpEUkpyYWF0c0VueENjVFI1?=
 =?utf-8?B?K1ZTZzBnMmMzNko2N3Z5ZkxkakNQazRLUFQzQnZQY2lsYVZYWHd4RzRNUC82?=
 =?utf-8?B?N3BFVkJxd0hlSUV6WUF3cnRHZlExbmMrKzgwaG56ZUM1bERIVERxelExS0ZD?=
 =?utf-8?B?N0tsOFhHSUpQUlphbTMrdzlpUGZEQ29KandGb3ZCeXBjMmc1d0x0bUlQYlZN?=
 =?utf-8?B?SmFRK1lXcTJtSUduL3lOTmdRVHNEZlArbjg1eHZWbDh1OWpFT1RaUDcvQ21s?=
 =?utf-8?B?ZXZ3QU5OK3p0UFp5UDdIejhkQ2tkZytTdFhVT2lFVkoxRHh1Nm5mNm1tNjBO?=
 =?utf-8?B?OWxFK0p4WVJVTXZPSkdaSEhORTk1eWJxVE5YU09Ra3BEQ0FjMmFhY1FiSEZm?=
 =?utf-8?B?ZFlYODlFb1JlYkJ0SDlsVWZpMGN2N29ycEhNMmdoUThMK29ZUldxdCt4VHRK?=
 =?utf-8?B?M0dsQkhseGN3bUJWTDdqVHoyNDAxYUdDZjlYYUZOZXFvVDFudTloOXBHQU0w?=
 =?utf-8?B?ZXMrMGowZ0VPd1Q5QWdjdmx1LzlZeEl3TVdFN2wxTTZiaC8vMElETWp4dzJm?=
 =?utf-8?B?WWZ1N3J3OGNXSjBPc1ZqUzVJeWdSa1p2Z3B5SXEzdW82bDd3K3J1WXo0RVBu?=
 =?utf-8?B?WWVSNkliSFIxVXZDSzR6YlE1cUZEVzIxRDNyS3lZWG1yYXd6T1dONDlPYWtu?=
 =?utf-8?B?SDVEUGdoSHpGRG1UWjJDOUZDTm5sd3J5bHRRcEZGUHpqZWtRYi9RaUdXK0Iy?=
 =?utf-8?B?bGZZL0R6Ynkrc2VJcTRQYjRGZHFSQ0RiZ1cxQmxpV1BvMzc3b2FOY0x6TFlX?=
 =?utf-8?B?M3ZGckcxNmpaNmtRUU14MVkzNkZudnhpMU5POUNVVjZYcXpxNTJFSk1ZeUlG?=
 =?utf-8?B?Rkp6SUtFTHJYT0J2anAwS1VPRG1YSTEwK0lMeER5NklXZzRTRFluVHNNM3M1?=
 =?utf-8?B?dTQ5ZStSTjA2LzhEa1ZwcnJxVXUyVStSa3Q5K3lCVlZxbURTR2E3YS91aWRp?=
 =?utf-8?B?R2NYSHZkU2xCaXhyRTZSOUtEazZXaWdqckRLYXZ3U1FpRGhZa1hTVUtXV1Jj?=
 =?utf-8?B?aFhxY1l5MTFZZDFMNGdaWWlYQUtSSXFoeHV4N2NNbFBhU3hKQ0RoQXZ0MzVE?=
 =?utf-8?B?ckk1eFFJZHFVZlFpbk1sTXBUSkdvSzJlWTBYQ2tXWE8wRENuS0lxeldKOHFw?=
 =?utf-8?B?TWg3eXJlOWlZME5zVS9wVmpqTVNoR3FSZmhvQ3YrSWlpdzdHdWlqbEwzeDMw?=
 =?utf-8?B?b1hJKzB4V0JEOTRkaUszQmtwZlRVZDkvY0tlZXBRMi83NUtSaTRuLzlWZXNX?=
 =?utf-8?B?T1VBaEw2R2oyWWFVQ3dxQmZ1RnFMczBBbHB6OVc3TVQ2TkFsUnh6Sm81b2Ru?=
 =?utf-8?B?dHhkVnl6RWFTYzZacnQydUlyRytyWm5ZRU1HV3VnQXpzeXZvalVlWXF1c3Y1?=
 =?utf-8?B?eUhrdk5XSDM3dUl4eTI4MWlIc0s3RTBsNHczU1RKN2tkZkUxUjJCbm11Zmsz?=
 =?utf-8?B?Wk80M2dQeFprOC9iZFo5SE13RW40cHhHMitlSFpYenZJQmVHWFp2dnU5aEpx?=
 =?utf-8?B?dUxNUVZjVldGdDAxQXYvTDljcUlJL3V3YjN5UlZKdGg3U0NiL3YrWlJJZDRB?=
 =?utf-8?B?cnBMb3lUQ1BOMWNIbkh6bUVNaW5oSTNRdGtCUmlUZVNNSHpSSjBFS1AvTVND?=
 =?utf-8?B?M0dRMjVBQzZlOG1seFgrQjdXN2FxSW1lajZ3K0kzdk1wVGNEREt4eG1mWXB3?=
 =?utf-8?Q?sW21zCMWtJ8gn2cG+TDWddass?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0395a9f0-a5e1-4d5d-dd61-08da7c367f44
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 07:44:33.2581
 (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: IrFS72cqFhR8viF+5F+ePnIU/HpEjwXkbLEBPEDlXqv3dby3Z88DQtF/CH8N03+74job1ETWCBQjzAf7FAowNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

Pull common checks out of the switch(). This includes extending a
_PAGE_PRESENT check to L1 as well, which presumably was deemed redundant
with p2m_is_valid() || p2m_is_grant(), but I think we are better off
being explicit in all cases. Note that for L2 (or higher) the grant
check isn't strictly necessary, as grants are only ever single pages.
Leave a respective assertion.

With _PAGE_PRESENT checked uniformly, the suspicious mfn_valid(omfn)
checks can be dropped rather than moved/folded - if anything we'd need
to compare against INVALID_MFN, but that won't come out of l1e_get_mfn().

For L1 replace the moved out condition with a PTE comparison: There's
no need for any update or flushing when the two match.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Compare PTEs, not MFNs. Drop mfn_valid().
v2: Split from previous bigger patch. Add grant related assertion for
    L2.

--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -810,19 +810,27 @@ static void cf_check sh_unshadow_for_p2m
     if ( unlikely(!d->arch.paging.shadow.total_pages) )
         return;
 
+    /* Only previously present / valid entries need processing. */
+    if ( !(oflags & _PAGE_PRESENT) ||
+         (!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt)) )
+        return;
+
     switch ( level )
     {
     default:
         /*
          * The following assertion is to make sure we don't step on 1GB host
-         * page support of HVM guest.
+         * page support of HVM guest. Plus we rely on ->set_entry() to never
+         * be called with orders above PAGE_ORDER_2M, not even to install
+         * non-present entries (which in principle ought to be fine even
+         * without respective large page support).
          */
-        ASSERT(!((oflags & _PAGE_PRESENT) && (oflags & _PAGE_PSE)));
+        ASSERT(!(oflags & _PAGE_PSE));
         break;
 
     /* If we're removing an MFN from the p2m, remove it from the shadows too */
     case 1:
-        if ( (p2m_is_valid(p2mt) || p2m_is_grant(p2mt)) && mfn_valid(omfn) )
+        if ( l1e_get_intpte(old) != l1e_get_intpte(new) )
         {
             sh_remove_all_shadows_and_parents(d, omfn);
             if ( sh_remove_all_mappings(d, omfn, _gfn(gfn)) )
@@ -836,10 +844,11 @@ static void cf_check sh_unshadow_for_p2m
      * scheme, that's OK, but otherwise they must be unshadowed.
      */
     case 2:
-        if ( !(oflags & _PAGE_PRESENT) || !(oflags & _PAGE_PSE) )
+        if ( !(oflags & _PAGE_PSE) )
             break;
 
-        if ( p2m_is_valid(p2mt) && mfn_valid(omfn) )
+        ASSERT(!p2m_is_grant(p2mt));
+
         {
             unsigned int i;
             mfn_t nmfn = l1e_get_mfn(new);



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 07:45:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 07:45:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385364.620986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPLp-000136-3e; Fri, 12 Aug 2022 07:45:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385364.620986; Fri, 12 Aug 2022 07:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPLp-00012v-0r; Fri, 12 Aug 2022 07:45:01 +0000
Received: by outflank-mailman (input) for mailman id 385364;
 Fri, 12 Aug 2022 07:44:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMPLn-00012b-TE
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 07:44:59 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10052.outbound.protection.outlook.com [40.107.1.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9a37fad-1a12-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 09:44:58 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8646.eurprd04.prod.outlook.com (2603:10a6:10:2dd::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Fri, 12 Aug
 2022 07:44:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 07:44:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9a37fad-1a12-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KmF3ICwdXbCb0LihB5VXsMyWCDhnKfZ4ER3GffL8gGLBCf3J6yMJQcSAQtRQ2SPwpX1BGC2SiBGbNGrBviMvNmqK7cg4YPVoX7pB4NgU1fBX0O/wdabeKhbJ/g4GTxDWKKzOdIZwxYb0eUPMW8bfasRP7WhYK9cXcsUJx81CLsrLT+iSfDvxqB2cAFCEmx/HrdreBIK5RtZcsr5Fn2IKgyaV68kkz3S5BudYbKpjKgfIwX5M39U4r/JUGZXGpnn4wWQuWNRaAWHdoAqZnEaLmGHlH/Z51XKpHt6R+j3n8dyUzQgaOBwgbiutUFaaR74jZH2l8ZJa6J3fEsMuwmS9Zg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qxtZ+MVir5YJsKHAmigIFPCuHzEhnPOLkFiSiePFqik=;
 b=J6KXikWLHwtE2JTraQSkyvX8cX9I7Aeboktc9uYmPzqGPMfJ6u+MaXLKqxoyujyP8FiyRvqe8JZ1L5Cmnl3G01kDID4BZe3QsPVM6BwOgHqyNC9t2t4ogHsWu6gI8kSqxquXDbbCOhlkXJBj/dn0ZuGo/yP5HdVGcwmfLxhj/zgv8uO8P6dDAHF1WdDiEVXME6t+EucbbU/sERt83jqYYhefXB18AuHhkjQbPf6HrSawSb2XkhNKTRigljL9TsiI6pLzITRgk9gERWpJnJzgNEr8e0Ou2GeRLi31518GuGe1AwVC6axy9SLKQ3npa1uS/DmKO9BEMjjrLxLXGtT2Lw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qxtZ+MVir5YJsKHAmigIFPCuHzEhnPOLkFiSiePFqik=;
 b=mx6d0+mjsIetwq54AAg8rEAaJCK/wSPhd0z5TyPIv31i7g6ebDFWY3FFoh4IQ0qgq5gk2LXXhDWxG/60FjsdxdjIsS4p0RczFRQF7gA3Lp40PUDo7TYxB7iRA2HZ0yO0ZdH8y6WAQUqctFMIHWpAry71gFbbi7hzkmxKT+rewDVnKXO9FwexeHVa4UHemwO1fl6Beae4NFbDiX8H+LUwmX4ZZ0q6uLk0p5yTq4Jy5qi1naVktP2fvynC2YSMXRCLFeLvW5EpAG67wivUtS4ld6gKVh5zkmYk9jqXqd0sn44koBWHC6Ck0eEVRfZd5xYaOpZjDRICvak0nvYvSwfkvA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <761cfc4a-d9b5-4aef-d1ef-0ef408046a68@suse.com>
Date: Fri, 12 Aug 2022 09:44:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 3/4] x86/shadow: slightly consolidate
 sh_unshadow_for_p2m_change() (part III)
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
In-Reply-To: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 82a13475-de44-4847-1584-08da7c368d25
X-MS-TrafficTypeDiagnostic: DU2PR04MB8646:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S6ZLNojawJSRMBNY9uHR05PS+FETHgrxpUFitzyETjnfLKz0sR+UJdrBWcJGkrc/quVcR1Dwc9WR91opbdltmjhT/nORr9ohRP1mx9wZph+Mre5p9qjsvroQz8URetGRX8opwVAPmV8KY8nJiiAlHjClAp6rR0HIQ4UE/QpFz5skKPLFq7XmcDOKHSpvbvrpspyic51eTeVQ4KZcHGSzGLwqYCeCTbTttKJjBoKvUXR3XNS2CRAp0AQVoruO70bbxKDvbnwChhEywcaRz00DuIPeHOVCqlKneCdiLP7HvGauMvCfjvuEPJ19dOn3rzwwzI18gSQbCxCRf7YYY+GPQmKTqINhMONzH1NvFjrSdlh9isMv7LFp8zm7AZM4aYJmateQQQPlvjxBV3+qLv+twf8BoaIyVZSyl5ywKaaxPb992X9DouCJ3ZPRLvU9k3FksfC8rIhmxgsth6n5cwm29Saqdrldmu1sF8x3Me9uEKDAamMfHkwvYkd47nwhCH5beIJK6IBbtTiMQTMplXM+z0yeY9P0XjzynMZett42MP2aBzSdvb/xPHyVDZkDCTJTn90YDi5XYcQLDgRmF7ZRw1NFZw/BJls3t8ypxJ7k3RKUieigUaiOsjUCUw9K72Bn4OKKfZPK5OohvpHr9aZZd4cVkEgfGhVQz2WEzYDjR1mnKWun5iFlV3Tn/zlK15gpF9FCw2WETP5LENtwFh3/8ecNxiYXIF3mqh0dhKQDgyp7HbLoz3Pugnq3IOdLoE2xgoo0LOlQn09YkOF+PZEGylKeMo76wzTLAr0JfL3/NGxLnQR5bxFx6dL5f5Zzagt97wqmHp2SUq0FU213yPj3qX5vB1sbnz2sJM529k7op3YSkwBIWvFQZQqxG1EsHA1E
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(136003)(346002)(396003)(366004)(6506007)(8936002)(26005)(6512007)(54906003)(6916009)(2616005)(5660300002)(41300700001)(6486002)(86362001)(31686004)(36756003)(478600001)(186003)(31696002)(316002)(2906002)(38100700002)(4326008)(66476007)(66946007)(66556008)(8676002)(70780200001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bWhSRFBPRUcreWFURmZZYk02Vkc5cmFQT3dpdHU0d1haUzlvSEIyd1BKL01F?=
 =?utf-8?B?TXp2bHp0WkRQTHA0eHVoSEhNWkUvQ2pVNzgrNmJza1huQU1qYlFRaXZTRGF4?=
 =?utf-8?B?TUVqYUo1V29XOEFhaDBMMzNUZUNXbFdNelB5c24vck1valhpMlN4azBMR1Zt?=
 =?utf-8?B?amJONW83YkllQ0I4OG4yVDVCbmRXdjlJNXRnLzdOd3ZJWEJ3ZHBtcW1JZ0Z6?=
 =?utf-8?B?T2F2RmgyUFZDQVM1c2ZYZkp4bm0vRFRQZCtGUW9TZ2l2QlVXRFRMcUMyWVZi?=
 =?utf-8?B?WHNGU1JIRWRNY0Vud3hBSDNwUGYxKzcwTXl4cjErVDNISExvMktxWmlRK0lj?=
 =?utf-8?B?cFdZSE50Y0hXQlg2MC8xRjZWcEJxSUVKamNzcXVoSzJhaHZrZ3o0Y2N5MFVJ?=
 =?utf-8?B?UFVFQU1UNHV2bWNuU3FtbmlVcC9MUU5LQzRLOGZVbXlER1U2aCt4U1R6M254?=
 =?utf-8?B?MWF0SXdFMUhsUWl6aXNFanFVbVZ4UStFU2pocklHRldlODRrQjZZdXpGZG81?=
 =?utf-8?B?QnhheVAxOU9saTJqRVZCQ0VyMldQWG0vZWhzbE45Ri9NNHdncnhkQlhvalFL?=
 =?utf-8?B?QkhQSE9oSU5YVkIyaHMweG5sNGJsUUttSHkrM0NaNmU4a0dnbDRqaHp0YXpV?=
 =?utf-8?B?V2RSOE4rZml6L3c5dXZZVlkyMkIrNlptTEtRNERxVHlFNTJEM0RuSlRZaXNl?=
 =?utf-8?B?alhJcTJhc2FDaWYwOUdJc0VHVFhkdlIyS0ppU2M0NGRjOGs0dXdkM1FDZVBL?=
 =?utf-8?B?SjNUVDRiS1dqQU94RDI4c0dYM05NajlkN3VrWVJpU2lQNFh3ZllkcE52emlm?=
 =?utf-8?B?eWpTYU9McExnS1FJdThhNWRSNTJLT3dRRHdtUGJRNFZXRUpObXBtL1JKYmMw?=
 =?utf-8?B?L3p2WmZXTWt6S05YZStMVWV4RGpqWXlWcllTa2JqTVFKNXc4V1BuVTN1T0pH?=
 =?utf-8?B?RVB2bmlFK1lUdFk2eVp5TW1xRzVoQzR1M29jVVdPYy9DaW55QUVvOVRiekdx?=
 =?utf-8?B?eFV6WkNVdU53Qyt6NFhtUExaNHU4eDFBV2hFYjE5ZDBDWVVneC81SzZRR2xi?=
 =?utf-8?B?RjRRV0RiYXl5WlZ4WFFiMWtDOHgxQTNndzhrcWdBR3RMU0ZBUERjOGdSU3Y4?=
 =?utf-8?B?ZExLUjArcUVYVzAwMXQvRnRRSUxzaFNoRmhnaGM2Z1oyakNGbTZiajdTRGlM?=
 =?utf-8?B?TllXRXZXNFdnckFDMWJRL2RyODF2UjRjdXk0YUtXZEJWWHorQ0UwNnp5YTZH?=
 =?utf-8?B?NVZsM096YlppdDJuNkpVZ1FvRXdHL0tuRHV1WWlJVVFUdGNyNWtUNXlqMkZV?=
 =?utf-8?B?TVZTSXFkRXJYZXVURTRtWEVFQXBPUVVzd3FFa3Z6NVlOT0lPR2gwaGNxZXYz?=
 =?utf-8?B?cDJuWUdONThBZTFxYXhjUUhRQ3Z6MjZkYWVkZHFrMmJ2UVFBQXlmNlRrZEFw?=
 =?utf-8?B?YlVOMk9rTWk0eUVzUExTa1hIREM2cVJSc280eVB2RHdweU5aaGd0d2FYbEo3?=
 =?utf-8?B?OUQrMmRBUjQzSFcxU2pqT0hUR3hhSFh0ZWYwUVhzb3A2dU43bDZ0TFR5WUZr?=
 =?utf-8?B?ODh4QjRTNTdMSmhEZnpodVhyZXQzdmRGQnZXWHdkWEMzM1Q1TEg3T0NIMEtx?=
 =?utf-8?B?SEFqWERibk11eUxkOHhyRWwzb21WNDBDR3pGMUJaeWFNS0xrZDMvS1N0R3Fo?=
 =?utf-8?B?bWlodU4ycGpXYXQ3Tm1lMllJYWJuK0VGME9MTGxxdGcvdXlkZUFHbHFEQnBQ?=
 =?utf-8?B?bm1xQTVub0ltcEJqdjZxQWpiWmVMajBTOElRV2Y0eHpjdE1rVWc3ZkNYUTJw?=
 =?utf-8?B?VE5HK3pFK0g5ekJycnZqdDhxYitHZnAzNjZVZzB0M1I0VXlBYWVaNE9vMEE0?=
 =?utf-8?B?NjZ4MnEwZHlCalNsRE1pZ2IwZk4xQXhGaUNsYXRva0diUUIrSHdvNWY2M0Nv?=
 =?utf-8?B?WW5DVWlUWm9OMkJpVnZaL2JINGJBZ0dPc0p2T1lZcEUzb2lhTURkNnBoaThG?=
 =?utf-8?B?ZGM4R3B1SnQzSkZsQVQ4WjJWcmlTL05hY0FNM2E0anBrTjRXWVE1WnNVbXQ5?=
 =?utf-8?B?MHBYcGF3VUxxSkMyQkNFYno4TVpjdFZmZ0ZPTysva0s2a1U1dUlMSDJVMHNi?=
 =?utf-8?Q?+wclcR5BnNI1iN4NjubXic1S3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82a13475-de44-4847-1584-08da7c368d25
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 07:44:56.5379
 (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: a4nJuCAQ6o0FUE28BcK2WbZaUIa68seh8r8ILxqmgeMPZm3yW6658oLWS9AL3mKdYJ4jv6PezLnt3LXzHZ2aBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

In preparation for reactivating the presently dead 2M page path of the
function, also deal with the case of replacing an L1 page table all in
one go. Note that the prior comparing of MFNs to bypass the removal of
shadows was insufficient (but kind of benign, for being dead code so
far) - at the very least the R/W bit also needs considering there (to be
on the safe side, compare the full [virtual] PTEs).

While adjusting the first conditional in the loop for the use of the new
local variable "nflags", also drop mfn_valid(): If anything we'd need to
compare against INVALID_MFN, but that won't come out of l1e_get_mfn().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Compare (virtual) PTEs, not MFNs. Correct MFN increment at the
    bottom of the loop. Respect PAT bit.
v2: Split from previous bigger patch.
---
The two mfn_add()s dealing with PAT aren't pretty, but short of us also
having mfn_sub() the cast there is pretty much unavoidable (alternatives
not really looking any neater).

--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -844,40 +844,65 @@ static void cf_check sh_unshadow_for_p2m
      * scheme, that's OK, but otherwise they must be unshadowed.
      */
     case 2:
-        if ( !(oflags & _PAGE_PSE) )
-            break;
-
-        ASSERT(!p2m_is_grant(p2mt));
-
         {
             unsigned int i;
             mfn_t nmfn = l1e_get_mfn(new);
-            l1_pgentry_t *npte = NULL;
+            unsigned int nflags = l1e_get_flags(new);
+            l1_pgentry_t *npte = NULL, *opte = NULL;
+
+            BUILD_BUG_ON(_PAGE_PAT != _PAGE_PSE);
 
+            if ( !(nflags & _PAGE_PRESENT) )
+                nmfn = INVALID_MFN;
             /* If we're replacing a superpage with a normal L1 page, map it */
-            if ( (l1e_get_flags(new) & _PAGE_PRESENT) &&
-                 !(l1e_get_flags(new) & _PAGE_PSE) &&
-                 mfn_valid(nmfn) )
+            else if ( !(nflags & _PAGE_PSE) )
                 npte = map_domain_page(nmfn);
+            else if ( !(mfn_x(nmfn) & (_PAGE_PSE_PAT >> PAGE_SHIFT)) )
+                nflags &= ~_PAGE_PSE;
+            else
+                nmfn = mfn_add(nmfn, -(long)(_PAGE_PSE_PAT >> PAGE_SHIFT));
+
+            /* If we're replacing a normal L1 page, map it as well. */
+            if ( !(oflags & _PAGE_PSE) )
+                opte = map_domain_page(omfn);
+            else if ( !(mfn_x(omfn) & (_PAGE_PSE_PAT >> PAGE_SHIFT)) )
+                oflags &= ~_PAGE_PSE;
+            else
+                omfn = mfn_add(omfn, -(long)(_PAGE_PSE_PAT >> PAGE_SHIFT));
 
             gfn &= ~(L1_PAGETABLE_ENTRIES - 1);
 
             for ( i = 0; i < L1_PAGETABLE_ENTRIES; i++ )
             {
-                if ( !npte ||
-                     !(l1e_get_flags(npte[i]) & _PAGE_PRESENT) ||
-                     !mfn_eq(l1e_get_mfn(npte[i]), omfn) )
+                if ( opte )
+                {
+                    oflags = l1e_get_flags(opte[i]);
+                    if ( !(oflags & _PAGE_PRESENT) )
+                        continue;
+                    omfn = l1e_get_mfn(opte[i]);
+                }
+
+                if ( npte )
+                {
+                    nflags = l1e_get_flags(npte[i]);
+                    nmfn = nflags & _PAGE_PRESENT
+                           ? l1e_get_mfn(npte[i]) : INVALID_MFN;
+                }
+
+                if ( !mfn_eq(nmfn, omfn) || nflags != oflags )
                 {
                     /* This GFN->MFN mapping has gone away */
                     sh_remove_all_shadows_and_parents(d, omfn);
                     if ( sh_remove_all_mappings(d, omfn, _gfn(gfn + i)) )
                         flush = true;
                 }
+
                 omfn = mfn_add(omfn, 1);
+                nmfn = mfn_add(nmfn, !mfn_eq(nmfn, INVALID_MFN));
             }
 
-            if ( npte )
-                unmap_domain_page(npte);
+            unmap_domain_page(opte);
+            unmap_domain_page(npte);
         }
 
         break;



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 07:45:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 07:45:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385375.620997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPMR-0001gr-Dy; Fri, 12 Aug 2022 07:45:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385375.620997; Fri, 12 Aug 2022 07:45:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPMR-0001gi-At; Fri, 12 Aug 2022 07:45:39 +0000
Received: by outflank-mailman (input) for mailman id 385375;
 Fri, 12 Aug 2022 07:45:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMPMP-00012b-Qy
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 07:45:38 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10081.outbound.protection.outlook.com [40.107.1.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0dd67ef-1a12-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 09:45:36 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8646.eurprd04.prod.outlook.com (2603:10a6:10:2dd::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Fri, 12 Aug
 2022 07:45:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 07:45:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0dd67ef-1a12-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hGvgD2r6ZNAfYasNMrXQBINNYU87OJrAmodE7FeFl41+oIiIc7EXcc8OI8sZHiXKcJNV+LJG4YohiVCLPwZT0IJIjIC/8KruTN2U+mpp40JDbNRA/Owo+lfH7g2xb4Pyma5KTxcpJS511oYO6332EmSgrUlAYAkopOQldak2ezPJ2Wszx3sRhkEQ9OYdvXweYHKfK8bZyd+A2xltZ5CJ7XA8wHsqaizNhmhch1ChZ9HP08wrAlBkAbhH00Z2+yqvtecpDm24Y4GIXLTQgeI2NLcIva2E8SgyKjPf4KZV9o2ek1q/lUd/vlmqbCHJCzeqZucfiNt/1hmQQ9uSHJq7FA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wMkmvOzz2gve8PQhJ5TEoDWHfH+EBc0eAdwOWdZ75oc=;
 b=VpuzxLIjEz/ne8+SPoVeomw9e+1jLbOYkbSns1YwrWLwXhH+f8f7mmiWzPjBx/QhYte2+i1dqjFRjKzWXzBFz0LG/prhwkyq+menlkon0ik4jB3pRD4H/+lx1xr67tUelHFnJV2t+Ug11AgoSc8rnNupXEdgJOfVYLcFM/hps5YcRoR1x6T9olcONTTs/bttnwNv8tmCvb1SFnibTmMK6mC6AofWgiyvoqh57cF7BUUODtNRuxvGc8iYqqAx3Twcq5o98j0JlAjqUC6XdzUCxNBlYo2IU45ixXnkAcog7mrP4M0+ZCCrVSDbEvujtljSu3U0xcWKX9Z+df47FQIiKA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wMkmvOzz2gve8PQhJ5TEoDWHfH+EBc0eAdwOWdZ75oc=;
 b=lPi2lAe8UhE/VSDInXcSScwRdTImiWAXPwwTvQlNPnyVKsNS34DyKPHzRm1JeUfcpuyKZIGrM9GIkXy0jw65L6mIs1Y8jFbdjNOY2W1tuRspapCugZdsYvhCnpPC4P8fyP9DfUxaorwLiao9wxcVWsjFvALYI2ZzAyqyZbqDFJRXysua782gceymVPgv4uq2+bD87d1QU1tN8CCptc0rbeATwXXuWw6nyes04ImGg9RH7PHL1WDupFRitYU5+UTismpK9BGdsxL/dPj4r2JGeCB8xctPXevMuuvGJz/PLrZJhlveGE2m8ERBQD+KoqVrJF+rvMhtoNGPReG3E7tiMw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b2798fb7-9bcf-e67d-1cf5-6de1fcd24ddd@suse.com>
Date: Fri, 12 Aug 2022 09:45:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 4/4] x86/P2M: allow 2M superpage use for shadowed guests
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
In-Reply-To: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 318036f0-2e04-4fa0-803f-08da7c36a43d
X-MS-TrafficTypeDiagnostic: DU2PR04MB8646:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mZnERGyHS3czO3rCsIL8JtEGYkIQtibNakxWUScwOTj8/mlX+/sIeZezcvpmv/xjVvYVHZ50KWVBz1w30+DclRxyd4dfksyeJTCxL4eDEwOKVSLcYkrtCA5HE7LR9Sh2UD/rqYV86wZg7D0nz7nK0WP6vuGKp3T1dcCDZpXRcX+qdA7yykStDLS3R/7WamE8nfcPPx7ilhRlepzYIPdUhxeNH4h+3jO8cHzN2V16E//HWhu+vQ8vjZnE0AIdqD2P4Rgzn2z8C9xC8gB5ySqi2awCk4onBEu7xLLfCQkUpX13+RQd2wtOy8ijnI+1WYrC2nYVqWIONpr/NMmxQtcBjmGNzeKZfeVvl8bhtZRY3JomD1G9y2ddwZSOZBb0fzPhTnqwz9MbflOCB5lQUkxQqpeAxFrKXw6LNtjW86h9XUzFO1MlesCC9gzZAct7n9H++jaaSyCHszJEsby2i/pPTbjG3g3vci4caQZD8h/eDx57iQww0hgl0RH7Lb0a6Nz/2XfxfOe8C6ZmZ+c1PiglhosDGkD63+ueRsnB5M7wRDQpfj4Ig7SSOGyhiVoheZ1OQN93jvjlhyfXl40q7FIUceKG8bi9Fnn+6aMOG6dOw2/o6FyXTW0gL1e+ajvjS5g1hHqSjKFxN9K1VNyx1b2nKmOGRn6gI6zbgQ5Ad6zqn5hCW1FbOv84+p+I2y+2oFZkPcRH5m9yEIzGKtHcIl4J6XGRmsCpTGJiSZQq87kIjb8PNxlj7BowrUEJGr0d0E7cGxW1LkMWscmz6WW0fuugWmkKTGveSTepS4ojN/9xmO8+fIczZ2aK+w5AYs/dD7PIOkiITn2Io8nRJs5Fps7Xzw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(136003)(346002)(396003)(366004)(6506007)(8936002)(26005)(6512007)(54906003)(6916009)(2616005)(5660300002)(41300700001)(6486002)(86362001)(31686004)(36756003)(478600001)(186003)(31696002)(83380400001)(316002)(2906002)(38100700002)(4326008)(66476007)(66946007)(66556008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlpMNHlvbzhvNGtMOUQ3QmN5d0tFNm9URVR5QVh0dnBma29nMkt3OVFqYWNO?=
 =?utf-8?B?eFN1U3ozSzZNMElFeTZ4ZHhyMGZlVmoxMnZJblVvbUpvVnlRQmhDdG9zbXhW?=
 =?utf-8?B?R2xuT2tEVnJ4V0ZSalNTa1RuandnL1VPSzEvZjVGUEsyL3luU0NHaENQTjd1?=
 =?utf-8?B?WFd6NWpLYUIzRzdGa3RYVWU1Q0lQNmVuOVdHelBWSkJjdUhxZTdSNmI2T2tC?=
 =?utf-8?B?TGNPMDNhSzJ5WWxyTUpLVHNXY0trUEEzd1FKSlhRVXYxdTlvVnV0WkRLcTVK?=
 =?utf-8?B?NStCd3dodERCeFc5YlRxVVFTSzRnM1Q1UGFBcjJwU2pLMFU3SHdOOGRpZDlu?=
 =?utf-8?B?RXNkRjBEaTV4R3haaWZWOTkwMnVVMWJoTGErQ1Y5L2ZNbFUvcGFxd2U3bzZx?=
 =?utf-8?B?MGpNTDdnLzhFcGZzZm52d0cvNytGR2g5WS9WeEZRd3NiMjBkckg1cFpGYjZH?=
 =?utf-8?B?S1Z5OEtWRU54QnRpSkFXcGd0NDkydzkrRXFrSkQrS3ZEeDdXWGo1NHY4VlBW?=
 =?utf-8?B?cm4wVlRUWjcwSXZGQk10RnZTYVJ1U2c1VisvZVo5YVl1TzRtKzM5Sjd0TTdx?=
 =?utf-8?B?UUxySGVWTExMOEgvMXhHc2V6N1Ewa0srcEFwTmZNemQwaEFHWUlDTGR0WmlT?=
 =?utf-8?B?Y3JyUkU3eUtPbXVxQjFyc1FZVWFRb0R3VWRvWHVqVXpmYk1FY3hXcmNFcUk1?=
 =?utf-8?B?RXhWUFRkeWtRZ3dYRVlrakNVZ05SOWZ5endBRlBQVW80NHVQb2N4QVpTaGhN?=
 =?utf-8?B?aXZpVzJ6YjVBbXdHRWZTRzNOVTMwMW5rRktkWE5MMml2L1ZFMURZNCsvaVBG?=
 =?utf-8?B?dWtqbVV1VEJXaE4xOVJ5WTdEQkZBNnBOMWxiV3A2V1hXTThLa2IxbnpBajNy?=
 =?utf-8?B?UXVRZGpMVkxLYlNoNHcyOW1ZbHJMM2JsYXY2SklKbkFtMS9WN0I5d29CSUtV?=
 =?utf-8?B?bzF0aEpaWVlpOWVHQmxXdlMyREQ5RjNKRVJJaHRYTzhKN096dTBQZkFBZDRD?=
 =?utf-8?B?dkxndEtCY1pLN2VaSE5QWWhpSnhlODJFc1p5VmN3WEFWRHJ6ci9qc1RDTjly?=
 =?utf-8?B?bHFWVTFtRVBKWG9QSjJqazZ3ZlI3b1IzczlOdHVGRlNkdVduUTdTV3B1dmVo?=
 =?utf-8?B?Rmd1dWJ3OUhzU0IrQUk1Q3BKUTR4SUhLYWVOTUpvT292Y1NSdWhRblJidGRM?=
 =?utf-8?B?U2RmdHpDTDJlTUwvTExRVy9udWh2UXZ4aEtvSnJPUkZJSEt2c21vOHl5QzJX?=
 =?utf-8?B?M0R2Tm5VNktUQzArMDRpOVhxU2ludHZJdmFkajNsczNOWG1HVmpXOWdoTGpa?=
 =?utf-8?B?Y2J6TkNiYjBIMFdzZmRRZlZtN1Y2dTZ0N2lqR2lBbWhQV25IVXE0a0xaNnFJ?=
 =?utf-8?B?Zzh5UGdrS0VpRWY4REhvZkVWS0h2K1QrdVR3ZSttd3llUEFXVzA4YzhvUjVL?=
 =?utf-8?B?eFZLK3hxaXZEWHlLSXBoY2F3V1VoSGIya2gzeUNzbGdsZFl6cXRpd1Zmelh0?=
 =?utf-8?B?VzViQmZRQ3Ria0MyYVlMMEEyQkZ3aldDYlZ6NFFDZm1JZFh5MTB5Zm8vemZR?=
 =?utf-8?B?bk9GRFFkSEU3d05WWVRFZmJraXBYSmNWelJXSDVNNGxpekJURkdHbXdDQjMy?=
 =?utf-8?B?blQwSGhRdkw0RStUeXFoVHh3YmdqV2ROU002V2JrQ1BRcTF1elJWaGJBWVp0?=
 =?utf-8?B?VDNiWTJvTjBLZnEzTDBZcWs2NWdPZHV0NTRTRE9xQ0pBK281WC8rWkdUSGs1?=
 =?utf-8?B?N01oQjZBVlZHY0FoekNOaGtjdkd2dXc0L0U4Tkc1MCtnc3FrUWRvdXV3dlBm?=
 =?utf-8?B?SGw1VGFDL25qVGpWVUc4NVkxb2I0dnF2dityaTVVeHZaOHUxOEU0ZTFoTzc4?=
 =?utf-8?B?dmRUMWF5U0E5YmhMREI1RU5uaTdtQVZPem8zRjc4alMwR21KYjdGM2FrUDFY?=
 =?utf-8?B?SGx6NFNodlpxcEluaElUT3FpV1cxeFRsUm03MitBYlhPa0U2MW1pd0cwcjI4?=
 =?utf-8?B?eDNYQkNhbFM5dEV1VXE2ck9BUEVrV0FCcjFLZXdWbjVDdlJlNmk4ZEZTb25o?=
 =?utf-8?B?QnJhTWJncTFOc1lYS092aWRoSzRkQ0d4NWRFRzVxUm14Mi95c0dEYklNcWhG?=
 =?utf-8?Q?OCGl1eP0w3oXw0P/aUP2CHqxv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 318036f0-2e04-4fa0-803f-08da7c36a43d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 07:45:35.3012
 (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: G9s0/V8ZjsnIAj0wfQpmEN9dv2+8j0SswHwMY60jwnDZdrOe/n27WYpubOPJPa5S83ks9mD87HAmHQKcAwu5sw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

For guests in shadow mode the P2M table gets used only by software. The
only place where it matters whether superpages in the P2M can be dealt
with is sh_unshadow_for_p2m_change(): The table is never made accessible
to hardware for address translation, and the only checks of _PAGE_PSE in
P2M entries in shadow code are in this function (all others are against
guest page table entries). That function has been capable of handling
them even before commit 0ca1669871f8a ("P2M: check whether hap mode is
enabled before using 2mb pages") disabled 2M use in this case for
dubious reasons ("potential errors when hap is disabled").

While doing this, move "order" into more narrow scope and replace the
local variable "d" by a new "hap" one.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Extend description.
---
Strictly speaking "fn_mask" could also be "unsigned int"; I wasn't sure
whether changing that would cause objections.

While at least sh_unshadow_for_p2m_change() presently relies on this
behavior, it is somewhat odd (and inefficient) for p2m_set_entry() to
split even non-present mappings.

--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -403,28 +403,22 @@ struct page_info *p2m_get_page_from_gfn(
 int p2m_set_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
                   unsigned int page_order, p2m_type_t p2mt, p2m_access_t p2ma)
 {
-    struct domain *d = p2m->domain;
+    bool hap = hap_enabled(p2m->domain);
     unsigned long todo = 1ul << page_order;
-    unsigned int order;
     int set_rc, rc = 0;
 
     ASSERT(gfn_locked_by_me(p2m, gfn));
 
     while ( todo )
     {
-        if ( hap_enabled(d) )
-        {
-            unsigned long fn_mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
-
-            fn_mask |= gfn_x(gfn) | todo;
-
-            order = (!(fn_mask & ((1ul << PAGE_ORDER_1G) - 1)) &&
-                     hap_has_1gb) ? PAGE_ORDER_1G :
-                    (!(fn_mask & ((1ul << PAGE_ORDER_2M) - 1)) &&
-                     hap_has_2mb) ? PAGE_ORDER_2M : PAGE_ORDER_4K;
-        }
-        else
-            order = 0;
+        unsigned long fn_mask = (!mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0) |
+                                gfn_x(gfn) | todo;
+        unsigned int order = (!(fn_mask & ((1ul << PAGE_ORDER_1G) - 1)) &&
+                              hap && hap_has_1gb)
+                             ? PAGE_ORDER_1G
+                             : (!(fn_mask & ((1ul << PAGE_ORDER_2M) - 1)) &&
+                                (!hap || hap_has_2mb))
+                               ? PAGE_ORDER_2M : PAGE_ORDER_4K;
 
         set_rc = p2m->set_entry(p2m, gfn, mfn, order, p2mt, p2ma, -1);
         if ( set_rc )



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 07:54:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 07:54:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385384.621009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPUU-0003Gf-AO; Fri, 12 Aug 2022 07:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385384.621009; Fri, 12 Aug 2022 07:53:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMPUU-0003GY-6q; Fri, 12 Aug 2022 07:53:58 +0000
Received: by outflank-mailman (input) for mailman id 385384;
 Fri, 12 Aug 2022 07:53:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FKa9=YQ=citrix.com=prvs=21604d9cb=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1oMPUS-0003GS-O4
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 07:53:57 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8374d29-1a13-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 09:53:53 +0200 (CEST)
Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 12 Aug 2022 03:53:49 -0400
Received: from MW4PR03MB6539.namprd03.prod.outlook.com (2603:10b6:303:126::9)
 by DM4PR03MB6912.namprd03.prod.outlook.com (2603:10b6:8:47::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.24; Fri, 12 Aug 2022 07:53:47 +0000
Received: from MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409]) by MW4PR03MB6539.namprd03.prod.outlook.com
 ([fe80::6502:2d3b:397c:f409%6]) with mapi id 15.20.5504.025; Fri, 12 Aug 2022
 07:53:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8374d29-1a13-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660290833;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=X4+wCyRqTpLU/ZPapbf5fB05XSLqF7kLKMGSd6561H8=;
  b=MDGOW9BYGLV2jPuSKdOmDIOkMx9ujx7L0Bh5qZcJGfAC9hd2hHhURgRm
   wY1jSrWpmL0+YuHTmefPgBkyDPdUCbmGtbOIygxi2GVVwJLJjRE8lAknA
   aza+KdikNefLU/MCYI2nPKWbTI19DhBtWIMTUkDSFYDmJg/hPH/W3ZpWL
   8=;
X-IronPort-RemoteIP: 104.47.59.173
X-IronPort-MID: 77179424
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:GegfSaNLxW/t2TPvrR3kl8FynXyQoLVcMsEvi/4bfWQNrUoj1jUHz
 WMZCmGCMqmLZGD1c9kgb9ux8UID7cDTmIVqGQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/vZ8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFP94c9VLh0GE7YnoONdLXEf3
 PIbLxwSO0Xra+KemNpXS8FKr+F6dozHGd1avXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rr5wCCgKFW0q3rMzUYzy2PT1g1qzLnkNpzRe9qGRMp9lUeEv
 GPWuW/+B3n2MfTAlmPaoy722ocjmwvHVIkdM5SJpsd1nQHN4X5INk0rbHKC9KzRZkmWHog3x
 1Yv0jojq+0++VKmSvH5XgakuziUsxgEQd1SHuYmrgaXxcL8+QGCDHIDST1HQNMjvc4yAzct0
 zehktfkAzUprbOUTG6G+6mdhTSoMCMRICkJYipsZQkP7sTnoYozpgnSVdslG6mw5vX5EC/96
 yqHpy8/g/MUl8Fj/6e051fcmBq3u4PECAUy423/XH+h7w5/TJ6oYcqv81ezxe1bMI+TQ12Fv
 X4Fs8uT9uYDCdeKjiPlaPoJNKGk4bCCKjK0qUJuGrEx+jLr/GSsFahc+Cp7JVtpGs8cdCX1f
 VTIvgdM+J5UOmDsZqhyC79dEOwvxKnkUNjgCPbda4MUZoArLVDcuiZzeUSXwmbh1lA2lr0yM
 ouadsDqCmsGDaNgz3y9QOJ1PaIX+x3SDFj7HfjTpylLG5LHDJJJYd/p6GezU90=
IronPort-HdrOrdr: A9a23:o9n2s6zhMCSlld9Lui1qKrPxgOskLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9IYgBapTiBUJPwIk80hqQFm7X5XI3SETUO3VHFEGgM1/qE/9SNIUzDH6tmpN
 9dmstFeZHN5DpB/KDHCWCDer5OruVvsprY/Ns2pE0dLz2CHpsQizuRfTzrd3GeKjMnObMJUL
 6nouZXrTupfnoaKu6hAGMeYuTFr9rX0Lr7fB8vHXccmUezpALtzIS/PwmT3x8YXT8K66wl63
 L5nwvw4bjmm+2nyyXby3TY4/1t6ZrcI5p4dYyxY/ouW3fRYzWTFcFcsnq5zXQISdSUmRUXeR
 /30lAd1opImjXslyqO0GbQMkHboUoTAjnZuBClaDLY0LLEbSN/BMxbiY1DdBzFr0ImodFnya
 pOm3mUrpxNEHr77WzADnfzJmNXftrdmwtcrQc/tQ0obWIlUs4ZkaUPuEdOVJsQFiPz744qVO
 FoEcHH/f5TNVeXdWrQsGVjyMGlGi1bJGbNfmES/siOlzRGlnFwyEUVgMQZg3cb7Zo4D51J/f
 7NPKhknKxHCsUWcaV+DuEcRtbfMB2HfTvcdGaJZVj3HqAOPHzA75bx/bUu/emvPIcFyZMj8a
 6xJ2+wdVRCD34GJff+rKGjqCq9MVlVdQ6duf129tx+pqD2QqbtPGmKVE0u+vHQ1skiPg==
X-IronPort-AV: E=Sophos;i="5.93,231,1654574400"; 
   d="scan'208,217";a="77179424"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ccw9FOrnbwuML8EclNG4CMqeGwhoDgaS3lQSVc41AvrWfZDF1tMVJWysJK4hVqYZnv3+/mC1Ar9erNk56QVolYOYI2EeIdnOx9x0Yt8fedPJa2QZSqM8/m6/INcY9gfUhiWExCc7eT5CrJTg5UHcU4ZFP+3A/sBsybcZLC2zBKLdqtwIWBz7yIKLwyEvhNv/tWz57nqke28Alb7IMBOAaUG+KM9+rw1AieyBexRlCf/pAw+YfTYncinrQgWmF+LPLKCYgOVgZcVlIqczzaKX+qmkyooCnPbNTjj/QfVAfwns94W7KeA/N3ymU1aXlOtnM7JokvncSkzJXirrzY2tVA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F6U3eLAChzlxu+MYGljrnrnxHQBzoKQql7/JShCq/lE=;
 b=HRqfyRGeiLYZtHtgo5sp+G/UDgot4C3m4rtLwZYdMnur4KqI0thKSv5gX5hZ3T8divfUwLkJ/JXuOLOUPIfCbUtZH6Cz4Y+xkRoC5Itd2kdudxCsRUsGAUi6NnMs5GB9b5hEM0e38F9ENpNXM6dUWBpridPlypCcUKXcAaooFyJ7Mtx+onxewuLOLsnWTWajkNrDrkyP7Qj5P3oO5+xjiT8XS8jb4MDgatFr/duADkeJI/IPv81r2aQedg5UDs/cYm8w2V7H5UNVFPtqGs3Rn8s2XekT2WXcFp74WzmRE+EK+7V9RWXYUcIi9luVihcYeawPp0Y3oz509KF08gvPnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F6U3eLAChzlxu+MYGljrnrnxHQBzoKQql7/JShCq/lE=;
 b=oXTldCKi23IGHuMzcOVEB7HkJK2gv5Fl3tIkqBxpkHFo0wDbb+p3Be6EHkt8Xl0Wl7BG8tTSf/11ugu9AfZb8Zd34DglxjJqJNaV7P4GdJnu00+on1Ug0X0n87T/8F5WlJJB2Jx28OoFxmDfhvHYumqJ6bg0/r9QI33nB0h8W+M=
From: Christian Lindig <christian.lindig@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Nick Rosbrook
	<rosbrookn@gmail.com>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Andrew
 Cooper <Andrew.Cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Roger
 Pau Monne <roger.pau@citrix.com>, David Scott <dave@recoil.org>, George
 Dunlap <George.Dunlap@citrix.com>, Juergen Gross <jgross@suse.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, "Tim (Xen.org)" <tim@xen.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: Re: [XEN PATCH v4 00/32] Toolstack build system improvement, toward
 non-recursive makefiles
Thread-Topic: [XEN PATCH v4 00/32] Toolstack build system improvement, toward
 non-recursive makefiles
Thread-Index: AQHYraI+K9klKSLPzkSqNdXb9hkD8K2q5ggA
Date: Fri, 12 Aug 2022 07:53:46 +0000
Message-ID: <110A6400-B02E-4AF6-BC7A-FAFE307FA603@citrix.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1d373f7e-d8c8-4f27-2c08-08da7c37c95c
x-ms-traffictypediagnostic: DM4PR03MB6912:EE_
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 kBLQDnUmTsn+pJPzbYatFcDUOKcdDBdpcR98Bec9QziJzvZhaCFhHUtPslK41UscrjzBrE11rV4sjBJ95WOUJDn6qcRDH9O9fDI5I6lnz+TvwUA/NCwAZhqIjZs5dNPBPafpggG/OkUnDTgEoc0BitTjnIhMtp4lxdQ3ZKwxfeujipxO4Nlqj4ihA+F32svJi30uI0RIg5kYmrbpZcQ8qqd9X7qEK2bp8EaRl1v61UzGZxwzZ7LJh2p6wkzmSQZLC0s3QOMyLuMaLxQfS1gjlEdwGKK9TJspm9AiFHFHXyKGXxGjgeeVvaEExaSQmRYsSIHdELl4X0HKsrziY1S/74b1MtQXKCFrQaXos20GEEjIZNUYhKQ3205Hzwx6J+/VaHsHKyeBy6ChgMqXicOtYS+ex1BtUUaBbEd/7BCv8tGVJawLP6tzS2f2iBHnV37D2n1JmmJSUCcHBb/S04W/Lgguy9s2OhIcu5UYGFLighHPgNCtvo2jX1tAENKmwM4MypDwnlMQr38exvxl5uoIpFCDeUWxj9M6xgBJk/TuE94A6FESDAgPaDywr6cfcfQ3ZGFGNSetobUww7CZAMK/87E7FxmBSsZx9JwbyCT1qNo8UwOW8preWyP9vPaW56F3DxDk5WzOC9i/v1iuJ6n2/17kXF7SI0cDwoMx7ZVi55CgN+5KGAaUcKGXCl0rRrSQmR+rhhja7HEWJtlGrlWuj/P+gnTxzFWMfwgTTDkqDCOT8cfYZmaX6n0facds7oNjoxpNuCjaZKdgysNtdslqL+PDw5lRe1DW4aHxdu97vmJlKJQeLdbu8rM+m8bYzD/mA2Vb7frfqTo5HcaNNYVUsE69lTJO9C5jzVn1J8GjmTJA5jL6uXHPpzJCjUrkMy4k
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6539.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(366004)(376002)(346002)(39860400002)(33656002)(82960400001)(44832011)(2616005)(186003)(26005)(6512007)(166002)(7416002)(6862004)(5660300002)(8936002)(2906002)(36756003)(66556008)(86362001)(316002)(37006003)(54906003)(6636002)(91956017)(6486002)(66446008)(71200400001)(966005)(66946007)(76116006)(6506007)(41300700001)(4326008)(478600001)(8676002)(66476007)(53546011)(64756008)(38070700005)(38100700002)(122000001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?SLHHwMd6aEGXvnwzP9M3aBFNxLydOCzW6cZPQaYvnv0Y3C91/jG4O7f/bcQ2?=
 =?us-ascii?Q?BdSYHs8tzGB8V3c1AyAeTwp2x/PRGZRZlNtrdhgfC9YEusQmD86VuBL71Mdt?=
 =?us-ascii?Q?aSpxXPqDr9bzJkMCK7JZZ07F2X6c9GA+0us6HUMw+5wDy2znLE+bFaMmTHzJ?=
 =?us-ascii?Q?Yzf0ldPE8KHBP0hRcdWw3gvVY2yUHDS+iFehRa8GdoDvRHgOVlnP2CnTs45b?=
 =?us-ascii?Q?aaHTOFqDyloS9fNt/x2/a5U8BMsA/6aI0msLbvkqaCZIvn9OBa1c8l+/ZKjv?=
 =?us-ascii?Q?umjyJsxP/4A6cZCQQhpUkiudNtY8V5INdNhwqB3pS0Dpz9obFww+/z1pQxgO?=
 =?us-ascii?Q?cmjV0FWLpxKt5YkFhrd+rIwIXaJwazdt7/5tbYBXT+F7xdd8QH6kPBwQrnDo?=
 =?us-ascii?Q?9advV1AD9mKSgV4Rev5lEH6earRF+i62mvWZH6iRYiPrGxFn/qaqWwovLyB7?=
 =?us-ascii?Q?l4iXkhY/6IcdYsO9Sqof5OIEwCf/WeN/NmjuDPFomk2X0wO1EvacIcJwp51t?=
 =?us-ascii?Q?MUm6tXXF6Uo06pKuPb5g7PUd3E/M1Gd89gAYLRiL0QHiF2tF5DjnKaMR7IRh?=
 =?us-ascii?Q?X4bl3BpQmMV88C+xvQqoAsUUt0EdYEuCHTcK94+MLWgG5f7JJVAS2abiBZLg?=
 =?us-ascii?Q?9nkXUujhPinBq9WxgW6iUrpBaIn2WVk3fb3DocAyQ0/uxD2UkrDrLH0kQgJV?=
 =?us-ascii?Q?aubzSe173knGdgTzsBqu5oA/gvGYk7o8yqiLSKMfBODJC/gfqlMDuoX9lqz5?=
 =?us-ascii?Q?+YnSjgi/yth1+PF23VsmXwVdsDMYfHaDYYJCZWgCbPrNYZjA75a/4AgzuRsO?=
 =?us-ascii?Q?e7yYYMO5eNHGS6nbuXmE1J7wp640ssoHvAuF47GHZjJKHPoAPU7fTkq2fObb?=
 =?us-ascii?Q?60rjSetQBCq7BT00tEpEOT9DPXj+Ci/JDlAHAxBHS0q+SHtcvYfxMGOoBoPl?=
 =?us-ascii?Q?0IL1V2dXSA4JctmzCBG1gzMYsNcBMrzSQvvknOJGfiaZoT4Tpl3yx0BmLQSJ?=
 =?us-ascii?Q?b5qFWaSrh9DmC01iqSuI36kYswAH1EJRXNYYGxOcnf+rif/Ewye09Ha1/7t1?=
 =?us-ascii?Q?00EC7beYiUH2gVB2v9mNGr2equfLRPdzZM4BVYQEVCM9PQ1omprPA5dp2YXP?=
 =?us-ascii?Q?1C+7nSYEB2FvbELpKU1rXtuOm5jImEV2RGzRr0lnKd3KbUy+S0o+KXZuxPe2?=
 =?us-ascii?Q?mYiwuwqHOwWxCOb7H62cTql10K9dBRVLwkcMzAUGMtI0J9H5FzVhn71moBWU?=
 =?us-ascii?Q?f7JbEnnzaX4SxJArBzXYR3IAT22UJHG6YLPfbZhh+Qu6SaVmIkOl+ZLfvb7r?=
 =?us-ascii?Q?nRKUWirdiOQNtQFTHreUIzHk+hg+RQVAdNMtfPZvy2hQ+3aOjvHZ2RnaDTKx?=
 =?us-ascii?Q?vxx07V+otJ8ECqCKzsk8OmyQh9cVsLSTQzoGCDT+nmkkm9oFGuhQL3dqGoz0?=
 =?us-ascii?Q?o5GWWNbIxXrDEYjdLj91YlafTBzdpXoST9OE1OW2CKPVSK46QuYgWgNkED77?=
 =?us-ascii?Q?jTwScpvdNW4WjLPB/Tc4wr305YXam7IkZ8h4CaQBFAXXTyKDv0X5Ve+wPQN7?=
 =?us-ascii?Q?9d7xwXjDlxcpooFTnQ5KvRa4yR8fYv2XJU4Xyk2E0Tw/n2qeRfN/iBdy0chS?=
 =?us-ascii?Q?XaHyF/4keKOksa0IDVF2/jc=3D?=
Content-Type: multipart/alternative;
	boundary="_000_110A6400B02E4AF6BC7AFAFE307FA603citrixcom_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6539.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d373f7e-d8c8-4f27-2c08-08da7c37c95c
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2022 07:53:46.9183
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: CDw3rQQOVpxbuXad6842kjIrji+Ou47PYy258CqViXBs/2831WhsD1u1jsQKlFfJuEWawcjbeDUQHMmCVy0Jq0yik70W33ptWgAdDzUx0CM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6912

--_000_110A6400B02E4AF6BC7AFAFE307FA603citrixcom_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable



On 11 Aug 2022, at 17:48, Anthony PERARD <anthony.perard@citrix.com<mailto:=
anthony.perard@citrix.com>> wrote:

Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.toolsta=
ck-build-system-v4

Changes in v4:
- several new patches
- some changes to other patches listed in their changelogs
[..]
Anthony PERARD (32):
 tools/debugger/gdbsx: Fix and cleanup makefiles
 tools/firmware/hvmloader: rework Makefile
 tools/fuzz/x86_instruction_emulator: rework makefile
 tools/hotplug: cleanup Makefiles
 tools/libfsimage: Cleanup makefiles
 tools/xenpaging: Rework makefile
 tools/xentop: rework makefile
 tools/xentrace: rework Makefile
 .gitignore: Cleanup ignores of tools/libs/*/{headers.chk,*.pc}
 tools/libs/util: cleanup Makefile
 tools/flask/utils: list build targets in $(TARGETS)
 libs/libs.mk: Rename $(LIB) to $(TARGETS)
 libs/libs.mk: Remove the need for $(PKG_CONFIG_INST)
 libs/libs.mk: Rework target headers.chk dependencies
 tools: Introduce $(xenlibs-rpath,..) to replace $(SHDEPS_lib*)
 tools: Introduce $(xenlibs-ldlibs, ) macro
 tools: Introduce $(xenlibs-ldflags, ) macro
 tools/helper: Cleanup Makefile
 tools/console: Use $(xenlibs-ldlibs,)
 tools: Add -Werror by default to all tools/
 tools: Remove -Werror everywhere else
 tools/hotplug: Generate "hotplugpath.sh" with configure
 libs/light/gentypes.py: allow to generate headers in subdirectory
 git-checkout.sh: handle running git-checkout from a different
   directory
 libs: Avoid exposing -Wl,--version-script to other built library
 libs: Fix auto-generation of version-script for unstable libs
 tools/include: Rework Makefile
 libs/light: Rework acpi table build targets
 libs/light: Rework generation of include/_libxl_*.h
 libs/light: Rework targets prerequisites
 libs/light: Makefile cleanup
 tools/golang/xenlight: Rework gengotypes.py and generation of *.gen.go

Acked-by: Christian Lindig <christian.lindig@citrix.com<mailto:christian.li=
ndig@citrix.com>>



--_000_110A6400B02E4AF6BC7AFAFE307FA603citrixcom_
Content-Type: text/html; charset="us-ascii"
Content-ID: <01E68851B392DA42A94885D054D49B15@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
</head>
<body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; line-break:=
 after-white-space;" class=3D"">
<br class=3D"">
<div><br class=3D"">
<blockquote type=3D"cite" class=3D"">
<div class=3D"">On 11 Aug 2022, at 17:48, Anthony PERARD &lt;<a href=3D"mai=
lto:anthony.perard@citrix.com" class=3D"">anthony.perard@citrix.com</a>&gt;=
 wrote:</div>
<br class=3D"Apple-interchange-newline">
<div class=3D"">
<div class=3D"">Patch series available in this git branch:<br class=3D"">
<a href=3D"https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git=
" class=3D"">https://xenbits.xen.org/git-http/people/aperard/xen-unstable.g=
it</a> br.toolstack-build-system-v4<br class=3D"">
<br class=3D"">
Changes in v4:<br class=3D"">
- several new patches<br class=3D"">
- some changes to other patches listed in their changelogs<br class=3D"">
[..]<br class=3D"">
Anthony PERARD (32):<br class=3D"">
&nbsp;tools/debugger/gdbsx: Fix and cleanup makefiles<br class=3D"">
&nbsp;tools/firmware/hvmloader: rework Makefile<br class=3D"">
&nbsp;tools/fuzz/x86_instruction_emulator: rework makefile<br class=3D"">
&nbsp;tools/hotplug: cleanup Makefiles<br class=3D"">
&nbsp;tools/libfsimage: Cleanup makefiles<br class=3D"">
&nbsp;tools/xenpaging: Rework makefile<br class=3D"">
&nbsp;tools/xentop: rework makefile<br class=3D"">
&nbsp;tools/xentrace: rework Makefile<br class=3D"">
&nbsp;.gitignore: Cleanup ignores of tools/libs/*/{headers.chk,*.pc}<br cla=
ss=3D"">
&nbsp;tools/libs/util: cleanup Makefile<br class=3D"">
&nbsp;tools/flask/utils: list build targets in $(TARGETS)<br class=3D"">
&nbsp;libs/libs.mk: Rename $(LIB) to $(TARGETS)<br class=3D"">
&nbsp;libs/libs.mk: Remove the need for $(PKG_CONFIG_INST)<br class=3D"">
&nbsp;libs/libs.mk: Rework target headers.chk dependencies<br class=3D"">
&nbsp;tools: Introduce $(xenlibs-rpath,..) to replace $(SHDEPS_lib*)<br cla=
ss=3D"">
&nbsp;tools: Introduce $(xenlibs-ldlibs, ) macro<br class=3D"">
&nbsp;tools: Introduce $(xenlibs-ldflags, ) macro<br class=3D"">
&nbsp;tools/helper: Cleanup Makefile<br class=3D"">
&nbsp;tools/console: Use $(xenlibs-ldlibs,)<br class=3D"">
&nbsp;tools: Add -Werror by default to all tools/<br class=3D"">
&nbsp;tools: Remove -Werror everywhere else<br class=3D"">
&nbsp;tools/hotplug: Generate &quot;hotplugpath.sh&quot; with configure<br =
class=3D"">
&nbsp;libs/light/gentypes.py: allow to generate headers in subdirectory<br =
class=3D"">
&nbsp;git-checkout.sh: handle running git-checkout from a different<br clas=
s=3D"">
&nbsp;&nbsp;&nbsp;directory<br class=3D"">
&nbsp;libs: Avoid exposing -Wl,--version-script to other built library<br c=
lass=3D"">
&nbsp;libs: Fix auto-generation of version-script for unstable libs<br clas=
s=3D"">
&nbsp;tools/include: Rework Makefile<br class=3D"">
&nbsp;libs/light: Rework acpi table build targets<br class=3D"">
&nbsp;libs/light: Rework generation of include/_libxl_*.h<br class=3D"">
&nbsp;libs/light: Rework targets prerequisites<br class=3D"">
&nbsp;libs/light: Makefile cleanup<br class=3D"">
&nbsp;tools/golang/xenlight: Rework gengotypes.py and generation of *.gen.g=
o<br class=3D"">
</div>
</div>
</blockquote>
<br class=3D"">
</div>
<div>
<div style=3D"margin: 0px; font-stretch: normal; font-size: 11px; line-heig=
ht: normal; font-family: Menlo;" class=3D"">
<span style=3D"font-variant-ligatures: no-common-ligatures" class=3D"">Acke=
d-by: Christian Lindig &lt;<a href=3D"mailto:christian.lindig@citrix.com" c=
lass=3D"">christian.lindig@citrix.com</a>&gt;</span></div>
<div class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures"=
 class=3D""><br class=3D"">
</span></div>
</div>
<br class=3D"">
</body>
</html>

--_000_110A6400B02E4AF6BC7AFAFE307FA603citrixcom_--


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 08:38:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 08:38:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385398.621020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQB0-00081c-49; Fri, 12 Aug 2022 08:37:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385398.621020; Fri, 12 Aug 2022 08:37:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQB0-00081V-15; Fri, 12 Aug 2022 08:37:54 +0000
Received: by outflank-mailman (input) for mailman id 385398;
 Fri, 12 Aug 2022 08:37:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Og4R=YQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oMQAy-00081P-7D
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 08:37:52 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c7c31f5-1a1a-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 10:37:50 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A7BB95D8BE;
 Fri, 12 Aug 2022 08:37:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4980D13305;
 Fri, 12 Aug 2022 08:37:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id tuibDl0R9mLaKQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 12 Aug 2022 08:37:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c7c31f5-1a1a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660293469; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=UbmWpFkpApDPJOHvAwjNrdzDRvMZrYyTIHiHM42vPww=;
	b=r4YpmcWb6e8hNA4kkJ6h/6/JAuunNt6riec/xa/pEUFUWOtTBN8B9fX4BhVDANh3A8j8n4
	tcPrMocXWNMKVui0g+IE7wB3HgMx8YbKqPPWG03M0CbZJQ0W2rn5i4/zcLdclGbVN3mg04
	hgFqCQXvHfMftY2xZgT62iDX8FcIT/Y=
Message-ID: <95f56cca-473f-98fa-86a0-b8bad120755a@suse.com>
Date: Fri, 12 Aug 2022 10:37:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 4/4] MAINTAINERS: add xen config fragments to XEN
 HYPERVISOR sections
Content-Language: en-US
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-5-lukas.bulwahn@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220810050712.9539-5-lukas.bulwahn@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Lcfd6Qatd7zQu01u2KUUv53A"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Lcfd6Qatd7zQu01u2KUUv53A
Content-Type: multipart/mixed; boundary="------------9j0VkncW8znW7JGdM43kmIKm";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <95f56cca-473f-98fa-86a0-b8bad120755a@suse.com>
Subject: Re: [PATCH 4/4] MAINTAINERS: add xen config fragments to XEN
 HYPERVISOR sections
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-5-lukas.bulwahn@gmail.com>
In-Reply-To: <20220810050712.9539-5-lukas.bulwahn@gmail.com>

--------------9j0VkncW8znW7JGdM43kmIKm
Content-Type: multipart/mixed; boundary="------------aaC30w5mOpNnrvMAtlksEXPX"

--------------aaC30w5mOpNnrvMAtlksEXPX
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTAuMDguMjIgMDc6MDcsIEx1a2FzIEJ1bHdhaG4gd3JvdGU6DQo+IE1ha2UgY2hhbmdl
cyB0byB0aGUgeGVuIGNvbmZpZyBmcmFnbWVudHMgcmVhY2ggdGhlIFhFTiBIWVBFUlZJU09S
DQo+IG1haW50YWluZXJzIGFuZCBtYWlsaW5nIGxpc3QuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5
OiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhuQGdtYWlsLmNvbT4NCg0KUmV2aWV3ZWQt
Ynk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------aaC30w5mOpNnrvMAtlksEXPX
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------aaC30w5mOpNnrvMAtlksEXPX--

--------------9j0VkncW8znW7JGdM43kmIKm--

--------------Lcfd6Qatd7zQu01u2KUUv53A
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL2EVwFAwAAAAAACgkQsN6d1ii/Ey9B
Gwf6As95iY1E1ir/y4X1OTe0Gw/ch4BeRoNjTjKmzRuGEUtU20bHCUOfor3nSEmBV3fjz94nedz4
bwncAbHyRayQd8E3o7RjFdUroQwaOi+O+2REPinkm5LBQ3mtpuoqOMjaTWAoeGnZX5ya5jGmvb2o
rBoMq2EVdcN4Z4FjTyskY9pOO4f0S6aGz2VcsO+RloKdKs6DhINMMcHedj+fRHQXe9d7xCcXam+m
26L/cnTiOxQPziyra7a6WWLhheZhZYNerMjsRMBzeS50maJHc6oaa3TqkgLDyOAZkaHIhw2rZaWY
BAAR1San9dcMoVvTeBtz4EkF96/TpYUDe12ur7ih9g==
=MKNj
-----END PGP SIGNATURE-----

--------------Lcfd6Qatd7zQu01u2KUUv53A--


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 08:38:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 08:38:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385402.621031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQBW-0008UB-DJ; Fri, 12 Aug 2022 08:38:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385402.621031; Fri, 12 Aug 2022 08:38:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQBW-0008U4-AW; Fri, 12 Aug 2022 08:38:26 +0000
Received: by outflank-mailman (input) for mailman id 385402;
 Fri, 12 Aug 2022 08:38:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Og4R=YQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oMQBU-0008SV-WD
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 08:38:25 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f7f1f26-1a1a-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 10:38:22 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9C5375D8C1;
 Fri, 12 Aug 2022 08:38:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7084513305;
 Fri, 12 Aug 2022 08:38:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id a+vpGX0R9mIYKgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 12 Aug 2022 08:38:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f7f1f26-1a1a-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660293501; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=kV1UzYIZx69PN5iFgfhSXyDtj/XNGOwO+E2oqRdSLB0=;
	b=gfp6NkLdUbrvQNINTunx+CdJPWZ1t/IT3FQQcc9GniJMHYCfy9/eYN8VAHHBGZpcj18J0k
	Rge0dQZ6ob7RHJcbzm+uBD7s/x698RVTVZ0MOXF5wlls5i8Btw9cCWHQAtsmbTkYwLmQWJ
	8QY61seQF1U0+cihv297LUUIsitP5mA=
Message-ID: <e0796434-08dd-4027-bca2-cb56f801ae7a@suse.com>
Date: Fri, 12 Aug 2022 10:38:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/pciback: Fix comment typo
Content-Language: en-US
To: Jason Wang <wangborong@cdjrlc.com>, oleksandr_tyshchenko@epam.com
Cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
References: <20220811120918.17961-1-wangborong@cdjrlc.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220811120918.17961-1-wangborong@cdjrlc.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------cQjZJI1HhfMMmCvzSghYt6x3"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------cQjZJI1HhfMMmCvzSghYt6x3
Content-Type: multipart/mixed; boundary="------------l7vOvYX0w8dv0wq7c7NxyknY";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Wang <wangborong@cdjrlc.com>, oleksandr_tyshchenko@epam.com
Cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
Message-ID: <e0796434-08dd-4027-bca2-cb56f801ae7a@suse.com>
Subject: Re: [PATCH] xen/pciback: Fix comment typo
References: <20220811120918.17961-1-wangborong@cdjrlc.com>
In-Reply-To: <20220811120918.17961-1-wangborong@cdjrlc.com>

--------------l7vOvYX0w8dv0wq7c7NxyknY
Content-Type: multipart/mixed; boundary="------------3D0uXZfg3pUrj61LN0IDM3Zq"

--------------3D0uXZfg3pUrj61LN0IDM3Zq
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTEuMDguMjIgMTQ6MDksIEphc29uIFdhbmcgd3JvdGU6DQo+IFRoZSBkb3VibGUgYHRo
ZScgaXMgZHVwbGljYXRlZCBpbiB0aGUgY29tbWVudCwgcmVtb3ZlIG9uZS4NCj4gDQo+IFNp
Z25lZC1vZmYtYnk6IEphc29uIFdhbmcgPHdhbmdib3JvbmdAY2RqcmxjLmNvbT4NCg0KUmV2
aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2Vu
DQo=
--------------3D0uXZfg3pUrj61LN0IDM3Zq
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------3D0uXZfg3pUrj61LN0IDM3Zq--

--------------l7vOvYX0w8dv0wq7c7NxyknY--

--------------cQjZJI1HhfMMmCvzSghYt6x3
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL2EX0FAwAAAAAACgkQsN6d1ii/Ey9Z
RAf8CnRHO/iiG/CpxnSMmi+IP28dSfLliv2h7FD4URwh7QQrfzwaYmm/bMqMEdZjdrFOfogEpfVI
kmO16o05H6qDRAZOwmzFNDURurX5jsKxt9YiSrJyQnSGoCvXMd3AsruWx99nxjAZU13+jmuwdMCk
kjR/2eJ1LiZUFbtKON67g+62EtS8oOPKl2zPKe3fDUQtZSFAcN31sRKhoPTyypDgQg96ThX0PoFB
jownA9UK88zhlRZMBwMuzZixOGP9UwSoPGr9jh7HtsEfeIcB3KvaKQ6DjegqbIlKLI20lWoZsScK
7bVgvUw2gr0ekP/jHZa7U3EIG8wmiBTxzg+5DgE4DQ==
=UWzH
-----END PGP SIGNATURE-----

--------------cQjZJI1HhfMMmCvzSghYt6x3--


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 08:41:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 08:41:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385413.621042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQE4-0001Y1-Rw; Fri, 12 Aug 2022 08:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385413.621042; Fri, 12 Aug 2022 08:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQE4-0001Xu-OA; Fri, 12 Aug 2022 08:41:04 +0000
Received: by outflank-mailman (input) for mailman id 385413;
 Fri, 12 Aug 2022 08:41:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Og4R=YQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oMQE3-0001Xo-Do
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 08:41:03 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f2d2380-1a1a-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 10:41:02 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 29E765D8C6;
 Fri, 12 Aug 2022 08:41:02 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B8C1E13305;
 Fri, 12 Aug 2022 08:41:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hDiZKx0S9mJQKwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 12 Aug 2022 08:41:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f2d2380-1a1a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660293662; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=lHWGHA6Azxd6lwN/7a75aIRu75opDe/ZR3+gBr6N+xY=;
	b=dt2brvQHNN660Af1cB2CphyCzGc4KhGItUoAvkknQAvBdiirX4130qS2EltSZgD8L1YZVB
	ZlyKNJ5OrQ1K0UNU7vjt6CKpay0sM58t8TwDpswuHA7juJjJLTMj3dL+606rlQlBQ3AEo9
	PcDggJ7tmggeQvpHs2Ek38PZQIXIvNs=
Message-ID: <1720c5b3-e310-4676-56e9-e9403b481a01@suse.com>
Date: Fri, 12 Aug 2022 10:41:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 2/4] xen: remove XEN_SCRUB_PAGES in xen.config
Content-Language: en-US
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-3-lukas.bulwahn@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220810050712.9539-3-lukas.bulwahn@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------np34PinFKM6YfezFikcTz1pE"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------np34PinFKM6YfezFikcTz1pE
Content-Type: multipart/mixed; boundary="------------6E6SafVgTYFlX10kdALk9Ltc";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <1720c5b3-e310-4676-56e9-e9403b481a01@suse.com>
Subject: Re: [PATCH 2/4] xen: remove XEN_SCRUB_PAGES in xen.config
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-3-lukas.bulwahn@gmail.com>
In-Reply-To: <20220810050712.9539-3-lukas.bulwahn@gmail.com>

--------------6E6SafVgTYFlX10kdALk9Ltc
Content-Type: multipart/mixed; boundary="------------Q0YlSQvQUW0uyXUfiy8CMcD6"

--------------Q0YlSQvQUW0uyXUfiy8CMcD6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTAuMDguMjIgMDc6MDcsIEx1a2FzIEJ1bHdhaG4gd3JvdGU6DQo+IENvbW1pdCAxOTdl
Y2IzODAyYzAgKCJ4ZW4vYmFsbG9vbjogYWRkIHJ1bnRpbWUgY29udHJvbCBmb3Igc2NydWJi
aW5nDQo+IGJhbGxvb25lZCBvdXQgcGFnZXMiKSBjaGFuZ2VkIGNvbmZpZyBYRU5fU0NSVUJf
UEFHRVMgdG8gY29uZmlnDQo+IFhFTl9TQ1JVQl9QQUdFU19ERUZBVUxULiBBcyB4ZW4uY29u
ZmlnIHNldHMgJ1hFTl9CQUxMT09OPXknIGFuZA0KPiBYRU5fU0NSVUJfUEFHRVNfREVGQVVM
VCBkZWZhdWx0cyB0byB5ZXMsIHRoZXJlIGlzIG5vIGZ1cnRoZXIgbmVlZCB0byBzZXQNCj4g
dGhpcyBjb25maWcgaW4gdGhlIHhlbi5jb25maWcgZmlsZS4NCj4gDQo+IFJlbW92ZSBzZXR0
aW5nIFhFTl9TQ1JVQl9QQUdFUyBpbiB4ZW4uY29uZmlnLCB3aGljaCBpcyB3aXRob3V0DQo+
IGVmZmVjdCBzaW5jZSB0aGUgY29tbWl0IGFib3ZlIGFueXdheS4NCj4gDQo+IFNpZ25lZC1v
ZmYtYnk6IEx1a2FzIEJ1bHdhaG4gPGx1a2FzLmJ1bHdhaG5AZ21haWwuY29tPg0KDQpSZXZp
ZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4N
Cg==
--------------Q0YlSQvQUW0uyXUfiy8CMcD6
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Q0YlSQvQUW0uyXUfiy8CMcD6--

--------------6E6SafVgTYFlX10kdALk9Ltc--

--------------np34PinFKM6YfezFikcTz1pE
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL2Eh0FAwAAAAAACgkQsN6d1ii/Ey8V
2ggAgvummHJkzpONwPpRrirD3MvI0Sv/HexW/qy4d1LhTrM9eNcGNvp9Lhx9mPfsIY6+Kk6JjVeh
A7Jclj9jhWewE0ZOAqlT6kkxNLpzSos+jyCqVPibY1+mMmqa6L6rqQxqjQTzq82h7xRtao/ivyfZ
GYUQsgX7ngKNVup1PJrxWi3Hds4FvZW8YRMYMDJQwfutGxw456+u/zD7xr6krD+yyBlxeMvsfPXn
yTtyFxUY8s0++OceF2Ia8I8m68L9l9jrlAk/WTDOizsUP2jEot0tN0jqmNB9eV78N6BmqJJlGNpo
eHV/2qhG9Wt22+JDfMetHsrtb657GyxA7NRDHhwjFw==
=ctuk
-----END PGP SIGNATURE-----

--------------np34PinFKM6YfezFikcTz1pE--


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 08:51:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 08:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385422.621053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQOL-00032k-RF; Fri, 12 Aug 2022 08:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385422.621053; Fri, 12 Aug 2022 08:51:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQOL-00032d-NZ; Fri, 12 Aug 2022 08:51:41 +0000
Received: by outflank-mailman (input) for mailman id 385422;
 Fri, 12 Aug 2022 08:51:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMQOK-00032X-R7
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 08:51:40 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80070.outbound.protection.outlook.com [40.107.8.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa973b80-1a1b-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 10:51:39 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7915.eurprd04.prod.outlook.com (2603:10a6:10:1ea::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Fri, 12 Aug
 2022 08:51:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 08:51:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa973b80-1a1b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EplrB5G4M2uS/YLeAduG2sWAxQConYxbG7CLSMywfg7JW9vrDSLOJw1CHfDPDKceU3AMgot3OL/hnvFCgGRL40GihrKaYcSwB7sBKX/gXRezRkoScNdf03efe16g0j0bb91n1AUBn/Bg96u5WtskNEV35RxlbQNtiQ4vpmDUyGfBkJkKgd9fGg9ejMjmxrNwf4yxgi73lyIsM7dCFvEVB8b/+WSqXYwilAe+xW2P7c4Zm91/Ok30WYCrz8U0aa76VEEXa+MBs3nDQu06JbsEdc19N1C5KHq6/FYdEyi3JzssdTEYRgkEL93Cpmq2fpu3GATgvKt16z+Cij5Fn8sWUw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XetQQuZpxIoA6grAPLL3ySsHRelQ/A6IloUfXvDNr9o=;
 b=Q3ZLFdC40aTb/sQqU1Ewiu+fRcJP4AHSSYDtxqJc9juI/pC1k90hXILPgCIq7m8/jljthUdwoZmLpDEVM2aHGMHCEfdXbnKkjOgQbLNw+GQZh0w1/QUj5yk4gE6bQIQf+SKta/+spxcG6+KCjuNiZ4uIJs4WLdgK3coQrTTwK692q4EJKsnD7w8nk68gmn9aKSWU6YmEawk51cxlcEeuv3L00BVdoeFPyH4Ss/EHF4nFzEBo89vf/ma+G9wNDjvAW6iI8MJ+7AZNBx2cy9DzCM3e0EPh5Nyt8P9XD2Ik2Iq2qKNlbgqAzlXQapoDYKMZboWkM9QfOWK0zRzLryrx3A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XetQQuZpxIoA6grAPLL3ySsHRelQ/A6IloUfXvDNr9o=;
 b=hYZLFBiysw1N5owO3FPM5eNps/NqjbsBr+8VESk9DMfwCviD+WC4h3wiU3S482AtRrzPOex2VR4jJqXqTy4wugcL2yI77k7VhbQg7oh80AxLWTmJLKyXRL/BTn0HY9ub2Wyx6FToRQOn5rK8GAOm5dn+rb4AJl4wD4JhUAGQdGcoji1DmB7za4+FXs/zSUGTkPNPtvnXz903sw6CA2VxeWhIuZ5QcBIiBg6s4EkXrBPEfD3chDiouhc9opjFWx/qA43vUN5krtGi7GDWCCafm8E/t8whN+v6FDZde9oRe0YDIidPwg/UKz6YBr34NtoSXqrPNCl046DePL9FJlYVmQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f11bf6c5-9e84-6bfb-1a36-a44cc42e1286@suse.com>
Date: Fri, 12 Aug 2022 10:51:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 7/8] x86/mm: adjust type check around _get_page_type()'s
 TLB flush
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <3fdfad2a-7891-0b08-5541-3b226e0555e1@suse.com>
 <40042c40-a2ba-e491-d16a-4bacbfc6154e@suse.com>
 <764ae641-d445-f4ba-662a-c965ebcc582e@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <764ae641-d445-f4ba-662a-c965ebcc582e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0160.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 81b61133-5d3f-4041-d679-08da7c3fddae
X-MS-TrafficTypeDiagnostic: DBBPR04MB7915:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rZfdVPZRh04M3BPsnm3sygYcKCF/jJ/BM1vk+eSQQax141cDORG8jD1NpfOPy4y9i8o5ygjLXYXFaKn3GJgiSCDc120bkh8OPK0WSb+dmWnPv0C7Nf2y9wcNvCz0uRqD6LNXcz1gLJoRudEXY7C8HPwO8uqwRm3RT8rDp+qdFl39LtDm2oWT85u0zRkGNQzwzuswG2cK7qpZYijhPg+b+2HM702AwSflDifZpp7EdiEGBe66qndU4tceeOcmkMjnuok3GpOMwki/AS4WJzezyqkyArvuSnE5wXZ3knXcx94e7ibdsexvKV40jc6Cpv2YhHb70LamRonAhRhGYBr82SEbGsk8JvBqRGpeHcwjqv2Me/BB/uNQ+fCYYNgQtzTrGC9yPOuwd2dGQX1dQPKVCtTEey045Sq5EwSjRI1G9BxL/hhrm9VKOZw4rejzRNJ6GzOcwK9ghFtWlt/GwQ/+/5Pa0hM4x/PPpHMIymp48sx23UWBpKpmNMXDSZ8gE3v0vdDEdUGsZ4GNM001s3pej2ASO4fGtHT3Wn3N39REe8C3y3/xfmp8bTdQRbAQK6owdoxhJ0MLYsu0XlDNJ1hxUmUamS9YDZYXZn8Z2w6JCMES+AfsmmQMn0t2WydfdLcbsZE6Kea+FdepahJWOYdZAX05zvXAlD+iKgGNltdYtO/Q3QOdmmmJa++2+LwAl4E+qoNaia6foW9ez0Pwl6a2Gnx/406u642qIxyTRmpokWdI0AtPq36ctCB4IKYVpAxwe9KsBBWh8Bce+K8KJXPx6/mcnbK1D2QEltxcAQMOtAgAU1VEhCtgnzJrZ3E1B9D1P8iGlg25ie+AzCKVj6SF7A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(39860400002)(136003)(376002)(346002)(6506007)(6486002)(66556008)(66946007)(4326008)(31686004)(66476007)(478600001)(8676002)(31696002)(8936002)(38100700002)(2906002)(5660300002)(53546011)(41300700001)(26005)(186003)(36756003)(2616005)(6512007)(86362001)(316002)(6916009)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QlhvM2I3blpxVldsSy8xdTRBb0ROQmVnK1kxUmRFcERadGZXR0JmbUkxNUpw?=
 =?utf-8?B?WkcrUjlSNTFHU1ZSREtJdG53SG9peXo4aHA1LzUraDRNVWxRUjlCSE9TdWJy?=
 =?utf-8?B?bXJhbFN1RFh0NVozN1pmd3FiTFVIa1pJc0R5QjU2UXdvcHdBT2wrdTczUkNr?=
 =?utf-8?B?OWJySmc3Q0dXYUd4ZTZ3SlFZb3Q2UTI2d212UWtVcExGc3VDY1hjeFhZa1Rk?=
 =?utf-8?B?NTBNblhzTTRnWVJqcTRYbkhmNzczRnA3R2FvcjVhYzZid2x0OGRraE1EZy9J?=
 =?utf-8?B?ZlNGdldQdFEwckszY3JBVmZ2SWI3Rk9HT0pXbWQvV2t0UDM4MFdIWTg3L3NX?=
 =?utf-8?B?NHJ0cHZuRzZlRitFNkdSTWpQRjFMQjU2RVFJd2pQZERaWWJrYXlRS3htV01R?=
 =?utf-8?B?emJFaXdMdTRJeHVTTFkvSXVnY0UranZtdHBUb3p5MlM3c0U0L255ek9UNHZD?=
 =?utf-8?B?dmFFZkZ5RTZBVHVpZU5vU1ZheWZOOEoyVnc5eUpGMWVjTUlNUGxNdjVBSWtI?=
 =?utf-8?B?bE8xdnBWT1dHcVdEMWRpWXpwU0doaUd0T0hPSkpvV2tFbngyb2NFaVRmV0F4?=
 =?utf-8?B?SjhtSzhIQnZTeGNXMFJ6ait5MTVtN1N1SCtHM1BQbGdvU3pCb3RuQXo5dFBQ?=
 =?utf-8?B?TjVYS2l5blhDTmw1eFBwZzV4MVVPb2FLOGNNUzRTTFZCOHIwL2lrYWpveUQ0?=
 =?utf-8?B?ZDI1aFBIQ2ZrTHFmRUxxVkh1UFB5Q0U4OXFnYUVsSkQ0dEVoUmVQRjcrdUR6?=
 =?utf-8?B?aGhOQjFadm5OeERWYUZlcDFZL0hMcXUzamEzMk9XKzZZZDBxWjJ1V0I2b1JZ?=
 =?utf-8?B?QS9MRGVNaHpGSTN0cXU0WFZQaGpLTVAzSkYzbVRGL0thNkQxMWZodDNOK3RZ?=
 =?utf-8?B?R1A1ZHRFSk9Wa1Ayb0pHZlVzejFBMjl5cjVOblJiaGdqQ1U2RU9SSjczYnc1?=
 =?utf-8?B?VEV4cnNqU0tmNG1vYVh5QWxndnVmMUt0TVRBUWtGWUJ4U1ZUaHhzekhHRGdW?=
 =?utf-8?B?REFVUGsyZ3hUY0NWbGtxMkE4V0JwVzF5clUwU3FtZVhZSVlvUGhPYUpwMFRN?=
 =?utf-8?B?VkJhT0RUYjJhekx5MHFMa3NMYUI5Y3B0VG5NK3hibVdYbWs0U3BlOThRbUhJ?=
 =?utf-8?B?L2x5N0pkM1NkNG1udXd0ZE42WnM3VkI3amlRbnNHdmNsQWU2azNlRTRCYXhU?=
 =?utf-8?B?UEZuMHczVzcwWDVyVnR2YnhOY0Y4VWhkQ21rd2I3M1d4bllCcjlCVndIWFdr?=
 =?utf-8?B?U2lnbmJGOVJkbWgvVDdKRjM4N3J1RDJ0cWFKRHJ0VlFxUTdhSHNvb3R6ZnQx?=
 =?utf-8?B?YkoyZ1EySWhCN29iR09NQ052MTlVL0ZFQkJKUmFWVEJXOG8zOFhUam9EYXBk?=
 =?utf-8?B?VUwrSUgvZjhtdURVemFYRmN6UGsyUjcvaTNvOTFKeDkrODVmOVNYaUVvbHZR?=
 =?utf-8?B?QkRra0ZxVTBVdXhCVjhvbUZoSU16aXhDUDhkZStXT2FTRkU2Z25TemorbWVL?=
 =?utf-8?B?bm1UNjViRmJVTmcrVTd2cXRvaVFxMEJrdTJhQ2UwdllKQlIyb2Z2Y3M3NHlr?=
 =?utf-8?B?bGxtR0ZwRkU3ZzkwdHVWd1VEUXBBZXZVZzk0SThXa2tuL2hJMGlsN1AvV0Jj?=
 =?utf-8?B?b1B2SnZFczN3OXFWVUdxZXlpQng4SVFiKzJKUFl3TWxOVHg1dU9UN1hyZjJX?=
 =?utf-8?B?NzdOUGJyQXpqTkdOTVQyZG1jYzFqdWdQbFQrSlY3K3FlQTBOMk56dUlZN2M4?=
 =?utf-8?B?alp0YjJmd1NGRHVtb2xyaVExMnF4SHNmSkFwUDMrclRyVUVhTTVlS2ZwQjc3?=
 =?utf-8?B?NDVjeVJiKzFIblN1R1hENkp1UUwwVnRBY2VLUVArQlFmVXVpTFZYRDlsa21X?=
 =?utf-8?B?ZlJ1Z2RZRUloa3RPODVMZGFCT1JDcnNYTCtxdWxtdFRpVG8vdm9nWUlBRUVj?=
 =?utf-8?B?R2lFQ012K0sweDNLcHlpMlJDV2pZS1kyOXJZeWFGeEM5R1h0OTV6aTRGb1or?=
 =?utf-8?B?NitlK2NIZENrNmxicFlSdkVFd1dIMmVud1JLQ3JsRmY4c3FUbFd1KzAvdFFz?=
 =?utf-8?B?RlFEeGlhdk9OZytoZ0lkejNoeFV0RlNGNzAzNi9OdXpjMmxsMmVDUytLWE9t?=
 =?utf-8?Q?uVyMrc9kYRB4FxE+/4BPi1mUb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81b61133-5d3f-4041-d679-08da7c3fddae
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 08:51:37.1446
 (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: rjVO4cRzmM3Yj/AFvKaT/FZ3SWs6mHErncpsadzaqOmhsarpTf+/dOPy3oR0x2lZiCcz8Wt54JyOxdJQW2HKKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7915

On 27.07.2022 20:25, Andrew Cooper wrote:
> On 26/07/2022 17:06, Jan Beulich wrote:
>> While "type" can include PGT_pae_xen_l2, "x" can't, as the bit is
>> cleared upon de-validation (see also the respective assertion earlier in
>> the function).
> 
> While this statement is true, it doesn't really explain why this is
> relevant (or not) to TLB flushing.
> 
> As far as the change goes, it's safe on 64bit builds of Xen (I think),
> but would not be on 32bit builds when this logic was first written.

Actually no, I don't think it's safe, and I therefore withdraw the
patch. (I'll re-base the subsequent one accordingly, which you did
give R-b for already.) Whatever content may have been in an L2 table
which is to become a PGT_pae_xen_l2 one may still be in TLBs / paging
structure caches, yet we'll replace those entries without further
flushing.

The opposite direction (previously PGT_pae_xen_l2 trying to become an
ordinary L2) is "fine": Due to the Xen entries still there, its
validation will simply fail.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 09:07:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 09:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385435.621076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQds-0004hH-Hp; Fri, 12 Aug 2022 09:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385435.621076; Fri, 12 Aug 2022 09:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQds-0004hA-Ek; Fri, 12 Aug 2022 09:07:44 +0000
Received: by outflank-mailman (input) for mailman id 385435;
 Fri, 12 Aug 2022 09:07:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMQdr-0004h4-Qs
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 09:07:43 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10084.outbound.protection.outlook.com [40.107.1.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38fe4dcc-1a1e-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 11:07:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0402MB3625.eurprd04.prod.outlook.com (2603:10a6:7:8c::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Fri, 12 Aug
 2022 09:07:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 09:07:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38fe4dcc-1a1e-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=foRN3xhVj3qZj8RpGozm97yNse2n+uqAsoIzefBk6ElJp4bkKjkc6ARGUXeTz8gSxp4BXNBrS6Sg38SymspkBDEnBbmgfZRP6ZWmTwnI4zE4cp7lVC0Sdk4nYTtQWNrUEHI/sPXiApUjLcKkg4ZLZDpWThNZX6m0X71huZainEx/pbtaaaEvtFwPx0YngeX67dOIlEE/xqvnQ8HpbJ8+9ajMG2SYqfR85tkT2sfqd1PZK3AV3fgqHOu1yGqnWvYWdkcOIaxtDMSkB1t3/r5EWs7EdGjg41NKzNrP4LPahpbSFDycRg1T/t4RmNTuQ1wmYahTLsjo9LKnwrG0KNkjpQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jAkNLNti5tN/FMTZtk/oG1FE7N2XTZC09fvb59IEIK4=;
 b=TN9mrn7x74DGuURL8zMRfcJxQQ1FH6AbXKkpWSUTcSBoiEJ/HCryI1tT45Vh7vCIp5bU5l07Pib8duFwjMVEJrLRQmtXcUDb8Z7o4J4Tv8kSj/NrPcosWd71F7mZniVHvMIpQ+40WG94Rp3vlrTjf7u4g9Tm1Qeor1PY2blGw9wzwSVo1pAWXbgzym072LcW+H2itXd3/jo6Kk4D7cI9GZxFCpfO2XeDqZhIyw2t/1/3NKTaKBcED/JeYAp+SmgpLDgFa7zTRrexPfU1APWuoyzpi6OAjlOlEoU+Ejmy1K80I+BlKQSP2sY2W+iJhTNsdW9VTR9juPulbSpdDssmIw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jAkNLNti5tN/FMTZtk/oG1FE7N2XTZC09fvb59IEIK4=;
 b=2pGjZMkTop19VUDlioA4kW/Vao2ko+jc9y2KsCWBp+nqMBb7i1LksiAQszK/fvyXhyVcBrM3aNqVSSjDlMIoNN9edKcVIPHb5m+e0jdIiX+/j/mby0eE/e23NZu2XGcbHVppzvAuY9AqC6JnInKqFrYbNABVxPs7Of3fFpeK6R20w0Cf3Cy4ugwZAu9cytWGu00IB/vFN+N5T/iThkfTQQJkO1Qry9RLjAo+y+wbnmACGo1OOdlNqhtPaZtPLwxvTWA2kLyjLqRXZzjhf826HzYW43c53o82s88j7J/RP49a1yV6Y022xXOKaWuZ0rgmPt71ELLCTSNNT1GIU1++8g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cd5bff98-a112-b83b-fefe-e310468d9e88@suse.com>
Date: Fri, 12 Aug 2022 11:07:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86: show_hvm_stack() requires enabled interrupts
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 35aa8ca6-ee61-44ce-472e-08da7c421ba1
X-MS-TrafficTypeDiagnostic: HE1PR0402MB3625:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Cl/2xYVFcwHIVh6a6Otu3EjLzlk7SFScwvmuuGaxyDQXxC4pLRFK+VFGX+A8Hwt0ylF++CmT2FAw0nNivolgNofeb20uyZUZ0uKFnoomRIOigJx1RsxIGwWdcoPUIIXcgugiW+Hm0vk8UvU9PB+KlRNM64zBugI5XwSOrM4aQ1uOeQ8FNsBzKZtQU2S7QQ29JlqmKTZzVq2SgMP9ZK+Id2AePghXeeZMJ7erafTqU9ydRLZDpbRQhhYAMuuQWYB5oFOlJNFh8Bv+wpzHE5RDeZxZydWAz7GAxi0gOWSdFNUG7ubOl+Y3UIsvcZZYbHoh1Lrk72CxxYfZ0KrrIBG6K9Wv37cxFIS7w6rJOQsYzHQrhBIpQY2IMtiP0jShFvisTpOtkRJhUncFMoH26zCeO6xN9E4mcKW2LZdhgzsnaaWVoqD19ORkxzSXIKEtqD9yKyO1W9AkFTnPngvKfLHRP2FIqhnwFr/M+TjANz9WlWd4ItQx17lP780zhRLwLx7nEtH+0do7mDPL1dGCrKN9AKh70VGy16aqQpyy03oNGG6o3qelFZHZvD8Oi93W9mIu8EUyu8exTrhhnzJopGicraRJVgh9Z8x36IHDpPENL+85H9ZODoU8oBO/gLl7buS1uDjJK1R0T6ajJb0SfY8ZTMsEWTV/6v5QzrfU+gCpEM/Dhs2JrvFNzTdTFuNF2ReBIimRPtd2Y9LWGN3vNCkceI0MMb79QHQECP8nGHaZXS9biyh04wiJYmoSCIiUqBbdkv9CtDCEE3dKsxW+Jtx7o3rlJAu0nQWFUhBv1xGs0TWGe44cClmpRv/J8PvzlEUSU2JNPBgpT5k2R4ltVPO5BA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(136003)(376002)(366004)(39860400002)(86362001)(31696002)(66556008)(8676002)(66946007)(4326008)(66476007)(38100700002)(8936002)(2906002)(6916009)(316002)(5660300002)(54906003)(41300700001)(83380400001)(6666004)(186003)(36756003)(31686004)(6506007)(2616005)(6486002)(26005)(478600001)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TW5aTllGUS9sRUhWSVJabUk1Zy9oTDZBclFoeksrbWJDTUVsdVNDSTA4QUpW?=
 =?utf-8?B?cXA4NFZkcHRHTDhyZENXRXZwR21wZkRBQWxYSDVyQ3hPdHBXcHAvcm04UGtD?=
 =?utf-8?B?MGhIWE1jWEx0bEFLZ3JzREN1YkdFUFRsM3J5YVNiNWNUMHNHK3h2ck5PZVc1?=
 =?utf-8?B?Y1p1QjVENkRneUUveldjVU4xK1AvK3RnN3F1aVNGRkVnMi9FbHlKWUNhcVpG?=
 =?utf-8?B?RDB5Z1lvU2U5eFZ1bnkrajVsZFd4andZV2lsem9EdnAreEVSUC8vUnpTTmFq?=
 =?utf-8?B?TmZWU2p4S1RqUUtTZU8vNFI3QkQ5cCtuNm5RY2UyM3YzaDB1MTlQZXR3a1Zz?=
 =?utf-8?B?R2xwSW15REU2STc3MTN1WE1SNnBYRWxXRnRCT05Ya05yYzVCMzArUjBpUTAw?=
 =?utf-8?B?SHZLMjRGdmlhUExGRXYzdkl2aEswK2w4d3JRbTVFVlVlRXR3aVhuSm1NREJt?=
 =?utf-8?B?dnZsejM2alZxZ2p6TGNXTUN5US94eEVxdGVNMGFHOFVRS1FVZzkrQkdPa0pD?=
 =?utf-8?B?WDlvbWtzWW5zQUt1dTlvanEwTE8xTUpHNGtuRTlOcFVlYXBDRFlEQWNNdWF2?=
 =?utf-8?B?WjFWRjlRZSszSDhIc0JZNW52eE8wcE8vQTJtSDdzUHV0WGIzellYMDRqdGRS?=
 =?utf-8?B?RUNadTJmZ3pyTGRQYjU0NktYQ3lzeUtkemdObks3RDBMWGpwMlhsMmt2cmNm?=
 =?utf-8?B?T09wTWtlWCtjcjFQcEJ2ZHNGYnl3eS9nRktzbXFKUmY1ZVJERkhXaXRsbjFX?=
 =?utf-8?B?bUhKb0kvRTVEM0dWVHkyUEE0Z1drN1lhREl0dGhWVlExVjJCYndVQjNldHpw?=
 =?utf-8?B?STRZTVNCcjJIVmZqaDFMRjRCbFBIamVJbFRGZDB5WlB4Tnk4U1dHU0N5cFcx?=
 =?utf-8?B?a3dzREFrRVROSUx4ejFabm5FTVZIOXVja1BNOVJIemZBMUNHUEk3WWRsQjVl?=
 =?utf-8?B?My83NlVZTVlkRTBKWTNjYlBRL2pDdXVFWk51bVdwdHRiVVV0Y0FNd3MyUVl1?=
 =?utf-8?B?SSs3RjJST01QdXB4Y005bjU1aVdLWGgwczJreUk5bUgxckpZeGpOTFJaTXRZ?=
 =?utf-8?B?NmRUUGo5VEJSTjgzOHdzMlhHenRUM1gwaDZZOG1nK2pzRERVSXBpelBFcmxi?=
 =?utf-8?B?YytGUnhPYVpkeWFmT3FDSjJ6Q2tvdUJTV013VHUwZHcyVWtKWm16bEYyZXg2?=
 =?utf-8?B?MG9ldmdKR3F1VHZDTm8xcjhGTiswNjF1N2Jqdk8zc3JFMFJyL0dLTUxrV3Bt?=
 =?utf-8?B?UTYybmVLZ1k2SWd5SVVmcUU0elA5NGIyb3VCVlZIb0IyTEJkbmkxL3JaS1RN?=
 =?utf-8?B?VDRaK1ZJa1JlWCtXTjBvMnp4ckRFZ3o0YUJtaVI1V0Y2UDJRdk1iK0dVSkgz?=
 =?utf-8?B?VTBteUdSMWdYUXF6d2lDWlB6NXIzNkVLcVFQcTBJa0tIUDVVOE9UeVpLcjZX?=
 =?utf-8?B?MnNSUXdQcG1ZT1Fyam8zdXp0bHBaMTdwSm9wNS9yYXZtNmRoUmtVektnYkNk?=
 =?utf-8?B?QVFiQVVDM1dsaTQwZG9mVEtjYWJmcmJJUzZOeDh6TjJGb2RMUjJXZkgxakpj?=
 =?utf-8?B?UDFxSUpFMHFMVDBuQjNqSDdJemJ6dHZHZ1djM2dDS0NWanY2ZDVLSTNBa3By?=
 =?utf-8?B?MU1XSEVSZ2d5aTJERXhUY3k3NmV0ZHRwQWY3U0dGcHd4Uis3ZXV3cWx0ZlpY?=
 =?utf-8?B?Qm43SVVodEM4TkJFZ2h0cm9QT0JsNHdiS29IWTZIWWRicEIzTHBNNUxhNHFR?=
 =?utf-8?B?ZmkxWGxHZlllWDk4RVFsTHdWdzRlS1hvYnc4aVRzNW9OeU9na0d0TEFQN1hk?=
 =?utf-8?B?aDRTMWpSRlc0VFhuTDVtRVB2TnQwdG9yNUxwak1neExrOHhwR3RieWxRQUps?=
 =?utf-8?B?OThOY1UwTEJ4QnBpcmpteTJ5TTN5MURqWHVRY3VwSVBETmppeFU4WW1xeitq?=
 =?utf-8?B?NVViZE1JMjlLbGFtWnBTVTRXcVAzazNEeCtNdGZYRVh2Q0Z6RXg2aW5Ec3lR?=
 =?utf-8?B?SmI2NGk3QktFaTdWeTVxSUxOSzVLSXhSd09UYzVZZVFDUWdqbDFTUGFOOHMv?=
 =?utf-8?B?bWJIa1orZldVdnhmV3RoVTBIUVJOVUFUYjczckEwRDBrWmdWOVl4bENvWHlq?=
 =?utf-8?Q?rdsKSMPyoj86A0B+eTezLFsU7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 35aa8ca6-ee61-44ce-472e-08da7c421ba1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 09:07:40.0680
 (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: 9Qu6oMusAxgnXvtrM/vUcN3bvwckxfFHl6PD1tSBACNDHc3ACJFipdsjfvczznq8hWj3lbycgvNvPlFqrOnYKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB3625

show_hvm_stack() requires interrupts to be enabled to avoid triggering
the consistency check in check_lock() for the p2m lock. Add a respective
check. To avoid this check triggering when coming through
spurious_interrupt() requires adding reentrancy protection / handling
there alongside transiently (re-)enabling IRQs.

Fixes: adb715db698b ("x86/HVM: also dump stacks from show_execution_state()")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Check IRQs enabled before calling show_hvm_stack(). Re-base.

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1384,22 +1384,40 @@ void smp_send_state_dump(unsigned int cp
  */
 void cf_check spurious_interrupt(struct cpu_user_regs *regs)
 {
+    static DEFINE_PER_CPU(unsigned int, recursed);
+    unsigned int cpu = smp_processor_id();
+
     /*
      * Check if this is a vectored interrupt (most likely, as this is probably
      * a request to dump local CPU state or to continue NMI handling).
      * Vectored interrupts are ACKed; spurious interrupts are not.
      */
-    if (apic_isr_read(SPURIOUS_APIC_VECTOR)) {
+    while ( apic_isr_read(SPURIOUS_APIC_VECTOR) )
+    {
         bool is_spurious;
 
+        if ( per_cpu(recursed, cpu)++ )
+            return;
+
         ack_APIC_irq();
         is_spurious = !nmi_check_continuation();
-        if (this_cpu(state_dump_pending)) {
-            this_cpu(state_dump_pending) = false;
+
+        if ( per_cpu(state_dump_pending, cpu) )
+        {
+            per_cpu(state_dump_pending, cpu) = false;
+
+            local_irq_enable();
+
             dump_execstate(regs);
-            is_spurious = false;
+
+            local_irq_disable();
+
+            /* (Ab)use is_spurious to arrange for loop continuation. */
+            is_spurious = per_cpu(recursed, cpu) > 1;
         }
 
+        per_cpu(recursed, cpu) = 0;
+
         if ( !is_spurious )
             return;
     }
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -660,7 +660,9 @@ void show_execution_state(const struct c
     {
         struct vcpu *curr = current;
 
-        if ( is_hvm_vcpu(curr) )
+        if ( !is_hvm_vcpu(curr) )
+            show_guest_stack(curr, regs);
+        else if ( flags & X86_EFLAGS_IF )
         {
             /*
              * Stop interleaving prevention: The necessary P2M lookups
@@ -671,8 +673,6 @@ void show_execution_state(const struct c
             show_hvm_stack(curr, regs);
             return;
         }
-
-        show_guest_stack(curr, regs);
     }
     else
     {


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 09:13:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 09:13:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385443.621087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQj4-00067m-4Y; Fri, 12 Aug 2022 09:13:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385443.621087; Fri, 12 Aug 2022 09:13:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQj4-00067f-1n; Fri, 12 Aug 2022 09:13:06 +0000
Received: by outflank-mailman (input) for mailman id 385443;
 Fri, 12 Aug 2022 09:13:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMQj3-00067Z-7J
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 09:13:05 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMQj2-0006cJ-Oy; Fri, 12 Aug 2022 09:13:04 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[192.168.11.5])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMQj2-0005eC-G4; Fri, 12 Aug 2022 09:13:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=u60zPL0tuF0JetpCzSuBeVaBfxAa8EO1qK05Um8qTVo=; b=sGmDPUdgrP2g59rIUKpXQ0N6kX
	EwcXLy6xlnai1SIHQRTKG40YYXp+AxREjWuiGw8b/UL4S7vpW90C7KPfm1Kbgn0ycwgBiYJMrW9VR
	efokkdcEa5PoKcJ6WZJGTtQRJcNzh6smIl4UKmwDyqGbU3DURGOMCKSWwZEXTOLFDeOA=;
Message-ID: <65772df3-a462-65fe-864e-d613d32c76e0@xen.org>
Date: Fri, 12 Aug 2022 10:13:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
 <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
 <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
 <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 08/08/2022 12:31, Juergen Gross wrote:
> On 08.08.22 13:00, Julien Grall wrote:
>>> This would break the use of xenstore-stubdom for such a setup.
>>
>> I am not sure why it would break the use of xenstore-stubdom. An 
>> application will already need to cope with the case Xenstored doesn't 
>> support a feature.
> 
> Someone relying to be able to switch off a feature on a socket connection
> might get into trouble trying to do the same when running with 
> xenstore-stubdom.

This is not very different from an application that was built against an 
old Xenstored and would not be capable to talk properly with the new 
Xenstored if the feature is enabled. I understand that...

> Switching a feature off will either not work, or switch the feature off 
> for all
> dom0 connections (which is a single one, of course).

... when using xenstore-stubdom xenstored it means that the feature will 
have to be disable for all dom0 connections.

However, it seems unlikely to me that someone will switch to a 
xenstore-stubdom on a whim because there are also scalability concerns 
(one ring to rule all connections). So I think it would be fair to say 
that your application may need to be tweak if you are not using the same 
feature as the system.

> 
>> At which point, it would be easy to say "I don't want this feature" 
>> when using a socket.
> 
> I don't see the value of that. If you don't want a feature, just don't 
> use it.

This is not that simple. Your assumption is the feature will not change 
the behavior exposed to the application.

I don't think we have such feature today but I don't see what prevents 
us to do that.

>>>> I can't make my mind yet if we can avoid bumping the version for 
>>>> this field. What would happen if we need to rollback?
>>>
>>> I think an active usage of the new features and a rollback are mutually
>>> exclusive. See above.
>>>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>>>> +| `quota-names`Â  | 0 delimited strings of the quota names inÂ Â Â  |
>>>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | the same sequence as the `quota-val` values. |
>>>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Only for `conn-type` 0 (shared ring).Â Â Â Â Â Â Â  |
>>>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Only valid for version 2 and later.Â Â Â Â Â Â Â Â Â  |
>>>>
>>>> As for the "global" quotas, I would move the quotas in a separate 
>>>> record. In this case, this would also be useful to avoid having may 
>>>> dynamic length field within the same record.
>>>
>>> I like having the data together more.
>>
>> Which is fine so long the code doesn't become too horrible to 
>> read/maintain. I think having dynamic length array in the middle of 
>> the record makes it trickier.
>>
>> This will only become worse as we introduce new fields in newer 
>> revision. So at which point would you say the record has grown too much?
>>
>> To me, this is already the point and we have plenty of record ID to 
>> handle that.
> 
> Fair enough.
> 
> Other questions arising from that:
> 
> - Should we have different record types for global and per-domain quota?

Given the question below, I guess you mean per-domain quotas that are 
not the default ones. If yes, then they should be split.

> 
> - Should we split global quota into two record types (per-domain settable
>  Â  and global acting ones)?

I don't have a strong opinion on this.

> 
> - Combination of above (one record type for per-domain quota, usable for
>  Â  global default with "invalid domid", and one record type for the global
>  Â  acting ones like max. path-length)?

[...]

>>> I thought about that, but liked it better to be able to keep a common 
>>> struct
>>> layout for the record with the V2 fields being at the end.
>>>
>>> Main reason is the ability to avoid duplication of code for being 
>>> able to
>>> handle both versions.
>>
>> The cons is you can't easily describe the record in "struct ...". As I 
>> wrote above, I think have dynamic length array in the middle of a 
>> record is wrong.
> 
> You've got a point here.
> 
>> I have looked at the code, I don't think there will be enough code 
>> duplication to warrant adding fixed field at the end of the record.
> 
> Okay, lets go with a new record type then.
> 
> Should that always be used, or only if the depth information has been
> specified (IOW: is the old watch record format invalid in V2)?

I don't have a strong opinion.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 09:14:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 09:14:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385449.621098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQkH-0006fv-Ee; Fri, 12 Aug 2022 09:14:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385449.621098; Fri, 12 Aug 2022 09:14:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQkH-0006fo-C3; Fri, 12 Aug 2022 09:14:21 +0000
Received: by outflank-mailman (input) for mailman id 385449;
 Fri, 12 Aug 2022 09:14:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMQkG-0006fg-Gr
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 09:14:20 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2056.outbound.protection.outlook.com [40.107.105.56])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 256dd813-1a1f-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 11:14:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0402MB3625.eurprd04.prod.outlook.com (2603:10a6:7:8c::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Fri, 12 Aug
 2022 09:14:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 09:14:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 256dd813-1a1f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VQEbIH6tLLIx6koGT2eDSvitG7LG4ITN/xt8lZQ8m3IzVO5R8izJWch/yE1WE4wTNDlGiejk3g1ZsWa3O8vb5zGe5xQY1GO0YmdqTPBjH0q0Sviw++3Cq0KzByOAW9zq72lg5yzJx36h93pwJ/rkbenJATMxdqnZqXNcdPQeTPCFzdNkZSjp80xb5e33HmTbO6AwWvsUAPsN8zKgtL9mrrSQXBXNSXI3xLAN0Y/uQ8Ny2aQdQ/0jsJS+99xQWTMH7Z4jSfawtfRj+3IdjU9hgbyLDfaSwN5M+uhNZjqst71+M+GMAm/o63JWDMQHlMGgGl7J7QJRG7CY3qhqTXHXAQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dqpMOTaZxDtYwoblaF22Ik5Dgt5Lak3ElJ+MWxm/G5g=;
 b=FnZWQWE4UwFXYKgBJgEYoJRLVCGqZO7cCp1F+6EvbiTEr2aea6U5virHiT/+AJNBpMj8CIpyqUNENrCrI60cLwqpRnsdDy50hlK9r+ZcxnzC23VIIShFB3NjlMG3uINRZx/pzT3+q9e8iFSjtel7oHMk3q/u4nJwuWTb0RspAcMQo/dEiCAWJweCW6Bs2SrIAhnQIkxsmcO2HLoYtEZT1DWula5PtLUUuFL3MrFKKfthqIJWFNkA2G/5+7MOI2IwixJk8JYxdi3mbyyAoeiIL6K5G9emDvR7gtIfOwudhpOFSjv40bI6d9Pg3CoYwKNX7gRoQme8Rl5hichIbtM4tA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dqpMOTaZxDtYwoblaF22Ik5Dgt5Lak3ElJ+MWxm/G5g=;
 b=BBO1lJrH9rBfB9sE4m+E02Sq+h/m3Hdd/X5ZW0IN3LQZZfVckev3nLWGI8Dw3eApRay+KDLrCj4uT32qtvCQA+uFbOCsBgyaLQTWeRK/jRPryHV5krv/4KlM4i8wc64Gtr0uuItV9CPrADNykrpzjFzJ0bdNkePP+2UUyPB37MHPqRdnJEmzyr67FWlXNlw8XQDi20vTeY4sINBmV9kRSgm3yO3JzraTOFToAzPWKy6oruUy283zSBh1YkEKJOEMh6X8mjC4Mjzp6bG5tvjoTHyEyJJPKH10/KOTRVKEY8b5VH0r/Ir2H0esxEquJ+2XazdT+QPw3V2zU7xvGUqZ0g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1eb61d7c-3668-4a9d-ad33-682f2fd12071@suse.com>
Date: Fri, 12 Aug 2022 11:14:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86: help inlining of functions involving
 alternative_call()
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0361.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a3::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aed4b44a-e646-4d5e-9693-08da7c4308a0
X-MS-TrafficTypeDiagnostic: HE1PR0402MB3625:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NNzQDsP2S9BTt2O1yNwIxOzJcqvRQBY0lo5pDE25s7CaFDJieGf9ymdZmVIWiQjP9Q6mhK3ATYqKx8Rn9UVtk+EwvEIFC9hwNlFON/8vXR/R7crWC7kXLo/pCGMp9vK3vsa5mO/9TTs8JcK1mnkZnYjBhtStEUdaMIs1pHL7fy4OSqSXhfxaFgTJFx/Jw35CuXsMKE7JGKtzPiuWkduYqukNfkph9AzVJImANrCn6W8raW5B3fgcEIWrzTN6kl+Sya8QHpb0C3/1WVbxEIq956atBDZevKPrppISxjRTUPFR4pItYNgv5doP+hI0mOKHCPDI1QJxgQE+G5PKnVZqdxOQlrL9tedyCdRP5xtwQGkVIVj85WHooUsKQspbMJGSXhWqgyhDj4c0rb3rYt2bJPT2YAGVclcCxsX/k+KX8NxzfcxvZYU6ga7Tapzd+7lPrAI2APacAN7XJ8EixqCIWKGVDWk34fE/TVGRdjFHFVrkym3f/0k5T3kCo27oKaTZ77zRfaFi3nSO3tlYjnJiZEucR6LjClFcoSybZvbIYetS7kLJzWORYd9lZ7lBe91KqTL+ia3EMt2QjZ9jppNnJuC4+eLkG58Eqn7NZGqKk4wi4Vbj4FiXm32dvOzA8G5rcqxUDhrJyKEhHldVue3NkRwS5M+Milhhtq8tOgx0XBpJMh/mlKPzDLR5CUmk4PFP3bx+oTjwarXMta4gdRrwAJ7zJGE4QEX/WDG1uHEuF+IjtHqGUsCHLNR4+kPjeubtAp03L+2sh4nvL5OqxhTLt8dwb2UEGyhRzgWHVH5yO254ZyYdx+gSeaXHRkPgmtfmGWywBS4Z0ckdFFJbAxvLwA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(376002)(136003)(396003)(346002)(316002)(54906003)(5660300002)(6916009)(26005)(478600001)(6486002)(6512007)(186003)(6666004)(83380400001)(41300700001)(2616005)(36756003)(31686004)(6506007)(8676002)(66946007)(66476007)(4326008)(66556008)(86362001)(31696002)(8936002)(2906002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WDVyL3hjTG1mTFBHTkdhTk5HcjVmR2FSZmpQd0hKdm1mQjhzTndubURBMEhL?=
 =?utf-8?B?Mmt5cVZ0all1TjkzNDhVaWxVZGkxRW9jSXJSQU9pVlRJU3huQUYvWVBkWWZ3?=
 =?utf-8?B?M2JUd09ZbFgwNTZCSVZuOEo5TmNybDlIb25XTWQ0SVd2dmJZY01HL0tWa0dw?=
 =?utf-8?B?OFpMMHhCMzdQUW1Nc1ZkTnBsck8ySmFGTXFpdkZTM1pFeXhaZndsbkt0VXFa?=
 =?utf-8?B?REI2Nk5Ta1hkc0k0S3ArNWF2ZWc3RkZJUHJvRnUwQm5ycUxqczFRZWtSNTQ0?=
 =?utf-8?B?K0lsV2pSY3hvZ0YrZGlrWDB5RUdGKzFVYjRacGFWV3FUZ0lVMzMxd0hEWkFx?=
 =?utf-8?B?SVR0ejRSTys0Y2p3d3dtTTNwSlYyV1NYSiswSmhPeEY0MENSVGppcEJ4bjJs?=
 =?utf-8?B?ZHZRNmk5SldZUjRBTkN4QzE3S1JSMlFzeVJqNkZqME1EQmpvVERqb1NZdTR4?=
 =?utf-8?B?TklIT2tQUmw1QW1XaGR1MzArU2pKcGR0b1JzS3hyMldXK3lGTWgwa1o5NDkw?=
 =?utf-8?B?NkxHN096WEF3dVorRkxIZ1FTRFdqSTNNeWhSd1l6c1RlNVR0NlhFUVZsZWhs?=
 =?utf-8?B?bUhYWCttMGl1MnRZQXR3R2Y4WTBzKzRrQVNNdFpLQ2MveG5XMHI5WHdLK2dx?=
 =?utf-8?B?dHJVUlNSRHZxcG5UNlVyYXZ5a3h4akRCcUk2YWsrR0NScGhpSnNwU2ROcWJQ?=
 =?utf-8?B?TzU1Nk8wTUF5dzVmK2JpUGluUlVrYjZ3VENGZ3JlM0JEazg1RzdJYzNoK1lw?=
 =?utf-8?B?Wlc1TjlKS2orQ2lpdXExQ0hvYmhtZ3U3eHVSM1liS1JJYnNRWVc5Z2JqdGxH?=
 =?utf-8?B?UWtGM0tOYmU1M1djRUZHcjN4d0FyVTZWVFo5VWd0NnJlamVDRE9uSHlpNjJw?=
 =?utf-8?B?eU0xRFZSTllLOVh0Ry9obC9VQzhEeFUydk1GZWgvdkUyTDVTUks0QUg5TTRa?=
 =?utf-8?B?N21UQ1NNYWFZRTEyQitKVlJNYzliY25qaEp4ZlhKc1p3dTBPM2pXemZzdGsr?=
 =?utf-8?B?Yk10bE53RHhBcklJKzN2ekZSMFk4YlBvUWRsWkVGT2h3ajhZOFhlS0RBeWJi?=
 =?utf-8?B?Yjc3ajJnckZEbUxDbVo1Qnp6RHhjcnNLaXZWWHpISnQzVHJsZzZnWGVqRWlr?=
 =?utf-8?B?M0dnWTFsZlFDUlYvSjdXczgrYmZrdytaemIxS0piZHpBVXpDSEVmU1RNdTk4?=
 =?utf-8?B?RGY4UDZTaTZ1d0JjMDFJemZDTjEyeWRrc09EUWZVVVB3ZTN6MlYyQWI2cjhY?=
 =?utf-8?B?Si8xRzRNRExTeVdLWXVkendWRytGMEFTS0pNYjJhUE1tcHRsY1JadWZ2aUdi?=
 =?utf-8?B?VXZUV21TRU80WDYzYVRrZlc1bHp5Lyt0ckovcndHNUtKcEJNRm43cFRDUTVq?=
 =?utf-8?B?S2pjTkZqaUlFbTA0Zzc3Y3lOM0M2MldabTM5dnNnenp4SWhoYmpuQXlpcDNv?=
 =?utf-8?B?V2Iwa3V0bWdTWTcvYWNWTE5odVk5VlNQUEhwSFdmb2NWbjBHaGNYRERoNGtx?=
 =?utf-8?B?NkJmZFFBQk55TFd0TFpNRkp3d29Ua1dsR1VWbTFUR25TbzRMUWxBelhpV0d3?=
 =?utf-8?B?eVpiNnBGWnJDQWtMM0NPek1BUnJIaFlnRUJRTkdtNGwrSkoxaVZseDhpNTFs?=
 =?utf-8?B?QWJhdkdGZ3ZPRkl0Unpna3VWeWo3d3k1QVI0THFQQ2ljOTRHYU96dUdFWG1G?=
 =?utf-8?B?NXplcWJ1c2YyZ0RPSExGVHRKNjVDZytsRUhacEh0bjdveldoREdrZFNKc1Ex?=
 =?utf-8?B?NUVIK2dQNTZoRU90dk9FL0lQWExDWTFYMzUxL3YwdjBxdHVrcFdOeEowQ21B?=
 =?utf-8?B?YmpaWTJNVEJhc0ZrSkxJQ1hiYm1GRmVtL2JNVVpVb1ZrVVhIbWtnZVFmbHpF?=
 =?utf-8?B?L1ZnOEJxVjVKTEdwekQrTWFWYWFkVitnMlpXbk83c3JKQTFZN2NUbXJzVFhk?=
 =?utf-8?B?Vm5xUWI3SWZ1cUxIT0RkeEp0R25DcWxGanVZQmYrNUh6bkZnSHF5Ujdhbk0v?=
 =?utf-8?B?L3lsb0ZpaytkRWRZS0ZlSHFGNmZTQ3NpZkFoNkM2elIwdTBUdWh6YmRIcnRS?=
 =?utf-8?B?WnRkdmZhOGRLc2pxaUNPMDlpdmJscGFQYnNEYTlqL3IyRDdlWk9wMXl5VEdm?=
 =?utf-8?Q?UMGRE/IURIh9mSMN+/u2gfram?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aed4b44a-e646-4d5e-9693-08da7c4308a0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 09:14:17.6679
 (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: kViFRrzq3XZwOXlbENBSIlSrXI0p/e0jhnWFAuk5iOcKZBA/jyKU7r4FjU2IjKJD15+L8h5rMKxUSbnZVyfbkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB3625

The involved asm() expands to large enough a construct that often the
compiler would decide against inlining when a containing function is
used more than once in a CU. Use the "inline" keyword when supported by
the compiler in conjunction with asm().

The INIT_SECTIONS_ONLY dependency is because in that case "inline" gets
expanded to "__inline__ __init", which obviously can't be used with
asm(). But for init-time only code we're also less worried ...

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Re-base.
---
Perhaps this wants extending to other asm()-s involving ALTERNATIVE().
At which point the question is whether instead of altcall_asm we'd want
to have something like asm_inline.

I understand that Linux uses Kconfig for the feature detection. The
discussion on whether we want to generally follow this model continues
to be pending / stalled. In this particular case the error output from
the compiler when "inline" is not supported can be huge (thousands of
lines, partly because of the many nested levels of macro expansions),
making it close to impossible to recognize what the actual issue is. Yet
that's what would be happening if one switched the compiler from one
supporting the feature to one not supporting it, without remembering to
explicitly have xen/.config re-generated.

--- a/xen/Makefile
+++ b/xen/Makefile
@@ -386,6 +386,7 @@ CFLAGS += -Werror -Wredundant-decls -Wno
 $(call cc-option-add,CFLAGS,CC,-Wvla)
 CFLAGS += -pipe -D__XEN__ -include $(srctree)/include/xen/config.h
 CFLAGS-$(CONFIG_DEBUG_INFO) += -g
+CFLAGS-$(call success, echo 'void _(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null) += -DCC_HAS_ASM_INLINE
 
 ifneq ($(CONFIG_CC_IS_CLANG),y)
 # Clang doesn't understand this command line argument, and doesn't appear to
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -203,11 +203,17 @@ extern void alternative_branches(void);
 #define ALT_CALL6_OUT "+r" (a1_), "+r" (a2_), "+r" (a3_), \
                       "+r" (a4_), "+r" (a5_), "+r" (a6_)
 
+#if defined(INIT_SECTIONS_ONLY) || !defined(CC_HAS_ASM_INLINE)
+# define altcall_asm asm volatile
+#else
+# define altcall_asm asm volatile inline
+#endif
+
 #define alternative_callN(n, rettype, func) ({                     \
     rettype ret_;                                                  \
     register unsigned long r10_ asm("r10");                        \
     register unsigned long r11_ asm("r11");                        \
-    asm volatile (ALTERNATIVE("call *%c[addr](%%rip)", "call .",   \
+    altcall_asm ( ALTERNATIVE("call *%c[addr](%%rip)", "call .",   \
                               X86_FEATURE_ALWAYS)                  \
                   : ALT_CALL ## n ## _OUT, "=a" (ret_),            \
                     "=r" (r10_), "=r" (r11_) ASM_CALL_CONSTRAINT   \


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 09:17:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 09:17:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385461.621112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQnV-0007Nf-2f; Fri, 12 Aug 2022 09:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385461.621112; Fri, 12 Aug 2022 09:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQnU-0007NY-Vm; Fri, 12 Aug 2022 09:17:40 +0000
Received: by outflank-mailman (input) for mailman id 385461;
 Fri, 12 Aug 2022 09:17:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMQnT-0007NS-ID
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 09:17:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMQnT-0006hi-Cf; Fri, 12 Aug 2022 09:17:39 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[192.168.11.5])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMQnT-0005kA-6y; Fri, 12 Aug 2022 09:17:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dsa9nfUyPPbYGINBJpS50giJJZQL3qlilX932uitAj4=; b=E1wG9CjRXjKW0rVfsHt9wvECoD
	XpIVq7EwwO2fJ1DIaVROYAr/UnM1+jZK+xSE9Xs3xHtnrAWy46JzociI1K64nGkVR3SHUSlTYmQCD
	1wdpDC9K8Opayk10G/JkJRbbbd9TQGN64D+avDoSMy7f58utFQPfJ6CXtcFs1wndSKq0=;
Message-ID: <77f76e28-a397-ffc5-5e6e-e286878f4070@xen.org>
Date: Fri, 12 Aug 2022 10:17:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.0
Subject: Re: [PATCH v2] xen/arm: smmu: Set s2cr to type fault when the devices
 are deassigned
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <3d254f1c7045bc212c5700c1becde458174e5bf3.1660232299.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3d254f1c7045bc212c5700c1becde458174e5bf3.1660232299.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 11/08/2022 16:42, Rahul Singh wrote:
> When devices are deassigned/assigned, SMMU global fault is observed
> because SMEs are freed in detach function and not allocated again when
> the device is assigned back to the guest.
> 
> Don't free the SMEs when devices are deassigned, set the s2cr to type
> fault. This way the SMMU will generate a fault if a DMA access is done
> by a device not assigned to a guest.
> 
> Remove the arm_smmu_master_free_smes() as this is not needed anymore,
> arm_smmu_write_s2cr will be used to set the s2cr to type fault.

NIT: I would write arm_smmu_write_s2cr() so it is consistent with the 
line above.

> 
> Fixes: 0435784cc75d ("xen/arm: smmuv1: Intelligent SMR allocation")
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 09:23:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 09:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385470.621126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQsk-0000OL-Oh; Fri, 12 Aug 2022 09:23:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385470.621126; Fri, 12 Aug 2022 09:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQsk-0000OE-KO; Fri, 12 Aug 2022 09:23:06 +0000
Received: by outflank-mailman (input) for mailman id 385470;
 Fri, 12 Aug 2022 09:23:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMQsj-0000O4-RQ; Fri, 12 Aug 2022 09:23:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMQsj-0006nk-Op; Fri, 12 Aug 2022 09:23:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMQsj-0004Vu-7e; Fri, 12 Aug 2022 09:23:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMQsj-0001nf-7C; Fri, 12 Aug 2022 09:23:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dJ/CchS8CA00fs3AH0fim5DpKAFu1zgHjI9m7kVaLl0=; b=fLUK739kDqU10VosoP9nPVazj9
	OWxAdLVSw+SgPuhk26UUfro4Uvmnv24g95jMNn2jnS89yL0eF9odb8CvUC79CUXKcgvYDn6MKRKn9
	1dRw46OQZC8hbsoTqE132lvDMOC4IvkkbUZGns0JgS5EsWI4OkfjhQgFH9sJedEe4GvE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172398-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172398: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 09:23:05 +0000

flight 172398 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172398/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale  14 guest-start      fail in 172384 pass in 172398
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 172384 pass in 172398
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172384
 test-armhf-armhf-xl-credit2   8 xen-boot                   fail pass in 172384

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172384 blocked in 172128
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 172384 like 172108
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172384 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172384 never pass
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 172384 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 172384 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z    8 days
Testing same since   172384  2022-08-11 11:13:58 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 09:27:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 09:27:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385481.621140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQxD-000110-Ao; Fri, 12 Aug 2022 09:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385481.621140; Fri, 12 Aug 2022 09:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMQxD-00010t-82; Fri, 12 Aug 2022 09:27:43 +0000
Received: by outflank-mailman (input) for mailman id 385481;
 Fri, 12 Aug 2022 09:27:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hoMS=YQ=amd.com=JYOTIRMOY.SHARMA@srs-se1.protection.inumbo.net>)
 id 1oMQxB-00010i-Ib
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 09:27:41 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2065.outbound.protection.outlook.com [40.107.94.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01446b6e-1a21-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 11:27:39 +0200 (CEST)
Received: from DM6PR12MB4297.namprd12.prod.outlook.com (2603:10b6:5:211::20)
 by CH2PR12MB4296.namprd12.prod.outlook.com (2603:10b6:610:af::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 12 Aug
 2022 09:27:35 +0000
Received: from DM6PR12MB4297.namprd12.prod.outlook.com
 ([fe80::b8a0:a7b4:2921:9c2d]) by DM6PR12MB4297.namprd12.prod.outlook.com
 ([fe80::b8a0:a7b4:2921:9c2d%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 09:27:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01446b6e-1a21-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eDve319+SC2fmmbxHobrYcUUekXivhKePVKReYLFzNHe9uZiKkShLeJDNKOZnU4Fphfs/yg3YV6SVvuOoV5I7/MmfZ7Va6qwuhN2PI+5cbNmgqomQqz5hMrjzKJvpGfACphvNUhvs9k8Z5Ct1McJf4eGn0ZHMPE72/v2q+d2UbMYXMWUVq9I4sW7R6jaPeHkcrdj9B32Ghg2iEidk2dny1iyW1hatBgR4O2NgtPv90wOQmBN+gN5x42kMObww3+bp9cKq4mzMNxpGZGvDcagi1fneSm/Kh/9ZRkEm1craBXN1siZGWYqv06R1OGRThY2f12m68Mjiwr10Zfl3D3Afg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vgerVAFZ6QMckO7cgIBFFLaTElKQrzw75uOKsoOsCNI=;
 b=WyLrDRC9WvdAHoCMeqGwghvtBPbv1fvaGRCq20qZqmT7iCEDPw5fCmMBPDF+J0CIfETt/tEeCE0/NBw0RDOGTVo/XEnkzBi8ES1D2eIFwigkeyzcA0dEQDSESL7qfPf+Xk62KiYIHqVXE1+SZWqccCJurYCMwgw2rNoO2dYN9KrCAAgJBdTAPWChCZVvA158xx23aahZNr6rZHJ2cMb5411bpol9PXDRUwb8mRvp1QiLIkj7SETntlMBk62QojgpadDexLR57W0dxfnrgNvoGz3ZWY5hP+eSf88ja5aASGa42Bku930ZUh1YK5n5Hsj194IT54lWIbyI3PLnVNmBWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vgerVAFZ6QMckO7cgIBFFLaTElKQrzw75uOKsoOsCNI=;
 b=mHDfukXIKYs45LUj/I8n7Eco5Wpo5sBmgEM1KmxYuYen8Vg0xOnPlh9dP3324p5aygEH957l+vEfZRQF/qFA9sTJ7DaIo61EMNwgKeoM9KgPTOEC6P6BbqneRLZkJgkeknCVfXL6H70QQjqEZEokHHIucZ1gkOezgJbIG5ejHTw=
From: "SHARMA, JYOTIRMOY" <JYOTIRMOY.SHARMA@amd.com>
To: "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
CC: "SHARMA, JYOTIRMOY" <JYOTIRMOY.SHARMA@amd.com>,
	"dpsmith@apertussolutions.com" <dpsmith@apertussolutions.com>, "Stabellini,
 Stefano" <stefano.stabellini@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "xen-users@lists.xenproject.org"
	<xen-users@lists.xenproject.org>
Subject: Re: Enable audio virtualization in Xen
Thread-Topic: Re: Enable audio virtualization in Xen
Thread-Index: AdiuLIEpCE+lAIo1TNCmlHqdHV8UZw==
Date: Fri, 12 Aug 2022 09:27:35 +0000
Message-ID:
 <DM6PR12MB429763D0795CAB57F9F7206A9F679@DM6PR12MB4297.namprd12.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-08-12T09:27:31Z;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=13fe99a6-6d8f-4d70-b509-41cdf6e7d8b3;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 08db1eed-27e6-49f8-8466-08da7c44e3fa
x-ms-traffictypediagnostic: CH2PR12MB4296:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 0FBU4HxM/kp/lw2QPn09bHj4U2Z4yrYqz4ue0BRLby89Rkfmyrwi5Yjttg8JvsIJTZb3AR0/HLXETmeyZaW4y+mPOty2Ev+TUtKo/9oKyLAOzKv8X6yh6JXWKZRgA/9IPSfcY7EaAuKpXHOCki3/A7wyIqM0NBuvXSb0QP0yvyBax//tFgig1wIA6wpp5RXuoajcbHH0qu49xcXoA9WBHu/DohJ/NkHQQzsKTOcapZgxvEOW5T8CKKZJRA2tk1qk7RMjhrqi+gqPd/mptxYbdeIwilFTfU+wRe45gjLuX/+xf/zWxLEWmElpYvQTluMQTA3X5dJdYI6HdrfCkmnlQvx2CFwNdBCe1aymBoMY2I4Xm1gkePEcSPMRVLMHuonb4DaUH7R0SrvPvGPHS/xBkBnvNNrFMoGvbyTtBvhhnYs7gCwPZyQKsQUXUEnp7rUhyKX2Swvc907Pg9FBNnLmj1r3RFw1jhYIxgi+q95MrJuMx1N9WAMdP5BYnRMuqM2EWpl7nKkM680qdIiErjj3+8HmHm4IMBBgflXFnbwD7cXlri0ruJQbPomAJXOPzThoIT22VJwNBOBCDPtHvH6juH+5h7Ll5e1G4Q0nGZ3vpqGGtWyQN/3DUQE5L+tc7MFqig3iNEsT0G5iRQL29MX7pnnfF7YSOrvcHkOkb77kN5UyaJ2CoRXIMitClNy8HJlaxLE+NKujJ0u2CI1K92SyO3INFrFm82cZno2BK7mJgzd3DVYvNlpw4TdEWuNHqbYhRgp/fY6Q4KML+Z783iHQFVmQa/hsJTzAiFAwGyvucHVFke4IDKE0kfJ37Dj3fv+SoACywbXukPL9u3mfvoaqTQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB4297.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(366004)(346002)(136003)(376002)(26005)(9686003)(166002)(316002)(122000001)(86362001)(4744005)(52536014)(38100700002)(478600001)(8936002)(33656002)(7696005)(6506007)(2906002)(38070700005)(5660300002)(4326008)(41300700001)(8676002)(64756008)(66946007)(66446008)(76116006)(55016003)(186003)(71200400001)(54906003)(66476007)(6916009)(66556008)(66574015)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?c9Ae3HNag2HImHho0cDQwwgq/YNhjkoOAcpyTdh2Wb5N7Fy6qxerx0h66rzI?=
 =?us-ascii?Q?3VRPpP86NIwQr9r+/RqLVuNkW8te665ikXME9XyvlX3aaY9do7IFtoNxgOwT?=
 =?us-ascii?Q?b9p4ONosmfEPabs9wKRA+BLYCaPTXpWwEDuHltCIqCrJD4dsKiIBZfJ36B7L?=
 =?us-ascii?Q?Ir2FiiCmz7MXUJrTkQrUJbaiV9QhvgUhTN8Ogrib4igmpS3bk98KzRZc12E1?=
 =?us-ascii?Q?FI7wMj4VQcVh+MNvRDwz9hTZRL2xMfb0uP+Lm3xRgpmlK5/dzv8ABFFGxO+u?=
 =?us-ascii?Q?BOTOax1fvbNaGFl1q+zHHxrUYTYCBbqGIcXRPbVPLbOnKBwjwQcw9kAFA79T?=
 =?us-ascii?Q?bDuDWt2S+tpna2sMAW45pG7lV3T0RPJS/l9JDB/W8Hu7R9p/LKPKGZ1mEaKD?=
 =?us-ascii?Q?MlrKUGmZtTzLik8OHEsVX0no5BFtGd9ynmbIainAD8jjGTH/NE+bpeII9d5M?=
 =?us-ascii?Q?BdRxEFkeJ2SieLg95655yFgaRNYlbIJIq1RSw80/a7ovfHFAIZcLnSdKB+Ht?=
 =?us-ascii?Q?eFyx2awIR/qi1ZZCfSRAcL4BRF0ZvF0dRFXZ69AnYX59B86UrgG2Ycpy6LWq?=
 =?us-ascii?Q?pGd3C2gGs5QgpI92nDhuSjRgUkMzclZpe92Wl8kLgvlcSE6pMWyS+2xIXn0/?=
 =?us-ascii?Q?e0h2wWaN4fNeB/M1/XTf3ZJeZTRykp2WLU8t+QyReCiH8lIltnxaooj0SbMG?=
 =?us-ascii?Q?4WtGoLd6DB5Ucw+q4bKrL1S5LJWMtdIoy/DdcAHbNUle4cCPt+HXSlNQURKZ?=
 =?us-ascii?Q?4Ccj8VoG/OUnKLU+gz9KU+Tx8pGHyN0c1NJpIKu3GizYR2NYsF+XOYUQvyA7?=
 =?us-ascii?Q?5MQj71IkDY8aMJz6Hu4gbbO/7jvguamex+VMnJke9IDUdBAMt+Y4kSWR3U0P?=
 =?us-ascii?Q?G9tDqWQfQHTB7WL4+HgoUFVAq1AhiAUWjTViorVo+s7GX82MyK1pFxff4niz?=
 =?us-ascii?Q?P1Zuv7OCcDMqFIsS9qdJKmOFFfBHYNKY7+JTYSS5jygnmRqXTu0qaVXjFc70?=
 =?us-ascii?Q?Szp4wO4yd08kJfs0tq49RwR3sDCyb9Jwwjn2SiAaW9ZCVTsVg1WuA2dBlEqM?=
 =?us-ascii?Q?PbsigPDuNZ7Veuja5eJNNXwheSNUEOVcn/N7iEFL5d3GS6tpmO7XtJRUKogt?=
 =?us-ascii?Q?7uRCR9Jbivu8JdXnyodSk9DB/Web3I/+9lkwibBO+thxj1Qwwh+rJOfjMS2F?=
 =?us-ascii?Q?5FW96C4AlEwD15glhGQxmyyjz+ZYaUao+vfIaVytlCsJOi+vPdxWyIF0c7xP?=
 =?us-ascii?Q?DnYw6Lo9WD1OPJ6/eHpgeQzJN68QsHT7ZjXIWFaf9QHXMMSxlVCElZ6lZAfJ?=
 =?us-ascii?Q?eD5b9vtdXAHTcs0UtQbQD6t3nwWw7gm81J36QI5JbtT68fE6M5rh57vx3oYg?=
 =?us-ascii?Q?Cy4Je36BLCWdTXIIeyvTiSjmOB9ijJPYe2u6vy2u/SCMyTbLI2MRmIed/GSj?=
 =?us-ascii?Q?qamRhk3EQixz4zPdkc2goXxRpAyAVdx9B0WdZKmx1b6OlZN0Ru8UAAVzu+GM?=
 =?us-ascii?Q?dfn78g/SF54+RYlN1D1BS8Ir3QdaPqYBZvmqQ8qnXnjwBbdcSPKIxYyhovYp?=
 =?us-ascii?Q?+0oUebVVZQ8Un0ObMPRMFhiWkimDIlv0mLA3XnXa?=
Content-Type: multipart/alternative;
	boundary="_000_DM6PR12MB429763D0795CAB57F9F7206A9F679DM6PR12MB4297namp_"
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4297.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08db1eed-27e6-49f8-8466-08da7c44e3fa
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2022 09:27:35.0187
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: QuoiIgS6YSzYst5UtmaixZYc00mdigmqZGFkRG6T28ThlLI66VAdaKjp73rf0hGReWAf24gUG8eapyPgWojzDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4296

--_000_DM6PR12MB429763D0795CAB57F9F7206A9F679DM6PR12MB4297namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

[AMD Official Use Only - General]

Hello Christopher,

Thank you so much for your reply. I will execute your steps and first try t=
o enable pulse audio as you have mentioned.
Later I will try to enable ALSA which is my final requirement.

Meanwhile, I was reading up on virtio-snd and found some patches in the int=
ernet. However, those patches are not
present in the qemu source code (https://gitlab.com/qemu-project/qemu.git).=
 Do you know

  1.  If virtio-snd front end driver is another option to enable audio in H=
VM guest with Qemu/ALSA as backend in dom0?
  2.  If yes, how is it different from xen front end drivers?

Also, regarding enabling Xen PV audio front end device drivers, you have me=
ntioned that I need to enable backend using libxenbe and snd_be. Does it me=
an, in this case, Qemu is not involved in the audio backend? Any pointers t=
o understand this overall architecture (Xen PV audio front end driver/snd_b=
e/qemu/ALSA) will be extremely helpful.

Regards,
Jyotirmoy


--_000_DM6PR12MB429763D0795CAB57F9F7206A9F679DM6PR12MB4297namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1934046225;
	mso-list-type:hybrid;
	mso-list-template-ids:669693626 611103012 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word">
<p class=3D"msipheaderdf3d92d6" align=3D"Left" style=3D"margin:0"><span sty=
le=3D"font-size:10.0pt;font-family:Arial;color:#0000FF">[AMD Official Use O=
nly - General]</span></p>
<br>
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hello Christopher,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thank you so much for your reply. I will execute you=
r steps and first try to enable pulse audio as you have mentioned.<o:p></o:=
p></p>
<p class=3D"MsoNormal">Later I will try to enable ALSA which is my final re=
quirement.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Meanwhile, I was reading up on virtio-snd and found =
some patches in the internet. However, those patches are not<o:p></o:p></p>
<p class=3D"MsoNormal">present in the qemu source code (<a href=3D"https://=
gitlab.com/qemu-project/qemu.git">https://gitlab.com/qemu-project/qemu.git<=
/a>). Do you know<o:p></o:p></p>
<ol style=3D"margin-top:0in" start=3D"1" type=3D"1">
<li class=3D"MsoListParagraph" style=3D"margin-left:0in;mso-list:l0 level1 =
lfo1">If virtio-snd front end driver is another option to enable audio in H=
VM guest with Qemu/ALSA as backend in dom0?<o:p></o:p></li><li class=3D"Mso=
ListParagraph" style=3D"margin-left:0in;mso-list:l0 level1 lfo1">If yes, ho=
w is it different from xen front end drivers?<o:p></o:p></li></ol>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Also, regarding enabling Xen PV audio front end devi=
ce drivers, you have mentioned that I need to enable backend using libxenbe=
 and snd_be. Does it mean, in this case, Qemu is not involved in the audio =
backend? Any pointers to understand
 this overall architecture (Xen PV audio front end driver/snd_be/qemu/ALSA)=
 will be extremely helpful.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Regards,<o:p></o:p></p>
<p class=3D"MsoNormal">Jyotirmoy<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_DM6PR12MB429763D0795CAB57F9F7206A9F679DM6PR12MB4297namp_--


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 09:54:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 09:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385493.621153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRMZ-0004J4-K8; Fri, 12 Aug 2022 09:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385493.621153; Fri, 12 Aug 2022 09:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRMZ-0004Ix-HW; Fri, 12 Aug 2022 09:53:55 +0000
Received: by outflank-mailman (input) for mailman id 385493;
 Fri, 12 Aug 2022 09:53:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMRMX-0004In-Uq; Fri, 12 Aug 2022 09:53:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMRMX-0007IQ-QY; Fri, 12 Aug 2022 09:53:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMRMX-0005wZ-Fw; Fri, 12 Aug 2022 09:53:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMRMX-0000C0-Ew; Fri, 12 Aug 2022 09:53:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UNXEAcZwY3LdKZTo36dLN+8J6z/gbL8D8VnpHT2w4SE=; b=GUpcIYF2KTGDm8MfKIfAPmoCej
	gWn0ZMw2BbMpHKLFySAsRcaBbQkKLZxFB7VZrfnNZc/brCnRKECmJwnyclhYKPcPyOSTsppRWiPib
	5DxcLRLp8fSREl7fVhYJgqZ7SIOWWU0edbeOFKuiZf4aSww/R5MbcW4ZDhUKvP9dJGGs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172416-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172416: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 09:53:53 +0000

flight 172416 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172416/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   69 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 09:54:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 09:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385497.621164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRMf-0004Zt-T0; Fri, 12 Aug 2022 09:54:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385497.621164; Fri, 12 Aug 2022 09:54:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRMf-0004Zk-Pq; Fri, 12 Aug 2022 09:54:01 +0000
Received: by outflank-mailman (input) for mailman id 385497;
 Fri, 12 Aug 2022 09:54:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hRCN=YQ=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oMRMe-0004Yd-7Y
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 09:54:00 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2084.outbound.protection.outlook.com [40.107.105.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af327e73-1a24-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 11:53:58 +0200 (CEST)
Received: from FR3P281CA0110.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::7) by
 AM6PR08MB3077.eurprd08.prod.outlook.com (2603:10a6:209:48::29) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.10; Fri, 12 Aug 2022 09:53:55 +0000
Received: from VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a3:cafe::f1) by FR3P281CA0110.outlook.office365.com
 (2603:10a6:d10:a3::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.14 via Frontend
 Transport; Fri, 12 Aug 2022 09:53:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT056.mail.protection.outlook.com (10.152.19.28) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Fri, 12 Aug 2022 09:53:54 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Fri, 12 Aug 2022 09:53:54 +0000
Received: from a5abcf7fdd2d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 75DD2988-DB91-477A-8C0C-C95F38641211.1; 
 Fri, 12 Aug 2022 09:53:48 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a5abcf7fdd2d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 12 Aug 2022 09:53:48 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB8PR08MB4025.eurprd08.prod.outlook.com (2603:10a6:10:a9::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Fri, 12 Aug
 2022 09:53:45 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Fri, 12 Aug 2022
 09:53:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af327e73-1a24-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=nWSGukNcaEzhJSLuEmYpaDU03THtuCJLjjlvahc6F/l01sCIMh0StMzPGVfuC1JVWCMDZ1Ncp8sSGWOy7eZyqGJBVmZdTUaSm5N2IqlIogAJFJimbHKtqL7mJT+4rjX+7MVoJtsgPF4smlTFV6GcLkNau+PFElz8ohJAr4GDh77hlkD/DJEwq545K6TCfyDHkIpXflCKHyvjlFqsPGh6k1gspqKCXf968Kw0AQz8MNpXp1+nh6shFWTwwnGB7dF84k3fgnJxXn7KvlqhdlxVu00fvoEMtp+ZsqeW75T8F4rT6q1RYWPSYD74jBRAmlvTMzxqs8AnOdKkWML2uOy5fw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ScySF2g035rfwO4S5ctcc09VTH5urQlDE4LKqsdQo3w=;
 b=E09alhbrW9G5xWo/+1loWNefEudZCT8g4zD/3ExFDhmNHKtsSXX20Z7VA6nDqPTkIpMBvnTxeA0/V567mJa3HIbjkUZuhETVbidfDkZV0sDfpZ3nKb48uzd0njpAWw3cY16Hu9aJykoVRLTmFC/sG1XfCtfPV7Ygo1TpH/xQ53FyijqFQLwF/5O4Bxzu4g3z9+DdfK52e4Rcz1jfIu290D1vONHa4P3nJ3rDX7PtK3ctsth1EMJRjNsks/wfyVR8EEw/7dITS6NN0bDhaFbLW1uUaR29mObQTLM5dvgdxqcthvnguFhDUl3MSGS5XsuYOASmjMk0kZR8iUizg6f6kQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ScySF2g035rfwO4S5ctcc09VTH5urQlDE4LKqsdQo3w=;
 b=5H4kN5G7nNqrllf2J9++clp4h56SzfpJmeKO9v7oljiBXYjcedn1l/Z5lzhc0tuRBYyZLMFksuLA6vOHSC2H5vBs0/PSafACi8Ej/XkCg/YfxqQ040h/aCQur/IZlQKxrXZUxJxBSY52VFJXoArdKqg5dJ4JIvtfF/WRPmpcYa4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: aa1b63b397117095
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CdFzmUZvLhBsCe4R6CpYBswF3jMqsq6QI0RI2oMFXL1jiLWlmTRZFQ2jK4HLH/MUstYum7sp4x/Yhl1hvQIrFQV0/hZkPorsPXhUa8cmOV6Ra42KR5hpXHg3b7egNEXp6V0xdMCLmryL/dLSexaM3vfsS4Ix6alUq0s0GvoQSoQ3sH9hAM+3OvATJyzUzh/09nNxTaDUodruXwWFx8rcFKdVS2IlavpoBbInQ4GwydA/ohex4CvzA/2dRAlU3szGooWXkxmNV/wCGKDZhz0JjVhejjo5Am/fxHCw6PQWfNLC1hhz6R2ewqxNUQSy06H0XgjVIL7BidZPafgGPbY/jQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ScySF2g035rfwO4S5ctcc09VTH5urQlDE4LKqsdQo3w=;
 b=fWo8EvxDxFgU/ZQ5LfIULxZqaRwCQd96/uh5sK1CuXilHKHjkL4f4zHEb/wHakOdZXNEbqGfQS33jq3ojEqQJicCL6CDopOYZy55NTucWWI0BtgXVNi1vkCGcoIih/WMFkWHj85wKAFUQmz65NMbTZvArDibeJGiBdQWEAgtEuIJlTdSq6tJBww4QVNBXrotQM9XluNlvfa4O3P3yH6DFa1x2xt/V1FrIJvZXbQl8XgRM6FDeuJ4aSjuTzg4UVDhjScqyxhhuWWjpC3Wk9cEAzgQ/tSWIbRDBiQjkV7osRm2PDEu54nfwHmlIbfWltGHK8xYrqT+Vv/g+/DWB2Ixmw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ScySF2g035rfwO4S5ctcc09VTH5urQlDE4LKqsdQo3w=;
 b=5H4kN5G7nNqrllf2J9++clp4h56SzfpJmeKO9v7oljiBXYjcedn1l/Z5lzhc0tuRBYyZLMFksuLA6vOHSC2H5vBs0/PSafACi8Ej/XkCg/YfxqQ040h/aCQur/IZlQKxrXZUxJxBSY52VFJXoArdKqg5dJ4JIvtfF/WRPmpcYa4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Penny Zheng <Penny.Zheng@arm.com>, Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Thread-Topic: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Thread-Index:
 AQHYm/wrUfogDGShnkmhOgXs9i6E7a2PQtqAgBcPXACAAAGYAIAAAoCAgAAFWYCAAAiigIAExo8A
Date: Fri, 12 Aug 2022 09:53:45 +0000
Message-ID: <21CCFB81-D43F-48D9-8EC0-A8CD08835261@arm.com>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-9-Penny.Zheng@arm.com>
 <d050bcf4-f71d-423d-a157-4243548f47a6@suse.com>
 <DU2PR08MB7325EB83FDD208467A493557F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <99e65678-c394-01f1-9f49-827388f2fff6@suse.com>
 <DU2PR08MB7325A733C5B374ED899A2007F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <14ce6b41-c422-abac-4b59-541511d75cae@suse.com>
 <DU2PR08MB732531F03BB6F436FCC79673F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
In-Reply-To:
 <DU2PR08MB732531F03BB6F436FCC79673F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 28fe0530-7edb-4710-1287-08da7c48916d
x-ms-traffictypediagnostic:
	DB8PR08MB4025:EE_|VE1EUR03FT056:EE_|AM6PR08MB3077:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 bdRb5O4axi/Hpcbjnq99o6Yx13/o9c3Te7nXTl0XMT22g1dUIc498JoYBdnpjjdtMK6/jkgBw8UkKsvWyDC5tBoStzrBWq0Ofq3PW99tZKO4NXyens70COWq9E52WkMe8KdZfVr3CEJ8QAdCiLkMEjTHPigyKra0WlXKuxjLQ3J0a7pZ6LvNGM6AzCIBdf5hu37uTn4CpwKy3Dkw4eRD5eDnnUQzblZO+g4rDqWdPawSlNu1sBu5ycGEFIDkO6nnIRZ7mrAGw7Eh5y8GxXA9UR3zeO74t1gtS2LaAE5IKbimU+qjNxb2YBAGT82Nn9zSWgVCmwF5OCMbd18DPIpTCSenjalD+A8B1HRUDoSvlbKx7u/oPW5TqmbSISH6/2QPpDgtFtq+mt2lyNL7ulcAk0jluRhl1xDbmworw5sVEVo6ivCc2xtGLhwaAsUJHkG+PJelOav1885VT2LAOWNbujLidJGGx/fj0y/TXQzdYXy8kS5w1DELTXuls66BOgEDoGO6M0s2iLUuySW7SfCuyHUqvlE5v4rMWQ2Eyo0RdAyARX7iigWShY6omOhPk+0un6k4W+G7GprUSXvr4DKzOLB5NcSIEnaq6aZuvSHAcdWIsWDi4TJN9CQTTLTlV4Q1+iUATApUywVJPa61WUNTlEM8af4EyJQIUWt0vHh6HwnlGWxZTGaE7BnjcIEVEKDmPEJrCIAzYykzTPv/W1HUISGV7RTO8aE+099bcULIKMfrKevZ3/OKvxNa9+prm4lXpbN+k4/sOx6NUY3YZnwKXxPxFtHDK+3avdbPBot9P5+RO/8RC8F/Qax8AjxSeXpAG+lQAkby7kcu/l4f1amuvg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(136003)(346002)(366004)(396003)(110136005)(54906003)(66556008)(66446008)(66476007)(64756008)(8676002)(4326008)(91956017)(76116006)(66946007)(8936002)(41300700001)(5660300002)(36756003)(6506007)(53546011)(6512007)(26005)(186003)(2906002)(2616005)(38070700005)(86362001)(33656002)(83380400001)(71200400001)(478600001)(6486002)(316002)(122000001)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <28954ABC3811FB438BF529F7E028FB46@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4025
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	100e22a0-800c-4947-5dd8-08da7c488c01
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8+AxkhyI8MyV6xe0yQxnHNKRVOvIjKZ1x06MDD3/P1aHPCSZJfBwg6uQVtDiceoNdYJIPOkUiClTySElMepzFaZZus8DDH+YLUx3kqTZ/XbKDla0dWrUPeqEPn+hpPYD+vqKRFe/XRWkFhmsq9zUz3Gvi6EQAUAuN5Zu2b6xfPFKZjahXtFrd/P+hVG/8tajpJWKizQsZTAi6vg8/tYShYziI+TOxU62zKUjwSO9U9hgaG5RFYsBJRbIT9/9o2xoK0+cFwU8Akqua8tdihlMwlC8oYj5NsdMBMPuu1WnU+zjt8GgYGqjJy/bQ5GbegC4U1WABRGEmQlBB2ZYk4FU9UYwI297n8dZ99kaLCqQ4pkzPqH9Vtu4PDk0bugVgkBkn49GjzpHoK+gtVV+41OkbDX+R7xIEts8KsVd8LAqD0ADnbGh1MyKSHQDKfMUS/DYNzKDKUehEN1xWCXyrJDEjOYzhWFcZg8pRD1vM8E4tkctwe1I6O4u4Bg821JmE96slmO4qAISMzV/3QZP1XCpwaqoHFSgGIetMGvRn+5rS9FvAsbk9k1gZuA7k6spd4s+HwLTOeL5h7Ynji3wW31q7NtKBtAiMEWgrN7uylOX4dUKZzcC+kPufWYOaGjI+em8wwsb5FezTbfVpXPzQ+0RTWliCeB9FNTOWIkP0fMMo+0Hfr4+IZA/tJeEOblzhYoRCe6Pig8MTNRqYJ+8zF2fu+KoxEwHMPvQJbKGS87YO5IOaqpKbnI/YRLAopwTPA2d93c6w8A+hrSuP9xo9wYnteXoPj5TTWgw+r6riIVV6PrTsb1RhpEeFede/JSuqqgu
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(346002)(136003)(376002)(40470700004)(46966006)(36840700001)(26005)(356005)(6512007)(81166007)(82310400005)(82740400003)(53546011)(6486002)(40460700003)(8936002)(86362001)(478600001)(5660300002)(6506007)(33656002)(83380400001)(41300700001)(4326008)(8676002)(70206006)(2906002)(70586007)(40480700001)(36756003)(110136005)(54906003)(2616005)(186003)(336012)(47076005)(36860700001)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 09:53:54.4274
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 28fe0530-7edb-4710-1287-08da7c48916d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3077

SGkgUGVubnksDQoNCj4gT24gOSBBdWcgMjAyMiwgYXQgMDk6NTgsIFBlbm55IFpoZW5nIDxQZW5u
eS5aaGVuZ0Bhcm0uY29tPiB3cm90ZToNCj4gDQo+IEhpIGphbg0KPiANCj4+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
DQo+PiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgOSwgMjAyMiA0OjI3IFBNDQo+PiBUbzogUGVubnkg
WmhlbmcgPFBlbm55LlpoZW5nQGFybS5jb20+DQo+PiBDYzogV2VpIENoZW4gPFdlaS5DaGVuQGFy
bS5jb20+OyBBbmRyZXcgQ29vcGVyDQo+PiA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT47IEdl
b3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT47DQo+PiBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsNCj4+IFdlaSBMaXUgPHdsQHhlbi5vcmc+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcNCj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjkgOC84XSB4ZW46IHJldHJpZXZlIHJlc2Vy
dmVkIHBhZ2VzIG9uDQo+PiBwb3B1bGF0ZV9waHlzbWFwDQo+PiANCj4+IE9uIDA5LjA4LjIwMjIg
MTA6MDcsIFBlbm55IFpoZW5nIHdyb3RlOg0KPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t
LQ0KPj4+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+Pj4+IFNlbnQ6
IFR1ZXNkYXksIEF1Z3VzdCA5LCAyMDIyIDM6NTkgUE0NCj4+Pj4gDQo+Pj4+IE9uIDA5LjA4LjIw
MjIgMDk6NTMsIFBlbm55IFpoZW5nIHdyb3RlOg0KPj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn
ZS0tLS0tDQo+Pj4+Pj4gRnJvbTogWGVuLWRldmVsIDx4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54
ZW5wcm9qZWN0Lm9yZz4gT24gQmVoYWxmDQo+Pj4+Pj4gT2YgSmFuIEJldWxpY2gNCj4+Pj4+PiBT
ZW50OiBNb25kYXksIEp1bHkgMjUsIDIwMjIgMTE6NDQgUE0NCj4+Pj4+PiANCj4+Pj4+PiBPbiAy
MC4wNy4yMDIyIDA3OjQ2LCBQZW5ueSBaaGVuZyB3cm90ZToNCj4+Pj4+Pj4gV2hlbiBhIHN0YXRp
YyBkb21haW4gcG9wdWxhdGVzIG1lbW9yeSB0aHJvdWdoIHBvcHVsYXRlX3BoeXNtYXANCj4+IGF0
DQo+Pj4+Pj4+IHJ1bnRpbWUsIGl0IHNoYWxsIHJldHJpZXZlIHJlc2VydmVkIHBhZ2VzIGZyb20g
cmVzdl9wYWdlX2xpc3QgdG8NCj4+Pj4+Pj4gbWFrZSBzdXJlIHRoYXQgZ3Vlc3QgUkFNIGlzIHN0
aWxsIHJlc3RyaWN0ZWQgaW4gc3RhdGljYWxseQ0KPj4+Pj4+PiBjb25maWd1cmVkIG1lbW9yeQ0K
Pj4+Pj4+IHJlZ2lvbnMuDQo+Pj4+Pj4+IFRoaXMgY29tbWl0IGFsc28gaW50cm9kdWNlcyBhIG5l
dyBoZWxwZXIgYWNxdWlyZV9yZXNlcnZlZF9wYWdlIHRvDQo+Pj4+Pj4+IG1ha2UNCj4+Pj4+PiBp
dCB3b3JrLg0KPj4+Pj4+PiANCj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogUGVubnkgWmhlbmcgPHBl
bm55LnpoZW5nQGFybS5jb20+DQo+Pj4+Pj4+IC0tLQ0KPj4+Pj4+PiB2OSBjaGFuZ2VzOg0KPj4+
Pj4+PiAtIFVzZSBBU1NFUlRfQUxMT0NfQ09OVEVYVCgpIGluIGFjcXVpcmVfcmVzZXJ2ZWRfcGFn
ZQ0KPj4+Pj4+PiAtIEFkZCBmcmVlX3N0YXRpY21lbV9wYWdlcyB0byB1bmRvIHByZXBhcmVfc3Rh
dGljbWVtX3BhZ2VzIHdoZW4NCj4+Pj4+Pj4gYXNzaWduX2RvbXN0YXRpY19wYWdlcyBmYWlscw0K
Pj4+Pj4+IA0KPj4+Pj4+IE1heSBJIHN1Z2dlc3QgdG8gcmUtY29uc2lkZXIgbmFtaW5nIG9mIHRo
ZSB2YXJpb3VzIGZ1bmN0aW9ucz8NCj4+Pj4+PiBVbmRvaW5nIHdoYXQgInByZXBhcmUiIGRpZCBi
eSAiZnJlZSIgaXMsIHdlbGwsIGNvdW50ZXJpbnR1aXRpdmUuDQo+Pj4+Pj4gDQo+Pj4+PiANCj4+
Pj4+IEhvdyBhYm91dCBjaGFuZ2UgdGhlIG5hbWUgInByZXBhcmVfc3RhdGljbWVtX3BhZ2VzIiB0
bw0KPj4+PiAiYWxsb2NhdGVfc3RhdGljbWVtX3BhZ2VzIj8NCj4+Pj4gDQo+Pj4+IFBlcmhhcHMg
LSBpZiB3aGF0IHRoZSBmdW5jdGlvbiBkb2VzIHJlYWxseSByZXNlbWJsZXMgYWxsb2NhdGlvbiBp
biBzb21lDQo+PiB3YXkuDQo+Pj4+IFNvIGZhciBJIHdhc24ndCByZWFsbHkgY2VydGFpbiBpbiB0
aGF0IHJlZ2FyZCwgYW5kIGhlbmNlIEkgd2FzDQo+Pj4+IHdvbmRlcmluZyB3aGV0aGVyICJwcmVw
YXJlIiBkb2Vzbid0IGJldHRlciBkZXNjcmliZSB3aGF0IGl0IGRvZXMsIGJ1dA0KPj4+PiB0aGVu
IGl0cyBpbnZlcnNlIGFsc28gZG9lc24ndCByZWFsbHkgImZyZWUiIGFueXRoaW5nLg0KPj4+PiAN
Cj4+PiANCj4+PiBIbW1tbSwg4oCccHJlcGFyZeKAnSB3aXRoIOKAnGRlc3Ryb3nigJ0gaW4gaXRz
IGludmVyc2U/IERvIHlvdSBoYXZlIGFueQ0KPj4gc3VnZ2VzdGlvbiBpbiBtaW5kPw0KPj4gDQo+
PiBUbyBiZSBob25lc3QgSSB3YXMgaG9waW5nIHlvdSB3b3VsZCBtYWtlIGFuIGF0dGVtcHQgYXQg
ZmluZGluZyBhIHN1aXRhYmxlDQo+PiBwYWlyIG9mIHZlcmJzLiBUbyBtZSAiZGVzdHJveSIgaXMg
bW9yZSB0aGUgb3Bwb3NpdGUgb2YgImNyZWF0ZSIsIGFuZCBJJ20NCj4+IHVuYWJsZSB0byB0aGlu
ayBvZiBhIGdvb2Qgb3Bwb3NpdGUgb2YgInByZXBhcmUiIChzaG9ydCBvZiByZXNvcnRpbmcgdG8N
Cj4+ICJ1bnByZXBhcmUiKTsgaWYgSSByZWFsbHkgbmVlZGVkIHRvIGNvbWUgdXAgd2l0aCBzb21l
dGhpbmcgdGhlbiBpdCB3b3VsZA0KPj4gbGlrZWx5IGJlICJjbGVhbnVwIiwgYWxiZWl0IEknZCBu
b3QgYmUgb3Zlcmx5IGhhcHB5IHdpdGggdGhhdCBlaXRoZXIuDQo+PiANCj4gDQo+IE1heWJlIHVu
cHJlcGFyZSBpcyBiZXR0ZXIgaGVyZSwgSSB3YXMgc2VhcmNoaW5nIGxpbnV4IGNvZGUgZm9yIHRo
ZSBoZWxwLCBhbmQNCj4gdGhleSBhcmUgdXNpbmcgcHJlcGFyZS91bnByZXBhcmUgYXMgYSBwYWly
IG9mIHZlcmJzIGEgbG90IGluIGRyaXZlcnMgY29kZXMuDQo+IA0KPiBGb3IgdGhlIHJlbmFtaW5n
IGhlcmUsIEkgc3VnZ2VzdCB0byBmaXggaXQgd2l0aCBhIG5ldyBjb21taXQsIHNpbmNlIGZyZWVf
c3RhdGljbWVtX3BhZ2VzDQo+IGhhcyBhbHJlYWR5IGJlZW4gbWVyZ2VkLg0KDQpJIHRoaW5rIHRo
YXQgdW5wcmVwYXJlIGlzIG9rIGFuZCBpdCBtYWtlIHNlbnNlIHRvIGRvIHRoaXMgaW4gYW4gaW5k
ZXBlbmRlbnQgcGF0Y2guDQoNCkBqYW46IGNhbiB5b3UgY29uZmlybSB0aGF0IHlvdSBhZ3JlZSB3
aXRoIHRoaXMgd2F5IHRvIGdvID8NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 10:05:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 10:05:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385511.621175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRXF-0006QX-U4; Fri, 12 Aug 2022 10:04:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385511.621175; Fri, 12 Aug 2022 10:04:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRXF-0006QQ-RH; Fri, 12 Aug 2022 10:04:57 +0000
Received: by outflank-mailman (input) for mailman id 385511;
 Fri, 12 Aug 2022 10:04:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Hyho=YQ=citrix.com=prvs=2169cd8bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMRXE-0006QK-SI
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 10:04:57 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 357d2b30-1a26-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 12:04:54 +0200 (CEST)
Received: from mail-dm6nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 12 Aug 2022 06:04:47 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5116.namprd03.prod.outlook.com (2603:10b6:5:1e4::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Fri, 12 Aug
 2022 10:04:45 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Fri, 12 Aug 2022
 10:04:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 357d2b30-1a26-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660298695;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=9PX1POnGB790/9++cgaZ2LtwGneW0aZMCffnbsD+9gw=;
  b=icqG+uGM3h/c6Lb8D7jx9tmbdSXFm5N+abc3AX/0b5HqUYZ3m1dqmwjo
   J9OrCUZu6VnFu8W4MMNvmaCkgWbzpJZKI+peO750BW+Pfi0SW331FfLoF
   K3QKeHJaFdGV+OAj2n3uO7C6GPKjS232j8r2+q6IJgk1DbS6KGnd3J+Np
   E=;
X-IronPort-RemoteIP: 104.47.59.168
X-IronPort-MID: 77946482
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+N7ibKML9zbkBpzvrR29lsFynXyQoLVcMsEvi/4bfWQNrUoigmACm
 mVOXj+DM6yMamOnf9gjaojj/U0B68LUn9dkGgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/vZ8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFOx4s9RAWNqercCpN19RkJgz
 sEnMDYkO0Xra+KemNpXS8FKr+F6dozHGd1avXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rr5wCChI1W0q3rMzUYzy0HVwBZ8z/7GN93Nd8bRbc5UglyZt
 iTN+GGR7hQya4POlWTZoijEaunnkiLbSplMP4OC09Uxo3+0nE0+DRcZfA7uyRW+ogvkMz5FE
 GQW8Cczqak59GSwU8LwGRa/pRasoRo0S9dWVeog52ml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2IB5UlqY/7aQ6D+3Zy4cKDZYYTdeFFVVpd7+vIs0kxTDCM55F7K4hcH0Hje2x
 C2WqC85hPMYistjO7iHwG0rSgmE/vDhJjPZLC2OBApJMisRiFaZWrGV
IronPort-HdrOrdr: A9a23:LqPa1K0ouw/0o0UyxtUWfAqjBZpxeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ4uxpOMG7MBDhHQYc2/hdAV7QZnidhILOFvAv0WKC+UyrJ8SazIJgPM
 hbAs9D4bHLbGSSyPyKmDVQcOxQj+VvkprY49s2pk0FJW4FV0gj1XYBNu/xKDwVeOAyP+tcKH
 Pq3Lsjm9PPQxQqR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LoSK05KX8Gx242A5bdz9U278t/U
 XMjgS8v8yYwrCG4y6Z81WWw4VdmdPnxNcGLMuQivINIjGpphe0aJ9nU7iiuilwhO208l4lnP
 TFvh9lFcVu7HH6eH2zvHLWqkfd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ
 g7nF6xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklUqvoXRiKrbzPIt
 MeS/0018wmN29yqEqp51WH9ebcGkjb2C32GnTq9PbliAS+10oJsnfwjPZv4kvosqhNC6Wsrt
 60TJiB3tt1P7ArRLM4C+EbTcStDGvRBRrKLWKJOFziULoKInTXtvfMkfwIDcyRCes1JaEJ6e
 L8eUIdsXR3d1PlCMWI0pEO+hfRQH+lVTCozs1F/ZB2trD1WbKuaES4ORsTutrlp+9aDtzQWv
 61Np4TC/j/LXH2EYIM2wHlQZFdJXQXTcVQsNcmXFCFpN7NN+TRx6TmWeeWIKCoHScvW2v5DH
 dGVD/vJN9Y5kTuQXP8iAi5YQKYRqU+x+MELEH3xZli9GFWDPw8juE8syXL2uibbTtfr6cxYE
 xyZLv6j6LTnxjFwVr1
X-IronPort-AV: E=Sophos;i="5.93,231,1654574400"; 
   d="scan'208";a="77946482"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cVYJ5bSBi+X2O8T7jsndeO5sGxRkUhOfQEr72+hs2Hewqxi5HyYp2VojXQDWvSgVpDkN7ZbDybYQqFl3i8/QARh69ZnsAeeTylPgbybsgJKCRgBO/iAtDgIcFH5HdUB2N9dArHivb/dM6XOHxA0ANBjfvwwvG696KbRLOjrNXS4LhVJ/GqcKjbjxVyyLWb7qBQwaRnRhQQPHYXaINqFyho0esQOZ2F+zMDwX0F8PHF2KxOaLGxwuH6aNcKZczPCVTmRfOpE6vhNVtDivuWX7QozI7Dd1mjh5Pgqf6JAMUQmg9hl6oZ7p1exk/LO6V22k0NSUjSfzg0OlhcsUlgJQWw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9PX1POnGB790/9++cgaZ2LtwGneW0aZMCffnbsD+9gw=;
 b=TbAWan7pf7e5GiSm2wtj5edAJlzYwB13fA0Up2vFhBr/sPvyHMLl+zSPRtKl5rSVQPN2N5NEQuC3J4sNkgTId4S0T3RiGllNxQFGjhgT2iZUIr/7Omv99pOoKkUKz+9ifBF2QJA6vG2gofgie+wKMBvTcSCGNCTOkuKhVfTvPP/JCr4rw3wD3MYYRm1KUvCpXjC4T1kBio9tcyHdGbyRlgBiSXxUxKb8LgJYHpIAQCvjYLyJnEYf9Xk2t/weUMuOb4rcJXoSCb4t3axDvd7jT/TO6GqgSn9rZp/db4NSWoh0WR2OP6fgLPnsfTyw04sk0iJe90J9B3SPH6JE/3Hv4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9PX1POnGB790/9++cgaZ2LtwGneW0aZMCffnbsD+9gw=;
 b=N/8SxbC3DIZVwNjk+6Oy9Sivv3l+v8/SA6plzJUtFHw1wZYCWFS1IWc4M3TELyV1iyu4f6eLu7icxvxuaYapPjo8wblzXqkismosrwf/2yllJnClP+ppO9UWV5PnPkcGACnLko1a1rAzexi3R0z7nZUBKsCWTKBQlGTPb52v93E=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/2] x86/svm: Keep the RAS balanced for guests
Thread-Topic: [PATCH 2/2] x86/svm: Keep the RAS balanced for guests
Thread-Index: AQHYrbzfrT+bJPIlQEuwk4UCdkz8u62q3u4AgAArfAA=
Date: Fri, 12 Aug 2022 10:04:45 +0000
Message-ID: <01c8626b-9fdd-5dcb-c5d9-4042d9df1bb8@citrix.com>
References: <20220811195905.7780-1-andrew.cooper3@citrix.com>
 <20220811195905.7780-3-andrew.cooper3@citrix.com>
 <c7eb68f3-4c86-b033-c57e-bb64fd8729b2@suse.com>
In-Reply-To: <c7eb68f3-4c86-b033-c57e-bb64fd8729b2@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: eb3da512-4b42-4ef7-a3db-08da7c4a1571
x-ms-traffictypediagnostic: DM6PR03MB5116:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 r5gnerrYGvAATzocC5H/Ng/uZydCHawaaC+HlrDFViWS0sXrXLGPYUsr1stJJvewxwpFG33GGzM+CiBctmneWvXH/Zx0iXRwNLZJjaACyFFFkUFtZN+JXzuR27s/FpVc3odAG233YOTZ66IQ8RapDT4hfs5W6+7f/pkEPqTWo7MVqc+tmQgxFZ0j7fg2LIIf4wHWb9lvycLEHyj4gpTAyvOG4yqwqjQoItjdDzc1/9CNCfNkJCG9Z0q9x1QRfHEKZyaY4IWMVc6zYOG+slFtwG6ZWe+DT/OXm6fy8Em0C3q5zmabtjDunHd+Q5uREr8i0+i6Z2Iqh8n7I/BkP1zShMjCF7skXNxcnAaXUxXEwFF2SqRr++rhnzuh0hv7Tl5hn0mvgtWHQ4A2dPW0aROipXo7s8JeTVRa/PfVYJpx6SMSFlAFYmzh+s8XqmwIOwFB61AOOGCCKlhPgiJ1FAit8h1oItKvwGbYW6Vwg3/QI9Mwj6oSikBbsFwB+248JG19QbxtgSV6/UxZ7urKEhN5if857YJXdASg4VJRYmYjPnqEqY7ViKtw/8jWGDCuw+diBYSQZKC7IM6yVNIy6JOMauwRtx1Nmv+WSYzehUqZsBtSMGeK+sQX9AvX5Qlt8goK1i6kB//kFoe9m6B/6VA+sQGYsMQen7Kn+uPjWLE0tyqFzKjQldYIJ9o1p5DsiN+mCR8HHyPa3Tm91w4meKro9KWCyvvc8XxrQ4ELDaaTqFWBM3VNRFN+Fkm+xQ2WHCBGE270TK0qHNYtOcAgOHLSk8m2tNRmXAaulTcAkPAqdqeaZW/gYALWnpPsvJWPDP7gLJmcACvaEDoPaPO/bQshadzbUdmi97EvF80J+mps307JO7OXrfVRYy9PY/5yDBHN
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(39860400002)(366004)(136003)(396003)(38100700002)(6512007)(122000001)(31696002)(26005)(4326008)(38070700005)(6506007)(76116006)(91956017)(66446008)(64756008)(53546011)(66556008)(8676002)(6486002)(478600001)(71200400001)(82960400001)(316002)(41300700001)(66476007)(54906003)(36756003)(2906002)(66946007)(2616005)(186003)(66574015)(5660300002)(8936002)(31686004)(6916009)(86362001)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cXd1bWlPZE1wdm4yZFpsMElCdG91N1NBc3NVTEd0Y3JqaENCTDVjVkdtL0Rv?=
 =?utf-8?B?YTR2akkxMHI3eUY4aFFtVzZmUlF1cktCV2tHcHExOHQ2UE9Oay9VM041azhj?=
 =?utf-8?B?M3E0eUx1MWtjeGlnUGgrb1F3VUZadVpqaFNQbGd4cXN5MU9ZUm5FaHpzV3RE?=
 =?utf-8?B?anNOZy9xVnhhZmZZeXlJclhYbmNLekgzWkhxNWUzU0ZMZjBlTkZ1MS81UXNR?=
 =?utf-8?B?VW5rWEUrSzFzaEVXOUs5M0Jhc0ZSYzRMRUZKOHgzUmVRaE9XTkRDRWhTOWVK?=
 =?utf-8?B?Y1hRa0U2bXg1MHpMMG95ZzVsejVubCswTEhzUm9lZ0tSU2lWYW5malMvVlAv?=
 =?utf-8?B?QU52VVFwdzY2MDJtWW9vcHA1UUN4c2E2eWxRMk1ENnVMTmJRZ29OemVhdUVm?=
 =?utf-8?B?SWJ4NU5Dd1M3VjNYTndKTjFYd3JTakhJdU8xbFZxdVU3RHl5bXdOMWNIZ256?=
 =?utf-8?B?cDdzUEdWSmtlMkhxMDFLYWNPR3NIclp0dDlDMWhEM09SOWVJZ2hhQ0RqUXpn?=
 =?utf-8?B?NmpORWNSRG1ldGNmaXJCbDFSSUlmOHcwZ213bHRnOHpCd2g0ME1qOXlsWEJ1?=
 =?utf-8?B?YTUvSkR2d3BCdTAwVUdaSlcxSzFyYXJ5cWJUemxmRy9HR2dlOFJJOWthNzB5?=
 =?utf-8?B?VmM0NXRNN2RYZWI1RCtXcTd2WVRwdGZVVkxYYyt4TFlDZ2MvS3F4cnEzUnpK?=
 =?utf-8?B?VXJtMEptcmxNQVlTTWpUOURncENnZjlGc1lrai9CeEFkdFdJUTE0aXpTNlVm?=
 =?utf-8?B?TmtSc2E3a3o4bk51VWhHSVoxVTlVWGMyYzMyOVlCM1BRWG9ENTRSRlkzbmNH?=
 =?utf-8?B?eTNuL2NsTmtxUitxTzMxczJ4YUpTcVBDalRmSHAveG5sNEQvUnp5YWJ3dWVK?=
 =?utf-8?B?eUMvN2lVYXd0ZEgxditiTzFvblR5azU5SmVJQUREeEtjdHpHR241dkhZNktL?=
 =?utf-8?B?OTR6OHFGWnE5V2Z0UjJheE1iWU9LSEE3aVJzY09KVGVCVTg3d0p3aUNmQVVu?=
 =?utf-8?B?TFg1THVKSWJBd0VOZ1QzcTJrVGltam5BOGx0MWhvN244TkJqYlRFU3pXdFRu?=
 =?utf-8?B?dHZaK3B1RTV5N3d1dU9EbjFtbktCcGVmTnpGVG5wMzlESE5WMitqbzFJQkd1?=
 =?utf-8?B?WkdIY2RGTmxOcU45d3lROXlLNWt1aDk1S1RHUkNOajA5b1E0WW8vVkFhck5U?=
 =?utf-8?B?MWZVUUxpMXVhMUVqZnZXQWVBME5hQk1UWXhSNy9IN0N1TkpqUkJNTnZGaWhl?=
 =?utf-8?B?ZWgxSGYvdFpyWVJlZ0pDTkw2b3JHYTBrM2Q1ZUtrY2t2Tld0M0NraS93NndS?=
 =?utf-8?B?UUJDWXRQZklNRXZaQ1RrRjhic29jRFllSzY4V2RzVThhUEVNS0NDbmt3WjBw?=
 =?utf-8?B?UWswNHNaWUJFcUh3U2FvSlVvRDB2cnRhVE55NHVsVWo2L3paSURDT2ppdUtH?=
 =?utf-8?B?dFZPSm1tNUFKdGlOTFBLQTRzbG1haHVUTHVySUVJNkJycW9vUmlqM0VLSHdH?=
 =?utf-8?B?ZG1HcXRaSVVvSE5yM0ttdDZLWjhnNWx1OHprcWlCdVh6QjNJSXRaR01yaXFI?=
 =?utf-8?B?bUkwQ000dVFQcXJTUldaL3dXS05pTXlwRGNYZVFWcEFXYkc1SnFDYUJlTmRH?=
 =?utf-8?B?cXJEanltdE5mVEZjS1VzdFdaM3kzbHdQQjhsNGpsNVdyYTh6VVlxQXNycEM5?=
 =?utf-8?B?clFnZXhMM2c4QW5nT3REWlFxZHRSeC9PbmdORjFBRk1RaHZ2NWZSV1p6a1JC?=
 =?utf-8?B?eXc4cWhSVmxGU0dLeDlvRU1KM0JQNkh0QWh5NFRJUW1YbGxKY0xXNFAvbVBt?=
 =?utf-8?B?c3lLSFcwNEQrS0FiVmRTUm1zVUp5N1JlUFE1ZVFKYTdiYXVaeUsrK3pEczQr?=
 =?utf-8?B?dlB6REp6elZGRjFzNTFMN3FiYmxOT3grbyt1Wnh4U2RYTjZSR3lEcy9LUits?=
 =?utf-8?B?RGRvcWo3ME5BK2tVZDBCQmhtTFVPNGRnQ1lhNnUxQVRSWkgrRy9GR2tjN1Rr?=
 =?utf-8?B?eHEyNDBXQlBSaUZMaytPb3RWd1psdWR3a2Y2MFV1cFlSK0ttZlFnNlRITXRk?=
 =?utf-8?B?aFhGVlhrZm9GQittZjArSjNBTUsrR09kSEdHekZsTGtVT09iYWpSdUxvUDIz?=
 =?utf-8?Q?IiDnZCPJ+grbL5oU1lTmjXI10?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D732444E170A0345A4607884191A921C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Tt1dJpyARq1IDl54cN8tRR4S105uIF1TREhw8PkK7wgrItsr4eHQngmvCphDGb9qnGWI1IbqV+CN5yPBspDY+71kUrYSP3mPyfMmZkrm2Mqw3t8Jr5F8jNRqnEZJ3bB9Kjjv98nS5YrGgZKwGiB/uTWxZ8lJHqJ5iYLB236qC5gdGPUZRvD1YEosuUJrgNfX6SQqKL8wJO4A4yCWdDGqJN+/G3dJOM9M4RojnudCbFyEYSWW3UmGVW4YzXfoPy/q5UI920ALhPEkXWZDgmWn8LBIocxrf6nfsQElE9PJbbtw0GyPy5WRC0WMiATCMX9zcBMAWKMkQ0+yBAEpIDMwYaiyejgZ/PnTpZGu5JFIZfjedclJJgSo2ZdNI6ZviqKzb/S4wtkfGCPwz38UQ6s18C5dQi3B1kiQELwSbj8CkOD/a41VhJMhqXsXy7XLTpa0AwWZQzApJGi23unHlA6pGRL/cKNknyupdzOUves0ko7nnZm0riLAc99lG/Qkd8BZKvlHVrLH8ZrQpC5CIvgy9Xekbck/qF+t9adaQf92id69qTS/NZZCJPqh8aTcwifZs2DzALGCrgOSk110LVvzCxWy9Q1HyZGDpUoKvaGs/BdmO0j4x4CJkg5LAwrmThAq+TnbqRtlBBtGqT7RraSrzSwgAd4lyZXL32ArwWt1xebECYOLIh8iUDXYzRGLBNxoQlHXzTEuOo3oyiI2YcXFx0BLPmPOH5OcBv8cDyB9PF2j97fasYWC75RaidCuocObgp/Hvd6BnZg58ET4RqXVUcZsOFrlYK1Pv1E7q0tNuv9GRM5T9gnInJSNIc1Rn5II
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb3da512-4b42-4ef7-a3db-08da7c4a1571
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2022 10:04:45.5227
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: oXlxiYrQkqzJxbA+xyY8AoPFKaa8MnL7xyNCM4dLKGLsGLmGXn7MRDcBydRqR/4IS3y91Ffjn7CuANOMuClEI2fjyOIebRg00bXyzAZqVuE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5116

T24gMTIvMDgvMjAyMiAwODoyOSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDExLjA4LjIwMjIg
MjE6NTksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbmUgc291cmNlIG9mIGxvc3QgcGVyZm9y
bWFuY2Ugd2FzIHRoYXQgZmFjdCB0aGF0IHRvIHByb3RlY3QgWGVuIGZyb20gYQ0KPj4gbWFsaWNp
b3VzIGd1ZXN0cywgd2UgaGFkIHRvIGZsdXNoIHRoZSBSQVMuDQo+Pg0KPj4gSXQgdHVybnMgb3V0
IHRoYXQgQ0VUIFNoYWRvdyBTdGFja3MgZ2l2ZSB1cyBlbm91Z2ggYXJjaGl0ZWN0dXJhbCBndWFy
YW50ZWVzIHRvDQo+PiBjb25zdHJ1Y3QgYSBsb3dlciBvdmVyaGVhZCBtaXRpZ2F0aW9uLCB3aGlj
aCBrZWVwcyB0aGUgUkFTIGJhbGFuY2VkIGZvciB0aGUNCj4+IGd1ZXN0IHNvIHRoZWlyIHJldHVy
biBwZXJmb3JtYW5jZSBpcyBzdGlsbCBnb29kLg0KPj4NCj4+IFRvIGtlZXAgdGhlIFJBUyBiYWxh
bmNlZCwgWGVuIG11c3QgZXhlY3V0ZSB0aGUgc2FtZSBudW1iZXIgb2YgQ0FMTHMgYXMgUkVUcw0K
Pj4gYWNyb3NzIG9uZSBWTWV4aXQtPlZNRW50cnkuICBXaXRob3V0IENFVC1TUywgd2UgY291bGQg
YWNoaWV2ZSB0aGlzIGZhaXJseQ0KPj4gZWFzaWx5IHdpdGggYSBgY2FsbDsgYWRkICQ4LCAlcnNw
YCBhbmQgYHB1c2g7IHJldGAgcGFpciwgYnV0IHRoaXMgaXMgbm90IGxlZ2FsDQo+PiB1bmRlciBD
RVQtU1MuICBJbiBmYWN0LCBDQUxMIGlzIHRoZSBvbmx5IHNoYWRvdyBzdGFjayAicHVzaCIgb3Bl
cmF0aW9uIHdlDQo+PiBoYXZlLCBhbmQgd2UgY2FuJ3QgdXNlIGl0IGEgc2Vjb25kIHRpbWUgaWYg
d2UgaW50ZW5kIHRvIGtlZXAgdGhlIFJBUyBiYWxhbmNlZC4NCj4+DQo+PiBJbnN0ZWFkLCB3ZSBr
ZWVwIGEgcmVhbCByZXR1cm4gYWRkcmVzcyBvbiB0aGUgc3RhY2suICBUaGlzIG1lYW5zIHRoYXQg
Zm9yIHNvbWUNCj4+IG9mIGVudHJ5LlMsICVyc3AgY29uZGl0aW9uYWxseSBkb2Vzbid0IHJlZmVy
ZW5jZSBDUFVJTkZPLg0KPj4NCj4+IFRoaXMgbmVjZXNzaXRhdGVzIHN3YXBwaW5nIHRoZSBjdXJy
ZW50IG9yZGVyIG9mIERPX09WRVJXUklURV9SU0IgYW5kDQo+PiBzdm1fdm1leGl0X3NwZWNfY3Ry
bDsgd2hpbGUgdGhleSBkb24ndCBoYXZlIGFueSBzcGVjaWZpYyBvcmRlcmluZw0KPj4gcmVxdWly
ZW1lbnRzLCBwdXNoX29uZV9yYXMgbmVlZHMgdG8gY29tZSBhZnRlciBzdm1fdm1leGl0X3NwZWNf
Y3RybCBvciBlbHNlIHdlDQo+PiBuZWVkIHNvbWUgdmVyeSBpbnZhc2l2ZSBjaGFuZ2VzIHRvIGZp
eCB1cCB0aGUgJXJzcCBjaGFuZ2VzLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29w
ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+PiAtLS0NCj4+IENDOiBKYW4gQmV1bGlj
aCA8SkJldWxpY2hAc3VzZS5jb20+DQo+PiBDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1
QGNpdHJpeC5jb20+DQo+PiBDQzogV2VpIExpdSA8d2xAeGVuLm9yZz4NCj4+DQo+PiBSRkMgZm9y
IGEgY291cGxlIG9mIHJlYXNvbnMuICBUaGlzIGRvZXMgZnVuY3Rpb24gY29ycmVjdGx5LCBidXQg
SSBzdGlsbCB3YW50DQo+PiB0byBkbyBtb3JlIHBlcmYgdGVzdGluZy4NCj4gQXMgcGVyIGZ1cnRo
ZXIgZG93biB5b3UgbWVhbiB0byBzYXkgaXQgZnVuY3Rpb25zIGNvcnJlY3RseSB3aXRob3V0IHRo
ZQ0KPiB1c2Ugb2YgYWx0ZXJuYXRpdmVzLiBBbmQgZXZlbiB0aGVuIChzZWUgYmVsb3cpIEkgc3Vw
cG9zZSBpdCBkb2Vzbid0DQo+IGZ1bmN0aW9uIGNvcnJlY3RseSB3aXRoIG5vIChvciB1bnVzZWQp
IENFVC1TUyBidXQgQ09ORklHX1hFTl9TSFNUSz15Lg0KDQpJIGNhbWUgdG8gcmVhbGlzZSB0aGF0
IGFmdGVyIHNlbmRpbmcgdGhhdCwgdW50aWwgd2UgZ2V0IG5lc3RlZA0KYWx0ZXJuYXRpdmVzLCBJ
IGNhbid0IG1ha2UgaXQgZnVuY3Rpb24gY29ycmVjdGx5IGZvciB0aGUNCmNvbmRpdGlvbmFsbHkt
bm90LUNFVC1TUyBjYXNlIHdpdGhvdXQgZG9pbmcgdGhlIGZ1bGwgbW92L3Jkc3NwcS9jbXANCnNl
cXVlbmNlLg0KDQpXaGlsZSB0aGF0J3MgcG9zc2libGUsIEknbSBub3QgaW5jbGluZWQgdG8gYWRk
IHRoZSBzaXplIG92ZXJoZWFkIGZvciBhDQpjYXNlIEknbSBub3Qgc3VyZSBpcyBzYWZlLg0KDQpT
bywgdGhlIGFsdGVybmF0aXZlIHRvIHR1cm4gdGhpcyBvbiBpcyBnb2luZyB0byBzdHJpY3RseSBk
ZXBlbmQgb24NCkNPTkZJR19YRU5fU0hTVEsuDQoNCkF0IHNvbWUgcG9pbnQgd2hlbiBuZXN0ZWQg
YWx0ZXJuYXRpdmVzIGFwcGVhciwgd2UgY2FuIHJlbGF4IHRoZQ0KcmVxdWlyZW1lbnQsIGlmIHRo
ZXJlIGlzIGEgZGVzcGVyYXRlIHdpc2ggZm9yIHRoZSBwZXJmIGltcHJvdmVtZW50IGluDQp1bmNl
cnRhaW4gc2FmZXR5IGNvbmRpdGlvbnMuDQoNCj4NCj4+IFNlY29uZGx5LCBYODZfRkVBVFVSRV9B
TFdBWVMgaXMgY2xlYXJseSBub3Qgb2sgZm9yIGNvbW1pdHRpbmcuICBJJ20gc3RpbGwNCj4+IGRl
YmF0aW5nIHdoZXRoZXIgdG8gbWFrZSB0aGlzIGNvbnN0cnVjdCBhdmFpbGFibGUgaW4gIUNFVC1T
UyBjYXNlcy4NCj4+IE1lY2hhbmljYWxseSwgaXRzIGZpbmUsIGJ1dCB0aGUgc2FmZXR5IGFyZ3Vt
ZW50cyBkZXBlbmQgb24gQ0VULVNTIGJlaW5nDQo+PiBhY3RpdmUuDQo+IEknbSBhZnJhaWQgaXQn
cyBub3QgZW50aXJlbHkgY2xlYXIgd2hhdCB5b3UgbWVhbiBoZXJlLCBub3Igd2h5IHlvdSd2ZSB1
c2VkDQo+IFg4Nl9GRUFUVVJFX0FMV0FZUyBpbiB0aGUgZmlyc3QgcGxhY2Ugd2hlbiB3ZSBoYXZl
IFg4Nl9GRUFUVVJFX1hFTl9TSFNUSy4NCg0KSXQgY2FuJ3QgZGVwZW5kIG9uIFg4Nl9GRUFUVVJF
X1hFTl9TSFNUSyBiZWNhdXNlLCBsaWtlIHRoZSBQQlJTQiBjYXNlIG9uDQpJbnRlbCwgSSB3YW50
IGEgd2F5IGZvciB0aGUgdXNlciB0byBzd2l0Y2ggYmFjayB0byBzdHVmZjMyIGlmIGl0DQpzdWJz
ZXF1ZW50bHkgdHVybnMgb3V0IHRoYXQgSSd2ZSBzY3Jld2VkIHVwIGluIHRoZSBzYWZldHkgcmVh
c29uaW5nLg0KDQo+IElmICJ0aGlzIGNvbnN0cnVjdCIgaXMgcHVzaF9vbmVfcmFzLCB0aGVuIHRo
ZSBtZXJlIHVzZSBvZiBXUlNTUSByZXF1aXJlcw0KPiBpdCB0byBub3QgYmUgdXNlZCBiYXNlZCBv
biBhIHJ1bnRpbWUgY2hhcmFjdGVyaXN0aWMsIG5vdCBqdXN0IGEgYnVpbGQNCj4gdGltZSBvbmUu
IEhlbmNlIGFmYWljdCB5b3UgY291bGQgYXMgd2VsbCBwdXQgdGhlIGVudGlyZSBtYWNybyBib2R5
IGluIHRoZQ0KPiAjaWZkZWYgdGhhdCBjdXJyZW50bHkgZW5jbG9zZXMgb25seSB0aGUgQ0VULVNT
IGluc25zLg0KDQpXaGF0IEkgbWVhbiBpcyB0aGF0ICJ0aGlzIiBpcyBmYXN0ZXIgdGhhbiBzdHVm
ZjMyLCBhbmQgbWlnaHQgYmUNCiJhY2NlcHRhYmx5IHNhZmUiIGZvciBzb21lb25lIGVpdGhlciBv
biBCVEMtdnVuZXJhYmxlIGhhcmR3YXJlLCBvciBuZXdlcg0KaGFyZHdhcmUgYnV0IHdpdGggQ0VU
LVNTIGV4cGxpY2l0bHkgdHVybmVkIG9mZi4NCg0KVGhhdCBzYWlkLi4uDQoNCj4+IEluIHByaW5j
aXBsZSwgb24gQ1BVcyB3aGljaCBkbyBub3Qgc3VmZmVyIEJyYW5jaCBUeXBlIENvbmZ1c2lvbiwg
eW91IG1pZ2h0IGJlDQo+PiBhYmxlIHRvIHJlYXNvbiBhIGRlZmVuY2UtaW4tZGVwdGggYXJndW1l
bnQgdGhhdCBpZiBhbiBhdHRhY2tlciBjYW4ndCBjb250cm9sDQo+PiBpbmRpcmVjdCBzcGVjdWxh
dGlvbiwgdGhlbiB0aGV5IGNhbid0IGJ5cGFzcyB0aGUgMS1zdHVmZiBzYWZldHkgZWl0aGVyLCBi
dXQNCj4+IHRoZSBvbmx5IEFNRCBDUFVzIG5vdCB2dWxuZXJhYmxlIHRvIEJUQyBoYXZlIENFVC1T
UyBhbnl3YXkuDQo+IFlldCBwZW9wbGUgbWF5IGhhdmUgcmVhc29ucyB0byB0dXJuIG9mZiBpdHMg
dXNlLg0KDQouLi4gSSB2aWV3IHRoaXMgYXMgYSBwZXJmIGltcHJvdmVtZW50IG9ubHkuDQoNCkFz
IHN1Y2gsIEknbSBlbnRpcmVseSBoYXBweSB0byBzYXkgdGhhdCBpdCdzIG9ubHkgYXZhaWxhYmxl
IGluIHRoZSBjYXNlDQp3aGljaCBpcyBlYXN5IHRvIGRvLCBvdWdodCB0byBiZSB0aGUgY29tbW9u
IGNhc2UsIGFuZCBpcyB0aGUgY2FzZSB3aGljaA0KSSdtIGNvbmZpZGVudCBpcyBzYWZlLg0KDQpJ
ZiBwZW9wbGUgd2FudCBpdCBpbiBvdGhlciBjYXNlcyB0b28sIHRoZXkgY2FuIHNlZSBhYm91dCBo
ZWxwaW5nIG5lc3RlZA0KYWx0ZXJuYXRpdmVzIGFsb25nLi4uDQoNCj4+IFRoaXJkLCBJJ2QgbGlr
ZSBzb21lIGVhcmx5IGZlZWRiYWNrIG9uIGhvdyBjbGVhciBpdCB0aGUgbG9naWMgaXMgZ2l2ZW4g
dGhlDQo+PiBjb25kaXRpb25hbCBuYXR1cmUgb2YgJXJzcCBub3QgcmVmZXJlbmNpbmcgQ1BVSU5G
Ty4NCj4gSXQncyBhc3NlbWJseSBjb2RlLCB0b3VjaGluZyBvZiB3aGljaCBuZWVkcyBleHRyYSBj
YXJlLiBUYWtpbmcgdG9nZXRoZXINCj4gdGhlIHNpemUgb2YgdGhlIGVudGlyZSBmaWxlIChxdWl0
ZSBzbWFsbCkgYW5kIHRoZSBjb21tZW50cyB5b3UgYWRkLCBJJ2QNCj4gc2F5IHRoYXQncyBmaW5l
Lg0KDQpUaGF0J3MgZ29vZC7CoCBJdCB0dXJuZWQgb3V0IHRvIGJlIGZhciBsZXNzIGludmFzaXZl
IHRoYW4gSSBmZWFyZWQuDQoNClRoZSBtYWpvciBvYnNlcnZhdGlvbiB3aGljaCBhbGxvd2VkIGZv
ciB0aGlzIHdhcyB0aGF0IGl0IGRvZXNuJ3QgbWF0dGVyDQp0cnlpbmcgdG8ga2VlcCB0aGUgUkFT
IGJhbGFuY2VkIGltbWVkaWF0ZWx5IGFmdGVyIHNjaGVkdWxlLCBzbyB3ZSBkb24ndA0KbmVlZCB0
byBwbGF5IGdhbWVzIHdpdGggcmVzZXRfc3RhY2tfYW5kX2p1bXAoKSB0byB0cnkgYW5kIGV4ZWN1
dGUgb25lDQpmZXdlciBDQUxMLg0KDQo+PiBGb3VydGgsIHRoZSBhbHRlcm5hdGl2ZXMgbG9naWMg
KEkgdGhpbmspIG5lZWRzIGltcHJvdmluZyB0byBub3QgZml4IHVwIGENCj4+IGRpcmVjdCBDQUxM
L0pNUCBkaXNwbGFjZW1lbnQgaWYgdGhlIGRlc3RpbmF0aW9uIGlzIHdpdGhpbiB0aGUgcmVwbGFj
ZW1lbnQNCj4+IGxlbmd0aC4gIEkgZGlkIHRoZSBmdW5jdGlvbmFsIHRlc3RpbmcgYmVmb3JlIHdy
YXBwaW5nIHRoaW5ncyBpbiBhbHRlcm5hdGl2ZXMuDQo+IFllcywgdW5sZXNzIHlvdSB3YW50IHRv
IHByZWZpeCB0aGUgQ0FMTCB3aXRoIGEgcmVkdW5kYW50IGluc24gcHJlZml4IHRvDQo+IGhpZGUg
aXQgZnJvbSB0aGUgZGlzcGxhY2VtZW50IGFkanVzdG1lbnQgbG9naWMuDQoNCkhtbSwgdGhhdCBz
aG91bGQgd29yaywgYnV0IGlzIHVnbHkuDQoNCkhvbmVzdGx5LCBJIHRoaW5rIEknZCBwcmVmZXIg
dG8gdGFrZSB0aGUgdGFrZSB0aGUgdGltZSB0byBzdGFydCBkb2luZyBhDQpib290IHRpbWUgc2Vs
Zi10ZXN0IGZvciBhbHRlcm5hdGl2ZXMsIGFzIHBlcnQgdGhlIFNNQyB0ZXN0aW5nDQppbXByb3Zl
bWVudHMsIGJlY2F1c2Ugd2UgZGVzcGVyYXRlbHkgbmVlZCB0aGlzIGZvciBzbyBtYW55IG90aGVy
IHJlYXNvbnMNCnRvby4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 10:08:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 10:08:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385520.621186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRaL-00076R-H8; Fri, 12 Aug 2022 10:08:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385520.621186; Fri, 12 Aug 2022 10:08:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRaL-00076K-ES; Fri, 12 Aug 2022 10:08:09 +0000
Received: by outflank-mailman (input) for mailman id 385520;
 Fri, 12 Aug 2022 10:08:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Og4R=YQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oMRaK-000769-Ay
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 10:08:08 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9357b2b-1a26-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 12:08:07 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 879F7350DB;
 Fri, 12 Aug 2022 10:08:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3374413AAE;
 Fri, 12 Aug 2022 10:08:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9flUC4Ym9mJTUgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 12 Aug 2022 10:08:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9357b2b-1a26-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660298886; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=NVDaw5p6vNmZ1enCOm+8lhIUA8xJXt69X+TrhCsmmOs=;
	b=sZXDfUc1QdR7k+JAv4/a6LESF14+YRl+Gca69T3ek3RPBP315/oT1/6hqB/32mWvHlpKFM
	ibVaptRHK9fqjQ30jXbckue5efWgUFRdUnyd7Re6XwVexRLg4VzkyyUCx1v+/g6V0cyimT
	IdUYqMWuNsY1k/0VvkLKdn+xRf7nOpY=
Message-ID: <0fe2bac3-1002-62d0-b016-ec0aab5136af@suse.com>
Date: Fri, 12 Aug 2022 12:08:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v4 0/3] xen-blk{back,front}: Fix two bugs in
 'feature_persistent'
Content-Language: en-US
To: SeongJae Park <sj@kernel.org>, roger.pau@citrix.com
Cc: axboe@kernel.dk, boris.ostrovsky@oracle.com, olekstysh@gmail.com,
 andrii.chepurnyi82@gmail.com, mheyne@amazon.de,
 xen-devel@lists.xenproject.org, linux-block@vger.kernel.org,
 linux-kernel@vger.kernel.org, stable@vger.kernel.org
References: <20220715225108.193398-1-sj@kernel.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220715225108.193398-1-sj@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------szlUbWexBBD0WsyUA303s8ws"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------szlUbWexBBD0WsyUA303s8ws
Content-Type: multipart/mixed; boundary="------------zNXfOtpsK813uOMQ0CgwDvnS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: SeongJae Park <sj@kernel.org>, roger.pau@citrix.com
Cc: axboe@kernel.dk, boris.ostrovsky@oracle.com, olekstysh@gmail.com,
 andrii.chepurnyi82@gmail.com, mheyne@amazon.de,
 xen-devel@lists.xenproject.org, linux-block@vger.kernel.org,
 linux-kernel@vger.kernel.org, stable@vger.kernel.org
Message-ID: <0fe2bac3-1002-62d0-b016-ec0aab5136af@suse.com>
Subject: Re: [PATCH v4 0/3] xen-blk{back,front}: Fix two bugs in
 'feature_persistent'
References: <20220715225108.193398-1-sj@kernel.org>
In-Reply-To: <20220715225108.193398-1-sj@kernel.org>

--------------zNXfOtpsK813uOMQ0CgwDvnS
Content-Type: multipart/mixed; boundary="------------t9UXksdrowSK7pI6N0fKWlL9"

--------------t9UXksdrowSK7pI6N0fKWlL9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDcuMjIgMDA6NTEsIFNlb25nSmFlIFBhcmsgd3JvdGU6DQo+IEludHJvZHVjdGlv
biBvZiAnZmVhdHVyZV9wZXJzaXN0ZW50JyBtYWRlIHR3byBidWdzLiAgRmlyc3Qgb25lIGlz
IHdyb25nDQo+IG92ZXJ3cml0ZSBvZiAndmJkLT5mZWF0dXJlX2dudF9wZXJzaXN0ZW50JyBp
biAnYmxrYmFjaycgZHVlIHRvIHdyb25nDQo+IHBhcmFtZXRlciB2YWx1ZSBjYWNoaW5nIHBv
c2l0aW9uLCBhbmQgdGhlIHNlY29uZCBvbmUgaXMgdW5pbnRlbmRlZA0KPiBiZWhhdmlvcmFs
IGNoYW5nZSB0aGF0IGNvdWxkIGJyZWFrIHByZXZpb3VzIGR5bmFtaWMgZnJvbnRlbmQvYmFj
a2VuZA0KPiBwZXJzaXN0ZW50IGZlYXR1cmUgc3VwcG9ydCBjaGFuZ2VzLiAgVGhpcyBwYXRj
aHNldCBmaXhlcyB0aGUgaXNzdWVzLg0KPiANCj4gQ2hhbmdlcyBmcm9tIHYzDQo+IChodHRw
czovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMjAyMjA3MTUxNzU1MjEuMTI2NjQ5LTEt
c2pAa2VybmVsLm9yZy8pDQo+IC0gU3BsaXQgJ2Jsa2JhY2snIHBhdGNoIGZvciBlYWNoIG9m
IHRoZSB0d28gaXNzdWVzDQo+IC0gQWRkICdSZXBvcnRlZC1ieTogQW5kcmlpIENoZXB1cm55
aSA8YW5kcmlpLmNoZXB1cm55aTgyQGdtYWlsLmNvbT4nDQo+IA0KPiBDaGFuZ2VzIGZyb20g
djINCj4gKGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8yMDIyMDcxNDIyNDQx
MC41MTE0Ny0xLXNqQGtlcm5lbC5vcmcvKQ0KPiAtIEtlZXAgdGhlIGJlaGF2aW9yYWwgY2hh
bmdlIG9mIHYxDQo+IC0gVXBkYXRlIGJsa2Zyb250J3MgY291bnRlcnBhcnQgdG8gZm9sbG93
IHRoZSBjaGFuZ2VkIGJlaGF2aW9yDQo+IC0gVXBkYXRlIGRvY3VtZW50cyBmb3IgdGhlIGNo
YW5nZWQgYmVoYXZpb3INCj4gDQo+IENoYW5nZXMgZnJvbSB2MQ0KPiAoaHR0cHM6Ly9sb3Jl
Lmtlcm5lbC5vcmcveGVuLWRldmVsLzIwMjIwMTA2MDkxMDEzLjEyNjA3Ni0xLW1oZXluZUBh
bWF6b24uZGUvKQ0KPiAtIEF2b2lkIHRoZSBiZWhhdmlvcmFsIGNoYW5nZQ0KPiAgICAoaHR0
cHM6Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsLzIwMjIwMTIxMTAyMzA5LjI3ODAyLTEt
c2pAa2VybmVsLm9yZy8pDQo+IC0gUmViYXNlIG9uIGxhdGVzdCB4ZW4vdGlwL2xpbnV4LW5l
eHQNCj4gLSBSZS13b3JrIGJ5IFNlb25nSmFlIFBhcmsgPHNqQGtlcm5lbC5vcmc+DQo+IC0g
Q2Mgc3RhYmxlQA0KPiANCj4gTWF4aW1pbGlhbiBIZXluZSAoMSk6DQo+ICAgIHhlbi1ibGti
YWNrOiBBcHBseSAnZmVhdHVyZV9wZXJzaXN0ZW50JyBwYXJhbWV0ZXIgd2hlbiBjb25uZWN0
DQo+IA0KPiBTZW9uZ0phZSBQYXJrICgyKToNCj4gICAgeGVuLWJsa2JhY2s6IGZpeCBwZXJz
aXN0ZW50IGdyYW50cyBuZWdvdGlhdGlvbg0KPiAgICB4ZW4tYmxrZnJvbnQ6IEFwcGx5ICdm
ZWF0dXJlX3BlcnNpc3RlbnQnIHBhcmFtZXRlciB3aGVuIGNvbm5lY3QNCj4gDQo+ICAgLi4u
L0FCSS90ZXN0aW5nL3N5c2ZzLWRyaXZlci14ZW4tYmxrYmFjayAgICAgIHwgIDIgKy0NCj4g
ICAuLi4vQUJJL3Rlc3Rpbmcvc3lzZnMtZHJpdmVyLXhlbi1ibGtmcm9udCAgICAgfCAgMiAr
LQ0KPiAgIGRyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2sveGVuYnVzLmMgICAgICAgICAgICB8
IDIwICsrKysrKysrLS0tLS0tLS0tLS0NCj4gICBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9u
dC5jICAgICAgICAgICAgICAgICAgfCAgNCArLS0tDQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCAx
MSBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkNCj4gDQoNCkZvciB0aGUgc2VyaWVz
Og0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoN
Ckp1ZXJnZW4NCg==
--------------t9UXksdrowSK7pI6N0fKWlL9
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------t9UXksdrowSK7pI6N0fKWlL9--

--------------zNXfOtpsK813uOMQ0CgwDvnS--

--------------szlUbWexBBD0WsyUA303s8ws
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL2JoUFAwAAAAAACgkQsN6d1ii/Ey+Y
vAf/W9Zv8JzlafFxgkSemVJjs++2j5yl9eNLRXRPUIuesj6vJMsPb8uHJ0H5z2Rcg6+cmOGDIfFP
fyaamCoxQNFGfoqltM5fNRPENQ/m2EVFj84Rrxk1XpweX5W6v3jbMPOsaCQYM3dFRwNMmaCzAjZu
U0VwAiiKJDtcJaBoRBQ0+LEhuGVj72dnVcOIW2xjjJUa9kDq7MQBzuiX4AsHWyiJKHplFLWOazQU
02+BDUMl9QnPkRPUWMgCdSUzi+sl+kpMp7r3crCasG3lUb+8IXjS8JlxIZVasR3NckN4JHMyHJad
e2LSWs15iGFn+tpjEU6iAMArT5Mx6fXgXo5ztg3WXw==
=gaCM
-----END PGP SIGNATURE-----

--------------szlUbWexBBD0WsyUA303s8ws--


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 10:10:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 10:10:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385529.621198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRd0-0008TG-Um; Fri, 12 Aug 2022 10:10:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385529.621198; Fri, 12 Aug 2022 10:10:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRd0-0008T9-Rw; Fri, 12 Aug 2022 10:10:54 +0000
Received: by outflank-mailman (input) for mailman id 385529;
 Fri, 12 Aug 2022 10:10:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMRd0-0008Sz-0X; Fri, 12 Aug 2022 10:10:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMRcz-0007hc-UM; Fri, 12 Aug 2022 10:10:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMRcz-00074B-F2; Fri, 12 Aug 2022 10:10:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMRcz-0001Kq-Ea; Fri, 12 Aug 2022 10:10:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CUidLG8pt0btVdCEI6+yyzoRZ0pMl1lp6lSEunpKRCk=; b=VA1w6SONJXGGUFBGNXjC0Ph4Gz
	h/pPWtyU5M5+wuoGG1o1mosFAQZ2GMk5ZmLisNkp6GUYWBMUY8pByIQ9te4zP25LQgymnmIc7Js+c
	Rf/BmSEOLxiwmV48I+E3Y1UT+fhLz4wh8ehXuVfsErLTO378huP2OzJadBiLtIL8R67c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172415-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172415: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0c614af4a73b77baf1d711c68b8ee0278d7a97a6
X-Osstest-Versions-That:
    xen=3eb1865ae305772b558757904d81951e31de43de
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 10:10:53 +0000

flight 172415 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172415/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172390
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  0c614af4a73b77baf1d711c68b8ee0278d7a97a6
baseline version:
 xen                  3eb1865ae305772b558757904d81951e31de43de

Last test of basis   172390  2022-08-11 16:04:54 Z    0 days
Testing same since   172415  2022-08-12 07:01:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Rahul Singh <rahul.singh@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3eb1865ae3..0c614af4a7  0c614af4a73b77baf1d711c68b8ee0278d7a97a6 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 10:22:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 10:22:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385541.621209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRoJ-0001X9-2P; Fri, 12 Aug 2022 10:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385541.621209; Fri, 12 Aug 2022 10:22:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMRoI-0001X2-VL; Fri, 12 Aug 2022 10:22:34 +0000
Received: by outflank-mailman (input) for mailman id 385541;
 Fri, 12 Aug 2022 10:22:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Hyho=YQ=citrix.com=prvs=2169cd8bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMRoH-0001Ww-4z
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 10:22:33 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab6ad19c-1a28-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 12:22:31 +0200 (CEST)
Received: from mail-mw2nam12lp2044.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 12 Aug 2022 06:22:28 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5118.namprd03.prod.outlook.com (2603:10b6:208:1af::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 12 Aug
 2022 10:22:25 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.020; Fri, 12 Aug 2022
 10:22:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab6ad19c-1a28-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660299751;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=VkWM/VENhM/uTnPmoiN2dQjsGAICGS3Kb3d/rvy8paI=;
  b=EsgVSPTu19tcdAnC0k5/ExcBvuStuT3EisLGTv78OOw6kjk3TvTm1A9w
   cD3Ebabkt/kextE664LU7BohMkB8dvV0MhS2DlR9MchixoYtJfYUQHbC9
   gX+jJ1szPwnrCqYpHaGiBCtidcMBm0PDoXhFrDR2p5AldFQVlR4Rmx9aY
   U=;
X-IronPort-RemoteIP: 104.47.66.44
X-IronPort-MID: 77951374
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AT6NVXKktzv/VmE5PYL9QSFzo5mJPLRO4T7NN2?=
 =?us-ascii?q?KgyY2vmR7AEGURwNzJs89viY1XMGPRfL3Py3WupzRYxVX4lji++r92TOSDQ9?=
 =?us-ascii?q?sz0v5ui+AYdo8p35YNINiYNwqifp0DMlqbu0vX3w0J0ZQ1mKKGczYTfCzpcr?=
 =?us-ascii?q?ik6qLoy99qJoNBFhWB/NkawKX5/c5yZDssTevAtRAUBmpLnJe3rGo617GDyy?=
 =?us-ascii?q?gE48hLSnbZ4qIzjP6Hy6QRBBnTUm8rb3cZQHQ5G1RoFBOjQqJF8i+HfPw1jL?=
 =?us-ascii?q?++are4xUN+ob+ZtZ7paJBa8cy91f35kZlWd64HsuqiiOycm+75YhDMQS8arA?=
 =?us-ascii?q?wRSlhR0J8zVRfTP7qnVSpk4GboEqBs+N6SZxYr7ZMaljG6wxgo2lzJATy+tt?=
 =?us-ascii?q?58VwVUEuvuxYHyuudqglvEsflkSuTNMED1rjNvRRzEfegFTp7GsZazsOFxWY?=
 =?us-ascii?q?vMZ2PquPoJ4WWNqVTUfFOkhKTsLyau5dFL9jdICZioAzw3NisET0hl/M3nzh?=
 =?us-ascii?q?vFQzC4qDGyFSxoqrGy56zSzcEUEzsP3v1Eczi3VmBW1XQ9G11ypNoPPCAijH?=
 =?us-ascii?q?f94PafkaGprd9FFF02aNlvzGznCMW2fpXKJDjVix2Z5CQ0ZacLC+pgTxmVBX?=
 =?us-ascii?q?hUly59ht9hiPqBpCO6wK9wwD+nRQV01jbNX9OwAw4URtbcDu/+WXaCshoYh8?=
 =?us-ascii?q?QI+tRwWxaDX0oiwUCSYtcxsNMs0PNFI7Rf/P8Z51rgV395cYNgTHwSn345i5?=
 =?us-ascii?q?OHWpIaqR/E/OweBs9Ao/n1UXspvt/G9m5UNuzCyxjj+ZMKYoBsEW/rdusQhS?=
 =?us-ascii?q?FzJOY09F/HoPy5HjyCO9dnseWxk6R8iWJZPGJMqUVA3NeKk0qndWdzVk0G4T?=
 =?us-ascii?q?WulHg1QKlJHKcjeizMfYQJ3AGLj7L5oqaX1yLXUZFhmLDWi72smSYAkXuXsk?=
 =?us-ascii?q?HFyw8YwkV6ScHJbk3T5M5hCIAAgdJ8XojNAFqku+H8mkG0YFvPfnTxlJGFav?=
 =?us-ascii?q?MWI+dFgU9m54Nap1iyGUyXoJx12B4JUeBExg60qPbWm142Ic3RZqhS6shljm?=
 =?us-ascii?q?TuTUsWOo0OkiIvl3q5lWiYe1iIG0Bcs8uuMqqFXa5y1RhJJxlxWya/FdZmO7?=
 =?us-ascii?q?E7wmwNmNQ7Ib17IvdtWVNR3p4O0D7C5sqVS0m8Tzr3zuAbGeaGCxN2mze9is?=
 =?us-ascii?q?Y5hBOFvk7o0oRpTPvKF/vLrRCx4yUtd2VfcRtIFDBZBvXfZGOBCWOaFhRQXz?=
 =?us-ascii?q?sKZGyEtAa19irFGNfpKk1ya7hmRs0jBt8X3jGwzxSUfgkcZ3X/+RlR7qlsp2?=
 =?us-ascii?q?/bJikoHN9+XRUQ2aHCzrq5CCLTwVsw8p3cKtJGjfh3VtOV+5iCFshI1SvSx8?=
 =?us-ascii?q?t3OJ4xL13man89R70YZoI9sYh/G23k6fr1YoMnoqzC8LxQkxBjEtsmj3Q/tF?=
 =?us-ascii?q?JWaZTh4GdfXJ5LTj19SBdLZpUgAustoU1mO4o8aOs3Sr95G+Tq/V0RPHJ78T?=
 =?us-ascii?q?Q145Og6GfvnJEa43Ebs/Ge9lz8uMik4HT0E0U7BcnqNcu+0fbuWQ+VKvc9IP?=
 =?us-ascii?q?bm6pS5wft0WbZrpRTzMTC+SRReVzn6Z/34Z+JToOyqOPU4xwajfX2OcIelQ1?=
 =?us-ascii?q?6Fx0eCKk+H9spoyapkb/3VLY7x8jAe8bZNa0bKnYbVPss5QcyfnVBNS9h6mP?=
 =?us-ascii?q?KEqWoLC/FexAFeDe5OCEC1rQY1etxqiap8y5aaDKT30q4GLDmf00/86Sa16r?=
 =?us-ascii?q?boPqFk8r10lyvq7g2ZXtJp4sDtic/CXM5r+2cG7PnrIsy6hJks4nN9eetUji?=
 =?us-ascii?q?adB8jaHzLEGwIRwkVdD0vVFmY6sjPty/k8h9JvpjsEgvOaRaJ82ti23LjTj9?=
 =?us-ascii?q?R6KIog+kXaewdV0MB8N6CKmNKcvPISaGGqUUVydTvTE1uchD/vZ7joPGzH8k?=
 =?us-ascii?q?/DnSHIsp+WP/4SPYVDo8WJNTchOXR4WKRGA6PvIRiWXWoUUeX66NTFTy7gqH?=
 =?us-ascii?q?3mwe86tJvq4DyGZNMNQP8UH0S1oBqlIOgP88nKoCHyCcQQXJSvHG5jnaBzvx?=
 =?us-ascii?q?63EkMzkl2v9PKd4cMt7vXXMGZs8v6agXtqyJaSZ0N6zt9LfqLk1mrdmQecyI?=
 =?us-ascii?q?dvfVkcusACSElvIQN4uclhs0Ck7/pkYKkHSfIXbob8HAQ5iVYlfuJSftLkbN?=
 =?us-ascii?q?T7uAtx6Ev9PRDHik+xTBTpomDRikLnixZa6BLbIoFHeJpEHzEXFzryNMuCRK?=
 =?us-ascii?q?F69lnowm3NI7mkWq4JJJOjUjxKTqbYsKs317ymvYTwALtFQ/XhhpdS43+tty?=
 =?us-ascii?q?J11rrYRxn+ZBPOtks/ra0WbjzU+CVYOQKF7Yl3JYY/7F0+4GBrOJXdn2VsP0?=
 =?us-ascii?q?57FJUe25B8hBjDL6js=3D?=
X-IronPort-AV: E=Sophos;i="5.93,231,1654574400"; 
   d="scan'208";a="77951374"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ACGsSNwtkYOM6DWTGlt6EfM6aS1GLL16gaxUXqEAYPMDfdvR99ieiWjF4qi1vmsh2kaebtxcvmu1YFE3u7+rjLph4Cx7Xfw2aoq2QaWVZawYOLhoVwabIsachKUDWn6zYwvMhvEsJlED0m2M04BBBpWdcVHeBG3Jh8jGwcFytXid3Ox2ugjWOXd945ll7yNCg6h99TPiR/jE6mbTxu32GLAXqr9W1kIVm6Fx2XbBOOGcjgNMa7rXPuIIIYHeNWuS0X1zgYqvY1CsENhyL53SU8y6B90Q777aI0J8P5bLyjQC1e3Czv/kp0s481MHsgt5d1DqrJyvYQLGT/DsFMA8Gw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VkWM/VENhM/uTnPmoiN2dQjsGAICGS3Kb3d/rvy8paI=;
 b=G6k9tdWXGY8rqS84VVguBQuOYrCITRvw2GpC1OGrnTD14rHL9GyT4lSCn6vPuFmbvJzXDKgfeeyVJ2VrVaK2CfpPKPFZNmPvPTxBy8BKBoKsTtFKtq8c6birHfjACEgqpQAMUL6xasVcYBM3X2qdrbiUXvhffjBWIH1kFktN/5olVpLKdMhf6OjUnpXRY3ZroSKlupiirdRl9eeg1ECWd9Ukpp1g3BRJsH4vclHH+ATxUeBDrEERyK0ghiul4Qw7vFy0ZTDUAl+Iw2z23DRQRTA/ovA37uGWockG/XiAKi9CkivSNn5rE2aR+0rN1IOvAp540U5iuu6ryAtB23dtiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VkWM/VENhM/uTnPmoiN2dQjsGAICGS3Kb3d/rvy8paI=;
 b=dnKFBhzpB4rtrtdDmqWYcGQcHOkoh6AnnjH9QNDXxN7s1JIQr+N0YlwH9a9rFZX87pkTjJnMihC0BbZy5a1cDKHtM1Fm6kwPVopNKfWEfL9uRIx8fFUxkVbvdZ7BHI/Cv0y3iXxkCSKUX3Bm62rBZV+L8vi+GO5JnpPHSzOKOgI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/msi: Switch msi_info to using pci_sbdf_t
Thread-Topic: [PATCH] x86/msi: Switch msi_info to using pci_sbdf_t
Thread-Index: AQHYraDAO1BrPwl+zkW5rB84Wzymza2q0tqAgAA8uAA=
Date: Fri, 12 Aug 2022 10:22:25 +0000
Message-ID: <498b0a64-4049-00cc-76b5-a1a1aead72c9@citrix.com>
References: <5379b4bb-76c9-d7be-4bd7-2f75dde470a8@suse.com>
 <20220811163740.31494-1-andrew.cooper3@citrix.com>
 <82a9cb69-3a32-3bab-c28a-889bc11570aa@suse.com>
In-Reply-To: <82a9cb69-3a32-3bab-c28a-889bc11570aa@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3838fecb-4920-44a5-b7d9-08da7c4c8d1f
x-ms-traffictypediagnostic: MN2PR03MB5118:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 gXFaTjyt3RGqnhyTNfKm/Xk0S7ca27jk5W2fyOvUdBeZRvpE5NZc+KCc8cuJxm7m3D9cWF5y4BPIYIppIPxwfXGmznalxvvXubmPf7PhVajj0dMCAS/LJORt435Zmw9qAoTcS0kD0GbrMKZUk6plNVJLrlGTMhoH1nIHqtrYNbRrVpta3ibeVfC/n7iUoe1un4+JE8PGFYyMGiS1DcF2iw6rEbRm9nigYivkpyEPsR07/DpTluVkvD0D0pJ1WDvFILCRR1TWXc4Hcp3L53E3XqyYlaIEF8UIW91BOHTEYyyvP9ElPm5DKVoauFvycti/YRpX5+fazWzwaCwEtplTtvuUEsBWAwXe+ZnDKX6JsMm3wqG28XeDuqtfj26/1o5m78kBxgTjySHsDLiTsYU7CvsntsHojloW6tL2NWAotp1Zx76HY0uXDYp75TJDjnImWzaY6+gmrFFKxE1I1/0w5HBj12dFKO4vUiKSgLeLAcdnpY3fDrfq4bXJgkRLHfhZvNKrLrkXYr0c9JRKrAvgn5ZUbJUkoTXndppUwqb7J1QlMEv/qhX9SzdkjUFBgY0Iy38fM7PKeVrb8cYKfQ7w/xUpqRZZzXdVB52W2YfcixB0zYt0fT41uSt5+enq3M6WXJfiTlbXVkKoaFA83I1UVCU5zH/EIqk6b+EZbWpUnMvAA9NIqiB5us6peRJoc3EzZn9j3v31+5L8sdAwbFKobdAJpj+X8fGAuOKWvfv0nYRPbO773hNaXMkjB327SQgFGhHvvjXj2zJ5xqzLxMZpx0Sf1mq4+sgCoDajBhYI/1GaQ+WdZ0oiaC39aqFvlCzUvx80hOw4A13BaflYcymmEnKaf+KHmuDUt+Bivzhh0L+8Nyl/A7daohNXgRj51uPI
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(39860400002)(136003)(396003)(366004)(6486002)(4326008)(64756008)(478600001)(66476007)(66556008)(76116006)(8676002)(6916009)(186003)(66946007)(91956017)(82960400001)(53546011)(54906003)(66446008)(6512007)(41300700001)(26005)(6506007)(31696002)(86362001)(2616005)(38070700005)(316002)(71200400001)(36756003)(122000001)(31686004)(38100700002)(8936002)(4744005)(83380400001)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UUVudCtlb1V0Mzd3cCtBaHFXem5MUkMxQ0M1ekl2YmtYeDRDNjRHdGMzWXYz?=
 =?utf-8?B?TU9SQkFsbi9GZ1hTNnVUcXp0dCtXS1NHVkFFbGFoYTNEOUpRVlJ4c3VWVlp0?=
 =?utf-8?B?c1BPd3h4Nk9reEs4dHZaQ0w1cWF0b1VyOUExUUNEc1ZqYjMybjkrSFZEN0FH?=
 =?utf-8?B?d2l6WkhKWHRSaDRLbS8vdkQwemdRbkZrYkVlaXRIT0NRQjNNZVRpSnFER1Jw?=
 =?utf-8?B?blRyWUdheGhuM0tIQ3Fab0wzTktJditRSDNHTEhJZ2pjb2kwOURCY3VnaTJR?=
 =?utf-8?B?dW9SUUxlUUlDTUFXSHlHeVMyclVqcjByYWlENlh1YVNONFRhUUFEVWk1SU5x?=
 =?utf-8?B?b29yWXQ4ZFVpLzIrV2FNWkxuNHZWK3VlSHRLVW00ZzNMbVN4aGFVNGRVTlNz?=
 =?utf-8?B?K2srM1k0eTZURVRzZmV1VGJ2S2R0elExdW5HdXdiRmtzS0ErVUprdjFMU25J?=
 =?utf-8?B?RU8veW5BUVVzWlhlQ0ROOVd2SktRb2xvcGJRT09jaEhjeU9yNWlxZmlEMEZW?=
 =?utf-8?B?dkRVdDBQSkJqdmhuL2RmNEo4Y016MGNLeVNqeEZkTFhnYnFkWEZVNUZDdWVa?=
 =?utf-8?B?aWUwWUI2UmdDWkpyOEhydlpUeXIrT0hMOS9PRnBJSEtYM0RDbm04aFB2WWpL?=
 =?utf-8?B?d29RemVlRnlmcXRLR1RNM2pyenhzU2NOTzlJcDBnNmtoZEdMUFBpNk92eEty?=
 =?utf-8?B?QUJqcWJMZGs3c0lUUEVnbGk2eWJpV01ELzBtZGErWnBtTUY0VSttd2xPSkxU?=
 =?utf-8?B?SmRUZzBKWnZ4UjJHRVpjaHMzcWRCVi80ajlYbnRiRERnblgzc3dPQkF4UlA2?=
 =?utf-8?B?enYwS2pzVERXZ2FIUHFWM1czTmhEK1V6T0Zrd2VVbjVaaGZzcWhHUHBPUTkz?=
 =?utf-8?B?NkJDL3FBT3czd20yWmN4Z3MvbmwrOGZTZFdTRHFzcXFlKzFXSE9qdmxYZXh4?=
 =?utf-8?B?R2FOWmVqQ3BhNmppb2Q4c2xhSXZQTXJ1Q1BLMmQ0Ynp2K2tIWktzSThjMFN0?=
 =?utf-8?B?V3plbmxUZlliYndkTjMyeEJSSUFYRTV2cnBsT1FNNGhOeWxDMW4yNlRZTkdw?=
 =?utf-8?B?UlMvZ1hkNE96L3VlUlJTMlNRMzFnWVRmZTBoZS8xMHZENnVvTXVENEN1Z3Vn?=
 =?utf-8?B?a3VITzBTTDNVT2NWMGovRUphVUJubGk5ZXhmZWxLQUx6bXE0MU4zUXpJYklS?=
 =?utf-8?B?YzBPY2dFL2V3MmZzMXc0K0o0WVRQa1FJVE8vZmdabkRVZUx4TU42c2VEUDdC?=
 =?utf-8?B?Um5CR3Z2ZkhjYjh6TVd6bFYxVXp2Z2ZtQVhuVWNOblR5eXRzYXkzcDdVQ1By?=
 =?utf-8?B?OEtDMG40VTBlVnVCWFpEREwvZ2RBWENKTFo3SVZaSXAyaU9uZTNwWUpNSjg2?=
 =?utf-8?B?RDVRQmVGdWZqNnVuMHVmRldkaVIwcE1FWkYrNVBtcjIzR1I5dzhidkNpeS9L?=
 =?utf-8?B?YXhYS2k2V2FHa0MrQVlBS29uV2pySnVaclFISWtiM0k2Y3Q2ZkZ4djZnRjIy?=
 =?utf-8?B?dE5DVC8zTHlLbko4OStDUCtXM0FDTHlnQVduVEF2VHVxN1BnSGVEU2d1T3hF?=
 =?utf-8?B?Y1k4SHdxSmV5S2JDZldTRFp3SEpRY0VRKy9Gbno2eVFGZDk5dTVORk1sTDE2?=
 =?utf-8?B?eS9ocEZxTXZCMWZHUHMrSTZBaXRHeVVNUXlWWi9tUnJLTjUveTA1QnMza3BW?=
 =?utf-8?B?K3Q3MXVsa1F6WXBIcmd4ZGxjcm1VL1dWd3diQlVGb1BrY011UkJweTBFR3ZR?=
 =?utf-8?B?OFNiYU1LemM3cmFmSWlIWXpPZ0c3cUcxbEEvMUMyTndRa0JxRmEzZ0hFT0Fq?=
 =?utf-8?B?OXBLSkRnSW1RSytjMVg0VVlJUmFnRFFCYTBENlpIaFBQdzBnZFlkRXZ2eWpm?=
 =?utf-8?B?eVVQQ00xZ0pNQWJkeERWN3VwNU9HdUZOTklmcEttUUplSXZ1NWVTdkdINzdi?=
 =?utf-8?B?QUt2ZFdtV0JpZWM5NTRuQXdDRmJoZTB0b2l0NnNkd0hhMXRNMEVHNEpSc1N1?=
 =?utf-8?B?RTRacDhoMGZzRS83U0pVMFk0OXJGaE5CaVZGTldKbVdVN2FkSlN0Y3RyMVBB?=
 =?utf-8?B?bEF0N2x1NitTM25nS3grL2tSUmNySDdVMzlvMUU4MGJWOU04UEM2MmM5L1Q5?=
 =?utf-8?Q?Hu+44ddH696aXuKAt86yNDZ4R?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <59C4141DCA281447A98D1DFDC0D560F0@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	QW3KMOQb3Od695gogeFiAIESZCONfXQhkns8Hbnl8LeHdogoHePg98rNXzNY5K+4AYKMbcxd59Cem6dZgThWb4oohHkf2iUTRFkx7AK4leEvEmHOl77VADQqFZSQBeKZl5OwQHZf0g1qLUs8ZuAniCeUVPEQ979XJxvy/jufzK9XR8x19x9VqDJfaWySDog7uRjbsvSbAJ8DVG6tp6ah1KlbIfCeYcHKdWqUB9tEDGBI0g3UhfxcSCtUjE6IMDgyHLoqCxzmjTrioKmr684b2p7ugH1/fm7PJxFDIEkNOwOOXHmNUcMlN8iWH3uV/TciLanNAKTeRWgE6d3HEzqZjEWAMKT1hP+PsRMSJ5PZGchBzM032oBX4+vK/FHgw46SfEOd98jDr29hQCeaauvQ/lhxfOqLWqjyUVHimtXHGvzMEAa3VthN0QvH0neMPiG7gmlXfpuG1+fgJOUK4RVH3oM0pvFotf0npJn9s0JYYC79uDgw36CzgcrC0c57fpME0pUF0pgWiGIDFqyVEFb8XR9Kou8DlDy23j4kRICGDQQe5uX4KpPW4Y0vC64hqWf/6qsaU919CxLb5HsGTVLQ8ZDL/L5bUyaJw40k6QjIjZeofibvE3HmKUIlzJCEIPRP9jSx29arwxNlrgxTPplynzZlKDkJ2Gbu9wViNcxE9NR6bjhpo+UdADwFeUMesoJrAwHcZDepMfqS0kXNq0HLQm3vA6qwuBzitSIZS+1usAprZ3JR9gCJzt+ctItMy4WS+iG5dQ75GNPTfFv7OeXLnxaAfK43IsMIKPunJhmAQGZhRGJ/nvC5O74IuocWEjsE
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3838fecb-4920-44a5-b7d9-08da7c4c8d1f
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2022 10:22:25.2746
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: JL8Z7SBaPMrffOGTdqgweopyrK47oy9TPKFEeji7GB1fz4V5bnbHt2z36MN+45CUMWs67Fx1/agOtVLhyvleGviiujM2dY/Yo5uq7h5Q4ZY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5118

T24gMTIvMDgvMjAyMiAwNzo0NSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDExLjA4LjIwMjIg
MTg6MzcsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBUaGlzIHJlb3JkZXJzIHRoZSBmaWVsZHMg
aW4gbXNpX2luZm8sIGJ1dCByZW1vdmVzIGFsbCB0aGUgdW5kZXItdGhlLWhvb2QNCj4+IHBhcmFt
ZXRlciBzaHVmZmxpbmcgcmVxdWlyZWQgdG8gY2FsbCBwY2lfZ2V0X3BkZXYoKS4NCj4+DQo+PiBO
byBmdW5jdGlvbmFsIGNoYW5nZS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiBPaCwgeW91J3ZlIG1hZGUgdGhlIHJlcXVl
c3RlZCBjaGFuZ2UgeW91cnNlbGYgLSB0aGFua3MhDQoNCkkgbG9va2VkIGF0IHRoZSBjb2RlIGFu
ZCBkZWNpZGVkIGl0IHdhcyBzaW1wbGUgZW5vdWdoLg0KDQpXaGlsZSBkb2luZyBpdCwgaXQgYmVj
YW1lIGNsZWFyIHRoYXQgdWFydC0+cHNfYmRmWzAuLjJdIGlzIGluIGRlc3BlcmF0ZQ0KbmVlZCB0
b28sIGJ1dCB0aGF0IHdhcyBtb3JlIGNvbXBsaWNhdGVkIHRoYW4gSSBoYWQgdGltZSBmb3IuDQoN
Cj4gUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KVGhhbmtz
Lg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 10:50:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 10:50:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385551.621220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMSF2-0004z2-8v; Fri, 12 Aug 2022 10:50:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385551.621220; Fri, 12 Aug 2022 10:50:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMSF2-0004yv-69; Fri, 12 Aug 2022 10:50:12 +0000
Received: by outflank-mailman (input) for mailman id 385551;
 Fri, 12 Aug 2022 10:50:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMSF1-0004yp-LM
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 10:50:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMSF1-0008LV-Bg; Fri, 12 Aug 2022 10:50:11 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[192.168.11.5])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMSF1-00027z-5p; Fri, 12 Aug 2022 10:50:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=q7Ldn9AW7yoaFT/XHS5437Hk+jnBJuJdy2NvhHIWVrw=; b=DPHzb8NmWGhnzuewtYkzO/xUbn
	B9nYXDCitQRxZj/sow4xY4abQEjuNQjtPppKouWRXo7ZcXJrpDMIHQTdav0BEqMlCcMTPvNuUiCfl
	xN09bBXlnJUUY4qJ6upMGxDVPQLvjhePCY3998RffobkAw+bj+pZM4K7ancsflLYsMEI=;
Message-ID: <bd71b8af-5f88-8c01-b653-cfbce7e2ace5@xen.org>
Date: Fri, 12 Aug 2022 11:50:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
 <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
 <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
 <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 08/08/2022 12:31, Juergen Gross wrote:
>>> And even with using an ID you'd have the same problem
>>> again, but without having the possibility to add variant specific quota
>>
>> Fair enough.
>>
>>> (remember that there already has been a statement that doing a live 
>>> update
>>> from C to OCAML or vice versa would probably break users due to some
>>> deviations in behavior)
>> I can't find such statement in public documentation. Do you have a link?
> 
> No, not really. IIRC this was a remark of Andrew back when we introduced
> LU of Xenstore. It might even have been at the time the discussion was
> only on the security ML.
> 
> Note that "users" doesn't need to imply guests, it might be related to
> dom0 side users, like e.g. XAPI.

I understand that "users" doesn't imply guests. Hovewer, it is still not 
quite clear to me what sort of behavior the application could rely on 
here. Is it related to the transaction?

Anyway, I think it would be good to document such behaviors because they 
don't seem to be obvious.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 10:56:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 10:56:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385563.621236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMSLJ-0005fM-2q; Fri, 12 Aug 2022 10:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385563.621236; Fri, 12 Aug 2022 10:56:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMSLI-0005fF-WB; Fri, 12 Aug 2022 10:56:41 +0000
Received: by outflank-mailman (input) for mailman id 385563;
 Fri, 12 Aug 2022 10:56:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Og4R=YQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oMSLH-0005f9-Nx
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 10:56:39 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6feceb22-1a2d-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 12:56:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DB0882041B;
 Fri, 12 Aug 2022 10:56:36 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9AE5B13305;
 Fri, 12 Aug 2022 10:56:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rghUJOQx9mJoaAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 12 Aug 2022 10:56:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6feceb22-1a2d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660301796; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Zuoa2xO47g6XI92DEFL9YIR7Juqd1ZyKsTUon0Wq/BM=;
	b=VmcMyy2AfT2G4ma/LFhpjHLHcqm7VYYYXFovhrBs6UtRZ0TUqZ5RxsfdNgBR2Bf0uFHTSO
	BdsE3MLNUEMsaV2qBn7VhOp6p4EZFTBW1OAE6Zc2F5zM4XlI48aKJcuG67kKuECwEfBAKm
	WeS5o0WOYZ19LYTfAQQB93zDnCIjeIw=
Message-ID: <1455f58e-f035-083d-c1bb-13bafb45f933@suse.com>
Date: Fri, 12 Aug 2022 12:56:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
 <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
 <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
 <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
 <65772df3-a462-65fe-864e-d613d32c76e0@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
In-Reply-To: <65772df3-a462-65fe-864e-d613d32c76e0@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------rFQ2e3qeYUmBk8zTUrLXh0XB"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------rFQ2e3qeYUmBk8zTUrLXh0XB
Content-Type: multipart/mixed; boundary="------------Ddh7u3VWKQU0vof09wjsWzly";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Message-ID: <1455f58e-f035-083d-c1bb-13bafb45f933@suse.com>
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
 <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
 <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
 <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
 <65772df3-a462-65fe-864e-d613d32c76e0@xen.org>
In-Reply-To: <65772df3-a462-65fe-864e-d613d32c76e0@xen.org>

--------------Ddh7u3VWKQU0vof09wjsWzly
Content-Type: multipart/mixed; boundary="------------315qE0e1J5bSnYby0JCPozov"

--------------315qE0e1J5bSnYby0JCPozov
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTIuMDguMjIgMTE6MTMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDA4LzA4LzIwMjIgMTI6MzEsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAwOC4wOC4yMiAxMzowMCwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+PiBUaGlzIHdvdWxk
IGJyZWFrIHRoZSB1c2Ugb2YgeGVuc3RvcmUtc3R1YmRvbSBmb3Igc3VjaCBhIHNldHVwLg0K
Pj4+DQo+Pj4gSSBhbSBub3Qgc3VyZSB3aHkgaXQgd291bGQgYnJlYWsgdGhlIHVzZSBvZiB4
ZW5zdG9yZS1zdHViZG9tLiBBbiBhcHBsaWNhdGlvbiANCj4+PiB3aWxsIGFscmVhZHkgbmVl
ZCB0byBjb3BlIHdpdGggdGhlIGNhc2UgWGVuc3RvcmVkIGRvZXNuJ3Qgc3VwcG9ydCBhIGZl
YXR1cmUuDQo+Pg0KPj4gU29tZW9uZSByZWx5aW5nIHRvIGJlIGFibGUgdG8gc3dpdGNoIG9m
ZiBhIGZlYXR1cmUgb24gYSBzb2NrZXQgY29ubmVjdGlvbg0KPj4gbWlnaHQgZ2V0IGludG8g
dHJvdWJsZSB0cnlpbmcgdG8gZG8gdGhlIHNhbWUgd2hlbiBydW5uaW5nIHdpdGggeGVuc3Rv
cmUtc3R1YmRvbS4NCj4gDQo+IFRoaXMgaXMgbm90IHZlcnkgZGlmZmVyZW50IGZyb20gYW4g
YXBwbGljYXRpb24gdGhhdCB3YXMgYnVpbHQgYWdhaW5zdCBhbiBvbGQgDQo+IFhlbnN0b3Jl
ZCBhbmQgd291bGQgbm90IGJlIGNhcGFibGUgdG8gdGFsayBwcm9wZXJseSB3aXRoIHRoZSBu
ZXcgWGVuc3RvcmVkIGlmIA0KPiB0aGUgZmVhdHVyZSBpcyBlbmFibGVkLiBJIHVuZGVyc3Rh
bmQgdGhhdC4uLg0KPiANCj4+IFN3aXRjaGluZyBhIGZlYXR1cmUgb2ZmIHdpbGwgZWl0aGVy
IG5vdCB3b3JrLCBvciBzd2l0Y2ggdGhlIGZlYXR1cmUgb2ZmIGZvciBhbGwNCj4+IGRvbTAg
Y29ubmVjdGlvbnMgKHdoaWNoIGlzIGEgc2luZ2xlIG9uZSwgb2YgY291cnNlKS4NCj4gDQo+
IC4uLiB3aGVuIHVzaW5nIHhlbnN0b3JlLXN0dWJkb20geGVuc3RvcmVkIGl0IG1lYW5zIHRo
YXQgdGhlIGZlYXR1cmUgd2lsbCBoYXZlIHRvIA0KPiBiZSBkaXNhYmxlIGZvciBhbGwgZG9t
MCBjb25uZWN0aW9ucy4NCg0KV2FpdCwgSSBkb24ndCB0aGluayB3ZSBjYW4gZXZlciBhZGQg
ZmVhdHVyZXMgd2hpY2ggd2lsbCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mDQpYZW5zdG9yZSB3
aGVuIHRob3NlIG5ldyBmZWF0dXJlcyBhcmVuJ3QgYmVpbmcgdXNlZCBhY3RpdmVseS4gVGhl
IG5ldyBmZWF0dXJlcw0Kc2hvdWxkIGFsd2F5cyBiZSBvbiB0b3Agb2YgdGhlIGV4aXN0aW5n
IGZ1bmN0aW9uYWxpdHkuDQoNCj4gSG93ZXZlciwgaXQgc2VlbXMgdW5saWtlbHkgdG8gbWUg
dGhhdCBzb21lb25lIHdpbGwgc3dpdGNoIHRvIGEgeGVuc3RvcmUtc3R1YmRvbSANCj4gb24g
YSB3aGltIGJlY2F1c2UgdGhlcmUgYXJlIGFsc28gc2NhbGFiaWxpdHkgY29uY2VybnMgKG9u
ZSByaW5nIHRvIHJ1bGUgYWxsIA0KPiBjb25uZWN0aW9ucykuIFNvIEkgdGhpbmsgaXQgd291
bGQgYmUgZmFpciB0byBzYXkgdGhhdCB5b3VyIGFwcGxpY2F0aW9uIG1heSBuZWVkIA0KPiB0
byBiZSB0d2VhayBpZiB5b3UgYXJlIG5vdCB1c2luZyB0aGUgc2FtZSBmZWF0dXJlIGFzIHRo
ZSBzeXN0ZW0uDQoNCk5vLCB0aGlzIHNob3VsZCBuZXZlciBiZSB0aGUgY2FzZSBJTU8uIFNl
ZSBhYm92ZS4NCg0KPiANCj4+DQo+Pj4gQXQgd2hpY2ggcG9pbnQsIGl0IHdvdWxkIGJlIGVh
c3kgdG8gc2F5ICJJIGRvbid0IHdhbnQgdGhpcyBmZWF0dXJlIiB3aGVuIA0KPj4+IHVzaW5n
IGEgc29ja2V0Lg0KPj4NCj4+IEkgZG9uJ3Qgc2VlIHRoZSB2YWx1ZSBvZiB0aGF0LiBJZiB5
b3UgZG9uJ3Qgd2FudCBhIGZlYXR1cmUsIGp1c3QgZG9uJ3QgdXNlIGl0Lg0KPiANCj4gVGhp
cyBpcyBub3QgdGhhdCBzaW1wbGUuIFlvdXIgYXNzdW1wdGlvbiBpcyB0aGUgZmVhdHVyZSB3
aWxsIG5vdCBjaGFuZ2UgdGhlIA0KPiBiZWhhdmlvciBleHBvc2VkIHRvIHRoZSBhcHBsaWNh
dGlvbi4NCg0KQ29ycmVjdC4NCg0KPiANCj4gSSBkb24ndCB0aGluayB3ZSBoYXZlIHN1Y2gg
ZmVhdHVyZSB0b2RheSBidXQgSSBkb24ndCBzZWUgd2hhdCBwcmV2ZW50cyB1cyB0byBkbyAN
Cj4gdGhhdC4NCg0KQ29tcGF0aWJpbGl0eSBwcmV2ZW50cyB1cyBkb2luZyB0aGF0Lg0KDQpJ
ZiB3ZSB3YW50IGRpZmZlcmVudCBiZWhhdmlvciwgd2UgbmVlZCB0byB1c2UgZGlmZmVyZW50
IG9yIGV4dGVuZGVkIGNvbW1hbmRzDQooZS5nLiBsaWtlIHRoZSBhZGRpdGlvbmFsICJkZXB0
aCIgcGFyYW1ldGVyIG9mIFNFVF9XQVRDSCkuDQoNCg0KSnVlcmdlbg0K
--------------315qE0e1J5bSnYby0JCPozov
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------315qE0e1J5bSnYby0JCPozov--

--------------Ddh7u3VWKQU0vof09wjsWzly--

--------------rFQ2e3qeYUmBk8zTUrLXh0XB
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL2MeQFAwAAAAAACgkQsN6d1ii/Ey/G
wAf/bVMhGVyUjk5gDT4qyGzbfA3EmhYd0Z85Mw6UEYxYoaBmLxJgXHrBCVX34iD12qpkgNy7ZbiM
fkHIJ8K0QHucA91K0qxoz5pcOmcl774gyWNfseXKVm9zsOIrBqXgDhnZ/lvEwwKpCOyFrTZioH7y
lQBGERZ1KqO2Di0eJ2I+OoYVOa+neBm2rtOP+ifw1fImhG8nBIS9n8qw6kjwJdBLkehY+NCI8VXu
V/7l1aJJH5DJYj5bBX1ot11OD/i3Hml7on3d9sw4AoeLbWmuW8v5mWUleqiMKNZ1fl9Fj/i3aDzp
OaPZvHcaZseNMiVI3RpIdB5g3csoH7f6bsBs4slllA==
=PIU5
-----END PGP SIGNATURE-----

--------------rFQ2e3qeYUmBk8zTUrLXh0XB--


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 11:00:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 11:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385571.621248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMSP6-00075v-K1; Fri, 12 Aug 2022 11:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385571.621248; Fri, 12 Aug 2022 11:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMSP6-00075o-GA; Fri, 12 Aug 2022 11:00:36 +0000
Received: by outflank-mailman (input) for mailman id 385571;
 Fri, 12 Aug 2022 11:00:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMSP5-00075e-A4; Fri, 12 Aug 2022 11:00:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMSP5-00006r-5k; Fri, 12 Aug 2022 11:00:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMSP4-0001w6-Ui; Fri, 12 Aug 2022 11:00:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMSP4-0007so-UF; Fri, 12 Aug 2022 11:00:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=hgpq0s9ekKk4f2UjjZVyNuachu84Jks4VRG3YXc37FE=; b=3xbkGeryzeXYM02Y2ZYG8VQVPo
	Gze40bbcKRrGF8QtWTnYTD2W7CHLiwLatdcUEMlw7qJZLH7yWYCCxl1agawxJ1kE2RxaKeOYsyuTn
	bSMiB4u1DZb2jga7x6bwNvxardkDr4Nl2FR9e/APkbqNdX8nM3jjhxy/ZvePjnG3jpJE=;
To: xen-devel@lists.xenproject.org
Subject: [qemu-mainline bisection] complete build-armhf-libvirt
Message-Id: <E1oMSP4-0007so-UF@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 11:00:34 +0000

branch xen-unstable
xenbranch xen-unstable
job build-armhf-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172352/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/build-armhf-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-mainline/build-armhf-libvirt.libvirt-build --summary-out=tmp/172418.bisection-summary --basis-template=172123 --blessings=real,real-bisect,real-retry qemu-mainline build-armhf-libvirt libvirt-build
Searching for failure / basis pass:
 172389 fail [host=cubietruck-gleizes] / 172123 [host=cubietruck-braque] 172103 ok.
Failure / basis pass flights: 172389 / 172103
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/osstest/ovmf.git#0dc9b78a46813d61533b2bb0f7ef897a06a273be-444260d45ec2a84e8f8c192b3539a3cd5591d009 git://git.qemu.org/qemu.git#d2656dd577754129f86328f95e6ee4a241913d6f-a6b1c53e79d\
 08a99a28cc3e67a3e1a7c34102d6b git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-d7c3c845c44e097d6c980001e108da0bb84ed16f
Loaded 64885 nodes in revision graph
Searching for test results:
 172103 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172123 [host=cubietruck-braque]
 172148 [host=cubietruck-picasso]
 172164 [host=cubietruck-picasso]
 172197 [host=cubietruck-picasso]
 172217 [host=cubietruck-braque]
 172241 [host=cubietruck-braque]
 172252 [host=cubietruck-braque]
 172258 [host=cubietruck-braque]
 172261 [host=cubietruck-braque]
 172267 [host=cubietruck-braque]
 172260 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 c669f22f1a47897e8d1d595d6b8a59a572f9158c 46de2eec93bffa0706e6229c0da2919763c8eb04 6d6aee437e37fced0c49be97e08c30da873690fc
 172269 [host=cubietruck-braque]
 172273 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172276 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 c669f22f1a47897e8d1d595d6b8a59a572f9158c 46de2eec93bffa0706e6229c0da2919763c8eb04 6d6aee437e37fced0c49be97e08c30da873690fc
 172272 [host=cubietruck-braque]
 172277 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 e3fdb13e8851be570db41a50589ce82d11d61c12 46de2eec93bffa0706e6229c0da2919763c8eb04 a0aeab27ee0e1e221181a3083908dc2d4e1553ee
 172280 [host=cubietruck-braque]
 172284 [host=cubietruck-braque]
 172281 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 c669f22f1a47897e8d1d595d6b8a59a572f9158c 46de2eec93bffa0706e6229c0da2919763c8eb04 6d6aee437e37fced0c49be97e08c30da873690fc
 172288 [host=cubietruck-braque]
 172295 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 0ee33dd0cee1f9a239d561f1a91e6ea493d1f5a9 46de2eec93bffa0706e6229c0da2919763c8eb04 7c5b25c3038abc2dc8353f56ed67d2c4fcd43d79
 172290 [host=cubietruck-picasso]
 172297 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 7451fdeb696df1fec33d7e5d6de8fa6676afee27
 172300 [host=cubietruck-picasso]
 172303 [host=cubietruck-picasso]
 172298 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 c669f22f1a47897e8d1d595d6b8a59a572f9158c 46de2eec93bffa0706e6229c0da2919763c8eb04 6d6aee437e37fced0c49be97e08c30da873690fc
 172304 [host=cubietruck-picasso]
 172308 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 5b04fe78646a8222626996113c9d1e598cb84831
 172312 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 37339ba9ef46cf55e077ca50235279f058b01779
 172307 [host=cubietruck-picasso]
 172317 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 2128143c114c52c7536e37c32935fdd77f23edc1
 172321 [host=cubietruck-picasso]
 172323 [host=cubietruck-picasso]
 172319 fail irrelevant
 172328 [host=cubietruck-picasso]
 172333 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172334 fail irrelevant
 172340 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172332 fail irrelevant
 172344 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172349 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172350 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172345 [host=cubietruck-picasso]
 172352 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172357 [host=cubietruck-picasso]
 172358 [host=cubietruck-picasso]
 172360 [host=cubietruck-picasso]
 172355 [host=cubietruck-picasso]
 172364 [host=cubietruck-picasso]
 172367 [host=cubietruck-picasso]
 172372 [host=cubietruck-picasso]
 172366 fail irrelevant
 172377 [host=cubietruck-picasso]
 172380 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172379 [host=cubietruck-braque]
 172383 fail irrelevant
 172388 [host=cubietruck-braque]
 172392 [host=cubietruck-braque]
 172393 [host=cubietruck-braque]
 172389 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
 172397 [host=cubietruck-braque]
 172411 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172418 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
Searching for interesting versions
 Result found: flight 172103 (pass), for basis pass
 Result found: flight 172389 (fail), for basis failure (at ancestor ~1)
 Repro found: flight 172411 (pass), for basis pass
 Repro found: flight 172418 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be d2656dd577754129f86328f95e6ee4a241913d6f 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172103 (pass), for last pass
 Result found: flight 172340 (fail), for first failure
 Repro found: flight 172344 (pass), for last pass
 Repro found: flight 172349 (fail), for first failure
 Repro found: flight 172350 (pass), for last pass
 Repro found: flight 172352 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172352/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/qemu-mainline/build-armhf-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172418: tolerable FAIL

flight 172418 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172418/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build           fail baseline untested


jobs:
 build-armhf                                                  pass    
 build-armhf-libvirt                                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 11:08:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 11:08:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385582.621259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMSWT-0007pp-Ir; Fri, 12 Aug 2022 11:08:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385582.621259; Fri, 12 Aug 2022 11:08:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMSWT-0007pi-Fk; Fri, 12 Aug 2022 11:08:13 +0000
Received: by outflank-mailman (input) for mailman id 385582;
 Fri, 12 Aug 2022 11:08:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMSWR-0007pc-Qm
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 11:08:11 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70088.outbound.protection.outlook.com [40.107.7.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d16d59f-1a2f-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 13:08:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0402MB2825.eurprd04.prod.outlook.com (2603:10a6:3:d4::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Fri, 12 Aug
 2022 11:08:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 11:08:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d16d59f-1a2f-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LXe4kLZyyWURuzZcQYuqgVrA31y+1yt0lQDPCBYUmva5dBUyZbrZXJ6j5NrgMcfQN397A1lKHp/OXPDP6v5FZm7PgB50D1pdILqccCHj6MT/vsqSxM799A7XdJd3gt9ndk0vtXrN4MgYJs8pGDDOaCotGkePDGFlag5hHNH4w8Gf2JMWnVNseFakUyYbvz/RnpEmXjVPnsI7o9vA2S/o5LlvNorXyxLgHIrwuljqNZmyBKesF69UkHYOHQSwKltHPQttMaU8Ns9wmpBNqsiwMd+iSNrJ4jZqSi/Ds8oPaWE4PJgDMT8TrgM8Oxq9SQXfqjjFEklCJKcwM47v5vsEhQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WwiCXNhylA79WLyOxDZn0OgicSVqUfhyODZ5kPzLKe4=;
 b=TCF9DqXg/WKjuyj7rkmoDbe6Na8Zs+rR4Thr7Adiu+6NPxSMVELpzpgPEaQooHb4qQF1e6/VRDuT2b3KV5MadQlwQj5IY6eIvMNGun2RG9ZS/p3OJ9KEdXBtvHU5lVNL+6sdA18oBY7t2W5Gvj3RCIvfMkfrdqxl+8NvLvTSaBU53DP9kA4OYzoCcV0otvliWmIslZRyD+uTV1ptxt3RNngPtgPox172iC+VgNdqA1jut77iIQhkFzbRf8iUcJcbJplJqprokKJ1UEoCDMEWLpVso4ib9QYjCNwM0hmD65TdsqeZUjTqAIlwJC0Qn4Up1qqDrbiy7duP6qRndt4rYg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WwiCXNhylA79WLyOxDZn0OgicSVqUfhyODZ5kPzLKe4=;
 b=I2/dcrD6j02bSdQOAa3CuFYNg1Ro6dDOhFxv3HX2CtrrPQ25zP/7B5cDaq8DAjQXHEyIq5IlrHq/FI7ebka6oxFzKjQeAB5rIioSJKajkdUQcBY3vGZOOLtuzjYmw1g0RfYdCXsJyfIUWxH+eaD3Wcy5q8CXASScsuZtkUGBhtGfMSkHzp69u/j5XvBuwm//9mU353gyzwVk93N7ZU9O9yf40eZ5JvY0f83HKUAr7m/Y14VE2dmc6LbR7mrvuwPPkL6ygDAJOqDAhvrjShYlUErLYbXvDDxy17ECSvlFn806CBCDXk/kE58O9MlzvqH61d8x7M2J+pYAC3FlHj+BUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <841ab214-b59c-d08e-dc3c-778a7e420723@suse.com>
Date: Fri, 12 Aug 2022 13:08:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v9 8/8] xen: retrieve reserved pages on populate_physmap
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Penny Zheng <Penny.Zheng@arm.com>
Cc: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20220720054611.2695787-1-Penny.Zheng@arm.com>
 <20220720054611.2695787-9-Penny.Zheng@arm.com>
 <d050bcf4-f71d-423d-a157-4243548f47a6@suse.com>
 <DU2PR08MB7325EB83FDD208467A493557F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <99e65678-c394-01f1-9f49-827388f2fff6@suse.com>
 <DU2PR08MB7325A733C5B374ED899A2007F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <14ce6b41-c422-abac-4b59-541511d75cae@suse.com>
 <DU2PR08MB732531F03BB6F436FCC79673F7629@DU2PR08MB7325.eurprd08.prod.outlook.com>
 <21CCFB81-D43F-48D9-8EC0-A8CD08835261@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <21CCFB81-D43F-48D9-8EC0-A8CD08835261@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0123.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0004881b-955d-4e1e-f81a-08da7c52efee
X-MS-TrafficTypeDiagnostic: HE1PR0402MB2825:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z/0UJPvYvIFmHn2tlgJsTK3jn++Q8XhSRl0gHgqtZpd8olD6at1YVtWthIVr7AjLoZaB57xMzN6u1W4UQ74Azy33V9Ys/IofPnl4ds4FjlPxD0eMR0xd7ulDcLDoqJg9o9iaFbyYse/VQl8VISNhxbVFl941fWJO6oqCvD3/uJEysV4N31a17faL2PjTDDrKZQQ9tQMP3YkoGzpI1bkmiCJ5y8DJklIOeS8e+qectR4VePd/aDpsNlB+M6m62JTG+v7UHvU43a0HcxwSCr0ylwH91wuVmKDcMTQ/a5KgvuNyEKbgyOuI0sn9WbLqahktKOQJGLDjCTzgPsIPTxNt28quxaxbUafSryQzqscUfNXfgAZWRaR87IEhpn62mlO8gglE3N5kbmGUXbmmh1kd/VL4cVbr/1GMqaDCpKYOxzb2EL77OfqsZMsvv4uoNnJNlegEvpEyZ3l4mQK74og067WDG+EUCZwb6atrmMFjQnlg5mpKraECEkR38HsjUx6B0s8gHbG8EvJ7FKXSPphEUthWvG5FFcpabeniZY0eaPE+kFj123PhDdL/AOwBg9ThXwxHsQUQbvGlUH8fsuBhAzZ9eEPWEt0vQiVXIWzjrvtgBSQp/sAj7ChSMbquAfM92id2u/BR0I8i4icjQfs6DD8kFpbFSibvQFIbsY/4wdNBDs1i5dN+tw5050sqV0EYZ2mornbg5atDftCRSgGvS5VcZzI10dEuweWvGJ5qwYFxw8CdENfx25bd+AXTRHa+aLItOSE3ih2YXK7Z5dZIE2wL+fmhFNss3qTEB4qraKQ24j4DkTDPkbrk+tY5HbB/xrbnMSYZ9haHZj/rhKprhQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(136003)(346002)(396003)(39860400002)(376002)(6666004)(478600001)(41300700001)(6486002)(26005)(53546011)(83380400001)(6506007)(6512007)(2616005)(2906002)(5660300002)(186003)(316002)(54906003)(8676002)(4326008)(31686004)(86362001)(66556008)(66476007)(66946007)(31696002)(36756003)(110136005)(38100700002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RE0vaWppS2x0cGpzdkJxeEh5MFhITzNNd0I0bzFXOURVdmIrbm1ScTh4V2tJ?=
 =?utf-8?B?cTJUM1c1SXhjanh3STA5MHdrOWtuZzZNTFRhUDlIc3BCRHE2U3NLYTNKV1hj?=
 =?utf-8?B?dVY2MTNFdVZCYTdyOWZlNW5QV1FCWDB1cXAwUXBsa1Q3T1R1TElHRy9DQlly?=
 =?utf-8?B?cTg1MTJLdUhheDBMWWJ2SVpmaVhIODhxbUVSTndGMzIzcTZTSWxRaFg3K0NG?=
 =?utf-8?B?b0ptR2Z6Z21ub3RHK2wxRDlmWUd1RGVyWVlleWtjbnFKaXlXL2h6Y0t6Ni9l?=
 =?utf-8?B?RmxlQlVFc2hSbkgxNlh3WWVwK21PYUVtTjNBeElNbTBuSm1wT3l5SEpPU3FM?=
 =?utf-8?B?RGYrZW1xdkYrdkpnaHhrUmxtOFJBYktJZDhWSXdTd1EwMXIxZ1h6S0t3N2tY?=
 =?utf-8?B?NXZLVWgrREZmSTAxa3NKczNSeFRDeDhoOHFwc3VNQWxMYlFtSThLY0IyODNQ?=
 =?utf-8?B?dVE4REZQUDkrREVCNWRmNTRTN1c1S2MrUGtOeDYreldpVURDRHhGZmhkWmkz?=
 =?utf-8?B?Z1NJL1lRZ1pYRXlIdGZPQ3M0L01qZkVrN1VINERMUWlBMGg2N0FzT3NkV1lx?=
 =?utf-8?B?MHc3aUdBZHFhaUNyQmRiTnJhd0xUMkhwOVNoamQvd2hHc2NqeS8vYm1OQXll?=
 =?utf-8?B?a21WSkY4WFJWOE5XS1BoQ1VpR3dqY3lQYy95VjloZ1EyWDAvNiswdmw5R3hw?=
 =?utf-8?B?ZXg1YXJWeVVCOW1nVnl0bUZXaGRqaTNrbzNydG1WYVMzQmhjY3R0UUk1djZl?=
 =?utf-8?B?SzFOS0xuZkdhc1NpcnMrWFRzU0oyOUpLN2xlRVZ1NFFWZjRkNlpxK1Vhc0k3?=
 =?utf-8?B?Z1F3bCt5bms2RHhvakFET1dIcTFYRHBvMkZVMHpBc1MyYW1CZ3BnNkdsVThH?=
 =?utf-8?B?RHhqU3dONDN1dCt2VDRUSU5hSFFBL1JVOTdPWHlZRnphSGM0a3JkN1liY0dm?=
 =?utf-8?B?enJpWW4rOGdFa21OUzJaaVJnMk5YSVV6Ui9majRvSW5Tam5yT3lNTFJqcXVP?=
 =?utf-8?B?RkRQelRKaXBFZzdXYUs3b29sNk1pUEJ5R0JMTzZNZUhkTTJMRk9nOS9RM3JE?=
 =?utf-8?B?TjRkL2tnaENLZGdjV1NnaGs2R0FSTENFUENPTjBVbDJ5R0dDdFloQVJPUjJX?=
 =?utf-8?B?WEpzZU40dXlOOVB4c1dSTmltT2RXRjIxQVVHM1k5WFBPelgrNnl2Q0R6a1pU?=
 =?utf-8?B?enVSVGl0NlQyZkRHRzd3MGxHOFZON0VzN1d3NUhjb3lwdlhjUzM5SC9TRW5M?=
 =?utf-8?B?WWorZVRqd1doMmJGSTNRUXhuNFdJQkRJeDBlN2k3UUthY3NSc0xLME51eC9D?=
 =?utf-8?B?MndWY25nU2xuelJyWjZ1VkJRNXg2dnlMQnZKL3RrM3pxNFhxV2VFWjVLeHNo?=
 =?utf-8?B?Qm9NNms1S1RFbjFGSnFrQld4NlFxN2FvVzBYRUFLRkRjdHBUTkw2S2ZuL1U2?=
 =?utf-8?B?dlM0YnF1bkdiV2p5VUxqQzBLQjZPZjIzK0hIdXVUUEtLK29ENFp3Tzg2cVpr?=
 =?utf-8?B?dVBxZXNaUjRtRXR1dTlZa0lqQ1JHT1ZMUkR0M0pvUjZHek5oakVLb1BsRmFx?=
 =?utf-8?B?elJRQ2dlcldDT2tRNXdwdHNodjdpb3hBbDNSTHZ1SmtyRWF3WWRoajJQUGlD?=
 =?utf-8?B?S0Z3MXBzNHByNUdGUUJoYkIzRk9NaXJkRlZ6S2lSZVFnc2F5UkllY0hIUFlV?=
 =?utf-8?B?OVZHb2RHeExFWHFjNStuQXNkUklVa1o1S2ZZVG1SQXdOUUYvK2JQYnMrcDBK?=
 =?utf-8?B?NG9pNW1SSjcxaG1kV0Vkb1FrUENiUnNvOTh6R3UxancrRGZsK2JmODg5UHFJ?=
 =?utf-8?B?elBpcEd2ZEYrdDNUODF4NFNQZGkrUUlsc1FFNVRSUUhRWm9KcmVIUkhHQjJj?=
 =?utf-8?B?bEFTVzBLMDAra3FqazdiWm4zY3pXSmdtMFZwWkhmZ1Njc3J5dTFHSjVMSGFk?=
 =?utf-8?B?TG8vTk1OU0FSSm1wVUxCTDgyNU1XR05GNmhlbXdtTzgyVzNuQ1d1cklIOENQ?=
 =?utf-8?B?aUNxb1pCM1NHdzRZWTVuOTUyNmtMTXhnNFY0a0FMcjBUUjBHNjNwUTRiZDRN?=
 =?utf-8?B?U3N4VGJ0NGp0UjhNRGF3UHUrTDJ3Q2dlaFl0bkkrWjVpNDIzaUpKWWMxQVpw?=
 =?utf-8?Q?/2vyNuqe4cepMcC7jlx2jwl7J?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0004881b-955d-4e1e-f81a-08da7c52efee
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 11:08:08.2330
 (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: LDX03Iugldxkh/WrGLCIeOUMXdVFX00vyx7waCkm7nu1Eo8Wu1JSWQE4h3BGg8XWWc+MwZ5H3S1QNsCAS6/0UQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB2825

On 12.08.2022 11:53, Bertrand Marquis wrote:
>> On 9 Aug 2022, at 09:58, Penny Zheng <Penny.Zheng@arm.com> wrote:
>>> -----Original Message-----
>>> From: Jan Beulich <jbeulich@suse.com>
>>> Sent: Tuesday, August 9, 2022 4:27 PM
>>>
>>> On 09.08.2022 10:07, Penny Zheng wrote:
>>>>> -----Original Message-----
>>>>> From: Jan Beulich <jbeulich@suse.com>
>>>>> Sent: Tuesday, August 9, 2022 3:59 PM
>>>>>
>>>>> On 09.08.2022 09:53, Penny Zheng wrote:
>>>>>>> -----Original Message-----
>>>>>>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf
>>>>>>> Of Jan Beulich
>>>>>>> Sent: Monday, July 25, 2022 11:44 PM
>>>>>>>
>>>>>>> On 20.07.2022 07:46, Penny Zheng wrote:
>>>>>>>> When a static domain populates memory through populate_physmap
>>> at
>>>>>>>> runtime, it shall retrieve reserved pages from resv_page_list to
>>>>>>>> make sure that guest RAM is still restricted in statically
>>>>>>>> configured memory
>>>>>>> regions.
>>>>>>>> This commit also introduces a new helper acquire_reserved_page to
>>>>>>>> make
>>>>>>> it work.
>>>>>>>>
>>>>>>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>>>>>>> ---
>>>>>>>> v9 changes:
>>>>>>>> - Use ASSERT_ALLOC_CONTEXT() in acquire_reserved_page
>>>>>>>> - Add free_staticmem_pages to undo prepare_staticmem_pages when
>>>>>>>> assign_domstatic_pages fails
>>>>>>>
>>>>>>> May I suggest to re-consider naming of the various functions?
>>>>>>> Undoing what "prepare" did by "free" is, well, counterintuitive.
>>>>>>>
>>>>>>
>>>>>> How about change the name "prepare_staticmem_pages" to
>>>>> "allocate_staticmem_pages"?
>>>>>
>>>>> Perhaps - if what the function does really resembles allocation in some
>>> way.
>>>>> So far I wasn't really certain in that regard, and hence I was
>>>>> wondering whether "prepare" doesn't better describe what it does, but
>>>>> then its inverse also doesn't really "free" anything.
>>>>>
>>>>
>>>> Hmmmm, â€œprepareâ€ with â€œdestroyâ€ in its inverse? Do you have any
>>> suggestion in mind?
>>>
>>> To be honest I was hoping you would make an attempt at finding a suitable
>>> pair of verbs. To me "destroy" is more the opposite of "create", and I'm
>>> unable to think of a good opposite of "prepare" (short of resorting to
>>> "unprepare"); if I really needed to come up with something then it would
>>> likely be "cleanup", albeit I'd not be overly happy with that either.
>>>
>>
>> Maybe unprepare is better here, I was searching linux code for the help, and
>> they are using prepare/unprepare as a pair of verbs a lot in drivers codes.
>>
>> For the renaming here, I suggest to fix it with a new commit, since free_staticmem_pages
>> has already been merged.
> 
> I think that unprepare is ok and it make sense to do this in an independent patch.
> 
> @jan: can you confirm that you agree with this way to go ?

I don't mind this, yes.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 11:32:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 11:32:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385592.621275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMStu-0002bn-Gs; Fri, 12 Aug 2022 11:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385592.621275; Fri, 12 Aug 2022 11:32:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMStu-0002bg-EK; Fri, 12 Aug 2022 11:32:26 +0000
Received: by outflank-mailman (input) for mailman id 385592;
 Fri, 12 Aug 2022 11:32:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMSts-0002bW-Ha; Fri, 12 Aug 2022 11:32:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMSts-0000dm-De; Fri, 12 Aug 2022 11:32:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMStr-0004W3-SN; Fri, 12 Aug 2022 11:32:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMStr-0004iy-Rv; Fri, 12 Aug 2022 11:32:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lVeXZfOHjWuZNK1sd2cV90aVmVry4BewPDQVz9C4Ml0=; b=OtkMRmsc7mAABJaDCrkKhFyJ7h
	H9On/pxNy3Ts3JSYu2a/NATi+sgxXJ1TvE30neZAHMIz4uHcHMuylcJexYFjRgshWlp61qvHnrwOD
	Dwm3tNNW8//gaZ4jCfSjt5acl8bLwP6UWUTY4foN+AUctv+PoF45CEVeOJg08rpsTXuQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172409-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172409: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=0615df084ec9996b5df88d6a1b59c557e22f3a12
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 11:32:23 +0000

flight 172409 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172409/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              0615df084ec9996b5df88d6a1b59c557e22f3a12
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  763 days
Failing since        151818  2020-07-11 04:18:52 Z  762 days  744 attempts
Testing same since   172409  2022-08-12 04:20:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120325 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 12:16:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 12:16:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385647.621311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMTZq-00088j-Jw; Fri, 12 Aug 2022 12:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385647.621311; Fri, 12 Aug 2022 12:15:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMTZq-00088c-Fz; Fri, 12 Aug 2022 12:15:46 +0000
Received: by outflank-mailman (input) for mailman id 385647;
 Fri, 12 Aug 2022 12:15:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Yc4=YQ=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oMTZp-00088W-Un
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 12:15:46 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d999b0c-1a38-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 14:15:44 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id a89so1108619edf.5;
 Fri, 12 Aug 2022 05:15:44 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 2-20020a170906210200b0072af92fa086sm747790ejt.32.2022.08.12.05.15.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Aug 2022 05:15:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d999b0c-1a38-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=e7r9wr/3pU9Tvocybig/58P53291tIgzjS8e6KCKWrM=;
        b=JKn4WYD4qh380HK1sylQcu8MbzHRwx+WOHOwpL9hqCGZnkzuvN/dTReBOeP4T6uQKW
         gXlW8FlDnpyWir7SWQ5Zj/rE0TF0CmrV9dvADOMo09JPaF0AJ97VCXOAl2Mz8SdjDvCR
         dGYtTR8QZnhezc1X1pAvk/oWEOoClRwghije6inWcqmKX+uWPbBx34OZi21A6OiDhzkd
         Yo397+Onc/UXSQYeLWEhtvHE3bjXb5VVdwhonXehs/uEdEblb/yRXlJqJUdj1g7vlAOd
         2wl06LkPuSvxCdk/VmUgKLFLgMsYSIFD+rsGBZCfRGFDLSJ642yP0CC9Gjvaja6XzcXR
         /Ehw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=e7r9wr/3pU9Tvocybig/58P53291tIgzjS8e6KCKWrM=;
        b=cj/RfKoFsVJxDfTiG1EXcTyGTQwUp105EYMS5INp90v2B9Z2rDPsGQOMmgun+eMfDV
         5C/EpdWbwoViDUplvefGckuj7lW8JySfSfXmTYbFOBHn3FTZb9UoqRBF1DX+Hc3ljgPd
         IxnKND5UVKP2g2u9iBBHIzpcAc8lxDzA5RULCVbVXmA5lptnSVrZzcy9VGnW/XQ34E+S
         OFlLyONTMsWu6I16NzNpNM5p76dR7FdNyCrjDMHcryrvh55ptpKXmcsfPSge4isuwBGl
         60qycNMMwm6iVEcXhkdAqSiws0rtTzVIaHyVhueSdISdimVqsNZKUSY2oX+SFqVLJmSF
         R2Hg==
X-Gm-Message-State: ACgBeo0PRzc/x7vL4abkiSc65i8e2GMtp8RH5CjUO1IdCSnWoL0iNsXQ
	9zZ/Gvc8GhGWiP36MTQceAQ=
X-Google-Smtp-Source: AA6agR4B6sGfQKZz14hVONV4QyWwDgrceOWe1ds1YuzPAEMj7of3D12+SRMKw6ejeoYSxA4iJLQJjA==
X-Received: by 2002:aa7:d653:0:b0:43d:151b:5939 with SMTP id v19-20020aa7d653000000b0043d151b5939mr3341999edr.278.1660306544172;
        Fri, 12 Aug 2022 05:15:44 -0700 (PDT)
Message-ID: <df068c2b-2b09-fb0f-aa85-77bb1191b25a@gmail.com>
Date: Fri, 12 Aug 2022 15:15:42 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: Enable audio virtualization in Xen
Content-Language: en-US
To: "SHARMA, JYOTIRMOY" <JYOTIRMOY.SHARMA@amd.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Cc: "dpsmith@apertussolutions.com" <dpsmith@apertussolutions.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
References: <DM6PR12MB429763D0795CAB57F9F7206A9F679@DM6PR12MB4297.namprd12.prod.outlook.com>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <DM6PR12MB429763D0795CAB57F9F7206A9F679@DM6PR12MB4297.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 12.08.22 12:27, SHARMA, JYOTIRMOY wrote:
>
> [AMD Official Use Only - General]
>
>
> Hello Christopher,
>
Hello Jyotirmoy, Christopher


Just spotted that libxenbe and snd_be were mentioned ...


> Thank you so much for your reply. I will execute your steps and first 
> try to enable pulse audio as you have mentioned.
>
> Later I will try to enable ALSA which is my final requirement.
>
> Meanwhile, I was reading up on virtio-snd and found some patches in 
> the internet. However, those patches are not
>
> present in the qemu source code 
> (https://gitlab.com/qemu-project/qemu.git). Do you know
>
>  1. If virtio-snd front end driver is another option to enable audio
>     in HVM guest with Qemu/ALSA as backend in dom0?
>  2. If yes, how is it different from xen front end drivers?
>
> Also, regarding enabling Xen PV audio front end device drivers, you 
> have mentioned that I need to enable backend using libxenbe and 
> snd_be. Does it mean, in this case, Qemu is not involved in the audio 
> backend? Any pointers to understand this overall architecture (Xen PV 
> audio front end driver/snd_be/qemu/ALSA) will be extremely helpful.
>

 Â Â  ... I am not familiar with sound internals, but have an overall 
understanding about Xen PV audio.


1. The backend (snd_be) is Xen PV backend, not a virtio. It is a 
standalone user-space application, so Qemu is not involved here if we 
are speaking about snd_be+libxenbe. The backend can work on top of Pulse 
or Alsa and supports playback and record.
 Â Â  https://github.com/xen-troops/snd_be/commits/master
 Â Â  Some details you can find at:
 Â Â  https://github.com/xen-troops/snd_be/blob/master/README.md

2. The library (libxenbe) contains various Xen specific stuff, such as 
event channel, xenstore, grant table, etc needed for Xen PV backend to 
work, so it should be linked by snd_be.
 Â Â  https://github.com/xen-troops/libxenbe/commits/master
 Â Â  Both snd_be and libxenbe are written on C++, both are part of Yocto 
build, but I guess they can be built standalone.


3. The frontend is in upstream Linux and supported, the protocol is also 
there, toolstack also supports PV audio configuration (no extra patches 
are needed):
 Â Â  https://elixir.bootlin.com/linux/v5.19.1/source/sound/xen
https://elixir.bootlin.com/linux/v5.19.1/source/include/xen/interface/io/sndif.h

 Â Â  Also the guest should be built with CONFIG_SND_XEN_FRONTEND=y


> Regards,
>
> Jyotirmoy
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 12:31:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 12:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385659.621328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMTpA-00026H-Vk; Fri, 12 Aug 2022 12:31:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385659.621328; Fri, 12 Aug 2022 12:31:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMTpA-00026A-T2; Fri, 12 Aug 2022 12:31:36 +0000
Received: by outflank-mailman (input) for mailman id 385659;
 Fri, 12 Aug 2022 12:31:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMTpA-000260-1k; Fri, 12 Aug 2022 12:31:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMTp9-0001hl-WE; Fri, 12 Aug 2022 12:31:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMTp9-00082U-Ot; Fri, 12 Aug 2022 12:31:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMTp9-0007gK-OW; Fri, 12 Aug 2022 12:31:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=r6d9KBEFDkvL50Xq1w2C3jVYLrKgYjxJBr4CXhkkEgs=; b=ZafguFpt/fOMhjvaxAFyDvqACD
	EIh9NBVLwsGz1174TWytFIAhFeH2GiH49Y7kL1hQk5jhbvHSQ3xi8VaTiBcdzW07ypQfCIQkH6rJo
	F/8Qo6AXontf36SPE2JFzWiZ/CGxCZ04gWNzkdr62Se9t8LL5UCQyqXDVsHkdbOT1woc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172424-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172424: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 12:31:35 +0000

flight 172424 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172424/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   70 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 12:55:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 12:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385672.621348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUCR-0004bL-0m; Fri, 12 Aug 2022 12:55:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385672.621348; Fri, 12 Aug 2022 12:55:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUCQ-0004bE-UO; Fri, 12 Aug 2022 12:55:38 +0000
Received: by outflank-mailman (input) for mailman id 385672;
 Fri, 12 Aug 2022 12:55:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Hyho=YQ=citrix.com=prvs=2169cd8bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMUCP-0004b8-Ib
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 12:55:37 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0cc9fe09-1a3e-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 14:55:35 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cc9fe09-1a3e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660308935;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=8JIf2CfYKdN68HIPrtR9xErp0XoCwk+IsT0juT9qucM=;
  b=IvOzn4dvA4yq5VNI5dZVJgbEKlgEcUgZ055s6JXK4Pysgto0GR9Zx0X5
   UsDHtdiwHGlr3oZBhB/8ByXeVSUiJ05dcSUrd1/RM1+xyOMQ3Y0IGaiIv
   doSXe2VFLt4sn7X4MihZ1S+vbaBxHoie8iGgIDazzySkYkJiQnlnn0986
   g=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77956319
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:1bjkK6khC+AuKImKTDJW4+Ho5gzuJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbXm2Caa6DYzPxL4hzaIzn/UoAuJDTmIJlTlNl/nozRCMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K2o4GpwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2lnIdIl8PkqM1pp7
 MIgKgI3aEqh3Mi5lefTpulE3qzPLeHuNYIb/Hph0SvYHbAtRpWrr6fivIECmm1q34YXQKiYN
 5FxhTlHNXwsZzVmPFsNBY14t+CvnnTlKBVTqU6PpLpx6G/WpOB0+OeyYYeLIYXbLSlTtkKAn
 mTm7WPiOyhAE/GG6je81Gi+ueCayEsXX6pNTeblp5aGmma72Wg7GBAQE1yhrpGRqGSzRtZeI
 Ew84Tc1oO4580nDZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZ8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy1p6vLkDmtZBouCnY8XS02dw1fwYLJr9Rm5v7QdeqPAJJZn/WsR2+om
 WDU/Hlj71kApZVVjvvmpDgrlxrp/8GUFVBtu207S0r/tmtEiJiZi5tEALQxxdJJN86nQ1aIp
 xDocODOvblVXflheMFgKdjh/Y1FBN7faVUweXY1Q/EcG82FohZPh7x47jBkP1tOOc0ZYzLva
 0K7kVoPuscKYSX3PfUoM9vZ5yEWIU/IS7zYug38NIISMvCdiifelM2RWaJg9z+0yxV9+U3OE
 ZyabdytHR4nNEiT9xLvHr91+eJ6mUgDKZb7H8+TI+KPjeXDPxZ4iN4tbDOzUwzOxPzZ+VqPo
 ooOaKNnCXx3CYXDX8UeyqZLRXhiEJTxLcqeRxB/HgJbHjdbJQ==
IronPort-HdrOrdr: A9a23:SPDNLq4NV1YFRMQlVAPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HWoB17726TtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QC5SWY+eQMbEVt6nHCXGDYrQd/OU=
X-IronPort-AV: E=Sophos;i="5.93,231,1654574400"; 
   d="scan'208";a="77956319"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>
Subject: [PATCH v2 2/3] x86/build: Don't convert boot/{cmdline,head}.bin back to .S
Date: Fri, 12 Aug 2022 13:55:08 +0100
Message-ID: <20220812125508.26104-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220414114708.4788-3-andrew.cooper3@citrix.com>
References: <20220414114708.4788-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

There's no point wasting time converting binaries back to asm source.  Just
use .incbin directly.  Explain in head.S what these binaries are.

Also, explicitly align the blobs.  They contain 4-byte objects, and happen to
be 4-byte aligned currently because of the position of `lret` and the size of
cmdline.S but this is incredibly fragile.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>

v2:
 * Drop CFLAGS -iquote
---
 xen/arch/x86/boot/Makefile | 10 ++--------
 xen/arch/x86/boot/head.S   | 10 ++++++++--
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 1fb0ca02e87f..96beb420a260 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -7,10 +7,8 @@ targets += $(head-srcs:.S=.o)
 
 head-srcs := $(addprefix $(obj)/, $(head-srcs))
 
-ifdef building_out_of_srctree
-$(obj)/head.o: CFLAGS-y += -iquote $(obj)
-endif
-$(obj)/head.o: $(head-srcs)
+$(obj)/head.o: AFLAGS-y += -Wa$(comma)-I$(obj)
+$(obj)/head.o: $(head-srcs:.S=.bin)
 
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
@@ -27,10 +25,6 @@ $(head-srcs:.S=.o): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
 LDFLAGS_DIRECT-$(call ld-option,--warn-rwx-segments) := --no-warn-rwx-segments
 LDFLAGS_DIRECT += $(LDFLAGS_DIRECT-y)
 
-$(head-srcs): %.S: %.bin
-	(od -v -t x $< | tr -s ' ' | awk 'NR > 1 {print s} {s=$$0}' | \
-	sed 's/ /,0x/g' | sed 's/,0x$$//' | sed 's/^[0-9]*,/ .long /') >$@
-
 %.bin: %.lnk
 	$(OBJCOPY) -j .text -O binary $< $@
 
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 3db47197b841..0fb7dd3029f2 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -777,11 +777,17 @@ trampoline_setup:
         /* Jump into the relocated trampoline. */
         lret
 
+        /*
+         * cmdline and reloc are written in C, and linked to be 32bit PIC with
+         * entrypoints at 0 and using the stdcall convention.
+         */
+        ALIGN
 cmdline_parse_early:
-#include "cmdline.S"
+        .incbin "cmdline.bin"
 
+        ALIGN
 reloc:
-#include "reloc.S"
+        .incbin "reloc.bin"
 
 ENTRY(trampoline_start)
 #include "trampoline.S"
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 13:27:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 13:27:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385685.621372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUgo-0007wu-I9; Fri, 12 Aug 2022 13:27:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385685.621372; Fri, 12 Aug 2022 13:27:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUgo-0007wn-FB; Fri, 12 Aug 2022 13:27:02 +0000
Received: by outflank-mailman (input) for mailman id 385685;
 Fri, 12 Aug 2022 13:27:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMUgm-0007wh-Kz
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 13:27:00 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50056.outbound.protection.outlook.com [40.107.5.56])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 70ceaf81-1a42-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 15:26:58 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Fri, 12 Aug
 2022 13:26:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 13:26:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70ceaf81-1a42-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SxNS3mIQzi1cZKBXdc7Ka9Xg3mlX8cTwYwjJ9KnWgRM9nYAyBeAd25K4ncz0UfROKjqi6wae/x0jY+Qfg9ZE/5vlQ7eo6o80wg79sfqaXlv6JjRK8BVOvcTRPfo9GfCqhCmZTXRqPdtAb66QQhjzU4kk6gj1B5Eid41zvd7yh21NEyJXV4OM5JVP4ETbwZfH1D8h7+eaaCN/Fz02HqS/IIuTO2Lwj4z6M9BeUp9dDjRZkdJYjl55f6n6zxIP1Jn4DlORSItsWAnNwtEqauNl7sLUwGGM02Ac5WVF/uvHfrt7MAQioXsVD9f+l48l1+DEKucefNzRQwFbVTfOZCWe0g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U8F8RJD9OBdZyvfAHhN85Uzi/hqo9sT9HDXI3nP7soU=;
 b=KViE3Otw0LwqLhN4y+LWAJ6J+9g7ZsJVWFsl/3+yqyzUE28vMQxIA3OQE74eQEbzTRK2x+k3zjjgFUVWDqWMM4A0S2HGhDUFlMWuYCMoxquVMY+VLGw+mMCHyyxWAjDNCj4RoQCwH/a9dDLEipHCfjiGMTKj2jQRO984z7SHjIxifKwRjZiHxwDOgDhBpbCuUm+HB7tDH9ncs0oy4ZD46u0bQHeZ95ACJId/dbNgAsP+1YW7btG61CjavEOMmDbPWPobtL8TlQv+Uxq61UUmq0YK+Sgl9Dt0sMj/RptgFBUEI3AYJwldPCIaipE4FjbrvlT0wWqRzi6hxvLChN+LoA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U8F8RJD9OBdZyvfAHhN85Uzi/hqo9sT9HDXI3nP7soU=;
 b=4btuQcPHeYzu2DATWutLKnhL1DR3FQyGfMm+tvXurOElA1H8DB7KBd99PU/sMk0QDXU+ENf3uG70IQ92Q8JZyZxxoS9OvX6F86A6yKKd9iLpwrkl95r1i8hMZIGC/VcDCfEKMZg9/BKTAyaFjcno0fGMURL00o2vTzcnHnu9845F6+tdF4D9aYQfZu1H7P7KsyG0WeChHqUsdY3WlICTA9dYcbzAbbHxsaPCQz2016eSPyxglNG/trJJarX8+32JYQJbY9fawtU0jPOa54gX25IU/vg3jWyPk9jwOA6LNvGAvkiDuYu/H8R+YsaECQ905Ol0XMyijZp1cvK0YnuOyA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <000d5bc9-d6bb-6e7b-abec-c504a660335c@suse.com>
Date: Fri, 12 Aug 2022 15:26:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/3] x86/build: Don't convert boot/{cmdline,head}.bin
 back to .S
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220414114708.4788-3-andrew.cooper3@citrix.com>
 <20220812125508.26104-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220812125508.26104-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4d03313c-c179-4225-ddfa-08da7c665368
X-MS-TrafficTypeDiagnostic: DB9PR04MB8185:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Y/uBx6rW6xLbZnCXV35PyGJjwQJqMrnS9UNyQLfRc6M0sv1uQDJAJMK5B6qWWClhtFLxlBN2L6ADZl7i8cjHy0V3sbmO7f/FNh9LE0WgmSJyN+n8FPKhq3B4SsI/d6jXs94zB8Nwo7IX+j4mRxUozpM03bnQK8DlMx60b7iHRcJVdtG0gPKGbZNfkmxL3ZYDhITAB7pJVlsf6s5KoMgs6m1Vn+JNMasAXyyw2bCZyuWE9L3e3wfqMZ6HLXgwXKPPuJ2YDab8WkYi1G3kMrcRb3K/hBakCkcxESfnE18IY+2ums1Nmpglp+3lQof/ASMMxHt8zCklukE8LTyf8g/5TkqBFtVzl6fvZQaMcvYGZMYXo2t3xPFtbMnMLEvjROyWE8jdSoCOtyBsZNTUFFn/OysqsUsNQYhkRETfRKPkuOZk5EJ8fPbQtPDDkMWfFR+gpFX17q+40Y2iYrPCZVfhUlv801OAy3fvPvpNWjbes77JWQEWD/OG0bAnqs+mb6yNM8jufNsioVPBs1LJh9vpefRoxEZEggqrj8CI+4l673YKCj7okiqjVr2nmygXXsdSbqdOMSaiERG0ONvKb3SM421Zf62MeikRd3s1tYTjbaamEvrv4fR1jw0+yyQXW3fifC21Xahoijz6OnhamkfngYhXjuZrXJG2oWzXg1e+h/Q3VlmBrNwJhKbBtM8AkikIjVvS6qutx5jBEjjBDIEMC4/pxHc6rTWv8/Jq/opj1m/EeykT132hYp+UYFKuIiFywk93Ds9U/cWR+nKEse2ErFdLQiVkXIctDLN8yYwekW69m7M2ZVkqwzPVi0F0yWODkjljEYOZI9C+pKBax0SV9WkKbnyCLAubLJGDjtR4QBg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(396003)(376002)(346002)(39860400002)(38100700002)(316002)(86362001)(66476007)(4326008)(8676002)(66946007)(66556008)(4744005)(5660300002)(8936002)(6486002)(31696002)(478600001)(53546011)(6506007)(26005)(6512007)(2616005)(41300700001)(186003)(6916009)(54906003)(31686004)(36756003)(2906002)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WE9OSmY1RTF1bitRNlh5MVVGdm5RWkFkcXNCVzVZVlJ6aTFSR2ZiNjZHbHNm?=
 =?utf-8?B?cDErSFFPVXlNSEU4bUxPRUh5ZnNjcG5pWWRPSlBqd25uUGxBZEJRNldjSjlp?=
 =?utf-8?B?UVl6Z0VLYzdsbWtmcGtvRkhyT3JsUlNJcDBzY2tOeE9JNzBWSG05UTRaekxD?=
 =?utf-8?B?QzBGSWFadDhWaldTSUlhMXJaL1ltYXY5emhLY0lXaHBuN1dkalVQeHF5dFZX?=
 =?utf-8?B?dDRPVE5vS2VxUUZtNFd3N1dOS2xOd0RWaVVFQmpZNnZLTUVhUkovTXFuaVRW?=
 =?utf-8?B?d25JTW5JQXcrR2dMUjl6K0hjWHpSeUdtTFo1RVNHaUZJYzJWR0NqR1M3NmxM?=
 =?utf-8?B?OU9ydjNvdTNIK0F5SG5hZzhlc01GZkVCR3dlcSt1VzBNd013NmpQY25RL2RL?=
 =?utf-8?B?Y2ptTmlvL0d5aDRBaXJhZDk3R1Nsa0M4THF0NTBQQXRubjhuN2VnNmxNbW82?=
 =?utf-8?B?TjFublVkZGhTWXJQNUhsWDQ4aFM3OVplUVNZbFdUdjVzaHZndEFFVmlTNmdj?=
 =?utf-8?B?OHBCU2pyOVM1ZzhuWDZGK1FDbUhwLzZMSDk2cXd6UW9WUDdLYlU0WHlHZ0t5?=
 =?utf-8?B?dE1HdE4yQ3NnK2JEb3l5dysySU85OW9aczRPY3A0cEJaWWxmVkVQMjlwNXI3?=
 =?utf-8?B?QWFmMXNPNFdaeHR4MG5VRjllT3lrSzliUHV3b1pMWFBOMXNzTDJjNHNqK05j?=
 =?utf-8?B?SmRvcVJucEpRVzM3MnVvZDhxU3ZlOVpwWEVjWGdCUDlLTnlUSzBUVU1MdXQy?=
 =?utf-8?B?dStwZnplNnFqY1J6LzJxOEJLeUdxcVhnTWxmQTlhMXk0ZlFYb3dQTGV5M3Er?=
 =?utf-8?B?MExDOEQ0MDdCbHhNSW9yY1lrckU3OVlYT1lTSGo0ZEI0MVNXMS8wS0NaMlZ1?=
 =?utf-8?B?MWlDTG5ERVplakRBT2lTMkw2ZVI3WVNUa0txblQvNEhMSDlOUlI4K3JsVm8v?=
 =?utf-8?B?RVBJdGdvNkxrV0V1a2doYng5TGFNdnVrZ09TMTFvZXJYbnp2N055WFFaZUZC?=
 =?utf-8?B?U09JSW9wQ29ScEpETGF0eWphM0lSQ3RTRjlJVUFLdDM3TFUvdDFvR2oyQ2Yx?=
 =?utf-8?B?MnhZNzAwK09sV2pLakQ3OGRxQ1pENUxMbm5SZXhhTEJKTitXTFUyaTBITEdh?=
 =?utf-8?B?N3l6MUFyUXlTT1p6WXlLYkUyZ3BzdEM2aml5T05aK1pOWnFRbCtPZkJLNEcw?=
 =?utf-8?B?Q3BOSGR1aXFPQzkrdXFkOXB5UDZmdmRETHAzZ1pvb0JwYjRQTFpDT0FobGg1?=
 =?utf-8?B?ODJRWG8wdU0welRpZWx1UFJYNTZJUzFDNHIxWFM1WmlWU2NwYnVwUTNRdEV6?=
 =?utf-8?B?ckhBWUw1UG9EOEY2SnF2MGtSNnNBUnlmMGhKUzkxemJWSzZQSmQ1N0lUNDJw?=
 =?utf-8?B?b2d6SmcxVTRKVXMvVG9xakFWb0FMWHAzb0pzSVFrL1g2cGszOTY3TnlkWVMx?=
 =?utf-8?B?UVA3anRRaktSZE9zUFZHbHJEa3hiUzIzODVkSjZZTTRjbUhmT3ZPd0NNTHdz?=
 =?utf-8?B?dnlxNFRXSm9GSGZUanpFSlBTN0tibCttdWlKSC9FdEtoWGdpR1BtNXNWaXl3?=
 =?utf-8?B?V0tnejBCZWNoRGRXZW91OElwT0VuRCtSa0tGaTdJMnJXVG5XL2tESVcyZm9y?=
 =?utf-8?B?WHRzcUtQWFZsSlFyL05TclNuQzBaaG82SzFIdi9LV09rVWp3dVRvMkg0Snho?=
 =?utf-8?B?S1VqY1Zpd3NhWi9hVng5WWhYQStGODRqNi8wOSt2dk5mcGtxbGZjZzNXZ3FJ?=
 =?utf-8?B?S1FidUd6WjZSeTdDS0FVNkZ1MHJESVRBZUhGT0pOL25yR2JqelZtdlRycE9R?=
 =?utf-8?B?aG9kSmU2Vy9GVnZxdGxnSXByN3lTRXNRWnZHZmZ1aExIOFlkVld1T1JRZ3BI?=
 =?utf-8?B?V2NibXQ1WmQyamx0cGw0VnNsT3ZwdXBTVHp6MTRFb0taWVNVY3lOZ2xlSGhW?=
 =?utf-8?B?Z0tYOHdzZ002bjRhbWkxenJIUDJ0c1R6SHZYZy91RDhxMXlMZW04bTNTaW5m?=
 =?utf-8?B?QVZ3N1BWUU5aQlg5OFVmSmRUS3ZhMy8rOUFFRGEyeGNON1lmV0FhVm9NaXM2?=
 =?utf-8?B?UDc1cTFCRENPUEhWcUdzc0tDbXpMT1l5Ky9iMHpWdzdVSTNRMEtlcjROQmtK?=
 =?utf-8?Q?Bb8y7gzxxcDrKRSJi5qOsHVj1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d03313c-c179-4225-ddfa-08da7c665368
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 13:26:55.5798
 (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: g27epiQWG0Y91ijREqKT3kh1uoOgkXFuaGDumvI3b86MvVRdeB5g+gF9dKI3o+FrkloitWXQSy0u62TYxgHI/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185

On 12.08.2022 14:55, Andrew Cooper wrote:
> There's no point wasting time converting binaries back to asm source.  Just
> use .incbin directly.  Explain in head.S what these binaries are.
> 
> Also, explicitly align the blobs.  They contain 4-byte objects, and happen to
> be 4-byte aligned currently because of the position of `lret` and the size of
> cmdline.S but this is incredibly fragile.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 13:36:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 13:36:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385693.621383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUpp-0000zL-ER; Fri, 12 Aug 2022 13:36:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385693.621383; Fri, 12 Aug 2022 13:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUpp-0000zE-Bf; Fri, 12 Aug 2022 13:36:21 +0000
Received: by outflank-mailman (input) for mailman id 385693;
 Fri, 12 Aug 2022 13:36:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMUpn-0000z8-Df
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 13:36:19 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2048.outbound.protection.outlook.com [40.107.20.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be85fedd-1a43-11ed-bd2e-47488cf2e6aa;
 Fri, 12 Aug 2022 15:36:18 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR0402MB2829.eurprd04.prod.outlook.com (2603:10a6:800:bb::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.22; Fri, 12 Aug
 2022 13:36:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 13:36:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be85fedd-1a43-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FtEAZD/DSPhFUkpoa/BHBu9CiwHHJNU77X9RBYH2bgm7OhQ6BWPZHQ6UMgshi5Ijg5IBqhC7IRGE2H1IdK1u0NcJMLNseuRTIbQEI+JQ7lAIX/qhdCBfJimBtr2+8/+37zzKwYfIJCsPgMoaFyoIvR7zLdRl7oOIW0tNkKRghkbafT698L/eV4w/I2EE9pr4umiv1GfvO2UY+p3uuMTQG+w8YuFKP7GZ6ZsD5J1PCDlwT0eSIaRakezurQoDB0SRGUnshKOMal5iQxxbyioYNf0+G5F9LBYXf8X31thgxbvPHY51WFK6ILJfvbAlEadUEi1MseMWVEpO2rbTQEiBEA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Iqfl8Cj2UteeLx3kleqXE7nVyEqiykx2dL1iQ7dYTiw=;
 b=KOBArhckUWCncH5mRADumSB2i0Nc6Cz337RArdJLrk7FJIeIKBt17cv66vu6eq7ijoyFSHDgMeD/dDpZEibEcuTtFRjpdRkKL9Aff/n70aUjPwHCQ9+CGALJklDgfde29PVhrhB9Oo3cPMKe8s8zDXiJRmC5jo7jEMkXxT4chQosEem7GHEmQLQx4OJFOvJ4LLB98Rxrt4kXQm2OUX9KQko6G/uFE2MtUPooGJ4BYMsk9RXPaz7rJevBVEDn9A/HajsTKDFLop5sTpSWTwWR/y0K7ZeXjHl9V6rt3nubtnz1nCojgApHF7CAnGlFhN6QeO9VAHD3zw+t1sxIQPKp/g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Iqfl8Cj2UteeLx3kleqXE7nVyEqiykx2dL1iQ7dYTiw=;
 b=hO0MmJoe8rH7m3QAWbyVdo89PjCtbli2rU6/mU7ny9gA+IsG30512SD0LVemJeiYiaJ5conNO2fMlIJwgPtEI5LKX/0k+BjmaGMnfvcXBrqhOcJes6aQBEVKfQ9Ft4FjX/S4q+vVA1ZC5q6+Xgqxxmc3RPMLxqNXupRG67ZIbr1tIyuhSsWwNWCBGx3DByBPG0PS51p02/6v8GsnhKvlSFS6tBOBCxDIQr8ZaRuKpYR4U8Yp70Zz75WKmQ+uR0gVMfvPehpQyd5MsBi8bHQxo9XDNCr9zT4laGdfkzwOcuqRmE3vWymHreqSyCh4iiDxNTa9axU8gop8hvIs7M3B0A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <df267b25-a51a-a773-5845-534104540208@suse.com>
Date: Fri, 12 Aug 2022 15:36:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH v4 02/32] tools/firmware/hvmloader: rework Makefile
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Luca Fancellu <luca.fancellu@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-3-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220811164845.38083-3-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0156.eurprd04.prod.outlook.com
 (2603:10a6:20b:331::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 70ad510c-5360-40f1-d008-08da7c67a114
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2829:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MnerG5N6/GcZMrS8jEWrNY5rLNcGhK0y1APpo1FQPNM80o+gMBhZHLeWZPeTNZzrMyaqiY/xQMpJe2F9u+QlLPOVPdVyDLswFMu0a0xnp5jl68D8zjzCwkNUCrSxcsPnFWwQ1gm0OqdUTCfhr1CH3kKeFaQspxL/kBRGzNF9KAFOwEiRQlod0/B7QN+fwcfY3cjmzr4edgSWedAzdVn7e98IK9nOQRQ+ejIzXv7Yjq8+g/6taMHEaoQQCZeSZCzQiCZt6ak1Be/BZn4JwDxg7dlZaAJmVlxv3L4t0WJkRsEacFtZThl7XUzJMcep4dl2HPv6xeelRNN8REosihs0vxlsyd0rm8M3CjsVZ9SAFuBVhy9uXTjZztS7nC/N+iiDmUGXrTUnvzj3rZvmVmxseiG2gayC+iOOuR3wSiDu8D/CZZEnKlzZgYjJl97OHmJfixO5aslWUj4G+qnQPRxhenESbOpdTgOykUtSMyxZ2XnU2GMxGqAhAY7n27uvwpd2evRO7KqNYcrkYLvYb+rPQEpLBTXDFYCcgalML1Dwsd9U84MRDLEa+STPxfSGisMA7CmTonPk9mCwCsfQy3WNGihLeoYYT43bIRWMelgBcvvJjJ/E6V8YOgn9KT2grvP3hFBhc/sH8A0PDkhfWjHa4tfLmCFT1wyKqc6uZMag0lslAX8GGjovieZNtpAR7GL8JDByb/n4ZB/JRkmz4s1a8ZkCWt0B0i5TMWf9vjmxhQ+9qCgFFtg70HsEHVKOOx/WIa04S4jS3/gH7S8pPGTskQQvKFI4X4Z6VwVbldDusWU1tdZKqC9L0VTOnFcLpnD3ViehrDDOvDJG9iN6crSS2w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(136003)(376002)(396003)(39860400002)(31696002)(38100700002)(86362001)(66476007)(66946007)(8676002)(316002)(66556008)(4326008)(5660300002)(2906002)(8936002)(6512007)(54906003)(2616005)(26005)(186003)(6666004)(53546011)(41300700001)(6916009)(6506007)(31686004)(478600001)(6486002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bGRjQmduUCtYYmlrdmt3SEVHdk9wZjQ0V1h4Q2pUS0hmQkg5UTY0dzZxY1R2?=
 =?utf-8?B?dFdwK09nQjNhV25sdFUxbUJBTzJzbndMZXY3ZktFTk9DTFdVU2g4VEF1eG9p?=
 =?utf-8?B?QVZvRnhGMTFSN01CZDlBcnN6QWJ6WWp4SXgvRmMxZW9SbjF5SGxQRVo2dHhG?=
 =?utf-8?B?cExXWWZxeG9TOENGUUF3M3VuY05GSVRpMTlpYTlqQWNCcGwwZTBIcWNTZW96?=
 =?utf-8?B?NXRMNjBtUHF0UHFMYjE4S1dJQ1FMYWJuUEdRNXhHS0t2SnQwajlyQ1NrR1R6?=
 =?utf-8?B?djJ0R1BnTi9YRzZXeU1pMXpnTm52SXB6Z2J2RDh1Q0dFS0lwZks0UitiS1c1?=
 =?utf-8?B?WFhkVVlFWUlOT1paTlMwM2ZRanFVaXhrU1dlMDZBejNKbm5vTHJZZU41MWtN?=
 =?utf-8?B?dmdiUjFzMFBMVEVjSTVDT3EzK3F6QmdJeVozOWNZeHh3dXdlOFRUdUNVazh6?=
 =?utf-8?B?OHUwNzdQVDg3cDdjK1FMNTRxM1BubWtaa2hIL1Rrdlc5UE1FeVlxdDhQUUh3?=
 =?utf-8?B?SFo1WEhpMUU1Y3FpcFFQc3F6VjJqSzNIWCs4bzJ0QUd5dURHSXZiTzdTdkhv?=
 =?utf-8?B?RmpsNUk0bjdmbG9aUDN2TE9IcTV6bWNsbVRPbStnTTdwVGkzYVFpWGhwOTUw?=
 =?utf-8?B?dHRUNmZtdEdiZ1R6b1BaZ0lxY3FmNjZtc0JSRnIxMzc2S0pnRWlOQlJNZXEx?=
 =?utf-8?B?TCtOZVllWTAzbzhxd3VmOEFlK0F5bE45cXdvTEs2VjVVdnVSVVhMelNVVzNT?=
 =?utf-8?B?d1hjdDEzdWlvN2xLWlkwcHB0M0tIUzloZ0E4MThaN2tZa1h5aDlXVnlSeFZH?=
 =?utf-8?B?SzJzbjNYRmdDKzhKdWxoQ2xBMDM4cGNwUVpQV2dMVXpkTVhoRHY5RjE3dkI5?=
 =?utf-8?B?V21pbWZJaEJ4aC9Zc3lWbDZHSWhNb3cwY3dOVXhqK2Q5eWNrcnB6WXEwbUlr?=
 =?utf-8?B?SUZ1K21kK2R6NVpvV05sVXBZNkcrc2VKMzNoMkhJOFQ0RSs1emhsWExGaTRZ?=
 =?utf-8?B?RFpzdk1Fcm9tZkdZdkRLWVM1dTh6ZHl2amJKbmpZb1VUQW1PK0NTYVg3SnlP?=
 =?utf-8?B?UWs1dkt0aFcrN2VOek5rZGZoM0pSSGFMTVFad3VFWTBtSlZCYm45UlRjNEFw?=
 =?utf-8?B?Zm81M0ZJTFhRdGRIN3VxL2JmUnUvUDYwQ3IyL1RuVWtKZUVFQUdFRGpvT0R4?=
 =?utf-8?B?L3lkNHZkNlFpOWFPTldBZlIveGtuVEZSTklxcE53ZklZWVVnY1J6aGRoa0dX?=
 =?utf-8?B?ZW5rNTdsZ0phZ0lCOW9kWElxRGgzOWRPcnVleWoyOVdjMnB6bzdGT054c1hr?=
 =?utf-8?B?eGlHUUszK1dHV2FXMXduYUlTYUtyRG94MjZINHJBcFlScGhzQXQyZTZwZEZh?=
 =?utf-8?B?aFVCVVMyNVdULzFIcEtZdncvdjVVQWRCZ2RqTWZDME1LNnZPeG1WQmJNOUd5?=
 =?utf-8?B?ZXRsVi9NalIwcER0Nks1L2gwMnJxTEhwcGdEMHI3RUZoL1R6K3lHWHZVZWJG?=
 =?utf-8?B?QTJMZDJBdTFpZ0x6RDIwK0NCOUNjR1VocklRVUZMbzBTMERia1NMand2VnZI?=
 =?utf-8?B?dUlTS2ZyQmxwSUx5bXlQekFna3NlMEFrYXRWaGxGem56Y2xHbWtlamo3cTNO?=
 =?utf-8?B?UVNCRGlJTFgrRWVVWlNESXMzL2xaZVhqbmRqTFlMbmlEc2xFc3FoNUo0d3hW?=
 =?utf-8?B?WVV6bDl6Y0t3SzVoM0F1bGhOMHZXcjR5WThXUHVHbmw1TDdUUXVITjh0a2xk?=
 =?utf-8?B?dTJJNjVYeE5xWlJhVlB3NGIwNU81QnErdVJneHZ2L0l3RTMzVVhMaVh4cmha?=
 =?utf-8?B?Rm0yMXZsQk1KUGJuQXBwd0gzalkvWi9mYi9yNldsUVBMa3czZ0FVUXVTSmlr?=
 =?utf-8?B?TXVmVzFCMFNEaEdWVTlva1p3bnRTVUx1bmVUdzFHTzFwQzJTemo2K2Q1bElH?=
 =?utf-8?B?eE96eHhQS0ZSMnpKZGVpbXpDckg3Z2tsZTlJdkJrSDNMN0NBbEhiaTFmV3lG?=
 =?utf-8?B?VUxDdVI3N0lFMHY5KzhuQnZPdTVrNVZrQ1QyUHBlT0I5R2FHbkt0ajJGclFk?=
 =?utf-8?B?WXBGWC9SZ0dta2ZoSmJycFVxSWd2Nmt4NFJFeEdoVzAza2FPL0RlcG1QVGJ4?=
 =?utf-8?Q?yGBfJ9kW/zSEL1eFJcuyYTMdE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 70ad510c-5360-40f1-d008-08da7c67a114
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 13:36:15.3724
 (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: V5KX9EuJftuZuUuut1fG7KuPjZIl7UNt8K9qa0hIHE+HeoKqiOoA84RDyfsHnXWWDL22qmMINjBcvVlP0yoG6Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2829

On 11.08.2022 18:48, Anthony PERARD wrote:
> Setup proper dependencies with libacpi so we don't need to run "make
> hvmloader" in the "all" target. ("build.o" new prerequisite isn't
> exactly proper but a side effect of building the $(DSDT_FILES) is to
> generate the "ssdt_*.h" needed by "build.o".)
> 
> Make use if "-iquote" instead of a plain "-I".
> 
> For "roms.inc" target, use "$(SHELL)" instead of plain "sh". And use
> full path to "mkhex" instead of a relative one. Lastly, add "-f" flag
> to "mv" to avoid a prompt in case the target already exist and we
> don't have write permission.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with one nit (which I'd be happy to take care of while committing):

> @@ -73,12 +72,18 @@ smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(SMBIOS_REL_DATE)\""
>  ACPI_PATH = ../../libacpi
>  DSDT_FILES = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c
>  ACPI_OBJS = $(patsubst %.c,%.o,$(DSDT_FILES)) build.o static_tables.o
> -$(ACPI_OBJS): CFLAGS += -I. -DLIBACPI_STDUTILS=\"$(CURDIR)/util.h\"
> +$(ACPI_OBJS): CFLAGS += -iquote . -DLIBACPI_STDUTILS=\"$(CURDIR)/util.h\"
>  CFLAGS += -I$(ACPI_PATH)
>  vpath build.c $(ACPI_PATH)
>  vpath static_tables.c $(ACPI_PATH)
>  OBJS += $(ACPI_OBJS)
>  
> +$(DSDT_FILES): acpi
> +
> +# Add DSDT_FILES as a prerequisite of "build.o" so that make will also
> +# generates the "ssdt_*.h" headers needed by "build.o".

s/generates/generate/ ?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 13:42:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 13:42:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385702.621394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUvO-0002U1-5H; Fri, 12 Aug 2022 13:42:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385702.621394; Fri, 12 Aug 2022 13:42:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUvO-0002Tu-2b; Fri, 12 Aug 2022 13:42:06 +0000
Received: by outflank-mailman (input) for mailman id 385702;
 Fri, 12 Aug 2022 13:42:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yzoh=YQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oMUvN-0002To-FA
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 13:42:05 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150044.outbound.protection.outlook.com [40.107.15.44])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8cb2dc1a-1a44-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 15:42:04 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR0402MB3813.eurprd04.prod.outlook.com (2603:10a6:209:21::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Fri, 12 Aug
 2022 13:42:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 12 Aug 2022
 13:42:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cb2dc1a-1a44-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LeTiEDlfpRweQHVyvcZTc6KQRQV9nRiCWfmR3eRGgdvKSnhjmVZp9WCx5Um8HhCffVgLtxI4/Ce3WlVjdyC+nJvXx5cPBG/tNQiWtTp15GX6dU2JrNN3qKVKEEHp0nsHewLMf6napqFl5peG8Mtw6frxU61cnwo3YHJsqFi0bIJYVvFmwX5hppBqAtw3+fJGWg8vbaxwM5MEJEUjdOxS5CYeJeftq+bPTmELHWfuIIOwH/iO6+GhiunDAu6yx7NcConLBfGtguQp9N1B2OEvBJQvAeojs7v4Vj1u7mFnnufM1mckMo3eMauPg/hyfqd2j2Nz2ZrpyHFPRUo/cPSM9Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bXcOqjAooVpoBaeqAsiBRv6Sikk7grLEfmW7vimd4Pw=;
 b=BXb5OiUzn3jETWkstcBAlq8O/KI+kmpVKffRBH9HUau19zMy9RwBDh9BE73Y5pdn00uq6rm1kXyP1tQn0rPY8UIcus+2a47oNiJUxcWMm0KZwgMODQVFyR4nmH28THQoPcbJ7DLUmvx2pdHPl1gDdIkRA2u6avI0hnsuezFZpPkVohQdJ4ipJYF82rNzAquNHLBbvirVI+nBuJOM28NvWnGeW91FR4VnEzGAk7akJ0icXQYlz8Xqf75Mbgr13I9c5YeCqDXa6pgKx6MCVZFhbhyLhKwWVbGVy87dIW/d9GW/2vq5hMzi+L3XcfyR0vCs3mr+yUW2qATTFV+Tl4LWCA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bXcOqjAooVpoBaeqAsiBRv6Sikk7grLEfmW7vimd4Pw=;
 b=g73pJsk30gTgpPU0D9L0IFdgM7DXDjJpdEv1JQ41rk6mTlf+cNtZvBj+OALg/5zBzR/ypcN63zen85tt7+cyAYa1o8TSU0dClNIBoWhS58KB/zNPnUmMQoveDDyCJqEyBKwd6KVb3L4CG6KVn9x+Gz188HNEx4VzNTWnPnvb02rjop+awPGhb7FM/NtsU5yzlGf/I6DlsZ3nJxQpeag0SIr/F+dORWJMIvDhryWZafqEBUOZk7SGUE83Cvx4hBlaX5iy8+717H+0e6z86USTdYl+KYeFMYvXj6eKoGoDwFVMXvoxdcJQkKv07tjCbyDRL39snUEKi30HpWmn8yCmcw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eef465fd-31b2-9fda-246a-2c3710a739e4@suse.com>
Date: Fri, 12 Aug 2022 15:41:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH v4 03/32] tools/fuzz/x86_instruction_emulator: rework
 makefile
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Luca Fancellu <luca.fancellu@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-4-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220811164845.38083-4-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0111.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c3::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c5bf68a3-7f7e-4f8d-513c-08da7c686f62
X-MS-TrafficTypeDiagnostic: AM6PR0402MB3813:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L5dUqrVB14qeiVrwNgfevpuGpu84jxP3oRr14Ze+N2PzcdUCt0dGXapGxxdbIZDnAE9UzCjD1OmifFPFRxq/TBMJZBf2Gdyw/r30fgze4ZRTbUf1NIqtgWYVXVqOfzZVpVNmd6oiNprOPP17tHTiVKcq1L8LAkK36FN8N4omxqC/+fOj3f8XuS+P58wBcFZk892Xv2z/S/QnUxTOyE9TWLXocN6lN8RBHXYiEXax0FIeq1LlEPyoo6SRGMBXO+BYqYpdn6tkXnjSCz+VFksFAIbzN3g3Igh+NY0+EgSveUQh9MjbL2PFZpsCcPMsdEK6IbaF42NKCWrR402DyK0RmzHbUXS24v9jMOvHQXcqVYzxLYdPdyf9q44gy7NCWytAjNs6gPBBjOcBQUxE/+DfSmAbj3D49l3++EFjR1c+IBcxcwDRr9tY52RCsLELrgRJEEwQ2XLZvivaIPayb9QMkWgWYFeZmoCMnZJbXPll30GG7dPNHYQhWstBxZsPueEj2ivnwQ1iMMvjsQF2XdFDgXo1Vw9XXrPTiDFR1gmue88XaaAK+OvE4dypq/tZZdt+Vr4gHLr6PMFDaDQUZGexFsJy1eFQ0i7taWedy0c9SDNXzfBzkdDDqZqeCEHO92WrRZ/fQvYh51tFCoDGw14clCjv22HaY4JLYjCu9G8Hu8ArEcoGUTLa+N38RKLuhCxqRJFZyyDSiAL2WAP+TvhiYGGc6ewTobG60zMz/Bbil8wfdWNQu3jDSXwtspqYMW8RAwlP49Kap8uI4nqVCc+F0gdDwyyD7m0xC51GkIVfZQKGMuqp1KPgcx+LF1RNVkrk1D4i6B3xKIc2l3nwux7Klg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(346002)(366004)(39860400002)(396003)(6916009)(6486002)(41300700001)(478600001)(54906003)(4744005)(316002)(4326008)(2906002)(26005)(66556008)(8676002)(38100700002)(66946007)(66476007)(5660300002)(8936002)(31686004)(53546011)(36756003)(31696002)(86362001)(6506007)(2616005)(186003)(83380400001)(6666004)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFA4VEJOb0xiNVJHUHd5UGUzNmRvNXZWMGx3T0lMREJjQ0JHOFBHWjN3QnJ6?=
 =?utf-8?B?SHVGcW9obmhqbDFCT2tJN1ppUHIrN1ZINldDeW5aTksySHdKTk1URUU2d3dK?=
 =?utf-8?B?a0wrOHpCTUxFdlNYTDRyaXYrS2xRMlFmamc3WHpLZmVsaUhjbWZabW8vNzdM?=
 =?utf-8?B?MzNGczJyYzVMajE2azRKWHFWNlB4SUcvNXJqbGM5MmpSZDkyYWhYRkhjTk1t?=
 =?utf-8?B?MUdOdGNGa0F5T0R4bFoxbHZENWNORWRmQXhzTUFQanMwWGliTU5pUG5rdko3?=
 =?utf-8?B?WWJScFFDNG1EcERuQ2ZyREx0TnE4R1hsWWFMclZ5ZEFhNnR3V0lGVnJxNzQ0?=
 =?utf-8?B?K3JXSjd2Y0piaitCaXd0VEhOekZ4dGxCNGN6eUlHQ05zVEh3QzFTVGpYeUl5?=
 =?utf-8?B?YWhmTmgzbEo3akRWSzRXWk9KOEF0cExkWVQ2d2E1c052S09jeUc1a2NBYkt5?=
 =?utf-8?B?QXNpYTNHd3MySC9LS25nU1JBVk1JOTFFS2tkM0xrbGhrNktES1F5L1JEVW9Y?=
 =?utf-8?B?aFFBK2dPSWRBQTlIb0hibHdyZjBOTDhXSm9KTXIwTnVQc3BSSHY1MVZSMi9F?=
 =?utf-8?B?RmZFeGpITWdIcjJ4NWd6b1RFTTZqbHhLTmFEcjNvd1pvQS85STFqMWdkcG55?=
 =?utf-8?B?eUQwYldxa0hYbXZlaGdjVjJ2V1J3dnhSeG5QRkhDRFkyMGtBZVdoV0dJU2VZ?=
 =?utf-8?B?ZmJsZFdKUWpGWnkxWCsvU0VLYU1pa2pTWWlNdFVCN1RRYmFISTlJSlo5cUJ5?=
 =?utf-8?B?RzgzQ2UyMllhM1Rkc0twLzJmais5Qzlrb3BNdlFRWml6K3dWeGc5WjAxUTYr?=
 =?utf-8?B?ZEY1MmxQVXBjckdhNURFcC9iQjBCVlZ3YlRMQkcweEhNSFBSQmIvem5LcUpy?=
 =?utf-8?B?dGNoZzd5Y003ZnhoYXVJNHlxTzBHVmk3SWI2TjREY0pzL3U3TkFmcFNDdHND?=
 =?utf-8?B?UnNla2ZSRW1lZEo0TURNYUtjQ24raHhuRUNFZERoZExVdnQyaFRjVTVaMGU3?=
 =?utf-8?B?b0wydHM3OVE3ZFNZdjRRV0tzVllwaFJ6QkdRdzB1NnVIcUVjcnRDN29JeGE4?=
 =?utf-8?B?Sk5ldUJDVVRVU3ZqRG9yNnpoVndBbzdEZ0lzNUdGYnR3UmlLcFgwcXZaZkd0?=
 =?utf-8?B?eXRJQXRVWWJ0eFhoZTdPeDFVM3VrTW9oVnZEdU5iSE1lUzVjMkdJM0JZNXBp?=
 =?utf-8?B?NkxYY0JlZW1DeWNvYVdWangveUlnTmZKd3R4N0k0TTYrZFRNR2pZSkN2L3Vl?=
 =?utf-8?B?Y0hITU5SYTZPVVhMakgyNGhmdFJiUTNTNnFxd0taRGdKY3lIdmVsZTkvOG5C?=
 =?utf-8?B?T1JLV1BZRE14WElNZG9meDh4Y3o5Q0s0aU9mWVBIb2RCaTZJUDZ6M3lMVTVr?=
 =?utf-8?B?UUtjemozckkzRVhibi9ENkx3K0h5MDkraEJ1ZlhqOXFTU0FLTm8wWGtPQnND?=
 =?utf-8?B?cWpMeUhJOFFEclgvZGhKT1NMMEdzYm82RmpLTDU0ODdhRStvcUQ1a0pnSWdu?=
 =?utf-8?B?Y2FBSURJTVFyUE5Majl0dDV2bVN6b0VHUlRxWncxaEYyYm1DL2FJZGNhbXho?=
 =?utf-8?B?TW1ERGRiUHNrQ0haQmNEUkJzMlN3Y09hL1RzVFEyWHZBNmdjTUhNd1hESFk0?=
 =?utf-8?B?OVpaRW9Ic1g2ZHFjcklVNmFXRnRUNWsrbWN3ZGxETTd5Y2Z1YW41SENsbFhI?=
 =?utf-8?B?NDg4MWRuZWFYTjRycDd0WFAxQk0yNHo2eUl4czRxRlQ3VHBVNnhXdXlBQXpS?=
 =?utf-8?B?dnNzNHhHV3lnbFNveE03Y3VPd3NCRjBzTDBJMHVrdFo3S2dDbnNwb3BaWk9Z?=
 =?utf-8?B?czBvR2l1R2Z3S1B0cTdTamlicDVDRVVvVXBKWDNLSy9tQ1Y0UjgwbG1XdGgy?=
 =?utf-8?B?WEhBc2o1UGwvYU9jRlBQU3ZoTU5SWk1KWmg1bnA1eDlsbVlXZUtBaVYrYXRV?=
 =?utf-8?B?dmgxNllFdEJFSnhOR21aVUorZzdnVnFYbXN4NTRmVGNSQ0FCbGNHRFppSEtE?=
 =?utf-8?B?M0tuWnhSSW9iZXFCVis0VENvbDcxWWMyb1ZLTXNuS2ZFcjg5QVQxSURBMnlX?=
 =?utf-8?B?eTlld2xjdVdlSDZoYkh1cnFTcWFmUmJCN1MwZWNVRGFJRWNES1c4L2ZCd2tK?=
 =?utf-8?Q?tlNID4m0LO0Hsm3e6QNnD2U3F?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5bf68a3-7f7e-4f8d-513c-08da7c686f62
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2022 13:42:01.4909
 (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: NobfnkdrL3OY/egSlIXn/EFGj6EKMtjHUyt8XyyeDvPurq5Rwfix4waiEyXAAOy0VI2X8YVfoEzF0/+hhD3rlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3813

On 11.08.2022 18:48, Anthony PERARD wrote:
> Rework dependencies of all objects. We don't need to add dependencies
> for headers that $(CC) is capable of generating, we only need to
> include $(DEPS_INCLUDE). Some dependencies are still needed so make
> knows to generate symlinks for them.
> 
> We remove the use of "vpath" for cpuid.c. While it works fine for now,
> when we will convert this makefile to subdirmk, vpath will not be
> usable. Also, "-iquote" is now needed to build "cpuid.o".
> 
> Replace "-I." by "-iquote .", so it applies to double-quote includes
> only.
> 
> Rather than checking if a symlink exist, always regenerate the
> symlink. So if the source tree changed location, the symlink is
> updated.
> 
> Since we are creating a new .gitignore for the symlink, also move the
> entry to it.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 13:44:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 13:44:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385710.621404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUxn-00036J-JA; Fri, 12 Aug 2022 13:44:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385710.621404; Fri, 12 Aug 2022 13:44:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMUxn-00036C-GK; Fri, 12 Aug 2022 13:44:35 +0000
Received: by outflank-mailman (input) for mailman id 385710;
 Fri, 12 Aug 2022 13:44:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMUxm-000360-JX; Fri, 12 Aug 2022 13:44:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMUxm-0002vA-Gu; Fri, 12 Aug 2022 13:44:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMUxm-0002ji-4Q; Fri, 12 Aug 2022 13:44:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMUxm-0008AL-3v; Fri, 12 Aug 2022 13:44:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6KGR7unO8mEK/eqD0ViJ/XrTDUH6uCpGHr3tD0FlWBY=; b=KSthfVB4xnn4F57NrImyWmKTKT
	s5Hp7AVowg6YJPpyHwexAdm2Ti00hSyDXIK+20mLh/r2lCJevTuOmFr4qlzZFYjI87oJJVyrubRUP
	cKznpTtC55AtzroV1DIIQenmBFzYD0f6u8FjYLL7Tm9eDmJQLXdx6Uk7hF5a+oJzNEu4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172405-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172405: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 13:44:34 +0000

flight 172405 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172405/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    8 days
Failing since        172148  2022-08-04 21:39:38 Z    7 days   20 attempts
Testing same since   172366  2022-08-10 20:09:54 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1268 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 14:22:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 14:22:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385725.621428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMVYn-0007Tx-Pe; Fri, 12 Aug 2022 14:22:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385725.621428; Fri, 12 Aug 2022 14:22:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMVYn-0007Tq-Lu; Fri, 12 Aug 2022 14:22:49 +0000
Received: by outflank-mailman (input) for mailman id 385725;
 Fri, 12 Aug 2022 14:22:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMVYm-0007Tg-3H; Fri, 12 Aug 2022 14:22:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMVYm-0003eR-2W; Fri, 12 Aug 2022 14:22:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMVYl-0003pB-OH; Fri, 12 Aug 2022 14:22:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMVYl-0002Gr-Nn; Fri, 12 Aug 2022 14:22:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9J4OM5eDM4CYDLVJbO7MUcO7V7WRYx5DpCVRIgWAJfM=; b=BV4P6nFNT9B/MEG0psN8jpT/iy
	8Z/q6m9/DBkSOiIPM0W0QnT0BlGb8o35yv/srscPXxdiUINQ5a6vI/lCl2LzX3UwQ83N6b0QdkBYU
	6I99lx9TIkGUOd940lPtQuCcO6GU3Hg7JSDpSoOLQo+BVmuS94mKvPdsf7Hp3MS5zOMI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172429-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172429: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 14:22:47 +0000

flight 172429 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172429/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   71 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 14:28:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 14:28:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385735.621439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMVeK-00089S-Ct; Fri, 12 Aug 2022 14:28:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385735.621439; Fri, 12 Aug 2022 14:28:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMVeK-00089L-AB; Fri, 12 Aug 2022 14:28:32 +0000
Received: by outflank-mailman (input) for mailman id 385735;
 Fri, 12 Aug 2022 14:28:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=U57A=YQ=citrix.com=prvs=216127e06=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oMVeJ-00089F-Ns
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 14:28:31 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07678af8-1a4b-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 16:28:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07678af8-1a4b-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660314508;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=05dqAkiTBhpyxGoV4e1wykpykEwo5G6nfwS+XlTPG4U=;
  b=N/Fjzyerz/3o2T5KckB+FJhsNYM603zIDbbA051t2lN4ktlcKW47jwn+
   R4tAFMwqR6RajkqAGZldAF7nPtIJINVF3IoUPEyj/jVq/l8wgyop1ZQjY
   P+ErELeCf+pitGAj7QhcETIFHm+V0NByt/DBqMOZpWcW5JRi4zI3ZSp7P
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78405149
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:00Z5nKz3Fv2wBqMWADh6t+czxirEfRIJ4+MujC+fZmUNrF6WrkVTy
 2UXDW3VOKuJajD0Kdp+b4m0pE8FsZeEyNNhSAtl+SAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Eo15K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1QI3sqZIYl99xQOkFx2
 Oc6eCkWYSqc0rfeLLKTEoGAh+wmJcjveogepmth3XfSCvNOrZLrGvuQo4UChXFp254ITa22i
 8kxMFKDaDzJZQFPPVEGToozhu6yilH0ciFCqULTrq0yi4TW5FMhjOCwaYaEEjCMbfprl2LEm
 0vsxW3WKyk1EtaTzROGyn3504cjmgukAdlPRdVU7MVCn1m71mEVThoMWjOTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYeUddNF+wx6CmW17HZpQ2eAwAsSiNKYZoovck9SDguy
 3eAhdavDjtq2IB5UlrEqO3S92nrf3FIcylSPkfoUDfp/fHdj7sv1xnyQ+xEK46Ko8bXSSjrz
 AqV+X1Wa6oosSIb60mq1QmZ3Wr29saZH1NdChb/BTz8sF4gDGKxT8nxsAWAs64dRGqMZgPZ1
 EXojfRy+wzn4XulsCWWCNsAE7iyjxpuGG2N2AU/d3XNGtnExpJCQWyzyGsnTKuRGpxYEQIFm
 WeK0e+r2LddPWGxcYh8aJ+rBsIhwMDITIq7DqmJMIceOMchLWdrGR2CgmbOt10BbWB2yf1vU
 XtlWZ/E4Ykm5VRPk2PtGrZ1PU4DzSEi32LDLa3GI+Cc+ePHPBa9FOZaWGZim8hjs8toVi2Jr
 IsEXyZLoj0DONDDjt7/rtNKcgpbcSlkbX00wuQOHtO+zsNdMDlJI5fsLXkJIOSJQ4w9ej/0w
 0yA
IronPort-HdrOrdr: A9a23:vNEqLK2XgKyyxieTtczi7QqjBLAkLtp133Aq2lEZdPRUGvb4qy
 mLpoV96faUskd0ZJhOo7y90cW7Lk80sKQFh7X5Xo3SOTUO2lHYT72KhLGKq1aLdhEWtNQtt5
 uIG5IOceEYZmIbsS+V2meFL+o=
X-IronPort-AV: E=Sophos;i="5.93,233,1654574400"; 
   d="scan'208";a="78405149"
Date: Fri, 12 Aug 2022 15:28:16 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Luca Fancellu <luca.fancellu@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v4 02/32] tools/firmware/hvmloader: rework Makefile
Message-ID: <YvZjgPEW8uQWp+so@perard.uk.xensource.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-3-anthony.perard@citrix.com>
 <df267b25-a51a-a773-5845-534104540208@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <df267b25-a51a-a773-5845-534104540208@suse.com>

On Fri, Aug 12, 2022 at 03:36:12PM +0200, Jan Beulich wrote:
> On 11.08.2022 18:48, Anthony PERARD wrote:
> > Setup proper dependencies with libacpi so we don't need to run "make
> > hvmloader" in the "all" target. ("build.o" new prerequisite isn't
> > exactly proper but a side effect of building the $(DSDT_FILES) is to
> > generate the "ssdt_*.h" needed by "build.o".)
> > 
> > Make use if "-iquote" instead of a plain "-I".
> > 
> > For "roms.inc" target, use "$(SHELL)" instead of plain "sh". And use
> > full path to "mkhex" instead of a relative one. Lastly, add "-f" flag
> > to "mv" to avoid a prompt in case the target already exist and we
> > don't have write permission.
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> with one nit (which I'd be happy to take care of while committing):
> 
> > @@ -73,12 +72,18 @@ smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(SMBIOS_REL_DATE)\""
> >  ACPI_PATH = ../../libacpi
> >  DSDT_FILES = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c
> >  ACPI_OBJS = $(patsubst %.c,%.o,$(DSDT_FILES)) build.o static_tables.o
> > -$(ACPI_OBJS): CFLAGS += -I. -DLIBACPI_STDUTILS=\"$(CURDIR)/util.h\"
> > +$(ACPI_OBJS): CFLAGS += -iquote . -DLIBACPI_STDUTILS=\"$(CURDIR)/util.h\"
> >  CFLAGS += -I$(ACPI_PATH)
> >  vpath build.c $(ACPI_PATH)
> >  vpath static_tables.c $(ACPI_PATH)
> >  OBJS += $(ACPI_OBJS)
> >  
> > +$(DSDT_FILES): acpi
> > +
> > +# Add DSDT_FILES as a prerequisite of "build.o" so that make will also
> > +# generates the "ssdt_*.h" headers needed by "build.o".
> 
> s/generates/generate/ ?

Yes, thanks.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 15:11:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 15:11:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385750.621468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMWJK-0004p8-RB; Fri, 12 Aug 2022 15:10:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385750.621468; Fri, 12 Aug 2022 15:10:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMWJK-0004p1-Nv; Fri, 12 Aug 2022 15:10:54 +0000
Received: by outflank-mailman (input) for mailman id 385750;
 Fri, 12 Aug 2022 15:10:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMWJJ-0004or-Kz; Fri, 12 Aug 2022 15:10:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMWJJ-0004Th-H1; Fri, 12 Aug 2022 15:10:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMWJJ-00054G-8T; Fri, 12 Aug 2022 15:10:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMWJJ-0002uT-7z; Fri, 12 Aug 2022 15:10:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=M9GN/HIURiSV2gFiBAlYhA8lo4ShcZUMTErOihdvfEM=; b=reI6sfvX8ehQ1ApC0ch+79ytYP
	zMzfIExQKgSzSvmJcqL4ZhoEqBa7ECl7b4Z6xrofooVNNXhz5ki2YUBjexCEd6IjGE9NgcU2PNUgW
	IS6nQ1j6Cq48PjBPuO3We9ONDMMHQgGApDi/lI04ZeMNlCrE33cNQNzA1B0YeDdiQH1k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172408-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172408: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3eb1865ae305772b558757904d81951e31de43de
X-Osstest-Versions-That:
    xen=d7c3c845c44e097d6c980001e108da0bb84ed16f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 15:10:53 +0000

flight 172408 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172408/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172374
 build-i386-libvirt            6 libvirt-build                fail  like 172374
 build-arm64-libvirt           6 libvirt-build                fail  like 172374
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172374
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172374
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172374
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172374
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172374
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172374
 build-armhf-libvirt           6 libvirt-build                fail  like 172374
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172374
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172374
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172374
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3eb1865ae305772b558757904d81951e31de43de
baseline version:
 xen                  d7c3c845c44e097d6c980001e108da0bb84ed16f

Last test of basis   172374  2022-08-11 03:40:12 Z    1 days
Failing since        172387  2022-08-11 13:10:00 Z    1 days    2 attempts
Testing same since   172408  2022-08-12 03:41:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d7c3c845c4..3eb1865ae3  3eb1865ae305772b558757904d81951e31de43de -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 16:30:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 16:30:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385771.621517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMXYT-0005Af-5b; Fri, 12 Aug 2022 16:30:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385771.621517; Fri, 12 Aug 2022 16:30:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMXYT-0005AY-2X; Fri, 12 Aug 2022 16:30:37 +0000
Received: by outflank-mailman (input) for mailman id 385771;
 Fri, 12 Aug 2022 16:30:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMXYR-0005AO-Og; Fri, 12 Aug 2022 16:30:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMXYR-0006La-H7; Fri, 12 Aug 2022 16:30:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMXYR-0001DC-AE; Fri, 12 Aug 2022 16:30:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMXYR-0001pf-9m; Fri, 12 Aug 2022 16:30:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zIUUFWSDDbWoG0n2AvDQEZm/mD9VeELwcsUkgH7lGdQ=; b=q02gjg+5TpQ/34CsTKG0yIsfHz
	gSLT79VozJbIpl0pgPIFnp3EE3ySYT2y/PmNXQjBB2KM4ljN+9usnZIkpMI9mHrK39d8Wnmb+Z2Mt
	PX2aNkX4C+foMFjZg4Ln0tDAOPAEIDtNu6AxBmtjx7rm8Lz4dPkxh3VFJuUt3zINtV6A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172438-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172438: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 16:30:35 +0000

flight 172438 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172438/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   72 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 16:51:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 16:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385781.621527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMXsg-0007Yd-TS; Fri, 12 Aug 2022 16:51:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385781.621527; Fri, 12 Aug 2022 16:51:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMXsg-0007YW-QL; Fri, 12 Aug 2022 16:51:30 +0000
Received: by outflank-mailman (input) for mailman id 385781;
 Fri, 12 Aug 2022 16:51:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMXsg-0007YM-01; Fri, 12 Aug 2022 16:51:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMXsf-0006gW-O3; Fri, 12 Aug 2022 16:51:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMXsf-0003PF-Cn; Fri, 12 Aug 2022 16:51:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMXsf-00035C-CO; Fri, 12 Aug 2022 16:51:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=L79nog6u7cMJ1VfjUBt0JDyvgnTmVdr/4ppoB55YAUA=; b=ulU9vTJ7k+5/YB1m3aab8pDmme
	y29WsPbKwU8AwCzYwQOqAQv4TXMC28jK+fPtXaQIlutvLdJMo71mbQzojCEtSFFku+w+1rDRPH3LB
	twk4eAPjPPeO2+8tuz73PkeRqHYDeC5pVjo/9Pzz8ZE58bEZrEzaP8caeF+fBOB7cpBg=;
To: xen-devel@lists.xenproject.org
Subject: [linux-5.4 bisection] complete build-i386-libvirt
Message-Id: <E1oMXsf-00035C-CO@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 16:51:29 +0000

branch xen-unstable
xenbranch xen-unstable
job build-i386-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172441/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-5.4/build-i386-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/linux-5.4/build-i386-libvirt.libvirt-build --summary-out=tmp/172441.bisection-summary --basis-template=172128 --blessings=real,real-bisect,real-retry linux-5.4 build-i386-libvirt libvirt-build
Searching for failure / basis pass:
 172398 fail [host=nobling1] / 172128 [host=italia0] 172108 [host=italia0] 171923 [host=italia0] 171846 ok.
Failure / basis pass flights: 172398 / 171846
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c0b7679aac90ab6c757bbc61ac4ccfa293ab14df 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 fcd27b3c759995775afb66be6bb7ba1e85da0506
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/osstest/ovmf.git#c0b7679aac90ab6c757bbc61ac4ccfa293ab14df-444260d45ec2a84e8f8c192b3539a3cd5591d009 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84\
 e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#fcd27b3c759995775afb66be6bb7ba1e85da0506-d7c3c845c44e097d6c980001e108da0bb84ed16f
Loaded 10001 nodes in revision graph
Searching for test results:
 171846 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c0b7679aac90ab6c757bbc61ac4ccfa293ab14df 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 fcd27b3c759995775afb66be6bb7ba1e85da0506
 171923 [host=italia0]
 172108 [host=italia0]
 172128 [host=italia0]
 172384 [host=nobling0]
 172400 [host=nobling0]
 172402 [host=nobling0]
 172403 [host=nobling0]
 172404 [host=nobling0]
 172407 [host=nobling0]
 172410 [host=nobling0]
 172412 [host=nobling0]
 172413 [host=nobling0]
 172417 [host=nobling0]
 172419 [host=nobling0]
 172420 [host=nobling0]
 172398 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
 172421 [host=nobling0]
 172423 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c0b7679aac90ab6c757bbc61ac4ccfa293ab14df 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 fcd27b3c759995775afb66be6bb7ba1e85da0506
 172425 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
 172426 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0d0bfcb4571caa65b7875003f38e67e2ac7e5560 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 124f138b37d595294b3100349e26ffb3f1df7b13
 172427 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 7f1c89f16790fc2fa8bc88330dc896941b9b40bb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 5707470bf3103ebae43697a7ac2faced6cd35f92
 172428 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 1774a44ad91d01294bace32b0060ce26da2f0140 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172430 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 37339ba9ef46cf55e077ca50235279f058b01779
 172432 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172433 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0e7add1d75fc75762208af84579e6809589ea6e5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172434 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172436 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172437 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172439 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172440 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172441 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172399 [host=nobling0]
Searching for interesting versions
 Result found: flight 171846 (pass), for basis pass
 For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x558af0c23378) HASH(0x558af0c2fd60) HASH(0x558af0bf5ee0) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef8\
 28bf719b2053ba398b195829413dbdd 0e7add1d75fc75762208af84579e6809589ea6e5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x558af0bc06d0) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 1774a44ad91d01294bace32b0060ce26da2f0140 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458\
 386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x558aeff0b140) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 7f1c89f16790fc2fa8bc88330dc896941b9b40bb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 5707470bf3103ebae43697a7ac2faced6cd35f92, results HASH(0x558af0bf24d0) For basis\
  failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c0b7679aac90ab6c757bbc61ac4ccfa293ab14df 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 fcd27b3c759995775afb66be6bb7ba1e85da0506, results HASH(0x558af0bfeb28) HASH(0x558af0c12568) Result found: flight 172398 (fail), for basis failure (at ancestor ~5413)
 Repro found: flight 172423 (pass), for basis pass
 Repro found: flight 172425 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 3eca64f157c340f9bbf552d89a69698a3090c080 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172434 (pass), for last pass
 Result found: flight 172436 (fail), for first failure
 Repro found: flight 172437 (pass), for last pass
 Repro found: flight 172439 (fail), for first failure
 Repro found: flight 172440 (pass), for last pass
 Repro found: flight 172441 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172441/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/linux-5.4/build-i386-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172441: tolerable ALL FAIL

flight 172441 linux-5.4 real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172441/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build           fail baseline untested


jobs:
 build-i386-libvirt                                           fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 17:10:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 17:10:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385792.621542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMYAZ-0000lo-Hh; Fri, 12 Aug 2022 17:09:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385792.621542; Fri, 12 Aug 2022 17:09:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMYAZ-0000lh-Dj; Fri, 12 Aug 2022 17:09:59 +0000
Received: by outflank-mailman (input) for mailman id 385792;
 Fri, 12 Aug 2022 17:09:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMYAY-0000lX-7Z; Fri, 12 Aug 2022 17:09:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMYAY-00070R-2P; Fri, 12 Aug 2022 17:09:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMYAX-0004rB-NQ; Fri, 12 Aug 2022 17:09:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMYAX-0005Vn-Mx; Fri, 12 Aug 2022 17:09:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RaaF1FS2iuGv6m14Vc0uAVndYadOJQVyhNAyzGAwYiY=; b=Ma0fFr/lXKcFtfNyFfW5g7XGHd
	CoXxhXTk24baEIom0Ja03UVvgHlCBfIu565J7Ef2+berYQjoVRPMK81E+jbUqgulySjMHYV2O6tnj
	is0a4XcBf+uMDnkPDq7Vvof1TfHidLGth/JXYeux7DgOEyZbxPL+07Pm3fmT9+iYQ2v4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172414-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172414: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7ebfc85e2cd7b08f518b526173e9a33b56b3913b
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 17:09:57 +0000

flight 172414 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172414/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                7ebfc85e2cd7b08f518b526173e9a33b56b3913b
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    8 days
Failing since        172152  2022-08-05 04:01:26 Z    7 days   21 attempts
Testing same since   172414  2022-08-12 06:42:58 Z    0 days    1 attempts

------------------------------------------------------------
1301 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 134754 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 17:10:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 17:10:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385802.621553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMYB6-00026X-VT; Fri, 12 Aug 2022 17:10:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385802.621553; Fri, 12 Aug 2022 17:10:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMYB6-00026Q-So; Fri, 12 Aug 2022 17:10:32 +0000
Received: by outflank-mailman (input) for mailman id 385802;
 Fri, 12 Aug 2022 17:10:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMYB5-000267-AI; Fri, 12 Aug 2022 17:10:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMYB5-00072P-9Q; Fri, 12 Aug 2022 17:10:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMYB5-0004t5-06; Fri, 12 Aug 2022 17:10:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMYB4-0006Np-Vu; Fri, 12 Aug 2022 17:10:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KYA2PauWT4aCfdf+38C+CK457uETQZBT79nZoWITsmc=; b=s0JgM/CgD5j8E7pw+CelamxR5X
	qKUYirZO/62Yn/R/XIsD5Bmhv6JzCEpfGuBvIMZQh/cZx/eKCsWQdeVzrQFmwFfX5SKVm53sxYMup
	TRZJM4xk6yvvPflON1QLOhc/BYAo7FHgtoKf+w5SLBs8AZfWXeNNm7i5VxBezxcccoFU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172431-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172431: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1af4e0189f4ef65cb43d79440d71867aad6d3d44
X-Osstest-Versions-That:
    xen=0c614af4a73b77baf1d711c68b8ee0278d7a97a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 17:10:30 +0000

flight 172431 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172431/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172415
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  1af4e0189f4ef65cb43d79440d71867aad6d3d44
baseline version:
 xen                  0c614af4a73b77baf1d711c68b8ee0278d7a97a6

Last test of basis   172415  2022-08-12 07:01:57 Z    0 days
Testing same since   172431  2022-08-12 13:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0c614af4a7..1af4e0189f  1af4e0189f4ef65cb43d79440d71867aad6d3d44 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 17:15:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 17:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385813.621564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMYFm-0002pi-Ie; Fri, 12 Aug 2022 17:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385813.621564; Fri, 12 Aug 2022 17:15:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMYFm-0002pb-EL; Fri, 12 Aug 2022 17:15:22 +0000
Received: by outflank-mailman (input) for mailman id 385813;
 Fri, 12 Aug 2022 17:15:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMYFk-0002pV-O9
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 17:15:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMYFk-00077v-DU; Fri, 12 Aug 2022 17:15:20 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[192.168.11.5])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMYFk-0000i5-5F; Fri, 12 Aug 2022 17:15:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=fWZu0u9Y5erHPDXGbeM/wQVwM6MuxBgsbUkTJ1tpcZg=; b=e+Ce207VFBh0Rd1kLCPezLZSDS
	FMZB36fdA/TtedaYD/Q2yDQozzyve+i9JtMTG09IYwQ6Z9GMeILmOES+aqel0RdPENoLAPa3rtGgj
	HGN2N1JNzJK5TmZq8+jP/QzjkuyNcGJPL8n2X1jcpnzD8aAFn9p4R3k/L2AkYnas/gLc=;
Message-ID: <8a8e66f0-1deb-a215-c171-a7759e0a6057@xen.org>
Date: Fri, 12 Aug 2022 18:15:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v3 5/5] tools/xenstore: add migration stream extensions
 for new features
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220803115950.10904-1-jgross@suse.com>
 <20220803115950.10904-6-jgross@suse.com>
 <f38fdd2d-a463-2e84-8f6b-5acc29e4ff1e@xen.org>
 <6e62b262-f4ef-ecd7-291a-ca39f67c3065@suse.com>
 <68ca5d7c-d443-ea48-3984-ff76652392df@xen.org>
 <9e485550-ae67-151c-daf9-964fdb2a027e@suse.com>
 <65772df3-a462-65fe-864e-d613d32c76e0@xen.org>
 <1455f58e-f035-083d-c1bb-13bafb45f933@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1455f58e-f035-083d-c1bb-13bafb45f933@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 12/08/2022 11:56, Juergen Gross wrote:
> On 12.08.22 11:13, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 08/08/2022 12:31, Juergen Gross wrote:
>>> On 08.08.22 13:00, Julien Grall wrote:
>>>>> This would break the use of xenstore-stubdom for such a setup.
>>>>
>>>> I am not sure why it would break the use of xenstore-stubdom. An 
>>>> application will already need to cope with the case Xenstored 
>>>> doesn't support a feature.
>>>
>>> Someone relying to be able to switch off a feature on a socket 
>>> connection
>>> might get into trouble trying to do the same when running with 
>>> xenstore-stubdom.
>>
>> This is not very different from an application that was built against 
>> an old Xenstored and would not be capable to talk properly with the 
>> new Xenstored if the feature is enabled. I understand that...
>>
>>> Switching a feature off will either not work, or switch the feature 
>>> off for all
>>> dom0 connections (which is a single one, of course).
>>
>> ... when using xenstore-stubdom xenstored it means that the feature 
>> will have to be disable for all dom0 connections.
> 
> Wait, I don't think we can ever add features which will change the 
> behavior of
> Xenstore when those new features aren't being used actively.
That would be fine if you know that your client can support it. Reading 
the rest of the e-mail, AFAIU your aim is to use SET_FEATURES to 
indicate which features is supported by Xenstored. This may or may not 
be supported by the client.

When I replied, I had a different idea in mind for SET_FEATURES. But I 
think it wouldn't work in a generic setup because an handshake would be 
necessary (the client would need to advertise the features it supports).

Anyway, now I understand your point and agree with you the we want to 
only have the field 'features' for ring connection.

Thanks for the clarification!

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 17:34:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 17:34:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385821.621575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMYXy-0005Cf-3v; Fri, 12 Aug 2022 17:34:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385821.621575; Fri, 12 Aug 2022 17:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMYXy-0005CY-0Q; Fri, 12 Aug 2022 17:34:10 +0000
Received: by outflank-mailman (input) for mailman id 385821;
 Fri, 12 Aug 2022 17:34:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Hyho=YQ=citrix.com=prvs=2169cd8bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oMYXw-0005CS-Qm
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 17:34:08 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6182de2-1a64-11ed-924f-1f966e50362f;
 Fri, 12 Aug 2022 19:34:06 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6182de2-1a64-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660325646;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=21FwaPHJw4CnmbhoINqS1ZwiJVXEkaVCTRaLsZ2601E=;
  b=FYAHLJwKKrzptY51Kbt0EiKIjsdUsq7No0E8kgc7OMQ7nkesKllE6YG1
   mUhM9EKZPJLM/cXpRIVCaX1fhtNjKyGQ/7pt1JQcTC8Uv2DQq+out153c
   McTsg8xUuMp7aopAu6pg1NJjMPIgFjsliI7lhnQHneYgw5gYl0Rc67LLV
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77734063
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:2fN/m66Ibxz5LbwDh8IVegxRtFHHchMFZxGqfqrLsTDasY5as4F+v
 jRNUD2EOfneY2uheNBxYNm+pBkH6pPWzNQwGlRpr3hjHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5a6q4lv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJEYtOIwSx99bPUcU1
 uEScAIRZRukue3jldpXSsE07igiBMziPYdZsXB81zDJS/0hRPgvQY2Tu4Uehm1pwJkTQ7COP
 KL1ahI2BPjESzRJNk0aF9QVm+Cwi2OkWzZZtEiUtew85G27IAlZj+eya4aNJIfiqcN9n2ak/
 Hjj+UHAUi4IJMHC2TG0ry2cmbqa9c/8cN1LT+DpnhJwu3WMwkQDBRtQUkG0ydGboEOjX9NUK
 2QP5zEj66M18SSDXtT7GhG1vnOAlhodQMZLVf037hmXzajZ6BrfAXILJgOtc/R/6pVwH2Zzk
 AbUwZW5XlSDrYF5V1qa7bKVpw6LFRQzd0wfb3c2UQAOxOfs9dRbYg30cjpzLEKkpoSrR2mqk
 27a/XVWa6Y71pBSifjilbzTq3f1/8WSEFZojunCdjj9hj6VcrJJcGBBBbLzyf9bZLiUQVCa1
 JTvs5jPtbteZX1hecHkfQnsIF1Kz6zcWNEkqQQzd6TNDhz0k5JZQahe4StlOGBiOdsedDnib
 Sf74F0PvMYOYib6N/AnOupd7vjGKoC+fekJq9iONoYeCnSPXFbvEN5Sib64gDm2zRlEfVAXM
 paHa8e8ZUsn5VBc5GPvH481jO50rh3SMEuJGvgXOTz7jufFDJNUIJ9ZWGazghcRtfnV/ViKo
 okAaqNnCXx3CYXDX8UeyqZLRXhiEJTxLcmtwyCLXoZv+jZbJVw=
IronPort-HdrOrdr: A9a23:TR9V5K2ryysm5eQ/StQVNAqjBLwkLtp133Aq2lEZdPRUGvb4qy
 nIpoV86faUskd3ZJhOo6HiBEDtexzhHP1OkO0s1NWZLWvbUQKTRekIh+aP/9SJIVyGygc378
 ddmsZFZuEYdWIK6PrH3A==
X-IronPort-AV: E=Sophos;i="5.93,233,1654574400"; 
   d="scan'208";a="77734063"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/traps: Make nmi_show_execution_state() more useful
Date: Fri, 12 Aug 2022 18:33:22 +0100
Message-ID: <20220812173322.2222-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

 * Always emit current.  It's critically important.
 * Do not render (0000000000000000) for the symbol in guest context.  It's
   just line-noise.  Instead, explicitly identify which Xen vs guest context.
 * Try to tabulate the data, because there is often lots of it.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/traps.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index b713ef7e77ce..95ef59c93bcd 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -768,8 +768,14 @@ static int cf_check nmi_show_execution_state(
     if ( opt_show_all )
         show_execution_state(regs);
     else
-        printk(XENLOG_ERR "CPU%d @ %04x:%08lx (%pS)\n", cpu, regs->cs,
-               regs->rip, guest_mode(regs) ? NULL : _p(regs->rip));
+    {
+        if ( guest_mode(regs) )
+            printk(XENLOG_ERR "CPU%d\t%pv\t%04x:%p in guest\n",
+                   cpu, current, regs->cs, _p(regs->rip));
+        else
+            printk(XENLOG_ERR "CPU%d\t%pv\t%04x:%p in Xen: %pS\n",
+                   cpu, current, regs->cs, _p(regs->rip), _p(regs->rip));
+    }
     cpumask_clear_cpu(cpu, &show_state_mask);
 
     return 1;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 18:49:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 18:49:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385836.621607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMZiF-0003wu-Oi; Fri, 12 Aug 2022 18:48:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385836.621607; Fri, 12 Aug 2022 18:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMZiF-0003wn-KG; Fri, 12 Aug 2022 18:48:51 +0000
Received: by outflank-mailman (input) for mailman id 385836;
 Fri, 12 Aug 2022 18:48:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMZiE-0003wc-Ol; Fri, 12 Aug 2022 18:48:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMZiE-0000IZ-MM; Fri, 12 Aug 2022 18:48:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMZiE-00004r-9v; Fri, 12 Aug 2022 18:48:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMZiE-0003G7-9X; Fri, 12 Aug 2022 18:48:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9vhQFu0D8mhM3IN9qhqvqzpdGP7IluDrhJqwSsnKggo=; b=SdDTlROOmHFsSq/Zd0Z+pxnRGH
	I/7IX+w5ZwUM9wrqVBehNoG2asIzPRsmEn7ACXZ3MpNl1iP2wlIn0oiABDvKgFXcLyFaIZDSXYLw9
	yB4Hwxj8AkwaaCNsklnmfgbJsc42nDHmu8IpwwDxGv8BngQdIXavVhCbYfkvS1KDRzUQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172443-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172443: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 18:48:50 +0000

flight 172443 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172443/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   73 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:19:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:19:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385846.621616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaC4-0007Hz-3n; Fri, 12 Aug 2022 19:19:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385846.621616; Fri, 12 Aug 2022 19:19:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaC4-0007Hs-11; Fri, 12 Aug 2022 19:19:40 +0000
Received: by outflank-mailman (input) for mailman id 385846;
 Fri, 12 Aug 2022 19:19:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaC2-0007Hm-TJ
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:19:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaC2-0000pg-Gz; Fri, 12 Aug 2022 19:19:38 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaC2-0006Sz-74; Fri, 12 Aug 2022 19:19:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=Fz0+C4f7bozZC/MrmxJqWh27RYFvJRthKSx3P8U0yJI=; b=ZIXUgg
	rAoXNsGeIbgdUHSgWcMd5l2qGJjFZ95HH209JE0MGUz7cYAGYsLRpgZNzS4do+KRh6qXXQJCZr/K8
	/aaazVO4RYdRc3tXT17OaJbjSQJx+pC0cuvWNSVCb+NIohFltRn/ZGQO/vh1I5QEaLZfqgjy6sC4k
	4Ta6l7xTAjU=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Wei.Chen@arm.com,
	bertrand.marquis@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] xen/arm: Add xen/arch/arm/efi/stub.c in .gitignore
Date: Fri, 12 Aug 2022 20:19:30 +0100
Message-Id: <20220812191930.34494-1-julien@xen.org>
X-Mailer: git-send-email 2.37.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Xen build system the symbolic link xen/arch/arm/efi/stub.c. So we want
to ignore it.

Fixes: 7f96859b0d00 ("xen: reuse x86 EFI stub functions for Arm")
Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index ed7bd8bdc76c..0d53eb304993 100644
--- a/.gitignore
+++ b/.gitignore
@@ -295,6 +295,7 @@ xen/.config
 xen/.config.old
 xen/.xen.elf32
 xen/System.map
+xen/arch/arm/efi/stub.c
 xen/arch/x86/boot/mkelf32
 xen/arch/x86/boot/cmdline.S
 xen/arch/x86/boot/reloc.S
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385854.621628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHN-0000Fk-O6; Fri, 12 Aug 2022 19:25:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385854.621628; Fri, 12 Aug 2022 19:25:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHN-0000Fd-LK; Fri, 12 Aug 2022 19:25:09 +0000
Received: by outflank-mailman (input) for mailman id 385854;
 Fri, 12 Aug 2022 19:25:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHM-0000FQ-9y
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:08 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHL-0000xQ-Sv; Fri, 12 Aug 2022 19:25:07 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHL-0006n6-IQ; Fri, 12 Aug 2022 19:25:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=QGnXW4Wry4/tBL2jXolSsyjgqkQRuQIIQb4KjRUDLIY=; b=YZX9OL
	wBxZA2gncGtpQVHbh914vJbBjG4PeSwHbt9rTiwu5kwpN62yupmWC62MNFXbHMafSxINhTo0arfPn
	4kYXzfUCtzlyd30ese3JBukEziA+Rf3dU3EuWAhTORE78eg7berurnPixez2hmRCrbpqRR8PRew7y
	PCV8FZhnaWc=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/7] xen/arm: More clean-ups and improvement
Date: Fri, 12 Aug 2022 20:24:39 +0100
Message-Id: <20220812192448.43016-1-julien@xen.org>
X-Mailer: git-send-email 2.37.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

This is another collection of patches that I accumulated while
reworking the boot code. I am not planning to target Xen 4.17
for the boot code (still working on it and it is risky). But I
the clean-ups and improvement patches could be.

Cheers,

Julien Grall (7):
  xen/arm64: head: Don't set x22 and update the documentation
  xen/arm64: head: Introduce get_table_slot() and use it
  xen/arm32: head: Introduce get_table_slot() and use it
  xen/arm32: heap: Rework adr_l so it doesn't rely on where Xen is
    loaded
  xen/arm32: head: Move earlyprintk messages to .rodata.str
  xen/arm: Tweak the dump page-table walk output
  xen/arm32: traps: Dump more information for hypervisor data abort

 xen/arch/arm/arm32/head.S        | 102 +++++++++++++++----------------
 xen/arch/arm/arm32/traps.c       |   2 +-
 xen/arch/arm/arm64/head.S        |  61 +++++++++---------
 xen/arch/arm/include/asm/traps.h |   1 +
 xen/arch/arm/mm.c                |   2 +-
 5 files changed, 83 insertions(+), 85 deletions(-)

-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385857.621661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHQ-00011V-Ow; Fri, 12 Aug 2022 19:25:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385857.621661; Fri, 12 Aug 2022 19:25:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHQ-00010t-KG; Fri, 12 Aug 2022 19:25:12 +0000
Received: by outflank-mailman (input) for mailman id 385857;
 Fri, 12 Aug 2022 19:25:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHP-0000YD-6H
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHO-0000y0-UO; Fri, 12 Aug 2022 19:25:10 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHO-0006n6-Mf; Fri, 12 Aug 2022 19:25:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=MmRrbC3kvaMa64yr7ie9nAhuc1w7gAgxG0UgP5uX0L8=; b=Ax34ql9MUHf8TDUrgS8BWDGqTs
	g4yKR+4WvfivmMOR11aWb0vt+SAxtgpbEwF6pNTU2PBsYflRFTyFGu8IyDpvorJzau1be9ndyADQQ
	c0EYoKQC5g7ekNGxJMPzwjUvFPG6vbUdQpCdse9Yi8i4CniZxDggKvIqOw3V4yZtRyu4=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 3/7] xen/arm32: head: Introduce get_table_slot() and use it
Date: Fri, 12 Aug 2022 20:24:42 +0100
Message-Id: <20220812192448.43016-4-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

There are a few places in the code that need to find the slot at a
given page-table level.

So create a new macro get_table_slot() for that. This will reduce
the effort to figure out whether the code is doing the right thing.

The new macro is using 'ubfx' (or 'lsr' for the first level) rather
than the existing sequence (mov_w, lsr, and) because it doesn't require
a scratch register and reduce the number of instructions (4 -> 1).

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/arm32/head.S | 56 ++++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 46d93bebbabe..50f6fa4eb38d 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -358,13 +358,31 @@ cpu_init_done:
         mov   pc, r5                        /* Return address is in r5 */
 ENDPROC(cpu_init)
 
+/*
+ * Macro to find the slot number at a given page-table level
+ *
+ * slot:     slot computed
+ * virt:     virtual address
+ * lvl:      page-table level
+ *
+ * Note that ubxf is unpredictable when the end bit is above 32-bit. So we
+ * can't use it for first level offset.
+ */
+.macro get_table_slot, slot, virt, lvl
+    .if \lvl == 1
+        lsr   \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl)
+    .else
+        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
+    .endif
+.endm
+
 /*
  * Macro to create a page table entry in \ptbl to \tbl
  *
  * ptbl:    table symbol where the entry will be created
  * tbl:     table symbol to point to
  * virt:    virtual address
- * shift:   #imm page table shift
+ * lvl:     page-table level
  * mmu:     Is the MMU turned on/off. If not specified it will be off
  *
  * Preserves \virt
@@ -374,11 +392,9 @@ ENDPROC(cpu_init)
  *
  * Note that \virt should be in a register other than r1 - r4
  */
-.macro create_table_entry, ptbl, tbl, virt, shift, mmu=0
-        lsr   r1, \virt, #\shift
-        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
-        and   r1, r1, r2             /* r1 := slot in \tlb */
-        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
+.macro create_table_entry, ptbl, tbl, virt, lvl, mmu=0
+        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tlb */
+        lsl   r1, r1, #3                /* r1 := slot offset in \tlb */
 
         load_paddr r4, \tbl
 
@@ -448,8 +464,8 @@ ENDPROC(cpu_init)
 create_page_tables:
         /* Prepare the page-tables for mapping Xen */
         ldr   r0, =XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, FIRST_SHIFT
-        create_table_entry boot_second, boot_third, r0, SECOND_SHIFT
+        create_table_entry boot_pgtable, boot_second, r0, 1
+        create_table_entry boot_second, boot_third, r0, 2
 
         /* Setup boot_third: */
         adr_l r4, boot_third, mmu=0
@@ -486,12 +502,10 @@ create_page_tables:
          * then the 1:1 mapping will use its own set of page-tables from
          * the second level.
          */
-        lsr   r1, r9, #FIRST_SHIFT
-        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
-        and   r1, r1, r0              /* r1 := first slot */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
         cmp   r1, #XEN_FIRST_SLOT
         beq   1f
-        create_table_entry boot_pgtable, boot_second_id, r9, FIRST_SHIFT
+        create_table_entry boot_pgtable, boot_second_id, r9, 1
         b     link_from_second_id
 
 1:
@@ -501,16 +515,14 @@ create_page_tables:
          * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
          * it.
          */
-        lsr   r1, r9, #SECOND_SHIFT
-        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
-        and   r1, r1, r0             /* r1 := second slot */
+        get_table_slot r1, r9, 2     /* r1 := second slot */
         cmp   r1, #XEN_SECOND_SLOT
         beq   virtphys_clash
-        create_table_entry boot_second, boot_third_id, r9, SECOND_SHIFT
+        create_table_entry boot_second, boot_third_id, r9, 2
         b     link_from_third_id
 
 link_from_second_id:
-        create_table_entry boot_second_id, boot_third_id, r9, SECOND_SHIFT
+        create_table_entry boot_second_id, boot_third_id, r9, 2
 link_from_third_id:
         create_mapping_entry boot_third_id, r9, r9
         mov   pc, lr
@@ -571,9 +583,7 @@ remove_identity_mapping:
          * Find the first slot used. Remove the entry for the first
          * table if the slot is not XEN_FIRST_SLOT.
          */
-        lsr   r1, r9, #FIRST_SHIFT
-        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
-        and   r1, r1, r0              /* r1 := first slot */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
         cmp   r1, #XEN_FIRST_SLOT
         beq   1f
         /* It is not in slot 0, remove the entry */
@@ -587,9 +597,7 @@ remove_identity_mapping:
          * Find the second slot used. Remove the entry for the first
          * table if the slot is not XEN_SECOND_SLOT.
          */
-        lsr   r1, r9, #SECOND_SHIFT
-        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
-        and   r1, r1, r0             /* r1 := second slot */
+        get_table_slot r1, r9, 2     /* r1 := second slot */
         cmp   r1, #XEN_SECOND_SLOT
         beq   identity_mapping_removed
         /* It is not in slot 1, remove the entry */
@@ -628,7 +636,7 @@ setup_fixmap:
 #endif
         /* Map fixmap into boot_second */
         mov_w r0, FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, r0, SECOND_SHIFT, mmu=1
+        create_table_entry boot_second, xen_fixmap, r0, 2, mmu=1
         /* Ensure any page table updates made above have occurred. */
         dsb   nshst
 
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385855.621639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHP-0000Ve-1A; Fri, 12 Aug 2022 19:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385855.621639; Fri, 12 Aug 2022 19:25:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHO-0000VX-T8; Fri, 12 Aug 2022 19:25:10 +0000
Received: by outflank-mailman (input) for mailman id 385855;
 Fri, 12 Aug 2022 19:25:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHN-0000FX-4o
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHM-0000xY-SH; Fri, 12 Aug 2022 19:25:08 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHM-0006n6-Js; Fri, 12 Aug 2022 19:25:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=1G2Qt2AMX5j11jO0S4LFhw33Cq6gRJqjfValRIvJxXM=; b=wG7b+kJxPPFG3besl9gWU5of8e
	C7nM6s3pbhEZDBdgS9KDNWWChZVzaYR74kPR/yg6YpR8XR+7tSIszLd7l5cG+YPywhg3qLBj4HuC3
	GF+2LuvmVa29mkcrbf53zQ5V/vVzdsqoR3Cee/qRnf6TJX4z0oPfDuQBugPX+Gd1hzuM=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/7] xen/arm64: head: Don't set x22 and update the documentation
Date: Fri, 12 Aug 2022 20:24:40 +0100
Message-Id: <20220812192448.43016-2-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Since commit 7e14a47e7c73 ("xen/arm64: head Rework and document
launch()"), the boot code is setting x22 but not read it.

So remove the two instructions setting x22 and update the documentation
to show x22 has no specific purpose.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/arm64/head.S | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 1babcc65d7c9..26cc7705f556 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -71,7 +71,7 @@
  *  x19 - paddr(start)
  *  x20 - phys offset
  *  x21 - DTB address (boot cpu only)
- *  x22 - is_secondary_cpu
+ *  x22 -
  *  x23 - UART address
  *  x24 -
  *  x25 -
@@ -305,8 +305,6 @@ real_start_efi:
 #endif
         PRINT("- Boot CPU booting -\r\n")
 
-        mov   x22, #0                /* x22 := is_secondary_cpu */
-
         bl    check_cpu_mode
         bl    cpu_init
         bl    create_page_tables
@@ -345,8 +343,6 @@ GLOBAL(init_secondary)
         adr   x19, start             /* x19 := paddr (start) */
         sub   x20, x19, x0           /* x20 := phys-offset */
 
-        mov   x22, #1                /* x22 := is_secondary_cpu */
-
         mrs   x0, mpidr_el1
         ldr   x13, =(~MPIDR_HWID_MASK)
         bic   x24, x0, x13           /* Mask out flags to get CPU ID */
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385856.621647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHP-0000d8-JI; Fri, 12 Aug 2022 19:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385856.621647; Fri, 12 Aug 2022 19:25:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHP-0000bb-CI; Fri, 12 Aug 2022 19:25:11 +0000
Received: by outflank-mailman (input) for mailman id 385856;
 Fri, 12 Aug 2022 19:25:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHO-0000OU-3A
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHN-0000xo-TP; Fri, 12 Aug 2022 19:25:09 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHN-0006n6-LI; Fri, 12 Aug 2022 19:25:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=ngshIEE2EN6MEfw9zmbHPOq0MvbgTTFSHuQTBxj5Rkw=; b=6AOrZflQqxWt6ZUuxW+F80X5TW
	UkChC67IgilFd/Mv8haKA1DcebMlYmv7kYezggohNyTbySnsmPaTpFm+bsWk+RkYu01XIg9PCzByT
	e5e6SvFQz0NFelgVgSfpcKU/8vim9tSGvDSFS6WqnAl2WAJ7mZSvqTgxE+5FR5qXKcB4=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/7] xen/arm64: head: Introduce get_table_slot() and use it
Date: Fri, 12 Aug 2022 20:24:41 +0100
Message-Id: <20220812192448.43016-3-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

There are a few places in the code that need to find the slot
at a given page-table level.

So create a new macro get_table_slot() for that. This will reduce
the effort to figure out whether the code is doing the right thing.

Take the opportunity to use 'ubfx'. The only benefits is reducing
the number of instructions from 2 to 1.

The new macro is used everywhere we need to compute the slot. This
requires to tweak the parameter of create_table_entry() to pass
a level rather than shift.

Note, for slot 0 the code is currently skipping the masking part. While
this is fine, it is safer to mask it as technically slot 0 only covers
bit 48 - 39 bit (assuming 4KB page granularity).

Take the opportunity to correct the comment when finding the second
slot for the identity mapping (we are computing the second slot
rather than first).

Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    This patch also has the benefits to reduce the number
    of use of {ZEROETH, FIRST, SECOND, THIRD}_SHIFT. The next
    patch for arm32 will reduce further.
---
 xen/arch/arm/arm64/head.S | 55 +++++++++++++++++++++------------------
 1 file changed, 30 insertions(+), 25 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 26cc7705f556..ad014716db6f 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -493,13 +493,24 @@ cpu_init:
         ret
 ENDPROC(cpu_init)
 
+/*
+ * Macro to find the slot number at a given page-table level
+ *
+ * slot:     slot computed
+ * virt:     virtual address
+ * lvl:      page-table level
+ */
+.macro get_table_slot, slot, virt, lvl
+        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
+.endm
+
 /*
  * Macro to create a page table entry in \ptbl to \tbl
  *
  * ptbl:    table symbol where the entry will be created
  * tbl:     table symbol to point to
  * virt:    virtual address
- * shift:   #imm page table shift
+ * lvl:     page-table level
  * tmp1:    scratch register
  * tmp2:    scratch register
  * tmp3:    scratch register
@@ -511,9 +522,8 @@ ENDPROC(cpu_init)
  *
  * Note that all parameters using registers should be distinct.
  */
-.macro create_table_entry, ptbl, tbl, virt, shift, tmp1, tmp2, tmp3
-        lsr   \tmp1, \virt, #\shift
-        and   \tmp1, \tmp1, #XEN_PT_LPAE_ENTRY_MASK/* \tmp1 := slot in \tlb */
+.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
+        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 := slot in \tlb */
 
         load_paddr \tmp2, \tbl
         mov   \tmp3, #PT_PT                 /* \tmp3 := right for linear PT */
@@ -544,8 +554,7 @@ ENDPROC(cpu_init)
 .macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=PT_MEM_L3
         and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 := PAGE_ALIGNED(phys) */
 
-        lsr   \tmp1, \virt, #THIRD_SHIFT
-        and   \tmp1, \tmp1, #XEN_PT_LPAE_ENTRY_MASK/* \tmp1 := slot in \tlb */
+        get_table_slot \tmp1, \virt, 3      /* \tmp1 := slot in \tlb */
 
         mov   \tmp2, #\type                 /* \tmp2 := right for section PT */
         orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(phys) */
@@ -573,9 +582,9 @@ ENDPROC(cpu_init)
 create_page_tables:
         /* Prepare the page-tables for mapping Xen */
         ldr   x0, =XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_first, x0, ZEROETH_SHIFT, x1, x2, x3
-        create_table_entry boot_first, boot_second, x0, FIRST_SHIFT, x1, x2, x3
-        create_table_entry boot_second, boot_third, x0, SECOND_SHIFT, x1, x2, x3
+        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
+        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
+        create_table_entry boot_second, boot_third, x0, 2, x1, x2, x3
 
         /* Map Xen */
         adr_l x4, boot_third
@@ -612,10 +621,10 @@ create_page_tables:
          * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
          * page-tables from the first level.
          */
-        lsr   x0, x19, #ZEROETH_SHIFT   /* x0 := zeroeth slot */
+        get_table_slot x0, x19, 0       /* x0 := zeroeth slot */
         cmp   x0, #XEN_ZEROETH_SLOT
         beq   1f
-        create_table_entry boot_pgtable, boot_first_id, x19, ZEROETH_SHIFT, x0, x1, x2
+        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, x2
         b     link_from_first_id
 
 1:
@@ -624,11 +633,10 @@ create_page_tables:
          * then the 1:1 mapping will use its own set of page-tables from
          * the second level.
          */
-        lsr   x0, x19, #FIRST_SHIFT
-        and   x0, x0, #XEN_PT_LPAE_ENTRY_MASK  /* x0 := first slot */
+        get_table_slot x0, x19, 1      /* x0 := first slot */
         cmp   x0, #XEN_FIRST_SLOT
         beq   1f
-        create_table_entry boot_first, boot_second_id, x19, FIRST_SHIFT, x0, x1, x2
+        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x2
         b     link_from_second_id
 
 1:
@@ -638,17 +646,16 @@ create_page_tables:
          * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
          * it.
          */
-        lsr   x0, x19, #SECOND_SHIFT
-        and   x0, x0, #XEN_PT_LPAE_ENTRY_MASK  /* x0 := first slot */
+        get_table_slot x0, x19, 2     /* x0 := second slot */
         cmp   x0, #XEN_SECOND_SLOT
         beq   virtphys_clash
-        create_table_entry boot_second, boot_third_id, x19, SECOND_SHIFT, x0, x1, x2
+        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x2
         b     link_from_third_id
 
 link_from_first_id:
-        create_table_entry boot_first_id, boot_second_id, x19, FIRST_SHIFT, x0, x1, x2
+        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1, x2
 link_from_second_id:
-        create_table_entry boot_second_id, boot_third_id, x19, SECOND_SHIFT, x0, x1, x2
+        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
 link_from_third_id:
         create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
         ret
@@ -705,7 +712,7 @@ remove_identity_mapping:
          * Find the zeroeth slot used. Remove the entry from zeroeth
          * table if the slot is not XEN_ZEROETH_SLOT.
          */
-        lsr   x1, x19, #ZEROETH_SHIFT   /* x1 := zeroeth slot */
+        get_table_slot x1, x19, 0       /* x1 := zeroeth slot */
         cmp   x1, #XEN_ZEROETH_SLOT
         beq   1f
         /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
@@ -718,8 +725,7 @@ remove_identity_mapping:
          * Find the first slot used. Remove the entry for the first
          * table if the slot is not XEN_FIRST_SLOT.
          */
-        lsr   x1, x19, #FIRST_SHIFT
-        and   x1, x1, #XEN_PT_LPAE_ENTRY_MASK  /* x1 := first slot */
+        get_table_slot x1, x19, 1       /* x1 := first slot */
         cmp   x1, #XEN_FIRST_SLOT
         beq   1f
         /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
@@ -732,8 +738,7 @@ remove_identity_mapping:
          * Find the second slot used. Remove the entry for the first
          * table if the slot is not XEN_SECOND_SLOT.
          */
-        lsr   x1, x19, #SECOND_SHIFT
-        and   x1, x1, #XEN_PT_LPAE_ENTRY_MASK  /* x1 := first slot */
+        get_table_slot x1, x19, 2       /* x1 := second slot */
         cmp   x1, #XEN_SECOND_SLOT
         beq   identity_mapping_removed
         /* It is not in slot 1, remove the entry */
@@ -771,7 +776,7 @@ setup_fixmap:
 #endif
         /* Map fixmap into boot_second */
         ldr   x0, =FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, x0, SECOND_SHIFT, x1, x2, x3
+        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
         /* Ensure any page table updates made above have occurred. */
         dsb   nshst
 
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385858.621672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHS-0001KW-69; Fri, 12 Aug 2022 19:25:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385858.621672; Fri, 12 Aug 2022 19:25:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHS-0001Jd-1j; Fri, 12 Aug 2022 19:25:14 +0000
Received: by outflank-mailman (input) for mailman id 385858;
 Fri, 12 Aug 2022 19:25:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHQ-0000wg-9V
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHP-0000yE-W3; Fri, 12 Aug 2022 19:25:11 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHP-0006n6-O5; Fri, 12 Aug 2022 19:25:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=UfWb+n83nlA+FfpERZvzgicr1KFfkvvT5C3RMOVERFw=; b=W2b0baSx43V013hbPf7SzcRvE0
	v/ztQ6YwuCVWGKXQGcZxazGfi2Flfd+KVf1T8WS98QpgSNX+g6zRFe7dzqvLEMEwgAHE6WNpOb3Xo
	CEo/Uth0uA0+CJANi7xO3p5FxPZsW+wp2jGvk7cy2ZyfxGgeeUjKdg8HVpxN3qZ15vHM=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 4/7] xen/arm32: heap: Rework adr_l so it doesn't rely on where Xen is loaded
Date: Fri, 12 Aug 2022 20:24:43 +0100
Message-Id: <20220812192448.43016-5-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, the macro addr_l needs to know whether the caller
is running with the MMU on. This is fine today because there are
only two possible cases:
 1) MMU off
 2) MMU on and linked to the virtual address

This is still cumbersome to use for the developer as they need
to know if the MMU is on.

Thankfully, Linux developpers came up with a great way to allow
adr_l to work within the range +/- 4GB of PC by emitting a PC-relative
reference [1].

Re-use the same approach on Arm and drop the parameter 'mmu'.

[1] 0b1674638a5c ("ARM: assembler: introduce adr_l, ldr_l and str_l macros")

Signed-off-by: Julien Grall <jgrall@amazon.com>

----
    I haven't added an Origin tag because this is quite different
    from the Linux commit. I am happy to add one if this is desired..
---
 xen/arch/arm/arm32/head.S | 38 +++++++++++++++-----------------------
 1 file changed, 15 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 50f6fa4eb38d..27d02ac8d68f 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -49,20 +49,16 @@
 .endm
 
 /*
- * There are no easy way to have a PC relative address within the range
- * +/- 4GB of the PC.
+ * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
+ * within the range +/- 4GB of the PC.
  *
- * This macro workaround it by asking the user to tell whether the MMU
- * has been turned on or not.
- *
- * When the MMU is turned off, we need to apply the physical offset
- * (r10) in order to find the associated physical address.
+ * @dst: destination register
+ * @sym: name of the symbol
  */
-.macro adr_l, dst, sym, mmu
-        ldr   \dst, =\sym
-        .if \mmu == 0
-        add   \dst, \dst, r10
-        .endif
+.macro adr_l, dst, sym
+        mov_w \dst, \sym - .Lpc\@
+        .set  .Lpc\@, .+ 8          /* PC bias */
+        add   \dst, \dst, pc
 .endm
 
 .macro load_paddr rb, sym
@@ -383,7 +379,6 @@ ENDPROC(cpu_init)
  * tbl:     table symbol to point to
  * virt:    virtual address
  * lvl:     page-table level
- * mmu:     Is the MMU turned on/off. If not specified it will be off
  *
  * Preserves \virt
  * Clobbers r1 - r4
@@ -392,7 +387,7 @@ ENDPROC(cpu_init)
  *
  * Note that \virt should be in a register other than r1 - r4
  */
-.macro create_table_entry, ptbl, tbl, virt, lvl, mmu=0
+.macro create_table_entry, ptbl, tbl, virt, lvl
         get_table_slot r1, \virt, \lvl  /* r1 := slot in \tlb */
         lsl   r1, r1, #3                /* r1 := slot offset in \tlb */
 
@@ -402,7 +397,7 @@ ENDPROC(cpu_init)
         orr   r2, r2, r4             /*           + \tlb paddr */
         mov   r3, #0
 
-        adr_l r4, \ptbl, \mmu
+        adr_l r4, \ptbl
 
         strd  r2, r3, [r4, r1]
 .endm
@@ -415,17 +410,14 @@ ENDPROC(cpu_init)
  * virt:    virtual address
  * phys:    physical address
  * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
- * mmu:     Is the MMU turned on/off. If not specified it will be off
  *
  * Preserves \virt, \phys
  * Clobbers r1 - r4
  *
- * * Also use r10 for the phys offset.
- *
  * Note that \virt and \paddr should be in other registers than r1 - r4
  * and be distinct.
  */
-.macro create_mapping_entry, ptbl, virt, phys, type=PT_MEM_L3, mmu=0
+.macro create_mapping_entry, ptbl, virt, phys, type=PT_MEM_L3
         mov_w r2, XEN_PT_LPAE_ENTRY_MASK
         lsr   r1, \virt, #THIRD_SHIFT
         and   r1, r1, r2             /* r1 := slot in \tlb */
@@ -438,7 +430,7 @@ ENDPROC(cpu_init)
         orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
         mov   r3, #0
 
-        adr_l r4, \ptbl, \mmu
+        adr_l r4, \ptbl
 
         strd  r2, r3, [r4, r1]
 .endm
@@ -468,7 +460,7 @@ create_page_tables:
         create_table_entry boot_second, boot_third, r0, 2
 
         /* Setup boot_third: */
-        adr_l r4, boot_third, mmu=0
+        adr_l r4, boot_third
 
         lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
         lsl   r2, r2, #THIRD_SHIFT
@@ -632,11 +624,11 @@ setup_fixmap:
 #if defined(CONFIG_EARLY_PRINTK)
         /* Add UART to the fixmap table */
         ldr   r0, =EARLY_UART_VIRTUAL_ADDRESS
-        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3, mmu=1
+        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
 #endif
         /* Map fixmap into boot_second */
         mov_w r0, FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, r0, 2, mmu=1
+        create_table_entry boot_second, xen_fixmap, r0, 2
         /* Ensure any page table updates made above have occurred. */
         dsb   nshst
 
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385860.621683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHT-0001cI-KC; Fri, 12 Aug 2022 19:25:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385860.621683; Fri, 12 Aug 2022 19:25:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHT-0001bf-CH; Fri, 12 Aug 2022 19:25:15 +0000
Received: by outflank-mailman (input) for mailman id 385860;
 Fri, 12 Aug 2022 19:25:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHR-0001CF-BA
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHR-0000yS-13; Fri, 12 Aug 2022 19:25:13 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHQ-0006n6-PT; Fri, 12 Aug 2022 19:25:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=KSNSRhk/b7PF+Veoqw2eqLMcjCDzJVoJhlmghRfM920=; b=ZCkoDm+ZTirO4BNHjMNk5xuq33
	f3rtyXAH3xWYCjq79zyYeHN2QV+2yLqY6vW97Eu3JLKvZnY8hFYAFlnUO84vIXG3hmy+zt+pYG84p
	JnLwH6tMPpXjgCHTrYAZ3AgMerdBr8qCs382VleKjRokRwzoeBp0Xn7ubJG9iGjpm3tg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to .rodata.str
Date: Fri, 12 Aug 2022 20:24:44 +0100
Message-Id: <20220812192448.43016-6-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, the strings are in text right after each use because
the instruction 'adr' has specific requirement on the location
and the compiler will forbid cross section label.

The macro 'adr_l' was recently reworked so the caller doesn't need
to know whether the MMU is on. This makes it easier to use where
instructions can be run in both context.

This also means that the strings don't need to be part of .text
anymore. So move them to .rodata.str.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/arm32/head.S | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 27d02ac8d68f..a558c2a6876e 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -93,13 +93,10 @@
  */
 #define PRINT(_s)           \
         mov   r3, lr       ;\
-        adr   r0, 98f      ;\
+        adr_l r0, 98f      ;\
         bl    puts         ;\
         mov   lr, r3       ;\
-        b     99f          ;\
-98:     .asciz _s          ;\
-        .align 2           ;\
-99:
+        RODATA_STR(98, _s)
 
 /*
  * Macro to print the value of register \rb
@@ -736,7 +733,7 @@ ENDPROC(puts)
  * Clobbers r0-r3
  */
 putn:
-        adr   r1, hex
+        adr_l r1, hex
         mov   r3, #8
 1:
         early_uart_ready r11, r2
@@ -749,8 +746,7 @@ putn:
         mov   pc, lr
 ENDPROC(putn)
 
-hex:    .ascii "0123456789abcdef"
-        .align 2
+RODATA_STR(hex, "0123456789abcdef")
 
 #else  /* CONFIG_EARLY_PRINTK */
 
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385862.621688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHU-0001hU-5n; Fri, 12 Aug 2022 19:25:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385862.621688; Fri, 12 Aug 2022 19:25:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHT-0001fu-Sf; Fri, 12 Aug 2022 19:25:15 +0000
Received: by outflank-mailman (input) for mailman id 385862;
 Fri, 12 Aug 2022 19:25:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHT-0001Zh-43
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHS-0000yh-2I; Fri, 12 Aug 2022 19:25:14 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHR-0006n6-Qr; Fri, 12 Aug 2022 19:25:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=eGtlPOnezZCPLrLes6dERbD5TA/IOWPTENXfEX+3CEs=; b=6Te1Jx2dnT6deYglAWnLaUUau3
	U/r15cOgOvWaXvMcF/a2mzL/7pyf8Rm4JGqCykyoOIXjqAcwWlGqtMDz0XdHLsceAKfT3bkQYD4v0
	uOATOoul/JA3wyyWq3riti4jsIA1JPT+uXkQirm1j/5103YUwlLmCN5N5xgc4mu1b0NM=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 6/7] xen/arm: Tweak the dump page-table walk output
Date: Fri, 12 Aug 2022 20:24:45 +0100
Message-Id: <20220812192448.43016-7-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Currently the output is looking like:

(XEN) 1ST[0x1] = 0x000000004015ff7f
(XEN) 2ND[0x1f] = 0x00500000bfe00f7d

The content of the entries are not aligned making a bit trickier to
read (I appreciate this is a matter of taste).

Align the values by forcing the index to be always printed using
3 characters (enough to cover 512 in hexadecimal).

New output:

(XEN) 1ST[0x001] = 0x000000004015ff7f
(XEN) 2ND[0x01f] = 0x00500000bfe00f7d

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/mm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b42cddb1b446..c81c706c8b23 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -234,7 +234,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
 
         pte = mapping[offsets[level]];
 
-        printk("%s[0x%x] = 0x%"PRIpaddr"\n",
+        printk("%s[0x%03x] = 0x%"PRIpaddr"\n",
                level_strs[level], offsets[level], pte.bits);
 
         if ( level == 3 || !pte.walk.valid || !pte.walk.table )
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385863.621701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHV-00026p-RX; Fri, 12 Aug 2022 19:25:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385863.621701; Fri, 12 Aug 2022 19:25:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHV-00025t-Fv; Fri, 12 Aug 2022 19:25:17 +0000
Received: by outflank-mailman (input) for mailman id 385863;
 Fri, 12 Aug 2022 19:25:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHT-0001c6-Cy
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHT-0000yr-3l; Fri, 12 Aug 2022 19:25:15 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHS-0006n6-SF; Fri, 12 Aug 2022 19:25:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=N0+B5XI5k/0P7I6pJAFTgtxvabGcKL0aymNxJrmp098=; b=7DIcsA5igRjgb1+LpFavAWnCwf
	wBTHUqkSDjwyxf9Xaylx9d33crE1BD4l1az20wETg1Ik5LUi85syQEujQh5AXegA7kgzuHIDIIveJ
	PWUdDnq80nOUhbGp6YcbBvpdOjiDc8ExeqedyidYHN67sxCuQfPHlwCcSonFdbAc1/Hg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 7/8] patch arm32-tweak-enable-mmu.patch
Date: Fri, 12 Aug 2022 20:24:46 +0100
Message-Id: <20220812192448.43016-8-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

---
 xen/arch/arm/arm32/head.S | 50 +++++++++++++++++++++++----------------
 1 file changed, 30 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index a558c2a6876e..a914ffab98a5 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -167,19 +167,12 @@ past_zImage:
         bl    check_cpu_mode
         bl    cpu_init
         bl    create_page_tables
-        bl    enable_mmu
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   r0, =primary_switched
-        mov   pc, r0
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, primary_switched
+        b     enable_mmu
+
 primary_switched:
-        /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to
-         * avoid having to worry about replacing existing mapping
-         * afterwards.
-         */
-        bl    remove_identity_mapping
         bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -223,12 +216,10 @@ GLOBAL(init_secondary)
         bl    check_cpu_mode
         bl    cpu_init
         bl    create_page_tables
-        bl    enable_mmu
-
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   r0, =secondary_switched
-        mov   pc, r0
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, secondary_switched
+        b     enable_mmu
 secondary_switched:
         /*
          * Non-boot CPUs need to move on to the proper pagetables, which were
@@ -523,9 +514,11 @@ virtphys_clash:
 ENDPROC(create_page_tables)
 
 /*
- * Turn on the Data Cache and the MMU. The function will return on the 1:1
- * mapping. In other word, the caller is responsible to switch to the runtime
- * mapping.
+ * Turn on the Data Cache and the MMU. The function will return
+ * to the virtual address provided in LR (e.g. the runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to
  *
  * Clobbers r0 - r3
  */
@@ -551,7 +544,24 @@ enable_mmu:
         dsb                          /* Flush PTE writes and finish reads */
         mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
         isb                          /* Now, flush the icache */
-        mov   pc, lr
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        mov_w r0, 1f
+        mov   pc, r0
+1:
+        /*
+         * The 1:1 map may clash with other parts of the Xen virtual memory
+         * layout. As it is not used anymore, remove it completely to
+         * avoid having to worry about replacing existing mapping
+         * afterwards.
+         *
+         * On return this will jump to the virtual address requested by
+         * the caller.
+         */
+        b     remove_identity_mapping
 ENDPROC(enable_mmu)
 
 /*
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385864.621704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHW-0002Au-6j; Fri, 12 Aug 2022 19:25:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385864.621704; Fri, 12 Aug 2022 19:25:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHV-00029I-UC; Fri, 12 Aug 2022 19:25:17 +0000
Received: by outflank-mailman (input) for mailman id 385864;
 Fri, 12 Aug 2022 19:25:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHU-0001lw-8p
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHU-0000z9-5C; Fri, 12 Aug 2022 19:25:16 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHT-0006n6-Te; Fri, 12 Aug 2022 19:25:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=iOLL1u2KoKBoa80MrMv6wujMJrVVx1Fxvbp2RjO3MMA=; b=f5qp8btfoRdImdkDqASaD7T85+
	yj990o51158GqrHmrDZEDwMYd1ULtU8pkzcJy8NYeBrBcAqCHX3Ts2p1Ppw1jdv9HR+lu0EnvdCyQ
	5PcKIr3v5TTdAk08OjvcQRJHoNGhxzUHr1bGhTYzlhBzSN8nxjnY4wQTAlIzTm7z5hMM=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 7/7] xen/arm32: traps: Dump more information for hypervisor data abort
Date: Fri, 12 Aug 2022 20:24:47 +0100
Message-Id: <20220812192448.43016-9-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Unlike arm64, on arm32 there are no extra information dumped (e.g.
page table walk) for hypervisor data abort.

For data abort, the HSR will be set properly and so replace the call
to do_unexpected_trap() with do_trap_hyp_sync() to dispatch the error.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/arm32/traps.c       | 2 +-
 xen/arch/arm/include/asm/traps.h | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index a4ce2b92d904..a2fc1c22cbc9 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -81,7 +81,7 @@ void do_trap_data_abort(struct cpu_user_regs *regs)
     if ( VABORT_GEN_BY_GUEST(regs) )
         do_trap_guest_serror(regs);
     else
-        do_unexpected_trap("Data Abort", regs);
+        do_trap_hyp_sync(regs);
 }
 
 void finalize_instr_emulation(const struct instr_details *instr)
diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
index 08bc0b484c75..883dae368eac 100644
--- a/xen/arch/arm/include/asm/traps.h
+++ b/xen/arch/arm/include/asm/traps.h
@@ -73,6 +73,7 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
 
 void noreturn do_unexpected_trap(const char *msg,
                                  const struct cpu_user_regs *regs);
+void do_trap_hyp_sync(struct cpu_user_regs *regs);
 
 /* Functions for pending virtual abort checking window. */
 void abort_guest_exit_start(void);
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 19:25:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 19:25:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385866.621719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHY-0002bZ-2L; Fri, 12 Aug 2022 19:25:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385866.621719; Fri, 12 Aug 2022 19:25:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMaHX-0002Yn-Iy; Fri, 12 Aug 2022 19:25:19 +0000
Received: by outflank-mailman (input) for mailman id 385866;
 Fri, 12 Aug 2022 19:25:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMaHV-00025p-CZ
 for xen-devel@lists.xenproject.org; Fri, 12 Aug 2022 19:25:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHV-0000zS-6d; Fri, 12 Aug 2022 19:25:17 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMaHU-0006n6-V4; Fri, 12 Aug 2022 19:25:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=iOLL1u2KoKBoa80MrMv6wujMJrVVx1Fxvbp2RjO3MMA=; b=HV8AcaitSCtPNQGvgTR11HlGYd
	zs8drn6eNZQeqwFDC9Jp9OYpQgzrYGxLlwpxRXyIXXxhM7VSKQcQHfVC7dsWS8tuSjIiRYVIIEyav
	dG1AYdqaFUi3rl/H1v+22NiLoB2NqPLwEZPN6Nl6QBtjVbMsNAWenMdlAlS6ElSrwPdk=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 8/8] xen/arm32: traps: Dump more information for hypervisor data abort
Date: Fri, 12 Aug 2022 20:24:48 +0100
Message-Id: <20220812192448.43016-10-julien@xen.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20220812192448.43016-1-julien@xen.org>
References: <20220812192448.43016-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Unlike arm64, on arm32 there are no extra information dumped (e.g.
page table walk) for hypervisor data abort.

For data abort, the HSR will be set properly and so replace the call
to do_unexpected_trap() with do_trap_hyp_sync() to dispatch the error.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/arm32/traps.c       | 2 +-
 xen/arch/arm/include/asm/traps.h | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index a4ce2b92d904..a2fc1c22cbc9 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -81,7 +81,7 @@ void do_trap_data_abort(struct cpu_user_regs *regs)
     if ( VABORT_GEN_BY_GUEST(regs) )
         do_trap_guest_serror(regs);
     else
-        do_unexpected_trap("Data Abort", regs);
+        do_trap_hyp_sync(regs);
 }
 
 void finalize_instr_emulation(const struct instr_details *instr)
diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
index 08bc0b484c75..883dae368eac 100644
--- a/xen/arch/arm/include/asm/traps.h
+++ b/xen/arch/arm/include/asm/traps.h
@@ -73,6 +73,7 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
 
 void noreturn do_unexpected_trap(const char *msg,
                                  const struct cpu_user_regs *regs);
+void do_trap_hyp_sync(struct cpu_user_regs *regs);
 
 /* Functions for pending virtual abort checking window. */
 void abort_guest_exit_start(void);
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 12 20:39:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 20:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385940.621749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMbQn-0004RC-K4; Fri, 12 Aug 2022 20:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385940.621749; Fri, 12 Aug 2022 20:38:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMbQn-0004R5-HY; Fri, 12 Aug 2022 20:38:57 +0000
Received: by outflank-mailman (input) for mailman id 385940;
 Fri, 12 Aug 2022 20:38:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMbQm-0004Qv-3B; Fri, 12 Aug 2022 20:38:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMbQm-0002LY-2K; Fri, 12 Aug 2022 20:38:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMbQl-0007aq-RI; Fri, 12 Aug 2022 20:38:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMbQl-0004h4-Qq; Fri, 12 Aug 2022 20:38:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=u+DuHP3rasfVyPXmNt8udZLS16UZhLT1lOMH59Jy2T8=; b=I5T7wHUjGOtj0TEhe3npRzZiAH
	aF39XMYKCI/9M/v4mLGPz4D2Qsae0P0iEM+sAGmjpce1AMfPkWPkSN7k1b+t0SC+lMW1ULtGb6Ge+
	UPJohiO8VPx8xOmw1OWSyyMKrqOZbmDMY+ifa4VFA0k3SGdM088AoRCaAl7EhTTQQ4Fk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172446-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172446: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3dc26edbb5417d90d32df6aa70d7c4187dd9966e
X-Osstest-Versions-That:
    xen=1af4e0189f4ef65cb43d79440d71867aad6d3d44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 20:38:55 +0000

flight 172446 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172446/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172431
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3dc26edbb5417d90d32df6aa70d7c4187dd9966e
baseline version:
 xen                  1af4e0189f4ef65cb43d79440d71867aad6d3d44

Last test of basis   172431  2022-08-12 13:00:24 Z    0 days
Testing same since   172446  2022-08-12 18:00:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1af4e0189f..3dc26edbb5  3dc26edbb5417d90d32df6aa70d7c4187dd9966e -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 20:58:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 20:58:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385950.621761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMbk3-0006py-Bg; Fri, 12 Aug 2022 20:58:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385950.621761; Fri, 12 Aug 2022 20:58:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMbk3-0006pr-86; Fri, 12 Aug 2022 20:58:51 +0000
Received: by outflank-mailman (input) for mailman id 385950;
 Fri, 12 Aug 2022 20:58:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMbk1-0006ph-IE; Fri, 12 Aug 2022 20:58:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMbk1-0002ga-EO; Fri, 12 Aug 2022 20:58:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMbk1-0008NU-01; Fri, 12 Aug 2022 20:58:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMbk0-0000S3-Ve; Fri, 12 Aug 2022 20:58:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5tg8lqno5GP/Ix8QprNjNMNWy4mq28YKhP36/NCU6yA=; b=UBJDu88jyulZ19ahvPdwFn1xCv
	m9yB/3LpzGAFOmGAKpnJmLh8EoWkOAoxX+rcvdX7I0n0GF84fycNaSSj5CTGo9KWxVR8mx+t9kq98
	0Cvl+Wy/F/rt0atFuI38nU7ld/KWaxkE5isEXBe+0d9Son+FhKuCbkHwULrhlIWxf9WM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172422-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172422: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 20:58:48 +0000

flight 172422 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172422/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z    8 days
Testing same since   172384  2022-08-11 11:13:58 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 12 21:42:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Aug 2022 21:42:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385963.621778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMcPp-0003Yw-Mh; Fri, 12 Aug 2022 21:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385963.621778; Fri, 12 Aug 2022 21:42:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMcPp-0003Yp-Ic; Fri, 12 Aug 2022 21:42:01 +0000
Received: by outflank-mailman (input) for mailman id 385963;
 Fri, 12 Aug 2022 21:41:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMcPn-0003Yf-Ol; Fri, 12 Aug 2022 21:41:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMcPn-0003R6-MQ; Fri, 12 Aug 2022 21:41:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMcPn-00028V-8d; Fri, 12 Aug 2022 21:41:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMcPn-0007xz-8D; Fri, 12 Aug 2022 21:41:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=drefJOZhgj+e7fySC3vWUgOrpD4tbH0/1lD2S+izM9s=; b=czO8lWuQajIyGsH/eWqiu54vtX
	hNbtZ+Ae9uf4D+KK5TpL9JCyzhAL0nkbSCft+Iv6Um4QNN9NhoJfCoCxDsNpM2OsUCyae0WWcTeZx
	1qMRln2rrkvc9dgnImVij9TlvOU4mphPygLiSrG4a07KLUPfbeo2F/9pfrQ0Lt1dGYIU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172449-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172449: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Aug 2022 21:41:59 +0000

flight 172449 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172449/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   74 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 00:04:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 00:04:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385981.621814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMedd-0000rp-5C; Sat, 13 Aug 2022 00:04:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385981.621814; Sat, 13 Aug 2022 00:04:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMedc-0000ri-Vf; Sat, 13 Aug 2022 00:04:24 +0000
Received: by outflank-mailman (input) for mailman id 385981;
 Sat, 13 Aug 2022 00:04:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMedb-0000rY-Vc; Sat, 13 Aug 2022 00:04:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMedb-0006Q7-Qx; Sat, 13 Aug 2022 00:04:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMedb-0003nQ-KQ; Sat, 13 Aug 2022 00:04:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMedb-0008EZ-Ju; Sat, 13 Aug 2022 00:04:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sNqglq61eM6+7jMNGU0c4wIbokfcEe4Kr0LR/w+ldXA=; b=pJISuioabaZU4r8yk23kj73BPY
	3s3dLpjc1c8xlbxhorHXklCKk5jXZo6FBq/o00mCD8g7d2fqpWI/+wziQL6X2YxdtOYraRDH+hNFJ
	LQH/OuinxjuncYzy+bUMp3/GKUBtpp7o7UDryIEQa/dXdJWdzjwVjdSCJBBT7OTMEmDU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172435-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172435: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 00:04:23 +0000

flight 172435 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172435/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 172405

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                a6b1c53e79d08a99a28cc3e67a3e1a7c34102d6b
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    9 days
Failing since        172148  2022-08-04 21:39:38 Z    8 days   21 attempts
Testing same since   172366  2022-08-10 20:09:54 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Yonggang Luo <luoyonggang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1268 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 00:48:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 00:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.385993.621830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMfJw-0005AW-Ex; Sat, 13 Aug 2022 00:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 385993.621830; Sat, 13 Aug 2022 00:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMfJw-0005AM-BF; Sat, 13 Aug 2022 00:48:08 +0000
Received: by outflank-mailman (input) for mailman id 385993;
 Sat, 13 Aug 2022 00:48:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMfJv-0005AC-Rn; Sat, 13 Aug 2022 00:48:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMfJv-000798-PX; Sat, 13 Aug 2022 00:48:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMfJv-0005bR-EQ; Sat, 13 Aug 2022 00:48:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMfJv-00033o-Dv; Sat, 13 Aug 2022 00:48:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IV9ERoEJRYSl15iXqAFjFyOL1kVq8McmxqatUiQ2+OM=; b=d7/cjsxF6serhVzirf/hHp72xj
	hKrkZdLeN7t0xogf6nhKvjXWWg79C9i6dtJ7MFugLbLR4ZkNQ9+xyCEW97jZYB3jzK3itvX1fcyUS
	kP8rBHOWr3g52/qlqouEEIoNQB1nT+HJtKNSqqn1nuoS/63hak70YA5vAcKw2rzuLe8w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172455-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172455: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 00:48:07 +0000

flight 172455 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172455/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    7 days   75 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 00:59:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 00:59:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386004.621841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMfUh-0006jN-HT; Sat, 13 Aug 2022 00:59:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386004.621841; Sat, 13 Aug 2022 00:59:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMfUh-0006jG-Eq; Sat, 13 Aug 2022 00:59:15 +0000
Received: by outflank-mailman (input) for mailman id 386004;
 Sat, 13 Aug 2022 00:59:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rm0f=YR=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oMfUg-0006jA-Oc
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 00:59:14 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2509d1a1-1aa3-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 02:59:12 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 23D61B8243B;
 Sat, 13 Aug 2022 00:59:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67478C433D7;
 Sat, 13 Aug 2022 00:59:09 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2509d1a1-1aa3-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660352349;
	bh=0/pexWT/DEuEPtPWJumWd+HrqXmjzkeKrdyDHXlbYSI=;
	h=Date:From:To:cc:Subject:From;
	b=AstT8saLQNctM63NSYkPMOBrIoQ4mRfNLQze7fMnLJbEgXzeJB1hni5kRgtgik9Xk
	 mjxM6c0S+vexQincFX6o+MfkHpVPRyO7OuknBmz98MryqQ8499e0ah3p05KhrH3uh+
	 gjaV17WpfG7R7OBn8+CAzQBemYItoNRYYUYGQRC9ZyF7jz+plECAri0+KLivgPlxLi
	 b88EaIWIIjnAVFUbWvZUi1SpxrtbsUysbY2vwEcDC4ilWHj/fJMT/PYmjcVx8nKzWG
	 bcNAYYBztnQD1/esp7DANPd1J15aF/Tfk4i54Wr30cxiT+1PB41e1H/ksR2IvguhB1
	 dPjnT6HBKjbug==
Date: Fri, 12 Aug 2022 17:59:07 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: julien@xen.org, bertrand.marquis@arm.com
cc: sstabellini@kernel.org, george.dunlap@citrix.com, 
    andrew.cooper3@citrix.com, Volodymyr_Babchuk@epam.com, 
    xen-devel@lists.xenproject.org
Subject: [PATCH] add SPDX to arch/arm/*.c
Message-ID: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Add SPDX license information to all the *.c files under arch/arm.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---

We need to start from somewhere and I thought arch/arm/*.c would be a
good place to start.

diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
index f03cd943c6..8115f89408 100644
--- a/xen/arch/arm/alternative.c
+++ b/xen/arch/arm/alternative.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * alternative runtime patching
  * inspired by the x86 version
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index ec81a45de9..7c986ecb18 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Early Device Tree
  *
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index ae649d16ef..887b5426c7 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 #include <xen/cpu.h>
 #include <xen/cpumask.h>
 #include <xen/init.h>
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index 62d5e1770a..a6253cb57f 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Contains CPU feature definitions
  *
diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
index f5f6562600..f586c3d781 100644
--- a/xen/arch/arm/decode.c
+++ b/xen/arch/arm/decode.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/decode.c
  *
diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 70cd6c1a19..e5e8f806e0 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/device.c
  *
diff --git a/xen/arch/arm/dm.c b/xen/arch/arm/dm.c
index 1b3fd6bc7d..90d403b767 100644
--- a/xen/arch/arm/dm.c
+++ b/xen/arch/arm/dm.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Copyright (c) 2019 Arm ltd.
  *
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 2cd481979c..1a2dac95a9 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 3fd1186b53..a29207b582 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 #include <xen/init.h>
 #include <xen/compile.h>
 #include <xen/lib.h>
diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
index 71182575f9..d6f62a5db0 100644
--- a/xen/arch/arm/domain_page.c
+++ b/xen/arch/arm/domain_page.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 #include <xen/mm.h>
 #include <xen/pmap.h>
 #include <xen/vmap.h>
diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
index 1baf25c3d9..c882afe6ca 100644
--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  * Arch-specific domctl.c
  *
diff --git a/xen/arch/arm/early_printk.c b/xen/arch/arm/early_printk.c
index 333073d97e..ef74bac110 100644
--- a/xen/arch/arm/early_printk.c
+++ b/xen/arch/arm/early_printk.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * printk() for use before the final page tables are setup.
  *
diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index bd773bcc67..7a019196ed 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/gic-v2.c
  *
diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 9558bad96a..2f3abbcc7c 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/gic-v3-its.c
  *
diff --git a/xen/arch/arm/gic-v3-lpi.c b/xen/arch/arm/gic-v3-lpi.c
index 61d90eb386..96efd38707 100644
--- a/xen/arch/arm/gic-v3-lpi.c
+++ b/xen/arch/arm/gic-v3-lpi.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/gic-v3-lpi.c
  *
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 64b36cec25..1565d6036a 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/gic-v3.c
  *
diff --git a/xen/arch/arm/gic-vgic.c b/xen/arch/arm/gic-vgic.c
index 98c021f1a8..daf044e62d 100644
--- a/xen/arch/arm/gic-vgic.c
+++ b/xen/arch/arm/gic-vgic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/gic-vgic.c
  *
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 3b0331b538..fc2789b2dd 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/gic.c
  *
diff --git a/xen/arch/arm/guest_atomics.c b/xen/arch/arm/guest_atomics.c
index 1b78a062f0..e321840cd1 100644
--- a/xen/arch/arm/guest_atomics.c
+++ b/xen/arch/arm/guest_atomics.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * arch/arm/guest_atomics.c
  *
diff --git a/xen/arch/arm/guest_walk.c b/xen/arch/arm/guest_walk.c
index 87de40d0cb..60c3090da9 100644
--- a/xen/arch/arm/guest_walk.c
+++ b/xen/arch/arm/guest_walk.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Guest page table walk
  * Copyright (c) 2017 Sergej Proskurin <proskurin@sec.in.tum.de>
diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c
index abb6236e27..1a88d8bc2b 100644
--- a/xen/arch/arm/guestcopy.c
+++ b/xen/arch/arm/guestcopy.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 #include <xen/domain_page.h>
 #include <xen/guest_access.h>
 #include <xen/lib.h>
diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index fc1a52767d..c062846da6 100644
--- a/xen/arch/arm/hvm.c
+++ b/xen/arch/arm/hvm.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * arch/arm/hvm.c
  *
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 4ce94243aa..3e513cd778 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/io.c
  *
diff --git a/xen/arch/arm/ioreq.c b/xen/arch/arm/ioreq.c
index 1338c86adb..cf0cb465c6 100644
--- a/xen/arch/arm/ioreq.c
+++ b/xen/arch/arm/ioreq.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * arm/ioreq.c: hardware virtual machine I/O emulation
  *
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index fd0c15fffd..9f007a524b 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/irq.c
  *
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 2556a45c38..8cccd2fa7c 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Kernel image loading.
  *
diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c
index 57abc746e6..bbd8e14012 100644
--- a/xen/arch/arm/livepatch.c
+++ b/xen/arch/arm/livepatch.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  *  Copyright (C) 2016 Citrix Systems R&D Ltd.
  */
diff --git a/xen/arch/arm/mem_access.c b/xen/arch/arm/mem_access.c
index 3e3620294c..8a6cc267c4 100644
--- a/xen/arch/arm/mem_access.c
+++ b/xen/arch/arm/mem_access.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * arch/arm/mem_access.c
  *
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b42cddb1b4..7ad285902b 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/mm.c
  *
diff --git a/xen/arch/arm/monitor.c b/xen/arch/arm/monitor.c
index 8c4a396e3c..328808e1cf 100644
--- a/xen/arch/arm/monitor.c
+++ b/xen/arch/arm/monitor.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * arch/arm/monitor.c
  *
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 8449f97fe7..b2a5bd4fba 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 #include <xen/cpu.h>
 #include <xen/domain_page.h>
 #include <xen/iocap.h>
diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
index 25442c48fe..557983ddf5 100644
--- a/xen/arch/arm/percpu.c
+++ b/xen/arch/arm/percpu.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 #include <xen/percpu.h>
 #include <xen/cpu.h>
 #include <xen/init.h>
diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
index 95a8cdc0ee..851a1f6569 100644
--- a/xen/arch/arm/physdev.c
+++ b/xen/arch/arm/physdev.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  * Arch-specific physdev.c
  *
diff --git a/xen/arch/arm/platform.c b/xen/arch/arm/platform.c
index 4db5bbb4c5..a32aeeb52e 100644
--- a/xen/arch/arm/platform.c
+++ b/xen/arch/arm/platform.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/platform.c
  *
diff --git a/xen/arch/arm/platform_hypercall.c b/xen/arch/arm/platform_hypercall.c
index 403cc84324..2119a2f2c9 100644
--- a/xen/arch/arm/platform_hypercall.c
+++ b/xen/arch/arm/platform_hypercall.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  * platform_hypercall.c
  *
diff --git a/xen/arch/arm/processor.c b/xen/arch/arm/processor.c
index acad8b31d6..bce17bd1e0 100644
--- a/xen/arch/arm/processor.c
+++ b/xen/arch/arm/processor.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/processor.c
  *
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index 0c90c2305c..4ea13e56ca 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/psci.c
  *
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 500307edc0..1394d15406 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/setup.c
  *
diff --git a/xen/arch/arm/shutdown.c b/xen/arch/arm/shutdown.c
index 0606cb84b3..9691765716 100644
--- a/xen/arch/arm/shutdown.c
+++ b/xen/arch/arm/shutdown.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 #include <xen/console.h>
 #include <xen/cpu.h>
 #include <xen/delay.h>
diff --git a/xen/arch/arm/smp.c b/xen/arch/arm/smp.c
index 5823a69d3e..03890cd9c4 100644
--- a/xen/arch/arm/smp.c
+++ b/xen/arch/arm/smp.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 #include <xen/mm.h>
 #include <asm/system.h>
 #include <asm/smp.h>
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index f7bda3a18b..edbd0171a9 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/smpboot.c
  *
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index f87944e847..fe1dbe3d9d 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  * Arch-specific sysctl.c
  *
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index dec53b5f7d..78ec806c5f 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/time.c
  *
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 79f9ed0725..8036fcd1ed 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/traps.c
  *
diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
index b5fbbe1cb8..b549bca406 100644
--- a/xen/arch/arm/vcpreg.c
+++ b/xen/arch/arm/vcpreg.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/arm64/vcpreg.c
  *
diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
index b1bd7a46ad..30419554af 100644
--- a/xen/arch/arm/vgic-v2.c
+++ b/xen/arch/arm/vgic-v2.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/vgic-v2.c
  *
diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
index 58d939b85f..30238448b1 100644
--- a/xen/arch/arm/vgic-v3-its.c
+++ b/xen/arch/arm/vgic-v3-its.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/vgic-v3-its.c
  *
diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index 7fb99a9ff2..201b68492e 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/vgic-v3.c
  *
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 83386cf3d5..a93f872709 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/vgic.c
  *
diff --git a/xen/arch/arm/vm_event.c b/xen/arch/arm/vm_event.c
index eaac92078d..1edb5acabb 100644
--- a/xen/arch/arm/vm_event.c
+++ b/xen/arch/arm/vm_event.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * arch/arm/vm_event.c
  *
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index a9fc5817f9..57048ae705 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/vpci.c
  *
diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 43522d48fd..34e85b7a9e 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * arch/arm/vpl011.c
  *
diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
index 744d43ec27..4a14ab1384 100644
--- a/xen/arch/arm/vpsci.c
+++ b/xen/arch/arm/vpsci.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index 676740ef15..e8520cdd35 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/vsmc.c
  *
diff --git a/xen/arch/arm/vtimer.c b/xen/arch/arm/vtimer.c
index aeaea78e4c..0ae135b0bc 100644
--- a/xen/arch/arm/vtimer.c
+++ b/xen/arch/arm/vtimer.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/vtimer.c
  *
diff --git a/xen/arch/arm/vuart.c b/xen/arch/arm/vuart.c
index 80d4755d43..c75ecec95f 100644
--- a/xen/arch/arm/vuart.c
+++ b/xen/arch/arm/vuart.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * xen/arch/arm/vuart.c
  *


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386015.621864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7V-0000tK-V5; Sat, 13 Aug 2022 01:39:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386015.621864; Sat, 13 Aug 2022 01:39:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7V-0000rj-Pe; Sat, 13 Aug 2022 01:39:21 +0000
Received: by outflank-mailman (input) for mailman id 386015;
 Sat, 13 Aug 2022 01:39:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7U-0000pT-EI
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:20 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf0874f2-1aa8-11ed-bd2e-47488cf2e6aa;
 Sat, 13 Aug 2022 03:39:19 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id CF87C5C00C5;
 Fri, 12 Aug 2022 21:39:17 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Fri, 12 Aug 2022 21:39:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:16 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf0874f2-1aa8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354757; x=1660441157; bh=UAqmlVElOH
	Gms+qUDEDMr9ZztrAUMmQozFQJ+Lun5Kk=; b=HCR8O+mAUkl3FG1H4Odz0cgxBp
	DRQsGL6KLMHq0Ub7Fni5F0SeuS7FNko81d6k89fJSvyM9yT0j/Fn9znhYe1t50qL
	ywI4btRqdDMbBFFPmSng9XUgLvO5zus1VqS+3/O8C4bdBAzL3jIn9FAAH+pcs4a0
	sH9peyDTiu3YUerBWBH9I/sgfvwD36nsKTTE2M8t0DnCWu5vMuXq5QgZX4PVsO56
	aoo3ua9kBQnur37T0ofZiKQugXr9ckxHPnpHpwJ664sovHfsNe6yiq+JL2vUJ9Rh
	yVRJmg0YEFnd1Z5R+mIfeADG+Glc5aImxS3AP89qbMia60ZV8mOaba64prKQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354757; x=
	1660441157; bh=UAqmlVElOHGms+qUDEDMr9ZztrAUMmQozFQJ+Lun5Kk=; b=m
	+Ewa4/VTd8S6d7DWrOIvIwjXiw4NB69MNlrDFa5z3T9Jvh9IPtkuuws2AUmF7OM9
	Dc9tZZWFziCMSZ6Q8vWqfYE2gsy6PHNHw4HfCzV2WnbaGsfBOScHzfx/RHO3iwk1
	kHGAfdRmgIwjHK/2qz61vXG6JNgFkX3RVMPDM3vzLpoCnKo19y7qvRF2/jo96B+N
	gO1Uz+NcDe5Q3hXGAWAlCVdI+VzJ/IFUuc1E4BTbrpWipF/aMr7hGI8OfYYNNkMM
	iIK+Wlv7eC+86IAt7lEBcCkVJnrwRmJlm5dK+yO7Gu2VlnL0Hg4uqCDO947Hcgab
	K4Wlzy5AdGiswtBmdpZbA==
X-ME-Sender: <xms:xQD3YnyXaj0mnXPd2-DkhVMDtXTW7cyJz4M5vvBsu2yxT4837RqcnA>
    <xme:xQD3YvQDwmBzUljYQqTdhuZQzG9TQtz7N0hZhaXJ-CSQPa09Y9JNk4mn7rv5M_3Hq
    vaNLCoDjzJi6w>
X-ME-Received: <xmr:xQD3YhU_ebbuk59HnrZAKsYxdx8DKVGVlZE682vp1v0u0A8Y1CjjO-mkCk1DVB9Q67Jovotur2g>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:xQD3YhgmjEL6oN3j79WCn2fpFAXbdAJf2rRZAb3ndGcxTfhZhU0xGw>
    <xmx:xQD3YpCMSWoBMwROyTn3I4qbLFQ_sHVSUBwBZrKMymmsMijADjPEwg>
    <xmx:xQD3YqLVQEvFvC7Jqk2fzwGdCvTbMSBvHZznij1j4w5v49WjkZu6xA>
    <xmx:xQD3Ys47niqxZlUWN8BozusSjq6CLILUbtV7Bv6sa99eINSyyYechw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 02/11] drivers/char: reset XHCI ports when initializing dbc
Date: Sat, 13 Aug 2022 03:38:52 +0200
Message-Id: <f9b47a78968e06f5af2930d99e5dc558fdc131f2.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Reset ports, to force host system to re-enumerate devices. Otheriwse it
will require the cable to be re-plugged, or will wait in the
"configuring" state indefinitely.

Trick and code copied from Linux:
drivers/usb/early/xhci-dbc.c:xdbc_start()->xdbc_reset_debug_port()

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
- adjust for renamed driver
- use readl() etc for MMIO
- simplify xcap lookup
- drop acked-by
Changes in v2:
- use uint32_t instead of u32
- code style
---
 xen/drivers/char/xhci-dbc.c | 75 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 75 insertions(+)

diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index a16c81b9e71c..8c9dfa6cfcc0 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -66,6 +66,10 @@
     ((1UL << DBC_PSC_CSC) | (1UL << DBC_PSC_PRC) | (1UL << DBC_PSC_PLC) |      \
      (1UL << DBC_PSC_CEC))
 
+#define XHC_EXT_PORT_MAJOR(x)  (((x) >> 24) & 0xff)
+#define PORT_RESET             (1 << 4)
+#define PORT_CONNECT           (1 << 0)
+
 #define dbc_debug(...) printk("dbc debug: " __VA_ARGS__)
 #define dbc_alert(...) printk("dbc alert: " __VA_ARGS__)
 #define dbc_error(...) printk("dbc error: " __VA_ARGS__)
@@ -666,6 +670,73 @@ static void dbc_init_strings(struct dbc *dbc, uint32_t *info)
                            &dbc->dbc_ctx->serial_size);
 }
 
+static void dbc_do_reset_debug_port(struct dbc *dbc,
+                                    unsigned int id, unsigned int count)
+{
+    uint32_t __iomem *ops_reg;
+    uint32_t __iomem *portsc;
+    uint32_t val, cap_length;
+    unsigned int i;
+
+    cap_length = readl(dbc->xhc_mmio) & 0xff;
+    ops_reg = dbc->xhc_mmio + cap_length;
+
+    id--;
+    for ( i = id; i < (id + count); i++ )
+    {
+        portsc = ops_reg + 0x100 + i * 0x4;
+        val = readl(portsc);
+        if ( !(val & PORT_CONNECT) )
+            writel(val | PORT_RESET, portsc);
+    }
+}
+
+static void dbc_reset_debug_port(struct dbc *dbc)
+{
+    uint32_t val, port_offset, port_count;
+    uint32_t __iomem *xcap;
+    uint32_t xcap_val;
+    uint32_t next;
+    uint32_t id;
+    uint8_t __iomem *mmio = (uint8_t *)dbc->xhc_mmio;
+    uint32_t __iomem *hccp1 = (uint32_t *)(mmio + 0x10);
+    const uint32_t PROTOCOL_ID = 0x2;
+    int ttl = 48;
+
+    xcap = (uint32_t *)dbc->xhc_mmio;
+    /*
+     * This is initially an offset to the first capability. All the offsets
+     * (both in HCCP1 and then next capability pointer are dword-based.
+     */
+    next = (readl(hccp1) & 0xFFFF0000) >> 16;
+
+    /*
+     * Look for "supported protocol" capability, major revision 3.
+     * There may be multiple of them.
+     */
+    while ( next && ttl-- )
+    {
+        xcap += next;
+        xcap_val = readl(xcap);
+        id = xcap_val & 0xFF;
+        next = (xcap_val & 0xFF00) >> 8;
+
+        if ( id != PROTOCOL_ID )
+            continue;
+
+        if ( XHC_EXT_PORT_MAJOR(xcap_val) != 0x3 )
+            continue;
+
+        /* extract ports offset and count from the capability structure */
+        val = readl(xcap + 2);
+        port_offset = val & 0xff;
+        port_count = (val >> 8) & 0xff;
+
+        /* and reset them all */
+        dbc_do_reset_debug_port(dbc, port_offset, port_count);
+    }
+}
+
 static void dbc_enable_dbc(struct dbc *dbc)
 {
     struct dbc_reg *reg = dbc->dbc_reg;
@@ -677,6 +748,10 @@ static void dbc_enable_dbc(struct dbc *dbc)
     while ( (readl(&reg->ctrl) & (1U << DBC_CTRL_DCE)) == 0 )
         cpu_relax();
 
+    /* reset ports on initial open, to force re-enumerating by the host */
+    if ( !dbc->open )
+        dbc_reset_debug_port(dbc);
+
     wmb();
     writel(readl(&reg->portsc) | (1U << DBC_PSC_PED), &reg->portsc);
     wmb();
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386018.621896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7Y-0001dr-Gt; Sat, 13 Aug 2022 01:39:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386018.621896; Sat, 13 Aug 2022 01:39:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7Y-0001dD-Ar; Sat, 13 Aug 2022 01:39:24 +0000
Received: by outflank-mailman (input) for mailman id 386018;
 Sat, 13 Aug 2022 01:39:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7W-0000pT-Gk
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:22 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0ea0dc3-1aa8-11ed-bd2e-47488cf2e6aa;
 Sat, 13 Aug 2022 03:39:21 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 05FBD5C00C6;
 Fri, 12 Aug 2022 21:39:21 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 12 Aug 2022 21:39:21 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:19 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0ea0dc3-1aa8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354761; x=1660441161; bh=CuU0vkjyg0
	0xrTN5+CAVp9rNToc1sgWnerp78tEHmck=; b=PlOGpumzCjezGXiu+VfkefLgnX
	eY+J1OwLIwHoBYrigFDSdC5w8fjkEAhX2EAwJPA8e1gMf3bqkTBtPv1DrFzLv43Y
	0PheyiEBREI9vZGmpCb0MkvpB/OmnkWlcuU581IlvF0vKM+V+UMSdmhi3Vw+z/VJ
	00imXz2OTjLygfAZGanVv2FP7rBkH/Z4D3Akp8XykJifDYwalYnc6ebtzqB9b7Q/
	zpX8GasztTQgbfUMiI3vMkDFBoaxEWol7alssCsd3XNQkuKHpCpZxmc18qwiujkJ
	OwxRMBS4L/F7lLIhIG577A0IIcxc7w6/L/FrsEs4qDzedu7jER0ZtWqWLOfQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354761; x=
	1660441161; bh=CuU0vkjyg00xrTN5+CAVp9rNToc1sgWnerp78tEHmck=; b=c
	T45S7SlU06hHV55pnp3DaxNJrcu8k760eJxr/tg/tFzK036oFBuhKyTOra2+kAiq
	fvOe7Ib34/ES09jntn6smhO1A11A5emH9ltGAXtqns+a9lOzFSbO3BMUAFAFDknv
	834pvgPuebO3TqoC3sXSn2Gv0qqYcFK49WyUCIQp9eMk2WwDDRCBLY17ZIXRnMWw
	qSrPH+Zb2Tg9s+Gzqh38pWTn+PfqAWPfhc/Qf2ncnc8t1FuWqsI91RiFAF7FB5tQ
	jRm39anEvnUjbBb1shCJpwhU9Bxa5CWXeWRvLXlI0o9vsJ5ztkIACw6jeYGA109b
	1bMIBCY+IXk7gVEp3ikCQ==
X-ME-Sender: <xms:yAD3YtTa1QygdTgl3D3sJTHEj65Qp_GjSpPiiXcR1Wt__QtPjVPyMA>
    <xme:yAD3YmzADnXI6dE73jBoFnZfKa-73gwBkHugivL6mljD80_iNXupWxEKl4D344CYw
    31UxAzbCqRsyQ>
X-ME-Received: <xmr:yAD3Yi1OGRva8Lu8PBTgX2IkAvu6_HdtxK2-uBnVro1hKddQuJqf3YUW4F-i140w0qhvNXlncx0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedghedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:yAD3YlAjYqJ9eFA-HGKw9eLhDKC8fh4i40pPKcMvzImJerxNcpM7Cw>
    <xmx:yAD3YmithnmxrMqAjAMALIXZZkdlweJYqLwopEaYqulg34YoudI3MA>
    <xmx:yAD3Yprh6Upe2ZnPtEYeQdc1Zbej5PGTKQmhHHq1Xr7RlD9SJr4FIw>
    <xmx:yQD3YoYzkQSi7jexUeqRFyipvQAc-o72rVYQ8Pw8M-1abXqAZuB7Kw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 04/11] drivers/char: make serial_parse_handle take const argument
Date: Sat, 13 Aug 2022 03:38:54 +0200
Message-Id: <c30950363e09ab1298ac2a692822252762a417d6.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It doesn't modify it, and it will be necessary in a subsequent patch.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
 xen/drivers/char/serial.c | 2 +-
 xen/include/xen/serial.h  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index f6c944bd305b..47899222cef8 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -301,7 +301,7 @@ char serial_getc(int handle)
     return c & 0x7f;
 }
 
-int __init serial_parse_handle(char *conf)
+int __init serial_parse_handle(const char *conf)
 {
     int handle, flags = 0;
 
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 181e026967bc..4cd4ae5e6f1c 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -109,7 +109,7 @@ void serial_init_postirq(void);
 void serial_endboot(void);
 
 /* Takes a config string and creates a numeric handle on the COM port. */
-int serial_parse_handle(char *conf);
+int serial_parse_handle(const char *conf);
 
 /* Transmit a single character via the specified COM port. */
 void serial_putc(int handle, char c);
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386014.621857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7V-0000pm-Kd; Sat, 13 Aug 2022 01:39:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386014.621857; Sat, 13 Aug 2022 01:39:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7V-0000pf-Hr; Sat, 13 Aug 2022 01:39:21 +0000
Received: by outflank-mailman (input) for mailman id 386014;
 Sat, 13 Aug 2022 01:39:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7T-0000pT-K0
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:20 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd1771b4-1aa8-11ed-bd2e-47488cf2e6aa;
 Sat, 13 Aug 2022 03:39:16 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 62ABB5C008F;
 Fri, 12 Aug 2022 21:39:14 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 12 Aug 2022 21:39:14 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:12 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd1771b4-1aa8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1660354754; x=1660441154; bh=jAU6/33E6J2XS8de59Iv1i+VWObk9wBkC+I
	uB7O8D+Y=; b=h6w9HADi6jpG+wiUwgqw3ee1CLWSqesO/HbEXaIZMM+tS5j0Uu4
	apNy+IS1+UMHs1dDpJZsXlIBnHzPsU+M2mPf9U1qWldXt4XfIHXX79CMebTf9aIj
	uRjMa4uTVzWbF3VlBYzDZP7yx5VMS4CHNLfLLCV9Qm3aELxL/KsE8xAiqaVPz6SY
	StlesPWBleGEqxyE6whtMRLC6ZJhN9kHj4b/5tIn+tAYTQ8qojwiACkIUUMhnExG
	IjcqsYEgK//YMxW/YV4Ho+veMMsjmq23xK9C3AX79vCSmwOhajktXPP4HhguEHac
	aijA33/TyWJYRtV8+6pHli7POiyKH7Bma2A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1660354754; x=1660441154; bh=jAU6/33E6J2XS
	8de59Iv1i+VWObk9wBkC+IuB7O8D+Y=; b=JudS5PJmOQUDBz2j/IuQN6HawgboA
	LZikczMq4RxPH+f0mQSdnrwYMnrg7FyHZ2yDh8j1NAm1AOmRzZTBc2jWO5xGeR8M
	ouR8zvfTlF2/GJByhQxg5H3QnKp86vOdnYdqPHkAezoCYtBW5hKTyKpz+xJTEBAd
	CxZVuiQGCiH/ff+2OTlwsAvOQGj+08/HHBj2bNiHSCiUWtEkuSo+T9DqzG0VZ3Rj
	6VfUY5RAIRdDJfA7zCxrqlad3yfkjGlvRizNaLy2SrRVOYdx+SrnZRTuc9ojQALG
	RHit3rd21mK+qwhJpaM51SiD1QASOdP8wfEkFYC5HN6Gm8PAwzprOY+3Q==
X-ME-Sender: <xms:wQD3Yobk3kkMrCw1YuiytrQ61X8dDnyPKat48W2TrkRjRmJQg5tB7w>
    <xme:wQD3YjbNtdyS0PkaaPzTi3-Q69S4zq4Ft0yIoYSfC73Iqu_YF6By_g-XkmavKnBGx
    gTZYLlJjpHhIw>
X-ME-Received: <xmr:wQD3Yi8870iVHmHTOgNjDr_C2C82Wz9P7C4wXxhC7RGPFbGG08dfuFDGxrbb1oZpdy2HnPoi7Y8>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedghedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeefgffg
    geevhffggfetfefhffeuvefhvdevkeehkedttddtgeefkeduheevffduleenucffohhmrg
    hinhepghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm
    pehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomh
X-ME-Proxy: <xmx:wQD3YipGJoD_2riocFNpBqb_DfSJWAGdNCaXIuXcKCbL8fD7UtuV9A>
    <xmx:wQD3YjpgUUpr2ZolHgnAxJw4tR4lShoJzq3BB8EOoPgixguucmltJQ>
    <xmx:wQD3YgSxeEMehvu08rzc3Q4J4hUG3WzRoXXYWRydIuFubusAqRxtiQ>
    <xmx:wgD3Ym1FYX4tiC4fvLUU_kWOXnzGQDEMoZqqAaioxW19GgRCm7ziXg>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v4 00/11] Add Xue - console over USB 3 Debug Capability
Date: Sat, 13 Aug 2022 03:38:50 +0200
Message-Id: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is integration of https://github.com/connojd/xue into mainline Xen.
This patch series includes several patches that I made in the process, some are
very loosely related.

The driver developed by Connor supports console via USB3 debug capability. The
capability is designed to operate mostly independently of normal XHCI driver,
so this patch series allows dom0 to drive standard USB3 controller part, while
Xen uses DbC for console output.

Changes since RFC:
 - move the driver to xue.c, remove non-Xen parts, remove now unneeded abstraction
 - adjust for Xen code style
 - build for x86 only
 - drop patch hidding the device from dom0
Changes since v1:
 - drop ehci patch - already applied
 - adjust for review comments from Jan (see changelogs in individual patches)
Changes since v2:
 - add runtime option to share (or not) the controller with dom0 or other domains
 - add RX support
 - several smaller changes according to review comments
Changes since v3:
 - put controller sharing behind experimental kconfig option
 - several other changes according to review comments

Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Wei Liu <wl@xen.org>
Cc: "Roger Pau MonnÃ©" <roger.pau@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Connor Davis <connojdavis@gmail.com>

Connor Davis (1):
  drivers/char: Add support for USB3 DbC debugger

Marek Marczykowski-GÃ³recki (10):
  drivers/char: reset XHCI ports when initializing dbc
  drivers/char: add support for selecting specific xhci
  drivers/char: make serial_parse_handle take const argument
  console: support multiple serial console simultaneously
  IOMMU: add common API for device reserved memory
  IOMMU/VT-d: wire common device reserved memory API
  IOMMU/AMD: wire common device reserved memory API
  drivers/char: mark DMA buffers as reserved for the XHCI
  drivers/char: add RX support to the XHCI driver
  drivers/char: allow driving the rest of XHCI by a domain while Xen uses DbC

 docs/misc/xen-command-line.pandoc        |   22 +-
 xen/arch/x86/include/asm/fixmap.h        |    4 +-
 xen/arch/x86/setup.c                     |    1 +-
 xen/drivers/char/Kconfig                 |   31 +-
 xen/drivers/char/Makefile                |    1 +-
 xen/drivers/char/console.c               |   98 +-
 xen/drivers/char/serial.c                |    2 +-
 xen/drivers/char/xhci-dbc.c              | 1399 +++++++++++++++++++++++-
 xen/drivers/passthrough/amd/iommu_acpi.c |   21 +-
 xen/drivers/passthrough/iommu.c          |   45 +-
 xen/drivers/passthrough/vtd/dmar.c       |  201 +--
 xen/include/xen/iommu.h                  |   13 +-
 xen/include/xen/serial.h                 |    8 +-
 13 files changed, 1740 insertions(+), 106 deletions(-)
 create mode 100644 xen/drivers/char/xhci-dbc.c

base-commit: 6d6aee437e37fced0c49be97e08c30da873690fc
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386021.621924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7c-0002Tu-Bl; Sat, 13 Aug 2022 01:39:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386021.621924; Sat, 13 Aug 2022 01:39:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7c-0002Tl-7S; Sat, 13 Aug 2022 01:39:28 +0000
Received: by outflank-mailman (input) for mailman id 386021;
 Sat, 13 Aug 2022 01:39:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7Z-0000pT-U6
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:26 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c29db90e-1aa8-11ed-bd2e-47488cf2e6aa;
 Sat, 13 Aug 2022 03:39:25 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id D71055C00C6;
 Fri, 12 Aug 2022 21:39:23 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Fri, 12 Aug 2022 21:39:23 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:22 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c29db90e-1aa8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354763; x=1660441163; bh=EyR4BMMeMw
	9tieHV7Sk5gSTuErx4B02LT36mG4NGEH0=; b=aRHdTaA4+Rdd3ifESI0vcKZrxa
	sGLRUkA74Z37Hmr6MyEKAreKXBq6oS8QTmO89wJVOSzmc86CfJFr5OrGIqiLfvNO
	hDctagagEZX6t+wESJ5Usxos2DTJ1wRxdALgZZTjODRrlRqne/PtMKNAsOHTAgrn
	zDn4KVxcryGLpjATAMTqXnOeGpug2lN1UUH1vRG4esNq/R3cixNedS0eCg113Box
	WJ/vnsB3l1dnOW/mMfiANCB/WzE2BTrmyqPmMf57SCNn0d7I/P2oEY42+TiErJBt
	ljha5HAqM27VU1DHk2zT3VXX9c/wprQ3zFarKoSq2Vt8joxYlkPiAHVSjh1w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354763; x=
	1660441163; bh=EyR4BMMeMw9tieHV7Sk5gSTuErx4B02LT36mG4NGEH0=; b=t
	QrCFaZy2neIE40HSrCwSd2ow2tpjSNBafseD8vPxvgwqbYtgCCdsKePJTUadMe4O
	RKDWIWmXHKTDOmpGd0foGTh3Ev5jo94QtbQNVuDLoBOABRA56ER833/SkJXA1O+L
	z/jIckPl0Gl7p9dfJehSr2wm9sJOoIPPf/1/4plzD59B49RXKkOYd1qrELXie4Ay
	HESpM0EfXVqxHe8m5trqJIsjmB5mRPDolHWnfAxidg7JMTVG1L21ygjDFflWj0jN
	94n7niFPLLo5yiiuoX7Fqvbn3CJ08wdVRkCE0SoaT1r1ECO6XO/A396LC0txOIND
	+Ph11IjfLle06C1pH6c8w==
X-ME-Sender: <xms:ywD3Yh3jlekQtfHUGAPms7ioaBHdNQ0QK3jcEb5AEpFyt9zyoqog0w>
    <xme:ywD3YoHdj-uUKQoQzs0GWCUD49kEb_iQy-Dxq8ak1Ja2Kqc6B8ElUiIK6WoQEMmz5
    zl_v-hvktYOQw>
X-ME-Received: <xmr:ywD3Yh6Oj5Vc0nRfDfbJnCxmoHEGuJW3SoK1hpFY7ej2gG3o2VYTZk-JLQ5vfjNylJPTILuRcCg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:ywD3Yu3iWfSNOqN-_f6x0gkf1APuOhaNEa4mEGRL6RCam28n8hNPXg>
    <xmx:ywD3YkFR5sDmdz21Oc2Lg2owfbazGT4e1lgHi8bnrJHYeXXG6LCy6g>
    <xmx:ywD3Yv-a49Vb_vQurCvigzak-GfTcL1hjsE6TvyPVvTBWX6id-dyrQ>
    <xmx:ywD3YpTlV8QeV3uBo7fuaAyp7mSYAX3rRrOjxZVwNJM4z0ZtVPWPfA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 06/11] IOMMU: add common API for device reserved memory
Date: Sat, 13 Aug 2022 03:38:56 +0200
Message-Id: <2688e04266c71b3f0f9a60e2bd5fdb11776a9ef6.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add API similar to rmrr= and ivmd= arguments, but in a common code. This
will allow drivers to register reserved memory regardless of the IOMMU
vendor.
The direct reason for this API is xhci-dbc console driver (aka xue),
that needs to use DMA. But future change may unify command line
arguments for user-supplied reserved memory, and it may be useful for
other drivers in the future too.

This commit just introduces an API, subsequent patches will plug it in
appropriate places. The reserved memory ranges needs to be saved
locally, because at the point when they are collected, Xen doesn't know
yet which IOMMU driver will be used.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- mark functions as __init
- use pci_sbdf_t type
Changes in v3:
 - adjust code style
---
 xen/drivers/passthrough/iommu.c | 45 ++++++++++++++++++++++++++++++++++-
 xen/include/xen/iommu.h         | 13 ++++++++++-
 2 files changed, 58 insertions(+)

diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index 134cdb47e0dc..0c96c760fd23 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -669,6 +669,51 @@ bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
     return is_iommu_enabled(d) && test_bit(feature, dom_iommu(d)->features);
 }
 
+#define MAX_EXTRA_RESERVED_RANGES 20
+struct extra_reserved_range {
+    unsigned long start;
+    unsigned long nr;
+    pci_sbdf_t sbdf;
+};
+static unsigned int __initdata nr_extra_reserved_ranges;
+static struct extra_reserved_range __initdata
+    extra_reserved_ranges[MAX_EXTRA_RESERVED_RANGES];
+
+int __init iommu_add_extra_reserved_device_memory(unsigned long start,
+                                           unsigned long nr,
+                                           pci_sbdf_t sbdf)
+{
+    unsigned int idx;
+
+    if ( nr_extra_reserved_ranges >= MAX_EXTRA_RESERVED_RANGES )
+        return -ENOMEM;
+
+    idx = nr_extra_reserved_ranges++;
+    extra_reserved_ranges[idx].start = start;
+    extra_reserved_ranges[idx].nr = nr;
+    extra_reserved_ranges[idx].sbdf = sbdf;
+
+    return 0;
+}
+
+int __init iommu_get_extra_reserved_device_memory(iommu_grdm_t *func, void *ctxt)
+{
+    unsigned int idx;
+    int ret;
+
+    for ( idx = 0; idx < nr_extra_reserved_ranges; idx++ )
+    {
+        ret = func(extra_reserved_ranges[idx].start,
+                   extra_reserved_ranges[idx].nr,
+                   extra_reserved_ranges[idx].sbdf.sbdf,
+                   ctxt);
+        if ( ret < 0 )
+            return ret;
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 1240d7762d99..5a4c04303dd2 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -304,6 +304,19 @@ struct iommu_ops {
 #endif
 };
 
+/*
+ * To be called by Xen internally, to register extra RMRR/IVMD ranges.
+ * Needs to be called before IOMMU initialization.
+ */
+extern int iommu_add_extra_reserved_device_memory(unsigned long start,
+                                                  unsigned long nr,
+                                                  pci_sbdf_t sbdf);
+/*
+ * To be called by specific IOMMU driver during initialization,
+ * to fetch ranges registered with iommu_add_extra_reserved_device_memory().
+ */
+extern int iommu_get_extra_reserved_device_memory(iommu_grdm_t *func, void *ctxt);
+
 #include <asm/iommu.h>
 
 #ifndef iommu_call
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386017.621891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7Y-0001aj-4S; Sat, 13 Aug 2022 01:39:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386017.621891; Sat, 13 Aug 2022 01:39:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7Y-0001aa-1k; Sat, 13 Aug 2022 01:39:24 +0000
Received: by outflank-mailman (input) for mailman id 386017;
 Sat, 13 Aug 2022 01:39:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7W-0000pU-58
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:22 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c00452ed-1aa8-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 03:39:20 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 73CE85C00D8;
 Fri, 12 Aug 2022 21:39:19 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Fri, 12 Aug 2022 21:39:19 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:17 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c00452ed-1aa8-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354759; x=1660441159; bh=+tq74EmTNx
	wZc6y/WZqTtbf1ui31IoQOPvTvVNWPcQQ=; b=TcJhewUr8I0jjgG6UP4pXU4Gyk
	wf5q+2ZReBMTqTqiOJQE5K9PcEwpDNq4HwPxmoSvRG5P9+BnZnF7CyGTBXr2EbvU
	s6cqjJ5mEQuD9z69vBsVJDW8kZ8pV3EBPLwdMllsjJPPgjZQGgjW+QImOZKlLZC2
	79shtFfVC1DrmrTDbnaxEcRe2PvFaBSdY0EpcaxSRh5NmZyVZ5owM3UsEJgeLZX3
	F5f1OKRqlHKWDFLGIgHacF9in+dYkMVWq867pAcNWT4+DMDJYSQBslHAJyAJ87r6
	e6JE6yBJQ6gcYIGwjuEK8kq3qxEVDihleMvsYZyrVblWbMKyB0Dg/4wo4WxQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354759; x=
	1660441159; bh=+tq74EmTNxwZc6y/WZqTtbf1ui31IoQOPvTvVNWPcQQ=; b=S
	JhTrlaS+DF+jwS+xMtaBgqkHro+dq3s9F2CcDLj9P4exlwrvhZ4iVzDPE9INja94
	1Qkz03s2adVaGj1Jj5EaUDrDeuWpqQIOTKEs4bFDQCreH8tlWDjb1D7G1TiE8fFs
	/BpWCQIP6NONXM5pTDx2GDrW43hl7Xch32OrvRR+esvSWudZA6MIu4QSo4U62e+S
	Fyqyg0ck9N/jlNiq5U0GUK/iYzF8NTDjjyQggqFTvOySzaTEHR0LMCTwpKe51ObY
	qxEnIV663LtwnwXe+XfQq3IGDcXPXpSbwD/NnrHCkkadbm9Gp30+kG++A/W9fKTB
	mrEWqH1G8sY45tYu//iww==
X-ME-Sender: <xms:xwD3YnpxOpux4maNixr0vEk9o8PLYQLe18Vy-mfsf9zAF2Be4C0Ixg>
    <xme:xwD3YhoJREr9ndhH95xfuHWOZsH7b7dVtZydXBRagAWANL_aQ34LbpBkk0U3IGrNz
    9irNSuW8qWBMQ>
X-ME-Received: <xmr:xwD3YkOUfaZVErc6ty6EofwW7GRs3fUWr_67Wqlvo60Hei06SELdufzdjjuPnWDXMiZYgno-4ns>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:xwD3Yq6-U8N7rTg5_DzsvcG1mLfH65veR2op6lMkod2C9AGe4IK1zA>
    <xmx:xwD3Ym5IpFC6eG3FiLUW6Bt1iJ4z4hE0UW-NOrUqZim6tpDTq9U7OQ>
    <xmx:xwD3YihHVJkapdjKtjnK4o0-oIrA5QJiAeuDvveBflf7tN5PsnWm4g>
    <xmx:xwD3YoRQnC3J4_BrgcWEgHSeqCg_y4c4L5yuphtR2xqRc3r7Aw2JLg>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 03/11] drivers/char: add support for selecting specific xhci
Date: Sat, 13 Aug 2022 03:38:53 +0200
Message-Id: <2dd1245d3c969359e0e6e3545692756024dc613e.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Handle parameters similar to dbgp=ehci.

Implement this by not resettting dbc->sbdf again in dbc_init_xhc(), but
using a value found there if non-zero. Additionally, add xue->xhc_num to
select n-th controller.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - adjust error message
Changes in v3:
 - adjust for xhci-dbc rename
 - drop redundant check in parsing dbgp= option
Changes in v2:
 - unsigned int xhc_num
 - code style
---
 docs/misc/xen-command-line.pandoc |  2 +-
 xen/drivers/char/xhci-dbc.c       | 59 +++++++++++++++++++++++++-------
 2 files changed, 48 insertions(+), 13 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 88c70d133951..6b1e515bfc8c 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -721,7 +721,7 @@ Available alternatives, with their meaning, are:
 
 ### dbgp
 > `= ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
-> `= xhci`
+> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ]`
 
 Specify the USB controller to use, either by instance number (when going
 over the PCI busses sequentially) or by PCI device (must be on segment 0).
diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index 8c9dfa6cfcc0..ca7d4a62139e 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -246,6 +246,7 @@ struct dbc {
     void __iomem *xhc_mmio;
 
     bool open;
+    unsigned int xhc_num; /* look for n-th xhc */
 };
 
 static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
@@ -278,24 +279,37 @@ static bool __init dbc_init_xhc(struct dbc *dbc)
     uint16_t cmd;
     size_t xhc_mmio_size;
 
-    /*
-     * Search PCI bus 0 for the xHC. All the host controllers supported so far
-     * are part of the chipset and are on bus 0.
-     */
-    for ( devfn = 0; devfn < 256; devfn++ )
+    if ( dbc->sbdf.sbdf == 0 )
     {
-        pci_sbdf_t sbdf = PCI_SBDF(0, 0, devfn);
-        uint8_t hdr = pci_conf_read8(sbdf, PCI_HEADER_TYPE);
-
-        if ( hdr == 0 || hdr == 0x80 )
+        /*
+         * Search PCI bus 0 for the xHC. All the host controllers supported so
+         * far are part of the chipset and are on bus 0.
+         */
+        for ( devfn = 0; devfn < 256; devfn++ )
         {
-            if ( (pci_conf_read32(sbdf, PCI_CLASS_REVISION) >> 8) == DBC_XHC_CLASSC )
+            pci_sbdf_t sbdf = PCI_SBDF(0, 0, devfn);
+            uint8_t hdr = pci_conf_read8(sbdf, PCI_HEADER_TYPE);
+
+            if ( hdr == 0 || hdr == 0x80 )
             {
-                dbc->sbdf = sbdf;
-                break;
+                if ( (pci_conf_read32(sbdf, PCI_CLASS_REVISION) >> 8) ==
+                     DBC_XHC_CLASSC )
+                {
+                    if ( dbc->xhc_num-- )
+                        continue;
+                    dbc->sbdf = sbdf;
+                    break;
+                }
             }
         }
     }
+    else
+    {
+        /* Verify if selected device is really xHC */
+        if ( (pci_conf_read32(dbc->sbdf, PCI_CLASS_REVISION) >> 8) !=
+             DBC_XHC_CLASSC )
+            dbc->sbdf.sbdf = 0;
+    }
 
     if ( !dbc->sbdf.sbdf )
     {
@@ -1052,12 +1066,33 @@ void __init xhci_dbc_uart_init(void)
 {
     struct dbc_uart *uart = &dbc_uart;
     struct dbc *dbc = &uart->dbc;
+    const char *e;
 
     if ( strncmp(opt_dbgp, "xhci", 4) )
         return;
 
     memset(dbc, 0, sizeof(*dbc));
 
+    if ( isdigit(opt_dbgp[4]) )
+    {
+        dbc->xhc_num = simple_strtoul(opt_dbgp + 4, &e, 10);
+    }
+    else if ( strncmp(opt_dbgp + 4, "@pci", 4) == 0 )
+    {
+        unsigned int bus, slot, func;
+
+        e = parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
+        if ( !e || *e )
+        {
+            printk(XENLOG_ERR
+                   "Invalid dbgp= PCI device spec: '%s'\n",
+                   opt_dbgp + 8);
+            return;
+        }
+
+        dbc->sbdf = PCI_SBDF(0, bus, slot, func);
+    }
+
     dbc->dbc_ctx = &ctx;
     dbc->dbc_erst = &erst;
     dbc->dbc_ering.trb = evt_trb;
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386025.621934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7d-0002f4-6t; Sat, 13 Aug 2022 01:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386025.621934; Sat, 13 Aug 2022 01:39:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7d-0002dx-0d; Sat, 13 Aug 2022 01:39:29 +0000
Received: by outflank-mailman (input) for mailman id 386025;
 Sat, 13 Aug 2022 01:39:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7b-0000pU-Ne
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:27 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3ec8fec-1aa8-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 03:39:26 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 036DF5C00C6;
 Fri, 12 Aug 2022 21:39:26 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 12 Aug 2022 21:39:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:25 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3ec8fec-1aa8-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354765; x=1660441165; bh=/pD4K+B9L0
	ba8VyhoGCQP8h4YWebGtRYWp1NDk3Q7sk=; b=diNItfgK74VOCJwyO79Plry05B
	ZFlXT2k5kM6LIypntwjnTMiUT6BxtvN6Ta1s1csEAQpF/fCbjLjvquTtSegNIm38
	5ioCssdiXWCFhtVx/rQC4zXo6bj1LCqPvtWcQ0hKtWJdZHpezdXa+plBHyBdX/Dg
	troi3toPwFayu0u3klQg3KwDoQAZ2Qqv88ZFMtYwtWrK7dbzmuvbY6EVHQGKShR3
	GjjIqV+nVrkEIaISn3NqqOAiu+dzZSbm9ul1HhK54I/IKuOQ7XUlSGF/G7Y8xVzm
	GMF4a2mJP2tJBD0EShHSpB7b6supFfFFem5PdWUX977/Hd/IW3/cZIIpdusw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354765; x=
	1660441165; bh=/pD4K+B9L0ba8VyhoGCQP8h4YWebGtRYWp1NDk3Q7sk=; b=r
	2o1z9ttuXA3mgwewAB7DzWWVC2RXwxu1IJBOm0gEpmwgHv/8LeVZeM6Gok8lDF77
	f5jCwlPt9McjrUVoLM8mBV3rBFMSPVKmf4mdcObQnqsAyT7v40A2zTzngpCuV9rH
	gDCgcWkGfypwsBVVuNDJkJPkBRNoJKR1vpmn6hzh6wZURRMQ+kpOrunkoSZ67Ioy
	P7gi/4SFjKu7FmXk1qwhGVdB23ieUD8lFlO/ZQ7iWFBKvwg/fhaoJlYmqhfKnS4K
	SPtp26+midjuyYIgrGTjXXCRFUdyAzVumQbDNu+jMKW9V4YNDU18phQCbaJnBn0y
	Ab1ZWkTgHTzvEWXMcBLIQ==
X-ME-Sender: <xms:zQD3YrCKrmFAm--cP1qrxEQK08NnoBrZvn_4LQXVsdbN24GOyiwJgA>
    <xme:zQD3YhhJISpuwGjf4no3pki2M5NI6m6N-0yCoTxdI14kZ6biPycLK6OSQ08gnmFys
    z6rWxX-thXfFQ>
X-ME-Received: <xmr:zQD3YmkHWAEfNEUooE3drMnCorO8yvlBt6BP9lr8KEsRuYpfUfFcTOn3a2BXFook8NaqaBBOYrY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedghedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:zQD3Ytzp0tD_8u3ClYZ1mmZcnxGqrTElWzqf2xEltgeyiHHKcuak0g>
    <xmx:zQD3YgT__AKMGFJBpTQFakVGXXlZuwUcHlg-enNCyVxpYtFhgaRBXw>
    <xmx:zQD3YgbJbKOr_9sEsaw5Kav9skEl3sLVI9XscjZo0TmKTFwJCdN22A>
    <xmx:zQD3YrLUkna-pDzzL01WGDUYFP_OvHunpbPPi5VMjHcf3r84gaSb1w>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v4 08/11] IOMMU/AMD: wire common device reserved memory API
Date: Sat, 13 Aug 2022 03:38:58 +0200
Message-Id: <9b33fd752990bd88106659134dd76c447ff99b88.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Register common device reserved memory similar to how ivmd= parameter is
handled.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
 - use variable initializer
 - use pfn_to_paddr()
---
 xen/drivers/passthrough/amd/iommu_acpi.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index ac6835225bae..3b577c9b390c 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -1078,6 +1078,25 @@ static inline bool_t is_ivmd_block(u8 type)
             type == ACPI_IVRS_TYPE_MEMORY_IOMMU);
 }
 
+static int __init cf_check add_one_extra_ivmd(unsigned long start,
+                                              unsigned long nr,
+                                              uint32_t id, void *ctxt)
+{
+    struct acpi_ivrs_memory ivmd = {
+        .header = {
+            .length = sizeof(ivmd),
+            .flags = ACPI_IVMD_UNITY | ACPI_IVMD_READ | ACPI_IVMD_WRITE,
+            .device_id = id,
+            .type = ACPI_IVRS_TYPE_MEMORY_ONE,
+        },
+    };
+
+    ivmd.start_address = pfn_to_paddr(start);
+    ivmd.memory_length = pfn_to_paddr(nr);
+
+    return parse_ivmd_block(&ivmd);
+}
+
 static int __init cf_check parse_ivrs_table(struct acpi_table_header *table)
 {
     const struct acpi_ivrs_header *ivrs_block;
@@ -1121,6 +1140,8 @@ static int __init cf_check parse_ivrs_table(struct acpi_table_header *table)
         AMD_IOMMU_DEBUG("IVMD: %u command line provided entries\n", nr_ivmd);
     for ( i = 0; !error && i < nr_ivmd; ++i )
         error = parse_ivmd_block(user_ivmds + i);
+    if ( !error )
+        error = iommu_get_extra_reserved_device_memory(add_one_extra_ivmd, NULL);
 
     /* Each IO-APIC must have been mentioned in the table. */
     for ( apic = 0; !error && iommu_intremap && apic < nr_ioapics; ++apic )
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386023.621929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7c-0002X0-N7; Sat, 13 Aug 2022 01:39:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386023.621929; Sat, 13 Aug 2022 01:39:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7c-0002Vj-H4; Sat, 13 Aug 2022 01:39:28 +0000
Received: by outflank-mailman (input) for mailman id 386023;
 Sat, 13 Aug 2022 01:39:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7a-0000pU-NV
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:26 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c33da7a2-1aa8-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 03:39:25 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id D85805C00C5;
 Fri, 12 Aug 2022 21:39:24 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Fri, 12 Aug 2022 21:39:24 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:24 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c33da7a2-1aa8-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354764; x=1660441164; bh=CFew235jgq
	1Bpcgaw8qOFpTlwBPLlNuYoSmc12fF7k4=; b=p5nSfz8yK1HDowUBvO2anQqvlL
	Tnk+MkZQ8ZllIgxWvVQENDS41Og+mtvxOQD7VCMYw2DfJWFIMFVaU7QASIFgoXRu
	EwPbRHMEe9RBy/x9PVseaplQhkSk9hTsm3IEehRIprMnPVpxqaU1UjqB5mR7V94c
	yiKiwtsyn28/50OxI6ZdlRNuYdbgVkEG0Rrq54OagkuajpGO3D85ULFmP/S+mSko
	F6K6y66Z0xtQGNh+xDUv1mU3e5x5WX0X43VTWPPLrKaVQevtMMUUUIWdTm234lAR
	mOglSDarFeNvEEd2UlEZ5jY8VLxSYuqMtDdl45gcQ/43uMgIvBgpHUOgU7AQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354764; x=
	1660441164; bh=CFew235jgq1Bpcgaw8qOFpTlwBPLlNuYoSmc12fF7k4=; b=l
	Dlbk1vTaY6rnMIn74NbS7SS89iUR5xoulnBwPJhOhwkmCS7ZT7woMMDNBJOcwYez
	1OKnJQZDOSmKJfyPvRNRJTpyDRyc1h62Bujkz+p8hi+P1NCNUw4Z5khQSG/GbiqS
	bVGCLG5WUnAdrMYzpeWj8Hz7ToTLaZIO4RMBfB1O5Ru5XnvJFosdoutFCrR8IPYU
	x6ndQWqlyHd+AbyTiVUWyWiQyTSzK/JQhWHY1qNbZKcSEHA8MkSFirQglP67oTiS
	xuYGo0IBXvw/vysrTUIKBnzu/y2klVfktYwiPkSJZK56KybO3S8XQ4j74BGd1GDq
	fGMNgoqG1IqX/AwJZGVRg==
X-ME-Sender: <xms:zAD3YiXDMXR7ay5wK93uspIQ7taUb40k6Knp5bi-C0BW4C4SsdHXog>
    <xme:zAD3YulwlXJwBXWbxsSe6R8yk3j6XpnbxhdEVA2ZpMxeyx76Rat3AmWy0DPrhRgF7
    GfBmHhR1AwZfw>
X-ME-Received: <xmr:zAD3YmbBPilxQwd6t9hY_p83nnVjt2qOcTQY4tomZI6A_4U_zkcwi2RMImK_XuLAUgIj0eUafdk>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:zAD3YpVoZfRttn5iOpvtzPfhP0VDAogbeQ3P0ZAazLYNHnUUNZJNlA>
    <xmx:zAD3YskpwwZv_9rRbLiKBA-V9TZi3JyCnd0uYtfF5rbIUgmmJN0RVg>
    <xmx:zAD3Yuf81YzsaOvKWjW4Y0-dGn58PqtNSmXiorD3iwFmXoU2a5oMNw>
    <xmx:zAD3YjtlQMHrc6Zb8uS1lRdMW_xQ3WWoyqOATb0bOlGv1tgskkHlfQ>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v4 07/11] IOMMU/VT-d: wire common device reserved memory API
Date: Sat, 13 Aug 2022 03:38:57 +0200
Message-Id: <e0351406e1cb41460aa050c542bcd24b22a66cd7.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Re-use rmrr= parameter handling code to handle common device reserved
memory.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v3:
- make MAX_USER_RMRR_PAGES applicable only to user-configured RMRR
---
 xen/drivers/passthrough/vtd/dmar.c | 201 +++++++++++++++++-------------
 1 file changed, 119 insertions(+), 82 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 367304c8739c..3df5f6b69719 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -861,111 +861,139 @@ static struct user_rmrr __initdata user_rmrrs[MAX_USER_RMRR];
 
 /* Macro for RMRR inclusive range formatting. */
 #define ERMRRU_FMT "[%lx-%lx]"
-#define ERMRRU_ARG(eru) eru.base_pfn, eru.end_pfn
+#define ERMRRU_ARG base_pfn, end_pfn
+
+static int __init add_one_user_rmrr(unsigned long base_pfn,
+                                    unsigned long end_pfn,
+                                    unsigned int dev_count,
+                                    uint32_t *sbdf);
 
 static int __init add_user_rmrr(void)
 {
+    unsigned int i;
+    int ret;
+
+    for ( i = 0; i < nr_rmrr; i++ )
+    {
+        ret = add_one_user_rmrr(user_rmrrs[i].base_pfn,
+                                user_rmrrs[i].end_pfn,
+                                user_rmrrs[i].dev_count,
+                                user_rmrrs[i].sbdf);
+        if ( ret < 0 )
+            return ret;
+    }
+    return 0;
+}
+
+/* Returns 1 on success, 0 when ignoring and < 0 on error. */
+static int __init add_one_user_rmrr(unsigned long base_pfn,
+                                    unsigned long end_pfn,
+                                    unsigned int dev_count,
+                                    uint32_t *sbdf)
+{
     struct acpi_rmrr_unit *rmrr, *rmrru;
-    unsigned int idx, seg, i;
-    unsigned long base, end;
+    unsigned int idx, seg;
+    unsigned long base_iter;
     bool overlap;
 
-    for ( i = 0; i < nr_rmrr; i++ )
+    if ( iommu_verbose )
+        printk(XENLOG_DEBUG VTDPREFIX
+               "Adding RMRR for %d device ([0]: %#x) range "ERMRRU_FMT"\n",
+               dev_count, sbdf[0], ERMRRU_ARG);
+
+    if ( base_pfn > end_pfn )
     {
-        base = user_rmrrs[i].base_pfn;
-        end = user_rmrrs[i].end_pfn;
+        printk(XENLOG_ERR VTDPREFIX
+               "Invalid RMRR Range "ERMRRU_FMT"\n",
+               ERMRRU_ARG);
+        return 0;
+    }
 
-        if ( base > end )
+    overlap = false;
+    list_for_each_entry(rmrru, &acpi_rmrr_units, list)
+    {
+        if ( pfn_to_paddr(base_pfn) <= rmrru->end_address &&
+             rmrru->base_address <= pfn_to_paddr(end_pfn) )
         {
             printk(XENLOG_ERR VTDPREFIX
-                   "Invalid RMRR Range "ERMRRU_FMT"\n",
-                   ERMRRU_ARG(user_rmrrs[i]));
-            continue;
+                   "Overlapping RMRRs: "ERMRRU_FMT" and [%lx-%lx]\n",
+                   ERMRRU_ARG,
+                   paddr_to_pfn(rmrru->base_address),
+                   paddr_to_pfn(rmrru->end_address));
+            overlap = true;
+            break;
         }
+    }
+    /* Don't add overlapping RMRR. */
+    if ( overlap )
+        return 0;
 
-        if ( (end - base) >= MAX_USER_RMRR_PAGES )
+    base_iter = base_pfn;
+    do
+    {
+        if ( !mfn_valid(_mfn(base_iter)) )
         {
             printk(XENLOG_ERR VTDPREFIX
-                   "RMRR range "ERMRRU_FMT" exceeds "\
-                   __stringify(MAX_USER_RMRR_PAGES)" pages\n",
-                   ERMRRU_ARG(user_rmrrs[i]));
-            continue;
+                   "Invalid pfn in RMRR range "ERMRRU_FMT"\n",
+                   ERMRRU_ARG);
+            break;
         }
+    } while ( base_iter++ < end_pfn );
 
-        overlap = false;
-        list_for_each_entry(rmrru, &acpi_rmrr_units, list)
-        {
-            if ( pfn_to_paddr(base) <= rmrru->end_address &&
-                 rmrru->base_address <= pfn_to_paddr(end) )
-            {
-                printk(XENLOG_ERR VTDPREFIX
-                       "Overlapping RMRRs: "ERMRRU_FMT" and [%lx-%lx]\n",
-                       ERMRRU_ARG(user_rmrrs[i]),
-                       paddr_to_pfn(rmrru->base_address),
-                       paddr_to_pfn(rmrru->end_address));
-                overlap = true;
-                break;
-            }
-        }
-        /* Don't add overlapping RMRR. */
-        if ( overlap )
-            continue;
+    /* Invalid pfn in range as the loop ended before end_pfn was reached. */
+    if ( base_iter <= end_pfn )
+        return 0;
 
-        do
-        {
-            if ( !mfn_valid(_mfn(base)) )
-            {
-                printk(XENLOG_ERR VTDPREFIX
-                       "Invalid pfn in RMRR range "ERMRRU_FMT"\n",
-                       ERMRRU_ARG(user_rmrrs[i]));
-                break;
-            }
-        } while ( base++ < end );
+    rmrr = xzalloc(struct acpi_rmrr_unit);
+    if ( !rmrr )
+        return -ENOMEM;
 
-        /* Invalid pfn in range as the loop ended before end_pfn was reached. */
-        if ( base <= end )
-            continue;
+    rmrr->scope.devices = xmalloc_array(u16, dev_count);
+    if ( !rmrr->scope.devices )
+    {
+        xfree(rmrr);
+        return -ENOMEM;
+    }
 
-        rmrr = xzalloc(struct acpi_rmrr_unit);
-        if ( !rmrr )
-            return -ENOMEM;
+    seg = 0;
+    for ( idx = 0; idx < dev_count; idx++ )
+    {
+        rmrr->scope.devices[idx] = sbdf[idx];
+        seg |= PCI_SEG(sbdf[idx]);
+    }
+    if ( seg != PCI_SEG(sbdf[0]) )
+    {
+        printk(XENLOG_ERR VTDPREFIX
+               "Segments are not equal for RMRR range "ERMRRU_FMT"\n",
+               ERMRRU_ARG);
+        scope_devices_free(&rmrr->scope);
+        xfree(rmrr);
+        return 0;
+    }
 
-        rmrr->scope.devices = xmalloc_array(u16, user_rmrrs[i].dev_count);
-        if ( !rmrr->scope.devices )
-        {
-            xfree(rmrr);
-            return -ENOMEM;
-        }
+    rmrr->segment = seg;
+    rmrr->base_address = pfn_to_paddr(base_pfn);
+    /* Align the end_address to the end of the page */
+    rmrr->end_address = pfn_to_paddr(end_pfn) | ~PAGE_MASK;
+    rmrr->scope.devices_cnt = dev_count;
 
-        seg = 0;
-        for ( idx = 0; idx < user_rmrrs[i].dev_count; idx++ )
-        {
-            rmrr->scope.devices[idx] = user_rmrrs[i].sbdf[idx];
-            seg |= PCI_SEG(user_rmrrs[i].sbdf[idx]);
-        }
-        if ( seg != PCI_SEG(user_rmrrs[i].sbdf[0]) )
-        {
-            printk(XENLOG_ERR VTDPREFIX
-                   "Segments are not equal for RMRR range "ERMRRU_FMT"\n",
-                   ERMRRU_ARG(user_rmrrs[i]));
-            scope_devices_free(&rmrr->scope);
-            xfree(rmrr);
-            continue;
-        }
+    if ( register_one_rmrr(rmrr) )
+        printk(XENLOG_ERR VTDPREFIX
+               "Could not register RMMR range "ERMRRU_FMT"\n",
+               ERMRRU_ARG);
 
-        rmrr->segment = seg;
-        rmrr->base_address = pfn_to_paddr(user_rmrrs[i].base_pfn);
-        /* Align the end_address to the end of the page */
-        rmrr->end_address = pfn_to_paddr(user_rmrrs[i].end_pfn) | ~PAGE_MASK;
-        rmrr->scope.devices_cnt = user_rmrrs[i].dev_count;
+    return 1;
+}
 
-        if ( register_one_rmrr(rmrr) )
-            printk(XENLOG_ERR VTDPREFIX
-                   "Could not register RMMR range "ERMRRU_FMT"\n",
-                   ERMRRU_ARG(user_rmrrs[i]));
-    }
+static int __init cf_check add_one_extra_rmrr(xen_pfn_t start, xen_ulong_t nr, u32 id, void *ctxt)
+{
+    u32 sbdf_array[] = { id };
+    return add_one_user_rmrr(start, start+nr, 1, sbdf_array);
+}
 
-    return 0;
+static int __init add_extra_rmrr(void)
+{
+    return iommu_get_extra_reserved_device_memory(add_one_extra_rmrr, NULL);
 }
 
 #include <asm/tboot.h>
@@ -1010,7 +1038,7 @@ int __init acpi_dmar_init(void)
     {
         iommu_init_ops = &intel_iommu_init_ops;
 
-        return add_user_rmrr();
+        return add_user_rmrr() || add_extra_rmrr();
     }
 
     return ret;
@@ -1108,6 +1136,15 @@ static int __init cf_check parse_rmrr_param(const char *str)
         else
             end = start;
 
+        if ( (end - start) >= MAX_USER_RMRR_PAGES )
+        {
+            printk(XENLOG_ERR VTDPREFIX
+                    "RMRR range "ERMRRU_FMT" exceeds "\
+                    __stringify(MAX_USER_RMRR_PAGES)" pages\n",
+                    start, end);
+            return -E2BIG;
+        }
+
         user_rmrrs[nr_rmrr].base_pfn = start;
         user_rmrrs[nr_rmrr].end_pfn = end;
 
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386019.621912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7Z-000246-OC; Sat, 13 Aug 2022 01:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386019.621912; Sat, 13 Aug 2022 01:39:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7Z-00023H-Jl; Sat, 13 Aug 2022 01:39:25 +0000
Received: by outflank-mailman (input) for mailman id 386019;
 Sat, 13 Aug 2022 01:39:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7Y-0000pT-G4
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:24 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1e4604b-1aa8-11ed-bd2e-47488cf2e6aa;
 Sat, 13 Aug 2022 03:39:23 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id A24465C00D8;
 Fri, 12 Aug 2022 21:39:22 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Fri, 12 Aug 2022 21:39:22 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:21 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1e4604b-1aa8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354762; x=1660441162; bh=3vwZO/cHIy
	oLl/Bx95EOgkgvhsPphVoLUtAC3Lmmo20=; b=yn5worH2WLJ0T1xlJShsvUa6xO
	+n0UqbfoFdQnPpimQbgpwAqAs3qUbEmDowsRPnNY6FT0ySdOURdQfH4SPplYaxGW
	JGikB6YQ8t2X5P4mPHc+Wperb4Wq0XC5xrUXWgvCScn4PppMT51ZdT5C0RECf3/s
	FUn1BWoZHCsEmV3e6AsIW7u4KIngvrE2PtRvmHfDGIs7DKE01ng1elFZ/gPDMynZ
	2Ko9EiZ81FFT1lRWqpku1ysAq97i2Nnl+Aeqzv8+YmNalt4ECdfvMD2Qtgcwjv60
	Ztme2G3CuOAGzfo6o1dln6O3J92dDkCFILxtaq69mzdzPZd2GNwsCJSh9h3Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354762; x=
	1660441162; bh=3vwZO/cHIyoLl/Bx95EOgkgvhsPphVoLUtAC3Lmmo20=; b=I
	01NskkBRHJGGIiYHsX7cP3e54I6sm+oqObFw3m67cRacxGxeszC2gaK5wlMema2h
	MpqnTHB9q40TjzvIRuFSN6+JQEu30p48QDANm5RfrWTHxBPcYxjrY6OvnxDh4dox
	OQOrXW9+oSk/miR1jeIXnZl5Y0FCKSYia0NPhSWdfuEpJKqqnWg10JixeWWOqeKg
	Fg13KXGY0zMtPFQ2LF/2EBFyiEzluM60wWq5pDBY75AM1UbDaIWDEAFfqOoX2+/c
	/sjbMNych50zlp0qa1PI0jLWK5zifGrqzRChCy/bfUbQ6pF4DTCY4t4WkbWdkduZ
	/EMY5lzDnJuBXpkPxxFJA==
X-ME-Sender: <xms:ygD3YrRO2sIoGRVxpgW1nM3rUVx9hGjEo-si3IQcDpw8-YXEVRaAMw>
    <xme:ygD3YsxWjwf3fDFMh0H4wvioy0CHsmcJ18777sCljQvegXFzymQOlcv08qT1yvjSM
    EmLTt2YdUWpfg>
X-ME-Received: <xmr:ygD3Yg2Vc-NxaYbTvL02-RAL0dN8c-uB3XbF3kbNa24_IISoIKWkJ7lIVY0bTZ90SZTcYJYRsWM>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:ygD3YrCQ_6IS0_iylVSqrnZFG9j0UIfzDmSBNEFZtOEofbabxOnujg>
    <xmx:ygD3Ykh_UkF4Jhsdxy62GkP8bS4bW54JSRPGUWwf6R6p1PMEjgUXxA>
    <xmx:ygD3Yvp9wTUVpgWnvWpU-NE8EEsalekVgNubQ5aa-JVgTcVMMk0QiQ>
    <xmx:ygD3YuYikfjfdZ7VhOEdlyoBwkunsfwYXCUsOIdmjofd56a-e0UzEA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 05/11] console: support multiple serial console simultaneously
Date: Sat, 13 Aug 2022 03:38:55 +0200
Message-Id: <e750ea9b05c1976a0439277a74ee2b439714a6c1.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Previously only one serial console was supported at the same time. Using
console=com1,dbgp,vga silently ignored all but last serial console (in
this case: only dbgp and vga were active).

Fix this by storing not a single sercon_handle, but an array of them, up
to MAX_SERCONS entries. The value of MAX_SERCONS can be chosen in
kconfig, the default (4) is arbitrary, inspired by the number of
SERHND_IDX values.

Make console_steal() aware of multiple consoles too. It can now either
steal output from specific console (for gdbstub), or from all of them at
once (for console suspend).

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- use unsigned int for loop counters
- other minor changes
Changes in v3:
- adjust console_steal() for multiple consoles too
- add MAX_SERCONS to kconfig
- add warning about sync_console impact
- add warning if too many consoles are configured
- log issue with PCI spec parsing
---
 docs/misc/xen-command-line.pandoc |  4 +-
 xen/drivers/char/Kconfig          | 11 ++++-
 xen/drivers/char/console.c        | 98 ++++++++++++++++++++++++--------
 xen/include/xen/serial.h          |  1 +-
 4 files changed, 92 insertions(+), 22 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 6b1e515bfc8c..163b05886ed6 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -433,6 +433,9 @@ only available when used together with `pv-in-pvh`.
 `none` indicates that Xen should not use a console.  This option only
 makes sense on its own.
 
+Specifying more than one serial console will increase console latency,
+especially when `sync_console` option is used.
+
 ### console_timestamps
 > `= none | date | datems | boot | raw`
 
@@ -2390,6 +2393,7 @@ vulnerabilities.
 
 Flag to force synchronous console output.  Useful for debugging, but
 not suitable for production environments due to incurred overhead.
+If multiple consoles are configured, the incurred overhead is even bigger.
 
 ### tboot (x86)
 > `= 0x<phys_addr>`
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index 06350c387371..7b5ff0c414ec 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -85,6 +85,17 @@ config SERIAL_TX_BUFSIZE
 
 	  Default value is 16384 (16kiB).
 
+config MAX_SERCONS
+	int "Maximum number of serial consoles active at once"
+	default 4
+	help
+	  Controls how many serial consoles can be active at once. Configuring more
+	  using `console=` parameter will be ignored.
+	  When multiple consoles are configured, overhead of `sync_console` option
+	  is even bigger.
+
+	  Default value is 4.
+
 config XHCI
 	bool "XHCI DbC UART driver"
 	depends on X86
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index e8468c121ad0..60d42284f606 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -113,7 +113,9 @@ static char *__read_mostly conring = _conring;
 static uint32_t __read_mostly conring_size = _CONRING_SIZE;
 static uint32_t conringc, conringp;
 
-static int __read_mostly sercon_handle = -1;
+#define MAX_SERCONS CONFIG_MAX_SERCONS
+static int __read_mostly sercon_handle[MAX_SERCONS];
+static unsigned int __read_mostly nr_sercon_handle = 0;
 
 #ifdef CONFIG_X86
 /* Tristate: 0 disabled, 1 user enabled, -1 default enabled */
@@ -393,32 +395,61 @@ long read_console_ring(struct xen_sysctl_readconsole *op)
 static char serial_rx_ring[SERIAL_RX_SIZE];
 static unsigned int serial_rx_cons, serial_rx_prod;
 
-static void (*serial_steal_fn)(const char *, size_t nr) = early_puts;
+/* The last entry means "steal from all consoles" */
+static void (*serial_steal_fn[])(const char *, size_t nr) = {
+    [MAX_SERCONS] = early_puts,
+};
 
+/*
+ * Redirect console *handle* output to *fn*. Use SERHND_STEAL_ALL as *handle* to
+ * redirect all the consoles. 
+ */
 int console_steal(int handle, void (*fn)(const char *, size_t nr))
 {
-    if ( (handle == -1) || (handle != sercon_handle) )
-        return 0;
+    unsigned int i;
+
+    if ( handle == -1 )
+        return -ENOENT;
+    if ( serial_steal_fn[MAX_SERCONS] != NULL )
+        return -EBUSY;
+    if ( handle == SERHND_STEAL_ALL )
+    {
+        serial_steal_fn[MAX_SERCONS] = fn;
+        return MAX_SERCONS;
+    }
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        if ( handle == sercon_handle[i] )
+            break;
+    if ( i == nr_sercon_handle )
+        return -ENOENT;
 
-    if ( serial_steal_fn != NULL )
+    if ( serial_steal_fn[i] != NULL )
         return -EBUSY;
 
-    serial_steal_fn = fn;
-    return 1;
+    serial_steal_fn[i] = fn;
+    return i;
 }
 
 void console_giveback(int id)
 {
-    if ( id == 1 )
-        serial_steal_fn = NULL;
+    if ( id >= 0 && id <= MAX_SERCONS )
+        serial_steal_fn[id] = NULL;
 }
 
 void console_serial_puts(const char *s, size_t nr)
 {
-    if ( serial_steal_fn != NULL )
-        serial_steal_fn(s, nr);
+    unsigned int i;
+
+    if ( serial_steal_fn[MAX_SERCONS] != NULL )
+        serial_steal_fn[MAX_SERCONS](s, nr);
     else
-        serial_puts(sercon_handle, s, nr);
+        for ( i = 0; i < nr_sercon_handle; i++ )
+        {
+            if ( serial_steal_fn[i] != NULL )
+                serial_steal_fn[i](s, nr);
+            else
+                serial_puts(sercon_handle[i], s, nr);
+        }
 
     /* Copy all serial output into PV console */
     pv_console_puts(s, nr);
@@ -957,6 +988,7 @@ void __init console_init_preirq(void)
 {
     char *p;
     int sh;
+    unsigned int i;
 
     serial_init_preirq();
 
@@ -977,8 +1009,12 @@ void __init console_init_preirq(void)
             continue;
         else if ( (sh = serial_parse_handle(p)) >= 0 )
         {
-            sercon_handle = sh;
-            serial_steal_fn = NULL;
+            if ( nr_sercon_handle < MAX_SERCONS )
+                sercon_handle[nr_sercon_handle++] = sh;
+            else
+                printk("Too many consoles (max %d), ignoring '%s'\n",
+                       MAX_SERCONS, p);
+            serial_steal_fn[MAX_SERCONS] = NULL;
         }
         else
         {
@@ -996,7 +1032,8 @@ void __init console_init_preirq(void)
         opt_console_xen = 0;
 #endif
 
-    serial_set_rx_handler(sercon_handle, serial_rx);
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        serial_set_rx_handler(sercon_handle[i], serial_rx);
     pv_console_set_rx_handler(serial_rx);
 
     /* HELLO WORLD --- start-of-day banner text. */
@@ -1014,7 +1051,8 @@ void __init console_init_preirq(void)
 
     if ( opt_sync_console )
     {
-        serial_start_sync(sercon_handle);
+        for ( i = 0; i < nr_sercon_handle; i++ )
+            serial_start_sync(sercon_handle[i]);
         add_taint(TAINT_SYNC_CONSOLE);
         printk("Console output is synchronous.\n");
         warning_add(warning_sync_console);
@@ -1121,13 +1159,19 @@ int __init console_has(const char *device)
 
 void console_start_log_everything(void)
 {
-    serial_start_log_everything(sercon_handle);
+    unsigned int i;
+
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        serial_start_log_everything(sercon_handle[i]);
     atomic_inc(&print_everything);
 }
 
 void console_end_log_everything(void)
 {
-    serial_end_log_everything(sercon_handle);
+    unsigned int i;
+
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        serial_end_log_everything(sercon_handle[i]);
     atomic_dec(&print_everything);
 }
 
@@ -1149,23 +1193,32 @@ void console_unlock_recursive_irqrestore(unsigned long flags)
 
 void console_force_unlock(void)
 {
+    unsigned int i;
+
     watchdog_disable();
     spin_debug_disable();
     spin_lock_init(&console_lock);
-    serial_force_unlock(sercon_handle);
+    for ( i = 0 ; i < nr_sercon_handle ; i++ )
+        serial_force_unlock(sercon_handle[i]);
     console_locks_busted = 1;
     console_start_sync();
 }
 
 void console_start_sync(void)
 {
+    unsigned int i;
+
     atomic_inc(&print_everything);
-    serial_start_sync(sercon_handle);
+    for ( i = 0 ; i < nr_sercon_handle ; i++ )
+        serial_start_sync(sercon_handle[i]);
 }
 
 void console_end_sync(void)
 {
-    serial_end_sync(sercon_handle);
+    unsigned int i;
+
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        serial_end_sync(sercon_handle[i]);
     atomic_dec(&print_everything);
 }
 
@@ -1291,7 +1344,8 @@ static int suspend_steal_id;
 
 int console_suspend(void)
 {
-    suspend_steal_id = console_steal(sercon_handle, suspend_steal_fn);
+    if ( nr_sercon_handle )
+        suspend_steal_id = console_steal(SERHND_STEAL_ALL, suspend_steal_fn);
     serial_suspend();
     return 0;
 }
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 4cd4ae5e6f1c..36ddf062ccad 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -99,6 +99,7 @@ struct uart_driver {
 #define SERHND_HI       (1<<2) /* Mux/demux each transferred char by MSB. */
 #define SERHND_LO       (1<<3) /* Ditto, except that the MSB is cleared.  */
 #define SERHND_COOKED   (1<<4) /* Newline/carriage-return translation?    */
+#define SERHND_STEAL_ALL 0xff  /* Synthetic handle used in console_steal() */
 
 /* Three-stage initialisation (before/during/after IRQ-subsystem setup). */
 void serial_init_preirq(void);
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386016.621873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7W-00015s-KG; Sat, 13 Aug 2022 01:39:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386016.621873; Sat, 13 Aug 2022 01:39:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7W-00013P-C0; Sat, 13 Aug 2022 01:39:22 +0000
Received: by outflank-mailman (input) for mailman id 386016;
 Sat, 13 Aug 2022 01:39:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7V-0000pU-Dr
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:21 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be2569f4-1aa8-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 03:39:17 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 51B3E5C00C6;
 Fri, 12 Aug 2022 21:39:16 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Fri, 12 Aug 2022 21:39:16 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:14 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be2569f4-1aa8-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354756; x=1660441156; bh=CINZ9zztld
	2hH3fLhO22PActGMbKBahzGetF23xSs9w=; b=T2lSZac/KrZckKYA5g5B36uTXX
	DRGWrzRO365Suz2DVgby6yTN+T+U4wRTm4AtP0vuc6XnA9daoDPXLs9uNGQw2Uzd
	PWNW45gEiP09QmzUcm864OkkLO1tPKZ4dErULQa/JLxTp8GdvVqhGeG1bhKbd285
	RP8K7Mv37kDFVH8ARwPM+hrRwiT11Oh9z+NjMiO7SDdzy54AZ4rSkNYRS/xzmNdM
	a/ehwEeShiN1wVTsNEN1CfiX1ELLYDH+DnDUABdUxOJxNJSlPnLU77wDgfvaHcJf
	z/J9gzksCWpHtSLU70obnWYmdgEwsn44fgIRrgfDbBzcXgd2xuQF0REEPq0g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354756; x=
	1660441156; bh=CINZ9zztld2hH3fLhO22PActGMbKBahzGetF23xSs9w=; b=H
	sRroeAQ3/y9lXnD/lLzB+9Pzd8VJCQFiLGbSkgQjl1XXnEddvrdMSoTOah7hI8JR
	dT4ZdcDpqGoZctK7ZTl3JW0guXtjkujBxk5GYsQvdfM2nJs5WXvB1BgEBY6QXi80
	rLwsMq+DiqdaTeIDzuugaHzBFY6Uedgg2KzCkpkJJDvQ4eKSJq67iBOJ6s5EG9dP
	mfdZKGSIgXeuH8Zpq29rTP+Y7qOAMHeT4Y8ynnmX7ZCHmSqUWAWvhImARjha8ff5
	+tnKHPgb3Bnp0F6hDz7K6zxdsHiiE+GLzbf3MW1S5tcUvQLC3qHcHv0nP1vhDfNV
	YI1JtjvCj1+oWlKEMUgTA==
X-ME-Sender: <xms:xAD3Yl02nn_SY8l7BKf3n6eEtVgdO6rfcFHzWq8c9DaXm0WchmdF7Q>
    <xme:xAD3YsHP5oag-9LktkVdhU15pMbVcpUtZjBBHdrsZmbnaeDJu7OCDSzHbcy-b9cdL
    0T0_DGmud-w_g>
X-ME-Received: <xmr:xAD3Yl4zOqrSzxuLT18-0a62i4CH8Gx15oldkv0pDom2gjDoubC7oi4X014bvHwX1b4Eo_Q1DnA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeek
    udejueeuudetudffffdtheetteeileekkeefjeeljefhkeelffevueffkeelfeenucffoh
    hmrghinhepghhithhhuhgsrdgtohhmpdhgnhhurdhorhhgnecuvehluhhsthgvrhfuihii
    vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsih
    gslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:xAD3Yi2_eehs5llk7gY_M_QsDUuHpO6VFo6hoaofeXM0dVatro-1KQ>
    <xmx:xAD3YoGYWN2ni8hR46DzElIoiORCS1oJbB9Pzd_gRtcpTTu2PdzQkQ>
    <xmx:xAD3Yj9xj81zm4cOWvcYVuLU5QnZ9GFrNWyxmP8rXqFpQBSK6EFNbw>
    <xmx:xAD3Yt7sKdHoATCjwgpPctoFx4TqQ790gvVj1cnqDOJ73SzDcGBh8g>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 01/11] drivers/char: Add support for USB3 DbC debugger
Date: Sat, 13 Aug 2022 03:38:51 +0200
Message-Id: <19c0f6f6b735fbea747f9744fe1f998242fe6d9e.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Connor Davis <davisc@ainfosec.com>

[Connor]
Xue is a cross-platform USB 3 debugger that drives the Debug
Capability (DbC) of xHCI-compliant host controllers. This patch
implements the operations needed for xue to initialize the host
controller's DbC and communicate with it. It also implements a struct
uart_driver that uses xue as a backend. Note that only target -> host
communication is supported for now. To use Xue as a console, add
'console=dbgp dbgp=xhci' to the command line.

[Marek]
The Xue driver is taken from https://github.com/connojd/xue and heavily
refactored to fit into Xen code base. Major changes include:
- rename to xhci_dbc
- drop support for non-Xen systems
- drop xue_ops abstraction
- use Xen's native helper functions for PCI access
- move all the code to xue.c, drop "inline"
- build for x86 only
- annotate functions with cf_check
- adjust for Xen's code style

At this stage, only the first xHCI is considered, and only output is
supported. Later patches add support for choosing specific device, and
input handling.
The driver is initiallized before memory allocator works, so all the
transfer buffers (about 230KiB of them) are allocated statically and will
use memory even if XUE console is not selected. The driver can be
disabled build time to reclaim this memory.
Most of this memory is shared with the controller via DMA. Later patch
will adjust structures placement to avoid anything else to be placed on
those DMA-reachable pages. This also means str_buf cannot use static
initializer, without reserving (at least) a whole page page in .data (or
more, when combined with other structures).

Signed-off-by: Connor Davis <davisc@ainfosec.com>
Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- adjust alignments
- check if BAR0 is initialized by the firmware
- some more type fixes
- use #define for doorbell mask
- remove chunk belonging to later patch
- explain in commit message why no static initializer for str_buf
Changes in v3:
- rename to xhci-dbc
- add empty stub for xhci_dbc_uart_init(), to avoid #ifdef in setup.c
- use PCI_BASE_ADDRESS_MEM_MASK
- make strings init more readable
- avoid infinite extended caps lookup
- size the whole 64bit BAR
- rename CONFIG_HAS_XHCI to CONFIG_XHCI
- use cpu_relax(), drop xue_sys_pause()
- disable memory decoding for the BAR sizing time, and enable it
  explicitly
- drop mmio_size field - it's used only in init_xhc() function
  internally
- use readl()/writel() for accessing MMIO
- add pci_ro_device(), to protect device before later patch(es) add
  other protections
- fix setting dequeue pointer based on events: TRB ring was page
  aligned, not 16-page aligned, so just taking DBC_TRB_RING_MASK bits
  doesn't work; instead, calculate distance from the ring beginning;
  while at it, fix off by one error there; dequeue pointer isn't used
  much yet, but it will be useful for RX handling
- split dbc_ensure_running() out of dbc_flush() - it make dbc_flush()
  more logical, and will make even more sense with RX support added
- make enum names upper case

Changes in v2:
- drop #pragma pack
- fix indentation in Kconfig
- minor style fixes
- use cache_flush()
- mark init functions as __init, and return bool
- fix PCI_SBDF usage, use constants from pci_regs.h
- add command line docs
- allow disabling the driver in menuconfig, to reclaim 2MB allocated
  memory
- guard unused debug functions with #ifdef XUE_DEBUG
---
 docs/misc/xen-command-line.pandoc |    5 +-
 xen/arch/x86/include/asm/fixmap.h |    4 +-
 xen/arch/x86/setup.c              |    1 +-
 xen/drivers/char/Kconfig          |    9 +-
 xen/drivers/char/Makefile         |    1 +-
 xen/drivers/char/xhci-dbc.c       | 1029 ++++++++++++++++++++++++++++++-
 xen/include/xen/serial.h          |    5 +-
 7 files changed, 1054 insertions(+)
 create mode 100644 xen/drivers/char/xhci-dbc.c

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 21d632e83af0..88c70d133951 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -721,10 +721,15 @@ Available alternatives, with their meaning, are:
 
 ### dbgp
 > `= ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
+> `= xhci`
 
 Specify the USB controller to use, either by instance number (when going
 over the PCI busses sequentially) or by PCI device (must be on segment 0).
 
+Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability (output
+only). XHCI driver will wait indefinitely for the debug host to connect - make
+sure the cable is connected.
+
 ### debug_stack_lines
 > `= <integer>`
 
diff --git a/xen/arch/x86/include/asm/fixmap.h b/xen/arch/x86/include/asm/fixmap.h
index 20746afd0a2a..bc39ffe896b1 100644
--- a/xen/arch/x86/include/asm/fixmap.h
+++ b/xen/arch/x86/include/asm/fixmap.h
@@ -25,6 +25,8 @@
 #include <asm/msi.h>
 #include <acpi/apei.h>
 
+#define MAX_XHCI_PAGES 16
+
 /*
  * Here we define all the compile-time 'special' virtual
  * addresses. The point is to have a constant address at
@@ -43,6 +45,8 @@ enum fixed_addresses {
     FIX_COM_BEGIN,
     FIX_COM_END,
     FIX_EHCI_DBGP,
+    FIX_XHCI_BEGIN,
+    FIX_XHCI_END = FIX_XHCI_BEGIN + MAX_XHCI_PAGES - 1,
 #ifdef CONFIG_XEN_GUEST
     FIX_PV_CONSOLE,
     FIX_XEN_SHARED_INFO,
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index f08b07b8dea6..e05189f64997 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -950,6 +950,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     ns16550.irq     = 3;
     ns16550_init(1, &ns16550);
     ehci_dbgp_init();
+    xhci_dbc_uart_init();
     console_init_preirq();
 
     if ( pvh_boot )
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index dec58bc99360..06350c387371 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -84,3 +84,12 @@ config SERIAL_TX_BUFSIZE
 	  the nearest power of 2.
 
 	  Default value is 16384 (16kiB).
+
+config XHCI
+	bool "XHCI DbC UART driver"
+	depends on X86
+	help
+	  This selects the USB based XHCI debug capability to be usable as a UART.
+	  Enabling this option makes Xen use extra ~230KiB memory, even if XHCI UART
+	  is not selected.
+	  If you have an x86 based system with USB3, say Y.
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index 14e67cf072d7..e7e374775d32 100644
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_HAS_MVEBU) += mvebu-uart.o
 obj-$(CONFIG_HAS_OMAP) += omap-uart.o
 obj-$(CONFIG_HAS_SCIF) += scif-uart.o
 obj-$(CONFIG_HAS_EHCI) += ehci-dbgp.o
+obj-$(CONFIG_XHCI) += xhci-dbc.o
 obj-$(CONFIG_HAS_IMX_LPUART) += imx-lpuart.o
 obj-$(CONFIG_ARM) += arm-uart.o
 obj-y += serial.o
diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
new file mode 100644
index 000000000000..a16c81b9e71c
--- /dev/null
+++ b/xen/drivers/char/xhci-dbc.c
@@ -0,0 +1,1029 @@
+/*
+ * drivers/char/xhci-dbc.c
+ *
+ * Xen port for the xue debugger
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Copyright (c) 2019 Assured Information Security.
+ */
+
+#include <xen/delay.h>
+#include <xen/mm.h>
+#include <xen/param.h>
+#include <xen/serial.h>
+#include <xen/timer.h>
+#include <xen/types.h>
+#include <asm/fixmap.h>
+#include <asm/io.h>
+#include <asm/string.h>
+#include <asm/system.h>
+
+/* uncomment to have dbc_uart_dump() debug function */
+/* #define DBC_DEBUG 1 */
+
+#define DBC_POLL_INTERVAL 100 /* us */
+
+#define DBC_PAGE_SIZE 4096U
+
+/* Supported xHC PCI configurations */
+#define DBC_XHC_CLASSC 0xC0330U
+
+/* DbC idVendor and idProduct */
+#define DBC_DBC_VENDOR 0x1D6B
+#define DBC_DBC_PRODUCT 0x0010
+#define DBC_DBC_PROTOCOL 0x0000
+
+#define DBC_DOORBELL_TARGET_SHIFT 8
+#define DBC_DOORBELL_TARGET_MASK (0xFF << DBC_DOORBELL_TARGET_SHIFT)
+
+/* DCCTRL fields */
+#define DBC_CTRL_DCR 0
+#define DBC_CTRL_HOT 2
+#define DBC_CTRL_HIT 3
+#define DBC_CTRL_DRC 4
+#define DBC_CTRL_DCE 31
+
+/* DCPORTSC fields */
+#define DBC_PSC_PED 1
+#define DBC_PSC_CSC 17
+#define DBC_PSC_PRC 21
+#define DBC_PSC_PLC 22
+#define DBC_PSC_CEC 23
+
+#define DBC_PSC_ACK_MASK                                                       \
+    ((1UL << DBC_PSC_CSC) | (1UL << DBC_PSC_PRC) | (1UL << DBC_PSC_PLC) |      \
+     (1UL << DBC_PSC_CEC))
+
+#define dbc_debug(...) printk("dbc debug: " __VA_ARGS__)
+#define dbc_alert(...) printk("dbc alert: " __VA_ARGS__)
+#define dbc_error(...) printk("dbc error: " __VA_ARGS__)
+
+/******************************************************************************
+ * TRB ring (summarized from the manual):
+ *
+ * TRB rings are circular queues of TRBs shared between the xHC and the driver.
+ * Each ring has one producer and one consumer. The DbC has one event
+ * ring and two transfer rings; one IN and one OUT.
+ *
+ * The DbC hardware is the producer on the event ring, and
+ * dbc driver is the consumer. This means that event TRBs are read-only from
+ * the dbc driver.
+ *
+ * OTOH, dbc drive is the producer of transfer TRBs on the two transfer
+ * rings, so dbc driver enqueues transfers, and the hardware dequeues
+ * them. The dequeue pointer of a transfer ring is read by
+ * dbc driver by examining the latest transfer event TRB on the event ring. The
+ * transfer event TRB contains the address of the transfer TRB that generated
+ * the event.
+ *
+ * To make each transfer ring circular, the last TRB must be a link TRB, which
+ * points to the beginning of the next queue. Note that this implementation
+ * does not support multiple segments, so each link TRB points back to the
+ * beginning of its own segment.
+ ******************************************************************************/
+
+/* TRB types */
+enum {
+    XHCI_TRB_NORM = 1,
+    XHCI_TRB_LINK = 6,
+    XHCI_TRB_TFRE = 32,
+    XHCI_TRB_PSCE = 34
+};
+
+/* TRB completion codes */
+enum {
+    XHCI_TRB_CC_SUCCESS = 1,
+    XHCI_TRB_CC_TRB_ERR = 5,
+};
+
+/* DbC endpoint types */
+enum {
+    XHCI_EP_BULK_OUT = 2,
+    XHCI_EP_BULK_IN = 6,
+};
+
+/* DMA/MMIO structures */
+struct xhci_trb {
+    uint64_t params;
+    uint32_t status;
+    uint32_t ctrl;
+};
+
+/* log2(sizeof(struct xhci_trb)) */
+#define XHCI_TRB_SHIFT 4
+
+struct xhci_erst_segment {
+    uint64_t base;
+    uint16_t size;
+    uint8_t rsvdz[6];
+};
+
+/* Arbitrary length, must fit every DBC_STRING_* */
+#define MAX_STRING_LENGTH 16
+
+#define DBC_STRINGS_COUNT 4
+#define DBC_STRING_LANGID "\x09\x04"
+#define DBC_STRING_MANUFACTURER "Xen"
+#define DBC_STRING_PRODUCT "Debug console"
+#define DBC_STRING_SERIAL "0"
+
+#define XHCI_DT_STRING 3
+
+struct xhci_string_descriptor {
+    uint8_t size;
+    uint8_t type;
+    uint16_t string[MAX_STRING_LENGTH];
+};
+
+#define DBC_CTX_SIZE 16
+#define DBC_CTX_BYTES (DBC_CTX_SIZE * 4)
+
+struct xhci_dbc_ctx {
+    union {
+        uint32_t info[DBC_CTX_SIZE];
+        struct {
+            uint64_t string0_ptr;
+            uint64_t manufacturer_ptr;
+            uint64_t product_ptr;
+            uint64_t serial_ptr;
+            uint8_t string0_size;
+            uint8_t manufacturer_size;
+            uint8_t product_size;
+            uint8_t serial_size;
+        };
+    };
+    uint32_t ep_out[DBC_CTX_SIZE];
+    uint32_t ep_in[DBC_CTX_SIZE];
+};
+
+struct dbc_reg {
+    uint32_t id;
+    uint32_t db;
+    uint32_t erstsz;
+    uint32_t rsvdz;
+    uint64_t erstba;
+    uint64_t erdp;
+    uint32_t ctrl;
+    uint32_t st;
+    uint32_t portsc;
+    uint32_t rsvdp;
+    uint64_t cp;
+    uint32_t ddi1;
+    uint32_t ddi2;
+};
+
+#define DBC_TRB_MAX_TFR (DBC_PAGE_SIZE << 4)
+#define DBC_TRB_PER_PAGE (DBC_PAGE_SIZE / sizeof(struct xhci_trb))
+
+/* Defines the size in bytes of TRB rings as 2^DBC_TRB_RING_ORDER * 4096 */
+#ifndef DBC_TRB_RING_ORDER
+#define DBC_TRB_RING_ORDER 4
+#endif
+#define DBC_TRB_RING_CAP (DBC_TRB_PER_PAGE * (1 << DBC_TRB_RING_ORDER))
+#define DBC_TRB_RING_BYTES (DBC_TRB_RING_CAP * sizeof(struct xhci_trb))
+#define DBC_TRB_RING_MASK (DBC_TRB_RING_BYTES - 1U)
+
+struct xhci_trb_ring {
+    struct xhci_trb *trb; /* Array of TRBs */
+    uint32_t enq; /* The offset of the enqueue ptr */
+    uint32_t deq; /* The offset of the dequeue ptr */
+    uint8_t cyc; /* Cycle state toggled on each wrap-around */
+    uint8_t db; /* Doorbell target */
+    uint64_t dma; /* Physical address (for the device) */
+};
+
+#define DBC_DB_OUT 0x0
+#define DBC_DB_IN 0x1
+#define DBC_DB_INVAL 0xFF
+
+/* Defines the size in bytes of work rings as 2^DBC_WORK_RING_ORDER * 4096 */
+#ifndef DBC_WORK_RING_ORDER
+#define DBC_WORK_RING_ORDER 3
+#endif
+#define DBC_WORK_RING_CAP (DBC_PAGE_SIZE * (1 << DBC_WORK_RING_ORDER))
+#define DBC_WORK_RING_BYTES DBC_WORK_RING_CAP
+
+#if DBC_WORK_RING_CAP > DBC_TRB_MAX_TFR
+#error "DBC_WORK_RING_ORDER must be at most 4"
+#endif
+
+struct dbc_work_ring {
+    uint8_t *buf;
+    uint32_t enq;
+    uint32_t deq;
+    uint64_t dma;
+};
+
+struct dbc {
+    struct dbc_reg __iomem *dbc_reg;
+    struct xhci_dbc_ctx *dbc_ctx;
+    struct xhci_erst_segment *dbc_erst;
+    struct xhci_trb_ring dbc_ering;
+    struct xhci_trb_ring dbc_oring;
+    struct xhci_trb_ring dbc_iring;
+    struct dbc_work_ring dbc_owork;
+    struct xhci_string_descriptor *dbc_str;
+
+    pci_sbdf_t sbdf;
+    uint64_t xhc_mmio_phys;
+    uint64_t xhc_dbc_offset;
+    void __iomem *xhc_mmio;
+
+    bool open;
+};
+
+static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
+{
+    size_t i;
+
+    if ( size != MAX_XHCI_PAGES * PAGE_SIZE )
+        return NULL;
+
+    for ( i = FIX_XHCI_END; i >= FIX_XHCI_BEGIN; i-- )
+    {
+        set_fixmap_nocache(i, phys);
+        phys += PAGE_SIZE;
+    }
+
+    /*
+     * The fixmap grows downward, so the lowest virt is
+     * at the highest index
+     */
+    return fix_to_virt(FIX_XHCI_END);
+}
+
+static bool __init dbc_init_xhc(struct dbc *dbc)
+{
+    uint32_t bar0;
+    uint64_t bar1;
+    uint64_t bar_val;
+    uint64_t bar_size;
+    uint64_t devfn;
+    uint16_t cmd;
+    size_t xhc_mmio_size;
+
+    /*
+     * Search PCI bus 0 for the xHC. All the host controllers supported so far
+     * are part of the chipset and are on bus 0.
+     */
+    for ( devfn = 0; devfn < 256; devfn++ )
+    {
+        pci_sbdf_t sbdf = PCI_SBDF(0, 0, devfn);
+        uint8_t hdr = pci_conf_read8(sbdf, PCI_HEADER_TYPE);
+
+        if ( hdr == 0 || hdr == 0x80 )
+        {
+            if ( (pci_conf_read32(sbdf, PCI_CLASS_REVISION) >> 8) == DBC_XHC_CLASSC )
+            {
+                dbc->sbdf = sbdf;
+                break;
+            }
+        }
+    }
+
+    if ( !dbc->sbdf.sbdf )
+    {
+        dbc_error("Compatible xHC not found on bus 0\n");
+        return false;
+    }
+
+    /* ...we found it, so parse the BAR and map the registers */
+    bar0 = pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_0);
+    bar1 = pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_1);
+
+    /* IO BARs not allowed; BAR must be 64-bit */
+    if ( (bar0 & PCI_BASE_ADDRESS_SPACE) != PCI_BASE_ADDRESS_SPACE_MEMORY ||
+         (bar0 & PCI_BASE_ADDRESS_MEM_TYPE_MASK) != PCI_BASE_ADDRESS_MEM_TYPE_64 )
+        return false;
+
+    bar_val = (bar1 << 32) | (bar0 & PCI_BASE_ADDRESS_MEM_MASK);
+    if ( !bar_val || !(bar_val + (bar_val & -bar_val)) )
+    {
+        dbc_error("firmware initialization of MMIO BAR required\n");
+        return false;
+    }
+
+    cmd = pci_conf_read16(dbc->sbdf, PCI_COMMAND);
+    pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd & ~PCI_COMMAND_MEMORY);
+
+    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_0, 0xFFFFFFFF);
+    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_1, 0xFFFFFFFF);
+    bar_size = pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_0);
+    bar_size |= (uint64_t)pci_conf_read32(dbc->sbdf, PCI_BASE_ADDRESS_1) << 32;
+    xhc_mmio_size = ~(bar_size & PCI_BASE_ADDRESS_MEM_MASK) + 1;
+    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_0, bar0);
+    pci_conf_write32(dbc->sbdf, PCI_BASE_ADDRESS_1, bar1);
+
+    pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd);
+
+    dbc->xhc_mmio_phys = (bar0 & PCI_BASE_ADDRESS_MEM_MASK) | (bar1 << 32);
+    dbc->xhc_mmio = dbc_sys_map_xhc(dbc->xhc_mmio_phys, xhc_mmio_size);
+
+    if ( dbc->xhc_mmio == NULL )
+        return false;
+
+    if ( (cmd & PCI_COMMAND_MEMORY) == 0 )
+        pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd | PCI_COMMAND_MEMORY);
+
+    return true;
+}
+
+/**
+ * The first register of the debug capability is found by traversing the
+ * host controller's capability list (xcap) until a capability
+ * with ID = 0xA is found. The xHCI capability list begins at address
+ * mmio + (HCCPARAMS1[31:16] << 2).
+ */
+static struct dbc_reg __iomem *xhci_find_dbc(struct dbc *dbc)
+{
+    const uint32_t __iomem *xcap;
+    uint32_t xcap_val;
+    uint32_t next;
+    uint32_t id = 0;
+    const void __iomem *mmio = dbc->xhc_mmio;
+    const uint32_t __iomem *hccp1 = mmio + 0x10;
+    const uint32_t DBC_ID = 0xA;
+    int ttl = 48;
+
+    xcap = mmio;
+    /*
+     * This is initially an offset to the first capability. All the offsets
+     * (both in HCCP1 and then next capability pointer) are dword-based.
+     */
+    next = (readl(hccp1) & 0xFFFF0000) >> 16;
+
+    while ( id != DBC_ID && next && ttl-- )
+    {
+        xcap += next;
+        xcap_val = readl(xcap);
+        id = xcap_val & 0xFF;
+        next = (xcap_val & 0xFF00) >> 8;
+    }
+
+    if ( id != DBC_ID )
+        return NULL;
+
+    dbc->xhc_dbc_offset = (uint64_t)xcap - (uint64_t)mmio;
+    return (struct dbc_reg __iomem *)xcap;
+}
+
+/**
+ * Fields with the same interpretation for every TRB type (section 4.11.1).
+ * These are the fields defined in the TRB template, minus the ENT bit. That
+ * bit is the toggle cycle bit in link TRBs, so it shouldn't be in the
+ * template.
+ */
+static uint32_t xhci_trb_cyc(const struct xhci_trb *trb)
+{
+    return trb->ctrl & 0x1;
+}
+
+static uint32_t xhci_trb_type(const struct xhci_trb *trb)
+{
+    return (trb->ctrl & 0xFC00) >> 10;
+}
+
+static void xhci_trb_set_cyc(struct xhci_trb *trb, uint32_t c)
+{
+    trb->ctrl &= ~0x1U;
+    trb->ctrl |= c;
+}
+
+static void xhci_trb_set_type(struct xhci_trb *trb, uint32_t t)
+{
+    trb->ctrl &= ~0xFC00U;
+    trb->ctrl |= (t << 10);
+}
+
+/* Fields for normal TRBs */
+static void xhci_trb_norm_set_buf(struct xhci_trb *trb, uint64_t addr)
+{
+    trb->params = addr;
+}
+
+static void xhci_trb_norm_set_len(struct xhci_trb *trb, uint32_t len)
+{
+    trb->status &= ~0x1FFFFU;
+    trb->status |= len;
+}
+
+static void xhci_trb_norm_set_ioc(struct xhci_trb *trb)
+{
+    trb->ctrl |= 0x20;
+}
+
+/**
+ * Fields for Transfer Event TRBs (see section 6.4.2.1). Note that event
+ * TRBs are read-only from software
+ */
+static uint64_t xhci_trb_tfre_ptr(const struct xhci_trb *trb)
+{
+    return trb->params;
+}
+
+/* Fields for link TRBs (section 6.4.4.1) */
+static void xhci_trb_link_set_rsp(struct xhci_trb *trb, uint64_t rsp)
+{
+    trb->params = rsp;
+}
+
+static void xhci_trb_link_set_tc(struct xhci_trb *trb)
+{
+    trb->ctrl |= 0x2;
+}
+
+static void xhci_trb_ring_init(const struct dbc *dbc,
+                              struct xhci_trb_ring *ring, int producer,
+                              int doorbell)
+{
+    memset(ring->trb, 0, DBC_TRB_RING_CAP * sizeof(ring->trb[0]));
+
+    ring->enq = 0;
+    ring->deq = 0;
+    ring->cyc = 1;
+    ring->db = (uint8_t)doorbell;
+    ring->dma = virt_to_maddr(ring->trb);
+
+    /*
+     * Producer implies transfer ring, so we have to place a
+     * link TRB at the end that points back to trb[0]
+     */
+    if ( producer )
+    {
+        struct xhci_trb *trb = &ring->trb[DBC_TRB_RING_CAP - 1];
+        xhci_trb_set_type(trb, XHCI_TRB_LINK);
+        xhci_trb_link_set_tc(trb);
+        xhci_trb_link_set_rsp(trb, virt_to_maddr(ring->trb));
+    }
+}
+
+static bool xhci_trb_ring_full(const struct xhci_trb_ring *ring)
+{
+    return ((ring->enq + 1) & (DBC_TRB_RING_CAP - 1)) == ring->deq;
+}
+
+static bool dbc_work_ring_full(const struct dbc_work_ring *ring)
+{
+    return ((ring->enq + 1) & (DBC_WORK_RING_CAP - 1)) == ring->deq;
+}
+
+static unsigned int dbc_work_ring_size(const struct dbc_work_ring *ring)
+{
+    if ( ring->enq >= ring->deq )
+        return ring->enq - ring->deq;
+
+    return DBC_WORK_RING_CAP - ring->deq + ring->enq;
+}
+
+static void dbc_push_trb(struct dbc *dbc, struct xhci_trb_ring *ring,
+                         uint64_t dma, uint64_t len)
+{
+    struct xhci_trb trb;
+
+    if ( ring->enq == DBC_TRB_RING_CAP - 1 )
+    {
+        /*
+         * We have to make sure the xHC processes the link TRB in order
+         * for wrap-around to work properly. We do this by marking the
+         * xHC as owner of the link TRB by setting the TRB's cycle bit
+         * (just like with normal TRBs).
+         */
+        struct xhci_trb *link = &ring->trb[ring->enq];
+        xhci_trb_set_cyc(link, ring->cyc);
+
+        ring->enq = 0;
+        ring->cyc ^= 1;
+    }
+
+    trb.params = 0;
+    trb.status = 0;
+    trb.ctrl = 0;
+
+    xhci_trb_set_type(&trb, XHCI_TRB_NORM);
+    xhci_trb_set_cyc(&trb, ring->cyc);
+
+    xhci_trb_norm_set_buf(&trb, dma);
+    xhci_trb_norm_set_len(&trb, (uint32_t)len);
+    xhci_trb_norm_set_ioc(&trb);
+
+    ring->trb[ring->enq++] = trb;
+    cache_flush(&ring->trb[ring->enq - 1], sizeof(trb));
+}
+
+static unsigned int dbc_push_work(struct dbc *dbc, struct dbc_work_ring *ring,
+                             const char *buf, unsigned int len)
+{
+    unsigned int i = 0;
+    unsigned int end, start = ring->enq;
+
+    while ( !dbc_work_ring_full(ring) && i < len )
+    {
+        ring->buf[ring->enq] = buf[i++];
+        ring->enq = (ring->enq + 1) & (DBC_WORK_RING_CAP - 1);
+    }
+
+    end = ring->enq;
+
+    if ( end > start )
+        cache_flush(&ring->buf[start], end - start);
+    else if ( i > 0 )
+    {
+        cache_flush(&ring->buf[start], DBC_WORK_RING_CAP - start);
+        cache_flush(&ring->buf[0], end);
+    }
+
+    return i;
+}
+
+/*
+ * Note that if IN transfer support is added, then this
+ * will need to be changed; it assumes an OUT transfer ring only
+ */
+static void dbc_pop_events(struct dbc *dbc)
+{
+    struct dbc_reg *reg = dbc->dbc_reg;
+    struct xhci_trb_ring *er = &dbc->dbc_ering;
+    struct xhci_trb_ring *tr = &dbc->dbc_oring;
+    struct xhci_trb *event = &er->trb[er->deq];
+    uint64_t erdp = readq(&reg->erdp);
+    uint32_t portsc;
+    uint64_t event_ptr;
+    unsigned int trb_idx;
+
+    BUILD_BUG_ON((1 << XHCI_TRB_SHIFT) != sizeof(struct xhci_trb));
+
+    rmb();
+
+    while ( xhci_trb_cyc(event) == er->cyc )
+    {
+        switch (xhci_trb_type(event))
+        {
+        case XHCI_TRB_TFRE:
+            event_ptr = xhci_trb_tfre_ptr(event);
+            /*
+             * trb_idx is just completed TRB, so set the dequeue ptr one
+             * position further.
+             */
+            if ( event_ptr - tr->dma < DBC_TRB_RING_BYTES )
+            {
+                trb_idx = (event_ptr - tr->dma) >> XHCI_TRB_SHIFT;
+                tr->deq = (trb_idx + 1) & (DBC_TRB_RING_CAP - 1);
+            }
+            else
+                dbc_alert("event: TRB 0x%lx not found in any ring\n",
+                          event_ptr);
+            break;
+        case XHCI_TRB_PSCE:
+            portsc = readl(&reg->portsc);
+            portsc |= DBC_PSC_ACK_MASK & portsc;
+            writel(portsc, &reg->portsc);
+            break;
+        default:
+            break;
+        }
+
+        er->cyc = (er->deq == DBC_TRB_RING_CAP - 1) ? er->cyc ^ 1 : er->cyc;
+        er->deq = (er->deq + 1) & (DBC_TRB_RING_CAP - 1);
+        event = &er->trb[er->deq];
+    }
+
+    erdp = er->dma + (er->deq << XHCI_TRB_SHIFT);
+    wmb();
+    writeq(erdp, &reg->erdp);
+}
+
+/**
+ * dbc_init_ep
+ *
+ * Initializes the endpoint as specified in sections 7.6.3.2 and 7.6.9.2.
+ * Each endpoint is Bulk, so the MaxPStreams, LSA, HID, CErr, FE,
+ * Interval, Mult, and Max ESIT Payload fields are all 0.
+ *
+ * Max packet size: 1024
+ * Max burst size: debug mbs (from dbc_reg->ctrl register)
+ * EP type: 2 for OUT bulk, 6 for IN bulk
+ * TR dequeue ptr: physical base address of transfer ring
+ * Avg TRB length: software defined (see 4.14.1.1 for suggested defaults)
+ */
+static void dbc_init_ep(uint32_t *ep, uint64_t mbs, uint32_t type,
+                        uint64_t ring_dma)
+{
+    memset(ep, 0, DBC_CTX_BYTES);
+
+    ep[1] = (1024 << 16) | ((uint32_t)mbs << 8) | (type << 3);
+    ep[2] = (ring_dma & 0xFFFFFFFF) | 1;
+    ep[3] = ring_dma >> 32;
+    ep[4] = 3 * 1024;
+}
+
+static void dbc_init_string_single(struct xhci_string_descriptor *string,
+                                   const char *ascii_str,
+                                   uint64_t *str_ptr,
+                                   uint8_t *str_size_ptr)
+{
+    size_t i, len = strlen(ascii_str);
+
+    string->size = offsetof(typeof(*string), string) + len * 2;
+    string->type = XHCI_DT_STRING;
+    /* ASCII to UTF16 conversion */
+    for ( i = 0; i < len; i++ )
+        string->string[i] = ascii_str[i];
+    *str_ptr = virt_to_maddr(string);
+    *str_size_ptr = string->size;
+}
+
+/* Initialize the DbC info with USB string descriptor addresses */
+static void dbc_init_strings(struct dbc *dbc, uint32_t *info)
+{
+    BUILD_BUG_ON(sizeof(DBC_STRING_LANGID) > MAX_STRING_LENGTH);
+    BUILD_BUG_ON(sizeof(DBC_STRING_MANUFACTURER) > MAX_STRING_LENGTH);
+    BUILD_BUG_ON(sizeof(DBC_STRING_PRODUCT) > MAX_STRING_LENGTH);
+    BUILD_BUG_ON(sizeof(DBC_STRING_SERIAL) > MAX_STRING_LENGTH);
+
+    dbc_init_string_single(&dbc->dbc_str[0], DBC_STRING_LANGID,
+                           &dbc->dbc_ctx->string0_ptr,
+                           &dbc->dbc_ctx->string0_size);
+    dbc_init_string_single(&dbc->dbc_str[1], DBC_STRING_MANUFACTURER,
+                           &dbc->dbc_ctx->manufacturer_ptr,
+                           &dbc->dbc_ctx->manufacturer_size);
+    dbc_init_string_single(&dbc->dbc_str[2], DBC_STRING_PRODUCT,
+                           &dbc->dbc_ctx->product_ptr,
+                           &dbc->dbc_ctx->product_size);
+    dbc_init_string_single(&dbc->dbc_str[3], DBC_STRING_SERIAL,
+                           &dbc->dbc_ctx->serial_ptr,
+                           &dbc->dbc_ctx->serial_size);
+}
+
+static void dbc_enable_dbc(struct dbc *dbc)
+{
+    struct dbc_reg *reg = dbc->dbc_reg;
+
+    wmb();
+    writel(readl(&reg->ctrl) | (1U << DBC_CTRL_DCE), &reg->ctrl);
+    wmb();
+
+    while ( (readl(&reg->ctrl) & (1U << DBC_CTRL_DCE)) == 0 )
+        cpu_relax();
+
+    wmb();
+    writel(readl(&reg->portsc) | (1U << DBC_PSC_PED), &reg->portsc);
+    wmb();
+
+    while ( (readl(&reg->ctrl) & (1U << DBC_CTRL_DCR)) == 0 )
+        cpu_relax();
+}
+
+static void dbc_disable_dbc(struct dbc *dbc)
+{
+    struct dbc_reg *reg = dbc->dbc_reg;
+
+    writel(readl(&reg->portsc) & ~(1U << DBC_PSC_PED), &reg->portsc);
+    wmb();
+    writel(readl(&reg->ctrl) & ~(1U << DBC_CTRL_DCE), &reg->ctrl);
+
+    while ( readl(&reg->ctrl) & (1U << DBC_CTRL_DCE) )
+        cpu_relax();
+}
+
+static int dbc_init_dbc(struct dbc *dbc)
+{
+    uint64_t erdp = 0;
+    uint64_t mbs = 0;
+    uint16_t cmd;
+    struct dbc_reg *reg = xhci_find_dbc(dbc);
+
+    if ( !reg )
+        return 0;
+
+    dbc->dbc_reg = reg;
+    dbc_disable_dbc(dbc);
+
+    xhci_trb_ring_init(dbc, &dbc->dbc_ering, 0, DBC_DB_INVAL);
+    xhci_trb_ring_init(dbc, &dbc->dbc_oring, 1, DBC_DB_OUT);
+    xhci_trb_ring_init(dbc, &dbc->dbc_iring, 1, DBC_DB_IN);
+
+    erdp = virt_to_maddr(dbc->dbc_ering.trb);
+    if ( !erdp )
+        return 0;
+
+    memset(dbc->dbc_erst, 0, sizeof(*dbc->dbc_erst));
+    dbc->dbc_erst->base = erdp;
+    dbc->dbc_erst->size = DBC_TRB_RING_CAP;
+
+    mbs = (readl(&reg->ctrl) & 0xFF0000) >> 16;
+
+    memset(dbc->dbc_ctx, 0, sizeof(*dbc->dbc_ctx));
+    dbc_init_strings(dbc, dbc->dbc_ctx->info);
+    dbc_init_ep(dbc->dbc_ctx->ep_out, mbs, XHCI_EP_BULK_OUT,
+                dbc->dbc_oring.dma);
+    dbc_init_ep(dbc->dbc_ctx->ep_in, mbs, XHCI_EP_BULK_IN,
+                dbc->dbc_iring.dma);
+
+    writel(1, &reg->erstsz);
+    writeq(virt_to_maddr(dbc->dbc_erst), &reg->erstba);
+    writeq(erdp, &reg->erdp);
+    writeq(virt_to_maddr(dbc->dbc_ctx), &reg->cp);
+    writel((DBC_DBC_VENDOR << 16) | DBC_DBC_PROTOCOL, &reg->ddi1);
+    writel(DBC_DBC_PRODUCT, &reg->ddi2);
+
+    cache_flush(dbc->dbc_ctx, sizeof(*dbc->dbc_ctx));
+    cache_flush(dbc->dbc_erst, sizeof(*dbc->dbc_erst));
+    cache_flush(dbc->dbc_ering.trb, DBC_TRB_RING_BYTES);
+    cache_flush(dbc->dbc_oring.trb, DBC_TRB_RING_BYTES);
+    cache_flush(dbc->dbc_iring.trb, DBC_TRB_RING_BYTES);
+    cache_flush(dbc->dbc_owork.buf, DBC_WORK_RING_BYTES);
+
+    cmd = pci_conf_read16(dbc->sbdf, PCI_COMMAND);
+    pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd | PCI_COMMAND_MASTER);
+
+    return 1;
+}
+
+static void dbc_init_work_ring(struct dbc *dbc,
+                               struct dbc_work_ring *wrk)
+{
+    wrk->enq = 0;
+    wrk->deq = 0;
+    wrk->dma = virt_to_maddr(wrk->buf);
+}
+
+/**
+ * Initialize the DbC and enable it for transfers. First map in the DbC
+ * registers from the host controller's MMIO region. Then allocate and map
+ * DMA for the event and transfer rings. Finally, enable the DbC for
+ * the host to enumerate. On success, the DbC is ready to send packets.
+ *
+ * @param dbc the dbc to open (!= NULL)
+ * @return true iff dbc_open succeeded
+ */
+static bool __init dbc_open(struct dbc *dbc)
+{
+    if ( !dbc )
+        return false;
+
+    if ( !dbc_init_xhc(dbc) )
+        return false;
+
+    if ( !dbc_init_dbc(dbc) )
+        return false;
+
+    dbc_init_work_ring(dbc, &dbc->dbc_owork);
+    dbc_enable_dbc(dbc);
+    dbc->open = true;
+
+    return true;
+}
+
+/*
+ * Ensure DbC is still running, handle events, and possibly re-enable if cable
+ * was re-plugged. Returns true if DbC is operational.
+ */
+static bool dbc_ensure_running(struct dbc *dbc)
+{
+    struct dbc_reg *reg = dbc->dbc_reg;
+    uint32_t ctrl;
+
+    dbc_pop_events(dbc);
+
+    ctrl = readl(&reg->ctrl);
+    if ( !(ctrl & (1U << DBC_CTRL_DCR)) )
+    {
+        return false;
+    }
+
+    if ( ctrl & (1U << DBC_CTRL_DRC) )
+    {
+        writel(ctrl | (1U << DBC_CTRL_DRC), &reg->ctrl);
+        writel(readl(&reg->portsc) | (1U << DBC_PSC_PED), &reg->portsc);
+        wmb();
+    }
+
+    return true;
+}
+
+/**
+ * Commit the pending transfer TRBs to the DbC. This notifies
+ * the DbC of any previously-queued data on the work ring and
+ * rings the doorbell.
+ *
+ * @param dbc the dbc to flush
+ * @param trb the ring containing the TRBs to transfer
+ * @param wrk the work ring containing data to be flushed
+ */
+static void dbc_flush(struct dbc *dbc, struct xhci_trb_ring *trb,
+                      struct dbc_work_ring *wrk)
+{
+    struct dbc_reg *reg = dbc->dbc_reg;
+    uint32_t db = (readl(&reg->db) & ~DBC_DOORBELL_TARGET_MASK) |
+                  (trb->db << DBC_DOORBELL_TARGET_SHIFT);
+
+    if ( xhci_trb_ring_full(trb) )
+        return;
+
+    if ( wrk->enq == wrk->deq )
+        return;
+    else if ( wrk->enq > wrk->deq )
+    {
+        dbc_push_trb(dbc, trb, wrk->dma + wrk->deq, wrk->enq - wrk->deq);
+        wrk->deq = wrk->enq;
+    }
+    else
+    {
+        dbc_push_trb(dbc, trb, wrk->dma + wrk->deq,
+                     DBC_WORK_RING_CAP - wrk->deq);
+        wrk->deq = 0;
+        if ( wrk->enq > 0 && !xhci_trb_ring_full(trb) )
+        {
+            dbc_push_trb(dbc, trb, wrk->dma, wrk->enq);
+            wrk->deq = wrk->enq;
+        }
+    }
+
+    wmb();
+    writel(db, &reg->db);
+}
+
+/**
+ * Queue a single character to the DbC. A transfer TRB will be created
+ * if the character is a newline and the DbC will be notified that data is
+ * available for writing to the debug host.
+ *
+ * @param dbc the dbc to write to
+ * @param c the character to write
+ * @return the number of bytes written
+ */
+static int64_t dbc_putc(struct dbc *dbc, char c)
+{
+    if ( !dbc_push_work(dbc, &dbc->dbc_owork, &c, 1) )
+        return 0;
+
+    if ( !dbc_ensure_running(dbc) )
+        return 1;
+
+    if ( c == '\n' )
+        dbc_flush(dbc, &dbc->dbc_oring, &dbc->dbc_owork);
+
+    return 1;
+}
+
+struct dbc_uart {
+    struct dbc dbc;
+    struct timer timer;
+    spinlock_t *lock;
+};
+
+static struct dbc_uart dbc_uart;
+
+static void cf_check dbc_uart_poll(void *data)
+{
+    struct serial_port *port = data;
+    struct dbc_uart *uart = port->uart;
+    struct dbc *dbc = &uart->dbc;
+    unsigned long flags = 0;
+
+    if ( spin_trylock_irqsave(&port->tx_lock, flags) )
+    {
+        if ( dbc_ensure_running(dbc) )
+            dbc_flush(dbc, &dbc->dbc_oring, &dbc->dbc_owork);
+        spin_unlock_irqrestore(&port->tx_lock, flags);
+    }
+
+    serial_tx_interrupt(port, guest_cpu_user_regs());
+    set_timer(&uart->timer, NOW() + MICROSECS(DBC_POLL_INTERVAL));
+}
+
+static void __init cf_check dbc_uart_init_preirq(struct serial_port *port)
+{
+    struct dbc_uart *uart = port->uart;
+    uart->lock = &port->tx_lock;
+}
+
+static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
+{
+    struct dbc_uart *uart = port->uart;
+
+    serial_async_transmit(port);
+    init_timer(&uart->timer, dbc_uart_poll, port, 0);
+    set_timer(&uart->timer, NOW() + MILLISECS(1));
+
+    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
+        printk(XENLOG_WARNING
+               "Failed to mark read-only %pp used for XHCI console\n",
+               &uart->dbc.sbdf);
+}
+
+static int cf_check dbc_uart_tx_ready(struct serial_port *port)
+{
+    struct dbc_uart *uart = port->uart;
+    struct dbc *dbc = &uart->dbc;
+
+    return DBC_WORK_RING_CAP - dbc_work_ring_size(&dbc->dbc_owork);
+}
+
+static void cf_check dbc_uart_putc(struct serial_port *port, char c)
+{
+    struct dbc_uart *uart = port->uart;
+    dbc_putc(&uart->dbc, c);
+}
+
+static void cf_check dbc_uart_flush(struct serial_port *port)
+{
+    s_time_t goal;
+    struct dbc_uart *uart = port->uart;
+    struct dbc *dbc = &uart->dbc;
+
+    if ( dbc_ensure_running(dbc) )
+        dbc_flush(dbc, &dbc->dbc_oring, &dbc->dbc_owork);
+
+    goal = NOW() + MICROSECS(DBC_POLL_INTERVAL);
+    if ( uart->timer.expires > goal )
+        set_timer(&uart->timer, goal);
+}
+
+static struct uart_driver dbc_uart_driver = {
+    .init_preirq = dbc_uart_init_preirq,
+    .init_postirq = dbc_uart_init_postirq,
+    .tx_ready = dbc_uart_tx_ready,
+    .putc = dbc_uart_putc,
+    .flush = dbc_uart_flush,
+};
+
+/* Those are accessed via DMA. */
+static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
+static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
+static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
+static struct xhci_erst_segment erst __aligned(16);
+static struct xhci_dbc_ctx ctx __aligned(16);
+static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
+static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
+
+static char __initdata opt_dbgp[30];
+
+string_param("dbgp", opt_dbgp);
+
+void __init xhci_dbc_uart_init(void)
+{
+    struct dbc_uart *uart = &dbc_uart;
+    struct dbc *dbc = &uart->dbc;
+
+    if ( strncmp(opt_dbgp, "xhci", 4) )
+        return;
+
+    memset(dbc, 0, sizeof(*dbc));
+
+    dbc->dbc_ctx = &ctx;
+    dbc->dbc_erst = &erst;
+    dbc->dbc_ering.trb = evt_trb;
+    dbc->dbc_oring.trb = out_trb;
+    dbc->dbc_iring.trb = in_trb;
+    dbc->dbc_owork.buf = out_wrk_buf;
+    dbc->dbc_str = str_buf;
+
+    if ( dbc_open(dbc) )
+        serial_register_uart(SERHND_DBGP, &dbc_uart_driver, &dbc_uart);
+}
+
+#ifdef DBC_DEBUG
+static void dbc_dump(struct dbc *dbc)
+{
+    struct dbc_reg *r = dbc->dbc_reg;
+
+    dbc_debug("XHCI DBC DUMP:\n");
+    dbc_debug("    ctrl: 0x%x stat: 0x%x psc: 0x%x\n",
+              readl(&r->ctrl), readl(&r->st), readl(&r->portsc));
+    dbc_debug("    id: 0x%x, db: 0x%x\n",
+              readl(&r->id), readl(&r->db));
+    dbc_debug("    erstsz: %u, erstba: 0x%lx\n",
+              readl(&r->erstsz), readq(&r->erstba));
+    dbc_debug("    erdp: 0x%lx, cp: 0x%lx\n",
+              readq(&r->erdp), readq(&r->cp));
+    dbc_debug("    ddi1: 0x%x, ddi2: 0x%x\n",
+              readl(&r->ddi1), readl(&r->ddi2));
+    dbc_debug("    erstba == virt_to_dma(erst): %d\n",
+              readq(&r->erstba) == virt_to_maddr(dbc->dbc_erst));
+    dbc_debug("    erdp == virt_to_dma(erst[0].base): %d\n",
+              readq(&r->erdp) == dbc->dbc_erst[0].base);
+    dbc_debug("    cp == virt_to_dma(ctx): %d\n",
+              readq(&r->cp) == virt_to_maddr(dbc->dbc_ctx));
+}
+
+static void dbc_uart_dump(void)
+{
+    struct dbc_uart *uart = &dbc_uart;
+    struct dbc *dbc = &uart->dbc;
+
+    dbc_dump(dbc);
+}
+#endif
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 6548f0b0a9cf..181e026967bc 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -171,6 +171,11 @@ struct ns16550_defaults {
 };
 void ns16550_init(int index, struct ns16550_defaults *defaults);
 void ehci_dbgp_init(void);
+#ifdef CONFIG_XHCI
+void xhci_dbc_uart_init(void);
+#else
+static void inline xhci_dbc_uart_init(void) {};
+#endif
 
 void arm_uart_init(void);
 
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386026.621957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7f-0003OR-L4; Sat, 13 Aug 2022 01:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386026.621957; Sat, 13 Aug 2022 01:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7f-0003O7-Fn; Sat, 13 Aug 2022 01:39:31 +0000
Received: by outflank-mailman (input) for mailman id 386026;
 Sat, 13 Aug 2022 01:39:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7d-0000pT-8j
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:29 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4d595ca-1aa8-11ed-bd2e-47488cf2e6aa;
 Sat, 13 Aug 2022 03:39:28 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 8F0375C00C5;
 Fri, 12 Aug 2022 21:39:27 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Fri, 12 Aug 2022 21:39:27 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:26 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4d595ca-1aa8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354767; x=1660441167; bh=Oi+UgP31Q9
	mWTQWpvO49YYf7Gk2wpvlDWMMezZSDVMM=; b=DNV1W7qiesrwFicIl1P6ctq46X
	ec6f/kAvHHCcFldFcwmCIyHGWg3rhi85aj/OSi/Z9AwK5XlQ3bHBRjEojhBvvRKg
	7MU1RkMl3Xe66e+6zZI07r09zdcXMKaTIYZtMkzEvr9RmltBeYeNothBiq9o8gTk
	aDQ1ThV08L6MPiVHTzqsNS8tdjoMdC/mv0RF1J5LXBpzbfjuuR2c8ikZuhgDl0+7
	XXkSNmR+E7u0PZVsKBxq5TaZThPqLps191KnV4z11iGrcA/l4ftrTtLSuhs5zCr5
	MbsMNELaJNUpv0qNaWXtwh6xnbMsQFgIoRPB/elqQK/PLLtz7peJfucDOmLg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354767; x=
	1660441167; bh=Oi+UgP31Q9mWTQWpvO49YYf7Gk2wpvlDWMMezZSDVMM=; b=n
	7ZaongCdHdIrVtXwGPboCVfenjGaQ4eEVAEedE9F5jrgALOP9Nrm74xVHGPw+rcU
	j5pbuBRyPWSt+Q4D5RhmKdRxgavYZ3uxu4rReVMyN5jHkn2KLp3jcVHoeS3j7X8O
	2cpWn0OCxPIRy99rEEdYzKrsBeG0ygmz3ZocTVNpGM3Ib9+4/kM4yKiKAd7sDx3k
	pF4/scFXK2S0X1UEblt1B5QBT8j4nNvvjpNKAmYGqhMBhB3O7rDe/aYcFdGu96aH
	SF/ifRBhh4e3NtM+wb8dHdPwske6/tYhWuJKCLKJZ9PP9B3Rf7oK3nZ46+1p6+p2
	Xi6pc28BMVwMGmNHxod2A==
X-ME-Sender: <xms:zwD3Yp8-dQS_kFEpWsocRTvwRYiXKFv5kAXF2xGRBZDyKVdq8D95NQ>
    <xme:zwD3YtufuCAWT366r3nmwY0zBSmyJqSOCEnvSeJ9UQ6Mepu43T8jpervNxWKKtwDw
    NNfsRJK3W08wA>
X-ME-Received: <xmr:zwD3YnAqfw2CKgLiBzuuXNv1keRK4rI5YbOdM3mkBLk93Wv1UI8y_sp_-jzJVi6CRC42n4jPjRM>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:zwD3YtcdaYOaYWfxT-3-jIULoHm8w48ocHeJrD4ehpiUsf-CCY63Xg>
    <xmx:zwD3YuOiCJU0FSkUnys1vdDe4b9qGdAE8soD4Gn0jvwch8WGSSSwuA>
    <xmx:zwD3YvnoL7tFhbP6soog3fQ7fAEt9UriBUm9Si9Sz3zCja-A6U_Ang>
    <xmx:zwD3Yl3X_BfNH0GI5jOYwSOJfWkuvchGCkGfNNbi9zOLhvPNksNPtA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 09/11] drivers/char: mark DMA buffers as reserved for the XHCI
Date: Sat, 13 Aug 2022 03:38:59 +0200
Message-Id: <b3d917bd1d46393857bd82bcdef9d4486d8f3945.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The important part is to include those buffers in IOMMU page table
relevant for the USB controller. Otherwise, DbC will stop working as
soon as IOMMU is enabled, regardless of to which domain device assigned
(be it xen or dom0).
If the device is passed through to dom0 or other domain (see later
patches), that domain will effectively have access to those buffers too.
It does give such domain yet another way to DoS the system (as is the
case when having PCI device assigned already), but also possibly steal
the console ring content. Thus, such domain should be a trusted one.
In any case, prevent anything else being placed on those pages by adding
artificial padding.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v3:
- adjust for xhci-dbc rename
- do not raise MAX_USER_RMRR_PAGES
- adjust alignment of DMA buffers
---
 xen/drivers/char/xhci-dbc.c | 42 +++++++++++++++++++++++++-------------
 1 file changed, 28 insertions(+), 14 deletions(-)

diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index ca7d4a62139e..8d83d8307fcd 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -20,6 +20,7 @@
  */
 
 #include <xen/delay.h>
+#include <xen/iommu.h>
 #include <xen/mm.h>
 #include <xen/param.h>
 #include <xen/serial.h>
@@ -1050,13 +1051,20 @@ static struct uart_driver dbc_uart_driver = {
 };
 
 /* Those are accessed via DMA. */
-static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
-static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
-static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
-static struct xhci_erst_segment erst __aligned(16);
-static struct xhci_dbc_ctx ctx __aligned(16);
-static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
-static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
+struct dbc_dma_bufs {
+    struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
+    struct xhci_trb out_trb[DBC_TRB_RING_CAP];
+    struct xhci_trb in_trb[DBC_TRB_RING_CAP];
+    uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
+    struct xhci_erst_segment erst __aligned(16);
+    struct xhci_dbc_ctx ctx __aligned(16);
+    struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
+    /*
+     * Don't place anything else on this page - it will be
+     * DMA-reachable by the USB controller.
+     */
+};
+static struct dbc_dma_bufs dbc_dma_bufs __section(".bss.page_aligned");
 
 static char __initdata opt_dbgp[30];
 
@@ -1093,16 +1101,22 @@ void __init xhci_dbc_uart_init(void)
         dbc->sbdf = PCI_SBDF(0, bus, slot, func);
     }
 
-    dbc->dbc_ctx = &ctx;
-    dbc->dbc_erst = &erst;
-    dbc->dbc_ering.trb = evt_trb;
-    dbc->dbc_oring.trb = out_trb;
-    dbc->dbc_iring.trb = in_trb;
-    dbc->dbc_owork.buf = out_wrk_buf;
-    dbc->dbc_str = str_buf;
+    dbc->dbc_ctx = &dbc_dma_bufs.ctx;
+    dbc->dbc_erst = &dbc_dma_bufs.erst;
+    dbc->dbc_ering.trb = dbc_dma_bufs.evt_trb;
+    dbc->dbc_oring.trb = dbc_dma_bufs.out_trb;
+    dbc->dbc_iring.trb = dbc_dma_bufs.in_trb;
+    dbc->dbc_owork.buf = dbc_dma_bufs.out_wrk_buf;
+    dbc->dbc_str = dbc_dma_bufs.str_buf;
 
     if ( dbc_open(dbc) )
+    {
+        iommu_add_extra_reserved_device_memory(
+                PFN_DOWN(virt_to_maddr(&dbc_dma_bufs)),
+                PFN_UP(sizeof(dbc_dma_bufs)),
+                uart->dbc.sbdf);
         serial_register_uart(SERHND_DBGP, &dbc_uart_driver, &dbc_uart);
+    }
 }
 
 #ifdef DBC_DEBUG
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386027.621963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7g-0003YD-Qf; Sat, 13 Aug 2022 01:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386027.621963; Sat, 13 Aug 2022 01:39:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7g-0003WQ-FB; Sat, 13 Aug 2022 01:39:32 +0000
Received: by outflank-mailman (input) for mailman id 386027;
 Sat, 13 Aug 2022 01:39:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7f-0000pU-2a
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:31 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5cf44b2-1aa8-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 03:39:30 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 2FFB05C00C6;
 Fri, 12 Aug 2022 21:39:29 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 12 Aug 2022 21:39:29 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:27 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5cf44b2-1aa8-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354769; x=1660441169; bh=6mkVeqGFyN
	FEqWIFEDSQOHdBSu7AAuGeWY7gU2J9ZPg=; b=oI56fsSaq3dig6Zye8GTagmUKS
	1fxnrJqXyB1nPazTF2OESQpBcgXsRR0bNSt7cOHfBKH85NDXbW9xxC7hS3KFa+cH
	YiBvokPS2xN54EB25y1abYoLNSlA/iFlXVCWWREz/t+NGzULW5FB9Xng2qqNuaom
	gugEXP1sfRWJDfXvk+eiAMCuXoaz3b9ar71qmH0Q9sVJ0A29QuksmzYSLkyxfwER
	cFZLCdbrr2ZQjuSR+Hsl5/0OSTTJX8PxfzMImyjMoVHEhPY2C3Q4BvkrSL8cRqOO
	UOQ8Ep2qvDJl3xa5yUlUmduyKprEH7d86nYMWeFZ2cfLPGbE+upC+KgF+slg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354769; x=
	1660441169; bh=6mkVeqGFyNFEqWIFEDSQOHdBSu7AAuGeWY7gU2J9ZPg=; b=e
	5CmP1uaP41LAZWj9aF+FH3jBZF8p7KQfIRNZP+XYUKHGLg2vg2jAqTkzcr0EWMXQ
	lHvzffbO7EFxM6OroFgnkB9sKFQq5Ff/2dsjhzGz8/s1y/9N6Z+Z2ftKm+74U1zK
	yRpjKXZnDZ1vYi6g2aZ0IQlwBY8YfjtyZiKA7dnyVd0w55FN6S97GqAbqy5RUuac
	rHS5f5W6nDOCPxijVCaX+4dc68+bTddsSojdZhHX1+CpYk2MvsiRWzQsgN4Y5gWt
	sgpcucklPzFL3OOsrUpFnhYRWoM4b5ikaNhQPE2CFZ0Hwus4XPePiUpAI/hifiwA
	PVtb7FkLzgRioioe1SkGA==
X-ME-Sender: <xms:0QD3Yhe5c8moysw8TsjHfKgwFPqOQrhyy6h6N_QWhWAv6T6VQuOnuA>
    <xme:0QD3YvOUupkMhPsCHIcWbQpZTELeahQeP-HDmzUXAx-Vr5MPYcSTVZgc1C4QC8woR
    chT4SVq9GEBZA>
X-ME-Received: <xmr:0QD3YqgVqBc5O5cuO99k4iOe088ZiKluL_ahcdB__hWK-M2-Bs0FkBPFMZUiJEKQ-Bcp9hwx_QM>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedghedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:0QD3Yq-UyQGQbtrBGRNOtyy4Inz04iN1D2exMmu0o2Afkasc4sNSSA>
    <xmx:0QD3YttMAe5Hj-XlDjiZYUKUuxeJz7ofF578BNTq7rZpILqaye4A-A>
    <xmx:0QD3YpEXZcZ2_O1DAU-St8uqmAfI3_mBgCJZNDSqsvmFsz3TNKFQ9Q>
    <xmx:0QD3YrUWQ-i_zia0ypjL99bzb6gxHKTWwC50SAEuznrGMuSbAgMnnw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 10/11] drivers/char: add RX support to the XHCI driver
Date: Sat, 13 Aug 2022 03:39:00 +0200
Message-Id: <0ba9941595e5237a3eeb260e7aaf75269e094786.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add another work ring buffer for received data, and point IN TRB at it.
Ensure there is always at least one pending IN TRB, so the controller
has a way to send incoming data to the driver.
Note that both "success" and "short packet" completion codes are okay -
in fact it will be "short packet" most of the time, as the TRB length is
about maximum size, not required size.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- adjust return types
- add some const
New patch in v3
---
 docs/misc/xen-command-line.pandoc |   4 +-
 xen/drivers/char/xhci-dbc.c       | 129 +++++++++++++++++++++++++++++++-
 2 files changed, 131 insertions(+), 2 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 163b05886ed6..64441a2679b8 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -729,8 +729,8 @@ Available alternatives, with their meaning, are:
 Specify the USB controller to use, either by instance number (when going
 over the PCI busses sequentially) or by PCI device (must be on segment 0).
 
-Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability (output
-only). XHCI driver will wait indefinitely for the debug host to connect - make
+Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability.
+XHCI driver will wait indefinitely for the debug host to connect - make
 sure the cable is connected.
 
 ### debug_stack_lines
diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index 8d83d8307fcd..a94a48a48989 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -111,6 +111,7 @@ enum {
 enum {
     XHCI_TRB_CC_SUCCESS = 1,
     XHCI_TRB_CC_TRB_ERR = 5,
+    XHCI_TRB_CC_SHORT_PACKET = 13,
 };
 
 /* DbC endpoint types */
@@ -239,6 +240,7 @@ struct dbc {
     struct xhci_trb_ring dbc_oring;
     struct xhci_trb_ring dbc_iring;
     struct dbc_work_ring dbc_owork;
+    struct dbc_work_ring dbc_iwork;
     struct xhci_string_descriptor *dbc_str;
 
     pci_sbdf_t sbdf;
@@ -443,6 +445,16 @@ static void xhci_trb_norm_set_ioc(struct xhci_trb *trb)
     trb->ctrl |= 0x20;
 }
 
+static uint64_t xhci_trb_norm_buf(const struct xhci_trb *trb)
+{
+    return trb->params;
+}
+
+static uint32_t xhci_trb_norm_len(const struct xhci_trb *trb)
+{
+    return trb->status & 0x1FFFF;
+}
+
 /**
  * Fields for Transfer Event TRBs (see section 6.4.2.1). Note that event
  * TRBs are read-only from software
@@ -452,6 +464,17 @@ static uint64_t xhci_trb_tfre_ptr(const struct xhci_trb *trb)
     return trb->params;
 }
 
+static uint32_t xhci_trb_tfre_cc(const struct xhci_trb *trb)
+{
+    return trb->status >> 24;
+}
+
+/* Amount of data _not_ transferred */
+static uint32_t xhci_trb_tfre_len(const struct xhci_trb *trb)
+{
+    return trb->status & 0x1FFFF;
+}
+
 /* Fields for link TRBs (section 6.4.4.1) */
 static void xhci_trb_link_set_rsp(struct xhci_trb *trb, uint64_t rsp)
 {
@@ -493,6 +516,14 @@ static bool xhci_trb_ring_full(const struct xhci_trb_ring *ring)
     return ((ring->enq + 1) & (DBC_TRB_RING_CAP - 1)) == ring->deq;
 }
 
+static unsigned int xhci_trb_ring_size(const struct xhci_trb_ring *ring)
+{
+    if ( ring->enq >= ring->deq )
+        return ring->enq - ring->deq;
+
+    return DBC_TRB_RING_CAP - ring->deq + ring->enq;
+}
+
 static bool dbc_work_ring_full(const struct dbc_work_ring *ring)
 {
     return ((ring->enq + 1) & (DBC_WORK_RING_CAP - 1)) == ring->deq;
@@ -506,6 +537,14 @@ static unsigned int dbc_work_ring_size(const struct dbc_work_ring *ring)
     return DBC_WORK_RING_CAP - ring->deq + ring->enq;
 }
 
+static unsigned int dbc_work_ring_space_to_end(const struct dbc_work_ring *ring)
+{
+    if ( ring->enq >= ring->deq )
+        return DBC_WORK_RING_CAP - ring->enq;
+
+    return ring->deq - ring->enq;
+}
+
 static void dbc_push_trb(struct dbc *dbc, struct xhci_trb_ring *ring,
                          uint64_t dma, uint64_t len)
 {
@@ -566,6 +605,31 @@ static unsigned int dbc_push_work(struct dbc *dbc, struct dbc_work_ring *ring,
     return i;
 }
 
+static void dbc_rx_trb(struct dbc *dbc, struct xhci_trb *trb,
+                       uint64_t not_transferred)
+{
+    struct dbc_work_ring *ring = &dbc->dbc_iwork;
+    unsigned int rx_len;
+    unsigned int end, start = ring->enq;
+
+    if ( xhci_trb_type(trb) != XHCI_TRB_NORM )
+        /* Can be Link TRB for example. */
+        return;
+
+    ASSERT(xhci_trb_norm_buf(trb) == ring->dma + ring->enq);
+    ASSERT(xhci_trb_norm_len(trb) >= not_transferred);
+    rx_len = xhci_trb_norm_len(trb) - not_transferred;
+
+    /* It can hit the ring end, but should not wrap around. */
+    ASSERT(ring->enq + rx_len <= DBC_WORK_RING_CAP);
+    ring->enq = (ring->enq + rx_len) & (DBC_WORK_RING_CAP - 1);
+
+    end = ring->enq;
+
+    if ( end > start )
+        cache_flush(&ring->buf[start], end - start);
+}
+
 /*
  * Note that if IN transfer support is added, then this
  * will need to be changed; it assumes an OUT transfer ring only
@@ -575,6 +639,7 @@ static void dbc_pop_events(struct dbc *dbc)
     struct dbc_reg *reg = dbc->dbc_reg;
     struct xhci_trb_ring *er = &dbc->dbc_ering;
     struct xhci_trb_ring *tr = &dbc->dbc_oring;
+    struct xhci_trb_ring *ir = &dbc->dbc_iring;
     struct xhci_trb *event = &er->trb[er->deq];
     uint64_t erdp = readq(&reg->erdp);
     uint32_t portsc;
@@ -600,6 +665,14 @@ static void dbc_pop_events(struct dbc *dbc)
                 trb_idx = (event_ptr - tr->dma) >> XHCI_TRB_SHIFT;
                 tr->deq = (trb_idx + 1) & (DBC_TRB_RING_CAP - 1);
             }
+            else if ( event_ptr - ir->dma < DBC_TRB_RING_BYTES )
+            {
+                trb_idx = (event_ptr - ir->dma) >> XHCI_TRB_SHIFT;
+                if ( xhci_trb_tfre_cc(event) == XHCI_TRB_CC_SUCCESS ||
+                     xhci_trb_tfre_cc(event) == XHCI_TRB_CC_SHORT_PACKET )
+                    dbc_rx_trb(dbc, &ir->trb[trb_idx], xhci_trb_tfre_len(event));
+                ir->deq = (trb_idx + 1) & (DBC_TRB_RING_CAP - 1);
+            }
             else
                 dbc_alert("event: TRB 0x%lx not found in any ring\n",
                           event_ptr);
@@ -870,6 +943,7 @@ static bool __init dbc_open(struct dbc *dbc)
         return false;
 
     dbc_init_work_ring(dbc, &dbc->dbc_owork);
+    dbc_init_work_ring(dbc, &dbc->dbc_iwork);
     dbc_enable_dbc(dbc);
     dbc->open = true;
 
@@ -946,6 +1020,33 @@ static void dbc_flush(struct dbc *dbc, struct xhci_trb_ring *trb,
 }
 
 /**
+ * Ensure DbC has a pending transfer TRB to receive data into.
+ *
+ * @param dbc the dbc to flush
+ * @param trb the ring for the TRBs to transfer
+ * @param wrk the work ring to receive data into
+ */
+static void dbc_enqueue_in(struct dbc *dbc, struct xhci_trb_ring *trb,
+                           struct dbc_work_ring *wrk)
+{
+    struct dbc_reg *reg = dbc->dbc_reg;
+    uint32_t db = (readl(&reg->db) & 0xFFFF00FF) | (trb->db << 8);
+
+    /* Check if there is already queued TRB */
+    if ( xhci_trb_ring_size(trb) >= 1 )
+        return;
+
+    if ( dbc_work_ring_full(wrk) )
+        return;
+
+    dbc_push_trb(dbc, trb, wrk->dma + wrk->enq,
+                 dbc_work_ring_space_to_end(wrk));
+
+    wmb();
+    writel(db, &reg->db);
+}
+
+/**
  * Queue a single character to the DbC. A transfer TRB will be created
  * if the character is a newline and the DbC will be notified that data is
  * available for writing to the debug host.
@@ -968,6 +1069,19 @@ static int64_t dbc_putc(struct dbc *dbc, char c)
     return 1;
 }
 
+static int dbc_getc(struct dbc *dbc, char *c)
+{
+    struct dbc_work_ring *wrk = &dbc->dbc_iwork;
+
+    if ( dbc_work_ring_size(wrk) == 0 )
+        return 0;
+
+    *c = wrk->buf[wrk->deq];
+    wrk->deq = (wrk->deq + 1) & (DBC_WORK_RING_CAP - 1);
+
+    return 1;
+}
+
 struct dbc_uart {
     struct dbc dbc;
     struct timer timer;
@@ -986,10 +1100,16 @@ static void cf_check dbc_uart_poll(void *data)
     if ( spin_trylock_irqsave(&port->tx_lock, flags) )
     {
         if ( dbc_ensure_running(dbc) )
+        {
             dbc_flush(dbc, &dbc->dbc_oring, &dbc->dbc_owork);
+            dbc_enqueue_in(dbc, &dbc->dbc_iring, &dbc->dbc_iwork);
+        }
         spin_unlock_irqrestore(&port->tx_lock, flags);
     }
 
+    while ( dbc_work_ring_size(&dbc->dbc_iwork) )
+        serial_rx_interrupt(port, guest_cpu_user_regs());
+
     serial_tx_interrupt(port, guest_cpu_user_regs());
     set_timer(&uart->timer, NOW() + MICROSECS(DBC_POLL_INTERVAL));
 }
@@ -1028,6 +1148,12 @@ static void cf_check dbc_uart_putc(struct serial_port *port, char c)
     dbc_putc(&uart->dbc, c);
 }
 
+static int cf_check dbc_uart_getc(struct serial_port *port, char *c)
+{
+    struct dbc_uart *uart = port->uart;
+    return dbc_getc(&uart->dbc, c);
+}
+
 static void cf_check dbc_uart_flush(struct serial_port *port)
 {
     s_time_t goal;
@@ -1047,6 +1173,7 @@ static struct uart_driver dbc_uart_driver = {
     .init_postirq = dbc_uart_init_postirq,
     .tx_ready = dbc_uart_tx_ready,
     .putc = dbc_uart_putc,
+    .getc = dbc_uart_getc,
     .flush = dbc_uart_flush,
 };
 
@@ -1056,6 +1183,7 @@ struct dbc_dma_bufs {
     struct xhci_trb out_trb[DBC_TRB_RING_CAP];
     struct xhci_trb in_trb[DBC_TRB_RING_CAP];
     uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
+    uint8_t in_wrk_buf[DBC_WORK_RING_CAP];
     struct xhci_erst_segment erst __aligned(16);
     struct xhci_dbc_ctx ctx __aligned(16);
     struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
@@ -1107,6 +1235,7 @@ void __init xhci_dbc_uart_init(void)
     dbc->dbc_oring.trb = dbc_dma_bufs.out_trb;
     dbc->dbc_iring.trb = dbc_dma_bufs.in_trb;
     dbc->dbc_owork.buf = dbc_dma_bufs.out_wrk_buf;
+    dbc->dbc_iwork.buf = dbc_dma_bufs.in_wrk_buf;
     dbc->dbc_str = dbc_dma_bufs.str_buf;
 
     if ( dbc_open(dbc) )
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:39:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:39:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386029.621978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7j-00044E-FS; Sat, 13 Aug 2022 01:39:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386029.621978; Sat, 13 Aug 2022 01:39:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMg7j-00042r-1N; Sat, 13 Aug 2022 01:39:35 +0000
Received: by outflank-mailman (input) for mailman id 386029;
 Sat, 13 Aug 2022 01:39:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zRGa=YR=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oMg7g-0000pT-O0
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 01:39:32 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6b560ef-1aa8-11ed-bd2e-47488cf2e6aa;
 Sat, 13 Aug 2022 03:39:31 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id B62045C00CF;
 Fri, 12 Aug 2022 21:39:30 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Fri, 12 Aug 2022 21:39:30 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Aug 2022 21:39:29 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6b560ef-1aa8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm3; t=1660354770; x=1660441170; bh=Ui1UJHKnmz
	yWrio/Plp3FGPJhGo4rgTlRs2+6DZ8wyQ=; b=jCQLdsYPlqiZbc/A/MZ9v1dbri
	uylwL+BoZU0BcCI3fU9XaIwILpE/fP2bzuNrfHdP91lL1j9g6YLXrWRXYdCo/5/F
	wrmlPL+QAD8rXMyzw2r/GVvgPGYMVPUghB49gS8zDV1z/TJWZIFIZ6wa/4Svc9qd
	0/IXXHbHGcYrBNzZ8mZrkO1AFCQYsTnKhBmbZNCmbyCZY97NN8UFRWDAKzpKAH8W
	WWU3R85VVgIfhhgZ66IfM+e5otgU/3YLC5NcuUEHwcPGxjr6Ubchb1/Cfw5SHXXO
	dsSF3VTMhRimAdtsprvM3Ry0WceSlkvwBiHb2QTw61zEC4qKWt+E0QWZaUsQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1660354770; x=
	1660441170; bh=Ui1UJHKnmzyWrio/Plp3FGPJhGo4rgTlRs2+6DZ8wyQ=; b=r
	YYruNXh+SUDhdNXvX86pY5UNEIEx81hM32JyTdcg8YDZyrdh9ktjgWVOW0oCrbqI
	GpEcN0oAsB3SMxRnjq9Men86DWK+N0YtdpIc7FijORziZW6PmTnJtSxp1UsRSXIS
	lKta2KqJZ/549pEYkV6QB9cNPEgtuYXKi3qQPFSVWdZfwoBg4JNDymRUJCVogiRd
	DDXgFkK4X8ZLzT9HsNuz3lWtins98wQlMbKqdjvMSjSmwZdjRZSJQGkPXQjUMQfw
	CUOmjUQGAhArtZJg5S0kEnSl00lLt0ELEuZ0EM8Ay5y3MoglOiANZLLmVawLhBrm
	y/AkG9qJfFD6UVxPHpHhg==
X-ME-Sender: <xms:0gD3Ys9CYGBgwCfbOne7kHlrhwCACMOZxTUL73kR55Lg-uVUlWty4A>
    <xme:0gD3YkuIzOVtuCbplUSSVfrMFfeR072Mm8gY1joJQ7OELxzH5zNQ-lfedZHzr1d6p
    FbT0B7WXgtyCg>
X-ME-Received: <xmr:0gD3YiDCDUEj7V1uFRdxXwbD1G-xY35YYeTTLWzPFoiSPZJDjXCd4eG1kirdilbPlLyQTFq9HtQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegjedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedvnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:0gD3YsfTpwk7kgGkP4Cg0_PeKCY6uftpQCMf1ptJ3YZ1fHyDE3oeVA>
    <xmx:0gD3YhO6ce5gdcY7Kyo3FLLsx3juZApKogaAEfoBgxTt0hjDph5eDA>
    <xmx:0gD3YmnoAzj1-tReEyvfSp6VX_xKznQtoGilmyWRYt1DvKLYFxPNjA>
    <xmx:0gD3Yk2qUAqvr4stJzOvbh__M4YyOy6Ca1FkagAJmnFVJwsyFCXUug>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 11/11] drivers/char: allow driving the rest of XHCI by a domain while Xen uses DbC
Date: Sat, 13 Aug 2022 03:39:01 +0200
Message-Id: <403daba6911a3d40e4774b46ba555f6d76b3c249.1660354597.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

That's possible, because the capability was designed specifically to
allow separate driver handle it, in parallel to unmodified xhci driver
(separate set of registers, pretending the port is "disconnected" for
the main xhci driver etc). It works with Linux dom0, although requires
an awful hack - re-enabling bus mastering behind dom0's backs.
Linux driver does similar thing - see
drivers/usb/early/xhci-dbc.c:xdbc_handle_events().

When controller sharing is enabled in kconfig (option marked as
experimental), dom0 is allowed to use the controller even if Xen uses it
for debug console. Additionally, option `dbgp=xhci,share=` is available
to either prevent even dom0 from using it (`no` value), or allow any
domain using it (`any` value).

In any case, to avoid Linux messing with the DbC, mark this MMIO area as
read-only. This might cause issues for Linux's driver (if it tries to
write something on the same page - like anoter xcap), but makes Xen's
use safe. In practice, as of Linux 5.18, it seems to work without
issues.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- minor fix for cmdline parsing
- make sharing opt-in build time, with option marked as EXPERIMENTAL
- change cmdline syntax to share=<bool>|hwdom
- make share=hwdom default (if enabled build-time)
Changes in v3:
- adjust for xhci-dbc rename
- adjust for dbc_ensure_running() split
- wrap long lines
- add runtime option for sharing USB controller
---
 docs/misc/xen-command-line.pandoc |  15 ++-
 xen/drivers/char/Kconfig          |  11 +++-
 xen/drivers/char/xhci-dbc.c       | 133 +++++++++++++++++++++++++++++--
 3 files changed, 150 insertions(+), 9 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 64441a2679b8..c618f93a8fd5 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -724,7 +724,7 @@ Available alternatives, with their meaning, are:
 
 ### dbgp
 > `= ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
-> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ]`
+> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ][,share=<bool>|hwdom]`
 
 Specify the USB controller to use, either by instance number (when going
 over the PCI busses sequentially) or by PCI device (must be on segment 0).
@@ -732,6 +732,19 @@ over the PCI busses sequentially) or by PCI device (must be on segment 0).
 Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability.
 XHCI driver will wait indefinitely for the debug host to connect - make
 sure the cable is connected.
+The `share` option for xhci controls who else can use the controller:
+* `no`: use the controller exclusively for console, even hardware domain
+  (dom0) cannot use it
+* `hwdom`: hardware domain may use the controller too, ports not used for debug
+  console will be available for normal devices; this is the default
+* `yes`: the controller can be assigned to any domain; it is not safe to assign
+  the controller to untrusted domain
+
+Choosing `share=hwdom` (the default) or `share=no` allows a domain to reset the
+controller, which may cause small portion of the console output to be lost.
+The `share` option is available only if CONFIG_XHCI_SHARE is enabled.
+
+The `share=yes` configuration is not security supported.
 
 ### debug_stack_lines
 > `= <integer>`
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index 7b5ff0c414ec..a04c28fbff78 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -104,3 +104,14 @@ config XHCI
 	  Enabling this option makes Xen use extra ~230KiB memory, even if XHCI UART
 	  is not selected.
 	  If you have an x86 based system with USB3, say Y.
+
+config XHCI_SHARE
+	bool "Allow sharing XHCI when DbC UART is active (EXPERIMENTAL)"
+	depends on XHCI && UNSUPPORTED
+	help
+	  This enables sharing XHCI with another domain (hardware domain, or another
+	  domU) while Xen uses XHCI DbC as a console. When this option is
+	  enabled, domain can perform controller reset, which may cause small portion
+	  of console output to be lost.
+
+	  Sharing XHCI with non-dom0 is not security supported.
diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index a94a48a48989..0ac418280d19 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -23,6 +23,7 @@
 #include <xen/iommu.h>
 #include <xen/mm.h>
 #include <xen/param.h>
+#include <xen/rangeset.h>
 #include <xen/serial.h>
 #include <xen/timer.h>
 #include <xen/types.h>
@@ -232,6 +233,14 @@ struct dbc_work_ring {
     uint64_t dma;
 };
 
+enum xhci_share {
+    XHCI_SHARE_NONE = 0,
+#ifdef CONFIG_XHCI_SHARE
+    XHCI_SHARE_HWDOM,
+    XHCI_SHARE_ANY
+#endif
+};
+
 struct dbc {
     struct dbc_reg __iomem *dbc_reg;
     struct xhci_dbc_ctx *dbc_ctx;
@@ -249,6 +258,7 @@ struct dbc {
     void __iomem *xhc_mmio;
 
     bool open;
+    enum xhci_share share;
     unsigned int xhc_num; /* look for n-th xhc */
 };
 
@@ -951,13 +961,56 @@ static bool __init dbc_open(struct dbc *dbc)
 }
 
 /*
- * Ensure DbC is still running, handle events, and possibly re-enable if cable
- * was re-plugged. Returns true if DbC is operational.
+ * Ensure DbC is still running, handle events, and possibly
+ * re-enable/re-configure if cable was re-plugged or controller was reset.
+ * Returns true if DbC is operational.
  */
 static bool dbc_ensure_running(struct dbc *dbc)
 {
     struct dbc_reg *reg = dbc->dbc_reg;
     uint32_t ctrl;
+    uint16_t cmd;
+
+    if ( dbc->share != XHCI_SHARE_NONE )
+    {
+        /*
+         * Re-enable memory decoding and later bus mastering, if dom0 (or
+         * other) disabled it in the meantime.
+         */
+        cmd = pci_conf_read16(dbc->sbdf, PCI_COMMAND);
+        if ( !(cmd & PCI_COMMAND_MEMORY) )
+        {
+            cmd |= PCI_COMMAND_MEMORY;
+            pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd);
+        }
+
+        /*
+         * FIXME: Make Linux coordinate XHCI reset, so the DbC driver can
+         * prepare for it properly, instead of only detecting it after the
+         * fact. See EHCI driver for similar handling.
+         */
+        if ( dbc->open && !(readl(&reg->ctrl) & (1U << DBC_CTRL_DCE)) )
+        {
+            if ( !dbc_init_dbc(dbc) )
+                return false;
+
+            dbc_init_work_ring(dbc, &dbc->dbc_owork);
+            dbc_enable_dbc(dbc);
+        }
+        else
+        {
+            /*
+             * dbc_init_dbc() takes care about it, so check only if it wasn't
+             * called.
+             */
+            cmd = pci_conf_read16(dbc->sbdf, PCI_COMMAND);
+            if ( !(cmd & PCI_COMMAND_MASTER) )
+            {
+                cmd |= PCI_COMMAND_MASTER;
+                pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd);
+            }
+        }
+    }
 
     dbc_pop_events(dbc);
 
@@ -1128,10 +1181,34 @@ static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
     init_timer(&uart->timer, dbc_uart_poll, port, 0);
     set_timer(&uart->timer, NOW() + MILLISECS(1));
 
-    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
-        printk(XENLOG_WARNING
-               "Failed to mark read-only %pp used for XHCI console\n",
-               &uart->dbc.sbdf);
+    switch ( uart->dbc.share )
+    {
+    case XHCI_SHARE_NONE:
+        if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
+            printk(XENLOG_WARNING
+                   "Failed to mark read-only %pp used for XHCI console\n",
+                   &uart->dbc.sbdf);
+        break;
+#ifdef CONFIG_XHCI_SHARE
+    case XHCI_SHARE_HWDOM:
+        if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
+            printk(XENLOG_WARNING
+                   "Failed to hide %pp used for XHCI console\n",
+                   &uart->dbc.sbdf);
+        break;
+    case XHCI_SHARE_ANY:
+        /* Do not hide. */
+        break;
+#endif
+    }
+#ifdef CONFIG_X86
+    if ( rangeset_add_range(mmio_ro_ranges,
+                PFN_DOWN(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset),
+                PFN_UP(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset +
+                       sizeof(*uart->dbc.dbc_reg)) - 1) )
+        printk(XENLOG_INFO
+               "Error while adding MMIO range of device to mmio_ro_ranges\n");
+#endif
 }
 
 static int cf_check dbc_uart_tx_ready(struct serial_port *port)
@@ -1202,13 +1279,18 @@ void __init xhci_dbc_uart_init(void)
 {
     struct dbc_uart *uart = &dbc_uart;
     struct dbc *dbc = &uart->dbc;
-    const char *e;
+    const char *e, *opt;
 
     if ( strncmp(opt_dbgp, "xhci", 4) )
         return;
 
     memset(dbc, 0, sizeof(*dbc));
 
+#ifdef CONFIG_XHCI_SHARE
+    dbc->share = XHCI_SHARE_HWDOM;
+#endif
+
+    e = &opt_dbgp[4];
     if ( isdigit(opt_dbgp[4]) )
     {
         dbc->xhc_num = simple_strtoul(opt_dbgp + 4, &e, 10);
@@ -1218,7 +1300,7 @@ void __init xhci_dbc_uart_init(void)
         unsigned int bus, slot, func;
 
         e = parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
-        if ( !e || *e )
+        if ( !e || (*e && *e != ',') )
         {
             printk(XENLOG_ERR
                    "Invalid dbgp= PCI device spec: '%s'\n",
@@ -1228,6 +1310,41 @@ void __init xhci_dbc_uart_init(void)
 
         dbc->sbdf = PCI_SBDF(0, bus, slot, func);
     }
+    opt = e;
+
+#ifdef CONFIG_XHCI_SHARE
+    /* other options */
+    while ( *opt == ',' )
+    {
+        opt++;
+        e = strchr(opt, ',');
+        if ( !e )
+            e = strchr(opt, '\0');
+
+        if ( !strncmp(opt, "share=", 6) )
+        {
+            int val = parse_bool(opt + 6, e);
+            if ( val == -1 && !cmdline_strcmp(opt + 6, "hwdom") )
+                dbc->share = XHCI_SHARE_HWDOM;
+            else if ( val == 0 )
+                dbc->share = XHCI_SHARE_NONE;
+            else if ( val == 1 )
+                dbc->share = XHCI_SHARE_ANY;
+            else
+                break;
+        }
+        else
+            break;
+
+        opt = e;
+    }
+#endif
+
+    if ( *opt )
+    {
+        printk(XENLOG_ERR "Invalid dbgp= parameters: '%s'\n", opt);
+        return;
+    }
 
     dbc->dbc_ctx = &dbc_dma_bufs.ctx;
     dbc->dbc_erst = &dbc_dma_bufs.erst;
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 01:54:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 01:54:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386127.621990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMgM0-0001Tc-DP; Sat, 13 Aug 2022 01:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386127.621990; Sat, 13 Aug 2022 01:54:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMgM0-0001TV-9L; Sat, 13 Aug 2022 01:54:20 +0000
Received: by outflank-mailman (input) for mailman id 386127;
 Sat, 13 Aug 2022 01:54:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMgLy-0001TL-Od; Sat, 13 Aug 2022 01:54:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMgLy-0006e6-Kc; Sat, 13 Aug 2022 01:54:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMgLy-0001ZL-52; Sat, 13 Aug 2022 01:54:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMgLy-0005mO-4W; Sat, 13 Aug 2022 01:54:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=n/fWLn4wb3ycefPEj1irjMGQZMVEp0JaGMsLMw8bIsI=; b=BWBnpIsdq5zAVxDHVm1oFCRwcj
	0j/4sFdGTnVeCqnQHN8CkheMB2SklBlHGxrVGinc7J8UvNti2SI75JKEi/CJEgcT618nsVhi2m5Cb
	nvzEORmMwgCJAilxmLi/h7e+sOjAHSDd58GXNeO3IntJzVZFsHR4HBp4H+FbOyumAhXw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172445-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172445: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4a9350597aff50bbd0f4b80ccf49d2e02d1111f5
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 01:54:18 +0000

flight 172445 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172445/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                4a9350597aff50bbd0f4b80ccf49d2e02d1111f5
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    8 days
Failing since        172152  2022-08-05 04:01:26 Z    7 days   22 attempts
Testing same since   172445  2022-08-12 17:43:24 Z    0 days    1 attempts

------------------------------------------------------------
1320 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 137639 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 02:57:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 02:57:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386145.622025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMhKj-00084j-77; Sat, 13 Aug 2022 02:57:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386145.622025; Sat, 13 Aug 2022 02:57:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMhKj-00084c-4U; Sat, 13 Aug 2022 02:57:05 +0000
Received: by outflank-mailman (input) for mailman id 386145;
 Sat, 13 Aug 2022 02:57:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMhKi-00084S-0a; Sat, 13 Aug 2022 02:57:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMhKh-0008Cc-Vf; Sat, 13 Aug 2022 02:57:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMhKh-00056m-PH; Sat, 13 Aug 2022 02:57:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMhKh-0001AY-Op; Sat, 13 Aug 2022 02:57:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jdhkl3zh3SmFUnhTztP282gnB5eFSty3MfKBjHhJCxA=; b=P5uho3FpBeKrhNt3jQqQZFDn2E
	G8rmw/rnukw8veG73G26RhwSB6rYXtN8Av5b7UrSTPqsruaFZePI3NOvicF/OnFrAV65hEsS6evbK
	aGzgxQf8n0k0IzfUHTdXbJmWKj+oM+Y8O0iXo/Sg30kd1/PN72E4FDUchqUY54NQcGj4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172461-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172461: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 02:57:03 +0000

flight 172461 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172461/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   76 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 03:10:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 03:10:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386155.622036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMhXG-0001S0-Dk; Sat, 13 Aug 2022 03:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386155.622036; Sat, 13 Aug 2022 03:10:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMhXG-0001RW-Ai; Sat, 13 Aug 2022 03:10:02 +0000
Received: by outflank-mailman (input) for mailman id 386155;
 Sat, 13 Aug 2022 03:10:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMhXE-0001Ge-8I; Sat, 13 Aug 2022 03:10:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMhXE-0008Tc-50; Sat, 13 Aug 2022 03:10:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMhXD-0005aT-Uc; Sat, 13 Aug 2022 03:09:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMhXD-0006Go-UB; Sat, 13 Aug 2022 03:09:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=CgjdhPUQSNrQnF5Y6ZxjRKWFk7X5pd5+g5ZOpLpCg9E=; b=3nVmDLJYHlB6hX/CKofE8S9FmC
	XOXAHV+le1NQ/ST20T9nIzVEc8fBh2a+RVpgBRCj4z+gMQCrDxHZE13NLM5FMVDOkrQGEQGggfJXl
	Y7IeO6JHR11ErfUc6B2Q5k+5KUOuAbz/P0Y0qxxa780g80tfpaWIn1ticgHvn7/kO6bo=;
To: xen-devel@lists.xenproject.org
Subject: [linux-5.4 bisection] complete build-amd64-libvirt
Message-Id: <E1oMhXD-0006Go-UB@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 03:09:59 +0000

branch xen-unstable
xenbranch xen-unstable
job build-amd64-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172468/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-5.4/build-amd64-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/linux-5.4/build-amd64-libvirt.libvirt-build --summary-out=tmp/172468.bisection-summary --basis-template=172128 --blessings=real,real-bisect,real-retry linux-5.4 build-amd64-libvirt libvirt-build
Searching for failure / basis pass:
 172422 fail [host=himrod1] / 172128 ok.
Failure / basis pass flights: 172422 / 172128
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/osstest/ovmf.git#0dc9b78a46813d61533b2bb0f7ef897a06a273be-444260d45ec2a84e8f8c192b3539a3cd5591d009 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84\
 e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-d7c3c845c44e097d6c980001e108da0bb84ed16f
Loaded 10001 nodes in revision graph
Searching for test results:
 172108 [host=himrod2]
 172128 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172384 [host=himrod2]
 172398 [host=himrod0]
 172444 [host=himrod0]
 172447 [host=himrod0]
 172448 [host=himrod0]
 172450 [host=himrod0]
 172422 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
 172451 [host=himrod0]
 172452 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172454 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
 172456 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 01ca29f0b17a50a94b0e232ba276c32e95d80ae3
 172457 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 6dc9a1fe982f52c709ed03df8fdc6d58c4d96826
 172458 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 3629759626ac7201a670a8a2d4d4a536e7443575
 172460 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 ca45d3cb4586372909f350e54482246f994e1bc7
 172462 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172464 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172466 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172467 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172468 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Searching for interesting versions
 Result found: flight 172128 (pass), for basis pass
 For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x56385468ead8) HASH(0x563854695418) HASH(0x5638546ab908) HASH(0x5638546ada90) Result found: flight 172422 (fail), for basis failure (at ancestor ~5413)
 Repro found: flight 172452 (pass), for basis pass
 Repro found: flight 172454 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172128 (pass), for last pass
 Result found: flight 172462 (fail), for first failure
 Repro found: flight 172464 (pass), for last pass
 Repro found: flight 172466 (fail), for first failure
 Repro found: flight 172467 (pass), for last pass
 Repro found: flight 172468 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172468/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/linux-5.4/build-amd64-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172468: tolerable ALL FAIL

flight 172468 linux-5.4 real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172468/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build           fail baseline untested


jobs:
 build-amd64-libvirt                                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sat Aug 13 03:42:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 03:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386167.622049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMi2M-0005TQ-9K; Sat, 13 Aug 2022 03:42:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386167.622049; Sat, 13 Aug 2022 03:42:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMi2M-0005TJ-6l; Sat, 13 Aug 2022 03:42:10 +0000
Received: by outflank-mailman (input) for mailman id 386167;
 Sat, 13 Aug 2022 03:42:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMi2K-0005T9-JK; Sat, 13 Aug 2022 03:42:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMi2K-0000aL-Ee; Sat, 13 Aug 2022 03:42:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMi2K-00006v-59; Sat, 13 Aug 2022 03:42:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMi2K-0007II-4g; Sat, 13 Aug 2022 03:42:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3ATo57BBTv8uiGUa4uTtBdiZak3LwGH6fSPYaHnhC1o=; b=ymuJ2YzfbUAjFF+9H1bZ5gRAWo
	Ilmi/6nJS21SLa7TQNoFARqCQCYSqCcowoXJmOyhDCGbx65v3W8J3dqZeUtHC78B6RFuB3I5SaSOn
	rWTzDkwZhU8HoQO/Tm8vC61vLPjuvneOgcqEAYaFlLzh1Rmt15PYzubn9rvrZo6Tm9oc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172442-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172442: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0c614af4a73b77baf1d711c68b8ee0278d7a97a6
X-Osstest-Versions-That:
    xen=3eb1865ae305772b558757904d81951e31de43de
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 03:42:08 +0000

flight 172442 xen-unstable real [real]
flight 172465 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172442/
http://logs.test-lab.xenproject.org/osstest/logs/172465/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install  fail pass in 172465-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172408
 build-i386-libvirt            6 libvirt-build                fail  like 172408
 build-arm64-libvirt           6 libvirt-build                fail  like 172408
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172408
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172408
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172408
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172408
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172408
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172408
 build-armhf-libvirt           6 libvirt-build                fail  like 172408
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172408
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172408
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172408
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  0c614af4a73b77baf1d711c68b8ee0278d7a97a6
baseline version:
 xen                  3eb1865ae305772b558757904d81951e31de43de

Last test of basis   172408  2022-08-12 03:41:05 Z    0 days
Testing same since   172442  2022-08-12 15:37:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Rahul Singh <rahul.singh@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3eb1865ae3..0c614af4a7  0c614af4a73b77baf1d711c68b8ee0278d7a97a6 -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 05:27:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 05:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386185.622088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMjfh-0007g9-4O; Sat, 13 Aug 2022 05:26:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386185.622088; Sat, 13 Aug 2022 05:26:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMjfh-0007g2-1l; Sat, 13 Aug 2022 05:26:53 +0000
Received: by outflank-mailman (input) for mailman id 386185;
 Sat, 13 Aug 2022 05:26:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMjff-0007fs-9l; Sat, 13 Aug 2022 05:26:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMjff-0002q6-74; Sat, 13 Aug 2022 05:26:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMjff-0005Pc-0T; Sat, 13 Aug 2022 05:26:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMjfe-0005mM-WD; Sat, 13 Aug 2022 05:26:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SFBp0TSoCXA2HKTfd7zDO0d9HvmjdIi3LeaM2CX+z/M=; b=sbWwEpdIO1ZVh9EZdB1Dq3RpUh
	tKPR0mEbI90uHVeXuDHQFsduMmD5QuFngnKIXGCnSSBC5IUhJ+H7RVmmUExd8GFJplmsYXCvj8yVC
	2fLEah+OMqENHfp0tInvmYssmvtQQOvVmtxlQQQpQ/pNyzkw85KB6Dtmz8hg8nJagzWc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172469-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172469: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 05:26:50 +0000

flight 172469 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172469/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    8 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   77 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    0 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 05:54:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 05:54:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386195.622100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMk67-0002aI-90; Sat, 13 Aug 2022 05:54:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386195.622100; Sat, 13 Aug 2022 05:54:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMk67-0002aB-68; Sat, 13 Aug 2022 05:54:11 +0000
Received: by outflank-mailman (input) for mailman id 386195;
 Sat, 13 Aug 2022 05:54:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMk65-0002a1-Ew; Sat, 13 Aug 2022 05:54:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMk65-0003Hq-BS; Sat, 13 Aug 2022 05:54:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMk64-0007BF-QN; Sat, 13 Aug 2022 05:54:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMk64-0004Lm-Pw; Sat, 13 Aug 2022 05:54:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3e8YKNKNSZ6rKeIgj6sdiJHXQJKpbdDnLebVpg//YPQ=; b=PzjLEhQM9fTpfWhpR9YAXcXOxd
	+Od721UEb0S3u/isRqmiS3dG0Hz/LE03KTRh0zByy6k14SlnqY2xs6JMpLlcAnnFo24ixjtPdXthU
	iHdvOGQ7sYHMM5eYcvGpAUHPETVxwN0s0gXc5PtLPa1EZegne1ahbQ/7hxpC6mqskTSI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172453-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172453: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 05:54:08 +0000

flight 172453 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172453/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2   5 host-install(5)          broken pass in 172422
 test-amd64-i386-pair         11 xen-install/dst_host       fail pass in 172422
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172422

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172422 like 172128
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172422 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172422 never pass
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z    9 days
Testing same since   172384  2022-08-11 11:13:58 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  broken  
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-step test-amd64-amd64-xl-credit2 host-install(5)

Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 08:04:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 08:04:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386217.622123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMm8L-0007QF-C6; Sat, 13 Aug 2022 08:04:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386217.622123; Sat, 13 Aug 2022 08:04:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMm8L-0007Q8-7r; Sat, 13 Aug 2022 08:04:37 +0000
Received: by outflank-mailman (input) for mailman id 386217;
 Sat, 13 Aug 2022 08:04:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oMm8K-0007Q2-2h
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 08:04:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMm8G-00066i-B5; Sat, 13 Aug 2022 08:04:32 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oMm8G-0000Uu-5C; Sat, 13 Aug 2022 08:04:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=4w0akH7vRku4wkHl73frdEYnb4a+1J6Xsn0B4dwmX3k=; b=5ETNv4pDnQ6gK2rL02AmQrztT6
	zBV4r3hm2glttF9AuOO2+V83VVxJ1YYULDjY+NSq0nhT/4zH1AEvlIZfMeg/ePOKKc+3lVNyclzf8
	mwFbBEFYS6YbWOj7S4O9hztBB5NIqT6omU8D6SuGMyq+ySvzRbaVX8d5LwI0nGbNIG0Q=;
Message-ID: <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
Date: Sat, 13 Aug 2022 09:04:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
To: Stefano Stabellini <sstabellini@kernel.org>, bertrand.marquis@arm.com
Cc: george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
In-Reply-To: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 13/08/2022 01:59, Stefano Stabellini wrote:
> Add SPDX license information to all the *.c files under arch/arm.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> 
> We need to start from somewhere and I thought arch/arm/*.c would be a
> good place to start.

Thanks for doing it. This will make easier to understand the license in 
each file. There are a couple of places below where the SDPX tag is 
incorrect. How did you figure out the which license to use?

Also, I think we should consider to add a section about SPDX in our 
coding style so new files are using it. So we don't end up with a mix in 
arch/arm/*.

> 
> diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> index f03cd943c6..8115f89408 100644
> --- a/xen/arch/arm/alternative.c
> +++ b/xen/arch/arm/alternative.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: GPL-2.0

Technically, this is a comment. So this should be /* ... */ to follow 
Xen coding style. Also...

>   /*
>    * alternative runtime patching
>    * inspired by the x86 version

... this comment contains information about the license. As you add the 
SPDX, the "long" version should be removed. This would also make easier 
to verify the SPDX you add match existing license.

> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index ec81a45de9..7c986ecb18 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: GPL-2.0
>   /*
>    * Early Device Tree
>    *
> diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
> index ae649d16ef..887b5426c7 100644
> --- a/xen/arch/arm/cpuerrata.c
> +++ b/xen/arch/arm/cpuerrata.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: GPL-2.0

This file had no explicit license. I had a look at the 'git log' and 
AFAICT this was either new code and came from Linux. So this looks fine 
to add GPLv2 here.

>   #include <xen/cpu.h>
>   #include <xen/cpumask.h>
>   #include <xen/init.h>
> diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
> index 62d5e1770a..a6253cb57f 100644
> --- a/xen/arch/arm/cpufeature.c
> +++ b/xen/arch/arm/cpufeature.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: GPL-2.0
>   /*
>    * Contains CPU feature definitions
>    *
> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> index f5f6562600..f586c3d781 100644
> --- a/xen/arch/arm/decode.c
> +++ b/xen/arch/arm/decode.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: GPL-2.0

This tag doesn't match the license below. It is currently GPLv2+. I 
don't think you can change it without consulting the author. But if it 
is, then it should be mentioned in the commit message.

I remember we discussed in the past that some files were GPLv2+. But I 
can't remember what was the outcome (I can't find the thread). IIRC 
GPLv2+ is a lot more restrictive than GPLv2 and could prevent some 
companies to contribute.

[...]

> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 2cd481979c..1a2dac95a9 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: GPL-2.0

Same here about GPLv2+. Please go through the rest of the files to 
confirm the license.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 08:23:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 08:23:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386225.622133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMmQG-0001Lt-Q0; Sat, 13 Aug 2022 08:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386225.622133; Sat, 13 Aug 2022 08:23:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMmQG-0001Lm-NL; Sat, 13 Aug 2022 08:23:08 +0000
Received: by outflank-mailman (input) for mailman id 386225;
 Sat, 13 Aug 2022 08:23:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMmQF-0001LX-DD; Sat, 13 Aug 2022 08:23:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMmQF-0006R8-Ao; Sat, 13 Aug 2022 08:23:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMmQF-0000kO-1N; Sat, 13 Aug 2022 08:23:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMmQF-0000KO-0u; Sat, 13 Aug 2022 08:23:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3m32VrGkzGV/NUDYm3AFjtYy5dQ3Ilg47KchK/+ztHA=; b=hmyxmNuDR961DIy0mMY+ACdgBP
	0fy5rsgdq6k4fXIvypLKuo48R6BVJZoAB0hg1uqEHtgGZtWhwUEerN3v21v/OSMjgye02bLLOiT5b
	ZhsJESL3mKyz4JICX8iItNu/0+NiufRdMYYw6M/LLUFD1UM/Kn9p9rJVFG1FtqLlGaxs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172475-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172475: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 08:23:07 +0000

flight 172475 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172475/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    9 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   78 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 08:50:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 08:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386235.622145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMmqm-0004Yu-0E; Sat, 13 Aug 2022 08:50:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386235.622145; Sat, 13 Aug 2022 08:50:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMmql-0004Yn-T0; Sat, 13 Aug 2022 08:50:31 +0000
Received: by outflank-mailman (input) for mailman id 386235;
 Sat, 13 Aug 2022 08:50:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMmql-0004Yd-4q; Sat, 13 Aug 2022 08:50:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMmql-0006us-1i; Sat, 13 Aug 2022 08:50:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMmqk-00025B-Kt; Sat, 13 Aug 2022 08:50:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMmqk-0000bP-IG; Sat, 13 Aug 2022 08:50:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Q1oDRSyGxecIL4oxCedSMaZKOATorF7LBCish04zuyg=; b=GLT14yxhSqW2s0/S0h9uF9eoK7
	dHdFtS6uE/jZ46GcY+RfEOQPZ2YgUdhaGgTRYi/LlVVrcI8v5yDYigFIQsPiuYJflQ8gorxc3y0VL
	cpvnmo0n0P1uosgnvCCSmGCCjKdRSxy4cdSa4JghvVuTOkSmAQRDNAmODZZeZ+3FBw7w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172459-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172459: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=93f3dd604825824a7239aaf704baf74730aa3007
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 08:50:30 +0000

flight 172459 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172459/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                93f3dd604825824a7239aaf704baf74730aa3007
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z    9 days
Failing since        172148  2022-08-04 21:39:38 Z    8 days   22 attempts
Testing same since   172459  2022-08-13 00:08:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1488 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 09:42:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 09:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386248.622162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMneY-0001Hy-2d; Sat, 13 Aug 2022 09:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386248.622162; Sat, 13 Aug 2022 09:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMneX-0001Hr-VE; Sat, 13 Aug 2022 09:41:57 +0000
Received: by outflank-mailman (input) for mailman id 386248;
 Sat, 13 Aug 2022 09:41:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zehi=YR=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oMneW-0001Hl-6K
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 09:41:56 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2843f3ef-1aec-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 11:41:55 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id i14so5669867ejg.6
 for <xen-devel@lists.xenproject.org>; Sat, 13 Aug 2022 02:41:51 -0700 (PDT)
Received: from [192.168.1.93] (adsl-45.176.58.225.tellas.gr. [176.58.225.45])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a056402032800b00435651c4a01sm2755507edw.56.2022.08.13.02.41.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 13 Aug 2022 02:41:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2843f3ef-1aec-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=Qxr3tnM2Fh6diplFHRZawq6WrXcJ0mdZdL0/Xi1HlkQ=;
        b=EUuteCSaqI9hk2fi8IhzZW3wZfWl+kf4vy0v4tC3rilvdZfBq/2+0zVBhbhH8yJVY6
         s0lDWQpDJf00rd61o0YLUOsypqYUlh6fMc3z2GETWz8OIz96rUAYKnO7Naq9k9jujxOc
         VFz8rIzWQoCsq6n14tvsAOHyxqLQHOg4L0ziI4qy5oLGfmHzkSfcqfN8z7gvCgbbEOsl
         z2KN/GpVoE0MEf6uT6sqjjQTHtPNovGkD+FpWsBAG07yGXBmJlD+9ZEVyi+U6KPwcvhz
         xJVJ62qPDMYVm6s+YOTaXoW4OhFF50TO8AKDXM/YhOGXFG8ynD0P6/0VccRdRS7mcUsV
         PBqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=Qxr3tnM2Fh6diplFHRZawq6WrXcJ0mdZdL0/Xi1HlkQ=;
        b=AQCCbNoAE5av/1+mImDAfrbjSWSpMZ7UqpRPpKaMX6nJuTeVY0OERTsRzL7BOsc+Pu
         9Y7ayWHo6AdaiJCjt6zmV1mCRdVxvkToVKTyj9cBkNdK6o1gJUag+ExHlTZH/sAAA4Jq
         PTml+TvAa9RReRgae+ou8kE0BKh7se/kePdzmb+y7i8UjkaMrGe4xM5QadzmE3Q995gi
         ozPuXsZaqGUbzdIkEyYCndBOA4cpDCUWJXXsdSMvy/6B8N7SlpHs5TwDm6ojqjuZ6Qik
         gT7TAQxCbtQ2nKcMQOuc/GhI/IEHeFkNSWeQTgSksWq8bjM+tTJW/j3k+UaM8wcx8hmB
         iUvA==
X-Gm-Message-State: ACgBeo3RMydU9+qy/n1gPRI0PfKD/mq5k2k5aW5q43vVlk9WKE99SymU
	9EFJqXlIqIh6nYDdbmHB6vau4s4tvws=
X-Google-Smtp-Source: AA6agR6j7pfhr1sYPVZ7tt0Rv7pGsgOSJKWlqzc4L/Z1pyFLjXz8yha2dNwytNL+wNxwozUU6+X40w==
X-Received: by 2002:a17:907:608b:b0:731:8a9d:5a2d with SMTP id ht11-20020a170907608b00b007318a9d5a2dmr5024954ejc.443.1660383710592;
        Sat, 13 Aug 2022 02:41:50 -0700 (PDT)
Message-ID: <92919621-a389-1bc6-9d4b-9285f67b2551@gmail.com>
Date: Sat, 13 Aug 2022 12:41:48 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/arm: gic: Fix MISRA C 2012 Rule 20.7 violation
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220810101539.1909143-1-burzalodowa@gmail.com>
 <8ee01e21-4941-a46d-a5f5-c132c078afa3@xen.org>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <8ee01e21-4941-a46d-a5f5-c132c078afa3@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Julien,

On 8/10/22 13:24, Julien Grall wrote:
> Hi Xenia,
> 
> Thank for your effort to make Xen MISRA compliant. Personally, I find 
> quite difficult to follow what's going on with dozen of single patches.
> 
> It is also makes more difficult for a committer to apply them. For 
> instance, tools like 'b4' can easily apply a series. So there are less 
> effort required.

I understand.

> 
> So would you be able to try to batch your patches in larger series 
> (maybe 10-20 patches)?

Ok. I will group them together and send a patch biweekly.

> 
> Cheers,
> 
> On 10/08/2022 11:15, Xenia Ragiadakou wrote:
>> In GIC_PRI_TO_GUEST(), add parentheses around the macro parameter 
>> 'pri' to
>> prevent against unintended expansions and realign comment.
>>
>> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
>> ---
>> Â  xen/arch/arm/include/asm/gic.h | 4 ++--
>> Â  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/gic.h 
>> b/xen/arch/arm/include/asm/gic.h
>> index b3c6c67933..3692fae393 100644
>> --- a/xen/arch/arm/include/asm/gic.h
>> +++ b/xen/arch/arm/include/asm/gic.h
>> @@ -152,8 +152,8 @@
>> Â  #define GIC_PRI_IPI_ALLÂ Â Â  ((GIC_PRI_IPI << 24) | (GIC_PRI_IPI << 
>> 16) |\
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (GIC_PRI_IPI << 8) | GIC_PRI_IPI)
>> -#define GIC_PRI_TO_GUEST(pri) (pri >> 3) /* GICH_LR and GICH_VMCR 
>> only support
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  5 bits for guest irq 
>> priority */
>> +#define GIC_PRI_TO_GUEST(pri) ((pri) >> 3) /* GICH_LR and GICH_VMCR 
>> only support
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  5 bits for guest irq 
>> priority */
>> Â  #define GICH_LR_PENDINGÂ Â Â Â Â Â Â Â  1
>> Â  #define GICH_LR_ACTIVEÂ Â Â Â Â Â Â Â Â  2
> 

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 10:35:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 10:35:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386257.622175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMoTt-0006SH-1l; Sat, 13 Aug 2022 10:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386257.622175; Sat, 13 Aug 2022 10:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMoTs-0006SA-VW; Sat, 13 Aug 2022 10:35:00 +0000
Received: by outflank-mailman (input) for mailman id 386257;
 Sat, 13 Aug 2022 10:35:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMoTr-0006S0-VQ; Sat, 13 Aug 2022 10:34:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMoTr-0000Ih-SI; Sat, 13 Aug 2022 10:34:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMoTr-0000IK-Gf; Sat, 13 Aug 2022 10:34:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMoTr-00068y-G6; Sat, 13 Aug 2022 10:34:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0sJFoqEC2IzAyUwe/f1JnBsBbKqwBgLlb7DAT83t2gk=; b=PUdXpy7m/62fBqKbFm1mk+5nzy
	0JqxrMznjvJE0+6Cr7NVjAWfY5j0CkGMfYIrjoX3RMh10uh+L4t5Sh6URkcNf0jwakxB4l8Qk8WrB
	dOAMNmHUrFLNwrk1zZDvK/4cPKBfQt+Gk0QwHEeDy7Sta6A6hLfnzOGFoxTudKv2Mq0w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172473-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172473: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=0615df084ec9996b5df88d6a1b59c557e22f3a12
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 10:34:59 +0000

flight 172473 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172473/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              0615df084ec9996b5df88d6a1b59c557e22f3a12
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  764 days
Failing since        151818  2020-07-11 04:18:52 Z  763 days  745 attempts
Testing same since   172409  2022-08-12 04:20:52 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120325 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 11:12:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 11:12:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386267.622186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMp4O-0002AD-UR; Sat, 13 Aug 2022 11:12:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386267.622186; Sat, 13 Aug 2022 11:12:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMp4O-0002A6-Ry; Sat, 13 Aug 2022 11:12:44 +0000
Received: by outflank-mailman (input) for mailman id 386267;
 Sat, 13 Aug 2022 11:12:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMp4N-00029w-Ms; Sat, 13 Aug 2022 11:12:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMp4N-0000y0-LI; Sat, 13 Aug 2022 11:12:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMp4N-0002d2-7v; Sat, 13 Aug 2022 11:12:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMp4N-0001DE-7W; Sat, 13 Aug 2022 11:12:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=r6L8H4OEpi+Jm32m6pu3hFc2xLXr0u7+dGmzBgmTlpg=; b=TzxXsrfmJ2c19Mrvvqr1AhRjB7
	KK2UOmsySWN0U01LEbr23zsQrnzmZUzBaW+Z1SovRgAuEtJc3yF8EcbSdP0jxynqYKSdC2KyIw+vt
	jTnYEuGvZUJwyuALxNAbLn0WqEEa+ghfjZpORwtrGQ0XehyS42Uw7fgksGxLtzJK+vII=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172479-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172479: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 11:12:43 +0000

flight 172479 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172479/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    9 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   79 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    1 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 11:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 11:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386277.622198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMpN6-0004WD-IV; Sat, 13 Aug 2022 11:32:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386277.622198; Sat, 13 Aug 2022 11:32:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMpN6-0004W6-FM; Sat, 13 Aug 2022 11:32:04 +0000
Received: by outflank-mailman (input) for mailman id 386277;
 Sat, 13 Aug 2022 11:32:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMpN4-0004Vw-RA; Sat, 13 Aug 2022 11:32:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMpN4-0001H4-Nt; Sat, 13 Aug 2022 11:32:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMpN4-0003sj-CM; Sat, 13 Aug 2022 11:32:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMpN4-0003Yw-Bu; Sat, 13 Aug 2022 11:32:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=D3wcN6X9ATtlDPHOi1dWJMLstVyBNLMcqIDM+lHag84=; b=GPRnYVeMWed6WEUv8d4XTD0Dkq
	1J3Y0xE+nE2TPrT4dTQPCdkr8ygK4x0gRxSFvZEcmaJ6cJ8vSz2BmIOuPsE55rHBbkfm7i7ykIeWT
	csHyTGnub631BrlCyb/z/fq9Yfjhs5BnXHpmAHCVR+ej0u6YFiagRPWc9FzdsFkkIURc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172463-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172463: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-cubietruck:debian-install:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=69dac8e431af26173ca0a1ebc87054e01c585bcc
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 11:32:02 +0000

flight 172463 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172463/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-armhf-armhf-xl-cubietruck 12 debian-install         fail REGR. vs. 172133
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                69dac8e431af26173ca0a1ebc87054e01c585bcc
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    9 days
Failing since        172152  2022-08-05 04:01:26 Z    8 days   23 attempts
Testing same since   172463  2022-08-13 01:58:37 Z    0 days    1 attempts

------------------------------------------------------------
1342 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 139640 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 12:58:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 12:58:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386299.622239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMqih-0004Bg-D1; Sat, 13 Aug 2022 12:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386299.622239; Sat, 13 Aug 2022 12:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMqih-0004BZ-8j; Sat, 13 Aug 2022 12:58:27 +0000
Received: by outflank-mailman (input) for mailman id 386299;
 Sat, 13 Aug 2022 12:58:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMqig-0004BP-AM; Sat, 13 Aug 2022 12:58:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMqig-0002in-6D; Sat, 13 Aug 2022 12:58:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMqif-0000dd-PQ; Sat, 13 Aug 2022 12:58:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMqif-0000yn-Ow; Sat, 13 Aug 2022 12:58:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xNJ6f2n6rr2wmXhVTQxalDvZBlyj1xOnUv3teLLJJj4=; b=bk8ioHCnN5gP337/mdYiXVvp2B
	dZVwrPHAIh+sDgrBPs2d7G26QWNDibzRwEa2cHBWkzDnI3GlOUaIchHOsypyBVlSkr9ENS/sB71vU
	YdoZrwMeNGp9oE+QOTGKo2luqDsVLMWVRe261kiH2DhLkDjrFmKrcDWNRCypmBIGstm8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172471-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172471: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3dc26edbb5417d90d32df6aa70d7c4187dd9966e
X-Osstest-Versions-That:
    xen=0c614af4a73b77baf1d711c68b8ee0278d7a97a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 12:58:25 +0000

flight 172471 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172471/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172442
 build-i386-libvirt            6 libvirt-build                fail  like 172442
 build-arm64-libvirt           6 libvirt-build                fail  like 172442
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172442
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172442
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172442
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172442
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172442
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172442
 build-armhf-libvirt           6 libvirt-build                fail  like 172442
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172442
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172442
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172442
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3dc26edbb5417d90d32df6aa70d7c4187dd9966e
baseline version:
 xen                  0c614af4a73b77baf1d711c68b8ee0278d7a97a6

Last test of basis   172442  2022-08-12 15:37:35 Z    0 days
Testing same since   172471  2022-08-13 03:45:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0c614af4a7..3dc26edbb5  3dc26edbb5417d90d32df6aa70d7c4187dd9966e -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 14:34:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 14:34:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386312.622259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMsDI-0005L1-85; Sat, 13 Aug 2022 14:34:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386312.622259; Sat, 13 Aug 2022 14:34:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMsDI-0005Ku-3p; Sat, 13 Aug 2022 14:34:08 +0000
Received: by outflank-mailman (input) for mailman id 386312;
 Sat, 13 Aug 2022 14:34:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMsDH-0005Kk-7n; Sat, 13 Aug 2022 14:34:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMsDH-0004PM-3b; Sat, 13 Aug 2022 14:34:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMsDG-0003ul-H3; Sat, 13 Aug 2022 14:34:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMsDG-0001bh-GT; Sat, 13 Aug 2022 14:34:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=V/9C68A5ZA2SXWGv34gxC/Jk8QBOBxmYGlozAqjwYEA=; b=1Z606YQM4QSIYCAzaF3Bu0lG8w
	gvu7VhPMMMTwmIX0o9OV6OBmVGUwF7CdW1Dj2wQ9s9Mx2WSFOQi72osaF18UAoe9+mt5qUoIXwdhI
	S1Rrt+c+WZo/jRpvWGQQPzWD03w5MHwgwx+QtfYW3N9fdpJVkJ12lTXQVEa6ChaYq0LA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172476-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172476: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    linux-5.4:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:xen-boot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 14:34:06 +0000

flight 172476 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172476/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 172453
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 172453 pass in 172476
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 172453 pass in 172422
 test-amd64-i386-pair     11 xen-install/dst_host fail in 172453 pass in 172476
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 172453
 test-armhf-armhf-xl-rtds      8 xen-boot                   fail pass in 172453

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172422 like 172128
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172422 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172422 never pass
 test-armhf-armhf-xl-vhd      13 guest-start         fail in 172453 like 172108
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172453 like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172453 like 172128
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z    9 days
Testing same since   172384  2022-08-11 11:13:58 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken

Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 14:36:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 14:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386323.622270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMsFV-0005yL-N7; Sat, 13 Aug 2022 14:36:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386323.622270; Sat, 13 Aug 2022 14:36:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMsFV-0005yE-KI; Sat, 13 Aug 2022 14:36:25 +0000
Received: by outflank-mailman (input) for mailman id 386323;
 Sat, 13 Aug 2022 14:36:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMsFU-0005y4-Lb; Sat, 13 Aug 2022 14:36:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMsFU-0004St-Kk; Sat, 13 Aug 2022 14:36:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMsFU-00042w-AM; Sat, 13 Aug 2022 14:36:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMsFU-0004i2-9s; Sat, 13 Aug 2022 14:36:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+PcK+R3gWBju9E2B4tgfWjSOFKF1Fh51fRWHk5+4MV8=; b=2t9LQqePI4xazk1VV0taLa39uC
	xHobLd2J/v5ySLxrTwCs8/fLcv2U08SPkWrTzYOMKV55Nxw8071HSGTSuw3ubEAhVCSSBAt+UUmSt
	mH7EuGTTugtJ2iZwx+Kr/+hyaddv7r7GobzhVHY98HQMlXjWXkXXWeTIIMKV7VeBECa0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172486-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172486: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 14:36:24 +0000

flight 172486 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172486/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    9 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   80 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    1 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 15:34:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 15:34:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386337.622292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMt9X-0003YP-8N; Sat, 13 Aug 2022 15:34:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386337.622292; Sat, 13 Aug 2022 15:34:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMt9X-0003YI-5Q; Sat, 13 Aug 2022 15:34:19 +0000
Received: by outflank-mailman (input) for mailman id 386337;
 Sat, 13 Aug 2022 15:34:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMt9V-0003Y8-V2; Sat, 13 Aug 2022 15:34:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMt9V-0005SE-Pm; Sat, 13 Aug 2022 15:34:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMt9V-0006Yz-Fx; Sat, 13 Aug 2022 15:34:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMt9V-0003rN-FU; Sat, 13 Aug 2022 15:34:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=VX8iK4X+4P8fWH0dLk8OKUOGQA23RzE72syeHmoRIYU=; b=1rssdO3IKZysriWK+HURI0vO//
	md1bvx8XgTtvc1TGWRVPjD6ud924kIjWsz7qyTkhyRemujaSXuFdDwUjW/izYHbN5JvouR0OR1qQd
	9st4NYAYzvJbKQJxwC2ovGNbk5r7IqrFq/MvubMKTJ2wzKPPUSrl4AZqmnwGtAWPfbKU=;
To: xen-devel@lists.xenproject.org
Subject: [linux-5.4 bisection] complete build-arm64-libvirt
Message-Id: <E1oMt9V-0003rN-FU@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 15:34:17 +0000

branch xen-unstable
xenbranch xen-unstable
job build-arm64-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172492/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-5.4/build-arm64-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/linux-5.4/build-arm64-libvirt.libvirt-build --summary-out=tmp/172492.bisection-summary --basis-template=172128 --blessings=real,real-bisect,real-retry linux-5.4 build-arm64-libvirt libvirt-build
Searching for failure / basis pass:
 172476 fail [host=laxton1] / 172128 [host=rochester0] 172108 ok.
Failure / basis pass flights: 172476 / 172108
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 0c614af4a73b77baf1d711c68b8ee0278d7a97a6
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/osstest/ovmf.git#0dc9b78a46813d61533b2bb0f7ef897a06a273be-444260d45ec2a84e8f8c192b3539a3cd5591d009 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746\
 458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-0c614af4a73b77baf1d711c68b8ee0278d7a97a6
Loaded 10001 nodes in revision graph
Searching for test results:
 172108 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172128 [host=rochester0]
 172384 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 e83cd54611fec5b7a539fa1281a14319143490e6
 172398 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
 172422 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
 172470 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172474 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 2f2b76d47c5bcd9323a2acac8ba365013af34141
 172477 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 6dc9a1fe982f52c709ed03df8fdc6d58c4d96826
 172478 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 3629759626ac7201a670a8a2d4d4a536e7443575
 172482 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 ca45d3cb4586372909f350e54482246f994e1bc7
 172484 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172487 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172476 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 0c614af4a73b77baf1d711c68b8ee0278d7a97a6
 172488 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172491 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172492 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172472 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
Searching for interesting versions
 Result found: flight 172108 (pass), for basis pass
 For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x564a971988b0) HASH(0x564a97199658) HASH(0x564a971b0928) HASH(0x564a971bac78) Result found: flight 172384 (fail), for basis failure (at ancestor ~5425)
 Repro found: flight 172470 (pass), for basis pass
 Repro found: flight 172476 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172108 (pass), for last pass
 Result found: flight 172484 (fail), for first failure
 Repro found: flight 172487 (pass), for last pass
 Repro found: flight 172488 (fail), for first failure
 Repro found: flight 172491 (pass), for last pass
 Repro found: flight 172492 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172492/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/linux-5.4/build-arm64-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172492: tolerable ALL FAIL

flight 172492 linux-5.4 real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172492/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build           fail baseline untested


jobs:
 build-arm64-libvirt                                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sat Aug 13 16:56:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 16:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386348.622307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMuR2-0003Qj-8q; Sat, 13 Aug 2022 16:56:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386348.622307; Sat, 13 Aug 2022 16:56:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMuR2-0003Qc-5h; Sat, 13 Aug 2022 16:56:28 +0000
Received: by outflank-mailman (input) for mailman id 386348;
 Sat, 13 Aug 2022 16:56:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QptA=YR=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oMuR0-0003QV-NC
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 16:56:27 +0000
Received: from sonic307-55.consmr.mail.gq1.yahoo.com
 (sonic307-55.consmr.mail.gq1.yahoo.com [98.137.64.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db962647-1b28-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 18:56:23 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic307.consmr.mail.gq1.yahoo.com with HTTP; Sat, 13 Aug 2022 16:56:20 +0000
Received: by hermes--production-ne1-6649c47445-znbvb (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID c035781e424b923762e1bcb1fb8d4940; 
 Sat, 13 Aug 2022 16:56:14 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db962647-1b28-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660409780; bh=wj6Y2O5mbxZygYcQLeN4Sx234XKcdhd3yk8zV2eGm6M=; h=Date:From:Subject:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=LnK75uJk7unYJKscw1DVq50vRWF+bZH+0xvS28Bw78xZOmjveW5KHAIxaj//1Zcfz2MSuQ/nd0VbETIJkvvDTrkKviwQJOcVJDWnLSWE7qtqAkHXRanDA1tR8T105cokgULZF8lSoLzg4uWZ00vvEhcCSqOSES9GXzS/OqCAYPEIAAt5R9Hq7QCu1xJm5rndObMkhyTVVT1JdPHW1DfCdKx4UqT+41xKAkBMG2OngnH0YkPyMxAOMnWuw/unk7CBzxcGung3Ye09g9ZFtOUc5c5+qSW9p6o45TvlGWNOzDnzhV8Ccjx+HvQBQ0ZvUpargRpnz1O5W0+lNYad/bdTLA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660409780; bh=7b0smHsFI7zwAmGO1JvzaihBfKlALmdXNlhmWAAK8HH=; h=X-Sonic-MF:Date:From:Subject:To:From:Subject; b=AdRkK29aQVyioLwtxNTebxbDpagU4E98QpkYHsG7AqnQ43h5Jre0D0uBM8vU7L/27W/xX6EJBGmQT8+X2WmZuwX10TOzt8E/VBt5CXrv90p8hnlpKctCE2vAu6Ww+VcdrULkL+qqOPTu2YqnprAkUzfDZrO3sRFcbfJU2Ce1OYhQBNx7QeaiY26NCdSRDqqarL8JcEBsKNhzLqrDUTOBS5XZ6HDnCpyItsm6UKEpEntymH2ZSrmGWokq+rksPlQWU9ac/xe20OIdC+5LdzeanBU+pg74wNrttXOjIrzfJoURjkh3IYBrzXmUqgUShbp4WcqEtOhS77N1SQcnxkO4mQ==
X-YMail-OSG: WD35BF0VM1ntu3yvQc3yoQ0..vE2hOtAPGs67EiPV9SV8JzAIIcwfKlbhD4uz4d
 avbcPXHSAg_Onnl9xEhfMF4Y52_q9ybIYEVXV0ZhmmLUIEYPdlVbjZYHw6DATwuyBgdw_EDZiisv
 1vT1YCdVaD0soUkhIbaJDLH0naDKR3MKZHE_owpnaocIK7HKCEHuNhKdonqI.UtDXzH0LYNbqFkE
 la_V63XidZwKMa.JS8NNItNvFMUqQir5J7G2kBVAKMi29qPWTYWzw8ePVjm.18JUEvsX4ub2Rb60
 hPfCPHuboKqeXAejgiiGXzHQM_xuMbyFYo_1i0BZd1qjaPkXnW3CzJDLaKpT2k180KkAcoPVE3F.
 D1cT8gts7M1pLzxI4WoKda5Thc5xzaFRgtkszfH7yHiODtmG3MHjBKyYmTQYqu..njpSDcjUK3eJ
 2kuw0m._L0C_fOrrxHZeirS5Dd0f.uPzYRLwVuNcPmGFawUU6rvpP.yLI3g3McDi7NzxUWgCRcwr
 ZfwBjllViD.hhEpCtOftpVWjVWDxScZeshy6m0AwL70AIkIuK2qlTUjUdgPhhDx3wpCIAxmfTfGb
 p3mQ5BPCUzF.lRMw5EVrYY4UYkUAskZ2OTrRNBpHovD6z5qpgRfWtwsjNWoF7KxeEl5Hq1BNHtEK
 yQShNZVioJSF7EDEki0uqcprI8d42LNbwRjUxxRBZLrUNxkCbxDyYPUXv.dnIgweacMh4vML1GmV
 d5JiPCBrpT2roEcYxr1jBlxU6az6OqEatfIvn_2VbEGyFa9TvH7wN4Q4fVzQNv7K4iZIYLYQqZXY
 KkervGAwybeoptPGsWo_DjYz467lvl8cjD0t0n9CMyYfQZwTazIwY.K2PMDLIz.WLp1jtzOvO934
 KYvbnxQ9am7dyBMUqdlS9zeF.g86atRxEMdIjXBTYcIlt7geRjOn.ZwWv611tdGNGzAPn_KUHvNE
 4oHR8V5yIN3nb4SJ13JxrZ3SJOitJIDQd4vRm7h1ii7gFITiMSWIttdxS65Aliq2zUocmoz7sz4i
 JlDK1MyLhHy6G7sJHQEqYEhWKKhDytUl2LTQblZ28BCI8vMA_jfJnd6N2fdkuvRyxSlIKVJxiRJk
 HoISNkqDb.Sx9VtEkZ8XAEWRmUy_yycgxv_RmAXviPU.xjnqdLQnXr3Ag2Sihmv2BLVOZTLrUHgm
 myFb.A1pmtvdWA.OfcsZ.O3HIan8cnz.YJ1WNHccG52sVJv51ibmTiw_wwt355JVGAS_6Y1E1xgx
 GPJgnayaNwxq69.LCYX32JvgOmoiBaUMNZoiqKFa88H5qH08LE2m6xZWZKQi2HVZ.FNBqshKzncW
 YafLHEy34W7ffBzFUW0hljf0aNE5yqoeQUh.Wv5mmvXncBa59ANwzTVcEZ8VFg.MR6wv9xDUhEdo
 ZBq_nqGx6M4LfInCqhe1NtZXrZLeyvxwQrX4vdn4av5fuc3TXD_v0U6Ka9Sw7MlQT5FJwlSKRJg5
 bt2Ohyt7y5364xw66xQkZTwbHjY7iLi7LjfedvnVd_nAUpTeTN96iz9Sz9YwE53fMxRmgAvUFx6_
 38UoHAMjKkz8fnsGkTCaKDPrm.4xl23Dt8uOIc.jhjmsDbNc7hpyJxGrG88jsN_.jmaV5GQHlyDV
 bDkxwMKU6jyNNk9iJksfN0FuZZPXBFe110tMPEgLlSd58PwBWNv7nGCsA0.tyU5MNGcnDZcMikD_
 8rVNvzzWjgAai_cKk5i_S.n6Di4Xn9SZpwVS3fYNZNB6zeClwbeu91LTj_JNkJJAkBpunORqAcVc
 DhpKTpRFb44qd5.0VMfdzxMlVMobAAtrEzOHt4EK56IyHmiq1_0VXd6NwU5U63CoKUmiVNIVInTY
 Q_KUzSB1RIN_XG4HrfJ52POPZYhoek.WZ8Lx1TFE53_cq2KVYVYZ9AfZCsFQcv51ejKpUIRYR_uf
 UKF3OP7.UK.6BLIbCUkXprQGgkRo17CHPffe.TSkAZUR5dYEp.hJKQFB7Lw6PSFB0ytMsMfqWbhh
 lW3fcmbh7epydMxmmxEPwlbCbBjCPV020EQFROC6SW6UIAQFGd5nYq0xOi9UdGrI1.IxVYZjeNh3
 JzdYt_bc0iRrqfx8N9gmy2dgyCFM0GfD8MbaLRXKmiZfIPcsAdDvL8T7eeeeSOr_YSKm6zaWWVcl
 4sK7D3rRY3BqFtcuvUPx0kQZ2gXNIhlmpNFjnFbhYVyWNnyPvV7lr6KNuKVcsmomnNUaBTVKDG60
 YoJqeuL6Lit9_
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
Date: Sat, 13 Aug 2022 12:56:12 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
From: Chuck Zmudzinski <brchuckz@netscape.net>
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Thorsten Leemhuis <regressions@leemhuis.info>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
Content-Language: en-US
In-Reply-To: <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 4097

On 7/17/22 3:55 AM, Thorsten Leemhuis wrote:
> Hi Juergen!
>
> On 15.07.22 16:25, Juergen Gross wrote:
> > Today PAT can't be used without MTRR being available, unless MTRR is at
> > least configured via CONFIG_MTRR and the system is running as Xen PV
> > guest. In this case PAT is automatically available via the hypervisor,
> > but the PAT MSR can't be modified by the kernel and MTRR is disabled.
> > 
> > As an additional complexity the availability of PAT can't be queried
> > via pat_enabled() in the Xen PV case, as the lack of MTRR will set PAT
> > to be disabled. This leads to some drivers believing that not all cache
> > modes are available, resulting in failures or degraded functionality.
> > 
> > The same applies to a kernel built with no MTRR support: it won't
> > allow to use the PAT MSR, even if there is no technical reason for
> > that, other than setting up PAT on all cpus the same way (which is a
> > requirement of the processor's cache management) is relying on some
> > MTRR specific code.
> > 
> > Fix all of that by:
> > 
> > - moving the function needed by PAT from MTRR specific code one level
> >   up
> > - adding a PAT indirection layer supporting the 3 cases "no or disabled
> >   PAT", "PAT under kernel control", and "PAT under Xen control"
> > - removing the dependency of PAT on MTRR
>
> Thx for working on this. If you need to respin these patches for one
> reason or another, could you do me a favor and add proper 'Link:' tags
> pointing to all reports about this issue? e.g. like this:
>
>  Link: https://lore.kernel.org/regressions/YnHK1Z3o99eMXsVK@mail-itl/
>
> These tags are considered important by Linus[1] and others, as they
> allow anyone to look into the backstory weeks or years from now. That is
> why they should be placed in cases like this, as
> Documentation/process/submitting-patches.rst and
> Documentation/process/5.Posting.rst explain in more detail. I care
> personally, because these tags make my regression tracking efforts a
> whole lot easier, as they allow my tracking bot 'regzbot' to
> automatically connect reports with patches posted or committed to fix
> tracked regressions.
>
> [1] see for example:
> https://lore.kernel.org/all/CAHk-=wjMmSZzMJ3Xnskdg4+GGz=5p5p+GSYyFBTh0f-DgvdBWg@mail.gmail.com/
> https://lore.kernel.org/all/CAHk-=wgs38ZrfPvy=nOwVkVzjpM3VFU1zobP37Fwd_h9iAD5JQ@mail.gmail.com/
> https://lore.kernel.org/all/CAHk-=wjxzafG-=J8oT30s7upn4RhBs6TX-uVFZ5rME+L5_DoJA@mail.gmail.com/
>
> Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
>
> P.S.: As the Linux kernel's regression tracker I deal with a lot of
> reports and sometimes miss something important when writing mails like
> this. If that's the case here, don't hesitate to tell me in a public
> reply, it's in everyone's interest to set the public record straight.
>
> BTW, let me tell regzbot to monitor this thread:
>
> #regzbot ^backmonitor:
> https://lore.kernel.org/regressions/YnHK1Z3o99eMXsVK@mail-itl/

Hi Thorsten,

This appears stalled again and we are now over three months
from the first report of the regression, The only excuse for
ignoring your comments, and other comments on the patches
in this patch series for this long a time is that the patch series
for some reason cannot be considered a true regression. If this is a
regression, then, IMHO, this needs to have a higher priority by the
maintainers, or the maintainers need to explain why this regression
cannot be fixed in a more timely manner. But continued silence
by the maintainers is unacceptable, IMHO. This is especially true
in this case when multiple fixes for the regression have been
identified and the maintainers have not yet clearly explained why
at least a fix, even if temporary, cannot be applied immediately
while we wait for a more comprehensive fix.

At the very least, I would expect Juergen to reply here and say that
he is delayed but does plan to spin up an updated version and include
the necessary links in the new version to facilitate your tracking of
the regression. Why the silence from Juergen here?

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 16:56:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 16:56:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386354.622317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMuRT-0003tj-LC; Sat, 13 Aug 2022 16:56:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386354.622317; Sat, 13 Aug 2022 16:56:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMuRT-0003tc-IE; Sat, 13 Aug 2022 16:56:55 +0000
Received: by outflank-mailman (input) for mailman id 386354;
 Sat, 13 Aug 2022 16:56:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QptA=YR=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oMuRR-0003QV-Uq
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 16:56:54 +0000
Received: from sonic313-19.consmr.mail.gq1.yahoo.com
 (sonic313-19.consmr.mail.gq1.yahoo.com [98.137.65.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed00f50a-1b28-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 18:56:52 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic313.consmr.mail.gq1.yahoo.com with HTTP; Sat, 13 Aug 2022 16:56:49 +0000
Received: by hermes--production-ne1-6649c47445-tz6bb (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 66f3ba59478f3bc107a9b6db1aef8ef8; 
 Sat, 13 Aug 2022 16:56:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed00f50a-1b28-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660409809; bh=QRQBPbaJj2JGJe+PhZxZ66B9bo7GJ0cjESR5eyJpCvU=; h=Date:From:Subject:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=hytzFYTpa9PgpMH6rZ9sGrwc/r7N0xW6ezurFyh5z9CrY3cimzqLcKCLaKjQyHy6G8Y3uiNkC+jJMEKq6Pq7YOaPy5Uo7dSXqIbvbFAel17Udl3HxZg7M0o1bbP6Soz65qeGl2PTp2WNF0e47KpkddlI1Srmh6lwF1sODjDdAwj++xA+yIFC+f13uSJJLbXErjpSUdGGz59RBXnWMdqJYsnfMvGFVrYVzTh7sSqHE/yViYcsNtbg7tYDykb2oTnKyXOWZmikKtqcrderry3CZP7Nlkc99STBcHlaa7gkMYItWfZpB350t1oQNHmRhQUss2dPW6c1eJsSEyD2di3fIg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660409809; bh=yQZ3P0IsqeiiA0dZkrTD1G4Z78sLpvW9+sAwKLNlpvB=; h=X-Sonic-MF:Date:From:Subject:To:From:Subject; b=a5qeST9hBIrEJHEpCcI5wrk6ei/TujAmWFR98I8nTh14/LvpB4fLfCOVnv2H4rgiIUQxR5sXNjDaDT80+M8SpCuTimq8s5opyEQZmZWYeDC6wZLFQxUZ7jxQadr7K35YldC2GtOlqdl+6T5QbCQs+eUmYc/GbPb7TS1G4p2suMAtNl812eG988wICOKWH9VBlD+lLa6/D9xk2NAtJUSPkiVutsQPA7p1D/F+sUc8CmwaDThIyMNem8lBN52SOgCENgf29DT+D/zBcKwtoEZ31IoJiCDhxtahQnLaZUPkhTaOu/B1B2zls4TbmwCpvu+aNQO2Uj/AFAlpyMJgx+KkUQ==
X-YMail-OSG: OQbhtbUVM1nOQ6jnLdzPWPN_bd55lZ6LHInmMNByAOaV9HSItHoQ4qvwJwUcttV
 e4nvHeMobRWrL6nfaT4j9cGFc3_RMhHDalf7gYxESiRItX8_OrhCoWBbU6_ymUvXd5p7__URF5ng
 yFs6KLjWCd80YYOhC_86sEqobjQx1BGnNj3YoR6sgQSgEQqDazeRyB1zzaUAl2Gvhtm3Cn6Z8Eu.
 nM80Z9mA.id7WyziYqSwJZv2KwBQURjqUb1G2T3KooAz8SaCpHv_lSXxyPcWNZLwg16IfxvImTLp
 pNJJVsJMGEsBKolSZXO1nHLMCIJf7f27y.THOmF9pp0C0WsDFvurksxhjwG59OC1qlnWV_BQBNqp
 JTEzoPLbwSAZRdxGzUYf0wwh_je8FJZ7bDtgVXM_vzSX33AuBqwkBp.ynCimUY7w4XLxo4PQ.jQq
 499348bto4OXTUCVBSAS04ONUhRT.cnjJC2TtC0BdUgXbGKzfSs0w.sT.u9.k145TBWLFr3BRvHy
 W5j3Vv07Y.pjn9U6p7nSWXx2jPeDqf5qfKIJbOZqtaNFX5FNi7k8NO1EBQFZcERbsLdFaHol5VpI
 rHElfW_LNljI08YXxvLBxGOo_A_.5LYCYeBUTr_C3v9OoKM6bXKtl0PK5EfNEFTbVDyoinZH.bU8
 bEzgC4IOHSx.CWhYFTaCP6d6ubFm2WdW42iT97zkV_QFwQHWNE7zhJe7KfxHPE17S.3t_hMvcKRz
 dA2RFP5DvXTbzID8wuonj7mHyf1zkCAgihEu_G8VyubEqzxUueB18F17y8vBhLfyk6hywdgiIS_N
 wyaW2zXbt5cmfbt_BK1CJS7_k5FR21KMQSqKrrQcPArlGX5ksjOyLjXtZbtUbfEZ5i.AxQnTuFGe
 DPZWpM0yc9wUy9ox62kzxk0i32Fuix5jLlgCQ2nQDKV60Tgp0nUPYtHAM3db6xb.M.5zBDZkTh9S
 HpqUgqNeEIrkHIufi8637tUFf_71sM0pdRSZgH0IpcmpDkeGt8VVm04nWSsyunc5DDCoNQvyeruT
 wO0BFroXfxjHxMKJDG3jGjBt6KJ6uFIBQdnz_tVGzmYGlA0l8VQCB0wmA8RujoBr.usio41fCVG7
 .WZicdRm9KNCzl0xKZxwm_7eM8WrV7a7_YxcgIMjv.B.P_kV65xvhdc2__aitiMuyA5XRD0Y63m3
 fV7Cpi_UJRnAg8VohVoL651fIB7T6SsKIVcIRxBfuGljyEWw_U2t6BalpfAYAizKZhAT4z2nTtan
 uAneSEyPKnU8rGqdLTsnVSU_Bdjwwhhtwjr5ldOaTsKGMYs7DdtTfgmV7dBo3TzGQc8dO8D8hbmM
 NQidk.u8wN0qKnV_eu7AoA9Hn1ErYqWCkB_u.0hnqJIIQLU.xN.s185Utg92ydmz3y6i2ljAFB.L
 UTTN6xAnsuhNJmh2JEIxmLIlPDaygMSAa0oCFxARvpwc88gKpKIPSQCHMJ_F0W7ZFHePQIv8UQgj
 w_NJU.9YsCGpYuNDbBgb3RHOUnXgGKpiA94xWxJOKpFzIhlLa1RLAozyme.0fjmel9YW_ISVfiVy
 dMBb.GyEv3nnnYDj.D7g1fx.2xRfr7Mln33gS.l0c.0Ch79fRCfH.6MpvzK0Mr3a3GJlMpLVQO6q
 xPs.v6_A4l4vebg.Q8gtS8ARaxBY79VpRVl2H8x7yBZ17.aKRYYxdPl3RC0KsSvfG79O5xwovIlT
 5MQJszRy_XfoEfi6FqukEbEM0cteDTMroAfyi7O8yN4YlM22U7wlQk0JtQe94DxeeH_aYQI71uQj
 ydAWwOOget9fH8Ki5x0j_14mPGSmpecmG6Cog3XLuN_rVWtwPoCSpVeHJ2tGVyxatlmq9Kbrr999
 phWg.9aqXeRK815s4_8zPtNRwZms8RmBeFUDhQaSQusMXbFg9v0wZwnW4jMVa0RuqutpI0jmmbkh
 gapL48O.v7LtPPBVByeJXIt.IQNBAqDHyiz2qG0NGEt0pSkx0hHT5QFMAc.iquwfBTvi9mZnoap9
 4LFP6YBlJ8x3FyDCrC_x3eDmoGov.JVfemXWRc60zxAvSj7vrazhUXcIg2aZz0d_Ug59JLbNJQGr
 a0jPVt9sIILfX7MlwcqhxVnuSRqPy8Pw22lpRcu44oLRlfuJ83X0Gqv7uu.Ti4Bx3da5NASYuW5A
 Lcs_Fk3.Vc5sMk6urzZn0PgThmydksH7f2WLpi1G4Ks0Ui6YE6954K3BOkpiV.UJvA4zsNhdIIxK
 BdBLb7UygVYN1O7h16PCUlwOmWC76Z9Lxvy8lMiXYbNhCwK1zOcQF9OLjW1OR9HcuATM8JJpSEF.
 6._m8e4umqWdXYoBRCv3GesC5y7Rv1FTkjic-
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <d838264a-bcd0-29e2-3b23-5427ee0ee041@netscape.net>
Date: Sat, 13 Aug 2022 12:56:44 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
From: Chuck Zmudzinski <brchuckz@netscape.net>
Subject: Re: PING [PATCH 3/3] x86: decouple pat and mtrr handling
To: Borislav Petkov <bp@alien8.de>, Juergen Gross <jgross@suse.com>,
 Thorsten Leemhuis <regressions@leemhuis.info>,
 Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev
References: <20220715142549.25223-1-jgross@suse.com>
 <20220715142549.25223-4-jgross@suse.com> <YtbKf51S4lTaziKm@zn.tnic>
Content-Language: en-US
In-Reply-To: <YtbKf51S4lTaziKm@zn.tnic>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 5706

On 7/19/22 11:15 AM, Borislav Petkov wrote:
> On Fri, Jul 15, 2022 at 04:25:49PM +0200, Juergen Gross wrote:
> > Today PAT is usable only with MTRR being active, with some nasty tweaks
> > to make PAT usable when running as Xen PV guest, which doesn't support
> > MTRR.
> > 
> > The reason for this coupling is, that both, PAT MSR changes and MTRR
> > changes, require a similar sequence and so full PAT support was added
> > using the already available MTRR handling.
> > 
> > Xen PV PAT handling can work without MTRR, as it just needs to consume
> > the PAT MSR setting done by the hypervisor without the ability and need
> > to change it. This in turn has resulted in a convoluted initialization
> > sequence and wrong decisions regarding cache mode availability due to
> > misguiding PAT availability flags.
> > 
> > Fix all of that by allowing to use PAT without MTRR and by adding an
> > environment dependent PAT init function.
>
> Aha, there's the explanation I was looking for.
>
> > diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
> > index 0a1bd14f7966..3edfb779dab5 100644
> > --- a/arch/x86/kernel/cpu/common.c
> > +++ b/arch/x86/kernel/cpu/common.c
> > @@ -2408,8 +2408,8 @@ void __init cache_bp_init(void)
> >  {
> >  	if (IS_ENABLED(CONFIG_MTRR))
> >  		mtrr_bp_init();
> > -	else
> > -		pat_disable("PAT support disabled because CONFIG_MTRR is disabled in the kernel.");
> > +
> > +	pat_cpu_init();
> >  }
> >  
> >  void cache_ap_init(void)
> > @@ -2417,7 +2417,8 @@ void cache_ap_init(void)
> >  	if (cache_aps_delayed_init)
> >  		return;
> >  
> > -	mtrr_ap_init();
> > +	if (!mtrr_ap_init())
> > +		pat_ap_init_nomtrr();
> >  }
>
> So I'm reading this as: if it couldn't init AP's MTRRs, init its PAT.
>
> But currently, the code sets the MTRRs for the delayed case or when the
> CPU is not online by doing ->set_all and in there it sets first MTRRs
> and then PAT.
>
> I think the code above should simply try the two things, one after the
> other, independently from one another.
>
> And I see you've added another stomp machine call for PAT only.
>
> Now, what I think the design of all this should be, is:
>
> you have a bunch of things you need to do at each point:
>
> * cache_ap_init
>
> * cache_aps_init
>
> * ...
>
> Now, in each those, you look at whether PAT or MTRR is supported and you
> do only those which are supported.
>
> Also, the rendezvous handler should do:
>
> 	if MTRR:
> 		do MTRR specific stuff
>
> 	if PAT:
> 		do PAT specific stuff
>
> This way you have clean definitions of what needs to happen when and you
> also do *only* the things that the platform supports, by keeping the
> proper order of operations - I believe MTRRs first and then PAT.
>
> This way we'll get rid of that crazy maze of who calls what and when.
>
> But first we need to define those points where stuff needs to happen and
> then for each point define what stuff needs to happen.
>
> How does that sound?
>
> Thx.
>

Hi Thorsten,

IMHO, silence here is unacceptable given that this is supposed to
be fixing a regression and not just adding a new feature or
re-working the code in a case where there is no regression.

The regression was first reported on May 4, 2022, now over
three months ago:

https://lore.kernel.org/regressions/YnHK1Z3o99eMXsVK@mail-itl/

Why has Juergen not at least responded in some way to the
comments that Boris has made here? Why has Boris not
pinged Juergen by now, which is almost four weeks after his
comment and over three months from the first report of the
regression? IMHO, both Juergen and Boris are not treating
this with the priority of a regression fix. At the very least,
they should reaffirm their commitment to fix the regression
in a timely manner or explain what factors demand that the
Linus regression rule be set aside in this case.

There are valid reasons to delay a fix, but in all the discussion
of the various patches that have been proposed to fix this
regression, no maintainer has yet given a clear and reasonable
explanation for why this is not getting a higher priority from the
developers.

Some developers, (Dave, Luto, and Peter) have ignored a fix
proposed by Jan Beulich as you pointed out in an earlier message
to Jan Beulich here:

https://lore.kernel.org/lkml/4c8c9d4c-1c6b-8e9f-fa47-918a64898a28@leemhuis.info/

To his credit, Jan Beulich replied to your message in a reasonable
manner but he also could not explain why Dave, Luto, and Peter
ignored Jan's patch and remain silent in the discussion of the possible
fixes for this regression. I note also that the original report of the
regression identified a specific commit that also fixes the regression
if that bad commit is reverted, and that commit is also mentioned in
the aforementioned message to Jan about his proposed fix. It is a commit
that lives in the i915 Intel GPU/DRM driver, commit bdd8b6c98239, and
my testing confirms the regression can also be fixed by reverting
bdd8b6c98239 instead of applying Jan Beulich's patch that was the
subject of the aforementioned message from you to Jan Beulich where
you also expressed your dissatisfaction with the silence of some
developers (Dave, Lotu, and Peter) when there is a regression that needs
fixing.

Why their silence? In that same message, you pondered that it might
be necessary to bring this matter to Linus' attention. The developers'
silence makes me think this regression is a regression the developers
do not want to fix. And that would be a clear violation of the Linux
regression rule if it were true. So, Thorsten, I think it is time for you to
elevate this to Linus if the developers do not clearly explain why they
are ignoring this again.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 17:20:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 17:20:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386365.622329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMuoZ-0007Hp-Hv; Sat, 13 Aug 2022 17:20:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386365.622329; Sat, 13 Aug 2022 17:20:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMuoZ-0007Hi-FM; Sat, 13 Aug 2022 17:20:47 +0000
Received: by outflank-mailman (input) for mailman id 386365;
 Sat, 13 Aug 2022 17:20:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=j5iD=YR=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1oMuoV-0007HJ-FV
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 17:20:46 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41e03e1f-1b2c-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 19:20:42 +0200 (CEST)
Received: from zn.tnic (p2e55d27b.dip0.t-ipconnect.de [46.85.210.123])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 25C451EC064C;
 Sat, 13 Aug 2022 19:20:37 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41e03e1f-1b2c-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1660411237;
	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:in-reply-to:in-reply-to:  references:references;
	bh=rFJUbH12jSbptwlGtNVGv3gua2WyWKxARb6tx5OOFhw=;
	b=dir4FhiJgml+Icpb1kS9IZrrov2qYQPKTI90LtVrPHmfYvZeNwKxTEoQqW6tlCnahQBXT3
	BjO9lEDUDTLUrsMpF8NsxRK/zfxCK4ei/1x06xe4/Yzn/hq7Mkd0K41Qd3JAlC7gZ/oU7k
	M2NpnCUoEJfO43eMfQjS2g/hvHRylvM=
Date: Sat, 13 Aug 2022 19:20:33 +0200
From: Borislav Petkov <bp@alien8.de>
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Juergen Gross <jgross@suse.com>,
	Thorsten Leemhuis <regressions@leemhuis.info>,
	Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	regressions@lists.linux.dev
Subject: Re: PING [PATCH 3/3] x86: decouple pat and mtrr handling
Message-ID: <YvfdYS81vU66tQSs@zn.tnic>
References: <20220715142549.25223-1-jgross@suse.com>
 <20220715142549.25223-4-jgross@suse.com>
 <YtbKf51S4lTaziKm@zn.tnic>
 <d838264a-bcd0-29e2-3b23-5427ee0ee041@netscape.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <d838264a-bcd0-29e2-3b23-5427ee0ee041@netscape.net>

On Sat, Aug 13, 2022 at 12:56:44PM -0400, Chuck Zmudzinski wrote:
> Why has Juergen not at least responded in some way to the
> comments that Boris has made here? Why has Boris not
> pinged Juergen by now,

How about: it is summer here and people usually take their vacations
during that time and everything takes a bit longer than usual?

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 18:30:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 18:30:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386373.622340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMvuG-0005kk-LH; Sat, 13 Aug 2022 18:30:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386373.622340; Sat, 13 Aug 2022 18:30:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMvuG-0005kd-Gz; Sat, 13 Aug 2022 18:30:44 +0000
Received: by outflank-mailman (input) for mailman id 386373;
 Sat, 13 Aug 2022 18:30:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMvuE-0005kA-W6; Sat, 13 Aug 2022 18:30:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMvuE-0000e1-Tf; Sat, 13 Aug 2022 18:30:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMvuE-0001Hi-Iy; Sat, 13 Aug 2022 18:30:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMvuE-00055Q-IU; Sat, 13 Aug 2022 18:30:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9SwkR67NVRentgxo9PDcK+RVVV71zKkpf0SH3qwULzM=; b=o5cae5RHrxaHSv5fax6uyj1kvq
	ZFEiT3bWHFJFWLCmDYLJPfe4LZSRABeqjJk7aZwl1QLuRDmj6dAvs7AeJcqRL3dpIbdgapE8cAu8D
	ynHxbBw5MlL1aowI5YUaaixr9kHTrWYok5vlLhkdf7S3UunHrpcXNy/WIvdkLqN5q7Y4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172490-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172490: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 18:30:42 +0000

flight 172490 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172490/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    9 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   81 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    1 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 18:38:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 18:38:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386383.622351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMw1F-0006PI-Dt; Sat, 13 Aug 2022 18:37:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386383.622351; Sat, 13 Aug 2022 18:37:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMw1F-0006PB-9m; Sat, 13 Aug 2022 18:37:57 +0000
Received: by outflank-mailman (input) for mailman id 386383;
 Sat, 13 Aug 2022 18:37:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMw1E-0006P1-0j; Sat, 13 Aug 2022 18:37:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMw1D-0000kJ-V7; Sat, 13 Aug 2022 18:37:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMw1D-0001Sy-G3; Sat, 13 Aug 2022 18:37:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMw1D-0003IX-Fa; Sat, 13 Aug 2022 18:37:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=puSde/BoXNpZr1POVy/9i8hPV9MECuxQ6tsdNJ679gg=; b=BP67kxfqewe0h07iXw5lADtAAp
	0YUdTcJXYp+8ByAbmpyCeoCwg6hT/SBfzqMlB8zfG5FiTZc1ZNhhnko+nFEzbkpBapKW/TF00TuZy
	pFAPKs0XG88iGeo7C86hNXBr54Zak9yGT6W6mqoNVFffAvtCuFfZIi6ptsMZj0ycAKoM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172480-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172480: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=93f3dd604825824a7239aaf704baf74730aa3007
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 18:37:55 +0000

flight 172480 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172480/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail in 172459 pass in 172480
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172459 pass in 172480
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 172459

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                93f3dd604825824a7239aaf704baf74730aa3007
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   10 days
Failing since        172148  2022-08-04 21:39:38 Z    8 days   23 attempts
Testing same since   172459  2022-08-13 00:08:42 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1488 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 20:43:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 20:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386396.622368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMxys-0001se-HM; Sat, 13 Aug 2022 20:43:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386396.622368; Sat, 13 Aug 2022 20:43:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMxys-0001sX-EC; Sat, 13 Aug 2022 20:43:38 +0000
Received: by outflank-mailman (input) for mailman id 386396;
 Sat, 13 Aug 2022 20:43:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMxyr-0001sN-2T; Sat, 13 Aug 2022 20:43:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMxyq-0002zG-V3; Sat, 13 Aug 2022 20:43:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMxyq-0005hh-K5; Sat, 13 Aug 2022 20:43:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMxyq-0007fN-Jf; Sat, 13 Aug 2022 20:43:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=E2qvpsDpOWjP3z6yTbhlQVr3OPIs0JAFl75/MekaqHU=; b=2HhQfHNbKfsi+uiUTvIkABaBXs
	kPd6jb9P357gFFjOBqPYdRp78xIKOpRr+U78cDyvwafg5Mm11/okPz9/IdxCEifMsv6y1pThVRlw7
	rhJKCjcgj/VGXangZmJXyU47aLEwY5V4WTcKitiyd9VbeGqKRNoO0ty1AgLUqtrrGsr8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172494-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172494: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 20:43:36 +0000

flight 172494 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172494/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    9 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   82 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    1 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 21:40:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 21:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386406.622378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMys9-0007mP-Ov; Sat, 13 Aug 2022 21:40:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386406.622378; Sat, 13 Aug 2022 21:40:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMys9-0007mI-MP; Sat, 13 Aug 2022 21:40:45 +0000
Received: by outflank-mailman (input) for mailman id 386406;
 Sat, 13 Aug 2022 21:40:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QptA=YR=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oMys8-0007mC-Ky
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 21:40:44 +0000
Received: from sonic304-25.consmr.mail.gq1.yahoo.com
 (sonic304-25.consmr.mail.gq1.yahoo.com [98.137.68.206])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 937dceaa-1b50-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 23:40:42 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic304.consmr.mail.gq1.yahoo.com with HTTP; Sat, 13 Aug 2022 21:40:39 +0000
Received: by hermes--production-bf1-7586675c46-npccb (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 5839c0cb0572738d7f39c89d274f137d; 
 Sat, 13 Aug 2022 21:40:35 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 937dceaa-1b50-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660426839; bh=PIlufvsaPsyGJwlW4Tq6D4v1lbnSLieh/roTabG3bLk=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=p1itavqn3ffG609jlveGZZH2gkNFsWKJqxCsuTD2xLk8usezC/U3cujO7B5LH+d4MCIgr1MOPh4l3DGmerSJ1sYiEQyCdGxpV/BPLNEzffS5Y8OTPSVX0hY1zbHpY0aB4MLb32yLbG0dWUH1de3SEVtjqbhkjPlXZ6LAiQMbDXRNET/QlNTQSYFCPTlxTW3ix34cj2HYLbnNM5+FPY1JH0rmEzOHUHeP38DP3zAHKCuiT3uJZ0PguvVsu2Ug57BSANi9f3fSFy1phONSSpug4Zb0cmlMtmpuouh8DGtCVECS41EY+LzgMt4XnEmqfZHoRZU1mYjUR2sIeR7NcgyA+w==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660426839; bh=GSdSnTct/aFv3F/BFRhCVd4786aWn++1H4Q6NyrdEiU=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=ZvUx8v2KifxKSZT+0AgmeCaiyShR9gjzycxGeeoE3sy9roJGP/AAu7ilSm5ODd3A/dc1+F4HlVn1PKDpOhrge//tRTNvSA4wWcsun6T3uAgMCzQ+W48S53OJHV7MteDJEg+VG0SeXhsq7dqEhAn+7vD7926RhEW6C1PV4E9lKDV3EXQ8qBNq7HlZDIxNgZ9dJIWMGsxyrCf+ujG6F8mkHuBfI+K1NdAsyav4L02PZgUpB9u2wpg0hVbX5/cg8Cn9Hu9mAcE0FG9zrHDJbJoDQL/Z+FLF5THp0HDAo7VdyDkxNGZSWYeYA+lrvjM/gq9m841a+XOogyu1lZufPPJr+w==
X-YMail-OSG: TebSG6YVM1nQH6Dgfq.F8qvUCnxbvYNhSxtELVhuO9v17kdGSK8oyKXUJdMdTOz
 1eLGp3bUBQm2l3wY.x7sRYB08ogP7WBXYrPlE75UYIeW7oYHfJ.fqifoeljDqBF4ehRNn78RxwjL
 CAbJLsAh98XFMmyWbzjK61YcgHnTk4ylbuU6YfcMU4WwnDraGubO1SJ.P05IznFC3r_Yk1WEkQCi
 AyytDwMhldDUEWUDYIiW2IrYVHgABwQ5MKYA_bRiNXjRt2JvV4CgsdnQ9hndXxMuN1k0xiJPFudd
 mo7t3f35GyDvZLJp_4YgYRzLNGd2n8JmjmulwBsXA6ZiJ1wYGfni8j__mJzjv23L_4FaYa6046Na
 sI57erJyP4HxZ6Zy_r2Lvp_6eLY39NI9LBBHuxCqt74l2UG4p0RCyZQyUUuBmk3As4rU9V_Va1GW
 9yVwfQdUtV5CkHQl47gVxpTNwMlTxnyMwv.NtYL.I2Z0pjvy7aOh.ojZnrdOnj8yDzhbclKVv2FO
 PzOJCH7OkpoDOL0HOQWB9mn9up.Tp7sVpSVrmjxp3FyCB8L0_cupKwuFXj36CQHg5U2G6L7VPuGR
 I7PrCBi2tL90mYtTq3h6.btJlGlgGDWeGXwZD0B_wpWKNwgXyyOFosx.BY5HGAEqU9GZKhGlIJaP
 UTp.n.15rXxZiGjBFdt8SQJq1gBCm8cfhhpjbJtfdSPZcgz.qDDxsW4.VwGWsRqg.8G08vcgvD0K
 1bYU_C9dRiJCMMFbRu3y9Zs4Sp42y7aT3r5Ewczdol4oNLnoDkpwoAeJK5nz_GX9DL62sfcwpXgN
 8CJWWVL2XM.ABsIP.jv_oLyXwh5k1er_Qhc6C.xbqPjbN3ohsg6ho8_cGeJm0FuWyE9k.h_vsJle
 VBzxGshw0OGeMj7XT3HGMFil1mTFhziLFUfxNIedZjHWHK0pPjEbbJQ9T0PK6aQvTQbPJJ6b7Hc8
 9h27qaIq3s.VIgOj3.90v._8Ko9kjKE_hNjXuubk6vQuZE8HCFZLaZD4EBPoo0PYSscCToNQs0XR
 ZPLAPSHZOGHMBnIHlPKPhKhVWSqC6eodCREdwmVT7.VsAlLJ4tXwbRToMiKUQC3tcyXYrVqWM0bb
 HrAXnuxv54JP48OzSWWiEwN4VeDDuYghTAhO_WOSPjYRvrh3An3n_Oc9fjUA2jbtdWlmCkqdpKAi
 SJrsAzm8lD3Woxep.xTcoI.VSaqmuUvSGde2EwL9Hk1uFkshCDzGSSbzPY1BZ4w7kpJokKbKLY9O
 Rd_dJSylAMevviik0CYoKIVcj4ZsfiekQDi6UOsHZ1QIvzKXs3B9F77la2_UV_8026MQne3J9xt6
 zTRVXjzswJaPYOoK.vQL82UQ8UVQrtQFRMDCpLFnA5SIxco1srVAW8P4Wjlo4ZdKiW5H73Jqtbk9
 TyPcpfxfXSs0WvVC.UT0eSULSYka8dJEbLSU6a5J0AIgNyi2xSq_pQ39l3L5H9HBVjdwro.cJNMd
 eHpOZXScwlweiXvqEJdbVhJdn9ocpuhxeal0ZFwrITCuHRhTYBU8sR28Iov49ZFbuXfeu9scVS15
 W7Sa9YL.5BxR3U_ViGvkpPF0.CkdvGXvwiocCTrn43.buMlt6gJJL3xJexup9qErEVA4fOgxFbn4
 j7Y1eXErMFv8PRATkpCFdHrvIS4WpEqfdTl0Q1j560j0zUN6IZLzoA27qxXC_FWQUUcoTnBhKH4Q
 xnE9LOTU05PxWq9MmaJjcxHlUzTVEWtHA._xlGxvOdN7GWgF2_3p_hbG9A.5nbDMXmqkIGofKavC
 eC1M9BfIzCneCJ48DiVbk2wKymSfzYcdJOJKmzFtU2GELlOl1lvvEQAsIviCFIRkfgZlxIpDgkIj
 LQVHj87U5rL5cukxpjyxM0OkJbSdjtozS780IWj3exg2_Ya8l.hgTWrUeBmf76WM36cYvRDtsrJm
 RGngDXaVk4VSj8pfH8uTjZ.zernyDqqMPI.EvMpsafE5TRnnXEBV7Bqc_DFOuWMZkyhFNziTr_hB
 mWjDniknir2nnBtwjv23Qs_pu7xysMZRxQ2Mi6NQ0Pnta_rvXZLb4dRF_2S0A4HwX3GNZ1l38DqZ
 NhLXyWVC_vpomdl2vuTNi6Fq6vfc6YyYX1bYr65BA5wT2_jVMkGKUo4WP0uRPgdWBjoYYQRc5HNp
 J2GuYLEoLlCYYvpHMHB9cxIcEkPLVDQPNVIn9GpUbYaHrusIGa_AygNSTwv9cYjTwbC.TuKEBr29
 i_ty3aFQ63Kl2uduNS8WRSo1L
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <3de36953-9b8a-d040-c8dd-44af1ae2d56d@netscape.net>
Date: Sat, 13 Aug 2022 17:40:34 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: PING [PATCH 3/3] x86: decouple pat and mtrr handling
To: Borislav Petkov <bp@alien8.de>
Cc: Juergen Gross <jgross@suse.com>,
 Thorsten Leemhuis <regressions@leemhuis.info>,
 Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev
References: <20220715142549.25223-1-jgross@suse.com>
 <20220715142549.25223-4-jgross@suse.com> <YtbKf51S4lTaziKm@zn.tnic>
 <d838264a-bcd0-29e2-3b23-5427ee0ee041@netscape.net>
 <YvfdYS81vU66tQSs@zn.tnic>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <YvfdYS81vU66tQSs@zn.tnic>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 596

On 8/13/2022 1:20 PM, Borislav Petkov wrote:
> On Sat, Aug 13, 2022 at 12:56:44PM -0400, Chuck Zmudzinski wrote:
> > Why has Juergen not at least responded in some way to the
> > comments that Boris has made here? Why has Boris not
> > pinged Juergen by now,
>
> How about: it is summer here and people usually take their vacations
> during that time and everything takes a bit longer than usual?
>

I did a search for Juergen Gross on lkml and he is active submitting and
reviewing patches during the past few weeks. However, he is ignoring
comments on his patch to fix this regression.

Chuck


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 21:41:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 21:41:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386413.622390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMysn-0008HG-2W; Sat, 13 Aug 2022 21:41:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386413.622390; Sat, 13 Aug 2022 21:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMysm-0008H7-Vh; Sat, 13 Aug 2022 21:41:24 +0000
Received: by outflank-mailman (input) for mailman id 386413;
 Sat, 13 Aug 2022 21:41:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMysm-0008Gr-0M; Sat, 13 Aug 2022 21:41:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMysl-0003y5-Td; Sat, 13 Aug 2022 21:41:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oMysl-00080D-Ll; Sat, 13 Aug 2022 21:41:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oMysl-0007Ai-L2; Sat, 13 Aug 2022 21:41:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PcK5uJU2yjIWSdM839VyZ/bIkmG7k6NoRyaNgeVLZqs=; b=mx+bGIGiv/cR+6Adu0WR7IN0tV
	Iwoico8qpSWnWaQqR+SkB08O85gvwz2KNF2/Adqmfi/w5ERXkis/G0Owo/qVIpxaBsO6rFqSLpCdg
	wu0mmG3/HQQPmFSInntJ1k3IyC2ZWAV/urlEc5tKFhxYKfcrSQdWiEbTFAsk6TDvDJWs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172485-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172485: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-cubietruck:debian-install:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=69dac8e431af26173ca0a1ebc87054e01c585bcc
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 21:41:23 +0000

flight 172485 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172485/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-cubietruck 12 debian-install fail in 172463 pass in 172485
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail in 172463 pass in 172485
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 172463

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                69dac8e431af26173ca0a1ebc87054e01c585bcc
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z    9 days
Failing since        172152  2022-08-05 04:01:26 Z    8 days   24 attempts
Testing same since   172463  2022-08-13 01:58:37 Z    0 days    2 attempts

------------------------------------------------------------
1342 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 139640 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 21:48:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 21:48:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386424.622401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMyzh-0000cu-Qu; Sat, 13 Aug 2022 21:48:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386424.622401; Sat, 13 Aug 2022 21:48:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMyzh-0000cn-Nv; Sat, 13 Aug 2022 21:48:33 +0000
Received: by outflank-mailman (input) for mailman id 386424;
 Sat, 13 Aug 2022 21:48:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=j5iD=YR=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1oMyzg-0000ch-1I
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 21:48:32 +0000
Received: from mail.skyhub.de (mail.skyhub.de [2a01:4f8:190:11c2::b:1457])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa647d88-1b51-11ed-924f-1f966e50362f;
 Sat, 13 Aug 2022 23:48:29 +0200 (CEST)
Received: from zn.tnic (p2e55d27b.dip0.t-ipconnect.de [46.85.210.123])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 032B81EC067E;
 Sat, 13 Aug 2022 23:48:24 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa647d88-1b51-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1660427304;
	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:in-reply-to:in-reply-to:  references:references;
	bh=fz37332wiyn8xQubKBZViow+AZzqnLB/tSNjoT3q33w=;
	b=I7+hyv2sQPb93AEybpUHKY08eB77sAwaoHenTwceUENNJJMIyIC/Ox7n7SlyTOp9A5mt1H
	/S3M4Z18PCt0cBj/MqT9dgXm8E1pi03QhHfZqm2bp3/twcuf/oi4tnp8NvCNJGOeZQB9ju
	YV/XDWfjLIBP2016iz4+2X0TlBxXOis=
Date: Sat, 13 Aug 2022 23:48:18 +0200
From: Borislav Petkov <bp@alien8.de>
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Juergen Gross <jgross@suse.com>,
	Thorsten Leemhuis <regressions@leemhuis.info>,
	Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	regressions@lists.linux.dev
Subject: Re: PING [PATCH 3/3] x86: decouple pat and mtrr handling
Message-ID: <YvgcIu/Y1GMD5WNo@zn.tnic>
References: <20220715142549.25223-1-jgross@suse.com>
 <20220715142549.25223-4-jgross@suse.com>
 <YtbKf51S4lTaziKm@zn.tnic>
 <d838264a-bcd0-29e2-3b23-5427ee0ee041@netscape.net>
 <YvfdYS81vU66tQSs@zn.tnic>
 <3de36953-9b8a-d040-c8dd-44af1ae2d56d@netscape.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <3de36953-9b8a-d040-c8dd-44af1ae2d56d@netscape.net>

On Sat, Aug 13, 2022 at 05:40:34PM -0400, Chuck Zmudzinski wrote:
> I did a search for Juergen Gross on lkml and he is active submitting and
> reviewing patches during the past few weeks. However, he is ignoring
> comments on his patch to fix this regression.

Please stop this non-sense and be patient. We will fix this soon. For
the time being you can use Jan's patch locally.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 22:41:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 22:41:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386433.622412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMzp8-0006XB-Rd; Sat, 13 Aug 2022 22:41:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386433.622412; Sat, 13 Aug 2022 22:41:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oMzp8-0006X4-Ow; Sat, 13 Aug 2022 22:41:42 +0000
Received: by outflank-mailman (input) for mailman id 386433;
 Sat, 13 Aug 2022 22:41:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QptA=YR=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oMzp6-0006Wy-Oj
 for xen-devel@lists.xenproject.org; Sat, 13 Aug 2022 22:41:41 +0000
Received: from sonic306-21.consmr.mail.gq1.yahoo.com
 (sonic306-21.consmr.mail.gq1.yahoo.com [98.137.68.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16dd5f04-1b59-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 00:41:38 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic306.consmr.mail.gq1.yahoo.com with HTTP; Sat, 13 Aug 2022 22:41:35 +0000
Received: by hermes--production-ne1-6649c47445-zp4l8 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 2311408bfed2e7d8c493523d9e059a17; 
 Sat, 13 Aug 2022 22:41:34 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16dd5f04-1b59-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660430495; bh=Op1RFBba7lO0xCqevP/9M9G8wIIEt7tgquGAKYMCRmU=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=VtPf1+cvrSvCQSmXcxxRo9fnrb6TL1ikxcV6XnSAdD/IkDRd7Jy2RedTnfxklUimn7YgNWdWD9AAZS+QcesXmDsdY/jPS/MPwu9lRv82b1NOxLOe/IfQ5PiUNhv1hI7quaAjavUAEU2MKssQdCL+HVb2BE8AuYa58b6OY1jBz7wP3hYhjVxIaCDoB6SmJSyKUPf8RzlAxE4ZVocUS9y9gJKH2n4sdlDMhXpNB7l7NbMgu+et+IovG2y0kn4VrGe4oQcmtAhQk6eBJJ85nj0/0hrMqO8p7w2UsW0AMzbKztgunoTWBzXBCIz095GQfOREVD/XUXnzWUj2dWR1U+p1TA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660430495; bh=2uM/Lus+iAkE18Yn+Xjw5h9L2R1ibQfDEU/xegsCOU1=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=aWqHgK2/ASkFNTztKD69+1kD1YF122Iu/z6xXPHA4rSlnNiLfJ+OFUBjY5X7LyHZ/aApx3CQfh/IlTey59EmcJtsQ0oK5k3VNcdMiaqWpg3MzzEFFuZSQbsuSRNxKMWhbNrHNtiDvY3woVCVuVcnqHSmIRfgwS6PQcUMW9EHJ5Br1mUcdetPazMIpfv/V6E/iTWshUjSYYmoFm/pWv0xCI+HTadC/ra+vomK9WBtzkJKGZP3S747X1LSod5DQRH8KEo4qT1Wpttr/0scMPVTSEMvBmoB2VlS/IEcFoBC19vn+fZs3WFJKnos9TzUhX4KHg5HG+q738JavwUVrbJD5w==
X-YMail-OSG: d6T7FEcVM1mVMOuFN3_NECZYrcXa2YBxu1vvEc2qW2YOpZ_dj6ZAVsTeUWCXgsg
 Faa6AlhjrsVuay8Y8TJeeQ_ubchEey0vSdo_QoewJCWvigBhBZ6C4nqpEAaj76kZD.CrnEIBzei3
 DnHFz9JCaynrI9A1VD5iNXRtMVxUM_1UENV9yl1qrpSD7zsUWQuZqk6d7hfC2gttrajU3uLgaV69
 lEWsXksZZhFs7wL0scUQULTMcCRNVfSR25W9FnU5A5S._c4drwwKhyvJxfxvc.UICZS8sR_HxvZB
 Zpihr6IMIFAocpm22vN8lKsKaHe14XrxWQA._CZtrfQkza8f5OfHxPS5nR68cm3e2kZlrlFgYk_L
 oqYnl_vFqCiwqzxO7F9PzNjApRop6qcUqyCMrT_W5oHiZqRPfPgzlZuhLKjqlz3VGWR8PQdcR.WE
 Pmo12f53_L1HIBhEuvYsCAOfKa7SWyIM5yrdBFVXGo5HK7O0auiz.ER2SfzrfgjavvBu6HyinKl9
 1Psahm3IvbWMxivLMt_Jj2MEOTQ85zWwpPAiFrLjLsvStXCGx6og963Lk98GNjFr4KB0nr9EBnrV
 .ZrrcuNdOPw64yxNhpTYgUwRl7yeGcrltIv78WuHM6Arr18Pf89_S_3kMEw7oMDFfsfV5DVDhbRC
 hgxqQBaXh09Kfh7izN5BhE.5st8Yi4KZ.Yu2f57wzjJcGFtKkfZT0O8unCGrtc1S1v.OUy7AEX1p
 8mXJtGZ9EfJgL5zXsIFjkLZ8VSSYCdy9B_1I_DBZlppwbKkzvcbcAs6AGtwT05sLNZKWKSMduDqF
 cjO.cl_xMvgyx2DAPAbKY8VQjJvvjfntDSI5hQgQUSoC21.9eQWkKrcpM3gTReVti1u27uGUIvNZ
 J6qsoodZ6RSMwj9MDQHJKgGX6gduRD6ZnIEHQEPVGPdxa9XTzov9NRoD0oK2wXmopSp7NPeD3AMA
 aa8SvgyCafDJmo80ctwMHUHE2Y9QvtM.st5ZQn7WnpWAT0JOv3hIU49grEfHQTlwyycCPPT0xWfe
 6MqJx.CQMLXyILxxI06iFLmFe7iu.AHKt6jn_t0WNGztVsplJ5D3YwUdoYNx2QLuviTX4ixRET6e
 BvvG5KIVmmxXvWnjtkjbUtMJi0MQQsP6i3RP_IfkFnAnpubfwSe9xO_Ix95qSu068i81XDJS2k7D
 C91jEQVwP0Yca4dq79FWJ3d0HbrsQeq_G2NBaXzG54QHLtT81oU26k8u28m7escn7Nrg2t8xN1mR
 IfWM258VRn.pFsplhXFrkh6NYFntKcyXj67tRmGp3ymaCVMxcC4hjtelur1LDTblQeNh4cN3thTs
 dUb4tu6ZTsXwJ8lQYXt8Lrap.wfGz46YLB66KHktOiYLc_oxtjfcSRrXoP8VLh1UZZ3O58cjVGdy
 4MQul5ni51YJHkkqhAleWbrkXnLS.kU70LUgrRF410hfs18Wa834krrg5.kHMr1hpzUcLQ_Af7Bk
 e_7ibEenmxmrbcSMe67DtUL9rrvRXl6pMUCeHV71w91LosXaHLJU8Vok8GGyBKV6nnU6hIJKg7.V
 6kXacsI0xHi3KvKqelit1sTiDfKbo8l4nMxtcf_cMuIGfnR2ohI6gt_Cs.mXzAwGi1lXK80O98UU
 WIy4R2gijneda1SxEFknUTGffd7FVaoBrmCgaz.BF6nFxJI9LGGQDCOCfUBpxdOX7wB142T2pcfI
 3NfG83_8Y4eiPVNgI.Q.pmBYS960U1IMF8c3Ol6zpxgumGLoxKh3bjZKJWlQbe7dw.aZlwGROwaX
 5mOB3sNiJUFJvzXmau1UL10bGPx_lBhWydgFn_Vg7BRoh3Ay0wR3U996MdaEutRJ6u1_iBBPcDNl
 UQaqO_zhVPxEfJ8lMotGQaTlFoCLr..Q89ovR5iRb3A4KNeW49MuoEAD0M1ffTmaB6qzlOEPRLD.
 B7czF3F1hG4rWgXjtjaoAOsmGkr74DKRHhj9fTKgvyZoSd4U4N0TJQYygjqBeCsgnJur9KzHIdyJ
 kXQ0Zt1smCTxKPdigGF8ylUUnjm4anLHEVJN2D3KnyO5.JvBx6Lkr0bBdov0btlwI.jU0.e3da7f
 TCmeJT2qQUXCdlFtH5SsjI2eFHyebRZN8htf9Apx8Hul2BQbqM8YEM6abxTeP.gJozmeKcGqyxUC
 GrjiPGqH5UqldmUvlTYSYCOHBhl4N72KoCx1hZef.QYHH4fIRs.xBSYCTqCer8gzP7IrtuwU6AyF
 BWKQRdW5KL9e5miIRDiNr3BhkLDw-
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <6e709192-064d-fdfb-8596-6474d891dd7f@netscape.net>
Date: Sat, 13 Aug 2022 18:41:34 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: PING [PATCH 3/3] x86: decouple pat and mtrr handling
Content-Language: en-US
To: Borislav Petkov <bp@alien8.de>
Cc: Juergen Gross <jgross@suse.com>,
 Thorsten Leemhuis <regressions@leemhuis.info>,
 Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev
References: <20220715142549.25223-1-jgross@suse.com>
 <20220715142549.25223-4-jgross@suse.com> <YtbKf51S4lTaziKm@zn.tnic>
 <d838264a-bcd0-29e2-3b23-5427ee0ee041@netscape.net>
 <YvfdYS81vU66tQSs@zn.tnic>
 <3de36953-9b8a-d040-c8dd-44af1ae2d56d@netscape.net>
 <YvgcIu/Y1GMD5WNo@zn.tnic>
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <YvgcIu/Y1GMD5WNo@zn.tnic>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 1291

On 8/13/2022 5:48 PM, Borislav Petkov wrote:
> On Sat, Aug 13, 2022 at 05:40:34PM -0400, Chuck Zmudzinski wrote:
> > I did a search for Juergen Gross on lkml and he is active submitting and
> > reviewing patches during the past few weeks. However, he is ignoring
> > comments on his patch to fix this regression.
>
> Please stop this non-sense and be patient. We will fix this soon. For
> the time being you can use Jan's patch locally.
>

Hello Boris,

I am grateful that you took the time to respond and say it will be fixed soon.
By soon, I presume that means within two weeks as the guidance for
fixing regressions recommends:

https://www.kernel.org/doc/html/latest/process/handling-regressions.html

Quoting from that page: "Try to fix regressions quickly once the culprit has
been identified; fixes for most regressions should be merged within two
weeks, but some need to be resolved within two or three days."

If the regression is not fixed by the end of August, I don't think it would
be "nonsense" for me to send another PING at that time. I also think the
PING I sent earlier today is not "nonsense," given that this regression has been
waiting for a fix for over three months, which is much longer than the
expected time to fix a regression of two weeks.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Sat Aug 13 22:57:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Aug 2022 22:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386443.622428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN04B-00085C-9X; Sat, 13 Aug 2022 22:57:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386443.622428; Sat, 13 Aug 2022 22:57:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN04B-000855-6s; Sat, 13 Aug 2022 22:57:15 +0000
Received: by outflank-mailman (input) for mailman id 386443;
 Sat, 13 Aug 2022 22:57:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN049-00084v-Ji; Sat, 13 Aug 2022 22:57:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN049-0005Ep-He; Sat, 13 Aug 2022 22:57:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN049-0003UI-2s; Sat, 13 Aug 2022 22:57:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oN049-000719-0O; Sat, 13 Aug 2022 22:57:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TcmvR2XjaPSVok0eaCmyn2lPy2rULPQkp8vOEIAIj6U=; b=flruLMSpj8SQMnI42xDtrdsQQq
	8BOUTtA5p4wNiapoa2maKukwL7gZFz7NzggTCRODAHwyU02io7LOTpA947QkuZssr3WNmb8Ui/+tn
	Mo+4OOJVEugpFMczsP3d7hakNBF2i3DtdP7EPhnLVWA8mnrdh4fve41fE1C3APMTpAjw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172497-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172497: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Aug 2022 22:57:13 +0000

flight 172497 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172497/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    9 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   83 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    1 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 01:25:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 01:25:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386453.622440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN2NQ-00043M-Pc; Sun, 14 Aug 2022 01:25:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386453.622440; Sun, 14 Aug 2022 01:25:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN2NQ-00043F-Mo; Sun, 14 Aug 2022 01:25:16 +0000
Received: by outflank-mailman (input) for mailman id 386453;
 Sun, 14 Aug 2022 01:25:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN2NO-000435-RU; Sun, 14 Aug 2022 01:25:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN2NO-0006h9-Pg; Sun, 14 Aug 2022 01:25:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN2NO-0002f1-I3; Sun, 14 Aug 2022 01:25:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oN2NO-0000jA-Ha; Sun, 14 Aug 2022 01:25:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6lbBRYimPUA8jQPVTLC7GwWFxREaF3MhTYgIoSpTdh8=; b=iUzXzU1AnnQgdcG12/H8OFhavW
	ddP0wGjULcgmtD9v9YkLgO/kg9rBW1IFsgHnng4gdCxRHsEiLNAbpTf3SDF78hFqTIN35mxvzPLh7
	+nZn1zfJk9muA74N0F9fJJQa7DMPlpS9FwNnQBXbdR3CvLr0Sq3v7jGlazziDugjFJzw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172500-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172500: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 01:25:14 +0000

flight 172500 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172500/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    9 days
Failing since        172151  2022-08-05 02:40:28 Z    8 days   84 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    1 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 01:52:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 01:52:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386463.622451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN2nn-0007Gg-Sd; Sun, 14 Aug 2022 01:52:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386463.622451; Sun, 14 Aug 2022 01:52:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN2nn-0007GZ-PL; Sun, 14 Aug 2022 01:52:31 +0000
Received: by outflank-mailman (input) for mailman id 386463;
 Sun, 14 Aug 2022 01:52:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN2nm-0007GP-Hf; Sun, 14 Aug 2022 01:52:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN2nm-00079S-EB; Sun, 14 Aug 2022 01:52:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN2nl-0003cn-Sd; Sun, 14 Aug 2022 01:52:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oN2nl-0004KW-S7; Sun, 14 Aug 2022 01:52:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=J9K9PYTgT9W3Hn5HZ5qLMkbGySXhgU6DwIpkx3lbIEs=; b=hbPCQ76IYJkzPqnFHN7FA2RmnE
	z7N6AgQy1CNrJ0wzKq6YSV66F4ixLaa6x5L8+W19KyrVKLrzZXupTABmhj4XjL0rzhqAcEx/65cd9
	AaH/0LYtOXSfhE89MykzS2E/DD3Bl3rMWZetlvvvnG2qpH87hcNWnOPytQSJJnkE/9As=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172489-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172489: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 01:52:29 +0000

flight 172489 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172489/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z    9 days
Testing same since   172384  2022-08-11 11:13:58 Z    2 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 03:46:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 03:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386512.622486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN4a6-0002Np-IM; Sun, 14 Aug 2022 03:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386512.622486; Sun, 14 Aug 2022 03:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN4a6-0002Ni-Fd; Sun, 14 Aug 2022 03:46:30 +0000
Received: by outflank-mailman (input) for mailman id 386512;
 Sun, 14 Aug 2022 03:46:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN4a5-0002NY-5G; Sun, 14 Aug 2022 03:46:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN4a5-00018z-1m; Sun, 14 Aug 2022 03:46:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN4a4-0000W0-Rg; Sun, 14 Aug 2022 03:46:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oN4a4-00007J-RD; Sun, 14 Aug 2022 03:46:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UTk5LGLmuQ6rP8YodcezireCvIkgg6rYsPh1m+OYfdM=; b=nMRBUXSy+Ws6Ks2IUeYvPwgGFm
	a6BkE6nCJmJ6reSX/jiFK080l4m27bfH/30o3b0tOHjyYkuN7Gv3vQSIGl2UjZ5FryH7ODwEx81xr
	oAGmEw2NFH9S9tJA7KQle0qge9YzmoIHqP/pWH6tDGEhEFUHi9gvlb7Rj7pi7I+DVGQ0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172501-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172501: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 03:46:28 +0000

flight 172501 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172501/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z    9 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   85 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    1 days   17 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 04:24:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 04:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386523.622497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN5B6-0006mT-Fs; Sun, 14 Aug 2022 04:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386523.622497; Sun, 14 Aug 2022 04:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN5B6-0006mM-DA; Sun, 14 Aug 2022 04:24:44 +0000
Received: by outflank-mailman (input) for mailman id 386523;
 Sun, 14 Aug 2022 04:24:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN5B5-0006mC-Fl; Sun, 14 Aug 2022 04:24:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN5B5-0001yb-Dp; Sun, 14 Aug 2022 04:24:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN5B5-0003fi-0M; Sun, 14 Aug 2022 04:24:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oN5B4-00035r-W8; Sun, 14 Aug 2022 04:24:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=N6r9msbvmo0VBEebz5Pafk8YZ4u1t9DwJy74xcKQw34=; b=G/LS1GIRAUjn1NJeStFloSWlKL
	TScHRKAG60+6FZbZhNDyMcwLy+xI4vLFpDs2JqiwWcHs76++vQHtfDxENI2vjVONxNl/CsiNk+7z7
	4Da74W9ORzgPuBPI87TgWTXKdyPWGVi3fHi3Ag4kPxkQ6WV5JT+tCj0cCw/5dQoEpks0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172495-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172495: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start.2:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=93f3dd604825824a7239aaf704baf74730aa3007
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 04:24:42 +0000

flight 172495 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172495/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail in 172459 pass in 172495
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172459 pass in 172495
 test-amd64-i386-xl-vhd       22 guest-start.2              fail pass in 172459

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                93f3dd604825824a7239aaf704baf74730aa3007
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   10 days
Failing since        172148  2022-08-04 21:39:38 Z    9 days   24 attempts
Testing same since   172459  2022-08-13 00:08:42 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1488 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 07:07:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 07:07:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386579.622531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN7ii-0006c9-RX; Sun, 14 Aug 2022 07:07:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386579.622531; Sun, 14 Aug 2022 07:07:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN7ii-0006c2-Ol; Sun, 14 Aug 2022 07:07:36 +0000
Received: by outflank-mailman (input) for mailman id 386579;
 Sun, 14 Aug 2022 07:07:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN7ih-0006br-85; Sun, 14 Aug 2022 07:07:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN7ih-00055m-57; Sun, 14 Aug 2022 07:07:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN7ig-0007ja-Ll; Sun, 14 Aug 2022 07:07:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oN7ig-00007C-LH; Sun, 14 Aug 2022 07:07:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=isxsl99yhrBzcclobxxQ9ZLnS/23NM/g5X7jh4eQgJM=; b=cH54WONzKen1yFtTyGBB1iUv61
	KRrpQx7E+vUY+JpgEjv9BlfG1SCDz7VSDn9Jx3BJeZfwIncsuSaPAemOPmc/f1psjYhqXpWIl2NsU
	93FXdylRHkUmAq0G43V+LDRXUM8RdOleYVmeRSbe2z0XwHlLRUEP1njCLJXdt4j3xMNg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172498-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172498: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f6eb0fed6a3957c0b93e3a00c1ffaad84d4ffc31
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 07:07:34 +0000

flight 172498 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172498/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                f6eb0fed6a3957c0b93e3a00c1ffaad84d4ffc31
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   10 days
Failing since        172152  2022-08-05 04:01:26 Z    9 days   25 attempts
Testing same since   172498  2022-08-13 22:10:08 Z    0 days    1 attempts

------------------------------------------------------------
1368 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 141599 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 07:25:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 07:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386590.622543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN803-0000bc-GJ; Sun, 14 Aug 2022 07:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386590.622543; Sun, 14 Aug 2022 07:25:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN803-0000bV-Bf; Sun, 14 Aug 2022 07:25:31 +0000
Received: by outflank-mailman (input) for mailman id 386590;
 Sun, 14 Aug 2022 07:25:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN801-0000bL-FX; Sun, 14 Aug 2022 07:25:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN801-0005Pc-Aj; Sun, 14 Aug 2022 07:25:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN800-0000Cd-VV; Sun, 14 Aug 2022 07:25:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oN800-0007Sz-V4; Sun, 14 Aug 2022 07:25:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VYIn6R2UfgjEylfo7QjZfDqE/N9czGFDERv5AYkEDaw=; b=Vcdd5O1uV+NSL3JM4vP23Sr6T3
	GPzjoLnZYV2P/BRiX4BHTgLrVMtP6vNqk4ln7+SD2yL+tVc0onP41f1wrVhacDpo8I/5GzpGiBwJ9
	K+ZQ+E3/MyJ+Jzs79dFHgG4nZwgBKNu1ZpELSsGO2qKrDDCDwsfCbKZCzMcF/l6+mHVc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172505-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172505: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 07:25:28 +0000

flight 172505 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172505/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   86 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   18 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 07:42:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 07:42:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386600.622555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN8Ga-0002wL-TF; Sun, 14 Aug 2022 07:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386600.622555; Sun, 14 Aug 2022 07:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN8Ga-0002wE-P3; Sun, 14 Aug 2022 07:42:36 +0000
Received: by outflank-mailman (input) for mailman id 386600;
 Sun, 14 Aug 2022 07:42:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qRw9=YS=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oN8GZ-0002w8-7O
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 07:42:35 +0000
Received: from sonic316-8.consmr.mail.gq1.yahoo.com
 (sonic316-8.consmr.mail.gq1.yahoo.com [98.137.69.32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a72ea6d1-1ba4-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 09:42:32 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic316.consmr.mail.gq1.yahoo.com with HTTP; Sun, 14 Aug 2022 07:42:30 +0000
Received: by hermes--production-ne1-6649c47445-tp7sw (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID d22bc789d6c8fbcdb1065c6baabbfe20; 
 Sun, 14 Aug 2022 07:42:24 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a72ea6d1-1ba4-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660462950; bh=8KLSx83P40LmS693s/Onl3yKyZEW86eCxHNLSUmvq+Q=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=F4LxfdGGvqqhb2tyqcdgsZO95KDy0YEYJRplu1+36jx7Gczr7q9eHTXPD33gBL3s6v83awy5sp2NeSjHusDNNV3dri183vH8Pwnsm//I4mcb+Pmp9dYGAyHR2hEHvR72iaa2+7a3hZ370wdEhKrpU87yf5rfpqsvoWK/J0B6UmzzaBuAF/pdelYgFMmq9d3w818JVLf1FnrN73B+fsKCCWiRXWMd/VY3TcnGUiq71noLUt1vxvi7RLPreuZywdVTb+TW+rUJI7dNVco+Hw063AIvPvFK5e27EODz6hPzY40c25BXSSff4TZfSYXM+q1Rt248abUJZBUlo5rutnaKPg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660462950; bh=Y9kpONcRYDFhgrlS+qagnlOXvpi15V7X/Y/y5emlzac=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=R9RhDD4tVvXB6mM/UxSTKqyGFwtVTpMIY9RI7npSMS4lZRU/O+9JPyZYupQ4ZnbcgR5HlW5pzkaX9RVuI/qwu1sFhaLssiPm3cIAhkrsAha/Pd3VvjHXc1l/b1uSz4Dx5jsQTvtPEIbMfiFzawxA9KykSSGbjDyUa3vRYtdPG316OXNsbob1+l1D/Y1LwiZWUar3UiUb6kQuOcvlLHOLhmIEJpPni8R+a9leJ2m9afK7VjuU6ufZsrziGRjAE7R84LL+xiRSe5YteDMcfY3RlcaHlYY59BNLS+wR/8LnG+a4FkHekvMpWWGOJ+1HpjiifYP+MNHZujecOaI6KwGR9A==
X-YMail-OSG: cQUlzkYVM1nRx0T1KwK9GJBuhFcn1E1zkgLQjlveO2mpKXSEENomTcpm5FZ8pt5
 fD9VeYLJDWybc4zq2QQeMqUg51OlJez_U4TCos4xJPAsn0pqL.em5sgZh_Vcj7K2SP9pYbAvoy3z
 GsHMQCNHk0iHEheYqsTqZj4OcqbYuDIF2IDMR2va7CTtMicLhgNd.bFEl9aPXPlNuNJU.2qAMTs2
 n76SMG_U6Z3P2arh2WunSZFMXoJMYm2BScjOG_P2Fa_D3U3513awHdmgnyvU66gjE2vbHaQ0UgCy
 VFQaL7w8BqDKtCKDi8Y6lMUtJksCWHUi.H1v79JoQ7B_Di3MWLEFzWH51xq0_va7e16pJ.w1Jshb
 CjzoLm8.GWaO7zI0j8EPuEc06OFtgNng5mK4WVAcJ6YKQ8EBBHt56DVjsnukgNnLqu0ZRZlAbRA9
 bmDzg4R1EpN.fSsZyeeVF7ybitBWZ9c5L8FkC2k8nMAYZjWdcCJ6zFbPYUuZVKOLHtG6ud4GpG0X
 gogGjYZSll.fHaU_8s_rE5LpkxH1o95mK_LLM_dPyuRN.4cuxabEKlILz83_jBQj_j1p9i.KXQ8k
 H2sGXlC4f5sRJY21eiNyIOgbcgzCRAhTwP2phd2udkPmgSdilPtUDTrHUvL9oertnCjHocZE_PPM
 eKh.hM0pWYrghSp2cV1sEBLlpJpENGdksmMCOwV0wQ7wik3YHGbZV8bGYhBvosQdNUzGkob7tIfJ
 Hu3Ool7KLBYiK3NQAbQE2M_uBSQ4pQXRbo3lQ.itR5OMt1VUyQgaBHjmu0ktgHLdFoSNH9Ivlcbs
 2Yla68ske2JQpErV1G8dAaQgKCFeGthm1UtsSQ8hOIO7XF_vputVN7woTp2Jh8m3Afbc_B0QqIha
 xMCmpC1BaxG6Zi9tHxMMTpTK3z39HwqhjBisEInsIXzdm21KzkImNFvHhKCQ3OYvvstrlZ3OsZdV
 UBARtaTlIfA4XbMj7jxv038r1GreAa9Lr93rQBGaTLJSVdPMp9XN6DgPDaVqRodDSpWI3C_tyZlQ
 tFdBODVH98q7MuUNEXsRuoAV.qh77Jik60NM34UebRAHCBxm6CZAr.qd82k9FKZC7hf48zuy2y5g
 ELjrDEPU8z2Y2SSKgIPSQnFMrVqEhkhGCFR5A0NQzqqFEOfcyD6FMfzmG8VDVuA5gHfTyMKP50K.
 .g18BOQYbvCYsaR_rs1RaVaIurqnYohMUiA9IBNx61m7dONnhu8UTK538OttIM77v4o6lXJ_gY4Y
 zzLWaWNh3Bui78YPsuQFb314.XiKC8r5RxDIQjzIQPnmYBrTX92cdlJowulSa9HEc1MW6BFWqOm5
 pCwjcBZlZjbfO.iJTbcJtMKuMSK.eDQvuePGnxP_pJcpEdsf7aMxhjYzxe26wq5oMunHZ3W3PU6Q
 ZtyRG4iD8Jv761bkCfIm4ErNxDKT2y5hSBmOk0P5Y2vaxpH1QKpiLNUA0OpTM9gqOHxeSQsuAMct
 9ZGFL6BOYMBG8d3De98juBHwpGYoOQTzUvopRVBxl7dzweHzQrhNzQ5nc00ZukEWaeYcJ.5O95Yy
 n1BREUmelVEAJyZBdWAsyLaaB_F5ID.0uP2wzJHU3lLzbtzfHmwKyoOxrhJXVHpXCkgrv_fQRkJc
 C27ubKSU0tpL1ZuiOQRsgilwAZUkuCZ7YClTxfJzfT.oXSFXWS29ID.ZWchzvvyDxI66SzvXwKm0
 HHkO7SGKJr9pfnH2oVVja7Zf5HWhwDPOtDpsCiEnFuaJZv3MfColVaJC5.WT4kbYIZz5UQ1pJ8NG
 ul5SbYL9xups732zCuKxNZGYrBarGQS_HLuyKQ2KBh_vraBv4B7eD2t3B0uIWh7RZX1rSO0kapOD
 n_m5pnQ82p7SoBjxbWI5vU1JGCe4Mx00FfwhOtmWMg3s7ygyG.6Jrooe6jQRIxcZkYEHkfmMPra2
 qluIlqrzN9IFrWmZDENcAH5R2v6Zw9qurHO2eK4UfPnHKsw8lNvqwQOYpENMLwhbTkSrFmENwj8f
 bdwfpuDiMDI5SHAu7U8vk.4280IPmZwKhCrfbNxoR3dtKM3csdCW7vcujyGuDC7RnUqcNggNf3.z
 nNIvZDShfioK87v.dt.skuV0xwbeTzTccUVRKB_wh_T1APLBc1vYgrr3i0lfX_k1GuDrO8ylSQ2N
 yUo4AMivomcwnUjoOwF_rdyQabIDj7k6Lb.rN9ZwlhNxu4fR2PPqIcy3VdjSsVYPOLaxxKdu1Muq
 UCMp6ZgrJWu0bW4eFECw5PgO53zRTD3O3RZ5YtwOqqf_d_BMPq6eNm4aiUF47btO8
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
Date: Sun, 14 Aug 2022 03:42:20 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
From: Chuck Zmudzinski <brchuckz@netscape.net>
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
Content-Language: en-US
In-Reply-To: <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 5818

On 8/13/2022 12:56 PM, Chuck Zmudzinski wrote:
> On 7/17/22 3:55 AM, Thorsten Leemhuis wrote:
> > Hi Juergen!
> >
> > On 15.07.22 16:25, Juergen Gross wrote: ...
>
> Hi Thorsten,
>
> This appears stalled again and we are now over three months
> from the first report of the regression, The only excuse for
> ignoring your comments, and other comments on the patches
> in this patch series for this long a time is that the patch series
> for some reason cannot be considered a true regression. If this is a
> regression, then, IMHO, this needs to have a higher priority by the
> maintainers, or the maintainers need to explain why this regression
> cannot be fixed in a more timely manner. But continued silence
> by the maintainers is unacceptable, IMHO. This is especially true
> in this case when multiple fixes for the regression have been
> identified and the maintainers have not yet clearly explained why
> at least a fix, even if temporary, cannot be applied immediately
> while we wait for a more comprehensive fix.
>
> At the very least, I would expect Juergen to reply here and say that
> he is delayed but does plan to spin up an updated version and include
> the necessary links in the new version to facilitate your tracking of
> the regression. Why the silence from Juergen here?

This is a fairly long message but I think what I need to say
here is important for the future success of Linux and open
source software, so here goes....

Update: I accept Boris Petkov's response to me yesterday as reasonable
and acceptable if within two weeks he at least explains on the public
mailing lists how he and Juergen have privately agreed to fix this regression
"soon" if he does not actually fix the regression by then with a commit,
patch set, or merge. The two-week time frame is from here:

https://www.kernel.org/doc/html/latest/process/handling-regressions.html

where developers and maintainers are exhorted as follows: "Try to fix
regressions quickly once the culprit has been identified; fixes for most
regressions should be merged within two weeks, but some need to be
resolved within two or three days."

I also think there is a private agreement between Juergen and Boris to
fix this regression because AFAICT there is no evidence in the public
mailing lists that such an agreement has been reached, yet Boris yesterday
told me on the public mailing lists in this thread to be "patient" and that
"we will fix this soon." Unless I am missing something, and I hope I am,
the only way that a fix could be coming "soon" would be to presume
that Juergen and Boris have agreed to a fix for the regression in private.

However, AFAICT, keeping their solution private would be a violation of
netiquette as described here:

https://people.kernel.org/tglx/notes-about-netiquette

where a whole section is devoted to the importance of keeping the
discussion of changes to the kernel in public, with private discussions
being a violation of the netiquette that governs the discussions that
take place between persons interested in the Linux kernel project and
other open source projects.

Yet, in one of his messages to me yesterday, Boris appended the link
to the netiquette rules, thus implicitly accusing me of violating the
netiquette rules when in fact he is the one who at least seems to be
violating the rule forbidding private discussions of changes to the
kernel once a patch set is already up for discussion on the public
mailing lists.

Of course Boris can exonerate himself completely if within two
weeks he at least explains on the public mailing lists how he and
Juergen have agreed to fix the regression. I sincerely hope he at
least does that within the next two weeks, or even better, that he
exonerates himself by actually committing the official fix for the
regression within the next two weeks.

However, I will only believe it when I see it. When it comes to the
Linux kernel, I go by what I seeÂ  in the performance of the Linux
kernel in my computing environments, what I see on the public
mailing lists and in the official documentation, and by what I
see in the source code itself. I do not go by blind faith in any
single developer. I am not religious when it comes to the Linux
kernel. Instead, I am scientific and practical about it.

Finally, please forgive me also if I am mistaken in my assumption
that these rules of netiquette apply no less to the developers and
maintainers of the Linux kernel than to others who wish to offer
their contributions to the development of the Linux kernel. If the
rules of netiquette do not apply to the developers and maintainers,
of the kernel, then, IMHO, the great advantage of open source
software development is totally lost, because the advantage of the
open source software development model depends at least as
much on free and open access to the discussions about the
source code conducted by the developers and maintainers as it
does on the freedom to have access to the source code itself.
If someone here tells me that those rules of netiquette need
not be followed by the developers and maintainers I certainly
hope someone else will come to the defense of those same
wise rules that have allowed such a successful open source
software ecosystem to flourish and thrive around this project,
the Linux kernel.

IMHO, the day someone make the decision to stop enforcing these
wise rules is the day that the open source development model will
begin to lose its advantage over proprietary software development
models. And perhaps the most important rule of all for the continued
success of Linux and open source software development is the Linus
regression rule, with the rule that discussions about changes
to the source code must be done in public being a close second in
importance to the Linus regression rule.

Best Regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 08:09:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 08:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386613.622565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN8g0-0005xr-CI; Sun, 14 Aug 2022 08:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386613.622565; Sun, 14 Aug 2022 08:08:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN8g0-0005xk-8d; Sun, 14 Aug 2022 08:08:52 +0000
Received: by outflank-mailman (input) for mailman id 386613;
 Sun, 14 Aug 2022 08:08:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AepH=YS=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oN8fz-0005xd-6P
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 08:08:51 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 535dc27e-1ba8-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 10:08:48 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2C3551F936;
 Sun, 14 Aug 2022 08:08:48 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 97B4513754;
 Sun, 14 Aug 2022 08:08:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HiyKI4+t+GLULwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 14 Aug 2022 08:08:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 535dc27e-1ba8-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660464528; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=KRzV4ig7EK+1L8wTuiL20CPWwFEOF4VmNbkE1XFK75c=;
	b=aE7TgSsthSy5gPijSuCR0ilqEFz4Hz+gj3cF606H94WJkb6MWzaxjyIiafT/5383G22qIV
	Q0Zw29eDcjaxtaWVh3qQocEjOc341728N9qfW8DmGCv69oSpHA8594gaCIPi5MMh6fJFZj
	Bm0WTuEwC1v5X6znmormF+xPNyGwfQw=
Message-ID: <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
Date: Sun, 14 Aug 2022 10:08:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Chuck Zmudzinski <brchuckz@netscape.net>,
 Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
In-Reply-To: <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------b65gjEspzMDwS5OlTrjvWA1i"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------b65gjEspzMDwS5OlTrjvWA1i
Content-Type: multipart/mixed; boundary="------------o4Xr3ZvfBsIM8AotFyz0L5Dl";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Chuck Zmudzinski <brchuckz@netscape.net>,
 Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Message-ID: <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
In-Reply-To: <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>

--------------o4Xr3ZvfBsIM8AotFyz0L5Dl
Content-Type: multipart/mixed; boundary="------------xWoWbx6Tg6KmC2ytD0eUvvQd"

--------------xWoWbx6Tg6KmC2ytD0eUvvQd
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMDguMjIgMDk6NDIsIENodWNrIFptdWR6aW5za2kgd3JvdGU6DQo+IE9uIDgvMTMv
MjAyMiAxMjo1NiBQTSwgQ2h1Y2sgWm11ZHppbnNraSB3cm90ZToNCj4+IE9uIDcvMTcvMjIg
Mzo1NSBBTSwgVGhvcnN0ZW4gTGVlbWh1aXMgd3JvdGU6DQo+Pj4gSGkgSnVlcmdlbiENCj4+
Pg0KPj4+IE9uIDE1LjA3LjIyIDE2OjI1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOiAuLi4NCj4+
DQo+PiBIaSBUaG9yc3RlbiwNCj4+DQo+PiBUaGlzIGFwcGVhcnMgc3RhbGxlZCBhZ2FpbiBh
bmQgd2UgYXJlIG5vdyBvdmVyIHRocmVlIG1vbnRocw0KPj4gZnJvbSB0aGUgZmlyc3QgcmVw
b3J0IG9mIHRoZSByZWdyZXNzaW9uLCBUaGUgb25seSBleGN1c2UgZm9yDQo+PiBpZ25vcmlu
ZyB5b3VyIGNvbW1lbnRzLCBhbmQgb3RoZXIgY29tbWVudHMgb24gdGhlIHBhdGNoZXMNCj4+
IGluIHRoaXMgcGF0Y2ggc2VyaWVzIGZvciB0aGlzIGxvbmcgYSB0aW1lIGlzIHRoYXQgdGhl
IHBhdGNoIHNlcmllcw0KPj4gZm9yIHNvbWUgcmVhc29uIGNhbm5vdCBiZSBjb25zaWRlcmVk
IGEgdHJ1ZSByZWdyZXNzaW9uLiBJZiB0aGlzIGlzIGENCj4+IHJlZ3Jlc3Npb24sIHRoZW4s
IElNSE8sIHRoaXMgbmVlZHMgdG8gaGF2ZSBhIGhpZ2hlciBwcmlvcml0eSBieSB0aGUNCj4+
IG1haW50YWluZXJzLCBvciB0aGUgbWFpbnRhaW5lcnMgbmVlZCB0byBleHBsYWluIHdoeSB0
aGlzIHJlZ3Jlc3Npb24NCj4+IGNhbm5vdCBiZSBmaXhlZCBpbiBhIG1vcmUgdGltZWx5IG1h
bm5lci4gQnV0IGNvbnRpbnVlZCBzaWxlbmNlDQo+PiBieSB0aGUgbWFpbnRhaW5lcnMgaXMg
dW5hY2NlcHRhYmxlLCBJTUhPLiBUaGlzIGlzIGVzcGVjaWFsbHkgdHJ1ZQ0KPj4gaW4gdGhp
cyBjYXNlIHdoZW4gbXVsdGlwbGUgZml4ZXMgZm9yIHRoZSByZWdyZXNzaW9uIGhhdmUgYmVl
bg0KPj4gaWRlbnRpZmllZCBhbmQgdGhlIG1haW50YWluZXJzIGhhdmUgbm90IHlldCBjbGVh
cmx5IGV4cGxhaW5lZCB3aHkNCj4+IGF0IGxlYXN0IGEgZml4LCBldmVuIGlmIHRlbXBvcmFy
eSwgY2Fubm90IGJlIGFwcGxpZWQgaW1tZWRpYXRlbHkNCj4+IHdoaWxlIHdlIHdhaXQgZm9y
IGEgbW9yZSBjb21wcmVoZW5zaXZlIGZpeC4NCj4+DQo+PiBBdCB0aGUgdmVyeSBsZWFzdCwg
SSB3b3VsZCBleHBlY3QgSnVlcmdlbiB0byByZXBseSBoZXJlIGFuZCBzYXkgdGhhdA0KPj4g
aGUgaXMgZGVsYXllZCBidXQgZG9lcyBwbGFuIHRvIHNwaW4gdXAgYW4gdXBkYXRlZCB2ZXJz
aW9uIGFuZCBpbmNsdWRlDQo+PiB0aGUgbmVjZXNzYXJ5IGxpbmtzIGluIHRoZSBuZXcgdmVy
c2lvbiB0byBmYWNpbGl0YXRlIHlvdXIgdHJhY2tpbmcgb2YNCj4+IHRoZSByZWdyZXNzaW9u
LiBXaHkgdGhlIHNpbGVuY2UgZnJvbSBKdWVyZ2VuIGhlcmU/DQo+IA0KPiBUaGlzIGlzIGEg
ZmFpcmx5IGxvbmcgbWVzc2FnZSBidXQgSSB0aGluayB3aGF0IEkgbmVlZCB0byBzYXkNCj4g
aGVyZSBpcyBpbXBvcnRhbnQgZm9yIHRoZSBmdXR1cmUgc3VjY2VzcyBvZiBMaW51eCBhbmQg
b3Blbg0KPiBzb3VyY2Ugc29mdHdhcmUsIHNvIGhlcmUgZ29lcy4uLi4NCj4gDQo+IFVwZGF0
ZTogSSBhY2NlcHQgQm9yaXMgUGV0a292J3MgcmVzcG9uc2UgdG8gbWUgeWVzdGVyZGF5IGFz
IHJlYXNvbmFibGUNCj4gYW5kIGFjY2VwdGFibGUgaWYgd2l0aGluIHR3byB3ZWVrcyBoZSBh
dCBsZWFzdCBleHBsYWlucyBvbiB0aGUgcHVibGljDQo+IG1haWxpbmcgbGlzdHMgaG93IGhl
IGFuZCBKdWVyZ2VuIGhhdmUgcHJpdmF0ZWx5IGFncmVlZCB0byBmaXggdGhpcyByZWdyZXNz
aW9uDQo+ICJzb29uIiBpZiBoZSBkb2VzIG5vdCBhY3R1YWxseSBmaXggdGhlIHJlZ3Jlc3Np
b24gYnkgdGhlbiB3aXRoIGEgY29tbWl0LA0KPiBwYXRjaCBzZXQsIG9yIG1lcmdlLiBUaGUg
dHdvLXdlZWsgdGltZSBmcmFtZSBpcyBmcm9tIGhlcmU6DQo+IA0KPiBodHRwczovL3d3dy5r
ZXJuZWwub3JnL2RvYy9odG1sL2xhdGVzdC9wcm9jZXNzL2hhbmRsaW5nLXJlZ3Jlc3Npb25z
Lmh0bWwNCj4gDQo+IHdoZXJlIGRldmVsb3BlcnMgYW5kIG1haW50YWluZXJzIGFyZSBleGhv
cnRlZCBhcyBmb2xsb3dzOiAiVHJ5IHRvIGZpeA0KPiByZWdyZXNzaW9ucyBxdWlja2x5IG9u
Y2UgdGhlIGN1bHByaXQgaGFzIGJlZW4gaWRlbnRpZmllZDsgZml4ZXMgZm9yIG1vc3QNCj4g
cmVncmVzc2lvbnMgc2hvdWxkIGJlIG1lcmdlZCB3aXRoaW4gdHdvIHdlZWtzLCBidXQgc29t
ZSBuZWVkIHRvIGJlDQo+IHJlc29sdmVkIHdpdGhpbiB0d28gb3IgdGhyZWUgZGF5cy4iDQoN
CkFuZCBzb21lIG1vcmUgY2l0YXRpb25zIGZyb20gdGhlIHNhbWUgZG9jdW1lbnQ6DQoNCiJQ
cmlvcml0aXplIHdvcmsgb24gaGFuZGxpbmcgcmVncmVzc2lvbiByZXBvcnRzIGFuZCBmaXhp
bmcgcmVncmVzc2lvbiBvdmVyIGFsbA0Kb3RoZXIgTGludXgga2VybmVsIHdvcmssIHVubGVz
cyB0aGUgbGF0dGVyIGNvbmNlcm5zIGFjdXRlIHNlY3VyaXR5IGlzc3VlcyBvcg0KYnVncyBj
YXVzaW5nIGRhdGEgbG9zcyBvciBkYW1hZ2UuIg0KDQpGaXJzdCB0aGluZyB0byBub3RlIGhl
cmU6ICJvdmVyIGFsbCBMaW51eCBrZXJuZWwgd29yayIuIEknIG5vdCBvbmx5IHdvcmtpbmcN
Cm9uIHRoZSBrZXJuZWwsIGJ1dCBJIGhhdmUgb3RoZXIgcmVzcG9uc2liaWxpdGllcyBlLmcu
IGluIHRoZSBYZW4gY29tbXVuaXR5LA0Kd2hlcmUgSSB3YXMgc2VuZGluZyBwYXRjaGVzIGZv
ciBmaXhpbmcgYSByZWdyZXNzaW9uIGFuZCB3aGVyZSBJJ20gcXVpdGUgYnVzeQ0KZG9pbmcg
c2VjdXJpdHkgcmVsYXRlZCB3b3JrLiBBcGFydCBmcm9tIHRoYXQgSSdtIG9mIGNvdXJzZSBy
ZXNwb25zaWJsZSB0bw0KaGFuZGxlIFNVU0UgY3VzdG9tZXJzJyBidWcgcmVwb3J0cyBhdCBh
IHJhdGhlciBoaWdoIHByaW9yaXR5LiBTbyBwbGVhc2Ugc3RvcA0KYWNjdXNpbmcgbWUgdG8g
aWdub3JlIHRoZSByZXNwb25zZXMgdG8gdGhlc2UgcGF0Y2hlcy4gVGhpcyBpcyBqdXN0IG5v
dCByZWFsbHkNCm1vdGl2YXRpbmcgbWUgdG8gY29udGludWUgaW50ZXJhY3Rpbmcgd2l0aCB5
b3UuDQoNCiJBbHdheXMgY29uc2lkZXIgcmV2ZXJ0aW5nIHRoZSBjdWxwcml0IGNvbW1pdHMg
YW5kIHJlYXBwbHlpbmcgdGhlbSBsYXRlcg0KdG9nZXRoZXIgd2l0aCBuZWNlc3NhcnkgZml4
ZXMsIGFzIHRoaXMgbWlnaHQgYmUgdGhlIGxlYXN0IGRhbmdlcm91cyBhbmQgcXVpY2tlc3QN
CndheSB0byBmaXggYSByZWdyZXNzaW9uLiINCg0KSSBkaWRuJ3QgaW50cm9kdWNlIHRoZSBy
ZWdyZXNzaW9uLCBub3Igd2FzIGl0IGludHJvZHVjZWQgaW4gbXkgYXJlYSBvZg0KbWFpbnRh
aW5lcnNoaXAuIEl0IGp1c3QgaGFwcGVuZWQgdG8gaGl0IFhlbi4gU28gSSBzdGVwcGVkIHVw
IGFmdGVyIEphbidzIHBhdGNoZXMNCndlcmUgbm90IGRlZW1lZCB0byBiZSB0aGUgd2F5IHRv
IGdvLCBhbmQgSSB3cm90ZSB0aGUgcGF0Y2hlcyBpbiBzcGl0ZSBvZiBtZQ0KaGF2aW5nIG90
aGVyIHVyZ2VudCB3b3JrIHRvIGRvLiBJbiBjYXNlIHlvdSBhcmUgZmVlbGluZyBzbyBzdHJv
bmcgYWJvdXQgdGhlIGZpeA0Kb2YgdGhlIHJlZ3Jlc3Npb24sIHdoeSBkb24ndCB5b3UgYXNr
IGZvciB0aGUgcGF0Y2ggaW50cm9kdWNpbmcgaXQgdG8gYmUgcmV2ZXJ0ZWQNCmluc3RlYWQ/
IEFjY3VzaW5nIG1lIGFuZCBCb3JpcyBpcyBub3QgYWNjZXB0YWJsZSBhdCBhbGwhDQoNCj4g
SSBhbHNvIHRoaW5rIHRoZXJlIGlzIGEgcHJpdmF0ZSBhZ3JlZW1lbnQgYmV0d2VlbiBKdWVy
Z2VuIGFuZCBCb3JpcyB0bw0KPiBmaXggdGhpcyByZWdyZXNzaW9uIGJlY2F1c2UgQUZBSUNU
IHRoZXJlIGlzIG5vIGV2aWRlbmNlIGluIHRoZSBwdWJsaWMNCj4gbWFpbGluZyBsaXN0cyB0
aGF0IHN1Y2ggYW4gYWdyZWVtZW50IGhhcyBiZWVuIHJlYWNoZWQsIHlldCBCb3JpcyB5ZXN0
ZXJkYXkNCj4gdG9sZCBtZSBvbiB0aGUgcHVibGljIG1haWxpbmcgbGlzdHMgaW4gdGhpcyB0
aHJlYWQgdG8gYmUgInBhdGllbnQiIGFuZCB0aGF0DQo+ICJ3ZSB3aWxsIGZpeCB0aGlzIHNv
b24uIiBVbmxlc3MgSSBhbSBtaXNzaW5nIHNvbWV0aGluZywgYW5kIEkgaG9wZSBJIGFtLA0K
PiB0aGUgb25seSB3YXkgdGhhdCBhIGZpeCBjb3VsZCBiZSBjb21pbmcgInNvb24iIHdvdWxk
IGJlIHRvIHByZXN1bWUNCj4gdGhhdCBKdWVyZ2VuIGFuZCBCb3JpcyBoYXZlIGFncmVlZCB0
byBhIGZpeCBmb3IgdGhlIHJlZ3Jlc3Npb24gaW4gcHJpdmF0ZS4NCj4gDQo+IEhvd2V2ZXIs
IEFGQUlDVCwga2VlcGluZyB0aGVpciBzb2x1dGlvbiBwcml2YXRlIHdvdWxkIGJlIGEgdmlv
bGF0aW9uIG9mDQo+IG5ldGlxdWV0dGUgYXMgZGVzY3JpYmVkIGhlcmU6DQo+IA0KPiBodHRw
czovL3Blb3BsZS5rZXJuZWwub3JnL3RnbHgvbm90ZXMtYWJvdXQtbmV0aXF1ZXR0ZQ0KPiAN
Cj4gd2hlcmUgYSB3aG9sZSBzZWN0aW9uIGlzIGRldm90ZWQgdG8gdGhlIGltcG9ydGFuY2Ug
b2Yga2VlcGluZyB0aGUNCj4gZGlzY3Vzc2lvbiBvZiBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwg
aW4gcHVibGljLCB3aXRoIHByaXZhdGUgZGlzY3Vzc2lvbnMNCj4gYmVpbmcgYSB2aW9sYXRp
b24gb2YgdGhlIG5ldGlxdWV0dGUgdGhhdCBnb3Zlcm5zIHRoZSBkaXNjdXNzaW9ucyB0aGF0
DQo+IHRha2UgcGxhY2UgYmV0d2VlbiBwZXJzb25zIGludGVyZXN0ZWQgaW4gdGhlIExpbnV4
IGtlcm5lbCBwcm9qZWN0IGFuZA0KPiBvdGhlciBvcGVuIHNvdXJjZSBwcm9qZWN0cy4NCg0K
QW5vdGhlciB1bmNhbGxlZCBmb3IgYXR0YWNrLg0KDQpBZnRlciBzZW5kaW5nIHRoZSBwYXRj
aGVzIEkganVzdCB0b2xkIEJvcmlzIHZpYSBJUkMgdGhhdCBJIHdvdWxkbid0IHJlYWN0DQp0
byBhbnkgcmVzcG9uc2VzIHNvb24sIGFzIEkgd2FzIGFib3V0IHRvIHN0YXJ0IG15IHZhY2F0
aW9uLiBUaGlzIHdhcyBqdXN0IGENCmhpbnQgZm9yIGhpbSwgYXMgaGUgd2FzIHJhdGhlciBi
dXN5IGF0IHRoYXQgdGltZSBoYW5kbGluZyBrZXJuZWwgc2VjdXJpdHkNCmlzc3Vlcy4NCg0K
SSB3b24ndCBjb21tZW50IG9uIHRoZSByZXN0IG9mIHlvdXIgYWJzb2x1dGUgdW5hY2NlcHRh
YmxlIGFjY3VzYXRpb25zLg0KDQpJIHdpbGwgY29udGludWUgd2l0aCB0aGUgcGF0Y2hlcyBh
cyBzb29uIGFzIEkgZmluZCB0aW1lIHRvIGRvIHNvLg0KDQoNCkp1ZXJnZW4NCg==
--------------xWoWbx6Tg6KmC2ytD0eUvvQd
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------xWoWbx6Tg6KmC2ytD0eUvvQd--

--------------o4Xr3ZvfBsIM8AotFyz0L5Dl--

--------------b65gjEspzMDwS5OlTrjvWA1i
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL4rY8FAwAAAAAACgkQsN6d1ii/Ey9Z
JQf9FBOfp/A4bpRaFYQWcVBwDCqh3H7ca4rz6teu8nJQKx/6NUre0TsqzZOttf4P30oPjKA0qNol
9buUv2g5efOZVujITYiX+RErMxTno2vPiTZgpKITNka1lOKcKMV1gGiTcrHzyBBHYAhxzRY5oSrn
ZJiR3ccs920xJMMNewF5i89wlYgI4LTm977QwArcliCdxY9aOWvAYTVQ2U2W6p6P8061OPL0u2Gw
WkTbDSYAdoue9VIlAxQR3wizhcCrvzt7vvYq04ZHKgHWBuShD+VIn++ENvNwSilMqL+cDEjWZFMN
Uet9EeL3Qzf1AnHSspsvz1I+2od1GVFajeRkyH6f6Q==
=j0hR
-----END PGP SIGNATURE-----

--------------b65gjEspzMDwS5OlTrjvWA1i--


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 08:36:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 08:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386622.622576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN970-0000q4-Li; Sun, 14 Aug 2022 08:36:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386622.622576; Sun, 14 Aug 2022 08:36:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN970-0000px-Iq; Sun, 14 Aug 2022 08:36:46 +0000
Received: by outflank-mailman (input) for mailman id 386622;
 Sun, 14 Aug 2022 08:36:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AepH=YS=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oN96y-0000pr-R7
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 08:36:44 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39517c4f-1bac-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 10:36:43 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6103134485;
 Sun, 14 Aug 2022 08:36:42 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0BB9913AAE;
 Sun, 14 Aug 2022 08:36:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id La0MARq0+GLMNgAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 14 Aug 2022 08:36:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39517c4f-1bac-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660466202; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=BtkuN3DMeDpEGsqws8y1K6SIKbIDDdJvEBSwfSS2EGM=;
	b=IgynDYGcazg+5xEpalEo1VJOYIRBWPNxtwa3itFj3iWjDH78sble5gK+U5RgUHUTt4NdPK
	+0TT0ghpFydJYhMzmU7iuZUEoRZrrrasOhgRbCAf1aU18eFiJb+Wj9WYsz3T3rOFRZPmcq
	wIgNPpqXPZm9zwSQ7cLDbqlAXALgB84=
Message-ID: <63d3b8db-2877-d413-405b-186498e542b6@suse.com>
Date: Sun, 14 Aug 2022 10:36:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v4 0/3] xen-blk{back,front}: Fix two bugs in
 'feature_persistent'
Content-Language: en-US
To: SeongJae Park <sj@kernel.org>, roger.pau@citrix.com
Cc: axboe@kernel.dk, boris.ostrovsky@oracle.com, olekstysh@gmail.com,
 andrii.chepurnyi82@gmail.com, mheyne@amazon.de,
 xen-devel@lists.xenproject.org, linux-block@vger.kernel.org,
 linux-kernel@vger.kernel.org, stable@vger.kernel.org
References: <20220715225108.193398-1-sj@kernel.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220715225108.193398-1-sj@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------jiTB6OM2Ipz0IBM22NaksarS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------jiTB6OM2Ipz0IBM22NaksarS
Content-Type: multipart/mixed; boundary="------------5Cp6QDD4ughbMr9MtVtA2ME0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: SeongJae Park <sj@kernel.org>, roger.pau@citrix.com
Cc: axboe@kernel.dk, boris.ostrovsky@oracle.com, olekstysh@gmail.com,
 andrii.chepurnyi82@gmail.com, mheyne@amazon.de,
 xen-devel@lists.xenproject.org, linux-block@vger.kernel.org,
 linux-kernel@vger.kernel.org, stable@vger.kernel.org
Message-ID: <63d3b8db-2877-d413-405b-186498e542b6@suse.com>
Subject: Re: [PATCH v4 0/3] xen-blk{back,front}: Fix two bugs in
 'feature_persistent'
References: <20220715225108.193398-1-sj@kernel.org>
In-Reply-To: <20220715225108.193398-1-sj@kernel.org>

--------------5Cp6QDD4ughbMr9MtVtA2ME0
Content-Type: multipart/mixed; boundary="------------gqQAum1BpSXYvefTeiVZOgS8"

--------------gqQAum1BpSXYvefTeiVZOgS8
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDcuMjIgMDA6NTEsIFNlb25nSmFlIFBhcmsgd3JvdGU6DQo+IEludHJvZHVjdGlv
biBvZiAnZmVhdHVyZV9wZXJzaXN0ZW50JyBtYWRlIHR3byBidWdzLiAgRmlyc3Qgb25lIGlz
IHdyb25nDQo+IG92ZXJ3cml0ZSBvZiAndmJkLT5mZWF0dXJlX2dudF9wZXJzaXN0ZW50JyBp
biAnYmxrYmFjaycgZHVlIHRvIHdyb25nDQo+IHBhcmFtZXRlciB2YWx1ZSBjYWNoaW5nIHBv
c2l0aW9uLCBhbmQgdGhlIHNlY29uZCBvbmUgaXMgdW5pbnRlbmRlZA0KPiBiZWhhdmlvcmFs
IGNoYW5nZSB0aGF0IGNvdWxkIGJyZWFrIHByZXZpb3VzIGR5bmFtaWMgZnJvbnRlbmQvYmFj
a2VuZA0KPiBwZXJzaXN0ZW50IGZlYXR1cmUgc3VwcG9ydCBjaGFuZ2VzLiAgVGhpcyBwYXRj
aHNldCBmaXhlcyB0aGUgaXNzdWVzLg0KPiANCj4gQ2hhbmdlcyBmcm9tIHYzDQo+IChodHRw
czovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMjAyMjA3MTUxNzU1MjEuMTI2NjQ5LTEt
c2pAa2VybmVsLm9yZy8pDQo+IC0gU3BsaXQgJ2Jsa2JhY2snIHBhdGNoIGZvciBlYWNoIG9m
IHRoZSB0d28gaXNzdWVzDQo+IC0gQWRkICdSZXBvcnRlZC1ieTogQW5kcmlpIENoZXB1cm55
aSA8YW5kcmlpLmNoZXB1cm55aTgyQGdtYWlsLmNvbT4nDQo+IA0KPiBDaGFuZ2VzIGZyb20g
djINCj4gKGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8yMDIyMDcxNDIyNDQx
MC41MTE0Ny0xLXNqQGtlcm5lbC5vcmcvKQ0KPiAtIEtlZXAgdGhlIGJlaGF2aW9yYWwgY2hh
bmdlIG9mIHYxDQo+IC0gVXBkYXRlIGJsa2Zyb250J3MgY291bnRlcnBhcnQgdG8gZm9sbG93
IHRoZSBjaGFuZ2VkIGJlaGF2aW9yDQo+IC0gVXBkYXRlIGRvY3VtZW50cyBmb3IgdGhlIGNo
YW5nZWQgYmVoYXZpb3INCj4gDQo+IENoYW5nZXMgZnJvbSB2MQ0KPiAoaHR0cHM6Ly9sb3Jl
Lmtlcm5lbC5vcmcveGVuLWRldmVsLzIwMjIwMTA2MDkxMDEzLjEyNjA3Ni0xLW1oZXluZUBh
bWF6b24uZGUvKQ0KPiAtIEF2b2lkIHRoZSBiZWhhdmlvcmFsIGNoYW5nZQ0KPiAgICAoaHR0
cHM6Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsLzIwMjIwMTIxMTAyMzA5LjI3ODAyLTEt
c2pAa2VybmVsLm9yZy8pDQo+IC0gUmViYXNlIG9uIGxhdGVzdCB4ZW4vdGlwL2xpbnV4LW5l
eHQNCj4gLSBSZS13b3JrIGJ5IFNlb25nSmFlIFBhcmsgPHNqQGtlcm5lbC5vcmc+DQo+IC0g
Q2Mgc3RhYmxlQA0KPiANCj4gTWF4aW1pbGlhbiBIZXluZSAoMSk6DQo+ICAgIHhlbi1ibGti
YWNrOiBBcHBseSAnZmVhdHVyZV9wZXJzaXN0ZW50JyBwYXJhbWV0ZXIgd2hlbiBjb25uZWN0
DQo+IA0KPiBTZW9uZ0phZSBQYXJrICgyKToNCj4gICAgeGVuLWJsa2JhY2s6IGZpeCBwZXJz
aXN0ZW50IGdyYW50cyBuZWdvdGlhdGlvbg0KPiAgICB4ZW4tYmxrZnJvbnQ6IEFwcGx5ICdm
ZWF0dXJlX3BlcnNpc3RlbnQnIHBhcmFtZXRlciB3aGVuIGNvbm5lY3QNCj4gDQo+ICAgLi4u
L0FCSS90ZXN0aW5nL3N5c2ZzLWRyaXZlci14ZW4tYmxrYmFjayAgICAgIHwgIDIgKy0NCj4g
ICAuLi4vQUJJL3Rlc3Rpbmcvc3lzZnMtZHJpdmVyLXhlbi1ibGtmcm9udCAgICAgfCAgMiAr
LQ0KPiAgIGRyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2sveGVuYnVzLmMgICAgICAgICAgICB8
IDIwICsrKysrKysrLS0tLS0tLS0tLS0NCj4gICBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9u
dC5jICAgICAgICAgICAgICAgICAgfCAgNCArLS0tDQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCAx
MSBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkNCj4gDQoNClNlcmllcyBwdXNoZWQg
dG8geGVuL3RpcC5naXQgZm9yLWxpbnVzLTYuMA0KDQoNCkp1ZXJnZW4NCg==
--------------gqQAum1BpSXYvefTeiVZOgS8
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------gqQAum1BpSXYvefTeiVZOgS8--

--------------5Cp6QDD4ughbMr9MtVtA2ME0--

--------------jiTB6OM2Ipz0IBM22NaksarS
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL4tBkFAwAAAAAACgkQsN6d1ii/Ey+8
dAgAnNX9zMIKXbLr/WMD6B7Mo8kKoybfFhvSfzgduXHj+9/kzhnvaJ5Ysyil8toOm8QD+VmtgOy0
8ep+hv9sBbTtx+ja7WIVfDhPgSDE7VVdJf556XHqXtCkFz0PI10gIR18w0dRhJR/g8kbLXUzWHRQ
ZymNdzLIWbh/qz43FfXnV1xkHEkIjr98tau1EqL0Q26+6DeGECwE5iaWEYu1bGLYHDDLXKgrAm61
lkI+/vJSMMfkg10aOfgLMUM54r7R7tlf/yrAqBt2Iz6c6qOxAG+zv9ZUkU/C5VAsqGJZtYz6sqcy
DHuViBfCHgINRImcH8GTmXxwcaVdy7NP1fjHAV4MnQ==
=XCwS
-----END PGP SIGNATURE-----

--------------jiTB6OM2Ipz0IBM22NaksarS--


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 08:37:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 08:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386628.622586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN97X-0001J3-U3; Sun, 14 Aug 2022 08:37:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386628.622586; Sun, 14 Aug 2022 08:37:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN97X-0001Iu-RY; Sun, 14 Aug 2022 08:37:19 +0000
Received: by outflank-mailman (input) for mailman id 386628;
 Sun, 14 Aug 2022 08:37:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AepH=YS=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oN97X-0001CC-61
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 08:37:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d20974c-1bac-11ed-bd2e-47488cf2e6aa;
 Sun, 14 Aug 2022 10:37:18 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id EF3E234485;
 Sun, 14 Aug 2022 08:37:15 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7063613AAE;
 Sun, 14 Aug 2022 08:37:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id e1MAGTu0+GLrNgAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 14 Aug 2022 08:37:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d20974c-1bac-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660466235; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=COPY/iZmQz2XndCaf2cuzaayLMhChE0e5+Z2alyBwlI=;
	b=RN2RCzUwfOtsRaQG+wxrHD8BtAANyau94kw6iUni5ahKQBRKl1QsPyMv/2stp9z4wtbM5U
	jKguhofp19/bBw8YNcwn4/4i0FL0N9ZfN5aToYwHnUgiKC+VwCYyNx4/kt1dZCfDE5qT1l
	n1kluX3rprfAeiF9F/1ca5Dl7F/3OVM=
Message-ID: <fd2b0509-9110-2061-590a-a58e65f5fe01@suse.com>
Date: Sun, 14 Aug 2022 10:37:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v4] x86/xen: Add support for
 HVMOP_set_evtchn_upcall_vector
Content-Language: en-US
To: Jane Malalane <jane.malalane@citrix.com>,
 LKML <linux-kernel@vger.kernel.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Maximilian Heyne <mheyne@amazon.de>,
 xen-devel@lists.xenproject.org
References: <20220729070416.23306-1-jane.malalane@citrix.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220729070416.23306-1-jane.malalane@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------y4RL8sLfKCJHY6zxWWcHyQUo"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------y4RL8sLfKCJHY6zxWWcHyQUo
Content-Type: multipart/mixed; boundary="------------u4CaT1Zv2JuCuvqaICDVoS01";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jane Malalane <jane.malalane@citrix.com>,
 LKML <linux-kernel@vger.kernel.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Maximilian Heyne <mheyne@amazon.de>,
 xen-devel@lists.xenproject.org
Message-ID: <fd2b0509-9110-2061-590a-a58e65f5fe01@suse.com>
Subject: Re: [PATCH v4] x86/xen: Add support for
 HVMOP_set_evtchn_upcall_vector
References: <20220729070416.23306-1-jane.malalane@citrix.com>
In-Reply-To: <20220729070416.23306-1-jane.malalane@citrix.com>

--------------u4CaT1Zv2JuCuvqaICDVoS01
Content-Type: multipart/mixed; boundary="------------yVZ6gWfJx0WUYm6qypOPzSai"

--------------yVZ6gWfJx0WUYm6qypOPzSai
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjkuMDcuMjIgMDk6MDQsIEphbmUgTWFsYWxhbmUgd3JvdGU6DQo+IEltcGxlbWVudCBz
dXBwb3J0IGZvciB0aGUgSFZNT1Bfc2V0X2V2dGNobl91cGNhbGxfdmVjdG9yIGh5cGVyY2Fs
bCBpbg0KPiBvcmRlciB0byBzZXQgdGhlIHBlci12Q1BVIGV2ZW50IGNoYW5uZWwgdmVjdG9y
IGNhbGxiYWNrIG9uIExpbnV4IGFuZA0KPiB1c2UgaXQgaW4gcHJlZmVyZW5jZSBvZiBIVk1f
UEFSQU1fQ0FMTEJBQ0tfSVJRLg0KPiANCj4gSWYgdGhlIHBlci1WQ1BVIHZlY3RvciBzZXR1
cCBpcyBzdWNjZXNzZnVsIG9uIEJTUCwgdXNlIHRoaXMgbWV0aG9kDQo+IGZvciB0aGUgQVBz
LiBJZiBub3QsIGZhbGxiYWNrIHRvIHRoZSBnbG9iYWwgdmVjdG9yLXR5cGUgY2FsbGJhY2su
DQo+IA0KPiBBbHNvIHJlZ2lzdGVyIGNhbGxiYWNrX2lycSBhdCBwZXItdkNQVSBldmVudCBj
aGFubmVsIHNldHVwIHRvIHRyaWNrDQo+IHRvb2xzdGFjayB0byB0aGluayB0aGUgZG9tYWlu
IGlzIGVubGlnaHRlbmVkLg0KPiANCj4gU3VnZ2VzdGVkLWJ5OiAiUm9nZXIgUGF1IE1vbm7D
qSIgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBKYW5lIE1hbGFs
YW5lIDxqYW5lLm1hbGFsYW5lQGNpdHJpeC5jb20+DQo+IFJldmlld2VkLWJ5OiBCb3JpcyBP
c3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPg0KDQpQdXNoZWQgdG8geGVu
L3RpcC5naXQgZm9yLWxpbnVzLTYuMA0KDQoNCkp1ZXJnZW4NCg==
--------------yVZ6gWfJx0WUYm6qypOPzSai
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------yVZ6gWfJx0WUYm6qypOPzSai--

--------------u4CaT1Zv2JuCuvqaICDVoS01--

--------------y4RL8sLfKCJHY6zxWWcHyQUo
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL4tDsFAwAAAAAACgkQsN6d1ii/Ey8c
7wgAmD3HflxaLI+RyQYyPhRbE9ir9iI4btAOPDg5nQ/lO3EdA37XW3O4RQpfIS+kSmqJT17bvGXV
dJgOaSwpGzvTL8E1jgyhw4XwLF5hu/4fLdOoK59fhASHr0Fni/2D7eEH9FjVaVyo+fVID5vGekvD
X4tXhyKHRFap5ReuOdRvktI80vxlv0fahS+6rRxkSkGSKvuL0IwvZ9Vz6UZZx5J+tyBrLTt0smB3
KAOffYvViedF/ocwO7AHZcsHyjEsz7L8ZmiUitRf8jsdwI8TQXRP3G35MRssdTfvGdeLYr2O4ppK
RKe6lU7S7cAeEP8u4O6xaNIvyO7vPQbQKK4pGi35Uw==
=1ayz
-----END PGP SIGNATURE-----

--------------y4RL8sLfKCJHY6zxWWcHyQUo--


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 08:37:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 08:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386634.622598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN97z-0001pZ-9u; Sun, 14 Aug 2022 08:37:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386634.622598; Sun, 14 Aug 2022 08:37:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN97z-0001pS-54; Sun, 14 Aug 2022 08:37:47 +0000
Received: by outflank-mailman (input) for mailman id 386634;
 Sun, 14 Aug 2022 08:37:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AepH=YS=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oN97y-0000pr-E7
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 08:37:46 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5eb7cc0f-1bac-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 10:37:45 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 71C6B20762;
 Sun, 14 Aug 2022 08:37:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1FB0513AAE;
 Sun, 14 Aug 2022 08:37:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XFdIBlm0+GITNwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 14 Aug 2022 08:37:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5eb7cc0f-1bac-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660466265; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=T2H7wKICSLAGDkgVdBuBlfHhjWQictapAMM3wbw+yG0=;
	b=K8bGc1/zhL8VmddOzRQv3jWayQBma4c03Ohl5ktvs19U2ETdYBAcw1/ylP95gr80jvdch4
	fBqKCOpjCVvOg+49g2notnJm6nxjESyed0d4f/1zTiSR9MeMVMnnNDbS/xrL4Xigdy+WPH
	9M9+b6nlDv/oZfphE5a8JIiJ+FnO5jQ=
Message-ID: <5caf852e-0a46-783f-644d-26975dc5a06e@suse.com>
Date: Sun, 14 Aug 2022 10:37:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/xenbus: fix return type in xenbus_file_read()
Content-Language: en-US
To: Dan Carpenter <dan.carpenter@oracle.com>, Bastian Blank <waldi@debian.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Ian Campbell <ian.campbell@citrix.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
References: <YutxJUaUYRG/VLVc@kili>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YutxJUaUYRG/VLVc@kili>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5thXZJD0dUzCBup90WFpBGJS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5thXZJD0dUzCBup90WFpBGJS
Content-Type: multipart/mixed; boundary="------------flmFDeBxMwLYIZKJCJvXEjI1";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Dan Carpenter <dan.carpenter@oracle.com>, Bastian Blank <waldi@debian.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Ian Campbell <ian.campbell@citrix.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
Message-ID: <5caf852e-0a46-783f-644d-26975dc5a06e@suse.com>
Subject: Re: [PATCH] xen/xenbus: fix return type in xenbus_file_read()
References: <YutxJUaUYRG/VLVc@kili>
In-Reply-To: <YutxJUaUYRG/VLVc@kili>

--------------flmFDeBxMwLYIZKJCJvXEjI1
Content-Type: multipart/mixed; boundary="------------punRGa0vc0s5gAXWO71LlAxP"

--------------punRGa0vc0s5gAXWO71LlAxP
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDQuMDguMjIgMDk6MTEsIERhbiBDYXJwZW50ZXIgd3JvdGU6DQo+IFRoaXMgY29kZSB0
cmllcyB0byBzdG9yZSAtRUZBVUxUIGluIGFuIHVuc2lnbmVkIGludC4gIFRoZQ0KPiB4ZW5i
dXNfZmlsZV9yZWFkKCkgZnVuY3Rpb24gcmV0dXJucyB0eXBlIHNzaXplX3Qgc28gdGhlIG5l
Z2F0aXZlIHZhbHVlDQo+IGlzIHJldHVybmVkIGFzIGEgcG9zaXRpdmUgdmFsdWUgdG8gdGhl
IHVzZXIuDQo+IA0KPiBUaGlzIGNoYW5nZSBmb3JjZXMgYW5vdGhlciBjaGFuZ2UgdG8gdGhl
IG1pbigpIG1hY3JvLiAgT3JpZ2luYWxseSwgdGhlDQo+IG1pbigpIG1hY3JvIHVzZWQgInVu
c2lnbmVkIiB0eXBlIHdoaWNoIGNoZWNrcGF0Y2ggY29tcGxhaW5zIGFib3V0LiAgQWxzbw0K
PiB1bnNpZ25lZCB0eXBlIHdvdWxkIGJyZWFrIGlmICJsZW4iIHdlcmUgbm90IGNhcHBlZCBh
dCBNQVhfUldfQ09VTlQuICBVc2UNCj4gc2l6ZV90IGZvciB0aGUgbWluKCkuICAoTm8gZWZm
ZWN0IG9uIHJ1bnRpbWUgZm9yIHRoZSBtaW5fdCgpIGNoYW5nZSkuDQo+IA0KPiBGaXhlczog
MmZiMzY4M2U3YjE2ICgieGVuOiBBZGQgeGVuYnVzIGRldmljZSBkcml2ZXIiKQ0KPiBTaWdu
ZWQtb2ZmLWJ5OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9yYWNsZS5jb20+DQoN
ClB1c2hlZCB0byB4ZW4vdGlwLmdpdCBmb3ItbGludXMtNi4wDQoNCg0KSnVlcmdlbg0K
--------------punRGa0vc0s5gAXWO71LlAxP
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------punRGa0vc0s5gAXWO71LlAxP--

--------------flmFDeBxMwLYIZKJCJvXEjI1--

--------------5thXZJD0dUzCBup90WFpBGJS
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL4tFgFAwAAAAAACgkQsN6d1ii/Ey9F
iQgAmBN/4ndjK9pQ4PfbKdIFpNtrks97bdVxJVj+LgjZeUg/P58gZSFZav/Yo8vrFI1QQhU4SxCj
WRS/AwE4fS1F19vOjTuS5eGcJKmxsepJK38QmieRyXIqhvReMl8hQGHYhnFRHuLzdS9e/n2qiFoD
AApSkv7B/TNQYaHidJtYPkzNxpdVdsRgF2fwrB0mrCKOjFWJHjco8u5JyPQy1kIAUKnbOV2lmWDJ
ldu6tZpq42/t1pn6eohOq42RV1q7jvXnAkF8SL6H7Th2R9tC7a2m/vDFEBbGPxNNhaWxI/e3L2lm
X450OTV7woKiYnTNVMlqKRBOG5EZL9g1fBvFDcMPAQ==
=Vak9
-----END PGP SIGNATURE-----

--------------5thXZJD0dUzCBup90WFpBGJS--


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 08:38:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 08:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386645.622609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN98R-0002Up-NC; Sun, 14 Aug 2022 08:38:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386645.622609; Sun, 14 Aug 2022 08:38:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN98R-0002Ui-KA; Sun, 14 Aug 2022 08:38:15 +0000
Received: by outflank-mailman (input) for mailman id 386645;
 Sun, 14 Aug 2022 08:38:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AepH=YS=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oN98P-0000pr-OY
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 08:38:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f058a3b-1bac-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 10:38:13 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id CBAC53482E;
 Sun, 14 Aug 2022 08:38:12 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5833713AAE;
 Sun, 14 Aug 2022 08:38:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WwaTE3S0+GIvNwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 14 Aug 2022 08:38:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f058a3b-1bac-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660466292; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=p8fM5+MPNUeGLIT6O7/15uwJLNwTIn6SPpYZGmI3ecg=;
	b=K0rw2WyRrTu1kWAiNMSWSLT/wyrMs1ts0fkWBhv9Al0Np2jUlOyLXugcyswBzjCBEi/KTG
	lFjMLApmx71OcnFaFIYA/XNaZDARW0T65XXeXIrOUB3koJm1cIcYVX3+LspsdaPhOzKlih
	6rKS3MeO39Adk1wG99SPH8VRM5obX3k=
Message-ID: <755f368b-5336-7030-af24-e043bfa30b4d@suse.com>
Date: Sun, 14 Aug 2022 10:38:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 2/4] xen: remove XEN_SCRUB_PAGES in xen.config
Content-Language: en-US
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-3-lukas.bulwahn@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220810050712.9539-3-lukas.bulwahn@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------43uZYYecjvDtuGdHMMiYvkgl"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------43uZYYecjvDtuGdHMMiYvkgl
Content-Type: multipart/mixed; boundary="------------BS0EuEoijxJ8LBVmfywnV6u1";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <755f368b-5336-7030-af24-e043bfa30b4d@suse.com>
Subject: Re: [PATCH 2/4] xen: remove XEN_SCRUB_PAGES in xen.config
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-3-lukas.bulwahn@gmail.com>
In-Reply-To: <20220810050712.9539-3-lukas.bulwahn@gmail.com>

--------------BS0EuEoijxJ8LBVmfywnV6u1
Content-Type: multipart/mixed; boundary="------------Dn80PfvD4wm5ghDchxBMthVr"

--------------Dn80PfvD4wm5ghDchxBMthVr
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTAuMDguMjIgMDc6MDcsIEx1a2FzIEJ1bHdhaG4gd3JvdGU6DQo+IENvbW1pdCAxOTdl
Y2IzODAyYzAgKCJ4ZW4vYmFsbG9vbjogYWRkIHJ1bnRpbWUgY29udHJvbCBmb3Igc2NydWJi
aW5nDQo+IGJhbGxvb25lZCBvdXQgcGFnZXMiKSBjaGFuZ2VkIGNvbmZpZyBYRU5fU0NSVUJf
UEFHRVMgdG8gY29uZmlnDQo+IFhFTl9TQ1JVQl9QQUdFU19ERUZBVUxULiBBcyB4ZW4uY29u
ZmlnIHNldHMgJ1hFTl9CQUxMT09OPXknIGFuZA0KPiBYRU5fU0NSVUJfUEFHRVNfREVGQVVM
VCBkZWZhdWx0cyB0byB5ZXMsIHRoZXJlIGlzIG5vIGZ1cnRoZXIgbmVlZCB0byBzZXQNCj4g
dGhpcyBjb25maWcgaW4gdGhlIHhlbi5jb25maWcgZmlsZS4NCj4gDQo+IFJlbW92ZSBzZXR0
aW5nIFhFTl9TQ1JVQl9QQUdFUyBpbiB4ZW4uY29uZmlnLCB3aGljaCBpcyB3aXRob3V0DQo+
IGVmZmVjdCBzaW5jZSB0aGUgY29tbWl0IGFib3ZlIGFueXdheS4NCj4gDQo+IFNpZ25lZC1v
ZmYtYnk6IEx1a2FzIEJ1bHdhaG4gPGx1a2FzLmJ1bHdhaG5AZ21haWwuY29tPg0KDQpQdXNo
ZWQgdG8geGVuL3RpcC5naXQgZm9yLWxpbnVzLTYuMA0KDQoNCkp1ZXJnZW4NCg==
--------------Dn80PfvD4wm5ghDchxBMthVr
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Dn80PfvD4wm5ghDchxBMthVr--

--------------BS0EuEoijxJ8LBVmfywnV6u1--

--------------43uZYYecjvDtuGdHMMiYvkgl
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL4tHMFAwAAAAAACgkQsN6d1ii/Ey//
Igf/clu5UPmsjzgzDpUxYL4RzDpZwCPGZwEtEPNoo6+XdnHVXClGDirCFpIaatk361rGv7UK9Xdc
gVxd2gJ+n1Q/T0rhwARGFBAwveiu5YXly9oKGkzc/456CyWuVahO0z1yGhVsoEYxH51vOz3o4hAd
oIkOqNKuCo3zcGpceEwszIkaz3xehYjUNto1+g7E+EOEv3BJHYXk2wV+P9+TOJKHLTqQdx49cm+I
jj9+W2S32MwqjSem4uAqZ/jblUkSxGH0hzDwPk33u8bv3KNndM2MNUD7/hkxlSzuxU+P2bBzSGMk
LYmz2AhS46yvrjmM+1+LF2asRxJlC24ndo4gnVcMvQ==
=9Fkt
-----END PGP SIGNATURE-----

--------------43uZYYecjvDtuGdHMMiYvkgl--


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 08:39:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 08:39:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386655.622620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN99b-0003A7-1Z; Sun, 14 Aug 2022 08:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386655.622620; Sun, 14 Aug 2022 08:39:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN99a-0003A0-Tt; Sun, 14 Aug 2022 08:39:26 +0000
Received: by outflank-mailman (input) for mailman id 386655;
 Sun, 14 Aug 2022 08:39:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AepH=YS=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oN98o-0000pr-Qh
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 08:38:38 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dff2009-1bac-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 10:38:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DB927206B5;
 Sun, 14 Aug 2022 08:38:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7292613AAE;
 Sun, 14 Aug 2022 08:38:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ZKhrGo20+GJBNwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 14 Aug 2022 08:38:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dff2009-1bac-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660466317; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=jHqyRhU9ZzXcnhm+qvCNtNIFpg9zUQQnGJAx/V7SMnc=;
	b=mf29xm0Sp7/zBhLZ4rKdwKvbZKqKKRyKQ7PCBtT9DWIeZQu9I6whG4H8r3Qabci0AfP0Nh
	vcOBxKiCYP14+9pRR4q+zC8Y5YgIhodp4rroUf0/Cp1sGEdsMYwYaeXOOYkvZ0kTOVppV8
	7Y51nLeijCl3kU497EPVF1I3nnZlRjk=
Message-ID: <77d23132-2ce4-b0dd-1262-452e13fe1385@suse.com>
Date: Sun, 14 Aug 2022 10:38:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 4/4] MAINTAINERS: add xen config fragments to XEN
 HYPERVISOR sections
Content-Language: en-US
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-5-lukas.bulwahn@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220810050712.9539-5-lukas.bulwahn@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------hQiZNgt0QgRofVP6Q6lskBqy"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------hQiZNgt0QgRofVP6Q6lskBqy
Content-Type: multipart/mixed; boundary="------------ratlqJlYnvTfXXrwzW3VFuhz";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <77d23132-2ce4-b0dd-1262-452e13fe1385@suse.com>
Subject: Re: [PATCH 4/4] MAINTAINERS: add xen config fragments to XEN
 HYPERVISOR sections
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-5-lukas.bulwahn@gmail.com>
In-Reply-To: <20220810050712.9539-5-lukas.bulwahn@gmail.com>

--------------ratlqJlYnvTfXXrwzW3VFuhz
Content-Type: multipart/mixed; boundary="------------CQnc355Rw2ah6ZAwY8IGjnWs"

--------------CQnc355Rw2ah6ZAwY8IGjnWs
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTAuMDguMjIgMDc6MDcsIEx1a2FzIEJ1bHdhaG4gd3JvdGU6DQo+IE1ha2UgY2hhbmdl
cyB0byB0aGUgeGVuIGNvbmZpZyBmcmFnbWVudHMgcmVhY2ggdGhlIFhFTiBIWVBFUlZJU09S
DQo+IG1haW50YWluZXJzIGFuZCBtYWlsaW5nIGxpc3QuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5
OiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhuQGdtYWlsLmNvbT4NCg0KUHVzaGVkIHRv
IHhlbi90aXAuZ2l0IGZvci1saW51cy02LjANCg0KDQpKdWVyZ2VuDQo=
--------------CQnc355Rw2ah6ZAwY8IGjnWs
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------CQnc355Rw2ah6ZAwY8IGjnWs--

--------------ratlqJlYnvTfXXrwzW3VFuhz--

--------------hQiZNgt0QgRofVP6Q6lskBqy
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL4tI0FAwAAAAAACgkQsN6d1ii/Ey/I
pAf/e2WW5gR4fer1swT3nX9F4pNGKy3CDm1x9NONmp+sZRdbXCvJw7xt9h87GtDZTz1QktICTERq
u5nme7e8SkUFGdkJknftKOnkLRLvbgErvDhviX4BgJ65CLs2u+c8lIkJK6HwrLnjUKeaf7BbJN7E
36ZU5twDa9Lbpf5UhWh5anQzmiYOfn44I7Sjf0bzhjP+OKP3BGzooa9tiOGT/SVtbiRxS4nKjFAa
VmwqhJAktEh8VuFqRJYC5hKlkWDW3kPxdAXLaSMen/xOzZk56Zw2oTax9KoZZVRphMfuIGIJaN2q
eAvvVapblkGV4vfWXbGchPsQ4m7hciYBfqdxeJPMfQ==
=js+/
-----END PGP SIGNATURE-----

--------------hQiZNgt0QgRofVP6Q6lskBqy--


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 08:39:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 08:39:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386656.622625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN99b-0003Dc-9m; Sun, 14 Aug 2022 08:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386656.622625; Sun, 14 Aug 2022 08:39:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN99b-0003DH-5u; Sun, 14 Aug 2022 08:39:27 +0000
Received: by outflank-mailman (input) for mailman id 386656;
 Sun, 14 Aug 2022 08:39:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AepH=YS=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oN99B-0000pr-A2
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 08:39:01 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b41d97f-1bac-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 10:39:00 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 33553207C4;
 Sun, 14 Aug 2022 08:39:00 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EE45B13AAE;
 Sun, 14 Aug 2022 08:38:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id nZmdOKO0+GJfNwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 14 Aug 2022 08:38:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b41d97f-1bac-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660466340; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=qBzbzLXtOGncnq/z3oqFXpq5/qj6DfqjuoQxQOYKlBc=;
	b=aCkHozMaJD0Z+z/puNBMYfMQ+oBfWZltq9MI2noljckk1OsopQR4qrKlghyKDAcwIIHowx
	31dga2qDFqOaPASwwlgGQqaGqPaKILAoHON0QdaA7OPVQNXBZwznxLAGLS5iqGhaWs0STJ
	o2slZ2P/kaMYQ2LF3gJeD1lrVk1x/KE=
Message-ID: <f0f4e689-edcf-8e83-8834-f4f9f5b6c958@suse.com>
Date: Sun, 14 Aug 2022 10:38:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/pciback: Fix comment typo
Content-Language: en-US
To: Jason Wang <wangborong@cdjrlc.com>, oleksandr_tyshchenko@epam.com
Cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
References: <20220811120918.17961-1-wangborong@cdjrlc.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220811120918.17961-1-wangborong@cdjrlc.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------KY9NMxrc1K5xHV9Tw20fFlQD"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------KY9NMxrc1K5xHV9Tw20fFlQD
Content-Type: multipart/mixed; boundary="------------Mjd00y3Fgda5L7ku70jresb7";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Wang <wangborong@cdjrlc.com>, oleksandr_tyshchenko@epam.com
Cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
Message-ID: <f0f4e689-edcf-8e83-8834-f4f9f5b6c958@suse.com>
Subject: Re: [PATCH] xen/pciback: Fix comment typo
References: <20220811120918.17961-1-wangborong@cdjrlc.com>
In-Reply-To: <20220811120918.17961-1-wangborong@cdjrlc.com>

--------------Mjd00y3Fgda5L7ku70jresb7
Content-Type: multipart/mixed; boundary="------------xVf50BFAXQG4NSewdX9YOZKm"

--------------xVf50BFAXQG4NSewdX9YOZKm
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTEuMDguMjIgMTQ6MDksIEphc29uIFdhbmcgd3JvdGU6DQo+IFRoZSBkb3VibGUgYHRo
ZScgaXMgZHVwbGljYXRlZCBpbiB0aGUgY29tbWVudCwgcmVtb3ZlIG9uZS4NCj4gDQo+IFNp
Z25lZC1vZmYtYnk6IEphc29uIFdhbmcgPHdhbmdib3JvbmdAY2RqcmxjLmNvbT4NCg0KUHVz
aGVkIHRvIHhlbi90aXAuZ2l0IGZvci1saW51cy02LjANCg0KDQpKdWVyZ2VuDQo=
--------------xVf50BFAXQG4NSewdX9YOZKm
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------xVf50BFAXQG4NSewdX9YOZKm--

--------------Mjd00y3Fgda5L7ku70jresb7--

--------------KY9NMxrc1K5xHV9Tw20fFlQD
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL4tKMFAwAAAAAACgkQsN6d1ii/Ey+D
BAf+IYj/XixMTL0nYWHf+oFmHp6g5p+YHDKNc+mJX0BOU0l326ecrDqO6WhFfwb6AbTZgz4+HZqv
dIunzNoWLM3nQZWjq6P1NEoi8VqvxRjh2Mm8LZIROTjuds4UlGcmCYA1l7bhVSOHwby7qhmjrojx
zxUMO0G9a3aoGATDxuOfb+P7JrkIw48wmOGtxsd6geCRXdX9kAJhwfneue2sdaZ0q86PdH7YQRFc
2R3X+/L71SqcbdP6jROOXDxFpyvQFGpml2NMkWGlGobflNG9WZ0kNVXt0wZq556R4A6h85/uE51c
1C7sw6YJh93rWHGccuSuF1FoFDvxBL9hos1pB76ZEw==
=WoxE
-----END PGP SIGNATURE-----

--------------KY9NMxrc1K5xHV9Tw20fFlQD--


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 09:07:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 09:07:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386671.622642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN9av-00076x-F6; Sun, 14 Aug 2022 09:07:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386671.622642; Sun, 14 Aug 2022 09:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN9av-00076q-CT; Sun, 14 Aug 2022 09:07:41 +0000
Received: by outflank-mailman (input) for mailman id 386671;
 Sun, 14 Aug 2022 09:07:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AepH=YS=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oN9au-00076k-Cc
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 09:07:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8bab2e45-1bb0-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 11:07:39 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8BA264E2C7;
 Sun, 14 Aug 2022 09:07:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6119213AAE;
 Sun, 14 Aug 2022 09:07:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ydY+Flq7+GJ2PgAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 14 Aug 2022 09:07:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bab2e45-1bb0-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660468058; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=/3Itj9Hk+TVagievoSV8p71OSN6sgi+RAOHLldUn2iU=;
	b=Uo/EOJFuGWq+iBJpjLWEyshbgqqhKTVtzIu1csCK3zPWitdkuZClRMx7YwCpXQA9QFVe7n
	CXawCqgEvMYe1wLakKBAulnAYgkGelCplXyHVbG1FZpoRzfKWov8Hm/YueGyQVbXLlwe/P
	hLSClo8XxQIqjKjG9zAdytlctXDCxsM=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: 2nd round of patches for 6.0-rc1
Date: Sun, 14 Aug 2022 11:07:37 +0200
Message-Id: <20220814090737.29335-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc1b-tag

xen: 2nd round of patches for 6.0-rc1

It contains the following patches:

- a series for fixing the handling of the "persistent grants" feature
  negotiation between Xen blkfront and Xen blkback drivers

- a cleanup of xen.config and adding xen.config to Xen section in
  MAINTAINERS

- a patch for supporting HVMOP_set_evtchn_upcall_vector, which is more
  compliant to "normal" interrupt handling than the global callback used
  up to now

- 2 further small cleanups

Thanks.

Juergen

 Documentation/ABI/testing/sysfs-driver-xen-blkback |  2 +-
 .../ABI/testing/sysfs-driver-xen-blkfront          |  2 +-
 MAINTAINERS                                        |  2 +
 arch/x86/include/asm/xen/cpuid.h                   |  2 +
 arch/x86/include/asm/xen/events.h                  |  3 +-
 arch/x86/xen/enlighten.c                           |  2 +-
 arch/x86/xen/enlighten_hvm.c                       | 24 +++++++---
 arch/x86/xen/suspend_hvm.c                         | 10 +++-
 drivers/block/xen-blkback/xenbus.c                 | 20 ++++----
 drivers/block/xen-blkfront.c                       |  4 +-
 drivers/xen/events/events_base.c                   | 53 +++++++++++++++++++---
 drivers/xen/xen-pciback/pciback_ops.c              |  2 +-
 drivers/xen/xenbus/xenbus_dev_frontend.c           |  4 +-
 include/xen/hvm.h                                  |  2 +
 include/xen/interface/hvm/hvm_op.h                 | 19 ++++++++
 kernel/configs/xen.config                          |  1 -
 16 files changed, 116 insertions(+), 36 deletions(-)

Dan Carpenter (1):
      xen/xenbus: fix return type in xenbus_file_read()

Jane Malalane (1):
      x86/xen: Add support for HVMOP_set_evtchn_upcall_vector

Jason Wang (1):
      xen/pciback: Fix comment typo

Lukas Bulwahn (2):
      xen: remove XEN_SCRUB_PAGES in xen.config
      MAINTAINERS: add xen config fragments to XEN HYPERVISOR sections

Maximilian Heyne (1):
      xen-blkback: Apply 'feature_persistent' parameter when connect

SeongJae Park (2):
      xen-blkback: fix persistent grants negotiation
      xen-blkfront: Apply 'feature_persistent' parameter when connect


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 09:19:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 09:19:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386681.622655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN9mI-0000HW-MV; Sun, 14 Aug 2022 09:19:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386681.622655; Sun, 14 Aug 2022 09:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN9mI-0000HP-Jv; Sun, 14 Aug 2022 09:19:26 +0000
Received: by outflank-mailman (input) for mailman id 386681;
 Sun, 14 Aug 2022 09:19:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qRw9=YS=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oN9mG-0000G1-Ju
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 09:19:25 +0000
Received: from sonic312-23.consmr.mail.gq1.yahoo.com
 (sonic312-23.consmr.mail.gq1.yahoo.com [98.137.69.204])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d50d0a4-1bb2-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 11:19:21 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic312.consmr.mail.gq1.yahoo.com with HTTP; Sun, 14 Aug 2022 09:19:18 +0000
Received: by hermes--production-bf1-7586675c46-6jlzf (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 0eb8331defe85a8add7b909f415843bf; 
 Sun, 14 Aug 2022 09:19:16 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d50d0a4-1bb2-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660468758; bh=8iIA02dH3r2aLoyEecV+4evgi7/R5+ofGdB8rtP7gHE=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=JRRO7blCoIV4kPhTsnKnu29A2WNECrGKDiMs0Zde1Ma2SasJqZWNloIO7vSVkNu9CmlOkWVsT77H7b9FeHrMiQLueCqWNfg7qoxO6lgNQZhYIpiNSCjADu9LdgkiA8WD+ZF4A17o40MMqmxHW6U4Y6XQyKbg7BGM7rdUTumg6yBNqzc3rUQgIyTpfl10sJscowyZQAaB3yLT4S70XKjDLXOl0sDE2Dpl7jhHPZ+8h88PZYrpX6WCqWraCQHk2/m2eOwug3mLowtP+6DCdIcmFHbuAv0UcxOSkdCwtbDzOiTa0PkVHHX2wuBMYbRGYKEXeKyyPDrURMRXnx2w1T8/Ng==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660468758; bh=wIaCdc2m0rr0QpUnWym3/C1TvLdrbrAjWN0w5qLpQFG=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=NclwQIYDoAbIzbrgMsWrpgmDKqT9L1RqM0dHJCStmBuyxG4bXdhw5SoN4V0j2pmVKuCH2sJORcNCtvKSudrAKMLK4zIQhRAhqzTFCXy9jq1InOfqTsTMdQl1cxeQ8yaw7O8Tq2uJbkpOkHJmgqvDXSuj7hkrxH28tUe6zXP6yzml3N0+0FcxFcEne92LrtedmHyuZuXV3nLIAdOCYgo6jvgEx2BWxU3CiC1w53QDT6obioANt2ypd+rDz/8wKkzXpYIrH/8d5mUIpwmv4s0vAxd321weag+NZR3b+kmx7hc0gddShub+G+XTmV124z7zRnooEg3lIsdDs7Llp+jDMw==
X-YMail-OSG: rNlUVtYVM1kM3tGTHO68rRkykM6AVI9PYGnwI0Gxgp5H2..AzTR4taMuRnF4Qac
 WbriozOhUKPMcGZWFDOHqUnPBznhPulnduPlIg7jneGTbmQ_WSBhGLwGf_M21RAzIri0hcu78P34
 Zh6H2cpOe2Ku98vTRtQaq744BudSuSGq_Yb7dx.x0mj4bkfJ9jpjP_63qrBZrm20kfjFRePWrk_h
 jDRXWVULwIHfoRZrH7fAKwXZujglImOH4QwcI9TRqfqElx_qpbYs1hGxbtxphfCiso65HIbsw_qK
 oV4tOv7.XBgYVZy8jPhTC92GJ8TRoQZs9yIVU4bWNUTo6lpfgi8bshX4FfSYOACbWHGpoJKa4cxe
 lARHbwFCF_8Y3aMJi7J8j7mETxcgj04d74QSps6CPF8NZxyIarU1GH36nrMxrHHavxyV4sFjheCF
 LlTLdiSFd9Aj7E71rz71j4h0eMGKbY3DSRCf2uhcjQL_g4shcu4HqQ53E.z4SLgiWwE3I9BlcNK5
 NNtShrnYnkwPfSfBGnStZ.__opD3dJ0QeJy3EWFSAngEbhvmAWsZd2iE1TszsTYpnv_u647Ofi0T
 CwCYs5aKouoD7X24ncJDfHnxgxIweImgwj88aMaJmlHDZ_27308Dmqiy4e8kwUVgyrgRaQVKt.ow
 7fi_QfktliIflvgiTwBclyGHkkvb4gZMdoG7QuFWQu0i69DbBwEqR_9UYMzCtgG7G7xhjT7ExibW
 KnVd6qR1TCHQxdUBjsgg8bhh4g5MttTbQVQHKrN9DoPamZzmMo24p5b0Q5mg7ouJmhTe3AH1JlPU
 xuWn2eSK6U7GVQFfI7z.HPkNyfSLwz6mxdYSc2pdtJAK190s7ZLBQ6juH96.7haM17SbSy.MiGhr
 CSwEYWXz11piPJb_VhpQAegr_nkZWSn0_1noxu_cespzvTGIije9TDwdxNXW6GYHSxiqiuClnIqP
 HKp8Krmp_qqp7oEraA8NoF1vw28X38apn_mQHf7J5RuZNxLuG5TvPnlWvpbAopGYLxyD0FPZxvjB
 nJR9LbFbEXJPSWsFgV3Roo9.QvIjOfCCWGOTn5EJ2.DEDAjHYBtPD7yGAqJAxX8aiUrzSSdtMZfP
 BbKpCExvstCRtPlZAO.cxDf0npgErVEcIMd51lmZIKJo7xVa9Doy.tDgEgacycP5YO7vUg6.vtNE
 MHMOV5cM_Hx4I27D9boDF45qsoGjc5MOlAIpBMaZZAvmk9wQd7sXdapIpGYt6uE_0Nrszz4C5gsw
 5nFpg.uIzI6OD5p54bC69ycZUm50PcivLsYTmfRlK3.ioTaWhwTs5mso9iDcxBX8mMD2dH.IjiED
 Hk.MMzvQb8Lc02yCPwMj.26jh74Lf8LDgnfQsw9mCoRc9SZSASBWLtdGY46.H3C8IyNc7qRQCflw
 TB2ceSOJbv.Zu9RXPo5u4vSmB3SI86VqA6cgans5Zd.jTUgBKTzRps1WEt7Okfxda.jO736eQvSU
 l_Q_dkseKsDbCH1I6IIy4gf3yM41AhfR4z04NFzAtXph6cjGxGFb_ipQ.20pzB6n8h2qkjNmEUmy
 AnG4u_QCK60UAE2suFcdlpiYmrXfkRKtgXJOcspe5vJjTwhDPupbPH423lApIGprftUM_YcntJ.Z
 5T2KVOWQ_hb8jjRGlTr6ZjZhHZP.8q8TmLkHdnxRMNvPYmvixgerJn3LiDMHkSBIzPtAdfBWDxuP
 1lpZrOYJDz1b2AG9HnN6ohyflQGFxcagoa3xsq84Mdu4gEFYuKvn28FDLXKvrrYRk2ChT8G73vLB
 qgEIKZ0ErmRXQKgxYvj2mJIp9l.AOIxzmD7SCkpLbFjfR8vT6ekANR3PpKJrHWnVY9MSVQM1Si_v
 o7ZolplfVlLGSPNLLAH1D7WER0j_E9BoHu9r1MSx3T5085elcGwi28NBCWav.5jPl3oK_Etwjqjm
 2DK4nR4xxkyVP8EkvhYi4kCD39B5Bmw1gwI.XwHvWYwShNimVlyyngQcprMqchoJUONpDn8gfZ1e
 CTMRdkeFrGXi7B2nTb.Vl8ipeIDCw4nCC210IBf9G7pOGCQhhqDVncK1ORq4VdyJsU3hcU3Ua.vm
 lW1U6ta7FIpJlQFLG8ObqZOjd6C.BA.fWYW2kScIoHBBpcdhmqawOk7NuAeJ_1ZN3fFdNFgE7EjT
 kcgrW9FcJ8uJ4blgvXEd9GeTAntuSX5oDLwZ6RerPTakCugIkNWuMmZfqvyySRLrfsxE5EzyP4mi
 1Cge_0xm9.aZyhsysAm7Ymo7s5nm9lw--
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <4688ee9b-1b18-3204-cc93-c6ab2ce9222c@netscape.net>
Date: Sun, 14 Aug 2022 05:19:12 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
From: Chuck Zmudzinski <brchuckz@netscape.net>
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
Content-Language: en-US
In-Reply-To: <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 7522

On 8/14/2022 3:42 AM, Chuck Zmudzinski wrote:
> On 8/13/2022 12:56 PM, Chuck Zmudzinski wrote:
> > On 7/17/22 3:55 AM, Thorsten Leemhuis wrote:
> > > Hi Juergen!
> > >
> > > On 15.07.22 16:25, Juergen Gross wrote: ...
> >
> > Hi Thorsten,
> >
> > This appears stalled again and we are now over three months
> > from the first report of the regression, The only excuse for
> > ignoring your comments, and other comments on the patches
> > in this patch series for this long a time is that the patch series
> > for some reason cannot be considered a true regression. If this is a
> > regression, then, IMHO, this needs to have a higher priority by the
> > maintainers, or the maintainers need to explain why this regression
> > cannot be fixed in a more timely manner. But continued silence
> > by the maintainers is unacceptable, IMHO. This is especially true
> > in this case when multiple fixes for the regression have been
> > identified and the maintainers have not yet clearly explained why
> > at least a fix, even if temporary, cannot be applied immediately
> > while we wait for a more comprehensive fix.
> >
> > At the very least, I would expect Juergen to reply here and say that
> > he is delayed but does plan to spin up an updated version and include
> > the necessary links in the new version to facilitate your tracking of
> > the regression. Why the silence from Juergen here?
>
> This is a fairly long message but I think what I need to say
> here is important for the future success of Linux and open
> source software, so here goes....
>
> Update: I accept Boris Petkov's response to me yesterday as reasonable
> and acceptable if within two weeks he at least explains on the public
> mailing lists how he and Juergen have privately agreed to fix this regression
> "soon" if he does not actually fix the regression by then with a commit,
> patch set, or merge. The two-week time frame is from here:
>
> https://www.kernel.org/doc/html/latest/process/handling-regressions.html
>
> where developers and maintainers are exhorted as follows: "Try to fix
> regressions quickly once the culprit has been identified; fixes for most
> regressions should be merged within two weeks, but some need to be
> resolved within two or three days."
>
> I also think there is a private agreement between Juergen and Boris to
> fix this regression because AFAICT there is no evidence in the public
> mailing lists that such an agreement has been reached, yet Boris yesterday
> told me on the public mailing lists in this thread to be "patient" and that
> "we will fix this soon." Unless I am missing something, and I hope I am,
> the only way that a fix could be coming "soon" would be to presume
> that Juergen and Boris have agreed to a fix for the regression in private.
>
> However, AFAICT, keeping their solution private would be a violation of
> netiquette as described here:
>
> https://people.kernel.org/tglx/notes-about-netiquette
>
> where a whole section is devoted to the importance of keeping the
> discussion of changes to the kernel in public, with private discussions
> being a violation of the netiquette that governs the discussions that
> take place between persons interested in the Linux kernel project and
> other open source projects.
>
> Yet, in one of his messages to me yesterday, Boris appended the link
> to the netiquette rules, thus implicitly accusing me of violating the
> netiquette rules when in fact he is the one who at least seems to be
> violating the rule forbidding private discussions of changes to the
> kernel once a patch set is already up for discussion on the public
> mailing lists.
>
> Of course Boris can exonerate himself completely if within two
> weeks he at least explains on the public mailing lists how he and
> Juergen have agreed to fix the regression. I sincerely hope he at
> least does that within the next two weeks, or even better, that he
> exonerates himself by actually committing the official fix for the
> regression within the next two weeks.
>
> However, I will only believe it when I see it. When it comes to the
> Linux kernel, I go by what I seeÂ  in the performance of the Linux
> kernel in my computing environments, what I see on the public
> mailing lists and in the official documentation, and by what I
> see in the source code itself. I do not go by blind faith in any
> single developer. I am not religious when it comes to the Linux
> kernel. Instead, I am scientific and practical about it.
>
> Finally, please forgive me also if I am mistaken in my assumption
> that these rules of netiquette apply no less to the developers and
> maintainers of the Linux kernel than to others who wish to offer
> their contributions to the development of the Linux kernel. If the
> rules of netiquette do not apply to the developers and maintainers,
> of the kernel, then, IMHO, the great advantage of open source
> software development is totally lost, because the advantage of the
> open source software development model depends at least as
> much on free and open access to the discussions about the
> source code conducted by the developers and maintainers as it
> does on the freedom to have access to the source code itself.
> If someone here tells me that those rules of netiquette need
> not be followed by the developers and maintainers I certainly
> hope someone else will come to the defense of those same
> wise rules that have allowed such a successful open source
> software ecosystem to flourish and thrive around this project,
> the Linux kernel.
>
> IMHO, the day someone make the decision to stop enforcing these
> wise rules is the day that the open source development model will
> begin to lose its advantage over proprietary software development
> models. And perhaps the most important rule of all for the continued
> success of Linux and open source software development is the Linus
> regression rule, with the rule that discussions about changes
> to the source code must be done in public being a close second in
> importance to the Linus regression rule.
>
> Best Regards,
>
> Chuck

Hi Thorsten,

Well, that did not take long. Juergen responded with a message,
which is encrypted and not delivered to my mailbox because I do not
have the PGP keys, presumably to make it difficult for me to continue
the discussion and defend myself after I was accused of violating
the netiquette rules yesterday by Boris:

https://lore.kernel.org/lkml/c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com/raw

Fortunately, lore.kernel.org did decrypt Juergen's message so you can read
what he wrote in response to my message there. I don't think what Juergen said
there is very constructive although I am not surprised he seeks to defend himself,
and he makes many valid points that are good for developers and Linux insiders
but not so good for users and the long-term success of the Linux kernel project,
so I am not going to reproduce what he said in this message, but I think you
need to read it to help you understand why this regression is not being fixed
in a timely manner:

https://lore.kernel.org/lkml/c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com/

Sorry for the trouble, but I am just a user trying to understand why this
regression has not been fixed for over three months.Â  If this is the best the
Linux kernel community can do in response to my questions about this regression,
then in the long run, I can assure, you, the open source development model is
doomed to a slow, long, and eventually painful death.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 09:32:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 09:32:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386690.622670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN9yX-0002ZG-Rj; Sun, 14 Aug 2022 09:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386690.622670; Sun, 14 Aug 2022 09:32:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oN9yX-0002Z9-OW; Sun, 14 Aug 2022 09:32:05 +0000
Received: by outflank-mailman (input) for mailman id 386690;
 Sun, 14 Aug 2022 09:32:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN9yW-0002Yz-EN; Sun, 14 Aug 2022 09:32:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN9yW-00086y-Av; Sun, 14 Aug 2022 09:32:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oN9yV-0007wu-Ro; Sun, 14 Aug 2022 09:32:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oN9yV-0005UN-RA; Sun, 14 Aug 2022 09:32:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nuN8g/Rp8CGWTKGFE4QCr1Gm9BOc6+Wmp+jrH0uJrL8=; b=BxNDjk14SMjVvH09AUErqRcc9I
	WtCFoy5Dsm/sbc28P6/TIOEKUHNvMeaxbjbuOQXMCuFHBonvEM/qTPypMWMIB6gE7A3gp813MmXwq
	LGINMwxQBK63mlTZ7DpVtA28nGI7uA/Y9j1kLZOuoJ7R7UBL1L2I7vexFDGgXW27fnPM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172506-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172506: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=0615df084ec9996b5df88d6a1b59c557e22f3a12
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 09:32:03 +0000

flight 172506 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172506/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              0615df084ec9996b5df88d6a1b59c557e22f3a12
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  765 days
Failing since        151818  2020-07-11 04:18:52 Z  764 days  746 attempts
Testing same since   172409  2022-08-12 04:20:52 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120325 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 09:50:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 09:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386701.622681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNAGR-00051B-GZ; Sun, 14 Aug 2022 09:50:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386701.622681; Sun, 14 Aug 2022 09:50:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNAGR-000514-Dw; Sun, 14 Aug 2022 09:50:35 +0000
Received: by outflank-mailman (input) for mailman id 386701;
 Sun, 14 Aug 2022 09:50:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cxLg=YS=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1oNAGQ-00050y-NF
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 09:50:34 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88f96d26-1bb6-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 11:50:33 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D76D860F73;
 Sun, 14 Aug 2022 09:50:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AF495C433D6;
 Sun, 14 Aug 2022 09:50:29 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88f96d26-1bb6-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1660470630;
	bh=YMeRpElZNN0nRJL41e5QZR3ONX4RAqEuGqTmM2z0zbY=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=zjLoF89HCesvrKOZtY0em4B9+H9L9rwDc4dwStr8iHbzRI9/hJvKTQwtu6gpAzd8G
	 72+SwBvEtfkyAgFL3zp5qFmtzH3hTEvjzVpP1QwTNMjAEU91VXU9+WDqyB2fhYBVoR
	 8v/D4AD7qaiyv7NJHVL5jlXXCXYX3Ve+e/A/5Kvo=
Date: Sun, 14 Aug 2022 11:50:27 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Thorsten Leemhuis <regressions@leemhuis.info>, jbeulich@suse.com,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Pavel Machek <pavel@ucw.cz>, Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	regressions@lists.linux.dev, Juergen Gross <jgross@suse.com>,
	xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
Message-ID: <YvjFY1dn2Afg/mFj@kroah.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <4688ee9b-1b18-3204-cc93-c6ab2ce9222c@netscape.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4688ee9b-1b18-3204-cc93-c6ab2ce9222c@netscape.net>

On Sun, Aug 14, 2022 at 05:19:12AM -0400, Chuck Zmudzinski wrote:
> Well, that did not take long. Juergen responded with a message,
> which is encrypted and not delivered to my mailbox because I do not
> have the PGP keys, presumably to make it difficult for me to continue
> the discussion and defend myself after I was accused of violating
> the netiquette rules yesterday by Boris:

The message was signed, not encrypted.  Odd that your email client could
not read it, perhaps you need to use a different one?

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 10:03:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 10:03:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386709.622691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNASz-0006d1-Ke; Sun, 14 Aug 2022 10:03:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386709.622691; Sun, 14 Aug 2022 10:03:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNASz-0006cu-Hv; Sun, 14 Aug 2022 10:03:33 +0000
Received: by outflank-mailman (input) for mailman id 386709;
 Sun, 14 Aug 2022 10:03:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNASy-0006ck-4m; Sun, 14 Aug 2022 10:03:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNASy-0000J9-2G; Sun, 14 Aug 2022 10:03:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNASx-0000wH-HF; Sun, 14 Aug 2022 10:03:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNASx-0002kH-Gm; Sun, 14 Aug 2022 10:03:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2R6IrMgyyQqNb3iGkx1prodEWaLnt5scx0SQjIcEH3M=; b=QDBOxl4cIlW0oB1s3PFJ7e4pbp
	e1Dd2/E0ruIwXeaFJMOvT5+Kwi3GqEUgDbuA52mMaGuloS6F6bYv7RQHdFJHBBpowj5B9tL1Q3a3a
	ohWNf6n0qjLtUutICa0LCLcQiOWahE1VYQa8qrEMS6s7eUA6Fwapb2FzjrdTmgxwyNIY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172510-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172510: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 10:03:31 +0000

flight 172510 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172510/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   87 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   19 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 10:37:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 10:37:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386720.622702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNAzL-0001U2-9E; Sun, 14 Aug 2022 10:36:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386720.622702; Sun, 14 Aug 2022 10:36:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNAzL-0001Tv-6c; Sun, 14 Aug 2022 10:36:59 +0000
Received: by outflank-mailman (input) for mailman id 386720;
 Sun, 14 Aug 2022 10:36:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNAzK-0001Tl-6w; Sun, 14 Aug 2022 10:36:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNAzK-0000rS-2n; Sun, 14 Aug 2022 10:36:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNAzJ-0002NC-F6; Sun, 14 Aug 2022 10:36:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNAzJ-0003JH-Ee; Sun, 14 Aug 2022 10:36:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/d9vH4UB3ywOov6krfCB6aNfYyo1FD4vsh6Cih6HYQs=; b=vxBdrEypi4K8rmDuZDqE3hM0Sr
	WUhH1CgOnQsdl+n68OUgm+oTHQDemmo+V0OP7JFqTwV5HFdKMOMDmRPmZLSxQ3ZDa6vgcfp7Eo/AI
	dD2VHuwq0nslzuQ75LzdDuvu8MBTMEcUbOTmhcU+hZR+mF00NWXbeHH59h/FMASDDOZI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172502-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172502: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3dc26edbb5417d90d32df6aa70d7c4187dd9966e
X-Osstest-Versions-That:
    xen=3dc26edbb5417d90d32df6aa70d7c4187dd9966e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 10:36:57 +0000

flight 172502 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172502/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install                fail pass in 172471

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172471
 build-i386-libvirt            6 libvirt-build                fail  like 172471
 build-arm64-libvirt           6 libvirt-build                fail  like 172471
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172471
 build-armhf-libvirt           6 libvirt-build                fail  like 172471
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172471
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172471
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172471
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172471
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172471
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172471
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172471
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172471
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3dc26edbb5417d90d32df6aa70d7c4187dd9966e
baseline version:
 xen                  3dc26edbb5417d90d32df6aa70d7c4187dd9966e

Last test of basis   172502  2022-08-14 01:54:01 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Aug 14 12:02:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 12:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386733.622720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNCJi-0001oQ-Rq; Sun, 14 Aug 2022 12:02:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386733.622720; Sun, 14 Aug 2022 12:02:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNCJi-0001oJ-Og; Sun, 14 Aug 2022 12:02:06 +0000
Received: by outflank-mailman (input) for mailman id 386733;
 Sun, 14 Aug 2022 12:02:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNCJi-0001o9-2E; Sun, 14 Aug 2022 12:02:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNCJi-0002JW-0V; Sun, 14 Aug 2022 12:02:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNCJh-0005tV-Gq; Sun, 14 Aug 2022 12:02:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNCJh-0003nO-GM; Sun, 14 Aug 2022 12:02:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cNjpJgtykbdujhd4tu3qB3cC5GbuUGm65nts4U315LE=; b=MxYzhsB750xdzVtAY6kDOupeVO
	qsBpyFSivAj72qvVtDVrIZj57In72S3uIz1/dUTxAxbHK8I31tfTFgS4Zbl5sppU/SFn1Lp/MhO9O
	V7wsptWnapQeTm/NQtksX0jeXkILqrvQSm9N5Em7JQgr4XhipTd5nKFKlqmwqtBXzk5E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172512-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172512: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 12:02:05 +0000

flight 172512 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172512/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   88 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   20 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 12:08:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 12:08:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386743.622730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNCQ8-0002UO-JK; Sun, 14 Aug 2022 12:08:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386743.622730; Sun, 14 Aug 2022 12:08:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNCQ8-0002UH-GV; Sun, 14 Aug 2022 12:08:44 +0000
Received: by outflank-mailman (input) for mailman id 386743;
 Sun, 14 Aug 2022 12:08:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qRw9=YS=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oNCQ7-0002UB-AC
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 12:08:43 +0000
Received: from sonic308-54.consmr.mail.gq1.yahoo.com
 (sonic308-54.consmr.mail.gq1.yahoo.com [98.137.68.30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4734b29-1bc9-11ed-bd2e-47488cf2e6aa;
 Sun, 14 Aug 2022 14:08:40 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic308.consmr.mail.gq1.yahoo.com with HTTP; Sun, 14 Aug 2022 12:08:37 +0000
Received: by hermes--production-ne1-6649c47445-w4lms (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 4c973f23836126c98ca4bc66de1c044e; 
 Sun, 14 Aug 2022 12:08:34 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4734b29-1bc9-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660478917; bh=FqYDpk0W/PRCpDPiLkTM2gC2KdTfejvBGpSY4SplYNw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=TNyh9i6GTxUe9jGu6jXq8FZlOkUUqHz67BAcKRDEEjWvJIGLdbDCnjDJUArkUTiv1KtlCh6zx5dknnpNzVMDJpAEfpK/8dc6Y3qqX05YNDiKo+t7gg9lkCjfD+Pi2FlhHHoE6sb+V5CY6RazKBxxjsIYTCK5wDw4BeJmMiLAb/cmgbUgu2Yc3z75nyj2pF5xMh9SfU8567Zh1ajlFZxTZFT/w3NK69NJShFMaG882m8tKXO3IU20DbmUGQiS2sVB/o67WNWGt3W4hWo6SFzk/+RvpcA5MBn3ivHlo4VMGq0sDY5dacXIfmPpluwNHpc2QsLfQR4uC0BfGATnetODuA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660478917; bh=mxYY4Fyz6D5/6w7YGR7YkmkRjuywMPeaKHCjpRFARMS=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=BXCGtCEKhAfe8irw0TejGED6zCvMEqdeicATylEmXNeeg9J4Yf3EJQqVVWoD8DE4o+zXJ9vD9Jca64/ZZEZQ/IQiiv3Oqgg+RkJDASNksAsRGWAL7l36EC1TKOAUrsSEs5BN89TfWplWYtc1B+PLS59g5Twyr+fnNqxQy5Da330M2GcIkUDeE8t+3Hz6aYvChemUsVBwyzZUeRPNlsNIwuy4yBzCLgjiWM0BBxmebjare1n/ew0gzbvX4ePT3d8QcHICGbDqumHH6miZSZoYplCrUGu61ta97xk5uHEgVCt8H3k0F5pNYQII9q3crXk3O47wYAt0BZ/IHfKJu3chHw==
X-YMail-OSG: Ll7JD_4VM1mpKxXJD72659d96qA4OFCwIcG_300V2QERIL1B.60NkINpWjQwCi7
 CzUk8tCC6wrNoTJleeOjgO_NHZsdLXRvJwIYWQZgiOUXVsKWxR66.kizxf01HHmaLzABEYcJu3ef
 6h9Hs3loPl94mAehykkXvm1jfC.mIiOBDHmaEfzNn3pw9cn2aqNQLWbZy8sq529GoyWgNncAA_nG
 FAkgO18eRwvr3QhNr7S4.7gcqyM6REghUHarwLjyz6A00ccAZOVwr_g0tJs.r4t6iWCdtXGL5RAa
 m8ctmkCPlIrZrqyPR95vv7IeyslWVTMadwww39kTPnh40T8d9P013ZxaQjbWnq0q7rIQWHT.duC2
 fkDQvOWmSHGvVZjvMDbZbNAu1LTCJ91Kc1_VYaLfLurXULnbJ_czX71VJ7OCoBv5vGtDgkWTtstD
 FhzxI8fWVK_x6M0XWgw4EWHzGvTwcVRplNfx6_ZaOxadv7pyCsEM2cRw8D8odUoLx_NPErW7EB.l
 EEHPnPzwoHKENwONb46dvRIloaS5OztcB_25IlpQxvmbSRAznmRSbywyyFFL1rfUBg_iLyNT_cgJ
 jCWIIXxJJn7mIyS42gDTusqidXvh7laXd0SDcXKF0QB.q4F25Gb5Pk4St_lKS6DHu4MUdC64QUSG
 NDW2JddKBNw4vwntNqkxpKHulx2AwIRBvhhh0mFdmvb8xJLjIiwvXW_uFaZcBiNenYsklmLUPfhn
 ef0dxihEPlxqz0laANMXRwQbgLVlQKf.Vm.A4GDlWRqkiV17V9.g4h07lBEijvPBVWzKmgMPTocJ
 kFZ9JfRd.J8maidTo0DUXlnkMvg0FD3oR2CCUcRdQFTajjI94CJ4QNSHGGn1MAoa0rpvG9JWsSFU
 leHVhnQ_FJhSqzM8YFzfdDdTZKEas5Hk8Id9FLI4NIvmWQWGbVK0SY5xpfkdpmmKvz8DFCGN02Y8
 DsyIIhaUYAS2rblUIp8CTKNBj_ZRtVO1621mghoHjxTuJirhc.bemEIqE1kii.MDmsm0.xYMRnQp
 InXRLLdUvwaNG1gD3uXrk73fWpxP4cJu8N3p4S.GrpK1QBab3.HnNRXROUGCR8yII7YhsJ1adfRi
 ESr44.colB0R_tOGTjHmwUuOV7upFPanKiJnQzZtSQSN.w7hcApglZLN2.aXJfTvmTRk4v_P8B7i
 7bIk4pMRhFonhV1U.t0_p4v6ZFzNZYKJUvJ9.0TKbFPBOt2kpeCBWfynrMYza2f1_dPoOw3EXJut
 D20fG7yQZEg06K5zm.XvxDkDZYe2E47Nr9JPRq5N.qCVgVdTMJP2RuOTOGvWqzoEVLTgAGtj2dTF
 z87wd3rIrevDY8eOI4amOb0wipXtpD_gPU0qSFHiM_rRw.qCV7ZtdsZx_vN4shEpFYrckTUjqSiw
 qgnU1UrdbDcY53TCaHbsmLgqBKri6dHI3rf6ytK7cQ52ficVMkB6eQU183q_Je3KUcjqlw3zwoNU
 6FkB2CRx7kSE3St4jNHwKrAIdGybH5SUrovpWfaUWmRwtDz4CmEBwmpmK1nmC.P_8uV2SxaRkIOS
 0vm9Xcf8AD2b_cVg4TQ46onvY4zvCu98c00aAmm_sjptmg2LNw87gVOjDXamzrA3x40CsSr8z76s
 uYOR0BD7N6DwrKkd2Fu5IS2MXOGqFBe0707ohccxLLV6n4fPf9L0GzyvrdK6I1NsNwlU4aSdAXqN
 WyWSALTI_9CFaFVGwQpyT4p35E5k9.3kZlJtr_UnI_cpOUH6jY44RAnfoOawSqdmzz9Y79TzrqgA
 t4Rv..bsKW1exTdADJBdhV8ypzzKsGchh.6jg277TK0OzM9SOHZdsXEHaMrD0gRVoIzwNrs3zqWR
 C4ddCorFewsEEm_e_oy5lV55TwFA3vx1qZwKvxb95t.7T6pBlDhxfwxSEerANhSe25rWzBFg_3dE
 ibDiebNcxPWEDt61kPpMdgJ0Te2m0QKDTZdLlhfDySC9YuetTpKptmBjM514G7kSto1ZJ9l0ujI1
 xooHboVlU2IstphKsPKNMg.79QcOIl_SIt0xX6ochjQdhMSl29.MbGIoRVIV9E.PRhC4yI89Vv_r
 uWkk4fTZSTtl_5ZVLMYm2ftnU1In34c2KGz2Trnz6CCxyfFLVnKkqiyBBTaq51RU43MLPaVRrkM5
 kUDjOeqg2KgbBoW6laBjZO9FWG3WpM9.RbvVUFHG3tdeT9U7jIDwebfS3BrSi.19uiOADrxaWl6R
 9vIwwJSyddjmHXBhH0pCd.JxDsUdLxDWylQ--
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <22bb6f38-c319-35a1-cf8a-07f78904ecfb@netscape.net>
Date: Sun, 14 Aug 2022 08:08:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
Content-Language: en-US
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Thorsten Leemhuis <regressions@leemhuis.info>, jbeulich@suse.com,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Pavel Machek <pavel@ucw.cz>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <4688ee9b-1b18-3204-cc93-c6ab2ce9222c@netscape.net>
 <YvjFY1dn2Afg/mFj@kroah.com>
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <YvjFY1dn2Afg/mFj@kroah.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 1429

On 8/14/2022 5:50 AM, Greg KH wrote:
> On Sun, Aug 14, 2022 at 05:19:12AM -0400, Chuck Zmudzinski wrote:
> > Well, that did not take long. Juergen responded with a message,
> > which is encrypted and not delivered to my mailbox because I do not
> > have the PGP keys, presumably to make it difficult for me to continue
> > the discussion and defend myself after I was accused of violating
> > the netiquette rules yesterday by Boris:
>
> The message was signed, not encrypted.  Odd that your email client could
> not read it, perhaps you need to use a different one?
>
> thanks,
>
> greg k-h

It's not that my e-mail client could not read it, there is no evidence it
was ever sent to me. I use aol.com which is administered by Yahoo!. It
did not even appear in the web interface for my e-mail service, so it
was never delivered to my e-mail client, which is Thunderbird. Neither
the Windows nor the Linux client can retrieve a message not delivered
to the Yahoo! servers! I also checked the Junk and Spam folders and it
was not there either. But I received your message and other messages
normally. It is as if the message was sent to everyone else on the To:
and Cc: lists except for me. I think the problem was on the sender's end
or with my e-mail service, Yahoo!, which apparently does not accept signed
messages without some special configuration that I have not done
with Yahoo! yet. I will look into it next week.

Chuck


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 13:02:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 13:02:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386751.622741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNDFV-00009V-C7; Sun, 14 Aug 2022 13:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386751.622741; Sun, 14 Aug 2022 13:01:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNDFV-00009O-9P; Sun, 14 Aug 2022 13:01:49 +0000
Received: by outflank-mailman (input) for mailman id 386751;
 Sun, 14 Aug 2022 13:01:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cxLg=YS=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1oNDFU-00009H-HB
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 13:01:48 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 403478d4-1bd1-11ed-bd2e-47488cf2e6aa;
 Sun, 14 Aug 2022 15:01:46 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2210961038;
 Sun, 14 Aug 2022 13:01:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 01F18C433C1;
 Sun, 14 Aug 2022 13:01:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 403478d4-1bd1-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1660482104;
	bh=WAP5JA0wQbdx2XgmotyffLP9nUzI/sVbWZvAOatNT3Y=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=zNpzQEfBY6ClWGQYxNib/B/GVaQ5aFeAGkg2nXIL2Bllu/uco+d8LidddCFnoLsKQ
	 xQ6qfDh1+3VjYZ76fP5XxcSkoe3hsn2QjTqaqawHxMHWlgexd98rNQGIeMWciiW0vO
	 Hwcz4HtIbHwemE5umHqlsCFeGFye7AdM+98CvyIo=
Date: Sun, 14 Aug 2022 15:01:41 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Thorsten Leemhuis <regressions@leemhuis.info>, jbeulich@suse.com,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Pavel Machek <pavel@ucw.cz>, Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	regressions@lists.linux.dev, Juergen Gross <jgross@suse.com>,
	xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
Message-ID: <YvjyNdH+X0dwjj+f@kroah.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <4688ee9b-1b18-3204-cc93-c6ab2ce9222c@netscape.net>
 <YvjFY1dn2Afg/mFj@kroah.com>
 <22bb6f38-c319-35a1-cf8a-07f78904ecfb@netscape.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <22bb6f38-c319-35a1-cf8a-07f78904ecfb@netscape.net>

On Sun, Aug 14, 2022 at 08:08:30AM -0400, Chuck Zmudzinski wrote:
> On 8/14/2022 5:50 AM, Greg KH wrote:
> > On Sun, Aug 14, 2022 at 05:19:12AM -0400, Chuck Zmudzinski wrote:
> > > Well, that did not take long. Juergen responded with a message,
> > > which is encrypted and not delivered to my mailbox because I do not
> > > have the PGP keys, presumably to make it difficult for me to continue
> > > the discussion and defend myself after I was accused of violating
> > > the netiquette rules yesterday by Boris:
> >
> > The message was signed, not encrypted.  Odd that your email client could
> > not read it, perhaps you need to use a different one?
> >
> > thanks,
> >
> > greg k-h
> 
> It's not that my e-mail client could not read it, there is no evidence it
> was ever sent to me.

The To: line had your address in it, so it was sent to you, and again,
it was not encrypted as you claimed, but rather just signed to verify he
was the sender.  That's not making anything difficult for anyone, so I
think you owe him an apology here, especially as you are asking him to
do work for you.

best of luck!

greg k-h


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 13:42:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 13:42:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386759.622753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNDsz-0004MS-GR; Sun, 14 Aug 2022 13:42:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386759.622753; Sun, 14 Aug 2022 13:42:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNDsz-0004ML-DY; Sun, 14 Aug 2022 13:42:37 +0000
Received: by outflank-mailman (input) for mailman id 386759;
 Sun, 14 Aug 2022 13:42:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNDsy-0004MB-Hc; Sun, 14 Aug 2022 13:42:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNDsy-000436-Dz; Sun, 14 Aug 2022 13:42:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNDsx-0000n3-Us; Sun, 14 Aug 2022 13:42:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNDsx-0007cy-UN; Sun, 14 Aug 2022 13:42:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gwYIwFNyvpzVsa8NDpDvtID8NlhAeiQFf/NNPjL/mUE=; b=tRc9ifdCHY7oUdOAWY0pJBRyxu
	RHCJQRp81YLQso69c0VQTboIS9b0Clw/jPnej00cIp5v6BgAkvgxPr+pk29DWTNQxG0kxIZkyABbA
	asZyYI9FKRIJeNfXN7rprJMBA/kb0rh8V1L0Naye0QKLht0ML/Kwiiqf5+qkISOHOLb4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172514-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172514: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 13:42:35 +0000

flight 172514 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172514/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   89 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   21 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 14:18:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 14:18:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386769.622764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNERP-0007qL-AE; Sun, 14 Aug 2022 14:18:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386769.622764; Sun, 14 Aug 2022 14:18:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNERP-0007qE-7M; Sun, 14 Aug 2022 14:18:11 +0000
Received: by outflank-mailman (input) for mailman id 386769;
 Sun, 14 Aug 2022 14:18:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNERN-0007q4-V3; Sun, 14 Aug 2022 14:18:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNERN-0004il-HJ; Sun, 14 Aug 2022 14:18:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNERN-0001dZ-37; Sun, 14 Aug 2022 14:18:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNERN-0007WX-2e; Sun, 14 Aug 2022 14:18:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1EZCTAh3mhoI+Xx+Yy25+pb/NudP9d9h4oh6fbN8Uhg=; b=b6VlfA5fmwmTo+eelhM8NJqShG
	acNQH8ICAYTw19HS1/icR4WOsKVaJaeAg8QNsls9HV4ffRnLXBBYaOnDCv7us/kUWNqwWUpPhQ4JC
	PIV/G1sYxNqyfhSHjEM2gDA56x2bt9A0rlzlYOJs2/jQ3/MQcT8bmdTkGExNCd1GKmK8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172503-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172503: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 14:18:09 +0000

flight 172503 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172503/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 172489
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172489
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172489

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172489 like 172128
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   10 days
Testing same since   172384  2022-08-11 11:13:58 Z    3 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 15:33:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 15:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386788.622775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNFbm-0007N8-1F; Sun, 14 Aug 2022 15:32:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386788.622775; Sun, 14 Aug 2022 15:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNFbl-0007N1-Tn; Sun, 14 Aug 2022 15:32:57 +0000
Received: by outflank-mailman (input) for mailman id 386788;
 Sun, 14 Aug 2022 15:32:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNFbk-0007MY-QI; Sun, 14 Aug 2022 15:32:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNFbk-0005yP-M0; Sun, 14 Aug 2022 15:32:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNFbk-0003ay-6h; Sun, 14 Aug 2022 15:32:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNFbk-000859-6H; Sun, 14 Aug 2022 15:32:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Aae940y/w9bp7e/ULNDVrFwFMhor0AqWQJ8httYuOnQ=; b=mxkf+vX5w255lUYE7uFrnO3JPj
	jW6Jk9nYlkRzF4YZSgLxp3rY2IKIMxN8osJ2Bqcb8EDi9Q9wVVYbQ1BFmSO5LXlP8rANnkoyOYJIl
	jrF/UuVGvSlJymwtWpb4y/XD6H2Ft5PqB8RZSgr/tzaJ74DclsLTH38vVKf3Oo/Ubiw8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172507-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172507: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start.2:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=93f3dd604825824a7239aaf704baf74730aa3007
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 15:32:56 +0000

flight 172507 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172507/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-vhd       22 guest-start.2    fail in 172495 pass in 172507
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 18 guest-localmigrate/x10 fail pass in 172495

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                93f3dd604825824a7239aaf704baf74730aa3007
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   10 days
Failing since        172148  2022-08-04 21:39:38 Z    9 days   25 attempts
Testing same since   172459  2022-08-13 00:08:42 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1488 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 16:03:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 16:03:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386800.622791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNG5S-0002nQ-EI; Sun, 14 Aug 2022 16:03:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386800.622791; Sun, 14 Aug 2022 16:03:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNG5S-0002nJ-Bd; Sun, 14 Aug 2022 16:03:38 +0000
Received: by outflank-mailman (input) for mailman id 386800;
 Sun, 14 Aug 2022 16:03:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qRw9=YS=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oNG5R-0002nD-5P
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 16:03:37 +0000
Received: from sonic306-20.consmr.mail.gq1.yahoo.com
 (sonic306-20.consmr.mail.gq1.yahoo.com [98.137.68.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4bab874-1bea-11ed-924f-1f966e50362f;
 Sun, 14 Aug 2022 18:03:33 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic306.consmr.mail.gq1.yahoo.com with HTTP; Sun, 14 Aug 2022 16:03:30 +0000
Received: by hermes--production-ne1-6649c47445-98ntq (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID e7d4ad079837ab09a74572bb4eff2be9; 
 Sun, 14 Aug 2022 16:03:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4bab874-1bea-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660493010; bh=v1wxdWmS7PzJ4GTDnvJwg409BHbOVzpx0sX5IXkXEQ8=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=ZRp8UM9Ksuoe0l5sKKVpzcYRynNIpZ0UGvW4IXPh39EnkJOFDFhGiaIHvny4s2bwMbPsodfytc6z5Z8EyJIUrFANJgz6lmt0sUD9kBTl1BSM04kKwORliniybQ+NSLD/iC1azL0GWGNkvfTUdSNUFz6Y1ZzeJ/eFyAovrLzjgj1yQOYsXbv4uRNn5FB5jqUIFK8wdRVCKNxi8vZu2UGuTMmXgkBDQGO8NqWyAbJjcvZ+8Y5gfIgKyEmTNS7/+RjqZGCGbOCD+ZIkdm6sfs/2OBcxo1SXsilOGfUWdGPNxpeQSPdQ0AwYPiWBizN8BA2Moc/goKII/5m8pwBBtSdIHw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660493010; bh=jAB2lbTuQpY5S6t3qSGZ47a6BzDgaFET83mKTD4m61w=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=QshC+MWNnXm/6Chg2HlJKChlzuDctlq96f8DED+2E26SzY++MGP10NKksHtDUGmxESsZc6gY4xTyEH1bhHpQAJeX+PRHYUx0Jpw2AbR52DVOSapS7eh0lBAAeLV3kyPKBauYPRnN2yKyO/eLb3bV88H45X8Z2YRT2hO3RztK+FombVtytQBhpqGe8VcSLeZ0Dxs/sb7yPM9EfKJQmksnxvy+/dhgGg11ksUwyFkomhXRMiLTMwbevmU12JtKX1DZXCY3oFDfxMZhC6LExi1qtVjGBh9z6kZSGFp66O/M1XDeCy2ctNMkvLro21yNAlNaqLmj3Le+adh6cbH3n4jApg==
X-YMail-OSG: VwYA2mAVM1ngjslb92eTdmY6IPdA2.5XNKzC_Sc4CgFhVQoaQTYh1H.kM21MlVk
 UgE.aZNMTMGOW8oeA92sc.ApZ3mLbezib.YzW6Ubt9ydiviGnk3Czdjc0Za.ll9l3yqWoRD2otDT
 6MKg9ztY94diBre83aWDqmDF8LA9AikcOU0H2_hiOfVfDup3yk0UDNWkWzhlYmTW4RV.WYt22OcL
 TicanIQEDjCgaLIdeSxo.iepKQGlTlWKy1mpMExRDyE02C7ZfWn5eAmatDMZ4tULPv_wGhWLTCV5
 y_cumtDEBbQLvZAJPMFa_OGuoklRaahCJh1P9Qi3N.KkNc.d7Qf9ALlnapI1.0kTy6e8d7IJkmTa
 wmpCjYzuxPDIu2WcVXSmbJWAcuLgq7Sdfggk91pkqfifWKFVTyWweRv7lkezJ8Yvan1ifZ8cJVn_
 tiefnzNG0Jf4jCad9Aq1HrhbTt34ChZpguF3ZvueONwE5esOrjkUBUgQ7esUzuh0874X0WAEccp9
 C7CZF7m9ZUpo6BR0TTN2f30M0B_.DrADLSHm3HvC6ilQxv3MG8nwQd2RZG91KrCe2CDWhqmFuDx5
 QmS1ZzR03pKX.janC3sTeALWTTI4IQQFCmVLozc05x.DOn64_jrWfWOUPjQQiGXXrBRp20rNdGQA
 cKI06xJbYEHvjcZ38KRFUv4crWM0Y8qOO_ZyhNnw9LPy1vCr2LXn4s8AMzUUcOp1PfCwAOdm1bsc
 7dkOPN7NIY0AWX7XJ0ZMro69GsqOWl2vuXV47dqqt0Xgj8re21dvRmRuLlJxGkixDwBuVClvhih4
 0qft2XMMKBJAsVAFOHMrMMY23NgNL.QZOVnj0Kqq.Gs_fKZaM1hkwX7uKWHIzz1_v1kB85u1Wchf
 tXVJNKqlHQjAVmxo4YUo8aXAhKR25j_xSerABFvIwRUY9cqaDVQli1CjE6LfFIAIue_0dDHJnHLn
 wdyEIN7wVPgHp_5Oor1FyHir__M_e6sTCa8pEZnOlzHchWQRBFf4BYYzHMb3Lnn8h41gEL._XMFD
 Fd9BcOZoTPFZx.b3PKN3N.KYrhTOhSCMC0MILGjMD_HNxRA.z11pyQ2I_KEae9O0umcc6FxTcSKX
 6t6OYMNFQ.0V4jvActkMzhPV8WWLje6vNpBGrhwNQAB8Ag3a4NQ_56GJJQjyCytfQnJNaycpVke7
 Db7RUYT3hSG95G4CE6w0OPqzCPk9YV5r8oYgmZK7QOIkorhm1p65UgLW2K4HxCA7yrKRYsTkUr1Q
 5idRjus0ObcX77QqYuUdeOdKcr9czVxS4eEglfExjE3KRZHtlxIi0o8.K_pUmHjujisIb7oqQu40
 KIXJGKrMHIfHbE.k4.xn7bKfbO_kSeT1Rb6vWBS.O7JsLpfrdeCc236d24VU8h.rv70j9ZohDt9K
 _cKb0qn5em1oKqLDhsphSru3tPawGDPAUX5ltYKlEZebAwZUlL_KOWuEtLy1g6fmOyCQlitcjYKa
 EtxF06Cf2zFMdFYh2dtUlhsSyrfc87HkpnK0AQ6pYkuAlg6VheW_I3l1ZzXddIODXWQ149DCdd8m
 Ez9DCH6jQlfZwgt80YX4Ahp1GQHOnlEWuorCcNCpWseIJR9DliwZR06iwxEDDrb87SXcFc7xE3ga
 .qVabavB9LZS7UMPKskKOOQ06ATtyM6I.ZRc8QLBfp11vXgFOrhm7dcM4WxMEUJIM7azMTwRtCT_
 wQs6McQp37OM7FuT27wn4DQYkF.d7nD2uZ4_Mhuev1Xds9FFpuvjVIBsyCyT1zvy_.1h_dwaHvbW
 2b8TdRIEDo.Gh3dYXd6ri_rDmYD8.ASjal3DEjzKh9An6xNhn0SF8_YmHWT.LCr5I2Tj0x3jMrhb
 MX6DBoksOe7vItmzSCdkxQK2p0DcY4TD.DPbmMvoNK1RSREm6ktPXkI8RfbbJ0k3QHMn02VBLeqQ
 3eTteMHC2NmtemU7YMl66VtMmMRexsK.e1ypqrqteNFF_PYZ49YEkjj0yU_Pqv9cnScUQmrpdYae
 KxcO8yr4Ftf84mEXB3ck6HLbjs9sYA6PxOxZMrYR1C1UvauQTSKIW._ilrGHcPViTs9HpKfRtPHa
 v1tYYSBi1CFxyj8D.mHTlk9BP.9AdYYeByFbiCFR3HlfZgcUQwfrznL0h2MzOrLe1VlQkbSSKZnx
 pYllZVODObUwMTX7v656f75DY6ysYOHD7NvAjzO30rVdMEO5cpfEX8J5cLE7Ww1gbQ85MzlAntar
 j0txjBPLhvuObaCUrvo2dWNTSbTXQRGZcWr1VdwZG429lB7q4ufH7
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <a4572696-8c4b-36ee-e067-8aa8a9786ad1@netscape.net>
Date: Sun, 14 Aug 2022 12:03:23 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Greg KH <gregkh@linuxfoundation.org>, Juergen Gross <jgross@suse.com>,
 Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <4688ee9b-1b18-3204-cc93-c6ab2ce9222c@netscape.net>
 <YvjFY1dn2Afg/mFj@kroah.com>
 <22bb6f38-c319-35a1-cf8a-07f78904ecfb@netscape.net>
 <YvjyNdH+X0dwjj+f@kroah.com>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <YvjyNdH+X0dwjj+f@kroah.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 3712

On 8/14/2022 9:01 AM, Greg KH wrote:
> On Sun, Aug 14, 2022 at 08:08:30AM -0400, Chuck Zmudzinski wrote:
> > On 8/14/2022 5:50 AM, Greg KH wrote:
> > > On Sun, Aug 14, 2022 at 05:19:12AM -0400, Chuck Zmudzinski wrote:
> > > > Well, that did not take long. Juergen responded with a message,
> > > > which is encrypted and not delivered to my mailbox because I do not
> > > > have the PGP keys, presumably to make it difficult for me to continue
> > > > the discussion and defend myself after I was accused of violating
> > > > the netiquette rules yesterday by Boris:
> > >
> > > The message was signed, not encrypted.  Odd that your email client could
> > > not read it, perhaps you need to use a different one?
> > >
> > > thanks,
> > >
> > > greg k-h
> > 
> > It's not that my e-mail client could not read it, there is no evidence it
> > was ever sent to me.
>
> The To: line had your address in it, so it was sent to you, and again,
> it was not encrypted as you claimed, but rather just signed to verify he
> was the sender.  That's not making anything difficult for anyone, so I
> think you owe him an apology here, especially as you are asking him to
> do work for you.
>
> best of luck!
>
> greg k-h

Dear Greg,

Thanks for the advice. I appreciate it. Below follows my apology to Juergen and
and Thorsten and some additional comments for anyone willing to hear what
I am trying to say as I continue to try to participate in the discussion of this
regression...

Dear Juergen and Thorsten,

I do apologize since I agree there is not enough evidence to conclude that
Juergen purposely made it difficult for me to respond to and defend myself
against the negative things he said about me in the e-mail I never received
from him.

I am not going to try to defend myself either, since it is not necessary and is
probably an impossible task for me to succeed in defending myself here in
this forum. The e-mail you tried and failed to send to me is currently
publicly available on more than one public mailing lists and it speaks for
itself. Each person who reads it and the other relevant messages in the
thread will decide for himself or herself what that message means.

So far I am inclined to think most people who will even take the time to
read the thread will judge me to be in the wrong, and I also am inclined
to think many who are Cc'd on this thread are already ignoring me
because they consider me to be a total jerk. That's fine, but that's just
their opinion, especially if they base their opinion only on a custom
of hazing users who dare to say what they think on the Linux public
mailing lists.

But since you are the persons who create the Linux kernel, I will express
my opinion that your decision to reject my efforts to help the kernel
developers and maintainers work better together with each other and
with users like me who are brave enough to say what they think on these
public mailing lists is the wrong decision if your goal is really to make
Linux and open source software development able to continue to produce
high quality software that is actually useful to people.

I say that because I am trying to scream to you as loud as I can: "Linux
software is no longer useful to me." No one here seems willing to hear
that message. I wonder if Linus even cares about that anymore. And that is
sad, because Linux was a great project. Unfortunately, now, it is clear to
me it is going to die a slow, painful death. The Linux kernel is a big and
powerful enough project to survive for quite a while, and I probably won't
live to see its death, but unless the people who define the Linux kernel
community change, it will eventually die.

Best regards and good luck to all of you,

Chuck


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 16:17:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 16:17:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386809.622802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNGId-0004MY-NE; Sun, 14 Aug 2022 16:17:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386809.622802; Sun, 14 Aug 2022 16:17:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNGId-0004MR-KP; Sun, 14 Aug 2022 16:17:15 +0000
Received: by outflank-mailman (input) for mailman id 386809;
 Sun, 14 Aug 2022 16:17:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNGIc-0004MG-82; Sun, 14 Aug 2022 16:17:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNGIc-0007Hm-6z; Sun, 14 Aug 2022 16:17:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNGIc-0006KU-00; Sun, 14 Aug 2022 16:17:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNGIb-0000UR-Vo; Sun, 14 Aug 2022 16:17:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=11BAQUgWY9c69DtAt/OiYxgJq+yeVxS9bX//xnTUf+g=; b=Sw1kNe9O8nahIexZKOweJEx9ok
	P1rZC5qHn5MlKMdeelydqwELo4hrV4zoIgGtRwkcP17NjRBHzqMaxUE4tVCQHh4p1fZVKQGsxnikK
	m6jbNCDwdJ/EZSfV9wBMKT8lcQ5YNxosZFpDtxBdtjCfcq6BPFcleEeXBr8HbIyj0zPI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172515-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172515: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 16:17:13 +0000

flight 172515 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172515/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   90 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   22 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 16:51:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 16:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386819.622814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNGpY-0008Tp-AS; Sun, 14 Aug 2022 16:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386819.622814; Sun, 14 Aug 2022 16:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNGpY-0008Ti-7N; Sun, 14 Aug 2022 16:51:16 +0000
Received: by outflank-mailman (input) for mailman id 386819;
 Sun, 14 Aug 2022 16:51:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tLax=YS=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1oNGpW-0008Ta-T6
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 16:51:15 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4dd7a737-1bf1-11ed-bd2e-47488cf2e6aa;
 Sun, 14 Aug 2022 18:51:13 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C9F3160CF6;
 Sun, 14 Aug 2022 16:51:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 39C65C43140;
 Sun, 14 Aug 2022 16:51:11 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 267BFC43143; Sun, 14 Aug 2022 16:51:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4dd7a737-1bf1-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660495871;
	bh=5x12jWQWyCom/Z75nAFf+f/Xg2dyhKKUKlNARGN2oJY=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=Kxo54Rom+NvcgUo/FOWtYZhO70vQriHgk2fU89wrb4wmSMmGLGH6JyHPNrI3Sd26L
	 s73ktgKR2gFLXevvbzVwzeGOcDSfbYtbANDv4VnyKtKATDmXhU2lTUX8R1wHtzl+uS
	 yDJwP8/RXNBaPlVh/DLM2XnsdZZ0Sd2AR/o8Zlk0aKNi3l6MkTOEpeeozkc8qBIwIp
	 dUFSJMGIZWDWQlJfjhcSsdJHkibcB1H/urkgzMwje7fbuYeVSMH9D+lwY1MfHvTSa0
	 bwx8fbPJGwQd5aFlOWc2wzy7nBTS/6Sia/2TP63ujy+Zncrntgcs7X0CLPED1+sEKi
	 OB8ZVRx5ZjApw==
Subject: Re: [GIT PULL] xen: 2nd round of patches for 6.0-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20220814090737.29335-1-jgross@suse.com>
References: <20220814090737.29335-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20220814090737.29335-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc1b-tag
X-PR-Tracked-Commit-Id: 5ad3134dcf5201c4d51c981e52557939256b02c7
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 5d6a0f4da9275f6c212de33777778673ba91241a
Message-Id: <166049587115.14047.8177190261062229682.pr-tracker-bot@kernel.org>
Date: Sun, 14 Aug 2022 16:51:11 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Sun, 14 Aug 2022 11:07:37 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc1b-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/5d6a0f4da9275f6c212de33777778673ba91241a

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 18:13:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 18:13:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386829.622832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNI6R-000825-99; Sun, 14 Aug 2022 18:12:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386829.622832; Sun, 14 Aug 2022 18:12:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNI6R-00081y-3r; Sun, 14 Aug 2022 18:12:47 +0000
Received: by outflank-mailman (input) for mailman id 386829;
 Sun, 14 Aug 2022 18:12:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNI6Q-00081o-0k; Sun, 14 Aug 2022 18:12:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNI6P-0000x8-Si; Sun, 14 Aug 2022 18:12:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNI6P-000687-KG; Sun, 14 Aug 2022 18:12:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNI6P-0008Fi-Jl; Sun, 14 Aug 2022 18:12:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BXky/y2FPVcWclzgJFkLFiq+sy/qtR5rS01kp32z7Mg=; b=cPchKl/LofBMWYaleoydEO9QhB
	uJ4c2DFU1Ix+o5mRsqIxKV9waCbrr9kXUX3Wt9/bX6MBTIcjAbftXHkDDBh+NML8wSnEIg71qzJLM
	kvwM4PKtzigV+y+g5HYmPNG5p3OFRD+oZnhu66bOFfKeKZ2kDWGOe2CxDMiMKgO1aVZY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172509-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172509: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=aea23e7c464bfdec04b52cf61edb62030e9e0d0a
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 18:12:45 +0000

flight 172509 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172509/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                aea23e7c464bfdec04b52cf61edb62030e9e0d0a
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   10 days
Failing since        172152  2022-08-05 04:01:26 Z    9 days   26 attempts
Testing same since   172509  2022-08-14 07:09:50 Z    0 days    1 attempts

------------------------------------------------------------
1374 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 141880 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 19:28:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 19:28:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386841.622848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNJH0-0006cw-LX; Sun, 14 Aug 2022 19:27:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386841.622848; Sun, 14 Aug 2022 19:27:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNJH0-0006cp-Ia; Sun, 14 Aug 2022 19:27:46 +0000
Received: by outflank-mailman (input) for mailman id 386841;
 Sun, 14 Aug 2022 19:27:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNJGy-0006cf-VI; Sun, 14 Aug 2022 19:27:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNJGy-0002CT-Sq; Sun, 14 Aug 2022 19:27:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNJGy-0001vk-Hj; Sun, 14 Aug 2022 19:27:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNJGy-0000zY-HJ; Sun, 14 Aug 2022 19:27:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QKgS9Wi3Vn+zN8mS1/GX+gSlhC6bjuGVI+RhcLceOmM=; b=ai8hFUXDvZTVc+MF6f6Umm5H9B
	hTMUNfoWYRWxu9+0fTKv2FaaK+n26cJPdzNJwC9dw8e6u40SmAubBmjUIgDUPV0LZn1/Halq+pdvO
	HsVrRmT0SNYB0J8f0pL8LTfmTN2Ob3BFwbZ+OGpejxlGlj7gpIoDAfL+zmuxuv1ajnpY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172519-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172519: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 19:27:44 +0000

flight 172519 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172519/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install         fail pass in 172515

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   91 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   23 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 19:53:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 19:53:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386852.622859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNJfT-0001Ty-Sx; Sun, 14 Aug 2022 19:53:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386852.622859; Sun, 14 Aug 2022 19:53:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNJfT-0001Tr-Nb; Sun, 14 Aug 2022 19:53:03 +0000
Received: by outflank-mailman (input) for mailman id 386852;
 Sun, 14 Aug 2022 19:53:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qRw9=YS=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oNJfR-0001T0-Tj
 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2022 19:53:02 +0000
Received: from sonic308-55.consmr.mail.gq1.yahoo.com
 (sonic308-55.consmr.mail.gq1.yahoo.com [98.137.68.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b170c2a5-1c0a-11ed-bd2e-47488cf2e6aa;
 Sun, 14 Aug 2022 21:52:59 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic308.consmr.mail.gq1.yahoo.com with HTTP; Sun, 14 Aug 2022 19:52:56 +0000
Received: by hermes--production-bf1-7586675c46-npccb (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID f8b1444eb4a30b89b1cc53889bca83f8; 
 Sun, 14 Aug 2022 19:52:52 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b170c2a5-1c0a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660506776; bh=4U1+2vNEa2iX7n0yXUSFVausmK7G88BenciQy3XIFtQ=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=JK+WXQB8G14rlC5GWn7OToZegTXFCp/asGbYra6OjwcrMmuUZUKmoLHANvxR6SncxSpfAGG/uwQV2J5JQD9LJwNJ0q6fr75TzixMQWo7zp1yyF/29IHJQpi0F9jYijeHvBOMTFyzYm2ZFxTtr8WsZk4gTOke0bZSn9h3MJwm64VLUhZIDv/DPHZIE54Yr+yj3WqlcdZDb63DEq6mbmhIahATUp9BkvQyMHgLN8AuO0HONwcpa1yJS0ippftjzBgIo/72hbQ+ExnTPP8pgYYAgFQjvKugY8PrFXIMJZhbCCJvVXEljfka25i4zZVZDxMS4MjwH5M1eM7lWxnqASBzzg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660506776; bh=zbjrxgoM4BNyLW6Aou/pTkYhWV8iZXtDXl/bCJtsJVR=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=npnWbyUzCF0NEASfKYV1s179JREepF1CHNiDm+K5Hut1NbTLaFC9Tp1UilCqhKQIPcEusxPLMmtqMHMCgOI/LBX8UYYOMFc9QvAFkUiugBp8U4E/OPaU3Jr5OEXCfkldiu4Hhnc6YIxXxYKCW4JhYEClSn8hAOr9dRiwnS0cwO8J9NTfJIs5oypek06oygzL1zPlBbLekCxQtgt0e9d4C/sXc7oWOB9EMGL2WAPMOrMvRM+iZtZle5aG/7c5HqEU+q1Z3Q0ZlJxxEl4RxJhxWfEf0gyEeEBW7a6kOnU5Aosu5mSKdwJmhcMDWzsN6VsOzJcp2sfgUGghZNxX8kGxFg==
X-YMail-OSG: yNMXqUMVM1nePv6BwxJvCwftu0wF1tIoR9qI.62_9C_1Kam5FymoNdoBNrhFRwA
 T5IQulTD2cWYWu4KvrJiQDRHWxu_XtlIP6XfVzCXUMz9sXCSQOVAHUQIk6RnU7_XcB26h7hGCHeb
 Krnf3rqnwzkv1PpfnQd3LHwhnYDBHrMCkZrX.H2_UXv38rbItD7jcbmWA3f4doJ4qRdlIzr.mjKw
 AwvvJ5uEEQ4rPcZXnB2NP5qYF20fPrmCeU66PTtc_vHHEXftoaN324wTpwi32Ux1m1XaU4tFPDNd
 ez0PAu5OGpG20U0_APlWVPYeY2eoTEelGuxWfxpjQ7riLIwTbTnIOoIFybCt.3myE9Ly4_U7d6Ps
 AwDGUkro05ysYw5OaHrGsMsCevMQt3VDILoE7gOuX54unj34VUTA0wLbw_8x5qtsK0V3xNjl1dJi
 NwoloH4Ac7PzzlY2VsazEnZvSWIOUIpStiEUjqmEJikL_UfUHf0sDNrSgocLFsiLBRZgatibwXT1
 Bh4qW9QJUBrvEBSsAz9dTWfca4B4DZlEUKqtbB3ABbEZbPhb7oUQ8Bz1qPlMX3IDh8EYmrr4gDnL
 PQYdYaKzJyk09UF47VrhDE.mhHJyBFAuxHvbiB_P.qdb_oO7LwTJIU1hsatwVIA2OOe1.ky7thmo
 tsbOuca3wY5t.1YDCGwGYz9LlTfXASrpJFx167ncsQ1_zlBZMb.taelFpLgnXLKaE.pVneSsdo4c
 SOGZtVXQ4NreYag2BBpi8nnU_QgpCQ2RVL1btz3Y0iZr4WcwtlZ1mkXvTycEPZwWITruF10bTc1M
 P74tOrgj5mDwcNv2.DPZgkNsUHiW1E3J7yl3s.5xpw0xKVfNDIxetlhjirqhQ9bZvT3Zfgosnvzy
 K0WbdlUCdd7MKgRqFZiPY_HY_qD2rz6t4pJj1TZ7HyXmYK8TvN0Y4hzD.69.w.fvvA5oUVQD6LOr
 Ow92n7PxBtRrzSSu_CecgzKEsDBL4mh_FtETL5lMcCwFE0G3xJUnxygSca2CK4R4Rar4GpSZ_0pX
 MYKVV3yid0pIrNGsIm_Gnw.O_mIq8zkfFJgpJyxmqF3vuOyla509EZwMYHzWQmezOEhOB2UoCWtF
 m8s5bgyhhJnJd50zSGEyErn2KbayF3txoyyIZYexepEwnzqp3n.9Mgb94bCQckToBMXYL7uySOuy
 exHK50NBhAiiFDgtjzIcnUXtrVzWXFdp1PEnKbAhNnwUircr7OtXMQwYbZubawF9SPbHurqz42t.
 6trA7nLb32vs8x8KgUkAXQjemCKFV.8bXbb23JcKs_myNfUb1lMrcGhGYCsZKrZ.tjr7HFJ24oSY
 CwZjH12tuRClrwkIGUnqICzRfIHGTYpa4IE3i_Vv8.7yTutOJJmQWQcmQgV55aZAkuI.9ba16o3v
 ZUCmIZih6iDSGWSFVIaIGyHmUH89B_AmCpWWoaT2KgG5FKMtjkhkOkuK.DiYg42LbY7GJq29fLt_
 Hr9IbzNEqCDHk4WnPBfHsBTofB7yhzQvz5IMz3.b3I2ESV9Z4F2.Rhi7zu7BUHUHNuaB1B6AZCJc
 hZUI1lv5roBTa6DHLanFJTT8.uSAhKpnNxWFUD4ZYR9YBeBmqf18kwbxLHhwffcyTybk3RrOdbyi
 ZTxAjhN4B5Vu1rhh3Hqv6op1W7VtDRBULxNHny7UIdy8nR65Fc.RCmAXzEPmtmcNrlwqYJWO3ETT
 CI40y6_ib3N0Z0mzsHmX75AAJlaJY754PAaj0tjLapu3xCwl7aPFQGHVHyxb48jQnREHaCuLEH38
 KlvlIkaD.LpOr6Nly1iHqo1swYqwRR0w8JbU08BG6q0dhXO5g3SDlB8fDPPyBmYmuH.QKAWsW11e
 4lV93CmZQyf1ZRoL0wJHo_ivrZavAWTPZkTupVjQf0Q6A_BRgGQ_EXsziP7Bj.YfCsUZMM0JofK9
 L0TImplpEbB9yvrgUFYT39a3ZxEksbeTrvz0puM7GtQfG0_6ak4GW5qlwn2qv_0YqL4s5plXOXuG
 xLIDXEIfeofftQpPI3_joh2BVsS_axr2W5f_9q0yYiQ5Bh6WnyrKFr6Ry5d8LG1nyiSRwHeSovJN
 .bLSCbjoUmYWdmrz4Q_wvb2Ks_x6ekb5RtP_heGNTNSKsBQOHlvJ7Luwi0HeGY1zQM5iW3GUrOw_
 _mWbWRQA8ySIVyMj..M.Mf6tJPe0pCwbBH04FnVVb79nA5.A4bZNCrudqfoVgjhbKkWZF.JiNpBN
 6ymPfuRptS.d.e39AD64Hbrea7dK8ZgZkxyghbf1_gOU-
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <3f4c20dd-99de-9084-5040-7f09d355fdb9@netscape.net>
Date: Sun, 14 Aug 2022 15:52:47 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Thorsten Leemhuis <regressions@leemhuis.info>, jbeulich@suse.com,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Pavel Machek <pavel@ucw.cz>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <4688ee9b-1b18-3204-cc93-c6ab2ce9222c@netscape.net>
 <YvjFY1dn2Afg/mFj@kroah.com>
 <22bb6f38-c319-35a1-cf8a-07f78904ecfb@netscape.net>
 <YvjyNdH+X0dwjj+f@kroah.com>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <YvjyNdH+X0dwjj+f@kroah.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 1410

On 8/14/2022 9:01 AM, Greg KH wrote:
> The To: line had your address in it, so it was sent to you, and again,
> it was not encrypted as you claimed, but rather just signed to verify he
> was the sender.  That's not making anything difficult for anyone, so I
> think you owe him an apology here, especially as you are asking him to
> do work for you.

You misunderstand me completely. I am not here to ask Juergen to do any
work for me, he is the one who volunteered to fix a regression that affects
my computer, so I am interested in what he has to say, and I am on this mailing
list to find out if he, and other Linux developers and maintainers, are the kind
of people I want to have writing the software that runs on my computers.
I don't have to tell you what my decision about that is, but do you really think
I want people who refuse to answer my questions about the software they
are writing for my computers to continue to be the ones I rely on for the
security and stability of my computer systems? If you think I am that stupid,
I suppose you also think I am too stupid to receive an e-mail message that
Juergen tried to send me earlier today. The fact is, Juergen is the only
person I am aware of who has tried and failed to get an e-mail message
delivered to me during the past thirty years since I started using e-mail.
That's quite an accomplishment for Juergen to achieve!

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 20:53:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 20:53:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386860.622870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNKbu-0007ck-6e; Sun, 14 Aug 2022 20:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386860.622870; Sun, 14 Aug 2022 20:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNKbu-0007cd-3h; Sun, 14 Aug 2022 20:53:26 +0000
Received: by outflank-mailman (input) for mailman id 386860;
 Sun, 14 Aug 2022 20:53:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNKbs-0007cT-EU; Sun, 14 Aug 2022 20:53:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNKbs-0003nQ-9v; Sun, 14 Aug 2022 20:53:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNKbr-0007CM-NU; Sun, 14 Aug 2022 20:53:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNKbr-0005iw-Mn; Sun, 14 Aug 2022 20:53:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LFtWARKnervNKZoJv6Ti6GbSIv3/3oGVflu7GGMxxxA=; b=pV1rllQz8wNL9YoVEwHC/mbWdp
	BrH89TG0NBwe03ihB4kzTO2GSTyZbbJnZaZzmlaYW4Gnsp4MYO1lCwEzexBfEixYM6rG+pDecZpct
	SfgIBBk1MiP7lV05r2fUBIOCZMuNqYg9527+NMmLc0q1WJOIOfbUieCB27TtW32XjRRc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172516-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172516: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 20:53:23 +0000

flight 172516 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172516/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 172503 pass in 172516
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172503 pass in 172516
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 172503 pass in 172516
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail pass in 172503

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   10 days
Testing same since   172384  2022-08-11 11:13:58 Z    3 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 22:09:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 22:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386871.622881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNLnO-0006Jc-O7; Sun, 14 Aug 2022 22:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386871.622881; Sun, 14 Aug 2022 22:09:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNLnO-0006JV-Kr; Sun, 14 Aug 2022 22:09:22 +0000
Received: by outflank-mailman (input) for mailman id 386871;
 Sun, 14 Aug 2022 22:09:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNLnO-0006JL-8Y; Sun, 14 Aug 2022 22:09:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNLnO-00054H-6c; Sun, 14 Aug 2022 22:09:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNLnN-0002lS-LI; Sun, 14 Aug 2022 22:09:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNLnN-00085D-Ko; Sun, 14 Aug 2022 22:09:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9wf/6XkuL+bXVhQOGimNR2mtnzhww1VRH8Q75B77MGY=; b=IFvk0aZFbmLIWOZ8Zurn3E4Eww
	AxryFm5zO1KiWZq2wCZGgUd58wQddFDDd+ahLJ9sQ7lYgI0ILlG5w7JzKtCR2JKoMlpHsgIeMC1em
	Rbs/CtCA4dsoM2HL5lW7oyqTA+Nxpl/fN1iT+cMWLf3WYd6bk8N71j1htYMZCCoDciV8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172523-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172523: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 22:09:21 +0000

flight 172523 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172523/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install         fail pass in 172515

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   92 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   24 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 14 23:15:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Aug 2022 23:15:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386883.622898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNMos-0004rJ-Eh; Sun, 14 Aug 2022 23:14:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386883.622898; Sun, 14 Aug 2022 23:14:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNMos-0004rC-BI; Sun, 14 Aug 2022 23:14:58 +0000
Received: by outflank-mailman (input) for mailman id 386883;
 Sun, 14 Aug 2022 23:14:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNMor-0004r2-Oy; Sun, 14 Aug 2022 23:14:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNMor-0006DA-L4; Sun, 14 Aug 2022 23:14:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNMor-00079p-89; Sun, 14 Aug 2022 23:14:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNMor-0006a4-7h; Sun, 14 Aug 2022 23:14:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bM/cQ6sFFz4gi+lpfg6OThae3ITa/R0w+rnPHYHBywk=; b=CgQr4Yfyotqwh3y7hVaRvdJPZp
	L42ORPxJ8xTAKWEmQk6TQGOtzdAulmjjL4P3Mz5w8lMorLX0cEnS8DaDn3l1crQW+pip45zTqW9Dv
	rXSLL1tfIfR+It3jjJ/D8n9mAF4/sCSO0E4ipkHo7QNKjtVwt5XSm8aan6/HdxwXAn2o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172518-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172518: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=93f3dd604825824a7239aaf704baf74730aa3007
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Aug 2022 23:14:57 +0000

flight 172518 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172518/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 18 guest-localmigrate/x10 fail in 172507 pass in 172518
 test-arm64-arm64-xl-vhd      17 guest-start/debian.repeat  fail pass in 172507
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 172507

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                93f3dd604825824a7239aaf704baf74730aa3007
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   11 days
Failing since        172148  2022-08-04 21:39:38 Z   10 days   26 attempts
Testing same since   172459  2022-08-13 00:08:42 Z    1 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1488 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 01:33:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 01:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386895.622915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNOyJ-000064-El; Mon, 15 Aug 2022 01:32:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386895.622915; Mon, 15 Aug 2022 01:32:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNOyJ-00005w-Bb; Mon, 15 Aug 2022 01:32:51 +0000
Received: by outflank-mailman (input) for mailman id 386895;
 Mon, 15 Aug 2022 01:32:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krio=YT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oNOyH-00005q-EC
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 01:32:49 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140045.outbound.protection.outlook.com [40.107.14.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2af18a5c-1c3a-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 03:32:47 +0200 (CEST)
Received: from FR3P281CA0152.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::6) by
 GVXPR08MB7701.eurprd08.prod.outlook.com (2603:10a6:150:6d::20) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.28; Mon, 15 Aug 2022 01:32:42 +0000
Received: from VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a2:cafe::d9) by FR3P281CA0152.outlook.office365.com
 (2603:10a6:d10:a2::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.14 via Frontend
 Transport; Mon, 15 Aug 2022 01:32:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT031.mail.protection.outlook.com (10.152.18.69) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 01:32:41 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Mon, 15 Aug 2022 01:32:40 +0000
Received: from 5133d6e46419.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D1982C88-CFD6-4AE4-8795-CC1462DE2CFE.1; 
 Mon, 15 Aug 2022 01:32:35 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5133d6e46419.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 01:32:35 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VI1PR08MB2829.eurprd08.prod.outlook.com (2603:10a6:802:22::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Mon, 15 Aug
 2022 01:32:33 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022
 01:32:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2af18a5c-1c3a-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=U5Fv3z8icS4LrwA3OvK2O78tg1HWeQuwspsCKkioWhzD+Gqy1Mglg/QjEkW39bYL9yDgoXvhyAd7ybonpIK9CtYnP0d18yWu7O4Xj/BN+QuY+1vUDfSaVRWCyTCsXviXhnpW1fQWapsSDlk86zTL3MnoKghFcJMZyTy6iRxEnU4HUcc+IldCBRhTjo54cS1AgZlzpB/v08Jn0xQYKLdweFPj+5Fcl270YPYBszTDxE5PYRR+tayGb8wieCUhIq80CLcCZHNqZxOo/Fax+9/T+xb8ybbnJlBnu15iq8bg3tRw3oOeujbbmT2pLkTx57yRbrNdLwUfnye0IEXf39Nnqw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wubEVuQyxDk6rQ2SzOEHrd5uU5tExPH/s+Ozmcrv4Q0=;
 b=QyGXb6A0op6yQCBDmhbwZ8ifjcPmBCwiESirqkDahi97flYqjQSakABnZdr8o+RskiMrnZtWPyEOIqwxSWcK/5IrpY7vHzaud7QcMxJiVD2tFegZbOwuSd/yvQ5evxZozzRunEy/h2zl6pLKJz+gOkfD5jx44RWXOgUNnz17Hlb6tw4e/uFVOgLdJXV8Hyy7Wf1by8ohFfIBQZmDmLqBSWc2PU7ZJAIvYSyaSYEy6z1CMcwXlQbQBSxEsjNM1cbFBQ3thI3+K2Xut9LJZvMUcNTE/NtJit4dyfkl9rc6zBRw2iFwDPeSRPx5y6mALJdNTNaNcrMHbwGqYuXKw7NZQA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wubEVuQyxDk6rQ2SzOEHrd5uU5tExPH/s+Ozmcrv4Q0=;
 b=wMgvfXguCSq+jDt8FCiBylOTRKoTCLNbMalOl07moEH5oyP8Z/FcSNOhem7+HZ7f/+tCxtW8FvGNREoQs/jJHsBZUYffG9FRidds+CVF2b3QVDOh4WjzOy7hFk0Cc7xr0sOHE1oEMXg7kxdkE6Ptz8kajjKoOYXAQNYrxL4a6u4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VyrvQD3txX32gZZ4jFTHCDnUf2VeIuf+SX0RwnbBZJuWNQRooXG/f1EUIblmbuBRobZx/IlBpEGvItoBeiDgcbOBkcXiHtaYKBiIUvUcvm2ifnQ/x7RE5E1+jLUVmPGH1HzhDDKeFP/GgdAp5lhkmkK6MjE+g3ecSGyoM5+p5KbZn9eWsKTrNzAKJxm0T0X40en+UXeJ3HNAuD84CiIPkPcDfjFCdNMHhrktfcJng0A6ju2xsthKYhPtKpg+ngPL3wONRPFLUSDwbL7OlCxQQuEyKBq+zJSKh8hJbkcF9XCdiVquzeM4kE7i+q4dCxcynhLS24JTZBBsnmM+P8IyLw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wubEVuQyxDk6rQ2SzOEHrd5uU5tExPH/s+Ozmcrv4Q0=;
 b=af9GdzqW8uCHXXkSZDIha3pOgUKTki82EIz9PFc2lc71odj4N21AaSonWbObWzn2erlh16RVIhkTqU525X84Oz+gdvxusRDrw/txPj6exuUZOF+eKy3Eazu0Waoififuhlw/TAJmQafMLQJqfiSkL8M2bzYxZg6iiYe5wgQYKfdEpdi4+qLfCyF6VqGBNcxi05H2Pw3PDY+FrOjyVcPgdB6L9qbj0zE/FNcmCtRi2yp7k+Io31EmVf1DMNCOGCFc14mHi82FxCbNTMmPcAtFMjlxuWPROOcm46HAANmcRKHB+RJZg1ZPsSq68HpixPz2+p6MdZiivjWFEWyQCB8ZPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wubEVuQyxDk6rQ2SzOEHrd5uU5tExPH/s+Ozmcrv4Q0=;
 b=wMgvfXguCSq+jDt8FCiBylOTRKoTCLNbMalOl07moEH5oyP8Z/FcSNOhem7+HZ7f/+tCxtW8FvGNREoQs/jJHsBZUYffG9FRidds+CVF2b3QVDOh4WjzOy7hFk0Cc7xr0sOHE1oEMXg7kxdkE6Ptz8kajjKoOYXAQNYrxL4a6u4=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 6/7] xen/arm: Tweak the dump page-table walk output
Thread-Topic: [PATCH 6/7] xen/arm: Tweak the dump page-table walk output
Thread-Index: AQHYroFQUZiO2c5J4keVr4CPZKE4rq2vL/PQ
Date: Mon, 15 Aug 2022 01:32:26 +0000
Message-ID:
 <AS8PR08MB7991337774EB40FF2CF1D44292689@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-7-julien@xen.org>
In-Reply-To: <20220812192448.43016-7-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 7FD1342577AD6E4FA951A5D373892439.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2ae8358e-8542-473e-a2d0-08da7e5e0b86
x-ms-traffictypediagnostic:
	VI1PR08MB2829:EE_|VE1EUR03FT031:EE_|GVXPR08MB7701:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 T3Ndmj6luxwdTVRVWUUh+uSBrU6IHlI+ZbxLMOmfnT7X91C+x7YHjlDGOQ5We7KH8nquVZF8HB9tkwCvh2Zjvy2hlERYypQUZToy0jxHtU3itvqdTcq0Dv3gOAuDUkPwS9Acymo/6h1o4oSsyLTRMfk2KfOxip/5PwvxCDK2HuKH91lJWD4co1qQkQrbdpoAijBbHe7ktOq1jLp3HjczzkSvuL0YSlszdT3lx4tnfJ0BpB2Hh3Z3Kk+lwxaEyu9sCQbIe8a/lU54FU+fuCf7QBcTrMpsKboymqoUX1hA3d7V5fHsJDpRe6dyTNyNk1MK8oJizzm17Yr6SWYRw0ZNXaOSgebgttYeGm+csteHaDekgWTAI5Zi0a7zefywDtuqJLySyLohs5LGATEwZHd34wcbL222NMdTud5TDmxB2qCIDs0koCqJRSkHTRDYD69Kp8BUT6TFkV0ys/SSTKpXUuL7beG1QEgXntUGu9AZIAJdUHIeLpoGZ+QCUAAD+7z++lCpnvH3uHQUVfc82rQeGVeTB9A7FMuWME444n//vACNrGFC/Oq0H0wFjHfUu4TKYIka1TYz5aWh5bkLq0an1HoOC3t5Rf8PmCdrIBPhsWJyYuhoCpSh1xoV7zlbXuAtQgvZFB3Dqcd4n3XEco7g6KePMqgLEUHmQOFWgQ8Rw+Ef5rRYehL7QKR5MFuKN+LVFZIcxDYtA9F2KBJLfk25/0uiCnjbRib8ZFtRDoUIlMZ4pLMy83llATTWRflqPNBrkGQcL0/eecTnK2wPe4RonRuYEHXdVRcIER5zlHxs0tZSHeXsk9C5TjKu11HCK3O/
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(39850400004)(396003)(366004)(4326008)(38100700002)(122000001)(38070700005)(5660300002)(76116006)(66946007)(64756008)(66556008)(66446008)(8676002)(66476007)(186003)(71200400001)(478600001)(26005)(41300700001)(6506007)(7696005)(54906003)(9686003)(83380400001)(316002)(110136005)(4744005)(8936002)(86362001)(55016003)(33656002)(2906002)(52536014);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2829
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	333a2554-1f1c-4c4e-b8b6-08da7e5e02db
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CLMTD2tdpj82GXyuivl4ci9+0fNdi9uKTVA7SegZQL0KJc2FZfv+6G2HfNRg/+esrT42cKPRvxaz5S7wKPGuda/7YgWrJd9o8KPf+l5++uBAFjFtpvbISjNrLbJhDh8WR5dMiHKQPvkr0vGg9WGs4tPITMZ8Sh+foGEndfTMZ9xq7nzzEFt2dC9Kl0ZWFQGGv/fVzYJeILPybU0AfLT9T3vgFTbSHY5bX9qfv6YM0zqq8Vnl5pLZui0HHjWiNRJE3bfGAlZHAPu0BrsOiA9exvMjq2MPLlrNFb4a1gKIVGxH31ExbiBsC+OfCr+ClIXtmO+s6DjN6yiKle+rgje30kbXu0vz1sfhLl2HFdg/6Dx5Z2BInWvl2xKj6JcvrRXODNlynBEYKIUMOb1fZL79DShG5Ub9lTUQU2XTxphtAjtgry8LH+l5WaPLS6GZaT/lRQfduxBYobSPuQi/2bN+77GtJfKs5lyRZzM41fzjPkzz8EuC0tr1FW5ZkDBuqOEwh3zzOS4/VB+DRApO324rSyHkMj4HFc1w+nVycAlae1ZLKtwCytOvIjXiksktaic5McLg9sa06ExrjMqJpX4KnNPu7lBwxmflgU2NPWB/HZfImHRwSb4g/wp62s7/76qozi10CKxuk7hSWYz8eMqdEq+sX3tnOOoetLXP+3mLeK3/DRwCNdKe1HwJEzH/QIs7a8Wz6gfG+kk3aI05v6JOKH08mqBp9oxpaZOyHyMQ58l8NH6kyfWjq17wTxq6S5D7caUTmJeE1ArFOk0pPqWyVw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(136003)(39860400002)(346002)(46966006)(36840700001)(4326008)(70586007)(70206006)(8676002)(316002)(54906003)(110136005)(40480700001)(55016003)(82310400005)(5660300002)(4744005)(52536014)(8936002)(2906002)(82740400003)(81166007)(36860700001)(356005)(86362001)(33656002)(41300700001)(478600001)(6506007)(7696005)(83380400001)(26005)(9686003)(107886003)(336012)(47076005)(186003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 01:32:41.0651
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ae8358e-8542-473e-a2d0-08da7e5e0b86
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7701

Hi Julien,

> -----Original Message-----
> Subject: [PATCH 6/7] xen/arm: Tweak the dump page-table walk output
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Currently the output is looking like:
>=20
> (XEN) 1ST[0x1] =3D 0x000000004015ff7f
> (XEN) 2ND[0x1f] =3D 0x00500000bfe00f7d
>=20
> The content of the entries are not aligned making a bit trickier to
> read (I appreciate this is a matter of taste).
>=20
> Align the values by forcing the index to be always printed using
> 3 characters (enough to cover 512 in hexadecimal).
>=20
> New output:
>=20
> (XEN) 1ST[0x001] =3D 0x000000004015ff7f
> (XEN) 2ND[0x01f] =3D 0x00500000bfe00f7d
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 01:36:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 01:36:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386904.622926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNP25-0000nQ-3j; Mon, 15 Aug 2022 01:36:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386904.622926; Mon, 15 Aug 2022 01:36:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNP25-0000nJ-14; Mon, 15 Aug 2022 01:36:45 +0000
Received: by outflank-mailman (input) for mailman id 386904;
 Mon, 15 Aug 2022 01:36:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zthq=YT=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oNP23-0000nB-Dk
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 01:36:43 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80050.outbound.protection.outlook.com [40.107.8.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b70dd57d-1c3a-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 03:36:42 +0200 (CEST)
Received: from AS9PR06CA0550.eurprd06.prod.outlook.com (2603:10a6:20b:485::11)
 by GV2PR08MB8196.eurprd08.prod.outlook.com (2603:10a6:150:7c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 01:36:29 +0000
Received: from AM7EUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:485:cafe::31) by AS9PR06CA0550.outlook.office365.com
 (2603:10a6:20b:485::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.16 via Frontend
 Transport; Mon, 15 Aug 2022 01:36:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT021.mail.protection.outlook.com (100.127.140.243) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 01:36:28 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Mon, 15 Aug 2022 01:36:28 +0000
Received: from c736debfd267.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 094D319C-76BF-4E2B-AEB4-2B4D42BD1098.1; 
 Mon, 15 Aug 2022 01:36:23 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c736debfd267.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 01:36:23 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AM6PR08MB4584.eurprd08.prod.outlook.com (2603:10a6:20b:90::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Mon, 15 Aug
 2022 01:36:20 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 01:36:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b70dd57d-1c3a-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Dz4+W5JwG7JAZzh4mizsH1ZW0CyapJiAK85cwJi2V+MNRCyc/Nw2B6W7CNwibUkb8c+vuBnylDuDPSJiMnf0Yl+JtLdbLpRwMLW8DuIr5ATQbTR0epbcyOZSd7BJI3pXmUZ8QPgfRrBRhjjxBBh1HzyOxb3/g2qOa34hPOqH6zdprvamxLQRd1TRV219+B0EW2D3ugufyKWjSwV6Vjzh+FOFoBig+GT5X5WWyEY+yVU5kbJrJZSHFYvno6Yihxqvco/7XRsmaSI2kNCHDmHsCkERzL/ppgeENEbmg224aNukIigs2/hCPv6mJL6VBHdJ0vFxeghtPoXCl17DIuUbbA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MD9AcI6josYGeCEXq7jU3pVCX60dvpLBxZ8R8+chxXE=;
 b=b/F2GHnbtAdmiJn85/ajUyoks12POaBhGrtFsMeKWLzIg4rsmxzNMDTTv9l9Lz196SnP4qcv+EDRarGailURTTPdIxtOb95/zbAhsN2dBOtXH8f32z4Sp1ctz5wDPHEaByq+W1CbcUFb4v1e6wNuW55ZjAwAz1GRMKCKnG1RIc1UzS8BxFJhFdf3QUWi9TbxQlbhR19r9SipsNtYnDMmeKMVtzDtaM59On6Qvd98aTvik2irVWHme1w/eIvEIxGquEtaW1QuuYnkyGKnA7EI5XANPekKwKyLEqDNOPvPGnlzBjSG5bzB2q9ZsGlvdk8e2V5N/T6d1Y6atT3F6OWs3Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MD9AcI6josYGeCEXq7jU3pVCX60dvpLBxZ8R8+chxXE=;
 b=3Q5A7eSRGwfafaYi4++14OQnAeMWP+kPhHkuQelOcZw4mtZ95DdI+GmMFo/YoYcWCRbRT/6E4MSw7k52881zG8fa25mYoOzTkisUEGa2L+8q3qjeYq/22UMXnR5GV6jcBqKQI9m/XKbc/pBCpYRu/ZkiXGBhw02qx4pwA5nCc+U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=becSCRteeFBhrzDXkznofgoYbwAJKG+FyH7oCB/B9oowedY3Dz6SkLMwq8PjFX72dCBpwyzFtPscXwhP45SonorzyEUBOo6/tEGB2MNMnBHxkAgs70LDlNrk3lLPm/AeuuxXct5jhgnDFmeHKzhQhqQoBp4CmEaxi+pN+e84pkD19jQTy0x5xlbnScECF4VpWhcS01/oG7aG4+ZjHJ2wjiOa7vWCO51qU6o+7C8xbKGFKMNYVp+Z9Ccoy2yMfzXZP7z+RTIRsr3hwx/wAKjpnRoBWsWKvhEV0snpx0gAb+iEPBcSeizSeHAiJENZISisHslDZagBY5cGxMloG9KjHA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MD9AcI6josYGeCEXq7jU3pVCX60dvpLBxZ8R8+chxXE=;
 b=Sma5kT+se81Bq613TGsAmwi181BKtM7O3fQOADoWWDqZeIq4ywIhexYMVSHdAYG6JfWWJQMXEAABQat6kxaMg4VvyRMWw3mO3ta424tcAuIC8Ju9w8OceowiW0OO/LdlVExHVAHH2xOp2HWTKjL0SXMbQQ2EHbW84oXhBK/7f8tL5/VFUntJN7jiDmj47Z1IpQNG8bHbl9wBd8xvRjeiUZVmPjvksOznGaauMXsVrfRQbuii1BtK7mvFuKODxp1BB/NV5crihlsZwyPw/eHlyZ8QaWxOj1xm+zB24tv0bGnazLPTq+CiFHJ1GGmdRCtvP7HKZ6VHC0lXAddszcy7nQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MD9AcI6josYGeCEXq7jU3pVCX60dvpLBxZ8R8+chxXE=;
 b=3Q5A7eSRGwfafaYi4++14OQnAeMWP+kPhHkuQelOcZw4mtZ95DdI+GmMFo/YoYcWCRbRT/6E4MSw7k52881zG8fa25mYoOzTkisUEGa2L+8q3qjeYq/22UMXnR5GV6jcBqKQI9m/XKbc/pBCpYRu/ZkiXGBhw02qx4pwA5nCc+U=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 1/7] xen/arm64: head: Don't set x22 and update the
 documentation
Thread-Topic: [PATCH 1/7] xen/arm64: head: Don't set x22 and update the
 documentation
Thread-Index: AQHYroFIQn9s3NohHEWvCLSRgBfZSa2vMCzQ
Date: Mon, 15 Aug 2022 01:36:19 +0000
Message-ID:
 <PAXPR08MB7420AF7171C65086D4BDDF019E689@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-2-julien@xen.org>
In-Reply-To: <20220812192448.43016-2-julien@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9F25CA698164754C96E6C8D2EA0DC862.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a63aa50d-9974-4506-293a-08da7e5e9359
x-ms-traffictypediagnostic:
	AM6PR08MB4584:EE_|AM7EUR03FT021:EE_|GV2PR08MB8196:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 oQ3yPStyzp/t46xq+xtjn721PxaMGRGTEkBh0hWvuOlkmrGm+sYMQn7W/+AP4K8keEgN7nkOlFtXc9X4wWyzUQPNIUAkv5aSuTs7yl/BSqpyYLNaRp6dYjAW/enoSuSTITxx/snUAB0HD9PP2dx3kBZyX+PftyAz2AILZSoKN6/M3uGMnkvr4l2U/R2R0DrEsGhPaXPEPBnsVQDwUoRrJSoYjinG3y4bf+RDRCEeMfXkCLhlpmelcj2fUqtKC1gPRaHkcosOxh4+c63E3Mjz6bgj6MUi69igev+hVZ7yJYDNU0UwPgugyI5qmXht7JJN1NMQhBFOe4hwgvAYXSqnmG0ywqF/dREmFRowHV8zXSFgd3215oRd28SR3saei6TwhZzGJ7wIMnGT4aVVaqfpBwLSHmQn3OC6FDBOqIMMr5feCMfnBRNEByC/cEm+Oyc2flTZs65n0dg3kwdxCQvh1aTP8yN41re2rrJVdme37wKoKGwUefHQQqE+i5fX2f5Uh0+k0lIk5LJPOHGw6SK7EhoC2unStf3GUA/OOqGlVRxCXYIFG34ndq2nvgecDQc5u/oan3C4ArpkcpQvPUnDrHll82FIdevi4IBKd0vlY6047QKELoTYsTefPivCfeRs+7vWn9m2dU4e0d5GEIv0WsL/9n2vvrpp6dktJHrtg+l6NIXrjjquvzu+uzuopmr4pd7I/lq/gF8vkH6iw58Yg1fa/Ix+NxEzk3bkms23L1gSOMLtx9HZGDs2o7GodnFrP1jZYcCtncTpY7QGzjjtaTOCKSI9opBerZPK8oTPcxGb3nrwJlkuMIuud/W1pSna
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(346002)(376002)(396003)(39860400002)(26005)(478600001)(33656002)(8936002)(83380400001)(8676002)(9686003)(71200400001)(186003)(110136005)(316002)(54906003)(64756008)(4326008)(66556008)(76116006)(66476007)(66946007)(66446008)(52536014)(55016003)(15650500001)(5660300002)(2906002)(41300700001)(6506007)(53546011)(7696005)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4584
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a292f4c0-1f54-4ee1-d095-08da7e5e8dea
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YFEWRfhBVoAnfXMRTncCQYP4R87BQ2ne85FIEQrLd4Zjs3iG3zmzQlKjIrMMUIKj7ANEBJT4i5E1VWT7KiFKFJWs8H7F8EXUPMhNBdRLETK7Y8/jqLucr2go2d+38iC3QUf+EXoyazsAKRcyDqEv8vNH1gqDEFu0eCtuR9tmtno1r2T7oUwk/fJJEpXoWD91SosNbesSjsOKPnaoeDkiEDm8OVl6VuQ7CSTGaQBmrtLDwlUJQdijmXrxNInt2drJSSjJIq51rQ+UwjA1XpVDDQioMXIx49wR4iMBPHoWARC7heZyxb4YTxIUwWNsnykV7lDMWZ4HHIgiqwmaVO4SjPfaZRwipf+hqpUrSvnfvda+Bd78H01rxtf4lGhHPz7V4NuypK6n0gvja6fKGSSRm8IWv5U+rf91U4j6DQuIaFz2QBdwluqwAjtj2gdln486RYzMdfVWsy6Y8ZQBIjf1MMYTwjx962nRDJC7eyer1NNoRr9nJ/hg4Tiq3Kz7p/xidwbSQ8aqCoGhTZs05FxvGIg2TFHb/TRKaE0Wm2hKN3f3QDl2wiM1wO1EQ7Z+eGNKZ/9roSrdVnKMENXh3m+xM2AtW1NrCnT/nPULQeiBJrXEf86J/WbRX1SuW0S+dpK2dxf2Qx4lJ+mdPnmMjYOFEhnEnAV35oAqAHVYsV6QhuqGShkpiAvhv3BYUpwEksN6mV8HE2kjNeW4WdTR/ZVU8+XsR3JIjlqi5y98IjfjC4KPzeoOzfDPRsOgR0ybtfOW8WMgNUaW8JLnVCKmVsDL0A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(136003)(346002)(376002)(36840700001)(46966006)(36860700001)(81166007)(82740400003)(83380400001)(47076005)(186003)(107886003)(336012)(9686003)(53546011)(7696005)(6506007)(26005)(41300700001)(478600001)(54906003)(82310400005)(316002)(55016003)(40480700001)(4326008)(86362001)(8676002)(110136005)(70586007)(70206006)(15650500001)(2906002)(33656002)(356005)(52536014)(5660300002)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 01:36:28.9841
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a63aa50d-9974-4506-293a-08da7e5e9359
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8196

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFhlbi1k
ZXZlbCA8eGVuLWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBP
Zg0KPiBKdWxpZW4gR3JhbGwNCj4gU2VudDogMjAyMsTqONTCMTPI1SAzOjI1DQo+IFRvOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gQ2M6IGp1bGllbkB4ZW4ub3JnOyBKdWxpZW4g
R3JhbGwgPGpncmFsbEBhbWF6b24uY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pDQo+IDxzc3RhYmVs
bGluaUBrZXJuZWwub3JnPjsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0u
Y29tPjsNCj4gVm9sb2R5bXlyIEJhYmNodWsgPFZvbG9keW15cl9CYWJjaHVrQGVwYW0uY29tPg0K
PiBTdWJqZWN0OiBbUEFUQ0ggMS83XSB4ZW4vYXJtNjQ6IGhlYWQ6IERvbid0IHNldCB4MjIgYW5k
IHVwZGF0ZSB0aGUNCj4gZG9jdW1lbnRhdGlvbg0KPiANCj4gRnJvbTogSnVsaWVuIEdyYWxsIDxq
Z3JhbGxAYW1hem9uLmNvbT4NCj4gDQo+IFNpbmNlIGNvbW1pdCA3ZTE0YTQ3ZTdjNzMgKCJ4ZW4v
YXJtNjQ6IGhlYWQgUmV3b3JrIGFuZCBkb2N1bWVudA0KPiBsYXVuY2goKSIpLCB0aGUgYm9vdCBj
b2RlIGlzIHNldHRpbmcgeDIyIGJ1dCBub3QgcmVhZCBpdC4NCj4gDQo+IFNvIHJlbW92ZSB0aGUg
dHdvIGluc3RydWN0aW9ucyBzZXR0aW5nIHgyMiBhbmQgdXBkYXRlIHRoZSBkb2N1bWVudGF0aW9u
DQo+IHRvIHNob3cgeDIyIGhhcyBubyBzcGVjaWZpYyBwdXJwb3NlLg0KPiANCj4gU2lnbmVkLW9m
Zi1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4NCj4gLS0tDQo+ICB4ZW4vYXJj
aC9hcm0vYXJtNjQvaGVhZC5TIHwgNiArLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy
dGlvbigrKSwgNSBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v
YXJtNjQvaGVhZC5TIGIveGVuL2FyY2gvYXJtL2FybTY0L2hlYWQuUw0KPiBpbmRleCAxYmFiY2M2
NWQ3YzkuLjI2Y2M3NzA1ZjU1NiAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gvYXJtL2FybTY0L2hl
YWQuUw0KPiArKysgYi94ZW4vYXJjaC9hcm0vYXJtNjQvaGVhZC5TDQo+IEBAIC03MSw3ICs3MSw3
IEBADQo+ICAgKiAgeDE5IC0gcGFkZHIoc3RhcnQpDQo+ICAgKiAgeDIwIC0gcGh5cyBvZmZzZXQN
Cj4gICAqICB4MjEgLSBEVEIgYWRkcmVzcyAoYm9vdCBjcHUgb25seSkNCj4gLSAqICB4MjIgLSBp
c19zZWNvbmRhcnlfY3B1DQo+ICsgKiAgeDIyIC0NCj4gICAqICB4MjMgLSBVQVJUIGFkZHJlc3MN
Cj4gICAqICB4MjQgLQ0KPiAgICogIHgyNSAtDQo+IEBAIC0zMDUsOCArMzA1LDYgQEAgcmVhbF9z
dGFydF9lZmk6DQo+ICAjZW5kaWYNCj4gICAgICAgICAgUFJJTlQoIi0gQm9vdCBDUFUgYm9vdGlu
ZyAtXHJcbiIpDQo+IA0KPiAtICAgICAgICBtb3YgICB4MjIsICMwICAgICAgICAgICAgICAgIC8q
IHgyMiA6PSBpc19zZWNvbmRhcnlfY3B1ICovDQo+IC0NCj4gICAgICAgICAgYmwgICAgY2hlY2tf
Y3B1X21vZGUNCj4gICAgICAgICAgYmwgICAgY3B1X2luaXQNCj4gICAgICAgICAgYmwgICAgY3Jl
YXRlX3BhZ2VfdGFibGVzDQo+IEBAIC0zNDUsOCArMzQzLDYgQEAgR0xPQkFMKGluaXRfc2Vjb25k
YXJ5KQ0KPiAgICAgICAgICBhZHIgICB4MTksIHN0YXJ0ICAgICAgICAgICAgIC8qIHgxOSA6PSBw
YWRkciAoc3RhcnQpICovDQo+ICAgICAgICAgIHN1YiAgIHgyMCwgeDE5LCB4MCAgICAgICAgICAg
LyogeDIwIDo9IHBoeXMtb2Zmc2V0ICovDQo+IA0KPiAtICAgICAgICBtb3YgICB4MjIsICMxICAg
ICAgICAgICAgICAgIC8qIHgyMiA6PSBpc19zZWNvbmRhcnlfY3B1ICovDQo+IC0NCj4gICAgICAg
ICAgbXJzICAgeDAsIG1waWRyX2VsMQ0KPiAgICAgICAgICBsZHIgICB4MTMsID0ofk1QSURSX0hX
SURfTUFTSykNCj4gICAgICAgICAgYmljICAgeDI0LCB4MCwgeDEzICAgICAgICAgICAvKiBNYXNr
IG91dCBmbGFncyB0byBnZXQgQ1BVIElEICovDQo+IC0tDQo+IDIuMzcuMQ0KPiANCg0KUmV2aWV3
ZWQtYnk6IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 01:40:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 01:40:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386912.622936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNP5o-0002E1-KN; Mon, 15 Aug 2022 01:40:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386912.622936; Mon, 15 Aug 2022 01:40:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNP5o-0002Du-Hb; Mon, 15 Aug 2022 01:40:36 +0000
Received: by outflank-mailman (input) for mailman id 386912;
 Mon, 15 Aug 2022 01:40:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krio=YT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oNP5n-0002Do-1w
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 01:40:35 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2058.outbound.protection.outlook.com [40.107.20.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40ba3706-1c3b-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 03:40:33 +0200 (CEST)
Received: from FR3P281CA0151.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::12)
 by DB7PR08MB2972.eurprd08.prod.outlook.com (2603:10a6:5:1b::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Mon, 15 Aug
 2022 01:40:31 +0000
Received: from VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a2:cafe::f3) by FR3P281CA0151.outlook.office365.com
 (2603:10a6:d10:a2::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.14 via Frontend
 Transport; Mon, 15 Aug 2022 01:40:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT061.mail.protection.outlook.com (10.152.19.220) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 01:40:31 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Mon, 15 Aug 2022 01:40:30 +0000
Received: from 914a771fa467.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AB5FAB7B-6725-4AE7-B8D8-8E47BD6EB4B7.1; 
 Mon, 15 Aug 2022 01:40:24 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 914a771fa467.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 01:40:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS1PR08MB7401.eurprd08.prod.outlook.com (2603:10a6:20b:4c7::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 01:40:23 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022
 01:40:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40ba3706-1c3b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ESNy8S0Y05FdZ2D4HHyZB+In2OiKPkOP86nRyRIMPk5LnPIbXFi2HxkBUAqMLUKzqQ8hQBiusdHI252G93QKqMfELgQOhGAr2fas9Yc3lAX4X7zezds6qVZpija7ios5n5/eb6rC54mXApK8hLRRLXWcSWQ+ZiZK+E5uVt7UFfeOdCKzCzr3SJom8BmCTZ5KVzQP4nAsIgzgaPu6n6j7K2rc4Nj6GmplGm2gcMRuNI4p4lL7Zr7rLQ0pnkqYOLoYdfJZJ7HHvS6TiybLemINtLrUoYGoIvTEaZo9HHgplgBQwRfq4iTK937ZNdppSuxN4VXbeocXnayiOR5X4CaVxQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4th/mCebd/QpOjLG0hZvSB0Lj8WRj7xm5gAcknz7osQ=;
 b=XRlnGOUNuTnpEqNoglOZAj8xvUsV0N62FM8WZHwRrens+NfocEvngZxf/jA16eBCL3nJS7bnw1vjbgx2QHww9/xaYXwSaBKYshxcfOfPKCUNGZuUOUejz8pw1JbHQtcfUlztuDO8awklh4PVniZhUNjJOf8AKwSMf+QZFomZT39wlVZiNdCB7RfOwsAgbKxEEof6t3N09TIWfzIBx2NhtR0HOEu4idD2nVHQ4mbOnw1td50J5RDhTCffRy/0qVJ3T0VMjIRyiHpQ8R+ZghyYxLBVsWMT4BicULJWOvlEJ7+0LD5yzoiNCiTeLywFYSPte4j7FaP68ewXGHRCbo2OCA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4th/mCebd/QpOjLG0hZvSB0Lj8WRj7xm5gAcknz7osQ=;
 b=lDGTcrqQBeoxNDbKJcsazDVDb/8J3HaQo/MQtP/PKQd8pTNSjbDWUYvclQtC3E3NsTwHNKAuV40BWr/c2ofQ+6Q34gXDLGJ+jyQu0/4tNpOwFZP9dPCSq9QWd7nyGNu1o+R8h9I85Kzu3BeDJpXX0oToa0+kIFXPFDrcZg6Y9Ko=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nWyKArihc7HDBfFYXcn5WhWxt5CH+nVhuoAgmfeheBjp7rSHUqrSxKbLYWltTF/BdG2O5QoJ/mvIhbwtxifDbXpqHBsvCwfwt/0WFBiFR1TNMaa5bUBPxWmKrCu5l4PFpI9TU4gC9hyAnxWofShxjrdMnwn2YW1uEnnzWTgPEGY6djQd9ltCNh0MvJX6+trRqZmgzPCQo8oaE4UmlQ0PVJuiIYSRpQ9S0zGJle6PP8H4YPwWGNJ8r9WWZqS0UTHZ25W3y9v+ZzxYBS3jXDDNE1lVMEmR0fyEL/67A/Q+GaIdynrgr0E5fO2/Ff1uwg98cre8FGusWck30ZxsiCCUDQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4th/mCebd/QpOjLG0hZvSB0Lj8WRj7xm5gAcknz7osQ=;
 b=hf7qhhFNBCw50qPmBV1hVoPEEuLLu+jWDhaNEO5BMT24Upq76TdGPccfX0Z+6yuQckytSTH0lElfsONWvm4UBtFWi9Q0PtJ/5HbSibVzNxCrjHK1TWMTkMXzUgK/E+iLrNqKeIWIlr8/KPbIpjU+myGOlXz4QeSsrKZAb1KhgM4gckplE/RWD6r4tz/p+AP/RQ+G/GmwFu0Qg2NPR9RYv86DvAEO539cNTWg/GTX8W0xQrswqvkCjGx91Z53kj98XHf6a7lJU2H5oSM42kS5aCySApJsWcymvcyvJPe8IKwW1DafgIZssahZ74SgGZWEYNYv1O4AiPupv7ihvoQgEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4th/mCebd/QpOjLG0hZvSB0Lj8WRj7xm5gAcknz7osQ=;
 b=lDGTcrqQBeoxNDbKJcsazDVDb/8J3HaQo/MQtP/PKQd8pTNSjbDWUYvclQtC3E3NsTwHNKAuV40BWr/c2ofQ+6Q34gXDLGJ+jyQu0/4tNpOwFZP9dPCSq9QWd7nyGNu1o+R8h9I85Kzu3BeDJpXX0oToa0+kIFXPFDrcZg6Y9Ko=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Thread-Topic: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Thread-Index: AQHYroFOVyqyQRSbhkS8uh6wKmYB5q2vMYiA
Date: Mon, 15 Aug 2022 01:40:23 +0000
Message-ID:
 <AS8PR08MB799170A0EF051DE12565D9D992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-9-julien@xen.org>
In-Reply-To: <20220812192448.43016-9-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 904DCBDEFF23B449993B3536E72CA109.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 104c50a6-3f09-4f7e-e1e6-08da7e5f23a5
x-ms-traffictypediagnostic:
	AS1PR08MB7401:EE_|VE1EUR03FT061:EE_|DB7PR08MB2972:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 rJLKlSSDMwUCLaRpaOYsf2CmY9hQnWSVnr04D4IAFmJw1R9eTsbZ32LvBNSIrjdH90bsfKch8IQwY0fAVbNxlccI2okXJpUp4gdSLKT1J9YOrMpfVql0HGTAQZtd2vESIDg+D1W/wx5uNW/Ufy4WNtb3Sym4uoc9hGg8PGjy/Pg79JHm+3dOGu1ndk7F1hmBya4pIGxJC5HoB3BvwcXihc3/jDQ/fOhCpAAIeltO0GO8Zu2fdLgnIGUwU0DUB0aq9EmkIMeiud4GKgNd6o4N4H6qxTOomXHDbWEGPPhPz+HfjD3WDTsWjBtCZbNc/iVH7XOQcDWbkEiZVe04deOudE9BfXIWzjHVZAW5LgmRix5oBWowHOGtUY7w39swNauFa1BrLivKf8heGcBn6HjpptF05gGDJG3nl25JhNBD42SsBVet1DOjJB/qEpPk40/GmJVxvq+7geBFGdRdzsLcY72mgjylKLJzuMuan569jwcjLeXG4N69IuPwU8U9ajCGS+YY0NAtk4B/KLH2hk9HLMGTiZurrZEdRwsoI3VWHsEmx1F4TG8aOrVotwodkk0yrNDsXmDSycLMAvbQDmlRt0YxQCxlzXgiYU48RZhTpbHp/IkmPNvYw4Bf3OtJ4arqA9Rk05fSUW4R/zKqqc/Bgeye5iholDbvTvkxvY5m7byh8dh321r65y0L5TC5pCX/dYm2EHQpNsJXVfn6zYjJmpZnlP5FXLymoyAVknenn88vznGPdFeHrQzKuc9/Mm/aUuLq3V5zVd0sUCRJmVtwEfnP2GxAi7LtLzh75PncUuXJm2wMvsYoTzW4yRMrdN9HQddHPWzDQMcZCHVB6MeAwQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(366004)(39860400002)(376002)(346002)(478600001)(83380400001)(7696005)(6506007)(9686003)(26005)(186003)(38100700002)(122000001)(38070700005)(86362001)(8936002)(2906002)(5660300002)(52536014)(64756008)(66476007)(76116006)(8676002)(4326008)(66556008)(66946007)(4744005)(71200400001)(33656002)(316002)(110136005)(966005)(41300700001)(54906003)(55016003)(66446008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7401
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6653a862-d6bc-40d4-8c33-08da7e5f1ef8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q9mmzUcWrm92ayO10XR3rzrQhJQFf71tbhtrozh1zLUl25uYW1ikwKKTrm7586imyfkgJ+aUR3qAXTlOih/vBIuiCkU+m1HHQeqXhig1lHenaJTvemp9Cu5DV+s5qddpcn9e99xpnPX9U45XNJShTa+1bNV7khpckduwCyh875eq3CHp9GN67UMJlaV9i/OT4NUJ/iHMDQELonnxdLbxD1NLtjys9Q5DKVgSIx7bV4feAH23rzI1J1dFPO27YLodc44FXl/7H3wgqSUbUmmlD7QJsLFiT2uv6mZjrbpMd3z8s16lZhHBSEbWvcqXiZTh0yhOTi2Ndg1C50Yp7EMSeMm8NLzfGX1ykC+d3SZQTMz8vNg9FKNOWHPiShNpeDf+AD6i75cK9OCi3p/Khvbuy+7l8tZAD61hI0Y2/xHUBE7YLVbskz9AZWevYrKtdzmk6+f1zkRjXqz4cZpwGI6l14WilCWEd6F80KysMYItfPGUg8HwNALQcNNZFLfDLMFOMLe95DpkW/bSwjhqJBAh0iqkIVbxN1IMbPdg78KmvPm+58Rsl8NxFFoBnRmo9/+bPrB61ygB4MO6irJEoOOJjM33DpsztNChyTB2w3XtfbrgYbR3Sgnp/ITUeqN0STNXuOJgtOUibr3HXyk69zm6nt+ZZAkLxh9j7qWlVKzav4N8LAkSJh1QYmRGMVkLO8lrYsKHATMTB1huch1Pj/053eK9Yz2U+yImTX8Yu/mUaVA5LP/XkvlODqmZenbIOonAmIgkNlXr6olvc9Y5Xu6INqOYJYI31eFfXomijrLeITBkl6jGAE1LuATMVkp2tuYl
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(396003)(39850400004)(36840700001)(46966006)(186003)(356005)(6506007)(478600001)(41300700001)(86362001)(26005)(9686003)(33656002)(81166007)(336012)(7696005)(107886003)(83380400001)(47076005)(966005)(316002)(8676002)(82310400005)(40480700001)(55016003)(110136005)(4326008)(5660300002)(52536014)(70586007)(54906003)(36860700001)(8936002)(82740400003)(4744005)(70206006)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 01:40:31.0319
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 104c50a6-3f09-4f7e-e1e6-08da7e5f23a5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB2972

Hi Julien,

> -----Original Message-----
> Subject: [PATCH 7/7] xen/arm32: traps: Dump more information for
> hypervisor data abort
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Unlike arm64, on arm32 there are no extra information dumped (e.g.
> page table walk) for hypervisor data abort.
>=20
> For data abort, the HSR will be set properly and so replace the call
> to do_unexpected_trap() with do_trap_hyp_sync() to dispatch the error.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>

I think this patch looks good to me so:

Reviewed-by: Henry Wang <Henry.Wang@arm.com>

But it seems that there is a duplicated patch at:
https://patchwork.kernel.org/project/xen-devel/patch/20220812192448.43016-1=
0-julien@xen.org/

Kind regards,
Henry




From xen-devel-bounces@lists.xenproject.org Mon Aug 15 01:46:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 01:46:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386920.622948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPBI-0002ro-7H; Mon, 15 Aug 2022 01:46:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386920.622948; Mon, 15 Aug 2022 01:46:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPBI-0002rh-4X; Mon, 15 Aug 2022 01:46:16 +0000
Received: by outflank-mailman (input) for mailman id 386920;
 Mon, 15 Aug 2022 01:46:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zthq=YT=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oNPBH-0002rZ-2d
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 01:46:15 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130083.outbound.protection.outlook.com [40.107.13.83])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0aad6e7e-1c3c-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 03:46:13 +0200 (CEST)
Received: from DB3PR08CA0020.eurprd08.prod.outlook.com (2603:10a6:8::33) by
 PAXPR08MB6384.eurprd08.prod.outlook.com (2603:10a6:102:154::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.14; Mon, 15 Aug 2022 01:46:09 +0000
Received: from DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:8:0:cafe::40) by DB3PR08CA0020.outlook.office365.com
 (2603:10a6:8::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Mon, 15 Aug 2022 01:46:09 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT022.mail.protection.outlook.com (100.127.142.217) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 01:46:09 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Mon, 15 Aug 2022 01:46:09 +0000
Received: from ae7da1886e98.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B1288F84-63BF-4BD8-B581-79408892741C.1; 
 Mon, 15 Aug 2022 01:46:03 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ae7da1886e98.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 01:46:03 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DU0PR08MB8089.eurprd08.prod.outlook.com (2603:10a6:10:3e8::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 01:46:00 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 01:46:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0aad6e7e-1c3c-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=WiFgt3Pt2ZJ/0VIZ9lE+TvSKQyBHIbEhbESoeh3Dbj1tMTU5liky3Y+A7VlQybXmhWYVeYQ/Cgyn0qm8rodVAc2Osq0ISf+BzBmf5FGXUjHd2ZKkJufHb6lm9LPsLkE/k1urCGb+ko5F2o1ak3BmijE+OdrvROQEqxhCuly+uz7ZQz7jXEWRCxhdMGOODTKQv2PkKAS5SVaXVZynzkPoquMUwzxtmQuJrz4urVuC78N6uthi/hgz0KsZoZBJQBHzipayz5vCRDGpA7BJ8RiMLTUDHOBjEOet1WJXbT6XcWBEiBbaBRtm6PvE5IZH/HYyTAWtwFINgjkry/Y/pNmKHg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d62Xc10U3aJgHrw0e6DkBNlQOHGwnvrIKRW/ha3zXGY=;
 b=ik7XXHCADDkcbOjR7OAmPwr5tTGA0g2oQhbk5pOnCUrLbg2rcznBcKtATbYLdGL5Y64ToqBsvX4K4NIUFpCNHz6ceCjWEeZ2QKMTweRqNecx81RNAyKCE69APOagDl5kKd5midiH+QhMFoihkKRiiNIjlp7lEHeeaBJc/9HZZr7qFKb+2xdL/wouVrc1EmSF+kNKbORYL+Bsg62sHBf2OrpbVFffYYo0xrVBuZ9hEUVxecltGXlsU+tKQHWNXCy8oH/zaaQcXKpCan0Q28E/+1l9mXs0sGYOFBESaBqpZlu85NuGiRpFwsxkyGLANO0+LGcPI0xIg2HxUqIvJ6Zqcw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d62Xc10U3aJgHrw0e6DkBNlQOHGwnvrIKRW/ha3zXGY=;
 b=1wKeLq6SA80QdsppSuFhUxO8x8o0/oPY5a1CKtGeHM3z6QiNl4l4akfTV3JQAEAzJErGLBRQFMiQvvGkgvrSLDsNd/FEUcDdYuSeieSOKT6mAo67RdVCvubh6sEsdAdA3Yop0m/LkZH9n3VzIJI9+o0M+UedtQiyPWpSYxIfoTE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: eb8ee22b36841cad
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QxxstXXxok/KlmVDzP2PxamstLif3ABbCzFMW+fWX0JNegiHxyYIexrWGK40hJN8s/oMd2+3YPIixjuAubmpvl/5y5cxF63fCfdXPvpARhZIsFytZbQQ68nb+ynnaNLDHlPUZfmdXMwQ9VVd0es3l0gMDkO3ZvX3nXmdWbokNA3tVui5WTeDwgISteAKHRoD+h0uPQtW2ZGdJOJ1TpS7pWthjiPcnfeJ+IwerOcPkl2o/IEAoR5VhamSnqwsReOFgyNDrgkcOs6XGvWk2aRXeEBn/zVmfDvKh1JRoEPvK4L0hKbGwo4ZW10wBxnn77wVFucbL80C9hPS9R8WfMNazA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d62Xc10U3aJgHrw0e6DkBNlQOHGwnvrIKRW/ha3zXGY=;
 b=JH3z3dE5pFPiOLgS421wlqurwjLEKcE+8gsEKbGLGWdSiYkRgXvc4qj44MY+ijhkmAYhFidVKs2Jv4Oip9ar4cOd19Oo4CY7HmZxlCaYql0+oG9i5TGAzVdKMmKCGBRFJ4O0dnvbmoob/8lVckx2kstUnJUVTm/0DuhXKV8QTsAw2EORaG2yvdna/kdvIuaFnuLarXyob9xyXbFi0WH03Qo9/e7cbb4iWBKdYkim9QoKzVpkpH5WZK2Krj9cQe/fFMIWHH9UiHQkpqw+2AmWhMoiz9aUB0RF8wASbCrUXLXGjKmfuR/VHDqLmiATsTCTqQFXghrtLnOD2fGp4pT6Sg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d62Xc10U3aJgHrw0e6DkBNlQOHGwnvrIKRW/ha3zXGY=;
 b=1wKeLq6SA80QdsppSuFhUxO8x8o0/oPY5a1CKtGeHM3z6QiNl4l4akfTV3JQAEAzJErGLBRQFMiQvvGkgvrSLDsNd/FEUcDdYuSeieSOKT6mAo67RdVCvubh6sEsdAdA3Yop0m/LkZH9n3VzIJI9+o0M+UedtQiyPWpSYxIfoTE=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Message-ID: <9c7f8d9d-f9c6-7547-5888-1b36b4619bcf@arm.com>
Date: Mon, 15 Aug 2022 09:45:51 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/7] xen/arm64: head: Introduce get_table_slot() and use
 it
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-3-julien@xen.org>
From: Wei Chen <Wei.Chen@arm.com>
In-Reply-To: <20220812192448.43016-3-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SG2P153CA0052.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::21)
 To PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: d4643a4f-6de1-4b97-6ee8-08da7e5fed61
X-MS-TrafficTypeDiagnostic:
	DU0PR08MB8089:EE_|DBAEUR03FT022:EE_|PAXPR08MB6384:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1RoqnfAlRwFmNyPeoaHtYJgmxD17VMe2ig2nBV9l6zwN8YjAQB/13fenb57WIsj3i0EpR/RmEAZJcoyDr5NWCv04GhwYVhjunPF0PYz/bcU+FQ/nW/nXTCOJ5FzQH4CCCnB42d18qRVlLVR9+/OI+VEmn0so1ZcGABr5zQSKINrXWzNrRmBimzTPkFdAteFdG5k7UPw3vKkOtNWvcWiqHXA4cPmEBMD499ZL8lOVdhze+KQmJJ7S/rnMU7bI7FYL/qCtL1PUXRoBuPgTftHO6utAkanhqWOuD6Rr3QSiEf01ANq+ZUGSXiYHfxys/I2tkIvnOSY1a9U33zl7P5qeOlSURpGZqT2BOyt3h62EtqIJFEhI0o5qZLD70mT80bcsCfqxgC8tWehPEDWyV4Wxg1OHlAoX0TZzqpitwpKKyKfzw5aOcbXkKb7EjtCo+NBMlrSGtc6hF015grwwC63mzW4bNC3xiZgwrbvQTo3TaEoVdG2eIKUXCoj63N1XrXOY5aXo8GEwhMdT4TcCm7ogIyjWQRhvGMf57Ee1pxV42xDo77LoZ2+2hHZca3eqGRcCVYmPvRrGxEe7vdX6m20meqybYaehxScJGPFtr2tT1t0JJkzNgpLHEHxKXgVHRMtSk7aatyzFUtaQho0spvM7FBjWhlPAA9RCgEHtCLQbvsJBjgcEjnKHCC7Yyq9GFIxJSWwQZXi1gG5zBIk8GfossYjKPLJUtQrCEVs6L00F/y4lmqgn+C5zgrUhAUgdaMMrtP0KNrWGj6nIGVxMDSpTqtQuR9HFmQ6T98lH2EfgsVJMwOuslwj17USNL6YULyd+ZisK9kvlvkYMl5oFc8VC2w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(366004)(396003)(136003)(39860400002)(478600001)(36756003)(2906002)(8936002)(4326008)(66556008)(31686004)(66946007)(5660300002)(66476007)(8676002)(54906003)(41300700001)(6486002)(316002)(6506007)(26005)(6512007)(31696002)(186003)(2616005)(83380400001)(53546011)(6666004)(86362001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8089
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	662ba756-09f2-489a-fa73-08da7e5fe7c5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HggUR2zP7xLMyQpWiVnombTdOxBApExo0apbsH0Dn/z5ioXGilBw/NM/i7clQ+UJ2LE0TtiUM6klJCtogpjLKCA5ZSQ/J0MEfp4LzxYbjlpdqtvJV7eLioMjbZz6qz6MSlm5YIOCjTH0qumft8JDGuZ67Gbvsubdw1gbIFxQ+owqQFftO+08SCmAq48vyRMtyk2sPVMWI/FMbJ3bk8lE+IWXQAYFOxMXgoXOmfhI5JFUXNvHby2sLsCxiZ0VwIXpAMvPRpOSm9AqlWv4H7lF9wU7YZ5pE2+P7ACpXb3bReqsIUztgtYRsPOgJuf1rwuoJcdWLrO5N2yo0Oel7j24PVS9wslWNmSxeIewlFHfmLaqVc32chlwFPDxMUMLKXE9t6aueXetT5RjHcKRoD9Inq9MqLLX+ozEiDO3jVWEfBwOaklEvDgjqtk+8GngxCezVFk8cMxt/uMJAiMgY5ewqwMXYFd6RO4mafEym75/5r5lCtpZG31LsQ5JU3jWuMxD4P9IRvX/qGS280MANEpRrcU3yIylXai64Y+jPsJKSPbm0IupQzqPOo7Sem9HrbbU3X+7tCQ0/AwLTZKMBcVNAu87z62cvgmjbfZTskdo2k9DE+G3hBpwqgFXdYYjrw4vY5EfQPZjCehv+SG5WNPZwA3wTeHxDU/4MFBPVlaBIzPnZLjtPsxtTeXLicm7zzO9cxc4Jom23QPGYEU7wJMZ3naMw/33wTVqu3v7Ekj77KnaHNv28pWX3/N2orKlu+Tt6kDuV2YwApQFLkXkHM8GiO1bzfnNptANDI4/HhnGMmoQjOjx40BdpNw9jx5BWY6Y
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(39860400002)(396003)(346002)(36840700001)(46966006)(2616005)(186003)(336012)(47076005)(6666004)(107886003)(40480700001)(5660300002)(26005)(6506007)(41300700001)(53546011)(6512007)(36756003)(478600001)(6486002)(31686004)(36860700001)(31696002)(86362001)(356005)(8936002)(83380400001)(81166007)(82740400003)(54906003)(82310400005)(2906002)(8676002)(70206006)(70586007)(316002)(4326008)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 01:46:09.5768
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d4643a4f-6de1-4b97-6ee8-08da7e5fed61
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6384

Hi Julien,

On 2022/8/13 3:24, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> There are a few places in the code that need to find the slot
> at a given page-table level.
> 
> So create a new macro get_table_slot() for that. This will reduce
> the effort to figure out whether the code is doing the right thing.
> 
> Take the opportunity to use 'ubfx'. The only benefits is reducing
> the number of instructions from 2 to 1.
> 
> The new macro is used everywhere we need to compute the slot. This
> requires to tweak the parameter of create_table_entry() to pass
> a level rather than shift.
> 
> Note, for slot 0 the code is currently skipping the masking part. While
> this is fine, it is safer to mask it as technically slot 0 only covers
> bit 48 - 39 bit (assuming 4KB page granularity).
> 
> Take the opportunity to correct the comment when finding the second
> slot for the identity mapping (we are computing the second slot
> rather than first).
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ----
> 
>      This patch also has the benefits to reduce the number
>      of use of {ZEROETH, FIRST, SECOND, THIRD}_SHIFT. The next
>      patch for arm32 will reduce further.
> ---
>   xen/arch/arm/arm64/head.S | 55 +++++++++++++++++++++------------------
>   1 file changed, 30 insertions(+), 25 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 26cc7705f556..ad014716db6f 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -493,13 +493,24 @@ cpu_init:
>           ret
>   ENDPROC(cpu_init)
>   
> +/*
> + * Macro to find the slot number at a given page-table level
> + *
> + * slot:     slot computed
> + * virt:     virtual address
> + * lvl:      page-table level
> + */
> +.macro get_table_slot, slot, virt, lvl
> +        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
> +.endm
> +
>   /*
>    * Macro to create a page table entry in \ptbl to \tbl
>    *
>    * ptbl:    table symbol where the entry will be created
>    * tbl:     table symbol to point to
>    * virt:    virtual address
> - * shift:   #imm page table shift
> + * lvl:     page-table level
>    * tmp1:    scratch register
>    * tmp2:    scratch register
>    * tmp3:    scratch register
> @@ -511,9 +522,8 @@ ENDPROC(cpu_init)
>    *
>    * Note that all parameters using registers should be distinct.
>    */
> -.macro create_table_entry, ptbl, tbl, virt, shift, tmp1, tmp2, tmp3
> -        lsr   \tmp1, \virt, #\shift
> -        and   \tmp1, \tmp1, #XEN_PT_LPAE_ENTRY_MASK/* \tmp1 := slot in \tlb */
> +.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
> +        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 := slot in \tlb */
>   
>           load_paddr \tmp2, \tbl
>           mov   \tmp3, #PT_PT                 /* \tmp3 := right for linear PT */
> @@ -544,8 +554,7 @@ ENDPROC(cpu_init)
>   .macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=PT_MEM_L3
>           and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 := PAGE_ALIGNED(phys) */
>   
> -        lsr   \tmp1, \virt, #THIRD_SHIFT
> -        and   \tmp1, \tmp1, #XEN_PT_LPAE_ENTRY_MASK/* \tmp1 := slot in \tlb */
> +        get_table_slot \tmp1, \virt, 3      /* \tmp1 := slot in \tlb */
>   
>           mov   \tmp2, #\type                 /* \tmp2 := right for section PT */
>           orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(phys) */
> @@ -573,9 +582,9 @@ ENDPROC(cpu_init)
>   create_page_tables:
>           /* Prepare the page-tables for mapping Xen */
>           ldr   x0, =XEN_VIRT_START
> -        create_table_entry boot_pgtable, boot_first, x0, ZEROETH_SHIFT, x1, x2, x3
> -        create_table_entry boot_first, boot_second, x0, FIRST_SHIFT, x1, x2, x3
> -        create_table_entry boot_second, boot_third, x0, SECOND_SHIFT, x1, x2, x3
> +        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
> +        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
> +        create_table_entry boot_second, boot_third, x0, 2, x1, x2, x3
>   
>           /* Map Xen */
>           adr_l x4, boot_third
> @@ -612,10 +621,10 @@ create_page_tables:
>            * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
>            * page-tables from the first level.
>            */
> -        lsr   x0, x19, #ZEROETH_SHIFT   /* x0 := zeroeth slot */
> +        get_table_slot x0, x19, 0       /* x0 := zeroeth slot */
>           cmp   x0, #XEN_ZEROETH_SLOT
>           beq   1f
> -        create_table_entry boot_pgtable, boot_first_id, x19, ZEROETH_SHIFT, x0, x1, x2
> +        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, x2
>           b     link_from_first_id
>   
>   1:
> @@ -624,11 +633,10 @@ create_page_tables:
>            * then the 1:1 mapping will use its own set of page-tables from
>            * the second level.
>            */
> -        lsr   x0, x19, #FIRST_SHIFT
> -        and   x0, x0, #XEN_PT_LPAE_ENTRY_MASK  /* x0 := first slot */
> +        get_table_slot x0, x19, 1      /* x0 := first slot */
>           cmp   x0, #XEN_FIRST_SLOT
>           beq   1f
> -        create_table_entry boot_first, boot_second_id, x19, FIRST_SHIFT, x0, x1, x2
> +        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x2
>           b     link_from_second_id
>   
>   1:
> @@ -638,17 +646,16 @@ create_page_tables:
>            * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
>            * it.
>            */
> -        lsr   x0, x19, #SECOND_SHIFT
> -        and   x0, x0, #XEN_PT_LPAE_ENTRY_MASK  /* x0 := first slot */
> +        get_table_slot x0, x19, 2     /* x0 := second slot */
>           cmp   x0, #XEN_SECOND_SLOT
>           beq   virtphys_clash
> -        create_table_entry boot_second, boot_third_id, x19, SECOND_SHIFT, x0, x1, x2
> +        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x2
>           b     link_from_third_id
>   
>   link_from_first_id:
> -        create_table_entry boot_first_id, boot_second_id, x19, FIRST_SHIFT, x0, x1, x2
> +        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1, x2
>   link_from_second_id:
> -        create_table_entry boot_second_id, boot_third_id, x19, SECOND_SHIFT, x0, x1, x2
> +        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
>   link_from_third_id:
>           create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
>           ret
> @@ -705,7 +712,7 @@ remove_identity_mapping:
>            * Find the zeroeth slot used. Remove the entry from zeroeth
>            * table if the slot is not XEN_ZEROETH_SLOT.
>            */
> -        lsr   x1, x19, #ZEROETH_SHIFT   /* x1 := zeroeth slot */
> +        get_table_slot x1, x19, 0       /* x1 := zeroeth slot */
>           cmp   x1, #XEN_ZEROETH_SLOT
>           beq   1f
>           /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
> @@ -718,8 +725,7 @@ remove_identity_mapping:
>            * Find the first slot used. Remove the entry for the first
>            * table if the slot is not XEN_FIRST_SLOT.
>            */
> -        lsr   x1, x19, #FIRST_SHIFT
> -        and   x1, x1, #XEN_PT_LPAE_ENTRY_MASK  /* x1 := first slot */
> +        get_table_slot x1, x19, 1       /* x1 := first slot */
>           cmp   x1, #XEN_FIRST_SLOT
>           beq   1f
>           /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
> @@ -732,8 +738,7 @@ remove_identity_mapping:
>            * Find the second slot used. Remove the entry for the first
>            * table if the slot is not XEN_SECOND_SLOT.
>            */
> -        lsr   x1, x19, #SECOND_SHIFT
> -        and   x1, x1, #XEN_PT_LPAE_ENTRY_MASK  /* x1 := first slot */
> +        get_table_slot x1, x19, 2       /* x1 := second slot */
>           cmp   x1, #XEN_SECOND_SLOT
>           beq   identity_mapping_removed
>           /* It is not in slot 1, remove the entry */
> @@ -771,7 +776,7 @@ setup_fixmap:
>   #endif
>           /* Map fixmap into boot_second */
>           ldr   x0, =FIXMAP_ADDR(0)
> -        create_table_entry boot_second, xen_fixmap, x0, SECOND_SHIFT, x1, x2, x3
> +        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
>           /* Ensure any page table updates made above have occurred. */
>           dsb   nshst
>   

Reviewed-by: Wei Chen <Wei.Chen@arm.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 01:48:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 01:48:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386929.622959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPDi-0003XE-PS; Mon, 15 Aug 2022 01:48:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386929.622959; Mon, 15 Aug 2022 01:48:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPDi-0003X7-MJ; Mon, 15 Aug 2022 01:48:46 +0000
Received: by outflank-mailman (input) for mailman id 386929;
 Mon, 15 Aug 2022 01:48:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zthq=YT=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oNPDh-0003Wz-Cs
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 01:48:45 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2079.outbound.protection.outlook.com [40.107.22.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65408655-1c3c-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 03:48:44 +0200 (CEST)
Received: from AM5PR1001CA0016.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::29)
 by DBBPR08MB4537.eurprd08.prod.outlook.com (2603:10a6:10:c5::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 15 Aug
 2022 01:48:41 +0000
Received: from AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:2:cafe::34) by AM5PR1001CA0016.outlook.office365.com
 (2603:10a6:206:2::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Mon, 15 Aug 2022 01:48:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT038.mail.protection.outlook.com (100.127.140.120) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 01:48:40 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Mon, 15 Aug 2022 01:48:39 +0000
Received: from 0318232e7b74.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9966EC3A-405C-4AF9-84D5-743151E5043B.1; 
 Mon, 15 Aug 2022 01:48:33 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0318232e7b74.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 01:48:33 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DU0PR08MB8089.eurprd08.prod.outlook.com (2603:10a6:10:3e8::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 01:48:31 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 01:48:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65408655-1c3c-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=D+edypbl5EfioR+XGu8THKbn0EV363QYs2uI87eZXd4Kff+3o6EdWPPpZHpEhcGJv//PR5Neu197WhRs+5WXKgYHw3dwyXnO1F4yP9A0rGNtKUOl3q/p5Um0JlHkoD07M/fiGEQU6u6iKp12Le3dLFJz9CrjPN8AKz+En7HXzPPHqRcRQuXnIS/iLs4VvmAgVw6iJUsbdavQ2NaznDB6L6CtIrXRRBPe6cC0UyK/AGI/TMhfF0NT2xCxyUA/VnE0hJn61HwrQBv5EzPdSpuLkdDD1LKd67XlX9hX/EgL1p7qkDfI+2Z3Rr05MaHs6FN6MZVeUXJZtaqlK/+mms2rTw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JLaUDDBt+qDLXQNdIhVktfakXm4x/ZrQ29rSP9MNex4=;
 b=OPIxwDxZQDy/eBNuWM5KUGly7FzpQeMjSpTjimjCBO9cFp6Bl5UtlZoARkCmdybYYb54TzWtuZV1nItn8Oduz2L4tORuaWK7j9NyEaE+qoJUwsQwocAyCXFUtXGhVgb7J+ewpI1O3XQH5pqTQlxBEVsLdHdLXJ/wr61YseEI1sJLxvqMbInDPmroNmRtwrrU7y2iOnaImOUt9f0sWn7nh8r2wWZs8uI7w+xinyzhqEonfQPGafvYHPNN5/YxxYzRQgEPqusKIylOKUy5RLi99nn9SZeo+/yRnBbEFra9JjYmKSvxv009OxKeacmeqGz1sR3D3VXpynxvxlW8WNe/vQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JLaUDDBt+qDLXQNdIhVktfakXm4x/ZrQ29rSP9MNex4=;
 b=5koPV6jlSPam3RhV+bnpLAhYdVd3QQvWDeXHsCu22DL3xM86x0xUU+B5BbRLjWyg7lQL4yyaNG1VIdsVkGv9MDOITIKEA8UndiOqTz05h1vrwB0qWdjyFXzWgsJwj7E29bDOCCYOWEu5r62a/mbossZ3EeMr+fCo9bzvHK4RG6Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e5bab8e64cb36ce1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CvaKkiozXtH5cdFe+9coV3sJDpYU72kyjx78r3rrgq6O2aiKJ3582ZxwBjsoSx0tIxTbQ2nqKTLRRVfAyKsVbst1FvWdGpxkKRv2XdoIMoGcoOdBHWw0ZoSxALc6XG12vjCM4dNxBGQtdoEKGzlqppPA7NaJWakpyeJSYkxWeAzOAy33E9r0IVkIo7bo55HnEkELW/6/7zYEYIV8TQLuqGqlKvlaGkMf+bDPR1vmOyMqLeHuBlnBsgEOfXIcTqkB3jU2pGd7emf2OPsBetmgB7Q8VZItTdlDmZbVh4J6icO7QuQ+Z3MAMZuHOaB2A8sKn9SwhyksDLF1PE7IIALsMQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JLaUDDBt+qDLXQNdIhVktfakXm4x/ZrQ29rSP9MNex4=;
 b=HhlkTHwiygQL+12ojXqUAue0YsVavWEVY1MOAisGpOeFji1BoCVcFsiOZpRBWeiQniVL84CSRbowNUSA1nhPLZOT1N7aIMBR8lukfa82amvhx348WavoOUjnpwi7VTQlBEY/ypmzqdXMhjKrhRUO5VQKi4bP91oe4igNXHOwF4PVmlLBKQCjrtpj5ilQ+k8OclPCJQD417606jZaLA00yazXvi3+Ckb6DX7Rh8nx5R/2uhU/syo1u3uqq66Gk3QWdVe4+AagY025pFtdvDhmCw92A4AV/xa+tDa2gM6gV+4By/tbG/Ag0iefOAMegPVrDanfkfmPjF5akPjcWZGh4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JLaUDDBt+qDLXQNdIhVktfakXm4x/ZrQ29rSP9MNex4=;
 b=5koPV6jlSPam3RhV+bnpLAhYdVd3QQvWDeXHsCu22DL3xM86x0xUU+B5BbRLjWyg7lQL4yyaNG1VIdsVkGv9MDOITIKEA8UndiOqTz05h1vrwB0qWdjyFXzWgsJwj7E29bDOCCYOWEu5r62a/mbossZ3EeMr+fCo9bzvHK4RG6Y=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Message-ID: <46ee6760-9658-2a82-ad3c-a00df108d83a@arm.com>
Date: Mon, 15 Aug 2022 09:48:22 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 3/7] xen/arm32: head: Introduce get_table_slot() and use
 it
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-4-julien@xen.org>
From: Wei Chen <Wei.Chen@arm.com>
In-Reply-To: <20220812192448.43016-4-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SG2PR06CA0184.apcprd06.prod.outlook.com (2603:1096:4:1::16)
 To PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: 58e2b984-4b56-4520-4be6-08da7e604725
X-MS-TrafficTypeDiagnostic:
	DU0PR08MB8089:EE_|AM7EUR03FT038:EE_|DBBPR08MB4537:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 tYv1P4SwaHRyTB8o8jw0W7+m5hB6ESV6yoJiEdw891OhxU11nS7rZccOVJxnWt5t8NfOrwsWXOjvSke5ziMSHqmqSPoKWX4qZ5F3/Ly768dm2lX3462LEQgpg3jG0+qIYwo0TYc4DiQOuVMDkmJiYcGT3XDwYgPzSCWMgYvULbhPIQN88I/1A8P0ahfeqqOJ+kApg8QHiOwaIPVHPXH8ZFu2XtXUGn1JLKGBXEXW6bWHuIBtpxW45Uhlo9HT71kSzlbcqWHHhfC31BnWE/BO+WauBU6PCsXDSKlAUrTVXea6UGwBNMe7hBeIqm51HTBe0tpKCaYOoEYbG+dvN2sPNBD3weKXZdreqguUDRaOrE8gkOIH3kypVASPkjBJT07tDGXk/16ledKa4okgsi4FESvrm3iQHRLswBwCyraujsiQAeOZNr4of2wH61Ls1JAIwuszCMOdBFfbR0t1SoQfWogMyWbnxWkpYTqZ2GjfOpAOeh9qUnL4cIOHX8B54pyo2w/ZkuGnFsE6GHl9AEWulouICGIEyINqL/MCEwJAgLyDY9omXZqtqaCm5IXjq1CeVFeqeZeSMoyX/F/yI7ty5TFpga5VFcsf2oDpM1J29tFR0tjNx9FeXl8UBanU4ij8tALw4Kxtv0LdKBr0pVQe4MEoHm9ix9yCymPiiyLORuZprN6Gu+Wye5jxnUxd81s6oqgPzyW7SdYibF1kPHo0lqyrVFP2dXW1u1k1tslMfQWxobjC+g4LsYW69bfjhDujA17rHJz6Rfz2WQIwoiltI746x1V+XQfDVyr3AfIsBFCgDxEpTgmCeX6ksaReSMn+ZXL7GA2La9xH03Uh4EjwRA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(366004)(396003)(136003)(39860400002)(478600001)(36756003)(2906002)(8936002)(4326008)(66556008)(31686004)(66946007)(5660300002)(66476007)(8676002)(54906003)(41300700001)(6486002)(316002)(6506007)(26005)(6512007)(31696002)(186003)(2616005)(83380400001)(53546011)(6666004)(86362001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8089
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	901efacc-f17d-43f4-3cff-08da7e60418a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gLS58+HSzpKrqIAauzwQ1R7f/KYrf5h403Yk+NKL3ZaQbWDdo0/Mmapl20bkg5OkdCNPIFdw5Qf4cAr5P+euYw7iSpfCv+D+spM7qeIOqoHihXrABUOEAh8SvX3myD33TWcdi6a4qyesMc2d6+VkmM/TeSEaNEPdfVzPINt8MoebmgJQhOKtrjlmL0xPySvjLi6Os7qtFWeeokGC9oY7VMneXT/DHET3rfhEv0etPpRIQnpKeoqaee3sXkQJEemKhcHfsPNvuNhcgXTtXZkCW6kb5B3Czh8f6dlnXtCzysYkHLgLf4KdGJkrTC6Wwuhhd+5kCU5PfB7HLx9Dz2OGOX5thRQdpg1DBBNLvNddotqIxl9oaP5o7ifG/lB+VBDmLmWrncXdFMsl4rwLDP9fJ6DMgxJa+J+c6/NKiN7nLOe6/N0UeL5yLH8KT5kLN5X2V7GxT/yBt87KtjPxQZbTSQ5Ia3EJ9CnfIqqX4cXQo9M9Y/L0nDY0qlmq0ZnRHEkk2rpwear5/wJOQwLMICZbkB6vgd6puorSUdWsLAYSo7pyES6ycaap4faKctJM3GLBjD9Srr1lbVqkyGEGVqNFgGzp1HqnZrvQGZvndwI2v28vzNH/Wyj0O36NOkPlLZz7FPsyDWzJdrVgZBEC5hnxpcazkyzLq9bDtioMDuK2LemAnzJjcIYbfyE9VC4ELMWaMHk+jvqISkTRhYahWkMCk91nJoNxQWeVFqQnX3dfJ2UvMrZvGkFuj/MQfR1LZ3rZi50M/KV1M/diElky8YbaGkzAlz8BjYnp7Mm0SostvE05wXyQZ1nZfTOEEmV9jlB6
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(376002)(136003)(396003)(46966006)(36840700001)(70206006)(2906002)(36860700001)(81166007)(356005)(82740400003)(31696002)(86362001)(5660300002)(54906003)(8676002)(4326008)(8936002)(316002)(70586007)(82310400005)(26005)(53546011)(6512007)(186003)(336012)(107886003)(31686004)(6666004)(47076005)(83380400001)(41300700001)(6506007)(40480700001)(6486002)(36756003)(478600001)(2616005)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 01:48:40.1152
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 58e2b984-4b56-4520-4be6-08da7e604725
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4537

Hi Julien,

On 2022/8/13 3:24, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> There are a few places in the code that need to find the slot at a
> given page-table level.
> 
> So create a new macro get_table_slot() for that. This will reduce
> the effort to figure out whether the code is doing the right thing.
> 
> The new macro is using 'ubfx' (or 'lsr' for the first level) rather
> than the existing sequence (mov_w, lsr, and) because it doesn't require
> a scratch register and reduce the number of instructions (4 -> 1).
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>   xen/arch/arm/arm32/head.S | 56 ++++++++++++++++++++++-----------------
>   1 file changed, 32 insertions(+), 24 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 46d93bebbabe..50f6fa4eb38d 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -358,13 +358,31 @@ cpu_init_done:
>           mov   pc, r5                        /* Return address is in r5 */
>   ENDPROC(cpu_init)
>   
> +/*
> + * Macro to find the slot number at a given page-table level
> + *
> + * slot:     slot computed
> + * virt:     virtual address
> + * lvl:      page-table level
> + *
> + * Note that ubxf is unpredictable when the end bit is above 32-bit. So we
> + * can't use it for first level offset.
> + */
> +.macro get_table_slot, slot, virt, lvl
> +    .if \lvl == 1
> +        lsr   \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl)
> +    .else
> +        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
> +    .endif
> +.endm
> +
>   /*
>    * Macro to create a page table entry in \ptbl to \tbl
>    *
>    * ptbl:    table symbol where the entry will be created
>    * tbl:     table symbol to point to
>    * virt:    virtual address
> - * shift:   #imm page table shift
> + * lvl:     page-table level
>    * mmu:     Is the MMU turned on/off. If not specified it will be off
>    *
>    * Preserves \virt
> @@ -374,11 +392,9 @@ ENDPROC(cpu_init)
>    *
>    * Note that \virt should be in a register other than r1 - r4
>    */
> -.macro create_table_entry, ptbl, tbl, virt, shift, mmu=0
> -        lsr   r1, \virt, #\shift
> -        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r2             /* r1 := slot in \tlb */
> -        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
> +.macro create_table_entry, ptbl, tbl, virt, lvl, mmu=0
> +        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tlb */
> +        lsl   r1, r1, #3                /* r1 := slot offset in \tlb */
>   
>           load_paddr r4, \tbl
>   
> @@ -448,8 +464,8 @@ ENDPROC(cpu_init)
>   create_page_tables:
>           /* Prepare the page-tables for mapping Xen */
>           ldr   r0, =XEN_VIRT_START
> -        create_table_entry boot_pgtable, boot_second, r0, FIRST_SHIFT
> -        create_table_entry boot_second, boot_third, r0, SECOND_SHIFT
> +        create_table_entry boot_pgtable, boot_second, r0, 1
> +        create_table_entry boot_second, boot_third, r0, 2
>   
>           /* Setup boot_third: */
>           adr_l r4, boot_third, mmu=0
> @@ -486,12 +502,10 @@ create_page_tables:
>            * then the 1:1 mapping will use its own set of page-tables from
>            * the second level.
>            */
> -        lsr   r1, r9, #FIRST_SHIFT
> -        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r0              /* r1 := first slot */
> +        get_table_slot r1, r9, 1     /* r1 := first slot */
>           cmp   r1, #XEN_FIRST_SLOT
>           beq   1f
> -        create_table_entry boot_pgtable, boot_second_id, r9, FIRST_SHIFT
> +        create_table_entry boot_pgtable, boot_second_id, r9, 1
>           b     link_from_second_id
>   
>   1:
> @@ -501,16 +515,14 @@ create_page_tables:
>            * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
>            * it.
>            */
> -        lsr   r1, r9, #SECOND_SHIFT
> -        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r0             /* r1 := second slot */
> +        get_table_slot r1, r9, 2     /* r1 := second slot */
>           cmp   r1, #XEN_SECOND_SLOT
>           beq   virtphys_clash
> -        create_table_entry boot_second, boot_third_id, r9, SECOND_SHIFT
> +        create_table_entry boot_second, boot_third_id, r9, 2
>           b     link_from_third_id
>   
>   link_from_second_id:
> -        create_table_entry boot_second_id, boot_third_id, r9, SECOND_SHIFT
> +        create_table_entry boot_second_id, boot_third_id, r9, 2
>   link_from_third_id:
>           create_mapping_entry boot_third_id, r9, r9
>           mov   pc, lr
> @@ -571,9 +583,7 @@ remove_identity_mapping:
>            * Find the first slot used. Remove the entry for the first
>            * table if the slot is not XEN_FIRST_SLOT.
>            */
> -        lsr   r1, r9, #FIRST_SHIFT
> -        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r0              /* r1 := first slot */
> +        get_table_slot r1, r9, 1     /* r1 := first slot */
>           cmp   r1, #XEN_FIRST_SLOT
>           beq   1f
>           /* It is not in slot 0, remove the entry */
> @@ -587,9 +597,7 @@ remove_identity_mapping:
>            * Find the second slot used. Remove the entry for the first
>            * table if the slot is not XEN_SECOND_SLOT.
>            */
> -        lsr   r1, r9, #SECOND_SHIFT
> -        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r0             /* r1 := second slot */
> +        get_table_slot r1, r9, 2     /* r1 := second slot */
>           cmp   r1, #XEN_SECOND_SLOT
>           beq   identity_mapping_removed
>           /* It is not in slot 1, remove the entry */
> @@ -628,7 +636,7 @@ setup_fixmap:
>   #endif
>           /* Map fixmap into boot_second */
>           mov_w r0, FIXMAP_ADDR(0)
> -        create_table_entry boot_second, xen_fixmap, r0, SECOND_SHIFT, mmu=1
> +        create_table_entry boot_second, xen_fixmap, r0, 2, mmu=1
>           /* Ensure any page table updates made above have occurred. */
>           dsb   nshst
>   

Reviewed-by: Wei Chen <Wei.Chen@arm.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 01:51:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 01:51:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386937.622969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPFw-0004ts-5y; Mon, 15 Aug 2022 01:51:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386937.622969; Mon, 15 Aug 2022 01:51:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPFw-0004tl-3B; Mon, 15 Aug 2022 01:51:04 +0000
Received: by outflank-mailman (input) for mailman id 386937;
 Mon, 15 Aug 2022 01:51:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNPFv-0004tb-9L; Mon, 15 Aug 2022 01:51:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNPFv-000825-47; Mon, 15 Aug 2022 01:51:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNPFu-0006f3-LZ; Mon, 15 Aug 2022 01:51:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNPFu-00075o-L4; Mon, 15 Aug 2022 01:51:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gadHszuYGDrdvEp9WZw5zVQaUT3cGI445Z0jmDHkjbQ=; b=sX0CMe1s5PIFwlBB/IoEuYVLCw
	6jZQ1X7GcMJYfax4i/8jlLHwMVTqcYtc5OHa/YP1h1KQ0xTDeklsv/cmf1b4cen1M0ZxEjLUgSy4g
	q9MVZzq42lcHyGTnP25soyLimuOX5xTDjDp93UZyNSyBgy2fSoPF8FjxdDi/hQKiqf5o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172525-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172525: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 01:51:02 +0000

flight 172525 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172525/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z    9 days   93 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   25 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 01:57:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 01:57:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386947.622980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPLw-0005Z8-SO; Mon, 15 Aug 2022 01:57:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386947.622980; Mon, 15 Aug 2022 01:57:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPLw-0005Z1-Pe; Mon, 15 Aug 2022 01:57:16 +0000
Received: by outflank-mailman (input) for mailman id 386947;
 Mon, 15 Aug 2022 01:57:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lfrC=YT=arm.com=Jiamei.Xie@srs-se1.protection.inumbo.net>)
 id 1oNPLv-0005Yv-Pm
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 01:57:15 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2050.outbound.protection.outlook.com [40.107.22.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9535f788-1c3d-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 03:57:14 +0200 (CEST)
Received: from AS9PR05CA0043.eurprd05.prod.outlook.com (2603:10a6:20b:489::27)
 by AM9PR08MB5970.eurprd08.prod.outlook.com (2603:10a6:20b:2df::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 01:57:12 +0000
Received: from AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:489:cafe::da) by AS9PR05CA0043.outlook.office365.com
 (2603:10a6:20b:489::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.18 via Frontend
 Transport; Mon, 15 Aug 2022 01:57:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT012.mail.protection.outlook.com (100.127.141.26) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 01:57:11 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Mon, 15 Aug 2022 01:57:11 +0000
Received: from 9cb4e42159c5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2236E141-6F09-497C-B417-A9CD1049B414.1; 
 Mon, 15 Aug 2022 01:57:05 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9cb4e42159c5.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 01:57:05 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com (2603:10a6:20b:523::11)
 by VE1PR08MB5725.eurprd08.prod.outlook.com (2603:10a6:800:1b0::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 01:57:03 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::48c7:a78d:1802:5c35]) by AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::48c7:a78d:1802:5c35%6]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 01:57:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9535f788-1c3d-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=SM48gVFyQyhfr923aNghiQqXQIKuTN9WmADPUfzC0ob3J43ZbLRahLOV2+koJYuasxqs5r0Maueliu2hqXGcDiGNRiDSUJ97u+qExFolZKipm/upzjm+jOencghXf0TC8i2xjm82WzGfelHoGKS2viyFBiEgbuFKLJMhQHwdYegE2yEf1xTcfZiQ1F6dt8mIgwPyWmlQ74uoNSZD28pRpuUv+Hg2Q6UIrMz0XRNCXiLJBK4xFAFe9LUkjdPElOhvpIOekd0PdENkBADEcpq7DvFLo6nUDoYtkmzqg81pn+xKuNsYHeYWvfYdE8lpeWdHonytXHE3VsbNuWV1rmgQxw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IqRxi4owzZheNTdVrBxVUgSOIEGw6tiPtdiPxEA+Xs0=;
 b=NOzya0HQ89sr0MrLE5/vehJaRtZ+SvEJvXMXZdC2jeqOw5/d1NhadH623Zbg2LYcOpF1UIWQAV3t+88IQWSlwBqMSLiy17ro9NN+yWzzONolKUy3uLuITQVUASuY0HNSBpmYnncQJ3hVnOf6PZwaPiY3CCAWeMho3ByP+ZQMiNpsf9pE5h80PyelCBk6utts2nZkG6U1TuJBxVzAgTFuekFG7x0ARAg2PPEn0TYWhNjuFOhH5Lsk3bWaWURKUWvTqFtCBk3DT3JYnn+2MdFcUGfu+jQKtz75CqdiW7J8DPKrmbzP9p9ORdx/BLUctBL9JqEVimZzMV+9ZY/GoMUZDg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IqRxi4owzZheNTdVrBxVUgSOIEGw6tiPtdiPxEA+Xs0=;
 b=syLHITKU/T6ZeYQOm9XH6fbBaEhprWte61mML2GdrK6Y1nqYkpgRhs4tpDBJkiIwxutDgarsdkpFHfk5OVIWnXvhak5DCOz6kMyTc2jpb/fjIwX228tKHA0ER9SPWgE7LOAGh+4PeIyxAiiWQj/59b9KwvzsnicFIF6nJX1KyAs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kvZGr6lRg+CpylFDGqKhcOVIAEWF73znaC1PVtjKBhWxSwkXoFA8sY5HRNBJiH4ldlyuZDIE2mN9vxYrARRv61U6kCwUi8ZyeRaTkBS572+XZYBnFMEYHVeREP4FJiaBcMfyakYfGjlZznJG6PXyff3cDr2V3CvHmY9giELJjPW5KmKk2cBh6EixcBFUOfVW9dLeRjhzcKbwqz3X0z3DMzpGpfFTREIN6Vr+r/Bx4Qk+UVRMBzr8wwsu/PQhg4vQLAuEyphWs+Hjnv14s1OtiemBJg4jCJhOExhnv3CQGu5DqROwyIsGO+EQIjtN6ZaBSxyuZQypQNOziAwib+M2Dg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IqRxi4owzZheNTdVrBxVUgSOIEGw6tiPtdiPxEA+Xs0=;
 b=GK+le4ZWe/4dH1kN3J6S++iGvgL+MsABc0lRHHAGmQnu16egsaxFLajgVHBtQtW1NcDcvMfEU9FR1rbOs/a+h6CC9xNzkmzNKQbrAWOfHLLMQrlzAlr4iImIumI2T1JCa+4Cnro7BZ/0ds5sAS/50uBI7BPjnqYvaoXJ5IKKl8IuTOWcOblvqTbbzxdJiva+hvCxRd4b/8ToXn7ykSNx7A9Aj1CjUORNl/UwKjHGTlAZ7qaU+iAEMWuYbkJH/dzZ5VRs6K1u2Ui4HEQFZZnvSBNft/a+mW5nprF8iEKzY+hW++LTjEk1OvkNfyaZw/NtQ+f3TtMpdhqGcaxUgHVydA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IqRxi4owzZheNTdVrBxVUgSOIEGw6tiPtdiPxEA+Xs0=;
 b=syLHITKU/T6ZeYQOm9XH6fbBaEhprWte61mML2GdrK6Y1nqYkpgRhs4tpDBJkiIwxutDgarsdkpFHfk5OVIWnXvhak5DCOz6kMyTc2jpb/fjIwX228tKHA0ER9SPWgE7LOAGh+4PeIyxAiiWQj/59b9KwvzsnicFIF6nJX1KyAs=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Thread-Topic: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Thread-Index: AQHYroFLBRc7msyHakaqPASkuC1hfq2vNtWg
Date: Mon, 15 Aug 2022 01:57:03 +0000
Message-ID:
 <AS8PR08MB76962F9EFDFC959E3D7F64C892689@AS8PR08MB7696.eurprd08.prod.outlook.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-6-julien@xen.org>
In-Reply-To: <20220812192448.43016-6-julien@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 2B7552965B2CAD4AA6625CDCAF07FD72.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 540e0c6c-05a3-4361-cdb1-08da7e6177ec
x-ms-traffictypediagnostic:
	VE1PR08MB5725:EE_|AM7EUR03FT012:EE_|AM9PR08MB5970:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 YjEDmxtFdMlfF7DQti1BjA9NKqJInBrhjO1DxMLUnB/etNAUBMtFIGD2ryzGjvihaolyUdW7C7ye/YlFy0By7HkyMa6taykWBjlC6VBheV4KXIaoR0rEzwe4X28c6k/10nqfkayHYcjh01p6tOgS/Szg0gF9NwZStP5AGZB1u4g9h4xOog8s+4jpXGO/i8qTeMx8dNVMnDx6+8twDTeu7TPZQoGH/esKAQ+/kTFQkMVZBBuV14ipYs19BAJmI8ARFBEey9Q7GUovE8wRRSNaHHlUL1D+obrG0eHHgMNKrbF7GHlIZjkwGCpv4twVepeyZVkm/CZoyJcydd/VdpkzDAXFjbz0+PCs7RZuqDsAmRJyG+bA6U8gWQX/4b09VspZuWWF7hwe+2wnW49vIONcp6b8nHL8AlkJeyd3STGv5L5z6JyNqKg1IXXFrj8pafgJpOQtiTiAgcXFN286qylT7yIE+pdeZur+7Lo2Fgd8tVdf6bAffHnqUx2XUw8ORffcmGkAlw+S24QOMB4innGYm/iFepbQ7WfYglQz6qJi/mZGMdxGBZvxFWcn2iLsrRG1zdkFBtnkNUdQmcE+RRd4srLw1fzVG0/OzAsHNxRbumzxozB7naScrJDqrfegOrSGTMeAI3/zQtc0zx/lZ2axPoTQdNvFJi05wkHbk0uJTflpsC+ydI7a0JIf6cwsnVZt08aOa4NH17a4N0Su3sDO+CsprgSOETo3cHwh6/OYkYkVibhfl08Zwq/TZTC7Qn8swnhv6zNDnZZr1uviEXPgzZFXFd99cHPdR6vao3YfAFGIZiBNbtIhF3SdKM56I0GWUQfFifcEVap8SwTlEoZYEA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7696.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(39850400004)(366004)(396003)(41300700001)(71200400001)(316002)(54906003)(478600001)(26005)(38100700002)(4326008)(110136005)(64756008)(5660300002)(66946007)(8676002)(8936002)(66446008)(76116006)(15650500001)(66556008)(66476007)(52536014)(2906002)(38070700005)(53546011)(122000001)(186003)(86362001)(6506007)(33656002)(83380400001)(9686003)(7696005)(55016003)(142923001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5725
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4d9d1958-1243-4e5e-ef29-08da7e61732d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Rr1JJwh25Baeif2GWqSfb6Go0+IR6RhkrCX8etpx0lrnHFDzKHNrWzZ9u7paqlPuujOPAdqn+Kr6RrOH0eMbNT2TRwCp286iMqeRFgPVkPScYMsJf0TupKVtcj5juhtLXyPUQSaWCeFUYtQ6PsCTpDtCRumNQIwXDnU8lOargFSNFBDKP1ZPAJdOtg04oIZVMPg0orx93oxhznbp1nVmHHKfcPCRP19+b3ABLhf4jJgFA5wIFW9HtG2hDmVh15KLuIw6c77Vf263ZMNARVAtjYunfDtmlnjWkkMz4bWToWwCXQHi/nOI+GqXeT8/uMlzwh3G4dq679oT+I3DPkpT2TpwKlf9f9FakhphzldQcc1Q2qJ1lAoott9SU/BzYiTFDJzVeOz74FlPFILw7tlCZs3mYH1iA1ek65SnQ3x7yvna9csbygM0IHPdjy6M2DjlUzZjmKxzSmp29jsTYLcbbyxDkqPgs8z8HwNAXsoIBsjVUr+b1USuXpb4zqU8KTZHMHwHlA+F947pq4OpoLYiL4tZXCt91It3wRmIF6hqk5YxnAhyk/mOGUzivluSxd/kDFM7EcZvf6f+Z13aUa/THwtB/Mt4stAuMKMDBmgAFoUghBFuLCyEhD+ysiYvmvzy/V7H7AvajH8CVUJ4MGj0FRNpTwcXQLyWzB3MKr2whC1woXTlUzZEqNi1rcIBA23DhDS1++5l0WT/z7vtwadzNzkfsnAIfWYaACu+4I2EVeYv8KzpPSnqM8Pms5lZWUFwPgmGPHTZJvrE5Jo6Y9KyRJc8tYTMMwhIjxf+L5WthydomHdzz7dq9tqlzS3Ceyof
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(376002)(136003)(346002)(36840700001)(46966006)(33656002)(336012)(47076005)(83380400001)(81166007)(82740400003)(356005)(70586007)(5660300002)(4326008)(316002)(8676002)(186003)(70206006)(52536014)(7696005)(15650500001)(41300700001)(26005)(9686003)(2906002)(54906003)(107886003)(478600001)(86362001)(36860700001)(55016003)(40480700001)(110136005)(53546011)(8936002)(82310400005)(6506007)(142923001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 01:57:11.4656
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 540e0c6c-05a3-4361-cdb1-08da7e6177ec
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5970

Hi Julien,

> -----Original Message-----
> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
> Julien Grall
> Sent: Saturday, August 13, 2022 3:25 AM
> To: xen-devel@lists.xenproject.org
> Cc: julien@xen.org; Julien Grall <jgrall@amazon.com>; Stefano Stabellini
> <sstabellini@kernel.org>; Bertrand Marquis <Bertrand.Marquis@arm.com>;
> Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> Subject: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages
> to .rodata.str
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> At the moment, the strings are in text right after each use because
> the instruction 'adr' has specific requirement on the location
> and the compiler will forbid cross section label.
>=20
> The macro 'adr_l' was recently reworked so the caller doesn't need
> to know whether the MMU is on. This makes it easier to use where
> instructions can be run in both context.
>=20
> This also means that the strings don't need to be part of .text
> anymore. So move them to .rodata.str.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>  xen/arch/arm/arm32/head.S | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
>=20
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 27d02ac8d68f..a558c2a6876e 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -93,13 +93,10 @@
>   */
>  #define PRINT(_s)           \
>          mov   r3, lr       ;\
> -        adr   r0, 98f      ;\
> +        adr_l r0, 98f      ;\
>          bl    puts         ;\
>          mov   lr, r3       ;\
> -        b     99f          ;\
> -98:     .asciz _s          ;\
> -        .align 2           ;\
> -99:
> +        RODATA_STR(98, _s)
>=20
>  /*
>   * Macro to print the value of register \rb
> @@ -736,7 +733,7 @@ ENDPROC(puts)
>   * Clobbers r0-r3
>   */
>  putn:
> -        adr   r1, hex
> +        adr_l r1, hex
>          mov   r3, #8
>  1:
>          early_uart_ready r11, r2
> @@ -749,8 +746,7 @@ putn:
>          mov   pc, lr
>  ENDPROC(putn)
>=20
> -hex:    .ascii "0123456789abcdef"
> -        .align 2
> +RODATA_STR(hex, "0123456789abcdef")
>=20
>  #else  /* CONFIG_EARLY_PRINTK */
>=20
> --
> 2.37.1
>=20

That looks good to me.
Reviewed-by: Jiamei Xie <jiamei.xie@arm.com>

Best wishes
Jiamei Xie




From xen-devel-bounces@lists.xenproject.org Mon Aug 15 01:57:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 01:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386949.622991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPM3-0005r5-6h; Mon, 15 Aug 2022 01:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386949.622991; Mon, 15 Aug 2022 01:57:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPM3-0005qy-44; Mon, 15 Aug 2022 01:57:23 +0000
Received: by outflank-mailman (input) for mailman id 386949;
 Mon, 15 Aug 2022 01:57:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zthq=YT=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oNPM2-0005Yv-0E
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 01:57:22 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2063.outbound.protection.outlook.com [40.107.21.63])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99232b63-1c3d-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 03:57:21 +0200 (CEST)
Received: from AM6P192CA0035.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::48)
 by AM0PR08MB3315.eurprd08.prod.outlook.com (2603:10a6:208:5c::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Mon, 15 Aug
 2022 01:57:18 +0000
Received: from VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:83:cafe::69) by AM6P192CA0035.outlook.office365.com
 (2603:10a6:209:83::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Mon, 15 Aug 2022 01:57:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT022.mail.protection.outlook.com (10.152.18.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 01:57:17 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Mon, 15 Aug 2022 01:57:17 +0000
Received: from a2cd6fc6fa6c.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4C44B154-855F-4086-ADD9-0485E70C90F0.1; 
 Mon, 15 Aug 2022 01:57:10 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a2cd6fc6fa6c.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 01:57:10 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB3PR08MB9109.eurprd08.prod.outlook.com (2603:10a6:10:43c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 15 Aug
 2022 01:57:02 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 01:57:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99232b63-1c3d-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=QA8SNGzYGOAnnk0TeOkBAoEa/OZt8WXU0HDZhc+6dd1ata6pJsWtq5DlsCkSp7ztXtYBFTXPxFHpmXrIGpe5z9Cxm+axvE08zKwXinadLL/+FT103z0GGdPUyjhfeg6nv/rjg/H3c/w6LA1xp3wDMmYGWoS9TitrL+EWF+aIF+dGN0Fv1M0s+104jRGoP4yqWL5H1SqTCAEu0o56NqzwLL0uWADFOq6GdpeHMqkgnt/Wt6R2WqQYwVxyKCc7rgDA/MKIf7OAfVochY+mqY4GgIiwW4Q7d6VijTWHRuqo3uUuhMZhjDmq5DnYF0tEGgG5lzIr1d9MLrJ9/2JU3ZCY7Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/LJAtZ3+jOrtGclT/LHfn54y6Y5l3ruqr+tb7HWP1yQ=;
 b=heYotiaLzedgT92cpMa5knmqatlJ3831SGja8RUw28ewJmwyIM5lLXaBeaRAb9ve5B0C8f86tUbktXadV9YEWnTxFIIJBw1MML5uZdF3dPWGKvu0KNdTqFdXu5IdMv0dfg6hU+QQnVVEaXauDZgJXXS7fwhYA5iYYVJXFCUEsgHy8D0RdSxVGji6HphjLr4UcN5Y06UV+ecY4v927bgHiET0STykh4bFw9UNqBiW+2QpRnUwxtz+zCk/eCbYN0k3MoJPDD6FEdceHYTjTDolGF4/2CABL8WJrSP0PlmgF+iFkFNzKSgCGLiuMPOkNZHoAv4KnPrKPYeUeAVVoYIaBg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/LJAtZ3+jOrtGclT/LHfn54y6Y5l3ruqr+tb7HWP1yQ=;
 b=u0xclrSPr8lYjiYL0UKqb63lEb+2pCS08jeOkvFmwPaJzLGt2bvz+Qlo9SI9GnxEbXM06z1naEpIQ+nmLQMWoTNn17wgqDQkyfs6fq/kFxrx6OZrRTLtWcjpwdfRP3IR5NBlaOBh/efgTHNzc4yNfTsOMQ6BfGJIfUXGlqKLwj0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5e4879f8445e3de4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oYHg2O4sleAV5hZhgpDhPUKd8nHfwQZ+yQ5rD8zAsXmSHySyJCyGBIJZ/wGs6EIY7DNzXGRvSAOTfxhY+dLhlzraDWWEsvu7G36i+RwetmTPPT0zICOcFMqq7v9WWyGFtK+ShIef8EI23NHba4ZaRpF/fshGqm09ZGzk+zw9NE58G/APKY86FcUvwwdEzE9eMcl8X6UkHzA5mmA3FQYT/q+jK9VMH5dZsdXk1JxaTyC79KS8wc1C55rguo7oib2GRJ8B1faTVGUvtaBoD2lXSjCTuxA6Hg4GF5nmGO3dpx3K/mpePIU4rvWQkFhjxu8LBRrook7Sr+bCJMjDTGsLKg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/LJAtZ3+jOrtGclT/LHfn54y6Y5l3ruqr+tb7HWP1yQ=;
 b=gFeMPuFv7MfIkgngry4eoZckhx5GeH3CwT2vj+SEpCwyt3TRVxhRIx8SjOppi8D/pFfVehtkUL2kGzSVhuNmqySTXoeTEBO76SvfFEy5U8Z9QWzBnk4EdH/n+E+8tAkgVu7vgwE70T5L71+PgAcS9N7dw9uy74tpTLi6Sy3KFzrSSNPA8aCt3PjihiGsqPFuF0KqIt6nTWSrFPyWtMZnqDyVOnl+ufrmCWhSVA17oVWhhmchIrrIr81cVE8fGAIphn2oP+vFVVjMkZnaFiSJbw8Uqovq2ki2HWGzdcOemZHBMzzeXfZULHNQYt5nsfEEoMAmw5+9MPnkSway5ht8dQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/LJAtZ3+jOrtGclT/LHfn54y6Y5l3ruqr+tb7HWP1yQ=;
 b=u0xclrSPr8lYjiYL0UKqb63lEb+2pCS08jeOkvFmwPaJzLGt2bvz+Qlo9SI9GnxEbXM06z1naEpIQ+nmLQMWoTNn17wgqDQkyfs6fq/kFxrx6OZrRTLtWcjpwdfRP3IR5NBlaOBh/efgTHNzc4yNfTsOMQ6BfGJIfUXGlqKLwj0=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Message-ID: <cb67aa6b-7d57-bda9-8ed6-efa5c35d4348@arm.com>
Date: Mon, 15 Aug 2022 09:56:52 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 4/7] xen/arm32: heap: Rework adr_l so it doesn't rely on
 where Xen is loaded
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-5-julien@xen.org>
From: Wei Chen <Wei.Chen@arm.com>
In-Reply-To: <20220812192448.43016-5-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SI2PR06CA0008.apcprd06.prod.outlook.com
 (2603:1096:4:186::23) To PAXPR08MB7420.eurprd08.prod.outlook.com
 (2603:10a6:102:2b9::9)
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: 283b5b74-4ec5-4654-9d90-08da7e617bcf
X-MS-TrafficTypeDiagnostic:
	DB3PR08MB9109:EE_|VE1EUR03FT022:EE_|AM0PR08MB3315:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 GTMW3tz+5m3EAw6cssR9XVaygCGxYU3gTUngS9RgWxY0qnRFNkvB99cjL6GloMfGOQgI7Oho42NKNu4G7PMvvXZtWqfmApJTw+69PXjyGAWyIt7iwE7QxOQr+NNuQrias8q0grIf2+YwCPfdC2z7dDQfg7MvDWzruRf1XnaiBmn6hsh4z4XtGmKW5Aq4TfYQEqAmmNgRPaIKQQZLxT2dfoZZkR/QQpJIQ8I0iYp8PLhECSrmON5jYIbDVK5b+08ytIW2C9hyCaepWICL28Qs8EKzPLul7LMip6uJo0pbAf8uoExiLT5B3HX0qY+6h6uBYrdNnk0M3xxr4Zpm/qOeT6wm02BCIRbuEsnkUIHpzw3eaMlDPOVNj5Pzf03YiZj3G9lpd5m5GdnyxYWr5fmBh1WVq0/6gMlv2Dxrbm/S5RalT9mNqDmX67nswdzEjjKzKbUKgC5foditY25GzHoW4cm0UWcgeBfGjkjzPLi69HrKONPUGhXGZ92fpYLGblPL441pt+nvM/bUuOxTCdj4fbKt2kxOA6+CPjORH7eMGm39ssWhBldG6g1cIR+P3PEtdNEd+bvneF37X9ZvGaINiRXFlQHy/TExzLp47+LLHsh5gUqHfv+WqQMR9oAGjOflEHSlC9MqQRjMKl+M1Vz2F49OGV5P8chEQ2RZDkyOd+mhZpgyR/4XiBb32ypFe4dUnJWXpBySWMTqGdQw8lkfIJPbgYa4S/UDH1hrTgYGMH1sbNUy77hqhLHgtXJMrSPDP6bMS4zWCtSTQLgGa3wkDiwg4MI/UJKQs51mLR79KAdPyJ/rDLLa3EtboFnK79Lg4HtmWUKLxf1gmy/KJU0kFw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(366004)(396003)(376002)(39850400004)(54906003)(36756003)(316002)(8676002)(66556008)(66476007)(66946007)(4326008)(38100700002)(6512007)(6506007)(6666004)(53546011)(26005)(83380400001)(41300700001)(2616005)(186003)(478600001)(6486002)(31696002)(8936002)(31686004)(2906002)(5660300002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9109
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a61d4467-4b0d-494e-bf2f-08da7e617284
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+m6MUUdsLTjzSmzs8ETAmSqrG7uhdDeBJcLEGebWPhSkZq8yABAimRC5vlbxiuXjdCf77edBgXK1nxWZKyY78RkThGVOoS5TSLQx1tIjyFJb59x/++cdUO+yB14MQ8ELEHs3MnlaVJqWDRrE8FU9SeiRtmCVN1n6KS/MiH3PatWfxdUIiBhHgCvt+35u3HtFbflzfPuK5OXK4FNp5RAgJNP0c/WcjgX0gMDpdFfF63cb/Q5f244Ve3D2MFgbE+/N3zGwcC7okgPYeW1QlBt3sQsYjy7m9gucKzPfWNBlt+VmarK0iNOlpGxeu8rGYP+sQebSFa7gQ3F7XigIP3rH8Qhm59tGD6Sd8muCWOWwQAuyNrxZBuCIs7nyVOkGgAO/Rm0ox4p1OX1Eynxz+NMUIc5ggd6AJFgyB71vCTBBi5ZaPWqBUFqdrGVmm92PRKQZmiwm1utE0Fj1z2ZmpnACxyL7gykujq9rtoIxP4ix3SWF2ZYYA9c/5f2Ie/5RIwMJIQkZBJO+jrBfLtMjr6KSd2B7iPYEhkDdjZWra9MNaw6qb9QOqAm4QVmyKUu22KYl1AbH+HuoD9DeTpjujXCo3XDuwie4mm7ZjhRi1mXSgbk86j3b9mNdVBMCLWAdvDhQWAvRkcbIcuAaJBnY4CBG5byJIDbXq+8VhwKkgBq+AKuv9/lSWB1GJ1SXi2I4zHPTqDVGfgvBT1GPwIXRCjqSec2zGK76gnvm/vK/2h6livXs7uK6GBqeWqH2iQKs97Sx/W5ElvhV/sIysHWNAe78+1GPKtatvuxhAgDD+xhjN8b2GfUL7mj+O1yJ7zINbh3Z
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(39860400002)(396003)(46966006)(36840700001)(40480700001)(31686004)(5660300002)(36756003)(82740400003)(316002)(82310400005)(4326008)(8676002)(70586007)(70206006)(54906003)(81166007)(36860700001)(83380400001)(31696002)(86362001)(26005)(6512007)(53546011)(6506007)(41300700001)(6486002)(478600001)(6666004)(8936002)(47076005)(356005)(2906002)(107886003)(186003)(336012)(2616005)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 01:57:17.8955
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 283b5b74-4ec5-4654-9d90-08da7e617bcf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3315

Hi Julien,

On 2022/8/13 3:24, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, the macro addr_l needs to know whether the caller
> is running with the MMU on. This is fine today because there are
> only two possible cases:
>   1) MMU off
>   2) MMU on and linked to the virtual address
> 
> This is still cumbersome to use for the developer as they need
> to know if the MMU is on.
> 
> Thankfully, Linux developpers came up with a great way to allow
> adr_l to work within the range +/- 4GB of PC by emitting a PC-relative
> reference [1].
> 
> Re-use the same approach on Arm and drop the parameter 'mmu'.
> 
> [1] 0b1674638a5c ("ARM: assembler: introduce adr_l, ldr_l and str_l macros")
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ----
>      I haven't added an Origin tag because this is quite different
>      from the Linux commit. I am happy to add one if this is desired..
> ---
>   xen/arch/arm/arm32/head.S | 38 +++++++++++++++-----------------------
>   1 file changed, 15 insertions(+), 23 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 50f6fa4eb38d..27d02ac8d68f 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -49,20 +49,16 @@
>   .endm
>   
>   /*
> - * There are no easy way to have a PC relative address within the range
> - * +/- 4GB of the PC.
> + * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
> + * within the range +/- 4GB of the PC.
>    *
> - * This macro workaround it by asking the user to tell whether the MMU
> - * has been turned on or not.
> - *
> - * When the MMU is turned off, we need to apply the physical offset
> - * (r10) in order to find the associated physical address.
> + * @dst: destination register
> + * @sym: name of the symbol
>    */
> -.macro adr_l, dst, sym, mmu
> -        ldr   \dst, =\sym
> -        .if \mmu == 0
> -        add   \dst, \dst, r10
> -        .endif
> +.macro adr_l, dst, sym
> +        mov_w \dst, \sym - .Lpc\@
> +        .set  .Lpc\@, .+ 8          /* PC bias */
> +        add   \dst, \dst, pc
>   .endm
>   
>   .macro load_paddr rb, sym
> @@ -383,7 +379,6 @@ ENDPROC(cpu_init)
>    * tbl:     table symbol to point to
>    * virt:    virtual address
>    * lvl:     page-table level
> - * mmu:     Is the MMU turned on/off. If not specified it will be off
>    *
>    * Preserves \virt
>    * Clobbers r1 - r4
> @@ -392,7 +387,7 @@ ENDPROC(cpu_init)
>    *
>    * Note that \virt should be in a register other than r1 - r4
>    */
> -.macro create_table_entry, ptbl, tbl, virt, lvl, mmu=0
> +.macro create_table_entry, ptbl, tbl, virt, lvl
>           get_table_slot r1, \virt, \lvl  /* r1 := slot in \tlb */
>           lsl   r1, r1, #3                /* r1 := slot offset in \tlb */
>   
> @@ -402,7 +397,7 @@ ENDPROC(cpu_init)
>           orr   r2, r2, r4             /*           + \tlb paddr */
>           mov   r3, #0
>   
> -        adr_l r4, \ptbl, \mmu
> +        adr_l r4, \ptbl
>   
>           strd  r2, r3, [r4, r1]
>   .endm
> @@ -415,17 +410,14 @@ ENDPROC(cpu_init)
>    * virt:    virtual address
>    * phys:    physical address
>    * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
> - * mmu:     Is the MMU turned on/off. If not specified it will be off
>    *
>    * Preserves \virt, \phys
>    * Clobbers r1 - r4
>    *
> - * * Also use r10 for the phys offset.
> - *
>    * Note that \virt and \paddr should be in other registers than r1 - r4
>    * and be distinct.
>    */
> -.macro create_mapping_entry, ptbl, virt, phys, type=PT_MEM_L3, mmu=0
> +.macro create_mapping_entry, ptbl, virt, phys, type=PT_MEM_L3
>           mov_w r2, XEN_PT_LPAE_ENTRY_MASK
>           lsr   r1, \virt, #THIRD_SHIFT
>           and   r1, r1, r2             /* r1 := slot in \tlb */
> @@ -438,7 +430,7 @@ ENDPROC(cpu_init)
>           orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
>           mov   r3, #0
>   
> -        adr_l r4, \ptbl, \mmu
> +        adr_l r4, \ptbl
>   
>           strd  r2, r3, [r4, r1]
>   .endm
> @@ -468,7 +460,7 @@ create_page_tables:
>           create_table_entry boot_second, boot_third, r0, 2
>   
>           /* Setup boot_third: */
> -        adr_l r4, boot_third, mmu=0
> +        adr_l r4, boot_third
>   
>           lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
>           lsl   r2, r2, #THIRD_SHIFT
> @@ -632,11 +624,11 @@ setup_fixmap:
>   #if defined(CONFIG_EARLY_PRINTK)
>           /* Add UART to the fixmap table */
>           ldr   r0, =EARLY_UART_VIRTUAL_ADDRESS
> -        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3, mmu=1
> +        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
>   #endif
>           /* Map fixmap into boot_second */
>           mov_w r0, FIXMAP_ADDR(0)
> -        create_table_entry boot_second, xen_fixmap, r0, 2, mmu=1
> +        create_table_entry boot_second, xen_fixmap, r0, 2
>           /* Ensure any page table updates made above have occurred. */
>           dsb   nshst
>   

LGTM.

Reviewed-by: Wei Chen <Wei.Chen@arm.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 02:06:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 02:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386964.623003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPUn-00082m-51; Mon, 15 Aug 2022 02:06:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386964.623003; Mon, 15 Aug 2022 02:06:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNPUn-00082f-17; Mon, 15 Aug 2022 02:06:25 +0000
Received: by outflank-mailman (input) for mailman id 386964;
 Mon, 15 Aug 2022 02:06:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zthq=YT=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oNPUl-00082X-U5
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 02:06:23 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70052.outbound.protection.outlook.com [40.107.7.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc32a222-1c3e-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 04:06:22 +0200 (CEST)
Received: from FR0P281CA0068.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::13)
 by AM6PR08MB3944.eurprd08.prod.outlook.com (2603:10a6:20b:a1::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 15 Aug
 2022 02:06:16 +0000
Received: from VE1EUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:49:cafe::95) by FR0P281CA0068.outlook.office365.com
 (2603:10a6:d10:49::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.14 via Frontend
 Transport; Mon, 15 Aug 2022 02:06:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT010.mail.protection.outlook.com (10.152.18.113) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 02:06:16 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Mon, 15 Aug 2022 02:06:15 +0000
Received: from 814ea3f87901.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 78B802AF-1E73-4847-8C41-8E47E8E430EC.1; 
 Mon, 15 Aug 2022 02:06:04 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 814ea3f87901.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 02:06:04 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by GV1PR08MB7732.eurprd08.prod.outlook.com (2603:10a6:150:53::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Mon, 15 Aug
 2022 02:06:01 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 02:06:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc32a222-1c3e-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=jerwNsq30B6A8EgwUGgjz+1nrHp6CbivH4Hd69jg0MInyZFw8E8hVpABnnqcXpcidxvnRY2COY3palxFzEkK2ZYtz1cNJZBjGprpM6WXh+9QOeZWrLntReau7HwO359wfWTT5R1wIfiJMVFeMV6CeYobPGGKPX8V5B0SlHmLmU0n9ebS4yZRZ6QNww+CuDzlkociJxQTScCIn68WZBUCKXRv7Wsae2ij9L+jbZs3T2os5+QbBbJOklF1K9BrTGfzmq48GX6WYGKBuPUCtM0151YVCIMUltWmBfTccpuAWEZ2tU+u3S9WAnoDNtaMwQCQXse5FR1NAlFvfHAEcZ05Hg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AzdOkapmekA1JlCMQ/kiY/PAJ5Vq97zQiawEZFkNp14=;
 b=PGQisYYFXUHYe4yoBR9fWthnqKhCrnJ95jxvyFHHnW3rvwaF8r6pcaNRqWu8kKoQUADI0oFC/cw1n2KoFhtHBinL9IKPRGy7PVJs0y+8x7MAZWJKI2/ajbVqGQXT/5A0Wxhf5k0Tl7kzE4huWrr7ZrlTmTjP89d8x6W9m9nLTOueuTfQFcPjHQ9xXcdnps/GXJ/7D22is4yAb0DiTcSR7a/bXXHjCM18YxgIBQWJ5vpr6UqLrI9BcFDH6UNSeSNaqQZdREgEqZ2YDWNPE95l2ZzbJQkILIw2sZfUvsv2St+/CfzE7H/ZCIjw0LVVlicylDFjVByp+P9wXbdT+D/BxA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AzdOkapmekA1JlCMQ/kiY/PAJ5Vq97zQiawEZFkNp14=;
 b=I3pTWcODD3LgrQ8HnFsKMTPN0Y0VT656UOK9K6uD8TM4w9qYFYey5jXz0uvU5J3SfQ/rN2ujCWM8JTtBiYOTii8TSp1LOjr9Ot2eHy+xL1LK2+MTYeQxM1L+cq/ZTGOh9zi4sboJVbH5f8qz/E6We5kh18E8S93RN7A5Pum2zUs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1c29fcb3d7552d66
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SwrrbwMZJ3cXAL+Nir1KDFDSfG9AcX4zRh4TagY1cs5vggtchX8aqZwPbW5Pu/ORVILuM1PhfOGYlRSfdWhJqqm1SbEbeiKjF2tebm3HVEmGRYaFdEMdyH3ZkrAOMkl7AAoaNJQx23F27uk+aHj2CFWwf6cPj9W9IrpdgDzWbXyH+rbWtczsSo9GhxE/Cs5T18RyNzyIIDfGM1GJKRx2r0d+m8ntGcOhmLqdd512Ms9oqcosLsetPKBpv8W3jgqlxgF8sVFYKfKasInCxERhBnes9irca2ESreTe5B6rg4B0B1B3ui7tQMNX6JamlU61oxAlc+sQkDwrEAMV/qtSKg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AzdOkapmekA1JlCMQ/kiY/PAJ5Vq97zQiawEZFkNp14=;
 b=Fm+kNs9pCh4uo0nTpYhqdKPN75SH/2gvdG6ZW9x73bxyen8mUBrB5E7OSzXxI8WqQpHltdHSU30t+b3qBSOgRNgU9irBNmyUTOcUx16HJJEeHSwQyOnkal7JHcwVw2h3nBaFLXVuSDtURGW5lWtZonlm67JDB2mUlwr0SoFwvBHa/+IEYCT+SsnFGgUkUNyqnYTKdpDgh94dnBU9FEyQZdsUw4zMyntvOEMW4M8ebjkjyKHma1PRG1tYcw0vKjivKIGaXfGSYpBa7sUZfzSYRSfU/WYFzQeluIfUP0bn42P475wnYj0WEgz/7lgEv62LgdJV3v/Yz9sJyUUjrjfemA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AzdOkapmekA1JlCMQ/kiY/PAJ5Vq97zQiawEZFkNp14=;
 b=I3pTWcODD3LgrQ8HnFsKMTPN0Y0VT656UOK9K6uD8TM4w9qYFYey5jXz0uvU5J3SfQ/rN2ujCWM8JTtBiYOTii8TSp1LOjr9Ot2eHy+xL1LK2+MTYeQxM1L+cq/ZTGOh9zi4sboJVbH5f8qz/E6We5kh18E8S93RN7A5Pum2zUs=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Message-ID: <10636538-cb61-f346-4af4-970b36ad41ab@arm.com>
Date: Mon, 15 Aug 2022 10:05:52 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-6-julien@xen.org>
From: Wei Chen <Wei.Chen@arm.com>
In-Reply-To: <20220812192448.43016-6-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SG2PR04CA0210.apcprd04.prod.outlook.com
 (2603:1096:4:187::7) To PAXPR08MB7420.eurprd08.prod.outlook.com
 (2603:10a6:102:2b9::9)
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: 814b079e-e0e1-40e9-a872-08da7e62bcb2
X-MS-TrafficTypeDiagnostic:
	GV1PR08MB7732:EE_|VE1EUR03FT010:EE_|AM6PR08MB3944:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 g6JZxeNAmHynBnBBYOtjnLj+lhWn6moedEGVS474Vc6NAfRLMTAXTHyo4qS8UH4TJwKZUucebxJhjxp8VnVGLDrEFCkLQe2T7tbNTWenLrCIfKfLe3VPjQqQMiXMPqQcr6tPXNQTeLjQILPwHJOWt6zuuMQQuew+iJNi+cCPdgCEyNt/KG0PAfudsnlEbGr/d9LNRVh+cXTmCfnzM+Q78mKYCF5XuFYKiQQWtw0oI2B4P3Zt124mc60CBPbeqYpriH8Lv4f/NnBb+fan87Q6Taqb6an9oyt5uHO1PnCvIP0RYUsVSXLdhe6VXyWS9McOT7mxFOqNQMGNFkcLkhj/mwA1JCApNAOk5qhkOe8FEcxJnsdGfUN+MUhLhVz8iz/ICPeebFiSO3Ady4qep8JMTt45WGed/qfgsgK8TCNn4t4RZE87hguc0fsRZ26LOvKbwNBmGiBLGEQfTnNlIEEoCy1kOXg31jpZNAdiobSUrexjRUn3HMMZe7dRJvggxYgEY2ocE8jyKYWg6fC/xUBVhhVdZeMt13R0gRfyd4Yr50vKd/+ogMsFDHYhYNW1wsY3IkBNkaQzsn3BOaygo0OpIRBOir4rFA7bYyWR6be+cqgcK+eg3ZYUNOf3UL3TSAPsXF+0xWyrX6KYUIXmYOxI97zbxdcAqpOpseOWsYk9VH9ERwyH+asht8F4JwrO8H59phBx2oBoG3WEteGXCAVKloYcX/TUeu9BnWBYVUGU9ioCE63RqHGDuIPauryFoa56fFPHMYnWSJP9FyKnpT7/tbCGggB1Knj33co2BP8nWgFeBojJXyr0ozWyzCRY9uKiBi6i01l6r4YfBFxsKJItiIkZ8b7wbeZene/7SHKc3yg=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(376002)(39860400002)(346002)(396003)(2906002)(41300700001)(53546011)(6666004)(26005)(83380400001)(6506007)(6512007)(38100700002)(4326008)(6486002)(66946007)(86362001)(36756003)(8676002)(2616005)(66556008)(31686004)(316002)(5660300002)(54906003)(8936002)(186003)(66476007)(31696002)(478600001)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7732
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ea60897b-de58-43a9-3ce8-08da7e62b398
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9s97mGf3AsQQj8JZpg9xDI3qB5mK9SUHuQgPQtUkiqp34FRoy/LY4KGKkktuLu/cAS1TU+TGTtrbPSKwQ75K/ABD++AAx4WxstMjAeO543eXe6kKVx1QbR3C7hZBYpgoGk13UUbqPg++fc/RaqDZO7RxTqrh+7FZ3x90LXHDlsTPVir/QYp29mkyyeEOlqeqygDM+dfDiMs4BzrsiGjS9UQxOO2kswoYO8rXuJGH49QlXaIEe33qyL9CzutOf0I6nRqYPT5nIcT0hAL8Qb8q8L1rE/ebrdnJCBFfoZWc5NmwosHOPqyiZHPhOcpJunqU/QXk/EQigBI+vKv2RRo5pcS1TRDU/KBazX7h3KpPeV+et2U5HJyiMX7t9R0q7AiSBaRCLRF+2kKH4tizhOOQ5D19+bS+LVWaZqYyB/eegUxlh216JqgNv0iCTaDOqccyCJGZl0MTv2QBci0+aDrnR6o6mtFa1uMJFlqn8ek3C1K/30EM+9pRd0TFZHyZmxMv13930LL0A/oPPrTNZJtObahI32bNx2NZLOib6knGQKu9Up0PuzQoHiGVYMczayKqiO8hZVyuLJ+trh2aPhfhrBpL74gBnRRwFVCwHqnLAgImIPtDkTu7attdvBMgn1OH07+ROUNQ4J+7dvH7rMf3BJ62OL8MSuCJq5fEQRHHGMCLh0JFgJfk62A3nTGSAm7ExlEs2GG3LF3AEPQwTUsSs73zWJhmnpaOBTblO1eb3i1iRmujvBeM1uES0v6Y9x3qjXJFrX39Yhup41Btn3MSSBVswoviFukn4e3TugM4aLPKd71kx8BPPllN3xa3d92w48Skh2dYGSQQ8Xs0NBumNQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(376002)(346002)(39860400002)(46966006)(36840700001)(6512007)(26005)(70586007)(8676002)(8936002)(6666004)(70206006)(4326008)(41300700001)(53546011)(5660300002)(2906002)(6506007)(47076005)(336012)(478600001)(186003)(86362001)(107886003)(31696002)(83380400001)(6486002)(2616005)(82740400003)(82310400005)(81166007)(356005)(316002)(36860700001)(40480700001)(36756003)(31686004)(54906003)(142923001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 02:06:16.2972
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 814b079e-e0e1-40e9-a872-08da7e62bcb2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3944

Hi Julien,


On 2022/8/13 3:24, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, the strings are in text right after each use because
> the instruction 'adr' has specific requirement on the location
> and the compiler will forbid cross section label.
> 
> The macro 'adr_l' was recently reworked so the caller doesn't need
> to know whether the MMU is on. This makes it easier to use where
> instructions can be run in both context.
> 
> This also means that the strings don't need to be part of .text
> anymore. So move them to .rodata.str.
> 

This sounds very good!

> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>   xen/arch/arm/arm32/head.S | 12 ++++--------
>   1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 27d02ac8d68f..a558c2a6876e 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -93,13 +93,10 @@
>    */
>   #define PRINT(_s)           \
>           mov   r3, lr       ;\
> -        adr   r0, 98f      ;\
> +        adr_l r0, 98f      ;\
>           bl    puts         ;\
>           mov   lr, r3       ;\
> -        b     99f          ;\
> -98:     .asciz _s          ;\
> -        .align 2           ;\
> -99:
> +        RODATA_STR(98, _s)
>   
>   /*
>    * Macro to print the value of register \rb
> @@ -736,7 +733,7 @@ ENDPROC(puts)
>    * Clobbers r0-r3
>    */
>   putn:
> -        adr   r1, hex
> +        adr_l r1, hex
>           mov   r3, #8
>   1:
>           early_uart_ready r11, r2
> @@ -749,8 +746,7 @@ putn:
>           mov   pc, lr
>   ENDPROC(putn)
>   
> -hex:    .ascii "0123456789abcdef"
> -        .align 2
> +RODATA_STR(hex, "0123456789abcdef")
>   
>   #else  /* CONFIG_EARLY_PRINTK */
>   

Reviewed-by: Wei Chen <Wei.Chen@arm.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 02:48:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 02:48:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386973.623013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNQ9V-0003sP-CS; Mon, 15 Aug 2022 02:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386973.623013; Mon, 15 Aug 2022 02:48:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNQ9V-0003sI-9l; Mon, 15 Aug 2022 02:48:29 +0000
Received: by outflank-mailman (input) for mailman id 386973;
 Mon, 15 Aug 2022 02:48:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xB18=YT=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNQ9U-0003sC-Af
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 02:48:28 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2044.outbound.protection.outlook.com [40.107.22.44])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bae8bd11-1c44-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 04:48:24 +0200 (CEST)
Received: from AM7PR03CA0005.eurprd03.prod.outlook.com (2603:10a6:20b:130::15)
 by AM9PR08MB6082.eurprd08.prod.outlook.com (2603:10a6:20b:2dc::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 15 Aug
 2022 02:48:21 +0000
Received: from AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:130:cafe::6a) by AM7PR03CA0005.outlook.office365.com
 (2603:10a6:20b:130::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Mon, 15 Aug 2022 02:48:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT006.mail.protection.outlook.com (100.127.141.21) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 02:48:20 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Mon, 15 Aug 2022 02:48:20 +0000
Received: from ee454b643f5a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F82A8329-1948-4172-BD59-CD1F6C13CB12.1; 
 Mon, 15 Aug 2022 02:48:14 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ee454b643f5a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 02:48:14 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com (2603:10a6:10:2e4::7)
 by VI1PR0801MB1918.eurprd08.prod.outlook.com (2603:10a6:800:84::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Mon, 15 Aug
 2022 02:48:11 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518]) by DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518%8]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022
 02:48:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bae8bd11-1c44-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=J/XtMOBjyWoS0k0zwNA6RHXQP6H7WYzVwtFk6d7cwt5DYBav2upXRr0obV+NZhC2FIOVyJj32eQbBbfKWLuzQBS/S3VQ/7BJQmeViIQio8u15cz5o4iaTdGOlsR5gvWxue3vy2PZB/FzHCI+PCfpabScIBp9poMyFNJJi9x9TIX3sfmtzoAgk8gKgkhnS+2w5sVFGb8f2gf4Yr1V9stELQ0pFmzBSiIUSCdpIYBjBOJ6somR0J6FomHVHDYjY2iN5w5BQtW1lnJZ1tDqTVXk9SK29p9xgdBgRJOUVYoms7sa/3ZjJT1A1ebAzstOP25Sb312tJE3JwA3tHx30jgv8w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yRIeFdYVyMao82JpWjieA/+mPMpQ6dMc3boD2/gyt+8=;
 b=g64ZKV5zZ0ewRV79sbjRGHtV5Q8hHRvb1dqXBvwM4/7rxn6hqgFPjrZimsy9Y4BC/TU3Z1EyHvXMOIEOUyfJxVYLpl2oeCzYb+205XDbQIHPHfwLv2H/o5nCdFGu/Ny+YOz/t/f96CLBOgZ5/ormcBYIROcM+pVUXvZNk9G72UfYeapctMpLvcD0Vg2TdUqJqc7NQ1e6+slIVgpU1GuSPyAdWvEVbPzCb1/6AjS7a4Fk9I2uFK/Iqvz7Io4S7kohXgbSEkp6mI6n8bpLVdqpTElAubhgmhka2Qf617v+94IoONm94McAjxm5uvS5Pwhw03i7qSbcKv8yP2Z6fn3q/g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yRIeFdYVyMao82JpWjieA/+mPMpQ6dMc3boD2/gyt+8=;
 b=LWDsmqADeM80jTspYwxqAv7qQqJ1eoBGkRVxWHdXZKpX9ZvIzAJzTuF771ZM/GMa3dYsQ77iU2e0/eQS7DOYPOIGbEkdF/88ZzxQdGGpXTxSO2ggmxS/tmKe3gQqb7tksXvfqutMXWJpVI1ZZanj7KYrTXsgcCTTHgmmCkdSc0Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QCBgDe3LMEs9Y1JcUBXcQ2WcfHvATHlIrk4R3s3lxd9vNHzDBIEpMH6nyc9iEd1u9PSUYAB0Gg6UZ19I3aDHLLrrCrVb6xnkCZWBAJnKdt37s5epVluQikG7VbAu2UoQSn7af5+4XbYIEXab1zfBAuA59GIxTpu6E8u6ZsbrahnqkrYTfaghGR9Vy41BRMCG2nnx8/aOrzm7DYeaxmcVNezGWQGiyMbdFrZk+tATGEGgxbCLeaAZVU5n7tFoln/sJgJD+ryZ1wbuvWV1op2FiAgIt2llRIeGvY8ToAljf3Z90xL66YB68dqcfIDVHjX3iwgCX9kLeuD0KE5Ky7uz7Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yRIeFdYVyMao82JpWjieA/+mPMpQ6dMc3boD2/gyt+8=;
 b=YaCedcWTdiPxn1vErc95f34uYwEp+Wi5hy/tE0JyVwOOgtvPGdrvUmWTyanl9lcPH+WPab3ueReudCkXDQKoDyL/5BKSjH1xyxCK7s/1Dth0tR1JOADE32jvpGgxY9Kd6IUNVMLQciwk/TeSdSaPV79YMxx5ak2MAwVsIwpDis5ADzMpUnJl2uG9QiK2Hm8j/c2xelkfOcla3zEayHo/GXuVKISv5Y1c8GSmEun74x4xJfBXA7klgSZLe1YkRWm1rLQ7nHcjpmzyGxpFkT+u6ys77Bn92+EPXuaro/z39pIzfJEXST7j8oDrPXq9rMOr/5CGQUy20DoYsL28SnN6Nw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yRIeFdYVyMao82JpWjieA/+mPMpQ6dMc3boD2/gyt+8=;
 b=LWDsmqADeM80jTspYwxqAv7qQqJ1eoBGkRVxWHdXZKpX9ZvIzAJzTuF771ZM/GMa3dYsQ77iU2e0/eQS7DOYPOIGbEkdF/88ZzxQdGGpXTxSO2ggmxS/tmKe3gQqb7tksXvfqutMXWJpVI1ZZanj7KYrTXsgcCTTHgmmCkdSc0Y=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Chen <Wei.Chen@arm.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Julien Grall <jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: RE: [PATCH] xen/arm: Add xen/arch/arm/efi/stub.c in .gitignore
Thread-Topic: [PATCH] xen/arm: Add xen/arch/arm/efi/stub.c in .gitignore
Thread-Index: AQHYroCGfq4LjWVrJ0OvR2UVvyJKya2vRYww
Date: Mon, 15 Aug 2022 02:48:10 +0000
Message-ID:
 <DU2PR08MB7325D7701DB5A7437173FFC8F7689@DU2PR08MB7325.eurprd08.prod.outlook.com>
References: <20220812191930.34494-1-julien@xen.org>
In-Reply-To: <20220812191930.34494-1-julien@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 2DAE58A5BC24D74CA7F4C22463B72A3D.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: e7d7a882-9af0-42c6-be33-08da7e689d51
x-ms-traffictypediagnostic:
	VI1PR0801MB1918:EE_|AM7EUR03FT006:EE_|AM9PR08MB6082:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 oeL91+5hss9cE+ke7H2fKEE90dNfex0T0NBc4Dl6T+jyp954CJ/R1Uq+Ii/vc638K/rY3ckw4fBqC0hPPYu+RvMEhPvhMXF9VTYREBOqQ0GxLaj66/Dw1yZhoavNo4BNyaHoimSclAKIM48Zbk3HIPDv5+AAcnTBmaUnUwtAStLjXvF/oWDPDE+MnaL+wxbMzi8qz6bF1oCDeJulyq/P8PzVdR7IBa/+UfhHbgm/FlXA63knEHfWQFXrL3XLea7XfrXScMljMAKUMwqNJnYfJZkh7gurMtngXX58bNvPGBViaRuYOu96NRk1t/NWStIRUJDdJ4LxlHgVL+YCJ/JzqbCFnSa5FuQ1GdP/vxV2PFL8aF5XcYLSV2zbXujp9OTT7nEMhKQZiSBTPyFZXovzstQ88HND0QQw7qj4sBAKrZLYPWP0J1zSvqPgcCWhhta3Qe+ng3TGk3mB4f3i1HqKgde7G1GvHnYtFrYpYmBQt0a0pph2GVxaGu6mMNenQrOCt/ufNrvGrXrBuGvKGG0Tlrfv6xhC5Lc6l/lkpb9x+QN7B6ljIRvmkWJTozX8rfimyo0jq993cQ1JLD6KmxNbdObaa3VWxbntPadclAQOddYAbXXBI+TFAXqhWleCjpbByqdHs8w3LdeW4enuJrrO2eXXoz8Du5zT4KYcknMecUF5DanDyaVMM6GFadCd1EFBRP51G9KT9rpLOgK7N2UgdfaKCDfp8sDWYl7Z78GO4OrKQ0YS9jzjpmSzL/d27LTu2rZJEe2k2C6v5H1E98ek/va+P8OwDeF74x+7deHUeFakDzCP1LJ7bwq/twEcJcBn7RuXkI7nWVBKoP/db+fC4w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39850400004)(366004)(396003)(376002)(53546011)(41300700001)(71200400001)(122000001)(38100700002)(2906002)(33656002)(83380400001)(478600001)(54906003)(8676002)(66556008)(66476007)(66446008)(38070700005)(52536014)(86362001)(64756008)(4326008)(8936002)(110136005)(55016003)(26005)(316002)(6506007)(9686003)(76116006)(7696005)(66946007)(5660300002)(186003)(142923001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1918
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a0ecb2b7-6914-43ea-75c5-08da7e689770
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0REwagubtPg683gP0GUXK3uCjFLDomUc7o98dQuy62p10zmpHJ3w+QOBJOsOaMBGrBE2KhyTCWGcy5o6YIaKek/ILOPNbAAfxmwo9rh3qXGfS0A1Unwpvf8dAiyw1dxUuPF0N9BOapHu5xgByKHNf0crgLV1h41nCQWfxPWM9P5kfQRCrfiiuhIK1uzAl7sGIr1l7BHhWkD4CKpUuHePhvqM6JI4pQckEatfPGAZJBi2Lt/1Q1k101Mhqz+jutAVVnwM3VoPzlCs558plDTUSzLVnmWHVD1uNLzsjQh4ykOY2RKuvYOTz1SqxQSFc0ay99EuC5803ZrkFf/jHZQYnrVGwP14xo8Jk4HEjpkQWZ7FyUfP9fDCmt8N3D1QBP+UJlVSC5+roGJ1QnLpZrhNBcuU7itXlaJSMkGnwpGky4GUH622Vm2ZknLc6OR5VpRe6LrFjUmCTS0pReroPpwrp5BJyK104Rlm8PduWyRefgXrDIx93LQ9wIYzpMKeYKTIloizbXNsBQYUykj4GCcO0xAcjCOhJJEBmpu2cLMkMMsh2PMg+6I097OOrDJ52R1Rq+3vcKGmgQ2DC+GiA8iPebexNEEC7+WPx/GaD4gGnkVcrnzx84pTdbyRZqOIbIV4rmGDF5x7DxpTKoP0LeyU2TbdJT044IhVwwaAeytF2IkC9sl2136cBlzlOhXSzIbXBKwAZtAUJt4Y8U6+ILYNBC4nZca+xgwNtztS4mkkcwXnJ0NbSCcmc+BMxjNYB7IBluFtwSsQ+a7gOAbv/2ZcndzfpC6ORsy91mfazauyBZKEiQoDSRaGDyLjSENTMT8S
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(346002)(376002)(39860400002)(36840700001)(46966006)(41300700001)(55016003)(9686003)(26005)(82310400005)(86362001)(53546011)(7696005)(6506007)(40480700001)(356005)(81166007)(478600001)(82740400003)(36860700001)(47076005)(336012)(186003)(83380400001)(8936002)(316002)(52536014)(5660300002)(8676002)(4326008)(110136005)(2906002)(33656002)(70586007)(54906003)(70206006)(142923001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 02:48:20.6800
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e7d7a882-9af0-42c6-be33-08da7e689d51
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6082

Hi Julien

> -----Original Message-----
> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
> Julien Grall
> Sent: Saturday, August 13, 2022 3:20 AM
> To: xen-devel@lists.xenproject.org
> Cc: Wei Chen <Wei.Chen@arm.com>; Bertrand Marquis
> <Bertrand.Marquis@arm.com>; Julien Grall <jgrall@amazon.com>; Andrew
> Cooper <andrew.cooper3@citrix.com>; George Dunlap
> <george.dunlap@citrix.com>; Jan Beulich <jbeulich@suse.com>; Julien Grall
> <julien@xen.org>; Stefano Stabellini <sstabellini@kernel.org>; Wei Liu
> <wl@xen.org>
> Subject: [PATCH] xen/arm: Add xen/arch/arm/efi/stub.c in .gitignore
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Xen build system the symbolic link xen/arch/arm/efi/stub.c. So we want to
> ignore it.
>=20
> Fixes: 7f96859b0d00 ("xen: reuse x86 EFI stub functions for Arm")
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Penny Zheng <penny.zheng@arm.com>

> ---
>  .gitignore | 1 +
>  1 file changed, 1 insertion(+)
>=20
> diff --git a/.gitignore b/.gitignore
> index ed7bd8bdc76c..0d53eb304993 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -295,6 +295,7 @@ xen/.config
>  xen/.config.old
>  xen/.xen.elf32
>  xen/System.map
> +xen/arch/arm/efi/stub.c
>  xen/arch/x86/boot/mkelf32
>  xen/arch/x86/boot/cmdline.S
>  xen/arch/x86/boot/reloc.S
> --
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 02:49:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 02:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386981.623024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNQAX-0004Po-Na; Mon, 15 Aug 2022 02:49:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386981.623024; Mon, 15 Aug 2022 02:49:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNQAX-0004Ph-Km; Mon, 15 Aug 2022 02:49:33 +0000
Received: by outflank-mailman (input) for mailman id 386981;
 Mon, 15 Aug 2022 02:49:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zthq=YT=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oNQAW-0004Kr-1i
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 02:49:32 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130055.outbound.protection.outlook.com [40.107.13.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2f7c8f5-1c44-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 04:49:31 +0200 (CEST)
Received: from AS9PR06CA0625.eurprd06.prod.outlook.com (2603:10a6:20b:46e::16)
 by PAWPR08MB8814.eurprd08.prod.outlook.com (2603:10a6:102:336::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Mon, 15 Aug
 2022 02:49:28 +0000
Received: from AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46e:cafe::bf) by AS9PR06CA0625.outlook.office365.com
 (2603:10a6:20b:46e::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.15 via Frontend
 Transport; Mon, 15 Aug 2022 02:49:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT032.mail.protection.outlook.com (100.127.140.65) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 02:49:28 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Mon, 15 Aug 2022 02:49:27 +0000
Received: from 6452bc503223.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 42BB0613-D5B6-4BFF-A5E7-9B397026868D.1; 
 Mon, 15 Aug 2022 02:49:18 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6452bc503223.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 02:49:18 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AM9PR08MB6276.eurprd08.prod.outlook.com (2603:10a6:20b:2d4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 02:49:16 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 02:49:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2f7c8f5-1c44-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=LUaDrIO/dyIk6WWJJUFRy9MKHyqEUozJZ7JheuOIHs1CQNNIC86PNdcNAVo+v7pzcLurpvaDktnv4n4ut7OPtXh5qy3MnxIOeGp1QfgOXvHLRQtwkvCEWAKQbQqdopHYXU67AY35c8dwYzHTDrwPdKkdg+G5RIeLXkVInop30HUXHtKehUJ41sCa5J7llu7MpgiC5N+Hf6cpz3EEB4yahq+xUZjmj8QF2CZisr5H9O+C+9mutmMpUHHE5d2+KnAUmK8GmWoo2XXwFnF9AMCVrYk7UsI14vJeItt777Y6PemtemL7IUK7g6+UjAFjK7m1Y+H2J6ETPo3vcaDKJv4/5w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7DuWh67kuoUKWxqk/J0OxdcWqcM4IlrZEY4w+5ukxQE=;
 b=Fdl0ykFq+iETDIHW+iybtrh63CHbect1FfpY+aZjrvSzFm69ZH8QUz88LuCVcdUrphttR//PGmJIjGIQK/afL+KPfeSkQcpnCs9mS2lqBwouWMndhn5Jr124alG2N4ud4bO39WPKHOYp+7gCI9HQ3ht8Ot9Pg0v8FVHp78/u8Bqoby7DZ791o+w+GrhLubhTZbzUajZhKaXPHUFWgpqKqSC3OrBnUm8HBNAPmwqvOU/LAoJsrjg2ULq5p3RHKfbn0LVL2dY9uLUAadtPX+5ymrpUzBcK+g4/1dcocX9D/xM8Leb2s4WO4J6oeKchzEfVtMRViesZkzxKuZvzlbG09w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7DuWh67kuoUKWxqk/J0OxdcWqcM4IlrZEY4w+5ukxQE=;
 b=1qSbY2Sy22TOEQdjIA2k7yIFeG1YbyzVXwd6ahmoRxqcaywGp4WUF3kEEqmzyiTP1A3sQwEkVDxzGOb+YUGoW+XcdHD/P/tpSSq20UiHolcxzo8/u9r801wQUuMYxaBwAS0FXnTGjyZ5YEm9bzR+bMrHxz2HEpn0aj8UyQDU8e4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jiuBkLyRUl8tvlFpfPkJLdmCtqvZRDNvKFGVx+iyqacK7LS3TRzNumh0QceY9Prmi8cUoDryj83yzLo1g9BOJZ71cEeqcaUZ+UX181WkFOBspcH7fqyRQ8S5hkt10/pb2KNA0SLgvP58xJN80lLq2WGHPwYiWltvStI937vgHfYVvrhenFYjCBqucyVYdDp8C//7jlghan6QB6TW8OSUOv/k63elf94w66VYLnUVRhf+RWp4tNayQ32TgsP6dAIdXa0AGBfKuwLqMfvYTJsBnbYhp1ljHVBmcwOvqXuW1WMK63PKWrrH89UR5jR47WZL9ezTNM5xkvhJV9o9dioJwg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7DuWh67kuoUKWxqk/J0OxdcWqcM4IlrZEY4w+5ukxQE=;
 b=DIvhWkXgTYo/79JxZzWXAwdYhStpO4b0jjlhETvfodBdsBh+3pGhhhThwrvQLH2BXFfUMGKF9wFnHsLtrOH8rW6a2PU3TPMDt0nw8rlJr7jLAVIcMGawTIGNNUTAL+Xegi93yLVVp/kr1C5FNMVtPmAFo8rSfn5TjNJjkiOfV549fyVbZmb/aI7i9Ak9wPMk6WskQGE+NrVPITYKuTnZL/dEaHR/e2k7f8G+sQLnMoYUFzQB5gPIq8ilT1WeHynx6+O5AL/n6ap75MuNIgW80PSjuk7qvb/CJEPyp0Chz/B5mCZ27xyDPa49DHjogzMpI+AuL9cvugeyPE2QaDlxUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7DuWh67kuoUKWxqk/J0OxdcWqcM4IlrZEY4w+5ukxQE=;
 b=1qSbY2Sy22TOEQdjIA2k7yIFeG1YbyzVXwd6ahmoRxqcaywGp4WUF3kEEqmzyiTP1A3sQwEkVDxzGOb+YUGoW+XcdHD/P/tpSSq20UiHolcxzo8/u9r801wQUuMYxaBwAS0FXnTGjyZ5YEm9bzR+bMrHxz2HEpn0aj8UyQDU8e4=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Julien Grall
	<jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: RE: [PATCH] xen/arm: Add xen/arch/arm/efi/stub.c in .gitignore
Thread-Topic: [PATCH] xen/arm: Add xen/arch/arm/efi/stub.c in .gitignore
Thread-Index: AQHYroB9HuUD5/U/xEGQNBL00OqCXa2vRWUw
Date: Mon, 15 Aug 2022 02:49:16 +0000
Message-ID:
 <PAXPR08MB742018A3D44FF6521A0017D89E689@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20220812191930.34494-1-julien@xen.org>
In-Reply-To: <20220812191930.34494-1-julien@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 720AF01C6B13664985B856779ABE2782.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2223247d-8ad5-4e7b-0698-08da7e68c583
x-ms-traffictypediagnostic:
	AM9PR08MB6276:EE_|AM7EUR03FT032:EE_|PAWPR08MB8814:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 uqaSf6eS8T0gAbTIRlJefaG0uPMk0Jnkh0HcDm07WIRCNJZ7Pr6ZZMxOh60kK3HcrkvJmlhpWaX9/HujTOleUF7G9+jm1jDCfa8Lh+cYXGKELHugt0G/7XOMozevLQsBdMFFMHX5chBLahhdo47WI4AXLt+7AtHwH7/fHmoTtjUh4A0UHtePU53R0vOn2zoVocUr2I9YXMKZHe/697WfgOWofjS1HFyzd9EeSTlowkNrqMZzKmWQkTb6aMr/LhhM3RetybS/BMoynFH1PokKHONSGDfblytfz8iLN9htD7bwZmgcd3gZfK+dwxak+KBeDDPBdPnxyCed/dYabjg7I0hcF0fGBlasUbD4rzWXFqXySgEB7oifuN/+KHPVnXgLBwCa/ToEJy8KcRYf/UcVIDWx1D9g96qVesA8FNs1g6Sgfk9Hq+rKHm96I5p/vIqREpu8jvEzlVMHdGPISBAfh/Elfy4xeszefm0fSYqPLG1PE0O5g8sOp+eOerngQWbsbYo9TCR87nuVMMo2NogGROVpLX4sNkfwmmp8yvS3BKR2IhlNNs7FjmANuJmLwTyP2BOXXANAirQp/uHAs/GHc2gkrPBJi/xoENqO7TD4uE7/OwqW9MsWUrKrRonQo7cUoddOmBCqztej5XPp+xpy2+pQq5iTGpG7ce3R+PnmdO4ftCGbnj4pdpurDZf+rZQ8EL7jBoXC1L8/+aVj+8JoUYniiYzo+ruZwWgeKENbJFj5ymqJTtxD3WxCRVsNByLW/NPDNMHnFC4U0sXZd4DWiQONGO9jpdqLNuZKgbQbLb0oRB1eDYVVoXmgpULIBCIaI/I2xFo9yYCQ4U/O7+41Vw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(39860400002)(366004)(396003)(41300700001)(71200400001)(316002)(54906003)(478600001)(26005)(38100700002)(4326008)(110136005)(64756008)(5660300002)(66946007)(8676002)(8936002)(66446008)(76116006)(66556008)(66476007)(52536014)(2906002)(38070700005)(53546011)(122000001)(186003)(86362001)(6506007)(33656002)(83380400001)(9686003)(7696005)(55016003)(142923001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
 =?gb2312?B?emdYci9pdUZzcGxFbmF4UHFFdmtKMDY5WHhzMGRGQVozdGlkdmpMZFRRbDJG?=
 =?gb2312?B?bUhyekxzc1kvZkdZVmhBTjIwZWhvT2lRcG1SallJekJadE5WOWwzck1pK2Vk?=
 =?gb2312?B?a0t6WUNzSEMwUmVjS1l1MmRUVCtVanIvUW9YbjZ3MHBpK1lSM3BlOXprQUpL?=
 =?gb2312?B?OVdUVnZKeWVtYXhnZUtnNVlnVWhjU0plNUpkUnVXVEsyRE1TVDN5YWN1bFFB?=
 =?gb2312?B?cERHTFZNc3pnSkFhY1R0ZHg5cTI4TitqV0Q2TFdZN3ZaUWY3KzBHYWFIdG5Z?=
 =?gb2312?B?enBSMklMbEhTdUJ1emh0VTNqNFVqd1FXWll3bzhiUG4zeCt1M0pBbWNpY2tO?=
 =?gb2312?B?aTZ6YVVpM1hGZnFEeGxobnBVZEk4TXQ3bGowNVZqY1E3SG1MbUJ2aVNIUEp2?=
 =?gb2312?B?K2RaTWNLOEhES0tDR3YvN1NXNytzeXpNZ0JYVlJHS1FaOGowOFBaT0NFalR5?=
 =?gb2312?B?RkcxUFdyRlBqZVJYS1VGdTFYb0Q3TFRXTzBwSGNVSGNMZGpJYStJVUpBRk9q?=
 =?gb2312?B?VWE0QW0xbDBOMG92THpGVGFCMlNtODhzMUtGczBGbXcrTFpPL1B3K1c0WGxo?=
 =?gb2312?B?V2xBZzNCYlNQNEQ5bzRGRk1OS1Z1L2J2S2xxb2xlMVpxK2ZpTzYwWDZPamMy?=
 =?gb2312?B?OTlpWWtIUFNZUUhRcllJWGhDeThiV2s4cEYwYU91L21EeVZrT3hMQVJPemtt?=
 =?gb2312?B?Qmo0WDNCYjA5a1Fvb1RZVkx6VFU5K2dlUlk3Mk92YWh3NHg5cDFBNnRJZlhu?=
 =?gb2312?B?Q1RKT2tCZy9od0tETW95YmN4c3hMNmtUZFIvWnk5NVBVRDdqZHArcVZxVlIz?=
 =?gb2312?B?amxEdjhsQVY4R3BuRHFkUkxhMGJrRE1wbUtQb21saFFxV3hOenFmYXRDNmdT?=
 =?gb2312?B?M1pYb2kxckFLOFloL1psTnloRDhINXMwM0VxZEFLbDVDdkVmclkvdVZ6VS9M?=
 =?gb2312?B?NWpDdXRDaEh2cEM4L2RpeUJqMDJ4ckdWczVqb2k4Y3BRakxnbVhlVkl0eDJP?=
 =?gb2312?B?MEpaelVqZFFabWlobzh1VkdIb1EwZFB2REh0MVFhNXkzY3pobldEbFE3dnRR?=
 =?gb2312?B?V29VSDRzVXAyeFVLWElITythOVAvbitHL09aR2FuN2xPSGJaeXV1aWc2Szhz?=
 =?gb2312?B?bHVqditBQ1ZUMlBLSW1hb0p5aE8yTWxGYnk2SzJkSy9tZGZKNGk1NlVTdkY1?=
 =?gb2312?B?OVJaWTIyaTgzUmJuZEM3blNDUEpHNW9seVpNQUdVUDQ1Sk9uY2pjM05LdXBr?=
 =?gb2312?B?TVlqaGFqdDY5Y1dNRTBoYUIyOFNHZjRnVTA4S0h4bnRUUzRrNlBvNFNWVWhT?=
 =?gb2312?B?OCsyTDdFeFZOWmFsWDM5dTFJYS9iQ0g2eFlNekZ5NWs1TVczaGlaZEhmVXVD?=
 =?gb2312?B?UEt2WEljYkVKUWFoVnZCUTJ4aVJ6VFJZb1BBM2p0aWE0Z1pOTW9uUFk4RFNw?=
 =?gb2312?B?NmtRODJ1QTNQTG5PaFlvZy9YbmozeDd6NlEvaWRRPT0=?=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6276
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	87708545-ea98-434b-b8f6-08da7e68be56
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0SIRvHPgOJ53ny2bgoaeD2nFKWyGjloW3smmy1g96EaQfsoFd5sDXborBoMBozkiv2JO7IB6zW80VJj/ev1vKiiL5tuA2MvyGX0+5zzo9JFdvx95ws8+niDb7oa/kv1jEQjct6ciJy8c9oj1CHa2EKydN4GrKxHg/cfkOgsz83jiBBdgG13faJ6lkkqxBH98StKqcVil0zuFXZfakuKeuov9KMWPGZSaHpSoNo6lMzmYMLb3ui9cy/7NuLPPoYWFj8Lc2pEUC8Kt2Vjif61hZXrknWa78Iz5umLvRMWI/7h01aapQQ+0/Tk31rrQ9U1fmKjWRIuRCFnt/E4cLbXAJUEuPn1fg+959alfMA4MMIWHtFu2KEUK3vVriNomnvSv1iYF9UkiT/WPDKsGK7XWM41Chjf+sMFOKYue/uGJCreYRib/9z89dIsGHaJsbakhGrUhnDazwAEAxqxePlWO+KFuc7Lm1oZmEIQYxLQPrYjq7UGeCZCuaZ0ZYYkp+qHmNiPqFSXBsFHy6pYkccyjbTnuGM/jGlOgVtNQh5r+wurS9ALBHwi7yM1veHylYIGPnIQYc5GePEThTzo/+n5QAku/JbUpIdWtrVFiWwkJoBf9xE90m3Cm4Q1fbk5Bgoy7hs7d+M6AowSzpLgDMjrW1oBlGQy7XWz/lDdH4/kXwqNpUqKLsKOkcZxSXor0ncQO6TguDmKnQ7LuzFgJSHV1z7XMi49fbrmUW/A00s6+zkJoPblZcEm0T+nnXPfJlODaqxDDOohg112XVvxJ5XsOQr86v0DY1tXFfwBKI1sThjKvlcokFSV8ezsic2ugvST7
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(396003)(136003)(346002)(46966006)(36840700001)(53546011)(82310400005)(478600001)(36860700001)(40480700001)(9686003)(4326008)(7696005)(2906002)(33656002)(8676002)(186003)(26005)(6506007)(55016003)(47076005)(336012)(110136005)(54906003)(86362001)(83380400001)(316002)(70206006)(8936002)(41300700001)(81166007)(70586007)(356005)(52536014)(5660300002)(82740400003)(142923001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 02:49:28.1274
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2223247d-8ad5-4e7b-0698-08da7e68c583
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8814

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjLE6jjUwjEzyNUgMzoyMA0KPiBU
bzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IENjOiBXZWkgQ2hlbiA8V2VpLkNo
ZW5AYXJtLmNvbT47IEJlcnRyYW5kIE1hcnF1aXMNCj4gPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNv
bT47IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+OyBBbmRyZXcNCj4gQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPjsgR2VvcmdlIER1bmxhcA0KPiA8Z2VvcmdlLmR1bmxh
cEBjaXRyaXguY29tPjsgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPjsgSnVsaWVuIEdy
YWxsDQo+IDxqdWxpZW5AeGVuLm9yZz47IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlA
a2VybmVsLm9yZz47IFdlaSBMaXUNCj4gPHdsQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFtQQVRDSF0g
eGVuL2FybTogQWRkIHhlbi9hcmNoL2FybS9lZmkvc3R1Yi5jIGluIC5naXRpZ25vcmUNCj4gDQo+
IEZyb206IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+DQo+IA0KPiBYZW4gYnVpbGQg
c3lzdGVtIHRoZSBzeW1ib2xpYyBsaW5rIHhlbi9hcmNoL2FybS9lZmkvc3R1Yi5jLiBTbyB3ZSB3
YW50DQo+IHRvIGlnbm9yZSBpdC4NCj4gDQo+IEZpeGVzOiA3Zjk2ODU5YjBkMDAgKCJ4ZW46IHJl
dXNlIHg4NiBFRkkgc3R1YiBmdW5jdGlvbnMgZm9yIEFybSIpDQo+IFNpZ25lZC1vZmYtYnk6IEp1
bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+DQo+IC0tLQ0KPiAgLmdpdGlnbm9yZSB8IDEg
Kw0KPiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEv
LmdpdGlnbm9yZSBiLy5naXRpZ25vcmUNCj4gaW5kZXggZWQ3YmQ4YmRjNzZjLi4wZDUzZWIzMDQ5
OTMgMTAwNjQ0DQo+IC0tLSBhLy5naXRpZ25vcmUNCj4gKysrIGIvLmdpdGlnbm9yZQ0KPiBAQCAt
Mjk1LDYgKzI5NSw3IEBAIHhlbi8uY29uZmlnDQo+ICB4ZW4vLmNvbmZpZy5vbGQNCj4gIHhlbi8u
eGVuLmVsZjMyDQo+ICB4ZW4vU3lzdGVtLm1hcA0KPiAreGVuL2FyY2gvYXJtL2VmaS9zdHViLmMN
Cj4gIHhlbi9hcmNoL3g4Ni9ib290L21rZWxmMzINCj4gIHhlbi9hcmNoL3g4Ni9ib290L2NtZGxp
bmUuUw0KPiAgeGVuL2FyY2gveDg2L2Jvb3QvcmVsb2MuUw0KPiAtLQ0KPiAyLjM3LjENCg0KVGhh
bmtzIGZvciBmaXhpbmcgaXQuDQoNClJldmlld2VkLWJ5OiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJt
LmNvbT4NCg0KQ2hlZXJzLA0KV2VpIENoZW4NCg0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 03:24:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 03:24:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386990.623036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNQi0-0000g6-9b; Mon, 15 Aug 2022 03:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386990.623036; Mon, 15 Aug 2022 03:24:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNQi0-0000fz-6j; Mon, 15 Aug 2022 03:24:08 +0000
Received: by outflank-mailman (input) for mailman id 386990;
 Mon, 15 Aug 2022 03:24:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cwKL=YT=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oNQhy-0000ft-KI
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 03:24:07 +0000
Received: from sonic316-55.consmr.mail.gq1.yahoo.com
 (sonic316-55.consmr.mail.gq1.yahoo.com [98.137.69.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4b6796d-1c49-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 05:24:03 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic316.consmr.mail.gq1.yahoo.com with HTTP; Mon, 15 Aug 2022 03:24:00 +0000
Received: by hermes--production-ne1-6649c47445-tp7sw (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID d48e2d8ae8618fd24b295ec04d4556d5; 
 Mon, 15 Aug 2022 03:23:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4b6796d-1c49-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660533840; bh=+0Y8TZWBkL5dpqoymOPHRQQ+QSIXXcJpMyTnWZbMEXw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=byd1REw8QJQMKvKlEszRnmGkClyZVFYagterdZZK8nmk6U6Urj9NYh7QD5zrjDr9z5V0Igm5sNDzD+XBjhUjsrsnWFVEz1BrLgH3r7DilZ8h91l0Rd3g0st4ouxhQVlIaylBoAlJyU6bn8v/poawiPunfDhppxTfAEaSg4sW0NrvUNMYJY/DWgAoROhXO+RPlPdgHiIzaqcBnretvqnQEfVfVrJXxz0W2wZ7SDfCI83cK7hmKevCKFARzzibdWUOfP1UzkoM7AaIFSL871DVuHusGhbfldQZlVvOX8VKLN6HvVoYgpLSXq1Z7/L51Zq0fBrey+9gPRKgWGQtDWhE/Q==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660533840; bh=+5C/iZByjZ/2wOomGaedHuNgyLtTBTw9B8hQED050Ut=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=N24f7Q5MQAAKc5jok1EyqjEa92lQTh8QccnkJ+BCYxP1ngOAa45fpKO2Cv7OqSie+j+7RvHpIvgepCSC5XaOhI1cGZErIP4B0twUcH0ly4Aa2n/aCbF38103nCkUnOqVMSsAxJHUVnVs8Pss/3ikYL8XiQq7tthcYVQ2YYrSX3NNDQ4oPMjyDn5MC/xKS6XXD7By2xofoFYfc/jp1yHIDUNrgm6pDuvUspldffHQCXWEKhKRVHl/TQgG83tEp0lNUWqqebJnR9robpHR0IqoUqHDG/sheDcXfxALONTogbRzZw18GdBUEah2kdMEd+K1MNjS54LPFDyts+4tb4m/ew==
X-YMail-OSG: iT6a2IgVM1mPgHS3fy_sk.HMG6a8c5mvjAIdmeD6gGBgp9R_KECMUlYAlE1TxvX
 qCwjbM0ShpWjQzg_H9sy5VaAL4uhNJRfqWkysT4B4qdzlrP9mDi5kMHEV3Mt6SDhg190TDdZt5ka
 jXOpmkZ5wk80j0PjK9yCn.F8bdWmAB5Wdn4hZ0dwAoFmx1oNLGPuvJMdry1WhGOqOS9mkiBkpqY8
 bOuikzcXrsZKcA06YRVzfYEiKQ4jjpQBoNLbLIEeUa32lSFvjdeyv2Y.bEGhUdfqXV0z4wQF8UPs
 OVrtnLB1bYLb6GrK6yYAaAqH9jyUz89Ty8GVOwNIBwYIsbZUaSlE.rLlZDU13g_gvnfElFxjVwG1
 XHVFW5VbbGyJi8qMPf8lOSn3gG_GEpliuiGc8PZ0j43hbJNqx_vlhIVZicCF99at5oHinM3VbKU8
 Xm81oE.wiTB2UAUB0UTmOaXdrV.j9H4YRmvBlRF5CUZRER4FeHdBSpVYw56YrCq9P5UNIuOeX9I6
 t3.C2qce.Joqqrw803vzK7430uo5KT4o0dpzrtK8uGkFb5N9Ueq2yX4_F0N0SYvbrkX4iGpJs8VZ
 zljyPVMxw3USwETCTGFuTnUdswbWq5x2oA6aNdFcmlwJwz2ZzxUj7Iu0Ilzdc2jiOkvYoNP6lebp
 f7Y4oOh03HQ1FLY4jPzLViaWdtF3jcWyPNCjOTBJZLXyuIZrWk4XY_88YkkCeSuqQz0gTUVCOw4F
 tMynGzuMnLUQmwLSSdyj5UOGZTGoKXHONaYwY0MfDnKzMSf88x8Va.RNlhm6sI4aVJ7likFtQRLA
 zo4feaNCZCAL2L0Yz6JWjuPEzoIEj7gG2xv7SW1hICte1hGPQReg0ghnXIxbmn1gz8DHvNj1.sDG
 VIXhr_f4FzndPal681VGVnRHcaKz4a0UBRz.10vvPBzojzQMEKJ.TcFpshgyMrlweLdNcyAoMwXm
 mqR0nvD_LAmXDeYe3kBiEHnzaVDbc3jztRP_gzvi4i.9fymWsZbSayhqpMUV6GQspa7Bd6w77GaP
 sVwxAaDVmQU8QcbO5mouFLiPIa_zAcLp0X.FUnOQp2YlKMnGiDnjNGbOBLRppkytLVUP9yRzJxyj
 3iSC9k0lDv35aXtvSfo_5LDKiphOxT_bhnpCx.aCYgaCybpXW5vHqFB8f_qtFartBQEBZj0kyjMO
 OKs5fSd6C4LtxZ6LH146NfDCGnV0jx3E9k_B6_SoGbtOZWDaV5f6lTqx7vmaMpgDdWe5NeFbHyiH
 0B2jWGuIZNwaGYKWA3TK1FhbE2YXG5W2hAW9_CrtuaXNAEHjRq4E5GV0g.HZUVn8U6EqGasVy9zb
 1mudNVyNXi9PIYBAVx2gQCVvosydSOz1VduFxXMFkWHzlJPE.c5rm2_6IZDbTIxwqGl4dfyMKm2i
 5iZu7lcVLQ7faOOjLqDUAy80rivNxl7CP49L4Fuj6TXkvQ823V3byatbeBQksDjZ4LTo6IcqkURQ
 286Dtkiyu6vFUW_yv5D7mh_EadNnHBmsjkwN930gAnZ_.0XXUdeGdc8J0u6vKDBzQfo4eMOMRvET
 X9PBA3TmL3J0zH9aLQIXb351be3zPjGPeDVDDGoUdsz2Ue0Xfdinae2I.Xv74cIrRt3eMw1LBaKP
 s8BXCYgAJ7Woz7SWLkhOVwlEIOPnl3mgelGRDA7A9VHS55kgJbdANKUexLRpLtacKV.qs2Wup61i
 MfZt9ObeL22GYbeUlhXe0IQCsBqRtRMjuW3dtjebQtnkxEh7p93VCIYePnTww74XwKJwPfpil8cl
 x_1sCt2GApwH9hXLAtYbV5uXdTikFl0Ys7iAgWG2sKngiX4C9RHvcu8CLJUWBAKxJ8CJIUMW5ZZV
 Y2dmXkkWMceuv_ZBHFu2hJZtL8U8CShmBZZal9.40Y7uXtNzNi4.UFDdVxAYWVjk2utP3L2lqU4A
 QrgdEBOoGUoMwGvTNT0iFlpOHVkPzQ__WsS5TgOC5.UhoAR4DqMwtOyjVduR_VbeQCIkg4yJImSr
 wOOuB1cleb7M1teGcnihcazqJ9Ynq_5Umnzcv.czUJIEX5a0.ShYfvUUQnorLKyuVa.Yr.IcNnTR
 qy5PooGuwwWCxwdEOcXU7d9sBXGcbTCnNWpii7asE5fYT8fUjsC5mSoLCXHhEkFp244Bt7zauiEc
 3ne8WuY9z2Keh.UmGsa7fTk1aw6d4to0_9eX5mpBJiU1nh39kn3_dY8606hSAnDAtoBOLpQxQoWr
 b2oGRJ.LxklbKx8V7gq_fxUpFishnpvidiu7q8fNckTDRfS0IvmxYoB7xR9.hc4AzX0ZH7w--
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
Date: Sun, 14 Aug 2022 23:23:52 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Juergen Gross <jgross@suse.com>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Thorsten Leemhuis <regressions@leemhuis.info>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 8212

On 8/14/22 4:08 AM, Juergen Gross wrote:
> > On 8/13/2022 12:56 PM, Chuck Zmudzinski wrote:
> > 
> > This is a fairly long message but I think what I need to say
> > here is important for the future success of Linux and open
> > source software, so here goes....
> > 
> > Update: I accept Boris Petkov's response to me yesterday as reasonable
> > and acceptable if within two weeks he at least explains on the public
> > mailing lists how he and Juergen have privately agreed to fix this regression
> > "soon" if he does not actually fix the regression by then with a commit,
> > patch set, or merge. The two-week time frame is from here:
> > 
> > https://www.kernel.org/doc/html/latest/process/handling-regressions.html
> > 
> > where developers and maintainers are exhorted as follows: "Try to fix
> > regressions quickly once the culprit has been identified; fixes for most
> > regressions should be merged within two weeks, but some need to be
> > resolved within two or three days."
>
> And some more citations from the same document:
>
> "Prioritize work on handling regression reports and fixing regression over all
> other Linux kernel work, unless the latter concerns acute security issues or
> bugs causing data loss or damage."
>
> First thing to note here: "over all Linux kernel work". I' not only working
> on the kernel, but I have other responsibilities e.g. in the Xen community,
> where I was sending patches for fixing a regression and where I'm quite busy
> doing security related work. Apart from that I'm of course responsible to
> handle SUSE customers' bug reports at a rather high priority. So please stop
> accusing me to ignore the responses to these patches. This is just not really
> motivating me to continue interacting with you.

You are busy, and that is always true for someone with your responsibilities.
That is an acceptable reason to delay your responses for a time.

>
> "Always consider reverting the culprit commits and reapplying them later
> together with necessary fixes, as this might be the least dangerous and quickest
> way to fix a regression."
>
> I didn't introduce the regression, nor was it introduced in my area of
> maintainership. It just happened to hit Xen. So I stepped up after Jan's patches
> were not deemed to be the way to go, and I wrote the patches in spite of me
> having other urgent work to do. In case you are feeling so strong about the fix
> of the regression, why don't you ask for the patch introducing it to be reverted
> instead? 

I have asked for this on more than one occasion, but I was either
ignored or shot down every time. The fact is, among the persons
who have the power to actually commit a fix, only you and Boris
are currently indicating any willingness to actually fix the regression.
I will say the greater responsibility for this falls on Boris because
he is an x86 maintainer, and you have every right to walk away
and say "I will not work on a fix," and I would not blame you or accuse
you of doing anything wrong if you did that. You are under no obligation
to fix this. Boris is the one who must fix it, or the Intel developers,
by reverting the commit that was originally identified as the bad
commit.

If it is any consolation to you, Juergen, I think the greatest problem
is the silence of the drm/i915 maintainers, and Thorsten also expressed
some dissatisfaction because of that, but since there is also some
consensus that the fix should be done in x86 or x86/pat instead of
in drm/i915, another problem is the lack of initiative by the x86
developers to fix it. If they do not know how to fix it and need to
rely on someone with Xen expertise, they should be giving you
more assistance and feedback than they currently are. So far, only
Boris shows any interest, and now my only critique of your behavior
is that in your message, you chose to engage in an ad hominum attack
against me instead of taking the same amount of time to at least
briefly answer the questions Boris raised about your patch set over
three weeks ago. Your decision to attack me instead of working on
the fix was, IMHO, not helpful and constructive.
> Accusing me and Boris is not acceptable at all!

OK, I understand, now we are even. I have said it is unacceptable to
not give greater priority to the regression fix or at least keep interested
persons informed if there is a reason to continue to delay a fix, which
ordinarily should only take two weeks, but now we are at more than
three months. Now, you are saying it is unacceptable for me to accuse
you and Boris. OK, so we are even. We each think the other is acting
in an unacceptable way. I still think it is unacceptable to not work on
the fix and instead engage in ad hominum attacks. Maybe I am wrong.
Maybe maintainers are supposed to attack persons who are not
maintainers when such outsiders try to help and encourage better
cooperation and end the hostile silence by the maintainers who are
responsible to fix this. But that does not make sense to me. It makes
sense to hold accountable those persons who are responsible for fixing
this (and you, Juergen, are not the one that needs to be held accountable).
AFAICT, that is not being done and instead I am being attacked for trying
to get work towards a fix rolling again.

>
> > I also think there is a private agreement between Juergen and Boris to
> > fix this regression because AFAICT there is no evidence in the public
> > mailing lists that such an agreement has been reached, yet Boris yesterday
> > told me on the public mailing lists in this thread to be "patient" and that
> > "we will fix this soon." Unless I am missing something, and I hope I am,
> > the only way that a fix could be coming "soon" would be to presume
> > that Juergen and Boris have agreed to a fix for the regression in private.
> > 
> > However, AFAICT, keeping their solution private would be a violation of
> > netiquette as described here:
> > 
> > https://people.kernel.org/tglx/notes-about-netiquette
> > 
> > where a whole section is devoted to the importance of keeping the
> > discussion of changes to the kernel in public, with private discussions
> > being a violation of the netiquette that governs the discussions that
> > take place between persons interested in the Linux kernel project and
> > other open source projects.
>
> Another uncalled for attack.

I am just asking for some transparency and an indication that
a fix is really and truly in sight. It would only take you a few
minutes to fulfill what I am asking you to do now. The fact is,
Boris commented on your patches over three weeks ago and
asked you if you accepted the approach he outlined and you
have remained silent. That does not indicate you and Boris
are close to coming to a fix even though Boris stated that a fix
is coming soon. Based on what has been said on the mailing
lists, I just don't see the fix coming soon. That's all I can say
about it now.

>
> After sending the patches I just told Boris via IRC that I wouldn't react
> to any responses soon, as I was about to start my vacation.

That is certainly a valid reason to delay work on this - you were on
vacation. I hope you enjoyed yourself and had a good time. But I
had no way of knowing this because I was not part of the IRC
communication, so I cannot be blamed for not knowing this.

> I will continue with the patches as soon as I find time to do so.

I am willing to wait patiently for you to get back to these patches,
and I hope you can agree that you should find a few minutes
to confirm or deny Boris' statement that a fix is coming "soon"
by posting a public message to this thread within the next two
weeks, given that this regression has not been fixed for over three
months. I will not be upset if you say something like: "it looks like
it might take a while for Boris and I to work out the details of a fix,
it might take until the end of the year," and briefly explain why there
will be a delay. Boris might not like that because it would contradict
his statement that a fix is coming "soon" but I would rather be told
the truth - that the fix is going to be delayed, than be told a lie - that
a fix is coming soon.

Thanks for all the work you do.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 04:02:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 04:02:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.386998.623047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNRJC-0004wa-5B; Mon, 15 Aug 2022 04:02:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 386998.623047; Mon, 15 Aug 2022 04:02:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNRJC-0004wT-2b; Mon, 15 Aug 2022 04:02:34 +0000
Received: by outflank-mailman (input) for mailman id 386998;
 Mon, 15 Aug 2022 04:02:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNRJA-0004wJ-6v; Mon, 15 Aug 2022 04:02:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNRJA-0002vp-3t; Mon, 15 Aug 2022 04:02:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNRJ9-0005sF-NU; Mon, 15 Aug 2022 04:02:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNRJ9-0002Kq-Mi; Mon, 15 Aug 2022 04:02:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=E2EnOnXjzRIWzyt1oeSBV9hBVx9C0vdh9bytwka+fCE=; b=VFL6B1xa+hKL2luzATerLvJ+wi
	Y8sGlb6ks81VFE7s+etk7lN5EwOBOvQ/FncpP+3IpU7cS6YHuhJ4Mi8tYkLWMFdCD5jCKfwH8Qclx
	fAj6qZYZlX2eqjzfAgznk7wPmr/LBuwkGyLYKVpTKhPICY7i1VjXyu2tEAYp5UOQKxkU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172521-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172521: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl:debian-install:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=5d6a0f4da9275f6c212de33777778673ba91241a
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 04:02:31 +0000

flight 172521 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172521/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-armhf-armhf-xl          12 debian-install           fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                5d6a0f4da9275f6c212de33777778673ba91241a
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   10 days
Failing since        172152  2022-08-05 04:01:26 Z    9 days   27 attempts
Testing same since   172521  2022-08-14 18:41:38 Z    0 days    1 attempts

------------------------------------------------------------
1386 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 144965 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 05:25:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 05:25:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387009.623058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNSb6-0004sb-7d; Mon, 15 Aug 2022 05:25:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387009.623058; Mon, 15 Aug 2022 05:25:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNSb6-0004sU-51; Mon, 15 Aug 2022 05:25:08 +0000
Received: by outflank-mailman (input) for mailman id 387009;
 Mon, 15 Aug 2022 05:25:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNSb4-0004s0-2a; Mon, 15 Aug 2022 05:25:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNSb4-0004k2-0J; Mon, 15 Aug 2022 05:25:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNSb3-0004Jr-LG; Mon, 15 Aug 2022 05:25:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNSb3-0001Oe-Kn; Mon, 15 Aug 2022 05:25:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=q9apbcxJxh6yvV1xSFOzHoKIkBcya2wNyVFpYnzVyL8=; b=Wa8WFB8oEIWAtffEhQJX29WeiZ
	4qkq6uKorYSQL2zrbUl0NxUSjhHIWhn3DXRFRNM41XhbQLyY/sQMqkdVTlamhwmv2xbtZfdzjY+aT
	z9K2+7iJ/guwDCWydodcR2C+hX+9Hc7evY3R+vDIbD3UdXotDcD3OYDv8nRNb2bUHq/w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172530-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172530: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=bd06717863ed6cba979fe5300433619aba340403
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 05:25:05 +0000

flight 172530 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172530/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 bd06717863ed6cba979fe5300433619aba340403
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   10 days
Failing since        172151  2022-08-05 02:40:28 Z   10 days   94 attempts
Testing same since   172416  2022-08-12 07:10:43 Z    2 days   26 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 531 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 05:46:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 05:46:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387020.623072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNSw1-0007Kx-0c; Mon, 15 Aug 2022 05:46:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387020.623072; Mon, 15 Aug 2022 05:46:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNSw0-0007Kq-U4; Mon, 15 Aug 2022 05:46:44 +0000
Received: by outflank-mailman (input) for mailman id 387020;
 Mon, 15 Aug 2022 05:46:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krio=YT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oNSw0-0007Kk-3w
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 05:46:44 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140049.outbound.protection.outlook.com [40.107.14.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a29e4dc3-1c5d-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 07:46:40 +0200 (CEST)
Received: from AS9PR06CA0213.eurprd06.prod.outlook.com (2603:10a6:20b:45e::12)
 by DB7PR08MB2971.eurprd08.prod.outlook.com (2603:10a6:5:1c::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Mon, 15 Aug
 2022 05:46:38 +0000
Received: from VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45e:cafe::da) by AS9PR06CA0213.outlook.office365.com
 (2603:10a6:20b:45e::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.16 via Frontend
 Transport; Mon, 15 Aug 2022 05:46:38 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT007.mail.protection.outlook.com (10.152.18.114) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 05:46:37 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Mon, 15 Aug 2022 05:46:36 +0000
Received: from 84a514d51b01.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2E13FC0B-CA37-4685-8DBA-689193B68387.1; 
 Mon, 15 Aug 2022 05:46:25 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 84a514d51b01.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 05:46:25 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PA4PR08MB6301.eurprd08.prod.outlook.com (2603:10a6:102:e9::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 05:46:23 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022
 05:46:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a29e4dc3-1c5d-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=jspE3iVMvazDyjSObRetJLKv5zAYMoWYXuXPARjxq5DZBMsH410r7oc186WBs9VD06bLpSWhXk69/gkowsaRhbuglrq6vqlRM3cYEzQAwzX1T7y+FU4oX++f3Uzmlfpzqz5UMvVP4aZwq6ip+PuRAnw3108v0lUZWtfCaeET5vHNu4RspJUFOlzXzse+Tih6goZjzIZY+5fZcc1e/TriXcZcWlw54sVMXX/4+o4FzMBQgXyQ6vtlV4Qbzf3LLW6eK11M7SjvYzPIYiPKKVEdGcQFYBAMljZ2BVRiKHHi4DE8RQGED3AbhjNwl+98C7f7fb7Qr9QubHKdmeX0dEr5xQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cYoWWg6GKOlbSGmJ0zJca36vTHu24ztCsVE1HXq+KTg=;
 b=VfPKNFWtxcrYFXS+/ITb8nhPSMwc/q2FWdXUw8/FL9z/OyHupPCO5DtmpiJBrIVWYikNGw+blvsK9XesQ1dBIHfrtRk2M9kIEke6xDc9+j3NyG33AxMPR6/TnFEXcwyyCX8mBurZGSZWvHgHKLfN44BdAsCDEVKeeTbOz0hbm7Q6IayYEV7tQmoGyZ/4zHBZyN5AF6yhCkl9hXmv/otVnHTccYu3TppEEBNAZdsQ6rYsk+wBzc80ydIXMA9WWHu7R6BDlyj363pjmFDr1OoDcjj3bEWEdZXepL0xZ6GNSNFJMt0yOZiatuWhfz/V+6cRMZUOy84kUBb/+ya2K91sAQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cYoWWg6GKOlbSGmJ0zJca36vTHu24ztCsVE1HXq+KTg=;
 b=JwDCeRQBzaeLupJwyvDyKp15MoqnRlwIO8ZahoUefxelIqTNM9MGSG9n+76yGiePhN9XNstlknfBI48K5wrrorL0EL7k4HilLAkJmmabA+yfQzEMCArjQ46jPyRo4gfvkZ4CTrHZbA9Tj7gKqu04amV61PKXnvoaxYA71O3hF5Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RqjRyLl9atISj6h1fcxEej8VcWUB2td9ZKG7eZPLNLlu9DW3GuMC0X91J9B1qSoofuRqQluCEXm1C0I0REGc38tuIppiN+kaIjtmSei/zb9tkhXF64dzORMpJuY1VjCxVO+MoZ6dMkmfSv4D8M72vWb1E1XVG90LW8ALhRtmf2Q3QNHuqTeNjuqOhF2VleVnW9G6RiUzSFcceO3YeexCdK2RrjMAREIhbHGSQq/g0zDx2ZW553acs2qd6FxB6lX8P1SWFwFpUOb5QRclzwle9vciqX0u/z/riEzfn2WmqH9FQYQgiO+f1Ttc+sLM39fxU1oqsu7ZCXhHg4tYNXL8Ig==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cYoWWg6GKOlbSGmJ0zJca36vTHu24ztCsVE1HXq+KTg=;
 b=Gm+fTNs/AWil/SJr5O/bzxxMJ7XxqxzQcgKUF8SDHYwIis5jG3MfZuWiPQ3ghX1LhObkNmrfUAogV+3z1ialBc4nag6cILtT9nda8aK1VREvHuSvDxJEZ0tcQbh+rI3p5Vcd1uQhB8SVIo2Mkrz86slmKuZgHKNHh8CeCk5bznS88ZXIJ9lke/JCnTsAGOJSjGSQ3BC0R25IeTzfZXcMnxX/XKh6XUQlFT4NGPPe+Y8UGxAlpdC7eHaGYNEkxzZtXkFPHGbcl1JWaEUsz5BYXqb8B4Zf/RsaULUG73aGOAmgcUDFntyhmbal3//N7tPL8xeVhbP5SAWlxVtBbAhU9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cYoWWg6GKOlbSGmJ0zJca36vTHu24ztCsVE1HXq+KTg=;
 b=JwDCeRQBzaeLupJwyvDyKp15MoqnRlwIO8ZahoUefxelIqTNM9MGSG9n+76yGiePhN9XNstlknfBI48K5wrrorL0EL7k4HilLAkJmmabA+yfQzEMCArjQ46jPyRo4gfvkZ4CTrHZbA9Tj7gKqu04amV61PKXnvoaxYA71O3hF5Q=
From: Henry Wang <Henry.Wang@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	"christopher.clark@starlab.io" <christopher.clark@starlab.io>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Julien Grall <julien@xen.org>, Julien
 Grall <jgrall@amazon.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jgross@suse.com" <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, "Wei Liu (LSG)"
	<liuwe@microsoft.com>
Subject: Xen 4.17: Current status of series floating in ML
Thread-Topic: Xen 4.17: Current status of series floating in ML
Thread-Index: AdiwaSAsLXrq8BcIQ6OGhWLWfPbjFw==
Date: Mon, 15 Aug 2022 05:46:23 +0000
Message-ID:
 <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: AA08157E589B2F4CBC35B860539D49AE.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 3dfc8d6c-5ace-4c34-8f91-08da7e818532
x-ms-traffictypediagnostic:
	PA4PR08MB6301:EE_|VE1EUR03FT007:EE_|DB7PR08MB2971:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 sa9nkaZNsgwOUSlbx3XgAbVcYUrpcTlNBFQKnzvhupx8e7PrjsMzi/DE/CSidC9EBvcqZHPTKHwJQzYXswCs9e87KIiPtRQpdVLh1p20dghf15bl07sPNY1EiOwc1hlQqbH7Rw36UcFrNJYQ7HB7thReYS//bk6XL7GFEk60W1Fu7Nj1Drd1r8MQL9GjZB2+f9YcEsN1mPbfjBbwTVHyzMuwgiNOuwjPGqiqJtFXjeElWQ4i2nHeAmitQZ5IzjORd7mmjGQuvBQiPv4Hm8w7Y7Ko1OO5RfE8/AJxxOPAvontFoc797eUmn7Xx04lsni8GwzBXZJ4eKPBOzrq/940e6Hc3eWs3dNqUqf+Oj3g2iAEI9IiCnq29aNq1yo2RhCBGWN8BfihC84De8zbqcteg1Owkoq/sKVVbRufZZ7juH8KwBzFDQTpTvqfNHmg3uR8rwv4ggumSBljUItxAHbMm9aAs+w3TPlD104MugIDIaVA34osjFSNKpGundsUpn3eR4hrxTMywqbT8aakVgSFqHpJA1JBdFUO1eGDE9sLuaCd8H7g3aLRaoYCpRtOD4VLRs5cdD4fe+zA0s0KdlTZ/bIPDHYfpp9Naek50BnYIt5vgj28P7/e3iRmoh9WHUz+uC5u/C/GJlA7WjKY8nFzGy/Fg4rj1YeoeonPyaX17n9RXCzHmasaQ8vDEjfApStOUQdDFp/rbXpbfojK7GpXTtxwbjagCROLjbRSKJ9OAPaAHkGHMvYtFaLfsDjOGI5O7+IIfBdz3tMqxAF5CogPcKsx/qMHqxPZWI9e8A7VfLlZiLh+1q9gk6PzPfIilc2+18aRVp4GzFm3LjDT6g/VKtz4m6MR8QtobacKCX23WQqRNgNSyAYC5B+ycMVx6A6N
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(136003)(376002)(346002)(366004)(86362001)(186003)(122000001)(38070700005)(9686003)(83380400001)(55016003)(7696005)(33656002)(6506007)(26005)(316002)(54906003)(478600001)(966005)(71200400001)(41300700001)(8936002)(64756008)(7416002)(8676002)(66946007)(66446008)(52536014)(6916009)(2906002)(66556008)(76116006)(66476007)(5660300002)(4326008)(38100700002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6301
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ac53cda2-4081-4a90-efc2-08da7e817cb1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MEiLRVyNHqgGpYkI3Ok2Jj8eRC1igAytBP2KS1x7eIQIfpGEhXMxd1QEHxu7TctSpmhYSkC8smAfjpwzU3WHvX7EbBUXluaV8Mlz658V6XIg1xprdGviXKkh8w2C5aYXF+81ztvkdSaMTZ9SwQ+ZBZFS/Qdf5gi+iF+mkqSyoAPnXWVc5vYfKTL4WpY7gJZWlOt/CZU2FDuAcUYFYZ5OddECc6uKpq2pE5l5+kztpvk/vvVJkEsflL3WFNoH8Z3pasiJ4f5f0HGTTxZQCExpN9G/Jl+Z/XrbNXUjPabWjX+o5aLora6rh4fq4a1P9DiAdF6lQemvKyL/zapjNTqEGsKLQFGGkrFqDbF7hVJZLK7N0zfXcHrhw/8LAnnZkhjL4joomlGSokcmt2TjT0K/UhEowmro9SVXiO7DntnCEAjRdc5aWaraG7shk5hw6Bpympi8iUG6uZHaAQhnuuqhDKX1gKa7KxyHFdFivGpQy1CCnY4deHx54zPBYS5CYSc7o0iC6QnboF3yCbDlGluSIHPry00H5V+zgOeY06rtdS3NSg068Y4aU+jPdGwf+lqFq7oX+aHfu6ZhDgp4fhZ7MIznD7tJbPo31+f3bTMVhTBikb+bg6CC6oCYbEoFMRu1f/tLXPKEXcd7z01HfaXLzKt+kWhLwDTWdwt8wc+7dySqBmWtZDYotk1GWJEzr1tBML1SXouMSfLVhmD9JzQodVcQOjfnCrFN94wZJaLpg6o1VPZXifARbsZr7+s7ctCGfZCokahNfKdtJtQku8hkGA62dOaLM7kZeKPYbsRK9PmTnA4Gv/r9/3Vfar+PELhYsiGauKA4YiG5K3G3hRoKJlD9TamkB2F9iNakfUUhrYo=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(346002)(39850400004)(396003)(46966006)(36840700001)(478600001)(26005)(6506007)(9686003)(33656002)(7696005)(86362001)(336012)(186003)(47076005)(41300700001)(966005)(83380400001)(55016003)(40480700001)(82310400005)(4326008)(8676002)(70206006)(70586007)(107886003)(6916009)(316002)(54906003)(5660300002)(81166007)(356005)(36860700001)(2906002)(8936002)(82740400003)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 05:46:37.5348
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3dfc8d6c-5ace-4c34-8f91-08da7e818532
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB2971

Hi all,

As planned, we are now 3 weeks from feature freeze date (Fri Sep 2, 2022).
Below is the current status of series from last two months. I've grouped
them to blocks for easier search. If I missed your series, please let me kn=
ow,
thanks!

** Blocker List **:
1. Patch: x86: enable interrupts around dump_execstate()
https://patchwork.kernel.org/project/xen-devel/patch/e717897f-980d-ad44-31d=
9-39f5e7e1c45e@suse.com/
Status: Waiting for review.

2. tools/xenstore: add some new features to the documentation
https://patchwork.kernel.org/project/xen-devel/list/?series=3D665064
Status: Patch #2 merged. Only patch #5 is not properly reviewed/acked.
Discussion seems going on and (probably?) needs a respin.

3. The fix of libvirt after the virtio support in toolstack
Status: The OSSTEST seems to work properly, apart from what Jan
asked in IRC - the qemu and omvf OSSTEST might need a force push.

** Arm **:
1. xen/arm: More clean-ups and improvement
https://patchwork.kernel.org/project/xen-devel/list/?series=3D667258
Status: Mostly reviewed from Arm people, but need maintainers
confirmation.

2. static shared memory on dom0less system
https://patchwork.kernel.org/project/xen-devel/list/?series=3D661838
Status: Need reviews for #1 #2 #9.

3. populate/unpopulate memory when domain on static allocation
https://patchwork.kernel.org/project/xen-devel/list/?series=3D661326
Status: Penny will send v10 soon, reviews needed there.

4. add SPDX to arch/arm/*.c
https://patchwork.kernel.org/project/xen-devel/list/?series=3D667294
Status: Discussions going on.

5. xen/arm: Add xen/arch/arm/efi/stub.c in .gitignore
https://patchwork.kernel.org/project/xen-devel/list/?series=3D667257
Status: Reviewed from Arm people.

6. [v2] xen/arm: smmu: Set s2cr to type fault when the devices are deassign=
ed
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666944
Status: Reviewed from maintainer with one NIT, not merged.

7. [XEN,v1] xen: arm: Check if timer is enabled for timer irq
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666559
Status: Waiting actions from author.

8. xen/pci: replace call to is_memory_hole to pci_check_bar
https://patchwork.kernel.org/project/xen-devel/list/?series=3D665681
Status: Waiting actions from author.

9. arm/domain: fix comment for arch_set_info_guest
https://patchwork.kernel.org/project/xen-devel/list/?series=3D665636
Status: Reviewed from maintainer with one NIT, not merged.

10. PCI devices passthrough on Arm, part 3
https://patchwork.kernel.org/project/xen-devel/list/?series=3D661197
Status: Waiting actions from author.

11. vpci: first series in preparation for vpci on ARM
https://patchwork.kernel.org/project/xen-devel/list/?series=3D660828
Status: Patch #1 needs actions from author. Patch #2 #3 need review.
Patch #4 acked but not merged.

** x86 **:
1. x86/traps: Make nmi_show_execution_state() more useful
https://patchwork.kernel.org/project/xen-devel/list/?series=3D667235
Status: Need reviews.

2. [v2] x86: show_hvm_stack() requires enabled interrupts
https://patchwork.kernel.org/project/xen-devel/list/?series=3D667114
Status: Need reviews.

3. [v2] x86: help inlining of functions involving alternative_call()
https://patchwork.kernel.org/project/xen-devel/list/?series=3D667117
Status: Need reviews.

4. x86/P2M: allow 2M superpage use for shadowed guests
https://patchwork.kernel.org/project/xen-devel/list/?series=3D667092
Status: Need reviews.

5. x86/spec-ctrl: Reduce HVM RAS overhead
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666983
Status: Discussions in patch #2.

6. x86/cpu: Drop _init from *_cpu_cap functions
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666830
Status: Need review.

7. Intel Hardware P-States (HWP) support
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666690
Status: Need reviews.

8. x86/hvm: Improve hvm_set_guest_pat() code generation again
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666603
Status: Waiting actions from author.

9. x86/AMD: check microcode size against CPUID-supplied limit
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666515
Status: Need review.

10. xen/x86: import linkage.h and clean up x86/kexec.S and x86/entry.S
https://patchwork.kernel.org/project/xen-devel/list/?series=3D665401
Status: Patch #1 #3 reviewed. Patch #2 #4 need actions from author.

11. x86: rework hypercall argument count table instantiation & use
https://patchwork.kernel.org/project/xen-devel/list/?series=3D663480
Status: Need review.

12. x86: XSA-40{1,2,8} follow-up
https://patchwork.kernel.org/project/xen-devel/list/?series=3D663143
Status: Patch #7 #8 need replies from maintainer, the others merged.

13. x86: limit issuing of IBPB during context switch
https://patchwork.kernel.org/project/xen-devel/list/?series=3D662741
Status: Need replies from maintainer

14. [v2] x86/mem_sharing: support forks with active vPMU state
https://patchwork.kernel.org/project/xen-devel/list/?series=3D661567
Status: Waiting actions from author.

15. [v2] x86/PV: issue branch prediction barrier when switching 64-bit gues=
t to kernel mode
https://patchwork.kernel.org/project/xen-devel/list/?series=3D661061
Status: Need review.

16. XSA-407 followon fixes
https://patchwork.kernel.org/project/xen-devel/list/?series=3D660818
Status: Patch #3 reviewed with further actions from author.

17. x86: Add MMIO Stale Data arch_caps to hardware domain
https://patchwork.kernel.org/project/xen-devel/list/?series=3D660729
Status: Waiting actions from author.

18. x86/irq: switch x2APIC default destination mode
https://patchwork.kernel.org/project/xen-devel/list/?series=3D655330
Status: Patch #1 merged. Others need review.

** toolstack **:
1. Toolstack build system improvement, toward non-recursive makefiles
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666960
Status: Need reviews from patch #22

2. libxl smbios support
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666694
Status: Need reviews.

3. Virtio toolstack support for I2C and GPIO on Arm
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666202
Status: Need reviews.

4. libxl: replace deprecated -sdl and -soundhw qemu options
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666029
Status: Reviewed but not merged.

5. tools/libxl: env variable to trusted default
https://patchwork.kernel.org/project/xen-devel/list/?series=3D664081
Status: Need reviews.

6. tools/ocaml code and build cleanups
https://patchwork.kernel.org/project/xen-devel/list/?series=3D664150
Status: Patch #2 #5 #6 merged. Others need actions from author.

7. [v2,1/4] tools: remove xenstore entries on vchan server closure
https://patchwork.kernel.org/project/xen-devel/list/?series=3D659375
Status: Need reviews for patch #3 #4.

** XSM **:
1. [v12] xsm: refactor flask sid alloc and domain check
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666302
Status: Need review.

** drivers **:
1. Add Xue - console over USB 3 Debug Capability
https://patchwork.kernel.org/project/xen-devel/list/?series=3D667299
Status: Need reviews apart from patch #2 #3 #8

2. PCI: avoid bogus calls to get_pseg()
https://patchwork.kernel.org/project/xen-devel/list/?series=3D666322
Status: Waiting for v2.

** Common **:
1. xen: add late init call in start_xen
https://patchwork.kernel.org/project/xen-devel/list/?series=3D664963
Status: Need actions from author.

2. xen/wait: Improvements
https://patchwork.kernel.org/project/xen-devel/list/?series=3D660565
Status: Need reviews for patch #4 #5.

3. xen/sched: fix cpu hotplug
https://patchwork.kernel.org/project/xen-devel/list/?series=3D664817
Status: Need actions from author.

4. Hyperlaunch
https://patchwork.kernel.org/project/xen-devel/list/?series=3D657187
Status: Need actions from author.

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 06:20:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 06:20:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387029.623085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNTSk-000362-MH; Mon, 15 Aug 2022 06:20:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387029.623085; Mon, 15 Aug 2022 06:20:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNTSk-00035v-JM; Mon, 15 Aug 2022 06:20:34 +0000
Received: by outflank-mailman (input) for mailman id 387029;
 Mon, 15 Aug 2022 06:20:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNTSj-00035l-RR; Mon, 15 Aug 2022 06:20:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNTSj-0005l6-Ol; Mon, 15 Aug 2022 06:20:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNTSj-0008O6-5s; Mon, 15 Aug 2022 06:20:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNTSj-0008KK-59; Mon, 15 Aug 2022 06:20:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EfaZcntuq6SF0S09QG0ORNPMko3OYQierkkRZ2K48DU=; b=bDkLbidNA5wgFiVBrtGQ126Q1h
	378+ocMKtSQwIW2WHzVYBVQle20Xau4kWuJOgxRQWSX1BRp7jKgOeEp2khPdGG127J7Rlvd7t3vqx
	Hdv1SAfvVG8urKWOxqoB/hlA/YMhVOxS2zgN2qFrkljdBZufzNUv18VWP07hS1UFiBO4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172527-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172527: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=d102b8162a1e5fe8288d4d5c01801ce6536ac2d1
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 06:20:33 +0000

flight 172527 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172527/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                d102b8162a1e5fe8288d4d5c01801ce6536ac2d1
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   11 days
Failing since        172148  2022-08-04 21:39:38 Z   10 days   27 attempts
Testing same since   172527  2022-08-14 23:38:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1536 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 06:43:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 06:43:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387040.623096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNTp5-0005aA-PM; Mon, 15 Aug 2022 06:43:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387040.623096; Mon, 15 Aug 2022 06:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNTp5-0005a3-M5; Mon, 15 Aug 2022 06:43:39 +0000
Received: by outflank-mailman (input) for mailman id 387040;
 Mon, 15 Aug 2022 06:43:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNTp3-0005Zx-L4
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 06:43:37 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2088.outbound.protection.outlook.com [40.107.20.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 964ab66d-1c65-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 08:43:36 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8609.eurprd04.prod.outlook.com (2603:10a6:20b:424::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 06:43:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 06:43:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 964ab66d-1c65-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JL1T0GSkJzpZlwe90QkgULDa9X6bVPiurxwuiqLjh/f2Zs4cUi98luYqvOrly/xhrosMsjcbSo0jQcPxXNB8mJX+ERiNiWl4PWTwljPNtN2HCCIVIAUlXipkXrxI5gkw5WtmR2SP0MlBde0zvSu8rJNgZnisi+TNTqEd7HXsD/FOGo0gj8QY00K/0X+2Fan9ZAT9cy/vzaFdRnVKHBpQOUIBFNT4YkFgpYcTVVI1K69h5N9oRYVdUgz02+HzdJQccPaBgqs6Ua1BtOsWBG+zNZNn+DTMrEpStRCG0ToL1g6Ob95OTxmf7vUi+4OpsJsEpDdczr4FwhLNYMuJnhyuGQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+gyH+t8kQ0tvFMhuleT/TOmVXvLCOykUtxmLXyht570=;
 b=FbSBCWdy02MDGQ2cYjufhRi90l8j8wVRnYSRAKz0tPf5wjLWaYfxWFuZCoqzfZ1gMGiVs4SGCmODkmSjKe9etkNlY7LJq8DUhY4elOqvZet/yKzrhkbVN1K6b27e8F/wVkHm70Z4xqrqLB4wWjLWQCHv9XNCZ+dUOzmz4AytrmX4YCKbbO5fy3AEy6vV0rdaA558rHQh3AFvVX6SWZ9JCcQHS2/p/VXpeZ5wclywTD6d0VCKGLEKJquQ8tiJdU7uguKqw2kKzMtEA3+xLnm/6Q6LTeNxhZqCRRQCKy3wFKijFtw3agfmzqskiQv+KMd8OZW4xUSvuHV2Btyx9Fb/EA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+gyH+t8kQ0tvFMhuleT/TOmVXvLCOykUtxmLXyht570=;
 b=Niarn7rACbUmkf2SUyL0R/XW7/9GW132iEVIJpFjOR3GJdwle7hMc28Yi8OZfPDOh6JI3V2VO7bnN+y+wV4QZL0+YDd9rPER3ksnWV5IGdEuv+6Fq/FJwEHbTwB+oM91b6LjqedVix0y2rcDUfBAnBmLxpjl8qu6yZ308AbcNMEQjgOvFm9JFyH1swl+Q3EagdaRSvdyFpbT2Dc5bqvuIafCH+Nr//4FOklPVjGrLy6ZLbAFP8W0EEWhovOLnEN0tP1dISntIYLaZq0AI+EPs5kqtbx2X0CQ/rYuALpLPHpxf3xRMuFjENQqOyUmxE7cOXR4fQ81f9RTquFw/YqnzQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <432ffaec-c537-0337-5812-18385ccbb534@suse.com>
Date: Mon, 15 Aug 2022 08:43:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-6-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220812192448.43016-6-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0037.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7fc101f2-23e8-4532-3764-08da7e89797a
X-MS-TrafficTypeDiagnostic: AS8PR04MB8609:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hu4p5Ih1EsRrEu6WGBFzl+7jhqkQ3YQI5IO936avmTYsDXgrDypOcW2V9Rc8d//V7Fv4eIzW5LCg0AO+2TTLiNQ65++G31k6LTarD8WkITjPIy9Ft9tz4H7yQ0iRtVGaJILY3MOK595cxcVfQtTpeiuP3EpgTGg7uMA0no4ZRos3nye9OUq3GKxGvnIzWeOS16Lqqn7pm+5A8DHJsH8Flw/1qti8F7pxTEO2NwWf6iv/2yL6Jw2lM2jLRiXz4vDpIS9vYMJMeXUFYRT4NbTpn1l9syP5+b6h/x34zgJTgQ66YbJj7i/pyJFiE2DX4JQ8DyZd1fZ9nIVNbmuUYQDkifAf4Azvs1BFR+fbyJMuqtcEgM/zS70qNW/QODGsqr8NsMUsye8Qao90+zaVGXWHqWN9Y0laZwQPAPtxZLijOYnAjPl1h4NwmRnH9fsz07rgJHJzG8lH9S5R40iSx1+QYpnJ8Zo4rU68ng1fjgqbCP10zp0Qf35BlDQlT94o3KEGIKZEr1N26jDqOjLW6PDjLYD/RWjQMICOebMoQZIkmsIZ+QXr0eWvRVFC+i73eFM8fJBFa0/sLgbwrg9cLwhFH7k6lzYhNDRyL6ca5usQGoLAQBfLhFFR6WMLTxuOJTaArdf3p2G5ekLpskmXhZcsxFimwZgb5NzdkcIb+io1qjS2zNZ22EEM9iWcRKNGWmcIwMOjlYVxFqL32ScevPdyYLz+XHKdkCmLGQZcsqZ5p7lqsGrF5J6cPp2x8NThrjwBic5UhJRRMkR6rCOddqKGUrCqr7lqQakA1HM8DBZ1ZMASdY+RKH0ELXCUZ29Or+6RNdkF823fjzlQ3wdmPDBZ9uLReJm4KA1kRFCJIeVfRSc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(39860400002)(376002)(346002)(136003)(396003)(38100700002)(31696002)(86362001)(316002)(36756003)(66556008)(66946007)(66476007)(8676002)(4326008)(83380400001)(6506007)(8936002)(6486002)(53546011)(5660300002)(478600001)(6512007)(186003)(26005)(2616005)(54906003)(6916009)(41300700001)(2906002)(31686004)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTlmbmQ3SmF2MW5tN0pMNVk0SUV5dlhrc0kxalZ0bnRQd3VyamZ2Y2htZmdY?=
 =?utf-8?B?V2orMEpVcmtvUWxtTHRhYW9icG9GeG5qaFdYNmkwK0oybmt2QURLTWgwTWpl?=
 =?utf-8?B?dkoweUZ0VDVGWG9xVHBlT1VHNVcxamVhOGlvZ1pOSWVYZE9KSkhKNVVLYmd6?=
 =?utf-8?B?WUQ3S21vZWlhWHVxa3lMNVEzMlhNMWVMU04rZEhRbnA2Y2VGSnB5TlY4azFJ?=
 =?utf-8?B?VnpqMTZ1WVFNbnVLNzNSSkllQmdXcnZWUHYzU3gxVnZUYXpUdG1OMm96UmhS?=
 =?utf-8?B?QmNqS1R4NUpvbVJzYkF2OEZhTXhCalVudGw3c2dXek9acGx6eGh0eDVYeXlS?=
 =?utf-8?B?dDRVb3RVMnEvSmxIbDlGY0c3cVJubTVqQlBPQTNhdzlqMjVuaFBpNGNER05G?=
 =?utf-8?B?WWVzNHRrRCtCZURZa2cvc3BHZzcyOVBoS1lCenhQV1I4eDlyaTExVkVhL3FP?=
 =?utf-8?B?MXR1djVQY0dHTzd2Zzk1ME1QWjVCTzlFamlYNVFxbGtWS0NvcG40VllRZldH?=
 =?utf-8?B?eEhqa0lCbEp3dUVoQjFJYjIrRDZrcGhaNDAxdGxVRWo2d04rUzBUbG5BYjhp?=
 =?utf-8?B?M1AwOFB3ZWdyeU1uWk96Q0xUNzRSdkdLSHlpTFNkV1krL01PdUFPNjJEalE2?=
 =?utf-8?B?RU1tWXlPNndoV2Izd0RMNWhBYzdWT25VSUVFQmpOc0ZkNWhhVVEyTUFUUzh6?=
 =?utf-8?B?YU04TzVvVVB3c2w0aFk0NGw3N3RBY29jSUZ5RUNySHVmL0RVdE5lUWhaQXYx?=
 =?utf-8?B?MVlIVzJWYXprRjZBSUpZUEliVkJIVFlYeWhvNTFLK2VEeW05THJIYVRYQlZL?=
 =?utf-8?B?K0wvTHVsOEN4L1VhRFRJWHRSR0lUTjVib0Z1UTliTFpGVDZjVWtmeG5HSkls?=
 =?utf-8?B?aEIwamNCemgvdnMrb05KSkh2blhkd24zNThWcFhRU0pXSmZjVUZ4TXBSNDE4?=
 =?utf-8?B?bGMwK3R2bUM1emVxRDRMQVVRYkZXLzVXNml3eG41M2xqMEo2eGp0eEo4ZDBT?=
 =?utf-8?B?MDgwYllZNGt3U0RSb2pSbW1CbjE2S3R3RUlkTzQ2VjVxNlVPVmtMeGNpZWFU?=
 =?utf-8?B?UUdZZnJIU2pQUE4xc25Pdk5oTi9TVUdyd282UTBMTGtXZ3dLZW1xM293akoz?=
 =?utf-8?B?dlBXUXV1YTBMeEdueWd3QTF0b1lROGFHNmtYS0hPUlNEMmh4Rjd1QjhnRjVJ?=
 =?utf-8?B?WGlQeVd3bmQ3c010czRPL3l3dVM0TFN6YlEwSjN0a3JMajgvcVhNYnpoTGty?=
 =?utf-8?B?eTdDcDF3T1FCcWlqV0dsM1A4OTBOZTd2amlaZUpYdkhxeXh6ZElNZk1naTFL?=
 =?utf-8?B?UjVTTXBIYWRCSWNuZFlwVEQvai9SMllZN3ZvNlhJTy9BcVRwZG8zNVpoNmJm?=
 =?utf-8?B?c2F4WWVnZ3FnNFhaZ1FySUhXZTlCeXZzWlZLR3pqU2xOTjBRSWpIZkFBa1ZD?=
 =?utf-8?B?MDVVR29DMG9KUnJvOExnNXJuV0k1cmhlb2pKNnFrekhtVTJCZFJwaTNhaE54?=
 =?utf-8?B?djdzT2ZEM2d1UVNoNDJ6QWI1R2tXNDNJdmZUWlAvTVFQUTdYNTA1LzVmZE5v?=
 =?utf-8?B?U1dKaU9sUVBIaWlUU0YxWTJTN2RXd205OVZkdXFlcEUvRUM4aXQzZFdlZUpp?=
 =?utf-8?B?TnZjN2JCNzNsWFduZCtHUHhLcGFuSXpoWEYzNUdwbUVNYmptQ3R0SmQ5aG1T?=
 =?utf-8?B?dm5PUGxYMmIvMldMUjMyWVZpUlJRWGt5WUZ1eUlHZ2NJbkFybGtCeXlIVGxP?=
 =?utf-8?B?R1hsdGNTb1VLZWtlaU00ME1KTVZ2bXlmREVMN01EMHgzUGVPaGFwaXh1TmJz?=
 =?utf-8?B?T3FEeGZJWDNsMEdmK1dpNGVOWndnMmUxZHJQS0V2L1JPZTk1WDZXRXpBN0k5?=
 =?utf-8?B?ejNyNDZKTTRXNU5IcHZFRCsyTXhxVXNMUzZGaklQbU5lRkNmRno1bXJqZmZy?=
 =?utf-8?B?MUlwOG5BM2c5bTkyVjFFbWJmSTEwTzMrb0FyUDRCT1FLMWtycFd2bXBtQjV6?=
 =?utf-8?B?VCtmdm14ZXVvRXIvamtsQ2Q5SzY5aDlKVldGUnN1Q3VPbk5vZXRJNUlEMUpH?=
 =?utf-8?B?RytOb0N3U2xudjh1SUo3UWpkdHhOQ0xreFdLK1ZqZ2xzQkRuT3NsOHFJS3Ur?=
 =?utf-8?Q?wpsQMZd0V8WIZV4mMXIyI0Aps?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fc101f2-23e8-4532-3764-08da7e89797a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 06:43:34.0955
 (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: /Elc1o/7daiJq3gL894ssybpzwZ3L1H8okl/yWo5gh9P2rzC4zL92KdBFcThdt0cp4VI0ZqeTO1uZ+xE6PjtAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8609

On 12.08.2022 21:24, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, the strings are in text right after each use because
> the instruction 'adr' has specific requirement on the location
> and the compiler will forbid cross section label.
> 
> The macro 'adr_l' was recently reworked so the caller doesn't need
> to know whether the MMU is on. This makes it easier to use where
> instructions can be run in both context.
> 
> This also means that the strings don't need to be part of .text
> anymore. So move them to .rodata.str.

Wouldn't they better live somewhere in .init* ?

> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -93,13 +93,10 @@
>   */
>  #define PRINT(_s)           \
>          mov   r3, lr       ;\
> -        adr   r0, 98f      ;\
> +        adr_l r0, 98f      ;\
>          bl    puts         ;\
>          mov   lr, r3       ;\
> -        b     99f          ;\
> -98:     .asciz _s          ;\
> -        .align 2           ;\
> -99:
> +        RODATA_STR(98, _s)

Nit: How about using uniform indentation here  and ...

> @@ -736,7 +733,7 @@ ENDPROC(puts)
>   * Clobbers r0-r3
>   */
>  putn:
> -        adr   r1, hex
> +        adr_l r1, hex
>          mov   r3, #8
>  1:
>          early_uart_ready r11, r2
> @@ -749,8 +746,7 @@ putn:
>          mov   pc, lr
>  ENDPROC(putn)
>  
> -hex:    .ascii "0123456789abcdef"
> -        .align 2
> +RODATA_STR(hex, "0123456789abcdef")

... here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 07:01:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 07:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387056.623140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNU69-0008KC-Ho; Mon, 15 Aug 2022 07:01:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387056.623140; Mon, 15 Aug 2022 07:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNU69-0008K5-F3; Mon, 15 Aug 2022 07:01:17 +0000
Received: by outflank-mailman (input) for mailman id 387056;
 Mon, 15 Aug 2022 07:01:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNU68-0008IU-6k
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 07:01:16 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60065.outbound.protection.outlook.com [40.107.6.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d60e33c-1c68-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 09:01:14 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4228.eurprd04.prod.outlook.com (2603:10a6:208:66::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 07:01:12 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 07:01:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d60e33c-1c68-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=at9Xd66gCaMnmC20yZYUbSomHU1HzQvccTLdJ2VLFMoj0dVYdH0eEIjgZzhgSnTEk58Aq84Z6ZUv3oyN0gKYFACPX0W1WbZgwukM+mmb2VYIMQR86INz8ZUndVvFPZU4sgLi+5C0CUAJB1MlGp8U7plrEacJpU3e/hBz2xdQ9E+wIwJsH9/0FljfbH0yfTKG7rqA8UQn8pZ3PiJA4eAFExCynnvgAneQEAQkbKRx1Lrpbol0RGRXo+4HlsPDc+OShNkWeSRL03eNWJ31aXvZoiq+4SDowHH7Z9ZWRJ35+bqPpZ8jklZFvg9GTiYKkV6XPPe/4buSNVoKH2tYXDB2Uw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9RxZ1qf8jJnsSrdbqn8FAJT2nGJ8q3HEcvgumOgc0TE=;
 b=bOc9xjmbuBGUOpfkUdO6BawxpOMz4S3nUCpgyGY55na7v0RZ3QiWqYth6icjE7KB+T5xHtIfAdCud93iDOAOp5gCEoVmSLHgcYQdjVv0aQ5xB7HaxLNzhxitmimUNe0PV4pRPai1LTR/zt6/MKluG/iARQITZKd0QgRJ1rE3x25HctBmet3mh4AvyD6eu9ryrVt+PZEIVTaOm0Z3z/gnHWKS3h+K7tc61aIDvkPmbo7d7IwOLiO5RgSLqu/KBuKB1eISkRJb55WoQDjoksijXyM6eMSTuNuKCdmx9WAsmo98qqwfms9RdBqGchScJaNzjN8SzlgD7FCkUJwuXzn9iQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9RxZ1qf8jJnsSrdbqn8FAJT2nGJ8q3HEcvgumOgc0TE=;
 b=XKhhiLbrFyRhMLTdTnR5vib3G9bicLKFPk0PxLA1Ve3p7DuNsm7LYkpgPLndW+l45sYS25iirA1NAndvKUbP7vFJCvFFk6TwoM7lZgidNoiqt1YCirg2UI9BycqZubB6l9yUh+68RlOmxx1EpWK2uC64DzUhGH8W4ueZP+5ukKS6z2tpFDnvFfCNMRP+54qML8ifFb5RvypmrPtZyMl4/pphsQJfhCIkmJ7eNXhLz8YHL/hOXBKv6O2nZlCQqzaTTdfsYV5VnW+5ztB3j+7nEjQs6yNXAMVSrytcn3l+7OeoNjm8X9Wk6GAUHR7xioWYN6bXj9SnB10AmNd7Lv/ueg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d7b84136-d9f7-0bfb-f998-5aebece60b5b@suse.com>
Date: Mon, 15 Aug 2022 09:01:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH v4 00/32] Toolstack build system improvement, toward
 non-recursive makefiles
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Nick Rosbrook <rosbrookn@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 David Scott <dave@recoil.org>, George Dunlap <george.dunlap@citrix.com>,
 Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Christian Lindig <christian.lindig@citrix.com>, Wei Liu <wl@xen.org>,
 Tim Deegan <tim@xen.org>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20220811164845.38083-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220811164845.38083-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 70cd8e37-14af-43fc-c889-08da7e8bf063
X-MS-TrafficTypeDiagnostic: AM0PR04MB4228:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5rM4YwcYhBbyQAUV2jK5VdPbXND8UWNe3JuX49fT5abUPxquT6XvmE1B3oygI0k1z8DKqgqfhoyruWLSsYUkwORMdM7pcrOSU399dZo5nthHgnvo/60C+gAGubd8LsXgsNP6MJFxoGBBqSg4nHS/yjAtcBbqoVWuE03GLUYDWXR8+46QUdxwUNFhhCbRWuoEja5kl3DfJuwTABD+lK4BwDYKF9378KedkGEATcyyHgzBKXnfZbD9lLRIUuzazpwlcPhVkbZGDqZAUPSuaeBL/PILrtdlSVwoxsNsKCtt8jWgExHdCObub/KSV5XJ52KtL0EZq/9wpmARL17HGEB9NoX51tE5KDJ+8rpLLCmRqe/yHfyDDmICoZ2/DXUVqEyEo9h2gsMGUe+s4zClQ7l1B4SmO7n2360CSrTawO2q2/HrU6HDKJ9zZ44reMlnDyipFctOfSKblaWssRBKaxQx8gkETP2Ayxt7xpNldXL84Mzi0iu+tJ0JvnPIinlpmHOga/gAlK6s4gWYtnrzljo0DodMm4tNBVuO6Qjbg9sBqp/2YNTqkWu8/M+xCGjyBO5u+wERRKGlIGXJdtSm3izMYAhmANlUQWQ6VwvMVbtuv7h7ltRPt+g8H3TvKvRH3iyfqwPZTVlsR8rR/qEEE4IMP6t18sY70zsi84aIaXfHGjy00Zt9+S8toQgjdnq4oRSAJ0IBUrcb14lWVgLTketgl3wvKFZBrwbtAyKNUTU+FTi1JxA7NY5pK6K4N0wz3yPj6AyJJZ8CPiXlSciP50XDroSBierZiUcnLpfXjJLyN6eZ2+e4YO6pIaEoDatsiMauaZbR1S5pQxVcqy678rK4yU3Yq+aGI+TFkcUNWeeBSS0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(346002)(366004)(136003)(396003)(26005)(31696002)(86362001)(31686004)(36756003)(53546011)(6512007)(2616005)(186003)(6506007)(6486002)(54906003)(41300700001)(316002)(4326008)(966005)(8936002)(6916009)(7416002)(8676002)(4744005)(66476007)(478600001)(2906002)(66946007)(5660300002)(38100700002)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Si9rdXUyalltNEVkVkgzNEkwWmFJTjladmt5VFJGSkc2d25hVDQxL3hMMFln?=
 =?utf-8?B?ZkdjL3ZQVlg0eVZQT3hERklYdkFONTFTUnROcEh4VnU0QkJqOVBkeG1kQUYy?=
 =?utf-8?B?TmJ2YUZ3ZjdYeGxydGo4VVJWcy8wMU5TQzFIZHhRMjhhODNsT2tvWEs5ZWFT?=
 =?utf-8?B?N0paZlJiT3BiSWJSa2xBQzFGYnJ3SWE2Y0ZnNnNjRi9HQWpVWituRWgrMDhI?=
 =?utf-8?B?Rnp2WUVCNng5ZVFqU3RYV2FXQ1lFakhDb0hZUTJIdG1GaUJyL1RoYThjUEJW?=
 =?utf-8?B?Rlg0UFZvTS84dDBxbjJSS0xxT1dnTXpNeWk1a1JFaTlDZ1ovZ1h0MzNHV3FQ?=
 =?utf-8?B?YTFFVnBuWVo5SHBockt1U1VzYlpxY2I5QTRIN0xVaTJCQUF4WHhsU2UyRkla?=
 =?utf-8?B?M0NWVHJkUUJXbEdVLzVBNFRIK2xuZDFoWk91ak9Rc1pleGxkYnlaMVBReEQv?=
 =?utf-8?B?cEpOUXZDSXFjZXdheXRMMWJhWlJ1WGFNc21PTkZWTGZ0YTdiNkw1eGYvQWts?=
 =?utf-8?B?TWIyd3BjekxKNFA4dUtFWHo2aFdYN3lTYkFoVzdHSE5nNlpTWVduS09sWEVu?=
 =?utf-8?B?YXdURS9UTmEvVzZvN2tXei9OL2pVWUtZQVZRVnRBempFckdXYjFNTE93bytB?=
 =?utf-8?B?cERhOGFwSWNTcjUwcUVBSVR6emdjWmZZYS9pejl1VERCYm84dmZFcWdvV0U1?=
 =?utf-8?B?RjNtV0MzZ3c0WGFSUTBXdlk2SG4zeUNUQjhxdk9kL3dUemZyYVVmK00yZUxt?=
 =?utf-8?B?RzRuV1JPUENQSXpIQnRJd2NEb3hNQ1FiaEVjNy9QWEJZbytsaHRKVTZ0U1Q0?=
 =?utf-8?B?SHdiazBxMUM3Vlg5ZXRpcnpjejgvMWd3Tmh0SXpFR2FpZFk5aWdMLzdjUDlN?=
 =?utf-8?B?L1pOTmhVenp3VkpSUHhGNTNFWjh1ODg5bXZGQTV2c0RzYi84TVJTYk1WcTdK?=
 =?utf-8?B?WkUwbk9tR0YzLy80NWplUUUrZktBRTBnelByR2FodUtxbmk3RGxzTURqWXlO?=
 =?utf-8?B?TTkxQmdqcXFidVVmSHVzeWp1NXVzRVRHNm1PUEhoQXptMFNQZllzL0g1MFU0?=
 =?utf-8?B?YWFzTEI3c21pUjhQRTM3T0ZVV08zZzhxTGJCbEtkQUtPWVpudUlrYjgwY20w?=
 =?utf-8?B?VGorOVZYbldpSDZHWno0N1p2RDdaSGdpUEFsV2JnMjhKekRWV0d0RWIvUGtB?=
 =?utf-8?B?b3pURGovKzZoUjIvcTl0YTVPRXZZYUVlMHk1NitPQTl0QlRVZE9pNnZnYlFI?=
 =?utf-8?B?RGljdkxDUFl3SER0MkhmVmdIUk1wQ21ibWJ0dTFOeFM3VVp2Z1VuSC9BODJW?=
 =?utf-8?B?dEVEb1BrQzdlU0dvS3BkM0VBbHdKT08reDRtb2ZJeWdWTjJHTjRaOGcxc1Jm?=
 =?utf-8?B?OW9hakVtK3FNdnFqZk8rcStqbG9ib2FvVCtiOWpLMWhVTCt2SzhTeWgrTm5Y?=
 =?utf-8?B?UEd4eEpIc1VRZ1FHQjZKUDMxUDdqSnlmT3B6N09Oc1A0YlNQZk5aaE50WlNX?=
 =?utf-8?B?YWlJZXNUWDlobjUzK2xDN2oreWdsOHpRanFRUHk3VnJWTUppUVRBRWdHdlhY?=
 =?utf-8?B?K2RDSDN3NFF2SjQvcXNweUZwZXdsRmJLTWlBbzYyZjFTaWorTmpuSmsraGYv?=
 =?utf-8?B?MERkbHNJdThzRTQwQ0t1cVlyZE10ZzJPS1drOGRycFNpUGIyM2U2VTFDaUl1?=
 =?utf-8?B?RUtEbDdlWW1TZklWVW00MGUzanBrbVptWmlQbnZpbTlFU05WNHRNaWFtUW1i?=
 =?utf-8?B?SGpXUHdjWFNETnpuSXE3TDZwOUp3TU9lQXZGeUlaUXdIRU9JRE9jVitOK2Fi?=
 =?utf-8?B?UnVPRmtzdFEwalJTQVZjTjAzcXlrc3RFQVNHcDI2cUxEZXNrSS9qN1pNTDN5?=
 =?utf-8?B?bURpNHhaUUNpQVhyb1lUMGR3d1d3RUhMRXBNVElUbDZoMmRuS3Z3VnJoNENh?=
 =?utf-8?B?cFBRWitSV21QM3RYNmJlYzJOdFd3M3pxSXV5MnlOVk96SUxwdThoU0RmU3lH?=
 =?utf-8?B?c1E2ZGRPTVZDTkZ2OE85UllWYXZpZTBWaFBjVGVrTUpNRjVWdldsT3JyVlNx?=
 =?utf-8?B?NytIVUlXV1dZcFdTa2FkWFI1QlRDL3NVeDA4dldZYW5ySnY3VlZhSy94RXRT?=
 =?utf-8?Q?MLlOUInVdd8QKeeaAXY4uHSNZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 70cd8e37-14af-43fc-c889-08da7e8bf063
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 07:01:12.6221
 (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: gGYqfrdKABAM7FxocG/y1GM+mDf3nzKMkm38pbTsxwkhet8O0cut/TV1YQPvh+NlNetC18rdeL/NbnksR89IEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4228

On 11.08.2022 18:48, Anthony PERARD wrote:
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.toolstack-build-system-v4
> 
> Changes in v4:
> - several new patches
> - some changes to other patches listed in their changelogs

I've committed a non-contiguous initial part of this series, omitting
patches where acks still look to be missing, and hence only up to a
point where I could be reasonably certain that the skipped patches
won't interact with later ones. If you can indicate which further
sufficiently reviewed/acked parts of the series are independent of
earlier parts which aren't fully ready yet, I'd be happy to throw in
more.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 07:07:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 07:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387068.623167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNUCN-0000kP-EH; Mon, 15 Aug 2022 07:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387068.623167; Mon, 15 Aug 2022 07:07:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNUCN-0000kI-AC; Mon, 15 Aug 2022 07:07:43 +0000
Received: by outflank-mailman (input) for mailman id 387068;
 Mon, 15 Aug 2022 07:07:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNUCM-0000kC-1f
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 07:07:42 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80051.outbound.protection.outlook.com [40.107.8.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f37ba64f-1c68-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 09:07:41 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7527.eurprd04.prod.outlook.com (2603:10a6:20b:23c::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.20; Mon, 15 Aug
 2022 07:07:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 07:07:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f37ba64f-1c68-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n9n9oaVAanqlO2iCqQ8S2o9BM444WMRgA8DOfoczO8CwvszaI1/cFYDNiccWnr190uYscmM0rP72A/fJaGTTewRrCSBnqoMG3uSWPzsrdHLt5csrkwvezs4PWoyXW/mv+EoMewzYm1eufini1IstkYUEhV5o6s3sciCJryWmbKZXlwV4VyWnCQax/NDTrd7TT1pLvV3BSWLIMSZkA2B0vT5+MOJYSSLB29o2RpoZYu2nyMLTHRnUXlmStn0l6lS7k1NC2oWn9Hl/Xf50RYPM7UkEPlzoxSbG0r7puEza3Pu/k/IMwnYHb93gIlBhvge6uxCgk1yPPIknks67M/DWgg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D59zYW9NaXZzVvOXNAOE/Y5qnIokwt4rxRWE8/pVPCM=;
 b=AIzLpdE+bcv6vSpDjqjfTWjuGbqWE5zvI0YUnIO0NkJRPhLVvEMloFRjbJ0kd5PYrhw1aVFoW6OIRL7vFaK9SF/ISe/282zO/reFKGl5imVHjgQBmeLbuqcbiKdeWzC7fq+Dx683fz3a7gYUDQhZo4wm78DusdjZe5vuVHCMGyfC6JMBM/6YFOQeQKtp9MtRN6Hrktn+en9URpIutRn6rfoyRUSJdmauSBwDZHQEn/hmuz3tQ0Y3qmR7rCYnTQv2sgsl5mRAnjc2O2U+e6YbJ+UK+xrnNpkvTRoCPL9kYFgEr8T+SuW4kgjaa6AQSe+N+ZdwBpISmEjgdmc0R0x5fw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D59zYW9NaXZzVvOXNAOE/Y5qnIokwt4rxRWE8/pVPCM=;
 b=KQKggMDhLTIN0lxsxmkngX/uKtkCgv6791FwAKkxwV17WuXHyfWBqqrK0ww50EJJBaEJk20Bs2E7ysiB3StKxuah8HsXCkBOHafq9KB+CMCHJu9+PHDFEvRml6pseHzX/VtlrwwohqEI5pInQWJrjYnU/N+kVJUqYoLpKAioqS5SGEZ62Z2p/NKAvZsc0TuE81phnn2B39aRdSFVb2ujZ445Gz3tvZNOVlmm6zvCn+Sdsp88Ic92M1kApv6i/PholGBKUXI2glw10ajHVM+rxOJ5rZudNKhHc3+DslDEmQB3oXGtHhhdSCy7L2tKd6kzXr5AQ/EDEYaP3MhkNiYWAQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77641c05-3dc0-cc47-deb3-8ad45a60ecca@suse.com>
Date: Mon, 15 Aug 2022 09:07:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/traps: Make nmi_show_execution_state() more useful
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220812173322.2222-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220812173322.2222-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ba45944c-b73e-4cde-e479-08da7e8cd65f
X-MS-TrafficTypeDiagnostic: AS8PR04MB7527:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CsSD0oF6yQtjhXRUOkyY2mqeXIij61uAaBAbI8Kz8xXr0Bvh5SEkx71j7qca6HFTj8WoU4KKzqRB3F/Q4xDqCdRyey2uGF7tB/tEkscAZhtqdR6ZR4MXywBsL03vHV+Uyj08CJz0Plpp5PdwkZR/qWgU5pJOMTJckg4gySqI3oUZScEiXGwBGcVeZDsyS8aPlMYRfuRQJHkacnbhCvfvc5Tq5l39OFjAlVRcjutj1KrvOSLg9JJP0rYvhTmcBldkddeT6YfUXO/vxi4V93Dh/ae+DImqbXM+L6xBrr4h0NYH5PzGbGOtjhBi4NgCWPYEYrFyQW0iz12FoddwO3JiSACzIJEnN6eB7jlU1gCJYv14q3xaTfbhj4GXPjAU0DgsfOns3hTt/3P1EPhkZNzZO/ipj/PfcHl4oC18pAhBZzO+x4psuoExVCWn6nmSzA4oTm2MpFZrt/f0AVBrn/jbSfyTU7ghUQzUnHvL86bgLIHARmZnjFHyLFwlSNrQQU9gGXKUoR+muTXTuM6S/AFVzFW2pCyjYe1EzZMitbADXnEuM0xV1hmI2OTxFH+RuDlvCFPLfwo8Zoc9NkTXZ9T7vpZAuykmTiXvIjJ9tWt4hEwiI9Ja8eHP01z2hYPUc1iW+aedHEAIeNhhuh/8pGD3RBQ2vdcZz4OkT+8cXJQqu9k7YzcrQXqo2Ow+Vz6ZxamUFfNubiEAucDB1jjJVZg6gs1zlIjmetIYtxeqx/4vyvMvq/fDBPliXcZTgWFJ9Hu8hcnky+4ZweqAiP+2bWuBgGXIXRsI6EiF2pwk2P2pa1oj1WZUY3VIPdImjSG88q1YJypJRXK8CFeIpzihRlQqeg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(366004)(396003)(346002)(39860400002)(136003)(6512007)(26005)(8676002)(38100700002)(31696002)(66556008)(66946007)(86362001)(66476007)(6486002)(4326008)(54906003)(4744005)(478600001)(6506007)(6916009)(2906002)(53546011)(316002)(36756003)(41300700001)(186003)(2616005)(5660300002)(31686004)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?THhPSEpTRjZHUXNUc0d0UFJBV2RzSm8wazdrbVBVeWc5dmRVbU9UdDlxaSsz?=
 =?utf-8?B?R1IxSWVGeXFGaGpKTlJyU0tHY0xONFFIUWZQOU0ySmpVVURTSWpNY1Y1QlZF?=
 =?utf-8?B?Z1RtdTF3aG9hVnVuRW5GZ0VCRitSbHFPdTJIb0NaRzFvbVNDOEJlRFdFYnIv?=
 =?utf-8?B?alVjRk14Y3ZGcW1QWjF4cG1aSXd3K1NOZWgycVZLbXlqSklteWtjNGZBNldJ?=
 =?utf-8?B?cHFjZXVOb2NQckR0YkdoemVKRVJzY2wvMXdCZE1CUXBiNkRibDhERkNnWDUy?=
 =?utf-8?B?ek4yb0RYNXhxZGJGR1VRb2FJNkorbFZaa0h5Y2hiNWFJVXd4NkQwWmQrRFRv?=
 =?utf-8?B?VzlGNG84cEdQa2VTL1F0ZHR2YXY4WXFFbjNyRnhpMDhpZEJpMGJQSHllMmFm?=
 =?utf-8?B?eHdYVTJYeU1DL0MxZ1pyVEgydStuMGVqalQvRlFYWEhVQ0lqT3pGR0E5THFG?=
 =?utf-8?B?RTBUbnUrTVkybkxQblhyN0Q2TXhHTy9aVFJDcVdleWVqMHF4U0gwRHVDazVZ?=
 =?utf-8?B?dDh6UmJkSVVmVXhJcGRGQ3FtRUZCbkNEdDNTL2tKeXE2dy8yZ25heUV0VkVG?=
 =?utf-8?B?bHV3MlI2SHFWU29SaUVtN3V6azFQOGpLQnlFNGpJdzBZc29OMFpHalhvaUhC?=
 =?utf-8?B?Q0llVWVTUnFiZlBPbUU1Z2k5SElVS1o5RG93WHdKMWpSZjFFSWVjNGsrbU5Q?=
 =?utf-8?B?NFBmbTB2QjFrVEQ4WjhWQkRFQVVPWERJenVZZlBkejlSekZtNUtlSzRiMzRZ?=
 =?utf-8?B?dU9kVDBEVFBFa2ZteEcvWmVVTTBMeFJDaW5pdEdiMm83MUVlTk1GR1JudDNj?=
 =?utf-8?B?cmtpRWIvcGdIZ2hWUFdzU21WVE1iWHhuL2ZEV2YyUld5V3BqdCs3bDZmcVI5?=
 =?utf-8?B?aG1CelJ0RGo3U0dwZk44ViszYmRaWkFUbXB2Q05scHFlM3hNREwxcUQwN1d6?=
 =?utf-8?B?Q2JyVXJWbzVPcHlqZkQ2ZlNGeDIwNUM5eU9Bb2U2dzg5T3A5cWFpd2oxS1BO?=
 =?utf-8?B?WEd4RW5wNFhCZVkxWjRXdXpIVy9PT0g3VTBOYW9SN2JCa0kxckI1RW1YQytQ?=
 =?utf-8?B?Q29DQjJaWHhpTHpqUERvdGYxTm1OUTJxcVIxMEg1WERmaThlWUdLUC8vbEJi?=
 =?utf-8?B?NXNZcnd4RVgxbXFsYTdBbGZOZVl0RXZBekh0QXBNU011amR4eWk5UXNaNCsw?=
 =?utf-8?B?TEJzSG9zc0JmL1FiMCtCTmt6WDJKUUwyaTlCL1VjVzJjTWVCMG41TnpnL3Bs?=
 =?utf-8?B?MVVuWXZMWXpTR3JwdWd3MDZ6MDF0QzdpMVU0c2tyc1hiSnJiZnZ6NXFsRzJN?=
 =?utf-8?B?bmRWRENFMlVZNlNDMlhpQlJmTTIrY0ZwbTNKZDlyN204ZDlKamtnekw0OXVl?=
 =?utf-8?B?cVNEcmJLNTlvV1pLeDZSSmFLRzFVQVdNZHlQYUR0Q2pYSFVZRjNicWZoSlRt?=
 =?utf-8?B?am9wR0F1ZVh3S0lVSlpaVlBPVlJQajNsVnpQZ3hTVXdNZ0FTT1F1SkM0M2dq?=
 =?utf-8?B?MnhOU0NKdTMvM3FBVWJ3VmNhS2o2OHlvTkhaQlZQWGQvQWovVytIR2pjVmw4?=
 =?utf-8?B?T3JxVVhSbktyK1g1ZFVXODhuUG9xZkVRNkVWeGZGUW1PMmNTOHAxOXJvWG52?=
 =?utf-8?B?RkhyK1RVN2tkVXNTV3dhRkt4TGtPVER3V0lGb3ZlcFlKL2hEMnIrMWd6UU9S?=
 =?utf-8?B?UU9zWU9zRVhNT2tPUEJUK1hNeXVvd0ZwTFc3aVhmcWtlOUd2Mk5ETlBVVXZv?=
 =?utf-8?B?S05LdkJwb3p0b3pPVS9VMEpLMTRlSmduZkxTdTJ1TVlHOTk2eW9zL2FHZ2dE?=
 =?utf-8?B?ZTBTYWZQVHRXcHJOeGhmMlNYbzVEaEFyWUNPWGRIa01WbVpoMWd5TG5KQUlE?=
 =?utf-8?B?ZlY3ZFlLL0h1WnI2VmZlb2lIWU9XVC8remx6YTVUdENManFtem5aRHJNRlJE?=
 =?utf-8?B?SFFJZmt1dE00czhyaDIzbG9PQnMzRDB5QzlLTVdtWmd5c09XZG1CUS9HRmgz?=
 =?utf-8?B?K25zRG93dFA3SFdTNjExKzI1Tys2QUVVUGltMit5VWRZNnJkVXRvZ1dlSTZT?=
 =?utf-8?B?MUo3TkpCa0hnOHd3VmVqMnZyYWpPMUZHODlzbGNKOWM2Mzd6L09XbTR5b0lH?=
 =?utf-8?Q?qwGmP0IAavKoKplbeIRgj7fef?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba45944c-b73e-4cde-e479-08da7e8cd65f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 07:07:38.4882
 (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: acjjkbQp3kb/mFT5RWWQLq4vuquzCuzTfqRm1yDqnf80Rgqw7J/vurA2ucdPt5gHoOX4a/A11dV1aOSYIw9QRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7527

On 12.08.2022 19:33, Andrew Cooper wrote:
>  * Always emit current.  It's critically important.

I agree it may be relevant, yet I'm not convinced of "critically". But
anyway.

> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -768,8 +768,14 @@ static int cf_check nmi_show_execution_state(
>      if ( opt_show_all )
>          show_execution_state(regs);
>      else
> -        printk(XENLOG_ERR "CPU%d @ %04x:%08lx (%pS)\n", cpu, regs->cs,
> -               regs->rip, guest_mode(regs) ? NULL : _p(regs->rip));
> +    {
> +        if ( guest_mode(regs) )
> +            printk(XENLOG_ERR "CPU%d\t%pv\t%04x:%p in guest\n",
> +                   cpu, current, regs->cs, _p(regs->rip));
> +        else
> +            printk(XENLOG_ERR "CPU%d\t%pv\t%04x:%p in Xen: %pS\n",
> +                   cpu, current, regs->cs, _p(regs->rip), _p(regs->rip));
> +    }

Could I talk you into avoiding the extra level of indentation, by using
"else if" in the middle? Preferably done that way:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 07:11:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 07:11:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387077.623178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNUFl-0002EM-3V; Mon, 15 Aug 2022 07:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387077.623178; Mon, 15 Aug 2022 07:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNUFk-0002EF-VY; Mon, 15 Aug 2022 07:11:12 +0000
Received: by outflank-mailman (input) for mailman id 387077;
 Mon, 15 Aug 2022 07:11:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNUFj-0002E5-Ef; Mon, 15 Aug 2022 07:11:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNUFj-0006gW-Dh; Mon, 15 Aug 2022 07:11:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNUFj-0003Ss-2g; Mon, 15 Aug 2022 07:11:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNUFi-00057m-Vy; Mon, 15 Aug 2022 07:11:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7At1EEZ6olekI5jjgxuBfTtzefFrr/k+J/B3+SVeWYY=; b=urXqdsZgsKF455lmQBFZkZdloK
	6CkkNVXbiWtRAUgkqhmlVdzf2gZUwYJyGs3tqn1gSFpfNyrszuhlhLVLEtt1uc0vfHbWI4kZm8C9u
	A3ZN+pJTq92YGDbUecAQp4qb9ICLYRo0q/FgL2zU3a4w0xQ/cIpvGpgWgUHPH9wwRSoQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172533-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172533: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=803ed060ee2b22cc136ae97308d494a9d6716947
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 07:11:10 +0000

flight 172533 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172533/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 803ed060ee2b22cc136ae97308d494a9d6716947
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   11 days
Failing since        172151  2022-08-05 02:40:28 Z   10 days   95 attempts
Testing same since   172533  2022-08-15 05:42:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 614 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 07:39:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 07:39:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387087.623188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNUhS-0004iJ-9b; Mon, 15 Aug 2022 07:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387087.623188; Mon, 15 Aug 2022 07:39:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNUhS-0004iC-6z; Mon, 15 Aug 2022 07:39:50 +0000
Received: by outflank-mailman (input) for mailman id 387087;
 Mon, 15 Aug 2022 07:39:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNUhR-0004i6-OC
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 07:39:49 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80048.outbound.protection.outlook.com [40.107.8.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70462835-1c6d-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 09:39:48 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4395.eurprd04.prod.outlook.com (2603:10a6:5:34::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Mon, 15 Aug
 2022 07:39:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 07:39:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70462835-1c6d-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gB/doJIdy9y9zLYvNhbAsU3pdZRG9c3J+QYpfjzPXZaLy5gHPArIU04O0tgWQFd/hQ4bvDpQoR0iF3pU3xITd63uHA3x6707dPBNabd1VB60s7KerinQRLTT3VBBVuK9x1reZBHDoT5XuP0gkYDeSWsQ+jCSV3WEbFkfs8QXl/fwY6tFasJ0jzePfSxon7DFhcXb1tV6Vt0Pr1FUGsMsBN0IRtXtAS0sminPHeL/+LvhcJiJjS9fOzKU2tvnlU9B4bwrfGpL42M36ETTOBU+DQFSVCks/WFwxTRb+GjVOuX7xrGXzJtKkxIrbG453nv3hk8jpIhPXXArnM3TOMo8Ow==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Qm8vxIMpXzDeJP8DAToVqum0YAkqpNMez6CHHzMamvs=;
 b=LlbS0m3ySpLml1ye+4n4iTeN0sC9bR54gywa1rIcMj7N6EJCVQXeQ9MCZa4h701SidliT6Zq8pN/v1XmlWqt6w7ry6laF0tYGUHHf4yJfvRt3nOFPj/UXcLsK31EmDpkYpsBozU45doX82pIwJIw+ikgQU8okb/xa5rid3fheSHKjDcnQV9YrsZOzYO1nmXUfsencSs6lD7mYbDmgEC70PLBn7D+cqPQwKSPwcrN3VlV+tF75coOmD3t2nJyOgPoH4fUWRRT0HH/MFnirGkdbfcbzFSv9Yb4TgE2f+z/ImXTobr+mheQo8F4ozfAYg1mbzH6jXSclJeRi/FufLC+3A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qm8vxIMpXzDeJP8DAToVqum0YAkqpNMez6CHHzMamvs=;
 b=uHyOS2jyKm3D1rPufuje17QfTanE+CjGS9MOgSh8Hnm13xgxuCVVui3GNKv4bexftW/sRY+0NuT2DNBZTEBubwSmSTMZ2PNnrEo3l49YFXB3QrEo9b2Ro8YxU9v9G5mWNKKDjC8qZcLpDlAD8K4JiM+vZbN8JGIF4VSBH7hD3+HE/uR4T5uGxZqpEx9sFdapMm+lUopIhaVonpe2GVs55zKGQhzyy96Af23lfLvyDQKDa7iXbf2ky1Oft57HcE3MJVZB2ItRWENOt0bAoQhQiicJmVmN6lDQHYOXMt0ZEE6cKHSeduB1g+WW0qCvRY0LJhpkFjpcrbmU4f1J+CX5tg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <47b125f4-ce4a-7b2c-dbd5-2297f1e21581@suse.com>
Date: Mon, 15 Aug 2022 09:39:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Xen 4.17: Current status of series floating in ML
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "christopher.clark@starlab.io" <christopher.clark@starlab.io>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Julien Grall <julien@xen.org>,
 Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "jgross@suse.com" <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 "Wei Liu (LSG)" <liuwe@microsoft.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d361b593-c288-42a8-5f2a-08da7e9151e5
X-MS-TrafficTypeDiagnostic: DB7PR04MB4395:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LkURoaA76bEGqhuW9NBVvpvo1afv5H4tM6eBNSEZiWD9RG4n9hbJ1Rpc+mZCWczjh3zhrkZVWBiAxqQwtJ8fY93HaOn8VIefhN9YUiNiOLvRDXe5+2k3HodOh3YO+nkr/KpELK67MIRCpasDdUk5tDa0+rg6MKyiAUtKanM3a5QuZqXMM3P4qjii+3WfOPMRMh+s2l6yOIKrdTe/U0bZtupiLz/PlH12uS9PzL6amfElMlAaGmWO45at+5gebruOREnO+T6C+VbkWates1iwb7597IHPfIfon1mlLw4Nw3FOkTlxDjZGzi4PDGvvVs9txjjd0NZKFBwVV9nlHlQrqjtPPygGd5pLlBJDxU19ezkvkE2+2ubtDgTBbADY/+7Bf6MWZs63R0g8I12kKDJFNhx0ERMmJMY81qoX0GcXUCqKi7ez73oWkNEwONMlSFtMR9OcqYJLqIZ68T22/gDfZz89lmbSNq2G6p5m2pA/qKHMEu8x9DHeZv+RUmiefJ5+85jCnCLXNJ99rTiMvcguIW/CMU0TBoxVVEOIN4KrgkOoMSpAGXGBIIyYh9HwgLj4+FLAuLw+f5+73hSH55m4s3ObB5e+SKHN4WeXRXoUKKyvZ4QQZxUwF+M8B2iKmHvP70BO38srbsI9sKNZYBC5BbI1obi1gUV8G1CKyJ3Q8Je4D5SqFhzmuLOF/CA3e7CMeUb/DvTCiS9CQQUQM85sllQGt0x7JHAGC3n4lufoR9+Dv9/1A5NipdDKXyWEpm+kPwyHVcUGHRnk/SGuK890OnzmU+G37u0PWgTP+IurqtztbpviVzE3ibfnfQ9BGeqMHIrTpyCa9aHTBLEhzswsI2hl3A/vAACs65+PGyfsgbwS6as60eTLMB1CSME4QgPmyQKgQ6PeyDPZYBKJ/SKLXQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(396003)(366004)(346002)(39860400002)(136003)(6862004)(7416002)(2906002)(5660300002)(41300700001)(53546011)(6506007)(86362001)(31696002)(966005)(38100700002)(83380400001)(2616005)(478600001)(186003)(6486002)(6512007)(26005)(54906003)(316002)(36756003)(31686004)(66946007)(8676002)(66476007)(66556008)(8936002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFJuazhCNnJxNVZScHZtcFZVZWtCbGhkcGhHSm5XUFpoVWhRWXo3MHdTQmZZ?=
 =?utf-8?B?Nk5MVzk4QVh0NmtrTHFMNlh4NE1DVDFEK2ZKdmNRbTBoOEU5ZllnS2IwcFV0?=
 =?utf-8?B?cGJpL1NuRTRuNk1HS3FrcUpsWHhFR2NWT0hpTnVtL3luZmFIWGlaQTMxa09W?=
 =?utf-8?B?clowWXNxdnRaSnhwaDUwWVZGeURSS3pvM0NrcmdCWi84U2J3MjVjbktiYWpM?=
 =?utf-8?B?aEZGZEh3ZHQ3c1hhNDRLT3M2aXZSOXJFK2c1SDdObHRwSHVQelRUYkNIdE9h?=
 =?utf-8?B?L2t3Z2lOVTlwcFEyQnh0MGtwTlNmQjdsb0N1NXdqVWxSZHRBbk9NRjJCVXNa?=
 =?utf-8?B?dmxOaXdqd2tvQnN6Y2lNVDF1ajg2c2VvU3dYRlRwbHorZll2K3lEMUhNVTYr?=
 =?utf-8?B?cExwemZ0RHlTYm9JeEZLSDhDSUVZc2NoanR1VktZQmhRNW9EdUhldnNGS1Fm?=
 =?utf-8?B?dDVFcVJKOU5CWEIrdWZ6UlFjOXUxeUo1ZWY3d1Y4aTVhRzJaTGJ2ZXlHVmhY?=
 =?utf-8?B?YzJ1WTQwdnhkQlQ1UVBkVFB3ekpydXRJS1QrWkY2Y0lhQ0FhemxVQk9Xd1Nq?=
 =?utf-8?B?d2pZL0RjWW94THJLeTN0aVpmcnloVEhsc28vQkZWZExudkxFS1NQdVp2NC96?=
 =?utf-8?B?ZXl4ckZwbWFpdjh6ajd6TS9wNlplaUtXb1ZCSERidXNNN2VaRWtQa0FwOXlZ?=
 =?utf-8?B?NTE4RXFlVVdlUzlCd0pkTVpxYUV1ckwzUldmTWljckJ2UzRQbjM1Rksrbnox?=
 =?utf-8?B?Ri9VQ3diSDZ3aTRicDZBbC80VWREQ1cvR0RaNDBkRVRxbW9abXZmSUFTR3Fi?=
 =?utf-8?B?QU9SYlR6ZGFwZTlTSG5CM05oUnJhMlU1ZElJYUV2TjdIOHNTUHdaRGZyVllI?=
 =?utf-8?B?ZmRQTTlzVGtWZ05NNTNmY25WYWoxSExDNGVNdU5PT1JicGZxQnBxd2lycVJo?=
 =?utf-8?B?L2lhc0hvNTN5aUpUa1drMEV0OXNaSHZhdTJtVzdyT0ZNUXFpYXk2WGRGUnE0?=
 =?utf-8?B?ZU91TzA0SWYwSzdiQkRMdzFSdWprRGN4VXBJUFpkRHdnZXJnNjY0RnF5eFpI?=
 =?utf-8?B?RFRnd2hFVmw5M2k4Qk96WXdmMWpqN1gveWJUeTMwVENlM3d1N213WHZlUDlY?=
 =?utf-8?B?YXkzd2JBeVVUUzNDbE1ZNXc1OXA3QzhucHU5bFM5S0hJMUJVMlllMndZb05r?=
 =?utf-8?B?V0VKVndZRkRkRFRsS2gzeXF2TURwR1pmaGNza3dFQ0JzNXI0OXVScVFDSmps?=
 =?utf-8?B?SThvWHpURktQdUUvUjRoN3FBWi9LL1QrWENDZ0J6ZDMvRFk4Z1V4WUVkUEQ0?=
 =?utf-8?B?dVYrVHBPdkFJdmpjMmNXVXlTWUVCdFBHamtpU3RITjRtTjdsSVF6MGl1U09J?=
 =?utf-8?B?L0JKSDZKeE4zaXNLdHZWTGpJZGVWU2dsR1BqZ2d3TE85cERJcFFGVXNRMExU?=
 =?utf-8?B?RmZwYXVaRVdRV1NPZWhVMG0yMzIxcXoyd2hZT3VtaE5hei9nREMrNjl5U1Y0?=
 =?utf-8?B?MjF5SkNoWnFXb1dyYnpWNlh4RG5GZXcwelZwTzlkeldvby9ZbEplOU5RemV5?=
 =?utf-8?B?WVE1bSsvT0VYMVBDaVVpV1hIUTV6MHEyRjc2ZGQzaDZPODMyT3JiS2xNMWQ5?=
 =?utf-8?B?SXVGY0k1Njg0OGxIanNVNDZabkIrYWNxbTBHMDJtOWhEZ3d5K2hEMUF1ZGsy?=
 =?utf-8?B?V0tzd08zd2xnWUdKQ1diclJjLzhmd1RZRXhTWTF2aUNBTXJRTEpHNGVYbHRt?=
 =?utf-8?B?WDYyaDdKU2RaTzZBUGhSVDNrd2NLK3J2WWNYN0tmZCs0UW51TlFXajJGMmFD?=
 =?utf-8?B?dDJ2aFlUbTFoYzQ3YzBENUdFMUtUUm5YT0F6eEpNemprbFBGN3lvMUNmaWxF?=
 =?utf-8?B?aGxZNHMzZUZyRVZ3UTlaZmt0VVo3T0tGbXZvYjVvb0tIR3JGNEczcWpXS05I?=
 =?utf-8?B?ZzZySnFTNDc1Y3Y1MjgrOStFcWNIenQ0TWVnUHg2TGQxb0pxWE85OGM3NEN6?=
 =?utf-8?B?MkptbjA3UWI3dkZ5NW5jL0U3TXhKdEJuVnI0dFl3N0gybnUvUXNXcW53bWVo?=
 =?utf-8?B?RDJ6a0NzL3BidzhTRHBBUFdmY2xEY3U1cE5rU3VRKzcrM0M5UVBpbW5JYzhX?=
 =?utf-8?Q?k1Mji6hCazfCWwvQQbrX42tnP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d361b593-c288-42a8-5f2a-08da7e9151e5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 07:39:43.7096
 (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: /CVxyhhSFy+7idIgItslja2iMQfiCSvLZ219SoiWcvwOtVjDWU+76l/3Mubuti9l4XA/Xx9U7rfSeM6fs9SRCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4395

On 15.08.2022 07:46, Henry Wang wrote:
> 11. vpci: first series in preparation for vpci on ARM
> https://patchwork.kernel.org/project/xen-devel/list/?series=660828
> Status: Patch #1 needs actions from author. Patch #2 #3 need review.

It's more than just review. I've expressed elsewhere that I'm not
convinced of the approach as a whole, complicating things further.
A re-work towards using ref-counting on the devices likely can't be
viewed as a re-submission (and hence likely won't qualify for 4.17
anymore at this point), but I think that's the only (long term)
viable path.

> Patch #4 acked but not merged.

Well, obviously.

> 6. x86/cpu: Drop _init from *_cpu_cap functions
> https://patchwork.kernel.org/project/xen-devel/list/?series=666830
> Status: Need review.

The replacement patch has gone in as 31b41ce858c8 ("x86/amd: only
call setup_force_cpu_cap for boot CPU").

> 12. x86: XSA-40{1,2,8} follow-up
> https://patchwork.kernel.org/project/xen-devel/list/?series=663143
> Status: Patch #7 #8 need replies from maintainer, the others merged.

Patch 7 was withdrawn, while I've committed patch 8 this morning.

> 14. [v2] x86/mem_sharing: support forks with active vPMU state
> https://patchwork.kernel.org/project/xen-devel/list/?series=661567
> Status: Waiting actions from author.

Isn't this commit 755087eb9b10?

> 17. x86: Add MMIO Stale Data arch_caps to hardware domain
> https://patchwork.kernel.org/project/xen-devel/list/?series=660729
> Status: Waiting actions from author.

Afaict e83cd54611fe ("x86: Expose more MSR_ARCH_CAPS to hwdom").

19. [PATCH v2 00/12] x86: memcpy() / memset() (non-)ERMS flavors plus fallout
Status: Some parts committed, some parts entirely uncommented on.

20. [PATCH 0/2] x86/vMCE: address handling related adjustments
Status: Iirc no comments at all so far.

21: [PATCH v2 0/2] x86/mwait-idle: (remaining) SPR support
Status: Patch 1 still lacking an ack.

22: [PATCH v2 0/8] x86emul: a few small steps towards disintegration
Status: Iirc entirely ignored for about a year (since v1 submission).

23: [PATCH 00/11] x86: support AVX512-FP16
Status: v1 was reviewed, but some of the review comments need further
clarifying before I can sensibly make/submit v2.
Note: Depends on item 22 (albeit if absolutely necessary it could be
re-based ahead).

> 5. tools/libxl: env variable to trusted default
> https://patchwork.kernel.org/project/xen-devel/list/?series=664081
> Status: Need reviews.

As per the XSA this isn't intended to be committed. If anything the
XSA may want re-issuing with this patch.

8. [PATCH v7 00/11] libs/guest: new CPUID/MSR interface
Status: Largely reviewed iirc, but there was something Andrew's input
was needed on, or he wasn't happy with.

9. [XEN PATCH 0/2] libxl: replace deprecated -sdl and -soundhw qemu options
Status: Patch 2 still having some discussion ongoing, i.e. as a
committer it's not clear to me whether the patch will want a minor
update.

> 2. PCI: avoid bogus calls to get_pseg()
> https://patchwork.kernel.org/project/xen-devel/list/?series=666322
> Status: Waiting for v2.

v2 was a 3-patch series which has gone in already.

5. [PATCH 0/9] gnttab: further work from XSA-380 / -382 context
Status: Some parts are controversial, but this shouldn't prevent the
reviewing / progressing of non-controversial ones there (7-9).

6: [XEN PATCH v2 0/4] xen: rework compat headers generation
Status: The 3rd patch needs reviewing by someone speaking enough Perl.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 07:58:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 07:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387095.623199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNUzG-00073h-SN; Mon, 15 Aug 2022 07:58:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387095.623199; Mon, 15 Aug 2022 07:58:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNUzG-00073a-PY; Mon, 15 Aug 2022 07:58:14 +0000
Received: by outflank-mailman (input) for mailman id 387095;
 Mon, 15 Aug 2022 07:58:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krio=YT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oNUzE-00073U-V7
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 07:58:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2076.outbound.protection.outlook.com [40.107.22.76])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 012bc3b2-1c70-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 09:58:10 +0200 (CEST)
Received: from AS8PR04CA0188.eurprd04.prod.outlook.com (2603:10a6:20b:2f3::13)
 by AM6PR08MB3863.eurprd08.prod.outlook.com (2603:10a6:20b:8b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 15 Aug
 2022 07:58:06 +0000
Received: from AM7EUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2f3:cafe::a7) by AS8PR04CA0188.outlook.office365.com
 (2603:10a6:20b:2f3::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Mon, 15 Aug 2022 07:58:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT051.mail.protection.outlook.com (100.127.140.64) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 07:58:06 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Mon, 15 Aug 2022 07:58:05 +0000
Received: from 9b9e5abda966.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 45D93230-73DD-4CA3-9799-006CE1CC95F2.1; 
 Mon, 15 Aug 2022 07:57:55 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9b9e5abda966.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 07:57:55 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM6PR08MB4261.eurprd08.prod.outlook.com (2603:10a6:20b:b5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Mon, 15 Aug
 2022 07:57:50 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022
 07:57:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 012bc3b2-1c70-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=UlSWyVD47mVCzZblIVNjthJ4X+ljISsLP5S94PCngT/VeLiV5XgeVqngvBwBzgT0Ddw1/CVKkbiLz/r/VBUH55XRQd0biqL/3ZNFAu6sc/mCs0beP18ElHauVEZIvGCT2XMRDThEjmdi+jmEEO5Eq4QEUEQc5XhyicdCwzH9TL96MATcnhycya3YFeyiQ7mnnIzwyvgp/YdIQCRUw6GTKZJp3GzpX/CXz4Bhgj/kgWKMmBv4r31bwYeB/P4FmG47ZGJxIcTVnwZr/hrS060pxtKY5AMJHr7Tx0PCKPdsVMe+lBDT4yC1nHLjWXWoTKB2dBWBcDQDz9ktVrIbkOvMrQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Kx1N7EjdDeStwby0lB6Sa0l55ZqXSJSlYSmXhhqX6bY=;
 b=RkHg4+lCjSSUIqUxyKS+tdeiCk28cVdaOfAScqudh1EwoVjYgJb4LtOv3J8X+6TdP2CWVW1YX0ckFmpzh/RIAclD5R7hvFClLwaKKf5mlfaf4GYXOgG+nosHmqmr0TsFRPvDuRoSM3iBFD/Yt45u/omGLroryvnB0hFTaEEYHCtwUliHyGlQh4HDUtJdFVmtpUDG2AMgM9ljflOlMKaIKgR8B08oXBLPGUwrH9CFN2iDgg4SO01fdM0DReKfyLrNFw6CfSxkRFc4+g9ujPQxG9nTswxceO3++1pzx/qsybw+rxHAfkO90pU4iNrJhJWmZ3gmXNaJzU7a3hID9y+wdg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Kx1N7EjdDeStwby0lB6Sa0l55ZqXSJSlYSmXhhqX6bY=;
 b=3KHYfR60v9nSTIJ1zPIzc+kT/sNozgsUhsnXyPI6un5aWTINFSP4tzCEvQS4rzuiDgm1U2fihIGsrv/WOspaLQ23nj6Yrp4JSdPLCwHx0O6807vT6cYPL6rlP+y5AkoHXFCPifUIuOgsMXhTwh6qy8pISH15ufwu709eGlC4EO0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nv9OIM3JwGJnCXhetuDJRPYCCSQjrBJ/iQP93V8IL9/jd2+T4DdlsC0eKqxH0gcyhNXm29ZyWQGSki7zZ18KglByaDn+NI+JJLijgvYSbV11gUipgHe4STs2HswGM6EaucH2A8uNruvXLxjWpcJa/MuZpW7t7MGeFW7K59RFv2WHLFDVUfdPDdM0NjRrhRZzhiDJ+U1VQg88jiX9BTGI1GmQd7vzPg7FcNOQhGHi6LkmhdpQWoj8XGDYzC5DIYv05xOqZxrQHFaWTeJ+mkHfpD9nYCuEhlTA1vHx6PU4PynmHlEZihbu5GhsSvY3lXx2YA9HutivsIwOsUafYyP9hQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Kx1N7EjdDeStwby0lB6Sa0l55ZqXSJSlYSmXhhqX6bY=;
 b=Er8YDCw95+DrbutT0zixMudrsh7wM0x7e/zd3FEBb/e9VD2fwp9ZvQjpGJAaj7dLBWpNJTEAHI2MBtTD2si3mR2Ond5bHgT+hii+mdZIgjAD9Zwn+Sjoxt9l1SGHbyYLSZBQ84zOSanoyDPgDNJ01v7oI5X5gt8Hh8lXB6UpWvEUTwQoirONK7GoyxQxpXP0t77WdL0k0K94nC0ttCoU8kA2pkAI7/L8pRm6bKebmxua42WicXmX/fxUpPqltWURBLlzjhi307fhpxCGtff4ht9s7RfcXNGPTEV8idsSw/Cjq34SV87wPh7Mfa7w0kdNkBNXexK8C8GDXsLZiLrfWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Kx1N7EjdDeStwby0lB6Sa0l55ZqXSJSlYSmXhhqX6bY=;
 b=3KHYfR60v9nSTIJ1zPIzc+kT/sNozgsUhsnXyPI6un5aWTINFSP4tzCEvQS4rzuiDgm1U2fihIGsrv/WOspaLQ23nj6Yrp4JSdPLCwHx0O6807vT6cYPL6rlP+y5AkoHXFCPifUIuOgsMXhTwh6qy8pISH15ufwu709eGlC4EO0=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>, George Dunlap
	<george.dunlap@citrix.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>, "christopher.clark@starlab.io"
	<christopher.clark@starlab.io>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Julien Grall <julien@xen.org>, Julien Grall <jgrall@amazon.com>, Stefano
 Stabellini <stefano.stabellini@xilinx.com>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jgross@suse.com" <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, "Wei Liu (LSG)"
	<liuwe@microsoft.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: Xen 4.17: Current status of series floating in ML
Thread-Topic: Xen 4.17: Current status of series floating in ML
Thread-Index: AdiwaSAsLXrq8BcIQ6OGhWLWfPbjFwAEQ+EAAAAn0bA=
Date: Mon, 15 Aug 2022 07:57:50 +0000
Message-ID:
 <AS8PR08MB7991D6E142809FE9AD6FE00D92689@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <47b125f4-ce4a-7b2c-dbd5-2297f1e21581@suse.com>
In-Reply-To: <47b125f4-ce4a-7b2c-dbd5-2297f1e21581@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: E8F00788EEA8FA4294E9B9EAAC3B6168.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: aca0c27d-5899-4efe-efc8-08da7e93e317
x-ms-traffictypediagnostic:
	AM6PR08MB4261:EE_|AM7EUR03FT051:EE_|AM6PR08MB3863:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 XTe4FKqwKkT2mwOgsS3ffKgJJWqfUTcCKD+GaKL5KvVpeYHnT4aCkhE2rMUvAArNdkJHxQ8zv2YsrUX1ro79NbCfwK/Dp15qmYeMBJ0VPp/XOhrENUffz/CXOx3dLe7o+ZH6VilzmlalhCNjKXRuKjHd+m3vF6ry+KOWIu5J+PwWpvvFAmBDVIiTkeY2waSA4kcnIeg7j4/4FCtxA3oM8XU9IFFsk/Ng1/kbOyXckbebOSQ5UvNdVKYdqttryZJQcupcvFnyLbdEZfdxMSFuFHQgGdNJ8J0yU88NzkN9kcOyZ9pGWbDMCgYcbQoc5MQ3A+rHnJV0W3UivqHeUei53DieaasP7+HX10BAZX92yZqxX+AfF+aWq6EYQuS5HURBWbtfM7awskZ9fhVPK7e6J+Sx2YuPh+D2WPiDhRi7Zu8y72xiZrR7+vSmuQcto7vNWX8K6SGBhV7fCongLyoVc/k+Ix3T6hlTVTaQ7V2DhD3t4nwLwx0RXWr3PHcMCD7RYZkxeHqtwt8J5bzlE4EQyKVabfBvXDwR5c0lRDtlXgawyBarSfcYb5o+fLXpBibmHe0SSfqnJvF9BX34lQOABjwfw53MWWNauLnzjlxEUft1D6s/KefxtV3+Gg770wXOEI3I8TBY6cOWSEXjCC7eA+d9244NxXfIAEy40OqpEZTwXtXSDIyGOvagO7z2fPhhgNGgGd2bgzP6XnCsBg7dg5CbxzPjpeCRcysZ1I74XwS3XX2gzrzcWqAc1+3jlQN5g2JEbClYOvhFP/7QVo626SsLAmU98HyehDOn9BS/Tba6aOyWNLkq04LyO5fFkmaLveyCBkBwcVajv5UvyZqzpBjI7Xa7XatTjoz5gSVi6xwxfYsMF5PiXdVvYy8ikExM
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(136003)(366004)(376002)(396003)(478600001)(6506007)(7696005)(53546011)(38070700005)(33656002)(86362001)(9686003)(26005)(186003)(71200400001)(966005)(41300700001)(83380400001)(5660300002)(55016003)(66476007)(64756008)(4326008)(66556008)(66446008)(76116006)(8676002)(54906003)(316002)(6916009)(66946007)(38100700002)(122000001)(8936002)(7416002)(52536014)(2906002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4261
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	68b6f697-8b35-42c4-d74f-08da7e93d9e0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HcKs2IXpxzzn5I4cPbfA8tTnJ5fj8iO4K8NiUUgqAlWMCS3By4QLqMM+CTs0g2jcm6DBtsa6XGJIyoJEvHNe4Pjd3se0A7zN6e1sFGxPbLKSdcwpkO3APU9qNhIWjG5gLJ5ugRpHhHM22zIAr7EehvMFmbVlwrKO62kqxIAMMkInWjy/lknC1FpYGt1SRKb/TgpUUdlWctJED1qbmPzBUKvxYtzINlyb56qBMOasF5qlK9yCi7UIG2lJoG33sKlxCNxPVF2Uhf31Bi77QxPp6ytdnJ8maf+f5Oe29f4gLewTK88gVLyqgRYmTVWMIAWEXBea9TzXi0IHt+vRWA0rImHgwHH93Kg8Wpl032hagfZB9TyardWXUCUjbCJobgEfb4iSgH9oi2vKuU2VKAUAPrYo8/k2/GiXX3WiuDjzNG51M9/7cQGB/YmCw5QTca0UxJH6VP/6Mcg5RKctA4LsFrScy+QXbHqNSnf6QymYoXaxS/+u+Ko0xOxhYUcABY3RpdvZ1BCTcuB92OAV+Tvw3wpfRWjIVfg0KKSiEgl4PSHSDg+/1WvK5VwgfaINAVFOK1ZLAcJPBT5GC2yGH9lM3VMAAXY+y64nY+JOwdUWENzhe7wuxn4fIz22Fgvm75yWK5WX+NGH6ZidX+FM5oeH+lbGBNqRRknWcJERlKsbKFzSXq11+Chc1dgdOJ13wimcKpE4PokIwz2f3rYWH7MMpGylDn0eIxCfHk0ICQgoi0NyMOS1DuF36o5nvjrrErxT1Ybo2AMFeDvBuFMUVUCP4xXIKXdHHyVwJDpk8MHooflnr0VPJ9UEMW8JIiBRgXnwJ6e/hji6evDWBaP6Em+wV0EpYuiBWCwBHoIj1mBIFl9N2BYW/5lkY+NWnMq6w5B+
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(396003)(376002)(39860400002)(40470700004)(46966006)(36840700001)(336012)(36860700001)(40480700001)(83380400001)(55016003)(81166007)(356005)(86362001)(40460700003)(33656002)(82740400003)(82310400005)(70206006)(8936002)(316002)(70586007)(478600001)(4326008)(8676002)(54906003)(966005)(26005)(53546011)(9686003)(6506007)(7696005)(2906002)(186003)(41300700001)(47076005)(5660300002)(52536014)(6862004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 07:58:06.1166
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aca0c27d-5899-4efe-efc8-08da7e93e317
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3863

SGkgSmFuLA0KDQpUaGFua3MgZm9yIHlvdXIgcGF0aWVuY2UgYW5kIGRldGFpbGVkIHJldmlldyBv
ZiB0aGUgbGlzdC4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFN1YmplY3Q6IFJlOiBYZW4gNC4xNzogQ3Vy
cmVudCBzdGF0dXMgb2Ygc2VyaWVzIGZsb2F0aW5nIGluIE1MDQo+IA0KPiBPbiAxNS4wOC4yMDIy
IDA3OjQ2LCBIZW5yeSBXYW5nIHdyb3RlOg0KPiA+IDExLiB2cGNpOiBmaXJzdCBzZXJpZXMgaW4g
cHJlcGFyYXRpb24gZm9yIHZwY2kgb24gQVJNDQo+ID4gaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVs
Lm9yZy9wcm9qZWN0L3hlbi1kZXZlbC9saXN0Lz9zZXJpZXM9NjYwODI4DQo+ID4gU3RhdHVzOiBQ
YXRjaCAjMSBuZWVkcyBhY3Rpb25zIGZyb20gYXV0aG9yLiBQYXRjaCAjMiAjMyBuZWVkIHJldmll
dy4NCj4gDQo+IEl0J3MgbW9yZSB0aGFuIGp1c3QgcmV2aWV3LiBJJ3ZlIGV4cHJlc3NlZCBlbHNl
d2hlcmUgdGhhdCBJJ20gbm90DQo+IGNvbnZpbmNlZCBvZiB0aGUgYXBwcm9hY2ggYXMgYSB3aG9s
ZSwgY29tcGxpY2F0aW5nIHRoaW5ncyBmdXJ0aGVyLg0KPiBBIHJlLXdvcmsgdG93YXJkcyB1c2lu
ZyByZWYtY291bnRpbmcgb24gdGhlIGRldmljZXMgbGlrZWx5IGNhbid0IGJlDQo+IHZpZXdlZCBh
cyBhIHJlLXN1Ym1pc3Npb24gKGFuZCBoZW5jZSBsaWtlbHkgd29uJ3QgcXVhbGlmeSBmb3IgNC4x
Nw0KPiBhbnltb3JlIGF0IHRoaXMgcG9pbnQpLCBidXQgSSB0aGluayB0aGF0J3MgdGhlIG9ubHkg
KGxvbmcgdGVybSkNCj4gdmlhYmxlIHBhdGguDQoNClN1cmUsIHRoYW5rcyBmb3IgdGhlIGNsYXJp
ZmljYXRpb24uDQoNCj4gPiA2LiB4ODYvY3B1OiBEcm9wIF9pbml0IGZyb20gKl9jcHVfY2FwIGZ1
bmN0aW9ucw0KPiA+IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC94ZW4tZGV2
ZWwvbGlzdC8/c2VyaWVzPTY2NjgzMA0KPiA+IFN0YXR1czogTmVlZCByZXZpZXcuDQo+IA0KPiBU
aGUgcmVwbGFjZW1lbnQgcGF0Y2ggaGFzIGdvbmUgaW4gYXMgMzFiNDFjZTg1OGM4ICgieDg2L2Ft
ZDogb25seQ0KPiBjYWxsIHNldHVwX2ZvcmNlX2NwdV9jYXAgZm9yIGJvb3QgQ1BVIikuDQoNCk9o
IHRoYW5rcyBmb3IgdGhpcyBpbmZvcm1hdGlvbiBhbmQgLi4uDQoNCj4gDQo+ID4gMTIuIHg4Njog
WFNBLTQwezEsMiw4fSBmb2xsb3ctdXANCj4gPiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3Jn
L3Byb2plY3QveGVuLWRldmVsL2xpc3QvP3Nlcmllcz02NjMxNDMNCj4gPiBTdGF0dXM6IFBhdGNo
ICM3ICM4IG5lZWQgcmVwbGllcyBmcm9tIG1haW50YWluZXIsIHRoZSBvdGhlcnMgbWVyZ2VkLg0K
PiANCj4gUGF0Y2ggNyB3YXMgd2l0aGRyYXduLCB3aGlsZSBJJ3ZlIGNvbW1pdHRlZCBwYXRjaCA4
IHRoaXMgbW9ybmluZy4NCg0KLi4uaGVyZS4NCg0KPiANCj4gPiAxNC4gW3YyXSB4ODYvbWVtX3No
YXJpbmc6IHN1cHBvcnQgZm9ya3Mgd2l0aCBhY3RpdmUgdlBNVSBzdGF0ZQ0KPiA+IGh0dHBzOi8v
cGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC94ZW4tZGV2ZWwvbGlzdC8/c2VyaWVzPTY2MTU2
Nw0KPiA+IFN0YXR1czogV2FpdGluZyBhY3Rpb25zIGZyb20gYXV0aG9yLg0KPiANCj4gSXNuJ3Qg
dGhpcyBjb21taXQgNzU1MDg3ZWI5YjEwPw0KDQpNeSBiYWQsIEkgbXVzdCBoYXZlIGluY29ycmVj
dGx5IGdyZXBlZCB0aGUgdGl0bGUgd2hlbiBwcmVwYXJpbmcgdGhpcy4NCg0KPiANCj4gPiAxNy4g
eDg2OiBBZGQgTU1JTyBTdGFsZSBEYXRhIGFyY2hfY2FwcyB0byBoYXJkd2FyZSBkb21haW4NCj4g
PiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QveGVuLWRldmVsL2xpc3QvP3Nl
cmllcz02NjA3MjkNCj4gPiBTdGF0dXM6IFdhaXRpbmcgYWN0aW9ucyBmcm9tIGF1dGhvci4NCj4g
DQo+IEFmYWljdCBlODNjZDU0NjExZmUgKCJ4ODY6IEV4cG9zZSBtb3JlIE1TUl9BUkNIX0NBUFMg
dG8gaHdkb20iKS4NCg0KQWggdGhhdCBleHBsYWlucyB3aHkgdGhpcyBhbmQgIlBDSTogYXZvaWQg
Ym9ndXMgY2FsbHMgdG8gZ2V0X3BzZWcoKSIgaXMgY2F1Z2h0DQpieSBteSBsaXN0LiBJIHRoaW5r
IEkgd2lsbCBuZWVkIHRvIGltcHJvdmUgdGhlIGZpbmRpbmcgb2Ygc3VwZXJzZWRlZCBzZXJpZXMu
DQoNCj4gDQo+IDE5LiBbUEFUQ0ggdjIgMDAvMTJdIHg4NjogbWVtY3B5KCkgLyBtZW1zZXQoKSAo
bm9uLSlFUk1TIGZsYXZvcnMgcGx1cw0KPiBmYWxsb3V0DQo+IFN0YXR1czogU29tZSBwYXJ0cyBj
b21taXR0ZWQsIHNvbWUgcGFydHMgZW50aXJlbHkgdW5jb21tZW50ZWQgb24uDQo+IA0KPiAyMC4g
W1BBVENIIDAvMl0geDg2L3ZNQ0U6IGFkZHJlc3MgaGFuZGxpbmcgcmVsYXRlZCBhZGp1c3RtZW50
cw0KPiBTdGF0dXM6IElpcmMgbm8gY29tbWVudHMgYXQgYWxsIHNvIGZhci4NCj4gDQo+IDIxOiBb
UEFUQ0ggdjIgMC8yXSB4ODYvbXdhaXQtaWRsZTogKHJlbWFpbmluZykgU1BSIHN1cHBvcnQNCj4g
U3RhdHVzOiBQYXRjaCAxIHN0aWxsIGxhY2tpbmcgYW4gYWNrLg0KPiANCj4gMjI6IFtQQVRDSCB2
MiAwLzhdIHg4NmVtdWw6IGEgZmV3IHNtYWxsIHN0ZXBzIHRvd2FyZHMgZGlzaW50ZWdyYXRpb24N
Cj4gU3RhdHVzOiBJaXJjIGVudGlyZWx5IGlnbm9yZWQgZm9yIGFib3V0IGEgeWVhciAoc2luY2Ug
djEgc3VibWlzc2lvbikuDQo+IA0KPiAyMzogW1BBVENIIDAwLzExXSB4ODY6IHN1cHBvcnQgQVZY
NTEyLUZQMTYNCj4gU3RhdHVzOiB2MSB3YXMgcmV2aWV3ZWQsIGJ1dCBzb21lIG9mIHRoZSByZXZp
ZXcgY29tbWVudHMgbmVlZCBmdXJ0aGVyDQo+IGNsYXJpZnlpbmcgYmVmb3JlIEkgY2FuIHNlbnNp
Ymx5IG1ha2Uvc3VibWl0IHYyLg0KPiBOb3RlOiBEZXBlbmRzIG9uIGl0ZW0gMjIgKGFsYmVpdCBp
ZiBhYnNvbHV0ZWx5IG5lY2Vzc2FyeSBpdCBjb3VsZCBiZQ0KPiByZS1iYXNlZCBhaGVhZCkuDQo+
IA0KPiA+IDUuIHRvb2xzL2xpYnhsOiBlbnYgdmFyaWFibGUgdG8gdHJ1c3RlZCBkZWZhdWx0DQo+
ID4gaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L3hlbi1kZXZlbC9saXN0Lz9z
ZXJpZXM9NjY0MDgxDQo+ID4gU3RhdHVzOiBOZWVkIHJldmlld3MuDQo+IA0KPiBBcyBwZXIgdGhl
IFhTQSB0aGlzIGlzbid0IGludGVuZGVkIHRvIGJlIGNvbW1pdHRlZC4gSWYgYW55dGhpbmcgdGhl
DQo+IFhTQSBtYXkgd2FudCByZS1pc3N1aW5nIHdpdGggdGhpcyBwYXRjaC4NCj4gDQo+IDguIFtQ
QVRDSCB2NyAwMC8xMV0gbGlicy9ndWVzdDogbmV3IENQVUlEL01TUiBpbnRlcmZhY2UNCj4gU3Rh
dHVzOiBMYXJnZWx5IHJldmlld2VkIGlpcmMsIGJ1dCB0aGVyZSB3YXMgc29tZXRoaW5nIEFuZHJl
dydzIGlucHV0DQo+IHdhcyBuZWVkZWQgb24sIG9yIGhlIHdhc24ndCBoYXBweSB3aXRoLg0KPiAN
Cj4gOS4gW1hFTiBQQVRDSCAwLzJdIGxpYnhsOiByZXBsYWNlIGRlcHJlY2F0ZWQgLXNkbCBhbmQg
LXNvdW5kaHcgcWVtdQ0KPiBvcHRpb25zDQo+IFN0YXR1czogUGF0Y2ggMiBzdGlsbCBoYXZpbmcg
c29tZSBkaXNjdXNzaW9uIG9uZ29pbmcsIGkuZS4gYXMgYQ0KPiBjb21taXR0ZXIgaXQncyBub3Qg
Y2xlYXIgdG8gbWUgd2hldGhlciB0aGUgcGF0Y2ggd2lsbCB3YW50IGEgbWlub3INCj4gdXBkYXRl
Lg0KPiANCj4gPiAyLiBQQ0k6IGF2b2lkIGJvZ3VzIGNhbGxzIHRvIGdldF9wc2VnKCkNCj4gPiBo
dHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QveGVuLWRldmVsL2xpc3QvP3Nlcmll
cz02NjYzMjINCj4gPiBTdGF0dXM6IFdhaXRpbmcgZm9yIHYyLg0KPiANCj4gdjIgd2FzIGEgMy1w
YXRjaCBzZXJpZXMgd2hpY2ggaGFzIGdvbmUgaW4gYWxyZWFkeS4NCj4gDQo+IDUuIFtQQVRDSCAw
LzldIGdudHRhYjogZnVydGhlciB3b3JrIGZyb20gWFNBLTM4MCAvIC0zODIgY29udGV4dA0KPiBT
dGF0dXM6IFNvbWUgcGFydHMgYXJlIGNvbnRyb3ZlcnNpYWwsIGJ1dCB0aGlzIHNob3VsZG4ndCBw
cmV2ZW50IHRoZQ0KPiByZXZpZXdpbmcgLyBwcm9ncmVzc2luZyBvZiBub24tY29udHJvdmVyc2lh
bCBvbmVzIHRoZXJlICg3LTkpLg0KPiANCj4gNjogW1hFTiBQQVRDSCB2MiAwLzRdIHhlbjogcmV3
b3JrIGNvbXBhdCBoZWFkZXJzIGdlbmVyYXRpb24NCj4gU3RhdHVzOiBUaGUgM3JkIHBhdGNoIG5l
ZWRzIHJldmlld2luZyBieSBzb21lb25lIHNwZWFraW5nIGVub3VnaCBQZXJsLg0KDQpUaGFua3Mg
Zm9yIGFkZGluZyBtb3JlIHRoaW5ncyB0byB0cmFjay4gUGxlYXNlIGZlZWwgZnJlZSB0byBhZGQg
bW9yZSBpZg0KdGhlcmUgd2lsbCBiZSBtb3JlIGluIHRoZSBmdXR1cmUuDQoNCktpbmQgcmVnYXJk
cywNCkhlbnJ5DQoNCj4gDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:01:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387112.623223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNV2s-0000l8-7E; Mon, 15 Aug 2022 08:01:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387112.623223; Mon, 15 Aug 2022 08:01:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNV2s-0000l1-4C; Mon, 15 Aug 2022 08:01:58 +0000
Received: by outflank-mailman (input) for mailman id 387112;
 Mon, 15 Aug 2022 08:01:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNV2q-0000ks-Ke
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:01:56 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2059.outbound.protection.outlook.com [40.107.20.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 875ed26c-1c70-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 10:01:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5411.eurprd04.prod.outlook.com (2603:10a6:208:117::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Mon, 15 Aug
 2022 08:01:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 08:01:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 875ed26c-1c70-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CX19Ruv+Xm97XoUJm30um+bBWHAVnu5Ok1BhhBQ9q9TZkIROuvqZuHj3xdpkcJDRnTQiZd0QDlBnk0e+uP07iXbkJ3UP7z4vsd7bfX8CbTtIpJCfbtGp3EbDpArCFbH3PGVJvRZverR+FW8iROq0OGHuOAHzXLZjNvbA6M7u34T7LgMWcIxExC5QZwIZLEn3cO+SZUyqlekegxvNEvnml+AJ3mCaP/bNK80pwSPJrbFMtEPyGXStezvA37d7q/K6M/CbCToZyfXPXSvEEDGcMxDGRkuv9KlhSKzfCbe6JPkRjc+sJCYEG968nHv9bG9SKC3vI+yQ88mABJ+WTxjs5w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r9YSMvfOXBViNAGD29TGSdUJ8NI9sf+6egphJs68qDY=;
 b=Eq9Gh5dcuG0uiis/XkaKHu3o3H0oNxCrYIX0z4O7Vu98NVt5Rgiodk2VjZTT8WRIOo360IImZfCYhLdvjulPXu0VaRpnakJZJZ2CJmL7To7eUZkBCWGA2v12eInETdprNyqAQrHKLG0NvstkXsK0K7mLCNKZd0HKQXK/OtyHYwT3JO1FZeTfmKGBeaE0V9/3xCTYvkFlN7+Uj4nyLBqOewY8TNXf0iJzOev/qMqluRyvxgGQvO1IHt3/WrQPFYCXPhhFnpRvuPRzm1JwrzYTcLnGyk3ago0d9+eNooxDgnOKkJw/dcK5KRmizQofxDlcwXH3OLPc6YeLuTy/jNubQQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r9YSMvfOXBViNAGD29TGSdUJ8NI9sf+6egphJs68qDY=;
 b=VaKxv0IbBxm7NVZxVbVJiC0KX0wEaPNWYI96rl737oTjOPS57kis0Ln3tKgLi6Te+3umVOSzObvpcSyyzW1YZ+uXSlQP2qYq6wiuOtzGswkwiLIk++fUzLeG31I/LFxkntCOvwD0TvQYsDy0O5Eh63txmRa0K26dY41m+fAkrPvL0/3wSNlEXmHGBBDzQ1csWueJr+mT4HKqFTUvOZFChm0nUZzE2eLULJ/mYC+VUGhf/PC26J+kNbkwr00/U+l87omN6YragN7erOlVKoijQ9ucjaLduocrDZowivMIYge7tsbYgrUU4CLkT1B9fYHubwm0eJjeVjlRL8xOOStyfw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <53cc6a9f-5a4e-0716-fe08-ad86fc155cbf@suse.com>
Date: Mon, 15 Aug 2022 10:01:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v6 0/3] amd/msr: implement MSR_VIRT_SPEC_CTRL for HVM
 guests
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <20220517153127.40276-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220517153127.40276-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d46a220a-c3bd-47fe-c947-08da7e946a42
X-MS-TrafficTypeDiagnostic: AM0PR04MB5411:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6HJ5aGk6ytYTKvCygwt8KfBYqsR+DgOUlOwF+8MwXJpVJEwuSsS4bH0knBrgL5gBkG3byIe6LuORi0O19xsejCf4Rv7zvdnDj809AMhOVpScJozgI7JqpxFswkD/XMrqUukFU9OTwo6Ni3c07BLxXYP/Qru3fAnIhVlot6Kc7RB0UKo7vLPiDGgiNZQEPqlbjw02WXefcwKDBtzP6FrMTIxHmsfp3ROmpeToYqCITndxgcmVJNDYMvrjejQR9Vk6uWG8OnCtTYe8mbiRp7O8EwDsYy//8fE7Eop1F8EYn0Mthcqw/ow1FGeS9sqP4ccvAWVHy6lj0gFTRBJH+7b4Vw0daBN2cXArXd0y+wnOfbhhO7yyOZpOtB9cREZPZZZTsxgTMx9l3WakyG7jutLtf78axJ6zCecMr36ICKafQxvCzRq1t5Yp2Y5KydPyC7n2AwNykntiQsAiHu2pEsS2fXCH8Pa2uWvYGDEqz5z3Rz3fMgK0eDn5GZVu7iDzf0gkT2Bnhlh5HKF3ODmFAZwXeNMA0UcfGDldA3DK60p7c8xy9td1npyORxxX93pl+jzKYJGH3HK3CinXkJUFIlSwLfR+h8f1vfp9NBd5tOAfXrbMRA3fbH02ItJqOd12J+yJTVkGLjKN5CExmEqDB0fGtODYbz1tvC9+mvFJacFWbxFHg73c2oUdVTLaEGXM2hvbg1hqSX87IthJ5s71snij1ed1AnsZriXpO665RpjTNu7CzzjDxoHycuFcIl8GOFRal948D64bWkJHTTZ6Y4AhmfdDtRMHGBA2j34yHuXDb2GHOvk67wkv9/dsAaGJxXLUe+vPzYfn8X0JnBz4IL7L7w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(366004)(396003)(136003)(39860400002)(6512007)(41300700001)(2906002)(4744005)(6506007)(53546011)(38100700002)(186003)(26005)(2616005)(31696002)(8676002)(316002)(6486002)(54906003)(478600001)(66476007)(66946007)(66556008)(4326008)(86362001)(36756003)(31686004)(8936002)(6916009)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3JPS0lFNjB3bGJId0V3SlhQTDhnbEVLbXprUTg5OUZwVUxnZzVyM0NZZHdE?=
 =?utf-8?B?bm12TEU5WnFFYlgyaHA2TTZKUlNIcVpiOXJib3BBOGoxRkVCNldGdVo3STE3?=
 =?utf-8?B?TXhCMzFhRG5tVWZNcjNTUG5NeTAyeVlrNkJ5dnFGNzF3TEtCbVB6a1ljS0M2?=
 =?utf-8?B?aCtPK3J5ME13UjdHN0tCU1JtQ3dxd1lRU09NY1hiN3pEZmtDZGQyYnE4MlhV?=
 =?utf-8?B?T3dQT2libWU3bjdPemY3SmNRN3J0amlLRU5EN3B4dWZFNkRIRUt0UE5TaWZO?=
 =?utf-8?B?SS8yVll2MmdKZ3NmUG03NEZJRXFCZk1OdlVhY0c5aWJNdS8vSVd1Y0dqT2x1?=
 =?utf-8?B?TXpCVkEvejM1azBNR25ObUpzaGZVdys5MHhTaEVqN2ZRWExBU204djl0L2JQ?=
 =?utf-8?B?VlZLM2xHQzh6L3AzelQyQ2FxN0RQZXgrcm0wbE5zRXlqQThSMUYwN014amtM?=
 =?utf-8?B?RkpBbVEvb0x0bXdZSFlOa2hYTlE5Tkh4TGFTNzEzVis2MVY3Q01LR09nMTZy?=
 =?utf-8?B?cXlxR1o0WklLOUpkL2xUem5memtuT2E2RGVLTUlhZC9HSys2MW50aGgxM2Iw?=
 =?utf-8?B?UXVKbWlxOSs5b0Y2VjVrNnBWNWlxSHRhNnpmY2JxZkJvOGl0N0VsZzdCV1h4?=
 =?utf-8?B?TEN5ZHFpaFNpMFpLd1h3bW54bmJCdVdjK2hBOGVodXp2ZlFiOVpxMGcwTSt1?=
 =?utf-8?B?cUpQYmF1T0E1Q25oa3M5bzNzMS82eVhlN21Pb2xZaEE1V0NoMXdUUXhrRGF1?=
 =?utf-8?B?MXdBT1prVk93TW5WNzBadEVkRnkzTStGTjc1TzlBSHNxNHRTU3p5OFUrVDI4?=
 =?utf-8?B?ZHRLeEF3b0Z4emZoUStxMnMycW11bzNacEhOYzJGQVBLbVpZS3pJa0h4WmNC?=
 =?utf-8?B?bW1BUlZRekNXSDN0eHdlTW5XTEl3WUd0b1VCZXRJSGJDWFppbkQ2SkIvRndk?=
 =?utf-8?B?VlZYek83T3NKRU9lZjVpYXV5SHMwTTlmbWU2M1FZTFNtNVo3Zk9TSmZSRlRs?=
 =?utf-8?B?SEJxTndSL2hCMlVCbHJ2c1l0NGU4NUE2WjNUbmNFbldXem13T3o0b3hHekxi?=
 =?utf-8?B?V2k3OWh6VU5ScjBMeDkwNnpyQXdwb2xqU1E4NS8wK1JZMHBIQXg4UGttK2lp?=
 =?utf-8?B?V1ljV1loeXNlTGk1L1VLckN3NUMySDZmbEdBRytyUi9CSFg3SHhRSlE4dEtR?=
 =?utf-8?B?cGYwQkZQdklyTmZoNEpsYUxUNTFCZGcrbUNSNkM3UEJTcnVQV0E2amJob01Y?=
 =?utf-8?B?RzNjZW94NGp1cVVkblZzZWhsQ3BlQ0t3Qkx5VEdNeVBpSFhTbG0xUktveDR4?=
 =?utf-8?B?Nml2aGtYMERudEF0MWNsVERmOWFmNFhmaVpCVlVOb2ZnWHdIOWlXV0UwMDdv?=
 =?utf-8?B?QjVHVmtVbnlkRGxiQlBpdlF4eTllbFdYakFDRWtLNG9NUzZCVGVrWjJBTDBI?=
 =?utf-8?B?YTVjMjN5S09FdVBvLzFTR0lUZDYvT2dGQ2R0ZHBFWklDa2krUklDdW14REJi?=
 =?utf-8?B?am1TSEo5QUFkaDY2NUtxTmFmK2Y2eWhIZ0hONnpqMTlrLzdDSHNDc1FTQzZL?=
 =?utf-8?B?Qy9vaEZCbzBObWpZU0xqOVYyRHhnN0NOQ2lUZTFsT1AzM3VXR2J6M3ZmVXdY?=
 =?utf-8?B?VmZyZEtVMWdhSkJxTXBkQktzaGFRd1ZPV282Rm9zTTgrTE1jK0twa2Frdlgy?=
 =?utf-8?B?NjBkcmN5QThtNVk4Z3Y0aC9hWjdLQnZ0RHAwZ0JSTWh4bXNhaFVQOFEvd1Vs?=
 =?utf-8?B?bzl5V0ZnVDM4YTlHMmNpTUJCTTd0aDJqOCtMQ1JFaU1rRzRVU2NnSEE0Y1ho?=
 =?utf-8?B?RjdqdTZ0VUVyUjQyOHUzbFZrTUx0bmMrdjc1ajIxQUZna0FJOVpjT2V2YnYr?=
 =?utf-8?B?OFpVTGphUUdseldIbVNUdVU2d2thVkZadVE1eGlVaFpKb05nRWxMUURMc29Y?=
 =?utf-8?B?OHBUazVDcU9WNEY2c0xSdDNlaldrMDg4Q0U1bC94a1Q2TXJiVENLSmU3a1dZ?=
 =?utf-8?B?cWtMc1pSbmlHSVdJTkRJM0sxRkx6V0dHbmNqb0xXanFHT3hOekgyZzFBQ0h0?=
 =?utf-8?B?ckNzcXErRnZtMTZVL1huMXlJYWdVdlNHcWw1b245Q2ZTR0RPSk1CYnA2SzNu?=
 =?utf-8?Q?aIb/IN6m8C/At+PDk85FGJo6u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d46a220a-c3bd-47fe-c947-08da7e946a42
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 08:01:53.1086
 (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: WqZ73lmkYw5lPUQBEu07rr3gmiq+VmMIDPBtmYDcvCwW7KxoMrabnuQOUnapwT0VK6Xyoara0USd41AmhydIgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5411

On 17.05.2022 17:31, Roger Pau Monne wrote:
> Roger Pau Monne (3):
>   amd/msr: implement VIRT_SPEC_CTRL for HVM guests on top of SPEC_CTRL
>   amd/msr: allow passthrough of VIRT_SPEC_CTRL for HVM guests
>   amd/msr: implement VIRT_SPEC_CTRL for HVM guests using legacy SSBD

I came to realize that I had announced that I would commit this about a
month ago. I've done so now, but there was quite a bit of re-basing
necessary, to a fair degree because of this delay that I did introduce
by oversight. I hope I didn't screw up anywhere.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:09:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387120.623234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNV9n-0001SF-0x; Mon, 15 Aug 2022 08:09:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387120.623234; Mon, 15 Aug 2022 08:09:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNV9m-0001S8-T2; Mon, 15 Aug 2022 08:09:06 +0000
Received: by outflank-mailman (input) for mailman id 387120;
 Mon, 15 Aug 2022 08:09:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNV9l-0001Rx-GY; Mon, 15 Aug 2022 08:09:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNV9l-0008Cn-A2; Mon, 15 Aug 2022 08:09:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNV9k-0006yL-Sv; Mon, 15 Aug 2022 08:09:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNV9k-0003Xj-SB; Mon, 15 Aug 2022 08:09:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cUP2dlPnWdZ/L6vY2xbC8Fppgnil8AWhtTtYmeI5qu4=; b=Qzws0Sn4qydL7xlZbzvVh7Brz8
	KHoMLsEX1c7KD7HacTgRV0B0AOS/ocnEb9eoMdOmslj39Duw1y0/Y6QAd4iVRHnf3HLLjlyTGR3OZ
	jQyKCGe1kGUP7+ZPLQ7gnEFoCscwQskGbJ/fMESFUDYo7GkeU7kpTyzrECZ4K5OA3CHM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172524-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172524: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 08:09:04 +0000

flight 172524 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172524/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   11 days
Testing same since   172384  2022-08-11 11:13:58 Z    3 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:14:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:14:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387131.623244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVES-0002xP-Lp; Mon, 15 Aug 2022 08:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387131.623244; Mon, 15 Aug 2022 08:13:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVES-0002xI-JL; Mon, 15 Aug 2022 08:13:56 +0000
Received: by outflank-mailman (input) for mailman id 387131;
 Mon, 15 Aug 2022 08:13:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNVER-0002xC-Di
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:13:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNVEQ-0008LM-Nj; Mon, 15 Aug 2022 08:13:54 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=[10.0.0.187])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNVEQ-0007bF-GV; Mon, 15 Aug 2022 08:13:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=/1AqIghasi3XJN7PR1RdRbpyl/ud2M5DOyamdmNr/cI=; b=tLaKow6bf4ZH9Qll0b5POILnBX
	pXNINsH7odtRYVZ3yBNF235tBS4zNDTbd4/hoicRHCaBWMwpn/ygXVFx6DnB5Tce1dt4Ns3ZQh5wo
	1X+ITRDxk04CUe3ih+X+b2s/oQi66D6uajoEvjgqHDtsr+0z6AtvqG7TjJcboBMBDLOQ=;
Message-ID: <c8d7de5e-0d0b-43cb-2b89-d253a2b0b490@xen.org>
Date: Mon, 15 Aug 2022 09:13:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: Xen 4.17: Current status of series floating in ML
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "christopher.clark@starlab.io" <christopher.clark@starlab.io>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Julien Grall
 <jgrall@amazon.com>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "jgross@suse.com" <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 "Wei Liu (LSG)" <liuwe@microsoft.com>
References: <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 15/08/2022 06:46, Henry Wang wrote:
> Hi all,

Hi Henry,

Thanks for the list!


> ** Blocker List **:
> 1. Patch: x86: enable interrupts around dump_execstate()
> https://patchwork.kernel.org/project/xen-devel/patch/e717897f-980d-ad44-31d9-39f5e7e1c45e@suse.com/
> Status: Waiting for review.
> 
> 2. tools/xenstore: add some new features to the documentation
> https://patchwork.kernel.org/project/xen-devel/list/?series=665064
> Status: Patch #2 merged. Only patch #5 is not properly reviewed/acked.
> Discussion seems going on and (probably?) needs a respin.

Hmmm... Why is it a blocker? This is only documentation and I haven't 
yet seen any code implementing those new features.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:16:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387139.623256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVGQ-0003Wv-1g; Mon, 15 Aug 2022 08:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387139.623256; Mon, 15 Aug 2022 08:15:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVGP-0003Wo-Uh; Mon, 15 Aug 2022 08:15:57 +0000
Received: by outflank-mailman (input) for mailman id 387139;
 Mon, 15 Aug 2022 08:15:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z+x6=YT=citrix.com=prvs=219f4dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oNVGO-0003Wg-L0
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:15:56 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a78a756-1c72-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 10:15:54 +0200 (CEST)
Received: from mail-co1nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Aug 2022 04:15:35 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6477.namprd03.prod.outlook.com (2603:10b6:510:be::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 08:15:13 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 08:15:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a78a756-1c72-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660551354;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=E5wVteDfW/dWh22+9mUFG7jkgM81Fx1dz52uxY86x7U=;
  b=W+PhAK3vmIQ7tQAx7+RCXyGAlrHOmKrr7vqg4E/gHduWhZ/iQtQ8tQsq
   PhOI5x7AE4mGSDfAUWyEpNll0vhW0BigW6bOdktpOEJqQobENMMTTIorC
   ROaCJryNAVWjqdX/VfUdLe6XcIovmLd/pqHQZ6X7/g80BFLTDKmH4FfaI
   g=;
X-IronPort-RemoteIP: 104.47.56.168
X-IronPort-MID: 77842657
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:6raEvaL1qgxM3jdNFE+RBpQlxSXFcZb7ZxGr2PjKsXjdYENS0jJTz
 DMeC2+PM/eCYDbyeI91aInn9h9U65HUy4VgGQRlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La9Es21BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE7qpzFkYPHIsjp8F4UEBk1
 eERNwARR0XW7w626OrTpuhEoO0GdZCuF6RG/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe
 84ebjkpZxPFC/FNEg5PVNRiw6H12D+mLW0wRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPAmWbfrC/z7gPJtS3RYaM4LbmmzdUp33mq31MrExc7D0Tu9JFVjWb7AbqzM
 Xc8+CAjsKwz/0yDVcTmUluzp3vslgEYc8pdFas98g7l4orZ5RyIQFcNSDFpYcYj8sQxQFQC3
 ViMms7vBCB+9ricT3uS+628vT60ITISL2IJeWkDVwRty8nupsQ/gwzCSv5nEbWplZvlFDfo2
 TeIoSMiwbIJgqY2O76T+FnGh3enocHPRwtsvwHPBDv7vkV+eZKvYJGu5R7D9/FcIY2FT16H+
 n8Zh8yZ6+NIBpaI/MCQfNgw8HiSz67tGFXhbZRHRPHNKxzFF6afQL1t
IronPort-HdrOrdr: A9a23:QE5vZ6pc6I6s7eLf2ePXg30aV5rReYIsimQD101hICG9Evb0qy
 lhppQmPH7P+VIssRQb8+xoV5PufZqxz/BICOoqTNKftWvdyQiVxehZhOOP/9SJIUbDH4VmpM
 VdmsZFaeEZDTJB/LvHCAvTKadd/DFQmprY+ts3zB1WPH9Xg7kL1XYfNu4CeHcGPzWvA/ACZf
 yhz/sCnRWMU1INYP+2A3EUNtKz3eEixPrdEGc77wdM0nj3sQ+V
X-IronPort-AV: E=Sophos;i="5.93,237,1654574400"; 
   d="scan'208";a="77842657"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g8p209n2WpSW80eygiAtK53GYG4KNYJTftq8ftq/MKX/lyHQlnHHqxYa5B7JN7vQlUWWC9WUS1axXHr1Yxwwefi85bUVJ2kSJCmVW7tp1sZfwCGD46V/b50bbgWt3ouoZDt0Mvv/aRkuhErYMmUMkJJZ6I5nPeY+O/WZb4vNb+JvhZIJjCQGGp2T1VKhsPlFsTk8R7M2fPA6ETB9M31jLunhQUElzQHEkUbRrfSUSiknpHAe7kPmzBr1o7l30MyE7mO60bXMFziA7F5+Fu+1Ekf2HYNSypf4J/Mya5kdEx2Cp9QlNaAutV2LEltjHSFPEO1ikNWIuniM0nlHjXtggA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E5wVteDfW/dWh22+9mUFG7jkgM81Fx1dz52uxY86x7U=;
 b=claWVyNcHN/GUtzJwp1+AMLfro9HX9eNUFquxz/5jMSm1mpwwvwWTwJ+Qlp6m6B91ZXN7dGCSytpqBxOX9hZalgbOgIMROGbvi+GOakNrpxCXycn4CMd9rj8+HZtLxfkSHUvErLg89Z+NouXv8LF9ieZ77dTGkrJjYEply6xRdWJkm12vhdhsmgZsMWBqJrIkScu6GrNSURJWkTPd0E0Vy8BGCM0ig40BOdOvUYGAys/FVoLgFIpfyf9TOz36M4AcNi+gulc0xeCfZrI5NNXTUPwJfyZhpByoYOaA3Y0K+qy77ZULTEOkB6bEN37WSkIqufTxV/q8e0Z1ij/6143Xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E5wVteDfW/dWh22+9mUFG7jkgM81Fx1dz52uxY86x7U=;
 b=MTdvP8VA5S/eJgQpdDQ2fRsMAPH6l4HPq/rgqrPFOINZg1zk/xOKIk4Gu7Mj321EFqeYk/z+S1x8QTMhzpG9iuW9KG3HWN/IEDZI7c/YRv6PP/UDLv+k0DHT8sYy54HtHzfduUeY0duITz8sfGOIc03Hqeffvxxdn6dWeXsrapI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>, Henry Wang <Henry.Wang@arm.com>, Community Manager
	<community.manager@xenproject.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v6 0/3] amd/msr: implement MSR_VIRT_SPEC_CTRL for HVM
 guests
Thread-Topic: [PATCH v6 0/3] amd/msr: implement MSR_VIRT_SPEC_CTRL for HVM
 guests
Thread-Index: AQHYagMx4yaKKSDaVEqrb6mC4jE4eK2wJomAgAADuAA=
Date: Mon, 15 Aug 2022 08:15:12 +0000
Message-ID: <1dbab710-6d3c-a6cb-faa7-31558c04aab2@citrix.com>
References: <20220517153127.40276-1-roger.pau@citrix.com>
 <53cc6a9f-5a4e-0716-fe08-ad86fc155cbf@suse.com>
In-Reply-To: <53cc6a9f-5a4e-0716-fe08-ad86fc155cbf@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f9f46f73-20c3-4020-f798-08da7e964700
x-ms-traffictypediagnostic: PH0PR03MB6477:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 F0u+CnLxqPOclbymZHcr5cFePh/TyAh2IPjVpRBWnm+T1JSf/2nV65X/X7DwsPZslnRID1+WswnHGRiwys7WXk+gsjSo03VzRAxp8Gce/GIzgPYeTYJW8PkG9SE0nRuxQugCYcAlr1oHYx9m4So7YJoOPMccizoGXhrOj0mZ6uFiUlsRqxw2tP+aeQxDHzXsLDvvKelDQthRi2/1iCHMMJWL27mzZiJvZUTAWlBK2YRLTGf2jV354dNbPAbPNzejw5bI6+nAf1ro344OzGa7nq23oAyjQ7Bodf8YOa4Ts0gsWsgcoLFx89U4zAmXgPCsTky6LV1ueRMWPXhoOBFDa2ke+lry18a4ZPqmfp8pLxr+W1svC17p4ZE7oOCFpm1oTRjONqeODtxClBm/+UZcAg7RrT4T+d5LjxcSz/3q7JXKZ0KYHPYLOsFxMHU7P45lbooovNAjkrj0Ju26TInGyHCXt8U7YF7EYM2gXnW0zJakxUWOinoaPBKM/M91zrhRdwFz5vJzB0mEUXYeHr/+xCYwVME4aSUUO5MWscC0Aby/QedEGg8+PaBamCnrcZjB+aQ6YGTPFzWaN+QjZeDKBNCKwNZDcyehW8UOB9jojmVX0kxZ2LEz0GaLsFdUPkRgtoiw8BmDniG5UkPnqrJOm16YVzETG5e22KMZxLYPfKDvY9cQ61O0p0j04kNqezSw1700cxv4opd2WTMJS/FLxgwdzytp65k/S6e1Gxd+Cli6zoar3+toiHt8JDMmVvevLuujtRd3ik/johO78qKlNcD9jSNdpLX9Bnb6xaOKbeXZoQAGPa9qGDgglVZ79JEA1VcT/sUpAC/CxK4fg4uLwp2Z9MF+pZ010ujuHla4AiGXsy2uWOYVFA9F+pjy7twk
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(376002)(136003)(39860400002)(396003)(346002)(478600001)(31696002)(5660300002)(91956017)(66446008)(31686004)(186003)(2616005)(54906003)(110136005)(8936002)(86362001)(6636002)(6486002)(36756003)(122000001)(41300700001)(316002)(38070700005)(71200400001)(82960400001)(64756008)(6512007)(76116006)(38100700002)(4326008)(66946007)(6506007)(2906002)(66476007)(53546011)(4744005)(66556008)(26005)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TlMrVGNuSmFXWXYxSXNjdVpZYTNUSFhxZ2wxVk5ndldNZDZaU1VlVzVlV0l3?=
 =?utf-8?B?V09mZzlSR0dpYWJPRm1yZFdib1lCNTM0cThtNVBiajE3ZUhwMFdkbUhOQU5Q?=
 =?utf-8?B?Wnh6aktzemMyeHpBcDRxMjBnSW9QRERvQVdLNFJpTmxISDFVL0RybWtVSXl0?=
 =?utf-8?B?bzNsNmRwZlJxamxLS0RNNDFERDhTaVZsMVpYMWErdEJiL0JJTmoyckR4QUU3?=
 =?utf-8?B?TDVZOEpWVmpVV2N6c0VUMWFnQ09aYi94NnQ3dVl6aFkwdC82NWpyY2RqZjBx?=
 =?utf-8?B?K05PTHRpWXpCeTFtNk1yL3VWb05udkNUeStNbU5OUnQwR3JuL1NGcVUrNDRp?=
 =?utf-8?B?MWROVm9VeUppbFZuMmcydGJuK2lQd1IvTmJaTmFlUmwzeFZ0WUpGYko2NUhG?=
 =?utf-8?B?R1EzenBwWXNudkhGZVFOb09qRWpQVzBKMHgxQlZvS2pDVzVwQm5jSDlnK0hY?=
 =?utf-8?B?Wk9NSDZzUmpNN0M4MkhNZm12dk9VeDJhTzhKUS9vbkRFZjdzSUFUTW4vMUpU?=
 =?utf-8?B?b3AyV296WnNCZzdlOGQ0eEttRTJRT2FHTkhWak9mRGhPVEY3OWkvazMwaEtM?=
 =?utf-8?B?WlBQeFpKWUVqanBpTmJpVzBQRE9jM0tseS9Ua01RY3ZxUkJzYmdub2tWb2pH?=
 =?utf-8?B?WFZzN2EyNmtJTEFNTk4wYzFNemlvVVBSdVVjRDlSczNvVm1tbCsvL2pMOExK?=
 =?utf-8?B?YVhDcGFTTStMa08vMGtPakRPNkgzNE0yVUdmK0ppZDdwZjg3ZmtrKy8yUmFt?=
 =?utf-8?B?aHYybVg0TFRHeFF4NDlnWW16UkFYbVlSZW1FQ3RlenpaMTFvUlJIdXg4cUxK?=
 =?utf-8?B?NUJ5ckNvMDBkUmtCc05venJxakJlNHZld0V2eG9Vc210YVNPVE9vbEt2OUJx?=
 =?utf-8?B?anp5OWlSVExsKzh5dmdVZ2Mza3hXT1UzZnFzL2ZUNlhrUkI5dS9KVTI0QW1i?=
 =?utf-8?B?a3B0NjVCQmFad1RUOG00SURjSUppUXdHSUptL1QvN2JnUktleUwyOVNUazJG?=
 =?utf-8?B?WjAway9ieWo3aDdpWGl1amR4R2NTeU83MjhpVTlBZ0ltRVRKc0FhUXFsLzd5?=
 =?utf-8?B?dmNVanVuQ2Z5Y2JPL1pDVGZmTlBWcTBnL09GSVIwaWtlZkdRalhsMDU5UWNa?=
 =?utf-8?B?NG4yNUpDWGwzMlBxeExhT0IweEJHZ2ZzUzVGZjZSUFhabkRZdGM5S3BnN0sw?=
 =?utf-8?B?ZDN2WHcrbEpjZE9Nd09tU052a3lYNXRjdlF1M04wSlpPZmVSSldnZkQ0dCtv?=
 =?utf-8?B?V1FWWFdneDcyUi8xMGVjemd2RnhFU3BCd3pXa294b1hzWHU1RnN0a1hPQ25Y?=
 =?utf-8?B?cWprMmJRU29qbzVtaU54Ukgva3V5SjJwMW1zclZsWC9SbTJtRzJncVM4ZVRt?=
 =?utf-8?B?OFBWbjF6Tm5ncU1KZE92SGxJcDNPYmxLbUlLSnJrSTRtOC9kNU9GVUROS1Rk?=
 =?utf-8?B?d0lyMm1vZGZEdzdsd0RXQURYWDE5blNxZHVtQ0VVZUlmbEVOSHVTd3dNN1BK?=
 =?utf-8?B?dkdMcjZLeFBSRnVIRnE5eUkyOU5uOW9UcTdCRDVNT3ZqM2xQT0tNQzVvQ3d0?=
 =?utf-8?B?ckpMWlQ4V0o4dkJEOWNuV01hVFdibi9HdTl4Rjk3RUdOMGhGU2x1SzZOYlo2?=
 =?utf-8?B?TkROUDFYTmRYQlVJQ3gvVmJVTVljVnpoNnhJbXB0OHFCbGFNTUxoUHFqcVFy?=
 =?utf-8?B?Vmhrbnk3WlJ4L1ljaFIyVGNpbW9ON0IvblFDNGxRNjM2OTRFamY0ZmY0UFBy?=
 =?utf-8?B?UmovbENueEo3Rm5ob0k4UU9rc2ZFL0JjL3dSelFtdnRGYjhLSWJaNURROWdC?=
 =?utf-8?B?bCs3SUlzT2RLekFTVWZlZmNJUE1hTDVEUnUrTzdSRkFiTDh2NUdqTHR1dHVN?=
 =?utf-8?B?S2phejJGU0NWNkpDZ1FoRGxZYlRJeVE0ZllwMmt5TXlVNUN5TE81V2xVS3ZT?=
 =?utf-8?B?TjF1RmdNSW1td09PNzNiUCtxL2VwNjFtV3MxTnVTWmhTNS9VSU5TaW9XeUYw?=
 =?utf-8?B?ZmxuWXUvYkRmNkNSOU4wK05nS09IVkFLby9yRVNZQ1NTei8xcmxtVnlVMmNW?=
 =?utf-8?B?ZnJFa1pqckhqY0FhSHRFczJOUGZtS2JnekNqQjBKbHRabW5sWHhvRlBqV0lW?=
 =?utf-8?Q?A3J4KF6AdrkPG6mjtTTy4H8fa?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8E3BF4BCC16CB94B8088DC82BC34E362@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?aHMydUdCQVlGM1lwUzRGS01WTFd3eWlkY1NmRUkybTF6b0lvdmVGeXRLd1lF?=
 =?utf-8?B?c0xVMi9hLzFpazNLdWt0dUU4TjBFVDdFUzdHak93Q2lyRGFGZ0drNkxFQTF5?=
 =?utf-8?B?ZUJaUFNYUGx2YXJFNGdkbDB6SjlrOHVWOHZNalBseUNUMzVSdi8xK0s4aDQ4?=
 =?utf-8?B?dTg1ZUwzOW1xeFpGWnV1cFlMalE3K3B3c1BOMkszeUJKM25IL1J5MFFHRnMr?=
 =?utf-8?B?NW1mQkpRc29XbllEd0ljWmloWk83YXNtakVVUCswNjFEblhjWWdRaW5VMGQz?=
 =?utf-8?B?ZTdPNVNpTWt3cW1vdG5US25ESTdrMzdBZGlTaE5zbVYxd0pwbTg5TE43RmJw?=
 =?utf-8?B?MkNkM09KMDhYNjRsUXpxZlJPdWpjKzBGa0QxTUNMQjVLaWVWbW8vRGl0cEFJ?=
 =?utf-8?B?YUtJQjV5UUZRQXFPa1F2SFpiRU9EbVpiVzcxTmZpSmdSbTcxYjRWTjlWTEVM?=
 =?utf-8?B?Qk1GeldhYnVqM3dDNm9qN1VJZERQRnpSRTExSldERGg4S0t5ZHI5NGJ6YUxq?=
 =?utf-8?B?cG9vMEVBUWlFUGYyazEzcWc4dXkrQU9icjJpbTVLWVFiaysvSDcrVUF6eGEr?=
 =?utf-8?B?eG9VV2U3U2h5UnRKZno2Mk5UUHpzWFFkM0J2T0poRGMrNHU1Nm1HcVpsMjZj?=
 =?utf-8?B?R2pSbXpoR1pXRTNOM1IyWGcycU8xUW8rT1FrSVorTythTVg5amhxMEZjUmJu?=
 =?utf-8?B?c3pzTCtBVXYrUmFZWDBxSkhiZkZtaFBKMENSK0ZuNk9seUpzVTc0bW43UzNo?=
 =?utf-8?B?cWkvRE9wYlgxRmVCdGJBbVo0SCtEZ3FlVllzbVlWTFFPR0pnNnFveTVod3BM?=
 =?utf-8?B?U2wxbHJYR3pkZ0JZS3Rod0xQVE1KUGN6QjB5LzFDbmVrVVRuNGZ1STRJMmtW?=
 =?utf-8?B?bitFbVBaUjhpdFpSVm1BL1RnTDFKSU5acmNMUUIzYzhMRnZoYzExWjhKMUNu?=
 =?utf-8?B?dXBoUG1IbmR6WkZnUDJydEpHN1ZxcGVFOUVKMUUycmZISVFNQXluQzdCZDZS?=
 =?utf-8?B?OWI4RTBCTE5WSzBjb3o0bEJaZlFUajc1UkJMbzNqTitxY091V1lrcDFjNDNE?=
 =?utf-8?B?YjdjOUpaVWpzMCtiSTNzeU12YWp4NVFJMU1Kdm52UFVRQzBQUjIzTHVEYW1o?=
 =?utf-8?B?OXh5NzZPZEVOR1BlWElSZSs0WVZFbWFlS0dBRFFaYnJVS29HeFhUazZMWGdV?=
 =?utf-8?B?czRFNnFBUkZBUFNBR3QzVGlXY3MxUUJ0cktMM3RGUUVSNmI0QjA4RFRjNExF?=
 =?utf-8?Q?YCyfiQuFk1o7Jf+?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9f46f73-20c3-4020-f798-08da7e964700
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Aug 2022 08:15:12.7317
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xeNtvBtLz9hLUCOrvUhagBITlAIt3SdIxr7B6niwdnvGbEsPMtCF78/bXMkssip4kbaBf7TLA0JNav/mysEVewZVlzfm4qJYwpXBIjUM/lE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6477

T24gMTUvMDgvMjAyMiAwOTowMSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDE3LjA1LjIwMjIg
MTc6MzEsIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToNCj4+IFJvZ2VyIFBhdSBNb25uZSAoMyk6DQo+
PiAgIGFtZC9tc3I6IGltcGxlbWVudCBWSVJUX1NQRUNfQ1RSTCBmb3IgSFZNIGd1ZXN0cyBvbiB0
b3Agb2YgU1BFQ19DVFJMDQo+PiAgIGFtZC9tc3I6IGFsbG93IHBhc3N0aHJvdWdoIG9mIFZJUlRf
U1BFQ19DVFJMIGZvciBIVk0gZ3Vlc3RzDQo+PiAgIGFtZC9tc3I6IGltcGxlbWVudCBWSVJUX1NQ
RUNfQ1RSTCBmb3IgSFZNIGd1ZXN0cyB1c2luZyBsZWdhY3kgU1NCRA0KPiBJIGNhbWUgdG8gcmVh
bGl6ZSB0aGF0IEkgaGFkIGFubm91bmNlZCB0aGF0IEkgd291bGQgY29tbWl0IHRoaXMgYWJvdXQg
YQ0KPiBtb250aCBhZ28uIEkndmUgZG9uZSBzbyBub3csIGJ1dCB0aGVyZSB3YXMgcXVpdGUgYSBi
aXQgb2YgcmUtYmFzaW5nDQo+IG5lY2Vzc2FyeSwgdG8gYSBmYWlyIGRlZ3JlZSBiZWNhdXNlIG9m
IHRoaXMgZGVsYXkgdGhhdCBJIGRpZCBpbnRyb2R1Y2UNCj4gYnkgb3ZlcnNpZ2h0LiBJIGhvcGUg
SSBkaWRuJ3Qgc2NyZXcgdXAgYW55d2hlcmUuDQoNClJldmVydCB0aGVtLCBvciBJIHdpbGwuDQoN
ClRoZXJlIGhhcyBub3QgYmVlbiBhZGVxdWF0ZSByZXZpZXcgb3IgdGVzdGluZy4NCg0KUGF0Y2gg
MiBpbiBwYXJ0aWN1bGFyIGlzIGZpcm1seSBuYWNrZWQsIGJlY2F1c2UgdGhlIG9ubHkgdGhpbmcg
SSBoYXZlDQpldmVyIHN1Z2dlc3RlZCBpbiB0aGF0IGFyZWEgaXMgZGVsZXRpbmcgdGhlIHBhdGNo
Lg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:17:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:17:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387146.623266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVIK-00047Q-Cy; Mon, 15 Aug 2022 08:17:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387146.623266; Mon, 15 Aug 2022 08:17:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVIK-00047J-AM; Mon, 15 Aug 2022 08:17:56 +0000
Received: by outflank-mailman (input) for mailman id 387146;
 Mon, 15 Aug 2022 08:17:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNVII-00047D-IO
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:17:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNVIE-0008Qm-Bp; Mon, 15 Aug 2022 08:17:50 +0000
Received: from home.octic.net ([81.187.162.82] helo=[10.0.0.187])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNVIE-0007i5-5V; Mon, 15 Aug 2022 08:17:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=8fh8qOXhtgLYUv/cK3iFtWoW9truZbtvWPSGRkfQFAI=; b=AVJefbQKMIeqU4ZBxfc4QR1y4d
	VgY6h0XTUb6+oNC2jmQSa80phoIOP8fub6XPHnhFBwpqagWueQoWZcXEXvFVuf2FEGQ9hEf89zvLV
	CqWFmaoTfEXyFsbrWi8LADOJH5PH//qv1N9IxDvVbDd5nvFDHAl5rFUhl2Q/qBnkRdz0=;
Message-ID: <94843cc5-919b-68cf-31d2-a8625d9342d7@xen.org>
Date: Mon, 15 Aug 2022 09:17:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-6-julien@xen.org>
 <432ffaec-c537-0337-5812-18385ccbb534@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <432ffaec-c537-0337-5812-18385ccbb534@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 15/08/2022 07:43, Jan Beulich wrote:
> On 12.08.2022 21:24, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> At the moment, the strings are in text right after each use because
>> the instruction 'adr' has specific requirement on the location
>> and the compiler will forbid cross section label.
>>
>> The macro 'adr_l' was recently reworked so the caller doesn't need
>> to know whether the MMU is on. This makes it easier to use where
>> instructions can be run in both context.
>>
>> This also means that the strings don't need to be part of .text
>> anymore. So move them to .rodata.str.
> 
> Wouldn't they better live somewhere in .init* ?

PRINT() is also used in path for secondary bring-up. So this could be 
used after .init (even though today CPU hotplug doesn't work on Arm).

Furthermore, PRINT() is only used when earlyprintk is enabled. This 
should only be used in a development environment (gated by 
CONFIG_DEBUG). So I think it is better to keep all the strings in 
.rodata.str rather than trying to distinguish whether the caller will 
happen only during init on boot.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:21:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387156.623278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVLu-0005Xb-Sg; Mon, 15 Aug 2022 08:21:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387156.623278; Mon, 15 Aug 2022 08:21:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVLu-0005XU-Pi; Mon, 15 Aug 2022 08:21:38 +0000
Received: by outflank-mailman (input) for mailman id 387156;
 Mon, 15 Aug 2022 08:21:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krio=YT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oNVLt-0005XO-ND
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:21:37 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70051.outbound.protection.outlook.com [40.107.7.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46fbf20b-1c73-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 10:21:35 +0200 (CEST)
Received: from AM6PR0202CA0062.eurprd02.prod.outlook.com
 (2603:10a6:20b:3a::39) by AS4PR08MB7629.eurprd08.prod.outlook.com
 (2603:10a6:20b:4cc::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 08:21:32 +0000
Received: from VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:3a:cafe::80) by AM6PR0202CA0062.outlook.office365.com
 (2603:10a6:20b:3a::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Mon, 15 Aug 2022 08:21:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT034.mail.protection.outlook.com (10.152.18.85) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 08:21:32 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Mon, 15 Aug 2022 08:21:31 +0000
Received: from 3f11f798db17.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F8B89FBF-70CF-48A2-AB7B-8F3A2FBD1BCF.1; 
 Mon, 15 Aug 2022 08:21:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3f11f798db17.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 08:21:21 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM5PR0802MB2483.eurprd08.prod.outlook.com (2603:10a6:203:9b::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Mon, 15 Aug
 2022 08:21:18 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022
 08:21:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46fbf20b-1c73-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=gZn4NgY5qs2uwhYapGWNwY4KTtcSLZfK19T0/MghlGoAmAbPD18ZH61poa14X3wIYE0Y8kIPIdBHztDuweTJkAD3wU9qZwAT/qbXfxAHqdh+vGaalBpo510iem/nlT3ELFucieMeBjaXgbob0pggCiEkjUZ/zcnch0NnXzF4adIZGiJlqVEYczvEWRYLD5rVD5DD4otDMQgsT36SqsUYC3EqOVHKKIGVbk0R860ZwIhKgkWGsgovtpQEUY8A7BW3pWjyadC/a3De+lpaiDNES/K6n2jvh3zPulxrKMSYcx8HCjVDeaAJn5U987lOAFglBYJxFyr/DM+EUem3CQfgTw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i3ejvotiTn+Ug5b3O+QY1UZU2PJ9wrPN3asb/dugQAo=;
 b=Q6DF2fBU+v9Yfnn8HocZWBlbvSgpNEiAiq+bZk+CuQaWaGWBsQ7+oNiQ0RLVkWYNQGrayctJSenWWXn8Whnd5B/APCllaaKzJ1rJVJXjLRnZ1HgVu3ZzTfzGPy1ZAkjyv/NDTOw8Ialk0WSbpe63K6y9J79RbhZRA1IVhX5/cNsZ0E5VSRnxcVWv/9NNaLOn+q7xSXdnfce4btNIyeXMNH+PFPCAqgBTxOgT2Z+G3BS4e1BqQ+/wW0TEaPJQt9ywCvvt7luKUt8mBE+2ebW5Ua3bD8hJ1eJjlN+SlVeOYbvK1WXEHxkmlRCSC3Cbephnb+MW4+XUiJkx8++rf4mKpQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i3ejvotiTn+Ug5b3O+QY1UZU2PJ9wrPN3asb/dugQAo=;
 b=yPq3u1tQRnSMvxmzq0sIVhi4j5eZtBektfUCWK+uq9WFYcnOLiGpDX03o+LnyVmbLmfniCAscNx3fSCfl3t2XAQFo4VqW+sV9FBYyxZDg5MAjfg2hL8odZNkDQ+gZTBKOyheMFOURw+SY0M1BLLmAUC0bxQk6AIdji+eMiHz798=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YesZbcBIxfmg1RXMzSHu5NeOlZmmeMZic7SyrLkTkzAWZSSVM6Rgz5LH0W5f8bGtPjlSEv4J/ZCmnDKL/QrK4yXl0HLi0NZWKeMAorG4dA1gPFPVdzu9MavDDSWMj60j9ykeYs8jfutIrxLxPpR74NWOKAPD1w72PNjZn01GfrCbNUeL8gl/N5M3Yhvn8lqL83hlNPG0ALH9gGulmrgBp/tPrhY//3GkF57jKOJ4xYM76avjt3tY/zFNAip0KlwH4R4aJHjKcUAqDJ+N7kPW2RfjwSCGw+fdlq5Tm07+zJcc5YyUF84x/OsJuwVLBrKHAWIG1HenkPXS9O3R2cx6dg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i3ejvotiTn+Ug5b3O+QY1UZU2PJ9wrPN3asb/dugQAo=;
 b=RsiEUdSODcoAEU5QX9JLfvU8/3OuWflxPwgaAn8Lh3uw8bN+7/UOtIf8wnq+zaEL83vKu/xkTz5MEGjJaJR+wuKKFMOengGiShPcfqxv1MntpMqhkqVHxrUXJO7fJwjRh5cYlbQSQSd0UVGm+OFTS5pHGmFDV65iYLHOhbqMG+bhnFFkYl+b56q/o4sG7zv0fMeMaPz4OC/E99Q1Df6ZYc0yhtLdOFQPjjwtQQ1d75HLQTXpqFm6I9MeN7pT4PyBoidQWf8Kbai0rQndn6AA+HA2adZqqEyMJBAqPzg1NdDEeKBbP8oCDwPysDZM0XJHAM/6x2oxE/woUwJpIKf/lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i3ejvotiTn+Ug5b3O+QY1UZU2PJ9wrPN3asb/dugQAo=;
 b=yPq3u1tQRnSMvxmzq0sIVhi4j5eZtBektfUCWK+uq9WFYcnOLiGpDX03o+LnyVmbLmfniCAscNx3fSCfl3t2XAQFo4VqW+sV9FBYyxZDg5MAjfg2hL8odZNkDQ+gZTBKOyheMFOURw+SY0M1BLLmAUC0bxQk6AIdji+eMiHz798=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	"christopher.clark@starlab.io" <christopher.clark@starlab.io>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Julien Grall <jgrall@amazon.com>, Stefano
 Stabellini <stefano.stabellini@xilinx.com>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jgross@suse.com" <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, "Wei Liu (LSG)"
	<liuwe@microsoft.com>
Subject: RE: Xen 4.17: Current status of series floating in ML
Thread-Topic: Xen 4.17: Current status of series floating in ML
Thread-Index: AdiwaSAsLXrq8BcIQ6OGhWLWfPbjFwAFdOeAAAAtkIA=
Date: Mon, 15 Aug 2022 08:21:18 +0000
Message-ID:
 <AS8PR08MB7991B735C93D67084E946D4992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <c8d7de5e-0d0b-43cb-2b89-d253a2b0b490@xen.org>
In-Reply-To: <c8d7de5e-0d0b-43cb-2b89-d253a2b0b490@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 378623C7BC235E4B8A173C677ADA1EDA.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: fd5fe0d6-eff0-4e80-cfa4-08da7e972928
x-ms-traffictypediagnostic:
	AM5PR0802MB2483:EE_|VE1EUR03FT034:EE_|AS4PR08MB7629:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 6K5N2O8W1htfsyphTr4/NEaed8HoulzEkdTcjVrJpAJ7INPQUStWnyjsUMN3YToKUiS68b0ZIpKhhMk1IeukopuNcrtCK5HOS0DV9AJcZkH6IZ+ByeaEsMIOK6L4/A+oZC0Sf+WQ2rnX0cm5n2a7hTQXAI2DxC+nbH/M9ivyB4zw5lElSOSm/WFQZ163B0hg/LtrE1hHr2VxoWhnlOGwY0Fpk+I39iCI5b3uEDqprkPDUGzKXXA6c7VSUYTdwHomNfJoJEj/rx2TJeTxJh4sVWU/0zjPdxbd9ArWzRt5FNFekJO6poKpgYahJlrBF8k6dDQdF6y3bEyC+/CfgYedDgJm1zquXUbEQh7ISzVz3HOnrUPRONHvh0HWHX46gDud+CCGcr0LdOpnxgj0SD2rioXvA5E+/yBm/QUIanHvdIVJc1s3B6nTnegB4lv2NsiOu1SJtvelC3MYGWtBCygnElwKLukvVtuxRJxB0jwPC4r9j3X+XFsV5i3n0TCOZqN6amtiGTONz8WXAQMRvwDtL+TLFQh5nQltsrd5CcjxqFVgVBrWcZposNCZE2abNNDGSDDtNq/Vd+EllLTCZ8JnHMtkcl9lDKu4C4JLRuE/xRmZzIhAeHda2FDO8OiyH56R8HQYq4YRWOqoD7GWD2/P4sIjKAdAHK7Lb3O3bovvvnBPqeTXPs/TedFinjOf8anmuWt7N2zEWlZhTssXMEoGuJcjEu7QDYNLVtowRHx+nwY8/21XaLzfuFPK7EBLalQUDFrlc+YUNdFFSB4kLDIzeT/qlMOLNQRUHDUGa1wXACUyEc0yNuzmub+IdOJPiurHTp1L0PHEzlIs7MCQXpOMxQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(376002)(366004)(346002)(136003)(478600001)(55016003)(2906002)(26005)(41300700001)(7696005)(9686003)(53546011)(6506007)(64756008)(966005)(66446008)(8676002)(66476007)(66556008)(33656002)(110136005)(54906003)(316002)(71200400001)(38100700002)(38070700005)(86362001)(186003)(5660300002)(76116006)(4326008)(7416002)(8936002)(52536014)(66946007)(83380400001)(122000001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2483
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f581e9ee-c834-4e3d-0b06-08da7e972118
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M0pipO7cmjnc6CLMtXhgPxzBoVuih3PmZwnYH5uFUGAdft5VaKdZK0NhxfzoK3n3oG0/0V9q2mwclq+YwsQvciB/jRKc/nJjP3jtkacvh315uiazGTcf7nzS9eGjp0Q6nFW+s3Oz0RvJFD025S6R2kmycKC2iiIITDo7z6p1Ls0v+3d4qvq/iiIAy8QDlxLQWd59+PaqCHBRUAs1j7eTcUrzKH5AAkAzTbXhEWObgczMvUq+UafMAEJ3YQrl73/zIK0tNtmFteHlyaCc9ZzQO/fEornJKQGFJk+0PxG7HTjLNOdgaLgAy8zYotAzCDEc65zE44hU/8P2fktq79cJp/gpdoExA5M8DdPIWdKLNPRkSh2Ut2brOO3soGpwBzdok5HqJwEGUizkxZixbFXFhGYNuYlyfZWjcNvv4dyvf5sEX/4Th6Cfz+yXUFQ6Y0+/jZLCrZmLf+AkbtxxgSx3awfQp5Ba513cAK6vxlNIuIUWC7b9aAfzwPn5vuVhrcRWLWgryAX6PdqQg5LDMu/CA3JbOMCcxH0IA4NT31OCe2kGRXrHC2i0wj8+WCWo0Q0lTXazFdNctvY8ODoOB55HTAf9AnxdoP4Pwi7JHv9otNl2tKiYQs3QiaM4CNzmRXe/HQTU7OGX6EIylxlskixcGxKkApfqfOsW992qdpoD8WW4e9/xx6hZ7iAbCBTMLwZWbyhYABHMPlE789FAY1+NNlSdIEi75UjgIvauB/pmMzqe9sww+pVMznyO6h7xX8RY5HrM1KjQFvgLVnyFpmo2XtNQzNkYsQAmtoDyR8be++d83Iikb1vhdtdDiDLRStLmEynRkzb0poem6rXGM+AGAw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(136003)(396003)(346002)(46966006)(40470700004)(36840700001)(186003)(9686003)(478600001)(7696005)(41300700001)(26005)(81166007)(86362001)(356005)(53546011)(33656002)(6506007)(107886003)(336012)(83380400001)(47076005)(966005)(54906003)(40480700001)(4326008)(110136005)(55016003)(82310400005)(70206006)(8676002)(5660300002)(70586007)(316002)(2906002)(82740400003)(40460700003)(8936002)(36860700001)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 08:21:32.0640
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fd5fe0d6-eff0-4e80-cfa4-08da7e972928
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7629

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBYZW4gNC4xNzogQ3VycmVu
dCBzdGF0dXMgb2Ygc2VyaWVzIGZsb2F0aW5nIGluIE1MDQo+IE9uIDE1LzA4LzIwMjIgMDY6NDYs
IEhlbnJ5IFdhbmcgd3JvdGU6DQo+ID4gSGkgYWxsLA0KPiANCj4gSGkgSGVucnksDQo+IA0KPiBU
aGFua3MgZm9yIHRoZSBsaXN0IQ0KDQpObyBwcm9ibGVtLCBhbHdheXMgZmVlbCBnb29kIGlmIHRo
aXMgY2FuIGhlbHAgdGhlIGNvbW11bml0eS4NCg0KPiA+ICoqIEJsb2NrZXIgTGlzdCAqKjoNCj4g
PiAyLiB0b29scy94ZW5zdG9yZTogYWRkIHNvbWUgbmV3IGZlYXR1cmVzIHRvIHRoZSBkb2N1bWVu
dGF0aW9uDQo+ID4gaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L3hlbi1kZXZl
bC9saXN0Lz9zZXJpZXM9NjY1MDY0DQo+ID4gU3RhdHVzOiBQYXRjaCAjMiBtZXJnZWQuIE9ubHkg
cGF0Y2ggIzUgaXMgbm90IHByb3Blcmx5IHJldmlld2VkL2Fja2VkLg0KPiA+IERpc2N1c3Npb24g
c2VlbXMgZ29pbmcgb24gYW5kIChwcm9iYWJseT8pIG5lZWRzIGEgcmVzcGluLg0KPiANCj4gSG1t
bS4uLiBXaHkgaXMgaXQgYSBibG9ja2VyPyBUaGlzIGlzIG9ubHkgZG9jdW1lbnRhdGlvbiBhbmQg
SSBoYXZlbid0DQo+IHlldCBzZWVuIGFueSBjb2RlIGltcGxlbWVudGluZyB0aG9zZSBuZXcgZmVh
dHVyZXMuDQoNCk9oIEkgdGhpbmsgdGhpcyBpcyBiZWNhdXNlIEkgd2FzIGNvcGllZCB3aGVuIGRv
aW5nIHRoZSByZXZpZXcgb2YgdjINCndoZW4gcGVvcGxlIHdlcmUgZGlzY3Vzc2luZyBpZiB3ZSBu
ZWVkIGEgcmV2ZXJ0IG9mIG1pcy1jb21taXR0ZWQgdjEuDQoNCiIiIg0KQXMgeW91IGNvbW1pdHRl
ZCwgSSB3b3VsZCBiZSBPSyBpZiB0aGlzIGlzIGFkZHJlc3NlZCBpbiBhIGZvbGxvdy11cA0Kc2Vy
aWVzLiBCdXQgdGhpcyAqbXVzdCogYmUgYWRkcmVzc2VkIGJ5IHRoZSB0aW1lIDQuMTcgaXMgcmVs
ZWFzZWQNCmJlY2F1c2Ugb3RoZXJ3aXNlIHdlIHdpbGwgY29tbWl0IG91cnNlbGYgdG8gYSBicm9r
ZW4gaW50ZXJmYWNlLiBASGVucnksDQpwbGVhc2UgYWRkIHRoaXMgaW4gdGhlIGJsb2NrZXIgbGlz
dC4NCiIiIg0KDQpUaGlzIHNlcmllcyBoYXMgYmVlbiBpbiBteSBsaXN0IHNpbmNlIHRoZW4gOikp
KQ0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBK
dWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:21:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:21:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387158.623289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVM6-0005rj-6s; Mon, 15 Aug 2022 08:21:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387158.623289; Mon, 15 Aug 2022 08:21:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVM6-0005rc-4B; Mon, 15 Aug 2022 08:21:50 +0000
Received: by outflank-mailman (input) for mailman id 387158;
 Mon, 15 Aug 2022 08:21:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNVM4-0005XO-Me
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:21:48 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2041.outbound.protection.outlook.com [40.107.21.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4df69c89-1c73-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 10:21:47 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4825.eurprd04.prod.outlook.com (2603:10a6:10:1b::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 08:21:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 08:21:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4df69c89-1c73-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HBH7yjBUv7ihrEkv1CrVQ0UqbDW9A/J3nhmEP+UxwNiKiQk66Ye+XNVeec2xXrGMF0nMFkYlwXPqQQJWV2QR4h9Ga4jNEliloMoz2YRFDcAnaBQNwfYHCE2uo8lNzK+lNyQJExxoRahh0kK+GxJEldBDsZMj1/brp/7vYCpq9Zjs9zwBpShYc6//D/4sh16vzmRtrmVGTAtOpPE9Vz+BTAH0+22UDm/QW52rvTy2GRNdaxMZ46qWhxBXthY5fQNe2Q0pitWo1taTysaLfQfib1OnwLnof+t+8QDe0s4cNmMJxCHHxdVGQBWu8u08iWk5Mjn+fzDtt6fWDfTT59uQKw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IGteyt2N4vJhcIfIwaIw/lKsxnkpy/uYQKr1uq4J/sE=;
 b=P3ZxH05R57/5I4GHQu82oJw3GVd68rkUJZDgPsC1yoDidkObCGCGBTH3n/of0P0XpMHE6leQjwnjlFOyvbb2Al5/MGillH/10oiVL/df5sWoaiDOp70XM9k5lNwHFJI8FCJm3gL3xp1Fc0Rsg2xBlAqNNOhm8chOSirN1SqX6q/3BbqEUfio1xwVuKGEczxXSZlBPPW31/NAgbWxw4O/OCh4w4+lXCEAw3AJBR8ggTpyEu2LKhnEdODkBqCV+iaE6ENnYZfIr4Myp8U+iKZM9zUqXxqPfpCnMXqVzgoTi7vk0CX7wBk3WTUf/dI+pWXwPFswk8OF67pFI7P6P1dTcQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IGteyt2N4vJhcIfIwaIw/lKsxnkpy/uYQKr1uq4J/sE=;
 b=qDZSOvEZbnwnBs9c0uw55sPWpfShaz7sYetFavgqhliucVjMk+v1ZOPobCFQGY9FGvXDtLVQ8W9U6kAiXTn/FdMX7IQY3EZQODKFZZClihKnqJRR/AlmwXNxo8YJC/5nEgIOxYKQxQBee2yl8yOkKTJcRZ8/A7StTTn5dnJbOg2e5KV5gkI7QYZg0ZY+GlMLpzcGMJEElja0/WMXfnDI6cYffxdshizyf46qAeRu+9blCTbY+J7GTLbS7phGV8gs6K5AkhkXZnmD7YK7fERAUkbYiZScDxNDz0qHu3qzE8r5DxPJzOs0xE+k+Z3FsvhySNy9kY7DqL4dK6ZMig32nA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ff329cf5-689e-89f1-c82a-7df6dbf11446@suse.com>
Date: Mon, 15 Aug 2022 10:21:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-6-julien@xen.org>
 <432ffaec-c537-0337-5812-18385ccbb534@suse.com>
 <94843cc5-919b-68cf-31d2-a8625d9342d7@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <94843cc5-919b-68cf-31d2-a8625d9342d7@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR0502CA0068.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::45) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: da89b2f4-bf4c-491b-d791-08da7e973134
X-MS-TrafficTypeDiagnostic: DB7PR04MB4825:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jSQM+Sf/sohcqrObQJiUmnvh/mqij+fGhUTC3o3Nq7b5HqMalfqnpBUTUJg6wQ4Ljh3Y+rXpC7qaTtfj5eYGFyzLOiypx7q/GfC8ZkKzzXaK1p6Hio2/L2JFn38oJGZD+UO2nomjJfpfbHnXJYGEcZDkv5oKZqdYiDXVNDeXMXKXK2yeXmA4fCWbFbJRbUPZNRWWiwRU2lAjqd8IsEkgIRu/o4JGdloutKCL0Ryd2mX0GnTtzYeY2QGnXujEETg8aMBwBrfzo92GfwdONYpEGaHlqYaHe2MnFfjmWEgsn7LAeaIqy8Yof/P6Nv7Bn8rxyKcNnCCRtVFTMrzM+TSa9+b9P9kLmU48dLRNOmLaBfoRxRxCPZDJa9rVTuvlIdmDTQBl+fi1evArBJlH/MaXa8FHiVOkRSDqDxeecWM70lw0vyULElUV8bmSMF05ZymwNK77mA44Tc+foTtYxp84zF3BbnkjcFxF/ema6uw0yBkPk5onhUFWOlcPE2VyxV4yrnQ7VF79KC2/+ZeNkghNPiRwWlkcXkQ6IYj/K7Ahi848U1Xcc+2aWmPQfxfFGkXrV3hYf3SyfBZ1EUwsWcIPSHXwjOV/uFgZ3KkCd6ON7FMXMQXhOZSA00u1/NoVGjZz3JLiCq4Rlr9bcwe1hN7NLiliSNDtXG5At9lNfw3CyVYpq06iK71qh4YhLZyRLHESoi2lpbGviqUkBbXiPq++uv5TwWAe9xiyflVqjkjfRzChrktDkh2eodHvwK4R5IRK3aKG6Kaafhs61Aoy7Ri9i5+cLrWNAQNhU2vPKYERmUepC7ZYF9HUmSpGrfHc+vjxiKKaihtm2jDa0A+h6Wy2OQkcNcN9ytz4NslsRkgl4NI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(366004)(136003)(39850400004)(396003)(186003)(6506007)(31686004)(2616005)(54906003)(6512007)(26005)(53546011)(41300700001)(6486002)(36756003)(478600001)(86362001)(31696002)(83380400001)(38100700002)(2906002)(6916009)(5660300002)(8936002)(8676002)(66946007)(66476007)(66556008)(4326008)(316002)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dGVmN0M5Z2krdnd3dmZtamRmSnd5Q1lEYTlOZU9jUjFKMlRuNy94K1c2cWpi?=
 =?utf-8?B?WlUzWFdvLzlNeGhIY1h6a25ZMGNVcXVINUIwbXRkU2JTNVRiZFdhVFROcUEz?=
 =?utf-8?B?ZHJwSnFmaFhmaHA0K2pQdGpLTlJPMDlUKzB6TUROSkExazdtM3RsTXFsWHVM?=
 =?utf-8?B?aGhSZkhCOW1tTHFTUUV1ZUFEVzZkbjhEUkdmQzcvMnJuQ3RQYnkyS1F3OUhG?=
 =?utf-8?B?MVUraVBJRHpIcWUwSlJPQjdQUmNVbGZRQnhCY1JOcUUvWTN1SDI2WTlETkxt?=
 =?utf-8?B?ZXVBLzV1YUNDbWxvZUxZN2RSZDlWeGdZN2JFekpKTU5Xa2lzU2UzM3hEak9q?=
 =?utf-8?B?Z21VRHVmM2h0VTB6SWJCR0t0Z25BMXVsSVp0cTdMMVR5WlBNOFRJWk50SmU1?=
 =?utf-8?B?Rm5WbUVZWDVLU2tJRTZhUUE1c1l0aTFWdG9EQS9kSlJ6NGMxd29TNXdHdEJs?=
 =?utf-8?B?V3RGRlBBczBURjUrUVllUGlzdlV3ejZ2NWFRSm00UXB4U0VKeVg1YThXRFhK?=
 =?utf-8?B?cm10bzYyVWF1eGVEUnN5VU9FSjBScVYzR1BteTN2aEVZTHdEZlhNcmdNeUhj?=
 =?utf-8?B?MCtzaTBkSWhTMlVXcDg3R2d0Uy9qM21PbXZZUW5aRFRIMWNUeld1b296YkdD?=
 =?utf-8?B?NWhiTFB5Tk1FSVcrMCtDdVhsUmYxcHVBTW0xQVhxVzZXdlFHaGp4UGNxZW9I?=
 =?utf-8?B?OTVaUVFMZGE1azlyZW1EWnVSRnRvelA4ZXp5Q2Fqc2JXbDUvY2ZkVzVVS1J6?=
 =?utf-8?B?TjdhSk5GRERPMWhXdEZEYVFJeDloekpYTTBIMGtzMnFvTlh6S01KQVp3SlFG?=
 =?utf-8?B?SmFGb0ZMUTYzRDJnazdmSkJvcDU5azdvUERiRncyVWRFRGk4ZlFIQ2YzVFgx?=
 =?utf-8?B?bHdZYUprSGZKNXNRczU3aklnY3ZIenJZS0poZGFwY2lLZzRPUHZ1S3lBNGo4?=
 =?utf-8?B?WEVRYzBDUDB6aXpRSjFXd1lYbFR2eXNYZ21MaVlWRk5GZ01NaHJ6V3VsR3o2?=
 =?utf-8?B?Y1hUeXhnMTBBYk93SW42eFRXUUpuaHVvQzVzRndqOS9iajFrdGw5OXk4Y094?=
 =?utf-8?B?dlZsVTVDcWhKY29ma3lsYnRTN1BaWkt4SGtMUHIyKzFnMXV0S0RIZXNKT1dn?=
 =?utf-8?B?UXRDbzdpQmJySVB6M21Ld2NuaVJ4R25KMksvdkQ3UGJ4Zk1MNzVBdUV2eWhv?=
 =?utf-8?B?MGZxOHdHOWJrakR2TFJHTWhsS2pBNG9ZZHM3VlMxbnh5OTkyRU9qZFNXNUpl?=
 =?utf-8?B?NGYyYlg3ZHphVmllcXMwVXF0c3FYWGcwbWl5UlBZRDIxMHh6ZWtYdDh3TUtL?=
 =?utf-8?B?dFQ3OWc3d2g1dFJidUpKNFRDTGhadTZjU0xCYWU2K0NpY0FSUVFUWWdRVlNQ?=
 =?utf-8?B?ZFBBQ3VNRzRjaXlhRnJ1TlhqUlArMUwxR0c5VVlMM2FLSnZaT0ZWaXljb25m?=
 =?utf-8?B?RFd3N1oyL0Z3SS8vK2ozN0xieTdqQ2tBNDF1MVhmaS96Nk8ybDRWTkhwYjFH?=
 =?utf-8?B?NFB2dmNiNnYwSFRUb2tHRXlKaVFVbDZPekdzOGk3bE8rbHNJa2pYVkJNaU9q?=
 =?utf-8?B?aEU0Q2F0MEhENEtUSzVXdG1UajNSNXNRL1dmcW9UanNKR0lqNHpjZXljOWE4?=
 =?utf-8?B?Y2RtamFQQVZ2cHVRM05PbGJGSW9CRHoveHFSZlYraG9JOEx2Ly9vTm90NFFu?=
 =?utf-8?B?K2NERmFTRytZdUZZVWxFRWNERzlMOHpUbFozcXpWZGNXWGhzUStVWnkwNVdE?=
 =?utf-8?B?NFpzWVJjbkt6c3dqbzVMNkpuVENuczgyYlkxSU56TnNFTnBPWlZCQlZnOVhS?=
 =?utf-8?B?c0c1U255eGNhV3o1a3YvMVB2U3UrS2w5SWhkTStLMWNGQlNUdjF2bXhKR0FO?=
 =?utf-8?B?TWlUYU5VNFF5WUl6VzlxN2JyU0l6aFZqYnQxQXVzSHRUd2hyNjJJdVN5UUhy?=
 =?utf-8?B?SlN5Q1FmQ3pFRjVWdUNTVlNMVkpFUnd0N1c2RzZveVN6TS9jcHhqU2tqZmhu?=
 =?utf-8?B?OW5yZUtnY0ZpMi84dEhMMW82MXpsWkxRdlBZeGlaVkJBNTVLV25DOHYyalhW?=
 =?utf-8?B?VHhHN2NtLzhNc1hReEdLSUZZSHBXZHpmdWIxS3pwZFA4VnhmMU5XMy9WU002?=
 =?utf-8?Q?KvjBQeB3GO/19fuHhLR6LGWXN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da89b2f4-bf4c-491b-d791-08da7e973134
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 08:21:45.8617
 (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: jnxZmBPSonmSZT9hnVb+/4MmXDO4BGQH3/xflefuLMt904L+lPpch7KhjlEcUkGnDPaHlqtd7I+xwSma2aaaIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4825

On 15.08.2022 10:17, Julien Grall wrote:
> On 15/08/2022 07:43, Jan Beulich wrote:
>> On 12.08.2022 21:24, Julien Grall wrote:
>>> From: Julien Grall <jgrall@amazon.com>
>>>
>>> At the moment, the strings are in text right after each use because
>>> the instruction 'adr' has specific requirement on the location
>>> and the compiler will forbid cross section label.
>>>
>>> The macro 'adr_l' was recently reworked so the caller doesn't need
>>> to know whether the MMU is on. This makes it easier to use where
>>> instructions can be run in both context.
>>>
>>> This also means that the strings don't need to be part of .text
>>> anymore. So move them to .rodata.str.
>>
>> Wouldn't they better live somewhere in .init* ?
> 
> PRINT() is also used in path for secondary bring-up. So this could be 
> used after .init (even though today CPU hotplug doesn't work on Arm).

Then the term "earlyprintk" looks to be misleading?

> Furthermore, PRINT() is only used when earlyprintk is enabled. This 
> should only be used in a development environment (gated by 
> CONFIG_DEBUG). So I think it is better to keep all the strings in 
> .rodata.str rather than trying to distinguish whether the caller will 
> happen only during init on boot.

Fair enough.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:27:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:27:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387173.623299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVR4-0006pJ-Pu; Mon, 15 Aug 2022 08:26:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387173.623299; Mon, 15 Aug 2022 08:26:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVR4-0006pC-N7; Mon, 15 Aug 2022 08:26:58 +0000
Received: by outflank-mailman (input) for mailman id 387173;
 Mon, 15 Aug 2022 08:26:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNVR3-0006p6-1w
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:26:57 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20077.outbound.protection.outlook.com [40.107.2.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05acae0d-1c74-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 10:26:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0401MB2634.eurprd04.prod.outlook.com (2603:10a6:3:87::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 08:26:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 08:26:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05acae0d-1c74-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TzofW9Mxik1BxuG+nRC76K2JteZ6LBGFmSnb1hZB/LRqgi0AGW4J0RQzVs/NYOrCTlvGcMSM+rbWaeGCmyfAs3uIHxjAKsL5pBwM0jyD1qRC8Lk+HyyQYR0EC5WzgFxw6/Q68vKmu/1rbQ/mX5bcTEK+e17uDZyyLy1sRQnMQYezSXMXur7E82ct9+Cv47sOg1M+ZtsQqEHrrRUQS2VnmIkBGpNjubW819yq1e0jMGd6xtxeFKIA/MWskZRfCVaVTE9rHBqfv8VsY1gTRxOUYvq7+4/mp1+z8LyIa328LHTOAM+PiHIVDsQQ4MuIzw3iOq9sevr/qvSYHsYzrK7vtw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cCQCyyLFFfrG6dQRFRh2PvV1OSYPMnaeEIoDz+lY5ZE=;
 b=bHY53VAvuYJl9NmS7aOffbe7e2GJ3oQ6UNRsjU6QClpSq3v5YMXqv1I8oLjU6Ls2cK2LbKVIbuTHvnlV7iLTeSoD+hNe6wikw40ErX1JGc+KErAhVaqtI5HHwM1yHJB/pM34VjgJLIEI0VO13fDURmdvghfPaDfXnOu0pEK5CYAYK4+zT7g/wjfdNyokNV8dQsgDxNi6AyHTIsZnqMT01+6Shvof4TgHuF3UOi7epweGOFSidooAIp6d8Fl/tKrWWhQkAVO+Eqn/p5fmVPPvOi3RR9F85iPWPHvpI03fMOn8zR8GItrIP+atP9XSds5TOdnRRbdS9EAtCwPOwDhgvQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cCQCyyLFFfrG6dQRFRh2PvV1OSYPMnaeEIoDz+lY5ZE=;
 b=WeQ4XHG3n5dv+CBiU9DdMfgxZ7lVjdUPFwDxWVR5jbFT3qLNmOs8v2x/dtHvXEhn+Nd9v/OqqFL4A3Po2hDMLiYDamksBLwP7srNGihwzamF0OsW6rMzYVSWXvy+Lr2AB1DlHVObJcPiMj5jLQCOYPx0CxhgxaJODZb/ZnzzCJ0+ZqQgwPDD7JEDhJCIdjqc0EIxo6qgWAw8hmY3RFjVYVojr6XkppS5mdsErSQDdFKWNN5mOntROVSwQXiWCJO6WwhKXm7KHbIlcXdtjXCFbbJB3aecQEoeomUH6h+U5nz94tZtnMUzoUTbfxtbMnoMA61bW0OurcGBAINcueTQ4Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6c8fd8b4-85ed-6599-5761-a3f6e9fdeb36@suse.com>
Date: Mon, 15 Aug 2022 10:26:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/spec-ctrl: Use IST RSB protection for !SVM systems
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220805103814.23032-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220805103814.23032-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0013.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5b70ad77-0e72-4b9b-8c4c-08da7e97e8a5
X-MS-TrafficTypeDiagnostic: HE1PR0401MB2634:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DDoIjPPgK3Pam5F+38Y5/b7lx5pGPy2RfBypJOlKYY85sg1mW2A3FombDYpCB86AVVe6ZV7iewJxXSmzMkzFLBTdX/jTQbcRavBPJMLXJ1ltUXebH7epicDAoWnOScO9Di4eKMHLrjxV3LphG3d+Cq/U+f7zEOM1q87ytB+QAQqfj+wy8DSU+yIC9EVR9lnib86XM1sjZ8yFy/IQtdLh955imtlWpyilyvSxovG9ti3cxg4aIQEr9lZN/dNLQ1AdJLUNp0immNhzRoReZe4UGXqB71uNV5dSXF/eiqnZZq1pOBKBRLHWrn32xNVDQlKj2bg1uMG5Ij7ZXjJtL6yndGBOajbceSTrC5acVrPEER6mCl0FDJLu0RS1xIHY3VObFl+bVVanukZ6fzOIDAnSMMl389ace4eOj2Yrz5G3OBatRa5MksQZ4QXSd1AqKPWRn/dtFk0GfEaboSuFMmogELFWjAPtaL2MRLexZmcAXaKtqSAmpbV42rIUQzbJKGyAERQtryz85seOYnCMmFWO9RE4pA56e3JGxiOZTLPvgfzyO9SMRb8GooFZN6yOvFGxtHiw5QiUG2jN1Bbg5ej1kIYDC9cPiBDdvRWk4k7MP7uaq8gweK6w/z9weUjXcYGbQYe9/d/IyrJWfsuqCS7HD0ZnYGIywd1DGoSR+Ltvd2cVSGysFGu+4LeC6bKmUuI2in52HHP9j/ShMkRBuSOsIhdMkT4FuuTq1ItZmorbPhy9mr11ReTO49/r0k23aJwcGlb8Rk9E22G8r44eeloOJqLOafHBWpmPsV3qo1ro6pfWG0tvLQJyICrosz0h5is5lgZjEpsy+/A2Ycu1ADRWBw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(376002)(346002)(366004)(136003)(86362001)(31696002)(31686004)(36756003)(186003)(2616005)(26005)(6506007)(6512007)(53546011)(6486002)(54906003)(41300700001)(6916009)(478600001)(316002)(8936002)(8676002)(66946007)(38100700002)(66556008)(5660300002)(66476007)(4326008)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QlFieHNoRzFwaFVuN2FXUXFGQjNSYlZpMi9CZW1IZ0paSElaMC83UlJGbU04?=
 =?utf-8?B?YjZqWHFtV0oyb0tzMjVWc05HMFZHSlJXRjBVTFlQZTNwVERKenNoSVQ4d1lh?=
 =?utf-8?B?ZnhNTnJEWDRKNC8xNlAxZk5rYlpmVU1GZVJpU2E2U1hXQ2NRUzk1VGlFWVlp?=
 =?utf-8?B?bkZ6ZTEzaFdRcTRRNDY4KzZ0MzUzaWsxRmttVmhxM2V3SmNqeEZpZFBGNVlE?=
 =?utf-8?B?a055bklvVk5XU0R3MnVydmMvSEdFVUt0YUhVZ1JFa3VqaSsxY3N6OWxSN1Zl?=
 =?utf-8?B?L3pPRFVJaHExS215cmxocW9VaUwrVDJwa3FlTFUvVzM5bThLSDFJc2VWdUdE?=
 =?utf-8?B?MDZYdTZ2TS9oc3dyTGhpRHFSdFB3dFNSZ2lwYTlHaWRlQ3FKMERLYjJiTGIw?=
 =?utf-8?B?cEViaC9CcjE0ZzdqOXdEWFpjRERJODFRZU5Wejdra3cyaHc3ckxLM21tSTRl?=
 =?utf-8?B?eGV3N2l2MnJnZ0NjczZKMEkvZSs1WmdrWU9VN3JPODJxZGs4WFF1WXRaOXAy?=
 =?utf-8?B?RzBrZTBGY3g2MFR6NmhTbGlkTnZzaXpDMVB4TE1qVGtmVHk0SDFOOWUwVE5h?=
 =?utf-8?B?c2cvQVZ0R2VpM1pOOVo2dWc5VXd4RU03QzVUVlZLMXRGQ04zOUVrd0gybjNn?=
 =?utf-8?B?eTVOWDZiZjhBSTZoVUt6akVRK05aVWkzUnl5cVY1Ym9jVlc3Zzl6S1hVRUU0?=
 =?utf-8?B?aG9pd3paNEhUZzVHUzV6RWw0eUIyaHNacE92bTRJSGRCZ0IyQTJ5RGw2MlVu?=
 =?utf-8?B?eFhrVDlwRDhkSWtUZ01HT3ErUkQrWE1wSEtpazdLOXNCL3QvZFFjNnBIQ25D?=
 =?utf-8?B?aUZvM0R6cmQzaU9kU3oreVdNdno1TlQ4ZUdneW54NHJKbjNJV24vd1ZjQWZ2?=
 =?utf-8?B?alBrWU1RTUp1MGVKOTlqc0ZtcEw5L1Q4VHZ4TzUvQUJ4VXNKT0l1aTN5WDZS?=
 =?utf-8?B?ZG4raHNxUndiQ3MxQUlGeFJhTG5Qd0M4dng0SzBLeUJrOEtaQWoxZVBDUEFC?=
 =?utf-8?B?ZSs4TUhZMkJuWmpDbUtmdk90eXE0b0ZmN0ZOSjkxUVVSTEx5WVQ3WVcyNHZz?=
 =?utf-8?B?enFlMnBDcGhYa2tJQ1IrcHM4bkFBZXVMKzVrL05HVVhOOXFoN1p2UitKekYw?=
 =?utf-8?B?UU9UU0R2Q0UrVmpoUFVWWHVsYTQ1SXR0Z0ZHM1lVN3pDbGVxaHJBaFEvYVJn?=
 =?utf-8?B?eXBwV1BDVy9BUUZvdk9YcCttUzBuTjd2bStHcGVzWXFWNDZEWm8rcWtkVVlu?=
 =?utf-8?B?NURrQU9MZzU3T0Jzekw3aWFZWHFNQXE4aVoyOHVjckNqbjRrVDdZNVJtNXUx?=
 =?utf-8?B?WE1uOGNtcmJ1ODJrRzFlQUhxbnhWakdUa21qUEo1YjVFaDc5UXVGMXpNenNv?=
 =?utf-8?B?YzhIa0Y3SVNDSWx5NVdFT0F3TDY4M1lZdDF0aWFxUFJ4UVJtTVJEbWFQUTJy?=
 =?utf-8?B?MlBVNXg0N2d5VkJVZGU5NGVBYVUrT1RSZXJlVk8zOWJSU2RwMmVEWlZMREFO?=
 =?utf-8?B?dzYzTDRtZG4zZHcvSE1acnJZb0FKZzc3bDBYR05OTThNUzNjeTRHRVlWZ1dt?=
 =?utf-8?B?ckxoTHovOXVITHJQTGxEUlp5anU0bVJaMGpuOWxCeGhGdjlnMUtaaGc1cUFm?=
 =?utf-8?B?Z3lUK2xqN1Z6NjkxSkxvUjhYOEV2U3dKUXc1Wmt1N3kzb2IwbFcyd2hOMEts?=
 =?utf-8?B?eG4wUUc1UzFjVCtMUWxpcHJKa3ArOERIS0FLZWhjdzlQM0RzMjdhVFE0MytN?=
 =?utf-8?B?ZUtYYXkwWXg3eExPVE1QTlJ0MFN4MndnWGhKcWlFajZMb0xiclZ0QmRTUXly?=
 =?utf-8?B?R1lQeEhWc1ZyeXhpQ2tlaU84MSs3T2JUWXpBYjhBSk5DQURzR2RobVIvTk9h?=
 =?utf-8?B?MmRpdlVzS3BnblZOWmlEcVIzYmp2VVJnWHRNWHF0SnQ5ME4wWFNYNDBVYklj?=
 =?utf-8?B?OFp1b2tndlhybUNCdGszOGhMa3MzblhublRZYU5PdC9rajNxWStQSHA5N05Y?=
 =?utf-8?B?R3pJZVhRd2RUKy9Sdk1Mc3BuUmN6aHRVUUxuRmgzcXd5T1Q3MHhET1RvN1hD?=
 =?utf-8?B?K09SMjlnR3JRZzhvbGUxNFRScTdQWU94TjlLSHBOOXpUTkpQZkNZNTZQQlR6?=
 =?utf-8?Q?Ux11bCU2++qv1+6TopDnSCIcz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b70ad77-0e72-4b9b-8c4c-08da7e97e8a5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 08:26:53.5921
 (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: r4xLL2ynjl0tb15/BCPBexKczTJ1goxEuyVgTV9vjFn9myqwkgWvgtM4UFbL1k197QMTJnBW53BYIaRFW8AnoA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2634

On 05.08.2022 12:38, Andrew Cooper wrote:
> --- a/xen/arch/x86/spec_ctrl.c
> +++ b/xen/arch/x86/spec_ctrl.c
> @@ -1327,8 +1327,24 @@ void __init init_speculation_mitigations(void)
>       * mappings.
>       */
>      if ( opt_rsb_hvm )
> +    {
>          setup_force_cpu_cap(X86_FEATURE_SC_RSB_HVM);
>  
> +        /*
> +         * For SVM, Xen's RSB safety actions are performed before STGI, so
> +         * behave atomically with respect to IST sources.
> +         *
> +         * For VT-x, NMIs are atomic with VMExit (the NMI gets queued but not
> +         * delivered) whereas other IST sources are not atomic.  Specifically,
> +         * #MC can hit ahead the RSB safety action in the vmexit path.
> +         *
> +         * Therefore, it is necessary for the IST logic to protect Xen against
> +         * possible rogue RSB speculation.
> +         */
> +        if ( !cpu_has_svm )
> +            default_spec_ctrl_flags |= SCF_ist_rsb;

Only now, when I'm about to backport this, it occurs to me to ask: Why
is this !cpu_has_svm rather than cpu_has_vmx? Plus shouldn't this further
be gated upon HVM actually being in use (i.e. in particular CONFIG_HVM=y
in the first place)?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:29:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387181.623310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVTu-0007SP-6e; Mon, 15 Aug 2022 08:29:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387181.623310; Mon, 15 Aug 2022 08:29:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVTu-0007SI-45; Mon, 15 Aug 2022 08:29:54 +0000
Received: by outflank-mailman (input) for mailman id 387181;
 Mon, 15 Aug 2022 08:29:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNVTs-0007S7-JD
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:29:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNVTq-0000C3-Vt; Mon, 15 Aug 2022 08:29:50 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[10.95.149.129]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNVTq-0008CS-Nx; Mon, 15 Aug 2022 08:29:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=z2vyAu3xjinNjXM/0r30GoOgrvkiFZTn0wbQboG/dh0=; b=aOaKnBvcyWU8olgTmwutj8cDV2
	Y8OJj4BbnTjYn6RBWi99K8/uiGPnkKvovB4CxVBiOL4qyV/aQCFjHYRZEPNBll+no+HuR3JzThGHY
	PDCf6Vcw2h9CA9hRMVy0407wPQUPjqgPJ4WUriVIY/5Ac5SsjRjbFUnNpO8jHSi2R/nU=;
Message-ID: <12c564db-84dc-0b04-1b87-8151e1ac1b8a@xen.org>
Date: Mon, 15 Aug 2022 09:29:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: Xen 4.17: Current status of series floating in ML
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "christopher.clark@starlab.io" <christopher.clark@starlab.io>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Julien Grall
 <jgrall@amazon.com>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "jgross@suse.com" <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 "Wei Liu (LSG)" <liuwe@microsoft.com>
References: <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <c8d7de5e-0d0b-43cb-2b89-d253a2b0b490@xen.org>
 <AS8PR08MB7991B735C93D67084E946D4992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB7991B735C93D67084E946D4992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 15/08/2022 09:21, Henry Wang wrote:
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: Xen 4.17: Current status of series floating in ML
>> On 15/08/2022 06:46, Henry Wang wrote:
>>> Hi all,
>>
>> Hi Henry,
>>
>> Thanks for the list!
> 
> No problem, always feel good if this can help the community.
> 
>>> ** Blocker List **:
>>> 2. tools/xenstore: add some new features to the documentation
>>> https://patchwork.kernel.org/project/xen-devel/list/?series=665064
>>> Status: Patch #2 merged. Only patch #5 is not properly reviewed/acked.
>>> Discussion seems going on and (probably?) needs a respin.
>>
>> Hmmm... Why is it a blocker? This is only documentation and I haven't
>> yet seen any code implementing those new features.
> 
> Oh I think this is because I was copied when doing the review of v2
> when people were discussing if we need a revert of mis-committed v1.
> 
> """
> As you committed, I would be OK if this is addressed in a follow-up
> series. But this *must* be addressed by the time 4.17 is released
> because otherwise we will commit ourself to a broken interface. @Henry,
> please add this in the blocker list.
> """
> 
> This series has been in my list since then :))
Ah! I forgot. We reverted the series just after. So Juergen's series is 
not a follow-up but a replacement.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 08:38:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 08:38:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387189.623322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVbr-0000Tk-0J; Mon, 15 Aug 2022 08:38:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387189.623322; Mon, 15 Aug 2022 08:38:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNVbq-0000Td-Te; Mon, 15 Aug 2022 08:38:06 +0000
Received: by outflank-mailman (input) for mailman id 387189;
 Mon, 15 Aug 2022 08:38:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krio=YT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oNVbq-0000TX-3y
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 08:38:06 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70052.outbound.protection.outlook.com [40.107.7.52])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9425a29e-1c75-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 10:38:04 +0200 (CEST)
Received: from AM6PR05CA0014.eurprd05.prod.outlook.com (2603:10a6:20b:2e::27)
 by AS4PR08MB7480.eurprd08.prod.outlook.com (2603:10a6:20b:4e7::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 08:38:02 +0000
Received: from AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2e:cafe::67) by AM6PR05CA0014.outlook.office365.com
 (2603:10a6:20b:2e::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Mon, 15 Aug 2022 08:38:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT062.mail.protection.outlook.com (100.127.140.99) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 08:38:01 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Mon, 15 Aug 2022 08:38:01 +0000
Received: from 24467dae2bda.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 458EE97A-424A-4935-88A8-70B073B05036.1; 
 Mon, 15 Aug 2022 08:37:52 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 24467dae2bda.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 08:37:52 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM0PR08MB4130.eurprd08.prod.outlook.com (2603:10a6:208:132::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.19; Mon, 15 Aug
 2022 08:37:49 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022
 08:37:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9425a29e-1c75-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=CZIky9fyuL2d7ksfnpAkecw7YQf/axOfasjCLH3OVn58AgiLuczyL5mbXZviGDHK1AXN6gflUZjg7/mgZLZLF2IkNTkVHgsgSvJSV9RGHaA5Q8twNE7KMfAjZIFm1AOVf4gEGB373L94qxXcaUZaebfMNuRsPpNVoQ5t6VRjDUbQ9e2uTUWtMGtHi4X/dSS+3eVQYKhMkkXch27gZ6Ku1caVhtYWYz9jxPHTcmmYwpDu26FUza2WGa1OY2zS6vk4EoJTsJnTwf8XicDuoKUROl34wDY4ccpNpcOSVv/lA+WKNuw32P776oTCV/9zbHIhpZW+k9d0gi27JUpbOxyvwA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8/ky6xNTMZsPtJqs+G0FPbUpPEJSIwt+KtSTelzYcDU=;
 b=WQgcXm0INDg6bcLIJvuvynLt92w2JJYzmp5mxSROUPjv5P/vAbz1TSYEnXFqIMkUq3XcTPBbSVEpGRyELGIVuIc5r5/aJ4BcepaGjYu6joZzf4K/gTJ77hz9t0LqE6qp0VaOAPabF59aszbkaq3GWwKVmjj1tL+IZ5Jmjxdf7Ak3iEjyhS0FwLoK7p1trGy2+FK7LvtzI51jMufO3lETYirvJkYfr8bX+k3b6HzxcoHy8jzx3tbcpAFEjie6fqHtkOqKNGFSz/I0gxQQrCBl3K9xTUpxtR+gu9627K4dRtlnmNYGmuEbmUwbD8hC2eEA1YGIxl6OplBvLTNGn2LT2w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8/ky6xNTMZsPtJqs+G0FPbUpPEJSIwt+KtSTelzYcDU=;
 b=4GZnYr6jBDxfET3CO1pQ2JbmLiv1Q0fw5eAUMqYmKNB+/y86OIuWO7FtdUnBtHWAkJ4tSMp7D6gEIN3a2/dDT04jzZE6tte3DilCi4nP5bvVJYGKRhQVwmitZkFG9vhG2Lr1Pe7izSrgneIvufcmHlUrRWbuFaTMGQaWbxaxyP4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iV/s1yhs7KI4xJDubJxwkhtiVMTMjGm8oauHuMu9pwXzyTyoUbeMA9i8hSWTXDUK5i9iCI5XcPAknaSouSmVJRBIAMuEjnZrN6yJ/Ov6lrAdO4wnrssEhOBuvM1wUjHRkK/E+c3K3lSXHjPHHnDBpPNQV0KHyHEPZFhzYV0iP9ielBH/CFnuUF8Okf3bWKsY4XiPgxTdd2HrarZocM3+97r4VabTbkt742HSalS+mlV8EnGw796py3lEk4FQZVpenJf+Vyx4Palq4T21Z+7zAhkvuDcGpmSno1V0GYRSu38MKTUPn8xPhS8PBGFXjCmbJyIvG6cPaOB09JZOfCYp2A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8/ky6xNTMZsPtJqs+G0FPbUpPEJSIwt+KtSTelzYcDU=;
 b=Xnfy7pryMnprOqzp/zKv1XTStaYwJej7a5LSZ6cfBZ1cRvPftYCHdMyrPlY8VtUu5SODUO1KQRpZoTS8riaC1TARiJoUIHH43VpWV4WbDdC58ufQkZe5F7ojEmUPBltnSsqE9Mh6oZe3F97Cn7CEkYk9mJIg06PmZnMoLuTRmweR9D5y48g4TRtoV9BIb6px5usjNx87MeQTD502RFAeEFP69NP7WzqI3kqnnYFyfriwcOy1oLa0z3f4oqAnSpwT77C1lqKKWlToYVWUutH9doCAPNSNOkSUhoUoVwVcwyurwJLTyK/OMaQR4JE/hSCHKRm/iWsdV6om8UeS68Zb/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8/ky6xNTMZsPtJqs+G0FPbUpPEJSIwt+KtSTelzYcDU=;
 b=4GZnYr6jBDxfET3CO1pQ2JbmLiv1Q0fw5eAUMqYmKNB+/y86OIuWO7FtdUnBtHWAkJ4tSMp7D6gEIN3a2/dDT04jzZE6tte3DilCi4nP5bvVJYGKRhQVwmitZkFG9vhG2Lr1Pe7izSrgneIvufcmHlUrRWbuFaTMGQaWbxaxyP4=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	"christopher.clark@starlab.io" <christopher.clark@starlab.io>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Julien Grall <jgrall@amazon.com>, Stefano
 Stabellini <stefano.stabellini@xilinx.com>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jgross@suse.com" <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, "Wei Liu (LSG)"
	<liuwe@microsoft.com>
Subject: RE: Xen 4.17: Current status of series floating in ML
Thread-Topic: Xen 4.17: Current status of series floating in ML
Thread-Index: AdiwaSAsLXrq8BcIQ6OGhWLWfPbjFwAFdOeAAAAtkIAAAGC/AAAAERrA
Date: Mon, 15 Aug 2022 08:37:48 +0000
Message-ID:
 <AS8PR08MB7991FA25A9CFFC62BA3D992E92689@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <AS8PR08MB7991375F9A36B36AE5ADF3E092689@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <c8d7de5e-0d0b-43cb-2b89-d253a2b0b490@xen.org>
 <AS8PR08MB7991B735C93D67084E946D4992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <12c564db-84dc-0b04-1b87-8151e1ac1b8a@xen.org>
In-Reply-To: <12c564db-84dc-0b04-1b87-8151e1ac1b8a@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F406DA9CF4A73E43B4F6325BC9704FD0.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: aa373681-edc6-483b-9060-08da7e99771d
x-ms-traffictypediagnostic:
	AM0PR08MB4130:EE_|AM7EUR03FT062:EE_|AS4PR08MB7480:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 iuOF/9Lf//Vsyug7+iBTsfTMmAfIUZcbgCV7L2OWVdpLW4wgw1IavE7KWnBSwreYZoKp8ye1W1KBrcyVeD9EiJZyZdMTLjyTfGsQBzAGfknojemWA65jZXuiKte2wmZGhlKk5iQOrMOIWTcDWl23SbahGCcSkcssdClk5U2mLPrCLLB4eR1QNxCR1ZAMNvrLmaAV2mRNTSzmWRO3MFZDNCxEzg83Qvvs/BuDEmM9FZdkjarY6DO8AGRKMVZGpPM/s49vnLfBqAFoLMpI7mjV3iTi/3J/WUq3lqLeMCh3Hq6E96lemFSel85UomIL5UFW778nOXmDpwzT0JwvsZe7aWX1ArJ5jJ351IbETr6c2+cQAPd/HlhCPBM6/a3KuHqHN5LfeXXjbIA7agE8R9uMdz39/wcdypMNF8NNQwHDVbYx/RRSquIjWEnEO7V4u/wsbNCBqlY9BEaujfMiILdwqZQn6RHZZGfQcxb3UPYD2sXfN5Q4fQUuo5XwVzeTlJSptec9y5QgetbgMzDT+EiXsOQnLG3KpNhh8qnu8XXtoBeBBWQwgHa6qJMB/lJF3vfrylSkFsyNA/6c2H4Y0tXS0fdimEHy18X3kf0UD6LUiDHUQpX0xlgESgRwnnMLrB+hFyafO/Jzw91XpAv7E9oJ5o0rJaSdTQGdq1OXmpQb+GE2PGPQ/yl+UiT8J9X2HSd6FAeBLAus2Igc4B3/dBa8U2eZFfzKbL7oKwDPhgNXJHKEax935JMtGdI1ZDOdB7cq1qWsIFuPZh52X3yLFmHebasGSdZhtpXduL/pvJmZT5EWcwqL7erNKKEKOuTzJA8YPRGYaNMrjU3PbJA7WuWg7A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(376002)(346002)(396003)(39860400002)(478600001)(38070700005)(6506007)(7696005)(26005)(9686003)(71200400001)(86362001)(186003)(966005)(41300700001)(83380400001)(110136005)(55016003)(66556008)(4326008)(64756008)(66446008)(66946007)(76116006)(5660300002)(8676002)(316002)(54906003)(66476007)(122000001)(52536014)(2906002)(8936002)(7416002)(33656002)(38100700002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4130
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d4b42619-1c49-4a83-1223-08da7e996f69
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ug8B9J1om2BCN2AGs/eH+ITbIkI9alRhJx6vN8wfMKS7qPEhtXqbKN7etP96WqRn+BfnpkNgX3Q+Ca5nwbY5kPIO/3glbNdV451Vnxr113PVj1F2FRm836zvq77zTArDk2MgGKnRaBooMzUPnOCP6MedZjhjJM1pxbpj79YkShIM6LwIb7IfnGmdXbGrWSqoPhqAOn8EeW7+nkXZxL2ncKvOeNUs0KeiMXudGSFTf5WaLxNwaCMGgRwsbsiIgu+eGF2z5v8FsD9sH0mZZHTVSylbb3FWqguPmeqPmSeYHM8RhVn1L/XzEf15nH/204WaUxyTR5e3j9Sg549SXxCDQIeczpS+G0Py3E8iujrXToQa1TLDFPNhJGmQGJS57UNbdO+y1d1fDm7EpLHm3Tbq/nNu5wnBPnP7/+9NLzEBI/JOy9gancRA0+sWyU2qT1elRdIe+I2manqTUTFj9wiOWvKan670hUzkewpy+NSPag89bAM0/JgpaA8gRYyKxA4sC5tyo/AwxDE1de/WKmftdonU2RH5tnz9y2FuFt/7tEYM1+CdDoW/acrVg1RlxgYmdiGRK80IB26lAVOfkKPKa5f1n7XOWzxTThJYqbYx7HP+QxidqZ6IemUBwdNKPlBmWqxaF1oUESerRMovHB0gleDD3ie3IuvWPGbiPTiVtQzZN96McbhtKP/i+HcqHp/tGvBFylykW67T5tR6rahAXLO+VoWowGiX3H95zYmAzuk8/K6Vn9paHEf89Mi6/ITCwJhHMN2ALhOd8ORdzf9fbDgzZ6P92ytLHsV94SRGsdmcgUJ6KZP6HbXJc4vAp7QIYnHb4Iv7NBR7h5nXbJCMrQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(346002)(136003)(396003)(40470700004)(46966006)(36840700001)(86362001)(186003)(107886003)(36860700001)(82740400003)(47076005)(9686003)(83380400001)(55016003)(7696005)(33656002)(356005)(6506007)(336012)(81166007)(26005)(316002)(54906003)(478600001)(966005)(41300700001)(8936002)(110136005)(8676002)(52536014)(2906002)(40460700003)(5660300002)(40480700001)(4326008)(82310400005)(70206006)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 08:38:01.9243
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aa373681-edc6-483b-9060-08da7e99771d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7480

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBYZW4gNC4xNzogQ3VycmVu
dCBzdGF0dXMgb2Ygc2VyaWVzIGZsb2F0aW5nIGluIE1MDQo+ID4+PiAqKiBCbG9ja2VyIExpc3Qg
Kio6DQo+ID4+PiAyLiB0b29scy94ZW5zdG9yZTogYWRkIHNvbWUgbmV3IGZlYXR1cmVzIHRvIHRo
ZSBkb2N1bWVudGF0aW9uDQo+ID4+PiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2pl
Y3QveGVuLWRldmVsL2xpc3QvP3Nlcmllcz02NjUwNjQNCj4gPj4+IFN0YXR1czogUGF0Y2ggIzIg
bWVyZ2VkLiBPbmx5IHBhdGNoICM1IGlzIG5vdCBwcm9wZXJseSByZXZpZXdlZC9hY2tlZC4NCj4g
Pj4+IERpc2N1c3Npb24gc2VlbXMgZ29pbmcgb24gYW5kIChwcm9iYWJseT8pIG5lZWRzIGEgcmVz
cGluLg0KPiA+Pg0KPiA+PiBIbW1tLi4uIFdoeSBpcyBpdCBhIGJsb2NrZXI/IFRoaXMgaXMgb25s
eSBkb2N1bWVudGF0aW9uIGFuZCBJIGhhdmVuJ3QNCj4gPj4geWV0IHNlZW4gYW55IGNvZGUgaW1w
bGVtZW50aW5nIHRob3NlIG5ldyBmZWF0dXJlcy4NCj4gPg0KPiA+IFRoaXMgc2VyaWVzIGhhcyBi
ZWVuIGluIG15IGxpc3Qgc2luY2UgdGhlbiA6KSkNCj4gQWghIEkgZm9yZ290LiBXZSByZXZlcnRl
ZCB0aGUgc2VyaWVzIGp1c3QgYWZ0ZXIuIFNvIEp1ZXJnZW4ncyBzZXJpZXMgaXMNCj4gbm90IGEg
Zm9sbG93LXVwIGJ1dCBhIHJlcGxhY2VtZW50Lg0KDQpZZXMgSSBhZ3JlZS4gQWxzbyBzaW5jZSB0
aGUgc2VyaWVzIGlzIGluIGEgZ29vZCBzaGFwZSAod2l0aCBkaXNjdXNzaW9uIG9ubHkgaGFwcGVu
cw0KaW4gcGF0Y2ggIzUgYW5kIHRoZSBvdGhlcnMgcmV2aWV3ZWQpLiBJIHRoaW5rIHdlIGhhdmUg
Y29uZmlkZW5jZSB0byBnZXQgdGhlDQpzZXJpZXMgbWVyZ2VkIGJlZm9yZSB0aGUgcmVsZWFzZS4g
U28gSSB3aWxsIHJlbW92ZSB0aGlzIGZyb20gbXkgYmxvY2tlcnMgbGlzdC4NCg0KS2luZCByZWdh
cmRzLA0KSGVucnkNCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 09:15:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 09:15:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387200.623338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWBc-0004kC-0n; Mon, 15 Aug 2022 09:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387200.623338; Mon, 15 Aug 2022 09:15:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWBb-0004k5-Ts; Mon, 15 Aug 2022 09:15:03 +0000
Received: by outflank-mailman (input) for mailman id 387200;
 Mon, 15 Aug 2022 09:15:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNWBa-0004jz-FE
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 09:15:02 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2087.outbound.protection.outlook.com [40.107.22.87])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd50fc35-1c7a-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 11:15:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB5530.eurprd04.prod.outlook.com (2603:10a6:10:83::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 09:14:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 09:14:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd50fc35-1c7a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NJnSiEDy1hLLPlmJhi8txbl0b3C5RKJJ8i30Q8c7WSAFDk4J6KXQwZjTo/NCesvg0ykSoKBIQmq3fDbA47Lxu1azKx1Afi4l55BJo18VFRqVcoFwebPPPklF4rjQqi3+1EsqS/3O5zG9oZkEehres9RyBZbgJO9C9SxeYRh8Qzc/Yz6KUMTW3TByeIj3wY3gUE9HY1KYLiw+60Pkg2H99EoqgyJKRM+kLxLIDKeYeNh7Ix3dVcDm5oXPTAXF+drgEHpmc7cDj6cahpKSAQiMFah0hPaNfhBHh00Lk0XudxSs/arKwU1ttNRVxb/92h9HbtsCQpLUq201jnIoVN7miA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lzC0JAwU597SlzbW8kNe98VRsqaeSs3CJOR0vLMwlGc=;
 b=AUb5brgUqiygXT76f0ZaWrhBlOD7Yvprd7HoEJHR7Hi3NHLvM0l6qjHDVS7EgQq1u9FeTVOnvM/OsEVwlbpkevIiiox6g8++uY2lbrhgvEHBCAhQkmiruBdd1gLThE025ZNkl1HJl8MlYBfoM578emvD7+UMxENyd/u0K2Dg2rUa5qZV2posZvACfIK0xN4dNIRZBReHGGHQDfqhv6gu5xGF1uYznAxxpxn/dwwGk8xDG+MhciPw3gR+HCtXXocM9NZJydAGjL/DwWn1Z3u0zewLeGgQDr+kkSSnZ5q4dQDkPwZ0ysvzz8/TJTvGdylcbdOQqwZf9nndEt0Hl8TCtw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lzC0JAwU597SlzbW8kNe98VRsqaeSs3CJOR0vLMwlGc=;
 b=tquDA6EfWyXgYxY2nK9tK59w5fltPnYBeTbWKV3m7f3nY/yEbxYRHI1E3yOteHFp1JeZ5lw97x9dX+iNJvcOZXcnM3vuC4qBGMFhEo7HokuvUctaKFOVq/8EjZ5PIP+fP1CuvV8GMR6qOcI9Pl8PdHcegE9WBJ33u1NdHn+YvWHuZM3suRfA71/KyJSgCYNP8dXvOPjhSlVxKbQ0XHQIaNiXoMrJ8GFmMc+OB6D2QXRrZSSacU/hYYyl2OPq0out87ATms6EIK4DuWC73EA4o4UQU0MdlhPARJVJdiyhbmqipXxzutxxdiReG2YUqPm8eLdUcEtgW/0kP2GKnSJeWQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3a975638-9675-9a95-fead-91120edefee1@suse.com>
Date: Mon, 15 Aug 2022 11:14:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v6 0/3] amd/msr: implement MSR_VIRT_SPEC_CTRL for HVM
 guests
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Roger Pau Monne <roger.pau@citrix.com>
References: <20220517153127.40276-1-roger.pau@citrix.com>
 <53cc6a9f-5a4e-0716-fe08-ad86fc155cbf@suse.com>
 <1dbab710-6d3c-a6cb-faa7-31558c04aab2@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1dbab710-6d3c-a6cb-faa7-31558c04aab2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0070.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5d244d68-5e5a-40fa-908c-08da7e9ea002
X-MS-TrafficTypeDiagnostic: DB7PR04MB5530:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	klXbjnD/8THL+a8nkg4S7ngcsz8+9ylzaJ6bpFmPKmq3e/np90cRA2DubXOv1/1gvG5tdoHtc47jaJL2gFuS4565u8jBbXOdFI9Hu8LyM/S0wiltOZH5oYCy4nzpaMWui5oBtM62pVkPR9BOPZXYRq7tIFgLCYHwSDIShquwly56ppQsRNi+J2Y8CNHBRZU+lg1M2aMDqmQIawSpIgG9o2APbUdn2fgUS/3pIeq971qx3e7z8MlAdNsWI/TwxkJSgIw4RdPXQgJBdGA52//ZgS1RkJ09T9GrsuEr6J1nQCcfbirK6KVGJaiZRRXLolsk6AQ8bhlGZG9JU7vZ7CsuXvVhxOpV/Vi7AfO7qduUowAGm1MgXGQQSyVvEFMmh93FudOAlxAzkTlQ7YSlPheJCVBjyBTY9r+YIbZFvwzEY7Kd9VyM546znGVb+soz+lotAorO21495sPXJChw0GVuKlS7BXv+IYl4jr38JdymS9wWyOh9CvUWSqVIKTj6n9P2/6hDcJYd5uwUtQ4Qw7LVE58G6xDRcqln6075jiR8Wc8CxYZOCgvrCdN3od3hLPxZnCeatG3O1+NUUDCL+Ylw5febjBeVgn5jl0OtJNDXo5jX2uv/9S0FgrWw8SkdfJVr7xAdPdksWiczNhiKw1lmLIdwvGomCcsERFXVww44ox4bn1m1xMJUdlSekpVz+5Ykl3xTIrzzJKxpcFoF+a2hGJiaK0nlpG4rwfi/g6CrO5nV/1Rv8X2+h2GoKCNsrjm0xOlXcmVCcxzKUInAOUv4NuiTgJQ2JaAAu/B4GP3LERsN21fZoZ7YU18NjHnliY0QR8ElbFHSw0aCM04oeQ/lNQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(376002)(136003)(366004)(39850400004)(31686004)(5660300002)(6512007)(83380400001)(2616005)(186003)(54906003)(316002)(6916009)(66946007)(38100700002)(478600001)(36756003)(6486002)(4326008)(8676002)(66476007)(66556008)(8936002)(2906002)(41300700001)(26005)(86362001)(31696002)(6506007)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmI0TmYyYzJCVUdwenRRUWMvYmJhankxaWJaSE01cGc2ald5QXlVeFg1bTFY?=
 =?utf-8?B?Y1Bxa01TbnFQZ1NqZ0pMN1pNWlBOUVF2OVFLVnBsUlNxZE00c0RidDRFVzIy?=
 =?utf-8?B?OVdVa2lCSEZFMUFCcWN3UzNDZGZaYXIxbXFNVlh3N3RTWnBYSjVqYldZaEhZ?=
 =?utf-8?B?eGhncURudENQNFk3S2lTT2hQZXd2OWpweUdGN2M2MUFWUlFvUG04dGJyT3d3?=
 =?utf-8?B?UTFCZ3hoYVdDUkN0S0RKNk93bHlGVVNWZDc5WUZaQVZGMnlGbUlhcFdyVStv?=
 =?utf-8?B?UFllSmszZndVcU04U0tERXFyV2pXcEl3Vy93S0JFUVZSV2x2c29waTVUWG5Z?=
 =?utf-8?B?NmRSalN3S1F0b0JabnBQRWJqMlRyK1VVeWM5NDc3TlRvWTdDMnRIa0RpaE5X?=
 =?utf-8?B?WWg5b3BqK2pmRzJzQnpUcUNoYWJWREVjR21KYzBpc2ZwYjJTdmphSjNRMjZ0?=
 =?utf-8?B?dlVOcHBTdkhrYWtnVEVWeG1xcSt3VGJDSm9FeDlROFViRnBTUVpPR0pPNUxY?=
 =?utf-8?B?eno1V0M1YXNESFpEbkZvdW5UY2luUU9rM3J0NVA2cldqdFZXdHdHM0JHd214?=
 =?utf-8?B?cGhhVVF4ZmZIa3BWaW5aZHN0Z3FVbXFZc0p6anJuVzBJUlI4enh1VTZ2TTlI?=
 =?utf-8?B?V0QrZ0RkNFdoWUhvcSt2N2YwYnRCa2FONy9EclQ0bjI4aWZFK2FhcENnN2ts?=
 =?utf-8?B?cWRlYUxPZWNTQmJ6Q2hFM1dDTFpZZHk3ejZXcGt3QzU3SlBHYXFIc2ZjR3B0?=
 =?utf-8?B?aW9TNCtDVUQrQnYrYjBVU3NZYllEUjNKRVJWbmsvV0w4bVhkQ1hMc2J6aU9i?=
 =?utf-8?B?K3JISzl1d01zc2RGVllXNzdqTmdKb1Y2dGhVbGJmV3ZSYzluaWk1NFBRYXpx?=
 =?utf-8?B?VlMvZ2JWblgwMGJIN1lYZnBOZHBxbVV0Tkl5aFd2c3pSdGZnT2pTL0RlbCt2?=
 =?utf-8?B?TkIzWjAxUUtkYi9vb1cweFFPVlpxQjQ2dkE0a0dSNm9GWktnRUgxT09iWVhI?=
 =?utf-8?B?Q2hnT2MrcmtTTUlVOUQwOXNSeS9lOGp6WUROVkZkVUtZZDBIdHRIdlBqVEN0?=
 =?utf-8?B?amJ2Vk9HZ01yK1I4RkZJaGlsRWpGbGV0TjJwS010TXhWcm84VjZJTkIvY3d0?=
 =?utf-8?B?bGJzWVZtSGNlR0hJcjMwekw0NnVvWiswbTNCbzNtOEhvR2tqbzVHVXB3ZUty?=
 =?utf-8?B?YmFJZTdESTJkVDlRU3lyWjJlc1ozak8xZHJTSlFUQlM3OHZxWEJSOTlwMXVy?=
 =?utf-8?B?dHFIUmgxSUNMRFRSSEg1SVdlSWxMU1dZR3dIb2lYaWI5T3M0Q2JDOG11UEtw?=
 =?utf-8?B?U01xaHNXd1kybzhOTTlLbVdVUllrQVo3U1ZYSXZST3FmWEdqdnhwZU1TaTgw?=
 =?utf-8?B?WS9YenNMWFhIdWZ4dG1Ea3ZObXZzR0s2dDFxM3dxTkNnbGVEckk0bDgxcERa?=
 =?utf-8?B?SzhMUnZXV25WT3Y0eENFeU5Rbm1WR0hObDN4Wml2bWtjbk94SXZpQWRkQmZm?=
 =?utf-8?B?UmZ2K1IxQWVoYzFUTzhMaVlaYTl6d2t1b2djZW9vNGQ1WFBBM2hYaUl1ZGRK?=
 =?utf-8?B?aEpVQWxsR3N6WWRRRzZVc0ZQc3JVWFh6MEUyVEFsM002YWdqUVR4dFMyVEJn?=
 =?utf-8?B?Qk05WEEwNzJvdk9tM2ZOSGxpRnBQK1JBbnh2T0tNUXZ1Q25PdS8rQWEyeVZp?=
 =?utf-8?B?WkE5WkZ1ckZ3VTloZTJLNUVQd3hvYUZvb0ExRFAvMWZ1dHJsNUFjQm1tbklB?=
 =?utf-8?B?ZmJxZGlkNTB3L3dBWGEyeTkrTW9wNXFhNlNkeFc1cmhvZ0w2UVFvbGtxQ2JX?=
 =?utf-8?B?ZTdoTWxmNjg3bzF4L21KdDRObXRhU0dmN3M4TExwWEFmRDBtQkpNTm5xamxY?=
 =?utf-8?B?QVp3SGE1ZlBFSFY1ck1EL2lBRFJJUUdIUWE3d3R0elJnZWtHVDBNNXh4TFZF?=
 =?utf-8?B?a2dLd1dJVThjdjcvek56MVZNYVVBN2RWdzU0b2lFSTdGbTEyTzJwelZaVTlr?=
 =?utf-8?B?NXRUK056WWx6NCtkdHlFSmVTRTRMRUxOYnoyekVBZS9kMko5SGFXWlVrUWdI?=
 =?utf-8?B?TzBWOEtSQi80Y2VMdGMvdDJ6REF0b3M0Qzdwck1KOGN3T21JUjhYZEExTGQ1?=
 =?utf-8?Q?Ohcpd/oIudKKTg6Eeeih5z1tR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d244d68-5e5a-40fa-908c-08da7e9ea002
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:14:58.1895
 (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: gsCKge6p0PHzDPEMJ3UFBKYBTqK7fNNsuiqZt5ZgkVRDBnXAea3QNDpxV3g+ZL2pM5zUiPm3uX3OXXA1WHHxXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5530

On 15.08.2022 10:15, Andrew Cooper wrote:
> On 15/08/2022 09:01, Jan Beulich wrote:
>> On 17.05.2022 17:31, Roger Pau Monne wrote:
>>> Roger Pau Monne (3):
>>>   amd/msr: implement VIRT_SPEC_CTRL for HVM guests on top of SPEC_CTRL
>>>   amd/msr: allow passthrough of VIRT_SPEC_CTRL for HVM guests
>>>   amd/msr: implement VIRT_SPEC_CTRL for HVM guests using legacy SSBD
>> I came to realize that I had announced that I would commit this about a
>> month ago. I've done so now, but there was quite a bit of re-basing
>> necessary, to a fair degree because of this delay that I did introduce
>> by oversight. I hope I didn't screw up anywhere.
> 
> Revert them, or I will.

There is no basis for reverting, at this point at least. May I remind
you of the fact that Xen is a community project? I know you've done
reverts in the past without even waiting for a discussion to settle,
but this wasn't okay back then and is not going to be okay this time
round, nor going forward. If you see issues with a series, and in
particular one which is otherwise fully qualified for committing,
you ought to voice these concerns. You cannot expect people to guess
that you're still not happy with the adjustments which were made in
an attempt to address earlier voiced concerns.

> There has not been adequate review or testing.

No adequate review? Am I a 2nd class citizen all of the sudden? In my
reviews I've tried hard to account for the few comments you gave (or
should I say that Roger was able to shake out of you)? Plus I've said
more than once that I would prefer to not commit this without you
having given it a (perhaps just informal) look over. Yet no feedback
ever surfaced. I don't recall you going ...

> Patch 2 in particular is firmly nacked, because the only thing I have
> ever suggested in that area is deleting the patch.

... this far (and in particular not for the later versions of the
series), but I do recall Roger re-working the patch to (try to)
address your concerns. Going from just my mailbox (which goes back
only to v3) I see no replies from you _at all_ on this patch. There
was a longish reply to 0/3, but nothing on v4 or newer, despite
pings which were sent your way.

Knowing this has happened in the past - is your reaction based on v6
or rather on the last version you've actually looked at (presumably
v3)?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 09:32:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 09:32:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387209.623353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWSa-00075E-HS; Mon, 15 Aug 2022 09:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387209.623353; Mon, 15 Aug 2022 09:32:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWSa-000757-Dp; Mon, 15 Aug 2022 09:32:36 +0000
Received: by outflank-mailman (input) for mailman id 387209;
 Mon, 15 Aug 2022 09:32:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWSZ-00074x-E2; Mon, 15 Aug 2022 09:32:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWSZ-0001Ib-Bm; Mon, 15 Aug 2022 09:32:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWSZ-0003tO-0G; Mon, 15 Aug 2022 09:32:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWSY-0000FH-W3; Mon, 15 Aug 2022 09:32:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MvEH7S9rcXJnXQ2byYaEJZfIG5HrSM+1qVVMQnTtkPE=; b=0RscY8swtzMpz9yGa3LcOxKNq5
	6YHKdHvjR6rKEq6LXAdq/4KKn3RbtLjo+mKmbajF0shseSS45CQ0swysCGhLzuPS7VEp3AsQ8vIuT
	5BT3oCw7PuzdwFkVr0egRSgSjq9mRtGI06t0tf5YpKD+h6IHmAhASH2CnmbPpqMkBs3s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172537-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172537: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=803ed060ee2b22cc136ae97308d494a9d6716947
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 09:32:34 +0000

flight 172537 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172537/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 803ed060ee2b22cc136ae97308d494a9d6716947
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   11 days
Failing since        172151  2022-08-05 02:40:28 Z   10 days   96 attempts
Testing same since   172533  2022-08-15 05:42:57 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 614 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 09:33:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 09:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387216.623364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWTb-0007db-Qu; Mon, 15 Aug 2022 09:33:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387216.623364; Mon, 15 Aug 2022 09:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWTb-0007dU-OB; Mon, 15 Aug 2022 09:33:39 +0000
Received: by outflank-mailman (input) for mailman id 387216;
 Mon, 15 Aug 2022 09:33:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z+x6=YT=citrix.com=prvs=219f4dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oNWTZ-0007dM-LU
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 09:33:37 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 549638d9-1c7d-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 11:33:35 +0200 (CEST)
Received: from mail-mw2nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Aug 2022 05:33:28 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5215.namprd03.prod.outlook.com (2603:10b6:208:1e7::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 09:33:23 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 09:33:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 549638d9-1c7d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660556015;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=8p54DIdYnoguQxyGemrB9b70hfH0YEL8q59qYyx8NVQ=;
  b=TY+Q1JcwRejoJan/pUKDL20yRwJJIgL9qVPpzrvcPncopfjAyx0zv2bU
   BwxcU0OaKKzpSv8CJP7HJkucn+YdwLQ3+5xf1KOf8YbYJ6v7TyocbzWBr
   20814+G+GIH0zgmHvKl/O1mgfz2eXTMluPzaYqo9Fhvt/Z3p1NBd3jqpp
   4=;
X-IronPort-RemoteIP: 104.47.55.103
X-IronPort-MID: 77846276
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1ToN4qMepHnPrubvrR28lsFynXyQoLVcMsEvi/4bfWQNrUohgWcHy
 DYYXziPOqqOYTbzctwlO4S/9xxV6sWGn9VjGQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/ve8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPIzalfBV5pOrFI0blWPG9c+
 9cGa2wSO0Xra+KemNpXS8FKr+F6dIzOA9lavXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rr1wCCnKFW0q3rMzUYzy0HVwBZ8z/7GN93Nd8bRbc5UglyZt
 iTN+GGR7hQya4PPlWTfrSzEaunn2n/1ZKYgGOWC8/9Pr1rDyzIsD1oSbA7uyRW+ogvkMz5FE
 GQW8Cczqak59GSwU8LwGRa/pRasoRo0S9dWVeog52ml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2IB5UlqY/7aQ6DatYy4cKDZaYTdeFFNepd7+vIs0kxTDCM55F7K4hcH0Hje2x
 C2WqC85hPMYistjO7iHwG0rSgmE/vDhJjPZLC2NNo55xmuVvLKYWrE=
IronPort-HdrOrdr: A9a23:5johXq3CGqnDQ8WmK8k8YQqjBZpxeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ4uxpOMG7MBDhHQYc2/hdAV7QZnidhILOFvAv0WKC+UyrJ8SazIJgPM
 hbAs9D4bHLbGSSyPyKmDVQcOxQj+VvkprY49s2pk0FJW4FV0gj1XYBNu/xKDwVeOAyP+tcKH
 Pq3Lsjm9PPQxQqR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LoSK05KX8Gx242A5bdz9U278t/U
 XMjgS8v8yYwrCG4y6Z81WWw4VdmdPnxNcGLMuQivINIjGpphe0aJ9nU7iiuilwhO208l4lnP
 TFvh9lFcVu7HH6eH2zvHLWqkfd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ
 g7nF6xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklUqvoXRiKrbzPIt
 MeS/0018wmN29yqEqp51WH9ebcGkjb2C32GnTq9PbliAS+10oJsnfwjPZv4kvosqhNC6Wsrt
 60TJiB3tt1P7ArRLM4C+EbTcStDGvRBRrKLWKJOFziULoKInTXtvfMkfwIDcyRCes1JaEJ6e
 L8eUIdsXR3d1PlCMWI0pEO+hfRQH+lVTCozs1F/ZB2trD1WbKuaES4ORsTutrlp+9aDtzQWv
 61Np4TC/j/LXH2EYIM2wHlQZFdJXQXTcVQsNcmXFCFpN7NN+TRx6TmWeeWIKCoHScvW2v5DH
 dGVD/vJN9Y5kTuQXP8iAi5YQKYRqU+x+MELEH3xZli9GFWDPw8juE8syXL2uibbTtfr6cxYE
 xyZLv6j6LTnxjFwVr1
X-IronPort-AV: E=Sophos;i="5.93,238,1654574400"; 
   d="scan'208";a="77846276"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NI2YiHng/8hxI25CJoa4RjclngURjFNzK2oQ0jydwkVSeDXP3PiMaGmwvFanfAFvxXsi49aqwYf2WqscY1W6+hREyT2/9dO7UZdSUhbN8G4qdMUH0o+jzIPmcAE2UFU0UMhHA2T4LmOy32KJO3BKhlCE26AeILSZotLmDFx+Nca9QKDCg8WZSXleAbbX+R61ei4LdnqltwVgKOK2V+vvcwyCICVmgBg3d2DPuH1K1OePTThO4J0JypoZfSkYhXh0CU+UECDsgw3X/BOEDX+1xqXvdDFOLOnS19voD0Mv1ihjsWARIOBB8614a8wOJPPkTGgngfNYgjvAZVyxLz31Aw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8p54DIdYnoguQxyGemrB9b70hfH0YEL8q59qYyx8NVQ=;
 b=HmPR+fhesmybSQ2ajRhT8L6OGEk8fX9NgvpSnUjNSUw9BGkayWxiUztCEgSP5XL2XPoKbM6b2jIgF7bGtWufvCv7hTUIS+t1M2JEEFOXBwcB4byhg8tTy0H1fe+/Z1iG0PXGJQS8Mu8hS3GnmXZ8j6WQpAPKPwD8ZY0ReIcbURiYRTV6q6gGpN6uzNBFwPgpCEF6FqeisRgUTty0SPfziDtazh3H5SQCIDnNaTokQ43iKIdnSuSq4alZ1KqUUdnzOQX212xv20jZzDmmQ/WduTWPUbkBJUuiAWZ4x7ycYZJ/V2K575f9en+QMLCI+Aqsu2CE9AVe3WSFmegVkxZU7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8p54DIdYnoguQxyGemrB9b70hfH0YEL8q59qYyx8NVQ=;
 b=LhsmESjDmRWqeceoq/pA3xZh3WgLkN6PgWvOuQBxrhEXfRET8o2C4+207lpm2SA/YC3YHesr3M0pQVuAmjOG0ChTEngbkZ+Zvymp/M0kZ8Vs//pUA+4OUElmACKVhOgfigS+iiEm5V17ZRbJpIQMU5huk1SBO1vrwzVowhiHkOM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/spec-ctrl: Use IST RSB protection for !SVM systems
Thread-Topic: [PATCH] x86/spec-ctrl: Use IST RSB protection for !SVM systems
Thread-Index: AQHYqLeEZxQkjHD9vkKlqX0DT1YSA62vsBsAgAASlQA=
Date: Mon, 15 Aug 2022 09:33:23 +0000
Message-ID: <8ff66724-8cf2-9f1a-c8aa-2ab1d4d33247@citrix.com>
References: <20220805103814.23032-1-andrew.cooper3@citrix.com>
 <6c8fd8b4-85ed-6599-5761-a3f6e9fdeb36@suse.com>
In-Reply-To: <6c8fd8b4-85ed-6599-5761-a3f6e9fdeb36@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e435aac0-c842-4f12-79be-08da7ea132a9
x-ms-traffictypediagnostic: MN2PR03MB5215:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 kUTG0o1MxHqbAhP6Dn7/8/03ibxAJsjcnKD+O6UctqpEGRSD+UV0aWWQTlDekCQTZ5+BnJ5WqSJOAqXViP2++b/2fKbo2j0nh7J2rf9gbTqvDlMudBA5i7VgQzlAUxH4YYgwiORSDpKCRVHEck88vfSRNvRkDPqFDwI2IneWOEK/Qm617mBNiKaEOBMOp9iHMlMVboyd0SOcLoMJhF1Xb3oDpQpAA1FuJ4yaFKPVL8ACMZvt4F23TaVrK3u76Ssea0zuOx3ozNNvJf5xDs+vIAzHDj0qt7aIc6r8IHqlaJJOVl18NntwWN0+hqweQoxBVf1iyvbO+UXYB0JWeIYDTGnEHLc9Y7l2KCm+dy9cfz1D6z62bW0O5/94dmYZH4qy8wwSrNJ22WM9HGhZ+6W1OBwLhBp2VbeGFox9K4EvL4hTkLLBKV67uAGVlNq02cfIDxmEyioiHG6gQPho1IUbOZ7GXcq07PtKhaaiMm9kCxhzISVQWtxK/adji//AXFQzt4m1nWLsfCh2CBkOE5jTvivDlJKjhAb+w8/4GGA6tT65u6Ls74BBPyIxPOHQb7AZydccDM3zt9jvRWLlpL0R9HypztRvdbn3nNsRNAHx6NHJtEuKqUTtsVk9W+ekhzQMFX/Oz0gMyQIATYUXPz+MW17d+pL5salgAb6wsSm7RAyGSzMIr8ASfpc1RuTC1tErzedacmgKwvKGyurFGBHcSkyO/bQsfYAi/7lFKfajYLnFkNWHCgn79tN09bXU+uSA5mQ2CvdYFvtT1JnZzfr/0HTFi7bKxhxL/TP2zAS3kyNL4+ZsRJeM0p/xmjfj2IHyxx5/Ui1cG4v1Hl8x+2XkiKJYkaDS9WRobhfx2/lrdEhH73cXV7eiY864iiayamCb
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(376002)(39860400002)(136003)(366004)(54906003)(36756003)(71200400001)(2616005)(6916009)(41300700001)(6512007)(186003)(31686004)(26005)(2906002)(86362001)(66476007)(66556008)(8676002)(4326008)(66446008)(64756008)(82960400001)(66946007)(122000001)(8936002)(31696002)(38100700002)(316002)(91956017)(53546011)(76116006)(478600001)(6506007)(38070700005)(6486002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bVZrMWc3MFBUTmxMbjJwbDB1d1hUeU1jMk1yMDM5MVlLdjQ3SFZwYTBSVDJE?=
 =?utf-8?B?clppQ3pKOWhpTU5GSldDZDZrOWIwU1lCTEgwa3ZveWxhM1hwVWZUVHQyVFVR?=
 =?utf-8?B?Y2VmdWFSY1ozeUNnLy9HVXg3MzFqT0d2bVdwYUQvQnNzcFRyaGxiQ3pEdjU0?=
 =?utf-8?B?ZThTVkFvVlpZTisxRCs0SVY0TlJYOHJoYjEycERWOWVZcUlxaFBXYlJkUHA3?=
 =?utf-8?B?OTdTbnhxSGY5THBTR1Izdm9acFlsUVloNGVENEd6QjZkNUN4TFRJZTBNQ0dr?=
 =?utf-8?B?NlEzaXpFaytQczFua2x4WVcxdFFSNUZOcXlORTFmQU9hKzJ0Nmo4ZDB4d0k0?=
 =?utf-8?B?ZnUyY1ltYUVpWmpheWJxZmlIbXZYRTM2aFcyY2h5MFZvNks5RVI0L3hwcks1?=
 =?utf-8?B?RFR2RXkzRlZUNUU2M1RSK3daMVlxV1hvNVZwNHRlVmRWYnFWRi9uanVMUWxr?=
 =?utf-8?B?NkxkU09uWGhXcC82T1YxYitqa3NybHRCSkxpdWdaTU9RWWJCNFQ5MTJmbjR5?=
 =?utf-8?B?cWFCa1A1STUwN0lPQmJhTVQrZDdyV3BvLzVGL05PSC9DdW5ENEE4eW9KWGdm?=
 =?utf-8?B?d0xiSUVZNzNiWmZXMnFtNzJQbWNOZXFodEsyNUx3bVFqd01uQ2psd2dGWXZS?=
 =?utf-8?B?S2lZWlRYc25tc0RIV05SaFlKZklJT1pNcE9peHhwVnI2eFNmNzVkNUFBSU1l?=
 =?utf-8?B?TDdVZGZDVzhDeEp4aXFMcDN4bXB0QUVuVk1KWVBiZmNGc3ZZRHBpcXlGY0RF?=
 =?utf-8?B?ZS9xQTJCQzQ2d3lpdEJ3Q2hMVXBkekljb2JnNTVqTkh6cHJPS25IQTJ3dSt6?=
 =?utf-8?B?VExtWkpnSHhFdUI5ZS8vaG13QXpTVXpPMC9NVDhMRlk3bTNQRnA3WTBNRVdF?=
 =?utf-8?B?Y2lLQ2wvWXByU1FwMng4UWhQSjlnY0k2YVJabDJ4L0xOVVJWQmFpemgzdytN?=
 =?utf-8?B?dFVCeVRkTzcwMkhpQ2lLakxuNk9wcDBhSXZOTnNXS1FnQlpySURCZGh1QTND?=
 =?utf-8?B?S0ZMbzFVQ2NJaWNyRVpvV0JLS2Q1c2ZtZDhVNHpSSFdxYzl2cjZmZThKc3ZB?=
 =?utf-8?B?OGJqdWVGc3BRM29TS01FS0MxV1FvSVR0N1BaN1BHZ1ZFYTR0OXFKdDZad2FN?=
 =?utf-8?B?U1RXZDZlSmJjZGN2S1Y4SVBxZ3VrL2JkTXJYcUlzeXhSYVF1Qys0Si9iTU4w?=
 =?utf-8?B?ZDZrakxGNmUxQ1hWaEw2YVI5TUt0QktaTm9QVnJ6OVU0cnBKRGtFbi9nVmlm?=
 =?utf-8?B?dThnRThUMVp4a1NxcnFKVlFqdlh1OUZlZzFjNVpYUmxDQmtFWUhGN2NreXlZ?=
 =?utf-8?B?amg3TEdEZVAvdXIzdHNJWll1OUVxME40QjYyYzJlU1hQZTRHU1gwN29LQ01Q?=
 =?utf-8?B?VXJxU3JNSk55bjhudlFSTHhPbU5TbHJUcEF4cVVwTkljM0pqdkdlRGYxbTJN?=
 =?utf-8?B?bHFyVjByNk1KUGpNMEhZS1YrRHdsOEtlUEpmQzBOMXVQaDhpdFNSSkxmTkRS?=
 =?utf-8?B?eW00cytWUU9EaEIxbGJTL25valpUL3l2MEJBclJZcXRmRjVJTFY5VS9MN2hv?=
 =?utf-8?B?T3VQb05aR1lxRW9MUkZoS1QrZ25KYTduQlprNnByc3lDSWx3MDFmaFFkNGg4?=
 =?utf-8?B?TlVxcTNMTU45d1VaSUpYTElxTkxoM2U2ZE42Vzl6TUFSdkJlOGxZT3FmK3Ur?=
 =?utf-8?B?T041UG5NdWpmT3RXSVFIRUo2V0gyczZlQmtiejEybWhoMnVGS3NUY0NJaWls?=
 =?utf-8?B?UmtJK2tyeERjUDVlajBpbUJUNExuNHRnUE9tRFJIeWFwK1E0cUtVeEFkS0tk?=
 =?utf-8?B?cGlUcVdJdDdEeW9rT0U1RElHMnpVSURTZUNsYWxBQXcvanJoSzlUdHVucDZM?=
 =?utf-8?B?VHdVR0FUcHJpYkZYS1NXbzVkRm5RQUVUa3FjUGYwd2RaNVF3aXdjRkVLNDVw?=
 =?utf-8?B?L1V5UjRUNkRKYjhhWTVCSTd6TGh0cndseElhNCt0WW0yemx4a3dlY2FRQVpQ?=
 =?utf-8?B?R2U1VXZ3NUtmSitxaEg1bE9yRk9TNUo4WnJ4ZUpwTncrS3NCRml4YzN1Wk5p?=
 =?utf-8?B?L0JxMUZJRlRpUzNPeWtYcURuL1pxUzFYS0FjN0UxaUIxb0NyZDlhUWhDakxp?=
 =?utf-8?Q?iV3cr5kVkfc4snlR9i6HkOdhP?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <91603ABD24F28342BBACC7193CB63CCF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	g1fSPacX8JETDH4tCWFtldXSamG6AwVE+NHN2UET4g0zNkO8wOBoFKyZJENVxM8Fxz4NUQO7wmlN+0tdnevDZuGmoVsd3vkYuyiDWjdpRGqN/6ZtgkQJ9XAMaXd14mgK8vYmNHF/x4wdDtEZOFLyBGLzbZKVcHkxfsZ6pIGH13MyyduaSg9zKYh7P5s/WbhfqSLMSP0mnS6rWyx2ncZqikxp0iG0JNlvg0cyQP9fhpbhqhUvFr4oLt/NUptySHvaNuPgEIXftpep+aE50kDBxWVde0Mx2Srjj57RDaTG4dG1yhIZjaYxl2gyy7XN/GA+QohJf7inEkkCUD0YDiKXu6EPGp8x1VZXLW2FOotwDaN2Spo0zGJ4EX9sXf0QjuWJuBvoBkIuPI09yznARdS5c5ewSiIVQCUpup4zTtJdw6NsCoGL5rHxBPHoH9Nkqz+gs/0VfJk44/V1KXYEDJIfJMQqUHdCG0UVJ+vHyx0bxFmhZvOaksID/eFaCUDjN5M0lBaSoFtc6xTOex8frNfvurB7hjkyqWkGcHWoJY1vqV92IVyZVwYPHJuhDH1TtjEyI0BMrAS2m0vQ29wNBd2cBfFPY36R8EamLD3QdBCqNJl5s2dteyWurSZS+27B1SCfwyzi+EMOnHafx7dXQ6GoV9t3TVx3m4diU4SX3TrWnKFLUSc/Y1ebv9cR6ZUAQG8UeUVEYPVhTw5Sm042ZkF2gvnuUuVXFVSciUaJ5nnitJpGcN7ozoVcU1WvMnW972nyk/dx+BB8lcNDiBGElElwsWqJ099ZGuFjyWFkDk0WWDDrWtKgNnzxR9nW3nyLFGcS
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e435aac0-c842-4f12-79be-08da7ea132a9
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Aug 2022 09:33:23.0679
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8cbZDT8IsrXXe+G1Rwvp/X7zrDtXpcL8Q5lTpFei7ReajgmMhWRsWki6AFiBllgtzy/YabLPBXUt4spI3fZGBioZlBT6TcBekaqe90jzD0c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5215

T24gMTUvMDgvMjAyMiAwOToyNiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDA1LjA4LjIwMjIg
MTI6MzgsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvc3BlY19j
dHJsLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYw0KPj4gQEAgLTEzMjcsOCAr
MTMyNywyNCBAQCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25zKHZvaWQp
DQo+PiAgICAgICAqIG1hcHBpbmdzLg0KPj4gICAgICAgKi8NCj4+ICAgICAgaWYgKCBvcHRfcnNi
X2h2bSApDQo+PiArICAgIHsNCj4+ICAgICAgICAgIHNldHVwX2ZvcmNlX2NwdV9jYXAoWDg2X0ZF
QVRVUkVfU0NfUlNCX0hWTSk7DQo+PiAgDQo+PiArICAgICAgICAvKg0KPj4gKyAgICAgICAgICog
Rm9yIFNWTSwgWGVuJ3MgUlNCIHNhZmV0eSBhY3Rpb25zIGFyZSBwZXJmb3JtZWQgYmVmb3JlIFNU
R0ksIHNvDQo+PiArICAgICAgICAgKiBiZWhhdmUgYXRvbWljYWxseSB3aXRoIHJlc3BlY3QgdG8g
SVNUIHNvdXJjZXMuDQo+PiArICAgICAgICAgKg0KPj4gKyAgICAgICAgICogRm9yIFZULXgsIE5N
SXMgYXJlIGF0b21pYyB3aXRoIFZNRXhpdCAodGhlIE5NSSBnZXRzIHF1ZXVlZCBidXQgbm90DQo+
PiArICAgICAgICAgKiBkZWxpdmVyZWQpIHdoZXJlYXMgb3RoZXIgSVNUIHNvdXJjZXMgYXJlIG5v
dCBhdG9taWMuICBTcGVjaWZpY2FsbHksDQo+PiArICAgICAgICAgKiAjTUMgY2FuIGhpdCBhaGVh
ZCB0aGUgUlNCIHNhZmV0eSBhY3Rpb24gaW4gdGhlIHZtZXhpdCBwYXRoLg0KPj4gKyAgICAgICAg
ICoNCj4+ICsgICAgICAgICAqIFRoZXJlZm9yZSwgaXQgaXMgbmVjZXNzYXJ5IGZvciB0aGUgSVNU
IGxvZ2ljIHRvIHByb3RlY3QgWGVuIGFnYWluc3QNCj4+ICsgICAgICAgICAqIHBvc3NpYmxlIHJv
Z3VlIFJTQiBzcGVjdWxhdGlvbi4NCj4+ICsgICAgICAgICAqLw0KPj4gKyAgICAgICAgaWYgKCAh
Y3B1X2hhc19zdm0gKQ0KPj4gKyAgICAgICAgICAgIGRlZmF1bHRfc3BlY19jdHJsX2ZsYWdzIHw9
IFNDRl9pc3RfcnNiOw0KPiBPbmx5IG5vdywgd2hlbiBJJ20gYWJvdXQgdG8gYmFja3BvcnQgdGhp
cywgaXQgb2NjdXJzIHRvIG1lIHRvIGFzazogV2h5DQo+IGlzIHRoaXMgIWNwdV9oYXNfc3ZtIHJh
dGhlciB0aGFuIGNwdV9oYXNfdm14Pw0KDQpCZWNhdXNlIGl0IGlzIG9ubHkgU1ZNIGtub3duIHRv
IGJlIHNhZmUuDQoNCj4gUGx1cyBzaG91bGRuJ3QgdGhpcyBmdXJ0aGVyDQo+IGJlIGdhdGVkIHVw
b24gSFZNIGFjdHVhbGx5IGJlaW5nIGluIHVzZSAoaS5lLiBpbiBwYXJ0aWN1bGFyIENPTkZJR19I
Vk09eQ0KPiBpbiB0aGUgZmlyc3QgcGxhY2UpPw0KDQpQZXJoYXBzLCBidXQgbm90IGxvY2FsbHkg
aGVyZS7CoCBBbGwgb2YgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0aW9ucygpDQp3YW50cyByZWNv
bnNpZGVyaW5nIGlmIHlvdSdyZSBnb2luZyBkb3duIHRoYXQgcm91dGUuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 09:41:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 09:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387227.623375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWb4-0000lV-QZ; Mon, 15 Aug 2022 09:41:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387227.623375; Mon, 15 Aug 2022 09:41:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWb4-0000lO-Nq; Mon, 15 Aug 2022 09:41:22 +0000
Received: by outflank-mailman (input) for mailman id 387227;
 Mon, 15 Aug 2022 09:41:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNWb3-0000lD-Gb
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 09:41:21 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2049.outbound.protection.outlook.com [40.107.21.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a62bce2-1c7e-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 11:41:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM5PR04MB3041.eurprd04.prod.outlook.com (2603:10a6:206:4::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 09:41:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 09:41:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a62bce2-1c7e-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DnpCyDEZxhKfkT/NlAHLiDus7dO4OxJoS/Q46hgeXSXhYh4X+VwpPkJoPzDmVXk+WXvwAXV8tKPclsElovLui8EVyvx81AdTlUrdoHVvBXCiBcIr6Gz5agcDZ9iqtzHJETKILcRtvu1CSrk2tCFM4Zr8CPpv1WYvAKXLzQg1T1ONgl2AZkKtxvaIa3kkLj8FOTxx3yKy191ZYFuuAk2+NOkdqBnD19Hip9bUYOaH52NDxO0iN7h4cYWTXiqsldo9XT4U3GRalkCfFzaRVJ//Acf/u11KvCx1j+7o3SBMv3RFdIQCaFASXVsiKmZ7GEYpCcn9eqgrzypD6Rh5czphzg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EAmZU7r6p+ZUJIoGKvwTzYYqCVvA8CxEB6Rz/NTzT3c=;
 b=bRmV2ZYgwKaYQchS3/KRM7YvycW+a4DyH5ODbdoShbJuyWHNjpyoVaIUfz8kbDkxyHFZNn+7NDBsD5qz9hmDCRTlxEB/Aws8dmj9LWtW9JJ+bJvdFANt+64+vyHFRq0yYqChPgUmr0EBPu0FNjxRdArjPWeyMDuoOXBDgmzQm93TczF6MVQs0yD/NFUElRYc+Q7b4f5fyS4A+NAmhzqLcRjRIFLHGzyHirILMxP+R913ZRUJT9lIkHXbGPKwtDzmrahFtmfrYHOycWziwUa3EGrbguT+2CYmANZpP54Xw/aq7lDDk9bXrJPH3O3uhhR0hTS/jpKn1faN+cMxWZkHUw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EAmZU7r6p+ZUJIoGKvwTzYYqCVvA8CxEB6Rz/NTzT3c=;
 b=zuhl3iwWRFg2bk0Ti7nadsCesu9JQbgDesX/9IxTZr5UKxs7UWCaMDx49h3qBrDxPVzlHEhqZHoDD53lmzuz0pmo4mdQHd0a9eENLbLGBeM2KkEg8wa1ohO4ZFNm/0w6acr9+kcISa3SVTBZKMlU0bsHIpAvWeP6B67M44dCD80K+tUdnJ+Cp7Gt4SIzB65ejdaBnEBvmDUMx0v/halxE8Ux9zHmq1NPpYDciARqgGWX+VVm7vX+uCgh2oZbDTTGOf68xW1y1LKXVzGL4DeW48iFPIyZxFuqiMbG73EI7nrbUNwDNoRZkGCu0C8h3iO9gACYF47bsJ8kX0a6u8ORwA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <60389c54-77c2-6dcb-b686-25729b6e91d5@suse.com>
Date: Mon, 15 Aug 2022 11:41:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/spec-ctrl: Use IST RSB protection for !SVM systems
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220805103814.23032-1-andrew.cooper3@citrix.com>
 <6c8fd8b4-85ed-6599-5761-a3f6e9fdeb36@suse.com>
 <8ff66724-8cf2-9f1a-c8aa-2ab1d4d33247@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8ff66724-8cf2-9f1a-c8aa-2ab1d4d33247@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6P191CA0012.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8b::25) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 001d44aa-350d-4e84-9612-08da7ea24d6c
X-MS-TrafficTypeDiagnostic: AM5PR04MB3041:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q4/ETBI88OH6H863xo2ghL8C13pXdls/wepcAzmh+4ZvQQayKqstpxNJZitP/bl2hr9EGsfT24cL8U7Ei8BcBuZswNbbXbNw2iHrEgYJUip+YGS3EXBnB/X4HHmyWSPtRHBbWuylA0ArQrROgBkyd9SiDYSx6DCwyxsPzpk9UZsf/fYyufZpzC9sKdvWJ2FiI8GrwGv+nvwiAoDasa9ceOh8rwrOli+5uQCLIV/Vb3dVaYt2CYhkrS9q05lS/0DlIbAbVo/8Bi6iXW4vxb5RRjVttzZ4SQZwMfYVkirBgVGCNMb8+ZNe3eLls3VsxeMv6nBnKu5x+PDKa0ggomM89ke2QJjq1COOsugIr6lTIvYqLOdtnref3kgezeCjbd+DVW9fnoqhrGdKbeaWRLMYKNTeS/VU5A8LS3LqgDCxUotA/lPLfd8Y1vjrrkwmGFrs+MQ4DvgQB4OpwF5cNCME81GqKEpvjm3aiG+ssfHZh99KIGXJFQkxSgNNZKlv1l9tmS52AclR616LTJ+GcLvimw/brk8M52+W9KOg/lVMpXMUx4Lbho9i5IRqAg5jHiqZLOv2KvDVd6xrwKNG+RYhv+aJaURzdHJKmBaIwSSmax50jMxPg0BzyazmXQkqQ+muWbnaFMS3+cjt6TsCxVt3R2XLGkDx/LPjQgJ/jeG9cWp9yuZ8PxrU6L1Olka+94V+qSr2t8RkmfCaf7KQacrWCO5Wz5jvRrFfTgNtCLSH8c8FLtP5DiJTE6cqwb5pcI1qEvZKDGKlRVTyIZT76q+jo3w6o1uydFAeL271bVHHKfOQjwhP4edfmUUaB9xACrp9eNoNvG2sqFq9T6xvaHk8EA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(346002)(366004)(39860400002)(396003)(6916009)(86362001)(31686004)(36756003)(31696002)(41300700001)(38100700002)(53546011)(6512007)(26005)(2906002)(6506007)(2616005)(186003)(4326008)(66946007)(66476007)(6486002)(8936002)(478600001)(54906003)(316002)(8676002)(5660300002)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFA3Y1BOc3JjN2pzQWxwNXhBa3pBNERQbUdvc0pMV3NxVGFDRDg1N1krcnd5?=
 =?utf-8?B?SU5HeHNpdGVvRU5qcFJFcXhLTWlIejNoSi9mRURweVpsbHZSYm5HN292eGFZ?=
 =?utf-8?B?bUtJMWVQcjJwenhrclAycnlHZ1JWNExyelladUpIa216VzlMcjFsZ2xrdzJK?=
 =?utf-8?B?aDJjTk9INE1UU1pWQk5xS2NuelJmbWFNcW41TXNmWjdNUitIbng2R1NtQWhC?=
 =?utf-8?B?U3RLNnhNN0ZLUmlnRjhpVGtIMkwyVjI4RWxVZWhneStHOUlrV0JuOWVaNWlo?=
 =?utf-8?B?MDd2aWE4bWc5WCsrNDRkVEN6YlFOR3hFUjlYbHgwSDFQNkF0a01BMXZWc1lP?=
 =?utf-8?B?QUdTVU5qQzQzRi8rNURmZ3g0RmNIRGI3cmJlMUEwUzBOZHBMdnpqWHU2Rkw0?=
 =?utf-8?B?ai9DclNHdC9uakZsb2Qrc1VkRndXam9KVGtsZ3JiTUlDbXExRklQUmZHcXNY?=
 =?utf-8?B?UWhPQUc4T0tDaXAvUDNhZzdCSTZmOVNOMDBVTGV5ZHphRDZ3VzdNdXAxWG1q?=
 =?utf-8?B?QWZuSUlXVmZ6RHdIWjNXRm9RZmx1S3dyakZaQlllNGRISXRLc2RmNVBUREtK?=
 =?utf-8?B?Sk1hZTFxOE5wcmZuMTZtR3phYVF4aHN1N0xPYnBtL3ZDRzRITUJ3U2lPV24w?=
 =?utf-8?B?L3BBSGVtZEpjcm9MM0hFb3RLc1RXb01KTjlGSm1yNjZWcTh5aG82WThORTlM?=
 =?utf-8?B?cGZMaStNb0Z4NjA5ak01VXlQb3Jhd0JaZmZqeDVsVldWK2FXelA4WlU4c3dt?=
 =?utf-8?B?ZDJLbGRCNWZoeGpkcFlVTHF6Z0Y0czNNazlwS3l5YVF5c0hqNklwRG13a2s3?=
 =?utf-8?B?eFdQcm9FZG5VOWhXMU5xeGRpVVJvSndKVEFxVHgwK3V3VWhaVmU1S3VPUndE?=
 =?utf-8?B?N2ViejNNN3Q3SXdMcDdvQ253YTJpM3ArWXVCRUwvWlBjSmk2SjJwWkVHTk1X?=
 =?utf-8?B?WmVVajdGREJKbWpBeEtXNkhtNjA0ZVc3eW55cGRXbnJOb0M2eGFrRGxyMmhv?=
 =?utf-8?B?aEsrVU4xd3FIUDBZcjRRZ2Vpd0laOWQyRlVxSE9hQUpuTEdDdVpSK095c01I?=
 =?utf-8?B?ZnNNc0NHdFFnc1BOQUJwMXI3VUR0QU5KbjJ3S0wybzBGbXM3OWx4OHFTSFc0?=
 =?utf-8?B?b2tTeWk3dWJrY2QrYlVYOHgySHRISHh1SFVaYXppM3hROGdZd3RtQy9JU3pw?=
 =?utf-8?B?MFYwUzN4bUtsS2pzWHZTcGdvbDNoUnJtVld3cDZIbko0d2E4UUtPV2hVL1Qy?=
 =?utf-8?B?T2hEUUtTTDV4VlE0aWFxK014YlN6UXJXenliQ2krRnBkWkRnTWJwTXZwd2VN?=
 =?utf-8?B?K1FNVkpsa3NIanpwM1ArZURXUldyUHFwaFptdWNZb3IycVpqUDJHMW5pd3kr?=
 =?utf-8?B?NXFGUW1DbDNaNWxjSHkwUGRGNE5Ja0pDSXVyMVowSnc2N3lxRjk2SHF4SDZX?=
 =?utf-8?B?OTFoZ09SR1F4UVVzbTlCdzh2SmluL1JUYWZJWDRVT3hvcHJySkZpZEpnRzg1?=
 =?utf-8?B?eW85WmltTjk3Z01SMGx2UUVicVN6N2FZaGMrbDNyd0Z5QVloaUdYaGJKdXFx?=
 =?utf-8?B?Mm1RWDdtWDdkbnZMOWluOHdMTWxLN09RTUtUQVdUdmtOT3BoSy9La1Q0MnYz?=
 =?utf-8?B?a1NxSUNZb3dUVVNDR0hQZXVnbi8xczdEWGRoUXBhbkdSSkM2eGZuOGlTbkNN?=
 =?utf-8?B?S01IOXVGZHpCZWtHTFpiT0NYVDJ5VkhZemFYWjQxOTNFUG4rOXpPM2RlOFlo?=
 =?utf-8?B?d0tTM0JiM3VwN1plMDRHK281c2JDQ05VMTh6TFVXRUdMS2V6aW5VZ0JJajl0?=
 =?utf-8?B?Vi9ETUFFRXdIMkdOT096bmw4Q0tDNFBVRjRHcU0welVyLzkvQXJzQWFrcWo2?=
 =?utf-8?B?bEFhVkR2Z1dhTG9uTmIvZnhyOTA2MFhrNmFZY2ZCL0VrOXJNSDc4dVJZb1BF?=
 =?utf-8?B?ZHlPRnpOdTkvK2hSUzhVRTNEa2w2Z056NXN0NXFUcWFYSWN4MjdHUlJKVjZD?=
 =?utf-8?B?UVBOd2ZOYXh3RVFOOEVTb1htVjNuemVQaDJNVml3TnpmZ1FUZ0YwUDROalVx?=
 =?utf-8?B?K0xKQ0JVczE1S3BwaXozS0IwR3Zhd3JUYXNIVnJHemNZNENTNnVXU1FaVWFh?=
 =?utf-8?Q?/5eX8zZlJwRCaEUSieBWYqDUS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 001d44aa-350d-4e84-9612-08da7ea24d6c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:41:17.6516
 (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: +rGKoAJnBaDNDvfsu9g8GsECvFQRS4OW1zmo59XDLI8ruysGd7yzGWS1g7TjZcK5lBDvwLhAyzWFdlxsn2tnKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB3041

On 15.08.2022 11:33, Andrew Cooper wrote:
> On 15/08/2022 09:26, Jan Beulich wrote:
>> On 05.08.2022 12:38, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/spec_ctrl.c
>>> +++ b/xen/arch/x86/spec_ctrl.c
>>> @@ -1327,8 +1327,24 @@ void __init init_speculation_mitigations(void)
>>>       * mappings.
>>>       */
>>>      if ( opt_rsb_hvm )
>>> +    {
>>>          setup_force_cpu_cap(X86_FEATURE_SC_RSB_HVM);
>>>  
>>> +        /*
>>> +         * For SVM, Xen's RSB safety actions are performed before STGI, so
>>> +         * behave atomically with respect to IST sources.
>>> +         *
>>> +         * For VT-x, NMIs are atomic with VMExit (the NMI gets queued but not
>>> +         * delivered) whereas other IST sources are not atomic.  Specifically,
>>> +         * #MC can hit ahead the RSB safety action in the vmexit path.
>>> +         *
>>> +         * Therefore, it is necessary for the IST logic to protect Xen against
>>> +         * possible rogue RSB speculation.
>>> +         */
>>> +        if ( !cpu_has_svm )
>>> +            default_spec_ctrl_flags |= SCF_ist_rsb;
>> Only now, when I'm about to backport this, it occurs to me to ask: Why
>> is this !cpu_has_svm rather than cpu_has_vmx?
> 
> Because it is only SVM known to be safe.

Yes. Which amounts to only VT-x being unsafe. And in particular PV alone
(e.g. shim, from the perspective of the shim itself) is safe as well, no
matter what CPU we're on.

>> Plus shouldn't this further
>> be gated upon HVM actually being in use (i.e. in particular CONFIG_HVM=y
>> in the first place)?
> 
> Perhaps, but not locally here.Â  All of init_speculation_mitigations()
> wants reconsidering if you're going down that route.

Not sure - many of the settings (like X86_FEATURE_SC_RSB_HVM also being
set in the enclosing if()) only affect HVM-specific code paths, so which
way they are set wouldn't matter when !CONFIG_HVM. But the one here
clearly affects a common code path, for no gains at all. It's not an
overly hot code path, sure, but it still strikes me as odd.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 09:44:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 09:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387234.623386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWeG-0001O4-9O; Mon, 15 Aug 2022 09:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387234.623386; Mon, 15 Aug 2022 09:44:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWeG-0001Nx-6g; Mon, 15 Aug 2022 09:44:40 +0000
Received: by outflank-mailman (input) for mailman id 387234;
 Mon, 15 Aug 2022 09:44:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWeE-0001Nn-W6; Mon, 15 Aug 2022 09:44:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWeE-0001Wp-Sp; Mon, 15 Aug 2022 09:44:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWeE-0004wH-HN; Mon, 15 Aug 2022 09:44:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWeE-0006sM-Gu; Mon, 15 Aug 2022 09:44:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kPiJfspCmTf9OgEOFRwCWmwYnsYxQvWjA9M+4W1iBa4=; b=wcrqlPupTWSTawmaOikCmbmXE2
	h444wcum+lLow29kpe32iTfuE+LtOapwkwFgEmKoqYfrZm4Aq33mZ0VgUYhAgUBqUUctIXWROr5sL
	CyWj2OwrqYpmbEt6UWMGUHlrUDQVyunwE5GeP+S2+dcRanSg5Kvwlq1HpyhCHBKzuotQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172529-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172529: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3dc26edbb5417d90d32df6aa70d7c4187dd9966e
X-Osstest-Versions-That:
    xen=3dc26edbb5417d90d32df6aa70d7c4187dd9966e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 09:44:38 +0000

flight 172529 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172529/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install      fail in 172502 pass in 172529
 test-arm64-arm64-xl-seattle   8 xen-boot                   fail pass in 172502
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172502
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 172502

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 172502 like 172471
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 172502 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 172502 never pass
 build-amd64-libvirt           6 libvirt-build                fail  like 172502
 build-i386-libvirt            6 libvirt-build                fail  like 172502
 build-arm64-libvirt           6 libvirt-build                fail  like 172502
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172502
 build-armhf-libvirt           6 libvirt-build                fail  like 172502
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172502
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172502
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172502
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172502
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172502
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172502
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172502
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3dc26edbb5417d90d32df6aa70d7c4187dd9966e
baseline version:
 xen                  3dc26edbb5417d90d32df6aa70d7c4187dd9966e

Last test of basis   172529  2022-08-15 01:53:29 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 09:56:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 09:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387244.623397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWpR-0002xI-FV; Mon, 15 Aug 2022 09:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387244.623397; Mon, 15 Aug 2022 09:56:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNWpR-0002xB-Cr; Mon, 15 Aug 2022 09:56:13 +0000
Received: by outflank-mailman (input) for mailman id 387244;
 Mon, 15 Aug 2022 09:56:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWpP-0002x1-Mo; Mon, 15 Aug 2022 09:56:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWpP-0001jH-Jz; Mon, 15 Aug 2022 09:56:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWpP-0006DM-6z; Mon, 15 Aug 2022 09:56:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNWpP-0005C6-6V; Mon, 15 Aug 2022 09:56:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=usGTfF2/M+I9Zt8rFmN5aBxPh2qIXWKKx4YHUOiYXiM=; b=Pxyb/BXJW6mSjqmrJvGI/3olhV
	r9swus6I4RR3b1sgc9P+sscObcwJyFLvUCQS8IkOhaOlThwsgz457I9MB9eoV13N47siAGG1fYFye
	bhPGIyFpO+e0hU6/ztoVQXhpnyxhx8mtPgmWeyqA948AfxvBaa14EMO/kMABYIKUaBgQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172536-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172536: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7547268c359eeef1a4d8e578c612e7cc9350992d
X-Osstest-Versions-That:
    xen=3dc26edbb5417d90d32df6aa70d7c4187dd9966e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 09:56:11 +0000

flight 172536 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172536/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172446
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  7547268c359eeef1a4d8e578c612e7cc9350992d
baseline version:
 xen                  3dc26edbb5417d90d32df6aa70d7c4187dd9966e

Last test of basis   172446  2022-08-12 18:00:29 Z    2 days
Testing same since   172536  2022-08-15 07:01:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3dc26edbb5..7547268c35  7547268c359eeef1a4d8e578c612e7cc9350992d -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:04:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:04:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387258.623447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXtL-0002FK-JB; Mon, 15 Aug 2022 11:04:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387258.623447; Mon, 15 Aug 2022 11:04:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXtL-0002FB-FX; Mon, 15 Aug 2022 11:04:19 +0000
Received: by outflank-mailman (input) for mailman id 387258;
 Mon, 15 Aug 2022 11:04:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNXtK-0001af-6J
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:04:18 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff2758f8-1c89-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 13:04:16 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 6676F20781;
 Mon, 15 Aug 2022 11:04:13 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3A11813A93;
 Mon, 15 Aug 2022 11:04:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WFy8DC0o+mLHBgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 11:04:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff2758f8-1c89-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660561453; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cPpZ0KnROqbgy44j3t9FMKxKlKGwxhvHykExU9F22/A=;
	b=p4EDn98+z9gItWm5S+kJQSA0laXVnu7hAZ+hAXW0QdImMNChYyGIFKhEHFjoZnCaq0bVgR
	OkmAJJzbS2tqSkaWl/D7/C5WDRd6u9ueo3UL8bzzseH6vzH+uipTzSl9vgNS7DJDPyJ+ym
	qTTfgs+PzLHHP/cWR4nOtpCk/blvIqw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing from schedule_cpu_rm()
Date: Mon, 15 Aug 2022 13:04:09 +0200
Message-Id: <20220815110410.19872-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220815110410.19872-1-jgross@suse.com>
References: <20220815110410.19872-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to prepare not allocating or freeing memory from
schedule_cpu_rm(), move this functionality to dedicated functions.

For now call those functions from schedule_cpu_rm().

No change of behavior expected.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add const (Jan Beulich)
- use "unsigned int" for loop index (Jan Beulich)
- use xmalloc_flex_struct() (Jan Beulich)
- use XFREE() (Jan Beulich)
- hold rcu lock longer (Jan Beulich)
- add ASSERT() (Jan Beulich)

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/core.c    | 133 +++++++++++++++++++++----------------
 xen/common/sched/private.h |   9 +++
 2 files changed, 86 insertions(+), 56 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 085a9dd335..d0b6513b6f 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -3237,6 +3237,65 @@ out:
     return ret;
 }
 
+static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
+{
+    struct cpu_rm_data *data;
+    const struct sched_resource *sr;
+    unsigned int idx;
+
+    rcu_read_lock(&sched_res_rculock);
+
+    sr = get_sched_res(cpu);
+    data = xmalloc_flex_struct(struct cpu_rm_data, sr, sr->granularity - 1);
+    if ( !data )
+        goto out;
+
+    data->old_ops = sr->scheduler;
+    data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
+    data->ppriv_old = sr->sched_priv;
+
+    for ( idx = 0; idx < sr->granularity - 1; idx++ )
+    {
+        data->sr[idx] = sched_alloc_res();
+        if ( data->sr[idx] )
+        {
+            data->sr[idx]->sched_unit_idle = sched_alloc_unit_mem();
+            if ( !data->sr[idx]->sched_unit_idle )
+            {
+                sched_res_free(&data->sr[idx]->rcu);
+                data->sr[idx] = NULL;
+            }
+        }
+        if ( !data->sr[idx] )
+        {
+            while ( idx > 0 )
+                sched_res_free(&data->sr[--idx]->rcu);
+            XFREE(data);
+            goto out;
+        }
+
+        data->sr[idx]->curr = data->sr[idx]->sched_unit_idle;
+        data->sr[idx]->scheduler = &sched_idle_ops;
+        data->sr[idx]->granularity = 1;
+
+        /* We want the lock not to change when replacing the resource. */
+        data->sr[idx]->schedule_lock = sr->schedule_lock;
+    }
+
+ out:
+    rcu_read_unlock(&sched_res_rculock);
+
+    return data;
+}
+
+static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
+{
+    sched_free_udata(mem->old_ops, mem->vpriv_old);
+    sched_free_pdata(mem->old_ops, mem->ppriv_old, cpu);
+
+    xfree(mem);
+}
+
 /*
  * Remove a pCPU from its cpupool. Its scheduler becomes &sched_idle_ops
  * (the idle scheduler).
@@ -3245,53 +3304,23 @@ out:
  */
 int schedule_cpu_rm(unsigned int cpu)
 {
-    void *ppriv_old, *vpriv_old;
-    struct sched_resource *sr, **sr_new = NULL;
+    struct sched_resource *sr;
+    struct cpu_rm_data *data;
     struct sched_unit *unit;
-    struct scheduler *old_ops;
     spinlock_t *old_lock;
     unsigned long flags;
-    int idx, ret = -ENOMEM;
+    int idx = 0;
     unsigned int cpu_iter;
 
+    data = schedule_cpu_rm_alloc(cpu);
+    if ( !data )
+        return -ENOMEM;
+
     rcu_read_lock(&sched_res_rculock);
 
     sr = get_sched_res(cpu);
-    old_ops = sr->scheduler;
 
-    if ( sr->granularity > 1 )
-    {
-        sr_new = xmalloc_array(struct sched_resource *, sr->granularity - 1);
-        if ( !sr_new )
-            goto out;
-        for ( idx = 0; idx < sr->granularity - 1; idx++ )
-        {
-            sr_new[idx] = sched_alloc_res();
-            if ( sr_new[idx] )
-            {
-                sr_new[idx]->sched_unit_idle = sched_alloc_unit_mem();
-                if ( !sr_new[idx]->sched_unit_idle )
-                {
-                    sched_res_free(&sr_new[idx]->rcu);
-                    sr_new[idx] = NULL;
-                }
-            }
-            if ( !sr_new[idx] )
-            {
-                for ( idx--; idx >= 0; idx-- )
-                    sched_res_free(&sr_new[idx]->rcu);
-                goto out;
-            }
-            sr_new[idx]->curr = sr_new[idx]->sched_unit_idle;
-            sr_new[idx]->scheduler = &sched_idle_ops;
-            sr_new[idx]->granularity = 1;
-
-            /* We want the lock not to change when replacing the resource. */
-            sr_new[idx]->schedule_lock = sr->schedule_lock;
-        }
-    }
-
-    ret = 0;
+    ASSERT(sr->granularity);
     ASSERT(sr->cpupool != NULL);
     ASSERT(cpumask_test_cpu(cpu, &cpupool_free_cpus));
     ASSERT(!cpumask_test_cpu(cpu, sr->cpupool->cpu_valid));
@@ -3299,10 +3328,6 @@ int schedule_cpu_rm(unsigned int cpu)
     /* See comment in schedule_cpu_add() regarding lock switching. */
     old_lock = pcpu_schedule_lock_irqsave(cpu, &flags);
 
-    vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
-    ppriv_old = sr->sched_priv;
-
-    idx = 0;
     for_each_cpu ( cpu_iter, sr->cpus )
     {
         per_cpu(sched_res_idx, cpu_iter) = 0;
@@ -3316,27 +3341,27 @@ int schedule_cpu_rm(unsigned int cpu)
         else
         {
             /* Initialize unit. */
-            unit = sr_new[idx]->sched_unit_idle;
-            unit->res = sr_new[idx];
+            unit = data->sr[idx]->sched_unit_idle;
+            unit->res = data->sr[idx];
             unit->is_running = true;
             sched_unit_add_vcpu(unit, idle_vcpu[cpu_iter]);
             sched_domain_insert_unit(unit, idle_vcpu[cpu_iter]->domain);
 
             /* Adjust cpu masks of resources (old and new). */
             cpumask_clear_cpu(cpu_iter, sr->cpus);
-            cpumask_set_cpu(cpu_iter, sr_new[idx]->cpus);
+            cpumask_set_cpu(cpu_iter, data->sr[idx]->cpus);
             cpumask_set_cpu(cpu_iter, &sched_res_mask);
 
             /* Init timer. */
-            init_timer(&sr_new[idx]->s_timer, s_timer_fn, NULL, cpu_iter);
+            init_timer(&data->sr[idx]->s_timer, s_timer_fn, NULL, cpu_iter);
 
             /* Last resource initializations and insert resource pointer. */
-            sr_new[idx]->master_cpu = cpu_iter;
-            set_sched_res(cpu_iter, sr_new[idx]);
+            data->sr[idx]->master_cpu = cpu_iter;
+            set_sched_res(cpu_iter, data->sr[idx]);
 
             /* Last action: set the new lock pointer. */
             smp_mb();
-            sr_new[idx]->schedule_lock = &sched_free_cpu_lock;
+            data->sr[idx]->schedule_lock = &sched_free_cpu_lock;
 
             idx++;
         }
@@ -3352,16 +3377,12 @@ int schedule_cpu_rm(unsigned int cpu)
     /* _Not_ pcpu_schedule_unlock(): schedule_lock may have changed! */
     spin_unlock_irqrestore(old_lock, flags);
 
-    sched_deinit_pdata(old_ops, ppriv_old, cpu);
-
-    sched_free_udata(old_ops, vpriv_old);
-    sched_free_pdata(old_ops, ppriv_old, cpu);
+    sched_deinit_pdata(data->old_ops, data->ppriv_old, cpu);
 
-out:
     rcu_read_unlock(&sched_res_rculock);
-    xfree(sr_new);
+    schedule_cpu_rm_free(data, cpu);
 
-    return ret;
+    return 0;
 }
 
 struct scheduler *scheduler_get_default(void)
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index 38251b1f7b..601d639699 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -600,6 +600,15 @@ struct affinity_masks {
 
 bool update_node_aff_alloc(struct affinity_masks *affinity);
 void update_node_aff_free(struct affinity_masks *affinity);
+
+/* Memory allocation related data for schedule_cpu_rm(). */
+struct cpu_rm_data {
+    const struct scheduler *old_ops;
+    void *ppriv_old;
+    void *vpriv_old;
+    struct sched_resource *sr[];
+};
+
 void sched_rm_cpu(unsigned int cpu);
 const cpumask_t *sched_get_opt_cpumask(enum sched_gran opt, unsigned int cpu);
 void schedule_dump(struct cpupool *c);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:04:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:04:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387256.623425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXtJ-0001k4-TN; Mon, 15 Aug 2022 11:04:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387256.623425; Mon, 15 Aug 2022 11:04:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXtJ-0001jx-PX; Mon, 15 Aug 2022 11:04:17 +0000
Received: by outflank-mailman (input) for mailman id 387256;
 Mon, 15 Aug 2022 11:04:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNXtH-0001TU-Ij
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:04:15 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff00fe8b-1c89-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 13:04:13 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 32B702012C;
 Mon, 15 Aug 2022 11:04:13 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DB99813A93;
 Mon, 15 Aug 2022 11:04:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id iDZONCwo+mLHBgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 11:04:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff00fe8b-1c89-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660561453; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=liuF5z62h6Zyt9FvDgpE6TztPWAGZMbvacA9LSHauHw=;
	b=bUSUrYi6OSB2OGNNu1WnuxpTee7e2w1RqAcmjTfcyU4aYRlxeo5DBO+dIVRN5CNx2PhxjR
	plFyRpvjklZyfKxHevIZ29fEk+ooCvS4Dl8H3PzzAy/yOvV6fhqJpdg3LI7KHipKKU+0U5
	3K4Bd05jMVEq7FscgvS/a6LbFbEKkUw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/3] xen/sched: introduce cpupool_update_node_affinity()
Date: Mon, 15 Aug 2022 13:04:08 +0200
Message-Id: <20220815110410.19872-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220815110410.19872-1-jgross@suse.com>
References: <20220815110410.19872-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For updating the node affinities of all domains in a cpupool add a new
function cpupool_update_node_affinity().

In order to avoid multiple allocations of cpumasks carve out memory
allocation and freeing from domain_update_node_affinity() into new
helpers, which can be used by cpupool_update_node_affinity().

Modify domain_update_node_affinity() to take an additional parameter
for passing the allocated memory in and to allocate and free the memory
via the new helpers in case NULL was passed.

This will help later to pre-allocate the cpumasks in order to avoid
allocations in stop-machine context.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- move helpers to core.c (Jan Beulich)
- allocate/free memory in domain_update_node_aff() if NULL was passed
  in (Jan Beulich)
---
 xen/common/sched/core.c    | 54 ++++++++++++++++++++++++++------------
 xen/common/sched/cpupool.c | 39 +++++++++++++++------------
 xen/common/sched/private.h |  7 +++++
 xen/include/xen/sched.h    |  9 ++++++-
 4 files changed, 74 insertions(+), 35 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index ff1ddc7624..085a9dd335 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1824,9 +1824,28 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
     return ret;
 }
 
-void domain_update_node_affinity(struct domain *d)
+bool update_node_aff_alloc(struct affinity_masks *affinity)
 {
-    cpumask_var_t dom_cpumask, dom_cpumask_soft;
+    if ( !alloc_cpumask_var(&affinity->hard) )
+        return false;
+    if ( !alloc_cpumask_var(&affinity->soft) )
+    {
+        free_cpumask_var(affinity->hard);
+        return false;
+    }
+
+    return true;
+}
+
+void update_node_aff_free(struct affinity_masks *affinity)
+{
+    free_cpumask_var(affinity->soft);
+    free_cpumask_var(affinity->hard);
+}
+
+void domain_update_node_aff(struct domain *d, struct affinity_masks *affinity)
+{
+    struct affinity_masks masks = { };
     cpumask_t *dom_affinity;
     const cpumask_t *online;
     struct sched_unit *unit;
@@ -1836,14 +1855,16 @@ void domain_update_node_affinity(struct domain *d)
     if ( !d->vcpu || !d->vcpu[0] )
         return;
 
-    if ( !zalloc_cpumask_var(&dom_cpumask) )
-        return;
-    if ( !zalloc_cpumask_var(&dom_cpumask_soft) )
+    if ( !affinity )
     {
-        free_cpumask_var(dom_cpumask);
-        return;
+        affinity = &masks;
+        if ( !update_node_aff_alloc(affinity) )
+            return;
     }
 
+    cpumask_clear(affinity->hard);
+    cpumask_clear(affinity->soft);
+
     online = cpupool_domain_master_cpumask(d);
 
     spin_lock(&d->node_affinity_lock);
@@ -1864,22 +1885,21 @@ void domain_update_node_affinity(struct domain *d)
          */
         for_each_sched_unit ( d, unit )
         {
-            cpumask_or(dom_cpumask, dom_cpumask, unit->cpu_hard_affinity);
-            cpumask_or(dom_cpumask_soft, dom_cpumask_soft,
-                       unit->cpu_soft_affinity);
+            cpumask_or(affinity->hard, affinity->hard, unit->cpu_hard_affinity);
+            cpumask_or(affinity->soft, affinity->soft, unit->cpu_soft_affinity);
         }
         /* Filter out non-online cpus */
-        cpumask_and(dom_cpumask, dom_cpumask, online);
-        ASSERT(!cpumask_empty(dom_cpumask));
+        cpumask_and(affinity->hard, affinity->hard, online);
+        ASSERT(!cpumask_empty(affinity->hard));
         /* And compute the intersection between hard, online and soft */
-        cpumask_and(dom_cpumask_soft, dom_cpumask_soft, dom_cpumask);
+        cpumask_and(affinity->soft, affinity->soft, affinity->hard);
 
         /*
          * If not empty, the intersection of hard, soft and online is the
          * narrowest set we want. If empty, we fall back to hard&online.
          */
-        dom_affinity = cpumask_empty(dom_cpumask_soft) ?
-                           dom_cpumask : dom_cpumask_soft;
+        dom_affinity = cpumask_empty(affinity->soft) ? affinity->hard
+                                                     : affinity->soft;
 
         nodes_clear(d->node_affinity);
         for_each_cpu ( cpu, dom_affinity )
@@ -1888,8 +1908,8 @@ void domain_update_node_affinity(struct domain *d)
 
     spin_unlock(&d->node_affinity_lock);
 
-    free_cpumask_var(dom_cpumask_soft);
-    free_cpumask_var(dom_cpumask);
+    if ( affinity == &masks )
+        update_node_aff_free(affinity);
 }
 
 typedef long ret_t;
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 2afe54f54d..58e082eb4c 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -410,6 +410,25 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
     return ret;
 }
 
+/* Update affinities of all domains in a cpupool. */
+static void cpupool_update_node_affinity(const struct cpupool *c)
+{
+    struct affinity_masks masks;
+    struct domain *d;
+
+    if ( !update_node_aff_alloc(&masks) )
+        return;
+
+    rcu_read_lock(&domlist_read_lock);
+
+    for_each_domain_in_cpupool(d, c)
+        domain_update_node_aff(d, &masks);
+
+    rcu_read_unlock(&domlist_read_lock);
+
+    update_node_aff_free(&masks);
+}
+
 /*
  * assign a specific cpu to a cpupool
  * cpupool_lock must be held
@@ -417,7 +436,6 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
 static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 {
     int ret;
-    struct domain *d;
     const cpumask_t *cpus;
 
     cpus = sched_get_opt_cpumask(c->gran, cpu);
@@ -442,12 +460,7 @@ static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 
     rcu_read_unlock(&sched_res_rculock);
 
-    rcu_read_lock(&domlist_read_lock);
-    for_each_domain_in_cpupool(d, c)
-    {
-        domain_update_node_affinity(d);
-    }
-    rcu_read_unlock(&domlist_read_lock);
+    cpupool_update_node_affinity(c);
 
     return 0;
 }
@@ -456,18 +469,14 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
 {
     int cpu = cpupool_moving_cpu;
     const cpumask_t *cpus;
-    struct domain *d;
     int ret;
 
     if ( c != cpupool_cpu_moving )
         return -EADDRNOTAVAIL;
 
-    /*
-     * We need this for scanning the domain list, both in
-     * cpu_disable_scheduler(), and at the bottom of this function.
-     */
     rcu_read_lock(&domlist_read_lock);
     ret = cpu_disable_scheduler(cpu);
+    rcu_read_unlock(&domlist_read_lock);
 
     rcu_read_lock(&sched_res_rculock);
     cpus = get_sched_res(cpu)->cpus;
@@ -494,11 +503,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
     }
     rcu_read_unlock(&sched_res_rculock);
 
-    for_each_domain_in_cpupool(d, c)
-    {
-        domain_update_node_affinity(d);
-    }
-    rcu_read_unlock(&domlist_read_lock);
+    cpupool_update_node_affinity(c);
 
     return ret;
 }
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index a870320146..38251b1f7b 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -593,6 +593,13 @@ affinity_balance_cpumask(const struct sched_unit *unit, int step,
         cpumask_copy(mask, unit->cpu_hard_affinity);
 }
 
+struct affinity_masks {
+    cpumask_var_t hard;
+    cpumask_var_t soft;
+};
+
+bool update_node_aff_alloc(struct affinity_masks *affinity);
+void update_node_aff_free(struct affinity_masks *affinity);
 void sched_rm_cpu(unsigned int cpu);
 const cpumask_t *sched_get_opt_cpumask(enum sched_gran opt, unsigned int cpu);
 void schedule_dump(struct cpupool *c);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index e2b3b6daa3..666264b8c3 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -663,8 +663,15 @@ static inline void get_knownalive_domain(struct domain *d)
     ASSERT(!(atomic_read(&d->refcnt) & DOMAIN_DESTROYED));
 }
 
+struct affinity_masks;
+
 int domain_set_node_affinity(struct domain *d, const nodemask_t *affinity);
-void domain_update_node_affinity(struct domain *d);
+void domain_update_node_aff(struct domain *d, struct affinity_masks *affinity);
+
+static inline void domain_update_node_affinity(struct domain *d)
+{
+    domain_update_node_aff(d, NULL);
+}
 
 /*
  * To be implemented by each architecture, sanity checking the configuration
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:04:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:04:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387257.623430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXtK-0001nZ-8T; Mon, 15 Aug 2022 11:04:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387257.623430; Mon, 15 Aug 2022 11:04:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXtK-0001mp-1o; Mon, 15 Aug 2022 11:04:18 +0000
Received: by outflank-mailman (input) for mailman id 387257;
 Mon, 15 Aug 2022 11:04:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNXtI-0001TU-BY
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:04:16 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff473844-1c89-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 13:04:13 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A12EA33B41;
 Mon, 15 Aug 2022 11:04:13 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6E85E13A93;
 Mon, 15 Aug 2022 11:04:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0FeqGS0o+mLHBgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 11:04:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff473844-1c89-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660561453; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oK+J2+KdcgfEZPELpjligxuZYoDpVDFh6cULumqb2ak=;
	b=K2nxOL7bI3qzmuvr5d9pRJ55fBdrPURYd8EC0wm902mSbcA0W+eYhcaKIl61C+RMyPVRZx
	3WCcmrxcmxFlTQYGbYVK7Ljrn0q2Q83Wj068qf7jW5hY9UYUYG7Rg0yrKBs5ztfXZpQeEl
	ZXfxuWgqchLrp+Ie4DAXHC2vID/GUeE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Gao Ruifeng <ruifeng.gao@intel.com>
Subject: [PATCH v2 3/3] xen/sched: fix cpu hotplug
Date: Mon, 15 Aug 2022 13:04:10 +0200
Message-Id: <20220815110410.19872-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220815110410.19872-1-jgross@suse.com>
References: <20220815110410.19872-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Cpu cpu unplugging is calling schedule_cpu_rm() via stop_machine_run()
with interrupts disabled, thus any memory allocation or freeing must
be avoided.

Since commit 5047cd1d5dea ("xen/common: Use enhanced
ASSERT_ALLOC_CONTEXT in xmalloc()") this restriction is being enforced
via an assertion, which will now fail.

Before that commit cpu unplugging in normal configurations was working
just by chance as only the cpu performing schedule_cpu_rm() was doing
active work. With core scheduling enabled, however, failures could
result from memory allocations not being properly propagated to other
cpus' TLBs.

Fix this mess by allocating needed memory before entering
stop_machine_run() and freeing any memory only after having finished
stop_machine_run().

Fixes: 1ec410112cdd ("xen/sched: support differing granularity in schedule_cpu_[add/rm]()")
Reported-by: Gao Ruifeng <ruifeng.gao@intel.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- move affinity mask allocation into schedule_cpu_rm_alloc() (Jan Beulich)
---
 xen/common/sched/core.c    | 27 +++++++++++----
 xen/common/sched/cpupool.c | 68 +++++++++++++++++++++++++++++---------
 xen/common/sched/private.h |  5 ++-
 3 files changed, 78 insertions(+), 22 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index d0b6513b6f..ec09c8e5a9 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -3237,7 +3237,7 @@ out:
     return ret;
 }
 
-static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
+struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu, bool aff_alloc)
 {
     struct cpu_rm_data *data;
     const struct sched_resource *sr;
@@ -3250,6 +3250,17 @@ static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
     if ( !data )
         goto out;
 
+    if ( aff_alloc )
+    {
+        if ( !update_node_aff_alloc(&data->affinity) )
+        {
+            XFREE(data);
+            goto out;
+        }
+    }
+    else
+        memset(&data->affinity, 0, sizeof(data->affinity));
+
     data->old_ops = sr->scheduler;
     data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
     data->ppriv_old = sr->sched_priv;
@@ -3270,6 +3281,7 @@ static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
         {
             while ( idx > 0 )
                 sched_res_free(&data->sr[--idx]->rcu);
+            update_node_aff_free(&data->affinity);
             XFREE(data);
             goto out;
         }
@@ -3288,10 +3300,11 @@ static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
     return data;
 }
 
-static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
+void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
 {
     sched_free_udata(mem->old_ops, mem->vpriv_old);
     sched_free_pdata(mem->old_ops, mem->ppriv_old, cpu);
+    update_node_aff_free(&mem->affinity);
 
     xfree(mem);
 }
@@ -3302,17 +3315,18 @@ static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
  * The cpu is already marked as "free" and not valid any longer for its
  * cpupool.
  */
-int schedule_cpu_rm(unsigned int cpu)
+int schedule_cpu_rm(unsigned int cpu, struct cpu_rm_data *data)
 {
     struct sched_resource *sr;
-    struct cpu_rm_data *data;
     struct sched_unit *unit;
     spinlock_t *old_lock;
     unsigned long flags;
     int idx = 0;
     unsigned int cpu_iter;
+    bool freemem = !data;
 
-    data = schedule_cpu_rm_alloc(cpu);
+    if ( !data )
+        data = schedule_cpu_rm_alloc(cpu, false);
     if ( !data )
         return -ENOMEM;
 
@@ -3380,7 +3394,8 @@ int schedule_cpu_rm(unsigned int cpu)
     sched_deinit_pdata(data->old_ops, data->ppriv_old, cpu);
 
     rcu_read_unlock(&sched_res_rculock);
-    schedule_cpu_rm_free(data, cpu);
+    if ( freemem )
+        schedule_cpu_rm_free(data, cpu);
 
     return 0;
 }
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 58e082eb4c..2506861e4f 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -411,22 +411,28 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
 }
 
 /* Update affinities of all domains in a cpupool. */
-static void cpupool_update_node_affinity(const struct cpupool *c)
+static void cpupool_update_node_affinity(const struct cpupool *c,
+                                         struct affinity_masks *masks)
 {
-    struct affinity_masks masks;
+    struct affinity_masks local_masks;
     struct domain *d;
 
-    if ( !update_node_aff_alloc(&masks) )
-        return;
+    if ( !masks )
+    {
+        if ( !update_node_aff_alloc(&local_masks) )
+            return;
+        masks = &local_masks;
+    }
 
     rcu_read_lock(&domlist_read_lock);
 
     for_each_domain_in_cpupool(d, c)
-        domain_update_node_aff(d, &masks);
+        domain_update_node_aff(d, masks);
 
     rcu_read_unlock(&domlist_read_lock);
 
-    update_node_aff_free(&masks);
+    if ( masks == &local_masks )
+        update_node_aff_free(masks);
 }
 
 /*
@@ -460,15 +466,17 @@ static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 
     rcu_read_unlock(&sched_res_rculock);
 
-    cpupool_update_node_affinity(c);
+    cpupool_update_node_affinity(c, NULL);
 
     return 0;
 }
 
-static int cpupool_unassign_cpu_finish(struct cpupool *c)
+static int cpupool_unassign_cpu_finish(struct cpupool *c,
+                                       struct cpu_rm_data *mem)
 {
     int cpu = cpupool_moving_cpu;
     const cpumask_t *cpus;
+    struct affinity_masks *masks = mem ? &mem->affinity : NULL;
     int ret;
 
     if ( c != cpupool_cpu_moving )
@@ -491,7 +499,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
      */
     if ( !ret )
     {
-        ret = schedule_cpu_rm(cpu);
+        ret = schedule_cpu_rm(cpu, mem);
         if ( ret )
             cpumask_andnot(&cpupool_free_cpus, &cpupool_free_cpus, cpus);
         else
@@ -503,7 +511,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
     }
     rcu_read_unlock(&sched_res_rculock);
 
-    cpupool_update_node_affinity(c);
+    cpupool_update_node_affinity(c, masks);
 
     return ret;
 }
@@ -567,7 +575,7 @@ static long cf_check cpupool_unassign_cpu_helper(void *info)
                       cpupool_cpu_moving->cpupool_id, cpupool_moving_cpu);
     spin_lock(&cpupool_lock);
 
-    ret = cpupool_unassign_cpu_finish(c);
+    ret = cpupool_unassign_cpu_finish(c, NULL);
 
     spin_unlock(&cpupool_lock);
     debugtrace_printk("cpupool_unassign_cpu ret=%ld\n", ret);
@@ -714,7 +722,7 @@ static int cpupool_cpu_add(unsigned int cpu)
  * This function is called in stop_machine context, so we can be sure no
  * non-idle vcpu is active on the system.
  */
-static void cpupool_cpu_remove(unsigned int cpu)
+static void cpupool_cpu_remove(unsigned int cpu, struct cpu_rm_data *mem)
 {
     int ret;
 
@@ -722,7 +730,7 @@ static void cpupool_cpu_remove(unsigned int cpu)
 
     if ( !cpumask_test_cpu(cpu, &cpupool_free_cpus) )
     {
-        ret = cpupool_unassign_cpu_finish(cpupool0);
+        ret = cpupool_unassign_cpu_finish(cpupool0, mem);
         BUG_ON(ret);
     }
     cpumask_clear_cpu(cpu, &cpupool_free_cpus);
@@ -788,7 +796,7 @@ static void cpupool_cpu_remove_forced(unsigned int cpu)
         {
             ret = cpupool_unassign_cpu_start(c, master_cpu);
             BUG_ON(ret);
-            ret = cpupool_unassign_cpu_finish(c);
+            ret = cpupool_unassign_cpu_finish(c, NULL);
             BUG_ON(ret);
         }
     }
@@ -1008,10 +1016,21 @@ static int cf_check cpu_callback(
 {
     unsigned int cpu = (unsigned long)hcpu;
     int rc = 0;
+    static struct cpu_rm_data *mem;
 
     switch ( action )
     {
     case CPU_DOWN_FAILED:
+        if ( system_state <= SYS_STATE_active )
+        {
+            if ( mem )
+            {
+                schedule_cpu_rm_free(mem, cpu);
+                mem = NULL;
+            }
+            rc = cpupool_cpu_add(cpu);
+        }
+        break;
     case CPU_ONLINE:
         if ( system_state <= SYS_STATE_active )
             rc = cpupool_cpu_add(cpu);
@@ -1019,12 +1038,31 @@ static int cf_check cpu_callback(
     case CPU_DOWN_PREPARE:
         /* Suspend/Resume don't change assignments of cpus to cpupools. */
         if ( system_state <= SYS_STATE_active )
+        {
             rc = cpupool_cpu_remove_prologue(cpu);
+            if ( !rc )
+            {
+                ASSERT(!mem);
+                mem = schedule_cpu_rm_alloc(cpu, true);
+                rc = mem ? 0 : -ENOMEM;
+            }
+        }
         break;
     case CPU_DYING:
         /* Suspend/Resume don't change assignments of cpus to cpupools. */
         if ( system_state <= SYS_STATE_active )
-            cpupool_cpu_remove(cpu);
+        {
+            ASSERT(mem);
+            cpupool_cpu_remove(cpu, mem);
+        }
+        break;
+    case CPU_DEAD:
+        if ( system_state <= SYS_STATE_active )
+        {
+            ASSERT(mem);
+            schedule_cpu_rm_free(mem, cpu);
+            mem = NULL;
+        }
         break;
     case CPU_RESUME_FAILED:
         cpupool_cpu_remove_forced(cpu);
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index 601d639699..cc7a6cb571 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -603,6 +603,7 @@ void update_node_aff_free(struct affinity_masks *affinity);
 
 /* Memory allocation related data for schedule_cpu_rm(). */
 struct cpu_rm_data {
+    struct affinity_masks affinity;
     const struct scheduler *old_ops;
     void *ppriv_old;
     void *vpriv_old;
@@ -617,7 +618,9 @@ struct scheduler *scheduler_alloc(unsigned int sched_id);
 void scheduler_free(struct scheduler *sched);
 int cpu_disable_scheduler(unsigned int cpu);
 int schedule_cpu_add(unsigned int cpu, struct cpupool *c);
-int schedule_cpu_rm(unsigned int cpu);
+struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu, bool aff_alloc);
+void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu);
+int schedule_cpu_rm(unsigned int cpu, struct cpu_rm_data *mem);
 int sched_move_domain(struct domain *d, struct cpupool *c);
 struct cpupool *cpupool_get_by_id(unsigned int poolid);
 void cpupool_put(struct cpupool *pool);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:04:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:04:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387255.623414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXtI-0001Ts-Kj; Mon, 15 Aug 2022 11:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387255.623414; Mon, 15 Aug 2022 11:04:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXtI-0001Tl-Hb; Mon, 15 Aug 2022 11:04:16 +0000
Received: by outflank-mailman (input) for mailman id 387255;
 Mon, 15 Aug 2022 11:04:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNXtH-0001TU-2N
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:04:15 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fee88ed6-1c89-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 13:04:13 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D204D337AA;
 Mon, 15 Aug 2022 11:04:12 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8A47013A93;
 Mon, 15 Aug 2022 11:04:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 05dJICwo+mLHBgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 11:04:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fee88ed6-1c89-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660561452; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=lc22WrfxTsd+Zrwt7FMEj+OB2Evxs9hgxovNPNGYDJ8=;
	b=inr1PsrcTBuHJVo8w7Bt7QY22RHYmX/mRx2KY+c+ufCw22kMUW/ZPrHWH0ms3ignJDRQ81
	ThWYjyLzD5RBkozKLhEL3IYcHHkU21WCHI5PK/FVz2j6MIdiaGiaf7jIUGcfJocrwjtlSm
	wKs3LPB7JlwJrCDIuef9rlQXMwL1cFM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 0/3] xen/sched: fix cpu hotplug
Date: Mon, 15 Aug 2022 13:04:07 +0200
Message-Id: <20220815110410.19872-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A recent change in the hypervisor memory allocation framework led to
crashes when unplugging host cpus.

This was due to the (correct) assertion that allocating and freeing
memory is allowed with enabled interrupts only. As the main cpu unplug
operation is done in stop-machine context, this assertion triggers in
debug builds.

Correct that by pre-allocating all needed memory while interrupts are
still on, and free memory after interrupts are enabled again.

Changes in V2:
- addressed all comments

Juergen Gross (3):
  xen/sched: introduce cpupool_update_node_affinity()
  xen/sched: carve out memory allocation and freeing from
    schedule_cpu_rm()
  xen/sched: fix cpu hotplug

 xen/common/sched/core.c    | 204 +++++++++++++++++++++++--------------
 xen/common/sched/cpupool.c |  91 ++++++++++++-----
 xen/common/sched/private.h |  21 +++-
 xen/include/xen/sched.h    |   9 +-
 4 files changed, 225 insertions(+), 100 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:07:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:07:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387284.623457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXwh-0003rV-2k; Mon, 15 Aug 2022 11:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387284.623457; Mon, 15 Aug 2022 11:07:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNXwh-0003rO-0B; Mon, 15 Aug 2022 11:07:47 +0000
Received: by outflank-mailman (input) for mailman id 387284;
 Mon, 15 Aug 2022 11:07:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ks0i=YT=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oNXwf-0003qw-9A
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:07:45 +0000
Received: from mail-40134.protonmail.ch (mail-40134.protonmail.ch
 [185.70.40.134]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c7bd881-1c8a-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 13:07:44 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c7bd881-1c8a-11ed-924f-1f966e50362f
Date: Mon, 15 Aug 2022 11:07:32 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1660561663; x=1660820863;
	bh=li26dMUDWFbxTv86fHZPJMCU0Kpai1zfgWsBa4jwIzk=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=nqDDvszNzPv+/s4XNANRQaQpRbyYWqAOcaEk0ZnTtU/4KWF34XfYN2ZWgAEt7hQ0o
	 ail3VJ2dSmzXcWDlpEdQHxKIWs4Jfy+Y11VAuEyuComkP1ljZqxt4VtYhDX77tx9xp
	 PieO+Yswy+svw3tdJvU+5MAgPLepdgUGA+2AnYA+0yBtPspI6THUvPrqlbAzuQ5Ykp
	 6ZtETp7mBsG+B4ug1e9IDmfgNaN+HbSJ2v43/fUD2+PnXTTWZvG0T6NiI5z5ZDGEu/
	 vfJwv9jV5GV2T+grpGtqriM1fKRpsZ3pg1NneSgloKGLVsP6JyMg0O7mbIs08nf2a4
	 OAOtNS5oLvB7w==
To: Jan Beulich <jbeulich@suse.com>
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
In-Reply-To: <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com> <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com> <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com> <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi All,

It would appear this issue isn't specific to the Lenovo Yoga Slim 7 ProX, s=
omeone else in the Qubes community is having the same issue (https://github=
.com/QubesOS/qubes-issues/issues/7620#issuecomment-1209114810)

Can anyone shed some light on what possibly might be making a Xen 4.14 Hype=
rvisor crash after attempting to start a domU? Dom0 start's just fine, it '=
feels' like a memory violation or DMA/IOMMU issue, because the VM does succ=
essfully start, however 1 or 2 seconds after it successfully boot the mouse=
 (in dom0) locks up for 2-3 seconds and the entire device resets.

I can't seem to get any logs at all, xen's console, dom0 dmesg and domU's d=
mesg all appear to be fine in the lead up to the crash. I assume no one has=
 had a chance to use Xen on Ryzen 6000 (Rembrandt) yet due to the fact it's=
 hard to get your hands on with the chip shortage etc.

I'm hoping it's something that can be fixed with a cmdline flag, it's very =
frustrating having this shiny new laptop sitting on my desk :P

Cheers all


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:31:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387292.623468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYJC-00075m-TQ; Mon, 15 Aug 2022 11:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387292.623468; Mon, 15 Aug 2022 11:31:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYJC-00075f-QN; Mon, 15 Aug 2022 11:31:02 +0000
Received: by outflank-mailman (input) for mailman id 387292;
 Mon, 15 Aug 2022 11:31:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNYJB-00075W-Fh
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:31:01 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2076.outbound.protection.outlook.com [40.107.21.76])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc9883f0-1c8d-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 13:31:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM5PR04MB2948.eurprd04.prod.outlook.com (2603:10a6:206:e::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 11:30:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 11:30:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc9883f0-1c8d-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i5Ku+8x0eghGVeu326Mgb2Himj+FTrjYdPSZCNFZH3yV3U0EHmAYpmaUI2Lu6MZkj0n+u1ophcXsixl8+HKqASvNjLAVEGkyMrZneBx7hMf2vGhEImTcpSZVnK51i2ibOObaq5PYWpcZIxwKGSYNHQHTvaLHd/loZpUp7WGdH/jbheh8r389BUpuOvC8eHP1uIFMD2bVj65yI2EWi542ZHxBpcVMrLHxfK2tYxswM/C2QCsxMjQU8rGNUCJyDSykjhLwln9YzLQ/eDVAEYlo7v2EZM9dxlHS3Hu6wOuKNkq6nExqOvSbpohrfv+9eNS3F+EjnDoKQpMgCgbHrrwPgQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jkZpYtvGhDYifaJmYnLxCD1EfpZZLgtSnFO3J9ZJ5/s=;
 b=dTGvGheYpbiGELFmrJlF2MzYJfQE+J4PpaWqR+NqIrs+3LL8BevDO82jCX9akgamFk3A0G4b53UQ5Cbmf/et7SLjvPNgJM4OGkOYawXoRS5bKYAhb8qmpniOT3j2ooPn2iI5v6I72kg8nHVZg/KFcUfRbdDyoKNMkTRFl78tjNt9TgDSy/v28hQ1QT649BapbNoxzeLux310H9z0drkibLanefqD/T6iGnxVY9KpVbHx9O6jfENvUxbalDM2dUghRayxAdRX7wZSymPHRfrJbR+ZM4hdcQxzJ23JeFWpHvq3qGIcKj1XBN4aqi2E3iw0aPySEe7PLpuMApzoE1DQ6A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jkZpYtvGhDYifaJmYnLxCD1EfpZZLgtSnFO3J9ZJ5/s=;
 b=LwAam+rnQxny2Pslm/ANlqTAdr4Cf/qiUKAZhtDZTJb+UrIjjkBNSOvch3qjLEYcLi9U7LSTE2j4wApTRgnpy+9WyCTcYbyKVgaO6LyeMTcDoUzYJG+i/OTNuYcEBGnBUokPXWcGEn/JPnT0fjtW04GYuy+agQQneA70qe2QghQOYZTZqIQ1bruCi6PhVJSgeUY2hO7EK9d1OlkfgALM4YlOc6XMV/rm8sy2sMPSFtZdB0+T0/2A2ycxgUe6Sp0kcV8vyvJTEN6bkIig5hD49GjrpQJLZhrHZ47sKiMWhTIS6YBgUhvY18n/vmKDADstP2ZOVKYtlBa4J+r3IE5u1A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2155eb83-e421-1f55-75ca-d9e828b609de@suse.com>
Date: Mon, 15 Aug 2022 13:30:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com>
 <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com>
 <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com>
 <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0121.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9ac7bafa-2773-4fc4-f258-08da7eb19f9d
X-MS-TrafficTypeDiagnostic: AM5PR04MB2948:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GBa/F+7E/6PZ+6TThMxXoDvL7Oy1dfhE9NwnlPn1VXfkFSnjWcDxpgNXHZs4Hg3zJxNuhvF5QCjQ2ggY3+U/0xVmQF/gpIcHL7P7anQDhyfpg4olCtPSOtN9Klxk3y0pAjw4hlruditTth1PhChCTY4GZHCBsjSFeNB/5zo4/UILJe7wVxTCBWGqs94GcJfsZUuBsDMCv22CfiMcAR2IOUmvPccBIxZarcgur4a/IgAfHgTOFGRPOyj8BAlvbviZDBzEzHT6/QijdRCWTePAF3xgsg+C+em1UfgPdZZ5qnB+6QprcjIbnlw6xA7RWQQ4tEz9gsoj41i93aF5TfQq2wl+CnQ+Kbn0Ph7fBbZzgnTrtuSucLGbkJomO9alUCXlHsB/CvIvvCIjen3pflHqqoiWEATsNYeExvxMoyhZlc4irflNz9kv2rZax8HcBAdBm6bbuU7/bmRndcpAg4V3/767pL1v/Q9K10ZAQqIQJxPFtSTW40MqQzk8HVz5yO1zaOzh7DYDraGLEE10DVnHrLgWwb2eWaDwl0m4mFyjFSM8FUb9rCQI24vwj781LLN+k9EVYvr1eQtpyXd7DadR0Ylfv+boo8wBFdn3onhPeUtohV0+y5mxUTPOvezMdeFgo0+eFd+zDbMwDrMS/I8EPE8niar4TDX7srHcxmKLqVxzdf5lvtU/NkA9DC7HNaA592XU4wHC8i9AbFMREsmKSmzu6wkCa1exfBIRlWKQrcJXtqQxgHoJu1IRMPtNYzU+x06mbfPF1W51DaWhaESkqCoav6sA0sfyxbX33ZT2AhpP/qOM7x95lV5kZOHFFAjfZN3fYOQftCBW5ToTbR1sCe1jxdIHPsV9slUREXUEOZk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(366004)(136003)(376002)(346002)(66476007)(54906003)(31686004)(8676002)(66556008)(4326008)(8936002)(38100700002)(6916009)(86362001)(66946007)(36756003)(31696002)(53546011)(83380400001)(6512007)(6666004)(6486002)(26005)(41300700001)(478600001)(2906002)(6506007)(5660300002)(316002)(2616005)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2VVc0RTc0hNRldRV1VpZ0VEak5Md3lQUlUyVktKZDQyS1I4YlYzK0l0cmdM?=
 =?utf-8?B?SCtZYkJyR3NFL1NkdWpVblRFQU9kbE1vSFdtdkZHTy9tRVRaWjhhTmV3Vmd5?=
 =?utf-8?B?ZkpoTmlLMVl0amw3MDFEVjA1UUdvTTBtdlNZdkMxNlVhenpvbll2REU0dDVC?=
 =?utf-8?B?MGYyVjJZS1NoSDBFa042SjhFMU1FVG1nSnYvSXpSclNiVmlYSHJnUS9ZYVlE?=
 =?utf-8?B?eDJhc1RkQ081V1FOQmZ3S1B2KzF4aWdTTzdIY1NyV0lXSXorblhJcThtNlBv?=
 =?utf-8?B?U1B6dDVUY1BJN1AzNjZodGt6WFNraXN1THB1RWhiZFQxVWtDZWs0bTZuSzhF?=
 =?utf-8?B?NFRIakhrWVNhMkFPMjBGdENydHZsQ2poeVk1OGFSNEkyTUJzZkZoZThBaHJW?=
 =?utf-8?B?bkk3QjlwU0ZiWkR5Y0R5MzhUN3Z6dDRTSVdld1AxbjhCYWhmRk5PSEZrbGVQ?=
 =?utf-8?B?UW16ejEzV25jUkdmVERXanZkTEJuM0RkTnViNy9NTzJBdGZZZlJJaXhZRUp6?=
 =?utf-8?B?TjNiNjF0NGxDakpUeEt0cytLMDBFYUNJbzhYalpPK2pmMDdJVDI3SmJxMnMv?=
 =?utf-8?B?UWhzM1J1bDdKWlowbXdHeDhzR2FrNFJjRDBweHdVRHZRREtkTWREN2hRYTM1?=
 =?utf-8?B?czNZM2pvYkc3SEZQVHNwVkhSOFh0cndzc0c0dEZiMHA3T1IreWZ5WDE2Y3hJ?=
 =?utf-8?B?RFNYeTQ0MW1FcmVYZnFZSlRkQjFYaXRCV2dzN0NMVU5qRU5PUDVMN0Jtc1pi?=
 =?utf-8?B?aUFYZ1k4Q3RjemJoODZyK3RhaHQvalJ5b1R1UHJNWElyVk1nR1BjSlcwd2gx?=
 =?utf-8?B?bUNoRnVQd2xvNXgrRDA1WXJwU2F2Z2tBeVpyL0tEekVlaEdtV2ptZlJlSDVz?=
 =?utf-8?B?RGFmekxDazBMbi9JTDBTenlmYk9kTlc0QTYycHdVSWdxbUsvbnY4ei93M2J5?=
 =?utf-8?B?bkV2SHEwelBYVWFQUzBLRTc4d05FZ2NwWlVnWGlIZTZVZnMweHFjWUxLUXN1?=
 =?utf-8?B?ZHY1a1BkL1FFV0o3MDhCeVhDeEtrcTZnSUJKMzNpWkR5MmVLOVlUTk1UT21r?=
 =?utf-8?B?L0RDYUtSayszc2NqcExWR3JSS0FSOHVqSWtFQ3o5eHc3bnNjMkZrZUs3QTJl?=
 =?utf-8?B?a1FsbkxnVXZDSVFJSi9TRjBNS2d3b0FVbHVCRnhwN2RYY0pwUE8yZzdub2JE?=
 =?utf-8?B?QkVuMlV4eDEra0xLNTRSdyt2ZWNNTTZsTWduOTdRMW1MWkdKbTA3RWJhTEJS?=
 =?utf-8?B?WHlERnp2TWdWTGt4a0ZYLytKZFRCT2FYSjEwVlRzaWxKMS9XM0JzcG12aC9z?=
 =?utf-8?B?UVA4SUFwMUVMS1RnRFdqSUdBTzlCQTVBeDlzR1hWeDRxZEI3STRxUHZjdEdu?=
 =?utf-8?B?TmFySXptTmRjZm9GL0wxZXRQZW14VVlOZEorOVBWeW9DTWVwbjIwZXdDMVM2?=
 =?utf-8?B?clFQamY5bExIRkRzS2xaUHJBSXUxTEt1WFMraVJUZ1RkM1VRdzVweFQ4NXZl?=
 =?utf-8?B?SGJUTnNudFFvYWcvbDJySHZjdnEzOVQrNDRpWENuSm1JRzdvbjZTVEJYeFJo?=
 =?utf-8?B?clNsdDloYWNpUWh3SzNqN2ZHbmM0anB5TENzVkdWZGFuRW8yN0hJdWY2VlZF?=
 =?utf-8?B?R3J2ZVA1V1dUdGZzNkY0UUgybnlnem1nS3hmV1J4L01JYnBZVWVya1BOYkpM?=
 =?utf-8?B?Tjd3dUFBeHRNZGNlSkdlVmRNNDBVUG05SWRBeGxyZ3l6QjJtbGgxRk93bjd3?=
 =?utf-8?B?Q2xpemN0aGJpb0lZYUlSeHFhc2JkQzhLZ1JleTZhQi9sblhyYXhsM09lTmJo?=
 =?utf-8?B?OHArWlJKTE1VcUxGVTVqb2ZXaHRtK1NlK1NCZjQwQld6YkFJMVE2VlkrZmFQ?=
 =?utf-8?B?YjBkOHZHSXltenpwcXBZRFhCYXJGTStXd3BJV1dJbEc0U3gwT1NyaDV1dWJW?=
 =?utf-8?B?ZkttYldpczNNRGduWTl1eVZNcGY0cVo4QUNYbkRlSG92d0xOTlNiRVVxNVo4?=
 =?utf-8?B?TmZ1KzFTOXpoeEJXUmpxbEZ5WVp1OWtNL0tKZStqd0lWTXJxZjlkdTZGNnc4?=
 =?utf-8?B?R0JzakplNEI3emlYT3NubzFnOTlaWGhSZzlmRFNzWk05SWFJTUFSbHp4d1Zn?=
 =?utf-8?Q?H5cpYZ33ZcNgOKTxm3E6KxXWO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ac7bafa-2773-4fc4-f258-08da7eb19f9d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 11:30:57.9836
 (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: IGtmelzxdKB44DOtlwx3vfcc5rjSj6+Ihs1piu9OyZTQ1dot+21Tr40L849uAXqlSnJA4jizQNBT8YILYroQ5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB2948

On 15.08.2022 13:07, Dylanger Daly wrote:
> It would appear this issue isn't specific to the Lenovo Yoga Slim 7 ProX, someone else in the Qubes community is having the same issue (https://github.com/QubesOS/qubes-issues/issues/7620#issuecomment-1209114810)
> 
> Can anyone shed some light on what possibly might be making a Xen 4.14 Hypervisor crash after attempting to start a domU?

Well, to shed light on what's going on we need logged output, which I
understand isn't easy with laptops. Simply trying to guess what's
going wrong isn't very likely to lead us anywhere.

> Dom0 start's just fine, it 'feels' like a memory violation or DMA/IOMMU issue, because the VM does successfully start, however 1 or 2 seconds after it successfully boot the mouse (in dom0) locks up for 2-3 seconds and the entire device resets.

In the Qubes report there's talk of a 5s delay, which makes me assume
Xen crashes (or Dom0 reports itself crashed to Xen), which - unless
overridden - would result in a 5s delay (after logging state) until a
reboot would be attempted. This aspect could be verified by passing
"noreboot" on the Xen command line, in which case the device shouldn't
try to reboot itself at all. But all we'd learn from this is that
there's _some_ form of a crash (but not e.g. a triple fault), still
without knowing any details.

Jan

> I can't seem to get any logs at all, xen's console, dom0 dmesg and domU's dmesg all appear to be fine in the lead up to the crash. I assume no one has had a chance to use Xen on Ryzen 6000 (Rembrandt) yet due to the fact it's hard to get your hands on with the chip shortage etc.
> 
> I'm hoping it's something that can be fixed with a cmdline flag, it's very frustrating having this shiny new laptop sitting on my desk :P
> 
> Cheers all



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:33:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:33:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387300.623480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYLJ-0007hI-Ah; Mon, 15 Aug 2022 11:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387300.623480; Mon, 15 Aug 2022 11:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYLJ-0007hB-7o; Mon, 15 Aug 2022 11:33:13 +0000
Received: by outflank-mailman (input) for mailman id 387300;
 Mon, 15 Aug 2022 11:33:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dVr3=YT=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oNYLI-0007h3-JV
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:33:12 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09954e79-1c8e-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 13:33:10 +0200 (CEST)
Received: from [10.10.1.154] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1660563183208163.51664345215397;
 Mon, 15 Aug 2022 04:33:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09954e79-1c8e-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; t=1660563186; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=a2pVrLGVeiGWDPs13TpvQqBJ0Oe+WGErb72Nsnzn17fQEqnoeqeE/sdz/gdtAp68FAeSDmvLX+x/jTMnkQcM5cZ5xljXBlVR5dZvcgFvBSwfW60itCJ8uZuFg561fZQEZ1HvilEe59WR0wNSdCwjhraW35jXIa8y2O2qOqMBKcQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1660563186; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=soCfa/IHePpPuZ2nlzbzb1s7QwWxzLT8lyTnUAFPN1w=; 
	b=E/RpLTJGWNc0GqCC+ToIOsL6a4g/hU+aixz0yfqAw5XLsFXxyAfFJiLl6vZO4j4hnEyJm/DlZwodfoa3IDVNHk+zIeOscudzPwmSCXMV4IsivjUSMrMQDb9QJB3zRzcq15Eeb+CPozXX274iCcQ2UD04R9Y81nXGtIy1OejKzDY=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1660563186;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=soCfa/IHePpPuZ2nlzbzb1s7QwWxzLT8lyTnUAFPN1w=;
	b=XZzlsFPkQx2cT5Vk0hC1r9Vql7xvy/nYRU8WrKnRNqKz57PF9ayGVBLdWLKjMyWo
	KikrdIUijGEGqmeXWm1WIcUFHLkOllPjJ3C+92ltD+SfWj8DnQGigTRwEdqYM3cYMpU
	UFs8tQNqEH8Mr8MzPhHtKFOBZUmNk6GPPXh60g/I=
Message-ID: <89b2c8d6-e614-e819-4f4e-40bcf36a56f4@apertussolutions.com>
Date: Mon, 15 Aug 2022 07:31:42 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.8.0
Subject: Re: [XEN PATCH v4 11/32] tools/flask/utils: list build targets in
 $(TARGETS)
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>, Wei Liu <wl@xen.org>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-12-anthony.perard@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220811164845.38083-12-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/11/22 12:48, Anthony PERARD wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>
> ---
>   tools/flask/utils/Makefile | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/flask/utils/Makefile b/tools/flask/utils/Makefile
> index db567b13dc..6be134142a 100644
> --- a/tools/flask/utils/Makefile
> +++ b/tools/flask/utils/Makefile
> @@ -4,10 +4,10 @@ include $(XEN_ROOT)/tools/Rules.mk
>   CFLAGS += -Werror
>   CFLAGS += $(CFLAGS_libxenctrl)
>   
> -CLIENTS := flask-loadpolicy flask-setenforce flask-getenforce flask-label-pci flask-get-bool flask-set-bool
> +TARGETS := flask-loadpolicy flask-setenforce flask-getenforce flask-label-pci flask-get-bool flask-set-bool
>   
>   .PHONY: all
> -all: $(CLIENTS)
> +all: $(TARGETS)
>   
>   flask-loadpolicy: loadpolicy.o
>   	$(CC) $(LDFLAGS) $< $(LDLIBS) $(LDLIBS_libxenctrl) -o $@
> @@ -29,7 +29,7 @@ flask-set-bool: set-bool.o
>   
>   .PHONY: clean
>   clean:
> -	$(RM) *.o $(CLIENTS) $(DEPS_RM)
> +	$(RM) *.o $(TARGETS) $(DEPS_RM)
>   
>   .PHONY: distclean
>   distclean: clean
> @@ -37,10 +37,10 @@ distclean: clean
>   .PHONY: install
>   install: all
>   	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
> -	$(INSTALL_PROG) $(CLIENTS) $(DESTDIR)$(sbindir)
> +	$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(sbindir)
>   
>   .PHONY: uninstall
>   uninstall:
> -	rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(CLIENTS))
> +	rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(TARGETS))
>   
>   -include $(DEPS_INCLUDE)

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:36:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387309.623491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYOb-0008NF-Vh; Mon, 15 Aug 2022 11:36:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387309.623491; Mon, 15 Aug 2022 11:36:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYOb-0008N8-Sk; Mon, 15 Aug 2022 11:36:37 +0000
Received: by outflank-mailman (input) for mailman id 387309;
 Mon, 15 Aug 2022 11:36:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dVr3=YT=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oNYOa-0008N2-GL
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:36:36 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8354c1ba-1c8e-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 13:36:35 +0200 (CEST)
Received: from [10.10.1.154] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1660563379492959.2219808735848;
 Mon, 15 Aug 2022 04:36:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8354c1ba-1c8e-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; t=1660563383; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=hy11SL8CFRDbx1px1jS1qbtXN6nh8UhIeyuney7Apl9KTAoHl0ub/7n+3qVOvKK/GZCp9KyM1JsD8ikRj8TdmD4Qvh9LnXTOH9La/S/8W7n1IFC9vgYaFhhyjlADUf+lZbXCkpImXzhvkhVIN/7RYt9ciF4VTSGP2DKtsZzxpac=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1660563383; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=sydKm57zQ1MrCdXRUQUN5smgdD0KlEnUS0QeYB/s2r0=; 
	b=DEMwth6obuB6oUoBhtJCAjZ0PMMcD0kyj7XlBBETe26e5UpB34dBNm9HMRvA4lGZBFYgOpipTkTSCZqXR/TDwp5/ll31sr3bk5bpaHIR+Qe0W5D2ALo8uX8LnVvefGMDPIG1bvXdgKeuTMHmG3ve7NGxvLP4+Epu5W9uSAEjhcw=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1660563383;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=sydKm57zQ1MrCdXRUQUN5smgdD0KlEnUS0QeYB/s2r0=;
	b=JJhJvNBhiEpB7nT/UDrZREl8dZKZPecagFUzIsqnpo4u+hNIsQXF6+pd1gpeTuQU
	/pfaSKvf5cEx497HVuRRenAZbJwfN3Jnl6OgfQo+k0xdghAT6iNNWiiAcqg/O61s3iA
	T24BYy67pq4sRxxyuyWpeP+hgFx+RPefnKiOkbn4=
Message-ID: <2e9fb6f9-8f3b-6b88-1a6f-8c198b267f29@apertussolutions.com>
Date: Mon, 15 Aug 2022 07:34:59 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.8.0
Subject: Re: [XEN PATCH v4 21/32] tools: Remove -Werror everywhere else
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Christian Lindig <christian.lindig@citrix.com>, Wei Liu <wl@xen.org>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>, Tim Deegan <tim@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Juergen Gross <jgross@suse.com>, David Scott <dave@recoil.org>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-22-anthony.perard@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220811164845.38083-22-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/11/22 12:48, Anthony PERARD wrote:
> Patch "tools: Add -Werror by default to all tools/" have added
> "-Werror" to CFLAGS in tools/Rules.mk, remove it from every other
> makefiles as it is now duplicated.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Acked-by: Christian Lindig <christian.lindig@citrix.com>
> ---
>   tools/console/client/Makefile   | 1 -
>   tools/console/daemon/Makefile   | 1 -
>   tools/debugger/kdd/Makefile     | 1 -
>   tools/flask/utils/Makefile      | 1 -
>   tools/fuzz/cpu-policy/Makefile  | 2 +-
>   tools/misc/Makefile             | 1 -
>   tools/tests/cpu-policy/Makefile | 2 +-
>   tools/tests/depriv/Makefile     | 2 +-
>   tools/tests/resource/Makefile   | 1 -
>   tools/tests/tsx/Makefile        | 1 -
>   tools/tests/xenstore/Makefile   | 1 -
>   tools/xcutils/Makefile          | 2 --
>   tools/xenmon/Makefile           | 1 -
>   tools/xenpaging/Makefile        | 1 -
>   tools/xenpmd/Makefile           | 1 -
>   tools/xentop/Makefile           | 2 +-
>   tools/xentrace/Makefile         | 2 --
>   tools/xl/Makefile               | 2 +-
>   tools/debugger/gdbsx/Rules.mk   | 2 +-
>   tools/firmware/Rules.mk         | 2 --
>   tools/libfsimage/common.mk      | 2 +-
>   tools/libs/libs.mk              | 2 +-
>   tools/ocaml/common.make         | 2 +-
>   tools/xenstore/Makefile.common  | 1 -
>   24 files changed, 9 insertions(+), 27 deletions(-)

...

> diff --git a/tools/flask/utils/Makefile b/tools/flask/utils/Makefile
> index 6be134142a..88d7edb6b1 100644
> --- a/tools/flask/utils/Makefile
> +++ b/tools/flask/utils/Makefile
> @@ -1,7 +1,6 @@
>   XEN_ROOT=$(CURDIR)/../../..
>   include $(XEN_ROOT)/tools/Rules.mk
>   
> -CFLAGS += -Werror
>   CFLAGS += $(CFLAGS_libxenctrl)
>   
>   TARGETS := flask-loadpolicy flask-setenforce flask-getenforce flask-label-pci flask-get-bool flask-set-bool

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:42:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:42:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387317.623501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYTp-0001ME-Hp; Mon, 15 Aug 2022 11:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387317.623501; Mon, 15 Aug 2022 11:42:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYTp-0001M7-FA; Mon, 15 Aug 2022 11:42:01 +0000
Received: by outflank-mailman (input) for mailman id 387317;
 Mon, 15 Aug 2022 11:42:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNYTo-0001M1-2w
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:42:00 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2045.outbound.protection.outlook.com [40.107.20.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 455e09cb-1c8f-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 13:41:59 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7914.eurprd04.prod.outlook.com (2603:10a6:10:1f0::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 11:41:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 11:41:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 455e09cb-1c8f-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lIyqheKbvZw2hK3nOTir24eVR900CipsIZp1jGmA+VSk26W/J2a+MtU/GpWMiFeFZp60LTU6rkBCxxTEtWbKMoM6V6irVmIcn7faT40MWUVTdLojXwPZNjE+2sShmqbdEyZen6a89059fDWKPdPY8DgPGDqczQMYMXDU7ZuOMAhmfPS1ywiItt3o/QUn+6rw2IvtUBeulssV5edFAndK7gOnzwPdSRCLnmUSClKFEpBURuSCTczNp8yChV7OFrA9BsVrhDV0om16vum0aD8dsZxmcoMkeHkmQeCcBPxKizzoStIO3wlL5ImBY4FsHGyl73gO4In7MlmfJpnO2gXNlg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6c5Xnjox/aFnKyU2Sf7zKAlWPBsEHfz6jZpO+CsRjB0=;
 b=kbw1KteXdnty3AAH0t3MfH2udpAHUim09CqcNEof++MRrVzlG6DhBoUaxCU5Kfxt/h9x9XpU88nnlbRwzkum21/Y7SaPjO8mEtyqfgzJMB3+uTemh/arvhQDJbvoCYT6heSNLy2d111jy+FitGRw8G2Lgu0XIQq/hkjczTL0eLClSDTmM8DO89P5UTyX9FXOrDtsKW8j0mGkjJsITuXCHgtSvAI4E6ly5Lod/jEzrXEUON8fIChRKiGv1lVWeY9PA4vWHUJI4abNTolezky8jKL5ZRm99WwfyJZTDSLObqdk+HtRYT5CTfFrkAqb1hr150j98w6qbsZNM1SHZLSx5g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6c5Xnjox/aFnKyU2Sf7zKAlWPBsEHfz6jZpO+CsRjB0=;
 b=i9v0aSV7PGhenLdqmhA9FucPoJDOsXDMeAmiJvX6wsya1FJ3yV8FcvrumUV5TPIDl4sK6l7psdOFs7iNx3rL0/BxERhB+RZ1bh5xQNxismyGyg1Ap52WbZcww9mlxKqhJPIgLSysa+9CmoaheH+PknHA2HOLeiWNKqGmfKOBzQXi6CZEj9ipSM/Sv/Hpf7IF7xhHKiUS4y4zlh5fEMnEQ0ZLSARsDf+hzJ86j+xoDV7vIgGNDIHkkM8CKjEKORNMrVcgwoYBfRfvQMxR7iN8JpFQMODzBHPZd3zsL0JwG/TQLU71dPpFk24k7mxVPwhfzA0MiBOpBQeipod2wsRvuw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9abc061b-2d98-ace8-af4b-0881a5737dd6@suse.com>
Date: Mon, 15 Aug 2022 13:41:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 1/3] xen/sched: introduce
 cpupool_update_node_affinity()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220815110410.19872-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0097.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ea53ca3a-7d56-41e5-0f64-08da7eb3272d
X-MS-TrafficTypeDiagnostic: DBBPR04MB7914:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qFbb3ihLTSUa6y5vEpiBC6wmLWov24AJln1AobYLpUTVkpMdOUSajukQ8S/F5czRGVhgp8QJ6yAcDQ8tMZY6JZQySpPaniNqVb+TofAOB+KKbxeUYKl+F1iQph5FFPFFdatCPT8e2/LEwQg/DUsgT8Z7QTl+mv/sOp46qN1Fx649lGRFHVBfX/iw9cp/2dCvC+H7TcAoo3itQwM8qu5ZEV9l7SPBHhitE7P5b74x/8hVhXBvlqLO21i0cdiDl4E6w1mjYb48wt8QlO0mu7zghJmRROMU0K7rBc1vqHqp72uRjn5TCrTpVngMx+eXbxuVwfwtLImGR/04V98omLez2yNwjs5Hkm9Tn73dAyDNScgr20ZSBkD+JKTh8XDHSrDAbUCtyQX+Fouodfev6AX355UBWLfQcbBPM13UdbmGcIibn+xox2mEJTREJ/zPw2C7dYR3ddBkPDc9Ia8c4OqwQDgL7Rkz5gzgagwlyyoJVcUlIJqkv0tVgZJZmjwK70tsQyy1wZRlNAQ/Vsw1MMmZUj21m1cB+baQ0IyNcyCZ9El/qDgCC1H3fnszfpYstPEgS/Um0dB5llef4wmv/TY7/d7PITSl61AMouxzJXi8xtnSoFCeECY5eaiG3mzoPxvaGRw1BuG/T229Xjd1H/YIiip1WGfcnrnNmFhAw0DzmO9biRHpx/NQrqsVBRa/YknZEXtxr1mn0yddSGramD2J4ChIsUXu4ULr+qyJR4uqhHhtMgj8RF9TKu3UMN22VOfIEn/0GVkAkHT0hdIImh1W1dJ4okd/3CbwAigLEmkw/DgIlwLPttikcIpt6LTJm7sS5xRQrsR1lqTj0+YDHc6+bQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(346002)(396003)(136003)(376002)(26005)(6506007)(38100700002)(5660300002)(53546011)(6862004)(6512007)(478600001)(6486002)(31696002)(8936002)(86362001)(66476007)(4326008)(316002)(6636002)(54906003)(8676002)(41300700001)(2906002)(31686004)(83380400001)(2616005)(66556008)(186003)(36756003)(37006003)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1JvNGFaY0tXalByMlpnZmZpM0NHbHFTUlE1Y0NzSm9WQ0xGVFpTM0Q4UE9a?=
 =?utf-8?B?YTA3L2prNWJqdmUwcTN6TU5XczJkenJNWG96WTQzeHMzaU0vVE45U1RzWDU5?=
 =?utf-8?B?Z0ZhRCtjeTV3VXZ3c2NYY1pFWkViZlZFcG42TWt0ZklBQlVWVEdkdzBFcDIw?=
 =?utf-8?B?NHY4YUVSbk1mQi9RRWxDdUpBajdlMHlUQ3JSSkhuejJQeEpCeVlrTzNjVm9O?=
 =?utf-8?B?Rzd4V1hnZ3l6M20ySzJEc2lrZHl6Ly9tZ0JHcWhFdlVOMkt1UEtyOHlTZHNj?=
 =?utf-8?B?Z3dHRm5EUU1mQWJVVUtTWTdZMnNoTWV3UGdSQS81ZTJxUzJhZ2lyVm9sV3dX?=
 =?utf-8?B?U2htRDlES25QT2dLSzJ5UkZscXBBT2swNDFncThzYk0xaHBoY2pNVnk1a3ZY?=
 =?utf-8?B?UGNrcElSNStUbzN1aUhZNG1FSTlpRU9FRWs1SUFBYWx0aVMyQjVTL1B5eExz?=
 =?utf-8?B?NmtzTkIwVUx0V1RrK1ZPMDcvdkJEemtDZW50eGlDZFJqOXQ1ZlBCVE5RbmJ6?=
 =?utf-8?B?a0phczl4UmdtVTB5OUMzZHY4Q2Nqd1M1eHpEaFd4VDd4N3BjbS9ZR2h0aVFk?=
 =?utf-8?B?aDEyZzNBemU3bUJQc3RGTnFuT1RXalhZOTQ3NWJnKzZuWnVtbElaTzB4VkFr?=
 =?utf-8?B?VmxPVFZPM0VhdStxcGtOS0RNUFU2eW93Rjh4c1Fia0VGUVM3VisvaW96Yld1?=
 =?utf-8?B?SXZRMEc1Z3hRQkUvdFh4RWhHSHE3ei83TFlhRFNIODIwUWpETGl5NGl0eFdr?=
 =?utf-8?B?Ty9MZjFvSFgySW93UjhienpJcEN4MDB1dU9mTDBqdlNMN3l3NlM1OENyTmwv?=
 =?utf-8?B?ZUczdHRDNGhFKzAvR29ENXlZQmVBT2U5ZVBrcXNFby9pOVhYUUJlUVlScWlH?=
 =?utf-8?B?NG14TWJ6RHZNNW9lNlZlQXBjYzdMY3dmVTg0ZXRtOW45RWxwcXpUa0hjTmZq?=
 =?utf-8?B?dlJRYzlaaGsvRHBGZUQvQlBzT0VJRkE0K09CcUVSRy9IL2RSQ0tSUVAya0FH?=
 =?utf-8?B?dXI3U2ZaOERON0laVGRob0g4NjNockRDblBhN0o5OVhNRHY5Yitma2dDZWlC?=
 =?utf-8?B?K3pCYTlpdFR6R095NHBjeS9XdTFQNmx0NW9NeUpaa010eGdFQjhYL055TDNP?=
 =?utf-8?B?VlFIdjhWQ1Z3dk9vT2lnemtKM0I4VGhscS9wa1REU0JvcUpSenQ5Nk1kbUN4?=
 =?utf-8?B?TTIxR0luTzdEcVlJRm83Uk52a0o0dlJLRUdEMlEvN1RXTGlXcE0yZlE3Uklj?=
 =?utf-8?B?NWhZeEdrSkwvYjdmRFlrWmJ3WW9EZXVEVnRKMW9URGcyWDJFTmo5djNCRnNo?=
 =?utf-8?B?cFN4Vkt3Y0VWSWFJM3VQVkxtZi9PY0poZnZWNjg5UTFUZ25HdjJHRzZqdGlR?=
 =?utf-8?B?RW1BTzRZcnEyZXVVQzVRTmxWZlVsTG0zeTBEeU93WGpMb2pFMStBdHJSRGNY?=
 =?utf-8?B?OFRaZ2pFYlJCVlMyN0RCZ2JpYzhldktQRHJENjlYYnh3dElHM3FqRmZGSVF4?=
 =?utf-8?B?dWp5U2lLNUttZS9Uc1hIbDhjZE9aem90ck1YTldKczNmWm1GbmMwekc5VTVI?=
 =?utf-8?B?MW9lVmVJYnF5NS9qTFNrNCtyTzM1UEkyb0xEajcrek5BV2dqd3hBcEN4ZUkw?=
 =?utf-8?B?WEh0REE3L0VEOWVlbFhxSXMxNVZlai90TUhqdWRvbEJqN1I5U0phSW56Q1dK?=
 =?utf-8?B?ekZPc2I2SjZ6T3lyQUlkR0JjUlY1SHVIdHY5K2l3bmo0bXBkZ1A2YTZMNlA4?=
 =?utf-8?B?ZkFZbndjaExNS2NVbXRVRG9RcTFDQ1JIRnZSSHV0TUNha1JZaGtaVGU5by9M?=
 =?utf-8?B?M0Rsd2d4di9ENDBMVTNMVzZmZHcxcmt4K0Z2SENOS1pGd084bkw1ZXpFOE9z?=
 =?utf-8?B?VldaTWppeUJCUTg5Y0RtNzkvZmI0ZHprdzhMaEpRMmc1SUluc3c3WVZRdTBw?=
 =?utf-8?B?RFgvTDlQUVV0cCs3dkRQenY0am03cGp4WTNuY0hOaDJBM21qV1dyWDJnOE0r?=
 =?utf-8?B?NHdPZXVZaUg4TzgwOUxTQU1RL1d2N1JlSEE5bVlzMEdVYVNLNFBJWW93QSt5?=
 =?utf-8?B?elRqdDFkelFtMXVrUFVSYVlQVEtrVTRPT05sNmVkV2hETk1mK0JVSlZ6NFVl?=
 =?utf-8?Q?3TcS4izeVQ/rq6W2bpZbAvi7E?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ea53ca3a-7d56-41e5-0f64-08da7eb3272d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 11:41:54.8950
 (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: CSL69aqzl/v4BTBVKauzqlhNBLD0XjssvK3ZG2g8stgtZQrf0xnmbt7h3XAEvzgr+ZKmPFaEA3U3gUdQGvV/Zg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7914

On 15.08.2022 13:04, Juergen Gross wrote:
> For updating the node affinities of all domains in a cpupool add a new
> function cpupool_update_node_affinity().
> 
> In order to avoid multiple allocations of cpumasks carve out memory
> allocation and freeing from domain_update_node_affinity() into new
> helpers, which can be used by cpupool_update_node_affinity().
> 
> Modify domain_update_node_affinity() to take an additional parameter
> for passing the allocated memory in and to allocate and free the memory
> via the new helpers in case NULL was passed.
> 
> This will help later to pre-allocate the cpumasks in order to avoid
> allocations in stop-machine context.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with the observation that ...

> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1824,9 +1824,28 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
>      return ret;
>  }
>  
> -void domain_update_node_affinity(struct domain *d)
> +bool update_node_aff_alloc(struct affinity_masks *affinity)
>  {
> -    cpumask_var_t dom_cpumask, dom_cpumask_soft;
> +    if ( !alloc_cpumask_var(&affinity->hard) )
> +        return false;
> +    if ( !alloc_cpumask_var(&affinity->soft) )
> +    {
> +        free_cpumask_var(affinity->hard);
> +        return false;
> +    }
> +
> +    return true;
> +}
> +
> +void update_node_aff_free(struct affinity_masks *affinity)
> +{
> +    free_cpumask_var(affinity->soft);
> +    free_cpumask_var(affinity->hard);
> +}
> +
> +void domain_update_node_aff(struct domain *d, struct affinity_masks *affinity)
> +{
> +    struct affinity_masks masks = { };

... the initializer doesn't really look to be needed here, just like
you don't have one in cpupool_update_node_affinity(). The one thing
I'm not sure about is whether old gcc might mis-report a potentially
uninitialized variable with the initializer dropped ...

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:50:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387325.623512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYcD-0002ph-DE; Mon, 15 Aug 2022 11:50:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387325.623512; Mon, 15 Aug 2022 11:50:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYcD-0002pa-AC; Mon, 15 Aug 2022 11:50:41 +0000
Received: by outflank-mailman (input) for mailman id 387325;
 Mon, 15 Aug 2022 11:50:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ks0i=YT=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oNYcC-0002pU-88
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:50:40 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b3e827d-1c90-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 13:50:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b3e827d-1c90-11ed-924f-1f966e50362f
Date: Mon, 15 Aug 2022 11:50:32 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1660564238; x=1660823438;
	bh=hRQlxPddwCf9sjX6+JyFNo/XCvoa8HfQQiAJC3fW6uc=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=LEEwrb8yPxwI5/3N424PTxM7XKRgmd5uTNcyjeWzvbhHPv8OWO36pShlkCz/BUSi+
	 hpD1V+YTxynKZXirm8MAfUP8ljO7SSFFK6YYyr4jm5CrzXWMf9KgvSdSBphtRBBbWP
	 itRSBGgocmUxMMogZq9rB8R1m4UmOxYWinCTWiPmiv1v1dmzvVZ9iwqqCXTGLt6u7W
	 lQMMVjHLlFq76YaSQ6H0o5z0DUhykN0UrkbzG/tCW0S9Xz8AoXGkAFu5ZRPBoeBdll
	 PGzSEK0Mes87eeGUdy8T76x2eFFSJyCREzEhOadf2eFXlYy9C2Uv6duS7z68LegNhr
	 Y9P0i6IgLfOeA==
To: jbeulich@suse.com
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <hmW-sWMVRYCoU-mAfrk4S7t4r2n26KUbGH8niCwfyCgij4Xj8cur2HVqAbrwbf-slNF8JQlARIWuMpAUhNTUf4peJCMMKUO4lhl-WvC2F2g=@protonmail.com>
In-Reply-To: <2155eb83-e421-1f55-75ca-d9e828b609de@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com> <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com> <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com> <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com> <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com> <2155eb83-e421-1f55-75ca-d9e828b609de@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="b1_bYAbNR41mPSdwCPVBcOM7UejgfDoq4vp7zlYAFbxOiU"

This is a multi-part message in MIME format.

--b1_bYAbNR41mPSdwCPVBcOM7UejgfDoq4vp7zlYAFbxOiU
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLAoKSW5kZWVkIGFkZGluZyBub3JlYm9vdCBkb2VzIHJlc3VsdCBpbiB0aGUgZGV2aWNl
IGp1c3QgaGFuZ2luZyB0aGVyZSBhZnRlciBzdGFydGluZyBhIFZNLgoKSSB3b25kZXIgaWYgaXQn
cyBwb3NzaWJsZSB0byBoYXZlIFhlbiB3cml0ZSBvdXQgaXQncyBsb2cgdG8gc29tZSBtZW1vcnkg
YWRkcmVzcywgaG9waW5nIGl0J3MgZG9pbmcgYSB3YXJtIHJlc2V0IHRoZSBsb2cgbWVzc2FnZXMg
c2hvdWxkIHN0aWxsIGJlIHByZXNlbnQuCgpDaGVlcnM=

--b1_bYAbNR41mPSdwCPVBcOM7UejgfDoq4vp7zlYAFbxOiU
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLDxicj48YnI+SW5kZWVkIGFkZGluZyBub3JlYm9vdCBkb2VzIHJlc3VsdCBpbiB0aGUg
ZGV2aWNlIGp1c3QgaGFuZ2luZyB0aGVyZSBhZnRlciBzdGFydGluZyBhIFZNLjxicj48YnI+SSB3
b25kZXIgaWYgaXQncyBwb3NzaWJsZSB0byBoYXZlIFhlbiB3cml0ZSBvdXQgaXQncyBsb2cgdG8g
c29tZSBtZW1vcnkgYWRkcmVzcywgaG9waW5nIGl0J3MgZG9pbmcgYSB3YXJtIHJlc2V0IHRoZSBs
b2cgbWVzc2FnZXMgc2hvdWxkIHN0aWxsIGJlIHByZXNlbnQuPGJyPjxicj5DaGVlcnM=


--b1_bYAbNR41mPSdwCPVBcOM7UejgfDoq4vp7zlYAFbxOiU--



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:52:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387332.623524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYe0-0003PO-OJ; Mon, 15 Aug 2022 11:52:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387332.623524; Mon, 15 Aug 2022 11:52:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYe0-0003PH-LW; Mon, 15 Aug 2022 11:52:32 +0000
Received: by outflank-mailman (input) for mailman id 387332;
 Mon, 15 Aug 2022 11:52:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNYdz-0003P9-E6
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:52:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2065.outbound.protection.outlook.com [40.107.20.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd9ff628-1c90-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 13:52:30 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6103.eurprd04.prod.outlook.com (2603:10a6:20b:72::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Mon, 15 Aug
 2022 11:52:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 11:52:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd9ff628-1c90-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=irtu8H+Eqx2pq0fB20iIkcXc3biyitkTOeTMEJI8LuE9QgZ1ec6zGZOwxgA7xxuE1+LQy2GM/f4f11WtPI6eZIVNgbNSzC3YS12UPy90KeQ0v0f/kun/82rCAHE7+g3/YAMPYUg6Kd0T4XML7TFX+FPW4IfV1KrnmUrTqpxlrWUnENq6Q75e9/KNQrBa8e0+oIXuEvhSegN01l9AWb4DlUlZtbpm3w6VgVOMCjF/ZNo3D8nLmNz7nu0I1Btde2B1uFbXEtxTgMhJqEaeQVi0JAfM+jBTnFbbk3fVcPFUAs2k3Uu4gqFsViHXjrBlGKJTERX4y7l2zPwSG2YocL3vJg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8T/K5RSB4gWzuJvP0fFBZhtL9P63/W+kn6XM/TB6dHo=;
 b=Gl4Av4c5wm3LaqXpixrr8Jlz+t0jqF7ooPyD36f9i6nZ5V3N8qz9yP/KhiDlgyCvJmJ99RwdA2ybjQDQR0iWnTWqwU+mYtM4IWHNrlsAZjDIGn2FGFhQZbeP9wRCc94ECtNJSl8s9I7THx3xLNrpIzECaHHUjBgKF8+DdTTY/yRnMgh6ZyCi+ttyp+oO9zM4V/CfuXco4Fr/uicrt1xvUPaKTfZnLefi5y4EnXxScZJttfwsA1EIk2ZVlH8jH4jsaWYCbryvrCgHQ0fKxFnef7Jc1zX2C4nQX0yVob9ycDNQ/0Ko5BtvvWiayAtWYefueRaSOdCxtWivPOdI5WAQug==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8T/K5RSB4gWzuJvP0fFBZhtL9P63/W+kn6XM/TB6dHo=;
 b=IZhcceSWVzkPD4L2WOow7GWaozCUMtArBy88qz+aghARVxNlI/USH0/LZs3+qENewVtsq9lUEbylh5YtScHsxmx9vXqXkP8hda82IJTzqmP0M+5WwtF5v+M2ioTKDArdjM+c3W/AfrTlM0cpm+C+fUr46dOWyG5+5Xz1pyJ8fccn9ubzeY9XFkkdOb3hLcgg7uF+YAQYIJMVFiC+RXwmU9i4Tsw9caWr2/H6a8/nnN+6SADz+c+VN5cJkpLO/pvqx7TGViuSRgHkrz/DFX4jTEvDomXyne/deQWH7elQd27Hlru3+lO3OQOEkJynvs3PmLw2Eleal0i2yWTohlpVrw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
Date: Mon, 15 Aug 2022 13:52:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220815110410.19872-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2b5b6ebb-c6a4-46a2-63c3-08da7eb4a043
X-MS-TrafficTypeDiagnostic: AM6PR04MB6103:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cJJbALt/DHa6scGxQaMiai+NbXmEBrwr6XrsN3NX0GseS6nhcMkfMyYP04CIWBtcEy6Z04uHyJeao1GR8K1S6cLhhQ8kYBTo2Sg3KUANCZvTx0aaYclmviSs96SnWfL5ifAbJ1y5TViVw1wtJokmwjoSOjjs/NetgSG/NadDFXsVPvTzi1rxz5wXWm8L2eECcerLYeL7nURaLKoxQ5ryIPhoojIFUsoYZ09RaZYuKAru7w7eUux/Zf35jCX74Eip+Z6rJEOeG+DAeL13gsYqsaKisIlM4NMSnCUk+apIYqVwMKUihcAi2n73bfIQ075BLx+InPuU4ktmajuNcTfeJUQlQspKYJCGk54eAF5Ue4opNUZ/Q/bPwjtDa7Xkr6e0hpmr1FA1Yac2YM/Zxa9FOtTYQ1iaZq98iFUZ3k1bqLao9rDcQXvsAPXxKsihmC+0yrMLKt3XHxaDDnC97/GZlTWmI7xSBZOlecDUQFT9LZXuxTT+anLkBMtw7btMz84iF3YDRQy/mFEPWch9rpzhZBG8ZZ/xwFjiFZEODZUvb0jCi1KeMFeHkWQQrnOrGPHiXKa8c4HCiP1biB6+cJP9Ots7qpN0pO+82P3Vm8IqaBn3zRxBo3bg/efKRg0eT/rZOh7jncYTivfw50HVQxwf1dJ7vcnmXUaWKiPM3xS5Z7vmjBGL/kENUpDm7VI+oY4Dk5hYmKFzr1b618eqZHI9t9q0NzTt4Mf9eAJ4xOBRpHsnLVmi+TK/Bh/Fuaum3kNmt5AK0YnAxu5FTb+1NN/jj8Nr2WGtmNughG8PW9IOBmyBBFie6FlvnaDTNyRPf1Tq1PxYw54KaMJEe/ZIfTcwqw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(136003)(366004)(39860400002)(376002)(8936002)(6862004)(41300700001)(5660300002)(54906003)(316002)(6636002)(37006003)(66476007)(31696002)(86362001)(478600001)(66556008)(66946007)(8676002)(4326008)(6486002)(2906002)(53546011)(6512007)(26005)(83380400001)(2616005)(38100700002)(186003)(4744005)(6506007)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V0VMaklpRDFZMythMDErYWFqVGQvbE10SWFzVlVXUVp2aEM2R2FST3dMeHNW?=
 =?utf-8?B?c3l3ZE82MTc2cDN6SUJZQUpxYnFCTEtwQlZWTVlUMDFzeGlmeDNxeVpwbjl2?=
 =?utf-8?B?VE82QzBrbXlVUG9EbHQwMFBUY1pnRW5DWldhN0liYkd4M1BIMWJpUUZMZk1j?=
 =?utf-8?B?VTMzQ1RQT3paQmlSdE9PQ25TVkVVMzkwbS9pUXgrTnBVdFVRUTBXMXBIQ0hy?=
 =?utf-8?B?dnNPZEFzaFRNOXhsVVRYcElGek5aSmpmU0wyYW9SQzJOYzNCVm1XWFc5ZUgx?=
 =?utf-8?B?YW1ocWszV0phV2NxYVR1Y2I3NE8zenZ0b0JRMlk3VlN5ZUZ6Tk04KzdvR3dm?=
 =?utf-8?B?VDBSWHNiT2tYdkNNVEhHazlOaGZHVzlJU0xla2dhWFpGNG1yQzhBa3NYbTFI?=
 =?utf-8?B?MWVjYm1NU24yeDl4YlZtVFNtbG5GYTZXVng5ZmYwQnVoR0svWkZibzFwcVJP?=
 =?utf-8?B?cy9YdnFoN05Velh4SXFpR2Q0N1N3RUZwcUJjRmk5UFVnNVlpWnRFMVpoaWdT?=
 =?utf-8?B?WGhRUUc3cC91MDV2WVFJTmtCZnhoZThuMTVmclBTa3dxTUtyNVpDUC9kZ2JE?=
 =?utf-8?B?VHJGMlRxVHBlZEVpc3BOOU5YWG1hTzNwYXpSOWF5dGhtTENFUWRPejIrVnV3?=
 =?utf-8?B?b0pXNVVqcHhDNUVtdTFVZ0pCVjVjMGlWYllHR2ZTd1dFMFNrMVdvcGJ0RVF4?=
 =?utf-8?B?Zk5sVFFrRWF5TS9zN3ZFMTJSS3daNFcvZVUraDluYVBSRnV1T2VxemRnUHFF?=
 =?utf-8?B?OWZrenN5aTNrWU1UTlRGVHJOZjUxek5hSnU0Q2FGakM5RlVHaWhVTlhnVGJ3?=
 =?utf-8?B?ZTl4Q0pUazFTK2hQKzd2WWhJT21Ob1RSZXFYMG9KcDhPY1lsYXJzSktPRVBN?=
 =?utf-8?B?TU8xN2w1cjZsbjZETDZhTDliSDVDbzBHdWE0dzJCcTlUM2dKemRaMklocWJ4?=
 =?utf-8?B?cjE5aEpkVkFHTnUzNWJob0MrYzR2YmlFMHdtalhOQmdXQXc1aGNSZmNZclps?=
 =?utf-8?B?bmtxdjdkNG9VS0lpR3pIOHNBbDNidEhkbEkrMlZaV2pzNnVTbEUyMzVnMlly?=
 =?utf-8?B?ek5aZDF6RDU1NlUrWkFBaDFvZnZZSGNQQWlab0VvTXNOQzl5VHBQS2FJZGl4?=
 =?utf-8?B?ZktpbW5qa1d3MmVPVUllYUN6a1RqUE5ocFhGOVIxVzQvUkhQaTErWnRpMW56?=
 =?utf-8?B?Ums0dEFtRzJlYmdLVzc0SUtpaG1LMnlKZkI4SVBWUDM0emJkQ3E1dXJyZkVx?=
 =?utf-8?B?dHQ2WHRJam93dVNWM0pkQ2JOaHZvcjUwakxJa0hzQk51SS95Y0xqamhFZmNs?=
 =?utf-8?B?ZWVlOUJ5NTJ6NGxUYkYxUXY4TUVsYy9Ua2hxQm5Ba0J2dDRDS29xZERoOEtl?=
 =?utf-8?B?bGdYaGJyenNGY1o0TkdUaG0rK0o4UVZkMkJCaHNncU5zdURMaXdva0FFQ09B?=
 =?utf-8?B?cUljQVNOVWRRcUR4aDJlSy9rREFZYUYxRjd4akN2Y3M0S2ZDNHNpNitYM0FG?=
 =?utf-8?B?YVVxMEhMblo5bHVCQnpCQjc5MlB2TFdWQW96cTVvdGdpT0RwY2s4TkwxR1B1?=
 =?utf-8?B?emk2VDRZL3M0YXF3c1lsUnlmd05NZytjVG5kN3pDV1NDMzNpNnZGVzJzTTJn?=
 =?utf-8?B?RXZaNjhSYnJ3Ykk1d2Zka1F6RldGS3plNThvZ3k4Y0lqOWlEOEVhN2l0by9B?=
 =?utf-8?B?M24yQWNIWEVkSGxiNmwxL2oxUXRSbEYzNHlmZ1pjRFVydnEydzkvaDhSMysr?=
 =?utf-8?B?VXMrTE9Jak1rVTExU2dJSUMrNTVzaHNrQlZvZzVIQ1hWQlhLVEFFdUx2dFhS?=
 =?utf-8?B?UjZWZEpTTFp2ZktYTEpDRGNmbUl2elE2alBkeERCdmRVOVIybDJOTlY1YU1q?=
 =?utf-8?B?NlJLTGVBeXVNcGtMVW5PNGExYUlrV0dQMkxMUFJZM2loZ2NIUWo3RXVlUVV6?=
 =?utf-8?B?a1BZWXBvc3RJZUVybCtFM2R6UmRDWVNBSjdSNGFGMmVqaDlkeElUSkYxN2I4?=
 =?utf-8?B?bzkzRUk4OUkwUmlTaGhGR0RaL2xaZ2ZieTJHZWxDRlhpZ2xPYlpBSTZiSWl3?=
 =?utf-8?B?SFpNQ21yMnE2TmNIampwWGN6aThMZjczaC83ZjExZVpMS0FIZWI1TFFzd2Jv?=
 =?utf-8?Q?TfZnKFSL/kToZokAmfLQr1/yy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b5b6ebb-c6a4-46a2-63c3-08da7eb4a043
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 11:52:27.5736
 (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: 8HdYOKc8QttejwHh+gZVYhGQ7V1NFKK2u+qDCf0KPfHbG8velt8WQe6l9p5JS0QN9F6EcP9hRk11k/b4b7DYmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6103

On 15.08.2022 13:04, Juergen Gross wrote:
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -3237,6 +3237,65 @@ out:
>      return ret;
>  }
>  
> +static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
> +{
> +    struct cpu_rm_data *data;
> +    const struct sched_resource *sr;
> +    unsigned int idx;
> +
> +    rcu_read_lock(&sched_res_rculock);
> +
> +    sr = get_sched_res(cpu);
> +    data = xmalloc_flex_struct(struct cpu_rm_data, sr, sr->granularity - 1);
> +    if ( !data )
> +        goto out;
> +
> +    data->old_ops = sr->scheduler;
> +    data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
> +    data->ppriv_old = sr->sched_priv;

Repeating a v1 comment:

"At least from an abstract perspective, doesn't reading fields from
 sr require the RCU lock to be held continuously (i.e. not dropping
 it at the end of this function and re-acquiring it in the caller)?"

Initially I thought you did respond to this in some way, but when
looking for a matching reply I couldn't find one.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:55:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387343.623535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYhB-00046q-By; Mon, 15 Aug 2022 11:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387343.623535; Mon, 15 Aug 2022 11:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYhB-00046j-9L; Mon, 15 Aug 2022 11:55:49 +0000
Received: by outflank-mailman (input) for mailman id 387343;
 Mon, 15 Aug 2022 11:55:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNYh9-00046d-Ib
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:55:47 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 328765ae-1c91-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 13:55:46 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E051835332;
 Mon, 15 Aug 2022 11:55:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B581813A93;
 Mon, 15 Aug 2022 11:55:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5a8cKkE0+mJVHQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 11:55:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 328765ae-1c91-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660564545; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Lf7gx5Gib6EhxOOUMsx/oDMboLEQOrpNW9+B1A2Rnqs=;
	b=DXGpFZP/ksvx/u4YTQ4IWPVez6ntBvP/jjdYKnjhAnKkSJ/A003PRiyTSrIRE1yxHL0a9Q
	bnvfo0DcUfIfL18sIMG/VIfwB4YUNzLjfUPAzQenZpk+KYBpbKKcAtpF5w+dOERyCP4Zob
	MrAjgiQyIkrW20z95uchCgkbHT4aGy0=
Message-ID: <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
Date: Mon, 15 Aug 2022 13:55:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------LiECz5IL402EVV0sZab1bEdL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------LiECz5IL402EVV0sZab1bEdL
Content-Type: multipart/mixed; boundary="------------lkjkH00VmskvY0pf0RPgQZT8";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Message-ID: <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
In-Reply-To: <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>

--------------lkjkH00VmskvY0pf0RPgQZT8
Content-Type: multipart/mixed; boundary="------------EJGex0I7DteI6I07vmGUrU9N"

--------------EJGex0I7DteI6I07vmGUrU9N
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjIgMTM6NTIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNS4wOC4yMDIy
IDEzOjA0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEveGVuL2NvbW1vbi9zY2hl
ZC9jb3JlLmMNCj4+ICsrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+PiBAQCAtMzIz
Nyw2ICszMjM3LDY1IEBAIG91dDoNCj4+ICAgICAgIHJldHVybiByZXQ7DQo+PiAgIH0NCj4+
ICAgDQo+PiArc3RhdGljIHN0cnVjdCBjcHVfcm1fZGF0YSAqc2NoZWR1bGVfY3B1X3JtX2Fs
bG9jKHVuc2lnbmVkIGludCBjcHUpDQo+PiArew0KPj4gKyAgICBzdHJ1Y3QgY3B1X3JtX2Rh
dGEgKmRhdGE7DQo+PiArICAgIGNvbnN0IHN0cnVjdCBzY2hlZF9yZXNvdXJjZSAqc3I7DQo+
PiArICAgIHVuc2lnbmVkIGludCBpZHg7DQo+PiArDQo+PiArICAgIHJjdV9yZWFkX2xvY2so
JnNjaGVkX3Jlc19yY3Vsb2NrKTsNCj4+ICsNCj4+ICsgICAgc3IgPSBnZXRfc2NoZWRfcmVz
KGNwdSk7DQo+PiArICAgIGRhdGEgPSB4bWFsbG9jX2ZsZXhfc3RydWN0KHN0cnVjdCBjcHVf
cm1fZGF0YSwgc3IsIHNyLT5ncmFudWxhcml0eSAtIDEpOw0KPj4gKyAgICBpZiAoICFkYXRh
ICkNCj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4gKw0KPj4gKyAgICBkYXRhLT5vbGRfb3Bz
ID0gc3ItPnNjaGVkdWxlcjsNCj4+ICsgICAgZGF0YS0+dnByaXZfb2xkID0gaWRsZV92Y3B1
W2NwdV0tPnNjaGVkX3VuaXQtPnByaXY7DQo+PiArICAgIGRhdGEtPnBwcml2X29sZCA9IHNy
LT5zY2hlZF9wcml2Ow0KPiANCj4gUmVwZWF0aW5nIGEgdjEgY29tbWVudDoNCj4gDQo+ICJB
dCBsZWFzdCBmcm9tIGFuIGFic3RyYWN0IHBlcnNwZWN0aXZlLCBkb2Vzbid0IHJlYWRpbmcg
ZmllbGRzIGZyb20NCj4gICBzciByZXF1aXJlIHRoZSBSQ1UgbG9jayB0byBiZSBoZWxkIGNv
bnRpbnVvdXNseSAoaS5lLiBub3QgZHJvcHBpbmcNCj4gICBpdCBhdCB0aGUgZW5kIG9mIHRo
aXMgZnVuY3Rpb24gYW5kIHJlLWFjcXVpcmluZyBpdCBpbiB0aGUgY2FsbGVyKT8iDQo+IA0K
PiBJbml0aWFsbHkgSSB0aG91Z2h0IHlvdSBkaWQgcmVzcG9uZCB0byB0aGlzIGluIHNvbWUg
d2F5LCBidXQgd2hlbg0KPiBsb29raW5nIGZvciBhIG1hdGNoaW5nIHJlcGx5IEkgY291bGRu
J3QgZmluZCBvbmUuDQoNCk9oLCBzb3JyeS4NCg0KVGhlIFJDVSBsb2NrIGlzIHByb3RlY3Rp
bmcgb25seSB0aGUgc3IsIG5vdCBhbnkgZGF0YSBwb2ludGVycyBpbiB0aGUgc3INCmFyZSBy
ZWZlcmVuY2luZy4gU28gaXQgaXMgZmluZSB0byBkcm9wIHRoZSBSQ1UgbG9jayBhZnRlciBy
ZWFkaW5nIHNvbWUNCm9mIHRoZSBmaWVsZHMgZnJvbSB0aGUgc3IgYW5kIHN0b3JpbmcgaXQg
aW4gdGhlIGNwdV9ybV9kYXRhIG1lbW9yeS4NCg0KDQpKdWVyZ2VuDQo=
--------------EJGex0I7DteI6I07vmGUrU9N
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------EJGex0I7DteI6I07vmGUrU9N--

--------------lkjkH00VmskvY0pf0RPgQZT8--

--------------LiECz5IL402EVV0sZab1bEdL
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL6NEEFAwAAAAAACgkQsN6d1ii/Ey+I
GAgAkiLoJAiJR/0oGuh4BB9ctop45FToqdXfBGxkjKwUS/35oFaz4q7z6wgCVBqEpzafNsH+AVjl
kNpRyFEmRUxI3TfsN+RryN6izuR7hlvpwNjjB5Q5Uk/BD0f7tfhtqKwFeKo7hrNjWxfnvt2xBo1V
pz8TAiyqA5HvUu6t7zF8JIehGj9oulD9jaPk1bkLNZDDCpHFIJZaOxGZeDWQOdcuazo2ZdetUP0O
Q/KzSG4worNHxnbxXl9XozD4pY/nXFDYB300GuBdDC9oXHN/GsJ+GT9FpA67eTTBNSmLhtSJyQq4
px51dqfHw6Z7TVZCGTvYOnnRuGO6kIEeiA3ICKh3xA==
=xrG/
-----END PGP SIGNATURE-----

--------------LiECz5IL402EVV0sZab1bEdL--


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:55:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:55:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387345.623546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYhJ-0004Ps-LE; Mon, 15 Aug 2022 11:55:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387345.623546; Mon, 15 Aug 2022 11:55:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYhJ-0004Pf-HA; Mon, 15 Aug 2022 11:55:57 +0000
Received: by outflank-mailman (input) for mailman id 387345;
 Mon, 15 Aug 2022 11:55:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNYhI-00046d-86
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:55:56 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150044.outbound.protection.outlook.com [40.107.15.44])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37e74590-1c91-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 13:55:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6103.eurprd04.prod.outlook.com (2603:10a6:20b:72::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Mon, 15 Aug
 2022 11:55:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 11:55:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37e74590-1c91-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iAQozg8OHzRZGd01kDc9268b9qyPBB8nmYUfAAs5h2wo2t7RSDsKKoMhqTKoiX163qrSydA5CRLdFmCbLuLWIboW6+SRlim4sBcE1v7d1ZagepQajbuSZz4cFdB3lUhZRkvY9eSUY6q6AtKOZTNhVyeV1iUTqnup74Z/x3Hu7AnTECRXo9sX9ECxRi2yEzAy2kpasW+DQ5rVXEzY1I/MmhM76puVXh4pKpS/fvre5NVEPO86iFPAusiMojSd3AMrzO6MXh9x7v6+5QZga/hj4CV3UzdwTKVKLcVEGOgMDzLAXIzLxaJcBoh8D8PDkO0MLeGvJ0VNHoShweoouEdpUA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p5O4UlV95jZ9ZctpZWdByMELpMoc/tlH45jPm3TqM8s=;
 b=AtDhsQdfF75u9R+L7oQ1gh2qIH5jRXwA69IRdVjrkjWOeIh53kOK1dlhBMSBwcD50fylBd84deTRjyH1tFq9lb06/Sbo1reCkc9pmPh3M3DkFASwTP9UZpJwUgUZOg+Uq05XcrJUpHmoHI6AN8ROyUH9EVwBgVX7DzKOrt9luBFxEmFa171VWZV51p3wpxMVZ8XQHCCBpjfP6pOXOevPZ4X73T8agRDDbZ9c43b5toKaRqZ2ZqfR+nlOEf0Jm+H5vJuhr224wJTqtoomr60/fEVt06p3EAlOPc9SfEMbUwhM4Ir0/9+0Kn7BBZaLWXNqQHRw49e/QE/ok2Jsau3Ftw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p5O4UlV95jZ9ZctpZWdByMELpMoc/tlH45jPm3TqM8s=;
 b=Qa2a3Oy7IM9akFp3KVX29v/hy7+48vBKmG+0bMzJ3h1Y0/JOPinN1odUtXRAQTzf5GNkExXzUMMhJy/Ce9s7XkEhnlwe1R8BmHLCcc92lK6Qnj4QLnoCCwcvxSQqpzR99LVOEtcdimQVQHG41u90wAnro398Qyqgxm8BVr3MgmmQUsHwrU9KWxkL1CjBnHpCPxNV3Q+1SIWFfVqTapUKW+ykYAF5PiqOuJVuRmBO85Gunnah39Jv7+BJ8GDgny7n/REq7b186EYR0nArbjB2FnviZMR+3SJhBRV4NRZLjKl+70xqBKRUbeZqOpxW2cGsN/us71msYQd1l/1u1J/rRg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c70041ca-1e0f-f267-af2a-daca35e7a1dc@suse.com>
Date: Mon, 15 Aug 2022 13:55:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com>
 <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com>
 <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com>
 <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
 <2155eb83-e421-1f55-75ca-d9e828b609de@suse.com>
 <hmW-sWMVRYCoU-mAfrk4S7t4r2n26KUbGH8niCwfyCgij4Xj8cur2HVqAbrwbf-slNF8JQlARIWuMpAUhNTUf4peJCMMKUO4lhl-WvC2F2g=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <hmW-sWMVRYCoU-mAfrk4S7t4r2n26KUbGH8niCwfyCgij4Xj8cur2HVqAbrwbf-slNF8JQlARIWuMpAUhNTUf4peJCMMKUO4lhl-WvC2F2g=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 452c5438-95f1-41be-02a7-08da7eb51b71
X-MS-TrafficTypeDiagnostic: AM6PR04MB6103:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4AqzuYEwgKXxP9Pw44czybg2exh0npHSy5PgzD1FC4szeXMtK18Jp+F/hyBRrWo01cUAbROELVDC83mUzMhZ+3iA6bgQoIXyhraAnYH47Hzh6pIbQu3N02T028tDOX54zJwcavuG1E1wUaxrbDQlU+DKJHOXsiFnweBxFM58lCizTNkp2PNSo2/oRg1LvpQLJx34yQtz/oYRpoXh86jMCUx3xfmVGjCI+ZwbtFXhnh8qbLdjkAAadILYvFiHSyH2pWFetYpqGjDlBY//xqvnWrQbW/nHmHXURRMij+PO3/mXP91uuMPG5kA06KYRyp1ruHmvnzo1W/LJvgQC6fB0hFmGVDc+CTfkTbEn9UPfyLwEH7QHy9k4qtCQxZqUTobcGEud7/z6wyP37WfR+nljEnuiKTZyMw4VD3Klz8widWcnjq+NKfgPDrPp9YvF0ZJBo5vcz5DxibhlQWEKTc1/7XiEvQGJncQOxMr+aaVvmZ7xgGc0GAWIehSFEFJe/HyQ0Hx2vsnIel1iHiNHJYtlbyEj+k5lITHreKylzNLJLhxp7IxgnU88ztZ88MVB+30YOzucyK3E56bT1GvYPsMTNIY5+r5VzOgjjNoZMLiFHdqooE62GF1d76D1f7fzeRqJCAyZcSyhOqF2+H9xK2QIyDzGaKAPWu56c2afFpmfSSb/0I73ghyuOm5F64nXeQWeVT8j5HDy/AApJ/l+xrP2b9jdUGZ9t1vMOuHzCP3yezNTQMdIFYIZo2bWDuvPSKLQXB4i3Z+P3ar9kZ2KycsjlpnAf3ailNtZHnURVPOTajlBjb3hZI1XhjOaiDxIgq1vABkvP6i5IubreTJLsPaYZg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(136003)(366004)(39860400002)(376002)(8936002)(41300700001)(5660300002)(316002)(6916009)(66476007)(31696002)(86362001)(478600001)(66556008)(66946007)(8676002)(4326008)(6486002)(2906002)(53546011)(6512007)(26005)(83380400001)(2616005)(38100700002)(186003)(4744005)(6506007)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MERaTC9WTzZ6RmFCRzZ3UStLazdXdTdrOGxVMXFXNlY5MCtqTnNaRVh1Q2tn?=
 =?utf-8?B?QkpKbkVUMWF0OTYwbUE1UklLdkxhektnY2ZCblplQTlqa3lObENpRVdibzRh?=
 =?utf-8?B?MlV4RWZlQ0xnSUJxWlhqVjV6S2F0dldMWmJOOXNoWXVIZnpXSWZuaWwwWTNw?=
 =?utf-8?B?MlpqRi9YUGVja0pKSytMb0cxTDdnRnFTZGx4dnNOVEQ3YUZEU3pRbUl2SVJE?=
 =?utf-8?B?SmlCZHVJV3Jvc0pMSXMwZHlqZlUydmNpYjh1dHhGSm9WZzRKb05YbitVUXA0?=
 =?utf-8?B?MURubnRHNTdpT3h1a2d5cXhtQndrZElITFFkRVNpT1lSQ1ZwMUhSanpIbXNI?=
 =?utf-8?B?Z1FsdDBaT2RHN2JQTytPN3YzMUhqZ2FjOG85VUZnbXNyYzBPdFpOemo1VXFZ?=
 =?utf-8?B?ZGQwV0tSWExFQm5NLzB2QVIxOFFqM2VORWJHcmZyRkpIclgwMEcybUx3TmFq?=
 =?utf-8?B?UzY1a3I1UnNyZ1o1WitqeUNZNGtZYmo1NVZvd1dyZjFBSkJaYVcwKzUweDRr?=
 =?utf-8?B?Z0tjVXhpV2dtYm80S000dGdQVnl5Q1lKQlhmQXc1U3ZQd3VwWTF5QU9mUzdF?=
 =?utf-8?B?UWlqSXhyaGRlaFlaMU5yM2twWklzdUpMalgrZnRQZVZOeGUzckFUTndiNWRX?=
 =?utf-8?B?SUlpYVVCVzlZQWJVWlZwbGdITDh5NXRMMkQ0U0pJaG56QW44eEUxUG1obWdP?=
 =?utf-8?B?NzluWWlmaUtjc2hKL3d2eGdKS3plSFIwYlNqQ3R4K0RCS3dKQjZ2OFlQY2tZ?=
 =?utf-8?B?RU1odjM3eDh4OFp3ZnNXNFI4MW1RKytzY1Y0OHZtc2pibmhOLzdqWHc0S24r?=
 =?utf-8?B?VlcyYytNYkdrejRoeDBjd1lSeWp2b2owSmZoVktVNXVBT1V6RndacTNOb0NL?=
 =?utf-8?B?MnhDZ1NRMzkzeEN2T3ozYWJyWTg1dk1SR1lBUUQvcE1NSzdGQVpHNFJWZjBO?=
 =?utf-8?B?Q2paaUloam5YK3o4N0xJWkpJWWZQcFM2cHJpYmdyRnBvNWdlc0JEai9VMzZn?=
 =?utf-8?B?RUVnd2pPNm81YTBTMXNUR2NnRDhsWXVQdHN6eFRkK0wzZjZWendUUlVQRnJ4?=
 =?utf-8?B?NXBNTU56YmRoU0FJUnA2dWtoMC90TG9Vd0oxWXdhQng2WTYrbjI1SGhvSVNY?=
 =?utf-8?B?OWdEUVRYakpNa29oTWtyTDA2c1ROYVkxUXYzZ2VmYjF4eFRMRjZSeTYvZnRV?=
 =?utf-8?B?TFVNbGl3YjZNR1A5Lzk0SlpkcXpiNVMwT3I5OEo5TmNoSmF2a3I4L0pwZzAy?=
 =?utf-8?B?ckVkaDYvRTdSNHZsNkxmVGVZTlJnamJjdUNOOWJiSWRFMThrQjJnQThlWVQ1?=
 =?utf-8?B?ZDAvOU5CWFljOE9vRTQwWTdrd1M1K0VZWVZzcHNsLzJtV2QwY3huS0NYbHha?=
 =?utf-8?B?b0lFbnhDMlF1TUtiRnJzQlA1c3dlYWNtMWVrTmpEMXFPZHZBazM1WW5DWHZP?=
 =?utf-8?B?Y1pWN2R5NU1FVFg4eGtMM1BNUzk2cklqZWZ6ZGI1akdrVFZZME1qcXVqYzBK?=
 =?utf-8?B?bHUzY0NrZFUrb1hNa0VZMjVicFRZMlMrcWFYSkRjTkJVQmo0OHdpVTJ5MUJi?=
 =?utf-8?B?REJUNTFlV3k3M1gyenFUaUFJalMwMk5ramtzSUlqcUhVVVFIclp6TXBjUWtv?=
 =?utf-8?B?VEkyRzR4akVNbFVpWXlMS1UwbnJGcmFFcHFOeVhsWTh2SzR5NG1MU3drK0dM?=
 =?utf-8?B?d3JCUk9qbHVqaHMyL3NlNmlsZjZ4S2FKMzdnOUZQNHZkY1J5ZWlJdE9ReStY?=
 =?utf-8?B?Yzh5TnFxQk5jd0Njc25UMHRnQ2dTdUtydHhMT3paa0N0cWczRDY2cFdOTVp0?=
 =?utf-8?B?UThncHFGWHo5aEdBVktMcURHOFFJakk2d3B0ajBsa2RBM0E3Q2IyWkpYVDds?=
 =?utf-8?B?d2tJN2RrMERNYkduYWVXdnYzM3dhVGsyR3ZQMk5WRC9pdldZRXlOUHNoVnhy?=
 =?utf-8?B?KzZYaDhhWkVHVUVWZkJGMkx1djFhOW91d3NIZ3ExU0YrY2kyRUp1bk55aE9L?=
 =?utf-8?B?VVhvVkhMVTMrNEhhUmpzb1BVK1Y5MmltTHhwOTRsZHhBeDQrd2d6MERNdXZx?=
 =?utf-8?B?dWdDcTI1eFBRNmZ0UE5yWjVQbWs5R2RWNE9QNHRLUE9JbTdsN1UweU5lMSts?=
 =?utf-8?Q?yJ4Eru4ckKkmAU70VS4/sXnX7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 452c5438-95f1-41be-02a7-08da7eb51b71
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 11:55:54.2167
 (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: p3F3FAJ5Io0fR66Zk0dawMaLOleThXAqpp1yAYfX6OqXgmLXPQ+LYF3536hhr/8SU88RROrPZoQJn/9Wi/L9ag==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6103

On 15.08.2022 13:50, Dylanger Daly wrote:
> Indeed adding noreboot does result in the device just hanging there after starting a VM.
> 
> I wonder if it's possible to have Xen write out it's log to some memory address, hoping it's doing a warm reset the log messages should still be present.

Well, it's certainly possible, but would require code to be written and an
un-clobbered address range to be determined. (In earlier projects I found
it easiest to store data towards the end of the video card's memory, as on
most systems only the part actually used for displaying purposes would be
overwritten.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 11:58:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 11:58:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387359.623557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYjt-0005J2-1Y; Mon, 15 Aug 2022 11:58:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387359.623557; Mon, 15 Aug 2022 11:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYjs-0005Iv-V0; Mon, 15 Aug 2022 11:58:36 +0000
Received: by outflank-mailman (input) for mailman id 387359;
 Mon, 15 Aug 2022 11:58:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNYjs-0005Ik-5H
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 11:58:36 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 973375a2-1c91-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 13:58:35 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DDFF0208FD;
 Mon, 15 Aug 2022 11:58:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9BA4F13A99;
 Mon, 15 Aug 2022 11:58:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kNdaJOo0+mKuHgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 11:58:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 973375a2-1c91-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660564714; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=X5enU23xExb2aBTXP+XxS4PAe3BeaXSgMiJMJ9avGfc=;
	b=XRAbfs/PNrd6l5Z/hg8228yJyCAfqKE5i6EskviJJ7NoxBW5y1Gx/+3Sv4OBXqx9nIlWvl
	lirTD7mhfc8vKu9/p+VM0vMp5rUrHcEWEpTdUE32UO+FDfplWeLz9FbVUy8zxlcri+m0R2
	e1H1Ijy3ZzTpPRSjvLPx5RMUlPkKeW0=
Message-ID: <1e86164f-b08c-a9bd-3437-af569342cc1e@suse.com>
Date: Mon, 15 Aug 2022 13:58:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 1/3] xen/sched: introduce
 cpupool_update_node_affinity()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-2-jgross@suse.com>
 <9abc061b-2d98-ace8-af4b-0881a5737dd6@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <9abc061b-2d98-ace8-af4b-0881a5737dd6@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------KSbh1xH1VKpW05d3EIKcHuMd"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------KSbh1xH1VKpW05d3EIKcHuMd
Content-Type: multipart/mixed; boundary="------------qvRTLLJ0T5UzuquoKLu1bPyq";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Message-ID: <1e86164f-b08c-a9bd-3437-af569342cc1e@suse.com>
Subject: Re: [PATCH v2 1/3] xen/sched: introduce
 cpupool_update_node_affinity()
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-2-jgross@suse.com>
 <9abc061b-2d98-ace8-af4b-0881a5737dd6@suse.com>
In-Reply-To: <9abc061b-2d98-ace8-af4b-0881a5737dd6@suse.com>

--------------qvRTLLJ0T5UzuquoKLu1bPyq
Content-Type: multipart/mixed; boundary="------------yZwDuoEcKUP8WTEP9mYaGHjq"

--------------yZwDuoEcKUP8WTEP9mYaGHjq
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjIgMTM6NDEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNS4wOC4yMDIy
IDEzOjA0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gRm9yIHVwZGF0aW5nIHRoZSBub2Rl
IGFmZmluaXRpZXMgb2YgYWxsIGRvbWFpbnMgaW4gYSBjcHVwb29sIGFkZCBhIG5ldw0KPj4g
ZnVuY3Rpb24gY3B1cG9vbF91cGRhdGVfbm9kZV9hZmZpbml0eSgpLg0KPj4NCj4+IEluIG9y
ZGVyIHRvIGF2b2lkIG11bHRpcGxlIGFsbG9jYXRpb25zIG9mIGNwdW1hc2tzIGNhcnZlIG91
dCBtZW1vcnkNCj4+IGFsbG9jYXRpb24gYW5kIGZyZWVpbmcgZnJvbSBkb21haW5fdXBkYXRl
X25vZGVfYWZmaW5pdHkoKSBpbnRvIG5ldw0KPj4gaGVscGVycywgd2hpY2ggY2FuIGJlIHVz
ZWQgYnkgY3B1cG9vbF91cGRhdGVfbm9kZV9hZmZpbml0eSgpLg0KPj4NCj4+IE1vZGlmeSBk
b21haW5fdXBkYXRlX25vZGVfYWZmaW5pdHkoKSB0byB0YWtlIGFuIGFkZGl0aW9uYWwgcGFy
YW1ldGVyDQo+PiBmb3IgcGFzc2luZyB0aGUgYWxsb2NhdGVkIG1lbW9yeSBpbiBhbmQgdG8g
YWxsb2NhdGUgYW5kIGZyZWUgdGhlIG1lbW9yeQ0KPj4gdmlhIHRoZSBuZXcgaGVscGVycyBp
biBjYXNlIE5VTEwgd2FzIHBhc3NlZC4NCj4+DQo+PiBUaGlzIHdpbGwgaGVscCBsYXRlciB0
byBwcmUtYWxsb2NhdGUgdGhlIGNwdW1hc2tzIGluIG9yZGVyIHRvIGF2b2lkDQo+PiBhbGxv
Y2F0aW9ucyBpbiBzdG9wLW1hY2hpbmUgY29udGV4dC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5
OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBSZXZpZXdlZC1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiB3aXRoIHRoZSBvYnNlcnZhdGlv
biB0aGF0IC4uLg0KPiANCj4+IC0tLSBhL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+PiAr
KysgYi94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYw0KPj4gQEAgLTE4MjQsOSArMTgyNCwyOCBA
QCBpbnQgdmNwdV9hZmZpbml0eV9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qg
Y21kLA0KPj4gICAgICAgcmV0dXJuIHJldDsNCj4+ICAgfQ0KPj4gICANCj4+IC12b2lkIGRv
bWFpbl91cGRhdGVfbm9kZV9hZmZpbml0eShzdHJ1Y3QgZG9tYWluICpkKQ0KPj4gK2Jvb2wg
dXBkYXRlX25vZGVfYWZmX2FsbG9jKHN0cnVjdCBhZmZpbml0eV9tYXNrcyAqYWZmaW5pdHkp
DQo+PiAgIHsNCj4+IC0gICAgY3B1bWFza192YXJfdCBkb21fY3B1bWFzaywgZG9tX2NwdW1h
c2tfc29mdDsNCj4+ICsgICAgaWYgKCAhYWxsb2NfY3B1bWFza192YXIoJmFmZmluaXR5LT5o
YXJkKSApDQo+PiArICAgICAgICByZXR1cm4gZmFsc2U7DQo+PiArICAgIGlmICggIWFsbG9j
X2NwdW1hc2tfdmFyKCZhZmZpbml0eS0+c29mdCkgKQ0KPj4gKyAgICB7DQo+PiArICAgICAg
ICBmcmVlX2NwdW1hc2tfdmFyKGFmZmluaXR5LT5oYXJkKTsNCj4+ICsgICAgICAgIHJldHVy
biBmYWxzZTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICByZXR1cm4gdHJ1ZTsNCj4+ICt9
DQo+PiArDQo+PiArdm9pZCB1cGRhdGVfbm9kZV9hZmZfZnJlZShzdHJ1Y3QgYWZmaW5pdHlf
bWFza3MgKmFmZmluaXR5KQ0KPj4gK3sNCj4+ICsgICAgZnJlZV9jcHVtYXNrX3ZhcihhZmZp
bml0eS0+c29mdCk7DQo+PiArICAgIGZyZWVfY3B1bWFza192YXIoYWZmaW5pdHktPmhhcmQp
Ow0KPj4gK30NCj4+ICsNCj4+ICt2b2lkIGRvbWFpbl91cGRhdGVfbm9kZV9hZmYoc3RydWN0
IGRvbWFpbiAqZCwgc3RydWN0IGFmZmluaXR5X21hc2tzICphZmZpbml0eSkNCj4+ICt7DQo+
PiArICAgIHN0cnVjdCBhZmZpbml0eV9tYXNrcyBtYXNrcyA9IHsgfTsNCj4gDQo+IC4uLiB0
aGUgaW5pdGlhbGl6ZXIgZG9lc24ndCByZWFsbHkgbG9vayB0byBiZSBuZWVkZWQgaGVyZSwg
anVzdCBsaWtlDQo+IHlvdSBkb24ndCBoYXZlIG9uZSBpbiBjcHVwb29sX3VwZGF0ZV9ub2Rl
X2FmZmluaXR5KCkuIFRoZSBvbmUgdGhpbmcNCj4gSSdtIG5vdCBzdXJlIGFib3V0IGlzIHdo
ZXRoZXIgb2xkIGdjYyBtaWdodCBtaXMtcmVwb3J0IGEgcG90ZW50aWFsbHkNCj4gdW5pbml0
aWFsaXplZCB2YXJpYWJsZSB3aXRoIHRoZSBpbml0aWFsaXplciBkcm9wcGVkIC4uLg0KDQpI
bW0sIHllcywgSSB0aGluayB0aGUgaW5pdGlhbGl6ZXIgd2FzIG5lZWRlZCBvbmx5IGluIFYx
Lg0KDQpJIGd1ZXNzIHlvdSBjb3VsZCByZW1vdmUgaXQgd2hpbGUgY29tbWl0dGluZyBpbiBj
YXNlIG5vIHJlc3BpbiBvZiB0aGUNCnNlcmllcyBpcyBuZWVkZWQgb3RoZXJ3aXNlPw0KDQoN
Ckp1ZXJnZW4NCg==
--------------yZwDuoEcKUP8WTEP9mYaGHjq
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------yZwDuoEcKUP8WTEP9mYaGHjq--

--------------qvRTLLJ0T5UzuquoKLu1bPyq--

--------------KSbh1xH1VKpW05d3EIKcHuMd
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL6NOoFAwAAAAAACgkQsN6d1ii/Ey/5
VQf/cQnzx2nA2U8I/6+31E8O6+dBqUGjrVEQgljGRPIzEYK9tsqPIIZnDYDbuR0Sx11wmQM6/g0K
Lzw02jRM6bhCDKgrTLtDsQ/Zr3odlQC00OM0uqfVUASU35F+sqtsodkfcIjIRXeaolB2rJ17ZyZ5
5oi7dI32fsWY1KSJORWZIaHguLcn8cO5R3R1oi4TLEarhEkYKXj7gCBBAaGy7/YDUi3QJaiTJXc6
iMqXRgdph/ixqenHGC8AcLwQxeKi88Pby2VwcpO4uaaekrUXHzKjUFcV47C0zFa/h4tIYjt8b2rk
qWQ/a8h19C3fWchpNcoB1r+NFAIb35584kC5kD3W3g==
=4JZU
-----END PGP SIGNATURE-----

--------------KSbh1xH1VKpW05d3EIKcHuMd--


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:01:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:01:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387368.623567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYmA-0006lz-Ne; Mon, 15 Aug 2022 12:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387368.623567; Mon, 15 Aug 2022 12:00:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYmA-0006ls-KP; Mon, 15 Aug 2022 12:00:58 +0000
Received: by outflank-mailman (input) for mailman id 387368;
 Mon, 15 Aug 2022 12:00:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNYm9-0006lm-Bn
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 12:00:57 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2044.outbound.protection.outlook.com [40.107.20.44])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb0834f0-1c91-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 14:00:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8625.eurprd04.prod.outlook.com (2603:10a6:20b:428::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 12:00:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 12:00:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb0834f0-1c91-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X+kRkVemDzQ487ZYVaPIDZs7rt3XXYc2ZdciAsFBUb33onuemDfI7veKcoy8OyuW7TtjIny1+Bc3SNBx+EkQ0z6l3/6VC+lznP3iqJVW/WaHKAqme8bf5QrJtyahKHHTYW8xk89IP72ttWbXINY8KrDzV2l418nFIw55LfPq4qk6i+uz/P94Gy2E2xknODX7K5Ilkd1o0rCkdNjvPQCLQR2GWqXSOEyttfK4/w1/nLoc1DIilPyduTJRhY2/6R5ZabjxtxaCVfXLwaffhUou/Ju1rDisCafHyRSSgQqECSTji3hA/6TyRyWW7vKnyyPssZV3S15tOk6Nyds+smfoVw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Nljlc6iGhKQdJGEjzecpgPBDCVnyO1+0i9il7CBYTxE=;
 b=WDnJfdcKsWlaW/kSXXUwax/ax2YyRqJmbLp+fE5ALOusglrP3oakltGOiG94miN5kHQ4D0k1W1NK9ZcCibQxP2apBQybxHLFb0CEgwiIDbJv1CC7PxrUJXgA4Cv1YfM6b1uNuZLBGpnrvQdhdXOR/RTWlr791DBbrU7DN9f3LRWh/xS9Lp0E4SlcAhlNO9FV7O2pK3bfdbsLT3I/+/YPDiV6SJ7Jymoq5D31MfXREH46dlfIZ9yGKAVYYq+4RZf3UP9HPfz9hpuYllVLVAzplLIiiyjQrKnxRxyc4JnSM2eX5UoMXM67IShGzyxLVzlCu2V5we5EFyfpiRMNrrHLYg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Nljlc6iGhKQdJGEjzecpgPBDCVnyO1+0i9il7CBYTxE=;
 b=SRPdv6kDrd7HUwH5BCIQTsr9UNWZ8YDdzxFqiY1EGdFAGBmlyK1m+rBbjUCC57ZV4XvmUXgSycZOROSt+4U1t8BTXjdymTVWzCISxKLSfa2BOndqdF7a0EccMZnWpb9EGaegR2DsvoIm2nVI4jyPzL48TfhTHgqPVsBcqoOHPCu1pmEl7AVx8+D2nTFOweDiI/d8NWW4H3XCkJzjAH1UqbbKGxI8BcTGAJyQE+McAvTP74yPgBXSkM90zJdyb2d09YVpScsRzQ9ZXo8Aot1msXx31auXwRTXFcIxqpH3V8H+syfnY2iAcTqLBtDuOnDI4VHy7DkdjIbcufUCj7mI2Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
Date: Mon, 15 Aug 2022 14:00:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
 <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0077.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fb3dc417-ed77-49cf-9194-08da7eb5ce32
X-MS-TrafficTypeDiagnostic: AS8PR04MB8625:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ywh/QrIa2iiBw2VsdYVQDZo2QWeDZrTVgtwxBxdNyZnhPV/v8ffC/h3nohV1JK4WRRM5j4pJKKVPfJOHGmm2UewwA4oMsgMWMtyyQA8mrK0WgK8U11IYjJ4LrRmpf8f1bR1w7B8OlL+k+9nPPdf3XV7zv/tRK+K5//T8cv8KDpGQj7Vb3B6BVBzgL8lIldTPkldCU34cc/GsqLFuiXIPlIOyjwzTee8rPf/7Lrqhqm/jK13qWQGJov8QjK83iRRMB2fqqWelrdFIWurx0JPvfrtaLUtJUyIDGEERb9HfN9r6xs/AqVAywxn7NUwYNALcNtORXHSxy/Utt07dX58+mYAtqdNrKOvnoBp8zr+ad16glMhMoGdjnVVbTp4YbVgNX/QzquKvXAnLzDkeujZ5+MCA4bXpmHWDVHaN9IRLC85Xb9Oyq0vnR0IzxfHiC+gez+h/Id9j83wD1doo0YK6CtO3Z5Ed5S4y8nMEVmNUfhp2SDxdRPploW46fPxNmEtcwNcVLZcl6gO4DIaJ5VdPk0TlueOCzlB8ColGn8pUL/xdYLkmr04SJ1Z02iNBB/oo4T3bAaHWShQlK3k4jT9aoxM3jg9uBoU4PTvIFChwxEGR7MAekW9QRjQQk/qR9emfOt/FrHMuIaHnrR7tI9sSh72yp4iOSg/zbvhSW5H/pY5fsv6gEBjcZTZSZJ9VMM0tCKT16hk/+iPEE91pul6P0rhmk08hWghtDg6/6gWiH9O1JfMVcV8pwm7VQeu4VRmZe6XSzEJaHQxUd4p6y9UzGoSwKIe/jJ7YKQF/klozI/4MZK/lWMkhZrPg0fqWwBvp/VDVbXoYjGJp542xX5VBrQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(136003)(376002)(346002)(396003)(39860400002)(38100700002)(31696002)(86362001)(316002)(36756003)(66556008)(66946007)(66476007)(8676002)(4326008)(83380400001)(8936002)(6506007)(6486002)(53546011)(5660300002)(478600001)(2616005)(6512007)(6636002)(186003)(26005)(54906003)(37006003)(6862004)(41300700001)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M0ZSL2hUZ3EyNklnbldNTjd0SXYxakZTakpzaWlZaENPb3BLbTBTMnVUSWEr?=
 =?utf-8?B?MFVyaXRvcnRIa3M2Q0FacllQMm96bTFnRE1PWERIclpmWDlEcCtJM0t4SnVq?=
 =?utf-8?B?NlNJTzMzWUw4UFVrWUEwUzdmcVQ3MHJaMVQvVDdZdGVFakZHTVV1ZFhwR25l?=
 =?utf-8?B?bFBKeGFiQUEvbWRiZzdTVG0zTjRleFFDU3h6V2hkNjJWWXhMWFk0cHJHQjdU?=
 =?utf-8?B?ams1akJnOWhzUEVkeDR6dFV0dGtoYXJidWxlTmVscGpNU1VnV3lpeTl2b1VG?=
 =?utf-8?B?WDZ2SXB5ejBTTDZmemg0c1dFNnVSbWRuUldjUTE0ZlR4UzM0WWhLakozNVl2?=
 =?utf-8?B?aGtDclJnNkNOQW5hWmJ0NXFZbUphY3J2L3hzUWhkT1h2OGY4TDZoVkFBeklp?=
 =?utf-8?B?Y05TcmhTaTYyYnhaeFZKc1JmQXdIa1grYjBZMGhlRm43Q2tnenBxL0hKc0NR?=
 =?utf-8?B?bnNZK3IrNklIUENpeEtLdW9ERXRvQ2VyOFBoZklpTFBWbzZKbE5nQWtSS3Ax?=
 =?utf-8?B?dE52VXJXR1BzMkhIWGJ0TUFvbm44bmVCYURaYkhuSTk2Nm83TjMwTkJpY2ht?=
 =?utf-8?B?NjRUclY5V250MFByOFMxYkZDTlNPWTJlK1U3YS9mcGZDYUZqNEFtRXRkYVI3?=
 =?utf-8?B?WTU1bG1NNHZOTVdjYk04VnBDODNVZWkrTUJFQVU3TzMrcldUVTh2NUdFSHVj?=
 =?utf-8?B?UXRoajdZZTdqWXJtdjF2VjhYREFZYVQxTG54ZnlWczI3dmxCWTRRWU5LL3By?=
 =?utf-8?B?Vkl1VEgwNkdSS2VZdHlKZDV3a2VtK1pUSXV2dVZVeUVOaDEyNlJKS0dNK0lw?=
 =?utf-8?B?QVNtU1FMMEloOTU5cXBQa2dwVVA3TGhEYVVTRXM0cm5lTEQxSFU3enZsZERx?=
 =?utf-8?B?dmswczVnejdXaWxYTDFlNWM1R2hMUUZiUmNDVHpxYkszVktTa2VqZTA0c1cx?=
 =?utf-8?B?MUEyT3RETlJzM2VZR00yZUovbWdXQnE3WWRtWW9tUzhNMHdFMmJnZTdGM1FR?=
 =?utf-8?B?MHJDRHNVOWlGcEs3ZjU4UndOZ294b1ZobHJLNHd0K25hdC9vVVhUZTY1ck5t?=
 =?utf-8?B?cXhhMGpSTXNuYTBjYVM1bXRJZHRtR0dGSVFMdHE1OUhDKzRSWnhDUVplV1R1?=
 =?utf-8?B?d1lobjZjUG5ZZjNUczB1UHdnQ0E3Y2hVYjlCR2owUlM4ajdzeUp5RUxmS1Vv?=
 =?utf-8?B?UDg1UWZHSWZMQzNEUTVSa2hIMU1zajVBbzZINVNXcy9NZlFYM1loZHpqZnFo?=
 =?utf-8?B?UlRod3M3aVBwZVVoRENzbUJsc3RWaXZtNmRTYVpranlzaS9PNEtScG1ZM0Rr?=
 =?utf-8?B?bnViODVoQXptOHNGMkVGMndQajZGM1FvVlZpZXlNZjJhK1lBUVpwRFJLOVZY?=
 =?utf-8?B?eFFjaGJmakVMVzYybGRpZzZRS3pSSU5FQ1BPbVlPTGVtUnQ4VmNDQ1dVQ0N1?=
 =?utf-8?B?amVmV0VIUlVyTy9ZRWNXOUMwOWx4Q2liVEZia1FrWi96aUJOVW9ZMkpuK0xY?=
 =?utf-8?B?a29ERkYrek44UUVPZFlxbzh0SkJPVjhkOVJxZCsyYTZwT3g4SW5pd0NYbE8v?=
 =?utf-8?B?OEcvSzRFRWRPVUliTXBjUkFEaWNlbWxoVy93bUE3UmdTZ1lXbCtkUFZhNzlq?=
 =?utf-8?B?OExNb0RBWFgxcVVsOUg0b0QzeG4wWmhDYW9Md3pzbWZBNFpIdk5oYTVSb3ZG?=
 =?utf-8?B?Qk9iMGtSWmVUcVQrVUY2UXoxVGFndHl4ZnhYTGZpaVFvRWowOWNPcXU2bEk0?=
 =?utf-8?B?MHZkakRsYzBmaFlTemlMUWl4YjVIV0xPVHAxNzNLWmI2dk55Ny95SEpOanN1?=
 =?utf-8?B?NUczR3M0Y0oxS0JhbEo1RVN0eDdteGg4VmhNdlhNUFFiTkx6NzVSWVE2Nkta?=
 =?utf-8?B?VEI2VlBpMS9SU1haUEhSaDMzdTRIajdtNVhOVGVNSFhkaTl5WUduK284NFNF?=
 =?utf-8?B?ajhRQkVxTFlVMHhoS3doTTNIZkFyNy9hQ054MnRqQmExNXFQTXpEYzVka1Jo?=
 =?utf-8?B?eUVPK2VmbXBqaFV5WkZDWlB5bVpackY3MENjNC9KejhRN0Z0T3ZrN3dicjBm?=
 =?utf-8?B?VDFTVFdMbkNMRzI3OUR4ZXhSQS85cGNJcmNHRFlXQUdteElHeHgyNVZvUW5D?=
 =?utf-8?Q?FaWJRj0DhxCCmbfvAnb64PkOl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb3dc417-ed77-49cf-9194-08da7eb5ce32
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 12:00:54.1197
 (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: ouGYPxNrDrNnxtD1qSOrSrzD98jl9z8dWMAoh3t5pxFMaFXz/d2R7eGYoUpIlTvOmYn/Blh6IhvvUcjBjO3JMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8625

On 15.08.2022 13:55, Juergen Gross wrote:
> On 15.08.22 13:52, Jan Beulich wrote:
>> On 15.08.2022 13:04, Juergen Gross wrote:
>>> --- a/xen/common/sched/core.c
>>> +++ b/xen/common/sched/core.c
>>> @@ -3237,6 +3237,65 @@ out:
>>>       return ret;
>>>   }
>>>   
>>> +static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
>>> +{
>>> +    struct cpu_rm_data *data;
>>> +    const struct sched_resource *sr;
>>> +    unsigned int idx;
>>> +
>>> +    rcu_read_lock(&sched_res_rculock);
>>> +
>>> +    sr = get_sched_res(cpu);
>>> +    data = xmalloc_flex_struct(struct cpu_rm_data, sr, sr->granularity - 1);
>>> +    if ( !data )
>>> +        goto out;
>>> +
>>> +    data->old_ops = sr->scheduler;
>>> +    data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
>>> +    data->ppriv_old = sr->sched_priv;
>>
>> Repeating a v1 comment:
>>
>> "At least from an abstract perspective, doesn't reading fields from
>>   sr require the RCU lock to be held continuously (i.e. not dropping
>>   it at the end of this function and re-acquiring it in the caller)?"
>>
>> Initially I thought you did respond to this in some way, but when
>> looking for a matching reply I couldn't find one.
> 
> Oh, sorry.
> 
> The RCU lock is protecting only the sr, not any data pointers in the sr
> are referencing. So it is fine to drop the RCU lock after reading some
> of the fields from the sr and storing it in the cpu_rm_data memory.

Hmm, interesting. "Protecting only the sr" then means what exactly?
Just its allocation, but not its contents?

Plus it's not just the pointers - sr->granularity also would better not
increase in the meantime ... Quite likely there's a reason why that also
cannot happen, yet even then I think a brief code comment might be
helpful here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:01:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:01:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387373.623579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYmu-0007IB-1x; Mon, 15 Aug 2022 12:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387373.623579; Mon, 15 Aug 2022 12:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYmt-0007I4-UE; Mon, 15 Aug 2022 12:01:43 +0000
Received: by outflank-mailman (input) for mailman id 387373;
 Mon, 15 Aug 2022 12:01:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNYms-0007Hs-M1
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 12:01:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2066.outbound.protection.outlook.com [40.107.20.66])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0635b4cf-1c92-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 14:01:41 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8625.eurprd04.prod.outlook.com (2603:10a6:20b:428::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 12:01:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 12:01:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0635b4cf-1c92-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YskZ1acWsFW5YJeKGp8N2knMLff5lDsgZmbW9OzYEzS7FWmAjXGEFU1jqD0E/etCEper5z/m67ijbnkBZfgGoKKtWjmLEWKJAvIjF25oUVZGbV3WXmFXgnIU72+ji0WSQwViDDlNhSw9jIi/x7KYDtXn1Zmm5s439q0tzOR3CtHbviGeb5FssIyyjtiZygR1yVxJf1RcVuur1QkxQQatbqbeBHoWr+TJyo74I1SwVPFTV2eI3IWTDtHODJqnzkwkxPY2FBSLLsiQvSFVdQePRykMVGyY1GHjDQvA9S8K/4eGm+fJ6fHW48OB2ZFoTFKVT2jsErhQHZrQLRVVdA09pg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UzxEECZE3UQWPRsK0zf6m/AiIGs3nO6FOBvjNy3oJco=;
 b=ZBpadD7pOfmFEaxfyLtxZNuKm7sgpRIIzsT37HfgcR5XayfUlf0gn6zMp3DjqbpcaC0cLMYwZTNGnMb5b4mJp4MKdaZdsY1xngONjL/hEtj4q95VGZuSvxvF/dWBanp+Lv6J8mQycvyykHKfhFEOBG/FV9uf9mhvdzxoPj7PS8v0AklPKkqxw6OkKrGsUAC7Y6hGWj8lAi0FO16RjfYEBDmLvo/WiUh9U/folTvq2zuRPeDFELbvG4hrcYsjyLpRC5nGWBPmogatKzpCWD65n2Vx+dPwCrv1d/1kvzkqxdLnBelLaizzT2O7bM6o+CqIGUBzeR6Y0Oj7QtmXy2mYlw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UzxEECZE3UQWPRsK0zf6m/AiIGs3nO6FOBvjNy3oJco=;
 b=GiVqLt9dkVugLNJxXC+NFj0rX56VmUyah7MsBEfDs2QBEY1W2WGtnkg8oIb51Q0wtWtYaUJ//raeLy6uYrrM+LY2hQj95yZl9McdlBORcM/pEBeCTOH5iQpsq9z7NgBW8RDInftQDptPjC6wt+87+I2cs7qETu5/fA+jU+QQy/fX4t1GOhLAuVIJmeuop0HGRbZJ/fE7fUO6xJ9T10i8eSMqQXkH19kCxKm/mLGOwPPEykdZTfjG/HmMGthTx1K4Vya1jTBRK6umzgEvbGattmHFa+qFIBLd09CmzoF4FApywtZUVAF7ySBK8HFQPONVDIfS2Qt2UUVu4Weow9VkcA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f35ad9e2-fb7e-15bc-0fe0-42cded9679db@suse.com>
Date: Mon, 15 Aug 2022 14:01:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 1/3] xen/sched: introduce
 cpupool_update_node_affinity()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-2-jgross@suse.com>
 <9abc061b-2d98-ace8-af4b-0881a5737dd6@suse.com>
 <1e86164f-b08c-a9bd-3437-af569342cc1e@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1e86164f-b08c-a9bd-3437-af569342cc1e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0964e519-4d52-4145-db52-08da7eb5e9ad
X-MS-TrafficTypeDiagnostic: AS8PR04MB8625:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ueaaaidzXwKGibi3BEdO3Tl52HIjWokVwFDW7Et0wojc8KV8dwWsGEU0jmqzzhE9aXEP7afoNmfXZhF7fFnJVKHXnDEtFvQkFsY6GyHoX1WQU59KgXmhGBPImS0yrtz1f7UwxifeHvtdVL7CGsfJXH8uzsjfoL6tVmFlSw5XgAT/UI3m6VLGO3X80R5Qwew0D3Ls76V3yPSl/mgDv1alYgguyF8XPiLQMtZUyDjAJ1lznMTHokKUFWf/KjvaYFW39LQ+x8UYvFLzPpUsY3KWVjTxbXLYw/TD/6wS734hp7BUdwt7EvwDATmAfZyM1xhh3enU8++GkKTEkAJk2lFYtUVzlKYM0r8jgmxJCAr/b3D7MKRcl5Gtceo4sCIABdUVn+LZzbjoh6a/I3U9R6CpxuryMFPrL1P5ZazLcb1pNm2o6UpvgxlDIDZi9HcfnFFU0fI0N5fnqG+0P21b0/AVQdUMkc5f/Lm2IYkQdcObszMfSOS1lMiSpsLI4njAJbrkXMF/qK0A8r0JEmUPMXpKsbvzPD4GpqPfXcwPuj76CEr8gZWk1HbmxynN3i7xcwosh45xMkt5Xa4zc7cPuK9GaI6HnzFUy3oEbsktPTOP9bN+yXJ/UwpnWfonCOtQBiXUhdEZVtfF5jxpMzHgsr7HB1Z8kpOYptjat7bLy1axalmky9L3pthKkAtlItPi/NmmazKkLXdPn6hMVydRY2N1z8RaAG/941wxy32Zbev99nlRRtjWXgI7/R67pvmYKNhDo2NvuuOlav1QAvzOlkqPVJZ/A84ZmNboIzGVw8Ld+t6XyKxKVk4UXgZkLselUvxQtNnjMYys8ZBtMn8oEm2k4A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(136003)(376002)(346002)(396003)(39860400002)(38100700002)(31696002)(86362001)(316002)(36756003)(66556008)(66946007)(66476007)(8676002)(4326008)(83380400001)(8936002)(6506007)(6486002)(53546011)(5660300002)(478600001)(2616005)(6512007)(6636002)(186003)(26005)(54906003)(37006003)(6862004)(41300700001)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWI5bU4rRURpd1JjdHhlYTNOV2ZIbjBNRUxTRjhRQmRRQ2xJS1ZERHBRTXFT?=
 =?utf-8?B?eS9Wdi82elZTUHZ5emlsd3I5RlFwcVVpRlVhL29CekEzVXMwbUhmSDZUa2pQ?=
 =?utf-8?B?bzJWcWpkcXdaSTlYRGN5QncwdzZ5eEFlTm8yMFcyRDlGRVNzK0FtNk5CZkhY?=
 =?utf-8?B?b0d0MGNCcXQ0SkpYbmRlVmJkMHJ6aFI1U3hWbmVjS1RISWVJMlpGeG9xdjdD?=
 =?utf-8?B?bzVnR2cvbk9CdUVSRE5RTTErdm1nTEpGL08vSEQ3ZE9kL05CZTVqV3Y1RmdW?=
 =?utf-8?B?VlVuaWd3MnhvN1Z3b1c5QmtxcExJcWs3RUgwWGlRb2Y5dHZ4OTdyTjNzSENW?=
 =?utf-8?B?Y1E1ekpCQ2lkQ21WSkU4RjkxSmZ2RnBIeEFJdjU1SUNCTDlITHFZTnp6dU9p?=
 =?utf-8?B?SWZObmFueFRnWnd4WGtxTm52a2lHR1dPaG5kdm9zblRRTkxvVzZsUFJTZkxQ?=
 =?utf-8?B?UHJaWGNKVldyL0JhZWdJSjZNQkpSVFJKYm12cURGS1dPTi9pV2lQVzMwV1lC?=
 =?utf-8?B?Mml0T0lJcDg1Vy9YSGdnd2RXcDFkeGlkaWFmWTlIRkJhTUJzNFdVcGZVUWhp?=
 =?utf-8?B?TUQyRTlnU1I1ZlNLMzhubW1md3ZLU3FiWjBmQ1UxbXFsUTJWcG1NaTNwclE0?=
 =?utf-8?B?ZSt3NDBVc25XVXROUzNLcERJaDdIUVpCd2tqTG1HdW9QL2wxNzRQV2hOeFAr?=
 =?utf-8?B?SXYzNHlUdXFQcVo5aDQ0MkJzcitsSG9ObGU3S2pkUm5McXNsdVZXdCtzNXMr?=
 =?utf-8?B?KzJlQTBJV2RVNlJueCtnQ05zcUN6dnVXR2crME40VkZ1Uks0M2lWMjNtUnpO?=
 =?utf-8?B?VE1zcFdlNEh4MTVBb095bzJQVHluVnRHcmJkeUZya1pka3Z2dUR3M1dhN1pP?=
 =?utf-8?B?OUlKSXZCcHZrQjY4UENCcmxqRGFVTTFqSTZNWjhGUWQxVzFObkFlNmszaHJw?=
 =?utf-8?B?T2ZFYVN0SDJBT1BSTEY4ODFZamh2TjFqZXViQ3BkMm1TOTVLclJhTmd4SDNm?=
 =?utf-8?B?WEw0Vm9JcnJkQWhWMUZ1Tk4zaWd1NWZpaS9ZMStOeUozY05Jc1pRN1B4Q3BR?=
 =?utf-8?B?eU1Fb2pWT2NMWUhWYzZUbEpxeU5wcHQ3c3l5RU4xaEVyS0pjSDhhcTFSK3RC?=
 =?utf-8?B?d2x2TGtWSFBsREZYNnAzNGQ3emtlSldOK3RUekY0R2ErYTBpb0JScFBTOWg1?=
 =?utf-8?B?d3VzaFpOYkhHSUV4UlpvNk05UkdISVRoR1JxTlQ4ei9oYWoyL1dVM3ZhdEJl?=
 =?utf-8?B?VDFZazhHUzBsbmpPd01SYmNXNUFSSkhkNjhUTWx2SmJ4Q2hnSVlZVmc3NUpS?=
 =?utf-8?B?V3VzNThtek9FNGNwMXRlWU53ckNMQUpGRGp6aGJMbU5EREpvQkJSM2hWU2di?=
 =?utf-8?B?d2xmc2trdDhLVXBDSHl3MVp1VWswVUc2M1FBblBvYWJRRWhxVVd4WCsxUTRa?=
 =?utf-8?B?bXo0NHZFZm1TcDlhYm50YUxKTWU4ZFIwVklWaHdZeHBrMGsyWVNicERFdVBp?=
 =?utf-8?B?NFZ5WmRXRXI4ZTZOTG5wK245MldZOUNOcUtYcHdvNFlaVTVUcEdMd2hIeHY3?=
 =?utf-8?B?a3V1c0RnWW5BMW4zeTZnQTFaSUtsTyttRktkdDAvbUV1V08rZHhjUGlMNzBt?=
 =?utf-8?B?UWVSNVVPdGdlR1V3UmlObGVEekFsSzFJdDU4NlRpMUJ1d0tFSFUyRnhWNVA0?=
 =?utf-8?B?YzNpNjVOZVZQbXRkL0F3ZUhxekhIVU9GTDJ2SnVEU0s0RStFcTVVNkpyR3ow?=
 =?utf-8?B?WXAxN3dzVy9XRkFNbEs5NDdJWlZkKzU4OVoxWFJXU1lsOXNaMWhXWUxna0Zj?=
 =?utf-8?B?ZXplTXJuMlhIUEtwQ1RKMHN2Zm9oWWxnUERWampNczk4WWtvT1ExZkFVS3o5?=
 =?utf-8?B?S20vK2tpSzFoOXFueDMwZlc3eWNsNGVncTg3TCtkTHY3TFNXUkZCN1I0L3gx?=
 =?utf-8?B?b1VCdzhrNjdBUm1pTlRFTEI4R2dhc2h3YkN4eThPUFBZWjhmcnVqWEt6OFZi?=
 =?utf-8?B?SUROTFdMeFdMSmJGNGZhdDZNWmhoQ1U0WEdxd3g3akNUdlFld1dOU3UyUGtS?=
 =?utf-8?B?TE5LWXZzMXp5alhEODF0VExuNGt0NmkrcnhCK3JJVlFrSzdyeUZrdjdCcE1N?=
 =?utf-8?Q?YH+SGuq1HI7PhbxOG0P2Pe5PU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0964e519-4d52-4145-db52-08da7eb5e9ad
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 12:01:40.2105
 (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: H33SzcPToWhKeUeb3nvDWyoUP3pNq7drbKRhpCVtd7mXTvfTbsdimLcJgfnaITYlpMVJ4KPWIZQaNlga3lYm/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8625

On 15.08.2022 13:58, Juergen Gross wrote:
> On 15.08.22 13:41, Jan Beulich wrote:
>> On 15.08.2022 13:04, Juergen Gross wrote:
>>> For updating the node affinities of all domains in a cpupool add a new
>>> function cpupool_update_node_affinity().
>>>
>>> In order to avoid multiple allocations of cpumasks carve out memory
>>> allocation and freeing from domain_update_node_affinity() into new
>>> helpers, which can be used by cpupool_update_node_affinity().
>>>
>>> Modify domain_update_node_affinity() to take an additional parameter
>>> for passing the allocated memory in and to allocate and free the memory
>>> via the new helpers in case NULL was passed.
>>>
>>> This will help later to pre-allocate the cpumasks in order to avoid
>>> allocations in stop-machine context.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> with the observation that ...
>>
>>> --- a/xen/common/sched/core.c
>>> +++ b/xen/common/sched/core.c
>>> @@ -1824,9 +1824,28 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
>>>       return ret;
>>>   }
>>>   
>>> -void domain_update_node_affinity(struct domain *d)
>>> +bool update_node_aff_alloc(struct affinity_masks *affinity)
>>>   {
>>> -    cpumask_var_t dom_cpumask, dom_cpumask_soft;
>>> +    if ( !alloc_cpumask_var(&affinity->hard) )
>>> +        return false;
>>> +    if ( !alloc_cpumask_var(&affinity->soft) )
>>> +    {
>>> +        free_cpumask_var(affinity->hard);
>>> +        return false;
>>> +    }
>>> +
>>> +    return true;
>>> +}
>>> +
>>> +void update_node_aff_free(struct affinity_masks *affinity)
>>> +{
>>> +    free_cpumask_var(affinity->soft);
>>> +    free_cpumask_var(affinity->hard);
>>> +}
>>> +
>>> +void domain_update_node_aff(struct domain *d, struct affinity_masks *affinity)
>>> +{
>>> +    struct affinity_masks masks = { };
>>
>> ... the initializer doesn't really look to be needed here, just like
>> you don't have one in cpupool_update_node_affinity(). The one thing
>> I'm not sure about is whether old gcc might mis-report a potentially
>> uninitialized variable with the initializer dropped ...
> 
> Hmm, yes, I think the initializer was needed only in V1.
> 
> I guess you could remove it while committing in case no respin of the
> series is needed otherwise?

Sure, I'll take a note.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:04:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:04:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387383.623590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYpp-0007yu-FR; Mon, 15 Aug 2022 12:04:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387383.623590; Mon, 15 Aug 2022 12:04:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYpp-0007yn-Cf; Mon, 15 Aug 2022 12:04:45 +0000
Received: by outflank-mailman (input) for mailman id 387383;
 Mon, 15 Aug 2022 12:04:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z+x6=YT=citrix.com=prvs=219f4dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oNYpn-0007yg-1v
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 12:04:43 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e6cd660-1c92-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 14:04:40 +0200 (CEST)
Received: from mail-dm6nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Aug 2022 08:03:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB6970.namprd03.prod.outlook.com (2603:10b6:510:12d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 12:03:56 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 12:03:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e6cd660-1c92-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660565080;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=PHXbd9I4bpwki7VziroVs0NBFMLKoeesmeY69L63cTw=;
  b=TPGICifxytrge1DzEpq/EwrpQSGBp1Pb6UjKgoB5+88DUeG8SOTbc6tp
   qh+166xOQNyCzj/TyMaBK6w49eh2K5wGo8JallFne22Zgw2tB1AqBCC2Z
   Svzqhbb/eAYg3HeOzDbm22yvxVjbgh1aTkbbVIwTf1qdnSLkeu4WsspSP
   M=;
X-IronPort-RemoteIP: 104.47.57.175
X-IronPort-MID: 78544050
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:KZSrvqpyQt5Ud6DC4uabAKbvvwheBmIzZBIvgKrLsJaIsI4StFCzt
 garIBnSMv2JY2Wjfdx3bty3/EtQv8KGz9dlGgQ++SgzRSgU+JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GpF5gVWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqVD1NluBzhf+
 cUCJSgzXjKuvOPq/em0H7wEasQLdKEHPas5k1Q5lHT1KKhjRprOBaLX+dVfwTE8wNhUGurTb
 NYYbjwpawncZxpIOREcD5dWcOWA3yGjNWEH7g/K4/NovgA/zyQouFTpGPPTdsaHWoN+mUGAq
 3id12/4HgsbJJqUzj/tHneE2b+SwX+jBdp6+LuQ8O82nQWSnWspC0M4R32qpvKmiUnmYocKQ
 6AT0m90xUQoz2SnX930WRK1unKNug80Q8BXD+o87QiMzuzf5APxLmoOQyNFadcmnNQrXjFs3
 ViM9/v5CDoqvLCLRHa18raPsSj0KSUTNXUFZyIPUU0C+daLnW0ophfGT9ImHKvriNTwQGj02
 2rT83V4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CRV8yRCxIji1a2wqRE=
IronPort-HdrOrdr: A9a23:/winwqj/mnQwiFiYk88sM6EWK3BQX/J23DAbv31ZSRFFG/FwyP
 rCoB1L73XJYWgqM03IwerwQ5VpQRvnhP1ICRF4B8buYOCUghrTEGgE1/qv/9SAIVy1ygc578
 tdmsdFebrN5DRB7PoSpTPIa+rIo+P3v5xA592uqUuFJDsCA84P0+46MHfjLqQcfnglOXNNLu
 v52iMxnUvERZ14VKSGL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftxK/mHwOe1hI+VSoK5bs562
 DKnyHw+63m6piAu17h/l6Wy64TtMrqy9NFCsDJos8JKg/0ggLtSJV9V6aEtDUVpvjqzFoxit
 HDrzopIsw2wXLMeWOepwfrxmDboXgTwk6n7WXdrWrooMT/Sj5/IdFGn5hlfhzQ7FdllM1g0Y
 pQtljp9KZ/PFflpmDQ9tLIXxZlmg6funw5i9MeiHRZTM83dKJRl4oC50lYea1wXh4SqbpXVd
 WGPvuso8q+QmnqKUwxeVMfmeBEa05DWituhHJy4vB9nQImx0yRhHFoufD31k1wiK7VDaM0p9
 gse54Y6o2nBKUtHN1ALfZETs2tBmPXRxXQdGqUPFT8DakCf2nAspjt/dwOlaiXkbEzvewPca
 76ISVlnH93f1irBdyF3ZVN/ByISGKhXS71wsUb45RioLXzSLfiLCXGETkV4oCdiuRaBteeV+
 e4OZpQDfOmJWzyGZxR1wm7X5VJM3ERXMAcp95+UVOTpcDALJHsq4XgAb7uDauoFSxhVnL0A3
 MFUjS2LMJc7lqzUnu9mxTVU2OFQD2KwXuxKtmuwwE+8vl8CmQXiHlltb2Q3LD5FRRS9qorYU
 B5PLTr1qumuGjexxe701lU
X-IronPort-AV: E=Sophos;i="5.93,238,1654574400"; 
   d="scan'208";a="78544050"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bRBKQybkE5rTOiSlj1naf/1LchdKj+8yIOPmw7BHRD93yf2Y2c7hqLmJLwFgdc5eaWC3gfBjvA0qR+kLfsKzAFu8ZKKHZBAQZTFto0OQa7Yt4PThpUufVgX3e0wLx5HEblt19W7dIG7ilbbFjG//ZxV2AAEzMtNkGpCATYXNOYLPvkczQaWKjAKJqRm3qWUu67rx2/Qr1B3nJ4Yt6JSqjojrYgd+GZwSVKB0vh+MjKHIORLUQn045agQ2n1JzvzVHWKw5q0uTbcCDmw6tLo3rjMKQmUpHQQTvWUQ9rZ3OVApU6OtaiE1ZyrYdeJeze3jRAnQUSVSAJDbnqLvxW4MqA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PHXbd9I4bpwki7VziroVs0NBFMLKoeesmeY69L63cTw=;
 b=l1S/bJjJq+Q+ngpHRjSqHGwZXY4EvNV9wPFn1iS5XMqa0nxZghyXsnKhVcqRUJBeaREDtm0Z4KfhLJ5D8QMUpUSbTKjjWY1dO1g2fHzrrt9LPW758QVlwcTIVM40LJxbHvCtj2aQZtil80KucFuU7Gb3h8H8QJMSeirqN9euzmypWoLqcmM2r4azq1Ri5a8NdDqLfb38rSgFGXdoHFNTcrDBNjdHdiUbc1ZILr9K1lQRnh2cpICG6OkmoyU33Q3bM4FSYaKeUlo9Xsm/ZVlvPfeoOTid6EM08RssLz4Hsg5lxPoje9lpdDjNMFwqH9J0mDxYHGG5rGclEajZXu5X2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PHXbd9I4bpwki7VziroVs0NBFMLKoeesmeY69L63cTw=;
 b=hLMkjJ+KXtBa+zLwiprcBvWg6PpX7ctHbH/u8alHunsy3t57GQWe/i1Zr1QS5yadtqCWWKr139K6U9IZnT6lnX2m1WNgLR8MFRh53M7T+o0Mk4n0rnEDqTY4TOhkWVKLF5L0uHBPKIGtnpoTG9fjKunI6zE2RERR2i5zw5388FI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Dylanger Daly <dylangerdaly@protonmail.com>, Jan Beulich
	<jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Ryzen 6000 (Mobile)
Thread-Topic: Ryzen 6000 (Mobile)
Thread-Index:
 AQHYmvrX1sLvM09bk02pTR45nk82162Fb4oAgAD7BwCAAIAsAIAAAHAAgCkNSwCAAA/BgA==
Date: Mon, 15 Aug 2022 12:03:55 +0000
Message-ID: <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
References:
 <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com>
 <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com>
 <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com>
 <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
In-Reply-To:
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ecb20483-1440-4cfa-d8c7-08da7eb63a80
x-ms-traffictypediagnostic: PH7PR03MB6970:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 34k8k8YnjQkLw7itJeha2hJbh7h22SgeA8Mt4gTg9k4ltzLTFX/5T56T9oF/yY+j9X5gRRY8m1lWp9Ag8IZni6PgoiDf9Sai2Br2163d2JDytawparqPvQPMS2dkamilgXhvz1+q0Ege19P+ayyC/7B9SBdRcKJqI2R2vXkVXa4clmpga4FYMCFWCU8OkKK6H6I9ZsqerB0cO1RRJixESXVtec+1/pDRkf5vNcAcFi+0zc1z6darhEhclpyAh2mMTCHsAFGgYMKTMIdGr7CtZnzjkCliSE4g0CD7kHIyvoyx6XME0OjnMSu4YEWezVvPv7Q7hjI1l0A2pL8tYRgeuGEYNjQADCkbtd4019IZkBNpEVv7q5axtncYNlEGynXL8Q5lq7h0fJ/RxphzrzyWRgTpTNwGxfh2RkLSK1W5FRuzabFAzdPaMbvxA5DhkBjQkBTJXSYzxCyzDQ/0llUWy1gFUrikL/uzWwWB5OF6MFdxrkfB5260k634RMVGpxSOdJwx06ozPSpcJHBwT+eWA9rfaTFPBy0Z7vs71LSfHr8tu+wPTzndCsOXDZHVzD1W4fQlNUDPs12URCBJSBZhsZl1sT9O38V11ZfktQHVLFCjKRtP9OHIVyEDV7eI/3e/0ELjetluoPjjPFh6gB3bVOTNgZo2XOIAi9pVW7wvWU/4GHdO/LlNx5f83VHF4XQkN74HUySWO3QbjWD3nhQWwjrKfQ0lejA3TvyapG8ICnnzDYdEcBc14ZTBtkw+aRlvkLHMXxdYSKf72EmAElr0Vfhdk6xL5YUu5BJDYMNpGM/XIeIVB9s0rDyJg/rp1vuVU0Mtq8tuWmRdS/ub+wcj5Z274A9huO+SLWaGyBis7nc511L7uUn3oATWGeSEtJ9oM3Hrap6akte9IDYN8pmF9Q==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(136003)(366004)(376002)(346002)(8676002)(186003)(83380400001)(82960400001)(66476007)(64756008)(122000001)(4326008)(38100700002)(316002)(66946007)(76116006)(5660300002)(38070700005)(66446008)(66556008)(91956017)(31696002)(53546011)(2906002)(6512007)(6506007)(2616005)(26005)(8936002)(41300700001)(31686004)(6486002)(478600001)(71200400001)(86362001)(110136005)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NUdCSHJ6SjVIZkxyS3NBOUhzaUsza3RkZ0VNWHhCM2M1dU9STnJrUnBvTHFZ?=
 =?utf-8?B?NVFYc0NVWCtEUXZneDNFeVhUZHk2TVF6L2JLR1dZSkdrM3VhNlloRDZTZmxj?=
 =?utf-8?B?cUhaWXduSlBJN2hHTk9tZ3hNeEhxVkhJVUlkQ2pGTE1qVGowTWFpbDcvUmJ5?=
 =?utf-8?B?Y2hYZTlyWFdnYXc1UVF6S240R0xoQ1M4elJJampQVGhlWnFnQWRneE42R2JY?=
 =?utf-8?B?M1dVRmFCakdrVE9jWjAwVTFKdyszUnd5bks3ME5lb1dQUDRDSU9ZMHNhUVlh?=
 =?utf-8?B?M2dEbXYvZ0h4ZmkrOEY5dTIzRmFzZ2lpNVBhbEd4cWNZMGROdW9pZCtsV0pK?=
 =?utf-8?B?Y1dkUkhkQU9mU2FkdmJnOWZ1NGV1L3B3ZnlGZis0SWRjaytrRlJ2TFRGWGdC?=
 =?utf-8?B?aC95NUEya0lwU2ZnYXNpdlZxMzV1Y0VMVENaVTg3Z0JvMWpDTVJVdURwdGtt?=
 =?utf-8?B?NXhQNE5zcm1laDRpR0M2WWlMSzBSbTc0a0dMV3E1YVBDNDNvWFd5Y0ZGRU9x?=
 =?utf-8?B?b1lRYmtJSjV5SkZPYWdoaU85VDlRYzUvd2xzVXZld3hicXNCRE5MeFpEazRY?=
 =?utf-8?B?U3ZJZUNKVTY5NlBlVlJLNzBkRFRTTDBhalFMUUhZSTVudHMzSDdIY0YyVVFj?=
 =?utf-8?B?dGRoNHVsNndOVlp4Si9KakhsM3VBbVVxVVpRNHd0b3JFQkE1UG9talc1TFZu?=
 =?utf-8?B?RjhBR2pHMGEzcnc2akRtcUlWVGl0QXU4UldQMnhGY3RYUlhDL2RSQ05FaDN5?=
 =?utf-8?B?NndmNlNYN3A5cnVodTRPWVNaUmI1VW1JZWQ2d3JwQ0RUa3VBeHJFdkZyREVF?=
 =?utf-8?B?MXI0WTdCSmw0UlNNWEJjN0o0UUxOaHZNTXlMMy9iTjdkRkpTZmpQUldzSDU3?=
 =?utf-8?B?VWlDT0pXVDRZNndod2hVc3E5RDJoUnZtZ3NOOW5odTNONUVrd3J4THRhaG5X?=
 =?utf-8?B?RSs0eFdaTisvWk9ITGRvTjdkR1RRdzgrRXlrbk1YbVd4QU1TL1hQeUdQZ1VK?=
 =?utf-8?B?YUxmYU5mcjJSTFJQNWxIcStFOGwyWEhRbEo3V1o0SVN5R3RENUZUY25DVFAy?=
 =?utf-8?B?Q3ErbDBxajZjbCtvODAvVThzZUZIcUxoU0dEaE43YUxBYkx6UWhzL040eExX?=
 =?utf-8?B?UDdPMk1pbTdkRFp2a0FzVHIyT3dwRnlnbEVCR2ZBZnBTL3Q5ZU9uRUxlSjda?=
 =?utf-8?B?cDZsK0w2cy9zbC82QnNzZDl6dHAydnFSSlVLdktKaHZaWE5qR01pNWpoUVZT?=
 =?utf-8?B?aGRqaEdyajYyUTY1ZE0zMngwOVljb1llTHBlMzlWcjY0aTlKK2RaZEFlNGRM?=
 =?utf-8?B?b0pGaEZuQVRsbXBjdTh0bTZUUHQ1bndzbkxJNDJBNjdnNVRrNWxtTE1Nbmg3?=
 =?utf-8?B?ZkM3MHpRZDliL1UrdWMwNEszZWlYMmF0Q0ttSkRHZDhQajJYUUthTkFBTnRG?=
 =?utf-8?B?UjJDRnh0emxZdHo2ZDNKVmdOd3g1Z1Y1ZDREM25zRE9JTHBzellSYWpjcEJL?=
 =?utf-8?B?clY1RkV3emw4SXBNT0VtTTB3dWU0WG0yd2NoZHJYWVpSTkJ1RFpSUEJYVGNZ?=
 =?utf-8?B?Q2NTQnhJSTQrdGlGTGVXTFdyYlh3dldDaXQ5dElpZUlNNWJ0bnBvU3hqaHZo?=
 =?utf-8?B?MXc4eDl3TnUwVEphUnlOZW8rekxwaWZQOE1kYUl3YjN6VVJiQVVrdS9wNE9D?=
 =?utf-8?B?T1R3OGRXVDRhblpmRTcyZjVqWFZ1Mm1CUmJjQ3F0N290Q3YxbzBOOTJIaVJ0?=
 =?utf-8?B?OXlsc2lwWXhEWlVnZEtQcS9OK25lbWhtcjdJVXlBKzA0K0tPVmpQYkJIYVFR?=
 =?utf-8?B?NEl5dVJScjMxWkpZNUFoWFpad1MzY1liN00reWRwVUxyZ3NRTm1IcS9FUk9y?=
 =?utf-8?B?WWFaekxaeDgyeWRyZnBhSUxUSVVCOTBwei9RN2U4ZjVPZHRMSGhrdWIyRm1Q?=
 =?utf-8?B?dG1zbWR2bll4TzVkdzJHZjdqYjY4VXNubGlDV1huV1ZjS3RabGhGMXVqU3FB?=
 =?utf-8?B?cDZWZDVGa0JNdkowdnhvTmF5ZVJmTmVSQ3d1SUc0cHlzMEF5c2k3dG9EN01S?=
 =?utf-8?B?VzVXa0QyS3VZczhyUnIvbXdDeUt5Tk1kVzFXMUdQUmNvUlI4bTlBajUyaXRP?=
 =?utf-8?Q?UqXrgkLaOocUgprT1gHB9/TGj?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <FF2D25C8186F5D4BB6C50E2250249F79@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	x3jpm86JF2rOcGIZqSdNI0GiE0M6YQl/U5qieSPwG8vZazTY/XTfp07FHFM05uxgyu6PvhyL02YByUMnFf3kF8V9zy2gRtnPIHAW5W7NY+gnIOyI8MDgQg5Jgegzdc/YFohRBRU7l8AIqJzxyAEq93Ggip3Li2hrZuQ2Jrhr2oWn8ZG8zd4TTtPIY6QFb9xMLvymZmjeBdbLr9GvZ/0CUqsDux3rx1OfKMU90hxR6oCUSuy7ypu/Dddf/8eU/jExQjxMBoxFzlVLSl8x9/oO0GhU/RUM0n5/3Xy/TObGlYImCmOceaHf9R933URS2Qu+Ovae1Htec5TJ03BTRzCGJLrwfXHtKZoaJWIDzrJX0TSMk8+6HqoqA/Pb6Mj2C7LIhrDX9eNr+fn5voTxEaQORD9GtIJHggEuQdTDBBtzTL78Zeoh/OyI6MMIR/ivu0S47Qq7QALGQcHx16y8EyNUcMI0MNjV+CUZhId1sJDFjN9B8D5xwMy6muawUXEFU1Vlc7Wx6+rn+/kd3YFviwpPpqAN7ju7Cv5qQEeLv9oxA9SAoCl6pJQl0SeF5QgLTZFCye4Hixbbbtxrbe9lZYN4RANVsXengCgsKSMShOsdWg3QdoGIZ95o5TC/uSN55rZLqlwMpN/+9YV1THVbDGd8IZ4v7ItcvK88WlO5ywtx1N7gcYZ4veEVPLq4IwED1vuHsXIO+tSFtMSYozwIjnckpyKBIYhzwXmDqne/QW8e4kAIm3TI2DvWPW6Sut4Ph82cZNMw5DEUfjF0DzPv4ykIFKmHKKlKjJgAg68Np8NwJVM6EH8A8coOj0aCm8Rn5LgvO6Zy8YEAqUIVhS+1MPqcyHBcxeM8vCF8qaNWjlVCzK8=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ecb20483-1440-4cfa-d8c7-08da7eb63a80
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Aug 2022 12:03:55.6860
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: RjM3aEhfj0h+oDjmTDTaEMtswtEQBdfxiCkED9kB/5eKZvjvhadyf9L99zO1ZGlmG9pF5Ud64Ns1AtM5zBSMq0PR5wVOUK0E1l4NLT14wf4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6970

T24gMTUvMDgvMjAyMiAxMjowNywgRHlsYW5nZXIgRGFseSB3cm90ZToNCj4gSGkgQWxsLA0KPg0K
PiBJdCB3b3VsZCBhcHBlYXIgdGhpcyBpc3N1ZSBpc24ndCBzcGVjaWZpYyB0byB0aGUgTGVub3Zv
IFlvZ2EgU2xpbSA3IFByb1gsIHNvbWVvbmUgZWxzZSBpbiB0aGUgUXViZXMgY29tbXVuaXR5IGlz
IGhhdmluZyB0aGUgc2FtZSBpc3N1ZSAoaHR0cHM6Ly9naXRodWIuY29tL1F1YmVzT1MvcXViZXMt
aXNzdWVzL2lzc3Vlcy83NjIwI2lzc3VlY29tbWVudC0xMjA5MTE0ODEwKQ0KPg0KPiBDYW4gYW55
b25lIHNoZWQgc29tZSBsaWdodCBvbiB3aGF0IHBvc3NpYmx5IG1pZ2h0IGJlIG1ha2luZyBhIFhl
biA0LjE0IEh5cGVydmlzb3IgY3Jhc2ggYWZ0ZXIgYXR0ZW1wdGluZyB0byBzdGFydCBhIGRvbVU/
IERvbTAgc3RhcnQncyBqdXN0IGZpbmUsIGl0ICdmZWVscycgbGlrZSBhIG1lbW9yeSB2aW9sYXRp
b24gb3IgRE1BL0lPTU1VIGlzc3VlLCBiZWNhdXNlIHRoZSBWTSBkb2VzIHN1Y2Nlc3NmdWxseSBz
dGFydCwgaG93ZXZlciAxIG9yIDIgc2Vjb25kcyBhZnRlciBpdCBzdWNjZXNzZnVsbHkgYm9vdCB0
aGUgbW91c2UgKGluIGRvbTApIGxvY2tzIHVwIGZvciAyLTMgc2Vjb25kcyBhbmQgdGhlIGVudGly
ZSBkZXZpY2UgcmVzZXRzLg0KPg0KPiBJIGNhbid0IHNlZW0gdG8gZ2V0IGFueSBsb2dzIGF0IGFs
bCwgeGVuJ3MgY29uc29sZSwgZG9tMCBkbWVzZyBhbmQgZG9tVSdzIGRtZXNnIGFsbCBhcHBlYXIg
dG8gYmUgZmluZSBpbiB0aGUgbGVhZCB1cCB0byB0aGUgY3Jhc2guIEkgYXNzdW1lIG5vIG9uZSBo
YXMgaGFkIGEgY2hhbmNlIHRvIHVzZSBYZW4gb24gUnl6ZW4gNjAwMCAoUmVtYnJhbmR0KSB5ZXQg
ZHVlIHRvIHRoZSBmYWN0IGl0J3MgaGFyZCB0byBnZXQgeW91ciBoYW5kcyBvbiB3aXRoIHRoZSBj
aGlwIHNob3J0YWdlIGV0Yy4NCj4NCj4gSSdtIGhvcGluZyBpdCdzIHNvbWV0aGluZyB0aGF0IGNh
biBiZSBmaXhlZCB3aXRoIGEgY21kbGluZSBmbGFnLCBpdCdzIHZlcnkgZnJ1c3RyYXRpbmcgaGF2
aW5nIHRoaXMgc2hpbnkgbmV3IGxhcHRvcCBzaXR0aW5nIG9uIG15IGRlc2sgOlANCg0KQXBwZW5k
IGAsa2VlcGAgdG8geW91ciBleGlzdGluZyBgdmdhPWAgb3B0aW9uIGZvciBYZW4sIGFuZCBhZGQg
dGhlDQpgbm9yZWJvb3RgIG9wdGlvbiB0b28uDQoNClRoYXQgc2hvdWxkIGNhdXNlIFhlbiB0byB3
cml0ZSBpdHMgYmFja3RyYWNlIG91dCBvdmVyIHdoYXRldmVyIHdhcyBvbg0KdGhlIHNjcmVlbi4N
Cg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:12:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:12:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387394.623600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYxT-00013F-Bv; Mon, 15 Aug 2022 12:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387394.623600; Mon, 15 Aug 2022 12:12:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNYxT-000138-9R; Mon, 15 Aug 2022 12:12:39 +0000
Received: by outflank-mailman (input) for mailman id 387394;
 Mon, 15 Aug 2022 12:12:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNYxS-00012y-C6; Mon, 15 Aug 2022 12:12:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNYxS-0004JG-9S; Mon, 15 Aug 2022 12:12:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNYxR-0006eW-T4; Mon, 15 Aug 2022 12:12:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNYxR-0002TY-Sc; Mon, 15 Aug 2022 12:12:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=B2rc/hrVRRkrnErlG3ajUA8G3Z2IygSSqbw0oCaoJ+8=; b=GKTmXHgPIsegCUy0r93dJI/3Iz
	NmiUDtYrt46D+XvX963mC4R2vcP/ji/gpcXec0KBdNE7Q5OGLzSA7ZaoLGhNd/edKq3TILJUQdNVw
	NPWIMutVmUsxyXIDrODRP1Zwxn3ZVFJ8sWA3N4pt446yIgnK/cciEZoVXcIuXoiVYx7c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172540-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172540: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=809b5a3d2a3b7732459dd63c9382fe6ec42d1856
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 12:12:37 +0000

flight 172540 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172540/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 809b5a3d2a3b7732459dd63c9382fe6ec42d1856
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   11 days
Failing since        172151  2022-08-05 02:40:28 Z   10 days   97 attempts
Testing same since   172540  2022-08-15 09:40:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 648 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:17:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:17:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387404.623612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZ1h-0001hP-Td; Mon, 15 Aug 2022 12:17:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387404.623612; Mon, 15 Aug 2022 12:17:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZ1h-0001hI-Qp; Mon, 15 Aug 2022 12:17:01 +0000
Received: by outflank-mailman (input) for mailman id 387404;
 Mon, 15 Aug 2022 12:17:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNZ1g-0001hC-VY
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 12:17:00 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29b1bca3-1c94-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 14:17:00 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8AE692096C;
 Mon, 15 Aug 2022 12:16:59 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 629CD13A99;
 Mon, 15 Aug 2022 12:16:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Bo6yFjs5+mK0JgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 12:16:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29b1bca3-1c94-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660565819; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=3xUGW5gkNWAPK2gQhfgY0iEzS0osF8fLbNflblMST/s=;
	b=c2eX4e1JYaM5R+1H1xaDuCN6plCEAW1e/ahVyLdE5OH5hy5rCCXtgc7xLt9Kjl+OBpkWBF
	xFcJTycd0lmuXUeogE9kQfKjQyUmERImUiE6vQxoLucWm2Cvfa+RYEre9zpnwJS0MgwPdG
	vWOEEpcHxD+dqR37NAMa+ZSs6qwLMvs=
Message-ID: <a77660b5-7fde-0be1-98be-d7213a4e76cb@suse.com>
Date: Mon, 15 Aug 2022 14:16:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
 <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
 <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
In-Reply-To: <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0Ezg1fCQf0Dim8glvmtyPKde"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0Ezg1fCQf0Dim8glvmtyPKde
Content-Type: multipart/mixed; boundary="------------Jlq9Qd67Ab0h4uIYzJSYKoSw";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Message-ID: <a77660b5-7fde-0be1-98be-d7213a4e76cb@suse.com>
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
 <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
 <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
In-Reply-To: <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>

--------------Jlq9Qd67Ab0h4uIYzJSYKoSw
Content-Type: multipart/mixed; boundary="------------hKumZrqxMpbSrAuyO3fBWNr0"

--------------hKumZrqxMpbSrAuyO3fBWNr0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjIgMTQ6MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNS4wOC4yMDIy
IDEzOjU1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTUuMDguMjIgMTM6NTIsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDE1LjA4LjIwMjIgMTM6MDQsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IC0tLSBhL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+Pj4+ICsr
KyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+Pj4+IEBAIC0zMjM3LDYgKzMyMzcsNjUg
QEAgb3V0Og0KPj4+PiAgICAgICAgcmV0dXJuIHJldDsNCj4+Pj4gICAgfQ0KPj4+PiAgICAN
Cj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY3B1X3JtX2RhdGEgKnNjaGVkdWxlX2NwdV9ybV9hbGxv
Yyh1bnNpZ25lZCBpbnQgY3B1KQ0KPj4+PiArew0KPj4+PiArICAgIHN0cnVjdCBjcHVfcm1f
ZGF0YSAqZGF0YTsNCj4+Pj4gKyAgICBjb25zdCBzdHJ1Y3Qgc2NoZWRfcmVzb3VyY2UgKnNy
Ow0KPj4+PiArICAgIHVuc2lnbmVkIGludCBpZHg7DQo+Pj4+ICsNCj4+Pj4gKyAgICByY3Vf
cmVhZF9sb2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7DQo+Pj4+ICsNCj4+Pj4gKyAgICBzciA9
IGdldF9zY2hlZF9yZXMoY3B1KTsNCj4+Pj4gKyAgICBkYXRhID0geG1hbGxvY19mbGV4X3N0
cnVjdChzdHJ1Y3QgY3B1X3JtX2RhdGEsIHNyLCBzci0+Z3JhbnVsYXJpdHkgLSAxKTsNCj4+
Pj4gKyAgICBpZiAoICFkYXRhICkNCj4+Pj4gKyAgICAgICAgZ290byBvdXQ7DQo+Pj4+ICsN
Cj4+Pj4gKyAgICBkYXRhLT5vbGRfb3BzID0gc3ItPnNjaGVkdWxlcjsNCj4+Pj4gKyAgICBk
YXRhLT52cHJpdl9vbGQgPSBpZGxlX3ZjcHVbY3B1XS0+c2NoZWRfdW5pdC0+cHJpdjsNCj4+
Pj4gKyAgICBkYXRhLT5wcHJpdl9vbGQgPSBzci0+c2NoZWRfcHJpdjsNCj4+Pg0KPj4+IFJl
cGVhdGluZyBhIHYxIGNvbW1lbnQ6DQo+Pj4NCj4+PiAiQXQgbGVhc3QgZnJvbSBhbiBhYnN0
cmFjdCBwZXJzcGVjdGl2ZSwgZG9lc24ndCByZWFkaW5nIGZpZWxkcyBmcm9tDQo+Pj4gICAg
c3IgcmVxdWlyZSB0aGUgUkNVIGxvY2sgdG8gYmUgaGVsZCBjb250aW51b3VzbHkgKGkuZS4g
bm90IGRyb3BwaW5nDQo+Pj4gICAgaXQgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uIGFu
ZCByZS1hY3F1aXJpbmcgaXQgaW4gdGhlIGNhbGxlcik/Ig0KPj4+DQo+Pj4gSW5pdGlhbGx5
IEkgdGhvdWdodCB5b3UgZGlkIHJlc3BvbmQgdG8gdGhpcyBpbiBzb21lIHdheSwgYnV0IHdo
ZW4NCj4+PiBsb29raW5nIGZvciBhIG1hdGNoaW5nIHJlcGx5IEkgY291bGRuJ3QgZmluZCBv
bmUuDQo+Pg0KPj4gT2gsIHNvcnJ5Lg0KPj4NCj4+IFRoZSBSQ1UgbG9jayBpcyBwcm90ZWN0
aW5nIG9ubHkgdGhlIHNyLCBub3QgYW55IGRhdGEgcG9pbnRlcnMgaW4gdGhlIHNyDQo+PiBh
cmUgcmVmZXJlbmNpbmcuIFNvIGl0IGlzIGZpbmUgdG8gZHJvcCB0aGUgUkNVIGxvY2sgYWZ0
ZXIgcmVhZGluZyBzb21lDQo+PiBvZiB0aGUgZmllbGRzIGZyb20gdGhlIHNyIGFuZCBzdG9y
aW5nIGl0IGluIHRoZSBjcHVfcm1fZGF0YSBtZW1vcnkuDQo+IA0KPiBIbW0sIGludGVyZXN0
aW5nLiAiUHJvdGVjdGluZyBvbmx5IHRoZSBzciIgdGhlbiBtZWFucyB3aGF0IGV4YWN0bHk/
DQo+IEp1c3QgaXRzIGFsbG9jYXRpb24sIGJ1dCBub3QgaXRzIGNvbnRlbnRzPw0KDQpDb3Jy
ZWN0Lg0KDQo+IFBsdXMgaXQncyBub3QganVzdCB0aGUgcG9pbnRlcnMgLSBzci0+Z3JhbnVs
YXJpdHkgYWxzbyB3b3VsZCBiZXR0ZXIgbm90DQo+IGluY3JlYXNlIGluIHRoZSBtZWFudGlt
ZSAuLi4gUXVpdGUgbGlrZWx5IHRoZXJlJ3MgYSByZWFzb24gd2h5IHRoYXQgYWxzbw0KPiBj
YW5ub3QgaGFwcGVuLCB5ZXQgZXZlbiB0aGVuIEkgdGhpbmsgYSBicmllZiBjb2RlIGNvbW1l
bnQgbWlnaHQgYmUNCj4gaGVscGZ1bCBoZXJlLg0KDQpPa2F5LCB3aWxsIGFkZCBzb21ldGhp
bmcgbGlrZToNCg0KIkJldHdlZW4gc2NoZWR1bGVfY3B1X3JtX2FsbG9jKCkgYW5kIHRoZSBy
ZWFsIGNwdSByZW1vdmFsIGFjdGlvbiB0aGUgcmVsZXZhbnQNCiAgY29udGVudHMgb2Ygc3Ry
dWN0IHNjaGVkX3Jlc291cmNlIGNhbid0IGNoYW5nZSwgYXMgdGhlIGNwdSBpbiBxdWVzdGlv
biBpcw0KICBsb2NrZWQgYWdhaW5zdCBhbnkgb3RoZXIgbW92ZW1lbnQgdG8gb3IgZnJvbSBj
cHVwb29scywgYW5kIHRoZSBkYXRhIGNvcGllZA0KICBieSBzY2hlZHVsZV9jcHVfcm1fYWxs
b2MoKSBpcyBjcHVwb29sIHNwZWNpZmljLiINCg0KSXMgdGhhdCBva2F5Pw0KDQoNCkp1ZXJn
ZW4NCg==
--------------hKumZrqxMpbSrAuyO3fBWNr0
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------hKumZrqxMpbSrAuyO3fBWNr0--

--------------Jlq9Qd67Ab0h4uIYzJSYKoSw--

--------------0Ezg1fCQf0Dim8glvmtyPKde
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL6OToFAwAAAAAACgkQsN6d1ii/Ey92
QggAioag24x/AOSzU89jn0aB3H3dOqwnma5f0jzdizFkEoj7tQX6pjjTJ+KnQuINyvj8dExV6o/n
zB4MetD0T4IQRY3X7lpRkeNSFeMfaQTSd+ekCqPaLU34fzWT9a/+MwLpbMLodzOqrdSuog06+0mg
iL7NRW7myPPCU1+DHhZX0cz+dl+7cEjHjjUBDslFBILd9bJULMOdX8VMK9ZitE40sU1lDdIYrCfj
bajxMzWEtK6EWrB3bWr6fpTEEa3D6fVwZ4KmfKRAPagQ0rktJ628Dm2MSsWANMxgHhaAJ6C9+au8
dYHJxnEARaAq2jxlzjVRv3r/dbQ4L1xPnIPrDMIsIw==
=aAu/
-----END PGP SIGNATURE-----

--------------0Ezg1fCQf0Dim8glvmtyPKde--


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:27:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:27:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387412.623623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZBZ-0003B9-QU; Mon, 15 Aug 2022 12:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387412.623623; Mon, 15 Aug 2022 12:27:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZBZ-0003B2-Na; Mon, 15 Aug 2022 12:27:13 +0000
Received: by outflank-mailman (input) for mailman id 387412;
 Mon, 15 Aug 2022 12:27:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNZBY-0003Aw-Nt
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 12:27:12 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2050.outbound.protection.outlook.com [40.107.20.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 967072ea-1c95-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 14:27:11 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6981.eurprd04.prod.outlook.com (2603:10a6:20b:103::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 12:27:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 12:27:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 967072ea-1c95-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WoGh6z9YfeNr4QRkn3azunn4Nn4skxlK2NlbaoI/UIC87et8f3xgOeu2MyL4qmlj13uZVQIBO1W5mb7OuCc9nrBxNvO9I7v8g3qCpOR8YeXS7G4nhbE8ZHMHq7+aCYnQOGs19eQuLQTZCWv9/VbE1dVLtzyE+W8V9xbxibLOjTpP5R5XSG8WjW42K8YvCZYcclqzBOddR2P4l3YOy/JYMaiViC4pcMUb0Tu602jEdDxxnbH69qfxpiGCAtYjNH9V105ksXmUbjn45KvxgRPHt83LJNjprJyCt1LqqdsOnntGkmHBagmeNelMjX2sfbAcpjPdC53iadG5UbskYI6Egg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ri7srvcfFaLIkvSc3BfmGZtcsqYBhgWWRtcMM8QMR4M=;
 b=LtHGkBw5XseRBsYC7/aeoTW0Qv3gBk3rQQ20r5izR7o5hUqR1VuoAUNOJHq89oT8Ep5GW+tpHEs60KJ7Agg/NfeEe4jyGIrJwbklKT2j9YE4w2YiNiHWJuhDXiL9KmrgPYRV/TBcQINvaNZGAteWhnaZ0yJmjrD/B9YgqAuO6PF6ygUdQ/N7EWItvefDASBfGq10q8jXhWrgR0QKsXdcDaV1Q1g3FshMVriyC37/prHmLrs27x5D6YCQlbTsnyae0nARTuxOznY4idHfDubv6e7rPSspNNAKbAAXAaPY8UsPD5EWZRMel4dEQKF0FEC5hIxkkd1UbYePp9pxBJwUGA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ri7srvcfFaLIkvSc3BfmGZtcsqYBhgWWRtcMM8QMR4M=;
 b=S4u2EYkyGBYFFPAwFZwo3tchBiocmhSyPKfCLndjaKdICbSLeO0Pruu31TgveegG34FksoZaV0oNUHSu9JG8BdF9mnKDHU528PyUAwTf5QOPXuQ9QM2dgc9BEyZ+Kn3u1hfBEXyV2PGwPCxlM9nwek0cXHsZWcCdDENsLwaIkvpJHeN8MMClVogQtfhyw6Vvb6c9fxaMv4wr3RxNib5M/O1NTtGjjisXBQWItkEr9sJ2mXh6CRZEBqXCFxC+spQP0NR5qoQgGe9LJBr+UrhLj18SNzNqIH+aO0cIe/AKcVIt9IVs8AzDwrbvHni3niOGS4jZlSYgLDEpy3VFwYN2Pg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <572e8652-93b8-448e-1e68-f30fd0c88974@suse.com>
Date: Mon, 15 Aug 2022 14:27:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 3/3] xen/sched: fix cpu hotplug
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, Gao Ruifeng <ruifeng.gao@intel.com>,
 xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-4-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220815110410.19872-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0094.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dd6694c8-e405-4962-c81f-08da7eb97930
X-MS-TrafficTypeDiagnostic: AM7PR04MB6981:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T3fR4gNfjijZ0k6cseOybp5FGPZ6dch9ALE9Hw4UY3Q4L2BXwhvpNQqI7ytQtUN4nkjHBXCBkLi+Hqz4L9K+e/yez7TuMjW/7Y7ddUitCALN4aUd+UDLMd4ihLzQjy/w3gfYDZQhwCCjI49ofiWV/U1WUqr4o2jheyYxQ5EQlZs2ZdD4Awdnk/zHWk90uB2J6LIHSDcN+ztjOdWG2ZxjEpy6OVGX71NDy+VlAAqrezQwsei9LhASt9fOQoMWc4Fyz8a1WGqWRbgSx0UkrZ23zP5cdNzf8fxAKqkkYGGuoSXHjAswtpxNLdwXYpjr0sm6A8GbzFMCuLbe/88hxO8i06gyqEplgni7p/lywgoS09OT1h2Vfr4cBjQMRdHmkz8kPBncD093zsfWJN41v93LTXRtR6eMIkoAyFZKw8a4nENo9t1PemtIxYTdxutIz6IkWgPXnC+jjc0IenWCozIOxOd9IQYYGnLDEmucSK4pveXyaiOyp9FNI817AYcdvoemv+VjuOfMSqp0P2gw1miLt7QAIQNnU6qk7tqmStQeJublQwJ4gxRD1bamkw3R2sip2Ov4tB8ea7xfqICZVNs1k1v9Zy/5Ad2Z3C3G0ne6313Dy7qJt3IIiUFmX+nKaa+Kja6CJSueH4TKAGLCh+++aK0pw8ynqnbF2C5i+OwCB7Uj+OqSlK8ljKYu7aaG1ItUMeVt3QB2g73icvk9/KZI+m7Ohk+GZVCLhbrJJndwTMAlYlzMAMSKsjMgJW3akYLVKtgmQxlZDDomhQAFv0zuDGX5oC8w8ZI3tpj8rpGUqvsUuNKOemi0533eThV6ujpkI51Z28yznsFYW9czIG4BqA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(39860400002)(346002)(376002)(396003)(136003)(54906003)(316002)(5660300002)(6636002)(83380400001)(31686004)(478600001)(37006003)(6512007)(2616005)(186003)(6506007)(41300700001)(36756003)(53546011)(8676002)(66476007)(66946007)(4326008)(66556008)(26005)(6486002)(31696002)(86362001)(8936002)(2906002)(6862004)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1E3KzdpcXNEN1dJalJKYzdJVTVmeElTWm9iQTEwVnVzQ3RrN3hvdWlVMVgv?=
 =?utf-8?B?SkV0b0FRMUVrUEE3N0VDRmovbk1TNlV0cUhzMzlNNW13MTNtekVqemE1ZjIr?=
 =?utf-8?B?NkQ3Q01jSlJ2NkthMTlKNmZFSGxaZ2RoMTBBZ0RFTHBEdjRyajd2QTk5K1pH?=
 =?utf-8?B?STFjYXVXNFczeExXVWFhcGNRdXpUc0s0dVlOb3hnVVI1RlpVbXdIdWdWVFpa?=
 =?utf-8?B?UlBYRnBEcklDaVRMcTRINm5ZcDVTQkk0RHA1UkRNc0gxMkFFU3hpWm53M0pW?=
 =?utf-8?B?NzlhQ2QwdHhuajVPTzBkQ1ZEU0hJTHRkUHV6akJVNXRJa3pWNTN2aml3UEhi?=
 =?utf-8?B?VHRyVDRWQmFFbDdSdjNjRzRselVQb2lqRksycGhKTUVXNCtSL015V2JQTklV?=
 =?utf-8?B?RW9QUlJVWE0wanBsUmptL1IxZFdDZlYxOGhaZGZhN3dSTzk5azJ3Y25KcHUy?=
 =?utf-8?B?aWI3MVdFWnB4MVpkUzNNSEZ4eDhYRm03SUNmVnVTMUhCTzNoM3BWdHExWThM?=
 =?utf-8?B?N0pEZThBb083Nm14ek5JL0lTRWc3dk9IU2dnSEd0RVZTbDVTdnNDRG11WDhv?=
 =?utf-8?B?dWVRUTB4YUZSWmxxazg0bStsVXZmL1BrTklFSC9SeGp5dHpwb1VvOGdHMG1m?=
 =?utf-8?B?SGU5dUFRcWlwbi9MUmZPN3Jndk9qNWJieDZqbE16Q1dVN3orSVZZTGsyNHEx?=
 =?utf-8?B?Y2h5d0E4bFFhci9qdmVBYVBkNzV5S3Bhdk9BaHFxTzFKdVg4cUtVUlhSMENY?=
 =?utf-8?B?dDA4N0lLdDhKT2x2NEFzWWxFKytCa3FNeXBER25VbzhIblpwR1V6dVJSVHhx?=
 =?utf-8?B?MUhIbVUzbmludHNOdlZvVU9keEFlM2szVkV1NjYxditSQWk3c3BJRWhyVU1t?=
 =?utf-8?B?UzBuYkliTE1KY2Yvd003WEpSdHRKRURKMVhnS0g2cGY3eHI1bVdNcmZnbEVO?=
 =?utf-8?B?SUozQ2p4YmVXMXhDOUJxbk5UazRWby9pZTJ1UWZTdC9qaHdOOFpYcW0xL0hE?=
 =?utf-8?B?VDg0TSswVGp2V2JMNDRMVkN2bjBrdXlaaDZjUFJhc1BHbU5OM3B2ODZFdWJk?=
 =?utf-8?B?Uks2WkU3OXVLbjZ1YnRiNENuMUFpUnJyUUcrRGxYc0xXNFJCcTFPMUE2UVd1?=
 =?utf-8?B?WDZ2cHF3S2FLWUVrcWFJUTNJT01GRHNFbWREMXB5dG01YUdDeHhzQ1RMVGJm?=
 =?utf-8?B?ckZzb0drL1grVmJPZ2hEdFlxKzlNSWhDdzdmWFNMOG0ydlhMZWxFLzlSdnVG?=
 =?utf-8?B?LzhhMXUwclhFbWd4bzRGV2Q5N3g1T0g2WHhFNUVVMVFjNXVpNWtzSE0yZU84?=
 =?utf-8?B?aVlQMzBxUjFsSi9kYVVkVldjei9SR3QxaWlOalJFbWNtUlV5ZFJFaVhJemlS?=
 =?utf-8?B?bFo4TVhvamd3M0FMa0xCeDZsWDROcno1eENCREpZOFZYOUVwblFpTlJmRmxX?=
 =?utf-8?B?S3hrek5PVDk0WXFuUkdTQ25JelZtL2lLMkpVTjJkSDJRYzMrQm40NzhaWXF0?=
 =?utf-8?B?OHpMYjUya0NpZ2JPMU5Fb1V6Ui9hUUN3a3FKZHdSOElQNWduSGxPZ21lODd4?=
 =?utf-8?B?elFYbXVXbC9QVTJzTjVwZDNybjYvalJuM2J2SGFzb2J0TmtEUFMyYmg2aE1L?=
 =?utf-8?B?TDRuK2dja1dBZ0ZrQVdZNm5aK0d2aTE0ZzBKZHdFVGdrNmFPb1pJcVQ5ZEdD?=
 =?utf-8?B?VG1PM05Za0hJV2krVmkzZEVSUGJTbXVkWHlqWFIveGp2Z3pyeG1NL0NOSk91?=
 =?utf-8?B?ZHJ4eVBoeW1SWE13aS9IREIvY1RrNlltYVVHaEZ1K0N0VTlXTURWRWZFUmRX?=
 =?utf-8?B?QmlNanRFNC9PRWxLek1tRVZ3L2k2dUpiK002WTFWRDZrM081VDBDSklPMzlO?=
 =?utf-8?B?NkZmbk4wR0lwTzBjaG1EL3RKUitDOG10K0ZWZ1RURVZHQ2g5eWxMdVl6R2hH?=
 =?utf-8?B?RXVHWUd2ckp2ZGpWSDVYNy9WTkY4NnFrczhVSGdCaXROOENMTUx4bWdFbmFC?=
 =?utf-8?B?dG9kZ2g1T1lTTlBKL2dVNXl2M01ydi9VUnI0bHdSTmh2R2twUWdhb1hlMGtv?=
 =?utf-8?B?d2ozaXV1cTBtUzIyQTRLU1VxZ0NBcldhMkhwbnVBTitGOUxWdGRBTDRrbEVz?=
 =?utf-8?Q?IxJYixckezAPqKD2KB6O9/Luk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dd6694c8-e405-4962-c81f-08da7eb97930
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 12:27:09.5042
 (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: dhTLLUacyvhsCNMDrGCNF7f9JJvPlVioBwnbucdXR9T80ZC1YW4OWtE6I2UciKrxvcLxQndBbAMNdiJFYrLE4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6981

On 15.08.2022 13:04, Juergen Gross wrote:
> Cpu cpu unplugging is calling schedule_cpu_rm() via stop_machine_run()
> with interrupts disabled, thus any memory allocation or freeing must
> be avoided.
> 
> Since commit 5047cd1d5dea ("xen/common: Use enhanced
> ASSERT_ALLOC_CONTEXT in xmalloc()") this restriction is being enforced
> via an assertion, which will now fail.
> 
> Before that commit cpu unplugging in normal configurations was working
> just by chance as only the cpu performing schedule_cpu_rm() was doing
> active work. With core scheduling enabled, however, failures could
> result from memory allocations not being properly propagated to other
> cpus' TLBs.
> 
> Fix this mess by allocating needed memory before entering
> stop_machine_run() and freeing any memory only after having finished
> stop_machine_run().
> 
> Fixes: 1ec410112cdd ("xen/sched: support differing granularity in schedule_cpu_[add/rm]()")
> Reported-by: Gao Ruifeng <ruifeng.gao@intel.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:35:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:35:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387420.623634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZJ6-0004dC-KK; Mon, 15 Aug 2022 12:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387420.623634; Mon, 15 Aug 2022 12:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZJ6-0004d5-Gb; Mon, 15 Aug 2022 12:35:00 +0000
Received: by outflank-mailman (input) for mailman id 387420;
 Mon, 15 Aug 2022 12:34:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNZJ5-0004cz-4e
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 12:34:59 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50067.outbound.protection.outlook.com [40.107.5.67])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac1f0eb4-1c96-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 14:34:58 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6929.eurprd04.prod.outlook.com (2603:10a6:208:181::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 12:34:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 12:34:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac1f0eb4-1c96-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=imwUw1cmbz5zo2PE9dVA3a952Ow8/bMp0l3FqIMx9gG5bRzMPypcCju/PU+zJxeMzuiGSJ/kId86pOEOCxSjNEL1cCJzt0w9U1ymzjZDilNM7Jl6TAr2tLeBcQlpJVsWhV61yRnuuyyIKEVUU4amXCPo4o+2U4/kdGZHzdBNvflGjsx8yr+QZqhoKMk3ilJyJtjytYLLKdFp8FyyaXplw+D0+W5KHmvBz9jE6oXn99iyYA7kW2l1Q+Ah083cGBibdJ0p8CkPKUlG66lz/6pA9k6tzEyzh/kToEnwr6wEz+5ejuPPrcnAZocWOghwegFIBVO8gFlC79KrVzc7pUimyw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VZ9fq7tPKg1KkcD6k1wWgBkErn34IbB7kf8bpa9MupA=;
 b=B9FhPVAPHifQTFfQLY2Vlh4+AUl6eLRXVTQ/b0cd1eDM1oUFPOBxiEeyVO6VuVAYQFbEcC8SR9ibJ11Nii7qmZx9FCWHIiTKc8J5LTG/VtqZZ3XyAukVJzPboCbGzrXIJ1A4VKa6/go2tHuAcanFWyphzUecMTZrXC8oaW/oe9QVQIrl2XWqmpxZgNiKHxcYZWHFu8lg8Nmxwb29xH4Roa0baHyD0Ek2Ljj1ZfKlYsUq+ck8AQpEWaoiq4hnCd92if6mhdH53fzjvuDw9mEFTTVcH6XtEk0XkcOv/oyd7rfLQzZOCNA0+xVY3sm0U/BRVmh4WV0g3Rs7SFSIDi7iqg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VZ9fq7tPKg1KkcD6k1wWgBkErn34IbB7kf8bpa9MupA=;
 b=5YUtCdIKgiQ/sKASrJOGBK1JIeVA8VEzjtyDFQ/x2RgynoMsa+fPcyqgEqodqk6vWylNZ1DywD3GmUi9ixsw1eC8U/3oHODMgHKB8KGaZTEdOYO3OAYZyn7nsjX5yp2PBV5cAcU5VdcTIWqr21N0U5If7nbWRxUP3diPcV0dwBrwqWwLs0zjk5k0MftchZeQn1a92/SEeQ96R0Lxn+774eEch5gqR11rWEbp2oHDf+XbqP+zi94VVZ3Xt90xWYYWy0fW4/DStvspYAoSllCs9JAAfHqsIfrGzxzkoRbJXfg6dndMQdDL+eRclWvBRFCNycuX5S+7L17LBABWZXsNyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <55ef3754-f893-29fb-8504-27a309a9edec@suse.com>
Date: Mon, 15 Aug 2022 14:34:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
 <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
 <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
 <a77660b5-7fde-0be1-98be-d7213a4e76cb@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a77660b5-7fde-0be1-98be-d7213a4e76cb@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b4b9dc55-47b5-41b4-d70f-08da7eba8f29
X-MS-TrafficTypeDiagnostic: AM0PR04MB6929:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ziFcRSYwp4JiuAm8z2arGGDqprCUG5kCg+m6+CLYHHH7gMtXgpxeWqH60535qRU+ArkNsmr6nuqJbXFAujkTYSsGTkOSWxWF3KnBO9H2TYHQgMuPQDbz1x4Ld3N+xrig2jhxu615Xdq6eQtzhfzuKLBcI4orY+dpb2w1Y/+RtV4pTGwDym/fHY4vUeyA/k0YCO+KczjVeGGk6mkOdr+PXp1GrUtF1VmtmOF3TftoT8Dm6GtZN7UvoxIeK85ieH+5lOyU5fRFi8qyVu+TMsnpA9D0ZujgCWjmAamq7vrbw2JJ5qfSK/D7qwActI//nDt7bfcQPVstcSfpQUswIDpXbH4ImXD9FFv/Uf9jydaQfyuq4GXjom6K2NgtJo3G+7jtaRWXqddCgZJ9l8fC5g5//v0dQPSwrj5M56Q75QePwnDo1nBpAdEuutNseOQJWFlHDrUK0bvcJCIwcRd6MCOJNrPxYC0UoEqebeiYgaUuLpIRbHR/IPHyXfjVMch2PSwy4E/MjxZ6tzq3KhZLGtIFNmTcKOezeeazo66NozCaz0rB9m8rzfjTEqcLzK1sVpdhq5GovJJzYBe1rw9E44lI+qQ+aX24fJoSmSUJNa5wQX1YQRkA+p8xnfIK5nJQhV69HmsungzxeiRzLHAsp/TADd5JkmKplNRgncBfYDAoEzLqy0Zf+EuQBw7Y2t08ktNdjReyFCnSnZRipkvG0O9EWl18L1i0y95L2swDqU7eN7ggtPiTB5Gtar5HmF31Ntf2eq49ADRLLaeR8VIDGyvhrR27fMMXBDP9K0eg8/Hc0J3458Xj3gHx4/2MUz4wiitkt9yyoqWdxM2pXONop/lOsw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(346002)(136003)(366004)(376002)(6636002)(83380400001)(36756003)(2616005)(31686004)(66476007)(41300700001)(2906002)(186003)(66556008)(4326008)(54906003)(37006003)(8676002)(66946007)(6512007)(38100700002)(31696002)(6862004)(53546011)(26005)(478600001)(8936002)(86362001)(6506007)(5660300002)(6486002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TmRrK3pWTnQ5RGtQWXJxRnVOY2JpTWFwRUlZMVFxdGl1aDlZY0pPQVhWdlFp?=
 =?utf-8?B?UWliWVkraHI5YUVDdzBpaDY0RWVVU3cxQzBETzkvWUNvNDZaNTVZV0VWZGs3?=
 =?utf-8?B?aWZvdmt1Zkl3WlBQSWMzcHlOeGpvcnJFcnBIeDllVVJDclZ5SjVzeU9RQmdD?=
 =?utf-8?B?UXp1SXdUV0I1SkE3L1QrYVNWdjNoL3BKdE92UXJUWU1NQXVLK3VGY0w2UElz?=
 =?utf-8?B?YlJvVkhYQU9xNFI5a3puTkM3N2orTzh6Rmd1VnJCM0dCL0drTWpjVFMvb0c3?=
 =?utf-8?B?bHEvUDhTVFhzaE9iVjlaNmo2MHF5MXE1eXBsNXhYcVBkRHFKL2VZTzJNc2ZM?=
 =?utf-8?B?UmxYdkNRSzVweDJpVTVqL0hrdEVHS2RhVW41eUdSZnFyOXVqNW40T29LVk5i?=
 =?utf-8?B?S0FkdnhzTk95Sk9KMStZTkN5SCtvcDRxKzUyaW9VMGVTV084MU0xYSt1SUky?=
 =?utf-8?B?bU11L0NXV1JaenVqL0tqVmpCL3JvTjdDdzdGQmhCVHkrbVIreWx1cWZWL2xH?=
 =?utf-8?B?UnlBMjNzVXRERGV4dndYRDM4dUdLTzl2VGlhV3BRS1RqVlVCK3lXNkhMM1BU?=
 =?utf-8?B?RUhOUnlwd1puZGROMDRINDNtQ2pSOCsvRWtQcHU4TDNBNGdsNDQ1UHhveVNQ?=
 =?utf-8?B?RlByV01YbTh2cS9vN2xZTXlKelhEQ2piZ3FYRFcrZ1dlSElnOFQxVy9aRVlo?=
 =?utf-8?B?SmFhdTZkeTFkYmQzZHVnczRVS0FaRUZESDM0eUpPRVVqVythcnJFbjRVOUFQ?=
 =?utf-8?B?TS9XWVFyZGxsVTdRNWJEeU9uVXR4ZzVCVmhtYnlKN0RLaEJ6cUtDSFNES29W?=
 =?utf-8?B?QWFPb3lITWdjOEhoV0JONEpmVVJmMUl6NWQ1Q2ZFUDFETkgvWXJ3OWdpeUc2?=
 =?utf-8?B?M1NsSEZPbnZab3hvVHZMQ0tocmVxTkRuRzRYSVBKTFZVcjJXN3plSDNaK0lv?=
 =?utf-8?B?bENVVnRRSkdHMUkvT29OUWNuV2xIWlZhYjdmeFlyNEZiUGtKK1RkdytZTi9C?=
 =?utf-8?B?WmxIekVSendSYXV2UUtlN3ZuWWtuek13aGtEMTdocVdTRVQ5MjNxaTZxbjU5?=
 =?utf-8?B?ZFAvc3JIS1BRYlBZWjNMVXBhK0k4ZVN0KzFaa0hkOHhLd1pjVVBTd3A2cGhJ?=
 =?utf-8?B?bUJqN05sWEl2UU96bGRmNjNXdWhKY080L2hsSm1FWTk4MnFoWko3ZnVNNGJL?=
 =?utf-8?B?aXVYeWp1YVZlMEdMK0t4K2RPRGFEaDM3aG5mVlRYeG4rclJScUVEUXpTNlBl?=
 =?utf-8?B?QjVKK2k1UUExcmFrSWo0dXV2dVZ4N29MaE1jTks4K2NrajVZRW5uVS9ZQUVq?=
 =?utf-8?B?dTRoOG1UZWhLRWE0M3hzMUh3YUxHYWlUZEt2Q1JrZUpRQXhIZHlPVFJiNkJG?=
 =?utf-8?B?R3Z3NG1VMW5nYUh2YXpjV2hUQzFSYXlBKytaQURCb0xmQ051NzEvTzc3bkZm?=
 =?utf-8?B?WHNzNnFiWnVPNEZ5cmc3Kzc4OTEwZG9uMlhCYlVTaEhaUmt4TjB4UFFQbWVB?=
 =?utf-8?B?MTlBa3diZlRxOFhwTVE4RjdNWElGUHJvMzZpdlA4dFZ5UFpZSFNmTTNwTVNC?=
 =?utf-8?B?VzJtOVRVKzFnb3orOG1JUlZsbWZUcldrY1VEQitZWEFWYmJPRzlsWjM3RmZO?=
 =?utf-8?B?d2EyeXlGdERCOUNjN1VkUW9mWlJMRVRJSURpaWhMekRraWsyaHNuRDlSYWFU?=
 =?utf-8?B?ZGt3Wnd6dW9ObVpGbjQ2OE1VM3RpMjQyNm51Z0tLRVhNbjFsazRJMms4czUy?=
 =?utf-8?B?T0MwNEIxenNUZytZQTU0SlppR2pvRnNCOHRUcitaYlRFU3Jvbm03OVpXZ0Za?=
 =?utf-8?B?aUtlbW15dnJaSHRsYUc3QU8vcURSWG5Td2FBNXFQLzl5aEU0UGg0Yms5a1Qz?=
 =?utf-8?B?MldOQ0JWdU5iUUlLUktwMWI4dldUd3B3dXRCNnkwT3ZaLzR4Rm9HS09NOFYw?=
 =?utf-8?B?cWx3aHEzQTMzYzJkKzg5Y05qd2ltbno4NlhBbnh2YkRKaDNrYkpDZEgrUk80?=
 =?utf-8?B?REpIL3F6aXVHY0c0ZDJxb3VkWmVSU0ZaejhtNmRNOE0rNTYrR3lQdGxnQ3pC?=
 =?utf-8?B?NkJjaU9WWVg4Y1U1MGlPR1lXekJjbEUxQi8wOGRCbGc5aVhKSG9EZHk0Szd4?=
 =?utf-8?Q?LYoJG5Hy/+EyYfnL/nkeusohm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b4b9dc55-47b5-41b4-d70f-08da7eba8f29
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 12:34:55.8653
 (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: HHusij5L0yBKRT6u0qfp/DfbSvO+NIatVoQSH9PEYijXjj+nzMQpCSUAHLgWGzXEW0rp0YMqFv7G7qEsqXGGrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6929

On 15.08.2022 14:16, Juergen Gross wrote:
> On 15.08.22 14:00, Jan Beulich wrote:
>> On 15.08.2022 13:55, Juergen Gross wrote:
>>> On 15.08.22 13:52, Jan Beulich wrote:
>>>> On 15.08.2022 13:04, Juergen Gross wrote:
>>>>> --- a/xen/common/sched/core.c
>>>>> +++ b/xen/common/sched/core.c
>>>>> @@ -3237,6 +3237,65 @@ out:
>>>>>        return ret;
>>>>>    }
>>>>>    
>>>>> +static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
>>>>> +{
>>>>> +    struct cpu_rm_data *data;
>>>>> +    const struct sched_resource *sr;
>>>>> +    unsigned int idx;
>>>>> +
>>>>> +    rcu_read_lock(&sched_res_rculock);
>>>>> +
>>>>> +    sr = get_sched_res(cpu);
>>>>> +    data = xmalloc_flex_struct(struct cpu_rm_data, sr, sr->granularity - 1);
>>>>> +    if ( !data )
>>>>> +        goto out;
>>>>> +
>>>>> +    data->old_ops = sr->scheduler;
>>>>> +    data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
>>>>> +    data->ppriv_old = sr->sched_priv;
>>>>
>>>> Repeating a v1 comment:
>>>>
>>>> "At least from an abstract perspective, doesn't reading fields from
>>>>    sr require the RCU lock to be held continuously (i.e. not dropping
>>>>    it at the end of this function and re-acquiring it in the caller)?"
>>>>
>>>> Initially I thought you did respond to this in some way, but when
>>>> looking for a matching reply I couldn't find one.
>>>
>>> Oh, sorry.
>>>
>>> The RCU lock is protecting only the sr, not any data pointers in the sr
>>> are referencing. So it is fine to drop the RCU lock after reading some
>>> of the fields from the sr and storing it in the cpu_rm_data memory.
>>
>> Hmm, interesting. "Protecting only the sr" then means what exactly?
>> Just its allocation, but not its contents?
> 
> Correct.
> 
>> Plus it's not just the pointers - sr->granularity also would better not
>> increase in the meantime ... Quite likely there's a reason why that also
>> cannot happen, yet even then I think a brief code comment might be
>> helpful here.
> 
> Okay, will add something like:
> 
> "Between schedule_cpu_rm_alloc() and the real cpu removal action the relevant
>   contents of struct sched_resource can't change, as the cpu in question is
>   locked against any other movement to or from cpupools, and the data copied
>   by schedule_cpu_rm_alloc() is cpupool specific."
> 
> Is that okay?

Well, I guess I need to leave this to the scheduler maintainers then. I
have to admit that it's not clear to me why all of sr->granularity,
sr->scheduler, or sr->sched_priv would be "cpupool specific". I may be
able to agree for sr->granularity, but the other two I thought was
scheduler data, not cpupool data. For sr->granularity in turn (but
perhaps also the other two fields) it's not obvious to me that pool
properties can't change in a racing manner.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:47:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:47:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387429.623645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZVM-0006BO-Su; Mon, 15 Aug 2022 12:47:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387429.623645; Mon, 15 Aug 2022 12:47:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZVM-0006BH-Od; Mon, 15 Aug 2022 12:47:40 +0000
Received: by outflank-mailman (input) for mailman id 387429;
 Mon, 15 Aug 2022 12:47:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNZVM-0006BB-C2
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 12:47:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71ad696a-1c98-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 14:47:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5DA9D372E1;
 Mon, 15 Aug 2022 12:47:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 363CF13A99;
 Mon, 15 Aug 2022 12:47:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id QMOzC2pA+mLjMwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 12:47:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71ad696a-1c98-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660567658; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=UwxqDYA4SctXdhPnFD3Ygn4LP6jKcoAWye8zSWC3EVs=;
	b=VHPEV3CG62x3TLLsW3MEwNcYsF9D3DtWW2WqGcBLLVw4Pku4FHKF24h3Agn6EqYUjMAqwl
	JOnWcj3DDc6zdLZDFaWBiC0QC5C29NCgW3TajA2UTmTAcdx3k3JIFD7aPO6FMrBDN3CLc7
	dLf3dVBYArV/WolszE6j/+uP7sreIuY=
Message-ID: <813693ca-f9ff-a2da-ba92-d695d48ce012@suse.com>
Date: Mon, 15 Aug 2022 14:47:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
 <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
 <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
 <a77660b5-7fde-0be1-98be-d7213a4e76cb@suse.com>
 <55ef3754-f893-29fb-8504-27a309a9edec@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
In-Reply-To: <55ef3754-f893-29fb-8504-27a309a9edec@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------1CSxAiVmvDVKKKbXRYWRNCJ2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------1CSxAiVmvDVKKKbXRYWRNCJ2
Content-Type: multipart/mixed; boundary="------------lTqfzaP4w0oc0MkRfrfJ0biu";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Message-ID: <813693ca-f9ff-a2da-ba92-d695d48ce012@suse.com>
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
 <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
 <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
 <a77660b5-7fde-0be1-98be-d7213a4e76cb@suse.com>
 <55ef3754-f893-29fb-8504-27a309a9edec@suse.com>
In-Reply-To: <55ef3754-f893-29fb-8504-27a309a9edec@suse.com>

--------------lTqfzaP4w0oc0MkRfrfJ0biu
Content-Type: multipart/mixed; boundary="------------u3i3A2t010GlDvRBbF0l2Xf1"

--------------u3i3A2t010GlDvRBbF0l2Xf1
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjIgMTQ6MzQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNS4wOC4yMDIy
IDE0OjE2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTUuMDguMjIgMTQ6MDAsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDE1LjA4LjIwMjIgMTM6NTUsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IE9uIDE1LjA4LjIyIDEzOjUyLCBKYW4gQmV1bGljaCB3cm90ZToN
Cj4+Pj4+IE9uIDE1LjA4LjIwMjIgMTM6MDQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+
Pj4gLS0tIGEveGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMNCj4+Pj4+PiArKysgYi94ZW4vY29t
bW9uL3NjaGVkL2NvcmUuYw0KPj4+Pj4+IEBAIC0zMjM3LDYgKzMyMzcsNjUgQEAgb3V0Og0K
Pj4+Pj4+ICAgICAgICAgcmV0dXJuIHJldDsNCj4+Pj4+PiAgICAgfQ0KPj4+Pj4+ICAgICAN
Cj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjcHVfcm1fZGF0YSAqc2NoZWR1bGVfY3B1X3JtX2Fs
bG9jKHVuc2lnbmVkIGludCBjcHUpDQo+Pj4+Pj4gK3sNCj4+Pj4+PiArICAgIHN0cnVjdCBj
cHVfcm1fZGF0YSAqZGF0YTsNCj4+Pj4+PiArICAgIGNvbnN0IHN0cnVjdCBzY2hlZF9yZXNv
dXJjZSAqc3I7DQo+Pj4+Pj4gKyAgICB1bnNpZ25lZCBpbnQgaWR4Ow0KPj4+Pj4+ICsNCj4+
Pj4+PiArICAgIHJjdV9yZWFkX2xvY2soJnNjaGVkX3Jlc19yY3Vsb2NrKTsNCj4+Pj4+PiAr
DQo+Pj4+Pj4gKyAgICBzciA9IGdldF9zY2hlZF9yZXMoY3B1KTsNCj4+Pj4+PiArICAgIGRh
dGEgPSB4bWFsbG9jX2ZsZXhfc3RydWN0KHN0cnVjdCBjcHVfcm1fZGF0YSwgc3IsIHNyLT5n
cmFudWxhcml0eSAtIDEpOw0KPj4+Pj4+ICsgICAgaWYgKCAhZGF0YSApDQo+Pj4+Pj4gKyAg
ICAgICAgZ290byBvdXQ7DQo+Pj4+Pj4gKw0KPj4+Pj4+ICsgICAgZGF0YS0+b2xkX29wcyA9
IHNyLT5zY2hlZHVsZXI7DQo+Pj4+Pj4gKyAgICBkYXRhLT52cHJpdl9vbGQgPSBpZGxlX3Zj
cHVbY3B1XS0+c2NoZWRfdW5pdC0+cHJpdjsNCj4+Pj4+PiArICAgIGRhdGEtPnBwcml2X29s
ZCA9IHNyLT5zY2hlZF9wcml2Ow0KPj4+Pj4NCj4+Pj4+IFJlcGVhdGluZyBhIHYxIGNvbW1l
bnQ6DQo+Pj4+Pg0KPj4+Pj4gIkF0IGxlYXN0IGZyb20gYW4gYWJzdHJhY3QgcGVyc3BlY3Rp
dmUsIGRvZXNuJ3QgcmVhZGluZyBmaWVsZHMgZnJvbQ0KPj4+Pj4gICAgIHNyIHJlcXVpcmUg
dGhlIFJDVSBsb2NrIHRvIGJlIGhlbGQgY29udGludW91c2x5IChpLmUuIG5vdCBkcm9wcGlu
Zw0KPj4+Pj4gICAgIGl0IGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbiBhbmQgcmUtYWNx
dWlyaW5nIGl0IGluIHRoZSBjYWxsZXIpPyINCj4+Pj4+DQo+Pj4+PiBJbml0aWFsbHkgSSB0
aG91Z2h0IHlvdSBkaWQgcmVzcG9uZCB0byB0aGlzIGluIHNvbWUgd2F5LCBidXQgd2hlbg0K
Pj4+Pj4gbG9va2luZyBmb3IgYSBtYXRjaGluZyByZXBseSBJIGNvdWxkbid0IGZpbmQgb25l
Lg0KPj4+Pg0KPj4+PiBPaCwgc29ycnkuDQo+Pj4+DQo+Pj4+IFRoZSBSQ1UgbG9jayBpcyBw
cm90ZWN0aW5nIG9ubHkgdGhlIHNyLCBub3QgYW55IGRhdGEgcG9pbnRlcnMgaW4gdGhlIHNy
DQo+Pj4+IGFyZSByZWZlcmVuY2luZy4gU28gaXQgaXMgZmluZSB0byBkcm9wIHRoZSBSQ1Ug
bG9jayBhZnRlciByZWFkaW5nIHNvbWUNCj4+Pj4gb2YgdGhlIGZpZWxkcyBmcm9tIHRoZSBz
ciBhbmQgc3RvcmluZyBpdCBpbiB0aGUgY3B1X3JtX2RhdGEgbWVtb3J5Lg0KPj4+DQo+Pj4g
SG1tLCBpbnRlcmVzdGluZy4gIlByb3RlY3Rpbmcgb25seSB0aGUgc3IiIHRoZW4gbWVhbnMg
d2hhdCBleGFjdGx5Pw0KPj4+IEp1c3QgaXRzIGFsbG9jYXRpb24sIGJ1dCBub3QgaXRzIGNv
bnRlbnRzPw0KPj4NCj4+IENvcnJlY3QuDQo+Pg0KPj4+IFBsdXMgaXQncyBub3QganVzdCB0
aGUgcG9pbnRlcnMgLSBzci0+Z3JhbnVsYXJpdHkgYWxzbyB3b3VsZCBiZXR0ZXIgbm90DQo+
Pj4gaW5jcmVhc2UgaW4gdGhlIG1lYW50aW1lIC4uLiBRdWl0ZSBsaWtlbHkgdGhlcmUncyBh
IHJlYXNvbiB3aHkgdGhhdCBhbHNvDQo+Pj4gY2Fubm90IGhhcHBlbiwgeWV0IGV2ZW4gdGhl
biBJIHRoaW5rIGEgYnJpZWYgY29kZSBjb21tZW50IG1pZ2h0IGJlDQo+Pj4gaGVscGZ1bCBo
ZXJlLg0KPj4NCj4+IE9rYXksIHdpbGwgYWRkIHNvbWV0aGluZyBsaWtlOg0KPj4NCj4+ICJC
ZXR3ZWVuIHNjaGVkdWxlX2NwdV9ybV9hbGxvYygpIGFuZCB0aGUgcmVhbCBjcHUgcmVtb3Zh
bCBhY3Rpb24gdGhlIHJlbGV2YW50DQo+PiAgICBjb250ZW50cyBvZiBzdHJ1Y3Qgc2NoZWRf
cmVzb3VyY2UgY2FuJ3QgY2hhbmdlLCBhcyB0aGUgY3B1IGluIHF1ZXN0aW9uIGlzDQo+PiAg
ICBsb2NrZWQgYWdhaW5zdCBhbnkgb3RoZXIgbW92ZW1lbnQgdG8gb3IgZnJvbSBjcHVwb29s
cywgYW5kIHRoZSBkYXRhIGNvcGllZA0KPj4gICAgYnkgc2NoZWR1bGVfY3B1X3JtX2FsbG9j
KCkgaXMgY3B1cG9vbCBzcGVjaWZpYy4iDQo+Pg0KPj4gSXMgdGhhdCBva2F5Pw0KPiANCj4g
V2VsbCwgSSBndWVzcyBJIG5lZWQgdG8gbGVhdmUgdGhpcyB0byB0aGUgc2NoZWR1bGVyIG1h
aW50YWluZXJzIHRoZW4uIEkNCj4gaGF2ZSB0byBhZG1pdCB0aGF0IGl0J3Mgbm90IGNsZWFy
IHRvIG1lIHdoeSBhbGwgb2Ygc3ItPmdyYW51bGFyaXR5LA0KPiBzci0+c2NoZWR1bGVyLCBv
ciBzci0+c2NoZWRfcHJpdiB3b3VsZCBiZSAiY3B1cG9vbCBzcGVjaWZpYyIuIEkgbWF5IGJl
DQoNCnNyLT5zY2hlZHVsZXIgaXMgdGhlIHBvaW50ZXIgdG8gdGhlIHNjaGVkdWxlciBvcHMg
YXJyYXkgd2hpY2ggaXMgc2V0IHdoZW4NCmEgY3B1IGlzIGFkZGVkIHRvIGEgY3B1cG9vbCAo
dGhlIHNjaGVkdWxlciBpcyBhIGNwdXBvb2wgcHJvcGVydHkpLiBUaGUgc2FtZQ0KYXBwbGll
cyB0byBzci0+Z3JhbnVsYXJpdHk6IHRoaXMgdmFsdWUgaXMgcGVyLWNwdXBvb2wsIHRvby4g
c3ItPnNjaGVkX3ByaXYNCmlzIG9ubHkgY2hhbmdlZCB3aGVuIGEgY3B1IGlzIGFkZGVkIHRv
IG9yIHJlbW92ZWQgZnJvbSBhIGNwdXBvb2wsIGFzIHRoaXMNCmlzIHRoZSBwZXItY3B1IGRh
dGEgb2YgYSBzY2hlZHVsZXIsIHdoaWNoIG5lZWRzIHRvIHN0YXkgd2hlbiBzY2hlZHVsaW5n
IGlzDQpoYXBwZW5pbmcgb24gdGhlIGNwdSwgdGh1cyBpdCBpcyBhbGxvd2VkIHRvIGJlIHJl
bW92ZWQgb25seSBpbiBjYXNlIHRoZQ0KY3B1IGlzIHJlbW92ZWQgZnJvbSBvciBhZGRlZCB0
byB0aGUgY3B1cG9vbC4NCg0KPiBhYmxlIHRvIGFncmVlIGZvciBzci0+Z3JhbnVsYXJpdHks
IGJ1dCB0aGUgb3RoZXIgdHdvIEkgdGhvdWdodCB3YXMNCj4gc2NoZWR1bGVyIGRhdGEsIG5v
dCBjcHVwb29sIGRhdGEuIEZvciBzci0+Z3JhbnVsYXJpdHkgaW4gdHVybiAoYnV0DQo+IHBl
cmhhcHMgYWxzbyB0aGUgb3RoZXIgdHdvIGZpZWxkcykgaXQncyBub3Qgb2J2aW91cyB0byBt
ZSB0aGF0IHBvb2wNCj4gcHJvcGVydGllcyBjYW4ndCBjaGFuZ2UgaW4gYSByYWNpbmcgbWFu
bmVyLg0KDQpUaGV5IGNhbid0LiBPdGhlcndpc2UgdGhlIHNjaGVkdWxlciB3b3VsZCBleHBs
b2RlLg0KDQoNCkp1ZXJnZW4NCg==
--------------u3i3A2t010GlDvRBbF0l2Xf1
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------u3i3A2t010GlDvRBbF0l2Xf1--

--------------lTqfzaP4w0oc0MkRfrfJ0biu--

--------------1CSxAiVmvDVKKKbXRYWRNCJ2
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL6QGkFAwAAAAAACgkQsN6d1ii/Ey/5
YQf/dMNdo+rF5s+AQM/aPdLkGwf46sfD2+51/s/EhOG1DEBPPfQlN2So90UF2zuo35tbpVGnsHUc
sayBBnwSSP23IU1Op91NN6Hx6nxu2zvSoc/dj1b69r5elkv/IdZQOQtrG8Z0dUkFSW2pzzDqkikx
oprDXnza5OYXWhy4FTmHE4LiHtrwf0TJAJ5IvnWlEwRro579jD52MTOb7mdr1tKCekXuG7Cn1/Az
L0OqJ3Ija0EehGgKX82iUVuFdoevPd53N4ZFT85d6RMq6RiF4O2J0JHdVdJ9eiKtjPzEzF0E6dDd
c0f97YRbBQ9sZg32OAR8I82NBqGtEiQaKeO27ynQ5g==
=TS9y
-----END PGP SIGNATURE-----

--------------1CSxAiVmvDVKKKbXRYWRNCJ2--


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 12:58:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 12:58:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387439.623661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZfw-0007jA-SA; Mon, 15 Aug 2022 12:58:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387439.623661; Mon, 15 Aug 2022 12:58:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZfw-0007j3-PW; Mon, 15 Aug 2022 12:58:36 +0000
Received: by outflank-mailman (input) for mailman id 387439;
 Mon, 15 Aug 2022 12:58:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNZfw-0007iw-AW
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 12:58:36 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2085.outbound.protection.outlook.com [40.107.105.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8dd172c-1c99-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 14:58:35 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4148.eurprd04.prod.outlook.com (2603:10a6:208:5f::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 12:58:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 12:58:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8dd172c-1c99-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fjXs6+H19rxyGafd4grHG4aMnEXq0IBICN+a0MXlqThBePPUFW6B+bswFQJ9hpa41VCNuHbBTjf6vA6EIeotQNThSW3/+hpVcZl1gfM1fC9GLTXCtiDQn5GlNpMaINi/ynEiKAcZOLqEKXr5+cKvHSLhEkOMDf/IxTMATfU9HDsUiVmdjepf2g5khWF2tMq/dZXEssxk3WnGuGXoUix2T89NByZUtifc7w+TNR3HnmicmHXErW6nV5k1RmnZPN5X9pRSWBIMVsogSZuTGwRq5F8yBfB4WEyPXhJGMmMiXBnbgJXjmoEO7hzOehy+NymmsYLRxNzQJjjDtiJv84wPNw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mB8d9Pp9S8PVTNL3C/vBJjYZXHU6qfqdKwNKoJJCFm0=;
 b=d2+hZOwgioiR1eE/dqC8HX6HfoQl8jmGfGnreNAUwbf182dJTVAf1e1v8VEPvMPPhKCGyH7RTXfZ4/FwyEnsxrWKHWlhVxFXkdmuGJGryUiJVeLCtCATpMNybY9WGTfs/M/gfK/4S7yV5NHIaLK/u0oaQLS7Kbz+4lc/VoxwOMbIBVRrVOlojuDtN686p8bWH3HRnwIrnwYqCH58GNRjJgwb7ZPEmwR2I1Eij42bjgtJoXwTx0hWH46uMIrxefXsbbgCYfmWh00vOjBhfKaOFOa4uKVWWbibKImJ3i9pfU6odhJazG670vlRVH80T2ZeNLLwpNDpSZgoxcu1/mhWVg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mB8d9Pp9S8PVTNL3C/vBJjYZXHU6qfqdKwNKoJJCFm0=;
 b=HKE08rP09laQb1UddLpSZV/duC3bzfNNTXXqptn14K9fcJb//CXbZh6Senr2j7yZ8MsBiYcMyt2/vUiqdTV9vulPahsjYh8dvo8YD1k0/OfWIGiwsrxN/mSXaz3tRPr0bEnoXKl0hLodaIvWy6ibYOGN+Zo/OZYnLEL/ke0MXMKDAuwSbA7TXF5KH8R0vx9O//EyaNABlWJxypTEldo7NJOklwdxc70s/oJq8AoG5Dns3XXW8mkV2/VH+WnRCPw8tSye2S3P2dBKMkdEA+oOLPdCIYQhgYhz+CtfLDFPlSxLBrd2Rh4mHQvDiBYIbAvCPAaMqwixa9m5vwkBsWb4nA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <04e863fd-edff-ddc5-6e7e-4d192a7bd7dd@suse.com>
Date: Mon, 15 Aug 2022 14:58:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v4 01/11] drivers/char: Add support for USB3 DbC debugger
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
 <19c0f6f6b735fbea747f9744fe1f998242fe6d9e.1660354597.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <19c0f6f6b735fbea747f9744fe1f998242fe6d9e.1660354597.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6P195CA0076.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:86::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3817b54b-a7df-4596-10ff-08da7ebddbc1
X-MS-TrafficTypeDiagnostic: AM0PR04MB4148:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qc2bfVxmsgudbIXPbg1xL3RuvdWs/5RqxvMp3gQB3bJA8pfEUlj/1YJHaVZVEQ5HCHoMFeaV/ZD4zXh2Gz/dGFTEKV6c9xHQQ9LrRAd/NhY7ZFG+eS8P+LDeRAP5cOEkxNZhIwOouPaSyskxOdp0GCdTrqMeZExvrnq0zkpxyPWTR/AKrtueKbMuLZI4PqC6WPDYN3Vwlpi0MBXegojWyEbWghTIeHJebXVw9HTGvFBH+Hjd1orLpNc6NwiUPXH+xJcp6NzfcRQiUYF34/1+8MSFyfdZ4TbWDT/Vsl84fRqIOzlTjO8NWGZWeoZIkFCkm92RgPh8QfzDdk3IwT7kogkfHD5YR1SDkihlJjg8EawLnWwMaqJYxI9rkdngsIJiS6vWT6oieoMJESxr9sS7V0Ktag+CLm63th8bGKjH+YDwC69EgUwyjBRhs3AQ+czADNlQCJfWUoMqai9JGpvE6LQ/ti+7S25lfrtVNZb4e7FNXxjypKxCicK/ap09WIUSH/fisJ9fYCD9vyBTc5pgTKzLT4nC17aR3NIegrEvWrnDdHWmWAdixWnHa1riV0ZwbPa6k/KGqMjUQOcSNjUzKHjhYdv6p/PfKQq4xEGZ5xuQw5fVt9Bk2b58LGgbPnXTeWBfcPSYhvUC/w7Pb0HcLM1GRleTmUJIffK1uBFrJcPbGOQnLoIWIaGJZoFzGP4OvhPU1pkQo1MWujTTryL9Esa7I7qPINX706+Snm4wq7Ps9wjlXIK2eqxWuxR2VjB21uCl/QgIFmFhZLRPUKS6KoFOF8akIHJEc/zOIodd91p7+KmaMjvA06PSrb/3QFgRlFJ+NJY9wzZX4wfehCZEsAOEuyV3ymuLu+sMSOOcqcs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(396003)(39860400002)(346002)(136003)(366004)(41300700001)(316002)(6916009)(966005)(6486002)(54906003)(478600001)(4326008)(2906002)(66946007)(66476007)(8676002)(66556008)(8936002)(5660300002)(31686004)(86362001)(31696002)(83380400001)(36756003)(6506007)(66574015)(186003)(2616005)(38100700002)(6512007)(53546011)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Uk9pNmdLTUlyY0tYV0MyY1B1VVdzYzdVSndpVmhQejdNZk1jekt2V3d5R0Jx?=
 =?utf-8?B?SW1hR0VyakNFMFNkWHlnT3JaeTZKTnU5ekdxMytOa3hFKzhZS0wrT1d6blM1?=
 =?utf-8?B?RzVySWR4dXF4YzNvcDNFVithKzJTUTBnNGNIbjBvUFFLb3RabFVFMmVwd2Fh?=
 =?utf-8?B?dDJkZm1LQ3ZXRjVqazdSMy9oZUJKTURXZlNzczNGdEx1azNEK2FyVHZrdXRT?=
 =?utf-8?B?TThNaDJtSUd2dzBzOEhSaXg4M1k2emRQQVhhSzc5ZCtlUVFoWWpaY1RmNU9p?=
 =?utf-8?B?cU1LVFBwYjc3N0pxSTlWc01EMUI3MVd1VktkRGRjSjg4NXFTWFJYZlNtMzBr?=
 =?utf-8?B?RWxjak9iYkhmMHVTblRpUmEza2RqZnZreENmSXhXazliWnBQM0tCdVIyWVpF?=
 =?utf-8?B?WEwydlp5cXpDK3Z6Q2J0TWd0Y3BsUUQrM2Z1Q2lYc1lVWmp0dEhjUW5saEVT?=
 =?utf-8?B?Uk1wdVhyNW85UDVLRjgyb2FVaCsrSm9OM2pxR3A2ZFJJenREQmhyOHYwbnUw?=
 =?utf-8?B?bVhZNUNodDl6bU9jZjlDd3czUllaT0xoOUhKbzF0dE4wL2p0eXNVRlFRS2kr?=
 =?utf-8?B?Z3RzL2VaQzFMRnJJY3JlS09uWjMxWlZwVDR4Zm9BWHZad0QweGJMS1dXR29y?=
 =?utf-8?B?UlJaZXZXZXZjQWIzRXBVdWs1WWtsWDlwM0VsUW55VzNBNEQzcmRMS09oNXk2?=
 =?utf-8?B?aDN6NTZLN054SGFFK0Jkd0Y3WnNMbkUrb2l1QUd1dC9VOG1BTks5Q010UFho?=
 =?utf-8?B?T0JSLzJQMUEwN2h4QnFDOFNJV2I4OCt0Lyt3UFBZRjdGT2Rlem90ZVNmMGJw?=
 =?utf-8?B?VjE0T2NYUVE4NmZ2eSs1SWZqdHNlcVNKa0l4eEVVcTVMYVFBUmlFOHdLcWFV?=
 =?utf-8?B?eldzK1BqS0NBdTd2U04zbkVzQ0Z4Z2ZQUTJJWVlmSElpMEF2Tzk0eGRPYUU5?=
 =?utf-8?B?MlpqUjVVeDg0VDRVNm14VThrY0JRdVQ5bkZqb01ndDF1Y2I5Q0dtbVJHb0VL?=
 =?utf-8?B?TVQzL0Q3L001dHBqNlNTaUowYk4wRTRlYzM4MzdkaUcvaHViRDVZVGE5WXcx?=
 =?utf-8?B?WVFtcENyRkJkd2t4dXBVVGpaZXNZQ01yVjRxemRSRzZLNDhqcndNeDRNckNW?=
 =?utf-8?B?Z2ppSDFtNjYzQSt1YjEzMTUveEJaSzBlQjZ4RHphaFdEMVFUUklYeHBxREk5?=
 =?utf-8?B?VHVybWtWZHFSZHJwL2J2ck1YbHdadS9na21JUXo4cjJBYzYrZG9saEJIczU2?=
 =?utf-8?B?M1F6N21xdjF0M2tTUjlOVUxYVnRuVUZYM1N1SjJxMjZaVDJUZ0p2c1FGeCsy?=
 =?utf-8?B?NGkvdENPcnRDNXptQlV5cEtrckl3Tml2Y2RvZE9MMlBKb1VKM1BDaVFDSUNv?=
 =?utf-8?B?M3l6WHJWK2pzK1dnTXMrM2pCbUVBN3pEL0hUaHZEL1owd2dyKzhUZWNMR0xD?=
 =?utf-8?B?Q01adWtSMkxBOWhEbkgwdHVza2VSa2VHeXpPNGJBM2Y3cUdYV2dyNWhsTXpF?=
 =?utf-8?B?ZnU1NXVta0RMeDBmOHRnSW1mZ3VkZGFVcnhrVVExYm84UEVFbTFsbjBQZTB1?=
 =?utf-8?B?a0E4L3drMW01VkFDTTF5bm53dUxIVFowSnJCcXV4QTRSUTN0RG9tbExpWVZI?=
 =?utf-8?B?UHJZKzhwQVhGN1VyM1pHSTZqc0c4R05wcW5Mb1lVZ1ZpTXh4S1ZNY093S20r?=
 =?utf-8?B?bXNCVDFMazdyMmNIVG1mNGZCQUlJUGtsTlFSNHhzUSt2ZFpDRjUzc2Y3NlJ4?=
 =?utf-8?B?eEJ3ellGYmIrYzJvK0EvNlJ4blU4K0RKdUFydFZZaHMyTXB3dUl6d0s2bnJm?=
 =?utf-8?B?ejY2RTkwRytGcFpJVEtudUpJczZ6bm1NNGFBc2xEQlc1S1lOS1MyL1l6NURk?=
 =?utf-8?B?Q3VFMFlmbW9rUzRjMVI1Z3dnT0Fndjc4L05wUFJlNXFnMVlwb05UQWkzU0dD?=
 =?utf-8?B?WWk5Wll1MW80aFhOdGc1ZkFGelF3SGlRQnRETXJiREYwMEJOVkRHa085N3hE?=
 =?utf-8?B?RjhZVTNYYWNjQlc1dHpXc3cvMUpXZzlEd25kWkMrRzVZZys5N01zT3I5ZWl4?=
 =?utf-8?B?NGpoQUYxVHB4b2szVmMyOWxGdFpJTzlsVmZIT0d6QzJOM2RIUjgxM3hkYVBZ?=
 =?utf-8?Q?0vIgmPiszSrdtljcKVRlqLWeo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3817b54b-a7df-4596-10ff-08da7ebddbc1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 12:58:32.8378
 (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: 7tFMZ69sYyOAGEW7x682wakdH4ElOFyA5cnK56ix2Nlvi9+qi23l+izjEUSPo50Q4kg/K9dk439Bt1I+TYL4Dw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4148

On 13.08.2022 03:38, Marek Marczykowski-GÃ³recki wrote:
> From: Connor Davis <davisc@ainfosec.com>
> 
> [Connor]
> Xue is a cross-platform USB 3 debugger that drives the Debug
> Capability (DbC) of xHCI-compliant host controllers. This patch
> implements the operations needed for xue to initialize the host
> controller's DbC and communicate with it. It also implements a struct
> uart_driver that uses xue as a backend. Note that only target -> host
> communication is supported for now. To use Xue as a console, add
> 'console=dbgp dbgp=xhci' to the command line.
> 
> [Marek]
> The Xue driver is taken from https://github.com/connojd/xue and heavily
> refactored to fit into Xen code base. Major changes include:
> - rename to xhci_dbc
> - drop support for non-Xen systems
> - drop xue_ops abstraction
> - use Xen's native helper functions for PCI access
> - move all the code to xue.c, drop "inline"
> - build for x86 only
> - annotate functions with cf_check
> - adjust for Xen's code style
> 
> At this stage, only the first xHCI is considered, and only output is
> supported. Later patches add support for choosing specific device, and
> input handling.
> The driver is initiallized before memory allocator works, so all the
> transfer buffers (about 230KiB of them) are allocated statically and will
> use memory even if XUE console is not selected. The driver can be
> disabled build time to reclaim this memory.
> Most of this memory is shared with the controller via DMA. Later patch
> will adjust structures placement to avoid anything else to be placed on
> those DMA-reachable pages. This also means str_buf cannot use static
> initializer, without reserving (at least) a whole page page in .data (or
> more, when combined with other structures).

While I still don't buy that the strings used here can't live next to
other string literals, ...

> Signed-off-by: Connor Davis <davisc@ainfosec.com>
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 13:10:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 13:10:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387447.623672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZrM-0001c8-TX; Mon, 15 Aug 2022 13:10:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387447.623672; Mon, 15 Aug 2022 13:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNZrM-0001c1-R1; Mon, 15 Aug 2022 13:10:24 +0000
Received: by outflank-mailman (input) for mailman id 387447;
 Mon, 15 Aug 2022 13:10:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNZrL-0001br-Ln; Mon, 15 Aug 2022 13:10:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNZrL-0005KH-JK; Mon, 15 Aug 2022 13:10:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNZrL-0001Ty-5a; Mon, 15 Aug 2022 13:10:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNZrL-0000WU-56; Mon, 15 Aug 2022 13:10:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OnBzB0Fu1GqXoshy6jkln0JpOyMKgRFN1vu084jdrpA=; b=gyrJRgmTRK0xXL81WUrNhtMVpT
	nYArfHkWxSFgITQhYXo0x8gznbqDZaquQ3soTHU0eVu+ojf53jiTGTH/qLbU3CTb/c40IkoLrYU4/
	eZyodTgGrUmt09d8emcsyr/HTO0LvfVo+sDVlBYboszUs1zLSdxw2iK2GD4w9Uy3tLYk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172542-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172542: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=646589ac148a2ff6bb222a6081b4d7b13ee468c0
X-Osstest-Versions-That:
    xen=7547268c359eeef1a4d8e578c612e7cc9350992d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 13:10:23 +0000

flight 172542 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172542/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172536
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  646589ac148a2ff6bb222a6081b4d7b13ee468c0
baseline version:
 xen                  7547268c359eeef1a4d8e578c612e7cc9350992d

Last test of basis   172536  2022-08-15 07:01:55 Z    0 days
Testing same since   172542  2022-08-15 10:05:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   7547268c35..646589ac14  646589ac148a2ff6bb222a6081b4d7b13ee468c0 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 13:19:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 13:19:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387458.623684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNa0W-0002NX-0T; Mon, 15 Aug 2022 13:19:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387458.623684; Mon, 15 Aug 2022 13:19:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNa0V-0002NQ-Sj; Mon, 15 Aug 2022 13:19:51 +0000
Received: by outflank-mailman (input) for mailman id 387458;
 Mon, 15 Aug 2022 13:19:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNa0U-0002NK-6c
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 13:19:50 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70081.outbound.protection.outlook.com [40.107.7.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f04768cb-1c9c-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 15:19:49 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5203.eurprd04.prod.outlook.com (2603:10a6:208:c1::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 13:19:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 13:19:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f04768cb-1c9c-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aNqS3QnuVSHy/bgKy4B18FQPC0YkbMpnY3Kn7uGDs5O6/kITf0oEdTw2R1SES7VIGJytCY1o3Pv2YpckX0DnmyRZKMAH0SfU2RN0AXYs/XkJ6TvI6ZknlH5OCavLA9YF8huIVTIlSZ0oCzD4wosspFAYQQxOCyAcdt/XnLK4PgkZa5bp+fJUBC3zA1MePank/TUXFkJjPoXXqVhgR0pNMgTrR3aOvHBvm8QbZNgiVS4XTPQHwdRtn/srOD/HgRcDk7od38t4qe+QL2RymdrpgrmnFFX3gogJXJQRF1gkh+ZzqwP/aKOUE3A7/Azxm9XOAzFz1EXsD7k8LJz4FA0lcA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1YdWoEM69LIVG2zpD8xY//bqoZQk+sXJkxS/IzvKsHw=;
 b=IyaE3N3MYY2z1q35d9mW2esCpy2LcBUTQlj3NM/t1q165bNMBdV1yAcW5y+uekJXEgDL4x1z59vH9zqUD7mRI1VSwapAauczKuYbFfll3aPni7effnjacByqrSwT6hulNMA/9Lieo3ALPjkiVUWbD2Csys/zMdxSclhPuWmBHgCL+DKxgKy3SeHyhnl/Om0lBJ54FUI5VACgl2IQ57w+FWzl9PuCZfaF2xTUMUW7tLOWQ27O4QN/UAB3j82Z1eF02Y0jffWTko5ALMcPnxMcVByP6ihPuFLTJ1zvjzcO0Aimy8GhsF/r/kc0ieOnWz4++SoA5WK6vZLEFAc7A2orJQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1YdWoEM69LIVG2zpD8xY//bqoZQk+sXJkxS/IzvKsHw=;
 b=pWjs1emFsdodVT+VLQaAtGtw9suqaURiQiaD1RHATqVwKZ0aJ57igjbaWyEWZslj/3DZtjOUOiHtVUKqBqUyHgjJeoGT0Q6pE78/5pbtwdUDcBArJ2s7Zo7AZ2S8Cc3nvAjOONfSJXq0G7k+Wxa3rDQGT47JIE4fWIFkKHNBo3jxtn9M2Bc6lSqceTy++jZ9wr8Y21z+mS3udHBf6cv+bgVF1a5lEaKlYblNH+J0MdSE0nq24mjd7Xxr/NTyyN0zxFEvjeM412as/31Ya2fKM19N5F/Yx1/QAdK1IpnXS5eDM5yJiamu3nJkyCF2qA2I8m9q8bvWMfj6AsAhNDlOdA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f917d922-691e-b5d1-72ae-dcb79976d67c@suse.com>
Date: Mon, 15 Aug 2022 15:19:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v4 04/11] drivers/char: make serial_parse_handle take
 const argument
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
 <c30950363e09ab1298ac2a692822252762a417d6.1660354597.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c30950363e09ab1298ac2a692822252762a417d6.1660354597.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0100.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e91514a3-2114-4ba8-3bb5-08da7ec0d34d
X-MS-TrafficTypeDiagnostic: AM0PR04MB5203:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6dBPxkt5EAcOIHUhH37bWX1DjSIN+OSErL687wjPrUSrLsN2o4fm00el0muaDRN5bnU7qGhA8G+OaWPg7ui4ofgF2Nc0M+LDUKIhnHObS0OLqFKzSipOhro3zZsfhE7DrQtyBXSRWabWFoC/i1jKKHEE3tAaH6mxCcfz3sH+eyqRvFM9OrkCf71g0yiaCSue21MCi0zJw9WofTLxW6PDU8tG99W9r2e7DYSR0AqoJ6yVPWUiW8dcTyGRdLjFDCJ68K8szEHRcy0hzo0MNsF1gqxxJtukW9xEOKsCzc6a6BRi5JqaOofgHhWAZOKj/u5YsD/C/frYi5zwfoHu9AFj99HCYdiHdrEbQ1Ds0M6oQiK73Yx4RaCKMC2zmPacpuN8jhyNwe0Sk54gurWOhRpv8WZerwsWoGs4CcSQuH6S0M1nU6Hl72oO1Ua5vhUl95BP1bb1Mp1d6aPkI6Yr+Lvz5BFEkQFrJkmnntVnG5f1/8giqqkyxykc4nd1jUU4pjwZ7wCBEgj7P9lmJPnnByNIYyFrlrTEoU/FDzYcxVzmrUv1CVYmpEyrwme+tZ4ulyBRkTKCoJLkPYMlKY0wiAZXzcjPGEvombxBT77HqKhFNVFsTWe72pUtYp45CHBkA/MMi6/za13MfOI4gStEmW3ylXTRM/fMZLCtgLYNjrdZXFcOPIZ0MDtl+A0cF1wFeIO3UhrzvL0scbpPUT87fV8mMyGCxegVpvGv2V5LU8vbIz4NLXyRO9ngf1UwfNlRZS864SmU2JYzszsqkBbkrQ9fz0lg3SUQHp+yA1OHcIECwU4YZzF7N3eh203qumf6oY0ivYPKpijL5pbdCHvKSOW+cw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(366004)(346002)(136003)(376002)(558084003)(86362001)(31696002)(31686004)(53546011)(6506007)(2616005)(36756003)(186003)(5660300002)(66946007)(6512007)(41300700001)(478600001)(54906003)(316002)(6486002)(6916009)(26005)(2906002)(38100700002)(4326008)(8936002)(8676002)(66476007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bHUveEdwdE50UEN6d1YydjVuVnpoQVhqQkw2emUzY3UxNlhNclV4c25HK2ps?=
 =?utf-8?B?a2NvYzlLOFlHbEJ2MWh4RUtWYkRuWUdCdkpTb0FXNzBrL0t4YWVHQy9qQzZW?=
 =?utf-8?B?WFBDYVB5TVVsRzhTdlkzKzJidmlrQ3ZjWnBRSUduQTg5T3ZRVGZDU2JEajN0?=
 =?utf-8?B?cmxrSGhVcGxFUXY1QmxVaE5wRHhJNXpQNTNoYjJUSFFPS2xMMWZtSzUxSlMr?=
 =?utf-8?B?ZU9KNFpOZUcvRU4xcm9scmJlTTVyOUJicW4vN0RweGVNZHNhOHZOL2dqL0RQ?=
 =?utf-8?B?N1FxUGNtUWNuaWhkbVpxSDJzdTQ4cU5uR0JEbFZIeUhIYmJHTW9yWkh1WWpw?=
 =?utf-8?B?cDFmSzZ1R0NwOUcvbjZzZWV6MVA4YndleUd6TkZzV00zREtQanpNWUtrNnBN?=
 =?utf-8?B?d2NOcE8zN0RBaWc3QWpsQ0g4cGovaHFOUDRkWkhEK2ZwSVpSQXVwK0t5cTZU?=
 =?utf-8?B?N3d2eC90enFra25ldkZIbmU5OGwraU8wbDY5b2JVczJTdUhCNVoyalpnVTdE?=
 =?utf-8?B?NzhtS29lRXN6T2k0bS83OTczRGJUSWk1SHR1aWFDaWlSNElJQjBZVk16VEhw?=
 =?utf-8?B?UWRoWmpHaWpPVmZNR3YxWEtyejFGZmVDRHAySFdXcXJUWllZakpQMzZYZFFs?=
 =?utf-8?B?N0dMaU1yZHZ0YjNPRncxQWVGb3ZDbTAvN2o4em1qMnV0S0cza3hvM21OV2RU?=
 =?utf-8?B?T21CMHpKT2lkd01kNjJ1b1BnS1RNM3BtY1VhZ1VmQjUxVS9yNmJIZTRwU0tM?=
 =?utf-8?B?c3dIYWYydGl6Vy91cE5lVWdVM2pEVDB3ZW9vdXhlOWRvazhiWVdDeDZaZGI2?=
 =?utf-8?B?WVNRU1d5VG5OU0hqWG04UnhvUHR6WVhzckVJQjMyRVpweXQwS2ZKdzRyaXdp?=
 =?utf-8?B?RWxrUFI2TUxmZ09yUmhscjRocHp3L1hPZTVDMEJxZXpITE4wbyt5aTdnZHZG?=
 =?utf-8?B?ejJWOEEwNUJBSkdzNlIwR2RBZm53QzloY1hhbXFKOU9pTGJqdWlVTnQ1cytu?=
 =?utf-8?B?czNpRndWSkFNd04zQlFPWkxhVTBFR1hKZHMvSGtmTEhvUlM0a3Z3UCswUW1X?=
 =?utf-8?B?Qy9DcG1mTzFWVE9LTGRmcy9zWjBzRlppeCtNQ0h6ekdUd3F3dDVOekIwWElC?=
 =?utf-8?B?YmpoRFFFN0k5K2J2eVlnV0pySEdpVjRqVmxsS2Zqa1VyaHdTeWw3aHVxN0px?=
 =?utf-8?B?TktHbFFteTVFSkVBQmF2OVdlUCtPKzB2NnJldWRpb1pkbVhkQVBuakx1dHUr?=
 =?utf-8?B?R2RVdS8ybnU2SXpPWEhiY1lKS2NDc3QyOEJRRkVkQmVyVWJmOGRRRlFqakFh?=
 =?utf-8?B?N3IvTmlFYWZPOVBpM2dZYWthYSszVXowdnpSQ2ZHV0ZsMC9JNWNLVWZ0VWZP?=
 =?utf-8?B?c2I4NEpuTDlLMzBOV3VVSVJwdnVCWnBkVnVWYmdRT3ZIQXBVQzg1VlRTaEYz?=
 =?utf-8?B?dmZXVEQyMnlGTjNaMHNTTklQNEVCM01PL05YU1c1QVQ3L3pwSXBHdHZMU0lO?=
 =?utf-8?B?eFlZZUpLZHpCb1N5TDJuN1R0TjFwUFo0TEFqc2JpN1FBTFBmTFlxTG1hRlZj?=
 =?utf-8?B?cTFneDFwRmExeHVrZkdiSUV4MjBkN0hLRjhVa2hNZk10VHpjWFNvUTNBdHlh?=
 =?utf-8?B?MnVHa0pTamR4Ly9uMzRKdkZIRHB2Y1NzenRpZllYbHI3THcwUW5qTzFPS3lD?=
 =?utf-8?B?emo5WmNmbFVQdnVKYUd3Q1U2dUU1TTl4eDZhS2ZLL2JXU1JBeXR0dTZXZWRs?=
 =?utf-8?B?Zk80c2I0cXZEa2ppUnB0V09nMUFkdStJWWxVeUNpNHYyV0JPTDltY0ZyRWs0?=
 =?utf-8?B?NzY2bGJlTzRqMGg5amhXdmJMUklpM0VPS0QxK09aSk9xTnVLTGJWRHRlVFNw?=
 =?utf-8?B?eWtWQmRwV1EwS0xLWXFWcUdKakFaVURSNmZiSmZFMkNrOFIvMThaK0Rrci9y?=
 =?utf-8?B?dS9KNFpsV3o2dk4yWG9rVHUvSWpPVE4zdXBxbUk4djg2MUZKaG9iYTdsRTRu?=
 =?utf-8?B?UFFTdzNKMEhaaURsOGdVYjBtTjdLWFdyUW1PK09ycmNyWkkvNUNUS2tBZW5Y?=
 =?utf-8?B?cmI1Z01lTHBFTkROUndkQXA4T3VKYllQNEw2Nm9BVERzWFVydHNXUmxvcEFo?=
 =?utf-8?Q?dGX0WKTHR8AZmLzzGADBH0+no?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e91514a3-2114-4ba8-3bb5-08da7ec0d34d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 13:19:47.2096
 (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: 7Z0/+5bh7tP8M7uWIKqY42+EmROYLgde5wuKubiamUAxmDN42CLew75+ZYXkpqfXsB0hjmtsaFHpn3W8ZiTCPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5203

On 13.08.2022 03:38, Marek Marczykowski-GÃ³recki wrote:
> It doesn't modify it, and it will be necessary in a subsequent patch.
> 
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 13:25:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 13:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387466.623695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNa6G-0003mo-Kl; Mon, 15 Aug 2022 13:25:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387466.623695; Mon, 15 Aug 2022 13:25:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNa6G-0003mh-HH; Mon, 15 Aug 2022 13:25:48 +0000
Received: by outflank-mailman (input) for mailman id 387466;
 Mon, 15 Aug 2022 13:25:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNa6F-0003mb-Ea
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 13:25:47 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2069.outbound.protection.outlook.com [40.107.105.69])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c532f2a6-1c9d-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 15:25:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0401MB2281.eurprd04.prod.outlook.com (2603:10a6:3:29::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 13:25:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 13:25:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c532f2a6-1c9d-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EHkbxvj0UnAY1TvdyC1n9OsEvkcCJX6VcIQ17Wz8S7q59ogOQXdSYOcTxOb4NQhcOE/LMxdgn1DayQWheUrhdjPyLPVy3a4CjSs+xLh/vTSQL/NnIgpQvLvNE3KbF8NdiQnOtBtWYWFr2n26mhOnxgzRNvGORapG7WBJAeo306+Tgg4Gc71AJ7t4Y4DHGByiCzPvRX4h5E4wLiHBrzc8em8+RlOdRuJPasUf5Dfjz95blK2L6sGga3TV4UP3S1W5+8Zlw8cQj/6l8HqqvZnMJOoNIRsZHNiDOjxP7ZVJiLaH4d8XDN8V2B3ClPPnMBO/OFUl4TEbTGzB7yygsoiFQw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HNo/Qvn2uBvl6wrIsQ/rl9l4NCdnYiUDjBsh9nnmEGc=;
 b=KwD8fitJNDTzrqgTgB4tUpzYlv8P8srtzzmHuFhCB0d45pg5XfvihpO8fc2R2XhRd+89YDgqAuJLhWvDUXNP/Q2ukuUFgk/ewoE4KqM1LU8Gr6ggaYRe0+Jw+dkh1pgMf+fhebA3yT0iZ6DiZv4fcUdN7jMPnALAEdlmjIjib3E3Nd27kpPcjHJEFDQ4116u0M902YDj+XpQopbT1QyPLNthDdsGll8gNGb88jhACXmZjiN6AAqDKj/8WLXOcAYNJVafS4zvEfwn6BVdAXsXFOqz2QJKqd1OW6uShcf7WuCBFByj4VUGx3BHYmmgg4LvuT8JfqUCSM4Fcwuqzp/+vg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HNo/Qvn2uBvl6wrIsQ/rl9l4NCdnYiUDjBsh9nnmEGc=;
 b=RQHTdhzQ+E9TfCHZUzC3n2h+UVdLNpRLDQY9rxJ1TChgpJcIFput9BG+SF6zE/Ks6f0nnrlxemBOsK843N3jYv77mTT8a4PQPn7/ejZatTJhKV0hdmCQKJAYdzjiRLfuPwXuTgCswZJKxkql40gH7nJgvOFuGOCBxCZPl+/GQZqKh2CNbo5AL/ywRfrR1tn/oP4B8edLJiKUIgr/CqptgqfcNJd62yD7j871uaXCKNUSDFF5MVScS6GEg7QAljcnmJ0N/HJ5W1ko67/dGCGVO+2Ll0wfxYTq5UNLzAzpPSeLIVentAJXD5AZIB0X09eWdFPVRBrSjvceCoTbYV87pw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7b977eb7-59f8-7cef-b2be-579476b148ba@suse.com>
Date: Mon, 15 Aug 2022 15:25:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v4 06/11] IOMMU: add common API for device reserved memory
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
 <2688e04266c71b3f0f9a60e2bd5fdb11776a9ef6.1660354597.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2688e04266c71b3f0f9a60e2bd5fdb11776a9ef6.1660354597.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 79685250-dec4-44a6-2e2b-08da7ec1a7df
X-MS-TrafficTypeDiagnostic: HE1PR0401MB2281:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sBx2A3POgZ/4b6MUU7dgTSCD7bByRU7QfZGhxJfx76VgIt+FN+cP1RmnY+OTm1XxreWCl0X8fpvBntoQNWkE0yWnQXYpElTxyRIIT7fNl46+iLeHunnejuXMcTv9SFHnG0rcKbnVWPVGHBodvy4ixVmNZhRmyWuF6wdIId26AfxgKCjEqQ3FP1W9w43Z5iqniS9EFWnDIYwDg8mtlq0S5avX7it6DkQXQ8CAdhKU1KXg7NuI94ciYNjUs0K51bSJabYsJOBnnNex5+v9TKgw12W7ST2+NchxmSlmojyRkJEvUCvwsIhByIZKWDyJn7YefdKSDFQgZ/iWiAHolZy+lWlS8IK2TfFMGRis85X5mgk2QGpnzLxEO5yIkm4S8KZSieMxi7L+WazbLrA+F5+n14FfZ+AqCH3iFG81PmpJtzX6ZWINKulpacIA1SL/90Cy1WqIByym5DHxjI8Tdy0mQC56uqM5Zxy054Bxg5f/QwLBgHtbDlsmPM1lUwgmdF0laacHedv5Gr/pIoAWOCYOj2gv04Ot+kl7jMZxDeWMAW1tGvic+LAY/oC9/SkZC3nt4piG41CJi8FUF3jV04xU3Q+B4cRNrjiGvJwVnfhM/oEk26+oKh8z/no41lg2pOmbdytKwMs5UtB+nuU4yz2UYc28dkXy2z5mTAFkVBzG9KnsUMGvigMme9/xp8MtIoMLKfGVsYl/JIy+6E9jcM1UmAkt0A8No0h+3W3R2dO98edgSrxffVvZ0Cqmz6Q6NKtTJgu2/cH3e/xGWqXMMSt47o86gB/r6MWzqqIsqCr8ehwTCP3GdF+5JmeVnzhWcv5gIUryGEQRXMLTZYgKs6hquA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(39860400002)(136003)(396003)(376002)(346002)(31696002)(86362001)(38100700002)(5660300002)(316002)(6916009)(54906003)(8936002)(66476007)(66556008)(66946007)(186003)(4326008)(8676002)(2906002)(2616005)(53546011)(6486002)(26005)(41300700001)(6512007)(6506007)(478600001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ak5zTDBaQVAzS1BGeVlQYmtYMThaWGR4SGN5N0V3aVZ4THRGRWptc2x6N1Mx?=
 =?utf-8?B?MFpnUVhleFo3SWVPRTVFSzdzOFpIalJBUHZlcEpLNStDYldLVlcrWkdnSjdl?=
 =?utf-8?B?RnZrY3BqQ00xMTdBQTFNMkkwMDY2MTAvQ1pvbVVuNDdWdlhnazVTMHpZcjRw?=
 =?utf-8?B?bXdkS2ZqelU0MnpHcmxwODFOOWMycmlzaGdmemVZaVB5ZytBMzJOUUI0T2FG?=
 =?utf-8?B?UWc0WEl2MldmSEFGSnU3SHVKbjlxd3VyVDcyeGF1WnlsL0x2VzNabVkyd2dx?=
 =?utf-8?B?ZXI5ZXVqcHVrZklpTW5MWHBCcWdENDlSUUdlSjdERW1FTTlmc3JCZ3g3VXBZ?=
 =?utf-8?B?VDdzcWRZQzBOd2M3SE1oWjhPaVEwZGd3dUNzckZhVU01NVBrUWk5VlY5UlpW?=
 =?utf-8?B?amlGL2tvM1Z6YXlKeTY4VTUrbkJFRklTc0YwRVNaUWxEVGdCU2V2SWdmMTRI?=
 =?utf-8?B?QzF3RWVGY011NCtKTHYrUjhmdkhVN3RzSmFjc2ZVSDZEb010b3VwQXhFR3U4?=
 =?utf-8?B?YlRGN01ibGU3U3ZxYXhERHE2OHRmb3pZaU1PSkY3djk5ZU5TeW5XQnZKc1lW?=
 =?utf-8?B?RW44NE9wellwSGN0WGYvMytDdi9pVzlpcjVJRUZpa0V2Mk9tUmdrSUpYRmM2?=
 =?utf-8?B?dFlJVzF1eXArQ3dWblZWRFdaWWxyM1F2R21qQy9XeWtpNWh4Z2JNckFBbnhq?=
 =?utf-8?B?Z0ZnWjByNDJEUnMvOGpkWHBaMFVYOVhGeW1pRi8wM0lZV2lsZTdEcTV4QWY4?=
 =?utf-8?B?a0tYdGtqZjUvZ0Jlc3BsOXNiN1dVdkJaT3RXeHcyUUdNYVh3UTcrRnRrelZs?=
 =?utf-8?B?Qm5kY0N0VVNIckN0cVFkazhEVDBYNnJUS1VXd2dDQlFvNlArRWhhcmZqL0t1?=
 =?utf-8?B?Wks5alYwbldRYmFSaTBtUHhwVXhDSCtLRkp0aGxmYTJUMXZ5MkduYkVkcEZX?=
 =?utf-8?B?UGl0MStkakZPNlJ1RUY3a04xc3RObGpLcXM5NGdRMkk4VnZSKzY5elp6Yk4y?=
 =?utf-8?B?R25Ca1Y1Q0dBWDJvaFRPU2h5QjBmVjNpckJKVGVOdUZoUnF3ZHByUittZlBk?=
 =?utf-8?B?M21aRW9ydmdmM2k0SjdYTGRneE9ya2xDdHlyZGdoZENQQk5GNVpjNXlTMUpG?=
 =?utf-8?B?aE44cXZKTHZicHBnZmE3dzgxUGNHZGtNbzhXMnUzaGZuV29CNnhpbnR3TTIz?=
 =?utf-8?B?aCtjWjZnOUdzSFBkRm5IZHNNTC9rWXYvbElwcVN6TjhlS2gxU0xESXRZY1M0?=
 =?utf-8?B?YnRrcUQzUWtBQWdQblBkd0lrR2w5b0p1Q0NGYnFHaXN0ckJ4WGFodFllT3Ur?=
 =?utf-8?B?Ukh4SGFQSFI2ejNwbjc5ZXlESmNscTdjNjJ1MzIxdDhHNjN3RjZ0NS9GZER6?=
 =?utf-8?B?elBaMW9yM3pabmRJZFFRUHY4dVE0WEw4dFFkMmppUHhrN0hWeEJaYWo3ekpB?=
 =?utf-8?B?V0xDbjFrRmZWNlhjbEl6UUYxc3d2QUYvc3J2STZCczFmTlRYbStRbTFhUjdK?=
 =?utf-8?B?NWJBaTBrOXh3YTV4UkVGZnBTdmFxdXRSV3d4bHRCdWlKMTFsZHYyZEZ6MWx4?=
 =?utf-8?B?VkFOS2tRTGxCbWFmSWtZY0VhdFFJU0c4K1FmQzh0bDRwZjFQODZSYnplYW5X?=
 =?utf-8?B?MU1walFFUEc0KzRMWW9TaE9DS1ROQUFUMDRwd2FYREgxR2lPN2FDQTJodEdH?=
 =?utf-8?B?cEliR1RyUmdSL0tKOXhjcDhHYzg0Uy8wQ0RYQWxwMVRtK2NFREtRcm5FZE5F?=
 =?utf-8?B?eEZ5L0F0anF5YU5rTHhrNUgzMUNHdWxzMk5kaUs2VG04MjQydWZaQVQ0eEdz?=
 =?utf-8?B?YVNGWDNsMlMydGpVYmlIeDYxVUk4MmYveWJSWlZwT0FLWGh3VUQ0WXdRUHdh?=
 =?utf-8?B?SkU0WXZQaklYcGx5NDRRVkZVVzYwNkp4MFFHZnVwaDZob0NtU2l2ZUxUSUNw?=
 =?utf-8?B?MlU2ZEtWYStQZkI4RExIaURZMEdmMjI0ciswZjVxZEh6dVlnaWZyak42YVp6?=
 =?utf-8?B?NmpBV1haOXJRbExlQ1JkeFlZdFlLOFA5aU9nMTJjNy9RWHk0cDhQekE2Tnh1?=
 =?utf-8?B?bUd5L0hmVTJMWEFpbWZKRnZNMStuRk91QnQ1dTh0bmFvSkwvRVVyM1J5eHkx?=
 =?utf-8?Q?hqCGGnI944R0Q7LpJJ3H/gQ84?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79685250-dec4-44a6-2e2b-08da7ec1a7df
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 13:25:43.7961
 (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: 2vr/4x51O+MmP5dAQcuFST+eMY/DM5kSxVwhs+yPVX+lCgY8vrs/XNl5WzGgBO2V2WvvEZlivRdhi9QLwpN9tw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2281

On 13.08.2022 03:38, Marek Marczykowski-GÃ³recki wrote:
> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -669,6 +669,51 @@ bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
>      return is_iommu_enabled(d) && test_bit(feature, dom_iommu(d)->features);
>  }
>  
> +#define MAX_EXTRA_RESERVED_RANGES 20
> +struct extra_reserved_range {
> +    unsigned long start;
> +    unsigned long nr;
> +    pci_sbdf_t sbdf;
> +};
> +static unsigned int __initdata nr_extra_reserved_ranges;
> +static struct extra_reserved_range __initdata
> +    extra_reserved_ranges[MAX_EXTRA_RESERVED_RANGES];
> +
> +int __init iommu_add_extra_reserved_device_memory(unsigned long start,
> +                                           unsigned long nr,
> +                                           pci_sbdf_t sbdf)

Sadly indentation is now wrong here and ...

> +{
> +    unsigned int idx;
> +
> +    if ( nr_extra_reserved_ranges >= MAX_EXTRA_RESERVED_RANGES )
> +        return -ENOMEM;
> +
> +    idx = nr_extra_reserved_ranges++;
> +    extra_reserved_ranges[idx].start = start;
> +    extra_reserved_ranges[idx].nr = nr;
> +    extra_reserved_ranges[idx].sbdf = sbdf;
> +
> +    return 0;
> +}
> +
> +int __init iommu_get_extra_reserved_device_memory(iommu_grdm_t *func, void *ctxt)

... this line is now slightly too long. Personally I would prefer to
shorten the names, e.g. by using "rdm" rather than
"reserved_device_memory". But I wouldn't mind names to be kept, just
as long as style constraints are met.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 13:26:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 13:26:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387473.623706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNa71-0004K9-UY; Mon, 15 Aug 2022 13:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387473.623706; Mon, 15 Aug 2022 13:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNa71-0004K1-RK; Mon, 15 Aug 2022 13:26:35 +0000
Received: by outflank-mailman (input) for mailman id 387473;
 Mon, 15 Aug 2022 13:26:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNa71-0004Js-Hw; Mon, 15 Aug 2022 13:26:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNa71-0005a4-Fb; Mon, 15 Aug 2022 13:26:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNa70-0002tX-Un; Mon, 15 Aug 2022 13:26:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNa70-0000eD-UP; Mon, 15 Aug 2022 13:26:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6X3qloLnxOZ1i+aAzPnfp8AirDP0RfMxwXRwvaDcUPA=; b=XQZnjd41c+Y4aEgSM++uYry8wg
	942rV7JSnhygOA3zMyn+hSHEypwRoIP1ytFbA4THiz4NGOI0HS4lsvMg+KLldOhp6mbCV6WAEseRu
	Bh+ZMW1Vba9XfgK+mGPQsaJPZdsZ1TxoSzsjp8WGCFKBQ05BPkARvhZx6r/AXrGDjiR0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172531-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172531: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=568035b01cfb107af8d2e4bd2fb9aea22cf5b868
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 13:26:34 +0000

flight 172531 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172531/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                568035b01cfb107af8d2e4bd2fb9aea22cf5b868
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   11 days
Failing since        172152  2022-08-05 04:01:26 Z   10 days   28 attempts
Testing same since   172531  2022-08-15 04:07:28 Z    0 days    1 attempts

------------------------------------------------------------
1386 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 145032 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 13:43:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 13:43:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387485.623717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNaNb-0006u3-Hb; Mon, 15 Aug 2022 13:43:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387485.623717; Mon, 15 Aug 2022 13:43:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNaNb-0006tw-Du; Mon, 15 Aug 2022 13:43:43 +0000
Received: by outflank-mailman (input) for mailman id 387485;
 Mon, 15 Aug 2022 13:43:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1rB=YT=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNaNa-0006tq-EG
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 13:43:42 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70083.outbound.protection.outlook.com [40.107.7.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45812823-1ca0-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 15:43:40 +0200 (CEST)
Received: from AS9PR06CA0053.eurprd06.prod.outlook.com (2603:10a6:20b:463::15)
 by AS8PR08MB6805.eurprd08.prod.outlook.com (2603:10a6:20b:396::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 15 Aug
 2022 13:43:38 +0000
Received: from VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:463:cafe::e1) by AS9PR06CA0053.outlook.office365.com
 (2603:10a6:20b:463::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Mon, 15 Aug 2022 13:43:38 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT060.mail.protection.outlook.com (10.152.19.187) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 13:43:37 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Mon, 15 Aug 2022 13:43:37 +0000
Received: from 14c6e4394884.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 508CF612-15D5-4F06-82E5-18A6589A15AB.1; 
 Mon, 15 Aug 2022 13:43:30 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 14c6e4394884.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 13:43:30 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PA4PR08MB6189.eurprd08.prod.outlook.com (2603:10a6:102:ef::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug
 2022 13:43:28 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Mon, 15 Aug 2022
 13:43:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45812823-1ca0-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=hyeFhgV12orLZZjqz8+UB4S2uUjelSUhp3PPNcHCXAJydEmZv40Pc07qwzenjxVKUnssqZAa7SRvf2fgqoveeWuSGlEROOQOTl7LQCTFE/Na9ar9z8UR7X0tbeM0AqqmG4pCRuT5aN4IVK9Eq8J3WGbM+iklPVFnULOs5Ifpw4EXk3rYqD+kGN1eGd9MwTB9cgkrgZoCn/Rsw8clm0zJEFyAjKtQyQ3wxk+hILS9Y9SQg8UxJlmE39bn8suAsQTzR6R0KoWEyuxXTAWO41AtVVAGbmhLcjVEcaQooCwwLycb7G7Cu61BC3QjP4Y/C6nmPgj2cx0XgFtGKOJscbFaJw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GWOZ+9qWO5p0+0nsIsfFn1ILVrDHIXWefgtqs9BwTZM=;
 b=XpJ388UphazeGWcEOMtyFXSXc3BQpkDi2XalKfUSUELuLOjLZMnE9bdPsfpiHb23apPCPSNTODrz2aK+B9SLdhb7vby6u1Y/gqGSr4L0RUlO9PwVZb9NSEqGxLZQwpsNZF9tf0wcopLreg2nTyXwFqGzMfwGpNDUaAJdtMXTvbMVxndp6euf90cgif1JRTTjJnnRqVQRoimlgQLpCjfyqF/tWjB1HCYJT528RcjVXMiGyqonkAinsoflmym9/gdqjxFG2Y37B3iZCE8TklF7uzyAVULeRkU2t+l3qEWx9SZ021LSG8HfkVeDaOsZptGsoquBvBAwWO5RiYyk6HRD7g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GWOZ+9qWO5p0+0nsIsfFn1ILVrDHIXWefgtqs9BwTZM=;
 b=tuy0344mOV1ZD050ipncHdwVlO1uilAmilusKGqrTPCqTnMj28mEetikQ2IeIBgOdxnpj0HidMOPRgOgA0g4dMjfxzbQx1Toxb+ua9pL9W6+IfXYmBynAO6u7ZE1w+WKhTZRvzIySRk0MwPJ7oqx2ZXXQyU4AMyzZXLe4a3Esi0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d276023686bf9791
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TTPm8MFk8Z1df1IAa5LlVg7iUeDwbNjbDbejKkiIgKG16f2JmSzwRx+WIk52uCKATuLwiyy+smfmqy9a3RYgex8RyH0MLSfTm9WTu9jKbxiWTgcXWuB8osXoAfvTgyzP4dFoy1BJrjGMiV4IUiJdyn5OSuIJgqNbpUNdlIODt2I2cdigh54rrEPNul4Lqz5SRNEAPKiKdWQbSGXu/IYMFtMbKUlhmcLbm2r9HFirjUrWgFqB35EvM/MTgv84F2nzwJjaeZ/GlD/iafIdY/a22A4uBm8sygYjuzAme+vf/wzbkPMOfYhQVSNazty2U32nPBHk137QN2lxNkF8I/gt0A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GWOZ+9qWO5p0+0nsIsfFn1ILVrDHIXWefgtqs9BwTZM=;
 b=KMQ2sx6YubTJjm/0TD9vpOWVV5E+05d4U6J79yz5aHZHr6dimdQ2jv5ljrcY1y0OTF9jSOgGS4zyRbU5BeUwnL7UFIOwvNFrKjDHLwMpC+BAc9eiS9bVo+Ef+x2Gkt9lE49UkgnNp0eZaPpiM4r0ud/oS9B7VJXZHNJncVA+ARXJDtbXra37enalKA2rZOGxmb+vCt/AWtFOW28RVBMd84+Ixd0247LJ0srURMfKvMXIXnBPc725MD1J+16Jn/VfSthN7kEgxdYNS37Z66wAxEvGUdCWWc5vC9LKCxUUdmgI2VtD8t7u3J6iIJj6hBlHcfiXC4IBfX03MzB9wQe1iQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GWOZ+9qWO5p0+0nsIsfFn1ILVrDHIXWefgtqs9BwTZM=;
 b=tuy0344mOV1ZD050ipncHdwVlO1uilAmilusKGqrTPCqTnMj28mEetikQ2IeIBgOdxnpj0HidMOPRgOgA0g4dMjfxzbQx1Toxb+ua9pL9W6+IfXYmBynAO6u7ZE1w+WKhTZRvzIySRk0MwPJ7oqx2ZXXQyU4AMyzZXLe4a3Esi0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/7] xen/arm64: head: Don't set x22 and update the
 documentation
Thread-Topic: [PATCH 1/7] xen/arm64: head: Don't set x22 and update the
 documentation
Thread-Index: AQHYroFCSOZ+woA6dkCDdWoe8bS4562v/PuA
Date: Mon, 15 Aug 2022 13:43:27 +0000
Message-ID: <9F492A0D-B94A-4637-B798-27E780EC0442@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-2-julien@xen.org>
In-Reply-To: <20220812192448.43016-2-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 98ebb59c-681d-4356-4a39-08da7ec427f0
x-ms-traffictypediagnostic:
	PA4PR08MB6189:EE_|VE1EUR03FT060:EE_|AS8PR08MB6805:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 crUXIElJ+VLop0/U7ksyxbI9JQcTYWF6VYC5pHOmTtnya5ylTJslvBauFMCIEtOhfX6zxiPxx0bI2JD0ChvVn38xccSIumiJYyPnPn1hNlTCzrzrL4ohnS9t8MwofRwL8joSBZsfDjfI70qd04n7DPd/7WyXeSKUcpH7WjXKhk/JQsO6kfzPfVpuuVvXN8VscLxiX7I86rqzHokv7FKhjsYBcHNCi9AgpdtmryzR8YQV807Tu8ybdYxs9zAaX0EqotySyK4NCnIPcr7m4kt5RGrZlTDq3cqoMGHvtn7Cka8n5uo2xSQXWVxNN64ZL3jO5z+FV+7Vrigkm7H0kctIBnEcffKaFWu6epALw76R70Wb1gxoPstcIxviqxwTLh51OaL9fXUUZCzNCgpwDjyh2Fxad8RJACzeRM2JQkrSCxTeu9/juvKW3x6a06JXgusoya3tpG9vveAONgeBPAfBSbbHxLdtbuNO/spAH+Bo/Ov7t6rw2PkNVRwZB3gfYXv0Salpt452KGXnO7pYNrAlBprfuh1GUmPRbmSNDVZwHlXXAzfIekNRjNh6GlBWDCIZqiz7za08jEsWofzr/pO/nc4UoTeZKr/EfBhYgmXzHXBQC7SKzAExR+buJLFxvjiSc8frXX69UP/z6aO8PdF1uv6lydT8dss89ZddNoQ1p/gJxQ0zDjsY/YtMv5xdETYWWEE2BIDo22aVwZBy7tx0afXLPxUMi77HNPQvJcwH6JYFJo4YMerQY8RGM899bivDz83eTt+KTrJ5+uLNv4dJ7a9nbbV3ysRMpaQa3zpu0y/JRKiGRCImheV7v62WyfCOuLn0Q4iFv36AWrU9oHFDHw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(15650500001)(26005)(2906002)(2616005)(41300700001)(6916009)(6512007)(8936002)(6506007)(53546011)(86362001)(71200400001)(54906003)(6486002)(36756003)(478600001)(38070700005)(33656002)(83380400001)(186003)(76116006)(8676002)(66946007)(66556008)(91956017)(66476007)(316002)(5660300002)(64756008)(122000001)(38100700002)(66446008)(4326008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <DBD0FF37AC0589408603E7866C251F65@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6189
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c33f79c8-8983-4f32-30a9-08da7ec421e3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oueDsf0x/IT2hixbvew6Coy1KPnWuNdXZBore8ZAFNcO9ooIi2978m5Q0WFLkPupYCoFrBwE1egV0zfPdjkZ7fFnQZhZ/9ggyqXcfnKvfW6V4dJSPl6esWr6qt7gE5ahgQUR8kj0Dzih/GSOPFj7G6jCxloayzEF1jS7cmPSU5OP4uhseDAjmsNhzZWWtOLgK08I68pseKYcu3d99o/2TbkYELXsaHTBiWxz4ijqQ3O0DIf6PEH+NBlGVs7GhEOlOeZaT3rHXSpkmOa6ghrnN2Jr8yTa2Q+ytItQ8uxn6gNQckkxcr5LH0L6K5Nn9ULztfu8jsYV/Pi0eCgoj6dSVkyu8LfZaVfrv/oorVh/uMuf2pq8alE5D0YE9e54sMOlUBCknzZxMnVzEVlDxpCPbHg0LF0wHeWt0nJO9BqxLv2raNPn9BPHpDaXNr8YE7wKFR1sG+ZwgrF44UndXAKbTdcDHjQfcxJ1o/HJWpeDsPlYTAXLJN+fgxF6+jjbwpmpKaHyTgTfbWP6kxK91PEbUrE3Biit8BGgCgRYioZiSrSGUC1eDr2JXAZri04uRSfYzqk5CS2ev+ML5ErzYoZiYvgpbpI/NERrNn7iEJymI4OreicBkC0Fe2DTR7wtfou4+gFMhd9pIwmKjYW7/ZSMKHXpPk6r/9aYGE5n1BWzp4pUGaksWjDBj0s3LiHhqMz/tYlodUeKDbOK9ZVaU3rOUceLUvn0DJutEcOvzw74VH2hDc2PYGetVFA//Y21iyaH4C4YTREPUbpVTD7P6v10cjDhuRtMNbMjGScWnc2jvBzMP/QAqfmiNu7VvZZTNMCk
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(39860400002)(346002)(40470700004)(46966006)(36840700001)(6512007)(26005)(70586007)(8676002)(8936002)(70206006)(4326008)(15650500001)(6862004)(5660300002)(2906002)(53546011)(33656002)(6506007)(41300700001)(47076005)(336012)(478600001)(186003)(107886003)(40460700003)(83380400001)(86362001)(2616005)(82740400003)(6486002)(82310400005)(81166007)(356005)(316002)(36860700001)(36756003)(40480700001)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 13:43:37.4001
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 98ebb59c-681d-4356-4a39-08da7ec427f0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6805

Hi Julien,

> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Since commit 7e14a47e7c73 ("xen/arm64: head Rework and document
> launch()"), the boot code is setting x22 but not read it.
>=20
> So remove the two instructions setting x22 and update the documentation
> to show x22 has no specific purpose.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand
> ---
> xen/arch/arm/arm64/head.S | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>=20
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 1babcc65d7c9..26cc7705f556 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -71,7 +71,7 @@
>  *  x19 - paddr(start)
>  *  x20 - phys offset
>  *  x21 - DTB address (boot cpu only)
> - *  x22 - is_secondary_cpu
> + *  x22 -
>  *  x23 - UART address
>  *  x24 -
>  *  x25 -
> @@ -305,8 +305,6 @@ real_start_efi:
> #endif
>         PRINT("- Boot CPU booting -\r\n")
>=20
> -        mov   x22, #0                /* x22 :=3D is_secondary_cpu */
> -
>         bl    check_cpu_mode
>         bl    cpu_init
>         bl    create_page_tables
> @@ -345,8 +343,6 @@ GLOBAL(init_secondary)
>         adr   x19, start             /* x19 :=3D paddr (start) */
>         sub   x20, x19, x0           /* x20 :=3D phys-offset */
>=20
> -        mov   x22, #1                /* x22 :=3D is_secondary_cpu */
> -
>         mrs   x0, mpidr_el1
>         ldr   x13, =3D(~MPIDR_HWID_MASK)
>         bic   x24, x0, x13           /* Mask out flags to get CPU ID */
> --=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:23:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:23:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387511.623800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNazV-0003Tc-81; Mon, 15 Aug 2022 14:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387511.623800; Mon, 15 Aug 2022 14:22:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNazV-0003TV-4Y; Mon, 15 Aug 2022 14:22:53 +0000
Received: by outflank-mailman (input) for mailman id 387511;
 Mon, 15 Aug 2022 14:22:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNazT-0003TP-LL
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 14:22:51 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2053.outbound.protection.outlook.com [40.107.21.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdba4831-1ca5-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 16:22:50 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6545.eurprd04.prod.outlook.com (2603:10a6:208:173::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 14:22:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 14:22:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdba4831-1ca5-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kLhg+ZNRpClE45sdaAObqUj85qfTLpt8Cl6suZ16B7Se60nqN5nKOeSegwJTFaDHEnAUx/qvbe+jl2AqOMIKT0lg67nqCm61olJJvhiYzCQ9n52Ul6lhgRIltgk8mom2cyKPll4qJnZ/zb28RKroRCehzEYLU74MICJwnxElJKU4EETuxZwHFLrzkfFTiQFDsfG+cyTT/HKRmpGyRli5Hc0+rcy4081D59KTE+BkADr6HMNEp/Tj5X2YiJ48YQqq6EScBkRiQ4hxwIxI5BCAPE4B/JfaC2VJjWXqIzbsTLUklDxKB6Ww7Q834rGEQwvnt5XOi3+BITazVAIGLujb2w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+U1Y4YOJsAYsYVDpmNjOSUuIUDnkzWOhjYre/EG8rcI=;
 b=FI3uVRIzKbjxi7A7WglCYsTF4Qh/raiD+FnV2j0XzDAj/K/x2k9vaFYxaGx2Qns19gs5HOskOvmUtzYBs+jaHbyM9L8WtZfPGRyV/0Pq2SYH1j8l8Y8HtibHJoD5F9IzrPcNq9pDccwpUJDDowuABH/PD0NLhDnJMNVVfFsf8YL1jT7bYqwm8oiY4WBr/xik1vq9zpqwzlydVGidJMmhAlBKWg8OzNe6mpD325lYmavN8w8cNFTaXD3yRjRzAoYUp6PuCnHkvkjAWQSVDNbyJg7SvT/eagsFgIyKvH+jvzb5Z8o+YipC7UEkC9cXgXwIg/20q3ZxASMc+AV2ulSGqg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+U1Y4YOJsAYsYVDpmNjOSUuIUDnkzWOhjYre/EG8rcI=;
 b=yElEGJgMPReVLZBoLtram4SH2cHIDnsMVThIMAJAK1pBiDLB3cVUTVShwSaXiXOWnOnclA2o4ASLuIxXAaIRAzbwbAZiu5JNH7q/Sp2Z1iaupA6fMfj+ZEwdwXlFUVwUrNALGYsM59J5AwGBK33+/14EfT1W5hc+7ORc+TsxfR+xKZ1w0b3/QLEnIObfz94GxOXjM4Z39uy1LLqPPPAO+50yNpgg+NE2jTgqUR8HWaX9HOVAP0ApNR3gk8pk0XdBEV0iOFBN34W9svBUz9eYQU+VOuiZfOtKqOZu1UuycFF0Piv1Qso7/Y1NwOhomFCamSEmMV9l4ROMDBQyifhZdg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dd7b52c1-5ccc-8def-26d1-aa1f73dfe8ac@suse.com>
Date: Mon, 15 Aug 2022 16:22:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 01/13] cpufreq: Allow restricting to internal governors
 only
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
References: <20220810192944.102135-1-jandryuk@gmail.com>
 <20220810192944.102135-2-jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220810192944.102135-2-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0037.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 83ac2ed7-ce8b-4079-ce8a-08da7ec9a0e4
X-MS-TrafficTypeDiagnostic: AM0PR04MB6545:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gc+Pf/OvUXL1WMmZcnKZWatULeCe1yppBbIVS3g/FN6pKFkKwG32mZLAegEgpRIwIuwRpyiwSVRDZf9HEHjT2ziTkfxa+C2rRgYGGfjcIHTxq37k0GxzUfpZR+WqvluBf9G1y3RzyxRmkuvTVgmYxjHQlG7aXjIA16YflfWpdfSLM5rVk7WWOirJyanVuBxNjVc8fZuNbHsfX7xbYriz81z22M3TFY7I5glfR7YyVc3Wldj+Vrowj+19x5mQeSdlcH0qkIr5Orm12cpbSZk3SexFCVbmDrbm7f45dNK8nja3rcwU18AY8TeL4lkz1H+vg2HQJHbsGWngFR7uyB2zOORqfbfTF5G4y1SM0NA68GVzZQpLnGx63uRWFDprp2e7+skghuwYpJVwq5RuLHJuKfcfknzlvIuI7NC2euuLwf/n1Xa4pG19DpXKBdztf11UDd3NXRTusnTC6fvOiTbbi6XW2noctHOLpfzI/OHQfC7lFxFCJg0Jxyp57823Q4Vh1Ud/0ENMxM6PbZ2jt7pSLStNidQKyVmJP6IKuwcdoIWcpmfWfiJg44R2yRXTQp+O7iXg6VXk25/0Eid9nex9qLO/PDrLPu7YawWE1nikw4snylS9uAfBemsNYRHa4pWPqNxe4dXFZBh1ol53cpwQhzyNgViAifY48gUShCxsMoJmoeGpec0tLYP0GQ6EXBoF6zIf4AQYau4BisCkGvMi/frmcgrDXAbsfLQmdQ041QXH/nyvS//bcoMeZC1dVd/i6pomdG3ZUpwMEKIQuLmFWYnvpE88Z9eLqRjRV2ljzcWVkHDEk0mYGsnfuWmiIsJjvGJ3BJ+5y5ASV1eS1Hm0Mw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(39860400002)(346002)(366004)(136003)(186003)(2616005)(41300700001)(53546011)(6512007)(26005)(6506007)(36756003)(31696002)(86362001)(38100700002)(5660300002)(8936002)(2906002)(4326008)(31686004)(8676002)(66946007)(66556008)(66476007)(6486002)(478600001)(6916009)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eU9lNDN3ZkN6MGNvSEh6T2RyTHUrRGIvUzlBRDVqSG1wa2pXcExIaHpWMGpU?=
 =?utf-8?B?RjhsZ0lkeElibURtRTJwWGwrTGhGQ0hFeUdvYmFXUHNraGY1OUppNU5IQTdX?=
 =?utf-8?B?R3VHMXFXZ1pzUE1xem85ZlY4QmpNS3RIaGU4eFVUVE5TTlp5ZHFsZmc5dTh6?=
 =?utf-8?B?N1VyN2NnS2ZyRW91NExlUkM4ajZkcmN5azFaTVR6dFM5d2gyaG5zRzJ2OXlJ?=
 =?utf-8?B?Y2VnSnl6L252bnhzU2NoU2FGcVVSL3Fpd1Q5ck5mRUlEY1QrMVpROXh0ZWtl?=
 =?utf-8?B?b3lEcDFnMXRiOG1VK2MybS9NbFFpRlJtVlZ1alNSV3pOOU85SDlGWXhFVnVS?=
 =?utf-8?B?QjNHWW9VR3QzL1lsV2JIem1lbXFyR0VOUVkxRUlqMGNhZDJuOVNvN3c3WUVt?=
 =?utf-8?B?TUVaMU5rZUV1ZmRmNDBoZ1ZHNStTa3FUbm9hV0tLWFkrTGlhaC96cnF3cm50?=
 =?utf-8?B?N1ZiWXdJTFFCL0YxcDRRUmF6Q05iS0E0ekJZVXo0bmJSYk53ZXcrMDA5aGl5?=
 =?utf-8?B?ZmJ4L0l4TnNwa05ZcWNGTTV6azRpcEs4NXhTeEFJRkFZSFdlK3AvdU5yeitp?=
 =?utf-8?B?QVUwQ1dpYVYwYnFBU29nbUdBaVBsMWF5MGhuK1g3SkhBaDEwM29wYVBtdmUw?=
 =?utf-8?B?RFE1UnRMb3doaDlUU2ZMSWhGclk5TktQVWszeUdrOWREdHo3WFRGVjdUUDFQ?=
 =?utf-8?B?R2kwRVJ0MGc0aDFXU3c4cWlEV1NqeHpQSTRZR2s4bVlDNkZLeDIzTFI2YTFq?=
 =?utf-8?B?b0UvL3crNFFXamlhQ1cvM0RtOFAyOVBzOUNkemVQM2NxR3hHS1M2NkNQSlVh?=
 =?utf-8?B?RDlWUWdqWVZ3L3lDN0R2dDhJOFlmcWRuVzBhZkk1Vll2WldZV1FuZUFKK0VR?=
 =?utf-8?B?c0VlcUhtL1NPV2JMUTd1NnNwL0U1WHhnMlJveHdpZ0tXQXQvQnhSNTFtTUxD?=
 =?utf-8?B?NUxpNU5adEpzQnVMMFd4TnZGN0d0OTRBTjZlbE1veTlOWC9rU2tZTjJLTTEz?=
 =?utf-8?B?N3VPOGJPSlJ3L3ZjODVuWmdKMmRoM2tkSFFVc01RWXJpTVFqWUptYUlHcGRY?=
 =?utf-8?B?ekVibk42STVXZzhZem1ZZzYxendoR3l6bGtmVURvRkZIcXlXaUdDbkhJbXND?=
 =?utf-8?B?TEFEUytkMkNteHo1ZWlZcEU4VUxZRlRYT3JNRnVnNWxmaUZTWEt1bjIwS1Q2?=
 =?utf-8?B?NGdiSklRbkMyTUE0QjJURjdiV1R3TkdVMmM5cFd2UVcwOStxNWl1TWMrMEtL?=
 =?utf-8?B?TGxXQksxQnJmOW1NRE93YVk4THl1RGFTSWI5dXdHTmRGT2FuV0szMEpTZUd1?=
 =?utf-8?B?Zm8zcTBsSWlROFVkVVVKNFZBcnd6SnpZL2FzZUE4dlFNZ3p5WjlIa1dlc080?=
 =?utf-8?B?NEVObEFYRlBCanBEQUpEMVhQL0RvYWFrRWNaV1c0Q3NSMWVJNEdKQ2dWSmxo?=
 =?utf-8?B?cDE3bTVmWGV4M0ZNS0dMbUV3RWNLMTE3bnhCN3dGT2I5d1JMSjNqSUdBWmNL?=
 =?utf-8?B?VGtpRTh2K24wUDdnRmFta1puS1hVZjdRYm5HZjdZZWpheDFDczRRYXV5dWph?=
 =?utf-8?B?SjdaWUFmU3l2K3M0aU04aXJGSmh1cEMrZURSZzFHRC9PMVh4YjRXaWIvSFhD?=
 =?utf-8?B?MVJ2QnVYckFQSlVlRE5MUDJiMUxKUGR1d1lGN1ZlR3NQaE83UmkrMWNmZHZX?=
 =?utf-8?B?UGtXbC8vdm1zR3NpSDh2M245SnNxY1NBOUNjQU9aMW1hdkFQN1V5L0JzWFBy?=
 =?utf-8?B?b0NUWDJsOWpsQklMR1pYWno1cHppV1IzWFp4eXVsL2RQWHNSRzAvaW8zOUdh?=
 =?utf-8?B?VGJZMU54RUtqSUxWZzJlWmo5bUswVmpMTFJUd3dublB5MXVwSTUyYTU5bVNl?=
 =?utf-8?B?SlZWR3pta0tpRFFlclVqS2lndmgvQmtKbDFxNTVnZWhUYk9MQ2M1bXlFb0tJ?=
 =?utf-8?B?WGx4WDB2eXRmY0pleVZQWTJqazNkODJLLzB5UVhWZVd3MmRkUlNoUWZzWjRG?=
 =?utf-8?B?TTlnOE8zNk9WQmE1WFVDRVBNcVNLMFJ4V2d6emx3amN3azdycjMxVDh5U3U0?=
 =?utf-8?B?VjJXMUNNVlU0SWE1MmM5NmI1dFlWOWJ1elFPa2NEU29vVE1TeS9TY3M3NlQ0?=
 =?utf-8?Q?jlN9sJI1/0dA4ZQNTg/pAN3z/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83ac2ed7-ce8b-4079-ce8a-08da7ec9a0e4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 14:22:48.0472
 (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: hdelJHL9uASxspKObbM9loxoP2Ot5s4ImcRTlEM+b1gJuW63UsBQS/dtgBPMHIUrUrAFHh2JdyZKFWVc57aRnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6545

On 10.08.2022 21:29, Jason Andryuk wrote:
> For hwp, the standard governors are not usable, and only the internal
> one is applicable.  Add the cpufreq_governor_internal boolean to
> indicate when an internal governor, like hwp-internal, will be used.
> This is set during presmp_initcall, so that it can suppress governor
> registration during initcall.

At which point ...

>  Only a governor with a name containing
> "-internal" will be allowed in that case.
> 
> This way, the unuseable governors are not registered, so they internal
> one is the only one returned to userspace.  This means incompatible
> governors won't be advertised to userspace.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> v2:
> Switch to "-internal"
> Add blank line in header
> ---
>  xen/drivers/cpufreq/cpufreq.c      | 5 +++++
>  xen/include/acpi/cpufreq/cpufreq.h | 2 ++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
> index a94520ee57..1fdd63d7b5 100644
> --- a/xen/drivers/cpufreq/cpufreq.c
> +++ b/xen/drivers/cpufreq/cpufreq.c
> @@ -57,6 +57,7 @@ struct cpufreq_dom {
>  };
>  static LIST_HEAD_READ_MOSTLY(cpufreq_dom_list_head);
>  
> +bool __read_mostly cpufreq_governor_internal;

... I expect this can be __initdata? With that adjustment
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:28:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:28:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387519.623810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNb4c-000497-RJ; Mon, 15 Aug 2022 14:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387519.623810; Mon, 15 Aug 2022 14:28:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNb4c-000490-Of; Mon, 15 Aug 2022 14:28:10 +0000
Received: by outflank-mailman (input) for mailman id 387519;
 Mon, 15 Aug 2022 14:28:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNb4b-00048u-EZ
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 14:28:09 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b0b1efa-1ca6-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 16:28:08 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 0C66E1FA8A;
 Mon, 15 Aug 2022 14:28:07 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D996613A99;
 Mon, 15 Aug 2022 14:28:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gtB6M/ZX+mLFYAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 14:28:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b0b1efa-1ca6-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660573687; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=eXQoW8QhagmDnbGBGjYxOHPLMZJIiHtO9xf8whk/FFU=;
	b=dZa4U+CP2ouCv7xrgY78PGHO8Z+ErVLbSfL9lDqn+Aa7z9oXdWzNDnDxb1bD/ZZLSUkO8O
	VT2gEU54386AB22z7d0nWuyDcNSAzFkbc5hzclv0+eS0N7mSZcpMvLrfgQLq2VOV/zJsVg
	AHCXdeHyvADs5flwHY9xkw/l+KjvBmY=
Message-ID: <103c6910-0985-b0be-a034-6c79a13c8c6a@suse.com>
Date: Mon, 15 Aug 2022 16:28:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
 <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
 <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
 <a77660b5-7fde-0be1-98be-d7213a4e76cb@suse.com>
 <55ef3754-f893-29fb-8504-27a309a9edec@suse.com>
 <813693ca-f9ff-a2da-ba92-d695d48ce012@suse.com>
In-Reply-To: <813693ca-f9ff-a2da-ba92-d695d48ce012@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------zR5c60puEbtUCIyEgZVeXvgn"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------zR5c60puEbtUCIyEgZVeXvgn
Content-Type: multipart/mixed; boundary="------------OljPMVYG407yrPmTgMhSMtO9";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Message-ID: <103c6910-0985-b0be-a034-6c79a13c8c6a@suse.com>
Subject: Re: [PATCH v2 2/3] xen/sched: carve out memory allocation and freeing
 from schedule_cpu_rm()
References: <20220815110410.19872-1-jgross@suse.com>
 <20220815110410.19872-3-jgross@suse.com>
 <3c4fa2e0-1b68-6206-e2cb-b85b2cb790f9@suse.com>
 <3366d1e0-84dd-15af-417d-dd3633a09f4b@suse.com>
 <d55c6d62-8ee1-b1a9-94be-5798ed1878b5@suse.com>
 <a77660b5-7fde-0be1-98be-d7213a4e76cb@suse.com>
 <55ef3754-f893-29fb-8504-27a309a9edec@suse.com>
 <813693ca-f9ff-a2da-ba92-d695d48ce012@suse.com>
In-Reply-To: <813693ca-f9ff-a2da-ba92-d695d48ce012@suse.com>

--------------OljPMVYG407yrPmTgMhSMtO9
Content-Type: multipart/mixed; boundary="------------nc1g2zUjKw9DC6zqYeVTn1eH"

--------------nc1g2zUjKw9DC6zqYeVTn1eH
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjIgMTQ6NDcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDE1LjA4LjIy
IDE0OjM0LCBKYW4gQmV1bGljaCB3cm90ZToNCj4+IE9uIDE1LjA4LjIwMjIgMTQ6MTYsIEp1
ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gT24gMTUuMDguMjIgMTQ6MDAsIEphbiBCZXVsaWNo
IHdyb3RlOg0KPj4+PiBPbiAxNS4wOC4yMDIyIDEzOjU1LCBKdWVyZ2VuIEdyb3NzIHdyb3Rl
Og0KPj4+Pj4gT24gMTUuMDguMjIgMTM6NTIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+Pj4+
IE9uIDE1LjA4LjIwMjIgMTM6MDQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+Pj4+IC0t
LSBhL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+Pj4+Pj4+ICsrKyBiL3hlbi9jb21tb24v
c2NoZWQvY29yZS5jDQo+Pj4+Pj4+IEBAIC0zMjM3LDYgKzMyMzcsNjUgQEAgb3V0Og0KPj4+
Pj4+PiDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+Pj4+PiDCoMKgwqAgfQ0KPj4+
Pj4+PiArc3RhdGljIHN0cnVjdCBjcHVfcm1fZGF0YSAqc2NoZWR1bGVfY3B1X3JtX2FsbG9j
KHVuc2lnbmVkIGludCBjcHUpDQo+Pj4+Pj4+ICt7DQo+Pj4+Pj4+ICvCoMKgwqAgc3RydWN0
IGNwdV9ybV9kYXRhICpkYXRhOw0KPj4+Pj4+PiArwqDCoMKgIGNvbnN0IHN0cnVjdCBzY2hl
ZF9yZXNvdXJjZSAqc3I7DQo+Pj4+Pj4+ICvCoMKgwqAgdW5zaWduZWQgaW50IGlkeDsNCj4+
Pj4+Pj4gKw0KPj4+Pj4+PiArwqDCoMKgIHJjdV9yZWFkX2xvY2soJnNjaGVkX3Jlc19yY3Vs
b2NrKTsNCj4+Pj4+Pj4gKw0KPj4+Pj4+PiArwqDCoMKgIHNyID0gZ2V0X3NjaGVkX3Jlcyhj
cHUpOw0KPj4+Pj4+PiArwqDCoMKgIGRhdGEgPSB4bWFsbG9jX2ZsZXhfc3RydWN0KHN0cnVj
dCBjcHVfcm1fZGF0YSwgc3IsIHNyLT5ncmFudWxhcml0eSAtIA0KPj4+Pj4+PiAxKTsNCj4+
Pj4+Pj4gK8KgwqDCoCBpZiAoICFkYXRhICkNCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGdv
dG8gb3V0Ow0KPj4+Pj4+PiArDQo+Pj4+Pj4+ICvCoMKgwqAgZGF0YS0+b2xkX29wcyA9IHNy
LT5zY2hlZHVsZXI7DQo+Pj4+Pj4+ICvCoMKgwqAgZGF0YS0+dnByaXZfb2xkID0gaWRsZV92
Y3B1W2NwdV0tPnNjaGVkX3VuaXQtPnByaXY7DQo+Pj4+Pj4+ICvCoMKgwqAgZGF0YS0+cHBy
aXZfb2xkID0gc3ItPnNjaGVkX3ByaXY7DQo+Pj4+Pj4NCj4+Pj4+PiBSZXBlYXRpbmcgYSB2
MSBjb21tZW50Og0KPj4+Pj4+DQo+Pj4+Pj4gIkF0IGxlYXN0IGZyb20gYW4gYWJzdHJhY3Qg
cGVyc3BlY3RpdmUsIGRvZXNuJ3QgcmVhZGluZyBmaWVsZHMgZnJvbQ0KPj4+Pj4+IMKgwqDC
oCBzciByZXF1aXJlIHRoZSBSQ1UgbG9jayB0byBiZSBoZWxkIGNvbnRpbnVvdXNseSAoaS5l
LiBub3QgZHJvcHBpbmcNCj4+Pj4+PiDCoMKgwqAgaXQgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1
bmN0aW9uIGFuZCByZS1hY3F1aXJpbmcgaXQgaW4gdGhlIGNhbGxlcik/Ig0KPj4+Pj4+DQo+
Pj4+Pj4gSW5pdGlhbGx5IEkgdGhvdWdodCB5b3UgZGlkIHJlc3BvbmQgdG8gdGhpcyBpbiBz
b21lIHdheSwgYnV0IHdoZW4NCj4+Pj4+PiBsb29raW5nIGZvciBhIG1hdGNoaW5nIHJlcGx5
IEkgY291bGRuJ3QgZmluZCBvbmUuDQo+Pj4+Pg0KPj4+Pj4gT2gsIHNvcnJ5Lg0KPj4+Pj4N
Cj4+Pj4+IFRoZSBSQ1UgbG9jayBpcyBwcm90ZWN0aW5nIG9ubHkgdGhlIHNyLCBub3QgYW55
IGRhdGEgcG9pbnRlcnMgaW4gdGhlIHNyDQo+Pj4+PiBhcmUgcmVmZXJlbmNpbmcuIFNvIGl0
IGlzIGZpbmUgdG8gZHJvcCB0aGUgUkNVIGxvY2sgYWZ0ZXIgcmVhZGluZyBzb21lDQo+Pj4+
PiBvZiB0aGUgZmllbGRzIGZyb20gdGhlIHNyIGFuZCBzdG9yaW5nIGl0IGluIHRoZSBjcHVf
cm1fZGF0YSBtZW1vcnkuDQo+Pj4+DQo+Pj4+IEhtbSwgaW50ZXJlc3RpbmcuICJQcm90ZWN0
aW5nIG9ubHkgdGhlIHNyIiB0aGVuIG1lYW5zIHdoYXQgZXhhY3RseT8NCj4+Pj4gSnVzdCBp
dHMgYWxsb2NhdGlvbiwgYnV0IG5vdCBpdHMgY29udGVudHM/DQo+Pj4NCj4+PiBDb3JyZWN0
Lg0KPj4+DQo+Pj4+IFBsdXMgaXQncyBub3QganVzdCB0aGUgcG9pbnRlcnMgLSBzci0+Z3Jh
bnVsYXJpdHkgYWxzbyB3b3VsZCBiZXR0ZXIgbm90DQo+Pj4+IGluY3JlYXNlIGluIHRoZSBt
ZWFudGltZSAuLi4gUXVpdGUgbGlrZWx5IHRoZXJlJ3MgYSByZWFzb24gd2h5IHRoYXQgYWxz
bw0KPj4+PiBjYW5ub3QgaGFwcGVuLCB5ZXQgZXZlbiB0aGVuIEkgdGhpbmsgYSBicmllZiBj
b2RlIGNvbW1lbnQgbWlnaHQgYmUNCj4+Pj4gaGVscGZ1bCBoZXJlLg0KPj4+DQo+Pj4gT2th
eSwgd2lsbCBhZGQgc29tZXRoaW5nIGxpa2U6DQo+Pj4NCj4+PiAiQmV0d2VlbiBzY2hlZHVs
ZV9jcHVfcm1fYWxsb2MoKSBhbmQgdGhlIHJlYWwgY3B1IHJlbW92YWwgYWN0aW9uIHRoZSBy
ZWxldmFudA0KPj4+IMKgwqAgY29udGVudHMgb2Ygc3RydWN0IHNjaGVkX3Jlc291cmNlIGNh
bid0IGNoYW5nZSwgYXMgdGhlIGNwdSBpbiBxdWVzdGlvbiBpcw0KPj4+IMKgwqAgbG9ja2Vk
IGFnYWluc3QgYW55IG90aGVyIG1vdmVtZW50IHRvIG9yIGZyb20gY3B1cG9vbHMsIGFuZCB0
aGUgZGF0YSBjb3BpZWQNCj4+PiDCoMKgIGJ5IHNjaGVkdWxlX2NwdV9ybV9hbGxvYygpIGlz
IGNwdXBvb2wgc3BlY2lmaWMuIg0KPj4+DQo+Pj4gSXMgdGhhdCBva2F5Pw0KPj4NCj4+IFdl
bGwsIEkgZ3Vlc3MgSSBuZWVkIHRvIGxlYXZlIHRoaXMgdG8gdGhlIHNjaGVkdWxlciBtYWlu
dGFpbmVycyB0aGVuLiBJDQo+PiBoYXZlIHRvIGFkbWl0IHRoYXQgaXQncyBub3QgY2xlYXIg
dG8gbWUgd2h5IGFsbCBvZiBzci0+Z3JhbnVsYXJpdHksDQo+PiBzci0+c2NoZWR1bGVyLCBv
ciBzci0+c2NoZWRfcHJpdiB3b3VsZCBiZSAiY3B1cG9vbCBzcGVjaWZpYyIuIEkgbWF5IGJl
DQo+IA0KPiBzci0+c2NoZWR1bGVyIGlzIHRoZSBwb2ludGVyIHRvIHRoZSBzY2hlZHVsZXIg
b3BzIGFycmF5IHdoaWNoIGlzIHNldCB3aGVuDQo+IGEgY3B1IGlzIGFkZGVkIHRvIGEgY3B1
cG9vbCAodGhlIHNjaGVkdWxlciBpcyBhIGNwdXBvb2wgcHJvcGVydHkpLiBUaGUgc2FtZQ0K
PiBhcHBsaWVzIHRvIHNyLT5ncmFudWxhcml0eTogdGhpcyB2YWx1ZSBpcyBwZXItY3B1cG9v
bCwgdG9vLiBzci0+c2NoZWRfcHJpdg0KPiBpcyBvbmx5IGNoYW5nZWQgd2hlbiBhIGNwdSBp
cyBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gYSBjcHVwb29sLCBhcyB0aGlzDQo+IGlzIHRo
ZSBwZXItY3B1IGRhdGEgb2YgYSBzY2hlZHVsZXIsIHdoaWNoIG5lZWRzIHRvIHN0YXkgd2hl
biBzY2hlZHVsaW5nIGlzDQo+IGhhcHBlbmluZyBvbiB0aGUgY3B1LCB0aHVzIGl0IGlzIGFs
bG93ZWQgdG8gYmUgcmVtb3ZlZCBvbmx5IGluIGNhc2UgdGhlDQo+IGNwdSBpcyByZW1vdmVk
IGZyb20gb3IgYWRkZWQgdG8gdGhlIGNwdXBvb2wuDQo+IA0KPj4gYWJsZSB0byBhZ3JlZSBm
b3Igc3ItPmdyYW51bGFyaXR5LCBidXQgdGhlIG90aGVyIHR3byBJIHRob3VnaHQgd2FzDQo+
PiBzY2hlZHVsZXIgZGF0YSwgbm90IGNwdXBvb2wgZGF0YS4gRm9yIHNyLT5ncmFudWxhcml0
eSBpbiB0dXJuIChidXQNCj4+IHBlcmhhcHMgYWxzbyB0aGUgb3RoZXIgdHdvIGZpZWxkcykg
aXQncyBub3Qgb2J2aW91cyB0byBtZSB0aGF0IHBvb2wNCj4+IHByb3BlcnRpZXMgY2FuJ3Qg
Y2hhbmdlIGluIGEgcmFjaW5nIG1hbm5lci4NCj4gDQo+IFRoZXkgY2FuJ3QuIE90aGVyd2lz
ZSB0aGUgc2NoZWR1bGVyIHdvdWxkIGV4cGxvZGUuDQoNCkJUVywgSSdsbCByZXdvcmsgdGhl
IGNvbW1lbnQgYSBsaXR0bGUgYml0IHRvOg0KDQoiQmV0d2VlbiBzY2hlZHVsZV9jcHVfcm1f
YWxsb2MoKSBhbmQgdGhlIHJlYWwgY3B1IHJlbW92YWwgYWN0aW9uIHRoZSByZWxldmFudA0K
ICBjb250ZW50cyBvZiBzdHJ1Y3Qgc2NoZWRfcmVzb3VyY2UgY2FuJ3QgY2hhbmdlLCBhcyB0
aGUgY3B1IGluIHF1ZXN0aW9uIGlzDQogIGxvY2tlZCBhZ2FpbnN0IGFueSBvdGhlciBtb3Zl
bWVudCB0byBvciBmcm9tIGNwdXBvb2xzLCBhbmQgdGhlIGRhdGEgY29waWVkDQogIGJ5IHNj
aGVkdWxlX2NwdV9ybV9hbGxvYygpIGlzIG1vZGlmaWVkIG9ubHkgaW4gY2FzZSB0aGUgY3B1
IGluIHF1ZXN0aW9uIGlzDQogIGJlaW5nIG1vdmVkIGZyb20gb3IgdG8gYSBjcHVwb29sLiIN
Cg0KV2lsbCByZXNlbmQgdGhlIHNlcmllcyB0b21vcnJvdyBtb3JuaW5nIGlmIG5vYm9keSBv
YmplY3RzLg0KDQoNCkp1ZXJnZW4NCg==
--------------nc1g2zUjKw9DC6zqYeVTn1eH
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------nc1g2zUjKw9DC6zqYeVTn1eH--

--------------OljPMVYG407yrPmTgMhSMtO9--

--------------zR5c60puEbtUCIyEgZVeXvgn
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL6V/YFAwAAAAAACgkQsN6d1ii/Ey/7
EAf/VxGu6VaGPzcFJffGBaXzW1f8yVQ4zYN1ENXvY7RbWIJXA6WMavtC4xOuWgsXHFV36anYfWZj
MaXz7zJ1QA7Sj+0Gy3G3QYacWEKP6uPa1aFt9hPi3PJ5bRj8JGOiQweiEulKnmHy3AZgQgKpLNld
KKTuZp12P2zm9mvp4UnlrAW2BkMl7ypgc8L1K6skiXnMLKYBQGrrPPyGkE8tJexzTl48QNLhQ8n5
E1tpbR70+lKBP5owsdo0O+5ajj4O/hWUZXs433IBCxVu1arwKqNp9gj2BsAXriyIKCbZGjfP5A7n
2tFqAxrZx6B1rAMNZtQfE0PqTeQFg23lJSlk/QfwYw==
=/u6e
-----END PGP SIGNATURE-----

--------------zR5c60puEbtUCIyEgZVeXvgn--


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:29:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:29:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387528.623821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNb63-0004mO-90; Mon, 15 Aug 2022 14:29:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387528.623821; Mon, 15 Aug 2022 14:29:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNb63-0004mH-6K; Mon, 15 Aug 2022 14:29:39 +0000
Received: by outflank-mailman (input) for mailman id 387528;
 Mon, 15 Aug 2022 14:29:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNb61-0004lM-JX
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 14:29:37 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2057.outbound.protection.outlook.com [40.107.105.57])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b04353a5-1ca6-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 16:29:36 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB5884.eurprd04.prod.outlook.com (2603:10a6:10:b0::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 14:29:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 14:29:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b04353a5-1ca6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M4nq/ZorM0s4NcGifkYeVtZk+zCTFslPIyJbZoJsWs35zKyay4NtQRyrQAkfN1XzPFRHoBMqpTQmSGkGYhUFRkMjmaktEtXNbo0i09Gncpwuw62O9TwyTnGLyte8VS/KI1VuJJ4WJgsnpnLUq0N/sqaO16RMiN5wjCJYyj6vXy8pw3g8dU30VO85MgprdW3xIJ+tMe0Z8WkeY3h2G+wS43oex/cnzJrtYyYqjtVw0OQpArcMvocJS7gEBrRP87hlAyNL750kRnwdRMXL/xQAzNuEFO/X+S5J5t6FZu7BX0EbLNvpP/BYZYMo5v4gcGuetxJEDI/Gp99xakoiVrUyTQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cJUoXJ41Afn2/8h4zn4mXfQEV1+R1WAZ6DMSzZL2u+s=;
 b=Vbxz8IzMOPeoAwvS1i3/QdnCk2HYiPNBVEo152W8CWgXgnh4fiqgGeWoPWlBHrGGFKtdz208h8CozhK8Yux5Hf9wKbW3CW/Weu+BMdl0RXNZO+ldZ5fg5PyWv2tu0s5aVGWTm49pHXLqlxG9oXhQnao5Gk47+fP4oUv5hogys/fsJQDu9s9bKr/flgdX2V+VrFNgeHOS7zEzM4cYcc89Zw6XCh3vtgrZCFRfiGO5OE6ypH8CSOaAd+U/M5sLn1E2I4TGJr8ssa72vanKj6pE0WpVCyCygrfsaSuenA7Q7uohyMZUPqULuqiGA2h0SOdklBVc/bDmh3R4W2QcKaGY+g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cJUoXJ41Afn2/8h4zn4mXfQEV1+R1WAZ6DMSzZL2u+s=;
 b=1+5AhvDQrk0J7On7Qt3DPpVW0uKuifueG8zhCAOtP7HHOSOoSJNQdVkHOgrJH0nKpWkOJtnZIMW0Qk9ukttbqeZbDF4lPdSL1zfW9CL679BZ8X1Yu+qo8RdzIO8NdC6BRy8PMV01S3hj7Sc1bIpqdkKbDKrLFK+vTO3cSfE6brBaSYynquaIsruufNcda9fmyW0dm3Cbe+caMk0/3Do6JmXqD+fUQW8bAFePcXp+D1u8ocRfXOk6M32n8wUAFRpc+iC4fkLJ0RRXyYD2FCgr1Az1QeUqnRapWGIyj4d+gvKI62bB0v0UkNV29gf92RLa+8HUb/APlGtwh9kvy2zOjw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b29167d4-cead-76ee-e8bf-fe30867d4d22@suse.com>
Date: Mon, 15 Aug 2022 16:29:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 02/13] cpufreq: Add perf_freq to cpuinfo
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20220810192944.102135-1-jandryuk@gmail.com>
 <20220810192944.102135-3-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220810192944.102135-3-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0043.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9a9bc3a4-4f78-484b-168d-08da7eca92e9
X-MS-TrafficTypeDiagnostic: DB8PR04MB5884:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LUmfPntb1jZ4nnlG7WH/dqOzqROAT/PdqbwflqosHlLu/3ZN2zkGcDpMwOQf46q52f/MbcbIyutzvjC7Ph1lYAKcNgt7nrMFveqFaoHZt4o46fEc68Ek4Yislx4NOgnQD3/2ffyHQxo4LIqBRSzDtQsV40HjXHsUCKuf83F9xZ0X8VM3YWrrTwWemkAUHmrzx0IyCjVV3e0Vv0xRw82OL+Vo2/AmEd12wjv8uvki9FGgRalMg/BZsvMZUua63hkcXwq9MFby5ZRdA/OwITQ2VmnTNkcWxx/6Oc/Xyh+he0vMl83U2WiN1IBZYOi3sP331CZDNR7LHiXAtg4YlPZAk+HCi7emsDUnfZcipxtzBba2pdexrzk8JQgHnS9TFjlT9YBD2fWh+Mks4lbCm92pQT415txapWt5o1MaknrUAIlGm6UGhijZck2rHXLC/dnwEUViBMBlKaA4dzvzRIWPchBmTdDPfRmJVr7hA9ow5eI3zLZZELHQ5ndz9fUqDXH54hiAcEDBcha7zIM/1E6UUUSlzhheJhVYZddOEOlDN0+bF6Ib7E8QdnDjLeAqZ3y9VX6JqwPbObOB2iRm7XA6Kn1V8Utit+dYRsT+GrH/jCdVqvQp85lBGB1O4t2BRcPJorNd2ocHDyRVx3ekjSBnm2+u0dC54aYSNQflTeufGFlLXe8CwURkup7+hnRjCk9RwylhlS6Rq3Zpkv+bTrJUOZ0hlibMo/nx5gikFfV8pBShQci0tgOeqUEKOr+SkTZ63aMM/Eb7r/LGw7RUBxruEBh15f65mzcFEdTE8UarljWqAXOfyuvh7vWXc3Iv9sjKpIcnIBmuNqHiJeIBCUq+lg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(136003)(396003)(39860400002)(376002)(346002)(41300700001)(6486002)(26005)(6512007)(478600001)(53546011)(5660300002)(6506007)(2906002)(186003)(316002)(2616005)(4744005)(54906003)(8676002)(4326008)(66556008)(31686004)(66476007)(31696002)(66946007)(86362001)(36756003)(38100700002)(8936002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkNBVHJBc3RPRFI2WDUwMkpaeGVIWm1BYTZhR1NreWhuQXFFMmZQeHFnY1lu?=
 =?utf-8?B?K3ZENWlneENMWiszNDV1Y210Tk1YSmcyN3IxUHdFaVRnTG5XaGV3LzNrL2FO?=
 =?utf-8?B?d01FODU4ZEZyMDJpaFJteXordGppYmVQQzRselRlRDFURFhWRGZDY2hVR3pL?=
 =?utf-8?B?UlU0TndVZG1OTnFTRUFyRDhhdXExaFpXOEJGOFlxQ1hzMHc4QmZ5a2NsMUZJ?=
 =?utf-8?B?WGxZOXZjNGZjUVd2ZmpKOGs5QklyU0JxVmIwbXFVelVOYkYrdmZQcmRhZ3Rh?=
 =?utf-8?B?Sm1HemlZVW4yRUljN3BLcmM1V3p0dDQvSythdW9rTE14a0kzRHRlb011dlIx?=
 =?utf-8?B?NWJtek5EbHl5VVNHVFl2djFBR0U1YUU1bFM3NjNSMHpSOGNRUzV5N0NWcVdB?=
 =?utf-8?B?ajY2R2w2VitjdHNuZ2pOaGg3Y0xSVEhTekhaTFFWQzg2UHE0UkR2QUhxcnUz?=
 =?utf-8?B?SE1mTEZEMS9QeWQxMy9KUTVlSlY3RlAwbVZoZzNubjYrQW9GZ0cyNkJnaXhr?=
 =?utf-8?B?OUVJeWJxUlhuWkNXMTFpZ3JYVnllemJObElIYnlPMktyaDdvNytFcXpkMjk1?=
 =?utf-8?B?QWFxbFRtN1NtVnNjWVJkclBsL0ZSRXZIWVJHRTJxaW9rb2Jnc3NWVG9kNEhP?=
 =?utf-8?B?bUVUS1JPSEZ2OUo2NnJodWNwdDdUVWQyVmZVS1puVFlQRFZQYkZkVmJSOWxp?=
 =?utf-8?B?Rzl0U2RiS01jallWZDVEakpKalVocTFEYUNwaEFzcklVR0k0OEQwSkR0N2Vy?=
 =?utf-8?B?ZjVpSGlrRS9SSnlWL05aS2hialRlNXhzTVZxMFY0SHRzSDVlVFdsb1dtWlZt?=
 =?utf-8?B?WTdZVTN3RDM0NU9ydG9jek01R255QkZzRGhrUnVEWmh5ZDFRUEdEZUd4N0Jt?=
 =?utf-8?B?d1pZZGloS1c3cnluMGN2c1J5K3Rqc09LUFZnSjY0T3NOc3FweFdaQVpMZnJO?=
 =?utf-8?B?dlpDMnRabURiMGRWT2pzTW5kTWRRQ3JYTHgwaEZQd0t5bS9lVW9WUFhwMy85?=
 =?utf-8?B?blY1VWxnZWJiZTNwSmpQNjV4VlBsOVE0azF5cTVLbm5aTkZrQjhieW53VTJr?=
 =?utf-8?B?d2FZUENPcUFkNytuaHA0VG9vZXdJSEJ3VFBiZ2MzcUNVZmxaWjRwTllnWWJB?=
 =?utf-8?B?UTI2eklSWVlhZDVBRHY4U2xOVG5MeWdjMjZJSnlWdGlLQnpqamRZYjZqQVhG?=
 =?utf-8?B?QVYyYWFudkJyOTJ6cTdOcXRuM2tCSk95UUVDdWJpY0RRUGYwL3dMazlxVWh6?=
 =?utf-8?B?N25yWmpSRUZFaXpTTHcwMktuN1gwandkeVRjeTEyQ1I4MnlRV1laNUxNVDFQ?=
 =?utf-8?B?SlEwN1Z4UHBBOWdLTW4rYlh3RmFlVHBQWWZkenNlZlNqTUc2Q1ZHRFBpN0ta?=
 =?utf-8?B?Y3dJeVVtSXR4bnpXbnNWWndlbUlMV0IrMVZvWTJYRFpYQzlZMFNiQ2JETmtC?=
 =?utf-8?B?eWNhT1lWU2lHU3VpMGIzTk5NMFJaWFpNY0ZVUW1VbVh1QUlCV2t5eXZITVA1?=
 =?utf-8?B?eHJzRWp5VzBsNmE4a0hqRjQyZ3hCMTQwbUJ6KzFmME1RdTd1U2ZQNldwR20x?=
 =?utf-8?B?dzBTNUdJalpMc0NzV1IrbERBWUd3K3N4ZVBwdGZwbnBpZWhYbUtxMU1jMjM4?=
 =?utf-8?B?dHI3aFJWbkRnWWYyYXBOcHltWVltQU42MkdQeHZiVzdQRTluN003R2t4Zi9t?=
 =?utf-8?B?OTlmL2Q5bWZwVXNjTExzVGlMWUdqV1dvUWpTYnplN3dISHA0eGRVV2l3SC9m?=
 =?utf-8?B?VlAyMUk0WG10eUVsajZkbWpCM2lEdjlSdTd3Z3lWaFA0NnJFcDJrdVRZZ0NC?=
 =?utf-8?B?WDFBdmgrV2lpbnZWLzNIY0liWi9sbWJGZWxndzlPdW5QajFWNjU0ekZ0bm13?=
 =?utf-8?B?SjBXZkVWaytDeEZRa1ZHQUp4YXV1bjZnQXlRT3dVdlRPcUtIUGNmekVSUkhq?=
 =?utf-8?B?dEE2WDc2Y3dxR3VLOHN4WElWbjYwTWF6OVB2NThRcFhPNTFJVk9adHNCYllz?=
 =?utf-8?B?Z1I4czU3MXlzMmVtZTE1cVI0Y1FQV1pzTmV3RlkwcjA4cVNqZUJWWWtNSVV3?=
 =?utf-8?B?SHM3RjNnQVBWRkk3REloUlpwVU80NS9JV3FpRmYwM28zZW55UU1MMk4rdXdw?=
 =?utf-8?Q?qpoR7a7m+rPxlc9UrvK35/DM5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a9bc3a4-4f78-484b-168d-08da7eca92e9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 14:29:34.1464
 (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: FQ1kwzN2UOsyoAFU71+nb0ZT4aTCMP2quO3MjdD6SwEjcAe0NA3aVD2En/0aGxq9btDJB5DKTrQlFCU3SaCxsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5884

On 10.08.2022 21:29, Jason Andryuk wrote:
> acpi-cpufreq scales the aperf/mperf measurements by max_freq, but HWP
> needs to scale by base frequency.  Settings max_freq to base_freq
> "works" but the code is not obvious, and returning values to userspace
> is tricky.  Add an additonal perf_freq member which is used for scaling
> aperf/mperf measurements.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> I don't like this, but it seems the best way to re-use the common
> aperf/mperf code.  The other option would be to add wrappers that then
> do the acpi vs. hwp scaling.

I think that's okay-ish, so
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:34:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:34:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387536.623833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbB5-0006Cp-RS; Mon, 15 Aug 2022 14:34:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387536.623833; Mon, 15 Aug 2022 14:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbB5-0006Ci-Oc; Mon, 15 Aug 2022 14:34:51 +0000
Received: by outflank-mailman (input) for mailman id 387536;
 Mon, 15 Aug 2022 14:34:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNbB4-0006Cc-0r
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 14:34:50 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062.outbound.protection.outlook.com [40.107.105.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a4d91de-1ca7-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 16:34:49 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB5884.eurprd04.prod.outlook.com (2603:10a6:10:b0::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 14:34:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 14:34:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a4d91de-1ca7-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e7Zu3etebJrV8jd1fw+iWoYna/zPjpAgP6ag4NQCqmtLtiGNcg7E6qZF3EArJjf5MM33A7Pc+kqqklROdZtLiMG5wYNe7c7dNQslJPI5EDlRgH82w9jcfwjamlUH1gmoLJdS1hhnVZtvA6bPR1dj0k2XNsMk6ho4caT5FjX5DxJipl309pyjNLbBr2ZqJII2Oc8DwSVWQaWQ8HOnp44IL/8xJDZ4PfrgHswkwCYz8rwBqoRqrytwwxg5cKiv2/begHmTPrSaNVaLnnKdSm5U3l/SCRFNJbmOWKy/fAI//DUEMGAb+QF7jV/sJT6AOkYed4E7m/1rY/gd+eaUWiU38Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EgMuU5/YNSyPZxwYiJMHVBD1qLPEOFOaXITD7jC1Fng=;
 b=Zik0cZFP5QQl3qVZkhaqd2sbfGnTkT8X3KFv6V8AdDa83oAgXJAsbi3voJ/ngFNK33KAnaxB+pX18qSy3Ah+Oa+S89LFqn6+GyW8ix0A2O8P3P+YqseBstHvf9Rl/M4ivcrw8n3Z8KwgF4FN0aZnCpEHYNtTHqPD0U786pGHq5voZu5RUpcrrvQSMrZW3KtC6pfBDaojbyeCtRx7TCwVZ5CKOsUIu6P7tflV5ej/AbF2SKe9UQlPx3AeiN4/kVbSlm/9nQCq4TfzF99wzAmu8xTPgyphNGjRauLyaZW1EwFstXmBf/v0sFYizPaYtMgnfT/m2+jpEvfGwdCytDNlOg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EgMuU5/YNSyPZxwYiJMHVBD1qLPEOFOaXITD7jC1Fng=;
 b=WpMg9kPWqf7ybnBfZkL3OfzDqdTPDtukiOZt+Acpz3BoYfJT1quLJTFyi06b8cmuy04IDmCobzooTP5HrIgJM6sHyjPgVZluD8TAxjq8Kwtz5mWettBfR1NE3c1qTrG1oFrP2SNHnSM4JXOmIfr6yLTwwYw2+/xujRQpFAyuiwzQZu5ymS/QlN3K9lJLqWxH3P1LUYpB++YkyEmF4ALno+fPvU4Q68OpjBQVpqHxAAPAZJkQO58DgjGaAdNH5MN67UsuHJXjqKmw0nH3+pOysnpNsUkIY3fBKaToi+6qEB0ApKBxVPHe994kuhfw1wc8Ic38shnbjUJ1fKv07JNCGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9dd6cb04-30fd-aaa3-5afa-02c4f3264f97@suse.com>
Date: Mon, 15 Aug 2022 16:34:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 03/13] cpufreq: Export intel_feature_detect
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20220810192944.102135-1-jandryuk@gmail.com>
 <20220810192944.102135-4-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220810192944.102135-4-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0148.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8ea4f803-4370-4204-e4fb-08da7ecb4dac
X-MS-TrafficTypeDiagnostic: DB8PR04MB5884:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EWwHH23FJfeMY0Q4mIrmxPMNhW1d6DxlGxwpvrw7fxNa2pgAhn8LjQNfIBdsPZ/YdXDlhQCmoAYl7UX68opGTSd3qco/zrdO5XSXB20R4RSC9PjoYNO1kTXAZ6LAiIT1i6Rs8jWU9HvR6HNhKWo5eK109y9QHgn0Tw3hO11QyRdLIGTRzocAMj9nKUSAFprdNjSbEDjugG28Mtx+k7lGh/FO1BUE4eYgRzks5uFtfil3Peq1+h+OeXLfG1Pl+pjMi27AqSD+HdAVZ0p77EJ/M95DblBYcV/FDjxgGZCC9D9S3/mbg2MOYEMAINEtNXJ1ThH9qdnG506q2cTSl+MSZlYryHAIfVCrdhkO8mb6D1HAzTsiQOp1O1uXlFfgi6mi0u0MD65WInWye0p2aN5k6VjBoF0J1IcDKFmfiuos/acqisYfZCn2E9yJbsZj9g6Pb/tbtGgxuiYBo6d2RAK/LQcowS78seqo2Qolavqn92Ety6/G08ntKdcQr0HAbC8dVNhWuAIlKfzdh3s8njJR+xF1leuY/Ehmui0ss7q74b0EQ/M0gWXo3Fqt9QdGhzgxixzATcCD1Xb3ExlUVHFFlmKaKCpY/7e7A81jFIZVuF+rUjoj73dEZSCoUg7P7g1X4qxoxe8PjP/t6WHvB3ALMB9zmZUGgRS1zNN/Q1FzoES7WCUxkei9VHihusl2m0mSg0XbcVWnRhMPgf8uVTb9Cg0/8Lx/Y47K6KOoOpcoKbuzpJy3AVfPvEW0EemsEr/qTG6yequpmyC0f4AnLwveKgp8cdRlqye5QSPvAW3pADWcb1WkxirbzRf+qUGUnsoFdYaTYiy9YU0SI+mxDZbikg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(346002)(376002)(136003)(366004)(396003)(66476007)(54906003)(31686004)(8676002)(66556008)(4326008)(8936002)(38100700002)(6916009)(86362001)(66946007)(36756003)(31696002)(478600001)(53546011)(83380400001)(6512007)(26005)(6486002)(41300700001)(2906002)(6506007)(5660300002)(2616005)(316002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3UwblJxbWhOZW9zZzJXbkd4d0JhVHphSEhkV0ZkdmRFNlFwWGlsNm1SK3Va?=
 =?utf-8?B?d1Fma3BXS0hrTm9RTGVyVjcrRTVZeUlzcTdCUzA3SEJlNEtjcXNSVnY0TU1m?=
 =?utf-8?B?QkU1NnhBWVYrTUIwaGdnUDg2UGZkVTZQUnFNbmhzQlRyZXlCU2JhUkg1R2Yx?=
 =?utf-8?B?WDBrcy8reHJqU0Fxa2VKeVVxTkE5dDBaa0x0ZmlrOE1yakxwb1VJLzh1MGhl?=
 =?utf-8?B?RlBtMzZSdVM3ek1VTGFqSGI0U2J6eFRJNUlXM2pnZnE2VnJkZHdGeTNxSm9V?=
 =?utf-8?B?aGtvVVQvL29RaEMvRHJSbFVwN2JnMVdUTEZlOXdscWtYdmRkUU0vbjRZbFdy?=
 =?utf-8?B?MTdRUHgrSTNjTzRCM3lqa0szYzJzNGxtckZEKytuT1NCMnlBWG1EdEdZSTZn?=
 =?utf-8?B?bFM4K0l3UUxycjJuN01TTyttSncrUWRGaTU1Yi9IZjVydDE0MUtRY0xFZEMx?=
 =?utf-8?B?NGx3UUFhMzIvdUV4eVpEaEdxZjU1NGEwQnBIM2FORGtPNWZoQnExcC9wZW9o?=
 =?utf-8?B?L1Q2Yzl6RUpKQStpb0hUVUs3amJDYkY5UGVxSWErN2RlT3pOYXUxbDE2d3Q0?=
 =?utf-8?B?c0h4cjhKT0ZMSXlGT3VUcHZJMG5jNDEwN3ZkZ1Bub1dlRW02elpMQVgwMjRi?=
 =?utf-8?B?S29lRS8wWC9kcG9OSHJjVWsxMThqLzRZMlJlWmhBcy9ZZndHWmk3SU5GRDFS?=
 =?utf-8?B?Zm1mWGtYVE9SUkZ1M3BYZVhCMWw0UUFrcjAydzJHSkZ4TTFkcjJmdzdkYTVL?=
 =?utf-8?B?U01TY3FFSlBpbU5Ya1I1VTZ3YzlxOWlMdGM4T0x5aENuamNRK3YwRHd0aXkz?=
 =?utf-8?B?d2IvUUpXYlJiQXBGSDBSdUt3anN2Y3VPOEVTd25TbjBqMjVJRENWWDZoa2Z5?=
 =?utf-8?B?dGprRFhKMWhnSnh1OTFWQjRIK3h5b2lCYW85eldRV0xVb1VxR1hEb2IvN1Fz?=
 =?utf-8?B?MmVLLzZkRUg3WmNyMW5ZTEwybnpmWXV6Vk51cG5yNk5oUHpVeFJWMG9IbEJ6?=
 =?utf-8?B?UG1SVnhiRndCVWhsdmZuY0pzUTV3NlZxMlZla0tISkRHbHhvS3RrSkxreXFo?=
 =?utf-8?B?MXZzZDNZWXdhUFNMeThoQWNEY1hDR0VVUlI4WEJWKzNqbytPenI4emYzZlB5?=
 =?utf-8?B?cTJPcFMzZy9pV1B3YTVObzk4OENQYW54UDlaZDNpVGNZaU1GT0NCeGF1bStz?=
 =?utf-8?B?R2Z5TVFWR20yRXJTaGREVTBnQ3FwR1JuRXVOMTl2dzI1UU5WNWdzUmlaaXNh?=
 =?utf-8?B?U1l0ZGdMUDRLVm9yd0xjQmpDNFd1Y2hnMERmN1hIcVFhbnRsY1pFN1UvRUFY?=
 =?utf-8?B?ZVVBU2ljU1hySVJzTGVmdUt5WE1jS2o1a1IydmFsUlVMZHc1NWVMdHF3WG5p?=
 =?utf-8?B?RHRBMk9ITjN6bXJuRWxucGwwNU8yRkFPOW5XWldDTXZkbUVIaGd1U0tFemQz?=
 =?utf-8?B?R0pLUFJxb0Vwa2lManVMT1VFNWpJdlQ0UzZFOE83UmNUVm93UjZYRGx5b3VT?=
 =?utf-8?B?LzRsck9JcFpwTTRQM2ZqYWg3dTFKTFNkY3NQNHBjSzlCL05XVjMxeWJSMUkx?=
 =?utf-8?B?T0Zjd0I1UjhEN3BpbklpVUNEME53YlBZbXdqZ20xK1lvMkdVZXZnbVdpQThn?=
 =?utf-8?B?NU5WMjA0VkhQanhiUmpyN3RQb0lnV1dCSkM1alF4Um9sTm9xcVZXdm43cmEz?=
 =?utf-8?B?RXRXeUttczliSDY1cmk0NHhCYTN0OHVEbkwxS05CM2VkbXZXTHNOSWJyeFBr?=
 =?utf-8?B?WDIvQ3A5VlRNOFZyamk4Z3dFMVlnWnMwVmVDNmM5THFabXVCZlhhY2lSQW5O?=
 =?utf-8?B?SnFjUHBBVHNUZ3BWSUdHUXdnQmh6bmxNY3VreXVwaVp3cnN2SkxmQkR3UENu?=
 =?utf-8?B?Ti9rVDJudG1lS2RUaklsLzV6VmxabGYxeHFSekpIalgzN3FEdUlVTzM5c2sr?=
 =?utf-8?B?NVhVbVExTnV5T1BwRXYzUEoxcUZGUDgvdExpR3EzNk05SXZCbVFUTmphOUtL?=
 =?utf-8?B?RVVtQ3ZvSEdHYndUeloyUTNPcXdrd3hYc1lXNkVzYmk2MzBVR1BzeGJkaDg0?=
 =?utf-8?B?bnpFUEY0d2hMVEtIVEh3TTQ4MUFySGRGbkMrTDY3eU5seU1IL0J5ak85NDk2?=
 =?utf-8?Q?4jOjS1fTP/ucpdfbHBUx57n3Q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ea4f803-4370-4204-e4fb-08da7ecb4dac
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 14:34:47.4077
 (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: Q+fyfbTx0+leJ/18kDhkxp/O4R0NS8Kl46zLCXGwL1cxrwyK6mHGGDU6Y4bIG1IstIFbfaQCTzyc+CcGnKZ6xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5884

On 10.08.2022 21:29, Jason Andryuk wrote:
> Export feature_detect as intel_feature_detect so it can be re-used by
> HWP.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> v2
> export intel_feature_detect with typed pointer
> Move intel_feature_detect to acpi/cpufreq/cpufreq.h since the
> declaration now contains struct cpufreq_policy *.

I don't mind the new placement, but I don't follow the reasoning.

> --- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
> +++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
> @@ -340,9 +340,8 @@ static unsigned int cf_check get_cur_freq_on_cpu(unsigned int cpu)
>      return extract_freq(get_cur_val(cpumask_of(cpu)), data);
>  }
>  
> -static void cf_check feature_detect(void *info)
> +void intel_feature_detect(struct cpufreq_policy *policy)
>  {
> -    struct cpufreq_policy *policy = info;
>      unsigned int eax;
>  
>      eax = cpuid_eax(6);
> @@ -354,6 +353,11 @@ static void cf_check feature_detect(void *info)
>      }
>  }
>  
> +static void cf_check feature_detect(void *info)

This function is invoked indirectly via on_selected_cpus() (hence
the cf_check attribute) - I wonder how you get away without that for
HWP. Or else why we need this as a wrapper here when then you'd have
another similar wrapper elsewhere.

> +{
> +    intel_feature_detect((struct cpufreq_policy *)info);

Why the cast?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:45:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387546.623844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbLS-0007gp-UW; Mon, 15 Aug 2022 14:45:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387546.623844; Mon, 15 Aug 2022 14:45:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbLS-0007gi-QO; Mon, 15 Aug 2022 14:45:34 +0000
Received: by outflank-mailman (input) for mailman id 387546;
 Mon, 15 Aug 2022 14:45:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1rB=YT=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNbLR-0007gc-RJ
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 14:45:34 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060.outbound.protection.outlook.com [40.107.20.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9b107e3-1ca8-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 16:45:32 +0200 (CEST)
Received: from DB6PR07CA0196.eurprd07.prod.outlook.com (2603:10a6:6:42::26) by
 VI1PR08MB3230.eurprd08.prod.outlook.com (2603:10a6:803:3e::32) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5504.14; Mon, 15 Aug 2022 14:45:25 +0000
Received: from DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:42:cafe::ff) by DB6PR07CA0196.outlook.office365.com
 (2603:10a6:6:42::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.14 via Frontend
 Transport; Mon, 15 Aug 2022 14:45:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT049.mail.protection.outlook.com (100.127.142.192) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 14:45:24 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Mon, 15 Aug 2022 14:45:24 +0000
Received: from bb2ba58480a6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 293FB1E4-5949-4975-ACA5-704DCDE0F588.1; 
 Mon, 15 Aug 2022 14:45:17 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bb2ba58480a6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 14:45:17 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB9PR08MB6907.eurprd08.prod.outlook.com (2603:10a6:10:26d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Mon, 15 Aug
 2022 14:45:16 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Mon, 15 Aug 2022
 14:45:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9b107e3-1ca8-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=OX6dowWxtsCHTrqGYpJIlp8IqrMxpXlFY9mW3JcTxatSasP9hpj/OhaWCeZ7bGLEaaBVOqF6M1SjTGP7xzYaN1O08CyQBWsSmEJlWwLlmwuy3vnzri3/eXyKrxVmcL6K/voIetx+aQyxDOAKhp7Ebmq9iAbeRISACG35mpS9vpIkSS1Cq8UuZbCR/Aef4LL26lgdqzV8H5gsr5pvfWbj0Pusjgz5i9TrUjasEk/x/kSO5j2a9CqSH9mFjsPqBwVYg6p636LBvjDFIBT1TWG92Qh1qdRh3CqAkSPGSCCIm39onZfiv9bgrTq4b3tAVQb8YIfZKI+W7hNMI5gImYPBtQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X499eUT4J2rTCNAIsrSj1W+XPj0roleTYhXsYG1D7Iw=;
 b=TiWz0L3Hwg/1lZcEl43zqDsNvOWgfnwOOqoaGds4TcocpkQEOCYHhDZMAMS7RV+Q/p9yv5rqWDWP/32eawMXw70Tc9iZP+ypyN/Em9ztsaOfk1v+XQj71VpP6jG6aRC27kCvF0CR5NcEd/43asotq3ZP01ZEdbTBpxta39bfqzlt9LW0keOl9MQwR4kNviPOz69c7VSfc5vY9xjsjPTYTEQSQ0WnlC1nrzxo5BENr0KAkC/11GQhcpzwH3mKbXHupGzBdjJ0IOJkrc2u8buqG08LSTQg7xl0P3g3gQwHmoShTQTwzWzd4ONzYsACKMb/YGu4cM9I6UTVl609M7m0Zg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X499eUT4J2rTCNAIsrSj1W+XPj0roleTYhXsYG1D7Iw=;
 b=W2N1aWDszt4QUc1ca1UBXsOcXx2tFwYVOQceqaYCRoO11a0GLxO1b6OZa6jinrUS8NW8SKgLZwInCilClqOhu4a/aCME4KVL7WSmTiJ+sG9AC0px8R3myQUyUjs8cUjUFa3QxTBqmDc8fmNgZk2d8qQzeY9+Uw7Q0iRR9u4p/U8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: debdbe77fe474927
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VTNkwerYi4ZgaCl+onntLspgtATDZLgG7vIRLSNVl1bIoryRzUY4Wn0s7tuCamOUNeA+KpWZqsy55nMqja2PZgMtxKD6lZuvmZXJSexoTzYrBS4dIGLzLA8KQisLEgsn5zNyQpA5JVvo/z6ads6EYH04rSI+dQJt7lcLqMHNEWYn64W6WdJ6wGhRfzRPevl0G3EQaa2R/8u1du3mBDdTrNTiHRBjYFGQEh1iPP/j9RxrxGMINn7TuHVwk3MItaURbXGSR0m8CptqxQTARXgUZFNnbbhD7m3u3AqJLGXSDtxAE4HqOgrIEVC4Gc5eFijwI+xMLVZSOlkDADN4eMwCZQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X499eUT4J2rTCNAIsrSj1W+XPj0roleTYhXsYG1D7Iw=;
 b=cNjNxY3nUg1WTtASm5ejVcKPhMRAVuM/cmlXJBFS/j2yrSzpQIlNW3VF8Ngh0JeSDc2unM2wdqR2beVA9tYz5wciGdwbilVk9sbCuwEw7ZtuU9CbS+htPbWL3BxrehkDdtp8FKjhHZ5BD7JdVg1cD4V8A4gYDfCIx02jIT76iUj36owYtuEAX1jLULiepQcHMXpImf5mO/Kc0c3ETJZ6IQgxw6v4bueYwfJZQPsVDplpo31irzwV/A4dVHJowwFyaEHFp4mUGK69BBAQbPTtei1WmjDLBSKTNRV85iZUv2YSJ4uWy8cjCn4JYKNAI2Jgk3HTrS1sIIVgHmbKgkUvUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X499eUT4J2rTCNAIsrSj1W+XPj0roleTYhXsYG1D7Iw=;
 b=W2N1aWDszt4QUc1ca1UBXsOcXx2tFwYVOQceqaYCRoO11a0GLxO1b6OZa6jinrUS8NW8SKgLZwInCilClqOhu4a/aCME4KVL7WSmTiJ+sG9AC0px8R3myQUyUjs8cUjUFa3QxTBqmDc8fmNgZk2d8qQzeY9+Uw7Q0iRR9u4p/U8=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/7] xen/arm64: head: Introduce get_table_slot() and use
 it
Thread-Topic: [PATCH 2/7] xen/arm64: head: Introduce get_table_slot() and use
 it
Thread-Index: AQHYroFCs26JN7h8TUSY3teW0vzrLK2wDkCA
Date: Mon, 15 Aug 2022 14:45:15 +0000
Message-ID: <8FA138D1-CBF2-4BAB-9283-2573A6A09C79@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-3-julien@xen.org>
In-Reply-To: <20220812192448.43016-3-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 15ba7412-4d26-4af4-8af4-08da7eccc980
x-ms-traffictypediagnostic:
	DB9PR08MB6907:EE_|DBAEUR03FT049:EE_|VI1PR08MB3230:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Us4CtmM/34saLTu34fpU4qMtoC8S/GUmW5178wQLGE8vj7jwBi7UfNLzEkZsWj2s7OmziuZZIafsniblIhbellWnnuYqAA9OET3RUJD0phIikfRUOfdV13Zxtbtj5Fp64Hn4xxFNXyqWT/lyGiFjXDl1PBuwlxap/qYjLSNEZDggECSZDW3uf0+Ehbo0OyRqzFl+xmcMQa7AV/RW7VhNQgQpD3bQH1+9nV8FSIwJxgyd9xLqvULa/EnNtKJOg/Qh7LneVHR+ZSb1AOgSVVGF6tMeMq5sM/oM6fhRdb5nliQCRKNtWjE/mFMikwdP92oHX039tLTS+Z2wdD2aiMccnXC+xwrB4lW0A2k77MiXcr1TMx6E+mb/dgDDAykA2lWlnX+ugW0fxfipbVFbiTA2Gi5YIhmF6ircRLg8d6vyxrfr08w/mrJ4WraX3CvDchArV3C3aIcsOPK5KOx8HSZnR5wK3IC5WDQVMowBdYU52QPI7CnPbpTlBrnaS6MntsqkA3A2FTv/T2F2oW8DeEHcGli4amB1ugzPh+nHqg+3/OsHWP09gSfZhZxW1E4TDRh2uC8UhP38ChB0luCg6hg23L1eEZDTZ9UXyoelYED9mcJtX9tRC0WZBcX/qWtvuHoiaIm230HtgR0/kVJqGdlK0dvwjkdw1ZCMsmmRq53gBI8ahPgMfDEOztGnkky2BGtjWxc3OIAgR/Q/PUW5BXXf9u9nSpi96fAk6nl3GF6ycE9yq2SVsb6+pOHxaFqDQob4R3CL0xq6Nw8b1rCf00obYee4IzelSP6jvHCh5t+A34igGeOuHAtLxAVsWXIkypRW7jz/4oKjCOvYkqXMTXD++g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(39860400002)(136003)(346002)(376002)(64756008)(66556008)(4326008)(66946007)(66476007)(8676002)(316002)(76116006)(6916009)(54906003)(91956017)(5660300002)(8936002)(2906002)(66446008)(122000001)(38100700002)(33656002)(38070700005)(86362001)(478600001)(6506007)(53546011)(36756003)(71200400001)(41300700001)(6486002)(83380400001)(6512007)(2616005)(26005)(186003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3C0E62BC637C44438DB56EAA2E1C6DB9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6907
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	31e8ccea-5558-4b1e-bbb9-08da7eccc42c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	v1esydykq36kAo1zeA+zXImnyS6X4K3SxBN64vS23J0WdBo1FbRIza2GNywaWgpQ3QHZNAKL5/zUb7mzFjr8v5vjXm0j+JNK5Pq+8xzI9FETdLZZz8MrOwRh1RaMRefwy1UgtbHxpIKph5LGZFesdLgDj+sur5Y4PuGPxBPyNcPpJODupy3TPY0cDpLdJ+qrfqYkRReQxwHIx48mOhpQMAQXzopveeW2xOls1TgmS/rLX8qdcD0Bro8pgQgYX1EyW/JZP5zyrL3Xgm5HTPIZYJDDEwnwK3Qz/kVVFuHznz4D+dOI4gH9oEbGADhEh8RtkQwweEIzvZhXXeOmNEuAg8YA//2KvbVOLCE8wFrI2fOTwM3S3ga/xovizQIBjWv72VHHYCrY9Dh/NfEeYDzwf/tPH4tgNvSrgvWU/Wlzfscm1wr3xbAR0KXBLdmab34YBs7i7tLwylqN6TbPwZjTndpmdyP2xniSN3N1vwyteTiCwfdbu4YMblICbdd60cwjXrhtyh3aftOLhMMUCOsBiuyL4dA7lcWvJVqNwDmd3oHHcp58ek8BDAQcpSc5pGxtbzZX3FEjtaPpe5VWtKeJMRPey9WkWSUCzgrSy4DKPomX7t+nU9q08oWcj+dJa/NiWhnnVsdEiUQEvjl0yLupE+LJA6383QW0IH+mx7GNf/wM1D99IN9gfF6VcGwM4mzGqkQT2fB8AHKklLAOOa1EFHBkIDmm+eEA7WDIMc7/pIKbXEL2DcFndp8yAKBUHMr2aYvOEBBcU9f469kOq5oNdZSw72p2+irHKERvsKtyFEH1f8lMWunpoHqYGMGiCwxk
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(376002)(136003)(39860400002)(46966006)(40470700004)(36840700001)(8936002)(83380400001)(81166007)(82740400003)(356005)(86362001)(36860700001)(40460700003)(70206006)(316002)(70586007)(8676002)(4326008)(54906003)(2906002)(82310400005)(40480700001)(5660300002)(26005)(53546011)(6512007)(41300700001)(6506007)(336012)(47076005)(186003)(107886003)(2616005)(478600001)(6486002)(36756003)(33656002)(6862004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 14:45:24.5263
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15ba7412-4d26-4af4-8af4-08da7eccc980
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3230

Hi Julien,

> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> There are a few places in the code that need to find the slot
> at a given page-table level.
>=20
> So create a new macro get_table_slot() for that. This will reduce
> the effort to figure out whether the code is doing the right thing.
>=20
> Take the opportunity to use 'ubfx'. The only benefits is reducing
> the number of instructions from 2 to 1.
>=20
> The new macro is used everywhere we need to compute the slot. This
> requires to tweak the parameter of create_table_entry() to pass
> a level rather than shift.
>=20
> Note, for slot 0 the code is currently skipping the masking part. While
> this is fine, it is safer to mask it as technically slot 0 only covers
> bit 48 - 39 bit (assuming 4KB page granularity).
>=20
> Take the opportunity to correct the comment when finding the second
> slot for the identity mapping (we are computing the second slot
> rather than first).
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

>=20
> ----
>=20
>    This patch also has the benefits to reduce the number
>    of use of {ZEROETH, FIRST, SECOND, THIRD}_SHIFT. The next
>    patch for arm32 will reduce further.
> ---
> xen/arch/arm/arm64/head.S | 55 +++++++++++++++++++++------------------
> 1 file changed, 30 insertions(+), 25 deletions(-)
>=20
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 26cc7705f556..ad014716db6f 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -493,13 +493,24 @@ cpu_init:
>         ret
> ENDPROC(cpu_init)
>=20
> +/*
> + * Macro to find the slot number at a given page-table level
> + *
> + * slot:     slot computed
> + * virt:     virtual address
> + * lvl:      page-table level
> + */
> +.macro get_table_slot, slot, virt, lvl
> +        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIF=
T
> +.endm
> +

Crawling through the macros to verify the code was not that easy.
This is not related to this patch but XEN_PT_* macros could really do with =
more comments.

Cheers
Bertrand

> /*
>  * Macro to create a page table entry in \ptbl to \tbl
>  *
>  * ptbl:    table symbol where the entry will be created
>  * tbl:     table symbol to point to
>  * virt:    virtual address
> - * shift:   #imm page table shift
> + * lvl:     page-table level
>  * tmp1:    scratch register
>  * tmp2:    scratch register
>  * tmp3:    scratch register
> @@ -511,9 +522,8 @@ ENDPROC(cpu_init)
>  *
>  * Note that all parameters using registers should be distinct.
>  */
> -.macro create_table_entry, ptbl, tbl, virt, shift, tmp1, tmp2, tmp3
> -        lsr   \tmp1, \virt, #\shift
> -        and   \tmp1, \tmp1, #XEN_PT_LPAE_ENTRY_MASK/* \tmp1 :=3D slot in=
 \tlb */
> +.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
> +        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 :=3D slot in \tlb *=
/
>=20
>         load_paddr \tmp2, \tbl
>         mov   \tmp3, #PT_PT                 /* \tmp3 :=3D right for linea=
r PT */
> @@ -544,8 +554,7 @@ ENDPROC(cpu_init)
> .macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=3DP=
T_MEM_L3
>         and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 :=3D PAGE_ALIGNED(ph=
ys) */
>=20
> -        lsr   \tmp1, \virt, #THIRD_SHIFT
> -        and   \tmp1, \tmp1, #XEN_PT_LPAE_ENTRY_MASK/* \tmp1 :=3D slot in=
 \tlb */
> +        get_table_slot \tmp1, \virt, 3      /* \tmp1 :=3D slot in \tlb *=
/
>=20
>         mov   \tmp2, #\type                 /* \tmp2 :=3D right for secti=
on PT */
>         orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(ph=
ys) */
> @@ -573,9 +582,9 @@ ENDPROC(cpu_init)
> create_page_tables:
>         /* Prepare the page-tables for mapping Xen */
>         ldr   x0, =3DXEN_VIRT_START
> -        create_table_entry boot_pgtable, boot_first, x0, ZEROETH_SHIFT, =
x1, x2, x3
> -        create_table_entry boot_first, boot_second, x0, FIRST_SHIFT, x1,=
 x2, x3
> -        create_table_entry boot_second, boot_third, x0, SECOND_SHIFT, x1=
, x2, x3
> +        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
> +        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
> +        create_table_entry boot_second, boot_third, x0, 2, x1, x2, x3
>=20
>         /* Map Xen */
>         adr_l x4, boot_third
> @@ -612,10 +621,10 @@ create_page_tables:
>          * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
>          * page-tables from the first level.
>          */
> -        lsr   x0, x19, #ZEROETH_SHIFT   /* x0 :=3D zeroeth slot */
> +        get_table_slot x0, x19, 0       /* x0 :=3D zeroeth slot */
>         cmp   x0, #XEN_ZEROETH_SLOT
>         beq   1f
> -        create_table_entry boot_pgtable, boot_first_id, x19, ZEROETH_SHI=
FT, x0, x1, x2
> +        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, =
x2
>         b     link_from_first_id
>=20
> 1:
> @@ -624,11 +633,10 @@ create_page_tables:
>          * then the 1:1 mapping will use its own set of page-tables from
>          * the second level.
>          */
> -        lsr   x0, x19, #FIRST_SHIFT
> -        and   x0, x0, #XEN_PT_LPAE_ENTRY_MASK  /* x0 :=3D first slot */
> +        get_table_slot x0, x19, 1      /* x0 :=3D first slot */
>         cmp   x0, #XEN_FIRST_SLOT
>         beq   1f
> -        create_table_entry boot_first, boot_second_id, x19, FIRST_SHIFT,=
 x0, x1, x2
> +        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x=
2
>         b     link_from_second_id
>=20
> 1:
> @@ -638,17 +646,16 @@ create_page_tables:
>          * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to =
handle
>          * it.
>          */
> -        lsr   x0, x19, #SECOND_SHIFT
> -        and   x0, x0, #XEN_PT_LPAE_ENTRY_MASK  /* x0 :=3D first slot */
> +        get_table_slot x0, x19, 2     /* x0 :=3D second slot */
>         cmp   x0, #XEN_SECOND_SLOT
>         beq   virtphys_clash
> -        create_table_entry boot_second, boot_third_id, x19, SECOND_SHIFT=
, x0, x1, x2
> +        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x=
2
>         b     link_from_third_id
>=20
> link_from_first_id:
> -        create_table_entry boot_first_id, boot_second_id, x19, FIRST_SHI=
FT, x0, x1, x2
> +        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1=
, x2
> link_from_second_id:
> -        create_table_entry boot_second_id, boot_third_id, x19, SECOND_SH=
IFT, x0, x1, x2
> +        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1=
, x2
> link_from_third_id:
>         create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
>         ret
> @@ -705,7 +712,7 @@ remove_identity_mapping:
>          * Find the zeroeth slot used. Remove the entry from zeroeth
>          * table if the slot is not XEN_ZEROETH_SLOT.
>          */
> -        lsr   x1, x19, #ZEROETH_SHIFT   /* x1 :=3D zeroeth slot */
> +        get_table_slot x1, x19, 0       /* x1 :=3D zeroeth slot */
>         cmp   x1, #XEN_ZEROETH_SLOT
>         beq   1f
>         /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
> @@ -718,8 +725,7 @@ remove_identity_mapping:
>          * Find the first slot used. Remove the entry for the first
>          * table if the slot is not XEN_FIRST_SLOT.
>          */
> -        lsr   x1, x19, #FIRST_SHIFT
> -        and   x1, x1, #XEN_PT_LPAE_ENTRY_MASK  /* x1 :=3D first slot */
> +        get_table_slot x1, x19, 1       /* x1 :=3D first slot */
>         cmp   x1, #XEN_FIRST_SLOT
>         beq   1f
>         /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
> @@ -732,8 +738,7 @@ remove_identity_mapping:
>          * Find the second slot used. Remove the entry for the first
>          * table if the slot is not XEN_SECOND_SLOT.
>          */
> -        lsr   x1, x19, #SECOND_SHIFT
> -        and   x1, x1, #XEN_PT_LPAE_ENTRY_MASK  /* x1 :=3D first slot */
> +        get_table_slot x1, x19, 2       /* x1 :=3D second slot */
>         cmp   x1, #XEN_SECOND_SLOT
>         beq   identity_mapping_removed
>         /* It is not in slot 1, remove the entry */
> @@ -771,7 +776,7 @@ setup_fixmap:
> #endif
>         /* Map fixmap into boot_second */
>         ldr   x0, =3DFIXMAP_ADDR(0)
> -        create_table_entry boot_second, xen_fixmap, x0, SECOND_SHIFT, x1=
, x2, x3
> +        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
>         /* Ensure any page table updates made above have occurred. */
>         dsb   nshst
>=20
> --=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:47:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:47:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387555.623856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbNJ-0008KA-FD; Mon, 15 Aug 2022 14:47:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387555.623856; Mon, 15 Aug 2022 14:47:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbNJ-0008K3-AX; Mon, 15 Aug 2022 14:47:29 +0000
Received: by outflank-mailman (input) for mailman id 387555;
 Mon, 15 Aug 2022 14:47:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kkVB=YT=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oNbNH-0008Jv-Pv
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 14:47:27 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e1b9651-1ca9-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 16:47:26 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id i14so13892599ejg.6
 for <xen-devel@lists.xenproject.org>; Mon, 15 Aug 2022 07:47:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e1b9651-1ca9-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=CKL4fm1S7HvlMpkvtfwQKOP/xxInChGIM8vWJJ03gMI=;
        b=krUjW3EEmQVlxie0QPCsvWoA1mmeIyk3OEbWfaViTAGHLfUswB4pntN9zmvVKIpdjB
         NQVnCfB1qmi5XN+vzk7nkwyh5r6BZ7JBjhJwAtYnpZqAORWqIvrdMBxOPuKob9SmOL+i
         ZO9URshXgZv+PULE6CkccgDPg3ZqGeRiH+fWv0hDLuxf/rQA6KEtEzhZaCWKAyJz+bGH
         cfWqDJjWsJ5GfzW1vzIHTFarmCEk+rrfRcLwrD3ANzoO/PCwuNt8vL48QzHvRW+POXR6
         NfNMvLWr+HVAIUGO5vVeA/CyvMyqVb/IbI4QB7X3E3eXjd9pcpFpWxgHQZniTifPixCR
         psHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=CKL4fm1S7HvlMpkvtfwQKOP/xxInChGIM8vWJJ03gMI=;
        b=5sxdJmsgs+CSkfwVQ3YWZBxN1Qqsj/HB807vSteT6oLWtvZf59VdZ9G7thux7QKZP5
         vI09z4IrJaARWTDeSzO4jL31TnUz1jACxgmqAsVPEleYOUmB9DhhTAkDkeLbjFMMAxaz
         iZoIo+L/XfJmqwnMtXPEkly9LgyWcfelvTrohamk77FvXkrEul6K1+ZIR1E8ikqB5pUG
         LZ5Cav7Gg5DRIWgmtAvDdEI3GqhRHqgbMChMnxeO8lD0fZz8ThKBTwfm2v1LSBMzaIRh
         HzvhRRwkopsnvlzigqxCTUTimJWCnQU2gGKiZu2HqDv2fbXqOgk3FUjFbleoB2FQOQ39
         g2nQ==
X-Gm-Message-State: ACgBeo3MwGsyEdP0WM/XFoC5PA+ctEpBRY2oVzVN67JGMQixM5iiUeX1
	N5QPojRWp5b0FKISFUOeywBSo6iUkXqp+ogZW3r0QI2l
X-Google-Smtp-Source: AA6agR536nfSRejsPC0YkGoB9g/zWajVFgABlHeHA9mtKdYHLvfwnrai2gm1WjX93TFZeS25yhbt/8oi3bTjePvfppk=
X-Received: by 2002:a17:907:6e1b:b0:732:25eb:745c with SMTP id
 sd27-20020a1709076e1b00b0073225eb745cmr10574727ejc.297.1660574846405; Mon, 15
 Aug 2022 07:47:26 -0700 (PDT)
MIME-Version: 1.0
References: <20220810192944.102135-1-jandryuk@gmail.com> <20220810192944.102135-2-jandryuk@gmail.com>
 <dd7b52c1-5ccc-8def-26d1-aa1f73dfe8ac@suse.com>
In-Reply-To: <dd7b52c1-5ccc-8def-26d1-aa1f73dfe8ac@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 15 Aug 2022 10:47:14 -0400
Message-ID: <CAKf6xpuFvBpu3CNMzJwpm+rSaGT3jK428GzuCDmx58Mgcv78zQ@mail.gmail.com>
Subject: Re: [PATCH v2 01/13] cpufreq: Allow restricting to internal governors only
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

On Mon, Aug 15, 2022 at 10:22 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 10.08.2022 21:29, Jason Andryuk wrote:
> > For hwp, the standard governors are not usable, and only the internal
> > one is applicable.  Add the cpufreq_governor_internal boolean to
> > indicate when an internal governor, like hwp-internal, will be used.
> > This is set during presmp_initcall, so that it can suppress governor
> > registration during initcall.
>
> At which point ...
>
> >  Only a governor with a name containing
> > "-internal" will be allowed in that case.
> >
> > This way, the unuseable governors are not registered, so they internal
> > one is the only one returned to userspace.  This means incompatible
> > governors won't be advertised to userspace.
> >
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> > ---
> > v2:
> > Switch to "-internal"
> > Add blank line in header
> > ---
> >  xen/drivers/cpufreq/cpufreq.c      | 5 +++++
> >  xen/include/acpi/cpufreq/cpufreq.h | 2 ++
> >  2 files changed, 7 insertions(+)
> >
> > diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
> > index a94520ee57..1fdd63d7b5 100644
> > --- a/xen/drivers/cpufreq/cpufreq.c
> > +++ b/xen/drivers/cpufreq/cpufreq.c
> > @@ -57,6 +57,7 @@ struct cpufreq_dom {
> >  };
> >  static LIST_HEAD_READ_MOSTLY(cpufreq_dom_list_head);
> >
> > +bool __read_mostly cpufreq_governor_internal;
>
> ... I expect this can be __initdata? With that adjustment

Patch 09 "xen: Add SET_CPUFREQ_HWP xen_sysctl_pm_op" uses it at
runtime.  But I think it can be dropped since there is a check of the
governor name.  I'll add __initdata.

> Acked-by: Jan Beulich <jbeulich@suse.com>

Thank you,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:49:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:49:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387563.623866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbPi-0000XJ-QO; Mon, 15 Aug 2022 14:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387563.623866; Mon, 15 Aug 2022 14:49:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbPi-0000XC-NX; Mon, 15 Aug 2022 14:49:58 +0000
Received: by outflank-mailman (input) for mailman id 387563;
 Mon, 15 Aug 2022 14:49:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNbPg-0000X0-Up; Mon, 15 Aug 2022 14:49:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNbPg-00077R-Qp; Mon, 15 Aug 2022 14:49:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNbPg-0007EY-0t; Mon, 15 Aug 2022 14:49:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNbPg-00005u-0P; Mon, 15 Aug 2022 14:49:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZASnrI8gXRFdkJ9WIkSdUaAsCc2I3hdipeWOV+zg7b8=; b=p12p107DAxU4RWOEOh332NJ1bL
	DAzgvFQJlz67AcE70c0FgOmASw3F4YgepnXLQhE1s8Mue8S+bWYgfPqO9n7o04f0tRigqzItM2tB2
	VZv3eKESexWAkFauHANhFZIWlSzSfPMWuGbTgup7OT3Rw/Uo0TRCiftvnuiv7hG7IKjc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172532-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172532: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=0615df084ec9996b5df88d6a1b59c557e22f3a12
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 14:49:56 +0000

flight 172532 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172532/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              0615df084ec9996b5df88d6a1b59c557e22f3a12
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  766 days
Failing since        151818  2020-07-11 04:18:52 Z  765 days  747 attempts
Testing same since   172409  2022-08-12 04:20:52 Z    3 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120325 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:56:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:56:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387573.623876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbWE-0001yl-HW; Mon, 15 Aug 2022 14:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387573.623876; Mon, 15 Aug 2022 14:56:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbWE-0001ye-Eu; Mon, 15 Aug 2022 14:56:42 +0000
Received: by outflank-mailman (input) for mailman id 387573;
 Mon, 15 Aug 2022 14:56:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1rB=YT=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNbWC-0001yV-EA
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 14:56:40 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130075.outbound.protection.outlook.com [40.107.13.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7773ba68-1caa-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 16:56:39 +0200 (CEST)
Received: from AS9P251CA0008.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:50f::12)
 by AS8PR08MB6709.eurprd08.prod.outlook.com (2603:10a6:20b:395::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.22; Mon, 15 Aug
 2022 14:56:37 +0000
Received: from VE1EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:50f:cafe::46) by AS9P251CA0008.outlook.office365.com
 (2603:10a6:20b:50f::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Mon, 15 Aug 2022 14:56:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT062.mail.protection.outlook.com (10.152.18.252) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 14:56:36 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Mon, 15 Aug 2022 14:56:36 +0000
Received: from bffc86e602fe.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DB89D234-EC55-4B81-9FE1-B14C2065F0D5.1; 
 Mon, 15 Aug 2022 14:56:29 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bffc86e602fe.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 14:56:29 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB9PR08MB6907.eurprd08.prod.outlook.com (2603:10a6:10:26d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Mon, 15 Aug
 2022 14:56:26 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Mon, 15 Aug 2022
 14:56:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7773ba68-1caa-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=eG8IxSRFq6Q5+E3els5vz2lB9ylHI2LLIS5MgJazsB1qqeOZaM7DLZmkli3aVqJrbK45coP3zK/60MfWRUNedczsTpeWSxHtyBVJyXFbMEcRxNJLPDSwdb8ni1nafqOJiKheu6mPEXRI0VgxFX8ON9k28QX7JGRMIns7XRaupuh8zIInNmlK3BKuzMyeFg+HWVLe65uyteK8uZNMFbsHQVeJY9aYhiNuzDOcMUOxD/5WfsAaaum0bmw31qR8eiy0zCfawhh1WQgHKFK33f7HSuy2DteM0o3RLq1WsJ2JKY7sTp5KZVwB7TAbB1Ghm+FpNayBuHNX75Oul34PyCUaUw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tb3QTD12c3WDUlUGs3+CJwFApA3fmyTQZWW85PfWcWw=;
 b=fSLFZsOu6hM/lOYNp30y9ILcj00yaE47+q8zI5vvkl/65RJNAvVenKJCgzaoJHI/AIbsKOTnKTIDLc5GK96ie09aB6NYoEjRS+MxEnE6evLo518Cp52mPK5NGC64PS1f+9jgYpfY/7+z7ZqTST0sk4Aon/a3xU5IfLHbiO0LdMpKcP2AtSxDSsqo+XeIAG0CLZSuAQF7XItsB+e3jEwQ2wtFn0SgkN9SbwzxyaLb1H+SIwS9xXy4SuDZnWOlGPayAYMMoh8LyPCaEh7xBoC/4O/3BarnJw/fzB5g37wbsKpR67ESHFvuOQ7sVETxgXB9OGuvDS7j2yDEnkHh9FB4rg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tb3QTD12c3WDUlUGs3+CJwFApA3fmyTQZWW85PfWcWw=;
 b=IphmlyXiqD6b2S7Yned5trxD5iwSNqad1GM9ZnmNKVUX5/I9CWmnOq1GjgjEZx6eyxM8c+NKbvvU5UgSHteNkGqQA85jYoms8tT8PVkdomJCzvTSdWqqKA3PX1+m3ZXTFD/zjqX7A9vxd/z9BKT9Z/nIrIBMI8uTksFWsMJwkKQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ba437cc6d66216c8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SMSHdMj/eTbweiKBXAy8Y/4CQj40QZvwToozdxB94tS54kOJv3l6Hd2hw2v/8Dk7B86NVBs/XCvn/DEj3rBCAmaMl5DWXL8BhMh82HSytgxO+nYfhH9HyxWRSWIcY8I75U73Y2oXUxyuh4pJUo37yyRneLWW9tFiPrqv7a0LwSunAOMCIZyytZX+PY49Ui7po01RY9BLLd2WEUAv6hs79tr65LYigx9S0JL+BtmNYC6WZXXhr0vVoxt7y/oXAD/o0n6Du150gh6wlIjmMpJsu6M3VWimB4d0Fdr3EwpPIUeOaWcFh5SGk6Z9KuyA8tK9wLLfmZffIrDtzxKhwlVBxQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tb3QTD12c3WDUlUGs3+CJwFApA3fmyTQZWW85PfWcWw=;
 b=Sgwx8fsgSszK4lpCa8upJHkUgLYkGPbbZ3q4EGicriNiTAy9JMEAMUbD+cfhfuN7/7T4XRKa2ZAf34+zdCKFCHPOP6CiRSFk6Jx08P8qTeR49kiouf8/K5Y0fPrV38QyZDvfMhAt223L0UcQtidmDYQH0HcijWlHBHIrYLRrsLpy8btZSGh/bbb+/vJ8scU4I1Y2Zxc4qatj2R52k3d5C8gQ7N6j1BAPw5iAeGsKXg3q6/kfGRf2N6dKsB4kCWJC2YciQacc5BRjUcxrNZQl5tPnHFTKS35wbUFUR9gxswbSbAk6/SkbyaLUsAfv4JMQP+zfcruPz0hWfA3bXuzC5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tb3QTD12c3WDUlUGs3+CJwFApA3fmyTQZWW85PfWcWw=;
 b=IphmlyXiqD6b2S7Yned5trxD5iwSNqad1GM9ZnmNKVUX5/I9CWmnOq1GjgjEZx6eyxM8c+NKbvvU5UgSHteNkGqQA85jYoms8tT8PVkdomJCzvTSdWqqKA3PX1+m3ZXTFD/zjqX7A9vxd/z9BKT9Z/nIrIBMI8uTksFWsMJwkKQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 3/7] xen/arm32: head: Introduce get_table_slot() and use
 it
Thread-Topic: [PATCH 3/7] xen/arm32: head: Introduce get_table_slot() and use
 it
Thread-Index: AQHYroFG3JZDThh1+UydeUUbxrxvlK2wEWAA
Date: Mon, 15 Aug 2022 14:56:26 +0000
Message-ID: <AD5B8AAA-2E0C-4F2B-AC76-73F876FF0B36@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-4-julien@xen.org>
In-Reply-To: <20220812192448.43016-4-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a2dcaca9-3d0c-4329-6efd-08da7ece5a26
x-ms-traffictypediagnostic:
	DB9PR08MB6907:EE_|VE1EUR03FT062:EE_|AS8PR08MB6709:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 da2TqrkdPePRunYVjn75nTP+o8cK8IHNg0MKMV1nLq1obm8fdVLjHlakY2J/0JMbfDF9+AyALUJ1HciCGOK4MBTjHf/mY9RDMOQwI2fKDghUXkxVOTQYkG6t2u1ldshBGleCkpWocPrgVRJH8CbccUEV4HM/ZxFt2QdYKEndMpm5NFE4Ye8qsT1Mzl9oSnaXlk3/pByAqsIf7iSv3EXluPitlus+4hwraWbn5GKmuvrYEvg8AT6HLikxinoJnQQFBqb30sLfbKRHm3ylBdBCAlPpZhN5BR8XlUtrErICnSrcDT3hsfUjk0pD+Q0h7ElkJ5ocJ9xBrFQ02pXTWb+HIUlOgyi1kWfHMfsLIUpcYC+WQCUnmWByP8ftsdEnFI6G62yH33Z8nEqIFVhGS2T8cZzx/tmCOfkqC3S4vJk5XjPRnBkhJ4yU3lN7FeWUDNqidrBVSH8JU2qL/6BubUCJrbBYVx7kN2gF4C5JLz7tvsxSvwPuvuVbSGGf6MpLZukwRDrIHXAwh9jJMOyoyG5Pt5cNoWfU8gqt5JIyS2PjpDWKvqy23UQRKIZN805JYmXYE0m/h6rYJHRB3re6qiUeUAym4yqjpRn6CvNipVGAqFO6wWFwPeZRKCBnCVa8WTLYrq6Mak0moIY3dwdWUcavbhr5HlQl1uwcJwKwHRc2p8yHlRENACJLJldNgojJ5hJWrSbCky0H8EXeRXumC2S7qO1UKBvDyRda+wKoyAlkwgRZ0qEm1KuHpYCath2TjqRDKA/RLJANltAKdaQdHj543tFwUkN/WBk43zi7bP7ESF/uz6uEZU5XlE/hvVTV79WjfuIFxlBjF71PKz8IvL8C7A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(39860400002)(136003)(346002)(376002)(64756008)(66556008)(4326008)(66946007)(66476007)(8676002)(316002)(76116006)(6916009)(54906003)(91956017)(5660300002)(8936002)(2906002)(66446008)(122000001)(38100700002)(33656002)(38070700005)(86362001)(478600001)(6506007)(53546011)(36756003)(71200400001)(41300700001)(6486002)(83380400001)(6512007)(2616005)(26005)(186003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F984DAE780E07C49A45EC11C4A1C4BA8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6907
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	195a01f9-fb7c-4ee4-2c56-08da7ece541d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MVZDdeJolNnVuobMajTxr11AhnOYeq17Gnkd8tthCCYBsl01ebrW8ki9fRBY+i8RcRnres0EK1QQUcZDyGqD1RMW0+H1jhOKByCJCqOklbDF2cCIOq6YJdYpX6fAyZKMhHd42862xowT6P2sCWR7BjM1SM/zCM5wOv+H7giPPYziYz2xOGzGFu4P1iahaKoe4p5rbITov/SHDcDSbfZ2TZALbUBb862NFIdL8BzsNJk9LvDrloWhg2CDlVpborEF8YH2K1iJD8kDG/DW5uPnyP7UfmMsaClEQSB2R/utAm2OGkMO0tGqEzR0rcdrDYEkJU4JTdkRPqhbXdda5VYF/D8ucIV+YGQ2phVkbKAwMjgA+5kf2L3hkVQwgsQ4QffpTozfBoFAEMyUFJTyicTOVK68mPDSgnx98lzeLEye33u6860RIkiB7G8i3Dcn81lbmkXCzn8RXWulGTvt/+EXQ25ip4qZ7l/+ZmQDWMNpJ067ayCZInR42MnfHeH/rfXfXP/KM1ZkHhkkkxM4xE5T26UxGO59bc0CN5LLzwFxUCahgJrDfn/Az0GhOSF7Zrimwkx/wWw50FLHosOxenwiNtTWr99IpkaM9o9/sU1zaFGRUhSdfHuH0QpxuQ3Ck4kAlYCa8InUtC8iKgW94f/tPP1AbLBvFVkahcNSmfPoWMVEs1U5XOApMYfbjviC7sv6dHUAvuvj5xu8fJF4VHiklGYyKsiwz2DhjbivQ1QUdO6wn5xfv3SJBEkV779z8nqaDVU+ONVJClBn5xfdHOsQ4oyrMo/74PtPSnKy8M8GuWk1XMqU+dX5UdgrOi9t1MlY
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(376002)(396003)(136003)(46966006)(36840700001)(40470700004)(2906002)(40480700001)(4326008)(8676002)(8936002)(36756003)(82310400005)(70206006)(70586007)(478600001)(6512007)(6506007)(316002)(54906003)(6486002)(53546011)(26005)(33656002)(41300700001)(82740400003)(356005)(81166007)(86362001)(107886003)(2616005)(47076005)(186003)(336012)(36860700001)(5660300002)(40460700003)(83380400001)(6862004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 14:56:36.5771
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a2dcaca9-3d0c-4329-6efd-08da7ece5a26
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6709

Hi Julien,

> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> There are a few places in the code that need to find the slot at a
> given page-table level.
>=20
> So create a new macro get_table_slot() for that. This will reduce
> the effort to figure out whether the code is doing the right thing.
>=20
> The new macro is using 'ubfx' (or 'lsr' for the first level) rather
> than the existing sequence (mov_w, lsr, and) because it doesn't require
> a scratch register and reduce the number of instructions (4 -> 1).
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Also I passed our test suite on arm32 qemu so:
Tested-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand


> ---
> xen/arch/arm/arm32/head.S | 56 ++++++++++++++++++++++-----------------
> 1 file changed, 32 insertions(+), 24 deletions(-)
>=20
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 46d93bebbabe..50f6fa4eb38d 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -358,13 +358,31 @@ cpu_init_done:
>         mov   pc, r5                        /* Return address is in r5 */
> ENDPROC(cpu_init)
>=20
> +/*
> + * Macro to find the slot number at a given page-table level
> + *
> + * slot:     slot computed
> + * virt:     virtual address
> + * lvl:      page-table level
> + *
> + * Note that ubxf is unpredictable when the end bit is above 32-bit. So =
we
> + * can't use it for first level offset.
> + */
> +.macro get_table_slot, slot, virt, lvl
> +    .if \lvl =3D=3D 1
> +        lsr   \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl)
> +    .else
> +        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIF=
T
> +    .endif
> +.endm
> +
> /*
>  * Macro to create a page table entry in \ptbl to \tbl
>  *
>  * ptbl:    table symbol where the entry will be created
>  * tbl:     table symbol to point to
>  * virt:    virtual address
> - * shift:   #imm page table shift
> + * lvl:     page-table level
>  * mmu:     Is the MMU turned on/off. If not specified it will be off
>  *
>  * Preserves \virt
> @@ -374,11 +392,9 @@ ENDPROC(cpu_init)
>  *
>  * Note that \virt should be in a register other than r1 - r4
>  */
> -.macro create_table_entry, ptbl, tbl, virt, shift, mmu=3D0
> -        lsr   r1, \virt, #\shift
> -        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r2             /* r1 :=3D slot in \tlb */
> -        lsl   r1, r1, #3             /* r1 :=3D slot offset in \tlb */
> +.macro create_table_entry, ptbl, tbl, virt, lvl, mmu=3D0
> +        get_table_slot r1, \virt, \lvl  /* r1 :=3D slot in \tlb */
> +        lsl   r1, r1, #3                /* r1 :=3D slot offset in \tlb *=
/
>=20
>         load_paddr r4, \tbl
>=20
> @@ -448,8 +464,8 @@ ENDPROC(cpu_init)
> create_page_tables:
>         /* Prepare the page-tables for mapping Xen */
>         ldr   r0, =3DXEN_VIRT_START
> -        create_table_entry boot_pgtable, boot_second, r0, FIRST_SHIFT
> -        create_table_entry boot_second, boot_third, r0, SECOND_SHIFT
> +        create_table_entry boot_pgtable, boot_second, r0, 1
> +        create_table_entry boot_second, boot_third, r0, 2
>=20
>         /* Setup boot_third: */
>         adr_l r4, boot_third, mmu=3D0
> @@ -486,12 +502,10 @@ create_page_tables:
>          * then the 1:1 mapping will use its own set of page-tables from
>          * the second level.
>          */
> -        lsr   r1, r9, #FIRST_SHIFT
> -        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r0              /* r1 :=3D first slot */
> +        get_table_slot r1, r9, 1     /* r1 :=3D first slot */
>         cmp   r1, #XEN_FIRST_SLOT
>         beq   1f
> -        create_table_entry boot_pgtable, boot_second_id, r9, FIRST_SHIFT
> +        create_table_entry boot_pgtable, boot_second_id, r9, 1
>         b     link_from_second_id
>=20
> 1:
> @@ -501,16 +515,14 @@ create_page_tables:
>          * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to =
handle
>          * it.
>          */
> -        lsr   r1, r9, #SECOND_SHIFT
> -        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r0             /* r1 :=3D second slot */
> +        get_table_slot r1, r9, 2     /* r1 :=3D second slot */
>         cmp   r1, #XEN_SECOND_SLOT
>         beq   virtphys_clash
> -        create_table_entry boot_second, boot_third_id, r9, SECOND_SHIFT
> +        create_table_entry boot_second, boot_third_id, r9, 2
>         b     link_from_third_id
>=20
> link_from_second_id:
> -        create_table_entry boot_second_id, boot_third_id, r9, SECOND_SHI=
FT
> +        create_table_entry boot_second_id, boot_third_id, r9, 2
> link_from_third_id:
>         create_mapping_entry boot_third_id, r9, r9
>         mov   pc, lr
> @@ -571,9 +583,7 @@ remove_identity_mapping:
>          * Find the first slot used. Remove the entry for the first
>          * table if the slot is not XEN_FIRST_SLOT.
>          */
> -        lsr   r1, r9, #FIRST_SHIFT
> -        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r0              /* r1 :=3D first slot */
> +        get_table_slot r1, r9, 1     /* r1 :=3D first slot */
>         cmp   r1, #XEN_FIRST_SLOT
>         beq   1f
>         /* It is not in slot 0, remove the entry */
> @@ -587,9 +597,7 @@ remove_identity_mapping:
>          * Find the second slot used. Remove the entry for the first
>          * table if the slot is not XEN_SECOND_SLOT.
>          */
> -        lsr   r1, r9, #SECOND_SHIFT
> -        mov_w r0, XEN_PT_LPAE_ENTRY_MASK
> -        and   r1, r1, r0             /* r1 :=3D second slot */
> +        get_table_slot r1, r9, 2     /* r1 :=3D second slot */
>         cmp   r1, #XEN_SECOND_SLOT
>         beq   identity_mapping_removed
>         /* It is not in slot 1, remove the entry */
> @@ -628,7 +636,7 @@ setup_fixmap:
> #endif
>         /* Map fixmap into boot_second */
>         mov_w r0, FIXMAP_ADDR(0)
> -        create_table_entry boot_second, xen_fixmap, r0, SECOND_SHIFT, mm=
u=3D1
> +        create_table_entry boot_second, xen_fixmap, r0, 2, mmu=3D1
>         /* Ensure any page table updates made above have occurred. */
>         dsb   nshst
>=20
> --=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 14:58:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 14:58:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387584.623891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbY0-0002ef-2r; Mon, 15 Aug 2022 14:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387584.623891; Mon, 15 Aug 2022 14:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbY0-0002eY-0A; Mon, 15 Aug 2022 14:58:32 +0000
Received: by outflank-mailman (input) for mailman id 387584;
 Mon, 15 Aug 2022 14:58:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kkVB=YT=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oNbXz-0002eS-3J
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 14:58:31 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b94b6394-1caa-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 16:58:30 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id x21so9901364edd.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Aug 2022 07:58:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b94b6394-1caa-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=xsRqMIUsWLxIv18zmsiSh4JZVpHs4hJ3Xc5BPW03tOE=;
        b=as6qbHPdnCnVE75yq160qXcM2Wk721dTg/Kksep4PSYHt8n6lZI5/PbPuVB/x/viHn
         oV+/WDeEaMew8Csj0XDYGl8+/QHD6Sol0/KcRr7u+Rf4Q0WYLV0P6MK23rbldHql+ZFY
         Z3NHGjEj0YFZ5CHp2vDzu+HQwqgzItIjaPXvT1kyht2pjMZOb5TwAwTwxW75kTJIA8KR
         VXO9ECo2+Nj7DBKKC3bwIm0l9ILKRu63AVqiZSXPxYtbPTAgZAs7GFWrSbF7H/nBjj8N
         X8BlnE5PavFXA59Y9wUQ1HtHybJUjKBSBQO+7gkhy39LCOGzlb84HkW3gbgPVxhnQE8X
         8Bvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=xsRqMIUsWLxIv18zmsiSh4JZVpHs4hJ3Xc5BPW03tOE=;
        b=26Eceq0zS3XRTX1vg9c17pAMZAjcpJD+BIJDCWt2740aef5YwbPxoNSv3/0qnmbckN
         Uc+v7qpyFDdQk86aKsoDY+llOGxk6mRGU3npnTQ8YjpSVw0QbnNXIJ4vCOUX38cQYk9T
         nXQojwVhOGIFDBO7Fo1CmHcqBpSJHlHGobxouVFLeRCxREDyp1vvxk3/6KYyjeaO2139
         gAgk3a2bHVlc4QoaNDf4SV4cH8/1P9fs5s92RZGWOXY8xCLYAJVRz/sasoeSYqJWkxec
         cjOAsJ0X7VcdFMUtTo8BjkpYhJNs7Fu6/1yqyao3RlTW1nQbyPCoZqPbXkemjApmp4vU
         e/og==
X-Gm-Message-State: ACgBeo1jmeWSBQBTyIAtXQyc+IoZC4K9JX9cfqGDBmNjYiRnm57Tp6Pe
	HIdMzo6bmOVPIQPyXO+sfJptFrgn7TAsjAi8aoU=
X-Google-Smtp-Source: AA6agR5X+SPUl4wLHvdjgPllkE9XEMzHKQAvVzpRthy/jKD3UHhVhSEpzQAOeg4ft/H8iep/rjnWFk4A8K4yUZsNU6Y=
X-Received: by 2002:aa7:d8c6:0:b0:43d:b0a1:5266 with SMTP id
 k6-20020aa7d8c6000000b0043db0a15266mr14656114eds.164.1660575509505; Mon, 15
 Aug 2022 07:58:29 -0700 (PDT)
MIME-Version: 1.0
References: <20220810192944.102135-1-jandryuk@gmail.com> <20220810192944.102135-4-jandryuk@gmail.com>
 <9dd6cb04-30fd-aaa3-5afa-02c4f3264f97@suse.com>
In-Reply-To: <9dd6cb04-30fd-aaa3-5afa-02c4f3264f97@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 15 Aug 2022 10:58:18 -0400
Message-ID: <CAKf6xpvv8F9wuVNn2vqGo4bfO1ha9B5m1Ns-ydHESGRQD8a97g@mail.gmail.com>
Subject: Re: [PATCH v2 03/13] cpufreq: Export intel_feature_detect
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Wei Liu <wl@xen.org>, xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

On Mon, Aug 15, 2022 at 10:34 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 10.08.2022 21:29, Jason Andryuk wrote:
> > Export feature_detect as intel_feature_detect so it can be re-used by
> > HWP.
> >
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> > ---
> > v2
> > export intel_feature_detect with typed pointer
> > Move intel_feature_detect to acpi/cpufreq/cpufreq.h since the
> > declaration now contains struct cpufreq_policy *.
>
> I don't mind the new placement, but I don't follow the reasoning.

v1 added
void intel_feature_detect(void *info);
to acpi/cpufreq/processor_perf.h

v2 adds
void intel_feature_detect(struct cpufreq_policy *policy)
to acpi/cpufreq/cpufreq.h, which was selected to have the type available.

> > --- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
> > +++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
> > @@ -340,9 +340,8 @@ static unsigned int cf_check get_cur_freq_on_cpu(unsigned int cpu)
> >      return extract_freq(get_cur_val(cpumask_of(cpu)), data);
> >  }
> >
> > -static void cf_check feature_detect(void *info)
> > +void intel_feature_detect(struct cpufreq_policy *policy)
> >  {
> > -    struct cpufreq_policy *policy = info;
> >      unsigned int eax;
> >
> >      eax = cpuid_eax(6);
> > @@ -354,6 +353,11 @@ static void cf_check feature_detect(void *info)
> >      }
> >  }
> >
> > +static void cf_check feature_detect(void *info)
>
> This function is invoked indirectly via on_selected_cpus() (hence
> the cf_check attribute) - I wonder how you get away without that for
> HWP. Or else why we need this as a wrapper here when then you'd have
> another similar wrapper elsewhere.

HWP calls hwp_init_msrs via on_selected_cpus, which then directly
calls intel_feature_detect().  ACPI needs the cf_check on
feature_detect, but intel_feature_detect is only called directly.

> > +{
> > +    intel_feature_detect((struct cpufreq_policy *)info);
>
> Why the cast?

I thought it was necessary to keep the compiler happy.  Double
checking, you are correct that it is not needed.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 15:13:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 15:13:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387592.623902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbm3-0004yn-BH; Mon, 15 Aug 2022 15:13:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387592.623902; Mon, 15 Aug 2022 15:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbm3-0004yg-88; Mon, 15 Aug 2022 15:13:03 +0000
Received: by outflank-mailman (input) for mailman id 387592;
 Mon, 15 Aug 2022 15:13:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNbm2-0004ya-It
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 15:13:02 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c09c32f6-1cac-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 17:13:01 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B84BA351FE;
 Mon, 15 Aug 2022 15:13:00 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8919113A99;
 Mon, 15 Aug 2022 15:13:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2nkHIHxi+mJscwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 15:13:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c09c32f6-1cac-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660576380; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=stgMn8NdygL2toBvHczgoJpZfK1iJA0jGjnkG3tqbz0=;
	b=qL8A56llW2ApEHXvimoy1aSh/bxUzjpUny7LhJguw9fm9qsUujGG5Puyskg+aolITP4BvP
	yjdKFDn3KDa4VqjnLKH/8OEkpAb6sGZB9ByeCMaQQ6B+lNkB7DdForrMvDBkIQ9zYwp0Fk
	4ZNT1aQxdXZOr7DodiIRT8iY9bnWABw=
Message-ID: <caea2bb5-a37b-8660-4a8a-03aa7476af35@suse.com>
Date: Mon, 15 Aug 2022 17:13:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <cc65eb5f-310e-b51b-71c6-17b93cbe7d0d@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] x86: rework hypercall argument count table instantiation
 & use
In-Reply-To: <cc65eb5f-310e-b51b-71c6-17b93cbe7d0d@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------y1fs1iMlKr3UR072ShgLUqBJ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------y1fs1iMlKr3UR072ShgLUqBJ
Content-Type: multipart/mixed; boundary="------------Cw2tRIz2GPNTqEMTKNGgizfu";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Message-ID: <caea2bb5-a37b-8660-4a8a-03aa7476af35@suse.com>
Subject: Re: [PATCH] x86: rework hypercall argument count table instantiation
 & use
References: <cc65eb5f-310e-b51b-71c6-17b93cbe7d0d@suse.com>
In-Reply-To: <cc65eb5f-310e-b51b-71c6-17b93cbe7d0d@suse.com>

--------------Cw2tRIz2GPNTqEMTKNGgizfu
Content-Type: multipart/mixed; boundary="------------eZB0deH3pYm7k1O1dYqcpRC6"

--------------eZB0deH3pYm7k1O1dYqcpRC6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjcuMDcuMjIgMTg6MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBUaGUgaW5pdGlhbCBv
YnNlcnZhdGlvbiB3ZXJlIGR1cGxpY2F0ZSBzeW1ib2xzIHRoYXQgb3VyIGNoZWNraW5nIHdh
cm5zDQo+IGFib3V0LiBJbnN0ZWFkIG9mIG1lcmVseSByZW5hbWluZyBvbmUgb3IgYm90aCBw
YWlyKHMpIG9mIHN5bWJvbHMsDQo+IHJlZHVjZSAjaWZkZWYtYXJ5IGF0IHRoZSBzYW1lIHRp
bWUgYnkgbW92aW5nIHRoZSBpbnN0YW50aWF0aW9uIG9mIHRoZQ0KPiBhcnJheXMgaW50byBt
YWNyb3MgKGEgbmF0aXZlIGFuZCBhIDMyLWJpdCBvbmUgZWFjaCwgd2hlcmUgbGlrZWx5IG1v
cmUNCj4gcmVkdW5kYW5jeSBjb3VsZCBiZSBlbGltaW5hdGVkLCBpZiB3ZSByZWFsbHkgd2Fu
dGVkIHRvKS4gV2hpbGUgZG9pbmcgdGhlDQo+IGNvbnZlcnNpb24gYWxzbyBzdG9wIG9wZW4t
Y29kaW5nIGFycmF5X2FjY2Vzc19ub3NwZWMoKS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4g
R3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KV2l0aCBvbmUgc21hbGwgbml0IC4uLg0KDQo+
IC0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9oeXBlcmNhbGwuaA0KPiArKysgYi94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHlwZXJjYWxsLmgNCj4gQEAgLTQzLDE2ICs0Myw2
IEBAIGNvbXBhdF9jb21tb25fdmNwdV9vcCgNCj4gICANCj4gICAjZW5kaWYgLyogQ09ORklH
X0NPTVBBVCAqLw0KPiAgIA0KPiAtI2lmbmRlZiBOREVCVUcNCj4gLXN0YXRpYyBpbmxpbmUg
dW5zaWduZWQgaW50IF9nZXRfbmFyZ3MoY29uc3QgdW5zaWduZWQgY2hhciAqdGJsLCB1bnNp
Z25lZCBpbnQgYykNCj4gLXsNCj4gLSAgICByZXR1cm4gdGJsW2NdOw0KPiAtfQ0KPiAtI2Rl
ZmluZSBnZXRfbmFyZ3ModCwgYykgX2dldF9uYXJncyh0LCBhcnJheV9pbmRleF9ub3NwZWMo
YywgQVJSQVlfU0laRSh0KSkpDQo+IC0jZWxzZQ0KPiAtI2RlZmluZSBnZXRfbmFyZ3ModGJs
LCBjKSAwDQo+IC0jZW5kaWYNCj4gLQ0KPiAgIHN0YXRpYyBpbmxpbmUgdm9pZCBjbG9iYmVy
X3JlZ3Moc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsDQo+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbmFyZ3MpDQo+ICAgew0KPiBAQCAtNjks
NiArNTksMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIGNsb2JiZXJfcmVncyhzdHJ1Y3QgYw0K
PiAgICNlbmRpZg0KPiAgIH0NCj4gICANCj4gKyNkZWZpbmUgY2xvYmJlcl9yZWdzKHIsIG4s
IHQpICh7IFwNCj4gKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciB0W10gPSBoeXBl
cmNhbGxfYXJnc18gIyMgdDsgXA0KPiArICAgIGNsb2JiZXJfcmVncyhyLCBhcnJheV9hY2Nl
c3Nfbm9zcGVjKHQsIG4pKTsgXA0KPiArfSkNCj4gKw0KDQouLi4gY291bGQgSSB0YWxrIHlv
dSBpbnRvIG5vdCBvdmVybG9hZGluZyB0aGUgbmFtZXMgb2YgdGhlIGlubGluZQ0KZnVuY3Rp
b25zIHdpdGggbWFjcm9zPyBZb3UgYXJlIGNoYW5naW5nIGFsbCB0aGUgY2FsbCBzaXRlcyBh
bnl3YXkuDQoNCg0KSnVlcmdlbg0K
--------------eZB0deH3pYm7k1O1dYqcpRC6
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------eZB0deH3pYm7k1O1dYqcpRC6--

--------------Cw2tRIz2GPNTqEMTKNGgizfu--

--------------y1fs1iMlKr3UR072ShgLUqBJ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL6YnwFAwAAAAAACgkQsN6d1ii/Ey9n
Lgf+I8jTL0gBt3OWLIyGndcz9xONEsXRa9lN9EK3qj743Rujbm6B/nuh0Bm23toRehXU3Zk0KI9n
af3hXBmS5F/xcIHaTFhM9ukQb8vTizhGfnSMpCWiXfcDrKsN/RaiCM3jZj9XeT4MJiDA4n9SQ/LP
GT2HYsT3svzMwEEiKFTT+dFD0m+aIghlc1kIIhAehHLPgEXnFpYQT80EtsxzI/g7vCgOa22V1U5D
TdFAx4ZA7T0NekvFg1AnbTv0RpJrl7Kt1biQaA0sE9VsjJAat6avmcPle2iAn6MU8VaCx7HAtAIq
EFNbTzdepVy4qv2/KcA5s9E5lTe0TYhicAGdhk1ovg==
=Zfgq
-----END PGP SIGNATURE-----

--------------y1fs1iMlKr3UR072ShgLUqBJ--


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 15:16:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 15:16:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387600.623913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbot-0005b6-Rl; Mon, 15 Aug 2022 15:15:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387600.623913; Mon, 15 Aug 2022 15:15:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbot-0005az-OA; Mon, 15 Aug 2022 15:15:59 +0000
Received: by outflank-mailman (input) for mailman id 387600;
 Mon, 15 Aug 2022 15:15:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNbos-0005ap-0Q; Mon, 15 Aug 2022 15:15:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNbor-0007dw-Vf; Mon, 15 Aug 2022 15:15:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNbor-0000O9-Eb; Mon, 15 Aug 2022 15:15:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNbor-0003BH-EE; Mon, 15 Aug 2022 15:15:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=T0baH7EV9yIl2cuXi0DnaT5LTXarcbO2XoiA+5TIILg=; b=VaFKpyMjgs40RutaEvXQNnyVd+
	vwxsG+sZBIVDxjgO9cN93twlo22gwl2EIgIVZSl67eDMYZco4Brc/P+OtMU7wdv78EnAXxIq+56L+
	jCccTHz1+TvB6AA/nHRQNWI84m9OfW2F4AWqi3louBdQk6adQ98LWLNw6gVgVSxxwIgg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172544-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172544: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=809b5a3d2a3b7732459dd63c9382fe6ec42d1856
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 15:15:57 +0000

flight 172544 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172544/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 809b5a3d2a3b7732459dd63c9382fe6ec42d1856
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   11 days
Failing since        172151  2022-08-05 02:40:28 Z   10 days   98 attempts
Testing same since   172540  2022-08-15 09:40:43 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 648 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 15:20:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 15:20:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387610.623924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbta-00071I-EU; Mon, 15 Aug 2022 15:20:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387610.623924; Mon, 15 Aug 2022 15:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbta-00071B-BM; Mon, 15 Aug 2022 15:20:50 +0000
Received: by outflank-mailman (input) for mailman id 387610;
 Mon, 15 Aug 2022 15:20:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNbtZ-000715-EC
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 15:20:49 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062.outbound.protection.outlook.com [40.107.21.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d70b0dec-1cad-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 17:20:48 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4286.eurprd04.prod.outlook.com (2603:10a6:803:46::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug
 2022 15:20:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 15:20:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d70b0dec-1cad-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JQmkGzEk2HhQT0cNOcQ7WYuq14U/wq9DckSGp97p+J3iMzQu/WmfQdmrxdAxbUM5k47JkK3ln92XoJX/JDGxVXA0fqgbb/DjiQlAtX1NWPRAC1mtz7SMikakW5y3V8d3MP1urBZml9XzSC5eSDsDLtZtuwtiTKieECJ2Ugt4Zl5Bm3OJj/U96VaAK3VKbXIcDiGtOgvoVypmgCeMn1tsOC9fh6toStjP2ZAx1FxaV1iW8CdW1Y9ec/quIm0HcMOQ++VVhwF5JY+dqLiLeKif2oHsYECBg/gprOBPYEN3GpSDAU8n5kQ+4sHvWx+Ye1Ps79oiCOg5/9aYkFtR0D0PTg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bc+BFnwA3IuzyJsXn1v064viyfz5y/UXnPnqicZ8sT0=;
 b=f63W1R59P3Y9V3WfckvtECUd7sMaulKW+TFAKmpxeqVlUwXfaQOHK98a6HQFsbmfTjF646xrpMI4kCWXKHTUXAxQKJ3Ii6FcujuTiOqJU/DtiRMvsPkIQ6RzFgZFMX+Bd6UVYWa3EdqkW8ZbW7/mwSYS6h5xFHAnMwY3oCuy+TPheAI/U7Mmvy9AjN65F/hc8+nbR6ItORxwRddxxKq/+IRlFt6OpJPEOz9YtkIclZYhKqZMiYf76sLIX4OEHqbeFafP7tgcJ/rWqSFMwkmyGYlTgK8snMDe5Pog9u3eyZKh8ZT9ohOrvIucKk+7uzPotH/zIrTY7ZKgfBtubmDSJg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bc+BFnwA3IuzyJsXn1v064viyfz5y/UXnPnqicZ8sT0=;
 b=QHBIak+jPgkT98PlQmhsFS+3eggKUlPOa1KCBjwNmWm/L2vSA1gbPCwr/yBrbai9CD4bSsed3NQwTw2Lfnfa+GtaCiNjMzif3Q5+4IuaM/erb0FpBdzczpvAEJTY0IWG19adzcxqSwNMAMixJ34+qrAqzrjTCZmLmASWMjI8yaMtA956TnRwW67bn+z7OfZJfW6oJ3gAQ+YFwBNYUj13qiiVZPP5HUKTzKkjuSuLWu9nK5WdWL/0tArBt6jkzWHQ2mJMHzc7N1V6ns+tjfWryCVzYBveK1oqDGtFZG5nryHA9L4QRcAOp7UZx5Pt9Gyr09xYnH/qvpreGLSMkORRTQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <63d22c68-6a0e-b135-67fa-23d067bebafc@suse.com>
Date: Mon, 15 Aug 2022 17:20:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86: rework hypercall argument count table instantiation
 & use
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cc65eb5f-310e-b51b-71c6-17b93cbe7d0d@suse.com>
 <caea2bb5-a37b-8660-4a8a-03aa7476af35@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <caea2bb5-a37b-8660-4a8a-03aa7476af35@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0122.eurprd04.prod.outlook.com
 (2603:10a6:20b:127::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b106c78a-e14e-4bbc-925d-08da7ed1b688
X-MS-TrafficTypeDiagnostic: VI1PR04MB4286:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LZdzUbIbUuhXYnQttjtf6BLUkh5xDwNHuMjfNgqLe9A6HQHPbEaBIfXGH8lET0mKUuCNp6e2gH23kpl/9dQXRM4ew3y953SG+hYxzypRXyj2smv/0xlvOcM+23YwNnwq5uc8H/Cy/804TeF7LomfxPAqyrICpKJPcILFgiMYq93nPGiNbL/JUXaoC8b7RsIInsAU78GJdWkj0IhsOtVCRYxAWF4MzKdlemZMVbDWYO0Wv5f7C74iKlJ48+x/nqGr6320hOR4IdyOSWx+/Vm70CIhZJO9x8uI9D+19Dj7X0yGcK6suBt7zrF4TpVW4yn3I5sEMBS4y0cPF4dNnxgQN0EwTOp8Vd0vtf3y1R29GFLHmQ7wCAvh7wBtfnAx6BjUH9NhegxcH6fb48Czb/Pu03FfgzL5xhZ8N4VavRrFq+J5JckNpNXVlDlxqCtsX0hYC97GZ8+hOH0Wr8tfjYtF6W6bQMqZTxsht1o3aplRTJ5LqoXnBSIOWZbnzy2wtlTzqHq/l7fIRM54InO78fWUQ3evKLSuEVLXZfk0yR1USmuuKXKcC8VlUwBg8MUiTcuUNm3kL3vKDx2n/T9GLqf+sbMrK4wc9LxJY41SxPRF6mI1qxs6NI/c6QXXAF9L+BYAfr3kNCAAqT/w+rs2JND9DGZgp8darSwzIy9f4DdvdXrrZnAg6u8j/l/aT260PqH+DxS7TQ8O2dKprJi0a4H8LRsUEfKQvRbdLMHHvMbJGDEhWgHb+SY78tTf5o1vITq4EbXeDbZyFfnj75n7QWrrxeJwzuBWW1WaVo6qTM+p7K3zIDVErEDYfV2mV/w3w4OIJ33k/D02tmeVb3sck90HlA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(39860400002)(346002)(136003)(366004)(478600001)(5660300002)(41300700001)(83380400001)(186003)(53546011)(6506007)(26005)(2616005)(6512007)(38100700002)(86362001)(6862004)(31686004)(8936002)(31696002)(36756003)(66946007)(66556008)(66476007)(8676002)(4326008)(2906002)(37006003)(6486002)(54906003)(316002)(6636002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NDlDbnlLb29Zdktad0hCS0NuY05aeWxvSGdJdUN2MzFsemhTUTVJZHBHZVkz?=
 =?utf-8?B?NHdRY0J5N0hmNWhmL2VVTmZFaXpxVFBFek5oM3g1aXpmZllubUI0VHlkUzlR?=
 =?utf-8?B?NWI0Rkh2bVo1d0lrRnhZVDNlanlhOG5hb2pYUm10QkdRVlR1eEM3REhxMVpY?=
 =?utf-8?B?OUJrd1BLZUdNOVZ3bExrcmRkWERwR0dJR1F0ekR4bVFiZjQ4ejVNTnB3aTI2?=
 =?utf-8?B?dkk0UGhRU3VCY2VzUjBrVWZ6SzFNSU1KTUJxQlIxYlY3SmR2OGdWRVBLdVRp?=
 =?utf-8?B?Y1QwNmRwbm9EdU5SMnlDNXJ4a010aUhSaGU0RGE0MUNYNVFzczZlZGJZczV2?=
 =?utf-8?B?VmtadjBFaXdrWW5EQmNoRU92dEVGZVlHZTlBKzNRU21YNkwwV3BPTnRSZFUw?=
 =?utf-8?B?M056RkxkdlRzRkdmT0ZXZUhJbFNIT2N4SHlDNFRGSjJEdnQ2M2QvY3VOK3dY?=
 =?utf-8?B?QWdMOHQrM0p4bG96OENKZDFWUlM2Vlo2dDhWRUd1L245SE82NmozbjRUb2lI?=
 =?utf-8?B?STdIMWY3ZUphYmpGTzdPTnVzSndJTno4cXVTbmxJaXdDQzNUVGh5T0Z1RWd2?=
 =?utf-8?B?SGpkMTBCaDI4WnY3UUpYeHNhWHBTeUZrYklCVUpTZ0JKdzR5MS9EQ2xpN25o?=
 =?utf-8?B?MFFITWpweENFbFlDRnA0bGZPMkFPdkZNMm9oWkE5TUk0SHE0NEptRkZDV21a?=
 =?utf-8?B?MHlqcjdobHNvcy9mb3M2Z01iZlNGcys1NG9Gc0hQd1EzTTVqZm1oeXY5eVVt?=
 =?utf-8?B?UE41NUg0ODd0THRUVm5YS1AvZER4aTU1UGJnV1h2b0c2UkxZbDZTYXgzUnA0?=
 =?utf-8?B?QXNqV0drcHBMeXNNcVd4KzNxb2ZETU9vckUrZ2NWYURNWVQrMWhiYzdpNXY5?=
 =?utf-8?B?KzBvbFVxdWF0N29PVzM3K0NLL3AyZlkxTjJWbXFSU3RDTHRNUUgzQzZTb1la?=
 =?utf-8?B?eDRFcGQwdkdHdFcyTUZtV3F6OXlVL3dGd25wWWNOK2xpYjFadjNINjVCOFBC?=
 =?utf-8?B?MThUNE12MzczT1lPQ01JSVgzMXhnT0d3V2Q5NHhQT3JKTW15dXBsaFFGVThE?=
 =?utf-8?B?Sk1rNEcwREdpaG5QZjFoVTYzbXViT3dwMkRqcnVialh0MmFjbG5McjgrVHo3?=
 =?utf-8?B?OGk1ZVcvdmltQkRMeWtob1BxNVRObURrMkZpc2RwQlZCbGxZMCszUWxVc2Yy?=
 =?utf-8?B?NXpNbWlGRmNnSWJwd0dSNnZqaTBTU3ROQXV1NkFZcWRZTDh0M2QxVkgwTVh4?=
 =?utf-8?B?TXBEdUJsaU5UOTlnYitaTE11RitpRExtajkxZjloMlV1Q2VBc0tXNmxMUkEr?=
 =?utf-8?B?ZVNHQjBuYm96cEFFTHFXZXJuTk5Ic2JGSm9sbDM2UUxCeFpZWVJxYlhJbGhs?=
 =?utf-8?B?K2FrNlg2UGtHVUVXZ1BHaHg5dHhpMmdMV3ZkVlg4WmZBSXR0TFRTL1ZZekU3?=
 =?utf-8?B?RnlNcTdwZFVCcWMwZ1Nwb05XajRiTCs3bHh5YXdkcUZFaUVHZWVqTDVsRktt?=
 =?utf-8?B?QTkrTHFoYWdlQ2VscWhSQms4RzdSVlN2elB1WFFZWUszanFUYlhjdlFzalpE?=
 =?utf-8?B?c2dzT2JiMGxXdmR6Sm9SMDlCZm1XU1M1NzBqa21iRWVVU2JYRktsemlST1Ra?=
 =?utf-8?B?clUrQSs2YUJBN3JjT3ZlTll3Y0JHWWxIeVVLK3FOQmRiVWxRVU9EdVRHWWdq?=
 =?utf-8?B?SndEbm5RMVpoUFRzdWNkM3lFaUxMUi9XZEJWYkFFMzFDbUVpd1NXbEgzbnZz?=
 =?utf-8?B?RDNzQm80Wi9OOGlWeGFhUnBvcG9NNjI0RWpDZDZLSk10TWdhWmNRc25lbjBP?=
 =?utf-8?B?S0FGMzJRUC9IeTRtVTFwNEh6Q0RBY0t0a3BoZEJseEFGTm93eFIyWnhLSGJC?=
 =?utf-8?B?b3BWYkNXZDFjeUFaZEgyNGFHcWx0Vk8wNnZQYTdmaysxdDFvbm5nL1pTM1Jj?=
 =?utf-8?B?YUNtWTlPdkNmRlJhTmxMbDI0YXhjL2hsNFprd3IvQk9HaFk1UEVBeXovSXUz?=
 =?utf-8?B?VG1Mc1oxTWJXZkVoT0Y1SGwxQXRoTE5ldUw0V1gvcVpMekk1WFQzbnRqQkh6?=
 =?utf-8?B?amw4NXM4OHdrcDEvdUgrblpodElJSEtZR2pVUGhqeGkyRG9BM1BnZUVrTyt6?=
 =?utf-8?Q?N/igUWFRHgf6THVNW7ynS00mq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b106c78a-e14e-4bbc-925d-08da7ed1b688
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 15:20:40.3108
 (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: z1C5DuMgI17VN6WXqAQPHmerCDd9ms1eZf99sVc4iQbNEJUt+Dp5rR+L8zVIdojByJpAXje51Lm9UZNsOga9kQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4286

On 15.08.2022 17:13, Juergen Gross wrote:
> On 27.07.22 18:00, Jan Beulich wrote:
>> The initial observation were duplicate symbols that our checking warns
>> about. Instead of merely renaming one or both pair(s) of symbols,
>> reduce #ifdef-ary at the same time by moving the instantiation of the
>> arrays into macros (a native and a 32-bit one each, where likely more
>> redundancy could be eliminated, if we really wanted to). While doing the
>> conversion also stop open-coding array_access_nospec().
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

Thanks.

> With one small nit ...
> 
>> --- a/xen/arch/x86/include/asm/hypercall.h
>> +++ b/xen/arch/x86/include/asm/hypercall.h
>> @@ -43,16 +43,6 @@ compat_common_vcpu_op(
>>   
>>   #endif /* CONFIG_COMPAT */
>>   
>> -#ifndef NDEBUG
>> -static inline unsigned int _get_nargs(const unsigned char *tbl, unsigned int c)
>> -{
>> -    return tbl[c];
>> -}
>> -#define get_nargs(t, c) _get_nargs(t, array_index_nospec(c, ARRAY_SIZE(t)))
>> -#else
>> -#define get_nargs(tbl, c) 0
>> -#endif
>> -
>>   static inline void clobber_regs(struct cpu_user_regs *regs,
>>                                   unsigned int nargs)
>>   {
>> @@ -69,6 +59,11 @@ static inline void clobber_regs(struct c
>>   #endif
>>   }
>>   
>> +#define clobber_regs(r, n, t) ({ \
>> +    static const unsigned char t[] = hypercall_args_ ## t; \
>> +    clobber_regs(r, array_access_nospec(t, n)); \
>> +})
>> +
> 
> ... could I talk you into not overloading the names of the inline
> functions with macros? You are changing all the call sites anyway.

I do, but the call sites should use the present name, so if anything
it would be the inline function that gets renamed. Yet I'm
deliberately using the same name, to kind of "hide" the actual
function (like we do elsewhere in a few cases). The effect you're
after would be implicitly had by going the route described in the
post-commit-message remark. I'd be happy to switch to that model, if
that suites you better.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 15:23:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 15:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387618.623934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbwC-0007hJ-VJ; Mon, 15 Aug 2022 15:23:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387618.623934; Mon, 15 Aug 2022 15:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbwC-0007hC-Sk; Mon, 15 Aug 2022 15:23:32 +0000
Received: by outflank-mailman (input) for mailman id 387618;
 Mon, 15 Aug 2022 15:23:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNbwB-0007h4-A7
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 15:23:31 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2087.outbound.protection.outlook.com [40.107.104.87])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36a6038a-1cae-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 17:23:29 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR0402MB3344.eurprd04.prod.outlook.com (2603:10a6:803:10::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Mon, 15 Aug
 2022 15:23:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 15:23:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36a6038a-1cae-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZUyzhvgrLjVDmJKnOpS9Kh+vsWYCG+utjqMIiVvH3kwh5yj34zeBgYAqPo/iG7tT4DKJTzXiOGkMwu1gD06VBSRHJb9q5kyHrgLFRTBJJxP7sPyvkmrLKh0SnbL8CEl4RCS6AlhpN3g880V8BxQs9IePFKBj5u8usvs/HTrnUWZ3bLZIn+Xxsao+bPSebAmB1vXvfSijQJX4bx+bQYksF+2lm4w5F4Gmggj/YIk9MNQ5u4yEeQ+p9spPwsNO63KdwL5PX3Mg9/PaX0X3Slraq09MnxsY/1QSnAdjWlRfofujuo5x0rV3O1++YgG2Q1DMsEVxpuictxSDjKQcqOqEDQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U6DATZEZ/WLJuwqXpjASVnD/jHlyJDpbHIRntJX3p/g=;
 b=QJNBQaZaCU+Uuq8m1HCEBZ3JChWaIX51+Ijtd5tQrE+OJW+HySs9SFcf9BMc+2TNGX8y0ABYkd0WJcqcby4hTngmhQURR7B9XOAEZHGWYrGzPZ7VG57RSpl1XlY+JFAXjZXMcrIWbAn2fVTdYkwrQHpvG6XiM9JGzMdnJIX+451g14cV2Rt7wMR0N0dEl3xd+WiKhVvfXtFiYXW1xr8+y1xDUjv2CqK9yZH9AxwZAa6+8WI6cmNgpYAP22mApypfIl9pFoum56GsWW7zpj7wk33So/6MUOf7jMoZN9verrvG9L2qHce9KTGPdq7jM/06seufT5pxRV+n3l5BPti1FA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U6DATZEZ/WLJuwqXpjASVnD/jHlyJDpbHIRntJX3p/g=;
 b=DFHz8tlC6+/LAAqEJQ9RnAiBZ9yT4vXClmXpCQUXIl1an7TGa1S9NUGrRamDzww2W0/xD5YP7qPQJ9PjhoVovLHF/mDKp7WczXDFNSPPC8TYZeUF7oogDGuuVxCEvqoLmPBgFqwi/0M7rMTJeoUT3OGp5Gv/N+hY/l4MzUw91jDpy1KDMz0XIKBT57urMHhaFMiPYOtZRicUVlcwcwk2s9hIkAJv2TrhSIIEny7P/XOgP58eAjvoK9FQNCwk3G2TuNhgI6ZmQIE4HwTgIj3ov5Hv3Op8qMZ5Z9sgN9acAUl0AYEXB2Q+b5abvXcVtlTRXxURmAzJJOseyZgX2r3PtA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e0bf9d6a-5c51-352c-c773-092b5ec63130@suse.com>
Date: Mon, 15 Aug 2022 17:23:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 03/13] cpufreq: Export intel_feature_detect
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel <xen-devel@lists.xenproject.org>
References: <20220810192944.102135-1-jandryuk@gmail.com>
 <20220810192944.102135-4-jandryuk@gmail.com>
 <9dd6cb04-30fd-aaa3-5afa-02c4f3264f97@suse.com>
 <CAKf6xpvv8F9wuVNn2vqGo4bfO1ha9B5m1Ns-ydHESGRQD8a97g@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAKf6xpvv8F9wuVNn2vqGo4bfO1ha9B5m1Ns-ydHESGRQD8a97g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0115.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 94bfc4b7-0b84-4019-029a-08da7ed2198e
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3344:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Scl2UxP9LjXtSPh6rO+Vdb4UjBbSuM/SWNWj2Oa/zQsWeuAWxN75Wb4alK8ZI0T9HVlYccW6OCQQvkfpH6Qv94oQHBDb96cUs+HVr16hRtEVxCfg74KmDsTAFziitMwebbmLzW3BGamDWX4iOpNlh+tDcv7NnvjE1U6BICatm0YZry1Ym1pRSZLAuMz6poxGNRhysYbros37XQ+9bpLgZyPs6kvSj+BrH5CRj1uNlQCNocOTJMtVyTSu7NZra/2DJjTet8czhMBKFpx3YSrwMMRV7lDHKICCr6ius5UGN+gAxJvPMb59/2I4xW0mcR03cWnpBLQjstpiwarJLyk6TIGuWvxs7t/Ad8KnHYJUQxnGGVDMN66bKn6Q0euTGJDsoPiwCGmoWjyROzTdtn50OSelodIJFIdcfEl3Io2wX10e38JTywWkdJdhLKENBj4sx99r20PtOg7nzgoXk+pHtiCw641XmRzQv8f21ulbZigS+JLl4xx4Krfh+d0DOPKJGjf9aGtfSIX2SK8zGpuFFK6VPF4WMGmzL1aXwQ01ObrgBlviqIF1PsTFH3IRwZweFrbFuu8N/pGeh1I7/Fc6YpwW3k3rlRMt592tjqYEft0b194C6RTRvULgOq26VUsh5pbRRV/pPfAH2//ICO+aSDZmRasvyEH1AGHx0IoZGiqs5TxHmbWp6VpCsJLYYsXrmtb3SNgFG02kM6lS6kWXsCN7OBQkyz1xVgX2I5XBy7hKucVfHJfSpYx3UJt9nk5KpJxDepG8r4D7vhHafPtqEwH2NqPvUh2TUVFwi5yXPT6jJ3twugD3nBZx3Ekq+xPvH6y1AFZIjLo5YTSfN/1tkA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(346002)(396003)(376002)(136003)(2906002)(8936002)(4744005)(5660300002)(316002)(31686004)(53546011)(6486002)(6916009)(54906003)(26005)(478600001)(41300700001)(6506007)(6512007)(31696002)(86362001)(83380400001)(38100700002)(4326008)(36756003)(66946007)(66476007)(66556008)(8676002)(2616005)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U2pVVnQ0Vzdia1RjVVRaSDhCNXZRVHJ5cnpCUE5WOGRQVmkvVVZLeDdvMFJ4?=
 =?utf-8?B?UGRVbnBjZ08wVFZ2TDErSmlzQkRpYURJaElMeC9pVS85bDZsWWE2ejUxeEUv?=
 =?utf-8?B?WUxLa2QwY0I5djAzZmVTYVpxSWFGdDFsVTRVd3YvZmlzVTBldHNJdHA2KzlJ?=
 =?utf-8?B?VHQ1U2pmdmdYMlYvS2tpRHoxTUtPTDFpMktHdlBPMERkOFJ1S0RWSUt2c01N?=
 =?utf-8?B?R2pmbnVTZVZSM21Mc2FTTGlxOU1heEFWK1RqcEZXblREN2dLSzB1eDdUd1d1?=
 =?utf-8?B?STI3UEYxeHdZZ3ZOYmF2ZitXNGtzelRDWk40TkVUa3ZGbHBkYnhkOTlZYXUw?=
 =?utf-8?B?RmMvT3pvcnJVOGMwRXljd2RlYVRYWFFzTWxpVXc4S1RvQUV6dHhhRE5tcko3?=
 =?utf-8?B?NjZLOUd6YURvYUp3WEh0ZVNPZ005ZmJwR09mQ1dKMm5zaFZaemVvOHhBSkZI?=
 =?utf-8?B?dW4wV3NNZWQxOEpwQmhaOFo4U0hHRE1LazFrTkRScUFOSUdCSmlUMXN0NGkw?=
 =?utf-8?B?TGtkT1R1cjVTKzJTeGJzanViY2N6cHJqS3ZjWDlYZm1FUTNEQ2tjb3VRRCtF?=
 =?utf-8?B?Y3JKL2xyR2doMjJRNmFWb3NDT2xyQmxuZ2htMnMxS3lhZ014M3dQZTFPVmlY?=
 =?utf-8?B?eDlwK2VDOG9GR0ZXMGxiSnZ3OWxQNjA1M1QvdnZjYStUSkEvbHN6K0VPWm0v?=
 =?utf-8?B?SXMxYnVBS3BCN2RtZ1pRVVFOdE1EM3J3RGdCTjVHNVhyOTJFdnBzVU42Kzk5?=
 =?utf-8?B?Q3FEY1Nmdmd4NGw4MHlOMjBiSjRqd2t2NitWZEx3a3Vid2pZZm41MDhHVjMw?=
 =?utf-8?B?dUk3MWNXaU85OGthZlYzTFhlWnBwRE9GemswbnlYZHpCT29PK3Jyc3c4cXYv?=
 =?utf-8?B?Uyt1ampnL2ZWSDRNY0YzNUs4YVZESjU1ckJLRXJqT2U1cUduMXpoSmt0QVcx?=
 =?utf-8?B?VGFqc1RYWDZnR1NVQWFlc3k4Y0FMaHZPUXR4WExYZHhKTjBrbXF1K3Y2b2Jt?=
 =?utf-8?B?dmluRm5tTStkUzVZVjlsY1drOWNrTEpUc25Kc1JVMkhySHBYcEZOZVRLZkli?=
 =?utf-8?B?ZWJyL01iR0dRMTZBRVkyUzNaKzhrdnpMT0hBaUdYQTA4bnNtYWZxb1RKQXRQ?=
 =?utf-8?B?a04rb1BUTjg4NTdkVjBnUkFCQzg0TXk2QkdJSUJtZlF2YldEZGdENWhUUkhT?=
 =?utf-8?B?WVRONmJad3o4ZS9FR0RScmRnTFZQR2ExeldkdTNiS3NFa1ZSQS9oa0Q3azNn?=
 =?utf-8?B?Ti9Db3d3R2V2djRMVytpdHkrNGQrdnhybGlqanNhZDh0K1VINHNNTWNSeXVV?=
 =?utf-8?B?azh3ekpvMTc1a3dzMytranNVUnllbjJRLzdxV2k5dWJ2L05vQkZkYVh3S0tK?=
 =?utf-8?B?bnhRU2tGZytEMitwU0t2WDNSMm5sdGM3NDBIQWVobGwrdm1HbGdoeXVJTGt1?=
 =?utf-8?B?Rld0THVwL1BKam1oMzAvdlZ3S3A4T0dJQkZ5cW1wR0R6RWdGNDRsT3VtSDVT?=
 =?utf-8?B?dGdnajFoR01FbGNGMWlTTHVUcnlTZXJqbHVwelpHUzgxWE9tUDZ2Nm1yWFhv?=
 =?utf-8?B?cVRXbXJ0T2IwZUlxYW1aN1E1T0FsK0dYcXA2Q1hBdW13anJLYlFJS3ozSDRX?=
 =?utf-8?B?ZkV4V3ZLU05NRXJodHB5VmhEMXpSYnFwK1o2OGV1T1VrVG1od0ZYUGF4RHl2?=
 =?utf-8?B?Rlh0RU5uRERQWEVIM1ZUSkVIdExWNlVwaFA2V2t0VzArbHR4Y0pBYmlzam51?=
 =?utf-8?B?QWJ0OExMWXpmTi9tWnRXcXZ1SDRUUVZjeUxwd2dOTEVRTktvOFZCVUIxdDZ4?=
 =?utf-8?B?cmtEMjZUVll1aE1yaG5tdW02bnA2ekF6bjNwSkRrUDVwWGpLcU1pVFRZK1Bx?=
 =?utf-8?B?VE5GbTYxQktSQzhqTmY5dE1ORi9rWGIydmJDOStlbmVVNVF2TU05SFlaVmhM?=
 =?utf-8?B?eUxEdG1sbmY1elNDSi85end4SHBZNCtpTnJQMUNPNHduOExzcDBTWDFQQTdq?=
 =?utf-8?B?bFdjMnluR2k4aUdkY3VhcmRmZVkzejFaTm1Sb1gzQ295ejZBK2tUcVR6Vk9X?=
 =?utf-8?B?cmlDUytXSUxDRHJPbVdFNmd5cDhOVHk0UGZoQ1hNMC90eFlKU1FtMG0vVzJr?=
 =?utf-8?Q?E0UvXSs3znXd1vdggryXKM8oo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94bfc4b7-0b84-4019-029a-08da7ed2198e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 15:23:26.4565
 (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: mCxS+6tFrQY1arlfOE/zVanIAVuITPrlE/qHvB1S5dbnz2q7a1rANMioIWHnU2uCic6svKtrX9vEmlW8a93JyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3344

On 15.08.2022 16:58, Jason Andryuk wrote:
> On Mon, Aug 15, 2022 at 10:34 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 10.08.2022 21:29, Jason Andryuk wrote:
>>> Export feature_detect as intel_feature_detect so it can be re-used by
>>> HWP.
>>>
>>> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
>>> ---
>>> v2
>>> export intel_feature_detect with typed pointer
>>> Move intel_feature_detect to acpi/cpufreq/cpufreq.h since the
>>> declaration now contains struct cpufreq_policy *.
>>
>> I don't mind the new placement, but I don't follow the reasoning.
> 
> v1 added
> void intel_feature_detect(void *info);
> to acpi/cpufreq/processor_perf.h
> 
> v2 adds
> void intel_feature_detect(struct cpufreq_policy *policy)
> to acpi/cpufreq/cpufreq.h, which was selected to have the type available.

But you don't need the type to be available just for a function
declaration. For such a purpose a forward decl of the struct is
sufficient. Anyway - not an issue here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 15:25:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 15:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387626.623949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbxq-0008HQ-Ch; Mon, 15 Aug 2022 15:25:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387626.623949; Mon, 15 Aug 2022 15:25:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNbxq-0008HJ-9G; Mon, 15 Aug 2022 15:25:14 +0000
Received: by outflank-mailman (input) for mailman id 387626;
 Mon, 15 Aug 2022 15:25:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dGwN=YT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNbxp-0008HD-H0
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 15:25:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 744c93d5-1cae-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 17:25:12 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B56DB375AF;
 Mon, 15 Aug 2022 15:25:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 889DF13A93;
 Mon, 15 Aug 2022 15:25:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2lwGIFdl+mICeQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 15 Aug 2022 15:25:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 744c93d5-1cae-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660577111; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=V0R6SEiNk8qJpj0bv5l6nAJKgtmIYjRFQre7AfPEwQw=;
	b=C6S2d/7cQ0yVW/rZgBHXfBXcQRDcA6D4dutzN1sO0x2UDlCNkTlxAZrz/vU6lsu84+2E79
	SW664Gk36hNa++o5fdwSf2z7eHG7MckJFUVB5uxQkRB0/bLjoQ99TykBGQw6ozwXpn/HaT
	NK3ZNEx2qUkx5GavbdVMszc7NK0rrc4=
Message-ID: <937b0162-957d-630d-f05e-60ce5162699f@suse.com>
Date: Mon, 15 Aug 2022 17:25:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] x86: rework hypercall argument count table instantiation
 & use
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cc65eb5f-310e-b51b-71c6-17b93cbe7d0d@suse.com>
 <caea2bb5-a37b-8660-4a8a-03aa7476af35@suse.com>
 <63d22c68-6a0e-b135-67fa-23d067bebafc@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <63d22c68-6a0e-b135-67fa-23d067bebafc@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------8rlvbxQcCnZbIggDkFL1Fu8h"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------8rlvbxQcCnZbIggDkFL1Fu8h
Content-Type: multipart/mixed; boundary="------------0ZCzFz4ezZQm2PXpfLht2IgT";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <937b0162-957d-630d-f05e-60ce5162699f@suse.com>
Subject: Re: [PATCH] x86: rework hypercall argument count table instantiation
 & use
References: <cc65eb5f-310e-b51b-71c6-17b93cbe7d0d@suse.com>
 <caea2bb5-a37b-8660-4a8a-03aa7476af35@suse.com>
 <63d22c68-6a0e-b135-67fa-23d067bebafc@suse.com>
In-Reply-To: <63d22c68-6a0e-b135-67fa-23d067bebafc@suse.com>

--------------0ZCzFz4ezZQm2PXpfLht2IgT
Content-Type: multipart/mixed; boundary="------------GcOzcE23ncw8pn2F98GCV33F"

--------------GcOzcE23ncw8pn2F98GCV33F
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjIgMTc6MjAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNS4wOC4yMDIy
IDE3OjEzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjcuMDcuMjIgMTg6MDAsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IFRoZSBpbml0aWFsIG9ic2VydmF0aW9uIHdlcmUgZHVw
bGljYXRlIHN5bWJvbHMgdGhhdCBvdXIgY2hlY2tpbmcgd2FybnMNCj4+PiBhYm91dC4gSW5z
dGVhZCBvZiBtZXJlbHkgcmVuYW1pbmcgb25lIG9yIGJvdGggcGFpcihzKSBvZiBzeW1ib2xz
LA0KPj4+IHJlZHVjZSAjaWZkZWYtYXJ5IGF0IHRoZSBzYW1lIHRpbWUgYnkgbW92aW5nIHRo
ZSBpbnN0YW50aWF0aW9uIG9mIHRoZQ0KPj4+IGFycmF5cyBpbnRvIG1hY3JvcyAoYSBuYXRp
dmUgYW5kIGEgMzItYml0IG9uZSBlYWNoLCB3aGVyZSBsaWtlbHkgbW9yZQ0KPj4+IHJlZHVu
ZGFuY3kgY291bGQgYmUgZWxpbWluYXRlZCwgaWYgd2UgcmVhbGx5IHdhbnRlZCB0bykuIFdo
aWxlIGRvaW5nIHRoZQ0KPj4+IGNvbnZlcnNpb24gYWxzbyBzdG9wIG9wZW4tY29kaW5nIGFy
cmF5X2FjY2Vzc19ub3NwZWMoKS4NCj4+Pg0KPj4+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4+DQo+PiBSZXZpZXdlZC1ieTogSnVlcmdlbiBH
cm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPiANCj4gVGhhbmtzLg0KPiANCj4+IFdpdGggb25l
IHNtYWxsIG5pdCAuLi4NCj4+DQo+Pj4gLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNt
L2h5cGVyY2FsbC5oDQo+Pj4gKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2h5cGVy
Y2FsbC5oDQo+Pj4gQEAgLTQzLDE2ICs0Myw2IEBAIGNvbXBhdF9jb21tb25fdmNwdV9vcCgN
Cj4+PiAgICANCj4+PiAgICAjZW5kaWYgLyogQ09ORklHX0NPTVBBVCAqLw0KPj4+ICAgIA0K
Pj4+IC0jaWZuZGVmIE5ERUJVRw0KPj4+IC1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBf
Z2V0X25hcmdzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRibCwgdW5zaWduZWQgaW50IGMpDQo+
Pj4gLXsNCj4+PiAtICAgIHJldHVybiB0YmxbY107DQo+Pj4gLX0NCj4+PiAtI2RlZmluZSBn
ZXRfbmFyZ3ModCwgYykgX2dldF9uYXJncyh0LCBhcnJheV9pbmRleF9ub3NwZWMoYywgQVJS
QVlfU0laRSh0KSkpDQo+Pj4gLSNlbHNlDQo+Pj4gLSNkZWZpbmUgZ2V0X25hcmdzKHRibCwg
YykgMA0KPj4+IC0jZW5kaWYNCj4+PiAtDQo+Pj4gICAgc3RhdGljIGlubGluZSB2b2lkIGNs
b2JiZXJfcmVncyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywNCj4+PiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBuYXJncykNCj4+PiAgICB7
DQo+Pj4gQEAgLTY5LDYgKzU5LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjbG9iYmVyX3Jl
Z3Moc3RydWN0IGMNCj4+PiAgICAjZW5kaWYNCj4+PiAgICB9DQo+Pj4gICAgDQo+Pj4gKyNk
ZWZpbmUgY2xvYmJlcl9yZWdzKHIsIG4sIHQpICh7IFwNCj4+PiArICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIHRbXSA9IGh5cGVyY2FsbF9hcmdzXyAjIyB0OyBcDQo+Pj4gKyAg
ICBjbG9iYmVyX3JlZ3MociwgYXJyYXlfYWNjZXNzX25vc3BlYyh0LCBuKSk7IFwNCj4+PiAr
fSkNCj4+PiArDQo+Pg0KPj4gLi4uIGNvdWxkIEkgdGFsayB5b3UgaW50byBub3Qgb3Zlcmxv
YWRpbmcgdGhlIG5hbWVzIG9mIHRoZSBpbmxpbmUNCj4+IGZ1bmN0aW9ucyB3aXRoIG1hY3Jv
cz8gWW91IGFyZSBjaGFuZ2luZyBhbGwgdGhlIGNhbGwgc2l0ZXMgYW55d2F5Lg0KPiANCj4g
SSBkbywgYnV0IHRoZSBjYWxsIHNpdGVzIHNob3VsZCB1c2UgdGhlIHByZXNlbnQgbmFtZSwg
c28gaWYgYW55dGhpbmcNCj4gaXQgd291bGQgYmUgdGhlIGlubGluZSBmdW5jdGlvbiB0aGF0
IGdldHMgcmVuYW1lZC4gWWV0IEknbQ0KPiBkZWxpYmVyYXRlbHkgdXNpbmcgdGhlIHNhbWUg
bmFtZSwgdG8ga2luZCBvZiAiaGlkZSIgdGhlIGFjdHVhbA0KPiBmdW5jdGlvbiAobGlrZSB3
ZSBkbyBlbHNld2hlcmUgaW4gYSBmZXcgY2FzZXMpLiBUaGUgZWZmZWN0IHlvdSdyZQ0KPiBh
ZnRlciB3b3VsZCBiZSBpbXBsaWNpdGx5IGhhZCBieSBnb2luZyB0aGUgcm91dGUgZGVzY3Jp
YmVkIGluIHRoZQ0KPiBwb3N0LWNvbW1pdC1tZXNzYWdlIHJlbWFyay4gSSdkIGJlIGhhcHB5
IHRvIHN3aXRjaCB0byB0aGF0IG1vZGVsLCBpZg0KPiB0aGF0IHN1aXRlcyB5b3UgYmV0dGVy
Lg0KDQpXb3VsZCBiZSBmaW5lIHdpdGggbWUuDQoNCg0KSnVlcmdlbg0K
--------------GcOzcE23ncw8pn2F98GCV33F
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------GcOzcE23ncw8pn2F98GCV33F--

--------------0ZCzFz4ezZQm2PXpfLht2IgT--

--------------8rlvbxQcCnZbIggDkFL1Fu8h
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL6ZVcFAwAAAAAACgkQsN6d1ii/Ey+s
zwf+Lpq0K5dj8EhKm7Y+yIj5bYvx/UgN9sDpbsR0Pr95tpml0QOn8o+MqhRM1t+0Z1PLeHEBTrLv
a0+iyJ3n4lBtb/JsdA679jnQK981OiBuIrZLjJqfrSuLqrKZzqLSt+QgxBeGhNySmOlRVRTeIb90
UvAEgMTYWVo0uFFhJJta1jkEp9gWZd+fZxHXUGv3PWoRqrrMcCqIFCVJirLkicFaZ5+UrTN/YW9I
r3cyeUnCJrMRLxF97AD/LyqFBlhXEN0h+yme480fZAroyxJEYD29FvgZ7lXOdsrYlAAR5pkyc89p
UcI/+bxbhKPzeJU4pKmQkfV3eWbKnnfDSf4R+60qwA==
=0n2t
-----END PGP SIGNATURE-----

--------------8rlvbxQcCnZbIggDkFL1Fu8h--


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 15:28:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 15:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387636.623960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNc0z-0000V7-Ra; Mon, 15 Aug 2022 15:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387636.623960; Mon, 15 Aug 2022 15:28:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNc0z-0000V0-O4; Mon, 15 Aug 2022 15:28:29 +0000
Received: by outflank-mailman (input) for mailman id 387636;
 Mon, 15 Aug 2022 15:28:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1rB=YT=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNc0y-0000Uu-UH
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 15:28:29 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2043.outbound.protection.outlook.com [40.107.21.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e90a2a50-1cae-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 17:28:28 +0200 (CEST)
Received: from AS9PR06CA0191.eurprd06.prod.outlook.com (2603:10a6:20b:45d::9)
 by GV1PR08MB8155.eurprd08.prod.outlook.com (2603:10a6:150:91::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Mon, 15 Aug
 2022 15:28:25 +0000
Received: from VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45d:cafe::8) by AS9PR06CA0191.outlook.office365.com
 (2603:10a6:20b:45d::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.16 via Frontend
 Transport; Mon, 15 Aug 2022 15:28:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT061.mail.protection.outlook.com (10.152.19.220) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 15:28:24 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Mon, 15 Aug 2022 15:28:23 +0000
Received: from 9e78f5de13ef.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5224F011-C517-42E0-9A17-C52F901ABBF8.1; 
 Mon, 15 Aug 2022 15:28:16 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9e78f5de13ef.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 15:28:16 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB4210.eurprd08.prod.outlook.com (2603:10a6:208:108::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Mon, 15 Aug
 2022 15:28:14 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Mon, 15 Aug 2022
 15:28:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e90a2a50-1cae-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=OTYXBLbmlQEgo/g9sHXFCyLmLXe5DIjPGKE1tKMRTSve2iTIlXy8gXpuWsDFllwg1ZuIdQlI+WJsBJHpo3pUY+GPs46GNRcCB2b7ELF5q8wadntwPiKabxc8bzwtzwZq29f2PVZ13RzMyX0K54znp/BVJ6OE0+NcRoWKglZzD5UBIN8yG5hp9QiHH4OAnfy7fi3UTLsu43n3NfMYSckhLDyKWiDWk0mf7hEMzTRznw6t2OmjRFD7yE/3pFKdfp3e3ZXxT4dK8XeJJaNHyXx/9ggaI7pCTgQ5se8soBIbOdbmh7qH1QnfoUxorfms5qcfQEqkMvCmjv4Dx/KAvIBafg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ocm9Y/BX5RQq8BnWrPndfckZxYD0NJjTZS4toOM1YdA=;
 b=DbyFsyArKoDo6yWXg21DjGhmyPj4BBM9I8PYiZGU8DXAYB6V/Bae4al7Vsvec9qgGTRNP0i21RJ1hdHL9Qq5jmRvt6xhBr+aHhLMr8ny2gXXRcfrSv8x05q2eYUH7MO5y0CkUocu5910uunyW4j72OifyIwgm06otXHA5BwUaF2FDmSJk14jKqkdyQYk5kjswcQrFI1qfUwtdLy7nK1sYPkTr7K+eHxqsekWLM6LLNoUCjyP+2nFIIUL3neMA3GAbnL0i6CzB0TIi1+KPGw0fXqXJrwAMpLv9ysor0l1wYZT+LyuPvd+32h1p7XOPspFISYCFcHdkwV2DH195DXeGQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ocm9Y/BX5RQq8BnWrPndfckZxYD0NJjTZS4toOM1YdA=;
 b=sGwNtG6+Blu+uNEd3Bq6T9mzzDYAz3V7ZS9jjA8e3oGXPodFZjwgFHI83JOGLArXPSi5UhDNF9CIO5A4gTd0X3ZBJJgiAYAkZT8H3QTw0r7WuKNKn5m22rBADFpekDJVl7oFjiOF3lZ/6Mtekyps7r3y/mGfsrv1aHL/is9rvdk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: fdeee46e0ca5c0fc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VbAr3kBt2Sl8GUtlaejHEuDlXTL0frji9h9HCB01C4Ml1I6QuQc+D8b1MrMbrUanhVVhjite/orYswN3EelLYFJVytjghSYXoq51n+5hgkMfFvwlqVJm0dueOhUMteCN1AWCcxj76QB3ogEml/sDUyM8gnBH0eN4TgME2vv0LCe9BGrTSN1PQ9p7vIAnKkDoP7wLRqEb/Gjt7BAYdYGJb2x2VHAmjBS1OHBPixohK10d1+nyF5myMv//XbV1ZeBsE9uZI//Aff3bVCMAjKjNrTDlqhXrhdpe7u+tbR8n4svSIWwWvdzAs2ekcal7J7p7Wopdek/ZVFm4TWAran620g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ocm9Y/BX5RQq8BnWrPndfckZxYD0NJjTZS4toOM1YdA=;
 b=GJbzYEoYv3qmdMe14ppDyCrH0GRiobP4WTMHtx0D2PKXa5c8czU1A+YkdhZkZ5+QCBVJ5y0YvFBKe71UBPMzNCBe1Bsh3uLDYd/qje+snCvC221gcqvNynu+/OatI8Awkn6lENTXXLntwvX8a2ciQ/ASFEMALZ9bgkyOZx5fROvQGP7TCQNin75tBsDHJ++ET5y4nIL3HLPATswfttjRrUmzTM8/ZfLuXXSPDdsdAJjlLSRe++81WEBA74eRN1ad+OeMiYoNKeB1ceIgTtQtVyE0oKJsoYJ8QMZR/ATQD8AcCbnL4i6XOaLEq0evZqhmyYOb4UqeCKKo45p8FEAdJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ocm9Y/BX5RQq8BnWrPndfckZxYD0NJjTZS4toOM1YdA=;
 b=sGwNtG6+Blu+uNEd3Bq6T9mzzDYAz3V7ZS9jjA8e3oGXPodFZjwgFHI83JOGLArXPSi5UhDNF9CIO5A4gTd0X3ZBJJgiAYAkZT8H3QTw0r7WuKNKn5m22rBADFpekDJVl7oFjiOF3lZ/6Mtekyps7r3y/mGfsrv1aHL/is9rvdk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 4/7] xen/arm32: heap: Rework adr_l so it doesn't rely on
 where Xen is loaded
Thread-Topic: [PATCH 4/7] xen/arm32: heap: Rework adr_l so it doesn't rely on
 where Xen is loaded
Thread-Index: AQHYroFEnhiNblCzmE6X2LNZiEt2p62wGkGA
Date: Mon, 15 Aug 2022 15:28:13 +0000
Message-ID: <5AFEC486-EF58-4318-AEA9-811E66C4F0F9@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-5-julien@xen.org>
In-Reply-To: <20220812192448.43016-5-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: f1759b39-0b86-4114-dea0-08da7ed2cb43
x-ms-traffictypediagnostic:
	AM0PR08MB4210:EE_|VE1EUR03FT061:EE_|GV1PR08MB8155:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 GycMbOh4kjts1WAyKTJtE10YnV9bun41QyNMvTEwXz3ZgsrGHM9NXSMW5rkPwvDc1NO6TkRWnzElVjjB8Ko8CXZopW2HuCP2OqCfVICZF5QtPK6RBW8JOSj5DJTyRKeDBlj8UKvwfNhaexrsCKj0E+kvCSPfNFvfpWC94LN9pga6pk6W8QkKkdSqgHYdgblIhr9QPNGB4HotqZiG8cQpjWh9LXJmgEDCv/hmX7VoPjwOXwKPsy2buWMpC5vRh7RegCJz+4oec96ns/JzLujLssiD10T4bPu6F3CSJ298GNsjN54hREj0XUpMgLWLMA8G9v0qjVOlDuoWbbmZ8PzvMpgttp3M5JBBkkNw5nTR9/KURYCskkbHDW/pI2Kq0qbGKsRaLZ1OW4fXJnLrTFMV1buOf3WMqY29IeZXF0zpps+Ns+nCR/P3tgeQurOOtg/RVFytz78aNJG0j57kIyB+lDXHkRzh2jLCJLZjYPnSvZc3LgzvYTez31IrEyyeSu6+a3Y7tYf4aVJRJ2on4yX68x5YyjgRsc+D0vioaULN89+3DskGJIZoxETaoMnv6cX9jfEmiN02fgOfKer9USYNQ46daP2S5bS1KvGshcW6zA5w8aARXwMKVN3PRQSe95XnSwbgA2+8VnzJhN5zYf6CXun/OPpnUdDh8Y9QzC1fr4A/SXE+0zUZcoWNlKFeEW/IHZzsPboKbiROgPmKN1CijSNiXHYOQ14xhrlbSNhUyf+8/BVl5ae+eyx6RbtETHRvZdcYaN4AXwcwzuqAr9XjeIi7Aida/H4rSQF66xtOrnFd2iVwkO3uHaGtXpMLDawlJIQl4FoDufRY9drNgPQYZQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(366004)(376002)(39860400002)(396003)(136003)(8936002)(26005)(66946007)(91956017)(66556008)(66476007)(66446008)(64756008)(8676002)(6512007)(4326008)(53546011)(33656002)(5660300002)(2906002)(6506007)(478600001)(41300700001)(186003)(86362001)(83380400001)(6486002)(2616005)(76116006)(122000001)(38070700005)(38100700002)(36756003)(71200400001)(6916009)(54906003)(316002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <E8BC8F54C454FF4F8E2C3EA68365BA58@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4210
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c3ebf85b-2b49-4e43-c67d-08da7ed2c4f7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BXA0g138wnyE1IIprDD0E03S9rL7BCgGiesMz4gutpRBf4DYqotvHrNSOjOYywnsFjFQHW8vfnddDS6UiweJrTRoAQcPzfKihLVRYfnh/NpJxtWdED75rm8jsujLkFw+hP2hosOniEZuEmgiKqbhKioWzxMSpzbpp3Ef4o3KIcuz29abs4XqTracSVSbpZqXai9f19YfgGGFL3l5GBwxcIUVkB+soBDuv2uu7bUtnjBALYRdRRr4770jYvMSibGrUwVg+Ghxw0HJGXROxdchRJn9kc0men0r+lvfXgixmg2AYv+scBV33UiUH2dyo68fzm4h8ypji7LIYkk2ffDIJHW0XuJf0TL/o612evkV3XHJC6vk3sRCGpvElP7CXKkTwPBiZTcGDbgLpc1M7CFOO1R5o9HzldVuF6+LL+F6nWnRvgjctRMS2hjjk6Z4Al7go2BETG08/IKRhHpqEG550VfCgqrnqLGDp8wLzTYrs6pfMaY2dbtKuUxsbW6DA0XtnXA8EJTOetTwZpDyWPVqsiJnah7W3Vuoufab/8uxa7qp0NFeCQQwXkOJqObj3z+tzi0LkO2ab9rXBvkHbyOk/KtNwD0DWn0WxYrEFU11/B40OX2KWqGs4yi9wlUFNgRez1TOltykae87dhqF2Cr2YoR65sPtQN4KXcB+zIwjBvV7Oo4NzO3I4uTA6gqnlt2TU6K40CaasUG/vlcVoenfw7lUyw+pGrPxmDdPHJNv2+6BuJ2WWM+WBIhmgc/ixKJxdI+ANheaOlaYbQecJTtrynhdQiabUfnqNmnkL946iluO7aerACk1fZFlqB+CCXNY
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(136003)(346002)(376002)(36840700001)(46966006)(40470700004)(8936002)(36756003)(6862004)(83380400001)(47076005)(107886003)(36860700001)(2906002)(4326008)(8676002)(33656002)(70206006)(70586007)(5660300002)(86362001)(316002)(186003)(478600001)(41300700001)(82310400005)(40480700001)(6486002)(6506007)(6512007)(26005)(53546011)(54906003)(336012)(81166007)(82740400003)(40460700003)(356005)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 15:28:24.3238
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f1759b39-0b86-4114-dea0-08da7ed2cb43
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8155

Hi Julien,

> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> At the moment, the macro addr_l needs to know whether the caller
> is running with the MMU on. This is fine today because there are
> only two possible cases:
> 1) MMU off
> 2) MMU on and linked to the virtual address
>=20
> This is still cumbersome to use for the developer as they need
> to know if the MMU is on.
>=20
> Thankfully, Linux developpers came up with a great way to allow
> adr_l to work within the range +/- 4GB of PC by emitting a PC-relative
> reference [1].

This is indeed a great solution :-)

>=20
> Re-use the same approach on Arm and drop the parameter 'mmu'.
>=20
> [1] 0b1674638a5c ("ARM: assembler: introduce adr_l, ldr_l and str_l macro=
s")
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

>=20
> ----
>    I haven't added an Origin tag because this is quite different
>    from the Linux commit. I am happy to add one if this is desired..

I think the reference in the commit message is enough as you reuse the
idea but not the code per say.

Cheers
Bertrand

> ---
> xen/arch/arm/arm32/head.S | 38 +++++++++++++++-----------------------
> 1 file changed, 15 insertions(+), 23 deletions(-)
>=20
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 50f6fa4eb38d..27d02ac8d68f 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -49,20 +49,16 @@
> .endm
>=20
> /*
> - * There are no easy way to have a PC relative address within the range
> - * +/- 4GB of the PC.
> + * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
> + * within the range +/- 4GB of the PC.
>  *
> - * This macro workaround it by asking the user to tell whether the MMU
> - * has been turned on or not.
> - *
> - * When the MMU is turned off, we need to apply the physical offset
> - * (r10) in order to find the associated physical address.
> + * @dst: destination register
> + * @sym: name of the symbol
>  */
> -.macro adr_l, dst, sym, mmu
> -        ldr   \dst, =3D\sym
> -        .if \mmu =3D=3D 0
> -        add   \dst, \dst, r10
> -        .endif
> +.macro adr_l, dst, sym
> +        mov_w \dst, \sym - .Lpc\@
> +        .set  .Lpc\@, .+ 8          /* PC bias */
> +        add   \dst, \dst, pc
> .endm
>=20
> .macro load_paddr rb, sym
> @@ -383,7 +379,6 @@ ENDPROC(cpu_init)
>  * tbl:     table symbol to point to
>  * virt:    virtual address
>  * lvl:     page-table level
> - * mmu:     Is the MMU turned on/off. If not specified it will be off
>  *
>  * Preserves \virt
>  * Clobbers r1 - r4
> @@ -392,7 +387,7 @@ ENDPROC(cpu_init)
>  *
>  * Note that \virt should be in a register other than r1 - r4
>  */
> -.macro create_table_entry, ptbl, tbl, virt, lvl, mmu=3D0
> +.macro create_table_entry, ptbl, tbl, virt, lvl
>         get_table_slot r1, \virt, \lvl  /* r1 :=3D slot in \tlb */
>         lsl   r1, r1, #3                /* r1 :=3D slot offset in \tlb */
>=20
> @@ -402,7 +397,7 @@ ENDPROC(cpu_init)
>         orr   r2, r2, r4             /*           + \tlb paddr */
>         mov   r3, #0
>=20
> -        adr_l r4, \ptbl, \mmu
> +        adr_l r4, \ptbl
>=20
>         strd  r2, r3, [r4, r1]
> .endm
> @@ -415,17 +410,14 @@ ENDPROC(cpu_init)
>  * virt:    virtual address
>  * phys:    physical address
>  * type:    mapping type. If not specified it will be normal memory (PT_M=
EM_L3)
> - * mmu:     Is the MMU turned on/off. If not specified it will be off
>  *
>  * Preserves \virt, \phys
>  * Clobbers r1 - r4
>  *
> - * * Also use r10 for the phys offset.
> - *
>  * Note that \virt and \paddr should be in other registers than r1 - r4
>  * and be distinct.
>  */
> -.macro create_mapping_entry, ptbl, virt, phys, type=3DPT_MEM_L3, mmu=3D0
> +.macro create_mapping_entry, ptbl, virt, phys, type=3DPT_MEM_L3
>         mov_w r2, XEN_PT_LPAE_ENTRY_MASK
>         lsr   r1, \virt, #THIRD_SHIFT
>         and   r1, r1, r2             /* r1 :=3D slot in \tlb */
> @@ -438,7 +430,7 @@ ENDPROC(cpu_init)
>         orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
>         mov   r3, #0
>=20
> -        adr_l r4, \ptbl, \mmu
> +        adr_l r4, \ptbl
>=20
>         strd  r2, r3, [r4, r1]
> .endm
> @@ -468,7 +460,7 @@ create_page_tables:
>         create_table_entry boot_second, boot_third, r0, 2
>=20
>         /* Setup boot_third: */
> -        adr_l r4, boot_third, mmu=3D0
> +        adr_l r4, boot_third
>=20
>         lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
>         lsl   r2, r2, #THIRD_SHIFT
> @@ -632,11 +624,11 @@ setup_fixmap:
> #if defined(CONFIG_EARLY_PRINTK)
>         /* Add UART to the fixmap table */
>         ldr   r0, =3DEARLY_UART_VIRTUAL_ADDRESS
> -        create_mapping_entry xen_fixmap, r0, r11, type=3DPT_DEV_L3, mmu=
=3D1
> +        create_mapping_entry xen_fixmap, r0, r11, type=3DPT_DEV_L3
> #endif
>         /* Map fixmap into boot_second */
>         mov_w r0, FIXMAP_ADDR(0)
> -        create_table_entry boot_second, xen_fixmap, r0, 2, mmu=3D1
> +        create_table_entry boot_second, xen_fixmap, r0, 2
>         /* Ensure any page table updates made above have occurred. */
>         dsb   nshst
>=20
> --=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 15:42:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 15:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387646.623974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNcEF-0002si-KJ; Mon, 15 Aug 2022 15:42:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387646.623974; Mon, 15 Aug 2022 15:42:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNcEF-0002sb-G1; Mon, 15 Aug 2022 15:42:11 +0000
Received: by outflank-mailman (input) for mailman id 387646;
 Mon, 15 Aug 2022 15:39:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ks0i=YT=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oNcBW-00024h-8i
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 15:39:23 +0000
Received: from mail-40131.protonmail.ch (mail-40131.protonmail.ch
 [185.70.40.131]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d5b6f6a-1cb0-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 17:39:20 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d5b6f6a-1cb0-11ed-bd2e-47488cf2e6aa
Date: Mon, 15 Aug 2022 15:39:09 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1660577958; x=1660837158;
	bh=Dinaq/2EQJpOLTRJfq/mgMEId0V3Twn/IOfIbd0kCkc=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=HA1yLa5hPecBsJ2tE2n4kLuvkB43jUHiTdIiVPiy+vHdF66vv1e1Hd7pLCNxCqZ94
	 CLVNCm5QfNtaJgiCIIEbVKOHfzf5NXGexJY5VHShsH24L0/g19GWvNaxsn6vESf1QQ
	 3vNOY4BBFoChA0+/mFcJm8iaCVHBfXpvTlO4QqIVxRVu9esfhJ+p6iQKiqhdWkANN8
	 MFiTMq0WcpVqWd1ZOXvGNMkb+iauKjAQRhU3+q78h+oOg1w/GlL/efN4/oxHp6eFrO
	 YCJv8JWO1BYpkHllib6eqLAzRufOCdl/H4RMOPAW/pQbDeSCw/6sPkAReTTbXa3sYN
	 iSKFUZLHCjEOw==
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
In-Reply-To: <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com> <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com> <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com> <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com> <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com> <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_c4PtztF4CuQD0vTlI5K7JsApykI4UoviQSXzOdJ0FU"

This is a multi-part message in MIME format.

--b1_c4PtztF4CuQD0vTlI5K7JsApykI4UoviQSXzOdJ0FU
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

> Append `,keep` to your existing `vga=3D` option for Xen, and add the
> `noreboot` option too.
>=20
> That should cause Xen to write its backtrace out over whatever was on
> the screen.

Hi Andrew,

Great news! I managed to get it to log the error with your cmdlines

Please see the attached images

The error "BUG: unable to handle page fault for address: ffffc90040639019"

It appears to be a memory violation error?

Thanks everyone!
--b1_c4PtztF4CuQD0vTlI5K7JsApykI4UoviQSXzOdJ0FU
Content-Type: image/jpeg; name=Xen_Error_1.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=Xen_Error_1.jpg

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

--b1_c4PtztF4CuQD0vTlI5K7JsApykI4UoviQSXzOdJ0FU
Content-Type: image/jpeg; name=Xen_Error_2.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=Xen_Error_2.jpg

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

--b1_c4PtztF4CuQD0vTlI5K7JsApykI4UoviQSXzOdJ0FU--



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:04:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:04:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387658.623985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNca2-0005sq-Na; Mon, 15 Aug 2022 16:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387658.623985; Mon, 15 Aug 2022 16:04:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNca2-0005sj-Kv; Mon, 15 Aug 2022 16:04:42 +0000
Received: by outflank-mailman (input) for mailman id 387658;
 Mon, 15 Aug 2022 16:04:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cwKL=YT=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oNca0-0005sd-HG
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:04:41 +0000
Received: from sonic303-24.consmr.mail.gq1.yahoo.com
 (sonic303-24.consmr.mail.gq1.yahoo.com [98.137.64.205])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f59261fc-1cb3-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 18:04:38 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic303.consmr.mail.gq1.yahoo.com with HTTP; Mon, 15 Aug 2022 16:04:35 +0000
Received: by hermes--production-bf1-7586675c46-klczj (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID bff9f0204351eaed002b73cbfd01432e; 
 Mon, 15 Aug 2022 16:04:31 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f59261fc-1cb3-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660579475; bh=sYAAhX43MCCsbni+t3ras/1mu65BWwozDfG3fjXajrE=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=uIg3pIhy0YdYlJImLiEt17URoe2yHezG0c4Quwo1U/55CteT8PaXlscpd4MvRpYS3rd+4qmsrzvntNcu6GSbEb+6OEjxWyg/Gpt7Didi++hdGF2C0ORcmcJ+n1IP3swFnkA5I4sapMUglmtAuWA4m6rVDXQRQQLDLKVWRZ/p1OFcBb9sqbj6cHm6q5+QEENIVOjSQ4c1VHRYnLuzeKviiwkZ6kN9aWbX3BL5s9KZxs+LqtvhZzCN0n6i21OLJXvTOhJ3fKvuMXN51rVKKWlAn4+3Q2Sop6cbG9Jme3wyMpsdKN2N9MeLsVH1tXv4rifoIncoLctU/xUJWRL4QK7/4Q==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660579475; bh=ybL5Mt+yaL5D3vUzu/vdv9kPx/lGJ4wGmcberhf3Pcz=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=jcqWWIhITjFqDRC6iVb346l6/0Wo3eXkRjYKJlMPm0ZPbn+iyVg9wy700o1DlE1sLpQmBUdnPZ4hUSEg/NZj1pIuYetbCc/wS+u+YWjmK4NH2ohrWLn2AMC2KNIypw1DCjsCo/tSUxzaLG4ZJ4ULf4KuIJnDbXjK6eCqozSXq0+DseQd3wl6ir4gExpqDPXHbWwg6gv7nMJ2lbRDQd0ijk6pZ2BnWvsMDRojS0uSb6sziOJ3lxtqq8bCt/YmYgGdQ/iPuKF0/LLQQRoBpX8mrdYIngmqfwRBWxI9+vQDmNrvmUsMZC3ecU9OIBKJUfIVr+iLNxQxaNm7ZA/+u3u/XQ==
X-YMail-OSG: Lw1zKVAVM1lDEiCu_ta3TH3pZkDKTW8Uh.c6sfZ.0cVbYSFp0QtW.XesvgtZlOc
 lyYzVrT.fWxCJoaRhcd6s8MiFC5XrUPFvVdefRbA2_ntdK1Kgfs3z8qvHlnTAWqm9RG9QRLVfhbz
 focPQsiWtVBGddj9qzsgBS.4kIIjZQWOT2p1v4QI3ZdS6PpVSObCHhTfgoISo6ZSSfB3jrcZ5pXK
 k4gFy.GbkrvLtwKyOJ_zXWyg9TVpryuCLjOcm1xVYP4s.7yWyQmzpg3u2y9RilLQseHxLWdlIHxR
 4aLUjcZkHt1oumxgMPBaWR1aRZk526wc2A10CyqZyf2dOuVvUf6XMUsiC9NZbdx0I62XIXiFGqev
 5In48r9mSwTqyFL1m5sRugxttH4c.HqsTe0s38WuPGdEzpwko.VxvNzlOoFtukS3MgJ5i2kdhioO
 iE4C4.2kbkdOnki2Y1A009kB_oVECiDId0weTBzhlyOaam9lidznf2gaJ0qGRkDK6WtlsVTDAJqG
 ALfd5SijJiP9gUts.mA4kBtYVmOPxcV5XH6y7PfksPqlGVOiRefUCh.omWiKDX9ljs0YvcSFtjWH
 Bf.VOxR7ryEIWgo6qldcExG8XzoHFLaPE5x3CGF0UENqNM6xH3aXXWOGBNW2dZQ.nrW5bo5rXkbs
 5IIsFrgVtxg7FVLt3frGheUZp_XgTuGfFC4gFeOytR688SqvINifKe06Jbw79AsW9trR1cK8HkAs
 4ced5VVl7tag8pXeUJObT2reYGO4ulFJ9Dvs.D8wngi5rENzAn9l9d4KoRcQulNzEHR6RaENFbiz
 AHm460wXj18ni1Bqm5XehXM_mCDrFgTASBEfqbrRiROR.NISmKz.wzwIzCCT8Fm06eyGyCOstRSG
 L6NYDGyCQTwz5dxgwsy3y0IYmdsvTUGKr1r6DbdZbm2zc3.olBD2YNq5nrguITkRWsQ6nXql5MDa
 E4YPqV4uUdfatcfywIT57xPFmZ7D6HybWsANaUxFfiPtb_RyXlPZdi4gL0I2onWOtP3b.NoYBtGb
 54qnFVCo8McoSSmS6leV9JEAF4z_BmtqV68ByCDjqvXzEQDkdEzz3xjDvq7lChVpjP0aeIUr0TS7
 pqyPSiogtgxMm_.C.X7_VeS1FsB1e4LsME2BjTVTbjcLTfTHMUxM6JHX7MxsxiSOAja1va5bgp7q
 N.osY841hGeXFWfSDJSAY.7q0CK8R1gSm_ruELxIUgnpgYVyRUQ3WdAQTN_3pavpK679unj7SAvX
 uOaetmW7SCAP6DIpGph7c0Hvb0MzC8_lw7WnEgYB8owurh6MiutxCKRKsVKb25b2bV8QnH3LUbFr
 vGYkX91K.lWVCB0OD3XO0fdpWev8aCEkd8eBwLs9egLDpiGL7szljDVCQImtzbeQGuHrOgl5AANw
 ytSdmsIvJvaSd5m1CuR3a_X9EfDUeUG3xoxz8eQZSOI.WPfdghQ5mq_PX_CsRgv1bMBdd99IjqXG
 qKCGzh5Zt3vsyqbsgUK0cwIIgcJD73dhII0ME_RJTciCpmGzRUfAQJHhUz_rT7nd_ze.lZ68ZJ9U
 nKOnZejm7_y1UxHlDJy4uDi2OlAu09J2pe4kH38wEmdRNxZt0UnheZmyzu9ckz15.iAE6LlucYlZ
 te9XzbVq31Y03uPqEENg02sQwtSURkWQT6_VD0mNgHqoV9vtYsigcZ_grZA0xbKhYKmpGDE4e.ev
 w.aAWMcVK7t02sIgfiO8To7oUmMZaE4n9Fan5PU20hV5_qyUw2kb0lQxVV8LeW_T2SLa1kCzWyU4
 AxIXX8E_yBiwPXG5Pjd68lZB2Hcuc5SGIROivjZzi55P2qiCQmlUCiOShQXR5m3vuizquDQ9AFcR
 qfFv6R4q_23TzDek11jaZVOkH.hlVuFgSsmcvbkDeevdP5Q.SZSZ86QSSqfl_z6MRbHc2rjK4h.2
 8MixQT2Nq.8U8ITlKTvhnO9VsR6fkN2ACevUx_7IX.wQuuJ5r7m5FlGU4xbcWPWFS3lZVunLMCP6
 eOHaTIjhrIVpFntw6rs_t3TV8lh4wi0fAyqO2bkEp7d0Zu3H1p6cCm5DP0oO.bbcVmskOx7XLHH.
 d0QmfBh8Tc0BJc116ZImQ2QoTePEsTNlUc66Rh7DAWE8VQMc1Fsa3g4PCAJJyjlM6s7mqCLMIT4M
 FLPHLzs26s0C4133qMiS6ULyWNwO5s8tjVaRCIrNUdMS0wWr96BxpsxzfrHx4mdVbb6BpW.cRPcz
 .0ThTFXHoDhmJmgB3pIQTXR05Zd6h
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <907702d6-05f0-0f2e-6dba-399688972b40@netscape.net>
Date: Mon, 15 Aug 2022 12:04:27 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Thorsten Leemhuis <regressions@leemhuis.info>, jbeulich@suse.com,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Pavel Machek <pavel@ucw.cz>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <4688ee9b-1b18-3204-cc93-c6ab2ce9222c@netscape.net>
 <YvjFY1dn2Afg/mFj@kroah.com>
 <22bb6f38-c319-35a1-cf8a-07f78904ecfb@netscape.net>
 <YvjyNdH+X0dwjj+f@kroah.com>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <YvjyNdH+X0dwjj+f@kroah.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 2001

On 8/14/2022 9:01 AM, Greg KH wrote:
> On Sun, Aug 14, 2022 at 08:08:30AM -0400, Chuck Zmudzinski wrote:
> > On 8/14/2022 5:50 AM, Greg KH wrote:
> > > On Sun, Aug 14, 2022 at 05:19:12AM -0400, Chuck Zmudzinski wrote:
> > > > Well, that did not take long. Juergen responded with a message,
> > > > which is encrypted and not delivered to my mailbox because I do not
> > > > have the PGP keys, presumably to make it difficult for me to continue
> > > > the discussion and defend myself after I was accused of violating
> > > > the netiquette rules yesterday by Boris:
> > >
> > > The message was signed, not encrypted.  Odd that your email client could
> > > not read it, perhaps you need to use a different one?
> > >
> > > thanks,
> > >
> > > greg k-h
> > 
> > It's not that my e-mail client could not read it, there is no evidence it
> > was ever sent to me.
>
> The To: line had your address in it, so it was sent to you,

Well, that only proves the sender, Juergen Gross, intended to send it to me.
So far, I have not found any evidence the message was delivered to my
Inbox. The evidence I have obtained so far in my filesystem and from my
e-mail provider and the messages I have received through my e-mail provider
is that the message was never delivered to my Inbox, and based on that
evidence, my current theory is that my e-mail service provider silently
dropped the message because it was signed. I will report the full findings
of my investigation here when my investigation is complete.

The only way I was able to respond to the message was by downloading
the mbox file from lore.kernel.org and importing it into my e-mail client.
So it is a fact that it was more difficult for me to respond and defend myself
against the attack that Juergen made against me because I had to go to the
trouble of finding the message on lore.kernel.org and import it into my
e-mail client instead of just using the ordinary procedure of replying to
a message I received in my Inbox.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:13:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:13:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387665.623995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNci7-0007Jc-Hv; Mon, 15 Aug 2022 16:13:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387665.623995; Mon, 15 Aug 2022 16:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNci7-0007JY-EP; Mon, 15 Aug 2022 16:13:03 +0000
Received: by outflank-mailman (input) for mailman id 387665;
 Mon, 15 Aug 2022 16:13:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1rB=YT=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNci5-0007JS-By
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:13:01 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70081.outbound.protection.outlook.com [40.107.7.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21c5c24a-1cb5-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 18:13:00 +0200 (CEST)
Received: from DB8PR06CA0059.eurprd06.prod.outlook.com (2603:10a6:10:120::33)
 by VI1PR08MB3181.eurprd08.prod.outlook.com (2603:10a6:803:3f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 16:12:57 +0000
Received: from DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:120:cafe::b7) by DB8PR06CA0059.outlook.office365.com
 (2603:10a6:10:120::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Mon, 15 Aug 2022 16:12:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT037.mail.protection.outlook.com (100.127.142.208) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 16:12:56 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Mon, 15 Aug 2022 16:12:56 +0000
Received: from 64cb9d523fff.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B3C8E705-505E-4B85-9E5C-6A13C04D7391.1; 
 Mon, 15 Aug 2022 16:12:50 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 64cb9d523fff.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 16:12:50 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB3889.eurprd08.prod.outlook.com (2603:10a6:208:107::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 15 Aug
 2022 16:12:48 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Mon, 15 Aug 2022
 16:12:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21c5c24a-1cb5-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=kMnGMvFydj6MAQkHbAa5zpXReJX7fbmjVjAmvzDmaBrqzAbJSJizqMu7IElG7h7t0k4WO4CEL5iviZx6DpniEqoqhoEbqw6PEX/3a3Pwr0fGmb6DO/UKU3T27NHlXWNW7pKSW0fsqRdqMLoIoWai/5FU4bOr67TE6xBncTWX6MJzS3Xj7jVImbVBkzC8jqCvQ9W2bT3AhyFb4eIr9fPCIlSRYcCiUj6kI9z0Px5KwTlMP2eN3yXKh64IV6/luCGhx1PYT4pbqJW1Lt/Ph/fUZgrf8Uoz+M7tvMBXVtAh8XxDp7NCA/cX+TDue0cGWZ5jpVYMo2N43185lLSAJ8pD4A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zLjzj+P0SSvc2QVxwimUuoqsu/cLdbLeS9hyfM5SieE=;
 b=gCsaRImJemPftVePqp9BNAbYvVHz15515Sl1zjzvUtR8vgVpuiFrQcjPU4wpqtSAxCVZm7xRgI59V2JuLICzwHMZhrJ53L7TuON04aykX3pDk+W4dCIlWnFYyzLZP9xacCI0SVohU1JVaEsb4geDAWrAc963o+kEfpWysPekPtTouXMzXaetXuuP4YQHMoisU5rxu9Ey+REsh2s1nyxeL3fK1jc9NYpUOqXPws6DrB7f+zrlVELNoZgvk/9cd76VSTAc5hNltLHZhJ791hqmW6qcsHpnh0VwVVFMfNUPn3dfhLjvxqwjaRmQGpfF8dsW7ucTtNcP0kkuVdCOWlyxJw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zLjzj+P0SSvc2QVxwimUuoqsu/cLdbLeS9hyfM5SieE=;
 b=fRB0PMdCqftqgCidUE1ibov1D7tK/ebcul6T3fsR2zuknF7EnKDrAWGph+dpsfRJuCWBQSxblBDLqrvuviijpUbjOZe4tBckB/WwrdHiEaCAzT2GojP7JTxIValPJI6UfSTC+njXI77N3ag2XczJrnKhl7/tcBVwhLODvSC4m1o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f8d2bb80e4a83218
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=egTxF5RLLNFl/uHdTAnCFPzFoD3No7JIL7pr7Kcmq5yGIgDDr4+17TW5/4ySwezjC5v4e2db6tWccqWKsZHxwKvTFhLbZTxlcwRVJV7wq7zaNuVH8HzbUvu2LE9J7xalNg9IITGB1kB9xT/Db3qlYOpKvxGze/G9z0Xff+9CDYkIpTHRV2au8/0SvCkS1w/1vgyyxOyZU2i2b3+MLbMPfnl43ClC0nKiI8VTLvn4Zc4FpzfWfa0zaZevh7v94R+kcIRgS6RfyrBsd337G0IvY+evqa5Z7Ielp7ISU4SXmVK2lYezo4JMnj2U1WxXqXN7ijvqkosZ1yMpOxShJlxUZQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zLjzj+P0SSvc2QVxwimUuoqsu/cLdbLeS9hyfM5SieE=;
 b=eZwU174LnPPjdr79biLY0NJmdusQBfQ6vBMl6/gTNXIBONDmBul1ha8vQ0X2F+GLR9hIS/CpAELvctrLOBi3JHfj/83BPoLbklCa51PomNnuwlU9x0xbZBK0YTPLiP0cVI9F5Im1VksgiRHsB6wyGR+BkoPsJX7qYehYNnYsx1A9emWDTduftqIUEGJxva5YoQZpL1kyozOFCrIk0MxtYna7rLCCcFnK33dD4z+dIcFGa8fmoBDDUNCyUxsPP59t8QMZrnntufkcqk0Xb3FpYys7zq4H6q8gavfopvFxc+t4m2XN8JnKEI+ga8Sdnkn4xrmUlZ36qj64JGAlY/zbGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zLjzj+P0SSvc2QVxwimUuoqsu/cLdbLeS9hyfM5SieE=;
 b=fRB0PMdCqftqgCidUE1ibov1D7tK/ebcul6T3fsR2zuknF7EnKDrAWGph+dpsfRJuCWBQSxblBDLqrvuviijpUbjOZe4tBckB/WwrdHiEaCAzT2GojP7JTxIValPJI6UfSTC+njXI77N3ag2XczJrnKhl7/tcBVwhLODvSC4m1o=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 6/7] xen/arm: Tweak the dump page-table walk output
Thread-Topic: [PATCH 6/7] xen/arm: Tweak the dump page-table walk output
Thread-Index: AQHYroFFaGbMXO0OOk6jmUdl8jgLY62wJrWA
Date: Mon, 15 Aug 2022 16:12:48 +0000
Message-ID: <6B1C0CD5-A508-41CD-A57E-112053F1E8B9@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-7-julien@xen.org>
In-Reply-To: <20220812192448.43016-7-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: f9d75e35-e193-4890-4ab4-08da7ed9040d
x-ms-traffictypediagnostic:
	AM0PR08MB3889:EE_|DBAEUR03FT037:EE_|VI1PR08MB3181:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 bI0UERDXF8pcrrDrffolDPrVvNSqN5VyifHpsBPRax1Kqv83PfbdbVoIwDTAd+aPle4nI5pLtftyM3VPE+ypt0fpDKkRGswEya+S3Zw4oKkW97XoqhZptOaQB6xlud8FEjeVTSCPssZ1yBx5N1vBSAAjIkiq02U0Pa0yoAA1TPhLLZFCVB3ozSZUH4L/ZwFo0VzbMVpE9hSmAPPPJOl9rbpY0VoLKtqHTwEkGS4poPvh0e/HH8A5efE3kA7jRZ/1AO2v0/dkALChezayCyrzB3igjj/aE9vQuHTi2DBg3yatp3CH98TqpYYX/Ayl9Rlgc7/v4L8GKogxmBbkYhEEn1YUG0zd37wNS0R1xNRjxk80POwwER2Z/suAEss7YqBCnxyJeF8F+flLMRQHb67WMGIZHCBNWbNTg1IJK7z8Cz2jlxY0Ab5OxtdibNy6Fa7EHVcBxTscPgYRCG+U6Ug9tmKL2m/qvT27jYglvzL9GfPqbY0JFZRV6QmGpMmg+NX7EGvpZI6fr/73Co0cpqYmnrzDRAkBo5JwVeSqKoCrRyauuOYhXKcBdvL2QD7Vk9coHLyseOY4fVV5B94lOQw5KYAV7LrRHBLrCDwnKz4aLSghZ0rd8zRLrcKFPI9EpowCzdtI4iQrlDQiwnAAwrc2jhY31DY+uTYJ5bVzlmS5t+AiyMP0j/vDoU5NJHysyi7xnX10/ud+zepajv5puErJ5klpl4mT/vHtUmAjQu+v+Ky6wuMB3VoAhZoXtGIREUP98Ie4zB/1SQL8wzjcyWVrjEK6Z86mnSwCVvx2uYBeOFC0kMFIFczTqoBESnT/6hrPAV6F/QqnoRWmUP0pwot/og==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(39860400002)(346002)(366004)(396003)(8676002)(76116006)(66556008)(66476007)(66446008)(66946007)(91956017)(316002)(64756008)(4326008)(122000001)(86362001)(36756003)(38070700005)(38100700002)(33656002)(83380400001)(2616005)(6506007)(6486002)(71200400001)(53546011)(6512007)(26005)(478600001)(41300700001)(54906003)(6916009)(2906002)(186003)(5660300002)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <DB292140B1CB834A8F8EB25C3499B005@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3889
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d0a53696-19b1-45c3-a75e-08da7ed8feee
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	54KW0dlo2hUtea8xcouQ9KHFualDa6gHOc1rDw/AtpEpbRYZui1OHwhE6ZR0a/93UqR/E/IpvuADtKfnKV48kufwUVBVWwpTSdpRVHVwiSa3IJPWEbxEwF/ym1/v4UCuloCyFD9ExYHpBc5TZW6FiOYrWQOjEFvbiD4FieX7pSVeXuVLNtogwKXQLQTVas6emhYr/R0sRGzfgDJqeAMignhLN3U3H5oBIJ75BO+jSbjJieUoW1198yNJShu8PLbG+ywLXjzPmIM660wGZ14wM0doMNYmbUbT0Kq5aus+FniPo9Q6ueeqxKrqxX2gfgn+sXE17563EWhM4x7PjeD3kSIcRy6Q7CZOzWgwbO+WyEbwcrM7GI69gdG2O0ZySaG/UB4DdKwg1/QSByBan2/mZ36mGsaiIl93r/ZAt4Q+58IavfPHZ9oaa3XSJwfy9ZanPozDx41BFB0LjoA/Qa2iA5nn9KdjSpzWGl9q4LvcLB5zUAYFosjK+Oo0Eb3kuRc+iJ5vAcm3FA6Gcwz+I8uTCbh0HKOtBMfLn+a0sCBeCUmxPIosNLIQ7k9GqLQZTlWn636yt0sAjDzBVT4UcVj0MhhWFtBSvJke6mWrElqv2Sgxy8XTF2ETq8ZPYp0ZzJ10geTcSLVKpiqqWaqX0JCFrEKlx9IoZaVckNrN3QvtpWzoaVu77feDm+XaqlL78Tkqcgd4MwxQO4TeyYrDEnPX0B2qI5TSPNzye7I2EsSfXW4NviZZdXXtjoni8F9y8EEeVfACA3JI3jQuQHVpk5NdUf7TyicTBhsRiHNQt1PgwwJxDalGS4c2Ks4LKB6TsVz1
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(376002)(346002)(396003)(40470700004)(46966006)(36840700001)(33656002)(186003)(6512007)(6862004)(478600001)(41300700001)(26005)(81166007)(86362001)(36756003)(356005)(53546011)(6506007)(107886003)(2616005)(336012)(83380400001)(47076005)(6486002)(54906003)(40480700001)(82310400005)(4326008)(70206006)(8676002)(5660300002)(70586007)(2906002)(40460700003)(8936002)(36860700001)(316002)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 16:12:56.7173
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f9d75e35-e193-4890-4ab4-08da7ed9040d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3181

Hi Julien,

> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Currently the output is looking like:
>=20
> (XEN) 1ST[0x1] =3D 0x000000004015ff7f
> (XEN) 2ND[0x1f] =3D 0x00500000bfe00f7d
>=20
> The content of the entries are not aligned making a bit trickier to
> read (I appreciate this is a matter of taste).
>=20
> Align the values by forcing the index to be always printed using
> 3 characters (enough to cover 512 in hexadecimal).
>=20
> New output:
>=20
> (XEN) 1ST[0x001] =3D 0x000000004015ff7f
> (XEN) 2ND[0x01f] =3D 0x00500000bfe00f7d
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/mm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index b42cddb1b446..c81c706c8b23 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -234,7 +234,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>=20
>         pte =3D mapping[offsets[level]];
>=20
> -        printk("%s[0x%x] =3D 0x%"PRIpaddr"\n",
> +        printk("%s[0x%03x] =3D 0x%"PRIpaddr"\n",
>                level_strs[level], offsets[level], pte.bits);
>=20
>         if ( level =3D=3D 3 || !pte.walk.valid || !pte.walk.table )
> --=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:20:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387672.624007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNcoo-0007zw-AG; Mon, 15 Aug 2022 16:19:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387672.624007; Mon, 15 Aug 2022 16:19:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNcoo-0007zp-6z; Mon, 15 Aug 2022 16:19:58 +0000
Received: by outflank-mailman (input) for mailman id 387672;
 Mon, 15 Aug 2022 16:19:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVAg=YT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNcon-0007zj-D8
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:19:57 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2069.outbound.protection.outlook.com [40.107.22.69])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 198a0241-1cb6-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 18:19:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6102.eurprd04.prod.outlook.com (2603:10a6:20b:71::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Mon, 15 Aug
 2022 16:19:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Mon, 15 Aug 2022
 16:19:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 198a0241-1cb6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IK+bJLoDov5WVQYimvAhYVEL6eMpxn7eMEMKmiUllRfhpYzNEf9MfqxhaFvq9cQQXsktmpjxj73hVDcCk9PiJ65Enz0f8qXQv9Fxr+TRKQRmwkHgHS5/XhDJpXKPuhWsXhH2lXOBbtXq6NEiTOprF6ysNAssHnhcWgHNyZ72zJMtrSE1RFZk1fiN7d9E8TWxI3X7CJBH/pJF0d506yYhARdvTxHudZj4C8ZXHPFBZSBo3ShXUCxVW1odbw2Ur5S0uoD5XC70MazjlzW08smpF8JMtbRorPxvOJ7AZSWYIWiAE/7t34p0nzKOxC8LppudES3nYMOUzrWI36tQD66AHg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yzdTEu7s26estwmfSRc7xCggcOp93hzkdIuu/yFAY8g=;
 b=nh+KTi1sbML+TfT4rid4juLD8urFDi3zE8N7hPMkCRavZQ+CBr+HD36pn4hnQ3fSAGXBg+MYKwQpMQZsIqEWN59H580+C/QVUMVI8rH06LF89lhdipxjsymCJg4C6b4UKuUIu9szo3vVKMWBV4F5yFCn5usKhKJr5ihGcvdAt/8K7U3bMIi0cIrTUDA7SbKu5tkvhKEeBH+hqUytSU/YUgXN2Xi3G/WDqsAbII1ru/tRxRjjZCNLK+AkHFqRFIwpF8MOYXaTQZ2TAOFArhjfLzk+/oT5AOzHYwiCXvpEE2StIBFXPhClFf0u7PE0EWJYXYFmdXAZ/1f0gLBj3sWv/A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yzdTEu7s26estwmfSRc7xCggcOp93hzkdIuu/yFAY8g=;
 b=Nw1mxflqwETWkkNQ4UAm4+f+wY5FuKntnm4FvQ6GtAAataxRVMthzYHMLfJsOGpes7VTU+c82prb7LKRVtjOKYP+NNVwOtGYLn0pXNWFR937osxyDixjV0L9mM7FB1heornF5ErhztS3cOvVZuFy0oYDCslutTTShDvkGcEMI6PxCe5aWOjXopnWPYhYOZDqxLpTYyS5HyadQopGRfh2iBe2ZwVUWbpEmbQOlQCfF+A3uugBO/QEWiiD+XJ+nmYSEFjS82jjz0WZAuwNOMvtqkDFDAiIc9loTZfRUiBk12TEgOBUaPzkBgzIH7VDmgWnS0nUy9Ykupcb4ox/xjg/Mw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
Date: Mon, 15 Aug 2022 18:19:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com>
 <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com>
 <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com>
 <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
 <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
 <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0148.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 174b5c07-6c2e-4e9a-9334-08da7ed9fc94
X-MS-TrafficTypeDiagnostic: AM6PR04MB6102:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZlJWopOAV14iBmTYPL+4we3uOVa2cCWoZHGF7MVEXkmy0UGCQSfablU0KDDwo783hBErC3gxPF2eJg+TCJD6WR7eB1+npNpidxvf8Aklcwan8LkTxb2kx3HOH2jrkOd7uLKUubfX0Z+DRnCe4WI+bqhTiSvKoybvtIDoS8Gp4DXuuWrG4ZCoWK42TdWlGG5sOLZHvYjU0lgD9oFhNi4fVrdHn+CN7fT0chx7dxFx+u9ehrUVxyhf/M5YgwVZqYNUPjp5X7VJSN2Wu0CEwak2a4lpGUUbnByAYA1pRHQpY/1x2KXjT+fC5pKS6s1pc/rBbTI5cExmv9Up4XE3fuyVUSelULVsaVoAhUs83UclpB9t3qZ+To2e4hKdmmW7QDAM0fkfltZWij4j0fWjb05fMKpMg7oORWqeAXePrPCSxpTHJnz8gVjvN77yU/XgiOxnPM5vaMjsuo4chTtB4fkRZ+d5iAKDplIBjOlKbljGlWyeA0KVR0YOylE0AGRD35lr0z2JvM3kPxeils3yqTfy5GtpkSyimZzasLaShPoprbuFY2jElREX4dCuv5T0nL+g1Ygg1XUwAMSoLLqPpSjtMlxb/4vD6UkuEXHd/Aj3Tx7eS8OCyRq8wN1+SyrTJYHVIN0T1MSI0xBHdXzt0/F8GM+cV61N1NPEVkf8CNq0vGT5Zj8aCoYypmplvp0A6xCeIftI+eoI035yuJLXvjv9jdZ+kh3vnXdPDxw3Ue76NrxMhLX7EO+eO2KiMbizL4cSQYwDlN+0HN1Wn2T+mfY1DxVbsqf3kdzJP3O+rXPYJqxJi2Ioc8Yxwq8eUP+bIFR9yi0jPiotRdN83/0zzuYc+w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(366004)(396003)(346002)(39860400002)(31686004)(54906003)(6916009)(316002)(6486002)(8676002)(66556008)(66476007)(36756003)(4326008)(66946007)(83380400001)(6512007)(26005)(2616005)(31696002)(5660300002)(8936002)(4744005)(186003)(86362001)(478600001)(6506007)(53546011)(41300700001)(2906002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dktaSFBPeDNPWmJCd0FIK0NJemFnbGc4c1BpRHJUdCt3WHM4RDhmczlDQWRx?=
 =?utf-8?B?M2prWXgvRUxaSXloSHVnWTFhczJ6b0cxRmJXdFV1b1RFbk1yVUVpRFVMc3lM?=
 =?utf-8?B?aGhFQmdPMFFFYjg3YkZ0RVordEtTOEJZSW9wd3p4Y3dtanNwV3dKWHIwZENR?=
 =?utf-8?B?ZTU1U3NvdUU5ZXM4bGVadStBcUNxOE1HMUY5cUI4VE9tSEM0bnFsTnFFUUZO?=
 =?utf-8?B?TEFkb0gvYlJuNW1DcUdBZzRDMGJCVWVQTGZYN2hENmVoNUJ2aHpWbGg3UmVq?=
 =?utf-8?B?cy91TzRoSlNUZkZHbHprdklUVlZvZUFTVHlIMm4xa1YvSER1TllydjVhbU9B?=
 =?utf-8?B?QTBNaTI2cSt0ZTU0aVUzZ0xxWDFiQWh5SWtKUDJWb0QxRTRMNmZXRDlEMFpw?=
 =?utf-8?B?RFFuUHRKcnRDb1Q5V2tTa1dhWDV6NFkvb05SMEJqK09zbkVTZU5mUmdTMGFp?=
 =?utf-8?B?czdvdWd5ci9GWTZmRkF2cms1RkorQ3diYUc3dzEwNFcvU1pVb2hVTG1rYnVE?=
 =?utf-8?B?c2lFMzU4M1ZkT2p6TEJZaXJOTHFMK3RhdkVESHpIRVlYTkdGckhYRU96Rnkr?=
 =?utf-8?B?STUrNGFmQ0ZTa3lMRDIzRGVKM0RWQjhjZVRNV2pmNG9YNU5vTzlESFhXUlBU?=
 =?utf-8?B?WW5adVBRcFZWeTlCaEFQajRRUy84cjNBQnJwb0pXaHRkYm5NWmtlZit5L2Iz?=
 =?utf-8?B?Q3FpRnZXSTB1WHJqbzczOW80MkpnbUpmaVN2bFNpeVg4T2dsdTNSRjRPRzJm?=
 =?utf-8?B?dndVNjlaa0NZMkloaEJqY0lEMFk5OGI3dVdlTlVzUnp2eHFVaFo5VDc2bFJ3?=
 =?utf-8?B?M3g2WGlSbTVtVHZqN29zWDliZ0NSUWhJVktHMmJSSkcrYjZhR2FoM1NXL0tU?=
 =?utf-8?B?Ykx3K2QxY1A2Q0lxK2lDWFJvWGNkSThhb2I0QkJmUGRaZlNJV0lZam9QTDVa?=
 =?utf-8?B?TjIzakE3cWtSc3d2YlBKVE5HU3c3SHRRemxaQmdNbi9IeGt4SjBZb3NrZUha?=
 =?utf-8?B?dm5nOWJKWFRsZDhYdENRbW1BbllobzQ2VllKUDZCWlNob2Q3Rm9zcE5hbllD?=
 =?utf-8?B?ZytVSm9EdDJoWGxXUW1XTmc5VjJ1RGJXbXlHL2p2aTZ2WWxwVUxCWFhLWFRI?=
 =?utf-8?B?eCtnQWRNOGYwRStrK29BdWdKcmZRNm90Mm1GejYzaWJUUHNUWUNpU0NoUzBa?=
 =?utf-8?B?elp6b0R6Y2YzbXlLa3FRMUVrTzJyWUJiL0hPUGlENjB1cFVpUXA1eS84ejZO?=
 =?utf-8?B?dE9xZCtXSjBiM0NnaVA5NElCSDVZUTlDaHVEcnpkR0ZDNUpxdXBVYTM2ckN2?=
 =?utf-8?B?THNDNnMwd3B3REdWczQ2djQwbVNkdHlqY0dCcWlDWGo5U2h4VlJtRktqSXY4?=
 =?utf-8?B?YjZ5a2hIUlpTSlloWDdFMVNZOHdzRVRLYVR6YVZLOEpwWStxcGgrZHB2MmxY?=
 =?utf-8?B?Nk10UGdnNVh0SlIwbUo3UkRkZHduYVdMeld3K20zckVTNGxlNmkzczlMbENS?=
 =?utf-8?B?dFptbWpkcHhoS2hycWc4SjJRRWN5WFRTSmRrdTlSQU1MSHRReHN1UUNOU25t?=
 =?utf-8?B?TlFzTks1K2xCT2w0d0V6ODZlZktGUTZMQUxoWWNRL2hUUTQzLzZGL0JPZnRG?=
 =?utf-8?B?QXd2YXNHWFJNSlRDNS9RWkhKcUZYVjFUcysxYlp5aGI0ZDVlZUQ3M1N2UHVE?=
 =?utf-8?B?MTRxQ3JOcmpmOWQ5ZmtwZmJpK2tySUYwK0VBcC9ORVlrWVhjM1VHUUplT2Vw?=
 =?utf-8?B?R01BMk05aER2NU1TNFZJUEN2dUZncE91TnRkYmhpZWFYZUs3amhaSnlmZ3VR?=
 =?utf-8?B?RmJMbEM2ZTZybHRuVGsxTDFTNC9IMXp5WTVlU0l1WjVEMVhDRlA1M3VRQUZz?=
 =?utf-8?B?UGJ6M1pMUFowd2JMckZUT2VNMU5NcUdPTkc3RzlPQjlKWXY1Z3F0UDh2Yk1N?=
 =?utf-8?B?d2NHSlh2THpqay9lRC9YcUZPTUNxQ24xSzk3Z0lXWVI5UnMvUE1LaFRueW1m?=
 =?utf-8?B?UmpiQ0t1RHRRZEdzNDR2RG91QXhvTkxRMHlmbE5wVUw4aHFzdXJGSUI3MzBo?=
 =?utf-8?B?dWY0ZE15RnVQR3NGWGZvNnpPMDJsMFlYV0xiZDgzYzc2aE9ESWFZNk5OS0gy?=
 =?utf-8?Q?P94lk+npcsUDfipiWOtUZIBYU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 174b5c07-6c2e-4e9a-9334-08da7ed9fc94
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 16:19:53.8038
 (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: d74qdeSkSCEaBR2tvtk7MAgOWLc3AdHGcEFtd16vJSknIVri60hGnC5g766vJEuOo+7dFxi+oKCUd4oI1xokfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6102

On 15.08.2022 17:39, Dylanger Daly wrote:
> Great news! I managed to get it to log the error with your cmdlines
> 
> Please see the attached images
> 
> The error "BUG: unable to handle page fault for address: ffffc90040639019"
> 
> It appears to be a memory violation error?

Yes, there's an attempt to access something which wasn't (successfully)
mapped. I expect there's a log message ahead of the actual crash telling
us what it was that was attempted to be mapped. A wild guess of mine
would be PCI MMCFG space. We may be able to read something out of the
system's ACPI tables, if you could extract them (at least DSDT, maybe
also SSDTs) into files. It would then also be useful to see the
hypervisor and kernel boot messages, at the very least to know where
certain things live in physical address space.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:26:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:26:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387680.624017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNcv4-00012z-38; Mon, 15 Aug 2022 16:26:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387680.624017; Mon, 15 Aug 2022 16:26:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNcv4-00012s-0X; Mon, 15 Aug 2022 16:26:26 +0000
Received: by outflank-mailman (input) for mailman id 387680;
 Mon, 15 Aug 2022 16:26:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1rB=YT=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNcv2-00012k-8Q
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:26:24 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20041.outbound.protection.outlook.com [40.107.2.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 003c327a-1cb7-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 18:26:22 +0200 (CEST)
Received: from AM5PR0601CA0025.eurprd06.prod.outlook.com
 (2603:10a6:203:68::11) by DB6PR0802MB2168.eurprd08.prod.outlook.com
 (2603:10a6:4:84::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Mon, 15 Aug
 2022 16:26:20 +0000
Received: from AM7EUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:68:cafe::96) by AM5PR0601CA0025.outlook.office365.com
 (2603:10a6:203:68::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Mon, 15 Aug 2022 16:26:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT060.mail.protection.outlook.com (100.127.140.216) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 16:26:18 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Mon, 15 Aug 2022 16:26:18 +0000
Received: from 60eadd56704a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0FE1719C-B1D7-4683-8243-B3E0BF5F5053.1; 
 Mon, 15 Aug 2022 16:26:11 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 60eadd56704a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 16:26:11 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PA4PR08MB6319.eurprd08.prod.outlook.com (2603:10a6:102:e8::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 16:26:09 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Mon, 15 Aug 2022
 16:26:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 003c327a-1cb7-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=eVBVrxQkTbOA5nSnUAdjczZCv2rYOCWnAQHhTS9NWaSUKvYSCAvG5v8zzLqk7h6w7sZI5uWAINcoPBHSMmfFdd4Y8lj9F2ouX7AgxaaJkYaANbG/rI8HzgomjTvDQ5SrKkcIEe8ly+UyupLrrkcV1YdEIH21OLL9wwFuChLXHr2CsA8IOfUiSC2VRclFHkzNQ4rYCjr4XPpe8DY8J2aWJ9Ue1EEFNUxATnkMqMk2yVoEaYHsbQDmLBlzSjVcvfevrPkGF4FZIUHYEo9LYC/RCT8exaXVohDBWwL4PWFqSVmZUxycpCMOeoHsMEu9KFKfed8HhyYPWj8F7bj8Ordz2w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VHUlui5ehqh+eNqBwepYB92QK7qHRIZO+GcpZka7ItQ=;
 b=ETLFk/0XXiR/FOMODbUrHS+l9Bk/Y4c6Ugdi4SsC8+MJc/9/RADtWd6cXQ8xQvuE88SrZbIWrDX9dkIfJ9YLMdeg5dwfamZ2Jdfw34M+04jdZoOZIlhBZCBjIBJsMdfXLwFCASBgdDmxpDNqpO+mq5u1C2/SNjTi1X1rkNHHoWjW6oWcpJ5ErlCx54mZ3pymXAlFHx/Z6Mg17iHvwzSLayYyMmSvOHwQBPB273FrJ76/NdeqQJXFHNX4idnmvkCuA997Q81gS8lHpwm2wbgvHjLCToYGApg9e8MleTpY/S3CcqEO/CvxMOLrL9HgBKT/Tp7dsanMxY2PSBLIIF57SA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VHUlui5ehqh+eNqBwepYB92QK7qHRIZO+GcpZka7ItQ=;
 b=h8rhBRR6IJXBRZFwsPKn3OqW9RL3qaWhUgELdjslOwO/0pJN0kh1E7E8tFF3biH24sWha4/9UX4m6/cI5roFM5/8OhgYbMea+qPoabEwv//6TBxjoRBlBt44UdGnTa/agTMJynpfe0HJphX4f/XYhV5KhKW2yB6pvArz76jPSbE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c831bf9bc458aef4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e2Em6iDdWUYdU1nUk4L4531+2i0PiI8R5yIbaGjs3azTMW5LzZBRUE+JndVb6/TFM8HGsqcA/IlSj1T0iCjMSRHxvigN6GIHsFQD7r8rw/djIw4hvm9hKEGJCJGXqVqS29u1YiTZMQn6BXgEy+kfh5CriVIPey1H9OgU7KEfM9sSUd3UUMRNip+CVyT+iFPJy0w8I84V98eJrDaQ/ZQREPsrwsXlosq4sfEbfScEFz+4gYMMmTxoFriUAbx1uf1EuIeuxgaBsb/FZm1QATUWmZG2WOkX4gcOddOUpTSgW0MpwL0M5YJvTOhlo80c4YT4HMWDWQWHmVqMBA0+ylZUFw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VHUlui5ehqh+eNqBwepYB92QK7qHRIZO+GcpZka7ItQ=;
 b=kZVYuPHmQ/eJHSHj7Uis0rb1AVRu+SLugYIUBKbEHfaaUB+tolSMI1ydK6Wv6PDQikrEYIR9JIT3JtWLT6MmVRcckgQxPyaxohTLwjjNEP+lTE8/S240fapwx0e4IgTtnzOW2CLJgGNtG9+h623UeWEEvWAgK8GsnTED6TM8+M79fg+UreqnH6zsgFtA4qTAnpRviWqqK2DMjAb/8aQH87cbSKHHICzV7fsyNLZDqz+yKG1SgCWSteChm5hoOzCZrP37RiJR/Uzuyxp0IdFhvYP0NjCA8DAn4QSIZiq5o+jDplvcTlStXAMPUXzRowWxjekV4ApF82+QZea8Az850w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VHUlui5ehqh+eNqBwepYB92QK7qHRIZO+GcpZka7ItQ=;
 b=h8rhBRR6IJXBRZFwsPKn3OqW9RL3qaWhUgELdjslOwO/0pJN0kh1E7E8tFF3biH24sWha4/9UX4m6/cI5roFM5/8OhgYbMea+qPoabEwv//6TBxjoRBlBt44UdGnTa/agTMJynpfe0HJphX4f/XYhV5KhKW2yB6pvArz76jPSbE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Thread-Topic: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Thread-Index: AQHYroFE1VxGeWNFD0afucoI1xWJU62wKm8A
Date: Mon, 15 Aug 2022 16:26:09 +0000
Message-ID: <14EC25A8-C363-455B-B858-0298353306C9@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-6-julien@xen.org>
In-Reply-To: <20220812192448.43016-6-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 61c1630f-4392-4c16-d459-08da7edae225
x-ms-traffictypediagnostic:
	PA4PR08MB6319:EE_|AM7EUR03FT060:EE_|DB6PR0802MB2168:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 0jj1b7mCmgv0GxCVT2tE07YYwkyArinajsdwnsrbYtDcVoMQtxbwGrkGRNclgIZEyz0j32thIo3HxHxMkwDD33pQN18tGz1XBc4rzwhUAiPUNHZR3J8mLDFePo6HG+dbJMP50qb9mfVidziXVHqyDgrFywR2zIcZ6Mb6hnDaRyIHEUvOj6Gn4ShOJISjluOX+FTF60fCecu2M4tV45B3pcwZ+HX56lL5zm+N7nnkeUQE6yiP+F0FfrIV6sYC22MScKJ9t00cRV7NYxN6T2+vyyJ2UTVM607ueXdQiTQ+qcGd+U4NYyKhLiTFm6R0zceyjnwk83vizVfVmLmfA6X9ZZtLwFoMjBHb+pwlLZUhyr8xaFFmWuvP/bSQWhyQ1ZuzQbQwIlWPsex22QbyslJ9yIsciMDGPIpCXWRoJwHmPdXqZpfyTRBvNSPO8teR+S+KT36wTGXGbrLox4T/5n8jneOwstv8PAcHkmmxl1oVHTGG3FkybQaOAnTeSDvmVosABY9vkBd0fb3uFT0yfIprPlLd2axUfdKIeYQrfkr9oT8jQa5d4+uLurvlQbag5cNnWqyx8cPBAbmgSRxZEgf6X0j2KsFCcgjz//Eh4vVy9DzRlq7U3EKY4XiIP0kM2/hGysbDpJ1VkxuTiPHPJsHNbJaVfKmDN3/XBs2wY+zq937Hs7R3OUmR0DdOhe3LniBKhabISG21v0yte1E3Nn68gyJL3aMG856V6afKVw1ZokfhB6Uqh1MtoFN1aJ2q8nv48SyrfWY/2lhznP+tILAHS6BAtd6qUiIYa5gQxRe+9Mrhsi5ArVvGPKyf05DkliNkdSdF50DqEaGIrH8TsM3hbQb8pnk11a+IlgDrCcz0QvM=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(396003)(136003)(366004)(346002)(83380400001)(8936002)(71200400001)(478600001)(41300700001)(6486002)(54906003)(6916009)(66946007)(66476007)(8676002)(4326008)(64756008)(91956017)(5660300002)(316002)(66446008)(76116006)(66556008)(2906002)(38100700002)(122000001)(33656002)(36756003)(186003)(53546011)(26005)(6512007)(2616005)(38070700005)(86362001)(6506007)(142923001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3223D3CD4412224DA2D625E5272797FB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6319
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	102d646c-8320-44a4-ad66-08da7edadc5a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B0YiPc3ZbCT3sYZJ/yvnonrtyxlfN5/4adMZaqnAVag9oMIZD/l6FVQ3p7YGnk0NusThkUkrwwF4ssBKTP+erlx2/dLHq60UCdOy3Nge/5Pp2KKWv1I0IGRdE26+FK5YBza/SOTlM/kCMGOSZ+FcOFxRB32UGGJfaTsbLP5U5GM7rSntRLGFXZtwxc/iePduk5IA+HQrm3FZkBRKxK5B05LBbZ5FKpyewPnSC3Ks+C3WZ+6lzMeyrIl1dxRRjQr6iVXBnbt1TZjHJuWaPaVkI1W/igJ0zoDGEm3ijpriZhLKvZi/IHq4C0/gqeaZq89YB6dJbMkUinMZmdi1PSEudseFPW3bGiceqdelGq9grsOewiWy0CcVew9q7+XgE9NrzpfgJqW0mIP6L1jdLJzpsRms6iyIC6vJefZxCN8w6MSzFNRP3Vu6Z0P5JJ2+uM29QkQIrrfOUQd1fuSFfFfbKipKG7HUiHtlTLQ1dQaUqzAmBu7Bmje1OAvdb3Hd9OyAxU4Q7ZiaPhg9gtezhvG7GlwgBCJXCVesH0aZRAPitpkNTd/VnJEjCcKWco+hs4lM68mtQG0Mg1CHIfIGvQWPkzQLNPTnfQa+X2YEx+NDMYLTBhECshDkGYb+rlbPkQoaN6Z8nDyuFhk1aLtUELkBiHW1ci9J3Mbu6f/7XizSa5WqhrDp/GN5etg06cghRVhphuRpde8iApSHQscWK/XqO9gLiuiRdqC6UeC858hwEauDyY/Yt+mDS/opb6xlAnf+xKhOVB+xKzXA5u7vEWIltWxw30bq5xPaNTumrdZwTLKVSmO2PfPw/ezGjjSCDZmYdyV18/OXUxSNFJ7hxd68hg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(39860400002)(346002)(136003)(36840700001)(46966006)(40470700004)(356005)(40460700003)(82740400003)(81166007)(86362001)(36860700001)(83380400001)(70586007)(54906003)(4326008)(8676002)(70206006)(316002)(8936002)(6862004)(5660300002)(2906002)(82310400005)(26005)(6506007)(6512007)(2616005)(47076005)(107886003)(53546011)(336012)(40480700001)(41300700001)(186003)(6486002)(36756003)(478600001)(33656002)(142923001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 16:26:18.7821
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 61c1630f-4392-4c16-d459-08da7edae225
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2168

Hi Julien,

> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> At the moment, the strings are in text right after each use because
> the instruction 'adr' has specific requirement on the location
> and the compiler will forbid cross section label.
>=20
> The macro 'adr_l' was recently reworked so the caller doesn't need
> to know whether the MMU is on. This makes it easier to use where
> instructions can be run in both context.
>=20
> This also means that the strings don't need to be part of .text
> anymore. So move them to .rodata.str.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Tested by enabling early printk on qemu arm32 and it works so:

Tested-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/arm32/head.S | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>=20
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 27d02ac8d68f..a558c2a6876e 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -93,13 +93,10 @@
>  */
> #define PRINT(_s)           \
>         mov   r3, lr       ;\
> -        adr   r0, 98f      ;\
> +        adr_l r0, 98f      ;\
>         bl    puts         ;\
>         mov   lr, r3       ;\
> -        b     99f          ;\
> -98:     .asciz _s          ;\
> -        .align 2           ;\
> -99:
> +        RODATA_STR(98, _s)
>=20
> /*
>  * Macro to print the value of register \rb
> @@ -736,7 +733,7 @@ ENDPROC(puts)
>  * Clobbers r0-r3
>  */
> putn:
> -        adr   r1, hex
> +        adr_l r1, hex
>         mov   r3, #8
> 1:
>         early_uart_ready r11, r2
> @@ -749,8 +746,7 @@ putn:
>         mov   pc, lr
> ENDPROC(putn)
>=20
> -hex:    .ascii "0123456789abcdef"
> -        .align 2
> +RODATA_STR(hex, "0123456789abcdef")
>=20
> #else  /* CONFIG_EARLY_PRINTK */
>=20
> --=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:39:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:39:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387687.624029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNd7d-0002aP-8X; Mon, 15 Aug 2022 16:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387687.624029; Mon, 15 Aug 2022 16:39:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNd7d-0002aI-57; Mon, 15 Aug 2022 16:39:25 +0000
Received: by outflank-mailman (input) for mailman id 387687;
 Mon, 15 Aug 2022 16:39:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1rB=YT=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNd7b-0002ZX-VL
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:39:23 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80049.outbound.protection.outlook.com [40.107.8.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0fa69b7-1cb8-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 18:39:23 +0200 (CEST)
Received: from AS8PR04CA0143.eurprd04.prod.outlook.com (2603:10a6:20b:127::28)
 by HE1PR0801MB1961.eurprd08.prod.outlook.com (2603:10a6:3:49::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Mon, 15 Aug
 2022 16:39:18 +0000
Received: from VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:127:cafe::38) by AS8PR04CA0143.outlook.office365.com
 (2603:10a6:20b:127::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.18 via Frontend
 Transport; Mon, 15 Aug 2022 16:39:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT038.mail.protection.outlook.com (10.152.19.112) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Mon, 15 Aug 2022 16:39:17 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Mon, 15 Aug 2022 16:39:17 +0000
Received: from 7ee0735a52d6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 859AE13E-45BB-41B8-9E7A-411BF6A11A94.1; 
 Mon, 15 Aug 2022 16:39:10 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7ee0735a52d6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Aug 2022 16:39:10 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB7042.eurprd08.prod.outlook.com (2603:10a6:102:208::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 16:39:08 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Mon, 15 Aug 2022
 16:39:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0fa69b7-1cb8-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=LkD98OvCQoY1eFTot7e9DgXK+ezwKQWQjxBnEs/0L5+AzASHMvIa5DGOZjvw8oiGuQgiHkmvEW2UsYwJK+8VoWgndiyHtYp6G8Ax8Vdjjh/ub0552xzr70I40Uk5aE8HqpB+w16v2SdNH3TrBpfdtjkGotZ1fD84kx06skQ2qPhxENpuL9FI8zztz3fV06ecJkYFpQQOJ0jqN+v0s3lCiwE9nyivh9fu7y03luKCIPYMHvmRft8yerfTuN78UZ1IYkZf3yMFBb8v77YAiVyczpPWlu+YFC88cyTk4KdCzMfN3XYj1SwNQH/XKhcW2Pw2RciwDSXInhpZ1F+vY57KDg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tfpsNsjbhbCj+pcx7fX0GODGxtw9mPwYtLwvKAQNYXU=;
 b=INhLTz9ZlUYdvBVkW6GNXPUxqV0Jq/ObyIBCAgKkKRDHDVsS3hje06s44yUzgJHWDgX8otLMIhpuVpW5AjQc7J9ypsygt80YOQx4t19gwBZEW3fiIgBjnms42fHkLSJxGt+6vSHFXyFLs0IE+6+qZC4XQACGNHihA67jTAKRkL8nZnh17Eqr8iiuNpkT8L9BWWt4toomhKekYrGiRQ5R0oyply+Fn01aGwOVIlxrDPg4px6ju78zuw+rEZGJ1bwi8u5r97TgUolS8yWveBm10stFL4HgcL1pOL7qJ8tUs58f9Vl5tQafBIAd8wVwZzB2XKKKho4c3jPoB7qs5ZUdnw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tfpsNsjbhbCj+pcx7fX0GODGxtw9mPwYtLwvKAQNYXU=;
 b=UmELiGkO/32g0+y2syt5FP4VK+82yIqb+fi5foL7otw/TGhNFL3vC3BD20v9ZxIJpCP+udcW6bbA12H9m46zjU1f2F+NsskErMzmEvnC9EyQjscT8To7T996oseQr6DaQv3RPHPZ/X2XJC816piN+ANk4xufotINWwC8uwC00l4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f0a7d7d02a6566a6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ltdek6maqaWyY5E5lt4rjQ+I5qdaol6JJLb4X2/I3GYa0JPz9UdhwongM4d9leJiPDcH734YBPdlwkVqeNGnyf6vpsKzlQcvkESfWCLsq0CHJnXDP0YxHt6+sIHliOKmZDVJQ9Wms6GFDASo1Uu+KQlsbIiEQUcCp/+8wd8hHE0yWsAUPkQjtaqzvaZC6NdhLbsI27pRSY8WE3DfxEkfAV9/rBtZLa6xgiDrZIZObnTuI9Cw2P/wMCsMC7R2HqYamtScF/JRDgFzkqgxQvwQgZzjIFMbXxLw4F8PLb5pXBnyF0pSLaepMhb+9NCyFP2enzBx+adcLCHBPKtq7z8acQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tfpsNsjbhbCj+pcx7fX0GODGxtw9mPwYtLwvKAQNYXU=;
 b=C068Ui2klDLdFvjynAp3qL7PCY6UMM87yS/tOLPj1Sln05+YQ/bUuBciws0Orm0HrO8oFcMfzSCT1LYI+emV0/Ai/8QHJqDpSSC37V+7+53+0EdS8GJt3C9PqBW5e6rkqqO267h6YwlgibQm2q43MOL7jpzrXBt+h059mF6DvhSoPW5/LAbemMZjsua+GQ+uW/auDOUuyS0Egvg1AZSKxClrqcETCoJibeWkkrVTAXe5zVC19JKFLebHpL1kk/uGVtL8wJvhj4u2xnkGZxnDPSSpX/6gOg4uOw3m10lxBOv4xrCsSRRzpppTJ74nWvN59hy9s4lJ67Q0FhxKqCoCVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tfpsNsjbhbCj+pcx7fX0GODGxtw9mPwYtLwvKAQNYXU=;
 b=UmELiGkO/32g0+y2syt5FP4VK+82yIqb+fi5foL7otw/TGhNFL3vC3BD20v9ZxIJpCP+udcW6bbA12H9m46zjU1f2F+NsskErMzmEvnC9EyQjscT8To7T996oseQr6DaQv3RPHPZ/X2XJC816piN+ANk4xufotINWwC8uwC00l4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Thread-Topic: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Thread-Index: AQHYroFFG1SBMYgirU+4BTxPWgpRqa2wLhCA
Date: Mon, 15 Aug 2022 16:39:08 +0000
Message-ID: <C817E0AC-5A5F-46AD-8D1C-A472F9C004CF@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-9-julien@xen.org>
In-Reply-To: <20220812192448.43016-9-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a1fee582-71ad-4b2a-075c-08da7edcb26e
x-ms-traffictypediagnostic:
	PAXPR08MB7042:EE_|VE1EUR03FT038:EE_|HE1PR0801MB1961:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 QvgCWaTkRpEcCZ5Q8A8RJQzXLr2ED9fnRkToiVW7d8UXc6fAkNmY5t5egk37TXx679/kBMQ3q+4TNsk3wHYLQZjAkx+yLLSVrmraEBQj6DuiUX4eriJSa0p8nuF941DF7lFqjCC0NeZSOnl8LmWT7Wl/kMEDHAp1y6WbxdmbVE82yWiPLWpsi3R9nMgceNlzHrWkVcb1z9pN5vv6zC/goe6U4phF5uZvLmX80LzzkeV8nOSSL6Ugc+TB8Vc1x1b5EHY3wnZpypOUXcdMIPKVk/F5muNa8NLvBAL63AlK3LWmf7HeDjkND7wdzeGfhyA4hoHBx952qHI5yKmiy8hZmjh1Ktvj0Tt655ksxX12jz2sx7KH6WwdN2cauxmkt0oAmqRr179d5/xNglDCR9XkWLCE21SW78yr327HXW01Q6BOF5WWwU/R7f5pgH5ptbVK7XCdkOWPaP15S+kwLQ1pT0hEl/IiVYVdsDncRUSmFnJ8IKopgOG4M5am8SLtueAQwBaJRvOgkGzMHo0EyrOYIrRriEagpJkSuHuWRlhXVzF11PMxX1lMLhmTrmYTxR+AALI1W85IOClZlFK3iS2I/TgtEnoOy79Q9FdX2C8B68fPoS5qcZ7SE8YUjjtbEc7hf06cVD6xuRbpsEZuNyWfFaFbDu01UnIS4xlvZBY0k9ZFAK1epJU5M8niLRtWgZRqr426A6GdDa8BV/qA0RSp7mBB5cNCsvwLFPHRDlLbCB3pIg3QPzPvTyyVBvnGHn0yjYi5NIdTQMuT2QjH7wPYCpCSFZrlFd+wd0Eeq4+/K6ESOBteYHlAvWjpR+9/7fWDcX/zPQAkwc1Deb7iJBGBtg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(396003)(136003)(366004)(346002)(54906003)(5660300002)(6916009)(6506007)(53546011)(41300700001)(86362001)(26005)(6512007)(8936002)(71200400001)(66946007)(38070700005)(478600001)(6486002)(66476007)(8676002)(316002)(64756008)(66556008)(66446008)(91956017)(76116006)(2906002)(36756003)(4326008)(122000001)(83380400001)(2616005)(38100700002)(33656002)(186003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <59C68C5345AF1F4593D231D4A7A6FBD5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7042
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	17ae567a-a85c-4881-7023-08da7edcacd2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EPHY6xLzLIjI+o0o1ttCFGmuaMYYIoQWdVTd8QeTABPVc/Vsx/+cwH+Bz2c0lY0n2eOHNetmBonh4o/3EkImIjz7f4pvIZ2Eof3auGRa2mFEdagNQrd6ifNscBCnew8zHOrf/1i7dlgW8929Ie5c+Ib2E1HcI9Kv7lR9mLh/p0vduprm9+/ceHh7ThoQdG2LYULlqXwFwkBJ6snHrOBYvt/tmccHow1Bbq5rOgmxHwcQMh9kYTsp8KPq9O4Zh1Uq0aiuBAsNQ9+KeqauIiRwazA6ENSoLEnwIJN2MEzH90ju35AF74PEWvgMrAqZ1vEAuTPqY/LvkPhSg3czY1GJugrxg16Wl/C7vvTW+HkTYUqqAIV5cf1ghbmJIgH5laJgqTs9+K7kUXB1Iju9wjlkaQnoXPTU1FH8cs5UidI8JSkazMTbQlq/KdH33/m9N4pgyE/zPAetXUsn7mlE/GF0tlTmh4Up71JTP/feTeuNc+5cnA/osIiFmFpE2kaVfZ3agNvOhS+mFFssgMkHW4d8zJdmLP0Wu8Mv/xep26WIZDZfJxueAIhrUUagsU5MwSUrSg+VqYPAmm4PiuVtdQebWa4FSNsSYLu7K/4UWnzh2/7Fe/O+MIqD5mUK4GAc342gpP5AyyOvQbOCstKiPd2kofSf+68ga0rmfHMO6q8Ds5a7gL7UUaWyFXID8oIXC8ePyFjKyZrCsHwMpZEPhUsbNeWJjjMAFqm/AW+uobRM3K5nCA5ZC6DWmkGMVX6HHQbbr7KtBktszJ1Gi2YTG7y/RIMeMKLngen+cfW5rTkJuA9hw/0Qs6KYpIk+JqsDUQCC
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(39860400002)(346002)(136003)(40470700004)(36840700001)(46966006)(36860700001)(356005)(40460700003)(82740400003)(81166007)(83380400001)(86362001)(54906003)(8676002)(70586007)(316002)(8936002)(6862004)(2906002)(5660300002)(70206006)(82310400005)(53546011)(6506007)(26005)(2616005)(6512007)(47076005)(107886003)(336012)(4326008)(40480700001)(186003)(6486002)(478600001)(41300700001)(36756003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 16:39:17.6713
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a1fee582-71ad-4b2a-075c-08da7edcb26e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1961

Hi Julien,

> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Unlike arm64, on arm32 there are no extra information dumped (e.g.
> page table walk) for hypervisor data abort.

The code in arch/arm/traps.c has nothing arm32 specific like that so
could you explain this statement ?

Here the arm32 code will call the generic function which has only
something specific for BRK handling but the rest is generic.

>=20
> For data abort, the HSR will be set properly and so replace the call
> to do_unexpected_trap() with do_trap_hyp_sync() to dispatch the error.

I agree with that, I just do not understand your previous statement here.

Cheers
Bertrand


>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
> xen/arch/arm/arm32/traps.c       | 2 +-
> xen/arch/arm/include/asm/traps.h | 1 +
> 2 files changed, 2 insertions(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
> index a4ce2b92d904..a2fc1c22cbc9 100644
> --- a/xen/arch/arm/arm32/traps.c
> +++ b/xen/arch/arm/arm32/traps.c
> @@ -81,7 +81,7 @@ void do_trap_data_abort(struct cpu_user_regs *regs)
>     if ( VABORT_GEN_BY_GUEST(regs) )
>         do_trap_guest_serror(regs);
>     else
> -        do_unexpected_trap("Data Abort", regs);
> +        do_trap_hyp_sync(regs);
> }
>=20
> void finalize_instr_emulation(const struct instr_details *instr)
> diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/=
traps.h
> index 08bc0b484c75..883dae368eac 100644
> --- a/xen/arch/arm/include/asm/traps.h
> +++ b/xen/arch/arm/include/asm/traps.h
> @@ -73,6 +73,7 @@ int do_bug_frame(const struct cpu_user_regs *regs, vadd=
r_t pc);
>=20
> void noreturn do_unexpected_trap(const char *msg,
>                                  const struct cpu_user_regs *regs);
> +void do_trap_hyp_sync(struct cpu_user_regs *regs);
>=20
> /* Functions for pending virtual abort checking window. */
> void abort_guest_exit_start(void);
> --=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:44:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387694.624039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdCT-0003zF-Py; Mon, 15 Aug 2022 16:44:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387694.624039; Mon, 15 Aug 2022 16:44:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdCT-0003z8-NM; Mon, 15 Aug 2022 16:44:25 +0000
Received: by outflank-mailman (input) for mailman id 387694;
 Mon, 15 Aug 2022 16:44:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNdCS-0003z2-99
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:44:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdCR-0001FY-UQ; Mon, 15 Aug 2022 16:44:23 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[10.95.149.129]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdCR-0000P5-O6; Mon, 15 Aug 2022 16:44:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lYkOHBE5nKzIhvD+AVcWXwGZcoujkJldrbnr3dE6HO0=; b=FZnsANy98qjO+x2BeoypKhkaxO
	g5zs5OOkguhzpXnzUrctKMCguOuLjYtAJCPmHhuTSPGSYrNoVpcEQo2MhHSqplI8gV09xb3n0tvrq
	5uadMwUJfWyUHRVhk0hd1C7wRnSmLX34laCYVWYzR2TameLQe0yWW4Clmr72F5KtjU2g=;
Message-ID: <3136c797-652b-97c9-b356-b49fe53a40b5@xen.org>
Date: Mon, 15 Aug 2022 17:44:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 2/7] xen/arm64: head: Introduce get_table_slot() and use
 it
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-3-julien@xen.org>
 <8FA138D1-CBF2-4BAB-9283-2573A6A09C79@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8FA138D1-CBF2-4BAB-9283-2573A6A09C79@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 15/08/2022 15:45, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,

>> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> There are a few places in the code that need to find the slot
>> at a given page-table level.
>>
>> So create a new macro get_table_slot() for that. This will reduce
>> the effort to figure out whether the code is doing the right thing.
>>
>> Take the opportunity to use 'ubfx'. The only benefits is reducing
>> the number of instructions from 2 to 1.
>>
>> The new macro is used everywhere we need to compute the slot. This
>> requires to tweak the parameter of create_table_entry() to pass
>> a level rather than shift.
>>
>> Note, for slot 0 the code is currently skipping the masking part. While
>> this is fine, it is safer to mask it as technically slot 0 only covers
>> bit 48 - 39 bit (assuming 4KB page granularity).
>>
>> Take the opportunity to correct the comment when finding the second
>> slot for the identity mapping (we are computing the second slot
>> rather than first).
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Thanks!

>>
>> ----
>>
>>     This patch also has the benefits to reduce the number
>>     of use of {ZEROETH, FIRST, SECOND, THIRD}_SHIFT. The next
>>     patch for arm32 will reduce further.
>> ---
>> xen/arch/arm/arm64/head.S | 55 +++++++++++++++++++++------------------
>> 1 file changed, 30 insertions(+), 25 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
>> index 26cc7705f556..ad014716db6f 100644
>> --- a/xen/arch/arm/arm64/head.S
>> +++ b/xen/arch/arm/arm64/head.S
>> @@ -493,13 +493,24 @@ cpu_init:
>>          ret
>> ENDPROC(cpu_init)
>>
>> +/*
>> + * Macro to find the slot number at a given page-table level
>> + *
>> + * slot:     slot computed
>> + * virt:     virtual address
>> + * lvl:      page-table level
>> + */
>> +.macro get_table_slot, slot, virt, lvl
>> +        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
>> +.endm
>> +
> 
> Crawling through the macros to verify the code was not that easy.
> This is not related to this patch but XEN_PT_* macros could really do with more comments.

To me, the name of the macros are self-explaining. So I am not entirely 
what to write in the comments. Please suggest.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:46:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:46:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387702.624051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdEF-0004ck-8G; Mon, 15 Aug 2022 16:46:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387702.624051; Mon, 15 Aug 2022 16:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdEF-0004cc-5R; Mon, 15 Aug 2022 16:46:15 +0000
Received: by outflank-mailman (input) for mailman id 387702;
 Mon, 15 Aug 2022 16:46:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNdEE-0004cU-2R
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:46:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdEA-0001Iw-5l; Mon, 15 Aug 2022 16:46:10 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[10.95.149.129]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdE9-0000R1-Uj; Mon, 15 Aug 2022 16:46:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=F9VyOrKpDtsCX0+ROqFeK4KujX0h3i2iD2RK7vKil9M=; b=2ZCifON7UesPziPVYSgO4+K9wB
	vHUcx1lj8WslY4C/MDPSVzU3bBiJvddNBHVQNd3Q7WsDQvodJv56G3wOvDda5I48o9DRtM3vLQUL1
	habIig42nrr9hNomAtjklllkBxOFW7Del95AatYsV6tuGtUZSkFbvzmWN4VV3KUW3hcw=;
Message-ID: <ca61e334-3b4e-de50-c993-9439fe4d1d4b@xen.org>
Date: Mon, 15 Aug 2022 17:46:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 5/7] xen/arm32: head: Move earlyprintk messages to
 .rodata.str
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-6-julien@xen.org>
 <432ffaec-c537-0337-5812-18385ccbb534@suse.com>
 <94843cc5-919b-68cf-31d2-a8625d9342d7@xen.org>
 <ff329cf5-689e-89f1-c82a-7df6dbf11446@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ff329cf5-689e-89f1-c82a-7df6dbf11446@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 15/08/2022 09:21, Jan Beulich wrote:
> On 15.08.2022 10:17, Julien Grall wrote:
>> On 15/08/2022 07:43, Jan Beulich wrote:
>>> On 12.08.2022 21:24, Julien Grall wrote:
>>>> From: Julien Grall <jgrall@amazon.com>
>>>>
>>>> At the moment, the strings are in text right after each use because
>>>> the instruction 'adr' has specific requirement on the location
>>>> and the compiler will forbid cross section label.
>>>>
>>>> The macro 'adr_l' was recently reworked so the caller doesn't need
>>>> to know whether the MMU is on. This makes it easier to use where
>>>> instructions can be run in both context.
>>>>
>>>> This also means that the strings don't need to be part of .text
>>>> anymore. So move them to .rodata.str.
>>>
>>> Wouldn't they better live somewhere in .init* ?
>>
>> PRINT() is also used in path for secondary bring-up. So this could be
>> used after .init (even though today CPU hotplug doesn't work on Arm).
> 
> Then the term "earlyprintk" looks to be misleading?
I can't think of a better name. "early" could also be interpreted as 
"early CPU bring-up".

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:47:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:47:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387709.624062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdFo-0005D3-LQ; Mon, 15 Aug 2022 16:47:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387709.624062; Mon, 15 Aug 2022 16:47:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdFo-0005Cw-H7; Mon, 15 Aug 2022 16:47:52 +0000
Received: by outflank-mailman (input) for mailman id 387709;
 Mon, 15 Aug 2022 16:47:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNdFn-0005Co-BK
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:47:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdFn-0001KU-5o; Mon, 15 Aug 2022 16:47:51 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[10.95.149.129]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdFm-0000SD-WF; Mon, 15 Aug 2022 16:47:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Ayz+h/kJxaGovDdaVPFH0/EfZvovudBXIvuaqnz5ZSg=; b=AoGkUdq7tpjvCodyK9gxNV/yUI
	hDIrbO4HN6bRr/mcpHdQWeI3Qcd0GarM1ENNSqy+iwvST7HvJq3fzGrqBD7emVgFutDwIZvygeDgk
	rBaJMuqE9kbW78ZqSTafOtvAQ10ECmWeAiTCdRMjmDBAS6v9xLDRc4Kb9x084gv8iDo0=;
Message-ID: <15023215-6697-112b-2bc6-8ec7880a9704@xen.org>
Date: Mon, 15 Aug 2022 17:47:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-9-julien@xen.org>
 <AS8PR08MB799170A0EF051DE12565D9D992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB799170A0EF051DE12565D9D992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 15/08/2022 02:40, Henry Wang wrote:
> Hi Julien,

Hi Henry,

>> -----Original Message-----
>> Subject: [PATCH 7/7] xen/arm32: traps: Dump more information for
>> hypervisor data abort
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Unlike arm64, on arm32 there are no extra information dumped (e.g.
>> page table walk) for hypervisor data abort.
>>
>> For data abort, the HSR will be set properly and so replace the call
>> to do_unexpected_trap() with do_trap_hyp_sync() to dispatch the error.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> I think this patch looks good to me so:
> 
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>
> 
> But it seems that there is a duplicated patch at:
> https://patchwork.kernel.org/project/xen-devel/patch/20220812192448.43016-10-julien@xen.org/

Hmmm... I dropped a patch from the series and it looks like I didn't 
properly clean the directory before doing that. Please ignore patch #8.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:48:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387711.624073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdGB-0005fP-SN; Mon, 15 Aug 2022 16:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387711.624073; Mon, 15 Aug 2022 16:48:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdGB-0005fI-Pm; Mon, 15 Aug 2022 16:48:15 +0000
Received: by outflank-mailman (input) for mailman id 387711;
 Mon, 15 Aug 2022 16:48:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNdGA-0005ey-88
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:48:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdGA-0001Ky-0d; Mon, 15 Aug 2022 16:48:14 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[10.95.149.129]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdG9-0000Sj-RK; Mon, 15 Aug 2022 16:48:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=+V+FuDXV/gSOo8Gram/eMaXWICV1mM9KlRH2TwsJbTc=; b=S7n1m78Y5PjrDx1Fk+q7CAiY2A
	fjynFQhASrSUgNES5XxZPqivO2+WimDwGnli9H9y05ou6UIOJjrtOCJQ/5hEyaJVGDnZ5CEPojQ+0
	LRpduW9s/uDvjhHLzVUgzlkItpv7bqNe7kuUIwdxAUp2bmZiiqGMZN+2XdLnxuXQZA5M=;
Message-ID: <f4cfb2df-12f4-763c-ebb7-8c04036aed68@xen.org>
Date: Mon, 15 Aug 2022 17:48:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 8/8] xen/arm32: traps: Dump more information for
 hypervisor data abort
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-10-julien@xen.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220812192448.43016-10-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi all,

Please ignore this patch. This is a duplication of patch #7.

Cheers,

On 12/08/2022 20:24, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Unlike arm64, on arm32 there are no extra information dumped (e.g.
> page table walk) for hypervisor data abort.
> 
> For data abort, the HSR will be set properly and so replace the call
> to do_unexpected_trap() with do_trap_hyp_sync() to dispatch the error.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>   xen/arch/arm/arm32/traps.c       | 2 +-
>   xen/arch/arm/include/asm/traps.h | 1 +
>   2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
> index a4ce2b92d904..a2fc1c22cbc9 100644
> --- a/xen/arch/arm/arm32/traps.c
> +++ b/xen/arch/arm/arm32/traps.c
> @@ -81,7 +81,7 @@ void do_trap_data_abort(struct cpu_user_regs *regs)
>       if ( VABORT_GEN_BY_GUEST(regs) )
>           do_trap_guest_serror(regs);
>       else
> -        do_unexpected_trap("Data Abort", regs);
> +        do_trap_hyp_sync(regs);
>   }
>   
>   void finalize_instr_emulation(const struct instr_details *instr)
> diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
> index 08bc0b484c75..883dae368eac 100644
> --- a/xen/arch/arm/include/asm/traps.h
> +++ b/xen/arch/arm/include/asm/traps.h
> @@ -73,6 +73,7 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
>   
>   void noreturn do_unexpected_trap(const char *msg,
>                                    const struct cpu_user_regs *regs);
> +void do_trap_hyp_sync(struct cpu_user_regs *regs);
>   
>   /* Functions for pending virtual abort checking window. */
>   void abort_guest_exit_start(void);

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:54:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:54:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387723.624084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdMN-0007Fe-LB; Mon, 15 Aug 2022 16:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387723.624084; Mon, 15 Aug 2022 16:54:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdMN-0007FX-GD; Mon, 15 Aug 2022 16:54:39 +0000
Received: by outflank-mailman (input) for mailman id 387723;
 Mon, 15 Aug 2022 16:54:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ks0i=YT=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oNdMK-0007FR-Qb
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:54:37 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecc6e058-1cba-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 18:54:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecc6e058-1cba-11ed-bd2e-47488cf2e6aa
Date: Mon, 15 Aug 2022 16:54:20 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1660582465; x=1660841665;
	bh=SdS//LQIJZ6xwFsbLBEofh/qnKkPmLWqb7WBzIRSRFE=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=i7RvwmyfcvsV1R0XpUUthieq9hfs7c6Fkajuh7G08qgZUU7DNu+c88m1QgC/OfX/k
	 Fn2QfCfzaGkP5rx9vUeSKl6ILCW7MkENg5zL7o1bqrb/2wb6mivUa/paWZW9l6iV84
	 2xIS6zxXaJLdaSJT0r4Bikz1IXz+txn3929Hx9mt+W/fhgwFm0eCGIwebF3rH3f5uA
	 gRzoutETKR7h2kgQ1Qhpwsm/wxpA8UsWf1Uh362jY+USCTQ/0mJvvDGpBCjVCvzIEh
	 SWBDFwVjTwhT5ln9P1OfEvwzO+ZS3uQcnjP+x3WSOEzvbM+GwcxWjs0AHpy7WML6yS
	 YTzyB0cz5dGpw==
To: Jan Beulich <jbeulich@suse.com>
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
In-Reply-To: <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com> <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com> <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com> <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com> <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com> <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com> <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com> <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_CmxQqiv3yCWFqcxDSMhi1ZAFzn3xKXJETb735mkfA"

This is a multi-part message in MIME format.

--b1_CmxQqiv3yCWFqcxDSMhi1ZAFzn3xKXJETb735mkfA
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Jan,

Please see the attached dom0 dmesg log, verbose lspci output and a tar of a=
ll SSDT and DSDT decompiled ACPI tables.

Please let let me know if I can send anything else

Cheers
--b1_CmxQqiv3yCWFqcxDSMhi1ZAFzn3xKXJETb735mkfA
Content-Type: application/x-bzip; name=ACPI_Tables.tar.bz2
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=ACPI_Tables.tar.bz2

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
oqKiqqqrHZt1b9O7v44444444444444445MYvjjjCbD+aUq+cSBIR4hAFcqiwlgsLAsiySSQ+xB/
OIfeVR/ff3tQEBsP6VUEPSgwBYTZuqkG/4IMk8yXUJqCvy2TIEVcP5K/ZWgoupBxFAAioHSCghki
yKR++yQjE/dIoEJssSNak1bbStbSs0TNFsttG2ksy1Ss1TKsW1UVqism2NbRWksFKasmTViwaSjb
RFFWNWjS0E0u1z+auITQMNILIyr/mmQC/xNIJhIqOikFP3VIgG6mEXcJSLIsKqSUpJVBVCrFUWtS
WGvDmdF3OhvOJqVDFGWUFN7DakjpsguQnBYNtlqSBcJBVzEuSKmiBo26A2pES+llixtmZmjSWjCl
i0ihIwiiOmoapcyTagtLUGOIgSJtdm1BcFAoUgAVlTKjsSRUkUkCERkEJEkATG2BC1Y2ve2UhuQU
KXVIigbtCFGCxwDIwwsmWYWZUhjiCrI2SHNLLFqNiMajZNjSYttvevesFyA0IzeBw7FuACosIoGV
MgvyyWCCxBWNV5r1dS9/NterWvja923wppsbUaiwWrzDZYtVVpMwrjNRCznxI3DhZRrFGNo2Kord
729NavK3xK3yq6It3Zm3bS1c101q+csjImyY22MmkZRk4pgbWLbm83I63oDBDZIMIsggSAQiq7Bt
TulnbTW9bXmt6zG0bJgqMWiryp9OrNpvVbeW3qYxY0ajV5tejTJl62vNb1CsbFRr1etp3RrbdaXr
W8q9QtAQiA4QsUstJACMZEvLFwKXE2oW2kti2LWQ0gjc1W8Da8to23y255b1avhY2IxY0MiEpBLk
eREEzkZpVMVTKWjhKGzFpcUnLZSwiDkHaQikgEIJZEiqNismreNt7rqfN1tvJmt6RrEWwEVGNt1J
lcqote7z5Xm3qWxWLRvWTW+6lWojFSNkG0brbEWyJuXubeS0mr1tee7w9NosaxYryW7MGZBXuvWu
u1m142NFBoyUQaKveqV2VQat781XXiIKNo16pbmNG0el42vGtBElXx5cleSxqjBakqE2NtBt61eX
pXbW81ekRoqNRi27ZtqXrXTtvXTzVvTRYjJGsQWit5XrXz5yLb01FjGSjb6XldqvEbibbmktzJts
MubFt31XbeS0blzaik0dRPi7reAsbSbEaucjRblcokwTu1y1ytygjQbloq3KKrmfXa7a14tkPM1z
Yqi26Wupi3NzWi1fXVNyisbUkAGjGixsaZg2xY2NGsBiKxqNotEYtFGCsasaktTNo2NRtjZLQasb
GiisA25VKWyKyCSKWbYDBECEsUeqvERIlRbFpKC3V5btvGyUEzM1oSrFGxqxuWuYsYlIoty25Jul
c2JKNWIi1HTXLSGxqxtds3KiKxY1tEbbrNuWNG0B5edtXi1yuWxXODI5bm2LXvam1uYC15rXcRbF
iddcxi3K6JoootKbXi25RjWNaSjRshUlt5vUu1byRY1FE7q6RaLJn0uuY1qSIItiPNWXSLXNbmjV
EWAxYslRuptua3Syy3KyUbEmiSoqMYkNVytzUWxt6tV52rxVFVcrc0W7Zc2MRtdTdLUUlsmouWuU
WSxqLBqijRiiosYwhbRtjbG0yiMWiTRswqxWLda8pcNwZBsLUGKUDFoJEdKv3wUzHRrJUkkTNjYr
Xle9qzN8fh3qre2DbEbQb151XgxGWrUWjWsRNUqzWpkTVhKo1ttoNqLW222jaxFljbTCaUWwGnnW
uWCqJJLRbGreNbkVEmxM2IxrFGqJMltGpE1FUaKKo2ndVrm0FRGjaMYLM1korFiMRtjVFFFFi2Kk
2TYItjRjRjG2NgtGq6VctGxbRq0VG0bFoqixo1saDHNrm5t01HMstzctuVJmayaixYkogNERRV30
7VeKjYgjZMRjFit45VdNcsYxtJBY1FRaI0bRiKoLEVRQausty3Hx1reMUUYogxFG2vG5CRtJqjaN
aNjZKLptc0Wo1isyKBNoIxGks66t01isWiqSNixR01zaK0ytikKyY1drWVuhrcq6WI2NY0Xapqmq
bhsbVGo1BQUWCsRqDGS1kiK2SsVixRosaxTE11Nbm1JUZKxtFXNdCjRWKybRtEbRWNFaNkSINjJs
UHNubUYo0aqLUVjG0UaLRaLGxfRySvNa0tUtUtyMUGrXWqapqvXnmoojdvO2ryYg2JhpNJaKK8qv
OteNaCKxGKg0ao2xsZLEmSg1RYLRWNijUag8muaigrGxaIxYCIxtGo1GjtU1XTUFry23iXKaa26y
2Y2W19e1bza16UURJRYjRGxY1RtRqKLBRFW7EiJA5QMwbiAYFqMkUhDDZQOoypKxIstxYSbh2hNT
IgqJEx+uTuBdpGFsZgn7oSk7ZN/p5qUDYyCwVWk/efWg6538oh4oMwg/BByo8vWLUDgQo5CoUUAL
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
k2U0ohD4KiC0Ah9cZFBv4/Hv47+MTOL409n2fJif1v7/gzudNv9v7d542933rLzYbPIIqzyX4n74
jCILEeWlc2Z5RgSZkm0jg1zLLmZFRRJw5PL6BbIlWrVnf1443b2y2xaEWjspIzfkc17w9AfiDjfs
Dl1hOc2szpJwEzbtzI7bbTjNUtSrFVq1tcEZkQIKRKYdDEY3jgkXQ9d89D38fA5zm973vfzznOTE
a7lq35v05T+3GHAA9b9oAB8VSAAOABL1oAyMuqWV0WjNeO17Xz22lmhCEIQhCqqqqu4OoOoKDqH5
HY6Oxs6OjwcnJycnJycnJwHM5hzDyhsGBoNBgbGg0GEUNBsFDYNigdgbBoNBQwFDQUNBJoNg6h5X
lF6G+fT5R1e8o3IxjbO069PDUIsOj2ebl598Pm9KUL7QDH2BKICEiTbKSMAPNzUJrVgBqDmoRiOY
Ai5moEJmXkPmovaYfIM7Xs5IQZuAG4B0zmerQswdpk5l7QSjIvQkHZABdkAgZETQRAHqrnlR5S7N
/K9Xd1B+YKEadHs0Bz46Onh4yOciKaKeApSkUhc9EBpSxTvTHPhz6zu4Oo3VJVkJ2yOsjskeZBOH
eDhyiFSSvEDacKDRZEVySTfsbmi3qnUJO8KBQMDcKEoUKFgkNwsEoUMDQUNBQ0EKEKgmAX+PVztR
Ij3lvZeWbZcm/llAsa08h8VqR7iRmkb0h0imeb29dtCSzYrr46rdZYetuXY+o7/q0JFqRlGzuoB3
nx/I36V6+fzcoU5RZlEFL8tF07LVOYwiAbH9Zb/LZMeJMgMAZSc9SSZJDEcar77rJzxmTnKbTpTj
giDkTu7u7t+svt/GOeIP1yM8pEREQzNE+UVTNdHpmc1n+eLV01zlpzhVyT4qiOf+LjnFZs07tWMs
ct1XFXXXXmOkPVfTZPD0k6+D1GN2oYH361gS3w2Z29O7Kzoo1xbpokpMe7hPbt26Ia2yi8s9XHdq
c0sZ6HfS9KgyDJb1tWC5juHrM0p0iIlVXxProu7u7vXx8Z/L7b+iHOc5znOc5znN863xXnnnnnnk
eeZ8888+e973ve973ve976YvofiQA9rA+wT59/EvU6RGLG8YHPnGB+v2/np7zIT2UfRSc/QTjSVn
j3P1qlZSY/aBEIzuLpsw+ebew5OqEiEbwrFmuVMnxwfhnRCTolqSQppOHqLcy7nqKJ4zRkuNndK0
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
y4PGIm53QkjRqicP8ux79QFjCBFIoJFEz/tnE7j+Wj9z31/hh6I7wetUfhp+mFzzgihTMz5v2fP9
mNH7qUU+gB5yJI+YiB8xIkj5iQh8ckIfMCn0Kj9CG4P0A7KiftCKDugBURttSJCrFkVERekhJOlW
oPd3/7LFyuYUEiqlCqNESKRFAgpzRBikREOdQEE5ijXNU5qvp6pDvkG9Kq2WrKEO8TLaLQ8gSoAT
kckOTyDkP6v9cPM/p5gLzRVG5JCEWpCC7Putx8zhYyI3p2/qdwDAYZYufQajp6nhsX82VrMy6/fg
ICBxW2cv09mcRJH//MUFZJlNZv/GkxQG9BH+k/vxm5n///////////////wQAAACACGDrXvUAPvm
TliLreM8nRV2He16zUxpznUtu570AAeM7AnvXdGvO5dHfW5tHlcoN93e3uzaubu9HvWN5zmigLvP
nx8AAD59jH1qAAAAAAAAAAAAAACXbx9FHzRYa732NdLmF2zabGW53V290zt7tygADZ0+vu17bs2Z
ZV1uvbuu7d7O7NbRp66s777TDfGRpT2Z0+oAHgaAB996G8900KUAAAAAAAAAAAAAAAAAAAAFXtBs
7r6zvPc925XzAAAUAAAAB73bqvLx29n0BnwAVU77rAD7lxy+s5sAADt8G8061fS2sqtKAYgFsiAA
AHQAAAZruva199ABbr531edvd3e3W9d7d8AL74PPtR7n1AFnfXTdqd4AOcd87rvAZ99vul4D5uz7
PvgFvm93z4AQgAHu7zX3vgT7598PXcADbi9vgNveObV8VXtD4XrvVmu+sbdLaOvgDdfH3fVvZgrL
73zs8fPhZ7fW6326dOe89fAF97Pub7OHj3wAvOPvq41bhe7zxt6enXlT11Uofezz3fec7Gebtumm
c2VW27ux43vMvbGe68d4LzzzV7WyjU9x2VOLoVzVGt99vV607Kzvievvu8+51lfVddudvb1e9u67
eRCb7bzzoBzHBK5tjDYA0ENUratUUgUFMSzInZqlw1M1tYl1nWQCohpohAAIaACAmATJoyATTCYR
lPTRoGhTTTU9T0jET1Aap4AIJJEBIepqn+qTTRiBtRoAAAAAAAAAABIhE0E0CZBMoym0myKn4mqe
T1T9FTegpk9RmoZHqPUGjamRoAMmgEKJIQgAkyZTaTFPEyp7VP0MlPU/Ip6g3qjyQGg9EHqNNAPU
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
+XR+3J/AhlC6v/8XckU4UJACFrGq

--b1_CmxQqiv3yCWFqcxDSMhi1ZAFzn3xKXJETb735mkfA
Content-Type: text/x-log; name=lspci_verbose.log
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=lspci_verbose.log

MDA6MDAuMCBIb3N0IGJyaWRnZTogQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLiBbQU1EXSBE
ZXZpY2UgMTRiNSAocmV2IDAxKQoJU3Vic3lzdGVtOiBMZW5vdm8gRGV2aWNlIDM4MGEKCUNvbnRy
b2w6IEkvTy0gTWVtLSBCdXNNYXN0ZXItIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtIFBh
ckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgtCglTdGF0dXM6IENhcC0gNjZN
SHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0LSA8
TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCgowMDowMC4yIElPTU1VOiBBZHZhbmNlZCBNaWNy
byBEZXZpY2VzLCBJbmMuIFtBTURdIERldmljZSAxNGI2CglTdWJzeXN0ZW06IExlbm92byBEZXZp
Y2UgMzgwOAoJQ29udHJvbDogSS9PLSBNZW0tIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5W
LSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeC0KCVN0
YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJv
cnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAKCUlu
dGVycnVwdDogcGluIEEgcm91dGVkIHRvIElSUSAyNTUKCUNhcGFiaWxpdGllczogWzQwXSBTZWN1
cmUgZGV2aWNlIDw/PgoJQ2FwYWJpbGl0aWVzOiBbNjRdIE1TSTogRW5hYmxlKyBDb3VudD0xLzQg
TWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6IDAwMDAwMDAwZmVlMDEwMGMgIERhdGE6IDQxMzAK
CUNhcGFiaWxpdGllczogWzc0XSBIeXBlclRyYW5zcG9ydDogTVNJIE1hcHBpbmcgRW5hYmxlKyBG
aXhlZCsKCjAwOjAxLjAgSG9zdCBicmlkZ2U6IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4g
W0FNRF0gRGV2aWNlIDE0YjcgKHJldiAwMSkKCUNvbnRyb2w6IEkvTy0gTWVtLSBCdXNNYXN0ZXIt
IFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtIFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZh
c3RCMkItIERpc0lOVHgtCglTdGF0dXM6IENhcC0gNjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJy
LSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElO
VHgtCgowMDowMS4xIFBDSSBicmlkZ2U6IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FN
RF0gRGV2aWNlIDE0YjggKHByb2ctaWYgMDAgW05vcm1hbCBkZWNvZGVdKQoJQ29udHJvbDogSS9P
KyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBT
dGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeCsKCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURG
LSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQt
ID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAsIENhY2hlIExpbmUgU2l6ZTogNjQgYnl0
ZXMKCUludGVycnVwdDogcGluID8gcm91dGVkIHRvIElSUSA3MAoJQnVzOiBwcmltYXJ5PTAwLCBz
ZWNvbmRhcnk9MDEsIHN1Ym9yZGluYXRlPTAxLCBzZWMtbGF0ZW5jeT0wCglJL08gYmVoaW5kIGJy
aWRnZTogMDAwMDIwMDAtMDAwMDJmZmYgW3NpemU9NEtdCglNZW1vcnkgYmVoaW5kIGJyaWRnZTog
ODAwMDAwMDAtODBmZmZmZmYgW3NpemU9MTZNXQoJUHJlZmV0Y2hhYmxlIG1lbW9yeSBiZWhpbmQg
YnJpZGdlOiAwMDAwMDA4MjAwMDAwMDAwLTAwMDAwMDgzMDFmZmZmZmYgW3NpemU9NDEyOE1dCglT
ZWNvbmRhcnkgc3RhdHVzOiA2Nk1Iei0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFi
b3J0LSA8VEFib3J0LSA8TUFib3J0KyA8U0VSUi0gPFBFUlItCglCcmlkZ2VDdGw6IFBhcml0eS0g
U0VSUisgTm9JU0EtIFZHQS0gVkdBMTYtIE1BYm9ydC0gPlJlc2V0LSBGYXN0QjJCLQoJCVByaURp
c2NUbXItIFNlY0Rpc2NUbXItIERpc2NUbXJTdGF0LSBEaXNjVG1yU0VSUkVuLQoJQ2FwYWJpbGl0
aWVzOiBbNTBdIFBvd2VyIE1hbmFnZW1lbnQgdmVyc2lvbiAzCgkJRmxhZ3M6IFBNRUNsay0gRFNJ
LSBEMS0gRDItIEF1eEN1cnJlbnQ9MG1BIFBNRShEMCssRDEtLEQyLSxEM2hvdCssRDNjb2xkKykK
CQlTdGF0dXM6IEQwIE5vU29mdFJzdC0gUE1FLUVuYWJsZS0gRFNlbD0wIERTY2FsZT0wIFBNRS0K
CUNhcGFiaWxpdGllczogWzU4XSBFeHByZXNzICh2MikgUm9vdCBQb3J0IChTbG90KyksIE1TSSAw
MAoJCURldkNhcDoJTWF4UGF5bG9hZCAyNTYgYnl0ZXMsIFBoYW50RnVuYyAwCgkJCUV4dFRhZysg
UkJFKwoJCURldkN0bDoJQ29yckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0K
CQkJUmx4ZE9yZCsgRXh0VGFnKyBQaGFudEZ1bmMtIEF1eFB3ci0gTm9Tbm9vcCsKCQkJTWF4UGF5
bG9hZCAyNTYgYnl0ZXMsIE1heFJlYWRSZXEgNTEyIGJ5dGVzCgkJRGV2U3RhOglDb3JyRXJyLSBO
b25GYXRhbEVyci0gRmF0YWxFcnItIFVuc3VwUmVxLSBBdXhQd3ItIFRyYW5zUGVuZC0KCQlMbmtD
YXA6CVBvcnQgIzAsIFNwZWVkIDE2R1QvcywgV2lkdGggeDgsIEFTUE0gTDEsIEV4aXQgTGF0ZW5j
eSBMMSA8NjR1cwoJCQlDbG9ja1BNLSBTdXJwcmlzZS0gTExBY3RSZXArIEJ3Tm90KyBBU1BNT3B0
Q29tcCsKCQlMbmtDdGw6CUFTUE0gTDEgRW5hYmxlZDsgUkNCIDY0IGJ5dGVzLCBEaXNhYmxlZC0g
Q29tbUNsaysKCQkJRXh0U3luY2gtIENsb2NrUE0tIEF1dFdpZERpcy0gQldJbnQtIEF1dEJXSW50
LQoJCUxua1N0YToJU3BlZWQgMTZHVC9zIChvayksIFdpZHRoIHg4IChvaykKCQkJVHJFcnItIFRy
YWluLSBTbG90Q2xrKyBETEFjdGl2ZSsgQldNZ210KyBBQldNZ210LQoJCVNsdENhcDoJQXR0bkJ0
bi0gUHdyQ3RybC0gTVJMLSBBdHRuSW5kLSBQd3JJbmQtIEhvdFBsdWcrIFN1cnByaXNlLQoJCQlT
bG90ICMwLCBQb3dlckxpbWl0IDc1LjAwMFc7IEludGVybG9jay0gTm9Db21wbCsKCQlTbHRDdGw6
CUVuYWJsZTogQXR0bkJ0bi0gUHdyRmx0LSBNUkwtIFByZXNEZXQtIENtZENwbHQtIEhQSXJxKyBM
aW5rQ2hnLQoJCQlDb250cm9sOiBBdHRuSW5kIFVua25vd24sIFB3ckluZCBVbmtub3duLCBQb3dl
ci0gSW50ZXJsb2NrLQoJCVNsdFN0YToJU3RhdHVzOiBBdHRuQnRuLSBQb3dlckZsdC0gTVJMLSBD
bWRDcGx0LSBQcmVzRGV0KyBJbnRlcmxvY2stCgkJCUNoYW5nZWQ6IE1STC0gUHJlc0RldC0gTGlu
a1N0YXRlLQoJCVJvb3RDYXA6IENSU1Zpc2libGUrCgkJUm9vdEN0bDogRXJyQ29ycmVjdGFibGUt
IEVyck5vbi1GYXRhbC0gRXJyRmF0YWwtIFBNRUludEVuYSsgQ1JTVmlzaWJsZSsKCQlSb290U3Rh
OiBQTUUgUmVxSUQgMDAwMCwgUE1FU3RhdHVzLSBQTUVQZW5kaW5nLQoJCURldkNhcDI6IENvbXBs
ZXRpb24gVGltZW91dDogUmFuZ2UgQUJDRCwgVGltZW91dERpcysgTlJPUHJQclAtIExUUisKCQkJ
IDEwQml0VGFnQ29tcCsgMTBCaXRUYWdSZXErIE9CRkYgTm90IFN1cHBvcnRlZCwgRXh0Rm10KyBF
RVRMUFByZWZpeCssIE1heEVFVExQUHJlZml4ZXMgMQoJCQkgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rp
b24gTm90IFN1cHBvcnRlZCwgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb25Jbml0LQoJCQkgRlJTLSBM
TiBTeXN0ZW0gQ0xTIE5vdCBTdXBwb3J0ZWQsIFRQSENvbXArIEV4dFRQSENvbXAtIEFSSUZ3ZCsK
CQkJIEF0b21pY09wc0NhcDogUm91dGluZysgMzJiaXQrIDY0Yml0KyAxMjhiaXRDQVMtCgkJRGV2
Q3RsMjogQ29tcGxldGlvbiBUaW1lb3V0OiA2NW1zIHRvIDIxMG1zLCBUaW1lb3V0RGlzLSBMVFIr
IE9CRkYgRGlzYWJsZWQsIEFSSUZ3ZC0KCQkJIEF0b21pY09wc0N0bDogUmVxRW4tIEVncmVzc0Js
Y2stCgkJTG5rQ2FwMjogU3VwcG9ydGVkIExpbmsgU3BlZWRzOiAyLjUtMTZHVC9zLCBDcm9zc2xp
bmstIFJldGltZXIrIDJSZXRpbWVycysgRFJTLQoJCUxua0N0bDI6IFRhcmdldCBMaW5rIFNwZWVk
OiAxNkdUL3MsIEVudGVyQ29tcGxpYW5jZS0gU3BlZWREaXMtCgkJCSBUcmFuc21pdCBNYXJnaW46
IE5vcm1hbCBPcGVyYXRpbmcgUmFuZ2UsIEVudGVyTW9kaWZpZWRDb21wbGlhbmNlLSBDb21wbGlh
bmNlU09TLQoJCQkgQ29tcGxpYW5jZSBEZS1lbXBoYXNpczogLTZkQgoJCUxua1N0YTI6IEN1cnJl
bnQgRGUtZW1waGFzaXMgTGV2ZWw6IC0zLjVkQiwgRXF1YWxpemF0aW9uQ29tcGxldGUrIEVxdWFs
aXphdGlvblBoYXNlMSsKCQkJIEVxdWFsaXphdGlvblBoYXNlMisgRXF1YWxpemF0aW9uUGhhc2Uz
KyBMaW5rRXF1YWxpemF0aW9uUmVxdWVzdC0KCQkJIFJldGltZXItIDJSZXRpbWVycy0gQ3Jvc3Ns
aW5rUmVzOiB1bnN1cHBvcnRlZAoJQ2FwYWJpbGl0aWVzOiBbYTBdIE1TSTogRW5hYmxlKyBDb3Vu
dD0xLzEgTWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6IDAwMDAwMDAwZmVlMDEwMGMgIERhdGE6
IDQwMDAKCUNhcGFiaWxpdGllczogW2MwXSBTdWJzeXN0ZW06IExlbm92byBEZXZpY2UgMzgyNwoJ
Q2FwYWJpbGl0aWVzOiBbYzhdIEh5cGVyVHJhbnNwb3J0OiBNU0kgTWFwcGluZyBFbmFibGUrIEZp
eGVkKwoJQ2FwYWJpbGl0aWVzOiBbMTAwIHYxXSBWZW5kb3IgU3BlY2lmaWMgSW5mb3JtYXRpb246
IElEPTAwMDEgUmV2PTEgTGVuPTAxMCA8Pz4KCUNhcGFiaWxpdGllczogWzE1MCB2Ml0gQWR2YW5j
ZWQgRXJyb3IgUmVwb3J0aW5nCgkJVUVTdGE6CURMUC0gU0RFUy0gVExQLSBGQ1AtIENtcGx0VE8t
IENtcGx0QWJydC0gVW54Q21wbHQtIFJ4T0YtIE1hbGZUTFAtIEVDUkMtIFVuc3VwUmVxLSBBQ1NW
aW9sLQoJCVVFTXNrOglETFAtIFNERVMtIFRMUC0gRkNQLSBDbXBsdFRPLSBDbXBsdEFicnQtIFVu
eENtcGx0LSBSeE9GLSBNYWxmVExQLSBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0KCQlVRVN2cnQ6
CURMUC0gU0RFUysgVExQLSBGQ1ArIENtcGx0VE8tIENtcGx0QWJydC0gVW54Q21wbHQtIFJ4T0Yr
IE1hbGZUTFAtIEVDUkMtIFVuc3VwUmVxLSBBQ1NWaW9sLQoJCUNFU3RhOglSeEVyci0gQmFkVExQ
LSBCYWRETExQLSBSb2xsb3Zlci0gVGltZW91dC0gQWR2Tm9uRmF0YWxFcnItCgkJQ0VNc2s6CVJ4
RXJyLSBCYWRUTFAtIEJhZERMTFAtIFJvbGxvdmVyLSBUaW1lb3V0LSBBZHZOb25GYXRhbEVycisK
CQlBRVJDYXA6CUZpcnN0IEVycm9yIFBvaW50ZXI6IDAwLCBFQ1JDR2VuQ2FwKyBFQ1JDR2VuRW4t
IEVDUkNDaGtDYXArIEVDUkNDaGtFbi0KCQkJTXVsdEhkclJlY0NhcC0gTXVsdEhkclJlY0VuLSBU
TFBQZnhQcmVzLSBIZHJMb2dDYXAtCgkJSGVhZGVyTG9nOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAoJCVJvb3RDbWQ6IENFUnB0RW4tIE5GRVJwdEVuLSBGRVJwdEVuLQoJCVJv
b3RTdGE6IENFUmN2ZC0gTXVsdENFUmN2ZC0gVUVSY3ZkLSBNdWx0VUVSY3ZkLQoJCQkgRmlyc3RG
YXRhbC0gTm9uRmF0YWxNc2ctIEZhdGFsTXNnLSBJbnRNc2cgMAoJCUVycm9yU3JjOiBFUlJfQ09S
OiAwMDAwIEVSUl9GQVRBTC9OT05GQVRBTDogMDAwMAoJQ2FwYWJpbGl0aWVzOiBbMjcwIHYxXSBT
ZWNvbmRhcnkgUENJIEV4cHJlc3MKCQlMbmtDdGwzOiBMbmtFcXVJbnRycnVwdEVuLSBQZXJmb3Jt
RXF1LQoJCUxhbmVFcnJTdGF0OiAwCglDYXBhYmlsaXRpZXM6IFsyYTAgdjFdIEFjY2VzcyBDb250
cm9sIFNlcnZpY2VzCgkJQUNTQ2FwOglTcmNWYWxpZCsgVHJhbnNCbGsrIFJlcVJlZGlyKyBDbXBs
dFJlZGlyKyBVcHN0cmVhbUZ3ZCsgRWdyZXNzQ3RybC0gRGlyZWN0VHJhbnMrCgkJQUNTQ3RsOglT
cmNWYWxpZCsgVHJhbnNCbGstIFJlcVJlZGlyKyBDbXBsdFJlZGlyKyBVcHN0cmVhbUZ3ZCsgRWdy
ZXNzQ3RybC0gRGlyZWN0VHJhbnMtCglDYXBhYmlsaXRpZXM6IFszNzAgdjFdIEwxIFBNIFN1YnN0
YXRlcwoJCUwxU3ViQ2FwOiBQQ0ktUE1fTDEuMisgUENJLVBNX0wxLjErIEFTUE1fTDEuMisgQVNQ
TV9MMS4xKyBMMV9QTV9TdWJzdGF0ZXMrCgkJCSAgUG9ydENvbW1vbk1vZGVSZXN0b3JlVGltZT0y
NTV1cyBQb3J0VFBvd2VyT25UaW1lPTE1MHVzCgkJTDFTdWJDdGwxOiBQQ0ktUE1fTDEuMisgUENJ
LVBNX0wxLjErIEFTUE1fTDEuMisgQVNQTV9MMS4xKwoJCQkgICBUX0NvbW1vbk1vZGU9MjU1dXMg
TFRSMS4yX1RocmVzaG9sZD0zOTMyMTZucwoJCUwxU3ViQ3RsMjogVF9Qd3JPbj0xNTB1cwoJQ2Fw
YWJpbGl0aWVzOiBbNDAwIHYxXSBEYXRhIExpbmsgRmVhdHVyZSA8Pz4KCUNhcGFiaWxpdGllczog
WzQxMCB2MV0gUGh5c2ljYWwgTGF5ZXIgMTYuMCBHVC9zIDw/PgoJQ2FwYWJpbGl0aWVzOiBbNDQw
IHYxXSBMYW5lIE1hcmdpbmluZyBhdCB0aGUgUmVjZWl2ZXIgPD8+CglLZXJuZWwgZHJpdmVyIGlu
IHVzZTogcGNpZXBvcnQKCjAwOjAyLjAgSG9zdCBicmlkZ2U6IEFkdmFuY2VkIE1pY3JvIERldmlj
ZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE0YjcgKHJldiAwMSkKCUNvbnRyb2w6IEkvTy0gTWVtLSBC
dXNNYXN0ZXItIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtIFBhckVyci0gU3RlcHBpbmct
IFNFUlItIEZhc3RCMkItIERpc0lOVHgtCglTdGF0dXM6IENhcC0gNjZNSHotIFVERi0gRmFzdEIy
Qi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0g
PFBFUlItIElOVHgtCgowMDowMi4zIFBDSSBicmlkZ2U6IEFkdmFuY2VkIE1pY3JvIERldmljZXMs
IEluYy4gW0FNRF0gRGV2aWNlIDE0YmEgKHByb2ctaWYgMDAgW05vcm1hbCBkZWNvZGVdKQoJQ29u
dHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0g
UGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeCsKCVN0YXR1czogQ2FwKyA2
Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQt
IDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAsIENhY2hlIExpbmUgU2l6
ZTogNjQgYnl0ZXMKCUludGVycnVwdDogcGluID8gcm91dGVkIHRvIElSUSA3MQoJQnVzOiBwcmlt
YXJ5PTAwLCBzZWNvbmRhcnk9MDIsIHN1Ym9yZGluYXRlPTAyLCBzZWMtbGF0ZW5jeT0wCglJL08g
YmVoaW5kIGJyaWRnZTogMDAwMGYwMDAtMDAwMDBmZmYgW2Rpc2FibGVkXQoJTWVtb3J5IGJlaGlu
ZCBicmlkZ2U6IDgxODAwMDAwLTgxOGZmZmZmIFtzaXplPTFNXQoJUHJlZmV0Y2hhYmxlIG1lbW9y
eSBiZWhpbmQgYnJpZGdlOiAwMDAwMDA4MzAyMDAwMDAwLTAwMDAwMDgzMDIwZmZmZmYgW3NpemU9
MU1dCglTZWNvbmRhcnkgc3RhdHVzOiA2Nk1Iei0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFz
dCA+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0KyA8U0VSUi0gPFBFUlItCglCcmlkZ2VDdGw6IFBh
cml0eS0gU0VSUisgTm9JU0EtIFZHQS0gVkdBMTYtIE1BYm9ydC0gPlJlc2V0LSBGYXN0QjJCLQoJ
CVByaURpc2NUbXItIFNlY0Rpc2NUbXItIERpc2NUbXJTdGF0LSBEaXNjVG1yU0VSUkVuLQoJQ2Fw
YWJpbGl0aWVzOiBbNTBdIFBvd2VyIE1hbmFnZW1lbnQgdmVyc2lvbiAzCgkJRmxhZ3M6IFBNRUNs
ay0gRFNJLSBEMS0gRDItIEF1eEN1cnJlbnQ9MG1BIFBNRShEMCssRDEtLEQyLSxEM2hvdCssRDNj
b2xkKykKCQlTdGF0dXM6IEQwIE5vU29mdFJzdC0gUE1FLUVuYWJsZS0gRFNlbD0wIERTY2FsZT0w
IFBNRS0KCUNhcGFiaWxpdGllczogWzU4XSBFeHByZXNzICh2MikgUm9vdCBQb3J0IChTbG90Kyks
IE1TSSAwMAoJCURldkNhcDoJTWF4UGF5bG9hZCAyNTYgYnl0ZXMsIFBoYW50RnVuYyAwCgkJCUV4
dFRhZysgUkJFKwoJCURldkN0bDoJQ29yckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1
cFJlcS0KCQkJUmx4ZE9yZCsgRXh0VGFnKyBQaGFudEZ1bmMtIEF1eFB3ci0gTm9Tbm9vcCsKCQkJ
TWF4UGF5bG9hZCAxMjggYnl0ZXMsIE1heFJlYWRSZXEgNTEyIGJ5dGVzCgkJRGV2U3RhOglDb3Jy
RXJyLSBOb25GYXRhbEVyci0gRmF0YWxFcnItIFVuc3VwUmVxLSBBdXhQd3ItIFRyYW5zUGVuZC0K
CQlMbmtDYXA6CVBvcnQgIzMsIFNwZWVkIDE2R1QvcywgV2lkdGggeDEsIEFTUE0gTDEsIEV4aXQg
TGF0ZW5jeSBMMSA8NjR1cwoJCQlDbG9ja1BNLSBTdXJwcmlzZS0gTExBY3RSZXArIEJ3Tm90KyBB
U1BNT3B0Q29tcCsKCQlMbmtDdGw6CUFTUE0gTDEgRW5hYmxlZDsgUkNCIDY0IGJ5dGVzLCBEaXNh
YmxlZC0gQ29tbUNsaysKCQkJRXh0U3luY2gtIENsb2NrUE0tIEF1dFdpZERpcy0gQldJbnQtIEF1
dEJXSW50LQoJCUxua1N0YToJU3BlZWQgNUdUL3MgKGRvd25ncmFkZWQpLCBXaWR0aCB4MSAob2sp
CgkJCVRyRXJyLSBUcmFpbi0gU2xvdENsaysgRExBY3RpdmUrIEJXTWdtdCsgQUJXTWdtdCsKCQlT
bHRDYXA6CUF0dG5CdG4tIFB3ckN0cmwtIE1STC0gQXR0bkluZC0gUHdySW5kLSBIb3RQbHVnLSBT
dXJwcmlzZS0KCQkJU2xvdCAjMCwgUG93ZXJMaW1pdCA3NS4wMDBXOyBJbnRlcmxvY2stIE5vQ29t
cGwrCgkJU2x0Q3RsOglFbmFibGU6IEF0dG5CdG4tIFB3ckZsdC0gTVJMLSBQcmVzRGV0LSBDbWRD
cGx0LSBIUElycS0gTGlua0NoZy0KCQkJQ29udHJvbDogQXR0bkluZCBVbmtub3duLCBQd3JJbmQg
VW5rbm93biwgUG93ZXItIEludGVybG9jay0KCQlTbHRTdGE6CVN0YXR1czogQXR0bkJ0bi0gUG93
ZXJGbHQtIE1STC0gQ21kQ3BsdC0gUHJlc0RldCsgSW50ZXJsb2NrLQoJCQlDaGFuZ2VkOiBNUkwt
IFByZXNEZXQtIExpbmtTdGF0ZSsKCQlSb290Q2FwOiBDUlNWaXNpYmxlKwoJCVJvb3RDdGw6IEVy
ckNvcnJlY3RhYmxlLSBFcnJOb24tRmF0YWwtIEVyckZhdGFsLSBQTUVJbnRFbmErIENSU1Zpc2li
bGUrCgkJUm9vdFN0YTogUE1FIFJlcUlEIDAwMDAsIFBNRVN0YXR1cy0gUE1FUGVuZGluZy0KCQlE
ZXZDYXAyOiBDb21wbGV0aW9uIFRpbWVvdXQ6IFJhbmdlIEFCQ0QsIFRpbWVvdXREaXMrIE5ST1By
UHJQLSBMVFIrCgkJCSAxMEJpdFRhZ0NvbXArIDEwQml0VGFnUmVxKyBPQkZGIE5vdCBTdXBwb3J0
ZWQsIEV4dEZtdCsgRUVUTFBQcmVmaXgrLCBNYXhFRVRMUFByZWZpeGVzIDEKCQkJIEVtZXJnZW5j
eVBvd2VyUmVkdWN0aW9uIE5vdCBTdXBwb3J0ZWQsIEVtZXJnZW5jeVBvd2VyUmVkdWN0aW9uSW5p
dC0KCQkJIEZSUy0gTE4gU3lzdGVtIENMUyBOb3QgU3VwcG9ydGVkLCBUUEhDb21wKyBFeHRUUEhD
b21wLSBBUklGd2QrCgkJCSBBdG9taWNPcHNDYXA6IFJvdXRpbmcrIDMyYml0KyA2NGJpdCsgMTI4
Yml0Q0FTLQoJCURldkN0bDI6IENvbXBsZXRpb24gVGltZW91dDogNjVtcyB0byAyMTBtcywgVGlt
ZW91dERpcy0gTFRSKyBPQkZGIERpc2FibGVkLCBBUklGd2QtCgkJCSBBdG9taWNPcHNDdGw6IFJl
cUVuLSBFZ3Jlc3NCbGNrLQoJCUxua0NhcDI6IFN1cHBvcnRlZCBMaW5rIFNwZWVkczogMi41LTE2
R1QvcywgQ3Jvc3NsaW5rLSBSZXRpbWVyKyAyUmV0aW1lcnMrIERSUy0KCQlMbmtDdGwyOiBUYXJn
ZXQgTGluayBTcGVlZDogNUdUL3MsIEVudGVyQ29tcGxpYW5jZS0gU3BlZWREaXMtCgkJCSBUcmFu
c21pdCBNYXJnaW46IE5vcm1hbCBPcGVyYXRpbmcgUmFuZ2UsIEVudGVyTW9kaWZpZWRDb21wbGlh
bmNlLSBDb21wbGlhbmNlU09TLQoJCQkgQ29tcGxpYW5jZSBEZS1lbXBoYXNpczogLTZkQgoJCUxu
a1N0YTI6IEN1cnJlbnQgRGUtZW1waGFzaXMgTGV2ZWw6IC0zLjVkQiwgRXF1YWxpemF0aW9uQ29t
cGxldGUtIEVxdWFsaXphdGlvblBoYXNlMS0KCQkJIEVxdWFsaXphdGlvblBoYXNlMi0gRXF1YWxp
emF0aW9uUGhhc2UzLSBMaW5rRXF1YWxpemF0aW9uUmVxdWVzdC0KCQkJIFJldGltZXItIDJSZXRp
bWVycy0gQ3Jvc3NsaW5rUmVzOiB1bnN1cHBvcnRlZAoJQ2FwYWJpbGl0aWVzOiBbYTBdIE1TSTog
RW5hYmxlKyBDb3VudD0xLzEgTWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6IDAwMDAwMDAwZmVl
MDEwMGMgIERhdGE6IDQwMDAKCUNhcGFiaWxpdGllczogW2MwXSBTdWJzeXN0ZW06IExlbm92byBE
ZXZpY2UgMzgyNwoJQ2FwYWJpbGl0aWVzOiBbYzhdIEh5cGVyVHJhbnNwb3J0OiBNU0kgTWFwcGlu
ZyBFbmFibGUrIEZpeGVkKwoJQ2FwYWJpbGl0aWVzOiBbMTAwIHYxXSBWZW5kb3IgU3BlY2lmaWMg
SW5mb3JtYXRpb246IElEPTAwMDEgUmV2PTEgTGVuPTAxMCA8Pz4KCUNhcGFiaWxpdGllczogWzE1
MCB2Ml0gQWR2YW5jZWQgRXJyb3IgUmVwb3J0aW5nCgkJVUVTdGE6CURMUC0gU0RFUy0gVExQLSBG
Q1AtIENtcGx0VE8tIENtcGx0QWJydC0gVW54Q21wbHQtIFJ4T0YtIE1hbGZUTFAtIEVDUkMtIFVu
c3VwUmVxLSBBQ1NWaW9sLQoJCVVFTXNrOglETFAtIFNERVMtIFRMUC0gRkNQLSBDbXBsdFRPLSBD
bXBsdEFicnQtIFVueENtcGx0LSBSeE9GLSBNYWxmVExQLSBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlv
bC0KCQlVRVN2cnQ6CURMUC0gU0RFUysgVExQLSBGQ1ArIENtcGx0VE8tIENtcGx0QWJydC0gVW54
Q21wbHQtIFJ4T0YrIE1hbGZUTFAtIEVDUkMtIFVuc3VwUmVxLSBBQ1NWaW9sLQoJCUNFU3RhOglS
eEVyci0gQmFkVExQLSBCYWRETExQLSBSb2xsb3Zlci0gVGltZW91dC0gQWR2Tm9uRmF0YWxFcnIt
CgkJQ0VNc2s6CVJ4RXJyLSBCYWRUTFAtIEJhZERMTFAtIFJvbGxvdmVyLSBUaW1lb3V0LSBBZHZO
b25GYXRhbEVycisKCQlBRVJDYXA6CUZpcnN0IEVycm9yIFBvaW50ZXI6IDAwLCBFQ1JDR2VuQ2Fw
KyBFQ1JDR2VuRW4tIEVDUkNDaGtDYXArIEVDUkNDaGtFbi0KCQkJTXVsdEhkclJlY0NhcC0gTXVs
dEhkclJlY0VuLSBUTFBQZnhQcmVzLSBIZHJMb2dDYXAtCgkJSGVhZGVyTG9nOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAoJCVJvb3RDbWQ6IENFUnB0RW4tIE5GRVJwdEVuLSBG
RVJwdEVuLQoJCVJvb3RTdGE6IENFUmN2ZC0gTXVsdENFUmN2ZC0gVUVSY3ZkLSBNdWx0VUVSY3Zk
LQoJCQkgRmlyc3RGYXRhbC0gTm9uRmF0YWxNc2ctIEZhdGFsTXNnLSBJbnRNc2cgMAoJCUVycm9y
U3JjOiBFUlJfQ09SOiAwMDAwIEVSUl9GQVRBTC9OT05GQVRBTDogMDAwMAoJQ2FwYWJpbGl0aWVz
OiBbMjcwIHYxXSBTZWNvbmRhcnkgUENJIEV4cHJlc3MKCQlMbmtDdGwzOiBMbmtFcXVJbnRycnVw
dEVuLSBQZXJmb3JtRXF1LQoJCUxhbmVFcnJTdGF0OiAwCglDYXBhYmlsaXRpZXM6IFsyYTAgdjFd
IEFjY2VzcyBDb250cm9sIFNlcnZpY2VzCgkJQUNTQ2FwOglTcmNWYWxpZCsgVHJhbnNCbGsrIFJl
cVJlZGlyKyBDbXBsdFJlZGlyKyBVcHN0cmVhbUZ3ZCsgRWdyZXNzQ3RybC0gRGlyZWN0VHJhbnMr
CgkJQUNTQ3RsOglTcmNWYWxpZCsgVHJhbnNCbGstIFJlcVJlZGlyKyBDbXBsdFJlZGlyKyBVcHN0
cmVhbUZ3ZCsgRWdyZXNzQ3RybC0gRGlyZWN0VHJhbnMtCglDYXBhYmlsaXRpZXM6IFszNzAgdjFd
IEwxIFBNIFN1YnN0YXRlcwoJCUwxU3ViQ2FwOiBQQ0ktUE1fTDEuMisgUENJLVBNX0wxLjErIEFT
UE1fTDEuMisgQVNQTV9MMS4xKyBMMV9QTV9TdWJzdGF0ZXMrCgkJCSAgUG9ydENvbW1vbk1vZGVS
ZXN0b3JlVGltZT0xMHVzIFBvcnRUUG93ZXJPblRpbWU9MTUwdXMKCQlMMVN1YkN0bDE6IFBDSS1Q
TV9MMS4yKyBQQ0ktUE1fTDEuMSsgQVNQTV9MMS4yKyBBU1BNX0wxLjErCgkJCSAgIFRfQ29tbW9u
TW9kZT0xMHVzIExUUjEuMl9UaHJlc2hvbGQ9MTYzODQwbnMKCQlMMVN1YkN0bDI6IFRfUHdyT249
MTUwdXMKCUNhcGFiaWxpdGllczogWzQwMCB2MV0gRGF0YSBMaW5rIEZlYXR1cmUgPD8+CglDYXBh
YmlsaXRpZXM6IFs0MTAgdjFdIFBoeXNpY2FsIExheWVyIDE2LjAgR1QvcyA8Pz4KCUNhcGFiaWxp
dGllczogWzQ0MCB2MV0gTGFuZSBNYXJnaW5pbmcgYXQgdGhlIFJlY2VpdmVyIDw/PgoJS2VybmVs
IGRyaXZlciBpbiB1c2U6IHBjaWVwb3J0CgowMDowMi40IFBDSSBicmlkZ2U6IEFkdmFuY2VkIE1p
Y3JvIERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE0YmEgKHByb2ctaWYgMDAgW05vcm1hbCBk
ZWNvZGVdKQoJQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5W
LSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeCsKCVN0
YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJv
cnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAsIENh
Y2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMKCUludGVycnVwdDogcGluID8gcm91dGVkIHRvIElSUSA3
MgoJQnVzOiBwcmltYXJ5PTAwLCBzZWNvbmRhcnk9MDMsIHN1Ym9yZGluYXRlPTAzLCBzZWMtbGF0
ZW5jeT0wCglJL08gYmVoaW5kIGJyaWRnZTogMDAwMGYwMDAtMDAwMDBmZmYgW2Rpc2FibGVkXQoJ
TWVtb3J5IGJlaGluZCBicmlkZ2U6IDgxNzAwMDAwLTgxN2ZmZmZmIFtzaXplPTFNXQoJUHJlZmV0
Y2hhYmxlIG1lbW9yeSBiZWhpbmQgYnJpZGdlOiAwMDAwMDAwMGZmZjAwMDAwLTAwMDAwMDAwMDAw
ZmZmZmYgW2Rpc2FibGVkXQoJU2Vjb25kYXJ5IHN0YXR1czogNjZNSHotIEZhc3RCMkItIFBhckVy
ci0gREVWU0VMPWZhc3QgPlRBYm9ydC0gPFRBYm9ydC0gPE1BYm9ydCsgPFNFUlItIDxQRVJSLQoJ
QnJpZGdlQ3RsOiBQYXJpdHktIFNFUlIrIE5vSVNBLSBWR0EtIFZHQTE2LSBNQWJvcnQtID5SZXNl
dC0gRmFzdEIyQi0KCQlQcmlEaXNjVG1yLSBTZWNEaXNjVG1yLSBEaXNjVG1yU3RhdC0gRGlzY1Rt
clNFUlJFbi0KCUNhcGFiaWxpdGllczogWzUwXSBQb3dlciBNYW5hZ2VtZW50IHZlcnNpb24gMwoJ
CUZsYWdzOiBQTUVDbGstIERTSS0gRDEtIEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDArLEQxLSxE
Mi0sRDNob3QrLEQzY29sZCspCgkJU3RhdHVzOiBEMCBOb1NvZnRSc3QtIFBNRS1FbmFibGUtIERT
ZWw9MCBEU2NhbGU9MCBQTUUtCglDYXBhYmlsaXRpZXM6IFs1OF0gRXhwcmVzcyAodjIpIFJvb3Qg
UG9ydCAoU2xvdCspLCBNU0kgMDAKCQlEZXZDYXA6CU1heFBheWxvYWQgMjU2IGJ5dGVzLCBQaGFu
dEZ1bmMgMAoJCQlFeHRUYWcrIFJCRSsKCQlEZXZDdGw6CUNvcnJFcnItIE5vbkZhdGFsRXJyLSBG
YXRhbEVyci0gVW5zdXBSZXEtCgkJCVJseGRPcmQrIEV4dFRhZysgUGhhbnRGdW5jLSBBdXhQd3It
IE5vU25vb3ArCgkJCU1heFBheWxvYWQgMjU2IGJ5dGVzLCBNYXhSZWFkUmVxIDUxMiBieXRlcwoJ
CURldlN0YToJQ29yckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0gQXV4UHdy
LSBUcmFuc1BlbmQtCgkJTG5rQ2FwOglQb3J0ICMwLCBTcGVlZCAxNkdUL3MsIFdpZHRoIHg0LCBB
U1BNIEwxLCBFeGl0IExhdGVuY3kgTDEgPDY0dXMKCQkJQ2xvY2tQTS0gU3VycHJpc2UtIExMQWN0
UmVwKyBCd05vdCsgQVNQTU9wdENvbXArCgkJTG5rQ3RsOglBU1BNIEwxIEVuYWJsZWQ7IFJDQiA2
NCBieXRlcywgRGlzYWJsZWQtIENvbW1DbGsrCgkJCUV4dFN5bmNoLSBDbG9ja1BNLSBBdXRXaWRE
aXMtIEJXSW50LSBBdXRCV0ludC0KCQlMbmtTdGE6CVNwZWVkIDE2R1QvcyAob2spLCBXaWR0aCB4
NCAob2spCgkJCVRyRXJyLSBUcmFpbi0gU2xvdENsaysgRExBY3RpdmUrIEJXTWdtdCsgQUJXTWdt
dC0KCQlTbHRDYXA6CUF0dG5CdG4tIFB3ckN0cmwtIE1STC0gQXR0bkluZC0gUHdySW5kLSBIb3RQ
bHVnLSBTdXJwcmlzZS0KCQkJU2xvdCAjMCwgUG93ZXJMaW1pdCA3NS4wMDBXOyBJbnRlcmxvY2st
IE5vQ29tcGwrCgkJU2x0Q3RsOglFbmFibGU6IEF0dG5CdG4tIFB3ckZsdC0gTVJMLSBQcmVzRGV0
LSBDbWRDcGx0LSBIUElycS0gTGlua0NoZy0KCQkJQ29udHJvbDogQXR0bkluZCBVbmtub3duLCBQ
d3JJbmQgVW5rbm93biwgUG93ZXItIEludGVybG9jay0KCQlTbHRTdGE6CVN0YXR1czogQXR0bkJ0
bi0gUG93ZXJGbHQtIE1STC0gQ21kQ3BsdC0gUHJlc0RldCsgSW50ZXJsb2NrLQoJCQlDaGFuZ2Vk
OiBNUkwtIFByZXNEZXQtIExpbmtTdGF0ZS0KCQlSb290Q2FwOiBDUlNWaXNpYmxlKwoJCVJvb3RD
dGw6IEVyckNvcnJlY3RhYmxlLSBFcnJOb24tRmF0YWwtIEVyckZhdGFsLSBQTUVJbnRFbmErIENS
U1Zpc2libGUrCgkJUm9vdFN0YTogUE1FIFJlcUlEIDAwMDAsIFBNRVN0YXR1cy0gUE1FUGVuZGlu
Zy0KCQlEZXZDYXAyOiBDb21wbGV0aW9uIFRpbWVvdXQ6IFJhbmdlIEFCQ0QsIFRpbWVvdXREaXMr
IE5ST1ByUHJQLSBMVFIrCgkJCSAxMEJpdFRhZ0NvbXArIDEwQml0VGFnUmVxKyBPQkZGIE5vdCBT
dXBwb3J0ZWQsIEV4dEZtdCsgRUVUTFBQcmVmaXgrLCBNYXhFRVRMUFByZWZpeGVzIDEKCQkJIEVt
ZXJnZW5jeVBvd2VyUmVkdWN0aW9uIE5vdCBTdXBwb3J0ZWQsIEVtZXJnZW5jeVBvd2VyUmVkdWN0
aW9uSW5pdC0KCQkJIEZSUy0gTE4gU3lzdGVtIENMUyBOb3QgU3VwcG9ydGVkLCBUUEhDb21wKyBF
eHRUUEhDb21wLSBBUklGd2QrCgkJCSBBdG9taWNPcHNDYXA6IFJvdXRpbmcrIDMyYml0KyA2NGJp
dCsgMTI4Yml0Q0FTLQoJCURldkN0bDI6IENvbXBsZXRpb24gVGltZW91dDogNjVtcyB0byAyMTBt
cywgVGltZW91dERpcy0gTFRSKyBPQkZGIERpc2FibGVkLCBBUklGd2QtCgkJCSBBdG9taWNPcHND
dGw6IFJlcUVuLSBFZ3Jlc3NCbGNrLQoJCUxua0NhcDI6IFN1cHBvcnRlZCBMaW5rIFNwZWVkczog
Mi41LTE2R1QvcywgQ3Jvc3NsaW5rLSBSZXRpbWVyKyAyUmV0aW1lcnMrIERSUy0KCQlMbmtDdGwy
OiBUYXJnZXQgTGluayBTcGVlZDogMTZHVC9zLCBFbnRlckNvbXBsaWFuY2UtIFNwZWVkRGlzLQoJ
CQkgVHJhbnNtaXQgTWFyZ2luOiBOb3JtYWwgT3BlcmF0aW5nIFJhbmdlLCBFbnRlck1vZGlmaWVk
Q29tcGxpYW5jZS0gQ29tcGxpYW5jZVNPUy0KCQkJIENvbXBsaWFuY2UgRGUtZW1waGFzaXM6IC02
ZEIKCQlMbmtTdGEyOiBDdXJyZW50IERlLWVtcGhhc2lzIExldmVsOiAtMy41ZEIsIEVxdWFsaXph
dGlvbkNvbXBsZXRlKyBFcXVhbGl6YXRpb25QaGFzZTErCgkJCSBFcXVhbGl6YXRpb25QaGFzZTIr
IEVxdWFsaXphdGlvblBoYXNlMysgTGlua0VxdWFsaXphdGlvblJlcXVlc3QtCgkJCSBSZXRpbWVy
LSAyUmV0aW1lcnMtIENyb3NzbGlua1JlczogdW5zdXBwb3J0ZWQKCUNhcGFiaWxpdGllczogW2Ew
XSBNU0k6IEVuYWJsZSsgQ291bnQ9MS8xIE1hc2thYmxlLSA2NGJpdCsKCQlBZGRyZXNzOiAwMDAw
MDAwMGZlZTAxMDBjICBEYXRhOiA0MDAwCglDYXBhYmlsaXRpZXM6IFtjMF0gU3Vic3lzdGVtOiBM
ZW5vdm8gRGV2aWNlIDM4MjcKCUNhcGFiaWxpdGllczogW2M4XSBIeXBlclRyYW5zcG9ydDogTVNJ
IE1hcHBpbmcgRW5hYmxlKyBGaXhlZCsKCUNhcGFiaWxpdGllczogWzEwMCB2MV0gVmVuZG9yIFNw
ZWNpZmljIEluZm9ybWF0aW9uOiBJRD0wMDAxIFJldj0xIExlbj0wMTAgPD8+CglDYXBhYmlsaXRp
ZXM6IFsxNTAgdjJdIEFkdmFuY2VkIEVycm9yIFJlcG9ydGluZwoJCVVFU3RhOglETFAtIFNERVMt
IFRMUC0gRkNQLSBDbXBsdFRPLSBDbXBsdEFicnQtIFVueENtcGx0LSBSeE9GLSBNYWxmVExQLSBF
Q1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0KCQlVRU1zazoJRExQLSBTREVTLSBUTFAtIEZDUC0gQ21w
bHRUTy0gQ21wbHRBYnJ0LSBVbnhDbXBsdC0gUnhPRi0gTWFsZlRMUC0gRUNSQy0gVW5zdXBSZXEt
IEFDU1Zpb2wtCgkJVUVTdnJ0OglETFAtIFNERVMrIFRMUC0gRkNQKyBDbXBsdFRPLSBDbXBsdEFi
cnQtIFVueENtcGx0LSBSeE9GKyBNYWxmVExQLSBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0KCQlD
RVN0YToJUnhFcnItIEJhZFRMUC0gQmFkRExMUC0gUm9sbG92ZXItIFRpbWVvdXQtIEFkdk5vbkZh
dGFsRXJyLQoJCUNFTXNrOglSeEVyci0gQmFkVExQLSBCYWRETExQLSBSb2xsb3Zlci0gVGltZW91
dC0gQWR2Tm9uRmF0YWxFcnIrCgkJQUVSQ2FwOglGaXJzdCBFcnJvciBQb2ludGVyOiAwMCwgRUNS
Q0dlbkNhcCsgRUNSQ0dlbkVuLSBFQ1JDQ2hrQ2FwKyBFQ1JDQ2hrRW4tCgkJCU11bHRIZHJSZWND
YXAtIE11bHRIZHJSZWNFbi0gVExQUGZ4UHJlcy0gSGRyTG9nQ2FwLQoJCUhlYWRlckxvZzogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKCQlSb290Q21kOiBDRVJwdEVuLSBORkVS
cHRFbi0gRkVScHRFbi0KCQlSb290U3RhOiBDRVJjdmQtIE11bHRDRVJjdmQtIFVFUmN2ZC0gTXVs
dFVFUmN2ZC0KCQkJIEZpcnN0RmF0YWwtIE5vbkZhdGFsTXNnLSBGYXRhbE1zZy0gSW50TXNnIDAK
CQlFcnJvclNyYzogRVJSX0NPUjogMDAwMCBFUlJfRkFUQUwvTk9ORkFUQUw6IDAwMDAKCUNhcGFi
aWxpdGllczogWzI3MCB2MV0gU2Vjb25kYXJ5IFBDSSBFeHByZXNzCgkJTG5rQ3RsMzogTG5rRXF1
SW50cnJ1cHRFbi0gUGVyZm9ybUVxdS0KCQlMYW5lRXJyU3RhdDogMAoJQ2FwYWJpbGl0aWVzOiBb
MmEwIHYxXSBBY2Nlc3MgQ29udHJvbCBTZXJ2aWNlcwoJCUFDU0NhcDoJU3JjVmFsaWQrIFRyYW5z
QmxrKyBSZXFSZWRpcisgQ21wbHRSZWRpcisgVXBzdHJlYW1Gd2QrIEVncmVzc0N0cmwtIERpcmVj
dFRyYW5zKwoJCUFDU0N0bDoJU3JjVmFsaWQrIFRyYW5zQmxrLSBSZXFSZWRpcisgQ21wbHRSZWRp
cisgVXBzdHJlYW1Gd2QrIEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJQ2FwYWJpbGl0aWVzOiBb
MzcwIHYxXSBMMSBQTSBTdWJzdGF0ZXMKCQlMMVN1YkNhcDogUENJLVBNX0wxLjIrIFBDSS1QTV9M
MS4xKyBBU1BNX0wxLjIrIEFTUE1fTDEuMSsgTDFfUE1fU3Vic3RhdGVzKwoJCQkgIFBvcnRDb21t
b25Nb2RlUmVzdG9yZVRpbWU9MzJ1cyBQb3J0VFBvd2VyT25UaW1lPTE1MHVzCgkJTDFTdWJDdGwx
OiBQQ0ktUE1fTDEuMisgUENJLVBNX0wxLjErIEFTUE1fTDEuMisgQVNQTV9MMS4xLQoJCQkgICBU
X0NvbW1vbk1vZGU9MzJ1cyBMVFIxLjJfVGhyZXNob2xkPTE2Mzg0MG5zCgkJTDFTdWJDdGwyOiBU
X1B3ck9uPTE1MHVzCglDYXBhYmlsaXRpZXM6IFs0MDAgdjFdIERhdGEgTGluayBGZWF0dXJlIDw/
PgoJQ2FwYWJpbGl0aWVzOiBbNDEwIHYxXSBQaHlzaWNhbCBMYXllciAxNi4wIEdUL3MgPD8+CglD
YXBhYmlsaXRpZXM6IFs0NDAgdjFdIExhbmUgTWFyZ2luaW5nIGF0IHRoZSBSZWNlaXZlciA8Pz4K
CUtlcm5lbCBkcml2ZXIgaW4gdXNlOiBwY2llcG9ydAoKMDA6MDMuMCBIb3N0IGJyaWRnZTogQWR2
YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLiBbQU1EXSBEZXZpY2UgMTRiNyAocmV2IDAxKQoJQ29u
dHJvbDogSS9PLSBNZW0tIEJ1c01hc3Rlci0gU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0g
UGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeC0KCVN0YXR1czogQ2FwLSA2
Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQt
IDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCjAwOjA0LjAgSG9zdCBicmlkZ2U6IEFkdmFu
Y2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE0YjcgKHJldiAwMSkKCUNvbnRy
b2w6IEkvTy0gTWVtLSBCdXNNYXN0ZXItIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtIFBh
ckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgtCglTdGF0dXM6IENhcC0gNjZN
SHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0LSA8
TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCgowMDowOC4wIEhvc3QgYnJpZGdlOiBBZHZhbmNl
ZCBNaWNybyBEZXZpY2VzLCBJbmMuIFtBTURdIERldmljZSAxNGI3IChyZXYgMDEpCglDb250cm9s
OiBJL08tIE1lbS0gQnVzTWFzdGVyLSBTcGVjQ3ljbGUtIE1lbVdJTlYtIFZHQVNub29wLSBQYXJF
cnItIFN0ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQoJU3RhdHVzOiBDYXAtIDY2TUh6
LSBVREYtIEZhc3RCMkItIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0gPFRBYm9ydC0gPE1B
Ym9ydC0gPlNFUlItIDxQRVJSLSBJTlR4LQoKMDA6MDguMSBQQ0kgYnJpZGdlOiBBZHZhbmNlZCBN
aWNybyBEZXZpY2VzLCBJbmMuIFtBTURdIERldmljZSAxNGI5IChyZXYgMTApIChwcm9nLWlmIDAw
IFtOb3JtYWwgZGVjb2RlXSkKCUNvbnRyb2w6IEkvTysgTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNs
ZS0gTWVtV0lOVi0gVkdBU25vb3AtIFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERp
c0lOVHgrCglTdGF0dXM6IENhcCsgNjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9
ZmFzdCA+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCglMYXRl
bmN5OiAwLCBDYWNoZSBMaW5lIFNpemU6IDY0IGJ5dGVzCglJbnRlcnJ1cHQ6IHBpbiBBIHJvdXRl
ZCB0byBJUlEgNzMKCUJ1czogcHJpbWFyeT0wMCwgc2Vjb25kYXJ5PTA0LCBzdWJvcmRpbmF0ZT0w
NCwgc2VjLWxhdGVuY3k9MAoJSS9PIGJlaGluZCBicmlkZ2U6IDAwMDAxMDAwLTAwMDAxZmZmIFtz
aXplPTRLXQoJTWVtb3J5IGJlaGluZCBicmlkZ2U6IDgxMzAwMDAwLTgxNmZmZmZmIFtzaXplPTRN
XQoJUHJlZmV0Y2hhYmxlIG1lbW9yeSBiZWhpbmQgYnJpZGdlOiAwMDAwMDA4MzEwMDAwMDAwLTAw
MDAwMDgzMjAxZmZmZmYgW3NpemU9MjU4TV0KCVNlY29uZGFyeSBzdGF0dXM6IDY2TUh6LSBGYXN0
QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtIDxTRVJS
LSA8UEVSUi0KCUJyaWRnZUN0bDogUGFyaXR5LSBTRVJSKyBOb0lTQS0gVkdBKyBWR0ExNi0gTUFi
b3J0LSA+UmVzZXQtIEZhc3RCMkItCgkJUHJpRGlzY1Rtci0gU2VjRGlzY1Rtci0gRGlzY1RtclN0
YXQtIERpc2NUbXJTRVJSRW4tCglDYXBhYmlsaXRpZXM6IFs1MF0gUG93ZXIgTWFuYWdlbWVudCB2
ZXJzaW9uIDMKCQlGbGFnczogUE1FQ2xrLSBEU0ktIEQxLSBEMi0gQXV4Q3VycmVudD0wbUEgUE1F
KEQwKyxEMS0sRDItLEQzaG90KyxEM2NvbGQrKQoJCVN0YXR1czogRDAgTm9Tb2Z0UnN0LSBQTUUt
RW5hYmxlLSBEU2VsPTAgRFNjYWxlPTAgUE1FLQoJQ2FwYWJpbGl0aWVzOiBbNThdIEV4cHJlc3Mg
KHYyKSBSb290IFBvcnQgKFNsb3QtKSwgTVNJIDAwCgkJRGV2Q2FwOglNYXhQYXlsb2FkIDUxMiBi
eXRlcywgUGhhbnRGdW5jIDAKCQkJRXh0VGFnKyBSQkUrCgkJRGV2Q3RsOglDb3JyRXJyLSBOb25G
YXRhbEVyci0gRmF0YWxFcnItIFVuc3VwUmVxLQoJCQlSbHhkT3JkKyBFeHRUYWcrIFBoYW50RnVu
Yy0gQXV4UHdyLSBOb1Nub29wKwoJCQlNYXhQYXlsb2FkIDEyOCBieXRlcywgTWF4UmVhZFJlcSA1
MTIgYnl0ZXMKCQlEZXZTdGE6CUNvcnJFcnItIE5vbkZhdGFsRXJyLSBGYXRhbEVyci0gVW5zdXBS
ZXEtIEF1eFB3ci0gVHJhbnNQZW5kLQoJCUxua0NhcDoJUG9ydCAjMCwgU3BlZWQgMTZHVC9zLCBX
aWR0aCB4MTYsIEFTUE0gTDBzIEwxLCBFeGl0IExhdGVuY3kgTDBzIDw2NG5zLCBMMSA8MXVzCgkJ
CUNsb2NrUE0tIFN1cnByaXNlLSBMTEFjdFJlcCsgQndOb3QrIEFTUE1PcHRDb21wKwoJCUxua0N0
bDoJQVNQTSBEaXNhYmxlZDsgUkNCIDY0IGJ5dGVzLCBEaXNhYmxlZC0gQ29tbUNsaysKCQkJRXh0
U3luY2gtIENsb2NrUE0tIEF1dFdpZERpcy0gQldJbnQtIEF1dEJXSW50LQoJCUxua1N0YToJU3Bl
ZWQgMTZHVC9zIChvayksIFdpZHRoIHgxNiAob2spCgkJCVRyRXJyLSBUcmFpbi0gU2xvdENsaysg
RExBY3RpdmUrIEJXTWdtdCsgQUJXTWdtdC0KCQlSb290Q2FwOiBDUlNWaXNpYmxlKwoJCVJvb3RD
dGw6IEVyckNvcnJlY3RhYmxlLSBFcnJOb24tRmF0YWwtIEVyckZhdGFsLSBQTUVJbnRFbmErIENS
U1Zpc2libGUrCgkJUm9vdFN0YTogUE1FIFJlcUlEIDAwMDAsIFBNRVN0YXR1cy0gUE1FUGVuZGlu
Zy0KCQlEZXZDYXAyOiBDb21wbGV0aW9uIFRpbWVvdXQ6IE5vdCBTdXBwb3J0ZWQsIFRpbWVvdXRE
aXMtIE5ST1ByUHJQLSBMVFItCgkJCSAxMEJpdFRhZ0NvbXArIDEwQml0VGFnUmVxLSBPQkZGIE5v
dCBTdXBwb3J0ZWQsIEV4dEZtdCsgRUVUTFBQcmVmaXgrLCBNYXhFRVRMUFByZWZpeGVzIDQKCQkJ
IEVtZXJnZW5jeVBvd2VyUmVkdWN0aW9uIE5vdCBTdXBwb3J0ZWQsIEVtZXJnZW5jeVBvd2VyUmVk
dWN0aW9uSW5pdC0KCQkJIEZSUy0gTE4gU3lzdGVtIENMUyBOb3QgU3VwcG9ydGVkLCBUUEhDb21w
LSBFeHRUUEhDb21wLSBBUklGd2QtCgkJCSBBdG9taWNPcHNDYXA6IFJvdXRpbmcrIDMyYml0LSA2
NGJpdC0gMTI4Yml0Q0FTLQoJCURldkN0bDI6IENvbXBsZXRpb24gVGltZW91dDogNTB1cyB0byA1
MG1zLCBUaW1lb3V0RGlzLSBMVFItIE9CRkYgRGlzYWJsZWQsIEFSSUZ3ZC0KCQkJIEF0b21pY09w
c0N0bDogUmVxRW4tIEVncmVzc0JsY2stCgkJTG5rQ2FwMjogU3VwcG9ydGVkIExpbmsgU3BlZWRz
OiAyLjUtMTZHVC9zLCBDcm9zc2xpbmstIFJldGltZXIrIDJSZXRpbWVycysgRFJTLQoJCUxua0N0
bDI6IFRhcmdldCBMaW5rIFNwZWVkOiAxNkdUL3MsIEVudGVyQ29tcGxpYW5jZS0gU3BlZWREaXMt
CgkJCSBUcmFuc21pdCBNYXJnaW46IE5vcm1hbCBPcGVyYXRpbmcgUmFuZ2UsIEVudGVyTW9kaWZp
ZWRDb21wbGlhbmNlLSBDb21wbGlhbmNlU09TLQoJCQkgQ29tcGxpYW5jZSBEZS1lbXBoYXNpczog
LTZkQgoJCUxua1N0YTI6IEN1cnJlbnQgRGUtZW1waGFzaXMgTGV2ZWw6IC0zLjVkQiwgRXF1YWxp
emF0aW9uQ29tcGxldGUrIEVxdWFsaXphdGlvblBoYXNlMSsKCQkJIEVxdWFsaXphdGlvblBoYXNl
MisgRXF1YWxpemF0aW9uUGhhc2UzKyBMaW5rRXF1YWxpemF0aW9uUmVxdWVzdC0KCQkJIFJldGlt
ZXItIDJSZXRpbWVycy0gQ3Jvc3NsaW5rUmVzOiB1bnN1cHBvcnRlZAoJQ2FwYWJpbGl0aWVzOiBb
YTBdIE1TSTogRW5hYmxlKyBDb3VudD0xLzEgTWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6IDAw
MDAwMDAwZmVlMDEwMGMgIERhdGE6IDQwMDAKCUNhcGFiaWxpdGllczogW2MwXSBTdWJzeXN0ZW06
IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE0YjkKCUNhcGFiaWxp
dGllczogWzEwMCB2MV0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBJRD0wMDAxIFJldj0x
IExlbj0wMTAgPD8+CglDYXBhYmlsaXRpZXM6IFsyNzAgdjFdIFNlY29uZGFyeSBQQ0kgRXhwcmVz
cwoJCUxua0N0bDM6IExua0VxdUludHJydXB0RW4tIFBlcmZvcm1FcXUtCgkJTGFuZUVyclN0YXQ6
IDAKCUNhcGFiaWxpdGllczogWzJhMCB2MV0gQWNjZXNzIENvbnRyb2wgU2VydmljZXMKCQlBQ1ND
YXA6CVNyY1ZhbGlkKyBUcmFuc0JsaysgUmVxUmVkaXIrIENtcGx0UmVkaXIrIFVwc3RyZWFtRndk
KyBFZ3Jlc3NDdHJsLSBEaXJlY3RUcmFucysKCQlBQ1NDdGw6CVNyY1ZhbGlkKyBUcmFuc0Jsay0g
UmVxUmVkaXIrIENtcGx0UmVkaXIrIFVwc3RyZWFtRndkKyBFZ3Jlc3NDdHJsLSBEaXJlY3RUcmFu
cy0KCUNhcGFiaWxpdGllczogWzQwMCB2MV0gRGF0YSBMaW5rIEZlYXR1cmUgPD8+CglDYXBhYmls
aXRpZXM6IFs0MTAgdjFdIFBoeXNpY2FsIExheWVyIDE2LjAgR1QvcyA8Pz4KCUNhcGFiaWxpdGll
czogWzQ1MCB2MV0gTGFuZSBNYXJnaW5pbmcgYXQgdGhlIFJlY2VpdmVyIDw/PgoJS2VybmVsIGRy
aXZlciBpbiB1c2U6IHBjaWVwb3J0CgowMDowOC4zIFBDSSBicmlkZ2U6IEFkdmFuY2VkIE1pY3Jv
IERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE0YjkgKHJldiAxMCkgKHByb2ctaWYgMDAgW05v
cm1hbCBkZWNvZGVdKQoJQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBN
ZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5U
eCsKCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0
ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6
IDAsIENhY2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMKCUludGVycnVwdDogcGluIEEgcm91dGVkIHRv
IElSUSA3NAoJQnVzOiBwcmltYXJ5PTAwLCBzZWNvbmRhcnk9MDUsIHN1Ym9yZGluYXRlPTA1LCBz
ZWMtbGF0ZW5jeT0wCglJL08gYmVoaW5kIGJyaWRnZTogMDAwMGYwMDAtMDAwMDBmZmYgW2Rpc2Fi
bGVkXQoJTWVtb3J5IGJlaGluZCBicmlkZ2U6IDgxMDAwMDAwLTgxMmZmZmZmIFtzaXplPTNNXQoJ
UHJlZmV0Y2hhYmxlIG1lbW9yeSBiZWhpbmQgYnJpZGdlOiAwMDAwMDAwMGZmZjAwMDAwLTAwMDAw
MDAwMDAwZmZmZmYgW2Rpc2FibGVkXQoJU2Vjb25kYXJ5IHN0YXR1czogNjZNSHotIEZhc3RCMkIt
IFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0gPFRBYm9ydC0gPE1BYm9ydC0gPFNFUlItIDxQ
RVJSLQoJQnJpZGdlQ3RsOiBQYXJpdHktIFNFUlIrIE5vSVNBLSBWR0EtIFZHQTE2LSBNQWJvcnQt
ID5SZXNldC0gRmFzdEIyQi0KCQlQcmlEaXNjVG1yLSBTZWNEaXNjVG1yLSBEaXNjVG1yU3RhdC0g
RGlzY1RtclNFUlJFbi0KCUNhcGFiaWxpdGllczogWzUwXSBQb3dlciBNYW5hZ2VtZW50IHZlcnNp
b24gMwoJCUZsYWdzOiBQTUVDbGstIERTSS0gRDEtIEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDAr
LEQxLSxEMi0sRDNob3QrLEQzY29sZCspCgkJU3RhdHVzOiBEMCBOb1NvZnRSc3QtIFBNRS1FbmFi
bGUtIERTZWw9MCBEU2NhbGU9MCBQTUUtCglDYXBhYmlsaXRpZXM6IFs1OF0gRXhwcmVzcyAodjIp
IFJvb3QgUG9ydCAoU2xvdC0pLCBNU0kgMDAKCQlEZXZDYXA6CU1heFBheWxvYWQgNTEyIGJ5dGVz
LCBQaGFudEZ1bmMgMAoJCQlFeHRUYWcrIFJCRSsKCQlEZXZDdGw6CUNvcnJFcnItIE5vbkZhdGFs
RXJyLSBGYXRhbEVyci0gVW5zdXBSZXEtCgkJCVJseGRPcmQrIEV4dFRhZysgUGhhbnRGdW5jLSBB
dXhQd3ItIE5vU25vb3ArCgkJCU1heFBheWxvYWQgMTI4IGJ5dGVzLCBNYXhSZWFkUmVxIDUxMiBi
eXRlcwoJCURldlN0YToJQ29yckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0g
QXV4UHdyLSBUcmFuc1BlbmQtCgkJTG5rQ2FwOglQb3J0ICMwLCBTcGVlZCAxNkdUL3MsIFdpZHRo
IHgxNiwgQVNQTSBMMHMgTDEsIEV4aXQgTGF0ZW5jeSBMMHMgPDY0bnMsIEwxIDwxdXMKCQkJQ2xv
Y2tQTS0gU3VycHJpc2UtIExMQWN0UmVwKyBCd05vdCsgQVNQTU9wdENvbXArCgkJTG5rQ3RsOglB
U1BNIERpc2FibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2FibGVkLSBDb21tQ2xrKwoJCQlFeHRTeW5j
aC0gQ2xvY2tQTS0gQXV0V2lkRGlzLSBCV0ludC0gQXV0QldJbnQtCgkJTG5rU3RhOglTcGVlZCAx
NkdUL3MgKG9rKSwgV2lkdGggeDE2IChvaykKCQkJVHJFcnItIFRyYWluLSBTbG90Q2xrKyBETEFj
dGl2ZSsgQldNZ210KyBBQldNZ210LQoJCVJvb3RDYXA6IENSU1Zpc2libGUrCgkJUm9vdEN0bDog
RXJyQ29ycmVjdGFibGUtIEVyck5vbi1GYXRhbC0gRXJyRmF0YWwtIFBNRUludEVuYSsgQ1JTVmlz
aWJsZSsKCQlSb290U3RhOiBQTUUgUmVxSUQgMDUwMywgUE1FU3RhdHVzLSBQTUVQZW5kaW5nLQoJ
CURldkNhcDI6IENvbXBsZXRpb24gVGltZW91dDogTm90IFN1cHBvcnRlZCwgVGltZW91dERpcy0g
TlJPUHJQclAtIExUUi0KCQkJIDEwQml0VGFnQ29tcCsgMTBCaXRUYWdSZXEtIE9CRkYgTm90IFN1
cHBvcnRlZCwgRXh0Rm10LSBFRVRMUFByZWZpeC0KCQkJIEVtZXJnZW5jeVBvd2VyUmVkdWN0aW9u
IE5vdCBTdXBwb3J0ZWQsIEVtZXJnZW5jeVBvd2VyUmVkdWN0aW9uSW5pdC0KCQkJIEZSUy0gTE4g
U3lzdGVtIENMUyBOb3QgU3VwcG9ydGVkLCBUUEhDb21wLSBFeHRUUEhDb21wLSBBUklGd2QtCgkJ
CSBBdG9taWNPcHNDYXA6IFJvdXRpbmctIDMyYml0LSA2NGJpdC0gMTI4Yml0Q0FTLQoJCURldkN0
bDI6IENvbXBsZXRpb24gVGltZW91dDogNTB1cyB0byA1MG1zLCBUaW1lb3V0RGlzLSBMVFItIE9C
RkYgRGlzYWJsZWQsIEFSSUZ3ZC0KCQkJIEF0b21pY09wc0N0bDogUmVxRW4tIEVncmVzc0JsY2st
CgkJTG5rQ2FwMjogU3VwcG9ydGVkIExpbmsgU3BlZWRzOiAyLjUtMTZHVC9zLCBDcm9zc2xpbmst
IFJldGltZXIrIDJSZXRpbWVycysgRFJTLQoJCUxua0N0bDI6IFRhcmdldCBMaW5rIFNwZWVkOiAx
NkdUL3MsIEVudGVyQ29tcGxpYW5jZS0gU3BlZWREaXMtCgkJCSBUcmFuc21pdCBNYXJnaW46IE5v
cm1hbCBPcGVyYXRpbmcgUmFuZ2UsIEVudGVyTW9kaWZpZWRDb21wbGlhbmNlLSBDb21wbGlhbmNl
U09TLQoJCQkgQ29tcGxpYW5jZSBEZS1lbXBoYXNpczogLTZkQgoJCUxua1N0YTI6IEN1cnJlbnQg
RGUtZW1waGFzaXMgTGV2ZWw6IC0zLjVkQiwgRXF1YWxpemF0aW9uQ29tcGxldGUrIEVxdWFsaXph
dGlvblBoYXNlMSsKCQkJIEVxdWFsaXphdGlvblBoYXNlMisgRXF1YWxpemF0aW9uUGhhc2UzKyBM
aW5rRXF1YWxpemF0aW9uUmVxdWVzdC0KCQkJIFJldGltZXItIDJSZXRpbWVycy0gQ3Jvc3NsaW5r
UmVzOiB1bnN1cHBvcnRlZAoJQ2FwYWJpbGl0aWVzOiBbYTBdIE1TSTogRW5hYmxlKyBDb3VudD0x
LzEgTWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6IDAwMDAwMDAwZmVlMDEwMGMgIERhdGE6IDQw
MDAKCUNhcGFiaWxpdGllczogW2MwXSBTdWJzeXN0ZW06IEFkdmFuY2VkIE1pY3JvIERldmljZXMs
IEluYy4gW0FNRF0gRGV2aWNlIDE0YjkKCUNhcGFiaWxpdGllczogWzEwMCB2MV0gVmVuZG9yIFNw
ZWNpZmljIEluZm9ybWF0aW9uOiBJRD0wMDAxIFJldj0xIExlbj0wMTAgPD8+CglDYXBhYmlsaXRp
ZXM6IFsxNTAgdjJdIEFkdmFuY2VkIEVycm9yIFJlcG9ydGluZwoJCVVFU3RhOglETFAtIFNERVMt
IFRMUC0gRkNQLSBDbXBsdFRPLSBDbXBsdEFicnQtIFVueENtcGx0LSBSeE9GLSBNYWxmVExQLSBF
Q1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0KCQlVRU1zazoJRExQLSBTREVTLSBUTFAtIEZDUC0gQ21w
bHRUTy0gQ21wbHRBYnJ0LSBVbnhDbXBsdC0gUnhPRi0gTWFsZlRMUC0gRUNSQy0gVW5zdXBSZXEt
IEFDU1Zpb2wtCgkJVUVTdnJ0OglETFArIFNERVMrIFRMUC0gRkNQKyBDbXBsdFRPLSBDbXBsdEFi
cnQtIFVueENtcGx0LSBSeE9GKyBNYWxmVExQKyBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0KCQlD
RVN0YToJUnhFcnItIEJhZFRMUC0gQmFkRExMUC0gUm9sbG92ZXItIFRpbWVvdXQtIEFkdk5vbkZh
dGFsRXJyLQoJCUNFTXNrOglSeEVyci0gQmFkVExQLSBCYWRETExQLSBSb2xsb3Zlci0gVGltZW91
dC0gQWR2Tm9uRmF0YWxFcnIrCgkJQUVSQ2FwOglGaXJzdCBFcnJvciBQb2ludGVyOiAwMCwgRUNS
Q0dlbkNhcC0gRUNSQ0dlbkVuLSBFQ1JDQ2hrQ2FwLSBFQ1JDQ2hrRW4tCgkJCU11bHRIZHJSZWND
YXAtIE11bHRIZHJSZWNFbi0gVExQUGZ4UHJlcy0gSGRyTG9nQ2FwLQoJCUhlYWRlckxvZzogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKCQlSb290Q21kOiBDRVJwdEVuLSBORkVS
cHRFbi0gRkVScHRFbi0KCQlSb290U3RhOiBDRVJjdmQtIE11bHRDRVJjdmQtIFVFUmN2ZC0gTXVs
dFVFUmN2ZC0KCQkJIEZpcnN0RmF0YWwtIE5vbkZhdGFsTXNnLSBGYXRhbE1zZy0gSW50TXNnIDAK
CQlFcnJvclNyYzogRVJSX0NPUjogMDAwMCBFUlJfRkFUQUwvTk9ORkFUQUw6IDAwMDAKCUNhcGFi
aWxpdGllczogWzI3MCB2MV0gU2Vjb25kYXJ5IFBDSSBFeHByZXNzCgkJTG5rQ3RsMzogTG5rRXF1
SW50cnJ1cHRFbi0gUGVyZm9ybUVxdS0KCQlMYW5lRXJyU3RhdDogMAoJQ2FwYWJpbGl0aWVzOiBb
MmEwIHYxXSBBY2Nlc3MgQ29udHJvbCBTZXJ2aWNlcwoJCUFDU0NhcDoJU3JjVmFsaWQrIFRyYW5z
QmxrKyBSZXFSZWRpcisgQ21wbHRSZWRpcisgVXBzdHJlYW1Gd2QrIEVncmVzc0N0cmwtIERpcmVj
dFRyYW5zKwoJCUFDU0N0bDoJU3JjVmFsaWQrIFRyYW5zQmxrLSBSZXFSZWRpcisgQ21wbHRSZWRp
cisgVXBzdHJlYW1Gd2QrIEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJQ2FwYWJpbGl0aWVzOiBb
NDAwIHYxXSBEYXRhIExpbmsgRmVhdHVyZSA8Pz4KCUNhcGFiaWxpdGllczogWzQxMCB2MV0gUGh5
c2ljYWwgTGF5ZXIgMTYuMCBHVC9zIDw/PgoJQ2FwYWJpbGl0aWVzOiBbNDUwIHYxXSBMYW5lIE1h
cmdpbmluZyBhdCB0aGUgUmVjZWl2ZXIgPD8+CglLZXJuZWwgZHJpdmVyIGluIHVzZTogcGNpZXBv
cnQKCjAwOjE0LjAgU01CdXM6IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRF0gRkNI
IFNNQnVzIENvbnRyb2xsZXIgKHJldiA3MSkKCVN1YnN5c3RlbTogTGVub3ZvIERldmljZSAzODZj
CglDb250cm9sOiBJL08rIE1lbSsgQnVzTWFzdGVyLSBTcGVjQ3ljbGUtIE1lbVdJTlYtIFZHQVNu
b29wLSBQYXJFcnItIFN0ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4KwoJU3RhdHVzOiBD
YXAtIDY2TUh6KyBVREYtIEZhc3RCMkItIFBhckVyci0gREVWU0VMPW1lZGl1bSA+VEFib3J0LSA8
VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCglLZXJuZWwgZHJpdmVyIGluIHVz
ZTogcGlpeDRfc21idXMKCUtlcm5lbCBtb2R1bGVzOiBpMmNfcGlpeDQsIHNwNTEwMF90Y28KCjAw
OjE0LjMgSVNBIGJyaWRnZTogQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLiBbQU1EXSBGQ0gg
TFBDIEJyaWRnZSAocmV2IDUxKQoJU3Vic3lzdGVtOiBMZW5vdm8gRGV2aWNlIDM4NTcKCUNvbnRy
b2w6IEkvTysgTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNsZSsgTWVtV0lOVi0gVkdBU25vb3AtIFBh
ckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgtCglTdGF0dXM6IENhcC0gNjZN
SHorIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9bWVkaXVtID5UQWJvcnQtIDxUQWJvcnQt
IDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAKCjAwOjE4LjAgSG9zdCBi
cmlkZ2U6IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE2NzkKCUNv
bnRyb2w6IEkvTy0gTWVtLSBCdXNNYXN0ZXItIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3At
IFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgtCglTdGF0dXM6IENhcC0g
NjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0
LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCgowMDoxOC4xIEhvc3QgYnJpZGdlOiBBZHZh
bmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuIFtBTURdIERldmljZSAxNjdhCglDb250cm9sOiBJL08t
IE1lbS0gQnVzTWFzdGVyLSBTcGVjQ3ljbGUtIE1lbVdJTlYtIFZHQVNub29wLSBQYXJFcnItIFN0
ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQoJU3RhdHVzOiBDYXAtIDY2TUh6LSBVREYt
IEZhc3RCMkItIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0gPFRBYm9ydC0gPE1BYm9ydC0g
PlNFUlItIDxQRVJSLSBJTlR4LQoKMDA6MTguMiBIb3N0IGJyaWRnZTogQWR2YW5jZWQgTWljcm8g
RGV2aWNlcywgSW5jLiBbQU1EXSBEZXZpY2UgMTY3YgoJQ29udHJvbDogSS9PLSBNZW0tIEJ1c01h
c3Rlci0gU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VS
Ui0gRmFzdEIyQi0gRGlzSU5UeC0KCVN0YXR1czogQ2FwLSA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQ
YXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVS
Ui0gSU5UeC0KCjAwOjE4LjMgSG9zdCBicmlkZ2U6IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIElu
Yy4gW0FNRF0gRGV2aWNlIDE2N2MKCUNvbnRyb2w6IEkvTy0gTWVtLSBCdXNNYXN0ZXItIFNwZWND
eWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtIFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkIt
IERpc0lOVHgtCglTdGF0dXM6IENhcC0gNjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZT
RUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCglL
ZXJuZWwgZHJpdmVyIGluIHVzZTogazEwdGVtcAoJS2VybmVsIG1vZHVsZXM6IGsxMHRlbXAKCjAw
OjE4LjQgSG9zdCBicmlkZ2U6IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRF0gRGV2
aWNlIDE2N2QKCUNvbnRyb2w6IEkvTy0gTWVtLSBCdXNNYXN0ZXItIFNwZWNDeWNsZS0gTWVtV0lO
Vi0gVkdBU25vb3AtIFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgtCglT
dGF0dXM6IENhcC0gNjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFi
b3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCgowMDoxOC41IEhvc3Qg
YnJpZGdlOiBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuIFtBTURdIERldmljZSAxNjdlCglD
b250cm9sOiBJL08tIE1lbS0gQnVzTWFzdGVyLSBTcGVjQ3ljbGUtIE1lbVdJTlYtIFZHQVNub29w
LSBQYXJFcnItIFN0ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQoJU3RhdHVzOiBDYXAt
IDY2TUh6LSBVREYtIEZhc3RCMkItIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0gPFRBYm9y
dC0gPE1BYm9ydC0gPlNFUlItIDxQRVJSLSBJTlR4LQoKMDA6MTguNiBIb3N0IGJyaWRnZTogQWR2
YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLiBbQU1EXSBEZXZpY2UgMTY3ZgoJQ29udHJvbDogSS9P
LSBNZW0tIEJ1c01hc3Rlci0gU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBT
dGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeC0KCVN0YXR1czogQ2FwLSA2Nk1Iei0gVURG
LSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQt
ID5TRVJSLSA8UEVSUi0gSU5UeC0KCjAwOjE4LjcgSG9zdCBicmlkZ2U6IEFkdmFuY2VkIE1pY3Jv
IERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE2ODAKCUNvbnRyb2w6IEkvTy0gTWVtLSBCdXNN
YXN0ZXItIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtIFBhckVyci0gU3RlcHBpbmctIFNF
UlItIEZhc3RCMkItIERpc0lOVHgtCglTdGF0dXM6IENhcC0gNjZNSHotIFVERi0gRmFzdEIyQi0g
UGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBF
UlItIElOVHgtCgowMTowMC4wIFZHQSBjb21wYXRpYmxlIGNvbnRyb2xsZXI6IE5WSURJQSBDb3Jw
b3JhdGlvbiBHQTEwN0JNIChyZXYgYTEpIChwcm9nLWlmIDAwIFtWR0EgY29udHJvbGxlcl0pCglT
dWJzeXN0ZW06IExlbm92byBEZXZpY2UgM2IxMgoJQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3Rl
ci0gU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0g
RmFzdEIyQi0gRGlzSU5UeCsKCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJF
cnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0g
SU5UeC0KCUludGVycnVwdDogcGluIEEgcm91dGVkIHRvIElSUSA5MgoJUmVnaW9uIDA6IE1lbW9y
eSBhdCA4MDAwMDAwMCAoMzItYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT0xNk1dCglSZWdp
b24gMTogTWVtb3J5IGF0IDgyMDAwMDAwMDAgKDY0LWJpdCwgcHJlZmV0Y2hhYmxlKSBbc2l6ZT00
R10KCVJlZ2lvbiAzOiBNZW1vcnkgYXQgODMwMDAwMDAwMCAoNjQtYml0LCBwcmVmZXRjaGFibGUp
IFtzaXplPTMyTV0KCVJlZ2lvbiA1OiBJL08gcG9ydHMgYXQgMjAwMCBbc2l6ZT0xMjhdCglFeHBh
bnNpb24gUk9NIGF0IDxpZ25vcmVkPiBbZGlzYWJsZWRdCglDYXBhYmlsaXRpZXM6IFs2MF0gUG93
ZXIgTWFuYWdlbWVudCB2ZXJzaW9uIDMKCQlGbGFnczogUE1FQ2xrLSBEU0ktIEQxLSBEMi0gQXV4
Q3VycmVudD0wbUEgUE1FKEQwKyxEMS0sRDItLEQzaG90KyxEM2NvbGQtKQoJCVN0YXR1czogRDMg
Tm9Tb2Z0UnN0KyBQTUUtRW5hYmxlLSBEU2VsPTAgRFNjYWxlPTAgUE1FLQoJQ2FwYWJpbGl0aWVz
OiBbNjhdIE1TSTogRW5hYmxlKyBDb3VudD0xLzEgTWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6
IDAwMDAwMDAwZmVlMDEwMGMgIERhdGE6IDQwMDAKCUNhcGFiaWxpdGllczogWzc4XSBFeHByZXNz
ICh2MikgTGVnYWN5IEVuZHBvaW50LCBNU0kgMDAKCQlEZXZDYXA6CU1heFBheWxvYWQgMjU2IGJ5
dGVzLCBQaGFudEZ1bmMgMCwgTGF0ZW5jeSBMMHMgdW5saW1pdGVkLCBMMSA8NjR1cwoJCQlFeHRU
YWcrIEF0dG5CdG4tIEF0dG5JbmQtIFB3ckluZC0gUkJFKyBGTFJlc2V0KwoJCURldkN0bDoJQ29y
ckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0KCQkJUmx4ZE9yZCsgRXh0VGFn
KyBQaGFudEZ1bmMtIEF1eFB3ci0gTm9Tbm9vcCsgRkxSZXNldC0KCQkJTWF4UGF5bG9hZCAyNTYg
Ynl0ZXMsIE1heFJlYWRSZXEgNTEyIGJ5dGVzCgkJRGV2U3RhOglDb3JyRXJyKyBOb25GYXRhbEVy
ci0gRmF0YWxFcnItIFVuc3VwUmVxKyBBdXhQd3ItIFRyYW5zUGVuZC0KCQlMbmtDYXA6CVBvcnQg
IzAsIFNwZWVkIDE2R1QvcywgV2lkdGggeDE2LCBBU1BNIEwwcyBMMSwgRXhpdCBMYXRlbmN5IEww
cyA8MXVzLCBMMSA8NHVzCgkJCUNsb2NrUE0rIFN1cnByaXNlLSBMTEFjdFJlcC0gQndOb3QtIEFT
UE1PcHRDb21wKwoJCUxua0N0bDoJQVNQTSBMMSBFbmFibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2Fi
bGVkLSBDb21tQ2xrKwoJCQlFeHRTeW5jaC0gQ2xvY2tQTSsgQXV0V2lkRGlzLSBCV0ludC0gQXV0
QldJbnQtCgkJTG5rU3RhOglTcGVlZCAxNkdUL3MgKG9rKSwgV2lkdGggeDggKGRvd25ncmFkZWQp
CgkJCVRyRXJyLSBUcmFpbi0gU2xvdENsaysgRExBY3RpdmUtIEJXTWdtdC0gQUJXTWdtdC0KCQlE
ZXZDYXAyOiBDb21wbGV0aW9uIFRpbWVvdXQ6IFJhbmdlIEFCLCBUaW1lb3V0RGlzKyBOUk9QclBy
UC0gTFRSKwoJCQkgMTBCaXRUYWdDb21wKyAxMEJpdFRhZ1JlcSsgT0JGRiBWaWEgbWVzc2FnZSwg
RXh0Rm10LSBFRVRMUFByZWZpeC0KCQkJIEVtZXJnZW5jeVBvd2VyUmVkdWN0aW9uIE5vdCBTdXBw
b3J0ZWQsIEVtZXJnZW5jeVBvd2VyUmVkdWN0aW9uSW5pdC0KCQkJIEZSUy0KCQkJIEF0b21pY09w
c0NhcDogMzJiaXQtIDY0Yml0LSAxMjhiaXRDQVMtCgkJRGV2Q3RsMjogQ29tcGxldGlvbiBUaW1l
b3V0OiA1MHVzIHRvIDUwbXMsIFRpbWVvdXREaXMtIExUUisgT0JGRiBEaXNhYmxlZCwKCQkJIEF0
b21pY09wc0N0bDogUmVxRW4tCgkJTG5rQ2FwMjogU3VwcG9ydGVkIExpbmsgU3BlZWRzOiAyLjUt
MTZHVC9zLCBDcm9zc2xpbmstIFJldGltZXIrIDJSZXRpbWVycysgRFJTLQoJCUxua0N0bDI6IFRh
cmdldCBMaW5rIFNwZWVkOiAxNkdUL3MsIEVudGVyQ29tcGxpYW5jZS0gU3BlZWREaXMtCgkJCSBU
cmFuc21pdCBNYXJnaW46IE5vcm1hbCBPcGVyYXRpbmcgUmFuZ2UsIEVudGVyTW9kaWZpZWRDb21w
bGlhbmNlLSBDb21wbGlhbmNlU09TLQoJCQkgQ29tcGxpYW5jZSBEZS1lbXBoYXNpczogLTZkQgoJ
CUxua1N0YTI6IEN1cnJlbnQgRGUtZW1waGFzaXMgTGV2ZWw6IC0zLjVkQiwgRXF1YWxpemF0aW9u
Q29tcGxldGUrIEVxdWFsaXphdGlvblBoYXNlMSsKCQkJIEVxdWFsaXphdGlvblBoYXNlMisgRXF1
YWxpemF0aW9uUGhhc2UzKyBMaW5rRXF1YWxpemF0aW9uUmVxdWVzdC0KCQkJIFJldGltZXItIDJS
ZXRpbWVycy0gQ3Jvc3NsaW5rUmVzOiB1bnN1cHBvcnRlZAoJQ2FwYWJpbGl0aWVzOiBbYjRdIFZl
bmRvciBTcGVjaWZpYyBJbmZvcm1hdGlvbjogTGVuPTE0IDw/PgoJQ2FwYWJpbGl0aWVzOiBbMTAw
IHYxXSBWaXJ0dWFsIENoYW5uZWwKCQlDYXBzOglMUEVWQz0wIFJlZkNsaz0xMDBucyBQQVRFbnRy
eUJpdHM9MQoJCUFyYjoJRml4ZWQtIFdSUjMyLSBXUlI2NC0gV1JSMTI4LQoJCUN0cmw6CUFyYlNl
bGVjdD1GaXhlZAoJCVN0YXR1czoJSW5Qcm9ncmVzcy0KCQlWQzA6CUNhcHM6CVBBVE9mZnNldD0w
MCBNYXhUaW1lU2xvdHM9MSBSZWpTbm9vcFRyYW5zLQoJCQlBcmI6CUZpeGVkLSBXUlIzMi0gV1JS
NjQtIFdSUjEyOC0gVFdSUjEyOC0gV1JSMjU2LQoJCQlDdHJsOglFbmFibGUrIElEPTAgQXJiU2Vs
ZWN0PUZpeGVkIFRDL1ZDPWZmCgkJCVN0YXR1czoJTmVnb1BlbmRpbmctIEluUHJvZ3Jlc3MtCglD
YXBhYmlsaXRpZXM6IFsyNTAgdjFdIExhdGVuY3kgVG9sZXJhbmNlIFJlcG9ydGluZwoJCU1heCBz
bm9vcCBsYXRlbmN5OiAxMDQ4NTc2bnMKCQlNYXggbm8gc25vb3AgbGF0ZW5jeTogMTA0ODU3Nm5z
CglDYXBhYmlsaXRpZXM6IFsyNTggdjFdIEwxIFBNIFN1YnN0YXRlcwoJCUwxU3ViQ2FwOiBQQ0kt
UE1fTDEuMisgUENJLVBNX0wxLjErIEFTUE1fTDEuMisgQVNQTV9MMS4xKyBMMV9QTV9TdWJzdGF0
ZXMrCgkJCSAgUG9ydENvbW1vbk1vZGVSZXN0b3JlVGltZT0yNTV1cyBQb3J0VFBvd2VyT25UaW1l
PTEwdXMKCQlMMVN1YkN0bDE6IFBDSS1QTV9MMS4yKyBQQ0ktUE1fTDEuMSsgQVNQTV9MMS4yKyBB
U1BNX0wxLjErCgkJCSAgIFRfQ29tbW9uTW9kZT0wdXMgTFRSMS4yX1RocmVzaG9sZD0zOTMyMTZu
cwoJCUwxU3ViQ3RsMjogVF9Qd3JPbj0xNTB1cwoJQ2FwYWJpbGl0aWVzOiBbMTI4IHYxXSBQb3dl
ciBCdWRnZXRpbmcgPD8+CglDYXBhYmlsaXRpZXM6IFs0MjAgdjJdIEFkdmFuY2VkIEVycm9yIFJl
cG9ydGluZwoJCVVFU3RhOglETFAtIFNERVMtIFRMUC0gRkNQLSBDbXBsdFRPLSBDbXBsdEFicnQt
IFVueENtcGx0LSBSeE9GLSBNYWxmVExQLSBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0KCQlVRU1z
azoJRExQLSBTREVTLSBUTFAtIEZDUC0gQ21wbHRUTy0gQ21wbHRBYnJ0LSBVbnhDbXBsdC0gUnhP
Ri0gTWFsZlRMUC0gRUNSQy0gVW5zdXBSZXEtIEFDU1Zpb2wtCgkJVUVTdnJ0OglETFArIFNERVMr
IFRMUC0gRkNQKyBDbXBsdFRPLSBDbXBsdEFicnQtIFVueENtcGx0LSBSeE9GKyBNYWxmVExQKyBF
Q1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0KCQlDRVN0YToJUnhFcnItIEJhZFRMUC0gQmFkRExMUC0g
Um9sbG92ZXItIFRpbWVvdXQtIEFkdk5vbkZhdGFsRXJyKwoJCUNFTXNrOglSeEVyci0gQmFkVExQ
LSBCYWRETExQLSBSb2xsb3Zlci0gVGltZW91dC0gQWR2Tm9uRmF0YWxFcnIrCgkJQUVSQ2FwOglG
aXJzdCBFcnJvciBQb2ludGVyOiAwMCwgRUNSQ0dlbkNhcC0gRUNSQ0dlbkVuLSBFQ1JDQ2hrQ2Fw
LSBFQ1JDQ2hrRW4tCgkJCU11bHRIZHJSZWNDYXAtIE11bHRIZHJSZWNFbi0gVExQUGZ4UHJlcy0g
SGRyTG9nQ2FwLQoJCUhlYWRlckxvZzogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKCUNhcGFiaWxpdGllczogWzYwMCB2MV0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBJ
RD0wMDAxIFJldj0xIExlbj0wMjQgPD8+CglDYXBhYmlsaXRpZXM6IFs5MDAgdjFdIFNlY29uZGFy
eSBQQ0kgRXhwcmVzcwoJCUxua0N0bDM6IExua0VxdUludHJydXB0RW4tIFBlcmZvcm1FcXUtCgkJ
TGFuZUVyclN0YXQ6IDAKCUNhcGFiaWxpdGllczogW2JiMCB2MV0gUGh5c2ljYWwgUmVzaXphYmxl
IEJBUgoJCUJBUiAwOiBjdXJyZW50IHNpemU6IDE2TUIsIHN1cHBvcnRlZDogMTZNQgoJCUJBUiAx
OiBjdXJyZW50IHNpemU6IDRHQiwgc3VwcG9ydGVkOiA2NE1CIDEyOE1CIDI1Nk1CIDUxMk1CIDFH
QiAyR0IgNEdCCgkJQkFSIDM6IGN1cnJlbnQgc2l6ZTogMzJNQiwgc3VwcG9ydGVkOiAzMk1CCglD
YXBhYmlsaXRpZXM6IFtjMWMgdjFdIFBoeXNpY2FsIExheWVyIDE2LjAgR1QvcyA8Pz4KCUNhcGFi
aWxpdGllczogW2QwMCB2MV0gTGFuZSBNYXJnaW5pbmcgYXQgdGhlIFJlY2VpdmVyIDw/PgoJQ2Fw
YWJpbGl0aWVzOiBbZTAwIHYxXSBEYXRhIExpbmsgRmVhdHVyZSA8Pz4KCUtlcm5lbCBkcml2ZXIg
aW4gdXNlOiBub3V2ZWF1CglLZXJuZWwgbW9kdWxlczogbm91dmVhdQoKMDI6MDAuMCBOZXR3b3Jr
IGNvbnRyb2xsZXI6IE1FRElBVEVLIENvcnAuIERldmljZSAwNjE2CglTdWJzeXN0ZW06IExlbm92
byBEZXZpY2UgZTBjNgoJQ29udHJvbDogSS9PLSBNZW0rIEJ1c01hc3Rlci0gU3BlY0N5Y2xlLSBN
ZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5U
eC0KCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0
ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUludGVycnVw
dDogcGluIEEgcm91dGVkIHRvIElSUSA0NgoJUmVnaW9uIDA6IE1lbW9yeSBhdCA4MzAyMDAwMDAw
ICg2NC1iaXQsIHByZWZldGNoYWJsZSkgW3NpemU9MU1dCglSZWdpb24gMjogTWVtb3J5IGF0IDgx
ODAwMDAwICg2NC1iaXQsIG5vbi1wcmVmZXRjaGFibGUpIFtzaXplPTMyS10KCUNhcGFiaWxpdGll
czogWzgwXSBFeHByZXNzICh2MikgRW5kcG9pbnQsIE1TSSAwMAoJCURldkNhcDoJTWF4UGF5bG9h
ZCAxMjggYnl0ZXMsIFBoYW50RnVuYyAwLCBMYXRlbmN5IEwwcyB1bmxpbWl0ZWQsIEwxIHVubGlt
aXRlZAoJCQlFeHRUYWcrIEF0dG5CdG4tIEF0dG5JbmQtIFB3ckluZC0gUkJFKyBGTFJlc2V0KyBT
bG90UG93ZXJMaW1pdCA3NS4wMDBXCgkJRGV2Q3RsOglDb3JyRXJyLSBOb25GYXRhbEVyci0gRmF0
YWxFcnItIFVuc3VwUmVxLQoJCQlSbHhkT3JkKyBFeHRUYWcrIFBoYW50RnVuYy0gQXV4UHdyLSBO
b1Nub29wKyBGTFJlc2V0LQoJCQlNYXhQYXlsb2FkIDEyOCBieXRlcywgTWF4UmVhZFJlcSA1MTIg
Ynl0ZXMKCQlEZXZTdGE6CUNvcnJFcnItIE5vbkZhdGFsRXJyLSBGYXRhbEVyci0gVW5zdXBSZXEt
IEF1eFB3ci0gVHJhbnNQZW5kLQoJCUxua0NhcDoJUG9ydCAjMSwgU3BlZWQgNUdUL3MsIFdpZHRo
IHgxLCBBU1BNIEwwcyBMMSwgRXhpdCBMYXRlbmN5IEwwcyA8MnVzLCBMMSA8OHVzCgkJCUNsb2Nr
UE0rIFN1cnByaXNlLSBMTEFjdFJlcC0gQndOb3QtIEFTUE1PcHRDb21wKwoJCUxua0N0bDoJQVNQ
TSBMMSBFbmFibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2FibGVkLSBDb21tQ2xrKwoJCQlFeHRTeW5j
aC0gQ2xvY2tQTSsgQXV0V2lkRGlzLSBCV0ludC0gQXV0QldJbnQtCgkJTG5rU3RhOglTcGVlZCA1
R1QvcyAob2spLCBXaWR0aCB4MSAob2spCgkJCVRyRXJyLSBUcmFpbi0gU2xvdENsaysgRExBY3Rp
dmUtIEJXTWdtdC0gQUJXTWdtdC0KCQlEZXZDYXAyOiBDb21wbGV0aW9uIFRpbWVvdXQ6IFJhbmdl
IEFCQ0QsIFRpbWVvdXREaXMrIE5ST1ByUHJQLSBMVFIrCgkJCSAxMEJpdFRhZ0NvbXAtIDEwQml0
VGFnUmVxLSBPQkZGIE5vdCBTdXBwb3J0ZWQsIEV4dEZtdCsgRUVUTFBQcmVmaXgtCgkJCSBFbWVy
Z2VuY3lQb3dlclJlZHVjdGlvbiBOb3QgU3VwcG9ydGVkLCBFbWVyZ2VuY3lQb3dlclJlZHVjdGlv
bkluaXQtCgkJCSBGUlMtIFRQSENvbXAtIEV4dFRQSENvbXAtCgkJCSBBdG9taWNPcHNDYXA6IDMy
Yml0LSA2NGJpdC0gMTI4Yml0Q0FTLQoJCURldkN0bDI6IENvbXBsZXRpb24gVGltZW91dDogNTB1
cyB0byA1MG1zLCBUaW1lb3V0RGlzLSBMVFIrIE9CRkYgRGlzYWJsZWQsCgkJCSBBdG9taWNPcHND
dGw6IFJlcUVuLQoJCUxua0NhcDI6IFN1cHBvcnRlZCBMaW5rIFNwZWVkczogMi41LTVHVC9zLCBD
cm9zc2xpbmstIFJldGltZXItIDJSZXRpbWVycy0gRFJTLQoJCUxua0N0bDI6IFRhcmdldCBMaW5r
IFNwZWVkOiA1R1QvcywgRW50ZXJDb21wbGlhbmNlLSBTcGVlZERpcy0KCQkJIFRyYW5zbWl0IE1h
cmdpbjogTm9ybWFsIE9wZXJhdGluZyBSYW5nZSwgRW50ZXJNb2RpZmllZENvbXBsaWFuY2UtIENv
bXBsaWFuY2VTT1MtCgkJCSBDb21wbGlhbmNlIERlLWVtcGhhc2lzOiAtNmRCCgkJTG5rU3RhMjog
Q3VycmVudCBEZS1lbXBoYXNpcyBMZXZlbDogLTMuNWRCLCBFcXVhbGl6YXRpb25Db21wbGV0ZS0g
RXF1YWxpemF0aW9uUGhhc2UxLQoJCQkgRXF1YWxpemF0aW9uUGhhc2UyLSBFcXVhbGl6YXRpb25Q
aGFzZTMtIExpbmtFcXVhbGl6YXRpb25SZXF1ZXN0LQoJCQkgUmV0aW1lci0gMlJldGltZXJzLSBD
cm9zc2xpbmtSZXM6IHVuc3VwcG9ydGVkCglDYXBhYmlsaXRpZXM6IFtlMF0gTVNJOiBFbmFibGUt
IENvdW50PTEvMzIgTWFza2FibGUrIDY0Yml0KwoJCUFkZHJlc3M6IDAwMDAwMDAwMDAwMDAwMDAg
IERhdGE6IDAwMDAKCQlNYXNraW5nOiAwMDAwMDAwMCAgUGVuZGluZzogMDAwMDAwMDAKCUNhcGFi
aWxpdGllczogW2Y4XSBQb3dlciBNYW5hZ2VtZW50IHZlcnNpb24gMwoJCUZsYWdzOiBQTUVDbGst
IERTSS0gRDEtIEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDArLEQxLSxEMi0sRDNob3QrLEQzY29s
ZCspCgkJU3RhdHVzOiBEMCBOb1NvZnRSc3QrIFBNRS1FbmFibGUtIERTZWw9MCBEU2NhbGU9MCBQ
TUUtCglDYXBhYmlsaXRpZXM6IFsxMDAgdjFdIFZlbmRvciBTcGVjaWZpYyBJbmZvcm1hdGlvbjog
SUQ9MTU1NiBSZXY9MSBMZW49MDA4IDw/PgoJQ2FwYWJpbGl0aWVzOiBbMTA4IHYxXSBMYXRlbmN5
IFRvbGVyYW5jZSBSZXBvcnRpbmcKCQlNYXggc25vb3AgbGF0ZW5jeTogMTA0ODU3Nm5zCgkJTWF4
IG5vIHNub29wIGxhdGVuY3k6IDEwNDg1NzZucwoJQ2FwYWJpbGl0aWVzOiBbMTEwIHYxXSBMMSBQ
TSBTdWJzdGF0ZXMKCQlMMVN1YkNhcDogUENJLVBNX0wxLjIrIFBDSS1QTV9MMS4xKyBBU1BNX0wx
LjIrIEFTUE1fTDEuMSsgTDFfUE1fU3Vic3RhdGVzKwoJCQkgIFBvcnRDb21tb25Nb2RlUmVzdG9y
ZVRpbWU9M3VzIFBvcnRUUG93ZXJPblRpbWU9NTJ1cwoJCUwxU3ViQ3RsMTogUENJLVBNX0wxLjIt
IFBDSS1QTV9MMS4xLSBBU1BNX0wxLjItIEFTUE1fTDEuMS0KCQkJICAgVF9Db21tb25Nb2RlPTB1
cyBMVFIxLjJfVGhyZXNob2xkPTBucwoJCUwxU3ViQ3RsMjogVF9Qd3JPbj0xMHVzCglDYXBhYmls
aXRpZXM6IFsyMDAgdjJdIEFkdmFuY2VkIEVycm9yIFJlcG9ydGluZwoJCVVFU3RhOglETFAtIFNE
RVMtIFRMUC0gRkNQLSBDbXBsdFRPLSBDbXBsdEFicnQtIFVueENtcGx0LSBSeE9GLSBNYWxmVExQ
LSBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0KCQlVRU1zazoJRExQLSBTREVTLSBUTFAtIEZDUC0g
Q21wbHRUTy0gQ21wbHRBYnJ0LSBVbnhDbXBsdC0gUnhPRi0gTWFsZlRMUC0gRUNSQy0gVW5zdXBS
ZXEtIEFDU1Zpb2wtCgkJVUVTdnJ0OglETFArIFNERVMrIFRMUC0gRkNQKyBDbXBsdFRPLSBDbXBs
dEFicnQtIFVueENtcGx0LSBSeE9GKyBNYWxmVExQKyBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlvbC0K
CQlDRVN0YToJUnhFcnItIEJhZFRMUC0gQmFkRExMUC0gUm9sbG92ZXItIFRpbWVvdXQtIEFkdk5v
bkZhdGFsRXJyKwoJCUNFTXNrOglSeEVyci0gQmFkVExQLSBCYWRETExQLSBSb2xsb3Zlci0gVGlt
ZW91dC0gQWR2Tm9uRmF0YWxFcnIrCgkJQUVSQ2FwOglGaXJzdCBFcnJvciBQb2ludGVyOiAwMCwg
RUNSQ0dlbkNhcC0gRUNSQ0dlbkVuLSBFQ1JDQ2hrQ2FwLSBFQ1JDQ2hrRW4tCgkJCU11bHRIZHJS
ZWNDYXAtIE11bHRIZHJSZWNFbi0gVExQUGZ4UHJlcy0gSGRyTG9nQ2FwLQoJCUhlYWRlckxvZzog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKCUtlcm5lbCBkcml2ZXIgaW4gdXNl
OiBwY2liYWNrCglLZXJuZWwgbW9kdWxlczogbXQ3OTIxZQoKMDM6MDAuMCBOb24tVm9sYXRpbGUg
bWVtb3J5IGNvbnRyb2xsZXI6IE1pY3JvbiBUZWNobm9sb2d5IEluYyBEZXZpY2UgNTQwNyAocHJv
Zy1pZiAwMiBbTlZNIEV4cHJlc3NdKQoJRGV2aWNlTmFtZTogUmVhbHRlawoJU3Vic3lzdGVtOiBN
aWNyb24gVGVjaG5vbG9neSBJbmMgRGV2aWNlIDAxMDAKCUNvbnRyb2w6IEkvTy0gTWVtKyBCdXNN
YXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3AtIFBhckVyci0gU3RlcHBpbmctIFNF
UlItIEZhc3RCMkItIERpc0lOVHgrCglTdGF0dXM6IENhcCsgNjZNSHotIFVERi0gRmFzdEIyQi0g
UGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBF
UlItIElOVHgtCglMYXRlbmN5OiAwLCBDYWNoZSBMaW5lIFNpemU6IDY0IGJ5dGVzCglJbnRlcnJ1
cHQ6IHBpbiBBIHJvdXRlZCB0byBJUlEgNDYKCU5VTUEgbm9kZTogMAoJUmVnaW9uIDA6IE1lbW9y
eSBhdCA4MTcwMDAwMCAoNjQtYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT0xNktdCglDYXBh
YmlsaXRpZXM6IFs0MF0gUG93ZXIgTWFuYWdlbWVudCB2ZXJzaW9uIDMKCQlGbGFnczogUE1FQ2xr
LSBEU0ktIEQxLSBEMi0gQXV4Q3VycmVudD0wbUEgUE1FKEQwLSxEMS0sRDItLEQzaG90LSxEM2Nv
bGQtKQoJCVN0YXR1czogRDAgTm9Tb2Z0UnN0KyBQTUUtRW5hYmxlLSBEU2VsPTAgRFNjYWxlPTAg
UE1FLQoJQ2FwYWJpbGl0aWVzOiBbNTBdIE1TSS1YOiBFbmFibGUrIENvdW50PTMyIE1hc2tlZC0K
CQlWZWN0b3IgdGFibGU6IEJBUj0wIG9mZnNldD0wMDAwMzAwMAoJCVBCQTogQkFSPTAgb2Zmc2V0
PTAwMDAyMDAwCglDYXBhYmlsaXRpZXM6IFs2MF0gRXhwcmVzcyAodjIpIEVuZHBvaW50LCBNU0kg
MDAKCQlEZXZDYXA6CU1heFBheWxvYWQgNTEyIGJ5dGVzLCBQaGFudEZ1bmMgMCwgTGF0ZW5jeSBM
MHMgdW5saW1pdGVkLCBMMSB1bmxpbWl0ZWQKCQkJRXh0VGFnKyBBdHRuQnRuLSBBdHRuSW5kLSBQ
d3JJbmQtIFJCRSsgRkxSZXNldCsgU2xvdFBvd2VyTGltaXQgNzUuMDAwVwoJCURldkN0bDoJQ29y
ckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0KCQkJUmx4ZE9yZCsgRXh0VGFn
KyBQaGFudEZ1bmMtIEF1eFB3ci0gTm9Tbm9vcCsgRkxSZXNldC0KCQkJTWF4UGF5bG9hZCAyNTYg
Ynl0ZXMsIE1heFJlYWRSZXEgNTEyIGJ5dGVzCgkJRGV2U3RhOglDb3JyRXJyLSBOb25GYXRhbEVy
ci0gRmF0YWxFcnItIFVuc3VwUmVxLSBBdXhQd3ItIFRyYW5zUGVuZC0KCQlMbmtDYXA6CVBvcnQg
IzAsIFNwZWVkIDE2R1QvcywgV2lkdGggeDQsIEFTUE0gTDEsIEV4aXQgTGF0ZW5jeSBMMSA8OHVz
CgkJCUNsb2NrUE0rIFN1cnByaXNlLSBMTEFjdFJlcC0gQndOb3QtIEFTUE1PcHRDb21wKwoJCUxu
a0N0bDoJQVNQTSBMMSBFbmFibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2FibGVkLSBDb21tQ2xrKwoJ
CQlFeHRTeW5jaC0gQ2xvY2tQTSsgQXV0V2lkRGlzLSBCV0ludC0gQXV0QldJbnQtCgkJTG5rU3Rh
OglTcGVlZCAxNkdUL3MgKG9rKSwgV2lkdGggeDQgKG9rKQoJCQlUckVyci0gVHJhaW4tIFNsb3RD
bGsrIERMQWN0aXZlLSBCV01nbXQtIEFCV01nbXQtCgkJRGV2Q2FwMjogQ29tcGxldGlvbiBUaW1l
b3V0OiBSYW5nZSBCQ0QsIFRpbWVvdXREaXMrIE5ST1ByUHJQLSBMVFIrCgkJCSAxMEJpdFRhZ0Nv
bXArIDEwQml0VGFnUmVxLSBPQkZGIFZpYSBtZXNzYWdlLCBFeHRGbXQtIEVFVExQUHJlZml4LQoJ
CQkgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb24gTm90IFN1cHBvcnRlZCwgRW1lcmdlbmN5UG93ZXJS
ZWR1Y3Rpb25Jbml0LQoJCQkgRlJTLSBUUEhDb21wLSBFeHRUUEhDb21wLQoJCQkgQXRvbWljT3Bz
Q2FwOiAzMmJpdC0gNjRiaXQtIDEyOGJpdENBUy0KCQlEZXZDdGwyOiBDb21wbGV0aW9uIFRpbWVv
dXQ6IDE3cyB0byA2NHMsIFRpbWVvdXREaXMtIExUUisgT0JGRiBEaXNhYmxlZCwKCQkJIEF0b21p
Y09wc0N0bDogUmVxRW4tCgkJTG5rQ2FwMjogU3VwcG9ydGVkIExpbmsgU3BlZWRzOiAyLjUtMTZH
VC9zLCBDcm9zc2xpbmstIFJldGltZXIrIDJSZXRpbWVycysgRFJTLQoJCUxua0N0bDI6IFRhcmdl
dCBMaW5rIFNwZWVkOiAxNkdUL3MsIEVudGVyQ29tcGxpYW5jZS0gU3BlZWREaXMtCgkJCSBUcmFu
c21pdCBNYXJnaW46IE5vcm1hbCBPcGVyYXRpbmcgUmFuZ2UsIEVudGVyTW9kaWZpZWRDb21wbGlh
bmNlLSBDb21wbGlhbmNlU09TLQoJCQkgQ29tcGxpYW5jZSBEZS1lbXBoYXNpczogLTZkQgoJCUxu
a1N0YTI6IEN1cnJlbnQgRGUtZW1waGFzaXMgTGV2ZWw6IC0zLjVkQiwgRXF1YWxpemF0aW9uQ29t
cGxldGUrIEVxdWFsaXphdGlvblBoYXNlMSsKCQkJIEVxdWFsaXphdGlvblBoYXNlMisgRXF1YWxp
emF0aW9uUGhhc2UzKyBMaW5rRXF1YWxpemF0aW9uUmVxdWVzdC0KCQkJIFJldGltZXItIDJSZXRp
bWVycy0gQ3Jvc3NsaW5rUmVzOiB1bnN1cHBvcnRlZAoJQ2FwYWJpbGl0aWVzOiBbMTAwIHYxXSBB
ZHZhbmNlZCBFcnJvciBSZXBvcnRpbmcKCQlVRVN0YToJRExQLSBTREVTLSBUTFAtIEZDUC0gQ21w
bHRUTy0gQ21wbHRBYnJ0LSBVbnhDbXBsdC0gUnhPRi0gTWFsZlRMUC0gRUNSQy0gVW5zdXBSZXEt
IEFDU1Zpb2wtCgkJVUVNc2s6CURMUC0gU0RFUy0gVExQLSBGQ1AtIENtcGx0VE8tIENtcGx0QWJy
dC0gVW54Q21wbHQtIFJ4T0YtIE1hbGZUTFAtIEVDUkMtIFVuc3VwUmVxLSBBQ1NWaW9sLQoJCVVF
U3ZydDoJRExQKyBTREVTKyBUTFAtIEZDUCsgQ21wbHRUTy0gQ21wbHRBYnJ0LSBVbnhDbXBsdC0g
UnhPRisgTWFsZlRMUCsgRUNSQy0gVW5zdXBSZXEtIEFDU1Zpb2wtCgkJQ0VTdGE6CVJ4RXJyLSBC
YWRUTFAtIEJhZERMTFAtIFJvbGxvdmVyLSBUaW1lb3V0LSBBZHZOb25GYXRhbEVycisKCQlDRU1z
azoJUnhFcnItIEJhZFRMUC0gQmFkRExMUC0gUm9sbG92ZXItIFRpbWVvdXQtIEFkdk5vbkZhdGFs
RXJyKwoJCUFFUkNhcDoJRmlyc3QgRXJyb3IgUG9pbnRlcjogMDAsIEVDUkNHZW5DYXArIEVDUkNH
ZW5Fbi0gRUNSQ0Noa0NhcCsgRUNSQ0Noa0VuLQoJCQlNdWx0SGRyUmVjQ2FwLSBNdWx0SGRyUmVj
RW4tIFRMUFBmeFByZXMtIEhkckxvZ0NhcC0KCQlIZWFkZXJMb2c6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCglDYXBhYmlsaXRpZXM6IFsyYTAgdjFdIFNlY29uZGFyeSBQQ0kg
RXhwcmVzcwoJCUxua0N0bDM6IExua0VxdUludHJydXB0RW4tIFBlcmZvcm1FcXUtCgkJTGFuZUVy
clN0YXQ6IDAKCUNhcGFiaWxpdGllczogWzJkMCB2MV0gTGF0ZW5jeSBUb2xlcmFuY2UgUmVwb3J0
aW5nCgkJTWF4IHNub29wIGxhdGVuY3k6IDEwNDg1NzZucwoJCU1heCBubyBzbm9vcCBsYXRlbmN5
OiAxMDQ4NTc2bnMKCUNhcGFiaWxpdGllczogWzMyMCB2MV0gRGF0YSBMaW5rIEZlYXR1cmUgPD8+
CglDYXBhYmlsaXRpZXM6IFszMzAgdjFdIFBoeXNpY2FsIExheWVyIDE2LjAgR1QvcyA8Pz4KCUNh
cGFiaWxpdGllczogWzM2MCB2MV0gTGFuZSBNYXJnaW5pbmcgYXQgdGhlIFJlY2VpdmVyIDw/PgoJ
Q2FwYWJpbGl0aWVzOiBbNzAwIHYxXSBMMSBQTSBTdWJzdGF0ZXMKCQlMMVN1YkNhcDogUENJLVBN
X0wxLjIrIFBDSS1QTV9MMS4xKyBBU1BNX0wxLjIrIEFTUE1fTDEuMS0gTDFfUE1fU3Vic3RhdGVz
KwoJCQkgIFBvcnRDb21tb25Nb2RlUmVzdG9yZVRpbWU9MzJ1cyBQb3J0VFBvd2VyT25UaW1lPTIw
dXMKCQlMMVN1YkN0bDE6IFBDSS1QTV9MMS4yKyBQQ0ktUE1fTDEuMSsgQVNQTV9MMS4yKyBBU1BN
X0wxLjEtCgkJCSAgIFRfQ29tbW9uTW9kZT0wdXMgTFRSMS4yX1RocmVzaG9sZD0xNjM4NDBucwoJ
CUwxU3ViQ3RsMjogVF9Qd3JPbj0xNTB1cwoJS2VybmVsIGRyaXZlciBpbiB1c2U6IG52bWUKCUtl
cm5lbCBtb2R1bGVzOiBudm1lCgowNDowMC4wIFZHQSBjb21wYXRpYmxlIGNvbnRyb2xsZXI6IEFk
dmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRC9BVEldIERldmljZSAxNjgxIChyZXYgMDIp
IChwcm9nLWlmIDAwIFtWR0EgY29udHJvbGxlcl0pCglTdWJzeXN0ZW06IExlbm92byBEZXZpY2Ug
M2IxZQoJQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBW
R0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeCsKCVN0YXR1
czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQt
IDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAsIENhY2hl
IExpbmUgU2l6ZTogNjQgYnl0ZXMKCUludGVycnVwdDogcGluIEEgcm91dGVkIHRvIElSUSAzNAoJ
UmVnaW9uIDA6IE1lbW9yeSBhdCA4MzEwMDAwMDAwICg2NC1iaXQsIHByZWZldGNoYWJsZSkgW3Np
emU9MjU2TV0KCVJlZ2lvbiAyOiBNZW1vcnkgYXQgODMyMDAwMDAwMCAoNjQtYml0LCBwcmVmZXRj
aGFibGUpIFtzaXplPTJNXQoJUmVnaW9uIDQ6IEkvTyBwb3J0cyBhdCAxMDAwIFtzaXplPTI1Nl0K
CVJlZ2lvbiA1OiBNZW1vcnkgYXQgODE2MDAwMDAgKDMyLWJpdCwgbm9uLXByZWZldGNoYWJsZSkg
W3NpemU9NTEyS10KCUNhcGFiaWxpdGllczogWzQ4XSBWZW5kb3IgU3BlY2lmaWMgSW5mb3JtYXRp
b246IExlbj0wOCA8Pz4KCUNhcGFiaWxpdGllczogWzUwXSBQb3dlciBNYW5hZ2VtZW50IHZlcnNp
b24gMwoJCUZsYWdzOiBQTUVDbGstIERTSS0gRDEtIEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDAt
LEQxKyxEMissRDNob3QrLEQzY29sZCspCgkJU3RhdHVzOiBEMCBOb1NvZnRSc3QtIFBNRS1FbmFi
bGUtIERTZWw9MCBEU2NhbGU9MCBQTUUtCglDYXBhYmlsaXRpZXM6IFs2NF0gRXhwcmVzcyAodjIp
IExlZ2FjeSBFbmRwb2ludCwgTVNJIDAwCgkJRGV2Q2FwOglNYXhQYXlsb2FkIDI1NiBieXRlcywg
UGhhbnRGdW5jIDAsIExhdGVuY3kgTDBzIDw0dXMsIEwxIHVubGltaXRlZAoJCQlFeHRUYWcrIEF0
dG5CdG4tIEF0dG5JbmQtIFB3ckluZC0gUkJFKyBGTFJlc2V0LQoJCURldkN0bDoJQ29yckVyci0g
Tm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0KCQkJUmx4ZE9yZCsgRXh0VGFnKyBQaGFu
dEZ1bmMtIEF1eFB3ci0gTm9Tbm9vcCsKCQkJTWF4UGF5bG9hZCAxMjggYnl0ZXMsIE1heFJlYWRS
ZXEgNTEyIGJ5dGVzCgkJRGV2U3RhOglDb3JyRXJyLSBOb25GYXRhbEVycisgRmF0YWxFcnItIFVu
c3VwUmVxKyBBdXhQd3ItIFRyYW5zUGVuZC0KCQlMbmtDYXA6CVBvcnQgIzAsIFNwZWVkIDE2R1Qv
cywgV2lkdGggeDE2LCBBU1BNIEwwcyBMMSwgRXhpdCBMYXRlbmN5IEwwcyA8NjRucywgTDEgPDF1
cwoJCQlDbG9ja1BNLSBTdXJwcmlzZS0gTExBY3RSZXAtIEJ3Tm90LSBBU1BNT3B0Q29tcCsKCQlM
bmtDdGw6CUFTUE0gRGlzYWJsZWQ7IFJDQiA2NCBieXRlcywgRGlzYWJsZWQtIENvbW1DbGsrCgkJ
CUV4dFN5bmNoLSBDbG9ja1BNLSBBdXRXaWREaXMtIEJXSW50LSBBdXRCV0ludC0KCQlMbmtTdGE6
CVNwZWVkIDE2R1QvcyAob2spLCBXaWR0aCB4MTYgKG9rKQoJCQlUckVyci0gVHJhaW4tIFNsb3RD
bGsrIERMQWN0aXZlLSBCV01nbXQtIEFCV01nbXQtCgkJRGV2Q2FwMjogQ29tcGxldGlvbiBUaW1l
b3V0OiBSYW5nZSBBQkNELCBUaW1lb3V0RGlzKyBOUk9QclByUC0gTFRSLQoJCQkgMTBCaXRUYWdD
b21wKyAxMEJpdFRhZ1JlcS0gT0JGRiBOb3QgU3VwcG9ydGVkLCBFeHRGbXQrIEVFVExQUHJlZml4
KywgTWF4RUVUTFBQcmVmaXhlcyAxCgkJCSBFbWVyZ2VuY3lQb3dlclJlZHVjdGlvbiBOb3QgU3Vw
cG9ydGVkLCBFbWVyZ2VuY3lQb3dlclJlZHVjdGlvbkluaXQtCgkJCSBGUlMtCgkJCSBBdG9taWNP
cHNDYXA6IDMyYml0KyA2NGJpdCsgMTI4Yml0Q0FTLQoJCURldkN0bDI6IENvbXBsZXRpb24gVGlt
ZW91dDogNTB1cyB0byA1MG1zLCBUaW1lb3V0RGlzLSBMVFItIE9CRkYgRGlzYWJsZWQsCgkJCSBB
dG9taWNPcHNDdGw6IFJlcUVuKwoJCUxua0NhcDI6IFN1cHBvcnRlZCBMaW5rIFNwZWVkczogMi41
LTE2R1QvcywgQ3Jvc3NsaW5rLSBSZXRpbWVyKyAyUmV0aW1lcnMrIERSUy0KCQlMbmtDdGwyOiBU
YXJnZXQgTGluayBTcGVlZDogMTZHVC9zLCBFbnRlckNvbXBsaWFuY2UtIFNwZWVkRGlzLQoJCQkg
VHJhbnNtaXQgTWFyZ2luOiBOb3JtYWwgT3BlcmF0aW5nIFJhbmdlLCBFbnRlck1vZGlmaWVkQ29t
cGxpYW5jZS0gQ29tcGxpYW5jZVNPUy0KCQkJIENvbXBsaWFuY2UgRGUtZW1waGFzaXM6IC02ZEIK
CQlMbmtTdGEyOiBDdXJyZW50IERlLWVtcGhhc2lzIExldmVsOiAtMy41ZEIsIEVxdWFsaXphdGlv
bkNvbXBsZXRlKyBFcXVhbGl6YXRpb25QaGFzZTErCgkJCSBFcXVhbGl6YXRpb25QaGFzZTIrIEVx
dWFsaXphdGlvblBoYXNlMysgTGlua0VxdWFsaXphdGlvblJlcXVlc3QtCgkJCSBSZXRpbWVyLSAy
UmV0aW1lcnMtIENyb3NzbGlua1JlczogdW5zdXBwb3J0ZWQKCUNhcGFiaWxpdGllczogW2EwXSBN
U0k6IEVuYWJsZS0gQ291bnQ9MS80IE1hc2thYmxlLSA2NGJpdCsKCQlBZGRyZXNzOiAwMDAwMDAw
MDAwMDAwMDAwICBEYXRhOiAwMDAwCglDYXBhYmlsaXRpZXM6IFtjMF0gTVNJLVg6IEVuYWJsZSsg
Q291bnQ9NCBNYXNrZWQtCgkJVmVjdG9yIHRhYmxlOiBCQVI9NSBvZmZzZXQ9MDAwNDIwMDAKCQlQ
QkE6IEJBUj01IG9mZnNldD0wMDA0MzAwMAoJQ2FwYWJpbGl0aWVzOiBbMTAwIHYxXSBWZW5kb3Ig
U3BlY2lmaWMgSW5mb3JtYXRpb246IElEPTAwMDEgUmV2PTEgTGVuPTAxMCA8Pz4KCUNhcGFiaWxp
dGllczogWzI3MCB2MV0gU2Vjb25kYXJ5IFBDSSBFeHByZXNzCgkJTG5rQ3RsMzogTG5rRXF1SW50
cnJ1cHRFbi0gUGVyZm9ybUVxdS0KCQlMYW5lRXJyU3RhdDogMAoJQ2FwYWJpbGl0aWVzOiBbMmEw
IHYxXSBBY2Nlc3MgQ29udHJvbCBTZXJ2aWNlcwoJCUFDU0NhcDoJU3JjVmFsaWQtIFRyYW5zQmxr
LSBSZXFSZWRpci0gQ21wbHRSZWRpci0gVXBzdHJlYW1Gd2QtIEVncmVzc0N0cmwtIERpcmVjdFRy
YW5zLQoJCUFDU0N0bDoJU3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0gQ21wbHRSZWRpci0g
VXBzdHJlYW1Gd2QtIEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJQ2FwYWJpbGl0aWVzOiBbMmIw
IHYxXSBBZGRyZXNzIFRyYW5zbGF0aW9uIFNlcnZpY2UgKEFUUykKCQlBVFNDYXA6CUludmFsaWRh
dGUgUXVldWUgRGVwdGg6IDAwCgkJQVRTQ3RsOglFbmFibGUtLCBTbWFsbGVzdCBUcmFuc2xhdGlv
biBVbml0OiAwMAoJQ2FwYWJpbGl0aWVzOiBbMmMwIHYxXSBQYWdlIFJlcXVlc3QgSW50ZXJmYWNl
IChQUkkpCgkJUFJJQ3RsOiBFbmFibGUtIFJlc2V0LQoJCVBSSVN0YTogUkYtIFVQUkdJLSBTdG9w
cGVkKwoJCVBhZ2UgUmVxdWVzdCBDYXBhY2l0eTogMDAwMDAxMDAsIFBhZ2UgUmVxdWVzdCBBbGxv
Y2F0aW9uOiAwMDAwMDAwMAoJQ2FwYWJpbGl0aWVzOiBbMmQwIHYxXSBQcm9jZXNzIEFkZHJlc3Mg
U3BhY2UgSUQgKFBBU0lEKQoJCVBBU0lEQ2FwOiBFeGVjKyBQcml2KywgTWF4IFBBU0lEIFdpZHRo
OiAxMAoJCVBBU0lEQ3RsOiBFbmFibGUtIEV4ZWMtIFByaXYtCglDYXBhYmlsaXRpZXM6IFs0MTAg
djFdIFBoeXNpY2FsIExheWVyIDE2LjAgR1QvcyA8Pz4KCUNhcGFiaWxpdGllczogWzQ1MCB2MV0g
TGFuZSBNYXJnaW5pbmcgYXQgdGhlIFJlY2VpdmVyIDw/PgoJS2VybmVsIGRyaXZlciBpbiB1c2U6
IGFtZGdwdQoJS2VybmVsIG1vZHVsZXM6IGFtZGdwdQoKMDQ6MDAuMSBBdWRpbyBkZXZpY2U6IEFk
dmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRC9BVEldIERldmljZSAxNjQwCglTdWJzeXN0
ZW06IExlbm92byBEZXZpY2UgMzgwNwoJQ29udHJvbDogSS9PLSBNZW0rIEJ1c01hc3RlcisgU3Bl
Y0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIy
Qi0gRGlzSU5UeCsKCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERF
VlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0K
CUxhdGVuY3k6IDAsIENhY2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMKCUludGVycnVwdDogcGluIEIg
cm91dGVkIHRvIElSUSA5NAoJUmVnaW9uIDA6IE1lbW9yeSBhdCA4MTZjODAwMCAoMzItYml0LCBu
b24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT0xNktdCglDYXBhYmlsaXRpZXM6IFs0OF0gVmVuZG9yIFNw
ZWNpZmljIEluZm9ybWF0aW9uOiBMZW49MDggPD8+CglDYXBhYmlsaXRpZXM6IFs1MF0gUG93ZXIg
TWFuYWdlbWVudCB2ZXJzaW9uIDMKCQlGbGFnczogUE1FQ2xrLSBEU0ktIEQxLSBEMi0gQXV4Q3Vy
cmVudD0wbUEgUE1FKEQwLSxEMSssRDIrLEQzaG90KyxEM2NvbGQrKQoJCVN0YXR1czogRDAgTm9T
b2Z0UnN0LSBQTUUtRW5hYmxlLSBEU2VsPTAgRFNjYWxlPTAgUE1FLQoJQ2FwYWJpbGl0aWVzOiBb
NjRdIEV4cHJlc3MgKHYyKSBMZWdhY3kgRW5kcG9pbnQsIE1TSSAwMAoJCURldkNhcDoJTWF4UGF5
bG9hZCAyNTYgYnl0ZXMsIFBoYW50RnVuYyAwLCBMYXRlbmN5IEwwcyA8NHVzLCBMMSB1bmxpbWl0
ZWQKCQkJRXh0VGFnKyBBdHRuQnRuLSBBdHRuSW5kLSBQd3JJbmQtIFJCRSsgRkxSZXNldC0KCQlE
ZXZDdGw6CUNvcnJFcnItIE5vbkZhdGFsRXJyLSBGYXRhbEVyci0gVW5zdXBSZXEtCgkJCVJseGRP
cmQrIEV4dFRhZysgUGhhbnRGdW5jLSBBdXhQd3ItIE5vU25vb3ArCgkJCU1heFBheWxvYWQgMTI4
IGJ5dGVzLCBNYXhSZWFkUmVxIDUxMiBieXRlcwoJCURldlN0YToJQ29yckVyci0gTm9uRmF0YWxF
cnItIEZhdGFsRXJyLSBVbnN1cFJlcS0gQXV4UHdyLSBUcmFuc1BlbmQtCgkJTG5rQ2FwOglQb3J0
ICMwLCBTcGVlZCAxNkdUL3MsIFdpZHRoIHgxNiwgQVNQTSBMMHMgTDEsIEV4aXQgTGF0ZW5jeSBM
MHMgPDY0bnMsIEwxIDwxdXMKCQkJQ2xvY2tQTS0gU3VycHJpc2UtIExMQWN0UmVwLSBCd05vdC0g
QVNQTU9wdENvbXArCgkJTG5rQ3RsOglBU1BNIERpc2FibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2Fi
bGVkLSBDb21tQ2xrKwoJCQlFeHRTeW5jaC0gQ2xvY2tQTS0gQXV0V2lkRGlzLSBCV0ludC0gQXV0
QldJbnQtCgkJTG5rU3RhOglTcGVlZCAxNkdUL3MgKG9rKSwgV2lkdGggeDE2IChvaykKCQkJVHJF
cnItIFRyYWluLSBTbG90Q2xrKyBETEFjdGl2ZS0gQldNZ210LSBBQldNZ210LQoJCURldkNhcDI6
IENvbXBsZXRpb24gVGltZW91dDogUmFuZ2UgQUJDRCwgVGltZW91dERpcysgTlJPUHJQclAtIExU
Ui0KCQkJIDEwQml0VGFnQ29tcCsgMTBCaXRUYWdSZXEtIE9CRkYgTm90IFN1cHBvcnRlZCwgRXh0
Rm10KyBFRVRMUFByZWZpeCssIE1heEVFVExQUHJlZml4ZXMgMQoJCQkgRW1lcmdlbmN5UG93ZXJS
ZWR1Y3Rpb24gTm90IFN1cHBvcnRlZCwgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb25Jbml0LQoJCQkg
RlJTLQoJCQkgQXRvbWljT3BzQ2FwOiAzMmJpdC0gNjRiaXQtIDEyOGJpdENBUy0KCQlEZXZDdGwy
OiBDb21wbGV0aW9uIFRpbWVvdXQ6IDUwdXMgdG8gNTBtcywgVGltZW91dERpcy0gTFRSLSBPQkZG
IERpc2FibGVkLAoJCQkgQXRvbWljT3BzQ3RsOiBSZXFFbisKCQlMbmtTdGEyOiBDdXJyZW50IERl
LWVtcGhhc2lzIExldmVsOiAtMy41ZEIsIEVxdWFsaXphdGlvbkNvbXBsZXRlLSBFcXVhbGl6YXRp
b25QaGFzZTEtCgkJCSBFcXVhbGl6YXRpb25QaGFzZTItIEVxdWFsaXphdGlvblBoYXNlMy0gTGlu
a0VxdWFsaXphdGlvblJlcXVlc3QtCgkJCSBSZXRpbWVyLSAyUmV0aW1lcnMtIENyb3NzbGlua1Jl
czogdW5zdXBwb3J0ZWQKCUNhcGFiaWxpdGllczogW2EwXSBNU0k6IEVuYWJsZSsgQ291bnQ9MS8x
IE1hc2thYmxlLSA2NGJpdCsKCQlBZGRyZXNzOiAwMDAwMDAwMGZlZTAxMDBjICBEYXRhOiA0MDAw
CglDYXBhYmlsaXRpZXM6IFsxMDAgdjFdIFZlbmRvciBTcGVjaWZpYyBJbmZvcm1hdGlvbjogSUQ9
MDAwMSBSZXY9MSBMZW49MDEwIDw/PgoJQ2FwYWJpbGl0aWVzOiBbMmEwIHYxXSBBY2Nlc3MgQ29u
dHJvbCBTZXJ2aWNlcwoJCUFDU0NhcDoJU3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0gQ21w
bHRSZWRpci0gVXBzdHJlYW1Gd2QtIEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJCUFDU0N0bDoJ
U3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0gQ21wbHRSZWRpci0gVXBzdHJlYW1Gd2QtIEVn
cmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJS2VybmVsIGRyaXZlciBpbiB1c2U6IHNuZF9oZGFfaW50
ZWwKCUtlcm5lbCBtb2R1bGVzOiBzbmRfaGRhX2ludGVsCgowNDowMC4yIEVuY3J5cHRpb24gY29u
dHJvbGxlcjogQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLiBbQU1EXSBWYW5Hb2doIFBTUC9D
Q1AKCVN1YnN5c3RlbTogTGVub3ZvIERldmljZSAzODJkCglDb250cm9sOiBJL08tIE1lbSsgQnVz
TWFzdGVyKyBTcGVjQ3ljbGUtIE1lbVdJTlYtIFZHQVNub29wLSBQYXJFcnItIFN0ZXBwaW5nLSBT
RVJSLSBGYXN0QjJCLSBEaXNJTlR4KwoJU3RhdHVzOiBDYXArIDY2TUh6LSBVREYtIEZhc3RCMkIt
IFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0gPFRBYm9ydC0gPE1BYm9ydC0gPlNFUlItIDxQ
RVJSLSBJTlR4LQoJTGF0ZW5jeTogMCwgQ2FjaGUgTGluZSBTaXplOiA2NCBieXRlcwoJSW50ZXJy
dXB0OiBwaW4gQyByb3V0ZWQgdG8gSVJRIDMyCglSZWdpb24gMjogTWVtb3J5IGF0IDgxNTAwMDAw
ICgzMi1iaXQsIG5vbi1wcmVmZXRjaGFibGUpIFtzaXplPTFNXQoJUmVnaW9uIDU6IE1lbW9yeSBh
dCA4MTZjYzAwMCAoMzItYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT04S10KCUNhcGFiaWxp
dGllczogWzQ4XSBWZW5kb3IgU3BlY2lmaWMgSW5mb3JtYXRpb246IExlbj0wOCA8Pz4KCUNhcGFi
aWxpdGllczogWzUwXSBQb3dlciBNYW5hZ2VtZW50IHZlcnNpb24gMwoJCUZsYWdzOiBQTUVDbGst
IERTSS0gRDEtIEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDAtLEQxLSxEMi0sRDNob3QtLEQzY29s
ZC0pCgkJU3RhdHVzOiBEMCBOb1NvZnRSc3QrIFBNRS1FbmFibGUtIERTZWw9MCBEU2NhbGU9MCBQ
TUUtCglDYXBhYmlsaXRpZXM6IFs2NF0gRXhwcmVzcyAodjIpIEVuZHBvaW50LCBNU0kgMDAKCQlE
ZXZDYXA6CU1heFBheWxvYWQgMjU2IGJ5dGVzLCBQaGFudEZ1bmMgMCwgTGF0ZW5jeSBMMHMgPDR1
cywgTDEgdW5saW1pdGVkCgkJCUV4dFRhZysgQXR0bkJ0bi0gQXR0bkluZC0gUHdySW5kLSBSQkUr
IEZMUmVzZXQtIFNsb3RQb3dlckxpbWl0IDAuMDAwVwoJCURldkN0bDoJQ29yckVyci0gTm9uRmF0
YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0KCQkJUmx4ZE9yZCsgRXh0VGFnKyBQaGFudEZ1bmMt
IEF1eFB3ci0gTm9Tbm9vcCsKCQkJTWF4UGF5bG9hZCAxMjggYnl0ZXMsIE1heFJlYWRSZXEgNTEy
IGJ5dGVzCgkJRGV2U3RhOglDb3JyRXJyLSBOb25GYXRhbEVyci0gRmF0YWxFcnItIFVuc3VwUmVx
LSBBdXhQd3ItIFRyYW5zUGVuZC0KCQlMbmtDYXA6CVBvcnQgIzAsIFNwZWVkIDE2R1QvcywgV2lk
dGggeDE2LCBBU1BNIEwwcyBMMSwgRXhpdCBMYXRlbmN5IEwwcyA8NjRucywgTDEgPDF1cwoJCQlD
bG9ja1BNLSBTdXJwcmlzZS0gTExBY3RSZXAtIEJ3Tm90LSBBU1BNT3B0Q29tcCsKCQlMbmtDdGw6
CUFTUE0gRGlzYWJsZWQ7IFJDQiA2NCBieXRlcywgRGlzYWJsZWQtIENvbW1DbGsrCgkJCUV4dFN5
bmNoLSBDbG9ja1BNLSBBdXRXaWREaXMtIEJXSW50LSBBdXRCV0ludC0KCQlMbmtTdGE6CVNwZWVk
IDE2R1QvcyAob2spLCBXaWR0aCB4MTYgKG9rKQoJCQlUckVyci0gVHJhaW4tIFNsb3RDbGsrIERM
QWN0aXZlLSBCV01nbXQtIEFCV01nbXQtCgkJRGV2Q2FwMjogQ29tcGxldGlvbiBUaW1lb3V0OiBS
YW5nZSBBQkNELCBUaW1lb3V0RGlzKyBOUk9QclByUC0gTFRSLQoJCQkgMTBCaXRUYWdDb21wKyAx
MEJpdFRhZ1JlcS0gT0JGRiBOb3QgU3VwcG9ydGVkLCBFeHRGbXQrIEVFVExQUHJlZml4KywgTWF4
RUVUTFBQcmVmaXhlcyAxCgkJCSBFbWVyZ2VuY3lQb3dlclJlZHVjdGlvbiBOb3QgU3VwcG9ydGVk
LCBFbWVyZ2VuY3lQb3dlclJlZHVjdGlvbkluaXQtCgkJCSBGUlMtIFRQSENvbXAtIEV4dFRQSENv
bXAtCgkJCSBBdG9taWNPcHNDYXA6IDMyYml0LSA2NGJpdC0gMTI4Yml0Q0FTLQoJCURldkN0bDI6
IENvbXBsZXRpb24gVGltZW91dDogNTB1cyB0byA1MG1zLCBUaW1lb3V0RGlzLSBMVFItIE9CRkYg
RGlzYWJsZWQsCgkJCSBBdG9taWNPcHNDdGw6IFJlcUVuLQoJCUxua1N0YTI6IEN1cnJlbnQgRGUt
ZW1waGFzaXMgTGV2ZWw6IC0zLjVkQiwgRXF1YWxpemF0aW9uQ29tcGxldGUtIEVxdWFsaXphdGlv
blBoYXNlMS0KCQkJIEVxdWFsaXphdGlvblBoYXNlMi0gRXF1YWxpemF0aW9uUGhhc2UzLSBMaW5r
RXF1YWxpemF0aW9uUmVxdWVzdC0KCQkJIFJldGltZXItIDJSZXRpbWVycy0gQ3Jvc3NsaW5rUmVz
OiB1bnN1cHBvcnRlZAoJQ2FwYWJpbGl0aWVzOiBbYTBdIE1TSTogRW5hYmxlLSBDb3VudD0xLzIg
TWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6IDAwMDAwMDAwMDAwMDAwMDAgIERhdGE6IDAwMDAK
CUNhcGFiaWxpdGllczogW2MwXSBNU0ktWDogRW5hYmxlKyBDb3VudD0yIE1hc2tlZC0KCQlWZWN0
b3IgdGFibGU6IEJBUj01IG9mZnNldD0wMDAwMDAwMAoJCVBCQTogQkFSPTUgb2Zmc2V0PTAwMDAx
MDAwCglDYXBhYmlsaXRpZXM6IFsxMDAgdjFdIFZlbmRvciBTcGVjaWZpYyBJbmZvcm1hdGlvbjog
SUQ9MDAwMSBSZXY9MSBMZW49MDEwIDw/PgoJQ2FwYWJpbGl0aWVzOiBbMmEwIHYxXSBBY2Nlc3Mg
Q29udHJvbCBTZXJ2aWNlcwoJCUFDU0NhcDoJU3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0g
Q21wbHRSZWRpci0gVXBzdHJlYW1Gd2QtIEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJCUFDU0N0
bDoJU3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0gQ21wbHRSZWRpci0gVXBzdHJlYW1Gd2Qt
IEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJS2VybmVsIGRyaXZlciBpbiB1c2U6IGNjcAoJS2Vy
bmVsIG1vZHVsZXM6IGNjcAoKMDQ6MDAuMyBVU0IgY29udHJvbGxlcjogQWR2YW5jZWQgTWljcm8g
RGV2aWNlcywgSW5jLiBbQU1EXSBEZXZpY2UgMTYxZCAocHJvZy1pZiAzMCBbWEhDSV0pCglTdWJz
eXN0ZW06IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE2MWQKCUNv
bnRyb2w6IEkvTysgTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdBU25vb3At
IFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgrCglTdGF0dXM6IENhcCsg
NjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8VEFib3J0
LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCglMYXRlbmN5OiAwLCBDYWNoZSBMaW5lIFNp
emU6IDY0IGJ5dGVzCglJbnRlcnJ1cHQ6IHBpbiBEIHJvdXRlZCB0byBJUlEgMzMKCVJlZ2lvbiAw
OiBNZW1vcnkgYXQgODEzMDAwMDAgKDY0LWJpdCwgbm9uLXByZWZldGNoYWJsZSkgW3NpemU9MU1d
CglDYXBhYmlsaXRpZXM6IFs0OF0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBMZW49MDgg
PD8+CglDYXBhYmlsaXRpZXM6IFs1MF0gUG93ZXIgTWFuYWdlbWVudCB2ZXJzaW9uIDMKCQlGbGFn
czogUE1FQ2xrLSBEU0ktIEQxLSBEMi0gQXV4Q3VycmVudD0wbUEgUE1FKEQwKyxEMS0sRDItLEQz
aG90KyxEM2NvbGQrKQoJCVN0YXR1czogRDAgTm9Tb2Z0UnN0LSBQTUUtRW5hYmxlLSBEU2VsPTAg
RFNjYWxlPTAgUE1FLQoJQ2FwYWJpbGl0aWVzOiBbNjRdIEV4cHJlc3MgKHYyKSBFbmRwb2ludCwg
TVNJIDAwCgkJRGV2Q2FwOglNYXhQYXlsb2FkIDI1NiBieXRlcywgUGhhbnRGdW5jIDAsIExhdGVu
Y3kgTDBzIDw0dXMsIEwxIHVubGltaXRlZAoJCQlFeHRUYWcrIEF0dG5CdG4tIEF0dG5JbmQtIFB3
ckluZC0gUkJFKyBGTFJlc2V0LSBTbG90UG93ZXJMaW1pdCAwLjAwMFcKCQlEZXZDdGw6CUNvcnJF
cnItIE5vbkZhdGFsRXJyLSBGYXRhbEVyci0gVW5zdXBSZXEtCgkJCVJseGRPcmQrIEV4dFRhZysg
UGhhbnRGdW5jLSBBdXhQd3ItIE5vU25vb3ArCgkJCU1heFBheWxvYWQgMTI4IGJ5dGVzLCBNYXhS
ZWFkUmVxIDUxMiBieXRlcwoJCURldlN0YToJQ29yckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJy
LSBVbnN1cFJlcS0gQXV4UHdyLSBUcmFuc1BlbmQtCgkJTG5rQ2FwOglQb3J0ICMwLCBTcGVlZCAx
NkdUL3MsIFdpZHRoIHgxNiwgQVNQTSBMMHMgTDEsIEV4aXQgTGF0ZW5jeSBMMHMgPDY0bnMsIEwx
IDwxdXMKCQkJQ2xvY2tQTS0gU3VycHJpc2UtIExMQWN0UmVwLSBCd05vdC0gQVNQTU9wdENvbXAr
CgkJTG5rQ3RsOglBU1BNIERpc2FibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2FibGVkLSBDb21tQ2xr
KwoJCQlFeHRTeW5jaC0gQ2xvY2tQTS0gQXV0V2lkRGlzLSBCV0ludC0gQXV0QldJbnQtCgkJTG5r
U3RhOglTcGVlZCAxNkdUL3MgKG9rKSwgV2lkdGggeDE2IChvaykKCQkJVHJFcnItIFRyYWluLSBT
bG90Q2xrKyBETEFjdGl2ZS0gQldNZ210LSBBQldNZ210LQoJCURldkNhcDI6IENvbXBsZXRpb24g
VGltZW91dDogUmFuZ2UgQUJDRCwgVGltZW91dERpcysgTlJPUHJQclAtIExUUi0KCQkJIDEwQml0
VGFnQ29tcCsgMTBCaXRUYWdSZXEtIE9CRkYgTm90IFN1cHBvcnRlZCwgRXh0Rm10KyBFRVRMUFBy
ZWZpeCssIE1heEVFVExQUHJlZml4ZXMgMQoJCQkgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb24gTm90
IFN1cHBvcnRlZCwgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb25Jbml0LQoJCQkgRlJTLSBUUEhDb21w
LSBFeHRUUEhDb21wLQoJCQkgQXRvbWljT3BzQ2FwOiAzMmJpdC0gNjRiaXQtIDEyOGJpdENBUy0K
CQlEZXZDdGwyOiBDb21wbGV0aW9uIFRpbWVvdXQ6IDUwdXMgdG8gNTBtcywgVGltZW91dERpcy0g
TFRSLSBPQkZGIERpc2FibGVkLAoJCQkgQXRvbWljT3BzQ3RsOiBSZXFFbi0KCQlMbmtTdGEyOiBD
dXJyZW50IERlLWVtcGhhc2lzIExldmVsOiAtMy41ZEIsIEVxdWFsaXphdGlvbkNvbXBsZXRlLSBF
cXVhbGl6YXRpb25QaGFzZTEtCgkJCSBFcXVhbGl6YXRpb25QaGFzZTItIEVxdWFsaXphdGlvblBo
YXNlMy0gTGlua0VxdWFsaXphdGlvblJlcXVlc3QtCgkJCSBSZXRpbWVyLSAyUmV0aW1lcnMtIENy
b3NzbGlua1JlczogdW5zdXBwb3J0ZWQKCUNhcGFiaWxpdGllczogW2EwXSBNU0k6IEVuYWJsZS0g
Q291bnQ9MS84IE1hc2thYmxlLSA2NGJpdCsKCQlBZGRyZXNzOiAwMDAwMDAwMDAwMDAwMDAwICBE
YXRhOiAwMDAwCglDYXBhYmlsaXRpZXM6IFtjMF0gTVNJLVg6IEVuYWJsZSsgQ291bnQ9OCBNYXNr
ZWQtCgkJVmVjdG9yIHRhYmxlOiBCQVI9MCBvZmZzZXQ9MDAwZmUwMDAKCQlQQkE6IEJBUj0wIG9m
ZnNldD0wMDBmZjAwMAoJQ2FwYWJpbGl0aWVzOiBbMTAwIHYxXSBWZW5kb3IgU3BlY2lmaWMgSW5m
b3JtYXRpb246IElEPTAwMDEgUmV2PTEgTGVuPTAxMCA8Pz4KCUNhcGFiaWxpdGllczogWzJhMCB2
MV0gQWNjZXNzIENvbnRyb2wgU2VydmljZXMKCQlBQ1NDYXA6CVNyY1ZhbGlkLSBUcmFuc0Jsay0g
UmVxUmVkaXItIENtcGx0UmVkaXItIFVwc3RyZWFtRndkLSBFZ3Jlc3NDdHJsLSBEaXJlY3RUcmFu
cy0KCQlBQ1NDdGw6CVNyY1ZhbGlkLSBUcmFuc0Jsay0gUmVxUmVkaXItIENtcGx0UmVkaXItIFVw
c3RyZWFtRndkLSBFZ3Jlc3NDdHJsLSBEaXJlY3RUcmFucy0KCUtlcm5lbCBkcml2ZXIgaW4gdXNl
OiB4aGNpX2hjZAoJS2VybmVsIG1vZHVsZXM6IHhoY2lfcGNpCgowNDowMC40IFVTQiBjb250cm9s
bGVyOiBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuIFtBTURdIERldmljZSAxNjFlIChwcm9n
LWlmIDMwIFtYSENJXSkKCVN1YnN5c3RlbTogQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLiBb
QU1EXSBEZXZpY2UgMTYxZQoJQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xl
LSBNZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlz
SU5UeCsKCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1m
YXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVu
Y3k6IDAsIENhY2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMKCUludGVycnVwdDogcGluIEEgcm91dGVk
IHRvIElSUSAzNAoJUmVnaW9uIDA6IE1lbW9yeSBhdCA4MTQwMDAwMCAoNjQtYml0LCBub24tcHJl
ZmV0Y2hhYmxlKSBbc2l6ZT0xTV0KCUNhcGFiaWxpdGllczogWzQ4XSBWZW5kb3IgU3BlY2lmaWMg
SW5mb3JtYXRpb246IExlbj0wOCA8Pz4KCUNhcGFiaWxpdGllczogWzUwXSBQb3dlciBNYW5hZ2Vt
ZW50IHZlcnNpb24gMwoJCUZsYWdzOiBQTUVDbGstIERTSS0gRDEtIEQyLSBBdXhDdXJyZW50PTBt
QSBQTUUoRDArLEQxLSxEMi0sRDNob3QrLEQzY29sZCspCgkJU3RhdHVzOiBEMCBOb1NvZnRSc3Qt
IFBNRS1FbmFibGUtIERTZWw9MCBEU2NhbGU9MCBQTUUtCglDYXBhYmlsaXRpZXM6IFs2NF0gRXhw
cmVzcyAodjIpIEVuZHBvaW50LCBNU0kgMDAKCQlEZXZDYXA6CU1heFBheWxvYWQgMjU2IGJ5dGVz
LCBQaGFudEZ1bmMgMCwgTGF0ZW5jeSBMMHMgPDR1cywgTDEgdW5saW1pdGVkCgkJCUV4dFRhZysg
QXR0bkJ0bi0gQXR0bkluZC0gUHdySW5kLSBSQkUrIEZMUmVzZXQtIFNsb3RQb3dlckxpbWl0IDAu
MDAwVwoJCURldkN0bDoJQ29yckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0K
CQkJUmx4ZE9yZCsgRXh0VGFnKyBQaGFudEZ1bmMtIEF1eFB3ci0gTm9Tbm9vcCsKCQkJTWF4UGF5
bG9hZCAxMjggYnl0ZXMsIE1heFJlYWRSZXEgNTEyIGJ5dGVzCgkJRGV2U3RhOglDb3JyRXJyLSBO
b25GYXRhbEVyci0gRmF0YWxFcnItIFVuc3VwUmVxLSBBdXhQd3ItIFRyYW5zUGVuZC0KCQlMbmtD
YXA6CVBvcnQgIzAsIFNwZWVkIDE2R1QvcywgV2lkdGggeDE2LCBBU1BNIEwwcyBMMSwgRXhpdCBM
YXRlbmN5IEwwcyA8NjRucywgTDEgPDF1cwoJCQlDbG9ja1BNLSBTdXJwcmlzZS0gTExBY3RSZXAt
IEJ3Tm90LSBBU1BNT3B0Q29tcCsKCQlMbmtDdGw6CUFTUE0gRGlzYWJsZWQ7IFJDQiA2NCBieXRl
cywgRGlzYWJsZWQtIENvbW1DbGsrCgkJCUV4dFN5bmNoLSBDbG9ja1BNLSBBdXRXaWREaXMtIEJX
SW50LSBBdXRCV0ludC0KCQlMbmtTdGE6CVNwZWVkIDE2R1QvcyAob2spLCBXaWR0aCB4MTYgKG9r
KQoJCQlUckVyci0gVHJhaW4tIFNsb3RDbGsrIERMQWN0aXZlLSBCV01nbXQtIEFCV01nbXQtCgkJ
RGV2Q2FwMjogQ29tcGxldGlvbiBUaW1lb3V0OiBSYW5nZSBBQkNELCBUaW1lb3V0RGlzKyBOUk9Q
clByUC0gTFRSLQoJCQkgMTBCaXRUYWdDb21wKyAxMEJpdFRhZ1JlcS0gT0JGRiBOb3QgU3VwcG9y
dGVkLCBFeHRGbXQrIEVFVExQUHJlZml4KywgTWF4RUVUTFBQcmVmaXhlcyAxCgkJCSBFbWVyZ2Vu
Y3lQb3dlclJlZHVjdGlvbiBOb3QgU3VwcG9ydGVkLCBFbWVyZ2VuY3lQb3dlclJlZHVjdGlvbklu
aXQtCgkJCSBGUlMtIFRQSENvbXAtIEV4dFRQSENvbXAtCgkJCSBBdG9taWNPcHNDYXA6IDMyYml0
LSA2NGJpdC0gMTI4Yml0Q0FTLQoJCURldkN0bDI6IENvbXBsZXRpb24gVGltZW91dDogNTB1cyB0
byA1MG1zLCBUaW1lb3V0RGlzLSBMVFItIE9CRkYgRGlzYWJsZWQsCgkJCSBBdG9taWNPcHNDdGw6
IFJlcUVuLQoJCUxua1N0YTI6IEN1cnJlbnQgRGUtZW1waGFzaXMgTGV2ZWw6IC0zLjVkQiwgRXF1
YWxpemF0aW9uQ29tcGxldGUtIEVxdWFsaXphdGlvblBoYXNlMS0KCQkJIEVxdWFsaXphdGlvblBo
YXNlMi0gRXF1YWxpemF0aW9uUGhhc2UzLSBMaW5rRXF1YWxpemF0aW9uUmVxdWVzdC0KCQkJIFJl
dGltZXItIDJSZXRpbWVycy0gQ3Jvc3NsaW5rUmVzOiB1bnN1cHBvcnRlZAoJQ2FwYWJpbGl0aWVz
OiBbYTBdIE1TSTogRW5hYmxlLSBDb3VudD0xLzggTWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6
IDAwMDAwMDAwMDAwMDAwMDAgIERhdGE6IDAwMDAKCUNhcGFiaWxpdGllczogW2MwXSBNU0ktWDog
RW5hYmxlKyBDb3VudD04IE1hc2tlZC0KCQlWZWN0b3IgdGFibGU6IEJBUj0wIG9mZnNldD0wMDBm
ZTAwMAoJCVBCQTogQkFSPTAgb2Zmc2V0PTAwMGZmMDAwCglDYXBhYmlsaXRpZXM6IFsxMDAgdjFd
IFZlbmRvciBTcGVjaWZpYyBJbmZvcm1hdGlvbjogSUQ9MDAwMSBSZXY9MSBMZW49MDEwIDw/PgoJ
Q2FwYWJpbGl0aWVzOiBbMmEwIHYxXSBBY2Nlc3MgQ29udHJvbCBTZXJ2aWNlcwoJCUFDU0NhcDoJ
U3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0gQ21wbHRSZWRpci0gVXBzdHJlYW1Gd2QtIEVn
cmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJCUFDU0N0bDoJU3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFS
ZWRpci0gQ21wbHRSZWRpci0gVXBzdHJlYW1Gd2QtIEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJ
S2VybmVsIGRyaXZlciBpbiB1c2U6IHhoY2lfaGNkCglLZXJuZWwgbW9kdWxlczogeGhjaV9wY2kK
CjA0OjAwLjUgTXVsdGltZWRpYSBjb250cm9sbGVyOiBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJ
bmMuIFtBTURdIFJhdmVuL1JhdmVuMi9GaXJlRmxpZ2h0L1Jlbm9pciBBdWRpbyBQcm9jZXNzb3Ig
KHJldiA2MCkKCVN1YnN5c3RlbTogTGVub3ZvIERldmljZSAzODU4CglDb250cm9sOiBJL08tIE1l
bSsgQnVzTWFzdGVyKyBTcGVjQ3ljbGUtIE1lbVdJTlYtIFZHQVNub29wLSBQYXJFcnItIFN0ZXBw
aW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQoJU3RhdHVzOiBDYXArIDY2TUh6LSBVREYtIEZh
c3RCMkItIFBhckVyci0gREVWU0VMPWZhc3QgPlRBYm9ydC0gPFRBYm9ydC0gPE1BYm9ydC0gPlNF
UlItIDxQRVJSLSBJTlR4LQoJTGF0ZW5jeTogMCwgQ2FjaGUgTGluZSBTaXplOiA2NCBieXRlcwoJ
SW50ZXJydXB0OiBwaW4gQiByb3V0ZWQgdG8gSVJRIDM1CglSZWdpb24gMDogTWVtb3J5IGF0IDgx
NjgwMDAwICgzMi1iaXQsIG5vbi1wcmVmZXRjaGFibGUpIFtzaXplPTI1NktdCglDYXBhYmlsaXRp
ZXM6IFs0OF0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBMZW49MDggPD8+CglDYXBhYmls
aXRpZXM6IFs1MF0gUG93ZXIgTWFuYWdlbWVudCB2ZXJzaW9uIDMKCQlGbGFnczogUE1FQ2xrLSBE
U0ktIEQxLSBEMi0gQXV4Q3VycmVudD0wbUEgUE1FKEQwKyxEMS0sRDItLEQzaG90KyxEM2NvbGQr
KQoJCVN0YXR1czogRDAgTm9Tb2Z0UnN0KyBQTUUtRW5hYmxlLSBEU2VsPTAgRFNjYWxlPTAgUE1F
LQoJQ2FwYWJpbGl0aWVzOiBbNjRdIEV4cHJlc3MgKHYyKSBFbmRwb2ludCwgTVNJIDAwCgkJRGV2
Q2FwOglNYXhQYXlsb2FkIDI1NiBieXRlcywgUGhhbnRGdW5jIDAsIExhdGVuY3kgTDBzIDw0dXMs
IEwxIHVubGltaXRlZAoJCQlFeHRUYWcrIEF0dG5CdG4tIEF0dG5JbmQtIFB3ckluZC0gUkJFKyBG
TFJlc2V0LSBTbG90UG93ZXJMaW1pdCAwLjAwMFcKCQlEZXZDdGw6CUNvcnJFcnItIE5vbkZhdGFs
RXJyLSBGYXRhbEVyci0gVW5zdXBSZXEtCgkJCVJseGRPcmQrIEV4dFRhZysgUGhhbnRGdW5jLSBB
dXhQd3ItIE5vU25vb3ArCgkJCU1heFBheWxvYWQgMTI4IGJ5dGVzLCBNYXhSZWFkUmVxIDUxMiBi
eXRlcwoJCURldlN0YToJQ29yckVyci0gTm9uRmF0YWxFcnItIEZhdGFsRXJyLSBVbnN1cFJlcS0g
QXV4UHdyLSBUcmFuc1BlbmQtCgkJTG5rQ2FwOglQb3J0ICMwLCBTcGVlZCAxNkdUL3MsIFdpZHRo
IHgxNiwgQVNQTSBMMHMgTDEsIEV4aXQgTGF0ZW5jeSBMMHMgPDY0bnMsIEwxIDwxdXMKCQkJQ2xv
Y2tQTS0gU3VycHJpc2UtIExMQWN0UmVwLSBCd05vdC0gQVNQTU9wdENvbXArCgkJTG5rQ3RsOglB
U1BNIERpc2FibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2FibGVkLSBDb21tQ2xrKwoJCQlFeHRTeW5j
aC0gQ2xvY2tQTS0gQXV0V2lkRGlzLSBCV0ludC0gQXV0QldJbnQtCgkJTG5rU3RhOglTcGVlZCAx
NkdUL3MgKG9rKSwgV2lkdGggeDE2IChvaykKCQkJVHJFcnItIFRyYWluLSBTbG90Q2xrKyBETEFj
dGl2ZS0gQldNZ210LSBBQldNZ210LQoJCURldkNhcDI6IENvbXBsZXRpb24gVGltZW91dDogUmFu
Z2UgQUJDRCwgVGltZW91dERpcysgTlJPUHJQclAtIExUUi0KCQkJIDEwQml0VGFnQ29tcCsgMTBC
aXRUYWdSZXEtIE9CRkYgTm90IFN1cHBvcnRlZCwgRXh0Rm10KyBFRVRMUFByZWZpeCssIE1heEVF
VExQUHJlZml4ZXMgMQoJCQkgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb24gTm90IFN1cHBvcnRlZCwg
RW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb25Jbml0LQoJCQkgRlJTLSBUUEhDb21wLSBFeHRUUEhDb21w
LQoJCQkgQXRvbWljT3BzQ2FwOiAzMmJpdC0gNjRiaXQtIDEyOGJpdENBUy0KCQlEZXZDdGwyOiBD
b21wbGV0aW9uIFRpbWVvdXQ6IDUwdXMgdG8gNTBtcywgVGltZW91dERpcy0gTFRSLSBPQkZGIERp
c2FibGVkLAoJCQkgQXRvbWljT3BzQ3RsOiBSZXFFbi0KCQlMbmtTdGEyOiBDdXJyZW50IERlLWVt
cGhhc2lzIExldmVsOiAtMy41ZEIsIEVxdWFsaXphdGlvbkNvbXBsZXRlLSBFcXVhbGl6YXRpb25Q
aGFzZTEtCgkJCSBFcXVhbGl6YXRpb25QaGFzZTItIEVxdWFsaXphdGlvblBoYXNlMy0gTGlua0Vx
dWFsaXphdGlvblJlcXVlc3QtCgkJCSBSZXRpbWVyLSAyUmV0aW1lcnMtIENyb3NzbGlua1Jlczog
dW5zdXBwb3J0ZWQKCUNhcGFiaWxpdGllczogW2EwXSBNU0k6IEVuYWJsZS0gQ291bnQ9MS8xIE1h
c2thYmxlLSA2NGJpdCsKCQlBZGRyZXNzOiAwMDAwMDAwMDAwMDAwMDAwICBEYXRhOiAwMDAwCglD
YXBhYmlsaXRpZXM6IFsxMDAgdjFdIFZlbmRvciBTcGVjaWZpYyBJbmZvcm1hdGlvbjogSUQ9MDAw
MSBSZXY9MSBMZW49MDEwIDw/PgoJQ2FwYWJpbGl0aWVzOiBbMmEwIHYxXSBBY2Nlc3MgQ29udHJv
bCBTZXJ2aWNlcwoJCUFDU0NhcDoJU3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0gQ21wbHRS
ZWRpci0gVXBzdHJlYW1Gd2QtIEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJCUFDU0N0bDoJU3Jj
VmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0gQ21wbHRSZWRpci0gVXBzdHJlYW1Gd2QtIEVncmVz
c0N0cmwtIERpcmVjdFRyYW5zLQoJS2VybmVsIGRyaXZlciBpbiB1c2U6IHNuZF9wY2lfYWNwNngK
CUtlcm5lbCBtb2R1bGVzOiBzbmRfcGNpX2FjcDN4LCBzbmRfcm5fcGNpX2FjcDN4LCBzbmRfcGNp
X2FjcDV4LCBzbmRfcGNpX2FjcDZ4LCBzbmRfc29mX2FtZF9yZW5vaXIKCjA0OjAwLjYgQXVkaW8g
ZGV2aWNlOiBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuIFtBTURdIEZhbWlseSAxN2ggKE1v
ZGVscyAxMGgtMWZoKSBIRCBBdWRpbyBDb250cm9sbGVyCglTdWJzeXN0ZW06IExlbm92byBEZXZp
Y2UgMzg1NQoJQ29udHJvbDogSS9PLSBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5W
LSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeCsKCVN0
YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJv
cnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAsIENh
Y2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMKCUludGVycnVwdDogcGluIEMgcm91dGVkIHRvIElSUSA5
NQoJUmVnaW9uIDA6IE1lbW9yeSBhdCA4MTZjMDAwMCAoMzItYml0LCBub24tcHJlZmV0Y2hhYmxl
KSBbc2l6ZT0zMktdCglDYXBhYmlsaXRpZXM6IFs0OF0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0
aW9uOiBMZW49MDggPD8+CglDYXBhYmlsaXRpZXM6IFs1MF0gUG93ZXIgTWFuYWdlbWVudCB2ZXJz
aW9uIDMKCQlGbGFnczogUE1FQ2xrLSBEU0ktIEQxLSBEMi0gQXV4Q3VycmVudD0wbUEgUE1FKEQw
KyxEMS0sRDItLEQzaG90KyxEM2NvbGQrKQoJCVN0YXR1czogRDAgTm9Tb2Z0UnN0KyBQTUUtRW5h
YmxlLSBEU2VsPTAgRFNjYWxlPTAgUE1FLQoJQ2FwYWJpbGl0aWVzOiBbNjRdIEV4cHJlc3MgKHYy
KSBFbmRwb2ludCwgTVNJIDAwCgkJRGV2Q2FwOglNYXhQYXlsb2FkIDI1NiBieXRlcywgUGhhbnRG
dW5jIDAsIExhdGVuY3kgTDBzIDw0dXMsIEwxIHVubGltaXRlZAoJCQlFeHRUYWcrIEF0dG5CdG4t
IEF0dG5JbmQtIFB3ckluZC0gUkJFKyBGTFJlc2V0LSBTbG90UG93ZXJMaW1pdCAwLjAwMFcKCQlE
ZXZDdGw6CUNvcnJFcnItIE5vbkZhdGFsRXJyLSBGYXRhbEVyci0gVW5zdXBSZXEtCgkJCVJseGRP
cmQrIEV4dFRhZysgUGhhbnRGdW5jLSBBdXhQd3ItIE5vU25vb3ArCgkJCU1heFBheWxvYWQgMTI4
IGJ5dGVzLCBNYXhSZWFkUmVxIDUxMiBieXRlcwoJCURldlN0YToJQ29yckVyci0gTm9uRmF0YWxF
cnItIEZhdGFsRXJyLSBVbnN1cFJlcS0gQXV4UHdyLSBUcmFuc1BlbmQtCgkJTG5rQ2FwOglQb3J0
ICMwLCBTcGVlZCAxNkdUL3MsIFdpZHRoIHgxNiwgQVNQTSBMMHMgTDEsIEV4aXQgTGF0ZW5jeSBM
MHMgPDY0bnMsIEwxIDwxdXMKCQkJQ2xvY2tQTS0gU3VycHJpc2UtIExMQWN0UmVwLSBCd05vdC0g
QVNQTU9wdENvbXArCgkJTG5rQ3RsOglBU1BNIERpc2FibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2Fi
bGVkLSBDb21tQ2xrKwoJCQlFeHRTeW5jaC0gQ2xvY2tQTS0gQXV0V2lkRGlzLSBCV0ludC0gQXV0
QldJbnQtCgkJTG5rU3RhOglTcGVlZCAxNkdUL3MgKG9rKSwgV2lkdGggeDE2IChvaykKCQkJVHJF
cnItIFRyYWluLSBTbG90Q2xrKyBETEFjdGl2ZS0gQldNZ210LSBBQldNZ210LQoJCURldkNhcDI6
IENvbXBsZXRpb24gVGltZW91dDogUmFuZ2UgQUJDRCwgVGltZW91dERpcysgTlJPUHJQclAtIExU
Ui0KCQkJIDEwQml0VGFnQ29tcCsgMTBCaXRUYWdSZXEtIE9CRkYgTm90IFN1cHBvcnRlZCwgRXh0
Rm10KyBFRVRMUFByZWZpeCssIE1heEVFVExQUHJlZml4ZXMgMQoJCQkgRW1lcmdlbmN5UG93ZXJS
ZWR1Y3Rpb24gTm90IFN1cHBvcnRlZCwgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb25Jbml0LQoJCQkg
RlJTLSBUUEhDb21wLSBFeHRUUEhDb21wLQoJCQkgQXRvbWljT3BzQ2FwOiAzMmJpdC0gNjRiaXQt
IDEyOGJpdENBUy0KCQlEZXZDdGwyOiBDb21wbGV0aW9uIFRpbWVvdXQ6IDUwdXMgdG8gNTBtcywg
VGltZW91dERpcy0gTFRSLSBPQkZGIERpc2FibGVkLAoJCQkgQXRvbWljT3BzQ3RsOiBSZXFFbi0K
CQlMbmtTdGEyOiBDdXJyZW50IERlLWVtcGhhc2lzIExldmVsOiAtMy41ZEIsIEVxdWFsaXphdGlv
bkNvbXBsZXRlLSBFcXVhbGl6YXRpb25QaGFzZTEtCgkJCSBFcXVhbGl6YXRpb25QaGFzZTItIEVx
dWFsaXphdGlvblBoYXNlMy0gTGlua0VxdWFsaXphdGlvblJlcXVlc3QtCgkJCSBSZXRpbWVyLSAy
UmV0aW1lcnMtIENyb3NzbGlua1JlczogdW5zdXBwb3J0ZWQKCUNhcGFiaWxpdGllczogW2EwXSBN
U0k6IEVuYWJsZSsgQ291bnQ9MS8xIE1hc2thYmxlLSA2NGJpdCsKCQlBZGRyZXNzOiAwMDAwMDAw
MGZlZTAxMDBjICBEYXRhOiA0MDAwCglDYXBhYmlsaXRpZXM6IFsxMDAgdjFdIFZlbmRvciBTcGVj
aWZpYyBJbmZvcm1hdGlvbjogSUQ9MDAwMSBSZXY9MSBMZW49MDEwIDw/PgoJQ2FwYWJpbGl0aWVz
OiBbMmEwIHYxXSBBY2Nlc3MgQ29udHJvbCBTZXJ2aWNlcwoJCUFDU0NhcDoJU3JjVmFsaWQtIFRy
YW5zQmxrLSBSZXFSZWRpci0gQ21wbHRSZWRpci0gVXBzdHJlYW1Gd2QtIEVncmVzc0N0cmwtIERp
cmVjdFRyYW5zLQoJCUFDU0N0bDoJU3JjVmFsaWQtIFRyYW5zQmxrLSBSZXFSZWRpci0gQ21wbHRS
ZWRpci0gVXBzdHJlYW1Gd2QtIEVncmVzc0N0cmwtIERpcmVjdFRyYW5zLQoJS2VybmVsIGRyaXZl
ciBpbiB1c2U6IHNuZF9oZGFfaW50ZWwKCUtlcm5lbCBtb2R1bGVzOiBzbmRfaGRhX2ludGVsCgow
NTowMC4wIFVTQiBjb250cm9sbGVyOiBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuIFtBTURd
IERldmljZSAxNjFmIChwcm9nLWlmIDMwIFtYSENJXSkKCVN1YnN5c3RlbTogQWR2YW5jZWQgTWlj
cm8gRGV2aWNlcywgSW5jLiBbQU1EXSBEZXZpY2UgMTYxZgoJQ29udHJvbDogSS9PKyBNZW0rIEJ1
c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBTdGVwcGluZy0g
U0VSUi0gRmFzdEIyQi0gRGlzSU5UeCsKCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJC
LSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8
UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAsIENhY2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMKCUludGVy
cnVwdDogcGluIEEgcm91dGVkIHRvIElSUSAyNgoJUmVnaW9uIDA6IE1lbW9yeSBhdCA4MTAwMDAw
MCAoNjQtYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT0xTV0KCUNhcGFiaWxpdGllczogWzQ4
XSBWZW5kb3IgU3BlY2lmaWMgSW5mb3JtYXRpb246IExlbj0wOCA8Pz4KCUNhcGFiaWxpdGllczog
WzUwXSBQb3dlciBNYW5hZ2VtZW50IHZlcnNpb24gMwoJCUZsYWdzOiBQTUVDbGstIERTSS0gRDEt
IEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDArLEQxLSxEMi0sRDNob3QrLEQzY29sZCspCgkJU3Rh
dHVzOiBEMCBOb1NvZnRSc3QtIFBNRS1FbmFibGUtIERTZWw9MCBEU2NhbGU9MCBQTUUtCglDYXBh
YmlsaXRpZXM6IFs2NF0gRXhwcmVzcyAodjIpIEVuZHBvaW50LCBNU0kgMDAKCQlEZXZDYXA6CU1h
eFBheWxvYWQgMjU2IGJ5dGVzLCBQaGFudEZ1bmMgMCwgTGF0ZW5jeSBMMHMgPDR1cywgTDEgdW5s
aW1pdGVkCgkJCUV4dFRhZysgQXR0bkJ0bi0gQXR0bkluZC0gUHdySW5kLSBSQkUrIEZMUmVzZXQt
IFNsb3RQb3dlckxpbWl0IDAuMDAwVwoJCURldkN0bDoJQ29yckVyci0gTm9uRmF0YWxFcnItIEZh
dGFsRXJyLSBVbnN1cFJlcS0KCQkJUmx4ZE9yZCsgRXh0VGFnKyBQaGFudEZ1bmMtIEF1eFB3ci0g
Tm9Tbm9vcCsKCQkJTWF4UGF5bG9hZCAxMjggYnl0ZXMsIE1heFJlYWRSZXEgNTEyIGJ5dGVzCgkJ
RGV2U3RhOglDb3JyRXJyLSBOb25GYXRhbEVyci0gRmF0YWxFcnItIFVuc3VwUmVxLSBBdXhQd3It
IFRyYW5zUGVuZC0KCQlMbmtDYXA6CVBvcnQgIzAsIFNwZWVkIDE2R1QvcywgV2lkdGggeDE2LCBB
U1BNIEwwcyBMMSwgRXhpdCBMYXRlbmN5IEwwcyA8NjRucywgTDEgPDF1cwoJCQlDbG9ja1BNLSBT
dXJwcmlzZS0gTExBY3RSZXAtIEJ3Tm90LSBBU1BNT3B0Q29tcCsKCQlMbmtDdGw6CUFTUE0gRGlz
YWJsZWQ7IFJDQiA2NCBieXRlcywgRGlzYWJsZWQtIENvbW1DbGsrCgkJCUV4dFN5bmNoLSBDbG9j
a1BNLSBBdXRXaWREaXMtIEJXSW50LSBBdXRCV0ludC0KCQlMbmtTdGE6CVNwZWVkIDE2R1QvcyAo
b2spLCBXaWR0aCB4MTYgKG9rKQoJCQlUckVyci0gVHJhaW4tIFNsb3RDbGsrIERMQWN0aXZlLSBC
V01nbXQtIEFCV01nbXQtCgkJRGV2Q2FwMjogQ29tcGxldGlvbiBUaW1lb3V0OiBSYW5nZSBBQkNE
LCBUaW1lb3V0RGlzKyBOUk9QclByUC0gTFRSLQoJCQkgMTBCaXRUYWdDb21wKyAxMEJpdFRhZ1Jl
cS0gT0JGRiBOb3QgU3VwcG9ydGVkLCBFeHRGbXQtIEVFVExQUHJlZml4LQoJCQkgRW1lcmdlbmN5
UG93ZXJSZWR1Y3Rpb24gTm90IFN1cHBvcnRlZCwgRW1lcmdlbmN5UG93ZXJSZWR1Y3Rpb25Jbml0
LQoJCQkgRlJTLSBUUEhDb21wLSBFeHRUUEhDb21wLQoJCQkgQXRvbWljT3BzQ2FwOiAzMmJpdC0g
NjRiaXQtIDEyOGJpdENBUy0KCQlEZXZDdGwyOiBDb21wbGV0aW9uIFRpbWVvdXQ6IDUwdXMgdG8g
NTBtcywgVGltZW91dERpcy0gTFRSLSBPQkZGIERpc2FibGVkLAoJCQkgQXRvbWljT3BzQ3RsOiBS
ZXFFbi0KCQlMbmtDYXAyOiBTdXBwb3J0ZWQgTGluayBTcGVlZHM6IDIuNS0xNkdUL3MsIENyb3Nz
bGluay0gUmV0aW1lcisgMlJldGltZXJzKyBEUlMtCgkJTG5rQ3RsMjogVGFyZ2V0IExpbmsgU3Bl
ZWQ6IDE2R1QvcywgRW50ZXJDb21wbGlhbmNlLSBTcGVlZERpcy0KCQkJIFRyYW5zbWl0IE1hcmdp
bjogTm9ybWFsIE9wZXJhdGluZyBSYW5nZSwgRW50ZXJNb2RpZmllZENvbXBsaWFuY2UtIENvbXBs
aWFuY2VTT1MtCgkJCSBDb21wbGlhbmNlIERlLWVtcGhhc2lzOiAtNmRCCgkJTG5rU3RhMjogQ3Vy
cmVudCBEZS1lbXBoYXNpcyBMZXZlbDogLTMuNWRCLCBFcXVhbGl6YXRpb25Db21wbGV0ZSsgRXF1
YWxpemF0aW9uUGhhc2UxKwoJCQkgRXF1YWxpemF0aW9uUGhhc2UyKyBFcXVhbGl6YXRpb25QaGFz
ZTMrIExpbmtFcXVhbGl6YXRpb25SZXF1ZXN0LQoJCQkgUmV0aW1lci0gMlJldGltZXJzLSBDcm9z
c2xpbmtSZXM6IHVuc3VwcG9ydGVkCglDYXBhYmlsaXRpZXM6IFthMF0gTVNJOiBFbmFibGUtIENv
dW50PTEvOCBNYXNrYWJsZS0gNjRiaXQrCgkJQWRkcmVzczogMDAwMDAwMDAwMDAwMDAwMCAgRGF0
YTogMDAwMAoJQ2FwYWJpbGl0aWVzOiBbYzBdIE1TSS1YOiBFbmFibGUrIENvdW50PTggTWFza2Vk
LQoJCVZlY3RvciB0YWJsZTogQkFSPTAgb2Zmc2V0PTAwMGZlMDAwCgkJUEJBOiBCQVI9MCBvZmZz
ZXQ9MDAwZmYwMDAKCUNhcGFiaWxpdGllczogWzEwMCB2MV0gVmVuZG9yIFNwZWNpZmljIEluZm9y
bWF0aW9uOiBJRD0wMDAxIFJldj0xIExlbj0wMTAgPD8+CglDYXBhYmlsaXRpZXM6IFsyNzAgdjFd
IFNlY29uZGFyeSBQQ0kgRXhwcmVzcwoJCUxua0N0bDM6IExua0VxdUludHJydXB0RW4tIFBlcmZv
cm1FcXUtCgkJTGFuZUVyclN0YXQ6IDAKCUNhcGFiaWxpdGllczogWzJhMCB2MV0gQWNjZXNzIENv
bnRyb2wgU2VydmljZXMKCQlBQ1NDYXA6CVNyY1ZhbGlkLSBUcmFuc0Jsay0gUmVxUmVkaXItIENt
cGx0UmVkaXItIFVwc3RyZWFtRndkLSBFZ3Jlc3NDdHJsLSBEaXJlY3RUcmFucy0KCQlBQ1NDdGw6
CVNyY1ZhbGlkLSBUcmFuc0Jsay0gUmVxUmVkaXItIENtcGx0UmVkaXItIFVwc3RyZWFtRndkLSBF
Z3Jlc3NDdHJsLSBEaXJlY3RUcmFucy0KCUNhcGFiaWxpdGllczogWzQxMCB2MV0gUGh5c2ljYWwg
TGF5ZXIgMTYuMCBHVC9zIDw/PgoJQ2FwYWJpbGl0aWVzOiBbNDUwIHYxXSBMYW5lIE1hcmdpbmlu
ZyBhdCB0aGUgUmVjZWl2ZXIgPD8+CglLZXJuZWwgZHJpdmVyIGluIHVzZTogeGhjaV9oY2QKCUtl
cm5lbCBtb2R1bGVzOiB4aGNpX3BjaQoKMDU6MDAuMyBVU0IgY29udHJvbGxlcjogQWR2YW5jZWQg
TWljcm8gRGV2aWNlcywgSW5jLiBbQU1EXSBEZXZpY2UgMTVkNiAocHJvZy1pZiAzMCBbWEhDSV0p
CglTdWJzeXN0ZW06IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE1
ZDYKCUNvbnRyb2w6IEkvTysgTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdB
U25vb3AtIFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgrCglTdGF0dXM6
IENhcCsgNjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8
VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCglMYXRlbmN5OiAwLCBDYWNoZSBM
aW5lIFNpemU6IDY0IGJ5dGVzCglJbnRlcnJ1cHQ6IHBpbiBDIHJvdXRlZCB0byBJUlEgMjQKCVJl
Z2lvbiAwOiBNZW1vcnkgYXQgODExMDAwMDAgKDY0LWJpdCwgbm9uLXByZWZldGNoYWJsZSkgW3Np
emU9MU1dCglDYXBhYmlsaXRpZXM6IFs0OF0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBM
ZW49MDggPD8+CglDYXBhYmlsaXRpZXM6IFs1MF0gUG93ZXIgTWFuYWdlbWVudCB2ZXJzaW9uIDMK
CQlGbGFnczogUE1FQ2xrLSBEU0ktIEQxLSBEMi0gQXV4Q3VycmVudD0wbUEgUE1FKEQwKyxEMS0s
RDItLEQzaG90KyxEM2NvbGQrKQoJCVN0YXR1czogRDAgTm9Tb2Z0UnN0LSBQTUUtRW5hYmxlLSBE
U2VsPTAgRFNjYWxlPTAgUE1FLQoJQ2FwYWJpbGl0aWVzOiBbNjRdIEV4cHJlc3MgKHYyKSBFbmRw
b2ludCwgTVNJIDAwCgkJRGV2Q2FwOglNYXhQYXlsb2FkIDI1NiBieXRlcywgUGhhbnRGdW5jIDAs
IExhdGVuY3kgTDBzIDw0dXMsIEwxIHVubGltaXRlZAoJCQlFeHRUYWcrIEF0dG5CdG4tIEF0dG5J
bmQtIFB3ckluZC0gUkJFKyBGTFJlc2V0LSBTbG90UG93ZXJMaW1pdCAwLjAwMFcKCQlEZXZDdGw6
CUNvcnJFcnItIE5vbkZhdGFsRXJyLSBGYXRhbEVyci0gVW5zdXBSZXEtCgkJCVJseGRPcmQrIEV4
dFRhZysgUGhhbnRGdW5jLSBBdXhQd3ItIE5vU25vb3ArCgkJCU1heFBheWxvYWQgMTI4IGJ5dGVz
LCBNYXhSZWFkUmVxIDUxMiBieXRlcwoJCURldlN0YToJQ29yckVyci0gTm9uRmF0YWxFcnItIEZh
dGFsRXJyLSBVbnN1cFJlcS0gQXV4UHdyLSBUcmFuc1BlbmQtCgkJTG5rQ2FwOglQb3J0ICMwLCBT
cGVlZCAxNkdUL3MsIFdpZHRoIHgxNiwgQVNQTSBMMHMgTDEsIEV4aXQgTGF0ZW5jeSBMMHMgPDY0
bnMsIEwxIDwxdXMKCQkJQ2xvY2tQTS0gU3VycHJpc2UtIExMQWN0UmVwLSBCd05vdC0gQVNQTU9w
dENvbXArCgkJTG5rQ3RsOglBU1BNIERpc2FibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2FibGVkLSBD
b21tQ2xrKwoJCQlFeHRTeW5jaC0gQ2xvY2tQTS0gQXV0V2lkRGlzLSBCV0ludC0gQXV0QldJbnQt
CgkJTG5rU3RhOglTcGVlZCAxNkdUL3MgKG9rKSwgV2lkdGggeDE2IChvaykKCQkJVHJFcnItIFRy
YWluLSBTbG90Q2xrKyBETEFjdGl2ZS0gQldNZ210LSBBQldNZ210LQoJCURldkNhcDI6IENvbXBs
ZXRpb24gVGltZW91dDogUmFuZ2UgQUJDRCwgVGltZW91dERpcysgTlJPUHJQclAtIExUUi0KCQkJ
IDEwQml0VGFnQ29tcCsgMTBCaXRUYWdSZXEtIE9CRkYgTm90IFN1cHBvcnRlZCwgRXh0Rm10LSBF
RVRMUFByZWZpeC0KCQkJIEVtZXJnZW5jeVBvd2VyUmVkdWN0aW9uIE5vdCBTdXBwb3J0ZWQsIEVt
ZXJnZW5jeVBvd2VyUmVkdWN0aW9uSW5pdC0KCQkJIEZSUy0gVFBIQ29tcC0gRXh0VFBIQ29tcC0K
CQkJIEF0b21pY09wc0NhcDogMzJiaXQtIDY0Yml0LSAxMjhiaXRDQVMtCgkJRGV2Q3RsMjogQ29t
cGxldGlvbiBUaW1lb3V0OiA1MHVzIHRvIDUwbXMsIFRpbWVvdXREaXMtIExUUi0gT0JGRiBEaXNh
YmxlZCwKCQkJIEF0b21pY09wc0N0bDogUmVxRW4tCgkJTG5rU3RhMjogQ3VycmVudCBEZS1lbXBo
YXNpcyBMZXZlbDogLTMuNWRCLCBFcXVhbGl6YXRpb25Db21wbGV0ZS0gRXF1YWxpemF0aW9uUGhh
c2UxLQoJCQkgRXF1YWxpemF0aW9uUGhhc2UyLSBFcXVhbGl6YXRpb25QaGFzZTMtIExpbmtFcXVh
bGl6YXRpb25SZXF1ZXN0LQoJCQkgUmV0aW1lci0gMlJldGltZXJzLSBDcm9zc2xpbmtSZXM6IHVu
c3VwcG9ydGVkCglDYXBhYmlsaXRpZXM6IFthMF0gTVNJOiBFbmFibGUtIENvdW50PTEvOCBNYXNr
YWJsZS0gNjRiaXQrCgkJQWRkcmVzczogMDAwMDAwMDAwMDAwMDAwMCAgRGF0YTogMDAwMAoJQ2Fw
YWJpbGl0aWVzOiBbYzBdIE1TSS1YOiBFbmFibGUrIENvdW50PTggTWFza2VkLQoJCVZlY3RvciB0
YWJsZTogQkFSPTAgb2Zmc2V0PTAwMGZlMDAwCgkJUEJBOiBCQVI9MCBvZmZzZXQ9MDAwZmYwMDAK
CUNhcGFiaWxpdGllczogWzEwMCB2MV0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBJRD0w
MDAxIFJldj0xIExlbj0wMTAgPD8+CglDYXBhYmlsaXRpZXM6IFsyYTAgdjFdIEFjY2VzcyBDb250
cm9sIFNlcnZpY2VzCgkJQUNTQ2FwOglTcmNWYWxpZC0gVHJhbnNCbGstIFJlcVJlZGlyLSBDbXBs
dFJlZGlyLSBVcHN0cmVhbUZ3ZC0gRWdyZXNzQ3RybC0gRGlyZWN0VHJhbnMtCgkJQUNTQ3RsOglT
cmNWYWxpZC0gVHJhbnNCbGstIFJlcVJlZGlyLSBDbXBsdFJlZGlyLSBVcHN0cmVhbUZ3ZC0gRWdy
ZXNzQ3RybC0gRGlyZWN0VHJhbnMtCglLZXJuZWwgZHJpdmVyIGluIHVzZTogeGhjaV9oY2QKCUtl
cm5lbCBtb2R1bGVzOiB4aGNpX3BjaQoKMDU6MDAuNCBVU0IgY29udHJvbGxlcjogQWR2YW5jZWQg
TWljcm8gRGV2aWNlcywgSW5jLiBbQU1EXSBEZXZpY2UgMTVkNyAocHJvZy1pZiAzMCBbWEhDSV0p
CglTdWJzeXN0ZW06IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRF0gRGV2aWNlIDE1
ZDcKCUNvbnRyb2w6IEkvTysgTWVtKyBCdXNNYXN0ZXIrIFNwZWNDeWNsZS0gTWVtV0lOVi0gVkdB
U25vb3AtIFBhckVyci0gU3RlcHBpbmctIFNFUlItIEZhc3RCMkItIERpc0lOVHgrCglTdGF0dXM6
IENhcCsgNjZNSHotIFVERi0gRmFzdEIyQi0gUGFyRXJyLSBERVZTRUw9ZmFzdCA+VEFib3J0LSA8
VEFib3J0LSA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCglMYXRlbmN5OiAwLCBDYWNoZSBM
aW5lIFNpemU6IDY0IGJ5dGVzCglJbnRlcnJ1cHQ6IHBpbiBEIHJvdXRlZCB0byBJUlEgMjUKCVJl
Z2lvbiAwOiBNZW1vcnkgYXQgODEyMDAwMDAgKDY0LWJpdCwgbm9uLXByZWZldGNoYWJsZSkgW3Np
emU9MU1dCglDYXBhYmlsaXRpZXM6IFs0OF0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBM
ZW49MDggPD8+CglDYXBhYmlsaXRpZXM6IFs1MF0gUG93ZXIgTWFuYWdlbWVudCB2ZXJzaW9uIDMK
CQlGbGFnczogUE1FQ2xrLSBEU0ktIEQxLSBEMi0gQXV4Q3VycmVudD0wbUEgUE1FKEQwKyxEMS0s
RDItLEQzaG90KyxEM2NvbGQrKQoJCVN0YXR1czogRDAgTm9Tb2Z0UnN0LSBQTUUtRW5hYmxlLSBE
U2VsPTAgRFNjYWxlPTAgUE1FLQoJQ2FwYWJpbGl0aWVzOiBbNjRdIEV4cHJlc3MgKHYyKSBFbmRw
b2ludCwgTVNJIDAwCgkJRGV2Q2FwOglNYXhQYXlsb2FkIDI1NiBieXRlcywgUGhhbnRGdW5jIDAs
IExhdGVuY3kgTDBzIDw0dXMsIEwxIHVubGltaXRlZAoJCQlFeHRUYWcrIEF0dG5CdG4tIEF0dG5J
bmQtIFB3ckluZC0gUkJFKyBGTFJlc2V0LSBTbG90UG93ZXJMaW1pdCAwLjAwMFcKCQlEZXZDdGw6
CUNvcnJFcnItIE5vbkZhdGFsRXJyLSBGYXRhbEVyci0gVW5zdXBSZXEtCgkJCVJseGRPcmQrIEV4
dFRhZysgUGhhbnRGdW5jLSBBdXhQd3ItIE5vU25vb3ArCgkJCU1heFBheWxvYWQgMTI4IGJ5dGVz
LCBNYXhSZWFkUmVxIDUxMiBieXRlcwoJCURldlN0YToJQ29yckVyci0gTm9uRmF0YWxFcnItIEZh
dGFsRXJyLSBVbnN1cFJlcS0gQXV4UHdyLSBUcmFuc1BlbmQtCgkJTG5rQ2FwOglQb3J0ICMwLCBT
cGVlZCAxNkdUL3MsIFdpZHRoIHgxNiwgQVNQTSBMMHMgTDEsIEV4aXQgTGF0ZW5jeSBMMHMgPDY0
bnMsIEwxIDwxdXMKCQkJQ2xvY2tQTS0gU3VycHJpc2UtIExMQWN0UmVwLSBCd05vdC0gQVNQTU9w
dENvbXArCgkJTG5rQ3RsOglBU1BNIERpc2FibGVkOyBSQ0IgNjQgYnl0ZXMsIERpc2FibGVkLSBD
b21tQ2xrKwoJCQlFeHRTeW5jaC0gQ2xvY2tQTS0gQXV0V2lkRGlzLSBCV0ludC0gQXV0QldJbnQt
CgkJTG5rU3RhOglTcGVlZCAxNkdUL3MgKG9rKSwgV2lkdGggeDE2IChvaykKCQkJVHJFcnItIFRy
YWluLSBTbG90Q2xrKyBETEFjdGl2ZS0gQldNZ210LSBBQldNZ210LQoJCURldkNhcDI6IENvbXBs
ZXRpb24gVGltZW91dDogUmFuZ2UgQUJDRCwgVGltZW91dERpcysgTlJPUHJQclAtIExUUi0KCQkJ
IDEwQml0VGFnQ29tcCsgMTBCaXRUYWdSZXEtIE9CRkYgTm90IFN1cHBvcnRlZCwgRXh0Rm10LSBF
RVRMUFByZWZpeC0KCQkJIEVtZXJnZW5jeVBvd2VyUmVkdWN0aW9uIE5vdCBTdXBwb3J0ZWQsIEVt
ZXJnZW5jeVBvd2VyUmVkdWN0aW9uSW5pdC0KCQkJIEZSUy0gVFBIQ29tcC0gRXh0VFBIQ29tcC0K
CQkJIEF0b21pY09wc0NhcDogMzJiaXQtIDY0Yml0LSAxMjhiaXRDQVMtCgkJRGV2Q3RsMjogQ29t
cGxldGlvbiBUaW1lb3V0OiA1MHVzIHRvIDUwbXMsIFRpbWVvdXREaXMtIExUUi0gT0JGRiBEaXNh
YmxlZCwKCQkJIEF0b21pY09wc0N0bDogUmVxRW4tCgkJTG5rU3RhMjogQ3VycmVudCBEZS1lbXBo
YXNpcyBMZXZlbDogLTMuNWRCLCBFcXVhbGl6YXRpb25Db21wbGV0ZS0gRXF1YWxpemF0aW9uUGhh
c2UxLQoJCQkgRXF1YWxpemF0aW9uUGhhc2UyLSBFcXVhbGl6YXRpb25QaGFzZTMtIExpbmtFcXVh
bGl6YXRpb25SZXF1ZXN0LQoJCQkgUmV0aW1lci0gMlJldGltZXJzLSBDcm9zc2xpbmtSZXM6IHVu
c3VwcG9ydGVkCglDYXBhYmlsaXRpZXM6IFthMF0gTVNJOiBFbmFibGUtIENvdW50PTEvOCBNYXNr
YWJsZS0gNjRiaXQrCgkJQWRkcmVzczogMDAwMDAwMDAwMDAwMDAwMCAgRGF0YTogMDAwMAoJQ2Fw
YWJpbGl0aWVzOiBbYzBdIE1TSS1YOiBFbmFibGUrIENvdW50PTggTWFza2VkLQoJCVZlY3RvciB0
YWJsZTogQkFSPTAgb2Zmc2V0PTAwMGZlMDAwCgkJUEJBOiBCQVI9MCBvZmZzZXQ9MDAwZmYwMDAK
CUNhcGFiaWxpdGllczogWzEwMCB2MV0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBJRD0w
MDAxIFJldj0xIExlbj0wMTAgPD8+CglDYXBhYmlsaXRpZXM6IFsyYTAgdjFdIEFjY2VzcyBDb250
cm9sIFNlcnZpY2VzCgkJQUNTQ2FwOglTcmNWYWxpZC0gVHJhbnNCbGstIFJlcVJlZGlyLSBDbXBs
dFJlZGlyLSBVcHN0cmVhbUZ3ZC0gRWdyZXNzQ3RybC0gRGlyZWN0VHJhbnMtCgkJQUNTQ3RsOglT
cmNWYWxpZC0gVHJhbnNCbGstIFJlcVJlZGlyLSBDbXBsdFJlZGlyLSBVcHN0cmVhbUZ3ZC0gRWdy
ZXNzQ3RybC0gRGlyZWN0VHJhbnMtCglLZXJuZWwgZHJpdmVyIGluIHVzZTogeGhjaV9oY2QKCUtl
cm5lbCBtb2R1bGVzOiB4aGNpX3BjaQoK

--b1_CmxQqiv3yCWFqcxDSMhi1ZAFzn3xKXJETb735mkfA
Content-Type: text/x-log; name=dom0_dmesg.log
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=dom0_dmesg.log

WyAgICAwLjAwMDAwMF0gTGludXggdmVyc2lvbiA1LjE4LjktMi5mYzMyLnF1YmVzLng4Nl82NCAo
dXNlckBidWlsZCkgKGdjYyAoR0NDKSAxMC4zLjEgMjAyMTA0MjIgKFJlZCBIYXQgMTAuMy4xLTEp
LCBHTlUgbGQgdmVyc2lvbiAyLjM0LTYuZmMzMikgIzEgU01QIFBSRUVNUFRfRFlOQU1JQyBXZWQg
SnVsIDIwIDA3OjA5OjEwIFVUQyAyMDIyClsgICAgMC4wMDAwMDBdIENvbW1hbmQgbGluZTogcGxh
Y2Vob2xkZXIgcm9vdD0vZGV2L21hcHBlci9xdWJlc19kb20wLXJvb3Qgcm8gcmQubHVrcy51dWlk
PWx1a3MtYzRjMTEyZjQtYWQxMC00Y2IwLWJmYmItYzlkMzY1MzIzMzIyIHJkLmx2bS5sdj1xdWJl
c19kb20wL3Jvb3QgcmQubHZtLmx2PXF1YmVzX2RvbTAvc3dhcCBwbHltb3V0aC5pZ25vcmUtc2Vy
aWFsLWNvbnNvbGVzIHJkLmRyaXZlci5wcmU9YnRyZnMgcmhnYiBxdWlldApbICAgIDAuMDAwMDAw
XSB4ODYvZnB1OiBTdXBwb3J0aW5nIFhTQVZFIGZlYXR1cmUgMHgwMDE6ICd4ODcgZmxvYXRpbmcg
cG9pbnQgcmVnaXN0ZXJzJwpbICAgIDAuMDAwMDAwXSB4ODYvZnB1OiBTdXBwb3J0aW5nIFhTQVZF
IGZlYXR1cmUgMHgwMDI6ICdTU0UgcmVnaXN0ZXJzJwpbICAgIDAuMDAwMDAwXSB4ODYvZnB1OiBT
dXBwb3J0aW5nIFhTQVZFIGZlYXR1cmUgMHgwMDQ6ICdBVlggcmVnaXN0ZXJzJwpbICAgIDAuMDAw
MDAwXSB4ODYvZnB1OiB4c3RhdGVfb2Zmc2V0WzJdOiAgNTc2LCB4c3RhdGVfc2l6ZXNbMl06ICAy
NTYKWyAgICAwLjAwMDAwMF0geDg2L2ZwdTogRW5hYmxlZCB4c3RhdGUgZmVhdHVyZXMgMHg3LCBj
b250ZXh0IHNpemUgaXMgODMyIGJ5dGVzLCB1c2luZyAnc3RhbmRhcmQnIGZvcm1hdC4KWyAgICAw
LjAwMDAwMF0gc2lnbmFsOiBtYXggc2lnZnJhbWUgc2l6ZTogMTc3NgpbICAgIDAuMDAwMDAwXSBp
bml0cmQgbW92ZWQgZnJvbSBbbWVtIDB4MDgwMDAwMDAtMHgwYjA2ZjQ5ZF0gdG8gW21lbSAweDA0
MDI2MDAwLTB4MDcwOTU0OWRdClsgICAgMC4wMDAwMDBdIFJlbGVhc2VkIDAgcGFnZShzKQpbICAg
IDAuMDAwMDAwXSBCSU9TLXByb3ZpZGVkIHBoeXNpY2FsIFJBTSBtYXA6ClsgICAgMC4wMDAwMDBd
IFhlbjogW21lbSAweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDAwMDllZmZmXSB1c2FibGUK
WyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDAwMDA5ZjAwMC0weDAwMDAwMDAwMDAw
ZmZmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwMDAxMDAw
MDAtMHgwMDAwMDAwMDA5YWZmZmZmXSB1c2FibGUKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4
MDAwMDAwMDAwOWIwMDAwMC0weDAwMDAwMDAwMDlkZmZmZmZdIHJlc2VydmVkClsgICAgMC4wMDAw
MDBdIFhlbjogW21lbSAweDAwMDAwMDAwMDllMDAwMDAtMHgwMDAwMDAwMDA5ZWZmZmZmXSB1c2Fi
bGUKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDAwOWYwMDAwMC0weDAwMDAwMDAw
MDlmMjdmZmZdIEFDUEkgTlZTClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwMDlm
MjgwMDAtMHgwMDAwMDAwMDVmYmZlZmZmXSB1c2FibGUKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVt
IDB4MDAwMDAwMDA1ZmJmZjAwMC0weDAwMDAwMDAwNWZiZmZmZmZdIHJlc2VydmVkClsgICAgMC4w
MDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwNWZjMDAwMDAtMHgwMDAwMDAwMDYyMzYzZmZmXSB1
c2FibGUKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDA2MjM2NDAwMC0weDAwMDAw
MDAwNjQ1NjNmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAw
NjQ1NjQwMDAtMHgwMDAwMDAwMDY0NTZjZmZmXSB1c2FibGUKWyAgICAwLjAwMDAwMF0gWGVuOiBb
bWVtIDB4MDAwMDAwMDA2NDU2ZDAwMC0weDAwMDAwMDAwNjQ1NmZmZmZdIHJlc2VydmVkClsgICAg
MC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwNjQ1NzAwMDAtMHgwMDAwMDAwMDcwNzdlZmZm
XSB1c2FibGUKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDA3MDc3ZjAwMC0weDAw
MDAwMDAwNzJmN2VmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAw
MDAwNzJmN2YwMDAtMHgwMDAwMDAwMDdhZjdlZmZmXSBBQ1BJIE5WUwpbICAgIDAuMDAwMDAwXSBY
ZW46IFttZW0gMHgwMDAwMDAwMDdhZjdmMDAwLTB4MDAwMDAwMDA3YWZmZWZmZl0gQUNQSSBkYXRh
ClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwN2FmZmYwMDAtMHgwMDAwMDAwMDdh
ZmZmZmZmXSB1c2FibGUKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDA3YjAwMDAw
MC0weDAwMDAwMDAwN2JmZmZmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAw
eDAwMDAwMDAwN2Q4MDAwMDAtMHgwMDAwMDAwMDdmZmZmZmZmXSByZXNlcnZlZApbICAgIDAuMDAw
MDAwXSBYZW46IFttZW0gMHgwMDAwMDAwMGEwMjAwMDAwLTB4MDAwMDAwMDBhMDJmZmZmZl0gcmVz
ZXJ2ZWQKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDBhMDQwMDAwMC0weDAwMDAw
MDAwYTA0MDNmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAw
ZmVjMDAwMDAtMHgwMDAwMDAwMGZlYzAxZmZmXSByZXNlcnZlZApbICAgIDAuMDAwMDAwXSBYZW46
IFttZW0gMHgwMDAwMDAwMGZlZDgwMDAwLTB4MDAwMDAwMDBmZWQ4MGZmZl0gcmVzZXJ2ZWQKWyAg
ICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDBmZWUwMDAwMC0weDAwMDAwMDAwZmVlZmZm
ZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwZmYwMDAwMDAt
MHgwMDAwMDAwMGZmZmZmZmZmXSByZXNlcnZlZApbICAgIDAuMDAwMDAwXSBYZW46IFttZW0gMHgw
MDAwMDAwMTAwMDAwMDAwLTB4MDAwMDAwMDE5MWUwY2ZmZl0gdXNhYmxlClsgICAgMC4wMDAwMDBd
IFhlbjogW21lbSAweDAwMDAwMDA4M2YzNDAwMDAtMHgwMDAwMDAwOGEwMWZmZmZmXSByZXNlcnZl
ZApbICAgIDAuMDAwMDAwXSBOWCAoRXhlY3V0ZSBEaXNhYmxlKSBwcm90ZWN0aW9uOiBhY3RpdmUK
WyAgICAwLjAwMDAwMF0gZWZpOiBFRkkgdjIuODAgYnkgSU5TWURFIENvcnAuClsgICAgMC4wMDAw
MDBdIGVmaTogQUNQST0weDdhZmZlMDAwIEFDUEkgMi4wPTB4N2FmZmUwMTQgVFBNRmluYWxMb2c9
MHg3YWYzZTAwMCBTTUJJT1M9MHg3MTZlNTAwMCBTTUJJT1MgMy4wPTB4NzE2ZTMwMDAgTUVNQVRU
Uj0weDZjMGQyMDE4IEVTUlQ9MHg2YzEyMGQxOCAKWyAgICAwLjAwMDAwMF0gU01CSU9TIDMuMy4w
IHByZXNlbnQuClsgICAgMC4wMDAwMDBdIERNSTogTEVOT1ZPIDgyVEwvTE5WTkIxNjEyMTYsIEJJ
T1MgSlZDTjI5V1cgMDcvMDEvMjAyMgpbICAgIDAuMDAwMDAwXSBIeXBlcnZpc29yIGRldGVjdGVk
OiBYZW4gUFYKWyAgICAwLjAyNjY0MF0gdHNjOiBGYXN0IFRTQyBjYWxpYnJhdGlvbiB1c2luZyBQ
SVQKWyAgICAwLjAyNjY0MV0gdHNjOiBEZXRlY3RlZCAzMTkzLjk0NiBNSHogcHJvY2Vzc29yClsg
ICAgMC4wMjY2NDFdIHRzYzogRGV0ZWN0ZWQgMzE5NC4wMTQgTUh6IFRTQwpbICAgIDAuMDI2NzIz
XSBlODIwOiB1cGRhdGUgW21lbSAweDAwMDAwMDAwLTB4MDAwMDBmZmZdIHVzYWJsZSA9PT4gcmVz
ZXJ2ZWQKWyAgICAwLjAyNjcyNl0gZTgyMDogcmVtb3ZlIFttZW0gMHgwMDBhMDAwMC0weDAwMGZm
ZmZmXSB1c2FibGUKWyAgICAwLjAyNjczM10gbGFzdF9wZm4gPSAweDE5MWUwZCBtYXhfYXJjaF9w
Zm4gPSAweDQwMDAwMDAwMApbICAgIDAuMDI2NzM0XSBEaXNhYmxlZApbICAgIDAuMDI2NzM1XSB4
ODYvUEFUOiBNVFJScyBkaXNhYmxlZCwgc2tpcHBpbmcgUEFUIGluaXRpYWxpemF0aW9uIHRvby4K
WyAgICAwLjAyNjczOF0geDg2L1BBVDogQ29uZmlndXJhdGlvbiBbMC03XTogV0IgIFdUICBVQy0g
VUMgIFdDICBXUCAgVUMgIFVDICAKWyAgICAwLjAyNjczOV0gbGFzdF9wZm4gPSAweDdiMDAwIG1h
eF9hcmNoX3BmbiA9IDB4NDAwMDAwMDAwClsgICAgMC4wODA1NjNdIFNlY3VyZSBib290IGRpc2Fi
bGVkClsgICAgMC4wODA1NjVdIFJBTURJU0s6IFttZW0gMHgwNDAyNjAwMC0weDA3MDk1ZmZmXQpb
ICAgIDAuMDgwNTY5XSBBQ1BJOiBFYXJseSB0YWJsZSBjaGVja3N1bSB2ZXJpZmljYXRpb24gZGlz
YWJsZWQKWyAgICAwLjA4MDU3NV0gQUNQSTogUlNEUCAweDAwMDAwMDAwN0FGRkUwMTQgMDAwMDI0
ICh2MDIgTEVOT1ZPKQpbICAgIDAuMDgwNTgxXSBBQ1BJOiBYU0RUIDB4MDAwMDAwMDA3QUY5QjIy
OCAwMDAxOEMgKHYwMSBMRU5PVk8gQ0ItMDEgICAgMDAwMDAwMDEgICAgICAwMTAwMDAxMykKWyAg
ICAwLjA4MDY0OF0gQUNQSTogRkFDUCAweDAwMDAwMDAwN0FGRTkwMDAgMDAwMTBDICh2MDUgTEVO
T1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA3MzNdIEFDUEk6
IERTRFQgMHgwMDAwMDAwMDdBRkQ1MDAwIDAwREFCRSAodjAxIExFTk9WTyBDQi0wMSAgICAwMDAw
MDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgwNzM4XSBBQ1BJOiBGQUNTIDB4MDAwMDAwMDA3
QUVCMjAwMCAwMDAwNDAKWyAgICAwLjA4MDc0NF0gQUNQSTogVUVGSSAweDAwMDAwMDAwN0FGN0Uw
MDAgMDAwMjM2ICh2MDEgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAwMDApClsg
ICAgMC4wODA3NDldIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBRkZDMDAwIDAwMDkwNiAodjAxIExF
Tk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgwNzU1XSBBQ1BJ
OiBJVlJTIDB4MDAwMDAwMDA3QUZGQjAwMCAwMDAxQTQgKHYwMiBMRU5PVk8gQ0ItMDEgICAgMDAw
MDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDc2MV0gQUNQSTogU1NEVCAweDAwMDAwMDAw
N0FGRjMwMDAgMDA3REY2ICh2MDIgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAw
MDApClsgICAgMC4wODA3NjZdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBRkYyMDAwIDAwMDU3MyAo
djAxIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgwNzcy
XSBBQ1BJOiBTU0RUIDB4MDAwMDAwMDA3QUZGMTAwMCAwMDAxQ0MgKHYwMSBMRU5PVk8gQ0ItMDEg
ICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDc3N10gQUNQSTogU1NEVCAweDAw
MDAwMDAwN0FGRUYwMDAgMDAxOTgwICh2MDEgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkg
MDAwNDAwMDApClsgICAgMC4wODA3ODNdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBRkVFMDAwIDAw
MDQ3MSAodjAxIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAu
MDgwNzg4XSBBQ1BJOiBUUE0yIDB4MDAwMDAwMDA3QUZFRDAwMCAwMDAwMzQgKHYwNCBMRU5PVk8g
Q0ItMDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDc5M10gQUNQSTogTVNE
TSAweDAwMDAwMDAwN0FGRUMwMDAgMDAwMDU1ICh2MDMgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAx
IEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA3OTldIEFDUEk6IEFTRiEgMHgwMDAwMDAwMDdBRkVC
MDAwIDAwMDBBNSAodjMyIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpb
ICAgIDAuMDgwODA0XSBBQ1BJOiBCT09UIDB4MDAwMDAwMDA3QUZFQTAwMCAwMDAwMjggKHYwMSBM
RU5PVk8gQ0ItMDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDgwOV0gQUNQ
STogSFBFVCAweDAwMDAwMDAwN0FGRTgwMDAgMDAwMDM4ICh2MDEgTEVOT1ZPIENCLTAxICAgIDAw
MDAwMDAxIEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA4MTVdIEFDUEk6IEFQSUMgMHgwMDAwMDAw
MDdBRkU3MDAwIDAwMDEzOCAodjAzIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQw
MDAwKQpbICAgIDAuMDgwODIwXSBBQ1BJOiBNQ0ZHIDB4MDAwMDAwMDA3QUZFNjAwMCAwMDAwM0Mg
KHYwMSBMRU5PVk8gQ0ItMDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDgy
NV0gQUNQSTogU0xJQyAweDAwMDAwMDAwN0FGRTUwMDAgMDAwMTc2ICh2MDEgTEVOT1ZPIENCLTAx
ICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA4MzFdIEFDUEk6IFNTRFQgMHgw
MDAwMDAwMDdBRkQ0MDAwIDAwMDA5OSAodjAxIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJ
IDAwMDQwMDAwKQpbICAgIDAuMDgwODM2XSBBQ1BJOiAkSDJPIDB4MDAwMDAwMDA3QUZGRDAwMCAw
MDAwMkMgKHYwMSBMRU5PVk8gQ0ItMDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAw
LjA4MDg0MV0gQUNQSTogU1NEVCAweDAwMDAwMDAwN0FGRDAwMDAgMDAyRThFICh2MDEgTEVOT1ZP
IENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA4NDZdIEFDUEk6IFZG
Q1QgMHgwMDAwMDAwMDdBRkM1MDAwIDAwQUU4NCAodjAxIExFTk9WTyBDQi0wMSAgICAwMDAwMDAw
MSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgwODUyXSBBQ1BJOiBTU0RUIDB4MDAwMDAwMDA3QUZD
NDAwMCAwMDAwRjggKHYwMSBMRU5PVk8gQ0ItMDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkK
WyAgICAwLjA4MDg1N10gQUNQSTogU1NEVCAweDAwMDAwMDAwN0FGQkUwMDAgMDA1MzU0ICh2MDIg
TEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA4NjJdIEFD
UEk6IENSQVQgMHgwMDAwMDAwMDdBRkJEMDAwIDAwMEVFOCAodjAxIExFTk9WTyBDQi0wMSAgICAw
MDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgwODY4XSBBQ1BJOiBDRElUIDB4MDAwMDAw
MDA3QUZCQzAwMCAwMDAwMjkgKHYwMSBMRU5PVk8gQ0ItMDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0
MDAwMCkKWyAgICAwLjA4MDg3M10gQUNQSTogU1NEVCAweDAwMDAwMDAwN0FGQkIwMDAgMDAwMEQ5
ICh2MDEgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA4
NzhdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBRkI5MDAwIDAwMTU5MCAodjAxIExFTk9WTyBDQi0w
MSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgwODgzXSBBQ1BJOiBTU0RUIDB4
MDAwMDAwMDA3QUZCNzAwMCAwMDE1NjUgKHYwMSBMRU5PVk8gQ0ItMDEgICAgMDAwMDAwMDEgQUNQ
SSAwMDA0MDAwMCkKWyAgICAwLjA4MDg4OV0gQUNQSTogU1NEVCAweDAwMDAwMDAwN0FGQjYwMDAg
MDAwNzRGICh2MDEgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAwMDApClsgICAg
MC4wODA4OTRdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBRkI0MDAwIDAwMUE1QyAodjAxIExFTk9W
TyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgwODk5XSBBQ1BJOiBT
U0RUIDB4MDAwMDAwMDA3QUZBQzAwMCAwMDdFMkYgKHYwMSBMRU5PVk8gQ0ItMDEgICAgMDAwMDAw
MDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDkwNF0gQUNQSTogRlBEVCAweDAwMDAwMDAwN0FG
QUIwMDAgMDAwMDQ0ICh2MDEgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAwNDAwMDAp
ClsgICAgMC4wODA5MTBdIEFDUEk6IFdTTVQgMHgwMDAwMDAwMDdBRkE5MDAwIDAwMDAyOCAodjAx
IExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgwOTE1XSBB
Q1BJOiBTU0RUIDB4MDAwMDAwMDA3QUZFMzAwMCAwMDFFMjMgKHYwMSBMRU5PVk8gQ0ItMDEgICAg
MDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDkyMF0gQUNQSTogU1NEVCAweDAwMDAw
MDAwN0FGQTgwMDAgMDAwNzYxICh2MDEgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFDUEkgMDAw
NDAwMDApClsgICAgMC4wODA5MjZdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBRkE3MDAwIDAwMDc1
QiAodjAxIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAgIDAuMDgw
OTMxXSBBQ1BJOiBTU0RUIDB4MDAwMDAwMDA3QUZBNTAwMCAwMDFCMEMgKHYwMSBMRU5PVk8gQ0It
MDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDkzNl0gQUNQSTogU1NEVCAw
eDAwMDAwMDAwN0FGQTQwMDAgMDAwN0E1ICh2MDEgTEVOT1ZPIENCLTAxICAgIDAwMDAwMDAxIEFD
UEkgMDAwNDAwMDApClsgICAgMC4wODA5NDJdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBRjlDMDAw
IDAwN0EyQSAodjAxIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAwKQpbICAg
IDAuMDgwOTQ3XSBBQ1BJOiBTU0RUIDB4MDAwMDAwMDA3QUY5NjAwMCAwMDRDRkUgKHYwMSBMRU5P
Vk8gQ0ItMDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDk1M10gQUNQSTog
U1NEVCAweDAwMDAwMDAwN0FGRDMwMDAgMDAwRTZFICh2MDEgTEVOT1ZPIENCLTAxICAgIDAwMDAw
MDAxIEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA5NThdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdB
Rjk1MDAwIDAwMDc0MiAodjAxIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAwMDQwMDAw
KQpbICAgIDAuMDgwOTYzXSBBQ1BJOiBTU0RUIDB4MDAwMDAwMDA3QUY5NDAwMCAwMDAwOEQgKHYw
MSBMRU5PVk8gQ0ItMDEgICAgMDAwMDAwMDEgQUNQSSAwMDA0MDAwMCkKWyAgICAwLjA4MDk2OF0g
QUNQSTogU1NEVCAweDAwMDAwMDAwN0FGOTIwMDAgMDAxMjFFICh2MDEgTEVOT1ZPIENCLTAxICAg
IDAwMDAwMDAxIEFDUEkgMDAwNDAwMDApClsgICAgMC4wODA5NzNdIEFDUEk6IEJHUlQgMHgwMDAw
MDAwMDdBRkFBMDAwIDAwMDAzOCAodjAxIExFTk9WTyBDQi0wMSAgICAwMDAwMDAwMSBBQ1BJIDAw
MDQwMDAwKQpbICAgIDAuMDgwOTc2XSBBQ1BJOiBSZXNlcnZpbmcgRkFDUCB0YWJsZSBtZW1vcnkg
YXQgW21lbSAweDdhZmU5MDAwLTB4N2FmZTkxMGJdClsgICAgMC4wODA5NzZdIEFDUEk6IFJlc2Vy
dmluZyBEU0RUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmZDUwMDAtMHg3YWZlMmFiZF0KWyAg
ICAwLjA4MDk3N10gQUNQSTogUmVzZXJ2aW5nIEZBQ1MgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3
YWViMjAwMC0weDdhZWIyMDNmXQpbICAgIDAuMDgwOTc4XSBBQ1BJOiBSZXNlcnZpbmcgVUVGSSB0
YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZjdlMDAwLTB4N2FmN2UyMzVdClsgICAgMC4wODA5Nzhd
IEFDUEk6IFJlc2VydmluZyBTU0RUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmZmMwMDAtMHg3
YWZmYzkwNV0KWyAgICAwLjA4MDk3OV0gQUNQSTogUmVzZXJ2aW5nIElWUlMgdGFibGUgbWVtb3J5
IGF0IFttZW0gMHg3YWZmYjAwMC0weDdhZmZiMWEzXQpbICAgIDAuMDgwOTc5XSBBQ1BJOiBSZXNl
cnZpbmcgU1NEVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZmYzMDAwLTB4N2FmZmFkZjVdClsg
ICAgMC4wODA5ODBdIEFDUEk6IFJlc2VydmluZyBTU0RUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4
N2FmZjIwMDAtMHg3YWZmMjU3Ml0KWyAgICAwLjA4MDk4MV0gQUNQSTogUmVzZXJ2aW5nIFNTRFQg
dGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWZmMTAwMC0weDdhZmYxMWNiXQpbICAgIDAuMDgwOTgx
XSBBQ1BJOiBSZXNlcnZpbmcgU1NEVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZmVmMDAwLTB4
N2FmZjA5N2ZdClsgICAgMC4wODA5ODJdIEFDUEk6IFJlc2VydmluZyBTU0RUIHRhYmxlIG1lbW9y
eSBhdCBbbWVtIDB4N2FmZWUwMDAtMHg3YWZlZTQ3MF0KWyAgICAwLjA4MDk4Ml0gQUNQSTogUmVz
ZXJ2aW5nIFRQTTIgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWZlZDAwMC0weDdhZmVkMDMzXQpb
ICAgIDAuMDgwOTgzXSBBQ1BJOiBSZXNlcnZpbmcgTVNETSB0YWJsZSBtZW1vcnkgYXQgW21lbSAw
eDdhZmVjMDAwLTB4N2FmZWMwNTRdClsgICAgMC4wODA5ODNdIEFDUEk6IFJlc2VydmluZyBBU0Yh
IHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmZWIwMDAtMHg3YWZlYjBhNF0KWyAgICAwLjA4MDk4
NF0gQUNQSTogUmVzZXJ2aW5nIEJPT1QgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWZlYTAwMC0w
eDdhZmVhMDI3XQpbICAgIDAuMDgwOTg1XSBBQ1BJOiBSZXNlcnZpbmcgSFBFVCB0YWJsZSBtZW1v
cnkgYXQgW21lbSAweDdhZmU4MDAwLTB4N2FmZTgwMzddClsgICAgMC4wODA5ODVdIEFDUEk6IFJl
c2VydmluZyBBUElDIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmZTcwMDAtMHg3YWZlNzEzN10K
WyAgICAwLjA4MDk4Nl0gQUNQSTogUmVzZXJ2aW5nIE1DRkcgdGFibGUgbWVtb3J5IGF0IFttZW0g
MHg3YWZlNjAwMC0weDdhZmU2MDNiXQpbICAgIDAuMDgwOTg2XSBBQ1BJOiBSZXNlcnZpbmcgU0xJ
QyB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZmU1MDAwLTB4N2FmZTUxNzVdClsgICAgMC4wODA5
ODddIEFDUEk6IFJlc2VydmluZyBTU0RUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmZDQwMDAt
MHg3YWZkNDA5OF0KWyAgICAwLjA4MDk4N10gQUNQSTogUmVzZXJ2aW5nICRIMk8gdGFibGUgbWVt
b3J5IGF0IFttZW0gMHg3YWZmZDAwMC0weDdhZmZkMDJiXQpbICAgIDAuMDgwOTg4XSBBQ1BJOiBS
ZXNlcnZpbmcgU1NEVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZmQwMDAwLTB4N2FmZDJlOGRd
ClsgICAgMC4wODA5ODldIEFDUEk6IFJlc2VydmluZyBWRkNUIHRhYmxlIG1lbW9yeSBhdCBbbWVt
IDB4N2FmYzUwMDAtMHg3YWZjZmU4M10KWyAgICAwLjA4MDk4OV0gQUNQSTogUmVzZXJ2aW5nIFNT
RFQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWZjNDAwMC0weDdhZmM0MGY3XQpbICAgIDAuMDgw
OTkwXSBBQ1BJOiBSZXNlcnZpbmcgU1NEVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZmJlMDAw
LTB4N2FmYzMzNTNdClsgICAgMC4wODA5OTFdIEFDUEk6IFJlc2VydmluZyBDUkFUIHRhYmxlIG1l
bW9yeSBhdCBbbWVtIDB4N2FmYmQwMDAtMHg3YWZiZGVlN10KWyAgICAwLjA4MDk5MV0gQUNQSTog
UmVzZXJ2aW5nIENESVQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWZiYzAwMC0weDdhZmJjMDI4
XQpbICAgIDAuMDgwOTkyXSBBQ1BJOiBSZXNlcnZpbmcgU1NEVCB0YWJsZSBtZW1vcnkgYXQgW21l
bSAweDdhZmJiMDAwLTB4N2FmYmIwZDhdClsgICAgMC4wODA5OTJdIEFDUEk6IFJlc2VydmluZyBT
U0RUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmYjkwMDAtMHg3YWZiYTU4Zl0KWyAgICAwLjA4
MDk5M10gQUNQSTogUmVzZXJ2aW5nIFNTRFQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWZiNzAw
MC0weDdhZmI4NTY0XQpbICAgIDAuMDgwOTk0XSBBQ1BJOiBSZXNlcnZpbmcgU1NEVCB0YWJsZSBt
ZW1vcnkgYXQgW21lbSAweDdhZmI2MDAwLTB4N2FmYjY3NGVdClsgICAgMC4wODA5OTRdIEFDUEk6
IFJlc2VydmluZyBTU0RUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmYjQwMDAtMHg3YWZiNWE1
Yl0KWyAgICAwLjA4MDk5NV0gQUNQSTogUmVzZXJ2aW5nIFNTRFQgdGFibGUgbWVtb3J5IGF0IFtt
ZW0gMHg3YWZhYzAwMC0weDdhZmIzZTJlXQpbICAgIDAuMDgwOTk1XSBBQ1BJOiBSZXNlcnZpbmcg
RlBEVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZmFiMDAwLTB4N2FmYWIwNDNdClsgICAgMC4w
ODA5OTZdIEFDUEk6IFJlc2VydmluZyBXU01UIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmYTkw
MDAtMHg3YWZhOTAyN10KWyAgICAwLjA4MDk5N10gQUNQSTogUmVzZXJ2aW5nIFNTRFQgdGFibGUg
bWVtb3J5IGF0IFttZW0gMHg3YWZlMzAwMC0weDdhZmU0ZTIyXQpbICAgIDAuMDgwOTk3XSBBQ1BJ
OiBSZXNlcnZpbmcgU1NEVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZmE4MDAwLTB4N2FmYTg3
NjBdClsgICAgMC4wODA5OThdIEFDUEk6IFJlc2VydmluZyBTU0RUIHRhYmxlIG1lbW9yeSBhdCBb
bWVtIDB4N2FmYTcwMDAtMHg3YWZhNzc1YV0KWyAgICAwLjA4MDk5OF0gQUNQSTogUmVzZXJ2aW5n
IFNTRFQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWZhNTAwMC0weDdhZmE2YjBiXQpbICAgIDAu
MDgwOTk5XSBBQ1BJOiBSZXNlcnZpbmcgU1NEVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdhZmE0
MDAwLTB4N2FmYTQ3YTRdClsgICAgMC4wODEwMDBdIEFDUEk6IFJlc2VydmluZyBTU0RUIHRhYmxl
IG1lbW9yeSBhdCBbbWVtIDB4N2FmOWMwMDAtMHg3YWZhM2EyOV0KWyAgICAwLjA4MTAwMF0gQUNQ
STogUmVzZXJ2aW5nIFNTRFQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWY5NjAwMC0weDdhZjlh
Y2ZkXQpbICAgIDAuMDgxMDAxXSBBQ1BJOiBSZXNlcnZpbmcgU1NEVCB0YWJsZSBtZW1vcnkgYXQg
W21lbSAweDdhZmQzMDAwLTB4N2FmZDNlNmRdClsgICAgMC4wODEwMDJdIEFDUEk6IFJlc2Vydmlu
ZyBTU0RUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmOTUwMDAtMHg3YWY5NTc0MV0KWyAgICAw
LjA4MTAwMl0gQUNQSTogUmVzZXJ2aW5nIFNTRFQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHg3YWY5
NDAwMC0weDdhZjk0MDhjXQpbICAgIDAuMDgxMDAzXSBBQ1BJOiBSZXNlcnZpbmcgU1NEVCB0YWJs
ZSBtZW1vcnkgYXQgW21lbSAweDdhZjkyMDAwLTB4N2FmOTMyMWRdClsgICAgMC4wODEwMDRdIEFD
UEk6IFJlc2VydmluZyBCR1JUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4N2FmYWEwMDAtMHg3YWZh
YTAzN10KWyAgICAwLjA4MTAzMl0gU2V0dGluZyBBUElDIHJvdXRpbmcgdG8gWGVuIFBWLgpbICAg
IDAuMDgxMDU4XSBOVU1BIHR1cm5lZCBvZmYKWyAgICAwLjA4MTA1OV0gRmFraW5nIGEgbm9kZSBh
dCBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAxOTFlMGNmZmZdClsgICAgMC4wODEw
NjVdIE5PREVfREFUQSgwKSBhbGxvY2F0ZWQgW21lbSAweDZmZjdmMDAwLTB4NmZmYTlmZmZdClsg
ICAgMC4wOTE5OThdIFpvbmUgcmFuZ2VzOgpbICAgIDAuMDkyMDAyXSAgIERNQSAgICAgIFttZW0g
MHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAwMDAwMDAwMGZmZmZmZl0KWyAgICAwLjA5MjAwNV0gICBE
TUEzMiAgICBbbWVtIDB4MDAwMDAwMDAwMTAwMDAwMC0weDAwMDAwMDAwZmZmZmZmZmZdClsgICAg
MC4wOTIwMDZdICAgTm9ybWFsICAgW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwMTkx
ZTBjZmZmXQpbICAgIDAuMDkyMDA3XSAgIERldmljZSAgIGVtcHR5ClsgICAgMC4wOTIwMDhdIE1v
dmFibGUgem9uZSBzdGFydCBmb3IgZWFjaCBub2RlClsgICAgMC4wOTIwMDldIEVhcmx5IG1lbW9y
eSBub2RlIHJhbmdlcwpbICAgIDAuMDkyMDEwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAw
MDAwMTAwMC0weDAwMDAwMDAwMDAwOWVmZmZdClsgICAgMC4wOTIwMTFdICAgbm9kZSAgIDA6IFtt
ZW0gMHgwMDAwMDAwMDAwMTAwMDAwLTB4MDAwMDAwMDAwOWFmZmZmZl0KWyAgICAwLjA5MjAxMl0g
ICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwMDllMDAwMDAtMHgwMDAwMDAwMDA5ZWZmZmZmXQpb
ICAgIDAuMDkyMDEyXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAwOWYyODAwMC0weDAwMDAw
MDAwNWZiZmVmZmZdClsgICAgMC4wOTIwMTNdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDVm
YzAwMDAwLTB4MDAwMDAwMDA2MjM2M2ZmZl0KWyAgICAwLjA5MjAxNF0gICBub2RlICAgMDogW21l
bSAweDAwMDAwMDAwNjQ1NjQwMDAtMHgwMDAwMDAwMDY0NTZjZmZmXQpbICAgIDAuMDkyMDE1XSAg
IG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDA2NDU3MDAwMC0weDAwMDAwMDAwNzA3N2VmZmZdClsg
ICAgMC4wOTIwMTVdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDdhZmZmMDAwLTB4MDAwMDAw
MDA3YWZmZmZmZl0KWyAgICAwLjA5MjAxNl0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAxMDAw
MDAwMDAtMHgwMDAwMDAwMTkxZTBjZmZmXQpbICAgIDAuMDkyMDE4XSBJbml0bWVtIHNldHVwIG5v
ZGUgMCBbbWVtIDB4MDAwMDAwMDAwMDAwMTAwMC0weDAwMDAwMDAxOTFlMGNmZmZdClsgICAgMC4w
OTIwMjRdIE9uIG5vZGUgMCwgem9uZSBETUE6IDEgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2Vz
ClsgICAgMC4wOTIwNDldIE9uIG5vZGUgMCwgem9uZSBETUE6IDk3IHBhZ2VzIGluIHVuYXZhaWxh
YmxlIHJhbmdlcwpbICAgIDAuMDkyMjcyXSBPbiBub2RlIDAsIHpvbmUgRE1BMzI6IDc2OCBwYWdl
cyBpbiB1bmF2YWlsYWJsZSByYW5nZXMKWyAgICAwLjA5NDMxN10gT24gbm9kZSAwLCB6b25lIERN
QTMyOiA0MCBwYWdlcyBpbiB1bmF2YWlsYWJsZSByYW5nZXMKWyAgICAwLjA5NDM3OV0gT24gbm9k
ZSAwLCB6b25lIERNQTMyOiAxIHBhZ2VzIGluIHVuYXZhaWxhYmxlIHJhbmdlcwpbICAgIDAuMDk0
NDQ0XSBPbiBub2RlIDAsIHpvbmUgRE1BMzI6IDg3MDQgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFu
Z2VzClsgICAgMC4wOTQ3MzldIE9uIG5vZGUgMCwgem9uZSBETUEzMjogMyBwYWdlcyBpbiB1bmF2
YWlsYWJsZSByYW5nZXMKWyAgICAwLjA5NTA2MF0gT24gbm9kZSAwLCB6b25lIERNQTMyOiA0MzEz
NiBwYWdlcyBpbiB1bmF2YWlsYWJsZSByYW5nZXMKWyAgICAwLjA5ODgzNV0gT24gbm9kZSAwLCB6
b25lIE5vcm1hbDogMjA0ODAgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2VzClsgICAgMC4wOTkw
MThdIE9uIG5vZGUgMCwgem9uZSBOb3JtYWw6IDI1MDc1IHBhZ2VzIGluIHVuYXZhaWxhYmxlIHJh
bmdlcwpbICAgIDAuMDk5MDIwXSBwMm0gdmlydHVhbCBhcmVhIGF0IChfX19fcHRydmFsX19fXyks
IHNpemUgaXMgNDAwMDAwMDAKWyAgICAwLjM5Nzg1OF0gUmVtYXBwZWQgNTk3NTE3IHBhZ2UocykK
WyAgICAwLjM5ODE5MV0gQUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHg0MDgKWyAgICAwLjM5ODI1
M10gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MDBdIGhpZ2ggZWRnZSBsaW50WzB4MV0pClsg
ICAgMC4zOTgyNTVdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAxXSBoaWdoIGVkZ2UgbGlu
dFsweDFdKQpbICAgIDAuMzk4MjU3XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgwMl0gaGln
aCBlZGdlIGxpbnRbMHgxXSkKWyAgICAwLjM5ODI1OV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lk
WzB4MDNdIGhpZ2ggZWRnZSBsaW50WzB4MV0pClsgICAgMC4zOTgyNjFdIEFDUEk6IExBUElDX05N
SSAoYWNwaV9pZFsweDA0XSBoaWdoIGVkZ2UgbGludFsweDFdKQpbICAgIDAuMzk4MjYyXSBBQ1BJ
OiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgwNV0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKWyAgICAwLjM5
ODI2NF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MDZdIGhpZ2ggZWRnZSBsaW50WzB4MV0p
ClsgICAgMC4zOTgyNjZdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDA3XSBoaWdoIGVkZ2Ug
bGludFsweDFdKQpbICAgIDAuMzk4MjY4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgwOF0g
aGlnaCBlZGdlIGxpbnRbMHgxXSkKWyAgICAwLjM5ODI2OV0gQUNQSTogTEFQSUNfTk1JIChhY3Bp
X2lkWzB4MDldIGhpZ2ggZWRnZSBsaW50WzB4MV0pClsgICAgMC4zOTgyNzFdIEFDUEk6IExBUElD
X05NSSAoYWNwaV9pZFsweDBhXSBoaWdoIGVkZ2UgbGludFsweDFdKQpbICAgIDAuMzk4MjczXSBB
Q1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgwYl0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKWyAgICAw
LjM5ODI3NF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MGNdIGhpZ2ggZWRnZSBsaW50WzB4
MV0pClsgICAgMC4zOTgyNzZdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDBkXSBoaWdoIGVk
Z2UgbGludFsweDFdKQpbICAgIDAuMzk4Mjc4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgw
ZV0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKWyAgICAwLjM5ODI3OV0gQUNQSTogTEFQSUNfTk1JIChh
Y3BpX2lkWzB4MGZdIGhpZ2ggZWRnZSBsaW50WzB4MV0pClsgICAgMC4zOTgzMTBdIElPQVBJQ1sw
XTogYXBpY19pZCAzMywgdmVyc2lvbiAzMywgYWRkcmVzcyAweGZlYzAwMDAwLCBHU0kgMC0yMwpb
ICAgIDAuMzk4MzE3XSBJT0FQSUNbMV06IGFwaWNfaWQgMzQsIHZlcnNpb24gMzMsIGFkZHJlc3Mg
MHhmZWMwMTAwMCwgR1NJIDI0LTU1ClsgICAgMC4zOTgzMzJdIEFDUEk6IElOVF9TUkNfT1ZSIChi
dXMgMCBidXNfaXJxIDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwpClsgICAgMC4zOTgzMzVdIEFDUEk6
IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKWyAg
ICAwLjM5ODM1NV0gQUNQSTogVXNpbmcgQUNQSSAoTUFEVCkgZm9yIFNNUCBjb25maWd1cmF0aW9u
IGluZm9ybWF0aW9uClsgICAgMC4zOTgzNTddIEFDUEk6IEhQRVQgaWQ6IDB4MTAyMjgyMTAgYmFz
ZTogMHhmZWQwMDAwMApbICAgIDAuMzk4NzY2XSBzbXBib290OiBBbGxvd2luZyAxIENQVXMsIDAg
aG90cGx1ZyBDUFVzClsgICAgMC4zOTg3ODldIFttZW0gMHhhMDQwNDAwMC0weGZlYmZmZmZmXSBh
dmFpbGFibGUgZm9yIFBDSSBkZXZpY2VzClsgICAgMC4zOTg3OTJdIEJvb3Rpbmcga2VybmVsIG9u
IFhlbgpbICAgIDAuMzk4NzkyXSBYZW4gdmVyc2lvbjogNC4xNC41IChwcmVzZXJ2ZS1BRCkKWyAg
ICAwLjM5ODc5NV0gY2xvY2tzb3VyY2U6IHJlZmluZWQtamlmZmllczogbWFzazogMHhmZmZmZmZm
ZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9uczogMTkxMDk2OTk0MDM5MTQxOSBu
cwpbICAgIDAuNDAyMDE1XSBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6ODE5MiBucl9jcHVtYXNrX2Jp
dHM6MSBucl9jcHVfaWRzOjEgbnJfbm9kZV9pZHM6MQpbICAgIDAuNDAyMjE2XSBwZXJjcHU6IEVt
YmVkZGVkIDYxIHBhZ2VzL2NwdSBzMjEyOTkyIHI4MTkyIGQyODY3MiB1MjA5NzE1MgpbICAgIDAu
NDAyMjIxXSBwY3B1LWFsbG9jOiBzMjEyOTkyIHI4MTkyIGQyODY3MiB1MjA5NzE1MiBhbGxvYz0x
KjIwOTcxNTIKWyAgICAwLjQwMjIyM10gcGNwdS1hbGxvYzogWzBdIDAgClsgICAgMC40MDIyNTZd
IHhlbjogUFYgc3BpbmxvY2tzIGRpc2FibGVkClsgICAgMC40MDIyNjNdIEZhbGxiYWNrIG9yZGVy
IGZvciBOb2RlIDA6IDAgClsgICAgMC40MDIyNjZdIEJ1aWx0IDEgem9uZWxpc3RzLCBtb2JpbGl0
eSBncm91cGluZyBvbi4gIFRvdGFsIHBhZ2VzOiAxMDMyMDMwClsgICAgMC40MDIyNjddIFBvbGlj
eSB6b25lOiBOb3JtYWwKWyAgICAwLjQwMjI2OF0gS2VybmVsIGNvbW1hbmQgbGluZTogcGxhY2Vo
b2xkZXIgcm9vdD0vZGV2L21hcHBlci9xdWJlc19kb20wLXJvb3Qgcm8gcmQubHVrcy51dWlkPWx1
a3MtYzRjMTEyZjQtYWQxMC00Y2IwLWJmYmItYzlkMzY1MzIzMzIyIHJkLmx2bS5sdj1xdWJlc19k
b20wL3Jvb3QgcmQubHZtLmx2PXF1YmVzX2RvbTAvc3dhcCBwbHltb3V0aC5pZ25vcmUtc2VyaWFs
LWNvbnNvbGVzIHJkLmRyaXZlci5wcmU9YnRyZnMgcmhnYiBxdWlldApbICAgIDAuNDAyMzQ2XSBV
bmtub3duIGtlcm5lbCBjb21tYW5kIGxpbmUgcGFyYW1ldGVycyAicGxhY2Vob2xkZXIgcmhnYiIs
IHdpbGwgYmUgcGFzc2VkIHRvIHVzZXIgc3BhY2UuClsgICAgMC40MDI2ODNdIERlbnRyeSBjYWNo
ZSBoYXNoIHRhYmxlIGVudHJpZXM6IDUyNDI4OCAob3JkZXI6IDEwLCA0MTk0MzA0IGJ5dGVzLCBs
aW5lYXIpClsgICAgMC40MDI4NTldIElub2RlLWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMjYy
MTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcywgbGluZWFyKQpbICAgIDAuNDAzMDkwXSBtZW0g
YXV0by1pbml0OiBzdGFjazpieXJlZl9hbGwoemVybyksIGhlYXAgYWxsb2M6b24sIGhlYXAgZnJl
ZTpvbgpbICAgIDAuNDAzMDkyXSBtZW0gYXV0by1pbml0OiBjbGVhcmluZyBzeXN0ZW0gbWVtb3J5
IG1heSB0YWtlIHNvbWUgdGltZS4uLgpbICAgIDAuNDI4NDg4XSBzb2Z0d2FyZSBJTyBUTEI6IG1h
cHBlZCBbbWVtIDB4MDAwMDAwMDE4ZDQwMDAwMC0weDAwMDAwMDAxOTE0MDAwMDBdICg2NE1CKQpb
ICAgIDAuNzMyOTY1XSBNZW1vcnk6IDM5Mzc0NzJLLzQxOTQzMDBLIGF2YWlsYWJsZSAoMTYzOTJL
IGtlcm5lbCBjb2RlLCAzNjkwSyByd2RhdGEsIDYxMjRLIHJvZGF0YSwgMzIxNksgaW5pdCwgNTY4
MEsgYnNzLCAyNTY1NzZLIHJlc2VydmVkLCAwSyBjbWEtcmVzZXJ2ZWQpClsgICAgMC43NDAwNjdd
IFNMVUI6IEhXYWxpZ249NjQsIE9yZGVyPTAtMywgTWluT2JqZWN0cz0wLCBDUFVzPTEsIE5vZGVz
PTEKWyAgICAwLjc0MDUxNF0gZnRyYWNlOiBhbGxvY2F0aW5nIDU0MzQ0IGVudHJpZXMgaW4gMjEz
IHBhZ2VzClsgICAgMC43NDg1MzhdIGZ0cmFjZTogYWxsb2NhdGVkIDIxMyBwYWdlcyB3aXRoIDUg
Z3JvdXBzClsgICAgMC43NDkzMDJdIER5bmFtaWMgUHJlZW1wdDogdm9sdW50YXJ5ClsgICAgMC43
NDk3ODVdIHJjdTogUHJlZW1wdGlibGUgaGllcmFyY2hpY2FsIFJDVSBpbXBsZW1lbnRhdGlvbi4K
WyAgICAwLjc0OTc4Nl0gcmN1OiAJUkNVIHJlc3RyaWN0aW5nIENQVXMgZnJvbSBOUl9DUFVTPTgx
OTIgdG8gbnJfY3B1X2lkcz0xLgpbICAgIDAuNzQ5Nzg3XSAJVHJhbXBvbGluZSB2YXJpYW50IG9m
IFRhc2tzIFJDVSBlbmFibGVkLgpbICAgIDAuNzQ5Nzg4XSAJUnVkZSB2YXJpYW50IG9mIFRhc2tz
IFJDVSBlbmFibGVkLgpbICAgIDAuNzQ5Nzg4XSAJVHJhY2luZyB2YXJpYW50IG9mIFRhc2tzIFJD
VSBlbmFibGVkLgpbICAgIDAuNzQ5Nzg5XSByY3U6IFJDVSBjYWxjdWxhdGVkIHZhbHVlIG9mIHNj
aGVkdWxlci1lbmxpc3RtZW50IGRlbGF5IGlzIDEwMCBqaWZmaWVzLgpbICAgIDAuNzQ5NzkwXSBy
Y3U6IEFkanVzdGluZyBnZW9tZXRyeSBmb3IgcmN1X2Zhbm91dF9sZWFmPTE2LCBucl9jcHVfaWRz
PTEKWyAgICAwLjc2MDc3Nl0gVXNpbmcgTlVMTCBsZWdhY3kgUElDClsgICAgMC43NjA3NzddIE5S
X0lSUVM6IDUyNDU0NCwgbnJfaXJxczogMjU2LCBwcmVhbGxvY2F0ZWQgaXJxczogMApbICAgIDAu
NzYwODAwXSB4ZW46ZXZlbnRzOiBVc2luZyBGSUZPLWJhc2VkIEFCSQpbICAgIDAuNzYwODE0XSB4
ZW46IC0tPiBwaXJxPTEgLT4gaXJxPTEgKGdzaT0xKQpbICAgIDAuNzYwODE4XSB4ZW46IC0tPiBw
aXJxPTIgLT4gaXJxPTIgKGdzaT0yKQpbICAgIDAuNzYwODIxXSB4ZW46IC0tPiBwaXJxPTMgLT4g
aXJxPTMgKGdzaT0zKQpbICAgIDAuNzYwODI0XSB4ZW46IC0tPiBwaXJxPTQgLT4gaXJxPTQgKGdz
aT00KQpbICAgIDAuNzYwODI3XSB4ZW46IC0tPiBwaXJxPTUgLT4gaXJxPTUgKGdzaT01KQpbICAg
IDAuNzYwODMwXSB4ZW46IC0tPiBwaXJxPTYgLT4gaXJxPTYgKGdzaT02KQpbICAgIDAuNzYwODMz
XSB4ZW46IC0tPiBwaXJxPTcgLT4gaXJxPTcgKGdzaT03KQpbICAgIDAuNzYwOTA1XSB4ZW46IC0t
PiBwaXJxPTggLT4gaXJxPTggKGdzaT04KQpbICAgIDAuNzYwOTA4XSB4ZW46IC0tPiBwaXJxPTkg
LT4gaXJxPTkgKGdzaT05KQpbICAgIDAuNzYwOTExXSB4ZW46IC0tPiBwaXJxPTEwIC0+IGlycT0x
MCAoZ3NpPTEwKQpbICAgIDAuNzYwOTE0XSB4ZW46IC0tPiBwaXJxPTExIC0+IGlycT0xMSAoZ3Np
PTExKQpbICAgIDAuNzYwOTE3XSB4ZW46IC0tPiBwaXJxPTEyIC0+IGlycT0xMiAoZ3NpPTEyKQpb
ICAgIDAuNzYwOTIwXSB4ZW46IC0tPiBwaXJxPTEzIC0+IGlycT0xMyAoZ3NpPTEzKQpbICAgIDAu
NzYwOTIzXSB4ZW46IC0tPiBwaXJxPTE0IC0+IGlycT0xNCAoZ3NpPTE0KQpbICAgIDAuNzYwOTI2
XSB4ZW46IC0tPiBwaXJxPTE1IC0+IGlycT0xNSAoZ3NpPTE1KQpbICAgIDAuNzYxMDc2XSBrZmVu
Y2U6IGluaXRpYWxpemVkIC0gdXNpbmcgMjA5NzE1MiBieXRlcyBmb3IgMjU1IG9iamVjdHMgYXQg
MHgoX19fX3B0cnZhbF9fX18pLTB4KF9fX19wdHJ2YWxfX19fKQpbICAgIDAuNzYxMjc3XSByYW5k
b206IGNybmcgaW5pdCBkb25lClsgICAgMC43NjEyOTldIENvbnNvbGU6IGNvbG91ciBkdW1teSBk
ZXZpY2UgODB4MjUKWyAgICAwLjc2MTMxMF0gcHJpbnRrOiBjb25zb2xlIFt0dHkwXSBlbmFibGVk
ClsgICAgMC43NjEzMThdIHByaW50azogY29uc29sZSBbaHZjMF0gZW5hYmxlZApbICAgIDAuNzYx
MzM2XSBBQ1BJOiBDb3JlIHJldmlzaW9uIDIwMjExMjE3ClsgICAgMC44MDc2NzRdIEFDUEkgQklP
UyBXYXJuaW5nIChidWcpOiBJbmNvcnJlY3QgY2hlY2tzdW0gaW4gdGFibGUgW0JHUlRdIC0gMHg1
Nywgc2hvdWxkIGJlIDB4MzUgKDIwMjExMjE3L3RicHJpbnQtMTc0KQpbICAgIDAuODA3NzA2XSBj
bG9ja3NvdXJjZTogeGVuOiBtYXNrOiAweGZmZmZmZmZmZmZmZmZmZmYgbWF4X2N5Y2xlczogMHgx
Y2Q0MmU0ZGZmYiwgbWF4X2lkbGVfbnM6IDg4MTU5MDU5MTQ4MyBucwpbICAgIDAuODA3NzA4XSBY
ZW46IHVzaW5nIHZjcHVvcCB0aW1lciBpbnRlcmZhY2UKWyAgICAwLjgwNzcxMF0gaW5zdGFsbGlu
ZyBYZW4gdGltZXIgZm9yIENQVSAwClsgICAgMC44MDc3MjJdIGNsb2Nrc291cmNlOiB0c2MtZWFy
bHk6IG1hc2s6IDB4ZmZmZmZmZmZmZmZmZmZmZiBtYXhfY3ljbGVzOiAweDJlMGEzMzRjY2M2LCBt
YXhfaWRsZV9uczogNDQwNzk1MzE0MjU0IG5zClsgICAgMC44MDc3MjRdIENhbGlicmF0aW5nIGRl
bGF5IGxvb3AgKHNraXBwZWQpLCB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRpbWVyIGZyZXF1ZW5j
eS4uIDYzODguMDIgQm9nb01JUFMgKGxwaj0zMTk0MDE0KQpbICAgIDAuODA3NzI2XSBwaWRfbWF4
OiBkZWZhdWx0OiAzMjc2OCBtaW5pbXVtOiAzMDEKWyAgICAwLjgwNzc0OV0gTFNNOiBTZWN1cml0
eSBGcmFtZXdvcmsgaW5pdGlhbGl6aW5nClsgICAgMC44MDc3NTRdIFlhbWE6IGJlY29taW5nIG1p
bmRmdWwuClsgICAgMC44MDc3ODBdIE1vdW50LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogODE5
MiAob3JkZXI6IDQsIDY1NTM2IGJ5dGVzLCBsaW5lYXIpClsgICAgMC44MDc3ODFdIE1vdW50cG9p
bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjogNCwgNjU1MzYgYnl0ZXMs
IGxpbmVhcikKWyAgICAwLjgwODAwMV0gTGFzdCBsZXZlbCBpVExCIGVudHJpZXM6IDRLQiA1MTIs
IDJNQiA1MTIsIDRNQiAyNTYKWyAgICAwLjgwODAwMl0gTGFzdCBsZXZlbCBkVExCIGVudHJpZXM6
IDRLQiAyMDQ4LCAyTUIgMjA0OCwgNE1CIDEwMjQsIDFHQiAwClsgICAgMC44MDgwMDRdIFNwZWN0
cmUgVjEgOiBNaXRpZ2F0aW9uOiB1c2VyY29weS9zd2FwZ3MgYmFycmllcnMgYW5kIF9fdXNlciBw
b2ludGVyIHNhbml0aXphdGlvbgpbICAgIDAuODA4MDA2XSBTcGVjdHJlIFYyIDogTWl0aWdhdGlv
bjogUmV0cG9saW5lcwpbICAgIDAuODA4MDA2XSBTcGVjdHJlIFYyIDogU3BlY3RyZSB2MiAvIFNw
ZWN0cmVSU0IgbWl0aWdhdGlvbjogRmlsbGluZyBSU0Igb24gY29udGV4dCBzd2l0Y2gKWyAgICAw
LjgwODAwOF0gU3BlY3RyZSBWMiA6IG1pdGlnYXRpb246IEVuYWJsaW5nIGNvbmRpdGlvbmFsIElu
ZGlyZWN0IEJyYW5jaCBQcmVkaWN0aW9uIEJhcnJpZXIKWyAgICAwLjgwODAwOV0gU3BlY3VsYXRp
dmUgU3RvcmUgQnlwYXNzOiBWdWxuZXJhYmxlClsgICAgMC44MjgzMjVdIEZyZWVpbmcgU01QIGFs
dGVybmF0aXZlcyBtZW1vcnk6IDQ4SwpbICAgIDAuODI4NzcyXSBWUE1VIGRpc2FibGVkIGJ5IGh5
cGVydmlzb3IuClsgICAgMC44Mjg5MDldIGNibGlzdF9pbml0X2dlbmVyaWM6IFNldHRpbmcgYWRq
dXN0YWJsZSBudW1iZXIgb2YgY2FsbGJhY2sgcXVldWVzLgpbICAgIDAuODI4OTExXSBjYmxpc3Rf
aW5pdF9nZW5lcmljOiBTZXR0aW5nIHNoaWZ0IHRvIDAgYW5kIGxpbSB0byAxLgpbICAgIDAuODI4
OTIzXSBjYmxpc3RfaW5pdF9nZW5lcmljOiBTZXR0aW5nIHNoaWZ0IHRvIDAgYW5kIGxpbSB0byAx
LgpbICAgIDAuODI4OTM1XSBjYmxpc3RfaW5pdF9nZW5lcmljOiBTZXR0aW5nIHNoaWZ0IHRvIDAg
YW5kIGxpbSB0byAxLgpbICAgIDAuODI4OTQ2XSBQZXJmb3JtYW5jZSBFdmVudHM6IFBNVSBub3Qg
YXZhaWxhYmxlIGR1ZSB0byB2aXJ0dWFsaXphdGlvbiwgdXNpbmcgc29mdHdhcmUgZXZlbnRzIG9u
bHkuClsgICAgMC44Mjg5NzddIHJjdTogSGllcmFyY2hpY2FsIFNSQ1UgaW1wbGVtZW50YXRpb24u
ClsgICAgMC44MjkyMzNdIE5NSSB3YXRjaGRvZzogUGVyZiBOTUkgd2F0Y2hkb2cgcGVybWFuZW50
bHkgZGlzYWJsZWQKWyAgICAwLjgyOTI2OV0gc21wOiBCcmluZ2luZyB1cCBzZWNvbmRhcnkgQ1BV
cyAuLi4KWyAgICAwLjgyOTI2OV0gc21wOiBCcm91Z2h0IHVwIDEgbm9kZSwgMSBDUFUKWyAgICAw
LjgyOTI3MF0gc21wYm9vdDogTWF4IGxvZ2ljYWwgcGFja2FnZXM6IDEKWyAgICAwLjgyOTM1NF0g
ZGV2dG1wZnM6IGluaXRpYWxpemVkClsgICAgMC44MjkzODFdIHg4Ni9tbTogTWVtb3J5IGJsb2Nr
IHNpemU6IDEyOE1CClsgICAgMC44Mjk2NzddIEFDUEk6IFBNOiBSZWdpc3RlcmluZyBBQ1BJIE5W
UyByZWdpb24gW21lbSAweDA5ZjAwMDAwLTB4MDlmMjdmZmZdICgxNjM4NDAgYnl0ZXMpClsgICAg
MC44Mjk2ODBdIEFDUEk6IFBNOiBSZWdpc3RlcmluZyBBQ1BJIE5WUyByZWdpb24gW21lbSAweDcy
ZjdmMDAwLTB4N2FmN2VmZmZdICgxMzQyMTc3MjggYnl0ZXMpClsgICAgMC44MzA4ODddIGNsb2Nr
c291cmNlOiBqaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1heF9jeWNsZXM6IDB4ZmZmZmZmZmYs
IG1heF9pZGxlX25zOiAxOTExMjYwNDQ2Mjc1MDAwIG5zClsgICAgMC44MzA4ODldIGZ1dGV4IGhh
c2ggdGFibGUgZW50cmllczogMjU2IChvcmRlcjogMiwgMTYzODQgYnl0ZXMsIGxpbmVhcikKWyAg
ICAwLjgzMDkxNF0gcGluY3RybCBjb3JlOiBpbml0aWFsaXplZCBwaW5jdHJsIHN1YnN5c3RlbQpb
ICAgIDAuODMxMDAwXSBQTTogUlRDIHRpbWU6IDA0OjM0OjU5LCBkYXRlOiAyMDIyLTA4LTE1Clsg
ICAgMC44MzE1ODddIE5FVDogUmVnaXN0ZXJlZCBQRl9ORVRMSU5LL1BGX1JPVVRFIHByb3RvY29s
IGZhbWlseQpbICAgIDAuODMxNTk4XSB4ZW46Z3JhbnRfdGFibGU6IEdyYW50IHRhYmxlcyB1c2lu
ZyB2ZXJzaW9uIDEgbGF5b3V0ClsgICAgMC44MzE2NDBdIEdyYW50IHRhYmxlIGluaXRpYWxpemVk
ClsgICAgMC44MzE2OTJdIERNQTogcHJlYWxsb2NhdGVkIDUxMiBLaUIgR0ZQX0tFUk5FTCBwb29s
IGZvciBhdG9taWMgYWxsb2NhdGlvbnMKWyAgICAwLjgzMTY5NV0gRE1BOiBwcmVhbGxvY2F0ZWQg
NTEyIEtpQiBHRlBfS0VSTkVMfEdGUF9ETUEgcG9vbCBmb3IgYXRvbWljIGFsbG9jYXRpb25zClsg
ICAgMC44MzE2OTddIERNQTogcHJlYWxsb2NhdGVkIDUxMiBLaUIgR0ZQX0tFUk5FTHxHRlBfRE1B
MzIgcG9vbCBmb3IgYXRvbWljIGFsbG9jYXRpb25zClsgICAgMC44MzE3MDRdIGF1ZGl0OiBpbml0
aWFsaXppbmcgbmV0bGluayBzdWJzeXMgKGRpc2FibGVkKQpbICAgIDAuODMxNzY2XSBhdWRpdDog
dHlwZT0yMDAwIGF1ZGl0KDE2NjA1MzgxMDAuMzM4OjEpOiBzdGF0ZT1pbml0aWFsaXplZCBhdWRp
dF9lbmFibGVkPTAgcmVzPTEKWyAgICAwLjgzMTgxOF0gdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQg
dGhlcm1hbCBnb3Zlcm5vciAnZmFpcl9zaGFyZScKWyAgICAwLjgzMTgxOV0gdGhlcm1hbF9zeXM6
IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAnYmFuZ19iYW5nJwpbICAgIDAuODMxODIwXSB0
aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdvdmVybm9yICdzdGVwX3dpc2UnClsgICAg
MC44MzE4MjBdIHRoZXJtYWxfc3lzOiBSZWdpc3RlcmVkIHRoZXJtYWwgZ292ZXJub3IgJ3VzZXJf
c3BhY2UnClsgICAgMC44MzE4OTldIFNpbXBsZSBCb290IEZsYWcgYXQgMHg0NCBzZXQgdG8gMHgx
ClsgICAgMC44MzIwMjZdIFBDSTogTU1DT05GSUcgZm9yIGRvbWFpbiAwMDAwIFtidXMgMDAtZmZd
IGF0IFttZW0gMHhlMDAwMDAwMC0weGVmZmZmZmZmXSAoYmFzZSAweGUwMDAwMDAwKQpbICAgIDAu
ODMyMDI5XSBQQ0k6IG5vdCB1c2luZyBNTUNPTkZJRwpbICAgIDAuODMyMDMwXSBQQ0k6IFVzaW5n
IGNvbmZpZ3VyYXRpb24gdHlwZSAxIGZvciBiYXNlIGFjY2VzcwpbICAgIDAuODMyMDMxXSBQQ0k6
IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAxIGZvciBleHRlbmRlZCBhY2Nlc3MKWyAgICAwLjgz
Mjg3OV0ga3Byb2Jlczoga3Byb2JlIGp1bXAtb3B0aW1pemF0aW9uIGlzIGVuYWJsZWQuIEFsbCBr
cHJvYmVzIGFyZSBvcHRpbWl6ZWQgaWYgcG9zc2libGUuClsgICAgMC44MzI5ODBdIGNyeXB0ZDog
bWF4X2NwdV9xbGVuIHNldCB0byAxMDAwClsgICAgMC44MzMwNjRdIHJhaWQ2OiBza2lwcGVkIHBx
IGJlbmNobWFyayBhbmQgc2VsZWN0ZWQgYXZ4Mng0ClsgICAgMC44MzMwNjVdIHJhaWQ2OiB1c2lu
ZyBhdngyeDIgcmVjb3ZlcnkgYWxnb3JpdGhtClsgICAgMC44MzMwODldIEFDUEk6IEFkZGVkIF9P
U0koTW9kdWxlIERldmljZSkKWyAgICAwLjgzMzA4OV0gQUNQSTogQWRkZWQgX09TSShQcm9jZXNz
b3IgRGV2aWNlKQpbICAgIDAuODMzMDkwXSBBQ1BJOiBBZGRlZCBfT1NJKDMuMCBfU0NQIEV4dGVu
c2lvbnMpClsgICAgMC44MzMwOTBdIEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIEFnZ3JlZ2F0
b3IgRGV2aWNlKQpbICAgIDAuODMzMDkxXSBBQ1BJOiBBZGRlZCBfT1NJKExpbnV4LURlbGwtVmlk
ZW8pClsgICAgMC44MzMwOTFdIEFDUEk6IEFkZGVkIF9PU0koTGludXgtTGVub3ZvLU5WLUhETUkt
QXVkaW8pClsgICAgMC44MzMwOTJdIEFDUEk6IEFkZGVkIF9PU0koTGludXgtSFBJLUh5YnJpZC1H
cmFwaGljcykKWyAgICAwLjg1NTI5OV0gQUNQSSBCSU9TIEVycm9yIChidWcpOiBDb3VsZCBub3Qg
cmVzb2x2ZSBzeW1ib2wgW1xfU0IuUENJMC5QQjJdLCBBRV9OT1RfRk9VTkQgKDIwMjExMjE3L2Rz
d2xvYWQyLTE2MikKWyAgICAwLjg1NTMwM10gQUNQSSBFcnJvcjogQUVfTk9UX0ZPVU5ELCBEdXJp
bmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTEyMTcvcHNvYmplY3QtMjIwKQpbICAgIDAuODU1
MzA1XSBBQ1BJOiBTa2lwcGluZyBwYXJzZSBvZiBBTUwgb3Bjb2RlOiBPcGNvZGVOYW1lIHVuYXZh
aWxhYmxlICgweDAwMTApClsgICAgMC44NTUzNTBdIEFDUEkgQklPUyBFcnJvciAoYnVnKTogQ291
bGQgbm90IHJlc29sdmUgc3ltYm9sIFtcX1NCLlBDSTAuUEIyXSwgQUVfTk9UX0ZPVU5EICgyMDIx
MTIxNy9kc3dsb2FkMi0xNjIpClsgICAgMC44NTUzNTNdIEFDUEkgRXJyb3I6IEFFX05PVF9GT1VO
RCwgRHVyaW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIwMjExMjE3L3Bzb2JqZWN0LTIyMCkKWyAg
ICAwLjg1NTM1NF0gQUNQSTogU2tpcHBpbmcgcGFyc2Ugb2YgQU1MIG9wY29kZTogT3Bjb2RlTmFt
ZSB1bmF2YWlsYWJsZSAoMHgwMDEwKQpbICAgIDAuODU5NDgyXSBBQ1BJIEJJT1MgRXJyb3IgKGJ1
Zyk6IENvdWxkIG5vdCByZXNvbHZlIHN5bWJvbCBbXF9TQi5QQ0kwLkdQUDcuREVWMF0sIEFFX05P
VF9GT1VORCAoMjAyMTEyMTcvZHN3bG9hZDItMTYyKQpbICAgIDAuODU5NDg1XSBBQ1BJIEVycm9y
OiBBRV9OT1RfRk9VTkQsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRhbG9nICgyMDIxMTIxNy9wc29i
amVjdC0yMjApClsgICAgMC44NTk0ODZdIEFDUEk6IFNraXBwaW5nIHBhcnNlIG9mIEFNTCBvcGNv
ZGU6IE9wY29kZU5hbWUgdW5hdmFpbGFibGUgKDB4MDAxMCkKWyAgICAwLjg2MDQzMV0gQUNQSSBC
SU9TIEVycm9yIChidWcpOiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVkIG9iamVjdCBbXF9UWi5UWjAx
XSwgQUVfQUxSRUFEWV9FWElTVFMgKDIwMjExMjE3L2Rzd2xvYWQyLTMyNikKWyAgICAwLjg2MDQz
NF0gQUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRh
bG9nICgyMDIxMTIxNy9wc29iamVjdC0yMjApClsgICAgMC44NjA0MzVdIEFDUEk6IFNraXBwaW5n
IHBhcnNlIG9mIEFNTCBvcGNvZGU6IE9wY29kZU5hbWUgdW5hdmFpbGFibGUgKDB4NUI4NSkKWyAg
ICAwLjg2NDU3OV0gQUNQSTogMjggQUNQSSBBTUwgdGFibGVzIHN1Y2Nlc3NmdWxseSBhY3F1aXJl
ZCBhbmQgbG9hZGVkClsgICAgMC44NjU1ODldIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDkgdHJpZ2dl
cmluZyAwIHBvbGFyaXR5IDEKWyAgICAwLjg2Njg1M10gQUNQSTogW0Zpcm13YXJlIEJ1Z106IEJJ
T1MgX09TSShMaW51eCkgcXVlcnkgaWdub3JlZApbICAgIDAuODc4MjQ3XSBBQ1BJOiBVU0I0IF9P
U0M6IE9TIHN1cHBvcnRzIFVTQjMrIERpc3BsYXlQb3J0KyBQQ0llKyBYRG9tYWluKwpbICAgIDAu
ODc4MjQ5XSBBQ1BJOiBVU0I0IF9PU0M6IE9TIGNvbnRyb2xzIFVTQjMrIERpc3BsYXlQb3J0KyBQ
Q0llKyBYRG9tYWluKwpbICAgIDAuODc4OTI4XSBBQ1BJOiBFQzogRUMgc3RhcnRlZApbICAgIDAu
ODc4OTI4XSBBQ1BJOiBFQzogaW50ZXJydXB0IGJsb2NrZWQKWyAgICAwLjkyMTkxN10gQUNQSTog
RUM6IEVDX0NNRC9FQ19TQz0weDY2LCBFQ19EQVRBPTB4NjIKWyAgICAwLjkyMTkxOV0gQUNQSTog
XF9TQl8uUENJMC5MUEMwLkVDMF86IEJvb3QgRFNEVCBFQyB1c2VkIHRvIGhhbmRsZSB0cmFuc2Fj
dGlvbnMKWyAgICAwLjkyMTkyMF0gQUNQSTogSW50ZXJwcmV0ZXIgZW5hYmxlZApbICAgIDAuOTIx
OTMxXSBBQ1BJOiBQTTogKHN1cHBvcnRzIFMwIFM1KQpbICAgIDAuOTIxOTMxXSBBQ1BJOiBVc2lu
ZyBJT0FQSUMgZm9yIGludGVycnVwdCByb3V0aW5nClsgICAgMC45MjIzNTZdIFBDSTogTU1DT05G
SUcgZm9yIGRvbWFpbiAwMDAwIFtidXMgMDAtZmZdIGF0IFttZW0gMHhlMDAwMDAwMC0weGVmZmZm
ZmZmXSAoYmFzZSAweGUwMDAwMDAwKQpbICAgIDAuOTI2MTgxXSBbRmlybXdhcmUgSW5mb106IFBD
STogTU1DT05GSUcgYXQgW21lbSAweGUwMDAwMDAwLTB4ZWZmZmZmZmZdIG5vdCByZXNlcnZlZCBp
biBBQ1BJIG1vdGhlcmJvYXJkIHJlc291cmNlcwpbICAgIDAuOTI2MTgzXSBQQ0k6IG5vdCB1c2lu
ZyBNTUNPTkZJRwpbICAgIDAuOTI2MTg1XSBQQ0k6IFVzaW5nIGhvc3QgYnJpZGdlIHdpbmRvd3Mg
ZnJvbSBBQ1BJOyBpZiBuZWNlc3NhcnksIHVzZSAicGNpPW5vY3JzIiBhbmQgcmVwb3J0IGEgYnVn
ClsgICAgMC45MjY1MjddIEFDUEk6IEVuYWJsZWQgMiBHUEVzIGluIGJsb2NrIDAwIHRvIDFGClsg
ICAgMC45Mjc2NTldIEFDUEk6IFBNOiBQb3dlciBSZXNvdXJjZSBbUEcwMF0KWyAgICAwLjkyODQw
OV0gQUNQSTogUE06IFBvd2VyIFJlc291cmNlIFtXUlNUXQpbICAgIDAuOTI4NjcwXSBBQ1BJOiBQ
TTogUG93ZXIgUmVzb3VyY2UgW1AwTlZdClsgICAgMC45Mjk5OTZdIEFDUEk6IFBNOiBQb3dlciBS
ZXNvdXJjZSBbUFdSU10KWyAgICAwLjkzMDY3MV0gQUNQSTogUE06IFBvd2VyIFJlc291cmNlIFtQ
V1JTXQpbICAgIDAuOTMxMDA2XSBBQ1BJOiBQTTogUG93ZXIgUmVzb3VyY2UgW1BXUlNdClsgICAg
MC45MzEzNTBdIEFDUEk6IFBNOiBQb3dlciBSZXNvdXJjZSBbUFdSU10KWyAgICAwLjkzMTczNV0g
QUNQSTogUE06IFBvd2VyIFJlc291cmNlIFtQV1JTXQpbICAgIDAuOTMyMzI2XSBBQ1BJOiBQTTog
UG93ZXIgUmVzb3VyY2UgW1BXUlNdClsgICAgMC45MzI5MDhdIEFDUEk6IFBNOiBQb3dlciBSZXNv
dXJjZSBbUFdSU10KWyAgICAwLjkzMzQyOV0gQUNQSTogUE06IFBvd2VyIFJlc291cmNlIFtQV1JT
XQpbICAgIDAuOTM0Mzg5XSBBQ1BJOiBQTTogUG93ZXIgUmVzb3VyY2UgW1BXUlNdClsgICAgMC45
MzQ4NzNdIEFDUEk6IFBNOiBQb3dlciBSZXNvdXJjZSBbQlRQUl0KWyAgICAwLjkzNDk5Nl0gQUNQ
STogUE06IFBvd2VyIFJlc291cmNlIFtQMFMwXQpbICAgIDAuOTM1MDE1XSBBQ1BJOiBQTTogUG93
ZXIgUmVzb3VyY2UgW1AzUzBdClsgICAgMC45MzU2NDVdIEFDUEk6IFBNOiBQb3dlciBSZXNvdXJj
ZSBbUFdSU10KWyAgICAwLjkzNjU0N10gQUNQSTogUE06IFBvd2VyIFJlc291cmNlIFtQV1JTXQpb
ICAgIDAuOTM3NDM1XSBBQ1BJOiBQTTogUG93ZXIgUmVzb3VyY2UgW1BXUlNdClsgICAgMC45Mzgx
MzldIEFDUEk6IFBNOiBQb3dlciBSZXNvdXJjZSBbUFdSU10KWyAgICAwLjkzODUyOF0gQUNQSTog
UE06IFBvd2VyIFJlc291cmNlIFtQV1JTXQpbICAgIDAuOTQzOTIyXSBBQ1BJOiBQQ0kgUm9vdCBC
cmlkZ2UgW1BDSTBdIChkb21haW4gMDAwMCBbYnVzIDAwLWZmXSkKWyAgICAwLjk0MzkyN10gYWNw
aSBQTlAwQTA4OjAwOiBfT1NDOiBPUyBzdXBwb3J0cyBbRXh0ZW5kZWRDb25maWcgQVNQTSBDbG9j
a1BNIFNlZ21lbnRzIE1TSSBFRFIgSFBYLVR5cGUzXQpbICAgIDAuOTQ0MTg4XSBhY3BpIFBOUDBB
MDg6MDA6IF9PU0M6IHBsYXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgW0FFUl0KWyAgICAwLjk0NDY4
MF0gYWNwaSBQTlAwQTA4OjAwOiBfT1NDOiBPUyBub3cgY29udHJvbHMgW1BNRSBQQ0llQ2FwYWJp
bGl0eSBMVFIgRFBDXQpbICAgIDAuOTQ1MDQ5XSBQQ0kgaG9zdCBicmlkZ2UgdG8gYnVzIDAwMDA6
MDAKWyAgICAwLjk0NTA1MF0gcGNpX2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNvdXJjZSBbaW8g
IDB4MDAwMC0weDBjZjcgd2luZG93XQpbICAgIDAuOTQ1MDUyXSBwY2lfYnVzIDAwMDA6MDA6IHJv
b3QgYnVzIHJlc291cmNlIFtpbyAgMHgwZDAwLTB4ZmZmZiB3aW5kb3ddClsgICAgMC45NDUwNTNd
IHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweDAwMGEwMDAwLTB4MDAw
YmZmZmYgd2luZG93XQpbICAgIDAuOTQ1MDU0XSBwY2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJl
c291cmNlIFttZW0gMHgwMDBjMDAwMC0weDAwMGNmZmZmIHdpbmRvd10KWyAgICAwLjk0NTA1NV0g
cGNpX2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4MDAwZDAwMDAtMHgwMDBl
ZmZmZiB3aW5kb3ddClsgICAgMC45NDUwNTVdIHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVz
b3VyY2UgW21lbSAweDgwMDAwMDAwLTB4ZGZmZmZmZmYgd2luZG93XQpbICAgIDAuOTQ1MDU2XSBw
Y2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFttZW0gMHhmMDAwMDAwMC0weGZlYWZm
ZmZmIHdpbmRvd10KWyAgICAwLjk0NTA1N10gcGNpX2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNv
dXJjZSBbbWVtIDB4ZmVkNDUwMDAtMHhmZWQ4MTRmZiB3aW5kb3ddClsgICAgMC45NDUwNTddIHBj
aV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweGZlZDgxOTAwLTB4ZmVkODFm
ZmYgd2luZG93XQpbICAgIDAuOTQ1MDU4XSBwY2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291
cmNlIFttZW0gMHhmZWRjMDAwMC0weGZlZGMwZmZmIHdpbmRvd10KWyAgICAwLjk0NTA1OV0gcGNp
X2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4ZmVkYzYwMDAtMHhmZWRjNmZm
ZiB3aW5kb3ddClsgICAgMC45NDUwNTldIHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3Vy
Y2UgW21lbSAweDhhMDIwMDAwMC0weDgzM2ZmZmZmZmYgd2luZG93XQpbICAgIDAuOTQ1MDYwXSBw
Y2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFtidXMgMDAtZmZdClsgICAgMC45NDUw
ODNdIHBjaSAwMDAwOjAwOjAwLjA6IFsxMDIyOjE0YjVdIHR5cGUgMDAgY2xhc3MgMHgwNjAwMDAK
WyAgICAwLjk0NTIxOV0gcGNpIDAwMDA6MDA6MDAuMjogWzEwMjI6MTRiNl0gdHlwZSAwMCBjbGFz
cyAweDA4MDYwMApbICAgIDAuOTQ1MzUyXSBwY2kgMDAwMDowMDowMS4wOiBbMTAyMjoxNGI3XSB0
eXBlIDAwIGNsYXNzIDB4MDYwMDAwClsgICAgMC45NDU0NDZdIHBjaSAwMDAwOjAwOjAxLjE6IFsx
MDIyOjE0YjhdIHR5cGUgMDEgY2xhc3MgMHgwNjA0MDAKWyAgICAwLjk0NTYwMF0gcGNpIDAwMDA6
MDA6MDEuMTogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICAwLjk0NTc2
OV0gcGNpIDAwMDA6MDA6MDIuMDogWzEwMjI6MTRiN10gdHlwZSAwMCBjbGFzcyAweDA2MDAwMApb
ICAgIDAuOTQ1ODc0XSBwY2kgMDAwMDowMDowMi4zOiBbMTAyMjoxNGJhXSB0eXBlIDAxIGNsYXNz
IDB4MDYwNDAwClsgICAgMC45NDYwNTVdIHBjaSAwMDAwOjAwOjAyLjM6IFBNRSMgc3VwcG9ydGVk
IGZyb20gRDAgRDNob3QgRDNjb2xkClsgICAgMC45NDYyMjZdIHBjaSAwMDAwOjAwOjAyLjQ6IFsx
MDIyOjE0YmFdIHR5cGUgMDEgY2xhc3MgMHgwNjA0MDAKWyAgICAwLjk0NjQwOF0gcGNpIDAwMDA6
MDA6MDIuNDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICAwLjk0NjU3
OF0gcGNpIDAwMDA6MDA6MDMuMDogWzEwMjI6MTRiN10gdHlwZSAwMCBjbGFzcyAweDA2MDAwMApb
ICAgIDAuOTQ2Njg2XSBwY2kgMDAwMDowMDowNC4wOiBbMTAyMjoxNGI3XSB0eXBlIDAwIGNsYXNz
IDB4MDYwMDAwClsgICAgMC45NDY4MDJdIHBjaSAwMDAwOjAwOjA4LjA6IFsxMDIyOjE0YjddIHR5
cGUgMDAgY2xhc3MgMHgwNjAwMDAKWyAgICAwLjk0Njg5OF0gcGNpIDAwMDA6MDA6MDguMTogWzEw
MjI6MTRiOV0gdHlwZSAwMSBjbGFzcyAweDA2MDQwMApbICAgIDAuOTQ2OTU0XSBwY2kgMDAwMDow
MDowOC4xOiBlbmFibGluZyBFeHRlbmRlZCBUYWdzClsgICAgMC45NDcwNDRdIHBjaSAwMDAwOjAw
OjA4LjE6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDAgRDNob3QgRDNjb2xkClsgICAgMC45NDcxODNd
IHBjaSAwMDAwOjAwOjA4LjM6IFsxMDIyOjE0YjldIHR5cGUgMDEgY2xhc3MgMHgwNjA0MDAKWyAg
ICAwLjk0NzIzOV0gcGNpIDAwMDA6MDA6MDguMzogZW5hYmxpbmcgRXh0ZW5kZWQgVGFncwpbICAg
IDAuOTQ3MzM1XSBwY2kgMDAwMDowMDowOC4zOiBQTUUjIHN1cHBvcnRlZCBmcm9tIEQwIEQzaG90
IEQzY29sZApbICAgIDAuOTQ3NjYxXSBwY2kgMDAwMDowMDoxNC4wOiBbMTAyMjo3OTBiXSB0eXBl
IDAwIGNsYXNzIDB4MGMwNTAwClsgICAgMC45NDc4MjldIHBjaSAwMDAwOjAwOjE0LjM6IFsxMDIy
Ojc5MGVdIHR5cGUgMDAgY2xhc3MgMHgwNjAxMDAKWyAgICAwLjk0ODAwM10gcGNpIDAwMDA6MDA6
MTguMDogWzEwMjI6MTY3OV0gdHlwZSAwMCBjbGFzcyAweDA2MDAwMApbICAgIDAuOTQ4MDczXSBw
Y2kgMDAwMDowMDoxOC4xOiBbMTAyMjoxNjdhXSB0eXBlIDAwIGNsYXNzIDB4MDYwMDAwClsgICAg
MC45NDgxNDJdIHBjaSAwMDAwOjAwOjE4LjI6IFsxMDIyOjE2N2JdIHR5cGUgMDAgY2xhc3MgMHgw
NjAwMDAKWyAgICAwLjk0ODIxMl0gcGNpIDAwMDA6MDA6MTguMzogWzEwMjI6MTY3Y10gdHlwZSAw
MCBjbGFzcyAweDA2MDAwMApbICAgIDAuOTQ4MjgzXSBwY2kgMDAwMDowMDoxOC40OiBbMTAyMjox
NjdkXSB0eXBlIDAwIGNsYXNzIDB4MDYwMDAwClsgICAgMC45NDgzNTNdIHBjaSAwMDAwOjAwOjE4
LjU6IFsxMDIyOjE2N2VdIHR5cGUgMDAgY2xhc3MgMHgwNjAwMDAKWyAgICAwLjk0ODQyNF0gcGNp
IDAwMDA6MDA6MTguNjogWzEwMjI6MTY3Zl0gdHlwZSAwMCBjbGFzcyAweDA2MDAwMApbICAgIDAu
OTQ4NDkzXSBwY2kgMDAwMDowMDoxOC43OiBbMTAyMjoxNjgwXSB0eXBlIDAwIGNsYXNzIDB4MDYw
MDAwClsgICAgMC45NDg2NDJdIHBjaSAwMDAwOjAxOjAwLjA6IFsxMGRlOjI1ZTJdIHR5cGUgMDAg
Y2xhc3MgMHgwMzAwMDAKWyAgICAwLjk0ODY1OF0gcGNpIDAwMDA6MDE6MDAuMDogcmVnIDB4MTA6
IFttZW0gMHg4MDAwMDAwMC0weDgwZmZmZmZmXQpbICAgIDAuOTQ4NjcxXSBwY2kgMDAwMDowMTow
MC4wOiByZWcgMHgxNDogW21lbSAweDgyMDAwMDAwMDAtMHg4MmZmZmZmZmZmIDY0Yml0IHByZWZd
ClsgICAgMC45NDg2ODNdIHBjaSAwMDAwOjAxOjAwLjA6IHJlZyAweDFjOiBbbWVtIDB4ODMwMDAw
MDAwMC0weDgzMDFmZmZmZmYgNjRiaXQgcHJlZl0KWyAgICAwLjk0ODY5MV0gcGNpIDAwMDA6MDE6
MDAuMDogcmVnIDB4MjQ6IFtpbyAgMHgyMDAwLTB4MjA3Zl0KWyAgICAwLjk0ODY5OF0gcGNpIDAw
MDA6MDE6MDAuMDogcmVnIDB4MzA6IFttZW0gMHhmZmY4MDAwMC0weGZmZmZmZmZmIHByZWZdClsg
ICAgMC45NDg4MDRdIHBjaSAwMDAwOjAxOjAwLjA6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDAgRDNo
b3QKWyAgICAwLjk0ODk2Nl0gcGNpIDAwMDA6MDE6MDAuMDogMTI2LjAyNCBHYi9zIGF2YWlsYWJs
ZSBQQ0llIGJhbmR3aWR0aCwgbGltaXRlZCBieSAxNi4wIEdUL3MgUENJZSB4OCBsaW5rIGF0IDAw
MDA6MDA6MDEuMSAoY2FwYWJsZSBvZiAyNTIuMDQ4IEdiL3Mgd2l0aCAxNi4wIEdUL3MgUENJZSB4
MTYgbGluaykKWyAgICAwLjk0OTI0N10gcGNpIDAwMDA6MDA6MDEuMTogUENJIGJyaWRnZSB0byBb
YnVzIDAxXQpbICAgIDAuOTQ5MjUzXSBwY2kgMDAwMDowMDowMS4xOiAgIGJyaWRnZSB3aW5kb3cg
W2lvICAweDIwMDAtMHgyZmZmXQpbICAgIDAuOTQ5MjU3XSBwY2kgMDAwMDowMDowMS4xOiAgIGJy
aWRnZSB3aW5kb3cgW21lbSAweDgwMDAwMDAwLTB4ODBmZmZmZmZdClsgICAgMC45NDkyNjRdIHBj
aSAwMDAwOjAwOjAxLjE6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ODIwMDAwMDAwMC0weDgzMDFm
ZmZmZmYgNjRiaXQgcHJlZl0KWyAgICAwLjk0OTM0OF0gcGNpIDAwMDA6MDI6MDAuMDogWzE0YzM6
MDYxNl0gdHlwZSAwMCBjbGFzcyAweDAyODAwMApbICAgIDAuOTQ5Mzc5XSBwY2kgMDAwMDowMjow
MC4wOiByZWcgMHgxMDogW21lbSAweDgzMDIwMDAwMDAtMHg4MzAyMGZmZmZmIDY0Yml0IHByZWZd
ClsgICAgMC45NDkzOThdIHBjaSAwMDAwOjAyOjAwLjA6IHJlZyAweDE4OiBbbWVtIDB4ODE4MDAw
MDAtMHg4MTgwN2ZmZiA2NGJpdF0KWyAgICAwLjk0OTU0M10gcGNpIDAwMDA6MDI6MDAuMDogUE1F
IyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICAwLjk0OTc3MF0gcGNpIDAwMDA6
MDA6MDIuMzogUENJIGJyaWRnZSB0byBbYnVzIDAyXQpbICAgIDAuOTQ5NzgxXSBwY2kgMDAwMDow
MDowMi4zOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweDgxODAwMDAwLTB4ODE4ZmZmZmZdClsgICAg
MC45NDk3ODhdIHBjaSAwMDAwOjAwOjAyLjM6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ODMwMjAw
MDAwMC0weDgzMDIwZmZmZmYgNjRiaXQgcHJlZl0KWyAgICAwLjk0OTkyN10gcGNpIDAwMDA6MDM6
MDAuMDogWzEzNDQ6NTQwN10gdHlwZSAwMCBjbGFzcyAweDAxMDgwMgpbICAgIDAuOTQ5OTU0XSBw
Y2kgMDAwMDowMzowMC4wOiByZWcgMHgxMDogW21lbSAweDgxNzAwMDAwLTB4ODE3MDNmZmYgNjRi
aXRdClsgICAgMC45NTAzMDddIHBjaSAwMDAwOjAwOjAyLjQ6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
M10KWyAgICAwLjk1MDMxNl0gcGNpIDAwMDA6MDA6MDIuNDogICBicmlkZ2Ugd2luZG93IFttZW0g
MHg4MTcwMDAwMC0weDgxN2ZmZmZmXQpbICAgIDAuOTUwMzk1XSBwY2kgMDAwMDowNDowMC4wOiBb
MTAwMjoxNjgxXSB0eXBlIDAwIGNsYXNzIDB4MDMwMDAwClsgICAgMC45NTA0MThdIHBjaSAwMDAw
OjA0OjAwLjA6IHJlZyAweDEwOiBbbWVtIDB4ODMxMDAwMDAwMC0weDgzMWZmZmZmZmYgNjRiaXQg
cHJlZl0KWyAgICAwLjk1MDQzM10gcGNpIDAwMDA6MDQ6MDAuMDogcmVnIDB4MTg6IFttZW0gMHg4
MzIwMDAwMDAwLTB4ODMyMDFmZmZmZiA2NGJpdCBwcmVmXQpbICAgIDAuOTUwNDQ0XSBwY2kgMDAw
MDowNDowMC4wOiByZWcgMHgyMDogW2lvICAweDEwMDAtMHgxMGZmXQpbICAgIDAuOTUwNDU0XSBw
Y2kgMDAwMDowNDowMC4wOiByZWcgMHgyNDogW21lbSAweDgxNjAwMDAwLTB4ODE2N2ZmZmZdClsg
ICAgMC45NTA0NzJdIHBjaSAwMDAwOjA0OjAwLjA6IGVuYWJsaW5nIEV4dGVuZGVkIFRhZ3MKWyAg
ICAwLjk1MDUwMF0gcGNpIDAwMDA6MDQ6MDAuMDogQkFSIDA6IGFzc2lnbmVkIHRvIGVmaWZiClsg
ICAgMC45NTA1OTVdIHBjaSAwMDAwOjA0OjAwLjA6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDEgRDIg
RDNob3QgRDNjb2xkClsgICAgMC45NTA3NjVdIHBjaSAwMDAwOjA0OjAwLjE6IFsxMDAyOjE2NDBd
IHR5cGUgMDAgY2xhc3MgMHgwNDAzMDAKWyAgICAwLjk1MDc4MV0gcGNpIDAwMDA6MDQ6MDAuMTog
cmVnIDB4MTA6IFttZW0gMHg4MTZjODAwMC0weDgxNmNiZmZmXQpbICAgIDAuOTUwODI4XSBwY2kg
MDAwMDowNDowMC4xOiBlbmFibGluZyBFeHRlbmRlZCBUYWdzClsgICAgMC45NTA4OTddIHBjaSAw
MDAwOjA0OjAwLjE6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDEgRDIgRDNob3QgRDNjb2xkClsgICAg
MC45NTA5OTldIHBjaSAwMDAwOjA0OjAwLjI6IFsxMDIyOjE2NDldIHR5cGUgMDAgY2xhc3MgMHgx
MDgwMDAKWyAgICAwLjk1MTA4Ml0gcGNpIDAwMDA6MDQ6MDAuMjogcmVnIDB4MTg6IFttZW0gMHg4
MTUwMDAwMC0weDgxNWZmZmZmXQpbICAgIDAuOTUxMTAzXSBwY2kgMDAwMDowNDowMC4yOiByZWcg
MHgyNDogW21lbSAweDgxNmNjMDAwLTB4ODE2Y2RmZmZdClsgICAgMC45NTExMThdIHBjaSAwMDAw
OjA0OjAwLjI6IGVuYWJsaW5nIEV4dGVuZGVkIFRhZ3MKWyAgICAwLjk1MTI5NF0gcGNpIDAwMDA6
MDQ6MDAuMzogWzEwMjI6MTYxZF0gdHlwZSAwMCBjbGFzcyAweDBjMDMzMApbICAgIDAuOTUxMzE5
XSBwY2kgMDAwMDowNDowMC4zOiByZWcgMHgxMDogW21lbSAweDgxMzAwMDAwLTB4ODEzZmZmZmYg
NjRiaXRdClsgICAgMC45NTEzNzddIHBjaSAwMDAwOjA0OjAwLjM6IGVuYWJsaW5nIEV4dGVuZGVk
IFRhZ3MKWyAgICAwLjk1MTQ2MV0gcGNpIDAwMDA6MDQ6MDAuMzogUE1FIyBzdXBwb3J0ZWQgZnJv
bSBEMCBEM2hvdCBEM2NvbGQKWyAgICAwLjk1MTU4MF0gcGNpIDAwMDA6MDQ6MDAuNDogWzEwMjI6
MTYxZV0gdHlwZSAwMCBjbGFzcyAweDBjMDMzMApbICAgIDAuOTUxNjA0XSBwY2kgMDAwMDowNDow
MC40OiByZWcgMHgxMDogW21lbSAweDgxNDAwMDAwLTB4ODE0ZmZmZmYgNjRiaXRdClsgICAgMC45
NTE2NjFdIHBjaSAwMDAwOjA0OjAwLjQ6IGVuYWJsaW5nIEV4dGVuZGVkIFRhZ3MKWyAgICAwLjk1
MTc0Nl0gcGNpIDAwMDA6MDQ6MDAuNDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2Nv
bGQKWyAgICAwLjk1MTg2NV0gcGNpIDAwMDA6MDQ6MDAuNTogWzEwMjI6MTVlMl0gdHlwZSAwMCBj
bGFzcyAweDA0ODAwMApbICAgIDAuOTUxODgxXSBwY2kgMDAwMDowNDowMC41OiByZWcgMHgxMDog
W21lbSAweDgxNjgwMDAwLTB4ODE2YmZmZmZdClsgICAgMC45NTE5MzFdIHBjaSAwMDAwOjA0OjAw
LjU6IGVuYWJsaW5nIEV4dGVuZGVkIFRhZ3MKWyAgICAwLjk1MjAwM10gcGNpIDAwMDA6MDQ6MDAu
NTogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICAwLjk1MjEwNl0gcGNp
IDAwMDA6MDQ6MDAuNjogWzEwMjI6MTVlM10gdHlwZSAwMCBjbGFzcyAweDA0MDMwMApbICAgIDAu
OTUyMTIyXSBwY2kgMDAwMDowNDowMC42OiByZWcgMHgxMDogW21lbSAweDgxNmMwMDAwLTB4ODE2
YzdmZmZdClsgICAgMC45NTIxNzJdIHBjaSAwMDAwOjA0OjAwLjY6IGVuYWJsaW5nIEV4dGVuZGVk
IFRhZ3MKWyAgICAwLjk1MjI0NF0gcGNpIDAwMDA6MDQ6MDAuNjogUE1FIyBzdXBwb3J0ZWQgZnJv
bSBEMCBEM2hvdCBEM2NvbGQKWyAgICAwLjk1MjQzMF0gcGNpIDAwMDA6MDA6MDguMTogUENJIGJy
aWRnZSB0byBbYnVzIDA0XQpbICAgIDAuOTUyNDM2XSBwY2kgMDAwMDowMDowOC4xOiAgIGJyaWRn
ZSB3aW5kb3cgW2lvICAweDEwMDAtMHgxZmZmXQpbICAgIDAuOTUyNDQwXSBwY2kgMDAwMDowMDow
OC4xOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweDgxMzAwMDAwLTB4ODE2ZmZmZmZdClsgICAgMC45
NTI0NDVdIHBjaSAwMDAwOjAwOjA4LjE6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ODMxMDAwMDAw
MC0weDgzMjAxZmZmZmYgNjRiaXQgcHJlZl0KWyAgICAwLjk1MjUxNV0gcGNpIDAwMDA6MDU6MDAu
MDogWzEwMjI6MTYxZl0gdHlwZSAwMCBjbGFzcyAweDBjMDMzMApbICAgIDAuOTUyNTM5XSBwY2kg
MDAwMDowNTowMC4wOiByZWcgMHgxMDogW21lbSAweDgxMDAwMDAwLTB4ODEwZmZmZmYgNjRiaXRd
ClsgICAgMC45NTI1OTRdIHBjaSAwMDAwOjA1OjAwLjA6IGVuYWJsaW5nIEV4dGVuZGVkIFRhZ3MK
WyAgICAwLjk1MjY5NF0gcGNpIDAwMDA6MDU6MDAuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBE
M2hvdCBEM2NvbGQKWyAgICAwLjk1Mjg0NV0gcGNpIDAwMDA6MDU6MDAuMzogWzEwMjI6MTVkNl0g
dHlwZSAwMCBjbGFzcyAweDBjMDMzMApbICAgIDAuOTUyODY4XSBwY2kgMDAwMDowNTowMC4zOiBy
ZWcgMHgxMDogW21lbSAweDgxMTAwMDAwLTB4ODExZmZmZmYgNjRiaXRdClsgICAgMC45NTI5MjNd
IHBjaSAwMDAwOjA1OjAwLjM6IGVuYWJsaW5nIEV4dGVuZGVkIFRhZ3MKWyAgICAwLjk1MzAwNF0g
cGNpIDAwMDA6MDU6MDAuMzogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAg
ICAwLjk1MzExOV0gcGNpIDAwMDA6MDU6MDAuNDogWzEwMjI6MTVkN10gdHlwZSAwMCBjbGFzcyAw
eDBjMDMzMApbICAgIDAuOTUzMTQzXSBwY2kgMDAwMDowNTowMC40OiByZWcgMHgxMDogW21lbSAw
eDgxMjAwMDAwLTB4ODEyZmZmZmYgNjRiaXRdClsgICAgMC45NTMxOThdIHBjaSAwMDAwOjA1OjAw
LjQ6IGVuYWJsaW5nIEV4dGVuZGVkIFRhZ3MKWyAgICAwLjk1MzI3OV0gcGNpIDAwMDA6MDU6MDAu
NDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICAwLjk1MzQzMl0gcGNp
IDAwMDA6MDA6MDguMzogUENJIGJyaWRnZSB0byBbYnVzIDA1XQpbICAgIDAuOTUzNDQwXSBwY2kg
MDAwMDowMDowOC4zOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweDgxMDAwMDAwLTB4ODEyZmZmZmZd
ClsgICAgMC45NTc1OTRdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDggdHJpZ2dlcmluZyAxIHBvbGFy
aXR5IDAKWyAgICAwLjk1NzY1Ml0geGVuOiByZWdpc3RlcmluZyBnc2kgMTMgdHJpZ2dlcmluZyAx
IHBvbGFyaXR5IDAKWyAgICAwLjk1ODI4N10gQUNQSTogUENJOiBJbnRlcnJ1cHQgbGluayBMTktB
IGNvbmZpZ3VyZWQgZm9yIElSUSAwClsgICAgMC45NTgyODhdIEFDUEk6IFBDSTogSW50ZXJydXB0
IGxpbmsgTE5LQSBkaXNhYmxlZApbICAgIDAuOTU4NTU0XSBBQ1BJOiBQQ0k6IEludGVycnVwdCBs
aW5rIExOS0IgY29uZmlndXJlZCBmb3IgSVJRIDAKWyAgICAwLjk1ODU1NV0gQUNQSTogUENJOiBJ
bnRlcnJ1cHQgbGluayBMTktCIGRpc2FibGVkClsgICAgMC45NTg4MDFdIEFDUEk6IFBDSTogSW50
ZXJydXB0IGxpbmsgTE5LQyBjb25maWd1cmVkIGZvciBJUlEgMApbICAgIDAuOTU4ODAyXSBBQ1BJ
OiBQQ0k6IEludGVycnVwdCBsaW5rIExOS0MgZGlzYWJsZWQKWyAgICAwLjk1OTA2NV0gQUNQSTog
UENJOiBJbnRlcnJ1cHQgbGluayBMTktEIGNvbmZpZ3VyZWQgZm9yIElSUSAwClsgICAgMC45NTkw
NjZdIEFDUEk6IFBDSTogSW50ZXJydXB0IGxpbmsgTE5LRCBkaXNhYmxlZApbICAgIDAuOTU5MzIx
XSBBQ1BJOiBQQ0k6IEludGVycnVwdCBsaW5rIExOS0UgY29uZmlndXJlZCBmb3IgSVJRIDAKWyAg
ICAwLjk1OTMyMl0gQUNQSTogUENJOiBJbnRlcnJ1cHQgbGluayBMTktFIGRpc2FibGVkClsgICAg
MC45NTk1MjRdIEFDUEk6IFBDSTogSW50ZXJydXB0IGxpbmsgTE5LRiBjb25maWd1cmVkIGZvciBJ
UlEgMApbICAgIDAuOTU5NTI1XSBBQ1BJOiBQQ0k6IEludGVycnVwdCBsaW5rIExOS0YgZGlzYWJs
ZWQKWyAgICAwLjk1OTcyNV0gQUNQSTogUENJOiBJbnRlcnJ1cHQgbGluayBMTktHIGNvbmZpZ3Vy
ZWQgZm9yIElSUSAwClsgICAgMC45NTk3MjVdIEFDUEk6IFBDSTogSW50ZXJydXB0IGxpbmsgTE5L
RyBkaXNhYmxlZApbICAgIDAuOTU5OTI1XSBBQ1BJOiBQQ0k6IEludGVycnVwdCBsaW5rIExOS0gg
Y29uZmlndXJlZCBmb3IgSVJRIDAKWyAgICAwLjk1OTkyNV0gQUNQSTogUENJOiBJbnRlcnJ1cHQg
bGluayBMTktIIGRpc2FibGVkClsgICAgMC45NjAwMjRdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDcg
dHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgICAwLjk2MDExNF0geGVuOiByZWdpc3RlcmluZyBn
c2kgMTAgdHJpZ2dlcmluZyAxIHBvbGFyaXR5IDAKWyAgICAwLjk2MDI3Nl0geGVuOiByZWdpc3Rl
cmluZyBnc2kgMTEgdHJpZ2dlcmluZyAxIHBvbGFyaXR5IDAKWyAgICAwLjk2MDM2NF0geGVuOiBy
ZWdpc3RlcmluZyBnc2kgNCB0cmlnZ2VyaW5nIDEgcG9sYXJpdHkgMApbICAgIDAuOTYwNDY3XSB4
ZW46IHJlZ2lzdGVyaW5nIGdzaSA2IHRyaWdnZXJpbmcgMSBwb2xhcml0eSAwClsgICAgMC45NjE2
OTldIEFDUEk6IEVDOiBpbnRlcnJ1cHQgdW5ibG9ja2VkClsgICAgMC45NjE3MDBdIEFDUEk6IEVD
OiBldmVudCB1bmJsb2NrZWQKWyAgICAwLjk2MTcwN10gQUNQSTogRUM6IEVDX0NNRC9FQ19TQz0w
eDY2LCBFQ19EQVRBPTB4NjIKWyAgICAwLjk2MTcwOF0gQUNQSTogRUM6IEdQRT0weDkKWyAgICAw
Ljk2MTcwOV0gQUNQSTogXF9TQl8uUENJMC5MUEMwLkVDMF86IEJvb3QgRFNEVCBFQyBpbml0aWFs
aXphdGlvbiBjb21wbGV0ZQpbICAgIDAuOTYxNzExXSBBQ1BJOiBcX1NCXy5QQ0kwLkxQQzAuRUMw
XzogRUM6IFVzZWQgdG8gaGFuZGxlIHRyYW5zYWN0aW9ucyBhbmQgZXZlbnRzClsgICAgMC45NjE3
MzBdIHhlbjpiYWxsb29uOiBJbml0aWFsaXNpbmcgYmFsbG9vbiBkcml2ZXIKWyAgICAwLjk2MTgz
Ml0gaW9tbXU6IERlZmF1bHQgZG9tYWluIHR5cGU6IFRyYW5zbGF0ZWQgClsgICAgMC45NjE4MzNd
IGlvbW11OiBETUEgZG9tYWluIFRMQiBpbnZhbGlkYXRpb24gcG9saWN5OiBsYXp5IG1vZGUgClsg
ICAgMC45NjE4ODJdIFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkClsgICAgMC45NjE5MDldIGxp
YmF0YSB2ZXJzaW9uIDMuMDAgbG9hZGVkLgpbICAgIDAuOTYxOTIyXSBBQ1BJOiBidXMgdHlwZSBV
U0IgcmVnaXN0ZXJlZApbICAgIDAuOTYxOTI5XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRl
cmZhY2UgZHJpdmVyIHVzYmZzClsgICAgMC45NjE5MzRdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3
IGludGVyZmFjZSBkcml2ZXIgaHViClsgICAgMC45NjE5MzddIHVzYmNvcmU6IHJlZ2lzdGVyZWQg
bmV3IGRldmljZSBkcml2ZXIgdXNiClsgICAgMC45ODYyNThdIHBwc19jb3JlOiBMaW51eFBQUyBB
UEkgdmVyLiAxIHJlZ2lzdGVyZWQKWyAgICAwLjk4NjI1OV0gcHBzX2NvcmU6IFNvZnR3YXJlIHZl
ci4gNS4zLjYgLSBDb3B5cmlnaHQgMjAwNS0yMDA3IFJvZG9sZm8gR2lvbWV0dGkgPGdpb21ldHRp
QGxpbnV4Lml0PgpbICAgIDAuOTg2MjYyXSBQVFAgY2xvY2sgc3VwcG9ydCByZWdpc3RlcmVkClsg
ICAgMC45ODYzNzNdIEVEQUMgTUM6IFZlcjogMy4wLjAKWyAgICAwLjk4NjUyMV0gUmVnaXN0ZXJl
ZCBlZml2YXJzIG9wZXJhdGlvbnMKWyAgICAwLjk4NjYxM10gTmV0TGFiZWw6IEluaXRpYWxpemlu
ZwpbICAgIDAuOTg2NjEzXSBOZXRMYWJlbDogIGRvbWFpbiBoYXNoIHNpemUgPSAxMjgKWyAgICAw
Ljk4NjYxNF0gTmV0TGFiZWw6ICBwcm90b2NvbHMgPSBVTkxBQkVMRUQgQ0lQU092NCBDQUxJUFNP
ClsgICAgMC45ODY2MjRdIE5ldExhYmVsOiAgdW5sYWJlbGVkIHRyYWZmaWMgYWxsb3dlZCBieSBk
ZWZhdWx0ClsgICAgMC45ODY2MjddIG1jdHA6IG1hbmFnZW1lbnQgY29tcG9uZW50IHRyYW5zcG9y
dCBwcm90b2NvbCBjb3JlClsgICAgMC45ODY2MjddIE5FVDogUmVnaXN0ZXJlZCBQRl9NQ1RQIHBy
b3RvY29sIGZhbWlseQpbICAgIDAuOTg2NjMwXSBQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0
aW5nClsgICAgMC45ODY2MzBdIFBDSTogcGNpX2NhY2hlX2xpbmVfc2l6ZSBzZXQgdG8gNjQgYnl0
ZXMKWyAgICAwLjk4Njc0MV0gZTgyMDogcmVzZXJ2ZSBSQU0gYnVmZmVyIFttZW0gMHgwMDA5ZjAw
MC0weDAwMDlmZmZmXQpbICAgIDAuOTg2NzQzXSBlODIwOiByZXNlcnZlIFJBTSBidWZmZXIgW21l
bSAweDA5YjAwMDAwLTB4MGJmZmZmZmZdClsgICAgMC45ODY3NDRdIGU4MjA6IHJlc2VydmUgUkFN
IGJ1ZmZlciBbbWVtIDB4MDlmMDAwMDAtMHgwYmZmZmZmZl0KWyAgICAwLjk4Njc0NF0gZTgyMDog
cmVzZXJ2ZSBSQU0gYnVmZmVyIFttZW0gMHg1ZmJmZjAwMC0weDVmZmZmZmZmXQpbICAgIDAuOTg2
NzQ1XSBlODIwOiByZXNlcnZlIFJBTSBidWZmZXIgW21lbSAweDYyMzY0MDAwLTB4NjNmZmZmZmZd
ClsgICAgMC45ODY3NDZdIGU4MjA6IHJlc2VydmUgUkFNIGJ1ZmZlciBbbWVtIDB4NjQ1NmQwMDAt
MHg2N2ZmZmZmZl0KWyAgICAwLjk4Njc0Nl0gZTgyMDogcmVzZXJ2ZSBSQU0gYnVmZmVyIFttZW0g
MHg3MDc3ZjAwMC0weDczZmZmZmZmXQpbICAgIDAuOTg2NzQ3XSBlODIwOiByZXNlcnZlIFJBTSBi
dWZmZXIgW21lbSAweDdiMDAwMDAwLTB4N2JmZmZmZmZdClsgICAgMC45ODY3NDddIGU4MjA6IHJl
c2VydmUgUkFNIGJ1ZmZlciBbbWVtIDB4MTkxZTBkMDAwLTB4MTkzZmZmZmZmXQpbICAgIDAuOTg2
NzgwXSBwY2kgMDAwMDowMTowMC4wOiB2Z2FhcmI6IHNldHRpbmcgYXMgYm9vdCBWR0EgZGV2aWNl
ClsgICAgMC45ODY3ODJdIHBjaSAwMDAwOjAxOjAwLjA6IHZnYWFyYjogYnJpZGdlIGNvbnRyb2wg
cG9zc2libGUKWyAgICAwLjk4Njc4Ml0gcGNpIDAwMDA6MDE6MDAuMDogdmdhYXJiOiBWR0EgZGV2
aWNlIGFkZGVkOiBkZWNvZGVzPWlvK21lbSxvd25zPW5vbmUsbG9ja3M9bm9uZQpbICAgIDAuOTg2
NzkxXSBwY2kgMDAwMDowNDowMC4wOiB2Z2FhcmI6IHNldHRpbmcgYXMgYm9vdCBWR0EgZGV2aWNl
IChvdmVycmlkaW5nIHByZXZpb3VzKQpbICAgIDAuOTg2NzkyXSBwY2kgMDAwMDowNDowMC4wOiB2
Z2FhcmI6IGJyaWRnZSBjb250cm9sIHBvc3NpYmxlClsgICAgMC45ODY3OTJdIHBjaSAwMDAwOjA0
OjAwLjA6IHZnYWFyYjogVkdBIGRldmljZSBhZGRlZDogZGVjb2Rlcz1pbyttZW0sb3ducz1ub25l
LGxvY2tzPW5vbmUKWyAgICAwLjk4Njc5M10gdmdhYXJiOiBsb2FkZWQKWyAgICAwLjk4Njg3NF0g
Y2xvY2tzb3VyY2U6IFN3aXRjaGVkIHRvIGNsb2Nrc291cmNlIHRzYy1lYXJseQpbICAgIDAuOTkz
OTU1XSBWRlM6IERpc2sgcXVvdGFzIGRxdW90XzYuNi4wClsgICAgMC45OTM5NjNdIFZGUzogRHF1
b3QtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA1MTIgKG9yZGVyIDAsIDQwOTYgYnl0ZXMpClsg
ICAgMC45OTM5NzddIGh1Z2V0bGJmczogZGlzYWJsaW5nIGJlY2F1c2UgdGhlcmUgYXJlIG5vIHN1
cHBvcnRlZCBodWdlcGFnZSBzaXplcwpbICAgIDAuOTk0MDA4XSBwbnA6IFBuUCBBQ1BJIGluaXQK
WyAgICAwLjk5NDIzNV0gc3lzdGVtIDAwOjAwOiBbbWVtIDB4ZmVjMDAwMDAtMHhmZWMwMWZmZl0g
Y291bGQgbm90IGJlIHJlc2VydmVkClsgICAgMC45OTQyMzddIHN5c3RlbSAwMDowMDogW21lbSAw
eGZlZTAwMDAwLTB4ZmVlMDBmZmZdIGhhcyBiZWVuIHJlc2VydmVkClsgICAgMC45OTQyMzldIHN5
c3RlbSAwMDowMDogW21lbSAweGEwMjAwMDAwLTB4YTAyZmZmZmZdIGhhcyBiZWVuIHJlc2VydmVk
ClsgICAgMC45OTYyMjhdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDEgdHJpZ2dlcmluZyAxIHBvbGFy
aXR5IDEKWyAgICAwLjk5NjI3N10gc3lzdGVtIDAwOjAzOiBbaW8gIDB4MDQwMC0weDA0Y2ZdIGNv
dWxkIG5vdCBiZSByZXNlcnZlZApbICAgIDAuOTk2Mjc4XSBzeXN0ZW0gMDA6MDM6IFtpbyAgMHgw
NGQwLTB4MDRkMV0gaGFzIGJlZW4gcmVzZXJ2ZWQKWyAgICAwLjk5NjI3OV0gc3lzdGVtIDAwOjAz
OiBbaW8gIDB4MDRkNl0gaGFzIGJlZW4gcmVzZXJ2ZWQKWyAgICAwLjk5NjI4MF0gc3lzdGVtIDAw
OjAzOiBbaW8gIDB4MGMwMC0weDBjMDFdIGhhcyBiZWVuIHJlc2VydmVkClsgICAgMC45OTYyODBd
IHN5c3RlbSAwMDowMzogW2lvICAweDBjMTRdIGhhcyBiZWVuIHJlc2VydmVkClsgICAgMC45OTYy
ODFdIHN5c3RlbSAwMDowMzogW2lvICAweDBjNTAtMHgwYzUyXSBoYXMgYmVlbiByZXNlcnZlZApb
ICAgIDAuOTk2MjgyXSBzeXN0ZW0gMDA6MDM6IFtpbyAgMHgwYzZjXSBoYXMgYmVlbiByZXNlcnZl
ZApbICAgIDAuOTk2MjgzXSBzeXN0ZW0gMDA6MDM6IFtpbyAgMHgwYzZmXSBoYXMgYmVlbiByZXNl
cnZlZApbICAgIDAuOTk2MjgzXSBzeXN0ZW0gMDA6MDM6IFtpbyAgMHgwY2QwLTB4MGNkYl0gaGFz
IGJlZW4gcmVzZXJ2ZWQKWyAgICAwLjk5NjM0NF0gc3lzdGVtIDAwOjA0OiBbbWVtIDB4MDAwZTAw
MDAtMHgwMDBmZmZmZl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAgMC45OTYzNDVdIHN5c3Rl
bSAwMDowNDogW21lbSAweGZlMDAwMDAwLTB4ZmZmZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZl
ZApbICAgIDAuOTk3NDc1XSBwbnA6IFBuUCBBQ1BJOiBmb3VuZCA1IGRldmljZXMKWyAgICAxLjAw
NjU4OV0gUE0tVGltZXIgZmFpbGVkIGNvbnNpc3RlbmN5IGNoZWNrICAoMHhmZmZmZmYpIC0gYWJv
cnRpbmcuClsgICAgMS4wMDY2MjVdIE5FVDogUmVnaXN0ZXJlZCBQRl9JTkVUIHByb3RvY29sIGZh
bWlseQpbICAgIDEuMDA2NjQyXSBJUCBpZGVudHMgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAo
b3JkZXI6IDcsIDUyNDI4OCBieXRlcywgbGluZWFyKQpbICAgIDEuMDA2ODY0XSB0Y3BfbGlzdGVu
X3BvcnRhZGRyX2hhc2ggaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDQ4IChvcmRlcjogMywgMzI3Njgg
Ynl0ZXMsIGxpbmVhcikKWyAgICAxLjAwNjg3Ml0gVGFibGUtcGVydHVyYiBoYXNoIHRhYmxlIGVu
dHJpZXM6IDY1NTM2IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMS4wMDY4
NzVdIFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJpZXM6IDMyNzY4IChvcmRlcjogNiwg
MjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMS4wMDY5MTJdIFRDUCBiaW5kIGhhc2ggdGFibGUg
ZW50cmllczogMzI3NjggKG9yZGVyOiA3LCA1MjQyODggYnl0ZXMsIGxpbmVhcikKWyAgICAxLjAw
Njk4N10gVENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChlc3RhYmxpc2hlZCAzMjc2OCBiaW5k
IDMyNzY4KQpbICAgIDEuMDA3MDE5XSBNUFRDUCB0b2tlbiBoYXNoIHRhYmxlIGVudHJpZXM6IDQw
OTYgKG9yZGVyOiA0LCA5ODMwNCBieXRlcywgbGluZWFyKQpbICAgIDEuMDA3MDQwXSBVRFAgaGFz
aCB0YWJsZSBlbnRyaWVzOiAyMDQ4IChvcmRlcjogNCwgNjU1MzYgYnl0ZXMsIGxpbmVhcikKWyAg
ICAxLjAwNzA1MV0gVURQLUxpdGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDQ4IChvcmRlcjogNCwg
NjU1MzYgYnl0ZXMsIGxpbmVhcikKWyAgICAxLjAwNzA4M10gTkVUOiBSZWdpc3RlcmVkIFBGX1VO
SVgvUEZfTE9DQUwgcHJvdG9jb2wgZmFtaWx5ClsgICAgMS4wMDcwODhdIE5FVDogUmVnaXN0ZXJl
ZCBQRl9YRFAgcHJvdG9jb2wgZmFtaWx5ClsgICAgMS4wMDcwOTBdIHBjaSAwMDAwOjAxOjAwLjA6
IGNhbid0IGNsYWltIEJBUiA2IFttZW0gMHhmZmY4MDAwMC0weGZmZmZmZmZmIHByZWZdOiBubyBj
b21wYXRpYmxlIGJyaWRnZSB3aW5kb3cKWyAgICAxLjAwNzEwMF0gcGNpIDAwMDA6MDE6MDAuMDog
QkFSIDY6IG5vIHNwYWNlIGZvciBbbWVtIHNpemUgMHgwMDA4MDAwMCBwcmVmXQpbICAgIDEuMDA3
MTAyXSBwY2kgMDAwMDowMTowMC4wOiBCQVIgNjogZmFpbGVkIHRvIGFzc2lnbiBbbWVtIHNpemUg
MHgwMDA4MDAwMCBwcmVmXQpbICAgIDEuMDA3MTAzXSBwY2kgMDAwMDowMDowMS4xOiBQQ0kgYnJp
ZGdlIHRvIFtidXMgMDFdClsgICAgMS4wMDcxMTJdIHBjaSAwMDAwOjAwOjAxLjE6ICAgYnJpZGdl
IHdpbmRvdyBbaW8gIDB4MjAwMC0weDJmZmZdClsgICAgMS4wMDcxMThdIHBjaSAwMDAwOjAwOjAx
LjE6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ODAwMDAwMDAtMHg4MGZmZmZmZl0KWyAgICAxLjAw
NzEyMl0gcGNpIDAwMDA6MDA6MDEuMTogICBicmlkZ2Ugd2luZG93IFttZW0gMHg4MjAwMDAwMDAw
LTB4ODMwMWZmZmZmZiA2NGJpdCBwcmVmXQpbICAgIDEuMDA3MTI5XSBwY2kgMDAwMDowMDowMi4z
OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDJdClsgICAgMS4wMDcxMzVdIHBjaSAwMDAwOjAwOjAyLjM6
ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ODE4MDAwMDAtMHg4MThmZmZmZl0KWyAgICAxLjAwNzE0
MF0gcGNpIDAwMDA6MDA6MDIuMzogICBicmlkZ2Ugd2luZG93IFttZW0gMHg4MzAyMDAwMDAwLTB4
ODMwMjBmZmZmZiA2NGJpdCBwcmVmXQpbICAgIDEuMDA3MTQ3XSBwY2kgMDAwMDowMDowMi40OiBQ
Q0kgYnJpZGdlIHRvIFtidXMgMDNdClsgICAgMS4wMDcxNTNdIHBjaSAwMDAwOjAwOjAyLjQ6ICAg
YnJpZGdlIHdpbmRvdyBbbWVtIDB4ODE3MDAwMDAtMHg4MTdmZmZmZl0KWyAgICAxLjAwNzE2NF0g
cGNpIDAwMDA6MDA6MDguMTogUENJIGJyaWRnZSB0byBbYnVzIDA0XQpbICAgIDEuMDA3MTY2XSBw
Y2kgMDAwMDowMDowOC4xOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweDEwMDAtMHgxZmZmXQpbICAg
IDEuMDA3MTc0XSBwY2kgMDAwMDowMDowOC4xOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweDgxMzAw
MDAwLTB4ODE2ZmZmZmZdClsgICAgMS4wMDcxNzddIHBjaSAwMDAwOjAwOjA4LjE6ICAgYnJpZGdl
IHdpbmRvdyBbbWVtIDB4ODMxMDAwMDAwMC0weDgzMjAxZmZmZmYgNjRiaXQgcHJlZl0KWyAgICAx
LjAwNzE4NF0gcGNpIDAwMDA6MDA6MDguMzogUENJIGJyaWRnZSB0byBbYnVzIDA1XQpbICAgIDEu
MDA3MTg5XSBwY2kgMDAwMDowMDowOC4zOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweDgxMDAwMDAw
LTB4ODEyZmZmZmZdClsgICAgMS4wMDcxOTldIHBjaV9idXMgMDAwMDowMDogcmVzb3VyY2UgNCBb
aW8gIDB4MDAwMC0weDBjZjcgd2luZG93XQpbICAgIDEuMDA3MjAwXSBwY2lfYnVzIDAwMDA6MDA6
IHJlc291cmNlIDUgW2lvICAweDBkMDAtMHhmZmZmIHdpbmRvd10KWyAgICAxLjAwNzIwMV0gcGNp
X2J1cyAwMDAwOjAwOiByZXNvdXJjZSA2IFttZW0gMHgwMDBhMDAwMC0weDAwMGJmZmZmIHdpbmRv
d10KWyAgICAxLjAwNzIwMV0gcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSA3IFttZW0gMHgwMDBj
MDAwMC0weDAwMGNmZmZmIHdpbmRvd10KWyAgICAxLjAwNzIwMl0gcGNpX2J1cyAwMDAwOjAwOiBy
ZXNvdXJjZSA4IFttZW0gMHgwMDBkMDAwMC0weDAwMGVmZmZmIHdpbmRvd10KWyAgICAxLjAwNzIw
M10gcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSA5IFttZW0gMHg4MDAwMDAwMC0weGRmZmZmZmZm
IHdpbmRvd10KWyAgICAxLjAwNzIwM10gcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSAxMCBbbWVt
IDB4ZjAwMDAwMDAtMHhmZWFmZmZmZiB3aW5kb3ddClsgICAgMS4wMDcyMDRdIHBjaV9idXMgMDAw
MDowMDogcmVzb3VyY2UgMTEgW21lbSAweGZlZDQ1MDAwLTB4ZmVkODE0ZmYgd2luZG93XQpbICAg
IDEuMDA3MjA1XSBwY2lfYnVzIDAwMDA6MDA6IHJlc291cmNlIDEyIFttZW0gMHhmZWQ4MTkwMC0w
eGZlZDgxZmZmIHdpbmRvd10KWyAgICAxLjAwNzIwNl0gcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJj
ZSAxMyBbbWVtIDB4ZmVkYzAwMDAtMHhmZWRjMGZmZiB3aW5kb3ddClsgICAgMS4wMDcyMDZdIHBj
aV9idXMgMDAwMDowMDogcmVzb3VyY2UgMTQgW21lbSAweGZlZGM2MDAwLTB4ZmVkYzZmZmYgd2lu
ZG93XQpbICAgIDEuMDA3MjA3XSBwY2lfYnVzIDAwMDA6MDA6IHJlc291cmNlIDE1IFttZW0gMHg4
YTAyMDAwMDAtMHg4MzNmZmZmZmZmIHdpbmRvd10KWyAgICAxLjAwNzIwOF0gcGNpX2J1cyAwMDAw
OjAxOiByZXNvdXJjZSAwIFtpbyAgMHgyMDAwLTB4MmZmZl0KWyAgICAxLjAwNzIwOF0gcGNpX2J1
cyAwMDAwOjAxOiByZXNvdXJjZSAxIFttZW0gMHg4MDAwMDAwMC0weDgwZmZmZmZmXQpbICAgIDEu
MDA3MjA5XSBwY2lfYnVzIDAwMDA6MDE6IHJlc291cmNlIDIgW21lbSAweDgyMDAwMDAwMDAtMHg4
MzAxZmZmZmZmIDY0Yml0IHByZWZdClsgICAgMS4wMDcyMTBdIHBjaV9idXMgMDAwMDowMjogcmVz
b3VyY2UgMSBbbWVtIDB4ODE4MDAwMDAtMHg4MThmZmZmZl0KWyAgICAxLjAwNzIxMV0gcGNpX2J1
cyAwMDAwOjAyOiByZXNvdXJjZSAyIFttZW0gMHg4MzAyMDAwMDAwLTB4ODMwMjBmZmZmZiA2NGJp
dCBwcmVmXQpbICAgIDEuMDA3MjEyXSBwY2lfYnVzIDAwMDA6MDM6IHJlc291cmNlIDEgW21lbSAw
eDgxNzAwMDAwLTB4ODE3ZmZmZmZdClsgICAgMS4wMDcyMTNdIHBjaV9idXMgMDAwMDowNDogcmVz
b3VyY2UgMCBbaW8gIDB4MTAwMC0weDFmZmZdClsgICAgMS4wMDcyMTNdIHBjaV9idXMgMDAwMDow
NDogcmVzb3VyY2UgMSBbbWVtIDB4ODEzMDAwMDAtMHg4MTZmZmZmZl0KWyAgICAxLjAwNzIxNF0g
cGNpX2J1cyAwMDAwOjA0OiByZXNvdXJjZSAyIFttZW0gMHg4MzEwMDAwMDAwLTB4ODMyMDFmZmZm
ZiA2NGJpdCBwcmVmXQpbICAgIDEuMDA3MjE1XSBwY2lfYnVzIDAwMDA6MDU6IHJlc291cmNlIDEg
W21lbSAweDgxMDAwMDAwLTB4ODEyZmZmZmZdClsgICAgMS4wMDczMzJdIHBjaSAwMDAwOjA0OjAw
LjE6IEQwIHBvd2VyIHN0YXRlIGRlcGVuZHMgb24gMDAwMDowNDowMC4wClsgICAgMS4wMDczOThd
IHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDMyIHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICAgMS4w
MDc0MDhdIHhlbjogLS0+IHBpcnE9MzIgLT4gaXJxPTMyIChnc2k9MzIpClsgICAgMS4wMDc0NzFd
IHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDMzIHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICAgMS4w
MDc0NzVdIHhlbjogLS0+IHBpcnE9MzMgLT4gaXJxPTMzIChnc2k9MzMpClsgICAgMS4wMDc3ODNd
IHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDM0IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICAgMS4w
MDc3OTBdIHhlbjogLS0+IHBpcnE9MzQgLT4gaXJxPTM0IChnc2k9MzQpClsgICAgMS4wMDgxMTNd
IHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDMyIHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICAgMS4w
MDgxMTRdIEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MzIKWyAgICAxLjAwODE1Nl0geGVuOiByZWdp
c3RlcmluZyBnc2kgMjYgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgICAxLjAwODE2Ml0geGVu
OiAtLT4gcGlycT0yNiAtPiBpcnE9MjYgKGdzaT0yNikKWyAgICAxLjAwODQ1NF0geGVuOiByZWdp
c3RlcmluZyBnc2kgMjQgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgICAxLjAwODQ2MF0geGVu
OiAtLT4gcGlycT0yNCAtPiBpcnE9MjQgKGdzaT0yNCkKWyAgICAxLjAwODc0N10geGVuOiByZWdp
c3RlcmluZyBnc2kgMjUgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgICAxLjAwODc1Ml0geGVu
OiAtLT4gcGlycT0yNSAtPiBpcnE9MjUgKGdzaT0yNSkKWyAgICAxLjAwODk5OV0gUENJOiBDTFMg
NjQgYnl0ZXMsIGRlZmF1bHQgNjQKWyAgICAxLjAwOTAzN10gY2xvY2tzb3VyY2U6IHRzYzogbWFz
azogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4MmUwYTMzNGNjYzYsIG1heF9pZGxl
X25zOiA0NDA3OTUzMTQyNTQgbnMKWyAgICAxLjAwOTM5NV0gVHJ5aW5nIHRvIHVucGFjayByb290
ZnMgaW1hZ2UgYXMgaW5pdHJhbWZzLi4uClsgICAgMS4wNTY3OTNdIGNsb2Nrc291cmNlOiBTd2l0
Y2hlZCB0byBjbG9ja3NvdXJjZSB0c2MKWyAgICAxLjA1NzczOF0gSW5pdGlhbGlzZSBzeXN0ZW0g
dHJ1c3RlZCBrZXlyaW5ncwpbICAgIDEuMDU3NzQ3XSBLZXkgdHlwZSBibGFja2xpc3QgcmVnaXN0
ZXJlZApbICAgIDEuMDU5ODA2XSB3b3JraW5nc2V0OiB0aW1lc3RhbXBfYml0cz0zNiBtYXhfb3Jk
ZXI9MjAgYnVja2V0X29yZGVyPTAKWyAgICAxLjA2MDU3OF0gemJ1ZDogbG9hZGVkClsgICAgMS4w
NjA4ODBdIGludGVncml0eTogUGxhdGZvcm0gS2V5cmluZyBpbml0aWFsaXplZApbICAgIDEuMDYw
ODgyXSBpbnRlZ3JpdHk6IE1hY2hpbmUga2V5cmluZyBpbml0aWFsaXplZApbICAgIDEuMDYzNDAy
XSBORVQ6IFJlZ2lzdGVyZWQgUEZfQUxHIHByb3RvY29sIGZhbWlseQpbICAgIDEuMDYzNDA0XSB4
b3I6IGF1dG9tYXRpY2FsbHkgdXNpbmcgYmVzdCBjaGVja3N1bW1pbmcgZnVuY3Rpb24gICBhdngg
ICAgICAgClsgICAgMS4wNjM0MDVdIEtleSB0eXBlIGFzeW1tZXRyaWMgcmVnaXN0ZXJlZApbICAg
IDEuMDYzNDA2XSBBc3ltbWV0cmljIGtleSBwYXJzZXIgJ3g1MDknIHJlZ2lzdGVyZWQKWyAgICAx
LjQ0MDk2OV0gRnJlZWluZyBpbml0cmQgbWVtb3J5OiA0OTYwMEsKWyAgICAxLjQ0NDUwMF0gYWxn
OiBzZWxmLXRlc3RzIGZvciBDVFItS0RGIChobWFjKHNoYTI1NikpIHBhc3NlZApbICAgIDEuNDQ0
NTI3XSBCbG9jayBsYXllciBTQ1NJIGdlbmVyaWMgKGJzZykgZHJpdmVyIHZlcnNpb24gMC40IGxv
YWRlZCAobWFqb3IgMjQ0KQpbICAgIDEuNDQ0NTU1XSBpbyBzY2hlZHVsZXIgbXEtZGVhZGxpbmUg
cmVnaXN0ZXJlZApbICAgIDEuNDQ0NTU2XSBpbyBzY2hlZHVsZXIga3liZXIgcmVnaXN0ZXJlZApb
ICAgIDEuNDQ0NTgzXSBpbyBzY2hlZHVsZXIgYmZxIHJlZ2lzdGVyZWQKWyAgICAxLjQ0NTYzNl0g
YXRvbWljNjRfdGVzdDogcGFzc2VkIGZvciB4ODYtNjQgcGxhdGZvcm0gd2l0aCBDWDggYW5kIHdp
dGggU1NFClsgICAgMS40NDcyNDNdIHBjaWVwb3J0IDAwMDA6MDA6MDEuMTogUE1FOiBTaWduYWxp
bmcgd2l0aCBJUlEgNzAKWyAgICAxLjQ0NzQ1Nl0gcGNpZXBvcnQgMDAwMDowMDowMi4zOiBQTUU6
IFNpZ25hbGluZyB3aXRoIElSUSA3MQpbICAgIDEuNDQ3NjgwXSBwY2llcG9ydCAwMDAwOjAwOjAy
LjQ6IFBNRTogU2lnbmFsaW5nIHdpdGggSVJRIDcyClsgICAgMS40NDc5MDhdIHBjaWVwb3J0IDAw
MDA6MDA6MDguMTogUE1FOiBTaWduYWxpbmcgd2l0aCBJUlEgNzMKWyAgICAxLjQ0ODA3N10gcGNp
ZXBvcnQgMDAwMDowMDowOC4zOiBQTUU6IFNpZ25hbGluZyB3aXRoIElSUSA3NApbICAgIDEuNDQ5
MzM0XSBBQ1BJOiBBQzogQUMgQWRhcHRlciBbQURQMF0gKG9uLWxpbmUpClsgICAgMS40NDkzNzld
IGlucHV0OiBMaWQgU3dpdGNoIGFzIC9kZXZpY2VzL0xOWFNZU1RNOjAwL0xOWFNZQlVTOjAwL1BO
UDBDMEQ6MDAvaW5wdXQvaW5wdXQwClsgICAgMS40NDkzODldIEFDUEk6IGJ1dHRvbjogTGlkIFN3
aXRjaCBbTElEMF0KWyAgICAxLjQ0OTQwNF0gaW5wdXQ6IFBvd2VyIEJ1dHRvbiBhcyAvZGV2aWNl
cy9MTlhTWVNUTTowMC9MTlhTWUJVUzowMC9QTlAwQzBDOjAwL2lucHV0L2lucHV0MQpbICAgIDEu
NDQ5NDE0XSBBQ1BJOiBidXR0b246IFBvd2VyIEJ1dHRvbiBbUFdSQl0KWyAgICAxLjQ0OTQ2NF0g
W0Zpcm13YXJlIEJ1Z106IEFDUEkgTVdBSVQgQy1zdGF0ZSAweDAgbm90IHN1cHBvcnRlZCBieSBI
VyAoMHgwKQpbICAgIDEuNDQ5NDc0XSBBQ1BJOiBcX1NCXy5QTFRGLkMwMDA6IEZvdW5kIDMgaWRs
ZSBzdGF0ZXMKWyAgICAxLjQ0OTc5N10gdGhlcm1hbCBMTlhUSEVSTTowMDogcmVnaXN0ZXJlZCBh
cyB0aGVybWFsX3pvbmUwClsgICAgMS40NDk3OTldIEFDUEk6IHRoZXJtYWw6IFRoZXJtYWwgWm9u
ZSBbVFowMV0gKDY3IEMpClsgICAgMS40NTA3NTFdIFNlcmlhbDogODI1MC8xNjU1MCBkcml2ZXIs
IDMyIHBvcnRzLCBJUlEgc2hhcmluZyBlbmFibGVkClsgICAgMS40NTE2NTZdIGhwZXRfYWNwaV9h
ZGQ6IG5vIGFkZHJlc3Mgb3IgaXJxcyBpbiBfQ1JTClsgICAgMS40NTE2ODBdIE5vbi12b2xhdGls
ZSBtZW1vcnkgZHJpdmVyIHYxLjMKWyAgICAxLjQ1MTY4NV0gTGludXggYWdwZ2FydCBpbnRlcmZh
Y2UgdjAuMTAzClsgICAgMS40NzA4NjBdIEFDUEk6IGJ1cyB0eXBlIGRybV9jb25uZWN0b3IgcmVn
aXN0ZXJlZApbICAgIDEuNDcyMTAzXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2Ug
ZHJpdmVyIHVzYnNlcmlhbF9nZW5lcmljClsgICAgMS40NzIxMDddIHVzYnNlcmlhbDogVVNCIFNl
cmlhbCBzdXBwb3J0IHJlZ2lzdGVyZWQgZm9yIGdlbmVyaWMKWyAgICAxLjQ3MjEyNV0gaTgwNDI6
IFBOUDogUFMvMiBDb250cm9sbGVyIFtQTlAwMzAzOktCQzBdIGF0IDB4NjAsMHg2NCBpcnEgMQpb
ICAgIDEuNDcyMTI3XSBpODA0MjogUE5QOiBQUy8yIGFwcGVhcnMgdG8gaGF2ZSBBVVggcG9ydCBk
aXNhYmxlZCwgaWYgdGhpcyBpcyBpbmNvcnJlY3QgcGxlYXNlIGJvb3Qgd2l0aCBpODA0Mi5ub3Bu
cApbICAgIDEuNDczMzM1XSBzZXJpbzogaTgwNDIgS0JEIHBvcnQgYXQgMHg2MCwweDY0IGlycSAx
ClsgICAgMS40NzMzODldIG1vdXNlZGV2OiBQUy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9yIGFs
bCBtaWNlClsgICAgMS40NzM0OTZdIHJ0Y19jbW9zIDAwOjAxOiBSVEMgY2FuIHdha2UgZnJvbSBT
NApbICAgIDEuNDczNTc3XSBydGNfY21vcyAwMDowMTogcmVnaXN0ZXJlZCBhcyBydGMwClsgICAg
MS40NzM2MTBdIHJ0Y19jbW9zIDAwOjAxOiBzZXR0aW5nIHN5c3RlbSBjbG9jayB0byAyMDIyLTA4
LTE1VDA0OjM1OjAwIFVUQyAoMTY2MDUzODEwMCkKWyAgICAxLjQ3MzYyM10gcnRjX2Ntb3MgMDA6
MDE6IG5vIGFsYXJtcywgMTE0IGJ5dGVzIG52cmFtClsgICAgMS40NzM2MzVdIGRldmljZS1tYXBw
ZXI6IGNvcmU6IENPTkZJR19JTUFfRElTQUJMRV9IVEFCTEUgaXMgZGlzYWJsZWQuIER1cGxpY2F0
ZSBJTUEgbWVhc3VyZW1lbnRzIHdpbGwgbm90IGJlIHJlY29yZGVkIGluIHRoZSBJTUEgbG9nLgpb
ICAgIDEuNDczNjQ1XSBkZXZpY2UtbWFwcGVyOiB1ZXZlbnQ6IHZlcnNpb24gMS4wLjMKWyAgICAx
LjQ3MzY5M10gZGV2aWNlLW1hcHBlcjogaW9jdGw6IDQuNDYuMC1pb2N0bCAoMjAyMi0wMi0yMikg
aW5pdGlhbGlzZWQ6IGRtLWRldmVsQHJlZGhhdC5jb20KWyAgICAxLjQ3Mzc0OV0gYW1kX3BzdGF0
ZTogVGhpcyBwcm9jZXNzb3Igc3VwcG9ydHMgc2hhcmVkIG1lbW9yeSBzb2x1dGlvbiwgeW91IGNh
biBlbmFibGUgaXQgd2l0aCBhbWRfcHN0YXRlLnNoYXJlZF9tZW09MQpbICAgIDEuNDc0MTI1XSBz
eXNmYjogVlJBTSBzbWFsbGVyIHRoYW4gYWR2ZXJ0aXNlZApbICAgIDEuNDc0MTM5XSBlZmlmYjog
cHJvYmluZyBmb3IgZWZpZmIKWyAgICAxLjQ3NTIwOV0gZWZpZmI6IE5vIEJHUlQsIG5vdCBzaG93
aW5nIGJvb3QgZ3JhcGhpY3MKWyAgICAxLjQ3NTIxMF0gZWZpZmI6IGZyYW1lYnVmZmVyIGF0IDB4
ODMxMDAwMDAwMCwgdXNpbmcgMjMwNDBrLCB0b3RhbCAyMzA0MGsKWyAgICAxLjQ3NTIxMV0gZWZp
ZmI6IG1vZGUgaXMgMzA3MngxOTIweDMyLCBsaW5lbGVuZ3RoPTEyMjg4LCBwYWdlcz0xClsgICAg
MS40NzUyMTJdIGVmaWZiOiBzY3JvbGxpbmc6IHJlZHJhdwpbICAgIDEuNDc1MjEyXSBlZmlmYjog
VHJ1ZWNvbG9yOiBzaXplPTg6ODo4OjgsIHNoaWZ0PTI0OjE2Ojg6MApbICAgIDEuNDc1MjM3XSBm
YmNvbjogRGVmZXJyaW5nIGNvbnNvbGUgdGFrZS1vdmVyClsgICAgMS40NzUyMzhdIGZiMDogRUZJ
IFZHQSBmcmFtZSBidWZmZXIgZGV2aWNlClsgICAgMS40ODMzMDBdIGlucHV0OiBBVCBUcmFuc2xh
dGVkIFNldCAyIGtleWJvYXJkIGFzIC9kZXZpY2VzL3BsYXRmb3JtL2k4MDQyL3NlcmlvMC9pbnB1
dC9pbnB1dDIKWyAgICAxLjQ4MzgyN10gcHN0b3JlOiBSZWdpc3RlcmVkIGVmaSBhcyBwZXJzaXN0
ZW50IHN0b3JlIGJhY2tlbmQKWyAgICAxLjQ4Mzg1NF0gaGlkOiByYXcgSElEIGV2ZW50cyBkcml2
ZXIgKEMpIEppcmkgS29zaW5hClsgICAgMS40ODM5MjNdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3
IGludGVyZmFjZSBkcml2ZXIgdXNiaGlkClsgICAgMS40ODM5MjRdIHVzYmhpZDogVVNCIEhJRCBj
b3JlIGRyaXZlcgpbICAgIDEuNDg0MTE3XSBkcm9wX21vbml0b3I6IEluaXRpYWxpemluZyBuZXR3
b3JrIGRyb3AgbW9uaXRvciBzZXJ2aWNlClsgICAgMS40ODQxNzNdIEluaXRpYWxpemluZyBYRlJN
IG5ldGxpbmsgc29ja2V0ClsgICAgMS40ODQyMzRdIE5FVDogUmVnaXN0ZXJlZCBQRl9JTkVUNiBw
cm90b2NvbCBmYW1pbHkKWyAgICAxLjQ4NzY2N10gU2VnbWVudCBSb3V0aW5nIHdpdGggSVB2Ngpb
ICAgIDEuNDg3NjY5XSBSUEwgU2VnbWVudCBSb3V0aW5nIHdpdGggSVB2NgpbICAgIDEuNDg3Njc1
XSBJbi1zaXR1IE9BTSAoSU9BTSkgd2l0aCBJUHY2ClsgICAgMS40ODc2ODhdIG1pcDY6IE1vYmls
ZSBJUHY2ClsgICAgMS40ODc2ODldIE5FVDogUmVnaXN0ZXJlZCBQRl9QQUNLRVQgcHJvdG9jb2wg
ZmFtaWx5ClsgICAgMS40ODc4NDNdIElQSSBzaG9ydGhhbmQgYnJvYWRjYXN0OiBlbmFibGVkClsg
ICAgMS40ODc4NDldIEFWWDIgdmVyc2lvbiBvZiBnY21fZW5jL2RlYyBlbmdhZ2VkLgpbICAgIDEu
NDg3OTEyXSBBRVMgQ1RSIG1vZGUgYnk4IG9wdGltaXphdGlvbiBlbmFibGVkClsgICAgMS40ODgw
NjFdIHNjaGVkX2Nsb2NrOiBNYXJraW5nIHN0YWJsZSAoMTQ0MDkzNTEzOCwgNDY3OTMyMjApLT4o
MTQ4OTc2Njk0MiwgLTIwMzg1ODQpClsgICAgMS40ODgxNjldIHJlZ2lzdGVyZWQgdGFza3N0YXRz
IHZlcnNpb24gMQpbICAgIDEuNDg4MjAxXSBMb2FkaW5nIGNvbXBpbGVkLWluIFguNTA5IGNlcnRp
ZmljYXRlcwpbICAgIDEuNTA1MTIxXSBMb2FkZWQgWC41MDkgY2VydCAnQnVpbGQgdGltZSBhdXRv
Z2VuZXJhdGVkIGtlcm5lbCBrZXk6IGY5MmVlNmRmMGVhNmI1MGIwMDg0NDAxNzRhYTQwZjYyMDI3
MmVjOGYnClsgICAgMS41MDUyNTBdIHpzd2FwOiBsb2FkZWQgdXNpbmcgcG9vbCBsem8vemJ1ZApb
ICAgIDEuNTA1MzExXSBwYWdlX293bmVyIGlzIGRpc2FibGVkClsgICAgMS41MDUzMzhdIEtleSB0
eXBlIC5fZnNjcnlwdCByZWdpc3RlcmVkClsgICAgMS41MDUzMzldIEtleSB0eXBlIC5mc2NyeXB0
IHJlZ2lzdGVyZWQKWyAgICAxLjUwNTM0MF0gS2V5IHR5cGUgZnNjcnlwdC1wcm92aXNpb25pbmcg
cmVnaXN0ZXJlZApbICAgIDEuNTA1NTI5XSBCdHJmcyBsb2FkZWQsIGNyYzMyYz1jcmMzMmMtZ2Vu
ZXJpYywgem9uZWQ9eWVzLCBmc3Zlcml0eT15ZXMKWyAgICAxLjUwNTY5M10gcHN0b3JlOiBVc2lu
ZyBjcmFzaCBkdW1wIGNvbXByZXNzaW9uOiBkZWZsYXRlClsgICAgMS41MDU3MDJdIEtleSB0eXBl
IGJpZ19rZXkgcmVnaXN0ZXJlZApbICAgIDEuNTA1Nzg1XSBLZXkgdHlwZSB0cnVzdGVkIHJlZ2lz
dGVyZWQKWyAgICAxLjUwODQyNF0gS2V5IHR5cGUgZW5jcnlwdGVkIHJlZ2lzdGVyZWQKWyAgICAx
LjUwOTQ1MF0gaW50ZWdyaXR5OiBMb2FkaW5nIFguNTA5IGNlcnRpZmljYXRlOiBVRUZJOmRiClsg
ICAgMS41MDk0ODFdIGludGVncml0eTogTG9hZGVkIFguNTA5IGNlcnQgJ01pY3Jvc29mdCBXaW5k
b3dzIFByb2R1Y3Rpb24gUENBIDIwMTE6IGE5MjkwMjM5OGUxNmM0OTc3OGNkOTBmOTllNGY5YWUx
N2M1NWFmNTMnClsgICAgMS41MDk0ODNdIGludGVncml0eTogTG9hZGluZyBYLjUwOSBjZXJ0aWZp
Y2F0ZTogVUVGSTpkYgpbICAgIDEuNTA5NDk1XSBpbnRlZ3JpdHk6IExvYWRlZCBYLjUwOSBjZXJ0
ICdNaWNyb3NvZnQgQ29ycG9yYXRpb24gVUVGSSBDQSAyMDExOiAxM2FkYmY0MzA5YmQ4MjcwOWM4
Y2Q1NGYzMTZlZDUyMjk4OGExYmQ0JwpbICAgIDEuNTA5NDk2XSBpbnRlZ3JpdHk6IExvYWRpbmcg
WC41MDkgY2VydGlmaWNhdGU6IFVFRkk6ZGIKWyAgICAxLjUwOTUwM10gaW50ZWdyaXR5OiBMb2Fk
ZWQgWC41MDkgY2VydCAnOiBjZDgwNmUzYTI4ZjczMGEwNGE4YzRmZDBmMjE1NmJkNicKWyAgICAx
LjUwOTUwNF0gaW50ZWdyaXR5OiBMb2FkaW5nIFguNTA5IGNlcnRpZmljYXRlOiBVRUZJOmRiClsg
ICAgMS41MDk1MDVdIGludGVncml0eTogUHJvYmxlbSBsb2FkaW5nIFguNTA5IGNlcnRpZmljYXRl
IC02NQpbICAgIDEuNTA5NTA2XSBpbnRlZ3JpdHk6IEVycm9yIGFkZGluZyBrZXlzIHRvIHBsYXRm
b3JtIGtleXJpbmcgVUVGSTpkYgpbICAgIDEuNTEwNDE1XSBMb2FkaW5nIGNvbXBpbGVkLWluIG1v
ZHVsZSBYLjUwOSBjZXJ0aWZpY2F0ZXMKWyAgICAxLjUxMDc0N10gTG9hZGVkIFguNTA5IGNlcnQg
J0J1aWxkIHRpbWUgYXV0b2dlbmVyYXRlZCBrZXJuZWwga2V5OiBmOTJlZTZkZjBlYTZiNTBiMDA4
NDQwMTc0YWE0MGY2MjAyNzJlYzhmJwpbICAgIDEuNTEwNzQ5XSBpbWE6IEFsbG9jYXRlZCBoYXNo
IGFsZ29yaXRobTogc2hhMjU2ClsgICAgMS41MjIwNjFdIEFDUEk6IGJhdHRlcnk6IFNsb3QgW0JB
VDBdIChiYXR0ZXJ5IHByZXNlbnQpClsgICAgMS41MjU4ODddIGltYTogTm8gYXJjaGl0ZWN0dXJl
IHBvbGljaWVzIGZvdW5kClsgICAgMS41MjU5MTZdIGV2bTogSW5pdGlhbGlzaW5nIEVWTSBleHRl
bmRlZCBhdHRyaWJ1dGVzOgpbICAgIDEuNTI1OTE4XSBldm06IHNlY3VyaXR5LnNlbGludXgKWyAg
ICAxLjUyNTkyMV0gZXZtOiBzZWN1cml0eS5TTUFDSzY0IChkaXNhYmxlZCkKWyAgICAxLjUyNTky
Ml0gZXZtOiBzZWN1cml0eS5TTUFDSzY0RVhFQyAoZGlzYWJsZWQpClsgICAgMS41MjU5MjRdIGV2
bTogc2VjdXJpdHkuU01BQ0s2NFRSQU5TTVVURSAoZGlzYWJsZWQpClsgICAgMS41MjU5MjVdIGV2
bTogc2VjdXJpdHkuU01BQ0s2NE1NQVAgKGRpc2FibGVkKQpbICAgIDEuNTI1OTI2XSBldm06IHNl
Y3VyaXR5LmFwcGFybW9yClsgICAgMS41MjU5MjddIGV2bTogc2VjdXJpdHkuaW1hClsgICAgMS41
MjU5MjhdIGV2bTogc2VjdXJpdHkuY2FwYWJpbGl0eQpbICAgIDEuNTI1OTMwXSBldm06IEhNQUMg
YXR0cnM6IDB4MQpbICAgIDEuNTQ4MzQ5XSBhbGc6IE5vIHRlc3QgZm9yIDg0MiAoODQyLXNjb21w
KQpbICAgIDEuNTQ4MzY2XSBhbGc6IE5vIHRlc3QgZm9yIDg0MiAoODQyLWdlbmVyaWMpClsgICAg
MS42MTg4MjhdIFBNOiAgIE1hZ2ljIG51bWJlcjogMjo1OTA6NTY1ClsgICAgMS42MTg5MjZdIGFj
cGkgTE5YUE9XRVI6MGE6IGhhc2ggbWF0Y2hlcwpbICAgIDEuNjE4OTk3XSBSQVM6IENvcnJlY3Rh
YmxlIEVycm9ycyBjb2xsZWN0b3IgaW5pdGlhbGl6ZWQuClsgICAgMS42MTkwNjNdIGFtZF9ncGlv
IEFNREkwMDMwOjAwOiBmYWlsZWQgdG8gZW5hYmxlIHdha2UtdXAgaW50ZXJydXB0ClsgICAgMS42
MTk4NjFdIGFtZF9ncGlvIEFNREkwMDMwOjAwOiBmYWlsZWQgdG8gZW5hYmxlIHdha2UtdXAgaW50
ZXJydXB0ClsgICAgMS42MTk4OTRdIGFtZF9ncGlvIEFNREkwMDMwOjAwOiBmYWlsZWQgdG8gZW5h
YmxlIHdha2UtdXAgaW50ZXJydXB0ClsgICAgMS42MTk5MjhdIGFtZF9ncGlvIEFNREkwMDMwOjAw
OiBmYWlsZWQgdG8gZW5hYmxlIHdha2UtdXAgaW50ZXJydXB0ClsgICAgMS42MTk5NTldIGFtZF9n
cGlvIEFNREkwMDMwOjAwOiBmYWlsZWQgdG8gZW5hYmxlIHdha2UtdXAgaW50ZXJydXB0ClsgICAg
MS42MTk5OTBdIGFtZF9ncGlvIEFNREkwMDMwOjAwOiBmYWlsZWQgdG8gZW5hYmxlIHdha2UtdXAg
aW50ZXJydXB0ClsgICAgMS42MjAwMjBdIGFtZF9ncGlvIEFNREkwMDMwOjAwOiBmYWlsZWQgdG8g
ZW5hYmxlIHdha2UtdXAgaW50ZXJydXB0ClsgICAgMS42MjEyMzhdIEZyZWVpbmcgdW51c2VkIGRl
Y3J5cHRlZCBtZW1vcnk6IDIwMzZLClsgICAgMS42MjE5ODddIEZyZWVpbmcgdW51c2VkIGtlcm5l
bCBpbWFnZSAoaW5pdG1lbSkgbWVtb3J5OiAzMjE2SwpbICAgIDEuNjIyNzU3XSBXcml0ZSBwcm90
ZWN0aW5nIHRoZSBrZXJuZWwgcmVhZC1vbmx5IGRhdGE6IDI0NTc2awpbICAgIDEuNjI2NjU5XSBG
cmVlaW5nIHVudXNlZCBrZXJuZWwgaW1hZ2UgKHRleHQvcm9kYXRhIGdhcCkgbWVtb3J5OiAyMDM2
SwpbICAgIDEuNjI2NjY3XSBGcmVlaW5nIHVudXNlZCBrZXJuZWwgaW1hZ2UgKHJvZGF0YS9kYXRh
IGdhcCkgbWVtb3J5OiAyMEsKWyAgICAxLjYyNjY3MV0gcm9kYXRhX3Rlc3Q6IGFsbCB0ZXN0cyB3
ZXJlIHN1Y2Nlc3NmdWwKWyAgICAxLjYyNjY3NV0gUnVuIC9pbml0IGFzIGluaXQgcHJvY2Vzcwpb
ICAgIDEuNjI2Njc2XSAgIHdpdGggYXJndW1lbnRzOgpbICAgIDEuNjI2Njc3XSAgICAgL2luaXQK
WyAgICAxLjYyNjY3OF0gICAgIHBsYWNlaG9sZGVyClsgICAgMS42MjY2NzhdICAgICByaGdiClsg
ICAgMS42MjY2NzldICAgd2l0aCBlbnZpcm9ubWVudDoKWyAgICAxLjYyNjY3OV0gICAgIEhPTUU9
LwpbICAgIDEuNjI2NjgwXSAgICAgVEVSTT1saW51eApbICAgIDEuNjQyNDg5XSBzeXN0ZW1kWzFd
OiBzeXN0ZW1kIHYyNDUuOS0xLmZjMzIgcnVubmluZyBpbiBzeXN0ZW0gbW9kZS4gKCtQQU0gK0FV
RElUICtTRUxJTlVYICtJTUEgLUFQUEFSTU9SICtTTUFDSyArU1lTVklOSVQgK1VUTVAgK0xJQkNS
WVBUU0VUVVAgK0dDUllQVCArR05VVExTICtBQ0wgK1haICtMWjQgK1NFQ0NPTVAgK0JMS0lEICtF
TEZVVElMUyArS01PRCArSUROMiAtSUROICtQQ1JFMiBkZWZhdWx0LWhpZXJhcmNoeT11bmlmaWVk
KQpbICAgIDEuNjQyNTc2XSBzeXN0ZW1kWzFdOiBEZXRlY3RlZCBhcmNoaXRlY3R1cmUgeDg2LTY0
LgpbICAgIDEuNjQyNTc4XSBzeXN0ZW1kWzFdOiBSdW5uaW5nIGluIGluaXRpYWwgUkFNIGRpc2su
ClsgICAgMS42NDI1OTVdIHN5c3RlbWRbMV06IFNldCBob3N0bmFtZSB0byA8ZG9tMD4uClsgICAg
MS43MjQ4NTNdIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2Ugc3lzdGVtLXN5c3RlbWRceDJkY3J5
cHRzZXR1cC5zbGljZS4KWyAgICAxLjcyNDkxNF0gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQg
TG9jYWwgRmlsZSBTeXN0ZW1zLgpbICAgIDEuNzI0OTI2XSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRh
cmdldCBTbGljZXMuClsgICAgMS43MjQ5MzVdIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IFN3
YXAuClsgICAgMS43MjQ5NDNdIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IFRpbWVycy4KWyAg
ICAxLjcyNTA3NV0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIEpvdXJuYWwgQXVkaXQgU29ja2V0
LgpbICAgIDEuNzI1MTQ4XSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gSm91cm5hbCBTb2NrZXQg
KC9kZXYvbG9nKS4KWyAgICAxLjcyNTIyMl0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIEpvdXJu
YWwgU29ja2V0LgpbICAgIDEuNzI1MjkyXSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gdWRldiBD
b250cm9sIFNvY2tldC4KWyAgICAxLjcyNTM0MF0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIHVk
ZXYgS2VybmVsIFNvY2tldC4KWyAgICAxLjcyNTM0OF0gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJn
ZXQgU29ja2V0cy4KWyAgICAxLjcyNjE1NV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3JlYXRlIGxp
c3Qgb2Ygc3RhdGljIGRldmljZSBub2RlcyBmb3IgdGhlIGN1cnJlbnQga2VybmVsLi4uClsgICAg
MS43MjczMDhdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIEpvdXJuYWwgU2VydmljZS4uLgpbICAgIDEu
NzI4MTQzXSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGVzLi4uClsgICAg
MS43Mjg4MzBdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIFNldHVwIFZpcnR1YWwgQ29uc29sZS4uLgpb
ICAgIDEuNzM0NzU5XSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBDcmVhdGUgbGlzdCBvZiBzdGF0aWMg
ZGV2aWNlIG5vZGVzIGZvciB0aGUgY3VycmVudCBrZXJuZWwuClsgICAgMS43NDM4MzhdIHN5c3Rl
bWRbMV06IFN0YXJ0aW5nIENyZWF0ZSBTdGF0aWMgRGV2aWNlIE5vZGVzIGluIC9kZXYuLi4KWyAg
ICAxLjc1NDQ0NV0gc3lzdGVtZFsxXTogRmluaXNoZWQgQ3JlYXRlIFN0YXRpYyBEZXZpY2UgTm9k
ZXMgaW4gL2Rldi4KWyAgICAxLjgwNTUxNl0geGVuOnhlbl9ldnRjaG46IEV2ZW50LWNoYW5uZWwg
ZGV2aWNlIGluc3RhbGxlZApbICAgIDEuODE1OTc1XSB4ZW5fcGNpYmFjazogYmFja2VuZCBpcyB2
cGNpClsgICAgMS44MTk0MDZdIHhlbl9hY3BpX3Byb2Nlc3NvcjogVXBsb2FkaW5nIFhlbiBwcm9j
ZXNzb3IgUE0gaW5mbwpbICAgIDEuODIzNTM3XSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtl
cm5lbCBNb2R1bGVzLgpbICAgIDEuODI0MzA3XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBBcHBseSBL
ZXJuZWwgVmFyaWFibGVzLi4uClsgICAgMS44MjQzMzFdIGF1ZGl0OiB0eXBlPTExMzAgYXVkaXQo
MTY2MDUzODEwMC44NDk6Mik6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2
NzI5NSBtc2c9J3VuaXQ9c3lzdGVtZC1tb2R1bGVzLWxvYWQgY29tbT0ic3lzdGVtZCIgZXhlPSIv
dXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVz
PXN1Y2Nlc3MnClsgICAgMS44MzYyMTJdIHN5c3RlbWRbMV06IEZpbmlzaGVkIEFwcGx5IEtlcm5l
bCBWYXJpYWJsZXMuClsgICAgMS44MzYzMDddIGF1ZGl0OiB0eXBlPTExMzAgYXVkaXQoMTY2MDUz
ODEwMC44NjI6Myk6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBt
c2c9J3VuaXQ9c3lzdGVtZC1zeXNjdGwgY29tbT0ic3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0
ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnClsg
ICAgMS44NTk4MDFdIHN5c3RlbWRbMV06IFN0YXJ0ZWQgSm91cm5hbCBTZXJ2aWNlLgpbICAgIDEu
ODYwNzkwXSBhdWRpdDogdHlwZT0xMTMwIGF1ZGl0KDE2NjA1MzgxMDAuODg2OjQpOiBwaWQ9MSB1
aWQ9MCBhdWlkPTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUgbXNnPSd1bml0PXN5c3RlbWQtam91
cm5hbGQgY29tbT0ic3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3Ru
YW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnClsgICAgMS44NzcxMTBdIGF1ZGl0
OiB0eXBlPTExMzAgYXVkaXQoMTY2MDUzODEwMC45MDM6NSk6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5
NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBtc2c9J3VuaXQ9c3lzdGVtZC10bXBmaWxlcy1zZXR1cCBj
b21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBh
ZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcycKWyAgICAxLjkwMzEyN10gYXVkaXQ6IHR5cGU9
MTEzMCBhdWRpdCgxNjYwNTM4MTAwLjkyODo2KTogcGlkPTEgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1
IHNlcz00Mjk0OTY3Mjk1IG1zZz0ndW5pdD1zeXN0ZW1kLXZjb25zb2xlLXNldHVwIGNvbW09InN5
c3RlbWQiIGV4ZT0iL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0
ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJwpbICAgIDEuOTQyNzgwXSBmYmNvbjogVGFraW5nIG92ZXIg
Y29uc29sZQpbICAgIDEuOTQyODY0XSBDb25zb2xlOiBzd2l0Y2hpbmcgdG8gY29sb3VyIGZyYW1l
IGJ1ZmZlciBkZXZpY2UgMzg0eDEyMApbICAgIDEuOTU4NzkxXSBwY2liYWNrIDAwMDA6MDI6MDAu
MDogeGVuX3BjaWJhY2s6IHNlaXppbmcgZGV2aWNlClsgICAgMS45NTg4NTddIHBjaWJhY2sgMDAw
MDowMjowMC4wOiBlbmFibGluZyBkZXZpY2UgKDAwMDAgLT4gMDAwMikKWyAgICAxLjk1ODkyN10g
eGVuOiByZWdpc3RlcmluZyBnc2kgNDYgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgICAxLjk1
ODk0NV0geGVuOiAtLT4gcGlycT00NiAtPiBpcnE9NDYgKGdzaT00NikKWyAgICAzLjE0NDAyOF0g
cGNpYmFjayAwMDAwOjAyOjAwLjA6IG5vdCByZWFkeSAxMDIzbXMgYWZ0ZXIgRkxSOyB3YWl0aW5n
ClsgICAgNC4yMzE5NDldIHBjaWJhY2sgMDAwMDowMjowMC4wOiBub3QgcmVhZHkgMjA0N21zIGFm
dGVyIEZMUjsgd2FpdGluZwpbICAgIDYuMzQzOTUxXSBwY2liYWNrIDAwMDA6MDI6MDAuMDogbm90
IHJlYWR5IDQwOTVtcyBhZnRlciBGTFI7IHdhaXRpbmcKWyAgIDEwLjUwNDAwMl0gcGNpYmFjayAw
MDAwOjAyOjAwLjA6IG5vdCByZWFkeSA4MTkxbXMgYWZ0ZXIgRkxSOyB3YWl0aW5nClsgICAxOS4y
MDc5ODFdIHBjaWJhY2sgMDAwMDowMjowMC4wOiBub3QgcmVhZHkgMTYzODNtcyBhZnRlciBGTFI7
IHdhaXRpbmcKWyAgIDM2LjEwMzk0N10gcGNpYmFjayAwMDAwOjAyOjAwLjA6IG5vdCByZWFkeSAz
Mjc2N21zIGFmdGVyIEZMUjsgd2FpdGluZwpbICAgNzEuNDMyMDEwXSBwY2liYWNrIDAwMDA6MDI6
MDAuMDogbm90IHJlYWR5IDY1NTM1bXMgYWZ0ZXIgRkxSOyBnaXZpbmcgdXAKWyAgIDcyLjU0MTI4
OV0gYXVkaXQ6IHR5cGU9MTEzMCBhdWRpdCgxNjYwNTM4MTcxLjU2Njo3KTogcGlkPTEgdWlkPTAg
YXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1IG1zZz0ndW5pdD1kcmFjdXQtY21kbGluZSBj
b21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBh
ZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcycKWyAgIDcyLjU2ODczN10gYXVkaXQ6IHR5cGU9
MTEzMCBhdWRpdCgxNjYwNTM4MTcxLjU5NDo4KTogcGlkPTEgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1
IHNlcz00Mjk0OTY3Mjk1IG1zZz0ndW5pdD1kcmFjdXQtcHJlLXVkZXYgY29tbT0ic3lzdGVtZCIg
ZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFs
PT8gcmVzPXN1Y2Nlc3MnClsgICA3Mi41Njg3NDBdIGF1ZGl0OiB0eXBlPTEzMzQgYXVkaXQoMTY2
MDUzODE3MS41OTQ6OSk6IHByb2ctaWQ9NiBvcD1MT0FEClsgICA3Mi41Njg3NDJdIGF1ZGl0OiB0
eXBlPTEzMzQgYXVkaXQoMTY2MDUzODE3MS41OTQ6MTApOiBwcm9nLWlkPTcgb3A9TE9BRApbICAg
NzIuNTkyNTYzXSBhdWRpdDogdHlwZT0xMTMwIGF1ZGl0KDE2NjA1MzgxNzEuNjE3OjExKTogcGlk
PTEgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1IG1zZz0ndW5pdD1zeXN0ZW1k
LXVkZXZkIGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0
bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJwpbICAgNzIuNzkzMTc4XSBhdWRp
dDogdHlwZT0xMTMwIGF1ZGl0KDE2NjA1MzgxNzEuODE4OjEyKTogcGlkPTEgdWlkPTAgYXVpZD00
Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1IG1zZz0ndW5pdD1zeXN0ZW1kLXVkZXYtdHJpZ2dlciBj
b21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBh
ZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcycKWyAgIDcyLjgxNDY2OF0gYXVkaXQ6IHR5cGU9
MTEzMCBhdWRpdCgxNjYwNTM4MTcxLjg0MDoxMyk6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5
NSBzZXM9NDI5NDk2NzI5NSBtc2c9J3VuaXQ9cGx5bW91dGgtc3RhcnQgY29tbT0ic3lzdGVtZCIg
ZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFs
PT8gcmVzPXN1Y2Nlc3MnClsgICA3Mi44MzUzNzNdIGFjcGkgUE5QMEMxNDowMTogZHVwbGljYXRl
IFdNSSBHVUlEIDA1OTAxMjIxLUQ1NjYtMTFEMS1CMkYwLTAwQTBDOTA2MjkxMCAoZmlyc3QgaW5z
dGFuY2Ugd2FzIG9uIFBOUDBDMTQ6MDApClsgICA3Mi44MzYxMTldIGFjcGkgUE5QMEMxNDowMjog
ZHVwbGljYXRlIFdNSSBHVUlEIDA1OTAxMjIxLUQ1NjYtMTFEMS1CMkYwLTAwQTBDOTA2MjkxMCAo
Zmlyc3QgaW5zdGFuY2Ugd2FzIG9uIFBOUDBDMTQ6MDApClsgICA3Mi44MzYxNjZdIGFjcGkgUE5Q
MEMxNDowMzogZHVwbGljYXRlIFdNSSBHVUlEIDA1OTAxMjIxLUQ1NjYtMTFEMS1CMkYwLTAwQTBD
OTA2MjkxMCAoZmlyc3QgaW5zdGFuY2Ugd2FzIG9uIFBOUDBDMTQ6MDApClsgICA3Mi44MzY2OTRd
IGFjcGkgUE5QMEMxNDowNDogZHVwbGljYXRlIFdNSSBHVUlEIDA1OTAxMjIxLUQ1NjYtMTFEMS1C
MkYwLTAwQTBDOTA2MjkxMCAoZmlyc3QgaW5zdGFuY2Ugd2FzIG9uIFBOUDBDMTQ6MDApClsgICA3
Mi44Mzc4NjZdIGFjcGkgUE5QMEMxNDowNTogZHVwbGljYXRlIFdNSSBHVUlEIDA1OTAxMjIxLUQ1
NjYtMTFEMS1CMkYwLTAwQTBDOTA2MjkxMCAoZmlyc3QgaW5zdGFuY2Ugd2FzIG9uIFBOUDBDMTQ6
MDApClsgICA3Mi44MzgxNDddIEFDUEk6IHZpZGVvOiBbRmlybXdhcmUgQnVnXTogQUNQSShQRUdQ
KSBkZWZpbmVzIF9ET0QgYnV0IG5vdCBfRE9TClsgICA3Mi44MzgxNjJdIEFDUEk6IHZpZGVvOiBW
aWRlbyBEZXZpY2UgW1BFR1BdIChtdWx0aS1oZWFkOiB5ZXMgIHJvbTogbm8gIHBvc3Q6IG5vKQpb
ICAgNzIuODM4MzM4XSBpbnB1dDogVmlkZW8gQnVzIGFzIC9kZXZpY2VzL0xOWFNZU1RNOjAwL0xO
WFNZQlVTOjAwL1BOUDBBMDg6MDAvZGV2aWNlOjAwL0xOWFZJREVPOjAwL2lucHV0L2lucHV0Mwpb
ICAgNzIuODQxMTA1XSBBQ1BJOiB2aWRlbzogVmlkZW8gRGV2aWNlIFtWR0FdIChtdWx0aS1oZWFk
OiB5ZXMgIHJvbTogbm8gIHBvc3Q6IG5vKQpbICAgNzIuODQxMzM3XSBhY3BpIGRldmljZToxNzog
cmVnaXN0ZXJlZCBhcyBjb29saW5nX2RldmljZTEKWyAgIDcyLjg0MTM2Ml0gaW5wdXQ6IFZpZGVv
IEJ1cyBhcyAvZGV2aWNlcy9MTlhTWVNUTTowMC9MTlhTWUJVUzowMC9QTlAwQTA4OjAwL2Rldmlj
ZToxNi9MTlhWSURFTzowMS9pbnB1dC9pbnB1dDQKWyAgIDcyLjg5MTExNF0gY2NwIDAwMDA6MDQ6
MDAuMjogZW5hYmxpbmcgZGV2aWNlICgwMDAwIC0+IDAwMDIpClsgICA3Mi44OTExOTNdIHhlbjog
cmVnaXN0ZXJpbmcgZ3NpIDMyIHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICA3Mi44OTExOTdd
IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MzIKWyAgIDcyLjg5MTQ2OV0gY2NwIDAwMDA6MDQ6MDAu
MjogY2NwOiB1bmFibGUgdG8gYWNjZXNzIHRoZSBkZXZpY2U6IHlvdSBtaWdodCBiZSBydW5uaW5n
IGEgYnJva2VuIEJJT1MuClsgICA3Mi45MDE3NDddIGNjcCAwMDAwOjA0OjAwLjI6IHRlZTogcmlu
ZyBpbml0IGNvbW1hbmQgZmFpbGVkICgweDAwMDAwMDA1KQpbICAgNzIuOTAxNzUxXSBjY3AgMDAw
MDowNDowMC4yOiB0ZWU6IGZhaWxlZCB0byBpbml0IHJpbmcgYnVmZmVyClsgICA3Mi45MDE3NTJd
IGNjcCAwMDAwOjA0OjAwLjI6IHRlZSBpbml0aWFsaXphdGlvbiBmYWlsZWQKWyAgIDcyLjkwMTc3
N10gY2NwIDAwMDA6MDQ6MDAuMjogcHNwIGluaXRpYWxpemF0aW9uIGZhaWxlZApbICAgNzIuOTAz
NzEyXSBpbnB1dDogTVNGVDAwMDE6MDAgMDRGMzozMjAyIE1vdXNlIGFzIC9kZXZpY2VzL3BsYXRm
b3JtL0FNREkwMDEwOjAwL2kyYy0wL2kyYy1NU0ZUMDAwMTowMC8wMDE4OjA0RjM6MzIwMi4wMDAx
L2lucHV0L2lucHV0NQpbICAgNzIuOTAzNzcwXSBpbnB1dDogTVNGVDAwMDE6MDAgMDRGMzozMjAy
IFRvdWNocGFkIGFzIC9kZXZpY2VzL3BsYXRmb3JtL0FNREkwMDEwOjAwL2kyYy0wL2kyYy1NU0ZU
MDAwMTowMC8wMDE4OjA0RjM6MzIwMi4wMDAxL2lucHV0L2lucHV0NwpbICAgNzIuOTAzODA1XSBo
aWQtZ2VuZXJpYyAwMDE4OjA0RjM6MzIwMi4wMDAxOiBpbnB1dCxoaWRyYXcwOiBJMkMgSElEIHYx
LjAwIE1vdXNlIFtNU0ZUMDAwMTowMCAwNEYzOjMyMDJdIG9uIGkyYy1NU0ZUMDAwMTowMApbICAg
NzIuOTQzOTI3XSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAzMyB0cmlnZ2VyaW5nIDAgcG9sYXJpdHkg
MQpbICAgNzIuOTQzOTMyXSBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjMzClsgICA3Mi45NDQwNDdd
IHhoY2lfaGNkIDAwMDA6MDQ6MDAuMzogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDcyLjk0OTU3
Nl0geGhjaV9oY2QgMDAwMDowNDowMC4zOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25l
ZCBidXMgbnVtYmVyIDEKWyAgIDcyLjk1MzM2M10geGhjaV9oY2QgMDAwMDowNDowMC4zOiBoY2Mg
cGFyYW1zIDB4MDEyMGZmYzUgaGNpIHZlcnNpb24gMHgxMjAgcXVpcmtzIDB4MDAwMDAwMDIwMDAw
MDQxMApbICAgNzIuOTUzNjg5XSB4aGNpX2hjZCAwMDAwOjA0OjAwLjM6IHhIQ0kgSG9zdCBDb250
cm9sbGVyClsgICA3Mi45NjIxMzhdIHhoY2lfaGNkIDAwMDA6MDQ6MDAuMzogbmV3IFVTQiBidXMg
cmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAyClsgICA3Mi45NjIxNDFdIHhoY2lfaGNk
IDAwMDA6MDQ6MDAuMzogSG9zdCBzdXBwb3J0cyBVU0IgMy4xIEVuaGFuY2VkIFN1cGVyU3BlZWQK
WyAgIDcyLjk2NDAzM10gdXNiIHVzYjE6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0x
ZDZiLCBpZFByb2R1Y3Q9MDAwMiwgYmNkRGV2aWNlPSA1LjE4ClsgICA3Mi45NjQwMzZdIHVzYiB1
c2IxOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1i
ZXI9MQpbICAgNzIuOTY0MDM3XSB1c2IgdXNiMTogUHJvZHVjdDogeEhDSSBIb3N0IENvbnRyb2xs
ZXIKWyAgIDcyLjk2NDAzOF0gdXNiIHVzYjE6IE1hbnVmYWN0dXJlcjogTGludXggNS4xOC45LTIu
ZmMzMi5xdWJlcy54ODZfNjQgeGhjaS1oY2QKWyAgIDcyLjk2NDAzOV0gdXNiIHVzYjE6IFNlcmlh
bE51bWJlcjogMDAwMDowNDowMC4zClsgICA3Mi45NjUyOTJdIGh1YiAxLTA6MS4wOiBVU0IgaHVi
IGZvdW5kClsgICA3Mi45NjU2NTZdIGh1YiAxLTA6MS4wOiA0IHBvcnRzIGRldGVjdGVkClsgICA3
Mi45Njk0NDZdIHVzYiB1c2IyOiBXZSBkb24ndCBrbm93IHRoZSBhbGdvcml0aG1zIGZvciBMUE0g
Zm9yIHRoaXMgaG9zdCwgZGlzYWJsaW5nIExQTS4KWyAgIDcyLjk2OTgwM10gdXNiIHVzYjI6IE5l
dyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMywgYmNkRGV2
aWNlPSA1LjE4ClsgICA3Mi45Njk4MDZdIHVzYiB1c2IyOiBOZXcgVVNCIGRldmljZSBzdHJpbmdz
OiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQpbICAgNzIuOTY5ODA3XSB1c2IgdXNi
MjogUHJvZHVjdDogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDcyLjk2OTgwOF0gdXNiIHVzYjI6
IE1hbnVmYWN0dXJlcjogTGludXggNS4xOC45LTIuZmMzMi5xdWJlcy54ODZfNjQgeGhjaS1oY2QK
WyAgIDcyLjk2OTgwOF0gdXNiIHVzYjI6IFNlcmlhbE51bWJlcjogMDAwMDowNDowMC4zClsgICA3
Mi45NzE3NjVdIGh1YiAyLTA6MS4wOiBVU0IgaHViIGZvdW5kClsgICA3Mi45NzE3ODZdIGh1YiAy
LTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkClsgICA3Mi45NzM4MDldIHhlbjogcmVnaXN0ZXJpbmcg
Z3NpIDM0IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICA3Mi45NzM4MTNdIEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6MzQKWyAgIDcyLjk3MzkwNV0geGhjaV9oY2QgMDAwMDowNDowMC40OiB4SENJ
IEhvc3QgQ29udHJvbGxlcgpbICAgNzIuOTc1ODc2XSB4aGNpX2hjZCAwMDAwOjA0OjAwLjQ6IG5l
dyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgMwpbICAgNzIuOTc2MjUx
XSB4aGNpX2hjZCAwMDAwOjA0OjAwLjQ6IGhjYyBwYXJhbXMgMHgwMTIwZmZjNSBoY2kgdmVyc2lv
biAweDEyMCBxdWlya3MgMHgwMDAwMDAwMjAwMDAwNDEwClsgICA3Mi45NzY1NDVdIHhoY2lfaGNk
IDAwMDA6MDQ6MDAuNDogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDcyLjk4OTIyNF0geGhjaV9o
Y2QgMDAwMDowNDowMC40OiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVt
YmVyIDQKWyAgIDcyLjk4OTIzOV0geGhjaV9oY2QgMDAwMDowNDowMC40OiBIb3N0IHN1cHBvcnRz
IFVTQiAzLjEgRW5oYW5jZWQgU3VwZXJTcGVlZApbICAgNzIuOTg5Mjk5XSB1c2IgdXNiMzogTmV3
IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAyLCBiY2REZXZp
Y2U9IDUuMTgKWyAgIDcyLjk4OTMwMV0gdXNiIHVzYjM6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6
IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xClsgICA3Mi45ODkzMDJdIHVzYiB1c2Iz
OiBQcm9kdWN0OiB4SENJIEhvc3QgQ29udHJvbGxlcgpbICAgNzIuOTg5MzEyXSB1c2IgdXNiMzog
TWFudWZhY3R1cmVyOiBMaW51eCA1LjE4LjktMi5mYzMyLnF1YmVzLng4Nl82NCB4aGNpLWhjZApb
ICAgNzIuOTg5MzEzXSB1c2IgdXNiMzogU2VyaWFsTnVtYmVyOiAwMDAwOjA0OjAwLjQKWyAgIDcy
Ljk5MTU1MV0gaHViIDMtMDoxLjA6IFVTQiBodWIgZm91bmQKWyAgIDcyLjk5Mjk5OV0gaHViIDMt
MDoxLjA6IDMgcG9ydHMgZGV0ZWN0ZWQKWyAgIDcyLjk5NTgyOF0gdXNiIHVzYjQ6IFdlIGRvbid0
IGtub3cgdGhlIGFsZ29yaXRobXMgZm9yIExQTSBmb3IgdGhpcyBob3N0LCBkaXNhYmxpbmcgTFBN
LgpbICAgNzIuOTk1ODcwXSB1c2IgdXNiNDogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9y
PTFkNmIsIGlkUHJvZHVjdD0wMDAzLCBiY2REZXZpY2U9IDUuMTgKWyAgIDcyLjk5NTg3Ml0gdXNi
IHVzYjQ6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51
bWJlcj0xClsgICA3Mi45OTU4NzNdIHVzYiB1c2I0OiBQcm9kdWN0OiB4SENJIEhvc3QgQ29udHJv
bGxlcgpbICAgNzIuOTk1ODczXSB1c2IgdXNiNDogTWFudWZhY3R1cmVyOiBMaW51eCA1LjE4Ljkt
Mi5mYzMyLnF1YmVzLng4Nl82NCB4aGNpLWhjZApbICAgNzIuOTk1ODc0XSB1c2IgdXNiNDogU2Vy
aWFsTnVtYmVyOiAwMDAwOjA0OjAwLjQKWyAgIDcyLjk5ODM1MF0gaHViIDQtMDoxLjA6IFVTQiBo
dWIgZm91bmQKWyAgIDcyLjk5ODQxNV0gaHViIDQtMDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKWyAg
IDcyLjk5OTg1Ml0geGVuOiByZWdpc3RlcmluZyBnc2kgMjYgdHJpZ2dlcmluZyAwIHBvbGFyaXR5
IDEKWyAgIDcyLjk5OTg1NV0gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoyNgpbICAgNzIuOTk5OTk0
XSB4aGNpX2hjZCAwMDAwOjA1OjAwLjA6IHhIQ0kgSG9zdCBDb250cm9sbGVyClsgICA3My4wMDIw
OTVdIHhoY2lfaGNkIDAwMDA6MDU6MDAuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWdu
ZWQgYnVzIG51bWJlciA1ClsgICA3My4wMDk1NzZdIHhoY2lfaGNkIDAwMDA6MDU6MDAuMDogaGNj
IHBhcmFtcyAweDAxMTBmZmM1IGhjaSB2ZXJzaW9uIDB4MTIwIHF1aXJrcyAweDAwMDAwMDAyMDAw
MDA0MTAKWyAgIDczLjAxMzI1N10geGhjaV9oY2QgMDAwMDowNTowMC4wOiB4SENJIEhvc3QgQ29u
dHJvbGxlcgpbICAgNzMuMDE2NDU1XSB4aGNpX2hjZCAwMDAwOjA1OjAwLjA6IG5ldyBVU0IgYnVz
IHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgNgpbICAgNzMuMDE2NDU4XSB4aGNpX2hj
ZCAwMDAwOjA1OjAwLjA6IEhvc3Qgc3VwcG9ydHMgVVNCIDMuMCBTdXBlclNwZWVkClsgICA3My4w
MTcxOTVdIHVzYiB1c2I1OiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MWQ2YiwgaWRQ
cm9kdWN0PTAwMDIsIGJjZERldmljZT0gNS4xOApbICAgNzMuMDE3MTk3XSB1c2IgdXNiNTogTmV3
IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEKWyAg
IDczLjAxNzE5OF0gdXNiIHVzYjU6IFByb2R1Y3Q6IHhIQ0kgSG9zdCBDb250cm9sbGVyClsgICA3
My4wMTcxOTldIHVzYiB1c2I1OiBNYW51ZmFjdHVyZXI6IExpbnV4IDUuMTguOS0yLmZjMzIucXVi
ZXMueDg2XzY0IHhoY2ktaGNkClsgICA3My4wMTcyMDBdIHVzYiB1c2I1OiBTZXJpYWxOdW1iZXI6
IDAwMDA6MDU6MDAuMApbICAgNzMuMDE3MjgxXSBodWIgNS0wOjEuMDogVVNCIGh1YiBmb3VuZApb
ICAgNzMuMDE5NzcwXSBodWIgNS0wOjEuMDogMSBwb3J0IGRldGVjdGVkClsgICA3My4wMjE0MDVd
IHVzYiB1c2I2OiBXZSBkb24ndCBrbm93IHRoZSBhbGdvcml0aG1zIGZvciBMUE0gZm9yIHRoaXMg
aG9zdCwgZGlzYWJsaW5nIExQTS4KWyAgIDczLjAyMTQ1MF0gdXNiIHVzYjY6IE5ldyBVU0IgZGV2
aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMywgYmNkRGV2aWNlPSA1LjE4
ClsgICA3My4wMjE0NTFdIHVzYiB1c2I2OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9Mywg
UHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQpbICAgNzMuMDIxNDUyXSB1c2IgdXNiNjogUHJvZHVj
dDogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDczLjAyMTQ1M10gdXNiIHVzYjY6IE1hbnVmYWN0
dXJlcjogTGludXggNS4xOC45LTIuZmMzMi5xdWJlcy54ODZfNjQgeGhjaS1oY2QKWyAgIDczLjAy
MTQ1NF0gdXNiIHVzYjY6IFNlcmlhbE51bWJlcjogMDAwMDowNTowMC4wClsgICA3My4wMjE1NDld
IGh1YiA2LTA6MS4wOiBVU0IgaHViIGZvdW5kClsgICA3My4wMjE1NTRdIGh1YiA2LTA6MS4wOiBj
b25maWcgZmFpbGVkLCBodWIgZG9lc24ndCBoYXZlIGFueSBwb3J0cyEgKGVyciAtMTkpClsgICA3
My4wMjMzMDZdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDI0IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAx
ClsgICA3My4wMjMzMDldIEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MjQKWyAgIDczLjAyMzQzNl0g
eGhjaV9oY2QgMDAwMDowNTowMC4zOiB4SENJIEhvc3QgQ29udHJvbGxlcgpbICAgNzMuMDI1MzQ3
XSBoaWQtZ2VuZXJpYyAwMDE4OjA0OEQ6ODMyMC4wMDAyOiBoaWRyYXcxOiBJMkMgSElEIHYxLjAw
IERldmljZSBbSVRFODEyMDowMCAwNDhEOjgzMjBdIG9uIGkyYy1JVEU4MTIwOjAwClsgICA3My4w
MjY1NThdIEFNRC1WaTogQU1EIElPTU1VdjIgZnVuY3Rpb25hbGl0eSBub3QgYXZhaWxhYmxlIG9u
IHRoaXMgc3lzdGVtIC0gVGhpcyBpcyBub3QgYSBidWcuClsgICA3My4wMzIzMTVdIG52bWUgMDAw
MDowMzowMC4wOiBwbGF0Zm9ybSBxdWlyazogc2V0dGluZyBzaW1wbGUgc3VzcGVuZApbICAgNzMu
MDMzNzY1XSBudm1lIG52bWUwOiBwY2kgZnVuY3Rpb24gMDAwMDowMzowMC4wClsgICA3My4wMzM4
MTldIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDQ2IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICA3
My4wMzM4MjJdIEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6NDYKWyAgIDczLjAzNTM0Nl0geGhjaV9o
Y2QgMDAwMDowNTowMC4zOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVt
YmVyIDcKWyAgIDczLjA0MjMyNF0geGhjaV9oY2QgMDAwMDowNTowMC4zOiBoY2MgcGFyYW1zIDB4
MDExMGZmYzUgaGNpIHZlcnNpb24gMHgxMjAgcXVpcmtzIDB4MDAwMDAwMDIwMDAwMDQxMApbICAg
NzMuMDQyNjEwXSB4aGNpX2hjZCAwMDAwOjA1OjAwLjM6IHhIQ0kgSG9zdCBDb250cm9sbGVyClsg
ICA3My4wNDUxMTFdIHhoY2lfaGNkIDAwMDA6MDU6MDAuMzogbmV3IFVTQiBidXMgcmVnaXN0ZXJl
ZCwgYXNzaWduZWQgYnVzIG51bWJlciA4ClsgICA3My4wNDUxMTRdIHhoY2lfaGNkIDAwMDA6MDU6
MDAuMzogSG9zdCBzdXBwb3J0cyBVU0IgMy4xIEVuaGFuY2VkIFN1cGVyU3BlZWQKWyAgIDczLjA0
NTQwNV0gdXNiIHVzYjc6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFBy
b2R1Y3Q9MDAwMiwgYmNkRGV2aWNlPSA1LjE4ClsgICA3My4wNDU0MDddIHVzYiB1c2I3OiBOZXcg
VVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQpbICAg
NzMuMDQ1NDA4XSB1c2IgdXNiNzogUHJvZHVjdDogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDcz
LjA0NTQwOV0gdXNiIHVzYjc6IE1hbnVmYWN0dXJlcjogTGludXggNS4xOC45LTIuZmMzMi5xdWJl
cy54ODZfNjQgeGhjaS1oY2QKWyAgIDczLjA0NTQwOV0gdXNiIHVzYjc6IFNlcmlhbE51bWJlcjog
MDAwMDowNTowMC4zClsgICA3My4wNDU3MDJdIGh1YiA3LTA6MS4wOiBVU0IgaHViIGZvdW5kClsg
ICA3My4wNDY4OTJdIGh1YiA3LTA6MS4wOiAxIHBvcnQgZGV0ZWN0ZWQKWyAgIDczLjA0NzUyOV0g
dXNiIHVzYjg6IFdlIGRvbid0IGtub3cgdGhlIGFsZ29yaXRobXMgZm9yIExQTSBmb3IgdGhpcyBo
b3N0LCBkaXNhYmxpbmcgTFBNLgpbICAgNzMuMDQ4Mjc1XSB1c2IgdXNiODogTmV3IFVTQiBkZXZp
Y2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAzLCBiY2REZXZpY2U9IDUuMTgK
WyAgIDczLjA0ODI3N10gdXNiIHVzYjg6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQ
cm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xClsgICA3My4wNDgyNzhdIHVzYiB1c2I4OiBQcm9kdWN0
OiB4SENJIEhvc3QgQ29udHJvbGxlcgpbICAgNzMuMDQ4Mjc5XSB1c2IgdXNiODogTWFudWZhY3R1
cmVyOiBMaW51eCA1LjE4LjktMi5mYzMyLnF1YmVzLng4Nl82NCB4aGNpLWhjZApbICAgNzMuMDQ4
MjgwXSB1c2IgdXNiODogU2VyaWFsTnVtYmVyOiAwMDAwOjA1OjAwLjMKWyAgIDczLjA0ODMyN10g
aHViIDgtMDoxLjA6IFVTQiBodWIgZm91bmQKWyAgIDczLjA0ODM0Nl0gaHViIDgtMDoxLjA6IDEg
cG9ydCBkZXRlY3RlZApbICAgNzMuMDUwMjczXSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAyNSB0cmln
Z2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgNzMuMDUwMjc2XSBBbHJlYWR5IHNldHVwIHRoZSBHU0kg
OjI1ClsgICA3My4wNTAzNzZdIHhoY2lfaGNkIDAwMDA6MDU6MDAuNDogeEhDSSBIb3N0IENvbnRy
b2xsZXIKWyAgIDczLjA1MTY3N10geGhjaV9oY2QgMDAwMDowNTowMC40OiBuZXcgVVNCIGJ1cyBy
ZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDkKWyAgIDczLjA1MzI5OF0geGhjaV9oY2Qg
MDAwMDowNTowMC40OiBoY2MgcGFyYW1zIDB4MDExMGZmYzUgaGNpIHZlcnNpb24gMHgxMjAgcXVp
cmtzIDB4MDAwMDAwMDIwMDAwMDQxMApbICAgNzMuMDUzNTY2XSB4aGNpX2hjZCAwMDAwOjA1OjAw
LjQ6IHhIQ0kgSG9zdCBDb250cm9sbGVyClsgICA3My4wNjAwMThdIHhoY2lfaGNkIDAwMDA6MDU6
MDAuNDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAxMApbICAg
NzMuMDYwMDIyXSB4aGNpX2hjZCAwMDAwOjA1OjAwLjQ6IEhvc3Qgc3VwcG9ydHMgVVNCIDMuMSBF
bmhhbmNlZCBTdXBlclNwZWVkClsgICA3My4wNjA1MzFdIHVzYiB1c2I5OiBOZXcgVVNCIGRldmlj
ZSBmb3VuZCwgaWRWZW5kb3I9MWQ2YiwgaWRQcm9kdWN0PTAwMDIsIGJjZERldmljZT0gNS4xOApb
ICAgNzMuMDYwNTM0XSB1c2IgdXNiOTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTMsIFBy
b2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEKWyAgIDczLjA2MDUzNV0gdXNiIHVzYjk6IFByb2R1Y3Q6
IHhIQ0kgSG9zdCBDb250cm9sbGVyClsgICA3My4wNjA1MzVdIHVzYiB1c2I5OiBNYW51ZmFjdHVy
ZXI6IExpbnV4IDUuMTguOS0yLmZjMzIucXViZXMueDg2XzY0IHhoY2ktaGNkClsgICA3My4wNjA1
MzZdIHVzYiB1c2I5OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDU6MDAuNApbICAgNzMuMDYwNTg2XSBo
dWIgOS0wOjEuMDogVVNCIGh1YiBmb3VuZApbICAgNzMuMDYyMTA2XSBodWIgOS0wOjEuMDogMSBw
b3J0IGRldGVjdGVkClsgICA3My4wNjMxMTBdIHVzYiB1c2IxMDogV2UgZG9uJ3Qga25vdyB0aGUg
YWxnb3JpdGhtcyBmb3IgTFBNIGZvciB0aGlzIGhvc3QsIGRpc2FibGluZyBMUE0uClsgICA3My4w
NjMxMzFdIHVzYiB1c2IxMDogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlk
UHJvZHVjdD0wMDAzLCBiY2REZXZpY2U9IDUuMTgKWyAgIDczLjA2MzEzM10gdXNiIHVzYjEwOiBO
ZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQpb
ICAgNzMuMDYzMTM0XSB1c2IgdXNiMTA6IFByb2R1Y3Q6IHhIQ0kgSG9zdCBDb250cm9sbGVyClsg
ICA3My4wNjMxMzRdIHVzYiB1c2IxMDogTWFudWZhY3R1cmVyOiBMaW51eCA1LjE4LjktMi5mYzMy
LnF1YmVzLng4Nl82NCB4aGNpLWhjZApbICAgNzMuMDYzMTM1XSB1c2IgdXNiMTA6IFNlcmlhbE51
bWJlcjogMDAwMDowNTowMC40ClsgICA3My4wNjMxODZdIGh1YiAxMC0wOjEuMDogVVNCIGh1YiBm
b3VuZApbICAgNzMuMDYzNjgwXSBodWIgMTAtMDoxLjA6IDEgcG9ydCBkZXRlY3RlZApbICAgNzMu
MDg2MjM3XSBudm1lIG52bWUwOiAxLzAvMCBkZWZhdWx0L3JlYWQvcG9sbCBxdWV1ZXMKWyAgIDcz
LjA4ODUyNF0gIG52bWUwbjE6IHAxIHAyIHAzClsgICA3My4xODA2NDJdIGlucHV0OiBNU0ZUMDAw
MTowMCAwNEYzOjMyMDIgTW91c2UgYXMgL2RldmljZXMvcGxhdGZvcm0vQU1ESTAwMTA6MDAvaTJj
LTAvaTJjLU1TRlQwMDAxOjAwLzAwMTg6MDRGMzozMjAyLjAwMDEvaW5wdXQvaW5wdXQ4ClsgICA3
My4xODA2ODddIGlucHV0OiBNU0ZUMDAwMTowMCAwNEYzOjMyMDIgVG91Y2hwYWQgYXMgL2Rldmlj
ZXMvcGxhdGZvcm0vQU1ESTAwMTA6MDAvaTJjLTAvaTJjLU1TRlQwMDAxOjAwLzAwMTg6MDRGMzoz
MjAyLjAwMDEvaW5wdXQvaW5wdXQxMApbICAgNzMuMTgwNzg2XSBoaWQtbXVsdGl0b3VjaCAwMDE4
OjA0RjM6MzIwMi4wMDAxOiBpbnB1dCxoaWRyYXcwOiBJMkMgSElEIHYxLjAwIE1vdXNlIFtNU0ZU
MDAwMTowMCAwNEYzOjMyMDJdIG9uIGkyYy1NU0ZUMDAwMTowMApbICAgNzMuMjYxNjk2XSB1c2Ig
NS0xOiBuZXcgaGlnaC1zcGVlZCBVU0IgZGV2aWNlIG51bWJlciAyIHVzaW5nIHhoY2lfaGNkClsg
ICA3My4yNjE3MDldIHVzYiAzLTM6IG5ldyBoaWdoLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDIg
dXNpbmcgeGhjaV9oY2QKWyAgIDczLjI3NjkzM10gYXVkaXQ6IHR5cGU9MTMzNCBhdWRpdCgxNjYw
NTM4MTcyLjMwMzoxNCk6IHByb2ctaWQ9MCBvcD1VTkxPQUQKWyAgIDczLjI3Njk4N10gYXVkaXQ6
IHR5cGU9MTMzNCBhdWRpdCgxNjYwNTM4MTcyLjMwMzoxNSk6IHByb2ctaWQ9MCBvcD1VTkxPQUQK
WyAgIDczLjI3NzAzN10gYXVkaXQ6IHR5cGU9MTMzNCBhdWRpdCgxNjYwNTM4MTcyLjMwMzoxNik6
IHByb2ctaWQ9MCBvcD1VTkxPQUQKWyAgIDczLjM4NzM3NF0gQUNQSSBXYXJuaW5nOiBcX1NCLlBD
STAuR1BQMC5QRUdQLl9EU006IEFyZ3VtZW50ICM0IHR5cGUgbWlzbWF0Y2ggLSBGb3VuZCBbQnVm
ZmVyXSwgQUNQSSByZXF1aXJlcyBbUGFja2FnZV0gKDIwMjExMjE3L25zYXJndW1lbnRzLTYxKQpb
ICAgNzMuMzkwOTMxXSBwY2kgMDAwMDowMTowMC4wOiBvcHRpbXVzIGNhcGFiaWxpdGllczogZW5h
YmxlZCwgc3RhdHVzIGR5bmFtaWMgcG93ZXIsIGhkYSBiaW9zIGNvZGVjIHN1cHBvcnRlZApbICAg
NzMuMzkwOTQ0XSBWR0Egc3dpdGNoZXJvbzogZGV0ZWN0ZWQgT3B0aW11cyBEU00gbWV0aG9kIFxf
U0JfLlBDSTAuR1BQMC5QRUdQIGhhbmRsZQpbICAgNzMuMzkwOTQ0XSBub3V2ZWF1OiBkZXRlY3Rl
ZCBQUiBzdXBwb3J0LCB3aWxsIG5vdCB1c2UgRFNNClsgICA3My4zOTEzNDddIHVzYiAzLTM6IE5l
dyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0wNDg5LCBpZFByb2R1Y3Q9ZTBkOCwgYmNkRGV2
aWNlPSAxLjAwClsgICA3My4zOTEzNTBdIHVzYiAzLTM6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6
IE1mcj01LCBQcm9kdWN0PTYsIFNlcmlhbE51bWJlcj03ClsgICA3My4zOTEzNTJdIHVzYiAzLTM6
IFByb2R1Y3Q6IFdpcmVsZXNzX0RldmljZQpbICAgNzMuMzkxMzUzXSB1c2IgMy0zOiBNYW51ZmFj
dHVyZXI6IE1lZGlhVGVrIEluYy4KWyAgIDczLjM5MTM1NF0gdXNiIDMtMzogU2VyaWFsTnVtYmVy
OiAwMDAwMDAwMDAKWyAgIDczLjM5MTU2N10gbm91dmVhdSAwMDAwOjAxOjAwLjA6IGVuYWJsaW5n
IGRldmljZSAoMDAwMCAtPiAwMDAzKQpbICAgNzMuMzkxNjMzXSB4ZW46IHJlZ2lzdGVyaW5nIGdz
aSAyNCB0cmlnZ2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgNzMuMzkxNjM5XSBBbHJlYWR5IHNldHVw
IHRoZSBHU0kgOjI0ClsgICA3My40MjIwMDFdIGNoZWNraW5nIGdlbmVyaWMgKDgzMTAwMDAwMDAg
MTY4MDAwMCkgdnMgaHcgKDgwMDAwMDAwIDEwMDAwMDApClsgICA3My40MjIwMDRdIGNoZWNraW5n
IGdlbmVyaWMgKDgzMTAwMDAwMDAgMTY4MDAwMCkgdnMgaHcgKDgyMDAwMDAwMDAgMTAwMDAwMDAw
KQpbICAgNzMuNDIyMDA1XSBjaGVja2luZyBnZW5lcmljICg4MzEwMDAwMDAwIDE2ODAwMDApIHZz
IGh3ICg4MzAwMDAwMDAwIDIwMDAwMDApClsgICA3My40MjIwMzVdIHhlbjogcmVnaXN0ZXJpbmcg
Z3NpIDI0IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICA3My40MjIwNDBdIEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6MjQKWyAgIDczLjQyNTg1OF0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IE5WSURJ
QSBHQTEwNyAoYjc3MDAwYTEpClsgICA3My40MjkxODNdIHVzYiA1LTE6IE5ldyBVU0IgZGV2aWNl
IGZvdW5kLCBpZFZlbmRvcj0zMGM5LCBpZFByb2R1Y3Q9MDA1NywgYmNkRGV2aWNlPSAwLjI2Clsg
ICA3My40MjkxODZdIHVzYiA1LTE6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0xLCBQcm9k
dWN0PTIsIFNlcmlhbE51bWJlcj0zClsgICA3My40MjkxODddIHVzYiA1LTE6IFByb2R1Y3Q6IElu
dGVncmF0ZWQgUkdCIENhbWVyYQpbICAgNzMuNDI5MTg4XSB1c2IgNS0xOiBNYW51ZmFjdHVyZXI6
IDhTU0MyMUQ3MDM3NlYxU1IyNVM3RUxTClsgICA3My40MjkxODldIHVzYiA1LTE6IFNlcmlhbE51
bWJlcjogMDEuMDAuMDAKWyAgIDczLjc5OTQzNF0gW2RybV0gYW1kZ3B1IGtlcm5lbCBtb2Rlc2V0
dGluZyBlbmFibGVkLgpbICAgNzMuNzk5NDU5XSBhbWRncHU6IHZnYV9zd2l0Y2hlcm9vOiBkZXRl
Y3RlZCBzd2l0Y2hpbmcgbWV0aG9kIFxfU0JfLlBDSTAuR1AxNy5WR0FfLkFUUFggaGFuZGxlClsg
ICA3My44MDAwMjhdIEFUUFggdmVyc2lvbiAxLCBmdW5jdGlvbnMgMHgwMDAwMDAwMQpbICAgNzMu
ODAwMDg1XSBBVFBYIEh5YnJpZCBHcmFwaGljcwpbICAgNzMuODA3MDAwXSBhbWRncHU6IFZpcnR1
YWwgQ1JBVCB0YWJsZSBjcmVhdGVkIGZvciBDUFUKWyAgIDczLjgwNzAwOV0gYW1kZ3B1OiBUb3Bv
bG9neTogQWRkIENQVSBub2RlClsgICA3My44MDczMTNdIGNoZWNraW5nIGdlbmVyaWMgKDgzMTAw
MDAwMDAgMTY4MDAwMCkgdnMgaHcgKDgzMTAwMDAwMDAgMTAwMDAwMDApClsgICA3My44MDczMTVd
IGNoZWNraW5nIGdlbmVyaWMgKDgzMTAwMDAwMDAgMTY4MDAwMCkgdnMgaHcgKDgzMTAwMDAwMDAg
MTAwMDAwMDApClsgICA3My44MDczMTZdIGZiMDogc3dpdGNoaW5nIHRvIGFtZGdwdSBmcm9tIEVG
SSBWR0EKWyAgIDczLjgwNzU3MF0gQ29uc29sZTogc3dpdGNoaW5nIHRvIGNvbG91ciBkdW1teSBk
ZXZpY2UgODB4MjUKWyAgIDczLjgxMDkzM10gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogdmdhYXJiOiBk
ZWFjdGl2YXRlIHZnYSBjb25zb2xlClsgICA3My44MTA5NzldIGFtZGdwdSAwMDAwOjA0OjAwLjA6
IGVuYWJsaW5nIGRldmljZSAoMDAwNiAtPiAwMDA3KQpbICAgNzMuODExMDIzXSB4ZW46IHJlZ2lz
dGVyaW5nIGdzaSAzNCB0cmlnZ2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgNzMuODExMDI3XSBBbHJl
YWR5IHNldHVwIHRoZSBHU0kgOjM0ClsgICA3My44MTEwNDJdIFtkcm1dIGluaXRpYWxpemluZyBr
ZXJuZWwgbW9kZXNldHRpbmcgKFlFTExPV19DQVJQIDB4MTAwMjoweDE2ODEgMHgxN0FBOjB4M0Ix
RSAweDAyKS4KWyAgIDczLjgxMTA0NV0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiBUcnVz
dGVkIE1lbW9yeSBab25lIChUTVopIGZlYXR1cmUgZGlzYWJsZWQgYXMgZXhwZXJpbWVudGFsIChk
ZWZhdWx0KQpbICAgNzMuODExMTg3XSBbZHJtXSByZWdpc3RlciBtbWlvIGJhc2U6IDB4ODE2MDAw
MDAKWyAgIDczLjgxMTE4OF0gW2RybV0gcmVnaXN0ZXIgbW1pbyBzaXplOiA1MjQyODgKWyAgIDcz
LjgxMTY2NV0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IGJpb3M6IHZlcnNpb24gOTQuMDcuNTcuMDAu
NmEKWyAgIDczLjgxNDI4Ml0gW2RybV0gYWRkIGlwIGJsb2NrIG51bWJlciAwIDxudl9jb21tb24+
ClsgICA3My44MTQyODRdIFtkcm1dIGFkZCBpcCBibG9jayBudW1iZXIgMSA8Z21jX3YxMF8wPgpb
ICAgNzMuODE0Mjg1XSBbZHJtXSBhZGQgaXAgYmxvY2sgbnVtYmVyIDIgPG5hdmkxMF9paD4KWyAg
IDczLjgxNDI4NV0gW2RybV0gYWRkIGlwIGJsb2NrIG51bWJlciAzIDxwc3A+ClsgICA3My44MTQy
ODZdIFtkcm1dIGFkZCBpcCBibG9jayBudW1iZXIgNCA8c211PgpbICAgNzMuODE0Mjg3XSBbZHJt
XSBhZGQgaXAgYmxvY2sgbnVtYmVyIDUgPGRtPgpbICAgNzMuODE0Mjg4XSBbZHJtXSBhZGQgaXAg
YmxvY2sgbnVtYmVyIDYgPGdmeF92MTBfMD4KWyAgIDczLjgxNDI4OV0gW2RybV0gYWRkIGlwIGJs
b2NrIG51bWJlciA3IDxzZG1hX3Y1XzI+ClsgICA3My44MTQyOTBdIFtkcm1dIGFkZCBpcCBibG9j
ayBudW1iZXIgOCA8dmNuX3YzXzA+ClsgICA3My44MTQyOTBdIFtkcm1dIGFkZCBpcCBibG9jayBu
dW1iZXIgOSA8anBlZ192M18wPgpbICAgNzMuODE1MTU3XSBhbWRncHUgMDAwMDowNDowMC4wOiBh
bWRncHU6IEZldGNoZWQgVkJJT1MgZnJvbSBWRkNUClsgICA3My44MTYxMzFdIGFtZGdwdTogQVRP
TSBCSU9TOiAxMTMtUkVNQlJBTkRULVgzNQpbICAgNzMuODE2MTM5XSBbZHJtXSBWQ04oMCkgZGVj
b2RlIGlzIGVuYWJsZWQgaW4gVk0gbW9kZQpbICAgNzMuODE2MTQwXSBbZHJtXSBWQ04oMCkgZW5j
b2RlIGlzIGVuYWJsZWQgaW4gVk0gbW9kZQpbICAgNzMuODE2MTQxXSBbZHJtXSBKUEVHIGRlY29k
ZSBpcyBlbmFibGVkIGluIFZNIG1vZGUKWyAgIDczLjgxNjE0OV0gYW1kZ3B1IDAwMDA6MDQ6MDAu
MDogYW1kZ3B1OiBQQ0lFIGF0b21pYyBvcHMgaXMgbm90IHN1cHBvcnRlZApbICAgNzMuODE2MTc3
XSBbZHJtXSB2bSBzaXplIGlzIDI2MjE0NCBHQiwgNCBsZXZlbHMsIGJsb2NrIHNpemUgaXMgOS1i
aXQsIGZyYWdtZW50IHNpemUgaXMgOS1iaXQKWyAgIDczLjgxNjE4MV0gYW1kZ3B1IDAwMDA6MDQ6
MDAuMDogYW1kZ3B1OiBWUkFNOiAxMDI0TSAweDAwMDAwMEY0MDAwMDAwMDAgLSAweDAwMDAwMEY0
M0ZGRkZGRkYgKDEwMjRNIHVzZWQpClsgICA3My44MTYxODNdIGFtZGdwdSAwMDAwOjA0OjAwLjA6
IGFtZGdwdTogR0FSVDogNTEyTSAweDAwMDAwMDAwMDAwMDAwMDAgLSAweDAwMDAwMDAwMUZGRkZG
RkYKWyAgIDczLjgxNjE4NF0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiBBR1A6IDI2NzQx
OTY0OE0gMHgwMDAwMDBGODAwMDAwMDAwIC0gMHgwMDAwRkZGRkZGRkZGRkZGClsgICA3My44MTYx
OTBdIFtkcm1dIERldGVjdGVkIFZSQU0gUkFNPTEwMjRNLCBCQVI9MTAyNE0KWyAgIDczLjgxNjE5
MF0gW2RybV0gUkFNIHdpZHRoIDI1NmJpdHMgRERSNQpbICAgNzMuODIxOTczXSBub3V2ZWF1IDAw
MDA6MDE6MDAuMDogZmI6IDQwOTYgTWlCIEdERFI2ClsgICA3My44NDM4MzNdIG5vdXZlYXUgMDAw
MDowMTowMC4wOiBEUk06IFZSQU06IDQwOTYgTWlCClsgICA3My44NDM4MzVdIG5vdXZlYXUgMDAw
MDowMTowMC4wOiBEUk06IEdBUlQ6IDUzNjg3MDkxMiBNaUIKWyAgIDczLjg0MzgzOF0gbm91dmVh
dSAwMDAwOjAxOjAwLjA6IERSTTogQklUIHRhYmxlICdBJyBub3QgZm91bmQKWyAgIDczLjg0Mzgz
OV0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IERSTTogQklUIHRhYmxlICdMJyBub3QgZm91bmQKWyAg
IDczLjg0Mzg0MF0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IERSTTogVE1EUyB0YWJsZSB2ZXJzaW9u
IDIuMApbICAgNzMuODQzODQwXSBub3V2ZWF1IDAwMDA6MDE6MDAuMDogRFJNOiBEQ0IgdmVyc2lv
biA0LjEKWyAgIDczLjg0Mzg0MV0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IERSTTogRENCIG91dHAg
MDA6IDAyODAwZjY2IDA0NjEwMDIwClsgICA3My44NDM4NDJdIG5vdXZlYXUgMDAwMDowMTowMC4w
OiBEUk06IERDQiBjb25uIDAwOiAwMDAyMDA0NwpbICAgNzMuODQ0MTQwXSBub3V2ZWF1IDAwMDA6
MDE6MDAuMDogRFJNOiBNTTogdXNpbmcgQ09QWSBmb3IgYnVmZmVyIGNvcGllcwpbICAgNzMuODg5
Mjc3XSBbZHJtXSBhbWRncHU6IDEwMjRNIG9mIFZSQU0gbWVtb3J5IHJlYWR5ClsgICA3My44ODky
NzldIFtkcm1dIGFtZGdwdTogMjkyNU0gb2YgR1RUIG1lbW9yeSByZWFkeS4KWyAgIDczLjg4OTI4
Nl0gW2RybV0gR0FSVDogbnVtIGNwdSBwYWdlcyAxMzEwNzIsIG51bSBncHUgcGFnZXMgMTMxMDcy
ClsgICA3My44ODk2NzVdIFtkcm1dIFBDSUUgR0FSVCBvZiA1MTJNIGVuYWJsZWQgKHRhYmxlIGF0
IDB4MDAwMDAwRjQwMTY4MDAwMCkuClsgICA3My44ODk5NjhdIGFtZGdwdSAwMDAwOjA0OjAwLjA6
IGFtZGdwdTogUFNQIHJ1bnRpbWUgZGF0YWJhc2UgZG9lc24ndCBleGlzdApbICAgNzMuODkwMTAz
XSBbZHJtXSBMb2FkaW5nIERNVUIgZmlybXdhcmUgdmlhIFBTUDogdmVyc2lvbj0weDA0MDAwMDA4
ClsgICA3My44OTExNzFdIFtkcm1dIHVzZV9kb29yYmVsbCBiZWluZyBzZXQgdG86IFt0cnVlXQpb
ICAgNzMuODkxMzAyXSBbZHJtXSBGb3VuZCBWQ04gZmlybXdhcmUgVmVyc2lvbiBFTkM6IDEuMTQg
REVDOiAyIFZFUDogMCBSZXZpc2lvbjogMwpbICAgNzMuODkxMzA3XSBhbWRncHUgMDAwMDowNDow
MC4wOiBhbWRncHU6IFdpbGwgdXNlIFBTUCB0byBsb2FkIFZDTiBmaXJtd2FyZQpbICAgNzMuOTE0
OTA5XSBbZHJtXSByZXNlcnZlIDB4YTAwMDAwIGZyb20gMHhmNDNmNDAwMDAwIGZvciBQU1AgVE1S
ClsgICA3NC4wNzAyNzJdIGFtZGdwdSAwMDAwOjA0OjAwLjA6IGFtZGdwdTogUkFTOiBvcHRpb25h
bCByYXMgdGEgdWNvZGUgaXMgbm90IGF2YWlsYWJsZQpbICAgNzQuMDgxODU2XSBhbWRncHUgMDAw
MDowNDowMC4wOiBhbWRncHU6IFJBUDogb3B0aW9uYWwgcmFwIHRhIHVjb2RlIGlzIG5vdCBhdmFp
bGFibGUKWyAgIDc0LjA4MTg2MF0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiBTRUNVUkVE
SVNQTEFZOiBzZWN1cmVkaXNwbGF5IHRhIHVjb2RlIGlzIG5vdCBhdmFpbGFibGUKWyAgIDc0LjA4
NTEwNl0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiBTTVUgaXMgaW5pdGlhbGl6ZWQgc3Vj
Y2Vzc2Z1bGx5IQpbICAgNzQuMDg1NDA5XSBbZHJtXSBEaXNwbGF5IENvcmUgaW5pdGlhbGl6ZWQg
d2l0aCB2My4yLjE3NyEKWyAgIDc0LjA4NzI5NV0gW2RybV0gRE1VQiBoYXJkd2FyZSBpbml0aWFs
aXplZDogdmVyc2lvbj0weDA0MDAwMDA4ClsgICA3NC4xNzY0ODFdIG5vdXZlYXUgMDAwMDowMTow
MC4wOiBbZHJtXSBDYW5ub3QgZmluZCBhbnkgY3J0YyBvciBzaXplcwpbICAgNzQuMTc3MDUwXSBb
ZHJtXSBJbml0aWFsaXplZCBub3V2ZWF1IDEuMy4xIDIwMTIwODAxIGZvciAwMDAwOjAxOjAwLjAg
b24gbWlub3IgMQpbICAgNzQuMjA4Mjc2XSBub3V2ZWF1IDAwMDA6MDE6MDAuMDogW2RybV0gQ2Fu
bm90IGZpbmQgYW55IGNydGMgb3Igc2l6ZXMKWyAgIDc0LjIyOTc5OF0gW2RybV0gUFNSIHN1cHBv
cnQ6MApbICAgNzQuMjMwNTk3XSBbZHJtXSBraXEgcmluZyBtZWMgMiBwaXBlIDEgcSAwClsgICA3
NC4yMzMyMTFdIFtkcm1dIFZDTiBkZWNvZGUgYW5kIGVuY29kZSBpbml0aWFsaXplZCBzdWNjZXNz
ZnVsbHkodW5kZXIgRFBHIE1vZGUpLgpbICAgNzQuMjMzMjQ4XSBbZHJtXSBKUEVHIGRlY29kZSBp
bml0aWFsaXplZCBzdWNjZXNzZnVsbHkuClsgICA3NC4yMzQ2NjVdIGtmZCBrZmQ6IGFtZGdwdTog
QWxsb2NhdGVkIDM5NjkwNTYgYnl0ZXMgb24gZ2FydApbICAgNzQuMjQzMTkwXSBtZW1tYXBfaW5p
dF96b25lX2RldmljZSBpbml0aWFsaXNlZCAyNjIxNDQgcGFnZXMgaW4gMm1zClsgICA3NC4yNDMy
MDRdIGFtZGdwdTogSE1NIHJlZ2lzdGVyZWQgMTAyNE1CIGRldmljZSBtZW1vcnkKWyAgIDc0LjI0
MzY1Ml0gYW1kZ3B1OiBTUkFUIHRhYmxlIG5vdCBmb3VuZApbICAgNzQuMjQzNjUzXSBhbWRncHU6
IFZpcnR1YWwgQ1JBVCB0YWJsZSBjcmVhdGVkIGZvciBHUFUKWyAgIDc0LjI0NDgwN10gYW1kZ3B1
OiBUb3BvbG9neTogQWRkIGRHUFUgbm9kZSBbMHgxNjgxOjB4MTAwMl0KWyAgIDc0LjI0NDgxNV0g
a2ZkIGtmZDogYW1kZ3B1OiBhZGRlZCBkZXZpY2UgMTAwMjoxNjgxClsgICA3NC4yNDQ4MzJdIGFt
ZGdwdSAwMDAwOjA0OjAwLjA6IGFtZGdwdTogU0UgMSwgU0ggcGVyIFNFIDIsIENVIHBlciBTSCA2
LCBhY3RpdmVfY3VfbnVtYmVyIDEyClsgICA3NC4yNDYzMjVdIGFtZGdwdSAwMDAwOjA0OjAwLjA6
IGFtZGdwdTogcmluZyBnZnhfMC4wLjAgdXNlcyBWTSBpbnYgZW5nIDAgb24gaHViIDAKWyAgIDc0
LjI0NjMyN10gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiByaW5nIGNvbXBfMS4wLjAgdXNl
cyBWTSBpbnYgZW5nIDEgb24gaHViIDAKWyAgIDc0LjI0NjMyOV0gYW1kZ3B1IDAwMDA6MDQ6MDAu
MDogYW1kZ3B1OiByaW5nIGNvbXBfMS4xLjAgdXNlcyBWTSBpbnYgZW5nIDQgb24gaHViIDAKWyAg
IDc0LjI0NjMyOV0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiByaW5nIGNvbXBfMS4yLjAg
dXNlcyBWTSBpbnYgZW5nIDUgb24gaHViIDAKWyAgIDc0LjI0NjMzMF0gYW1kZ3B1IDAwMDA6MDQ6
MDAuMDogYW1kZ3B1OiByaW5nIGNvbXBfMS4zLjAgdXNlcyBWTSBpbnYgZW5nIDYgb24gaHViIDAK
WyAgIDc0LjI0NjMzMV0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiByaW5nIGNvbXBfMS4w
LjEgdXNlcyBWTSBpbnYgZW5nIDcgb24gaHViIDAKWyAgIDc0LjI0NjMzMl0gYW1kZ3B1IDAwMDA6
MDQ6MDAuMDogYW1kZ3B1OiByaW5nIGNvbXBfMS4xLjEgdXNlcyBWTSBpbnYgZW5nIDggb24gaHVi
IDAKWyAgIDc0LjI0NjMzMl0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiByaW5nIGNvbXBf
MS4yLjEgdXNlcyBWTSBpbnYgZW5nIDkgb24gaHViIDAKWyAgIDc0LjI0NjMzM10gYW1kZ3B1IDAw
MDA6MDQ6MDAuMDogYW1kZ3B1OiByaW5nIGNvbXBfMS4zLjEgdXNlcyBWTSBpbnYgZW5nIDEwIG9u
IGh1YiAwClsgICA3NC4yNDYzMzRdIGFtZGdwdSAwMDAwOjA0OjAwLjA6IGFtZGdwdTogcmluZyBr
aXFfMi4xLjAgdXNlcyBWTSBpbnYgZW5nIDExIG9uIGh1YiAwClsgICA3NC4yNDYzMzRdIGFtZGdw
dSAwMDAwOjA0OjAwLjA6IGFtZGdwdTogcmluZyBzZG1hMCB1c2VzIFZNIGludiBlbmcgMTIgb24g
aHViIDAKWyAgIDc0LjI0NjMzNV0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiByaW5nIHZj
bl9kZWNfMCB1c2VzIFZNIGludiBlbmcgMCBvbiBodWIgMQpbICAgNzQuMjQ2MzM2XSBhbWRncHUg
MDAwMDowNDowMC4wOiBhbWRncHU6IHJpbmcgdmNuX2VuY18wLjAgdXNlcyBWTSBpbnYgZW5nIDEg
b24gaHViIDEKWyAgIDc0LjI0NjMzN10gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogYW1kZ3B1OiByaW5n
IHZjbl9lbmNfMC4xIHVzZXMgVk0gaW52IGVuZyA0IG9uIGh1YiAxClsgICA3NC4yNDYzMzhdIGFt
ZGdwdSAwMDAwOjA0OjAwLjA6IGFtZGdwdTogcmluZyBqcGVnX2RlYyB1c2VzIFZNIGludiBlbmcg
NSBvbiBodWIgMQpbICAgNzQuMjUwOTAxXSBbZHJtXSBJbml0aWFsaXplZCBhbWRncHUgMy40Ni4w
IDIwMTUwMTAxIGZvciAwMDAwOjA0OjAwLjAgb24gbWlub3IgMApbICAgNzQuMjY1MzM3XSBmYmNv
bjogYW1kZ3B1ZHJtZmIgKGZiMCkgaXMgcHJpbWFyeSBkZXZpY2UKWyAgIDc0LjI2NjQ3OV0gW2Ry
bV0gRFNDIHByZWNvbXB1dGUgaXMgbm90IG5lZWRlZC4KWyAgIDc1LjE4NDM1NV0gQ29uc29sZTog
c3dpdGNoaW5nIHRvIGNvbG91ciBmcmFtZSBidWZmZXIgZGV2aWNlIDM4NHgxMjAKWyAgIDc1LjIw
NDA3Ml0gYW1kZ3B1IDAwMDA6MDQ6MDAuMDogW2RybV0gZmIwOiBhbWRncHVkcm1mYiBmcmFtZSBi
dWZmZXIgZGV2aWNlClsgICA4NS44NTE0NDZdIGthdWRpdGRfcHJpbnRrX3NrYjogOCBjYWxsYmFj
a3Mgc3VwcHJlc3NlZApbICAgODUuODUxNDQ4XSBhdWRpdDogdHlwZT0xMzM4IGF1ZGl0KDE2NjA1
MzgxODQuODc3OjI1KTogbW9kdWxlPWNyeXB0IG9wPWN0ciBwcGlkPTEgcGlkPTQzNCBhdWlkPTQy
OTQ5NjcyOTUgdWlkPTAgZ2lkPTAgZXVpZD0wIHN1aWQ9MCBmc3VpZD0wIGVnaWQ9MCBzZ2lkPTAg
ZnNnaWQ9MCB0dHk9KG5vbmUpIHNlcz00Mjk0OTY3Mjk1IGNvbW09InN5c3RlbWQtY3J5cHRzZSIg
ZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtY3J5cHRzZXR1cCIgZGV2PTI1MzowIGVycm9y
X21zZz0nc3VjY2VzcycgcmVzPTEKWyAgIDg1Ljg1MTY4NV0gYXVkaXQ6IHR5cGU9MTMwMCBhdWRp
dCgxNjYwNTM4MTg0Ljg3NzoyNSk6IGFyY2g9YzAwMDAwM2Ugc3lzY2FsbD0xNiBzdWNjZXNzPXll
cyBleGl0PTAgYTA9NCBhMT1jMTM4ZmQwOSBhMj01ZWRlNTQ2M2YzNDAgYTM9NWVkZTU0NjM2NmEw
IGl0ZW1zPTYgcHBpZD0xIHBpZD00MzQgYXVpZD00Mjk0OTY3Mjk1IHVpZD0wIGdpZD0wIGV1aWQ9
MCBzdWlkPTAgZnN1aWQ9MCBlZ2lkPTAgc2dpZD0wIGZzZ2lkPTAgdHR5PShub25lKSBzZXM9NDI5
NDk2NzI5NSBjb21tPSJzeXN0ZW1kLWNyeXB0c2UiIGV4ZT0iL3Vzci9saWIvc3lzdGVtZC9zeXN0
ZW1kLWNyeXB0c2V0dXAiIGtleT0obnVsbCkKWyAgIDg1Ljg1MTY4OF0gYXVkaXQ6IHR5cGU9MTMw
NyBhdWRpdCgxNjYwNTM4MTg0Ljg3NzoyNSk6IGN3ZD0iLyIKWyAgIDg1Ljg1MTY4OV0gYXVkaXQ6
IHR5cGU9MTMwMiBhdWRpdCgxNjYwNTM4MTg0Ljg3NzoyNSk6IGl0ZW09MCBuYW1lPShudWxsKSBp
bm9kZT0zNCBkZXY9MDA6MDcgbW9kZT0wNDA3NTUgb3VpZD0wIG9naWQ9MCByZGV2PTAwOjAwIG5h
bWV0eXBlPVBBUkVOVCBjYXBfZnA9MCBjYXBfZmk9MCBjYXBfZmU9MCBjYXBfZnZlcj0wIGNhcF9m
cm9vdGlkPTAKWyAgIDg1Ljg1MTY5MV0gYXVkaXQ6IHR5cGU9MTMwMiBhdWRpdCgxNjYwNTM4MTg0
Ljg3NzoyNSk6IGl0ZW09MSBuYW1lPShudWxsKSBpbm9kZT0xODA3MSBkZXY9MDA6MDcgbW9kZT0w
NDA3NTUgb3VpZD0wIG9naWQ9MCByZGV2PTAwOjAwIG5hbWV0eXBlPUNSRUFURSBjYXBfZnA9MCBj
YXBfZmk9MCBjYXBfZmU9MCBjYXBfZnZlcj0wIGNhcF9mcm9vdGlkPTAKWyAgIDg1Ljg1MTY5Ml0g
YXVkaXQ6IHR5cGU9MTMwMiBhdWRpdCgxNjYwNTM4MTg0Ljg3NzoyNSk6IGl0ZW09MiBuYW1lPShu
dWxsKSBpbm9kZT0yMyBkZXY9MDA6MDcgbW9kZT0wNDA3NTUgb3VpZD0wIG9naWQ9MCByZGV2PTAw
OjAwIG5hbWV0eXBlPVBBUkVOVCBjYXBfZnA9MCBjYXBfZmk9MCBjYXBfZmU9MCBjYXBfZnZlcj0w
IGNhcF9mcm9vdGlkPTAKWyAgIDg1Ljg1MTY5M10gYXVkaXQ6IHR5cGU9MTMwMiBhdWRpdCgxNjYw
NTM4MTg0Ljg3NzoyNSk6IGl0ZW09MyBuYW1lPShudWxsKSBpbm9kZT0xODA3MiBkZXY9MDA6MDcg
bW9kZT0wNDA3NTUgb3VpZD0wIG9naWQ9MCByZGV2PTAwOjAwIG5hbWV0eXBlPUNSRUFURSBjYXBf
ZnA9MCBjYXBfZmk9MCBjYXBfZmU9MCBjYXBfZnZlcj0wIGNhcF9mcm9vdGlkPTAKWyAgIDg1Ljg1
MTY5NF0gYXVkaXQ6IHR5cGU9MTMwMiBhdWRpdCgxNjYwNTM4MTg0Ljg3NzoyNSk6IGl0ZW09NCBu
YW1lPShudWxsKSBpbm9kZT0xODA3MiBkZXY9MDA6MDcgbW9kZT0wNDA3NTUgb3VpZD0wIG9naWQ9
MCByZGV2PTAwOjAwIG5hbWV0eXBlPVBBUkVOVCBjYXBfZnA9MCBjYXBfZmk9MCBjYXBfZmU9MCBj
YXBfZnZlcj0wIGNhcF9mcm9vdGlkPTAKWyAgIDg1Ljg1MTY5Nl0gYXVkaXQ6IHR5cGU9MTMwMiBh
dWRpdCgxNjYwNTM4MTg0Ljg3NzoyNSk6IGl0ZW09NSBuYW1lPShudWxsKSBpbm9kZT0xODA3MyBk
ZXY9MDA6MDcgbW9kZT0wMTAwNDQ0IG91aWQ9MCBvZ2lkPTAgcmRldj0wMDowMCBuYW1ldHlwZT1D
UkVBVEUgY2FwX2ZwPTAgY2FwX2ZpPTAgY2FwX2ZlPTAgY2FwX2Z2ZXI9MCBjYXBfZnJvb3RpZD0w
ClsgICA4NS44NTE2OTddIGF1ZGl0OiB0eXBlPTEzMjcgYXVkaXQoMTY2MDUzODE4NC44Nzc6MjUp
OiBwcm9jdGl0bGU9MkY3NTczNzIyRjZDNjk2MjJGNzM3OTczNzQ2NTZENjQyRjczNzk3Mzc0NjU2
RDY0MkQ2MzcyNzk3MDc0NzM2NTc0NzU3MDAwNjE3NDc0NjE2MzY4MDA2Qzc1NkI3MzJENjMzNDYz
MzEzMTMyNjYzNDJENjE2NDMxMzAyRDM0NjM2MjMwMkQ2MjY2NjI2MjJENjMzOTY0MzMzNjM1MzMz
MjMzMzMzMjMyMDAyRjY0NjU3NjJGNjQ2OTczNkIyRjYyNzkyRDc1NzU2OTY0MkY2MzM0NjMzMTMx
MzI2NjM0MkQ2MTY0MzEzMDJEMzQ2MzYyMzAyRDYyNjY2MjYyMkQ2MwpbICAgODYuMzQyNjY2XSBF
WFQ0LWZzIChkbS00KTogbW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUu
IFF1b3RhIG1vZGU6IG5vbmUuClsgICA4Ni41OTY3NDhdIHN5c3RlbWQtam91cm5hbGRbMjIxXTog
UmVjZWl2ZWQgU0lHVEVSTSBmcm9tIFBJRCAxIChzeXN0ZW1kKS4KWyAgIDg2LjY3Mjk5MV0gc3lz
dGVtZFsxXTogUlRDIGNvbmZpZ3VyZWQgaW4gbG9jYWx0aW1lLCBhcHBseWluZyBkZWx0YSBvZiA2
MDAgbWludXRlcyB0byBzeXN0ZW0gdGltZS4KWyAgIDg2LjY4NTI1OF0gc3lzdGVtZFsxXTogc3lz
dGVtZCB2MjQ1LjktMS5mYzMyIHJ1bm5pbmcgaW4gc3lzdGVtIG1vZGUuICgrUEFNICtBVURJVCAr
U0VMSU5VWCArSU1BIC1BUFBBUk1PUiArU01BQ0sgK1NZU1ZJTklUICtVVE1QICtMSUJDUllQVFNF
VFVQICtHQ1JZUFQgK0dOVVRMUyArQUNMICtYWiArTFo0ICtTRUNDT01QICtCTEtJRCArRUxGVVRJ
TFMgK0tNT0QgK0lETjIgLUlETiArUENSRTIgZGVmYXVsdC1oaWVyYXJjaHk9dW5pZmllZCkKWyAg
IDg2LjY4NTM2Nl0gc3lzdGVtZFsxXTogRGV0ZWN0ZWQgYXJjaGl0ZWN0dXJlIHg4Ni02NC4KWyAg
IDg2LjY4NTc4NV0gc3lzdGVtZFsxXTogU2V0IGhvc3RuYW1lIHRvIDxkb20wPi4KWyAgIDg2Ljgw
MDc5NV0gc3lzdGVtZFsxXTogL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vdXNiZ3VhcmQuc2Vydmlj
ZToxNTogUElERmlsZT0gcmVmZXJlbmNlcyBhIHBhdGggYmVsb3cgbGVnYWN5IGRpcmVjdG9yeSAv
dmFyL3J1bi8sIHVwZGF0aW5nIC92YXIvcnVuL3VzYmd1YXJkLnBpZCDihpIgL3J1bi91c2JndWFy
ZC5waWQ7IHBsZWFzZSB1cGRhdGUgdGhlIHVuaXQgZmlsZSBhY2NvcmRpbmdseS4KWyAgIDg2Ljkx
NTkyN10gc3lzdGVtZFsxXTogaW5pdHJkLXN3aXRjaC1yb290LnNlcnZpY2U6IFN1Y2NlZWRlZC4K
WyAgIDg2LjkxNjA1N10gc3lzdGVtZFsxXTogU3RvcHBlZCBTd2l0Y2ggUm9vdC4KWyAgIDg2Ljkx
NjM1OV0gc3lzdGVtZFsxXTogc3lzdGVtZC1qb3VybmFsZC5zZXJ2aWNlOiBTY2hlZHVsZWQgcmVz
dGFydCBqb2IsIHJlc3RhcnQgY291bnRlciBpcyBhdCAxLgpbICAgODYuOTE2NTA4XSBzeXN0ZW1k
WzFdOiBDcmVhdGVkIHNsaWNlIHN5c3RlbS1nZXR0eS5zbGljZS4KWyAgIDg2LjkxNjcwN10gc3lz
dGVtZFsxXTogQ3JlYXRlZCBzbGljZSBzeXN0ZW0tbW9kcHJvYmUuc2xpY2UuClsgICA4Ni45MTY5
MjNdIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2Ugc3lzdGVtLXNlcmlhbFx4MmRnZXR0eS5zbGlj
ZS4KWyAgIDg2LjkxNzExOF0gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGljZSBzeXN0ZW0tc3lzdGVt
ZFx4MmRmc2NrLnNsaWNlLgpbICAgODYuOTE3Mjk3XSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNl
IFVzZXIgYW5kIFNlc3Npb24gU2xpY2UuClsgICA4Ni45MTczNjZdIHN5c3RlbWRbMV06IENvbmRp
dGlvbiBjaGVjayByZXN1bHRlZCBpbiBEaXNwYXRjaCBQYXNzd29yZCBSZXF1ZXN0cyB0byBDb25z
b2xlIERpcmVjdG9yeSBXYXRjaCBiZWluZyBza2lwcGVkLgpbICAgODYuOTE3NDg3XSBzeXN0ZW1k
WzFdOiBTZXQgdXAgYXV0b21vdW50IEFyYml0cmFyeSBFeGVjdXRhYmxlIEZpbGUgRm9ybWF0cyBG
aWxlIFN5c3RlbSBBdXRvbW91bnQgUG9pbnQuClsgICA4Ni45MTc1NzBdIHN5c3RlbWRbMV06IFJl
YWNoZWQgdGFyZ2V0IEJsb2NrIERldmljZSBQcmVwYXJhdGlvbiBmb3IgL2Rldi9tYXBwZXIvbHVr
cy1jNGMxMTJmNC1hZDEwLTRjYjAtYmZiYi1jOWQzNjUzMjMzMjIuClsgICA4Ni45MTc2NDVdIHN5
c3RlbWRbMV06IFN0b3BwZWQgdGFyZ2V0IFN3aXRjaCBSb290LgpbICAgODYuOTE3NzAyXSBzeXN0
ZW1kWzFdOiBTdG9wcGVkIHRhcmdldCBJbml0cmQgRmlsZSBTeXN0ZW1zLgpbICAgODYuOTE3OTM5
XSBzeXN0ZW1kWzFdOiBTdG9wcGVkIHRhcmdldCBJbml0cmQgUm9vdCBGaWxlIFN5c3RlbS4KWyAg
IDg2LjkxODAwNV0gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgUmVtb3RlIEVuY3J5cHRlZCBW
b2x1bWVzLgpbICAgODYuOTE4MDYxXSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBSZW1vdGUg
RmlsZSBTeXN0ZW1zLgpbICAgODYuOTE4MTMyXSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBT
bGljZXMuClsgICA4Ni45MTgyNTVdIHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBEZXZpY2UtbWFw
cGVyIGV2ZW50IGRhZW1vbiBGSUZPcy4KWyAgIDg2LjkxOTM1MF0gc3lzdGVtZFsxXTogTGlzdGVu
aW5nIG9uIFByb2Nlc3MgQ29yZSBEdW1wIFNvY2tldC4KWyAgIDg2LjkxOTQ1MV0gc3lzdGVtZFsx
XTogTGlzdGVuaW5nIG9uIGluaXRjdGwgQ29tcGF0aWJpbGl0eSBOYW1lZCBQaXBlLgpbICAgODYu
OTE5NTcyXSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gdWRldiBDb250cm9sIFNvY2tldC4KWyAg
IDg2LjkxOTY4NF0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIHVkZXYgS2VybmVsIFNvY2tldC4K
WyAgIDg2LjkxOTg0N10gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIFVzZXIgRGF0YWJhc2UgTWFu
YWdlciBTb2NrZXQuClsgICA4Ni45MjA3NjJdIHN5c3RlbWRbMV06IEFjdGl2YXRpbmcgc3dhcCAv
ZGV2L21hcHBlci9xdWJlc19kb20wLXN3YXAuLi4KWyAgIDg2LjkyMDk5Nl0gc3lzdGVtZFsxXTog
Q29uZGl0aW9uIGNoZWNrIHJlc3VsdGVkIGluIEh1Z2UgUGFnZXMgRmlsZSBTeXN0ZW0gYmVpbmcg
c2tpcHBlZC4KWyAgIDg2LjkyMTgwMl0gc3lzdGVtZFsxXTogTW91bnRpbmcgUE9TSVggTWVzc2Fn
ZSBRdWV1ZSBGaWxlIFN5c3RlbS4uLgpbICAgODYuOTIyNjEwXSBzeXN0ZW1kWzFdOiBNb3VudGlu
ZyBNb3VudCAvcHJvYy94ZW4gZmlsZXMuLi4KWyAgIDg2LjkyMzU1N10gc3lzdGVtZFsxXTogTW91
bnRpbmcgS2VybmVsIERlYnVnIEZpbGUgU3lzdGVtLi4uClsgICA4Ni45MjgzNzFdIEFkZGluZyA0
MTI4NzY0ayBzd2FwIG9uIC9kZXYvbWFwcGVyL3F1YmVzX2RvbTAtc3dhcC4gIFByaW9yaXR5Oi0y
IGV4dGVudHM6MSBhY3Jvc3M6NDEyODc2NGsgU1NGUwpbICAgODYuOTI4NTkwXSBzeXN0ZW1kWzFd
OiBNb3VudGluZyBLZXJuZWwgVHJhY2UgRmlsZSBTeXN0ZW0uLi4KWyAgIDg2LjkzMjY4OV0gc3lz
dGVtZFsxXTogU3RhcnRpbmcgQ3JlYXRlIGxpc3Qgb2Ygc3RhdGljIGRldmljZSBub2RlcyBmb3Ig
dGhlIGN1cnJlbnQga2VybmVsLi4uClsgICA4Ni45MzcyMzldIHN5c3RlbWRbMV06IFN0YXJ0aW5n
IE1vbml0b3Jpbmcgb2YgTFZNMiBtaXJyb3JzLCBzbmFwc2hvdHMgZXRjLiB1c2luZyBkbWV2ZW50
ZCBvciBwcm9ncmVzcyBwb2xsaW5nLi4uClsgICA4Ni45Mzg0NDddIHN5c3RlbWRbMV06IENvbmRp
dGlvbiBjaGVjayByZXN1bHRlZCBpbiBMb2FkIEtlcm5lbCBNb2R1bGUgY29uZmlnZnMgYmVpbmcg
c2tpcHBlZC4KWyAgIDg2Ljk0NTc4M10gc3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIENvbmZp
Z3VyYXRpb24gRmlsZSBTeXN0ZW0uLi4KWyAgIDg2Ljk0NTg5M10gc3lzdGVtZFsxXTogQ29uZGl0
aW9uIGNoZWNrIHJlc3VsdGVkIGluIExvYWQgS2VybmVsIE1vZHVsZSBkcm0gYmVpbmcgc2tpcHBl
ZC4KWyAgIDg2Ljk1MDAzNV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9kdWxl
IGZ1c2UuLi4KWyAgIDg2Ljk1MTkyMF0gc3lzdGVtZFsxXTogcGx5bW91dGgtc3dpdGNoLXJvb3Qu
c2VydmljZTogU3VjY2VlZGVkLgpbICAgODYuOTUzNzY3XSBzeXN0ZW1kWzFdOiBTdG9wcGVkIFBs
eW1vdXRoIHN3aXRjaCByb290IHNlcnZpY2UuClsgICA4Ni45NTc1OTddIGZ1c2U6IGluaXQgKEFQ
SSB2ZXJzaW9uIDcuMzYpClsgICA4Ni45NTk3ODZdIHN5c3RlbWRbMV06IENvbmRpdGlvbiBjaGVj
ayByZXN1bHRlZCBpbiBTZXQgVXAgQWRkaXRpb25hbCBCaW5hcnkgRm9ybWF0cyBiZWluZyBza2lw
cGVkLgpbICAgODYuOTU5ODMyXSBzeXN0ZW1kWzFdOiBTdG9wcGVkIEpvdXJuYWwgU2VydmljZS4K
WyAgIDg2Ljk2MTY3M10gc3lzdGVtZFsxXTogU3RhcnRpbmcgSm91cm5hbCBTZXJ2aWNlLi4uClsg
ICA4Ni45NjI3OThdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZXMuLi4K
WyAgIDg2Ljk2MzU0Ml0gc3lzdGVtZFsxXTogU3RhcnRpbmcgUmVtb3VudCBSb290IGFuZCBLZXJu
ZWwgRmlsZSBTeXN0ZW1zLi4uClsgICA4Ni45NjQzMTBdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIFJl
cGFydGl0aW9uIFJvb3QgRGlzay4uLgpbICAgODYuOTY1MTEyXSBzeXN0ZW1kWzFdOiBTdGFydGlu
ZyB1ZGV2IENvbGRwbHVnIGFsbCBEZXZpY2VzLi4uClsgICA4Ni45Njk1NTFdIHN5c3RlbWRbMV06
IHN5c3Jvb3QubW91bnQ6IFN1Y2NlZWRlZC4KWyAgIDg3LjAwMzA4OF0gc3lzdGVtZFsxXTogQWN0
aXZhdGVkIHN3YXAgL2Rldi9tYXBwZXIvcXViZXNfZG9tMC1zd2FwLgpbICAgODcuMDA0NDM4XSBz
eXN0ZW1kWzFdOiBNb3VudGVkIFBPU0lYIE1lc3NhZ2UgUXVldWUgRmlsZSBTeXN0ZW0uClsgICA4
Ny4wMDY0NDVdIHN5c3RlbWRbMV06IE1vdW50ZWQgTW91bnQgL3Byb2MveGVuIGZpbGVzLgpbICAg
ODcuMDA2OTQ5XSBzeXN0ZW1kWzFdOiBNb3VudGVkIEtlcm5lbCBEZWJ1ZyBGaWxlIFN5c3RlbS4K
WyAgIDg3LjAwNzE1OV0gc3lzdGVtZFsxXTogTW91bnRlZCBLZXJuZWwgVHJhY2UgRmlsZSBTeXN0
ZW0uClsgICA4Ny4wMDcxOTVdIEVYVDQtZnMgKGRtLTQpOiByZS1tb3VudGVkLiBRdW90YSBtb2Rl
OiBub25lLgpbICAgODcuMDExNzQ3XSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBDcmVhdGUgbGlzdCBv
ZiBzdGF0aWMgZGV2aWNlIG5vZGVzIGZvciB0aGUgY3VycmVudCBrZXJuZWwuClsgICA4Ny4wMTIw
MzhdIHN5c3RlbWRbMV06IE1vdW50ZWQgS2VybmVsIENvbmZpZ3VyYXRpb24gRmlsZSBTeXN0ZW0u
ClsgICA4Ny4wMTIzMzJdIHN5c3RlbWRbMV06IG1vZHByb2JlQGZ1c2Uuc2VydmljZTogU3VjY2Vl
ZGVkLgpbICAgODcuMDEyNzU1XSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1
bGUgZnVzZS4KWyAgIDg3LjAxMzg1NF0gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwg
TW9kdWxlcy4KWyAgIDg3LjAxNTAyM10gc3lzdGVtZFsxXTogRmluaXNoZWQgUmVtb3VudCBSb290
IGFuZCBLZXJuZWwgRmlsZSBTeXN0ZW1zLgpbICAgODcuMDE1Mzg0XSBzeXN0ZW1kWzFdOiBGaW5p
c2hlZCBSZXBhcnRpdGlvbiBSb290IERpc2suClsgICA4Ny4wMTU5NDFdIHN5c3RlbWRbMV06IFJl
YWNoZWQgdGFyZ2V0IFN3YXAuClsgICA4Ny4wMTk3ODBdIHN5c3RlbWRbMV06IE1vdW50aW5nIEZV
U0UgQ29udHJvbCBGaWxlIFN5c3RlbS4uLgpbICAgODcuMDIwODUzXSBzeXN0ZW1kWzFdOiB0bXAu
bW91bnQ6IERpcmVjdG9yeSAvdG1wIHRvIG1vdW50IG92ZXIgaXMgbm90IGVtcHR5LCBtb3VudGlu
ZyBhbnl3YXkuClsgICA4Ny4wMjE3ODFdIHN5c3RlbWRbMV06IE1vdW50aW5nIFRlbXBvcmFyeSBE
aXJlY3RvcnkgKC90bXApLi4uClsgICA4Ny4wMjIwMTZdIHN5c3RlbWRbMV06IENvbmRpdGlvbiBj
aGVjayByZXN1bHRlZCBpbiBGaXJzdCBCb290IFdpemFyZCBiZWluZyBza2lwcGVkLgpbICAgODcu
MDI3MTU1XSBzeXN0ZW1kWzFdOiBDb25kaXRpb24gY2hlY2sgcmVzdWx0ZWQgaW4gUmVidWlsZCBI
YXJkd2FyZSBEYXRhYmFzZSBiZWluZyBza2lwcGVkLgpbICAgODcuMDI3MTk5XSBzeXN0ZW1kWzFd
OiBDb25kaXRpb24gY2hlY2sgcmVzdWx0ZWQgaW4gUGxhdGZvcm0gUGVyc2lzdGVudCBTdG9yYWdl
IEFyY2hpdmFsIGJlaW5nIHNraXBwZWQuClsgICA4Ny4wMzI4MjRdIHN5c3RlbWRbMV06IFN0YXJ0
aW5nIExvYWQvU2F2ZSBSYW5kb20gU2VlZC4uLgpbICAgODcuMDQxMDU2XSBzeXN0ZW1kLWpvdXJu
YWxkWzgwN106IEZpbGUgL3J1bi9sb2cvam91cm5hbC8yMGZiNGE2MzE4ZGY0Y2IxOGVhYjNmMzFj
NWU1Mzk1Yy9zeXN0ZW0uam91cm5hbCBjb3JydXB0ZWQgb3IgdW5jbGVhbmx5IHNodXQgZG93biwg
cmVuYW1pbmcgYW5kIHJlcGxhY2luZy4KWyAgIDg3LjA0Mjc4Nl0gc3lzdGVtZFsxXTogU3RhcnRp
bmcgQXBwbHkgS2VybmVsIFZhcmlhYmxlcy4uLgpbICAgODcuMDQyOTA1XSBzeXN0ZW1kWzFdOiBD
b25kaXRpb24gY2hlY2sgcmVzdWx0ZWQgaW4gQ3JlYXRlIFN5c3RlbSBVc2VycyBiZWluZyBza2lw
cGVkLgpbICAgODcuMDUwNzQ1XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBDcmVhdGUgU3RhdGljIERl
dmljZSBOb2RlcyBpbiAvZGV2Li4uClsgICA4Ny4wNTc3MzddIHN5c3RlbWRbMV06IFN0YXJ0ZWQg
Sm91cm5hbCBTZXJ2aWNlLgpbICAgODcuMDk1ODQzXSBzeXN0ZW1kLWpvdXJuYWxkWzgwN106IFJl
Y2VpdmVkIGNsaWVudCByZXF1ZXN0IHRvIGZsdXNoIHJ1bnRpbWUgam91cm5hbC4KWyAgIDg3LjA5
ODIxNF0gc3lzdGVtZC1qb3VybmFsZFs4MDddOiBGaWxlIC92YXIvbG9nL2pvdXJuYWwvMjBmYjRh
NjMxOGRmNGNiMThlYWIzZjMxYzVlNTM5NWMvc3lzdGVtLmpvdXJuYWwgY29ycnVwdGVkIG9yIHVu
Y2xlYW5seSBzaHV0IGRvd24sIHJlbmFtaW5nIGFuZCByZXBsYWNpbmcuClsgICA4Ny4zNjQyMzdd
IGFjcGktdGFkIEFDUEkwMDBFOjAwOiBNaXNzaW5nIF9QUlcKWyAgIDg3LjU2Njc0NF0gQUNQSSBF
cnJvcjogTm8gaGFuZGxlciBmb3IgUmVnaW9uIFtFQ1NJXSAoMDAwMDAwMDA0MWM2Y2JmZCkgW0Vt
YmVkZGVkQ29udHJvbF0gKDIwMjExMjE3L2V2cmVnaW9uLTEzMCkKWyAgIDg3LjU2Njc1MF0gQUNQ
SSBFcnJvcjogUmVnaW9uIEVtYmVkZGVkQ29udHJvbCAoSUQ9MykgaGFzIG5vIGhhbmRsZXIgKDIw
MjExMjE3L2V4ZmxkaW8tMjYxKQpbICAgODcuNTY2NzUzXSBBQ1BJIEVycm9yOiBBYm9ydGluZyBt
ZXRob2QgXF9TQi5VQlRDLkVDUkQgZHVlIHRvIHByZXZpb3VzIGVycm9yIChBRV9OT1RfRVhJU1Qp
ICgyMDIxMTIxNy9wc3BhcnNlLTUyOSkKWyAgIDg3LjU2Njc1OF0gQUNQSSBFcnJvcjogQWJvcnRp
bmcgbWV0aG9kIFxfU0IuVUJUQy5fRFNNIGR1ZSB0byBwcmV2aW91cyBlcnJvciAoQUVfTk9UX0VY
SVNUKSAoMjAyMTEyMTcvcHNwYXJzZS01MjkpClsgICA4Ny41NjY3NjVdIEFDUEk6IFxfU0JfLlVC
VEM6IGZhaWxlZCB0byBldmFsdWF0ZSBfRFNNICgweDYpClsgICA4Ny41NjY3NjddIHVjc2lfYWNw
aSBVU0JDMDAwOjAwOiB1Y3NpX2FjcGlfZHNtOiBmYWlsZWQgdG8gZXZhbHVhdGUgX0RTTSAyClsg
ICA4Ny41NzEwMDFdIGlucHV0OiBJZGVhcGFkIGV4dHJhIGJ1dHRvbnMgYXMgL2RldmljZXMvcGNp
MDAwMDowMC8wMDAwOjAwOjE0LjMvUE5QMEMwOTowMC9WUEMyMDA0OjAwL2lucHV0L2lucHV0MTEK
WyAgIDg3LjU3MTAyNl0gaWRlYXBhZF9hY3BpIFZQQzIwMDQ6MDA6IEtleWJvYXJkIGJhY2tsaWdo
dCBjb250cm9sIG5vdCBhdmFpbGFibGUKWyAgIDg3LjcyNzI0M10gcGlpeDRfc21idXMgMDAwMDow
MDoxNC4wOiBTTUJ1cyBIb3N0IENvbnRyb2xsZXIgYXQgMHhiMDAsIHJldmlzaW9uIDAKWyAgIDg3
LjcyNzI0Nl0gcGlpeDRfc21idXMgMDAwMDowMDoxNC4wOiBVc2luZyByZWdpc3RlciAweDAyIGZv
ciBTTUJ1cyBwb3J0IHNlbGVjdGlvbgpbICAgODcuNzI3MjkyXSBwaWl4NF9zbWJ1cyAwMDAwOjAw
OjE0LjA6IEF1eGlsaWFyeSBTTUJ1cyBIb3N0IENvbnRyb2xsZXIgYXQgMHhiMjAKWyAgIDg3Ljcy
ODY1N10gc3A1MTAwX3RjbzogU1A1MTAwL1NCODAwIFRDTyBXYXRjaERvZyBUaW1lciBEcml2ZXIK
WyAgIDg3LjczMTExM10gc3A1MTAwLXRjbyBzcDUxMDAtdGNvOiBVc2luZyAweGZlYjAwMDAwIGZv
ciB3YXRjaGRvZyBNTUlPIGFkZHJlc3MKWyAgIDg3LjczNTE1Ml0gc3A1MTAwLXRjbyBzcDUxMDAt
dGNvOiBpbml0aWFsaXplZC4gaGVhcnRiZWF0PTYwIHNlYyAobm93YXlvdXQ9MCkKWyAgIDg3Ljgy
Njk0Ml0gc25kX3BjaV9hY3A2eCAwMDAwOjA0OjAwLjU6IGVuYWJsaW5nIGRldmljZSAoMDAwMCAt
PiAwMDAyKQpbICAgODcuODI3MDMwXSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAzNSB0cmlnZ2VyaW5n
IDAgcG9sYXJpdHkgMQpbICAgODcuODI3MDUzXSB4ZW46IC0tPiBwaXJxPTM1IC0+IGlycT0zNSAo
Z3NpPTM1KQpbICAgODcuOTIyMjU5XSBzbmRfaGRhX2ludGVsIDAwMDA6MDQ6MDAuMTogZW5hYmxp
bmcgZGV2aWNlICgwMDAwIC0+IDAwMDIpClsgICA4Ny45MjIzMjldIHhlbjogcmVnaXN0ZXJpbmcg
Z3NpIDM1IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICA4Ny45MjIzMzddIEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6MzUKWyAgIDg3LjkyMjM3MF0gc25kX2hkYV9pbnRlbCAwMDAwOjA0OjAwLjE6
IEhhbmRsZSB2Z2Ffc3dpdGNoZXJvbyBhdWRpbyBjbGllbnQKWyAgIDg3LjkyMjY3N10gc25kX2hk
YV9pbnRlbCAwMDAwOjA0OjAwLjY6IGVuYWJsaW5nIGRldmljZSAoMDAwMCAtPiAwMDAyKQpbICAg
ODcuOTIzMjYwXSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAzMiB0cmlnZ2VyaW5nIDAgcG9sYXJpdHkg
MQpbICAgODcuOTIzMjYzXSBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjMyClsgICA4Ny45NDUyMzFd
IHNuZF9oZGFfaW50ZWwgMDAwMDowNDowMC4xOiBib3VuZCAwMDAwOjA0OjAwLjAgKG9wcyBhbWRn
cHVfZG1fYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzIFthbWRncHVdKQpbICAgODcuOTQ2MTA4XSBp
bnB1dDogSEQtQXVkaW8gR2VuZXJpYyBIRE1JL0RQLHBjbT0zIGFzIC9kZXZpY2VzL3BjaTAwMDA6
MDAvMDAwMDowMDowOC4xLzAwMDA6MDQ6MDAuMS9zb3VuZC9jYXJkMC9pbnB1dDEyClsgICA4Ny45
NDYxNjVdIGlucHV0OiBIRC1BdWRpbyBHZW5lcmljIEhETUkvRFAscGNtPTcgYXMgL2RldmljZXMv
cGNpMDAwMDowMC8wMDAwOjAwOjA4LjEvMDAwMDowNDowMC4xL3NvdW5kL2NhcmQwL2lucHV0MTMK
WyAgIDg3Ljk1NjM4Ml0gc25kX2hkYV9jb2RlY19yZWFsdGVrIGhkYXVkaW9DMUQwOiBhdXRvY29u
ZmlnIGZvciBBTEMyNTc6IGxpbmVfb3V0cz0xICgweDE0LzB4MC8weDAvMHgwLzB4MCkgdHlwZTpz
cGVha2VyClsgICA4Ny45NTYzODVdIHNuZF9oZGFfY29kZWNfcmVhbHRlayBoZGF1ZGlvQzFEMDog
ICAgc3BlYWtlcl9vdXRzPTAgKDB4MC8weDAvMHgwLzB4MC8weDApClsgICA4Ny45NTYzODddIHNu
ZF9oZGFfY29kZWNfcmVhbHRlayBoZGF1ZGlvQzFEMDogICAgaHBfb3V0cz0xICgweDIxLzB4MC8w
eDAvMHgwLzB4MCkKWyAgIDg3Ljk1NjM4OF0gc25kX2hkYV9jb2RlY19yZWFsdGVrIGhkYXVkaW9D
MUQwOiAgICBtb25vOiBtb25vX291dD0weDAKWyAgIDg3Ljk1NjM4OF0gc25kX2hkYV9jb2RlY19y
ZWFsdGVrIGhkYXVkaW9DMUQwOiAgICBpbnB1dHM6ClsgICA4Ny45NTYzODldIHNuZF9oZGFfY29k
ZWNfcmVhbHRlayBoZGF1ZGlvQzFEMDogICAgICBNaWM9MHgxOQpbICAgODcuOTU5OTUzXSBjZmc4
MDIxMTogTG9hZGluZyBjb21waWxlZC1pbiBYLjUwOSBjZXJ0aWZpY2F0ZXMgZm9yIHJlZ3VsYXRv
cnkgZGF0YWJhc2UKWyAgIDg3Ljk2Mjk0NV0gY2ZnODAyMTE6IExvYWRlZCBYLjUwOSBjZXJ0ICdz
Zm9yc2hlZTogMDBiMjhkZGY0N2FlZjljZWE3JwpbICAgODcuOTY0MDg0XSBwbGF0Zm9ybSByZWd1
bGF0b3J5LjA6IERpcmVjdCBmaXJtd2FyZSBsb2FkIGZvciByZWd1bGF0b3J5LmRiIGZhaWxlZCB3
aXRoIGVycm9yIC0yClsgICA4Ny45NjQwODhdIGNmZzgwMjExOiBmYWlsZWQgdG8gbG9hZCByZWd1
bGF0b3J5LmRiClsgICA4OC4wMDA5MTVdIGlucHV0OiBIRC1BdWRpbyBHZW5lcmljIE1pYyBhcyAv
ZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MDguMS8wMDAwOjA0OjAwLjYvc291bmQvY2FyZDEv
aW5wdXQxNApbICAgODguMDAwOTQyXSBpbnB1dDogSEQtQXVkaW8gR2VuZXJpYyBIZWFkcGhvbmUg
YXMgL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjA4LjEvMDAwMDowNDowMC42L3NvdW5kL2Nh
cmQxL2lucHV0MTUKWyAgIDg4LjA2MzEyMF0gaW5wdXQ6IFBDIFNwZWFrZXIgYXMgL2RldmljZXMv
cGxhdGZvcm0vcGNzcGtyL2lucHV0L2lucHV0MTYKWyAgIDg4LjI0MTgwMF0gbWM6IExpbnV4IG1l
ZGlhIGludGVyZmFjZTogdjAuMTAKWyAgIDg4LjI2ODY5NV0gdmlkZW9kZXY6IExpbnV4IHZpZGVv
IGNhcHR1cmUgaW50ZXJmYWNlOiB2Mi4wMApbICAgODguMzgzNjQxXSBCbHVldG9vdGg6IENvcmUg
dmVyIDIuMjIKWyAgIDg4LjM4Mzg5OF0gTkVUOiBSZWdpc3RlcmVkIFBGX0JMVUVUT09USCBwcm90
b2NvbCBmYW1pbHkKWyAgIDg4LjM4MzkwMF0gQmx1ZXRvb3RoOiBIQ0kgZGV2aWNlIGFuZCBjb25u
ZWN0aW9uIG1hbmFnZXIgaW5pdGlhbGl6ZWQKWyAgIDg4LjM4MzkwM10gQmx1ZXRvb3RoOiBIQ0kg
c29ja2V0IGxheWVyIGluaXRpYWxpemVkClsgICA4OC4zODM5MDVdIEJsdWV0b290aDogTDJDQVAg
c29ja2V0IGxheWVyIGluaXRpYWxpemVkClsgICA4OC4zODM5MDhdIEJsdWV0b290aDogU0NPIHNv
Y2tldCBsYXllciBpbml0aWFsaXplZApbICAgODguMzk3NDM1XSB1c2IgNS0xOiBGb3VuZCBVVkMg
MS41MCBkZXZpY2UgSW50ZWdyYXRlZCBSR0IgQ2FtZXJhICgzMGM5OjAwNTcpClsgICA4OC40MDgz
MDldIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgYnR1c2IKWyAgIDg4
LjQ0NTA3MV0gaW5wdXQ6IEludGVncmF0ZWQgUkdCIENhbWVyYTogSW50ZWdyYXQgYXMgL2Rldmlj
ZXMvcGNpMDAwMDowMC8wMDAwOjAwOjA4LjMvMDAwMDowNTowMC4wL3VzYjUvNS0xLzUtMToxLjAv
aW5wdXQvaW5wdXQxNwpbICAgODguNDQ3Mzg3XSB1c2IgNS0xOiBGb3VuZCBVVkMgMS41MCBkZXZp
Y2UgSW50ZWdyYXRlZCBSR0IgQ2FtZXJhICgzMGM5OjAwNTcpClsgICA4OC40NjQyMTJdIGlucHV0
OiBJbnRlZ3JhdGVkIFJHQiBDYW1lcmE6IEludGVncmF0IGFzIC9kZXZpY2VzL3BjaTAwMDA6MDAv
MDAwMDowMDowOC4zLzAwMDA6MDU6MDAuMC91c2I1LzUtMS81LTE6MS4yL2lucHV0L2lucHV0MTgK
WyAgIDg4LjQ2NDI0OV0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1
dmN2aWRlbwpbICAgODguNjg3NzQ3XSB1Y3NpX2FjcGk6IHByb2JlIG9mIFVTQkMwMDA6MDAgZmFp
bGVkIHdpdGggZXJyb3IgLTUKWyAgIDkwLjY0MDg4OF0gQmx1ZXRvb3RoOiBoY2kwOiBEZXZpY2Ug
c2V0dXAgaW4gMjE3NTkwNCB1c2VjcwpbICAgOTAuNzE3NzQ0XSBFWFQ0LWZzIChudm1lMG4xcDIp
OiBtb3VudGVkIGZpbGVzeXN0ZW0gd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gUXVvdGEgbW9kZTog
bm9uZS4KWyAgIDkwLjg2NjAwMF0ga2F1ZGl0ZF9wcmludGtfc2tiOiA5MCBjYWxsYmFja3Mgc3Vw
cHJlc3NlZApbICAgOTAuODY2MDAzXSBhdWRpdDogdHlwZT0xMTMwIGF1ZGl0KDE2NjA1MDIxODku
ODkxOjExNCk6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBtc2c9
J3VuaXQ9ZGJ1cy1icm9rZXIgY29tbT0ic3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5
c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnClsgICA5MC44
NzEzNjFdIGF1ZGl0OiB0eXBlPTExMzAgYXVkaXQoMTY2MDUwMjE4OS44OTY6MTE1KTogcGlkPTEg
dWlkPTAgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1IG1zZz0ndW5pdD1hbHNhLXN0YXRl
IGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/
IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJwpbICAgOTAuODk4MzczXSBhdWRpdDogdHlw
ZT0xMTMwIGF1ZGl0KDE2NjA1MDIxODkuOTIzOjExNik6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2
NzI5NSBzZXM9NDI5NDk2NzI5NSBtc2c9J3VuaXQ9cXViZXMtaW5wdXQtc2VuZGVyLWtleWJvYXJk
QGV2ZW50NyBjb21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9z
dG5hbWU9PyBhZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcycKWyAgIDkwLjkyMDYxMF0gYXVk
aXQ6IHR5cGU9MTMzNCBhdWRpdCgxNjYwNTAyMTg5Ljk0NToxMTcpOiBwcm9nLWlkPTI5IG9wPUxP
QUQKWyAgIDkwLjkyNzk0NF0gYXVkaXQ6IHR5cGU9MTMzNCBhdWRpdCgxNjYwNTAyMTg5Ljk1Mzox
MTgpOiBwcm9nLWlkPTMwIG9wPUxPQUQKWyAgIDkwLjkyODI2M10gYXVkaXQ6IHR5cGU9MTMzNCBh
dWRpdCgxNjYwNTAyMTg5Ljk1MzoxMTkpOiBwcm9nLWlkPTMxIG9wPUxPQUQKWyAgIDkwLjkzNTcx
MF0gYXVkaXQ6IHR5cGU9MTMzNCBhdWRpdCgxNjYwNTAyMTg5Ljk2MDoxMjApOiBwcm9nLWlkPTMy
IG9wPUxPQUQKWyAgIDkwLjk0OTg4Ml0gYXVkaXQ6IHR5cGU9MTMzNCBhdWRpdCgxNjYwNTAyMTg5
Ljk3NToxMjEpOiBwcm9nLWlkPTMzIG9wPUxPQUQKWyAgIDkwLjk0OTk5M10gYXVkaXQ6IHR5cGU9
MTMzNCBhdWRpdCgxNjYwNTAyMTg5Ljk3NToxMjIpOiBwcm9nLWlkPTM0IG9wPUxPQUQKWyAgIDkw
Ljk1NjczM10gYXVkaXQ6IHR5cGU9MTMzNCBhdWRpdCgxNjYwNTAyMTg5Ljk4MToxMjMpOiBwcm9n
LWlkPTM1IG9wPUxPQUQKWyAgIDk0LjE3NTIzOF0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IHZnYWFy
YjogY2hhbmdlZCBWR0EgZGVjb2Rlczogb2xkZGVjb2Rlcz1pbyttZW0sZGVjb2Rlcz1ub25lOm93
bnM9bm9uZQpbICAgOTQuMTc1MjQyXSBhbWRncHUgMDAwMDowNDowMC4wOiB2Z2FhcmI6IGNoYW5n
ZWQgVkdBIGRlY29kZXM6IG9sZGRlY29kZXM9aW8rbWVtLGRlY29kZXM9bm9uZTpvd25zPW5vbmUK
WyAgMTEwLjEyNzE1NF0ga2F1ZGl0ZF9wcmludGtfc2tiOiA0MCBjYWxsYmFja3Mgc3VwcHJlc3Nl
ZApbICAxMTAuMTI3MTU3XSBhdWRpdDogdHlwZT0xMTAwIGF1ZGl0KDE2NjA1MDIyMDkuMTUyOjE2
Mik6IHBpZD0zMTczIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBtc2c9J29w
PVBBTTphdXRoZW50aWNhdGlvbiBncmFudG9ycz1wYW1fdW5peCBhY2N0PSJjaGFpcm1hbiIgZXhl
PSIvdXNyL3NiaW4vbGlnaHRkbSIgaG9zdG5hbWU9PyBhZGRyPT8gdGVybWluYWw9OjAgcmVzPXN1
Y2Nlc3MnClsgIDExMC4xMjc5MDhdIGF1ZGl0OiB0eXBlPTExMDEgYXVkaXQoMTY2MDUwMjIwOS4x
NTM6MTYzKTogcGlkPTMxNzMgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1IG1z
Zz0nb3A9UEFNOmFjY291bnRpbmcgZ3JhbnRvcnM9cGFtX3VuaXggYWNjdD0iY2hhaXJtYW4iIGV4
ZT0iL3Vzci9zYmluL2xpZ2h0ZG0iIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPTowIHJlcz1z
dWNjZXNzJwpbICAxMTAuMTk5NTA1XSBhdWRpdDogdHlwZT0xMTA2IGF1ZGl0KDE2NjA1MDIyMDku
MjI0OjE2NCk6IHBpZD0yODA5IHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBt
c2c9J29wPVBBTTpzZXNzaW9uX2Nsb3NlIGdyYW50b3JzPXBhbV91bml4LHBhbV9zeXN0ZW1kIGFj
Y3Q9ImxpZ2h0ZG0iIGV4ZT0iL3Vzci9zYmluL2xpZ2h0ZG0iIGhvc3RuYW1lPT8gYWRkcj0/IHRl
cm1pbmFsPTowIHJlcz1zdWNjZXNzJwpbICAxMTAuMTk5NTEwXSBhdWRpdDogdHlwZT0xMTA0IGF1
ZGl0KDE2NjA1MDIyMDkuMjI0OjE2NSk6IHBpZD0yODA5IHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBz
ZXM9NDI5NDk2NzI5NSBtc2c9J29wPVBBTTpzZXRjcmVkIGdyYW50b3JzPXBhbV9lbnYscGFtX3Bl
cm1pdCBhY2N0PSJsaWdodGRtIiBleGU9Ii91c3Ivc2Jpbi9saWdodGRtIiBob3N0bmFtZT0/IGFk
ZHI9PyB0ZXJtaW5hbD06MCByZXM9c3VjY2VzcycKWyAgMTEwLjIxMDIwN10gYXVkaXQ6IHR5cGU9
MTEwMyBhdWRpdCgxNjYwNTAyMjA5LjIzNToxNjYpOiBwaWQ9MzE3MyB1aWQ9MCBhdWlkPTQyOTQ5
NjcyOTUgc2VzPTQyOTQ5NjcyOTUgbXNnPSdvcD1QQU06c2V0Y3JlZCBncmFudG9ycz1wYW1fdW5p
eCBhY2N0PSJjaGFpcm1hbiIgZXhlPSIvdXNyL3NiaW4vbGlnaHRkbSIgaG9zdG5hbWU9PyBhZGRy
PT8gdGVybWluYWw9OjAgcmVzPXN1Y2Nlc3MnClsgIDExMC4yMTAzMjFdIGF1ZGl0OiB0eXBlPTEw
MDYgYXVkaXQoMTY2MDUwMjIwOS4yMzU6MTY3KTogcGlkPTMxNzMgdWlkPTAgb2xkLWF1aWQ9NDI5
NDk2NzI5NSBhdWlkPTEwMDAgdHR5PShub25lKSBvbGQtc2VzPTQyOTQ5NjcyOTUgc2VzPTIgcmVz
PTEKWyAgMTEwLjIxMDM0Nl0gYXVkaXQ6IHR5cGU9MTMwMCBhdWRpdCgxNjYwNTAyMjA5LjIzNTox
NjcpOiBhcmNoPWMwMDAwMDNlIHN5c2NhbGw9MSBzdWNjZXNzPXllcyBleGl0PTQgYTA9NyBhMT03
ZmZjZDVjMGI1ZjAgYTI9NCBhMz03ZmZjZDVjMGIzMDQgaXRlbXM9MCBwcGlkPTI1NDggcGlkPTMx
NzMgYXVpZD0xMDAwIHVpZD0wIGdpZD0wIGV1aWQ9MCBzdWlkPTAgZnN1aWQ9MCBlZ2lkPTAgc2dp
ZD0wIGZzZ2lkPTAgdHR5PShub25lKSBzZXM9MiBjb21tPSJsaWdodGRtIiBleGU9Ii91c3Ivc2Jp
bi9saWdodGRtIiBrZXk9KG51bGwpClsgIDExMC4yMTA0MjhdIGF1ZGl0OiB0eXBlPTEzMjcgYXVk
aXQoMTY2MDUwMjIwOS4yMzU6MTY3KTogcHJvY3RpdGxlPTZDNjk2NzY4NzQ2NDZEMDAyRDJENzM2
NTczNzM2OTZGNkUyRDYzNjg2OTZDNjQwMDMxMzIwMDMxMzkKWyAgMTEwLjI0MDQ5Nl0gYXVkaXQ6
IHR5cGU9MTEzMCBhdWRpdCgxNjYwNTAyMjA5LjI2NDoxNjgpOiBwaWQ9MSB1aWQ9MCBhdWlkPTQy
OTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUgbXNnPSd1bml0PXVzZXItcnVudGltZS1kaXJAMTAwMCBj
b21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBh
ZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcycKWyAgMTEwLjI0NTQ2NV0gYXVkaXQ6IHR5cGU9
MTEwMSBhdWRpdCgxNjYwNTAyMjA5LjI3MDoxNjkpOiBwaWQ9MzE4MiB1aWQ9MCBhdWlkPTQyOTQ5
NjcyOTUgc2VzPTQyOTQ5NjcyOTUgbXNnPSdvcD1QQU06YWNjb3VudGluZyBncmFudG9ycz1wYW1f
dW5peCBhY2N0PSJjaGFpcm1hbiIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3Ru
YW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnClsgIDExMC4zOTc1NjhdIHN5c3Rl
bWQtam91cm5hbGRbODA3XTogRmlsZSAvdmFyL2xvZy9qb3VybmFsLzIwZmI0YTYzMThkZjRjYjE4
ZWFiM2YzMWM1ZTUzOTVjL3VzZXItMTAwMC5qb3VybmFsIGNvcnJ1cHRlZCBvciB1bmNsZWFubHkg
c2h1dCBkb3duLCByZW5hbWluZyBhbmQgcmVwbGFjaW5nLgpbICAxMTEuMDE2MTEzXSBbZHJtOmRj
X2RtdWJfc3J2X3dhaXRfaWRsZSBbYW1kZ3B1XV0gKkVSUk9SKiBFcnJvciB3YWl0aW5nIGZvciBE
TVVCIGlkbGU6IHN0YXR1cz0zClsgIDExNS4xOTAzOTZdIGthdWRpdGRfcHJpbnRrX3NrYjogMTgg
Y2FsbGJhY2tzIHN1cHByZXNzZWQKWyAgMTE1LjE5MDM5OF0gYXVkaXQ6IHR5cGU9MTEwMSBhdWRp
dCgxNjYwNTAyMjE0LjIxNToxODYpOiBwaWQ9MzM4MSB1aWQ9MTAwMCBhdWlkPTEwMDAgc2VzPTIg
bXNnPSdvcD1QQU06YWNjb3VudGluZyBncmFudG9ycz1wYW1fdW5peCBhY2N0PSJjaGFpcm1hbiIg
ZXhlPSIvdXNyL2Jpbi9zdWRvIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNj
ZXNzJwpbICAxMTUuMTkxNzQyXSBhdWRpdDogdHlwZT0xMTIzIGF1ZGl0KDE2NjA1MDIyMTQuMjE3
OjE4Nyk6IHBpZD0zMzgxIHVpZD0xMDAwIGF1aWQ9MTAwMCBzZXM9MiBtc2c9J2N3ZD0iL2hvbWUv
Y2hhaXJtYW4iIGNtZD0yRjYyNjk2RTJGNzM3OTczNzQ2NTZENjM3NDZDMjAyRDJENkU2RjJENjI2
QzZGNjM2QjIwNzM3NDYxNzI3NDIwNzE3NTYyNjU3MzJENjk2RTcwNzU3NDJENzM2NTZFNjQ2NTcy
MkQ3NDYxNjI2QzY1NzQ0MDY1NzY2NTZFNzQzNjJFNzM2NTcyNzY2OTYzNjUgZXhlPSIvdXNyL2Jp
bi9zdWRvIiB0ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJwpbICAxMTUuMTkyODYzXSBhdWRpdDogdHlw
ZT0xMTEwIGF1ZGl0KDE2NjA1MDIyMTQuMjE4OjE4OCk6IHBpZD0zMzgxIHVpZD0xMDAwIGF1aWQ9
MTAwMCBzZXM9MiBtc2c9J29wPVBBTTpzZXRjcmVkIGdyYW50b3JzPXBhbV9lbnYscGFtX3VuaXgg
YWNjdD0icm9vdCIgZXhlPSIvdXNyL2Jpbi9zdWRvIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5h
bD0/IHJlcz1zdWNjZXNzJwpbICAxMTUuMTk4NzgyXSBhdWRpdDogdHlwZT0xMTA1IGF1ZGl0KDE2
NjA1MDIyMTQuMjI0OjE4OSk6IHBpZD0zMzgxIHVpZD0xMDAwIGF1aWQ9MTAwMCBzZXM9MiBtc2c9
J29wPVBBTTpzZXNzaW9uX29wZW4gZ3JhbnRvcnM9cGFtX2tleWluaXQscGFtX2xpbWl0cyxwYW1f
a2V5aW5pdCxwYW1fbGltaXRzLHBhbV9zeXN0ZW1kLHBhbV91bml4IGFjY3Q9InJvb3QiIGV4ZT0i
L3Vzci9iaW4vc3VkbyIgaG9zdG5hbWU9PyBhZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcycK
WyAgMTE1LjIzMzU0NF0gYXVkaXQ6IHR5cGU9MTEzMCBhdWRpdCgxNjYwNTAyMjE0LjI1ODoxOTAp
OiBwaWQ9MSB1aWQ9MCBhdWlkPTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUgbXNnPSd1bml0PXF1
YmVzLWlucHV0LXNlbmRlci10YWJsZXRAZXZlbnQ2IGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9s
aWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNj
ZXNzJwpbICAxMTUuMjM4OTIyXSBhdWRpdDogdHlwZT0xMTMxIGF1ZGl0KDE2NjA1MDIyMTQuMjY0
OjE5MSk6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBtc2c9J3Vu
aXQ9cXViZXMtaW5wdXQtc2VuZGVyLXRhYmxldEBldmVudDYgY29tbT0ic3lzdGVtZCIgZXhlPSIv
dXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVz
PXN1Y2Nlc3MnClsgIDExNS4yNDU2MzldIGF1ZGl0OiB0eXBlPTExMDYgYXVkaXQoMTY2MDUwMjIx
NC4yNzA6MTkyKTogcGlkPTMzODEgdWlkPTEwMDAgYXVpZD0xMDAwIHNlcz0yIG1zZz0nb3A9UEFN
OnNlc3Npb25fY2xvc2UgZ3JhbnRvcnM9cGFtX2tleWluaXQscGFtX2xpbWl0cyxwYW1fa2V5aW5p
dCxwYW1fbGltaXRzLHBhbV9zeXN0ZW1kLHBhbV91bml4IGFjY3Q9InJvb3QiIGV4ZT0iL3Vzci9i
aW4vc3VkbyIgaG9zdG5hbWU9PyBhZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcycKWyAgMTE1
LjI0NTg0NV0gYXVkaXQ6IHR5cGU9MTEwNCBhdWRpdCgxNjYwNTAyMjE0LjI3MToxOTMpOiBwaWQ9
MzM4MSB1aWQ9MTAwMCBhdWlkPTEwMDAgc2VzPTIgbXNnPSdvcD1QQU06c2V0Y3JlZCBncmFudG9y
cz1wYW1fZW52LHBhbV91bml4IGFjY3Q9InJvb3QiIGV4ZT0iL3Vzci9iaW4vc3VkbyIgaG9zdG5h
bWU9PyBhZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcycKWyAgMTE1LjMzMzQ5NF0gYXVkaXQ6
IHR5cGU9MTEwMSBhdWRpdCgxNjYwNTAyMjE0LjM1ODoxOTQpOiBwaWQ9MzM4NiB1aWQ9MTAwMCBh
dWlkPTEwMDAgc2VzPTIgbXNnPSdvcD1QQU06YWNjb3VudGluZyBncmFudG9ycz1wYW1fdW5peCBh
Y2N0PSJjaGFpcm1hbiIgZXhlPSIvdXNyL2Jpbi9zdWRvIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJt
aW5hbD0/IHJlcz1zdWNjZXNzJwpbICAxMTUuMzM2NDcxXSBhdWRpdDogdHlwZT0xMTIzIGF1ZGl0
KDE2NjA1MDIyMTQuMzYxOjE5NSk6IHBpZD0zMzg2IHVpZD0xMDAwIGF1aWQ9MTAwMCBzZXM9MiBt
c2c9J2N3ZD0iL2hvbWUvY2hhaXJtYW4iIGNtZD0yRjYyNjk2RTJGNzM3OTczNzQ2NTZENjM3NDZD
MjAyRDJENkU2RjJENjI2QzZGNjM2QjIwNzM3NDYxNzI3NDIwNzE3NTYyNjU3MzJENjk2RTcwNzU3
NDJENzM2NTZFNjQ2NTcyMkQ2RDZGNzU3MzY1NDA2NTc2NjU2RTc0MzUyRTczNjU3Mjc2Njk2MzY1
IGV4ZT0iL3Vzci9iaW4vc3VkbyIgdGVybWluYWw9PyByZXM9c3VjY2VzcycKWyAgMTIwLjQyNzk1
NV0ga2F1ZGl0ZF9wcmludGtfc2tiOiAzOCBjYWxsYmFja3Mgc3VwcHJlc3NlZApbICAxMjAuNDI3
OTU4XSBhdWRpdDogdHlwZT0xMTMxIGF1ZGl0KDE2NjA1MDIyMTkuNDUxOjIzNCk6IHBpZD0xIHVp
ZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBtc2c9J3VuaXQ9dXNlckA5OTQgY29t
bT0ic3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRk
cj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnClsgIDEyMC40NDIzNzVdIGF1ZGl0OiB0eXBlPTEx
MzEgYXVkaXQoMTY2MDUwMjIxOS40Njc6MjM1KTogcGlkPTEgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1
IHNlcz00Mjk0OTY3Mjk1IG1zZz0ndW5pdD11c2VyLXJ1bnRpbWUtZGlyQDk5NCBjb21tPSJzeXN0
ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBhZGRyPT8gdGVy
bWluYWw9PyByZXM9c3VjY2VzcycKWyAgMTMzLjU3NjgxNl0gYXVkaXQ6IHR5cGU9MTEwMSBhdWRp
dCgxNjYwNTAyMjMyLjYwMjoyMzYpOiBwaWQ9MzQ0NSB1aWQ9MTAwMCBhdWlkPTEwMDAgc2VzPTIg
bXNnPSdvcD1QQU06YWNjb3VudGluZyBncmFudG9ycz1wYW1fdW5peCBhY2N0PSJjaGFpcm1hbiIg
ZXhlPSIvdXNyL2Jpbi9zdWRvIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0vZGV2L3B0cy8w
IHJlcz1zdWNjZXNzJwpbICAxMzMuNTc3MDczXSBhdWRpdDogdHlwZT0xMTIzIGF1ZGl0KDE2NjA1
MDIyMzIuNjAyOjIzNyk6IHBpZD0zNDQ1IHVpZD0xMDAwIGF1aWQ9MTAwMCBzZXM9MiBtc2c9J2N3
ZD0iL2hvbWUvY2hhaXJtYW4iIGNtZD0iZG1lc2ciIGV4ZT0iL3Vzci9iaW4vc3VkbyIgdGVybWlu
YWw9cHRzLzAgcmVzPXN1Y2Nlc3MnClsgIDEzMy41Nzc1MzldIGF1ZGl0OiB0eXBlPTExMTAgYXVk
aXQoMTY2MDUwMjIzMi42MDI6MjM4KTogcGlkPTM0NDUgdWlkPTEwMDAgYXVpZD0xMDAwIHNlcz0y
IG1zZz0nb3A9UEFNOnNldGNyZWQgZ3JhbnRvcnM9cGFtX2VudixwYW1fdW5peCBhY2N0PSJyb290
IiBleGU9Ii91c3IvYmluL3N1ZG8iIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPS9kZXYvcHRz
LzAgcmVzPXN1Y2Nlc3MnClsgIDEzMy41ODAwMTRdIGF1ZGl0OiB0eXBlPTExMDUgYXVkaXQoMTY2
MDUwMjIzMi42MDU6MjM5KTogcGlkPTM0NDUgdWlkPTEwMDAgYXVpZD0xMDAwIHNlcz0yIG1zZz0n
b3A9UEFNOnNlc3Npb25fb3BlbiBncmFudG9ycz1wYW1fa2V5aW5pdCxwYW1fbGltaXRzLHBhbV9r
ZXlpbml0LHBhbV9saW1pdHMscGFtX3N5c3RlbWQscGFtX3VuaXggYWNjdD0icm9vdCIgZXhlPSIv
dXNyL2Jpbi9zdWRvIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0vZGV2L3B0cy8wIHJlcz1z
dWNjZXNzJwo=

--b1_CmxQqiv3yCWFqcxDSMhi1ZAFzn3xKXJETb735mkfA--



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 16:56:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 16:56:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387733.624095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdOU-0007sU-9b; Mon, 15 Aug 2022 16:56:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387733.624095; Mon, 15 Aug 2022 16:56:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdOU-0007sN-5v; Mon, 15 Aug 2022 16:56:50 +0000
Received: by outflank-mailman (input) for mailman id 387733;
 Mon, 15 Aug 2022 16:56:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cwKL=YT=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oNdOS-0007sH-N8
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 16:56:49 +0000
Received: from sonic310-21.consmr.mail.gq1.yahoo.com
 (sonic310-21.consmr.mail.gq1.yahoo.com [98.137.69.147])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e14a938-1cbb-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 18:56:46 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic310.consmr.mail.gq1.yahoo.com with HTTP; Mon, 15 Aug 2022 16:56:43 +0000
Received: by hermes--production-bf1-7586675c46-klczj (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID ddec505c2e7e4fc318c5de42ccd131af; 
 Mon, 15 Aug 2022 16:56:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e14a938-1cbb-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660582603; bh=L2j/Wrapxc1K8yoaBhb7/4dpXISfbxNp2WwOsFC/si4=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=PWGjftKNUYWbEJJfVawXREjLFUxrDAuobgtZ1kDooWOMzv/UdlPGj5PX2z5CUAcw5aKjCbqtnKylaF7sno3mN6JcNljYLqjrjctN0Nt/0sdLo1p2zfZeJNECg18tiMAP2hOTe9KbU/0JmPKVWHwZnP9AF+VFpoLwsXdwC1cLe7MqDTMn+fyVvuHs2Ya0b82C6jDWsdznJepFUBXEMje4mO3xnQfRrvn/fErBiTAc8VGhOMpvAlu3O/NIkZM1LcxvtvroRy5JtJDfIvoR7RMDkzq7ARMfLkLZAM0nSbgKpa6y/iRjB92VDuAzbNqrNDLNsQhnv0pRdr1DMFUhcOlwJA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660582603; bh=nSTObpz+pZfd/qa31LgRRNmx0RWZCOVSLgy/d/dhRS3=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=TBn0x4DpAgmyqj0OxAAEaegnKPgP7LexD2dmSK1MRFMM4ABxmCXyeFnx+f50J3OAR0jYN1maIY+4Uoygza8aCpJ/8FGr0Uk7WhWoLkoXksCPL7kKXkjN3tff7snxNo08hIMo/tQd/N9CBKzpIljC1TP2qcLl+vJ2AMjHt2I1tJYCTHFC/L7FNz7UbKz+/Z/r4prfdWquQJRt8wwsZIQGH/rtjqxWV/wPgdxkf8PCjP34Led+owAfYiaVDe/ae7zd7oYAChX8WfffFC/jzpxnT5PW/u/+/vZlCHG2xB1+N7e9o+EH/iNo+83iI8V/wr9zB8I6CRTJwfkNbUuNJX+2OQ==
X-YMail-OSG: 7GoODjwVM1lDXqG5_D.5jxXz2RvLDa.eih.Fwds5DVny5S92dJ8m2vyztLLm6dT
 oNr_UQTYtECFr2dgaB3Uz0AN_WpImeGz8oTnfhEmqD980KBsq7CWlvTQOcOgm8Y_f080QD6ruwwK
 A9h6B_4O_HFH0HC5kRtKK4xZ3w6qjWkLLn8.wfXTyR9WBIk2c_wW4WjtP7pKQ85VqGZQNhMT285H
 2uPZtuJ1VugiGR8aI4c0lrdKaAYhkQr2TiyMNSWBr0xUYeQqyYyz2cEjrnpASYdtvKcOeo9SgPOb
 ShW08WFEVG1ITcueOG.DUuOXPETwDX5Cr1MgZvSIPjH6fao6CBt7nm1nDQuMCBH9dNtj0ETiTC2k
 dyVJqBah67kpyLX6vnQgFJmLfIv_UAixxdVXt4pJ_GHSeAnWhFqH_BMVl5Loj8B58yvL8KXpNg2X
 8HSxMb14mreHFJfHxuksktn6ao7m1TUw8mruD_VCKJ1NmBLoXk4KNZr.QFrAXktO.b4_4R8xOuKs
 4tDYp.eK5amuTKeChI3kS.MtO9IO25B0wZ1a06vCYOSOJDnW_varR_5zQTeKYqjMM50IRYzG0iL4
 7ax93iwfXvde_gAv8UerW2h7gcYCBUAYhBYVYMvPmwJwpOtXzElsiaNfA8HPblsHjPGG0v6GyKSh
 aimzUwegazAyrFaJaXeYAmu5henLTwiTiRTDXe1KiFHahF2KGx5zYjBBKkI.WVAwuIt1stFIP40t
 VzbRRlHlcWkA8JXOXMGpVD0syaqoM0_Wwq9ZVjXwuRm_uLyp3okFDf4VuvGU9hAkQZNNlyN4bb0A
 jVUFQhsov2ikwkzlXul2Rdkld8D.KNRt_ubwDOtcdbp7oi1rBbqF0VQSTqRWmSKcMnAdyclEWQ4I
 uzQeMG5RF6s3j.Rq9SJXfdtIzSIPzcmdGNPEpUU1AUkzLhXRgxaGkPGbm6WQEsn5C8QPstXRenTb
 Bm87_xVsu4eG6IreDQyctd9Tyvtgy1NZnEPfN0a9CBXK2.ilOvcERausWVbEkojuLiwom8Tjg33O
 XUL9npxD5YerUl9R5kjOcWJXxjx33gguiuq6nXrAgFr1fLaDLrbTrYjocmfVxCcIeS9zNW0mwdZT
 k_PqVH2ErkihD7Rn0Tc8GU74tqVuhLeheM1R0Q7zL0tMwWraql2c9i16D6tLvx63oMzC5WMWBoqB
 UfBKlh9r2GzgoL8EILir8WIl1xL0Yojfg4S5AQ240c8C.gQfRS2JcVh9y5hYlb2iaPw4IUImc7GA
 BR1s.AK4OsrAw.hV83o9TELp76E.3u3OyMX6h_Sk_.VM.FEd4HM3hvNl2J7.9sAv4usqQbJt0DzR
 QUjXfN484nE6XAgUr62PAfiPlTUnFqvbFkQjqkUjNz8vbSrbwW01hpkeDV.RAgxkcTG3ia8Jc4Sl
 rqxRgJY1pnImg_DSALPXZGDucmPyAdQ.llTFQbKPwPlhvUdOnY8A35Tu3NTl6WjP.PW1MneyfpSt
 4hpq9Wp.L2Wlwpgwgv4GWidhic0UCngkaax1F5ZobRkoMDFuGswDYutfmZAhU045N6z9uZsn8877
 JrX7mkKuRM4BrdZ1RTwir0ABvaA1._713sLxs5pWitxRe3w3s55rhDKuWEvjG.5T_z_N.OegKmqs
 hAg9DlqvQ54wBn1dA5gsV4r0NdKxnokUSSPJQ7yOqW.IN.MtqxT2.RYGOhSk7ri8Af1mMAWNyM9n
 IZpnW1IaKYjdoI_9kyDXPOJ2FbxBvrwY8tRjigmUYnEj_cqobZEuaTijjkLa6oCfQUAQePTbz6vT
 TZqttFKEdTnuOrJjGQjcfUGEX7IdJHtRJZZhoiO1G8qgM4WEO_Yfb6b8ZEAZdmeXodQc9AcvjV7l
 fkzjSqQ6s8VIuoIfVq80q3IqV7rfhq15MXTWPOIqwDyeHdWxpcTNoUlXk5OiJFOTVmyAUQalo.fK
 _yIYVgrIQGKNve0FolcbUhmVIUsgz4wz.A8vjodig9C4PFKpWfI38Z_Lh3z2rtIGlLOr1eHUCiBx
 5wSflNhxNTxAtCTNL2RtmVKuwjM9DVwX2gB9q_dxLRxM9ifNitF4k1V0hXYPgsgo6OCZGk.jgeV9
 Um7szS5XmALzaBYFUgYRozEWgMj5sCOBBOL5WE4JdXJY2V_Yc336Nssw0ANCXi48uo.mXGoLixS8
 5Yim7ZsGRAprnQU6xyzSYiuj7b85KyEHND4CU0m1Vqz5IIdJMVLgYYozEcieIdSrOJ3CxjKyWJBt
 29dRD50lQH8aa4zdD3Q--
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
Date: Mon, 15 Aug 2022 12:56:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Juergen Gross <jgross@suse.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
 <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
In-Reply-To: <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 9699

Hi Thorsten,

I am forwarding this to you to help you cut through the noise. Unfortunately
the discussion of fixes for this regression has degenerated into ad hominum
attacks. I admit that I started complaining about the response of the
maintainers to this regression and now they are attacking me. I do apologize,
but I do not want to over-apologize. I do not apologize for trying to get
the fix for this regression rolling again. After all, it has been over three months
since the regression was first reported. I don't think I should be accused of
doing anything wrong just for asking for some transparency, honesty, and
a realistic estimate for how long it will take before a fix is committed from the
maintainers responsible for and working on a fix for this regression. I do want
you to provide some feedback here on the public mailing lists.

I present the following message which cuts out the noise and I think describes
fairly completely the problems that are preventing a fix for this regression from
getting merged into the mainline kernel. Can you weigh in with your opinion
about what should be done now?

Best regards,

Chuck

On 8/14/2022 11:23 PM, Chuck Zmudzinski wrote:
> On 8/14/22 4:08 AM, Juergen Gross wrote:
> > > On 8/13/2022 12:56 PM, Chuck Zmudzinski wrote:
> > > 
> > > This is a fairly long message but I think what I need to say
> > > here is important for the future success of Linux and open
> > > source software, so here goes....
> > > 
> > > Update: I accept Boris Petkov's response to me yesterday as reasonable
> > > and acceptable if within two weeks he at least explains on the public
> > > mailing lists how he and Juergen have privately agreed to fix this regression
> > > "soon" if he does not actually fix the regression by then with a commit,
> > > patch set, or merge. The two-week time frame is from here:
> > > 
> > > https://www.kernel.org/doc/html/latest/process/handling-regressions.html
> > > 
> > > where developers and maintainers are exhorted as follows: "Try to fix
> > > regressions quickly once the culprit has been identified; fixes for most
> > > regressions should be merged within two weeks, but some need to be
> > > resolved within two or three days."
> >
> > And some more citations from the same document:
> >
> > "Prioritize work on handling regression reports and fixing regression over all
> > other Linux kernel work, unless the latter concerns acute security issues or
> > bugs causing data loss or damage."
> >
> > First thing to note here: "over all Linux kernel work". I' not only working
> > on the kernel, but I have other responsibilities e.g. in the Xen community,
> > where I was sending patches for fixing a regression and where I'm quite busy
> > doing security related work. Apart from that I'm of course responsible to
> > handle SUSE customers' bug reports at a rather high priority. So please stop
> > accusing me to ignore the responses to these patches. This is just not really
> > motivating me to continue interacting with you.
>
> You are busy, and that is always true for someone with your responsibilities.
> That is an acceptable reason to delay your responses for a time.
>
> >
> > "Always consider reverting the culprit commits and reapplying them later
> > together with necessary fixes, as this might be the least dangerous and quickest
> > way to fix a regression."
> >
> > I didn't introduce the regression, nor was it introduced in my area of
> > maintainership. It just happened to hit Xen. So I stepped up after Jan's patches
> > were not deemed to be the way to go, and I wrote the patches in spite of me
> > having other urgent work to do. In case you are feeling so strong about the fix
> > of the regression, why don't you ask for the patch introducing it to be reverted
> > instead? 
>
> I have asked for this on more than one occasion, but I was either
> ignored or shot down every time. The fact is, among the persons
> who have the power to actually commit a fix, only you and Boris
> are currently indicating any willingness to actually fix the regression.
> I will say the greater responsibility for this falls on Boris because
> he is an x86 maintainer, and you have every right to walk away
> and say "I will not work on a fix," and I would not blame you or accuse
> you of doing anything wrong if you did that. You are under no obligation
> to fix this. Boris is the one who must fix it, or the Intel developers,
> by reverting the commit that was originally identified as the bad
> commit.
>
> If it is any consolation to you, Juergen, I think the greatest problem
> is the silence of the drm/i915 maintainers, and Thorsten also expressed
> some dissatisfaction because of that, but since there is also some
> consensus that the fix should be done in x86 or x86/pat instead of
> in drm/i915, another problem is the lack of initiative by the x86
> developers to fix it. If they do not know how to fix it and need to
> rely on someone with Xen expertise, they should be giving you
> more assistance and feedback than they currently are. So far, only
> Boris shows any interest, and now my only critique of your behavior
> is that in your message, you chose to engage in an ad hominum attack
> against me instead of taking the same amount of time to at least
> briefly answer the questions Boris raised about your patch set over
> three weeks ago. Your decision to attack me instead of working on
> the fix was, IMHO, not helpful and constructive.
> > Accusing me and Boris is not acceptable at all!
>
> OK, I understand, now we are even. I have said it is unacceptable to
> not give greater priority to the regression fix or at least keep interested
> persons informed if there is a reason to continue to delay a fix, which
> ordinarily should only take two weeks, but now we are at more than
> three months. Now, you are saying it is unacceptable for me to accuse
> you and Boris. OK, so we are even. We each think the other is acting
> in an unacceptable way. I still think it is unacceptable to not work on
> the fix and instead engage in ad hominum attacks. Maybe I am wrong.
> Maybe maintainers are supposed to attack persons who are not
> maintainers when such outsiders try to help and encourage better
> cooperation and end the hostile silence by the maintainers who are
> responsible to fix this. But that does not make sense to me. It makes
> sense to hold accountable those persons who are responsible for fixing
> this (and you, Juergen, are not the one that needs to be held accountable).
> AFAICT, that is not being done and instead I am being attacked for trying
> to get work towards a fix rolling again.
>
> >
> > > I also think there is a private agreement between Juergen and Boris to
> > > fix this regression because AFAICT there is no evidence in the public
> > > mailing lists that such an agreement has been reached, yet Boris yesterday
> > > told me on the public mailing lists in this thread to be "patient" and that
> > > "we will fix this soon." Unless I am missing something, and I hope I am,
> > > the only way that a fix could be coming "soon" would be to presume
> > > that Juergen and Boris have agreed to a fix for the regression in private.
> > > 
> > > However, AFAICT, keeping their solution private would be a violation of
> > > netiquette as described here:
> > > 
> > > https://people.kernel.org/tglx/notes-about-netiquette
> > > 
> > > where a whole section is devoted to the importance of keeping the
> > > discussion of changes to the kernel in public, with private discussions
> > > being a violation of the netiquette that governs the discussions that
> > > take place between persons interested in the Linux kernel project and
> > > other open source projects.
> >
> > Another uncalled for attack.
>
> I am just asking for some transparency and an indication that
> a fix is really and truly in sight. It would only take you a few
> minutes to fulfill what I am asking you to do now. The fact is,
> Boris commented on your patches over three weeks ago and
> asked you if you accepted the approach he outlined and you
> have remained silent. That does not indicate you and Boris
> are close to coming to a fix even though Boris stated that a fix
> is coming soon. Based on what has been said on the mailing
> lists, I just don't see the fix coming soon. That's all I can say
> about it now.
>
> >
> > After sending the patches I just told Boris via IRC that I wouldn't react
> > to any responses soon, as I was about to start my vacation.
>
> That is certainly a valid reason to delay work on this - you were on
> vacation. I hope you enjoyed yourself and had a good time. But I
> had no way of knowing this because I was not part of the IRC
> communication, so I cannot be blamed for not knowing this.
>
> > I will continue with the patches as soon as I find time to do so.
>
> I am willing to wait patiently for you to get back to these patches,
> and I hope you can agree that you should find a few minutes
> to confirm or deny Boris' statement that a fix is coming "soon"
> by posting a public message to this thread within the next two
> weeks, given that this regression has not been fixed for over three
> months. I will not be upset if you say something like: "it looks like
> it might take a while for Boris and I to work out the details of a fix,
> it might take until the end of the year," and briefly explain why there
> will be a delay. Boris might not like that because it would contradict
> his statement that a fix is coming "soon" but I would rather be told
> the truth - that the fix is going to be delayed, than be told a lie - that
> a fix is coming soon.
>
> Thanks for all the work you do.
>
> Best regards,
>
> Chuck



From xen-devel-bounces@lists.xenproject.org Mon Aug 15 17:04:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 17:04:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387741.624106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdW5-0000xu-1q; Mon, 15 Aug 2022 17:04:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387741.624106; Mon, 15 Aug 2022 17:04:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNdW4-0000xn-Uy; Mon, 15 Aug 2022 17:04:40 +0000
Received: by outflank-mailman (input) for mailman id 387741;
 Mon, 15 Aug 2022 17:04:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNdW4-0000xh-A7
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 17:04:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdW3-0001d0-TT; Mon, 15 Aug 2022 17:04:39 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[10.95.149.129]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNdW3-00066z-MG; Mon, 15 Aug 2022 17:04:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=cE1RpxdPKx/eVcQPE2LtrNlGjvwUjN3BH3X1iquWWZA=; b=5f9CvSM8c8ZLH+ZaXwxs/3nuMP
	O1LAHmbXN8GUpNBX1vVesjzhb0AKmlf/UpjR4hwA7A9hZvg4ZGh91fAr0iYmceROSTvPeYTyrTU82
	4McCW4O8oaR+qXEuVJc+tplkaa0/WyupvkgF1y9irfwv7vpoxORApNRpea++DV/hwAkM=;
Message-ID: <8d60c472-8ac0-bc45-4eef-6f14d2afa668@xen.org>
Date: Mon, 15 Aug 2022 18:04:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-9-julien@xen.org>
 <C817E0AC-5A5F-46AD-8D1C-A472F9C004CF@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <C817E0AC-5A5F-46AD-8D1C-A472F9C004CF@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 15/08/2022 17:39, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,

>> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Unlike arm64, on arm32 there are no extra information dumped (e.g.
>> page table walk) for hypervisor data abort.
> 
> The code in arch/arm/traps.c has nothing arm32 specific like that so
> could you explain this statement ?
> 
> Here the arm32 code will call the generic function which has only
> something specific for BRK handling but the rest is generic.

The statement is not related to the code but the console output. On 
arm64, a data abort will decode the HSR and provide a dump of the 
page-table walk.

This doesn't happen on arm32 because Xen will call do_unexpected_trap(). 
So the only information we have is the HSR and FAR. This is not very 
helpful for debugging page-table walk.

After this patch, the same information will be printed on arm32 and arm64.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 18:01:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 18:01:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387750.624122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNeOe-00070n-8v; Mon, 15 Aug 2022 18:01:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387750.624122; Mon, 15 Aug 2022 18:01:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNeOe-00070g-63; Mon, 15 Aug 2022 18:01:04 +0000
Received: by outflank-mailman (input) for mailman id 387750;
 Mon, 15 Aug 2022 18:01:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q8TY=YT=leemhuis.info=regressions@srs-se1.protection.inumbo.net>)
 id 1oNeOc-00070X-FS
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 18:01:02 +0000
Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de
 [2a01:488:42:1000:50ed:8234::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 37b4c945-1cc4-11ed-bd2e-47488cf2e6aa;
 Mon, 15 Aug 2022 20:01:00 +0200 (CEST)
Received: from [2a02:8108:963f:de38:eca4:7d19:f9a2:22c5]; authenticated
 by wp530.webpack.hosteurope.de running ExIM with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 id 1oNeOJ-0003w4-L3; Mon, 15 Aug 2022 20:00:44 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37b4c945-1cc4-11ed-bd2e-47488cf2e6aa
Message-ID: <a7d10605-87e3-c4bd-4a76-f07a04f5751c@leemhuis.info>
Date: Mon, 15 Aug 2022 20:00:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.0
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Juergen Gross <jgross@suse.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
 <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
 <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
Content-Language: en-US
From: Thorsten Leemhuis <regressions@leemhuis.info>
In-Reply-To: <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-bounce-key: webpack.hosteurope.de;regressions@leemhuis.info;1660586460;a183e974;
X-HE-SMSGID: 1oNeOJ-0003w4-L3

Hi Chuck!

On 15.08.22 18:56, Chuck Zmudzinski wrote:
> 
> I am forwarding this to you to help you cut through the noise.

Sorry for not replying earlier, I ignored this thread and all other
non-urgent mail in the past two weeks: I was on vacation until a few
days ago and when I came home I had to deal with some other stuff first.

> I do not apologize for trying to get
> the fix for this regression rolling again.

Yeah, it's important to ensure regressions don't simply fall though the
cracks, but my advice in this case: let things rest for a few days now,
the right people have the issue on their radar again; give them time to
breath and work out a solution: it's not something that can be fixed
easily within a few minutes by one person alone, as previous discussions
have shown (also keep in mind that the merge window was open until
yesterday, which keeps many maintainers quite busy).

And FWIW: I've seen indicators that a solution to resolve this is
hopefully pretty close now.

>  After all, it has been over three months
> since the regression was first reported.

Yes, things take/took to long, as a few things were far from ideal how
this regression was dealt with. But that happens sometimes, we're all
just humans and make errors. I did a few as well and learned a thing or
two from then. Due to that I'll do a few things slightly different in
the future to hopefully get similar situations resolved a lot quicker in
the future.

Ciao, Thorsten


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 18:17:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 18:17:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387757.624134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNeeX-00006Z-LZ; Mon, 15 Aug 2022 18:17:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387757.624134; Mon, 15 Aug 2022 18:17:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNeeX-00006S-Ii; Mon, 15 Aug 2022 18:17:29 +0000
Received: by outflank-mailman (input) for mailman id 387757;
 Mon, 15 Aug 2022 18:17:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cwKL=YT=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oNeeV-00006M-JB
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 18:17:28 +0000
Received: from sonic310-21.consmr.mail.gq1.yahoo.com
 (sonic310-21.consmr.mail.gq1.yahoo.com [98.137.69.147])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 827785da-1cc6-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 20:17:25 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic310.consmr.mail.gq1.yahoo.com with HTTP; Mon, 15 Aug 2022 18:17:22 +0000
Received: by hermes--production-bf1-7586675c46-klczj (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID e7a9986af8b5cf78b3987899a0ba9fa0; 
 Mon, 15 Aug 2022 18:17:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 827785da-1cc6-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660587442; bh=3s531Pd45xAL3WDjGl79WaBT/cIfjLGMa/q/nD5W+W4=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=nXt0NNd+84LNPDfCP5PnDgVXLr83Zb0d9wCuWquu2R1Q1vKvJYMqgtXctndKE3xenr1e2n5QI+O+daXxxnFSAccLI821xdAl4Zp5V2PilZRPKYpd2dMTCP6IYkyoa//6JMsc1Fq2FlDzsPMVoUHj2nKaG/0zFrqNjL5y8b4fqWZKKKQ6haGY8vxWzOp6G1m65oSyv/yCAJ4ARntZJcoazvHA6EbMvG0wnhQ3u/izcckNsvt00IWFLhHjWdfYjZAyImzMNW5+eVjHIW+FY/7bZrz+6TZf60GBwuR/yJYGayjkvCDcoVUjrzDhAs+NbATEunFdDtcupjhalZrayUuc5A==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660587442; bh=TsST2RuuTsY45uRxXDELW0uQDUn7huiOUvHVBJMEcWR=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=qDycNvblgIVG0m+5S7Dy4ZVPx/slsES1ZauZTAVbwqvzsYMpYtNCKiZ33k2exDr7cDewy2fG9UDH9s1/sUQ4GG7l00jwO4HXCY8sVpqBK9gncWyWIGPOArQMjdiQfcDbvy0C4CnBmSlom2ByezhZlKcDukG//MRwbjAq9NGs3LKqhCsGq5BPFQ/jpDKdYZm4NjVPOdqzgY1pSJQFNZBXpZpcYOQktW6jeIKo56tdmjVSOH+OMEe3ZmoPMdjjjh8g4oKNtay4mLtB1U9ek6FUU0yqmdtPQnoGMWZKhxmNW8mCbhGbbW+pFi2yFlJ9D+Dh5w1K+oSMh0k0ei7VxF78yg==
X-YMail-OSG: KR4D4v8VM1nC33Fe42cMm4tJLG5.n9tLYom.HdhBKhsZWsXfo8mNAIaqPncAxYw
 0.Gdi2E1JKUvefbEdR8plvDvbqtPVF1WY6F7JeJoepW1xKIfC.a94KAlC9cyz1LgYBen6TtVbmFT
 GK.0pyF2Opro1bzJuIZP5fvXqTosQlioP1GlzipnzOaG0lqnKdCkwyDnKZNnhmvAXCTD_ogBQAc6
 8oERlj.rx0qeL_C6niLKkGIHhTWxUo0apwj_JgMLZVQb6g1mirQ4jIEDQjtTJKDl0fmNQDktejLY
 Q5bgFtxGxxRCvwoQQxBSJlDcfEWRg59vOIb1utHoTVxxFp9Sq_fn95QcdsM5oh5lRlTfazAFXeAR
 fhDIgxmA_d.V9y.kFclbzkQto2X5gh4RLLdSm5F9cxa4F4jvWUHcOXVH5TVbNN8fFTampw6RWGVb
 K0XcWS8RbcBaK2OVeyORZwMcu8f7IfKamDjrhJI.WTw5yzq070H1nksi.fVfA3xrZG01QBXtx5p_
 d.dRQnl4IK0vSrWyqzpb8KLlE9kjwPDXSwdPg5fQE.3PrNZqKWurxFc1yKlvwjfiO_vJzO.fBNih
 0_IDUCEp63BpdK_KKR9zN6rDrbCQqyeXtWbJjsuJ1wSd71pRm1VDjm_5_3AMbS385ayosHiCCNTf
 XnUFFk8X2HAzvG3eWur9EaWVVbbKvILsqNyiS072ODDaIYBt4Rh4I_qfYCIf0NBURqT7YbBqkRVG
 3X4CcCDIdYyYrn06ac8FfuefQ8K6Jk6krsjqLzeNn_QdipKV6uI9V768518b.uXYPsuODgoaCTiL
 LWJ7P9tys7t2t58AV93U5x1o6zfmWk_6s5CZledc_dc6Vrkm7GITqWk96zNxuXoAm4nLz7rEdpbX
 A_6cYq_utLB4.ER4XqYnMgpU9DNFtG1LpfYi5Z1PAM58LCrkbbSHF_U52vn0NiEc92ocLsigZhDj
 VeXCN3Rp26mmefw7glHFgFr1b5Zd04xA2KETJNgVGKMnQ2lNn9qXDnSmzrUUxz08pXhgWGKsHrRu
 gB_Z1gZsidsXZ6HPYzPh4AAT6yddRJ9c1F1S1h.b6J1uES5EBcDLMLYqAOy.kLMo5yFv04eSLW4T
 96q68sMJ6Tf9CFisXcoJtol_MJw5xSyvkGZH7kg3IRwvpDkpcQsfr9TzspeSIzcDnEeRuf8bEXnd
 JgsO9APF5JUQdNCUABwMB4vdOSY5YHZvxETMGhkX1zBz9CaMAqV7Wu.eIsPw_6m02caWImgnfFkS
 ZZPruMfXhz6CTDbPcs9IhRmYaNQOPL0G8tpi.n6vhb_GeNS42nWzckep6aIfPhqUYO4MdH_cwUDd
 Q2XuT8I1rd.E4fIo0qFBT1ADVybFPlgS8PdJz_dCgqnM8YHtj44UodjUxPsbIx2vwca7r0G8RIZ7
 IpSZ.QZrVvOXbM5LQzqfe_gTNjZE7UAucmqvIPNiSxBC23t8BqhctEf6oVcyEBkK4S7541RCJo5Y
 aYjshe2lScGKfLoMgZ2SyFYo3pvjwURas21iO7qM3SW5XZ308G5xuY.8u7vxo62qp1wS77d72c71
 AfOChuUkF1hwbInpElD1F_HsvFQqVr1oO1tZnOpUJlcedyrxrdOB00Ss0JDgx6WFga4hvjodGnLV
 z0H2Y1yQwDfKmKROb.tqTltHikg7QDR1tCDSE9ylMl6703Yli.BmD95GGPxj59yDens4KItVyLed
 vKoCuYPcXH_6t9oPVne4cTCbh1ForCaGyvVFAJWRoUutARHU1ZjSDUG2kDM6Z97GlgPy2LqO5xWT
 K_oSxlcl5HBze6Bo9QpgnmftlEoEQy4eN.WS6.sosSfiIfE0Kb2_RT330Fym2Lk9WrXu3ohgMAuF
 nUutQmmKvTGjPeY.go1KEzA6Ac6kNoOBeaFe1JAQ8CVyKU5hrcaSdIA1ycXyz1DkWawHjnWB1v1s
 ks6HreFerYVmVCf.johBcvjXdXd3l3QUXEXdgK3aO1ihGcr0_ZGbss9hdOG.iOm6ZK0Rg5Cb0cim
 .6bV0LQFxNTIsJGvFq2fPHwkjcKJPXIuRj8vvcfjEK_pAnyw.ygPfFeTJxBR8K8xI_pKswof1LWs
 __Y4s5p6723A3TsCUgid5ulehsyJOUN_d3KFa8t8vBnsVO_4iD8RnThv76VEAldrVLB4qe5IujqC
 DugKjQyn47w.K9ui0c1CNmOis4H4__8GSD7zdeEAV3Gk090_SPmFlUcAIuCG.0WBQBOvOqmrqFeY
 U5LSflnmNFUAPKp.Cgg--
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <8d148826-62a5-95f9-8662-be14f56a6336@netscape.net>
Date: Mon, 15 Aug 2022 14:17:14 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
Content-Language: en-US
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Juergen Gross <jgross@suse.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
 <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
 <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
 <a7d10605-87e3-c4bd-4a76-f07a04f5751c@leemhuis.info>
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <a7d10605-87e3-c4bd-4a76-f07a04f5751c@leemhuis.info>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 2157

On 8/15/2022 2:00 PM, Thorsten Leemhuis wrote:
> Hi Chuck!
>
> On 15.08.22 18:56, Chuck Zmudzinski wrote:
> > 
> > I am forwarding this to you to help you cut through the noise.
>
> Sorry for not replying earlier, I ignored this thread and all other
> non-urgent mail in the past two weeks: I was on vacation until a few
> days ago and when I came home I had to deal with some other stuff first.
>
> > I do not apologize for trying to get
> > the fix for this regression rolling again.
>
> Yeah, it's important to ensure regressions don't simply fall though the
> cracks, but my advice in this case: let things rest for a few days now,

Actually, I was planning on letting things rest for another two weeks, so I am
totally in agreement with you here.

> the right people have the issue on their radar again; give them time to
> breath and work out a solution: it's not something that can be fixed
> easily within a few minutes by one person alone, as previous discussions
> have shown (also keep in mind that the merge window was open until
> yesterday, which keeps many maintainers quite busy).
>
> And FWIW: I've seen indicators that a solution to resolve this is
> hopefully pretty close now.

That's good to know. But I must ask, can you provide a link to a public
discussion that indicates a fix is close? Or do you know a fix is close
because of private discussions? That distinction is important to me
because open source software is much less useful to me if the solutions
to problems are not discussed openly (except, of course, for solutions
to security vulnerabilities that are not yet public).

>
> >  After all, it has been over three months
> > since the regression was first reported.
>
> Yes, things take/took to long, as a few things were far from ideal how
> this regression was dealt with. But that happens sometimes, we're all
> just humans and make errors. I did a few as well and learned a thing or
> two from then. Due to that I'll do a few things slightly different in
> the future to hopefully get similar situations resolved a lot quicker in
> the future.
>
> Ciao, Thorsten

Thanks for your quick reply and best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 18:49:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 18:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387765.624145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNf9Q-0003W5-A2; Mon, 15 Aug 2022 18:49:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387765.624145; Mon, 15 Aug 2022 18:49:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNf9Q-0003Vy-6A; Mon, 15 Aug 2022 18:49:24 +0000
Received: by outflank-mailman (input) for mailman id 387765;
 Mon, 15 Aug 2022 18:49:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z+x6=YT=citrix.com=prvs=219f4dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oNf9O-0003Vs-Uj
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 18:49:23 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7f3d004-1cca-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 20:49:20 +0200 (CEST)
Received: from mail-dm3nam02lp2048.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Aug 2022 14:49:10 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5085.namprd03.prod.outlook.com (2603:10b6:208:1ab::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Mon, 15 Aug
 2022 18:49:08 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.027; Mon, 15 Aug 2022
 18:49:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7f3d004-1cca-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660589360;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=dF6/qURbhmt6Z+WJD25SEozLwoud50IxPMT5z6t9o0s=;
  b=cnGqCtUx+Ou5RmP/7e9O8VdH9wkd3t4hMpzH8yp3RA13q7a5uU0yHSge
   Srt9Zcl1aC3PVNOdY4pDSvXYdXRGVqMQhgbwqU1EVnr2vqgy3fYZWNFbL
   JmcFZtV3vxo9zwYaXTiOYvCAnSjlwgrCeRKdgEn3vXgdJVDDE+Sk284Yz
   c=;
X-IronPort-RemoteIP: 104.47.56.48
X-IronPort-MID: 77371797
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8vUAjKPsD3m9Oa7vrR1xlsFynXyQoLVcMsEvi/4bfWQNrUolgTwPn
 GYdWGiCM/vfZTGkeI8iPtjgo01Q6J+GnIA2HQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/ve8EkHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPd6qlFDkJrGbdB4+91ID0Vr
 c4TIQokO0Xra+KemNpXS8FKr+F7dozHGdhavXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rr2wCWvG9FbgAv9Sa4fym7f1gFulpPqN8LYYIeiTsRJhEeI4
 GnB+gwVBzlFa4fAkGXUrRpAgMfowQbDB7lKHoa91fA7qnCymFc/EicvAA7TTf6RzxTWt8hkA
 04e9zcqrKMy3Fe2VdS7VBq9yFabujYMVtwWFPc1gCmtx6zO8kCmD24LZjdbbZots8pebTct0
 1qUmdL1FHpqubucRn+H3qeZqyuoPioYJnNEYjULJSMV7t+mrIwtgxbnStd4DLXzntDzASv3w
 T2BsG45nbp7sCIQ/6Cy/FSCjzf3oJHMFlQx/l+PAjLj6R5lbom4YYDu8ULc8ftLMIeeSB+Go
 WQAnM+dqusJCPlhiRCwfQnEJ5nxj97tDdEWqQcH80UJn9h1x0OeQA==
IronPort-HdrOrdr: A9a23:U0Pt5a+GER81T4mCW+9uk+Hwdr1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQodcdDpAtjifZtFnaQFrLX5To3SJjUO31HYYL2KjLGSiQEIfheTygcz79
 YGT0ETMrzN5B1B/L7HCWqDYpkdKbu8gcaVbI7lph8DIz2CKZsQljuRYTzrcHGeMTM2YabRY6
 Dsg/avyQDBRV0nKuCAQlUVVenKoNPG0LrgfB49HhYirCWekD+y77b+Mh6AmjMTSSlGz7sO+X
 XM11WR3NTjj9iLjjvnk0PD5ZVfn9XsjvNFGcy3k8AQbhn8lwqyY4xlerua+BQ4uvum5loGmM
 TF5z0gI8NwwXXMeXzdm2qi5yDQlBIVr1Pyw16RhnXu5ebjQighNsZHjYVFNjPE9ksJprhHoe
 F29lPck6ASIQLLnSz76dSNfQptjFCIrX0rlvNWp2BDULEZdKRaoeUkjQFo+dY7bWfHAbIcYa
 5T5fLnlbBrmJShHinkV1xUsZiRt7IIb0+7qwY5y5eoOnNt7Q1EJgMjtbAidzE7hdIAotB/lp
 r52u4DrsAwcuYGKa16H+sPWs2xFyjERg/NKnubJRD9GLgAIG+lke+/3FwZ3pDcRHUz9upFpL
 3RFFdD8WIicUPnDsODmJVN7xDWWW24GTDg0NtX6ZR1sqD1AOODC1zJdHk+18+75/kPCMzSXP
 i+fJpQHv/4NGPrXYJExRf3VZVeIWQXFMcVptE4UVSTpd+jEPyjisXLNPLIYLb9GzctXW3yRn
 MFQTjoPc1FqlumX3fp6SKhL08FunaPiK6YPJKqj9T7krJ9R7GkmjJl+miR94WMNSBItLAwcQ
 93PK7n+5nL11WLwQ==
X-IronPort-AV: E=Sophos;i="5.93,239,1654574400"; 
   d="scan'208";a="77371797"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XqZ1yCl9TyXDtI1KnedHvioFGAE8VdKINEG16Y2OHzoWkfRtRa6/qdq5x5mG7We/qBeOI6evrfaLuZqH997xkKtn9TFw2aBPG++qaQsItnTgx8twamVd6OCJEJ1Q9OqNCmk/L6DP+UR7VTCVpP/tD6M/LcjpekCQLjqV9b49L++JZE0P7ADVLQlWJA1uKlE5OGOdWUMFE+Re7WtfQJ/0hkGU+JPPLDdKFZrUb6FrknPaVFi0Va4vzTazFMgc9RV+EoXw3dHomzq7toLPvNFjaSo62O37N49apFtrmReNxSJth3EAi/thhG0FIya96PLOEQYJW2vX0mzdMRbyWzZT9A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dF6/qURbhmt6Z+WJD25SEozLwoud50IxPMT5z6t9o0s=;
 b=OUYbqgz0bET2KXtIUXKKBdDa5OwScDmAKy+amqHMRxTwYY8TWaUx1GaK4Lb5AM92aNndXsk0sArNwlL7lgJ6KXwal248rmVbFTJmnPvQGQfe6B2Nl++/FkBRwCQPaRAnHQqE/KjgXAagbFYlcFqANcEPEHTK+SMHezGa3JHvBWCsYmUeiV2Xb+fzl1OXuZw7lFnOckMBs309efiJKG1tvAJgivxjsVY8Df/GwazTIeudtdFOIQ7fMkNZ0eNeOnlSu/4osa17eHdg2cg9FNoH6iUd21tjf0GtFVbz69TMPQXPimXGrYBZb4OkWwYZ6yQcSip0dqQaKvB++iU7jWyvuw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dF6/qURbhmt6Z+WJD25SEozLwoud50IxPMT5z6t9o0s=;
 b=w7byQkZde0Tk6oL6MRpS2wFkoSLC5/SIX7leIJLsKmkLNpc+zIHw96CJrkqJZEGaqR8wf14wztoydkYET/Bru1iru2O9OjplkqWX/+8KEra7iT9kr0teOjdBNBWQbklKFWd/2OHiTtRJeE8fRlTLDZ8PQ2rcA5pn/Xg+Kb4Bxuw=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Henry Wang <Henry.Wang@arm.com>, Community Manager
	<community.manager@xenproject.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH v6 0/3] amd/msr: implement MSR_VIRT_SPEC_CTRL for HVM
 guests
Thread-Topic: [PATCH v6 0/3] amd/msr: implement MSR_VIRT_SPEC_CTRL for HVM
 guests
Thread-Index: AQHYagMx4yaKKSDaVEqrb6mC4jE4eK2wJomAgAADuACAABCxAIAAoG2A
Date: Mon, 15 Aug 2022 18:49:08 +0000
Message-ID: <07176f1c-2759-ddb0-1d59-38b4504d0ed4@citrix.com>
References: <20220517153127.40276-1-roger.pau@citrix.com>
 <53cc6a9f-5a4e-0716-fe08-ad86fc155cbf@suse.com>
 <1dbab710-6d3c-a6cb-faa7-31558c04aab2@citrix.com>
 <3a975638-9675-9a95-fead-91120edefee1@suse.com>
In-Reply-To: <3a975638-9675-9a95-fead-91120edefee1@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c79e6202-4a9c-458d-a8b6-08da7eeed5ef
x-ms-traffictypediagnostic: MN2PR03MB5085:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 2C/u1yb7KA1MVnnZAntSI/16Fb3hF70j7T+AmNa77eiPjRi9bpekJq+6PfyqZoj0J/x9+hYqVHm0VwGcIvBUa1Z6IUIHWOSaS4fBzF6Vf2J05pec4tIroVzbSFGyxwD+wvQ7kKoL7XjEitm/Ow9G09SJEoe54dagC0u/wSH9JfJJAGs5n/PFn05jcB5NU72muWi1MRCbL1UFserpdCh/ItgxRv7NS7Tv/i/P2IXrTMpQBjKSdjfbl51ay/xL8fFsVLLL2tgc/wQ/toVBF3J/1+cFmuPaZ044vAez0Q955PpdAOjvTwf0IWJIrJ0/G1iCX8PWDwtOLqFY1vl+IcV3dDKqTpFyuFivjyjH2mBU/k1F19RhYUI3vU/lDBxLlcAHUbnmyWPk/dEAwgNnADgKmvgX6mDqIYoSlf5tBoRU1g3X+J7oV75Ytid7p5CyjhvXp825sd14Z2bTFEbkA5uCRH+ginYx3zf+Bng6RPoYguzXi7KUOGDhaAHznUlh4ZBFAMbtGdhD2Wal3lMvaUqnPQbgP8uJq90W3q3u1UPLFJvrAuh1KNGqHTy2ZkBTe+Km4Lr7UY+OQ0uE9pY/xyR51sgktZBzVAW/C2FvX6RPo+Rzi6gX8fHnUau1VX6g9t8o5EVw2oxjfaL7ejMYw1smU5Y2SQxqN4YRI0oyBo4ZYT0L/Gd3F942TUAMYRttNzSZ6KHxLPeI++cLq3gJF6U9roP9TGQC9jaPZJ1UBop3Ygu/5sZIftJDhQbiRGeNnpPPvppKrDp79UYD8fYvjN9s/waqsj/snKLTjmg1dSj4c/Ht3pOK6fRwE9CiUycteA5M2ZUaxYLCQ9NAaWpP1Id/UcFjzkz6CvVwp2NhvJ2GpFL54D+mo6crqxiNLBFNDEOE
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(136003)(366004)(396003)(346002)(478600001)(66556008)(316002)(6916009)(107886003)(4326008)(83380400001)(64756008)(8676002)(38100700002)(36756003)(54906003)(66946007)(76116006)(91956017)(6486002)(66446008)(31686004)(4744005)(31696002)(26005)(86362001)(2906002)(8936002)(71200400001)(6512007)(6506007)(2616005)(53546011)(41300700001)(186003)(82960400001)(38070700005)(5660300002)(66476007)(122000001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?L2s0MFduazZ3RkZLQ2pIZTBaMTIwRUVmS1o1c2xyV041LzRqSDNTYmp3azYv?=
 =?utf-8?B?eXFHQS9wT2VYSVdQMkErVGY3aHY1TExaekd4WlZEc1pGMm1HY2lJUTh5Y2lS?=
 =?utf-8?B?UHY3Y29rRUVHWHpwS1pMTGZHWDF3eTNVQmdXV1BWOTFnVEF4cHM2Y2kxcVRk?=
 =?utf-8?B?MDZaeE5yMDNoQVZxSW5jVThVWVBPU1BRUmFOQkozTXlGY2lTU0hqUjcxcjdi?=
 =?utf-8?B?ZVlLVTFOdTVZWk9xc0tHRllwaStlejNPVEpmRFVLc0RJeWROME9Bakw4ZEY1?=
 =?utf-8?B?RHdBQ3NOQWJXbEhVSTFIUk9KMXJGTjBwSTZpZWJkYXNkeXdtV2xISTQ0dlZ0?=
 =?utf-8?B?VTNJOUVwWlM0QzZuQXU2ZkJZb21wdFNCbnRLMFBwS0UvVHc3WTBSSElrU2xS?=
 =?utf-8?B?V3NNS3ltTmZBcklsM0Ntd2trSkRFOHBTdmdOQmZLS0p0eWtGYUhwVFRha1Zn?=
 =?utf-8?B?bEN6S0FjbEYyRklZaGJQUVQvRVVvR21aT3BOZENmUXZ1L0VQait3WnRyWGU0?=
 =?utf-8?B?NjQ1N0k2N2dCV1hjb3BjOElFWi9jSVNkbEJqVVVzRVI3OTJzOGRRRnNtbWxq?=
 =?utf-8?B?UkFYNkR6bkRUcWJWa1RIWnZWRE1wZHNpSktZZDVuLzB2YlhtSmlQT3VUVzRW?=
 =?utf-8?B?d2ZMN3BSclh5UE4wWDczN3JnR2dOTE9JTXg4NmEwL3VaNllJcm1XQ0g4blpE?=
 =?utf-8?B?RSt1U0xCWSs1RGEzb2RUMFkvNzhsL0IzVi9WVzRSZEJmaTRhRGRkSEJSenpr?=
 =?utf-8?B?bXByL01qcEloUlg1dUpUbXE5V2h5QnVzdHNYdk1oYUUvaUZ3YitQVUtZT2NY?=
 =?utf-8?B?Wm9pWldXSEJWQ2NqTjlDdVpKUlMrMFlVWFIyWXovN205ckxOdzMra2tlMzdU?=
 =?utf-8?B?eGQwMXdDSUNad0cwcFVFbWRKa1l1d29qMlZpWkVGZjcwcEhEZkxPQVE1SDB5?=
 =?utf-8?B?bGJxeDh3UlRWUzR2bS94OE1obGhHVUFEQlFRT1BtQllJcDdacEVnMEp5QzNl?=
 =?utf-8?B?UXRwbElEaHNwcFROb29IdkJvaklQNkF2ODJ4ZDlVZjQ2QXVRanhhRHBvdXVy?=
 =?utf-8?B?MWpVRkdYQmJ3b0ZZSEd4TDZFdDVHUDNJL0ZCZDB4SDRGYkt2T0NQMTJiRUtC?=
 =?utf-8?B?RExPUE80c2VtNXlCRHlDbnowTjhSQi9yNG4wZElSdDZWRUZabDlrb2Y2QTkw?=
 =?utf-8?B?VDRMYzNmV2pOTVdNazhQK2FPK05WdlgvZ3daaG9STnp1SytDUEdMdUE1ZE5a?=
 =?utf-8?B?MllGVGd4OVpvTjJPYmNUVkJZN0ZPVHlrSjRiU1FaSStrakVDbHJxaStxeENj?=
 =?utf-8?B?a1hPUlhrZ1RHM2E0ZkRTd2NoRi9vV28yQnhFWmhTQWRUeEdSRTRTekg2cU10?=
 =?utf-8?B?RjRmdHdWM2xuUENkbElJZmxZTHlzWGNabVMyaVRPR2pYL09uUkVxWjlqT2ZT?=
 =?utf-8?B?TnRkV1RsZmE0K1Q2UHlqeVp0Ykp3UE9NYVBFZUUyQVBXcFFVNHRtR21IS0hI?=
 =?utf-8?B?UlhieUNGL0xOd1V0VWNtbkU3a1BxUDJ3eURicmFWTThOUzZHaGdwTy9zSW1s?=
 =?utf-8?B?b1ZZV25yaEFmblkxcndwT1U3RndabU41eWNjNGs0ek8ra2xPTnBDeXlBblhB?=
 =?utf-8?B?UW9kMk1FMGVIMS9wNFBLQmNFR3lFYk53amxWenV1bitQVkJsNXI4cXJENGFI?=
 =?utf-8?B?NWd2SGIwajlDS3ZVMTZPY0xucXl1VW8wN3dRYTlmcHB0MUxhS0xJVExKL3NL?=
 =?utf-8?B?cnhOU3RaSnpocjZpWTZrSTJ1Wnp3SXpsNmVrcHM4YTI4Vm1xbjduUGRVdWlO?=
 =?utf-8?B?NG9TcTdMbW01QnQvK3UvRlhVdVovUE9tMmZvbkhoc1ByNnFtRGRPMDVmMy8z?=
 =?utf-8?B?UXlDWWRCZlNJbk85WW4wSEtJUDJKek1vMWM3VnQrcmdUTEpWVnVyK1JyMFdl?=
 =?utf-8?B?S01NUW5jS1EyTXYrQncxeDBzQlF2T2kwTGJqNFVERVZwOHY0alNZNlhwM0xw?=
 =?utf-8?B?ci8zUVcxOXlxNldJdHN5MUNuK2U5cFhVNVZ5VENlVDlRcXhhdmVuSHdUOC9z?=
 =?utf-8?B?QXgzRHdQUExOd2k4NDlJL2RPNThBNDR2RE1USFpBRE53VlMvOThsQXlISzJE?=
 =?utf-8?Q?YRPvkZ2DlUESX7Lw9yg8wELK+?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EE3356F1F3F99145BD94D021F3C97517@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?ZDFBVmNCNlVzcS9YRFR5MW5ZQlJ3Siszc3NhQi9iKy81Z29Ma0cvVWlYc1pQ?=
 =?utf-8?B?Q0daYVlmTjJTcCtuRW5vVjg1MWVORG00dWMxZ0FsSUZTeHJNcys5Sk0ycHpS?=
 =?utf-8?B?Q0NISmJFbW42V0tIVy9mNmYvVDNIV2NVQzRNY2JqME9ITlVYZWVzVGFZQnFI?=
 =?utf-8?B?QjZkUDUrbzRSclJ4VjgwZzNaVzlYbEI4NFNKc3RLcnVWN0RadnVJVmYxRUM2?=
 =?utf-8?B?LzhLdEpINkk5QkVCeUVJemx0MUw5WTRoMSt6VGtDeE85dEVnT1l3RStUS25O?=
 =?utf-8?B?VFVNSTRVZnUwK0UxWXBmLzFUcEhCUEhjWmZuTWp3WVNZNmNOTkVsYkFtb20z?=
 =?utf-8?B?dmNQakw5SDMwQ29mbWZkUjZxVGgrL1dMZC93MEg2UU4rNXluNlRoeXpjN1Fm?=
 =?utf-8?B?bmd3VjZqNnNuSytWV0l0RC9XaTNNYTRiKzNXb3FhdzI2MjNLOFFLTll3TUU2?=
 =?utf-8?B?QldReGl4N2wyczBYVjhzdWlSdEFZa1pmRjg4dmFYS3ovTHVtQWVHWmxJV1JN?=
 =?utf-8?B?NDAvMkhYdHRtYVZqd0MyaU5SODEyc3lwSjQ2WWxOZFVydzVQbXo1Y28vN01k?=
 =?utf-8?B?U2Uxb2FEdGdxVDdKcDg0dGVBV2V2NG5kdWdLMzBBcVZTazRhME9hY1VxWDB1?=
 =?utf-8?B?OHlaOWZ2cFpVV1RtVklkcW9ZUzcxL01pSytSSlpQb3hHdE55cWxQRlY3NU9K?=
 =?utf-8?B?NjFwZTRBQldDZGQvQnh0Z3pWMWNsVHBQM3E4TGxiZ21aeU5xRWo5RG8weDF1?=
 =?utf-8?B?OWdvbnM1QnlxNWFYZUNzamtOeU9kV2VyMEJ3YlRaSHhGYWwwSjlwWmgwaHJq?=
 =?utf-8?B?UkVDZ0dsc1pwWTM4cStZOFVERVNFNWZsVXdJYUw4Nk9yL1VKM0puV2ptaDdB?=
 =?utf-8?B?ZUFkVTNpWVl5WmFqSWZ6d3F6Y3RZR1EvSEM3VDNoV0hnT2l6SVNIcTFReklG?=
 =?utf-8?B?aThudDZSVWZJU0YzT1Q5SHhsQmg0WURqejBhZFVWRi9VU01oblNRN09UdWZV?=
 =?utf-8?B?NmdpcnM0WEI3VENMVmJaUUdwQUdMWTBjV2REaXZ1N1Z0SU1QcFR1a0cvaTd4?=
 =?utf-8?B?ZVZ3azl6cURKeC9VbWt4ZjV2ckZQbUJFRlhEbHZMcWx2TjhoakVzSG5aNENI?=
 =?utf-8?B?NnZZVW5lalpvWGppa3lCZXMxbjhWdjNuL2NwQTJBcnhtSmVQc3h0N2xwVzVq?=
 =?utf-8?B?c0d0NFdzNVplUkRFUlVBOWpIeDVaUW4rZ0dSbHE5SlQrVkZVcDhPSndDMi80?=
 =?utf-8?Q?XdldSaPCSc2yddp?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c79e6202-4a9c-458d-a8b6-08da7eeed5ef
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Aug 2022 18:49:08.2603
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 331Y6sOFBsJ2j7Lc2jRselFf1r6HPgonmb8JVXoyouCK7zkoKpcrjdrX7HpqY7UYCjS8clMTuvH60XUkR6GXUEBKBVtT+7OWUvaVNxK5L34=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5085

T24gMTUvMDgvMjAyMiAxMDoxNCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDE1LjA4LjIwMjIg
MTA6MTUsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAxNS8wOC8yMDIyIDA5OjAxLCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBPbiAxNy4wNS4yMDIyIDE3OjMxLCBSb2dlciBQYXUgTW9ubmUg
d3JvdGU6DQo+Pj4+IFJvZ2VyIFBhdSBNb25uZSAoMyk6DQo+Pj4+ICAgYW1kL21zcjogaW1wbGVt
ZW50IFZJUlRfU1BFQ19DVFJMIGZvciBIVk0gZ3Vlc3RzIG9uIHRvcCBvZiBTUEVDX0NUUkwNCj4+
Pj4gICBhbWQvbXNyOiBhbGxvdyBwYXNzdGhyb3VnaCBvZiBWSVJUX1NQRUNfQ1RSTCBmb3IgSFZN
IGd1ZXN0cw0KPj4+PiAgIGFtZC9tc3I6IGltcGxlbWVudCBWSVJUX1NQRUNfQ1RSTCBmb3IgSFZN
IGd1ZXN0cyB1c2luZyBsZWdhY3kgU1NCRA0KPj4+IEkgY2FtZSB0byByZWFsaXplIHRoYXQgSSBo
YWQgYW5ub3VuY2VkIHRoYXQgSSB3b3VsZCBjb21taXQgdGhpcyBhYm91dCBhDQo+Pj4gbW9udGgg
YWdvLiBJJ3ZlIGRvbmUgc28gbm93LCBidXQgdGhlcmUgd2FzIHF1aXRlIGEgYml0IG9mIHJlLWJh
c2luZw0KPj4+IG5lY2Vzc2FyeSwgdG8gYSBmYWlyIGRlZ3JlZSBiZWNhdXNlIG9mIHRoaXMgZGVs
YXkgdGhhdCBJIGRpZCBpbnRyb2R1Y2UNCj4+PiBieSBvdmVyc2lnaHQuIEkgaG9wZSBJIGRpZG4n
dCBzY3JldyB1cCBhbnl3aGVyZS4NCj4+IFJldmVydCB0aGVtLCBvciBJIHdpbGwuDQo+IFRoZXJl
IGlzIG5vIGJhc2lzIGZvciByZXZlcnRpbmcNCg0KWW91IGhhdmUgZmFsc2lmaWVkIHRhZ3MgZnJv
bSBtZSwgd2hpY2ggaXMgYSBjb25zZXF1ZW5jZSBvZiB0aGUgc2VyaWVzDQpub3QgaGF2aW5nIGJl
ZW4gcmV2aWV3ZWQgY29ycmVjdGx5Lg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 19:38:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 19:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387773.624156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNfum-0000BL-0W; Mon, 15 Aug 2022 19:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387773.624156; Mon, 15 Aug 2022 19:38:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNful-0000BE-SV; Mon, 15 Aug 2022 19:38:19 +0000
Received: by outflank-mailman (input) for mailman id 387773;
 Mon, 15 Aug 2022 19:38:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNfuk-0000B0-KN; Mon, 15 Aug 2022 19:38:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNfuk-0004JG-H4; Mon, 15 Aug 2022 19:38:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNfuk-0000Ta-39; Mon, 15 Aug 2022 19:38:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNfuk-0000IF-29; Mon, 15 Aug 2022 19:38:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wEIehfw5KulT9ggc1w0Cfcf0VEht0UTc2Wj/no9hvHQ=; b=Jy43PiewjVNTMCXkSR5cF6kQya
	e+BX0NZ4ZejuQjfzzdxeyyoU1UB7MG8kCAKZ3O0HSPgZjp0UD3buqqj05tak+RfnnRUF0MduLe0O5
	kUqdKFp//tgmrA4LXHE8t0Jdk8qc9FtKx1HQ6SUJM0IiCKtNL5bBLicOLIk0K5YH5vQo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172535-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172535: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=d102b8162a1e5fe8288d4d5c01801ce6536ac2d1
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 19:38:18 +0000

flight 172535 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172535/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 172527
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172527

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                d102b8162a1e5fe8288d4d5c01801ce6536ac2d1
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   12 days
Failing since        172148  2022-08-04 21:39:38 Z   10 days   28 attempts
Testing same since   172527  2022-08-14 23:38:45 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1536 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 20:33:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 20:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387788.624184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNgll-0006W2-FQ; Mon, 15 Aug 2022 20:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387788.624184; Mon, 15 Aug 2022 20:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNgll-0006Vv-CN; Mon, 15 Aug 2022 20:33:05 +0000
Received: by outflank-mailman (input) for mailman id 387788;
 Mon, 15 Aug 2022 20:33:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/Klp=YT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oNglj-0006Tl-S4
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 20:33:03 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 755b7250-1cd9-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 22:33:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 6AA51B80EA8;
 Mon, 15 Aug 2022 20:33:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0315BC433C1;
 Mon, 15 Aug 2022 20:32:58 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 755b7250-1cd9-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660595579;
	bh=jszsWYralBKgaggd0pZchR1qppMaJH10tXlQtdRttgI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=V8wC5bxKMluxpWNpaYbLNC8gqkdxTo62ggRX6B5F8iZWriPy79Q8tCCXL6fPzIh6r
	 Rx7ANPulKsQiJj8w2vLV2DTxLHWlv34E4BN4xxsuaLPTW/1vjY8TWvMKCaoLEBhov5
	 bCzQfb/4OBX2yG23hM1m5Y3lcbAwDhDyQnwUngImGlpcby6k9jCSb6gmqs7lKgl02O
	 fUWAeU81ToYEjJm5u52WHuTD2xyoS6ANa/iF8nQ1NCHVDGKdPBhpZdBjZr5DdcvXh4
	 9hJcHZjA+Cm+mkBt8jv7nvdcBrQLIO6ahVsH+zE0HG31fRrE5S/ypq2+Kg+UJXOJxi
	 jT4PTJv2OqyjA==
Date: Mon, 15 Aug 2022 13:32:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, bertrand.marquis@arm.com, 
    george.dunlap@citrix.com, andrew.cooper3@citrix.com, 
    Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org, 
    jbeulich@suse.com, wl@xen.org, roger.pau@citrix.com
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
In-Reply-To: <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
Message-ID: <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop> <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

+ Xen maintainers and committers


For context, I wrote a patch to introduce SPDX tags starting from
arch/arm/*.c.

Julien rightfully pointed out that it should be added to our coding
style. He is right. Also as I was reading his replies, I realized there
are a couple of minor coding style things to agree as a group first.
I'll highlighted them here and suggested a proposal. I am happy to go
with the preference of the majority.


## comment format // vs /*

In this patch I used:
// SPDX-License-Identifier: GPL-2.0

But our comment format is actually /* xxx */. I think it is fair to
use /* xxx */ as Julien requested:

/* SPDX-License-Identifier: GPL-2.0 */

Unless there are any concerns, I'll change the patch to /* SPDX... */


## blank line after SPDX

In this series, I didn't add a blank line after the new SPDX comment, no
matter if the following line was an #include or another comment. Now I am
thinking it would be best to add a blank line, as follows:

---
/* SPDX-License-Identifier: GPL-2.0 */

#include <xen/bitops.h>
---

Or:

---
/* SPDX-License-Identifier: GPL-2.0 */

/*
 * xen/arch/arm/device.c
 *
---

Let me know if that's OK for you.


## Original copyright text

As we add the new SDPX tag, It makes sense to remove the older copyright
text at the top of the file, e.g.:

diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
index f03cd943c6..d0a409e4fd 100644
--- a/xen/arch/arm/alternative.c
+++ b/xen/arch/arm/alternative.c
@@ -1,20 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
 /*
  * alternative runtime patching
  * inspired by the x86 version
  *
  * Copyright (C) 2014-2016 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/init.h>


Now the question is whether we want to keep what's left:

/*
 * alternative runtime patching
 * inspired by the x86 version
 *
 * Copyright (C) 2014-2016 ARM Ltd.
 */

The Copyright line is not useful and often stale. Also the other comment
is not very interesting in most cases (I am referring to "alternative
runtime patching inspired by the x86 version"), although I realize this
is going to be a on case-by-case basis.

My suggestion is to get rid of it all unless useful (in most cases it is
not useful), leading to:


diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
index f03cd943c6..e363176d1f 100644
--- a/xen/arch/arm/alternative.c
+++ b/xen/arch/arm/alternative.c
@@ -1,21 +1,4 @@
-/*
- * alternative runtime patching
- * inspired by the x86 version
- *
- * Copyright (C) 2014-2016 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
+/* SPDX-License-Identifier: GPL-2.0 */
 
 #include <xen/init.h>
 #include <xen/types.h>


Do you guys agree?


Cheers,

Stefano


P.S.
Julien, I'll reply to your other points separately to avoid confusion.


On Sat, 13 Aug 2022, Julien Grall wrote:
> Hi Stefano,
> 
> On 13/08/2022 01:59, Stefano Stabellini wrote:
> > Add SPDX license information to all the *.c files under arch/arm.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > 
> > We need to start from somewhere and I thought arch/arm/*.c would be a
> > good place to start.
> 
> Thanks for doing it. This will make easier to understand the license in each
> file. There are a couple of places below where the SDPX tag is incorrect. How
> did you figure out the which license to use?
> 
> Also, I think we should consider to add a section about SPDX in our coding
> style so new files are using it. So we don't end up with a mix in arch/arm/*.
> 
> > 
> > diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> > index f03cd943c6..8115f89408 100644
> > --- a/xen/arch/arm/alternative.c
> > +++ b/xen/arch/arm/alternative.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> 
> Technically, this is a comment. So this should be /* ... */ to follow Xen
> coding style. Also...
> 
> >   /*
> >    * alternative runtime patching
> >    * inspired by the x86 version
> 
> ... this comment contains information about the license. As you add the SPDX,
> the "long" version should be removed. This would also make easier to verify
> the SPDX you add match existing license.
> 
> > diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> > index ec81a45de9..7c986ecb18 100644
> > --- a/xen/arch/arm/bootfdt.c
> > +++ b/xen/arch/arm/bootfdt.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> >   /*
> >    * Early Device Tree
> >    *
> > diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
> > index ae649d16ef..887b5426c7 100644
> > --- a/xen/arch/arm/cpuerrata.c
> > +++ b/xen/arch/arm/cpuerrata.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> 
> This file had no explicit license. I had a look at the 'git log' and AFAICT
> this was either new code and came from Linux. So this looks fine to add GPLv2
> here.
> 
> >   #include <xen/cpu.h>
> >   #include <xen/cpumask.h>
> >   #include <xen/init.h>
> > diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
> > index 62d5e1770a..a6253cb57f 100644
> > --- a/xen/arch/arm/cpufeature.c
> > +++ b/xen/arch/arm/cpufeature.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> >   /*
> >    * Contains CPU feature definitions
> >    *
> > diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> > index f5f6562600..f586c3d781 100644
> > --- a/xen/arch/arm/decode.c
> > +++ b/xen/arch/arm/decode.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> 
> This tag doesn't match the license below. It is currently GPLv2+. I don't
> think you can change it without consulting the author. But if it is, then it
> should be mentioned in the commit message.
> 
> I remember we discussed in the past that some files were GPLv2+. But I can't
> remember what was the outcome (I can't find the thread). IIRC GPLv2+ is a lot
> more restrictive than GPLv2 and could prevent some companies to contribute.
> 
> [...]
> 
> > diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> > index 2cd481979c..1a2dac95a9 100644
> > --- a/xen/arch/arm/domain.c
> > +++ b/xen/arch/arm/domain.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> 
> Same here about GPLv2+. Please go through the rest of the files to confirm the
> license.
> 
> Cheers,
> 
> -- 
> Julien Grall
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 20:33:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 20:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387785.624172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNglh-0006EJ-7S; Mon, 15 Aug 2022 20:33:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387785.624172; Mon, 15 Aug 2022 20:33:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNglh-0006EC-4p; Mon, 15 Aug 2022 20:33:01 +0000
Received: by outflank-mailman (input) for mailman id 387785;
 Mon, 15 Aug 2022 20:32:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNglf-0006E2-Fe; Mon, 15 Aug 2022 20:32:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNglf-0005La-Au; Mon, 15 Aug 2022 20:32:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNgle-0004Zk-RG; Mon, 15 Aug 2022 20:32:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNgle-0005U1-QO; Mon, 15 Aug 2022 20:32:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Dr7V4dT6XWIoMbEzVrIaGkuQoOADw58QgQcIkciVxtg=; b=g8sTfi28wErXRvFv3hTwOWZgr2
	fy+Y/fIXtBLvmJnAL1jGDvwe4RLDgiUVcT8EDvKnMd6v1YRmxHao/F39/IVyj+/ayNABAvEq8aXM/
	hOfgY5cnhwOf4pud/tlMwT9rORCgOLXpJG9XhPQGgROu27etY+AxWib4aLOSfZtYadY4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172538-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172538: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 20:32:58 +0000

flight 172538 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172538/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10    fail pass in 172524

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 172524 like 172108
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172524 like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172524 like 172128
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 172524 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 172524 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   11 days
Testing same since   172384  2022-08-11 11:13:58 Z    4 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 20:39:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 20:39:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387802.624195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNgrl-0007Xo-9U; Mon, 15 Aug 2022 20:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387802.624195; Mon, 15 Aug 2022 20:39:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNgrl-0007Xh-5F; Mon, 15 Aug 2022 20:39:17 +0000
Received: by outflank-mailman (input) for mailman id 387802;
 Mon, 15 Aug 2022 20:39:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/Klp=YT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oNgrj-0007XI-OB
 for xen-devel@lists.xenproject.org; Mon, 15 Aug 2022 20:39:15 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 522c1c06-1cda-11ed-924f-1f966e50362f;
 Mon, 15 Aug 2022 22:39:13 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D906061227;
 Mon, 15 Aug 2022 20:39:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 691DCC433D6;
 Mon, 15 Aug 2022 20:39:10 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 522c1c06-1cda-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660595951;
	bh=/kwtncNnmX1Er6+8KlT3lxf0KyTwJcPfa160P8KuPIw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=M4aHly93/NnhaThYNvmPOVw/RDE350ysPFXSwOHSP95nBAfNMANG2OwcuAsVlQ0mJ
	 Rw8xc/JzbIv7J5H4VY2vKpa7P6LEA5TTcgemyasmGU024lLYpXm4B7ZD01f76yrZPH
	 B86hGSVCD/rLxXdKzeE2rLsOMvPjutjpVdAqV8cTEtrB8dvcOHcVa0Btxh7MU7jeIn
	 uKtdt0Ni3AHs2IZPvk1zL8Ywu6vIf0MUeOWFIalnQMWAVlLWO6qsMIaoplK4c1a6qm
	 pAM1TOqOgcdkCwU7kt/C49kbGM8mpvtKkaJpifUaxQcrXmYkOMbfOuYSnWP85BU1Z8
	 AiJnjnc2FWBHw==
Date: Mon, 15 Aug 2022 13:39:09 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, bertrand.marquis@arm.com, 
    george.dunlap@citrix.com, andrew.cooper3@citrix.com, 
    Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
In-Reply-To: <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
Message-ID: <alpine.DEB.2.22.394.2208151333130.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop> <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 13 Aug 2022, Julien Grall wrote:
> Hi Stefano,
> 
> On 13/08/2022 01:59, Stefano Stabellini wrote:
> > Add SPDX license information to all the *.c files under arch/arm.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > 
> > We need to start from somewhere and I thought arch/arm/*.c would be a
> > good place to start.
> 
> Thanks for doing it. This will make easier to understand the license in each
> file. There are a couple of places below where the SDPX tag is incorrect. How
> did you figure out the which license to use?

I used the information in COPYING at the top of the repository. I
realize that I should also have checked the comment header at the top
of each source file, especially in regards to GPLv2 vs, GPLv2 or later.
I'll do that in the next version.


> Also, I think we should consider to add a section about SPDX in our coding
> style so new files are using it. So we don't end up with a mix in arch/arm/*.

Excellent point. I realized there are a couple of style details to sort
out so I sent out a separate email about that.


> > diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> > index f03cd943c6..8115f89408 100644
> > --- a/xen/arch/arm/alternative.c
> > +++ b/xen/arch/arm/alternative.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> 
> Technically, this is a comment. So this should be /* ... */ to follow Xen
> coding style. Also...
> 
> >   /*
> >    * alternative runtime patching
> >    * inspired by the x86 version
> 
> ... this comment contains information about the license. As you add the SPDX,
> the "long" version should be removed. This would also make easier to verify
> the SPDX you add match existing license.

I agree. Also I made a comment about this in the other larger thread to
make sure we are all on the same page about it.


> > diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> > index ec81a45de9..7c986ecb18 100644
> > --- a/xen/arch/arm/bootfdt.c
> > +++ b/xen/arch/arm/bootfdt.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> >   /*
> >    * Early Device Tree
> >    *
> > diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
> > index ae649d16ef..887b5426c7 100644
> > --- a/xen/arch/arm/cpuerrata.c
> > +++ b/xen/arch/arm/cpuerrata.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> 
> This file had no explicit license. I had a look at the 'git log' and AFAICT
> this was either new code and came from Linux. So this looks fine to add GPLv2
> here.

Thanks


> >   #include <xen/cpu.h>
> >   #include <xen/cpumask.h>
> >   #include <xen/init.h>
> > diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
> > index 62d5e1770a..a6253cb57f 100644
> > --- a/xen/arch/arm/cpufeature.c
> > +++ b/xen/arch/arm/cpufeature.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> >   /*
> >    * Contains CPU feature definitions
> >    *
> > diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> > index f5f6562600..f586c3d781 100644
> > --- a/xen/arch/arm/decode.c
> > +++ b/xen/arch/arm/decode.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0
> 
> This tag doesn't match the license below. It is currently GPLv2+. I don't
> think you can change it without consulting the author. But if it is, then it
> should be mentioned in the commit message.

[...]

> I remember we discussed in the past that some files were GPLv2+. But I can't
> remember what was the outcome (I can't find the thread). IIRC GPLv2+ is a lot
> more restrictive than GPLv2 and could prevent some companies to contribute.

[...]

> Same here about GPLv2+. Please go through the rest of the files to confirm the
> license.

The change was not intentional: this exercise should not result in any
licensing changes. Next time I'll make sure to check all the
copyright/license headers at the top of the files to make sure they
match the SPDX tag.

Thanks for spotting this.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Mon Aug 15 20:53:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Aug 2022 20:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387809.624206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNh5q-0001S1-HU; Mon, 15 Aug 2022 20:53:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387809.624206; Mon, 15 Aug 2022 20:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNh5q-0001Ru-Dp; Mon, 15 Aug 2022 20:53:50 +0000
Received: by outflank-mailman (input) for mailman id 387809;
 Mon, 15 Aug 2022 20:53:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNh5p-0001Rk-BT; Mon, 15 Aug 2022 20:53:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNh5p-0005hg-3G; Mon, 15 Aug 2022 20:53:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNh5o-0005Wn-Ob; Mon, 15 Aug 2022 20:53:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNh5o-0006L1-O6; Mon, 15 Aug 2022 20:53:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=H9hbI+gGUI4duWo0p98CK9tiA4OkyuSWbidUqdbUV7Q=; b=AdA+AlbxU7DfvM36ORAdr3PPBx
	7KQYmPJmadKfgRXDYofWkhmgd2vDtZfsnTDrAbnigSr7oFnz21gqxVFj/4EDUqeZVM30UfgavvrNh
	gkSSuQfOn2CbYNZsvo7CFRYPzrpn3Ui0eVMdeU47PjSPKHS+B0mq9SHa1kB3qsO68nDE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172543-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172543: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7547268c359eeef1a4d8e578c612e7cc9350992d
X-Osstest-Versions-That:
    xen=3dc26edbb5417d90d32df6aa70d7c4187dd9966e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Aug 2022 20:53:48 +0000

flight 172543 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172543/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172502
 build-amd64-libvirt           6 libvirt-build                fail  like 172529
 build-i386-libvirt            6 libvirt-build                fail  like 172529
 build-arm64-libvirt           6 libvirt-build                fail  like 172529
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172529
 build-armhf-libvirt           6 libvirt-build                fail  like 172529
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172529
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172529
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172529
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172529
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172529
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172529
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172529
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  7547268c359eeef1a4d8e578c612e7cc9350992d
baseline version:
 xen                  3dc26edbb5417d90d32df6aa70d7c4187dd9966e

Last test of basis   172529  2022-08-15 01:53:29 Z    0 days
Testing same since   172543  2022-08-15 10:08:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3dc26edbb5..7547268c35  7547268c359eeef1a4d8e578c612e7cc9350992d -> master


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:37:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387837.624310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSO-00085P-K9; Tue, 16 Aug 2022 02:37:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387837.624310; Tue, 16 Aug 2022 02:37:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSO-00085E-Gr; Tue, 16 Aug 2022 02:37:28 +0000
Received: by outflank-mailman (input) for mailman id 387837;
 Tue, 16 Aug 2022 02:37:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSO-0007FY-62
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5df339fd-1d0c-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 04:37:27 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 91C27106F;
 Mon, 15 Aug 2022 19:37:27 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 677453F70D;
 Mon, 15 Aug 2022 19:37:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5df339fd-1d0c-11ed-924f-1f966e50362f
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v10 3/9] xen: do not merge reserved pages in free_heap_pages()
Date: Tue, 16 Aug 2022 10:36:52 +0800
Message-Id: <20220816023658.3551936-4-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The code in free_heap_pages() will try to merge pages with the
successor/predecessor if pages are suitably aligned. So if the pages
reserved are right next to the pages given to the heap allocator,
free_heap_pages() will merge them, and give the reserved pages to heap
allocator accidentally as a result.

So in order to avoid the above scenario, this commit updates free_heap_pages()
to check whether the predecessor and/or successor has PGC_static set,
when trying to merge the about-to-be-freed chunk with the predecessor
and/or successor.

Suggested-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v10 changes:
- commit message typo fix
---
v9 changes:
- no change
---
v8 changes:
- no change
---
v7 changes:
- no change
---
v6 changes:
- adapt to PGC_static
---
v5 changes:
- change PGC_reserved to adapt to PGC_staticmem
---
v4 changes:
- no changes
---
v3 changes:
- no changes
---
v2 changes:
- new commit
---
 xen/common/page_alloc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 5e97dcaa26..1be7f671dc 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1483,6 +1483,7 @@ static void free_heap_pages(
             /* Merge with predecessor block? */
             if ( !mfn_valid(page_to_mfn(predecessor)) ||
                  !page_state_is(predecessor, free) ||
+                 (predecessor->count_info & PGC_static) ||
                  (PFN_ORDER(predecessor) != order) ||
                  (phys_to_nid(page_to_maddr(predecessor)) != node) )
                 break;
@@ -1506,6 +1507,7 @@ static void free_heap_pages(
             /* Merge with successor block? */
             if ( !mfn_valid(page_to_mfn(successor)) ||
                  !page_state_is(successor, free) ||
+                 (successor->count_info & PGC_static) ||
                  (PFN_ORDER(successor) != order) ||
                  (phys_to_nid(page_to_maddr(successor)) != node) )
                 break;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:37:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387834.624277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSF-0007Fx-Sk; Tue, 16 Aug 2022 02:37:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387834.624277; Tue, 16 Aug 2022 02:37:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSF-0007Fe-NC; Tue, 16 Aug 2022 02:37:19 +0000
Received: by outflank-mailman (input) for mailman id 387834;
 Tue, 16 Aug 2022 02:37:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSE-0007FY-Gs
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5673c57f-1d0c-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 04:37:15 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id ECA33106F;
 Mon, 15 Aug 2022 19:37:14 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BA54D3F70D;
 Mon, 15 Aug 2022 19:37:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5673c57f-1d0c-11ed-924f-1f966e50362f
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v10 0/9] populate/unpopulate memory when domain on static allocation
Date: Tue, 16 Aug 2022 10:36:49 +0800
Message-Id: <20220816023658.3551936-1-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Today when a domain unpopulates the memory on runtime, they will always
hand the memory over to the heap allocator. And it will be a problem if it
is a static domain.
Pages used as guest RAM for static domain shall always be reserved to this
domain only, and not be used for any other purposes, so they shall never go
back to heap allocator.

This patch serie intends to fix this issue, by adding pages on the new list
resv_page_list after having taken them off the "normal" list, when unpopulating
memory, and retrieving pages from resv page list(resv_page_list) when
populating memory.

---
v10 changes:
- let Arm keep #define PGC_static 0 private, with the generic fallback
remaining in page_alloc.c
- change ASSERT(d) to ASSERT_UNREACHABLE() to be more robust looking
forward, and also add a printk() to log the problem
- mention the the removal of #ifdef CONFIG_STATIC_MEMORY in commit
message
- commit message typo fix
- Do not skip the list addition in that one special case
- add lock on the fail path
- new commit "xen: rename free_staticmem_pages to unprepare_staticmem_pages"
---
v9 changes:
- move free_domheap_page into else-condition
- considering scrubbing static pages, domain dying case and opt_scrub_domheap
both do not apply to static pages.
- as unowned static pages don't make themselves to free_domstatic_page
at the moment, remove else-condition and add ASSERT(d) at the top of the
function
- remove macro helper put_static_page, and just expand its code inside
free_domstatic_page
- Use ASSERT_ALLOC_CONTEXT() in acquire_reserved_page
- Add free_staticmem_pages to undo prepare_staticmem_pages when
assign_domstatic_pages fails
- Remove redundant static in error message
---
v8 changes:
- introduce new helper free_domstatic_page
- let put_page call free_domstatic_page for static page, when last ref
drops
- #define PGC_static zero when !CONFIG_STATIC_MEMORY, as it is used
outside page_alloc.c
- #ifdef-ary around is_domain_using_staticmem() is not needed anymore
- order as a parameter is not needed here, as all staticmem operations are
limited to order-0 regions
- move d->page_alloc_lock after operation on d->resv_page_list
- As concurrent free/allocate could modify the resv_page_list, we still
need the lock
---
v7 changes:
- protect free_staticmem_pages with heap_lock to match its reverse function
acquire_staticmem_pages
- IS_ENABLED(CONFIG_STATIC_MEMORY) would not be needed anymore
- add page on the rsv_page_list *after* it has been freed
- remove the lock, since we add the page to rsv_page_list after it has
been totally freed.
---
v6 changes:
- rename PGC_staticmem to PGC_static
- remove #ifdef aroud function declaration
- use domain instead of sub-systems
- move non-zero is_domain_using_staticmem() from ARM header to common
header
- move PGC_static !CONFIG_STATIC_MEMORY definition to common header
- drop the lock before returning
---
v5 changes:
- introduce three new commits
- In order to avoid stub functions, we #define PGC_staticmem to non-zero only
when CONFIG_STATIC_MEMORY
- use "unlikely()" around pg->count_info & PGC_staticmem
- remove pointless "if", since mark_page_free() is going to set count_info
to PGC_state_free and by consequence clear PGC_staticmem
- move #define PGC_staticmem 0 to mm.h
- guard "is_domain_using_staticmem" under CONFIG_STATIC_MEMORY
- #define is_domain_using_staticmem zero if undefined
- extract common codes for assigning pages into a helper assign_domstatic_pages
- refine commit message
- remove stub function acquire_reserved_page
- Alloc/free of memory can happen concurrently. So access to rsv_page_list
needs to be protected with a spinlock
---
v4 changes:
- commit message refinement
- miss dropping __init in acquire_domstatic_pages
- add the page back to the reserved list in case of error
- remove redundant printk
- refine log message and make it warn level
- guard "is_domain_using_staticmem" under CONFIG_STATIC_MEMORY
- #define is_domain_using_staticmem zero if undefined
---
v3 changes:
- fix possible racy issue in free_staticmem_pages()
- introduce a stub free_staticmem_pages() for the !CONFIG_STATIC_MEMORY case
- move the change to free_heap_pages() to cover other potential call sites
- change fixed width type uint32_t to unsigned int
- change "flags" to a more descriptive name "cdf"
- change name from "is_domain_static()" to "is_domain_using_staticmem"
- have page_list_del() just once out of the if()
- remove resv_pages counter
- make arch_free_heap_page be an expression, not a compound statement.
- move #ifndef is_domain_using_staticmem to the common header file
- remove #ifdef CONFIG_STATIC_MEMORY-ary
- remove meaningless page_to_mfn(page) in error log
---
v2 changes:
- let "flags" live in the struct domain. So other arch can take
advantage of it in the future
- change name from "is_domain_on_static_allocation" to "is_domain_static()"
- put reserved pages on resv_page_list after having taken them off
the "normal" list
- introduce acquire_reserved_page to retrieve reserved pages from
resv_page_list
- forbid non-zero-order requests in populate_physmap
- let is_domain_static return ((void)(d), false) on x86
- fix coding style

Penny Zheng (9):
  xen/arm: rename PGC_reserved to PGC_static
  xen: do not free reserved memory into heap
  xen: do not merge reserved pages in free_heap_pages()
  xen: add field "flags" to cover all internal CDF_XXX
  xen/arm: introduce CDF_staticmem
  xen: unpopulate memory when domain is static
  xen: introduce prepare_staticmem_pages
  xen: retrieve reserved pages on populate_physmap
  xen: rename free_staticmem_pages to unprepare_staticmem_pages

 xen/arch/arm/domain.c             |   2 -
 xen/arch/arm/domain_build.c       |   5 +-
 xen/arch/arm/include/asm/domain.h |   3 +-
 xen/arch/arm/include/asm/mm.h     |  10 +-
 xen/arch/arm/mm.c                 |   5 +-
 xen/arch/arm/setup.c              |   3 +-
 xen/common/domain.c               |   7 ++
 xen/common/memory.c               |  23 ++++
 xen/common/page_alloc.c           | 192 ++++++++++++++++++++++--------
 xen/include/xen/domain.h          |   8 ++
 xen/include/xen/mm.h              |   8 +-
 xen/include/xen/sched.h           |   6 +
 12 files changed, 209 insertions(+), 63 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:37:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387835.624287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSI-0007Vj-59; Tue, 16 Aug 2022 02:37:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387835.624287; Tue, 16 Aug 2022 02:37:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSI-0007Vc-2U; Tue, 16 Aug 2022 02:37:22 +0000
Received: by outflank-mailman (input) for mailman id 387835;
 Tue, 16 Aug 2022 02:37:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSG-0007FY-7i
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5916026d-1d0c-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 04:37:19 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 51D36106F;
 Mon, 15 Aug 2022 19:37:19 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9DC5D3F70D;
 Mon, 15 Aug 2022 19:37:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5916026d-1d0c-11ed-924f-1f966e50362f
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v10 1/9] xen/arm: rename PGC_reserved to PGC_static
Date: Tue, 16 Aug 2022 10:36:50 +0800
Message-Id: <20220816023658.3551936-2-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

PGC_reserved could be ambiguous, and we have to tell what the pages are
reserved for, so this commit intends to rename PGC_reserved to
PGC_static, which clearly indicates the page is reserved for static
memory.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v10 changes:
- no change
---
v9 changes:
- no change
---
v8 changes:
- no change
---
v7 changes:
- no change
---
v6 changes:
- rename PGC_staticmem to PGC_static
---
v5 changes:
- new commit
---
 xen/arch/arm/include/asm/mm.h |  6 +++---
 xen/common/page_alloc.c       | 22 +++++++++++-----------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 6c0a3c789f..da25251cda 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -121,9 +121,9 @@ struct page_info
   /* Page is Xen heap? */
 #define _PGC_xen_heap     PG_shift(2)
 #define PGC_xen_heap      PG_mask(1, 2)
-  /* Page is reserved */
-#define _PGC_reserved     PG_shift(3)
-#define PGC_reserved      PG_mask(1, 3)
+  /* Page is static memory */
+#define _PGC_static    PG_shift(3)
+#define PGC_static     PG_mask(1, 3)
 /* ... */
 /* Page is broken? */
 #define _PGC_broken       PG_shift(7)
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 8bdaffeb3d..00fa24e330 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -151,8 +151,8 @@
 #define p2m_pod_offline_or_broken_replace(pg) BUG_ON(pg != NULL)
 #endif
 
-#ifndef PGC_reserved
-#define PGC_reserved 0
+#ifndef PGC_static
+#define PGC_static 0
 #endif
 
 #ifndef PGT_TYPE_INFO_INITIALIZER
@@ -2342,7 +2342,7 @@ int assign_pages(
 
         for ( i = 0; i < nr; i++ )
         {
-            ASSERT(!(pg[i].count_info & ~(PGC_extra | PGC_reserved)));
+            ASSERT(!(pg[i].count_info & ~(PGC_extra | PGC_static)));
             if ( pg[i].count_info & PGC_extra )
                 extra_pages++;
         }
@@ -2402,7 +2402,7 @@ int assign_pages(
         page_set_owner(&pg[i], d);
         smp_wmb(); /* Domain pointer must be visible before updating refcnt. */
         pg[i].count_info =
-            (pg[i].count_info & (PGC_extra | PGC_reserved)) | PGC_allocated | 1;
+            (pg[i].count_info & (PGC_extra | PGC_static)) | PGC_allocated | 1;
 
         page_list_add_tail(&pg[i], page_to_list(d, &pg[i]));
     }
@@ -2708,8 +2708,8 @@ void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
             scrub_one_page(pg);
         }
 
-        /* In case initializing page of static memory, mark it PGC_reserved. */
-        pg[i].count_info |= PGC_reserved;
+        /* In case initializing page of static memory, mark it PGC_static. */
+        pg[i].count_info |= PGC_static;
     }
 }
 
@@ -2738,8 +2738,8 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
 
     for ( i = 0; i < nr_mfns; i++ )
     {
-        /* The page should be reserved and not yet allocated. */
-        if ( pg[i].count_info != (PGC_state_free | PGC_reserved) )
+        /* The page should be static and not yet allocated. */
+        if ( pg[i].count_info != (PGC_state_free | PGC_static) )
         {
             printk(XENLOG_ERR
                    "pg[%lu] Static MFN %"PRI_mfn" c=%#lx t=%#x\n",
@@ -2753,10 +2753,10 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
                                 &tlbflush_timestamp);
 
         /*
-         * Preserve flag PGC_reserved and change page state
+         * Preserve flag PGC_static and change page state
          * to PGC_state_inuse.
          */
-        pg[i].count_info = PGC_reserved | PGC_state_inuse;
+        pg[i].count_info = PGC_static | PGC_state_inuse;
         /* Initialise fields which have other uses for free pages. */
         pg[i].u.inuse.type_info = PGT_TYPE_INFO_INITIALIZER;
         page_set_owner(&pg[i], NULL);
@@ -2778,7 +2778,7 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
 
  out_err:
     while ( i-- )
-        pg[i].count_info = PGC_reserved | PGC_state_free;
+        pg[i].count_info = PGC_static | PGC_state_free;
 
     spin_unlock(&heap_lock);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:37:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387836.624299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSM-0007nN-Cl; Tue, 16 Aug 2022 02:37:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387836.624299; Tue, 16 Aug 2022 02:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSM-0007nF-9l; Tue, 16 Aug 2022 02:37:26 +0000
Received: by outflank-mailman (input) for mailman id 387836;
 Tue, 16 Aug 2022 02:37:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSK-0007FY-LP
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:24 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5ba08e45-1d0c-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 04:37:23 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B6C16106F;
 Mon, 15 Aug 2022 19:37:23 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 087D63F70D;
 Mon, 15 Aug 2022 19:37:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ba08e45-1d0c-11ed-924f-1f966e50362f
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v10 2/9] xen: do not free reserved memory into heap
Date: Tue, 16 Aug 2022 10:36:51 +0800
Message-Id: <20220816023658.3551936-3-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Pages used as guest RAM for static domain, shall be reserved to this
domain only.
So in case reserved pages being used for other purpose, users
shall not free them back to heap, even when last ref gets dropped.

This commit introduces a new helper free_domstatic_page to free
static page in runtime, and free_staticmem_pages will be called by it
in runtime, so let's drop the __init flag.

Wrapper #ifdef CONFIG_STATIC_MEMORY around function declaration(
free_staticmem_pages, free_domstatic_page, etc) is kinds of redundant,
so we decide to remove it here.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v10 changes:
- let Arm keep #define PGC_static 0 private, with the generic fallback
remaining in page_alloc.c
- change ASSERT(d) to ASSERT_UNREACHABLE() to be more robust looking
forward, and also add a printk() to log the problem
- mention the removal of #ifdef CONFIG_STATIC_MEMORY in commit message
---
v9 changes:
- move free_domheap_page into else-condition
- considering scrubbing static pages, domain dying case and opt_scrub_domheap
both donot apply to static pages.
- as unowned static pages don't make themselves to free_domstatic_page
at the moment, remove else-condition and add ASSERT(d) at the top of the
function
---
v8 changes:
- introduce new helper free_domstatic_page
- let put_page call free_domstatic_page for static page, when last ref
drops
- #define PGC_static zero when !CONFIG_STATIC_MEMORY, as it is used
outside page_alloc.c
---
v7 changes:
- protect free_staticmem_pages with heap_lock to match its reverse function
acquire_staticmem_pages
---
v6 changes:
- adapt to PGC_static
- remove #ifdef aroud function declaration
---
v5 changes:
- In order to avoid stub functions, we #define PGC_staticmem to non-zero only
when CONFIG_STATIC_MEMORY
- use "unlikely()" around pg->count_info & PGC_staticmem
- remove pointless "if", since mark_page_free() is going to set count_info
to PGC_state_free and by consequence clear PGC_staticmem
- move #define PGC_staticmem 0 to mm.h
---
v4 changes:
- no changes
---
v3 changes:
- fix possible racy issue in free_staticmem_pages()
- introduce a stub free_staticmem_pages() for the !CONFIG_STATIC_MEMORY case
- move the change to free_heap_pages() to cover other potential call sites
- fix the indentation
---
v2 changes:
- new commit
---
---
 xen/arch/arm/include/asm/mm.h |  6 +++++-
 xen/arch/arm/mm.c             |  5 ++++-
 xen/common/page_alloc.c       | 39 ++++++++++++++++++++++++++++++++---
 xen/include/xen/mm.h          |  3 +--
 4 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index da25251cda..749fbefa0c 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -121,9 +121,13 @@ struct page_info
   /* Page is Xen heap? */
 #define _PGC_xen_heap     PG_shift(2)
 #define PGC_xen_heap      PG_mask(1, 2)
-  /* Page is static memory */
+#ifdef CONFIG_STATIC_MEMORY
+/* Page is static memory */
 #define _PGC_static    PG_shift(3)
 #define PGC_static     PG_mask(1, 3)
+#else
+#define PGC_static     0
+#endif
 /* ... */
 /* Page is broken? */
 #define _PGC_broken       PG_shift(7)
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b42cddb1b4..fbdab5598c 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1496,7 +1496,10 @@ void put_page(struct page_info *page)
 
     if ( unlikely((nx & PGC_count_mask) == 0) )
     {
-        free_domheap_page(page);
+        if ( unlikely(nx & PGC_static) )
+            free_domstatic_page(page);
+        else
+            free_domheap_page(page);
     }
 }
 
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 00fa24e330..5e97dcaa26 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2692,12 +2692,14 @@ struct domain *get_pg_owner(domid_t domid)
 
 #ifdef CONFIG_STATIC_MEMORY
 /* Equivalent of free_heap_pages to free nr_mfns pages of static memory. */
-void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
-                                 bool need_scrub)
+void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                          bool need_scrub)
 {
     mfn_t mfn = page_to_mfn(pg);
     unsigned long i;
 
+    spin_lock(&heap_lock);
+
     for ( i = 0; i < nr_mfns; i++ )
     {
         mark_page_free(&pg[i], mfn_add(mfn, i));
@@ -2708,9 +2710,40 @@ void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
             scrub_one_page(pg);
         }
 
-        /* In case initializing page of static memory, mark it PGC_static. */
         pg[i].count_info |= PGC_static;
     }
+
+    spin_unlock(&heap_lock);
+}
+
+void free_domstatic_page(struct page_info *page)
+{
+    struct domain *d = page_get_owner(page);
+    bool drop_dom_ref;
+
+    if ( unlikely(!d) )
+    {
+        ASSERT_UNREACHABLE();
+        printk("The about-to-free static page %"PRI_mfn" must be owned by a domain\n",
+               mfn_x(page_to_mfn(page)));
+        return;
+    }
+
+    ASSERT_ALLOC_CONTEXT();
+
+    /* NB. May recursively lock from relinquish_memory(). */
+    spin_lock_recursive(&d->page_alloc_lock);
+
+    arch_free_heap_page(d, page);
+
+    drop_dom_ref = !domain_adjust_tot_pages(d, -1);
+
+    spin_unlock_recursive(&d->page_alloc_lock);
+
+    free_staticmem_pages(page, 1, scrub_debug);
+
+    if ( drop_dom_ref )
+        put_domain(d);
 }
 
 /*
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 35b065146f..deadf4b2a1 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -85,13 +85,12 @@ bool scrub_free_pages(void);
 } while ( false )
 #define FREE_XENHEAP_PAGE(p) FREE_XENHEAP_PAGES(p, 0)
 
-#ifdef CONFIG_STATIC_MEMORY
 /* These functions are for static memory */
 void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
                           bool need_scrub);
+void free_domstatic_page(struct page_info *page);
 int acquire_domstatic_pages(struct domain *d, mfn_t smfn, unsigned int nr_mfns,
                             unsigned int memflags);
-#endif
 
 /* Map machine page range in Xen virtual address space. */
 int map_pages_to_xen(
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:37:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387839.624321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmST-0008TI-U2; Tue, 16 Aug 2022 02:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387839.624321; Tue, 16 Aug 2022 02:37:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmST-0008TB-RF; Tue, 16 Aug 2022 02:37:33 +0000
Received: by outflank-mailman (input) for mailman id 387839;
 Tue, 16 Aug 2022 02:37:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSS-0008P8-S5
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6099ba52-1d0c-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 04:37:31 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F0B3A106F;
 Mon, 15 Aug 2022 19:37:31 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 486FE3F70D;
 Mon, 15 Aug 2022 19:37:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6099ba52-1d0c-11ed-bd2e-47488cf2e6aa
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v10 4/9] xen: add field "flags" to cover all internal CDF_XXX
Date: Tue, 16 Aug 2022 10:36:53 +0800
Message-Id: <20220816023658.3551936-5-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With more and more CDF_xxx internal flags in and to save the space, this
commit introduces a new field "flags" in struct domain to store CDF_*
internal flags directly.

Another new CDF_xxx will be introduced in the next patch.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v10 changes:
- no change
---
v9 changes:
- no change
---
v8 changes:
- no change
---
v7 changes:
- no change
---
v6 changes:
- no change
---
v5 changes:
- no change
---
v4 changes:
- no change
---
v3 changes:
- change fixed width type uint32_t to unsigned int
- change "flags" to a more descriptive name "cdf"
---
v2 changes:
- let "flags" live in the struct domain. So other arch can take
advantage of it in the future
- fix coding style
---
 xen/arch/arm/domain.c             | 2 --
 xen/arch/arm/include/asm/domain.h | 3 +--
 xen/common/domain.c               | 3 +++
 xen/include/xen/sched.h           | 3 +++
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 2cd481979c..a963884e81 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -712,8 +712,6 @@ int arch_domain_create(struct domain *d,
     ioreq_domain_init(d);
 #endif
 
-    d->arch.directmap = flags & CDF_directmap;
-
     /* p2m_init relies on some value initialized by the IOMMU subsystem */
     if ( (rc = iommu_domain_init(d, config->iommu_opts)) != 0 )
         goto fail;
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index cd9ce19b4b..26a8348eed 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -29,7 +29,7 @@ enum domain_type {
 #define is_64bit_domain(d) (0)
 #endif
 
-#define is_domain_direct_mapped(d) (d)->arch.directmap
+#define is_domain_direct_mapped(d) ((d)->cdf & CDF_directmap)
 
 /*
  * Is the domain using the host memory layout?
@@ -104,7 +104,6 @@ struct arch_domain
     void *tee;
 #endif
 
-    bool directmap;
 }  __cacheline_aligned;
 
 struct arch_vcpu
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 618410e3b2..7062393e37 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -567,6 +567,9 @@ struct domain *domain_create(domid_t domid,
     /* Sort out our idea of is_system_domain(). */
     d->domain_id = domid;
 
+    /* Holding CDF_* internal flags. */
+    d->cdf = flags;
+
     /* Debug sanity. */
     ASSERT(is_system_domain(d) ? config == NULL : config != NULL);
 
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index e2b3b6daa3..1cf629e7ec 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -596,6 +596,9 @@ struct domain
         struct ioreq_server     *server[MAX_NR_IOREQ_SERVERS];
     } ioreq_server;
 #endif
+
+    /* Holding CDF_* constant. Internal flags for domain creation. */
+    unsigned int cdf;
 };
 
 static inline struct page_list_head *page_to_list(
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387841.624332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSY-0000TM-9L; Tue, 16 Aug 2022 02:37:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387841.624332; Tue, 16 Aug 2022 02:37:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSY-0000T5-4V; Tue, 16 Aug 2022 02:37:38 +0000
Received: by outflank-mailman (input) for mailman id 387841;
 Tue, 16 Aug 2022 02:37:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSW-0008P8-UF
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:36 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 63280e86-1d0c-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 04:37:36 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5B9CF106F;
 Mon, 15 Aug 2022 19:37:36 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A71253F70D;
 Mon, 15 Aug 2022 19:37:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63280e86-1d0c-11ed-bd2e-47488cf2e6aa
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v10 5/9] xen/arm: introduce CDF_staticmem
Date: Tue, 16 Aug 2022 10:36:54 +0800
Message-Id: <20220816023658.3551936-6-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to have an easy and quick way to find out whether this domain memory
is statically configured, this commit introduces a new flag CDF_staticmem and a
new helper is_domain_using_staticmem() to tell.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v10 changes:
- no change
---
v9 changes:
- no change
---
v8 changes:
- #ifdef-ary around is_domain_using_staticmem() is not needed anymore
---
v7 changes:
- IS_ENABLED(CONFIG_STATIC_MEMORY) would not be needed anymore
---
v6 changes:
- move non-zero is_domain_using_staticmem() from ARM header to common
header
---
v5 changes:
- guard "is_domain_using_staticmem" under CONFIG_STATIC_MEMORY
- #define is_domain_using_staticmem zero if undefined
---
v4 changes:
- no changes
---
v3 changes:
- change name from "is_domain_static()" to "is_domain_using_staticmem"
---
v2 changes:
- change name from "is_domain_on_static_allocation" to "is_domain_static()
---
 xen/arch/arm/domain_build.c | 5 ++++-
 xen/include/xen/domain.h    | 8 ++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 3fd1186b53..b76a84e8f5 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3287,9 +3287,12 @@ void __init create_domUs(void)
         if ( !dt_device_is_compatible(node, "xen,domain") )
             continue;
 
+        if ( dt_find_property(node, "xen,static-mem", NULL) )
+            flags |= CDF_staticmem;
+
         if ( dt_property_read_bool(node, "direct-map") )
         {
-            if ( !IS_ENABLED(CONFIG_STATIC_MEMORY) || !dt_find_property(node, "xen,static-mem", NULL) )
+            if ( !(flags & CDF_staticmem) )
                 panic("direct-map is not valid for domain %s without static allocation.\n",
                       dt_node_name(node));
 
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 628b14b086..2c8116afba 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -35,6 +35,14 @@ void arch_get_domain_info(const struct domain *d,
 /* Should domain memory be directly mapped? */
 #define CDF_directmap            (1U << 1)
 #endif
+/* Is domain memory on static allocation? */
+#ifdef CONFIG_STATIC_MEMORY
+#define CDF_staticmem            (1U << 2)
+#else
+#define CDF_staticmem            0
+#endif
+
+#define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
 
 /*
  * Arch-specifics.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:37:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:37:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387845.624343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSc-00014l-LL; Tue, 16 Aug 2022 02:37:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387845.624343; Tue, 16 Aug 2022 02:37:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSc-00014Z-Hi; Tue, 16 Aug 2022 02:37:42 +0000
Received: by outflank-mailman (input) for mailman id 387845;
 Tue, 16 Aug 2022 02:37:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSa-0007FY-R0
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:40 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6555659d-1d0c-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 04:37:39 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 01C66113E;
 Mon, 15 Aug 2022 19:37:40 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 140743F70D;
 Mon, 15 Aug 2022 19:37:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6555659d-1d0c-11ed-924f-1f966e50362f
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v10 6/9] xen: unpopulate memory when domain is static
Date: Tue, 16 Aug 2022 10:36:55 +0800
Message-Id: <20220816023658.3551936-7-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today when a domain unpopulates the memory on runtime, they will always
hand the memory back to the heap allocator. And it will be a problem if domain
is static.

Pages as guest RAM for static domain shall be reserved to only this domain
and not be used for any other purposes, so they shall never go back to heap
allocator.

This commit puts reserved pages on the new list resv_page_list only after
having taken them off the "normal" list, when the last ref dropped.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v10 change:
- Do not skip the list addition in that one special case
---
v9 change:
- remove macro helper put_static_page, and just expand its code inside
free_domstatic_page
---
v8 changes:
- adapt this patch for newly introduced free_domstatic_page
- order as a parameter is not needed here, as all staticmem operations are
limited to order-0 regions
- move d->page_alloc_lock after operation on d->resv_page_list
---
v7 changes:
- Add page on the rsv_page_list *after* it has been freed
---
v6 changes:
- refine in-code comment
- move PGC_static !CONFIG_STATIC_MEMORY definition to common header
---
v5 changes:
- adapt this patch for PGC_staticmem
---
v4 changes:
- no changes
---
v3 changes:
- have page_list_del() just once out of the if()
- remove resv_pages counter
- make arch_free_heap_page be an expression, not a compound statement.
---
v2 changes:
- put reserved pages on resv_page_list after having taken them off
the "normal" list
---
 xen/common/domain.c     | 4 ++++
 xen/common/page_alloc.c | 7 +++++--
 xen/include/xen/sched.h | 3 +++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 7062393e37..c23f449451 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -604,6 +604,10 @@ struct domain *domain_create(domid_t domid,
     INIT_PAGE_LIST_HEAD(&d->page_list);
     INIT_PAGE_LIST_HEAD(&d->extra_page_list);
     INIT_PAGE_LIST_HEAD(&d->xenpage_list);
+#ifdef CONFIG_STATIC_MEMORY
+    INIT_PAGE_LIST_HEAD(&d->resv_page_list);
+#endif
+
 
     spin_lock_init(&d->node_affinity_lock);
     d->node_affinity = NODE_MASK_ALL;
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 1be7f671dc..25521af600 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2740,10 +2740,13 @@ void free_domstatic_page(struct page_info *page)
 
     drop_dom_ref = !domain_adjust_tot_pages(d, -1);
 
-    spin_unlock_recursive(&d->page_alloc_lock);
-
     free_staticmem_pages(page, 1, scrub_debug);
 
+    /* Add page on the resv_page_list *after* it has been freed. */
+    page_list_add_tail(page, &d->resv_page_list);
+
+    spin_unlock_recursive(&d->page_alloc_lock);
+
     if ( drop_dom_ref )
         put_domain(d);
 }
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 1cf629e7ec..956e0f9dca 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -381,6 +381,9 @@ struct domain
     struct page_list_head page_list;  /* linked list */
     struct page_list_head extra_page_list; /* linked list (size extra_pages) */
     struct page_list_head xenpage_list; /* linked list (size xenheap_pages) */
+#ifdef CONFIG_STATIC_MEMORY
+    struct page_list_head resv_page_list; /* linked list */
+#endif
 
     /*
      * This field should only be directly accessed by domain_adjust_tot_pages()
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:37:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:37:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387861.624354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSn-00028b-UH; Tue, 16 Aug 2022 02:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387861.624354; Tue, 16 Aug 2022 02:37:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmSn-00028U-Qv; Tue, 16 Aug 2022 02:37:53 +0000
Received: by outflank-mailman (input) for mailman id 387861;
 Tue, 16 Aug 2022 02:37:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSm-0008P8-Ej
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6c45e917-1d0c-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 04:37:51 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9630C106F;
 Mon, 15 Aug 2022 19:37:51 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2CE423F70D;
 Mon, 15 Aug 2022 19:37:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c45e917-1d0c-11ed-bd2e-47488cf2e6aa
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v10 9/9] xen: rename free_staticmem_pages to unprepare_staticmem_pages
Date: Tue, 16 Aug 2022 10:36:58 +0800
Message-Id: <20220816023658.3551936-10-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The name of free_staticmem_pages is inappropriate, considering it is
the opposite of function prepare_staticmem_pages.

Rename free_staticmem_pages to unprepare_staticmem_pages.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v10 changes:
- new commit
---
 xen/arch/arm/setup.c    |  3 ++-
 xen/common/page_alloc.c | 15 +++++++++------
 xen/include/xen/mm.h    |  4 ++--
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 500307edc0..4662997c7e 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -639,7 +639,8 @@ static void __init init_staticmem_pages(void)
             if ( mfn_x(bank_end) <= mfn_x(bank_start) )
                 return;
 
-            free_staticmem_pages(mfn_to_page(bank_start), bank_pages, false);
+            unprepare_staticmem_pages(mfn_to_page(bank_start),
+                                      bank_pages, false);
         }
     }
 #endif
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 9c6d369d10..7306d69129 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2693,9 +2693,12 @@ struct domain *get_pg_owner(domid_t domid)
 }
 
 #ifdef CONFIG_STATIC_MEMORY
-/* Equivalent of free_heap_pages to free nr_mfns pages of static memory. */
-void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
-                          bool need_scrub)
+/*
+ * It is the opposite of prepare_staticmem_pages, and it aims to unprepare
+ * nr_mfns pages of static memory.
+ */
+void unprepare_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                               bool need_scrub)
 {
     mfn_t mfn = page_to_mfn(pg);
     unsigned long i;
@@ -2740,7 +2743,7 @@ void free_domstatic_page(struct page_info *page)
 
     drop_dom_ref = !domain_adjust_tot_pages(d, -1);
 
-    free_staticmem_pages(page, 1, scrub_debug);
+    unprepare_staticmem_pages(page, 1, scrub_debug);
 
     /* Add page on the resv_page_list *after* it has been freed. */
     page_list_add_tail(page, &d->resv_page_list);
@@ -2848,7 +2851,7 @@ static int assign_domstatic_pages(struct domain *d, struct page_info *pg,
 
     if ( assign_pages(pg, nr_mfns, d, memflags) )
     {
-        free_staticmem_pages(pg, nr_mfns, memflags & MEMF_no_scrub);
+        unprepare_staticmem_pages(pg, nr_mfns, memflags & MEMF_no_scrub);
         return -EINVAL;
     }
 
@@ -2902,7 +2905,7 @@ mfn_t acquire_reserved_page(struct domain *d, unsigned int memflags)
     return page_to_mfn(page);
 
  fail_assign:
-    free_staticmem_pages(page, 1, memflags & MEMF_no_scrub);
+    unprepare_staticmem_pages(page, 1, memflags & MEMF_no_scrub);
  fail:
     spin_lock(&d->page_alloc_lock);
     page_list_add_tail(page, &d->resv_page_list);
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 5d29aea7ad..a925028ab3 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -86,8 +86,8 @@ bool scrub_free_pages(void);
 #define FREE_XENHEAP_PAGE(p) FREE_XENHEAP_PAGES(p, 0)
 
 /* These functions are for static memory */
-void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
-                          bool need_scrub);
+void unprepare_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                               bool need_scrub);
 void free_domstatic_page(struct page_info *page);
 int acquire_domstatic_pages(struct domain *d, mfn_t smfn, unsigned int nr_mfns,
                             unsigned int memflags);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:39:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387872.624365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmUL-0003SH-9f; Tue, 16 Aug 2022 02:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387872.624365; Tue, 16 Aug 2022 02:39:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmUL-0003SA-6S; Tue, 16 Aug 2022 02:39:29 +0000
Received: by outflank-mailman (input) for mailman id 387872;
 Tue, 16 Aug 2022 02:39:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSe-0007FY-NQ
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 67a0112f-1d0c-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 04:37:43 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D42D8106F;
 Mon, 15 Aug 2022 19:37:43 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A9D753F70D;
 Mon, 15 Aug 2022 19:37:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67a0112f-1d0c-11ed-924f-1f966e50362f
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v10 7/9] xen: introduce prepare_staticmem_pages
Date: Tue, 16 Aug 2022 10:36:56 +0800
Message-Id: <20220816023658.3551936-8-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Later, we want to use acquire_domstatic_pages() for populating memory
for static domain on runtime, however, there are a lot of pointless work
(checking mfn_valid(), scrubbing the free part, cleaning the cache...)
considering we know the page is valid and belong to the guest.

This commit splits acquire_staticmem_pages() in two parts, and
introduces prepare_staticmem_pages to bypass all "pointless work".

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v10 changes:
- no change
---
v9 changes:
- no change
---
v8 changes:
- no change
---
v7 changes:
- no change
---
v6 changes:
- adapt to PGC_static
---
v5 changes:
- new commit
---
 xen/common/page_alloc.c | 61 ++++++++++++++++++++++++-----------------
 1 file changed, 36 insertions(+), 25 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 25521af600..0ee697705c 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2751,26 +2751,13 @@ void free_domstatic_page(struct page_info *page)
         put_domain(d);
 }
 
-/*
- * Acquire nr_mfns contiguous reserved pages, starting at #smfn, of
- * static memory.
- * This function needs to be reworked if used outside of boot.
- */
-static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
-                                                         unsigned long nr_mfns,
-                                                         unsigned int memflags)
+static bool __init prepare_staticmem_pages(struct page_info *pg,
+                                           unsigned long nr_mfns,
+                                           unsigned int memflags)
 {
     bool need_tlbflush = false;
     uint32_t tlbflush_timestamp = 0;
     unsigned long i;
-    struct page_info *pg;
-
-    ASSERT(nr_mfns);
-    for ( i = 0; i < nr_mfns; i++ )
-        if ( !mfn_valid(mfn_add(smfn, i)) )
-            return NULL;
-
-    pg = mfn_to_page(smfn);
 
     spin_lock(&heap_lock);
 
@@ -2781,7 +2768,7 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
         {
             printk(XENLOG_ERR
                    "pg[%lu] Static MFN %"PRI_mfn" c=%#lx t=%#x\n",
-                   i, mfn_x(smfn) + i,
+                   i, mfn_x(page_to_mfn(pg)) + i,
                    pg[i].count_info, pg[i].tlbflush_timestamp);
             goto out_err;
         }
@@ -2805,6 +2792,38 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
     if ( need_tlbflush )
         filtered_flush_tlb_mask(tlbflush_timestamp);
 
+    return true;
+
+ out_err:
+    while ( i-- )
+        pg[i].count_info = PGC_static | PGC_state_free;
+
+    spin_unlock(&heap_lock);
+
+    return false;
+}
+
+/*
+ * Acquire nr_mfns contiguous reserved pages, starting at #smfn, of
+ * static memory.
+ * This function needs to be reworked if used outside of boot.
+ */
+static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
+                                                         unsigned long nr_mfns,
+                                                         unsigned int memflags)
+{
+    unsigned long i;
+    struct page_info *pg;
+
+    ASSERT(nr_mfns);
+    for ( i = 0; i < nr_mfns; i++ )
+        if ( !mfn_valid(mfn_add(smfn, i)) )
+            return NULL;
+
+    pg = mfn_to_page(smfn);
+    if ( !prepare_staticmem_pages(pg, nr_mfns, memflags) )
+        return NULL;
+
     /*
      * Ensure cache and RAM are consistent for platforms where the guest
      * can control its own visibility of/through the cache.
@@ -2813,14 +2832,6 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
         flush_page_to_ram(mfn_x(smfn) + i, !(memflags & MEMF_no_icache_flush));
 
     return pg;
-
- out_err:
-    while ( i-- )
-        pg[i].count_info = PGC_static | PGC_state_free;
-
-    spin_unlock(&heap_lock);
-
-    return NULL;
 }
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 02:39:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 02:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387881.624376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmUN-0003l3-Gv; Tue, 16 Aug 2022 02:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387881.624376; Tue, 16 Aug 2022 02:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNmUN-0003ks-Cz; Tue, 16 Aug 2022 02:39:31 +0000
Received: by outflank-mailman (input) for mailman id 387881;
 Tue, 16 Aug 2022 02:39:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YdlV=YU=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oNmSi-0007FY-9L
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 02:37:48 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 69bc66e1-1d0c-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 04:37:47 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 767A0106F;
 Mon, 15 Aug 2022 19:37:47 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8A7B33F70D;
 Mon, 15 Aug 2022 19:37:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69bc66e1-1d0c-11ed-924f-1f966e50362f
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v10 8/9] xen: retrieve reserved pages on populate_physmap
Date: Tue, 16 Aug 2022 10:36:57 +0800
Message-Id: <20220816023658.3551936-9-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When a static domain populates memory through populate_physmap at runtime,
it shall retrieve reserved pages from resv_page_list to make sure that
guest RAM is still restricted in statically configured memory regions.
This commit also introduces a new helper acquire_reserved_page to make it work.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v10 changes:
- add lock on the fail path
---
v9 changes:
- Use ASSERT_ALLOC_CONTEXT() in acquire_reserved_page
- Add free_staticmem_pages to undo prepare_staticmem_pages when
assign_domstatic_pages
- Remove redundant static in error message
---
v8 changes:
- As concurrent free/allocate could modify the resv_page_list, we still
need the lock
---
v7 changes:
- remove the lock, since we add the page to rsv_page_list after it has
been totally freed.
---
v6 changes:
- drop the lock before returning
---
v5 changes:
- extract common codes for assigning pages into a helper assign_domstatic_pages
- refine commit message
- remove stub function acquire_reserved_page
- Alloc/free of memory can happen concurrently. So access to rsv_page_list
needs to be protected with a spinlock
---
v4 changesï¼š
- miss dropping __init in acquire_domstatic_pages
- add the page back to the reserved list in case of error
- remove redundant printk
- refine log message and make it warn level
---
v3 changes:
- move is_domain_using_staticmem to the common header file
- remove #ifdef CONFIG_STATIC_MEMORY-ary
- remove meaningless page_to_mfn(page) in error log
---
v2 changes:
- introduce acquire_reserved_page to retrieve reserved pages from
resv_page_list
- forbid non-zero-order requests in populate_physmap
- let is_domain_static return ((void)(d), false) on x86
---
 xen/common/memory.c     | 23 +++++++++++++
 xen/common/page_alloc.c | 76 ++++++++++++++++++++++++++++++++---------
 xen/include/xen/mm.h    |  1 +
 3 files changed, 83 insertions(+), 17 deletions(-)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index bc89442ba5..ae8163a738 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -245,6 +245,29 @@ static void populate_physmap(struct memop_args *a)
 
                 mfn = _mfn(gpfn);
             }
+            else if ( is_domain_using_staticmem(d) )
+            {
+                /*
+                 * No easy way to guarantee the retrieved pages are contiguous,
+                 * so forbid non-zero-order requests here.
+                 */
+                if ( a->extent_order != 0 )
+                {
+                    gdprintk(XENLOG_WARNING,
+                             "Cannot allocate static order-%u pages for %pd\n",
+                             a->extent_order, d);
+                    goto out;
+                }
+
+                mfn = acquire_reserved_page(d, a->memflags);
+                if ( mfn_eq(mfn, INVALID_MFN) )
+                {
+                    gdprintk(XENLOG_WARNING,
+                             "%pd: failed to retrieve a reserved page\n",
+                             d);
+                    goto out;
+                }
+            }
             else
             {
                 page = alloc_domheap_pages(d, a->extent_order, a->memflags);
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 0ee697705c..9c6d369d10 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2751,9 +2751,8 @@ void free_domstatic_page(struct page_info *page)
         put_domain(d);
 }
 
-static bool __init prepare_staticmem_pages(struct page_info *pg,
-                                           unsigned long nr_mfns,
-                                           unsigned int memflags)
+static bool prepare_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                                    unsigned int memflags)
 {
     bool need_tlbflush = false;
     uint32_t tlbflush_timestamp = 0;
@@ -2834,21 +2833,9 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
     return pg;
 }
 
-/*
- * Acquire nr_mfns contiguous pages, starting at #smfn, of static memory,
- * then assign them to one specific domain #d.
- */
-int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
-                                   unsigned int nr_mfns, unsigned int memflags)
+static int assign_domstatic_pages(struct domain *d, struct page_info *pg,
+                                  unsigned int nr_mfns, unsigned int memflags)
 {
-    struct page_info *pg;
-
-    ASSERT_ALLOC_CONTEXT();
-
-    pg = acquire_staticmem_pages(smfn, nr_mfns, memflags);
-    if ( !pg )
-        return -ENOENT;
-
     if ( !d || (memflags & (MEMF_no_owner | MEMF_no_refcount)) )
     {
         /*
@@ -2867,6 +2854,61 @@ int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
 
     return 0;
 }
+
+/*
+ * Acquire nr_mfns contiguous pages, starting at #smfn, of static memory,
+ * then assign them to one specific domain #d.
+ */
+int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
+                                   unsigned int nr_mfns, unsigned int memflags)
+{
+    struct page_info *pg;
+
+    ASSERT_ALLOC_CONTEXT();
+
+    pg = acquire_staticmem_pages(smfn, nr_mfns, memflags);
+    if ( !pg )
+        return -ENOENT;
+
+    if ( assign_domstatic_pages(d, pg, nr_mfns, memflags) )
+        return -EINVAL;
+
+    return 0;
+}
+
+/*
+ * Acquire a page from reserved page list(resv_page_list), when populating
+ * memory for static domain on runtime.
+ */
+mfn_t acquire_reserved_page(struct domain *d, unsigned int memflags)
+{
+    struct page_info *page;
+
+    ASSERT_ALLOC_CONTEXT();
+
+    /* Acquire a page from reserved page list(resv_page_list). */
+    spin_lock(&d->page_alloc_lock);
+    page = page_list_remove_head(&d->resv_page_list);
+    spin_unlock(&d->page_alloc_lock);
+    if ( unlikely(!page) )
+        return INVALID_MFN;
+
+    if ( !prepare_staticmem_pages(page, 1, memflags) )
+        goto fail;
+
+    if ( assign_domstatic_pages(d, page, 1, memflags) )
+        goto fail_assign;
+
+    return page_to_mfn(page);
+
+ fail_assign:
+    free_staticmem_pages(page, 1, memflags & MEMF_no_scrub);
+ fail:
+    spin_lock(&d->page_alloc_lock);
+    page_list_add_tail(page, &d->resv_page_list);
+    spin_unlock(&d->page_alloc_lock);
+    return INVALID_MFN;
+}
 #endif
 
 /*
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index deadf4b2a1..5d29aea7ad 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -198,6 +198,7 @@ struct npfec {
 #else
 #define MAX_ORDER 20 /* 2^20 contiguous pages */
 #endif
+mfn_t acquire_reserved_page(struct domain *d, unsigned int memflags);
 
 /* Private domain structs for DOMID_XEN, DOMID_IO, etc. */
 extern struct domain *dom_xen, *dom_io;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 03:18:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 03:18:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387916.624387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNn5s-0008SP-Ev; Tue, 16 Aug 2022 03:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387916.624387; Tue, 16 Aug 2022 03:18:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNn5s-0008SI-CF; Tue, 16 Aug 2022 03:18:16 +0000
Received: by outflank-mailman (input) for mailman id 387916;
 Tue, 16 Aug 2022 03:18:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNn5r-0008S8-05; Tue, 16 Aug 2022 03:18:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNn5q-0003J7-Ub; Tue, 16 Aug 2022 03:18:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNn5q-0008QX-DS; Tue, 16 Aug 2022 03:18:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNn5q-0000sS-Ck; Tue, 16 Aug 2022 03:18:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2z7za2tJUdJ+R4Qq1AAuj31mx2wPB6juyz+eKD/UFss=; b=6Gq0OGM/k6N7IMBiM0yvFK2r4l
	xnwlPannwszoE8NK6zvwNYyTyj21kMz8atESzFDly2NkkDIJaxBdGjLgBURKz6lQcfbREy+ZhUNsn
	oFGEnBhZBL3lZye1z0F1cQXHwvX7IxtfZxhBWuDpwrb3IfAuXGJzyDizC4JprGdr+WWI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172552-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172552: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=809b5a3d2a3b7732459dd63c9382fe6ec42d1856
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 03:18:14 +0000

flight 172552 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172552/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 809b5a3d2a3b7732459dd63c9382fe6ec42d1856
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   11 days
Failing since        172151  2022-08-05 02:40:28 Z   11 days   99 attempts
Testing same since   172540  2022-08-15 09:40:43 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 648 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 03:30:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 03:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387926.624398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNnHB-0001aO-Mp; Tue, 16 Aug 2022 03:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387926.624398; Tue, 16 Aug 2022 03:29:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNnHB-0001aH-K1; Tue, 16 Aug 2022 03:29:57 +0000
Received: by outflank-mailman (input) for mailman id 387926;
 Tue, 16 Aug 2022 03:29:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H4dL=YU=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oNnHA-0001aB-Ep
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 03:29:56 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150041.outbound.protection.outlook.com [40.107.15.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1628207-1d13-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 05:29:55 +0200 (CEST)
Received: from DB6PR0501CA0048.eurprd05.prod.outlook.com (2603:10a6:4:67::34)
 by DBBPR08MB4742.eurprd08.prod.outlook.com (2603:10a6:10:f5::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Tue, 16 Aug
 2022 03:29:51 +0000
Received: from DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:67:cafe::14) by DB6PR0501CA0048.outlook.office365.com
 (2603:10a6:4:67::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Tue, 16 Aug 2022 03:29:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT047.mail.protection.outlook.com (100.127.143.25) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Tue, 16 Aug 2022 03:29:51 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 16 Aug 2022 03:29:51 +0000
Received: from 1f9f2ffb2936.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 16990204-7976-4E67-9929-34A49F2AE250.1; 
 Tue, 16 Aug 2022 03:29:41 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1f9f2ffb2936.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Aug 2022 03:29:41 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAXPR08MB6399.eurprd08.prod.outlook.com (2603:10a6:102:158::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Tue, 16 Aug
 2022 03:29:37 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.028; Tue, 16 Aug 2022
 03:29:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1628207-1d13-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Ofwl9MKipqVnBZTs5zaBJCVFXYorLB97qlw4nExyTp6ycvAv9ReoWWpXnTczkxoDi0zDA0FevdhxKKaDsMXR0tJ+PT7L3gsuUSssbIsY5XJCcDqgYD1l/X0GjIbgcS8O3JM8c7ySz0utocpaefffP1YBLiXmMoJaJ+OQjf6j9M7mJjG+7cXXRj8BpbGGuSl8ox339wck8CqLpL/BFxSt8vIHI72YdVNVBXnjWxyfIjCKaelR9Y8J8hbYNAwe2D7OHItxKf2hIqSUBxbtA2leX4WKaWSnMGakkoiu5cw3b9Kwa/SCPKxj27HO+z67dQBnKtGQVFL3n1pvEdt3A613yw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tvmy6xLMrBw6EerRvt4CfL1XSxObEW0p6xXhBtoLA/A=;
 b=XyDQpRSh/DdbObXm4ahUu/TAkQVSC12PgPZvfM6z74mRc4U6quPBqZWUMlSMsPlQl+e7cfExQshhNvYZ7ObR5yf0J9FQBGUavnI2JQhfPiOnUQVkS9e2GJrvOWwolsmSUkCLZlrq5bxyoEXYfGctoy7i6vYWRWhUmoHuL1S0+QUOBLi6lCKIXreN0IckpcFJQyl5kLx+1aaHb+PJQXvYHPsnh4yprt33Lk2zedSJF3tJyyVo0bwwx7WNZNjG2rmwCp+sIVI418x92LZXYHbShk3Xjnr90aCSIh9O148kBERspE8IocJJQpEzldUYuNfw9nvRjuRPHQUMTxjRtXex6Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tvmy6xLMrBw6EerRvt4CfL1XSxObEW0p6xXhBtoLA/A=;
 b=ohvqdz9SC3BedsqpOvfp0rUMoVK183aGHI0pJo//EczuHwCQ0iC+il8GEZUKn1p9dFIwvEPA/kC1EpJrRJxOpnNeSPLCDcXuJwpfIFi8Nm3p21qiLp1d7vUJzm7mFparQucCATOQ7BhVJqprcScbqQGBC26LDwFJlIbVoGnwlT4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Sl46t+3yDUuJ7AopFr5OVNsdsrmAlt54y1RknRYyFEoH8lDSuWzDcBummnORAVm1yty9ZOT1bqb0ZVHGspbxhsT0M7IVjCO4dujJBcmNZfuXgKiv3vJtxi05eyhzxr44GJB9MjX6aDKAoxGNTxCI9wG+oHKE7kyX54flgcTalHJJ6OZlOrEauRseUc4fTFCT07n8hTCzqzySX602Y1W3SYfAOtwYWrl0OYXMtDKMr6wJcyTaxpHp8jAWEWrnuM+53tssjSFzuqh6Ttk00uvoMNYrLUQ+Srnj8u58KSem+PDF4dCRmk+gaPl9eT71aKPT8nuXJnNQPdLT74QoY5gxpA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tvmy6xLMrBw6EerRvt4CfL1XSxObEW0p6xXhBtoLA/A=;
 b=jR1Higg+QXbxIpBrfmDuxFTr688VTp6IbDV+qpWZ5KR4mHnaBs3z111i2+9wA4PrLT8FJ4DuP9hu/KiBL5U1/Qti435tCwYmsXIVIiQ2kB8F68E816yAXNX+6/d85LcWuHOs6Syc9WmKGwNhO2StFqcUY6wNK1d1N014RK2f3apxil0elSKVLqxWWBLBnEHV8sFOG20b6qfHPNkJZBYY55XLryDvmRQdw3PvJCkerT39NJup+wuvU8HnYbfEI0Nh80pnwKMb7cBSJK8bHMsuilOTvrYOMVqLysKnkxvpu/GrRYLormrwt9t24vYyKnt49iHJXG8vdV1UkmvqIXjvXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tvmy6xLMrBw6EerRvt4CfL1XSxObEW0p6xXhBtoLA/A=;
 b=ohvqdz9SC3BedsqpOvfp0rUMoVK183aGHI0pJo//EczuHwCQ0iC+il8GEZUKn1p9dFIwvEPA/kC1EpJrRJxOpnNeSPLCDcXuJwpfIFi8Nm3p21qiLp1d7vUJzm7mFparQucCATOQ7BhVJqprcScbqQGBC26LDwFJlIbVoGnwlT4=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Thread-Topic: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Thread-Index: AQHYroFOVyqyQRSbhkS8uh6wKmYB5q2vMYiAgAD+9oCAALMGYA==
Date: Tue, 16 Aug 2022 03:29:36 +0000
Message-ID:
 <AS8PR08MB79916319A3B57AE6D255A5C4926B9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-9-julien@xen.org>
 <AS8PR08MB799170A0EF051DE12565D9D992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <15023215-6697-112b-2bc6-8ec7880a9704@xen.org>
In-Reply-To: <15023215-6697-112b-2bc6-8ec7880a9704@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 360C6EA9BD1B5F4189465CB5C21C1876.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 5d53b5a3-ef87-4212-af8b-08da7f379443
x-ms-traffictypediagnostic:
	PAXPR08MB6399:EE_|DBAEUR03FT047:EE_|DBBPR08MB4742:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 eVWJ0yhs4NLwTt8dbaQEWAD9BVcxH2ijZ4o26yS7H9MnoMPRwofh3Ec70MWEQq8rNwPFvQiSpJsPyAjtrkw07ubOoRf8YmKB0IbJSfF5AYbjusb5T8btZhbkj9fHa3gJcSCq6iD2xX6tzfW26snMgBZUDsDrD+81R0XiiUPQz9ghVcyXQ0rWO3c6UXue4bzgYtgiDCxzfePAJcuMK0jvPw83sSQ6el/IgSIlcGZ0Qk26DqQ83NjqwxW3oB8vKeVCBVntfxHdnzMmFnliIb+oOFhWSPQRoGVEe/F7brGsHEtYzx9DxZue5T2sJwOF9FS3IqvU5EgJ/PcL1dTvdy4NrljgboBw/oqVV30fxm87WjlpGjM+Bqho7VmyW59tv2SsIeSX8N7gsLZJucNZjamQOkktrfT5bGwywAFz+U+8Kj1jq8D+HDHNLxTjfm/6XI15sq+M2Q3smwp7dER+6mQ92Qsb5zSUb3gHijJpLcFfkA7j1PTQsfbbEWfiCD6SFeZd+0certAmA/aKaBm7laG5zjTF/vwSS23zK5FY/jfMvCDwJizqeUEfRCDdzbJM54PyYEucivYMApyNX8tv9W0s8LG7NTu86hIpNM9NUJaIEz8zu7PkPw9XocHGq29hYs8zdg+EZ7eV6t9+Xjf0sO1Lfgz3V+L6UP7eTnGLgS5rMSklCHJVZJ1/QHpR8sUtdXoHUWr/ycUhLwy1f188i/aUeShFqiECgis21xRAo0sAM9E2PKiLrcO098noXVQferGtDyqZGK+uvoCd4xcBQfCDGI9h37OdMNZXKqJT31OVRBDMC/eTCvbZxjxq9dUilt/Lpxo1SblK+khCPiM6YyLQ/w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(346002)(136003)(376002)(366004)(86362001)(186003)(38070700005)(122000001)(83380400001)(9686003)(55016003)(7696005)(33656002)(6506007)(26005)(316002)(54906003)(478600001)(966005)(4744005)(71200400001)(41300700001)(66446008)(8936002)(64756008)(110136005)(66946007)(8676002)(2906002)(5660300002)(52536014)(66476007)(66556008)(76116006)(38100700002)(4326008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6399
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b99431f4-f825-4877-dc3a-08da7f378b31
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jvbIsazlU0XQVmehLNO27KjB9xN8u8wXIIcDhH7ex8t+wb+XNPoByPObAVqeEsppdUr6HQwwwh+S3GsSCsiAcROm95Vgqcx5rr6uYmeD/Fma8+m6K6gXAQMG++DEbdw3USupoR26HCVrtwbxw6Dc0iy26fMl7fghvwNhLo7j73x3lUxNkERh0fdP7+lkTfhepbSnaiVcpsPVH2HADm17eUZi2N21+1m2Ej9cWNz8u/j4ApHWFUqf8z4qNipCNkQsCYR6eP9kDrWESnUqbWN77oU+pKeJf/ryjGqN2GKJxLcsPT6XJJN6zGHOsrbAExt/Aya0He1xrSeVoy+V+ZPxmb+LYzoYreIfMas6Owm+e1Mzy/bAZMu05pMjY5SFKbMpv28TcP9JPPbgU51doFr6Z1o+UAc9hjIcG7RIYEul+Jjcv2oTgNArPzgN3xvM5R8vmGRvzCWHhymUAUj9d0sF/xx+GWMN5+CNG9C8u0BpeMXLjA5N1jC8kFdGecFjisujjLqWdcQWIFJmw4PXt7CQbYeemHO9BtP0v1inZJvF+/sCwzVFdn1QwYMDLjpQz/OU/KkwpTufQbEPEor3ztE3XQefLh6PY1eUvHr6b2kF4qNDEiuJ65i5fM3lynvQEYLlTn+sGe9J0qDDr3CTk8PcYKSg9vEIruB6FeS+saJz7aHWp/Z7GMG1DeusgV7x1uAQZv8IJsIRPqQBYSRI7EzzDPGnbvKMGU5lvqAKQa/biFFpOFUzdx7D2vGsF4jVaZCvicsTrbZ2/4gGtZuFFuVEsjQpBDk3z35d0kdoSJoaafxzbDp85bBp0cLdZKcib/wM1X5xQJNa0lCOS6rKtF3MAw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(346002)(376002)(39860400002)(40470700004)(46966006)(36840700001)(82740400003)(316002)(55016003)(8676002)(83380400001)(41300700001)(40480700001)(4326008)(2906002)(336012)(54906003)(110136005)(47076005)(36860700001)(186003)(107886003)(70586007)(70206006)(82310400005)(26005)(356005)(9686003)(81166007)(4744005)(33656002)(40460700003)(8936002)(6506007)(478600001)(86362001)(52536014)(7696005)(5660300002)(966005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 03:29:51.3582
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d53b5a3-ef87-4212-af8b-08da7f379443
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4742

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggNy83XSB4ZW4v
YXJtMzI6IHRyYXBzOiBEdW1wIG1vcmUgaW5mb3JtYXRpb24gZm9yDQo+IGh5cGVydmlzb3IgZGF0
YSBhYm9ydA0KPiBIbW1tLi4uIEkgZHJvcHBlZCBhIHBhdGNoIGZyb20gdGhlIHNlcmllcyBhbmQg
aXQgbG9va3MgbGlrZSBJIGRpZG4ndA0KPiBwcm9wZXJseSBjbGVhbiB0aGUgZGlyZWN0b3J5IGJl
Zm9yZSBkb2luZyB0aGF0LiBQbGVhc2UgaWdub3JlIHBhdGNoICM4Lg0KDQpTdXJlLCBJIGd1ZXNz
IHRoZSBwYXRjaCB0aGF0IHlvdSBkcm9wcGVkIGlzIHRoaXMgb25lPw0KaHR0cHM6Ly9wYXRjaHdv
cmsua2VybmVsLm9yZy9wcm9qZWN0L3hlbi1kZXZlbC9wYXRjaC8yMDIyMDgxMjE5MjQ0OC40MzAx
Ni04LWp1bGllbkB4ZW4ub3JnLw0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBDaGVl
cnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 03:55:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 03:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387935.624415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNnfR-0004o8-OY; Tue, 16 Aug 2022 03:55:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387935.624415; Tue, 16 Aug 2022 03:55:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNnfR-0004o1-Ko; Tue, 16 Aug 2022 03:55:01 +0000
Received: by outflank-mailman (input) for mailman id 387935;
 Tue, 16 Aug 2022 03:55:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNnfQ-0004nr-39; Tue, 16 Aug 2022 03:55:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNnfQ-0003vH-0l; Tue, 16 Aug 2022 03:55:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNnfP-000271-JL; Tue, 16 Aug 2022 03:54:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNnfP-0000QC-Iu; Tue, 16 Aug 2022 03:54:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=q1GYZpzbHAH5gPXmKbDd1Ez64dsLjUxMdM4wMTwdSOI=; b=EABPLFL6vY93649SIuq7GKPElI
	tERfCGJ7JWPUyO5YGwuyMBO++hf/S675VTjh4M5MsL8J7oES/X1GkLVOG0CKTY7iPS8Qw0f4FLTvN
	9IMIcNLvEBgJ95xe42E0YPE6HO6duALuuDYBeN8HuRFrYKHesGa1WMdkasc151NStKjs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172546-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172546: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=568035b01cfb107af8d2e4bd2fb9aea22cf5b868
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 03:54:59 +0000

flight 172546 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172546/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                568035b01cfb107af8d2e4bd2fb9aea22cf5b868
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   11 days
Failing since        172152  2022-08-05 04:01:26 Z   10 days   29 attempts
Testing same since   172531  2022-08-15 04:07:28 Z    0 days    2 attempts

------------------------------------------------------------
1386 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 145032 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 05:22:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 05:22:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387945.624426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNp1n-0005fI-2e; Tue, 16 Aug 2022 05:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387945.624426; Tue, 16 Aug 2022 05:22:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNp1m-0005fB-V6; Tue, 16 Aug 2022 05:22:10 +0000
Received: by outflank-mailman (input) for mailman id 387945;
 Tue, 16 Aug 2022 05:22:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NQK8=YU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNp1l-0005f5-8u
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 05:22:09 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ee6a4f7-1d23-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 07:22:07 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id CA93121036;
 Tue, 16 Aug 2022 05:22:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 75FB013AAE;
 Tue, 16 Aug 2022 05:22:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id i/QkG34p+2KKGAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 16 Aug 2022 05:22:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ee6a4f7-1d23-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660627326; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=GlhF+uLxn3oDBK2CqjAfRfb1UGnGDSonWhMGNAdvicM=;
	b=h0cy4/HfrbY2dqjMTIM04n5jTdxcX5X35EuT/PwAIlZz1cBh7lapJkFwDFlI1gA9vt6W5k
	ps60zHWn96tSw9r1Pfwm/0LAIa/WDBbr89nnu75GvaFPeBuflrHj+nQ23s2LG1tsqWoacy
	QZ8DLhm1MKPuQ495ztWqcxOGLXp7sMQ=
Message-ID: <db2ee8d6-a58a-20d1-bed6-72885cbd9268@suse.com>
Date: Tue, 16 Aug 2022 07:22:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: bertrand.marquis@arm.com, george.dunlap@citrix.com,
 andrew.cooper3@citrix.com, Volodymyr_Babchuk@epam.com,
 xen-devel@lists.xenproject.org, jbeulich@suse.com, wl@xen.org,
 roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop>
 <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
 <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3ClqqxTFZALl2R8DfhTpM3xo"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3ClqqxTFZALl2R8DfhTpM3xo
Content-Type: multipart/mixed; boundary="------------sYCH0tcwQJUF7Sr6zpUZGJ29";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: bertrand.marquis@arm.com, george.dunlap@citrix.com,
 andrew.cooper3@citrix.com, Volodymyr_Babchuk@epam.com,
 xen-devel@lists.xenproject.org, jbeulich@suse.com, wl@xen.org,
 roger.pau@citrix.com
Message-ID: <db2ee8d6-a58a-20d1-bed6-72885cbd9268@suse.com>
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop>
 <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
 <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>

--------------sYCH0tcwQJUF7Sr6zpUZGJ29
Content-Type: multipart/mixed; boundary="------------2oZFkjRTKlci1xjYIXBwuG01"

--------------2oZFkjRTKlci1xjYIXBwuG01
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjIgMjI6MzIsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToNCj4gKyBYZW4g
bWFpbnRhaW5lcnMgYW5kIGNvbW1pdHRlcnMNCj4gDQo+IA0KPiBGb3IgY29udGV4dCwgSSB3
cm90ZSBhIHBhdGNoIHRvIGludHJvZHVjZSBTUERYIHRhZ3Mgc3RhcnRpbmcgZnJvbQ0KPiBh
cmNoL2FybS8qLmMuDQoNCkRvbid0IHdlIHdhbnQgc29tZXRoaW5nIGxpa2UgdGhlIGtlcm5l
bCdzIExJQ0VOU0VTIGRpcmVjdG9yeSBpbiBvcmRlciB0bw0KaGF2ZSBzb21ldGhpbmcgdGhl
IFNQRFggbGluZXMgcmVmZXIgdG8/IENPUFlJTkcgc2hvdWxkIG1heWJlIGFkYXB0ZWQsIHRv
by4NCg0KDQpKdWVyZ2VuDQo=
--------------2oZFkjRTKlci1xjYIXBwuG01
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------2oZFkjRTKlci1xjYIXBwuG01--

--------------sYCH0tcwQJUF7Sr6zpUZGJ29--

--------------3ClqqxTFZALl2R8DfhTpM3xo
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL7KX4FAwAAAAAACgkQsN6d1ii/Ey8G
/ggAlerbrVUSJ8r5oHujP9oTbQDrJ2JByPA9f3jdYgl93Co4jWixVyvH7sVsazQxR7OFdMuvEf86
XB7LINpuCCJ2vFGT6GvDjpXphYP1ZKfwTZGbCj0SJ1JGCcYH/HO6S4rn/bb9Ji1EIO+PellBmBHZ
djk4tXNob9pEzlktHOBDq6Ci6yE3qzYNjAZFkeM3i+cC/kCHwFrAyMzOG5D710I5qYXB9X8V7c0I
/kyNCMi+tup4he7gsjH9lqh7MWlreN2qXdLC2iH0ymotk1WG0PhgmiVHZ5izYIu3SSLiPdhABl7/
NUjKSfO1Maz4sVrpb5T3DLN37J+qDil/rMyIdOWtRA==
=5rs/
-----END PGP SIGNATURE-----

--------------3ClqqxTFZALl2R8DfhTpM3xo--


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 06:18:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 06:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387952.624437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNptp-0002QE-4t; Tue, 16 Aug 2022 06:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387952.624437; Tue, 16 Aug 2022 06:18:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNptp-0002Q7-0v; Tue, 16 Aug 2022 06:18:01 +0000
Received: by outflank-mailman (input) for mailman id 387952;
 Tue, 16 Aug 2022 06:17:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNptn-0002Q1-EF
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 06:17:59 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20085.outbound.protection.outlook.com [40.107.2.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2bb240f7-1d2b-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 08:17:57 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9348.eurprd04.prod.outlook.com (2603:10a6:10:358::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Tue, 16 Aug
 2022 06:17:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 06:17:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bb240f7-1d2b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B9+vKFhjMfvZaRxm63F7NdabuUVesMDRYjCmwwk4yIOV4PYnT8VrOGyN8tgxNV78clhu4g8iLzsMPetJpsQIdbBQcS7Zh6BUSoEGRDRXfhK858btlfI6RVktRifZgDNBM9amxjThvJ6VfslCuGJDZJCb6/wYo32wnAWXt7ASWNTcyqcnCNPiisk9GpqChu0EQx3M4zd+bxV+z239jpDmlXl/szLhXqrSQZKCFHWXT49HpLAyl8NLfWqfheNNBJEBh4fdDaqHwk1IgGb27qwNOVoHdBPX29YaNw62HLI/FGqZhyPrYZLWu4Arahup5Ono36Wnh2TtJLTsr2kcGOo0Qg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rg1nc8Vxhrav+E32B41nXHMmgHFlzcbFB8HRSv+ChRI=;
 b=UJte+aICcjBEsartQVXbnfnE1HKWyXM6wdQ5S2OL1y3fl3A3IxNJnvB27iPPrsP5Xkys5/smlMjCJOp5fH3YhfnF2IYkWLEkMFuOzKquTFQFFb7P293j9H5aVxOhPp+evrzb6xqOFFYGT9E/ZEIrR11IEiNjPKVxkMQi00i9CSTVxbmmaLY+mX+0p4vilxMDu3eOhH0TIjXEBRI5XRywZPXxUT3/K6EBI6N6Rrat7Vz5VopPEWmSHceICrHrIyUSTzqoKWyNsXyHJimjD4brXT8CK3iE2xqLE77XwkpBc88qTKHdlOysufDOGdiPUjHapX9EwSSuOSm//FCWNLA+EA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rg1nc8Vxhrav+E32B41nXHMmgHFlzcbFB8HRSv+ChRI=;
 b=Ic7/taIdJsZNmM3f36l3ZtA3/gleDYtcKlzu2QFXBh61tMJ4kXvEL7ZBGxGr6TzfsFEUB5QInEWmX0614lWlnbl5DAhDdak4C17KyGzfAtW7nhSaTcBt7Rt9NRtPjPtNjXsSYonfftOpfQd9Avw5EOlRn74ltkeUs/IegnHl/x6y79mcaanHBPljxFdGY0qYID9D+sJhqfN2WuwOYW1CZZfo3wg4671u8f3CFyFfrIK4Nig15WQZz/dUqKQ/NIV+hq/fTxbqvr3klxI2Uj2Qh6K0MrVsn8ffDu2tWpV5Q1QAzQ9iAk3CSFG5wi1+pzaE1zsOIKRt4n6VSDSDDM/chA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2d844e18-c1f0-ddf3-6e6c-28b3ba09b427@suse.com>
Date: Tue, 16 Aug 2022 08:17:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com>
 <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com>
 <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com>
 <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
 <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
 <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
 <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
 <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0097.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 78744f28-63dd-4550-0810-08da7f4f0eb4
X-MS-TrafficTypeDiagnostic: DU0PR04MB9348:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GdADdsdJ5giWaOUbaFT3b7pOwpHKrDFEDy/R1iDWJiQC1h8JzoOq0fUbkg/FZ9gm0XGDXPhapKMv7LO9zkpGjdSYGfwxx+xiKHeNC6bYJkoLSw+GGjNYhkbUbcuvl7poKk21im0E8AdOfPxVRI/hMClCq+VNN+EPNZOKdLym0ojwwwaDFy9Yp2KpOUem3vvzdDmfWy8RxZV5pg6ya9qXkO9oMjo9L60x+faXdRpYjEvWF2UEIrf0TjOwQ02bQ2Xq05Jf14WuecqqPQjGu/HKLkFFT0Q26LOIv43GcY/Wh8njo6OxeAiJ4K/+4Es5u7QAVbQ9WBq1wCJedPVniVoISFm9UIahRWlHlOZyeipKAG4Powc1BKw3LO4emgNeHhOKn6Qa6qlrY3QZgs9Qso/Bg8PRkoIyYV6mzw5xsAyD3pLg0zRBdK93uNXZy3SmoSESqnbzBOJeBjVCR9nBZXbqb5zXSDnzdp7by3TgEat2xBvKhvDCXu5CsDiVGRfLtVVgdERied3bp9w0rlXzR4nXjOnsF8L8l/AmIDOU7eUrpk9kC5ui1BHF7optCw+sDOSmnDIqvdKAW/pq0egfW4fj6spaJw4hAnz8HexOLvyaNmExGiCkdINmo9O/SFg+0GU/oOUuydqz6cdmSXMzA7ITWvPqaxYh1DRnSl38+LNH9LvHO+/Yz8o358bwCX9OJCojauz4pQ4k1uWb+GFJfm5AWd8ug6T6cIaErPd2+pDN4u141M698mmoRruZTmDdHbOhPJUDBbsyDjM2D4mrWdwQd6TOmBqFG9aJvFXEpLWCT3IgsHswMQalCWDwT/rcvSggbjoNuSpVZEOiuLFqzWycKw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(366004)(346002)(39860400002)(376002)(6916009)(54906003)(8936002)(66946007)(316002)(478600001)(6486002)(66556008)(86362001)(66476007)(31696002)(8676002)(4326008)(26005)(6512007)(186003)(2616005)(53546011)(41300700001)(5660300002)(6506007)(4744005)(38100700002)(2906002)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGpUb0JhTVAxWFNSU2xkN2VEa0VkSENYMUZ6MVVlZURpNG16T0JGMzJZczk2?=
 =?utf-8?B?VUNVbjJIcnhaUG8wMUxHMDM5bzRzQktYYWlUcW4wemZZNlpMSjl2Ui9qTzNN?=
 =?utf-8?B?OE1pcGNYdjJReDdyZTZyNUx0SDd6ek1rb1A0R3JWZEtueFU1YVEwdjhtZjZV?=
 =?utf-8?B?aHFXdHJoa2NWQmU2bHlwZHIrdlQ2YXMwYXVsQm1odml1Q0NnejVEVktJVWhN?=
 =?utf-8?B?emJ2Nlh2OUdPemo3WVluQ21XWWU4eFc2UHdwYU5Jc2lYdFFSUTRwNmFuSHZW?=
 =?utf-8?B?YVRaYmxtZXhhanBRRllDYlZ0Mm1Lb0tKaVRXMkNrMHYycmZ5YlB1bnMwRzhU?=
 =?utf-8?B?YmVxMjFCcFd5ZDN1UGhuSE0zekZZS0NITldvN05jSTNQamVXcTZTRE9Xb1Ay?=
 =?utf-8?B?V0JIdzRkWG42Tm9MUXdGTWR3NE83VlVMR3Q2SmMzdlZ4RFJhVk9IR2lZOGJk?=
 =?utf-8?B?Nk8xYWttV1RmL3JuekhvM2U3T0ZpdFl6eWRSQ1lNdlJzem1CQXZyZUw3cDRK?=
 =?utf-8?B?eTdhNHFjY243MUxhZ05mZDBrMCtsL0VWV1VXWDBkcUZNbWJ2L3BjcW04bStt?=
 =?utf-8?B?VHZsRnBETkM1Zktua0hkbHdnRHo4S0tkMzNFZmx6ZFF3ZHgxNmNxSWpleTVy?=
 =?utf-8?B?bml1V0ZtSXUvbEhWU0pEdWlGU3N4NXl2WTZDQngwZ3pTU0VmNFN3ZkJoSFB3?=
 =?utf-8?B?OERQS0NEbERydTN6V2RiY3A0bzVZSWhZak9ZY1VNZWI1UW9TTEU5M2IrNGR1?=
 =?utf-8?B?MG1CNlRkOUF4SDFRMytJTE11TWNJbzRpTzk0YU1JUFlpOFNpdlljWjNYdUJP?=
 =?utf-8?B?enNLTVQ4YzAzZ3pmWFhoQWFCNVpEUnVSdFc4TVJLZEdENWxRQ2VQL1VaYlVp?=
 =?utf-8?B?MXkxa0tRem85QzRoa0pTT3VaS1BxOVZXV3VCUGtJMTNIWjdkOGRkRVRmVTZO?=
 =?utf-8?B?MzZJSTNsQlQxTjIrYWpXcHlyaWpqYzF6RURXd0cwMHFlTGkrWXRlUVZZTlZz?=
 =?utf-8?B?QTgvalgwUjl3OThxQ1pjMkg4TmJCbUlQUGxJUTJ2Qy9TL04rRzlkU0FGelVH?=
 =?utf-8?B?bk9meGFJM1ZYeS9yMkVGSVpINTdLSFpIazQ4UjM0eHFPNnVDTSsrR3FKSFVy?=
 =?utf-8?B?Z0hHalpJL0NOcWxZRG1SWFQzcVVtM1c2UkFLeTRDOXlDU3E0cCt0Wko4NDJH?=
 =?utf-8?B?ZDc3dFdEZGdFY2xhWUFheHpNQk1XYmI4S0lBMlpXUXVZemNaVG9Rb1c1aU1y?=
 =?utf-8?B?dVRBdTlzL3VRZG1abmxRSkpXakpJTU9EMENSQzhaZmpCckh4L0pXdW5EWGRU?=
 =?utf-8?B?dTZlbkNkMFpTZTFqVEh1aVQ4UjJCZmg1K3pkaFhwYTBtK3dvaTFiSU5taXh0?=
 =?utf-8?B?UU1Ka081bEN2ODJUZThtVWdmZ1RIL1lHdVFZUHNmS01CWXUyLzBWK0NZL3Ft?=
 =?utf-8?B?TU1Xd1FFblphMUwwUWxubm9VNnlLRnhvTFE5Q1dnTlBsaCtieFhkN2JVQUlG?=
 =?utf-8?B?S1RBR25YYkZxL0tIMjJYM01vSy93SkwrYjRlcE5Vem9zTXpvUXdiSGNubGtn?=
 =?utf-8?B?WkI1ODQwdlkzcmhiY0ZYNktTN3ZrLzdvK01LS2VjbjFoOTdxN2NseVQzQnV3?=
 =?utf-8?B?RU5MZ0xmYjZkd0p2cVhRY083UGc4c2YrNEtKRlBrVlhpa29Bd3FQYitqVzZT?=
 =?utf-8?B?bC9uamUyTzlpZWV3UUI3UzVWRC9XaFNPWGNuUC9RNkdjNENqYmhKdUFIajlp?=
 =?utf-8?B?TE1KbGtObGZHb09wN3hYcnh0TXd2d2g4cjlCMndTd1Y1NHU1Q210Qm5MU244?=
 =?utf-8?B?S2xtaVBXTTh3SkkrRW9SZHFWc2h2OGE2bE5TRmVGbUVLdjBHeFZ4dUpZQWdS?=
 =?utf-8?B?R005T2FUUm8yQVdOeDQzQ3lBdkNHdUNOU3pWV00zamwzWXVqZDdxOVZ5R05m?=
 =?utf-8?B?bU5qN3I4eUgwQ2VDMmc1dXN6cytyZ2xnekhDZDBOV2dsRWRIRkhQcWc1WnNC?=
 =?utf-8?B?UGk4aWZQRittaTNCekhQN0xvaW9nazd2WGpac3VrSVdEL3Fvc3RoMkVjWExr?=
 =?utf-8?B?STRYMHpKM3VueXQwalNSeGRvQ05yQmZPL3dUNDcyeXBHazYyaGVrZkdkVmFQ?=
 =?utf-8?Q?Fi7akqeFJY+1kwlp+RoG9d/zS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 78744f28-63dd-4550-0810-08da7f4f0eb4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 06:17:55.6075
 (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: v/HNlRCPv7y3YZANvZe5SRBYTW+j0McDI56ipKhA7t8kSoJ1ONauMQno8mIXom1KwwL+m+QMtduQ9QfIl/AAnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9348

On 15.08.2022 18:54, Dylanger Daly wrote:
> Please see the attached dom0 dmesg log, verbose lspci output and a tar of all SSDT and DSDT decompiled ACPI tables.
> 
> Please let let me know if I can send anything else

The lspci output reminds me of having forgotten to ask which device it
is that the domain about to be created is being handed. (I can't help
the impression that the issue isn't with the creation of _any_ DomU,
but only with such where some specific device is passed to it.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 06:33:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 06:33:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387960.624448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNq8R-0004ls-EK; Tue, 16 Aug 2022 06:33:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387960.624448; Tue, 16 Aug 2022 06:33:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNq8R-0004ll-A4; Tue, 16 Aug 2022 06:33:07 +0000
Received: by outflank-mailman (input) for mailman id 387960;
 Tue, 16 Aug 2022 06:33:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNq8Q-0004lf-02
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 06:33:06 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130043.outbound.protection.outlook.com [40.107.13.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47fcff95-1d2d-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 08:33:04 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8112.eurprd04.prod.outlook.com (2603:10a6:102:1cd::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Tue, 16 Aug
 2022 06:33:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 06:33:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47fcff95-1d2d-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TJ9H2cb2Qx0y+kfHOPE6HOGs2gjiCscOzH1TLo2eEQISFMcazaA/xAajbQGD62mjiKyk8CWqp3DC1zA3uKGx1GQdotvLqdGXa2Kltq1Ds55XefbVKo5sATgHmZ1ZhWaM2ejrLNNULIj2pzIjGXDv4rpX5p9/aRf0Kk6eFEwjTCU5OOChgFoEXxxHVohrjIwSBjt2UPdX3nC5mHls1qDZG9TDFg6j7p5Qivap1CI4xcOqu1dQE6NLDX3NC7hQQoMy+cnRJCq0Iot3FxCqRo6LtFDrqlSFjKbuKnfHZHyq+qrNQmA3rLsqyr5xxrMkIWlQlTBVTZqyBTUdLugFRUdCkg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ccQ6u66wE4z1aGcyRkbwjalqIrT4SRm5yCI2P5XJOYI=;
 b=R84eAtnvgSvo/UOPt/cs6LAc4U97H70tPa4qLucKBCJUxHc2MLBeFjKMU0wAoSeJsTLIMVoSQCE3NhCPU7dCTFph6ptcWy2oL/VAPWav+cw0Jlv65EJI7HcKoO/9Z3P5CPcgbTXyRYv/dPTYpAhtkH5a68/A4qgYW5txpKULsjJuUXdY4lLj3q5f+u7mKwooDTbIuu/o2mbb+Zv5CLlTxKpOCaoSN9dDoY1Dbp2hWk6x5DGGljA2Dto9BOuWkp88BNJxL3jQ8IFwDnMxR799vNd+vTmD3vciaumTEViWx5j/Jrw9dYRF7tW7Os2IOJTvxsf8erPxjgOALXwg4Vw54g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ccQ6u66wE4z1aGcyRkbwjalqIrT4SRm5yCI2P5XJOYI=;
 b=zLgQNhZeQjVEJtC1WhPYcTKsQQh0SqC5EvvnCaGkzqxvvFLdQqWLF2BDk5OW/v8ARRaxpsnSCuDgg3ZbKS9ctgFRdzx9ce17Bx6BL3nZ2kFDPYgof3FoJxfGVFWD7U6aOyk8sLsjlHa3pTH2lpcOELKD/kqiz3/U9d30gXl5Qbd9y7nKkfHw8PNJyTW0/sR/KneU1cesFt3L5Fv/cKLMxyBkwLbs4zY9Fe7Sgsj8wAgh4lsHNQNCAmW64M9jATKvJ6LFKUqv8iD5p2k2klrBxS3QlqeGyCGtETWEJmKp9LF+wa7UB7d4u+BYcHJirn5IRCEhQklCWZ06liDSV46VNw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6f5f7adb-d34d-e753-0880-92eccccfb75a@suse.com>
Date: Tue, 16 Aug 2022 08:32:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86: rework hypercall argument count table instantiation &
 use
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Juergen Gross <jgross@suse.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR01CA0040.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ec758cd7-3d08-4adb-0ed1-08da7f512b08
X-MS-TrafficTypeDiagnostic: PAXPR04MB8112:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k9uy28MeLK7SS+dB2XL81cnJDpUdVm7L21bXd1PXaHwZeKQ0SVGZH8PBGyIgNItzmZBipJBiXdQ1YGVBrm0qIzKYWO1cJqSu8TZfR7GYQ1oZmC8A19jNRCtG1cvsPEhCSsgS/NRRL+jwnGIC2yrrDMD2X/GpD93JjAmW6xBpPxJRK2TxhMN3fcVpvBVphCjXI9EY5ReUNcKs+Ijwhm9fRGNJtZFl2KBgU42DJeAzwobUF8gh5aaAIig0Z2YQQRKh6Dc0DuAx7Tq+JjLxt3o63q2X8udlBvxU1xKtZBWc4xFQP4I1yPZM6vLQEWFdG9znG7fzBaCKG3izZrgpXSHp4x0wh/0j5UHsGmOATTRafku200yuBt6R2TXFf7195TCeNOxUjoR+lgtsSaOBwfd+oOvgQS2SM1g2OGZ+yA8tQe2E401i3unbQXx1b3rIkX7pjn3qmS1/bSjcOQ3CRiKRk257ITC8tCgOtdDtuIGMKW8/FTLj4NIi0Likolxu65PCa3HcK+y122jdZWX3QcLlFTdZ0HzQuNtG7YPZGkGWeVOt0R6iYq/wcp2V1Xef6valMgrlauzPAuprrDlBgqM7E++rEPrUv6k01DGV4i0Q3C6zCKSPEWy35cRcwsCIPBa/b1quT4L8SFPmol0CDWCeTKEgGIAzzTpN5thkK431WMFtaBCKm9bQ38v9IkM44kcIhbJhIM3CqJU8mc4RNyfToXNgSgX2VEVSebEy9527+FhgsbJsFIfWJOJ3PyiAFBfvm49wrMfuOnL3yKhtgUUq8qfriPB93psZ5+BXC58t5HStASKHkunWFoec+oNg9XYCrrZg0gzKkt4CTIwD6q57XQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(346002)(39860400002)(376002)(366004)(186003)(38100700002)(36756003)(26005)(31686004)(86362001)(107886003)(6506007)(31696002)(2616005)(6512007)(6916009)(83380400001)(41300700001)(478600001)(6486002)(54906003)(5660300002)(66946007)(316002)(2906002)(66556008)(66476007)(8676002)(8936002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RFJqZmQzZWN1UWcyYXJvK0VJSHYyc0FmbzFpd3NReEJHMGJOdlJ1bldsWnBw?=
 =?utf-8?B?ellpT25tMEU0a2FaZnN3Q2JFaTVlQ2czVUplK3ZNV1ovajZkdkh5OUZST1c2?=
 =?utf-8?B?RXZCZUFYQnBwTW05MmNqa2VEMkE0aW96ekU3K0ZHTU1GQXdJWHBQU2FtVExu?=
 =?utf-8?B?eXg1amtYWWtkdFlPbkZaQXVsb1ZrZ0tKRmZkMkQ3REFLeDFZR1J0OGpYS0ZL?=
 =?utf-8?B?NmM1UDVVUkxZQTRtNmN4MGt2NmdOUEp3azZTS0YyWmx6RThWNzVuTHR4UldP?=
 =?utf-8?B?UXJFdEdOb0JkV29VMGNyaDQyQlRlazBEL1JQdXM2YUlBM0doSU15UFZYaE16?=
 =?utf-8?B?YWljUU9jYklpM05RMHVPR3lWOXo5dzVTWGdyZDk2RWhINHFmTUZPS2dvbkIr?=
 =?utf-8?B?dXF4ZWlCaWludVF0WEU2NFJ1ZUVYVkxFRkJtUUFneUlNL2lYQlFBQ3dibi9l?=
 =?utf-8?B?NXQ0UUpNcmdmdXVvMUNjT0JNR2x3eno3ZzdTRDV1aDhZTkdKWGhNeXpDd2d6?=
 =?utf-8?B?VTJTenZBNlE4VWFBRlhDYWZuSGZ0MHlHZEkxRXh1eThLb3pLa0RPK0dsd1Rw?=
 =?utf-8?B?UVArNE03K09QVDFVYytxWjUySjc2M3BOOG5PeDRaSC8wNDFBMVVoZ1NyaGNG?=
 =?utf-8?B?M2xJbFZIMG5VRTR0enJ3OGo4MCtmanJOWHlGWm1hcndhMTh2VC9yQmRja1hB?=
 =?utf-8?B?ZFVmcS9sOFFyb29ucXlkRGYzQ0NqN0hFUmxzODZtYnZrTW1ENURuUzVHSEhH?=
 =?utf-8?B?Y3VnVTRTbXEvT25mZ2FMUHlXU3Z4ZkVxVVBEeFpQTUpPamZNOU10WjJLdW1w?=
 =?utf-8?B?M2lxbndNMXJCUVZ3T0xRc2hkWHpvZkMxekdnZTV6d2dMVUQyVHJrQ2xQa2NB?=
 =?utf-8?B?Um45ZHBvZHhrclhDWENZZ1BWV1lhWm9HOTl1TFpsNjFVTE9WSGErSHRib2hH?=
 =?utf-8?B?T3I0TFUxN2Z4YVk1QlpydnRrK0kxbjRiQmMxRnFoNkxKQmtib0owcXVaYWFR?=
 =?utf-8?B?Q0UxdDlVdXg5SUgrR0FFbXFKQURIUGxWOVh3b3ZqK3BMb1FobTdXRG5tbW0z?=
 =?utf-8?B?Y256eUZhMmtwUDlqNXlWenRIZ3daNVp5dSt3QXNrai9ucmVMb0htOCtXczFW?=
 =?utf-8?B?T2Jzam9CVTR0d3cwdEdzSTFjc0ZhYVhDckMvVlROeHFTazVXMGRmRGtwS1Q0?=
 =?utf-8?B?cXI5N1VHeU1aSGtzWlFCWXArZzZNbU5BNHJlVnBTRjJQYTFlMmtYWTFIY29M?=
 =?utf-8?B?RnpyVEVxUHg0QVV3Y0VjU1k0S05rcWt4eGRuUkh5YXp6S3p3ZFd1bUhnWW5y?=
 =?utf-8?B?YnN4ZVlKRGU2ak1WSWdVS2gwdlJkRU1udVBQbURCaDZmVDNWZllQVm56V3hi?=
 =?utf-8?B?eGNuTndySkJQK3E3bk1YRGxMY0hxZVgvZWQ0WWVNbE53Zk45eDd3d1Azb1Ir?=
 =?utf-8?B?WnJoSVNYbHUvRFpuSFlzOFkvbUovbGtzQm9WTGVmQlFZQzZiR2R4UHMwa25Z?=
 =?utf-8?B?TncwSkJSRFV3QXI0R25vWHNSZ1NaMmVxcE1WY3JUcFdDbkFCV2VwcE1qbnpu?=
 =?utf-8?B?VWpVQlVHV09scnJQSFVNUURYc1JFeVkweEFBaXAzd0RrZGtObWhQdnRSRFUr?=
 =?utf-8?B?U2Y4QzFiK3l5bFVOcWIvb29sUUNSRTg0c3dKRm9BdTVxSFNFRTdxY25wL1Bk?=
 =?utf-8?B?M0Y2SS9kWnhJd3Y2bm11cmdyaStoV3RUYVV0emhJdHBIYVcwWWJKRDcwczZ6?=
 =?utf-8?B?VmtycTdDeGcvZ2NRZktWekVtZ012UU52bloyc3pHeWlpOGlsb01Hdjk3cWRH?=
 =?utf-8?B?QnFOSVVHQmFoKzRIcnRBV3J2ZStVU25KY3ljNGdISW9vcEd1RXZLdTNPWkND?=
 =?utf-8?B?ZVdEVHpvVXJhOU5TTnhDUnJ5ZmoxMDAxSzBtUU9uTVc5aTBaQWpYbmVzRWxD?=
 =?utf-8?B?bVNHVEZPWUZ4dXg4dGVXN0EvWVNWQjJJTGZXWCtoL2JkeFdBWHZnQk5ucUlG?=
 =?utf-8?B?dXFkRmd4Wi9ueWtWd0Q3M010QXdjL3BhWE5FdW5yOXNUTUxISEx4VWVSUUd6?=
 =?utf-8?B?Ym9YbUtzUEhvekFYQklsNmpOb0lBZ1JqSGtKWXBXT1VaR1FmSkZoQWd5bHo1?=
 =?utf-8?Q?DLLgy8O7rm2ikxkzn/su+12Pv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ec758cd7-3d08-4adb-0ed1-08da7f512b08
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 06:33:01.8779
 (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: O3wPj+UlqqHVY59iXcdap79cNB8nBmB67VAXo+cYsufQol1snYwW9YPWOj9FXM+YzHLW3Wt6YUf9GXCBm3zp5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8112

The initial observation were duplicate symbols that our checking warns
about. Instead of merely renaming one or both pair(s) of symbols,
reduce #ifdef-ary at the same time by moving the instantiation of the
arrays into a macro. While doing the conversion also stop open-coding
array_access_nospec().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Use single-macro approach.

--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -111,11 +111,6 @@ long hvm_physdev_op(int cmd, XEN_GUEST_H
         return compat_physdev_op(cmd, arg);
 }
 
-#ifndef NDEBUG
-static const unsigned char hypercall_args_64[] = hypercall_args_hvm64;
-static const unsigned char hypercall_args_32[] = hypercall_args_hvm32;
-#endif
-
 int hvm_hypercall(struct cpu_user_regs *regs)
 {
     struct vcpu *curr = current;
@@ -177,7 +172,7 @@ int hvm_hypercall(struct cpu_user_regs *
                             regs->r10, regs->r8);
 
         if ( !curr->hcall_preempted && regs->rax != -ENOSYS )
-            clobber_regs(regs, get_nargs(hypercall_args_64, eax));
+            clobber_regs(regs, eax, hvm, 64);
     }
     else
     {
@@ -190,7 +185,7 @@ int hvm_hypercall(struct cpu_user_regs *
         curr->hcall_compat = false;
 
         if ( !curr->hcall_preempted && regs->eax != -ENOSYS )
-            clobber_regs32(regs, get_nargs(hypercall_args_32, eax));
+            clobber_regs(regs, eax, hvm, 32);
     }
 
     hvmemul_cache_restore(curr, token);
--- a/xen/arch/x86/include/asm/hypercall.h
+++ b/xen/arch/x86/include/asm/hypercall.h
@@ -43,18 +43,8 @@ compat_common_vcpu_op(
 
 #endif /* CONFIG_COMPAT */
 
-#ifndef NDEBUG
-static inline unsigned int _get_nargs(const unsigned char *tbl, unsigned int c)
-{
-    return tbl[c];
-}
-#define get_nargs(t, c) _get_nargs(t, array_index_nospec(c, ARRAY_SIZE(t)))
-#else
-#define get_nargs(tbl, c) 0
-#endif
-
-static inline void clobber_regs(struct cpu_user_regs *regs,
-                                unsigned int nargs)
+static inline void clobber_regs64(struct cpu_user_regs *regs,
+                                  unsigned int nargs)
 {
 #ifndef NDEBUG
     /* Deliberately corrupt used parameter regs. */
@@ -85,4 +75,9 @@ static inline void clobber_regs32(struct
 #endif
 }
 
+#define clobber_regs(r, n, t, b) ({ \
+    static const unsigned char t ## b[] = hypercall_args_ ## t ## b; \
+    clobber_regs ## b(r, array_access_nospec(t ## b, n)); \
+})
+
 #endif /* __ASM_X86_HYPERCALL_H__ */
--- a/xen/arch/x86/pv/hypercall.c
+++ b/xen/arch/x86/pv/hypercall.c
@@ -27,13 +27,6 @@
 #include <asm/multicall.h>
 #include <irq_vectors.h>
 
-#ifndef NDEBUG
-static const unsigned char hypercall_args_64[] = hypercall_args_pv64;
-#ifdef CONFIG_PV32
-static const unsigned char hypercall_args_32[] = hypercall_args_pv32;
-#endif
-#endif
-
 /* Forced inline to cause 'compat' to be evaluated at compile time. */
 static void always_inline
 _pv_hypercall(struct cpu_user_regs *regs, bool compat)
@@ -65,7 +58,7 @@ _pv_hypercall(struct cpu_user_regs *regs
         call_handlers_pv64(eax, regs->rax, rdi, rsi, rdx, r10, r8);
 
         if ( !curr->hcall_preempted && regs->rax != -ENOSYS )
-            clobber_regs(regs, get_nargs(hypercall_args_64, eax));
+            clobber_regs(regs, eax, pv, 64);
     }
 #ifdef CONFIG_PV32
     else
@@ -90,7 +83,7 @@ _pv_hypercall(struct cpu_user_regs *regs
         curr->hcall_compat = false;
 
         if ( !curr->hcall_preempted && regs->eax != -ENOSYS )
-            clobber_regs32(regs, get_nargs(hypercall_args_32, eax));
+            clobber_regs(regs, eax, pv, 32);
     }
 #endif /* CONFIG_PV32 */
 


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 06:40:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 06:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387969.624459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNqG0-0006Gh-8f; Tue, 16 Aug 2022 06:40:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387969.624459; Tue, 16 Aug 2022 06:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNqG0-0006Ga-4G; Tue, 16 Aug 2022 06:40:56 +0000
Received: by outflank-mailman (input) for mailman id 387969;
 Tue, 16 Aug 2022 06:40:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNqFy-0006GU-RG
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 06:40:54 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60075.outbound.protection.outlook.com [40.107.6.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ff3d002-1d2e-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 08:40:53 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5393.eurprd04.prod.outlook.com (2603:10a6:208:114::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Tue, 16 Aug
 2022 06:40:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 06:40:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ff3d002-1d2e-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oewf3UwgysH6ZLp+uKfX5FTTAs8hD3JwQhMdNzTei6ExLIMk74WPC7M0u+ECRvqZwYFMydwmUUywvN9f50LgXMjR2eN/658xQZLNJe6ZRN+hBIWetTnO1LvKf4UiyZ2kkQGgKJquhAzcywkUPDgX0yEoujRnpjdOgUs4hEW04tFLXsWP8GZTHTbT1dnwTC/Oi98kkgF0Tc7wbl3Uz3y/009H5DBeOQQSNPdUbIrQwoHyl9UGftf0UbREcEVZaJ/5b+Egau5rKZ1uD8ITCPacVqJgdAwpMaQJpPiOdzRtbI+RIyvQ4ObOK9lWUGGyF1yiZVVFovN/hEyWPhI8/9zhVQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8HZIlDw6oVBNNzAsssQSx18YDkXRqbj57+Fd8gx3mM4=;
 b=dqDMbh5Y+RFebxXMsHqZHaLWV4f0M+pY4S2bvIINLRMCwbOA3Qn6MyhN4bSjFkrPDBQtE58PkbQfeeqmo8gFwRap628jgHi894VX3BLvmdGNpOV5NUVY28qjwTKmPiWm55mgplu28k6lJUWAa6kprFNga1j0QrqzCHPvb7PF97bPs3WjUARiMalwnNGXT6vvhY8saOwVwVsNIUhVlPwVHgJZNTNwlhuBvIf0v75n04QPfJ+DqIE1rXe/gNfL+vruMUKQ4VldRcOSLZRIAwLr+z65muKbkNQh/ZWg+Owqvec3j+Zd72ZeIvNTkDZluYe3euhigLv3U2O+tvLHadSbbg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8HZIlDw6oVBNNzAsssQSx18YDkXRqbj57+Fd8gx3mM4=;
 b=NSwsK2xBH0ZRu+2b+SCsLlE6M8W9Wa4T9RMYd6kawL5/Ggos/x2NtIWjTevy1ikErc+CLbmkMpmR50+tVtLCGT7OsSjVpBUF7lV2srGDu/TFPlaJWqIToah60gaeNCSQOxTPVFOdrObx4bMQu3rdf34dC1InHlTBAMpMU0Z68pfM5rJlX98fRT1wmj6QhvKsRfecO0x8uGjVDsKqV8a78tJPr0PEvFMe0/1qGpgWYFVtT6M7ZDTzSBhZM6P+0XX88PbqlaLgufmaxLxspiAEMi9ff6r/lF4HXV5FNZgjwbBeK0Va5XL0lU29ifzQRPLVCL5X1+ylVx2E3MjvR65jZw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
Date: Tue, 16 Aug 2022 08:40:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v10 2/9] xen: do not free reserved memory into heap
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-3-Penny.Zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220816023658.3551936-3-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 50b9c0b9-f390-41fd-de53-08da7f524359
X-MS-TrafficTypeDiagnostic: AM0PR04MB5393:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	riwcDBJiB4xuOGGyEuUvLuqPC+t2TsgvjKuphkz+Jx0Z0+2fZys8U0ByaoQS8jTs65CEmeL7iAdgZRdS0R/bwfc0fREdyKyNGK+qU1/KNQJHDIFq/G9CvetRVwi/BhW1BSC+q86j1OB3z8y/Q5x54XREtQE5TBAjSfcLy/E7SQdyhmcWt7dFjiu1+7IILMORhnooa2si8OcLbZuro2S33qxvkZrMzlpAhPEFf+Txp2Orl0fHw1m0yvs16KJ71fmR/REcirGfcPsWagSJM47lVQ6KLvEAV5MGyzR+f5QxIVaAs2FaFfbfCCmeq4TCV5dP5ltCGD27u7kXKu2Hy3gDw23PttblnrFlQG7BKFKWYpcaRVr7QzUgr+GSLyThYsU56JndPngI6A/VPTH1SXFPFKaNUMYwldWrYKBl3pbDvGqFewmufzekROaGRZ1h96xm/C0n9m6eTNdTOJU4KuvRXP4NKsuBKd/fA3doU4YoVGCds8R7GaobwBBVV9f7Bh++SsKeFMjdjHCuyw3m/WJJIgOqUx7ARf54gOf1EFn5uY0u1KCEwz0CnS6rYQ5sIXwmycdMiSqlJxlvit76/7DOtjiVJ8tJyrzF+iwOH0K8OZSxYjQU5eqYqmE7+DnB9PZpCBQ/TLBPt17/ljdVr3YW5XHdaz7qpV4JrXMmQKQaORJWmXERtPlHIl6Y6fI4LQjOM9nLsrktIe3CZZlYInlQ4UHeFMZC3yV4v5Lqyt993IgssxTzFarC4bQhRz1iJKgZ738+uiWhwkFl33sbPiUEw/CkT9pOYuNELoD8A/EH/55PsWYxRQQC7mMXcoZY82kbJzvaSSucvzo6iwL+QIpgrw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(346002)(376002)(366004)(136003)(54906003)(5660300002)(6916009)(6506007)(53546011)(41300700001)(86362001)(26005)(31696002)(6512007)(8936002)(66946007)(6486002)(66476007)(478600001)(8676002)(316002)(66556008)(36756003)(2906002)(4326008)(83380400001)(7416002)(2616005)(4744005)(31686004)(38100700002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tk1jdllVY2I2VUVrTHhTZG1jcFRFL0IrTUF5WXQvZUJtQjVwczRkdXg4TlUw?=
 =?utf-8?B?MGlQaDNMM0I0ZmtCOUxDSit5WC9jY1MyOGRJaEQ3bGZuMVFaUEpnOXRCRU1h?=
 =?utf-8?B?RU8vMGhsUjRqcVpHeUFQYXcrYWZQYnQ2TmVpUGZpNDRHSjQzei9RQzV2RWRh?=
 =?utf-8?B?RFo1UGhTb0Y4b2MyT1NJUksyZEtsOFdUOWZ4N1hIZGhocDVOc0F1ZDVFeis1?=
 =?utf-8?B?WWRLZnZOQlZCbmhHdS93dWVSVEl5OGQzTXVxMFBWMmJBeUdaSnhWRkwxYjY0?=
 =?utf-8?B?ZW1INERXL2l5dG5kUm1pcWpHMlBGMFR5QThheG5sMUNBeTlUenFOS1hLSXZq?=
 =?utf-8?B?c1Jqd2JiNEhLOU1Gb3JHczVhUmpJOUZwcDJNeGRJVHZZS1VsSWhGdFh6QndF?=
 =?utf-8?B?TkVmQkx4NWJDcnpvYzZTTXhIRU8zZVErMFpjS1BpbDVPQURtOHZIcUc2a1pO?=
 =?utf-8?B?LzlYMjBTU1BXRXlERGZPSENpUWJjUWduY3hSYUtDMVo5b1diTWlHTkVIWjgz?=
 =?utf-8?B?dVJyZ1M5UHBCYmlkZklZMDRQMk1kbnFrQm5sYVdBQjJFaTNJWVZVcEY5UlNk?=
 =?utf-8?B?YW9YR1huQlZnRS8zWUJRZ1ErK3RJazF1eGk0S0RiSkVaWktMVWU5QU4wZEEz?=
 =?utf-8?B?RzNuY3VZSDFEVG00dkVGSWpOQ0t1U2ptK2RUMjFQZ1N2QklaVXlocFd3NWxF?=
 =?utf-8?B?elYxWGJNTkNSNmY5aFgraVM5U2tNTjBuOEJiR015dFFicENMWXczVHpldW5P?=
 =?utf-8?B?aUFReksrTEx1RlRwOUpRRWQxeWFzay9BWTRleG9FUm1XbzJ6UEI0NmtSWUVl?=
 =?utf-8?B?VkpFKytsQ29xUURvdU56Q1M5SW5SeEZoM3dySlI2M24rRG1jVjRZWjhJOWlr?=
 =?utf-8?B?bkJIdHBBdE9UaE5UcmZhQllGS2xzK3M4bVI3ZDNEMmNIeWtjN0xhZ09KT09B?=
 =?utf-8?B?d2h6OFp4eXB4UmJtMHVhdlRtdlFDcjkyNEhacm9BUzBhMGM0U3lPWm01ZkdD?=
 =?utf-8?B?K2xCMGd2Y0JkRlFsZEIzd3dnRDl3aUx1YTFPZzRNODR3bjZ6UGhhaHFkc3Uz?=
 =?utf-8?B?L2FhbUVQUFZiZDJmTFNrR3FKbGp4VWRGZ3NvdW8wY2hzTDN5WGdib2dJbzFy?=
 =?utf-8?B?NXRYS3I1SU1teHpOS1hyeHR5TUcyNWVEVmZkZzJHSFRLUlhTTmIwMDVQSStC?=
 =?utf-8?B?TmFUTm1rVWhhOG1oclNZOG50OVRUTWNxQXB5R3Jxcy82YmJTa1FpbVFEK0pz?=
 =?utf-8?B?c21qcFRtTFVpMVo1WVNWWG54RGlSdlplY00yaHdDT0l1dHhoNmNSNUs0RGZY?=
 =?utf-8?B?cUFFWjlsQjduU29DTzJRbXN4cTVlTXVDRjVqejZJVG1tTVFGWVIzRGU2YVFK?=
 =?utf-8?B?M2JQaSs2SDk0RlkzNHFEYUhZSVdsYzJSOVRXNzdVQ3ZIejY5MVNsV0c1WWZh?=
 =?utf-8?B?SWlybnZjY1pGMHEzYVZZYytIelgyR3lvNG9ZVHFGQVVsQlZ6aVRwOHRPZEVD?=
 =?utf-8?B?Ym43dGtacnhsNkRtV2lCVXlCc0ZvTlg0bVA1aHRxRXR1SG91dXlSOXF4ZDM2?=
 =?utf-8?B?NUt6ak9rYjhzRHRXNHZBa2NQd0RQNXM5OEtJYm5KVVFrS2VGQ0Z1QzM2ajdY?=
 =?utf-8?B?U3lNbEkvZWJpMHFjZmNSZEFHZTVMQ3QraG1Hd21taHUrV3EyS2gxUVN4dmtI?=
 =?utf-8?B?VXE3WGlPR0VHS0kxV0pTK09hMUxtOFZpUkxjY2lQSGZBVXkyVXRyQzIycWFW?=
 =?utf-8?B?QUlDbjJrL3RNa2NDRGhmdGN2YnRwRDRoNzR3Z0x4OVhwZTdST2JoaDhWdVJ1?=
 =?utf-8?B?ek9WQUtmd29hU2J2Ukt1aDRSaFo1THFtUElkdUk3SEgvanovSVZXeDVNZmVs?=
 =?utf-8?B?eWQwdis3eDRJN1pjanE2cnhkQnZTZllWbWhOSC82RFBlSEhhd1JlNWVlZW9i?=
 =?utf-8?B?azU4Y0x1ZFVxbHdwV1NaakZ5UTN5ZnQ1d3k5WEVEMmpJZzNyWTFhVWlUQ1A1?=
 =?utf-8?B?Qk1hMEtDK3hKbWN1WFdIMDZVZkVYNWV6UnFOVUNnV1FxY2VWTzdZdEd1Rklk?=
 =?utf-8?B?WjZQZ3F4THhxbWp4Mm9kTTdPUEtuNWlBdlJMRUxJMVBhVU1sRFpwajVtai9s?=
 =?utf-8?Q?yidWFfo5pzPccmBLfVWIqYX8+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50b9c0b9-f390-41fd-de53-08da7f524359
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 06:40:52.2386
 (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: H4sEONgWn1a42rtYyeE7/Ks+dwtCJd4rAwpWpIjUULUiK+1RxQpOQYXU3tXj5x89ngR3bMqQQdW7ZDMQnjdngw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5393

On 16.08.2022 04:36, Penny Zheng wrote:
> +void free_domstatic_page(struct page_info *page)
> +{
> +    struct domain *d = page_get_owner(page);
> +    bool drop_dom_ref;
> +
> +    if ( unlikely(!d) )
> +    {
> +        ASSERT_UNREACHABLE();
> +        printk("The about-to-free static page %"PRI_mfn" must be owned by a domain\n",
> +               mfn_x(page_to_mfn(page)));
> +        return;
> +    }

For the message to be useful as a hint if the assertion triggers, it
wants printing ahead of the assertion. I also think it wants to be a
XENLOG_G_* kind of log level, so it would be rate limited by default
in release builds. Just to be on the safe side. (I'm not in favor of
the log message in the first place, but I do know that Julien had
asked for one.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 06:43:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 06:43:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387977.624470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNqIe-0006ti-Mv; Tue, 16 Aug 2022 06:43:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387977.624470; Tue, 16 Aug 2022 06:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNqIe-0006tb-Iy; Tue, 16 Aug 2022 06:43:40 +0000
Received: by outflank-mailman (input) for mailman id 387977;
 Tue, 16 Aug 2022 06:43:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNqIc-0006tP-Uq; Tue, 16 Aug 2022 06:43:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNqIc-0007I5-Ez; Tue, 16 Aug 2022 06:43:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNqIc-0005cE-1E; Tue, 16 Aug 2022 06:43:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNqIc-0002vu-0n; Tue, 16 Aug 2022 06:43:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=C+kq26pCGxl4QrOskUMPeS3Frb3r0DR0xjMWzIiejm0=; b=b1OP/Kj1iNAXxOWjA68xfj9Hsg
	18UA6vtnL+ZDgoKOg4dHJyuaJMKY1qxlGscSQtwm42s9m+SgNIXWEb4iEoqPAQdfkTBxHQm/rqdpS
	qRzhwCyREi3ZXqaIjUoKhSaMAxidtD2IYOQFbSU+EiibqeL1JRW6N7weHfDOJWtUayLk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172547-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 172547: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-arm64-arm64-xl-vhd:xen-boot:fail:heisenbug
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9acedc3c58c31930737edbe212f2ccf437a0b757
X-Osstest-Versions-That:
    xen=df3395f6b2d759aba39fb67a7bc0fe49147c8b39
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 06:43:38 +0000

flight 172547 xen-4.15-testing real [real]
flight 172564 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172547/
http://logs.test-lab.xenproject.org/osstest/logs/172564/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd       8 xen-boot            fail pass in 172564-retest

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 172564 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 172564 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172109
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172109
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172109
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172109
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172109
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172109
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172109
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172109
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172109
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172109
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172109
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172109
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9acedc3c58c31930737edbe212f2ccf437a0b757
baseline version:
 xen                  df3395f6b2d759aba39fb67a7bc0fe49147c8b39

Last test of basis   172109  2022-08-03 11:06:45 Z   12 days
Testing same since   172547  2022-08-15 14:06:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Rahul Singh <rahul.singh@arm.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   df3395f6b2..9acedc3c58  9acedc3c58c31930737edbe212f2ccf437a0b757 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 06:51:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 06:51:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.387996.624513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNqQW-0000LH-Vi; Tue, 16 Aug 2022 06:51:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 387996.624513; Tue, 16 Aug 2022 06:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNqQW-0000LA-Sy; Tue, 16 Aug 2022 06:51:48 +0000
Received: by outflank-mailman (input) for mailman id 387996;
 Tue, 16 Aug 2022 06:51:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNqQV-0000L4-Ob
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 06:51:47 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20065.outbound.protection.outlook.com [40.107.2.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df1120d5-1d2f-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 08:51:36 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0402MB3321.eurprd04.prod.outlook.com (2603:10a6:7:8b::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.22; Tue, 16 Aug
 2022 06:51:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 06:51:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df1120d5-1d2f-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ilikxP7MDh8YfRG1d84Sh1E60GFBGj95FYNFIqVAzUx3401Ba6Iy1HEpFY4UaeWjBbYOLSsJGz7LzMCyYRcvB/cF+jhZSZzfKt95zt9UQ4GdMBhGb/U0iqPu3A1DmPmp0u59fxSZyt35uZN5YPnn6VR6BCk/2XJ7KGsf5Se2h6CLcZl5OiyrcmChc746hdVZf7OymsgRzFoeYet1BrFwHJ+boJcT/Bv5Tr1DWmhgDNK/tKcl2FZ3LwR5+HoQpk9tkB+YrUzsdf8288Hx2nariW2Jgay4/bXiAUUp8I30vy5/X3CCvbOdY9awPOAtoc9fJe3bJbbs60Ay3YcRWu219Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=04tBr9NPFZN0zCrNrrglsMrlMB32SkuRGR9UgyuH/jM=;
 b=bgu+fISGoqvnz2PoLtpfaBvtVLc+/QsatBBtu5+ghub/ycVOjQBiMGjjjlikiScMjYV3I5Dbv4LzblPcoO3tUmRNVFo6QdkmqHt8tMHir/G0qTL/97LLXYnUg2W7R/X1P6wP93eC3b8NJAdkya1EN2CKLE3ZSSQfkeYVJrzFszJRftMWOX9GiXtoBOKDJlLi3w+CtvhRQ8y8D73XbGMhOQXTMi0N1V43eOct7Irva2rYoMWLF7EfWDn8jop0uqaJOcO0IGWPbJ0KjwOozOCjH373/9Trwh21pVFXGaeoRnTxYsEJ+aTagnn/tF93jErdMEdmySR0vw8Eda5nK2ugaw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=04tBr9NPFZN0zCrNrrglsMrlMB32SkuRGR9UgyuH/jM=;
 b=DBWYZBQlDFFooaLN6xJFxCIucUKoHiAy7LpAn31vvJSpvw7P3nj36f4cP1kKKQSpzjBOmsCL3hXbeKlud39LMZsPtjSLKuRdjEbkRix2tKybhkbDPd9xGxt9GTAZlaClSFW/5SwdSYnaXgPD3mzPR89izddj3bqNAOPnSIr26/BG2q9UNcnR7SghcaAHuseDeVqDwAndXyleUOy+OqvSCcLzBzWJAakH7uSrMBE8jNFsxns0Hl7asCLUsFAUgoh9Y2/bxCZsOWI2oHGGL1zHUs2Gs8uwcPJ1ATBCPW/tvoZGfysA6M115hpVsAwoX5Xa6tlQ3AfLBZLgil6kaBU77A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bd319ac0-0f17-5461-5508-d383dfe07308@suse.com>
Date: Tue, 16 Aug 2022 08:51:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v6 0/3] amd/msr: implement MSR_VIRT_SPEC_CTRL for HVM
 guests
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Henry Wang <Henry.Wang@arm.com>
Cc: Wei Liu <wl@xen.org>, Community Manager
 <community.manager@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Roger Pau Monne <roger.pau@citrix.com>
References: <20220517153127.40276-1-roger.pau@citrix.com>
 <53cc6a9f-5a4e-0716-fe08-ad86fc155cbf@suse.com>
 <1dbab710-6d3c-a6cb-faa7-31558c04aab2@citrix.com>
 <3a975638-9675-9a95-fead-91120edefee1@suse.com>
 <07176f1c-2759-ddb0-1d59-38b4504d0ed4@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <07176f1c-2759-ddb0-1d59-38b4504d0ed4@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0164.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f27df5b9-3c64-4b10-0dec-08da7f53c7ee
X-MS-TrafficTypeDiagnostic: HE1PR0402MB3321:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DjK7cXoSalOSoby8ZOBhwq3PG4jNzB534UcAs2KdxaxrZQ6YAh7KRHLibh/vb+VzNxWdzeUAR7M8QC7roh4tJOpNHV/dqKRatAg8E63l+6kSfWcHYVBWzpzARJZZhvQjuujc1Vmvrlbj0ZP5RatRnhEcwI1NSc7gxgEvy30WGR37ebMSvmAJiKVZ35z1M83LgdDfvHX/akecjrzvU+p9x//oyJqK/pu14ipTrSuaIKhigHp5kTbs9hkWYEddrJcpk56/XJBgzGu1uUmx7ZdclYnKHbpgTTyXBMVzz5UP3KFcDpwMow6mDhcHFksuPlI45PbpaPJ3JS1u6gCAZbKlzviF0dhDkMSAzW5u0J23DiEst731x+SUocVVb/8CabQiqHjgFQvi6f/et6A/FvVmMvrikdH6Yw6RalDSIkqwehmAS/BaTAF0Nv9vPlsrMhWOFrlIo9js5dAGsaVtXBvxGWUiPNXW8/qcXQMSe2O0dqeFbafnHOUv0FNNkCvr5RtYcITvVKsi7URm4xtTELILpnwgd9nBIUsmnEpUUIYF6q3K7iVuwAzdjOIcWdpSFxANA4FhaWeYdRgSBEY4NVDkd6t2h1Gj6pqN+snshvemJo3DLGNZ/jS49RNxgoUHAPnQaemvY6gkkbEFtNlhhItPv9N1UWlaZGnIYrCJy05QhN2YkOB8ONoWHxdiKEUFjuWeQ73ld5U4BYMwpdZ1SVCLQqGyuN81gq7ukoeYT8U3WrmKJEN6JsqmNUyHjQjyn/kBUk744m2BRXC82H1ou4/k8mBTIJBPwq3/TXLbvzWzW8e4ba7rLJRosHydyKYMm3hpvDlY1J1AuuyC1Od9if4I/w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(136003)(396003)(346002)(39860400002)(83380400001)(31696002)(86362001)(38100700002)(316002)(6486002)(4326008)(8676002)(478600001)(66476007)(66556008)(66946007)(53546011)(110136005)(54906003)(26005)(6512007)(6506007)(41300700001)(2906002)(36756003)(2616005)(186003)(8936002)(31686004)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bFNnUUppVWF2WXN1SGdzb3lOVEg0TUk4SHVLUE9QMVlCNitpOWhQZWUxczdr?=
 =?utf-8?B?Zlk0dC9lcWNWMlNETjQ1SFZEdGlzc29tRXF5NWsrSUU0OEIwS3RPSThVYkF3?=
 =?utf-8?B?cXJXWnluOTlhaHE4aE1QbHExSkdYSUtnbktKZHZWMlY5SVdCSkhhZk9MMUN4?=
 =?utf-8?B?MXdoS3Z0aG4rbkE0MXdweTlOZ0RLOWVOODIyY1JEMHNPbVI4SWhiaVV6NXpj?=
 =?utf-8?B?SHkwejhMMGV4c1dQWlVuTUh4djV0NTdYY29LRzg5SXB2WERrY083cmExRXRq?=
 =?utf-8?B?aXg0Ykx2b0o0c01DNldBTFUzak4vRWtLdy9UKzlERmdZcnMwTk5BSFloSy9J?=
 =?utf-8?B?TTJFM0sySGZCTmJxMEFDeEpJc2pZRXZmcmFlRnFiQzJ0dkp5S0puQStOSHlq?=
 =?utf-8?B?ZVNUaUV3Q1pTZkU5cmJpNXpWZGZBL1M0ZiszZ3NEVldTUVA0VmpjL1FwNVNn?=
 =?utf-8?B?bVVaWlk0SldXSWpBVGZQVlc4TUIyWkdiSUVEdWNObnNiOTRManowRnpBN1Fo?=
 =?utf-8?B?ZDY3R3RsMGlvS05ReEtNbGZEWTU2Tll1MXc4NVppcml6Zy90aDdPT3pYTTBY?=
 =?utf-8?B?U1lqQWlZVXRGNzJLM0JqRk5SdUUwNHFsM01xSENHYkRheTJDNldzRXY4ZXQ0?=
 =?utf-8?B?Nm1WV2dqWG8zV2MwNzFJanZOcDR6d3BGbXQzdEZBYS9aQ3RocDltOWthZ0wr?=
 =?utf-8?B?OHZML2lVRDdHajZTZlBpNkFCTHk5R29PbmJRZFR3c1djeEVTelkvZUcrdi9w?=
 =?utf-8?B?a2NGblU1OVBlby9jZmNWeVhKUjJBOWlvMFIyZ2pDTU0yU3R1U1Rnc3BzSzJj?=
 =?utf-8?B?ZDZHaDhRRjZvdnJsak9qekJwbktjRDZjNVNMM3l5a2tXbExRVzZjdzFSOVJw?=
 =?utf-8?B?bFB5SFBDYUEzd0Zhb2pVK0xieDFHTHRMNHd0SStqSkFiVDVPd3YxM3l5bmtQ?=
 =?utf-8?B?L1dURzkyUENkd0pxYm4vR0dwRkxVdW5LQ2dyTGxmVkV2QlpnOEgyUEhwZDZN?=
 =?utf-8?B?enNPQ0V6b3VwVzRSSG5xUFJFdXZnelo3Q3RXNi8yUzgrL2R0T01qYVMxYTRo?=
 =?utf-8?B?TkcxMi9Ya1BOdnZ0a3FkSDFoeU16dDRueEMrYXRHbkw0UnQwOEVGaHZXNTJx?=
 =?utf-8?B?RERRNm9DK3hjWFpnOHBpdXBMZi9xbStGT0Rjd1BwdU9xL04zTEJaOHAvajRP?=
 =?utf-8?B?Slg0S3dMSE5BVFRMNUNkQnphaEIxaGUyck1ZSi9vKzZ2TFV5OE1yeVlQVkla?=
 =?utf-8?B?OVJuMHlPOGVaZkU5b3N6bk5JYUlYWTQwZGdBUzVLc3l6cmttenFxcVhQTTg2?=
 =?utf-8?B?Tkx3SHJXZVlpVWJGNG9WQW5vYlRUTjVhRkdhRFJuMlMwTmlVZktRNzdBV3hR?=
 =?utf-8?B?Z0tpdFNRTFBhM2UwVTNqUEdKbzZ0c2lYN0xsTnVLNU5qTXdzTFM2WXdpS3lV?=
 =?utf-8?B?SkN2RjRMY1UvTWhVUVhEQ1dQMmxxTUNFQTF1WXdNay8yZGxaTThqN0pRQzFw?=
 =?utf-8?B?RG50a1lQZlpoMUJSdFI1RXJjTEFzS3NpR3JnNm1ORDVhL28wVlpGTWhwRUt1?=
 =?utf-8?B?WndWT011a2lIYnpISVlBRytIZmZJMlgzVDMzRTVyZ1I1T3ArK3VQaHE1SzFW?=
 =?utf-8?B?RWJLdWk5YmVoZDRIZ2xYTlM3YnF4ZS9wRzVRVWY2bTZWLy9NMTZ3TlZJV3VP?=
 =?utf-8?B?dnlRQjdNMU1TaDZEdUJBaDdoakJBTTRic2VwSWNMWUlRKzJDYzA5M3lCUDFL?=
 =?utf-8?B?NnMxY25sbGdwZGFON1JtYzR6ZXEydXg1L3QrUk1MQzA3L1E2ZWlMWE5YY2Vy?=
 =?utf-8?B?YXFhSHg1dSs5c2RuZ3dYUEZJYW1oTk53UmFxVFpyemc3M1l5Vk9kek55VUs5?=
 =?utf-8?B?NVJTMk81UC9ldXRsTEJHWGNSQm9UelFCcnJtdEwyckNrMWFueEZRMXdpQzQ4?=
 =?utf-8?B?SUpvT1pKZko4V3k0M2F1N0pucWJXak1OYmhhYWtIYkh3YlE0YklESE5VRThH?=
 =?utf-8?B?VFR2NnRTelRSNTlIOTdQaTVRbExIb0p5S3lkSFFmellCNmN5Ym5Kb3YwaHVO?=
 =?utf-8?B?YkUvVGZpTUFSKzRCTWJTZzNrS2JBSW9aK0cyY2lUbGc0TkpRYjRoWkx4NmUw?=
 =?utf-8?Q?BrJUHaOQ5OIh1OOdHJWY1CH9W?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f27df5b9-3c64-4b10-0dec-08da7f53c7ee
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 06:51:44.0720
 (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: Bqfa0cKqBFa3pMEMByHZcmP+kuWqMglKlE2GMexVSifgAF9AgCTbUyH40l2s8p1i/vDO/YS44Z+9IOdNspYKDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB3321

On 15.08.2022 20:49, Andrew Cooper wrote:
> On 15/08/2022 10:14, Jan Beulich wrote:
>> On 15.08.2022 10:15, Andrew Cooper wrote:
>>> On 15/08/2022 09:01, Jan Beulich wrote:
>>>> On 17.05.2022 17:31, Roger Pau Monne wrote:
>>>>> Roger Pau Monne (3):
>>>>>   amd/msr: implement VIRT_SPEC_CTRL for HVM guests on top of SPEC_CTRL
>>>>>   amd/msr: allow passthrough of VIRT_SPEC_CTRL for HVM guests
>>>>>   amd/msr: implement VIRT_SPEC_CTRL for HVM guests using legacy SSBD
>>>> I came to realize that I had announced that I would commit this about a
>>>> month ago. I've done so now, but there was quite a bit of re-basing
>>>> necessary, to a fair degree because of this delay that I did introduce
>>>> by oversight. I hope I didn't screw up anywhere.
>>> Revert them, or I will.
>> There is no basis for reverting
> 
> You have falsified tags from me, which is a consequence of the series
> not been reviewed correctly.

Andrew, please, come on. I have not added any tags from you, hence I
cannot possibly have falsified any. The Suggested-by tags had been
there all the time. I also cannot see any evidence of "the series not
[having] been reviewed correctly". Please can you support your claims
by actual facts?

As to the series itself and its possible reverting (or fixing) - can
you please reply with technical comments on the problematic patch(es)
of the most recent version?

Henry - you may want to add this to your list of things to monitor.
The situation will need resolving one way or another, but obviously
we first need to determine the most suitable way.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 07:11:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 07:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388004.624524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNqjo-0002lS-Ip; Tue, 16 Aug 2022 07:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388004.624524; Tue, 16 Aug 2022 07:11:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNqjo-0002lL-FP; Tue, 16 Aug 2022 07:11:44 +0000
Received: by outflank-mailman (input) for mailman id 388004;
 Tue, 16 Aug 2022 07:11:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NQK8=YU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNqjm-0002lF-WD
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 07:11:43 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7027b00-1d32-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 09:11:32 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0BE7534BCC;
 Tue, 16 Aug 2022 07:11:40 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AD685139B7;
 Tue, 16 Aug 2022 07:11:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id TFETKStD+2IqPQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 16 Aug 2022 07:11:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7027b00-1d32-11ed-924f-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660633900; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=h6M793SMY2ynvWE6o2wfHm041bnCM3HfZCKa0vLCTLw=;
	b=Mnw1d5F8tJcd+2r4BZoh0xSWKXDiI7+4lg4EXt0O0JeuEibB9/ttLcmvqnCvzkQjQlsIfq
	cPQBqndN4J06ZB89+uOr1tOMexHZu+bnr/pcckpzdReiYrI3/3W8a1mPM1ePMASQ73nmRN
	4hOH/RWI+ptWU2HuqYTQwWApTd3Hm34=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Andy Lutomirski <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	stable@vger.kernel.org
Subject: [PATCH] x86/entry: fix entry_INT80_compat for Xen PV guests
Date: Tue, 16 Aug 2022 09:11:37 +0200
Message-Id: <20220816071137.4893-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit c89191ce67ef ("x86/entry: Convert SWAPGS to swapgs and remove
the definition of SWAPGS") missed one use case of SWAPGS in
entry_INT80_compat. Removing of the SWAPGS macro led to asm just
using "swapgs", as it is accepting instructions in capital letters,
too.

This in turn leads to splats in Xen PV guests like:

[   36.145223] general protection fault, maybe for address 0x2d: 0000 [#1] PREEMPT SMP NOPTI
[   36.145794] CPU: 2 PID: 1847 Comm: ld-linux.so.2 Not tainted 5.19.1-1-default #1 openSUSE Tumbleweed f3b44bfb672cdb9f235aff53b57724eba8b9411b
[   36.146608] Hardware name: HP ProLiant ML350p Gen8, BIOS P72 11/14/2013
[   36.148126] RIP: e030:entry_INT80_compat+0x3/0xa3

Fix that by open coding this single instance of the SWAPGS macro.

Cc: <stable@vger.kernel.org> # 5.19
Fixes: c89191ce67ef ("x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/entry/entry_64_compat.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/entry/entry_64_compat.S b/arch/x86/entry/entry_64_compat.S
index 682338e7e2a3..4dd19819053a 100644
--- a/arch/x86/entry/entry_64_compat.S
+++ b/arch/x86/entry/entry_64_compat.S
@@ -311,7 +311,7 @@ SYM_CODE_START(entry_INT80_compat)
 	 * Interrupts are off on entry.
 	 */
 	ASM_CLAC			/* Do this early to minimize exposure */
-	SWAPGS
+	ALTERNATIVE "swapgs", "", X86_FEATURE_XENPV
 
 	/*
 	 * User tracing code (ptrace or signal handlers) might assume that
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 07:29:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 07:29:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388012.624534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNr0j-0004M1-0E; Tue, 16 Aug 2022 07:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388012.624534; Tue, 16 Aug 2022 07:29:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNr0i-0004Lu-To; Tue, 16 Aug 2022 07:29:12 +0000
Received: by outflank-mailman (input) for mailman id 388012;
 Tue, 16 Aug 2022 07:29:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F5ti=YU=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNr0h-0004Lo-HL
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 07:29:11 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2052.outbound.protection.outlook.com [40.107.20.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18d6127e-1d35-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 09:29:01 +0200 (CEST)
Received: from AS9PR04CA0179.eurprd04.prod.outlook.com (2603:10a6:20b:530::21)
 by VI1PR0801MB1709.eurprd08.prod.outlook.com (2603:10a6:800:59::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.25; Tue, 16 Aug
 2022 07:28:58 +0000
Received: from AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:530:cafe::2d) by AS9PR04CA0179.outlook.office365.com
 (2603:10a6:20b:530::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Tue, 16 Aug 2022 07:28:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT062.mail.protection.outlook.com (100.127.140.99) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Tue, 16 Aug 2022 07:28:57 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Tue, 16 Aug 2022 07:28:57 +0000
Received: from 224bccac7c87.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 68FA9E83-DCD7-4EDF-959B-D0323539AE24.1; 
 Tue, 16 Aug 2022 07:28:51 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 224bccac7c87.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Aug 2022 07:28:51 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB6479.eurprd08.prod.outlook.com (2603:10a6:102:157::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug
 2022 07:28:50 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Tue, 16 Aug 2022
 07:28:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18d6127e-1d35-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=kkGqmuE996UwnEclatOcTMz72SJFyytdXhhJl58bWT5mFmC4bsmhG0yluII9hjlhu2ntwu5b/jw85o+US65Irg8r00LboWAsRX1IzAo2/cWIn1ihvJgA7E9bR7YMapkF6fnTFQjJ4o7gabPXO6S4hsK8+Lufa5ESj3RGVLYSmLmT7/Co49c9ISFSQ9nlUcjRcS8ouzZ46qd6ibNR4WlWrlYm9tsAKgaC4+pQPLDpRiLXWeWzxg51lqU6hT4R1Q0B3hCOe6r48LkSrdqKUrfmB++jMVbBxJgPHzfqWulUWy9IjlZK71BIhzLeN7uYgkj8oDnNR3MAebctYbX+I+RXwg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VPapwNYuZ+DBoI0CbtiBl4Dh5gmTwk6+D+SKzNwRh4E=;
 b=bgWSfjkM6QA23UvjAX2tAUW389OYcB/6rhvq09pm2ltDDT7bMdiSwpsN5R3hoaw+zk2j8Gc6pvbkdNHnbPHL2uxmGay326GCdQE6m4nHhgpQM5w3V+zhEfLK8ZPsfx2rn2e+wdgHiRcNJkCquf7WeRcPKUjcAyr21Lnb7j/v9C2VOvZiiKB5njGzLu+fgqtvr3cbHR/CF0GV9SUB1xf0MiHw7IQa1G+HuaBLejvkB1ld3FaUJrxA6AuzdhU0NP0uTOAoZt9jGBY53+j35STb2meJmcvWonf2yzTjtJttkF4KRcWHdZiiUOf8CUAoghJJEDlb9uLXvL7QvK8Tby3Kjw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VPapwNYuZ+DBoI0CbtiBl4Dh5gmTwk6+D+SKzNwRh4E=;
 b=RgNSyIpb3fCPXhFFtRg42UucxcVdGmiBCenu9PEMYYr0wGiS7w2B4xcm5zzdS9JNkUY5Vy/2N8zF8J1+DPMA6JrQ8OahSGxhlX+os0aQG/LC8SiDsGdaRyhstCoG0Y5E05Nj68AgaeJv9skFhv7WOhUTNHB41cah3uXQ53q3Dls=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7d97e9debdc44ce3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XzcMAg0M61gcdDfveGJThRAVAMa9PEyUw4znzTqFXmSxBFChg7uyyAI8GXPGorR3NQbXznDRxbpyir2U6PUkUkt/4eF4b/zmKNkvoIOQKw7q+fvChiM2d9yVexQTzcjg6HkdEtQkm0byNJijRuls6FM+iGuxgr+yCcdUi7vxM7dOW+eZAS9vK4I4ZzHF6HhMBvC0j9NUdrGfObclrXaeRrQjtjn1FvQ/tul6muUzm1KK5+8V1QkUgJFZZLbEDKAxaxNuwZ0Z2r/WI2/8nJInbfT5gkK1TSXbS9kPRhrbS86NfF56rGfW21ZNrtkfY5jx9ZiAq0yRSrfKL17PWLpQVA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VPapwNYuZ+DBoI0CbtiBl4Dh5gmTwk6+D+SKzNwRh4E=;
 b=jyePh+Tq5RCFJjNp/xKloD30HpHV7QlN4Htj1OpbJ37i2FawRsTuQpt00RIpIHqp6snWFoseC2gmu4evGMxqxzXxKupAun5qA0M3NZxnaTfwbCwsal8fZ0mC//zR71uBEX6d+m1q9XSgcMWVOL58SkBxBjhr7rmqrwYetMf8BrbUsb4x2Hs0CVly6eeAPWBlH77Qt4cpVzBWuQImASsHi+ajtgNO3MKqsbJ3wisYr+C+RTP/JlmuUsz6ik8GEbfBoH2kP/w/8DnQNu8qIsbDy3YEpBrlkfU7jiRyl24ehhad/rwlqCWEqwmyYfn4K2MTnGckCgPmNHVK6zFWAnw/lA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VPapwNYuZ+DBoI0CbtiBl4Dh5gmTwk6+D+SKzNwRh4E=;
 b=RgNSyIpb3fCPXhFFtRg42UucxcVdGmiBCenu9PEMYYr0wGiS7w2B4xcm5zzdS9JNkUY5Vy/2N8zF8J1+DPMA6JrQ8OahSGxhlX+os0aQG/LC8SiDsGdaRyhstCoG0Y5E05Nj68AgaeJv9skFhv7WOhUTNHB41cah3uXQ53q3Dls=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Thread-Topic: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
Thread-Index: AQHYroFFG1SBMYgirU+4BTxPWgpRqa2wLhCAgAAHIICAAPF0gA==
Date: Tue, 16 Aug 2022 07:28:49 +0000
Message-ID: <73D6802A-8557-42A7-94F2-9F696919283D@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-9-julien@xen.org>
 <C817E0AC-5A5F-46AD-8D1C-A472F9C004CF@arm.com>
 <8d60c472-8ac0-bc45-4eef-6f14d2afa668@xen.org>
In-Reply-To: <8d60c472-8ac0-bc45-4eef-6f14d2afa668@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: c499eef8-6d57-49d8-1360-08da7f58fb5a
x-ms-traffictypediagnostic:
	PAXPR08MB6479:EE_|AM7EUR03FT062:EE_|VI1PR0801MB1709:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 I83kgVeC1ScIFW5vQyHJnt6W1Y/hO5voOiYVJI5M3c/2umNgQQalHQMwxjwOxT3O85MCSEHhEmfenhvlm7Slw75yfTNuKa7zpjBYjz2wBVl87ZRwXu7triqbeXh7yhrj2koHiJndqTQU3cBPJLb2vpwUtoMt2NLj3Dqg5KxyOYjjX5yeS5iLh7dPHWd9WTJnKslG4PNRoXeYUcGapv3zogJ6oC+G+Ywu4JST5CqrTI6O5Gpwd6IV3fp88X4/ljOw4YykNAT7uFqeXhsvA2CU+iX4hYwAp0ltFghv94w+TS8OtCdz57MmP4G+Dc+/Jsu/GbsAHMJA0X+yzagTQoWfm+uURLtonRu/7ncIRlPM3Vc5EjXTHNsiu6XeSHrfWrBR4PBPvBPm/iNYFQopSb/FOfdTYBYboAdqH8mBRvskU8O3tSNLJoEw+1M8/TWcpu+O+YntHXhQFKRYh8dSDcl9+GKggV6lQIjVfGO9IxaXPtb/8zvuxk/QAjo75Ur78lJzus2MsCyHGQlL7/XQPtReFbv2C+N0XWMt0q8gENz80dX6dJdsc3KqnELtXMbmvviMC/8/olh3hMpsapDlW0r9XwQ6rMQWjyoc5kWqInaLQHJ0Y81U0kM/qMrn0Mt7hWqd18cGQOyQXUQ/jYz+xTbp04vOQWmRK4O74t/3vm4xdp/WSgwWpKoW+aOrrekjn/txrx5oZ7BgSQWq+MRzYjv4Dkv/BtStzAt9fup77IZ//LNzOjayL7jEOLORfi22AKjTNEOlANP34Cyj3pygu23to8uaYflk68IY+OBZGV6lbZPy0/rYjelyYbNjg+NnWsmDOpMGtCd9lmKiiqrDbZTiDg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(366004)(39860400002)(396003)(376002)(26005)(6512007)(36756003)(91956017)(54906003)(33656002)(8936002)(5660300002)(41300700001)(478600001)(53546011)(2906002)(6506007)(2616005)(86362001)(186003)(38070700005)(83380400001)(6916009)(316002)(76116006)(6486002)(66556008)(71200400001)(8676002)(4326008)(66476007)(64756008)(66446008)(66946007)(38100700002)(122000001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <DF84874566AC6D448C3D37313F0245BA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6479
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	03726870-2493-4547-2c0d-08da7f58f6b8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XATJMaHUQzM2vfNXlWsAJi0grun84GT0NWkwta5lU6ptQcRDqN6Jv0NbXZ0ca4bAvfq+jAMhtx3Skj6yWXa5wYH732lUBZVW05JWSzL38WmdG1A3cZwpJXvIwKSGv6UsEcz89ZYVUnM6wI/kn7OYogC3xdEWOz3JKHr1GWcr+ThEGT1Np54PZCaPLojA6hV/wzIXWmo1wzlE0BKfMItf8IVVcE6rRcBe+Vm1j1FBlKE2onRwrdhcQtSKyyZFLAI47vOnZFLbEULY8smztblMnZGHHkEd/9rHHmfaOyZrx0VKP7MEYsvpqzemJu5fJLpP4SSwiMU6BKHwdHYOOT9a9WNMjoDJFSrTjcSo6FKxLYzk/gPFyjdy1KF5RsIBw+yEx5HOIGkPFR/zXiGbiEBouHchrPqpHIxKKVT9hfNAipcEmY5i3H6rPHnNbMqeR9sxXShZfcH4qS2WWEsXwHruAkIEowhIAdhi+9eOrlG+z1X7gRm6LQXnv68X4W/gXUFj57DpQ8XW0s0HPxve6Ig9+M1SWMInPzw4+iNFqHH41/P4eSrBBDuLDy1J8dC5CBfELx4K6cd4hnO8sFC6XFiemPgnI0ogG1+nU623156fOxZV5b0DHmWHreI9FokBScYGTW5IMqgFj5SHXPRddNCRIl8l7H87escvZBJ9dJQrKLzjFVqYdgLj5nHHwGSX1SzbwrZGahPyZ90BkOaJU7A32+QmMLpMD0Tje4n8CbUumm3pt4yEyM4XIrIKtITA7mkg9rnAJlS+rpON80BsiNES0M7m7YtGIvfz1vYk+iSza1BQHoG45Z3lRATUmYcg4CDX
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(136003)(39860400002)(376002)(36840700001)(40470700004)(46966006)(186003)(6506007)(6512007)(40460700003)(41300700001)(53546011)(356005)(33656002)(26005)(478600001)(47076005)(82740400003)(336012)(40480700001)(82310400005)(81166007)(36860700001)(86362001)(107886003)(83380400001)(70206006)(5660300002)(2616005)(70586007)(316002)(8936002)(6486002)(2906002)(54906003)(4326008)(8676002)(6862004)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 07:28:57.6555
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c499eef8-6d57-49d8-1360-08da7f58fb5a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1709

Hi Julien,

> On 15 Aug 2022, at 18:04, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 15/08/2022 17:39, Bertrand Marquis wrote:
>> Hi Julien,
>=20
> Hi Bertrand,
>=20
>>> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> From: Julien Grall <jgrall@amazon.com>
>>>=20
>>> Unlike arm64, on arm32 there are no extra information dumped (e.g.
>>> page table walk) for hypervisor data abort.
>> The code in arch/arm/traps.c has nothing arm32 specific like that so
>> could you explain this statement ?
>> Here the arm32 code will call the generic function which has only
>> something specific for BRK handling but the rest is generic.
>=20
> The statement is not related to the code but the console output. On arm64=
, a data abort will decode the HSR and provide a dump of the page-table wal=
k.
>=20
> This doesn't happen on arm32 because Xen will call do_unexpected_trap(). =
So the only information we have is the HSR and FAR. This is not very helpfu=
l for debugging page-table walk.
>=20
> After this patch, the same information will be printed on arm32 and arm64=
.

Ok then this is what I understood. Your commit message is maybe a bit uncle=
ar.

I would add a sentence like that: Call do_trap_hyp_sync for hypervisor data=
 aborts on arm32 to have the same information than on arm64.

This can be done on commit so feel free to add my:

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 07:32:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 07:32:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388021.624546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNr3x-0005pj-KZ; Tue, 16 Aug 2022 07:32:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388021.624546; Tue, 16 Aug 2022 07:32:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNr3x-0005pc-HG; Tue, 16 Aug 2022 07:32:33 +0000
Received: by outflank-mailman (input) for mailman id 388021;
 Tue, 16 Aug 2022 07:32:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F5ti=YU=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNr3v-0005pW-Pf
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 07:32:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2071.outbound.protection.outlook.com [40.107.20.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95ade6d3-1d35-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 09:32:30 +0200 (CEST)
Received: from AS9PR06CA0768.eurprd06.prod.outlook.com (2603:10a6:20b:484::23)
 by AM0PR08MB5396.eurprd08.prod.outlook.com (2603:10a6:208:182::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug
 2022 07:32:28 +0000
Received: from AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:484:cafe::61) by AS9PR06CA0768.outlook.office365.com
 (2603:10a6:20b:484::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.13 via Frontend
 Transport; Tue, 16 Aug 2022 07:32:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT036.mail.protection.outlook.com (100.127.140.93) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Tue, 16 Aug 2022 07:32:27 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Tue, 16 Aug 2022 07:32:27 +0000
Received: from e3c4ff781aa7.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 156127E4-A732-46EF-8760-8EC5616CB6A6.1; 
 Tue, 16 Aug 2022 07:32:20 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e3c4ff781aa7.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Aug 2022 07:32:20 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB8PR08MB5433.eurprd08.prod.outlook.com (2603:10a6:10:118::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Tue, 16 Aug
 2022 07:32:17 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Tue, 16 Aug 2022
 07:32:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95ade6d3-1d35-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Rk4xSC09Zrb1aMzpdqpcSaayhk0ShmzjjhY4GeF53yJESI50FOx910RETu5cC1xisXx2op/0ELOR6La/pOkAMsmVpP47aB2sqvlEX8ggbPGTn8bhpC8A1O99bWioYYjJ7+Av0KS7TYO//fTQNOXq3gAQ0KdRRFxNwJYQJBAQqELg5vcuXuPlczIxaZcLEd2JwmdAiKTFHAEx1oD6l0QO/hmtJyVZmab+JFm3ucoLchjmC9IrXyFJPI+t8vsIpx11jrtnAZ4Zb6CjO5H5xVdNBTKNo3ME8p8ixPttzPOb9L2BE2y6FgA6PuPeMQGDR209cePdzRexaeehT0Dc96PrbA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eGiGwUcULGuBmNzvtT11Xp+cYSLxlwnLgLpktrDTSEI=;
 b=XwLY9iBUnptkDfQ4Yd2Yg7kDC+nOF9wA7bZSEafl6FwsJULq3ew/BWbXJs5tsV9sVwLdb4JcH/fAg1shiXtqF0iaqgCHGpsK4PFXV5RGz6QbbctKv/0dv+qZHd9w3TRe6V5mksDQCnW5EQ7SaLgQJQRARB7LyZOnUuQ3rSUDo/UPX/1G+60TuPbaYCB/JSdSLKjqQQHX4DQdhF54HM/OA8X5nPMBUEk8I4zUM5aaSwxAXLukr/iT2N57kjTzVcvoknOH+83tE+rCvRI9MfShG2S2nmPf6u0DoMMvZrbaSpv7rmP33zOw0ZKPd8FGehSSu7mNzxKu+VoOJW7uKyqAMA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eGiGwUcULGuBmNzvtT11Xp+cYSLxlwnLgLpktrDTSEI=;
 b=SHFjr9NpphG6oj8uWF3C6hdWOVLWmaBKe+OXdYBxJu7waW7iMljrhIw8T7Vjk5voymhDU3DXILJDWyGLjmxbr3K1P4zzXr/VBGC3jyLbgLVPhHScWdaLpR6tqIK9eEWGbl6iEn6HpJEVnDMEhVpAIR4JpW+8UB8vR2qxQ9YC8jw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 8249ce0e93bf4e9d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jmho0aDm3OpAawUnAbrzkk/slyRdF4YgZIcpw1x/1N9aPBQ8JrCWqGk4Sky/rZK7KNB11eDFaQaJAVeCoORouNxvGwuTRl+8HgcPPgAcNZMIT425j1/TdsoyDzkahxLAthDk11GFodlhFtxCIrlDmePRD8xsw4TpR/d1xEdSPTeuSIeRYwiL0gfXvLrN2wJrVPtP6Jgcj96DGndZiqHLaS3hqAl8bzA1W95k4BOuhvCb9nEpV8ZRfFHthBXJ5QbXfe4EvJZNU1QVULCrpK9T0owpT4dhcc661pLH6S+eRwFpffLQFBHacRWUQCObGI928+CTDswxpJFkTpT5UjxFVQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eGiGwUcULGuBmNzvtT11Xp+cYSLxlwnLgLpktrDTSEI=;
 b=gJa+J7No3Ia/5brXcQckvOU6uyXfVuqew5gBoA/ZQO/W9lZVel6EelVpX0jz50V/kfaL82XLUHhoQ/KNVhATAK1iLr86x8aaJk49dFsYqkhn/7xCRRDMn0cNUJu1H3QaNzATrjP8jNNduOaH3+4NqRPZ/+9rBUb+C37rtOU+X6xQRsEggXamb47Ira47M4W23ioGXhgC9GddsyNXRGWQWTRbT3rmIxHnC/S1MGnWdv9zmiLtYZBsSOcMukJsWIUx41cFbbKlhUllrYaxOKh70+miHS4UyVUMzPX7xn1IRgGFR7epMPMkGSWOSj/NKUFQfouvbJQir9yqapx4afuKqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eGiGwUcULGuBmNzvtT11Xp+cYSLxlwnLgLpktrDTSEI=;
 b=SHFjr9NpphG6oj8uWF3C6hdWOVLWmaBKe+OXdYBxJu7waW7iMljrhIw8T7Vjk5voymhDU3DXILJDWyGLjmxbr3K1P4zzXr/VBGC3jyLbgLVPhHScWdaLpR6tqIK9eEWGbl6iEn6HpJEVnDMEhVpAIR4JpW+8UB8vR2qxQ9YC8jw=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "jbeulich@suse.com" <jbeulich@suse.com>,
	"wl@xen.org" <wl@xen.org>, "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
Thread-Topic: [PATCH] add SPDX to arch/arm/*.c
Thread-Index: AQHYrq/rjydG2NzoBE6skSmHVGc0Aq2seUCAgAP1yICAALg2AA==
Date: Tue, 16 Aug 2022 07:32:17 +0000
Message-ID: <655CFF12-6B2E-4604-A604-E614F5B3DBDE@arm.com>
References:
 <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop>
 <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
 <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 70c78e0a-92f6-41c7-105c-08da7f597882
x-ms-traffictypediagnostic:
	DB8PR08MB5433:EE_|AM7EUR03FT036:EE_|AM0PR08MB5396:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 TLhGH8ytj4xmeUIHpxhpxD4a6qMDL/qSSPxbWYLAZbAGQ50Ld8dNONvDwNKeaIECx5gTW9BQ9LbZirUJ+vNjIP9M565mHJUkYBb1vU/9OW1pMtPvgLaX1Pu97iJMvRgm8xfnp4LtmEe5/s/BTc2twfB5ujIFM3LfyOI9EjP4nTK2QFHkm3o3Fvm+7UzOoXba74wqeWtg3BAkpO150ylUiPvCdW8VVRSbdlPPhtE7ATiby2/KEXobn5FLB/qtc7HlQMp7oJaU4G5PAckRhStus4PSVqin8EHXc2E0jAmyAQKa4tl20DDG6pJujS1eHqaeze3cXvz3wXQkdTAgaARgOw/8l7YUIJdVOYGRltqwkPCdZoMnpiSNMV1NWjfcgreDDFolhSb2/9Vbp5oL5tZiyOI5X13CwoEBGYdKdZO03nr/8iVGmmVPEhFJiW+MCDpKdZHz33RGBzt+ZZ5XUuS/VKm/a4VR11Sp1EuGj8Tm0CnEI6YSvm4Cijs36/Xc1ar4BRcMEv6n2YNT5XqxzRlmd5lgjG1AnxXeDfoxsX1JaWACoDIuUikuQiGSjfqfhDDWTmDiaC8i8rFUxBVcC/pJjBtiRgP5cn80FoKGaiTY4yRa2EjjZv7VRbTH4KAuwa5ZiXge/LefziIgGccEqQNELIfvx25sUYDU1yM17UrYOAkGZRzEMXGbmnZieQyLxb7BPOk8aMqETxFwpHDbZn6U2x1p6u/Anuk0Ca1wd2xSQhTtAI6J9rEpxs0odt8kK3aQ+ON17xM3+3CATW663TtOLHCYs6NqEquztMXVfnviZ/CdLNA0WeBRRhBAD3W2t2onV4IZhDpzXyATVk1Dfz22E4/lbA7/465GyriBy1zJv02DSfwvOehrypKziA5B/K/zAjVectX1hpebgUN26DVBsg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(83380400001)(8936002)(8676002)(54906003)(64756008)(66446008)(66556008)(4326008)(6486002)(66946007)(66476007)(71200400001)(38070700005)(316002)(91956017)(86362001)(76116006)(122000001)(6916009)(38100700002)(478600001)(33656002)(2906002)(6512007)(2616005)(53546011)(36756003)(186003)(5660300002)(26005)(41300700001)(6506007)(2004002)(21314003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <6EEE747FCD904F43B9C8858A7D41362F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5433
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8b81e219-8ada-4492-ba9c-08da7f597232
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1kqyHMxEKe94hgPioGFJAfHvwQ2KwGAoqvt8kz1ttUoUcwg4Ja2yYa01janRDd6bgKw6P0Uo3sgJvBdok+/kCfacb0FCSZwAG33cFyC/rSxPmut0e2LQC+iUTklMkOnd2LqkbjrsnZPAE3IRhCfqSeN7LM9XoP80euwogYE3hLf8fZopd1c/wlmuCgSWpP5qUdykxKWYTwOJqayEeJ9nkrVjOAlqLwhMfJlC+HPgTn6gT71VP2ocvKCQkSoU+sS3MUeZIIRW3arOSpj+8Va/BU5u0xn2s2uRUdLI1O4ZZyixMFiZnHLah8TPDY2Brycw7HUPc0pMWW/j6qLyK8jyP81Akey6HwkxX3Mgmtuwb7+BqgJ9hRwBDnx+FGZium5FWsxVshh1oRFz+i4u5flEZCOo0oSdgN+ixrVCroSDv9woUW1B7uEkaNcH4UZtmw37VGCvNOSrazMOo/yWxaooIuxRrp0582Hora9RJ/nimlbnXLFo6+3qKsvsnByNDIcn3yltmPbfQzfuGXNNiloC6NGcDuy7N8Z05/XbvvvbwVl/ixTd9SRmSo8BMHhocLjGED96exxecvDuiL2OGLV7xFOF/ccxtkwc//0DLsfBIQrjXlw2FzvMWJNVYx36eonOUFr9Y2mMNj0GJ+vetDaaaWT4yBvJWHMqgGxxzgxiw/YPrdNJZZId4TnvwB4465IyqZUgy3hIA26P4Q7hgrfTTlc2BD/06F4Q3Zh3k5PepM0pvctV83LiKxXv3/aats0PIL6KC2KgwFbNo/37t2bf6tHBU6WY7BqQNutJMsflk1tDokZAeKgIPvvyAbI86TJN1x1gIvYQqbvVL8gLcamqOnhpz7SmWBQuFz3r79p3yjQLiUju72UQlbYMqMNYPmLm
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(376002)(346002)(40470700004)(36840700001)(46966006)(186003)(33656002)(36756003)(26005)(356005)(53546011)(86362001)(107886003)(47076005)(6506007)(336012)(81166007)(6512007)(70586007)(2616005)(82740400003)(83380400001)(41300700001)(478600001)(54906003)(6486002)(70206006)(5660300002)(316002)(2906002)(6862004)(8676002)(8936002)(36860700001)(40460700003)(40480700001)(4326008)(82310400005)(2004002)(21314003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 07:32:27.6171
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 70c78e0a-92f6-41c7-105c-08da7f597882
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5396

Hi Stefano,

> On 15 Aug 2022, at 21:32, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> + Xen maintainers and committers
>=20
>=20
> For context, I wrote a patch to introduce SPDX tags starting from
> arch/arm/*.c.
>=20
> Julien rightfully pointed out that it should be added to our coding
> style. He is right. Also as I was reading his replies, I realized there
> are a couple of minor coding style things to agree as a group first.
> I'll highlighted them here and suggested a proposal. I am happy to go
> with the preference of the majority.
>=20
>=20
> ## comment format // vs /*
>=20
> In this patch I used:
> // SPDX-License-Identifier: GPL-2.0
>=20
> But our comment format is actually /* xxx */. I think it is fair to
> use /* xxx */ as Julien requested:
>=20
> /* SPDX-License-Identifier: GPL-2.0 */
>=20
> Unless there are any concerns, I'll change the patch to /* SPDX... */
>=20

Agree

>=20
> ## blank line after SPDX
>=20
> In this series, I didn't add a blank line after the new SPDX comment, no
> matter if the following line was an #include or another comment. Now I am
> thinking it would be best to add a blank line, as follows:
>=20
> ---
> /* SPDX-License-Identifier: GPL-2.0 */
>=20
> #include <xen/bitops.h>
> ---
>=20
> Or:
>=20
> ---
> /* SPDX-License-Identifier: GPL-2.0 */
>=20
> /*
> * xen/arch/arm/device.c
> *
> ---
>=20
> Let me know if that's OK for you.

Agree.
Makes things clearer I think.

>=20
>=20
> ## Original copyright text
>=20
> As we add the new SDPX tag, It makes sense to remove the older copyright
> text at the top of the file, e.g.:
>=20
> diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> index f03cd943c6..d0a409e4fd 100644
> --- a/xen/arch/arm/alternative.c
> +++ b/xen/arch/arm/alternative.c
> @@ -1,20 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> /*
>  * alternative runtime patching
>  * inspired by the x86 version
>  *
>  * Copyright (C) 2014-2016 ARM Ltd.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License version 2 as
> - * published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program.  If not, see <http://www.gnu.org/licenses/>.
>  */
>=20
> #include <xen/init.h>
>=20
>=20
> Now the question is whether we want to keep what's left:
>=20
> /*
> * alternative runtime patching
> * inspired by the x86 version
> *
> * Copyright (C) 2014-2016 ARM Ltd.
> */
>=20
> The Copyright line is not useful and often stale. Also the other comment
> is not very interesting in most cases (I am referring to "alternative
> runtime patching inspired by the x86 version"), although I realize this
> is going to be a on case-by-case basis.
>=20
> My suggestion is to get rid of it all unless useful (in most cases it is
> not useful), leading to:
>=20
>=20
> diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> index f03cd943c6..e363176d1f 100644
> --- a/xen/arch/arm/alternative.c
> +++ b/xen/arch/arm/alternative.c
> @@ -1,21 +1,4 @@
> -/*
> - * alternative runtime patching
> - * inspired by the x86 version
> - *
> - * Copyright (C) 2014-2016 ARM Ltd.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License version 2 as
> - * published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> - */
> +/* SPDX-License-Identifier: GPL-2.0 */
>=20
> #include <xen/init.h>
> #include <xen/types.h>
>=20
>=20
> Do you guys agree?

Removing the copyright would probably require an agreement from the origina=
l implementer.
To prevent troubles and round of questions I would keep the comment and cop=
yright for now.

Cheers
Bertrand

>=20
>=20
> Cheers,
>=20
> Stefano
>=20
>=20
> P.S.
> Julien, I'll reply to your other points separately to avoid confusion.
>=20
>=20
> On Sat, 13 Aug 2022, Julien Grall wrote:
>> Hi Stefano,
>>=20
>> On 13/08/2022 01:59, Stefano Stabellini wrote:
>>> Add SPDX license information to all the *.c files under arch/arm.
>>>=20
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>> ---
>>>=20
>>> We need to start from somewhere and I thought arch/arm/*.c would be a
>>> good place to start.
>>=20
>> Thanks for doing it. This will make easier to understand the license in =
each
>> file. There are a couple of places below where the SDPX tag is incorrect=
. How
>> did you figure out the which license to use?
>>=20
>> Also, I think we should consider to add a section about SPDX in our codi=
ng
>> style so new files are using it. So we don't end up with a mix in arch/a=
rm/*.
>>=20
>>>=20
>>> diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
>>> index f03cd943c6..8115f89408 100644
>>> --- a/xen/arch/arm/alternative.c
>>> +++ b/xen/arch/arm/alternative.c
>>> @@ -1,3 +1,4 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>=20
>> Technically, this is a comment. So this should be /* ... */ to follow Xe=
n
>> coding style. Also...
>>=20
>>>  /*
>>>   * alternative runtime patching
>>>   * inspired by the x86 version
>>=20
>> ... this comment contains information about the license. As you add the =
SPDX,
>> the "long" version should be removed. This would also make easier to ver=
ify
>> the SPDX you add match existing license.
>>=20
>>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
>>> index ec81a45de9..7c986ecb18 100644
>>> --- a/xen/arch/arm/bootfdt.c
>>> +++ b/xen/arch/arm/bootfdt.c
>>> @@ -1,3 +1,4 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>>  /*
>>>   * Early Device Tree
>>>   *
>>> diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
>>> index ae649d16ef..887b5426c7 100644
>>> --- a/xen/arch/arm/cpuerrata.c
>>> +++ b/xen/arch/arm/cpuerrata.c
>>> @@ -1,3 +1,4 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>=20
>> This file had no explicit license. I had a look at the 'git log' and AFA=
ICT
>> this was either new code and came from Linux. So this looks fine to add =
GPLv2
>> here.
>>=20
>>>  #include <xen/cpu.h>
>>>  #include <xen/cpumask.h>
>>>  #include <xen/init.h>
>>> diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
>>> index 62d5e1770a..a6253cb57f 100644
>>> --- a/xen/arch/arm/cpufeature.c
>>> +++ b/xen/arch/arm/cpufeature.c
>>> @@ -1,3 +1,4 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>>  /*
>>>   * Contains CPU feature definitions
>>>   *
>>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
>>> index f5f6562600..f586c3d781 100644
>>> --- a/xen/arch/arm/decode.c
>>> +++ b/xen/arch/arm/decode.c
>>> @@ -1,3 +1,4 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>=20
>> This tag doesn't match the license below. It is currently GPLv2+. I don'=
t
>> think you can change it without consulting the author. But if it is, the=
n it
>> should be mentioned in the commit message.
>>=20
>> I remember we discussed in the past that some files were GPLv2+. But I c=
an't
>> remember what was the outcome (I can't find the thread). IIRC GPLv2+ is =
a lot
>> more restrictive than GPLv2 and could prevent some companies to contribu=
te.
>>=20
>> [...]
>>=20
>>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
>>> index 2cd481979c..1a2dac95a9 100644
>>> --- a/xen/arch/arm/domain.c
>>> +++ b/xen/arch/arm/domain.c
>>> @@ -1,3 +1,4 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>=20
>> Same here about GPLv2+. Please go through the rest of the files to confi=
rm the
>> license.
>>=20
>> Cheers,
>>=20
>> --=20
>> Julien Grall
>>=20



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 07:36:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 07:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388029.624557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNr7p-0006TH-4t; Tue, 16 Aug 2022 07:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388029.624557; Tue, 16 Aug 2022 07:36:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNr7p-0006TA-1G; Tue, 16 Aug 2022 07:36:33 +0000
Received: by outflank-mailman (input) for mailman id 388029;
 Tue, 16 Aug 2022 07:36:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F5ti=YU=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oNr7o-0006T4-DS
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 07:36:32 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70048.outbound.protection.outlook.com [40.107.7.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f214901-1d36-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 09:36:20 +0200 (CEST)
Received: from AM6P191CA0015.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::28)
 by AM9PR08MB6676.eurprd08.prod.outlook.com (2603:10a6:20b:2ff::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 16 Aug
 2022 07:36:24 +0000
Received: from AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8b:cafe::51) by AM6P191CA0015.outlook.office365.com
 (2603:10a6:209:8b::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Tue, 16 Aug 2022 07:36:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT018.mail.protection.outlook.com (100.127.140.97) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.11 via Frontend Transport; Tue, 16 Aug 2022 07:36:23 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Tue, 16 Aug 2022 07:36:23 +0000
Received: from b61ba7e9bbb4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BBC63D1D-B287-4BB0-BE1C-6B7459A9A79B.1; 
 Tue, 16 Aug 2022 07:36:16 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b61ba7e9bbb4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Aug 2022 07:36:16 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by HE1PR0801MB1884.eurprd08.prod.outlook.com (2603:10a6:3:49::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Tue, 16 Aug
 2022 07:36:15 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Tue, 16 Aug 2022
 07:36:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f214901-1d36-11ed-924f-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=dHE29NwTRMFQSrcW36qEF6gllvNQ2pcBHycaZFEEChX8jwS770SqR/HP9hNZFusE+grkXxaC+VtSIoJAWBo96IHrePL5FkhnYdK8ShPrJlEXETVAS1TONqC1ZobHC6usxiavzz6FWaWTVmYNFXSECY0m1dv4pssKs6+pOdgN2DVcmw1W3InB92plwhHliDX77nAEpIQcMkRUZjcHro4UKXI5hBpckQj9jiHOlSdBqpprM97crNu3CkgfdAGOZEhIbu/Tuyw0h9uQA8YYSDQtlANNXJnXKhP+Rxy8Xwzr/jI+2Ktr+lO4cAf5VLgwE4dpoAtYY6vLF2Hthr3XXN4IRg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Me0OIHxGTdFg3VoBOptvDUZWz6VFHEct8/YScgGSXsU=;
 b=YptLLaKGPN8oHYLEQxJ0Ymtb0/LXZI0Fod176VUOhkHXGWcmBTCdLTJS/0PL1Z4QWAfm9Tkz0oQt9Enjb7u0kXPrty44IUtui/kSyoM8anZ8LCqwuUjn6Nl7nj6ysz2xLrDIafuYPNSAFRGtuYH8sCzgK5kRl8knv+9y9k6zxmKyB8fs6WFI7n9jKc+PyQybUlboBCvl+BFsjkJjbvYDGwSDG9mfn+tjTrWoEa9LDfzU43H7jo2/g49nMOQq0AqjKQ4eydMBJSGnbOE5mh++wFgJhUiudm3TMmzXOAp/iMzXULUYQRKrjyq7hhA7+K1bmbJL/QQS3IEnqzw0kSo+KA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Me0OIHxGTdFg3VoBOptvDUZWz6VFHEct8/YScgGSXsU=;
 b=963UrQFc+cjIRvXmykc7HPqd+zQuUsThv1hIvNazMAXI1yPhi7kgtmQEOGdVdxTNBsAtacFtHShib8b0FDjZzjsX3KH1AzlsJHFNGH+Nr/k0tJAIh7VLdfnqOGjTK3Mt6UFiSsv632x1RHA7yA6ZWv81KzsZJKdiSplKZaoTe0E=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c395be7e10307458
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fXs4yTqJzPlkMPJiDT7fjFZvzCnopLi0NEaH6bX0vZk0CqQWu6VB7Rw0a3Y546ssAg+Bu/Tt4ANef4r0hkTNcFIWVJha5pXqDst0BrKQ9AiXuK0VMEK43b8Adh6jvOFMCRaQnTH9zoiJhjy6Cl/wT8u3Na1qS6HzO7t1WN4I7ddKsl8e9tQLE8nLvQcbn8iC/kPMz12iE8BEpQuUZWot4YV3E5qGQglT0EdOY4vvXMcva22bs6Xs0JiKRiX/AR8rk2hv63cqIezibOMqJBg7Y7zcj+Un94xJiYP7WU6MB4dYsNqrgoX/3Y9xEFlyMix/uYsqSu5273JGLjuJqSpudw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Me0OIHxGTdFg3VoBOptvDUZWz6VFHEct8/YScgGSXsU=;
 b=aPeiM7O30efEElYEeDNdp2VsMsnNEgkIuzfh5IvqHBAiqDyOavqtVIkjDJisymC+OPLpCfD4ZU4ImX3JedX901ZTFNdfYXPt0Ubg656Ov4KQ8apAiwMyHoOCfyvu3srsfd7AvkNZ3dGGoEI8XPy8Ol+C/UvHvPRBAVvHqI7se3zi31Y/WBq03jZ2ywGn4f03saUK20HY7KdWfW3NGbz/Tvy7R9uvTUgmlQx0Fk20Fbwe7YcTXtw3CBeagUt9MgUpCX+WvqPMeePOh+HM+EkAlevZAJTlNekbPfXA50bXjPP982OAv3kd2JvtDUavlff/XIBKa+OGKA8H6FUBPLDLMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Me0OIHxGTdFg3VoBOptvDUZWz6VFHEct8/YScgGSXsU=;
 b=963UrQFc+cjIRvXmykc7HPqd+zQuUsThv1hIvNazMAXI1yPhi7kgtmQEOGdVdxTNBsAtacFtHShib8b0FDjZzjsX3KH1AzlsJHFNGH+Nr/k0tJAIh7VLdfnqOGjTK3Mt6UFiSsv632x1RHA7yA6ZWv81KzsZJKdiSplKZaoTe0E=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/7] xen/arm64: head: Introduce get_table_slot() and use
 it
Thread-Topic: [PATCH 2/7] xen/arm64: head: Introduce get_table_slot() and use
 it
Thread-Index: AQHYroFCs26JN7h8TUSY3teW0vzrLK2wDkCAgAAhRoCAAPkxAA==
Date: Tue, 16 Aug 2022 07:36:14 +0000
Message-ID: <7B8D4C46-8813-42FE-929C-768393AC9139@arm.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-3-julien@xen.org>
 <8FA138D1-CBF2-4BAB-9283-2573A6A09C79@arm.com>
 <3136c797-652b-97c9-b356-b49fe53a40b5@xen.org>
In-Reply-To: <3136c797-652b-97c9-b356-b49fe53a40b5@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a7d9e0d5-a637-4756-9abe-08da7f5a0531
x-ms-traffictypediagnostic:
	HE1PR0801MB1884:EE_|AM7EUR03FT018:EE_|AM9PR08MB6676:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 nFs0A73rJfLMGhFju7Gt+Y3GE0HmzLeP5pG0eYRKSnIU6FmylxakpJ9cuGrkWbrv03SS7dsCLBriDEtG7M/4YY4+Fp7C0tJMwuEqMXMUE9xWP5sVyAwQeT9Bg4MScvyt9WINqIOV6ikHAK/6ChwQfL4HQBKtEZJ1uCzRPEViVULUN1G1l2zh6uyeX4FtDyKLj1bJDC9igj1Tqzhs2k9bu/3iR3LZ2QiiI8m3BNeVkxQi2vVBGbIkfuTGPbedDi4Wlv6J47L3eEnzV1Ul6u2p+xJ/uIFFKBWxJdP7MAaIzYYx1Niindx1300j/gYHI8q/GD3uQk8c+TGLPhR78xKi9gPuQY+j5uXhjALRyEM1BZCM1RuIyna9YcaftGCGHeg2ef/JO1cvcm/dTVKjKcxJadp2jIaiF6GvKll/8MyrrKRu1lUQfiFcjIqXGQYuGm2Wva44NWCHA2k1/FTwcyWbDIDxQNFDgB7ATgxc3GbHKlNqjRYKz4CX+HhseLmMZRCK4QI2zsg/aDZGOnq/mwKDUcZYo9VRSN/2RUs6/sg/JnBikv2EL0J8qYCAwedV4Vs0LqQFnDND94zUIj3b6K7SimF7qQexhHqFQhCKfPj1J8bCs4e+R50pxWwtOdXXl/c2RR024je3E59/A4ZtUa8klBDh9BBUku3QAKrmqtL82Rj0d16sloT9rwvdqlC/9burf8H59+AlgE+1UzH/EochIPUy5opdsMYEePf0/+o8zkGsVjwr3MKMIH8xiXeV3+iejwM5TDzgfu1o8cEJy1CDm+0Cr/mx29FZAjrV06CrwE+8U7U9khwbU+Ryy+6LcheDMmakOM5EHfPUONwVA4yHjw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(346002)(136003)(376002)(396003)(39860400002)(4326008)(186003)(71200400001)(6512007)(26005)(2616005)(6506007)(53546011)(36756003)(33656002)(478600001)(6486002)(41300700001)(83380400001)(38070700005)(122000001)(316002)(8936002)(2906002)(5660300002)(38100700002)(66556008)(76116006)(8676002)(64756008)(66446008)(66476007)(86362001)(54906003)(6916009)(91956017)(66946007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <64F24C0ECBF9A145A23AB0C771759B32@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1884
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	984fd4ca-9b57-465e-6544-08da7f59fffc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EPmh5OnAztoTLV5boyrn9D5sUQ4ol8p37mGPi54zESo0ljZW170UJECzxkkvd7qFcEG9u+F9LIqLiuZu65t+nQFydVdhYHxgbANsOD+oEkKV77TA9UZKlFs644msnWLQtI6PkX1+pm0voeglidTRyVvl2Qq3cm1+IawykkGozrpI3BAVypOHheVvgtHQZ30HjcntPXWOsJXF4mfy3/2GzCGEqFrD4l7x0+Fcc8SiW5TS4GNpTKpns4NR5vjlwI0H79k0M6Vwx4oHMFEMHstohCr/9qXbEpAsiHdXcQmKgjI4p58lT+m7bS5ExrlFhJHKcDgf4f8iJAomaa3+wzLLZpuztiAeGmCWQ4sWnTgV2Gi0+RdXYBnnmxBlFLO5T+VA/f6lMgeWm2Dc/Mf/o+238xWDg92/F8Xm/vxqBYhX13cq0PcI0KCd1UTuByp8SLnWXkKkWpMRoLYstv13xau6OzgBZcKz2JQQu+cWBTjpxrK9aPtHo9e7+CIh9sXGFXNEE082TbAi5U9mdn0DZXmvyJcY6xyVWw5QXwYT+HPkXJ8ARTkigQ4W2RXqACtGyOVSagy2jQ7moX/7BfoxTp4yhZCsEDcdy1rmVdKpLa5QfDA1cvsBj0BGDdDGnihekOBSR4CmJpN8FhvEXoy/DRKb8iCVsa1NI7zMZEgniRLDEn19LEUgsoMGLDLfxYBcEMXM1SIFwbslC7rZRV4G512e0WWaqt6w5KYOyEaAFt+KeOV1wghmfwZoQkIs6APdso07Lx40TuldVWQY4IuZRii9kGBgAtOKk+JrDVcvhW2HYVi0ZBdMWmVviSOGzemYFSVp
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(136003)(376002)(346002)(36840700001)(40470700004)(46966006)(81166007)(82740400003)(83380400001)(40460700003)(86362001)(356005)(4326008)(70586007)(70206006)(316002)(8676002)(6862004)(54906003)(2906002)(40480700001)(8936002)(5660300002)(107886003)(6512007)(26005)(6506007)(336012)(47076005)(36860700001)(41300700001)(82310400005)(2616005)(478600001)(186003)(6486002)(33656002)(53546011)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 07:36:23.6642
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a7d9e0d5-a637-4756-9abe-08da7f5a0531
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6676

Hi,

> On 15 Aug 2022, at 17:44, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 15/08/2022 15:45, Bertrand Marquis wrote:
>> Hi Julien,
>=20
> Hi Bertrand,
>=20
>>> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> From: Julien Grall <jgrall@amazon.com>
>>>=20
>>> There are a few places in the code that need to find the slot
>>> at a given page-table level.
>>>=20
>>> So create a new macro get_table_slot() for that. This will reduce
>>> the effort to figure out whether the code is doing the right thing.
>>>=20
>>> Take the opportunity to use 'ubfx'. The only benefits is reducing
>>> the number of instructions from 2 to 1.
>>>=20
>>> The new macro is used everywhere we need to compute the slot. This
>>> requires to tweak the parameter of create_table_entry() to pass
>>> a level rather than shift.
>>>=20
>>> Note, for slot 0 the code is currently skipping the masking part. While
>>> this is fine, it is safer to mask it as technically slot 0 only covers
>>> bit 48 - 39 bit (assuming 4KB page granularity).
>>>=20
>>> Take the opportunity to correct the comment when finding the second
>>> slot for the identity mapping (we are computing the second slot
>>> rather than first).
>>>=20
>>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
>=20
> Thanks!
>=20
>>>=20
>>> ----
>>>=20
>>>    This patch also has the benefits to reduce the number
>>>    of use of {ZEROETH, FIRST, SECOND, THIRD}_SHIFT. The next
>>>    patch for arm32 will reduce further.
>>> ---
>>> xen/arch/arm/arm64/head.S | 55 +++++++++++++++++++++------------------
>>> 1 file changed, 30 insertions(+), 25 deletions(-)
>>>=20
>>> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
>>> index 26cc7705f556..ad014716db6f 100644
>>> --- a/xen/arch/arm/arm64/head.S
>>> +++ b/xen/arch/arm/arm64/head.S
>>> @@ -493,13 +493,24 @@ cpu_init:
>>>         ret
>>> ENDPROC(cpu_init)
>>>=20
>>> +/*
>>> + * Macro to find the slot number at a given page-table level
>>> + *
>>> + * slot:     slot computed
>>> + * virt:     virtual address
>>> + * lvl:      page-table level
>>> + */
>>> +.macro get_table_slot, slot, virt, lvl
>>> +        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SH=
IFT
>>> +.endm
>>> +
>> Crawling through the macros to verify the code was not that easy.
>> This is not related to this patch but XEN_PT_* macros could really do wi=
th more comments.
>=20
> To me, the name of the macros are self-explaining. So I am not entirely w=
hat to write in the comments. Please suggest.

I will add that in my todo list and try to suggest something in the future =
(this is really not critical).
I was just pointing out because doing a deep review for someone who did not=
 write this is complex due to the macros of macros of macros of macros ...

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 07:48:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 07:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388038.624568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNrJA-00082F-9y; Tue, 16 Aug 2022 07:48:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388038.624568; Tue, 16 Aug 2022 07:48:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNrJA-000828-75; Tue, 16 Aug 2022 07:48:16 +0000
Received: by outflank-mailman (input) for mailman id 388038;
 Tue, 16 Aug 2022 07:48:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNrJ8-000822-RM
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 07:48:14 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2079.outbound.protection.outlook.com [40.107.20.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7ee126f-1d37-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 09:48:13 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB6PR0402MB2808.eurprd04.prod.outlook.com (2603:10a6:4:95::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug
 2022 07:48:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 07:48:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7ee126f-1d37-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XeaEjy7G5S6qYXqW1CWdpWySaZW2leshRGxAUKdPYZIWPIHrRtmMdAjU1kiwzRWu+yALSRHSo8R6J5r3FWLFWKLq2lcmzKDP9GjitVsoWC9X0jvC6Jt0xVxYM1qL/Ow9NCXYmRvRRpRBGI4oN7z4jWh53g8PGrhoYD1wgb/fQRAJ3S1GHR3OzAfS9B8Uma3OZ8o3/jyR+0L+5ExJH6RO10ls+XgXpX6pOaD1/UuHE+7NukRnCNggf/1gpFIecN78whwFBENbTChUkYc+T4sUhhG6cygqul/cjsNTDbctMOj44P3Glw/InQyErojNgMV2YKdtV9CUsvNkYbYLGXZDMw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UJqymMDKp7KAlg5ez9bNluzviYjMIjegjNZ0iC38OBc=;
 b=msFF6F4NhQFaXI864rbZ/fqBEo1cv1VQsdZ8SDU+5A+J2YP5Wm8GAWNnB5O4hvmw5OXdwLakFf4+A4E78U4x4oo3AT3KSpk/JbdGZsOUBUCcKDXrhBGRODiBwWtqJDD7xw58Xecn+C7h6cfNRLcpiE03QQBcM4oQ/1zsSEVzoG1MtuH8nRIk15zHbSV10itkNYjJ/hrTywQI5QKKXMyp+exmcfPEHpwd1O7nUyUDmWE8R172eifBB1W4pG5geqoFxz+9p4cPyNsK5xVT6vDhPBzK7/injtc6WO5qP9ZKy56VNSygcjePJv7WqaTpDj3HZrYsFRsNrEhhLYJLP1IKDg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UJqymMDKp7KAlg5ez9bNluzviYjMIjegjNZ0iC38OBc=;
 b=C6FpRyKHfc09M1Ki9TuVjIAO8sQ78qtTZtGsx1KF1OyhY4+0FlAC/i2aWyApjc2HTiKCj7981ZltAOALtSTmMScSSGC2fous+SPek5wFNLaJGKL2ahCMyJ/iMGf9gzHZhjzOzXkXJ3arP8PAnj3P+301byEzsieBor1NMKTA0AwWeCHg6n5P1i0RqEvUfyR5T5BpnUF/d0PK9HHwDrzL6MNCsynX13zVWa/oIYRnjYyIizSeFlvqoltDqObm2KLyK1BErcqk/iADavkUOvyIqGDj0txJcnlWa+GNVpFdQbDU6lGlplNTNvkF3yl4dIdAzthq0h1zttJcgatWY+KTZg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2987196d-a5fd-a756-03f4-e1ddc41b5249@suse.com>
Date: Tue, 16 Aug 2022 09:48:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/entry: fix entry_INT80_compat for Xen PV guests
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andy Lutomirski <luto@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 stable@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org
References: <20220816071137.4893-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220816071137.4893-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0004.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4f8d737e-c708-453a-deb1-08da7f5baad7
X-MS-TrafficTypeDiagnostic: DB6PR0402MB2808:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f8I9pPpwBpZ2jfrCgNQwsB420khp5roWKgWf696fhkN4SkM63eYtCdKAVJgMryQzs1+mDbPGkQ0CoZoWmfGVQhKhgCE1eM7c3Cp6//Z5XEDflSSO+Z6UeEKotVr32MxocMHQjcAiXyEtcm4eREiX/ZaFH81mqIAIldfGvxdzBqBnSkL7VLs+vhrPtHbTnAaCMppYSsQeXaK8g0NdqikDACu8a/h0MwRw+K+PtjPlfgjn/0At03z0cHiuY/idbd4XRm2cPHZixBySOCaQTIyDBcDuTPVLt3DOO4+2hcv3RhiFQIlO2NurydDhEN83/LDuxysKCfXZhxuu6k4Lzog5/bwEvVFbnLzNLyUec9t1gi3V066QqWIY4JfQ59wSxFvrpGNJevCzOdoUJahubjmyVBsCwwILcC87d9kJdPDmWldR71G578XmmJFsUUjJc+KLb4sMlAG+UemE7k3aSg/3a81/oc3DHyggM5Z9NmqIdyC0kxQHCpl4Kj8Uh+icVPsT+JpzuvqHRyoeYeSFiakH7Lo8vqF25xJtOymmmz7hJ++CoPLX44It69zL3cicIsbPFRpE4EqZ71RjOdaVqvTjJmbe9Q5NTmIps8XgWut93dHDz8B60VfDr8Aw/OyZWkd5PaEB0eyp5pJBxrBYzChe3r8nw+DnsOtJHkIpFlF8RDhvE2u9kZ3r9BkoZ+XvkdQITsyGBQMAprJRDX191mKA8NEnTHImEcsBfDdlN/3em1Xzii/UQ9aQeUtHqAOfRanwek2daxt8jk1F21U24sSFP4l212nZduIQHdQhMlv5jgFA6+8HuyOBObY5BLJCwI70YsyP2cuiKDeWGlF5ttcUjA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(346002)(136003)(376002)(366004)(38100700002)(26005)(7416002)(5660300002)(66476007)(6512007)(6862004)(478600001)(6506007)(86362001)(8936002)(6486002)(53546011)(41300700001)(8676002)(4326008)(2906002)(37006003)(66946007)(6636002)(66556008)(31696002)(316002)(31686004)(54906003)(2616005)(186003)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWl5c1FDYWVoTFRON3FZU1FaRWZWT2JjVWVDaXdWQUtMalRpL0IzckdmWTli?=
 =?utf-8?B?cy9YaEY3bll2T3lDbkI5VUtXbU44d05qaWJhNm1Zd0oyd3JCcmsveVhkelU4?=
 =?utf-8?B?VjR5KzVwQzUweE9WTE1WOUdPQ3RIbWRzbVpWOWxNTVpwdE5nek92eCt0SVdu?=
 =?utf-8?B?THdqam9mMFdVLzR2WjBsVXJSaTY0bjJDQk81M2V6Wm5NQTQrQUNOY0tFL0Zj?=
 =?utf-8?B?emlsUlBWMkgwRlB6cEhXRUFWZldjT1JydmpxK0x2MGtiVXZmQngrT2M1S3hj?=
 =?utf-8?B?T3ZYVWxnZTdBSXlONHhIVm5iM0YwN2dUZFprOVRTa2UvTUNZME1NWTByZDFW?=
 =?utf-8?B?YktJR1hpWHNsV21kSVIrZ2h3ckp4NUIydklCTDE4Z2hmUExQR3ZuaE5ZTGJ2?=
 =?utf-8?B?SWNsNk1jUUlNSFpqOUlqTEZ1WUZ3ZUtqa2E0SzhUVDhpdWdTMDJKZXRqQlNh?=
 =?utf-8?B?MVpVaFQ0T2xSUjI4eTVzV0RUa0M2UU0xandjYU5HV21uaFRUdnltQ2dZWXBE?=
 =?utf-8?B?VXNmOFk2QmszY25aU1l5VGpTV09IY0Q0eTY1MTlTTkJZWXlSeGhrSTZHemNK?=
 =?utf-8?B?d1Z6UHNHUWc1QnltVGgzLzRHR1JkYVB0VXdPZEx5V3ArSUtzdzR0bjZ4NWIr?=
 =?utf-8?B?a2NJb1VQbWRQbjV3ZFdTNzlWNlJEQ1pZbkZqYkh5TzEwNW1pZExZUnpqeXJy?=
 =?utf-8?B?RWU2VnYyT3JhTGtPeDhwaU5LTVdtakJpSnZWNi9LekV0aWdQSnJBOG5PSnVx?=
 =?utf-8?B?ZjB1UitZcllONkRNZjlwUHp4OEJmcE0xWUtlWlhjVkpSRGx0RTl2VnFpZDFu?=
 =?utf-8?B?bHVxa0VTMVJJdXFZb1FpQnVkV1k1YnZ6VHVpUlpyQmZLcVRSY1ByTVliWStQ?=
 =?utf-8?B?YVZrZS9MMVFhYm1vVjlSbmlxWmhQRjBPUEkyRXFGajdRM3NBd1lsS2tUalR2?=
 =?utf-8?B?NzNndzJGRmNPYzBQdGhEb3dwbkJxMkdyNkhZdXV6dkJJbWtmY0JKWmp2V2Uv?=
 =?utf-8?B?UGRqaEM1TWZ2aFJzSTlmNGdUOWp2NmtFNTV2RnBxaXNzTFh1VmxEKzN2K0JI?=
 =?utf-8?B?ZWxxUWRObkw2TzdQb1VKVUZHdHlNN2cxNHNvcWxmY1hkdVUyVW5TV2VLaHBE?=
 =?utf-8?B?TkRTWWFCb3c5ZXJNQ0FrbE9TNzk0L00xUTRTZUFsNEdJVlA0RmV3R09qL3Vt?=
 =?utf-8?B?aExYSnVLcGEwMk5TdGN3RVRhSW9KWWx2TlBZVnRhNjRVT2ZJenBHTE9xU1lC?=
 =?utf-8?B?ZUJ2QURkNTBVdUZBaFl3eU5YUGRHTDJ6WDRHdkx6azcrclRKVk8yL3RGanJV?=
 =?utf-8?B?dENXUkQzM29rOUk2Z0cyWUJ1bnl1U3NlbkZRMTFWZ04vbmt6UFp5bFFqV1Iv?=
 =?utf-8?B?UEtKM05Mc2ZYNTd3ZkFJSWh1dy9FWVNYdWFER0ZBUDFDUUE0L3RnRnRlUy9Z?=
 =?utf-8?B?TGhEY29JSFpRSHRZUm1Zbk9vbFVNblNTdDlCQVRYelNQWE83ZGNPNHVxaWQz?=
 =?utf-8?B?UGlWL05PUWZMZmtId01IMW5Cci8xUllVaUE4MzJaRDBZdDhuWnpxZXVOc2Jk?=
 =?utf-8?B?QUNPSWRReUlHYitUbUVod0U2ZHNaempSaGVjQnJlcU1QRGpoRlJoaEVzTUpD?=
 =?utf-8?B?N1k2UVZib05JdUVMY2NJSWNrN0FKV1ZXVytheU1yNmI1dFJyRDE1NUxEeVp2?=
 =?utf-8?B?Tko1N0pzekovYUY4K3hTYVZWTmxiZ09LODNqUUF5MmxuWTN4c1Y3cFJDcUtS?=
 =?utf-8?B?c1o1ZVhLaGd2WE9wYmd4V3pjcmxvUnJKY1VZcWticEtVWFY1UlgrNUFBcW4z?=
 =?utf-8?B?eE1SZXpXWUlFckNUU0dvK1N3WU0yOStBTG5BSXZkSC9WeDZjNUI1bm9VVXpJ?=
 =?utf-8?B?cWcwUU1uUTl1UUl3bDF4cGZqZzcvZ01yS2ZJS0Z6SzB6VGFtTmRwckdiMUND?=
 =?utf-8?B?WVNDYjNVYkhTak5sUDE3dlR5YjF5dnZ5bGlmbStCTFRSeVYxbmNYSzhrNnUv?=
 =?utf-8?B?NC8rV05VNjVvazJnOVdkNS81b0hoNUxQcXo4QmI4ZEZPb3dVdkxuTUl4SktS?=
 =?utf-8?B?c0VPalhWWVpkdTNDWkp0TlgzZWFyMDgwL0Q0MGFEVk9KT3hCY2x2NjFrM2hE?=
 =?utf-8?Q?3WG9zGFP5ds1/udKxgoMIQqxV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f8d737e-c708-453a-deb1-08da7f5baad7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 07:48:11.2621
 (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: 0pCys0z/aBAMRL2EbX+ymQ7B0RZ63R4syZEWdOT7U8xy27sujV0Fj+GAYKRVXuW0x7le1NQ+UviZXl6O0kBchQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2808

On 16.08.2022 09:11, Juergen Gross wrote:
> Commit c89191ce67ef ("x86/entry: Convert SWAPGS to swapgs and remove
> the definition of SWAPGS") missed one use case of SWAPGS in
> entry_INT80_compat. Removing of the SWAPGS macro led to asm just
> using "swapgs", as it is accepting instructions in capital letters,
> too.
> 
> This in turn leads to splats in Xen PV guests like:
> 
> [   36.145223] general protection fault, maybe for address 0x2d: 0000 [#1] PREEMPT SMP NOPTI
> [   36.145794] CPU: 2 PID: 1847 Comm: ld-linux.so.2 Not tainted 5.19.1-1-default #1 openSUSE Tumbleweed f3b44bfb672cdb9f235aff53b57724eba8b9411b
> [   36.146608] Hardware name: HP ProLiant ML350p Gen8, BIOS P72 11/14/2013
> [   36.148126] RIP: e030:entry_INT80_compat+0x3/0xa3
> 
> Fix that by open coding this single instance of the SWAPGS macro.
> 
> Cc: <stable@vger.kernel.org> # 5.19
> Fixes: c89191ce67ef ("x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 07:50:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 07:50:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388046.624579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNrL8-0000xb-Mg; Tue, 16 Aug 2022 07:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388046.624579; Tue, 16 Aug 2022 07:50:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNrL8-0000xU-JM; Tue, 16 Aug 2022 07:50:18 +0000
Received: by outflank-mailman (input) for mailman id 388046;
 Tue, 16 Aug 2022 07:50:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NQK8=YU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNrL7-0000xO-3f
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 07:50:17 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10f1d289-1d38-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 09:50:16 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 939221F889;
 Tue, 16 Aug 2022 07:50:15 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6AB9C1345B;
 Tue, 16 Aug 2022 07:50:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2B23GDdM+2LYTQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 16 Aug 2022 07:50:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10f1d289-1d38-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660636215; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=qfhdCxuRjBmEi0cPWrL407a8Px41IL9+wtz+98T2aJ0=;
	b=PgOhkd+uM+CYoMdeVAJ9NKFzdXTdbgDIKKA0iqHrTn29YGyXOqKT/Ii4ZhNhoOOCvyk1WK
	N7QdQQL3eIlv7BgO2BfFA+Yq1O5tFZNFApNfI8Zo9P1hc9G0hD8OcwcOS8L7E3/F4knuje
	CQ3TdMoq+kdR/Fqavl5JXdTHWjDDSKQ=
Message-ID: <c35db0b9-f355-4312-c856-5361c9558d34@suse.com>
Date: Tue, 16 Aug 2022 09:50:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] x86: rework hypercall argument count table
 instantiation & use
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <6f5f7adb-d34d-e753-0880-92eccccfb75a@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <6f5f7adb-d34d-e753-0880-92eccccfb75a@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Dz4p9oBvOiXAuc0Wiow7Gzl0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Dz4p9oBvOiXAuc0Wiow7Gzl0
Content-Type: multipart/mixed; boundary="------------Hxd23eMhA7bpOVySPorp2Q7L";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Message-ID: <c35db0b9-f355-4312-c856-5361c9558d34@suse.com>
Subject: Re: [PATCH v2] x86: rework hypercall argument count table
 instantiation & use
References: <6f5f7adb-d34d-e753-0880-92eccccfb75a@suse.com>
In-Reply-To: <6f5f7adb-d34d-e753-0880-92eccccfb75a@suse.com>

--------------Hxd23eMhA7bpOVySPorp2Q7L
Content-Type: multipart/mixed; boundary="------------mhgrTAUQigLHzFz0wwbb3O7z"

--------------mhgrTAUQigLHzFz0wwbb3O7z
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDguMjIgMDg6MzIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBUaGUgaW5pdGlhbCBv
YnNlcnZhdGlvbiB3ZXJlIGR1cGxpY2F0ZSBzeW1ib2xzIHRoYXQgb3VyIGNoZWNraW5nIHdh
cm5zDQo+IGFib3V0LiBJbnN0ZWFkIG9mIG1lcmVseSByZW5hbWluZyBvbmUgb3IgYm90aCBw
YWlyKHMpIG9mIHN5bWJvbHMsDQo+IHJlZHVjZSAjaWZkZWYtYXJ5IGF0IHRoZSBzYW1lIHRp
bWUgYnkgbW92aW5nIHRoZSBpbnN0YW50aWF0aW9uIG9mIHRoZQ0KPiBhcnJheXMgaW50byBh
IG1hY3JvLiBXaGlsZSBkb2luZyB0aGUgY29udmVyc2lvbiBhbHNvIHN0b3Agb3Blbi1jb2Rp
bmcNCj4gYXJyYXlfYWNjZXNzX25vc3BlYygpLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmFu
IEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBH
cm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg==
--------------mhgrTAUQigLHzFz0wwbb3O7z
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------mhgrTAUQigLHzFz0wwbb3O7z--

--------------Hxd23eMhA7bpOVySPorp2Q7L--

--------------Dz4p9oBvOiXAuc0Wiow7Gzl0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL7TDcFAwAAAAAACgkQsN6d1ii/Ey+q
wAf+IwtSmJQK9fZEFcKLv28F1b9Fa+ukENbevw4zSiZrNC0GNo0Z2LIR+PHG6mHJd9O8gblDd/Nq
S3By3WyZYzayk/ZEr3CRcsaV4YqNVhvlmBCnLKK5TabUTJwZiQx9BjoQyI+PFX0pmyCk+qjvFF60
oHU+PJGV0fagPxEoLO2A1tZ0+7sYjIjmkCcKQ8kTdb3xVMmmJKCsoB5+DdyR/EFWbaky3HfiElWC
vWWLPJdjmRTwZo2oPhO7nI9ZmXhuVSiH681cTvgJcq/yeVPUjai18yUNAdCMUPvrvf+SRyCcP6p5
7xJIRseF7xxd0gzCbSDkSyrxnKSbtwWta8iM1iGSsg==
=7m/+
-----END PGP SIGNATURE-----

--------------Dz4p9oBvOiXAuc0Wiow7Gzl0--


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 07:51:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 07:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388054.624590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNrMA-0001Wc-1N; Tue, 16 Aug 2022 07:51:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388054.624590; Tue, 16 Aug 2022 07:51:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNrM9-0001WT-Uo; Tue, 16 Aug 2022 07:51:21 +0000
Received: by outflank-mailman (input) for mailman id 388054;
 Tue, 16 Aug 2022 07:51:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNrM8-0001W8-1s; Tue, 16 Aug 2022 07:51:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNrM7-00008Z-U6; Tue, 16 Aug 2022 07:51:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNrM7-00014c-GJ; Tue, 16 Aug 2022 07:51:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNrM7-0006MR-Fp; Tue, 16 Aug 2022 07:51:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1r4E3UqDu+sPVqXx6TW7d8E7FN1PMCaARts91OcPbDI=; b=X+cbRUbnKUCuh4aGJCuIJLxvJW
	Wmdb2DxsKmTIvhxAUuyeHPbfFkW6QHJXyKiU7Ssut0cJVoGVI65GKzd/ywk5OmjVflQZ+VJ5CXZ8K
	U3+BEOFkkPJCnQCAJ+LYhs7VJfxjN7vW+oRBU/8xHHGzfzozGpnpnYL7c9oq+nUrfahE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172549-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 172549: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bde3b13043e31fd757c44bcec182b0ff1fe36d22
X-Osstest-Versions-That:
    xen=d8a693019845caa4e216bcac10f9501a814c99ae
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 07:51:19 +0000

flight 172549 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172549/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172113
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172113
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172113
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172113
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172113
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172113
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172113
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172113
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172113
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172113
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172113
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172113
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  bde3b13043e31fd757c44bcec182b0ff1fe36d22
baseline version:
 xen                  d8a693019845caa4e216bcac10f9501a814c99ae

Last test of basis   172113  2022-08-03 12:39:32 Z   12 days
Testing same since   172549  2022-08-15 14:37:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ross Lagerwall <ross.lagerwall@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d8a6930198..bde3b13043  bde3b13043e31fd757c44bcec182b0ff1fe36d22 -> stable-4.13


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 08:34:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 08:34:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388071.624605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNs1l-0006U0-P9; Tue, 16 Aug 2022 08:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388071.624605; Tue, 16 Aug 2022 08:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNs1l-0006Tt-MW; Tue, 16 Aug 2022 08:34:21 +0000
Received: by outflank-mailman (input) for mailman id 388071;
 Tue, 16 Aug 2022 08:34:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=71JP=YU=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oNs1k-0006Tn-8j
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 08:34:20 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3854acfe-1d3e-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 10:34:19 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3854acfe-1d3e-11ed-924f-1f966e50362f
Date: Tue, 16 Aug 2022 08:34:09 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1660638858; x=1660898058;
	bh=kUmpH6jrdVouGt6SNwpQUBmpk2AzhF1Ld626dUKdipc=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=RXTz0uXh6jZkX4nQ89Wpdo7bpQGzcCp+a/xyCCOVHdsvvNQSmSIHUwk++VQfHInfj
	 bTA22PJWyIIwILUg1yOkLkh2d89IqFCmyujL06Fn2WXMiumuzfvMd3kY/ci0LU0vQQ
	 xOPoCepZWYcLnyEfjdqFDOV1/3YkU2pZ8HREY8dk4bgXQ783/C/qtVUDJa2cUA7JQo
	 vO9YZkt34ZNRfeGnebfu1kiYjtOrqb1ARng/6/vupc5XBwtc1FumtA01NvzHu1KmHN
	 hLriQwcfKzf2toZ61AIcclfS3z/oNKHvIe3k+0oZ/b1Q5wUJuoWMbhxrKlWjqQH3/x
	 Ka94ihGDu4bnA==
To: jbeulich@suse.com
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <2Z9txJ9x0dRfAKKDGhv-bzsLzhaGr2eIXMpUtMOqXCaXVobm_mL_fjQ87VfcB3pSc4bOntsOG_aYCmL4CBgJFqwOI23OFyZ67KiKnK-MIP4=@protonmail.com>
In-Reply-To: <2d844e18-c1f0-ddf3-6e6c-28b3ba09b427@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com> <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com> <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com> <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com> <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com> <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com> <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com> <2d844e18-c1f0-ddf3-6e6c-28b3ba09b427@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="b1_YIhOaH8xrBRGWC3trVyV9TjI81iK1hZXAXwpossEQ0"

This is a multi-part message in MIME format.

--b1_YIhOaH8xrBRGWC3trVyV9TjI81iK1hZXAXwpossEQ0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLAoKSW5kZWVkIG5vIGRldmljZXMgYXJlIGJlaW5nIHBhc3NlZCBpbnRvIHRoZSBkb21V
LCBJJ20gc2ltcGx5IHRyeWluZyB0byBzdGFydCBhIHZhbmlsbGEgVk0gd2l0aCBubyBQQ0llIGRl
dmljZXMgYXR0YWNoZWQuCgpDb3VsZCBpdCBiZSBhIG1pc2NvbmZpZ3VyYXRpb24gd2l0aCBBQ1BJ
IHRhYmxlcz8gSSBvcmlnaW5hbGx5IHRob3VnaHQgaXQgY291bGQgYmUgQU1EJ3MgU0VWIGJ1dCBJ
IHRoaW5rIGl0IG1pZ2h0IGp1c3QgYmUgdGhhdCBYZW4gaXMgYXR0ZW1wdGluZyB0byB1c2UgYSBt
ZW1vcnkgcmVnaW9uIHRoYXQgaXQgc2hvdWxkbid0CgpDaGVlcnM=

--b1_YIhOaH8xrBRGWC3trVyV9TjI81iK1hZXAXwpossEQ0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLDxicj48YnI+SW5kZWVkIG5vIGRldmljZXMgYXJlIGJlaW5nIHBhc3NlZCBpbnRvIHRo
ZSBkb21VLCBJJ20gc2ltcGx5IHRyeWluZyB0byBzdGFydCBhIHZhbmlsbGEgVk0gd2l0aCBubyBQ
Q0llIGRldmljZXMgYXR0YWNoZWQuPGJyPjxicj5Db3VsZCBpdCBiZSBhIG1pc2NvbmZpZ3VyYXRp
b24gd2l0aCBBQ1BJIHRhYmxlcz8gSSBvcmlnaW5hbGx5IHRob3VnaHQgaXQgY291bGQgYmUgQU1E
J3MgU0VWIGJ1dCBJIHRoaW5rIGl0IG1pZ2h0IGp1c3QgYmUgdGhhdCBYZW4gaXMgYXR0ZW1wdGlu
ZyB0byB1c2UgYSBtZW1vcnkgcmVnaW9uIHRoYXQgaXQgc2hvdWxkbid0PGJyPjxicj5DaGVlcnM=


--b1_YIhOaH8xrBRGWC3trVyV9TjI81iK1hZXAXwpossEQ0--



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 08:41:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 08:41:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388080.624616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNs8r-0007vP-HD; Tue, 16 Aug 2022 08:41:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388080.624616; Tue, 16 Aug 2022 08:41:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNs8r-0007vI-DI; Tue, 16 Aug 2022 08:41:41 +0000
Received: by outflank-mailman (input) for mailman id 388080;
 Tue, 16 Aug 2022 08:41:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNs8p-0007v8-RD; Tue, 16 Aug 2022 08:41:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNs8p-0001Yc-Li; Tue, 16 Aug 2022 08:41:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNs8p-0005Db-8m; Tue, 16 Aug 2022 08:41:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNs8p-0006vE-7B; Tue, 16 Aug 2022 08:41:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t2aMaPnl+VPEBjDcDpRYn41sgOyc9IhlZRRG3UFDO8M=; b=Lq8iYkBnUNQ6ddqtWWmj17uD43
	QiC4LksymZWFyg2I1QMR5IuhNDvvjUS0tVgzOy4C3tS8Lwd2jir+opzL+B2E5hPm8hO1P5OkV4dyJ
	8jQ0cQ18maSJcYpEamTVUikmRRctgLkXOl9BLaQxFoslKPB2kgqUDtcwJBvFpxohrov8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172548-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 172548: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2abe83f9d91e6411b5b42a3d5d01593e83c2bf9f
X-Osstest-Versions-That:
    xen=48b67651746f3124b0d5d30147180f1238d2e9c6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 08:41:39 +0000

flight 172548 xen-4.16-testing real [real]
flight 172565 xen-4.16-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172548/
http://logs.test-lab.xenproject.org/osstest/logs/172565/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 172565-retest
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail pass in 172565-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172130
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172130
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172130
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172130
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172130
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172130
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172130
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172130
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172130
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172130
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172130
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172130
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  2abe83f9d91e6411b5b42a3d5d01593e83c2bf9f
baseline version:
 xen                  48b67651746f3124b0d5d30147180f1238d2e9c6

Last test of basis   172130  2022-08-04 03:03:50 Z   12 days
Testing same since   172548  2022-08-15 14:06:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Rahul Singh <rahul.singh@arm.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   48b6765174..2abe83f9d9  2abe83f9d91e6411b5b42a3d5d01593e83c2bf9f -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 08:59:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 08:59:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388100.624665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNsQL-0001SG-GD; Tue, 16 Aug 2022 08:59:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388100.624665; Tue, 16 Aug 2022 08:59:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNsQL-0001S9-CS; Tue, 16 Aug 2022 08:59:45 +0000
Received: by outflank-mailman (input) for mailman id 388100;
 Tue, 16 Aug 2022 08:59:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNsQJ-0001S0-Tl
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 08:59:44 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80048.outbound.protection.outlook.com [40.107.8.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4023317-1d41-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 10:59:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8914.eurprd04.prod.outlook.com (2603:10a6:20b:42d::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug
 2022 08:59:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 08:59:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4023317-1d41-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BZHZP8hKg/yWGD0x84CbdJlY9iKPusVTzYCa5xZoV/rKIcMPELhilbA5xExCbT45id50fAOS/1R8Navc20ap8BmhA9tXJXukb3EypHqjLymXFPYL+mJBXFPcsfbFus8++DJGwPX4TJgTOsuDt0X8TwNzBdn2W55a+a9d8mDGO0JCL+VL5E3jwjbjmssq3md9cT8IaP5cPMICAJeZXIVqYfEx3NOOmiy4cO/1sJMAaVig9D62v109ocivQONNyden19UUQgOE+tnhHJ8vu/fxjXRq+PkglA4Bvpv5FOKnSE9y4Rpfze8WXxm1DJcFa5nOyllMyPUuZMY+LUBN7vFaVw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/EygQqwm9cbi5rFtal9Y7ekSUN6Z8KDQF2oCnJZQYRY=;
 b=esJjjKslFo/9IYpxyx2W6oEUhsZZPCs1K6hcNQTextkRIwu1bWDsQyVf5q7UWQtG80BBOUQ3vjsBcSlJq4hv09npg9f/TE8jx030oLGTbAPKSaDOaxGWgI8bkk4/Y1Z3RkG2MK8WQEq32hb7RwNiF/urBCHupjbGyAlopqEGhxpyP/4VVCm0CYM4xaPUXgC+PbBYhbnh61fnMdGbxEfsMJeuFxeTZtInh+ocDdnRcvygznFUwT/WM1xhU/9/iRVIpsi/C4L2NF24o0yGHZNfKv+3LUpReTpjiGBdOq8x+iz4h270hphWT4GBvQPEGphTpwPDpmpk2rsjBBzuvJ7IzQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/EygQqwm9cbi5rFtal9Y7ekSUN6Z8KDQF2oCnJZQYRY=;
 b=GKbSLnAYS33qMU8jwTzvxNXWqEJbSg7/s1RIVv6yldiCIK7YVKoseJ6QFGmNB+dJ3OelkoI4FQQM/MvolBdOy1drYhNpA/66xCt5xfb9Vn4IfslgQdtwlCUb3tOjht9PLOoWVfDykUpcGH4Be+Sr1cYoSsLZMjeQGonv7Or7+T6Jbw68CI3atxk0S9WJCVoe05DplRmpc8Ra6uBOTL6E+5maKQ5nSC7trsVFiwnpnn1RhCIC6XAyu8DIQfPhmKcRwwdhhO0lUL0k2q7gYJsTXVT/4tM3qTfVLBqZzPRfWtzpEtB/4qaCK9qnc475jjLwzN2OIJqrIpyfFDJNMp4/1g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <94c4df02-37db-f722-3644-bf26a278107b@suse.com>
Date: Tue, 16 Aug 2022 10:59:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com>
 <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
 <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
 <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
 <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
 <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
 <2d844e18-c1f0-ddf3-6e6c-28b3ba09b427@suse.com>
 <2Z9txJ9x0dRfAKKDGhv-bzsLzhaGr2eIXMpUtMOqXCaXVobm_mL_fjQ87VfcB3pSc4bOntsOG_aYCmL4CBgJFqwOI23OFyZ67KiKnK-MIP4=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2Z9txJ9x0dRfAKKDGhv-bzsLzhaGr2eIXMpUtMOqXCaXVobm_mL_fjQ87VfcB3pSc4bOntsOG_aYCmL4CBgJFqwOI23OFyZ67KiKnK-MIP4=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0090.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cec2ec49-46b4-4db6-ca4c-08da7f65a74c
X-MS-TrafficTypeDiagnostic: AS8PR04MB8914:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w8laZy6njgJmIa1u4HksZ0iAPFELbLsfkF3J/vdqtBU0p+286kHv6d20LvA9j0KGjH71wwKFgWIihpQPmae57SKikPgSzMvVgVGVY1XSeANBr6oUIiA8EXHjaCnsR2VnK9Tv4oqW2ubjGL/J0mVXkxqCvPSwamFSKxl6BIKAAnz9e95lc4kr7ePQubu+K1WWTQh5Lo4crQWMa5gD0i3nNcn85g0JezYo8ZtsG3/qZHAQUH7gA+YGyVBFxxHdhMUCjTz54zkaCCbK9dMAUQ/+mEkxK6/P0oRk2oPQ3WyMr30MOLRJnXzVpNQqb+awlzxnw6vJtu9gcmfTsdrcgVZ10nESBzmpy/DJWUn8rUvPp/8o9yVkscB0gQZfR8LEhPse6F/h2Qit/FfYu5bo2MAhU0B4kI3wCPLPI3ZZbWjl/mxnrO7CLnescDv2e+0pLppxt3wH1+FnIU5UdjREfbE+cHaSGR8RNn+fHO+7WOn2G9aYCecfthr8dah6pzxT3xOBpzJ5K+R92AFyIRypce0oQREAqVu5jsft82kSctYzLWuP2+pkzUWHycVfmIwIDZU0E4R2wTEv68o4bgZspIVw3VZ9PLkKnhb3Ji+dEE0bHykavYPqLNkpFmNVLacj3X99PrMX14ZOAdprCq+RUmZEkSJJP63os/kSDoXzHnLHqTpxrX5DuoojNqUk5JTd5thGdr4KRDu+hfls0Pen4g+/2DchAa++IfUmUipxdUV3r1sewAeYI+5upEUhpIkTltrpn8RRBUY/qbQwCEUw9hPdnwEi+mBezA2IKgYDj7Hg9wTx1ATASY8wB7Cx0nvmONoVC3SRimBLoxY53ypQ81D8Hg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(136003)(376002)(366004)(346002)(83380400001)(5660300002)(38100700002)(66946007)(66476007)(8676002)(186003)(66556008)(316002)(6512007)(31696002)(6916009)(2906002)(4326008)(2616005)(26005)(31686004)(478600001)(36756003)(6486002)(41300700001)(86362001)(53546011)(8936002)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S2hyeFhudnduSnFlZkZqRjNsQ1JvT0REeU1INk1uSjdKcUpvL09LcVVEb0ZJ?=
 =?utf-8?B?UnBXV1hkRTc5eGtLR1BFQ3BqQ1lhbUQrYlkvQUd2Mm8ybHNEYTQzNUpWTGgz?=
 =?utf-8?B?UkxYbzdjam1vVk8xQTJpSDJhMmNHN1oxOVBXMUxqRTVIalB5TE15Skk4aitI?=
 =?utf-8?B?MGxVOGUyNnZ1R2V6WTR1NkVzL2ZsekJTc0FBbWgrR2gxS3pxRFp5cG1wcmp1?=
 =?utf-8?B?TCtHSk5aQ0YvS0hNSloxdkpaYkpuS1lhb0d6N1FjN3BMcGNxY2xFTU5kVnFq?=
 =?utf-8?B?Z2dRVVJmeGN2bWJZVDRpL3BXNklRaUp3R0tOU3BhV05FUHNNdWFBdXJkMndP?=
 =?utf-8?B?REkyOENkcUYyc3pSYlN5UVVVdVM5TkxxZEVxSXRzcXdNVHNYeCtKaC96YkZy?=
 =?utf-8?B?YU00YXJwd3J5d0JXNVc2dWI4bzk4R25jVmxnY3JSejI5WmZlZVlpQkdKV1RN?=
 =?utf-8?B?dWhKYWJ5YlB2RjRONzNGMmRaR2h1QWpoQTB5WGtEUmRua1NCQlJKYTJONjFM?=
 =?utf-8?B?SUFWNjliaVhxRHcrbWxsMWxZMzUyZDhERHVJNlVSMUIrUFRlNWp1bkdPd08r?=
 =?utf-8?B?bUdsWkVJSFdYY01XcVBSZXpiYndSMG93VE96OXpZMmtlOVk0dVA5WGZLLzBx?=
 =?utf-8?B?TU1JU01odDI0S2VxUUN4MnNqVGZCbXFDQ3k4dzhTNThpamhmTjRyTVBoOHlM?=
 =?utf-8?B?RjZzcHE1dGZnSkhCWUo1cFRHU09CUU53S1ZSOHdMQUJoN01KaFpZeUpTeWdx?=
 =?utf-8?B?a3VFdk1icnJYTzllcDFEdTNSMEs4Z1FkSmtZZ01IUWNGVHpXaE83WWZxQU1P?=
 =?utf-8?B?elF2bU5sVDdIQnZEbVo2bzg3MDNmNFBMZFBrbVhyMTlNaklQcmVPNFh0bVhu?=
 =?utf-8?B?SlVsTGpRUGwzQUpyY3VDcnRuZlAreG5jRnBuT2JlbS81M2M5SG92ZkVJcTRp?=
 =?utf-8?B?c3hENTFIK1FYcWllejRMQ0E4Z2M0OGJ4bStvK2lHOW1UWVc1NWtudWxydEs5?=
 =?utf-8?B?VDNMZlE4S2cxUitGN1RpMkpjZWxFcFluMUF0NExBY3BLUFNmK21CeDUrM2E5?=
 =?utf-8?B?MWs3VDd4dVFFL3l2dUplTHplWUF1OVJqOU5LbmsxeTFCdVhOVm5xRGswYmMy?=
 =?utf-8?B?TzErNFFjQ2ZHS2UxUWkvWGRqSldoNXZqNS8yVXg2T2dvTEpjbnRCUGZCeGJ4?=
 =?utf-8?B?SVR3bjd5VmVUelFHdk5qeEFCdWU0dHljL0lFVkMrYnc4MEozMWpscnJrT0pP?=
 =?utf-8?B?R3dKeVNranJIUVE5U1FpeVQ0Nm1VWE8wWERnK3pPZ3dLYmNadVYyVmxrSEMr?=
 =?utf-8?B?L1AvcER5Um9PWkRMTnJOc2w2YjM4clEwbk5zOXlPUVcrbVpzdjc0OWZQVVRl?=
 =?utf-8?B?TFlVeU5hVzFldGtUK1pPVUtTK2tmSVVkY0pEOFUxTUdOMXVISEtsWG03em93?=
 =?utf-8?B?ZC9YL1czaGRsTzJFaU9Va1Rub3ZwdHZvMjhFdy93QTErVFZkV1EzWnY4Q3lh?=
 =?utf-8?B?aGNhbHJMZVcyZ0FyUWRRRlRIN2Mzd2c2cUQwaG5zTDdkbzRQZDcxb0VBaW5H?=
 =?utf-8?B?bExkY3ozZDQ2ZlI0TitoNGlZaFIzNUlCZVZ3Z1Y1U0doSTFyWG5mbTFpMlZW?=
 =?utf-8?B?eE5CbjlrT3NlQU5MdE9NczU5cjI2Mk45SmJqbXR3MWg4UWsyMUxDNVA1VU95?=
 =?utf-8?B?WWtseXFqVjlGZGI5TFpSUU5WR1gyMkl3K3JDcjRIN1RXQ1h0UzRrbFZCUkZO?=
 =?utf-8?B?MU1JUlRBSFlYNXBZU2tqSmpwdEEveHFYSDJ1TGc4TktjckFibFFnendQSmFY?=
 =?utf-8?B?RmZwRHU3MGY2TFc2VlJqeksxZjNoeXI4eTZZa01QWUpxaTZDeGdNRUgrT01j?=
 =?utf-8?B?amRxZmxtMFNEd3FIS3FZeWFLenhQYjVVRDVKQ2Fwb0dKNFhXSURYNEsxQ2lP?=
 =?utf-8?B?bDNueWdPWWcrOUN4OEZMQmFiMFJhQ2lYZEtPT3RILzJScmFKMEF5Z3k4R3Bn?=
 =?utf-8?B?RnEzQkNhR3NRUmdZVkhkYlRrN3NEZHNUQkdGWWt2T0hIT0NjZ3FkamtmWUdX?=
 =?utf-8?B?bk15UU1oU3BzY2lUVVR1OVdXdnBSZE5LY2xRU1ZPcitkUDVBK240NmN6VlU5?=
 =?utf-8?Q?y8q3hFO8WH5nggHAA4b4Vos9n?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cec2ec49-46b4-4db6-ca4c-08da7f65a74c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 08:59:40.3317
 (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: hwO9rj0agmMOr3bLfGYJ8ZvZ1HmQl3GS7a4nSFM7+5qPYhHNWlhdNZRRKBpREId02MgtljaCr4CiNlSdCL6Xmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8914

On 16.08.2022 10:34, Dylanger Daly wrote:
> Indeed no devices are being passed into the domU, I'm simply trying to start a vanilla VM with no PCIe devices attached.

Hmm, looking more closely it's the sound device which is being opened by
some ALSA process. I have no clue at all why this would happen while
starting a VM. If the firmware setup allows you to, you may want to try
turning off that device and see if then the VM starts successfully.

> Could it be a misconfiguration with ACPI tables? I originally thought it could be AMD's SEV but I think it might just be that Xen is attempting to use a memory region that it shouldn't

No, it's clearly ACPI which tries to evaluate / modify something. That's not
initiated by Xen at all. It's merely likely that under Xen something works
differently than under native. As said, since now you're able to see log
output on the screen, quite likely you would also see an earlier message
about some mapping operation having failed. Whether that would be a Xen or
kernel message (or both) is uncertain, as it would depend on the specific
operation that is being attempted.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 09:04:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 09:04:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388107.624676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNsUg-0002y4-5i; Tue, 16 Aug 2022 09:04:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388107.624676; Tue, 16 Aug 2022 09:04:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNsUg-0002xx-2x; Tue, 16 Aug 2022 09:04:14 +0000
Received: by outflank-mailman (input) for mailman id 388107;
 Tue, 16 Aug 2022 09:04:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F/fw=YU=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1oNsUd-0002xr-TR
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 09:04:12 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 638cccd1-1d42-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 11:04:10 +0200 (CEST)
Received: from j130084.upc-j.chello.nl ([24.132.130.84]
 helo=worktop.programming.kicks-ass.net)
 by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1oNsUL-002uhh-D6; Tue, 16 Aug 2022 09:03:55 +0000
Received: by worktop.programming.kicks-ass.net (Postfix, from userid 1000)
 id 8A763980163; Tue, 16 Aug 2022 11:03:52 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 638cccd1-1d42-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=N3rr8Ih/OydanFv1CV/YUpYdg2xo/RO8uoYUBb7azUE=; b=NeI5iJNKMM5exB1dec5OXgnxuR
	IjrRsj1TQ/c1iNcZdivLGlMbNMXyssN41VvmWeI8YNYt2AfMpXSs1ldnjmoL/hXXGcAwZf6Pj4Sgy
	QvR/TF/nsr9wYQYgSoW2PFLeHhWHEVxK5xQWhiJD3jjysvXRm+NNUbup2wNjDfv2yVlhNTZvGogAq
	yKlKCb7gAeHrxfvs+Qto/Uzjnad3oKmifKdSBvhSV4TP7dHUa+1MmhPkOH7SAdtMfv3pKJjbeTN6f
	1k/fIwntE3/ao9NgFoXj+HuJM5xlV2xaof+6kEv4TKRKF+LSb1Mx685frlfLVJGzhq6f+8HB4bbGn
	IlMHL/ww==;
Date: Tue, 16 Aug 2022 11:03:52 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, Andy Lutomirski <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
Subject: Re: [PATCH] x86/entry: fix entry_INT80_compat for Xen PV guests
Message-ID: <YvtdeNYtBdSsNqWV@worktop.programming.kicks-ass.net>
References: <20220816071137.4893-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220816071137.4893-1-jgross@suse.com>

On Tue, Aug 16, 2022 at 09:11:37AM +0200, Juergen Gross wrote:
> Commit c89191ce67ef ("x86/entry: Convert SWAPGS to swapgs and remove
> the definition of SWAPGS") missed one use case of SWAPGS in
> entry_INT80_compat. Removing of the SWAPGS macro led to asm just
> using "swapgs", as it is accepting instructions in capital letters,
> too.
> 
> This in turn leads to splats in Xen PV guests like:
> 
> [   36.145223] general protection fault, maybe for address 0x2d: 0000 [#1] PREEMPT SMP NOPTI
> [   36.145794] CPU: 2 PID: 1847 Comm: ld-linux.so.2 Not tainted 5.19.1-1-default #1 openSUSE Tumbleweed f3b44bfb672cdb9f235aff53b57724eba8b9411b
> [   36.146608] Hardware name: HP ProLiant ML350p Gen8, BIOS P72 11/14/2013
> [   36.148126] RIP: e030:entry_INT80_compat+0x3/0xa3
> 
> Fix that by open coding this single instance of the SWAPGS macro.
> 
> Cc: <stable@vger.kernel.org> # 5.19
> Fixes: c89191ce67ef ("x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS")
> Signed-off-by: Juergen Gross <jgross@suse.com>

It's a little unfortunate int80 is different from the other compat entry
points, but that's life I suppose.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

> ---
>  arch/x86/entry/entry_64_compat.S | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/entry/entry_64_compat.S b/arch/x86/entry/entry_64_compat.S
> index 682338e7e2a3..4dd19819053a 100644
> --- a/arch/x86/entry/entry_64_compat.S
> +++ b/arch/x86/entry/entry_64_compat.S
> @@ -311,7 +311,7 @@ SYM_CODE_START(entry_INT80_compat)
>  	 * Interrupts are off on entry.
>  	 */
>  	ASM_CLAC			/* Do this early to minimize exposure */
> -	SWAPGS
> +	ALTERNATIVE "swapgs", "", X86_FEATURE_XENPV
>  
>  	/*
>  	 * User tracing code (ptrace or signal handlers) might assume that
> -- 
> 2.35.3
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 09:20:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 09:20:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388118.624686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNsk8-0005IZ-Dz; Tue, 16 Aug 2022 09:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388118.624686; Tue, 16 Aug 2022 09:20:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNsk8-0005IS-Aj; Tue, 16 Aug 2022 09:20:12 +0000
Received: by outflank-mailman (input) for mailman id 388118;
 Tue, 16 Aug 2022 09:20:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=71JP=YU=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oNsk6-0005IM-T1
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 09:20:11 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f7248ab-1d44-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 11:20:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f7248ab-1d44-11ed-bd2e-47488cf2e6aa
Date: Tue, 16 Aug 2022 09:19:51 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1660641608; x=1660900808;
	bh=51GDu4WVFYf2PAdTw+JPdXwGLCo95ApT0KPWzFEKDkg=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=zcf1fByEqS1mXMNWZiUqEhA71gLsuQDsj59G9m+tfQ68U8vEXnI35dtIjiv9KmuL7
	 s0iY1+xmYaYFE+i0qBYpsd3thtA4Xz/+z03cZzy56IrxjwHbFq3O4covV/yx+0hyFN
	 b0rT95tZeXgs8wTjlgTS7GcZwlBocao0TCvPvai2oLiHoOqeBIWBJ1Sli/TDBca91x
	 NLpav77xDG4O0cEC20nj5ir8SQJ1TNmtwtltcC22U4pcY0ZSHfjRHm8PTGUteXDKAW
	 f83ctTt4YVzlxbmRBIRHdPGaEOPmqY/yQwQrfmfRpycFwi/twCnUeGBn/Ob/FSF+7Q
	 89tqpQmGDsvMw==
To: jbeulich@suse.com
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <IPozz4PvDN7DUKwCoo1sy0mRF_rX13XangOkbctWxQRJ2TddFQUMRIWpzUcD7QjOFVeGQTKXmmmKacy4WPwond1xQ6Stpu6M3Y_Xx_cJ4S8=@protonmail.com>
In-Reply-To: <94c4df02-37db-f722-3644-bf26a278107b@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com> <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com> <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com> <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com> <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com> <2d844e18-c1f0-ddf3-6e6c-28b3ba09b427@suse.com> <2Z9txJ9x0dRfAKKDGhv-bzsLzhaGr2eIXMpUtMOqXCaXVobm_mL_fjQ87VfcB3pSc4bOntsOG_aYCmL4CBgJFqwOI23OFyZ67KiKnK-MIP4=@protonmail.com> <94c4df02-37db-f722-3644-bf26a278107b@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="b1_tT3OTVVxlmtvd0OJ02N3bDY4cwBcIHKjKiLMuCJiDA"

This is a multi-part message in MIME format.

--b1_tT3OTVVxlmtvd0OJ02N3bDY4cwBcIHKjKiLMuCJiDA
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLAoKSW50ZXJlc3RpbmcgbW9ybmluZyBpbmRlZWQhCgpPcGVuaW5nIHNvdW5kIHNldHRp
bmdzIGluIGRvbTAgYW5kIHNldHRpbmcgdGhlIEhEIEF1ZGlvIENvbnRyb2xsZXIgdG8gIk9mZiIg
YWxsb3dlZCB0aGUgVk0gdG8gYm9vdCEg8J+OiQoKVmVyeSBzdHJhbmdlIGluZGVlZAoKQ2hlZXJz

--b1_tT3OTVVxlmtvd0OJ02N3bDY4cwBcIHKjKiLMuCJiDA
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLDxicj48YnI+SW50ZXJlc3RpbmcgbW9ybmluZyBpbmRlZWQhPGJyPjxicj5PcGVuaW5n
IHNvdW5kIHNldHRpbmdzIGluIGRvbTAgYW5kIHNldHRpbmcgdGhlIEhEIEF1ZGlvIENvbnRyb2xs
ZXIgdG8gIk9mZiIgYWxsb3dlZCB0aGUgVk0gdG8gYm9vdCEg8J+OiTxicj48YnI+VmVyeSBzdHJh
bmdlIGluZGVlZDxicj48YnI+Q2hlZXJz


--b1_tT3OTVVxlmtvd0OJ02N3bDY4cwBcIHKjKiLMuCJiDA--



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 09:30:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 09:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388127.624698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNstx-0006ms-DW; Tue, 16 Aug 2022 09:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388127.624698; Tue, 16 Aug 2022 09:30:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNstx-0006ml-9T; Tue, 16 Aug 2022 09:30:21 +0000
Received: by outflank-mailman (input) for mailman id 388127;
 Tue, 16 Aug 2022 09:30:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNstv-0006mf-M4
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 09:30:19 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060.outbound.protection.outlook.com [40.107.21.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0ade7c2d-1d46-11ed-924f-1f966e50362f;
 Tue, 16 Aug 2022 11:30:18 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7353.eurprd04.prod.outlook.com (2603:10a6:102:82::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Tue, 16 Aug
 2022 09:30:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 09:30:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ade7c2d-1d46-11ed-924f-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VAySe206zxPx91vDok8knYyvc3sjZLlX4fZHoFSTFPxZsLCjp8yH2fGiXdNUxVWIPHk907LMOjrMU8D5txiG8FdSqifwtZ/jJI112qYwCkd3MG7Omxxk663sXL7ckaPZMB5mtu1VQpsm+kCGonLSxKHV1UAGzrirOkbzITx1aVfdGSjQ+RxSGcIE/bcH+WNgjLMAiVCY2rUW0ypueA2QRK1eKbcFgfVFFpPPm88GBxADRJStsYoYFm4UJZkNFNfxBKzUClhZzoyyDXJ+7oN8FVggbfb5Ewg9z31clcGnpKpvkvxH83rIw6goH2cnkP1VFtt1ER8PXz1Sii5SxE5V0w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y98z7rAaUWg0HlOYwOTfEznHhZZSM0HUcaPFQX2s5Cc=;
 b=MOmLNcE0xkx34oLO2xz3pwP3wEUnYsr7fEtThr+0jX2+W2IaHtUWALFnvqUEyueiWRDRzJHINy48vf0qrFm9f/k8USILCDE63ywiqFUoHdMn18KVq2lUT9ad69oXvvyz278DtleR7NA2aenUC7kE3fFnsQBUB+PBre+unssXrYaf8TuQ7leFWxOVCt392eEqPv2DH0GC82X73C/dnrMsy7XR6ff1n0kO3S07Zy1YpWmanvuQCN9Qupvr0L35OUMJdJ+14TGH2r7S4ORPTEBc+iORTVwl6DUjoZP8ubJOUjTOhQHomDee8UkdI7CALsXyuU/WsPefrdL8NTkYN8FeaA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y98z7rAaUWg0HlOYwOTfEznHhZZSM0HUcaPFQX2s5Cc=;
 b=eav95EDglTcwe3L0hSZ6kY05cQIfXMfgf0foUrvRTVFWpv2iG/AyzwhWiHkHVQwCn5JlduAkJNHXyl0QlFkM9auOnFHvYslMC87Zyhv70r39XrtINrZymik0hPZghOQqXGIRMwzAdOAJl+DJyrNsDg0PfG8MeSZTJP/PFz94U7OHO6NBc09rvAyi+cekyShjH3BJQcXs4eErj3LaeZZa8L1tyP5jkxlKLCnJk+rQvY3VKEI0GAyDEJJ2Xphojcy1T3jEM7+iZt6NCAoERSW+Jguo2VjZYsgwQ83lV0GgX+6LuNFk7HO77TE9VVF07n4BQb/d4M8Yjxtq267llXKWaw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d2bb3006-c074-b977-d221-7c87d1f60098@suse.com>
Date: Tue, 16 Aug 2022 11:30:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
 <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
 <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
 <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
 <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
 <2d844e18-c1f0-ddf3-6e6c-28b3ba09b427@suse.com>
 <2Z9txJ9x0dRfAKKDGhv-bzsLzhaGr2eIXMpUtMOqXCaXVobm_mL_fjQ87VfcB3pSc4bOntsOG_aYCmL4CBgJFqwOI23OFyZ67KiKnK-MIP4=@protonmail.com>
 <94c4df02-37db-f722-3644-bf26a278107b@suse.com>
 <IPozz4PvDN7DUKwCoo1sy0mRF_rX13XangOkbctWxQRJ2TddFQUMRIWpzUcD7QjOFVeGQTKXmmmKacy4WPwond1xQ6Stpu6M3Y_Xx_cJ4S8=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <IPozz4PvDN7DUKwCoo1sy0mRF_rX13XangOkbctWxQRJ2TddFQUMRIWpzUcD7QjOFVeGQTKXmmmKacy4WPwond1xQ6Stpu6M3Y_Xx_cJ4S8=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 04adb362-239a-4ebe-ff21-08da7f69edba
X-MS-TrafficTypeDiagnostic: PR3PR04MB7353:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RX+UaRlx0+KW19wlVYNPe//SsGHC6fdDCAdPP3LLgXAalrwUdTStIKvNswHEMfzrCx3NZJy/rhQsssa0fKOnKypmMHoOA/N43gRCycC3J+rQrHc3fMUxabMJy3kwn4HI8jIjIrNrksum05x3OkygKqahqTYQqZ/ZzIjyjcr+yxopIUnUt8cI5+SlvFRjZIBeO1RQD9TunU33lwPiwHQk/7WWhRCGzmmdrLuUt1peJWVLQZFMes0WQztxpswgdkdJBbTJErRUjRSI+Gl7wFOZfOT3qo4J1GGv9K8PrA5EPPlCw271CDbWjRdPk8t6B7PeroXgdDOhxKzjH83Na20mXOuhjodZRozN6Uil38nCxi1lF1LKkVoMcm4sXTGdvfmrikUt+eob812zlmC2CiCuCi0JX3SwUmSReCA+L09jXmuWPCyLKrlbv3Bwuj3Fg2pS9SnkZujc1O6RWV6PwyaPIW7jPWvU7H5kAg9yDHORTXRkpjlZ52ddk9lzIyg2y4hcN6QrhJPWPeaacT7nNnA4K/oe4d4BvZZfhXY2Ea/Ie1TYTdlQYyebhC30FKrZQWndd8z2l3wbG3V+j2uNck8R00LdA/DJs9WgwFXC8OMq/30hvvU/WJs6KWZApr+a8I0xfbBdEeQeBlt/OOHy2XL/lbFfOjrvQC8A92+sf3pfb+hP5oKT2wkAzku1euYTBXkEZvhzMGpNvTGsEY4ksIQjXLhxXV5c4J4v2tSxIYocC0ReslEAf7QWlsUfMEhUEh8J4oUk9G2rcHXd2l2rO9DaLUi9s2Gy4mxp3mmtWUyu+pSfb6NIatpN6+XqI3EynLftp84OxwZflU9zQCsarYP1OQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(346002)(136003)(376002)(366004)(86362001)(38100700002)(31696002)(4326008)(66556008)(66476007)(8676002)(66946007)(316002)(6916009)(2906002)(8936002)(5660300002)(6666004)(6512007)(26005)(6506007)(2616005)(41300700001)(4744005)(53546011)(186003)(6486002)(478600001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?anpoR1ltY1dwYVMwUjJ0eXg2WkVBVzhERTNKdy9adzFBQ0VGd2l4Y29xSXZ1?=
 =?utf-8?B?K29BeWE3QUhZNEtRSmhlZkNsMHY4c1FOTGg2K2RvYngzazNJMVJDSExBZVB6?=
 =?utf-8?B?M0NzRXcwWU5FaTlpSE9RUlBJSWlMdkdrNlU1YjJ3SGN1c0E2RDd2NytYMUZS?=
 =?utf-8?B?cThkQUhQSFJZNWJ5alFEeEtsb3diMVo3ZC8rbVI0WHY2UkN1TDFpTktvNEY2?=
 =?utf-8?B?Z1BUekV1bVlPaFFOK1hTZkdRNnhKbldoa3dQUVIwYkpleHQ3MURvR0xFS3gr?=
 =?utf-8?B?N2RUUW9ELytrdk9iUmVKRCtBK2QyTkg5VTBKUzdvNXZWcnFlVllEQWRPYUpJ?=
 =?utf-8?B?N2hVbFY4dll1VVVsL2h6NXZWWWVnbys5SHJnZ01Kc1BIc1dRaUU4NGNSZlRJ?=
 =?utf-8?B?aGQ2YXVtejB0K2JNNnJXbWs1dnRYcmlRRzRPUVFwZmcxZUcyRER0WExpMjVJ?=
 =?utf-8?B?YTBtdll2UDU5SlZkbG05NytKUmVId1ZhQm5uZnZlbng4QitxdlNYVTRHWWhk?=
 =?utf-8?B?NUJJbXVRQ3c3a29NU3dsbE1TTHJheEZvRkNWQWVHTFpCWUpXSm9wR2Erc0Ns?=
 =?utf-8?B?L1R6Zzd0cFhRaEhsZ2tmMWVnWU1qRUw2RlNWK2VWZ2EycmdFbjRESW93ajlt?=
 =?utf-8?B?VDRRVWIrNGZvaWIzNkVPZ1NKRVZ6YkRkS2hQQ2RYZmY2SGdlSTdLMHB0NjU2?=
 =?utf-8?B?d3hPNWFMcDM3K3QwUTdOWXVtYWlXZ2YzWGN5LzhWK2xHL2dQdmZsZ3Azakl2?=
 =?utf-8?B?VXQ1SDRxdjJ6UURqR0UrZk4zaFlaNG9WcXlLbmo5a2huRENUYjdQOEJHdSsx?=
 =?utf-8?B?MzViTG9wK29zOUNmb2wvT1c1TTBMd0ZMRGJHck5Kc1h1OXA0NzJaOUNWbTY4?=
 =?utf-8?B?K2NmNUQwUGhlckNpNlA2Ri8vdTlQd3J1a2JNaTVDTVQxR1hrcDBCVStta2ZE?=
 =?utf-8?B?Y25aZmF4ckpJdHliS2JkbmFjZmlqeWZHTVp5RloveGpmb1pYTnJhVGNWL1RQ?=
 =?utf-8?B?ZVZPWWZ1U2hFa1JacEk3cURaRFpSbEgzT1QyT21NajhKR3BlL2xPOWpBVEts?=
 =?utf-8?B?eFdjVUlSOGljajBLYm5RVEM0VDhPalhqSjJiZTFSYW52a1ZkRnRScUJvR2hF?=
 =?utf-8?B?MW1mVnVSSEk1NzdRaThpTWc4YmQ3WHk2SlNyOWc2Z1JUdnRiZHRIUTZCckV4?=
 =?utf-8?B?K1g5aTVsNFdyTmZ1U3dHUStwOWFuUzV0UDV5WVFXbWM5SEZWV09IazA4Ylk0?=
 =?utf-8?B?eHdGYlh0dG9uTFB5cStUUGlBb0tDK1dqbjBHUEt5alNDd2dKWFp6UlRJTG9i?=
 =?utf-8?B?YVY3L1oydFZHa0NybGVpbFVRRWt5bTlkblljTDU2MGF0RTRBblBWK3VsbGJT?=
 =?utf-8?B?d1Q5Q29ReG05ckJCU29NYTJoRDVjTDFjK1E4RG1kZk1TZkpkT1lMVERWZnhj?=
 =?utf-8?B?bWdONlZVUUp1bDIwN1Q4aWNnYWlnQlNkNXBnTUFVdGhwN2ZyQ0RGYXBIVTFu?=
 =?utf-8?B?THBvU2xtQ0ZtQzlvVHpLUkN4c25nL21oZk9iWUJJbG1HOGprazBQK2ZkWUh0?=
 =?utf-8?B?YjRtelpNWU9yZEVnR0p6dU9odUF2dnBDakxVaHpQckg3YlUyY3VRMmpXZEs4?=
 =?utf-8?B?UUFkVGtYVEVxY0N2cnJYd0ZFMnJ3NnNxWHY3MmxuOERoTHFvM3V2aTVDNnRF?=
 =?utf-8?B?STVPQ1JGUHZZYmpBa2tkaTl4QytqcHBjTnhLYnFtcVU4M3F6aDBzREhvb2sr?=
 =?utf-8?B?TzNZeUFoSVR1czFIYVJpL04vc09iQTdQY2w0MnNNaURPTEZ6UDQwbjBGMlN4?=
 =?utf-8?B?SkpvZlVkaHhuczJKdDJ3VVVUb0JtcXZOcnBudTNwWTFVNVBFVHN1SEd1a29j?=
 =?utf-8?B?eVF1UmJLT2pDaHUxRTBaSGJsZnliVnUyWU1vUmlUalZLQTlYaVdLSVRCOG9l?=
 =?utf-8?B?elFKU05KTGpHVTBrVXB1Mi9xWGN1ZXZHRlRHMk9OUk1kaUpuMkYvUkEwU1Zs?=
 =?utf-8?B?OWJqb3NrNVRpQnVDNlltYVJHRjhNMW5JcVlEcW5OTExLMDVCRjUwTGVyd3V6?=
 =?utf-8?B?NUxZN3NCMXJjQ1JVL0JvcnVKSS9wUEg4L3J1emI5bWtjeHY0MW9wajkxcUQ0?=
 =?utf-8?Q?71lvvRW3wosDJgOVl7JREyXHx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04adb362-239a-4ebe-ff21-08da7f69edba
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 09:30:16.4345
 (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: 9sjiUyWO+I9s4ejZ1n0DjCrh4IycVIgAtDT3wwK6WZ6sS58HjRXTT9JiiSQZkymBee85HSeqjgkvoKFra4zqkg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7353

On 16.08.2022 11:19, Dylanger Daly wrote:
> Opening sound settings in dom0 and setting the HD Audio Controller to "Off" allowed the VM to boot! ðŸŽ‰

"The HD Audio Controller" is somewhat ambiguous - according to lspci
apparently you've got three of them, one named as "multimedia controller"
(and hence likely having functions beyond just sound).

In any event we still need to figure out what ACPI is trying to do when
the controller is being "opened" and why that doesn't work under Xen.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 09:34:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 09:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388141.624733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNsxU-0007fT-7n; Tue, 16 Aug 2022 09:34:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388141.624733; Tue, 16 Aug 2022 09:34:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNsxU-0007fM-3u; Tue, 16 Aug 2022 09:34:00 +0000
Received: by outflank-mailman (input) for mailman id 388141;
 Tue, 16 Aug 2022 09:33:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNsxT-0007f8-An; Tue, 16 Aug 2022 09:33:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNsxT-0002Tf-A3; Tue, 16 Aug 2022 09:33:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNsxS-0001Ge-Ph; Tue, 16 Aug 2022 09:33:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNsxS-00048o-Ov; Tue, 16 Aug 2022 09:33:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pPKhwa09zkHjXqFSjsRA27IsvowKGASKSBZlbY+PV7A=; b=DFuq2MOvlwW6HZM/aW7wo7RA38
	psKMujNG1s89suAX2GcHlwJ/R/My6G8+TVPhSfOaQYcCVo52pC72284P1NxrooeqhuDwqDS7h+R6i
	8fWThhmb1w8gT+UVNBXkxthtO8GBsIkYYw3SfNdE/TQoZ+7fJLN2mzxSfBGUN/6tBYwY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172560-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172560: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=2812668bfc121ee792cf3302195176ef4a2ad0bc
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 09:33:58 +0000

flight 172560 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172560/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 2812668bfc121ee792cf3302195176ef4a2ad0bc
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   12 days
Failing since        172151  2022-08-05 02:40:28 Z   11 days  100 attempts
Testing same since   172560  2022-08-16 03:20:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 674 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 09:48:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 09:48:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388151.624744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtAq-0000lR-Hv; Tue, 16 Aug 2022 09:47:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388151.624744; Tue, 16 Aug 2022 09:47:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtAq-0000lK-EK; Tue, 16 Aug 2022 09:47:48 +0000
Received: by outflank-mailman (input) for mailman id 388151;
 Tue, 16 Aug 2022 09:43:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9yN+=YU=virtuozzo.com=alexander.atanasov@srs-se1.protection.inumbo.net>)
 id 1oNt6E-0000h4-99
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 09:43:02 +0000
Received: from relay.virtuozzo.com (relay.virtuozzo.com [130.117.225.111])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0c2921e-1d47-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 11:43:00 +0200 (CEST)
Received: from dev011.ch-qa.sw.ru ([172.29.1.16])
 by relay.virtuozzo.com with esmtp (Exim 4.95)
 (envelope-from <alexander.atanasov@virtuozzo.com>)
 id 1oNt3h-00FxfB-Cg; Tue, 16 Aug 2022 11:41:36 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0c2921e-1d47-11ed-bd2e-47488cf2e6aa
From: Alexander Atanasov <alexander.atanasov@virtuozzo.com>
To: 
Cc: kernel@openvz.org,
	Alexander Atanasov <alexander.atanasov@virtuozzo.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	Wei Liu <wei.liu@kernel.org>,
	Nadav Amit <namit@vmware.com>,
	pv-drivers@vmware.com,
	Jason Wang <jasowang@redhat.com>,
	virtualization@lists.linux-foundation.org,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	Dexuan Cui <decui@microsoft.com>,
	linux-hyperv@vger.kernel.org,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 0/4] Make balloon drivers memory changes known to the rest of the kernel
Date: Tue, 16 Aug 2022 12:41:13 +0300
Message-Id: <20220816094117.3144881-1-alexander.atanasov@virtuozzo.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently balloon drivers (Virtio,XEN, HyperV, VMWare, ...)
inflate and deflate the guest memory size but there is no
way to know how much the memory size is changed by them.

A common use of the ballooning is to emulate [1]
hot plug and hot unplug - due to the complexity of the later.
Hotplug has a notifier and one can also check the updated
memory size.

To improve this add InflatedTotal and InflatedFree
to /proc/meminfo and implement a balloon notifier.

Amount of inflated memory can be used:
 - si_meminfo(..) users can improve calculations
 - adjust cache/buffer sizes 
 - adjust object/connection limits
 - as a hint for the oom a killer
 - by user space software that monitors memory pressure

Patches for the other balloon drivers will be done next.

Alexander Atanasov (4):
  Make place for common balloon code
  Enable balloon drivers to report inflated memory
  Display inflated memory to users
  drivers: virtio: balloon - update inflated memory

 Documentation/filesystems/proc.rst            |  6 +++
 MAINTAINERS                                   |  4 +-
 arch/powerpc/platforms/pseries/cmm.c          |  2 +-
 drivers/misc/vmw_balloon.c                    |  2 +-
 drivers/virtio/virtio_balloon.c               |  7 +++-
 fs/proc/meminfo.c                             | 10 +++++
 ...{balloon_compaction.h => balloon_common.h} | 20 +++++++++-
 mm/Makefile                                   |  2 +-
 mm/{balloon_compaction.c => balloon_common.c} | 38 ++++++++++++++++++-
 mm/migrate.c                                  |  2 +-
 mm/vmscan.c                                   |  2 +-
 11 files changed, 84 insertions(+), 11 deletions(-)
 rename include/linux/{balloon_compaction.h => balloon_common.h} (90%)
 rename mm/{balloon_compaction.c => balloon_common.c} (89%)

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Wei Liu <wei.liu@kernel.org>
Cc: Nadav Amit <namit@vmware.com>
Cc: pv-drivers@vmware.com
Cc: Jason Wang <jasowang@redhat.com>
Cc: virtualization@lists.linux-foundation.org
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: Dexuan Cui <decui@microsoft.com>
Cc: linux-hyperv@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org


-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 10:13:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 10:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388168.624788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtZc-0004sJ-Hv; Tue, 16 Aug 2022 10:13:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388168.624788; Tue, 16 Aug 2022 10:13:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtZc-0004s4-EN; Tue, 16 Aug 2022 10:13:24 +0000
Received: by outflank-mailman (input) for mailman id 388168;
 Tue, 16 Aug 2022 10:13:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NQK8=YU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNtZa-00049L-UP
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 10:13:23 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0dcc39bf-1d4c-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 12:13:20 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 60E1135226;
 Tue, 16 Aug 2022 10:13:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 27ADA13B16;
 Tue, 16 Aug 2022 10:13:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MLZXCMBt+2IgEAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 16 Aug 2022 10:13:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0dcc39bf-1d4c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660644800; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=r7aMac0xJGFVHnrQYBiYsDG0gFd0QHb+rgXXGs3E20s=;
	b=nyy+F09wPWxDRplIGpzr0LE1l+i0vabzVbegspekfH+LbI3s9HDguE8OmsQ5bcn6lgPmab
	i2yk1yhh1qxpoLS5WTeFQiAIRL24qpE5Xq7TdV9zbOkhbjw/E84+dcY5VXnbVplN1ijTlU
	T7G9OGqQZWq5P6mZRS5EtFyFoo+DGMg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Gao Ruifeng <ruifeng.gao@intel.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 3/3] xen/sched: fix cpu hotplug
Date: Tue, 16 Aug 2022 12:13:17 +0200
Message-Id: <20220816101317.23014-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220816101317.23014-1-jgross@suse.com>
References: <20220816101317.23014-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Cpu cpu unplugging is calling schedule_cpu_rm() via stop_machine_run()
with interrupts disabled, thus any memory allocation or freeing must
be avoided.

Since commit 5047cd1d5dea ("xen/common: Use enhanced
ASSERT_ALLOC_CONTEXT in xmalloc()") this restriction is being enforced
via an assertion, which will now fail.

Before that commit cpu unplugging in normal configurations was working
just by chance as only the cpu performing schedule_cpu_rm() was doing
active work. With core scheduling enabled, however, failures could
result from memory allocations not being properly propagated to other
cpus' TLBs.

Fix this mess by allocating needed memory before entering
stop_machine_run() and freeing any memory only after having finished
stop_machine_run().

Fixes: 1ec410112cdd ("xen/sched: support differing granularity in schedule_cpu_[add/rm]()")
Reported-by: Gao Ruifeng <ruifeng.gao@intel.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
V2:
- move affinity mask allocation into schedule_cpu_rm_alloc() (Jan Beulich)
---
 xen/common/sched/core.c    | 27 +++++++++++----
 xen/common/sched/cpupool.c | 68 +++++++++++++++++++++++++++++---------
 xen/common/sched/private.h |  5 ++-
 3 files changed, 78 insertions(+), 22 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 228470ac41..ffb2d6202b 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -3247,7 +3247,7 @@ out:
  * by schedule_cpu_rm_alloc() is modified only in case the cpu in question is
  * being moved from or to a cpupool.
  */
-static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
+struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu, bool aff_alloc)
 {
     struct cpu_rm_data *data;
     const struct sched_resource *sr;
@@ -3260,6 +3260,17 @@ static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
     if ( !data )
         goto out;
 
+    if ( aff_alloc )
+    {
+        if ( !update_node_aff_alloc(&data->affinity) )
+        {
+            XFREE(data);
+            goto out;
+        }
+    }
+    else
+        memset(&data->affinity, 0, sizeof(data->affinity));
+
     data->old_ops = sr->scheduler;
     data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
     data->ppriv_old = sr->sched_priv;
@@ -3280,6 +3291,7 @@ static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
         {
             while ( idx > 0 )
                 sched_res_free(&data->sr[--idx]->rcu);
+            update_node_aff_free(&data->affinity);
             XFREE(data);
             goto out;
         }
@@ -3298,10 +3310,11 @@ static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
     return data;
 }
 
-static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
+void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
 {
     sched_free_udata(mem->old_ops, mem->vpriv_old);
     sched_free_pdata(mem->old_ops, mem->ppriv_old, cpu);
+    update_node_aff_free(&mem->affinity);
 
     xfree(mem);
 }
@@ -3312,17 +3325,18 @@ static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
  * The cpu is already marked as "free" and not valid any longer for its
  * cpupool.
  */
-int schedule_cpu_rm(unsigned int cpu)
+int schedule_cpu_rm(unsigned int cpu, struct cpu_rm_data *data)
 {
     struct sched_resource *sr;
-    struct cpu_rm_data *data;
     struct sched_unit *unit;
     spinlock_t *old_lock;
     unsigned long flags;
     int idx = 0;
     unsigned int cpu_iter;
+    bool freemem = !data;
 
-    data = schedule_cpu_rm_alloc(cpu);
+    if ( !data )
+        data = schedule_cpu_rm_alloc(cpu, false);
     if ( !data )
         return -ENOMEM;
 
@@ -3390,7 +3404,8 @@ int schedule_cpu_rm(unsigned int cpu)
     sched_deinit_pdata(data->old_ops, data->ppriv_old, cpu);
 
     rcu_read_unlock(&sched_res_rculock);
-    schedule_cpu_rm_free(data, cpu);
+    if ( freemem )
+        schedule_cpu_rm_free(data, cpu);
 
     return 0;
 }
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 58e082eb4c..2506861e4f 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -411,22 +411,28 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
 }
 
 /* Update affinities of all domains in a cpupool. */
-static void cpupool_update_node_affinity(const struct cpupool *c)
+static void cpupool_update_node_affinity(const struct cpupool *c,
+                                         struct affinity_masks *masks)
 {
-    struct affinity_masks masks;
+    struct affinity_masks local_masks;
     struct domain *d;
 
-    if ( !update_node_aff_alloc(&masks) )
-        return;
+    if ( !masks )
+    {
+        if ( !update_node_aff_alloc(&local_masks) )
+            return;
+        masks = &local_masks;
+    }
 
     rcu_read_lock(&domlist_read_lock);
 
     for_each_domain_in_cpupool(d, c)
-        domain_update_node_aff(d, &masks);
+        domain_update_node_aff(d, masks);
 
     rcu_read_unlock(&domlist_read_lock);
 
-    update_node_aff_free(&masks);
+    if ( masks == &local_masks )
+        update_node_aff_free(masks);
 }
 
 /*
@@ -460,15 +466,17 @@ static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 
     rcu_read_unlock(&sched_res_rculock);
 
-    cpupool_update_node_affinity(c);
+    cpupool_update_node_affinity(c, NULL);
 
     return 0;
 }
 
-static int cpupool_unassign_cpu_finish(struct cpupool *c)
+static int cpupool_unassign_cpu_finish(struct cpupool *c,
+                                       struct cpu_rm_data *mem)
 {
     int cpu = cpupool_moving_cpu;
     const cpumask_t *cpus;
+    struct affinity_masks *masks = mem ? &mem->affinity : NULL;
     int ret;
 
     if ( c != cpupool_cpu_moving )
@@ -491,7 +499,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
      */
     if ( !ret )
     {
-        ret = schedule_cpu_rm(cpu);
+        ret = schedule_cpu_rm(cpu, mem);
         if ( ret )
             cpumask_andnot(&cpupool_free_cpus, &cpupool_free_cpus, cpus);
         else
@@ -503,7 +511,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
     }
     rcu_read_unlock(&sched_res_rculock);
 
-    cpupool_update_node_affinity(c);
+    cpupool_update_node_affinity(c, masks);
 
     return ret;
 }
@@ -567,7 +575,7 @@ static long cf_check cpupool_unassign_cpu_helper(void *info)
                       cpupool_cpu_moving->cpupool_id, cpupool_moving_cpu);
     spin_lock(&cpupool_lock);
 
-    ret = cpupool_unassign_cpu_finish(c);
+    ret = cpupool_unassign_cpu_finish(c, NULL);
 
     spin_unlock(&cpupool_lock);
     debugtrace_printk("cpupool_unassign_cpu ret=%ld\n", ret);
@@ -714,7 +722,7 @@ static int cpupool_cpu_add(unsigned int cpu)
  * This function is called in stop_machine context, so we can be sure no
  * non-idle vcpu is active on the system.
  */
-static void cpupool_cpu_remove(unsigned int cpu)
+static void cpupool_cpu_remove(unsigned int cpu, struct cpu_rm_data *mem)
 {
     int ret;
 
@@ -722,7 +730,7 @@ static void cpupool_cpu_remove(unsigned int cpu)
 
     if ( !cpumask_test_cpu(cpu, &cpupool_free_cpus) )
     {
-        ret = cpupool_unassign_cpu_finish(cpupool0);
+        ret = cpupool_unassign_cpu_finish(cpupool0, mem);
         BUG_ON(ret);
     }
     cpumask_clear_cpu(cpu, &cpupool_free_cpus);
@@ -788,7 +796,7 @@ static void cpupool_cpu_remove_forced(unsigned int cpu)
         {
             ret = cpupool_unassign_cpu_start(c, master_cpu);
             BUG_ON(ret);
-            ret = cpupool_unassign_cpu_finish(c);
+            ret = cpupool_unassign_cpu_finish(c, NULL);
             BUG_ON(ret);
         }
     }
@@ -1008,10 +1016,21 @@ static int cf_check cpu_callback(
 {
     unsigned int cpu = (unsigned long)hcpu;
     int rc = 0;
+    static struct cpu_rm_data *mem;
 
     switch ( action )
     {
     case CPU_DOWN_FAILED:
+        if ( system_state <= SYS_STATE_active )
+        {
+            if ( mem )
+            {
+                schedule_cpu_rm_free(mem, cpu);
+                mem = NULL;
+            }
+            rc = cpupool_cpu_add(cpu);
+        }
+        break;
     case CPU_ONLINE:
         if ( system_state <= SYS_STATE_active )
             rc = cpupool_cpu_add(cpu);
@@ -1019,12 +1038,31 @@ static int cf_check cpu_callback(
     case CPU_DOWN_PREPARE:
         /* Suspend/Resume don't change assignments of cpus to cpupools. */
         if ( system_state <= SYS_STATE_active )
+        {
             rc = cpupool_cpu_remove_prologue(cpu);
+            if ( !rc )
+            {
+                ASSERT(!mem);
+                mem = schedule_cpu_rm_alloc(cpu, true);
+                rc = mem ? 0 : -ENOMEM;
+            }
+        }
         break;
     case CPU_DYING:
         /* Suspend/Resume don't change assignments of cpus to cpupools. */
         if ( system_state <= SYS_STATE_active )
-            cpupool_cpu_remove(cpu);
+        {
+            ASSERT(mem);
+            cpupool_cpu_remove(cpu, mem);
+        }
+        break;
+    case CPU_DEAD:
+        if ( system_state <= SYS_STATE_active )
+        {
+            ASSERT(mem);
+            schedule_cpu_rm_free(mem, cpu);
+            mem = NULL;
+        }
         break;
     case CPU_RESUME_FAILED:
         cpupool_cpu_remove_forced(cpu);
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index 601d639699..cc7a6cb571 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -603,6 +603,7 @@ void update_node_aff_free(struct affinity_masks *affinity);
 
 /* Memory allocation related data for schedule_cpu_rm(). */
 struct cpu_rm_data {
+    struct affinity_masks affinity;
     const struct scheduler *old_ops;
     void *ppriv_old;
     void *vpriv_old;
@@ -617,7 +618,9 @@ struct scheduler *scheduler_alloc(unsigned int sched_id);
 void scheduler_free(struct scheduler *sched);
 int cpu_disable_scheduler(unsigned int cpu);
 int schedule_cpu_add(unsigned int cpu, struct cpupool *c);
-int schedule_cpu_rm(unsigned int cpu);
+struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu, bool aff_alloc);
+void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu);
+int schedule_cpu_rm(unsigned int cpu, struct cpu_rm_data *mem);
 int sched_move_domain(struct domain *d, struct cpupool *c);
 struct cpupool *cpupool_get_by_id(unsigned int poolid);
 void cpupool_put(struct cpupool *pool);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 10:13:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 10:13:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388166.624760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtZa-0004DE-WC; Tue, 16 Aug 2022 10:13:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388166.624760; Tue, 16 Aug 2022 10:13:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtZa-0004CQ-QV; Tue, 16 Aug 2022 10:13:22 +0000
Received: by outflank-mailman (input) for mailman id 388166;
 Tue, 16 Aug 2022 10:13:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NQK8=YU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNtZZ-00049M-Df
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 10:13:21 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d886314-1d4c-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 12:13:20 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E0D0B35222;
 Tue, 16 Aug 2022 10:13:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 99EF81345B;
 Tue, 16 Aug 2022 10:13:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6EJWJL9t+2IgEAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 16 Aug 2022 10:13:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d886314-1d4c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660644799; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=96fOKoVyLwCWE0oLcfiULEQOFvzEWtUphr4q6MrvQAQ=;
	b=ouqTS3i+29ayOrSEcobTxRaruPCzrCapOiJRpucjGfW9JFl1AGyycRpDEeH1W5T0PhuLVt
	2UZHTli0U1y3qYImjkm1LU1h+6bnGtcHO+i9II4IAjRLmRvDlxPopQ+/vM30v5kFEzuCZW
	yBa5vR5U1bNUwEOUGRVNqCJCsqZx+KM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 1/3] xen/sched: introduce cpupool_update_node_affinity()
Date: Tue, 16 Aug 2022 12:13:15 +0200
Message-Id: <20220816101317.23014-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220816101317.23014-1-jgross@suse.com>
References: <20220816101317.23014-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For updating the node affinities of all domains in a cpupool add a new
function cpupool_update_node_affinity().

In order to avoid multiple allocations of cpumasks carve out memory
allocation and freeing from domain_update_node_affinity() into new
helpers, which can be used by cpupool_update_node_affinity().

Modify domain_update_node_affinity() to take an additional parameter
for passing the allocated memory in and to allocate and free the memory
via the new helpers in case NULL was passed.

This will help later to pre-allocate the cpumasks in order to avoid
allocations in stop-machine context.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
V2:
- move helpers to core.c (Jan Beulich)
- allocate/free memory in domain_update_node_aff() if NULL was passed
  in (Jan Beulich)
V3:
- remove pointless initializer (Jan Beulich)
---
 xen/common/sched/core.c    | 54 ++++++++++++++++++++++++++------------
 xen/common/sched/cpupool.c | 39 +++++++++++++++------------
 xen/common/sched/private.h |  7 +++++
 xen/include/xen/sched.h    |  9 ++++++-
 4 files changed, 74 insertions(+), 35 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index ff1ddc7624..f6eed88930 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1824,9 +1824,28 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
     return ret;
 }
 
-void domain_update_node_affinity(struct domain *d)
+bool update_node_aff_alloc(struct affinity_masks *affinity)
 {
-    cpumask_var_t dom_cpumask, dom_cpumask_soft;
+    if ( !alloc_cpumask_var(&affinity->hard) )
+        return false;
+    if ( !alloc_cpumask_var(&affinity->soft) )
+    {
+        free_cpumask_var(affinity->hard);
+        return false;
+    }
+
+    return true;
+}
+
+void update_node_aff_free(struct affinity_masks *affinity)
+{
+    free_cpumask_var(affinity->soft);
+    free_cpumask_var(affinity->hard);
+}
+
+void domain_update_node_aff(struct domain *d, struct affinity_masks *affinity)
+{
+    struct affinity_masks masks;
     cpumask_t *dom_affinity;
     const cpumask_t *online;
     struct sched_unit *unit;
@@ -1836,14 +1855,16 @@ void domain_update_node_affinity(struct domain *d)
     if ( !d->vcpu || !d->vcpu[0] )
         return;
 
-    if ( !zalloc_cpumask_var(&dom_cpumask) )
-        return;
-    if ( !zalloc_cpumask_var(&dom_cpumask_soft) )
+    if ( !affinity )
     {
-        free_cpumask_var(dom_cpumask);
-        return;
+        affinity = &masks;
+        if ( !update_node_aff_alloc(affinity) )
+            return;
     }
 
+    cpumask_clear(affinity->hard);
+    cpumask_clear(affinity->soft);
+
     online = cpupool_domain_master_cpumask(d);
 
     spin_lock(&d->node_affinity_lock);
@@ -1864,22 +1885,21 @@ void domain_update_node_affinity(struct domain *d)
          */
         for_each_sched_unit ( d, unit )
         {
-            cpumask_or(dom_cpumask, dom_cpumask, unit->cpu_hard_affinity);
-            cpumask_or(dom_cpumask_soft, dom_cpumask_soft,
-                       unit->cpu_soft_affinity);
+            cpumask_or(affinity->hard, affinity->hard, unit->cpu_hard_affinity);
+            cpumask_or(affinity->soft, affinity->soft, unit->cpu_soft_affinity);
         }
         /* Filter out non-online cpus */
-        cpumask_and(dom_cpumask, dom_cpumask, online);
-        ASSERT(!cpumask_empty(dom_cpumask));
+        cpumask_and(affinity->hard, affinity->hard, online);
+        ASSERT(!cpumask_empty(affinity->hard));
         /* And compute the intersection between hard, online and soft */
-        cpumask_and(dom_cpumask_soft, dom_cpumask_soft, dom_cpumask);
+        cpumask_and(affinity->soft, affinity->soft, affinity->hard);
 
         /*
          * If not empty, the intersection of hard, soft and online is the
          * narrowest set we want. If empty, we fall back to hard&online.
          */
-        dom_affinity = cpumask_empty(dom_cpumask_soft) ?
-                           dom_cpumask : dom_cpumask_soft;
+        dom_affinity = cpumask_empty(affinity->soft) ? affinity->hard
+                                                     : affinity->soft;
 
         nodes_clear(d->node_affinity);
         for_each_cpu ( cpu, dom_affinity )
@@ -1888,8 +1908,8 @@ void domain_update_node_affinity(struct domain *d)
 
     spin_unlock(&d->node_affinity_lock);
 
-    free_cpumask_var(dom_cpumask_soft);
-    free_cpumask_var(dom_cpumask);
+    if ( affinity == &masks )
+        update_node_aff_free(affinity);
 }
 
 typedef long ret_t;
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 2afe54f54d..58e082eb4c 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -410,6 +410,25 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
     return ret;
 }
 
+/* Update affinities of all domains in a cpupool. */
+static void cpupool_update_node_affinity(const struct cpupool *c)
+{
+    struct affinity_masks masks;
+    struct domain *d;
+
+    if ( !update_node_aff_alloc(&masks) )
+        return;
+
+    rcu_read_lock(&domlist_read_lock);
+
+    for_each_domain_in_cpupool(d, c)
+        domain_update_node_aff(d, &masks);
+
+    rcu_read_unlock(&domlist_read_lock);
+
+    update_node_aff_free(&masks);
+}
+
 /*
  * assign a specific cpu to a cpupool
  * cpupool_lock must be held
@@ -417,7 +436,6 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c)
 static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 {
     int ret;
-    struct domain *d;
     const cpumask_t *cpus;
 
     cpus = sched_get_opt_cpumask(c->gran, cpu);
@@ -442,12 +460,7 @@ static int cpupool_assign_cpu_locked(struct cpupool *c, unsigned int cpu)
 
     rcu_read_unlock(&sched_res_rculock);
 
-    rcu_read_lock(&domlist_read_lock);
-    for_each_domain_in_cpupool(d, c)
-    {
-        domain_update_node_affinity(d);
-    }
-    rcu_read_unlock(&domlist_read_lock);
+    cpupool_update_node_affinity(c);
 
     return 0;
 }
@@ -456,18 +469,14 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
 {
     int cpu = cpupool_moving_cpu;
     const cpumask_t *cpus;
-    struct domain *d;
     int ret;
 
     if ( c != cpupool_cpu_moving )
         return -EADDRNOTAVAIL;
 
-    /*
-     * We need this for scanning the domain list, both in
-     * cpu_disable_scheduler(), and at the bottom of this function.
-     */
     rcu_read_lock(&domlist_read_lock);
     ret = cpu_disable_scheduler(cpu);
+    rcu_read_unlock(&domlist_read_lock);
 
     rcu_read_lock(&sched_res_rculock);
     cpus = get_sched_res(cpu)->cpus;
@@ -494,11 +503,7 @@ static int cpupool_unassign_cpu_finish(struct cpupool *c)
     }
     rcu_read_unlock(&sched_res_rculock);
 
-    for_each_domain_in_cpupool(d, c)
-    {
-        domain_update_node_affinity(d);
-    }
-    rcu_read_unlock(&domlist_read_lock);
+    cpupool_update_node_affinity(c);
 
     return ret;
 }
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index a870320146..38251b1f7b 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -593,6 +593,13 @@ affinity_balance_cpumask(const struct sched_unit *unit, int step,
         cpumask_copy(mask, unit->cpu_hard_affinity);
 }
 
+struct affinity_masks {
+    cpumask_var_t hard;
+    cpumask_var_t soft;
+};
+
+bool update_node_aff_alloc(struct affinity_masks *affinity);
+void update_node_aff_free(struct affinity_masks *affinity);
 void sched_rm_cpu(unsigned int cpu);
 const cpumask_t *sched_get_opt_cpumask(enum sched_gran opt, unsigned int cpu);
 void schedule_dump(struct cpupool *c);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index e2b3b6daa3..666264b8c3 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -663,8 +663,15 @@ static inline void get_knownalive_domain(struct domain *d)
     ASSERT(!(atomic_read(&d->refcnt) & DOMAIN_DESTROYED));
 }
 
+struct affinity_masks;
+
 int domain_set_node_affinity(struct domain *d, const nodemask_t *affinity);
-void domain_update_node_affinity(struct domain *d);
+void domain_update_node_aff(struct domain *d, struct affinity_masks *affinity);
+
+static inline void domain_update_node_affinity(struct domain *d)
+{
+    domain_update_node_aff(d, NULL);
+}
 
 /*
  * To be implemented by each architecture, sanity checking the configuration
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 10:13:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 10:13:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388165.624754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtZa-00049j-M4; Tue, 16 Aug 2022 10:13:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388165.624754; Tue, 16 Aug 2022 10:13:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtZa-00049c-J6; Tue, 16 Aug 2022 10:13:22 +0000
Received: by outflank-mailman (input) for mailman id 388165;
 Tue, 16 Aug 2022 10:13:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NQK8=YU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNtZZ-00049L-5y
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 10:13:21 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d6452d3-1d4c-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 12:13:20 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8FFA33520D;
 Tue, 16 Aug 2022 10:13:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4C1371345B;
 Tue, 16 Aug 2022 10:13:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2k5CEb9t+2IgEAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 16 Aug 2022 10:13:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d6452d3-1d4c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660644799; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=Asy5Kgw8PlveUfT7VJ0We2wZuRDth5FOcqrG2UrqP/o=;
	b=b0q0mWVJNkLW8gRJtsLydg9U6/MGkDtxA/2eJfR3PXudV9seHL/zderMKX7oVnMngYUNpL
	Ol/8zOJ6vK2hyx2rUncdFkj2S7zlpbBuIkiYYcA/LZ7UjTISxxEipNEFiuaNDSCNYfk5GR
	Mi9l4eQR/ZRp9obtuHYB1arg4cQFXEY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 0/3] xen/sched: fix cpu hotplug
Date: Tue, 16 Aug 2022 12:13:14 +0200
Message-Id: <20220816101317.23014-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A recent change in the hypervisor memory allocation framework led to
crashes when unplugging host cpus.

This was due to the (correct) assertion that allocating and freeing
memory is allowed with enabled interrupts only. As the main cpu unplug
operation is done in stop-machine context, this assertion triggers in
debug builds.

Correct that by pre-allocating all needed memory while interrupts are
still on, and free memory after interrupts are enabled again.

Changes in V3:
- addressed all comments

Changes in V2:
- addressed all comments

Juergen Gross (3):
  xen/sched: introduce cpupool_update_node_affinity()
  xen/sched: carve out memory allocation and freeing from
    schedule_cpu_rm()
  xen/sched: fix cpu hotplug

 xen/common/sched/core.c    | 214 ++++++++++++++++++++++++-------------
 xen/common/sched/cpupool.c |  91 +++++++++++-----
 xen/common/sched/private.h |  21 +++-
 xen/include/xen/sched.h    |   9 +-
 4 files changed, 235 insertions(+), 100 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 10:13:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 10:13:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388167.624765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtZb-0004KT-8u; Tue, 16 Aug 2022 10:13:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388167.624765; Tue, 16 Aug 2022 10:13:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtZb-0004JK-4f; Tue, 16 Aug 2022 10:13:23 +0000
Received: by outflank-mailman (input) for mailman id 388167;
 Tue, 16 Aug 2022 10:13:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NQK8=YU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oNtZZ-00049L-UN
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 10:13:22 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0dab1b0a-1d4c-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 12:13:20 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2B72135223;
 Tue, 16 Aug 2022 10:13:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E83C81345B;
 Tue, 16 Aug 2022 10:13:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OB1zN79t+2IgEAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 16 Aug 2022 10:13:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0dab1b0a-1d4c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660644800; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=1VqdzbVZTnqEPpZp/fzHQgpeh9lm5qtK/w3T7gdmhKc=;
	b=tCCAkKnqY6Pul5gC8uEmbP3K7yQlytwpvufllw66c2RcLSMeaI7i5xsjAd3g8EBFgXuiIh
	Hzy9wKvZlGSQSjLjJrLria8KxKkd0AeqnR7GgO+4XPU42+E/64QGjJmx8x4ZOaGx9yt3BW
	Ng+kX/OMxCQGFcPGtqQlxC8V1QlKSyE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [PATCH v3 2/3] xen/sched: carve out memory allocation and freeing from schedule_cpu_rm()
Date: Tue, 16 Aug 2022 12:13:16 +0200
Message-Id: <20220816101317.23014-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220816101317.23014-1-jgross@suse.com>
References: <20220816101317.23014-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to prepare not allocating or freeing memory from
schedule_cpu_rm(), move this functionality to dedicated functions.

For now call those functions from schedule_cpu_rm().

No change of behavior expected.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add const (Jan Beulich)
- use "unsigned int" for loop index (Jan Beulich)
- use xmalloc_flex_struct() (Jan Beulich)
- use XFREE() (Jan Beulich)
- hold rcu lock longer (Jan Beulich)
- add ASSERT() (Jan Beulich)
V3:
- added comment for schedule_cpu_rm_alloc() (Jan Beulich)
---
 xen/common/sched/core.c    | 143 ++++++++++++++++++++++---------------
 xen/common/sched/private.h |   9 +++
 2 files changed, 96 insertions(+), 56 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index f6eed88930..228470ac41 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -3237,6 +3237,75 @@ out:
     return ret;
 }
 
+/*
+ * Allocate all memory needed for schedule_cpu_rm_free(), which can't do that
+ * due to be called in stop_machine() context with interrupts disabled.
+ *
+ * Between schedule_cpu_rm_alloc() and the real cpu removal action the relevant
+ * contents of struct sched_resource can't change, as the cpu in question is
+ * locked against any other movement to or from cpupools, and the data copied
+ * by schedule_cpu_rm_alloc() is modified only in case the cpu in question is
+ * being moved from or to a cpupool.
+ */
+static struct cpu_rm_data *schedule_cpu_rm_alloc(unsigned int cpu)
+{
+    struct cpu_rm_data *data;
+    const struct sched_resource *sr;
+    unsigned int idx;
+
+    rcu_read_lock(&sched_res_rculock);
+
+    sr = get_sched_res(cpu);
+    data = xmalloc_flex_struct(struct cpu_rm_data, sr, sr->granularity - 1);
+    if ( !data )
+        goto out;
+
+    data->old_ops = sr->scheduler;
+    data->vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
+    data->ppriv_old = sr->sched_priv;
+
+    for ( idx = 0; idx < sr->granularity - 1; idx++ )
+    {
+        data->sr[idx] = sched_alloc_res();
+        if ( data->sr[idx] )
+        {
+            data->sr[idx]->sched_unit_idle = sched_alloc_unit_mem();
+            if ( !data->sr[idx]->sched_unit_idle )
+            {
+                sched_res_free(&data->sr[idx]->rcu);
+                data->sr[idx] = NULL;
+            }
+        }
+        if ( !data->sr[idx] )
+        {
+            while ( idx > 0 )
+                sched_res_free(&data->sr[--idx]->rcu);
+            XFREE(data);
+            goto out;
+        }
+
+        data->sr[idx]->curr = data->sr[idx]->sched_unit_idle;
+        data->sr[idx]->scheduler = &sched_idle_ops;
+        data->sr[idx]->granularity = 1;
+
+        /* We want the lock not to change when replacing the resource. */
+        data->sr[idx]->schedule_lock = sr->schedule_lock;
+    }
+
+ out:
+    rcu_read_unlock(&sched_res_rculock);
+
+    return data;
+}
+
+static void schedule_cpu_rm_free(struct cpu_rm_data *mem, unsigned int cpu)
+{
+    sched_free_udata(mem->old_ops, mem->vpriv_old);
+    sched_free_pdata(mem->old_ops, mem->ppriv_old, cpu);
+
+    xfree(mem);
+}
+
 /*
  * Remove a pCPU from its cpupool. Its scheduler becomes &sched_idle_ops
  * (the idle scheduler).
@@ -3245,53 +3314,23 @@ out:
  */
 int schedule_cpu_rm(unsigned int cpu)
 {
-    void *ppriv_old, *vpriv_old;
-    struct sched_resource *sr, **sr_new = NULL;
+    struct sched_resource *sr;
+    struct cpu_rm_data *data;
     struct sched_unit *unit;
-    struct scheduler *old_ops;
     spinlock_t *old_lock;
     unsigned long flags;
-    int idx, ret = -ENOMEM;
+    int idx = 0;
     unsigned int cpu_iter;
 
+    data = schedule_cpu_rm_alloc(cpu);
+    if ( !data )
+        return -ENOMEM;
+
     rcu_read_lock(&sched_res_rculock);
 
     sr = get_sched_res(cpu);
-    old_ops = sr->scheduler;
-
-    if ( sr->granularity > 1 )
-    {
-        sr_new = xmalloc_array(struct sched_resource *, sr->granularity - 1);
-        if ( !sr_new )
-            goto out;
-        for ( idx = 0; idx < sr->granularity - 1; idx++ )
-        {
-            sr_new[idx] = sched_alloc_res();
-            if ( sr_new[idx] )
-            {
-                sr_new[idx]->sched_unit_idle = sched_alloc_unit_mem();
-                if ( !sr_new[idx]->sched_unit_idle )
-                {
-                    sched_res_free(&sr_new[idx]->rcu);
-                    sr_new[idx] = NULL;
-                }
-            }
-            if ( !sr_new[idx] )
-            {
-                for ( idx--; idx >= 0; idx-- )
-                    sched_res_free(&sr_new[idx]->rcu);
-                goto out;
-            }
-            sr_new[idx]->curr = sr_new[idx]->sched_unit_idle;
-            sr_new[idx]->scheduler = &sched_idle_ops;
-            sr_new[idx]->granularity = 1;
 
-            /* We want the lock not to change when replacing the resource. */
-            sr_new[idx]->schedule_lock = sr->schedule_lock;
-        }
-    }
-
-    ret = 0;
+    ASSERT(sr->granularity);
     ASSERT(sr->cpupool != NULL);
     ASSERT(cpumask_test_cpu(cpu, &cpupool_free_cpus));
     ASSERT(!cpumask_test_cpu(cpu, sr->cpupool->cpu_valid));
@@ -3299,10 +3338,6 @@ int schedule_cpu_rm(unsigned int cpu)
     /* See comment in schedule_cpu_add() regarding lock switching. */
     old_lock = pcpu_schedule_lock_irqsave(cpu, &flags);
 
-    vpriv_old = idle_vcpu[cpu]->sched_unit->priv;
-    ppriv_old = sr->sched_priv;
-
-    idx = 0;
     for_each_cpu ( cpu_iter, sr->cpus )
     {
         per_cpu(sched_res_idx, cpu_iter) = 0;
@@ -3316,27 +3351,27 @@ int schedule_cpu_rm(unsigned int cpu)
         else
         {
             /* Initialize unit. */
-            unit = sr_new[idx]->sched_unit_idle;
-            unit->res = sr_new[idx];
+            unit = data->sr[idx]->sched_unit_idle;
+            unit->res = data->sr[idx];
             unit->is_running = true;
             sched_unit_add_vcpu(unit, idle_vcpu[cpu_iter]);
             sched_domain_insert_unit(unit, idle_vcpu[cpu_iter]->domain);
 
             /* Adjust cpu masks of resources (old and new). */
             cpumask_clear_cpu(cpu_iter, sr->cpus);
-            cpumask_set_cpu(cpu_iter, sr_new[idx]->cpus);
+            cpumask_set_cpu(cpu_iter, data->sr[idx]->cpus);
             cpumask_set_cpu(cpu_iter, &sched_res_mask);
 
             /* Init timer. */
-            init_timer(&sr_new[idx]->s_timer, s_timer_fn, NULL, cpu_iter);
+            init_timer(&data->sr[idx]->s_timer, s_timer_fn, NULL, cpu_iter);
 
             /* Last resource initializations and insert resource pointer. */
-            sr_new[idx]->master_cpu = cpu_iter;
-            set_sched_res(cpu_iter, sr_new[idx]);
+            data->sr[idx]->master_cpu = cpu_iter;
+            set_sched_res(cpu_iter, data->sr[idx]);
 
             /* Last action: set the new lock pointer. */
             smp_mb();
-            sr_new[idx]->schedule_lock = &sched_free_cpu_lock;
+            data->sr[idx]->schedule_lock = &sched_free_cpu_lock;
 
             idx++;
         }
@@ -3352,16 +3387,12 @@ int schedule_cpu_rm(unsigned int cpu)
     /* _Not_ pcpu_schedule_unlock(): schedule_lock may have changed! */
     spin_unlock_irqrestore(old_lock, flags);
 
-    sched_deinit_pdata(old_ops, ppriv_old, cpu);
-
-    sched_free_udata(old_ops, vpriv_old);
-    sched_free_pdata(old_ops, ppriv_old, cpu);
+    sched_deinit_pdata(data->old_ops, data->ppriv_old, cpu);
 
-out:
     rcu_read_unlock(&sched_res_rculock);
-    xfree(sr_new);
+    schedule_cpu_rm_free(data, cpu);
 
-    return ret;
+    return 0;
 }
 
 struct scheduler *scheduler_get_default(void)
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index 38251b1f7b..601d639699 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -600,6 +600,15 @@ struct affinity_masks {
 
 bool update_node_aff_alloc(struct affinity_masks *affinity);
 void update_node_aff_free(struct affinity_masks *affinity);
+
+/* Memory allocation related data for schedule_cpu_rm(). */
+struct cpu_rm_data {
+    const struct scheduler *old_ops;
+    void *ppriv_old;
+    void *vpriv_old;
+    struct sched_resource *sr[];
+};
+
 void sched_rm_cpu(unsigned int cpu);
 const cpumask_t *sched_get_opt_cpumask(enum sched_gran opt, unsigned int cpu);
 void schedule_dump(struct cpupool *c);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 10:16:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 10:16:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388198.624798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtcO-0006Vl-41; Tue, 16 Aug 2022 10:16:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388198.624798; Tue, 16 Aug 2022 10:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtcO-0006Ve-1A; Tue, 16 Aug 2022 10:16:16 +0000
Received: by outflank-mailman (input) for mailman id 388198;
 Tue, 16 Aug 2022 10:16:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q2cu=YU=citrix.com=prvs=2209968cd=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1oNtcM-0006VW-L1
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 10:16:14 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73a544c3-1d4c-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 12:16:13 +0200 (CEST)
Received: from mail-dm6nam12lp2172.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Aug 2022 06:16:04 -0400
Received: from DM5PR03MB3386.namprd03.prod.outlook.com (2603:10b6:4:46::36) by
 SA1PR03MB6388.namprd03.prod.outlook.com (2603:10b6:806:1c3::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Tue, 16 Aug
 2022 10:16:02 +0000
Received: from DM5PR03MB3386.namprd03.prod.outlook.com
 ([fe80::81f3:95a3:4853:a11f]) by DM5PR03MB3386.namprd03.prod.outlook.com
 ([fe80::81f3:95a3:4853:a11f%7]) with mapi id 15.20.5504.028; Tue, 16 Aug 2022
 10:16:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73a544c3-1d4c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660644973;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=EK2XNmUVALpfgvKkGoF4lSj8egYU2wJe1cZ+o5AYVLA=;
  b=fnWyNm4hnjILUgbPjuIJ2mTHUJn1V2wsMPGfI/0Jx49kUaJIeZ9Kkl/t
   WacVtncACWjUoEfWee7qBWuBizOzN5+m/X2w4yh8htt2ZcO7fiEVR6GSj
   1AbnIYnOnKf8fvg5q6lDVPCEmQTu7q+C8NO+V3A45mClabOeiuKHjTttO
   E=;
X-IronPort-RemoteIP: 104.47.59.172
X-IronPort-MID: 80736191
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ZhHj9KN88vgKWGDvrR1jlsFynXyQoLVcMsEvi/4bfWQNrUorhWRTy
 TQZXj+EPa7ZZjP1eopwaoy+9k4Cup6Ax4VnTQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/vd8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFP87O1MIVkcY7YY+9R4LTANz
 uUpdRIkO0Xra+KemNpXS8FKr+F6dozHGd1avXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rr5wCCgKVW0q3rMzUYzy0raygE39bHpOd7cfNGiTsRJhEeI4
 GnB+gwVBzlKbIPEl2PUqxpAgMfuzCLdCKIJS4GzzaF2hn23z2giBgUvAA7TTf6RzxTWt8hkA
 04e9zcqrKMy3Fe2VdS7VBq9yFaGoxodVtx4A+A8rgaXxcL8+B2FD2IJSjpAbt0Ot8IsQzEuk
 FiTkLvBGjhHoLCTD3WH+d+8vT60fCQYM2IGTSsFVhcepcnuppkpiRDCRcolF7S65uAZAhn1y
 jGO6SQ72bMaiJdR073hpA+dxTWxupLOUwg5oB3NWX6o5R94Y4jjYJG07V/c7rBLK4PxokS9g
 UXoUvO2tIgmZaxhXgTUKAnRNNlFP8q4DQA=
IronPort-HdrOrdr: A9a23:P3aAd6uMBXcCupk5f815029a7skC2oMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6H6BEGBKUmslqKceeEqTP2ftXrdyRGVxeZZnMbfKlzbambDH4tmuZ
 uIHJIOb+EYYWIasS++2njBLz9C+qjKzEnLv5a5854Fd2gDBM9dBkVCe3+m+yZNNWt77O8CZf
 6hD7181l+dkBosDviTNz0gZazuttfLnJXpbVotHBg88jSDijuu9frTDwWY9g12aUIA/Z4StU
 z+1yDp7KSqtP+2jjXG0XXI0phQkNz9jvNeGc23jNQPIDmEsHfoWG0hYczDgNkGmpDs1L8Yqq
 iIn/7mBbU215rlRBD3nfIq4Xim7N9h0Q6l9bbSuwqfnSWwfkNHNyMGv/MXTvKR0TtegPhslK
 1MxG6XrJxREFfJmzn8/cHBU1VwmlOzumdKq59ks5Vza/prVFZql/1pwGpFVJMbWC7q4oEuF+
 djSMna+fZNaFufK3TUpHNmztCgVmk6Wk7ueDlLhuWFlzxN2HxpxUoRw8IS2n8G6ZImUpFBo+
 DJKL5hmr1CRtIfKah9GOACS82qDXGle2OEDEuCZVD8UK0XMXPErJD6pL0z+eGxYZQNiIA/nZ
 zQOWkowFLau3iee/Fm8Kc7gywlGl/NIwgF4vsul6RRq/n7WKfhNzGFRRQnj9agys9vcfHmZw
 ==
X-IronPort-AV: E=Sophos;i="5.93,240,1654574400"; 
   d="scan'208";a="80736191"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P9+qI3AZYtobN7JrqI3htKai6/k2022B3glcTfku5laVHAXNNKLOt5koz2zPqcky9ThWHEmCkrkdddROb8UK3OXE1duP2S90pm1U0ELia8P8BLZx8GTDogO8xOnJFCD5fNqmHGL+BvyFdIcBCF96ObhgfqK4XkicvHtBpiGaLzgvj12sW/AOGvKG6Ogq82FrPuXU/07DuYcLC5EkbTJ7jz8GccTcikwFZFx/7uCNNG0UQF/xw+UsIPWaErn4LNzBbZJT1I+CoWUIFjGSpl3/luu1qU/YWWcRwOTqURy8Qqe2AH0+YHPJbFd/aSJTZbRVq7/tOS4e4PzUdbeBinnE+A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EK2XNmUVALpfgvKkGoF4lSj8egYU2wJe1cZ+o5AYVLA=;
 b=MMdtL5Z0AzJ9Jr4P4uwPuV9iKkaBNyG9z5wVooXpKFWBXKV4kLigNq3+guZXeY8zu8WL4XFDQ8Ed/+rNnvxq+Uv0tlVauYdKHKvUSaLzgdONbwYM0EFGt63GhguCiq55U5u+aMESkk/Yj/Z4EoD6r9CWjLRNLxHt2f7rC/QVisdyaoBDdS7AvRS2xTqGHQBgew0fClHF7Vfz7Z6ZIZPgcaZBDtlBWcE0Vr0d+lcVZvIOaNMDTqgZMdufOK/sVrRV03O8N3FqT8+ijfItopu4ljkGtI8HX75+bCytltvpYLXidIvDZz3kpWw0juxZsLs7cfd6dUiuoBwNeIEj06/4BQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EK2XNmUVALpfgvKkGoF4lSj8egYU2wJe1cZ+o5AYVLA=;
 b=f96EIsjzjRYMuEG1oaxVlPBcXFo44FliOZ4F4riKst/N/MCLtOtOKR8CEPVi2MwRMeAQkeAG6crgODtgnP/MFbdaKU5atywR0ZZkwQlHXJubwZ/8QDHvuOUjtNG7tTXXjIkxqenEE/H9fda+UNTuaxJuDFF9UdIIWOUJoFz9Q10=
From: Jane Malalane <Jane.Malalane@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <Andrew.Cooper3@citrix.com>, George Dunlap
	<George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/4] xen: Port linkage.h from kernel code
Thread-Topic: [PATCH 2/4] xen: Port linkage.h from kernel code
Thread-Index: AQHYqBOcTorV7/AaXU+jvacxRyO/Ya2gCkGAgBFX74A=
Date: Tue, 16 Aug 2022 10:16:01 +0000
Message-ID: <a9a16f4f-a891-0801-69f9-5ce66acbc672@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-3-jane.malalane@citrix.com>
 <2bd30d03-1918-02c7-02b2-cff8d58c99b0@suse.com>
In-Reply-To: <2bd30d03-1918-02c7-02b2-cff8d58c99b0@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f9eb7c0c-041b-41da-b32e-08da7f70523f
x-ms-traffictypediagnostic: SA1PR03MB6388:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 8nqT9uQeyaL4KiznPWGcwKrEb1hvdJmZ67OCE3uGiNkvaW3p9CQp0byB7+0ZUWuCmeedSXimqcbAdC17wyA7AABIhwQ1IoaXU8HYmpQclFa13Rtuh4bEXoV/UFQM0UBt+LicCDHw5zI2axh4P0IYpi/HBM9NWzCW2tyGzCC+K1W4nK/qmLq12pYL3ttUYSr3Ee7o7BBI1R0ZH/I6ZvOF3Iuaey5QqmCrXkwn81HBsJGGUDZFcT2nZBGyo749MgtFBDlfY+s+WvqUr4GTO5lurEJ2lKIpBKHw4LQsWIbSKtmfgkKtpAZ6nfDMDUW38KtEgyxSqIIEXVj5ahayLP8w8NAxcuiGFFuPC4W2nsJRsQ/vQJs9NX37yGLIyA5/E48Ji37BxNTiUEGKkqnf02mQgBEUmJytfre/ynLOKPVhKz9f8sNlao4qW2jHawTDRfGK/JCQBDGipENxLPuWcRB/+1LU0QJYQ595EIteA0PgHHLsP8VasycKTQaXfVhjIQJdNFVwptIv+yrF9JtFBHr7oIOYoeJI/vpUe97fpe29ub3nmeh6huZSceN5TnGyImMhcy6064cXv6iMfGrvzJHT0GmSGvi9tNF4T/zPQok638xDTv0Lg+DhXvt942MXlGmv/0p0adFdDfgGvWfC4JAN0YqXzLZmLLnE0C2kdhKonxc9/xtexKqNsik1coxrvzrC/2u+FkxBeMUSBQTfuQbSQSwmijeubgmUl6tYmbJYYidUR8uUoEoor0PK1EQB8/xwnWqP5nnyfHqhUnDxm/QSac2jKWM5oQZyDPFp8QyfrAXkMtScyOaEQVNsbCO3s46cUetJux0dbKBdnIkZ/hHF8w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR03MB3386.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(136003)(346002)(366004)(396003)(6916009)(186003)(83380400001)(66946007)(64756008)(2616005)(38070700005)(478600001)(66446008)(8676002)(316002)(6486002)(4326008)(71200400001)(66556008)(91956017)(36756003)(66476007)(54906003)(38100700002)(122000001)(76116006)(86362001)(31696002)(8936002)(5660300002)(6512007)(26005)(82960400001)(6506007)(41300700001)(55236004)(2906002)(53546011)(31686004)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bWVjMy9zWGhXS1IrWUMrempBUXpaTGFZZWZTb3BRTStrNExpK3c0Zm9yaUE5?=
 =?utf-8?B?YmswckVZQ0pDSGZLdGcrTFdNdGVaMGdKWmdlNVdKandXa0JEcjdrWmlPN1gr?=
 =?utf-8?B?TS9xMC9pSUlnV2E5MGJwUHR0bTNyNFZWK0NjYW1TblVsN01WM3ZiVTY0NENZ?=
 =?utf-8?B?YWJGdGMwaU1QV3l2bnJCd0dCcVlHZUtUNDNjejhoTkxIWVBaWWR6bmgrMDhT?=
 =?utf-8?B?VHF5azZTKzZaM25wUFFvK1B0aXFoTHlZeVJnTS9ZOXhUUUFBTjVZVHJpaEsx?=
 =?utf-8?B?OXN0eXR0eEVpL1NSd3FtOXh5b2ZwaHVjQ3pqbmxWa3BUZ2tRdFFQeHZpR3Bj?=
 =?utf-8?B?SVhQenJiWXh2cmQvUllOdFJKWUJPanNiYnArUUh4N1NYTjBXWXBjS2ZVek8w?=
 =?utf-8?B?WFRDRDFVYmNYYU1IM090VFRaUDltU0NTVlB4K1BDQXFGU0FiVmkzRFVTcm1X?=
 =?utf-8?B?MzlXc0lMQmI2ZisvaHVCalZwZXlORmY5aGpEMUhVWDB6ZGhmdEg1Q2lhMnhl?=
 =?utf-8?B?OFFYN3FtVUVIcG1GYkRLeXNOek45djhPRmdMWGdDTFR6RXBZc3BvajBXcUdB?=
 =?utf-8?B?c3B5VUlCZVN4Q1h0R2J5M3BDSnhFaElab1loZEpjYTQzb1ZLVjVycU00R2VT?=
 =?utf-8?B?SFQ5TzM1Y1hHQ2p3aUljQTBpQUh6cENwZFRlandmRkRJVVlKZUY1TDZSazlE?=
 =?utf-8?B?S1o3MVEvT0ZJdEUrYTU2aHUzY0JBUnpPaGgzeDNmUWhMcStWMkM2cCtFWE1Y?=
 =?utf-8?B?NDBDOWVwekxlRGxvSnFZc2FlNjM2RUx2QjdXZzk2WWZTeFdLbDZvYXdTamd4?=
 =?utf-8?B?eW80YnRwczB3UEFmNlpyUitrL0N5Z2dvd0VWN0ZnSkh1cjAydFgwMUVZN1ZD?=
 =?utf-8?B?Z3ptSmRmS1NTZkVoRVptZ0J1dkE0LzhvNkFLRlNEMjZDVzhYWmFuUjNUT1pv?=
 =?utf-8?B?Z0xra2hsMmp0NXpIZTg3VytLd1hWKzFEZWRxTGo3aExEcXcvTmdnQVBraFZG?=
 =?utf-8?B?a29nUWk5amRYZ3ZyclpkdHViT2JnRlBMalNab3ZWTEZLak5jQTEweUlsSDdm?=
 =?utf-8?B?MmhmZUptU1ZxWnVobHg3bi9LNGcrQzFlSGlBaHhpVHpDY0VudjJoVkVXYWlj?=
 =?utf-8?B?MU1zdTVwTjRRY0FGcXlnQ0hpV25HQjZ3ek1HaThDYk5ZSzU0QzdMd2ZXNWdi?=
 =?utf-8?B?N2w4YkxPN2htazRCVk9oYmhBSUc0Z2F2dG1RVzRVbFBWVXE2Wm9FS00xVXZx?=
 =?utf-8?B?WjQ0d2VQRFBiU1Z0bTJKamlXeTFZcDd6M3ZpMFdpenRZR0JKdW5OdlFEQUhI?=
 =?utf-8?B?cWhYMnc5Zkx4dG9UR2o4SzBZUEtUZUwraU5lWG9pakoyZnZBckl3dWxnblBo?=
 =?utf-8?B?ZXdiK3FSUGhOcmoyUXBMV3V1WlVhMHJhMTJNSlhFbjJCMHlXYUlOQisrRnN6?=
 =?utf-8?B?MDN2ZmZhRyt2eXhzdVNsQU0wakdRWGhxQ3dGOVdBWkFqSE9KSjV5eVlxOEJU?=
 =?utf-8?B?QmpQeGd5Mm5jeWNzR1V6bHg1cWd3UzZRa1ZBOXdUVjVkYWlLdHZLVElFYVNS?=
 =?utf-8?B?VjRyZkg3dGtiVHJNQ0dUK2dNQnJ5OUpuSVdWbCtDUWVHQzJnQ0VraHFudDQw?=
 =?utf-8?B?UXQ2WUw1UDU2ZzJkNzVwejF2RDJla0VmTkhzMWR0U2ZzUkxTTTExdFowOUN2?=
 =?utf-8?B?UTVGQTd0UmpLMEVoTmVacFdBMmw2N0JnV3ZYamFrSUdVbjY2bmttYjZDcitl?=
 =?utf-8?B?K0xtSVhkSTNaa0ZCTGZUbFRFbVZVajQ3aE1Jd2RXYWY5UUplQW1RdXZSbjBT?=
 =?utf-8?B?T2UwZ2gybDlQQXNvek1tSVROZnk2UnNSd1Yzd2N2WUU2U2Z5eWxkZXZ0TFBF?=
 =?utf-8?B?NS9lWUd5eE14dXNFQU9tQ1hXZmN2cjFqeDVhWjdtQjVpSGUrMndVRjEyNzBF?=
 =?utf-8?B?ajczTE1NQnh3cVlveXZjcTR5WW5FR2o1czkrcks4TDJhR1FtZWx5TFFNOGZh?=
 =?utf-8?B?WDRJaEs5eGZVemNlckZZcnNocjgxbk9URVA1TkRacGJNK05haFJ6UFBNTm5T?=
 =?utf-8?B?UldyNnlTbHgxUDZYQWJ1Tmlldk84dk1UNDA2QWZHSzFRU0JFU0FXZWNQM3ZJ?=
 =?utf-8?B?QUFjeXZpUlpTM0VjYkR6R055a284LzJPL1JzV1l4WG04bE1wWTVoYTJPZko4?=
 =?utf-8?B?Z0E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <475E2ADF090EB24B9EB6817F6B6B900A@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM5PR03MB3386.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9eb7c0c-041b-41da-b32e-08da7f70523f
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2022 10:16:01.9005
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Dpo/gQkmZlbm6PNUkMWzyOw21X8GMYEDHaU8W946Y6kEU9ljFSr8mPB6NiWw34qJ8TeQiNqSYtdxi0e3Enz+j1jQ8ax62oo5dgKbwYKuCWo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6388

T24gMDUvMDgvMjAyMiAxMDoyNCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDA0LjA4LjIwMjIg
MTc6MDQsIEphbmUgTWFsYWxhbmUgd3JvdGU6DQo+PiBTdWdnZXN0ZWQtYnk6IEFuZHJldyBDb29w
ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKYW5lIE1h
bGFsYW5lIDxqYW5lLm1hbGFsYW5lQGNpdHJpeC5jb20+DQo+IA0KPiBJbiB0aGUgdGl0bGUgeW91
IHNheSAicG9ydCIsIGJ1dCB0aGVuIHlvdSBkb24ndCBzYXkgd2hhdCBjdXN0b21pemF0aW9uDQo+
IHlvdSd2ZSBkb25lIGJleW9uZCB0aGUgb2J2aW91cyBhZGp1c3RtZW50IG9mIGluY2x1c2lvbiBn
dWFyZCBhbmQNCj4gYWRqdXN0bWVudCAoYWN0dWFsbHkgcmVtb3ZhbCkgb2YgI2luY2x1ZGUtcy4g
SG93IG11Y2ggY3VzdG9taXphdGlvbiB3ZQ0KPiB3YW50IHRvIGRvIGlzIGltcG9ydGFudCBoZXJl
LCBhZnRlciBhbGwuIEkgbm90aWNlIHlvdSBkaWQsIGZvciBleGFtcGxlLA0KPiBhZGQgbmV3IGZs
YXZvcnMgb2YgU1lNX0lOTkVSX0xBQkVMLCBidXQgdGhlbiB5b3UgZGlkbid0IGFkZCBhbnl0aGlu
ZyB0bw0KPiB1c2UgLmhpZGRlbiAod2hpY2ggSSBoYXZlIHF1ZXVlZCBhcyBhIG5ldyBwYXRjaCBv
biB0b3Agb2YgYSBzdXBwb3NlZCB2Mg0KPiBvZiAieDg2OiBhbm5vdGF0ZSBlbnRyeSBwb2ludHMg
d2l0aCB0eXBlIGFuZCBzaXplIikuIEF0IHRoZSBzYW1lIHRpbWUNCj4geW91J3ZlIGxlZnQgaW4g
b2JqdG9vbCByZWxhdGVkIGNvbW1lbnRhcnksIHdoZW4gd2UgZG9uJ3QgdXNlIHRoYXQgdG9vbA0K
PiAoYW5kIG5vLW9uZSBrbm93cyBpZiB3ZSBldmVyIHdpbGwpLg0KPiANCj4gSSdtIGZ1cnRoZXIg
bm90IHN1cmUgSSBhZ3JlZSB3aXRoIHRoZSBuYW1pbmcgb2Ygc29tZSBvZiB5b3VyIGFkZGl0aW9u
cywNCj4gYXMgdGhleSBhcHBlYXIgdG8gbm90IHJlYWxseSBmaXQgd2l0aCB0aGUgbmFtaW5nIG1v
ZGVsIHVzZWQgZWxzZXdoZXJlLg0KPiBZb3VyIGFkZGl0aW9ucyBhbHNvIGxvb2sgdG8gbm90IGFs
d2F5cyBtYXRjaCBzdHlsZSB1c2VkIGVsc2V3aGVyZSBpbg0KPiB0aGlzIGZpbGUuDQo+IA0KPiBZ
b3UgZnVydGhlciB3YW50IHRvIG1lbnRpb24gd2hhdCBMaW51eCB2ZXJzaW9uIHRoaXMgd2FzIGRl
cml2ZWQgZnJvbSwNCj4gdG8gbWFrZSBpdCBlYXNpZXIgdG8gZGV0ZXJtaW5lIHdoYXQgaW5jcmVt
ZW50YWwgY2hhbmdlcyB0byBwb3J0IG92ZXINCj4gc3Vic2VxdWVudGx5Lg0KPiANCj4gT3ZlcmFs
bCBJJ20gbm90IGNvbnZpbmNlZCB0aGlzIGlzIGEgbW9kZWwgd2Ugd2FudCB0byBnbyB3aXRoLCBm
aXJzdA0KPiBhbmQgZm9yZW1vc3QgYmVjYXVzZSB0aGUgY29tbW9ubHkgdXNlZCBtYWNybyBuYW1l
cyBhcmUgdG9vIGxvbmcgZm9yDQo+IG15IHRhc3RlLiBXaGF0J3Mgd3Jvbmcgd2l0aCBFTlRSWSgp
IGFuZCBFTkRQUk9DKCkgLyBFTkREQVRBKCk/DQpIaSBKYW4sDQoNClNpbmNlIEkgaGF2ZSBubyBw
YXJ0aWN1bGFyIG9waW5pb24gb24gdGhpcyBJIHdlbnQgdGhyb3VnaCB0aGUgZGlzY3Vzc2lvbiAN
CnRoYXQgdG9vayBwbGFjZSBiZWZvcmUgdGhvc2UgbWFjcm9zIHdlcmUgaW50cm9kdWNlZCBpbiBM
aW51eC4gT25lIG9mIHRoZSANCnBvaW50cyBtYWRlIHdhcyB0aGF0IFBST0Mgd2FzIGFuIGFtYmln
dW91cyB0ZXJtIHRvIHVzZSwgc2luY2UgQyANCmZ1bmN0aW9ucyBhcmUgbm90IGFjdHVhbGx5IHBy
b2NlZHVyZXMsIGF0IGxlYXN0IG5vdCBhbGwuIFRoZSBvdGhlciB3YXMgDQp0aGF0IHVzaW5nIFNU
QVJUL0VORCBtYXJrZXJzIG1ha2UgaXQgZWFzaWVyIGZvciBhIGRldmVsb3BlciB0byByZW1lbWJl
ciANCnRvIGFkZCB0aGUgRU5EIG1hcmtlciwgYW5kIGV2ZW50aG91Z2ggeW91IHN1Z2dlc3QgdXNp
bmcgRU5UUlkgYW5kIG5vdCANCmp1c3QgUFJPQyBhcyB0aGUgc3RhcnQgbWFya2VyLCBTVEFSVCBt
aWdodCBzdGlsbCBiZSBjbGVhcmVyLg0KDQpJIHdlbGNvbWUgb3RoZXIgaW5wdXQuDQoNClRoYW5r
IHlvdSBmb3IgeW91ciByZXZpZXcsDQoNCkphbmUu


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 10:31:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 10:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388207.624810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtqk-0000Q9-Am; Tue, 16 Aug 2022 10:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388207.624810; Tue, 16 Aug 2022 10:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNtqk-0000Q2-7t; Tue, 16 Aug 2022 10:31:06 +0000
Received: by outflank-mailman (input) for mailman id 388207;
 Tue, 16 Aug 2022 10:31:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=REbT=YU=citrix.com=prvs=22068c4b7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oNtqi-0000Pw-8x
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 10:31:04 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85c738b6-1d4e-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 12:31:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85c738b6-1d4e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660645862;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=CMoczpc6X4iEunS95Yl7Wr1c3lXS41rgyeZZWmsl8+4=;
  b=NKSk2KnoD5GJkFqUDRgRkSB8AIh4ZaVjxNGnkdlSLqqX5pcpflOi1b7X
   1vN0SNM9hgdOFgcjpcilVryEnx9AqsLit1691S0PoaR+2S90CXhL3NSJn
   YrWM5L6pKHKemtcDybtFgysfu1kQeC0/13jPuSl+o+XmODD0wiSx9xcrB
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78188457
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:o0QrCa/jaeH32dZNH1HIDrUDSn6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 mMeCD2Gb/uOamD3L9giaIy+/E1SvpOAxtU2HQRqpH88E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM24qyr0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGUhwWPrQ589ZLI2By3
 6AjeA4Uaw2xvrfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoahtTOlARGdQmkf2hnHXXeDxEslOF46Ew5gA/ySQugOG9YIaIJbRmQ+0MphaZn
 FL/0l3pQSAROOWw72e52XeV07qncSTTB9tJSezQGuRRqF+Owm0eDjUGWF39puO24ma0VshDM
 UUS9mwrpLIr6U2wZtDnWluzp3vsliAbX91cAugr8janw6Df4xuaLmUcRzsHY9sj3OctXiAj3
 FKNm9LvBBRsvaeTRHbb8a2bxRuiNC5QIWIcaCssSQoe/8KlsIw1lgjITNtoDOiylNKdMTP6z
 i2OrSM+r64OlsNN3KK+lXjYjjPqrZjESCY8/ACRVWWghj6Vf6b8OdbuswKCq68dcsDJFTFto
 UToheDAscANNLCEpBCvQdknQIr52e+ALQ/l1AsH84Yay9i9x5KyVdkOvmkgfx01Y5tslSzBO
 xGK514IjHNHFD7zNPIsPdrsYyg/5fK4fekJQMw4eTanjnJZUAactB9jakeLt4wGuBh9yPpvU
 Xt3nCvFMJr7NUiE5GDvLwvl+eV3rh3SPEuKLXwB8zyp0KCFeFmeQqofPV2FY4gRtf3a+FiFo
 4gHaZDRm32ztdEShQGGmbP/0HhQdSRrbXwIg5Y/mhG/zvpORzh6Vq65LUIJcI15haVF/tr1E
 oWGchYBkDLX2CyYQThmn1g5N9sDq74j8i9gVcHtVH70s0UejXGHt/1CKsVpLOh2pISOD5dcF
 pE4RilJOdwXIhyvxtjXRcOVQFBKHPhzuT+zAg==
IronPort-HdrOrdr: A9a23:FJjLa6gMKYQJHbUiiZH953L5oHBQXtYji2hC6mlwRA09TySZ//
 rBoB19726RtN9xYgBHpTnuAsm9qB/nmaKdgrNhWItKPjOW21dARbsKheCJrgEIcxeOkdK1vp
 0AT0ERMrLN5CBB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.93,240,1654574400"; 
   d="scan'208";a="78188457"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Wei Chen <wei.chen@arm.com>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH] build: Fix x86 build without EFI
Date: Tue, 16 Aug 2022 11:30:43 +0100
Message-ID: <20220816103043.32662-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

We can't have a source file with the same name that exist in both the
common code and in the arch specific code for efi/. This can lead to
comfusion in make and it can pick up the wrong source file. This issue
lead to a failure to build a pv-shim for x86 out-of-tree, as this is
one example of an x86 build using the efi/stub.c.

The issue is that in out-of-tree, make might find x86/efi/stub.c via
VPATH, but as the target needs to be rebuilt due to FORCE, make
actually avoid changing the source tree and rebuilt the target with
VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
exist yet so a link is made to "common/stub.c".

Rework the new common/stub.c file to have a different name than the
already existing one. And build both *stub.c as two different objects.
This mean we have to move some efi_compat_* aliases which are probably
useless for Arm.

Avoid using $(EFIOBJ-y) as an alias for $(clean-files), add
common_stub.c directly to $(clean-files).

Fixes: 7f96859b0d00 ("xen: reuse x86 EFI stub functions for Arm")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

For the cflag addition in non-ARM_EFI, I was tempted to apply it to
the whole directory instead of just stub.o. (Even if there's only a
single object). I think that would be enough to overwrite the
-fshort-wchar from efi-common.mk, but I forgot what cflags come after
that. But adding it to just one object mean that it's added at the
last possible moment.
---
 xen/arch/arm/efi/Makefile                | 8 ++------
 xen/arch/x86/efi/Makefile                | 2 +-
 xen/common/efi/efi-common.mk             | 4 ++--
 xen/arch/x86/efi/stub.c                  | 7 -------
 xen/common/efi/{stub.c => common_stub.c} | 6 ++++++
 5 files changed, 11 insertions(+), 16 deletions(-)
 rename xen/common/efi/{stub.c => common_stub.c} (67%)

diff --git a/xen/arch/arm/efi/Makefile b/xen/arch/arm/efi/Makefile
index bd954a3b2d..8e463d156a 100644
--- a/xen/arch/arm/efi/Makefile
+++ b/xen/arch/arm/efi/Makefile
@@ -4,12 +4,8 @@ ifeq ($(CONFIG_ARM_EFI),y)
 obj-y += $(EFIOBJ-y)
 obj-$(CONFIG_ACPI) +=  efi-dom0.init.o
 else
-# Add stub.o to EFIOBJ-y to re-use the clean-files in
-# efi-common.mk. Otherwise the link of stub.c in arm/efi
-# will not be cleaned in "make clean".
-EFIOBJ-y += stub.o
-obj-y += stub.o
+obj-y += common_stub.o
 
-$(obj)/stub.o: CFLAGS-y += -fno-short-wchar
+$(obj)/common_stub.o: CFLAGS-y += -fno-short-wchar
 
 endif
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 034ec87895..bbabfc3795 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -11,7 +11,7 @@ $(obj)/boot.init.o: $(obj)/buildid.o
 $(call cc-option-add,cflags-stack-boundary,CC,-mpreferred-stack-boundary=4)
 $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-boundary)
 
-obj-y := stub.o
+obj-y := common_stub.o stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
 extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
diff --git a/xen/common/efi/efi-common.mk b/xen/common/efi/efi-common.mk
index ec2c34f198..5d5c427e8b 100644
--- a/xen/common/efi/efi-common.mk
+++ b/xen/common/efi/efi-common.mk
@@ -9,9 +9,9 @@ CFLAGS-y += -iquote $(srcdir)
 # e.g.: It transforms "dir/foo/bar" into successively
 #       "dir foo bar", ".. .. ..", "../../.."
 $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
-	$(Q)test -f $@ || \
-	    ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
+	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
 
 clean-files += $(patsubst %.o, %.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))
+clean-files += common_stub.c
 
 .PRECIOUS: $(obj)/%.c
diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index f2365bc041..2cd5c8d4dc 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -8,7 +8,6 @@
 #include <efi/eficon.h>
 #include <efi/efidevp.h>
 #include <efi/efiapi.h>
-#include "../../../common/efi/stub.c"
 
 /*
  * Here we are in EFI stub. EFI calls are not supported due to lack
@@ -55,9 +54,3 @@ bool efi_boot_mem_unused(unsigned long *start, unsigned long *end)
 }
 
 void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t l4e) { }
-
-int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *)
-    __attribute__((__alias__("efi_get_info")));
-
-int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *)
-    __attribute__((__alias__("efi_runtime_call")));
diff --git a/xen/common/efi/stub.c b/xen/common/efi/common_stub.c
similarity index 67%
rename from xen/common/efi/stub.c
rename to xen/common/efi/common_stub.c
index 15694632c2..4dc724b2ac 100644
--- a/xen/common/efi/stub.c
+++ b/xen/common/efi/common_stub.c
@@ -30,3 +30,9 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
 {
     return -ENOSYS;
 }
+
+int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *)
+    __attribute__((__alias__("efi_get_info")));
+
+int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *)
+    __attribute__((__alias__("efi_runtime_call")));
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 10:49:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 10:49:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388216.624821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNu8A-00020h-Oz; Tue, 16 Aug 2022 10:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388216.624821; Tue, 16 Aug 2022 10:49:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNu8A-00020a-MK; Tue, 16 Aug 2022 10:49:06 +0000
Received: by outflank-mailman (input) for mailman id 388216;
 Tue, 16 Aug 2022 10:49:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=REbT=YU=citrix.com=prvs=22068c4b7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oNu88-00020U-Rq
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 10:49:04 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09d1f0d1-1d51-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 12:49:03 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09d1f0d1-1d51-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660646942;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=TjB1PxZiL12zfl5sx55zm7atN/V8tsDleakfcumd35w=;
  b=g1UHWB5lyWZlvo04cD4etEdjV96mp8uaxasXzpr+4vOWbGoTthO52d1Q
   EIZLmrqWC2O93Es7dSy/8Ya+FI9EYE7bDIPl5YO8fe4cSCcQCIDTR31qi
   /01rmpC1iryMkunK05Q2xcmXCU9/bdJHkdP5K31UH7LKCM1ik0DMlrvgD
   4=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78626504
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:t/UmG6MnzgpjGNXvrR1vl8FynXyQoLVcMsEvi/4bfWQNrUok02EGx
 2tKUTiAafaJMDT3e950Ptu09BxUsJHSyYQwSgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/vd8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPJx9VkT00VBbFA89luJ0tt8
 P5IKGEkO0Xra+KemNpXS8Fpj8UnasLqIJkeqjdryjSx4fQOGM6ZBf+QvJkBgWl21psm8fX2P
 qL1bRJmagjAZBtefE8aEpskkM+jh2Xlci0eo1WQzUYyyzeDklYvjeCxWDbTUp+tRZoSoWqyn
 Tj973TeIhgmNua/xRPQpxpAgceQxHimCer+DoaQ9ONugVCV7nweDlsRT1TTifO0kFKkUtRTb
 Ukd4DMzrLMa/VauCNL6WnWQnnmAuRINXstKJMcz4gqN16n87h6QAy4PSTspQMc9qMY8SDgu1
 1mIt9DkHzpitPuSU3313qeZq3a+NDYYKUcGZDQYVk0V7t/7uoYxgxnTCNF5H8adjNf4BDXxy
 DCitzUlivMYistj/7q2/BbMgz+qjpHTS0g+4QC/Y46+xlonPsj/PdXusAWFq6YbRGqEcrWfl
 F0Au8Ld4MM2McmEqzWrasYIHuGptt/QZVUwnmVT84kdGyWFoiD9Jd4Lum0veS+FIe5fJ2a3P
 Ra7VRd5ocYKYSD0NfIfj5eZUZxC8ET2KTjyuhk4hPJqa4M5SgKI9ToGiaW4jzG0yxhEfU3S1
 P6mnSeQ4ZUyU/0PIMKeHbt17FPS7nlWKZnvbZ761Q+79rGVeWSYT7wIWHPXML5hsfPU/l2Lq
 I0PXydv9/m4eLyWX8Uq2dRLcQBiwYYTX/gaVPC7hsbce1E7SQnN+tfawK87epwNopm5Ytzgp
 yjlMmcFmQWXuJEyAV/VApyVQO+wAM0XQLNSFXBEAGtELFB4O9vysvlOJspnFVTlncQ6pcNJo
 zA+U53oKpxypv7voFzxsbGVQFReSSmW
IronPort-HdrOrdr: A9a23:4Zr2TK+GI5K+B53rI0Fuk+DYI+orL9Y04lQ7vn2YSXRuHPBws/
 re+MjztCWE7Qr5N0tMpTntAsW9qDbnhPlICOoqTNWftWvd2FdARbsKheCJ/9SjIVycygc079
 YHT0EUMrzN5DZB4vrH3A==
X-IronPort-AV: E=Sophos;i="5.93,240,1654574400"; 
   d="scan'208";a="78626504"
Date: Tue, 16 Aug 2022 11:48:56 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Wei Chen <wei.chen@arm.com>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH] build: Fix x86 out-of-tree build without EFI
Message-ID: <Yvt2GDIz7z5qMWE7@perard.uk.xensource.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220816103043.32662-1-anthony.perard@citrix.com>

This patch probably need a slight better subject, as the issue is only
with out-of-tree build. So new subject:
    build: Fix x86 out-of-tree build without EFI

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 11:01:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 11:01:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388225.624832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNuKO-0004KU-Uy; Tue, 16 Aug 2022 11:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388225.624832; Tue, 16 Aug 2022 11:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNuKO-0004KN-Qa; Tue, 16 Aug 2022 11:01:44 +0000
Received: by outflank-mailman (input) for mailman id 388225;
 Tue, 16 Aug 2022 11:01:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oNuKN-0004KH-Ty
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 11:01:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNuKN-00046d-CE; Tue, 16 Aug 2022 11:01:43 +0000
Received: from [54.239.6.189] (helo=[192.168.28.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oNuKN-0007Fo-1s; Tue, 16 Aug 2022 11:01:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=eSXTnMA3qTGDZH23XnElnv8fx1OonSQ5V+RRjENalko=; b=3jlmPMAZBylz+as+h2VCheAwt/
	Z+AaW7AybowLnAXngMhzQ+Pr5p5sp3glZiNkEYvhLEPRa58jeBw0ygMDAynjPwKIVsdbh5NTh1v7F
	Gzj1cElyBgpfoU/WYKKhn5EISE87kK0PmRTzbvT8m89lYMa0quOryb2yWpRz8NciyYWA=;
Message-ID: <741163de-607f-dbfd-e9f8-ef3072a16de6@xen.org>
Date: Tue, 16 Aug 2022 12:01:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [XEN PATCH] build: Fix x86 build without EFI
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Wei Chen <wei.chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220816103043.32662-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Anthony,

On 16/08/2022 11:30, Anthony PERARD wrote:
> We can't have a source file with the same name that exist in both the
> common code and in the arch specific code for efi/. This can lead to
> comfusion in make and it can pick up the wrong source file. This issue

Typo: s/comfusion/confusion/

> lead to a failure to build a pv-shim for x86 out-of-tree, as this is
> one example of an x86 build using the efi/stub.c.
> 
> The issue is that in out-of-tree, make might find x86/efi/stub.c via
> VPATH, but as the target needs to be rebuilt due to FORCE, make
> actually avoid changing the source tree and rebuilt the target with
> VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
> exist yet so a link is made to "common/stub.c".
> 
> Rework the new common/stub.c file to have a different name than the
> already existing one. And build both *stub.c as two different objects.
> This mean we have to move some efi_compat_* aliases which are probably
> useless for Arm.
> 
> Avoid using $(EFIOBJ-y) as an alias for $(clean-files), add
> common_stub.c directly to $(clean-files).
> 
> Fixes: 7f96859b0d00 ("xen: reuse x86 EFI stub functions for Arm")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> 
> For the cflag addition in non-ARM_EFI, I was tempted to apply it to
> the whole directory instead of just stub.o. (Even if there's only a
> single object). I think that would be enough to overwrite the
> -fshort-wchar from efi-common.mk, but I forgot what cflags come after
> that. But adding it to just one object mean that it's added at the
> last possible moment.
> ---
>   xen/arch/arm/efi/Makefile                | 8 ++------
>   xen/arch/x86/efi/Makefile                | 2 +-
>   xen/common/efi/efi-common.mk             | 4 ++--
>   xen/arch/x86/efi/stub.c                  | 7 -------
>   xen/common/efi/{stub.c => common_stub.c} | 6 ++++++

I haven't looked at the rest of the patch. However, I think you also 
want to update .gitignore to excluse arch/*/efi/common_stub.c.

Also, I am thinking to drop my patch [1] which update .gitignore as this 
will become moot with this change. Let me know what you think.

Cheers,

[1] 20220812191930.34494-1-julien@xen.org

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 11:04:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 11:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388234.624843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNuMZ-0004zc-Da; Tue, 16 Aug 2022 11:03:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388234.624843; Tue, 16 Aug 2022 11:03:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNuMZ-0004zV-As; Tue, 16 Aug 2022 11:03:59 +0000
Received: by outflank-mailman (input) for mailman id 388234;
 Tue, 16 Aug 2022 11:03:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=REbT=YU=citrix.com=prvs=22068c4b7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oNuMY-0004zP-9G
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 11:03:58 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1eb6ba49-1d53-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 13:03:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1eb6ba49-1d53-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660647836;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=7DCyYci9k1cGZao7uz7iHpT2TbqPVfR2Yen6reBLhRE=;
  b=XGHdxj4JyRCJ5hNPPeJb0svtep+/33mxtwofUbNT1YJDEArkDzYsVT/R
   rd15Uq6C0Z4p/nu5xStxkYsou0TKd9GzcnMNG8hxHZTHZiD9H8YhuJ0OI
   0Vs9EEnPUk9c+R0q25vfGyuqhQwDC1Gaag5k8lsqOBfVHn6uG4PayaJ9X
   I=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77419939
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:++HV2q8QdPOdctT3qJ8jDrUDln6TJUtcMsCJ2f8bNWPcYEJGY0x3x
 zAfWmGPP6nfYTGgLdkiYdzn9E8F75fXzYM3QQo6/C48E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM24qyr0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGPUIwL401+9pNB15es
 qAfJi8mdTe+mLfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoahtTOlARGdQmkf2hnHXXeDxEslOF46Ew5gA/ySQuj+S0YYuOK7RmQ+1bnn+io
 XDt8ljyLSo1aYXC52vU9lOF07qncSTTB9tJSezQGuRRqEaI2mUZBRkSVF26ifq0kEizX5RYM
 UN80jUqhbg/8gqsVNaVdx+lpH+JuDYMVtwWFPc1gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1
 FKCg5XuHzMHmL+fRG+Z97yUhSivIiVTJmgHDRLoViNcvYOl+ttqyEuSEJAzS8ZZk+EZBxnBw
 DaYrAU/u48Vst5Mi6K14nvcpA+z882hohEO2unHYo60xlonOtb7PNb0uAWzAeVod9jAEATY1
 JQQs43Htb1VU8nQ/MCYaL9VdIxF8cppJ9E1bbRHO5A6vwqg9He4FWy7yGEvfRw5WirolNKAX
 aMyhe+yzMUKVJdSRfUrC79d8uxzpUQaKfzrV+rPcv1FaYVreQmM8UlGPBDOhz29wBZ0z/pka
 f93lPpA6l5LYZmLMRLsH7tNuVPV7npWKZzvqWDTkE38jOv2iI+9QrYZKlqeBt0EAFe/iFyMq
 753aprVoyizpcWkPUE7B6ZPcg1RRZX6bLiqw/FqmhmreVA7RT9/Wq6AkdvMueVNxsxoqwsBx
 VnlMmcw9bY1rSSvxdmiApy7VI7SYA==
IronPort-HdrOrdr: A9a23:fI3CXajepNIo4p0iEKunYLfotXBQXtAji2hC6mlwRA09TySZ//
 rAoB19726QtN9xYgBGpTnuAsi9qB/nmKKdgrNhX4tKPjOHhILAFugLhuHfKlXbaknDH4Vmu5
 uIHZITNDSJNykYsfrH
X-IronPort-AV: E=Sophos;i="5.93,240,1654574400"; 
   d="scan'208";a="77419939"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH] MAINTAINERS: CC Anthony on Xen's build system changes
Date: Tue, 16 Aug 2022 12:03:40 +0100
Message-ID: <20220816110340.35453-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

I'd like to keep an eye on any changes in the Makefiles, to avoid
further break of the build system.

With this entries, it means that THE REST will not be CCed anymore for
changes in
- xen/Makefile
- xen/*.mk
- xen/scripts/Kbuild.include
- xen/scripts/Makefile.*
This could be an issue.

Most other files are also listed in other sections so would have a
maintainer. There's probably a few Makefiles in subdirectory that
would have CC THE REST but won't with this new section.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

I'm not sure if adding a maintainers would be needed, but maybe Jan?

I could look at using lei from public-inbox, or just the search from
public-inbox, but it's easier to tell people to CC me.

Thanks.
---
 MAINTAINERS | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index e12c499a28..088647ba11 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -260,6 +260,20 @@ M:	Rahul Singh <rahul.singh@arm.com>
 S:	Supported
 F:	xen/drivers/passthrough/arm/smmu-v3.c
 
+BUILD SYSTEM XEN
+R:	Anthony PERARD <anthony.perard@citrix.com>
+S:	Supported
+F:	xen/Makefile
+F:	xen/*.mk
+F:	xen/scripts/Kbuild.include
+F:	xen/scripts/Makefile.*
+F:	xen/common/efi/efi-common.mk
+F:	xen/arch/*/*.mk
+F:	xen/*/Makefile
+F:	xen/*/*/Makefile
+F:	xen/*/*/*/Makefile
+F:	xen/*/*/*/*/Makefile
+
 Change Log
 M:	Henry Wang <Henry.Wang@arm.com>
 R:	Community Manager <community.manager@xenproject.org>
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 11:23:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 11:23:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388243.624854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNuf3-0007Mx-2D; Tue, 16 Aug 2022 11:23:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388243.624854; Tue, 16 Aug 2022 11:23:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNuf2-0007Mp-VJ; Tue, 16 Aug 2022 11:23:04 +0000
Received: by outflank-mailman (input) for mailman id 388243;
 Tue, 16 Aug 2022 11:23:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNuf1-0007LD-4g
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 11:23:03 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10045.outbound.protection.outlook.com [40.107.1.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9f2a796-1d55-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 13:23:01 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6812.eurprd04.prod.outlook.com (2603:10a6:10:f8::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Tue, 16 Aug
 2022 11:23:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 11:22:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9f2a796-1d55-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IpkFSLMmvsvZrNcSkRrNIIeoJvK9nC8waZ2xo2VQ6WMsDpLE3c9J2beDnk3x/K8yPMHID9x0ihQ8k+4G5fEbiJDOvFdNPMniG/pCQot0zwFaze7WieTVnftPE+DnZtdAIXaoS1sv29yJ71QJWCUjBxqrWdvpHn/MF5JDKGh98Ud4Z/ldmGbsDkJd7PsMMERuFiCZHA+Jer4qkztVjImcHrJREJlPriu9yYjmGo8Lhj58denpXYN18rgVJJl95T4cGE7liiTw2hl5P/1EBni2Ojt6/IjnINty7peHbdKEEGcaXmCyi+WDx8ZPCL+RapFU81Rt2xfu7waIME9Q9/vD4Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rDO+mH3UWS6nzQIOhSSUbBVjLaPUTUnSFrsjETx8g6I=;
 b=CyyjbiYcwCd/uO/vLXf/J+Q0CFHBzOlK8RY9+fVcI3CAbF4inNy4IHD+eq9ub3RDT4utMRMm7jBHcNK7vD4a0jbAUZXhcnMVYL+e6/p2Se99It1Um//lDRxVvcnP+udNYps9VVWYS5oHk+wvYeEJjH8emnDCXbbbVMV+wtjAN9JUvqc3Ufy60gmF8lmzeAys2pEWgOraKiI80qExhTbvfrKcMyt4wIxmvO7X6PyowuWkn2PM2oAHZ0wPYTaJG1Z8I+d0e0TwlxyvBOLZ7TOGfHJr8ZCb+rsYScuuXzqy518OuEl5eGwCeMlOyCAozWCsCi6ZlzFP+sxPeW1+seY75g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rDO+mH3UWS6nzQIOhSSUbBVjLaPUTUnSFrsjETx8g6I=;
 b=ZgrdJr+uaTNUsq9LCXWIzlU6OT6/J35+DzQZfxtLGDg6m2jWqX42x3nox+J0jKqB2QGnt47GHb+CqPDmu8EaR4c0AXxHzaW4rF33PYGtURxBgJTmvwT/tyFWpA/x7iKVoFjqtIyQ8R8qRv+X6O95fls4ykcmvUcozW2vNlEYvc6jnkybRNAjYapccqWC6tbgACSqnVfixZggMdSYQsThW9g0qqa2orCGBjPrT9gFagxzUasXIq/5NODy24F39GlmvLw/0EyVLJhM0HFRG0D9t2L6W7W20DStt2mTDe6YLS9T1Hn4hu+ZGh5mHjWYK9xEvDITFxEPf5/JGs2Kas/dZg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com>
Date: Tue, 16 Aug 2022 13:22:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <4c3976aa-dad4-2707-2852-9b26593692d0@citrix.com>
 <pDQL7BhwlO49buWymLE-VFEZJim7qNeMmAeThZgHF9qzcbNbQ6ZoSXktgD14I_HYpsdxqfCugrNoJ227u5DLCWEEXk_h9c7bf4iKdgoQbQ8=@protonmail.com>
 <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com>
 <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
 <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
 <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
 <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
 <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0036.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aeef0807-042c-4177-c194-08da7f79ad07
X-MS-TrafficTypeDiagnostic: DB8PR04MB6812:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D/m6MAyEV3MJumEBehSBrgTNkK+vtmx97LkSVL9ZMZsRxLsnB95MH6c1zQuqOmFQcUTXEPnc/otyBtcTddE2bfFNSFqvn0sLiOnxeK2ASfQQXpRjXSsROOhYvW1M8uTVZK2UqN14UPmDY0uPpqTSueH/WBoM/tQXLwKPnj/Z5xuXoexpM2kQz6BIXmAEKU634FcSq0EAtOys6ZnXu0t2xsI+ga+pA1TMURl7CdfhHH3/S4MCCQ8Y5oOehZeJ4enjoTeiE5qQYPa9RX0hMDLuRw42CDGqPb9kp5/3E7iuou1Z7XhS2vIblo7FWn4Z8eKUeZCJTHsNA7JkVmtMEPK7rqA/N9j0A88003TRHUO0WyOUDdf7cjWK8AcbKGi2+bhaQaCme/modewxwtgWiRs6ALt3legVb1LCecmEDVYc80N1pm24TCpbqpMIOCBLwTe5Uaz8AmbOzVBDX4yjKl8sQJsCDRl5J5nt0Gm4/nu1ES/HDHZgJ8EukSM1ubl2WlgD3IZus7UUnPKgfuHhzQFe1EV/NMP1/8+NV6yhAkD+fIrIXQNp2+5mhw9SVw/INy5j7Y8fEnGQPTI+dSv4If62TN+x4oF5xzxtT5019rHVWJyOL/m2Rgy1qZ5dudc4Dj1YkEyZDAlIci2C5XJjsA8AnVYyiW4fmwJiO6P27kq6rClTDBGmaEksDVtPdCOGP9Ux6qne7YENFX0HqmyPZTOc5hexBho3wi8HrFG+AecWeyu/RcEmECrXxCK9MO71LmmIhVCTiLmste53M9Wk7FB/RE6SXm4St+6+GjXlgkRJGLWIHgz69pRTAguwMk6PuN7fMyvCYZoSj84Nd2N7nESlHh9XKoD18RxlMprUfK6lNEU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(39860400002)(376002)(396003)(366004)(66946007)(66556008)(66476007)(8676002)(4326008)(316002)(31686004)(86362001)(38100700002)(31696002)(36756003)(83380400001)(2616005)(6512007)(6506007)(6486002)(53546011)(26005)(41300700001)(478600001)(966005)(54906003)(6916009)(5660300002)(2906002)(186003)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aldHMDlKcjFxYUZ2MzFBNWJrK0R0b0w2d3BzY0JmVmhpTzY2VTRzUnAwS3ZY?=
 =?utf-8?B?SnQ0VjBCUWNtM0JQMHhFdjExSlNtUVJyekc5WU5tcUxMQ0Yzd3FGL0wvdEgy?=
 =?utf-8?B?SlBhbUcvazJGOUhQYWtWaENrUmIvUUVibGdkWjlWbEY4NU0xNW90U3BRVGd0?=
 =?utf-8?B?bm5RVWVLcm9ZZEZORzZnUEp0ZGxrZVNZdjlmTnlYOXBmVTBJZ3ZMZ0FaQ3M2?=
 =?utf-8?B?MEdYSHkxU2tZbWo1ZnVFVUNCbHV3d3ZkT2gzT0pGc3Q0MEVwSVM0U2lud2pR?=
 =?utf-8?B?M0hkMTZuenVqWmdiOXYrOXI2V1RrV1ZrajcwTFhMMTBPV21jdld1NFQ3Q2xN?=
 =?utf-8?B?UTlINXhuN1NFcWRKbVNMYSs0SUFGK1RPWUtQay9xcmtLL1lnVkpkcmhtVGdG?=
 =?utf-8?B?MjE1NE9La3RVS3o3dXI2WXo3WEZIcUJGZWE1aFJXc2V6TXB2LzdqNndDZlpJ?=
 =?utf-8?B?UEtTdURBY1pnU3JVU2szRHpIRXAxOGhQTnRBeUtUKzJOa1loVEtzSVBJZnRn?=
 =?utf-8?B?dTZtcVhxK2hyZXVkek9NNWFRYldzK1VieUt1OWRHZHh4MTdPYU41ZHZRblAv?=
 =?utf-8?B?cEFaQnk3R1pLMDUraitqQmZPbkJxa2VwUnMxSVVzeFFaUUpmaXVFTk1iQjBJ?=
 =?utf-8?B?citlSytFc25VSHdKQ2cvMU9VZ2NRYkk2cm9GbjZ3V1RSSWErbWwzY0tpc0VO?=
 =?utf-8?B?eUNUMGovcVJCWXZYT2dwQVFiSTV3TnozYmRtNTV2d1V1VS9YUFVKWllJU016?=
 =?utf-8?B?bzJiRU5RdXEvZXJpRUhKVHlTd054S1pPWFdqSW41QjhmQXFKck9Vd3dpV2FW?=
 =?utf-8?B?b3dONHhkdE5HdWRqbkgzUFY3UnFtMjhKdnR3TS8yY0NrS2lIanNiVGplcFlH?=
 =?utf-8?B?a3NmblY3VkwvUDdmdVN5RTMzVTVhKzZYUmVqZTJYeU1NeDdrOW9mUmQ3Wi9F?=
 =?utf-8?B?am9YNHMwc3dReHVLZFNBLzBHa3FRRVY1TDZRbmJRazNqZ2xjbEs0WmNxNVhW?=
 =?utf-8?B?dm1KWHF1OCs0SmdmYlFFNWJhZ0gxWUo5MXVsQjRFZlpOVHF5QktveXVRTWdv?=
 =?utf-8?B?NTgwV0xTQ2ZMK1NFRE41MVRVUlB1aUd5Nld1d2hnK01mdjZXVEJuRU1uQ3VT?=
 =?utf-8?B?YmlhUW9aN0FNNWhSL01YZ0pmTHJjQnVIZHR5RE5yVk0ycldhQmVHaHBEaEg0?=
 =?utf-8?B?RWtIbFRwTUJ2MnBXaTJ5OTN4SE9SZktyQVZIUGtGa21zOE5lbFQ3QnNNOUhF?=
 =?utf-8?B?K1Zmd20xVExyaW52R1B3ZmMzekdIOHNZWXZOK3Z5VHMyc0xteVBPYXdYbXV3?=
 =?utf-8?B?YjFqNWpCRmZybytweXdIbnhYdmp5V3Y5MWRXUS9RdG9TZDZzNHArVGV1Kzg4?=
 =?utf-8?B?c05NOHFQWjlHdlAvbkFJY2NQODczZTJQVmsvS0doZ1kySXM3VHNHRDVPTHhS?=
 =?utf-8?B?MzVhTUNVMHpMcDU5dmpseXIrUVB4OVY3SlM2OHJCZEh0SCtuSVdPN2hwelZu?=
 =?utf-8?B?SVZWZlZCVkM1UStrZGNxNHNycFVqLzNEZGgvTDkwQVN4ZFczWFFMT1M4WWwr?=
 =?utf-8?B?dTI1WVFPVjFTN2x4dHZaS21TTFVzSzFNclhMYkdkZWdNektkaUlIdWpMV1U5?=
 =?utf-8?B?WTVXWm1pOUE0WUhyQ3RwdERPSks3R2RVSnJ5UUlLQUE5RFJOV2Q2M1lENDdO?=
 =?utf-8?B?YmNOZ3dHemh1V2pqV05SYU91YlE0OUorWU0zNlVpWmduRnMraERobGxHZERN?=
 =?utf-8?B?b0ZKd2xmNm1hdVE5cnlvNFZPNUQwLzgwS3REaTBIUjQ2VnBIeXhHZDRCVk9k?=
 =?utf-8?B?VDR1YmpWMitTUk13ZG9HWU14SnBtb2FXS01QVGVXQlRtYmcxRDF1eEJaRkRB?=
 =?utf-8?B?V1dwcmlsSWFsU1JQcW9lQnNOTWx6bmU0V3p6cDY4eVJrdEtYdUtzZ0kwZ0g2?=
 =?utf-8?B?VkIvQXNabTEybGliZnllWXlqMDZKRnpZZCtqSUF0VGkxbDdIKzJqYURNMy9G?=
 =?utf-8?B?L1RTYTZuSDNSazZZclJYRGFNdGVuSGhsOVZIM3RQeHc0RTlwWERsVjI5cmlm?=
 =?utf-8?B?bzhBYk5Pa3RqeFZINnAzN0p6UkdSeU5tNnpFdzI1ejQ5SGVPVVNzZFlNcjla?=
 =?utf-8?Q?2odcRr4AJ/YT8pXaxnm+ZbFX5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aeef0807-042c-4177-c194-08da7f79ad07
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 11:22:59.8489
 (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: 1b9bJVYgxB5BBVWSSmKXm9M4re0EaNSvrMAmxr5Oc8ki2zinHfbjdRMy+M7FnVb0pBcuvLQFidEuKI2ug9V2ew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6812

On 15.08.2022 18:54, Dylanger Daly wrote:
> Please see the attached dom0 dmesg log, verbose lspci output and a tar of all SSDT and DSDT decompiled ACPI tables.

The only way I can currently explain all aspects of the behavior that
I'm aware of is for Dom0's kernel somehow not identifying the page
that ACPI wants to map (via ioremap_cache()) as identity mapped. As
far as ACPI goes, this is what I read out of the tables:

In SSDT27.dsl we have

    Scope (\_SB.PCI0.GP17.AZAL)
    {
        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
        {
            Acquire (\M27E, 0xFFFF)
            M460 ("FEA-ASL-\\_SB.PCI0.PBC.AZAL._PS0 CpmAzaliaPresentState = 1\n", Zero, Zero, Zero, Zero, Zero, Zero)
            M279 = One
            M276 ()
            Release (\M27E)
        }

M276() then invokes

                Local0 = M017 (Zero, 0x08, One, 0x19, Zero, 0x08)

with M017() located in SSDT16.dsl:

    Method (M017, 6, Serialized)
    {
        Local0 = M083 /* \M083 */
        Local1 = (M083 >> 0x14)
        Local2 = (Local1 & 0x0F00)
        Local2 += 0x0100
        If (((Local1 + Arg0) >= Local2))
        {
            Local3 = 0x7FFFFFFF
            Local3 |= 0x80000000
            Local4 = ((Local3 >> Arg4) & (Local3 >> (0x20 - Arg5)
                ))
            Return (Local4)
        }

        Local0 += (Arg0 << 0x14)
        Local0 += (Arg1 << 0x0F)
        Local0 += (Arg2 << 0x0C)
        Return (M013 (Local0, Arg3, Arg4, Arg5))
    }

M013 carries out the actual memory access (32 bits at offset 0x19 from
Local0 that was determined here; oddly enough a mis-aligned access,
but that itself isn't a problem). The base address therefore is M083
offset by (0 << 0x14) + (8 << 0xf) + (1 << 0xc) = 0x41000 if I got
things right.

M083 in turn is a field in

    OperationRegion (CPNV, SystemMemory, 0x7AF67018, 0x000100F7)
    Field (CPNV, AnyAcc, Lock, Preserve)
    {
        M082,   32, 
        M083,   32, 
        M084,   32, 
        ...

so the first few words of machine memory at 0x7af67018 would be of
interest (assuming of course that address doesn't change across
boots). 0x7af67018 itself is within the ACPI NVS range. Could you
perhaps obtain this from one of the /proc or /sys interfaces (perhaps
from a native kernel), or should I make a debugging patch for the
hypervisor? (Making one right away, with further logging added,
doesn't seem useful until it's clear whether you can actually also
observe output slightly before the actual crash, which has a risk of
being overwritten or scrolling off the screen.)

The situation of course isn't helped by the kernel's PFN <-> MFN
translation asymmetry in pte_pfn_to_mfn() nor pte_mfn_to_pfn()'s
anomaly (as already noted over two years ago in
https://lists.xen.org/archives/html/xen-devel/2020-05/msg00549.html),
albeit the exception error code suggests that the former is what is
getting in the way (and what would then also result in entirely
silent mapping failure). While I would like to patch the kernel at
least as much for the PFN/MFN to survive and hence appear in the page
table entry dump associated with the page fault, I'm afraid the
resulting entry could be recognized as a swap one. Such a patch could
hence only be used for debugging purposes when no swap space is in
use.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 11:27:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 11:27:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388251.624865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNujW-0007yt-JX; Tue, 16 Aug 2022 11:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388251.624865; Tue, 16 Aug 2022 11:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNujW-0007ym-Gw; Tue, 16 Aug 2022 11:27:42 +0000
Received: by outflank-mailman (input) for mailman id 388251;
 Tue, 16 Aug 2022 11:27:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNujW-0007yc-2q; Tue, 16 Aug 2022 11:27:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNujW-0004XD-0U; Tue, 16 Aug 2022 11:27:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNujV-0001N8-L9; Tue, 16 Aug 2022 11:27:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNujV-0005sK-Kk; Tue, 16 Aug 2022 11:27:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZBcBkOvjW4ppwKau3gle9xQEjrxCrwtFHgmWh7Opjb4=; b=4ywwKRODZ0s2ve8MpfUJXwxX2t
	AJIQr1UzI4EZRmAFLJYqGsCqlmUqvwUalKRwc7yhUpIZbAjitj9deuam4vE0cElqw2K3l94Bbef+Z
	RAfIAeILUd3GTceX0NJq5HwObPPamnSis4RBRr15trkFxXDd+w6IGO3hN08lWryx0v2k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172567-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172567: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=2812668bfc121ee792cf3302195176ef4a2ad0bc
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 11:27:41 +0000

flight 172567 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172567/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 2812668bfc121ee792cf3302195176ef4a2ad0bc
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   12 days
Failing since        172151  2022-08-05 02:40:28 Z   11 days  101 attempts
Testing same since   172560  2022-08-16 03:20:18 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 674 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 11:51:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 11:51:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388261.624875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNv6d-0002lN-Gx; Tue, 16 Aug 2022 11:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388261.624875; Tue, 16 Aug 2022 11:51:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNv6d-0002lG-ES; Tue, 16 Aug 2022 11:51:35 +0000
Received: by outflank-mailman (input) for mailman id 388261;
 Tue, 16 Aug 2022 11:51:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=DWYI=YU=xen.org=tim@srs-se1.protection.inumbo.net>)
 id 1oNv6c-0002lA-Ap
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 11:51:34 +0000
Received: from deinos.phlegethon.org (deinos.phlegethon.org
 [2001:41d0:8:b1d7::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c554d504-1d59-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 13:51:32 +0200 (CEST)
Received: from tjd by deinos.phlegethon.org with local (Exim 4.94.2 (FreeBSD))
 (envelope-from <tim@xen.org>)
 id 1oNv6Y-0002Dl-0N; Tue, 16 Aug 2022 11:51:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c554d504-1d59-11ed-bd2e-47488cf2e6aa
Date: Tue, 16 Aug 2022 12:51:29 +0100
From: Tim Deegan <tim@xen.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: Re: [PATCH v3 0/4] x86/P2M: allow 2M superpage use for shadowed
 guests
Message-ID: <YvuEwQRRwqbndTgM@deinos.phlegethon.org>
References: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
In-Reply-To: <1522137d-cfa9-22e5-64e8-b1795ddbce21@suse.com>
X-SA-Known-Good: Yes
X-SA-Exim-Connect-IP: <locally generated>
X-SA-Exim-Mail-From: tim@xen.org
X-SA-Exim-Scanned: No (on deinos.phlegethon.org); SAEximRunCond expanded to false

At 09:43 +0200 on 12 Aug (1660297391), Jan Beulich wrote:
> I did notice this anomaly in the context of IOMMU side work.
> 
> 1: shadow: slightly consolidate sh_unshadow_for_p2m_change() (part I)
> 2: shadow: slightly consolidate sh_unshadow_for_p2m_change() (part II)
> 3: shadow: slightly consolidate sh_unshadow_for_p2m_change() (part III)
> 4: P2M: allow 2M superpage use for shadowed guests


Acked-by: Tim Deegan <tim@xen.org>

FWIW I think that adding some kind of mfn_mask() opreration  would
be neater and more understandable than subtracting the PSE flag.

Cheers,

Tim.


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 12:52:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 12:52:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388275.624887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNw3Y-0000Qm-6x; Tue, 16 Aug 2022 12:52:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388275.624887; Tue, 16 Aug 2022 12:52:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNw3Y-0000Qf-4A; Tue, 16 Aug 2022 12:52:28 +0000
Received: by outflank-mailman (input) for mailman id 388275;
 Tue, 16 Aug 2022 12:52:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNw3W-0000QI-If
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 12:52:26 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80044.outbound.protection.outlook.com [40.107.8.44])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45b9a499-1d62-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 14:52:25 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0402MB2890.eurprd04.prod.outlook.com (2603:10a6:3:da::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Tue, 16 Aug
 2022 12:52:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 12:52:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45b9a499-1d62-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aIE+2OAARIwPq3HsYVOTxoI/7uafet5z8XV2hkNn0vaw3RsrRa4Pglm1AYt2hDyajpGZba6eFXuscKnSz6pwYjW29P73TYenC7WbVzW30xonUm0gHpKJawyk03lkj749NN7VVknMXsAF0R7i0jakX61DxU9XddbTx9xgocgxvOCYsElIjz8nlyPhJXIUk7zubAm/locqODeGV0hC/TNJ3p+OcgecC5ZKmaAVcOe7L/coCxaNm9ttFwePhSTHQyq8M3eBPSLR/B1X8kBaFXIk592mpPge4fpG48romUIvMiCM8EHG2OdhKwa67bSS7QXlKfqj0crpRalJ8h5QNGX3Rg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yw2ena/XP2tlzURslaoK7HTdPAMCVf6O1iSC4Er5MPY=;
 b=YTJwoGzSQSN0mZLvtiHe/lXVk7BJ7EhAKgEyF3g3wMnBhwVViPbqa3Iv4ie6AcOggXu6rU5uGdjOO0H43jyIrFo/JNujVYdgJchzAaIUjDDCqIvoqHI4H9fIVZhoBHc/DEvmbODQ6p8ofyoiBJgECnVpQOHiV5RU1YfAC1koie55Uh2gPOQhzPCdKLmfKfyfJDZa2UMzNvIzCN/RacmBWm1awFbb7koxZM1CWrg+EHZtqLyx2eKu7nbJhegqZCiqWsmSZNkDpDzA8V0t8llWalgFUrCw4dzU9gyjcQCj2IlavYQJRlqvOAKV0p+43wOWJ+J76YNkw6Qe3fPAYQWWwg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yw2ena/XP2tlzURslaoK7HTdPAMCVf6O1iSC4Er5MPY=;
 b=FZIzmlBz7cBIcR5aIur2RgYnfbpjQqJ+OPrObdaSwaYlCaZGiIRJd3bC6tB5ATKQlNJ6bLU+spm4HUOBzz31++TbYhNXtKIWOwdIIbhKRRpiV5/yFObxO4tQqbAZWvv1/1Fd8YZL+2JwPet05+KmBpi8PPct7FMn2xsBHJTPNgcXUJz6pSXu0C/1fbQQ+13j03Y3Xfpx3NNkM5Ww7UouaYUuXVi+PrYFMPkEDIBqMs8b21kPRuR7WhO4SwkCKRabfEhUpF3shHkg/zHraFYfPZ2K00PWqK0+zBbjKz7J1oFYIwNdUHDS+Zu8w/thdE24gNiBeEylnsotZaiwjFPrOg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <01d2ca0b-2212-1d46-cc4d-60f5f11268fd@suse.com>
Date: Tue, 16 Aug 2022 14:52:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH] MAINTAINERS: CC Anthony on Xen's build system changes
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220816110340.35453-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220816110340.35453-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0175.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bfa63af6-c069-400e-d962-08da7f8628e4
X-MS-TrafficTypeDiagnostic: HE1PR0402MB2890:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gDJDMyVZt9RRTSVZSYcB9mPkj78dgQdd9FVT1kVTS39RxZAsJCMiQZW8DOtDHPt/j6d4UgPgeGYyu7azuzsr9w7m2co1u/6WT9XKhtiVN74nrrcy0KHbHVD9RISmVrraD2sBkcmuRsV8bh5ZqStiaKecre+7GU/1RQ6sHToIMJSWe3ZqLHC1GO2WfTuQYiNl5AZmwLHtKejHEp10+9FEiew5NkTo4rYhe8JY0d+voRDf5yTJADxZLzKKCVWPr3sjD4rDhA2pPTC3Sjupbr7TrFPpklG5FTGqj8SOM7UoUqwvM/05+g1ZCVV9YOGtq3we2j6/zJASr3vh1qB2Vny80ih3TWpos7OzpaHdyjanb2guRgM8jtNctuUo20pmyO9FvoOux3F1pDXBjtGBr/VMwHwfVKN64s3p7YVXTUvJZ52Ap//DmNXl+lsU6i7TIVAvFjth88y7pxc8ighTcala7eVWO6ZE+E4wF98fdrp6DQ4iAYMoW7wkPNqKElR5hSb2dnHDhGzeiPW04EHkFvWTs8jLsr65d3rjxv0OZ+d0n0qCnig+qXcE442cSqB2ULCz0h6+mGAtETyEQwAW8GfxD0es+xMRNKUaCzKZ7IniB2GSWS7oG8NL6vunbl5MQ1fSFtsTvbP5gesJq/CZdk1FTa4w+06/27HG3CjPN6aNUppvnNAI3C6wPrJutwG6r3wfeM8BOZCb8uNmJOno7JykLG6aZlYWbqJkQA+bmNZPiUVI05ONgcg1axEyd94/Wpz59rOeKyFI+hdcCXxohNZdqV4FqSRYGBeGjxiBxCKPAupQu2OicMnYlkLI3KTXT+9W6nbP4yeow4kDeWaF3aXc9g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(39860400002)(366004)(396003)(376002)(53546011)(316002)(4326008)(38100700002)(66556008)(8676002)(6916009)(478600001)(31686004)(66946007)(36756003)(54906003)(6486002)(31696002)(2906002)(86362001)(26005)(5660300002)(8936002)(6512007)(6506007)(2616005)(41300700001)(66476007)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q281MFBYblIrVFlZMDk3THBlWUxMMjFZN0FuYUk1SCtFSGhlNEFuYlVMS2tP?=
 =?utf-8?B?Mk5FQ2kwRGY3RmNRVjFPZy9yUXUyZkN6SUI2K1krc3R2VDlZeDFVa3ZjL2Ns?=
 =?utf-8?B?bTdtVFVhdmVuSDlIMzhKNTMxU3A4MzJKT1NxNmVtRm9VUnFBVTBKRkJFcThM?=
 =?utf-8?B?WlVxbmVRcDVKQ0FyNXE4cm9qYzQraGhxclJjK1VtQkkzd2RQNWJhdzRHVGRK?=
 =?utf-8?B?Yzh2NEh6a2duUjdqbzd1aWFEMGdzQm5LWnlrc2hoaEdXNEJTWDJzc2E3QU5Y?=
 =?utf-8?B?cHlCSUNSbnN0QkZMeFRUTXB2aUhDVUdZcVJkaVNycElERThpUXBxTWdRRnFy?=
 =?utf-8?B?aFV6R2l1emgybjZvZERGcFl5bFdFWkl5dXNNZlh1MmhsTTlHQWsxSUExU0FC?=
 =?utf-8?B?dGhFczBkWjI3emVQSnUrVDhVbnhZUVBXRVBaVzNTQWgyRzBNQlk1MFd0QXgy?=
 =?utf-8?B?SUhxc3JPNlYwdVpTMGFHYUtVditRNmY4SUxlNG5zd2k5S0J5cFdZWk9relRQ?=
 =?utf-8?B?MDVuNU9Yczd3K1dEZWFtVjhsRkpXNXBQS0lWNjNZbWZ6a0FMYnVmREJySGVJ?=
 =?utf-8?B?OE53YUlwaENPWmVwbW8xOVdQc2lmd3hDRzdFVStNcnUwL21YZkZMV3YzZVd6?=
 =?utf-8?B?TlIvc1dNcDA2VGFoMGcxcTJFSkgxRHpiWTBBdnk4Qk16TjVLa3ppSHRnR2FT?=
 =?utf-8?B?SDZ6QTVvSmE5TlRPblJLTjhkbmh1QktOaEIwN3FQWjE4RHJhSVJOYWFoMXky?=
 =?utf-8?B?TWFMMTBPNWQ1aFU0ZVNLazNQRjBMVkgvTE9GT1E0anBES0RtOXF1c09lZUlQ?=
 =?utf-8?B?SlpWUFFPUUp1eldienovZlI1dmp4MUk4cGZOKzRvdjNsNWdja2VBbW1UNkc1?=
 =?utf-8?B?Q0VMYm9pVlpRN0ZlK3VhYVNrMS9xdXNsejhOZXlSQVN0c0dyTWxsKzI2VC9Y?=
 =?utf-8?B?WE83WWFSMS9nQno1UHJwaHlFQmdoKzUvWGs0VXNWNmFLWkJwTTJXWXU1VVo3?=
 =?utf-8?B?ZHNmY2RzcVRWUGZQb0pVSGcreGZLWkQrZWY2TWUvTVp4aHQyTUpFcTFHMzRr?=
 =?utf-8?B?cnhnT2NnbU9lVjkyTmlNTDVnc0t3WmNwYXVHeisxODdNZC9OcHppR1BGaUdC?=
 =?utf-8?B?YlExakxibXg1YktwVXowclY5UkFQT09TNCtiOVYzWUREQTZHeTdOQUZwemNv?=
 =?utf-8?B?TUo2SCs5aXVaWUpIU3NUVkEwWGFYRitLc1dlWlNVN0hlaXRsbXAzQnFOSUg2?=
 =?utf-8?B?MWFMd09WYVc5ZW8zeENlLzczbWxZZHhoWElRVVpRQ1ZkOUpvZ0hrMHJwQnk2?=
 =?utf-8?B?cm0yQW5YbVVFVjhPUnhhSDVWRkRKOHZUK3BwdWVhc01ndEZEc09JUkFvTFg3?=
 =?utf-8?B?R0RIc0U0MUZjQzhnM1M2QU1ZY2JFdXpXa0JBUXNpVXhyV01iL1lqRmZCR3ll?=
 =?utf-8?B?TmVoR3Z6RHBlMkEvVnlUcUladXZMY0svQXY1azVQLzlNSnE2R2tQaVduYmt0?=
 =?utf-8?B?aUhSQVlKZnhSTWhoM0UwOFN5QmVJWmp5VG5zNFJtK0EwV1lyVDlpZnRiN3Nn?=
 =?utf-8?B?ZXJHb0JnS3I4SGsrQ1RocmxDM3NWS0ZQdzBTOUtSbUN2U2VKUW1YR1ZoSlRF?=
 =?utf-8?B?SWdvai9iaWJCamxHRDY2RmlSWUJlWGNDOUFiNGdYUENvUGl1NDJVYkNLOEta?=
 =?utf-8?B?eDRycklESEJDZ3dzU2ZraklxeW5GT0hUaFhFRVlNYUc5WEFMRURyVWRlcUtY?=
 =?utf-8?B?MFFJNWg2cDVDNnUrYkhiZjdtRnVaV1JrbFJpelBiMGoxNlJybnhVU3VlOHd2?=
 =?utf-8?B?T0hZMU1aU2wvWDZjQVltdVQ2bytWaVhhUkxEeElYNC9xTUlleHB2Y2FzbmpH?=
 =?utf-8?B?NG1MYWlCUlpNK0EyenVHc1JxYjJLd3R2bXZhcVBLM2xXMVNLQzRwNmV2Mkc4?=
 =?utf-8?B?azB4Y1lRMGluN0twVXFRcGJndEFCdkVyL0dGVS9MVEI4aGFUY1BFMU9kKzBK?=
 =?utf-8?B?aGcvbEUvVFBLdlhyY1VlV0ozSTJoR0Q3MDZkaEM2QXB2MDBPaW9zTVkyZ2pp?=
 =?utf-8?B?TnZYd0loTHZGYjgyVzdXb3VlajFRMjlrc1oxcE1MalBIcnpuK3loY1ViSHVG?=
 =?utf-8?Q?uXTCCA30w/EZD0IdaeUOTPm5X?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bfa63af6-c069-400e-d962-08da7f8628e4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 12:52:21.6184
 (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: QDu/TOMS0Sv/29OeZZgVkskYGIB6jAClf6OTqIUOZr2GUd9JloORugjZ9o/W+S4LtTMc37El2kiyww9cIQcttw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB2890

On 16.08.2022 13:03, Anthony PERARD wrote:
> I'd like to keep an eye on any changes in the Makefiles, to avoid
> further break of the build system.
> 
> With this entries, it means that THE REST will not be CCed anymore for
> changes in
> - xen/Makefile
> - xen/*.mk
> - xen/scripts/Kbuild.include
> - xen/scripts/Makefile.*
> This could be an issue.
> 
> Most other files are also listed in other sections so would have a
> maintainer. There's probably a few Makefiles in subdirectory that
> would have CC THE REST but won't with this new section.

Ideally the script would still pick REST if there's no M: entry;
I have no idea whether that's already the case.

> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -260,6 +260,20 @@ M:	Rahul Singh <rahul.singh@arm.com>
>  S:	Supported
>  F:	xen/drivers/passthrough/arm/smmu-v3.c
>  
> +BUILD SYSTEM XEN
> +R:	Anthony PERARD <anthony.perard@citrix.com>
> +S:	Supported
> +F:	xen/Makefile
> +F:	xen/*.mk
> +F:	xen/scripts/Kbuild.include
> +F:	xen/scripts/Makefile.*
> +F:	xen/common/efi/efi-common.mk
> +F:	xen/arch/*/*.mk
> +F:	xen/*/Makefile
> +F:	xen/*/*/Makefile
> +F:	xen/*/*/*/Makefile
> +F:	xen/*/*/*/*/Makefile

I'm curious what the sorting criteria (if any) was for the individual
F: lines. And I guess the last four lines can't really be collapsed
into xen/**/Makefile ...

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 13:02:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 13:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388284.624898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwD4-0001vq-61; Tue, 16 Aug 2022 13:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388284.624898; Tue, 16 Aug 2022 13:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwD4-0001vj-2x; Tue, 16 Aug 2022 13:02:18 +0000
Received: by outflank-mailman (input) for mailman id 388284;
 Tue, 16 Aug 2022 13:02:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNwD2-0001vb-JH
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 13:02:16 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2083.outbound.protection.outlook.com [40.107.22.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a69ada8b-1d63-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 15:02:15 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6376.eurprd04.prod.outlook.com (2603:10a6:20b:d8::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug
 2022 13:02:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 13:02:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a69ada8b-1d63-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IdZJVXjEkdCAi++HD+K1KVLPkYRxkLvxFs8nHPOKiZqJOfaEykHf0FzW/pryHyviVfxFYAlM00LltWGz2OBTWJ95uD4O/rj+dDRp8R3WHNvrytmsYvuB1LTfMeLCCP7M5YBWeqtdIMmjQEI5ST8y17OrXRURoGpVT3Hs+5W5n2oiS4+FLTs1rET1WtDwCoOmd1NnUcgEmJ8IqcGEM7cCEylopuOOABpQ6CrytL1njw6zM+DtE+ukdUyfVBVANDHWrswq6aIz5cNa8ROgm319xuG+9M6y7FwYxJV+LO6k3ax993PXw0CYojVbraUYGjrBUI+2YmB5u2Es94IO62tbgw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RdSuHhwhrm46v3ObyrtiMu+QT0/tENgG7zqq4aYFtVg=;
 b=GHv1WHNSDMVwBGSQei1Gm1bBdkOrCxB/ejDTn4VARuco2md08IHGgp/vZ9jN5p/KPKct+3kESEdv+LL3+lp2skSuoXldn8SLUMXKuaNhxgUnfBmJN4o6J88bA/8OGICcLa3Mp31rMp7ajlPPULC5vzrjtVhikOMeIzULX9T9uuW78hDoFs4YQjlZZOI9hXFNXX/g/r/NksXZhX7h201091Rx5A2+htpKYvx8FQ8scBigmcmYVyaMp+VTGuxk7uKViZQpyztxxe5OMo3Davh1fXSO4jyM8awd8bMTjMjVZGmVdN/gIxccWXmEkTMCnSWnQmho/N5Sd21oe79+WSdmOA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RdSuHhwhrm46v3ObyrtiMu+QT0/tENgG7zqq4aYFtVg=;
 b=y+g28O5AXnZrzxNFiB7cBUYlzVEebZEqszDq4YCQImwGsGzKv8ze012OdDVFK50p3zWKEhpBK/YiXI9jh9An5vRi/hkRWbs93hQYcdWdBZw/e88AjCyIo7YjmkiQi1PpyuJyX+xfAqJcouL2usRjrwOcqLbxIws5mb9hqspauq0vyphCtNRnG391CxqrwBiLU8M+UO953xnST6AJhNPkFl7vi6jLNjQf4B98lxsg5VxUwmgfZRoVIXevZkRdpeADeNVAjz8qCw3hwR+3uIoX/Szig0BYIDoi6XxmtNe8TCIYgNLVlTofYWLdRy59lCXee1Hwf1YGyKbasGxXUs8Asg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fb2a0fab-3e87-9a2a-a881-31ea7bdeae99@suse.com>
Date: Tue, 16 Aug 2022 15:02:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH] build: Fix x86 build without EFI
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Wei Chen <wei.chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220816103043.32662-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220816103043.32662-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0201CA0006.eurprd02.prod.outlook.com
 (2603:10a6:203:3d::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5642fbba-4611-4de5-b991-08da7f878948
X-MS-TrafficTypeDiagnostic: AM6PR04MB6376:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ccpE8A4SJxqG71yqMLozxHsgWNxGYsdFphQJBKcnukWFpJyUDvgn/f11mw5/ClsUuIWsxw11fuiPEG8pqezB6/nca3IdN+zY6PFJXcHS7srqgSmswccqiTlbi84Jtxt6Bt1mtQxDHQNWuUaUXmjnujR9xDLTJn8DMQJqqlDFOwfRBWULIQaFaMXr0Lur7YDOrS+ZfFDz9xrclGJ6UNj/YVuTpt8jrJfhunwH/L7wkJUYvOhf5YW+Jzq7QNJmfuVMdOO2Vp+LkDcL8bFvteOBJYSPd86NTw+KduAzf2YRztCWpwjkrTb7gdcSVAwjTnKnano+tl73oihBQFcBSQkz3uteGxHj80x27SfpfXcl8vCHvVBCRgmwfn53lCh6KGD483YgbTResYPYIFI4AIjjL2FHx6XVnufpIiIGdoEj7o9UeoSL3BZyrvbdKzQto8A51ZWPmtTznXW2aRirpXIAqew0xOFcKL0a9SX6NLKn1esPMo9Fifzo14a/7CiAfcNYMZmSLHLsmtdg7lKXsv64OVhMT/WGhbURZGFB/5Art4qG1le6Kq3kC6wQJOJoVK9ZbFi2G5MDG2UZVrjrn+XuEWZoZEvnueQT6n7ba9bucloFRWocqoTY73Cv2AEzviMjlSduKQ1tsORXSOC64rg2EuCGaCypiSFFAzVFRaE9AjQb1abmIFsoHQLElyveA1o2bZpiE4nLGOwiGep8qep1bVQ702qpusGC9aQNgJ1p/V9YJ/Cz/XdCd7A3qrADFwi257MC30EDhU/P2fRX91zJt8c07UvX2eNvblzBK5NKH5/pJOL6skVQBRwISkbqe5LtCd2AW9b0osfh38PCFZs9iw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(376002)(346002)(366004)(39860400002)(66476007)(2906002)(86362001)(31696002)(8676002)(66946007)(4326008)(38100700002)(66556008)(8936002)(316002)(53546011)(6916009)(83380400001)(54906003)(6506007)(2616005)(186003)(26005)(5660300002)(36756003)(6486002)(6512007)(41300700001)(478600001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bUdEejZtVHpvR0JrSWhjRTZ5MnlYQlRnbXlUTUhHb294eDJSd2xndVVXN2hh?=
 =?utf-8?B?UzlsODYxWTdPOTdYL2hpT1FPKy9TLzdvZkhmNlVEamRWdWlmeUVhejk1SmFR?=
 =?utf-8?B?NWJzTE9pbTZsTU1NMENmUSszYUU3endIaXNNckhxVVJ6bFBwRy9PR2RNanFL?=
 =?utf-8?B?RHVBYWdjVmlWSGYvQm1YN3R0UkRnUUdLTGdLd1VwenZsdGNUODBTd2hMRC9I?=
 =?utf-8?B?RUhxS1ViMy9BbTVUdk5PTHo1REVwb2tYTDNEOFUzUzNOY2NPa09VeGh5RDJ5?=
 =?utf-8?B?V09DT1NXREh6cHpaeTVjcmxIaVp0ZWI3MjhHdVltZzlvaVFpdG5KbzdoV2xI?=
 =?utf-8?B?NFdhQmczQ3JHNzBwVFlDaUlBZDVQVjlHNXNNQWhncWtaVnN6T2YxMlFqQi9N?=
 =?utf-8?B?TGlKOEFHelR6dkxabXVhTHJ6eFlpaHF0UWhjb2piZW5LTXk1eHpUUXNXM3NY?=
 =?utf-8?B?MGZxTFdwejFrOS9XczFlbHA5VFJMZDFWR3dKUnozcE14ME05OVhUa0FEZ2lx?=
 =?utf-8?B?eVlaNExiR2VKcEFONGNraHF5c05OM1BHcEZPYlJWV0F3L0RXcE5RVVB1aGQy?=
 =?utf-8?B?aSsxUlpTbnlyWTc2M3VXNDBnSkdyVlZHMUZOUi9admhMMWs0MjJMd0xCV2Vx?=
 =?utf-8?B?ZzhvWFRjUUFjYVZSbWNNdzEzNXgzQWV3ZzdKN0dua1E4TmlBd0t6ektkblVp?=
 =?utf-8?B?ODNpTzRMNWJQc05RQVNnNngwKzkyZXFHb1h5eDllaXFraVk0Vm1KaFZqdUFm?=
 =?utf-8?B?ZFRFU0JUQm9yMXJMNTJpWUZFb2txdzhUVmc3Ukt1L2NiOFQ1U3U4U3RaQ3ZG?=
 =?utf-8?B?clZxUmp3bGVMS2NxbFgrRlJKaEM0VXJKWjh5NWtlOHg4S21ZaUIzREYxaHdr?=
 =?utf-8?B?SFkyelF2dkdJbTJLdytncXIvcmduSGxrSEtnVi9aSFA0V3J6akdTSFpNR2JN?=
 =?utf-8?B?UUQ3QTJNbzM0U09xNVB2ZVRHeVBhV0RQVnlDZmUyd3RoTzc0cFZwNmpwbDgr?=
 =?utf-8?B?L01PL0M3dG9zLzkvRmp3VXRXeUtzVFEwN3hoNFNPMnVlWjM3SWhSQm5xSlFV?=
 =?utf-8?B?dTJzT0NZL3pyZ3pYbVp3NFJNWFNiTGJpckx2RnNsSGhpa015TnFOeXNMbEZ1?=
 =?utf-8?B?M29pQWw2YWlKekE0cENMbEhMTmJSLzcrK1RsT05qUHNqd0Q1OXp2R0tFM3JB?=
 =?utf-8?B?bGVWS0dOVFdHVGp1b3l4QUVZcW9HdktTa3pyYWNiSForNVRVSkpyWlNsYWZt?=
 =?utf-8?B?V2ZvUGR3YWgrV3grTXVpT3Q3OGVQcmd1eWFwaUJiRHJURWVFOWlvaGYwTkky?=
 =?utf-8?B?K3B2aU1wb2VVRk1IWVIzY2JLU3JRRFRJRXYyVEFIOG02QmMwY3pEVmxIZERG?=
 =?utf-8?B?SkxDQXdONWI1Z3dyeXNlRVFTM2NOVHk0QU5qTTE5eWJpdmw4MkhteDA0ZVJ2?=
 =?utf-8?B?ekxWNVVvMUpJeVpjY3dnQ0FvSFBxSytTMWVqMXNmRG9xc3VBN3FtTjg4ZUZp?=
 =?utf-8?B?dXlZR28vdTZodVNwZlRyajdMZXNGNXdqTmZpZ3RsUzRrNmJJbGw0UTdFR3RN?=
 =?utf-8?B?ZFRzaFF4QlB5UU0yU0h0UkZ5dk9wTmlQSFNkR0lNcEdmbkF5RG85OW9ISHRR?=
 =?utf-8?B?ekQ3bm9RTnhoMjRRSEdYYm8xNWRmWlZWbmZSYjdaT0ZkRG81dnpvWUpVRDNI?=
 =?utf-8?B?MUVkdmVXRDNQUWc3QjRaQytLaVVvYU9qUUR2bC9xNVNDNW1HdElrclpVQkdJ?=
 =?utf-8?B?clBKeVpUQXpJSjk2RzljL3dWaEpobzFLUkYyNG84MFFpWkpHVStvOVB1ZkZz?=
 =?utf-8?B?MjdveDdRV3p5VXg2Q2F0SElMS0VKcTY3cXlnK1dNSzZKdWxRVHM2UnAvR1R5?=
 =?utf-8?B?WDNVS1p2K2ptTVZWMUIweUhjRGxCQklOWHE2RTk3YmxpZDZmelNBUjZWZjJX?=
 =?utf-8?B?M1ZWenp6bDEzY1BTeFc2R0NOY2s3a3hMMFNvdzBSeCtacE8wM1NlTWF6RW1C?=
 =?utf-8?B?RUxuWE1qL3NXcVplR2JaVkVZTmlUeDM2VUNkVzQxWU9wcmpPc0RSOFFDNzV2?=
 =?utf-8?B?SVdLVXJjV1J0bDdWNXB0OS9YNmdHNU5EMUVNYXpSeEpPbXJJanVPQkFlRUJz?=
 =?utf-8?Q?Y41QntPawOEeMtQFMZLZ+LBy9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5642fbba-4611-4de5-b991-08da7f878948
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 13:02:12.8153
 (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: r650qfzjo8zI/FSV9ndqwEw984cek/9A3yJP/65wkqpYTXAVOCMM+yKgL1yxLjBepWde1TU/dy4hI9gCad3soA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6376

On 16.08.2022 12:30, Anthony PERARD wrote:
> We can't have a source file with the same name that exist in both the
> common code and in the arch specific code for efi/. This can lead to
> comfusion in make and it can pick up the wrong source file. This issue
> lead to a failure to build a pv-shim for x86 out-of-tree, as this is
> one example of an x86 build using the efi/stub.c.
> 
> The issue is that in out-of-tree, make might find x86/efi/stub.c via
> VPATH, but as the target needs to be rebuilt due to FORCE, make
> actually avoid changing the source tree and rebuilt the target with
> VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
> exist yet so a link is made to "common/stub.c".
> 
> Rework the new common/stub.c file to have a different name than the
> already existing one. And build both *stub.c as two different objects.
> This mean we have to move some efi_compat_* aliases which are probably
> useless for Arm.

These useless aliases want avoiding there imo. Already when the original
series was discussed, I requested to avoid introduction of a file named
common-stub.c or alike. If names need to be different, can't we follow
boot.c's model and introduce a per-arch efi/stub.h which stub.c would
include at a suitable position (and which right now would be empty for
Arm)?

> Avoid using $(EFIOBJ-y) as an alias for $(clean-files), add
> common_stub.c directly to $(clean-files).
> 
> Fixes: 7f96859b0d00 ("xen: reuse x86 EFI stub functions for Arm")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> 
> For the cflag addition in non-ARM_EFI, I was tempted to apply it to
> the whole directory instead of just stub.o. (Even if there's only a
> single object). I think that would be enough to overwrite the
> -fshort-wchar from efi-common.mk, but I forgot what cflags come after
> that. But adding it to just one object mean that it's added at the
> last possible moment.
> ---
>  xen/arch/arm/efi/Makefile                | 8 ++------
>  xen/arch/x86/efi/Makefile                | 2 +-
>  xen/common/efi/efi-common.mk             | 4 ++--
>  xen/arch/x86/efi/stub.c                  | 7 -------
>  xen/common/efi/{stub.c => common_stub.c} | 6 ++++++

At the very least I'd like to request to avoid the underscore in the
file name.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 13:06:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 13:06:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388290.624909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwHB-0002Z3-MO; Tue, 16 Aug 2022 13:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388290.624909; Tue, 16 Aug 2022 13:06:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwHB-0002Yw-JW; Tue, 16 Aug 2022 13:06:33 +0000
Received: by outflank-mailman (input) for mailman id 388290;
 Tue, 16 Aug 2022 13:06:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNwHB-0002Yq-3m
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 13:06:33 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2043.outbound.protection.outlook.com [40.107.22.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f749916-1d64-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 15:06:31 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB6376.eurprd04.prod.outlook.com (2603:10a6:20b:d8::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug
 2022 13:06:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 13:06:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f749916-1d64-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QLbxsEOWeuOhIA/Jo4WastI7Fhs0RaGelSdVafjgUHYuTWpQyusR5uGDvCdMYtuKWD9TTuqzQH96k4GseFd7O9dNuSteBL+JCijx6gTpwQZG/pvQ43hQfzngyNKcBwMacGuIhZqnLuXjtp9yQXw5oPPo4/MjyDwEa0KWN7n2c2tc7ZAWRIAqhs9w1/WMxEIQFj8Q8vOxc5B6bG0p5QQAilu3P0z9Sr06pWKv2DGWEj1VtUCYudFz4Z/48qIt88mO3XFih00kIKRXGJwctHNWlfoXxOQt2KVmrjNsBDlA5mRsGdNuNcaSJT1+QeYLj0cL9m8WKzGn4MAe6uPk+chFXA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=54PJlK6NQeaQU0C4Ii60dBq9PkbZ7K42HFRnfEtd9e0=;
 b=BnA5qtCu/zsL6/7cH8l+Ed//bJnHCXriOm9AKL1KaK47Ru2XuI01ag49TYTO5Tnx+nxv6GBxUAscFHDmbTYobxcefmxkzBTA4GR5AezFp7WyKZVTv6W2Ptvay8jJAeW+mA1C8ND2xVkJfPmBwDuQEK3AtXDK1KW5dZS5uYChFEO7eeFrzjGCTuWVexKcxaVGNMLvmqoXOo8Fk8reEuFVJNjNV8d46EiRFRQBDGSucIawAdxk9TRyFNGXQ4aU+rPds3cqXaoAnhj/26qBFD8/kMbLyU8PUJYI/DKl/Pk179eQ2JSMQ4h4q9fLH4/ss0CdQK79XNKsOFv/GmL32kKb0Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=54PJlK6NQeaQU0C4Ii60dBq9PkbZ7K42HFRnfEtd9e0=;
 b=tA3+ipxW3gpxs2lOUAvfJf847CumsA5bUTaAiIomBHZklocDJIl/gOEBORkmEkbRAdWQOv7IGFQvzsMz2XjnIiiGXaFfbnECYh1jIk7Zmp5hWROU3xFAYcRnvj1QyVl9Ff2KFK0CBK7bpAsd8xM9JL+9qIOK8Kha8gLfs7fW/i/pDkGvm90mMSbQiD3jpfIkZ2BlNRHtpbXXSZlE6sVW2PabYgPT2qKQTFDmEDN8QfD1cboTL9+VOwJL2h4+5NZQpTmf+Rjeqrkqg/7wm23kcacDTI4DjrhxAV7gjQSyRLmE137F9Cg9jUYZvrXj9ZX9pc0efD5SYU9MJvesq0UiVg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <effeed44-afa4-a172-5365-4a7007274957@suse.com>
Date: Tue, 16 Aug 2022 15:06:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/4] xen: Port linkage.h from kernel code
Content-Language: en-US
To: Jane Malalane <Jane.Malalane@citrix.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-3-jane.malalane@citrix.com>
 <2bd30d03-1918-02c7-02b2-cff8d58c99b0@suse.com>
 <a9a16f4f-a891-0801-69f9-5ce66acbc672@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a9a16f4f-a891-0801-69f9-5ce66acbc672@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0049.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:87::26) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7c209e8a-be89-4c5c-4cf9-08da7f8822f1
X-MS-TrafficTypeDiagnostic: AM6PR04MB6376:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1OOv4p+EHDw5tbWQhoAeBCTSvbO7FNofEMXA4cfTmlPTCcRzjtoDr0ljsTHk9TFEpBjqQaQqqpciZsnTCR1Toqb0phh32K8F19AWjJk5G6SkQbjTtX/B7rBQqUHIO4Li+An2ijlx5MNdWF7/6f6z9FLZDupUUDY6fM6b5QJXLzqKvSXoNSnHtQ2f7BNO5L+3L6XzBttMbKdRAe95C6K3WKY5CvcgU1gZHgiwOkUUo92NdqqXzvERTlqSyAPwJaI1SqZ82m9ZCvwp0TV9+lEL01oMIQgEWPoiGJiQ6vejAb/Ws3Q8goIqmCDipC3R6vRvxkycaOpYmxciZtdMtLEzWumIZqw9oEo/bYXNRY7ReEtlOTGdq3Ck+CPeC8MY+C6YEYaycTXIBfCrETcDpP2LunO6tMEr8Tt7te9bwM1cUL/vPpMFkUplYu4O31VBHIKrsFDFsgSbEMtOGYa4E0XLydbAnL5krveh3/hLCAUFVQp5/Y0DT/+Dj/UV/vmYudH4m8VUhCM2jiqlW7LPgEGwL7EjKKl6We0RZG1pLOaKnSDY8ijt1iQAbhabp0LfMKtMwdjWDEGm2ye0eXGHkBDw9a4pLal8MoJkdPnBn98AOPIQM/0aW2igA9YVDmdpRo5Ml10Xq09xwy9qy4s8YLLTaWuWFx7n+FTg4ogzRWRdJVuqaq1FOCl53Z9pZju5NNkBak4XmhmdVWB8OagYeiC1TDMWyGsro8XCos5PDHaktlqkowvnMBCZ8VlKcTrGhJlsFbhsWhfOL7RCyHFFF7v/xpn0N4c1NyPGsC4UyfASY1eE/h2FfhrnjTHNwDtxM8txDePbcoYfTnI9J/DpZtxMqA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(376002)(346002)(366004)(39860400002)(66476007)(2906002)(86362001)(31696002)(8676002)(66946007)(4326008)(38100700002)(66556008)(8936002)(316002)(53546011)(6916009)(83380400001)(54906003)(6506007)(2616005)(186003)(26005)(5660300002)(36756003)(6486002)(6512007)(41300700001)(478600001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3VFckVaWFpzVm9PdDFuZW9wRjU1M1puQzFaQXJrYWNhNHpodVdYM2VQbGZB?=
 =?utf-8?B?ZjMrWVRLamdTcENPcXpSaWxXN2Rlb1JuWCtoZUVMUWt4TkhGQ1JXaVpzM3NP?=
 =?utf-8?B?bFo3Q2Nsb2QwUTZXQUNTQ1hUQmI0eFJ5Q2xqYnFJMWZ5emRHRG5nWWFRMnA3?=
 =?utf-8?B?N0V1ME5ZclhRTHh0dGgvL1pua0tBNHAyQUV4d0RmL2t1akdQUkFqaHRHZlI4?=
 =?utf-8?B?QzlBU05DWHpIQVNMUzlYZ2RqbHEzdEVTdDF0aE5iRTlVMmd6enRNZDdJKzUr?=
 =?utf-8?B?cUtnU2RkN1JOUjVCampEeFBOWktUS2tkdDJYd04xaU9yekVjcDBrblpmME44?=
 =?utf-8?B?QXBaaXd6QWlvNGZjYURQZjFTYjJvc3QzUExaS2p5WVJ3WC9vWk9qZ2d3SzVy?=
 =?utf-8?B?RXRTRzRXUG5DMHVkYXNNNFJ6NmJvSFM2UG5SbFhSeFZNdVMxbHhrMjdEbHJH?=
 =?utf-8?B?THBLSVExa2JRbklySlRUbUI2dHZJRVlYZ1JPdjY4TEgvTEdiYVFWaEhweUFT?=
 =?utf-8?B?M3VaUFFDL3B0OUxDdG1LTWllUCtwc0R0WFRDcnpYWWZVYjhSMnFCQWg5YmNO?=
 =?utf-8?B?bGZYMjBhcEIwV3I2RURGTTBaZGY4OGJ4blJHNHFIRlJ5QWhzLzFnNXhwWnQ2?=
 =?utf-8?B?YmhmeXBQcXFQYjZJYzUzM1JFMTFJdHR1Z1NMUTN6dWVZV25oemx4Y1BOR2d5?=
 =?utf-8?B?cnVGcFY5SE9zZkhNWEV2VzZtL2JXMlZkOHR5TU8zc2pVeGVIQjlGcmNYdDRO?=
 =?utf-8?B?Ylhqc1B5Sk83ZlVxU0krTFNIZFZrZDR6d3RwY2U5RS96UkxnM0ZtU2FFQTBh?=
 =?utf-8?B?akVkM3F2YUl2a3c2RWdVSlNId0ZzdHF6ck9RN1BEd1RBa0pUblFwNnpZWUFm?=
 =?utf-8?B?WkkxT0NaaE1JUm9GZ2M2aHVxTWVlNXNPS0ozQkQ0Zk9zT3dDTDZxSEZCYjc2?=
 =?utf-8?B?OTV0djJlUWZoVmZxQ3d5bm1YdTY2cEU1ZFkxclZTN3M5MU5TQklmYU5ua1BP?=
 =?utf-8?B?TEdZK1JzU2p6NngrTGtFUVloaG9raHVkYlYxQnZsd1RITnJrR2xFZmVoTW1o?=
 =?utf-8?B?MmFLelhsQU5sYVhCM2dFU0g5R3FDQVU0ak9oUE0zWkZFYmpmcndIbXNRVGtp?=
 =?utf-8?B?b3paSjdIMzBNZmVJc0pQMDlnY3plVklyS0Zud2J5emxHQ0tuR291Nm5Fd1dk?=
 =?utf-8?B?dEo1cXVXZTMzMm03NS9HVVQvZGhHeThTSFZobFV5WjBsN1poZlRaaXdkaU4v?=
 =?utf-8?B?UVlyTVdTcUNPV2xJT3hoTk94bUF0NXNjdUtEVXRndEtNYXk3aHRZcXN2dS8v?=
 =?utf-8?B?WlhjVzFObEdtZEJRbHJybjlob2pYVVZ0Ly9tbjZ3a2FTZ0hyYzNVNnVRQlpH?=
 =?utf-8?B?a2ZuL2s1Y1BhNW9TOWRPU1NXM0dTZUZOREYwMlFEODJVMnRxRWFGMmpPOUg3?=
 =?utf-8?B?c3VjbHVldHRyWGZDU0RoaU5CMlVaM0RsczlNcmhSbm1NUUVkSGJwOVdCWHRi?=
 =?utf-8?B?OW15ZHhVUjhib0dKSHBNcDdJTVUwdmNsMjJRM0NtUWxvL2RmVWRETkR1WEcx?=
 =?utf-8?B?T0NZblBQN2lGZldrTmZzOHhqWkR1RjM4d1RHNEw3a21ILzRYSnZMTDVUNVlE?=
 =?utf-8?B?S1dhcDRhOHRBWjZZMFVpa3FLVFZHSklTc0xyNk9YUDd0MU9pdTFROStsbTdw?=
 =?utf-8?B?WHhLMDhieFhHS0IvS3J5dmE0QnRCT0pId0FFa2xuZndMQ1JFZHp5K0FTYktK?=
 =?utf-8?B?Y1Rvc2IwQzlqcHk3TTJEYklacFZrMHNDQXhTNC9ETWlhVndZVjJGYmJyV29x?=
 =?utf-8?B?ZDk1REl0cnAvbVpSejIxZytjSDRMdzM4eGhLMXFKUFBZSjZsQlhzNFNtTlNi?=
 =?utf-8?B?NDdBZnNDdnkvckdqa203c2E5VlJWd2E5RUt3MWZQTEZIaEUxWnVqbUh6cS9v?=
 =?utf-8?B?UkNaT1c2Ykd0S0pMUmszbXl0bEJXeVpTTVFKcVMwWHlQdjRQd3lTWTZUa0RD?=
 =?utf-8?B?UmxHMzhBdEFOQ01MR0hhZ1V5RHZFV0x0cGF6MmFOQXFWcVBNR0ZUVURudlV6?=
 =?utf-8?B?UkJHdWp5MklQYmZSN0x1SkF4cWRyVWtqa2J5anlwdG84SXJLaWE3dmRsMHkw?=
 =?utf-8?Q?mHvryshNv+59fHAxB9geJwhbo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c209e8a-be89-4c5c-4cf9-08da7f8822f1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 13:06:30.5959
 (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: vhVW3J+LrMIQtqS3VhbshZeYWhfFhR3xBNQzNVPj61rxHv8yjQW3KJ5F/fdSdoBlV7vgHGupMTkstjGdGM4ddA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6376

On 16.08.2022 12:16, Jane Malalane wrote:
> On 05/08/2022 10:24, Jan Beulich wrote:
>> On 04.08.2022 17:04, Jane Malalane wrote:
>>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
>>
>> In the title you say "port", but then you don't say what customization
>> you've done beyond the obvious adjustment of inclusion guard and
>> adjustment (actually removal) of #include-s. How much customization we
>> want to do is important here, after all. I notice you did, for example,
>> add new flavors of SYM_INNER_LABEL, but then you didn't add anything to
>> use .hidden (which I have queued as a new patch on top of a supposed v2
>> of "x86: annotate entry points with type and size"). At the same time
>> you've left in objtool related commentary, when we don't use that tool
>> (and no-one knows if we ever will).
>>
>> I'm further not sure I agree with the naming of some of your additions,
>> as they appear to not really fit with the naming model used elsewhere.
>> Your additions also look to not always match style used elsewhere in
>> this file.
>>
>> You further want to mention what Linux version this was derived from,
>> to make it easier to determine what incremental changes to port over
>> subsequently.
>>
>> Overall I'm not convinced this is a model we want to go with, first
>> and foremost because the commonly used macro names are too long for
>> my taste. What's wrong with ENTRY() and ENDPROC() / ENDDATA()?
> Hi Jan,
> 
> Since I have no particular opinion on this I went through the discussion 
> that took place before those macros were introduced in Linux. One of the 
> points made was that PROC was an ambiguous term to use, since C 
> functions are not actually procedures, at least not all.

Just one remark here: We're talking about assembly code here, so what's
a procedure or function isn't well defined anyway. I wouldn't, btw, mind
ENDFUNC() if that's deemed better than ENDPROC().

Jan

> The other was 
> that using START/END markers make it easier for a developer to remember 
> to add the END marker, and eventhough you suggest using ENTRY and not 
> just PROC as the start marker, START might still be clearer.
> 
> I welcome other input.
> 
> Thank you for your review,
> 
> Jane.



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 13:15:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 13:15:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388302.624919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwPH-000477-K9; Tue, 16 Aug 2022 13:14:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388302.624919; Tue, 16 Aug 2022 13:14:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwPH-000470-Ha; Tue, 16 Aug 2022 13:14:55 +0000
Received: by outflank-mailman (input) for mailman id 388302;
 Tue, 16 Aug 2022 13:14:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwPG-00046q-H4; Tue, 16 Aug 2022 13:14:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwPG-0006Mt-Em; Tue, 16 Aug 2022 13:14:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwPG-0006dO-3l; Tue, 16 Aug 2022 13:14:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwPG-0005aX-3K; Tue, 16 Aug 2022 13:14:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XH1OTCrlsXmmoDA5d0w4STkxbO236PrYqJFUYiWmuTs=; b=qXNCVYeCJwg1pEQKDphUiBuP8+
	LXA6c9mvehgbw5Ji5YOChOqoxSq0UjuymyMSLy+pv+ZGXN/n2hw9P9gaRi+ak+YMDXKavnz11FGYw
	4ohmOjn/e9eocMG5Mz/5wG9NcJmyQnn3wh6u2nEi3OUOHbQ0C6dP/6Iaqt1KP1b7Skiw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172570-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172570: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=2812668bfc121ee792cf3302195176ef4a2ad0bc
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 13:14:54 +0000

flight 172570 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172570/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 2812668bfc121ee792cf3302195176ef4a2ad0bc
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   12 days
Failing since        172151  2022-08-05 02:40:28 Z   11 days  102 attempts
Testing same since   172560  2022-08-16 03:20:18 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 674 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 13:24:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 13:24:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388313.624935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwYg-0005dK-JN; Tue, 16 Aug 2022 13:24:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388313.624935; Tue, 16 Aug 2022 13:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwYg-0005dD-GO; Tue, 16 Aug 2022 13:24:38 +0000
Received: by outflank-mailman (input) for mailman id 388313;
 Tue, 16 Aug 2022 13:24:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwYf-0005d3-Mc; Tue, 16 Aug 2022 13:24:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwYf-0006Wv-KA; Tue, 16 Aug 2022 13:24:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwYf-0006sP-2j; Tue, 16 Aug 2022 13:24:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwYf-0000Wk-2G; Tue, 16 Aug 2022 13:24:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3lYm/+TeUVKH0tKfDKy1PmMC77m8fYx6kTS1m9wQe1c=; b=MvO6L5yQ+deyMoog9jCp/O7cZI
	7UhVnFM0qIr9dv3pBI2CmQfETAILyTJCZ7w1rKJjWBfd3UurNMWu5njJgapi2YN2LnGcmRf5W8BcA
	1SPWzCxUUDhQgtkPByoixzsIXfDpnTjQfzLzUhKWwjyuyoF8LEZmy7u97dAQyx9wdt1w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172550-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 172550: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-4.14-testing:test-amd64-i386-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    xen-4.14-testing:test-amd64-amd64-xl-qcow2:guest-start.2:fail:heisenbug
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4ed063a71bf9ec291a1b71d0b7b36c0416ca544d
X-Osstest-Versions-That:
    xen=261b882f7704515a01f74589f57f0c1303e3b701
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 13:24:37 +0000

flight 172550 xen-4.14-testing real [real]
flight 172569 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172550/
http://logs.test-lab.xenproject.org/osstest/logs/172569/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail pass in 172569-retest
 test-amd64-amd64-qemuu-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 172569-retest
 test-amd64-i386-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 172569-retest
 test-amd64-amd64-xl-qcow2    22 guest-start.2       fail pass in 172569-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172569-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 172569 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172114
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172114
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172114
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172114
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172114
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172114
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172114
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172114
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172114
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172114
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172114
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172114
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  4ed063a71bf9ec291a1b71d0b7b36c0416ca544d
baseline version:
 xen                  261b882f7704515a01f74589f57f0c1303e3b701

Last test of basis   172114  2022-08-03 12:39:31 Z   13 days
Testing same since   172550  2022-08-15 14:37:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ross Lagerwall <ross.lagerwall@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   261b882f77..4ed063a71b  4ed063a71bf9ec291a1b71d0b7b36c0416ca544d -> stable-4.14


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 13:25:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 13:25:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388318.624946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwZD-00066P-SC; Tue, 16 Aug 2022 13:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388318.624946; Tue, 16 Aug 2022 13:25:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNwZD-00066I-P4; Tue, 16 Aug 2022 13:25:11 +0000
Received: by outflank-mailman (input) for mailman id 388318;
 Tue, 16 Aug 2022 13:25:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwZC-00064r-Cw; Tue, 16 Aug 2022 13:25:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwZC-0006Z5-CB; Tue, 16 Aug 2022 13:25:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwZC-0006tL-0c; Tue, 16 Aug 2022 13:25:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNwZC-00014j-07; Tue, 16 Aug 2022 13:25:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GaoUNkNA7EqRFPT6/578BJq/p/OLlNaCYLKAvPL2MYU=; b=jdCIsTB5yZEX1+CcghMpwx4yZs
	sNkK8VYF4zvy3lkY35/nXNgR+wV8Mn2zsQxhi4SCggDzoecQNDsILAMlmlm0Q+4iDvQCnprdwYUsV
	TxBmuWfRqE+aWYZjoh3iwIyfSgD1mPyoJbtRPxcdPJrZvYo1ddKLDyewu9tKagcP10AM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172568-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172568: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=283abca2997141ea780fc86ca9524b1d837243d3
X-Osstest-Versions-That:
    xen=646589ac148a2ff6bb222a6081b4d7b13ee468c0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 13:25:10 +0000

flight 172568 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172568/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172542
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  283abca2997141ea780fc86ca9524b1d837243d3
baseline version:
 xen                  646589ac148a2ff6bb222a6081b4d7b13ee468c0

Last test of basis   172542  2022-08-15 10:05:20 Z    1 days
Testing same since   172568  2022-08-16 10:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Connor Davis <davisc@ainfosec.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Penny Zheng <penny.zheng@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   646589ac14..283abca299  283abca2997141ea780fc86ca9524b1d837243d3 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 14:41:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 14:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388336.624962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNxl8-0005vR-ES; Tue, 16 Aug 2022 14:41:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388336.624962; Tue, 16 Aug 2022 14:41:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNxl8-0005vK-Bd; Tue, 16 Aug 2022 14:41:34 +0000
Received: by outflank-mailman (input) for mailman id 388336;
 Tue, 16 Aug 2022 14:41:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gn2R=YU=leemhuis.info=regressions@srs-se1.protection.inumbo.net>)
 id 1oNxl7-0005vE-Iq
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 14:41:33 +0000
Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de
 [2a01:488:42:1000:50ed:8234::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84441016-1d71-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 16:41:31 +0200 (CEST)
Received: from [2a02:8108:963f:de38:eca4:7d19:f9a2:22c5]; authenticated
 by wp530.webpack.hosteurope.de running ExIM with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 id 1oNxkr-0006js-Lz; Tue, 16 Aug 2022 16:41:17 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84441016-1d71-11ed-9250-1f966e50362f
Message-ID: <6b40ecc3-a2d3-3efd-4a19-2faf737f098b@leemhuis.info>
Date: Tue, 16 Aug 2022 16:41:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.0
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Juergen Gross <jgross@suse.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
 <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
 <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
 <a7d10605-87e3-c4bd-4a76-f07a04f5751c@leemhuis.info>
 <8d148826-62a5-95f9-8662-be14f56a6336@netscape.net>
Content-Language: en-US
From: Thorsten Leemhuis <regressions@leemhuis.info>
In-Reply-To: <8d148826-62a5-95f9-8662-be14f56a6336@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-bounce-key: webpack.hosteurope.de;regressions@leemhuis.info;1660660891;1f536560;
X-HE-SMSGID: 1oNxkr-0006js-Lz

On 15.08.22 20:17, Chuck Zmudzinski wrote:
> On 8/15/2022 2:00 PM, Thorsten Leemhuis wrote:
>
>> the right people have the issue on their radar again; give them time to
>> breath and work out a solution: it's not something that can be fixed
>> easily within a few minutes by one person alone, as previous discussions
>> have shown (also keep in mind that the merge window was open until
>> yesterday, which keeps many maintainers quite busy).
>>
>> And FWIW: I've seen indicators that a solution to resolve this is
>> hopefully pretty close now.
> 
> That's good to know. But I must ask, can you provide a link to a public
> discussion that indicates a fix is close?

I just searched for the commit id of the culprit yesterday like this:
https://lore.kernel.org/all/?q=bdd8b6c982*

Which brought me to this message, which looks like Boris applied a
slightly(?) modified version of Jan's patch to a branch that afaik is
regularly pushed to Linus:
https://lore.kernel.org/all/166055884287.401.612271624942869534.tip-bot2@tip-bot2/

So unless problems show up in linux-next I expect this will land in
master soon (and a bit later be backported to stable due to the CC
stable tag).

> Or do you know a fix is close
> because of private discussions? That distinction is important to me
> because open source software is much less useful to me if the solutions
> to problems are not discussed openly (except, of course, for solutions
> to security vulnerabilities that are not yet public).

You IMHO are expecting a bit too much here IMHO. Solutions to problems
in open source software get discussed on various, sometimes private
channels all the time. Just take conferences for example, where people
discuss them during talks, meetings, or in one-to-ones over coffee;
sometimes they are the only way to solve complex problems. But as you
can see from above link it's not like anybody is trying to sneak things
into the kernel.

Ciao, Thorsten


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 15:20:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 15:20:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388345.624973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNyMt-0001gC-EO; Tue, 16 Aug 2022 15:20:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388345.624973; Tue, 16 Aug 2022 15:20:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNyMt-0001g5-Br; Tue, 16 Aug 2022 15:20:35 +0000
Received: by outflank-mailman (input) for mailman id 388345;
 Tue, 16 Aug 2022 15:20:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=REbT=YU=citrix.com=prvs=22068c4b7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oNyMs-0001fz-KZ
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 15:20:34 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6d3b984-1d76-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 17:20:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6d3b984-1d76-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660663232;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=YSnMcxQ9HrAflODWsdf//EDlkMtOxbLqr6KuuDOSUUg=;
  b=NYkXlfZV/mwkch/QhY1u14edrhK+bBPVlqeH4qIEpVMSn0rpNUHbdjNz
   QOYYcFOQC9tfwY0q6xOz84NeZDL9A4QrG6hR/WruD+L3arAYZOzqgGPC1
   W7P3TsBr20xxASncr+peGwQ0hdFSJbWuvW1B8ujLcmtncq61J5NkuAqcr
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77957982
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:d02LtqLI9Hnrbvn6FE+RG5UlxSXFcZb7ZxGr2PjKsXjdYENSgWFSy
 jAcUG+Fb66OY2D1fdxzbom280JV6sCHnNZrGgNlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La9ks11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TEwvdzIkcoG4ojy/9rWGZ08
 800cz9UV0XW7w626OrTpuhEg80iKI/gPZ8Fu2EmxjbcZRokacmdGeOQv4YehWpuwJAVdRrdT
 5NxhT5HZRLcYxpJKxEPBYg3huuAjXjjaTxI7lmSoMLb5kCMk10sj+m9arI5fPSTRvlaw02Kh
 1vP4kHWJT0xboCGjhCspyfEaujnwnqgBdN6+KeD3uVxnFSZy2gXCRsXfVi2u/+0jgi5Qd03A
 0YZ4DY0pK4+skmiVMDgXgaQqWSB+BUbXrJ4Leo+7w2cz7vO1CyQDGMEUz1pZcQvsYk9QjlC/
 kCEnpXiBTFpmLSPTDSW8bL8hTGvPSkYK0cSaClCShEKi/HzrYd2gh/RQ9JLFK+uksazCTz22
 yqNriU1m/MUl8Fj/6ex8E3DgjmsjoPUVQNz7QLSNl9J9SsgOtTjPdbxrwGGs7AQd+51U2Vto
 lAFmdWw6v4oCqq8jTDUR98LLZ3y6K+8ZWi0bUFUI3Uxy9i80yf9I9gOu2sidRoB3tUsImGwP
 hKK0e9FzNoKZSbxM/cqC26kI55ypZUMA+gJQRw9gjBmRpFqPDGK8yh1DaJ79zC8yRN8+U3T1
 HryTCpNMZr5If4+pNZOb71BuYLHPwhnrY8pebj1zg68zZ2Vb2OPRLEOPTOmN75ntP7U8FuNr
 Y0EZ6NmLimzt8WvChQ7DKZJdQxaRZTFLcqeRzNrmh6rfVM9RTBJ5w75yrI9YY1195loehPz1
 ijkAidwlQug7UAr3C3QNRiPnpuzAsskxZ/6VARwVWuVN48LONz/sv9OJ8pvFVTlncQ6pcNJo
 zA+U53oKpxypv7voWt1gUXVxGC6SCmWuA==
IronPort-HdrOrdr: A9a23:djcut6phdIQ9oy6TGIMkm7AaV5oreYIsimQD101hICG8cqSj+f
 xGuM5rsSMc6QxhPU3I9ursBEDtex/hHNtOkO4s1NSZLWvbUQmTTL2KhLGKq1aLJ8S9zJ8/6U
 4JSdkZNDSaNzlHZKjBjzWFLw==
X-IronPort-AV: E=Sophos;i="5.93,241,1654574400"; 
   d="scan'208";a="77957982"
Date: Tue, 16 Aug 2022 16:20:02 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
CC: <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, "Wei
 Chen" <wei.chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH] build: Fix x86 build without EFI
Message-ID: <Yvu1oi0RLNfpR52M@perard.uk.xensource.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <741163de-607f-dbfd-e9f8-ef3072a16de6@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <741163de-607f-dbfd-e9f8-ef3072a16de6@xen.org>

On Tue, Aug 16, 2022 at 12:01:40PM +0100, Julien Grall wrote:
> >   xen/common/efi/{stub.c => common_stub.c} | 6 ++++++
> 
> I haven't looked at the rest of the patch. However, I think you also want to
> update .gitignore to excluse arch/*/efi/common_stub.c.
> 
> Also, I am thinking to drop my patch [1] which update .gitignore as this
> will become moot with this change. Let me know what you think.

Sound good,

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 15:24:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 15:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388351.624985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNyQZ-0002Ic-VP; Tue, 16 Aug 2022 15:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388351.624985; Tue, 16 Aug 2022 15:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNyQZ-0002IV-SO; Tue, 16 Aug 2022 15:24:23 +0000
Received: by outflank-mailman (input) for mailman id 388351;
 Tue, 16 Aug 2022 15:24:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNyQZ-0002IL-0V; Tue, 16 Aug 2022 15:24:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNyQY-0000BT-TO; Tue, 16 Aug 2022 15:24:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNyQY-0002GG-K6; Tue, 16 Aug 2022 15:24:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNyQY-0004J0-Ja; Tue, 16 Aug 2022 15:24:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qfBdqpZeNc0GJWpfIZgjRLn7OUn+s2fJInPLewh1gPA=; b=2zlHZr+Pjylhr9Rnx3zVcjAbpB
	Xn7TfH+BcFmqiLDa4uy6P1GaEPi3ozMiTEbfhzf4iskJWuuBmTnELzZ9vC5Ux5aqbXo5PZ1FlxGU4
	m2g/67OS1aoXa6dLCd7eVlbP4t8lnubzpd+yt78zhgpmJUJrE1mhs4WKocR1AVvNjngA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172571-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172571: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=2812668bfc121ee792cf3302195176ef4a2ad0bc
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 15:24:22 +0000

flight 172571 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172571/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 2812668bfc121ee792cf3302195176ef4a2ad0bc
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   12 days
Failing since        172151  2022-08-05 02:40:28 Z   11 days  103 attempts
Testing same since   172560  2022-08-16 03:20:18 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 674 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 15:43:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 15:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388364.624996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNyj2-0004ge-KM; Tue, 16 Aug 2022 15:43:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388364.624996; Tue, 16 Aug 2022 15:43:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNyj2-0004gI-Fi; Tue, 16 Aug 2022 15:43:28 +0000
Received: by outflank-mailman (input) for mailman id 388364;
 Tue, 16 Aug 2022 15:43:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=REbT=YU=citrix.com=prvs=22068c4b7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oNyj1-0004gC-Aq
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 15:43:27 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28e7e86a-1d7a-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 17:43:24 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28e7e86a-1d7a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660664604;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=gBtueJqYtZQFzrIc8uEwmlLVPAPnKkm9dfT1aLZ3RwA=;
  b=XLCXv+z4ABBPi57IpbgFopaSF/OP6EAda00G0nVZ5hz1SWmGAq6Go0CO
   aaTLRtu+2+fcY+VVvehkLxAOrrV0YVLWxQ8RsERRK6dmUVHKw0xPGYl/d
   A/tEbGqLDmeLyCWOnAneuCJfp2M2+5djVl7U8l6dL7CljGeTuSPIgfpll
   U=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80765602
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:gKmnhK8jXaAyIPLnnEo9DrUDS36TJUtcMsCJ2f8bNWPcYEJGY0x3y
 mcXUD2Oa/aLM2X1fIpwOdvlphwOvJLWytcxHFNurX88E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM24qyo0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGU0sPZI4D18BNH2RQ5
 c5JcHNVbxmlrrfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoahtTOlARGdQmkf2hnHXXeDxEslOF46Ew5gA/ySQhiOezbYSNILRmQ+1TuxaJn
 WDbpl2pAx0IF9u+8xfb6Emz07qncSTTB9tJSezQGuRRqFee3HAJARsaE16yu+Cki1WWUshab
 UcT/0IGk68280C6S8jnaDexqnWEox00VsJZFqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9S2+Z97qShSO/P24SN2BqTS0OQBYB4tLjiJoulR+JRdFmeIaqg9yzEjH9x
 RiDti14jLIW5eYQzLmy913DhzOqp7DKQxQz6wGRWXiqhj6Vf6b8OdbuswKCq68dcsDJFTFto
 UToheDB5tlXDoqgshaTRfsdLuDxpK6EORv11AsH84Yay9i9x5KyVdkOvmkgfx01Y5tslSzBO
 xGK514IjHNHFD7zNPIsPdrsYyg/5fK4fekJQMw4eTanjnJZUAactB9jakeLt4wGuBh9yPpvU
 Xt3nCvFMJr7NUiE5GDvLwvl+eV3rh3SPEuKLXwB8zyp0KCFeFmeQqofPV2FY4gRtf3a+FiFo
 4gHaZDRm32ztdEShQGGmbP/0HhQdSRrbXwIg5Y/mhG/zvpORzh6Vq65LUIJcI15haVF/tr1E
 oWGchYBkDLX2CyYQThmn1g5N9sDq74j8i9gVcHtVH70s0UejXGHtf1PKcNmLeh/nAGhpNYtJ
 8Q4lwy7KqwnYlz6F/41MfERcKQKmMyXuD+z
IronPort-HdrOrdr: A9a23:uMFhsa3U3COiHU2KxySUJwqjBLAkLtp133Aq2lEZdPRUGvb4qy
 mLpoV96faUskd0ZJhOo7y90cW7Lk80sKQFh7X5Xo3SOTUO2lHYT72KhLGKq1aLdhEWtNQtt5
 uIG5IOceEYZmIbsS+V2meFL+o=
X-IronPort-AV: E=Sophos;i="5.93,241,1654574400"; 
   d="scan'208";a="80765602"
Date: Tue, 16 Aug 2022 16:43:10 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <wei.chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH] build: Fix x86 build without EFI
Message-ID: <Yvu7Dpl5Pq/E8MxA@perard.uk.xensource.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <fb2a0fab-3e87-9a2a-a881-31ea7bdeae99@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <fb2a0fab-3e87-9a2a-a881-31ea7bdeae99@suse.com>

On Tue, Aug 16, 2022 at 03:02:10PM +0200, Jan Beulich wrote:
> On 16.08.2022 12:30, Anthony PERARD wrote:
> > We can't have a source file with the same name that exist in both the
> > common code and in the arch specific code for efi/. This can lead to
> > comfusion in make and it can pick up the wrong source file. This issue
> > lead to a failure to build a pv-shim for x86 out-of-tree, as this is
> > one example of an x86 build using the efi/stub.c.
> > 
> > The issue is that in out-of-tree, make might find x86/efi/stub.c via
> > VPATH, but as the target needs to be rebuilt due to FORCE, make
> > actually avoid changing the source tree and rebuilt the target with
> > VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
> > exist yet so a link is made to "common/stub.c".
> > 
> > Rework the new common/stub.c file to have a different name than the
> > already existing one. And build both *stub.c as two different objects.
> > This mean we have to move some efi_compat_* aliases which are probably
> > useless for Arm.
> 
> These useless aliases want avoiding there imo. Already when the original
> series was discussed, I requested to avoid introduction of a file named
> common-stub.c or alike.

Yeah, I've notice that. This is why the build is broken under
specific condition.

> If names need to be different, can't we follow
> boot.c's model and introduce a per-arch efi/stub.h which stub.c would
> include at a suitable position (and which right now would be empty for
> Arm)?

That seems to be possible. But how is it better than having two
different source file? The only thing is to avoid exporting the
efi_compat_* symbol aliases. The downside is we would have another weird
looking not really header which is actually just part of a source file.
At least, "stub.c" and "stub.h" would be two different names, we just
change the extension rather than the basename.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 16:08:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 16:08:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388373.625007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNz7Q-0007dg-JK; Tue, 16 Aug 2022 16:08:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388373.625007; Tue, 16 Aug 2022 16:08:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNz7Q-0007dZ-FQ; Tue, 16 Aug 2022 16:08:40 +0000
Received: by outflank-mailman (input) for mailman id 388373;
 Tue, 16 Aug 2022 16:08:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eoIU=YU=citrix.com=prvs=220aa051c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oNz7O-0007dT-8N
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 16:08:38 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad4548cd-1d7d-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 18:08:35 +0200 (CEST)
Received: from mail-bn7nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Aug 2022 12:08:09 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5544.namprd03.prod.outlook.com (2603:10b6:5:2d3::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug
 2022 16:08:08 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.027; Tue, 16 Aug 2022
 16:08:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad4548cd-1d7d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660666115;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=SaieZhczY+8s0OVgPCLhMTCyCP5l1OnZctEKpgoE698=;
  b=QEg5np2PEEh61nEuSTHXcvyVKOMJTUOWWQTcsELZIV8NnR4n02sH4qzJ
   qBmNNUSIS546qEX4goBxwN9MI2o1wmzGFD04avSwg1+8hXfrS3OOdjxQq
   Frr8mWUO7DDzMddjLsC9/AGk2YcAueuD5SQ+yjhuHhgoZgpkYoD+JMx87
   U=;
X-IronPort-RemoteIP: 104.47.70.101
X-IronPort-MID: 78220367
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:F4wSsKw60tkqdMnsXhN6t+ezxyrEfRIJ4+MujC+fZmUNrF6WrkUEy
 GJKXDvQaP3YM2fxfN0iboXj8BgB6MTQz9RkT1c5qCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Eox5K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1PPk80BKs2yt9nCFNQs
 tsFOjItNwyM0rfeLLKTEoGAh+wFBeyyZMY1nC4lyjvUS/E7XZrEXqPGo8dC2ys9jdxPGvCYY
 NcFbT1ob1LLZBgn1lU/Ucpi2rv3wCanNWQA8Tp5poJui4TX5CV33KLgL5z+fduSSN8Otk2Zu
 njH7yLyBRRy2Nm3lmrfqCr32LCncSXTc6MiKrCG9OZTrX7UhWMLFzsMdHakrqzs4qK5c5cFQ
 6AOwQI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW8ywSTC3UATzVBQMc7r8JwTjsvv
 neWktKvDjxitpWcU3fb/bCRxRupIjQcJ2IGYS4CTCMG7sPlrYV1iQjAJv5hDaq0g9vdCTz2h
 TeQo0AWjbgJkdQC0an9+Fndmi+tvbDAVAtz7QLSNkqb6Qd+aJ+gdpafw1HR5vZdL66UVlCE+
 nMDnqCjAPsmCJiMkGmHRroLFbTwv/KdamSE2BhoAoUr8Cmr9zi7Z4dM7TpiJUBvdMEZZTvuZ
 0yVsgRUjHNOAEaXgWZMS9rZI6wXIWLITI2Nuiz8BjaWXqVMSQ==
IronPort-HdrOrdr: A9a23:tbvfoKFNwWlC9sTEpLqFwJLXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskdrZJkh8erwW5Vp2RvnhNNICPoqTM2ftW7dySeVxeBZnMHfKljbdxEWmdQtsp
 uIH5IeNDS0NykDsS+Y2nj2Lz9D+qjgzEnAv463oBlQpENRGthdBmxCe2Sm+zhNNW177O0CZf
 +hD6R8xwaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oK+RSDljSh7Z/9Cly90g0FWz1C7L8++S
 yd+jaJp5mLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjow4OyjhkQGhYaVmQvmnsCouqO+ixV42mJ
 3nogsmPe5093TNF1vF7yfF6k3F6nID+nXiwViXjT/IusriXg83DMJHmMZwbgbZw1BIhqA+7I
 t7m0ai87ZHBxLJmyrwo/LSUQtxq0ayqX0+1cYOkn1kV5cEYrM5l/1cwKoVKuZEIMvJ0vFhLA
 BcNrCb2B+QSyLCU5nthBgq/DVrZAVqIv7JeDlYhiXf6UkqoJkw9Tpl+CVYpAZByHt1ceg72w
 yPWJ4Y641mX4sYa7lwC/wGRtbyAmvRQQjUOGbXOlj/ErobUki94qIfzY9Fk91CQqZ4uqcaid
 DEShdVpGQyc0XhBYmH24BK6AnERCG4US72ws9T6pBlsvmkLYCbehGrWRQriY+tsv8fCsrUV7
 K6P49XGebqKS/rFZxS1wPzVpFOIT0VUdETuNw8R1WSy/i7YrHCp6jearLeNbDtGTErVif2BW
 YCRiH6IIFa4kWiShbD8WzssrPWCznCFL5LYdjnFrIoufkw36V3w3sooEX84N2XIjtftaFzdF
 diIdrc49GGmVU=
X-IronPort-AV: E=Sophos;i="5.93,241,1654574400"; 
   d="scan'208";a="78220367"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BoCkY/5NEGqyOeQKImKvUZJYPwigWRdy3/ivptY4mDU4N6YGXW/KJkMynI87bvFOJAueUQPmA48vD0jVVC3+4DXq38d/WYMxoXEIHH8J7iVGUPsY75o1ThQgc6WVfKTpixWKqVtObf+M0fTfFtdGxe66Pg/MUHrURR8AS0qoAAieYiv2+HP1oOrHqc3va4ZlzMZ1WKW4Mj4uAnkbOIl9W6uRI4joZbqbvtJODVvs8gYaYT8YFS7c8IQ8H2tbhgU11nla2Lc+tOxkZvUejmUKgmqWthrENo8MHZtrZUZxJiR76KMtKeA4qIfYFTSbunnwtpt/9SxnjH9LntgYMlh7Bw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SaieZhczY+8s0OVgPCLhMTCyCP5l1OnZctEKpgoE698=;
 b=fAxI8VFLZ2YO5hts1hQ7kcqR1IqyEr3+gI4OL7oXNwaQ2bXZRRLFneZ6M1Lq36lj9EfsV/ewn4IPkMN6VrN5sPPAllrd7O7hbDzZi7z3f7aERoB6SlOT/qQcw40ahDBbOR2dB7te+oDYufJ0rP9vMPCWcxfIzh+8ZW28h51EEmVmc5bhhZ1L7P0p8Mj/p093pQlYdAJ72jjwXzIJlnyMpnlud3pM0gsS6ioEJ3cVYgN29nXfwWJvI2gzo7DO30cTfuMn1TWzVHuqYCXzxCnXDO76JhTMFtJ0Vz6629Lj3dfxlVYLnkAcuwahcktOv734QFpx2gDnJ3/U1dH3WYYzaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SaieZhczY+8s0OVgPCLhMTCyCP5l1OnZctEKpgoE698=;
 b=W3+AkuTG5QKlZPon9vR4IoBK1QQ/dIS3Sp00JU5KnYCVTK8LUkqr1OzD8oz/t2etfZ9ZxjF74xeoMBHnDjP/B2HXSe6px+LSMMKgRiWjvdxhVfO1iD7gdzU/AJgV6Ne0mn/UCGkvUEgmeV0VguEL4PIP6sGaq+8YF8GhwMlRrUU=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Wei Chen <wei.chen@arm.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [XEN PATCH] build: Fix x86 build without EFI
Thread-Topic: [XEN PATCH] build: Fix x86 build without EFI
Thread-Index: AQHYsVtOBicyb/5hREGrPWYjX4A7za2xsgiA
Date: Tue, 16 Aug 2022 16:08:07 +0000
Message-ID: <19362add-4d71-89f1-2f90-74901b4c79ea@citrix.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
In-Reply-To: <20220816103043.32662-1-anthony.perard@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 00d8087f-473c-456e-f18a-08da7fa18252
x-ms-traffictypediagnostic: DS7PR03MB5544:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 5VYl/xvqZKu2ZaTkuxmdDFzK1zWnLgtLqkaDcu0Z/8+QUab5qy6FndUT7DWjdnBrjbKMlGCFbKdvqzpmx+80VdpnnonSXSoJJk99GXk7qoDh4sGkAsUsgoGwVeH+lamVs/SllTq0Qfb/rFvUTU4TyNw/P4w5IEcdidQhM1+pcEoXjBZmAuE4jTekZvqrawwJt8kUR3Nc1LXVOR0PP86eKgmpCaMbJsKEms2RwWCO0v9esFuxLXLifVVeVqh9W7nTH+IHEsfWIdBg9RdJSOBLoSlI8N++ekJu6UDsRsRDtcsvTmWza1cO9Oz1+9wjFiggDXKEhvGPnmcIMrvuCBF/sE8mcswY0hZ7Iihau71+L0u25SnSUodHcC7+x9I29JLcah7i4zXuMsVQxT/wdgy09XK0L99sxSuCAbUTJqdURfB7jOA88EAcxbGmMryXbkkRbPL0D9MENEn+EQH1NsE1HgbJNU7U812PlMtW2NyGNSGUzkq9UQKpY8GqFlsavYriDzlBYKAGk5vTd5vGYAXqxALg5JGyYPIAP+nklYTDmgrZw5kDzapW721ZCbRDbq1DIAcsvfJNmOzdtSNJyGy/2ws0lUbsuBnU0nKD6HMP7poGB2urNaL4xaztUhRlPMKsgZgcZrBPOVqi1AWSf9shssoalvDDQgt08xIU9g+3mAJ0tQh37wHlCxxd4ectp05Iquyn9YX3vUhWVrCqHXwRjv5o7NNHhe3KLjqk5pvRaYApS/szDLBC5p7x3Zj0HnmG/xDk0ckBUuDGpu9DXSpNMX+m+tcpo/EvhKhjDvcyNQdBCSLztyF2wtXifpS40/Hrg3AZjGrt1ttLe980erYuYSHiAf2OyNHYmnswQyZsaXJemBAVYiSrehM58gtDLbiV
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(136003)(366004)(39860400002)(376002)(82960400001)(54906003)(316002)(31696002)(110136005)(38070700005)(5660300002)(4326008)(76116006)(66476007)(64756008)(91956017)(41300700001)(53546011)(26005)(6506007)(66946007)(8936002)(66556008)(6512007)(186003)(2616005)(107886003)(38100700002)(8676002)(66446008)(86362001)(71200400001)(6486002)(478600001)(122000001)(83380400001)(31686004)(2906002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?M1FHMTRDZjg4U2NEcVljcVFVSnVlV2Z0SE5sOFVLcXBTdS9SYmdXM2Y1VW1j?=
 =?utf-8?B?Sm50Umc4U29WQTVhb2YvUDlxOGdPVno5ZFBmM1QwaW5Fek5VVGFRaERwNDdS?=
 =?utf-8?B?YnkrYTIxZ3NPbUlBd0YxYVJnRG1NcnQ4SVZ5dHErcldzS0doOHQ0Qm1Cbmhs?=
 =?utf-8?B?cHVQcWE3QlhGeGoyZ29YQkVUK3VKUGU4QmYwWEwvYTgyTG9PVzR3ajlHQytK?=
 =?utf-8?B?RUVqTmN6M2pUTTFLMjFpYzFDUUM4NWZXY25jWXJya3d2cTRJdG1kaXdOQjVv?=
 =?utf-8?B?ampEWVk5VWxSUUcwT1RlMHRSdHNtWXY2bFlRYlkyelcvZGV3QkRPOTdmUDlI?=
 =?utf-8?B?UU90ZWpZWnNaZ3UvUWh5NjRaVmV1eE05N0NaZXZ3ZHpPOGlGYkwzamYxUU1k?=
 =?utf-8?B?bVhITk1sNHh3cDA2US9LTE1QQjRvd1NQY3ZkMGRuK1diSWhEdDVBWVoxTmtO?=
 =?utf-8?B?MCt4aG1YZWNVS3JaMlJ2UFNNN3IyKzhLMndWU1dmdURDeE9MeTZnSEN4TFg0?=
 =?utf-8?B?REpQUFdUZlBQa0d4RjhZKy96NitLcGZMcldwSWFVdDNVSURnNGVuWUhkSTJH?=
 =?utf-8?B?OWQ4bFRGVTJRdkMvdFB4R1VQTFV3bW05L0kyTUkzaW5KUk1ib0xJU21aSlZj?=
 =?utf-8?B?RXQvbWM5UEU0R2tQd2k5dU5sQit2VWZxck9LV1BJVUhtR0lqY0pTbnk4TnVN?=
 =?utf-8?B?bno1ejEzdzU1TGxCV2I2cG9jRGpIQ2hiVXMvK0U3UFdVRlZzZ2pOWUovdXZB?=
 =?utf-8?B?MDJCUlVVUG5ZZldSVDFDbTRJbEFYQnZOVUxNa0tNSjBGZE1DOXhIaExaVkYw?=
 =?utf-8?B?dW1pbHJGTVdCNTZMYyt5cllTVmlyS3pIRTU1UlM3SUlYMXg2N0I2WWxmaVFU?=
 =?utf-8?B?bFRrMnF4WW9JNlBYVG5xYllOUjNrckM1OXExNnQvUUJqVkIzVTRHQWlYZ0tU?=
 =?utf-8?B?blJ4QVVodXdaUEtJeDdCSGVGWXB0TGJ4ZVE5ZFUzaFYydzYrYmN6QWx5Q2NZ?=
 =?utf-8?B?TkpERkhwVnRqeDBhQjlnejVGQ2pxUFR0L0kvaDFYMG9RUmhJTGEwYkgvblZj?=
 =?utf-8?B?bC9UbWRjUE5BRmk2RStUYUdvREVvMEdNTWlpay81aWNweHZVMkJ0cWtwZDln?=
 =?utf-8?B?bW55SkxhTm1VQ2dULzFXbDBSRENGQktBWjVKNE91SGlFanFFWVBrZ0NzZEU1?=
 =?utf-8?B?SGZxR3R2OFA4eDBqSzI3U005NkQwb0ZYRVlPdFdjZFpGNW5sQy9yQlJMd01q?=
 =?utf-8?B?RUl1UGVqNy9rZEd2REFjQmZiYm5hZmxUR1gxUmRiSVluc1huVTZXbzNEWVk0?=
 =?utf-8?B?eENkaUMxbFZodEx6SjRmbkxlRWNsc0ZVWitENW5RdG0zUHMxUkhuVEdPRU9p?=
 =?utf-8?B?UW9QWWpQTjg3cGx6RlMvbFEzZDJHWHhnejFZQW02d3ppbldOVFNQRlJ2VlFX?=
 =?utf-8?B?YVpkU08wZHBGaXZFUVRYOXFlRjNwVGIxa3hJTzVNTFcvaEFkeWh2ZnpsN0E3?=
 =?utf-8?B?QURqR01Td084dVJHSnM3Uk1lNU02RWtnbHRHWVVGK0xzYWYwWURkWXkxUEVI?=
 =?utf-8?B?WVE3Qm9VeFE2ekdpdWRoMmRrbVRkb3ZOSE1yQlRmY1g3ZFdvdXBaQnB1U1RW?=
 =?utf-8?B?KzhVV2c5Nk1FRjZaYlhZT0JLbE1hNVJzbTVsa2RhVXd3b1Q2VjJiaTVSWkxi?=
 =?utf-8?B?ZisvaGpDT1NsbUFGTmRRREJPbG5CeENhdGJtMUFxM2lES2toc1RrTE5YRUtC?=
 =?utf-8?B?VllCNzlidmJtRGNnUCtlOWE5ZUoyRlZCOG5GL1RRTDVwYUZUL3Y4TkVIL3ZZ?=
 =?utf-8?B?OFhxcnZGdlBiVjFGckwvQ0Rvbm1WVEdMNzA4OTR3c1BDUmE0RExBSGUzTDdE?=
 =?utf-8?B?OFk4NjdhZExUZGFXdmxhclBEbVhYTktLTUpLdGo2MUNiT0FlNFFOV0pTL1V1?=
 =?utf-8?B?QVExU3BiYUdWMHRvdTBrYitBTUdnZnhWc2JUVjBBR1pobUkzVnRDUHM2eGlB?=
 =?utf-8?B?M2k5c3ZYcDhqVnJjMUhweXRwWkhydnpPYVYvWG1kcmROR1Q4K0UwZXhaQWdO?=
 =?utf-8?B?VUk5d2N0dUs2TWJudXVTU0R3QVR5UWNyVi9iOW5GckxKQlBGV1hCVUY5TC9t?=
 =?utf-8?Q?NbojfbvApm/JR3KETMf+ls+Ix?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E10E5D0D81B4CA44B4864511A708C739@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?NmRWYzRjRE1uVXJkOU96ZG1hRFlMYVJycklDMmRaNkVzZDh5ZkYycWxGYnRM?=
 =?utf-8?B?Vy80NVFTbjVUZlB2cFlGM3JzTVkrLzM4L1o2WVdDaHloNDg1djlPUHhMOHhH?=
 =?utf-8?B?aExsbVdEdVJORE1lcjlMVFV3NnVJWmoyRncvKzVoZ3oxQlYvaWJ4QnN2Q0pK?=
 =?utf-8?B?MWZsVHdkV3piOHd0ZlVOQWdoL0p1K3NNRnAvR3c5NDl6eHZ0dFNYY0lnYTll?=
 =?utf-8?B?OHNvbHh0TElVYVUxS2tSU08xd29DOGZaRTI1YWVPdC9ON0Rkbnd1N3VsZFVx?=
 =?utf-8?B?SDlobUxuN0dPOHBpM2dOUVZwVXFIRktza083RkwwTXFtUit6ak9HL2Vrenl6?=
 =?utf-8?B?SjhZeHFxR1VqU1hTN2lrcXlYWmJNd1ZwcjhsNDB5R2ZvNE9DMi8rWCtuM0w5?=
 =?utf-8?B?cit6UVMvQTRMOTNOVSt1UnlWNy9nV1QrSk5yNkJvTzdFZGh1eW1sTjBmMDla?=
 =?utf-8?B?WmtLcUlFRHZ2aVhiYWZTa3ZMNXhkTWpNOW1td1pYOXVLUk5WaitpWnllZmdB?=
 =?utf-8?B?TFhGLzNMTlpsTGN0NTc0WFpaREUvb2w1WkVLZGpoNytnRDVPMjFXd2dNWDB5?=
 =?utf-8?B?NDZjajRPOHNuMStqbWxKT0dZcG50RTBUY3VjeWU2UjEyRkw2WWRxcHViZ2c1?=
 =?utf-8?B?UGIxUi91ZkN2RWVNQXkzTGsyL1g5b1hhZ2x3dmJxYzlqbUZyTWNUWGJFTVVw?=
 =?utf-8?B?OTNLb0UzQTlRUnZqVWVxbnh1NC9aTS8xaXJTZUZoT3lNU2Y5WExEalNDVVZz?=
 =?utf-8?B?d256a0V0NzhtOHNnRkZFQzdtRUlUdy9WUENoS0hOUCtNRjd3cEdKeDZZM3Zn?=
 =?utf-8?B?YUxKeUNYYkU4MnJkcEFFQ09uUDZla1Y5TS8xUCtZQmF0dzd4Uk5KREl2Rm5j?=
 =?utf-8?B?Tm1KWWtMa21NUTM5YVgwRDZuUlBDdHNEZHRvVm15WG42K2dUalFaay9ZSlhR?=
 =?utf-8?B?SGpuK0dMT0E4VkVsS0paTHI4MmxKbEUvRGRJK09DOG5XMm5XemtXUUZCOVdw?=
 =?utf-8?B?VEx6U3FtUUF2NDVxSTVlSnRvREtoRm83cEgwMUdkQVV3Skc4NGFTSWNtbkhs?=
 =?utf-8?B?ZUsyNEJkTjBteHR2SWpTK3liYXdHTlF1K2RWRTJwSEZNN2trek5xajhyV0VE?=
 =?utf-8?B?VThrZEZyelpvd3RRaElCbFBmeFp1d3lFemFLckVUVjc0MG4xelc5WEVPamg5?=
 =?utf-8?B?bkhMTXdYdUJ5UEtzVDJScXR6a1oyM1JkZGJjTFo5UEgxVFpNQkRrZE1HdDl5?=
 =?utf-8?B?NTBsTzFSV3M0d1NHV3FYUFNDMXVsNGllMFoxMTVhVHZsWXNkT0o5bjAzZmF6?=
 =?utf-8?B?WjJxdDZkbTF3MmZwdGZhQnJLYWIvZTVwUmk5SFVmc010bVZWbjM3TGlKalRv?=
 =?utf-8?B?bXE4dWR5R2lIUG9iM3RuSE1LU2J1R09FWjJOWnArZGZOTjk5M0F0bm92Q1Rj?=
 =?utf-8?Q?FiM7TKEZ?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 00d8087f-473c-456e-f18a-08da7fa18252
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2022 16:08:07.8813
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: cj1KKS/AzXkuR038ndA8/7R7ascUkSzIWF9MvC0AQmsWWyzhFgw4BpPdy4uT879XkiirjRYRaT11m4BUHC16aWwQQCIo+JK1ucAvHkGqaFs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5544

T24gMTYvMDgvMjAyMiAxMTozMCwgQW50aG9ueSBQZXJhcmQgd3JvdGU6DQo+IFdlIGNhbid0IGhh
dmUgYSBzb3VyY2UgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUgdGhhdCBleGlzdCBpbiBib3RoIHRo
ZQ0KPiBjb21tb24gY29kZSBhbmQgaW4gdGhlIGFyY2ggc3BlY2lmaWMgY29kZSBmb3IgZWZpLy4g
VGhpcyBjYW4gbGVhZCB0bw0KPiBjb21mdXNpb24gaW4gbWFrZSBhbmQgaXQgY2FuIHBpY2sgdXAg
dGhlIHdyb25nIHNvdXJjZSBmaWxlLiBUaGlzIGlzc3VlDQo+IGxlYWQgdG8gYSBmYWlsdXJlIHRv
IGJ1aWxkIGEgcHYtc2hpbSBmb3IgeDg2IG91dC1vZi10cmVlLCBhcyB0aGlzIGlzDQo+IG9uZSBl
eGFtcGxlIG9mIGFuIHg4NiBidWlsZCB1c2luZyB0aGUgZWZpL3N0dWIuYy4NCj4NCj4gVGhlIGlz
c3VlIGlzIHRoYXQgaW4gb3V0LW9mLXRyZWUsIG1ha2UgbWlnaHQgZmluZCB4ODYvZWZpL3N0dWIu
YyB2aWENCj4gVlBBVEgsIGJ1dCBhcyB0aGUgdGFyZ2V0IG5lZWRzIHRvIGJlIHJlYnVpbHQgZHVl
IHRvIEZPUkNFLCBtYWtlDQo+IGFjdHVhbGx5IGF2b2lkIGNoYW5naW5nIHRoZSBzb3VyY2UgdHJl
ZSBhbmQgcmVidWlsdCB0aGUgdGFyZ2V0IHdpdGgNCj4gVlBBVEggaWdub3JlZCwgc28gJEAgbGVh
ZCB0byB0aGUgYnVpbGQgdHJlZSB3aGVyZSAic3R1Yi5jIiBkb3Nlbid0DQo+IGV4aXN0IHlldCBz
byBhIGxpbmsgaXMgbWFkZSB0byAiY29tbW9uL3N0dWIuYyIuDQo+DQo+IFJld29yayB0aGUgbmV3
IGNvbW1vbi9zdHViLmMgZmlsZSB0byBoYXZlIGEgZGlmZmVyZW50IG5hbWUgdGhhbiB0aGUNCj4g
YWxyZWFkeSBleGlzdGluZyBvbmUuIEFuZCBidWlsZCBib3RoICpzdHViLmMgYXMgdHdvIGRpZmZl
cmVudCBvYmplY3RzLg0KPiBUaGlzIG1lYW4gd2UgaGF2ZSB0byBtb3ZlIHNvbWUgZWZpX2NvbXBh
dF8qIGFsaWFzZXMgd2hpY2ggYXJlIHByb2JhYmx5DQo+IHVzZWxlc3MgZm9yIEFybS4NCj4NCj4g
QXZvaWQgdXNpbmcgJChFRklPQkoteSkgYXMgYW4gYWxpYXMgZm9yICQoY2xlYW4tZmlsZXMpLCBh
ZGQNCj4gY29tbW9uX3N0dWIuYyBkaXJlY3RseSB0byAkKGNsZWFuLWZpbGVzKS4NCj4NCj4gRml4
ZXM6IDdmOTY4NTliMGQwMCAoInhlbjogcmV1c2UgeDg2IEVGSSBzdHViIGZ1bmN0aW9ucyBmb3Ig
QXJtIikNCj4gUmVwb3J0ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp
eC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBj
aXRyaXguY29tPg0KDQpUZXN0ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp
dHJpeC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 16:16:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 16:16:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388389.625018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNzFJ-0000jn-ML; Tue, 16 Aug 2022 16:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388389.625018; Tue, 16 Aug 2022 16:16:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNzFJ-0000jg-Jd; Tue, 16 Aug 2022 16:16:49 +0000
Received: by outflank-mailman (input) for mailman id 388389;
 Tue, 16 Aug 2022 16:16:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dq/F=YU=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oNzFI-0000ja-6P
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 16:16:48 +0000
Received: from sonic316-54.consmr.mail.gq1.yahoo.com
 (sonic316-54.consmr.mail.gq1.yahoo.com [98.137.69.30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d16abd4e-1d7e-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 18:16:45 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic316.consmr.mail.gq1.yahoo.com with HTTP; Tue, 16 Aug 2022 16:16:42 +0000
Received: by hermes--production-ne1-6649c47445-dfpjm (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 0539108f3a14b27640c2679d028594e8; 
 Tue, 16 Aug 2022 16:16:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d16abd4e-1d7e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660666602; bh=SVFpb7xegGotvuUMr/bQJEt7nllzUEym3/0lYR9WT10=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=FFv7bUZvpnJs2n+O83iqdRkeMAdzw11+D8NUNQHgaUatSqUXZjVO8ctQxSWlkJFB/rWixYrq+Gw7d+5yPr1KbyXRNxikzlz5Iw/4Wc+mstP4hh56CIp32QJv9o0GxOpNgVUdlJM9AoJzSqmHEs3C0qTvyofqOszI4WNLX2/yQ5qnzZxATqK2uxwLZLcpgpu6hBGGz23skrKMKOMr1TVnAAwvYyhByXnpkeo9fCmsH5EvCpzei3psJUmC1L1WZUeDYtyiW9/QJSioN00qttFW4Nrby3wzYAw99NR1fSkNsvI0XdmMybRJNkAat2LGUTF7lSk9nma/P1DOmOrrXuKNxg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660666602; bh=Tfqvvv7EU3gvthsqcGgyOCwFs+Bx0FIjsQtDmfITapf=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=rbKEwah+2mT7efuKQB1NiCk44Lutpvr07U2rBlSvwf9q0K5vVkNwYnSdk4XrA3FSVDOUZ+Lp17t0IBH/qsFFEdjBTd52ydoDbbH5zP0CilHQJ+y36uPh1Zc7An0oS2V4M2diw70qvPj9ZOD0chYj9JpqCzQNTzX1DGWsS3hU++oUdLrAw4zyE2o+fG1Z90P8RYdzHA3cwlQ4OZbtbGzMEkH5QmB9XcSldlgWLzytYFLN1XieZFNDJ0CYN0MXrnK273dYK9jCKvMVu/jx+Vu7od+OkCKQO8FebyGbyPMyvMKNpROZhU1gKHKaysdN+/sRJr+00EviLfXisE+7M5EyYw==
X-YMail-OSG: 6sjBv.0VM1kJ7aiBXQwq5Iiw4BmNpQWsnMbdt3_6LIEmzlmVk99MPJ22aR_fM7h
 1DpmRWIvVsAXWanKGK8QDMk59hyMeEi4Lksp1qqU9t4dmMpD30eHIXQSxKb98e6wcWJFZADEpHtU
 IaXMw2lc9eklyG_WK0u46dzL9Kk1ImA09a2e8hwX4vXhc9motZTXzxxga9_YwxMnZKkz0ZW0_Tmi
 6KP5QjdzleKsC1e94nhaM8uRqqz2.K5oRvY.oIxlXCOJKUtAvSlH8AF3Q9D0bQqjY6MvPb0Idrx8
 Ui2eRRzwV78KxhxEcPr3QWtQ2bqYo..WMPfSAgrX.iYZEV2GL1cKQzN82y8omwtmH2H7.zvpjeB.
 brWjUt85UnRolA.kEV3yAzi_g6ZhUDP9fEvoXbKtzPtHsqfkxqYPaEyJiwhkUFcB9YJE9gl2owDB
 u0U_bYbFBBfP1FohtbkYqF9u72XljCdHcMEUq43kOtJRlgkqYzhYpzBANMMr4Ab4hg9TIjrGJ9jz
 2gyTZ_zu2_xTUNX2MWHFkMPKMv7GwQL1oJOJ2w7YnF6kqKeI68r4_qICme8NC9AlgK2.5id5LM8U
 Wef4v.4AKz2nLAk0Ccl7I1EYOstPiJ62A_7hyuv8PF.7udh7f32aHhLpYVCFDDUwryB1Yq90Aqjc
 wI670AqlXgIcyHvMLbSM2RbWJXrbJyyj7KUpMtZ_Nr7gLb_d1sik.dPizAlYY_Ruqo_CPAkQMjMk
 .X9oZLKSMzzKVd7Hm6yizyDnyknOR38Ux8N6gMZbq9vyI4uogrdNaC6rDE2o5YfUDixy4KgUD5bo
 Uv4cIbV.F5w..ZiUSIQuo.9hAo9VD6JJtu4Rxfc7ELQuvf_8qAXBu9Zz4f8azXpfLINe99GLViPV
 5_M7yDEGoz4jBE0fHm3CqhW9dKUwUfoaBz1f.GeN54oVIvfG8DavFMipnj9GMA9nfvrzkN2gao3C
 kQL7s8jGTkBir7RSq3xy53uB6_nj1leX69mm.uhma2hiCzuvjgiqLKxoRb54LMFfRqN82QELPwG8
 dNYpMe4pNslTqdcfXxQehToqJHSa1wX8b8Dsa5sT6eQy_E_Iws.6vqo9xI_eJeOQ.2B8wkpzMcpO
 azUGBK.6XQEasDcspuApHknttQZosL_ZqgD5Zdb8z7Q45TfDWKdPGwd30OE0PZYfuZ.n7Ht9sWAm
 Eq6RZqoFq6y.aQZqzhfEoPYR0DZlKTrwk0MlP.EkdWhu.Ic1_Uf0pBHzYm280u4iLf8PeWLh8G.o
 fGNzI3nnTCuqrGZoX5Lrxr.1IetTp601oE1D1.zzXzODemu9RVmHG9EA17RuRT5cVAJD_30EFkwA
 7FQC105U1C1Sfc5BXF1pNHKbM2GnVO8umc9dlQxRV0qPxVIDWLrrIidfPxSBDFm2ahOgw1ruaMig
 HLTNEDlgwzzugGGSy9DqIMtYis9QwoBpJt92pZGvuYMcN9kUAyBx_9mXr58r8Hd0EIua.MSNdpJw
 2UqEc6L6fp_OJrmABECoFkXoTSL8WQUaDsRUG9TZvmpQalMlPfG4R.e1.04w2ho1a_Fi9N6Fpazn
 FfTbfhqg1fzYOtqSn.TwOHbjpgNBFYIafyyg5UrLISlKnL3TXeTR2lekIDq88e58I6b2soJaXhyE
 PsuBSgL1FazNG9kSmak30L0J968oc0frHJG4N3mV4DrpjiX5N0qL2.GjSqgggv0P_axUrZoFgAUa
 MmBi6F9RxdyJSvxGURCaWfdQnDedW2GtAyUCSV49PKebnCEMFoeu9QmnM8.Hg1PVpY0QL1ddHkpI
 z1hlWz4uKGwVcqPuZQYVI4ck3VJpSb4xgjdg7CRJP0OuhUgFIVNR931bBPPtWHtsry89XMwefnhH
 n6ls9uGY0GUwOIJbWbtoQn3BVM6enAAx_pE0szhWi8x_K8tbl4R_CyiEIJaa7wCxIRWvSPOkEBT3
 HrDeNaGTa1dBAUikijqKHvKYjnq9.guzp5PetKDFxJcMeVY0Air34tdqO71h85zJ3KFE.bGFyxVF
 Hb1U34vIUdnty1.Z8WmvvxDCw3jEbHK8Vu1z38S1a_XbGdl_Mqdfbq5KDI9Z97x0yCzmc1q.X3Xx
 LDQATlItZFs17eUtz7444h5zLBgDRczqxcCTSZuWR5W3tLSzkOljcbjbf1m.M5qXpJDndMGJmRZf
 e8tsAD7kYM8WA8s6TkyejciH4jxLmHVNN4VDtWBkumWBkObBebldQAlENVpykzrjN64ntotu1GLw
 UIQs6rhzaqZzWCuk-
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <be9d077c-ed4d-d5e3-a134-33afff027af4@netscape.net>
Date: Tue, 16 Aug 2022 12:16:36 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Juergen Gross <jgross@suse.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
 <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
 <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
 <a7d10605-87e3-c4bd-4a76-f07a04f5751c@leemhuis.info>
 <8d148826-62a5-95f9-8662-be14f56a6336@netscape.net>
 <6b40ecc3-a2d3-3efd-4a19-2faf737f098b@leemhuis.info>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <6b40ecc3-a2d3-3efd-4a19-2faf737f098b@leemhuis.info>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 2721

On 8/16/2022 10:41 AM, Thorsten Leemhuis wrote:
> On 15.08.22 20:17, Chuck Zmudzinski wrote:
> > On 8/15/2022 2:00 PM, Thorsten Leemhuis wrote:
> >
> >> And FWIW: I've seen indicators that a solution to resolve this is
> >> hopefully pretty close now.
> > 
> > That's good to know. But I must ask, can you provide a link to a public
> > discussion that indicates a fix is close?
>
> I just searched for the commit id of the culprit yesterday like this:
> https://lore.kernel.org/all/?q=bdd8b6c982*
>
> Which brought me to this message, which looks like Boris applied a
> slightly(?) modified version of Jan's patch to a branch that afaik is
> regularly pushed to Linus:
> https://lore.kernel.org/all/166055884287.401.612271624942869534.tip-bot2@tip-bot2/
>
> So unless problems show up in linux-next I expect this will land in
> master soon (and a bit later be backported to stable due to the CC
> stable tag).

OK, that's exactly the kind of thing I am looking for. It would be
nice if regzbot could have found that patch in that tree and
display it in the web interface as a notable patch. Currently,
regzbot is only linking to a dead patch that does not even fix
the regression as a notable patch associated with this regression.

If regzbot is not yet smart enough to find it, could you take the
time to manually intervene with a regzbot command so that
patch is displayed as a notable patch for this regression?

>
> > Or do you know a fix is close
> > because of private discussions? That distinction is important to me
> > because open source software is much less useful to me if the solutions
> > to problems are not discussed openly (except, of course, for solutions
> > to security vulnerabilities that are not yet public).
>
> You IMHO are expecting a bit too much here IMHO. Solutions to problems
> in open source software get discussed on various, sometimes private
> channels all the time. Just take conferences for example, where people
> discuss them during talks, meetings, or in one-to-ones over coffee;
> sometimes they are the only way to solve complex problems. But as you
> can see from above link it's not like anybody is trying to sneak things
> into the kernel.
>
> Ciao, Thorsten

Well, as a user of Linux, I would like to see more of those discussions in
the open, especially if they relate directly to a fix of a regression tracked
by regzbot. it would be helpful for me to decide questions such as, does
it make sense for me to keep using the foo project to provide a feature,
or should I switch to project baz that provides the same feature?

In any case, watching what Linus actually chooses to commit into
mainline gives me a pretty good clue about such questions.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 16:29:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 16:29:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388400.625029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNzRF-0002GA-TD; Tue, 16 Aug 2022 16:29:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388400.625029; Tue, 16 Aug 2022 16:29:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNzRF-0002G3-PN; Tue, 16 Aug 2022 16:29:09 +0000
Received: by outflank-mailman (input) for mailman id 388400;
 Tue, 16 Aug 2022 16:29:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qREP=YU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oNzRE-0002Fx-3r
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 16:29:08 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10065.outbound.protection.outlook.com [40.107.1.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c2a0383-1d80-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 18:29:06 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7794.eurprd04.prod.outlook.com (2603:10a6:20b:247::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Tue, 16 Aug
 2022 16:29:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Tue, 16 Aug 2022
 16:29:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c2a0383-1d80-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SqhHP7rTuHEKjwzHHdJw0eXedByHtbluLbsr7+ljzc8HffiIb4Hwa4jfocBa7aUoGo0HoYG0/Z7YYGYfUgoigXB6LYdQ8p6PEz71WqOR0ptFm3fU1NgNZsIQ1qDg5AUQ08sDMdtbSRjCUEtvq3e7CX7eDADDTePegOBz+y4uVEo8ND7JgXvS+ncvehUxnx6XmUs0qTv0lBKjA5dAvz2HQ4TfB0SwCw+lxyNkTYKbhzBIweXRb+hgG0VJOGjVPxTPyJwEIOWz99+iEE9J2lChSDprzf6qCdMLFsM30NQRyVD/xWI7cBeZQ6F1uN33yFfS8k2aLLbFrxLEugiNt4s0YA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NVs/y53rm0mlgL4Mu44oEu5R7zJkpHdS6twmZrzZIfc=;
 b=JRePEkxU+k3Oh56br47L81eN4XbAoCoZuzq8mRUfMndGC0IijzUTaoHUzOQYAI6KOt/XLyoOdsMLHFmebdtyTTdIm2nArIfKVCCHCnA+Ll4cRbHIITLt/G8F9PC83GN3gVojzFEPBzU3Kh2V/79fLEi/XdsmIn/FzT3wfJzmaZJBp0TzAaOdC3dKiAfhgRyhMvuP8KaWz3CUnwYHSIeAd7lMxqW9rNW7PPX3c6GVhJGeh6ObPSPdFgiwJ6uKkdNoAW8d5FfrGtG/cehUiP5HWjx3AyunywJIw7lsz90y7wGmLx+oNvjolbWVcwBtpaImPXjyYeswsIQ4PtpBx0wHGw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NVs/y53rm0mlgL4Mu44oEu5R7zJkpHdS6twmZrzZIfc=;
 b=MCQ6zBUwkCG+C9tGor9R3VMxsR5CavduDMyd/L/n8rKMHmC028C2FTGji7Tl9dkn0pRlqdWtgWFN/F1p0CF0owYwwX6yAsM56fki7XoTUor9RRNwc1dJ6mWSnudwvu7H+spuxyPSEW4IVIXEiKsmuey4lJ/8L1gVJWDd7E4CpstGxtRMbi3a/SFZ5J9GggRjqtu65NNRO9Js3h28XOohLB8z2aKHRz2iHHMBqLHUUUW7e/4hmGSnQkVhvgtu8yUJXsXhsrXHmaq4aAvrYnG3vQrrt41QENhiDJAt/oUuW7VKo4Bx7J3g2kJ7GKvxsV3cewtUvUYp/JkpDrTIwwNAXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ff4fbffb-915d-f221-2375-87358b46eee7@suse.com>
Date: Tue, 16 Aug 2022 18:29:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH] build: Fix x86 build without EFI
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Wei Chen <wei.chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <fb2a0fab-3e87-9a2a-a881-31ea7bdeae99@suse.com>
 <Yvu7Dpl5Pq/E8MxA@perard.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yvu7Dpl5Pq/E8MxA@perard.uk.xensource.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P191CA0091.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8a::32) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f1f2cb03-ce47-4d56-ae7f-08da7fa46f2c
X-MS-TrafficTypeDiagnostic: AM8PR04MB7794:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oHHrddPxbtuFWHaXqeAkiLfdZnui4rZsB0D6AiDc4tKOpqIiIKZqEm59+Au6OVrANkj5dCN40kAdI5hCq0x03qIZ+AK53GtQCEVoPeUzyQdiu1ytXz4YjW1AB8gyRYcccrxckLaFUX3f+/0lICJUQhqxG8TEFbtWYX+1qzGICJiAefHMQaDeqkeXt42pTJCHPv5EiNTFLdJyj0FwfVRNoD+C7v4tPfWi7v1k8bckWMXfIhpknUQjTCVEd5HWx94e9CzcMJlESkA946FxGk0z4kzwhNdl5xe0/xogvrXP5C19Ns2aIVW7fjPxw5DkVaN4KuMErKfVu5WcFOjTWlRIb5ukXRfhHQQr0OZ+mj4fTTH82gJ2LcZH4/dO/eO5MtCK5EPjv5vaHn11c5/o0VjLZLxvdrmNKhMp9M03BMngmcSOxEQb9A2XOsLYhI8mosWd7b8r3/8GG2BoiuAkSzRdNiwg90DqpD/6NLC3x+9t5mreXSOatiKIUNnvK6gPet4cBcx4gv0nxZ2fXb4sOxAE/2wMEZbi8nNCYZ5XBj85YPD8MbwBL6K2HEl3mRSv+eHJsY7TlQ8ZU/ir7gxbK0rIAE1iJ5v8h6e+fpTP2V0JfBYs68XLv2uXEtWuWWqKBBSvrNTfWR8acGhPuAPYAPHps5uDQk/fdYCPPfavOlSvdTuGKgq9xDxLHO1PkUW1Bc0CyQxrdcb/JEKxS162wNRjjFbA8lQrZmkxEwuijm79GgyzuYRM424SDCDBtHstYBRvSG5OZsQjy8E4yil5QZbmD2IcRF/3n1ns1ugwyYvW5PyNx2/u/cVQHA3MTuuBEeqziu6Gas9iyuWD6Ww7Pv8qvA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(396003)(366004)(136003)(346002)(8676002)(6512007)(38100700002)(26005)(6486002)(478600001)(4326008)(53546011)(83380400001)(31696002)(86362001)(6506007)(186003)(2616005)(41300700001)(2906002)(8936002)(36756003)(5660300002)(31686004)(66476007)(316002)(54906003)(6916009)(66946007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGRTWTI3MnZtWkkyQWtjMTcvTUNsUS9sYXVIY1lBRDAyZGdGbStLeE5oR0FC?=
 =?utf-8?B?Y2xZUEVNaG9UV0FyaTZocy92NmRucDBLejNsZnlHMnVPZGx6Ti9kYlNuOE04?=
 =?utf-8?B?U3hUdThUK1g1SEVhclN4WldJTjJlem1rMXY1MURoU3phUVAySW1EQ1Z5OWFw?=
 =?utf-8?B?L29YSkpoMm9MejdoVjVBT2kyZEpXU3YwSVFaM3B0d2sxTEh5U05oZXh4cmM1?=
 =?utf-8?B?OVp3MW45aXRIYUpObk5qY0lmTTJvQ0JiUlZCR1ZxYVlYUjNkSmRGRGpQYTZv?=
 =?utf-8?B?K1hoOXRod01lTGc4Q3A1VHlJVGc3U0R4UlY2TzNGaXJvN1dlT3ZDWlcyaUdX?=
 =?utf-8?B?OWlEUDB1dXhBdHlrcWtjblJTN21WQ1BYUis5YmJzOHlaempKN3JUa1JGR2Fm?=
 =?utf-8?B?amNSQ0VaQWtmTWNOT0MvRVhxMnVzazAxUXc4ZmJsMklybDRObCt3SllvMEZJ?=
 =?utf-8?B?ZUI3V3pHSlZQS21XVWdRcGtkQ29LMFpQMHhRLzhWck95eVAwbzgvZ21ZYmpl?=
 =?utf-8?B?UTE3TlJkak1laEp0Mk1zajhST1VPZEdtR0gzTEQxOWRiVjNxM0RoTVR3STB4?=
 =?utf-8?B?R214bGRuOW1peGFhN3A3dm9tbGRDRXRZdjgzbzFVblY3YzZDNEFpTWd0RnN2?=
 =?utf-8?B?akx1Zmt5SFRJQUs0c3hrdXZEYXJJVlZHeWZIMzVDZ050dW9VREhGT21Ndit6?=
 =?utf-8?B?djFlRlFVMUlMZjJLbnNOS1dsMEl6WGgva0VzbTRxekdkNjVEdVNpaE8wNzB2?=
 =?utf-8?B?NEd1UUQ1b25oY1ZaTWNZT0JKU1NWRHluWFlNV3B1cFFqbHplMFByWDlwNlRD?=
 =?utf-8?B?ZlVIN3F5NHhHaWlrSE1jcU9wcm90ZDBlUTJVYUlrUmJwZ2JDekM4UlFhL2VI?=
 =?utf-8?B?eUJqUFN5Tmx3SlJrVzdmWTZuVlBlZEV1MmJETTFqVjFhZCtHaENpUytRanpk?=
 =?utf-8?B?K3N4azVDckZ3WHRVT2FQaVpWYnZoMm1pZGpEUVNNZEV2V0Z2SlVaK0pNakp3?=
 =?utf-8?B?QXhTZXA1U0k3L0JqN3FBU0ttZ2VWeDAvRERXTDFyUHBvWk8xaXVoRmdxUi9a?=
 =?utf-8?B?KzBoOFdhMzFGbjBObVg0VXg5ak05bG9oWUtSWVlDREszeTllUTdyWVNkSkti?=
 =?utf-8?B?a2VPTFJhVzh5VFdzTEF3SzNqbVVZdko1eTBFbFRuYXRFTTJ2T3hKNDJnckxF?=
 =?utf-8?B?cEFWcVQ1M1BKSEdTY0dtV240T0l0WVJBeE85V3dNbE85c1g0WnBSL2JYN3NG?=
 =?utf-8?B?TWJmWFRFSnhESjRWeEg4elNlWDh1bWZQM1cza3JocDNHWURacEZFVEZScWpZ?=
 =?utf-8?B?RFpkem5HWVpCTDJ4aUp4YnRsRjl0aThWMlBWdGxidGNtT0NvTlBuUXVqMS9W?=
 =?utf-8?B?NU5wUHJraEFQTzdSZCtlaTliZk03Z1ViT3hVR0ZRSXhFak91OTJVdE52KzVj?=
 =?utf-8?B?Um5UUEkwMmQ4MjVHbDQvL0tnbk4ybmNoQmZRVkxzeWF1NnNVaGhpOWROVU1z?=
 =?utf-8?B?Z3NObTArMkhsVVN3UjVGa3IvMEhNb2d2UW0xTHFvckl2OHUzNGNqbVR2a3hi?=
 =?utf-8?B?SHV4b21OZlF3Yit2Z1RaaFhmeVh5WkpJZVhidTFuenBESUhYZXJjSVZWVUxC?=
 =?utf-8?B?VFZ5cFNNZmVqNXYyM1RoYkJNWUs4VUl3TmRVcmM2YzhsU3d2VjA3MDRtbkQ2?=
 =?utf-8?B?NEtWWjZKQ1pTc1dxbTNTekVDQ3hUcTAyRi8vZk5DUEFYbWpiNjdOdmZPbjlW?=
 =?utf-8?B?Q1c2YnMwU3FMelVBZnE4L0l3R3M2MlpWbWxMbkhsSWZyaGhJREdhTm5ibnVE?=
 =?utf-8?B?K2ZiR0ZHa0hqb2wrbWpzTjRBSTZHNElzSEJ6a0h1ZUlpMk5td241c3I3V2FE?=
 =?utf-8?B?NlNnTmN5MVdqTVpwbW1SbEE1YUROSlJYQVlZcEdQS0c0YmFvcFkwNnNRdWhL?=
 =?utf-8?B?VE11TmQ4OTl0MW9TQy91dnVIV1dhQnJPSXZZcE1haEtCRW1qVDZDSzdaTkE2?=
 =?utf-8?B?RXlOVUtsQ1pPK1RhaGdHWmpuWEhQNktrZTJuODc4UmJ4amtaZE1oOU4rV1pO?=
 =?utf-8?B?VStBS01xRUtHZENBdEdjRVVod2xzWXdHRWQ5SHVVenNVaUZSdStRYmVLZ0pM?=
 =?utf-8?Q?76jAPBr6A74wOK+N5BEjijpbR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1f2cb03-ce47-4d56-ae7f-08da7fa46f2c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 16:29:04.4003
 (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: ZUhu7AUfHmeOHlpN7zTDELbZ8A8qfN9pY2auUnhFbYFrI7jIoBYsC0f4YHF9MYb3e9kDH2r67HmA3Ngc0FacSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7794

On 16.08.2022 17:43, Anthony PERARD wrote:
> On Tue, Aug 16, 2022 at 03:02:10PM +0200, Jan Beulich wrote:
>> On 16.08.2022 12:30, Anthony PERARD wrote:
>>> We can't have a source file with the same name that exist in both the
>>> common code and in the arch specific code for efi/. This can lead to
>>> comfusion in make and it can pick up the wrong source file. This issue
>>> lead to a failure to build a pv-shim for x86 out-of-tree, as this is
>>> one example of an x86 build using the efi/stub.c.
>>>
>>> The issue is that in out-of-tree, make might find x86/efi/stub.c via
>>> VPATH, but as the target needs to be rebuilt due to FORCE, make
>>> actually avoid changing the source tree and rebuilt the target with
>>> VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
>>> exist yet so a link is made to "common/stub.c".
>>>
>>> Rework the new common/stub.c file to have a different name than the
>>> already existing one. And build both *stub.c as two different objects.
>>> This mean we have to move some efi_compat_* aliases which are probably
>>> useless for Arm.
>>
>> These useless aliases want avoiding there imo. Already when the original
>> series was discussed, I requested to avoid introduction of a file named
>> common-stub.c or alike.
> 
> Yeah, I've notice that. This is why the build is broken under
> specific condition.
> 
>> If names need to be different, can't we follow
>> boot.c's model and introduce a per-arch efi/stub.h which stub.c would
>> include at a suitable position (and which right now would be empty for
>> Arm)?
> 
> That seems to be possible. But how is it better than having two
> different source file? The only thing is to avoid exporting the
> efi_compat_* symbol aliases.

As said - I think they're wrong to have in Arm. But if Arm maintainers
don't care about them being there, so be it. As long as they don't
voice a view, I guess as the EFI maintainer I can sensibly ask for
them to be avoided in a reasonably clean way.

> The downside is we would have another weird
> looking not really header which is actually just part of a source file.
> At least, "stub.c" and "stub.h" would be two different names, we just
> change the extension rather than the basename.

Whether that's "weird" is certainly a matter of taste ... To me,
common-stub.c also comes close  to "weird", fwiw. But as I've tried
to express, if I'm the only one disliking common-stub.c, then please
ignore my view and I'll nevertheless ack the resulting patch. (That
said, I view the vpath issue causing the problem as really the one
that would want tackling. There shouldn't be a requirement for
files to have different names as long as they live in different
directories.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 16:46:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 16:46:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388412.625054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNziI-0004lr-Jv; Tue, 16 Aug 2022 16:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388412.625054; Tue, 16 Aug 2022 16:46:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNziI-0004lk-HE; Tue, 16 Aug 2022 16:46:46 +0000
Received: by outflank-mailman (input) for mailman id 388412;
 Tue, 16 Aug 2022 16:46:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNziG-0004la-NC; Tue, 16 Aug 2022 16:46:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNziG-00029F-Kg; Tue, 16 Aug 2022 16:46:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNziG-000556-2S; Tue, 16 Aug 2022 16:46:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNziG-0003Z7-20; Tue, 16 Aug 2022 16:46:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ubXDOPEPe3Hf4Ca7b+mWiZjuOoVrqI2G+0zkHfgQuXs=; b=nWsGwux6gv5kE8ZX/Nqxhro4IX
	W15CfEE+d3qUHD8Oa40XmmLOQci0UDPbA1Xv0JPjRfbd0P5raQmB0yPovqmUcC7+vIwZsQxx2PGOH
	bN735uYDhKTxFcuua1SKsoocREBJXzwRaq6pfwO/+tVdvB3ZoTzmZa/OC/M9OV10hzFc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172557-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172557: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-pvshim:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=646589ac148a2ff6bb222a6081b4d7b13ee468c0
X-Osstest-Versions-That:
    xen=7547268c359eeef1a4d8e578c612e7cc9350992d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 16:46:44 +0000

flight 172557 xen-unstable real [real]
flight 172573 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172557/
http://logs.test-lab.xenproject.org/osstest/logs/172573/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-livepatch     7 xen-install         fail pass in 172573-retest
 test-amd64-amd64-xl-pvshim 20 guest-localmigrate/x10 fail pass in 172573-retest
 test-amd64-i386-xl-vhd       12 debian-di-install   fail pass in 172573-retest
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 172573-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 172573 like 172543
 build-amd64-libvirt           6 libvirt-build                fail  like 172543
 build-i386-libvirt            6 libvirt-build                fail  like 172543
 build-arm64-libvirt           6 libvirt-build                fail  like 172543
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172543
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172543
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172543
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172543
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172543
 build-armhf-libvirt           6 libvirt-build                fail  like 172543
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172543
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172543
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172543
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  646589ac148a2ff6bb222a6081b4d7b13ee468c0
baseline version:
 xen                  7547268c359eeef1a4d8e578c612e7cc9350992d

Last test of basis   172543  2022-08-15 10:08:30 Z    1 days
Testing same since   172557  2022-08-15 21:09:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   7547268c35..646589ac14  646589ac148a2ff6bb222a6081b4d7b13ee468c0 -> master


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 16:51:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 16:51:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388423.625065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNzmp-0006F8-Ag; Tue, 16 Aug 2022 16:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388423.625065; Tue, 16 Aug 2022 16:51:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNzmp-0006F1-7r; Tue, 16 Aug 2022 16:51:27 +0000
Received: by outflank-mailman (input) for mailman id 388423;
 Tue, 16 Aug 2022 16:51:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNzmo-0006Er-GS; Tue, 16 Aug 2022 16:51:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNzmo-0002EF-CK; Tue, 16 Aug 2022 16:51:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oNzmn-0005Cu-PS; Tue, 16 Aug 2022 16:51:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oNzmn-0004hG-P4; Tue, 16 Aug 2022 16:51:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dFApZyxCFKxcxVDexc+8pNd6KbWrOEoH1s9eh6sNRXg=; b=Wt3LWq7Sw88X6auGHFndAMgzW+
	wN9+lzjTmkm7I+W0nCoV9TXMo+VTNcapeZZswOUoObQURkp4WZDbD6LI1alpv8XkOcef0TgtRyNMJ
	bjej1zCcje8gP10vXZ0QmlDxEjH1sH4tdUm/VyYXcpdAzbBhizdV49zxKrVQSdyNh0fg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172554-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172554: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-credit1:host-install(5):broken:heisenbug
    qemu-mainline:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start.2:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=d102b8162a1e5fe8288d4d5c01801ce6536ac2d1
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 16:51:25 +0000

flight 172554 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172554/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit1     <job status>                 broken
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1   5 host-install(5)          broken pass in 172535
 test-amd64-i386-pair     10 xen-install/src_host fail in 172535 pass in 172554
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172535 pass in 172554
 test-armhf-armhf-xl-rtds     19 guest-start.2              fail pass in 172535

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172535 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172535 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                d102b8162a1e5fe8288d4d5c01801ce6536ac2d1
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   12 days
Failing since        172148  2022-08-04 21:39:38 Z   11 days   29 attempts
Testing same since   172527  2022-08-14 23:38:45 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  broken  
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-credit1 broken
broken-step test-armhf-armhf-xl-credit1 host-install(5)

Not pushing.

(No revision log; it would be 1536 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 16:54:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 16:54:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388433.625077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNzpM-0006rY-PN; Tue, 16 Aug 2022 16:54:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388433.625077; Tue, 16 Aug 2022 16:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oNzpM-0006rR-MO; Tue, 16 Aug 2022 16:54:04 +0000
Received: by outflank-mailman (input) for mailman id 388433;
 Tue, 16 Aug 2022 16:54:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gn2R=YU=leemhuis.info=regressions@srs-se1.protection.inumbo.net>)
 id 1oNzpL-0006rK-GE
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 16:54:03 +0000
Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de
 [2a01:488:42:1000:50ed:8234::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 076dc94a-1d84-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 18:54:02 +0200 (CEST)
Received: from [2a02:8108:963f:de38:eca4:7d19:f9a2:22c5]; authenticated
 by wp530.webpack.hosteurope.de running ExIM with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 id 1oNzp7-0007gN-Qm; Tue, 16 Aug 2022 18:53:49 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 076dc94a-1d84-11ed-9250-1f966e50362f
Message-ID: <6294958a-177a-5c67-47c6-3a95c23ac58e@leemhuis.info>
Date: Tue, 16 Aug 2022 18:53:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.0
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
Content-Language: en-US
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Juergen Gross <jgross@suse.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
 <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
 <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
 <a7d10605-87e3-c4bd-4a76-f07a04f5751c@leemhuis.info>
 <8d148826-62a5-95f9-8662-be14f56a6336@netscape.net>
 <6b40ecc3-a2d3-3efd-4a19-2faf737f098b@leemhuis.info>
 <be9d077c-ed4d-d5e3-a134-33afff027af4@netscape.net>
From: Thorsten Leemhuis <regressions@leemhuis.info>
In-Reply-To: <be9d077c-ed4d-d5e3-a134-33afff027af4@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-bounce-key: webpack.hosteurope.de;regressions@leemhuis.info;1660668842;3b4b0cf5;
X-HE-SMSGID: 1oNzp7-0007gN-Qm

On 16.08.22 18:16, Chuck Zmudzinski wrote:
> On 8/16/2022 10:41 AM, Thorsten Leemhuis wrote:
>> On 15.08.22 20:17, Chuck Zmudzinski wrote:
>>> On 8/15/2022 2:00 PM, Thorsten Leemhuis wrote:
>>>
>>>> And FWIW: I've seen indicators that a solution to resolve this is
>>>> hopefully pretty close now.
>>> That's good to know. But I must ask, can you provide a link to a public
>>> discussion that indicates a fix is close?
>> I just searched for the commit id of the culprit yesterday like this:
>> https://lore.kernel.org/all/?q=bdd8b6c982*
>>
>> Which brought me to this message, which looks like Boris applied a
>> slightly(?) modified version of Jan's patch to a branch that afaik is
>> regularly pushed to Linus:
>> https://lore.kernel.org/all/166055884287.401.612271624942869534.tip-bot2@tip-bot2/
>>
>> So unless problems show up in linux-next I expect this will land in
>> master soon (and a bit later be backported to stable due to the CC
>> stable tag).
> 
> OK, that's exactly the kind of thing I am looking for. It would be
> nice if regzbot could have found that patch in that tree and
> display it in the web interface as a notable patch. Currently,
> regzbot is only linking to a dead patch that does not even fix
> the regression as a notable patch associated with this regression.
> 
> If regzbot is not yet smart enough to find it, could you take the
> time to manually intervene with a regzbot command so that
> patch is displayed as a notable patch for this regression?

regzbot will notice when the patch hit's Linux next, where many changes
land and hang around for a few days before they hit mainline. Watching
all the different development trees would be possible and would catch
this patch earlier, but I'm not sure that's worth the work. Maybe
regzbot will do that one day, but there are more important missing
features on my todo list for now.

Ciao, Thorsten


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 17:29:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 17:29:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388443.625091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0N4-0001mn-I9; Tue, 16 Aug 2022 17:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388443.625091; Tue, 16 Aug 2022 17:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0N4-0001mg-Et; Tue, 16 Aug 2022 17:28:54 +0000
Received: by outflank-mailman (input) for mailman id 388443;
 Tue, 16 Aug 2022 17:28:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dq/F=YU=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oO0N2-0001ma-Ld
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 17:28:53 +0000
Received: from sonic316-54.consmr.mail.gq1.yahoo.com
 (sonic316-54.consmr.mail.gq1.yahoo.com [98.137.69.30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e25cfc5f-1d88-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 19:28:48 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic316.consmr.mail.gq1.yahoo.com with HTTP; Tue, 16 Aug 2022 17:28:46 +0000
Received: by hermes--production-bf1-7586675c46-6jlzf (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID f5181726492e835e0f6b4b78a77ba927; 
 Tue, 16 Aug 2022 17:28:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e25cfc5f-1d88-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660670926; bh=KCxALGeHtNmf+3+P8Y4LRK3Lfy1e+K4XtBP8EuNrVm4=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=M4nhksOD3u9NZzS/9aLZOPrS6gLu5DR9iCwBT0C8drb4ZlMuS+MFHgE/y3HhwbYtUufLeMsO31b+hYR37uYZSGVnBBH6fDqKcTRT4EIzXc7ueBlfFRunsEQT87PQ5TLV3os5wZbDwUHcRFLzjozujwVLwzPkUZUE4kLwvhzqwwZVNSShfKeXsFjc5r3W85iafy8GOx9Wgf5orhU7Av7jE0dHvpoDBvGHR+JFYO4qhtCc2qQAsQKDUy0B81Zzst1p1hsWpdergS8lwxz0c+8gJOKVZPz3kT8L/bA0N2EhNZuWHThFeSZkIw5qz/AH5+fAdABtazbmwviscGXy78hmmg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660670926; bh=bkF1+RMhS2K5zivCW5WL/yunorG7Ih+jBW05ZZmojUM=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=UPZ2XB8BTTjE3rUkAUIy1MR7E9Ngk3JICAFA8AELE9jVzjnwXfU3S7U/tmvWPd/Rfk+HBAQoZ18ey/H26fG8LPI48G12a4eRYf+UE2I3Queq6q91qjdnB53NJEJrOtKa+z4qVqcytEbsbUnv2576gxCV1AqWTQln09NPY+6xYRBdjtfmXqPn7o05nOP7prZXwD3asNA8D4PXj8mlFJQRVXdqKSsauEQUZ7ajUILRScusnku2gSfAf5IRhuYlngDEukcKeYUEDIJyHhDWite+2CVkyXtnWZ/YxFQ/X36E9gPpZdvx5EAkmZibxjqkAPoFJQl3vsLzMwrBgEf0As+Vhg==
X-YMail-OSG: eOwkS4MVM1myXdKg7_PGSnkSBeSzvsuUpKD7HJgzqIWkOcngW8.D1i9kBHAfCPh
 _RwIcAx_fxxLIYYnvtNAPVGk9tKKGSbNnJ6w.EvnEnNjiz5AabaFjIQTpb.nPOxWaVTIU_TtNJnj
 yoOxs6SGGqBf4vs0MVBswIC1ypaVPSI8jiGEUgcVKMN4QXOa2YRBlQxqm_3YIflnNnLDl6zvc.ZJ
 BtZ0rN77G8MBmQ6mb4Zvgy.z5oR6CaC4rteXNkibPa3yfZ8guysNECNrfMPoEaPVx1agKJGwPU3Y
 Xo6uIuq2Ha8s1g9VBoDdLKRgHSVZI_XMGIJtrHS46OQ5XHtuxSGz29yX3evsokvW.LxM3K6qTT62
 6vOUlJCKu6yW5WgsaENFeqCH3ASZVzKMgfE4NjFpTNM6NwKxHBYyeFy6GH8TWe74pLkawTz5.OwA
 qFyUC8Oks2nUYybY20sCfjd01sL3Hj6VUEN8AkJQEH1ufT4wkVDTgfu8kwSA7d5thElsmrvfqppj
 ut2N5nsxmvEfnm6S5BAGX1d8naDAEh1Kw15JTX4NwOEJp3qB4rEZ0nms9W4ynkPlgQki3ePyHo2n
 OgH1xWtbHiEjFoBag8ngTuFXZqWUFYPhoFQmnnx.v.aIQfWWx1.jDoJ1T6o21EUrhCMF4qaZfL2p
 jJyX8QFDyTIZGXHdqRJPW3BEOYUGupQWWW3934M_mmRIH_z4_aTAslk5_mPwCe3opgRqzKOHbmut
 xkJfvk0FI8M.mIwPRobNEDrLyELGKf51dN4DRtH9qSb8r12Ej.9Nahz7krJ.nXTLvWXCPsE0JpmX
 e6eIrlwj3pExi38ZlD4iKHwVS.TBikSSvjRhDy.ycw_FCi_evtm.64JSSKObgQPOZvcgSPnpgL2w
 0b4JL217wlYu_8ngi.jsOPzKr7Ledlqgj6IvcIn9l6zOs7DbffkdaKTXmfuXtTMHtw7zTWSPdC1v
 quyNdM_71gqk8HuvM2dMTBE.CjzMlBnEWRNwKLcZjnodkAifgXI3O685vbU6aYu7Ckgy_gDHncHC
 IkAudF_0yTrG3tu_mrc08Rcw1r7v90mGQLqVWEZ5wr3MQX.iT7i_O5HcPueDz1ECvhnPVT2JPLoZ
 eb28Eac9z.0y2Nv9cndKScZJhdVBIuV1NkkMPTMERW9AeBoUMRSpDn8kSl3yU0J0oULz3JKC1OQU
 u46g9cao0q8e56Z1H.up_tlm0DGGLTXaU4NXeFAjSOjs.h0yAhJh4RsQPatclGSUj4Il3eXMkNor
 cCU4dU5lvNZYJxA.5KBdx_CE21W4mKHpfvYu6xsuawCM3053t027pbXXHtWnHWsK_K1.Zn_4iZRx
 _Ry79F8PYo1WzQqIvlOx8gGrTaiRkDhdLa_KgwepDFpl5xD8sOhR1cSfyiZs9hTfNLyvvXRNTN4o
 RWd0N64Cdu0jMGBbQ.pCOsRJa.bT9kPbR5H6JROPnTsCU8mdqNFwbK5M_LgtCwWAqbtkDy8.lgFc
 sUz1mGrrFJPqq476R0MELwKvKxgn0WgA7tYarBcEJu_H9rjcUX8wmIcdWkeTi_B29JOqv7NDkG.b
 3.9qPDAohRnUK7mFgbbXZvFSs9FGmvsbwpgMVxQd2wldCBPo5HmXtO_gOn0TKJKZq8In96CbjWhj
 9qHdWQLvLPyYW5VJH1OqU7NcgLMu82w9EPt4INTIDRrOjjduwygCGVp4NO2mbJ0ncGVjhNSOhwGG
 WzroZwl4kI6EyLdHR_9ByoZPDiX8ZwnndqMvB2AQlH8znUAwSmWknyKxBIxaFwtPEWvYgiR0Jssi
 345DCR6mFXP2jlEnOzeLib48xo4psO2yq7Q4I9oSPqzI3VFXYiE6pd.x2uHNzLhKApXYmbj1NT1P
 FvyEYgKIixMKag0lVIXMfkWg2N.vWl29mwpLks0GSufqDaore2rJxFLT_txsRHR4uB5jhUGLXvSB
 479jMtNfcoutSQvFjpMTAqBj12_xK_A66ItvWaNOPs.aghuwijBAuPsPQST9LBur4RiZERTKu.CD
 _aGZ2ButJUkh3ldMkUY5HelBig.xSGusNci5BNCHrerFW9gxeoYL2MkPZrUJA50ltUV1Khe5I._I
 doYNLsdtZWuBJwVtolqPq.aVs5Qk0e_Vw9UG4jBT_Vqy3HQJ0yPkhXeBB8efX4Re1Hv88l_ygIfN
 ZpKi81dSiYCUlbujzMAscqZyj8kmQmT16UDgkJv3y_8eZ18E3DiSUputUK0Tx7hf1d8xrFW1QMj.
 aK.gbRODmwrBrGAjMqcvS
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <5c40a423-f70a-abb8-360c-a601c5b157fe@netscape.net>
Date: Tue, 16 Aug 2022 13:28:36 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Juergen Gross <jgross@suse.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
 <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
 <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
 <a7d10605-87e3-c4bd-4a76-f07a04f5751c@leemhuis.info>
 <8d148826-62a5-95f9-8662-be14f56a6336@netscape.net>
 <6b40ecc3-a2d3-3efd-4a19-2faf737f098b@leemhuis.info>
 <be9d077c-ed4d-d5e3-a134-33afff027af4@netscape.net>
 <6294958a-177a-5c67-47c6-3a95c23ac58e@leemhuis.info>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <6294958a-177a-5c67-47c6-3a95c23ac58e@leemhuis.info>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 2145

On 8/16/2022 12:53 PM, Thorsten Leemhuis wrote:
> On 16.08.22 18:16, Chuck Zmudzinski wrote:
> > On 8/16/2022 10:41 AM, Thorsten Leemhuis wrote:
> >> On 15.08.22 20:17, Chuck Zmudzinski wrote:
> >>> On 8/15/2022 2:00 PM, Thorsten Leemhuis wrote:
> >>>
> >>>> And FWIW: I've seen indicators that a solution to resolve this is
> >>>> hopefully pretty close now.
> >>> That's good to know. But I must ask, can you provide a link to a public
> >>> discussion that indicates a fix is close?
> >> I just searched for the commit id of the culprit yesterday like this:
> >> https://lore.kernel.org/all/?q=bdd8b6c982*
> >>
> >> Which brought me to this message, which looks like Boris applied a
> >> slightly(?) modified version of Jan's patch to a branch that afaik is
> >> regularly pushed to Linus:
> >> https://lore.kernel.org/all/166055884287.401.612271624942869534.tip-bot2@tip-bot2/
> >>
> >> So unless problems show up in linux-next I expect this will land in
> >> master soon (and a bit later be backported to stable due to the CC
> >> stable tag).
> > 
> > OK, that's exactly the kind of thing I am looking for. It would be
> > nice if regzbot could have found that patch in that tree and
> > display it in the web interface as a notable patch. Currently,
> > regzbot is only linking to a dead patch that does not even fix
> > the regression as a notable patch associated with this regression.
> > 
> > If regzbot is not yet smart enough to find it, could you take the
> > time to manually intervene with a regzbot command so that
> > patch is displayed as a notable patch for this regression?
>
> regzbot will notice when the patch hit's Linux next,

IIUC, regzbot might not notice because the patch lacks a Link: tag
to the original regression report. The Link tag is to Jan's patch
that was posted sometime in April, I think, which also lacks the
Link tag to the original report of the regression which did not
happen until May 4. If regzbot is smart enough to notice that the
patch also has a Fixes: tag for the commit that was identified as
bad in the original regression report, then I expect regzbot will
find it.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 17:43:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 17:43:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388453.625104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0ay-0004BC-TW; Tue, 16 Aug 2022 17:43:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388453.625104; Tue, 16 Aug 2022 17:43:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0ay-0004B5-Qu; Tue, 16 Aug 2022 17:43:16 +0000
Received: by outflank-mailman (input) for mailman id 388453;
 Tue, 16 Aug 2022 17:43:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NbGa=YU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oO0ax-0004Az-7A
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 17:43:15 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e71dba47-1d8a-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 19:43:14 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id fy5so20286336ejc.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Aug 2022 10:43:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e71dba47-1d8a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=WXX4x+IKpAZ3iCSL+4AM/XfhvHo3b+sFbJ4bZV78QsI=;
        b=BRFTG8PlKxlau44fAxmTJdY5pze60IbGKWB+L5CLIPCgaSCrl3P4aTq5nerYjxfTbk
         eybDqxF8zupukl/4HbGxsFRBG9WJDaCfwjoGpP93xlUroO9HoizDMFVpauSrd/sdIcYS
         okAkeuUia6c94Nu6RrgNWLZ3g8UzL7I9NlvDayHs9tu5HX/cR13XA4sKMemkeVS0Bvti
         ZQ7wd/dYMB6dqbZHuF0hZh+F8YgdcgY+wzlKBvOJKsXF3LEHBN9mre4qYbeAFLCVjnw8
         HjvaDTMOIUlerdh4p47kDpVBifHZ2sG6qF4RE22Qou1JCeyAy6SzEhRYIW+/nxCHC3VW
         fyLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=WXX4x+IKpAZ3iCSL+4AM/XfhvHo3b+sFbJ4bZV78QsI=;
        b=ejgTR1hJGHFA/xdTiB/FqYCMCsjLnamRvd8BnQM0wgslSEcQQ/reOYW35MPbsbQX0r
         qvKoxl0QajteQm7nGminC3p4Cf2yNBhYGZDExNlxp8UCQ2LiWmlrdd1FKdf71hs8Ph93
         xE3BsGw46twMwZhcStp1KCvUOVbtZ/Yx0U19tIEyTLVfSPqAvAW4KW7vUwe22eyXQYye
         L14Ws1N0kGUXvQyr36frVZRz3sxCujh+ACMyxmoooH+gqMWGf+YqB1I1wo38HKSTHovA
         opOJX0jiPySoi2KI/Gq+vmlurGl5Bwv3DziPtkP2xI0obiYgp0ok+wRAPvErY7+DI4U6
         7ECw==
X-Gm-Message-State: ACgBeo2o2a+QQFPdWBay/W6SZtl/pVzqoxrmCpREk9FVfQURlKt5NTAW
	T34ioskn26lWkb/7fE31JyUGNZuqcs9oTy4yoC3SNL09
X-Google-Smtp-Source: AA6agR6+RZpW1liG7KjliGOz9c+nVXJGuEzoWWzFkcMqFl4Kfr6JTdK+ORndV4HgDaKSH9FgOjcttMG9/7TpByarNFM=
X-Received: by 2002:a17:907:6d8f:b0:730:b108:5062 with SMTP id
 sb15-20020a1709076d8f00b00730b1085062mr14327987ejc.461.1660671793540; Tue, 16
 Aug 2022 10:43:13 -0700 (PDT)
MIME-Version: 1.0
References: <20220809140633.23537-1-dpsmith@apertussolutions.com>
In-Reply-To: <20220809140633.23537-1-dpsmith@apertussolutions.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 16 Aug 2022 13:43:01 -0400
Message-ID: <CAKf6xpur5sESPxgDEmY=PsnDDmuZ898UbaAECccGuQuyetjHEQ@mail.gmail.com>
Subject: Re: [PATCH v12] xsm: refactor flask sid alloc and domain check
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"

Hi,

I think you should change the title to "xsm/flask: Boot-time labeling
for multiple domains".  Refactor implies no functional change, and
this is a functional change.  With this, I think the commit message
should be re-written to focus on the "why" of the new labeling policy.

On Tue, Aug 9, 2022 at 10:06 AM Daniel P. Smith
<dpsmith@apertussolutions.com> wrote:
>
> The function flask_domain_alloc_security() allocates the security context and
> assigns an initial SID for the domain under construction. When it came to SID
> assignment of the initial domain, flask_domain_alloc_security() would assign
> unlabeled_t. Then in flask_domain_create() it would be switched to dom0_t.
> This logic worked under the assumption that the first domain constructed would
> be the hypervisor constructing dom0 and all other domains would be constructed
> by a toolstack, which would provide a SID. The introduction of dom0less and
> subsequently hyperlaunch violates this assumption, as non-privileged domain may
> be constructed before the initial domain or no initial domain may be
> constructed at all. It is not possible currently for dom0less to express domain
> labels in the domain configuration, as such the FLASK policy must employ a
> sensible initial SID assignment that can differentiate between hypervisor and
> toolstack domain construction.  With the introduction of xenboot_t it is now
> possible to distinguish when the hypervisor is in the boot state, and thus any
> domain construction happening at this time is being initiated by the
> hypervisor.

The problem this commit is addressing is "flask can only label a
single dom0_t at boot, and this is incompatible with dom0less and
hyperlaunch".

ISTM that dom0less device tree could gain a node for the security
label, and Hyperlaunch already supports labels.  But a goal of this
patch is to make it work without changing dom0less?  And it may be
worth more directly stating that dom0less panics today since the domU
fails to build with unlabeled_t.

Also a motivation was to align Flask labels to match the dummy policy
with dom0/domU, correct?  That would be worth adding.

> This commit addresses the above situation by using a check to confirm if the
> hypervisor is under the xenboot_t context in flask_domain_alloc_security().
> When that is the case, it will inspect the domain's is_privileged field to
> determine whether an initial label of dom0_t or domU_t should be set for the
> domain. The logic for flask_domain_create() was changed to allow the incoming
> SID to override the initial label.

AFAICT, the labeling policy needs to handle these three cases:
1) Traditional domain 0 (x86 or arm)
Single domain - domid == 0 && privileged

2) dom0less (arm)
Possibly a single dom0 - domid == 0 && privileged
Multiple domUs - domid > 0 && not privileged
Notably, it takes care not to create a domU with domid 0.

3) Hyperlaunch (x86 or arm)
Potentially anything?  I don't know what you envision for this.

When it was only dom0, it was easy to put a heuristic in flask to
label the first domain as dom0_t.  With dom0less, the heuristic can be
expanded to include domid > 0 -> domU_t.  With hyperlaunch, I'm not
sure.  Is there something it needs that wouldn't be covered?

dom0_t being a singleton emphasized for me that using only
is_privileged for the check isn't quite right.  Does hyperlaunch need
domid != 0 && is_privileged to get assigned dom0_t?  That could still
be done explicitly, but just not implicitly by the above.

> The base policy was adjusted to allow the idle domain under the xenboot_t
> context the ability to construct domains of both types, dom0_t and domu_t.

I suppose if someone doesn't want to use domU_t/dom0_t, then they
could remove the xenboot_t allow rules which would defacto require
explicit labels.

> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>


> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -182,7 +182,15 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
>          dsec->sid = SECINITSID_DOMIO;
>          break;
>      default:
> -        dsec->sid = SECINITSID_UNLABELED;
> +        if ( domain_sid(current->domain) == SECINITSID_XENBOOT )
> +        {
> +            if ( d->is_privileged )

The policy outlined above would change this line to:
    if ( d->is_privileged && d->domid == 0 )

> +                dsec->sid = SECINITSID_DOM0;
> +            else
> +                dsec->sid = SECINITSID_DOMU;
> +        }
> +        else
> +            dsec->sid = SECINITSID_UNLABELED;
>      }
>
>      dsec->self_sid = dsec->sid;
> @@ -550,20 +558,36 @@ static int cf_check flask_domain_create(struct domain *d, uint32_t ssidref)
>      struct domain_security_struct *dsec = d->ssid;
>      static int dom0_created = 0;
>
> -    if ( is_idle_domain(current->domain) && !dom0_created )

This old check only applied at boot time to label the first domain as
dom0_t, but it didn't restrict runtime labeling...

> +    /*
> +     * The dom0_t label is expressed as a singleton label in the base policy.
> +     * This cannot be enforced by the security server, therefore it will be
> +     * enforced here.
> +     */
> +    if ( ssidref == SECINITSID_DOM0 )
>      {

...this new one restricts runtime labeling with dom0_t.  It's an
unusual case, so making the code change is (probably) fine.   But it
should at least be mentioned in the commit message.

However, if the boot time policy adds "domid == 0" to the dom0_t
assignment, then the dom0_created code can go away.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 17:45:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 17:45:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388461.625116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0dU-0004ld-Cx; Tue, 16 Aug 2022 17:45:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388461.625116; Tue, 16 Aug 2022 17:45:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0dU-0004lW-8s; Tue, 16 Aug 2022 17:45:52 +0000
Received: by outflank-mailman (input) for mailman id 388461;
 Tue, 16 Aug 2022 17:45:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NbGa=YU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oO0dT-0004lL-Pc
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 17:45:51 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4473f7c8-1d8b-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 19:45:50 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id kb8so20313868ejc.4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Aug 2022 10:45:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4473f7c8-1d8b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=onRTyDW4osfpUPS9vsLkN+FsTCVHqgKoVm/tzVBiXOA=;
        b=o+CAu42obgnrbm2m+gbe1tnyfgvDPD7fGli8wdPsbuaIdJmcEmdxiXRbnerwbjn6CU
         h4Q9hnxG74eK1nHFLZQ9jWoe2nb6WEg81IyfAZ8jTHUpvKFmj8E5lMwaNCietlamSdpQ
         5JZ2QU4Q6nHeNt8btW0jG4WcGrJ5NJeBt1uoaDUMjdOr3eZBYgFPalzMJ/DvV/0MuzlS
         9CX1twF7Syymm8ROHwTJUz+uL8lsEFcALtprRQ3RGgRDzCTPGZUQvrtpGYjO8rfULtB3
         WRgYmJff1h27uuRhSj6DB932nyKkCeEZqEsosrOZX97goRnxDfEMkdxHhREhxgkyMcKH
         NWdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=onRTyDW4osfpUPS9vsLkN+FsTCVHqgKoVm/tzVBiXOA=;
        b=DYNqK4TTCm+s+ytLYuVMWxV8wtubCwLBkHN2PoiMuhQMvf24dHZlgLUc5ra10s+ED/
         O96r2OsIUV0lxmTUhVLjDcwdCffGcG1qDF5tYxyaeYQyhkNJzIYh4zt6749uDTkwwx9i
         fj1Y7FKTsnETbpd58Ys2AZxlqablS+CH23beUNZmMU+EYtiOlakJxdNEzwsGg6N3k7IO
         shBxiZKnniGoe+O04Qqaq1msP3sPSHZPFOCN3b95fj4UwPa7hqEX6GKahZLuVY07Qxcd
         4fD1B8VCLA5kscxKrnKs+ViOlhmIkkKpzEQ2W1uzAYXNSjqZAI18CfkUkhXlMt75BfPr
         8UMQ==
X-Gm-Message-State: ACgBeo1KJ28FPjmPl0G/eSXUkenD6SzUmGQYs3JdDX3Fm/Yd3yWEUlVu
	to+4exFo48QKALWSSTcYjohPJHV97MUnSCuLsxg=
X-Google-Smtp-Source: AA6agR6CB3I1wzgxQMleH8byqaAYxJmI1g2XXeayQqR8f7b1p2Fij/e0ubC0hiUwOW4SDtJbVFtJowY9vIwZH5chvPE=
X-Received: by 2002:a17:907:2704:b0:734:e5ae:e1f5 with SMTP id
 w4-20020a170907270400b00734e5aee1f5mr11546703ejk.761.1660671949956; Tue, 16
 Aug 2022 10:45:49 -0700 (PDT)
MIME-Version: 1.0
References: <20220808110545.62886-1-anthony.perard@citrix.com>
 <20220808110545.62886-3-anthony.perard@citrix.com> <CAKf6xpuyK-5-UH4JOVDHidVgE+GBsS8a947LyAOVNORQRpsfew@mail.gmail.com>
 <YvT2YQQmaKyiKMAK@perard.uk.xensource.com>
In-Reply-To: <YvT2YQQmaKyiKMAK@perard.uk.xensource.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 16 Aug 2022 13:45:38 -0400
Message-ID: <CAKf6xpvYbWnDPEeyd__o-+2r0MQpPLTXqUeAEdnaPukBM7oB6A@mail.gmail.com>
Subject: Re: [XEN PATCH 2/2] tools/libxl: Replace deprecated -soundhw on QEMU
 command line
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, Aug 11, 2022 at 8:30 AM Anthony PERARD
<anthony.perard@citrix.com> wrote:
>
> On Tue, Aug 09, 2022 at 08:17:49AM -0400, Jason Andryuk wrote:
> > On Mon, Aug 8, 2022 at 7:06 AM Anthony PERARD <anthony.perard@citrix.com> wrote:
> > > diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> > > index 6d98d73d76..b2901e04cf 100644
> > > --- a/docs/man/xl.cfg.5.pod.in
> > > +++ b/docs/man/xl.cfg.5.pod.in
> > > @@ -2555,9 +2555,9 @@ The form serial=DEVICE is also accepted for backwards compatibility.
> > >
> > >  =item B<soundhw="DEVICE">
> > >
> > > -Select the virtual sound card to expose to the guest. The valid
> > > -devices are defined by the device model configuration, please see the
> > > -B<qemu(1)> manpage for details. The default is not to export any sound
> > > +Select the virtual sound card to expose to the guest. The valid devices are
> > > +B<hda>, B<ac97>, B<es1370>, B<adlib>, B<cs4231a>, B<gus>, B<sb16> if there are
> > > +available with the device model QEMU. The default is not to export any sound
> > >  device.
> >
> > Is it worth mentioning driver support?  I think Windows 7 and later
> > only have a built-in driver for hda.  Windows 7 definitely doesn't
> > have a built-in driver for ac97.  I think all the other devices are
> > even older, so I doubt Windows has drivers for those, but I have not
> > checked.
>
> No, I don't think we can mention drivers support, we don't test any, it
> would be incomplete, and we can't do anything if a driver is broken.
> I've put "hda" first on the list in the hope that if someone wants a
> sound card but don't know which one to use, they will try this one
> first.

Ok.  That sounds fine.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 17:54:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 17:54:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388469.625126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0lE-0006FZ-4g; Tue, 16 Aug 2022 17:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388469.625126; Tue, 16 Aug 2022 17:53:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0lE-0006FS-1P; Tue, 16 Aug 2022 17:53:52 +0000
Received: by outflank-mailman (input) for mailman id 388469;
 Tue, 16 Aug 2022 17:53:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO0lC-0006FH-Um; Tue, 16 Aug 2022 17:53:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO0lC-0003GS-QU; Tue, 16 Aug 2022 17:53:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO0lC-0007B3-Ew; Tue, 16 Aug 2022 17:53:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oO0lC-0007dB-EX; Tue, 16 Aug 2022 17:53:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tZMUF0AUxrYHFUn2LX9qYogWZmXaIQFRcb89698SpYk=; b=jIHCnbpwDMqKWPkUqLIysuRhaF
	cD28/ZYT2at5Cp8Qs5f49gS308gyNNdOBR7WbfOF7eDruorAYQQwnPEJCCux+NGzaEfegPJK3Gxif
	NDFWMMromkDURSBydeK1vGXz7i10cx4BEvfzi7n7ydF/x5OmEwHhq3QmWuP9XpHs2Bx8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172556-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172556: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 17:53:50 +0000

flight 172556 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172556/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail in 172538 pass in 172556
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172538
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172538
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install     fail pass in 172538

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172538 blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172538 like 172108
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop   fail in 172538 like 172128
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172538 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172538 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 172538 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 172538 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172538 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172538 never pass
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   12 days
Testing same since   172384  2022-08-11 11:13:58 Z    5 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 17:58:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 17:58:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388480.625138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0pw-0006x1-Rf; Tue, 16 Aug 2022 17:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388480.625138; Tue, 16 Aug 2022 17:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO0pw-0006wu-Ot; Tue, 16 Aug 2022 17:58:44 +0000
Received: by outflank-mailman (input) for mailman id 388480;
 Tue, 16 Aug 2022 17:58:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO0pv-0006wk-FY; Tue, 16 Aug 2022 17:58:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO0pv-0003Lf-Ed; Tue, 16 Aug 2022 17:58:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO0pv-0007RS-3V; Tue, 16 Aug 2022 17:58:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oO0pv-0004eU-34; Tue, 16 Aug 2022 17:58:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3idJGH+a0NPus8t3Z2j/TT85wx99edRR17XTWFVm8lA=; b=G6eeAswKduaS3HSRkSFmsLtd7C
	rBmxQatWxyu9Ji/QAuX1V7pvXqcOc6qwEciMd510rlcbDLAGTjn6EIWrzgn4AFT6KBozist61WK7s
	Royqpli07LSsp5ZsWrFtPiucG6kb/igqwuX8Zx6fvxVBZ6lIH2OFaZAti9D5o/BgxZDs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172574-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172574: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=2812668bfc121ee792cf3302195176ef4a2ad0bc
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 17:58:43 +0000

flight 172574 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172574/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 2812668bfc121ee792cf3302195176ef4a2ad0bc
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   12 days
Failing since        172151  2022-08-05 02:40:28 Z   11 days  104 attempts
Testing same since   172560  2022-08-16 03:20:18 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 674 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 18:31:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 18:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388490.625148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO1LW-0002eV-E5; Tue, 16 Aug 2022 18:31:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388490.625148; Tue, 16 Aug 2022 18:31:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO1LW-0002eO-B6; Tue, 16 Aug 2022 18:31:22 +0000
Received: by outflank-mailman (input) for mailman id 388490;
 Tue, 16 Aug 2022 18:31:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dq/F=YU=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oO1LU-0002eF-7A
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 18:31:20 +0000
Received: from sonic303-25.consmr.mail.gq1.yahoo.com
 (sonic303-25.consmr.mail.gq1.yahoo.com [98.137.64.206])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c94c683-1d91-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 20:31:17 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic303.consmr.mail.gq1.yahoo.com with HTTP; Tue, 16 Aug 2022 18:31:14 +0000
Received: by hermes--production-bf1-7586675c46-7c7p2 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 624f3e4bccaf700bc143e57e0451f3fc; 
 Tue, 16 Aug 2022 18:31:09 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c94c683-1d91-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660674674; bh=q8wWOcwuIWp7jF+m+JG95FVHbs3q4ng16JE8P5IIOdI=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=K9QvIDtw9DoDRMNBYJRJtjej7x2KlWO/3XSw1i5V7/XXAQl+8qXuNkK+AiaNNxWr3mdFa8iYnB0Qz9inrjU7KRffjWYiGvnNboWDQ03jvBG353PDLGlK+hZHs8sDQ8V8cKXX+TMuSOccfavZ3Lsnzhh7Sj+V0JfVjAUONxtia6AMNk/fFVeOqmBdIoi73E3AFbS0ijle45g9MjEKeW39KpLYpFfQWcVmu2NufVbfjQ683b7aFwQKyVPEnKz09+BIHFAW2wUR6R9j130AdFpxC2kjiUzRRujI86MY89JAIqLvs4YMxT8o6Hs+WpXqKYWD30DOTrw4pMSwEGt2Mp5QRA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660674674; bh=TsO9OnmVcK62vUwmvFbeK1iVzVOZ3JC5TnUELQbCFUp=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=A4AkXtjlW3Th1SyLhdJg+sWu5of8cenfYMNTs+X/JsChEY4t+VmzwIz5qrN1Q+dW7G5ilNaQk5XXcRlmVkdzYZMZywqyLvyyuqGkjH7LLQ5g5HoKo1OX9PPTy6W1oxpMDIOOZrk7JKsYdbzBdcv3w7rFvTnaPx/EQ3a5l8cslRg8ts7tS7RwBEi+OKyqSV4pJREpzTMmLlhlUEzEZ9xijpRgKBp0N42gClw0PVDwlbResaV4WK5fjZv2+DO5ARn7BBZ5vD+2BUiasmsd2E+VGahIiUhYg/hYJHLJzYXTed5LMQvE0Anw0/2fxK/C5fAhyWr05E6/fTH7HePOYzGXzA==
X-YMail-OSG: .7H3UH4VM1ndSNL34UPAvb5VXC65DpJI_1A2nLTus0F8VmAcAtvonzuYw35.BwF
 Z0KxPlW7ZsFn6ntVRzNmw1hntiywuPKaKJEHJTVDBPmkqZOnEP2SPThPYE1N8uk0ed.cyC5iahSZ
 lGBnevXcFJv0kEm57GY473Hr_EvENwFBrgHzGEsQIi.evuuAkjNprYlVuHBSDRphu.0XcfdKAd2.
 jroHN0yZeOwKCIfIbwkLZ4HdFk8QzlRlDZok7oRypkw3eCe5YZ.SK8wpsTAdon7CRXuM8HHLF2rp
 7pgp961q2jQ3MGvt_wU8AYmRwFtjs8sRnlxc1LoClxXF5F6DWkrVFwKSesA4hN4eNNhDV8zeQoMg
 TcEVQdWJZfnOjFkvWPzTfXHRDNVgGOUL5Shmah7KcoCB6.nybM9E7TCNTUhvupSip1.QMMOF1b7s
 tXYFcutVyj8ixjoCoLpM2G9mtA1CeBHPg4g247ACahtQI8YdANpqkb3Ludvi5MHnCwge77PcE8Xu
 aj5oYSxBxsPZWsURJm7Ewh9yoHzetF25Dn4VihhsFqftv1j.firKa0XDzXhbPZDWgvz9reE5Xbv0
 QXwaX67GiQPWqBzvigKUmoBwPAfqj9LDADk8yIWQIIWYQ6qQdg8lGdiIeXIyKEA0ZJViLBEh.ESo
 S1JrKwJglEVo4sZ7tDTS_IZRvkI0eISOYVSC1BYyTWDmSKmWtvj31PpdSq6UBIGe7mupgP6MkuMT
 jglj5iDHyAcVQD7s.7ySIHu9m.Gwq7l0RIi_AW6yobDI5ORG1Fbid65H69cDppBOpPGFogW0LsrY
 2GXjEj9DLmpZRyKCj19tyyB6kYl5j3WHK0F3zm8mA33Q1PdhpG60ER3TYUH0Vs6LBaxsfH4uz2To
 kNDbNNo0KX9S.UV1jUM0_PsXJBDQamJ1wYIAxQ4ZR1YZuNEf5vskPVnC7THYLQWLsTn8zCD7kLXT
 FLPpi7E4iSLGGLkoS9yV98yp09RvfDiHqq8uVdwJCzpb_w5VovK2yjqFDYOqj57t2zsWfcZFCuht
 k_aHdQA_zQUtWMnHREOTtjCIihxWJWyhjLvX8POb6zGRIH0iv4PxhUnWbVrRRJR_1OPVi8o3wSXs
 9Cx0Egwn4lZBXAPCYOlzwGSyO0YZuJUcO81OuU_B9MwwpyzMWRAGsFCFPxFwCakuxNQ2u8wue3LR
 .dVMc02fn62607azoPfTCb4x7wmIhJPXICl3YpWbfJcAM.IjxLI7P568wJYdg9UG66rJcE1GS9Cc
 sK0ixqn.WlsrwYBvWr2m9yvluinGHWL09uwtukrU3J2SQI13sXses6McK3yBVkQvsQfr9c73eoXZ
 kBVT9CHJ184MwZv97IvdxhzePfzOJTmwAHj4RFCzr3_2sQr04a76emgeWL0fVy1SA6laUvWxwpE.
 .kKsay.yQ_0uQBW78iEFqS3nbcs9yNR4.Dc6_reZ127hZF0hs.l2ElmnvvFEbMLbUrVnk7wlhX3F
 cerH_k6jsNeOvqmmLbDWnsvYgRfLbx0YpLFvlFxTc6nd.Yx5KXSzeUjk_kqDolZi5Qf2XYmcC97T
 1MT53KfJPEZWo8ITgQkEHrFiOmwV6JUitocqsskV0mP1lDCWy.7UGfstiavQJZtgtj8_X4oMaCJr
 Oy88R.eujP97lvb4qvAJd4duiDc5V7LBv5VpGuvMPQA9PSWNwg_kPCnwiROL7L7W6uSlI.wCtHCZ
 zaJOnIW785yLK.YJHT1rwaHUnLust063YDvjhUBPP8p_7YSw44bxY7DFSOCj7jgEPyDEvrFy.5NM
 Zz9Y_ZLYr88oo973XwIQCfAFogR7XkgZdR_Umzk2dkBLjCmF9nVPeibakL8uhwSHoUs6VmdnWxeS
 SZKUpcpKCgd_1cLbztdEHmI4tIDw14v_C9ynRQSLnVtG0M2D_p6LNpf_F3tCeF7Inap_EEcpIPVs
 1kL02wEJbfKytQITMOJTxh3PCafwyGVF5qaFlz6oojdKuYBW0Sl_jXoEJD0OY6S727LruHNnTuTP
 z_f6O84jF7VIZ8bI7hXxyRrjLHXrYKYzYTxL8S3pRSxfwHZi3ou3ipmhw3q.Q_cGGn7unbESaXPd
 qStsh7KwbORv1d9JJNs3W2oV4tgmtE3_OQ.4TbTZfsx.GVAlIxc5w5wvq3HgZ78YsWhyo2p06cJg
 0c3ooMQcnjdq1sxreX0wIPlmRiUC8CCkojpMXaxFlUGFGYmHmoUTIVv3ReURDadGt4l2Legy_eMZ
 d2rwOiM71qaRgmQvN50s-
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <a47b2321-4809-f8bc-9eb3-45269ef79ff3@netscape.net>
Date: Tue, 16 Aug 2022 14:31:06 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: PING [PATCH 3/3] x86: decouple pat and mtrr handling
From: Chuck Zmudzinski <brchuckz@netscape.net>
To: Borislav Petkov <bp@alien8.de>
Cc: Juergen Gross <jgross@suse.com>,
 Thorsten Leemhuis <regressions@leemhuis.info>,
 Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev
References: <20220715142549.25223-1-jgross@suse.com>
 <20220715142549.25223-4-jgross@suse.com> <YtbKf51S4lTaziKm@zn.tnic>
 <d838264a-bcd0-29e2-3b23-5427ee0ee041@netscape.net>
 <YvfdYS81vU66tQSs@zn.tnic>
 <3de36953-9b8a-d040-c8dd-44af1ae2d56d@netscape.net>
 <YvgcIu/Y1GMD5WNo@zn.tnic>
 <6e709192-064d-fdfb-8596-6474d891dd7f@netscape.net>
Content-Language: en-US
In-Reply-To: <6e709192-064d-fdfb-8596-6474d891dd7f@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 825

On 8/13/2022 6:41 PM, Chuck Zmudzinski wrote:
> On 8/13/2022 5:48 PM, Borislav Petkov wrote:
> > On Sat, Aug 13, 2022 at 05:40:34PM -0400, Chuck Zmudzinski wrote:
> > > I did a search for Juergen Gross on lkml and he is active submitting and
> > > reviewing patches during the past few weeks. However, he is ignoring
> > > comments on his patch to fix this regression.
> >
> > Please stop this non-sense and be patient. We will fix this soon. For
> > the time being you can use Jan's patch locally.
> >

Hi Boris,

I see you have signed off on Jan's patch with a slight modification as
the short-term fix that is also tagged to be backported to stable. Thank you!
I hope no other problems or objections pop up and Linus will merge it into
the mainline kernel soon. Please forgive me for my impatience.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 19:00:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 19:00:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388498.625160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO1nC-00059W-MQ; Tue, 16 Aug 2022 18:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388498.625160; Tue, 16 Aug 2022 18:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO1nC-00059P-Ji; Tue, 16 Aug 2022 18:59:58 +0000
Received: by outflank-mailman (input) for mailman id 388498;
 Tue, 16 Aug 2022 18:59:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oO1nB-00059H-Ax
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 18:59:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oO1nB-0004Pk-0e; Tue, 16 Aug 2022 18:59:57 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oO1nA-0001Am-O1; Tue, 16 Aug 2022 18:59:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=D98GVDZfQ8TCxXBLkFuwake+DQisiai93uMoMlFu4B0=; b=OISsjH
	fAKMW6PRWj6Oo5hq+5kicslYSUXJO5gJYxnlhM6jKmLnwKEXB4EOjChVZnuq6v3e8WhfzazCXYaZ/
	VtNrkOyX9cwj84dnsexNHlXn48Cu39hLNcSFGuQEzKsom+DjSBJ8AoOnhewGTTA4AsguX5zY55Zzk
	FwFOUrBoARc=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
Date: Tue, 16 Aug 2022 19:59:54 +0100
Message-Id: <20220816185954.31945-1-julien@xen.org>
X-Mailer: git-send-email 2.37.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

__ro_after_init was introduced recently to prevent modifying
some variables after init.

At the moment, on Arm, the variables will still be accessible
because the region permission is not updated.

Address that, but moving the sections .data.ro_after_init
out of .data and then mark the region read-only once we finish
to boot.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

This patch is targeting Xen 4.17. There are quite a few arm
specific variables that could be switch to use __ro_after_init.

This is not addressed by the commit. We could consider to switch
some of them for Xen 4.17. So the benefits for now is any common
variables using __ro_after_init.
---
 xen/arch/arm/include/asm/setup.h |  2 ++
 xen/arch/arm/setup.c             | 14 ++++++++++++++
 xen/arch/arm/xen.lds.S           |  7 +++++++
 3 files changed, 23 insertions(+)

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 2bb01ecfa88f..5815ccf8c5cc 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -137,6 +137,8 @@ u32 device_tree_get_u32(const void *fdt, int node,
 int map_range_to_domain(const struct dt_device_node *dev,
                         u64 addr, u64 len, void *data);
 
+extern const char __ro_after_init_start[], __ro_after_init_end[];
+
 #endif
 /*
  * Local variables:
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 500307edc08d..5bde321b9d07 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -75,10 +75,24 @@ domid_t __read_mostly max_init_domid;
 
 static __used void init_done(void)
 {
+    int rc;
+
     /* Must be done past setting system_state. */
     unregister_init_virtual_region();
 
     free_init_memory();
+
+    /*
+     * We have finished to boot. Mark the section .data.ro_after_init
+     * read-only.
+     */
+    rc = modify_xen_mappings((unsigned long)&__ro_after_init_start,
+                             (unsigned long)&__ro_after_init_end,
+                             PAGE_HYPERVISOR_RO);
+    if ( rc )
+        panic("Unable to mark the .data.ro_after_init section read-only (rc = %d)\n",
+              rc);
+
     startup_cpu_idle_loop();
 }
 
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 1e986e211f68..92c298405259 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -83,6 +83,13 @@ SECTIONS
   _erodata = .;                /* End of read-only data */
 
   . = ALIGN(PAGE_SIZE);
+  .data.ro_after_init : {
+      __ro_after_init_start = .;
+      *(.data.ro_after_init)
+      . = ALIGN(PAGE_SIZE);
+      __ro_after_init_end = .;
+  } : text
+
   .data.read_mostly : {
        /* Exception table */
        __start___ex_table = .;
-- 
2.37.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 16 19:50:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 19:50:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388508.625170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO2ZW-0001pr-Cy; Tue, 16 Aug 2022 19:49:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388508.625170; Tue, 16 Aug 2022 19:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO2ZW-0001pk-AO; Tue, 16 Aug 2022 19:49:54 +0000
Received: by outflank-mailman (input) for mailman id 388508;
 Tue, 16 Aug 2022 19:49:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QBp0=YU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oO2ZV-0001pe-QJ
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 19:49:53 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9830579c-1d9c-11ed-bd2e-47488cf2e6aa;
 Tue, 16 Aug 2022 21:49:52 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 14BFFB81ABE;
 Tue, 16 Aug 2022 19:49:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7307FC433D7;
 Tue, 16 Aug 2022 19:49:49 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9830579c-1d9c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660679390;
	bh=/xUOKUssbeE9zFheCyFNKVO6t0s3Qerc2FneJC5C+iw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=q3ghXtRBdaY/h8ujoCcxoHU9t7GtMWbITL/ZInZpAdppHvJx1i9vCfVVy6wORRCtC
	 r3XfY6rzUXCR79jYFjLkJdyDDoh8PmQ0f8ByvVaWlyeFMK+FbqyFSDToIy2JU+NPvD
	 gWX0HHqqoTgWUtdhSjVTbNa9m6qc19OZpoHzEs2PER7dKkVH45ndgHMsyFE21/7HIp
	 vhpwlzeicdTBBYGde9XpJmYu8Oe5NjHP3Qep8AyS8bxVksyoCvbfsUX4JAoMiWL7/K
	 yMY28fgoAniI0PCBtoIAw8OlcOV/XOtbHC97m9HE4qQdsUQecm4Pnw0JdtxGKaNrQb
	 ZDUo7lbSuWKmA==
Date: Tue, 16 Aug 2022 12:49:48 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Juergen Gross <jgross@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    bertrand.marquis@arm.com, george.dunlap@citrix.com, 
    andrew.cooper3@citrix.com, Volodymyr_Babchuk@epam.com, 
    xen-devel@lists.xenproject.org, jbeulich@suse.com, wl@xen.org, 
    roger.pau@citrix.com
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
In-Reply-To: <db2ee8d6-a58a-20d1-bed6-72885cbd9268@suse.com>
Message-ID: <alpine.DEB.2.22.394.2208161244170.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop> <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org> <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop> <db2ee8d6-a58a-20d1-bed6-72885cbd9268@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 16 Aug 2022, Juergen Gross wrote:
> On 15.08.22 22:32, Stefano Stabellini wrote:
> > + Xen maintainers and committers
> > 
> > 
> > For context, I wrote a patch to introduce SPDX tags starting from
> > arch/arm/*.c.
> 
> Don't we want something like the kernel's LICENSES directory in order to
> have something the SPDX lines refer to? COPYING should maybe adapted, too.

I don't know if we need to go as far as the LICENSES directory. For
example, Zephyr doesn't have anything of the sort AFAICT. But maybe it
is cleaner to have it?

For the hypervisor, GPL-2.0 and GPL-2.0-or-later are the ones that are
relevant so we would only need LICENSES/preferred/GPL-2.0 initially?


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 19:53:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 19:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388516.625182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO2dN-0003FD-Uu; Tue, 16 Aug 2022 19:53:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388516.625182; Tue, 16 Aug 2022 19:53:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO2dN-0003F6-Qd; Tue, 16 Aug 2022 19:53:53 +0000
Received: by outflank-mailman (input) for mailman id 388516;
 Tue, 16 Aug 2022 19:53:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QBp0=YU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oO2dM-0003F0-Qm
 for xen-devel@lists.xenproject.org; Tue, 16 Aug 2022 19:53:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25c9f626-1d9d-11ed-9250-1f966e50362f;
 Tue, 16 Aug 2022 21:53:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5C08060B8A;
 Tue, 16 Aug 2022 19:53:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 88D51C433C1;
 Tue, 16 Aug 2022 19:53:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25c9f626-1d9d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660679628;
	bh=YbZZjsIc/oBTwOGwGovflgeQtXFl421zeSK6y1cMtMQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Za4c+v3BjL1kJhb1RoYhpmYIxQSQ+cyYCohJOB75dXG5J5hZrESMK7siIfT/OskJK
	 c/I/y8vRhzICAnqNe9InAT/mHGO8ehpmEeRYuocCcK5t0pfofxFkbrzq5BMhGLRhfK
	 FKu73cpnP/lhadcaS77IUktNXGxFOca3xuJEkRQTWOc1/7+Ib2BpHbBTTwyBbZNyZx
	 Uq/84cMONnYn+y4KUhBl4iys/9ivkIAf3v6FPiUMm3/8sctMae5uC+nZ4KJakDSKUW
	 ooRJKWUtUTwQc4mK4YWI1rsYRXUZK8dtdH3V73wGV09GP+o+87ocZrcZyZJXC4zxZ+
	 Y3rp94G13tesg==
Date: Tue, 16 Aug 2022 12:53:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    "george.dunlap@citrix.com" <george.dunlap@citrix.com>, 
    "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, 
    "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "jbeulich@suse.com" <jbeulich@suse.com>, "wl@xen.org" <wl@xen.org>, 
    "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
In-Reply-To: <655CFF12-6B2E-4604-A604-E614F5B3DBDE@arm.com>
Message-ID: <alpine.DEB.2.22.394.2208161250020.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop> <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org> <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop> <655CFF12-6B2E-4604-A604-E614F5B3DBDE@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 16 Aug 2022, Bertrand Marquis wrote:
> Hi Stefano,
> 
> > On 15 Aug 2022, at 21:32, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > 
> > + Xen maintainers and committers
> > 
> > 
> > For context, I wrote a patch to introduce SPDX tags starting from
> > arch/arm/*.c.
> > 
> > Julien rightfully pointed out that it should be added to our coding
> > style. He is right. Also as I was reading his replies, I realized there
> > are a couple of minor coding style things to agree as a group first.
> > I'll highlighted them here and suggested a proposal. I am happy to go
> > with the preference of the majority.
> > 
> > 
> > ## comment format // vs /*
> > 
> > In this patch I used:
> > // SPDX-License-Identifier: GPL-2.0
> > 
> > But our comment format is actually /* xxx */. I think it is fair to
> > use /* xxx */ as Julien requested:
> > 
> > /* SPDX-License-Identifier: GPL-2.0 */
> > 
> > Unless there are any concerns, I'll change the patch to /* SPDX... */
> > 
> 
> Agree
> 
> > 
> > ## blank line after SPDX
> > 
> > In this series, I didn't add a blank line after the new SPDX comment, no
> > matter if the following line was an #include or another comment. Now I am
> > thinking it would be best to add a blank line, as follows:
> > 
> > ---
> > /* SPDX-License-Identifier: GPL-2.0 */
> > 
> > #include <xen/bitops.h>
> > ---
> > 
> > Or:
> > 
> > ---
> > /* SPDX-License-Identifier: GPL-2.0 */
> > 
> > /*
> > * xen/arch/arm/device.c
> > *
> > ---
> > 
> > Let me know if that's OK for you.
> 
> Agree.
> Makes things clearer I think.
> 
> > 
> > 
> > ## Original copyright text
> > 
> > As we add the new SDPX tag, It makes sense to remove the older copyright
> > text at the top of the file, e.g.:
> > 
> > diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> > index f03cd943c6..d0a409e4fd 100644
> > --- a/xen/arch/arm/alternative.c
> > +++ b/xen/arch/arm/alternative.c
> > @@ -1,20 +1,10 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +
> > /*
> >  * alternative runtime patching
> >  * inspired by the x86 version
> >  *
> >  * Copyright (C) 2014-2016 ARM Ltd.
> > - *
> > - * This program is free software; you can redistribute it and/or modify
> > - * it under the terms of the GNU General Public License version 2 as
> > - * published by the Free Software Foundation.
> > - *
> > - * This program is distributed in the hope that it will be useful,
> > - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > - * GNU General Public License for more details.
> > - *
> > - * You should have received a copy of the GNU General Public License
> > - * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> >  */
> > 
> > #include <xen/init.h>
> > 
> > 
> > Now the question is whether we want to keep what's left:
> > 
> > /*
> > * alternative runtime patching
> > * inspired by the x86 version
> > *
> > * Copyright (C) 2014-2016 ARM Ltd.
> > */
> > 
> > The Copyright line is not useful and often stale. Also the other comment
> > is not very interesting in most cases (I am referring to "alternative
> > runtime patching inspired by the x86 version"), although I realize this
> > is going to be a on case-by-case basis.
> > 
> > My suggestion is to get rid of it all unless useful (in most cases it is
> > not useful), leading to:
> > 
> > 
> > diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> > index f03cd943c6..e363176d1f 100644
> > --- a/xen/arch/arm/alternative.c
> > +++ b/xen/arch/arm/alternative.c
> > @@ -1,21 +1,4 @@
> > -/*
> > - * alternative runtime patching
> > - * inspired by the x86 version
> > - *
> > - * Copyright (C) 2014-2016 ARM Ltd.
> > - *
> > - * This program is free software; you can redistribute it and/or modify
> > - * it under the terms of the GNU General Public License version 2 as
> > - * published by the Free Software Foundation.
> > - *
> > - * This program is distributed in the hope that it will be useful,
> > - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > - * GNU General Public License for more details.
> > - *
> > - * You should have received a copy of the GNU General Public License
> > - * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> > - */
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > 
> > #include <xen/init.h>
> > #include <xen/types.h>
> > 
> > 
> > Do you guys agree?
> 
> Removing the copyright would probably require an agreement from the original implementer.
> To prevent troubles and round of questions I would keep the comment and copyright for now.

I don't think that we need agreement from the original implementer to
remove the copyright: the copyright information is expressed by the
Signed-off-by line. In fact, every person that changed the file has
partial copyright ownership over it. So I think that we can remove the
Copyright line without asking anyone, as long as we properly retain the
git history.

That said, I am all for preventing troubles and rounds of questions,
especially as we need to change very many files. The more mechanical the
changes the better at this stage.

So maybe it is actually better to only remove the strict necessary (the
license info) and keep everything else. This way it could be almost
scriptable and it is easier to review too.

Any further changes could be done with additional patches on top. I am
going to do that if everyone agrees.





> > Cheers,
> > 
> > Stefano
> > 
> > 
> > P.S.
> > Julien, I'll reply to your other points separately to avoid confusion.
> > 
> > 
> > On Sat, 13 Aug 2022, Julien Grall wrote:
> >> Hi Stefano,
> >> 
> >> On 13/08/2022 01:59, Stefano Stabellini wrote:
> >>> Add SPDX license information to all the *.c files under arch/arm.
> >>> 
> >>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> >>> ---
> >>> 
> >>> We need to start from somewhere and I thought arch/arm/*.c would be a
> >>> good place to start.
> >> 
> >> Thanks for doing it. This will make easier to understand the license in each
> >> file. There are a couple of places below where the SDPX tag is incorrect. How
> >> did you figure out the which license to use?
> >> 
> >> Also, I think we should consider to add a section about SPDX in our coding
> >> style so new files are using it. So we don't end up with a mix in arch/arm/*.
> >> 
> >>> 
> >>> diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> >>> index f03cd943c6..8115f89408 100644
> >>> --- a/xen/arch/arm/alternative.c
> >>> +++ b/xen/arch/arm/alternative.c
> >>> @@ -1,3 +1,4 @@
> >>> +// SPDX-License-Identifier: GPL-2.0
> >> 
> >> Technically, this is a comment. So this should be /* ... */ to follow Xen
> >> coding style. Also...
> >> 
> >>>  /*
> >>>   * alternative runtime patching
> >>>   * inspired by the x86 version
> >> 
> >> ... this comment contains information about the license. As you add the SPDX,
> >> the "long" version should be removed. This would also make easier to verify
> >> the SPDX you add match existing license.
> >> 
> >>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> >>> index ec81a45de9..7c986ecb18 100644
> >>> --- a/xen/arch/arm/bootfdt.c
> >>> +++ b/xen/arch/arm/bootfdt.c
> >>> @@ -1,3 +1,4 @@
> >>> +// SPDX-License-Identifier: GPL-2.0
> >>>  /*
> >>>   * Early Device Tree
> >>>   *
> >>> diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
> >>> index ae649d16ef..887b5426c7 100644
> >>> --- a/xen/arch/arm/cpuerrata.c
> >>> +++ b/xen/arch/arm/cpuerrata.c
> >>> @@ -1,3 +1,4 @@
> >>> +// SPDX-License-Identifier: GPL-2.0
> >> 
> >> This file had no explicit license. I had a look at the 'git log' and AFAICT
> >> this was either new code and came from Linux. So this looks fine to add GPLv2
> >> here.
> >> 
> >>>  #include <xen/cpu.h>
> >>>  #include <xen/cpumask.h>
> >>>  #include <xen/init.h>
> >>> diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
> >>> index 62d5e1770a..a6253cb57f 100644
> >>> --- a/xen/arch/arm/cpufeature.c
> >>> +++ b/xen/arch/arm/cpufeature.c
> >>> @@ -1,3 +1,4 @@
> >>> +// SPDX-License-Identifier: GPL-2.0
> >>>  /*
> >>>   * Contains CPU feature definitions
> >>>   *
> >>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> >>> index f5f6562600..f586c3d781 100644
> >>> --- a/xen/arch/arm/decode.c
> >>> +++ b/xen/arch/arm/decode.c
> >>> @@ -1,3 +1,4 @@
> >>> +// SPDX-License-Identifier: GPL-2.0
> >> 
> >> This tag doesn't match the license below. It is currently GPLv2+. I don't
> >> think you can change it without consulting the author. But if it is, then it
> >> should be mentioned in the commit message.
> >> 
> >> I remember we discussed in the past that some files were GPLv2+. But I can't
> >> remember what was the outcome (I can't find the thread). IIRC GPLv2+ is a lot
> >> more restrictive than GPLv2 and could prevent some companies to contribute.
> >> 
> >> [...]
> >> 
> >>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> >>> index 2cd481979c..1a2dac95a9 100644
> >>> --- a/xen/arch/arm/domain.c
> >>> +++ b/xen/arch/arm/domain.c
> >>> @@ -1,3 +1,4 @@
> >>> +// SPDX-License-Identifier: GPL-2.0
> >> 
> >> Same here about GPLv2+. Please go through the rest of the files to confirm the
> >> license.
> >> 
> >> Cheers,
> >> 
> >> -- 
> >> Julien Grall
> >> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 21:24:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 21:24:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388527.625198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO42o-0003d7-KJ; Tue, 16 Aug 2022 21:24:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388527.625198; Tue, 16 Aug 2022 21:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO42o-0003d0-H1; Tue, 16 Aug 2022 21:24:14 +0000
Received: by outflank-mailman (input) for mailman id 388527;
 Tue, 16 Aug 2022 21:24:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO42m-0003cq-R4; Tue, 16 Aug 2022 21:24:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO42m-0006xA-Ml; Tue, 16 Aug 2022 21:24:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO42m-0004t6-Ey; Tue, 16 Aug 2022 21:24:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oO42m-0001NS-EV; Tue, 16 Aug 2022 21:24:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=65rj6/yfp75UbJgmUtc3fetz3/8wXh7U6mMEk5Yhw+Q=; b=rIOoK6H0WhG6If9oJTjHfNyICY
	uIEdAnSU9LHprNQALR0/KccSRli4o4BbcJ+IaXMvYwSMle9OIMP1XTmGMUbxXyTzV6t/ILjaZRkQ9
	6tJVX28Avdx3fPirP9N4VOYTgPr36f1H2TCS9DF8wNRyUrp9wnH3kfD6/OQoamwq637U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172563-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172563: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=231af0a08ca6c021a8d5daa8a4a9d804b9224ea8
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 21:24:12 +0000

flight 172563 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172563/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              231af0a08ca6c021a8d5daa8a4a9d804b9224ea8
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  767 days
Failing since        151818  2020-07-11 04:18:52 Z  766 days  748 attempts
Testing same since   172563  2022-08-16 04:20:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120378 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 22:12:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 22:12:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388537.625210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO4ns-0000Di-9f; Tue, 16 Aug 2022 22:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388537.625210; Tue, 16 Aug 2022 22:12:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO4ns-0000Db-6U; Tue, 16 Aug 2022 22:12:52 +0000
Received: by outflank-mailman (input) for mailman id 388537;
 Tue, 16 Aug 2022 22:12:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO4nr-0000DR-D7; Tue, 16 Aug 2022 22:12:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO4nr-0007lp-9N; Tue, 16 Aug 2022 22:12:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO4nq-0008Rq-Sw; Tue, 16 Aug 2022 22:12:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oO4nq-0003V7-SV; Tue, 16 Aug 2022 22:12:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7W+kd75uOTdJ7vnE89whgsRBc4ANgrwElBuvpVatVpQ=; b=GMgHkQVnSyBgXtX44sqHHhCKGV
	loGofsLQkaFByim3EvilBpXec3MPsmj864wvtD37tbxBn6uZvYaTDRSlCymVnGraQoJmq3oO1OnL0
	8A6G1MOp3NfjLpjIC8IPfPNUhnuwRhWm/Xr4jX/+8rILXip/5gArEYRqhaG2Df3t/DmM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172562-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172562: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=568035b01cfb107af8d2e4bd2fb9aea22cf5b868
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 22:12:50 +0000

flight 172562 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172562/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 172546

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                568035b01cfb107af8d2e4bd2fb9aea22cf5b868
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   12 days
Failing since        172152  2022-08-05 04:01:26 Z   11 days   30 attempts
Testing same since   172531  2022-08-15 04:07:28 Z    1 days    3 attempts

------------------------------------------------------------
1386 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 145032 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 16 22:30:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Aug 2022 22:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388548.625221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO54i-0002dP-TO; Tue, 16 Aug 2022 22:30:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388548.625221; Tue, 16 Aug 2022 22:30:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO54i-0002dI-Ql; Tue, 16 Aug 2022 22:30:16 +0000
Received: by outflank-mailman (input) for mailman id 388548;
 Tue, 16 Aug 2022 22:30:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO54i-0002d8-8X; Tue, 16 Aug 2022 22:30:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO54i-00084B-6n; Tue, 16 Aug 2022 22:30:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO54h-0001N4-TP; Tue, 16 Aug 2022 22:30:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oO54h-0005av-Sx; Tue, 16 Aug 2022 22:30:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3WBAclJkFLwnDqzQdWexowh6KTn6OfhdAWVNuzTbpm0=; b=fiJot7yQ32L5ilHgGl8s/ssa8d
	hysXv82kHhDeAzSk1o7MzC5+85NNOpuiUY4ic1y/7MCHm1HEoFm+JBkUyuXio9LznOsG7qZ7P9pVl
	xgAUqy5SxfBmqVAmIeXX6lulNW6Nws76SC43o9qpgzEn2lqWqtJXvdNbRggHc/ZBaC1w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172579-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172579: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=2812668bfc121ee792cf3302195176ef4a2ad0bc
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Aug 2022 22:30:15 +0000

flight 172579 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172579/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 2812668bfc121ee792cf3302195176ef4a2ad0bc
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   12 days
Failing since        172151  2022-08-05 02:40:28 Z   11 days  105 attempts
Testing same since   172560  2022-08-16 03:20:18 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 674 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 01:49:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 01:49:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388562.625243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8Bc-0002Y5-PM; Wed, 17 Aug 2022 01:49:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388562.625243; Wed, 17 Aug 2022 01:49:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8Bc-0002Xy-M9; Wed, 17 Aug 2022 01:49:36 +0000
Received: by outflank-mailman (input) for mailman id 388562;
 Wed, 17 Aug 2022 01:49:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8Bb-0002Xo-N3; Wed, 17 Aug 2022 01:49:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8Bb-0001qV-LD; Wed, 17 Aug 2022 01:49:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8Bb-0004ng-3b; Wed, 17 Aug 2022 01:49:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8Bb-0008DU-2o; Wed, 17 Aug 2022 01:49:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4hyDxktKZ4/ScLQNrlbWAwuWodE6M0EePww+QdgMzaA=; b=RXCxx97ehbwjdlCFFVMlQNsl+U
	5POlQiwT6rHBrMwwCGqDFS0Ls5PgA/R3iegOjgmx2uIj1ktPbQ0rVr7YEoIP62P4iLFFjtLNiaAdp
	nqrOkVa912Iyxb4XXywvD6xAqSo3XJAIaYpcZI5mnktL8OozBsDhEE7KfCEkYA5yiUmQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172582-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172582: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=3f282f451023234e16510516fbad20cd0ca04847
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 01:49:35 +0000

flight 172582 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172582/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 3f282f451023234e16510516fbad20cd0ca04847
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   12 days
Failing since        172151  2022-08-05 02:40:28 Z   11 days  106 attempts
Testing same since   172582  2022-08-16 22:43:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 720 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 01:56:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 01:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388572.625255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8IB-0003yo-H8; Wed, 17 Aug 2022 01:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388572.625255; Wed, 17 Aug 2022 01:56:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8IB-0003yh-DY; Wed, 17 Aug 2022 01:56:23 +0000
Received: by outflank-mailman (input) for mailman id 388572;
 Wed, 17 Aug 2022 01:56:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8IA-0003yX-ID; Wed, 17 Aug 2022 01:56:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8IA-0001zn-E2; Wed, 17 Aug 2022 01:56:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8IA-0004xG-2I; Wed, 17 Aug 2022 01:56:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8IA-0000iQ-1m; Wed, 17 Aug 2022 01:56:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LOrB6I4HEign6wNAwou1sXkbDgG6xY/6L0nRoG4jprI=; b=SgujoV/gAA05kLHoehCQJeZYxI
	W321puYFOQgwZUH9sXifYRS4xly8JwOBxQ03MjVOKggJcMaXyOzn+MyRN+nRDtaAZFdl4yQvgtQ1S
	j5QPQ/SbuZnLJo0fu71G/pJq+5aPFTYpYwD+XdkLNCfMPkq8yfX1YR2HWKNHMO3OspZ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172576-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172576: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=09a78762a2d68e5a5634bb7f07262c01d4538d98
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 01:56:22 +0000

flight 172576 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172576/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-armhf-armhf-xl-vhd      12 debian-di-install        fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                09a78762a2d68e5a5634bb7f07262c01d4538d98
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   13 days
Failing since        172148  2022-08-04 21:39:38 Z   12 days   30 attempts
Testing same since   172576  2022-08-16 16:53:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1623 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 02:07:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 02:07:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388584.625269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8Sm-0005u9-LL; Wed, 17 Aug 2022 02:07:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388584.625269; Wed, 17 Aug 2022 02:07:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8Sm-0005u2-IB; Wed, 17 Aug 2022 02:07:20 +0000
Received: by outflank-mailman (input) for mailman id 388584;
 Wed, 17 Aug 2022 02:07:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7CYW=YV=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1oO8Sk-0005tw-SL
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 02:07:19 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 4fac033d-1dd1-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 04:07:15 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 30445106F;
 Tue, 16 Aug 2022 19:07:14 -0700 (PDT)
Received: from ais-sh-xeon.shanghai.arm.com (unknown [10.169.212.215])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 377AB3F67D;
 Tue, 16 Aug 2022 19:07:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4fac033d-1dd1-11ed-bd2e-47488cf2e6aa
From: jiaxie01 <jiamei.xie@arm.com>
To: jiamei.xie@arm.com,
	xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 01/16] libxl: Add support for Virtio disk configuration
Date: Wed, 17 Aug 2022 10:06:46 +0800
Message-Id: <20220817020701.27379-1-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

This patch adds basic support for configuring and assisting virtio-mmio
based virtio-disk backend (emulator) which is intended to run out of
Qemu and could be run in any domain.
Although the Virtio block device is quite different from traditional
Xen PV block device (vbd) from the toolstack's point of view:
 - as the frontend is virtio-blk which is not a Xenbus driver, nothing
   written to Xenstore are fetched by the frontend currently ("vdev"
   is not passed to the frontend). But this might need to be revised
   in future, so frontend data might be written to Xenstore in order to
   support hotplugging virtio devices or passing the backend domain id
   on arch where the device-tree is not available.
 - the ring-ref/event-channel are not used for the backend<->frontend
   communication, the proposed IPC for Virtio is IOREQ/DM
it is still a "block device" and ought to be integrated in existing
"disk" handling. So, re-use (and adapt) "disk" parsing/configuration
logic to deal with Virtio devices as well.

For the immediate purpose and an ability to extend that support for
other use-cases in future (Qemu, virtio-pci, etc) perform the following
actions:
- Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
  that in the configuration
- Introduce new disk "specification" and "transport" fields to struct
  libxl_device_disk. Both are written to the Xenstore. The transport
  field is only used for the specification "virtio" and it assumes
  only "mmio" value for now.
- Introduce new "specification" option with "xen" communication
  protocol being default value.
- Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
  one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model

An example of domain configuration for Virtio disk:
disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']

Nothing has changed for default Xen disk configuration.

Please note, this patch is not enough for virtio-disk to work
on Xen (Arm), as for every Virtio device (including disk) we need
to allocate Virtio MMIO params (IRQ and memory region) and pass
them to the backend, also update Guest device-tree. The subsequent
patch will add these missing bits. For the current patch,
the default "irq" and "base" are just written to the Xenstore.
This is not an ideal splitting, but this way we avoid breaking
the bisectability.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
Changes RFC -> V1:
   - no changes

Changes V1 -> V2:
   - rebase according to the new location of libxl_virtio_disk.c

Changes V2 -> V3:
   - no changes

Changes V3 -> V4:
   - rebase according to the new argument for DEFINE_DEVICE_TYPE_STRUCT

Changes V4 -> V5:
   - split the changes, change the order of the patches
   - update patch description
   - don't introduce new "vdisk" configuration option with own parsing logic,
     re-use Xen PV block "disk" parsing/configuration logic for the virtio-disk
   - introduce "virtio" flag and document it's usage
   - add LIBXL_HAVE_DEVICE_DISK_VIRTIO
   - update libxlu_disk_l.[ch]
   - drop num_disks variable/MAX_VIRTIO_DISKS
   - drop Wei's T-b

Changes V5 -> V6:
   - rebase on current staging
   - use "%"PRIu64 instead of %lu for disk->base in device_disk_add()
   - update *.gen.go files

Changes V6 -> V7:
   - rebase on current staging
   - update *.gen.go files and libxlu_disk_l.[ch] files
   - update patch description
   - rework significantly to support more flexible configuration
     and have more generic basic implementation for being able to extend
     that for other use-cases (virtio-pci, qemu, etc).

Changes V7 -> V8:
   - update *.gen.go files and libxlu_disk_l.[ch] files
   - update patch description and comments in the code
   - use "specification" config option instead of "protocol"
   - update libxl_types.idl and code according to new fields
     in libxl_device_disk

Changes V8 -> V9:
   - update (and harden) checks in libxl__device_disk_setdefault(),
     return error in case of incorrect settings of specification
     and transport
   - remove both asserts in device_disk_add()
   - update virtio related code in libxl__disk_from_xenstore(),
     do not fail if specification node is absent, replace
     open-coded checks of fetched specification and transport by
     libxl_disk_specification_from_string() and libxl_disk_transport_from_string()
     respectively
   - s/libxl_device_disk_get_path/libxl__device_disk_get_path
   - add a comment for virtio-mmio parameters in struct libxl_device_disk

Changes V9 -> V10:
   - s/ERROR_FAIL/ERROR_INVAL in both places in libxl__device_disk_setdefault()
   - rework libxl__device_disk_get_path()

Changes V10 -> V10.1:
   - fix small coding style issue in libxl__device_disk_get_path()
   - drop specification check in main_blockattach() and add
     required check in libxl__device_disk_setdefault()
   - update specification check in main_blockdetach()

Changes V10.1 -> V11:
   - Anthony already gave his Reviewed-by, I dropped it due to the changes
   - George already gave his Acked-by, I dropped it due to the changes
   - s/other/standalone for the backendtype
---
---
 docs/man/xl-disk-configuration.5.pod.in   |  38 +-
 tools/golang/xenlight/helpers.gen.go      |   8 +
 tools/golang/xenlight/types.gen.go        |  18 +
 tools/include/libxl.h                     |   7 +
 tools/libs/light/libxl_device.c           |  62 +-
 tools/libs/light/libxl_disk.c             | 146 +++-
 tools/libs/light/libxl_internal.h         |   2 +
 tools/libs/light/libxl_types.idl          |  18 +
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_utils.c            |   2 +
 tools/libs/util/libxlu_disk_l.c           | 959 +++++++++++-----------
 tools/libs/util/libxlu_disk_l.h           |   2 +-
 tools/libs/util/libxlu_disk_l.l           |   9 +
 tools/xl/xl_block.c                       |   6 +
 14 files changed, 798 insertions(+), 480 deletions(-)

diff --git a/docs/man/xl-disk-configuration.5.pod.in b/docs/man/xl-disk-configuration.5.pod.in
index 71d0e86e3d..822c940f90 100644
--- a/docs/man/xl-disk-configuration.5.pod.in
+++ b/docs/man/xl-disk-configuration.5.pod.in
@@ -232,7 +232,7 @@ Specifies the backend implementation to use
 
 =item Supported values
 
-phy, qdisk
+phy, qdisk, standalone
 
 =item Mandatory
 
@@ -244,11 +244,13 @@ Automatically determine which backend to use.
 
 =back
 
-This does not affect the guest's view of the device.  It controls
-which software implementation of the Xen backend driver is used.
+It controls which software implementation of the backend driver is used.
+Depending on the "specification" option this may affect the guest's view
+of the device.
 
 Not all backend drivers support all combinations of other options.
-For example, "phy" does not support formats other than "raw".
+For example, "phy" and "standalone" do not support formats other than "raw"
+and "standalone" does not support specifications other than "virtio".
 Normally this option should not be specified, in which case libxl will
 automatically determine the most suitable backend.
 
@@ -344,8 +346,36 @@ can be used to disable "hole punching" for file based backends which
 were intentionally created non-sparse to avoid fragmentation of the
 file.
 
+=item B<specification>=I<SPECIFICATION>
+
+=over 4
+
+=item Description
+
+Specifies the communication protocol (specification) to use for the chosen
+"backendtype" option
+
+=item Supported values
+
+xen, virtio
+
+=item Mandatory
+
+No
+
+=item Default value
+
+xen
+
 =back
 
+Besides forcing toolstack to use specific backend implementation, this also
+affects the guest's view of the device. For example, "virtio" requires
+Virtio frontend driver (virtio-blk) to be used. Please note, the virtual
+device (vdev) is not passed to the guest in that case, but it still must be
+specified for the internal purposes.
+
+=back
 
 =head1 COLO Parameters
 
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index b746ff1081..00f10b9df3 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1751,6 +1751,10 @@ x.DirectIoSafe = bool(xc.direct_io_safe)
 if err := x.DiscardEnable.fromC(&xc.discard_enable);err != nil {
 return fmt.Errorf("converting field DiscardEnable: %v", err)
 }
+x.Specification = DiskSpecification(xc.specification)
+x.Transport = DiskTransport(xc.transport)
+x.Irq = uint32(xc.irq)
+x.Base = uint64(xc.base)
 if err := x.ColoEnable.fromC(&xc.colo_enable);err != nil {
 return fmt.Errorf("converting field ColoEnable: %v", err)
 }
@@ -1788,6 +1792,10 @@ xc.direct_io_safe = C.bool(x.DirectIoSafe)
 if err := x.DiscardEnable.toC(&xc.discard_enable); err != nil {
 return fmt.Errorf("converting field DiscardEnable: %v", err)
 }
+xc.specification = C.libxl_disk_specification(x.Specification)
+xc.transport = C.libxl_disk_transport(x.Transport)
+xc.irq = C.uint32_t(x.Irq)
+xc.base = C.uint64_t(x.Base)
 if err := x.ColoEnable.toC(&xc.colo_enable); err != nil {
 return fmt.Errorf("converting field ColoEnable: %v", err)
 }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index b1e84d5258..c729b95d02 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -99,6 +99,20 @@ DiskBackendUnknown DiskBackend = 0
 DiskBackendPhy DiskBackend = 1
 DiskBackendTap DiskBackend = 2
 DiskBackendQdisk DiskBackend = 3
+DiskBackendStandalone DiskBackend = 4
+)
+
+type DiskSpecification int
+const(
+DiskSpecificationUnknown DiskSpecification = 0
+DiskSpecificationXen DiskSpecification = 1
+DiskSpecificationVirtio DiskSpecification = 2
+)
+
+type DiskTransport int
+const(
+DiskTransportUnknown DiskTransport = 0
+DiskTransportMmio DiskTransport = 1
 )
 
 type NicType int
@@ -643,6 +657,10 @@ Readwrite int
 IsCdrom int
 DirectIoSafe bool
 DiscardEnable Defbool
+Specification DiskSpecification
+Transport DiskTransport
+Irq uint32
+Base uint64
 ColoEnable Defbool
 ColoRestoreEnable Defbool
 ColoHost string
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 7ce978e83c..0f02b6b58b 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -527,6 +527,13 @@
  */
 #define LIBXL_HAVE_MAX_GRANT_VERSION 1
 
+/*
+ * LIBXL_HAVE_DEVICE_DISK_SPECIFICATION indicates that 'specification' and
+ * 'transport' fields (of libxl_disk_specification and libxl_disk_transport
+ * types respectively) are present in libxl_device_disk.
+ */
+#define LIBXL_HAVE_DEVICE_DISK_SPECIFICATION 1
+
 /*
  * libxl ABI compatibility
  *
diff --git a/tools/libs/light/libxl_device.c b/tools/libs/light/libxl_device.c
index e6025d135e..a75c21d433 100644
--- a/tools/libs/light/libxl_device.c
+++ b/tools/libs/light/libxl_device.c
@@ -289,9 +289,16 @@ static int disk_try_backend(disk_try_backend_args *a,
                             libxl_disk_backend backend)
  {
     libxl__gc *gc = a->gc;
+    libxl_disk_specification specification = a->disk->specification;
     /* returns 0 (ie, DISK_BACKEND_UNKNOWN) on failure, or
      * backend on success */
 
+    if ((specification == LIBXL_DISK_SPECIFICATION_VIRTIO &&
+         backend != LIBXL_DISK_BACKEND_STANDALONE) ||
+        (specification != LIBXL_DISK_SPECIFICATION_VIRTIO &&
+         backend == LIBXL_DISK_BACKEND_STANDALONE))
+        goto bad_specification;
+
     switch (backend) {
     case LIBXL_DISK_BACKEND_PHY:
         if (a->disk->format != LIBXL_DISK_FORMAT_RAW) {
@@ -329,6 +336,29 @@ static int disk_try_backend(disk_try_backend_args *a,
         if (a->disk->script) goto bad_script;
         return backend;
 
+    case LIBXL_DISK_BACKEND_STANDALONE:
+        if (a->disk->format != LIBXL_DISK_FORMAT_RAW)
+            goto bad_format;
+
+        if (a->disk->script)
+            goto bad_script;
+
+        if (libxl_defbool_val(a->disk->colo_enable))
+            goto bad_colo;
+
+        if (a->disk->backend_domid != LIBXL_TOOLSTACK_DOMID) {
+            LOG(DEBUG, "Disk vdev=%s, is using a storage driver domain, "
+                       "skipping physical device check", a->disk->vdev);
+            return backend;
+        }
+
+        if (libxl__try_phy_backend(a->stab.st_mode))
+            return backend;
+
+        LOG(DEBUG, "Disk vdev=%s, backend standalone unsuitable as phys path not a "
+                   "block device", a->disk->vdev);
+        return 0;
+
     default:
         LOG(DEBUG, "Disk vdev=%s, backend %d unknown", a->disk->vdev, backend);
         return 0;
@@ -352,6 +382,12 @@ static int disk_try_backend(disk_try_backend_args *a,
     LOG(DEBUG, "Disk vdev=%s, backend %s not compatible with colo",
         a->disk->vdev, libxl_disk_backend_to_string(backend));
     return 0;
+
+ bad_specification:
+    LOG(DEBUG, "Disk vdev=%s, backend %s not compatible with specification %s",
+        a->disk->vdev, libxl_disk_backend_to_string(backend),
+        libxl_disk_specification_to_string(specification));
+    return 0;
 }
 
 int libxl__backendpath_parse_domid(libxl__gc *gc, const char *be_path,
@@ -376,8 +412,9 @@ int libxl__device_disk_set_backend(libxl__gc *gc, libxl_device_disk *disk) {
     a.gc = gc;
     a.disk = disk;
 
-    LOG(DEBUG, "Disk vdev=%s spec.backend=%s", disk->vdev,
-               libxl_disk_backend_to_string(disk->backend));
+    LOG(DEBUG, "Disk vdev=%s spec.backend=%s specification=%s", disk->vdev,
+               libxl_disk_backend_to_string(disk->backend),
+               libxl_disk_specification_to_string(disk->specification));
 
     if (disk->format == LIBXL_DISK_FORMAT_EMPTY) {
         if (!disk->is_cdrom) {
@@ -392,7 +429,8 @@ int libxl__device_disk_set_backend(libxl__gc *gc, libxl_device_disk *disk) {
         }
         memset(&a.stab, 0, sizeof(a.stab));
     } else if ((disk->backend == LIBXL_DISK_BACKEND_UNKNOWN ||
-                disk->backend == LIBXL_DISK_BACKEND_PHY) &&
+                disk->backend == LIBXL_DISK_BACKEND_PHY ||
+                disk->backend == LIBXL_DISK_BACKEND_STANDALONE) &&
                disk->backend_domid == LIBXL_TOOLSTACK_DOMID &&
                !disk->script) {
         if (stat(disk->pdev_path, &a.stab)) {
@@ -408,7 +446,8 @@ int libxl__device_disk_set_backend(libxl__gc *gc, libxl_device_disk *disk) {
         ok=
             disk_try_backend(&a, LIBXL_DISK_BACKEND_PHY) ?:
             disk_try_backend(&a, LIBXL_DISK_BACKEND_QDISK) ?:
-            disk_try_backend(&a, LIBXL_DISK_BACKEND_TAP);
+            disk_try_backend(&a, LIBXL_DISK_BACKEND_TAP) ?:
+            disk_try_backend(&a, LIBXL_DISK_BACKEND_STANDALONE);
         if (ok)
             LOG(DEBUG, "Disk vdev=%s, using backend %s",
                        disk->vdev,
@@ -441,10 +480,25 @@ char *libxl__device_disk_string_of_backend(libxl_disk_backend backend)
         case LIBXL_DISK_BACKEND_QDISK: return "qdisk";
         case LIBXL_DISK_BACKEND_TAP: return "phy";
         case LIBXL_DISK_BACKEND_PHY: return "phy";
+        case LIBXL_DISK_BACKEND_STANDALONE: return "standalone";
+        default: return NULL;
+    }
+}
+
+char *libxl__device_disk_string_of_specification(libxl_disk_specification specification)
+{
+    switch (specification) {
+        case LIBXL_DISK_SPECIFICATION_XEN: return "xen";
+        case LIBXL_DISK_SPECIFICATION_VIRTIO: return "virtio";
         default: return NULL;
     }
 }
 
+char *libxl__device_disk_string_of_transport(libxl_disk_transport transport)
+{
+    return (transport == LIBXL_DISK_TRANSPORT_MMIO ? "mmio" : NULL);
+}
+
 const char *libxl__qemu_disk_format_string(libxl_disk_format format)
 {
     switch (format) {
diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c
index a5ca77850f..4429bfd479 100644
--- a/tools/libs/light/libxl_disk.c
+++ b/tools/libs/light/libxl_disk.c
@@ -163,6 +163,30 @@ static int libxl__device_disk_setdefault(libxl__gc *gc, uint32_t domid,
     rc = libxl__resolve_domid(gc, disk->backend_domname, &disk->backend_domid);
     if (rc < 0) return rc;
 
+    if (disk->specification == LIBXL_DISK_SPECIFICATION_UNKNOWN)
+        disk->specification = LIBXL_DISK_SPECIFICATION_XEN;
+
+    if (disk->specification == LIBXL_DISK_SPECIFICATION_XEN &&
+        disk->transport != LIBXL_DISK_TRANSPORT_UNKNOWN) {
+        LOGD(ERROR, domid, "Transport is only supported for specification virtio");
+        return ERROR_INVAL;
+    }
+
+    /* Force transport mmio for specification virtio for now */
+    if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
+        if (!(disk->transport == LIBXL_DISK_TRANSPORT_UNKNOWN ||
+              disk->transport == LIBXL_DISK_TRANSPORT_MMIO)) {
+            LOGD(ERROR, domid, "Unsupported transport for specification virtio");
+            return ERROR_INVAL;
+        }
+        disk->transport = LIBXL_DISK_TRANSPORT_MMIO;
+    }
+
+    if (hotplug && disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
+        LOGD(ERROR, domid, "Hotplug isn't supported for specification virtio");
+        return ERROR_FAIL;
+    }
+
     /* Force Qdisk backend for CDROM devices of guests with a device model. */
     if (disk->is_cdrom != 0 &&
         libxl__domain_type(gc, domid) == LIBXL_DOMAIN_TYPE_HVM) {
@@ -204,6 +228,9 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
         case LIBXL_DISK_BACKEND_QDISK:
             device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
             break;
+        case LIBXL_DISK_BACKEND_STANDALONE:
+            device->backend_kind = LIBXL__DEVICE_KIND_VIRTIO_DISK;
+            break;
         default:
             LOGD(ERROR, domid, "Unrecognized disk backend type: %d",
                  disk->backend);
@@ -212,7 +239,8 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
 
     device->domid = domid;
     device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
+    device->kind = disk->backend == LIBXL_DISK_BACKEND_STANDALONE ?
+        LIBXL__DEVICE_KIND_VIRTIO_DISK : LIBXL__DEVICE_KIND_VBD;
 
     return 0;
 }
@@ -330,7 +358,14 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid,
 
                 assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
                 break;
+            case LIBXL_DISK_BACKEND_STANDALONE:
+                dev = disk->pdev_path;
+
+                flexarray_append(back, "params");
+                flexarray_append(back, dev);
 
+                assert(device->backend_kind == LIBXL__DEVICE_KIND_VIRTIO_DISK);
+                break;
             case LIBXL_DISK_BACKEND_TAP:
                 LOG(ERROR, "blktap is not supported");
                 rc = ERROR_FAIL;
@@ -386,6 +421,14 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid,
         flexarray_append_pair(back, "discard-enable",
                               libxl_defbool_val(disk->discard_enable) ?
                               "1" : "0");
+        flexarray_append(back, "specification");
+        flexarray_append(back, libxl__device_disk_string_of_specification(disk->specification));
+        if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
+            flexarray_append(back, "transport");
+            flexarray_append(back, libxl__device_disk_string_of_transport(disk->transport));
+            flexarray_append_pair(back, "base", GCSPRINTF("%"PRIu64, disk->base));
+            flexarray_append_pair(back, "irq", GCSPRINTF("%u", disk->irq));
+        }
 
         flexarray_append(front, "backend-id");
         flexarray_append(front, GCSPRINTF("%d", disk->backend_domid));
@@ -532,6 +575,53 @@ static int libxl__disk_from_xenstore(libxl__gc *gc, const char *libxl_path,
     }
     libxl_string_to_backend(ctx, tmp, &(disk->backend));
 
+    tmp = libxl__xs_read(gc, XBT_NULL,
+                         GCSPRINTF("%s/specification", libxl_path));
+    if (!tmp) {
+        LOG(DEBUG, "Missing xenstore node %s/specification, assuming specification xen", libxl_path);
+        disk->specification = LIBXL_DISK_SPECIFICATION_XEN;
+    } else {
+        rc = libxl_disk_specification_from_string(tmp, &disk->specification);
+        if (rc) {
+            LOG(ERROR, "Unable to parse xenstore node %s/specification", libxl_path);
+            goto cleanup;
+        }
+    }
+
+    if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
+        tmp = libxl__xs_read(gc, XBT_NULL,
+                             GCSPRINTF("%s/transport", libxl_path));
+        if (!tmp) {
+            LOG(ERROR, "Missing xenstore node %s/transport", libxl_path);
+            goto cleanup;
+        }
+        rc = libxl_disk_transport_from_string(tmp, &disk->transport);
+        if (rc) {
+            LOG(ERROR, "Unable to parse xenstore node %s/transport", libxl_path);
+            goto cleanup;
+        }
+        if (disk->transport != LIBXL_DISK_TRANSPORT_MMIO) {
+            LOG(ERROR, "Only transport mmio is expected for specification virtio");
+            goto cleanup;
+        }
+
+        tmp = libxl__xs_read(gc, XBT_NULL,
+                             GCSPRINTF("%s/base", libxl_path));
+        if (!tmp) {
+            LOG(ERROR, "Missing xenstore node %s/base", libxl_path);
+            goto cleanup;
+        }
+        disk->base = strtoul(tmp, NULL, 10);
+
+        tmp = libxl__xs_read(gc, XBT_NULL,
+                             GCSPRINTF("%s/irq", libxl_path));
+        if (!tmp) {
+            LOG(ERROR, "Missing xenstore node %s/irq", libxl_path);
+            goto cleanup;
+        }
+        disk->irq = strtoul(tmp, NULL, 10);
+    }
+
     disk->vdev = xs_read(ctx->xsh, XBT_NULL,
                          GCSPRINTF("%s/dev", libxl_path), &len);
     if (!disk->vdev) {
@@ -575,6 +665,42 @@ cleanup:
     return rc;
 }
 
+static int libxl__device_disk_get_path(libxl__gc *gc, uint32_t domid,
+                                       char **path)
+{
+    const char *xen_dir, *virtio_dir;
+    char *xen_path, *virtio_path;
+    int rc;
+
+    /* default path */
+    xen_path = GCSPRINTF("%s/device/%s",
+                         libxl__xs_libxl_path(gc, domid),
+                         libxl__device_kind_to_string(LIBXL__DEVICE_KIND_VBD));
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL, xen_path, &xen_dir);
+    if (rc)
+        return rc;
+
+    virtio_path = GCSPRINTF("%s/device/%s",
+                            libxl__xs_libxl_path(gc, domid),
+                            libxl__device_kind_to_string(LIBXL__DEVICE_KIND_VIRTIO_DISK));
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL, virtio_path, &virtio_dir);
+    if (rc)
+        return rc;
+
+    if (xen_dir && virtio_dir) {
+        LOGD(ERROR, domid, "Invalid configuration, both xen and virtio paths are present");
+        return ERROR_INVAL;
+    } else if (virtio_dir) {
+        *path = virtio_path;
+    } else {
+        *path = xen_path;
+    }
+
+    return 0;
+}
+
 int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid,
                               const char *vdev, libxl_device_disk *disk)
 {
@@ -588,10 +714,12 @@ int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid,
 
     libxl_device_disk_init(disk);
 
-    libxl_path = libxl__domain_device_libxl_path(gc, domid, devid,
-                                                 LIBXL__DEVICE_KIND_VBD);
+    rc = libxl__device_disk_get_path(gc, domid, &libxl_path);
+    if (rc)
+        return rc;
 
-    rc = libxl__disk_from_xenstore(gc, libxl_path, devid, disk);
+    rc = libxl__disk_from_xenstore(gc, GCSPRINTF("%s/%d", libxl_path, devid),
+                                   devid, disk);
 
     GC_FREE;
     return rc;
@@ -605,16 +733,19 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
     char *fe_path, *libxl_path;
     char *val;
     int rc;
+    libxl__device_kind kind;
 
     diskinfo->backend = NULL;
 
     diskinfo->devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
 
-    /* tap devices entries in xenstore are written as vbd devices. */
+    /* tap devices entries in xenstore are written as vbd/virtio_disk devices. */
+    kind = disk->backend == LIBXL_DISK_BACKEND_STANDALONE ?
+        LIBXL__DEVICE_KIND_VIRTIO_DISK : LIBXL__DEVICE_KIND_VBD;
     fe_path = libxl__domain_device_frontend_path(gc, domid, diskinfo->devid,
-                                                 LIBXL__DEVICE_KIND_VBD);
+                                                 kind);
     libxl_path = libxl__domain_device_libxl_path(gc, domid, diskinfo->devid,
-                                                 LIBXL__DEVICE_KIND_VBD);
+                                                 kind);
     diskinfo->backend = xs_read(ctx->xsh, XBT_NULL,
                                 GCSPRINTF("%s/backend", libxl_path), NULL);
     if (!diskinfo->backend) {
@@ -1418,6 +1549,7 @@ LIBXL_DEFINE_DEVICE_LIST(disk)
 #define libxl__device_disk_update_devid NULL
 
 DEFINE_DEVICE_TYPE_STRUCT(disk, VBD, disks,
+    .get_path    = libxl__device_disk_get_path,
     .merge       = libxl_device_disk_merge,
     .dm_needed   = libxl_device_disk_dm_needed,
     .from_xenstore = (device_from_xenstore_fn_t)libxl__disk_from_xenstore,
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index bdef5a605e..cb9e8b3b8b 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -1493,6 +1493,8 @@ _hidden char * libxl__domain_pvcontrol_read(libxl__gc *gc,
 
 /* from xl_device */
 _hidden char *libxl__device_disk_string_of_backend(libxl_disk_backend backend);
+_hidden char *libxl__device_disk_string_of_specification(libxl_disk_specification specification);
+_hidden char *libxl__device_disk_string_of_transport(libxl_disk_transport transport);
 _hidden char *libxl__device_disk_string_of_format(libxl_disk_format format);
 _hidden const char *libxl__qemu_disk_format_string(libxl_disk_format format);
 _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 2a42da2f7d..3c898e320c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -130,6 +130,18 @@ libxl_disk_backend = Enumeration("disk_backend", [
     (1, "PHY"),
     (2, "TAP"),
     (3, "QDISK"),
+    (4, "STANDALONE"), # Only relying on the Xenstore data
+    ])
+
+libxl_disk_specification = Enumeration("disk_specification", [
+    (0, "UNKNOWN"),
+    (1, "XEN"),
+    (2, "VIRTIO"),
+    ])
+
+libxl_disk_transport = Enumeration("disk_transport", [
+    (0, "UNKNOWN"),
+    (1, "MMIO"),
     ])
 
 libxl_nic_type = Enumeration("nic_type", [
@@ -704,6 +716,12 @@ libxl_device_disk = Struct("device_disk", [
     ("is_cdrom", integer),
     ("direct_io_safe", bool),
     ("discard_enable", libxl_defbool),
+    ("specification", libxl_disk_specification),
+    ("transport", libxl_disk_transport),
+    # Note that virtio-mmio parameters (irq and base) are for internal use
+    # by libxl and can't be modified.
+    ("irq", uint32),
+    ("base", uint64),
     # Note that the COLO configuration settings should be considered unstable.
     # They may change incompatibly in future versions of Xen.
     ("colo_enable", libxl_defbool),
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index 3593e21dbb..8f71980aec 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -32,6 +32,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (14, "PVCALLS"),
     (15, "VSND"),
     (16, "VINPUT"),
+    (17, "VIRTIO_DISK"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/libs/light/libxl_utils.c b/tools/libs/light/libxl_utils.c
index e5e6b2da96..e403bd9bcf 100644
--- a/tools/libs/light/libxl_utils.c
+++ b/tools/libs/light/libxl_utils.c
@@ -297,6 +297,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend
         *backend = LIBXL_DISK_BACKEND_TAP;
     } else if (!strcmp(s, "qdisk")) {
         *backend = LIBXL_DISK_BACKEND_QDISK;
+    } else if (!strcmp(s, "standalone")) {
+        *backend = LIBXL_DISK_BACKEND_STANDALONE;
     } else if (!strcmp(s, "tap")) {
         p = strchr(s, ':');
         if (!p) {
diff --git a/tools/libs/util/libxlu_disk_l.c b/tools/libs/util/libxlu_disk_l.c
index 32d4b74b58..0b59723b71 100644
--- a/tools/libs/util/libxlu_disk_l.c
+++ b/tools/libs/util/libxlu_disk_l.c
@@ -549,8 +549,8 @@ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
 	yyg->yy_hold_char = *yy_cp; \
 	*yy_cp = '\0'; \
 	yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 36
-#define YY_END_OF_BUFFER 37
+#define YY_NUM_RULES 37
+#define YY_END_OF_BUFFER 38
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -558,74 +558,77 @@ struct yy_trans_info
 	flex_int32_t yy_verify;
 	flex_int32_t yy_nxt;
 	};
-static const flex_int16_t yy_acclist[575] =
+static const flex_int16_t yy_acclist[594] =
     {   0,
-       35,   35,   37,   33,   34,   36, 8193,   33,   34,   36,
-    16385, 8193,   33,   36,16385,   33,   34,   36,   34,   36,
-       33,   34,   36,   33,   34,   36,   33,   34,   36,   33,
-       34,   36,   33,   34,   36,   33,   34,   36,   33,   34,
-       36,   33,   34,   36,   33,   34,   36,   33,   34,   36,
-       33,   34,   36,   33,   34,   36,   33,   34,   36,   33,
-       34,   36,   33,   34,   36,   33,   34,   36,   35,   36,
-       36,   33,   33, 8193,   33, 8193,   33,16385, 8193,   33,
-     8193,   33,   33, 8224,   33,16416,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   35,
-     8193,   33, 8193,   33, 8193, 8224,   33, 8224,   33, 8224,
-       23,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33, 8224,   33, 8224,   33, 8224,
-       23,   33,   33,   28, 8224,   33,16416,   33,   33,   15,
-       33,   33,   33,   33,   33,   33,   33,   33,   33, 8217,
-     8224,   33,16409,16416,   33,   33,   31, 8224,   33,16416,
-       33, 8216, 8224,   33,16408,16416,   33,   33, 8219, 8224,
-       33,16411,16416,   33,   33,   33,   33,   33,   28, 8224,
-
-       33,   28, 8224,   33,   28,   33,   28, 8224,   33,    3,
-       33,   15,   33,   33,   33,   33,   33,   30, 8224,   33,
-    16416,   33,   33,   33, 8217, 8224,   33, 8217, 8224,   33,
-     8217,   33, 8217, 8224,   33,   33,   31, 8224,   33,   31,
-     8224,   33,   31,   33,   31, 8224, 8216, 8224,   33, 8216,
-     8224,   33, 8216,   33, 8216, 8224,   33, 8219, 8224,   33,
-     8219, 8224,   33, 8219,   33, 8219, 8224,   33,   33,   10,
-       33,   33,   28, 8224,   33,   28, 8224,   33,   28, 8224,
-       28,   33,   28,   33,    3,   33,   33,   33,   33,   33,
-       33,   33,   30, 8224,   33,   30, 8224,   33,   30,   33,
-
-       30, 8224,   33,   33,   29, 8224,   33,16416, 8217, 8224,
-       33, 8217, 8224,   33, 8217, 8224, 8217,   33, 8217,   33,
-       33,   31, 8224,   33,   31, 8224,   33,   31, 8224,   31,
-       33,   31, 8216, 8224,   33, 8216, 8224,   33, 8216, 8224,
-     8216,   33, 8216,   33, 8219, 8224,   33, 8219, 8224,   33,
-     8219, 8224, 8219,   33, 8219,   33,   33,   10,   23,   10,
-        7,   33,   33,   33,   33,   33,   33,   33,   13,   33,
-       30, 8224,   33,   30, 8224,   33,   30, 8224,   30,   33,
-       30,    2,   33,   29, 8224,   33,   29, 8224,   33,   29,
-       33,   29, 8224,   16,   33,   33,   11,   33,   22,   10,
-
-       10,   23,    7,   23,    7,   33,    8,   33,   33,   33,
-       33,    6,   33,   13,   33,    2,   23,    2,   33,   29,
-     8224,   33,   29, 8224,   33,   29, 8224,   29,   33,   29,
-       16,   33,   33,   11,   23,   11,   26, 8224,   33,16416,
-       22,   23,   22,    7,    7,   23,   33,    8,   23,    8,
-       33,   33,   33,   33,    6,   23,    6,    6,   23,    6,
-       23,   33,    2,    2,   23,   33,   33,   11,   11,   23,
-       26, 8224,   33,   26, 8224,   33,   26,   33,   26, 8224,
-       22,   23,   33,    8,    8,   23,   33,   33,   17,   18,
-        6,    6,   23,    6,    6,   33,   33,   14,   33,   26,
-
-     8224,   33,   26, 8224,   33,   26, 8224,   26,   33,   26,
-       33,   33,   33,   17,   23,   17,   18,   23,   18,    6,
-        6,   33,   33,   14,   33,   20,    9,   19,   17,   17,
-       23,   18,   18,   23,    6,    5,    6,   33,   21,   20,
-       23,   20,    9,   23,    9,   19,   23,   19,    4,    6,
-        5,    6,   33,   21,   23,   21,   20,   20,   23,    9,
-        9,   23,   19,   19,   23,    4,    6,   12,   33,   21,
-       21,   23,   12,   33
+       36,   36,   38,   34,   35,   37, 8193,   34,   35,   37,
+    16385, 8193,   34,   37,16385,   34,   35,   37,   35,   37,
+       34,   35,   37,   34,   35,   37,   34,   35,   37,   34,
+       35,   37,   34,   35,   37,   34,   35,   37,   34,   35,
+       37,   34,   35,   37,   34,   35,   37,   34,   35,   37,
+       34,   35,   37,   34,   35,   37,   34,   35,   37,   34,
+       35,   37,   34,   35,   37,   34,   35,   37,   36,   37,
+       37,   34,   34, 8193,   34, 8193,   34,16385, 8193,   34,
+     8193,   34,   34, 8225,   34,16417,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       36, 8193,   34, 8193,   34, 8193, 8225,   34, 8225,   34,
+     8225,   24,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34, 8225,   34, 8225,
+       34, 8225,   24,   34,   34,   29, 8225,   34,16417,   34,
+       34,   16,   34,   34,   34,   34,   34,   34,   34,   34,
+       34, 8218, 8225,   34,16410,16417,   34,   34,   32, 8225,
+       34,16417,   34, 8217, 8225,   34,16409,16417,   34,   34,
+       34, 8220, 8225,   34,16412,16417,   34,   34,   34,   34,
+
+       34,   29, 8225,   34,   29, 8225,   34,   29,   34,   29,
+     8225,   34,    3,   34,   16,   34,   34,   34,   34,   34,
+       31, 8225,   34,16417,   34,   34,   34, 8218, 8225,   34,
+     8218, 8225,   34, 8218,   34, 8218, 8225,   34,   34,   32,
+     8225,   34,   32, 8225,   34,   32,   34,   32, 8225, 8217,
+     8225,   34, 8217, 8225,   34, 8217,   34, 8217, 8225,   34,
+       34, 8220, 8225,   34, 8220, 8225,   34, 8220,   34, 8220,
+     8225,   34,   34,   11,   34,   34,   29, 8225,   34,   29,
+     8225,   34,   29, 8225,   29,   34,   29,   34,    3,   34,
+       34,   34,   34,   34,   34,   34,   31, 8225,   34,   31,
+
+     8225,   34,   31,   34,   31, 8225,   34,   34,   30, 8225,
+       34,16417, 8218, 8225,   34, 8218, 8225,   34, 8218, 8225,
+     8218,   34, 8218,   34,   34,   32, 8225,   34,   32, 8225,
+       34,   32, 8225,   32,   34,   32, 8217, 8225,   34, 8217,
+     8225,   34, 8217, 8225, 8217,   34, 8217,   34,   34, 8220,
+     8225,   34, 8220, 8225,   34, 8220, 8225, 8220,   34, 8220,
+       34,   34,   11,   24,   11,    7,   34,   34,   34,   34,
+       34,   34,   34,   14,   34,   31, 8225,   34,   31, 8225,
+       34,   31, 8225,   31,   34,   31,    2,   34,   30, 8225,
+       34,   30, 8225,   34,   30,   34,   30, 8225,   17,   34,
+
+       34,   12,   34,   34,   23,   11,   11,   24,    7,   24,
+        7,   34,    8,   34,   34,   34,   34,    6,   34,   14,
+       34,    2,   24,    2,   34,   30, 8225,   34,   30, 8225,
+       34,   30, 8225,   30,   34,   30,   17,   34,   34,   12,
+       24,   12,   34,   27, 8225,   34,16417,   23,   24,   23,
+        7,    7,   24,   34,    8,   24,    8,   34,   34,   34,
+       34,    6,   24,    6,    6,   24,    6,   24,   34,    2,
+        2,   24,   34,   34,   12,   12,   24,   34,   27, 8225,
+       34,   27, 8225,   34,   27,   34,   27, 8225,   23,   24,
+       34,    8,    8,   24,   34,   34,   18,   19,    6,    6,
+
+       24,    6,    6,   34,   34,   15,   34,   34,   27, 8225,
+       34,   27, 8225,   34,   27, 8225,   27,   34,   27,   34,
+       34,   34,   18,   24,   18,   19,   24,   19,    6,    6,
+       34,   34,   15,   34,   34,   21,    9,   20,   18,   18,
+       24,   19,   19,   24,    6,    5,    6,   34,   22,   34,
+       21,   24,   21,    9,   24,    9,   20,   24,   20,    4,
+        6,    5,    6,   34,   22,   24,   22,   34,   21,   21,
+       24,    9,    9,   24,   20,   20,   24,    4,    6,   13,
+       34,   22,   22,   24,   10,   13,   34,   10,   24,   10,
+       10,   10,   24
+
     } ;
 
-static const flex_int16_t yy_accept[356] =
+static const flex_int16_t yy_accept[373] =
     {   0,
         1,    1,    1,    2,    3,    4,    7,   12,   16,   19,
        21,   24,   27,   30,   33,   36,   39,   42,   45,   48,
@@ -633,39 +636,41 @@ static const flex_int16_t yy_accept[356] =
        74,   76,   79,   81,   82,   83,   84,   87,   87,   88,
        89,   90,   91,   92,   93,   94,   95,   96,   97,   98,
        99,  100,  101,  102,  103,  104,  105,  106,  107,  108,
-      109,  110,  111,  113,  115,  116,  118,  120,  121,  122,
+      109,  110,  111,  112,  114,  116,  117,  119,  121,  122,
       123,  124,  125,  126,  127,  128,  129,  130,  131,  132,
       133,  134,  135,  136,  137,  138,  139,  140,  141,  142,
-      143,  144,  145,  146,  148,  150,  151,  152,  153,  154,
-
-      158,  159,  160,  162,  163,  164,  165,  166,  167,  168,
-      169,  170,  175,  176,  177,  181,  182,  187,  188,  189,
-      194,  195,  196,  197,  198,  199,  202,  205,  207,  209,
-      210,  212,  214,  215,  216,  217,  218,  222,  223,  224,
-      225,  228,  231,  233,  235,  236,  237,  240,  243,  245,
-      247,  250,  253,  255,  257,  258,  261,  264,  266,  268,
-      269,  270,  271,  272,  273,  276,  279,  281,  283,  284,
-      285,  287,  288,  289,  290,  291,  292,  293,  296,  299,
-      301,  303,  304,  305,  309,  312,  315,  317,  319,  320,
-      321,  322,  325,  328,  330,  332,  333,  336,  339,  341,
-
-      343,  344,  345,  348,  351,  353,  355,  356,  357,  358,
-      360,  361,  362,  363,  364,  365,  366,  367,  368,  369,
-      371,  374,  377,  379,  381,  382,  383,  384,  387,  390,
-      392,  394,  396,  397,  398,  399,  400,  401,  403,  405,
-      406,  407,  408,  409,  410,  411,  412,  413,  414,  416,
-      418,  419,  420,  423,  426,  428,  430,  431,  433,  434,
-      436,  437,  441,  443,  444,  445,  447,  448,  450,  451,
-      452,  453,  454,  455,  457,  458,  460,  462,  463,  464,
-      466,  467,  468,  469,  471,  474,  477,  479,  481,  483,
-      484,  485,  487,  488,  489,  490,  491,  492,  494,  495,
-
-      496,  497,  498,  500,  503,  506,  508,  510,  511,  512,
-      513,  514,  516,  517,  519,  520,  521,  522,  523,  524,
-      526,  527,  528,  529,  530,  532,  533,  535,  536,  538,
-      539,  540,  542,  543,  545,  546,  548,  549,  551,  553,
-      554,  556,  557,  558,  560,  561,  563,  564,  566,  568,
-      570,  571,  573,  575,  575
+      143,  144,  145,  146,  147,  148,  150,  152,  153,  154,
+
+      155,  156,  160,  161,  162,  164,  165,  166,  167,  168,
+      169,  170,  171,  172,  177,  178,  179,  183,  184,  189,
+      190,  191,  192,  197,  198,  199,  200,  201,  202,  205,
+      208,  210,  212,  213,  215,  217,  218,  219,  220,  221,
+      225,  226,  227,  228,  231,  234,  236,  238,  239,  240,
+      243,  246,  248,  250,  253,  256,  258,  260,  261,  262,
+      265,  268,  270,  272,  273,  274,  275,  276,  277,  280,
+      283,  285,  287,  288,  289,  291,  292,  293,  294,  295,
+      296,  297,  300,  303,  305,  307,  308,  309,  313,  316,
+      319,  321,  323,  324,  325,  326,  329,  332,  334,  336,
+
+      337,  340,  343,  345,  347,  348,  349,  350,  353,  356,
+      358,  360,  361,  362,  363,  365,  366,  367,  368,  369,
+      370,  371,  372,  373,  374,  376,  379,  382,  384,  386,
+      387,  388,  389,  392,  395,  397,  399,  401,  402,  403,
+      404,  405,  406,  407,  409,  411,  412,  413,  414,  415,
+      416,  417,  418,  419,  420,  422,  424,  425,  426,  429,
+      432,  434,  436,  437,  439,  440,  442,  443,  444,  448,
+      450,  451,  452,  454,  455,  457,  458,  459,  460,  461,
+      462,  464,  465,  467,  469,  470,  471,  473,  474,  475,
+      476,  478,  479,  482,  485,  487,  489,  491,  492,  493,
+
+      495,  496,  497,  498,  499,  500,  502,  503,  504,  505,
+      506,  508,  509,  512,  515,  517,  519,  520,  521,  522,
+      523,  525,  526,  528,  529,  530,  531,  532,  533,  535,
+      536,  537,  538,  539,  540,  542,  543,  545,  546,  548,
+      549,  550,  551,  553,  554,  556,  557,  559,  560,  562,
+      564,  565,  567,  568,  569,  570,  572,  573,  575,  576,
+      578,  580,  582,  583,  585,  586,  588,  590,  591,  592,
+      594,  594
     } ;
 
 static const YY_CHAR yy_ec[256] =
@@ -708,216 +713,224 @@ static const YY_CHAR yy_meta[35] =
         1,    1,    1,    1
     } ;
 
-static const flex_int16_t yy_base[424] =
+static const flex_int16_t yy_base[443] =
     {   0,
-        0,    0,  901,  900,  902,  897,   33,   36,  905,  905,
-       45,   63,   31,   42,   51,   52,  890,   33,   65,   67,
-       69,   70,  889,   71,  888,   75,    0,  905,  893,  905,
-       91,   94,    0,    0,  103,  886,  112,    0,   89,   98,
-      113,   92,  114,   99,  100,   48,  121,  116,  119,   74,
-      124,  129,  123,  135,  132,  133,  137,  134,  138,  139,
-      141,    0,  155,    0,    0,  164,    0,    0,  849,  142,
-      152,  164,  140,  161,  165,  166,  167,  168,  169,  173,
-      174,  178,  176,  180,  184,  208,  189,  183,  192,  195,
-      215,  191,  193,  223,    0,    0,  905,  208,  204,  236,
-
-      219,  209,  238,  196,  237,  831,  242,  815,  241,  224,
-      243,  261,  244,  259,  277,  266,  286,  250,  288,  298,
-      249,  283,  274,  282,  294,  308,    0,  310,    0,  295,
-      305,  905,  308,  306,  313,  314,  342,  319,  316,  320,
-      331,    0,  349,    0,  342,  344,  356,    0,  358,    0,
-      365,    0,  367,    0,  354,  375,    0,  377,    0,  363,
-      356,  809,  327,  322,  384,    0,    0,    0,    0,  379,
-      905,  382,  384,  386,  390,  372,  392,  403,    0,  410,
-        0,  407,  413,  423,  426,    0,    0,    0,    0,  409,
-      424,  435,    0,    0,    0,    0,  437,    0,    0,    0,
-
-        0,  433,  444,    0,    0,    0,    0,  391,  440,  781,
-      905,  769,  439,  445,  444,  447,  449,  454,  453,  399,
-      464,    0,    0,    0,    0,  757,  465,  476,    0,  478,
-        0,  479,  476,  753,  462,  490,  749,  905,  745,  905,
-      483,  737,  424,  485,  487,  490,  500,  493,  905,  729,
-      905,  502,  518,    0,    0,    0,    0,  905,  498,  721,
-      905,  527,  713,    0,  705,  905,  495,  697,  905,  365,
-      521,  528,  530,  685,  905,  534,  540,  540,  657,  905,
-      537,  542,  650,  905,  553,    0,  557,    0,    0,  551,
-      641,  905,  558,  557,  633,  614,  613,  905,  547,  555,
-
-      563,  565,  569,  584,    0,    0,    0,    0,  583,  570,
-      585,  612,  905,  601,  905,  522,  580,  589,  594,  905,
-      600,  585,  563,  520,  905,  514,  905,  586,  486,  597,
-      480,  441,  905,  416,  905,  345,  905,  334,  905,  601,
-      254,  905,  242,  905,  200,  905,  151,  905,  905,  607,
-       86,  905,  905,  905,  620,  624,  627,  631,  635,  639,
-      643,  647,  651,  655,  659,  663,  667,  671,  675,  679,
-      683,  687,  691,  695,  699,  703,  707,  711,  715,  719,
-      723,  727,  731,  735,  739,  743,  747,  751,  755,  759,
-      763,  767,  771,  775,  779,  783,  787,  791,  795,  799,
-
-      803,  807,  811,  815,  819,  823,  827,  831,  835,  839,
-      843,  847,  851,  855,  859,  863,  867,  871,  875,  879,
-      883,  887,  891
+        0,    0,  936,  935,  937,  932,   33,   36,  940,  940,
+       45,   63,   31,   42,   51,   52,  925,   33,   65,   67,
+       69,   70,  924,   71,  923,   75,    0,  940,  928,  940,
+       91,   95,    0,    0,  104,  921,  113,    0,   91,   99,
+      114,   92,  115,   80,  100,   48,  119,  121,  122,   74,
+      123,  128,  131,  129,  125,  133,  135,  136,  137,  143,
+      138,  145,    0,  157,    0,    0,  168,    0,    0,  926,
+      140,  146,  165,  159,  152,  164,  155,  168,  171,  176,
+      177,  170,  180,  175,  184,  188,  212,  191,  185,  192,
+      193,  194,  219,  212,  199,  230,    0,    0,  940,  195,
+
+      200,  239,  235,  197,  246,  225,  226,  919,  244,  918,
+      243,  236,  245,  266,  248,  264,  282,  271,  291,  248,
+      270,  254,  300,  279,  296,  302,  288,  303,  311,    0,
+      315,    0,  311,  318,  940,  313,  319,  208,  313,  344,
+      321,  331,  325,  333,    0,  352,    0,  345,  347,  359,
+        0,  361,    0,  368,    0,  370,    0,  322,  366,  379,
+        0,  381,    0,  359,  357,  923,  382,  384,  392,    0,
+        0,    0,    0,  387,  940,  386,  390,  392,  329,  401,
+      397,  409,    0,  417,    0,  399,  412,  426,  429,    0,
+        0,    0,    0,  412,  427,  438,    0,    0,    0,    0,
+
+      440,    0,    0,    0,    0,  436,  405,  447,    0,    0,
+        0,    0,  438,  443,  922,  940,  921,  442,  450,  449,
+      452,  454,  459,  458,  453,  469,    0,    0,    0,    0,
+      920,  470,  481,    0,  483,    0,  484,  481,  919,  368,
+      467,  495,  918,  940,  917,  940,  488,  916,  479,  490,
+      492,  495,  505,  498,  940,  915,  940,  507,  523,    0,
+        0,    0,    0,  940,  503,  864,  940,  846,  532,  836,
+        0,  824,  940,  516,  796,  940,  513,  530,  536,  538,
+      784,  940,  542,  535,  547,  772,  940,  549,  551,  768,
+      940,  502,  562,    0,  564,    0,    0,  562,  764,  940,
+
+      544,  557,  760,  752,  744,  940,  552,  568,  571,  568,
+      581,  577,  588,    0,    0,    0,    0,  589,  580,  591,
+      736,  940,  728,  940,  601,  602,  597,  599,  940,  603,
+      720,  712,  700,  672,  940,  665,  940,  610,  656,  603,
+      648,  607,  629,  940,  627,  940,  625,  940,  624,  940,
+      607,  574,  940,  614,  572,  940,  491,  940,  433,  940,
+      940,  622,  389,  940,  303,  940,  261,  940,  204,  940,
+      940,  635,  639,  642,  646,  650,  654,  658,  662,  666,
+      670,  674,  678,  682,  686,  690,  694,  698,  702,  706,
+      710,  714,  718,  722,  726,  730,  734,  738,  742,  746,
+
+      750,  754,  758,  762,  766,  770,  774,  778,  782,  786,
+      790,  794,  798,  802,  806,  810,  814,  818,  822,  826,
+      830,  834,  838,  842,  846,  850,  854,  858,  862,  866,
+      870,  874,  878,  882,  886,  890,  894,  898,  902,  906,
+      910,  914
     } ;
 
-static const flex_int16_t yy_def[424] =
+static const flex_int16_t yy_def[443] =
     {   0,
-      354,    1,  355,  355,  354,  356,  357,  357,  354,  354,
-      358,  358,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,  359,  354,  356,  354,
-      360,  357,  361,  361,  362,   12,  356,  363,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
+      371,    1,  372,  372,  371,  373,  374,  374,  371,  371,
+      375,  375,   12,   12,   12,   12,   12,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,  376,  371,  373,  371,
+      377,  374,  378,  378,  379,   12,  373,  380,   12,   12,
        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,  359,  360,  361,  361,  364,  365,  365,  354,   12,
        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,  362,   12,   12,   12,   12,
-       12,   12,   12,  364,  365,  365,  354,   12,   12,  366,
-
+       12,   12,  376,  377,  378,  378,  381,  382,  382,  371,
        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,  367,   86,   86,  368,   12,  369,   12,   12,  370,
-       12,   12,   12,   12,   12,  371,  372,  366,  372,   12,
-       12,  354,   86,   12,   12,   12,  373,   12,   12,   12,
-      374,  375,  367,  375,   86,   86,  376,  377,  368,  377,
-      378,  379,  369,  379,   12,  380,  381,  370,  381,   12,
-       12,  382,   12,   12,  371,  372,  372,  383,  383,   12,
-      354,   86,   86,   86,   12,   12,   12,  384,  385,  373,
-      385,   12,   12,  386,  374,  375,  375,  387,  387,   86,
-       86,  376,  377,  377,  388,  388,  378,  379,  379,  389,
-
-      389,   12,  380,  381,  381,  390,  390,   12,   12,  391,
-      354,  392,   86,   12,   86,   86,   86,   12,   86,   12,
-      384,  385,  385,  393,  393,  394,   86,  395,  396,  386,
-      396,   86,   86,  397,   12,  398,  391,  354,  399,  354,
-       86,  400,   12,   86,   86,   86,  401,   86,  354,  402,
-      354,   86,  395,  396,  396,  403,  403,  354,   86,  404,
-      354,  405,  406,  406,  399,  354,   86,  407,  354,   12,
-       86,   86,   86,  408,  354,  408,  408,   86,  402,  354,
-       86,   86,  404,  354,  409,  410,  405,  410,  406,   86,
-      407,  354,   12,   86,  411,  412,  408,  354,  408,  408,
-
-       86,   86,   86,  409,  410,  410,  413,  413,   86,   12,
-       86,  414,  354,  415,  354,  408,  408,   86,   86,  354,
-      416,  417,  418,  414,  354,  415,  354,  408,  408,   86,
-      419,  420,  354,  421,  354,  422,  354,  408,  354,   86,
-      423,  354,  420,  354,  421,  354,  422,  354,  354,   86,
-      423,  354,  354,    0,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354
+       12,   12,   12,   12,   12,   12,  379,   12,   12,   12,
+       12,   12,   12,   12,   12,  381,  382,  382,  371,   12,
+
+       12,  383,   12,   12,   12,   12,   12,   12,   12,   12,
+       12,   12,   12,  384,   87,   87,  385,   12,  386,   12,
+       12,   12,  387,   12,   12,   12,   12,   12,  388,  389,
+      383,  389,   12,   12,  371,   87,   12,   12,   12,  390,
+       12,   12,   12,  391,  392,  384,  392,   87,   87,  393,
+      394,  385,  394,  395,  396,  386,  396,   12,   12,  397,
+      398,  387,  398,   12,   12,  399,   12,   12,  388,  389,
+      389,  400,  400,   12,  371,   87,   87,   87,   12,   12,
+       12,  401,  402,  390,  402,   12,   12,  403,  391,  392,
+      392,  404,  404,   87,   87,  393,  394,  394,  405,  405,
+
+      395,  396,  396,  406,  406,   12,   12,  397,  398,  398,
+      407,  407,   12,   12,  408,  371,  409,   87,   12,   87,
+       87,   87,   12,   87,   12,  401,  402,  402,  410,  410,
+      411,   87,  412,  413,  403,  413,   87,   87,  414,   12,
+       12,  415,  408,  371,  416,  371,   87,  417,   12,   87,
+       87,   87,  418,   87,  371,  419,  371,   87,  412,  413,
+      413,  420,  420,  371,   87,  421,  371,   12,  422,  423,
+      423,  416,  371,   87,  424,  371,   12,   87,   87,   87,
+      425,  371,  425,  425,   87,  419,  371,   87,   87,  421,
+      371,   12,  426,  427,  422,  427,  423,   87,  424,  371,
+
+       12,   87,  428,  429,  425,  371,  425,  425,   87,   87,
+       87,   12,  426,  427,  427,  430,  430,   87,   12,   87,
+      431,  371,  432,  371,  425,  425,   87,   87,  371,   12,
+      433,  434,  435,  431,  371,  432,  371,  425,  425,   87,
+      436,   12,  437,  371,  438,  371,  439,  371,  425,  371,
+       87,  440,  371,   12,  437,  371,  438,  371,  439,  371,
+      371,   87,  440,  371,  441,  371,  442,  371,  442,  371,
+        0,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371
     } ;
 
-static const flex_int16_t yy_nxt[940] =
+static const flex_int16_t yy_nxt[975] =
     {   0,
         6,    7,    8,    9,    6,    6,    6,    6,   10,   11,
        12,   13,   14,   15,   16,   17,   18,   19,   17,   17,
        17,   17,   20,   17,   21,   22,   23,   24,   25,   17,
        26,   17,   17,   17,   32,   32,   33,   32,   32,   33,
        36,   34,   36,   42,   34,   29,   29,   29,   30,   35,
-       50,   36,   37,   38,   43,   44,   39,   36,   79,   45,
+       50,   36,   37,   38,   43,   44,   39,   36,   80,   45,
        36,   36,   40,   29,   29,   29,   30,   35,   46,   48,
        37,   38,   41,   47,   36,   49,   36,   53,   36,   36,
-       36,   56,   58,   36,   36,   55,   82,   60,   51,  342,
-       54,   61,   52,   29,   64,   32,   32,   33,   36,   65,
-
-       70,   36,   34,   29,   29,   29,   30,   36,   36,   36,
-       29,   38,   66,   66,   66,   67,   66,   71,   74,   66,
-       68,   72,   36,   36,   73,   36,   77,   78,   36,   76,
-       36,   53,   36,   36,   75,   85,   80,   83,   36,   86,
-       84,   36,   36,   36,   36,   81,   36,   36,   36,   36,
-       36,   36,   93,   89,  337,   98,   88,   29,   64,  101,
-       90,   36,   91,   65,   92,   87,   29,   95,   89,   99,
-       36,  100,   96,   36,   36,   36,   36,   36,   36,  106,
-      105,   85,   36,   36,  102,   36,  107,   36,  103,   36,
-      109,  112,   36,   36,  104,  108,  115,  110,   36,  117,
-
-       36,   36,   36,  335,   36,   36,  122,  111,   29,   29,
-       29,   30,  118,   36,  116,   29,   38,   36,   36,  113,
-      114,  119,  120,  123,   36,   29,   95,  121,   36,  134,
-      131,   96,  130,   36,  125,  124,  126,  126,   66,  127,
-      126,  132,  133,  126,  129,  333,   36,   36,  135,  137,
-       36,   36,   36,  140,  139,   35,   35,  352,   36,   36,
-       85,  141,  141,   66,  142,  141,  160,  145,  141,  144,
-       35,   35,   89,  117,  155,   36,  146,  147,  147,   66,
-      148,  147,  162,   36,  147,  150,  151,  151,   66,  152,
-      151,   36,   36,  151,  154,  120,  161,   36,  156,  156,
-
-       66,  157,  156,   36,   36,  156,  159,  164,  171,  163,
-       29,  166,   29,  168,   36,   36,  167,  170,  169,   35,
-       35,  172,   36,   36,  173,   36,  213,  184,   36,   36,
-      175,   36,  174,   29,  186,  212,   36,  349,  183,  187,
-      177,  176,  178,  178,   66,  179,  178,  182,  348,  178,
-      181,   29,  188,   35,   35,   35,   35,  189,   29,  193,
-       29,  195,  190,   36,  194,   36,  196,   29,  198,   29,
-      200,  191,   36,  199,   36,  201,  219,   29,  204,   29,
-      206,   36,  202,  205,  209,  207,   29,  166,   36,  293,
-      208,  214,  167,   35,   35,   35,   35,   35,   35,   36,
-
-       36,   36,  249,  218,  220,   29,  222,  216,   36,  217,
-      235,  223,   29,  224,  215,  226,   36,  227,  225,  346,
-       35,   35,   36,  228,  228,   66,  229,  228,   29,  186,
-      228,  231,  232,   36,  187,  233,   35,   29,  193,   29,
-      198,  234,   36,  194,  344,  199,   29,  204,  236,   36,
-       35,  241,  205,  242,   36,   35,   35,  270,   35,   35,
-       35,   35,  247,   36,   35,   35,   29,  222,  244,  262,
-      248,   36,  223,  243,  245,  246,   35,  252,   29,  254,
-       29,  256,  258,  342,  255,  259,  257,   35,   35,  339,
-       35,   35,   69,  264,   35,   35,   35,   35,   35,   35,
-
-      267,   35,   35,  275,   35,   35,   35,   35,  271,   35,
-       35,  276,  277,   35,   35,  272,  278,  315,  273,  281,
-       29,  254,  290,  313,  282,  275,  255,  285,  285,   66,
-      286,  285,   35,   35,  285,  288,  295,  298,  296,   35,
-       35,   35,   35,  298,  301,  328,  299,  294,   35,   35,
-      275,   35,   35,   35,  303,   29,  305,  300,  275,   29,
-      307,  306,   35,   35,  302,  308,  337,   36,   35,   35,
-      309,  310,  320,  316,   35,   35,   35,   35,  322,   36,
-       35,   35,  317,  275,  319,  311,   29,  305,  335,  275,
-      318,  321,  306,  323,   35,   35,   35,   35,  330,  329,
-
-       35,   35,  331,  333,  327,   35,   35,  338,   35,   35,
-      353,  340,   35,   35,  350,  325,  275,  315,   35,   35,
-       27,   27,   27,   27,   29,   29,   29,   31,   31,   31,
-       31,   36,   36,   36,   36,   62,  313,   62,   62,   63,
-       63,   63,   63,   65,  269,   65,   65,   35,   35,   35,
-       35,   69,   69,  261,   69,   94,   94,   94,   94,   96,
-      251,   96,   96,  128,  128,  128,  128,  143,  143,  143,
-      143,  149,  149,  149,  149,  153,  153,  153,  153,  158,
-      158,  158,  158,  165,  165,  165,  165,  167,  298,  167,
-      167,  180,  180,  180,  180,  185,  185,  185,  185,  187,
-
-      292,  187,  187,  192,  192,  192,  192,  194,  240,  194,
-      194,  197,  197,  197,  197,  199,  289,  199,  199,  203,
-      203,  203,  203,  205,  284,  205,  205,  210,  210,  210,
-      210,  169,  280,  169,  169,  221,  221,  221,  221,  223,
-      269,  223,  223,  230,  230,  230,  230,  189,  266,  189,
-      189,  196,  211,  196,  196,  201,  261,  201,  201,  207,
-      251,  207,  207,  237,  237,  237,  237,  239,  239,  239,
-      239,  225,  240,  225,  225,  250,  250,  250,  250,  253,
-      253,  253,  253,  255,  238,  255,  255,  260,  260,  260,
-      260,  263,  263,  263,  263,  265,  265,  265,  265,  268,
-
-      268,  268,  268,  274,  274,  274,  274,  279,  279,  279,
-      279,  257,  211,  257,  257,  283,  283,  283,  283,  287,
-      287,  287,  287,  264,  138,  264,  264,  291,  291,  291,
-      291,  297,  297,  297,  297,  304,  304,  304,  304,  306,
-      136,  306,  306,  312,  312,  312,  312,  314,  314,  314,
-      314,  308,   97,  308,  308,  324,  324,  324,  324,  326,
-      326,  326,  326,  332,  332,  332,  332,  334,  334,  334,
-      334,  336,  336,  336,  336,  341,  341,  341,  341,  343,
-      343,  343,  343,  345,  345,  345,  345,  347,  347,  347,
-      347,  351,  351,  351,  351,   36,   30,   59,   57,   36,
-
-       30,  354,   28,   28,    5,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354
+       36,   56,   58,   36,   36,   55,   83,   61,   51,   36,
+       54,   62,   52,   29,   65,   59,   32,   32,   33,   66,
+
+       36,   36,   71,   34,   29,   29,   29,   30,   36,   36,
+       77,   29,   38,   67,   67,   67,   68,   67,   75,   72,
+       67,   69,   73,   36,   36,   74,   78,   79,   36,   53,
+       36,   36,   36,   87,   36,   76,   84,   36,   36,   85,
+       36,   81,   36,   86,   36,   36,   36,   36,   82,   36,
+       92,   95,   36,  100,   36,   36,   89,   90,   88,   29,
+       65,   36,   91,  101,   36,   66,   90,   93,   36,   94,
+       29,   97,  102,   36,   36,  104,   98,   36,  103,   36,
+       36,  107,  108,  106,   36,   36,   36,  105,   86,   36,
+      109,  110,  111,   36,   36,  114,  112,   36,  117,  119,
+
+       36,   36,   36,   36,   36,  121,   36,  368,   36,   36,
+      120,  113,   29,   29,   29,   30,  118,   36,  134,   29,
+       38,   36,  127,  115,  116,  122,  123,  125,   36,  126,
+      128,  124,   29,   97,   36,   36,  180,  138,   98,  129,
+      129,   67,  130,  129,   36,   36,  129,  132,  133,  135,
+      136,  140,   36,   36,   36,   36,  142,   36,  137,   35,
+       35,  123,   86,   36,  370,  143,  144,  144,   67,  145,
+      144,  148,  158,  144,  147,   35,   35,   90,  119,   36,
+       36,  149,  150,  150,   67,  151,  150,  159,   36,  150,
+      153,  154,  154,   67,  155,  154,  164,   36,  154,  157,
+
+      160,  160,   67,  161,  160,   36,  368,  160,  163,  165,
+      166,   36,   36,   29,  170,  167,  168,   29,  172,  171,
+       36,  175,   36,  173,   35,   35,  176,   36,   36,  177,
+       36,   36,  188,  174,   36,   29,  190,  178,   36,  181,
+       36,  191,  223,  179,  182,  182,   67,  183,  182,  186,
+      206,  182,  185,  187,   29,  192,   35,   35,   35,   35,
+      193,   29,  197,   29,  199,  194,   36,  198,   36,  200,
+       29,  202,   29,  204,  195,   36,  203,   36,  205,  268,
+      207,   29,  209,   29,  211,  214,  213,  210,  218,  212,
+      217,   36,  353,   36,   29,  170,   36,   35,   35,  219,
+
+      171,   35,   35,   35,   35,  224,   36,  231,   36,  225,
+       36,   29,  227,  221,   36,  222,  232,  228,  220,   29,
+      229,   36,  240,   35,   35,  230,  233,  233,   67,  234,
+      233,   29,  190,  233,  236,  237,  348,  191,  238,   35,
+       29,  197,   29,  202,  239,   36,  198,   36,  203,   29,
+      209,  242,   36,   35,  247,  210,  255,  241,  248,   36,
+       35,   35,   36,   35,   35,   35,   35,  253,   36,   35,
+       35,   29,  227,  250,  269,  254,   36,  228,  249,  251,
+      252,   35,  258,   29,  260,   29,  262,  264,   36,  261,
+      265,  263,   35,   35,  346,   35,   35,   70,  271,   35,
+
+       35,   35,   35,   35,   35,  274,   35,   35,  282,   35,
+       35,   36,  277,  278,   35,   35,  283,  284,   35,   35,
+      279,  285,   36,  280,  288,   29,  260,   35,   35,  289,
+      312,  261,  293,  293,   67,  294,  293,  301,  306,  293,
+      296,   35,   35,  298,  303,  306,  304,   35,   35,   35,
+       35,  309,  308,   36,  307,  282,  302,  319,   35,   35,
+       35,   35,   35,  311,   29,  314,   29,  316,   35,   35,
+      315,  282,  317,   35,   35,  344,  310,  364,  325,   35,
+       35,  318,   35,   35,  329,  320,   36,  328,  332,   36,
+       29,  314,   35,   35,  330,  326,  315,  331,  327,  333,
+
+       35,   35,   35,   35,  282,  282,  340,  341,   35,   35,
+       35,   35,   36,  282,   35,   35,   36,  351,   35,   35,
+      362,  339,  365,   36,  338,  366,  342,  361,  360,  354,
+      358,  349,  356,   35,   35,   27,   27,   27,   27,   29,
+       29,   29,   31,   31,   31,   31,   36,   36,   36,   36,
+       63,  353,   63,   63,   64,   64,   64,   64,   66,  350,
+       66,   66,   35,   35,   35,   35,   70,   70,  324,   70,
+       96,   96,   96,   96,   98,  322,   98,   98,  131,  131,
+      131,  131,  146,  146,  146,  146,  152,  152,  152,  152,
+      156,  156,  156,  156,  162,  162,  162,  162,  169,  169,
+
+      169,  169,  171,  348,  171,  171,  184,  184,  184,  184,
+      189,  189,  189,  189,  191,  346,  191,  191,  196,  196,
+      196,  196,  198,  344,  198,  198,  201,  201,  201,  201,
+      203,  337,  203,  203,  208,  208,  208,  208,  210,  335,
+      210,  210,  215,  215,  215,  215,  173,  282,  173,  173,
+      226,  226,  226,  226,  228,  324,  228,  228,  235,  235,
+      235,  235,  193,  322,  193,  193,  200,  276,  200,  200,
+      205,  267,  205,  205,  212,  257,  212,  212,  243,  243,
+      243,  243,  245,  245,  245,  245,  230,  306,  230,  230,
+      256,  256,  256,  256,  259,  259,  259,  259,  261,  300,
+
+      261,  261,  266,  266,  266,  266,  270,  270,  270,  270,
+      272,  272,  272,  272,  275,  275,  275,  275,  281,  281,
+      281,  281,  286,  286,  286,  286,  263,  246,  263,  263,
+      290,  290,  290,  290,  295,  295,  295,  295,  271,  297,
+      271,  271,  299,  299,  299,  299,  305,  305,  305,  305,
+      313,  313,  313,  313,  315,  292,  315,  315,  321,  321,
+      321,  321,  323,  323,  323,  323,  317,  291,  317,  317,
+      334,  334,  334,  334,  336,  336,  336,  336,  343,  343,
+      343,  343,  345,  345,  345,  345,  347,  347,  347,  347,
+      352,  352,  352,  352,  355,  355,  355,  355,  357,  357,
+
+      357,  357,  359,  359,  359,  359,  363,  363,  363,  363,
+      367,  367,  367,  367,  369,  369,  369,  369,  287,  276,
+      273,  216,  267,  257,  246,  244,  216,  141,  139,   99,
+       36,   30,   60,   57,   36,   30,  371,   28,   28,    5,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371
     } ;
 
-static const flex_int16_t yy_chk[940] =
+static const flex_int16_t yy_chk[975] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -927,101 +940,105 @@ static const flex_int16_t yy_chk[940] =
        18,   14,   11,   11,   13,   14,   11,   46,   46,   14,
        15,   16,   11,   12,   12,   12,   12,   12,   14,   16,
        12,   12,   12,   15,   19,   16,   20,   20,   21,   22,
-       24,   22,   24,   50,   26,   21,   50,   26,   19,  351,
-       20,   26,   19,   31,   31,   32,   32,   32,   39,   31,
-
-       39,   42,   32,   35,   35,   35,   35,   40,   44,   45,
-       35,   35,   37,   37,   37,   37,   37,   39,   42,   37,
-       37,   40,   41,   43,   41,   48,   45,   45,   49,   44,
-       47,   47,   53,   51,   43,   53,   48,   51,   52,   54,
-       52,   55,   56,   58,   54,   49,   57,   59,   60,   73,
-       61,   70,   60,   61,  347,   70,   56,   63,   63,   73,
-       58,   71,   59,   63,   59,   55,   66,   66,   57,   71,
-       74,   72,   66,   72,   75,   76,   77,   78,   79,   78,
-       77,   79,   80,   81,   74,   83,   80,   82,   75,   84,
-       82,   85,   88,   85,   76,   81,   87,   83,   87,   89,
-
-       92,   89,   93,  345,   90,  104,   92,   84,   86,   86,
-       86,   86,   90,   99,   88,   86,   86,   98,  102,   86,
-       86,   91,   91,   93,   91,   94,   94,   91,  101,  104,
-      102,   94,  101,  110,   99,   98,  100,  100,  100,  100,
-      100,  103,  103,  100,  100,  343,  105,  103,  105,  107,
-      109,  107,  111,  110,  109,  113,  113,  341,  121,  118,
-      111,  112,  112,  112,  112,  112,  121,  113,  112,  112,
-      114,  114,  116,  116,  118,  116,  114,  115,  115,  115,
-      115,  115,  123,  123,  115,  115,  117,  117,  117,  117,
-      117,  124,  122,  117,  117,  119,  122,  119,  120,  120,
-
-      120,  120,  120,  125,  130,  120,  120,  125,  131,  124,
-      126,  126,  128,  128,  131,  134,  126,  130,  128,  133,
-      133,  133,  135,  136,  133,  139,  164,  140,  138,  140,
-      134,  164,  133,  141,  141,  163,  163,  338,  139,  141,
-      136,  135,  137,  137,  137,  137,  137,  138,  336,  137,
-      137,  143,  143,  145,  145,  146,  146,  143,  147,  147,
-      149,  149,  145,  155,  147,  161,  149,  151,  151,  153,
-      153,  146,  160,  151,  270,  153,  176,  156,  156,  158,
-      158,  176,  155,  156,  161,  158,  165,  165,  170,  270,
-      160,  170,  165,  172,  172,  173,  173,  174,  174,  175,
-
-      208,  177,  220,  175,  177,  178,  178,  173,  220,  174,
-      208,  178,  180,  180,  172,  182,  182,  183,  180,  334,
-      190,  190,  183,  184,  184,  184,  184,  184,  185,  185,
-      184,  184,  190,  243,  185,  191,  191,  192,  192,  197,
-      197,  202,  202,  192,  332,  197,  203,  203,  209,  209,
-      213,  213,  203,  214,  214,  215,  215,  243,  216,  216,
-      217,  217,  218,  218,  219,  219,  221,  221,  215,  235,
-      219,  235,  221,  214,  216,  217,  227,  227,  228,  228,
-      230,  230,  232,  331,  228,  233,  230,  233,  233,  329,
-      232,  232,  236,  236,  241,  241,  244,  244,  245,  245,
-
-      241,  246,  246,  247,  248,  248,  267,  267,  244,  259,
-      259,  247,  247,  252,  252,  245,  248,  326,  246,  252,
-      253,  253,  267,  324,  259,  316,  253,  262,  262,  262,
-      262,  262,  271,  271,  262,  262,  272,  276,  273,  272,
-      272,  273,  273,  277,  278,  316,  276,  271,  281,  281,
-      299,  278,  278,  282,  282,  285,  285,  277,  300,  287,
-      287,  285,  290,  290,  281,  287,  323,  293,  294,  294,
-      290,  293,  303,  299,  301,  301,  302,  302,  310,  310,
-      303,  303,  300,  317,  302,  294,  304,  304,  322,  328,
-      301,  309,  304,  311,  309,  309,  311,  311,  318,  317,
-
-      318,  318,  319,  321,  314,  319,  319,  328,  330,  330,
-      350,  330,  340,  340,  340,  312,  297,  296,  350,  350,
-      355,  355,  355,  355,  356,  356,  356,  357,  357,  357,
-      357,  358,  358,  358,  358,  359,  295,  359,  359,  360,
-      360,  360,  360,  361,  291,  361,  361,  362,  362,  362,
-      362,  363,  363,  283,  363,  364,  364,  364,  364,  365,
-      279,  365,  365,  366,  366,  366,  366,  367,  367,  367,
-      367,  368,  368,  368,  368,  369,  369,  369,  369,  370,
-      370,  370,  370,  371,  371,  371,  371,  372,  274,  372,
-      372,  373,  373,  373,  373,  374,  374,  374,  374,  375,
-
-      268,  375,  375,  376,  376,  376,  376,  377,  265,  377,
-      377,  378,  378,  378,  378,  379,  263,  379,  379,  380,
-      380,  380,  380,  381,  260,  381,  381,  382,  382,  382,
-      382,  383,  250,  383,  383,  384,  384,  384,  384,  385,
-      242,  385,  385,  386,  386,  386,  386,  387,  239,  387,
-      387,  388,  237,  388,  388,  389,  234,  389,  389,  390,
-      226,  390,  390,  391,  391,  391,  391,  392,  392,  392,
-      392,  393,  212,  393,  393,  394,  394,  394,  394,  395,
-      395,  395,  395,  396,  210,  396,  396,  397,  397,  397,
-      397,  398,  398,  398,  398,  399,  399,  399,  399,  400,
-
-      400,  400,  400,  401,  401,  401,  401,  402,  402,  402,
-      402,  403,  162,  403,  403,  404,  404,  404,  404,  405,
-      405,  405,  405,  406,  108,  406,  406,  407,  407,  407,
-      407,  408,  408,  408,  408,  409,  409,  409,  409,  410,
-      106,  410,  410,  411,  411,  411,  411,  412,  412,  412,
-      412,  413,   69,  413,  413,  414,  414,  414,  414,  415,
-      415,  415,  415,  416,  416,  416,  416,  417,  417,  417,
-      417,  418,  418,  418,  418,  419,  419,  419,  419,  420,
-      420,  420,  420,  421,  421,  421,  421,  422,  422,  422,
-      422,  423,  423,  423,  423,   36,   29,   25,   23,   17,
-
-        6,    5,    4,    3,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354
+       24,   22,   24,   50,   26,   21,   50,   26,   19,   44,
+       20,   26,   19,   31,   31,   24,   32,   32,   32,   31,
+
+       39,   42,   39,   32,   35,   35,   35,   35,   40,   45,
+       44,   35,   35,   37,   37,   37,   37,   37,   42,   39,
+       37,   37,   40,   41,   43,   41,   45,   45,   47,   47,
+       48,   49,   51,   54,   55,   43,   51,   52,   54,   52,
+       53,   48,   56,   53,   57,   58,   59,   61,   49,   71,
+       59,   61,   60,   71,   62,   72,   56,   62,   55,   64,
+       64,   75,   58,   72,   77,   64,   57,   60,   74,   60,
+       67,   67,   73,   76,   73,   75,   67,   78,   74,   82,
+       79,   78,   79,   77,   84,   80,   81,   76,   80,   83,
+       81,   82,   83,   85,   89,   86,   84,   86,   88,   90,
+
+       88,   90,   91,   92,  100,   92,  104,  369,   95,  101,
+       91,   85,   87,   87,   87,   87,   89,  138,  104,   87,
+       87,   94,  100,   87,   87,   93,   93,   94,   93,   95,
+      101,   93,   96,   96,  106,  107,  138,  107,   96,  102,
+      102,  102,  102,  102,  103,  112,  102,  102,  103,  105,
+      105,  109,  111,  109,  113,  105,  111,  120,  106,  115,
+      115,  122,  113,  122,  367,  112,  114,  114,  114,  114,
+      114,  115,  120,  114,  114,  116,  116,  118,  118,  121,
+      118,  116,  117,  117,  117,  117,  117,  121,  124,  117,
+      117,  119,  119,  119,  119,  119,  124,  127,  119,  119,
+
+      123,  123,  123,  123,  123,  125,  365,  123,  123,  125,
+      126,  126,  128,  129,  129,  127,  128,  131,  131,  129,
+      133,  134,  139,  131,  136,  136,  136,  134,  137,  136,
+      141,  158,  143,  133,  143,  144,  144,  136,  179,  139,
+      142,  144,  179,  137,  140,  140,  140,  140,  140,  141,
+      158,  140,  140,  142,  146,  146,  148,  148,  149,  149,
+      146,  150,  150,  152,  152,  148,  165,  150,  164,  152,
+      154,  154,  156,  156,  149,  159,  154,  240,  156,  240,
+      159,  160,  160,  162,  162,  165,  164,  160,  168,  162,
+      167,  167,  363,  168,  169,  169,  174,  176,  176,  174,
+
+      169,  177,  177,  178,  178,  180,  181,  186,  186,  181,
+      180,  182,  182,  177,  207,  178,  187,  182,  176,  184,
+      184,  187,  207,  194,  194,  184,  188,  188,  188,  188,
+      188,  189,  189,  188,  188,  194,  359,  189,  195,  195,
+      196,  196,  201,  201,  206,  206,  196,  213,  201,  208,
+      208,  214,  214,  218,  218,  208,  225,  213,  219,  219,
+      220,  220,  225,  221,  221,  222,  222,  223,  223,  224,
+      224,  226,  226,  220,  241,  224,  241,  226,  219,  221,
+      222,  232,  232,  233,  233,  235,  235,  237,  249,  233,
+      238,  235,  238,  238,  357,  237,  237,  242,  242,  247,
+
+      247,  250,  250,  251,  251,  247,  252,  252,  253,  254,
+      254,  292,  249,  250,  265,  265,  253,  253,  258,  258,
+      251,  254,  277,  252,  258,  259,  259,  274,  274,  265,
+      292,  259,  269,  269,  269,  269,  269,  277,  284,  269,
+      269,  278,  278,  274,  279,  283,  280,  279,  279,  280,
+      280,  285,  284,  301,  283,  307,  278,  301,  285,  285,
+      288,  288,  289,  289,  293,  293,  295,  295,  302,  302,
+      293,  308,  295,  298,  298,  355,  288,  352,  307,  310,
+      310,  298,  309,  309,  311,  302,  312,  310,  319,  319,
+      313,  313,  311,  311,  312,  308,  313,  318,  309,  320,
+
+      318,  318,  320,  320,  325,  326,  327,  328,  327,  327,
+      328,  328,  330,  338,  340,  340,  342,  340,  351,  351,
+      351,  326,  354,  354,  325,  362,  330,  349,  347,  342,
+      345,  338,  343,  362,  362,  372,  372,  372,  372,  373,
+      373,  373,  374,  374,  374,  374,  375,  375,  375,  375,
+      376,  341,  376,  376,  377,  377,  377,  377,  378,  339,
+      378,  378,  379,  379,  379,  379,  380,  380,  336,  380,
+      381,  381,  381,  381,  382,  334,  382,  382,  383,  383,
+      383,  383,  384,  384,  384,  384,  385,  385,  385,  385,
+      386,  386,  386,  386,  387,  387,  387,  387,  388,  388,
+
+      388,  388,  389,  333,  389,  389,  390,  390,  390,  390,
+      391,  391,  391,  391,  392,  332,  392,  392,  393,  393,
+      393,  393,  394,  331,  394,  394,  395,  395,  395,  395,
+      396,  323,  396,  396,  397,  397,  397,  397,  398,  321,
+      398,  398,  399,  399,  399,  399,  400,  305,  400,  400,
+      401,  401,  401,  401,  402,  304,  402,  402,  403,  403,
+      403,  403,  404,  303,  404,  404,  405,  299,  405,  405,
+      406,  290,  406,  406,  407,  286,  407,  407,  408,  408,
+      408,  408,  409,  409,  409,  409,  410,  281,  410,  410,
+      411,  411,  411,  411,  412,  412,  412,  412,  413,  275,
+
+      413,  413,  414,  414,  414,  414,  415,  415,  415,  415,
+      416,  416,  416,  416,  417,  417,  417,  417,  418,  418,
+      418,  418,  419,  419,  419,  419,  420,  272,  420,  420,
+      421,  421,  421,  421,  422,  422,  422,  422,  423,  270,
+      423,  423,  424,  424,  424,  424,  425,  425,  425,  425,
+      426,  426,  426,  426,  427,  268,  427,  427,  428,  428,
+      428,  428,  429,  429,  429,  429,  430,  266,  430,  430,
+      431,  431,  431,  431,  432,  432,  432,  432,  433,  433,
+      433,  433,  434,  434,  434,  434,  435,  435,  435,  435,
+      436,  436,  436,  436,  437,  437,  437,  437,  438,  438,
+
+      438,  438,  439,  439,  439,  439,  440,  440,  440,  440,
+      441,  441,  441,  441,  442,  442,  442,  442,  256,  248,
+      245,  243,  239,  231,  217,  215,  166,  110,  108,   70,
+       36,   29,   25,   23,   17,    6,    5,    4,    3,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
+      371,  371,  371,  371
     } ;
 
 #define YY_TRAILING_MASK 0x2000
@@ -1160,9 +1177,17 @@ static void setbackendtype(DiskParseContext *dpc, const char *str) {
     if (     !strcmp(str,"phy"))   DSET(dpc,backend,BACKEND,str,PHY);
     else if (!strcmp(str,"tap"))   DSET(dpc,backend,BACKEND,str,TAP);
     else if (!strcmp(str,"qdisk")) DSET(dpc,backend,BACKEND,str,QDISK);
+    else if (!strcmp(str,"standalone")) DSET(dpc,backend,BACKEND,str,STANDALONE);
     else xlu__disk_err(dpc,str,"unknown value for backendtype");
 }
 
+/* Sets ->specification from the string.  IDL should provide something for this. */
+static void setspecification(DiskParseContext *dpc, const char *str) {
+    if      (!strcmp(str,"xen"))    DSET(dpc,specification,SPECIFICATION,str,XEN);
+    else if (!strcmp(str,"virtio")) DSET(dpc,specification,SPECIFICATION,str,VIRTIO);
+    else xlu__disk_err(dpc,str,"unknown value for specification");
+}
+
 /* Sets ->colo-port from the string.  COLO need this. */
 static void setcoloport(DiskParseContext *dpc, const char *str) {
     int port = atoi(str);
@@ -1199,9 +1224,9 @@ static int vdev_and_devtype(DiskParseContext *dpc, char *str) {
 #undef DPC /* needs to be defined differently the actual lexer */
 #define DPC ((DiskParseContext*)yyextra)
 
-#line 1202 "libxlu_disk_l.c"
+#line 1227 "libxlu_disk_l.c"
 
-#line 1204 "libxlu_disk_l.c"
+#line 1229 "libxlu_disk_l.c"
 
 #define INITIAL 0
 #define LEXERR 1
@@ -1477,13 +1502,13 @@ YY_DECL
 		}
 
 	{
-#line 177 "libxlu_disk_l.l"
+#line 185 "libxlu_disk_l.l"
 
 
-#line 180 "libxlu_disk_l.l"
+#line 188 "libxlu_disk_l.l"
  /*----- the scanner rules which do the parsing -----*/
 
-#line 1486 "libxlu_disk_l.c"
+#line 1511 "libxlu_disk_l.c"
 
 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
 		{
@@ -1515,14 +1540,14 @@ yy_match:
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 355 )
+				if ( yy_current_state >= 372 )
 					yy_c = yy_meta[yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
 			*yyg->yy_state_ptr++ = yy_current_state;
 			++yy_cp;
 			}
-		while ( yy_current_state != 354 );
+		while ( yy_current_state != 371 );
 
 yy_find_action:
 		yy_current_state = *--yyg->yy_state_ptr;
@@ -1572,152 +1597,158 @@ do_action:	/* This label is used only to access EOF actions. */
 case 1:
 /* rule 1 can match eol */
 YY_RULE_SETUP
-#line 182 "libxlu_disk_l.l"
+#line 190 "libxlu_disk_l.l"
 { /* ignore whitespace before parameters */ }
 	YY_BREAK
 /* ordinary parameters setting enums or strings */
 case 2:
 /* rule 2 can match eol */
 YY_RULE_SETUP
-#line 186 "libxlu_disk_l.l"
+#line 194 "libxlu_disk_l.l"
 { STRIP(','); setformat(DPC, FROMEQUALS); }
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 188 "libxlu_disk_l.l"
+#line 196 "libxlu_disk_l.l"
 { DPC->disk->is_cdrom = 1; }
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 189 "libxlu_disk_l.l"
+#line 197 "libxlu_disk_l.l"
 { DPC->disk->is_cdrom = 1; }
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 190 "libxlu_disk_l.l"
+#line 198 "libxlu_disk_l.l"
 { DPC->disk->is_cdrom = 0; }
 	YY_BREAK
 case 6:
 /* rule 6 can match eol */
 YY_RULE_SETUP
-#line 191 "libxlu_disk_l.l"
+#line 199 "libxlu_disk_l.l"
 { xlu__disk_err(DPC,yytext,"unknown value for type"); }
 	YY_BREAK
 case 7:
 /* rule 7 can match eol */
 YY_RULE_SETUP
-#line 193 "libxlu_disk_l.l"
+#line 201 "libxlu_disk_l.l"
 { STRIP(','); setaccess(DPC, FROMEQUALS); }
 	YY_BREAK
 case 8:
 /* rule 8 can match eol */
 YY_RULE_SETUP
-#line 194 "libxlu_disk_l.l"
+#line 202 "libxlu_disk_l.l"
 { STRIP(','); SAVESTRING("backend", backend_domname, FROMEQUALS); }
 	YY_BREAK
 case 9:
 /* rule 9 can match eol */
 YY_RULE_SETUP
-#line 195 "libxlu_disk_l.l"
+#line 203 "libxlu_disk_l.l"
 { STRIP(','); setbackendtype(DPC,FROMEQUALS); }
 	YY_BREAK
 case 10:
 /* rule 10 can match eol */
 YY_RULE_SETUP
-#line 197 "libxlu_disk_l.l"
-{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
+#line 204 "libxlu_disk_l.l"
+{ STRIP(','); setspecification(DPC,FROMEQUALS); }
 	YY_BREAK
 case 11:
 /* rule 11 can match eol */
 YY_RULE_SETUP
-#line 198 "libxlu_disk_l.l"
-{ STRIP(','); SAVESTRING("script", script, FROMEQUALS); }
+#line 206 "libxlu_disk_l.l"
+{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
 	YY_BREAK
 case 12:
+/* rule 12 can match eol */
 YY_RULE_SETUP
-#line 199 "libxlu_disk_l.l"
-{ DPC->disk->direct_io_safe = 1; }
+#line 207 "libxlu_disk_l.l"
+{ STRIP(','); SAVESTRING("script", script, FROMEQUALS); }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 200 "libxlu_disk_l.l"
-{ libxl_defbool_set(&DPC->disk->discard_enable, true); }
+#line 208 "libxlu_disk_l.l"
+{ DPC->disk->direct_io_safe = 1; }
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 201 "libxlu_disk_l.l"
-{ libxl_defbool_set(&DPC->disk->discard_enable, false); }
+#line 209 "libxlu_disk_l.l"
+{ libxl_defbool_set(&DPC->disk->discard_enable, true); }
 	YY_BREAK
-/* Note that the COLO configuration settings should be considered unstable.
-  * They may change incompatibly in future versions of Xen. */
 case 15:
 YY_RULE_SETUP
-#line 204 "libxlu_disk_l.l"
-{ libxl_defbool_set(&DPC->disk->colo_enable, true); }
+#line 210 "libxlu_disk_l.l"
+{ libxl_defbool_set(&DPC->disk->discard_enable, false); }
 	YY_BREAK
+/* Note that the COLO configuration settings should be considered unstable.
+  * They may change incompatibly in future versions of Xen. */
 case 16:
 YY_RULE_SETUP
-#line 205 "libxlu_disk_l.l"
-{ libxl_defbool_set(&DPC->disk->colo_enable, false); }
+#line 213 "libxlu_disk_l.l"
+{ libxl_defbool_set(&DPC->disk->colo_enable, true); }
 	YY_BREAK
 case 17:
-/* rule 17 can match eol */
 YY_RULE_SETUP
-#line 206 "libxlu_disk_l.l"
-{ STRIP(','); SAVESTRING("colo-host", colo_host, FROMEQUALS); }
+#line 214 "libxlu_disk_l.l"
+{ libxl_defbool_set(&DPC->disk->colo_enable, false); }
 	YY_BREAK
 case 18:
 /* rule 18 can match eol */
 YY_RULE_SETUP
-#line 207 "libxlu_disk_l.l"
-{ STRIP(','); setcoloport(DPC, FROMEQUALS); }
+#line 215 "libxlu_disk_l.l"
+{ STRIP(','); SAVESTRING("colo-host", colo_host, FROMEQUALS); }
 	YY_BREAK
 case 19:
 /* rule 19 can match eol */
 YY_RULE_SETUP
-#line 208 "libxlu_disk_l.l"
-{ STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); }
+#line 216 "libxlu_disk_l.l"
+{ STRIP(','); setcoloport(DPC, FROMEQUALS); }
 	YY_BREAK
 case 20:
 /* rule 20 can match eol */
 YY_RULE_SETUP
-#line 209 "libxlu_disk_l.l"
-{ STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); }
+#line 217 "libxlu_disk_l.l"
+{ STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); }
 	YY_BREAK
 case 21:
 /* rule 21 can match eol */
 YY_RULE_SETUP
-#line 210 "libxlu_disk_l.l"
+#line 218 "libxlu_disk_l.l"
+{ STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); }
+	YY_BREAK
+case 22:
+/* rule 22 can match eol */
+YY_RULE_SETUP
+#line 219 "libxlu_disk_l.l"
 { STRIP(','); SAVESTRING("hidden-disk", hidden_disk, FROMEQUALS); }
 	YY_BREAK
 /* the target magic parameter, eats the rest of the string */
-case 22:
+case 23:
 YY_RULE_SETUP
-#line 214 "libxlu_disk_l.l"
+#line 223 "libxlu_disk_l.l"
 { STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); }
 	YY_BREAK
 /* unknown parameters */
-case 23:
-/* rule 23 can match eol */
+case 24:
+/* rule 24 can match eol */
 YY_RULE_SETUP
-#line 218 "libxlu_disk_l.l"
+#line 227 "libxlu_disk_l.l"
 { xlu__disk_err(DPC,yytext,"unknown parameter"); }
 	YY_BREAK
 /* deprecated prefixes */
 /* the "/.*" in these patterns ensures that they count as if they
    * matched the whole string, so these patterns take precedence */
-case 24:
+case 25:
 YY_RULE_SETUP
-#line 225 "libxlu_disk_l.l"
+#line 234 "libxlu_disk_l.l"
 {
                     STRIP(':');
                     DPC->had_depr_prefix=1; DEPRECATE("use `[format=]...,'");
                     setformat(DPC, yytext);
                  }
 	YY_BREAK
-case 25:
+case 26:
 YY_RULE_SETUP
-#line 231 "libxlu_disk_l.l"
+#line 240 "libxlu_disk_l.l"
 {
                     char *newscript;
                     STRIP(':');
@@ -1731,65 +1762,65 @@ YY_RULE_SETUP
                     free(newscript);
                 }
 	YY_BREAK
-case 26:
+case 27:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 8;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 244 "libxlu_disk_l.l"
+#line 253 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
 	YY_BREAK
-case 27:
+case 28:
 YY_RULE_SETUP
-#line 245 "libxlu_disk_l.l"
+#line 254 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
 	YY_BREAK
-case 28:
+case 29:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 246 "libxlu_disk_l.l"
+#line 255 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
 	YY_BREAK
-case 29:
+case 30:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 6;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 247 "libxlu_disk_l.l"
+#line 256 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
 	YY_BREAK
-case 30:
+case 31:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 5;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 248 "libxlu_disk_l.l"
+#line 257 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
 	YY_BREAK
-case 31:
+case 32:
 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
 yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 249 "libxlu_disk_l.l"
+#line 258 "libxlu_disk_l.l"
 { DPC->had_depr_prefix=1; DEPRECATE(0); }
 	YY_BREAK
-case 32:
-/* rule 32 can match eol */
+case 33:
+/* rule 33 can match eol */
 YY_RULE_SETUP
-#line 251 "libxlu_disk_l.l"
+#line 260 "libxlu_disk_l.l"
 {
 		  xlu__disk_err(DPC,yytext,"unknown deprecated disk prefix");
 		  return 0;
 		}
 	YY_BREAK
 /* positional parameters */
-case 33:
-/* rule 33 can match eol */
+case 34:
+/* rule 34 can match eol */
 YY_RULE_SETUP
-#line 258 "libxlu_disk_l.l"
+#line 267 "libxlu_disk_l.l"
 {
     STRIP(',');
 
@@ -1816,27 +1847,27 @@ YY_RULE_SETUP
     }
 }
 	YY_BREAK
-case 34:
+case 35:
 YY_RULE_SETUP
-#line 284 "libxlu_disk_l.l"
+#line 293 "libxlu_disk_l.l"
 {
     BEGIN(LEXERR);
     yymore();
 }
 	YY_BREAK
-case 35:
+case 36:
 YY_RULE_SETUP
-#line 288 "libxlu_disk_l.l"
+#line 297 "libxlu_disk_l.l"
 {
     xlu__disk_err(DPC,yytext,"bad disk syntax"); return 0;
 }
 	YY_BREAK
-case 36:
+case 37:
 YY_RULE_SETUP
-#line 291 "libxlu_disk_l.l"
+#line 300 "libxlu_disk_l.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 1839 "libxlu_disk_l.c"
+#line 1870 "libxlu_disk_l.c"
 			case YY_STATE_EOF(INITIAL):
 			case YY_STATE_EOF(LEXERR):
 				yyterminate();
@@ -2104,7 +2135,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 355 )
+			if ( yy_current_state >= 372 )
 				yy_c = yy_meta[yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2128,11 +2159,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 355 )
+		if ( yy_current_state >= 372 )
 			yy_c = yy_meta[yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
-	yy_is_jam = (yy_current_state == 354);
+	yy_is_jam = (yy_current_state == 371);
 	if ( ! yy_is_jam )
 		*yyg->yy_state_ptr++ = yy_current_state;
 
@@ -2941,4 +2972,4 @@ void yyfree (void * ptr , yyscan_t yyscanner)
 
 #define YYTABLES_NAME "yytables"
 
-#line 291 "libxlu_disk_l.l"
+#line 300 "libxlu_disk_l.l"
diff --git a/tools/libs/util/libxlu_disk_l.h b/tools/libs/util/libxlu_disk_l.h
index 6abeecf279..509aad67dc 100644
--- a/tools/libs/util/libxlu_disk_l.h
+++ b/tools/libs/util/libxlu_disk_l.h
@@ -694,7 +694,7 @@ extern int yylex (yyscan_t yyscanner);
 #undef yyTABLES_NAME
 #endif
 
-#line 291 "libxlu_disk_l.l"
+#line 300 "libxlu_disk_l.l"
 
 #line 699 "libxlu_disk_l.h"
 #undef xlu__disk_yyIN_HEADER
diff --git a/tools/libs/util/libxlu_disk_l.l b/tools/libs/util/libxlu_disk_l.l
index 3bd639aab0..c3617f1263 100644
--- a/tools/libs/util/libxlu_disk_l.l
+++ b/tools/libs/util/libxlu_disk_l.l
@@ -122,9 +122,17 @@ static void setbackendtype(DiskParseContext *dpc, const char *str) {
     if (     !strcmp(str,"phy"))   DSET(dpc,backend,BACKEND,str,PHY);
     else if (!strcmp(str,"tap"))   DSET(dpc,backend,BACKEND,str,TAP);
     else if (!strcmp(str,"qdisk")) DSET(dpc,backend,BACKEND,str,QDISK);
+    else if (!strcmp(str,"standalone")) DSET(dpc,backend,BACKEND,str,STANDALONE);
     else xlu__disk_err(dpc,str,"unknown value for backendtype");
 }
 
+/* Sets ->specification from the string.  IDL should provide something for this. */
+static void setspecification(DiskParseContext *dpc, const char *str) {
+    if      (!strcmp(str,"xen"))    DSET(dpc,specification,SPECIFICATION,str,XEN);
+    else if (!strcmp(str,"virtio")) DSET(dpc,specification,SPECIFICATION,str,VIRTIO);
+    else xlu__disk_err(dpc,str,"unknown value for specification");
+}
+
 /* Sets ->colo-port from the string.  COLO need this. */
 static void setcoloport(DiskParseContext *dpc, const char *str) {
     int port = atoi(str);
@@ -192,6 +200,7 @@ devtype=[^,]*,?	{ xlu__disk_err(DPC,yytext,"unknown value for type"); }
 access=[^,]*,?	{ STRIP(','); setaccess(DPC, FROMEQUALS); }
 backend=[^,]*,? { STRIP(','); SAVESTRING("backend", backend_domname, FROMEQUALS); }
 backendtype=[^,]*,? { STRIP(','); setbackendtype(DPC,FROMEQUALS); }
+specification=[^,]*,? { STRIP(','); setspecification(DPC,FROMEQUALS); }
 
 vdev=[^,]*,?	{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
 script=[^,]*,?	{ STRIP(','); SAVESTRING("script", script, FROMEQUALS); }
diff --git a/tools/xl/xl_block.c b/tools/xl/xl_block.c
index 70eed431e4..8836c07d6b 100644
--- a/tools/xl/xl_block.c
+++ b/tools/xl/xl_block.c
@@ -119,6 +119,12 @@ int main_blockdetach(int argc, char **argv)
         fprintf(stderr, "Error: Device %s not connected.\n", argv[optind+1]);
         return 1;
     }
+
+    if (disk.specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
+        fprintf(stderr, "Hotunplug isn't supported for specification virtio\n");
+        return 1;
+    }
+
     rc = !force ? libxl_device_disk_safe_remove(ctx, domid, &disk, 0) :
         libxl_device_disk_destroy(ctx, domid, &disk, 0);
     if (rc) {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 02:07:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 02:07:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388586.625280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8St-0006Bf-2f; Wed, 17 Aug 2022 02:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388586.625280; Wed, 17 Aug 2022 02:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8Ss-0006BY-W7; Wed, 17 Aug 2022 02:07:26 +0000
Received: by outflank-mailman (input) for mailman id 388586;
 Wed, 17 Aug 2022 02:07:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7CYW=YV=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1oO8Ss-0005tw-9i
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 02:07:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 560eeef4-1dd1-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 04:07:25 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F013B113E;
 Tue, 16 Aug 2022 19:07:24 -0700 (PDT)
Received: from ais-sh-xeon.shanghai.arm.com (unknown [10.169.212.215])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 059CC3F67D;
 Tue, 16 Aug 2022 19:07:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 560eeef4-1dd1-11ed-bd2e-47488cf2e6aa
From: jiaxie01 <jiamei.xie@arm.com>
To: jiamei.xie@arm.com,
	xen-devel@lists.xenproject.org
Cc: Julien Grall <julien.grall@arm.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH 02/16] libxl: Introduce basic virtio-mmio support on Arm
Date: Wed, 17 Aug 2022 10:06:47 +0800
Message-Id: <20220817020701.27379-2-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220817020701.27379-1-jiamei.xie@arm.com>
References: <20220817020701.27379-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Julien Grall <julien.grall@arm.com>

This patch introduces helpers to allocate Virtio MMIO params
(IRQ and memory region) and create specific device node in
the Guest device-tree with allocated params. In order to deal
with multiple Virtio devices, reserve corresponding ranges.
For now, we reserve 1MB for memory regions and 10 SPIs.

As these helpers should be used for every Virtio device attached
to the Guest, call them for Virtio disk(s).

Please note, with statically allocated Virtio IRQs there is
a risk of a clash with a physical IRQs of passthrough devices.
For the first version, it's fine, but we should consider allocating
the Virtio IRQs automatically. Thankfully, we know in advance which
IRQs will be used for passthrough to be able to choose non-clashed
ones.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
Please note, this is a split/cleanup/hardening of Julien's PoC:
"Add support for Guest IO forwarding to a device emulator"

Changes RFC -> V1:
   - was squashed with:
     "[RFC PATCH V1 09/12] libxl: Handle virtio-mmio irq in more correct way"
     "[RFC PATCH V1 11/12] libxl: Insert "dma-coherent" property into virtio-mmio device node"
     "[RFC PATCH V1 12/12] libxl: Fix duplicate memory node in DT"
   - move VirtIO MMIO #define-s to xen/include/public/arch-arm.h

Changes V1 -> V2:
   - update the author of a patch

Changes V2 -> V3:
   - no changes

Changes V3 -> V4:
   - no changes

Changes V4 -> V5:
   - split the changes, change the order of the patches
   - drop an extra "virtio" configuration option
   - update patch description
   - use CONTAINER_OF instead of own implementation
   - reserve ranges for Virtio MMIO params and put them
     in correct location
   - create helpers to allocate Virtio MMIO params, add
     corresponding sanity-Ñhecks
   - add comment why MMIO size 0x200 is chosen
   - update debug print
   - drop Wei's T-b

Changes V5 -> V6:
   - rebase on current staging

Changes V6 -> V7:
   - rebase on current staging
   - add T-b and R-b tags
   - update according to the recent changes to
     "libxl: Add support for Virtio disk configuration"

Changes V7 -> V8:
   - drop T-b and R-b tags
   - make virtio_mmio_base/irq global variables to be local in
     libxl__arch_domain_prepare_config() and initialize them at
     the beginning of the function, then rework alloc_virtio_mmio_base/irq()
     to take a pointer to virtio_mmio_base/irq variables as an argument
   - update according to the recent changes to
     "libxl: Add support for Virtio disk configuration"

Changes V8 -> V9:
   - Stefano already gave his Reviewed-by, I dropped it due to the changes
   - remove the second set of parentheses for check in alloc_virtio_mmio_base()
   - clarify the updating of "nr_spis" right after num_disks loop in
     libxl__arch_domain_prepare_config() and add a comment on top of it
   - use GCSPRINTF() instead of using a buffer of a static size
     calculated by hand in make_virtio_mmio_node()

Changes V9 -> V10:
   - add Stefano's and Anthony's R-b
---
---
 tools/libs/light/libxl_arm.c  | 121 +++++++++++++++++++++++++++++++++-
 xen/include/public/arch-arm.h |   7 ++
 2 files changed, 126 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index eef1de0939..9be9b2a2d1 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -8,6 +8,46 @@
 #include <assert.h>
 #include <xen/device_tree_defs.h>
 
+/*
+ * There is no clear requirements for the total size of Virtio MMIO region.
+ * The size of control registers is 0x100 and device-specific configuration
+ * registers starts at the offset 0x100, however it's size depends on the device
+ * and the driver. Pick the biggest known size at the moment to cover most
+ * of the devices (also consider allowing the user to configure the size via
+ * config file for the one not conforming with the proposed value).
+ */
+#define VIRTIO_MMIO_DEV_SIZE   xen_mk_ullong(0x200)
+
+static uint64_t alloc_virtio_mmio_base(libxl__gc *gc, uint64_t *virtio_mmio_base)
+{
+    uint64_t base = *virtio_mmio_base;
+
+    /* Make sure we have enough reserved resources */
+    if (base + VIRTIO_MMIO_DEV_SIZE >
+        GUEST_VIRTIO_MMIO_BASE + GUEST_VIRTIO_MMIO_SIZE) {
+        LOG(ERROR, "Ran out of reserved range for Virtio MMIO BASE 0x%"PRIx64"\n",
+            base);
+        return 0;
+    }
+    *virtio_mmio_base += VIRTIO_MMIO_DEV_SIZE;
+
+    return base;
+}
+
+static uint32_t alloc_virtio_mmio_irq(libxl__gc *gc, uint32_t *virtio_mmio_irq)
+{
+    uint32_t irq = *virtio_mmio_irq;
+
+    /* Make sure we have enough reserved resources */
+    if (irq > GUEST_VIRTIO_MMIO_SPI_LAST) {
+        LOG(ERROR, "Ran out of reserved range for Virtio MMIO IRQ %u\n", irq);
+        return 0;
+    }
+    (*virtio_mmio_irq)++;
+
+    return irq;
+}
+
 static const char *gicv_to_string(libxl_gic_version gic_version)
 {
     switch (gic_version) {
@@ -26,8 +66,10 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 {
     uint32_t nr_spis = 0;
     unsigned int i;
-    uint32_t vuart_irq;
-    bool vuart_enabled = false;
+    uint32_t vuart_irq, virtio_irq = 0;
+    bool vuart_enabled = false, virtio_enabled = false;
+    uint64_t virtio_mmio_base = GUEST_VIRTIO_MMIO_BASE;
+    uint32_t virtio_mmio_irq = GUEST_VIRTIO_MMIO_SPI_FIRST;
 
     /*
      * If pl011 vuart is enabled then increment the nr_spis to allow allocation
@@ -39,6 +81,35 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         vuart_enabled = true;
     }
 
+    for (i = 0; i < d_config->num_disks; i++) {
+        libxl_device_disk *disk = &d_config->disks[i];
+
+        if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
+            disk->base = alloc_virtio_mmio_base(gc, &virtio_mmio_base);
+            if (!disk->base)
+                return ERROR_FAIL;
+
+            disk->irq = alloc_virtio_mmio_irq(gc, &virtio_mmio_irq);
+            if (!disk->irq)
+                return ERROR_FAIL;
+
+            if (virtio_irq < disk->irq)
+                virtio_irq = disk->irq;
+            virtio_enabled = true;
+
+            LOG(DEBUG, "Allocate Virtio MMIO params for Vdev %s: IRQ %u BASE 0x%"PRIx64,
+                disk->vdev, disk->irq, disk->base);
+        }
+    }
+
+    /*
+     * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
+     * present, make sure that we allocate enough SPIs for them.
+     * The resulting "nr_spis" needs to cover the highest possible SPI.
+     */
+    if (virtio_enabled)
+        nr_spis = max(nr_spis, virtio_irq - 32 + 1);
+
     for (i = 0; i < d_config->b_info.num_irqs; i++) {
         uint32_t irq = d_config->b_info.irqs[i];
         uint32_t spi;
@@ -58,6 +129,13 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
             return ERROR_FAIL;
         }
 
+        /* The same check as for vpl011 */
+        if (virtio_enabled &&
+            (irq >= GUEST_VIRTIO_MMIO_SPI_FIRST && irq <= virtio_irq)) {
+            LOG(ERROR, "Physical IRQ %u conflicting with Virtio MMIO IRQ range\n", irq);
+            return ERROR_FAIL;
+        }
+
         if (irq < 32)
             continue;
 
@@ -787,6 +865,37 @@ static int make_vpci_node(libxl__gc *gc, void *fdt,
     return 0;
 }
 
+
+static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
+                                 uint64_t base, uint32_t irq)
+{
+    int res;
+    gic_interrupt intr;
+    const char *name = GCSPRINTF("virtio@%"PRIx64, base);
+
+    res = fdt_begin_node(fdt, name);
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,mmio");
+    if (res) return res;
+
+    res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                            1, base, VIRTIO_MMIO_DEV_SIZE);
+    if (res) return res;
+
+    set_interrupt(intr, irq, 0xf, DT_IRQ_TYPE_EDGE_RISING);
+    res = fdt_property_interrupts(gc, fdt, &intr, 1);
+    if (res) return res;
+
+    res = fdt_property(fdt, "dma-coherent", NULL, 0);
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return 0;
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -988,6 +1097,7 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
     size_t fdt_size = 0;
     int pfdt_size = 0;
     libxl_domain_build_info *const info = &d_config->b_info;
+    unsigned int i;
 
     const libxl_version_info *vers;
     const struct arch_info *ainfo;
@@ -1094,6 +1204,13 @@ next_resize:
         if (d_config->num_pcidevs)
             FDT( make_vpci_node(gc, fdt, ainfo, dom) );
 
+        for (i = 0; i < d_config->num_disks; i++) {
+            libxl_device_disk *disk = &d_config->disks[i];
+
+            if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO)
+                FDT( make_virtio_mmio_node(gc, fdt, disk->base, disk->irq) );
+        }
+
         if (pfdt)
             FDT( copy_partial_fdt(gc, fdt, pfdt) );
 
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index ab05fe12b0..c8b6058d3a 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -407,6 +407,10 @@ typedef uint64_t xen_callback_t;
 
 /* Physical Address Space */
 
+/* Virtio MMIO mappings */
+#define GUEST_VIRTIO_MMIO_BASE   xen_mk_ullong(0x02000000)
+#define GUEST_VIRTIO_MMIO_SIZE   xen_mk_ullong(0x00100000)
+
 /*
  * vGIC mappings: Only one set of mapping is used by the guest.
  * Therefore they can overlap.
@@ -493,6 +497,9 @@ typedef uint64_t xen_callback_t;
 
 #define GUEST_VPL011_SPI        32
 
+#define GUEST_VIRTIO_MMIO_SPI_FIRST   33
+#define GUEST_VIRTIO_MMIO_SPI_LAST    43
+
 /* PSCI functions */
 #define PSCI_cpu_suspend 0
 #define PSCI_cpu_off     1
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 02:19:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 02:19:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388603.625291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8eS-00083T-5n; Wed, 17 Aug 2022 02:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388603.625291; Wed, 17 Aug 2022 02:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8eS-00083M-2j; Wed, 17 Aug 2022 02:19:24 +0000
Received: by outflank-mailman (input) for mailman id 388603;
 Wed, 17 Aug 2022 02:19:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7CYW=YV=arm.com=Jiamei.Xie@srs-se1.protection.inumbo.net>)
 id 1oO8eR-00083G-7V
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 02:19:23 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50056.outbound.protection.outlook.com [40.107.5.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00c87e84-1dd3-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 04:19:21 +0200 (CEST)
Received: from AS9PR06CA0454.eurprd06.prod.outlook.com (2603:10a6:20b:49a::15)
 by HE1PR0801MB1708.eurprd08.prod.outlook.com (2603:10a6:3:83::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 17 Aug
 2022 02:19:18 +0000
Received: from AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:49a:cafe::6d) by AS9PR06CA0454.outlook.office365.com
 (2603:10a6:20b:49a::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.16 via Frontend
 Transport; Wed, 17 Aug 2022 02:19:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT038.mail.protection.outlook.com (100.127.140.120) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Wed, 17 Aug 2022 02:19:17 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Wed, 17 Aug 2022 02:19:17 +0000
Received: from 2f15d01bf1d9.4
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C152A754-D9BF-487B-9CA6-56952B89AF05.1; 
 Wed, 17 Aug 2022 02:19:07 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2f15d01bf1d9.4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 17 Aug 2022 02:19:07 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com (2603:10a6:20b:523::11)
 by DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:72::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Wed, 17 Aug
 2022 02:19:05 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::48c7:a78d:1802:5c35]) by AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::48c7:a78d:1802:5c35%7]) with mapi id 15.20.5504.028; Wed, 17 Aug 2022
 02:19:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00c87e84-1dd3-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=PqwyW6Lzfq6vuaJU+z93aigVAT9iCkXAKzETyblHw5z31Tj8gFcHrN8wCum0VPHAmdtrZNzUH6a7Lbd1p+cCWvoGRoB6TWRwlc00inXhc73UeUVVwmwLX0oIQIUXSD4XWUBAZuLHfWmuOyBMCsypaYlHJQFuRu4iWO4frGVYbAoP0n+dB25n0lQhYPTxWoHqjWanwPw9VVkxrxxwyDQMBtm1hS0A1ziYCEK0NVn19tnizxD2BayokqDSABfgI3STAOhEmAor2uPMH8F7m7XhC8vIFU3QNnY0m2eqYt2G4GlrFqrBnbkH7hikNvYMe3EL+e0FlpbeTAUWbO7y13fk7w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MoCdSOKYOJUULNzeU6E+7m6zwyqT5Q3iHAZS84UDiHw=;
 b=iP3WrDBR2FlA0iPqzrjkDlyMcKxPlrvG6mqkE3LT4Q3HJpr2hXULDBsYysgvnlErcdtmUxqJsV4WcH+46qW8UIYLitjt3C+ICekcoJb4h88nJ6+45ohz+sydgIrJXIB9I9ZvRQAs9TvyGjcrx9gHxu1O8LoHOqE0KAVPRt+BfJ1OFgf9HnA+OOzH/emKEHEtT/MFcEdyWmvcYshyyck+IuDNYvI211z3RQzWW2bLnQT8idSuo2T0tX+5emn273nGPf3zhOF/oR4bslTmIPgGNbNFCiWp2CU/z4bQ363yMJnIyPX4E3FRqNIoNIrlT2h6yKhnuFJWkTQzGqKuE2TTaA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MoCdSOKYOJUULNzeU6E+7m6zwyqT5Q3iHAZS84UDiHw=;
 b=vGWlKaVB/wbbzawCW09g6I1pAIcYX4YIuPscwYA8V+Gr+Hb2UytAQ0KdmQ2q+A21wFwIzFwJLHlK70pojDPe4V10yI2v1xG6AiXYgmjiEfg0xXxC5DmVp3cGZPOq5pTmdr9ISgNvmDR+nyS330GZPATS0aEU8CCTQhpijMom0Dg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MB0KhPRtVAzZziNC+lEhgYomZFkx6qGGUvffVpSPMstGZv9JxG7gMo8NHOGIi4CkIRe3AJbhpXQdOAVNEIbFXJWWMYVyBlyboGWPHr5pPv2IaDND6WNsENFTsFCawtd6Ug3FGwZdTwJ+fO3C8HGzohAsAr4X3HWmej/fgDWzpYDO18lwCSx6fu1nIOtzdXDOCqXPRJGk7ec8YkM8ByYuQ637WRQOlp4CuO8aORdyGo0SVlVXTred7x5fQZoOx/ulXJlwcl1GasPfqYcgO5bomBIWqg8CxOpvLhfUm8lTi59rhrlm4vsRtTwpP5CDo8Os5DbNrTtZrmWpORGgBCx5jA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MoCdSOKYOJUULNzeU6E+7m6zwyqT5Q3iHAZS84UDiHw=;
 b=fPAEVMwViDGI+2XDomsJAiAKrMoqhmyQXPUdYwykHzirqSmMNZ9KFTdceiwr2BXm29ngHb3eAKOtWMh09SWDewcIID2gnzixtHeINvV2HLimRXpMtn/llJO78Ci+V09/Sa8c995EFbB5JzFceUFi9eBkMz32O8hVMuooNeezNdxOuJorlSQR+/rP4n4nn1+BsZ68nP0ewMYJPtO/FS7o57mMvxhtiCTZ9YoSd1KlbnD5/9rgJudFqqf3N1jmHLv1q0OuVKXcBmagKIEik6Uq0P2i/taOwHx3ccR+ELmLW14/93rO2hmt5oTuRzth5YWpELR1AV7U8e4dal9BBvjApQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MoCdSOKYOJUULNzeU6E+7m6zwyqT5Q3iHAZS84UDiHw=;
 b=vGWlKaVB/wbbzawCW09g6I1pAIcYX4YIuPscwYA8V+Gr+Hb2UytAQ0KdmQ2q+A21wFwIzFwJLHlK70pojDPe4V10yI2v1xG6AiXYgmjiEfg0xXxC5DmVp3cGZPOq5pTmdr9ISgNvmDR+nyS330GZPATS0aEU8CCTQhpijMom0Dg=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Jiamei Xie <Jiamei.Xie@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <Julien.Grall@arm.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
Subject: RE: [PATCH 02/16] libxl: Introduce basic virtio-mmio support on Arm
Thread-Topic: [PATCH 02/16] libxl: Introduce basic virtio-mmio support on Arm
Thread-Index: AQHYsd4i0x9sp5gxa06wUilXRsOSMa2yW7Dw
Date: Wed, 17 Aug 2022 02:19:04 +0000
Message-ID:
 <AS8PR08MB7696C05C09BE8B8256373440926A9@AS8PR08MB7696.eurprd08.prod.outlook.com>
References: <20220817020701.27379-1-jiamei.xie@arm.com>
 <20220817020701.27379-2-jiamei.xie@arm.com>
In-Reply-To: <20220817020701.27379-2-jiamei.xie@arm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: CB692913048C6E4880517B649F62AFED.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: ac0e3a3b-2ac6-4b52-6319-08da7ff6e31d
x-ms-traffictypediagnostic:
	DB6PR0801MB1974:EE_|AM7EUR03FT038:EE_|HE1PR0801MB1708:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 rai5ONSeGqFuzZOW2s8YyGSCSXtIC6hx9fzu6BnNZ8DVVWC+pa5LvGhM2PZ6Cqj/ZtDb9s9suDx/4rDxZ0J4uXZ/tpERbYCedug0iUVXOVerlkyq9Iez147Bk10tTL2ZPHpAlVj1UbxS00p9Kyms2RiUV1Pa4mFSm+xw0oVeigZCXRp74T4GEEHp3RktdubYZkjR7CNhSF5Hf5jP5/osrqPDBjyoRkwh6fugikiCB1/nn7eK7dwgYEIHM2Djo02zxzgI73260O75yAblg4jYYJbLeRtlf7xW/EYy6Jj+6kEyZ8xOAcqf1+yh0dV77HK6F2QlMAHMpASoVRE2UR4bYBRhfX4SAoZ2ycTtEUfHiFbk/jePHBC4cG8GxcVM5WsgP6r2HDPnfdN2Q5dFiNlF7dvYczXKeOeO6C4kQdpXxBqu4Ij0nF7oewInhlWefNDAerSmIF5RhUlMEkPlgjXpxq0pxrLHOdEH+CY/ILZllwDcc6W3Mja9lz3ATol7UCGB+Hh/SMYU0bskr+z+hP+ZSiXfkI1o0dkK7+S/JLLanWiK1fPP7qTcoTp/cxwLllTL3CKRmOEtSJs1+Jb+NSG7FP6mX2ICWdkIBhEifx3syuqSE6Mm6wzc2SJBicn6aSomWpGKnklMODstQIbj+SRYXvG4Tbm5ebsQg0cWW6f59pZZEJRihy0JXCM8/BEFweiOa2HRlivW231Pl47Y/uTC/v9Xnw98DOwnZRycmeGX6i8PnUHbX1eTvjMY4vKKLt1KIFDSINHz8UTCEhSvsxjypn4IHRPlXD/Zd1vJrZY3uSHQVeqiL+Hc0g78iZgbHWqc
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7696.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(39860400002)(346002)(366004)(41300700001)(33656002)(9686003)(26005)(6506007)(478600001)(7696005)(53546011)(71200400001)(38070700005)(86362001)(186003)(83380400001)(38100700002)(64756008)(55016003)(316002)(8676002)(5660300002)(66446008)(76116006)(66476007)(66946007)(110136005)(4326008)(54906003)(66556008)(122000001)(2906002)(52536014)(8936002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1b1f02fc-17e9-4699-c31c-08da7ff6db81
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IgufRoh/68fUV9tv1KHtYm97fWQWFZPpuuid4sVtu6BJuNGLmAhU5cERi9liXHZyPk4qBc54GsBb25rX7ka2eo/ieKaSArx9XPOFplJy78aJE44ym5nX84YyMgYOP4FiszbOac7RZCqiI3tkglwcgTNFeaw2GwzPTZzg5CfWurKflfSYcri58bwTekdAtzcyHni5nZaGjg4FGLeZSLgv7EFRE5mEIVH8OlJuBeU2ebXQgSLba/oZtKtJ7us0fVb3hkxSi5Nywq07xIW7uR3N87/+3/+UQKhtnvcDF4l5rdRadMKDv5qeie1rdETWnukjOSLxKRAZIm4xIHGNirJd9aP0RAkmwXdAOQGGPpDCo2kbgMZn8hx+vTzCUxDDP7ark7GEBitWARr78Oos9AFxrlcc9j9mgniEEkYZEmjRivMGAmkQic0BWYtL2Q1MtUY+XzsVuKh9pIRupBn3G6Tj0LSiwoaIb+jK7rcdvf6F/3RXBMnuZUnCxhO0q+cvsEcOSWyB2hX1TUyhqW8ik00fMc9noNeF45WDybjxfER6OUgug73H63HkVqW5k6GSVOfMvjN9ZBs5zkBPV51TxlL23NOG8AD+ULZokWwbh5D+cB3BzeQpMMEPftuP/wTEpCZKP3pS/4V7b/5gYkYdra53oDWi8OzCoXOrIeDqMJ+vcYV3FzUqPSGmyIcwQQnAEw8SR3yvUVCukJojj4minbv6NJxFrFEJ9+qBIt3fe6Kmhh/iYWjcWN0CxwsCdZkhG0ke4B/iDFXxB0GwYNEvsKj5xarnic8A9wH6/HvdAg/apaGu68KycIiJY4H4ufBPigSt
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(136003)(39860400002)(376002)(40470700004)(46966006)(36840700001)(5660300002)(4326008)(70586007)(110136005)(40480700001)(54906003)(82310400005)(70206006)(55016003)(8676002)(316002)(2906002)(82740400003)(8936002)(36860700001)(52536014)(30864003)(40460700003)(81166007)(53546011)(86362001)(356005)(186003)(26005)(41300700001)(33656002)(7696005)(478600001)(9686003)(47076005)(6506007)(83380400001)(107886003)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 02:19:17.4601
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ac0e3a3b-2ac6-4b52-6319-08da7ff6e31d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1708

SGkgYWxs77yMDQpTb3JyeSBmb3IgdGhhdCwgcGxlYXNlIGlnbm9yZSB0aGlzLiBJIHNlbnQgdGhl
IHdyb25nIGVtYWlsLg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGpp
YXhpZTAxIDxqaWFtZWkueGllQGFybS5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgQXVndXN0IDE3
LCAyMDIyIDEwOjA3IEFNDQo+IFRvOiBKaWFtZWkgWGllIDxKaWFtZWkuWGllQGFybS5jb20+OyB4
ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gQ2M6IEp1bGllbiBHcmFsbCA8SnVsaWVu
LkdyYWxsQGFybS5jb20+OyBXZWkgTGl1IDx3bEB4ZW4ub3JnPjsgQW50aG9ueQ0KPiBQRVJBUkQg
PGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+OyBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5j
b20+Ow0KPiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBKdWxp
ZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsNCj4gQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQu
TWFycXVpc0Bhcm0uY29tPjsgVm9sb2R5bXlyIEJhYmNodWsNCj4gPFZvbG9keW15cl9CYWJjaHVr
QGVwYW0uY29tPjsgT2xla3NhbmRyIFR5c2hjaGVua28NCj4gPG9sZWtzYW5kcl90eXNoY2hlbmtv
QGVwYW0uY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggMDIvMTZdIGxpYnhsOiBJbnRyb2R1Y2UgYmFz
aWMgdmlydGlvLW1taW8gc3VwcG9ydCBvbiBBcm0NCj4gDQo+IEZyb206IEp1bGllbiBHcmFsbCA8
anVsaWVuLmdyYWxsQGFybS5jb20+DQo+IA0KPiBUaGlzIHBhdGNoIGludHJvZHVjZXMgaGVscGVy
cyB0byBhbGxvY2F0ZSBWaXJ0aW8gTU1JTyBwYXJhbXMNCj4gKElSUSBhbmQgbWVtb3J5IHJlZ2lv
bikgYW5kIGNyZWF0ZSBzcGVjaWZpYyBkZXZpY2Ugbm9kZSBpbg0KPiB0aGUgR3Vlc3QgZGV2aWNl
LXRyZWUgd2l0aCBhbGxvY2F0ZWQgcGFyYW1zLiBJbiBvcmRlciB0byBkZWFsDQo+IHdpdGggbXVs
dGlwbGUgVmlydGlvIGRldmljZXMsIHJlc2VydmUgY29ycmVzcG9uZGluZyByYW5nZXMuDQo+IEZv
ciBub3csIHdlIHJlc2VydmUgMU1CIGZvciBtZW1vcnkgcmVnaW9ucyBhbmQgMTAgU1BJcy4NCj4g
DQo+IEFzIHRoZXNlIGhlbHBlcnMgc2hvdWxkIGJlIHVzZWQgZm9yIGV2ZXJ5IFZpcnRpbyBkZXZp
Y2UgYXR0YWNoZWQNCj4gdG8gdGhlIEd1ZXN0LCBjYWxsIHRoZW0gZm9yIFZpcnRpbyBkaXNrKHMp
Lg0KPiANCj4gUGxlYXNlIG5vdGUsIHdpdGggc3RhdGljYWxseSBhbGxvY2F0ZWQgVmlydGlvIElS
UXMgdGhlcmUgaXMNCj4gYSByaXNrIG9mIGEgY2xhc2ggd2l0aCBhIHBoeXNpY2FsIElSUXMgb2Yg
cGFzc3Rocm91Z2ggZGV2aWNlcy4NCj4gRm9yIHRoZSBmaXJzdCB2ZXJzaW9uLCBpdCdzIGZpbmUs
IGJ1dCB3ZSBzaG91bGQgY29uc2lkZXIgYWxsb2NhdGluZw0KPiB0aGUgVmlydGlvIElSUXMgYXV0
b21hdGljYWxseS4gVGhhbmtmdWxseSwgd2Uga25vdyBpbiBhZHZhbmNlIHdoaWNoDQo+IElSUXMg
d2lsbCBiZSB1c2VkIGZvciBwYXNzdGhyb3VnaCB0byBiZSBhYmxlIHRvIGNob29zZSBub24tY2xh
c2hlZA0KPiBvbmVzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4u
Z3JhbGxAYXJtLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9s
ZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPg0KPiBSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFi
ZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPg0KPiBSZXZpZXdlZC1ieTogQW50aG9ueSBQ
RVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+DQo+IC0tLQ0KPiBQbGVhc2Ugbm90ZSwg
dGhpcyBpcyBhIHNwbGl0L2NsZWFudXAvaGFyZGVuaW5nIG9mIEp1bGllbidzIFBvQzoNCj4gIkFk
ZCBzdXBwb3J0IGZvciBHdWVzdCBJTyBmb3J3YXJkaW5nIHRvIGEgZGV2aWNlIGVtdWxhdG9yIg0K
PiANCj4gQ2hhbmdlcyBSRkMgLT4gVjE6DQo+ICAgIC0gd2FzIHNxdWFzaGVkIHdpdGg6DQo+ICAg
ICAgIltSRkMgUEFUQ0ggVjEgMDkvMTJdIGxpYnhsOiBIYW5kbGUgdmlydGlvLW1taW8gaXJxIGlu
IG1vcmUgY29ycmVjdCB3YXkiDQo+ICAgICAgIltSRkMgUEFUQ0ggVjEgMTEvMTJdIGxpYnhsOiBJ
bnNlcnQgImRtYS1jb2hlcmVudCIgcHJvcGVydHkgaW50byB2aXJ0aW8tDQo+IG1taW8gZGV2aWNl
IG5vZGUiDQo+ICAgICAgIltSRkMgUEFUQ0ggVjEgMTIvMTJdIGxpYnhsOiBGaXggZHVwbGljYXRl
IG1lbW9yeSBub2RlIGluIERUIg0KPiAgICAtIG1vdmUgVmlydElPIE1NSU8gI2RlZmluZS1zIHRv
IHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oDQo+IA0KPiBDaGFuZ2VzIFYxIC0+IFYyOg0K
PiAgICAtIHVwZGF0ZSB0aGUgYXV0aG9yIG9mIGEgcGF0Y2gNCj4gDQo+IENoYW5nZXMgVjIgLT4g
VjM6DQo+ICAgIC0gbm8gY2hhbmdlcw0KPiANCj4gQ2hhbmdlcyBWMyAtPiBWNDoNCj4gICAgLSBu
byBjaGFuZ2VzDQo+IA0KPiBDaGFuZ2VzIFY0IC0+IFY1Og0KPiAgICAtIHNwbGl0IHRoZSBjaGFu
Z2VzLCBjaGFuZ2UgdGhlIG9yZGVyIG9mIHRoZSBwYXRjaGVzDQo+ICAgIC0gZHJvcCBhbiBleHRy
YSAidmlydGlvIiBjb25maWd1cmF0aW9uIG9wdGlvbg0KPiAgICAtIHVwZGF0ZSBwYXRjaCBkZXNj
cmlwdGlvbg0KPiAgICAtIHVzZSBDT05UQUlORVJfT0YgaW5zdGVhZCBvZiBvd24gaW1wbGVtZW50
YXRpb24NCj4gICAgLSByZXNlcnZlIHJhbmdlcyBmb3IgVmlydGlvIE1NSU8gcGFyYW1zIGFuZCBw
dXQgdGhlbQ0KPiAgICAgIGluIGNvcnJlY3QgbG9jYXRpb24NCj4gICAgLSBjcmVhdGUgaGVscGVy
cyB0byBhbGxvY2F0ZSBWaXJ0aW8gTU1JTyBwYXJhbXMsIGFkZA0KPiAgICAgIGNvcnJlc3BvbmRp
bmcgc2FuaXR5LdGBaGVja3MNCj4gICAgLSBhZGQgY29tbWVudCB3aHkgTU1JTyBzaXplIDB4MjAw
IGlzIGNob3Nlbg0KPiAgICAtIHVwZGF0ZSBkZWJ1ZyBwcmludA0KPiAgICAtIGRyb3AgV2VpJ3Mg
VC1iDQo+IA0KPiBDaGFuZ2VzIFY1IC0+IFY2Og0KPiAgICAtIHJlYmFzZSBvbiBjdXJyZW50IHN0
YWdpbmcNCj4gDQo+IENoYW5nZXMgVjYgLT4gVjc6DQo+ICAgIC0gcmViYXNlIG9uIGN1cnJlbnQg
c3RhZ2luZw0KPiAgICAtIGFkZCBULWIgYW5kIFItYiB0YWdzDQo+ICAgIC0gdXBkYXRlIGFjY29y
ZGluZyB0byB0aGUgcmVjZW50IGNoYW5nZXMgdG8NCj4gICAgICAibGlieGw6IEFkZCBzdXBwb3J0
IGZvciBWaXJ0aW8gZGlzayBjb25maWd1cmF0aW9uIg0KPiANCj4gQ2hhbmdlcyBWNyAtPiBWODoN
Cj4gICAgLSBkcm9wIFQtYiBhbmQgUi1iIHRhZ3MNCj4gICAgLSBtYWtlIHZpcnRpb19tbWlvX2Jh
c2UvaXJxIGdsb2JhbCB2YXJpYWJsZXMgdG8gYmUgbG9jYWwgaW4NCj4gICAgICBsaWJ4bF9fYXJj
aF9kb21haW5fcHJlcGFyZV9jb25maWcoKSBhbmQgaW5pdGlhbGl6ZSB0aGVtIGF0DQo+ICAgICAg
dGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb24sIHRoZW4gcmV3b3JrIGFsbG9jX3ZpcnRpb19t
bWlvX2Jhc2UvaXJxKCkNCj4gICAgICB0byB0YWtlIGEgcG9pbnRlciB0byB2aXJ0aW9fbW1pb19i
YXNlL2lycSB2YXJpYWJsZXMgYXMgYW4gYXJndW1lbnQNCj4gICAgLSB1cGRhdGUgYWNjb3JkaW5n
IHRvIHRoZSByZWNlbnQgY2hhbmdlcyB0bw0KPiAgICAgICJsaWJ4bDogQWRkIHN1cHBvcnQgZm9y
IFZpcnRpbyBkaXNrIGNvbmZpZ3VyYXRpb24iDQo+IA0KPiBDaGFuZ2VzIFY4IC0+IFY5Og0KPiAg
ICAtIFN0ZWZhbm8gYWxyZWFkeSBnYXZlIGhpcyBSZXZpZXdlZC1ieSwgSSBkcm9wcGVkIGl0IGR1
ZSB0byB0aGUgY2hhbmdlcw0KPiAgICAtIHJlbW92ZSB0aGUgc2Vjb25kIHNldCBvZiBwYXJlbnRo
ZXNlcyBmb3IgY2hlY2sgaW4NCj4gYWxsb2NfdmlydGlvX21taW9fYmFzZSgpDQo+ICAgIC0gY2xh
cmlmeSB0aGUgdXBkYXRpbmcgb2YgIm5yX3NwaXMiIHJpZ2h0IGFmdGVyIG51bV9kaXNrcyBsb29w
IGluDQo+ICAgICAgbGlieGxfX2FyY2hfZG9tYWluX3ByZXBhcmVfY29uZmlnKCkgYW5kIGFkZCBh
IGNvbW1lbnQgb24gdG9wIG9mIGl0DQo+ICAgIC0gdXNlIEdDU1BSSU5URigpIGluc3RlYWQgb2Yg
dXNpbmcgYSBidWZmZXIgb2YgYSBzdGF0aWMgc2l6ZQ0KPiAgICAgIGNhbGN1bGF0ZWQgYnkgaGFu
ZCBpbiBtYWtlX3ZpcnRpb19tbWlvX25vZGUoKQ0KPiANCj4gQ2hhbmdlcyBWOSAtPiBWMTA6DQo+
ICAgIC0gYWRkIFN0ZWZhbm8ncyBhbmQgQW50aG9ueSdzIFItYg0KPiAtLS0NCj4gLS0tDQo+ICB0
b29scy9saWJzL2xpZ2h0L2xpYnhsX2FybS5jICB8IDEyMSArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKystDQo+ICB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaCB8ICAgNyArKw0K
PiAgMiBmaWxlcyBjaGFuZ2VkLCAxMjYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4g
DQo+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2FybS5jIGIvdG9vbHMvbGli
cy9saWdodC9saWJ4bF9hcm0uYw0KPiBpbmRleCBlZWYxZGUwOTM5Li45YmU5YjJhMmQxIDEwMDY0
NA0KPiAtLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2FybS5jDQo+ICsrKyBiL3Rvb2xzL2xp
YnMvbGlnaHQvbGlieGxfYXJtLmMNCj4gQEAgLTgsNiArOCw0NiBAQA0KPiAgI2luY2x1ZGUgPGFz
c2VydC5oPg0KPiAgI2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZV9kZWZzLmg+DQo+IA0KPiArLyoN
Cj4gKyAqIFRoZXJlIGlzIG5vIGNsZWFyIHJlcXVpcmVtZW50cyBmb3IgdGhlIHRvdGFsIHNpemUg
b2YgVmlydGlvIE1NSU8gcmVnaW9uLg0KPiArICogVGhlIHNpemUgb2YgY29udHJvbCByZWdpc3Rl
cnMgaXMgMHgxMDAgYW5kIGRldmljZS1zcGVjaWZpYyBjb25maWd1cmF0aW9uDQo+ICsgKiByZWdp
c3RlcnMgc3RhcnRzIGF0IHRoZSBvZmZzZXQgMHgxMDAsIGhvd2V2ZXIgaXQncyBzaXplIGRlcGVu
ZHMgb24gdGhlDQo+IGRldmljZQ0KPiArICogYW5kIHRoZSBkcml2ZXIuIFBpY2sgdGhlIGJpZ2dl
c3Qga25vd24gc2l6ZSBhdCB0aGUgbW9tZW50IHRvIGNvdmVyIG1vc3QNCj4gKyAqIG9mIHRoZSBk
ZXZpY2VzIChhbHNvIGNvbnNpZGVyIGFsbG93aW5nIHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSB0aGUg
c2l6ZSB2aWENCj4gKyAqIGNvbmZpZyBmaWxlIGZvciB0aGUgb25lIG5vdCBjb25mb3JtaW5nIHdp
dGggdGhlIHByb3Bvc2VkIHZhbHVlKS4NCj4gKyAqLw0KPiArI2RlZmluZSBWSVJUSU9fTU1JT19E
RVZfU0laRSAgIHhlbl9ta191bGxvbmcoMHgyMDApDQo+ICsNCj4gK3N0YXRpYyB1aW50NjRfdCBh
bGxvY192aXJ0aW9fbW1pb19iYXNlKGxpYnhsX19nYyAqZ2MsIHVpbnQ2NF90DQo+ICp2aXJ0aW9f
bW1pb19iYXNlKQ0KPiArew0KPiArICAgIHVpbnQ2NF90IGJhc2UgPSAqdmlydGlvX21taW9fYmFz
ZTsNCj4gKw0KPiArICAgIC8qIE1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCByZXNlcnZlZCByZXNv
dXJjZXMgKi8NCj4gKyAgICBpZiAoYmFzZSArIFZJUlRJT19NTUlPX0RFVl9TSVpFID4NCj4gKyAg
ICAgICAgR1VFU1RfVklSVElPX01NSU9fQkFTRSArIEdVRVNUX1ZJUlRJT19NTUlPX1NJWkUpIHsN
Cj4gKyAgICAgICAgTE9HKEVSUk9SLCAiUmFuIG91dCBvZiByZXNlcnZlZCByYW5nZSBmb3IgVmly
dGlvIE1NSU8gQkFTRQ0KPiAweCUiUFJJeDY0IlxuIiwNCj4gKyAgICAgICAgICAgIGJhc2UpOw0K
PiArICAgICAgICByZXR1cm4gMDsNCj4gKyAgICB9DQo+ICsgICAgKnZpcnRpb19tbWlvX2Jhc2Ug
Kz0gVklSVElPX01NSU9fREVWX1NJWkU7DQo+ICsNCj4gKyAgICByZXR1cm4gYmFzZTsNCj4gK30N
Cj4gKw0KPiArc3RhdGljIHVpbnQzMl90IGFsbG9jX3ZpcnRpb19tbWlvX2lycShsaWJ4bF9fZ2Mg
KmdjLCB1aW50MzJfdA0KPiAqdmlydGlvX21taW9faXJxKQ0KPiArew0KPiArICAgIHVpbnQzMl90
IGlycSA9ICp2aXJ0aW9fbW1pb19pcnE7DQo+ICsNCj4gKyAgICAvKiBNYWtlIHN1cmUgd2UgaGF2
ZSBlbm91Z2ggcmVzZXJ2ZWQgcmVzb3VyY2VzICovDQo+ICsgICAgaWYgKGlycSA+IEdVRVNUX1ZJ
UlRJT19NTUlPX1NQSV9MQVNUKSB7DQo+ICsgICAgICAgIExPRyhFUlJPUiwgIlJhbiBvdXQgb2Yg
cmVzZXJ2ZWQgcmFuZ2UgZm9yIFZpcnRpbyBNTUlPIElSUSAldVxuIiwNCj4gaXJxKTsNCj4gKyAg
ICAgICAgcmV0dXJuIDA7DQo+ICsgICAgfQ0KPiArICAgICgqdmlydGlvX21taW9faXJxKSsrOw0K
PiArDQo+ICsgICAgcmV0dXJuIGlycTsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGNvbnN0IGNoYXIg
KmdpY3ZfdG9fc3RyaW5nKGxpYnhsX2dpY192ZXJzaW9uIGdpY192ZXJzaW9uKQ0KPiAgew0KPiAg
ICAgIHN3aXRjaCAoZ2ljX3ZlcnNpb24pIHsNCj4gQEAgLTI2LDggKzY2LDEwIEBAIGludCBsaWJ4
bF9fYXJjaF9kb21haW5fcHJlcGFyZV9jb25maWcobGlieGxfX2djICpnYywNCj4gIHsNCj4gICAg
ICB1aW50MzJfdCBucl9zcGlzID0gMDsNCj4gICAgICB1bnNpZ25lZCBpbnQgaTsNCj4gLSAgICB1
aW50MzJfdCB2dWFydF9pcnE7DQo+IC0gICAgYm9vbCB2dWFydF9lbmFibGVkID0gZmFsc2U7DQo+
ICsgICAgdWludDMyX3QgdnVhcnRfaXJxLCB2aXJ0aW9faXJxID0gMDsNCj4gKyAgICBib29sIHZ1
YXJ0X2VuYWJsZWQgPSBmYWxzZSwgdmlydGlvX2VuYWJsZWQgPSBmYWxzZTsNCj4gKyAgICB1aW50
NjRfdCB2aXJ0aW9fbW1pb19iYXNlID0gR1VFU1RfVklSVElPX01NSU9fQkFTRTsNCj4gKyAgICB1
aW50MzJfdCB2aXJ0aW9fbW1pb19pcnEgPSBHVUVTVF9WSVJUSU9fTU1JT19TUElfRklSU1Q7DQo+
IA0KPiAgICAgIC8qDQo+ICAgICAgICogSWYgcGwwMTEgdnVhcnQgaXMgZW5hYmxlZCB0aGVuIGlu
Y3JlbWVudCB0aGUgbnJfc3BpcyB0byBhbGxvdyBhbGxvY2F0aW9uDQo+IEBAIC0zOSw2ICs4MSwz
NSBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX3ByZXBhcmVfY29uZmlnKGxpYnhsX19nYyAqZ2Ms
DQo+ICAgICAgICAgIHZ1YXJ0X2VuYWJsZWQgPSB0cnVlOw0KPiAgICAgIH0NCj4gDQo+ICsgICAg
Zm9yIChpID0gMDsgaSA8IGRfY29uZmlnLT5udW1fZGlza3M7IGkrKykgew0KPiArICAgICAgICBs
aWJ4bF9kZXZpY2VfZGlzayAqZGlzayA9ICZkX2NvbmZpZy0+ZGlza3NbaV07DQo+ICsNCj4gKyAg
ICAgICAgaWYgKGRpc2stPnNwZWNpZmljYXRpb24gPT0gTElCWExfRElTS19TUEVDSUZJQ0FUSU9O
X1ZJUlRJTykgew0KPiArICAgICAgICAgICAgZGlzay0+YmFzZSA9IGFsbG9jX3ZpcnRpb19tbWlv
X2Jhc2UoZ2MsICZ2aXJ0aW9fbW1pb19iYXNlKTsNCj4gKyAgICAgICAgICAgIGlmICghZGlzay0+
YmFzZSkNCj4gKyAgICAgICAgICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsNCj4gKw0KPiArICAg
ICAgICAgICAgZGlzay0+aXJxID0gYWxsb2NfdmlydGlvX21taW9faXJxKGdjLCAmdmlydGlvX21t
aW9faXJxKTsNCj4gKyAgICAgICAgICAgIGlmICghZGlzay0+aXJxKQ0KPiArICAgICAgICAgICAg
ICAgIHJldHVybiBFUlJPUl9GQUlMOw0KPiArDQo+ICsgICAgICAgICAgICBpZiAodmlydGlvX2ly
cSA8IGRpc2stPmlycSkNCj4gKyAgICAgICAgICAgICAgICB2aXJ0aW9faXJxID0gZGlzay0+aXJx
Ow0KPiArICAgICAgICAgICAgdmlydGlvX2VuYWJsZWQgPSB0cnVlOw0KPiArDQo+ICsgICAgICAg
ICAgICBMT0coREVCVUcsICJBbGxvY2F0ZSBWaXJ0aW8gTU1JTyBwYXJhbXMgZm9yIFZkZXYgJXM6
IElSUSAldQ0KPiBCQVNFIDB4JSJQUkl4NjQsDQo+ICsgICAgICAgICAgICAgICAgZGlzay0+dmRl
diwgZGlzay0+aXJxLCBkaXNrLT5iYXNlKTsNCj4gKyAgICAgICAgfQ0KPiArICAgIH0NCj4gKw0K
PiArICAgIC8qDQo+ICsgICAgICogRXZlcnkgdmlydGlvLW1taW8gZGV2aWNlIHVzZXMgb25lIGVt
dWxhdGVkIFNQSS4gSWYgVmlydGlvIGRldmljZXMgYXJlDQo+ICsgICAgICogcHJlc2VudCwgbWFr
ZSBzdXJlIHRoYXQgd2UgYWxsb2NhdGUgZW5vdWdoIFNQSXMgZm9yIHRoZW0uDQo+ICsgICAgICog
VGhlIHJlc3VsdGluZyAibnJfc3BpcyIgbmVlZHMgdG8gY292ZXIgdGhlIGhpZ2hlc3QgcG9zc2li
bGUgU1BJLg0KPiArICAgICAqLw0KPiArICAgIGlmICh2aXJ0aW9fZW5hYmxlZCkNCj4gKyAgICAg
ICAgbnJfc3BpcyA9IG1heChucl9zcGlzLCB2aXJ0aW9faXJxIC0gMzIgKyAxKTsNCj4gKw0KPiAg
ICAgIGZvciAoaSA9IDA7IGkgPCBkX2NvbmZpZy0+Yl9pbmZvLm51bV9pcnFzOyBpKyspIHsNCj4g
ICAgICAgICAgdWludDMyX3QgaXJxID0gZF9jb25maWctPmJfaW5mby5pcnFzW2ldOw0KPiAgICAg
ICAgICB1aW50MzJfdCBzcGk7DQo+IEBAIC01OCw2ICsxMjksMTMgQEAgaW50IGxpYnhsX19hcmNo
X2RvbWFpbl9wcmVwYXJlX2NvbmZpZyhsaWJ4bF9fZ2MgKmdjLA0KPiAgICAgICAgICAgICAgcmV0
dXJuIEVSUk9SX0ZBSUw7DQo+ICAgICAgICAgIH0NCj4gDQo+ICsgICAgICAgIC8qIFRoZSBzYW1l
IGNoZWNrIGFzIGZvciB2cGwwMTEgKi8NCj4gKyAgICAgICAgaWYgKHZpcnRpb19lbmFibGVkICYm
DQo+ICsgICAgICAgICAgICAoaXJxID49IEdVRVNUX1ZJUlRJT19NTUlPX1NQSV9GSVJTVCAmJiBp
cnEgPD0gdmlydGlvX2lycSkpIHsNCj4gKyAgICAgICAgICAgIExPRyhFUlJPUiwgIlBoeXNpY2Fs
IElSUSAldSBjb25mbGljdGluZyB3aXRoIFZpcnRpbyBNTUlPIElSUQ0KPiByYW5nZVxuIiwgaXJx
KTsNCj4gKyAgICAgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOw0KPiArICAgICAgICB9DQo+ICsN
Cj4gICAgICAgICAgaWYgKGlycSA8IDMyKQ0KPiAgICAgICAgICAgICAgY29udGludWU7DQo+IA0K
PiBAQCAtNzg3LDYgKzg2NSwzNyBAQCBzdGF0aWMgaW50IG1ha2VfdnBjaV9ub2RlKGxpYnhsX19n
YyAqZ2MsIHZvaWQgKmZkdCwNCj4gICAgICByZXR1cm4gMDsNCj4gIH0NCj4gDQo+ICsNCj4gK3N0
YXRpYyBpbnQgbWFrZV92aXJ0aW9fbW1pb19ub2RlKGxpYnhsX19nYyAqZ2MsIHZvaWQgKmZkdCwN
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGJhc2UsIHVpbnQz
Ml90IGlycSkNCj4gK3sNCj4gKyAgICBpbnQgcmVzOw0KPiArICAgIGdpY19pbnRlcnJ1cHQgaW50
cjsNCj4gKyAgICBjb25zdCBjaGFyICpuYW1lID0gR0NTUFJJTlRGKCJ2aXJ0aW9AJSJQUkl4NjQs
IGJhc2UpOw0KPiArDQo+ICsgICAgcmVzID0gZmR0X2JlZ2luX25vZGUoZmR0LCBuYW1lKTsNCj4g
KyAgICBpZiAocmVzKSByZXR1cm4gcmVzOw0KPiArDQo+ICsgICAgcmVzID0gZmR0X3Byb3BlcnR5
X2NvbXBhdChnYywgZmR0LCAxLCAidmlydGlvLG1taW8iKTsNCj4gKyAgICBpZiAocmVzKSByZXR1
cm4gcmVzOw0KPiArDQo+ICsgICAgcmVzID0gZmR0X3Byb3BlcnR5X3JlZ3MoZ2MsIGZkdCwgR1VF
U1RfUk9PVF9BRERSRVNTX0NFTExTLA0KPiBHVUVTVF9ST09UX1NJWkVfQ0VMTFMsDQo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMSwgYmFzZSwgVklSVElPX01NSU9fREVWX1NJWkUpOw0K
PiArICAgIGlmIChyZXMpIHJldHVybiByZXM7DQo+ICsNCj4gKyAgICBzZXRfaW50ZXJydXB0KGlu
dHIsIGlycSwgMHhmLCBEVF9JUlFfVFlQRV9FREdFX1JJU0lORyk7DQo+ICsgICAgcmVzID0gZmR0
X3Byb3BlcnR5X2ludGVycnVwdHMoZ2MsIGZkdCwgJmludHIsIDEpOw0KPiArICAgIGlmIChyZXMp
IHJldHVybiByZXM7DQo+ICsNCj4gKyAgICByZXMgPSBmZHRfcHJvcGVydHkoZmR0LCAiZG1hLWNv
aGVyZW50IiwgTlVMTCwgMCk7DQo+ICsgICAgaWYgKHJlcykgcmV0dXJuIHJlczsNCj4gKw0KPiAr
ICAgIHJlcyA9IGZkdF9lbmRfbm9kZShmZHQpOw0KPiArICAgIGlmIChyZXMpIHJldHVybiByZXM7
DQo+ICsNCj4gKyAgICByZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGNvbnN0IHN0cnVj
dCBhcmNoX2luZm8gKmdldF9hcmNoX2luZm8obGlieGxfX2djICpnYywNCj4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB4Y19kb21faW1h
Z2UgKmRvbSkNCj4gIHsNCj4gQEAgLTk4OCw2ICsxMDk3LDcgQEAgc3RhdGljIGludCBsaWJ4bF9f
cHJlcGFyZV9kdGIobGlieGxfX2djICpnYywNCj4gbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25m
aWcsDQo+ICAgICAgc2l6ZV90IGZkdF9zaXplID0gMDsNCj4gICAgICBpbnQgcGZkdF9zaXplID0g
MDsNCj4gICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqY29uc3QgaW5mbyA9ICZkX2NvbmZp
Zy0+Yl9pbmZvOw0KPiArICAgIHVuc2lnbmVkIGludCBpOw0KPiANCj4gICAgICBjb25zdCBsaWJ4
bF92ZXJzaW9uX2luZm8gKnZlcnM7DQo+ICAgICAgY29uc3Qgc3RydWN0IGFyY2hfaW5mbyAqYWlu
Zm87DQo+IEBAIC0xMDk0LDYgKzEyMDQsMTMgQEAgbmV4dF9yZXNpemU6DQo+ICAgICAgICAgIGlm
IChkX2NvbmZpZy0+bnVtX3BjaWRldnMpDQo+ICAgICAgICAgICAgICBGRFQoIG1ha2VfdnBjaV9u
b2RlKGdjLCBmZHQsIGFpbmZvLCBkb20pICk7DQo+IA0KPiArICAgICAgICBmb3IgKGkgPSAwOyBp
IDwgZF9jb25maWctPm51bV9kaXNrczsgaSsrKSB7DQo+ICsgICAgICAgICAgICBsaWJ4bF9kZXZp
Y2VfZGlzayAqZGlzayA9ICZkX2NvbmZpZy0+ZGlza3NbaV07DQo+ICsNCj4gKyAgICAgICAgICAg
IGlmIChkaXNrLT5zcGVjaWZpY2F0aW9uID09IExJQlhMX0RJU0tfU1BFQ0lGSUNBVElPTl9WSVJU
SU8pDQo+ICsgICAgICAgICAgICAgICAgRkRUKCBtYWtlX3ZpcnRpb19tbWlvX25vZGUoZ2MsIGZk
dCwgZGlzay0+YmFzZSwgZGlzay0+aXJxKSApOw0KPiArICAgICAgICB9DQo+ICsNCj4gICAgICAg
ICAgaWYgKHBmZHQpDQo+ICAgICAgICAgICAgICBGRFQoIGNvcHlfcGFydGlhbF9mZHQoZ2MsIGZk
dCwgcGZkdCkgKTsNCj4gDQo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1h
cm0uaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oDQo+IGluZGV4IGFiMDVmZTEyYjAu
LmM4YjYwNThkM2EgMTAwNjQ0DQo+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5o
DQo+ICsrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oDQo+IEBAIC00MDcsNiArNDA3
LDEwIEBAIHR5cGVkZWYgdWludDY0X3QgeGVuX2NhbGxiYWNrX3Q7DQo+IA0KPiAgLyogUGh5c2lj
YWwgQWRkcmVzcyBTcGFjZSAqLw0KPiANCj4gKy8qIFZpcnRpbyBNTUlPIG1hcHBpbmdzICovDQo+
ICsjZGVmaW5lIEdVRVNUX1ZJUlRJT19NTUlPX0JBU0UgICB4ZW5fbWtfdWxsb25nKDB4MDIwMDAw
MDApDQo+ICsjZGVmaW5lIEdVRVNUX1ZJUlRJT19NTUlPX1NJWkUgICB4ZW5fbWtfdWxsb25nKDB4
MDAxMDAwMDApDQo+ICsNCj4gIC8qDQo+ICAgKiB2R0lDIG1hcHBpbmdzOiBPbmx5IG9uZSBzZXQg
b2YgbWFwcGluZyBpcyB1c2VkIGJ5IHRoZSBndWVzdC4NCj4gICAqIFRoZXJlZm9yZSB0aGV5IGNh
biBvdmVybGFwLg0KPiBAQCAtNDkzLDYgKzQ5Nyw5IEBAIHR5cGVkZWYgdWludDY0X3QgeGVuX2Nh
bGxiYWNrX3Q7DQo+IA0KPiAgI2RlZmluZSBHVUVTVF9WUEwwMTFfU1BJICAgICAgICAzMg0KPiAN
Cj4gKyNkZWZpbmUgR1VFU1RfVklSVElPX01NSU9fU1BJX0ZJUlNUICAgMzMNCj4gKyNkZWZpbmUg
R1VFU1RfVklSVElPX01NSU9fU1BJX0xBU1QgICAgNDMNCj4gKw0KPiAgLyogUFNDSSBmdW5jdGlv
bnMgKi8NCj4gICNkZWZpbmUgUFNDSV9jcHVfc3VzcGVuZCAwDQo+ICAjZGVmaW5lIFBTQ0lfY3B1
X29mZiAgICAgMQ0KPiAtLQ0KPiAyLjI1LjENCg0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 02:26:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 02:26:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388618.625325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8lJ-0001OJ-9d; Wed, 17 Aug 2022 02:26:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388618.625325; Wed, 17 Aug 2022 02:26:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oO8lJ-0001OC-73; Wed, 17 Aug 2022 02:26:29 +0000
Received: by outflank-mailman (input) for mailman id 388618;
 Wed, 17 Aug 2022 02:26:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8lH-0001O2-RU; Wed, 17 Aug 2022 02:26:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8lH-000355-P2; Wed, 17 Aug 2022 02:26:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8lH-0006dz-9V; Wed, 17 Aug 2022 02:26:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oO8lH-0003cX-94; Wed, 17 Aug 2022 02:26:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xjNOBhTHgz3B0/iDb9jYm3eNk17bI+oedAkxp7l4gEw=; b=WV2Mh04uVEhgnHxDLsLY//QL+i
	pH+uM+EVn+vblnfqmOwWSXoPspxU+TtVv5nCfbTK0yHbPAuwMd6W4sZDlgQQ2RzHOaZGts8gPZreZ
	jJCmcFxELetDovpTVC7xHbZg8gtkhEj8L8MDLuMjD+QLrwlSXmOLtJ3oQ+QcR/lE9Hm8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172575-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172575: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=283abca2997141ea780fc86ca9524b1d837243d3
X-Osstest-Versions-That:
    xen=646589ac148a2ff6bb222a6081b4d7b13ee468c0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 02:26:27 +0000

flight 172575 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172575/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 172557
 build-amd64-libvirt           6 libvirt-build                fail  like 172557
 build-i386-libvirt            6 libvirt-build                fail  like 172557
 build-arm64-libvirt           6 libvirt-build                fail  like 172557
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172557
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172557
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172557
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172557
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172557
 build-armhf-libvirt           6 libvirt-build                fail  like 172557
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172557
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172557
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172557
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  283abca2997141ea780fc86ca9524b1d837243d3
baseline version:
 xen                  646589ac148a2ff6bb222a6081b4d7b13ee468c0

Last test of basis   172557  2022-08-15 21:09:51 Z    1 days
Testing same since   172575  2022-08-16 16:53:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Connor Davis <davisc@ainfosec.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Penny Zheng <penny.zheng@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   646589ac14..283abca299  283abca2997141ea780fc86ca9524b1d837243d3 -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 04:25:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 04:25:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388630.625343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAby-0004R8-2I; Wed, 17 Aug 2022 04:24:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388630.625343; Wed, 17 Aug 2022 04:24:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAbx-0004R1-UP; Wed, 17 Aug 2022 04:24:57 +0000
Received: by outflank-mailman (input) for mailman id 388630;
 Wed, 17 Aug 2022 04:24:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOAbw-0004Qr-JB; Wed, 17 Aug 2022 04:24:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOAbw-0005Fr-Eu; Wed, 17 Aug 2022 04:24:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOAbw-0002yF-60; Wed, 17 Aug 2022 04:24:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOAbw-0002NV-5V; Wed, 17 Aug 2022 04:24:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yVQIgsg70CdGCNcNt7edcWmHGoiu/YHyIdKvm9oWqrk=; b=ZNW3rDTTcwEuVVbcn4KmWu8gGT
	XrqnL7xVbzelYA1TvHf0DpsDtcp2oJre2T3rmsQ7kr68k6wFhT/94AoZVXEnvjlIDxq4xhNTgVdWm
	EwfpDmkJ6dCWfyIoksGTkWqcCJ4NhxuT+iMP1QVRfSGYaicJZ2KVoZzw0yDg8UMkVqk4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172578-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172578: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    linux-5.4:test-amd64-i386-examine-uefi:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 04:24:56 +0000

flight 172578 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172578/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172556 pass in 172578
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 172556 pass in 172578
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install fail in 172556 pass in 172578
 test-amd64-i386-examine-uefi  6 xen-install                fail pass in 172556
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172556

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172556 like 172128
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172556 like 172128
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172556 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172556 never pass
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   13 days
Testing same since   172384  2022-08-11 11:13:58 Z    5 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 fail    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 04:26:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 04:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388639.625354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAde-00052v-JX; Wed, 17 Aug 2022 04:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388639.625354; Wed, 17 Aug 2022 04:26:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAde-00052o-GB; Wed, 17 Aug 2022 04:26:42 +0000
Received: by outflank-mailman (input) for mailman id 388639;
 Wed, 17 Aug 2022 04:26:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIU2=YV=gmail.com=lukas.bulwahn@srs-se1.protection.inumbo.net>)
 id 1oOAdc-00052Y-UX
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 04:26:41 +0000
Received: from mail-yw1-x1129.google.com (mail-yw1-x1129.google.com
 [2607:f8b0:4864:20::1129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c893d26b-1de4-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 06:26:38 +0200 (CEST)
Received: by mail-yw1-x1129.google.com with SMTP id
 00721157ae682-32fd97c199fso177395287b3.6
 for <xen-devel@lists.xenproject.org>; Tue, 16 Aug 2022 21:26:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c893d26b-1de4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=Bvy/9Pfbis3IVpMKx38SkeHJHXRbjKHGNZtMW922TLc=;
        b=BN/GzPINQHC9lo4QCbZs3j4FwS6njxrQ1hd+lVcBG3rqvzOEWk/JrvMuarLANIHM/T
         DTv0X/0BuCQ81YZ0BB3TXVENR2j5tnQFTRJ4wPZMFOCsxS4Z2D1T1IiBsNIqlglbGbM2
         hjjMZayq4oNZco56CyeDVvkdS7LGObFEOo6Uei5W59tKbokEybQCAOpBNb7YyR/9bkFe
         z5eONbgAhoMe+sKTxt3gZlrrJKrgNq9MU3blAs1HDCLRA9UUYFCTjSM4KZp6vn1kKjy/
         57I9CsbqmIbdX5gVL4KDD8hT/Xf5FYuMyOKsTFJRvt7VeXKhoDRhetJwr37pITZMB3uw
         etlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=Bvy/9Pfbis3IVpMKx38SkeHJHXRbjKHGNZtMW922TLc=;
        b=J3IOXfZZK6zm9n9ldCpw88Gv7NyPe0f8Q9QA4OqcfDCKcsFFkE5jibEqv5oxGS1Sjq
         wcFqNGFuUXkg0CCJxjC2BCqnWrNpEWQyW9gPDxo42SUWJzaEv6d2QsV1LP3vbbRPg4gP
         wKXUS5QzuBj5CdG6HkMewTST9Bq4V+pIClVMh+0lEl2k55CylImQkiVUBWW8LSl13ove
         Ix1zE/Dt9FG08nCKYRQNkuBhQfwXbtwzM4nO2ohCsxmmZLUTCgSU0IPs7wmlpX3CIu/o
         5LNsF4CE5fbBoxRbcEiLpNFA1WPcIDr7iC8pIyUnl4XVpKuHzPFFMYx0HA+uwLZyyFEA
         rrqQ==
X-Gm-Message-State: ACgBeo0/Hxd6MpxXdCWXCud4J7EPVgp4uWrUoLJotLs/rLFsfS2pRK5D
	eWx6OH5JsQQdVvZj+4CzzqDpXgVsqi6k8XE7mxQ=
X-Google-Smtp-Source: AA6agR7UZg63eGvx44ABnzj9B4GB1Una2uz7rHgcASUsetqcJIwIVJMCy3VHvBR9jRzHk2Mvebol7nOlrOs/bk37j2g=
X-Received: by 2002:a25:be44:0:b0:690:8e9:7d19 with SMTP id
 d4-20020a25be44000000b0069008e97d19mr1368381ybm.389.1660710396801; Tue, 16
 Aug 2022 21:26:36 -0700 (PDT)
MIME-Version: 1.0
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-4-lukas.bulwahn@gmail.com> <081fa42d-8587-a69e-5e1c-672152ac8c3e@epam.com>
In-Reply-To: <081fa42d-8587-a69e-5e1c-672152ac8c3e@epam.com>
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Date: Wed, 17 Aug 2022 06:26:26 +0200
Message-ID: <CAKXUXMx4fBTN5e3aO9Hy2j3==3QDr85bknLxjyGLoT0geUq=jQ@mail.gmail.com>
Subject: Re: [PATCH 3/4] xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic config
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
Cc: Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Thomas Gleixner <tglx@linutronix.de>, 
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, 
	Dave Hansen <dave.hansen@linux.intel.com>, "x86@kernel.org" <x86@kernel.org>, 
	"H . Peter Anvin" <hpa@zytor.com>, 
	"kernel-janitors@vger.kernel.org" <kernel-janitors@vger.kernel.org>, 
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 10, 2022 at 1:32 PM Oleksandr Tyshchenko
<Oleksandr_Tyshchenko@epam.com> wrote:
>
>
> On 10.08.22 08:07, Lukas Bulwahn wrote:
>
> Hello Lukas, all
>
> > While reviewing arch/x86/configs/xen.config, I noticed the following
> > note in this file:
> >
> >    '# depends on MEMORY_HOTPLUG, arm64 doesn't enable this yet,
> >    '# move to generic config if it ever does.
> >    CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
> >
> > Commit 6c6685055a28 ("kconfig: add xenconfig defconfig helper") in June
> > 2015 adds this note. Fortunately, commit 4ab215061554 ("arm64: Add memory
> > hotplug support") from December 2018 adds the memory hotplug in arm64, so
> > the precondition of this note above is now met.
> >
> > Move setting the config XEN_BALLOON_MEMORY_HOTPLUG into the generic
> > xen.config now.
>
>
> I might have missed something but I have never heard of anyone using
> XEN_BALLOON_MEMORY_HOTPLUG on Arm.
>
> Looking into the code, I am afraid, CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
> won't be functional on Arm without reworking resource allocation logic
> in drivers/xen/ballon.c at least, since system "iomem_resource" cannot
> be used on Arm to allocate unused memory region(s), please see
> additional_memory_resource(). I might be wrong, but it feels to me that
> here we would need a similar logic like in
> drivers/xen/unpopulated-alloc.c which is functional on Arm since it uses
> specific Xen resource (on x86 it is just an iomem_resource, but on Arm
> it contains provided by the hypervisor extended regions).
>
> I am not aware of anyone working on it, so I wouldn't enable that
> support on Arm by default until the code is updated.
>

Thanks for the in-depth investigation and explanation. For now, let us
drop this patch here and keep the configs as they are.

Lukas


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 04:28:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 04:28:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388645.625365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAfl-0005fv-VS; Wed, 17 Aug 2022 04:28:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388645.625365; Wed, 17 Aug 2022 04:28:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAfl-0005fo-S4; Wed, 17 Aug 2022 04:28:53 +0000
Received: by outflank-mailman (input) for mailman id 388645;
 Wed, 17 Aug 2022 04:28:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIU2=YV=gmail.com=lukas.bulwahn@srs-se1.protection.inumbo.net>)
 id 1oOAfk-0005fi-47
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 04:28:52 +0000
Received: from mail-yw1-x1135.google.com (mail-yw1-x1135.google.com
 [2607:f8b0:4864:20::1135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 17e2f0ea-1de5-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 06:28:51 +0200 (CEST)
Received: by mail-yw1-x1135.google.com with SMTP id
 00721157ae682-32a09b909f6so202543307b3.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Aug 2022 21:28:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17e2f0ea-1de5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=Fd64ZTYpBZ+RIWsrdcx55o1cFYfsxNqJQSrJeLxKjSQ=;
        b=Ad99UETspLmbHH9gsu+1FAFTvXlfJoLpaNP0OL9t4xxoVylZiSsMLzp4nPYGIA1UFH
         IOKL84hR+P6bSU7poN6ScvoslZBqCCZJ+q/m/a3E+GfVFccj2tMmQaejOqlhVckdRP2K
         5/9xgAqY2UHzw7qhAf13K6clzbiIjuZIaU9rLdrg2XKbT27K6Kn7nQXLXk6No6K9C0q0
         3d/ppwe3m4L4fPgoXWluWqPvm1Y7d2cz6MIvl/hxiWZkTiTtseK7FvlK4sQobx0QkTNJ
         3X89MouRVjqTxcepKwydY0yX7qth747/NNwCTIg0LL55+5UtSw6tC3MfVpOTZXRRo7al
         TUyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=Fd64ZTYpBZ+RIWsrdcx55o1cFYfsxNqJQSrJeLxKjSQ=;
        b=dygi7+0aNN4Ljw0NQc4lqCFk1QD+KvFB+2PznFHSdGB8I/FcR/2Ai8JA4aamO0Zeph
         +7VUeBaT/botgRifdhXZPH2/JIaLlZpnYYkW1W4tQEdg6hENQQTqVNCqX30vg6w2F1HD
         XlgzhisE0pJHHmRZgybiaKXZ58NG8B8lrFFv80cTwNvUmb6I+ytEPFPBD7TLrFaLaZZd
         l4UJyvqE5ueFGSQtBq+6UuS+PV5OsIg64QBXYS/ZaJhIE90QVq4CmDKf9op3gs4+2Cv9
         GQzuq3/0Hd9xCMkWKl7tpfVzFbjD6wQYctCcB6cJm7WB8MZLuX5H0rioKBjMlA7vusnl
         S95Q==
X-Gm-Message-State: ACgBeo1qXI4FSC8oUJ3gPb46hXxoZG23UPA507NVZUWn51uFhk3oCghp
	c9DisfrGe3RUMsI7LS+ocLik91OBGoT/zhKv04E=
X-Google-Smtp-Source: AA6agR7r3Vz1IkV8JjjkI722lpR7xQMTMFPwTM97y2R48sSD8HSCg6dN1OoUe4zjtP1cNX3v/pKyZCb6n0V55d2IfQo=
X-Received: by 2002:a25:6885:0:b0:68b:b381:facf with SMTP id
 d127-20020a256885000000b0068bb381facfmr7872999ybc.318.1660710529892; Tue, 16
 Aug 2022 21:28:49 -0700 (PDT)
MIME-Version: 1.0
References: <20220810050712.9539-1-lukas.bulwahn@gmail.com>
 <20220810050712.9539-2-lukas.bulwahn@gmail.com> <d8930edf-d138-6ef2-81c3-ff4d9003066b@suse.com>
In-Reply-To: <d8930edf-d138-6ef2-81c3-ff4d9003066b@suse.com>
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Date: Wed, 17 Aug 2022 06:28:39 +0200
Message-ID: <CAKXUXMx2HvR5SYxpvH3=LSzv_v6S65n-F4FyUSD=STpAgSYcOw@mail.gmail.com>
Subject: Re: [PATCH 1/4] xen: x86: set the config XEN_512GB after config change
To: Jan Beulich <jbeulich@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, 
	Dave Hansen <dave.hansen@linux.intel.com>, X86 ML <x86@kernel.org>, 
	"H . Peter Anvin" <hpa@zytor.com>, kernel-janitors <kernel-janitors@vger.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 10, 2022 at 9:07 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 10.08.2022 07:07, Lukas Bulwahn wrote:
> > --- a/arch/x86/configs/xen.config
> > +++ b/arch/x86/configs/xen.config
> > @@ -14,7 +14,7 @@ CONFIG_CPU_FREQ=y
> >
> >  # x86 xen specific config options
> >  CONFIG_XEN_PVH=y
> > -CONFIG_XEN_MAX_DOMAIN_MEMORY=500
> > +CONFIG_XEN_512GB=y
>
> Does this actually need setting here? The option's default is y, so
> it ought to be turned on "automatically". Hence I think it's only
> the stale line which wants deleting.
>

Jan, that makes sense. I will send a patch v2 to do so.

Lukas


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 04:44:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 04:44:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388657.625375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAuK-000826-7B; Wed, 17 Aug 2022 04:43:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388657.625375; Wed, 17 Aug 2022 04:43:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAuK-00081z-4U; Wed, 17 Aug 2022 04:43:56 +0000
Received: by outflank-mailman (input) for mailman id 388657;
 Wed, 17 Aug 2022 04:43:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIU2=YV=gmail.com=lukas.bulwahn@srs-se1.protection.inumbo.net>)
 id 1oOAuI-00081t-Dt
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 04:43:54 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31f7be3c-1de7-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 06:43:53 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id a4so3117856wrq.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Aug 2022 21:43:53 -0700 (PDT)
Received: from felia.fritz.box
 (200116b82633f20060f31b3eb0891b8b.dip.versatel-1u1.de.
 [2001:16b8:2633:f200:60f3:1b3e:b089:1b8b])
 by smtp.gmail.com with ESMTPSA id
 bd22-20020a05600c1f1600b003a2f6367049sm735112wmb.48.2022.08.16.21.43.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Aug 2022 21:43:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31f7be3c-1de7-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:subject:cc:to:from:from:to:cc;
        bh=UACsgzg4zvHRWZAiY2XTwdGkhFZ7nkJOvMvp+H83efU=;
        b=LxqfgrQRxH9cVxBmy6mNpakfLl7UYj9+tXLCNREcdEntLd0pdXuOO3BbgYC3UKVYlp
         Aqg0rsH3md+ygovnda3zH2j0KA8RKTQNF6MAObW85HYTx3mB2byTk62ZOWkI8Hm+edNU
         ZCu9SgkqMRskKZ6weJ2ZwcMulfOBk6f2q7cfCrJSeTLOOTEmKjySI7xec7gQFbdiLSHi
         0fWObg+Wybl3M5AMhn+rAWXaAEoAe2BFIVOmNz+j4O3oa3TsXAhi9tzJdtrhO4i/yxHU
         gK5WljdrHM+Dw20qNI3tnouNv1eh7+PaGywVliEGMyOVhHhYyYkoamHWA09Ozshl43bD
         g5zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=UACsgzg4zvHRWZAiY2XTwdGkhFZ7nkJOvMvp+H83efU=;
        b=wV76DD7SUXV77VyEh6qGthUUTNsh1BYqbHnCqqZxHvupEba6cvKROEPp1ktFIQaT2h
         SYMy1Y7fqb5Q2MGd07IrFKkkbbVS9zW40e8QiU2MjhA7KEnIt+1nIONtsBtovYudVOkF
         KOe83iBmjVRnU1TGugTHmubnbKv5HX+kvmTb9H1sqqCT+jQBBH4ATeQoTzEBVDalByJU
         nZyTdhdiFU/brws2oqVNFXOHMd0f/kd8HeQ7bQEA3RFce3GQ2RUhwm+WwKwfZAWXz60D
         cna3r1q8zgT24omzfIIUgELcS9QvfmLmvDXHIZbBDVPeg7KPkELvkIjUtWlugZ51M0HJ
         Q3dA==
X-Gm-Message-State: ACgBeo3c32IQaaHt50i4nmI4uFQwJo7zhtpPwan4JZbO8TcjHo/sR/wn
	zhCauT3ACHAxB8oEJYHPAYY=
X-Google-Smtp-Source: AA6agR5q4ITliuREdqBZMGN+ngSPk5+CneCGqoC3bxyecQ+Oy/RJSsdqRjd7lrglFQLV9L2r1hKpvg==
X-Received: by 2002:a05:6000:1a88:b0:222:ca4d:f0d2 with SMTP id f8-20020a0560001a8800b00222ca4df0d2mr13922194wry.610.1660711432645;
        Tue, 16 Aug 2022 21:43:52 -0700 (PDT)
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>
Subject: [PATCH v2] xen: x86: remove setting the obsolete config XEN_MAX_DOMAIN_MEMORY
Date: Wed, 17 Aug 2022 06:43:33 +0200
Message-Id: <20220817044333.22310-1-lukas.bulwahn@gmail.com>
X-Mailer: git-send-email 2.17.1

Commit c70727a5bc18 ("xen: allow more than 512 GB of RAM for 64 bit
pv-domains") from July 2015 replaces the config XEN_MAX_DOMAIN_MEMORY with
a new config XEN_512GB, but misses to adjust arch/x86/configs/xen.config.
As XEN_512GB defaults to yes, there is no need to explicitly set any config
in xen.config.

Just remove setting the obsolete config XEN_MAX_DOMAIN_MEMORY.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
---
 arch/x86/configs/xen.config | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config
index d9fc7139fd46..581296255b39 100644
--- a/arch/x86/configs/xen.config
+++ b/arch/x86/configs/xen.config
@@ -14,7 +14,6 @@ CONFIG_CPU_FREQ=y
 
 # x86 xen specific config options
 CONFIG_XEN_PVH=y
-CONFIG_XEN_MAX_DOMAIN_MEMORY=500
 CONFIG_XEN_SAVE_RESTORE=y
 # CONFIG_XEN_DEBUG_FS is not set
 CONFIG_XEN_MCE_LOG=y
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 04:46:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 04:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388665.625386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAwX-0000Ad-Ib; Wed, 17 Aug 2022 04:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388665.625386; Wed, 17 Aug 2022 04:46:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOAwX-0000AV-Fu; Wed, 17 Aug 2022 04:46:13 +0000
Received: by outflank-mailman (input) for mailman id 388665;
 Wed, 17 Aug 2022 04:46:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2GH1=YV=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oOAwV-0000AN-Tu
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 04:46:12 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20087.outbound.protection.outlook.com [40.107.2.87])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8354cfbc-1de7-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 06:46:10 +0200 (CEST)
Received: from FR0P281CA0071.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::10)
 by AM6PR08MB5093.eurprd08.prod.outlook.com (2603:10a6:20b:d5::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Wed, 17 Aug
 2022 04:46:07 +0000
Received: from VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:49:cafe::93) by FR0P281CA0071.outlook.office365.com
 (2603:10a6:d10:49::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.15 via Frontend
 Transport; Wed, 17 Aug 2022 04:46:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT055.mail.protection.outlook.com (10.152.19.158) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Wed, 17 Aug 2022 04:46:07 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Wed, 17 Aug 2022 04:46:06 +0000
Received: from 8005e63cb4f5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8F4664D1-B6FE-495E-9B1E-611AAF265C0E.1; 
 Wed, 17 Aug 2022 04:45:56 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8005e63cb4f5.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 17 Aug 2022 04:45:56 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM5PR0801MB1730.eurprd08.prod.outlook.com (2603:10a6:203:38::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 04:45:53 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::240a:5b52:7540:5772%3]) with mapi id 15.20.5504.028; Wed, 17 Aug 2022
 04:45:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8354cfbc-1de7-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Q/PLjecc6sGpRYFUgCnf9rr1VdxS/6D1Tg7OaPshIuJWaHFibz3tIMrhlRBqALQ1XDrffP4DP7i9ZVVzoWRY5agqnxNaPKLdHPDaxuDDMEbT+P3KRgTvifb8sL9CA+Vmhc0CSUc22wuJU9+DEpDNiPTPhflvtKeLCzZT93aDupBuCZZYzozscC29pQ7+YMptiru8TPRmk5r6nZEpsVXrI3Kj+lJyJWPfbuxwFRb+vxN5VidRsWhZDlHxGyiCQjHfx0G45o9GdWsJDhYieziyYSCGCdtG9P0VqvB6Zcy9fZD6Vbaxcz7ii1L3RyZ+FtanOuJC1ratrdEkJFb9+0s/7A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y0SKljOjkV1PG8RX7G0fJc3bxX/aGSk5D6n4iZBebzA=;
 b=WPTvdk6XM/E/NYBe29EIxT4UPHj425bhbzii9T1IhkrPXU6gEKeDuKDd835wMZT+djdFXxLidd0m94LWGHZdMq3he3LCMw5c8wekJOO2Uipe1HMB3sh6JfExwTZamkQHyr4EeTK/bIWVL0bjBt0uT47iD6whygujzTftiiWQRHIMZSJjbn5O8mVQqWSpPevV9zP117CGYhi3fVDCgilBBE2Y69vh/fQYGZOpyfZT0j3tNCeq5UHMQqHN3bgTzLAlqGeF0R6RVfBYqvF7r+XQFveYjWaT10UtNfmeutCXDbcl1FL2DnxfsX1znSXqqTKy5G4IDow463TDuKjFmOUELQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y0SKljOjkV1PG8RX7G0fJc3bxX/aGSk5D6n4iZBebzA=;
 b=TkIIBfaLIdnDZ0iABye30EONG74ylvgH3ZGyFYAPRLUxHfmIBue+FDuKrJ/+8Hg1B9AyWGpZsitfpRYlMoYXcfH/Mw0ONmb78IfvaH/2Rzk9kXCNx1yry0qjNauTAv8u6vTPdPeCu+oGnBgaGHqrSmaCaTdPCgChUbXGxRmCk+Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gzCA0I+bWlwWDEey3etcDggE1CvtHviV97ADNfk3w/ZCMvDApzx4uCB4RWnuzYmmmfWSVhPpxtP+xBkilBwG5N1wSPRXq2ZRtD0er4FCIqC8y8ur0dxVze771Rf6tNr27bwtILycRCklWiN+xMZIukz0uFmsUV8ri3s1tFvkpkNQXO4ll4VR4us3ZSitlVGT8IbXMT5qAyoHOZz46Q+8DVeHa16CUyaRV7tTuldo6fxce1MONd5z4KhX0aSyxF44Ld4X9oYC1QftL/c+6+25sj6n9ZDL0v7HIf5ycvDWpMcn+FbqAR8obxV9WMYfsC0VLGMF1c26ZC9rwHcUXRwXZg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y0SKljOjkV1PG8RX7G0fJc3bxX/aGSk5D6n4iZBebzA=;
 b=J0uYu70NOBzeqHOVbogDP83sPP+N9CjRoYjiU3YV2JzYKw9H19Z5aoAsAFIWPTEEWf9emc5XFh73Fyb99IJxmxJoN9ov9r7QkOLZV97Zzy1Z2ZgAaimL25+CTT5ndo84ITLP2kU2vWjFBpUjk4WJQoJJ0AxzXFNDrb12EMwcBDeMXXyIRaBV5tqn925g6fcxfDTea0VpbK9uj96M/CrFpekVkvR0JnW5FlvpDev+0dtDsprB+AUPnNAOi/iJmcsZrxKGhBPhVORv0/ow+f8crE2wRTl//cnUZcU5llb4B9fGTqU+ZX0pMsEyZQJzNjHcHN66y1jcCPU9Yc53UFXFFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y0SKljOjkV1PG8RX7G0fJc3bxX/aGSk5D6n4iZBebzA=;
 b=TkIIBfaLIdnDZ0iABye30EONG74ylvgH3ZGyFYAPRLUxHfmIBue+FDuKrJ/+8Hg1B9AyWGpZsitfpRYlMoYXcfH/Mw0ONmb78IfvaH/2Rzk9kXCNx1yry0qjNauTAv8u6vTPdPeCu+oGnBgaGHqrSmaCaTdPCgChUbXGxRmCk+Y=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
Thread-Topic: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on
 Arm
Thread-Index: AQHYsaJ0EDYKZbrdhku3pAc3qkaNP62yhPIA
Date: Wed, 17 Aug 2022 04:45:52 +0000
Message-ID:
 <AS8PR08MB79915101E4562B17C14E43BC926A9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220816185954.31945-1-julien@xen.org>
In-Reply-To: <20220816185954.31945-1-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: ADE14694A4D5AD4DA905A77F3C5F4F2B.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a8d90dfc-6cc4-47ff-f26a-08da800b6610
x-ms-traffictypediagnostic:
	AM5PR0801MB1730:EE_|VE1EUR03FT055:EE_|AM6PR08MB5093:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 3P80RFzbXvyX/urAbJyKm/JXuK3Mk831QXHCuYcgIdpiXphXtlxIAryDb3ORtAwOmtdbzf/GTN287N2ArPoHvmvFFKrd2ioxa/z3V0HxEHym6wrHY5W7TglEAhk8z83++FOMbrqUCnFaC85ZhOzRiNfNIpYbBo6Izgcx8tGpJfpC3VFBLWtMOeIp0jy35rgBubjVglOdP5YztuKIA+fKnGMboxX6jUmE6V3JrXN2vyde3z+6HP9Weu8Fess3j/bhvbKvz17BgWTeAS9luHgSQjaRomrIbUGZbJOEsYqHcgL7Wb1YaPBbXrYq/KEWogxpsbZjpH9Ahxtksun4PwLLMqsAAGwK3d4wpPu404Pkoxy2wEjgmin/TfKQHjixXFpMHtJ4OlYIdpZ67Frt28ItekAzLPMG9U92tvzZ4UxBfqlhQVUqS6qwA71yqplQQC5TXqYzuYMFd4sXY3WfPR8blYveQUbzERjDc36AbbYaQFBIwUlRGnKa3pZWRm8lIWZ5X8DKahoIa6aOsQZIeykxkZU4lo69R4spkhFRmAZmYcr5ens4SN5au8202XaOck6UbVGh7zKCrhAEqPVqZq5ZETmxmZvtVoxn0Mmm2ozMAag7oXzbQXft0s8XYOxQINvdEznFLQwbz5LL+XivdgCnnajmftcFXft5iEpEwRQByNUKhWZcVpCBm3VzNdZd6d76+Dpxw/G3Bp9iuNpuAwtA0OGEVVR6LqmwKWVmGuNYLEdl5Uv4VYSdjNfCqTSJgwUn2ogLwnnz18MQcxf0x/pEBlL4RG5X3D9wncYLk9KFQxQ=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(346002)(366004)(376002)(136003)(9686003)(122000001)(38100700002)(26005)(7696005)(5660300002)(6506007)(66476007)(52536014)(33656002)(4744005)(478600001)(38070700005)(86362001)(8936002)(71200400001)(66446008)(41300700001)(64756008)(8676002)(83380400001)(76116006)(4326008)(2906002)(66946007)(66556008)(316002)(55016003)(54906003)(110136005)(186003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1730
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	925c780f-36e3-47db-4a22-08da800b5d2d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oGbos1TX0sJXPcAD5968BL5+XuJO4zn3lHOrB7KaxEdhUg7g7Sb7dO1qpasENMZNjjIjEkobd/PB0fGJpUzrY1mg/hfcB3ui4xRAb1EPpPynrWnL5ArFCLjYECj8x+46s8yJzMPHUKDWeorXqMU7tmrkWsHoXclVTsZxBiqs3rHYM/ZxTVPt6tg2ItN1s1Luo8eu8F29y44AMDd/IC7uvr5IgClscgTU1SQwvwWeANXmEDMz8h0fMRIzHgdeCPpAHMy/qybQU6bYGhImlPVvPtLLx6rjh9Mh2vyDlMQn3I/Ze7DiHPOgjmnNErAQqqyPpwOz50ItdCRm22ibCIJOsGO71cSk5oSlYk4QoACIyAhcZZTnpus4+ZuNJk2fzSX1ClvR22IBrytRzaoyF8fhRuDZGsPMnQw3nIpZDGyoHKLvkUDjXFnFwn9qMtw1Y7RpW0f3yf7V1/rPsZSk0C6bxw9c+KsjzwONpA0odb9A5eEtf43xTX5dXHnwRyddMZr6cvnlbxqQcPk+kjJEUWovcOXTneJp1zC5ablTRd+NvRsijZSPsLzpk04sa2uJ6UYsUdr/PZiTVEkb77BasCto8KiSR3n4vL+14ex00RYQ6Bg/n3WRPv/U1/Zhp4xNIF4eXSMN5HUazWmRWp4YMfR/70jSwE1DqPWHxwWpk0er9veFjt/RayYoP1hdJNe7jgcg9sSC3fHUCJJtTVYDjI0a/e8avxudk44Z7ljV6UUFCYaJXNOIJ/k9WeHML1BTxZg8Gb+IrUBnL+bj6xh3IPRdyiD2INSWKJ44lzuKWgMvjzVteTV1B6fyUZ6AZ38rWWEh
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(39860400002)(396003)(136003)(40470700004)(46966006)(36840700001)(8676002)(70586007)(70206006)(5660300002)(54906003)(316002)(4326008)(110136005)(82310400005)(40480700001)(55016003)(52536014)(82740400003)(36860700001)(4744005)(8936002)(81166007)(2906002)(356005)(40460700003)(9686003)(86362001)(41300700001)(6506007)(33656002)(26005)(478600001)(7696005)(83380400001)(186003)(47076005)(336012)(107886003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 04:46:07.0635
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a8d90dfc-6cc4-47ff-f26a-08da800b6610
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5093

Hi Julien,

> -----Original Message-----
> Subject: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Ar=
m
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> __ro_after_init was introduced recently to prevent modifying
> some variables after init.
>=20
> At the moment, on Arm, the variables will still be accessible
> because the region permission is not updated.
>=20
> Address that, but moving the sections .data.ro_after_init
> out of .data and then mark the region read-only once we finish
> to boot.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Tested-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 04:53:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 04:53:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388673.625398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOB3k-0001o5-9Z; Wed, 17 Aug 2022 04:53:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388673.625398; Wed, 17 Aug 2022 04:53:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOB3k-0001ny-6S; Wed, 17 Aug 2022 04:53:40 +0000
Received: by outflank-mailman (input) for mailman id 388673;
 Wed, 17 Aug 2022 04:53:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOB3j-0001no-3u; Wed, 17 Aug 2022 04:53:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOB3j-0005kF-27; Wed, 17 Aug 2022 04:53:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOB3i-0004c7-K5; Wed, 17 Aug 2022 04:53:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOB3i-00064x-Jf; Wed, 17 Aug 2022 04:53:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=i48p4ST6JzhKr/AM4dUyHGp0LRvG3Xzk57aTk84ddcs=; b=mMddRnyGQNEID/noXiP96IKSgC
	r+kBm8D0BdM7godYWfUpGSt2rlpL203yStkm5Am2vGIAe38TS40SY1s+6ElRnhYuRLj9CCgCDtv6f
	eq5Cv+7MVdkU1xRwApW04knpY/EbxP0v/RHdHdolLNvUeH9du/ftpO25jRHpeEWfAxeo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172586-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172586: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=3f282f451023234e16510516fbad20cd0ca04847
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 04:53:38 +0000

flight 172586 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172586/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 3f282f451023234e16510516fbad20cd0ca04847
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   12 days
Failing since        172151  2022-08-05 02:40:28 Z   12 days  107 attempts
Testing same since   172582  2022-08-16 22:43:35 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 720 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 05:17:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 05:17:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388684.625409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOBR9-0004bF-F8; Wed, 17 Aug 2022 05:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388684.625409; Wed, 17 Aug 2022 05:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOBR9-0004b8-Az; Wed, 17 Aug 2022 05:17:51 +0000
Received: by outflank-mailman (input) for mailman id 388684;
 Wed, 17 Aug 2022 05:17:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vp8f=YV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oOBR7-0004b2-KL
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 05:17:49 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eecef93d-1deb-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 07:17:48 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9A4021F932;
 Wed, 17 Aug 2022 05:17:47 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 508E713A8E;
 Wed, 17 Aug 2022 05:17:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 01YsEvt5/GInFgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 17 Aug 2022 05:17:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eecef93d-1deb-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660713467; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=9FIB9APHyvxcz6qG/MJTSvpExkiHlko1fC+3c1KxFWQ=;
	b=mVpsH3foPRGr4EE4woNjKiZGwf5ZGXLLJ2XLYkA3Tu5fhAhbN56fc8DIvr5rfTs/QvIAYd
	Eck+hNkRdQiT+zlfVJxhxBdeUmc/02ct/0QTUMz4LUdijPwsV451XxZdxuC1wu0Iz2rPbh
	77CVU0SXX4/lsYELEhac6EIRcEq2HK4=
Message-ID: <17a94dba-e5ba-3678-5376-4a236ec1fabe@suse.com>
Date: Wed, 17 Aug 2022 07:17:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, bertrand.marquis@arm.com,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org,
 jbeulich@suse.com, wl@xen.org, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop>
 <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
 <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>
 <db2ee8d6-a58a-20d1-bed6-72885cbd9268@suse.com>
 <alpine.DEB.2.22.394.2208161244170.3790@ubuntu-linux-20-04-desktop>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2208161244170.3790@ubuntu-linux-20-04-desktop>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ZFuBw4MUFiw7xAZLgXgWIG5d"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ZFuBw4MUFiw7xAZLgXgWIG5d
Content-Type: multipart/mixed; boundary="------------HQJFfy2k30yYI6LZaz7A9w8U";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, bertrand.marquis@arm.com,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org,
 jbeulich@suse.com, wl@xen.org, roger.pau@citrix.com
Message-ID: <17a94dba-e5ba-3678-5376-4a236ec1fabe@suse.com>
Subject: Re: [PATCH] add SPDX to arch/arm/*.c
References: <alpine.DEB.2.22.394.2208121758520.3790@ubuntu-linux-20-04-desktop>
 <a604ce43-2b3f-7ac3-36a1-913a66f036d2@xen.org>
 <alpine.DEB.2.22.394.2208151319370.3790@ubuntu-linux-20-04-desktop>
 <db2ee8d6-a58a-20d1-bed6-72885cbd9268@suse.com>
 <alpine.DEB.2.22.394.2208161244170.3790@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2208161244170.3790@ubuntu-linux-20-04-desktop>

--------------HQJFfy2k30yYI6LZaz7A9w8U
Content-Type: multipart/mixed; boundary="------------LbeLag3L2ymVrthKetEXdNxW"

--------------LbeLag3L2ymVrthKetEXdNxW
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDguMjIgMjE6NDksIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToNCj4gT24gVHVl
LCAxNiBBdWcgMjAyMiwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IE9uIDE1LjA4LjIyIDIy
OjMyLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+Pj4gKyBYZW4gbWFpbnRhaW5lcnMg
YW5kIGNvbW1pdHRlcnMNCj4+Pg0KPj4+DQo+Pj4gRm9yIGNvbnRleHQsIEkgd3JvdGUgYSBw
YXRjaCB0byBpbnRyb2R1Y2UgU1BEWCB0YWdzIHN0YXJ0aW5nIGZyb20NCj4+PiBhcmNoL2Fy
bS8qLmMuDQo+Pg0KPj4gRG9uJ3Qgd2Ugd2FudCBzb21ldGhpbmcgbGlrZSB0aGUga2VybmVs
J3MgTElDRU5TRVMgZGlyZWN0b3J5IGluIG9yZGVyIHRvDQo+PiBoYXZlIHNvbWV0aGluZyB0
aGUgU1BEWCBsaW5lcyByZWZlciB0bz8gQ09QWUlORyBzaG91bGQgbWF5YmUgYWRhcHRlZCwg
dG9vLg0KPiANCj4gSSBkb24ndCBrbm93IGlmIHdlIG5lZWQgdG8gZ28gYXMgZmFyIGFzIHRo
ZSBMSUNFTlNFUyBkaXJlY3RvcnkuIEZvcg0KPiBleGFtcGxlLCBaZXBoeXIgZG9lc24ndCBo
YXZlIGFueXRoaW5nIG9mIHRoZSBzb3J0IEFGQUlDVC4gQnV0IG1heWJlIGl0DQo+IGlzIGNs
ZWFuZXIgdG8gaGF2ZSBpdD8NCg0KSSB3b3VsZCB0aGluayBzby4NCg0KPiBGb3IgdGhlIGh5
cGVydmlzb3IsIEdQTC0yLjAgYW5kIEdQTC0yLjAtb3ItbGF0ZXIgYXJlIHRoZSBvbmVzIHRo
YXQgYXJlDQo+IHJlbGV2YW50IHNvIHdlIHdvdWxkIG9ubHkgbmVlZCBMSUNFTlNFUy9wcmVm
ZXJyZWQvR1BMLTIuMCBpbml0aWFsbHk/DQoNCkkgZG9uJ3QgdGhpbmsgd2UgcmVhbGx5IG5l
ZWQgdGhlICJwcmVmZXJyZWQiIGRpcmVjdG9yeSBsZXZlbC4NCg0KQW5kIEkgZG8gdGhpbmsg
dGhhdCBhdCBsZWFzdCBpbiB0aGUgaW5jbHVkZS9wdWJsaWMgZGlyZWN0b3J5IHdlIGhhdmUg
bWFueQ0KZmlsZXMgd2l0aCBNSVQgbGljZW5zZS4gVGhlcmUgbWlnaHQgYmUgQlNEIG9uZXMg
YXQgb3RoZXIgcGxhY2VzLCB0b28uDQoNCg0KSnVlcmdlbg0KDQo=
--------------LbeLag3L2ymVrthKetEXdNxW
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------LbeLag3L2ymVrthKetEXdNxW--

--------------HQJFfy2k30yYI6LZaz7A9w8U--

--------------ZFuBw4MUFiw7xAZLgXgWIG5d
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL8efoFAwAAAAAACgkQsN6d1ii/Ey8B
qAgAgvsb0iMwx7jaIVDmxCdW8TWE66/McEPK45x03AXWl3eE9Mv6wCzUxKDkBW341yoiWBT2oH4U
H2ZsqXmUD7FLw3+Zzuz6rbKJtNbYVhHERk4nYOxJGjcVqtG2nOejvbrbqNz6tsD01AcVjRgoeP9y
g9SFVDJdklGCcdPum2rmqLDnXso8nxaUj/0iCCopZlZlbCLS97SFjBcbrFq1ZyxMGnXTdfbUC/9/
X5KVlCvsqfUEupUrxTQTny9WRfhr/LLbushYrE0nYRPq1aUFZuclWl4jbvchVrr7NGcx5mr8MwBV
MKns1r7ctfMlzoZ9vGvPfu0hQqjw9r2STA4EbT4yhg==
=zGYa
-----END PGP SIGNATURE-----

--------------ZFuBw4MUFiw7xAZLgXgWIG5d--


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 05:19:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 05:19:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388692.625420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOBT7-0005CX-Qb; Wed, 17 Aug 2022 05:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388692.625420; Wed, 17 Aug 2022 05:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOBT7-0005CQ-Np; Wed, 17 Aug 2022 05:19:53 +0000
Received: by outflank-mailman (input) for mailman id 388692;
 Wed, 17 Aug 2022 05:19:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vp8f=YV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oOBT5-0005CK-R9
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 05:19:51 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37c56ab9-1dec-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 07:19:50 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 6AA8C1F96A;
 Wed, 17 Aug 2022 05:19:50 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DE96D13A8E;
 Wed, 17 Aug 2022 05:19:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id VwTnNHV6/GKwFgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 17 Aug 2022 05:19:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37c56ab9-1dec-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660713590; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=7Z5wEP8VAEzV6UkDlLBrrTabuWsVrs64COBmC0C+x6k=;
	b=s0SZzxjtkm7unaF27LIpLcMRv4jxiryu88AIwFM+taI3fa7iqNQrMpe19SXF2ubDrTbfIh
	YxuPAKcViMa+usrRBTHB3Png5Dpx22/NQAiQmuHHqEa3lJxWsinEmBDZUk03Xt81mBSFPU
	Dng8X38qG6cotjFGYXEbYKtDFxAywN8=
Message-ID: <bd52e275-fba1-b3cb-181a-bb1fdd45854f@suse.com>
Date: Wed, 17 Aug 2022 07:19:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] xen: x86: remove setting the obsolete config
 XEN_MAX_DOMAIN_MEMORY
Content-Language: en-US
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20220817044333.22310-1-lukas.bulwahn@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220817044333.22310-1-lukas.bulwahn@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0LGanhjDaE0CkL8duYwQD0lM"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0LGanhjDaE0CkL8duYwQD0lM
Content-Type: multipart/mixed; boundary="------------c7NZ2Jf1Y0QZ0QrKtSsixZQv";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Lukas Bulwahn <lukas.bulwahn@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <bd52e275-fba1-b3cb-181a-bb1fdd45854f@suse.com>
Subject: Re: [PATCH v2] xen: x86: remove setting the obsolete config
 XEN_MAX_DOMAIN_MEMORY
References: <20220817044333.22310-1-lukas.bulwahn@gmail.com>
In-Reply-To: <20220817044333.22310-1-lukas.bulwahn@gmail.com>

--------------c7NZ2Jf1Y0QZ0QrKtSsixZQv
Content-Type: multipart/mixed; boundary="------------N72J3N7vGWdAuOwcvDnwj6jl"

--------------N72J3N7vGWdAuOwcvDnwj6jl
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTcuMDguMjIgMDY6NDMsIEx1a2FzIEJ1bHdhaG4gd3JvdGU6DQo+IENvbW1pdCBjNzA3
MjdhNWJjMTggKCJ4ZW46IGFsbG93IG1vcmUgdGhhbiA1MTIgR0Igb2YgUkFNIGZvciA2NCBi
aXQNCj4gcHYtZG9tYWlucyIpIGZyb20gSnVseSAyMDE1IHJlcGxhY2VzIHRoZSBjb25maWcg
WEVOX01BWF9ET01BSU5fTUVNT1JZIHdpdGgNCj4gYSBuZXcgY29uZmlnIFhFTl81MTJHQiwg
YnV0IG1pc3NlcyB0byBhZGp1c3QgYXJjaC94ODYvY29uZmlncy94ZW4uY29uZmlnLg0KPiBB
cyBYRU5fNTEyR0IgZGVmYXVsdHMgdG8geWVzLCB0aGVyZSBpcyBubyBuZWVkIHRvIGV4cGxp
Y2l0bHkgc2V0IGFueSBjb25maWcNCj4gaW4geGVuLmNvbmZpZy4NCj4gDQo+IEp1c3QgcmVt
b3ZlIHNldHRpbmcgdGhlIG9ic29sZXRlIGNvbmZpZyBYRU5fTUFYX0RPTUFJTl9NRU1PUlku
DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhuQGdt
YWlsLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNv
bT4NCg0KDQpKdWVyZ2VuDQo=
--------------N72J3N7vGWdAuOwcvDnwj6jl
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------N72J3N7vGWdAuOwcvDnwj6jl--

--------------c7NZ2Jf1Y0QZ0QrKtSsixZQv--

--------------0LGanhjDaE0CkL8duYwQD0lM
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL8enUFAwAAAAAACgkQsN6d1ii/Ey8J
6gf/eEtaWTzI/xL+owp0LYE/5a9sWiFeaHDKgyWvH+rGCeToo9sRUl3mZFSbtt/XCkWxb67VjGxo
BPJwGFldfypg0l9nR4EmK3QZ9yP9IgeXiu/YumAkmYMWduCYLP3RLDNkMCQX+oxqujsNQUtzol0b
jcz2ojiilLQyeX/hDea7Hv6LF2/fhAYkZkIE2JH+T6gQWBiRA3/RRviEyzBadKHGwlr8XUQzGe42
Qsw5ZEOo/xrDM3hBVWtjHDNhTpEFrdQ2s/l8F0EY3Seb5hbetO0G6SmXdX+qqLtodEML1Rhoc1dD
bsIepGO24FLZAAFsvQiMv0VllAFrTC6/dQ12Xd7ksg==
=OYRZ
-----END PGP SIGNATURE-----

--------------0LGanhjDaE0CkL8duYwQD0lM--


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 06:34:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 06:34:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388702.625437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOCcp-0004Ym-Ao; Wed, 17 Aug 2022 06:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388702.625437; Wed, 17 Aug 2022 06:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOCcp-0004Yf-82; Wed, 17 Aug 2022 06:33:59 +0000
Received: by outflank-mailman (input) for mailman id 388702;
 Wed, 17 Aug 2022 06:33:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fSVa=YV=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oOCcn-0004YZ-Jy
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 06:33:58 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2041.outbound.protection.outlook.com [40.107.20.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9079349c-1df6-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 08:33:54 +0200 (CEST)
Received: from AM5PR0701CA0051.eurprd07.prod.outlook.com (2603:10a6:203:2::13)
 by HE1PR0801MB1836.eurprd08.prod.outlook.com (2603:10a6:3:89::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 17 Aug
 2022 06:33:51 +0000
Received: from VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:2:cafe::c6) by AM5PR0701CA0051.outlook.office365.com
 (2603:10a6:203:2::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.15 via Frontend
 Transport; Wed, 17 Aug 2022 06:33:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT040.mail.protection.outlook.com (10.152.18.210) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Wed, 17 Aug 2022 06:33:50 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Wed, 17 Aug 2022 06:33:49 +0000
Received: from b817348e4be6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B5A0B673-F819-4130-A626-14BEB96F0C38.1; 
 Wed, 17 Aug 2022 06:33:39 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b817348e4be6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 17 Aug 2022 06:33:39 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com (2603:10a6:10:2e4::7)
 by DB8PR08MB4969.eurprd08.prod.outlook.com (2603:10a6:10:e1::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Wed, 17 Aug
 2022 06:33:36 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518]) by DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::80f6:a08f:6f28:6518%8]) with mapi id 15.20.5504.028; Wed, 17 Aug 2022
 06:33:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9079349c-1df6-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=i+daGOeFbT/BIR5qu92sBiR+s0gVJvGFwiAoNzi69W6XYGgdd0Qs85LaVzktgDWNWCE8FP8Os3VoBuIJvsFnMv9s/6j+XVQZni2ovESazo+r9je6Ysw6cZehN2oe1rBHuYsvtOQrGZQNmBu8Jns1zM2VKEmBaJ6hO/nK2wWqefzawBJplZisVKg1525ylEDIOLnYGEXuWx/Kz4kg2mpAeJguy2Ok543rpjniXgRxoWRdYgtdAmbaStw6alIOGahXAk5z+7GXQnP7sJ8fr+SnKsPD+Fn2pqe3F/G5swQfOB9M5Udip5XAVlHpV+vz0ATBot3lf5PTdkMa598Li2QC+w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hX4NiNgz/35k5Kn33h5cyAgjRGD3jbW93N2mxUJwnVk=;
 b=G1Dzyoor/Jb3EEuwEvW8hZbjVa2Sw+SDirYx83G/+WhGR37Dm+ju8uMiTN/+ZK9FTeimX1EwzX7AFUQaXko94TuG09d/3OxL8ReejUq1uTGOT4ACwvqEMaFL47n8bu441s79e/W6MPnoqRnlmvx6PCnJ6d5ktyKhH3Z10YGzBiYTZzFLjUaopVsKqxWXtCrcZ+5WoUHwaHtRbC87JiC32mc8YFmdcsCz6GJmVSLfrGXmyXxCaNMRCajMXC0AeOK+UENrOKwmvi7H15Oxr86BTcZxJNVSLO+miAqjy4mFFjuO+CyNHIqGus7v39aVJmqlKV828+6abuffsWIGmDNdsA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hX4NiNgz/35k5Kn33h5cyAgjRGD3jbW93N2mxUJwnVk=;
 b=UTeH2a5yQgxd/gncxjbOxpA1KycbiFjMP767BBGjWtLIMZB1GXcsnKRayQ/hudqyLUybf8ZZjuLPKYGNRSbaiOHqj8kQVSVgOfLBgpCDaHDomCaO93qGQ+T9y5CtjKOlLYTDoMsRkp8aLE5obRUbfYA2C3KxDE8btReTBWftUYM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MMIslOvgbxeZMLvP2cyMfXub3ix++DJlDLuXYYpWzk+osqjHyoTo/JyxvwCvhNK5sfudFYEPLm0ko4VualrFXNGlIYYfILZYLnRcUjNRhek8L/7mzSGYFeiNN6RleDp7ZGQT2nnDgSMl4bTmL1aKpeSIjtUXuOw8idOs0t9FSdrnRTpuSyh+GkZwdYK0wdZrdk3S84sEoqSGEsKmc+JyO+E+s2whjbYzRHKBqS5yjpAIH6AmRnQGDbKlABPLKaQwUhYKDcwduwOGK3ONQhpTlCMiu2cSWp3KuhBJEqPBwskKaT8OSqqCkPz1jie6jucCouHm/DOmbN+HqBrp8onHZw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hX4NiNgz/35k5Kn33h5cyAgjRGD3jbW93N2mxUJwnVk=;
 b=YDpZouQkN6i5bhOBvlzvMyZGfUIUaCp0ZumYERLS/BPgEuIsooJHx90vvFO7LvhcJZsGZZmxWQdZrvpdM2USEQ3cPhsGbJ+mO0nnc80HPO35YcIAGMHThlW/cINGiNZ7z3+Z9u/enOv1nslLT2+OKmquf6NFRQByJhXNnNKMMqFdOsPli/QKqaXvSxVJ7TsF2E1tj4+uAf8VM0EH+ys6ctbnyNBMgV+fuLBRyqb0qU/BT8l65H6aY6gD4W626JW1561nyYbRnTTy2pPLnEg4dTAnWCqASnjOJCE4aZe8g8yXKczooXX+VBvN3ng/MmNloG7Y7gcwrSWoSjReGGhALw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hX4NiNgz/35k5Kn33h5cyAgjRGD3jbW93N2mxUJwnVk=;
 b=UTeH2a5yQgxd/gncxjbOxpA1KycbiFjMP767BBGjWtLIMZB1GXcsnKRayQ/hudqyLUybf8ZZjuLPKYGNRSbaiOHqj8kQVSVgOfLBgpCDaHDomCaO93qGQ+T9y5CtjKOlLYTDoMsRkp8aLE5obRUbfYA2C3KxDE8btReTBWftUYM=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
Thread-Topic: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on
 Arm
Thread-Index: AQHYsaJ0xhlVHJdhd0SDwNAPSJC5Za2yoEsQ
Date: Wed, 17 Aug 2022 06:33:36 +0000
Message-ID:
 <DU2PR08MB7325F0A3D69B1CECC9896704F76A9@DU2PR08MB7325.eurprd08.prod.outlook.com>
References: <20220816185954.31945-1-julien@xen.org>
In-Reply-To: <20220816185954.31945-1-julien@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 81D34571BA5F8B4DBDB94E034C092CBD.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8383c829-ccee-4d1e-3023-08da801a725b
x-ms-traffictypediagnostic:
	DB8PR08MB4969:EE_|VE1EUR03FT040:EE_|HE1PR0801MB1836:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 egSosROYD5fhKq1K/tK342mtQu8hAqqFUcD/pJ6vUNdWeBaxbDqpKuGAlztNgi9K8/Rlf3MvxSbbcf8/VSmUP/Vd/P4oZXl+oRpAO/H0Tox54qpQ6FIo3N4hnR7i6c0zskiolK/t1GUrnfORYzm2kbx5CjEtMkdI8/YU+dOzwwUewf1p7CRyAJQxlzN9hRcl5TnYtPr/hk5r6EjSIHcmqzcWG1jeaVPPgd7twshIKUOEXuHfkVLSA1kt9zQTORR3vLqUQaKG1LCL3a14pBCdCwNh54ZBjVN+XBLYI/IttIS6UlgnetWKMAxnmsEVRRxBxS2KxwdHVTfKOGDINMFj48LENvdDHS/G/to3O5HcIUHne7E4OssN5lAjlgOLVfSRuOBJ/YySwQd/yBEJSvzemYmkLiiXHnwHJxRoOZTSo0xBF4K3cIMU/nCzcv/QW1RNow/wYa2MQPBB2elY4qHX4UENMmf+KRrj9TcGBZ7Ask0DnqP+Kswso11Kxp+wcSFOS3+YQ4Os7n5bR3tB17hjVPo4BSD3n0ghCdejnTJdNfJHRY2R6kgaQGIfCsxzKFHmt6YxfJ7IM1uqOgyzl4WkKQDeRRg1IW8bM6MONEnucOUv/NPu3btZl5F21vgcxa6gUqlxFW5v+PaZ3LvacH/R55gw1NfIzErNCLQCLJ2mCbgBJJ9Ek/2uvlAdiCrnJhnF4VSBtEqdcikwCJLm3joYsK72drQix1wSFSkA2IINSY180xR6BHwCZjB80G22e7AbEzalQJgW/n2hoRf0GPvN2nesRBgChqFK1ytLRNgq89z18CFMOr+/UTYJlZ6dtBEr
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(396003)(136003)(366004)(346002)(122000001)(83380400001)(38070700005)(86362001)(76116006)(54906003)(4326008)(66476007)(66946007)(66446008)(64756008)(8676002)(38100700002)(66556008)(52536014)(5660300002)(316002)(8936002)(2906002)(110136005)(7696005)(6506007)(26005)(9686003)(53546011)(186003)(71200400001)(478600001)(55016003)(41300700001)(33656002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4969
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5535909e-5bf3-4f8c-8f66-08da801a6a12
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ApID+NrsWvhkza1xjeHjy7+2mpiOv0OXO08CCNvkamchDGU1oqHqFdFtHg5iQtkXVj7w6JYFAsBFjkmHoEptvSxWb/mTrL1H+oG5SRK3AF4vMIrtugAKLOw80cF/BXSw+dFL6gBZwDxbifmoiONISftrL1jFHWWuoJLdu9CTejxMtdMmnDu80dxKwOys3+uhf9//SI3migFbNDu18pqvPm3LKxhAx7ogXLVRZmRgb9sorLMZs8tbEyItSduXn92myAr/TsoV/wJCIsjaVyJmHrDW9SdnAngUxckv4goVFGHdtoOfu2kleeoq/x24xHV1Jbr5diajFsgj+ZLyo1ALOXfapQhNILAsMeAMm2p6gigqcdiR7HZehQVE8q2/eNk2vAefbxsR8U338ELl8OvimdOCsN2Xs7rApJwbFfPtZBvh8BNlHsFrb2qXnBXQZzIiU1X0OWX5uXsuzgStsdPd/xTc+kY429kYvYQmzbvHKkb3GkDDA0L3qtofP5mOqgYQZiDDwKeFmQzoVypiIxCNPtkSkZg3fwvgxJLSNYxVCnU6wK5EjLu8MRf2Tua2s5kmqIeBrHf0g0MJ8rA6cYHhikxI+ksj50DhQenU0L7GG1BPaVhshBSSBSySV0OPE/4dTwkXe7Wv5/pn9YK3+zO0HC5gLFEn9bB05beFkPmAXbmPagQm/HjVndzS73TfIw27AUihaej/nBuGd5momv8teORbnztoj3RtdYmAm0EqwknGXO0g/ywBYyP8/jvfRUtjoaNPEHamqlktIK/Ms1PKsvM0Kn+ptjnSUkcYBsaL+UXciy78jgqbU30OACH3RE1m
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(396003)(376002)(46966006)(40470700004)(36840700001)(83380400001)(7696005)(26005)(336012)(40460700003)(53546011)(33656002)(47076005)(6506007)(82310400005)(5660300002)(9686003)(186003)(107886003)(41300700001)(52536014)(40480700001)(55016003)(316002)(478600001)(2906002)(4326008)(86362001)(110136005)(8676002)(70206006)(82740400003)(70586007)(8936002)(36860700001)(54906003)(81166007)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 06:33:50.1252
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8383c829-ccee-4d1e-3023-08da801a725b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1836

Hi Julien

> -----Original Message-----
> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
> Julien Grall
> Sent: Wednesday, August 17, 2022 3:00 AM
> To: xen-devel@lists.xenproject.org
> Cc: julien@xen.org; Julien Grall <jgrall@amazon.com>; Stefano Stabellini
> <sstabellini@kernel.org>; Bertrand Marquis <Bertrand.Marquis@arm.com>;
> Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> Subject: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Ar=
m
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> __ro_after_init was introduced recently to prevent modifying some variabl=
es
> after init.
>=20
> At the moment, on Arm, the variables will still be accessible because the
> region permission is not updated.
>=20
> Address that, but moving the sections .data.ro_after_init out of .data an=
d
> then mark the region read-only once we finish to boot.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
>=20

Reviewed-by: Penny Zheng <penny.zheng@arm.com>

> ---
>=20
> This patch is targeting Xen 4.17. There are quite a few arm specific vari=
ables
> that could be switch to use __ro_after_init.
>=20
> This is not addressed by the commit. We could consider to switch some of
> them for Xen 4.17. So the benefits for now is any common variables using
> __ro_after_init.
> ---
>  xen/arch/arm/include/asm/setup.h |  2 ++
>  xen/arch/arm/setup.c             | 14 ++++++++++++++
>  xen/arch/arm/xen.lds.S           |  7 +++++++
>  3 files changed, 23 insertions(+)
>=20
> diff --git a/xen/arch/arm/include/asm/setup.h
> b/xen/arch/arm/include/asm/setup.h
> index 2bb01ecfa88f..5815ccf8c5cc 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -137,6 +137,8 @@ u32 device_tree_get_u32(const void *fdt, int node,
> int map_range_to_domain(const struct dt_device_node *dev,
>                          u64 addr, u64 len, void *data);
>=20
> +extern const char __ro_after_init_start[], __ro_after_init_end[];
> +
>  #endif
>  /*
>   * Local variables:
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index
> 500307edc08d..5bde321b9d07 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -75,10 +75,24 @@ domid_t __read_mostly max_init_domid;
>=20
>  static __used void init_done(void)
>  {
> +    int rc;
> +
>      /* Must be done past setting system_state. */
>      unregister_init_virtual_region();
>=20
>      free_init_memory();
> +
> +    /*
> +     * We have finished to boot. Mark the section .data.ro_after_init
> +     * read-only.
> +     */

Nit: Maybe it is finish + doing, could be wrong, feel free to change or not=
~~
=20
> +    rc =3D modify_xen_mappings((unsigned long)&__ro_after_init_start,
> +                             (unsigned long)&__ro_after_init_end,
> +                             PAGE_HYPERVISOR_RO);
> +    if ( rc )
> +        panic("Unable to mark the .data.ro_after_init section read-only =
(rc
> =3D %d)\n",
> +              rc);
> +
>      startup_cpu_idle_loop();
>  }
>=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 07:19:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 07:19:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388711.625448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oODKT-0000Si-TU; Wed, 17 Aug 2022 07:19:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388711.625448; Wed, 17 Aug 2022 07:19:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oODKT-0000Sb-PT; Wed, 17 Aug 2022 07:19:05 +0000
Received: by outflank-mailman (input) for mailman id 388711;
 Wed, 17 Aug 2022 07:19:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oODKS-0000SR-Nz; Wed, 17 Aug 2022 07:19:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oODKS-00009n-Ji; Wed, 17 Aug 2022 07:19:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oODKS-00067D-AC; Wed, 17 Aug 2022 07:19:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oODKS-0002Ke-9m; Wed, 17 Aug 2022 07:19:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=d8lAr0qXRapobIvWI61sifSe+JykIz7IqaciQ/+JIPU=; b=HsZhcZiEQhd+IPXlLZArOVTdLn
	5gXXIwA8olooqC0izTct8/2nxa8nFYk/onj6YrOWlsIxdeSWd+f/Wk8/8lfoBOidTfIfXiVrxAD9u
	C8K9eoBH6mUSITYmul/W3h1TSRK56cEknOFwaKeHWPtzYu3XSNYIU8+Ya0YArnL7fd1E=;
To: xen-devel@lists.xenproject.org
Subject: [linux-5.4 bisection] complete build-armhf-libvirt
Message-Id: <E1oODKS-0002Ke-9m@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 07:19:04 +0000

branch xen-unstable
xenbranch xen-unstable
job build-armhf-libvirt
testid libvirt-build

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172593/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-5.4/build-armhf-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/linux-5.4/build-armhf-libvirt.libvirt-build --summary-out=tmp/172593.bisection-summary --basis-template=172128 --blessings=real,real-bisect,real-retry linux-5.4 build-armhf-libvirt libvirt-build
Searching for failure / basis pass:
 172578 fail [host=cubietruck-braque] / 172128 [host=cubietruck-gleizes] 172108 ok.
Failure / basis pass flights: 172578 / 172108
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 646589ac148a2ff6bb222a6081b4d7b13ee468c0
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/osstest/ovmf.git#0dc9b78a46813d61533b2bb0f7ef897a06a273be-444260d45ec2a84e8f8c192b3539a3cd5591d009 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746\
 458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/osstest/seabios.git#46de2eec93bffa0706e6229c0da2919763c8eb04-46de2eec93bffa0706e6229c0da2919763c8eb04 git://xenbits.xen.org/xen.git#f732240fd3bac25116151db5ddeb7203b62e85ce-646589ac148a2ff6bb222a6081b4d7b13ee468c0
Loaded 10001 nodes in revision graph
Searching for test results:
 172108 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172128 [host=cubietruck-gleizes]
 172384 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 e83cd54611fec5b7a539fa1281a14319143490e6
 172398 [host=cubietruck-gleizes]
 172422 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 d7c3c845c44e097d6c980001e108da0bb84ed16f
 172476 [host=cubietruck-picasso]
 172493 [host=cubietruck-picasso]
 172496 [host=cubietruck-picasso]
 172489 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 3dc26edbb5417d90d32df6aa70d7c4187dd9966e
 172499 [host=cubietruck-picasso]
 172504 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172508 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 3dc26edbb5417d90d32df6aa70d7c4187dd9966e
 172511 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 2f2b76d47c5bcd9323a2acac8ba365013af34141
 172503 [host=cubietruck-gleizes]
 172513 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 6dc9a1fe982f52c709ed03df8fdc6d58c4d96826
 172517 [host=cubietruck-gleizes]
 172520 [host=cubietruck-gleizes]
 172516 [host=cubietruck-gleizes]
 172522 [host=cubietruck-gleizes]
 172526 [host=cubietruck-gleizes]
 172528 [host=cubietruck-gleizes]
 172524 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 3dc26edbb5417d90d32df6aa70d7c4187dd9966e
 172534 [host=cubietruck-gleizes]
 172539 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 3629759626ac7201a670a8a2d4d4a536e7443575
 172541 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 ca45d3cb4586372909f350e54482246f994e1bc7
 172545 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172551 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172553 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
 172538 [host=cubietruck-picasso]
 172555 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
 172558 [host=cubietruck-picasso]
 172559 [host=cubietruck-picasso]
 172561 [host=cubietruck-picasso]
 172566 [host=cubietruck-picasso]
 172572 [host=cubietruck-picasso]
 172556 [host=cubietruck-picasso]
 172577 [host=cubietruck-picasso]
 172580 [host=cubietruck-picasso]
 172583 [host=cubietruck-picasso]
 172584 [host=cubietruck-picasso]
 172578 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 444260d45ec2a84e8f8c192b3539a3cd5591d009 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 646589ac148a2ff6bb222a6081b4d7b13ee468c0
 172589 [host=cubietruck-picasso]
 172593 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
Searching for interesting versions
 Result found: flight 172108 (pass), for basis pass
 For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce, results HASH(0x5645e847d1f0) HASH(0x5645e848aef0) HASH(0x5645e84a4d38) HASH(0x5645e847ad40) Result found: flight 172384 (fail), for basis failure (at ancestor ~5443)
 Repro found: flight 172504 (pass), for basis pass
 Repro found: flight 172578 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd 0dc9b78a46813d61533b2bb0f7ef897a06a273be b746458e1ce1bec85e58b458386f8b7a0bedfaa6 46de2eec93bffa0706e6229c0da2919763c8eb04 f732240fd3bac25116151db5ddeb7203b62e85ce
No revisions left to test, checking graph state.
 Result found: flight 172108 (pass), for last pass
 Result found: flight 172545 (fail), for first failure
 Repro found: flight 172551 (pass), for last pass
 Repro found: flight 172553 (fail), for first failure
 Repro found: flight 172555 (pass), for last pass
 Repro found: flight 172593 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/172593/


  commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
  Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Date:   Fri Jul 15 22:20:24 2022 +0300
  
      libxl: Add support for Virtio disk configuration
      
      This patch adds basic support for configuring and assisting virtio-mmio
      based virtio-disk backend (emulator) which is intended to run out of
      Qemu and could be run in any domain.
      Although the Virtio block device is quite different from traditional
      Xen PV block device (vbd) from the toolstack's point of view:
       - as the frontend is virtio-blk which is not a Xenbus driver, nothing
         written to Xenstore are fetched by the frontend currently ("vdev"
         is not passed to the frontend). But this might need to be revised
         in future, so frontend data might be written to Xenstore in order to
         support hotplugging virtio devices or passing the backend domain id
         on arch where the device-tree is not available.
       - the ring-ref/event-channel are not used for the backend<->frontend
         communication, the proposed IPC for Virtio is IOREQ/DM
      it is still a "block device" and ought to be integrated in existing
      "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
      logic to deal with Virtio devices as well.
      
      For the immediate purpose and an ability to extend that support for
      other use-cases in future (Qemu, virtio-pci, etc) perform the following
      actions:
      - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and reflect
        that in the configuration
      - Introduce new disk "specification" and "transport" fields to struct
        libxl_device_disk. Both are written to the Xenstore. The transport
        field is only used for the specification "virtio" and it assumes
        only "mmio" value for now.
      - Introduce new "specification" option with "xen" communication
        protocol being default value.
      - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
        one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
      
      An example of domain configuration for Virtio disk:
      disk = [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=standalone, specification=virtio']
      
      Nothing has changed for default Xen disk configuration.
      
      Please note, this patch is not enough for virtio-disk to work
      on Xen (Arm), as for every Virtio device (including disk) we need
      to allocate Virtio MMIO params (IRQ and memory region) and pass
      them to the backend, also update Guest device-tree. The subsequent
      patch will add these missing bits. For the current patch,
      the default "irq" and "base" are just written to the Xenstore.
      This is not an ideal splitting, but this way we avoid breaking
      the bisectability.
      
      Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Acked-by: George Dunlap <george.dunlap@citrix.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>

Revision graph left in /home/logs/results/bisect/linux-5.4/build-armhf-libvirt.libvirt-build.{dot,ps,png,html,svg}.
----------------------------------------
172593: tolerable ALL FAIL

flight 172593 linux-5.4 real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/172593/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build           fail baseline untested


jobs:
 build-armhf-libvirt                                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 08:27:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 08:27:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388728.625465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOEOr-0007r8-HT; Wed, 17 Aug 2022 08:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388728.625465; Wed, 17 Aug 2022 08:27:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOEOr-0007r1-Dr; Wed, 17 Aug 2022 08:27:41 +0000
Received: by outflank-mailman (input) for mailman id 388728;
 Wed, 17 Aug 2022 08:27:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7CYW=YV=arm.com=Jiamei.Xie@srs-se1.protection.inumbo.net>)
 id 1oOEOp-0007qc-N1
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 08:27:40 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2043.outbound.protection.outlook.com [40.107.105.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 718b2011-1e06-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 10:27:34 +0200 (CEST)
Received: from AM6P195CA0042.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:87::19)
 by HE1PR0801MB1851.eurprd08.prod.outlook.com (2603:10a6:3:7b::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19; Wed, 17 Aug
 2022 08:27:29 +0000
Received: from VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:87:cafe::3f) by AM6P195CA0042.outlook.office365.com
 (2603:10a6:209:87::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11 via Frontend
 Transport; Wed, 17 Aug 2022 08:27:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT034.mail.protection.outlook.com (10.152.18.85) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Wed, 17 Aug 2022 08:27:28 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Wed, 17 Aug 2022 08:27:28 +0000
Received: from 9961e9b6a7c7.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5E74FFF0-8705-471C-867C-795C431B41A9.1; 
 Wed, 17 Aug 2022 08:27:20 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9961e9b6a7c7.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 17 Aug 2022 08:27:20 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com (2603:10a6:20b:523::11)
 by DB6PR0801MB2071.eurprd08.prod.outlook.com (2603:10a6:4:78::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Wed, 17 Aug
 2022 08:27:12 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::48c7:a78d:1802:5c35]) by AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::48c7:a78d:1802:5c35%5]) with mapi id 15.20.5525.019; Wed, 17 Aug 2022
 08:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 718b2011-1e06-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=OvyM3xtkeq8WnS7meyI/EkOn/nuveh2n3GRkqpluwvhKTnCUq5Rn5iqCcOEiTf+U2WWwkrepOE7h6qYK/H++LdpxrIkCMGis6FS1nRnKPFuw/lXdXaRGD58oBcNu4LBiqv3YIAEycbEQ21HRjw4yfRsqFag/Q6ItG4QvpooL/44TavK+lG/KkSBHt4ssbabTq8hF7CCBUc20Mq8YU6sANTcJ8b1VtZXphSgcrvR+w0LyFfYRTE0FLcnZ+9e5e3nM6Y5+/RXbj643YpJO5ahx6z2HiLOI4Jz5/IZAd/8vL/wOBcGVc7+sN+JF+qGUj0yCwNeH/RKWnHYGBM9Qhs9eRA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fz9I/D5ZchjRGdxGZGXG7aj7JeOqaIHICI92cvSowj8=;
 b=Y6KTYg0OjRPQ83F7qzckxFvdg+6TX+/4N3qAusat8a9h/nnw80zCxVvi694dc+W8Y/Zed2J2mIG2nazv+qHDZg6G5VrRN4BKwRTk+M77Fy9bBZU1CBh1/RdB/DDUFEZLPzky94Nm0HlrxuPooTpG+oDCRE9aq/vzEHXyR04/c7BmMFGrDli0glS/mBPPDQ9GwJ7IMLg6YqejrglIYAuP9k3CM9R8FguOpGVgSH4RYQ2+u2XHCZ6crn1w4J80dtjqtIqi8H0c8FqSBEW7CCxj4GQkZr9Dbq0VM+yqWB6zsw+CLI+0uyOSH24raAjuZDAStWqj51Okq2NH00mySSCbkQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fz9I/D5ZchjRGdxGZGXG7aj7JeOqaIHICI92cvSowj8=;
 b=uU8TM8kZ2DmcEJ4XObqFPrlKuozFm8+tFErEsfPS0gz10wEG38HiiobP3CWdw0xwcIxYuea5Pc5vuxYk8s0kENZO5JrJGPM7paSVC0S+wevbMYwQoMiAZTXlYPXqa5aV79e0rifv2Wz7y88l+NzsH69bNEMstGcVPh24L+JvrCU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jkTl1EswSOt9pnpcTKDbi/GotrY4m0kR2NTFvvINVWPWB5OEgdmn/yOXo5CK25bpjmhl+ehSWmmkVzE5feMDPGjlvWOJDW8jbO2vNiPJzk00ZNHeygrRvNvCibh//WgEtO3ajRNVLZybz3+Wo1uQU3VtdyMgR+8oloZErusZby9MvkbI+erjsgvodm1EAGnMIFtrUv/NtnYpku7DJiFvU5WHJJUI2U4R6Ht2VqD69RBJyCC35TgvGe2MOyANIPoYK14oLWNlpIJwMqWb+jjssJyoUkIDKZMxyWJ7dhPJCqXqSe/xTeentmxaJUb9a7nTSlZdeN7ke5KwaZJys8RlGA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fz9I/D5ZchjRGdxGZGXG7aj7JeOqaIHICI92cvSowj8=;
 b=KKB9Uo9mQ5pC0hSCO3YSvEc5vzZ+PmfFIobLyAcbaAA5MFpJhLFY/9ywj9qlANLScm556YGpw21bT8nhTCpV+73LECF7UxAVg8UpcIAs2kaev+cnxY7cAvqyMNGH/lXUdiLirNpCcTSncBWnqB8vPhj1P8ApPHwKEMeEGsLzWadPGZTLgd2Ox8hdaSLmwijAB74y7+VhQZbgjqNoEy3TgoS51gmlOATKk1kvqVSmlKdQhHWY7HMh7IUSKWzyap50eEttBa+FGjJ700VrFlHg/FOCtcBTvD84ZkysZ1jq6dJk+cVbOHoFhzVOiHKgvXC5BJNdzHjFRYNJQ5/wCa47FQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fz9I/D5ZchjRGdxGZGXG7aj7JeOqaIHICI92cvSowj8=;
 b=uU8TM8kZ2DmcEJ4XObqFPrlKuozFm8+tFErEsfPS0gz10wEG38HiiobP3CWdw0xwcIxYuea5Pc5vuxYk8s0kENZO5JrJGPM7paSVC0S+wevbMYwQoMiAZTXlYPXqa5aV79e0rifv2Wz7y88l+NzsH69bNEMstGcVPh24L+JvrCU=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Jiamei Xie <Jiamei.Xie@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Juergen
 Gross <jgross@suse.com>
Subject: RE: [PATCH 01/16] libxl: Add support for Virtio disk configuration
Thread-Topic: [PATCH 01/16] libxl: Add support for Virtio disk configuration
Thread-Index: AQHYsd4YRGx5AOUecEmozY/PfDLmxK2ywlFQ
Date: Wed, 17 Aug 2022 08:27:12 +0000
Message-ID:
 <AS8PR08MB7696ACA4CFB5FCFF3FCCC64E926A9@AS8PR08MB7696.eurprd08.prod.outlook.com>
References: <20220817020701.27379-1-jiamei.xie@arm.com>
In-Reply-To: <20220817020701.27379-1-jiamei.xie@arm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: ABE29874C847904980750C26A3BFBC4F.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 23d32540-629a-4f35-5037-08da802a52a2
x-ms-traffictypediagnostic:
	DB6PR0801MB2071:EE_|VE1EUR03FT034:EE_|HE1PR0801MB1851:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 PRCP4dKbiMj/7CEKZ9yUCtigoZNZFs9l6Q9u2n8iWI9anc4D94ldLYvTjN/LdmqY6E5Hb3vlxLdEclhhvHUYutteGXA5V4VMt1gtqy9+qGDqh1dCSN0hcud8zmtLqFJ6V7tdECl8NJeSPQn4/Kb1nqpKPIhb9/MP+FO9hyaeoGtoo5OPJO2zmVW7JTaC9HIle2PSwxOJgY3TceaR7cD36R/mNixVwRhM3envkVOjwcW7BGWusHZAYif3DP7E6nC04VFMNGAFkPwvUB3jMQpzLPnEH4wUdwCI5JbMIqVh2AVc39hOfcGkaRjGxKiekzcikQh7V2YbzO+BonITkMSk4Ky5tPh1/ROiU2+J5EIn/QAAmM/gkGIv1sMPIuxTK9x7cOtu6rBekkzWVA1Z5K/T8C6SOh2aM6GHmQARY02nTktf8rWmsxu27EqZYD9whjdRh1nRdYBV7mtT0TtYPCQSeQurj8xZXNaiS1Q0THZkfv/zfhv/sg25eyfLwHKkQAdwuVE5cpO+8sjOFXmmIpQj+sErClcE2hSAYVS/iwfLfMAqYHFjWPsG1pFqssi6O1rVLuNDr7SC2GHwr2EO55nt3xOnRMZDg7/WEcZTpEYIgeVApqyCi/yw4SGa9xJncewMag9vF8usRdPEi0IqKaA8dzcNucaB+sexofKRTjOXuGy6goS27UAK7xHGUSE8EisTHQRFGjHWYq/D2NVwe745aVXD+7TMtW+NRdFDN9GI4C7nujUoWLA6xa0CUYqXeHRZRpQcACT3nWK3WCNsMZ3Hz2Qn1mh4hB9gBXPvKTsi/Bdt+aIjZH4vTAukleQaaNDM
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7696.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(366004)(346002)(396003)(39860400002)(136003)(122000001)(86362001)(38070700005)(38100700002)(8676002)(4326008)(66476007)(76116006)(66946007)(110136005)(66556008)(66446008)(54906003)(316002)(64756008)(2906002)(5660300002)(8936002)(30864003)(52536014)(53546011)(186003)(83380400001)(9686003)(478600001)(71200400001)(55016003)(7696005)(6506007)(26005)(41300700001)(33656002)(579004)(559001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2071
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a5ad2e88-3377-4fbf-da21-08da802a48f1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mW0Cws2fC051huoqOivmoF8nget/DuMaPk7N5J3veK0uJKMR9NycUtOEQLruro8SQQ/Ra5MyFo3Rk6xBtR1wip2QPylrWEzLKnV18I0frpp3dBulxOuECQwOX9Jw/wp56psmEva4xEIYEUNW9lpIbivQj4YoxLtYtr4ZT9gtK6+kkrqflnvjBgmQxIelYdbsgxanEYgQ3Ry+MW+qydr6d7sQ4D5Sh5GgvtF1Adwmd6WO2SEvTlb0vrEh/rfaF3Ucf3sZqen1Nlqm5kd4U0vKNuasSf8vxNs4heYQ1ACGoC+ZRBZ4HlY8mJ5epdNcZTN2L7zdXTmX7PJEJILddbfRClnMgumCD7YSRbjkGW/oH/Z8SkxE+3jNfOki2iASNNFgKxyvMD/zeHyu4F7vHMk1dDAE0bi7hfCqV5O48MP1jNk2tjnVZt6OFlrPvkBHhSj1GzTDvMYJMhrTPq4E5nidC8Va93lEupaoYbhVBQAqDW/Od6n0KmzRDmdSlupMgpDdqTfBvlOrS28brbhMgtZ1yAG0H4iYP+ZFsQl11WGU1OsTwKiHp5lyscumfEWVOdyfONgS3NVBB7abOCTsUn21xL3vyKJfdkyI9Fbx/XQ2NzAeSrsCoUXxDjGwUSUSFSYwbsBoZXGlGJeRvjL9qrJNhUqMurGAO7khMWkXEOSfG6tZhrxx688LaExxNW/l3dXFvPeaLaCsomHsuUQuDArPJZsemAPQUUphY7KRcGwA0M3hEeZwwfBkPEjNcD4BKSL60jspo+5oLFzj4ZDJx/xYETaP0oM3gnalEvIfBsXURRC2gMh/6rY97ANIOY+2n6zW
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(396003)(376002)(346002)(40470700004)(36840700001)(46966006)(9686003)(53546011)(6506007)(7696005)(26005)(86362001)(33656002)(186003)(36860700001)(82740400003)(82310400005)(83380400001)(81166007)(336012)(47076005)(356005)(55016003)(40480700001)(40460700003)(5660300002)(30864003)(478600001)(52536014)(70586007)(70206006)(8936002)(8676002)(4326008)(2906002)(107886003)(110136005)(41300700001)(54906003)(316002)(559001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 08:27:28.8291
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 23d32540-629a-4f35-5037-08da802a52a2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1851

Hi all
 Sorry for that, please ignore this too.  I sent the wrong email.

> -----Original Message-----
> From: jiaxie01 <jiamei.xie@arm.com>
> Sent: Wednesday, August 17, 2022 10:07 AM
> To: Jiamei Xie <Jiamei.Xie@arm.com>; xen-devel@lists.xenproject.org
> Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>; Wei Liu
> <wl@xen.org>; Anthony PERARD <anthony.perard@citrix.com>; George
> Dunlap <george.dunlap@citrix.com>; Nick Rosbrook
> <rosbrookn@gmail.com>; Juergen Gross <jgross@suse.com>
> Subject: [PATCH 01/16] libxl: Add support for Virtio disk configuration
>=20
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>=20
> This patch adds basic support for configuring and assisting virtio-mmio
> based virtio-disk backend (emulator) which is intended to run out of
> Qemu and could be run in any domain.
> Although the Virtio block device is quite different from traditional
> Xen PV block device (vbd) from the toolstack's point of view:
>  - as the frontend is virtio-blk which is not a Xenbus driver, nothing
>    written to Xenstore are fetched by the frontend currently ("vdev"
>    is not passed to the frontend). But this might need to be revised
>    in future, so frontend data might be written to Xenstore in order to
>    support hotplugging virtio devices or passing the backend domain id
>    on arch where the device-tree is not available.
>  - the ring-ref/event-channel are not used for the backend<->frontend
>    communication, the proposed IPC for Virtio is IOREQ/DM
> it is still a "block device" and ought to be integrated in existing
> "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
> logic to deal with Virtio devices as well.
>=20
> For the immediate purpose and an ability to extend that support for
> other use-cases in future (Qemu, virtio-pci, etc) perform the following
> actions:
> - Add new disk backend type (LIBXL_DISK_BACKEND_STANDALONE) and
> reflect
>   that in the configuration
> - Introduce new disk "specification" and "transport" fields to struct
>   libxl_device_disk. Both are written to the Xenstore. The transport
>   field is only used for the specification "virtio" and it assumes
>   only "mmio" value for now.
> - Introduce new "specification" option with "xen" communication
>   protocol being default value.
> - Add new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
>   one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model
>=20
> An example of domain configuration for Virtio disk:
> disk =3D [ 'phy:/dev/mmcblk0p3, xvda1, backendtype=3Dstandalone,
> specification=3Dvirtio']
>=20
> Nothing has changed for default Xen disk configuration.
>=20
> Please note, this patch is not enough for virtio-disk to work
> on Xen (Arm), as for every Virtio device (including disk) we need
> to allocate Virtio MMIO params (IRQ and memory region) and pass
> them to the backend, also update Guest device-tree. The subsequent
> patch will add these missing bits. For the current patch,
> the default "irq" and "base" are just written to the Xenstore.
> This is not an ideal splitting, but this way we avoid breaking
> the bisectability.
>=20
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ---
> Changes RFC -> V1:
>    - no changes
>=20
> Changes V1 -> V2:
>    - rebase according to the new location of libxl_virtio_disk.c
>=20
> Changes V2 -> V3:
>    - no changes
>=20
> Changes V3 -> V4:
>    - rebase according to the new argument for DEFINE_DEVICE_TYPE_STRUCT
>=20
> Changes V4 -> V5:
>    - split the changes, change the order of the patches
>    - update patch description
>    - don't introduce new "vdisk" configuration option with own parsing lo=
gic,
>      re-use Xen PV block "disk" parsing/configuration logic for the virti=
o-disk
>    - introduce "virtio" flag and document it's usage
>    - add LIBXL_HAVE_DEVICE_DISK_VIRTIO
>    - update libxlu_disk_l.[ch]
>    - drop num_disks variable/MAX_VIRTIO_DISKS
>    - drop Wei's T-b
>=20
> Changes V5 -> V6:
>    - rebase on current staging
>    - use "%"PRIu64 instead of %lu for disk->base in device_disk_add()
>    - update *.gen.go files
>=20
> Changes V6 -> V7:
>    - rebase on current staging
>    - update *.gen.go files and libxlu_disk_l.[ch] files
>    - update patch description
>    - rework significantly to support more flexible configuration
>      and have more generic basic implementation for being able to extend
>      that for other use-cases (virtio-pci, qemu, etc).
>=20
> Changes V7 -> V8:
>    - update *.gen.go files and libxlu_disk_l.[ch] files
>    - update patch description and comments in the code
>    - use "specification" config option instead of "protocol"
>    - update libxl_types.idl and code according to new fields
>      in libxl_device_disk
>=20
> Changes V8 -> V9:
>    - update (and harden) checks in libxl__device_disk_setdefault(),
>      return error in case of incorrect settings of specification
>      and transport
>    - remove both asserts in device_disk_add()
>    - update virtio related code in libxl__disk_from_xenstore(),
>      do not fail if specification node is absent, replace
>      open-coded checks of fetched specification and transport by
>      libxl_disk_specification_from_string() and
> libxl_disk_transport_from_string()
>      respectively
>    - s/libxl_device_disk_get_path/libxl__device_disk_get_path
>    - add a comment for virtio-mmio parameters in struct libxl_device_disk
>=20
> Changes V9 -> V10:
>    - s/ERROR_FAIL/ERROR_INVAL in both places in
> libxl__device_disk_setdefault()
>    - rework libxl__device_disk_get_path()
>=20
> Changes V10 -> V10.1:
>    - fix small coding style issue in libxl__device_disk_get_path()
>    - drop specification check in main_blockattach() and add
>      required check in libxl__device_disk_setdefault()
>    - update specification check in main_blockdetach()
>=20
> Changes V10.1 -> V11:
>    - Anthony already gave his Reviewed-by, I dropped it due to the change=
s
>    - George already gave his Acked-by, I dropped it due to the changes
>    - s/other/standalone for the backendtype
> ---
> ---
>  docs/man/xl-disk-configuration.5.pod.in   |  38 +-
>  tools/golang/xenlight/helpers.gen.go      |   8 +
>  tools/golang/xenlight/types.gen.go        |  18 +
>  tools/include/libxl.h                     |   7 +
>  tools/libs/light/libxl_device.c           |  62 +-
>  tools/libs/light/libxl_disk.c             | 146 +++-
>  tools/libs/light/libxl_internal.h         |   2 +
>  tools/libs/light/libxl_types.idl          |  18 +
>  tools/libs/light/libxl_types_internal.idl |   1 +
>  tools/libs/light/libxl_utils.c            |   2 +
>  tools/libs/util/libxlu_disk_l.c           | 959 +++++++++++-----------
>  tools/libs/util/libxlu_disk_l.h           |   2 +-
>  tools/libs/util/libxlu_disk_l.l           |   9 +
>  tools/xl/xl_block.c                       |   6 +
>  14 files changed, 798 insertions(+), 480 deletions(-)
>=20
> diff --git a/docs/man/xl-disk-configuration.5.pod.in b/docs/man/xl-disk-
> configuration.5.pod.in
> index 71d0e86e3d..822c940f90 100644
> --- a/docs/man/xl-disk-configuration.5.pod.in
> +++ b/docs/man/xl-disk-configuration.5.pod.in
> @@ -232,7 +232,7 @@ Specifies the backend implementation to use
>=20
>  =3Ditem Supported values
>=20
> -phy, qdisk
> +phy, qdisk, standalone
>=20
>  =3Ditem Mandatory
>=20
> @@ -244,11 +244,13 @@ Automatically determine which backend to use.
>=20
>  =3Dback
>=20
> -This does not affect the guest's view of the device.  It controls
> -which software implementation of the Xen backend driver is used.
> +It controls which software implementation of the backend driver is used.
> +Depending on the "specification" option this may affect the guest's view
> +of the device.
>=20
>  Not all backend drivers support all combinations of other options.
> -For example, "phy" does not support formats other than "raw".
> +For example, "phy" and "standalone" do not support formats other than
> "raw"
> +and "standalone" does not support specifications other than "virtio".
>  Normally this option should not be specified, in which case libxl will
>  automatically determine the most suitable backend.
>=20
> @@ -344,8 +346,36 @@ can be used to disable "hole punching" for file
> based backends which
>  were intentionally created non-sparse to avoid fragmentation of the
>  file.
>=20
> +=3Ditem B<specification>=3DI<SPECIFICATION>
> +
> +=3Dover 4
> +
> +=3Ditem Description
> +
> +Specifies the communication protocol (specification) to use for the chos=
en
> +"backendtype" option
> +
> +=3Ditem Supported values
> +
> +xen, virtio
> +
> +=3Ditem Mandatory
> +
> +No
> +
> +=3Ditem Default value
> +
> +xen
> +
>  =3Dback
>=20
> +Besides forcing toolstack to use specific backend implementation, this a=
lso
> +affects the guest's view of the device. For example, "virtio" requires
> +Virtio frontend driver (virtio-blk) to be used. Please note, the virtual
> +device (vdev) is not passed to the guest in that case, but it still must=
 be
> +specified for the internal purposes.
> +
> +=3Dback
>=20
>  =3Dhead1 COLO Parameters
>=20
> diff --git a/tools/golang/xenlight/helpers.gen.go
> b/tools/golang/xenlight/helpers.gen.go
> index b746ff1081..00f10b9df3 100644
> --- a/tools/golang/xenlight/helpers.gen.go
> +++ b/tools/golang/xenlight/helpers.gen.go
> @@ -1751,6 +1751,10 @@ x.DirectIoSafe =3D bool(xc.direct_io_safe)
>  if err :=3D x.DiscardEnable.fromC(&xc.discard_enable);err !=3D nil {
>  return fmt.Errorf("converting field DiscardEnable: %v", err)
>  }
> +x.Specification =3D DiskSpecification(xc.specification)
> +x.Transport =3D DiskTransport(xc.transport)
> +x.Irq =3D uint32(xc.irq)
> +x.Base =3D uint64(xc.base)
>  if err :=3D x.ColoEnable.fromC(&xc.colo_enable);err !=3D nil {
>  return fmt.Errorf("converting field ColoEnable: %v", err)
>  }
> @@ -1788,6 +1792,10 @@ xc.direct_io_safe =3D C.bool(x.DirectIoSafe)
>  if err :=3D x.DiscardEnable.toC(&xc.discard_enable); err !=3D nil {
>  return fmt.Errorf("converting field DiscardEnable: %v", err)
>  }
> +xc.specification =3D C.libxl_disk_specification(x.Specification)
> +xc.transport =3D C.libxl_disk_transport(x.Transport)
> +xc.irq =3D C.uint32_t(x.Irq)
> +xc.base =3D C.uint64_t(x.Base)
>  if err :=3D x.ColoEnable.toC(&xc.colo_enable); err !=3D nil {
>  return fmt.Errorf("converting field ColoEnable: %v", err)
>  }
> diff --git a/tools/golang/xenlight/types.gen.go
> b/tools/golang/xenlight/types.gen.go
> index b1e84d5258..c729b95d02 100644
> --- a/tools/golang/xenlight/types.gen.go
> +++ b/tools/golang/xenlight/types.gen.go
> @@ -99,6 +99,20 @@ DiskBackendUnknown DiskBackend =3D 0
>  DiskBackendPhy DiskBackend =3D 1
>  DiskBackendTap DiskBackend =3D 2
>  DiskBackendQdisk DiskBackend =3D 3
> +DiskBackendStandalone DiskBackend =3D 4
> +)
> +
> +type DiskSpecification int
> +const(
> +DiskSpecificationUnknown DiskSpecification =3D 0
> +DiskSpecificationXen DiskSpecification =3D 1
> +DiskSpecificationVirtio DiskSpecification =3D 2
> +)
> +
> +type DiskTransport int
> +const(
> +DiskTransportUnknown DiskTransport =3D 0
> +DiskTransportMmio DiskTransport =3D 1
>  )
>=20
>  type NicType int
> @@ -643,6 +657,10 @@ Readwrite int
>  IsCdrom int
>  DirectIoSafe bool
>  DiscardEnable Defbool
> +Specification DiskSpecification
> +Transport DiskTransport
> +Irq uint32
> +Base uint64
>  ColoEnable Defbool
>  ColoRestoreEnable Defbool
>  ColoHost string
> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
> index 7ce978e83c..0f02b6b58b 100644
> --- a/tools/include/libxl.h
> +++ b/tools/include/libxl.h
> @@ -527,6 +527,13 @@
>   */
>  #define LIBXL_HAVE_MAX_GRANT_VERSION 1
>=20
> +/*
> + * LIBXL_HAVE_DEVICE_DISK_SPECIFICATION indicates that 'specification'
> and
> + * 'transport' fields (of libxl_disk_specification and libxl_disk_transp=
ort
> + * types respectively) are present in libxl_device_disk.
> + */
> +#define LIBXL_HAVE_DEVICE_DISK_SPECIFICATION 1
> +
>  /*
>   * libxl ABI compatibility
>   *
> diff --git a/tools/libs/light/libxl_device.c b/tools/libs/light/libxl_dev=
ice.c
> index e6025d135e..a75c21d433 100644
> --- a/tools/libs/light/libxl_device.c
> +++ b/tools/libs/light/libxl_device.c
> @@ -289,9 +289,16 @@ static int disk_try_backend(disk_try_backend_args
> *a,
>                              libxl_disk_backend backend)
>   {
>      libxl__gc *gc =3D a->gc;
> +    libxl_disk_specification specification =3D a->disk->specification;
>      /* returns 0 (ie, DISK_BACKEND_UNKNOWN) on failure, or
>       * backend on success */
>=20
> +    if ((specification =3D=3D LIBXL_DISK_SPECIFICATION_VIRTIO &&
> +         backend !=3D LIBXL_DISK_BACKEND_STANDALONE) ||
> +        (specification !=3D LIBXL_DISK_SPECIFICATION_VIRTIO &&
> +         backend =3D=3D LIBXL_DISK_BACKEND_STANDALONE))
> +        goto bad_specification;
> +
>      switch (backend) {
>      case LIBXL_DISK_BACKEND_PHY:
>          if (a->disk->format !=3D LIBXL_DISK_FORMAT_RAW) {
> @@ -329,6 +336,29 @@ static int disk_try_backend(disk_try_backend_args
> *a,
>          if (a->disk->script) goto bad_script;
>          return backend;
>=20
> +    case LIBXL_DISK_BACKEND_STANDALONE:
> +        if (a->disk->format !=3D LIBXL_DISK_FORMAT_RAW)
> +            goto bad_format;
> +
> +        if (a->disk->script)
> +            goto bad_script;
> +
> +        if (libxl_defbool_val(a->disk->colo_enable))
> +            goto bad_colo;
> +
> +        if (a->disk->backend_domid !=3D LIBXL_TOOLSTACK_DOMID) {
> +            LOG(DEBUG, "Disk vdev=3D%s, is using a storage driver domain=
, "
> +                       "skipping physical device check", a->disk->vdev);
> +            return backend;
> +        }
> +
> +        if (libxl__try_phy_backend(a->stab.st_mode))
> +            return backend;
> +
> +        LOG(DEBUG, "Disk vdev=3D%s, backend standalone unsuitable as phy=
s
> path not a "
> +                   "block device", a->disk->vdev);
> +        return 0;
> +
>      default:
>          LOG(DEBUG, "Disk vdev=3D%s, backend %d unknown", a->disk->vdev,
> backend);
>          return 0;
> @@ -352,6 +382,12 @@ static int disk_try_backend(disk_try_backend_args
> *a,
>      LOG(DEBUG, "Disk vdev=3D%s, backend %s not compatible with colo",
>          a->disk->vdev, libxl_disk_backend_to_string(backend));
>      return 0;
> +
> + bad_specification:
> +    LOG(DEBUG, "Disk vdev=3D%s, backend %s not compatible with
> specification %s",
> +        a->disk->vdev, libxl_disk_backend_to_string(backend),
> +        libxl_disk_specification_to_string(specification));
> +    return 0;
>  }
>=20
>  int libxl__backendpath_parse_domid(libxl__gc *gc, const char *be_path,
> @@ -376,8 +412,9 @@ int libxl__device_disk_set_backend(libxl__gc *gc,
> libxl_device_disk *disk) {
>      a.gc =3D gc;
>      a.disk =3D disk;
>=20
> -    LOG(DEBUG, "Disk vdev=3D%s spec.backend=3D%s", disk->vdev,
> -               libxl_disk_backend_to_string(disk->backend));
> +    LOG(DEBUG, "Disk vdev=3D%s spec.backend=3D%s specification=3D%s", di=
sk-
> >vdev,
> +               libxl_disk_backend_to_string(disk->backend),
> +               libxl_disk_specification_to_string(disk->specification));
>=20
>      if (disk->format =3D=3D LIBXL_DISK_FORMAT_EMPTY) {
>          if (!disk->is_cdrom) {
> @@ -392,7 +429,8 @@ int libxl__device_disk_set_backend(libxl__gc *gc,
> libxl_device_disk *disk) {
>          }
>          memset(&a.stab, 0, sizeof(a.stab));
>      } else if ((disk->backend =3D=3D LIBXL_DISK_BACKEND_UNKNOWN ||
> -                disk->backend =3D=3D LIBXL_DISK_BACKEND_PHY) &&
> +                disk->backend =3D=3D LIBXL_DISK_BACKEND_PHY ||
> +                disk->backend =3D=3D LIBXL_DISK_BACKEND_STANDALONE) &&
>                 disk->backend_domid =3D=3D LIBXL_TOOLSTACK_DOMID &&
>                 !disk->script) {
>          if (stat(disk->pdev_path, &a.stab)) {
> @@ -408,7 +446,8 @@ int libxl__device_disk_set_backend(libxl__gc *gc,
> libxl_device_disk *disk) {
>          ok=3D
>              disk_try_backend(&a, LIBXL_DISK_BACKEND_PHY) ?:
>              disk_try_backend(&a, LIBXL_DISK_BACKEND_QDISK) ?:
> -            disk_try_backend(&a, LIBXL_DISK_BACKEND_TAP);
> +            disk_try_backend(&a, LIBXL_DISK_BACKEND_TAP) ?:
> +            disk_try_backend(&a, LIBXL_DISK_BACKEND_STANDALONE);
>          if (ok)
>              LOG(DEBUG, "Disk vdev=3D%s, using backend %s",
>                         disk->vdev,
> @@ -441,10 +480,25 @@ char
> *libxl__device_disk_string_of_backend(libxl_disk_backend backend)
>          case LIBXL_DISK_BACKEND_QDISK: return "qdisk";
>          case LIBXL_DISK_BACKEND_TAP: return "phy";
>          case LIBXL_DISK_BACKEND_PHY: return "phy";
> +        case LIBXL_DISK_BACKEND_STANDALONE: return "standalone";
> +        default: return NULL;
> +    }
> +}
> +
> +char *libxl__device_disk_string_of_specification(libxl_disk_specificatio=
n
> specification)
> +{
> +    switch (specification) {
> +        case LIBXL_DISK_SPECIFICATION_XEN: return "xen";
> +        case LIBXL_DISK_SPECIFICATION_VIRTIO: return "virtio";
>          default: return NULL;
>      }
>  }
>=20
> +char *libxl__device_disk_string_of_transport(libxl_disk_transport transp=
ort)
> +{
> +    return (transport =3D=3D LIBXL_DISK_TRANSPORT_MMIO ? "mmio" : NULL);
> +}
> +
>  const char *libxl__qemu_disk_format_string(libxl_disk_format format)
>  {
>      switch (format) {
> diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.=
c
> index a5ca77850f..4429bfd479 100644
> --- a/tools/libs/light/libxl_disk.c
> +++ b/tools/libs/light/libxl_disk.c
> @@ -163,6 +163,30 @@ static int libxl__device_disk_setdefault(libxl__gc *=
gc,
> uint32_t domid,
>      rc =3D libxl__resolve_domid(gc, disk->backend_domname, &disk-
> >backend_domid);
>      if (rc < 0) return rc;
>=20
> +    if (disk->specification =3D=3D LIBXL_DISK_SPECIFICATION_UNKNOWN)
> +        disk->specification =3D LIBXL_DISK_SPECIFICATION_XEN;
> +
> +    if (disk->specification =3D=3D LIBXL_DISK_SPECIFICATION_XEN &&
> +        disk->transport !=3D LIBXL_DISK_TRANSPORT_UNKNOWN) {
> +        LOGD(ERROR, domid, "Transport is only supported for specificatio=
n
> virtio");
> +        return ERROR_INVAL;
> +    }
> +
> +    /* Force transport mmio for specification virtio for now */
> +    if (disk->specification =3D=3D LIBXL_DISK_SPECIFICATION_VIRTIO) {
> +        if (!(disk->transport =3D=3D LIBXL_DISK_TRANSPORT_UNKNOWN ||
> +              disk->transport =3D=3D LIBXL_DISK_TRANSPORT_MMIO)) {
> +            LOGD(ERROR, domid, "Unsupported transport for specification
> virtio");
> +            return ERROR_INVAL;
> +        }
> +        disk->transport =3D LIBXL_DISK_TRANSPORT_MMIO;
> +    }
> +
> +    if (hotplug && disk->specification =3D=3D LIBXL_DISK_SPECIFICATION_V=
IRTIO) {
> +        LOGD(ERROR, domid, "Hotplug isn't supported for specification vi=
rtio");
> +        return ERROR_FAIL;
> +    }
> +
>      /* Force Qdisk backend for CDROM devices of guests with a device mod=
el.
> */
>      if (disk->is_cdrom !=3D 0 &&
>          libxl__domain_type(gc, domid) =3D=3D LIBXL_DOMAIN_TYPE_HVM) {
> @@ -204,6 +228,9 @@ static int libxl__device_from_disk(libxl__gc *gc,
> uint32_t domid,
>          case LIBXL_DISK_BACKEND_QDISK:
>              device->backend_kind =3D LIBXL__DEVICE_KIND_QDISK;
>              break;
> +        case LIBXL_DISK_BACKEND_STANDALONE:
> +            device->backend_kind =3D LIBXL__DEVICE_KIND_VIRTIO_DISK;
> +            break;
>          default:
>              LOGD(ERROR, domid, "Unrecognized disk backend type: %d",
>                   disk->backend);
> @@ -212,7 +239,8 @@ static int libxl__device_from_disk(libxl__gc *gc,
> uint32_t domid,
>=20
>      device->domid =3D domid;
>      device->devid =3D devid;
> -    device->kind  =3D LIBXL__DEVICE_KIND_VBD;
> +    device->kind =3D disk->backend =3D=3D LIBXL_DISK_BACKEND_STANDALONE =
?
> +        LIBXL__DEVICE_KIND_VIRTIO_DISK : LIBXL__DEVICE_KIND_VBD;
>=20
>      return 0;
>  }
> @@ -330,7 +358,14 @@ static void device_disk_add(libxl__egc *egc,
> uint32_t domid,
>=20
>                  assert(device->backend_kind =3D=3D LIBXL__DEVICE_KIND_VB=
D);
>                  break;
> +            case LIBXL_DISK_BACKEND_STANDALONE:
> +                dev =3D disk->pdev_path;
> +
> +                flexarray_append(back, "params");
> +                flexarray_append(back, dev);
>=20
> +                assert(device->backend_kind =3D=3D
> LIBXL__DEVICE_KIND_VIRTIO_DISK);
> +                break;
>              case LIBXL_DISK_BACKEND_TAP:
>                  LOG(ERROR, "blktap is not supported");
>                  rc =3D ERROR_FAIL;
> @@ -386,6 +421,14 @@ static void device_disk_add(libxl__egc *egc,
> uint32_t domid,
>          flexarray_append_pair(back, "discard-enable",
>                                libxl_defbool_val(disk->discard_enable) ?
>                                "1" : "0");
> +        flexarray_append(back, "specification");
> +        flexarray_append(back, libxl__device_disk_string_of_specificatio=
n(disk-
> >specification));
> +        if (disk->specification =3D=3D LIBXL_DISK_SPECIFICATION_VIRTIO) =
{
> +            flexarray_append(back, "transport");
> +            flexarray_append(back, libxl__device_disk_string_of_transpor=
t(disk-
> >transport));
> +            flexarray_append_pair(back, "base", GCSPRINTF("%"PRIu64, dis=
k-
> >base));
> +            flexarray_append_pair(back, "irq", GCSPRINTF("%u", disk->irq=
));
> +        }
>=20
>          flexarray_append(front, "backend-id");
>          flexarray_append(front, GCSPRINTF("%d", disk->backend_domid));
> @@ -532,6 +575,53 @@ static int libxl__disk_from_xenstore(libxl__gc *gc,
> const char *libxl_path,
>      }
>      libxl_string_to_backend(ctx, tmp, &(disk->backend));
>=20
> +    tmp =3D libxl__xs_read(gc, XBT_NULL,
> +                         GCSPRINTF("%s/specification", libxl_path));
> +    if (!tmp) {
> +        LOG(DEBUG, "Missing xenstore node %s/specification, assuming
> specification xen", libxl_path);
> +        disk->specification =3D LIBXL_DISK_SPECIFICATION_XEN;
> +    } else {
> +        rc =3D libxl_disk_specification_from_string(tmp, &disk->specific=
ation);
> +        if (rc) {
> +            LOG(ERROR, "Unable to parse xenstore node %s/specification",
> libxl_path);
> +            goto cleanup;
> +        }
> +    }
> +
> +    if (disk->specification =3D=3D LIBXL_DISK_SPECIFICATION_VIRTIO) {
> +        tmp =3D libxl__xs_read(gc, XBT_NULL,
> +                             GCSPRINTF("%s/transport", libxl_path));
> +        if (!tmp) {
> +            LOG(ERROR, "Missing xenstore node %s/transport", libxl_path)=
;
> +            goto cleanup;
> +        }
> +        rc =3D libxl_disk_transport_from_string(tmp, &disk->transport);
> +        if (rc) {
> +            LOG(ERROR, "Unable to parse xenstore node %s/transport",
> libxl_path);
> +            goto cleanup;
> +        }
> +        if (disk->transport !=3D LIBXL_DISK_TRANSPORT_MMIO) {
> +            LOG(ERROR, "Only transport mmio is expected for specificatio=
n
> virtio");
> +            goto cleanup;
> +        }
> +
> +        tmp =3D libxl__xs_read(gc, XBT_NULL,
> +                             GCSPRINTF("%s/base", libxl_path));
> +        if (!tmp) {
> +            LOG(ERROR, "Missing xenstore node %s/base", libxl_path);
> +            goto cleanup;
> +        }
> +        disk->base =3D strtoul(tmp, NULL, 10);
> +
> +        tmp =3D libxl__xs_read(gc, XBT_NULL,
> +                             GCSPRINTF("%s/irq", libxl_path));
> +        if (!tmp) {
> +            LOG(ERROR, "Missing xenstore node %s/irq", libxl_path);
> +            goto cleanup;
> +        }
> +        disk->irq =3D strtoul(tmp, NULL, 10);
> +    }
> +
>      disk->vdev =3D xs_read(ctx->xsh, XBT_NULL,
>                           GCSPRINTF("%s/dev", libxl_path), &len);
>      if (!disk->vdev) {
> @@ -575,6 +665,42 @@ cleanup:
>      return rc;
>  }
>=20
> +static int libxl__device_disk_get_path(libxl__gc *gc, uint32_t domid,
> +                                       char **path)
> +{
> +    const char *xen_dir, *virtio_dir;
> +    char *xen_path, *virtio_path;
> +    int rc;
> +
> +    /* default path */
> +    xen_path =3D GCSPRINTF("%s/device/%s",
> +                         libxl__xs_libxl_path(gc, domid),
> +                         libxl__device_kind_to_string(LIBXL__DEVICE_KIND=
_VBD));
> +
> +    rc =3D libxl__xs_read_checked(gc, XBT_NULL, xen_path, &xen_dir);
> +    if (rc)
> +        return rc;
> +
> +    virtio_path =3D GCSPRINTF("%s/device/%s",
> +                            libxl__xs_libxl_path(gc, domid),
> +
> libxl__device_kind_to_string(LIBXL__DEVICE_KIND_VIRTIO_DISK));
> +
> +    rc =3D libxl__xs_read_checked(gc, XBT_NULL, virtio_path, &virtio_dir=
);
> +    if (rc)
> +        return rc;
> +
> +    if (xen_dir && virtio_dir) {
> +        LOGD(ERROR, domid, "Invalid configuration, both xen and virtio p=
aths
> are present");
> +        return ERROR_INVAL;
> +    } else if (virtio_dir) {
> +        *path =3D virtio_path;
> +    } else {
> +        *path =3D xen_path;
> +    }
> +
> +    return 0;
> +}
> +
>  int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid,
>                                const char *vdev, libxl_device_disk *disk)
>  {
> @@ -588,10 +714,12 @@ int libxl_vdev_to_device_disk(libxl_ctx *ctx,
> uint32_t domid,
>=20
>      libxl_device_disk_init(disk);
>=20
> -    libxl_path =3D libxl__domain_device_libxl_path(gc, domid, devid,
> -                                                 LIBXL__DEVICE_KIND_VBD)=
;
> +    rc =3D libxl__device_disk_get_path(gc, domid, &libxl_path);
> +    if (rc)
> +        return rc;
>=20
> -    rc =3D libxl__disk_from_xenstore(gc, libxl_path, devid, disk);
> +    rc =3D libxl__disk_from_xenstore(gc, GCSPRINTF("%s/%d", libxl_path, =
devid),
> +                                   devid, disk);
>=20
>      GC_FREE;
>      return rc;
> @@ -605,16 +733,19 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx,
> uint32_t domid,
>      char *fe_path, *libxl_path;
>      char *val;
>      int rc;
> +    libxl__device_kind kind;
>=20
>      diskinfo->backend =3D NULL;
>=20
>      diskinfo->devid =3D libxl__device_disk_dev_number(disk->vdev, NULL, =
NULL);
>=20
> -    /* tap devices entries in xenstore are written as vbd devices. */
> +    /* tap devices entries in xenstore are written as vbd/virtio_disk de=
vices.
> */
> +    kind =3D disk->backend =3D=3D LIBXL_DISK_BACKEND_STANDALONE ?
> +        LIBXL__DEVICE_KIND_VIRTIO_DISK : LIBXL__DEVICE_KIND_VBD;
>      fe_path =3D libxl__domain_device_frontend_path(gc, domid, diskinfo-
> >devid,
> -                                                 LIBXL__DEVICE_KIND_VBD)=
;
> +                                                 kind);
>      libxl_path =3D libxl__domain_device_libxl_path(gc, domid, diskinfo->=
devid,
> -                                                 LIBXL__DEVICE_KIND_VBD)=
;
> +                                                 kind);
>      diskinfo->backend =3D xs_read(ctx->xsh, XBT_NULL,
>                                  GCSPRINTF("%s/backend", libxl_path), NUL=
L);
>      if (!diskinfo->backend) {
> @@ -1418,6 +1549,7 @@ LIBXL_DEFINE_DEVICE_LIST(disk)
>  #define libxl__device_disk_update_devid NULL
>=20
>  DEFINE_DEVICE_TYPE_STRUCT(disk, VBD, disks,
> +    .get_path    =3D libxl__device_disk_get_path,
>      .merge       =3D libxl_device_disk_merge,
>      .dm_needed   =3D libxl_device_disk_dm_needed,
>      .from_xenstore =3D (device_from_xenstore_fn_t)libxl__disk_from_xenst=
ore,
> diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_i=
nternal.h
> index bdef5a605e..cb9e8b3b8b 100644
> --- a/tools/libs/light/libxl_internal.h
> +++ b/tools/libs/light/libxl_internal.h
> @@ -1493,6 +1493,8 @@ _hidden char *
> libxl__domain_pvcontrol_read(libxl__gc *gc,
>=20
>  /* from xl_device */
>  _hidden char *libxl__device_disk_string_of_backend(libxl_disk_backend
> backend);
> +_hidden char
> *libxl__device_disk_string_of_specification(libxl_disk_specification
> specification);
> +_hidden char *libxl__device_disk_string_of_transport(libxl_disk_transpor=
t
> transport);
>  _hidden char *libxl__device_disk_string_of_format(libxl_disk_format
> format);
>  _hidden const char *libxl__qemu_disk_format_string(libxl_disk_format
> format);
>  _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk=
*);
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_ty=
pes.idl
> index 2a42da2f7d..3c898e320c 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -130,6 +130,18 @@ libxl_disk_backend =3D Enumeration("disk_backend",
> [
>      (1, "PHY"),
>      (2, "TAP"),
>      (3, "QDISK"),
> +    (4, "STANDALONE"), # Only relying on the Xenstore data
> +    ])
> +
> +libxl_disk_specification =3D Enumeration("disk_specification", [
> +    (0, "UNKNOWN"),
> +    (1, "XEN"),
> +    (2, "VIRTIO"),
> +    ])
> +
> +libxl_disk_transport =3D Enumeration("disk_transport", [
> +    (0, "UNKNOWN"),
> +    (1, "MMIO"),
>      ])
>=20
>  libxl_nic_type =3D Enumeration("nic_type", [
> @@ -704,6 +716,12 @@ libxl_device_disk =3D Struct("device_disk", [
>      ("is_cdrom", integer),
>      ("direct_io_safe", bool),
>      ("discard_enable", libxl_defbool),
> +    ("specification", libxl_disk_specification),
> +    ("transport", libxl_disk_transport),
> +    # Note that virtio-mmio parameters (irq and base) are for internal u=
se
> +    # by libxl and can't be modified.
> +    ("irq", uint32),
> +    ("base", uint64),
>      # Note that the COLO configuration settings should be considered uns=
table.
>      # They may change incompatibly in future versions of Xen.
>      ("colo_enable", libxl_defbool),
> diff --git a/tools/libs/light/libxl_types_internal.idl
> b/tools/libs/light/libxl_types_internal.idl
> index 3593e21dbb..8f71980aec 100644
> --- a/tools/libs/light/libxl_types_internal.idl
> +++ b/tools/libs/light/libxl_types_internal.idl
> @@ -32,6 +32,7 @@ libxl__device_kind =3D Enumeration("device_kind", [
>      (14, "PVCALLS"),
>      (15, "VSND"),
>      (16, "VINPUT"),
> +    (17, "VIRTIO_DISK"),
>      ])
>=20
>  libxl__console_backend =3D Enumeration("console_backend", [
> diff --git a/tools/libs/light/libxl_utils.c b/tools/libs/light/libxl_util=
s.c
> index e5e6b2da96..e403bd9bcf 100644
> --- a/tools/libs/light/libxl_utils.c
> +++ b/tools/libs/light/libxl_utils.c
> @@ -297,6 +297,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s,
> libxl_disk_backend *backend
>          *backend =3D LIBXL_DISK_BACKEND_TAP;
>      } else if (!strcmp(s, "qdisk")) {
>          *backend =3D LIBXL_DISK_BACKEND_QDISK;
> +    } else if (!strcmp(s, "standalone")) {
> +        *backend =3D LIBXL_DISK_BACKEND_STANDALONE;
>      } else if (!strcmp(s, "tap")) {
>          p =3D strchr(s, ':');
>          if (!p) {
> diff --git a/tools/libs/util/libxlu_disk_l.c b/tools/libs/util/libxlu_dis=
k_l.c
> index 32d4b74b58..0b59723b71 100644
> --- a/tools/libs/util/libxlu_disk_l.c
> +++ b/tools/libs/util/libxlu_disk_l.c
> @@ -549,8 +549,8 @@ static void yynoreturn yy_fatal_error ( const char*
> msg , yyscan_t yyscanner );
>  	yyg->yy_hold_char =3D *yy_cp; \
>  	*yy_cp =3D '\0'; \
>  	yyg->yy_c_buf_p =3D yy_cp;
> -#define YY_NUM_RULES 36
> -#define YY_END_OF_BUFFER 37
> +#define YY_NUM_RULES 37
> +#define YY_END_OF_BUFFER 38
>  /* This struct is not used in this scanner,
>     but its presence is necessary. */
>  struct yy_trans_info
> @@ -558,74 +558,77 @@ struct yy_trans_info
>  	flex_int32_t yy_verify;
>  	flex_int32_t yy_nxt;
>  	};
> -static const flex_int16_t yy_acclist[575] =3D
> +static const flex_int16_t yy_acclist[594] =3D
>      {   0,
> -       35,   35,   37,   33,   34,   36, 8193,   33,   34,   36,
> -    16385, 8193,   33,   36,16385,   33,   34,   36,   34,   36,
> -       33,   34,   36,   33,   34,   36,   33,   34,   36,   33,
> -       34,   36,   33,   34,   36,   33,   34,   36,   33,   34,
> -       36,   33,   34,   36,   33,   34,   36,   33,   34,   36,
> -       33,   34,   36,   33,   34,   36,   33,   34,   36,   33,
> -       34,   36,   33,   34,   36,   33,   34,   36,   35,   36,
> -       36,   33,   33, 8193,   33, 8193,   33,16385, 8193,   33,
> -     8193,   33,   33, 8224,   33,16416,   33,   33,   33,   33,
> -       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
> -
> -       33,   33,   33,   33,   33,   33,   33,   33,   33,   35,
> -     8193,   33, 8193,   33, 8193, 8224,   33, 8224,   33, 8224,
> -       23,   33,   33,   33,   33,   33,   33,   33,   33,   33,
> -       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
> -       33,   33,   33,   33,   33, 8224,   33, 8224,   33, 8224,
> -       23,   33,   33,   28, 8224,   33,16416,   33,   33,   15,
> -       33,   33,   33,   33,   33,   33,   33,   33,   33, 8217,
> -     8224,   33,16409,16416,   33,   33,   31, 8224,   33,16416,
> -       33, 8216, 8224,   33,16408,16416,   33,   33, 8219, 8224,
> -       33,16411,16416,   33,   33,   33,   33,   33,   28, 8224,
> -
> -       33,   28, 8224,   33,   28,   33,   28, 8224,   33,    3,
> -       33,   15,   33,   33,   33,   33,   33,   30, 8224,   33,
> -    16416,   33,   33,   33, 8217, 8224,   33, 8217, 8224,   33,
> -     8217,   33, 8217, 8224,   33,   33,   31, 8224,   33,   31,
> -     8224,   33,   31,   33,   31, 8224, 8216, 8224,   33, 8216,
> -     8224,   33, 8216,   33, 8216, 8224,   33, 8219, 8224,   33,
> -     8219, 8224,   33, 8219,   33, 8219, 8224,   33,   33,   10,
> -       33,   33,   28, 8224,   33,   28, 8224,   33,   28, 8224,
> -       28,   33,   28,   33,    3,   33,   33,   33,   33,   33,
> -       33,   33,   30, 8224,   33,   30, 8224,   33,   30,   33,
> -
> -       30, 8224,   33,   33,   29, 8224,   33,16416, 8217, 8224,
> -       33, 8217, 8224,   33, 8217, 8224, 8217,   33, 8217,   33,
> -       33,   31, 8224,   33,   31, 8224,   33,   31, 8224,   31,
> -       33,   31, 8216, 8224,   33, 8216, 8224,   33, 8216, 8224,
> -     8216,   33, 8216,   33, 8219, 8224,   33, 8219, 8224,   33,
> -     8219, 8224, 8219,   33, 8219,   33,   33,   10,   23,   10,
> -        7,   33,   33,   33,   33,   33,   33,   33,   13,   33,
> -       30, 8224,   33,   30, 8224,   33,   30, 8224,   30,   33,
> -       30,    2,   33,   29, 8224,   33,   29, 8224,   33,   29,
> -       33,   29, 8224,   16,   33,   33,   11,   33,   22,   10,
> -
> -       10,   23,    7,   23,    7,   33,    8,   33,   33,   33,
> -       33,    6,   33,   13,   33,    2,   23,    2,   33,   29,
> -     8224,   33,   29, 8224,   33,   29, 8224,   29,   33,   29,
> -       16,   33,   33,   11,   23,   11,   26, 8224,   33,16416,
> -       22,   23,   22,    7,    7,   23,   33,    8,   23,    8,
> -       33,   33,   33,   33,    6,   23,    6,    6,   23,    6,
> -       23,   33,    2,    2,   23,   33,   33,   11,   11,   23,
> -       26, 8224,   33,   26, 8224,   33,   26,   33,   26, 8224,
> -       22,   23,   33,    8,    8,   23,   33,   33,   17,   18,
> -        6,    6,   23,    6,    6,   33,   33,   14,   33,   26,
> -
> -     8224,   33,   26, 8224,   33,   26, 8224,   26,   33,   26,
> -       33,   33,   33,   17,   23,   17,   18,   23,   18,    6,
> -        6,   33,   33,   14,   33,   20,    9,   19,   17,   17,
> -       23,   18,   18,   23,    6,    5,    6,   33,   21,   20,
> -       23,   20,    9,   23,    9,   19,   23,   19,    4,    6,
> -        5,    6,   33,   21,   23,   21,   20,   20,   23,    9,
> -        9,   23,   19,   19,   23,    4,    6,   12,   33,   21,
> -       21,   23,   12,   33
> +       36,   36,   38,   34,   35,   37, 8193,   34,   35,   37,
> +    16385, 8193,   34,   37,16385,   34,   35,   37,   35,   37,
> +       34,   35,   37,   34,   35,   37,   34,   35,   37,   34,
> +       35,   37,   34,   35,   37,   34,   35,   37,   34,   35,
> +       37,   34,   35,   37,   34,   35,   37,   34,   35,   37,
> +       34,   35,   37,   34,   35,   37,   34,   35,   37,   34,
> +       35,   37,   34,   35,   37,   34,   35,   37,   36,   37,
> +       37,   34,   34, 8193,   34, 8193,   34,16385, 8193,   34,
> +     8193,   34,   34, 8225,   34,16417,   34,   34,   34,   34,
> +       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
> +
> +       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
> +       36, 8193,   34, 8193,   34, 8193, 8225,   34, 8225,   34,
> +     8225,   24,   34,   34,   34,   34,   34,   34,   34,   34,
> +       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
> +       34,   34,   34,   34,   34,   34,   34, 8225,   34, 8225,
> +       34, 8225,   24,   34,   34,   29, 8225,   34,16417,   34,
> +       34,   16,   34,   34,   34,   34,   34,   34,   34,   34,
> +       34, 8218, 8225,   34,16410,16417,   34,   34,   32, 8225,
> +       34,16417,   34, 8217, 8225,   34,16409,16417,   34,   34,
> +       34, 8220, 8225,   34,16412,16417,   34,   34,   34,   34,
> +
> +       34,   29, 8225,   34,   29, 8225,   34,   29,   34,   29,
> +     8225,   34,    3,   34,   16,   34,   34,   34,   34,   34,
> +       31, 8225,   34,16417,   34,   34,   34, 8218, 8225,   34,
> +     8218, 8225,   34, 8218,   34, 8218, 8225,   34,   34,   32,
> +     8225,   34,   32, 8225,   34,   32,   34,   32, 8225, 8217,
> +     8225,   34, 8217, 8225,   34, 8217,   34, 8217, 8225,   34,
> +       34, 8220, 8225,   34, 8220, 8225,   34, 8220,   34, 8220,
> +     8225,   34,   34,   11,   34,   34,   29, 8225,   34,   29,
> +     8225,   34,   29, 8225,   29,   34,   29,   34,    3,   34,
> +       34,   34,   34,   34,   34,   34,   31, 8225,   34,   31,
> +
> +     8225,   34,   31,   34,   31, 8225,   34,   34,   30, 8225,
> +       34,16417, 8218, 8225,   34, 8218, 8225,   34, 8218, 8225,
> +     8218,   34, 8218,   34,   34,   32, 8225,   34,   32, 8225,
> +       34,   32, 8225,   32,   34,   32, 8217, 8225,   34, 8217,
> +     8225,   34, 8217, 8225, 8217,   34, 8217,   34,   34, 8220,
> +     8225,   34, 8220, 8225,   34, 8220, 8225, 8220,   34, 8220,
> +       34,   34,   11,   24,   11,    7,   34,   34,   34,   34,
> +       34,   34,   34,   14,   34,   31, 8225,   34,   31, 8225,
> +       34,   31, 8225,   31,   34,   31,    2,   34,   30, 8225,
> +       34,   30, 8225,   34,   30,   34,   30, 8225,   17,   34,
> +
> +       34,   12,   34,   34,   23,   11,   11,   24,    7,   24,
> +        7,   34,    8,   34,   34,   34,   34,    6,   34,   14,
> +       34,    2,   24,    2,   34,   30, 8225,   34,   30, 8225,
> +       34,   30, 8225,   30,   34,   30,   17,   34,   34,   12,
> +       24,   12,   34,   27, 8225,   34,16417,   23,   24,   23,
> +        7,    7,   24,   34,    8,   24,    8,   34,   34,   34,
> +       34,    6,   24,    6,    6,   24,    6,   24,   34,    2,
> +        2,   24,   34,   34,   12,   12,   24,   34,   27, 8225,
> +       34,   27, 8225,   34,   27,   34,   27, 8225,   23,   24,
> +       34,    8,    8,   24,   34,   34,   18,   19,    6,    6,
> +
> +       24,    6,    6,   34,   34,   15,   34,   34,   27, 8225,
> +       34,   27, 8225,   34,   27, 8225,   27,   34,   27,   34,
> +       34,   34,   18,   24,   18,   19,   24,   19,    6,    6,
> +       34,   34,   15,   34,   34,   21,    9,   20,   18,   18,
> +       24,   19,   19,   24,    6,    5,    6,   34,   22,   34,
> +       21,   24,   21,    9,   24,    9,   20,   24,   20,    4,
> +        6,    5,    6,   34,   22,   24,   22,   34,   21,   21,
> +       24,    9,    9,   24,   20,   20,   24,    4,    6,   13,
> +       34,   22,   22,   24,   10,   13,   34,   10,   24,   10,
> +       10,   10,   24
> +
>      } ;
>=20
> -static const flex_int16_t yy_accept[356] =3D
> +static const flex_int16_t yy_accept[373] =3D
>      {   0,
>          1,    1,    1,    2,    3,    4,    7,   12,   16,   19,
>         21,   24,   27,   30,   33,   36,   39,   42,   45,   48,
> @@ -633,39 +636,41 @@ static const flex_int16_t yy_accept[356] =3D
>         74,   76,   79,   81,   82,   83,   84,   87,   87,   88,
>         89,   90,   91,   92,   93,   94,   95,   96,   97,   98,
>         99,  100,  101,  102,  103,  104,  105,  106,  107,  108,
> -      109,  110,  111,  113,  115,  116,  118,  120,  121,  122,
> +      109,  110,  111,  112,  114,  116,  117,  119,  121,  122,
>        123,  124,  125,  126,  127,  128,  129,  130,  131,  132,
>        133,  134,  135,  136,  137,  138,  139,  140,  141,  142,
> -      143,  144,  145,  146,  148,  150,  151,  152,  153,  154,
> -
> -      158,  159,  160,  162,  163,  164,  165,  166,  167,  168,
> -      169,  170,  175,  176,  177,  181,  182,  187,  188,  189,
> -      194,  195,  196,  197,  198,  199,  202,  205,  207,  209,
> -      210,  212,  214,  215,  216,  217,  218,  222,  223,  224,
> -      225,  228,  231,  233,  235,  236,  237,  240,  243,  245,
> -      247,  250,  253,  255,  257,  258,  261,  264,  266,  268,
> -      269,  270,  271,  272,  273,  276,  279,  281,  283,  284,
> -      285,  287,  288,  289,  290,  291,  292,  293,  296,  299,
> -      301,  303,  304,  305,  309,  312,  315,  317,  319,  320,
> -      321,  322,  325,  328,  330,  332,  333,  336,  339,  341,
> -
> -      343,  344,  345,  348,  351,  353,  355,  356,  357,  358,
> -      360,  361,  362,  363,  364,  365,  366,  367,  368,  369,
> -      371,  374,  377,  379,  381,  382,  383,  384,  387,  390,
> -      392,  394,  396,  397,  398,  399,  400,  401,  403,  405,
> -      406,  407,  408,  409,  410,  411,  412,  413,  414,  416,
> -      418,  419,  420,  423,  426,  428,  430,  431,  433,  434,
> -      436,  437,  441,  443,  444,  445,  447,  448,  450,  451,
> -      452,  453,  454,  455,  457,  458,  460,  462,  463,  464,
> -      466,  467,  468,  469,  471,  474,  477,  479,  481,  483,
> -      484,  485,  487,  488,  489,  490,  491,  492,  494,  495,
> -
> -      496,  497,  498,  500,  503,  506,  508,  510,  511,  512,
> -      513,  514,  516,  517,  519,  520,  521,  522,  523,  524,
> -      526,  527,  528,  529,  530,  532,  533,  535,  536,  538,
> -      539,  540,  542,  543,  545,  546,  548,  549,  551,  553,
> -      554,  556,  557,  558,  560,  561,  563,  564,  566,  568,
> -      570,  571,  573,  575,  575
> +      143,  144,  145,  146,  147,  148,  150,  152,  153,  154,
> +
> +      155,  156,  160,  161,  162,  164,  165,  166,  167,  168,
> +      169,  170,  171,  172,  177,  178,  179,  183,  184,  189,
> +      190,  191,  192,  197,  198,  199,  200,  201,  202,  205,
> +      208,  210,  212,  213,  215,  217,  218,  219,  220,  221,
> +      225,  226,  227,  228,  231,  234,  236,  238,  239,  240,
> +      243,  246,  248,  250,  253,  256,  258,  260,  261,  262,
> +      265,  268,  270,  272,  273,  274,  275,  276,  277,  280,
> +      283,  285,  287,  288,  289,  291,  292,  293,  294,  295,
> +      296,  297,  300,  303,  305,  307,  308,  309,  313,  316,
> +      319,  321,  323,  324,  325,  326,  329,  332,  334,  336,
> +
> +      337,  340,  343,  345,  347,  348,  349,  350,  353,  356,
> +      358,  360,  361,  362,  363,  365,  366,  367,  368,  369,
> +      370,  371,  372,  373,  374,  376,  379,  382,  384,  386,
> +      387,  388,  389,  392,  395,  397,  399,  401,  402,  403,
> +      404,  405,  406,  407,  409,  411,  412,  413,  414,  415,
> +      416,  417,  418,  419,  420,  422,  424,  425,  426,  429,
> +      432,  434,  436,  437,  439,  440,  442,  443,  444,  448,
> +      450,  451,  452,  454,  455,  457,  458,  459,  460,  461,
> +      462,  464,  465,  467,  469,  470,  471,  473,  474,  475,
> +      476,  478,  479,  482,  485,  487,  489,  491,  492,  493,
> +
> +      495,  496,  497,  498,  499,  500,  502,  503,  504,  505,
> +      506,  508,  509,  512,  515,  517,  519,  520,  521,  522,
> +      523,  525,  526,  528,  529,  530,  531,  532,  533,  535,
> +      536,  537,  538,  539,  540,  542,  543,  545,  546,  548,
> +      549,  550,  551,  553,  554,  556,  557,  559,  560,  562,
> +      564,  565,  567,  568,  569,  570,  572,  573,  575,  576,
> +      578,  580,  582,  583,  585,  586,  588,  590,  591,  592,
> +      594,  594
>      } ;
>=20
>  static const YY_CHAR yy_ec[256] =3D
> @@ -708,216 +713,224 @@ static const YY_CHAR yy_meta[35] =3D
>          1,    1,    1,    1
>      } ;
>=20
> -static const flex_int16_t yy_base[424] =3D
> +static const flex_int16_t yy_base[443] =3D
>      {   0,
> -        0,    0,  901,  900,  902,  897,   33,   36,  905,  905,
> -       45,   63,   31,   42,   51,   52,  890,   33,   65,   67,
> -       69,   70,  889,   71,  888,   75,    0,  905,  893,  905,
> -       91,   94,    0,    0,  103,  886,  112,    0,   89,   98,
> -      113,   92,  114,   99,  100,   48,  121,  116,  119,   74,
> -      124,  129,  123,  135,  132,  133,  137,  134,  138,  139,
> -      141,    0,  155,    0,    0,  164,    0,    0,  849,  142,
> -      152,  164,  140,  161,  165,  166,  167,  168,  169,  173,
> -      174,  178,  176,  180,  184,  208,  189,  183,  192,  195,
> -      215,  191,  193,  223,    0,    0,  905,  208,  204,  236,
> -
> -      219,  209,  238,  196,  237,  831,  242,  815,  241,  224,
> -      243,  261,  244,  259,  277,  266,  286,  250,  288,  298,
> -      249,  283,  274,  282,  294,  308,    0,  310,    0,  295,
> -      305,  905,  308,  306,  313,  314,  342,  319,  316,  320,
> -      331,    0,  349,    0,  342,  344,  356,    0,  358,    0,
> -      365,    0,  367,    0,  354,  375,    0,  377,    0,  363,
> -      356,  809,  327,  322,  384,    0,    0,    0,    0,  379,
> -      905,  382,  384,  386,  390,  372,  392,  403,    0,  410,
> -        0,  407,  413,  423,  426,    0,    0,    0,    0,  409,
> -      424,  435,    0,    0,    0,    0,  437,    0,    0,    0,
> -
> -        0,  433,  444,    0,    0,    0,    0,  391,  440,  781,
> -      905,  769,  439,  445,  444,  447,  449,  454,  453,  399,
> -      464,    0,    0,    0,    0,  757,  465,  476,    0,  478,
> -        0,  479,  476,  753,  462,  490,  749,  905,  745,  905,
> -      483,  737,  424,  485,  487,  490,  500,  493,  905,  729,
> -      905,  502,  518,    0,    0,    0,    0,  905,  498,  721,
> -      905,  527,  713,    0,  705,  905,  495,  697,  905,  365,
> -      521,  528,  530,  685,  905,  534,  540,  540,  657,  905,
> -      537,  542,  650,  905,  553,    0,  557,    0,    0,  551,
> -      641,  905,  558,  557,  633,  614,  613,  905,  547,  555,
> -
> -      563,  565,  569,  584,    0,    0,    0,    0,  583,  570,
> -      585,  612,  905,  601,  905,  522,  580,  589,  594,  905,
> -      600,  585,  563,  520,  905,  514,  905,  586,  486,  597,
> -      480,  441,  905,  416,  905,  345,  905,  334,  905,  601,
> -      254,  905,  242,  905,  200,  905,  151,  905,  905,  607,
> -       86,  905,  905,  905,  620,  624,  627,  631,  635,  639,
> -      643,  647,  651,  655,  659,  663,  667,  671,  675,  679,
> -      683,  687,  691,  695,  699,  703,  707,  711,  715,  719,
> -      723,  727,  731,  735,  739,  743,  747,  751,  755,  759,
> -      763,  767,  771,  775,  779,  783,  787,  791,  795,  799,
> -
> -      803,  807,  811,  815,  819,  823,  827,  831,  835,  839,
> -      843,  847,  851,  855,  859,  863,  867,  871,  875,  879,
> -      883,  887,  891
> +        0,    0,  936,  935,  937,  932,   33,   36,  940,  940,
> +       45,   63,   31,   42,   51,   52,  925,   33,   65,   67,
> +       69,   70,  924,   71,  923,   75,    0,  940,  928,  940,
> +       91,   95,    0,    0,  104,  921,  113,    0,   91,   99,
> +      114,   92,  115,   80,  100,   48,  119,  121,  122,   74,
> +      123,  128,  131,  129,  125,  133,  135,  136,  137,  143,
> +      138,  145,    0,  157,    0,    0,  168,    0,    0,  926,
> +      140,  146,  165,  159,  152,  164,  155,  168,  171,  176,
> +      177,  170,  180,  175,  184,  188,  212,  191,  185,  192,
> +      193,  194,  219,  212,  199,  230,    0,    0,  940,  195,
> +
> +      200,  239,  235,  197,  246,  225,  226,  919,  244,  918,
> +      243,  236,  245,  266,  248,  264,  282,  271,  291,  248,
> +      270,  254,  300,  279,  296,  302,  288,  303,  311,    0,
> +      315,    0,  311,  318,  940,  313,  319,  208,  313,  344,
> +      321,  331,  325,  333,    0,  352,    0,  345,  347,  359,
> +        0,  361,    0,  368,    0,  370,    0,  322,  366,  379,
> +        0,  381,    0,  359,  357,  923,  382,  384,  392,    0,
> +        0,    0,    0,  387,  940,  386,  390,  392,  329,  401,
> +      397,  409,    0,  417,    0,  399,  412,  426,  429,    0,
> +        0,    0,    0,  412,  427,  438,    0,    0,    0,    0,
> +
> +      440,    0,    0,    0,    0,  436,  405,  447,    0,    0,
> +        0,    0,  438,  443,  922,  940,  921,  442,  450,  449,
> +      452,  454,  459,  458,  453,  469,    0,    0,    0,    0,
> +      920,  470,  481,    0,  483,    0,  484,  481,  919,  368,
> +      467,  495,  918,  940,  917,  940,  488,  916,  479,  490,
> +      492,  495,  505,  498,  940,  915,  940,  507,  523,    0,
> +        0,    0,    0,  940,  503,  864,  940,  846,  532,  836,
> +        0,  824,  940,  516,  796,  940,  513,  530,  536,  538,
> +      784,  940,  542,  535,  547,  772,  940,  549,  551,  768,
> +      940,  502,  562,    0,  564,    0,    0,  562,  764,  940,
> +
> +      544,  557,  760,  752,  744,  940,  552,  568,  571,  568,
> +      581,  577,  588,    0,    0,    0,    0,  589,  580,  591,
> +      736,  940,  728,  940,  601,  602,  597,  599,  940,  603,
> +      720,  712,  700,  672,  940,  665,  940,  610,  656,  603,
> +      648,  607,  629,  940,  627,  940,  625,  940,  624,  940,
> +      607,  574,  940,  614,  572,  940,  491,  940,  433,  940,
> +      940,  622,  389,  940,  303,  940,  261,  940,  204,  940,
> +      940,  635,  639,  642,  646,  650,  654,  658,  662,  666,
> +      670,  674,  678,  682,  686,  690,  694,  698,  702,  706,
> +      710,  714,  718,  722,  726,  730,  734,  738,  742,  746,
> +
> +      750,  754,  758,  762,  766,  770,  774,  778,  782,  786,
> +      790,  794,  798,  802,  806,  810,  814,  818,  822,  826,
> +      830,  834,  838,  842,  846,  850,  854,  858,  862,  866,
> +      870,  874,  878,  882,  886,  890,  894,  898,  902,  906,
> +      910,  914
>      } ;
>=20
> -static const flex_int16_t yy_def[424] =3D
> +static const flex_int16_t yy_def[443] =3D
>      {   0,
> -      354,    1,  355,  355,  354,  356,  357,  357,  354,  354,
> -      358,  358,   12,   12,   12,   12,   12,   12,   12,   12,
> -       12,   12,   12,   12,   12,   12,  359,  354,  356,  354,
> -      360,  357,  361,  361,  362,   12,  356,  363,   12,   12,
> -       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
> +      371,    1,  372,  372,  371,  373,  374,  374,  371,  371,
> +      375,  375,   12,   12,   12,   12,   12,   12,   12,   12,
> +       12,   12,   12,   12,   12,   12,  376,  371,  373,  371,
> +      377,  374,  378,  378,  379,   12,  373,  380,   12,   12,
>         12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
> -       12,  359,  360,  361,  361,  364,  365,  365,  354,   12,
>         12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
> -       12,   12,   12,   12,   12,  362,   12,   12,   12,   12,
> -       12,   12,   12,  364,  365,  365,  354,   12,   12,  366,
> -
> +       12,   12,  376,  377,  378,  378,  381,  382,  382,  371,
>         12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
> -       12,  367,   86,   86,  368,   12,  369,   12,   12,  370,
> -       12,   12,   12,   12,   12,  371,  372,  366,  372,   12,
> -       12,  354,   86,   12,   12,   12,  373,   12,   12,   12,
> -      374,  375,  367,  375,   86,   86,  376,  377,  368,  377,
> -      378,  379,  369,  379,   12,  380,  381,  370,  381,   12,
> -       12,  382,   12,   12,  371,  372,  372,  383,  383,   12,
> -      354,   86,   86,   86,   12,   12,   12,  384,  385,  373,
> -      385,   12,   12,  386,  374,  375,  375,  387,  387,   86,
> -       86,  376,  377,  377,  388,  388,  378,  379,  379,  389,
> -
> -      389,   12,  380,  381,  381,  390,  390,   12,   12,  391,
> -      354,  392,   86,   12,   86,   86,   86,   12,   86,   12,
> -      384,  385,  385,  393,  393,  394,   86,  395,  396,  386,
> -      396,   86,   86,  397,   12,  398,  391,  354,  399,  354,
> -       86,  400,   12,   86,   86,   86,  401,   86,  354,  402,
> -      354,   86,  395,  396,  396,  403,  403,  354,   86,  404,
> -      354,  405,  406,  406,  399,  354,   86,  407,  354,   12,
> -       86,   86,   86,  408,  354,  408,  408,   86,  402,  354,
> -       86,   86,  404,  354,  409,  410,  405,  410,  406,   86,
> -      407,  354,   12,   86,  411,  412,  408,  354,  408,  408,
> -
> -       86,   86,   86,  409,  410,  410,  413,  413,   86,   12,
> -       86,  414,  354,  415,  354,  408,  408,   86,   86,  354,
> -      416,  417,  418,  414,  354,  415,  354,  408,  408,   86,
> -      419,  420,  354,  421,  354,  422,  354,  408,  354,   86,
> -      423,  354,  420,  354,  421,  354,  422,  354,  354,   86,
> -      423,  354,  354,    0,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354
> +       12,   12,   12,   12,   12,   12,  379,   12,   12,   12,
> +       12,   12,   12,   12,   12,  381,  382,  382,  371,   12,
> +
> +       12,  383,   12,   12,   12,   12,   12,   12,   12,   12,
> +       12,   12,   12,  384,   87,   87,  385,   12,  386,   12,
> +       12,   12,  387,   12,   12,   12,   12,   12,  388,  389,
> +      383,  389,   12,   12,  371,   87,   12,   12,   12,  390,
> +       12,   12,   12,  391,  392,  384,  392,   87,   87,  393,
> +      394,  385,  394,  395,  396,  386,  396,   12,   12,  397,
> +      398,  387,  398,   12,   12,  399,   12,   12,  388,  389,
> +      389,  400,  400,   12,  371,   87,   87,   87,   12,   12,
> +       12,  401,  402,  390,  402,   12,   12,  403,  391,  392,
> +      392,  404,  404,   87,   87,  393,  394,  394,  405,  405,
> +
> +      395,  396,  396,  406,  406,   12,   12,  397,  398,  398,
> +      407,  407,   12,   12,  408,  371,  409,   87,   12,   87,
> +       87,   87,   12,   87,   12,  401,  402,  402,  410,  410,
> +      411,   87,  412,  413,  403,  413,   87,   87,  414,   12,
> +       12,  415,  408,  371,  416,  371,   87,  417,   12,   87,
> +       87,   87,  418,   87,  371,  419,  371,   87,  412,  413,
> +      413,  420,  420,  371,   87,  421,  371,   12,  422,  423,
> +      423,  416,  371,   87,  424,  371,   12,   87,   87,   87,
> +      425,  371,  425,  425,   87,  419,  371,   87,   87,  421,
> +      371,   12,  426,  427,  422,  427,  423,   87,  424,  371,
> +
> +       12,   87,  428,  429,  425,  371,  425,  425,   87,   87,
> +       87,   12,  426,  427,  427,  430,  430,   87,   12,   87,
> +      431,  371,  432,  371,  425,  425,   87,   87,  371,   12,
> +      433,  434,  435,  431,  371,  432,  371,  425,  425,   87,
> +      436,   12,  437,  371,  438,  371,  439,  371,  425,  371,
> +       87,  440,  371,   12,  437,  371,  438,  371,  439,  371,
> +      371,   87,  440,  371,  441,  371,  442,  371,  442,  371,
> +        0,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371
>      } ;
>=20
> -static const flex_int16_t yy_nxt[940] =3D
> +static const flex_int16_t yy_nxt[975] =3D
>      {   0,
>          6,    7,    8,    9,    6,    6,    6,    6,   10,   11,
>         12,   13,   14,   15,   16,   17,   18,   19,   17,   17,
>         17,   17,   20,   17,   21,   22,   23,   24,   25,   17,
>         26,   17,   17,   17,   32,   32,   33,   32,   32,   33,
>         36,   34,   36,   42,   34,   29,   29,   29,   30,   35,
> -       50,   36,   37,   38,   43,   44,   39,   36,   79,   45,
> +       50,   36,   37,   38,   43,   44,   39,   36,   80,   45,
>         36,   36,   40,   29,   29,   29,   30,   35,   46,   48,
>         37,   38,   41,   47,   36,   49,   36,   53,   36,   36,
> -       36,   56,   58,   36,   36,   55,   82,   60,   51,  342,
> -       54,   61,   52,   29,   64,   32,   32,   33,   36,   65,
> -
> -       70,   36,   34,   29,   29,   29,   30,   36,   36,   36,
> -       29,   38,   66,   66,   66,   67,   66,   71,   74,   66,
> -       68,   72,   36,   36,   73,   36,   77,   78,   36,   76,
> -       36,   53,   36,   36,   75,   85,   80,   83,   36,   86,
> -       84,   36,   36,   36,   36,   81,   36,   36,   36,   36,
> -       36,   36,   93,   89,  337,   98,   88,   29,   64,  101,
> -       90,   36,   91,   65,   92,   87,   29,   95,   89,   99,
> -       36,  100,   96,   36,   36,   36,   36,   36,   36,  106,
> -      105,   85,   36,   36,  102,   36,  107,   36,  103,   36,
> -      109,  112,   36,   36,  104,  108,  115,  110,   36,  117,
> -
> -       36,   36,   36,  335,   36,   36,  122,  111,   29,   29,
> -       29,   30,  118,   36,  116,   29,   38,   36,   36,  113,
> -      114,  119,  120,  123,   36,   29,   95,  121,   36,  134,
> -      131,   96,  130,   36,  125,  124,  126,  126,   66,  127,
> -      126,  132,  133,  126,  129,  333,   36,   36,  135,  137,
> -       36,   36,   36,  140,  139,   35,   35,  352,   36,   36,
> -       85,  141,  141,   66,  142,  141,  160,  145,  141,  144,
> -       35,   35,   89,  117,  155,   36,  146,  147,  147,   66,
> -      148,  147,  162,   36,  147,  150,  151,  151,   66,  152,
> -      151,   36,   36,  151,  154,  120,  161,   36,  156,  156,
> -
> -       66,  157,  156,   36,   36,  156,  159,  164,  171,  163,
> -       29,  166,   29,  168,   36,   36,  167,  170,  169,   35,
> -       35,  172,   36,   36,  173,   36,  213,  184,   36,   36,
> -      175,   36,  174,   29,  186,  212,   36,  349,  183,  187,
> -      177,  176,  178,  178,   66,  179,  178,  182,  348,  178,
> -      181,   29,  188,   35,   35,   35,   35,  189,   29,  193,
> -       29,  195,  190,   36,  194,   36,  196,   29,  198,   29,
> -      200,  191,   36,  199,   36,  201,  219,   29,  204,   29,
> -      206,   36,  202,  205,  209,  207,   29,  166,   36,  293,
> -      208,  214,  167,   35,   35,   35,   35,   35,   35,   36,
> -
> -       36,   36,  249,  218,  220,   29,  222,  216,   36,  217,
> -      235,  223,   29,  224,  215,  226,   36,  227,  225,  346,
> -       35,   35,   36,  228,  228,   66,  229,  228,   29,  186,
> -      228,  231,  232,   36,  187,  233,   35,   29,  193,   29,
> -      198,  234,   36,  194,  344,  199,   29,  204,  236,   36,
> -       35,  241,  205,  242,   36,   35,   35,  270,   35,   35,
> -       35,   35,  247,   36,   35,   35,   29,  222,  244,  262,
> -      248,   36,  223,  243,  245,  246,   35,  252,   29,  254,
> -       29,  256,  258,  342,  255,  259,  257,   35,   35,  339,
> -       35,   35,   69,  264,   35,   35,   35,   35,   35,   35,
> -
> -      267,   35,   35,  275,   35,   35,   35,   35,  271,   35,
> -       35,  276,  277,   35,   35,  272,  278,  315,  273,  281,
> -       29,  254,  290,  313,  282,  275,  255,  285,  285,   66,
> -      286,  285,   35,   35,  285,  288,  295,  298,  296,   35,
> -       35,   35,   35,  298,  301,  328,  299,  294,   35,   35,
> -      275,   35,   35,   35,  303,   29,  305,  300,  275,   29,
> -      307,  306,   35,   35,  302,  308,  337,   36,   35,   35,
> -      309,  310,  320,  316,   35,   35,   35,   35,  322,   36,
> -       35,   35,  317,  275,  319,  311,   29,  305,  335,  275,
> -      318,  321,  306,  323,   35,   35,   35,   35,  330,  329,
> -
> -       35,   35,  331,  333,  327,   35,   35,  338,   35,   35,
> -      353,  340,   35,   35,  350,  325,  275,  315,   35,   35,
> -       27,   27,   27,   27,   29,   29,   29,   31,   31,   31,
> -       31,   36,   36,   36,   36,   62,  313,   62,   62,   63,
> -       63,   63,   63,   65,  269,   65,   65,   35,   35,   35,
> -       35,   69,   69,  261,   69,   94,   94,   94,   94,   96,
> -      251,   96,   96,  128,  128,  128,  128,  143,  143,  143,
> -      143,  149,  149,  149,  149,  153,  153,  153,  153,  158,
> -      158,  158,  158,  165,  165,  165,  165,  167,  298,  167,
> -      167,  180,  180,  180,  180,  185,  185,  185,  185,  187,
> -
> -      292,  187,  187,  192,  192,  192,  192,  194,  240,  194,
> -      194,  197,  197,  197,  197,  199,  289,  199,  199,  203,
> -      203,  203,  203,  205,  284,  205,  205,  210,  210,  210,
> -      210,  169,  280,  169,  169,  221,  221,  221,  221,  223,
> -      269,  223,  223,  230,  230,  230,  230,  189,  266,  189,
> -      189,  196,  211,  196,  196,  201,  261,  201,  201,  207,
> -      251,  207,  207,  237,  237,  237,  237,  239,  239,  239,
> -      239,  225,  240,  225,  225,  250,  250,  250,  250,  253,
> -      253,  253,  253,  255,  238,  255,  255,  260,  260,  260,
> -      260,  263,  263,  263,  263,  265,  265,  265,  265,  268,
> -
> -      268,  268,  268,  274,  274,  274,  274,  279,  279,  279,
> -      279,  257,  211,  257,  257,  283,  283,  283,  283,  287,
> -      287,  287,  287,  264,  138,  264,  264,  291,  291,  291,
> -      291,  297,  297,  297,  297,  304,  304,  304,  304,  306,
> -      136,  306,  306,  312,  312,  312,  312,  314,  314,  314,
> -      314,  308,   97,  308,  308,  324,  324,  324,  324,  326,
> -      326,  326,  326,  332,  332,  332,  332,  334,  334,  334,
> -      334,  336,  336,  336,  336,  341,  341,  341,  341,  343,
> -      343,  343,  343,  345,  345,  345,  345,  347,  347,  347,
> -      347,  351,  351,  351,  351,   36,   30,   59,   57,   36,
> -
> -       30,  354,   28,   28,    5,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354
> +       36,   56,   58,   36,   36,   55,   83,   61,   51,   36,
> +       54,   62,   52,   29,   65,   59,   32,   32,   33,   66,
> +
> +       36,   36,   71,   34,   29,   29,   29,   30,   36,   36,
> +       77,   29,   38,   67,   67,   67,   68,   67,   75,   72,
> +       67,   69,   73,   36,   36,   74,   78,   79,   36,   53,
> +       36,   36,   36,   87,   36,   76,   84,   36,   36,   85,
> +       36,   81,   36,   86,   36,   36,   36,   36,   82,   36,
> +       92,   95,   36,  100,   36,   36,   89,   90,   88,   29,
> +       65,   36,   91,  101,   36,   66,   90,   93,   36,   94,
> +       29,   97,  102,   36,   36,  104,   98,   36,  103,   36,
> +       36,  107,  108,  106,   36,   36,   36,  105,   86,   36,
> +      109,  110,  111,   36,   36,  114,  112,   36,  117,  119,
> +
> +       36,   36,   36,   36,   36,  121,   36,  368,   36,   36,
> +      120,  113,   29,   29,   29,   30,  118,   36,  134,   29,
> +       38,   36,  127,  115,  116,  122,  123,  125,   36,  126,
> +      128,  124,   29,   97,   36,   36,  180,  138,   98,  129,
> +      129,   67,  130,  129,   36,   36,  129,  132,  133,  135,
> +      136,  140,   36,   36,   36,   36,  142,   36,  137,   35,
> +       35,  123,   86,   36,  370,  143,  144,  144,   67,  145,
> +      144,  148,  158,  144,  147,   35,   35,   90,  119,   36,
> +       36,  149,  150,  150,   67,  151,  150,  159,   36,  150,
> +      153,  154,  154,   67,  155,  154,  164,   36,  154,  157,
> +
> +      160,  160,   67,  161,  160,   36,  368,  160,  163,  165,
> +      166,   36,   36,   29,  170,  167,  168,   29,  172,  171,
> +       36,  175,   36,  173,   35,   35,  176,   36,   36,  177,
> +       36,   36,  188,  174,   36,   29,  190,  178,   36,  181,
> +       36,  191,  223,  179,  182,  182,   67,  183,  182,  186,
> +      206,  182,  185,  187,   29,  192,   35,   35,   35,   35,
> +      193,   29,  197,   29,  199,  194,   36,  198,   36,  200,
> +       29,  202,   29,  204,  195,   36,  203,   36,  205,  268,
> +      207,   29,  209,   29,  211,  214,  213,  210,  218,  212,
> +      217,   36,  353,   36,   29,  170,   36,   35,   35,  219,
> +
> +      171,   35,   35,   35,   35,  224,   36,  231,   36,  225,
> +       36,   29,  227,  221,   36,  222,  232,  228,  220,   29,
> +      229,   36,  240,   35,   35,  230,  233,  233,   67,  234,
> +      233,   29,  190,  233,  236,  237,  348,  191,  238,   35,
> +       29,  197,   29,  202,  239,   36,  198,   36,  203,   29,
> +      209,  242,   36,   35,  247,  210,  255,  241,  248,   36,
> +       35,   35,   36,   35,   35,   35,   35,  253,   36,   35,
> +       35,   29,  227,  250,  269,  254,   36,  228,  249,  251,
> +      252,   35,  258,   29,  260,   29,  262,  264,   36,  261,
> +      265,  263,   35,   35,  346,   35,   35,   70,  271,   35,
> +
> +       35,   35,   35,   35,   35,  274,   35,   35,  282,   35,
> +       35,   36,  277,  278,   35,   35,  283,  284,   35,   35,
> +      279,  285,   36,  280,  288,   29,  260,   35,   35,  289,
> +      312,  261,  293,  293,   67,  294,  293,  301,  306,  293,
> +      296,   35,   35,  298,  303,  306,  304,   35,   35,   35,
> +       35,  309,  308,   36,  307,  282,  302,  319,   35,   35,
> +       35,   35,   35,  311,   29,  314,   29,  316,   35,   35,
> +      315,  282,  317,   35,   35,  344,  310,  364,  325,   35,
> +       35,  318,   35,   35,  329,  320,   36,  328,  332,   36,
> +       29,  314,   35,   35,  330,  326,  315,  331,  327,  333,
> +
> +       35,   35,   35,   35,  282,  282,  340,  341,   35,   35,
> +       35,   35,   36,  282,   35,   35,   36,  351,   35,   35,
> +      362,  339,  365,   36,  338,  366,  342,  361,  360,  354,
> +      358,  349,  356,   35,   35,   27,   27,   27,   27,   29,
> +       29,   29,   31,   31,   31,   31,   36,   36,   36,   36,
> +       63,  353,   63,   63,   64,   64,   64,   64,   66,  350,
> +       66,   66,   35,   35,   35,   35,   70,   70,  324,   70,
> +       96,   96,   96,   96,   98,  322,   98,   98,  131,  131,
> +      131,  131,  146,  146,  146,  146,  152,  152,  152,  152,
> +      156,  156,  156,  156,  162,  162,  162,  162,  169,  169,
> +
> +      169,  169,  171,  348,  171,  171,  184,  184,  184,  184,
> +      189,  189,  189,  189,  191,  346,  191,  191,  196,  196,
> +      196,  196,  198,  344,  198,  198,  201,  201,  201,  201,
> +      203,  337,  203,  203,  208,  208,  208,  208,  210,  335,
> +      210,  210,  215,  215,  215,  215,  173,  282,  173,  173,
> +      226,  226,  226,  226,  228,  324,  228,  228,  235,  235,
> +      235,  235,  193,  322,  193,  193,  200,  276,  200,  200,
> +      205,  267,  205,  205,  212,  257,  212,  212,  243,  243,
> +      243,  243,  245,  245,  245,  245,  230,  306,  230,  230,
> +      256,  256,  256,  256,  259,  259,  259,  259,  261,  300,
> +
> +      261,  261,  266,  266,  266,  266,  270,  270,  270,  270,
> +      272,  272,  272,  272,  275,  275,  275,  275,  281,  281,
> +      281,  281,  286,  286,  286,  286,  263,  246,  263,  263,
> +      290,  290,  290,  290,  295,  295,  295,  295,  271,  297,
> +      271,  271,  299,  299,  299,  299,  305,  305,  305,  305,
> +      313,  313,  313,  313,  315,  292,  315,  315,  321,  321,
> +      321,  321,  323,  323,  323,  323,  317,  291,  317,  317,
> +      334,  334,  334,  334,  336,  336,  336,  336,  343,  343,
> +      343,  343,  345,  345,  345,  345,  347,  347,  347,  347,
> +      352,  352,  352,  352,  355,  355,  355,  355,  357,  357,
> +
> +      357,  357,  359,  359,  359,  359,  363,  363,  363,  363,
> +      367,  367,  367,  367,  369,  369,  369,  369,  287,  276,
> +      273,  216,  267,  257,  246,  244,  216,  141,  139,   99,
> +       36,   30,   60,   57,   36,   30,  371,   28,   28,    5,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371
>      } ;
>=20
> -static const flex_int16_t yy_chk[940] =3D
> +static const flex_int16_t yy_chk[975] =3D
>      {   0,
>          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
>          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
> @@ -927,101 +940,105 @@ static const flex_int16_t yy_chk[940] =3D
>         18,   14,   11,   11,   13,   14,   11,   46,   46,   14,
>         15,   16,   11,   12,   12,   12,   12,   12,   14,   16,
>         12,   12,   12,   15,   19,   16,   20,   20,   21,   22,
> -       24,   22,   24,   50,   26,   21,   50,   26,   19,  351,
> -       20,   26,   19,   31,   31,   32,   32,   32,   39,   31,
> -
> -       39,   42,   32,   35,   35,   35,   35,   40,   44,   45,
> -       35,   35,   37,   37,   37,   37,   37,   39,   42,   37,
> -       37,   40,   41,   43,   41,   48,   45,   45,   49,   44,
> -       47,   47,   53,   51,   43,   53,   48,   51,   52,   54,
> -       52,   55,   56,   58,   54,   49,   57,   59,   60,   73,
> -       61,   70,   60,   61,  347,   70,   56,   63,   63,   73,
> -       58,   71,   59,   63,   59,   55,   66,   66,   57,   71,
> -       74,   72,   66,   72,   75,   76,   77,   78,   79,   78,
> -       77,   79,   80,   81,   74,   83,   80,   82,   75,   84,
> -       82,   85,   88,   85,   76,   81,   87,   83,   87,   89,
> -
> -       92,   89,   93,  345,   90,  104,   92,   84,   86,   86,
> -       86,   86,   90,   99,   88,   86,   86,   98,  102,   86,
> -       86,   91,   91,   93,   91,   94,   94,   91,  101,  104,
> -      102,   94,  101,  110,   99,   98,  100,  100,  100,  100,
> -      100,  103,  103,  100,  100,  343,  105,  103,  105,  107,
> -      109,  107,  111,  110,  109,  113,  113,  341,  121,  118,
> -      111,  112,  112,  112,  112,  112,  121,  113,  112,  112,
> -      114,  114,  116,  116,  118,  116,  114,  115,  115,  115,
> -      115,  115,  123,  123,  115,  115,  117,  117,  117,  117,
> -      117,  124,  122,  117,  117,  119,  122,  119,  120,  120,
> -
> -      120,  120,  120,  125,  130,  120,  120,  125,  131,  124,
> -      126,  126,  128,  128,  131,  134,  126,  130,  128,  133,
> -      133,  133,  135,  136,  133,  139,  164,  140,  138,  140,
> -      134,  164,  133,  141,  141,  163,  163,  338,  139,  141,
> -      136,  135,  137,  137,  137,  137,  137,  138,  336,  137,
> -      137,  143,  143,  145,  145,  146,  146,  143,  147,  147,
> -      149,  149,  145,  155,  147,  161,  149,  151,  151,  153,
> -      153,  146,  160,  151,  270,  153,  176,  156,  156,  158,
> -      158,  176,  155,  156,  161,  158,  165,  165,  170,  270,
> -      160,  170,  165,  172,  172,  173,  173,  174,  174,  175,
> -
> -      208,  177,  220,  175,  177,  178,  178,  173,  220,  174,
> -      208,  178,  180,  180,  172,  182,  182,  183,  180,  334,
> -      190,  190,  183,  184,  184,  184,  184,  184,  185,  185,
> -      184,  184,  190,  243,  185,  191,  191,  192,  192,  197,
> -      197,  202,  202,  192,  332,  197,  203,  203,  209,  209,
> -      213,  213,  203,  214,  214,  215,  215,  243,  216,  216,
> -      217,  217,  218,  218,  219,  219,  221,  221,  215,  235,
> -      219,  235,  221,  214,  216,  217,  227,  227,  228,  228,
> -      230,  230,  232,  331,  228,  233,  230,  233,  233,  329,
> -      232,  232,  236,  236,  241,  241,  244,  244,  245,  245,
> -
> -      241,  246,  246,  247,  248,  248,  267,  267,  244,  259,
> -      259,  247,  247,  252,  252,  245,  248,  326,  246,  252,
> -      253,  253,  267,  324,  259,  316,  253,  262,  262,  262,
> -      262,  262,  271,  271,  262,  262,  272,  276,  273,  272,
> -      272,  273,  273,  277,  278,  316,  276,  271,  281,  281,
> -      299,  278,  278,  282,  282,  285,  285,  277,  300,  287,
> -      287,  285,  290,  290,  281,  287,  323,  293,  294,  294,
> -      290,  293,  303,  299,  301,  301,  302,  302,  310,  310,
> -      303,  303,  300,  317,  302,  294,  304,  304,  322,  328,
> -      301,  309,  304,  311,  309,  309,  311,  311,  318,  317,
> -
> -      318,  318,  319,  321,  314,  319,  319,  328,  330,  330,
> -      350,  330,  340,  340,  340,  312,  297,  296,  350,  350,
> -      355,  355,  355,  355,  356,  356,  356,  357,  357,  357,
> -      357,  358,  358,  358,  358,  359,  295,  359,  359,  360,
> -      360,  360,  360,  361,  291,  361,  361,  362,  362,  362,
> -      362,  363,  363,  283,  363,  364,  364,  364,  364,  365,
> -      279,  365,  365,  366,  366,  366,  366,  367,  367,  367,
> -      367,  368,  368,  368,  368,  369,  369,  369,  369,  370,
> -      370,  370,  370,  371,  371,  371,  371,  372,  274,  372,
> -      372,  373,  373,  373,  373,  374,  374,  374,  374,  375,
> -
> -      268,  375,  375,  376,  376,  376,  376,  377,  265,  377,
> -      377,  378,  378,  378,  378,  379,  263,  379,  379,  380,
> -      380,  380,  380,  381,  260,  381,  381,  382,  382,  382,
> -      382,  383,  250,  383,  383,  384,  384,  384,  384,  385,
> -      242,  385,  385,  386,  386,  386,  386,  387,  239,  387,
> -      387,  388,  237,  388,  388,  389,  234,  389,  389,  390,
> -      226,  390,  390,  391,  391,  391,  391,  392,  392,  392,
> -      392,  393,  212,  393,  393,  394,  394,  394,  394,  395,
> -      395,  395,  395,  396,  210,  396,  396,  397,  397,  397,
> -      397,  398,  398,  398,  398,  399,  399,  399,  399,  400,
> -
> -      400,  400,  400,  401,  401,  401,  401,  402,  402,  402,
> -      402,  403,  162,  403,  403,  404,  404,  404,  404,  405,
> -      405,  405,  405,  406,  108,  406,  406,  407,  407,  407,
> -      407,  408,  408,  408,  408,  409,  409,  409,  409,  410,
> -      106,  410,  410,  411,  411,  411,  411,  412,  412,  412,
> -      412,  413,   69,  413,  413,  414,  414,  414,  414,  415,
> -      415,  415,  415,  416,  416,  416,  416,  417,  417,  417,
> -      417,  418,  418,  418,  418,  419,  419,  419,  419,  420,
> -      420,  420,  420,  421,  421,  421,  421,  422,  422,  422,
> -      422,  423,  423,  423,  423,   36,   29,   25,   23,   17,
> -
> -        6,    5,    4,    3,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
> -      354,  354,  354,  354,  354,  354,  354,  354,  354
> +       24,   22,   24,   50,   26,   21,   50,   26,   19,   44,
> +       20,   26,   19,   31,   31,   24,   32,   32,   32,   31,
> +
> +       39,   42,   39,   32,   35,   35,   35,   35,   40,   45,
> +       44,   35,   35,   37,   37,   37,   37,   37,   42,   39,
> +       37,   37,   40,   41,   43,   41,   45,   45,   47,   47,
> +       48,   49,   51,   54,   55,   43,   51,   52,   54,   52,
> +       53,   48,   56,   53,   57,   58,   59,   61,   49,   71,
> +       59,   61,   60,   71,   62,   72,   56,   62,   55,   64,
> +       64,   75,   58,   72,   77,   64,   57,   60,   74,   60,
> +       67,   67,   73,   76,   73,   75,   67,   78,   74,   82,
> +       79,   78,   79,   77,   84,   80,   81,   76,   80,   83,
> +       81,   82,   83,   85,   89,   86,   84,   86,   88,   90,
> +
> +       88,   90,   91,   92,  100,   92,  104,  369,   95,  101,
> +       91,   85,   87,   87,   87,   87,   89,  138,  104,   87,
> +       87,   94,  100,   87,   87,   93,   93,   94,   93,   95,
> +      101,   93,   96,   96,  106,  107,  138,  107,   96,  102,
> +      102,  102,  102,  102,  103,  112,  102,  102,  103,  105,
> +      105,  109,  111,  109,  113,  105,  111,  120,  106,  115,
> +      115,  122,  113,  122,  367,  112,  114,  114,  114,  114,
> +      114,  115,  120,  114,  114,  116,  116,  118,  118,  121,
> +      118,  116,  117,  117,  117,  117,  117,  121,  124,  117,
> +      117,  119,  119,  119,  119,  119,  124,  127,  119,  119,
> +
> +      123,  123,  123,  123,  123,  125,  365,  123,  123,  125,
> +      126,  126,  128,  129,  129,  127,  128,  131,  131,  129,
> +      133,  134,  139,  131,  136,  136,  136,  134,  137,  136,
> +      141,  158,  143,  133,  143,  144,  144,  136,  179,  139,
> +      142,  144,  179,  137,  140,  140,  140,  140,  140,  141,
> +      158,  140,  140,  142,  146,  146,  148,  148,  149,  149,
> +      146,  150,  150,  152,  152,  148,  165,  150,  164,  152,
> +      154,  154,  156,  156,  149,  159,  154,  240,  156,  240,
> +      159,  160,  160,  162,  162,  165,  164,  160,  168,  162,
> +      167,  167,  363,  168,  169,  169,  174,  176,  176,  174,
> +
> +      169,  177,  177,  178,  178,  180,  181,  186,  186,  181,
> +      180,  182,  182,  177,  207,  178,  187,  182,  176,  184,
> +      184,  187,  207,  194,  194,  184,  188,  188,  188,  188,
> +      188,  189,  189,  188,  188,  194,  359,  189,  195,  195,
> +      196,  196,  201,  201,  206,  206,  196,  213,  201,  208,
> +      208,  214,  214,  218,  218,  208,  225,  213,  219,  219,
> +      220,  220,  225,  221,  221,  222,  222,  223,  223,  224,
> +      224,  226,  226,  220,  241,  224,  241,  226,  219,  221,
> +      222,  232,  232,  233,  233,  235,  235,  237,  249,  233,
> +      238,  235,  238,  238,  357,  237,  237,  242,  242,  247,
> +
> +      247,  250,  250,  251,  251,  247,  252,  252,  253,  254,
> +      254,  292,  249,  250,  265,  265,  253,  253,  258,  258,
> +      251,  254,  277,  252,  258,  259,  259,  274,  274,  265,
> +      292,  259,  269,  269,  269,  269,  269,  277,  284,  269,
> +      269,  278,  278,  274,  279,  283,  280,  279,  279,  280,
> +      280,  285,  284,  301,  283,  307,  278,  301,  285,  285,
> +      288,  288,  289,  289,  293,  293,  295,  295,  302,  302,
> +      293,  308,  295,  298,  298,  355,  288,  352,  307,  310,
> +      310,  298,  309,  309,  311,  302,  312,  310,  319,  319,
> +      313,  313,  311,  311,  312,  308,  313,  318,  309,  320,
> +
> +      318,  318,  320,  320,  325,  326,  327,  328,  327,  327,
> +      328,  328,  330,  338,  340,  340,  342,  340,  351,  351,
> +      351,  326,  354,  354,  325,  362,  330,  349,  347,  342,
> +      345,  338,  343,  362,  362,  372,  372,  372,  372,  373,
> +      373,  373,  374,  374,  374,  374,  375,  375,  375,  375,
> +      376,  341,  376,  376,  377,  377,  377,  377,  378,  339,
> +      378,  378,  379,  379,  379,  379,  380,  380,  336,  380,
> +      381,  381,  381,  381,  382,  334,  382,  382,  383,  383,
> +      383,  383,  384,  384,  384,  384,  385,  385,  385,  385,
> +      386,  386,  386,  386,  387,  387,  387,  387,  388,  388,
> +
> +      388,  388,  389,  333,  389,  389,  390,  390,  390,  390,
> +      391,  391,  391,  391,  392,  332,  392,  392,  393,  393,
> +      393,  393,  394,  331,  394,  394,  395,  395,  395,  395,
> +      396,  323,  396,  396,  397,  397,  397,  397,  398,  321,
> +      398,  398,  399,  399,  399,  399,  400,  305,  400,  400,
> +      401,  401,  401,  401,  402,  304,  402,  402,  403,  403,
> +      403,  403,  404,  303,  404,  404,  405,  299,  405,  405,
> +      406,  290,  406,  406,  407,  286,  407,  407,  408,  408,
> +      408,  408,  409,  409,  409,  409,  410,  281,  410,  410,
> +      411,  411,  411,  411,  412,  412,  412,  412,  413,  275,
> +
> +      413,  413,  414,  414,  414,  414,  415,  415,  415,  415,
> +      416,  416,  416,  416,  417,  417,  417,  417,  418,  418,
> +      418,  418,  419,  419,  419,  419,  420,  272,  420,  420,
> +      421,  421,  421,  421,  422,  422,  422,  422,  423,  270,
> +      423,  423,  424,  424,  424,  424,  425,  425,  425,  425,
> +      426,  426,  426,  426,  427,  268,  427,  427,  428,  428,
> +      428,  428,  429,  429,  429,  429,  430,  266,  430,  430,
> +      431,  431,  431,  431,  432,  432,  432,  432,  433,  433,
> +      433,  433,  434,  434,  434,  434,  435,  435,  435,  435,
> +      436,  436,  436,  436,  437,  437,  437,  437,  438,  438,
> +
> +      438,  438,  439,  439,  439,  439,  440,  440,  440,  440,
> +      441,  441,  441,  441,  442,  442,  442,  442,  256,  248,
> +      245,  243,  239,  231,  217,  215,  166,  110,  108,   70,
> +       36,   29,   25,   23,   17,    6,    5,    4,    3,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
> +      371,  371,  371,  371
>      } ;
>=20
>  #define YY_TRAILING_MASK 0x2000
> @@ -1160,9 +1177,17 @@ static void setbackendtype(DiskParseContext
> *dpc, const char *str) {
>      if (     !strcmp(str,"phy"))   DSET(dpc,backend,BACKEND,str,PHY);
>      else if (!strcmp(str,"tap"))   DSET(dpc,backend,BACKEND,str,TAP);
>      else if (!strcmp(str,"qdisk")) DSET(dpc,backend,BACKEND,str,QDISK);
> +    else if (!strcmp(str,"standalone"))
> DSET(dpc,backend,BACKEND,str,STANDALONE);
>      else xlu__disk_err(dpc,str,"unknown value for backendtype");
>  }
>=20
> +/* Sets ->specification from the string.  IDL should provide something f=
or
> this. */
> +static void setspecification(DiskParseContext *dpc, const char *str) {
> +    if      (!strcmp(str,"xen"))    DSET(dpc,specification,SPECIFICATION=
,str,XEN);
> +    else if (!strcmp(str,"virtio"))
> DSET(dpc,specification,SPECIFICATION,str,VIRTIO);
> +    else xlu__disk_err(dpc,str,"unknown value for specification");
> +}
> +
>  /* Sets ->colo-port from the string.  COLO need this. */
>  static void setcoloport(DiskParseContext *dpc, const char *str) {
>      int port =3D atoi(str);
> @@ -1199,9 +1224,9 @@ static int vdev_and_devtype(DiskParseContext
> *dpc, char *str) {
>  #undef DPC /* needs to be defined differently the actual lexer */
>  #define DPC ((DiskParseContext*)yyextra)
>=20
> -#line 1202 "libxlu_disk_l.c"
> +#line 1227 "libxlu_disk_l.c"
>=20
> -#line 1204 "libxlu_disk_l.c"
> +#line 1229 "libxlu_disk_l.c"
>=20
>  #define INITIAL 0
>  #define LEXERR 1
> @@ -1477,13 +1502,13 @@ YY_DECL
>  		}
>=20
>  	{
> -#line 177 "libxlu_disk_l.l"
> +#line 185 "libxlu_disk_l.l"
>=20
>=20
> -#line 180 "libxlu_disk_l.l"
> +#line 188 "libxlu_disk_l.l"
>   /*----- the scanner rules which do the parsing -----*/
>=20
> -#line 1486 "libxlu_disk_l.c"
> +#line 1511 "libxlu_disk_l.c"
>=20
>  	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is
> reached */
>  		{
> @@ -1515,14 +1540,14 @@ yy_match:
>  			while ( yy_chk[yy_base[yy_current_state] + yy_c] !=3D
> yy_current_state )
>  				{
>  				yy_current_state =3D (int)
> yy_def[yy_current_state];
> -				if ( yy_current_state >=3D 355 )
> +				if ( yy_current_state >=3D 372 )
>  					yy_c =3D yy_meta[yy_c];
>  				}
>  			yy_current_state =3D yy_nxt[yy_base[yy_current_state]
> + yy_c];
>  			*yyg->yy_state_ptr++ =3D yy_current_state;
>  			++yy_cp;
>  			}
> -		while ( yy_current_state !=3D 354 );
> +		while ( yy_current_state !=3D 371 );
>=20
>  yy_find_action:
>  		yy_current_state =3D *--yyg->yy_state_ptr;
> @@ -1572,152 +1597,158 @@ do_action:	/* This label is used only to
> access EOF actions. */
>  case 1:
>  /* rule 1 can match eol */
>  YY_RULE_SETUP
> -#line 182 "libxlu_disk_l.l"
> +#line 190 "libxlu_disk_l.l"
>  { /* ignore whitespace before parameters */ }
>  	YY_BREAK
>  /* ordinary parameters setting enums or strings */
>  case 2:
>  /* rule 2 can match eol */
>  YY_RULE_SETUP
> -#line 186 "libxlu_disk_l.l"
> +#line 194 "libxlu_disk_l.l"
>  { STRIP(','); setformat(DPC, FROMEQUALS); }
>  	YY_BREAK
>  case 3:
>  YY_RULE_SETUP
> -#line 188 "libxlu_disk_l.l"
> +#line 196 "libxlu_disk_l.l"
>  { DPC->disk->is_cdrom =3D 1; }
>  	YY_BREAK
>  case 4:
>  YY_RULE_SETUP
> -#line 189 "libxlu_disk_l.l"
> +#line 197 "libxlu_disk_l.l"
>  { DPC->disk->is_cdrom =3D 1; }
>  	YY_BREAK
>  case 5:
>  YY_RULE_SETUP
> -#line 190 "libxlu_disk_l.l"
> +#line 198 "libxlu_disk_l.l"
>  { DPC->disk->is_cdrom =3D 0; }
>  	YY_BREAK
>  case 6:
>  /* rule 6 can match eol */
>  YY_RULE_SETUP
> -#line 191 "libxlu_disk_l.l"
> +#line 199 "libxlu_disk_l.l"
>  { xlu__disk_err(DPC,yytext,"unknown value for type"); }
>  	YY_BREAK
>  case 7:
>  /* rule 7 can match eol */
>  YY_RULE_SETUP
> -#line 193 "libxlu_disk_l.l"
> +#line 201 "libxlu_disk_l.l"
>  { STRIP(','); setaccess(DPC, FROMEQUALS); }
>  	YY_BREAK
>  case 8:
>  /* rule 8 can match eol */
>  YY_RULE_SETUP
> -#line 194 "libxlu_disk_l.l"
> +#line 202 "libxlu_disk_l.l"
>  { STRIP(','); SAVESTRING("backend", backend_domname, FROMEQUALS); }
>  	YY_BREAK
>  case 9:
>  /* rule 9 can match eol */
>  YY_RULE_SETUP
> -#line 195 "libxlu_disk_l.l"
> +#line 203 "libxlu_disk_l.l"
>  { STRIP(','); setbackendtype(DPC,FROMEQUALS); }
>  	YY_BREAK
>  case 10:
>  /* rule 10 can match eol */
>  YY_RULE_SETUP
> -#line 197 "libxlu_disk_l.l"
> -{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
> +#line 204 "libxlu_disk_l.l"
> +{ STRIP(','); setspecification(DPC,FROMEQUALS); }
>  	YY_BREAK
>  case 11:
>  /* rule 11 can match eol */
>  YY_RULE_SETUP
> -#line 198 "libxlu_disk_l.l"
> -{ STRIP(','); SAVESTRING("script", script, FROMEQUALS); }
> +#line 206 "libxlu_disk_l.l"
> +{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
>  	YY_BREAK
>  case 12:
> +/* rule 12 can match eol */
>  YY_RULE_SETUP
> -#line 199 "libxlu_disk_l.l"
> -{ DPC->disk->direct_io_safe =3D 1; }
> +#line 207 "libxlu_disk_l.l"
> +{ STRIP(','); SAVESTRING("script", script, FROMEQUALS); }
>  	YY_BREAK
>  case 13:
>  YY_RULE_SETUP
> -#line 200 "libxlu_disk_l.l"
> -{ libxl_defbool_set(&DPC->disk->discard_enable, true); }
> +#line 208 "libxlu_disk_l.l"
> +{ DPC->disk->direct_io_safe =3D 1; }
>  	YY_BREAK
>  case 14:
>  YY_RULE_SETUP
> -#line 201 "libxlu_disk_l.l"
> -{ libxl_defbool_set(&DPC->disk->discard_enable, false); }
> +#line 209 "libxlu_disk_l.l"
> +{ libxl_defbool_set(&DPC->disk->discard_enable, true); }
>  	YY_BREAK
> -/* Note that the COLO configuration settings should be considered unstab=
le.
> -  * They may change incompatibly in future versions of Xen. */
>  case 15:
>  YY_RULE_SETUP
> -#line 204 "libxlu_disk_l.l"
> -{ libxl_defbool_set(&DPC->disk->colo_enable, true); }
> +#line 210 "libxlu_disk_l.l"
> +{ libxl_defbool_set(&DPC->disk->discard_enable, false); }
>  	YY_BREAK
> +/* Note that the COLO configuration settings should be considered unstab=
le.
> +  * They may change incompatibly in future versions of Xen. */
>  case 16:
>  YY_RULE_SETUP
> -#line 205 "libxlu_disk_l.l"
> -{ libxl_defbool_set(&DPC->disk->colo_enable, false); }
> +#line 213 "libxlu_disk_l.l"
> +{ libxl_defbool_set(&DPC->disk->colo_enable, true); }
>  	YY_BREAK
>  case 17:
> -/* rule 17 can match eol */
>  YY_RULE_SETUP
> -#line 206 "libxlu_disk_l.l"
> -{ STRIP(','); SAVESTRING("colo-host", colo_host, FROMEQUALS); }
> +#line 214 "libxlu_disk_l.l"
> +{ libxl_defbool_set(&DPC->disk->colo_enable, false); }
>  	YY_BREAK
>  case 18:
>  /* rule 18 can match eol */
>  YY_RULE_SETUP
> -#line 207 "libxlu_disk_l.l"
> -{ STRIP(','); setcoloport(DPC, FROMEQUALS); }
> +#line 215 "libxlu_disk_l.l"
> +{ STRIP(','); SAVESTRING("colo-host", colo_host, FROMEQUALS); }
>  	YY_BREAK
>  case 19:
>  /* rule 19 can match eol */
>  YY_RULE_SETUP
> -#line 208 "libxlu_disk_l.l"
> -{ STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); }
> +#line 216 "libxlu_disk_l.l"
> +{ STRIP(','); setcoloport(DPC, FROMEQUALS); }
>  	YY_BREAK
>  case 20:
>  /* rule 20 can match eol */
>  YY_RULE_SETUP
> -#line 209 "libxlu_disk_l.l"
> -{ STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); }
> +#line 217 "libxlu_disk_l.l"
> +{ STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); }
>  	YY_BREAK
>  case 21:
>  /* rule 21 can match eol */
>  YY_RULE_SETUP
> -#line 210 "libxlu_disk_l.l"
> +#line 218 "libxlu_disk_l.l"
> +{ STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); }
> +	YY_BREAK
> +case 22:
> +/* rule 22 can match eol */
> +YY_RULE_SETUP
> +#line 219 "libxlu_disk_l.l"
>  { STRIP(','); SAVESTRING("hidden-disk", hidden_disk, FROMEQUALS); }
>  	YY_BREAK
>  /* the target magic parameter, eats the rest of the string */
> -case 22:
> +case 23:
>  YY_RULE_SETUP
> -#line 214 "libxlu_disk_l.l"
> +#line 223 "libxlu_disk_l.l"
>  { STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); }
>  	YY_BREAK
>  /* unknown parameters */
> -case 23:
> -/* rule 23 can match eol */
> +case 24:
> +/* rule 24 can match eol */
>  YY_RULE_SETUP
> -#line 218 "libxlu_disk_l.l"
> +#line 227 "libxlu_disk_l.l"
>  { xlu__disk_err(DPC,yytext,"unknown parameter"); }
>  	YY_BREAK
>  /* deprecated prefixes */
>  /* the "/.*" in these patterns ensures that they count as if they
>     * matched the whole string, so these patterns take precedence */
> -case 24:
> +case 25:
>  YY_RULE_SETUP
> -#line 225 "libxlu_disk_l.l"
> +#line 234 "libxlu_disk_l.l"
>  {
>                      STRIP(':');
>                      DPC->had_depr_prefix=3D1; DEPRECATE("use `[format=3D=
]...,'");
>                      setformat(DPC, yytext);
>                   }
>  	YY_BREAK
> -case 25:
> +case 26:
>  YY_RULE_SETUP
> -#line 231 "libxlu_disk_l.l"
> +#line 240 "libxlu_disk_l.l"
>  {
>                      char *newscript;
>                      STRIP(':');
> @@ -1731,65 +1762,65 @@ YY_RULE_SETUP
>                      free(newscript);
>                  }
>  	YY_BREAK
> -case 26:
> +case 27:
>  *yy_cp =3D yyg->yy_hold_char; /* undo effects of setting up yytext */
>  yyg->yy_c_buf_p =3D yy_cp =3D yy_bp + 8;
>  YY_DO_BEFORE_ACTION; /* set up yytext again */
>  YY_RULE_SETUP
> -#line 244 "libxlu_disk_l.l"
> +#line 253 "libxlu_disk_l.l"
>  { DPC->had_depr_prefix=3D1; DEPRECATE(0); }
>  	YY_BREAK
> -case 27:
> +case 28:
>  YY_RULE_SETUP
> -#line 245 "libxlu_disk_l.l"
> +#line 254 "libxlu_disk_l.l"
>  { DPC->had_depr_prefix=3D1; DEPRECATE(0); }
>  	YY_BREAK
> -case 28:
> +case 29:
>  *yy_cp =3D yyg->yy_hold_char; /* undo effects of setting up yytext */
>  yyg->yy_c_buf_p =3D yy_cp =3D yy_bp + 4;
>  YY_DO_BEFORE_ACTION; /* set up yytext again */
>  YY_RULE_SETUP
> -#line 246 "libxlu_disk_l.l"
> +#line 255 "libxlu_disk_l.l"
>  { DPC->had_depr_prefix=3D1; DEPRECATE(0); }
>  	YY_BREAK
> -case 29:
> +case 30:
>  *yy_cp =3D yyg->yy_hold_char; /* undo effects of setting up yytext */
>  yyg->yy_c_buf_p =3D yy_cp =3D yy_bp + 6;
>  YY_DO_BEFORE_ACTION; /* set up yytext again */
>  YY_RULE_SETUP
> -#line 247 "libxlu_disk_l.l"
> +#line 256 "libxlu_disk_l.l"
>  { DPC->had_depr_prefix=3D1; DEPRECATE(0); }
>  	YY_BREAK
> -case 30:
> +case 31:
>  *yy_cp =3D yyg->yy_hold_char; /* undo effects of setting up yytext */
>  yyg->yy_c_buf_p =3D yy_cp =3D yy_bp + 5;
>  YY_DO_BEFORE_ACTION; /* set up yytext again */
>  YY_RULE_SETUP
> -#line 248 "libxlu_disk_l.l"
> +#line 257 "libxlu_disk_l.l"
>  { DPC->had_depr_prefix=3D1; DEPRECATE(0); }
>  	YY_BREAK
> -case 31:
> +case 32:
>  *yy_cp =3D yyg->yy_hold_char; /* undo effects of setting up yytext */
>  yyg->yy_c_buf_p =3D yy_cp =3D yy_bp + 4;
>  YY_DO_BEFORE_ACTION; /* set up yytext again */
>  YY_RULE_SETUP
> -#line 249 "libxlu_disk_l.l"
> +#line 258 "libxlu_disk_l.l"
>  { DPC->had_depr_prefix=3D1; DEPRECATE(0); }
>  	YY_BREAK
> -case 32:
> -/* rule 32 can match eol */
> +case 33:
> +/* rule 33 can match eol */
>  YY_RULE_SETUP
> -#line 251 "libxlu_disk_l.l"
> +#line 260 "libxlu_disk_l.l"
>  {
>  		  xlu__disk_err(DPC,yytext,"unknown deprecated disk
> prefix");
>  		  return 0;
>  		}
>  	YY_BREAK
>  /* positional parameters */
> -case 33:
> -/* rule 33 can match eol */
> +case 34:
> +/* rule 34 can match eol */
>  YY_RULE_SETUP
> -#line 258 "libxlu_disk_l.l"
> +#line 267 "libxlu_disk_l.l"
>  {
>      STRIP(',');
>=20
> @@ -1816,27 +1847,27 @@ YY_RULE_SETUP
>      }
>  }
>  	YY_BREAK
> -case 34:
> +case 35:
>  YY_RULE_SETUP
> -#line 284 "libxlu_disk_l.l"
> +#line 293 "libxlu_disk_l.l"
>  {
>      BEGIN(LEXERR);
>      yymore();
>  }
>  	YY_BREAK
> -case 35:
> +case 36:
>  YY_RULE_SETUP
> -#line 288 "libxlu_disk_l.l"
> +#line 297 "libxlu_disk_l.l"
>  {
>      xlu__disk_err(DPC,yytext,"bad disk syntax"); return 0;
>  }
>  	YY_BREAK
> -case 36:
> +case 37:
>  YY_RULE_SETUP
> -#line 291 "libxlu_disk_l.l"
> +#line 300 "libxlu_disk_l.l"
>  YY_FATAL_ERROR( "flex scanner jammed" );
>  	YY_BREAK
> -#line 1839 "libxlu_disk_l.c"
> +#line 1870 "libxlu_disk_l.c"
>  			case YY_STATE_EOF(INITIAL):
>  			case YY_STATE_EOF(LEXERR):
>  				yyterminate();
> @@ -2104,7 +2135,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
>  		while ( yy_chk[yy_base[yy_current_state] + yy_c] !=3D
> yy_current_state )
>  			{
>  			yy_current_state =3D (int) yy_def[yy_current_state];
> -			if ( yy_current_state >=3D 355 )
> +			if ( yy_current_state >=3D 372 )
>  				yy_c =3D yy_meta[yy_c];
>  			}
>  		yy_current_state =3D yy_nxt[yy_base[yy_current_state] + yy_c];
> @@ -2128,11 +2159,11 @@ static int yy_get_next_buffer (yyscan_t
> yyscanner)
>  	while ( yy_chk[yy_base[yy_current_state] + yy_c] !=3D yy_current_state =
)
>  		{
>  		yy_current_state =3D (int) yy_def[yy_current_state];
> -		if ( yy_current_state >=3D 355 )
> +		if ( yy_current_state >=3D 372 )
>  			yy_c =3D yy_meta[yy_c];
>  		}
>  	yy_current_state =3D yy_nxt[yy_base[yy_current_state] + yy_c];
> -	yy_is_jam =3D (yy_current_state =3D=3D 354);
> +	yy_is_jam =3D (yy_current_state =3D=3D 371);
>  	if ( ! yy_is_jam )
>  		*yyg->yy_state_ptr++ =3D yy_current_state;
>=20
> @@ -2941,4 +2972,4 @@ void yyfree (void * ptr , yyscan_t yyscanner)
>=20
>  #define YYTABLES_NAME "yytables"
>=20
> -#line 291 "libxlu_disk_l.l"
> +#line 300 "libxlu_disk_l.l"
> diff --git a/tools/libs/util/libxlu_disk_l.h b/tools/libs/util/libxlu_dis=
k_l.h
> index 6abeecf279..509aad67dc 100644
> --- a/tools/libs/util/libxlu_disk_l.h
> +++ b/tools/libs/util/libxlu_disk_l.h
> @@ -694,7 +694,7 @@ extern int yylex (yyscan_t yyscanner);
>  #undef yyTABLES_NAME
>  #endif
>=20
> -#line 291 "libxlu_disk_l.l"
> +#line 300 "libxlu_disk_l.l"
>=20
>  #line 699 "libxlu_disk_l.h"
>  #undef xlu__disk_yyIN_HEADER
> diff --git a/tools/libs/util/libxlu_disk_l.l b/tools/libs/util/libxlu_dis=
k_l.l
> index 3bd639aab0..c3617f1263 100644
> --- a/tools/libs/util/libxlu_disk_l.l
> +++ b/tools/libs/util/libxlu_disk_l.l
> @@ -122,9 +122,17 @@ static void setbackendtype(DiskParseContext *dpc,
> const char *str) {
>      if (     !strcmp(str,"phy"))   DSET(dpc,backend,BACKEND,str,PHY);
>      else if (!strcmp(str,"tap"))   DSET(dpc,backend,BACKEND,str,TAP);
>      else if (!strcmp(str,"qdisk")) DSET(dpc,backend,BACKEND,str,QDISK);
> +    else if (!strcmp(str,"standalone"))
> DSET(dpc,backend,BACKEND,str,STANDALONE);
>      else xlu__disk_err(dpc,str,"unknown value for backendtype");
>  }
>=20
> +/* Sets ->specification from the string.  IDL should provide something f=
or
> this. */
> +static void setspecification(DiskParseContext *dpc, const char *str) {
> +    if      (!strcmp(str,"xen"))    DSET(dpc,specification,SPECIFICATION=
,str,XEN);
> +    else if (!strcmp(str,"virtio"))
> DSET(dpc,specification,SPECIFICATION,str,VIRTIO);
> +    else xlu__disk_err(dpc,str,"unknown value for specification");
> +}
> +
>  /* Sets ->colo-port from the string.  COLO need this. */
>  static void setcoloport(DiskParseContext *dpc, const char *str) {
>      int port =3D atoi(str);
> @@ -192,6 +200,7 @@ devtype=3D[^,]*,?
> 	{ xlu__disk_err(DPC,yytext,"unknown value for type"); }
>  access=3D[^,]*,?	{ STRIP(','); setaccess(DPC, FROMEQUALS); }
>  backend=3D[^,]*,? { STRIP(','); SAVESTRING("backend", backend_domname,
> FROMEQUALS); }
>  backendtype=3D[^,]*,? { STRIP(','); setbackendtype(DPC,FROMEQUALS); }
> +specification=3D[^,]*,? { STRIP(','); setspecification(DPC,FROMEQUALS); =
}
>=20
>  vdev=3D[^,]*,?	{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
>  script=3D[^,]*,?	{ STRIP(','); SAVESTRING("script", script, FROMEQUALS);=
 }
> diff --git a/tools/xl/xl_block.c b/tools/xl/xl_block.c
> index 70eed431e4..8836c07d6b 100644
> --- a/tools/xl/xl_block.c
> +++ b/tools/xl/xl_block.c
> @@ -119,6 +119,12 @@ int main_blockdetach(int argc, char **argv)
>          fprintf(stderr, "Error: Device %s not connected.\n", argv[optind=
+1]);
>          return 1;
>      }
> +
> +    if (disk.specification =3D=3D LIBXL_DISK_SPECIFICATION_VIRTIO) {
> +        fprintf(stderr, "Hotunplug isn't supported for specification vir=
tio\n");
> +        return 1;
> +    }
> +
>      rc =3D !force ? libxl_device_disk_safe_remove(ctx, domid, &disk, 0) =
:
>          libxl_device_disk_destroy(ctx, domid, &disk, 0);
>      if (rc) {
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 08:37:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 08:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388737.625476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOEYE-0000x0-Ke; Wed, 17 Aug 2022 08:37:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388737.625476; Wed, 17 Aug 2022 08:37:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOEYE-0000wt-H1; Wed, 17 Aug 2022 08:37:22 +0000
Received: by outflank-mailman (input) for mailman id 388737;
 Wed, 17 Aug 2022 08:37:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOEYC-0000wn-HW
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 08:37:20 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2088.outbound.protection.outlook.com [40.107.105.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce390132-1e07-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 10:37:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8715.eurprd04.prod.outlook.com (2603:10a6:20b:43e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 17 Aug
 2022 08:37:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 08:37:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce390132-1e07-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WXLdS5zEp20g/J544ha8fT2Rjddj/sVbHdyIwAvmV9tGdB1uZMeHeXzD2ltIyYxp+juuV68o48ajIrtlYI2hjjS5OzsmIaf5vT20ptVnb7O9kx2DzVBaeU10dHUJHN7uYtX487QdoBSSIfjYEFB3BR/NyWX7zihbIKh23KzgUj14ajdPn/7YHifN5EXU6+d1yJKs36IIRsyF36NQpxrUhUgyTZWFaDyxH6IjJzKtRGoGC1ILCrIltJUpJPBtNcOcCVcZoiwJMeK5vPxzu7RQCaMKNeI9YaSXeQooZd+ow5IqeN+sGkfonKu+70dg7/+neU9/NqUO/KQ/lUC8AbLFXQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7w5dscsKH1+XS6ikeKzQ3eRGM2tBkUkycjyueMpk854=;
 b=QTMoO2Fn1OjvviSZPlG+kXX1h6+lAndwV4pNrNniohD7L6RegT1hJjv3mQwTmJTN9ca8/T9Q4vpAhMJMd1kEm1TIH0a2tJNAq125YNLuu7U50KND2uxporR5/kyfz/tgMAFHmnOHwsn6TdADcyFkM5zcy/Joj7E1Hkm60hz5rnUE5sni7E2cjnWlYwNRTpA3S5/3wS8be98Q4hZ9cwhp9BWfUzpoOeP09xmRu3c/tWiAJ4SVHzPUZx1LalpzafMZ27pjx4MLqp8G1HHaA+sRrpnjt5ECWeAi8ETHU8beFlJIUcH8A+yMbCwkD+pcQ2O0kK0ceNrr2auDjoYSzV160w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7w5dscsKH1+XS6ikeKzQ3eRGM2tBkUkycjyueMpk854=;
 b=lVhsYDs0DEVB+cChYtIJBjjCQ/3m/cXS5nV+Vry5CjQJ1PJjCdZ5fmDkZqVcWOWhpStNKpY8zSCeK3bYDW2zV6Ct5dturQJpBuwiuMxqDyGbEyNpyQ2G8YYB5UAHYNGvi52o3Uj0hzguKW9L+ERzz6x8xl6TfaUKqbpumeR1VzRJlSlyN6ns3XRBd+7CqgjgUIhXGAxttHsXU4Z1owBfZQfUIolYaVTQaWONDFSgh+Sq+I4x9KYbOZdtu/wjeXe0cwpGMxklcjTYC1EBhXp4jT8N0NEh5buIwXmSZwGHIzHMorxMEKrFk5r5g9e8EhSk7YeUVPSpIt0vioBzsD4BwQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <da0126fb-d357-bde3-f362-32c7d3b51ee4@suse.com>
Date: Wed, 17 Aug 2022 10:37:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220816185954.31945-1-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220816185954.31945-1-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 36405c67-debd-42cc-1465-08da802bb169
X-MS-TrafficTypeDiagnostic: AM9PR04MB8715:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sSxwmJqs7Yemv5dxTjgzFcZjRcE+IzjQqylJX85SneekTvX86bYwUlEDeuLLrJGCGoqGtHXwTF5HtFS4r/hGv7fePwZ4/hvt3zSOphowMFaVcnXUKn4MavsFmOjV+OdnQRo1hePSGkXP+6cgscTLD4qRQUNfh4u191mvYsgarWUWzoPGShXmKn0mTKUfkzQ0nnFW+wEI1EcqQFGHfq+4a9oSCqv8nEA707wyr60r0IknP+t9lp/Hg6rwNwBnyIMwmC5QnZcyzn4ThS/SritjQ+56IjQ8zjM8KX+rlKrifqwbG6/5poCyuSJ93EE7q/CFG5Z/2x0AcMRFrONIJdXZ+rolf/f/sC5EsZaH4eHRAZzVI95JBlAcgrAMqcMSQsfVK1eA+dzviYh5eRd+qnieSexJtMRrEh5qstZa/p06ULEx4CYAAxWe0R/FmhEtH0If5pgq5YL4oBzebRj4xkKR2wGnSod0he4648mM1sAteXJdNyZtsphh1WxhvTEWk/nKLZvBoMHFru8w0axTipTuwbamJ92XG559MWzSFRY+3AW1EYC2i34CBAi00g1PxzxhibnEGTQymhafZKVCFjerh3MZlc5al+IFjO2H4wUqqnOvjRVQvctCIpoDdb7LxksYGchFTuXoaDyQMeDmHeS5AEKF85yeLoVzjwx6zc3rUjCBRU0QfwFQQb28WhB+SgPpQem5+8jTYSgphnua0X9LabBG0Uec8WvJ6eYzp+W4zEChJwvmWBy5uj6F97c1QDUDQUmMk7m3yDjZ2jLFET0XhV/87qxQaSRh7TtewgZ+FLBmeCrGk8RoIyfufXZfP6a+FgEnmeqWTQUahn4StCU4rQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(346002)(366004)(39860400002)(396003)(54906003)(2906002)(41300700001)(316002)(6916009)(8676002)(66476007)(4326008)(36756003)(66946007)(2616005)(31686004)(186003)(66556008)(26005)(38100700002)(6506007)(6512007)(8936002)(86362001)(6486002)(478600001)(53546011)(5660300002)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YnU1RUtnZTZSZUhHa3Z3ekpwSjZSZ2dLRHBiV1RzV0MyeXp3SWluWlRrbXFi?=
 =?utf-8?B?YWk0QnNUSXQ5MER4T0ZuVUxOUU9HZXRNS2puWXlqWHgzL3YxOFhXSmh3VCto?=
 =?utf-8?B?bWx2U1Uwczc0c3FNMDZ3aEV6WlVzN3FNelcwQVk2UVFSNFNLTHRMcHJUL1BL?=
 =?utf-8?B?NGtaZm5JRVdzSUdybXE3WDk2RjdOOUlYVmN0UXZZclRjVmlhM01oWHM4Z3pw?=
 =?utf-8?B?bDQwdG15NFk3RzUrWkJhancwWmQ2d1QzWHFyUDBtTzZUaitsekt1ZU03SE11?=
 =?utf-8?B?ZmxXSmlzci8xeGRyMDYyeXpJZWdnQXEyL29MOVJjUTl5cnJkdWZWVHFyQmxQ?=
 =?utf-8?B?a0NQYUVyT2hIRHMxSUNEUXNjQi9kV3lsSitYdndZRFRjTzdBUS91K0RQRndo?=
 =?utf-8?B?SWZEWGVkSGNzMDNuYXVyY3pmMGVIUWFLdWpwQlpGM0dvTklZRDBmYTExS1li?=
 =?utf-8?B?WFZSYjJKaS9NaCtwTnFjT3RCOUlTVzJRdXJNZkVQL2dyQjRMcXNaWUhsKzlK?=
 =?utf-8?B?ODNwRmNSakZzV0V4RVk4dzcrclQyQ0F6eEx0RTNGcDNxZGcyd05TcGthczNn?=
 =?utf-8?B?UHVxc3VtREluandMWENpRDErZjdWdE5UUlNuZG1xbGUxbE5YTFBMbzlaWFky?=
 =?utf-8?B?UlJJbTNzU2hQcnB3Z2prK1hPUEdEMlluTzFJdUd0Vk1paTlrNFVTNVNGZGl2?=
 =?utf-8?B?STEvNm5jMEc5b0ErVmlzSmNsYXVBbXF1bU41WUUrWmN0UHVkWHpxaVU0bGtB?=
 =?utf-8?B?cFAzTEswL3REcHZYdUdMY2JOMkRHQ3ZRTTYxQUxzUUJnaTNZOU9TWWhETzFa?=
 =?utf-8?B?SEJ0RUUvT0U1Q3I5Zmd4bkp1MW1NdkdIZW1NdXpvS1dOZDd6ZkRnTTBkS3Ix?=
 =?utf-8?B?ZEhZY1hld1pkZXJ1NEZ4NUZXY0l0RFloVU5LemZDMEwxczc2MUFvVE54RGJR?=
 =?utf-8?B?U0pDcU9SR2paZ3BUMk52N0pkc3V4bEdHTEt1bGl3L0JybzhvTmt4WUtFY3ls?=
 =?utf-8?B?KzZDbFNvcFhQaUtLZ3JDRjZZMlVRb1pBaEpwZEhtNlRjUDF4UEhSRGswbEhV?=
 =?utf-8?B?UXFkSGw2ODNXN0VWSjhtb0svKzVBbVlFVWdaT012dzExMjhnVjFXeVgvbFJ4?=
 =?utf-8?B?TnJQTDRlU3ltcVgwR0c2OXRZRmljcWxGc3U5WFo1MFgrKzI3cWpjMU5Ja2Y2?=
 =?utf-8?B?cHZRS3hucXlvRUZiRFFKbTNDQzVNN2dsNzlDdkhXaU5mQ2lzNEFFYnFBYk9Z?=
 =?utf-8?B?eEM1TjhBSzZDZW5yMEhjQUhvMVYxdDNJYWZyU2hhQkUwa25tQUpPQW1jenBz?=
 =?utf-8?B?UG5LeEJYSkNmZjZwY05GQkZNL2JsVDVhWWs0YUtjNzViSFV0NU5YWnhHVHNM?=
 =?utf-8?B?K2VBTE5BenVFQzY1UlBGUDR1QTdrdEZHSFJmRWIzVTArQzV3Q0E0UDQ5RXhR?=
 =?utf-8?B?TjVXSnNrejlubWFrM1RPV0xsZG5tMHM2WXJNanpCSGNxRDI5RWFSZW8rOVli?=
 =?utf-8?B?aWNGMldxaGpmZCtsdXE1VkVLWEtSUys4eVBOZ09GUjhZcVpmRURTT3ZTSlUz?=
 =?utf-8?B?bVZVbmZubFZVVHB3dkdYY2h6RHNTbzNWSi82S0FFM1lOTGVSeCt2L2dNMGV3?=
 =?utf-8?B?S3Y0elNRWTMxa2dlZ3lMazhuc3V3Q1VIa1U5SnVkV0xyMjdVYW5UVHZPSS83?=
 =?utf-8?B?aVVJQTN3Z2wveTlpSVgrUTRrNHNQMnhPalZCWitLOHpqcnU1K0diTEpWVkR3?=
 =?utf-8?B?MXhwZGo5c3U0b1A5aXMzakVHWDJiK1lVS1VOMERUcDcrN25zSlYzc29sL0xT?=
 =?utf-8?B?Q3BNbi9hWVAxTWZKMG9ZNHBNK2xzS0FhdTYzSUJnNW5GWXRMbE9rZjdkZjlo?=
 =?utf-8?B?SEFiMFMvMjVuZ1p5YjZUWDZUSiszT1NaSVpZT2pPOXBBeHlubkZiUDhiQy9p?=
 =?utf-8?B?cFIvNU56ZUFYSGRmZndjSEV3a0NueENCWWlSWkloWUpjalg5NHZpODhtSzFX?=
 =?utf-8?B?NVBJSzVPbzFPM3pXZEZuaDFZWEVidW5GUGFDU3NpbzE1T0tTYVYvRU1ld2J2?=
 =?utf-8?B?ajBuaWh5dTFicGphT2xVWXhVR2hHYWpoazhZWHhuUU5KUFNpYy9uaUtudEM5?=
 =?utf-8?Q?QS1P8fbra6ZX4gNJd+sZw/LZN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36405c67-debd-42cc-1465-08da802bb169
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 08:37:17.6467
 (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: S0+6Tf5VaUJPovnInnMXbfc383khjRHIM6ORIbski9BciNcuqlmo6OSGPTQnoyrYqObxXToMMypfabzu7sSCJg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8715

On 16.08.2022 20:59, Julien Grall wrote:
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -75,10 +75,24 @@ domid_t __read_mostly max_init_domid;
>  
>  static __used void init_done(void)
>  {
> +    int rc;
> +
>      /* Must be done past setting system_state. */
>      unregister_init_virtual_region();
>  
>      free_init_memory();
> +
> +    /*
> +     * We have finished to boot. Mark the section .data.ro_after_init
> +     * read-only.
> +     */
> +    rc = modify_xen_mappings((unsigned long)&__ro_after_init_start,
> +                             (unsigned long)&__ro_after_init_end,
> +                             PAGE_HYPERVISOR_RO);
> +    if ( rc )
> +        panic("Unable to mark the .data.ro_after_init section read-only (rc = %d)\n",
> +              rc);

Just wondering - is this really worth panic()ing?

> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -83,6 +83,13 @@ SECTIONS
>    _erodata = .;                /* End of read-only data */
>  
>    . = ALIGN(PAGE_SIZE);
> +  .data.ro_after_init : {
> +      __ro_after_init_start = .;
> +      *(.data.ro_after_init)
> +      . = ALIGN(PAGE_SIZE);
> +      __ro_after_init_end = .;
> +  } : text

Again just wondering: Wouldn't it be an option to avoid the initial
page size alignment (and the resulting padding) here, simply making
.data.ro_after_init part of .rodata and do the earlier write-protection
only up to (but excluding) the page containing __ro_after_init_start?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 08:51:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 08:51:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388745.625487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOElZ-0003GE-Qt; Wed, 17 Aug 2022 08:51:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388745.625487; Wed, 17 Aug 2022 08:51:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOElZ-0003G7-Nm; Wed, 17 Aug 2022 08:51:09 +0000
Received: by outflank-mailman (input) for mailman id 388745;
 Wed, 17 Aug 2022 08:51:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOElX-0003G1-UX
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 08:51:07 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2078.outbound.protection.outlook.com [40.107.104.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id baf77b30-1e09-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 10:51:06 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB4664.eurprd04.prod.outlook.com (2603:10a6:20b:25::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Wed, 17 Aug
 2022 08:51:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 08:51:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: baf77b30-1e09-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d72Yq7h4qjaBJdMpWSfKbt+k4c5TxQV29KU+mrFFTz1cxWGoaP2siKCLB/iDSN5LnuoQ54vUk7/zLHLhyOx/eeJRU56BbFqKVWCk5s6spmq+r1MPpNo8282zs6qnaNBnINIWRnVDtp7wfjQZ4mMKu2FNOF6ruvlxTHKkzwYmxq7Wp/gJHPLylayJw6137PEfy3QV5iLPlF9JiB3Dp/iWTVFiIu/1pawWTC9JoHdU5qxa5tr5YNuPvUxy+DCivn+2/ey8QoeR7kiglWciBO9vWrjvdQ98V53d40cePq68IXZFYi1gtxs/DpQ5qAZhZlzpP9N4b6mvacqmHnQI2V9Ctw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1KNIHRTwuVsXDeNf0hizZ0ZQ5aVUULu1bWpEcMl9E1M=;
 b=cGK193rKmJ/TLnXz7ARjXKU1Zxw3tSnrJmMG9rfzAcT+VmGpZKGiWjj+87AdOpwC1Pry5IAdEBvybsl0L7JMChxWREP///YvGCma2Yd5ezQI/oMLr9nFxPqls+8iHWingf6OxYXP/HRz64zQqI97Z8evmnYwZQ+Yq8qDSxOJ8ewvjsxsdJYnq0ZT/E5qPw7DOqvooYZVwIQm+69oXrx/xcICMdgn6cQ9zTfLPoIj/kFodqv6xpphGuEs5+EbTyFrybG3wWUT4CnwhJoTtP6rX0iHK8y7oRIA1ZXX+h7cUgjBuutp+GvwftoHrSNptwYSrK1DVvE/EnMQ11FloOVzRg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1KNIHRTwuVsXDeNf0hizZ0ZQ5aVUULu1bWpEcMl9E1M=;
 b=GjdMLAFyo86jQ+7Gy7tI95n2VXavQgbj1WDEfCsXbAt98RYxEATHI93fte9M4mgJV8LNPD/+FBUMyhT6jGpG4bAQy3TZSlhq9/bBCmzXelfOH6c2Fepv8k4MCHsQ0X/PxMQM5oLjtDOEw27nDb5svPGzC8rlc5kjbixQP0OyVoGiL0PZ/71fyNnD85MaM6i5kVLVGFxjwOKJdclEQh9HLTwSpDqqb3mlYQmdYENWFT83tQkDx/qq+DldOv71iXVCSPaSC7Ma8T/8ieOniPxv2Js3Wxuq1XGV7dspalJ/RyIbAmp6pC1W5qiDSph1Nq3rJJYZBAVC/LyVHGb8gY/klg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41292732-588e-10b8-7264-a9f329910523@suse.com>
Date: Wed, 17 Aug 2022 10:51:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v10 6/9] xen: unpopulate memory when domain is static
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-7-Penny.Zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220816023658.3551936-7-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ce902ff9-1096-4314-2216-08da802d9deb
X-MS-TrafficTypeDiagnostic: AM6PR04MB4664:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I0gOk4KhgYZHFJ4S4EfqsUVIW3K95EIqVYPWKxq/2b9dSZBWnt3Zewwqe3Ylju04vl7RnBwdU1HCL5uJu+GQB8xcnFQ1erDtodRcWFiDzB8Pnw9fNfGFydJp0HrH639DGE3IKV2LLzUu97BSCXoDza7o/zQyqROtHEZ8wx29RwjhPk3GOfAO13Oa6vTARNaARZ9IvLl0x8LqfblgAIh2tWHGU3+DoNC3ukm8tfJgoBzehURSWbxdm4DB6tr8XLz4pyt8lQvxEAutdhFzuAuV5ZPo7akB2m/QG7U0opDF0+NuBJ/UtjRGJZ3S13w7EUDoV6VvoxZjGY3vR8q/wV9wbqHracInkllnsFaHqfFqwAj3w1PKlr8YXUsbJrpNyN7apIkfqNYZCWHUpbX/mUXQBanE0CF/OiXOAvi3VnnS4e/t0b+QblECMM1r69gyYxyBZpidYWqq2Man1h+E0N61HWDCMZuRsSA8fGbIQLHlxydt2VzD/+lR8t4RETZK5zxlMS3SiUjfYGyKqmgMbgmxd1p3RpTRxXOCzsj2ppEWrYhNXPNJwrvqOqkBe1INl5ueDq2Qmay8i42ea/DPhBCVAsMlzTxJc5pSxsa4TVZwtldPVv/MahOye3H4F7jqNW+rW5pu5BYd/rIy0aat2RYC1q1gtXXG4BmK8+QD3B/qPaJDrqxAMpwlUZAD2BpUracuFevKJjtBBDtSgh259pFy4VK0WakL91LG6fmZN3w6UjSEdfPl8ExIhWx5+Or69g1Yp5arRa9gjkV00k8CYhrRxdJymQUKUC0Ijgl6Ru9YHEkoYYoJvLbBabsQrthHrDyNqMqBkL4v/0SwezV5HVPR8A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(396003)(366004)(136003)(39860400002)(53546011)(8936002)(2616005)(6512007)(2906002)(6506007)(5660300002)(4744005)(478600001)(26005)(41300700001)(31696002)(186003)(86362001)(38100700002)(54906003)(6916009)(31686004)(66476007)(66556008)(66946007)(4326008)(316002)(36756003)(6486002)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eHlOTHoxWGpJdGVCaGVGOXRUSkpYRFd3UXRScU51M2ZJSlJ3dWNVUmdiczJ5?=
 =?utf-8?B?NXlOaXkyTXVrTG1CUmEzV1NZK2xoS3dvdEpyN1FNSFpqTk1JYjg3UU1zNGh6?=
 =?utf-8?B?ODFuY1ZId0luSnRXZW9pMENOdUowdTZ2YUhTQktsQzd5QWdBTmpBdXRiSjB2?=
 =?utf-8?B?Y2U4ZmMzY1U4RmJUSlVYMGNqL1BGeU9SemVpMFlZVmNDWDVSUVYxdXY4dVdD?=
 =?utf-8?B?NU45QzB3M3NoTUFPeGRFSmRpSVljODA1bG5uOWJiamZhM2QzbkZMaUZmQ0NB?=
 =?utf-8?B?eEZrS3BYa1QyZjhsdWVYeUd2THFYZUx0ZjFTYUhxR2NjTjB4eWFEQmJZTnJV?=
 =?utf-8?B?cVRuTFNKVlJzWVByKy9GU3o2bFIwa1U0NmsvUlFpS0dpNXEzRVJyMU0vdUlK?=
 =?utf-8?B?VXQ2WitEVUZOMmVyVFV3bzB0dk9ONFVhd09tOTZPeGowUnArd3dCa2MvL2Zk?=
 =?utf-8?B?QVJabXBiSVo3a3BMTG0vZ01WOXl0YThIMVM2NFo2TnJkV0xBcGpvdUFtRDRo?=
 =?utf-8?B?QnowNGs0RHViWUtSSjFYWk5ZTGFPaVpLd0FsU1piQU1NMk90VUZ4QlAwd0lh?=
 =?utf-8?B?UmptU1RjY1lsSFRVSm9mbDN5bDhBY282V01SeFcvcXZpbk0yVjR1cFh2VTZB?=
 =?utf-8?B?N2FBdzZNUUNHVERpNk5mMVRRMTErekwySjdocHFmM0x6SFZUUTZVRzlneHV3?=
 =?utf-8?B?Q3IzVlBmUlRGV2xiUEc1RzNJcGZRdHdDUEJhL0JvSlY1SWlvUUwyeEZFdUox?=
 =?utf-8?B?OWhMaTFnNlY0MTgzRTE5dFYxMnFnekRHM21KWEdKODhGTkVEQ3BXcXh0cmQ3?=
 =?utf-8?B?OE00cmlqZnpNd1BLT080VUZ4Q2owelB4Y0VzRlg3Y3lnR1Y1QkNZOVRjdnlZ?=
 =?utf-8?B?UklTZEdvS1greFhGbkdkTnNnREN1REpwWnBzcnBIUVl5TGhoTzdSZTV4VWEx?=
 =?utf-8?B?VFZQalIwVzh5L01lNUtOYzQ4bEZKQkhhWVdlYkh1am54WGtwd3Zta0xNUTlV?=
 =?utf-8?B?eDhGc3p6Mk1MU0w4cVd1algyemdhM1Y5eHlzd05RS1RLTEVwakU1NHMwZTN2?=
 =?utf-8?B?TDJJdjlteFk1d0NGcFZBaUR2MTc5UDRXcC9iNkJ3cTFMNnJZbHZ1ZGNBSG9F?=
 =?utf-8?B?cDhadkNYUmg0c1cxamR1MlNFWjhwUVJuTFVuK1RVS1dBa1JCeWFHQ3B4TUto?=
 =?utf-8?B?SUhMWEsyMmN1N2Rhelg3RjRRc3hjMFllSkxhRXFhRGhqdTFuUVFTU3lZR2E5?=
 =?utf-8?B?a2JuNlcvN1ExSWgzSG9qbThtdWhyS1B3OU1Cd2ZUVlN6UDVUY2d5bmRmY1d1?=
 =?utf-8?B?bEtxV2lRaFNCNmUxc0UvYWV2cndrSEZZajdvOTNzdFRqeXZHWFZvYTg1b0gw?=
 =?utf-8?B?QUVvb25nWEpsdDRoSmxKdENGOWluMjRpWUoxcE9HUEwvT0JLQ2lvNzhyUWVp?=
 =?utf-8?B?VFRsSzRSQnF5R29GdG83eWNnYzZNSlh1cDU2MlJOZkJRcU11V1ZlUU1mZm84?=
 =?utf-8?B?MURrck9PRFhXSDQ3ZzVhVUhVSSt1U2Nvb1BoOGl2SzdyZ243bmtVYWMrdU9x?=
 =?utf-8?B?U2JRTlVjMlVpV014Nk5XeXpkY0szRzFlTnkzSWh0NTNMaVNxTGtOYThScHFn?=
 =?utf-8?B?S2d0TG5nSklyeEtORWNWWGcxWDNqUXJPRGJNL3hQb283K0lNNkFnMGRHWGY1?=
 =?utf-8?B?WFN3TkdablpacnRIcDQwL1ViNTFTSlNSS2RzeFhUTnNvb0x6aTRVMXlwQmFr?=
 =?utf-8?B?K3VGbjBlZUE2cWxCUlU5QitYSWZjRng3cWJxU29JSjh6c1YzMHcwbk5WN1Jp?=
 =?utf-8?B?KzN2cU1rNDdTUmpGWFdqSzJVMnlzS2NyQ3E1b1V0aFpVd285K0prNzdwTHFj?=
 =?utf-8?B?dU9KSmU2OXRhZWU0Y2FLMjdDbi9xdjZiS3NDK0M2Yk1GWjV3T1dtYzdlMXcv?=
 =?utf-8?B?VWpaa3BQbkNvUWo5UWp0b05RdFpwWGw1QVlBbkFXSGZpZ2laSFNKZEphai9u?=
 =?utf-8?B?WEpCcGdRdUIzUmpYN0V5Rk1pM3dtRHNBMHQ5cXNmUFVFVHR1bjR0dFUrUHNL?=
 =?utf-8?B?dm5tdWNCTGpyNCtQT1p0VEhhWlNJVjFHaHQvYm1INXB5N0xicUg5Vm9obDNW?=
 =?utf-8?Q?QcGHL8H/9G2yuEaZTWfntlwt4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce902ff9-1096-4314-2216-08da802d9deb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 08:51:03.9225
 (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: Q8IMv/fy/MC34h/dT4ziFYJBn+zGtLxtUo6oJfKv2p2dsztzp+N1q0hUYMB9HIIP31tjtIW3N0FQkxjGI69Acg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4664

On 16.08.2022 04:36, Penny Zheng wrote:
> Today when a domain unpopulates the memory on runtime, they will always
> hand the memory back to the heap allocator. And it will be a problem if domain
> is static.
> 
> Pages as guest RAM for static domain shall be reserved to only this domain
> and not be used for any other purposes, so they shall never go back to heap
> allocator.
> 
> This commit puts reserved pages on the new list resv_page_list only after
> having taken them off the "normal" list, when the last ref dropped.

The last part of this sentence (which afaict was backwards anyway) is
now stale and should be removed. Then ...

> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 08:56:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 08:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388753.625498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOEqX-0003uY-Dh; Wed, 17 Aug 2022 08:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388753.625498; Wed, 17 Aug 2022 08:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOEqX-0003uR-As; Wed, 17 Aug 2022 08:56:17 +0000
Received: by outflank-mailman (input) for mailman id 388753;
 Wed, 17 Aug 2022 08:56:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SWwd=YV=citrix.com=prvs=2218cd774=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1oOEqW-0003uL-1u
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 08:56:16 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71a292e5-1e0a-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 10:56:14 +0200 (CEST)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Aug 2022 04:56:11 -0400
Received: from DM5PR03MB3386.namprd03.prod.outlook.com (2603:10b6:4:46::36) by
 BLAPR03MB5380.namprd03.prod.outlook.com (2603:10b6:208:29e::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5525.10; Wed, 17 Aug 2022 08:56:09 +0000
Received: from DM5PR03MB3386.namprd03.prod.outlook.com
 ([fe80::81f3:95a3:4853:a11f]) by DM5PR03MB3386.namprd03.prod.outlook.com
 ([fe80::81f3:95a3:4853:a11f%7]) with mapi id 15.20.5525.019; Wed, 17 Aug 2022
 08:56:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71a292e5-1e0a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660726574;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=RO3Dsy9FTZ6YBHUYjHsquha1W5vGYWD4H1FBByp7YjI=;
  b=PShYD7thq8i9S6hDgZrDOUgYz7ZQ7SAE8n7KvRPX1BOVa3oSbjp2Sf98
   4VM/b1n94tasbUc+jsJzZEBZB8pBXHPOfCp3pQWAsQ7cdtbld/2VI5HsY
   jiqKYMyD816qt47ndTg7LoihKx6Lecxb+oXjallLSIcJA49e6hxPfKfBz
   g=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 78280094
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AOaqNW61pJpB5MfYKHvbDix16xVZp2XFdZch5A?=
 =?us-ascii?q?8VEjyJ0xrEAwtozkvJmspFDY3Ohlcen9eFSkeUyjDOjoXlbgMmZDsEs7Tctp?=
 =?us-ascii?q?WDqINIANP88zg/yPWWGecd9FnQX3ncgycBs71oBS9KM3BXuAcsPlCGP80F0M?=
 =?us-ascii?q?M3bxrrQXUAWbvjEAFOywlPIIqpFdJ5P64naGXmhe933DWH25WK+fQzSkKYpl?=
 =?us-ascii?q?GOX7+eJ8v/TLPD7t5OaxS5Gj07D388RhnVnlUYFmRQ+hopI7VNglnWAlku1Q?=
 =?us-ascii?q?nBUAke6mQUig8xH1rMHLQ8O/0ohcw0w+hBRr9b5mH0CsPAyCKXh6ZfyPcSwD?=
 =?us-ascii?q?YSQxHYjgULg/OVnxeBvRZi/TMHr0We8Q651xR3UqSDN1MN6mJ9BccVe55RB4?=
 =?us-ascii?q?zkxv2rN0nRBvd/q+SjgPPcFAS9QQdC7fZt5OyGUBfaQ8RRngmrsl7Sl3dgx7?=
 =?us-ascii?q?/ljGk39kxcxPn8y47b2H4pZbx/IqQkb3oeeUTr+liB3VDOjJtm9eA5xwfDus?=
 =?us-ascii?q?4sRTfL532JG9xs/H0luDlJW9IUTUsl1Msr35flt7dFEt7Y5MDeIuRkigRFRR?=
 =?us-ascii?q?OJLnFnFbQE7xxmX8KrtTV655vQ2qDXwG6EKIQnaDiY0gYV6399hPHIRQwogq?=
 =?us-ascii?q?pDnp6gYzPaxCAFBbsfduSbihriYfi7xz/bb+5HDMQl5BQWTRw3YPRByFhsB0?=
 =?us-ascii?q?ASdn/Eq3yazOH3nK7SY+lT8jJkZ8jSB1J+1riRD8pLcWZAwXnh6Z1bLkdvjg?=
 =?us-ascii?q?PRVYc5VLi8A8GEUofFJtFR78EMGmlaG0LKDcEqnEqhu5TWxsw/yudWKEfrdl?=
 =?us-ascii?q?2NPAzRI2NDMpvNi/XZngn6rk+gUtL/OkuqRa4WappEktn2ZTpeaPiBYpEVFy?=
 =?us-ascii?q?16hrXAOQmjbNrsI0fIDoTMDEUZb1ZMvk0K5dsB4YtWBsAj2i25KACaZEVkF/?=
 =?us-ascii?q?yAPzkAGkOisbsSDJFhiAB0O6THz+/CuJrvFpDHdUWHKpz8bEBK9zWDsl2Frx?=
 =?us-ascii?q?OmOFBMy2y8Gkau6dJzxb5eVW9zHXFjVEAiS1I3KsWgMh7LPT3q4KHUcPReda?=
 =?us-ascii?q?3jgLGUgrPcFUrEgZy57+aReYRGC9Jwm2VV5J6m4+P6RFqNujS9flQilml0eW?=
 =?us-ascii?q?DEFWlYaBoXuB00je5Chm+IMkQYJlAHIMt9gvyiQIOLUZmJkl06TBvW80UZJX?=
 =?us-ascii?q?u3GPFqLjIKeljT0h9dk343m/cpAY8v5L/W+MqfkjGWujW+njRa2On2v3G8Mx?=
 =?us-ascii?q?1ypa1SS61G8CQ4ytUrc3CURPnKoPF+WsX7x91UQgMNHAgBPzMz0DPsyi15Z6?=
 =?us-ascii?q?dAgKZRwqOjqiRYCAYSuVU2ScamG5w0y1ZAR9GZ0evbytZBtkQ2byauptIaWo?=
 =?us-ascii?q?g4/UfQvzcVjZVWkoC9yE9o6uFs+CWe3+woBzaUiUfalNo5kN1JoP8eavPxT6?=
 =?us-ascii?q?QC7OgaIZHZsjx3a86AhtynHn1jcu1vZLPvQH5AK2yaWUqIaBoKbWcDyb663L?=
 =?us-ascii?q?01ekhhYo5osrv+RH9wmiW1JavPVvpu1F5fgKmY7TCEgwoZDN6jOgWCppN1gX?=
 =?us-ascii?q?qbqG+bCFdWtVYhCj8siw5w9pxfC96QpFBhHInqxEtUFu1Di9O/7lvTsCf02h?=
 =?us-ascii?q?/Cib4YzVfVjlZfEURLyzLWMn4w6jObwqHKTwnLlxZyzMSUVs2THkE6lR7jHn?=
 =?us-ascii?q?e59lz33VhXlrfVYtzOSe6NaCRPCNEBoqk3Lcq5TPRCcCbbwGP/hD+uMXer/1?=
 =?us-ascii?q?7JhKIhraFrt7CyKvDrcKxryLAHzl2u08orKaA3VS/vbhCIa2rN6u3TMoDSq3?=
 =?us-ascii?q?QctqJtDGulSytM3z64eUoFH7pHobsp11eX1hIpCPqMrbFUS+oks9wNy/V2s6?=
 =?us-ascii?q?Vy8MJBRPmK66dHssEwdKbBHxSDwVDgzBCTs3d5VahWZz7izP2bR0gQkOj6bq?=
 =?us-ascii?q?upxBD6VTq8bctrKqkTkpeBfh9IluZ74GZTsgWKOQ3OU9x/DcpvYSDzvGXQgg?=
 =?us-ascii?q?wShJWY3liLwFY06laX8A7gzahT5JHG4GBMThOUP1MUSiOMRDPgS23dajOnJC?=
 =?us-ascii?q?KzSrVfHsEjZUcLbWa7gbTIeARG8Ygax/UgZjqcJNhJOZIfk5/iTPTFvQNnj3?=
 =?us-ascii?q?GqxG6rIxJ1fnTjo/v3UAvl6xqaHNkXWCwMXSQ6Zo6orsvbSPx+odJHDHrKQ6?=
 =?us-ascii?q?E6ttFkbxjmRViCzgPSuqnMYTE+9JOWCTS7jy7IQ6XZTfquEDn+XCsiqPICaQ?=
 =?us-ascii?q?EYUu2TOFs2UuYmpgSV2JzT2dsrVWEZQGN60NNGV059ApZvgFCL6FCIQTFN8w?=
 =?us-ascii?q?dQeywz9/3W6atimjE/pcgbDPthdx6GkdqAp6+t6Kdr0jviWgRw/akgWCikvz?=
 =?us-ascii?q?28bdG64seUUe1tymdNt6IooEBf97B/dvWDrxFzZ74by+XTr5QMvov7EMiEDj?=
 =?us-ascii?q?gnc21SiqDjjI+WP0kB5muj6ZXvmghBtAXrOyuBISS5FJzAQ/2R9qamHSHL4c?=
 =?us-ascii?q?MdOIy3IJgjPMClUPW/3?=
X-IronPort-AV: E=Sophos;i="5.93,242,1654574400"; 
   d="scan'208";a="78280094"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k4rutlWcVivV/rvJa1XPp3g+zg0OMDnm+MrZDT2NrL6BnB5lAsY8RT5x8+bnqv9r1co2svbsPCEzqiPck8LQ45TwVrWYEinGQ5wlOVUlbOFPVSH2/mqTCAvXKGfXYnmIGMCpeqh0xevSKoYO6VsWS8VB5Cj/2S/kTJKWsUcH3psNiIZm/BAN6mMP4cDpGBTx9Fmm+WkZoAahhy4+Bw6PGp1PCpdWhTWdBQzqN8h1gFIGubQb0C/rPHJPsCOH98BUp30r1XXu8wTeN1dNiimDjJgGa6T22CeJxHNOnQOS+ZRrWutC1NvPTHGdeoeDlu3R4YfHnt1oyJsGt8s02Y0MmA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RO3Dsy9FTZ6YBHUYjHsquha1W5vGYWD4H1FBByp7YjI=;
 b=cMvfsxF6+cGOLYimzVGQoRQFtAFbbWsNfXSQgtm7zjNlNrXKJShZ/c0+f54BlDT99RiGYpcdZjyPOe3AnQCthlMU9voot6+7MDTNr1MRc+ihnsWY6MJGL0nxefSkId2epQKqnGCzzroUmOsWZdlD1c7qaD8hT7YxV270FEfWt6u2PSWNSIzXGjgE7rAtz8xIshG9Irp/+ZgSHxZk5MDxPt9HpLGVkzLP8etEBv2F0rgdb93A0+2xaciKB7OJ/6omUAgCNNKo8jcxbjEz9ZWTP110CXUWflqdJ6wMH4KxJFBZq6jT9GgjQseLhYMOk9wda60NCbCY8z4UF+CGZX9zuA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RO3Dsy9FTZ6YBHUYjHsquha1W5vGYWD4H1FBByp7YjI=;
 b=P7a/ICs2LzfGj54JDfnvTYDy4y7+YKQE6qksmfAqlBZaZ/sGT/zoRURm8qOje52FhPb49J2cf3Q82gLhtphKMY3XYzcL3CULEae5qfHo1dPyp7azHMDABiBihw2e5ddkpj3ZVYwB66JdaYIWYVwFfZbGKsFqx9zIB8Wa7XJOnzI=
From: Jane Malalane <Jane.Malalane@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <Andrew.Cooper3@citrix.com>, George Dunlap
	<George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/4] xen: Port linkage.h from kernel code
Thread-Topic: [PATCH 2/4] xen: Port linkage.h from kernel code
Thread-Index: AQHYqBOcTorV7/AaXU+jvacxRyO/Ya2gCkGAgBFX74CAAC+mAIABTFyA
Date: Wed, 17 Aug 2022 08:56:09 +0000
Message-ID: <becf6ce1-8432-496c-be3d-3e756841d865@citrix.com>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-3-jane.malalane@citrix.com>
 <2bd30d03-1918-02c7-02b2-cff8d58c99b0@suse.com>
 <a9a16f4f-a891-0801-69f9-5ce66acbc672@citrix.com>
 <effeed44-afa4-a172-5365-4a7007274957@suse.com>
In-Reply-To: <effeed44-afa4-a172-5365-4a7007274957@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 64bcb16e-c713-4f81-1ba8-08da802e5421
x-ms-traffictypediagnostic: BLAPR03MB5380:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 IP21e6J/3gD4LzfL5q60So36man9Gz//9YHUH/gjkHAhQiiAhlWyR9w4IkB84Jo8yv1FiGV+O6MKhqSZTPrCBsnenvg51aG8A1qukBRflLYcn0lixaI9HKg1/akeUsBcic7o12pEc1l5x0Z0f68lmc/eNff0gNadjgIWpSoAu3LaUj0jQlWgoJ7id6O6iZfsafWCT7VjrouHBUeoKL1NZPE4FXaqtl6efQKkRPhMrSck/i3LEnTenXyeQyD1NH+sin3Nt8O12f1QQpcfHNvVsIyl7/JZuN3xchc9a2Ca57m5dtOPr/4mJhWaRhTDIDH5KOEqL0wDSWB5nFxhl3fxRS1cso4pMX7ORu03vf4kw3XzeUrNhm1nqLAbK7fymy2n3JwLy6hmbGCqQT991QgrDlmjyhBxI6cnvtvsMdpC5nL7O8DfSdFC40kAGrPGmB0uVwXIFxGTrZTzEyLR+YN9zfsK0Fgbp+eKpbXrvXE0+dW5cwboLYYy+td4qk/8JR9vvPXB0JCz/nH2oYdaonEralWfNnlhRKem1Z0PY6rTj+QoLW9rT201LLhtTgNShDCRwIBqsSW4XRkqffTP+NXmCn3Ug1h5f0KILvasxrCQzioWr+k21IR1aFTx+ipHjf7ZN5+3aQDaLLtTQ054IbFGP31g/I0WbBgZnSQmiU/g8Zr+3r1PTdHatLFnOLJcG8JlqBLAwQTFD/fuSrlLKp645kAYmzU7iATXV2sE8PkY2aY/VfwWgyxtdCa3OnHoMxnACRdxlTWpYQWMBxadBbIvyszqB0fsPyl5xl0eOnD3a8/AKuILR8DIpOq8IrF/dtsr0SMqpieiUezEhJKPZcrEMw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR03MB3386.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(396003)(346002)(39860400002)(376002)(5660300002)(41300700001)(8936002)(86362001)(38070700005)(54906003)(316002)(6486002)(6916009)(478600001)(64756008)(66476007)(66946007)(4326008)(66446008)(76116006)(82960400001)(66556008)(91956017)(8676002)(71200400001)(186003)(6512007)(83380400001)(31686004)(2906002)(31696002)(53546011)(2616005)(6506007)(38100700002)(122000001)(36756003)(26005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z3FyUGNWSHJVOFp5T295cDRCaDhOQzlFYmVQWnFiQUNuRHBXMGxiZlI3NE1I?=
 =?utf-8?B?SzFBRGZyRW9BT0pkM2ZkS1ZxZjhTdDhMLzJDTEJ4bVQrUWV2N3V1TWMrcFlV?=
 =?utf-8?B?Qm1wMEpjaGxneWxMRkJVU0wxd3padVZrcDkzbXBEbXh4RmF1aUN2MTMwK2Vk?=
 =?utf-8?B?ajN2Y2pFNFdnclpOcTI5d2xnUnc1a3FUVjN3OXl5OU16bWw1dFlYWnhqMDMz?=
 =?utf-8?B?R3BSNWtRdE1tWnlvUXQ4MktRNUFDK2ViakpReUQycEpVRmVrbm91dUQ1M24r?=
 =?utf-8?B?Zk9LVHVTUGhVODlVNFJWQWFtWDR1K0RPMnlRR2ZueVo1d21acWUrRVdGVE1D?=
 =?utf-8?B?OUwzRm5oSXY5bzlyb3hsVnNvblhyUldNMGRsTTZzSHhqYkRSRHlPS0J6cmFo?=
 =?utf-8?B?akVEbzQ5MHhCQ3RWeVpISWE3K3dvRnpoZkxHWVd0cDVXdmVIOGJzNCthRk5a?=
 =?utf-8?B?cWIxL294eExEQ1FkMm93dllsSzBremt3c3BzWm5EUTJxOWtGdDgwa05Ob0Qx?=
 =?utf-8?B?NFhZeFVGOXFtN1ZlRW9GNVgycHZ4S2hrOUNMTWpOTEUyZDNva2JvMWllUTRi?=
 =?utf-8?B?SlpncmlXbGx1T0doMnR2MWNOemozem9ic2dpaDdacjhVenVWYVRiZGtDZXQv?=
 =?utf-8?B?d3hPdEh6YmJNcHBwbkpiS1U0UE5LSkpVaGlBcVRHblVYSk1UOXZKOFBhTWRF?=
 =?utf-8?B?OTFEcGFPa2lBZ2s3czFNV0N5RCtpU21WdGtqVWlCY3FTME5SMDVieEZtWmRQ?=
 =?utf-8?B?TkI0ZUNUNFlRYlA5TGZDM1k3TnhMa1JpVDRDcVNQY3N2QTk2RHZuaFAxQlJC?=
 =?utf-8?B?MUNqRjlXeHFKd1dGNXpUa2hRUXB5Sm02OVNGcWM1bFh6M0cyRmdKSlZkQ1Rw?=
 =?utf-8?B?K1NaRXp0ZjBnMldlUzdEYWpYUm1TTGJCWjU1aGMxQ0FPVDUrZlpHeWVnQ1N6?=
 =?utf-8?B?ajU1NlU0dHVYU0ZWc0VFdllWUVVvaHVhNExhVHNuSTBQcjdqdEtWZkUzY2ZW?=
 =?utf-8?B?UFNhOE96WFVSb2F5U2hhbUdUZ3FqdjlIaG1HdjFEMGdPYXpPUHFZRXlTWGVZ?=
 =?utf-8?B?Ri8rNFhpYXVzdDBBQjd1TEFBdU9WeVRtMlc0Zzd0NmF0Tk9LRHdPWEZOVHZo?=
 =?utf-8?B?eFZTY1o1Vnh0RmZlcnBrTCs1UERZRFhhMzRmazJxKzRsWkgrTG9Jd2phMGpk?=
 =?utf-8?B?cjdVYnNPRGxKSFRyMHdhOS8zMjVpWWdkZnp2NzM3ems1eElia3NiV1VDVVVY?=
 =?utf-8?B?eVBQc3A3Q0IrSnY4T0xqMEU1RmF2cVN0d3RqOWp2RHNGR2FmaXJTN0VuQU9r?=
 =?utf-8?B?R3lqVkxkeUtobGpTUFN0am9Yb3VtbzA4TXlsak5XVTlSQ1cwV0FIU3lpQ2Nv?=
 =?utf-8?B?aTE1S3dOc0FQVUFCUDY0NEZZV21BeVpaM0R4Tm85MVdoN0l2SjR0S3FOOXFR?=
 =?utf-8?B?S0M0VG1tSFVvYXIzODhVcG4zNERnaHJiL29aazE1Mnd3VlhXd2NGZit0WHFH?=
 =?utf-8?B?b2RUd3RnK1laS1pwWkhocUg4YWhCZGtEWFRJdGxYTTNPS0hrOXNxSGY5bDJW?=
 =?utf-8?B?blRad0R3STVIYmhzN2FDNkdtTmFLVi9wVUx1dkEzUVVRQThTR0QzbERsTnd5?=
 =?utf-8?B?dDdBbHJLRllZUXpKbkhFUG5FdUNpNHpmMjhSdnVTUTUvMnpoMzZOeGx0byt3?=
 =?utf-8?B?MGs4NDZqSzBPZ3BZWXRCR2hKNXdSTkl4NForYVBIUWNqWDkzc2FYNFluZE5T?=
 =?utf-8?B?dzlJTDROYnRFajhDVUJ3MXAxS3ZLQm8wMmNyNGYxZkFIaWg3RzNUTjgrR1h5?=
 =?utf-8?B?cTNsWkZGeHFIVzdUcktTNVF6TTFYQ2loVzVXOXhMME5OdDUzM1pzK1JRZ2Ny?=
 =?utf-8?B?aHIzZTlhNmh4aHFNVVhnMHJ0WUVCWnV4QmlqaHoxRGg1V3d6eDMxTlBmWG1C?=
 =?utf-8?B?NWtCQjBpbFkybWFFdkhZdkxmZ2NETkRpODNSRGltM2V3ZjFqZ2Z2QzZXMHVk?=
 =?utf-8?B?VENUNllTTXBVL1JXcHhJT3VTd012aG9sWGZqdDY0NzRQaGt4S0JaZVIrQjhK?=
 =?utf-8?B?dXE5QWZWM2FHeHEwa3ByM3dleUpEWlhJODJ3Z2Q3TlJnMXBRbWFBT0xReXEr?=
 =?utf-8?B?Y3NLZ3NNeDB5Mmt1R3I4ajdwRDhoaktEdll3R1JWRUFrVEVKN3hSa1NxQmpz?=
 =?utf-8?B?NlE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3881E1B7302455418C8C06120607F3EF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	yG6YsCzikWPGxVDuVUM3Kvy7rqlQs7Ob8nHyz3ZKUPczSWb3ENdRuYnleY0ZRzQQYP+M7NAwn1552IyTAx11ZgH+UkNcZQ29TvaMoTB9fWS5EnHjyYaiOpSupXV+lPSAXZSQhsXqrRN1hKT57Cfy8z6DltuTgsICzNpZI2qR1tEIZWpxRo4rdCn1ihZ9lZ4knliK0JETVYmUeqoR4fjU4LJDV1Y1U/apBqXaIhyYJxzVCW32UbPq7je6muErEUfLHxb5joMMAOMHHV/VV+Px0e+kAnM62U87czHwjAVWlEMKYLEegEmhsC+kb15lHEjfRdzSoWuZcfMK6bJdCwQ5Ri1e3heCEjtJYMGHQumC8gbDk+Hs3oZ+oTbAKzrMiFx4t3jHxhuSRmxINpP8jMNyElIdYSV0kqF+UtkZ2JYBmyQJfupeI3v5MphvVoqQBeF+z3mqG1vDZHAXZTDHK0lnKbbDIqNihcvzJx9b6b5hvjViHcEYEJIfsPavkPso7432EWufcIJ1unePK+sQVgMM8YkdnMI0CS6j2P7l5UzFIanu6lwEWnZ3vWWBTOgD893dk26QHh4kC/8eIHQ61+uiqbP+TF5uZHMZHANhOB1DBkYD3PyD7reZut2zEK0n00hdUptHxmR9nZQPUajdUQQEAGJyhxBGEPaTRpCVmq2G2He9sCY3d1n4RHJ6xwAhmQU2AdtY4mwyKfLgRp0StEtUA/Z5IF7F+oMUXqRb95bfjw+ercrK0YlHnKiGlAk/g1kPeb1p14F04saJQneRKUWzlypFJBNKQbca0z55TzyFKSeKMBk2f+H//ufieN/Jxxn13XUzRf+zJbZ7nSmAgtJCjrRgFfITrMpZSbzUqmsev3jAhVYXgMbliVikX7MkiUniaonu9UqqLVfzR/LvG+SHikBiqbfzmJoNCbAfDFFrEgw=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM5PR03MB3386.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64bcb16e-c713-4f81-1ba8-08da802e5421
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2022 08:56:09.4184
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: KhJrRzmj9+KoJ3lxhKVa8XYK+JuRBEgWvyeYX0Fso3lNb0XicQ8QKRtx1w8q4Qow/CbOwf48V9v0HOIav212uQ+4FNZZio0hFZsiL70mp/4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5380

T24gMTYvMDgvMjAyMiAxNDowNiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDE2LjA4LjIwMjIg
MTI6MTYsIEphbmUgTWFsYWxhbmUgd3JvdGU6DQo+PiBPbiAwNS8wOC8yMDIyIDEwOjI0LCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBPbiAwNC4wOC4yMDIyIDE3OjA0LCBKYW5lIE1hbGFsYW5lIHdy
b3RlOg0KPj4+PiBTdWdnZXN0ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp
dHJpeC5jb20+DQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEphbmUgTWFsYWxhbmUgPGphbmUubWFsYWxh
bmVAY2l0cml4LmNvbT4NCj4+Pg0KPj4+IEluIHRoZSB0aXRsZSB5b3Ugc2F5ICJwb3J0IiwgYnV0
IHRoZW4geW91IGRvbid0IHNheSB3aGF0IGN1c3RvbWl6YXRpb24NCj4+PiB5b3UndmUgZG9uZSBi
ZXlvbmQgdGhlIG9idmlvdXMgYWRqdXN0bWVudCBvZiBpbmNsdXNpb24gZ3VhcmQgYW5kDQo+Pj4g
YWRqdXN0bWVudCAoYWN0dWFsbHkgcmVtb3ZhbCkgb2YgI2luY2x1ZGUtcy4gSG93IG11Y2ggY3Vz
dG9taXphdGlvbiB3ZQ0KPj4+IHdhbnQgdG8gZG8gaXMgaW1wb3J0YW50IGhlcmUsIGFmdGVyIGFs
bC4gSSBub3RpY2UgeW91IGRpZCwgZm9yIGV4YW1wbGUsDQo+Pj4gYWRkIG5ldyBmbGF2b3JzIG9m
IFNZTV9JTk5FUl9MQUJFTCwgYnV0IHRoZW4geW91IGRpZG4ndCBhZGQgYW55dGhpbmcgdG8NCj4+
PiB1c2UgLmhpZGRlbiAod2hpY2ggSSBoYXZlIHF1ZXVlZCBhcyBhIG5ldyBwYXRjaCBvbiB0b3Ag
b2YgYSBzdXBwb3NlZCB2Mg0KPj4+IG9mICJ4ODY6IGFubm90YXRlIGVudHJ5IHBvaW50cyB3aXRo
IHR5cGUgYW5kIHNpemUiKS4gQXQgdGhlIHNhbWUgdGltZQ0KPj4+IHlvdSd2ZSBsZWZ0IGluIG9i
anRvb2wgcmVsYXRlZCBjb21tZW50YXJ5LCB3aGVuIHdlIGRvbid0IHVzZSB0aGF0IHRvb2wNCj4+
PiAoYW5kIG5vLW9uZSBrbm93cyBpZiB3ZSBldmVyIHdpbGwpLg0KPj4+DQo+Pj4gSSdtIGZ1cnRo
ZXIgbm90IHN1cmUgSSBhZ3JlZSB3aXRoIHRoZSBuYW1pbmcgb2Ygc29tZSBvZiB5b3VyIGFkZGl0
aW9ucywNCj4+PiBhcyB0aGV5IGFwcGVhciB0byBub3QgcmVhbGx5IGZpdCB3aXRoIHRoZSBuYW1p
bmcgbW9kZWwgdXNlZCBlbHNld2hlcmUuDQo+Pj4gWW91ciBhZGRpdGlvbnMgYWxzbyBsb29rIHRv
IG5vdCBhbHdheXMgbWF0Y2ggc3R5bGUgdXNlZCBlbHNld2hlcmUgaW4NCj4+PiB0aGlzIGZpbGUu
DQo+Pj4NCj4+PiBZb3UgZnVydGhlciB3YW50IHRvIG1lbnRpb24gd2hhdCBMaW51eCB2ZXJzaW9u
IHRoaXMgd2FzIGRlcml2ZWQgZnJvbSwNCj4+PiB0byBtYWtlIGl0IGVhc2llciB0byBkZXRlcm1p
bmUgd2hhdCBpbmNyZW1lbnRhbCBjaGFuZ2VzIHRvIHBvcnQgb3Zlcg0KPj4+IHN1YnNlcXVlbnRs
eS4NCj4+Pg0KPj4+IE92ZXJhbGwgSSdtIG5vdCBjb252aW5jZWQgdGhpcyBpcyBhIG1vZGVsIHdl
IHdhbnQgdG8gZ28gd2l0aCwgZmlyc3QNCj4+PiBhbmQgZm9yZW1vc3QgYmVjYXVzZSB0aGUgY29t
bW9ubHkgdXNlZCBtYWNybyBuYW1lcyBhcmUgdG9vIGxvbmcgZm9yDQo+Pj4gbXkgdGFzdGUuIFdo
YXQncyB3cm9uZyB3aXRoIEVOVFJZKCkgYW5kIEVORFBST0MoKSAvIEVORERBVEEoKT8NCj4+IEhp
IEphbiwNCj4+DQo+PiBTaW5jZSBJIGhhdmUgbm8gcGFydGljdWxhciBvcGluaW9uIG9uIHRoaXMg
SSB3ZW50IHRocm91Z2ggdGhlIGRpc2N1c3Npb24NCj4+IHRoYXQgdG9vayBwbGFjZSBiZWZvcmUg
dGhvc2UgbWFjcm9zIHdlcmUgaW50cm9kdWNlZCBpbiBMaW51eC4gT25lIG9mIHRoZQ0KPj4gcG9p
bnRzIG1hZGUgd2FzIHRoYXQgUFJPQyB3YXMgYW4gYW1iaWd1b3VzIHRlcm0gdG8gdXNlLCBzaW5j
ZSBDDQo+PiBmdW5jdGlvbnMgYXJlIG5vdCBhY3R1YWxseSBwcm9jZWR1cmVzLCBhdCBsZWFzdCBu
b3QgYWxsLg0KPiANCj4gSnVzdCBvbmUgcmVtYXJrIGhlcmU6IFdlJ3JlIHRhbGtpbmcgYWJvdXQg
YXNzZW1ibHkgY29kZSBoZXJlLCBzbyB3aGF0J3MNCj4gYSBwcm9jZWR1cmUgb3IgZnVuY3Rpb24g
aXNuJ3Qgd2VsbCBkZWZpbmVkIGFueXdheS4gSSB3b3VsZG4ndCwgYnR3LCBtaW5kDQo+IEVOREZV
TkMoKSBpZiB0aGF0J3MgZGVlbWVkIGJldHRlciB0aGFuIEVORFBST0MoKS4NCkRvIHlvdSB0aGVu
IHByb3Bvc2UgdGhhdCB3ZSB1c2UgRU5UUlkoKSBhbmQgRU5ERlVOQygpIGFuZCB0aGF0IGZvciBp
bm5lciANCmxhYmVscyB3ZSBrZWVwIHRoZW0gYXMgaXMgKHNvIGp1c3QgIm5hbWU6IiksIHNpbmNl
IHVzaW5nIEVOVFJZKCkgd2l0aG91dCANCmEgY2xvc2luZyBFTkQoKSBmb3Igc29tZSAiZnVuY3Rp
b25zIiBhbmQgbm90IGZvciBvdGhlcnMgY291bGQgZ2V0IGEgYml0IA0KY29uZnVzaW5nPw0KDQpK
YW5lLg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 09:07:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 09:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388763.625508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOF0w-0005Tx-Hx; Wed, 17 Aug 2022 09:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388763.625508; Wed, 17 Aug 2022 09:07:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOF0w-0005Tq-F6; Wed, 17 Aug 2022 09:07:02 +0000
Received: by outflank-mailman (input) for mailman id 388763;
 Wed, 17 Aug 2022 09:07:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOF0v-0005Tg-9W; Wed, 17 Aug 2022 09:07:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOF0v-0002dL-6j; Wed, 17 Aug 2022 09:07:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOF0u-0006h0-Vw; Wed, 17 Aug 2022 09:07:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOF0u-0000ca-VR; Wed, 17 Aug 2022 09:07:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bbxRV7hY/cdhllsaHsClYPMDRJ2zlrKEvIatcqqOW2M=; b=s0ypImXCP3iJOHijWF2n9BPJEC
	LGq0TKn3tzwuI3BmhBqSbGp1wX/XnOTVMTIAN1mtAEpOpuJePwLQAgvdzVOJVN+gsPKfm6tHamfdx
	i5HyVQnVqnMacwDbu9b9Q2fG0qAckbumv8723d+vK5uX+Cc31klznmJ3VaUEqCc+dW2g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172592-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172592: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=3f282f451023234e16510516fbad20cd0ca04847
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 09:07:00 +0000

flight 172592 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172592/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 3f282f451023234e16510516fbad20cd0ca04847
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   13 days
Failing since        172151  2022-08-05 02:40:28 Z   12 days  108 attempts
Testing same since   172582  2022-08-16 22:43:35 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 720 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 09:15:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 09:15:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388773.625520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOF8k-0006wn-Cu; Wed, 17 Aug 2022 09:15:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388773.625520; Wed, 17 Aug 2022 09:15:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOF8k-0006wg-9p; Wed, 17 Aug 2022 09:15:06 +0000
Received: by outflank-mailman (input) for mailman id 388773;
 Wed, 17 Aug 2022 09:15:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOF8j-0006wa-7U
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 09:15:05 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOF8e-0002n5-8W; Wed, 17 Aug 2022 09:15:00 +0000
Received: from [54.239.6.187] (helo=[10.7.237.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOF8e-0008Fc-2J; Wed, 17 Aug 2022 09:15:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=0juTsaRrghihW+N6xhpiokCRY9dq6/5RTon/Hb7/MA4=; b=OTC9BGMQyr+vqlgFYGPSom/4le
	xulZksg7UEbySQ6m7uNYDgzGiucU56G2vlWz30jz17ePhJhY01HgwPKrIzp4TnkqzVITwZH9On40s
	ZsSitswAfNb4ZRT+Ubg+oTn+HPKhkimH/M9JXPLfKpdeDINhjPqyAzN1oevDZqk76dQk=;
Message-ID: <10fb8b11-1cb2-9394-f9fc-2eb6dd84543f@xen.org>
Date: Wed, 17 Aug 2022 10:14:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20220816185954.31945-1-julien@xen.org>
 <da0126fb-d357-bde3-f362-32c7d3b51ee4@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <da0126fb-d357-bde3-f362-32c7d3b51ee4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 17/08/2022 09:37, Jan Beulich wrote:
> On 16.08.2022 20:59, Julien Grall wrote:
>> --- a/xen/arch/arm/setup.c
>> +++ b/xen/arch/arm/setup.c
>> @@ -75,10 +75,24 @@ domid_t __read_mostly max_init_domid;
>>   
>>   static __used void init_done(void)
>>   {
>> +    int rc;
>> +
>>       /* Must be done past setting system_state. */
>>       unregister_init_virtual_region();
>>   
>>       free_init_memory();
>> +
>> +    /*
>> +     * We have finished to boot. Mark the section .data.ro_after_init
>> +     * read-only.
>> +     */
>> +    rc = modify_xen_mappings((unsigned long)&__ro_after_init_start,
>> +                             (unsigned long)&__ro_after_init_end,
>> +                             PAGE_HYPERVISOR_RO);
>> +    if ( rc )
>> +        panic("Unable to mark the .data.ro_after_init section read-only (rc = %d)\n",
>> +              rc);
> 
> Just wondering - is this really worth panic()ing?

The function should never fails and it sounds wrong to me to continue in 
the unlikely case it will fail.

> 
>> --- a/xen/arch/arm/xen.lds.S
>> +++ b/xen/arch/arm/xen.lds.S
>> @@ -83,6 +83,13 @@ SECTIONS
>>     _erodata = .;                /* End of read-only data */
>>   
>>     . = ALIGN(PAGE_SIZE);
>> +  .data.ro_after_init : {
>> +      __ro_after_init_start = .;
>> +      *(.data.ro_after_init)
>> +      . = ALIGN(PAGE_SIZE);
>> +      __ro_after_init_end = .;
>> +  } : text
> 
> Again just wondering: Wouldn't it be an option to avoid the initial
> page size alignment (and the resulting padding) here, simply making
> .data.ro_after_init part of .rodata and do the earlier write-protection
> only up to (but excluding) the page containing __ro_after_init_start?

So both this question and the previous one will impair the security of 
Xen on Arm (even though the later is only at boot time).

This is not something I will support just because we are going to save < 
PAGE_SIZE. If we are concern of the size wasted, then there are other 
way to mitigate it (i.e. moving more variables to __ro_after_init).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 09:15:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 09:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388781.625531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOF9a-0007UQ-Mf; Wed, 17 Aug 2022 09:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388781.625531; Wed, 17 Aug 2022 09:15:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOF9a-0007UH-Jg; Wed, 17 Aug 2022 09:15:58 +0000
Received: by outflank-mailman (input) for mailman id 388781;
 Wed, 17 Aug 2022 09:15:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2RHf=YV=citrix.com=prvs=221cc9648=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oOF9Z-0007Qg-0c
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 09:15:57 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30be0152-1e0d-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 11:15:54 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30be0152-1e0d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660727755;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=KCAcD+UKo82iqQPr87UA/LrUCOjKfXas5S4dRUVcBYg=;
  b=T0JsJo66qTcw9iQwSbEDzUT25kNyTn6QBTqdIA4gKl8HB7mMu7zSXKce
   29FIHhJzGOB4ahOEaf9lsCjZ96mHz1ivH2Y/M0CTQrF9sz8BI8UOorzEC
   svVvJue1WNy5IWmgKDpa1h5bX7uEAJRYg5AD+524H3Kw7w/ysPPd9jm9H
   g=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78281549
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AwmV5nqzFDnRstwQsvLl6t4n5zX0MlO8/Zkaqj?=
 =?us-ascii?q?3rN1gqbGZ9vWEDxbLELH0zjGilYHrxVUuWl2OLUd19UmH8XppARgMhhcNlgT?=
 =?us-ascii?q?fXOL6GESclGCLD2DgwoyX8NtKZKJUYyU+cCqjQNtb8EO+wbkJmtMEet0/VuL?=
 =?us-ascii?q?B0PhlULixArjPMYQd52BMTswC/3dHzKmZzskv8f+0/pJeINQVnuVwgngRRLL?=
 =?us-ascii?q?doeBpJQcQWtTl6jX9a6acqqQ3oTYwImEciXE/G8RkSuoYnRdVF0QANwkHOsI?=
 =?us-ascii?q?dyNx0NdzsnmdSHPfbvFuowPQPtbiI+IxuSoCWE1tyUOT2iAWNm3ZzMKTsicJ?=
 =?us-ascii?q?tWH5BjorO7xBqFLsyVJlDckjrm96dMHOaK1Qu1jJGV6B6d4OHRGqPP5fpXRC?=
 =?us-ascii?q?Z36Id2H9OL9kINfDP809XEvU5TfKXS3dIJ0GTxT1KhfOjvw6YAjAwiwlSssS?=
 =?us-ascii?q?NRK/T1tomeTl+xLntNiDgJPbrHUvKqYbt6yv8Jxf8915NBLa9IprueVXQBfg?=
 =?us-ascii?q?3xoLtfuh+FomQSjpb8PWQ4jo3x/OqjkCg2xDo9RtCPi2MWriT7d5uUkwCg2g?=
 =?us-ascii?q?z4HU+ZXqoBqJknILurNQeraIZKuQXGLv7M2kfDts6fIsS/xXGmwFVMWuvG4v?=
 =?us-ascii?q?nZxxwF5ERlLDPlnEZmkujrlVWMZFFTEDZ+0qRP4FFCMhKqK9W1qhWX+w54Fw?=
 =?us-ascii?q?QSIPf1mLjRrfjabVE/XQnH8BVAto4CxmIeszp8Uk3vGjieSau5Cbv2tA4G4o?=
 =?us-ascii?q?U14iOhoOl0nwUySI5Ck2MEu80ixveAeEwB7RWUEtBx0L8i+BusQduXMAGgM4?=
 =?us-ascii?q?l/iXasgOcyt78vpixsK8yOiLbbJlif4RZ549IAiTtbbfr20jSj7uiFNin39Z?=
 =?us-ascii?q?AHaEjg/v27aUKJyWvs9u4WWL6DrE4QrhjDzXnVaZhBfF5cZkPmyB652YmING?=
 =?us-ascii?q?be2MwLFFvv8luV/w3KQS+LAe2RPy9wD+jeRMAI/S3D8QJlfgv7IJgI+/mUpC?=
 =?us-ascii?q?GShv2qAXOkC0ddZTo4m8j45GrwllEdmwVL6cuZZW/pMf+J6zeI/u1OP0hyh1?=
 =?us-ascii?q?urx5QjsxHQpYMrUhEsuNosKNYPme18XhyMNF73LGXj4ZhdbZiyAaUY+UemIc?=
 =?us-ascii?q?LmgcgjEAgb1u9XF5/GwwupJIsMll+F8Ijt3xYScFqMrvaEH6vdVru7v5wQla?=
 =?us-ascii?q?iowIAxjSjPT1YuJnmkzCW+5i2qJ4k188AsIqs8iJK23cUOwH4l3FG5P9vU7+?=
 =?us-ascii?q?WW+IIIab7tCPI7yAw9lYYSD7vilsuwerijO2n1/Nb9fkauW1fsUkSJGKlfoD?=
 =?us-ascii?q?Rk6FrMKnzxHMt37gO6ZNhr3kra+M0SFuxJfe15BY1aQaZ6v0l8KUxVAkLxsJ?=
 =?us-ascii?q?ohAiJyHBLa3VRHPCC/e2a8EtK7KXJdAMfD08W6g5lYlWk1E/OxZBtOMI/vIQ?=
 =?us-ascii?q?tu/V+oyDLiL0e1qBTcMabpu3COt6HxYp80Ms5qD7hvVrm0JkJBDzR1w+1UT5?=
 =?us-ascii?q?1mCZWcnUKJHM2hHJN/17p4JoaQph+gwKaWV3M+GUZYgeIWksBdDJcKdAlEsY?=
 =?us-ascii?q?JjzfzC75iy1T51z+N9v6GJidHpyGlYrDmbBFKzQE6J9My1D9RYwZz5OQeh71?=
 =?us-ascii?q?1xVL0l2FhNL2Jt23DzVBopJhzhsgwYVI7qazJTiNi4Gpjkh6B6Iwiq57bl+i?=
 =?us-ascii?q?F9puzIqHemiLVo7VpY0givK8cwkEYmpVPbLCNuYzPPL5QKthAbK/fKLpfAPt?=
 =?us-ascii?q?dwZr4uPFPgoyGoxOZQS8FI7XQNmERiD2fWX5xpnYqw74o1wqYP4YSu/uHqHN?=
 =?us-ascii?q?2/xtA4YN3TIXth4kaArQXColtu3nGdwGOrtkRlrL4O17UspKL2uD4qql4J6X?=
 =?us-ascii?q?jwRg4o0ljwmKigyglX1Dt8kSDzEclCFIYu09BvzWqX5uvi/vAdVo4730Icvh?=
 =?us-ascii?q?C1Ba0UIyP+ZjG/aroDnjGZDpUTNBD38XXUsdIXZY21oNetdWANjdNDuU2XTd?=
 =?us-ascii?q?8FJ8F15moepyA1wE2kfRP1CAEBJi7AOyOT+hP/PHljk6cpzhstB/itHNja9J?=
 =?us-ascii?q?y0xMvnD7neXVuBTWP3h1WeEQUUMKzVKsSbZlQQvPAJGs9jrfQgKbM3EQR8VH?=
 =?us-ascii?q?GSKTqkN2cybwwwcuuFjF5BjsSsYdrYQI2bt64ZdX3CZra/ANYsUrKc9sgIc7?=
 =?us-ascii?q?ClrKMpnNnQs8BJF/8kQGeienIWJYJ5O0/p1o1/VI3EUwyhInpjJdiDcsLImZ?=
 =?us-ascii?q?HXNoW/Tm0BiQnHohFEzPxWhCMwiJRQTT5T0rTZtr8/RDBVIbNjqYIS7CFOxc?=
 =?us-ascii?q?sUwurUl70Kvs0nVOMuGm8xIBJhB6D0S+U84Yg2L1IERsNz/RywIEUYq/qwy+?=
 =?us-ascii?q?Uj8wOixATMzROVXAX9E3pccQ6rhNw8lYFPDWFoL3YHIAPzggWe73BxYKGKu1?=
 =?us-ascii?q?zwurLsqC2pEt8HkP6DzuEWnxBEjam3+xSaztEQH2A9LTf8xnc7lT+PmZv4JP?=
 =?us-ascii?q?4lqbgFguws0VHS77EWMC+lNzzvnanW7NLpeULjOFiNFAueS0vOBRNh/UuQx5?=
 =?us-ascii?q?UB1HxNxWnBXhY5d5/tpk65JmK4gfho8aJnNTB9wjGU+8enIe4Q4+BumIkvk3?=
 =?us-ascii?q?ZpXN5zSphzi4tAb1iERDITCpkgndJ7m3MQjD369mJT1bekXb+7Q/Hw9uI0qK?=
 =?us-ascii?q?TuNy2g2kpw4wxxBsfxDegHYz7sRcvG4pA/uptO6ZuB/yVP77S071semcPREj?=
 =?us-ascii?q?/jTIKoYkC5q5fOxxG6pWVp3JLjDf343u+yJLuNSOpawl5Y1iqPqCZ2UNxHbI?=
 =?us-ascii?q?Tt3MTAF+5tqcjT3E7MAK10dVEF1rInvJ3onu4xsZcDu9FRTviO1pDJ91O8JF?=
 =?us-ascii?q?I5mxrXbb/OBCLyhxhuF910/AIDqCa5pO3/Jv+Xc03oCLJMpQ73Y+TU9aIGTO?=
 =?us-ascii?q?4sAEUgOf/Si7k/h8xWHNgTX8AJgR6p1bj84QvXvczISjccGAEIgZ6uePivqH?=
 =?us-ascii?q?7MMnGRAPPJ2MtQvvagA+u0cP/cg35V5zNTllt3xi6L+gIjzb2VRXS/6F8o80?=
 =?us-ascii?q?tc=3D?=
X-IronPort-AV: E=Sophos;i="5.93,242,1654574400"; 
   d="scan'208";a="78281549"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Date: Wed, 17 Aug 2022 10:15:40 +0100
Message-ID: <20220817091540.18949-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220816103043.32662-1-anthony.perard@citrix.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

We can't have a source file with the same name that exist in both the
common code and in the arch specific code for efi/. This can lead to
comfusion in make and it can pick up the wrong source file. This issue
lead to a failure to build a pv-shim for x86 out-of-tree, as this is
one example of an x86 build using the efi/stub.c.

The issue is that in out-of-tree, make might find x86/efi/stub.c via
VPATH, but as the target needs to be rebuilt due to FORCE, make
actually avoid changing the source tree and rebuilt the target with
VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
exist yet so a link is made to "common/stub.c".

Rework the new common/stub.c file to have a different name than the
already existing one, by renaming the existing one. We will take
example of efi/boot.c and have the common stub.c include a per-arch
stub.h. This at least avoid the need to expose to Arm both alias
efi_compat_get_info and efi_compat_runtime_call.

Avoid using $(EFIOBJ-y) as an alias for $(clean-files), add
"stub.c" directly to $(clean-files).

Also update .gitignore as this was also missing from the original
patch.

Fixes: 7f96859b0d00 ("xen: reuse x86 EFI stub functions for Arm")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v2:
    - instead of renaming common/efi/stub.c to common_stub.c; we rename
      arch/*/efi/stub.c to stub.h and include it from common/stub.c
    - update .gitignore
    
    CC: Jan Beulich <jbeulich@suse.com>
    CC: Wei Chen <wei.chen@arm.com>

 xen/arch/arm/efi/Makefile           | 4 ----
 xen/common/efi/efi-common.mk        | 4 ++--
 xen/arch/arm/efi/stub.h             | 4 ++++
 xen/arch/x86/efi/{stub.c => stub.h} | 5 ++++-
 xen/common/efi/stub.c               | 5 +++++
 .gitignore                          | 1 +
 6 files changed, 16 insertions(+), 7 deletions(-)
 create mode 100644 xen/arch/arm/efi/stub.h
 rename xen/arch/x86/efi/{stub.c => stub.h} (93%)

diff --git a/xen/arch/arm/efi/Makefile b/xen/arch/arm/efi/Makefile
index bd954a3b2d..ff1bcd6c50 100644
--- a/xen/arch/arm/efi/Makefile
+++ b/xen/arch/arm/efi/Makefile
@@ -4,10 +4,6 @@ ifeq ($(CONFIG_ARM_EFI),y)
 obj-y += $(EFIOBJ-y)
 obj-$(CONFIG_ACPI) +=  efi-dom0.init.o
 else
-# Add stub.o to EFIOBJ-y to re-use the clean-files in
-# efi-common.mk. Otherwise the link of stub.c in arm/efi
-# will not be cleaned in "make clean".
-EFIOBJ-y += stub.o
 obj-y += stub.o
 
 $(obj)/stub.o: CFLAGS-y += -fno-short-wchar
diff --git a/xen/common/efi/efi-common.mk b/xen/common/efi/efi-common.mk
index ec2c34f198..950f564575 100644
--- a/xen/common/efi/efi-common.mk
+++ b/xen/common/efi/efi-common.mk
@@ -9,9 +9,9 @@ CFLAGS-y += -iquote $(srcdir)
 # e.g.: It transforms "dir/foo/bar" into successively
 #       "dir foo bar", ".. .. ..", "../../.."
 $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
-	$(Q)test -f $@ || \
-	    ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
+	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
 
 clean-files += $(patsubst %.o, %.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))
+clean-files += stub.c
 
 .PRECIOUS: $(obj)/%.c
diff --git a/xen/arch/arm/efi/stub.h b/xen/arch/arm/efi/stub.h
new file mode 100644
index 0000000000..b0a9b03e59
--- /dev/null
+++ b/xen/arch/arm/efi/stub.h
@@ -0,0 +1,4 @@
+/*
+ * Architecture specific implementation for EFI stub code.  This file
+ * is intended to be included by common/efi/stub.c _only_.
+ */
diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.h
similarity index 93%
rename from xen/arch/x86/efi/stub.c
rename to xen/arch/x86/efi/stub.h
index f2365bc041..9d2845b833 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.h
@@ -1,3 +1,7 @@
+/*
+ * Architecture specific implementation for EFI stub code.  This file
+ * is intended to be included by common/efi/stub.c _only_.
+ */
 #include <xen/efi.h>
 #include <xen/init.h>
 #include <asm/asm_defns.h>
@@ -8,7 +12,6 @@
 #include <efi/eficon.h>
 #include <efi/efidevp.h>
 #include <efi/efiapi.h>
-#include "../../../common/efi/stub.c"
 
 /*
  * Here we are in EFI stub. EFI calls are not supported due to lack
diff --git a/xen/common/efi/stub.c b/xen/common/efi/stub.c
index 15694632c2..854efd9c99 100644
--- a/xen/common/efi/stub.c
+++ b/xen/common/efi/stub.c
@@ -30,3 +30,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
 {
     return -ENOSYS;
 }
+
+/*
+ * Include architecture specific implementation here.
+ */
+#include "stub.h"
diff --git a/.gitignore b/.gitignore
index ed7bd8bdc7..3a91e79672 100644
--- a/.gitignore
+++ b/.gitignore
@@ -311,6 +311,7 @@ xen/arch/*/efi/ebmalloc.c
 xen/arch/*/efi/efi.h
 xen/arch/*/efi/pe.c
 xen/arch/*/efi/runtime.c
+xen/arch/*/efi/stub.c
 xen/arch/*/include/asm/asm-offsets.h
 xen/common/config_data.S
 xen/common/config.gz
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 09:17:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 09:17:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388789.625542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOFAg-000854-1O; Wed, 17 Aug 2022 09:17:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388789.625542; Wed, 17 Aug 2022 09:17:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOFAf-00084x-Tb; Wed, 17 Aug 2022 09:17:05 +0000
Received: by outflank-mailman (input) for mailman id 388789;
 Wed, 17 Aug 2022 09:17:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vp8f=YV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oOFAe-00084r-PR
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 09:17:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a934010-1e0d-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 11:17:02 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E74C134BD6;
 Wed, 17 Aug 2022 09:17:02 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8274B13A8E;
 Wed, 17 Aug 2022 09:17:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id diq0HQ6y/GLTaQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 17 Aug 2022 09:17:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a934010-1e0d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660727822; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=x0zzqcO39x1ZtAyVbggrm2KK0G3hoH83gUBEVO4Wejs=;
	b=a5V0qM0+iWc25Sjc1Y1rELMBPf+TwUcGnbMVK4PntU+XG11M7Lg1OndJF+fMnSCiJBwbUu
	6ZpA/pDnD9+Rr5KRdlANmSMCKGarS9dWU2izKhv1RHVY+N+6Gy0Gd0R5SxrPr30bdFO0a3
	rv17qEmgn+wDEpCJJxUnNlYspYSM1o8=
Message-ID: <e5431d53-fa43-d6e6-9af3-4313c466e991@suse.com>
Date: Wed, 17 Aug 2022 11:17:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, brchuckz@netscape.net, jbeulich@suse.com,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, stable@vger.kernel.org
References: <20220715142549.25223-1-jgross@suse.com>
 <20220715142549.25223-4-jgross@suse.com> <YtbKf51S4lTaziKm@zn.tnic>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 3/3] x86: decouple pat and mtrr handling
In-Reply-To: <YtbKf51S4lTaziKm@zn.tnic>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Z7OE21cz2H45kr0rcs0pbiE6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Z7OE21cz2H45kr0rcs0pbiE6
Content-Type: multipart/mixed; boundary="------------pJOUs7dfyavWU5Lwp2GyJCvK";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, brchuckz@netscape.net, jbeulich@suse.com,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, stable@vger.kernel.org
Message-ID: <e5431d53-fa43-d6e6-9af3-4313c466e991@suse.com>
Subject: Re: [PATCH 3/3] x86: decouple pat and mtrr handling
References: <20220715142549.25223-1-jgross@suse.com>
 <20220715142549.25223-4-jgross@suse.com> <YtbKf51S4lTaziKm@zn.tnic>
In-Reply-To: <YtbKf51S4lTaziKm@zn.tnic>

--------------pJOUs7dfyavWU5Lwp2GyJCvK
Content-Type: multipart/mixed; boundary="------------ZrVFAX000v0VzwJtOArH1frP"

--------------ZrVFAX000v0VzwJtOArH1frP
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTkuMDcuMjIgMTc6MTUsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToNCj4gT24gRnJpLCBK
dWwgMTUsIDIwMjIgYXQgMDQ6MjU6NDlQTSArMDIwMCwgSnVlcmdlbiBHcm9zcyB3cm90ZToN
Cj4+IFRvZGF5IFBBVCBpcyB1c2FibGUgb25seSB3aXRoIE1UUlIgYmVpbmcgYWN0aXZlLCB3
aXRoIHNvbWUgbmFzdHkgdHdlYWtzDQo+PiB0byBtYWtlIFBBVCB1c2FibGUgd2hlbiBydW5u
aW5nIGFzIFhlbiBQViBndWVzdCwgd2hpY2ggZG9lc24ndCBzdXBwb3J0DQo+PiBNVFJSLg0K
Pj4NCj4+IFRoZSByZWFzb24gZm9yIHRoaXMgY291cGxpbmcgaXMsIHRoYXQgYm90aCwgUEFU
IE1TUiBjaGFuZ2VzIGFuZCBNVFJSDQo+PiBjaGFuZ2VzLCByZXF1aXJlIGEgc2ltaWxhciBz
ZXF1ZW5jZSBhbmQgc28gZnVsbCBQQVQgc3VwcG9ydCB3YXMgYWRkZWQNCj4+IHVzaW5nIHRo
ZSBhbHJlYWR5IGF2YWlsYWJsZSBNVFJSIGhhbmRsaW5nLg0KPj4NCj4+IFhlbiBQViBQQVQg
aGFuZGxpbmcgY2FuIHdvcmsgd2l0aG91dCBNVFJSLCBhcyBpdCBqdXN0IG5lZWRzIHRvIGNv
bnN1bWUNCj4+IHRoZSBQQVQgTVNSIHNldHRpbmcgZG9uZSBieSB0aGUgaHlwZXJ2aXNvciB3
aXRob3V0IHRoZSBhYmlsaXR5IGFuZCBuZWVkDQo+PiB0byBjaGFuZ2UgaXQuIFRoaXMgaW4g
dHVybiBoYXMgcmVzdWx0ZWQgaW4gYSBjb252b2x1dGVkIGluaXRpYWxpemF0aW9uDQo+PiBz
ZXF1ZW5jZSBhbmQgd3JvbmcgZGVjaXNpb25zIHJlZ2FyZGluZyBjYWNoZSBtb2RlIGF2YWls
YWJpbGl0eSBkdWUgdG8NCj4+IG1pc2d1aWRpbmcgUEFUIGF2YWlsYWJpbGl0eSBmbGFncy4N
Cj4+DQo+PiBGaXggYWxsIG9mIHRoYXQgYnkgYWxsb3dpbmcgdG8gdXNlIFBBVCB3aXRob3V0
IE1UUlIgYW5kIGJ5IGFkZGluZyBhbg0KPj4gZW52aXJvbm1lbnQgZGVwZW5kZW50IFBBVCBp
bml0IGZ1bmN0aW9uLg0KPiANCj4gQWhhLCB0aGVyZSdzIHRoZSBleHBsYW5hdGlvbiBJIHdh
cyBsb29raW5nIGZvci4NCj4gDQo+PiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2Nw
dS9jb21tb24uYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMNCj4+IGluZGV4IDBh
MWJkMTRmNzk2Ni4uM2VkZmI3NzlkYWI1IDEwMDY0NA0KPj4gLS0tIGEvYXJjaC94ODYva2Vy
bmVsL2NwdS9jb21tb24uYw0KPj4gKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24u
Yw0KPj4gQEAgLTI0MDgsOCArMjQwOCw4IEBAIHZvaWQgX19pbml0IGNhY2hlX2JwX2luaXQo
dm9pZCkNCj4+ICAgew0KPj4gICAJaWYgKElTX0VOQUJMRUQoQ09ORklHX01UUlIpKQ0KPj4g
ICAJCW10cnJfYnBfaW5pdCgpOw0KPj4gLQllbHNlDQo+PiAtCQlwYXRfZGlzYWJsZSgiUEFU
IHN1cHBvcnQgZGlzYWJsZWQgYmVjYXVzZSBDT05GSUdfTVRSUiBpcyBkaXNhYmxlZCBpbiB0
aGUga2VybmVsLiIpOw0KPj4gKw0KPj4gKwlwYXRfY3B1X2luaXQoKTsNCj4+ICAgfQ0KPj4g
ICANCj4+ICAgdm9pZCBjYWNoZV9hcF9pbml0KHZvaWQpDQo+PiBAQCAtMjQxNyw3ICsyNDE3
LDggQEAgdm9pZCBjYWNoZV9hcF9pbml0KHZvaWQpDQo+PiAgIAlpZiAoY2FjaGVfYXBzX2Rl
bGF5ZWRfaW5pdCkNCj4+ICAgCQlyZXR1cm47DQo+PiAgIA0KPj4gLQltdHJyX2FwX2luaXQo
KTsNCj4+ICsJaWYgKCFtdHJyX2FwX2luaXQoKSkNCj4+ICsJCXBhdF9hcF9pbml0X25vbXRy
cigpOw0KPj4gICB9DQo+IA0KPiBTbyBJJ20gcmVhZGluZyB0aGlzIGFzOiBpZiBpdCBjb3Vs
ZG4ndCBpbml0IEFQJ3MgTVRSUnMsIGluaXQgaXRzIFBBVC4NCj4gDQo+IEJ1dCBjdXJyZW50
bHksIHRoZSBjb2RlIHNldHMgdGhlIE1UUlJzIGZvciB0aGUgZGVsYXllZCBjYXNlIG9yIHdo
ZW4gdGhlDQo+IENQVSBpcyBub3Qgb25saW5lIGJ5IGRvaW5nIC0+c2V0X2FsbCBhbmQgaW4g
dGhlcmUgaXQgc2V0cyBmaXJzdCBNVFJScw0KPiBhbmQgdGhlbiBQQVQuDQo+IA0KPiBJIHRo
aW5rIHRoZSBjb2RlIGFib3ZlIHNob3VsZCBzaW1wbHkgdHJ5IHRoZSB0d28gdGhpbmdzLCBv
bmUgYWZ0ZXIgdGhlDQo+IG90aGVyLCBpbmRlcGVuZGVudGx5IGZyb20gb25lIGFub3RoZXIu
DQo+IA0KPiBBbmQgSSBzZWUgeW91J3ZlIGFkZGVkIGFub3RoZXIgc3RvbXAgbWFjaGluZSBj
YWxsIGZvciBQQVQgb25seS4NCj4gDQo+IE5vdywgd2hhdCBJIHRoaW5rIHRoZSBkZXNpZ24g
b2YgYWxsIHRoaXMgc2hvdWxkIGJlLCBpczoNCj4gDQo+IHlvdSBoYXZlIGEgYnVuY2ggb2Yg
dGhpbmdzIHlvdSBuZWVkIHRvIGRvIGF0IGVhY2ggcG9pbnQ6DQo+IA0KPiAqIGNhY2hlX2Fw
X2luaXQNCj4gDQo+ICogY2FjaGVfYXBzX2luaXQNCj4gDQo+ICogLi4uDQo+IA0KPiBOb3cs
IGluIGVhY2ggdGhvc2UsIHlvdSBsb29rIGF0IHdoZXRoZXIgUEFUIG9yIE1UUlIgaXMgc3Vw
cG9ydGVkIGFuZCB5b3UNCj4gZG8gb25seSB0aG9zZSB3aGljaCBhcmUgc3VwcG9ydGVkLg0K
PiANCj4gQWxzbywgdGhlIHJlbmRlenZvdXMgaGFuZGxlciBzaG91bGQgZG86DQo+IA0KPiAJ
aWYgTVRSUjoNCj4gCQlkbyBNVFJSIHNwZWNpZmljIHN0dWZmDQo+IA0KPiAJaWYgUEFUOg0K
PiAJCWRvIFBBVCBzcGVjaWZpYyBzdHVmZg0KPiANCj4gVGhpcyB3YXkgeW91IGhhdmUgY2xl
YW4gZGVmaW5pdGlvbnMgb2Ygd2hhdCBuZWVkcyB0byBoYXBwZW4gd2hlbiBhbmQgeW91DQo+
IGFsc28gZG8gKm9ubHkqIHRoZSB0aGluZ3MgdGhhdCB0aGUgcGxhdGZvcm0gc3VwcG9ydHMs
IGJ5IGtlZXBpbmcgdGhlDQo+IHByb3BlciBvcmRlciBvZiBvcGVyYXRpb25zIC0gSSBiZWxp
ZXZlIE1UUlJzIGZpcnN0IGFuZCB0aGVuIFBBVC4NCj4gDQo+IFRoaXMgd2F5IHdlJ2xsIGdl
dCByaWQgb2YgdGhhdCBjcmF6eSBtYXplIG9mIHdobyBjYWxscyB3aGF0IGFuZCB3aGVuLg0K
PiANCj4gQnV0IGZpcnN0IHdlIG5lZWQgdG8gZGVmaW5lIHRob3NlIHBvaW50cyB3aGVyZSBz
dHVmZiBuZWVkcyB0byBoYXBwZW4gYW5kDQo+IHRoZW4gZm9yIGVhY2ggcG9pbnQgZGVmaW5l
IHdoYXQgc3R1ZmYgbmVlZHMgdG8gaGFwcGVuLg0KPiANCj4gSG93IGRvZXMgdGhhdCBzb3Vu
ZD8NCg0KVGhpcyBhc2tzIGZvciBzb21lIG1vcmUgY2xlYW51cCBpbiB0aGUgTVRSUiBjb2Rl
Og0KDQptdHJyX2lmLT5zZXRfYWxsKCkgaXMgdGhlIHJlbGV2YW50IGNhbGxiYWNrLCBhbmQg
aXQgd2lsbCBvbmx5IGV2ZXIgYmUgY2FsbGVkDQpmb3IgdGhlIGdlbmVyaWMgY2FzZSAodXNl
X2ludGVsKCkgPT0gdHJ1ZSksIHNvIEkgdGhpbmsgd2Ugd2FudCB0bzoNCg0KLSByZW1vdmUg
dGhlIGN5cml4IHNwZWNpZmljIHNldF9hbGwoKSBmdW5jdGlvbg0KLSBzcGxpdCB0aGUgc2V0
X2FsbCgpIGNhbGxiYWNrIGNhc2UgZnJvbSBtdHJyX3JlbmRlenZvdXNfaGFuZGxlcigpIGlu
dG8gYQ0KICAgZGVkaWNhdGVkIHJlbmRlenZvdXMgaGFuZGxlcg0KLSByZW1vdmUgdGhlIHNl
dF9hbGwoKSBtZW1iZXIgZnJvbSBzdHJ1Y3QgbXRycl9vcHMgYW5kIGRpcmVjdGx5IGNhbGwN
CiAgIGdlbmVyaWNfc2V0X2FsbCgpIGZyb20gdGhlIG5ldyByZW5kZXp2b3VzIGhhbmRsZXIN
Ci0gb3B0aW9uYWw6IHJlbmFtZSB1c2VfaW50ZWwoKSB0byB1c2VfZ2VuZXJpYygpLCBvciBl
dmVuIGludHJvZHVjZSBqdXN0DQogICBhIHN0YXRpYyBib29sIGZvciB0aGF0IHB1cnBvc2UN
Cg0KVGhlbiB0aGUgbmV3IHJlbmRlenZvdXMgaGFuZGxlciBjYW4gYmUgbW9kaWZpZWQgYXMg
eW91IHN1Z2dlc3RlZC4NCg0KQXJlIHlvdSBva2F5IHdpdGggdGhhdCByb3V0ZT8NCg0KDQpK
dWVyZ2VuDQo=
--------------ZrVFAX000v0VzwJtOArH1frP
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------ZrVFAX000v0VzwJtOArH1frP--

--------------pJOUs7dfyavWU5Lwp2GyJCvK--

--------------Z7OE21cz2H45kr0rcs0pbiE6
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL8sg4FAwAAAAAACgkQsN6d1ii/Ey9u
5Af/UId+yeYmWBhxv+5XBJJI4+6KyTStKpmbrtzmIJQKj/OS0Swt9/ieNtDZaDw0wSnxPQeeQ5t+
eo2He5R98jVj760WTIWHDcWUwgYAU9WLN+JcsfZn21zxJKT6uvmOLRbU7WIw2CrEiOLmoamF+jzu
47sUgh7sw1cbXzS9WxeOOfAacWfsIliLpEFB53no/UK6Wr2NdI0SdyzwncgpQ5YLBAv38GhXQ4Gs
0fmHUTqrgG/0Fy+e0zVdci/DlQG+enstdIPr90a6W/5VqqiYZapLaAyJ9iKwxNaKhIEKU81O8mMF
aWWvmuaJvEuz1lr/go3zwf4OEHgyWLwZbA+YXOLz1A==
=OLfb
-----END PGP SIGNATURE-----

--------------Z7OE21cz2H45kr0rcs0pbiE6--


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 10:05:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 10:05:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388803.625553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOFv0-0004ux-U2; Wed, 17 Aug 2022 10:04:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388803.625553; Wed, 17 Aug 2022 10:04:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOFv0-0004uq-Qy; Wed, 17 Aug 2022 10:04:58 +0000
Received: by outflank-mailman (input) for mailman id 388803;
 Wed, 17 Aug 2022 10:04:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOFuz-0004uk-IA
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 10:04:57 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50065.outbound.protection.outlook.com [40.107.5.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b9487c9-1e14-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 12:04:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8232.eurprd04.prod.outlook.com (2603:10a6:20b:3b2::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 10:04:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 10:04:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b9487c9-1e14-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DHTWZ66BTYH16ia5rdc2ejE2bz6e7Qm2R0aLhYByL7knHm6MKfzjDFQ3Q0n+uHT+KjNuUFzq/1bwyt2BS9GcG8bO+WZNs8DT5tA78i2YQEu0zSVrZJidaI5EDyTmg+QL7wsLdaMpX5G/cdj6z9Mw6jdebrl+R1ABBpOYoUYBdQFzrEOx/N45+8M/dbbwSz5xTTFMRLtU87P4oCjsUVfyiez4ZbgqwP36YVzRpMPggU+RsgwUG6Q/q0sC+H594mgWa/5UDot1H9mFe+jCDQSG1jLeQrwrLE8YQyX9lnfhkwKsGmrslnLEtN69CF0ifC4CTwY8JddGQxSee4JNyeXJQQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AWdgy2/ltqh8Rqw5iGAIvSZaMw//DgtmkNlGaeRY+UQ=;
 b=mTnG55nA3BGSKfuH5KQ0pN4E5gObLqS7ZenjAkqdm6rxIzGywyK3o6+JPyIGwadPqhHuIeYJo//3s8sp9w7BfJaJ33qXbtm5jRi9MkD2oRMSmXtXMqqq9weVReoabw3il1UfCMjfX2ZUcY3qXawWEaIjC0Bh6cSd5WW0pApjdA3w5hFeYuzSjJkgszXJ1MoH5wJRx0nlDhsj6S4XbjhIl4lqJ39bzlT3a6zvHoI0PXq1PdTvV/IP8yCX/Ex3NoVpeZSeLkJlzccu6DQ6gyLZK23C1VYD5aFPxtdrjJwEQBUQnmYkWbUPYYMrgn9xm8WsDyjkP3wRCQbzXPCxRPtHig==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AWdgy2/ltqh8Rqw5iGAIvSZaMw//DgtmkNlGaeRY+UQ=;
 b=KUWgCruLPitsR+uLMlrktW2NaMMFtyDwiOkO4Vf64dvZCDPcPzGy07oZtyCq0IbSiHkFGngYUmu8VkaWI9pC6S4BqHRA92QdyRW37CtICAURBKFCvgxt+RX0d/QE5IIAlGZvyTjkcDX9DbHJFohbgMK0FcPBoOGVXq0IbRh92CZ0AQ2KLWYTvX2ibKGonRN6NUmRHYEgM+gGhGkTSZaEtzMO28nlmjcO7zSh76wnVFxCscJjfffb0lORWWACaAXZXbsR9PbxbuAkj0upwKCIQKF5unQ33kL0O7gzVyKlB6/OEw3RVg9+E12y79NHvCT2Qek0MLiLW2rDd/a+u1To+Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <691b68f0-db68-b400-5473-558583f8dbc1@suse.com>
Date: Wed, 17 Aug 2022 12:04:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v10 8/9] xen: retrieve reserved pages on populate_physmap
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-9-Penny.Zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220816023658.3551936-9-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2a3cac28-420f-4342-3206-08da8037ee4d
X-MS-TrafficTypeDiagnostic: AS8PR04MB8232:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UBxJJrRMDy12NavCUKyq7LbgZg5Ogj05TXWX7Cp2Q0PyYRyeLgak7PbETwkv+NT8hGHjN6xJHc64dNfscXyW65cYHDTUjIXxog2Fp0mjkpcjYIuPeSegSZUcQqYyAy62HyVNq376QOk0LLPhK6pYpb0/9AlkguhyCD0RPFCpqREwJRDtjyVm/e6DA+4F/w78l9CQhSMdRhQEhmXlEHVzIn0X6u0oo6AsAMcJ4xeYzd4G9VoSCQZAq5qQ0LpSJvmTtI/tFkC93ouc0Mx1zDnjEPfK5XCbGScEpyz4eHexvmAiRhRDQ1uK2RKqvXXXTI0f/WBDkIe3WGP4w0LY5NKdOtY2FkcmXV3V0Ct5bZdkbaJpevC1ziAAjz4mv0cYg4x1cYknZatARYe6kNEkHCpX7WoEsYwjLU96ouTBOMGDWfmo2vqAQOtylcp+mPMG9ix7hnJaZ8wjXNmKIq5HbswgKAdmxeaZffrLokAeytul/b/BWA9DK1FrCAWj2yt6VRLFYpaQDHdvj+GWet/HanHtRlkZSjO2k4w3P4EHVldT2CRGtG5GIVBIb6zJWPZIIF10LuN72VIWNaqLx3Fef1RGQeiKCYXuo3kxxZ0S4cbDer44J99orZTIEuZaa+3C8/ftK05sr3AzZVYTnv1Yc1I8542PSdJamwsskGNkwsGxxNE4JNceEAg9QyarLn1By7SexJ7WLEYIJGs7UWlbnfQLWVKftZVEOXpWAlvi2ccfKE9c4zLZ29sF6FLS3Sgd4u4fvNI3eOVShwqYQm5Uev6Ff89nls3orjhHqfq/t3EziTbTB5wW0YwXzCvwKUVt+PB+AOyCld5KSP277ItUxVgGzQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(346002)(396003)(39860400002)(366004)(31686004)(41300700001)(186003)(86362001)(478600001)(26005)(31696002)(6506007)(6512007)(2616005)(83380400001)(36756003)(53546011)(6486002)(66476007)(54906003)(8676002)(66946007)(4326008)(316002)(66556008)(6916009)(5660300002)(2906002)(8936002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVZJYzZaNlRlaENBVmt0NWRxOFg3b2hzM2ZqVUVOQXU5M3p3ZDV6MU5sM2xM?=
 =?utf-8?B?elMxUi9HVlpaM0htUnNsM2hhdFhZdXk5b1BhVGxpK1d0TEUra1ZHODlQeHJt?=
 =?utf-8?B?MkFzbTM5V3ZKKzFQSEhOcXpmOTVnNHV1MEJGbStFTDRQV0pRWlRyWTNJb1Fo?=
 =?utf-8?B?YWR3MU9hMkkyRi9sY0J5Nk1hcDFJRmRkVVFRUDd4SHc5Y2JkOXR2RzRaTGJ4?=
 =?utf-8?B?TCtLVmNsSGZJMmwrcXdnRTNkdS9JT1JRNms4d2JqZ09YZ3Y0OUpkdE1oblky?=
 =?utf-8?B?ZHBNS01RZjVKSE1TQnl0ckZ0eWFzZm1FK0R4dHcrQXBHd2hIYzdBSzRuZ09D?=
 =?utf-8?B?NG9NV0xBTjkxemlCcmNRdkkxckU0eTVLcFIzU3pJSXlhNkFtL2M0c3RJRkdv?=
 =?utf-8?B?Wnl3SDYvUDV4aUF3K05LR01JNlNVN2pLU0NFSFhpb1lkZGxpUlY1Z3htOTFK?=
 =?utf-8?B?MDVwYUFvWUlzNTEyU2VqZ0w1V0xRZnBadE45T01OMW5WT2R3RlNWaEVaSkx6?=
 =?utf-8?B?akhoWDZ4TlFLSk5PamtxQnRnYkpLak9ZZGhWZGtBZ1VXYVg0TGMvQ2d5Zy82?=
 =?utf-8?B?L1kvT3NOS1d3ck43UWFBY1JKMWd2L0xjTll0MjVXYm1Tay8vZjlJZy80SGtV?=
 =?utf-8?B?WUNhU3lNRk9RbFZBWTExdVBuV3pmYnJYdHQrMmgyZU8reVU3eXZCcWkveGRp?=
 =?utf-8?B?OWYzRjlEdlZQeG5yRU9SWkNIbDdkeVY5NVVsN1FwcGFsU1Y2VU9MSWVMMWht?=
 =?utf-8?B?ekNzQ3RYYXpCRnFGTjRjUTFzcHpnRmxkTUNJWjVhTmMwTHFZaW1qK0lDTmhu?=
 =?utf-8?B?ZWVaVUlXNnBCc0UrM0xSUFRBZHMzSS9LQ0NwV3Y2MTllRUp1ajYxNXRtNGwx?=
 =?utf-8?B?SkUxR0VlQUtKdmlid0QvN3VhdXBkMjJ3WTIzaTQ5M21DMTEramJxTndyZ1Ev?=
 =?utf-8?B?NHJRL2tMQWVrcTlHcGZXbWxlUWRUQ3BZSTZWSzdreXZZUERUS3l3dkxsbzRT?=
 =?utf-8?B?a3NER0lpZ25pTHRsYVFHcEZXZWJpQkRPM2taY3hER2ZCWmFoSEpIOTVldG1P?=
 =?utf-8?B?My8zSnhmRW0wenUvN1Z6N2lIZ2RBVFZHajlWWjkzMEVucUxMYnpKbVpMbVdy?=
 =?utf-8?B?U0JNNjRuWUQ4eW1zRWk3Mk5KQkpUTmVCdFJMbS9JM3FpVGoyWTFCZTNPTEh0?=
 =?utf-8?B?a05uVnpaYWpMdWlQRFFib3JCWm13VGNOR3VXejRVTnVVQ0NWUHJEdlI1Ykty?=
 =?utf-8?B?c3Y0TXF0TE5lcnMwRnJVQzlVR3NpL1NqUmIzcENwUnZsajk3cnErN0VrVSs2?=
 =?utf-8?B?M2N0ZWZlN1BBSmFYMjR2bmNDMG1GK0ZJTjhieEVweUpWSXFYM05PeE1NcndD?=
 =?utf-8?B?cjEwYjYwN1FDeElQby9xMEV6NGFvb0k0RlA2eVZJbzN0L0dNSm5TeVNkcU9G?=
 =?utf-8?B?b1RDS3RVMmpSVURpMlpWQnF2cHA0Vk8zTzJQUmdKcXkyVHBTWDZvb3VKQURa?=
 =?utf-8?B?OTAxYnUvSFo1dDFLdUJxeXU5MCtXKy9vcjdNNGlleVNsRlJIbTVXWmM3N2Zh?=
 =?utf-8?B?RDNwRWVIY2dteVhiQjZUTTNDT1FPQTIxRlJXZG11ZEFUbVpJSDhsM1lNbkZk?=
 =?utf-8?B?aGhFakljWndJd3huVTlRcW5jQ1NHRFpMd2prMUcwS2lLTXBCcTBENFJDOUNY?=
 =?utf-8?B?Ym96VGRVam52ZG5xR3pFLzBINnI1RDQvRUZsdWxST2NOK2RvODNhUyt3YUQ2?=
 =?utf-8?B?Mm1KaVBYekdJWjRxTjRZWjRMMEpJS1N4VjdqZDZ1cVJyYzJ6UEtxV3NyWXRE?=
 =?utf-8?B?RGJtRU4vRnJzUVJ2UEVRdm1abmJtbmhOTm94R1FQVGlTZ1JsSEpZSERqOXVJ?=
 =?utf-8?B?bkZXS0Y1Tm45VjRGMmJiZG5COU0rZ0hqaGhzMkRLSXpSTGtrbllnd1UzcnB6?=
 =?utf-8?B?Ry9DaVpRUWZBRWVLaW9CNlhQR2dLMUhxWFdIa3BDc1luU0Z4Y0tjNjNaYTFC?=
 =?utf-8?B?WWJmV0oxZDZDN1AwNFE2L016RUJwaXk5ZUNIc3dPcllQc09HdVIwV0J0Sm90?=
 =?utf-8?B?Z2doQXBWVE5WWGd0RjQ1MTBtTmhJakdTNEV5bkIzOFVwczR3MlA1RVVCcEJ3?=
 =?utf-8?Q?DrbIyGIRtje5iC4Da2Xi4eWkO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a3cac28-420f-4342-3206-08da8037ee4d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 10:04:53.7033
 (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: EXfniA94Nr+RtqhV663vHuTUTRMpgQICSEmXrud39jYz8rNGBBTQHPEFIGD2m2b2GPdkZptqeYv30287g2CMWg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8232

On 16.08.2022 04:36, Penny Zheng wrote:
> @@ -2867,6 +2854,61 @@ int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
>  
>      return 0;
>  }
> +
> +/*
> + * Acquire nr_mfns contiguous pages, starting at #smfn, of static memory,
> + * then assign them to one specific domain #d.
> + */
> +int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
> +                                   unsigned int nr_mfns, unsigned int memflags)
> +{
> +    struct page_info *pg;
> +
> +    ASSERT_ALLOC_CONTEXT();
> +
> +    pg = acquire_staticmem_pages(smfn, nr_mfns, memflags);
> +    if ( !pg )
> +        return -ENOENT;
> +
> +    if ( assign_domstatic_pages(d, pg, nr_mfns, memflags) )
> +        return -EINVAL;
> +
> +    return 0;
> +}
> +
> +/*
> + * Acquire a page from reserved page list(resv_page_list), when populating
> + * memory for static domain on runtime.
> + */
> +mfn_t acquire_reserved_page(struct domain *d, unsigned int memflags)
> +{
> +    struct page_info *page;
> +
> +    ASSERT_ALLOC_CONTEXT();
> +
> +    /* Acquire a page from reserved page list(resv_page_list). */
> +    spin_lock(&d->page_alloc_lock);
> +    page = page_list_remove_head(&d->resv_page_list);
> +    spin_unlock(&d->page_alloc_lock);
> +    if ( unlikely(!page) )
> +        return INVALID_MFN;
> +
> +    if ( !prepare_staticmem_pages(page, 1, memflags) )
> +        goto fail;
> +
> +    if ( assign_domstatic_pages(d, page, 1, memflags) )
> +        goto fail_assign;
> +
> +    return page_to_mfn(page);
> +
> + fail_assign:
> +    free_staticmem_pages(page, 1, memflags & MEMF_no_scrub);

Doesn't this need to be !(memflags & MEMF_no_scrub)? And then -
with assignment having failed and with it being just a single page
we're talking about, the page was not exposed to the guest at any
point afaict. So I don't see the need for scrubbing in the first
place.

Also I think the rename of the function would better be done first,
since then you wouldn't need to touch this line again right in the
next patch, and the prepare/unprepare pairing would also be visible
right here. This would then also better fit with the introduction
of prepare_*() in the previous patch (which, afaic, the name
change could also be merged into; FTAOD I don't mind it to be
separate).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 10:08:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 10:08:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388811.625563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOFy0-0005W4-DL; Wed, 17 Aug 2022 10:08:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388811.625563; Wed, 17 Aug 2022 10:08:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOFy0-0005Vx-8e; Wed, 17 Aug 2022 10:08:04 +0000
Received: by outflank-mailman (input) for mailman id 388811;
 Wed, 17 Aug 2022 10:08:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOFxz-0005V5-2z
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 10:08:03 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50089.outbound.protection.outlook.com [40.107.5.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a2d437a-1e14-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 12:08:02 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8232.eurprd04.prod.outlook.com (2603:10a6:20b:3b2::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 10:08:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 10:08:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a2d437a-1e14-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HO38UZHR4eLCdOz87aldhJ+5/3bz77/tGnQQaldrgU3OafM8PWGrxlioF04fnNKGtn10zdZL4hMWU0/q4OxxzlFX0rrHW3+6wqG9vKjSTeEIFX1o0omerqrvZ8srAd0WFylQ8YyE65fuw4siZK0idDXy3OUFhIyn0vdlWRoUNrsCtX5vn6bUVvbavvwWCp6JoGo9wNOozm0cPzC83Sb2OCZEPiUGIZmDUIdt3lve7+1rNI1B4xFLZqioey3ISWjciIJRzIvPJEhnZADwc3a7zUPUuHQ/7Tvj6/3bzNZUuUSdY1kVucqNo+LctELTwtvMadQ4ND2duRvvFht5MBWFAw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GWsENdGaDVZ3U2zu4bIt4TmP6GlsbLGULoII3Uvwx/U=;
 b=YeCSAkd6lvF9A55KLdkB7uN7WzF79jCnKnM1YdEcAcEK+jc2eY9+3hrZiO7kWbnZLzCEIALLabMuJkFU0GaLrfvTFKbZ5jf2nGfjJQnDzuIZfssYzAZz/PwWum90c7+CAaHKQmj+1DyMFkDe37MD4kToiwN+nXluO57VUirVxU8Z/M62l5G0LVq4MbDhLbhjSDi2gTmHVNtn49xasaM0loQ2ZZjFiwVfvk8X/isS1Jvn+KoqYqVe1EQCUj4nq42ZElzdz1wzcvPp8gyXHMTnDQ2/QUdzwkT/OAJaUOINQUG5Z/tXh1XF6ytj84PQTdHP6qW7UcfUl2ZPUzFEkd6XtA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GWsENdGaDVZ3U2zu4bIt4TmP6GlsbLGULoII3Uvwx/U=;
 b=clIAid9gvGP+l6gwrR6iFeeGNIE9YP9sX2kQLATvz+TomPiz3iQ3JZZLdRT1jvsHB+mirfDQ6JlHVT9jfiTOwRQPDR1LJgLgeycUTNKidDhL1963N1EZWlbOe1COFXbq80GdgknhSTSt+9Ppye2Ky7DKDu5UeztBox4VuNRe3jtKi+ftG24wqmz7vzCICaCiZOxiNuSWxgAjFdiLXuYukBO6vdyTXCLxpZ8BzdhGxx1FAtD2NAUisooFN+ZSxlCBCc5e2neWlAAvPbequ32KC05WwV3b0xoewru+kypX9XhXN5NkyY4pLeyDnfL6sKMPLODSv47JzvtOahcR5h2+IA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e757a58e-5d4b-c948-1dbd-915bb195d93a@suse.com>
Date: Wed, 17 Aug 2022 12:07:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v10 9/9] xen: rename free_staticmem_pages to
 unprepare_staticmem_pages
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-10-Penny.Zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220816023658.3551936-10-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 02b77890-b6c2-4c88-7de6-08da80385d8a
X-MS-TrafficTypeDiagnostic: AS8PR04MB8232:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3cyFW3x0aseiMsfNE5tInAHc2xGIdOt759ZfkvJrpgoaMRsM18d/wn7iDGtAUglhdxePwbm4I+Gmlml1bUiSceMY+/fsSojkm2OfZ1JwmtyXYq4r2V5xdyKf1GswNj8jmLixKJwQm5KE5qOKsNf+k1reAeZC7kEKhRFH7kXmYlc+nkoJ76EQJ8nPTVU3J8X1Yfc3DfztmdZZywN7aqoycc/JZ3h0ZSIPxYZtpF5PDs/QmDftKPHrZzRNjCa9TxGDVaTiDofsoSBtqeJOUAln8oRa8yJQQbW3IBCmvDqDFdPLRnUgxntan+YUmCppRg++Fip1TqTUnm28Ka3kDIW65eEn7qA+27G58wPJiTqCMsmwBRJ1SO4uY2A3pxlAXjM3C0cY8z9Vr/m1EScA+C02KlO5ZLHuiDK8LRGQOfC1sslw0j+yFm1gn5OEa0e6mUJju3B/GgK/QkAbQTXNI6+wl1rL92e3U4RMzN7Gtg+2dBdxy4mpk1E4T2sA5r4Iwgwr3ZiQyZ8ccRRXlDebztQ6KdfZMVDMMf0EhZBuKn/Dg0w4zbVfTjVXaASSNMRNqZigZxGYwPiCApP2/kuxw5Vyo1lEolqKeY4vahFT1Q4VGNM9WmWbLhFRHP+S9gAW0vSuLwUJPPD0nkIUVbrdnz3/w8FpjgmMO3npSGYk4FEAS6ZRkA+SgiMxgHnB5L+viHdz5j4hI6PKEtf6Y3iqeTBNjGlaLw5nX7egdAVh6MDhKWj+qx/CyQOgpqhd3I1Bdq6NF+CBROix/Rnpvq0nitHWV+aLfCT8zbC5PuUCxNuJxPOh+H5kuHWyyiZFdOkzc6Xub7Cs0cG0KdBoF2fXuqZiEA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(346002)(396003)(39860400002)(366004)(31686004)(41300700001)(186003)(86362001)(478600001)(4744005)(26005)(31696002)(6506007)(6512007)(2616005)(36756003)(53546011)(6486002)(66476007)(54906003)(8676002)(66946007)(4326008)(316002)(66556008)(6916009)(5660300002)(2906002)(7416002)(8936002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHRlVXY1Y2QzRS9uMUVMK0xNNTRia0NGcDZ3eVF5dEdZTUdIYm42bTMwbnN6?=
 =?utf-8?B?REVwdlUwZGs2WmxIcVF2WkJXQjhTOGpFR2FvbE04M0FZampXWXBYNE1nUUNo?=
 =?utf-8?B?cnJzUUdTTWE3THV3SVVveWVEUDlRNE9LOWhQRGI4cWJPeFNIQWNvL0dqWStW?=
 =?utf-8?B?dWw3ZXQyWVR5Y2UrTjRjM1FpYnd2SDQ2aGJZMXFtcFRndHJGK2FMREhUbzNC?=
 =?utf-8?B?WVo1bzVQcDA4OXlpU2hrY1FZQ2dJWENuZTRQSUd0cjVPdXMzNVhFTHR4Sjh0?=
 =?utf-8?B?cHhtd2RyR0QzMWF0NnNWT0NzaUExcHI4Vk5uaGFHK25VSDFYQVpFUHJmMFpk?=
 =?utf-8?B?cThGM3lVTU9EYUN2MStvVHBwaVRtMEpXR2ZnWU9rWElYV2k5eE1oUnErZ3pI?=
 =?utf-8?B?elhzMlRsa0hlbkVUM2hGS0ZUT3I0VUIwSVkxSnphRjNFcU9NTjdRREI4WUlp?=
 =?utf-8?B?OHdEZmY5VHV6bmRpMGwvdUk2MDFoYzVCc08zMzhxcnRtOHAwM2hGdmwzNWhS?=
 =?utf-8?B?U3ArcXJTM24zNFM2Qzk0NCt1SE9GbC9CZmpzNGExdzFlWFBJbk43aUNocHlV?=
 =?utf-8?B?TitYY21waUdPSVFjV2RMUjN3Q0hEQzM4RkxaTSthVkR1Z0FtYXNmQTRtZHZa?=
 =?utf-8?B?clJFZnZMcTZtd0xSWUdzeHNlNXJ6TG9BNVBaTmFVeGZMSmxka29xOU04cnRW?=
 =?utf-8?B?Vit2cmw3WjA5eEpxWno1YmdnL1JzSGROM211eHg1VmhDbkpJbVlNZEZkZjkx?=
 =?utf-8?B?MEdvOUE5dlpKbTZYVlJodCt3SE5PYSt0eFJCRXdmU1NGQWtNRHhaU2NxUldM?=
 =?utf-8?B?aDNZbXBOREhwTncxV3g3a0t1TlRXaGlYVUNMbUN4Y05wY2lxTnN3a3BoS2o5?=
 =?utf-8?B?bDB2cjRRYXRlcEFnemNNVHRPdXdrdXdxUHhlUWIwTVNpbkJtVDZuTys5Zng3?=
 =?utf-8?B?WlJ2UDVmWncvMzdYRkEvUFlWQ3Q4YXRlaGJ1aUZiSTN0dHhvcjZHUndHT2F2?=
 =?utf-8?B?WklJMmoxQjJhcm8yeFJmcEF6bVVSTVpiemh0TVMwWi9rZGwwbXQ5MWFTVkF0?=
 =?utf-8?B?WW1aS0Rsbk94V2VRbnJQVWZKdEoxSW16WHI2dWhzaVJnU0MybWJjZGRDeTZT?=
 =?utf-8?B?VERZak9aZ2dYV3lhOENjZUJjejR0RjRXUkFKeVVQZ2lISENVRWFoa1JPT204?=
 =?utf-8?B?WXhXMW5MdVRUZjFIcU4waXBJVnkzM1BSR0VaVTczcTJrY284RkZOeTNmOStm?=
 =?utf-8?B?OElaOVpMcUJ1bFNMWFhkRHEyeGlPdlF1bzdqLzFBRFQzSFNKSXp2d0t5L29R?=
 =?utf-8?B?YnV0WjJYTmRxVU4zMjJmNitma05PV0psNlg0ZjJZU0lwYkFxdnY2OFZXUVBC?=
 =?utf-8?B?d0NIUDJGNzNyNE1rMk5FWEtQek1qOUMzY3ArSFRFNnBaUVdjcHFBbFBXbWZK?=
 =?utf-8?B?dktVdDBQZ2hkdkRZVTJ3UkdIVlhZMXJSVUNSeFU1bFFGdTlYd01JN0plUi9k?=
 =?utf-8?B?ZmxEdmZpTGdKWFIyUmlKaFNVOUIxOVFiZFFQSWFDdkhURFNvYU5LTDQ5MnJa?=
 =?utf-8?B?MGQ4Z0EzUHQzVnpoY3JDR2FWUkx3VlozQ2hpZXM2djN4aE5uWVVWbGZlb0JE?=
 =?utf-8?B?NVdQL0ZEQzN0Mi83ZHkyZUVzVitBYVFtSlJiUzJZQ2RWOENvM0FsM0ZCd2hp?=
 =?utf-8?B?MnQ2N2c5VTJEOUUraFNuSC9NM1ZkNWtnSTEyNURNbmJmNXBiUnlwWkxBdmRD?=
 =?utf-8?B?N2YvbGJkbUtuMGFTOXVCM2g3Ny9mbGxYUzNWZVFZRXY2NTYyaUJvYTIxYm54?=
 =?utf-8?B?ZThlbldkbG14ZFc3TGRqWTNvRUZycGdwZ0xUN0d4YnNaZC9rTkJhUVpPRVhw?=
 =?utf-8?B?eXBnQnVOOGREYWZvd0hKTkxXZ0NKUDRxdHQwK2tlMnZjWDV6bXpiUWF0bTJR?=
 =?utf-8?B?eVFmb3N5WHVjVUg0S1hQTzdlOHlDYkRsSzZDYXdtM04vcHcvSHV2NGhwTmp3?=
 =?utf-8?B?TlJibHl6SGlqeGdBU2g1K0hKOHArdWd3bUlzaFAwYjJrWTNHUUdmT2dRZ3pu?=
 =?utf-8?B?QTQ1QjRvWnVvYlUyQ1RlMlozcWdYZGRzMjJwb0V1VlU3bWJIVUJxWGpTRysw?=
 =?utf-8?Q?rEFVHIwN3Dnxqyx4S5sMPwTlc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02b77890-b6c2-4c88-7de6-08da80385d8a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 10:08:00.3321
 (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: fdI7GoeKqGY6de0CgfaPJJbEicV4ZIW8vQzwZAURV/ov8z7k7FjsNqCwGV0kLeEcn+jwcNpDqFTKbivkrD/vQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8232

On 16.08.2022 04:36, Penny Zheng wrote:
> The name of free_staticmem_pages is inappropriate, considering it is
> the opposite of function prepare_staticmem_pages.
> 
> Rename free_staticmem_pages to unprepare_staticmem_pages.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
preferably, as said there, with it moved ahead of the previous patch.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 10:24:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 10:24:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388819.625575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGDe-0007rf-Pe; Wed, 17 Aug 2022 10:24:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388819.625575; Wed, 17 Aug 2022 10:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGDe-0007rY-MT; Wed, 17 Aug 2022 10:24:14 +0000
Received: by outflank-mailman (input) for mailman id 388819;
 Wed, 17 Aug 2022 10:24:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOGDd-0007rS-LH
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 10:24:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2073.outbound.protection.outlook.com [40.107.22.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bcbe96b3-1e16-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 12:24:12 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB5253.eurprd04.prod.outlook.com (2603:10a6:20b:6::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Wed, 17 Aug
 2022 10:24:10 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 10:24:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcbe96b3-1e16-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O0PijLLs/krXMHPsWRBl2mFHMz7GlUarbOUkDnujGAMcdjTn5MptIA3JwsusJB9UjIf5v6fYZfQPPvAYuyZypGgBKt4QQHDWnusWACB+qSa5Snr8kbnfICO5QhcJNkPu64xD7S/Kf6wiaRNqRv7ZdD1ZJ37p0jf++sTuahT2xnRrNqmYjDjuyJNix4NiJkoYxieqnmzigwCpK9XNi00oK4c8JCi1nwC+rZhgWQ4Hc6WJUvwoSzWFiZK8tl+9M4rFHGZ09m/hRGGAVQQZJvHcj/mHlQcGgc8KF0rbp+pwq2EQBLkGsVOOvmYQYgPhnx5l8wK6g7qRVvRNoecg14V4aw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M5lMmkgg8X1yWWmuln4bjG2Gm1lljen7hrUX0ZvamTA=;
 b=hEVMS+z3sq3qKpRpdREnZLg3iITNzSI/fzBRPuJ0n0miKFd0J2D8E0uS1tUdfg/oTP2OUQWZS4IikPuOgInh3bXP15Nuqm+euZqaa2Dhhukw/wbpGEtZFL4GLKvrN+Gl+AmIIm5pT4ZmUemAr9xn9EC7OItox5woHgBALMwkkA+VqrCDXm2tZ/b/Iwg6PGJv+qFoRD681E2bqWSKib8ZBi0ZpnOfvDhqtt6YB91YREbeZoARa5KGwuPOz/EEqFLzMyNes94E/TqzMekXuJOgYvd5S+jUmu3pSDP846gO2R2vR/KA0JGvNMYHgY8iXHs2fN38PZMb/PNGlOwpEe7HKw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M5lMmkgg8X1yWWmuln4bjG2Gm1lljen7hrUX0ZvamTA=;
 b=nl+kYOYbnigqkPp1APho4D1pmwEKZNzV2f1Z8Rw48My06SLVCGM/+pzfjXkTWuemeF8v7Ynhe9DXnAZkEpeyS+Tfa59mG10P4/YtV1TCjpvQ7E6XUF915xIKT6dw/Pzp69AxEISgH5GpLH/K2UWQKk315dAmg+u/XYvOBr+9d15bqqfJuss0rUCvTGWDVskTK/qulp1zai+Gh3Iqz53NzDThVZIk5PLA4HKyImGKyXgmw8R8OOSKOfWOLN7ReoNZVzqayPXvagMpVOqZr9r70c6CSNtL21SfjwxWTgfwe5bLyPY0C1WNrwNpQCstf52h4Gz8WV4Hr1syf/NgwkjtPw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c6fa4c7c-2a99-37ee-6f5a-bf31908b3048@suse.com>
Date: Wed, 17 Aug 2022 12:24:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/4] xen: Port linkage.h from kernel code
Content-Language: en-US
To: Jane Malalane <Jane.Malalane@citrix.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220804150424.17584-1-jane.malalane@citrix.com>
 <20220804150424.17584-3-jane.malalane@citrix.com>
 <2bd30d03-1918-02c7-02b2-cff8d58c99b0@suse.com>
 <a9a16f4f-a891-0801-69f9-5ce66acbc672@citrix.com>
 <effeed44-afa4-a172-5365-4a7007274957@suse.com>
 <becf6ce1-8432-496c-be3d-3e756841d865@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <becf6ce1-8432-496c-be3d-3e756841d865@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0261.eurprd06.prod.outlook.com
 (2603:10a6:20b:45f::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9a9a8d13-f7fe-46db-da8d-08da803a9fd3
X-MS-TrafficTypeDiagnostic: AM6PR04MB5253:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0dd/VSFqwZacNXnpbvkTOdrtpuZQqEYma8TpbAkPEkD2b6sy9KR/7r0HqGgzVTbnM5Y4Hvn1Uvxq0bnV6r/qN7akBjrnwCVW5xDnH2sOi9gM0AzxfAwYy1uqRgILeoJ14OTIg6ZJdZ7k6T6NCJsPZuz+jAvbVARLngHbq+RgDlaI7mICER1jzLatdgmehm8i4LEBrMqoGqI1YaWDREpUrR+1hG6IC6hhtRvxRXJ1cYEtXukZ5FGa2iyLE/MEIksAFGdHj9LdSaA2C9rGoGDUtSWicT7XQzKXY6hSOZDK7CWqaMdPlKICoV4Dh8WvXLEzBmhd8BQjP9QfOgM5ugCnxAOwXds9fGnPh3aVttrI3P8zHAIKvk0USBkdO9fw0OhsEHpc5U6Ea8AuunsZa4Z/37LqJusdOMNz33ERNe9rLwVS7HMtAQOPgGSUT3nSAp1kNGGva5Awivn57LLVHM0vNzrl4hLoWSLNMWdKwTq1xzMy2rydMe6a7crOIMpepwAisLwCQkwqiRREv7P87YvZkQ3OfcZ+nTVrYlSj8nPMDUF5xPfhOPbJT+JVvNEi44qnXGq2itxKHy8ZOjPU0Griepy1KRRA60pzmiaQAdIR1qb9EyBgozTtDvi31bMdnx5/5Ep5J9nAOdseA6EbI8QfU6wIdp7h4a99zehdizKdLJsJGYpLZkG5xQKHUca9znOUZ95amQQElBJOocXAeQDoSIiV4hasksnTpxaagpxtH1X6gj11pMHuG7o8i6llY6Gqdt+pKzQKA1KKmD8eaauyXUFElbL2IeG+x4TLn31zpeGgX8VWeNagvvRXnD2z89wuVh/YVyI/1F6LyYo40bEu2Ym/MxLHE0V+YAmipK74lrkCqmz5dPet7mjqgbbKEf5V
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(366004)(376002)(346002)(136003)(31686004)(8936002)(36756003)(2616005)(186003)(6506007)(38100700002)(6512007)(53546011)(26005)(316002)(86362001)(54906003)(2906002)(8676002)(41300700001)(66476007)(4326008)(31696002)(66946007)(5660300002)(66556008)(6486002)(966005)(478600001)(6916009)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1d1eFI2MzNBNzV4NVJodmZjYXpwQXpCSSsrUk5OTm1VUGlXdGFnNFJ2OHFV?=
 =?utf-8?B?blVITEhhanZRZG83UWF3cUVhZnhLckp3N1BicUJyQjk4NTI5UUZxczlaMTQ2?=
 =?utf-8?B?Y2c4R0hwUUxqa0Z6TUtJYVpBR25yOUN5N3pRUEpGdFV3QzlQVndpSml2NGYw?=
 =?utf-8?B?dVZON3Bpak11eldWNU5FelVyeWxBOVJPdE1CTGVTOTlVSkNzcyswWUZOUUlQ?=
 =?utf-8?B?QzlXakhOc0pIZ2Q0Zy9ndml3RWZnVGk4OGVDeWVXNkg3a21kZ0laNG5USzNp?=
 =?utf-8?B?M09pZGxFSnNpTW9FcUJhMHVMOUdxSmNvZXQvQWZjQlY1VW94WFh5MXYrUFV0?=
 =?utf-8?B?N1RCOEpLNXZPVG03cmUvZkUwQjA3bHJycXNaeFJ6K0JGU3djQ1FIYWErMlRE?=
 =?utf-8?B?NVNWTmc2b1BkSzJzY1ovL0ZGRzlZaWU4bTZPOHBpU0lHZVo3Q21GOGNuZ2Jm?=
 =?utf-8?B?ZmRvbkQxN2hjbEpOMzZ6Q3hMMUNDZjI2cGtKU2NCMWxXOHZ5WW9LSlpoMkwx?=
 =?utf-8?B?RUhJSzE0Zk9HT2NjbXpyRENkTldOTHQ5RVRBaHB1N1lXS2dhaHBTTlJKN21W?=
 =?utf-8?B?VTBSdFJzTm05R0RkQUtZTU1MMUw5UXQ5R281L1N1bEprOWF4eHEycGUxemQ3?=
 =?utf-8?B?b1k4QkRZR2hiaW54MmVHemlWYmsyYXkxbHBGV3JFK1VHU2NROXJWMHlHSHdR?=
 =?utf-8?B?ams0Y1RGR3E0cXhXbDYyTXUyTlNYaVRuSkE4d2RpMkpzYVZJdStJQXEzQzVx?=
 =?utf-8?B?Mmg5L0I0eXRQZ3VxOEFZNlhaZWV3c3hHM0N3enR2dXVKa0xLSklwQzhPcktr?=
 =?utf-8?B?Rkc1aGYxaW03VUIwZGcvWktCQ0FrR1ZGVFVYMk1idEdTRGhNRGI1dWJFSmlx?=
 =?utf-8?B?eDJkbCtJcncwRi9iNmtqOUdDZGtUaE1YNDlLUHV4YUIrRFRUaXd3YnpBT2lq?=
 =?utf-8?B?bjN4YTI1elVjcWV4RC9aSXkvRjA1OHp6bStrMDVIeTh3TG9uQW5rNDkwWHZ6?=
 =?utf-8?B?c05PczVOc1ZUZTVCRUxYUTJKbEtuTkhjbWljVERZVVpEdWdZMC8yaTNUamU5?=
 =?utf-8?B?WE52ekV0ODZCZVlQWEFBNHMwdTZia0ZmdTVodElQTWJEYVpnQkg3ZEtzZkli?=
 =?utf-8?B?b1FBZEFBS1MxSkZ5M3BwVFlBSHB2UFRLWVFQNjVtY0Q0S3R0emRaNmsxSXR1?=
 =?utf-8?B?RHZYMHRqMnRLRXIrYkVWSFp4aDBTdzdYTWZJdFJVcDN3a1FWd2Q4a2FXMCtn?=
 =?utf-8?B?em9NMG03T21LOVdadkR6dWRPNXVhUHVmSXVlamJGcStaSUFGdzYvWmV2djhl?=
 =?utf-8?B?ZllIVEhoejcrRDA1UXlLb3I0bVN6V3NIL1BlS3lzcnhGZFJLYlN6Uzg5S3g4?=
 =?utf-8?B?WFpkV0lRekRQL0dsYVZ1TFdPbDUvRzRtSms3TVZVRGRGS2N3WHhEczI5dm5W?=
 =?utf-8?B?Z3NBalVOYjNtSXlwcHhBMklZVVdTNSs1a1MzbS94a0hIVHpIV0RlS1JFUk5F?=
 =?utf-8?B?SDhYOHVXaENPOU1UNWlST201aXF1NHd1ZTFuZUhpcWYvTzdvOGNPaFphSVli?=
 =?utf-8?B?OGJGNE54MDI4RVA0eGZDbWZCUHc4YU9LN0N2cXpGVVA3UVozWXNtL3ArTmxE?=
 =?utf-8?B?bmdmSFdGTzFvdjRiQVVGc0Z3UUR4ZXREYkdEaUxFT3pSQUZ1eGxqelhLYyta?=
 =?utf-8?B?NW1qL05SMHFFaXRYYkJQRkgvNm5wN3FsTUVLNlEyRXpyWGhUd3pSNlNHVFpt?=
 =?utf-8?B?ZGtyODZGUEZBMG9GVTFBNExkY3d4K2VmMjJoZ1RLRWt6Zm4vUXFWTGxmaTVo?=
 =?utf-8?B?TlVLZU1QV0I2emhoQkJseGczYnBsa0JaNERFZFJmR21aR0JRMW1sRnZ6NHZB?=
 =?utf-8?B?YU1xcFcweUxVZVptckYrcktoRFlQV0REUkJINTlCYlp4bVNQTEJ0S1VMVWhD?=
 =?utf-8?B?MWNhTGJWZWNPSG5OZlpNWDVyY0xKRDVBNVlNUUxrWjNxS05RWExuR2FFNm9o?=
 =?utf-8?B?a2ZGZUJQWVg5ZFVwbTF3WC94dFFCOWthQXh0ajlSWk92d2dsczBBN0xmZ0lY?=
 =?utf-8?B?SjZ0a3lERENiZng1TWtUN0VJdlB3emlCM3BOellQQ2FSRkNUeDIwOWh6YmJk?=
 =?utf-8?Q?nV2x3osQXqX1rsnNXrEYsv/gm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a9a8d13-f7fe-46db-da8d-08da803a9fd3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 10:24:10.5828
 (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: 77gET90NYX3RTxHSjsy0qBgbpCtRLLYVeNPa4Ja+aqmsnhnP+fSpzPRX5P9B96RnjblbKks0HI1kti2bE15DLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5253

On 17.08.2022 10:56, Jane Malalane wrote:
> On 16/08/2022 14:06, Jan Beulich wrote:
>> On 16.08.2022 12:16, Jane Malalane wrote:
>>> On 05/08/2022 10:24, Jan Beulich wrote:
>>>> On 04.08.2022 17:04, Jane Malalane wrote:
>>>>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>>> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
>>>>
>>>> In the title you say "port", but then you don't say what customization
>>>> you've done beyond the obvious adjustment of inclusion guard and
>>>> adjustment (actually removal) of #include-s. How much customization we
>>>> want to do is important here, after all. I notice you did, for example,
>>>> add new flavors of SYM_INNER_LABEL, but then you didn't add anything to
>>>> use .hidden (which I have queued as a new patch on top of a supposed v2
>>>> of "x86: annotate entry points with type and size"). At the same time
>>>> you've left in objtool related commentary, when we don't use that tool
>>>> (and no-one knows if we ever will).
>>>>
>>>> I'm further not sure I agree with the naming of some of your additions,
>>>> as they appear to not really fit with the naming model used elsewhere.
>>>> Your additions also look to not always match style used elsewhere in
>>>> this file.
>>>>
>>>> You further want to mention what Linux version this was derived from,
>>>> to make it easier to determine what incremental changes to port over
>>>> subsequently.
>>>>
>>>> Overall I'm not convinced this is a model we want to go with, first
>>>> and foremost because the commonly used macro names are too long for
>>>> my taste. What's wrong with ENTRY() and ENDPROC() / ENDDATA()?
>>> Hi Jan,
>>>
>>> Since I have no particular opinion on this I went through the discussion
>>> that took place before those macros were introduced in Linux. One of the
>>> points made was that PROC was an ambiguous term to use, since C
>>> functions are not actually procedures, at least not all.
>>
>> Just one remark here: We're talking about assembly code here, so what's
>> a procedure or function isn't well defined anyway. I wouldn't, btw, mind
>> ENDFUNC() if that's deemed better than ENDPROC().
> Do you then propose that we use ENTRY() and ENDFUNC() and that for inner 
> labels we keep them as is (so just "name:"), since using ENTRY() without 
> a closing END() for some "functions" and not for others could get a bit 
> confusing?

Almost - I don't see anything wrong with using ENTRY() without any END*()
for inner labels, if the implied alignment is wanted. If no alignment nor
type / size are wanted, we have GLOBAL(). And recall that I already did
post a patch adding various ENDPROC() (which could be converted to
ENDFUNC() if that name is indeed liked better, and which could easily
have ENDDATA() or some such added), see
https://lists.xen.org/archives/html/xen-devel/2022-04/msg00876.html .
With Andrew's odd reply I didn't see fit to post a v2 so far, where I'm
now having a further patch adding .hidden directives into GLOBAL() and
(indirectly) ENTRY(). Not the least because my reply (where I did already
indicate that Linux'es machinery looks a little too involved to me)
didn't have any further responses, which would at least have helped
clarify what - if anything - I had "rejected" long ago.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 10:38:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 10:38:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388829.625589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGRf-00012F-5A; Wed, 17 Aug 2022 10:38:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388829.625589; Wed, 17 Aug 2022 10:38:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGRf-000128-19; Wed, 17 Aug 2022 10:38:43 +0000
Received: by outflank-mailman (input) for mailman id 388829;
 Wed, 17 Aug 2022 10:38:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOGRd-00011t-Cv; Wed, 17 Aug 2022 10:38:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOGRd-0004KP-BA; Wed, 17 Aug 2022 10:38:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOGRd-0004KQ-0P; Wed, 17 Aug 2022 10:38:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOGRc-0006yc-WE; Wed, 17 Aug 2022 10:38:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5IgGGrKH12HXQM59XJ4msRUKc0cbXTE4I23ZoN95cGc=; b=qzGqbinMqXckTSy1fNAKE/aHj/
	8pB5TJ72ZL4sfiuvUGsxsiZ4JWQN4V7q7bh6vJ84xaVqLUWknBjJaawlocuM4Kw1Kfv0H+FFyrGtz
	NdrcdUZOHoDoEq3z1MdVab2KQ5r35AJmm3PXvc/eqA3H15YQjM0wIkAaUIlEGsnyVHYA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172581-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172581: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3cc40a443a04d52b0c95255dce264068b01e9bfe
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 10:38:40 +0000

flight 172581 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172581/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                3cc40a443a04d52b0c95255dce264068b01e9bfe
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   13 days
Failing since        172152  2022-08-05 04:01:26 Z   12 days   31 attempts
Testing same since   172581  2022-08-16 22:43:16 Z    0 days    1 attempts

------------------------------------------------------------
1388 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 145341 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 10:38:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 10:38:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388831.625600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGRg-0001Hf-Bu; Wed, 17 Aug 2022 10:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388831.625600; Wed, 17 Aug 2022 10:38:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGRg-0001HY-92; Wed, 17 Aug 2022 10:38:44 +0000
Received: by outflank-mailman (input) for mailman id 388831;
 Wed, 17 Aug 2022 10:38:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOGRe-00011s-MZ
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 10:38:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2050.outbound.protection.outlook.com [40.107.20.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c22f804c-1e18-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 12:38:40 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6985.eurprd04.prod.outlook.com (2603:10a6:10:11e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 10:38:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 10:38:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c22f804c-1e18-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EthBee6Y9CB38Lr+j4X9fb2Tn0e3BmCQUxaBRXzDor8rh/f4JLPFwd66nS3A4tSwCuOlu3r5vAuaBjcQcGNmX6rsdIWPTbPRIfjJc/Qt+3WSt8VQju8IspKU1O/8aLiwioFZ/haXOy2l88yUfZ45r1j5kdXk4kMEsnb2vZgf2nIPAPlOzkDPmW9jwi36b0M8updhuD2FE1Mc2bQhoN860omc/R0iTT6TwR5ffNWiV9r8+qxI+VybSxFvyIV+FA//p5GL8Lv5VX0y0sxgaOm+7TzEQtyEvQQGrs3JL4l6dZyHc6GJc+u+v9q+9bKlci747krfHZPQulrt751fVTjvTQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SReFO7fDnj7SzKY7MhJIBp/Ob2Kh5NHQE7Gvvp3ypIc=;
 b=abX2l6o4qcz7TdAbN3y1DPMKJAwGP4QPnbvtNkml7hBd5LxeyeUn8N3ny5AcCDl2RgaZNuW6bHqBOWq0XpkEIpgy1v2Wz9wa7czCc0r4w6lxyLVyz28fSNNPwLAk5zJeOgvhyfR7ifbNPotgIqVuTZmD8BlFulKjw2CL3UJHcDRFQHuLzjTP0ZyVkV62buXssegbPKerVfmjgws4lz0TWts4F7EJKJqEjpQN/E4G3q2eFyR7aMgiq05CJAKaOFOUw1eAIAREA7O5oScpft6arVL/DCEyopWpk40brtxzHmpFV2t7fOTYz/LjQ5eMYHcTAzmj4I8U88zTzZfYadR4yQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SReFO7fDnj7SzKY7MhJIBp/Ob2Kh5NHQE7Gvvp3ypIc=;
 b=4USy+waJ+gT17LOEs9z/riufTFrt8xf2Qt0177L5C6ZlTEFYnSqfxcUz0ZlNucLBuLFXPJwiZ9wShRE34YbXPFDyYGnOSQHvoJOq5KbFPwaHZqCIaHOO7QJ2rG3jRm0pWHHOfQOr08Aej5RFVZ3b88A6bWUFxVWNeQVvT0szovufdgwHh5idAf/bz2Dp6wl5xo1faR5Iqn6ZTJXzMdBBgNSOPl9S4A0RSmDA4BGxfrv5jWCLrJAwXhcURgpoOxUBcfKtuVgjDBhRkHYsxFbfyUciOEy1FB4XcMZGOXFMdoqOVTY9VS5fKvymBXDhQUm94tZY1vgNH8Lb9vAnIhOYQA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e2d3cc4d-4b5e-560a-53f1-380d260a66b6@suse.com>
Date: Wed, 17 Aug 2022 12:38:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <20220817091540.18949-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220817091540.18949-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9cb42227-ea6c-4883-5660-08da803ca527
X-MS-TrafficTypeDiagnostic: DB8PR04MB6985:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cz23riTRO9WxlIYiFRxHeu8vcGWGrvUZT0w7ItuVMhxemQ1dBTbcwgzz/mGHtmIbchMlN/Ojfvo7qFwZpYfxW6gEepr/tPGk4ot5XxH4zVVdGZirIaOiHQ2ChjwvhkVTVAeqUlMkuc79RU0am8KkGayncqwCADC3qdBpCrXIf1QQPfR9v+G31EIIJaVGmah19f3fd//uquV8wa5wUAgUYvJoavogLXMZssr4nzRcBwQnrEvXShd8bjRW8/E9cepKjkRjJFfWiDorSpFCUqWNomYScMhJ+UjmgUKNehpAu9W+mtLB25zn1QATztA5k13E88Zyd+3tVpZMCHQjVb8uO+UscgsyjtI5AJQvordfjia68yoSiZTZUW5hzT1jZOvNIz+RH1jXQVAQNa8zsvxq4tGpXRo034HUpRT2V7adSBsuV0YZZX7M/yU9ZJ0FMVIE71DGvxY+cYlLvScEUriZiVvsDcK7O8woRPiWIboAxWULrEcxRvVDtTH6hPnMaE756NgQY7KC97ZaYq2DsH2SF1LNE51E9pXgT08OdYPgG02CwTHrDja2A0zMp2HrMFpjWFdhIw192X4QN6A5nA9bFdWWHSQxv4DIjCZIxdynn6nPuCRjMzJxxjCUWV37yH2a4D+sYp5SIbOEQkQXWZ5Nivtq5MpIQR3tiaInNQ22WT/9athV7PvbeOz9TlQu2xheM6l0KMg54QbhjH1iOtdmfTvoue4E2tBsBv8BtWkhpgu2z6+sNrzDxRM+Qq9cNAAi9yILyqOM08iRIhujxcyGndfv5EEAr6pGnpYDqC3St4FFIXrWy6rh44smPNqFfKuJopqQ0WHh7U6pje0N0dzMIw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(366004)(39860400002)(396003)(136003)(66476007)(36756003)(26005)(186003)(2616005)(6512007)(6506007)(41300700001)(53546011)(6486002)(478600001)(4326008)(31686004)(316002)(31696002)(83380400001)(4744005)(54906003)(6916009)(66556008)(7416002)(5660300002)(8676002)(38100700002)(8936002)(66946007)(2906002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UUZMNTUwaGJGWEFOVjZZckhkeXRMQytYTmtDS1FIZkJQL25OaEhaSDJIcEFw?=
 =?utf-8?B?dUZJdHZVZGJVK21EMTZZVDYzZGtSRXFmSkpoVmlra1lWZ2lPMjlmWnhJYTNq?=
 =?utf-8?B?MTBRMWp6em5SVzd2QmE5SXR1dzdZZ2pZblFlbFhXL0xsb01sK2FFTlBHN3gx?=
 =?utf-8?B?UlptcG9NaEh4WEdVQy9rbkl6a3hZZnlhSHlNT1JmNmhhaFh5L2cvRW1wL0lM?=
 =?utf-8?B?RmNLWFRDY2xQRUNwWE1nZzNoQ1RJbUhQbnI0enZIK0VEaVJsRm1xbmFXZkxB?=
 =?utf-8?B?Qk0zcGUwSVpXN0M5WkVRei8rNGVWN0tTbUpxbkJoWHJOMStFSEtVSWJBdmE4?=
 =?utf-8?B?UmNOZGJHS2ZCV1lEdlFPQ1BtK0VCYitLbk9HWmF4N0F2VEN1c1lxajdTM3lV?=
 =?utf-8?B?bHQ0T2VtSUVQQnRZQlVTaTUrZ3dzZHhEYkcySkNLYVcvZE8rakg5cDlWcmhQ?=
 =?utf-8?B?NGNqZ0VYZmM1WlVPUFJyMk4vbndpajA5Wi8wTHNqZkRoNDJqdzRZbnFBMm9w?=
 =?utf-8?B?cjV4bE1YbnlSaWxMNWdGblova2lUc0t0VkQxRHNWR0RkVGZ3WHpkRTczMmF0?=
 =?utf-8?B?SmpVUGhha1QxN0MzWkVQOXEwVTlQSGhGb0puWm5DQnI1YVZkenFoR3QrTlhG?=
 =?utf-8?B?Sm9KU0lDSWtqRERnSW13T091WHJDUkxSOHBzT3NPbjBGTnlEUGI0Nmdkb3U5?=
 =?utf-8?B?ek5lRzdrT1RzTllScmhVOUdWQ2Y0dWE0QkJyd1dmT3JLdkRtYkZtY2pWTG9a?=
 =?utf-8?B?bXFTUDN5RkdQbWg4SjRuMEJwb01ZUUd0YmhoNHlGam9OWWl0b1dyUDVkOVlQ?=
 =?utf-8?B?TjlnL2VCSUQ2UmEyYkZ0ZnFQOHBoM1IzNUFyOGpqQ09MZGxrWm8zYURweEdQ?=
 =?utf-8?B?UFRLNnNPTWlBOTYwSmNoaiszWFRpN1VTcEJueURYcFJZdGxnNjJmam52UDhL?=
 =?utf-8?B?cEhGcXBMWmRWaWZlcnJpa3g3T082cjlMTmVHNCtwRi9HTHJwd240bk9jSnFM?=
 =?utf-8?B?b3ZCQm1PdzBTbm9HdkZHWHdITGNpK1krNGxpYTVKNlJPMyt0aGVXa3R4Uld2?=
 =?utf-8?B?VDBzbkZ2MVpxTm1qdnBKLy91UHpYTzFPSlZsdnY5UUxUSmt5Rk52N1VCMFNZ?=
 =?utf-8?B?Q3pQME40Vzg1aDJyd3VHQmJvbWV4WWNsWVZHdXhYbXRxNTZkbkk0Wk10Zlcy?=
 =?utf-8?B?a25aV3lDVTZXWk5VWHE1YlFPMFdmcWR6aWg2YlZqOFpiQ1huMzFlZ2IwZlho?=
 =?utf-8?B?VGFjUWxucU9mVGZTWllMV2luU2F5cS9kLzhSNGIrT3NodEJJbDlsaWJ6WjBO?=
 =?utf-8?B?bEVFWEtNRWw1ZmpCcFdYU2MvcWJaNzlzY1BOZlN6MjY2MkZvZm40ZmpldUV3?=
 =?utf-8?B?dll4K3BPL2ZmVFV4Z01YQkdTNkUwQm9RbmxkWlNac05mc1UrRlllcVFmdmMx?=
 =?utf-8?B?NDUzWHZUM3Q1SE0zNldZVWttRVJGaHNDbVlWYXBjd0UwTVlZbzZoaU9Rd1Aw?=
 =?utf-8?B?TU40VDdKblFXRTBoMGdvODZ5Tkd0SlY2c2JYbm1GZFNhRGFoWlJiTmE4ODlN?=
 =?utf-8?B?Y3lEalN2NmttOVJzbmF2bUhpdTRKT3YzTUlzRHo2anZwSmdGM2EwbzJJbkE3?=
 =?utf-8?B?YnlPdFBSNkNKZW9KMit6WnUyRWg0MGdrR1k1eGRhamlSbTNHdUZmZVZ0Qk5C?=
 =?utf-8?B?RzB5WXRsUVFNRnNJOFU5WHY3eEFRNHI3a3FoK1pYejBwOXVvWlNmakgvcFBL?=
 =?utf-8?B?YXZkSWJLNkN3MW5GTzNraVZkaS9YT2hOWjRoT1Y3Uzd3bkpERUdrLzRSRVhr?=
 =?utf-8?B?d1oyd0hRb2dENXNsc0tnM3podXNVNVN2dDVkVmFBQ3VWdmsvTmd6dG1OM2tp?=
 =?utf-8?B?eFNBa0VyVXNiVVRtZnZKNFFBK2liaGNCdkdxUHRSSHVmZ1pJdlo4cUlOampD?=
 =?utf-8?B?ZUFZMit0TENPK2FSS01FR3Iwb1ZqYnBKdkZ1b3JLWXZaUm1CNnc5NnkwQ3pi?=
 =?utf-8?B?VlREUmZ2alpYSkhtUVJGQTU2YUZDbnpKTWx6K1IzNWxwNG5TMmpNM05GOUxi?=
 =?utf-8?B?dEhRL3E2RGh1WkZ4MHkvMzJ6U2JHRlllT053K1dHZncxK3JMSzlyTmNWSFJw?=
 =?utf-8?Q?ugzmMn0S/ldyWM6humkGTo6jK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cb42227-ea6c-4883-5660-08da803ca527
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 10:38:38.4808
 (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: TFXrGflL+MDuCXgCua4/PDZHuQqgnz2VaLhP2uOvR6qtUDDN7jkcGDYk5vAsC6mfnfa4JoYRq5khrhSkOMr/nQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6985

On 17.08.2022 11:15, Anthony PERARD wrote:
> --- a/xen/common/efi/efi-common.mk
> +++ b/xen/common/efi/efi-common.mk
> @@ -9,9 +9,9 @@ CFLAGS-y += -iquote $(srcdir)
>  # e.g.: It transforms "dir/foo/bar" into successively
>  #       "dir foo bar", ".. .. ..", "../../.."
>  $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
> -	$(Q)test -f $@ || \
> -	    ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
> +	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@

I'm afraid the commit message hasn't made clear to me why this part of
the change is (still) needed (or perhaps just wanted). The rest of this
lgtm now, thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 10:55:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 10:55:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388847.625611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGhM-0003wl-Nz; Wed, 17 Aug 2022 10:54:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388847.625611; Wed, 17 Aug 2022 10:54:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGhM-0003we-LN; Wed, 17 Aug 2022 10:54:56 +0000
Received: by outflank-mailman (input) for mailman id 388847;
 Wed, 17 Aug 2022 10:54:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOGhL-0003wU-Hu; Wed, 17 Aug 2022 10:54:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOGhL-0004br-FD; Wed, 17 Aug 2022 10:54:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOGhL-0004mN-3X; Wed, 17 Aug 2022 10:54:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOGhL-0007HV-34; Wed, 17 Aug 2022 10:54:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=48uauFMf+Pd/xnRimaPNh9+K3X//y51JtNn58Kb6VK4=; b=2BQhgx/bTYMGktmhUPvpCObqwf
	+X+WPeDvSLUotijjxBteibMu5YfY6OIInhcTjcQARqTKUU0gTgp6oacn0InWMG4qQd+HIwA+TEhq1
	9IXaY+2HNJa6nW4hiDi3ofsOl75LrBnYvk58P5qcHTXdzijxP2kElqGbhfAsd+wXPZiQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172595-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172595: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=64a20bea97e6a19651e639a9c24e5f4e37b70f81
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 10:54:55 +0000

flight 172595 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172595/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 64a20bea97e6a19651e639a9c24e5f4e37b70f81
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   13 days
Failing since        172151  2022-08-05 02:40:28 Z   12 days  109 attempts
Testing same since   172595  2022-08-17 09:11:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 735 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 10:57:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 10:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388858.625621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGk1-0004bT-8L; Wed, 17 Aug 2022 10:57:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388858.625621; Wed, 17 Aug 2022 10:57:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGk1-0004bM-5m; Wed, 17 Aug 2022 10:57:41 +0000
Received: by outflank-mailman (input) for mailman id 388858;
 Wed, 17 Aug 2022 10:57:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mz1p=YV=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oOGjz-0004av-Nw
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 10:57:39 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67ba5d79-1e1b-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 12:57:38 +0200 (CEST)
Received: by mail-pj1-x102e.google.com with SMTP id
 ch17-20020a17090af41100b001fa74771f61so3333586pjb.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Aug 2022 03:57:38 -0700 (PDT)
Received: from leoy-yangtze.lan
 (ec2-54-176-161-147.us-west-1.compute.amazonaws.com. [54.176.161.147])
 by smtp.gmail.com with ESMTPSA id
 ij28-20020a170902ab5c00b0016a111c83cdsm1164248plb.119.2022.08.17.03.57.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Aug 2022 03:57:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67ba5d79-1e1b-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=iyFlyIEZzyGszhkX6cDJ5x7yOjHB+/uaApdjgt6qyBc=;
        b=A5W/kIck/q95G8s9pcKlL2h6dqQrQj8czaf/GI4dQNcz9a8PGP1PCAtdZVOBKFyexF
         MMzEZgUxw4YsJBFpJRuKtEu4eBrM7emXDhYjsvd/EwDF6mK/mPb/uc/3+TSKxprBxFGc
         TPhkHZ0HugLfov13e2MwZFsVrBucgEoUahLDQdD67odvNaQM3UkTy165bvYfoGGi1gze
         yG4XZ56uvi7/R9luoffAcoYes3kdUmJzsmjg8vH+z8iHP6HtowYytNwnSOsE6LDQDvig
         12qW34rXTuPohqVHLbQuY6lqFydfWRuoT5TyyAbeucGp+LmqDiw/Ore4+8tRVS2mdRty
         6i3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=iyFlyIEZzyGszhkX6cDJ5x7yOjHB+/uaApdjgt6qyBc=;
        b=YZ+D2SVj0ebdU5rh3J3kVV4Q3tCO/2oxraGOkGoR8Y+TwCgRMSmBjuQyAfnlKfTivI
         vz4htOhvP9fFpr3q5b4cZFQ5H1YrjkazlE+fTMzGMvlvVz+QN2xdHURD6mY1uTNimcUU
         CO7v4LZOz+y35bLT8QLcNTGfT2mA6LrbfLvNzBa+ggvRozG7RpS0t31t/GN9McfAfZ+i
         PoGZiHxk0v2nIB0JqBgNTmM2IO6PXvH5yBvC+yJZ+SxpwTwcrl2MOqC86aZ1jAfNfity
         phQSaTH+8UrnzCxQ5LMPkysrEVKyeCsbgWWETvZOoPECTrQahucY071k79erGC4yw/IL
         9wAg==
X-Gm-Message-State: ACgBeo0zzj+pwrgNFaQoLdRP1YmcLasUkTIuNZZ4JJe6McDXRBc4Tu92
	ui9uqRoqI5n1Mju265eqg680mbXOsfprhdJSUm0=
X-Google-Smtp-Source: AA6agR404OeS+yKSxudPdUa4xDiEAx0ufReFbfysECjChFZb2Br3qm89fw9U1TQZ/ePT7GDE3Hjyag==
X-Received: by 2002:a17:902:da92:b0:16e:f2ee:b98a with SMTP id j18-20020a170902da9200b0016ef2eeb98amr26018534plx.154.1660733856331;
        Wed, 17 Aug 2022 03:57:36 -0700 (PDT)
From: Leo Yan <leo.yan@linaro.org>
To: xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Cc: Leo Yan <leo.yan@linaro.org>,
	Ard Biesheuvel <ardb@kernel.org>,
	Marc Zyngier <maz@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>
Subject: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Date: Wed, 17 Aug 2022 18:57:20 +0800
Message-Id: <20220817105720.111618-1-leo.yan@linaro.org>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

On Arm64, when boot Dom0 with the Linux kernel, it reports the warning:

[    0.403737] ------------[ cut here ]------------
[    0.403738] WARNING: CPU: 30 PID: 0 at drivers/irqchip/irq-gic-v3-its.c:3074 its_cpu_init+0x814/0xae0
[    0.403745] Modules linked in:
[    0.403748] CPU: 30 PID: 0 Comm: swapper/30 Tainted: G        W         5.15.23-ampere-lts-standard #1
[    0.403752] pstate: 600001c5 (nZCv dAIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.403755] pc : its_cpu_init+0x814/0xae0
[    0.403758] lr : its_cpu_init+0x810/0xae0
[    0.403761] sp : ffff800009c03ce0
[    0.403762] x29: ffff800009c03ce0 x28: 000000000000001e x27: ffff880711f43000
[    0.403767] x26: ffff80000a3c0070 x25: fffffc1ffe0a4400 x24: ffff80000a3c0000
[    0.403770] x23: ffff8000095bc998 x22: ffff8000090a6000 x21: ffff800009850cb0
[    0.403774] x20: ffff800009701a10 x19: ffff800009701000 x18: ffffffffffffffff
[    0.403777] x17: 3030303035303031 x16: 3030313030303078 x15: 303a30206e6f6967
[    0.403780] x14: 6572206530312072 x13: 3030303030353030 x12: 3130303130303030
[    0.403784] x11: 78303a30206e6f69 x10: 6765722065303120 x9 : ffff80000870e710
[    0.403788] x8 : 6964657220646e75 x7 : 0000000000000003 x6 : 0000000000000000
[    0.403791] x5 : 0000000000000000 x4 : fffffc0000000000 x3 : 0000000000000010
[    0.403794] x2 : 000000000000ffff x1 : 0000000000010000 x0 : 00000000ffffffed
[    0.403798] Call trace:
[    0.403799]  its_cpu_init+0x814/0xae0
[    0.403802]  gic_starting_cpu+0x48/0x90
[    0.403805]  cpuhp_invoke_callback+0x16c/0x5b0
[    0.403808]  cpuhp_invoke_callback_range+0x78/0xf0
[    0.403811]  notify_cpu_starting+0xbc/0xdc
[    0.403814]  secondary_start_kernel+0xe0/0x170
[    0.403817]  __secondary_switched+0x94/0x98
[    0.403821] ---[ end trace f68728a0d3053b70 ]---

In the Linux kernel, the GIC driver tries to reserve ITS interrupt
table, and the reserved pages can survive for kexec/kdump and will be
used for secondary kernel.  Linux kernel relies on MEMRESERVE EFI
configuration table for memory page , but this table is not supported
by Xen.

This patch adds a MEMRESERVE configuration table into the system table,
it points to a dummy data structure acpi_table_memreserve, this
structure has the consistent definition with the Linux kernel.
Following the method in Xen, it creates a table entry for the structure
acpi_table_memreserve.

Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Rahul Singh <Rahul.Singh@arm.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
---
 xen/arch/arm/acpi/domain_build.c | 24 ++++++++++++++++++++++++
 xen/arch/arm/efi/efi-dom0.c      | 19 ++++++++++++++++---
 xen/arch/arm/include/asm/acpi.h  |  1 +
 xen/include/acpi/actbl.h         | 17 +++++++++++++++++
 xen/include/efi/efiapi.h         |  2 ++
 5 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c
index bbdc90f92c..f7d1935f60 100644
--- a/xen/arch/arm/acpi/domain_build.c
+++ b/xen/arch/arm/acpi/domain_build.c
@@ -242,6 +242,26 @@ static int __init acpi_create_rsdp(struct domain *d, struct membank tbl_add[])
     return 0;
 }
 
+static int __init acpi_create_memreserve(struct domain *d, struct membank tbl_add[])
+{
+    struct acpi_table_memreserve *memreserve = NULL;
+    u64 table_size = sizeof(struct acpi_table_memreserve);
+    u8 *base_ptr;
+
+    base_ptr = d->arch.efi_acpi_table
+               + acpi_get_table_offset(tbl_add, TBL_MRSV);
+    memreserve = (struct acpi_table_memreserve *)base_ptr;
+
+    memreserve->next = 0;
+    memreserve->size = 0;
+    memreserve->count = 0;
+
+    tbl_add[TBL_MRSV].start = d->arch.efi_acpi_gpa
+                            + acpi_get_table_offset(tbl_add, TBL_MRSV);
+    tbl_add[TBL_MRSV].size = table_size;
+    return 0;
+}
+
 static void __init acpi_xsdt_modify_entry(u64 entry[],
                                           unsigned long entry_count,
                                           char *signature, u64 addr)
@@ -543,6 +563,10 @@ int __init prepare_acpi(struct domain *d, struct kernel_info *kinfo)
     if ( rc != 0 )
         return rc;
 
+    rc = acpi_create_memreserve(d, tbl_add);
+    if ( rc != 0 )
+        return rc;
+
     acpi_map_other_tables(d);
     acpi_create_efi_system_table(d, tbl_add);
     acpi_create_efi_mmap_table(d, &kinfo->mem, tbl_add);
diff --git a/xen/arch/arm/efi/efi-dom0.c b/xen/arch/arm/efi/efi-dom0.c
index aae0f97911..4950f9ac99 100644
--- a/xen/arch/arm/efi/efi-dom0.c
+++ b/xen/arch/arm/efi/efi-dom0.c
@@ -38,7 +38,7 @@ size_t __init estimate_efi_size(unsigned int mem_nr_banks)
 {
     size_t size;
     size_t est_size = sizeof(EFI_SYSTEM_TABLE);
-    size_t ect_size = sizeof(EFI_CONFIGURATION_TABLE);
+    size_t ect_size = sizeof(EFI_CONFIGURATION_TABLE) * 2;
     size_t emd_size = sizeof(EFI_MEMORY_DESCRIPTOR);
     size_t fw_vendor_size = sizeof(xen_efi_fw_vendor);
     unsigned int acpi_mem_nr_banks = 0;
@@ -63,7 +63,8 @@ void __init acpi_create_efi_system_table(struct domain *d,
 
     table_addr = d->arch.efi_acpi_gpa
                  + acpi_get_table_offset(tbl_add, TBL_EFIT);
-    table_size = sizeof(EFI_SYSTEM_TABLE) + sizeof(EFI_CONFIGURATION_TABLE)
+    table_size = sizeof(EFI_SYSTEM_TABLE)
+	         + sizeof(EFI_CONFIGURATION_TABLE) * 2
                  + sizeof(xen_efi_fw_vendor);
     base_ptr = d->arch.efi_acpi_table
                + acpi_get_table_offset(tbl_add, TBL_EFIT);
@@ -75,7 +76,7 @@ void __init acpi_create_efi_system_table(struct domain *d,
     efi_sys_tbl->Hdr.HeaderSize = table_size;
 
     efi_sys_tbl->FirmwareRevision = 1;
-    efi_sys_tbl->NumberOfTableEntries = 1;
+    efi_sys_tbl->NumberOfTableEntries = 2;
     offset += sizeof(EFI_SYSTEM_TABLE);
     memcpy(base_ptr + offset, xen_efi_fw_vendor, sizeof(xen_efi_fw_vendor));
     efi_sys_tbl->FirmwareVendor = (CHAR16 *)(table_addr + offset);
@@ -86,6 +87,18 @@ void __init acpi_create_efi_system_table(struct domain *d,
     efi_conf_tbl->VendorTable = (VOID *)tbl_add[TBL_RSDP].start;
     efi_sys_tbl->ConfigurationTable = (EFI_CONFIGURATION_TABLE *)(table_addr
                                                                   + offset);
+
+    /*
+     * Configuration table for MEMRESERVE is used in Linux kernel for
+     * reserving pages, its main purpose is used for kexec/kdump to
+     * reserve persistent pages (e.g. GIC pending pages) for the secondary
+     * kernel.
+     */
+    offset += sizeof(EFI_CONFIGURATION_TABLE);
+    efi_conf_tbl = (EFI_CONFIGURATION_TABLE *)(base_ptr + offset);
+    efi_conf_tbl->VendorGuid = (EFI_GUID)LINUX_EFI_MEMRESERVE_TABLE_GUID;
+    efi_conf_tbl->VendorTable = (VOID *)tbl_add[TBL_MRSV].start;
+
     xz_crc32_init();
     efi_sys_tbl->Hdr.CRC32 = xz_crc32((uint8_t *)efi_sys_tbl,
                                       efi_sys_tbl->Hdr.HeaderSize, 0);
diff --git a/xen/arch/arm/include/asm/acpi.h b/xen/arch/arm/include/asm/acpi.h
index e53973e054..a8c523e387 100644
--- a/xen/arch/arm/include/asm/acpi.h
+++ b/xen/arch/arm/include/asm/acpi.h
@@ -35,6 +35,7 @@ typedef enum {
     TBL_STAO,
     TBL_XSDT,
     TBL_RSDP,
+    TBL_MRSV,
     TBL_EFIT,
     TBL_MMAP,
     TBL_MMAX,
diff --git a/xen/include/acpi/actbl.h b/xen/include/acpi/actbl.h
index 3079176992..682b27f353 100644
--- a/xen/include/acpi/actbl.h
+++ b/xen/include/acpi/actbl.h
@@ -302,6 +302,23 @@ struct acpi_table_fadt {
 #define ACPI_FADT_HW_REDUCED        (1<<20)	/* 20: [V5] ACPI hardware is not implemented (ACPI 5.0) */
 #define ACPI_FADT_LOW_POWER_S0      (1<<21)	/* 21: [V5] S0 power savings are equal or better than S3 (ACPI 5.0) */
 
+/*******************************************************************************
+ *
+ * MEMRESERVE - Dummy entry for memory reserve configuration table
+ *
+ ******************************************************************************/
+
+struct acpi_table_memreserve {
+	int size;		/* allocated size of the array */
+	int count;		/* number of entries used */
+	u64 next;		/* pa of next struct instance */
+	struct {
+		u64 base;
+		u64 size;
+	} entry[];
+};
+
+
 /* Values for preferred_profile (Preferred Power Management Profiles) */
 
 enum acpi_prefered_pm_profiles {
diff --git a/xen/include/efi/efiapi.h b/xen/include/efi/efiapi.h
index a616d1238a..a70b3d8a12 100644
--- a/xen/include/efi/efiapi.h
+++ b/xen/include/efi/efiapi.h
@@ -882,6 +882,8 @@ typedef struct _EFI_BOOT_SERVICES {
 #define SAL_SYSTEM_TABLE_GUID    \
     { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
 
+#define LINUX_EFI_MEMRESERVE_TABLE_GUID    \
+    { 0x888eb0c6, 0x8ede, 0x4ff5, {0xa8, 0xf0, 0x9a, 0xee, 0x5c, 0xb9, 0x77, 0xc2} }
 
 typedef struct _EFI_CONFIGURATION_TABLE {
     EFI_GUID                VendorGuid;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 11:02:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 11:02:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388866.625633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGoa-000638-Rm; Wed, 17 Aug 2022 11:02:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388866.625633; Wed, 17 Aug 2022 11:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOGoa-000631-NL; Wed, 17 Aug 2022 11:02:24 +0000
Received: by outflank-mailman (input) for mailman id 388866;
 Wed, 17 Aug 2022 11:02:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ctqM=YV=citrix.com=prvs=221f02cfb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oOGoY-00062v-Tp
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 11:02:23 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0fa605e3-1e1c-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 13:02:20 +0200 (CEST)
Received: from mail-mw2nam12lp2041.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Aug 2022 07:02:17 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA0PR03MB5561.namprd03.prod.outlook.com (2603:10b6:806:bc::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 11:02:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.027; Wed, 17 Aug 2022
 11:02:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fa605e3-1e1c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660734140;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=WZOPfjaKgJTc697CmyeiETw13PagHAE/ELw9eD7Uuac=;
  b=SUl94SZIa2EfDsCAWZXRk+c47QW6t0/BNGIha7j3VQf0U4k9m0v8zfy6
   cb1aiXrnLpe12zvLBnuka8AFhqLD3F75IIIdXcToe2GcWkQmOZrow7hL5
   2ss4YqbGd6e0Q0bqZNA0T+xGDoU3ZGG73e5/qZdrYpLv7DQ2YEtuJk1IZ
   k=;
X-IronPort-RemoteIP: 104.47.66.41
X-IronPort-MID: 78286885
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AROLWM6ORfdeEKVPvrXNrnJbID4GmJRDwMZ5BO?=
 =?us-ascii?q?5ONyJDMOBg3PpO3+DCIXisKGYBhGxn0FO3MPJFAYd7nTBFKIaVqljQqLPF8/?=
 =?us-ascii?q?x0h4An1Ucm/U3qJCZ8uGh3F4JCBdm++sNodWO/gDMhhgPPm+6Y7KG0rn0cHk?=
 =?us-ascii?q?DXH78mUmbGiEqmVa2nIkXhMO7Y1S8kcGC6pWZ+XM/4wrchxlHZ45iXSAMS2L?=
 =?us-ascii?q?5/8aSfAS5oJYX+eA/HmXv5HD4UrQyttQ2bPTFhHXEpLBb1lqW7khOvYV471B?=
 =?us-ascii?q?i+pK40P/kQWFOQdXk8E7WQ5OTqzd/H2xoeuDvS7JzH9luJWQ63emmXLX5Y/b?=
 =?us-ascii?q?unjnDRBFhpgTR77Q4iCuxoeEuVbGv5DCJEDZqEF3acXp7B35eqjdUVJcbNVp?=
 =?us-ascii?q?o8d3dYFVQA4NC5M9vJCHhDbUSCQOP+DHXCAJShGro2c+RfsPyJM2TeEf/dTY?=
 =?us-ascii?q?Jxkt01n/5dD5/C25VgESxXg/ELfi1ZCXAf8urKSbhHyJfVyDASAJEf6jdlPj?=
 =?us-ascii?q?qUMlNVti6Zdj2i9e2L4hmd+9jDuKphMbfD2eXM63d0T2rpENA0j6Sj7eumju?=
 =?us-ascii?q?QMm4gxY3Kz0PLlziasuonVcJwEJCIeM2TMcIN2CGiC+xzqpXaUslu099Lc1c?=
 =?us-ascii?q?utAVZ6Mjn+Y8ZI+Z15CuVU5kNHm26k5ZSju9IXjNRIYIv2J4Eb+CkrtakUlZ?=
 =?us-ascii?q?S3WR4cavMYKdclWgrBXc9oSSfUnMBHKblriuSVG85IB00yGG4+VFz7cYbddz?=
 =?us-ascii?q?en7VlIVsny2cliJ8uvR1LsHzqie4ncJSSFBLt87Nw990rEfmowWvy/aQN3Wa?=
 =?us-ascii?q?vUEdGLFCzlD23GECGLhLNLv3x99gn0ayJd+7BC0vILmC2R/vY9p+sdrhbMPh?=
 =?us-ascii?q?SZh3NxjNIjYzh6INXLxi6Y7+D3MkQKYRaEYJ6YK7EJ5y92SUC7D74jdurkCT?=
 =?us-ascii?q?L9qIE3rHoFRxykwlna2z7b8S7Peq9z4ALjb69076rr030N7swW0z0E/RkYfg?=
 =?us-ascii?q?4LtBgvos42n0TmaJmiO2KOyFFKcdgT1HGNEXFPs0cQqS2gbrNg8nz7Y2u2Vc?=
 =?us-ascii?q?R8KflS0RA4KyMZso0KshQLo5U0Niq+7tN+g0VzaX+EVVNfNVdbSYEND5AwbY?=
 =?us-ascii?q?+blBP+aMVcO20b+Uj6YJWw3y3Uzxji5yMyT6kiXzRKB3lvOv9PKz6bYxpzCL?=
 =?us-ascii?q?ZqOLiqMPg6oa3XJHHBmoXVz9sRzRLnMLiZj4dSssCcEmScSqZrbRCMOBo2fK?=
 =?us-ascii?q?VVVQzovuDLc05f5GnoRfDYjsYpNeWWfdmc9pHdXNU8P+65tQTuJ79XMO0NNB?=
 =?us-ascii?q?SID3rDmmidPR3OA7aZf03aycSbuaSGdWQKxFkC/jW/H115mE14CEqDKLIGBi?=
 =?us-ascii?q?0ILov3lw0mvkdlbZYCyi9LilpHQUu/8rDLX7D1WSB4sgBVzgbepodC2kBgwl?=
 =?us-ascii?q?cyddnVWsR6TuKhld82ksRiiYSwSbU0NsXKCQlIBYhd3yMB8J2MOdVLt6RXQH?=
 =?us-ascii?q?jZBO7dq/YpOf5Q8X5Sg/Oe9lz8uA/yu5yCFdhvR7nAmI3ScbYXDD29Dqogn7?=
 =?us-ascii?q?7J8vRzAK0WsC4jis/hpRiyv2/WKlZKj1dAEx5rAWWTJY0rhu6zf32OMIeFQJ?=
 =?us-ascii?q?mFwUdCAZ+p3wrKgNrpJ0XVLczHvyQecbdNe0aqPHfOrUupSVgqTe0F6wAux/?=
 =?us-ascii?q?tAri0JIQxkNeO8ayC+AGPgDWH3PsFSB7wu41gO0B0WEJ+OLDX8mtj+vMtuWd?=
 =?us-ascii?q?D9dQkAFcoFVsHI9TIEuURnOg9xarQ0NAaXXI+iNj+PKR5qRl0FIKsz15/5R9?=
 =?us-ascii?q?sPz+p39G+MSEkEm6mCeRsDFFNrIsh/1kU3qG7DKw1gA+0HavIiA0yw+nHGeZ?=
 =?us-ascii?q?P68Yiyjlk5flqBnsujhAw2Gikh++kWKZJ3Kux9cuqC+wsMNlQjXJuXcIlc6C?=
 =?us-ascii?q?xVvn5sErtelPlhy9cmss8JUJE6juAvWmUwgRA8zc7ytHYe0viCuhAihiz5ue?=
 =?us-ascii?q?BWPcVJdVfx7p2lBWL/6qzjDGreVA9aY4WfJUUmKs2qO3Yxx12v542a5wDJH2?=
 =?us-ascii?q?3ATuhXRt1yVzpdPVDUf47aek2U0LQDz4W4kyzTlZ7xj28TILpwaJSe0aRTTz?=
 =?us-ascii?q?Vu4EXsrNnI6V8ZDU7bOTBYuwwu5hZqMZMFcXUGTrJRy67WkER2IyA7PiRhB2?=
 =?us-ascii?q?gWyoF+SKpenxOh4B2mN5P1MNG7nemZvNePZxBZHFVVbOQ+CXJoehlBDdQCE8?=
 =?us-ascii?q?P1P+dLpE+7xAa+yWo/n59aT34WD3SFqy1J/IUxm/uNMW38A6vRE+1PhnIs7M?=
 =?us-ascii?q?GoCzJpFspuMoiqVGA2KchTBzBd2Qnl6xKrNkBxFOYF5gSe0ags3lJbGKVlJr?=
 =?us-ascii?q?3045Ink4T7f+eYjLTT7OZB0jClf+9KsY0Ztuc1B9LX6G/okinMb11s9bJlbo?=
 =?us-ascii?q?2nLyAawLYhiq5/8qP3ffmwPNcDjWjYNyXwkLtq/JddHVzzrM9jE1lCkW/vFv?=
 =?us-ascii?q?8PTwqyZV7Un5YcdfeKuOlmJN+zbc8g3NYgC6qqZ1YdS7rKDr+PxIEjzLzhHl?=
 =?us-ascii?q?DdD4h2kis9V77k/UoajxXmMnIdQ3IGMHLeD5H4VRix7y2JG8l1f8KzrEp3qz?=
 =?us-ascii?q?92+sqhP9SiCr5i+rITpXrj0A7qOJPeBxTLAHYolBiN9sYLYGrFxqJWObvBL6?=
 =?us-ascii?q?zmEJwFmJFzPZctqFJB3/cMnmHr/HhafLw=3D=3D?=
X-IronPort-AV: E=Sophos;i="5.93,242,1654574400"; 
   d="scan'208";a="78286885"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vc5+Qkv35Ws5Rf8vXz27msThA4Y2S4CdSKKRIqd5hmjDqh1lhtOekNvBFnIO8m4IrfX5s+ImtuTGrV6bjIfvZbewgo78144svuTKdNO6y2yDkTRBtoWfIpEq8HiiProkgdCYgzfuhLnp9FgSrGBdzt4oLQzzi73ZegC5mbLuJdeih7DEE1WMDB8WieyPv9lIaFor6yX29HCrpR5tmJ3y79OpMwqVAS/YjxWMfHLS9cJ8zkD0ZRik6b5TACBsv9ZVBkR5UIU5ZEMGGbYj7EqHfNFCy6r5Y9NRZS0zigaosFMyYziiAQJ0ga2l8cpaxOxXHK+XipDVg0LROaY8jJOHYQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WZOPfjaKgJTc697CmyeiETw13PagHAE/ELw9eD7Uuac=;
 b=CB+FGObeqCGiiP0DlLY/MB2Nu1+i8IBJZPs4DR+6mjrn9OQ3fFG5TMFwzR7AhyCD94FikSK1enDUMhFPFQjkU+3bJHwUIC0H01cXhi/a/pat6a+7l+I8o0vB7bB9TdMBQtfDJqgWGHbN+bF15nYQRfmidvL2hHuTVLPlFIF+8wQ1SCjLwuy5sDtRJjXUKLnonwfVPACi6Dve9qyU7vpzvnD6SPzPPyeO1YEK8sd9UVtRpPs+bidWcngdCnuf0/FeozmWSjKPqHM/DCANYNX1/Oi4uALzglV0UiROLZ1xvjsio5AVjLji8mlPN5C3/Xn+Q/YNEaNmF70i7JTNk59WBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WZOPfjaKgJTc697CmyeiETw13PagHAE/ELw9eD7Uuac=;
 b=sBs4T9cFaziiyDdmHnqWwJYJNJRQ5WqHq3VZp2jbmcLpS4WaGHSs4F7tWnv8xTfeBYBkikhd9TT3qynYxCCX0u+FNxsriJsyzVf/PB1AX8MmtNc0ZtWnHGJOkcN711G5Tce6p/xyhXWqgpMlS4O6QOWifQpJ0x2czvjXORuuol8=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Thread-Topic: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Thread-Index: AQHYshn1FitJ6Hl8lUq9G/d15az/a62y7WeA
Date: Wed, 17 Aug 2022 11:02:14 +0000
Message-ID: <7f7479d5-71e4-5005-d37b-8d702fd5d871@citrix.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <20220817091540.18949-1-anthony.perard@citrix.com>
In-Reply-To: <20220817091540.18949-1-anthony.perard@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b2245100-b03a-44a9-d440-08da803ff11b
x-ms-traffictypediagnostic: SA0PR03MB5561:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 0mfhG29cuPGmYXuGpNqbaSqNqL2PkDqmVVA7ATTQMX0lhGqGD/rXdTfJu9ShA4rlhU2oozXPhLCgwBaQwvSKUJgmFlR236pqA6zIm1YDum/61R6yx4ilJMVuRRujmEQCuvTKAtJUUFCHl1sI/WG3N3VGL8KKjbJsVER5ZcBnlBWSKNILqr5Z/4BnEN1/CxLMTFhzbpYrON1QIcYaPtzO5qEHrwvhk60Ur44PoAUYGvTJuz2NQ3YdJABJrU4Wfaa2nmVOc5MBcwX22A1hsUBiJOcCZ5HgXd8KOCrS6HsKhLxB8SMm0Db/etdXuKB4z7LpNeSJIyGpHCnHQHqd1PKTCocRmhUD7mgp3DxoYK/UBAttSqCft01WPD6fhTz3hsOVYXcUOiAqkJrFDFMx1ABbhwmNx2EpY0ZPNZRASa1VtYrICKGmrcmuspU3jtP1Aw5E0oI/M1k3M2OyFfxVf04s6WAToN49XZtwOHE4WHFMbhe0Gt4s8oqmM0t9fELSTUBKsHLjCXvVinG1rfBcoBgHPJfKS0Z9xe3Bs6+5GydO++YKGCKeu80H6N/c9ZV1BIZTegJ9PY4W3zoy1s6awTlpaSC9rdfBLUO8t3fcpW8gVWlFRZRdiSBoxJmPtRtwa9UuL/vqquU6A6q3Klsh+661BJabYxWl8NC1DViut4tnisxJG3hD1MvtFl4xoV9Ct/2AZCH9Bb4zYWUehaQ7FcLsUUWw/t36Y5LZuafroPqW3sxQHlwGuwop/icLTzPnJ0wHIlJ5Sh50oO6DrHp2PcsvJifvcpcT+CDbUHHa2ZCCt0+lzFQnCU7V6Kzx7c6i7TnAUAzDvNqrFoBXIFuZmKITamhHLwLJ25+JhVhTI8OwX9bv4Fjlu7Km4S/bnzsbVD1h
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(396003)(376002)(39860400002)(346002)(83380400001)(53546011)(122000001)(6486002)(478600001)(2616005)(6506007)(6512007)(26005)(107886003)(316002)(2906002)(71200400001)(186003)(54906003)(41300700001)(5660300002)(31696002)(110136005)(4326008)(66556008)(66446008)(66476007)(8936002)(66946007)(8676002)(76116006)(91956017)(64756008)(31686004)(36756003)(38100700002)(38070700005)(86362001)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bVZqMDlvY2JRZHk5VkhuamU3MWRYUkNSZlBlbk1LazVvb00vTVFTZ21ZQ0JO?=
 =?utf-8?B?N01McXdFOWhVUzFTb0I3bVVxa2d0aEpyckVWUHJmQ3NpVTFaMHhaRlU1T3R2?=
 =?utf-8?B?QzlIQkhUeHBzYi9HUCtjZHFvZnVmdjU5UEhxVHVXOG9PbStjdW1obktyY2Ft?=
 =?utf-8?B?NWJSZHhkNjB0cCtKUy9zMnBManQwc0pEYitpVmxYSjkvWGkrVTFOeTdMb3E2?=
 =?utf-8?B?TlEvWnY2TmR3L3JDeE04bThzaDQ1SWJpSTBDZkdrS1RGbFBzQXF0MnQvMXQx?=
 =?utf-8?B?SVNPMCs2bEZkR0RCcHNUajAzR1drbzZnTVZTK2NnYk8xQ1Z2eU9IQmdOYUZo?=
 =?utf-8?B?V2s3QWlRaHdwakk2ME01NGpRZnZTK3prMUJtSGovb0JGVi9keDNEMEs0WThm?=
 =?utf-8?B?Snp0N0ZvTUdnTkI4L05SYmgwc0k3VjZZcS9NaFh4VTQ2S3ZKWE1adWNOcEh0?=
 =?utf-8?B?VDhTYWRyd0kwNWpLTVdFZjNnS2hNOGxYbkxuUFNNenhRMUtuRlYweDRWOStn?=
 =?utf-8?B?TlNWVXU5eGt1bU5SdGRHUWkxdXpheWNoVWRWWGxwdVJqQWROSS9EUTFyaFll?=
 =?utf-8?B?RFVzZFR2MXBaWTl2QzltQVBIcTBacGNteVNVcE9FRlZsdmhhenlWcGxabjI0?=
 =?utf-8?B?Qk1SWTdGUDk2aGc5L2VYNlVKeTlZZmJzZ3laV1dGdmhJaXpYTEZINmtuOUhV?=
 =?utf-8?B?WTVCSTdERi9MWlJZaXJ0Uk5IdExOQmIzTi9wU29CeE9URWh6bDByMUtMT0dO?=
 =?utf-8?B?OXoyZkRLM0VtWHBvUTF3V3Z1c1VrNm5sYnhWbFdjQzR1b3ZHREI1c1B1dWxz?=
 =?utf-8?B?TjZMWnhFb1grUk1tbjBVWGFzbkcvRitPczdwZWhqeDB2c3BPZ3VhVldjUldT?=
 =?utf-8?B?dnJDOGx6Rm5yV2kxbXVtT2hmYWJaRjZnMzF4NHU4VklDMFNrTGJFWldqRERZ?=
 =?utf-8?B?Mk8zczNJNnZHakVYOExGTHZoTEE1c0o3RWJGV3JpcVVSMTNYbFdUWkxtZjRp?=
 =?utf-8?B?UW8zMDBmWENPc1lwODN3NU5sWVdEN0xwdEhwRm4rZ3d5LzBVOVVHa2hDaW9y?=
 =?utf-8?B?MlFOcnNsU3EzVjNWM1ZHbXBsOU56VWtaK2VKUG16ZFBQNEcwVmVaWFdXaTFS?=
 =?utf-8?B?aE9kVEhhR3BJZ2NlM2ZLUHVLQ3RoTjJIQ0E4L2RMaUZWbjNIWGJtQ01Ja1U4?=
 =?utf-8?B?MFlwUUlPRDkzeVI2SHBtZG1ScERPb05HMjNidTlGVXhLb2Vuak5hVUk2RU9s?=
 =?utf-8?B?SlVTcXpLcUFUalUrVk5ySFV1b2c4WEgyUDkxU0hrRFJkTFlRSjB6VjFpT1Ur?=
 =?utf-8?B?OUsyWkVxOTJSc0xGU0N2b1JXbEhjUm82ZGMrVEZPeVVMYXJzYkJDWmxWcDRv?=
 =?utf-8?B?eC9adUY3U0FWMWErZEE1RE9Oa2dpc0FlcGlleEUvOVNnZ3l3ZnJhay81RHRO?=
 =?utf-8?B?QW9pZnVUcHJYN3EyT2Rub1FCb2RaTWZRc2FnT0duR3JYN2p3WXNXbnUyeEVQ?=
 =?utf-8?B?TzRIMUVhUHo5b1haWDcxakRlRlZIdUFPRG5iOXlVS3Z2YUNZYTE3ZnZlQ0FQ?=
 =?utf-8?B?ODhScmxwMkJIU2kxMUsveVpFaWszNS9xRWFZazdyeDNFUkdsMU9PeS9YVkk0?=
 =?utf-8?B?RXdEMlQzeXNSc01FSlVrK1daKzZFdEZtRGZnV0NCZ21XcEhzZnc4SVlNZmIv?=
 =?utf-8?B?YmROeFZkTWFWVElWSkpuT0s1SE5IUU4xakNqOVM4cVdXdzJtVWVjVEFSb2NS?=
 =?utf-8?B?NnBtMXI0bUVjMkZ0bXhuNFBlSVlQaEFLanc5dzFCckVUYi9qZnoyMWRCdW5L?=
 =?utf-8?B?aFdsQ2k0QlIrK21XUC83RXZLam40cE5NMmJWdGJieXFMNVlyR1NjYzZJcHhv?=
 =?utf-8?B?YThka2x6VVBkbmdUcHFFOCtKYXhEd2k3V1FGaXlKeGRpMEJPUWxYNGFtaXRI?=
 =?utf-8?B?OE1BeGU0MUV4b01INng2aWhDQlNkdlV0ZFpEMStsWE1GMmN5b0VRUGtrb2ly?=
 =?utf-8?B?ZWM4OWJTWUg4bjBpSG1HazBPdzNNcFQzZjdibXFHZno2NklOT0RiR3hpZVpQ?=
 =?utf-8?B?ZldEWmZ4TndaUVJJZk5FckQ0a3hWVHo2RGpqYzJ6RHRGK09Wdi92OWlyWVlh?=
 =?utf-8?Q?HdiN5I5MPSscfmZleSPIYJrLZ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <722A485CDA59DE4A802F45A34D84ED10@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?bGl6ZGFOR3RvdDFwbnVBSHRhOEJodlVldU50Yy9jSURUK09tQmIxYzlMR25o?=
 =?utf-8?B?SGQ2aXFDK2k2anVYMURyM1dGT1VlY0QzRjVWTXBzbUJxU0FhYithRnVjeHcx?=
 =?utf-8?B?d3VtUEdhenp5MHk5Z1ZIQjNDQlNZSXpOUXArbzFQVTFYOG1Db2p1NDZuQXhG?=
 =?utf-8?B?VFdFd2dob0FZczQ4VUhsR2xQcjFxVWpJdVVFUkw5anMraUtXT3pmZG9GbWhT?=
 =?utf-8?B?N1Zlem1SUzJ6T1krcXRuY2c5U3BCTXRNbUR1N1FkZE0xUmdvZmRFcU9UWlVz?=
 =?utf-8?B?MGRoTEVpZ05zcGdlSSt5eExCZVZudm50VVE1b0ptVW5jeXl0ZExGZ0FwQmZZ?=
 =?utf-8?B?N3FaZ3JQR2lQanNXMWF2Wm5zcGhnWEwxc2Mya1VlZ0VucCtybjRUZEdwSjNn?=
 =?utf-8?B?bFU3SXVvTTh0V0wzUS9pK2s5U3A1K1hadmNyTi9TYWUvc0JncW5vYWdsZUVv?=
 =?utf-8?B?NFZ2KzhsbEIxRkRJY09iOEp4ZTV5aEZnL1NEYzJxZFR4MUxGOVpzRjZxVHd3?=
 =?utf-8?B?RXRzNnJTUGFjTHNEanREWjFEOXNja0hvdWlHdFllQkVxUVdrUUR1N2x3OGpw?=
 =?utf-8?B?UysvUU8vMm1valFSNGJhZDdYNDBhNmQxNFllaVBFUWkyZktBWjhNT1NXZ0ov?=
 =?utf-8?B?dnl4V21rS2hGVXlQQ05yQ1VPaVlFQW1kSHNjaXdpc20wNGxoUk04dmkyQTAr?=
 =?utf-8?B?U3EzL3IxZDVpbmEwLzREWFQ5WSs4b1k5RzBBWDdxTW1pL2NhVTh2MzBZdlZK?=
 =?utf-8?B?RmlNVTkwL2FrRXVOQkk5ZlVhcjlzUnlieFdBbmpnRDJaMFlLZTdORlNrblMx?=
 =?utf-8?B?bXZDazF3Q2ZzRThtMGlzTWJETW90V2NoM3hmMFZOS3FaOUExQjFPTEVxdUxl?=
 =?utf-8?B?WGxzSVZxblZpZUg1MGliZkNKbmwzUGlXKzFjV0xHMHlvSDZqRDRacDI3NTJE?=
 =?utf-8?B?ZDJORkZDMkJpWXp2L2JBSFF5RWJKVDhGRWd4N0FCd2JmbEFEUlBZdUV0SVFS?=
 =?utf-8?B?QTFlS2tGcUpSRmdjSnlHUDVBUFBwNEZvRHFlRWR3cDhrMFVHM3JlVGl4K0lG?=
 =?utf-8?B?YW5ldzlUOWJTM1hBOEdxQU1NcnlxZm1OWWJLeFE1aVZzMGcvNERHVG5FdDlP?=
 =?utf-8?B?QWZRMS9RZVo1NDN2SGxwSnp6VURmZE53dWhGWUtSNUYzbWJPcy9OOGdjNXky?=
 =?utf-8?B?QVNwR2hhRWZYWDRPdk9aMHhieEtQbVFrM0MxQ3Z2b0piWXRNaEhGanVSZmRE?=
 =?utf-8?B?QmdxMU54MnhRMWkzNnNpRGh5RlZIV3hheWNodXRkd3J6OHl0SU1hdnprdThp?=
 =?utf-8?B?cW5Xa3pMSzdnMUU3YkROSWlKS3B6WFZhQnFVb0VndWR0aFY1Wi85V0hQbW96?=
 =?utf-8?Q?WnvVO6Uh1bn0RyXUYwxYeO32+P1EbjdM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b2245100-b03a-44a9-d440-08da803ff11b
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2022 11:02:14.2461
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: h8nvDK13dxrPsU/pvb0nzlS1hLSkL7RlxfZxvA9X4d2eqvU0BOAkBYAVzdVhrnGJhkl12dyJKBUvlwDRlrsIJPi26ktCTwZE053ya3+7+oc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5561

T24gMTcvMDgvMjAyMiAxMDoxNSwgQW50aG9ueSBQRVJBUkQgd3JvdGU6DQo+IFdlIGNhbid0IGhh
dmUgYSBzb3VyY2UgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUgdGhhdCBleGlzdCBpbiBib3RoIHRo
ZQ0KPiBjb21tb24gY29kZSBhbmQgaW4gdGhlIGFyY2ggc3BlY2lmaWMgY29kZSBmb3IgZWZpLy4g
VGhpcyBjYW4gbGVhZCB0bw0KPiBjb21mdXNpb24gaW4gbWFrZSBhbmQgaXQgY2FuIHBpY2sgdXAg
dGhlIHdyb25nIHNvdXJjZSBmaWxlLiBUaGlzIGlzc3VlDQo+IGxlYWQgdG8gYSBmYWlsdXJlIHRv
IGJ1aWxkIGEgcHYtc2hpbSBmb3IgeDg2IG91dC1vZi10cmVlLCBhcyB0aGlzIGlzDQo+IG9uZSBl
eGFtcGxlIG9mIGFuIHg4NiBidWlsZCB1c2luZyB0aGUgZWZpL3N0dWIuYy4NCj4NCj4gVGhlIGlz
c3VlIGlzIHRoYXQgaW4gb3V0LW9mLXRyZWUsIG1ha2UgbWlnaHQgZmluZCB4ODYvZWZpL3N0dWIu
YyB2aWENCj4gVlBBVEgsIGJ1dCBhcyB0aGUgdGFyZ2V0IG5lZWRzIHRvIGJlIHJlYnVpbHQgZHVl
IHRvIEZPUkNFLCBtYWtlDQo+IGFjdHVhbGx5IGF2b2lkIGNoYW5naW5nIHRoZSBzb3VyY2UgdHJl
ZSBhbmQgcmVidWlsdCB0aGUgdGFyZ2V0IHdpdGgNCj4gVlBBVEggaWdub3JlZCwgc28gJEAgbGVh
ZCB0byB0aGUgYnVpbGQgdHJlZSB3aGVyZSAic3R1Yi5jIiBkb3Nlbid0DQo+IGV4aXN0IHlldCBz
byBhIGxpbmsgaXMgbWFkZSB0byAiY29tbW9uL3N0dWIuYyIuDQo+DQo+IFJld29yayB0aGUgbmV3
IGNvbW1vbi9zdHViLmMgZmlsZSB0byBoYXZlIGEgZGlmZmVyZW50IG5hbWUgdGhhbiB0aGUNCj4g
YWxyZWFkeSBleGlzdGluZyBvbmUsIGJ5IHJlbmFtaW5nIHRoZSBleGlzdGluZyBvbmUuIFdlIHdp
bGwgdGFrZQ0KPiBleGFtcGxlIG9mIGVmaS9ib290LmMgYW5kIGhhdmUgdGhlIGNvbW1vbiBzdHVi
LmMgaW5jbHVkZSBhIHBlci1hcmNoDQo+IHN0dWIuaC4gVGhpcyBhdCBsZWFzdCBhdm9pZCB0aGUg
bmVlZCB0byBleHBvc2UgdG8gQXJtIGJvdGggYWxpYXMNCj4gZWZpX2NvbXBhdF9nZXRfaW5mbyBh
bmQgZWZpX2NvbXBhdF9ydW50aW1lX2NhbGwuDQo+DQo+IEF2b2lkIHVzaW5nICQoRUZJT0JKLXkp
IGFzIGFuIGFsaWFzIGZvciAkKGNsZWFuLWZpbGVzKSwgYWRkDQo+ICJzdHViLmMiIGRpcmVjdGx5
IHRvICQoY2xlYW4tZmlsZXMpLg0KPg0KPiBBbHNvIHVwZGF0ZSAuZ2l0aWdub3JlIGFzIHRoaXMg
d2FzIGFsc28gbWlzc2luZyBmcm9tIHRoZSBvcmlnaW5hbA0KPiBwYXRjaC4NCj4NCj4gRml4ZXM6
IDdmOTY4NTliMGQwMCAoInhlbjogcmV1c2UgeDg2IEVGSSBzdHViIGZ1bmN0aW9ucyBmb3IgQXJt
IikNCj4gUmVwb3J0ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5j
b20+DQo+IFNpZ25lZC1vZmYtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRy
aXguY29tPg0KDQpUaGlzIHZlcnNpb24gaXMgYnJva2VuIEknbSBhZnJhaWQuDQoNCi9idWlsZGRp
ci9idWlsZC9CVUlMRC94ZW4tNC4xNy4wL3hlbi9idWlsZC1zaGltLXJlbGVhc2UvLi4vYXJjaC94
ODYvc2V0dXAuYzoyMDQ1OiguaW5pdC50ZXh0KzB4M2JjMTQpOg0KcmVsb2NhdGlvbiB0cnVuY2F0
ZWQgdG8gZml0OiBSX1g4Nl82NF9QTFQzMiBhZ2FpbnN0IHVuZGVmaW5lZCBzeW1ib2wNCmBlZmlf
Ym9vdF9tZW1fdW51c2VkJw0KbGQ6IC4vLnhlbi1zeW1zLjA6IGhpZGRlbiBzeW1ib2wgYGVmaV9i
b290X21lbV91bnVzZWQnIGlzbid0IGRlZmluZWQNCmxkOiBmaW5hbCBsaW5rIGZhaWxlZDogYmFk
IHZhbHVlDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 11:28:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 11:28:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388876.625644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOHDf-00008D-Vy; Wed, 17 Aug 2022 11:28:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388876.625644; Wed, 17 Aug 2022 11:28:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOHDf-000086-TE; Wed, 17 Aug 2022 11:28:19 +0000
Received: by outflank-mailman (input) for mailman id 388876;
 Wed, 17 Aug 2022 11:28:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TXH0=YV=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oOHDe-00007w-Gj
 for xen-devel@lists.xen.org; Wed, 17 Aug 2022 11:28:18 +0000
Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com
 [2607:f8b0:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afb87004-1e1f-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 13:28:17 +0200 (CEST)
Received: by mail-pf1-x431.google.com with SMTP id f28so11828280pfk.1
 for <xen-devel@lists.xen.org>; Wed, 17 Aug 2022 04:28:16 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 r2-20020a170902c60200b0016d785ef6d2sm1187097plr.223.2022.08.17.04.28.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Aug 2022 04:28:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afb87004-1e1f-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=xzs9bP9ZqtHsxYSUAKve7sAOh0KWxjzBLYoVARqMDU0=;
        b=JrDQHER6b4SeOOcxCpqwica7Pb4MChp6DzNMxHrMaGqja+VVMQuJ7Ne25zabeEjc66
         bu0jo+W+4mPP9BnfAnf2GR5mt37/WH8KI6g3LpSaAMBDpXeWdKGsyQR6HUQ3Cm8eNhol
         ZclK3OD1OJ0UWkkxlA7b3iUF3S1Xm4SES5cMZwlkLkZZ5Dol1/zwOGyEMSLljRdpYYEg
         28Lda7MvXvOip/FZ0+xsiBReLIIrmETyAlEPqWsARDiCruDf21nGB+KVc2DmbzKoAJM9
         p4uNoxQXBefbIyLh1QQW/G9hVCxrmYFEZ6YGnZFlmyR5ENR6nA6Kqkg5r/nxznneGEkA
         r6uQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=xzs9bP9ZqtHsxYSUAKve7sAOh0KWxjzBLYoVARqMDU0=;
        b=VkCPi8TiBzatbiBX8Hd55FjR/KO1sy6VNSiD2yx+kJwRmxCrADuKs2eVttxuwV+1fe
         3tAVu3eM+6Jwaw/yWmJiMSzUtEgOpWp+uC3DqfJ532BxLCWmlGWcchqqVoW4EN0xg8bc
         W1r4+ChIv6zDwvd3H+H1hgk/0WCOVzgl8xsRxLJ6VWB0x4D9Ps1hTNIBTjCcYi2ocw04
         o7CbTP3jpP0jln8j49ZYnj7QV+o/lPpYCiYuK6mExrWzD93rTZyyDvohButB3kGVHj3E
         Wx7Ekh2c9bn1xSxOlsy9z5GXs9qsWaIVUU6RhPGx/cHB1HOzu9G+PgYSEA2y6wWeW8eS
         ihMw==
X-Gm-Message-State: ACgBeo2YhKDZQb8ZRr3LT17A5x/bBrvTq/llMq4vbDUAEDR4zntVFE23
	MFCUek6MtBT0cTZP3dCrsQE5zA==
X-Google-Smtp-Source: AA6agR65JVaQgb1pAKE4m0HUDrc+yLKMV9XRNnleiGsrzd/FL2M2BhTDEWEyW8LByURajnICjAt6pg==
X-Received: by 2002:a63:6948:0:b0:41c:9c35:a047 with SMTP id e69-20020a636948000000b0041c9c35a047mr21171641pgc.68.1660735695296;
        Wed, 17 Aug 2022 04:28:15 -0700 (PDT)
Date: Wed, 17 Aug 2022 16:58:12 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: anthony.perard@citrix.com, Juergen Gross <jgross@suse.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>, xen-devel@lists.xen.org
Subject: Re: [PATCH V4 0/6] Virtio toolstack support for I2C and GPIO on Arm
Message-ID: <20220817112812.rxf35iyklvh2kmyl@vireshk-i7>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <cover.1660023094.git.viresh.kumar@linaro.org>

On 09-08-22, 11:04, Viresh Kumar wrote:
> Hello,
> 
> This patchset adds toolstack support for I2C and GPIO virtio devices. This is
> inspired from the work done by Oleksandr for the Disk device.
> 
> This is developed as part of Linaro's Project Stratos, where we are working
> towards Hypervisor agnostic Rust based backend [1].
> 
> This is based of origin/staging (commit 01ca29f0b17a ("sched: dom0_vcpus_pin
> should only affect dom0")) which already has Oleksandr's patches applied.
> 
> V3->V4:
> - Update virtio_enabled independently of all devices, so we don't miss setting
>   it to true.
> 
> - Add iommu handling for i2c/gpio and move it as part of
>   make_virtio_mmio_node_common(), which gets backend_domid parameter as a
>   result.

Hi Anthony / Juergen,

Do you have any feedback for me on these patches ? It would be very
helpful to know if I am on the right track or not.

Thanks.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 12:21:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 12:21:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388888.625659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOI3B-0006A2-7X; Wed, 17 Aug 2022 12:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388888.625659; Wed, 17 Aug 2022 12:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOI3B-00069v-4o; Wed, 17 Aug 2022 12:21:33 +0000
Received: by outflank-mailman (input) for mailman id 388888;
 Wed, 17 Aug 2022 12:21:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOI3A-00069l-I2; Wed, 17 Aug 2022 12:21:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOI3A-000699-D0; Wed, 17 Aug 2022 12:21:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOI3A-000147-0s; Wed, 17 Aug 2022 12:21:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOI3A-0004Vd-0E; Wed, 17 Aug 2022 12:21:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Gl2RGdGiMU8DrVl5puxE96WVDrbRq12VID3oW9bXJHU=; b=bOiefS927OuzH1T/CxleMhlbk/
	wRT1uPh3H+s2DvOf9pxT1QETAUi+aPsq1k3Tmfl485rr4Mb9bYLXUa2XBixtK4gL1g7cjdMkbobbc
	zZgoNsonOPfnOTFzHGf60ZhcuRdwgBJtJJCk2a6BS7K3FslvEqKl3GDu5S40rvTd2wpw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172588-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172588: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=283abca2997141ea780fc86ca9524b1d837243d3
X-Osstest-Versions-That:
    xen=283abca2997141ea780fc86ca9524b1d837243d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 12:21:32 +0000

flight 172588 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172588/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10    fail pass in 172575

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172575
 build-i386-libvirt            6 libvirt-build                fail  like 172575
 build-arm64-libvirt           6 libvirt-build                fail  like 172575
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172575
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172575
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172575
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172575
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172575
 build-armhf-libvirt           6 libvirt-build                fail  like 172575
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172575
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172575
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172575
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172575
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  283abca2997141ea780fc86ca9524b1d837243d3
baseline version:
 xen                  283abca2997141ea780fc86ca9524b1d837243d3

Last test of basis   172588  2022-08-17 02:28:43 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 13:04:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 13:04:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388898.625669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOIic-00020s-D1; Wed, 17 Aug 2022 13:04:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388898.625669; Wed, 17 Aug 2022 13:04:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOIic-00020l-AW; Wed, 17 Aug 2022 13:04:22 +0000
Received: by outflank-mailman (input) for mailman id 388898;
 Wed, 17 Aug 2022 13:04:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SWwd=YV=citrix.com=prvs=2218cd774=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1oOIib-00020f-BK
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 13:04:21 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a5646fa-1e2d-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 15:04:19 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a5646fa-1e2d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660741459;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=oV5jxY3Vy7N0wcLDUpSIFHleyGJVQ5PLv9TuzrzLEG0=;
  b=F1xqgJeH55PF++a9RusnwdZtsDZMTEspSiYD4CLzkY6WpABW4bpl30ZT
   i52u2b8UTj/zYEekXVNbYmxkbgHPbkLUkZb54b1703Ff8xSEicrn0x9l/
   ZRHuBDxg0Leje/cnic1Wkpqj8kHQbV1QV7krHq4sMFQSHNqbGb0MhD5bN
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 80840540
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:83LLY6+2eI0LQfJN201/DrUD7H6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 zYcWmGBOq3ZNmD1et5zOYrgoEoB6sOGndNrSQVrpHs8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM246yr0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGVBwQDIEk+9tLMXhn8
 99BNzsodhuAiLfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoQRRJNxEyAZY3mO6ui1H0ciFCqULTrq0yi4TW5FwpgOS1bYaNEjCMbZ4NtFSRn
 TjAxFSjWwBdH9K9xxS86Fv504cjmgukAdlPRdVU7MVCn1m71mEVThoMWjOTo/O0l0q/UNJ3M
 FEP92wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9ES+7x7uorA6OCTE8K0xbeiQhVQAG7Iy2yG0stS4jXuqPAYbs0IOtR2qqn
 2HXxMQtr+5N1JBWjs1X6XiC2mvx/caRE2bZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/5nzvp5pyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN51sPu8MCbSfzNvMfj2eN5yMCnMDd+SnNDKiIPrKinLArHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6RMJruMow+lWLeb7pMjtcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5Rr5gsfzb+FuKr
 b6y9aKikn1ibQE3WQGPmaZ7ELzABSFT6UzewyCPStO+Hw==
IronPort-HdrOrdr: A9a23:4IfX3a3b1CpZWjZRw/N/QwqjBL4kLtp133Aq2lEZdPRUGvb3qy
 nIpoV96faUskd0ZJhOo7C90cW7LU80lqQFhLX5X43SPzUO0VHAROoJgLcKqweQfREWndQ96U
 4PScdD4aXLfDpHsfo=
X-IronPort-AV: E=Sophos;i="5.93,243,1654574400"; 
   d="scan'208";a="80840540"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v2] x86/entry: move .init.text section higher up in the code for readability
Date: Wed, 17 Aug 2022 14:03:45 +0100
Message-ID: <20220817130345.28669-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

.init.text is a small section currently located amongst .text.entry
code. Move it above .text.entry.

This has no functional change but makes the code a bit more readable.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau MonnÃ©" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * code style
 * replace incorrect .popsection with .section
 * add commit message
---
 xen/arch/x86/x86_64/entry.S | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 26bf2f1941..9b34150bc7 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -140,6 +140,15 @@ process_trap:
         call create_bounce_frame
         jmp  test_all_events
 
+        .section .init.text, "ax", @progbits
+ENTRY(early_page_fault)
+        ENDBR64
+        movl  $TRAP_page_fault, 4(%rsp)
+        SAVE_ALL
+        movq  %rsp, %rdi
+        call  do_early_page_fault
+        jmp   restore_all_xen
+
         .section .text.entry, "ax", @progbits
 
 /* %rbx: struct vcpu, interrupts disabled */
@@ -982,16 +991,6 @@ ENTRY(double_fault)
         call  do_double_fault
         BUG   /* do_double_fault() shouldn't return. */
 
-        .pushsection .init.text, "ax", @progbits
-ENTRY(early_page_fault)
-        ENDBR64
-        movl  $TRAP_page_fault,4(%rsp)
-        SAVE_ALL
-        movq  %rsp,%rdi
-        call  do_early_page_fault
-        jmp   restore_all_xen
-        .popsection
-
 ENTRY(nmi)
         ENDBR64
         pushq $0
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 13:17:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 13:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388907.625680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOIv1-0003YC-FY; Wed, 17 Aug 2022 13:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388907.625680; Wed, 17 Aug 2022 13:17:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOIv1-0003Y5-Cy; Wed, 17 Aug 2022 13:17:11 +0000
Received: by outflank-mailman (input) for mailman id 388907;
 Wed, 17 Aug 2022 13:17:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOIuz-0003Xv-Mh; Wed, 17 Aug 2022 13:17:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOIuz-00076L-Jb; Wed, 17 Aug 2022 13:17:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOIuz-0004iN-3e; Wed, 17 Aug 2022 13:17:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOIuz-0002ki-3D; Wed, 17 Aug 2022 13:17:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4xSdfBB053p6C0hqYcEog4zV0WdNSOEY7/qd2GJ6oFc=; b=p9tN4RaGsohXN/PMvZr962sH5d
	ze0U1/x29ki4vGQVy/jsrELf3yN5/ZTxqoYTWkyESvICEAmyQgdvViJew+VAbst90yVm5ZTvyjyR3
	98TlIKaJGKWPO3o/6CYBWdk8PFp61Kj9e0ctV+ayZTRp1KUWezIXxuEWOa1h65IXokhI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172587-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172587: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start:fail:allowable
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=d293d70a8d4720cc1458f4953ed9974d5df96f8e
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 13:17:09 +0000

flight 172587 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172587/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start              fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                d293d70a8d4720cc1458f4953ed9974d5df96f8e
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   13 days
Failing since        172148  2022-08-04 21:39:38 Z   12 days   31 attempts
Testing same since   172587  2022-08-17 02:01:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1706 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 13:18:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 13:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388917.625692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOIvr-0004AT-Up; Wed, 17 Aug 2022 13:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388917.625692; Wed, 17 Aug 2022 13:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOIvr-0004AM-Qc; Wed, 17 Aug 2022 13:18:03 +0000
Received: by outflank-mailman (input) for mailman id 388917;
 Wed, 17 Aug 2022 13:18:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOIvq-0003xz-2l
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 13:18:02 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2042.outbound.protection.outlook.com [40.107.21.42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03969f2d-1e2f-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 15:18:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM4PR0401MB2244.eurprd04.prod.outlook.com (2603:10a6:200:50::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 13:17:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 13:17:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03969f2d-1e2f-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MBcloOmzq7DGcotaPCTYhs4PAPzkDrMEfYVzwb6/RFtUMIAFYKKc669bLLV9/4ea/ZXYSRTKdVNh9dLMHU2yXVIc7XG+lKr4FC9VJXnMIefzU+90F0j09J7BaTo+4ei3Q2MMx3FW2EijCagrT4NuIGyBk5VIrqVvbBl9b0qrXyzNxu1N7OYq3e8nFF5gRUPn/KVRpMgyS8lpnV28HNDfF9OCW1aVh5ngiysI2wroZrvBSiM2OKny7NEuBX3PNY6F6ja5M9w3yA0ooQegbiAwLFmLebtCm0DBDLZK7X1Qn/u7Qf9uv9irp7T4WOC4Ow3/y3Gfxa/l9yXsiESz7q4Q4A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uRpcOYlszBaVumNdKOGnc0MQfxakuVmA2tk4jR33b9E=;
 b=ROMpNJWOv2DA3BpsRVizV0rAVdD5JgrTSOV2QvjDGrhA3S8IbisKuUPvF1iHs5plt2UCEYoGTWTxc+gkp+k/HhN12ndQVgeNU0ns7z6K2RcRWFOEBXmdAXTLoFUQQ2yu7fH3Xn1s2nVIy+dsReXyEnIBOajstckv/FYCj1/Uy4123aHC1iO2mfJgrQDAZpZkOv95ADgaqK8b2yQLcmOZJ9trzTNBK8AnJmbAeHpzS2mOK2YLSjgCzFs7B/ZX5Chb7AReUKp/NEeP3UVX7iNrF6iSUk1jSJvdx4uwBn5U58Ec2VO2MtLrQQBCUkxcO/R4dQ5ppOBPROdkl/NDY7l9Ww==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uRpcOYlszBaVumNdKOGnc0MQfxakuVmA2tk4jR33b9E=;
 b=4b/ueSvr2kh2aPgDIuzrH+w2Fsdiskhvz1RzJ68YX6N40KNSJZ1dwUUrD6V4GunWyuyOtBDOtnBBUQ5okdgo19D0fWK/AqtIJFJXR1L6fPk2yAUCfBtGbhOmf59g4AlDssqdqFwWbRyIHq7Whdf+NX4Fgc/yTd9GbYAzQi6p28GXffBCC35ZcHdBngTUGFExA2gyZUrsYHnL5Wk8eLXcHDvsgKEU4QCJmaonnwCssTMfG3WNiVrXEkE6At8mry72XO2Cx3vtsvNPvOAVmi7bm1nL6OBsmi5nhDaDs8RETQZZR7qgYIWgQOSlAIMArIK2gusUhGeFukxYgqvRvjpI7w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
Date: Wed, 17 Aug 2022 15:17:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Content-Language: en-US
To: Leo Yan <leo.yan@linaro.org>
Cc: Ard Biesheuvel <ardb@kernel.org>, Marc Zyngier <maz@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Peter Griffin <peter.griffin@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <jgrall@amazon.com>
References: <20220817105720.111618-1-leo.yan@linaro.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220817105720.111618-1-leo.yan@linaro.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0019.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:81::32) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 44ba5728-02bf-49ba-3adb-08da8052e603
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2244:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	v9MMqxWdyg3gzFPVEZh/3hFs3q/5/86PLLMjZNhOLC939v2ZyRSeBf6Op2hlfVL4wYVePjMzmqTFBWNgpWzzivoIie5BeeUlhJ/1e3Y7Jal4jir2MFtFFV3TUbqtt+6tKdIbRWnSWJU6sw1RzSPa6fNeLvj2eHpp9RwmeTPOK8IxlTydteeojek7bTpa4SBQs3MISEM5AvqC8nb18cNdhxbm43RCPe2MsuaW3UQZh00EUBVs7k8RHszAgOQYkpo6efgF3l5Yy+eL3oHQsZB+1Em0GdTe/TmZ2D/0OYpe0lkVK1WjFHPQuo85yE0JjZk4YPJjIxGh3kXfOPmgxMt05fSCVywsrs4stZklUQr6y/bPHVSodGMqjaXyySujj6CT7rg8ZdSHiqalZocTCdqN1K8rSqpRRG0RgAP4g8B/48mtEGuqpTjILPz7n65lUjxg3odI9WOEEUsYYa+8hEY/lsVurg5g1IOGvW8xoIUMRZvAtj+yKT+pf8di7Qs81gLTxcYFnmPpZ7Jsie5p4DvJY18jvjuY4bqvcdM33KzOcwJ7JanrqDSqgb414TFchxrkXjhthL1+ARhMF8sNpOh2sX2EX5XDENNbo2URz2Z0obl/Kcp7S+KWA/RL/WP4elus94bkUUE5ToO8VZ/98Eaw9tOS7SxEeOzUIIw4/Qwm7/xY/IlYPu1S0GSBtVbWbiZSGRT2887CKqELSuVDvxnUa4IhDKD55FGGTmMv+rkbqvKXuwjD386k3NGBxcCcI8Eo9gGIrvx8nDzt0G1yILknUEiOG15ex4wcFQUD2ry2Ps/UhX/5EFnBBeRLqXWsCreVe1JitnZmYG0Di5nY9GLBUg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(376002)(136003)(346002)(366004)(26005)(316002)(41300700001)(2616005)(6666004)(6512007)(2906002)(66476007)(53546011)(66946007)(8676002)(4326008)(38100700002)(66556008)(186003)(5660300002)(31686004)(478600001)(31696002)(54906003)(6916009)(83380400001)(8936002)(45080400002)(86362001)(36756003)(6486002)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmFxVVJ5NVZBOTVzY1MrakJqVnNrWDkrTXFyS0E2VENaQlB4S3ZWMHFkVDIw?=
 =?utf-8?B?ZHh3d1NGYTAvNWUxcFZZVjc5clJYNWc3cDYxWXVMeGZwaUxkQnFuYzZsdCts?=
 =?utf-8?B?Ni9ucjVwS2M2endtNHhkVUdpU0Ivbm1rdEZybzI4T0pFVnlJakNnRWc0aTRW?=
 =?utf-8?B?eWcrYURELzBjTzFNZWRjQVJPSFhLK296OVJCRW1YMlE5ZnhKWGgzeUZuZ0Ry?=
 =?utf-8?B?MS95NHBleFJWZWhjQUY5QnYzcWpBY0V4MHA0NG1LdUN1ZWxOYVhGRGVyTkFC?=
 =?utf-8?B?YWNLWkVUeG96ajVJdUQvYU1KZm9YbGpEeTFYWDk1a0xZeVQ3aWx3emk3cndz?=
 =?utf-8?B?QnJnVkFwUC8wdys1NnN4b1VoRWFwOHRveHhKTHBJWHhIOGRBVVliT0g3WUhQ?=
 =?utf-8?B?RmJWQVgybDllMUZ2T1pZZ2VSeUZIQlZ4SkdYQmt5akhEZkE5ajhwcGNkQjhS?=
 =?utf-8?B?emg1Lzg4Y3NobXlBWTR4c2J2YTNITi9XZDA1Z1lDbG0rNXJZVmlrKzFWV1lO?=
 =?utf-8?B?bWxGVVlraWl3VjNzQlQvdVJWMFkvNlNZcytYeTN1dDNIR1cvTFJmd25TQkl6?=
 =?utf-8?B?azlvSkdVVUJVV2FsemRqZ2NwSVYwcVhKaUFvcFUrTGpTeFU5K3VtVG5tLy9a?=
 =?utf-8?B?S0xJYnpCOE5NZGN5RFRBZ29ZeGNZcFJESytLdEt3TU4vZHlKTkR5eWFLUjNy?=
 =?utf-8?B?WFVDUEpzbDZsczFMSFcwYkp2R21yTlhNeUxIeTN6NXVOSXdGVDd6SVFPQ0Qy?=
 =?utf-8?B?OUhGMVhqVWdzSlZFWkZyNlgxVFl4OVRGV1hWUGFWVURKWmw2eit1bm9CeW5G?=
 =?utf-8?B?cFdaSWhWaTJ5c1ozRkttd0lXQ2hUdG9KRzd3TTlqaG1iVWgzZmtuc3NNQlc5?=
 =?utf-8?B?QklmR3FQODYrREp3alQxR3hvS1FDV3JBbk5Ic0xrVUNtYmdlZUJ0U1pmMVVS?=
 =?utf-8?B?cDk5VlZLRWRKeVIyRVRLL0VISlpnREJKeVhNekRsdWFmVEZHZ0hXYUNtb1ZS?=
 =?utf-8?B?UGI1UnIyblZ2OG0xZlhhUmR3SG9rL3E2NURMZisvM3JMcCtuV0lVQlRpZ3Rh?=
 =?utf-8?B?a3U5bDJFeWtFdWEvQWhEa3AxQzErb3QwV1EvbGU4NVBqbFBqZS9HWjE2NnND?=
 =?utf-8?B?Ky82ZDJneUh5YmpuNDc5TlFROGVVRWphQVFEbTJJZXB2dWxxTFBJZUhtQTd3?=
 =?utf-8?B?a0srMUw4UnpDQ2NhUDJ4Q1VPaWFQekJsVXUvLy9GQ2dMYzErSzZzRUJtNW5h?=
 =?utf-8?B?blJPbWhlZHBlRWtrWDIvbEgzSjNhMWRQTmN2SmswWVVnY0FFcW15WHZUYlpN?=
 =?utf-8?B?QU9TNUFPQzFoU0x4bXZod0dHQm9uWEJ4aHpyM0FLRm1jUHJKTkdEZDZNL2FM?=
 =?utf-8?B?Q3NkeVFjVEF2SnFSdnFZWENCM0V0S01XOHRqb0pGSi9XenVLYUJhUU9jUDR5?=
 =?utf-8?B?b0VuRkZ1Q3crTEpSeHNIT0ExTnhUMGRwaTdhTTdFRWtzcmdqOWx5V3E3ZURo?=
 =?utf-8?B?NUtyOGw3cC9CYWZsOTV0N2l5U1l4V1dYc1k4T3B2dHE2TGgyNytLcjErZjNS?=
 =?utf-8?B?QUFJZ3FJMGplZitSMDB2dER4b2d5bmRmUWNuRGNrai9Kb2RaTmVyQ2QvS01z?=
 =?utf-8?B?TEMrbWVqa2tIdlpQeWNUM0xsQks0enZkT21XbXRYcHF1MFloMXB0OWcxaGl1?=
 =?utf-8?B?c1lIeGFPazhpME84TitIcUpPQkl2c29HekhxYTFvWkFzZGVtUEtDbEtVcC9T?=
 =?utf-8?B?ZmVWNEVVNVhWd28zTElvejh3VTZhalRYYnZDbzN1ZHk3NWRGaUVmTzZGamJP?=
 =?utf-8?B?UTdwWnlpSmZ0SWNSeWFsbTNwYXd6TUZIT1djQkl1dEFrdXl2bURiOC9IekZa?=
 =?utf-8?B?RDJiM1NxRUgxOHA1bUJuNDcwb0gwU3lDQVM1ZTJ0d1lvRDhNNktENDlkRysz?=
 =?utf-8?B?MEVDQTN5TUFWWVErM2lINEd6ZnVoaEdGZ2NkTEJGa2lmc1RyaWwxSkJBR2lr?=
 =?utf-8?B?dEp0bFMwU2FDUFdkcE9veHJTQkN1bzdVWmZBYWVxUGxHa3g2WmRDU2phOVRQ?=
 =?utf-8?B?T2RzeC9ydG1EWllGSnhYNkQ4WTNHYnU2K0NiU2wvSkw1L3p0ZjB4aFI1aEs2?=
 =?utf-8?Q?q5rV8Hu6hVdYO32GHcfBD3Ij7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 44ba5728-02bf-49ba-3adb-08da8052e603
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 13:17:56.2710
 (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: zWNA355EQhAHjG41utNECrVtYtFkAZAgKh94EpwFXxfKJoJWMmMna+fHGKPgx2s7XPtN1qvJiftJRknw8m1BBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2244

On 17.08.2022 12:57, Leo Yan wrote:
> On Arm64, when boot Dom0 with the Linux kernel, it reports the warning:
> 
> [    0.403737] ------------[ cut here ]------------
> [    0.403738] WARNING: CPU: 30 PID: 0 at drivers/irqchip/irq-gic-v3-its.c:3074 its_cpu_init+0x814/0xae0
> [    0.403745] Modules linked in:
> [    0.403748] CPU: 30 PID: 0 Comm: swapper/30 Tainted: G        W         5.15.23-ampere-lts-standard #1
> [    0.403752] pstate: 600001c5 (nZCv dAIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [    0.403755] pc : its_cpu_init+0x814/0xae0
> [    0.403758] lr : its_cpu_init+0x810/0xae0
> [    0.403761] sp : ffff800009c03ce0
> [    0.403762] x29: ffff800009c03ce0 x28: 000000000000001e x27: ffff880711f43000
> [    0.403767] x26: ffff80000a3c0070 x25: fffffc1ffe0a4400 x24: ffff80000a3c0000
> [    0.403770] x23: ffff8000095bc998 x22: ffff8000090a6000 x21: ffff800009850cb0
> [    0.403774] x20: ffff800009701a10 x19: ffff800009701000 x18: ffffffffffffffff
> [    0.403777] x17: 3030303035303031 x16: 3030313030303078 x15: 303a30206e6f6967
> [    0.403780] x14: 6572206530312072 x13: 3030303030353030 x12: 3130303130303030
> [    0.403784] x11: 78303a30206e6f69 x10: 6765722065303120 x9 : ffff80000870e710
> [    0.403788] x8 : 6964657220646e75 x7 : 0000000000000003 x6 : 0000000000000000
> [    0.403791] x5 : 0000000000000000 x4 : fffffc0000000000 x3 : 0000000000000010
> [    0.403794] x2 : 000000000000ffff x1 : 0000000000010000 x0 : 00000000ffffffed
> [    0.403798] Call trace:
> [    0.403799]  its_cpu_init+0x814/0xae0
> [    0.403802]  gic_starting_cpu+0x48/0x90
> [    0.403805]  cpuhp_invoke_callback+0x16c/0x5b0
> [    0.403808]  cpuhp_invoke_callback_range+0x78/0xf0
> [    0.403811]  notify_cpu_starting+0xbc/0xdc
> [    0.403814]  secondary_start_kernel+0xe0/0x170
> [    0.403817]  __secondary_switched+0x94/0x98
> [    0.403821] ---[ end trace f68728a0d3053b70 ]---
> 
> In the Linux kernel, the GIC driver tries to reserve ITS interrupt
> table, and the reserved pages can survive for kexec/kdump and will be
> used for secondary kernel.  Linux kernel relies on MEMRESERVE EFI
> configuration table for memory page , but this table is not supported
> by Xen.
> 
> This patch adds a MEMRESERVE configuration table into the system table,
> it points to a dummy data structure acpi_table_memreserve, this
> structure has the consistent definition with the Linux kernel.
> Following the method in Xen, it creates a table entry for the structure
> acpi_table_memreserve.
> 
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
> Cc: Rahul Singh <Rahul.Singh@arm.com>
> Cc: Peter Griffin <peter.griffin@linaro.org>
> Signed-off-by: Leo Yan <leo.yan@linaro.org>
> ---
>  xen/arch/arm/acpi/domain_build.c | 24 ++++++++++++++++++++++++
>  xen/arch/arm/efi/efi-dom0.c      | 19 ++++++++++++++++---
>  xen/arch/arm/include/asm/acpi.h  |  1 +
>  xen/include/acpi/actbl.h         | 17 +++++++++++++++++
>  xen/include/efi/efiapi.h         |  2 ++
>  5 files changed, 60 insertions(+), 3 deletions(-)

Please make sure you Cc all maintainers of all files that you touch.
Albeit, see below, you could indeed have avoided Cc-ing me if you
hadn't misplaced stuff in two of the headers that you fiddle with.

> --- a/xen/arch/arm/efi/efi-dom0.c
> +++ b/xen/arch/arm/efi/efi-dom0.c
> @@ -38,7 +38,7 @@ size_t __init estimate_efi_size(unsigned int mem_nr_banks)
>  {
>      size_t size;
>      size_t est_size = sizeof(EFI_SYSTEM_TABLE);
> -    size_t ect_size = sizeof(EFI_CONFIGURATION_TABLE);
> +    size_t ect_size = sizeof(EFI_CONFIGURATION_TABLE) * 2;
>      size_t emd_size = sizeof(EFI_MEMORY_DESCRIPTOR);
>      size_t fw_vendor_size = sizeof(xen_efi_fw_vendor);
>      unsigned int acpi_mem_nr_banks = 0;
> @@ -63,7 +63,8 @@ void __init acpi_create_efi_system_table(struct domain *d,
>  
>      table_addr = d->arch.efi_acpi_gpa
>                   + acpi_get_table_offset(tbl_add, TBL_EFIT);
> -    table_size = sizeof(EFI_SYSTEM_TABLE) + sizeof(EFI_CONFIGURATION_TABLE)
> +    table_size = sizeof(EFI_SYSTEM_TABLE)
> +	         + sizeof(EFI_CONFIGURATION_TABLE) * 2
>                   + sizeof(xen_efi_fw_vendor);

Nit: Indentation.

> @@ -75,7 +76,7 @@ void __init acpi_create_efi_system_table(struct domain *d,
>      efi_sys_tbl->Hdr.HeaderSize = table_size;
>  
>      efi_sys_tbl->FirmwareRevision = 1;
> -    efi_sys_tbl->NumberOfTableEntries = 1;
> +    efi_sys_tbl->NumberOfTableEntries = 2;

This is the 3rd magic "2" - I think there wants to be some consolidation,
such that it becomes obvious which "2"-s really are the same (and would
change together if, like you do here, another entry is needed).

> @@ -86,6 +87,18 @@ void __init acpi_create_efi_system_table(struct domain *d,
>      efi_conf_tbl->VendorTable = (VOID *)tbl_add[TBL_RSDP].start;
>      efi_sys_tbl->ConfigurationTable = (EFI_CONFIGURATION_TABLE *)(table_addr
>                                                                    + offset);
> +
> +    /*
> +     * Configuration table for MEMRESERVE is used in Linux kernel for
> +     * reserving pages, its main purpose is used for kexec/kdump to
> +     * reserve persistent pages (e.g. GIC pending pages) for the secondary
> +     * kernel.
> +     */
> +    offset += sizeof(EFI_CONFIGURATION_TABLE);
> +    efi_conf_tbl = (EFI_CONFIGURATION_TABLE *)(base_ptr + offset);
> +    efi_conf_tbl->VendorGuid = (EFI_GUID)LINUX_EFI_MEMRESERVE_TABLE_GUID;
> +    efi_conf_tbl->VendorTable = (VOID *)tbl_add[TBL_MRSV].start;
> +
>      xz_crc32_init();
>      efi_sys_tbl->Hdr.CRC32 = xz_crc32((uint8_t *)efi_sys_tbl,
>                                        efi_sys_tbl->Hdr.HeaderSize, 0);

Rather than adjusting offset and calculating efi_conf_table fdrom scratch,
perhaps better simply efi_conf_table++? That way there would be one less
cast, which are always somewhat risky.

> --- a/xen/include/acpi/actbl.h
> +++ b/xen/include/acpi/actbl.h
> @@ -302,6 +302,23 @@ struct acpi_table_fadt {
>  #define ACPI_FADT_HW_REDUCED        (1<<20)	/* 20: [V5] ACPI hardware is not implemented (ACPI 5.0) */
>  #define ACPI_FADT_LOW_POWER_S0      (1<<21)	/* 21: [V5] S0 power savings are equal or better than S3 (ACPI 5.0) */
>  
> +/*******************************************************************************
> + *
> + * MEMRESERVE - Dummy entry for memory reserve configuration table
> + *
> + ******************************************************************************/
> +
> +struct acpi_table_memreserve {
> +	int size;		/* allocated size of the array */
> +	int count;		/* number of entries used */
> +	u64 next;		/* pa of next struct instance */
> +	struct {
> +		u64 base;
> +		u64 size;
> +	} entry[];
> +};

This header holds ACPI spec defined data structures. This one looks
to be a Linux one, and hence shouldn't be defined here. You use it
in a single CU only, so I see no reason to define it there.

Furthermore - what if Linux decided to change their structure? Or
is there a guarantee that they won't? Generally such structures
belong in the public interface, guaranteeing forward compatibility
even if Linux decided to change / extend theirs (at which point
consuming code there would need to do translation, but maybe using
a Xen-defined struct [plus translation in Linux] right away would
be best).

Finally, style-wise, please don't use u64 in new code anymore; we
are trying hard to move over to standard uint<N>_t types. Plus,
unless indeed mandated by Linux, please avoid signed types for
fields (or variables) which can never go negative.

> +
> +
>  /* Values for preferred_profile (Preferred Power Management Profiles) */

Please don't add double blank lines anywhere.

> --- a/xen/include/efi/efiapi.h
> +++ b/xen/include/efi/efiapi.h
> @@ -882,6 +882,8 @@ typedef struct _EFI_BOOT_SERVICES {
>  #define SAL_SYSTEM_TABLE_GUID    \
>      { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
>  
> +#define LINUX_EFI_MEMRESERVE_TABLE_GUID    \
> +    { 0x888eb0c6, 0x8ede, 0x4ff5, {0xa8, 0xf0, 0x9a, 0xee, 0x5c, 0xb9, 0x77, 0xc2} }

This header holds EFI spec mandated definitions (generally taken
from the gnu-efi project), when this one again looks to be a Linux
one (and again looks to be used in only a single CU).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 13:19:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 13:19:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388926.625703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOIxB-0004mm-7p; Wed, 17 Aug 2022 13:19:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388926.625703; Wed, 17 Aug 2022 13:19:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOIxB-0004mf-4P; Wed, 17 Aug 2022 13:19:25 +0000
Received: by outflank-mailman (input) for mailman id 388926;
 Wed, 17 Aug 2022 13:19:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOIx9-0004lk-8H; Wed, 17 Aug 2022 13:19:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOIx9-00078G-7L; Wed, 17 Aug 2022 13:19:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOIx8-0004ui-Oi; Wed, 17 Aug 2022 13:19:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOIx8-0003o1-OJ; Wed, 17 Aug 2022 13:19:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LZLvP5RlZS+JARlPy1scn77yp/Zh+dnAJktrQfXd3OU=; b=xQf8dtxU4Pe6hAmx2fXc1dTHeK
	4FN/UhKVW0lJ396WgeIEJ4EJyzVfgcuFpTxQgg6wV7Dsj9bDYLP1zPe/XO/PLKZTDT56JpgMtRBQV
	LHhv/rAfeQFVAMR6QOZgAuLkzgccErvARe4ARvnfVRqs8ebD4J0oUcI//oAKQOx4HbKs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172597-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172597: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=64a20bea97e6a19651e639a9c24e5f4e37b70f81
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 13:19:22 +0000

flight 172597 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172597/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 64a20bea97e6a19651e639a9c24e5f4e37b70f81
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   13 days
Failing since        172151  2022-08-05 02:40:28 Z   12 days  110 attempts
Testing same since   172595  2022-08-17 09:11:46 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 735 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 13:49:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 13:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388938.625717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJQd-0008AJ-If; Wed, 17 Aug 2022 13:49:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388938.625717; Wed, 17 Aug 2022 13:49:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJQd-0008AC-FO; Wed, 17 Aug 2022 13:49:51 +0000
Received: by outflank-mailman (input) for mailman id 388938;
 Wed, 17 Aug 2022 13:49:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=T5zD=YV=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1oOJQc-0008A6-1P
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 13:49:50 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74f09043-1e33-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 15:49:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B549361448
 for <xen-devel@lists.xenproject.org>; Wed, 17 Aug 2022 13:49:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86345C43470
 for <xen-devel@lists.xenproject.org>; Wed, 17 Aug 2022 13:49:45 +0000 (UTC)
Received: by mail-wm1-f43.google.com with SMTP id
 k18-20020a05600c0b5200b003a5dab49d0bso971225wmr.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Aug 2022 06:49:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74f09043-1e33-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660744185;
	bh=NBpAGwshp25WWJ/Jy3bgIzkTJAlvuKaWrA1JRyD7ixA=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=f9+/8d61Se9BXkXVb1xTb1R4a1kkqbMk5PUv6ZrbTtW05H6VlprSsUvw37qv9HCYE
	 utgK/2jRxQzxLaeXDBPnRoyxYNd119MeO8lgU24gi9SJx4OL9q+ROwXSJx+/jqeBeL
	 DsBzQr3WsWag5Wx+e5DmrQ8l25dunFUkMxOAYMNoi3w1VIAdNpUpXjuUVhmDGT1tvs
	 NsLQwSpSzKo6M9idRbxzLcL5Uv3FdLWWpgjS4irxhvyngJ5j+onB8myVh/mNOwyExd
	 eNWxh+0R4eezePOh/n+OPwKZ6uCnNKdseEcoRCh07qeRiaivk8ltnHYWpNrCfzyXjR
	 xTC3zibta6ldg==
X-Gm-Message-State: ACgBeo0Vx3QArDS2HEQW7Ya3isF4QdieUCDYm0+5cV0tO6JN3mnVk5YC
	GVbHuB/x45a//XWR47yAipX2CMCoyvnT6Mv/lDM=
X-Google-Smtp-Source: AA6agR69uo3EvUIxUNHcqjVYZAIeUF6ANYE+pJcdTYNrUH2ITFwk0e7t0UpGb71W6gGq1pXLp83RfIw90TfMnrbnCU4=
X-Received: by 2002:a1c:a3c4:0:b0:3a5:512f:717a with SMTP id
 m187-20020a1ca3c4000000b003a5512f717amr2238189wme.192.1660744183686; Wed, 17
 Aug 2022 06:49:43 -0700 (PDT)
MIME-Version: 1.0
References: <20220817105720.111618-1-leo.yan@linaro.org> <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
In-Reply-To: <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Wed, 17 Aug 2022 15:49:32 +0200
X-Gmail-Original-Message-ID: <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
Message-ID: <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
To: Jan Beulich <jbeulich@suse.com>
Cc: Leo Yan <leo.yan@linaro.org>, Marc Zyngier <maz@kernel.org>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Rahul Singh <Rahul.Singh@arm.com>, 
	Peter Griffin <peter.griffin@linaro.org>, xen-devel <xen-devel@lists.xenproject.org>, 
	Julien Grall <jgrall@amazon.com>
Content-Type: text/plain; charset="UTF-8"

On Wed, 17 Aug 2022 at 15:18, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 17.08.2022 12:57, Leo Yan wrote:
> > On Arm64, when boot Dom0 with the Linux kernel, it reports the warning:
> >
> > [    0.403737] ------------[ cut here ]------------
> > [    0.403738] WARNING: CPU: 30 PID: 0 at drivers/irqchip/irq-gic-v3-its.c:3074 its_cpu_init+0x814/0xae0
> > [    0.403745] Modules linked in:
> > [    0.403748] CPU: 30 PID: 0 Comm: swapper/30 Tainted: G        W         5.15.23-ampere-lts-standard #1
> > [    0.403752] pstate: 600001c5 (nZCv dAIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > [    0.403755] pc : its_cpu_init+0x814/0xae0
> > [    0.403758] lr : its_cpu_init+0x810/0xae0
> > [    0.403761] sp : ffff800009c03ce0
> > [    0.403762] x29: ffff800009c03ce0 x28: 000000000000001e x27: ffff880711f43000
> > [    0.403767] x26: ffff80000a3c0070 x25: fffffc1ffe0a4400 x24: ffff80000a3c0000
> > [    0.403770] x23: ffff8000095bc998 x22: ffff8000090a6000 x21: ffff800009850cb0
> > [    0.403774] x20: ffff800009701a10 x19: ffff800009701000 x18: ffffffffffffffff
> > [    0.403777] x17: 3030303035303031 x16: 3030313030303078 x15: 303a30206e6f6967
> > [    0.403780] x14: 6572206530312072 x13: 3030303030353030 x12: 3130303130303030
> > [    0.403784] x11: 78303a30206e6f69 x10: 6765722065303120 x9 : ffff80000870e710
> > [    0.403788] x8 : 6964657220646e75 x7 : 0000000000000003 x6 : 0000000000000000
> > [    0.403791] x5 : 0000000000000000 x4 : fffffc0000000000 x3 : 0000000000000010
> > [    0.403794] x2 : 000000000000ffff x1 : 0000000000010000 x0 : 00000000ffffffed
> > [    0.403798] Call trace:
> > [    0.403799]  its_cpu_init+0x814/0xae0
> > [    0.403802]  gic_starting_cpu+0x48/0x90
> > [    0.403805]  cpuhp_invoke_callback+0x16c/0x5b0
> > [    0.403808]  cpuhp_invoke_callback_range+0x78/0xf0
> > [    0.403811]  notify_cpu_starting+0xbc/0xdc
> > [    0.403814]  secondary_start_kernel+0xe0/0x170
> > [    0.403817]  __secondary_switched+0x94/0x98
> > [    0.403821] ---[ end trace f68728a0d3053b70 ]---
> >
> > In the Linux kernel, the GIC driver tries to reserve ITS interrupt
> > table, and the reserved pages can survive for kexec/kdump and will be
> > used for secondary kernel.  Linux kernel relies on MEMRESERVE EFI
> > configuration table for memory page , but this table is not supported
> > by Xen.
> >
> > This patch adds a MEMRESERVE configuration table into the system table,
> > it points to a dummy data structure acpi_table_memreserve, this
> > structure has the consistent definition with the Linux kernel.
> > Following the method in Xen, it creates a table entry for the structure
> > acpi_table_memreserve.
> >
> > Cc: Ard Biesheuvel <ardb@kernel.org>
> > Cc: Marc Zyngier <maz@kernel.org>
> > Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
> > Cc: Rahul Singh <Rahul.Singh@arm.com>
> > Cc: Peter Griffin <peter.griffin@linaro.org>
> > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> > ---
> >  xen/arch/arm/acpi/domain_build.c | 24 ++++++++++++++++++++++++
> >  xen/arch/arm/efi/efi-dom0.c      | 19 ++++++++++++++++---
> >  xen/arch/arm/include/asm/acpi.h  |  1 +
> >  xen/include/acpi/actbl.h         | 17 +++++++++++++++++
> >  xen/include/efi/efiapi.h         |  2 ++
> >  5 files changed, 60 insertions(+), 3 deletions(-)
>
...
> > --- a/xen/include/acpi/actbl.h
> > +++ b/xen/include/acpi/actbl.h
> > @@ -302,6 +302,23 @@ struct acpi_table_fadt {
> >  #define ACPI_FADT_HW_REDUCED        (1<<20)  /* 20: [V5] ACPI hardware is not implemented (ACPI 5.0) */
> >  #define ACPI_FADT_LOW_POWER_S0      (1<<21)  /* 21: [V5] S0 power savings are equal or better than S3 (ACPI 5.0) */
> >
> > +/*******************************************************************************
> > + *
> > + * MEMRESERVE - Dummy entry for memory reserve configuration table
> > + *
> > + ******************************************************************************/
> > +
> > +struct acpi_table_memreserve {
> > +     int size;               /* allocated size of the array */
> > +     int count;              /* number of entries used */
> > +     u64 next;               /* pa of next struct instance */
> > +     struct {
> > +             u64 base;
> > +             u64 size;
> > +     } entry[];
> > +};
>
> This header holds ACPI spec defined data structures. This one looks
> to be a Linux one, and hence shouldn't be defined here. You use it
> in a single CU only, so I see no reason to define it there.
>
> Furthermore - what if Linux decided to change their structure? Or
> is there a guarantee that they won't?

No, there is not. The memreserve table is an internal interface
between the EFI stub loader and the Linux kernel proper.

As I have argued many times before, booting the arm64 kernel in
EFI/ACPI mode without going through the EFI stub violates the ACPI
spec, and relies on interfaces that were not intended for public
consumption.

> Generally such structures
> belong in the public interface, guaranteeing forward compatibility
> even if Linux decided to change / extend theirs (at which point
> consuming code there would need to do translation, but maybe using
> a Xen-defined struct [plus translation in Linux] right away would
> be best).
>

> > --- a/xen/include/efi/efiapi.h
> > +++ b/xen/include/efi/efiapi.h
> > @@ -882,6 +882,8 @@ typedef struct _EFI_BOOT_SERVICES {
> >  #define SAL_SYSTEM_TABLE_GUID    \
> >      { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
> >
> > +#define LINUX_EFI_MEMRESERVE_TABLE_GUID    \
> > +    { 0x888eb0c6, 0x8ede, 0x4ff5, {0xa8, 0xf0, 0x9a, 0xee, 0x5c, 0xb9, 0x77, 0xc2} }
>
> This header holds EFI spec mandated definitions (generally taken
> from the gnu-efi project), when this one again looks to be a Linux
> one (and again looks to be used in only a single CU).
>

Same point as above.


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 13:50:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 13:50:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388947.625728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJRa-000152-Un; Wed, 17 Aug 2022 13:50:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388947.625728; Wed, 17 Aug 2022 13:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJRa-00014v-RX; Wed, 17 Aug 2022 13:50:50 +0000
Received: by outflank-mailman (input) for mailman id 388947;
 Wed, 17 Aug 2022 13:50:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ctqM=YV=citrix.com=prvs=221f02cfb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oOJRZ-0008A6-F6
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 13:50:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97bacb96-1e33-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 15:50:47 +0200 (CEST)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Aug 2022 09:50:43 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5223.namprd03.prod.outlook.com (2603:10b6:610:9c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19; Wed, 17 Aug
 2022 13:50:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.027; Wed, 17 Aug 2022
 13:50:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97bacb96-1e33-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660744247;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=jTWIdfi6cz6Huq7A7IdamjtXWNLQ/xmuyRW7itJsDvo=;
  b=F0zGRy+tNvlY5qwTCpu/nqhOwy/KMjzpdb7vuLfNohxt4pLD31TAmjKP
   r2junP0aFlp5YmpsVf2dxp4hVSwmVOQpOujS35nCYIcKoY9Qra5Lz1GKn
   DV9ouJNVvatOC1uoLp+zLYSRNFHaFQv6YvJpTS3qt7gAF5w0KHY5+xrtt
   o=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 78734529
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ECdmqKKxaBrFyzKjFE+RLpQlxSXFcZb7ZxGr2PjKsXjdYENS0GEFn
 WQcXWyGa/qNZGejf9hwPNy1/E4PuJOEzoNlSlBlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/La90s21BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TEmvw3E0EsZ6Ai4cl9HDpEp
 MY/EjERYUXW7w626OrTpuhEoO0GdZCuFqVP/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe
 84ebjkpZxPFC/FNEg5PVNRiw6H11j+mLW0wRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPPlmHZryj97gPJtQzxArpNHpnpz9VvnUKsxVZNBg03CGLu9JFVjWb7AbqzM
 Xc86ico6KQ/6kGvZt38RAGj5m6JuAYGXNhdGPF87xuCooLW6QuEAmkPThZadccr8sQxQFQC1
 EKNnt7vLSxitvuSU3313qyPsTq4NCwRLGkDTSwJVw0I55/kuo5bpg3LZsZuFuiylNKdMTv92
 SyQpS4ywbAal9cW1r6T9ErCxTmro/DhcAkx4QnGW3O/2SlwboWleo+A5EDS6LBLK4Pxc7Wal
 H0Nmszb5uZeC5iIzXWJWL9UQuHv4OuZOjrBh1IpB4Mm6zmm53+ke8ZX/S16I0BqdM0DfFcFf
 XPuhO+Y37cLVFPCUEO9S9vZ5xgCpUQ4KenYaw==
IronPort-HdrOrdr: A9a23:/f6jlaycTIpORYRqglLcKrPxaegkLtp133Aq2lEZdPULSKKlfp
 GV88jziyWZtN9IYgBbpTnhAsO9qADnhONICOgqTP+ftWzd2VdAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOQ+EYb2IK9PoSiTPQe71MoKjlzEnrv5an854Hd3AtV0gU1XYfNu/tKDwTeOApP+tdKL
 Osou584xawc3Ueacq2QlMfWfLYmtHNnJX6JTYbGh8O8mC1/H6VwY+/NyLd8gYVUjtJz7tn23
 PCiRbF6qKqtOz+4gPA1lXU849dlLLau5d+7Y23+4cowwfX+0eVjbdaKv2/VfcO0aKSAWMR4Z
 fxStEbToZOAj3qDySISFDWqnXdOX4VmgDfIBmj8DHeiP28fSk9DcVZg4Jfb1/212oM1esMlJ
 5j7iahrJxQAgrHnCPho/7ydz8vuHaVjBMZ4KkuZwU2a/pHVFc2xbZvpX+8Nv87bXjHAUQcYb
 JTJdCZ6/BMfVyAaXfF+mFp3dy3R3w2WgyLW04Yp6Wuok9rdV1Cvj4lLfYk7wM93YN4T4MB6/
 XPM6xumr0LRsgKbbhlDONERcesEGTCTR/FLWrXeD3cZeg6EmOIr4Sy7KQ+5emsdpBNxJwumI
 7ZWFcdsWIpYUrhBcCHwZUO+BHQR2e2Wyjr16hllu5Ek6y5QKCuPTyISVgoncflq/IDAtfDU/
 L2I55SC++LFxqdJW+I5XyMZ3B/EwhubCROgKdEZ7unmLO6FrHX
X-IronPort-AV: E=Sophos;i="5.93,243,1654574400"; 
   d="scan'208";a="78734529"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=glg+9f9PWoKBDrXBgdC9/zVmlONe8jW/iZ8286eQ1GmDvfe7tPSmalsdDlqEZjOipi92xtPrilQwTxWugOKdq6Idj1nLLLvbWwn32inn1t4LGYAAJe8/P5LqVfFYcNdZoSEtVELjsmSCFs7s5ujRPZq3IeUlQ/UTkpf+cnzcel2ksecCat9MsxI6q4kepg0HkMJ6sRyrJKpc6Oe6Xuz5FHVWKgd13xsjyeGYGgODHbFEA5dEAxoDRMYiqvSdNgB0wrVPF8wTm+CYLoYvW7CMSJaIxo3ra2D5l5PGR6dKPW4bPzm3bHFcmrqmNujhM4Hmw5Ct336W0dn/8RrWP1nMhg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jTWIdfi6cz6Huq7A7IdamjtXWNLQ/xmuyRW7itJsDvo=;
 b=eB5sT1wDopMzIeMWtWh1He/cJZoJYtEHHWe7jgOuMH3Ouvlhe8jDpD6v/3lH0T2fqhkO4R6/RqHHMa0Zapjj9UUtVqHmZw84zipYw/nwz68oHx5OPfSIemRYCadhuSVTPgUymZaqdtkj1sl2JZgk0gB2CgEuAP/oN0VV4OLFqVUb7Yyzsu5WcpfGFP/sy0xSKCUEZQ1tZaZHzDcJqE+NAxxRK3JItsbwi9jLY5y0KI1i6vSGISqyj2jDuFLlkUDzRmsKDCYq60cz0l3r43vLHX5QYCSTRGki1s1x8FBPBeQd8wtV8JU8eb3GvoLre2JoXmF4USRMLL+5l/stICLwsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jTWIdfi6cz6Huq7A7IdamjtXWNLQ/xmuyRW7itJsDvo=;
 b=XOTqJv1QP3a2/MQOegni8vUYQuOxc4SsBxSXYwENEBGak4MLvKs4A6pg0E4qQg2STb2WmyqNVULY1LLE0plksfIwDt5FxAnheBKVsCjrj+Sodxx1rXZw1/9AIcc2vLvYu8L0xYSlYcYjBGrfVGgsMnKuwWvBy/0blZwvIcFKlC0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Thread-Topic: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Thread-Index: AQHYshn1FitJ6Hl8lUq9G/d15az/a62y7WeAgAAvEoA=
Date: Wed, 17 Aug 2022 13:50:41 +0000
Message-ID: <9cb0a2ea-b998-23fa-f338-94786cbcacf5@citrix.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <20220817091540.18949-1-anthony.perard@citrix.com>
 <7f7479d5-71e4-5005-d37b-8d702fd5d871@citrix.com>
In-Reply-To: <7f7479d5-71e4-5005-d37b-8d702fd5d871@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f74b7836-2cc4-4b4e-7c58-08da8057797c
x-ms-traffictypediagnostic: CH2PR03MB5223:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 qdtADPLqb+t0Lv8+SNBKVBcEZb2ISBo8UEdBL3Xx4buEEuewQwGcxbx/AtfYRQX2JmoWDg399U3B0j9J2oiIIHYBr9mCjRDH+NDCRl57KwyhgcLnXDGSgqXbfXaAKqUdOs0agd5/6s32T9zrDe4O+eqqxiUDUzzJT3TZHDVHIgYUydR0CdHCu/Ly1Qt0a/tG3ClgI4C1MYzJOYUgZlmGMGpDzNq6EqjMq46KzUbQ3oauMQestmmWBClzq/+u44Wm5OA/8XoKnQ+VwxujoCbzpUo6bBkB2gplfgO1UNDuthsvRO1nVTOnRqOCf6DkCiAR41tjpws6iwqwGM/j1PQPsCpnIj5giFscbZQs/vABJyhdHiXimLch/M9F5TauDETVRpPaW4PKsCd7p+dEUwIZIx00g/fwheLuRN+kLd0B6pTBEcfTtEbRRgnQEWlggibs/2usz2Ax06KCYfLDdH02+Cf0of3tWmZsoNWJGBovVenFNHX2PgcUPNjxD9JF/8nTy0AdPU6gZtAhdTV7h0VAMHNAkK3K6CqaLfq8t+2kSm/41WsbpWMFydERe0ja1g4pNtbyrcCvtTa6/DSjBgzgcZiwIGnlI7rioLg45LWR2s1D6pkBOr6ePqqvO+037vJxyUYbiOu5agkOe3iw5qW303yxWOaJD0ErsQmCy/zHgm4nSsmkC6jcs4xS290MudyMqSSFmiNaCPaYYSmZLgR82B7wCJ5VyLrhOi38Nb8xT+p6iO1dPA5gmbgYLwfVjicmmyUPGEJ29KT3kbJDXvgoRgRa/m3cvMIMBwyUiVYiv8ip8E+8ccenYgqkzaVIzjWauREPFSIijBkSbEeYgE+2D0bVM4Ti8qxp9Pkr5PYndzNBzN0s7BE+P9W14b2A977f
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(366004)(136003)(346002)(376002)(6512007)(26005)(38100700002)(107886003)(2906002)(53546011)(6506007)(186003)(83380400001)(122000001)(2616005)(82960400001)(4326008)(8676002)(64756008)(66446008)(66476007)(31686004)(66556008)(71200400001)(66946007)(76116006)(91956017)(478600001)(36756003)(6486002)(54906003)(110136005)(316002)(31696002)(5660300002)(38070700005)(86362001)(41300700001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RVFCM0VYYnRLZDM2YzVyNEtyeVpmbUJ5QVlaVHRpdEtUQzcyelI0TW8xS2Rk?=
 =?utf-8?B?M3FUR2VoVDB6UXU1ZC9adkFDcnZKSURrcVpqV0FEYWhuLzRVWm9GSk9NSG1I?=
 =?utf-8?B?RWd2WCtvbGpudks2YzhvU2V1L3JRbGF3NmRvU1NvZisxcmJ4Zks1TnI4d1Jl?=
 =?utf-8?B?b0xEdEtqYnMwRWdzUGE4Q2tXUEN1WXBreGg4anNoc2dBMTRPdUN3UDBaOFhL?=
 =?utf-8?B?VHVMQlFjaitNWWw0VVpWanMvVCtkaC8xN2lwWkpCVGxaa3lvU0pDRmpYOTRI?=
 =?utf-8?B?dGpwM1FjQ0lCbG42KzJnbE5ra3pWWU4wUHljSXl4Y2RZcy9VQ3hDUUlNUTBk?=
 =?utf-8?B?anVCb1pPTU10WE1RNFZEbFh5bDdJQlhuUUVuMklMYUFFb0hqY0JFV3pzdG5I?=
 =?utf-8?B?NWlFaDFzVjZ6K3NUNWZoSjlsZ1FQaEd5OE9GWGdGVTl1MFhYeGRtd2x3bFFh?=
 =?utf-8?B?bnNrN1RUMkcrVTJ0c3htNE9lZkdxTDR1UHhpVmFzbUREYmR6QUFsTEc4U0tp?=
 =?utf-8?B?QjZnVXVrOFFjcGVvdUdNeGJRZDA1bCttdGhUNWUzTCt5L2txSkxLYWdyUWlk?=
 =?utf-8?B?cDVIUG9PajdOV1dXU3A4Q3BGMHVQb1FEZkxhaEpuL1p3ZTRWbEN6cVFsemNr?=
 =?utf-8?B?MmxsbU94ZktvV0ljN3RDOWErb2lpL3VURXNLRDA5d3RYdGVGd1daSEVkWUhm?=
 =?utf-8?B?Uy91NFdnZFRvcWdRMFFjQkI2U3p2YXBpTmloUkRIZVFaeUh4K0RRaXQ5VXlB?=
 =?utf-8?B?Y3VORncvVklhTzBrb1JnNUI1aHFvWEtjQUR1MnRXYXl5bFpOc2d2a1NCRzFk?=
 =?utf-8?B?R2phelVMWkN2ZmV3T3A1K2p6a3JyK2EzYTVTZSt1L1RsZ296bVJjRUUyMndj?=
 =?utf-8?B?RlFtQnFpUFdHRnZjd0Q2d1ZXN3pGZFo1L09aYmtoeitFdnZIV2NOditZTWZH?=
 =?utf-8?B?SzRZa0QyY2hPbzhuS1AyYzhJbFIreFZlb01SKzA0YVQxeCtsVTBmamJFL3p1?=
 =?utf-8?B?emoyaHdnVVBONzVaK1o4bndxQWFRZU5pdEtnRjRGS3U5QUYzbDN3Q1R3MUpH?=
 =?utf-8?B?SkRKL3BLYldNdzFSdGtNNlFpOVduUkF3ejBJTTBOM2ljVkdQWWxDYi9jK3ph?=
 =?utf-8?B?MTdlT1pyVTRPRGdscUZHZUZieks1MzJLRFlWdU5LcitFUThGYVIzakYrT253?=
 =?utf-8?B?eHJGdHVMbndKMFRiT2hWZ0U1ZFdxN0crV21nRGNmcXVrRFFPdGdVbFR2K3gv?=
 =?utf-8?B?ZmNjSUhpOWJEK2M1WXdTT2U2OVdUZzhNNVFXS0xVQ1JtRzhyVUlDTldQS1FD?=
 =?utf-8?B?NDhucVIvODhMNTJnQzRkclM4NEtoSDhwbFZzS292MVppWlhMd0d6c0hxRm5S?=
 =?utf-8?B?TTdHcEl0TkM1MUtmOGUxTHR1VEMvVUJxdU9zN3NIdW1EQVlrTjM4MTlaNURT?=
 =?utf-8?B?TitRSzN3Vk9WMFpVUWR0UG91MmJ6SWtSSzJmaUNaaklrVFZEWndRaE43MDlq?=
 =?utf-8?B?MXRUMFdvNTFRT1RYN1Nwa0ZicjUyYWZ1dzVqRUZ2RHh4TWUxMEhhM3V0OURD?=
 =?utf-8?B?a0h2SjZZWG9HaGdBeWZUYU9TdEZ3dVowUnEreWVHemlJK2Z5OTMwVEpFUnN3?=
 =?utf-8?B?aTUrOU9TeFRqMUJWODJjUk9kYWdvb24zMFdIRkJPcTA5U1dQNUlMcUhIalEx?=
 =?utf-8?B?ekdjMzRWV2FRaUVaUVNHU3pzdExXcnBTRHdlS3o3M3hkNCtwUXljWVRrbjg1?=
 =?utf-8?B?WW5zOGNPb1UrbG9xTHRwVjFId3NDSmdaTUZKT1kvUXFPOW80bkVYci9vaklq?=
 =?utf-8?B?dGt1bklpUWhlRHVTOVI5c2NPSWZOTEcwbGpLN0lwd3NRM3ZSVThVdEJZQUhy?=
 =?utf-8?B?Q3djbUNWaVNscDkrRm9PdHgxVTRrc3NPSHpmaW5VSU5OWWgzcGQzaGU2cUhQ?=
 =?utf-8?B?ckpFeEJQM3R3T3ExNUN6L2p6VVBPN01zenhVUXloRWQvVTFaM1BXUlV3WlNV?=
 =?utf-8?B?L3JTZHpHUzd4c2xTcWNlM3RSTjF0TmlzU3N2TDZwUWlsSnVzZFVoN0h3VjBr?=
 =?utf-8?B?WlE5cS9LcXhZS1lLVkNlMEY0djVhbU50YVVHTGVEYldDbnZIdFRoaGRMRHZC?=
 =?utf-8?Q?jk9Cy+lPD5BrzgiLd5Eni6xMY?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <748911BF67A21847ADB5A82086C19574@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?Z2pvZmc5MW52OVhDbE11S2JaeU8vMndjQkdZS2xIZzlWVEdsaVB0QVd6K0Mr?=
 =?utf-8?B?SDhVRUxtd0JHbGZVYXFhS1V1bWhYNmVBWWNueDlvZFFwRmNvRXJlVi92bDA0?=
 =?utf-8?B?YUVrRVlZRldJdWNLRFQ4WU43aFZhNVdCMWpTYkZDM0MzSk1Jd1d0Nk1pY0E0?=
 =?utf-8?B?Q3FyNys3b1lxV3lRdEZzMmZuRjgrelowcHhCLzhhTEtxRnZ5MlBhZ0NtWTdJ?=
 =?utf-8?B?Z3Z0QXErTmNKdlJXWEhRL0U2VDBHWmtvcjIzai9pcERVbk8zVGw1OU8xbTE1?=
 =?utf-8?B?NG9OOFJRQWZHL1VDZG5PaU9EbStmMWlsOXUwZ3JkWEJVSnowc0ltY0w2OXJC?=
 =?utf-8?B?TFBBN3ozUTluTmxBRFFsY2loU1NOY0ord2FBVEdvek45dk5qTDRTT3NQY2xk?=
 =?utf-8?B?dXpIOU5kSXE2RmxTWVF4QzhLdDdBb3ZQekZaejBNczF4eDc3ODJwSTQyL3dP?=
 =?utf-8?B?d1ZQbW5hbFgzN2lSZENZZFM1dnlJQ3lDbzR1b3JGN2NDaEdvcXNhWjRVWGZN?=
 =?utf-8?B?ZmM1UjNtOTFxdDhGNkpuV2pVNldDUCt4MkVWaG9OZGVQVFJqMDkyb1ovMXdW?=
 =?utf-8?B?aVdabHFacGRzU1hSeDA3ZXB6SnRDMVlPaDdUVUd6TDJ6TDRTV3hNVHhkWHJQ?=
 =?utf-8?B?RXhsWTk2WDdSUStLOTA5bktvYkg0Y1NNTWQxdS8vRllIemhWYkJndDlwTGR1?=
 =?utf-8?B?SGhlajN5Ui9SWjRZU1d0QW0zSXJ4ek85Wi81QnZudnYySjBwTzh2T2ovYVc5?=
 =?utf-8?B?ekNiV0VjYko3MFhVUitXWXdGaWY2aSthVUd0T21ucG5CeTEyYnhJOGNRMTF2?=
 =?utf-8?B?U0RCOThiN25uNlQya2Nrbmluemx4Y0hJRHZFRnZqQU1ONm1rL1dYK1JrbzZQ?=
 =?utf-8?B?eWx3WWRWelk4RHJYRmZaRlM5OFFRVnRkeXlQZjVnZ0tSYWJSMS9aUmt4a1M0?=
 =?utf-8?B?TUVOT0dpWVR6NFBLaHNoOGRMTlBUVXY3akpLNEt2Vm8wdmU2dW92QWZBSkpq?=
 =?utf-8?B?QXJFTlZPQ0xaMVUrVHQ5TmE1U2Z6Yll2TG1OdGN6M3doQUFpbldBMGJTUW5k?=
 =?utf-8?B?T1dzelIvdENlQXNYeVdEWWRLdERMTFovSERlR1c3c1lLeTJaalNuY014NlJZ?=
 =?utf-8?B?dUFpVUlyckJaMmF3U2VsZW5NNlhvSXZLSnhOVmpJbHBoQmFYblIrUVdEMlVj?=
 =?utf-8?B?OWlLd2N3ZVB1ZHh4Rmo1VHhnUTIrbmV1eUFvU2xSeUM2RXRscmlINFVtNTQz?=
 =?utf-8?B?L1VBdW82TXZVVENvazFyNmRrNU5HcWNTaW5QMlByQmtmQTlWalhSYnU3ZEs0?=
 =?utf-8?B?QVhkU1IwbmhZVlVIaDE3ZGdzaU5NczVyWTU2L1hmUVkzdmNaeml5TWFrWDdW?=
 =?utf-8?Q?7dG6nhQ8SiiBxsPa/PWmgKr2s6XwpXJc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f74b7836-2cc4-4b4e-7c58-08da8057797c
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2022 13:50:41.4433
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zc2qkhzIi+hWuBpqE9pE8h3jwgC9iDOHX1Fg6kDMEDx7I2+GxmxS6Ha938HvCC6qCybwoqvqpLNOJSV28t8r4nkd0Dn1+N/cwFAxmXGk89c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5223

T24gMTcvMDgvMjAyMiAxMjowMiwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gT24gMTcvMDgvMjAy
MiAxMDoxNSwgQW50aG9ueSBQRVJBUkQgd3JvdGU6DQo+PiBXZSBjYW4ndCBoYXZlIGEgc291cmNl
IGZpbGUgd2l0aCB0aGUgc2FtZSBuYW1lIHRoYXQgZXhpc3QgaW4gYm90aCB0aGUNCj4+IGNvbW1v
biBjb2RlIGFuZCBpbiB0aGUgYXJjaCBzcGVjaWZpYyBjb2RlIGZvciBlZmkvLiBUaGlzIGNhbiBs
ZWFkIHRvDQo+PiBjb21mdXNpb24gaW4gbWFrZSBhbmQgaXQgY2FuIHBpY2sgdXAgdGhlIHdyb25n
IHNvdXJjZSBmaWxlLiBUaGlzIGlzc3VlDQo+PiBsZWFkIHRvIGEgZmFpbHVyZSB0byBidWlsZCBh
IHB2LXNoaW0gZm9yIHg4NiBvdXQtb2YtdHJlZSwgYXMgdGhpcyBpcw0KPj4gb25lIGV4YW1wbGUg
b2YgYW4geDg2IGJ1aWxkIHVzaW5nIHRoZSBlZmkvc3R1Yi5jLg0KPj4NCj4+IFRoZSBpc3N1ZSBp
cyB0aGF0IGluIG91dC1vZi10cmVlLCBtYWtlIG1pZ2h0IGZpbmQgeDg2L2VmaS9zdHViLmMgdmlh
DQo+PiBWUEFUSCwgYnV0IGFzIHRoZSB0YXJnZXQgbmVlZHMgdG8gYmUgcmVidWlsdCBkdWUgdG8g
Rk9SQ0UsIG1ha2UNCj4+IGFjdHVhbGx5IGF2b2lkIGNoYW5naW5nIHRoZSBzb3VyY2UgdHJlZSBh
bmQgcmVidWlsdCB0aGUgdGFyZ2V0IHdpdGgNCj4+IFZQQVRIIGlnbm9yZWQsIHNvICRAIGxlYWQg
dG8gdGhlIGJ1aWxkIHRyZWUgd2hlcmUgInN0dWIuYyIgZG9zZW4ndA0KPj4gZXhpc3QgeWV0IHNv
IGEgbGluayBpcyBtYWRlIHRvICJjb21tb24vc3R1Yi5jIi4NCj4+DQo+PiBSZXdvcmsgdGhlIG5l
dyBjb21tb24vc3R1Yi5jIGZpbGUgdG8gaGF2ZSBhIGRpZmZlcmVudCBuYW1lIHRoYW4gdGhlDQo+
PiBhbHJlYWR5IGV4aXN0aW5nIG9uZSwgYnkgcmVuYW1pbmcgdGhlIGV4aXN0aW5nIG9uZS4gV2Ug
d2lsbCB0YWtlDQo+PiBleGFtcGxlIG9mIGVmaS9ib290LmMgYW5kIGhhdmUgdGhlIGNvbW1vbiBz
dHViLmMgaW5jbHVkZSBhIHBlci1hcmNoDQo+PiBzdHViLmguIFRoaXMgYXQgbGVhc3QgYXZvaWQg
dGhlIG5lZWQgdG8gZXhwb3NlIHRvIEFybSBib3RoIGFsaWFzDQo+PiBlZmlfY29tcGF0X2dldF9p
bmZvIGFuZCBlZmlfY29tcGF0X3J1bnRpbWVfY2FsbC4NCj4+DQo+PiBBdm9pZCB1c2luZyAkKEVG
SU9CSi15KSBhcyBhbiBhbGlhcyBmb3IgJChjbGVhbi1maWxlcyksIGFkZA0KPj4gInN0dWIuYyIg
ZGlyZWN0bHkgdG8gJChjbGVhbi1maWxlcykuDQo+Pg0KPj4gQWxzbyB1cGRhdGUgLmdpdGlnbm9y
ZSBhcyB0aGlzIHdhcyBhbHNvIG1pc3NpbmcgZnJvbSB0aGUgb3JpZ2luYWwNCj4+IHBhdGNoLg0K
Pj4NCj4+IEZpeGVzOiA3Zjk2ODU5YjBkMDAgKCJ4ZW46IHJldXNlIHg4NiBFRkkgc3R1YiBmdW5j
dGlvbnMgZm9yIEFybSIpDQo+PiBSZXBvcnRlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv
b3BlcjNAY2l0cml4LmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRo
b255LnBlcmFyZEBjaXRyaXguY29tPg0KPiBUaGlzIHZlcnNpb24gaXMgYnJva2VuIEknbSBhZnJh
aWQuDQoNCk5vIGl0J3Mgbm90LsKgIFVzZXIgZXJyb3Igb24gbXkgYmVoYWxmLsKgIFNvcnJ5Lg0K
DQpUZXN0ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:13:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:13:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388958.625738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJn7-0003mE-RK; Wed, 17 Aug 2022 14:13:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388958.625738; Wed, 17 Aug 2022 14:13:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJn7-0003m7-Nt; Wed, 17 Aug 2022 14:13:05 +0000
Received: by outflank-mailman (input) for mailman id 388958;
 Wed, 17 Aug 2022 14:13:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2RHf=YV=citrix.com=prvs=221cc9648=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oOJn6-0003kU-Al
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:13:04 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2e88445-1e36-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 16:13:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2e88445-1e36-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660745581;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=jy8zmhEkfrVPWDhHSxlOgu9i7Zc9dmrAQxTzYo9zAwM=;
  b=eMsh9BlRFQOpaRBt7u9IbTTBg04uov0uQl4CN0PhDsejnNcbzw7oOgM7
   UGSuifrpXtaYeWAWqIJ3zBWqZWFoO887Th+NEy9VVFTJcAtgslS8IIm7k
   E0sViWk9rDi7O39ZUQ0ZHHAnp3tZqmn2a2yJ8axlDZoTQSM5ZJrkoczq6
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78300275
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:a5RYZqm/1ESZ2LYEix3SdJ7o5gxMJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJKC2GPPv+IMGGheIh2btixo00EuJKDzIRnSQE6+y02FSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K2t4GpwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kmIqgH2b8uDVtS2
 qwkOD0pRw+Bq9OPlefTpulE3qzPLeHuNYIb/Hph0SvYHbAtRpWrr6fivIECmm1q34YXQKiYN
 5FxhTlHNXwsZzVGPEsXD5Qv2v+lnHDlfxVTqU6PpLpx6G/WpOB0+Oe9a4KNIIPXLSlTtmrBg
 VyY5mX+ORglDMGblBuf73S3oMaayEsXX6pNTeblp5aGmma7zGEJFAcfU1f9pPCjk1O/QPpWM
 UlS8S0rxYAM80isQsj4TgePineOtR4BWPJdC+Q/rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqC8p+EoDX0PjIaRUcAbyIZSQoO4/H4vZo+yBnIS75LErOxj9DzMSH9x
 XaNtidWr64IkccB2qG//FbGqzGhvJ7ESkgy/Aq/Y46+xlonPsj/PdXusAWFq6YbRGqEcrWfl
 Ggbvte9tbkCN42ixBCdTcEkA7OF1s/QZVUwnmVT84kdGyWFoiD9Jd4Lum0veS+FIe5fJ2a3P
 Ra7VRd5ocYKYSD0NfIfj5eZUZxC8ET2KTjyuhk4hPJqa4M5SgKI9ToGiaW4jzG0yxhEfU3S1
 P6mnSeQ4ZUyU/0PIMKeHbt17FPS7nlWKZnvbZ761Q+79rGVeWSYT7wIWHPXML5hsvzY8VSJq
 o0DXydv9/m4eLyWX8Uq2dRLcQBiwYYTX/gaVPC7hsbce1E7SQnN+tfawK87epwNopm5Ytzgp
 yjlMmcFmQWXuJEyAV/VApyVQO+wAM0XQLNSFXBEAGtELFB9ONvws/9BKMVfkHtO3LUL8MOYh
 sItI62oasmjgByek9jBRfERdLBfSSk=
IronPort-HdrOrdr: A9a23:d3YNWa2QshVAz/fH/mtAvQqjBLIkLtp133Aq2lEZdPRUGvb3qy
 mLpoV+6faUskd1ZJhOo7290cW7LU80sKQFhrX5Xo3SPjUO2lHJEGgK1+KLqFfd8m/Fh41gPM
 9bAs5D4bbLbGSS4/yU3DWF
X-IronPort-AV: E=Sophos;i="5.93,243,1654574400"; 
   d="scan'208";a="78300275"
Date: Wed, 17 Aug 2022 15:12:50 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Message-ID: <Yvz3Yuc+gqcKQ59R@perard.uk.xensource.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <20220817091540.18949-1-anthony.perard@citrix.com>
 <e2d3cc4d-4b5e-560a-53f1-380d260a66b6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <e2d3cc4d-4b5e-560a-53f1-380d260a66b6@suse.com>

On Wed, Aug 17, 2022 at 12:38:36PM +0200, Jan Beulich wrote:
> On 17.08.2022 11:15, Anthony PERARD wrote:
> > --- a/xen/common/efi/efi-common.mk
> > +++ b/xen/common/efi/efi-common.mk
> > @@ -9,9 +9,9 @@ CFLAGS-y += -iquote $(srcdir)
> >  # e.g.: It transforms "dir/foo/bar" into successively
> >  #       "dir foo bar", ".. .. ..", "../../.."
> >  $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
> > -	$(Q)test -f $@ || \
> > -	    ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
> > +	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
> 
> I'm afraid the commit message hasn't made clear to me why this part of
> the change is (still) needed (or perhaps just wanted). The rest of this
> lgtm now, thanks.

There's an explanation in the commit message, quoted here:
> >  The issue is that in out-of-tree, make might find x86/efi/stub.c via
> >  VPATH, but as the target needs to be rebuilt due to FORCE, make
> >  actually avoid changing the source tree and rebuilt the target with
> >  VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
> >  exist yet so a link is made to "common/stub.c".

The problem with `test -f $@` it doesn't test what we think it does. It
doesn't test for the presence of a regular file in the source tree as
stated in the original tree. First, `test -f` happily follow symlinks.
Second, $@ is always going to point to the build dir, as GNU Make will
try to not make changes to the source tree, if I understand the logic
correctly.

Instead of `test -f`, we could probably remove the "FORCE" from the
prerequisite, but there's still going to be an issue if there's a file
with the same name in both common and per-arch directory, when the common
file is newer.

So `test -f` needs to go.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:16:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388966.625750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJqg-0004Or-9K; Wed, 17 Aug 2022 14:16:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388966.625750; Wed, 17 Aug 2022 14:16:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJqg-0004Ok-6Z; Wed, 17 Aug 2022 14:16:46 +0000
Received: by outflank-mailman (input) for mailman id 388966;
 Wed, 17 Aug 2022 14:16:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Xyl4=YV=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oOJqe-0004OX-FG
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:16:44 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36afbb2b-1e37-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 16:16:42 +0200 (CEST)
Received: from [10.10.1.154] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1660745797745977.3889293143588;
 Wed, 17 Aug 2022 07:16:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36afbb2b-1e37-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; t=1660745798; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=n0xOp81c6xaSsCBtOQ7Nz4uVCrDX8oJQ0nCuE3l2jVej6LhawQMhb8w7ifTlg/IUZfX7FJbqGYtxGoBhmL1f38A5aQpwbNVfdoc0eb9EE9NRmOVWJY9QbcNRWe3JHHtAVe3NNkZDHtRYjZu28F3coVGw74rESoUiONvbzdoTTVI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1660745798; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=UJCzSNRF6cteYvrdQtGXslVJA1S46wayPZVjNW86Cag=; 
	b=SX8KZB8dQw4I2C9J5iCyKFPc6krdV75HJg7agznZG2455lcCVzrtPSeq61N768+oaOi8jKatPWcdPOh2t6wVNS5irJ47sz1XhLhx4l108w0xiQfz3u4bBWfhdqw4vPfgpYvQfByS/t2ogVk16vwAn3sbTfAwmcOYKh/sEHMjrTc=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1660745798;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=UJCzSNRF6cteYvrdQtGXslVJA1S46wayPZVjNW86Cag=;
	b=BEyhqMfcaxLdTqNpzelBRSDIz1m3fILXb39g+SgBNFZL7hXtnpvvEnSlR4AA7CDu
	3SxrsAdugCeUEeaj3Z/KCoA1iHouewfB/VcJsLsBcsWDMlpnNEfk1gf6QjorrqsDRWQ
	EwB3cZrcMV4yiZkjwKBPjp+PBVBeI2Bx/6EoXo9Q=
Message-ID: <c3682bb0-4241-d142-b131-1221d1a62b31@apertussolutions.com>
Date: Wed, 17 Aug 2022 10:15:16 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.8.0
Subject: Re: [PATCH v12] xsm: refactor flask sid alloc and domain check
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20220809140633.23537-1-dpsmith@apertussolutions.com>
 <CAKf6xpur5sESPxgDEmY=PsnDDmuZ898UbaAECccGuQuyetjHEQ@mail.gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <CAKf6xpur5sESPxgDEmY=PsnDDmuZ898UbaAECccGuQuyetjHEQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/16/22 13:43, Jason Andryuk wrote:
> Hi,
> 
> I think you should change the title to "xsm/flask: Boot-time labeling
> for multiple domains".  Refactor implies no functional change, and
> this is a functional change.  With this, I think the commit message
> should be re-written to focus on the "why" of the new labeling policy.

I can rename and expand a bit further.

> On Tue, Aug 9, 2022 at 10:06 AM Daniel P. Smith
> <dpsmith@apertussolutions.com> wrote:
>>
>> The function flask_domain_alloc_security() allocates the security context and
>> assigns an initial SID for the domain under construction. When it came to SID
>> assignment of the initial domain, flask_domain_alloc_security() would assign
>> unlabeled_t. Then in flask_domain_create() it would be switched to dom0_t.
>> This logic worked under the assumption that the first domain constructed would
>> be the hypervisor constructing dom0 and all other domains would be constructed
>> by a toolstack, which would provide a SID. The introduction of dom0less and
>> subsequently hyperlaunch violates this assumption, as non-privileged domain may
>> be constructed before the initial domain or no initial domain may be
>> constructed at all. It is not possible currently for dom0less to express domain
>> labels in the domain configuration, as such the FLASK policy must employ a
>> sensible initial SID assignment that can differentiate between hypervisor and
>> toolstack domain construction.  With the introduction of xenboot_t it is now
>> possible to distinguish when the hypervisor is in the boot state, and thus any
>> domain construction happening at this time is being initiated by the
>> hypervisor.
> 
> The problem this commit is addressing is "flask can only label a
> single dom0_t at boot, and this is incompatible with dom0less and
> hyperlaunch".
> 
> ISTM that dom0less device tree could gain a node for the security
> label, and Hyperlaunch already supports labels.  But a goal of this
> patch is to make it work without changing dom0less?  And it may be
> worth more directly stating that dom0less panics today since the domU
> fails to build with unlabeled_t.
> 
> Also a motivation was to align Flask labels to match the dummy policy
> with dom0/domU, correct?  That would be worth adding.

okay

>> This commit addresses the above situation by using a check to confirm if the
>> hypervisor is under the xenboot_t context in flask_domain_alloc_security().
>> When that is the case, it will inspect the domain's is_privileged field to
>> determine whether an initial label of dom0_t or domU_t should be set for the
>> domain. The logic for flask_domain_create() was changed to allow the incoming
>> SID to override the initial label.
> 
> AFAICT, the labeling policy needs to handle these three cases:
> 1) Traditional domain 0 (x86 or arm)
> Single domain - domid == 0 && privileged

On x86 it cannot be assumed that the domid for the initial domain is 
zero(0). See get_initial_domain_id() for which, afaict, is not a valid 
call under Arm.

> 2) dom0less (arm)
> Possibly a single dom0 - domid == 0 && privileged
> Multiple domUs - domid > 0 && not privileged
> Notably, it takes care not to create a domU with domid 0.

Just to be pedantic, this really should just be labeled as "arm domain 
construction". As I discovered during all of this, Arm is always capable 
of building multiple domains at boot. The dom0less construct is really 
just a mode of the domain builder to never construct/start the initial 
domain (dom0) if the dom0less flag is set, regardless if there is one 
defined in the DTB.

> 3) Hyperlaunch (x86 or arm)
> Potentially anything?  I don't know what you envision for this.

A simplistic way to state it is, remove all assumptions/conventions 
about domain construction by the hypervisor. Instead, require explicit 
declarations about what domains the hypervisor should construct.

> When it was only dom0, it was easy to put a heuristic in flask to
> label the first domain as dom0_t.  With dom0less, the heuristic can be
> expanded to include domid > 0 -> domU_t.  With hyperlaunch, I'm not
> sure.  Is there something it needs that wouldn't be covered?

In the current HL series, there is no binding/enforcement/validation of 
the boot configuration and requirements of the enforcing XSM module. For 
the case when FLASK is the enforcing XSM module, the domain 
configuration may not have provided labels for the domains. In this case 
it would mean either FLASK refuses/fails the domain create check if a 
SID ref is not provided or a sensible policy/heuristic must be codified.

> dom0_t being a singleton emphasized for me that using only
> is_privileged for the check isn't quite right.  Does hyperlaunch need
> domid != 0 && is_privileged to get assigned dom0_t?  That could still
> be done explicitly, but just not implicitly by the above.

I agree it is not quite right, but more so that it is leveraging the 
assumption from the basic policy module (dummy policy) that only the 
initial domain (dom0) will have is_privileged set. As stated above, 
domid !=0 and is_privileged being set already exists for PV shim, not 
something being introduced by HL. HL only expands the possibility for 
the configuration to be built outside PV shim.

With that said, unless I am missing something, the heuristic below will 
enforce the singleton. While it is possible that 
flask_domain_alloc_security() would allocate a security context for more 
than one domain containing the label of dom0_t. The 
flask_domain_create() check will only allow the first domain with this 
label to be created, regardless if the domain create was initiated by 
the hypervisor or by a runtime toolstack.

>> The base policy was adjusted to allow the idle domain under the xenboot_t
>> context the ability to construct domains of both types, dom0_t and domu_t.
> 
> I suppose if someone doesn't want to use domU_t/dom0_t, then they
> could remove the xenboot_t allow rules which would defacto require
> explicit labels.

Correct, this is why I pushed for the rules to be in the policy instead 
of in the code. If someone wants to use HL to do something custom, they 
can define their desired types, including dropping the dom0_t type, in 
policy and explicitly provided labels to domain in the boot configuration.

>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> 
>> --- a/xen/xsm/flask/hooks.c
>> +++ b/xen/xsm/flask/hooks.c
>> @@ -182,7 +182,15 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
>>           dsec->sid = SECINITSID_DOMIO;
>>           break;
>>       default:
>> -        dsec->sid = SECINITSID_UNLABELED;
>> +        if ( domain_sid(current->domain) == SECINITSID_XENBOOT )
>> +        {
>> +            if ( d->is_privileged )
> 
> The policy outlined above would change this line to:
>      if ( d->is_privileged && d->domid == 0 )

As mentioned above, d->domid == 0, is not a valid assumption even before 
the introduction of HL.

>> +                dsec->sid = SECINITSID_DOM0;
>> +            else
>> +                dsec->sid = SECINITSID_DOMU;
>> +        }
>> +        else
>> +            dsec->sid = SECINITSID_UNLABELED;
>>       }
>>
>>       dsec->self_sid = dsec->sid;
>> @@ -550,20 +558,36 @@ static int cf_check flask_domain_create(struct domain *d, uint32_t ssidref)
>>       struct domain_security_struct *dsec = d->ssid;
>>       static int dom0_created = 0;
>>
>> -    if ( is_idle_domain(current->domain) && !dom0_created )
> 
> This old check only applied at boot time to label the first domain as
> dom0_t, but it didn't restrict runtime labeling...
> 
>> +    /*
>> +     * The dom0_t label is expressed as a singleton label in the base policy.
>> +     * This cannot be enforced by the security server, therefore it will be
>> +     * enforced here.
>> +     */
>> +    if ( ssidref == SECINITSID_DOM0 )
>>       {
> 
> ...this new one restricts runtime labeling with dom0_t.  It's an
> unusual case, so making the code change is (probably) fine.   But it
> should at least be mentioned in the commit message.

Correct, this makes a stronger/hard enforcement that only one domain can 
ever be labeled as dom0_t. As mentioned, previously it was only checked 
when the idle domain was doing the construction. Which made it possible 
to construct multiple domains labeled as dom0_t, as long as the policy 
was altered to allow a domain type to construction domains of type 
dom0_t. IMHO, if there is a desire to enable configurations with 
multiple all-privileged domains, then that configuration should define a 
different domain type and use HL to have the initial domain constructed 
with that type. The type dom0_t is special, mostly to align with 
historical expectations/conventions, and should not be repurposed by 
custom FLASK policies.

> However, if the boot time policy adds "domid == 0" to the dom0_t
> assignment, then the dom0_created code can go away.

I disagree because "domid == 0" is not a valid check and IMHO the 
enforcement of dom0_t being a singleton should be as strong as possible.

> Regards,
> Jason

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:24:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388976.625761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJy0-0005yk-54; Wed, 17 Aug 2022 14:24:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388976.625761; Wed, 17 Aug 2022 14:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOJy0-0005yd-1j; Wed, 17 Aug 2022 14:24:20 +0000
Received: by outflank-mailman (input) for mailman id 388976;
 Wed, 17 Aug 2022 14:24:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=asjj=YV=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oOJxz-0005yV-I1
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:24:19 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140081.outbound.protection.outlook.com [40.107.14.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 470b0922-1e38-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 16:24:18 +0200 (CEST)
Received: from AM6PR0202CA0051.eurprd02.prod.outlook.com
 (2603:10a6:20b:3a::28) by AM9PR08MB6770.eurprd08.prod.outlook.com
 (2603:10a6:20b:300::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 17 Aug
 2022 14:24:15 +0000
Received: from VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:3a:cafe::b) by AM6PR0202CA0051.outlook.office365.com
 (2603:10a6:20b:3a::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Wed, 17 Aug 2022 14:24:15 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT025.mail.protection.outlook.com (10.152.18.74) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Wed, 17 Aug 2022 14:24:14 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Wed, 17 Aug 2022 14:24:14 +0000
Received: from 2b4229d21b41.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 520723CA-73A8-44F6-B9D7-93B2FC0BF203.1; 
 Wed, 17 Aug 2022 14:24:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2b4229d21b41.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 17 Aug 2022 14:24:08 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM6PR08MB4488.eurprd08.prod.outlook.com (2603:10a6:20b:71::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 14:24:04 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.025; Wed, 17 Aug 2022
 14:24:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 470b0922-1e38-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=QOETATqJc3dOpA+q/LGbB2VwCcbfS/9cgFMNOH/0Z1pA4LYzYKmNy6LzCcO1HTQBhQnPLu1I1NkW/Tcm70+zSevP0ulJNyypldD8hLbJT+71MGRB19ctyVtmK64A38lfTaMehuqLJtlCyaHMC++DSJ0lanD9+Cah1ywzo4lBW7/o5v+YxCN6jhZRJiU4m+eC4hhDD6huQm3I2ehvFojGLHeKe9LE9VSfun2t81BW0zAtjmPbslp/TTskxO3hayqEoNbamDM6uF0SUAO5/xmNj9N5LWCwQM8piE2x/LL1PCo2gSKN0nqO/jboUv/+6EGlIOYhBhQmhsJVYq25audnlg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h0l1DSorM3j5cICVZ3WhVkpwVgUcbH9HzCGIK2CTplM=;
 b=ZSngt7ZLMI+ERuIVeWmSdpEmApXfEphLH9cHvllJAimJAYAXEUiSXba2u4O5v73JhMFMZQGcR1AZ+6w7GIrFlj19iyP+zo8EE9UDjyJxYIiit4dkljmN8ButJehWtunN9Lc2wP3BKzRg4uFpN2k/zdYIVWCdzlp1Ta6LstmzoGYp5jCXSOEVn4etDbCOAUXhIEYNOGvyaHQ6iNTYABjaL/j3oouekVqdLp8W6HoEqH0wlFWaivuj3QiD8qD0K1Lnf0i1hqje5axY3ghNCKJlULk8XSAMERQub+L4eitLWhhfJUXqPjQkCVHxNY2mJ9lBwsonBR+5n4zQvflq/8eSQA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h0l1DSorM3j5cICVZ3WhVkpwVgUcbH9HzCGIK2CTplM=;
 b=EPMyrLJy8DOBB7WSiLHPgSYviwurj2gusD1W8EU/j6B9L+ytStp/ge83A3g03UbxxjwIwg0n/4g+trHB5duDtdT/063uaa3bsb96iooTzHy8Ce63pjRleFbZowRuzsZUAP2WJ2Ij8b7gyGSzfk+l6XfYoOj5iet0ZUdTcOL9umk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 57f50f28c7d5dfc2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KwaEOx2w6ocd/i4XGYjEbWtY+BpgiSL8jmQQVavWW92p8PN3adPgqURd/sloPbQcg+u8uvUNcE8w0uxSKNeb1fdmqhlO/iKdgzuzjWzOIUdxN5s51OpOSrHgGSv5ZV3ADcQr7yf91Z228+yxefDEk96GTe0XYgyvtrRIPWrFc2qGGOfjVvSLf8xE9q+d+qhVhz039Bj9iBAHZLV6Bjm516pJdd9lpYbygARw7WI8nzbPGO7be+tPU3d1TgkPPfwG/XatAN0y0lt9J6m88QwFeL2Ew8dLE4VpZuBbhFUv7OcPLriqRYUIl6dn+vGZPGRa8nv3nMwVWFaDgDy3hhYodA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h0l1DSorM3j5cICVZ3WhVkpwVgUcbH9HzCGIK2CTplM=;
 b=XBt5Tx/928BjcNaja5MD/IsA7QBmbeisYe0T8DxkOv1c6gVjU7rnqAvbbmnxLF37UfTHF2bVtpUxDeW89YyddnKP18ohgWwFutODCv9pjlpmxhSapIOwhq9lg97qRh+e9lBjBqJHH95GaukAKVUMBGpS5Zl2D0t/IMttJPGdjDfVxvyrNz9MPn2Ez4CjXHFMzuXl3XVgVorF8ZmE8nRdXImGVjlFajPD8Bt7O17YriLR4U89JxQzin55Zn3crCStMk5qdUqFG7LleZ4L5YQmfDyvhYoExoWfJWLEXE18PPwnKDXfQ7esxy+8HHzomcSkl539IJqEVex/sGanRQikZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h0l1DSorM3j5cICVZ3WhVkpwVgUcbH9HzCGIK2CTplM=;
 b=EPMyrLJy8DOBB7WSiLHPgSYviwurj2gusD1W8EU/j6B9L+ytStp/ge83A3g03UbxxjwIwg0n/4g+trHB5duDtdT/063uaa3bsb96iooTzHy8Ce63pjRleFbZowRuzsZUAP2WJ2Ij8b7gyGSzfk+l6XfYoOj5iet0ZUdTcOL9umk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Anthony PERARD <anthony.perard@citrix.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>
Subject: Re: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Thread-Topic: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Thread-Index: AQHYshn5p8B+wu2e+kaYxiD64FUdFq2zJc0A
Date: Wed, 17 Aug 2022 14:24:04 +0000
Message-ID: <8DFC3EF7-4F6C-482A-9D7C-D56EE1AD6A81@arm.com>
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <20220817091540.18949-1-anthony.perard@citrix.com>
In-Reply-To: <20220817091540.18949-1-anthony.perard@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2a74693e-44d2-45cd-ff92-08da805c295c
x-ms-traffictypediagnostic:
	AM6PR08MB4488:EE_|VE1EUR03FT025:EE_|AM9PR08MB6770:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 KwWxbb5lBc+BByQHTvLtn845oP6+UWB7BKNIZn/7uvG9QHcSugf+9G0b48qZ856RIksJj6iHD1P2SvKUItDrWKSr49INvgjN2t3oAftoEirtEPmZe0n6WQYHcWJ8Ql8tRu0w6IZCuujbfIheSJALeKiMc8Z+HobKnSyfw4ngp+uVb0N2hZwHK5l6HeG5ZrQHErVa+03Sp//+2VAUeLWr3fuzdDRpfYtKOs5DoxCGObD6fv7695HxlvSwAs/PeSxlqlE5B6T1xtdwzgolFbIgTTVqB2/6G7AcnmbHbvpS9gLNJSlqzyQjCDql3kgrFNrtp7uL0m/whGHUrMD09lpr4bqrrurjfYMQw8SdjlYIX+wFSBAtBpOnCsJ4MchX71UUvNMi4DUqGTlQ6oNGwoqCLxAmm8Sdf+xAqq8PLUviwir23l91EX2PdSG0uXCePMCAktHXjcuvDs1/Zd8QfKl/MMjcdrnrQ2KKORy7NYcclDa8b79UCK0ebnCl+xsUdGv9hodux2TAUclVVx9+raf6byBWIH45NClbHrBYEefIxwnpFr7Ib5iZFkLWpvXq0AjhWbHTWnJO1HKz5fMgGft3L2e0xT7qJYFEadqj8enf8KC6OkjJbNdbuiM8grered9FpswbZN/YnAL66WtJllxgpn34Nols0pNQlmnt8YbbzcirItx/h0e92wBlBC858nQc3EvT7UZ0ed04fXCF2KinnwL2ZFitPB/k7GlCZbCJTty29+Pc79ArIJobx7Qc/UOfvtigaib1+LM/2x6gQfU4jN8ibzcQLW78lpgT+U0JePsJ+Kj/kByM6fFWcHYUy0WZquWVIm98zMm+zV1xF5Tl1g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(346002)(136003)(366004)(396003)(8936002)(26005)(38100700002)(54906003)(53546011)(186003)(41300700001)(71200400001)(2616005)(83380400001)(86362001)(6512007)(6916009)(122000001)(316002)(6506007)(66476007)(6486002)(38070700005)(5660300002)(7416002)(4326008)(33656002)(76116006)(91956017)(66946007)(66446008)(478600001)(64756008)(66556008)(8676002)(2906002)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <A1D7CC91F3EB9843885B556ED6B0572A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4488
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3f2bb40a-3954-4488-b389-08da805c2398
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cMlraxuFrC6X16tSZSjCa+UylxvHOGsv41qBSNSYMWn17GWTJz4sxJtTbLdrBP4OsfMZr9wTHvzhY8i67pSrX/wyJND1aPiRsCGGN9GaSv6+bSDXKUsewC9wUcdDYiOvDCUZiDdSKKU9wWCrJo8iFZMiVi3gpzacxnrVSTIRiZmWI9Sz8/HllOnSCQVMnuMzkO53w8JO/6NBwNAKKhWvYGBtwp16/hvLE7Uqlw+TN4DUWlzVBVjM2CTstP3FCxAO6MxXkA0rP2LotJBdi5BK7eYs6mOTmC02QMfbrpuhc4b5XxhpVD9K7NHy2TOc1cII2oG2L1hRyNkKTS7cBdWmPGJUNM86tvkRxC3bDe6ivAvSjzEk8s4eO4oARlF4NIR3KsnkK3Qol5N3+aGkheVtVzRJ5FXXHxjec21E7xnganhsYHVaYGtljS22eRpDlwbiD4o7LhJQChOTxsCaJfdonMFRMFtppiqVqkPdwKVGlhS0VVT35Qe0Ki2xjBGRFvTH1hXjjvRhyj7mdENBPlzxjFhorooSJ0Rkg5AWbxcXwQIPy+XFlzWXwglAxhGfIglbHVLnnqHiwFYg4m+XOVDwXVM36VpS8fr3bevur3PP1Z0Sdw+MMq7ICaZhMOuHV5nVjL0mE5i9Gh23oc3lbXicL1MBdQrISOUiabCEty/a6rtR62crhfQ4iWDvbb1mq67iXRzU4nnJcueuqk3pcTyckzsL5e0zuoeMJeaHp5Ke8BAM5sQOWzVUndWrSnJRw+vmDdFub9CgTwLY+p4ZE/3PaszWESCyRRMNOxuFfIXHblgzJeAevUPDZ/s71EMCkN0t
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(346002)(39860400002)(396003)(40470700004)(46966006)(36840700001)(41300700001)(54906003)(316002)(478600001)(82310400005)(4326008)(70586007)(40460700003)(70206006)(6486002)(40480700001)(8676002)(5660300002)(8936002)(6862004)(26005)(2906002)(36860700001)(107886003)(82740400003)(36756003)(186003)(86362001)(53546011)(6506007)(81166007)(33656002)(356005)(336012)(2616005)(83380400001)(47076005)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 14:24:14.4091
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a74693e-44d2-45cd-ff92-08da805c295c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6770

Hi Anthony,

> On 17 Aug 2022, at 10:15, Anthony PERARD <anthony.perard@citrix.com> wrot=
e:
>=20
> We can't have a source file with the same name that exist in both the
> common code and in the arch specific code for efi/. This can lead to
> comfusion in make and it can pick up the wrong source file. This issue
> lead to a failure to build a pv-shim for x86 out-of-tree, as this is
> one example of an x86 build using the efi/stub.c.
>=20
> The issue is that in out-of-tree, make might find x86/efi/stub.c via
> VPATH, but as the target needs to be rebuilt due to FORCE, make
> actually avoid changing the source tree and rebuilt the target with
> VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
> exist yet so a link is made to "common/stub.c".
>=20
> Rework the new common/stub.c file to have a different name than the
> already existing one, by renaming the existing one. We will take
> example of efi/boot.c and have the common stub.c include a per-arch
> stub.h. This at least avoid the need to expose to Arm both alias
> efi_compat_get_info and efi_compat_runtime_call.
>=20
> Avoid using $(EFIOBJ-y) as an alias for $(clean-files), add
> "stub.c" directly to $(clean-files).
>=20
> Also update .gitignore as this was also missing from the original
> patch.
>=20
> Fixes: 7f96859b0d00 ("xen: reuse x86 EFI stub functions for Arm")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

I do not really like the empty header but I have no better solution so:
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Also I did some compilation runs and it works.

Cheers
Bertrand

> ---
>=20
> Notes:
>    v2:
>    - instead of renaming common/efi/stub.c to common_stub.c; we rename
>      arch/*/efi/stub.c to stub.h and include it from common/stub.c
>    - update .gitignore
>=20
>    CC: Jan Beulich <jbeulich@suse.com>
>    CC: Wei Chen <wei.chen@arm.com>
>=20
> xen/arch/arm/efi/Makefile           | 4 ----
> xen/common/efi/efi-common.mk        | 4 ++--
> xen/arch/arm/efi/stub.h             | 4 ++++
> xen/arch/x86/efi/{stub.c =3D> stub.h} | 5 ++++-
> xen/common/efi/stub.c               | 5 +++++
> .gitignore                          | 1 +
> 6 files changed, 16 insertions(+), 7 deletions(-)
> create mode 100644 xen/arch/arm/efi/stub.h
> rename xen/arch/x86/efi/{stub.c =3D> stub.h} (93%)
>=20
> diff --git a/xen/arch/arm/efi/Makefile b/xen/arch/arm/efi/Makefile
> index bd954a3b2d..ff1bcd6c50 100644
> --- a/xen/arch/arm/efi/Makefile
> +++ b/xen/arch/arm/efi/Makefile
> @@ -4,10 +4,6 @@ ifeq ($(CONFIG_ARM_EFI),y)
> obj-y +=3D $(EFIOBJ-y)
> obj-$(CONFIG_ACPI) +=3D  efi-dom0.init.o
> else
> -# Add stub.o to EFIOBJ-y to re-use the clean-files in
> -# efi-common.mk. Otherwise the link of stub.c in arm/efi
> -# will not be cleaned in "make clean".
> -EFIOBJ-y +=3D stub.o
> obj-y +=3D stub.o
>=20
> $(obj)/stub.o: CFLAGS-y +=3D -fno-short-wchar
> diff --git a/xen/common/efi/efi-common.mk b/xen/common/efi/efi-common.mk
> index ec2c34f198..950f564575 100644
> --- a/xen/common/efi/efi-common.mk
> +++ b/xen/common/efi/efi-common.mk
> @@ -9,9 +9,9 @@ CFLAGS-y +=3D -iquote $(srcdir)
> # e.g.: It transforms "dir/foo/bar" into successively
> #       "dir foo bar", ".. .. ..", "../../.."
> $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
> -	$(Q)test -f $@ || \
> -	    ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/so=
urce/common/efi/$(<F) $@
> +	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/so=
urce/common/efi/$(<F) $@
>=20
> clean-files +=3D $(patsubst %.o, %.c, $(EFIOBJ-y:.init.o=3D.o) $(EFIOBJ-)=
)
> +clean-files +=3D stub.c
>=20
> .PRECIOUS: $(obj)/%.c
> diff --git a/xen/arch/arm/efi/stub.h b/xen/arch/arm/efi/stub.h
> new file mode 100644
> index 0000000000..b0a9b03e59
> --- /dev/null
> +++ b/xen/arch/arm/efi/stub.h
> @@ -0,0 +1,4 @@
> +/*
> + * Architecture specific implementation for EFI stub code.  This file
> + * is intended to be included by common/efi/stub.c _only_.
> + */
> diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.h
> similarity index 93%
> rename from xen/arch/x86/efi/stub.c
> rename to xen/arch/x86/efi/stub.h
> index f2365bc041..9d2845b833 100644
> --- a/xen/arch/x86/efi/stub.c
> +++ b/xen/arch/x86/efi/stub.h
> @@ -1,3 +1,7 @@
> +/*
> + * Architecture specific implementation for EFI stub code.  This file
> + * is intended to be included by common/efi/stub.c _only_.
> + */
> #include <xen/efi.h>
> #include <xen/init.h>
> #include <asm/asm_defns.h>
> @@ -8,7 +12,6 @@
> #include <efi/eficon.h>
> #include <efi/efidevp.h>
> #include <efi/efiapi.h>
> -#include "../../../common/efi/stub.c"
>=20
> /*
>  * Here we are in EFI stub. EFI calls are not supported due to lack
> diff --git a/xen/common/efi/stub.c b/xen/common/efi/stub.c
> index 15694632c2..854efd9c99 100644
> --- a/xen/common/efi/stub.c
> +++ b/xen/common/efi/stub.c
> @@ -30,3 +30,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
> {
>     return -ENOSYS;
> }
> +
> +/*
> + * Include architecture specific implementation here.
> + */
> +#include "stub.h"
> diff --git a/.gitignore b/.gitignore
> index ed7bd8bdc7..3a91e79672 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -311,6 +311,7 @@ xen/arch/*/efi/ebmalloc.c
> xen/arch/*/efi/efi.h
> xen/arch/*/efi/pe.c
> xen/arch/*/efi/runtime.c
> +xen/arch/*/efi/stub.c
> xen/arch/*/include/asm/asm-offsets.h
> xen/common/config_data.S
> xen/common/config.gz
> --=20
> Anthony PERARD
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:29:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:29:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388984.625772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOK3M-0006hc-Oi; Wed, 17 Aug 2022 14:29:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388984.625772; Wed, 17 Aug 2022 14:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOK3M-0006hV-Lu; Wed, 17 Aug 2022 14:29:52 +0000
Received: by outflank-mailman (input) for mailman id 388984;
 Wed, 17 Aug 2022 14:29:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOK3L-0006hP-CM
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:29:51 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d0bb75e-1e39-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 16:29:50 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9427.eurprd04.prod.outlook.com (2603:10a6:10:369::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Wed, 17 Aug
 2022 14:29:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 14:29:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d0bb75e-1e39-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k6plZabQs8vGsIxp1Y/9RMaxia+LbleTd+MXt9ihkD3xNl8BknBDfttx4l4UtpJZJIiZflAIAmx1FJatFpw9ndaBnh+ggp16on7u/nd0RbTD1o7WmfXonEE3EVaJKns6GWmAmmgb7ZyKQi7dD1EhyFB6OYtzdk0xHR+BedEnqe1r4VtDfUi+HacFK9/150k46ZvEbm2Bl1h4hMG4hBt7dcWz1CsghjXQs3AN/ZkrgpkyT1Jwg2opJR8eevcU+k0DA0ATq5SGrzJ4DjlV4SS+9DYewLwR+Qdka/1y1GCUdwNLg5KuPM+C/FHWzkk68dIUnt9CvTE6HB1wRfy/ORZOag==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DZJKcAwlEU1qoI2pdE7e9hyJXL3XadLkHJccRGdxfV8=;
 b=S38kdqsLNKD4P6fo4PhH5Z13oUfZWQC65YiIwnhW9oB3RMeJHcJt7BdIKXUAFI/4E4tSRYebLgV5ZlHmoVQ0cAeSP9dxqB+zqRnL5yA/QhEFEpySqpMI5EO1ItEU0wjRBOaaJhVnbnVLQzbVfcacdsUfTV02tyJx5KYvq6YewKoMAcqsWr4x1I83TjEVtDWqH9nVNjr1LKZsGjWZ+H2XDWfTuKnWaZUBIK7CEjP72rTX3E7TL3Dl75NCr9CEaxjN6ePTNCZfQjze7mGLiMF4bTZQnsGFFSRj/uwe/eE7673QZF7IHv+vY3AL74rSc43cONvgigRMN006T5baQMKxlQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DZJKcAwlEU1qoI2pdE7e9hyJXL3XadLkHJccRGdxfV8=;
 b=FSEDlyA05wTbBwrP8RZc3N40pp0CtzRU/wz8jGUTHAG7DPcfOfTpkhnuJASBQEq5CNjcZ1OZbBa62MT9nqMD4mC44fFhbjUZQ4AuKouXsQnNYnrvXgtZQ3LGPs9st50AuUSsnCgbrXPn2fUKXSbFam6af3MFf0hZFPjqeJBDtH2ysuOSmogJIxL5o/SpTF5RdVZtpRd8Jnz8155IV9fqwelZ1i29OyVma9Mrrs4iG9SGq30JSE6Er9a60DL9CoOJWlL1UBY0wmElikilrnd4Cbr9E0cdepH7FOQTYqqg3I6AFk2hMT8r8nVgB4h0+kM3htYx6l4bunlvNqK2snuXTA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a2a517e7-dd38-e0cd-dd23-7071bbf237ab@suse.com>
Date: Wed, 17 Aug 2022 16:29:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH v2] build: Fix x86 out-of-tree build without EFI
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <20220817091540.18949-1-anthony.perard@citrix.com>
 <e2d3cc4d-4b5e-560a-53f1-380d260a66b6@suse.com>
 <Yvz3Yuc+gqcKQ59R@perard.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yvz3Yuc+gqcKQ59R@perard.uk.xensource.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5440c310-8539-465b-c3ee-08da805cefd7
X-MS-TrafficTypeDiagnostic: DB9PR04MB9427:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h77vigwv0xVX7lu7zasNfGYdhcXSeB3z7l8KCLhSVfk2w+vIZfrVcrKG+c7LRr7Arw3ymQ7iZ7wbOLUW8luG54bgjDAmZhJqTIYdxvK2BusRgMIukf1PGkdJEJX76AqEV1ll+qM3BOToQ4cStcmzLjzrKzv/qaN/4PR87AWqq+A5tQQgHnNIHEE6NeAto4ZbyGb3wWnLYTOn8B6+XR4r24nC/Ym1nB1/btqQo3KBY/j8suY2FogY1QiYSQnHBNNJqvuCysLbKyZtUnhuN96ZX9QmX08mLiB83xxmbTTCquN7hw46cI6KkRBFRLppZzM7pXyzBA5WYZmLNUDKG4JH3vmxAlCLWnYIok8YNH+IFZBI8XwTTwX3xlOmBkXO/7zZCidc6RDKHkEo4Fz8hTfZY22+HgYSa1TUdOmxVaHS+WLQIqiwOxvGgXiYGKpz28W0CGGLvX8UV9P+Jkv7aDAopzSB9LKTQxPxUEbih6/ghSuke5Tg6NUDEmyWsF+WskdZDbqjjeojwQoUi+LA0WirGKiwVybMRLFGqejB5MQUObxbh5qUusuVtZWF47Rz9udMHuiKF2oaNMJYotrPrXcFf2S6IQAwkwI2+xoS11B4BDz5Xql9VaVS9yDasNVGt6rojCQpNOM5Nv6BbzM5rIY1B5vOwUttJ8F2dGewU8MKyywgH1rvj1Eo72zOQKEt3H0yxOa8ZzenKTUI4wPcXg7bOS9oG5SNbty7yCHznfw/PHxkToUG6qONDsbG8YGLncyP8/7+jTgOp8whsd6D+Rfl1hczP8SpLdD6UWRk9hbtw8LERxUXF1P0QgudplDl7KB1Qrp4J91EwJxILxoRimKd2g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(376002)(366004)(346002)(39860400002)(396003)(6512007)(31696002)(478600001)(5660300002)(6486002)(8936002)(31686004)(2906002)(7416002)(6666004)(6506007)(66946007)(86362001)(8676002)(54906003)(6916009)(316002)(38100700002)(2616005)(41300700001)(4326008)(66556008)(53546011)(26005)(186003)(36756003)(83380400001)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V2E2U1lhWVF3dGhmcExBTkhhblhJV0JXMks4dTNuV0k0VlJ6VzZWR2h1dlhl?=
 =?utf-8?B?ZlpEWkRLeEZTMWVZR3l1bnBPMFJRb2hXQ21zQlVmeGFvejljVTVvRGVJNUJE?=
 =?utf-8?B?Wnc0NWxiN0VTc0JhMEwyaXAraFhoWExXcUtKRzhZTWFpRndSRVhCcHdQMlJw?=
 =?utf-8?B?TDVCdHBHVW5kTUpZSVVpSHF2VzZoRlpCUTlLR0laTWw0cWUyL1pjS3duNUQz?=
 =?utf-8?B?ZGxMMGV2QW5LWm1jK3N0d1l1RnZxR1Z0SkdZKzZjQml5UUc5THdXVVNpa0RC?=
 =?utf-8?B?bGYvS216K3RENCtYYnhBaWN1SGNtbStKWW52cFQramZIK2txNXpKUGI3dVU5?=
 =?utf-8?B?SXBwL1lsZFNpZVNEaHlrQUxPMjdKR09XVkl4T2p1cDZxQlIweThBS0ZWTEp2?=
 =?utf-8?B?TXJlWmtnSFFXVllHSUNkLzZnNkpwV05pdlNjOVE2R29VR0xTb1c5MkhJVGRY?=
 =?utf-8?B?SS9KVkw3YVRFb1JLSTV0Ylo1dHVLVTE1ZjV3bXZPdytuSHRwclFFeTlpTHVX?=
 =?utf-8?B?YVRWMC84dEEyancwdXZNQ3lZaUFQWTB2TkF1WXpoUUxKd0hKY0N3enlCcG1j?=
 =?utf-8?B?QUJrK1pSRzQ3VXUzbC9zWFh6TFRVenlBcysvSkNIKzlmeUVUMDFVVXVBbWRh?=
 =?utf-8?B?U05YVWdGTmhEWXVLeFVsL00rQ00xcDBUOVdwbkNObE9kU1NWb2tKZVRuMm45?=
 =?utf-8?B?QmZjVXZCT3k5WStQbkQvaFlIbDV4ZUtiRHh4MDRaVEZtdm1ra213dkxydFk2?=
 =?utf-8?B?ZklOOThXVTAvRGIvTXpHWFlOTnNoMmFKNjdJQ1pqank3V3E0YWw4SWd2dHNN?=
 =?utf-8?B?anFxT0JlWGFGMlpETytRVUtWVmIwQ0FpT3pyMTFwZi8vSDJFVm5pQ1lyTjFm?=
 =?utf-8?B?QlFqQVl2V3oxS3U3VmVnb0NsSm8vSUc0YVpicExiRFJDNzVVNUErQ2NjbXdU?=
 =?utf-8?B?ZGRqV3VCZFpqNXg4aWhVc1AzRTB3aVJOd0JWbWN3bms2Q29LcEhsWS8vMUtQ?=
 =?utf-8?B?cDNhbVl2c0ZmQVBRNmthV0lsQXd3RE5DS0dmTTRlQU9FV3JOcDhKUndxY0Jy?=
 =?utf-8?B?S0ZRbzYrK1FMVDRpdWRHdmZjVmluZXM1MTBtR1dheEtlVXRGZlZXY2hYcXJ0?=
 =?utf-8?B?U1VqcThsN1RTandpYWFiYTV4OFBtUTNjZ0h2a05tTXRBTG4wakErV25jcXdY?=
 =?utf-8?B?QUljV09TeDRqV2NYbmovR1VhS3k3cFAwcW9xQU95YkZLekpVcVZkZjFTVzh5?=
 =?utf-8?B?SENIVnJaREF5SGdrV1JUZ0x1QnlZRXVOUUs2WmFyVFV2Z2M1VlExdWZYNlBG?=
 =?utf-8?B?bTgzNndoT0JOcDVEbW4zN0pSaXErVGtWN3ZFSzF6M0w0UzdGYysyMmZaaUkv?=
 =?utf-8?B?cUw0WnZwNWptaFdSQVd5Wk5OQ0s3SkpIRXE0MDcwWVZ4T3pvYUc5SThjTC82?=
 =?utf-8?B?M1ZKWGhuMU9oTHJPNEY4bG56RXVwNmkySXdYdFFRS1V4ckpLcXFWcHdRczRC?=
 =?utf-8?B?TmZYRGQxUlNQTEpwYXh5ZW96YWc2VEZ0UWhETDkwSXBwMkhIVEt4NHNYTzUz?=
 =?utf-8?B?eTRsSzdzT3RodTVXNUV2QkRya1RFSEJ5UTJLbzRXSWQ0bVNxaDBTN3lsTlFn?=
 =?utf-8?B?Yk1aWTczRlo1ZzVFZUdHT3o4WnRrZmx4bXVvaEYzZjh2SDdzdlE0cnBpWFEr?=
 =?utf-8?B?bDlxRTFON1dSSnFyU253bzErb1c0b1NoNElHR3lRa0psSzVxVTBKNFpFRENG?=
 =?utf-8?B?U2NxVnlqams0NDI1dTRqZGhHaGxkNUhlMUttd2RuOTQwUUhIQ3RCNHBSOGt6?=
 =?utf-8?B?dlU0SEpSTzJ5RDZjY2hPZjNYOEdsQzU1K3MvT1JQZENITFRURE91YUZDYWhG?=
 =?utf-8?B?bTkyV21EVENDZ1BqdThPWnNhY0pUQURrLzBpRTBpRHNDSVczaFE5bWdmS0p5?=
 =?utf-8?B?YmV4bHRiQzVtLzFVMGVRQnVOL3dnaytQajVUczRNUkJYeDZXZnV6TEsvMFBM?=
 =?utf-8?B?czdZZnhnR2J6a0tCN25Ydm1XS3hYY1hMajJWQmNkWUhSazBxb2Fyb0E1d082?=
 =?utf-8?B?ejQ5akdZN1Y4ZHZKa05SMVRLMi9EQ1Rod2R5bVZqekhPeHBaanBlK0F0YmRR?=
 =?utf-8?Q?xBRhZB7nsTYtrztGEWKFS+fPG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5440c310-8539-465b-c3ee-08da805cefd7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 14:29:47.6681
 (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: uix5rurrdU4wNobLUqjb5er/WRwj8hhIibUtHYd9jjU8lX8U0fBt5H1i43PB8fZVL5QMERt7k4KXAOzDVHEhVA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9427

On 17.08.2022 16:12, Anthony PERARD wrote:
> On Wed, Aug 17, 2022 at 12:38:36PM +0200, Jan Beulich wrote:
>> On 17.08.2022 11:15, Anthony PERARD wrote:
>>> --- a/xen/common/efi/efi-common.mk
>>> +++ b/xen/common/efi/efi-common.mk
>>> @@ -9,9 +9,9 @@ CFLAGS-y += -iquote $(srcdir)
>>>  # e.g.: It transforms "dir/foo/bar" into successively
>>>  #       "dir foo bar", ".. .. ..", "../../.."
>>>  $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
>>> -	$(Q)test -f $@ || \
>>> -	    ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
>>> +	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
>>
>> I'm afraid the commit message hasn't made clear to me why this part of
>> the change is (still) needed (or perhaps just wanted). The rest of this
>> lgtm now, thanks.
> 
> There's an explanation in the commit message, quoted here:
>>>  The issue is that in out-of-tree, make might find x86/efi/stub.c via
>>>  VPATH, but as the target needs to be rebuilt due to FORCE, make
>>>  actually avoid changing the source tree and rebuilt the target with
>>>  VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
>>>  exist yet so a link is made to "common/stub.c".

Hmm, yes, I had guessed that this might be it, but I wasn't able to make
the connection, sorry.

> The problem with `test -f $@` it doesn't test what we think it does. It
> doesn't test for the presence of a regular file in the source tree as
> stated in the original tree.

I didn't think it would to that. $@ is the target of the rule, and the
(pattern) target explicitly points into the build tree, by way of using
$(obj).

> First, `test -f` happily follow symlinks.

Which is of no relevance here, afaict.

> Second, $@ is always going to point to the build dir, as GNU Make will
> try to not make changes to the source tree, if I understand the logic
> correctly.
> 
> Instead of `test -f`, we could probably remove the "FORCE" from the
> prerequisite, but there's still going to be an issue if there's a file
> with the same name in both common and per-arch directory, when the common
> file is newer.

This would be a mistake now, wouldn't it? I did add "(still)" in my earlier
reply for the very reason that it looks to me as if this change might have
been an attempt to address the issue without any renaming.

> So `test -f` needs to go.

I'm sorry to conclude that for now I continue to only see that its removal
does no harm (hence the "(or perhaps just wanted)" in my original reply),
but I still don't see that it's strictly needed. Therefore I'm okay with
the change as is, but I don't view the description as quite clear enough
in this one regard.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:41:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:41:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.388993.625783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKEV-0000aM-U1; Wed, 17 Aug 2022 14:41:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 388993.625783; Wed, 17 Aug 2022 14:41:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKEV-0000aF-R4; Wed, 17 Aug 2022 14:41:23 +0000
Received: by outflank-mailman (input) for mailman id 388993;
 Wed, 17 Aug 2022 14:41:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOKET-0000a6-S8
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:41:22 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70040.outbound.protection.outlook.com [40.107.7.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a80254b1-1e3a-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 16:41:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5313.eurprd04.prod.outlook.com (2603:10a6:208:c7::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 17 Aug
 2022 14:41:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 14:41:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a80254b1-1e3a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IiB7iVnDnqSKs8BUm1SVtjg6XVreLuNOXvM/iUa/26gbO9RRuKa69Cu9NFHyVXpPD1RGUefRSmzgnfMGTEfmvkcvDAaWNF84vZ4Kuw/lcrs0ZhXU/zmIKXfunSFA5pjiWK+R74Ftj0yzN2YkitBUQfcByIYB+QcNPbmtMR3Zo4Da8Pg1FTzNdXZL8xYYWWfzETbyy8u1A6JnGqYSLcLTILMwtqNMNzHeA7tuec0tlN1FwqO0uXiyjZfm7LGcKTs0wU14DgLcCzeWSP5ClplZpDXFeJytAIn3QEgmGiecUpXs1dIV9xbP++zmp4wQ+eUxRhl3PFuXFh8RJ4BcZXLrVA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b8uwe4jog0+UmSM27cT6RB4SwTz8PGxXA8vTvaE2CtI=;
 b=YURhSH9XKqGPqcFtVpnvqoRw/b4xsLGQPaqaOQGETzEz831og+gtQnimo+wWT5BAmAupCq9YYXyQM5MESHt/6YK+TJlaUu4m9PNcESGTKamDQqMmDwISNmg0SMh59xGwJjhpja+4GNvCVQypjF2A5Sw6OPlcpJlCTA3TpVWdSRjoY3i3vas05O/Szb5H9R1xsCva8qp6ScohT3fbkLCTElrpDRMVft2idk0+JK2UDYOYAyBG1jdY7wTdVu90+ozjZiVvACnLX2pJjJUhY4xEUkfecZB/cZlGVnn3Phb+BKK5iPIHOiltoxGomwziYT/qNGOQlXsaqWXax3iWXj1Dtw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b8uwe4jog0+UmSM27cT6RB4SwTz8PGxXA8vTvaE2CtI=;
 b=oFvRj8915Q2d5ft5CLZfoEgnISmtCFDbhYKrBTo68lkopmGwsxIpO+w5wOj17Q5kz+knXA8mYNt8wjzpxZZ1bHBxl0+ZCwtBETtugndQKhzook4sJsrrkkkMh+KaY+P/KDuxKwm7CORf/LJ9m6HrsroiB9QUCA9BbyNur9qJ0Rk3/Bfig+s/yeireXFN0CmLRaLyXPtPqaz6Q4E65F7KsAf+344Vc0SZXRqiNa3XHG65trfmQjvktcOZhNVR9PYnK+zcIe/sg2qRxRtLl9+yr4Dkod+R5PefuNIbftmUkK1CJLpwuCgG4YJtSXR0f5iDFTzDjlm/v5p5YGIcvMZ8gQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fbd8e717-8edb-eb51-8849-d12519c5529d@suse.com>
Date: Wed, 17 Aug 2022 16:41:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v4 09/11] drivers/char: mark DMA buffers as reserved for
 the XHCI
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
 <b3d917bd1d46393857bd82bcdef9d4486d8f3945.1660354597.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b3d917bd1d46393857bd82bcdef9d4486d8f3945.1660354597.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3844efe1-5834-4058-2503-08da805e88f5
X-MS-TrafficTypeDiagnostic: AM0PR04MB5313:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kO0BUR7j7qPLzRXWa0R8cV16Mui238lfUQhqB1C0foZr3tCcOtbVWIZo+5CFk5P3cQAUXLIPZ//8nFlMxBfo1g1F+jCT4GOrZ4+ALBlKvJ3iLE/qUasSuXWtcfBOTHv3WlGZSLA3Xkdl45g0rluDAL1tNUR3S5YUccwzls4g9QL3PtSGULvXs4Ah0X/MQLAKw+cNQN8S3A8FrW3lEdZFerwyhuP4sONbccWf+ZdEzmCZ/b9mVV1usMjNiF5rFZT+yKeECn33/NsELyfEVQzy/ek6DvdUVQpySZwe/FRUP4bLcqrFw6KKVX8vX+PUyV+Gchxm8ZX8yQn7jdlLY+2be5EE3BE0zOZ27wx/kekajgjtTLVw0ugtdaz4aOlEW/onSuY9cdXfgvchr/i/ig6T+v0tj4LIDulXX+iLli0UB8asPXI2Fe8fJmP0XslojzzQZNxe/9HnPqiTl0r4GHeo/EEu1ontumKYpi7DP+h8f5tdG3fgPhiY3DjAmOCXoF2GzE7XG1CZOAYrZxUkzjdAaWX6EU//9TffIQJY/dkcYQNRbDLbvTIzubZhjUX5wsl5j+n7+otpE3Fr6IGdxITAVg/qxSkaNdKQKj0bnJlKN1CTIfTvk0ZEeIAzr+5fb7e4qHyddk0/AMEE33JVBecPQ/P/wTIu4jNza/aKS1ArpnDDQw01gTsvKNSWQeG+cMQhIDc7uOJG/mEDEDTbbYGC9QavzkGI/jOJGDTP/YREpw6BH3xKmaZRqdiPrrE1mTZj8hII/T7kLzJo1IuKfVjEql9XKlHmOQtw1YTVw1zm9v3XjiCeMv7v+MMjgL5Dq1wd/3T2fwK+Se+7cxucaXPaGA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(346002)(366004)(39860400002)(396003)(41300700001)(54906003)(316002)(478600001)(38100700002)(4326008)(6486002)(66946007)(8676002)(5660300002)(66476007)(8936002)(66556008)(6916009)(26005)(2906002)(31696002)(31686004)(36756003)(186003)(86362001)(53546011)(6506007)(66574015)(6666004)(2616005)(83380400001)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SDFFVDlKTFlsWk5TRkZJVHRCYytnY3pNNlBKV1pnNktDMDNaRmtnNDgwbFRE?=
 =?utf-8?B?MTJBbGtWR1VkRE1qR2VndEJLOElCRDYwc29Jc2Q2eFVXY3lhL0dCK2MrZnRa?=
 =?utf-8?B?ajNOK3cvSGtqSjZ6Z1VEWHVibkxDdUJEeWRxcUhlOGFwY3hHdVFTOGlRcnFJ?=
 =?utf-8?B?emdYdmdrRm0zN0t4RFU2c0J0UlozN3pKcDEyMnQxSUhJcHp1V0p6dmhZNkwx?=
 =?utf-8?B?Q1BGTXRXWWU2SzNLelJYcURKd1RGWEtmRlpWQkFZK0c3R0dMeGU0TWlHL3Iw?=
 =?utf-8?B?dW50NXBmcEhIQ1o4WHhTWW1YNkRmNW9RZGE5bHlLNFF5a3JGSzBUL2hyL2xU?=
 =?utf-8?B?OUM5M1gvWlh3MExaaWdoZ2V2VGJxcWVyVm5EMUNMWFhoTk1vQ201Wk0zRE1h?=
 =?utf-8?B?VElwZ1pRL0ZYKzZ1L3V5ZnlzcDVNNDk1aGxkelpOOWcxallHNTk1dnBwWUo4?=
 =?utf-8?B?UzNFeDlPaFpuWHRRVGtrSDZiSWEreFNkRmpubmFWNktlNnFNSnd4K0ZiWWZB?=
 =?utf-8?B?VndPL2xoZUhZczFKOENhUncrRDJiMkgwWUdNS3RmWno2ZWp6b1J3aVNIL1ha?=
 =?utf-8?B?QWdFVUl3U1J6UFlFTXdxbllxNklBSkFPdVRINStpd3FhNlRVT3MrUlFJY0dZ?=
 =?utf-8?B?SDRJRnluWklxckdZR3NWMUpNd0dua0lEREhYRXZDZXJUQkJXWnd6cytCeHpv?=
 =?utf-8?B?allRRFZ6dWJ5NDlTNng0QlBta2I1SkJNaGV4eVQ1Y3pVYlNBSEQ4SGhPeFRj?=
 =?utf-8?B?REEwaW5INHJZSG1lUDgyQ2E2NGVqZkNwc3VqSU5JemMxaHVwRnlLYUgycmtp?=
 =?utf-8?B?VDhtK29DQ3Y1OFhRYzJkUW81TFVraDByTk5rYkxCcm16VmJMMHlVTUxmdFlI?=
 =?utf-8?B?Mm9wUERaS2l6bXdwdUMzMDliNVpjYlhLSDJHb1VaOHE3UlZMMjIycm1TZkd3?=
 =?utf-8?B?a0g4QWxXc2xxc0Nib1BtUERWdWtjNXplUkJKNmlGMmJObWZGL2hvQTluMFEz?=
 =?utf-8?B?QkFSS0lMYkZrVXh4U2pjVGR3clhWdTJuUnBtd0dSWWhTNmFBQlEwVmh0RzFs?=
 =?utf-8?B?NU83aW5wUlpXTW1RUkYySFpVcG5pUDA4YktudFZPSC9hUUdxbGh5ZmtpaDlq?=
 =?utf-8?B?YVUxeDlVUnI1U3BMWWtOaUtkWUw4cjNjcGkwSHh4UDFmeHdnOEwrV1hTK00y?=
 =?utf-8?B?V2hHVDN0SjFId0Vod2ZNbVZtL1lJQXBKaC9FbjhaVFhORklESklvUVpWdlJZ?=
 =?utf-8?B?RFEvNlNTODUzUWt2Q2VGM2E3NTdsRGV5MHBMcUZZdUY0d200UWlTeXZ2bmtx?=
 =?utf-8?B?OHBFODBPcHdvVi9mNDRNamM4d0QwRmJhaHlrUzI3QWZMeEpWUHFjVnRSbjMz?=
 =?utf-8?B?UHZ0MGU1N0pmdzExVGZHLzRTMThoVjFrUXRRc3lUWmpNUlgzd3ArS3NEeVpX?=
 =?utf-8?B?a0d3Nk5EWVdmd0s3OEI4S0piRnZvaFFVV0h5WDlmeHZvNkx5SkpXT25lMUd1?=
 =?utf-8?B?M1lsY1FkYXFhM1NuejAvRGNTUEJDSjc0eFU3bFgxcXZUQWRxK3JDSlJHSkk4?=
 =?utf-8?B?OFFyZ1E1TEZNYVFUOHVlLzlHenB2M1RiSW1wQTJudXQ3UWkrdHNXMnBhMVpt?=
 =?utf-8?B?U3dFL0wxc0dydURYWTA1clRQY1FvQ0JMckdFRE9abFZxU3Avd2paSkNmeWhS?=
 =?utf-8?B?anQ1emZ0Y21JenZJd1NWNlZUdkRBSTl5eVJhL2JkbFVLaDdWemNlcWlLeW41?=
 =?utf-8?B?U2dRRVdVZG9YdlNzUVFLQXJCNkpGNGNybnRNMk5oUlhEeVFGU0gyRE1ZSjY5?=
 =?utf-8?B?MW84eGdhV29jZ0Z4NW5MN3JUUGc4T0M3b3pHMUVOb24xZ3B1UGRmY2JsZEtn?=
 =?utf-8?B?RDUwaVJLU0V2MFpmenJURFhjUWpXZjNEV3laRCs4YjE0OTJIeFZ6RVk5ZHFY?=
 =?utf-8?B?bTJ1Ry81aC9WSU5xbFpZU0hRQXNMY0pDL0xwZWMyQUNGNnlJL05rMmhOSHVI?=
 =?utf-8?B?aEhJNlBqd1pPTWNkV3lHVjhldlJEeGU2NEtxUzMyRDMwV3lmaHFsNktQQVdY?=
 =?utf-8?B?Q2dpODFZZlBySmwwejluSUp2N1BPejlBOFQvY0tzYThrV0xwNkw2QUNNenpM?=
 =?utf-8?Q?/UsAegd/+jqkWVpBml5nmWvGv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3844efe1-5834-4058-2503-08da805e88f5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 14:41:14.0800
 (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: 4JcYy5AjfFio4xm26xTg02t7E/75ER7pn5NLx4rktwTwrzff9RIlARn6JMwTRhBYJ5KlTXG4xTbc+MeHI4QBOQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5313

On 13.08.2022 03:38, Marek Marczykowski-GÃ³recki wrote:
> @@ -1050,13 +1051,20 @@ static struct uart_driver dbc_uart_driver = {
>  };
>  
>  /* Those are accessed via DMA. */
> -static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> -static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> -static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> -static struct xhci_erst_segment erst __aligned(16);
> -static struct xhci_dbc_ctx ctx __aligned(16);
> -static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
> -static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> +struct dbc_dma_bufs {
> +    struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
> +    struct xhci_trb out_trb[DBC_TRB_RING_CAP];
> +    struct xhci_trb in_trb[DBC_TRB_RING_CAP];
> +    uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
> +    struct xhci_erst_segment erst __aligned(16);
> +    struct xhci_dbc_ctx ctx __aligned(16);
> +    struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> +    /*
> +     * Don't place anything else on this page - it will be
> +     * DMA-reachable by the USB controller.
> +     */
> +};
> +static struct dbc_dma_bufs dbc_dma_bufs __section(".bss.page_aligned");

Don't you also need __aligned(PAGE_SIZE) here? (Strictly speaking
the type itself would need page alignment, but enforcing it just
for the variable is enough since we force suitable "post"-alignment
in the linker script. Provided, of course, that all other
contributions to the section also force the necessary alignment,
but I think we can take this for given - I do recall changing some
items several years ago, and a quick grep looks to confirm it.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:43:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:43:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389001.625794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKG8-0001AY-Ae; Wed, 17 Aug 2022 14:43:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389001.625794; Wed, 17 Aug 2022 14:43:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKG8-0001AR-6B; Wed, 17 Aug 2022 14:43:04 +0000
Received: by outflank-mailman (input) for mailman id 389001;
 Wed, 17 Aug 2022 14:43:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOKG6-00019Y-Rx
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:43:02 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20070.outbound.protection.outlook.com [40.107.2.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4ead1f6-1e3a-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 16:43:02 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5313.eurprd04.prod.outlook.com (2603:10a6:208:c7::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 17 Aug
 2022 14:43:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 14:43:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4ead1f6-1e3a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kjkYnxQzU/ZzG7VsHlEEy5H2kpI4dY3InsksK8cnhK6ki4XrpKFgy4uSDpB2595GxU5by96lu9jTIOhz+MdkBKRuKD1zYBPiSWEtW07m6Vd4JRRs/h5Zk8eRNOK3nL2g259NyeuzXeKTASS1ds5zL8MrayMqY9lCJ3NAmFVBLQvQIwqpOIoQRCx/V+fS5697pwPAmExf2ZZ8bHLIETzaYlPun6wAFt3QFDxmzH02rWOaInjRWRTnTA5DQTq0MQETeJ7hj6mgju2QdURVDHQdeW2ulaTdO1/vwIm6Vw1AU+SQesVKgfrLZHMTE6WwPSsItSqfKt9bYMJbFPiajq19Ow==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P6conJ0jUgrUyoHKEl8/wKGYfP+skB3i8qnunWGJ9EA=;
 b=c7J2A+lNQz1Qu6NkK5qfOWIDmd+tu9VQomN8CahdLpbRHy+25eUrpQK6cg89Je3b6NkusdixRnVLOIu4mP8ldpghpfDOlWgs4aeE5hvYXIMpEnJJj6G1+3Srw0CQzrSm+eySYUjLYJjuTUbL569vawSaMZLEx0bK3u7lKERenL00+cKri7i1P4/ErlsrbtUkFsv0xlzU+NPt4FDHYTqi007KHpct/Gqc/9ZgkTj26nFlUl7/zxTqO5fptsts4RWaRzdhUGQ7ILCGt4D9LsdeDEwtV6cebQlu29JWBVBvJlSB+UembO1fkGapwQmyWThoAxNdCNQ1Dn6jVfGc59g2vg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P6conJ0jUgrUyoHKEl8/wKGYfP+skB3i8qnunWGJ9EA=;
 b=001fXCGd/IFlMrRDxcP6gdIk1rTIfSL2HWA6YTfGK4HJf/r88RVtFDAfJmC34fBpFA8sr0Y0tEg+GNrjBG0tixn5QPgWObdOrXs4NMxL3KmLFsK6pYFxY6Dc5V5BtHgqvB+KJTVWNDPzGdnbNNGEXJK8ajZcWoKG5pfn2m/azTYWKUX/N5aiMpeQUqHyyIKuBmc4W+33coCP7GHgAN48WFtHSkBA5E+Dqgam3+vHgS1ZsBkR4I6gf8RDmS5RsBYf7p4KTkmkiAWTXnVxtJ5XwJ+9kZuyjMInmUVAVcD8vDPRW+wAypFDSkN2+h1ZIV6N9Qu6D47rgBGlHa6DZ1L0Ug==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3198e5e5-c73a-133f-5651-2dd7f57e9e70@suse.com>
Date: Wed, 17 Aug 2022 16:42:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v4 10/11] drivers/char: add RX support to the XHCI driver
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
 <0ba9941595e5237a3eeb260e7aaf75269e094786.1660354597.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0ba9941595e5237a3eeb260e7aaf75269e094786.1660354597.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0009.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 373abec8-68cd-48ec-8bfe-08da805ec835
X-MS-TrafficTypeDiagnostic: AM0PR04MB5313:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M7TdlnnVlkRbGQojJ2epgwALiy7GxG8SBz3WshFT1EjNgHG03O4/XNmrFCXlH3YPG65In+wTmvL2suYEH3DSqJgae5zNdS2Gr9brddh0jVnZhHSK97GaADIU0Fd3d1IjFnl+SE2qtQZ5WjVdGfFakCUU054qoTN6sZVo3SJDDzCyPSnGz45mdVEUyyrqRlCAE7ppm2E5AfwKJP9vg9HfgdGk8Siv3pb/1w2OqafjgGHmsMPx1Ls7QPU2EhOF85V5pFuPw9LaQHTZeOqLHg+A+MXNnzygiardj0g4CSxC2Ot/Y7uPWmk79IT/SI9vRrebO4d3hKAbQBP/mtLJxpiQtLuVr/VWsN5V//vrx0w6M3+LhkHRkFavdB8bzrG1MTM6ldUctoS8lFyxQYUHOWoUzd39YjvjVvqOm3uRQTzBA/qzV49Qk7UQqimXlVNj34d0RJirLMFwKWNArNkAJOurZsogzt2WauEZ4kPGt3i0Xo0W3ShxExthNnlVPI+YO7UbRrUee/fKoPHu2w9/Q8Pzzp/dY2LZL57+zCeHkmJH6MO5+0QxiSTHUKIuPK4yMBc0BH4fwlsK/PKuhmRwx80R243oQ/RGy2ECne3o4v8S9W7uK4Ex0IB2RShy83/M6BMclFuJ+sEKWJBpymv4l2YXv08cj6svXB1zO4nFAkVJbTuc6hvOdJOzVV+F97iZ5xalc//61x5esSR3kTQQnWsIKunYbDIMDAgxS/TdodKt7M0Jma9bfRUwT4QBgOJl43dpASUzdF0VqR/VMyB2cK4TxiOxxflrPxaIcjArn/h+7AUte5LL69+fgTd0M7E4lOvOGrc5TkAyoGyPsyhK9xUbWQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(346002)(366004)(39860400002)(396003)(41300700001)(54906003)(4744005)(316002)(478600001)(38100700002)(4326008)(6486002)(66946007)(8676002)(5660300002)(66476007)(8936002)(66556008)(6916009)(26005)(2906002)(31696002)(31686004)(36756003)(186003)(86362001)(53546011)(6506007)(66574015)(6666004)(2616005)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHFFWmp2YXNlYlVaYVl1N0c2UENEVmdKN2RWNjg3d3VWRlBsREJDKzgva01Z?=
 =?utf-8?B?THRCMG9MZDdyNStYVlJkSFp4Um1UNFBJODIrUnhEZ1plUXplVUR1WmFROEh4?=
 =?utf-8?B?RGVlY0Jjdkswc2FyQ2I2VWxqbVVrajJ4ZHFsU0l0bEtYazJOcVZkTzl3RmJW?=
 =?utf-8?B?b25aMVNnTFBNOTJXbVhPcFp6bDFQeFFyZTRLUFdkZmI1Z3pFV0t6MGxuYlFn?=
 =?utf-8?B?eVd1UHlYdHA4K2RiOUNEUjB4NDFGWVl1QmE3NDNJYWlwQWgxUkYveXY5WGRJ?=
 =?utf-8?B?dXNwV09XejdGOGVUMStzKzNxLzdXcU04Q0lLV1paODFOL0xPYVFQTW1WN1ZD?=
 =?utf-8?B?RkpEcU9pYXZFNUUwT2hQVkVxSkp5dkJkbVVZMEtDVWwyNzc3bFpTQkd0dU9i?=
 =?utf-8?B?Z3JJMGJNYis5dkE4ZVZoRklIZzQ4S1FnT1lITXN2SU9VcUhkVXM4Z0EzajBW?=
 =?utf-8?B?RWtOdVZVVG9qYkJYZ2RyZUFGU2FZUHgvVHhXb1dzQS9JWUtHbWRkZG4vNHpy?=
 =?utf-8?B?UXFkZ2FUWXlYWEZRQUQ2Y0RLbGpTZXV2UE1wSm1EcCtZMDFpYVEwSzhGTTg5?=
 =?utf-8?B?K1hzMUZheWxFR1ZIanQvZ0lmODZrSzIzVUNJVXN0d3Q4RjIvbDdzOFRiSlcv?=
 =?utf-8?B?bklpOGpWNTBxcWhHd1dnK0ZtMkVKa2ZCWGZxOGZvQ0g5YzlDaUpyM3V0N204?=
 =?utf-8?B?SHl5UkFnS1MrNDRUSlBRcWcxU3ltOURidGhrLzVwNU84MmJZWDZMYW9aMHk4?=
 =?utf-8?B?STJ4NXRvaENHM1hzRWlLYUo1RGdXLytYLzllc2l4SE9xTDdTTzd1aDdhcUFR?=
 =?utf-8?B?VUlDa2F5MzVad2JxT1BNaU9tU0RqVEc2TXlFWHUwckNIRXQxWWltV3B4MmRI?=
 =?utf-8?B?T1JFTXk1UU1pYTVVQSsvS1Zmd0RTNVZWVFFCUkY3SnBza3lDZm5rcHdXUXlD?=
 =?utf-8?B?QnEydU96YXl0OWJVRVRlQW53T0FnUkFsMFI0UzRHWnZaWnhJdmIrUmpCRmkx?=
 =?utf-8?B?V0xkTjhhKzBaVG5DYUdwVmg0bGx6M3RhZTVXM3gra1pmdEU1cUpWakxJdDY3?=
 =?utf-8?B?YlAyUWhrMHREY3ZtZmRPTmcrUUFrSnJYQ1p0MitGTCtpVWhURzlBRkZ1RmFm?=
 =?utf-8?B?MkpoQW5WQnFZT0t6LytSN2c1WFRVMzRPdXlvZlZDM0thRnVPdmpFS2dodUlu?=
 =?utf-8?B?U0VKcFlIMTRWVUxNZVhDc0g5UG4wL1ZMTDlOQVZsRXh3NTJGRHFSdnA3Qm56?=
 =?utf-8?B?ZkpiWlZ1NzMxZldmc3VXVmxjanpPdmVUZnBteXF0cWg5TGZjSms5RmtIdlY4?=
 =?utf-8?B?d0xqZnFBcHhMRHVxdERMRi9JekRKcmVaL21SOXd6VEgyQ3pYY1doZmtxWGNZ?=
 =?utf-8?B?OWJvREFrZGFKTlUvMFRoQmZTeVZOSzhLbitOZE54dVNBK0NjdThUZ1JtZ1Jy?=
 =?utf-8?B?UnFQclV2eG85Z0xFOG42eDl3ZU82WWljWWJmMDZuTkcwNXQwbkVoNDYrZEI3?=
 =?utf-8?B?ZDFpellrYi82MTZqM29BQkZsSHZPeVNiQUgvbSsyeFl5MXZpQkpYcVJMSUI2?=
 =?utf-8?B?UThWZlZyUTJhcDVFLzJqN09JNU14dnlOcXpNUENJTDdMMkp2TFJTL1UyZ3px?=
 =?utf-8?B?SDYvc0s1NEluNldsT2hhSncvQ1hNak1iZk1zR0pCaDZHMEwraFdDVWEyS1B2?=
 =?utf-8?B?bVNvWmcyaGtnWVVpaGl3TTUxMXZnZE9TNXJHdEJsSEpTTkxJbE4vaVZPbDMv?=
 =?utf-8?B?RTJDMU15OHVqRWJ2cjY5RmY0YzJROVhaNldCRndGZWFPVEI0SUFHZVhueURU?=
 =?utf-8?B?UG8wTi93MzJhaFdWS2ZZa29DVEFWZ0RqQ1FZRkhJZ3AzZTBxQjM2cDdud2RH?=
 =?utf-8?B?REkxSVlWYzA0emh0VDBicFhFSTRyTTc4czF5dE1OZG5hVThKdjNjaHRwSGVZ?=
 =?utf-8?B?WVExYk5KNElKa1JpQUd2NjlSR25iVjF5MnNZTk1hMEhiODgxYnZlRzFhV3BU?=
 =?utf-8?B?dHkwLzNyNnVpbEdXZ0tzcE9oWCsvZDk4ZWFFS3hlL0djTnBVVCtIa2VYUXN5?=
 =?utf-8?B?QUIyQkxHVmROd3NnK0ZSdTRNd1lScC9jTTZ1T09EY25ZVThaK2E0dUF6Sjc0?=
 =?utf-8?Q?xtg25uYOib82D+kBQOrKiV/Oj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 373abec8-68cd-48ec-8bfe-08da805ec835
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 14:43:00.1517
 (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: hYQ+slXGEQIytTdTCVFTqz7jBfT3VcWvHKXp3G+eZQGr1fikDsKtCcAU5OGb4mYSueCLn0aFINJwfUJKQk2Rng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5313

On 13.08.2022 03:39, Marek Marczykowski-GÃ³recki wrote:
> Add another work ring buffer for received data, and point IN TRB at it.
> Ensure there is always at least one pending IN TRB, so the controller
> has a way to send incoming data to the driver.
> Note that both "success" and "short packet" completion codes are okay -
> in fact it will be "short packet" most of the time, as the TRB length is
> about maximum size, not required size.
> 
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:45:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:45:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389009.625804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKIi-0001mu-NA; Wed, 17 Aug 2022 14:45:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389009.625804; Wed, 17 Aug 2022 14:45:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKIi-0001mn-Ka; Wed, 17 Aug 2022 14:45:44 +0000
Received: by outflank-mailman (input) for mailman id 389009;
 Wed, 17 Aug 2022 14:45:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YZ6E=YV=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOKIi-0001mh-7U
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:45:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 4477a5e7-1e3b-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 16:45:42 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4AC76113E;
 Wed, 17 Aug 2022 07:45:42 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EE89D3F70D;
 Wed, 17 Aug 2022 07:45:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4477a5e7-1e3b-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v2 0/2] xen/pci: implement is_memory_hole for ARM
Date: Wed, 17 Aug 2022 15:45:25 +0100
Message-Id: <cover.1660746990.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series is to implement something like is_memory_hole function for
ARM. 

Rahul Singh (2):
  xen/arm: pci: modify pci_find_host_bridge_node argument to const pdev
  xen/pci: replace call to is_memory_hole to pci_check_bar

 xen/arch/arm/include/asm/pci.h     |  5 ++-
 xen/arch/arm/pci/pci-host-common.c | 50 ++++++++++++++++++++++++++++--
 xen/arch/x86/include/asm/pci.h     | 10 ++++++
 xen/drivers/passthrough/pci.c      |  8 ++---
 4 files changed, 66 insertions(+), 7 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:45:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:45:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389010.625816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKIr-000268-UO; Wed, 17 Aug 2022 14:45:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389010.625816; Wed, 17 Aug 2022 14:45:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKIr-000261-RS; Wed, 17 Aug 2022 14:45:53 +0000
Received: by outflank-mailman (input) for mailman id 389010;
 Wed, 17 Aug 2022 14:45:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YZ6E=YV=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOKIr-00025V-AP
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:45:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 4a8ded2a-1e3b-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 16:45:52 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9260E113E;
 Wed, 17 Aug 2022 07:45:52 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D263F3F70D;
 Wed, 17 Aug 2022 07:45:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a8ded2a-1e3b-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 1/2] xen/arm: pci: modify pci_find_host_bridge_node argument to const pdev
Date: Wed, 17 Aug 2022 15:45:26 +0100
Message-Id: <5f0f92fe734d3c8478c98a90b7eb85e032d7b9ce.1660746990.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660746990.git.rahul.singh@arm.com>
References: <cover.1660746990.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Modify pci_find_host_bridge_node argument to const pdev to avoid
converting the dev to pdev in pci_find_host_bridge_node and also
constify the return.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - this patch is introduced in this version
---
 xen/arch/arm/include/asm/pci.h     | 3 ++-
 xen/arch/arm/pci/pci-host-common.c | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
index 7c7449d64f..80a2431804 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -106,7 +106,8 @@ bool pci_ecam_need_p2m_hwdom_mapping(struct domain *d,
                                      struct pci_host_bridge *bridge,
                                      uint64_t addr);
 struct pci_host_bridge *pci_find_host_bridge(uint16_t segment, uint8_t bus);
-struct dt_device_node *pci_find_host_bridge_node(struct device *dev);
+const struct dt_device_node *
+pci_find_host_bridge_node(const struct pci_dev *pdev);
 int pci_get_host_bridge_segment(const struct dt_device_node *node,
                                 uint16_t *segment);
 
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index fd8c0f837a..89ef30028e 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -243,10 +243,10 @@ err_exit:
 /*
  * Get host bridge node given a device attached to it.
  */
-struct dt_device_node *pci_find_host_bridge_node(struct device *dev)
+const struct dt_device_node *
+pci_find_host_bridge_node(const struct pci_dev *pdev)
 {
     struct pci_host_bridge *bridge;
-    struct pci_dev *pdev = dev_to_pci(dev);
 
     bridge = pci_find_host_bridge(pdev->seg, pdev->bus);
     if ( unlikely(!bridge) )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 14:45:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 14:45:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389011.625827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKIv-0002PC-6e; Wed, 17 Aug 2022 14:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389011.625827; Wed, 17 Aug 2022 14:45:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKIv-0002Or-3g; Wed, 17 Aug 2022 14:45:57 +0000
Received: by outflank-mailman (input) for mailman id 389011;
 Wed, 17 Aug 2022 14:45:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YZ6E=YV=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOKIu-0001mh-7G
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 14:45:56 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 4c3be9f7-1e3b-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 16:45:55 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 64AEC113E;
 Wed, 17 Aug 2022 07:45:55 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1EFEB3F70D;
 Wed, 17 Aug 2022 07:45:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c3be9f7-1e3b-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v2 2/2] xen/pci: replace call to is_memory_hole to pci_check_bar
Date: Wed, 17 Aug 2022 15:45:27 +0100
Message-Id: <26fe963007e0a43b8fefd915027e90ddace1be73.1660746990.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660746990.git.rahul.singh@arm.com>
References: <cover.1660746990.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

is_memory_hole was implemented for x86 and not for ARM when introduced.
Replace is_memory_hole call to pci_check_bar as function should check
if device BAR is in defined memory range. Also, add an implementation
for ARM which is required for PCI passthrough.

On x86, pci_check_bar will call is_memory_hole which will check if BAR
is not overlapping with any memory region defined in the memory map.

On ARM, pci_check_bar will go through the host bridge ranges and check
if the BAR is in the range of defined ranges.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
- fixed minor comment
- modify pci_find_host_bridge_node argument to const pdev
---
 xen/arch/arm/include/asm/pci.h     |  2 ++
 xen/arch/arm/pci/pci-host-common.c | 46 ++++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/pci.h     | 10 +++++++
 xen/drivers/passthrough/pci.c      |  8 +++---
 4 files changed, 62 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
index 80a2431804..8cb46f6b71 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -126,6 +126,8 @@ int pci_host_iterate_bridges_and_count(struct domain *d,
 
 int pci_host_bridge_mappings(struct domain *d);
 
+bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end);
+
 #else   /*!CONFIG_HAS_PCI*/
 
 struct arch_pci_dev { };
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index 89ef30028e..04f9d8580b 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -24,6 +24,16 @@
 
 #include <asm/setup.h>
 
+/*
+ * struct to hold pci device bar.
+ */
+struct pdev_bar
+{
+    mfn_t start;
+    mfn_t end;
+    bool is_valid;
+};
+
 /*
  * List for all the pci host bridges.
  */
@@ -363,6 +373,42 @@ int __init pci_host_bridge_mappings(struct domain *d)
     return 0;
 }
 
+static int is_bar_valid(const struct dt_device_node *dev,
+                        u64 addr, u64 len, void *data)
+{
+    struct pdev_bar *bar_data = data;
+    unsigned long s = mfn_x(bar_data->start);
+    unsigned long e = mfn_x(bar_data->end);
+
+    if ( (s < e) && (s >= PFN_UP(addr)) && (e <= PFN_UP(addr + len - 1)) )
+        bar_data->is_valid =  true;
+
+    return 0;
+}
+
+bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end)
+{
+    int ret;
+    const struct dt_device_node *dt_node;
+    struct pdev_bar bar_data =  {
+        .start = start,
+        .end = end,
+        .is_valid = false
+    };
+
+    dt_node = pci_find_host_bridge_node(pdev);
+    if ( !dt_node )
+        return false;
+
+    ret = dt_for_each_range(dt_node, &is_bar_valid, &bar_data);
+    if ( ret < 0 )
+        return false;
+
+    if ( !bar_data.is_valid )
+        return false;
+
+    return true;
+}
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h
index c8e1a9ecdb..f4a58c8acf 100644
--- a/xen/arch/x86/include/asm/pci.h
+++ b/xen/arch/x86/include/asm/pci.h
@@ -57,4 +57,14 @@ static always_inline bool is_pci_passthrough_enabled(void)
 
 void arch_pci_init_pdev(struct pci_dev *pdev);
 
+static inline bool pci_check_bar(const struct pci_dev *pdev,
+                                 mfn_t start, mfn_t end)
+{
+    /*
+     * Check if BAR is not overlapping with any memory region defined
+     * in the memory map.
+     */
+    return is_memory_hole(start, end);
+}
+
 #endif /* __X86_PCI_H__ */
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index cdaf5c247f..149f68bb6e 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -304,8 +304,8 @@ static void check_pdev(const struct pci_dev *pdev)
         if ( rc < 0 )
             /* Unable to size, better leave memory decoding disabled. */
             return;
-        if ( size && !is_memory_hole(maddr_to_mfn(addr),
-                                     maddr_to_mfn(addr + size - 1)) )
+        if ( size && !pci_check_bar(pdev, maddr_to_mfn(addr),
+                                    maddr_to_mfn(addr + size - 1)) )
         {
             /*
              * Return without enabling memory decoding if BAR position is not
@@ -331,8 +331,8 @@ static void check_pdev(const struct pci_dev *pdev)
 
         if ( rc < 0 )
             return;
-        if ( size && !is_memory_hole(maddr_to_mfn(addr),
-                                     maddr_to_mfn(addr + size - 1)) )
+        if ( size && !pci_check_bar(pdev, maddr_to_mfn(addr),
+                                    maddr_to_mfn(addr + size - 1)) )
         {
             printk(warn, &pdev->sbdf, "ROM ", PFN_DOWN(addr),
                    PFN_DOWN(addr + size - 1));
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 15:08:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 15:08:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389037.625837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKex-0005Tm-7E; Wed, 17 Aug 2022 15:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389037.625837; Wed, 17 Aug 2022 15:08:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKex-0005Tf-4a; Wed, 17 Aug 2022 15:08:43 +0000
Received: by outflank-mailman (input) for mailman id 389037;
 Wed, 17 Aug 2022 15:08:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOKev-0005TZ-IF
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 15:08:41 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2083.outbound.protection.outlook.com [40.107.105.83])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79b5023a-1e3e-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 17:08:40 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB6204.eurprd04.prod.outlook.com (2603:10a6:10:cb::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Wed, 17 Aug
 2022 15:08:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 15:08:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79b5023a-1e3e-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J2lqirZCcMMQFnWVliuGzMG4YuRc+fw9X9dAjvf87lFNTjPnvMkuuSv9zBS/qwkgMlMaWcLJydAFKSNA8BMKvLaT84ESDKX84CXu87GO3KFOSGb8jPAUwAG6qZGkFg/fWixm+3gZbII/r1XiNR3/ogDMeky4xecq5H6rYZ8f22PRBzC4ss+RapYpJwluYGoeP9L3QNOrjW/i/qyIU5r3ypbgLNnbaBy10WyG+JezURuthkNb0UbzmyUSf2l1VZLP3DXdV3st4ql6D5unNUD5iYrqMJoJDGGxwDvWERJim3dJIFA61r2+kquoIzttxYSA3upqDbX2ZpnHar8MlZXlvw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7bvxG+tTpNNLqNSdMqwytj+w7iqM4mTj8JFrvjjxSRk=;
 b=UtTfB8ViYhYpDbsDuyYgmtayNY0z2wcJcX22uSDikEoOuPEhewAStwQZyE8WiAj8XHTrpkjyUIqjssN01UmQfb6B1nNB8COipGSY67Tq67bsUlN+J1K17v+gl++YwvVbcnLpj7VpdJP4Hwnb9/Qecl+AjckCd5wNs32vyZbafjr4hilrinqe1PDKvGBMwtlcT/4mCWutPtPaJ9SR93gxSt62566C1Sss01AnQbhEt1TI0jAiGf6bb+LwsIvlKO+s21PqDFiRrPaPQL/+VQYKi730OZPYDxbb98bzeIe6BGHilHH/KRksRgcQ8s7WRV5wA9BvK97NsqULci9Rl18k6A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7bvxG+tTpNNLqNSdMqwytj+w7iqM4mTj8JFrvjjxSRk=;
 b=VXLG+X+LZSALNeiKEEPN0cJanA02xBracRTwH91Yw0y84+2xeIo21OcghJezt2H4Pj6CfcD8/IxzYkyy+2jFIjqMiJi++on7SLaqvGhiZZqBKiMwObJiuf7uuJOOcfuBdf+HlWU0fLb1UfIVK5BHefF2E+n6Pnrc9Gnpjzl3hHPnelJd0VzecTjbQ7OwjuFnzJ9rPWFUluKEUwnkg0mzjcnTPnxjvFtdWqtBy0d8phtWjm98zdPV8jspPD/wR9AuZlR72flNdBjMWHVsbqCOMwo6+9WF5FRMJUiZOsnzJKYaSpbFFmiLS57XR9UIb434Z1uVa1hJDJJw0WFuB5wikw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <141cb0d0-3563-1376-a6b0-a977142c1873@suse.com>
Date: Wed, 17 Aug 2022 17:08:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v4 11/11] drivers/char: allow driving the rest of XHCI by
 a domain while Xen uses DbC
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
 <403daba6911a3d40e4774b46ba555f6d76b3c249.1660354597.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <403daba6911a3d40e4774b46ba555f6d76b3c249.1660354597.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3de431df-0c15-4f95-1cce-08da80625cc0
X-MS-TrafficTypeDiagnostic: DBBPR04MB6204:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ovGfoakysZ92BL9TfK/Nd/Wfb7zYbmiYoj3a9IsUgJjlQtZ2Ixatn/HYgZtVMWoQb050IlvVK72mjqCM05NbCTUo4bkMmgs+ImEr/a/h24IiSxX9ZvOB/YqH/5DCDFjXrzEHfJVTdADsKf6gqhVM/dFNwHzhLR5CwXNzeZanpgLWwrZQxSBGx4crvHDkD7xoHiySspbgGZ+2seSPWt0yfLI/6kN2QfZlUzs0i9+LfbhAWdjPW6e+6UTQPEmu6sqqRpVDIh50rBB3rYL9ncs2805iOoeG49FR/3B8J1dHrJibdJRyr2/QIsmAu993/lGhdJlMjCdl78VtHaWvl8MRXIQPnJMdz/f7uVzlvzmVo6LJvihBqlFd7KlabNuqdCwZ+DowXNKg/Os5btfKQAf03JaTpdOljC56kqy6g9N1paOZrmGIfiLXq0LdYJxcOZ3abgGq8Krmwu+zOSBERU3UQMVGnqnxGhwWsoWvWfotG36oNmURDsf9fDgVx1kRAg6zE+fet3fEFqbhcWp0A/YyWRPim8RAevVQjECHf7tiUiFkSSwTW3JFtIiz0lmp87AAOMwUoZjOfVInGJsfrHyOFY6C9q9M8WA9PVZIWYFU6MA+WOicCbeBbhNXib1+XnzuCFGXw3V8O1udFgJvs2cfFCZiurDs/ozW9LshYDY6nIGubvj7wPL5mLItRmN+kVE/NTAyPEWRJdBD5lP/28wrabGr+vVkpybUKbc93BCsMper7/sqFaMKg8PNR7CLbDtt9yh6e/2xHYYcbwXtieXv5aZ0v/62LpP1U87qho0lcNyvExKyV0Lt/1bpWxSvHA4hN19mjFf52tPsYtAhF/Cbtg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(346002)(39860400002)(376002)(136003)(66476007)(8676002)(54906003)(8936002)(66556008)(4326008)(66946007)(316002)(38100700002)(5660300002)(6916009)(2906002)(66574015)(26005)(31696002)(86362001)(478600001)(2616005)(41300700001)(6506007)(53546011)(36756003)(6512007)(186003)(83380400001)(31686004)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amNXM2E0MHZnWmpjMTJ6RXcwa2dTbHkxL1BPUU8xVmRjUEZnQWlITGRyWDR3?=
 =?utf-8?B?OURoWDNTRndjU0xLNkV3RGFWV1piZXNPL1B4RUJ2SUR4blhsQUxvdG5Mdm5W?=
 =?utf-8?B?VkZqSE5WekJFc1NmeWl6V0dhMThDbXRFK1FwK1RmOTNPdU0zeDBrREQ1TWRa?=
 =?utf-8?B?N2tpN1paS2kyS3JzckhWdHdFUEQveFcvaEIzR20xZDN2SVBRalFvQnpUUXR0?=
 =?utf-8?B?UmxUMjJLODZFWjVseUdDblVPdFNYMzF4NTZRS1gyK2d3YlBsaDZaWkhDb0Jw?=
 =?utf-8?B?MFFPSGd3VG1samhtbzYyVlBUejJWWmcyZnJCWDZzSGZCTk4ya2JoNSt1L3pC?=
 =?utf-8?B?VDlVVVRHYTRBenVlc2Rpdlh4NVRuTUtmQXhkMklodVExdWl2My8yTEN3ZFpO?=
 =?utf-8?B?eUNXaytETmdkR3AydXpEYVBUdnZUWUo4SGZ1OVg0eWw1dGl4azlESTJBWXAx?=
 =?utf-8?B?VDBxWC9KK3lneTg1aEtLNDNEb29NSUJZZ0F1by9FZkI4Y1JSYWtmaFVZNS9K?=
 =?utf-8?B?WjFxWjh1YTRORHIzZzVRUmp3VFBLRVg2YTFSdDhiNXFSdnlUTGg5Z2pQR2Uz?=
 =?utf-8?B?cG9MU0xMLzFPVVpwRVZYVjIwbnBJTEpPaXUxV2RwNERKb3JWWjBDdGNBUTBh?=
 =?utf-8?B?WHpVQjFnZnJiL3ZKMUVaSzd3OGRtUkt4VWZ1ZnlEcytmczZvdUlhdGxLb2tL?=
 =?utf-8?B?N0t4RU9LeEk2alZqOHBOdVJOQ2hReGFXSXhJaHJ1aWQ5dXoxRnJkSzg0ZEFY?=
 =?utf-8?B?b2dSUlQxTnNJOEVKdlQrNnFjM0VhTVJCRDd4OGhqLzVIcXI5UkVwVm9ZTVpU?=
 =?utf-8?B?eVkydlNFaGFxdUxBZVhQa1ljNzA4dm40ODlIdWQ3anpxOXhjd054dmJWcFZh?=
 =?utf-8?B?TUVKdC82WXFnamg5UTVjcWo4d1RCMDhBeHFJZURkK09hRkFVWFlmcTNScTNo?=
 =?utf-8?B?dnVNVmpiUHJ1WmczQkU4ZnZuU3BWcUR3aEpWMkhHUlVGLzBya0hkN2hsNzF4?=
 =?utf-8?B?dmJGOGxiaDZWTzhxaHpvUEltaXB1cEd5RnFscS94R01sQlowY2NWcHBXcWdr?=
 =?utf-8?B?ekc1KzUzM3ZhQUtSUkVDQU5Dc1ZhZUl4Zm52L2Vvc3BGdmZzMlRHcHNQcU5z?=
 =?utf-8?B?V3NxNHZYeWhDTUR3aDdhcHB3bGtMZC8xSTJWK3RqZ0RZNHZDbmJ2MnlWN01k?=
 =?utf-8?B?ajVSSTcxWS84TktvaVpMRzRPcFl2WjQybjg5S3YxdWtjUE1zekp3djY3ZGFu?=
 =?utf-8?B?NVZsc2QvUTQwWkZpMUNCZjJOTzE0WEVpS0g0ZUJoTEdSVEJNNXdoRzJTSzNW?=
 =?utf-8?B?UnBGUndKQTk5RUlLZDVzOUlML3IxblNwTDRiYitsTG9UOG5USVZRL0xQK3A2?=
 =?utf-8?B?TXhCWHNsQk9FOU1FWi81RWd2TSthbm5oYW5zYzdCQ1FFREYwRng2cDBmeVZX?=
 =?utf-8?B?aFRoUnhBYmxHV2xWcFd6cHphQmkxZ1VQSHR3M2phOXZxdmE3YktKRDN5cFJC?=
 =?utf-8?B?bGNDenFqdDVaZFRCQmdsczRpdmRVUmhMNlZHK1hBeHV5OWVmRGo3ZlMzT2o5?=
 =?utf-8?B?RW1CMUJneGEybG9rZ1NGSkd2eGUzeW0vREFQSThBRkZDVHp1WDNrVkdDRmhx?=
 =?utf-8?B?dUxEa2hsbGpqcU1FLzRzRlhlbTI5YU5EWkJvaFJoTWNXNlVNZXJTRnJWUlpE?=
 =?utf-8?B?Q0dNaitzbFNPVVc2T2FrVCsxZHpGRUVOYnR0cXFQejNaODlzWERIek1xY0Fu?=
 =?utf-8?B?SFBsNUh2V1E1S2V3cUQyaGxxRUFsQ0VmMFN5VkliaTVrSTBkaW5xZStDRjln?=
 =?utf-8?B?S1MxR2piNnlHY0lxaC9udHZKUldRb3BKUGdMcVB4NnVaQWV0Um5lVGU4V2dm?=
 =?utf-8?B?S0hSOWVjQmZ1OG15UmtIYkJ4cUdaZFExUlY4cExrU21ab3NtNnNOSFZBQkx0?=
 =?utf-8?B?TVNIWXFEVUZKM2VoU1JhRm1hZlFtdGtZd2l0YzYzRUgyc2VFTnZqL2xhOGdn?=
 =?utf-8?B?T1hFVzhOcEtONzZhSFljUzNFN1l2UnVlR0pOc0JMRngwQ1ZRNFNlUE5namFW?=
 =?utf-8?B?QnkvbGFVY0JLV05xVlp1SUR2V3ZObjF3ZFY0YUtkTytIbkR2cFBZeGhyQ003?=
 =?utf-8?Q?SHCGu8yRvJ0lHbyVpHZO05Xax?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3de431df-0c15-4f95-1cce-08da80625cc0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 15:08:37.8528
 (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: XfYuP9T+33qC95AY8BqlegpKf8uxwzaIyLK8yGEbFT2iFcjjDOfim9QHzAaCCWoU/VY8GIRW2ODdlr1eHdiu1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB6204

On 13.08.2022 03:39, Marek Marczykowski-GÃ³recki wrote:
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -724,7 +724,7 @@ Available alternatives, with their meaning, are:
>  
>  ### dbgp
>  > `= ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
> -> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ]`
> +> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ][,share=<bool>|hwdom]`
>  
>  Specify the USB controller to use, either by instance number (when going
>  over the PCI busses sequentially) or by PCI device (must be on segment 0).
> @@ -732,6 +732,19 @@ over the PCI busses sequentially) or by PCI device (must be on segment 0).
>  Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability.
>  XHCI driver will wait indefinitely for the debug host to connect - make
>  sure the cable is connected.
> +The `share` option for xhci controls who else can use the controller:
> +* `no`: use the controller exclusively for console, even hardware domain
> +  (dom0) cannot use it
> +* `hwdom`: hardware domain may use the controller too, ports not used for debug
> +  console will be available for normal devices; this is the default
> +* `yes`: the controller can be assigned to any domain; it is not safe to assign
> +  the controller to untrusted domain
> +
> +Choosing `share=hwdom` (the default) or `share=no` allows a domain to reset the

DYM "... or `share=yes` ..." here?

> --- a/xen/drivers/char/xhci-dbc.c
> +++ b/xen/drivers/char/xhci-dbc.c
> @@ -23,6 +23,7 @@
>  #include <xen/iommu.h>
>  #include <xen/mm.h>
>  #include <xen/param.h>
> +#include <xen/rangeset.h>
>  #include <xen/serial.h>
>  #include <xen/timer.h>
>  #include <xen/types.h>
> @@ -232,6 +233,14 @@ struct dbc_work_ring {
>      uint64_t dma;
>  };
>  
> +enum xhci_share {
> +    XHCI_SHARE_NONE = 0,
> +#ifdef CONFIG_XHCI_SHARE
> +    XHCI_SHARE_HWDOM,
> +    XHCI_SHARE_ANY
> +#endif
> +};

Hmm, this suggests that Dom0 cannot use the controller without the Kconfig
enabled, which I hope is not the case. But I notice that patch 1, which
was committed already, still uses pci_ro_device() rather than
pci_hide_device() (like ehci-dbgp.c does).

> @@ -1128,10 +1181,34 @@ static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
>      init_timer(&uart->timer, dbc_uart_poll, port, 0);
>      set_timer(&uart->timer, NOW() + MILLISECS(1));
>  
> -    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
> -        printk(XENLOG_WARNING
> -               "Failed to mark read-only %pp used for XHCI console\n",
> -               &uart->dbc.sbdf);
> +    switch ( uart->dbc.share )
> +    {
> +    case XHCI_SHARE_NONE:
> +        if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
> +            printk(XENLOG_WARNING
> +                   "Failed to mark read-only %pp used for XHCI console\n",
> +                   &uart->dbc.sbdf);
> +        break;
> +#ifdef CONFIG_XHCI_SHARE
> +    case XHCI_SHARE_HWDOM:
> +        if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
> +            printk(XENLOG_WARNING
> +                   "Failed to hide %pp used for XHCI console\n",
> +                   &uart->dbc.sbdf);
> +        break;
> +    case XHCI_SHARE_ANY:
> +        /* Do not hide. */
> +        break;
> +#endif
> +    }
> +#ifdef CONFIG_X86
> +    if ( rangeset_add_range(mmio_ro_ranges,
> +                PFN_DOWN(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset),
> +                PFN_UP(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset +
> +                       sizeof(*uart->dbc.dbc_reg)) - 1) )
> +        printk(XENLOG_INFO
> +               "Error while adding MMIO range of device to mmio_ro_ranges\n");
> +#endif

I did comment on this last part before. There very minimum that I'd expect
to appear here is a comment as to the issue with other elements living on
the same page which a domain's driver may actually find a need to write to.
As said before - as soon as such a report would surface, we'd likely need
to add write emulation support for the leading/traling parts of the page(s)
that Xen doesn't use itself.

> @@ -1202,13 +1279,18 @@ void __init xhci_dbc_uart_init(void)
>  {
>      struct dbc_uart *uart = &dbc_uart;
>      struct dbc *dbc = &uart->dbc;
> -    const char *e;
> +    const char *e, *opt;
>  
>      if ( strncmp(opt_dbgp, "xhci", 4) )
>          return;
>  
>      memset(dbc, 0, sizeof(*dbc));
>  
> +#ifdef CONFIG_XHCI_SHARE
> +    dbc->share = XHCI_SHARE_HWDOM;
> +#endif

I think it would be best if the default value was "0"; I can see though
that "NONE" being zero also makse sense, if the enum was to be used in
boolean context (which afaics it currently isn't).

> +    e = &opt_dbgp[4];
>      if ( isdigit(opt_dbgp[4]) )
>      {
>          dbc->xhc_num = simple_strtoul(opt_dbgp + 4, &e, 10);
> @@ -1218,7 +1300,7 @@ void __init xhci_dbc_uart_init(void)
>          unsigned int bus, slot, func;
>  
>          e = parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
> -        if ( !e || *e )
> +        if ( !e || (*e && *e != ',') )
>          {
>              printk(XENLOG_ERR
>                     "Invalid dbgp= PCI device spec: '%s'\n",
> @@ -1228,6 +1310,41 @@ void __init xhci_dbc_uart_init(void)
>  
>          dbc->sbdf = PCI_SBDF(0, bus, slot, func);
>      }
> +    opt = e;
> +
> +#ifdef CONFIG_XHCI_SHARE
> +    /* other options */
> +    while ( *opt == ',' )
> +    {
> +        opt++;
> +        e = strchr(opt, ',');
> +        if ( !e )
> +            e = strchr(opt, '\0');
> +
> +        if ( !strncmp(opt, "share=", 6) )
> +        {
> +            int val = parse_bool(opt + 6, e);
> +            if ( val == -1 && !cmdline_strcmp(opt + 6, "hwdom") )

Nit: Blank line please between declaration(s) and statement(s).

Any reason you're using parse_bool() and not parse_boolean() here?
That would save you the open-coded strncmp() afaict.

Finally a remark seeing the opt_dbgp use here and the identically
named option in ehci-dbgp.c, taken together with your multiple-
serial-consoles patch: Since the two option consumers are now
different, they can't sensibly coexist anymore. There were issues
already before - it doesn't seem to be possible this way to run
EHCI and XHCI based consoles in parallel. (An exceptional case
would be if <integer> for both was intended to be same number.)
IOW I think one of the options needs renaming; it was a mistake of
mine to not have pointed this out before committing patch 1.
Following the name of the source file as well as e.g. the title
here - maybe "dbc="?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 15:18:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 15:18:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389045.625849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKoW-0006wu-5E; Wed, 17 Aug 2022 15:18:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389045.625849; Wed, 17 Aug 2022 15:18:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKoW-0006wn-2W; Wed, 17 Aug 2022 15:18:36 +0000
Received: by outflank-mailman (input) for mailman id 389045;
 Wed, 17 Aug 2022 15:18:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOKoU-0006wh-Mx
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 15:18:34 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2058.outbound.protection.outlook.com [40.107.22.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db1e10b5-1e3f-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 17:18:32 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8530.eurprd04.prod.outlook.com (2603:10a6:20b:421::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.28; Wed, 17 Aug
 2022 15:18:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 15:18:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db1e10b5-1e3f-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ImrocgJUzSIeFd4dlqzR43Hzp6OIbaPrwVDp6dqRJGJOEhSybr1TBiDaD4j4P6e9CRp8PKTUSdxcP8CQCdopSGzE2uE4JkgSonEWubo/5P+d+oE5CdO2rvqWHe9OvFjnqytmHg1919h72mFdAQFRA8JrAIPVBO5jnIxgXrTroAnW2XDNZc9Z5PDAxbeUUBtLbQP7DqH4bwqkljL0SE9s+T1Qq1Y88WitebJZT1gz9It/tdYrLUTpzCwdgCyRZxIje2MLWd2Nb9UYPhfoCS9J18FgUx4omVSr+C5+rnYIh4uFWIEnIGeIF9fGx/of2jWb9QajnbaJkaY2xJJeyH15zw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0H8B85pjagi9TloYkOc0XJgGulASfPaJF0sC9dO9eqc=;
 b=j0PN6/yi+AH48yEoBxHvednPFpc42ofWK27ipaH2sjfQULzsPTAA9EQCA6n7mkboWqrHxODr4UEdSX11pBV1lrlDPNvHSSvjfRq3CU6B6WUHMzNPPHo/ywt76tPb0YyLV5Ddke5u2klSpMrJqPNfAEuPUe6M9UWBHjPZTP4v+KxsrTObxoxt4GZYmf/5NRJC/R0My6Fg3uNbVUFLCpZvQOlCLoAnK01QgLuR3kzJrE/439YfcWChEAohDd0CdME9xc6RxOQ9bJEfipZo4dd5bdNkEwff4R4jHffUQmQwYKsre5UZdT0/0QoHSKISMPWcGAhHpK0AXY7OU7T9EuRVlg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0H8B85pjagi9TloYkOc0XJgGulASfPaJF0sC9dO9eqc=;
 b=qMi+C6n6vbcnnOgtjCAHrb+/wRgk17OH6t2EmcAmjOescW+5pubNN2+ygbRHuvXeSDh3c7MuDcPtHyJemG0d58aSYFrCUO1ecphZbZS91Brhkaou8SphCQ90VDyAmDmnh4Leq+uSK61ayd/MkWqa+PQuPGOeoajVsGzTZxVy3wHXH5LMN6iDY9Yv2Do3FecOGejx3CZX2hLxBWDGvu0kGsff+EigfvgJCdhTADiH1V4c6VU5mtIJ4UgEmzCsI+gS5BPuGgRAgVG2I4JiTpNLL0gu1qQSOooAGdZErT954pAvpDFKrxvjbYoMGG3OYxLT83ch6tbYi2kS8UdL+ho3kA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <114e88d3-0ec6-d51f-af41-555f79403b29@suse.com>
Date: Wed, 17 Aug 2022 17:18:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/2] xen/pci: replace call to is_memory_hole to
 pci_check_bar
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1660746990.git.rahul.singh@arm.com>
 <26fe963007e0a43b8fefd915027e90ddace1be73.1660746990.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <26fe963007e0a43b8fefd915027e90ddace1be73.1660746990.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 49f43c43-ed0e-4d66-6b1d-08da8063be3d
X-MS-TrafficTypeDiagnostic: AS8PR04MB8530:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6XimmC5KqYuBKKqR1YG2fc1TVLzERayn43xQ5YCv+xmgfjpiPl6xF1ZxbdahRYfzpAUkGpnUVdGyBq4J8a1ScsOFyQ9ybVH+wQpiX0yvpdWVGK7sFdj94/9lZ/XugtOr+HwukEILYv+1W9QQ/fz3yPFmMmSPB2ewO8lThZU1dexkQhPxv4Yj64Z4QNqDN5YL/mnlYHImKCLq/f/zob6Sl04XluMi552b3F8WzK1fYocXupliwwCIcs+FagFNsU3fi6CtyDglL+XEBARrotnVIH5zL3XczAjp4U7DBOyFOQg1IplH5eKbfe87f7g2iADL48NMhECYrQwgnqbUqvLSb1N7HlGhb+ASC4yacg87twZkLPfHJlSKspIGX6durV9NSERXozkVSxp9CbcEwxHaJessxsmFN6g+US1a6v2pp5VQaibDCGRJAAvWENxLqWXwJnVMm0YNW7mHbu9qW8VvDGS/RfPoTufIsGuv7QZwYlIFHwuJ6WzzHLGfOMJ+1GW0MkYWPE9RLHH+mePBnHiIODD1BXabMcvzl5HEuRhaf3820V77kSwS700/NeegYHIz28xAOKZ7aXxurhGTLdoZgV8SyM5v/HXcgiGXebo3Ilsy1YhwQdDpOmry/jUcBfv381l7VCggaVZo6peE+A5mqQu3D3V79VdUzAiZR6DOBLpJvj6h2J/o9o1/Qo0sufFjwQa0JNAckBO2xrD/DzQoyNV+GdEO2cVAK67y/Yp7omMp3euCptalfctLj6r9/Lfqik9ZTNMojWshqgDY+51HQV1stFo9Bv5c+eZmBpbO2AMjK61AkAnfiU1dSadi0VLf4k7/ZaV2kzmVd4QZsq5iog==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(346002)(376002)(136003)(39860400002)(31686004)(8936002)(38100700002)(31696002)(54906003)(66476007)(4326008)(66946007)(66556008)(316002)(86362001)(2906002)(6916009)(8676002)(6512007)(186003)(5660300002)(53546011)(41300700001)(6506007)(7416002)(2616005)(478600001)(6486002)(36756003)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODdPYk5mZFJhQVdWRURJKzkxSUdNczc1Zk4rcWpTTFVuNVJXRndGRTk0MHMv?=
 =?utf-8?B?MDJ1UmYrUUYwbThRS3FnZW1JeFhYR1Z4TzNib28xVmUrazJFNEJzZmhUM1Vz?=
 =?utf-8?B?QUR1bHhDQ2NhSFc1QVdTL2dGMVhSTWZFYS95T3V5b1psaTk5UE5xT3NhNkFS?=
 =?utf-8?B?ZVV2TElVSDJ4UmZqZ09WTlFKdTUzV1cybzk3cFdXT3d4alFybm5YWnJrOHkw?=
 =?utf-8?B?U3VIQ3M1L09VaGI0ZHhERTNIRHFtRnordHhkYkhZMlE0cVdvUksybW9LcDZi?=
 =?utf-8?B?di9uTHBMNkVkRTNMdWNqUVpYTVM0TjBVU1V5OFVCWnYxbGdGaWoxeEYxRXZG?=
 =?utf-8?B?Q0wyMzNjSGd3eWpmY082T01mUWhrY2MxTVhqUTBJaU1XYVkxWE9OSzh6Z09x?=
 =?utf-8?B?clg0QlZmbU5qOVArVmFIYWZINDdlVExMa3pUTmxZMVU2L3pEYkE2WFI4Zmd6?=
 =?utf-8?B?STNsNHNpTUtSSENZeU51cmRTUEp1Z1VCajIvWGJkZCsvQm93Uzhodmk1OVhN?=
 =?utf-8?B?NERFd2tadUV0QkhKcmIrL3pQVWdSemNjRjhoV2MyUFBGTTFDN2E2TDB6eDIr?=
 =?utf-8?B?bTNBMDNwcGVqMmU1WnJwbjE1K2pYcThuOTZjd2FCUks5Y2cwZ3lyeEhHWXRi?=
 =?utf-8?B?ckJzNUdvbXZPb1NNVGUzeUJEUEhpeWJEUUpXbktraWh2L1JkbUNYQ2ZmcUs5?=
 =?utf-8?B?eWVWSW5zbUFUY0dvQWMvdVZvWDd1SGZqMVNvOVdUK2VnN3BCbGVMK3hkd3Ba?=
 =?utf-8?B?bVYvQ2l6ZG42T0dBdkdhM3IyR05QYno3S1BDeVk1aVhaang4dE81LzVVUXlx?=
 =?utf-8?B?emxQek9oaGs4LzJYQUk1M2oxalhDY01xUjF3bEczQkh2Umg3Y1FWT3M3b0xN?=
 =?utf-8?B?MlVKZ2JlRzZJakExamhUYzh5cFEvdTVYZnN1SjJjclBXdTBJWm4xUDdUSTRM?=
 =?utf-8?B?cWQ1dEJISlhkMFptZ2psbndMRHNjV2F4NHVEN0trVFJyTEpKTSs3SXFFNXJC?=
 =?utf-8?B?aDlubjhKbi95d2xZTHhQaXQ4Uk16SlZYVjVMRlI4dEdFWTBtaENUcXV4SDN5?=
 =?utf-8?B?QUpnMkN4dE84UldxblkwZXh1QjIyTnVoRGgxUlczdUhjeHZlelVPblJGeVhO?=
 =?utf-8?B?b3hQVUkwd3kraE43S1BPNzM4Z2FRT3h3eGxlNjZHQVJFUkM5Q09ZUW12NjBh?=
 =?utf-8?B?MVRaLzN5TVB1VXV6cGFMZEp3QThhSVlWTldvYXlFaTIrRERDYjNnOHNldmRy?=
 =?utf-8?B?MlQ3Qkl5dUgwTEp0cGtEUGl5NHg4clNMOE83VHBvQy93NzNFWUN0QklzVkVF?=
 =?utf-8?B?V1ZCR1hYYmZvZVRmSG1sYk52SDRsSGJyeWFXMzExUGo1anlncU03SzJ3T082?=
 =?utf-8?B?d0xXazhacFdQZmR3UFVnY3hrYjRRbFdNZCsvZk9DK09KRW1ReWVMcUJsNTZU?=
 =?utf-8?B?VktMVnBWNmRtZ3h3d0kxNXVqMDNiclNBT2M5R2UxcEU1Mm5zWDVMa3oxTURC?=
 =?utf-8?B?bHk5aC9aYnQ1eFZ6aDdrRUhTczhYaEYxdWl1bGdKUGdCcU5RZDd6eitoRXFt?=
 =?utf-8?B?aG5UZXl0M2YyV2x5cDdLZUpFL0pqTjZmZUpjSk9JeDE3ZTRuR2Vub1BEbXh3?=
 =?utf-8?B?UlhxamRmaW5GOEdiSGF4b2ZWUkdFdGNhSnhwUzZlNVRtS1d6REMvcGpzcXd3?=
 =?utf-8?B?ZzhUWXp0QkNlUm80aWt3dmdoMDBsODdNcUdtVjFPd09uaEpYQ2FFdHp3VERR?=
 =?utf-8?B?dXFHM0hlRUZpL285cFQxZkhpbUkrN2x6YlJ0U0JZT3lNY2F6RGk1Ry9zS3hI?=
 =?utf-8?B?Qk10WFpsbUZ5Y2Vzb3hiRU9NSUlFckxvdWFwbS9oOHZneWtZY3FCTG8zRVpk?=
 =?utf-8?B?RnNaRTZ3UExwbHo4TGdoUmFqYThCUnp0RldkUVYwREFzL3c2RTNXSjdXRi9h?=
 =?utf-8?B?ZkVkaTRWajFETW5RbnFZcGxES1puK3hEV3Vuby9sTnpoeHl0aHI2dnNwT3pI?=
 =?utf-8?B?azlvc0w4MExoTVoydXpIN0ZpTWhPZXBVU09XWGdHVTQ1RVBzV0dsOHNnTStL?=
 =?utf-8?B?UFlueitjMG9ocWp6NVk2WUViNFNrMVprbWh0V01icEhsZzUweUtFMjFSUFRa?=
 =?utf-8?Q?6gayo+dX/J7xgcU1U/RkJvSjN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 49f43c43-ed0e-4d66-6b1d-08da8063be3d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 15:18:30.8785
 (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: 45b/HPggLBfSvlQCkBwdW78Jm7PwYCzwo7ahsTl17BHzpFHKbWDvzFsq5er2MSnkafcyhKp50lEWyLwRNmvFOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8530

On 17.08.2022 16:45, Rahul Singh wrote:
> @@ -363,6 +373,42 @@ int __init pci_host_bridge_mappings(struct domain *d)
>      return 0;
>  }
>  
> +static int is_bar_valid(const struct dt_device_node *dev,
> +                        u64 addr, u64 len, void *data)

s/u64/uint64_t/g please.

> +{
> +    struct pdev_bar *bar_data = data;
> +    unsigned long s = mfn_x(bar_data->start);
> +    unsigned long e = mfn_x(bar_data->end);
> +
> +    if ( (s < e) && (s >= PFN_UP(addr)) && (e <= PFN_UP(addr + len - 1)) )

Doesn't this need to be s >= PFN_DOWN(addr)? Or else why is e checked
against PFN_UP()?

> +        bar_data->is_valid =  true;
> +
> +    return 0;
> +}
> +
> +bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end)
> +{
> +    int ret;
> +    const struct dt_device_node *dt_node;
> +    struct pdev_bar bar_data =  {
> +        .start = start,
> +        .end = end,
> +        .is_valid = false
> +    };
> +
> +    dt_node = pci_find_host_bridge_node(pdev);
> +    if ( !dt_node )
> +        return false;
> +
> +    ret = dt_for_each_range(dt_node, &is_bar_valid, &bar_data);

Just as a side note - I find such (the first instance here) uses of the
unary & operator odd. The same effect will be had without it. So all it
does (in my opinion) is make things harder to read (just very slightly,
of course).

> +    if ( ret < 0 )
> +        return false;
> +
> +    if ( !bar_data.is_valid )
> +        return false;
> +
> +    return true;

Simply "return bar_data.is_valid;"?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 15:21:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 15:21:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389053.625860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKr8-0008JK-Im; Wed, 17 Aug 2022 15:21:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389053.625860; Wed, 17 Aug 2022 15:21:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKr8-0008JD-FN; Wed, 17 Aug 2022 15:21:18 +0000
Received: by outflank-mailman (input) for mailman id 389053;
 Wed, 17 Aug 2022 15:21:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2RHf=YV=citrix.com=prvs=221cc9648=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oOKr6-0008J5-Vr
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 15:21:17 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b241ba9-1e40-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 17:21:15 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b241ba9-1e40-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660749675;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=BVWAzeMfNadVbIGHsGpwb/svB97wQxpATDMDMIQRCQU=;
  b=CEnQAgJNiyhmR1457IKOrPLy92hwQOSep0UYnw+Z+PsikR2gWcwg2tav
   2MSzvhqZjO8Lu+53auu0dcBjD6P5zobxBd9xiEAzfD7c8oHxivT9Th/UQ
   zogdQDz+BBQ5OxMKzXfJKu7LGX4ttckDuhWCjNoGCbVvUAqkOj+fRuVc+
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78744132
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:rd547K6SCU1sS80ZRrSuEwxRtC/HchMFZxGqfqrLsTDasY5as4F+v
 mEXUWDVbq7YZzf2fIpwPIrlpExQuZeDndBhGwc/rnxhHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5auq4Vv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJEAsbIgW1OpLPWJpy
 sMRDyIDa1elutvjldpXSsE07igiBMziPYdZsXB81zDJS/0hRPgvQY2Tu4Uehm1pwJkTQ7COP
 KL1ahI2BPjESxRJJlcQDoN4hOqyj2PzWzZZtEiUtew85G27IAlZj+iybIaMIYbiqcN9kWe3h
 WSdoDnDKyoYEfvO8iaIw1ORmbqa9c/8cN1LT+DpnhJwu3WI3XAaAhASUVq9oNG6h1S4VtYZL
 FYbkgIxqYAi+UrtScPyNzW6vXqFsxg0S9dWVeog52ml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWXQ3+A8rafrRupJDMYa2QFYEc5oRAtuoe55ttp11SWE4glQPXdYsDJ9S/Yw
 irbqSYQi4kvjuk06Kyc717CxBSRn82cJuIq3Tk7Tl5J/ysgOtD9OdfytQmGhRpTBN3HFwfc5
 RDoj+DbtblTVs/VyURhVc1XRNmUC+C53CowaLKFN70o7HyT9nGqZui8CxkudR4yYq7oldIEC
 XI/WD+9B7cJZRNGlYctP+qM5z0ClMAM7+jNWPHOdcZpaZNsbgKB9ywGTRfOgTizzxR9wP1mY
 svznSOQ4ZEyWMxaIMeeHb9BgdfHOAhkrY8seXwL50v+iufPDJJkYbwELEGPfogE0U9wmy2Mq
 o43H5bblH1ivBjWOHa/HXg7cQ9XdhDWxPne96RqSwJ0ClQ/RT5+U6GOn9vMueVNxsxoqwsBx
 VnlMmcw9bY1rSSvxdmiApy7VI7SYA==
IronPort-HdrOrdr: A9a23:D6/a16nGHxjIWkm/WilUtuv6PbbpDfJD3DAbv31ZSRFFG/Fw9v
 rPoB1173XJYVoqNU3I+urgBEDjexzhHPdOiOF7AV7IZmfbUQWTQL1f0Q==
X-IronPort-AV: E=Sophos;i="5.93,243,1654574400"; 
   d="scan'208";a="78744132"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH] build: Fix missing MAKEFLAGS --no-print-directory
Date: Wed, 17 Aug 2022 16:21:06 +0100
Message-ID: <20220817152106.56601-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

While we already have "--no-print-directory" added to the make flags
in some cases, there's one case where the flags is missing, when doing
an out-of-tree build with O=, e.g.
    cd xen; make O=build

Without it, we just have loads of "Entering directory" and "Leaving
directory" with the same directory.

The comment and location in the Makefile are copied from Linux.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/Makefile b/xen/Makefile
index 69b4dc960f..106aff6a07 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -186,6 +186,11 @@ endif # root-make-done
 # We process the rest of the Makefile if this is the final invocation of make
 ifeq ($(need-sub-make),)
 
+# Do not print "Entering directory ...",
+# but we want to display it when entering to the output directory
+# so that IDEs/editors are able to understand relative filenames.
+MAKEFLAGS += --no-print-directory
+
 ifeq ($(abs_srctree),$(abs_objtree))
     # building in the source tree
     srctree := .
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 15:27:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 15:27:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389063.625871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKwd-0000bK-8z; Wed, 17 Aug 2022 15:26:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389063.625871; Wed, 17 Aug 2022 15:26:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKwd-0000bD-6C; Wed, 17 Aug 2022 15:26:59 +0000
Received: by outflank-mailman (input) for mailman id 389063;
 Wed, 17 Aug 2022 15:26:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ctqM=YV=citrix.com=prvs=221f02cfb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oOKwb-0000b7-S7
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 15:26:57 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06712248-1e41-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 17:26:56 +0200 (CEST)
Received: from mail-mw2nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Aug 2022 11:26:53 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5334.namprd03.prod.outlook.com (2603:10b6:610:92::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19; Wed, 17 Aug
 2022 15:26:52 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5504.027; Wed, 17 Aug 2022
 15:26:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06712248-1e41-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660750016;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=ENQoa+z9s6Pk0E90TGtnLLF1MfGKkWOEGZoQbSxQrXc=;
  b=RMU7tQBJtLRbDcDF1lULkkaUoODwB1nev0CmXNMym6r22gDw36VBvHgP
   3wQLFmSHvpm8JxzYm2gx1N44h5RmioMq2/Etax8qT3fc0lJTGVlTqewf2
   BbKNNj64JYUMo+VRCT0CziTQ0by65P5RHy92X7QY5FiFLaIaH38SMn/2N
   M=;
X-IronPort-RemoteIP: 104.47.55.108
X-IronPort-MID: 78744618
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:G1CMuKABC37hThVW/+jiw5YqxClBgxIJ4kV8jS/XYbTApDMhhjJVn
 2VODWrTPfeOMzP9f4slbIrjpBhQ7cLcy4AwQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMZiaA4E3ratANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq3uU0meaEu/Dga++2k
 Y608pa31GONgWYuaDpEsv3b8XuDgdyp0N8mlg1mDRx0lAe2e0k9VPo3Oay3Jn3kdYhYdsbSq
 zHrlezREsvxpn/BO/v9+lrJWhRiro36ZGBivkF+Sam66iWukwRpukoN2FjwXm8M49mBt4gZJ
 NygLvVcQy9xVkHHsLx1vxW1j0iSlECJkVPKCSHXjCCd86HJW0L2k+hjMkxtAZIRxN5KOFNxx
 O1JFT9YO3hvh8ruqF66Ys9Fo517aezUZsYYsHwmyizFB/E7R5yFW7/N+dJTwDY3gIZJAOraY
 M0aLzFoaXwsYTUWYgtRVM14wbru3yGvG9FbgAv9Sa4fym7f1gFulpPqN8LYYIeiTsRJhEeI4
 GnB+gwVBzlFZIPDlWTcohpAgMfzvSXkB6c4GoGT+69XmGeB1HxMVw8JAA7TTf6RzxTWt8hkA
 1wZ/G8ioLY/8GSvT8LhRFuorXicpBkeVtFMVeog52mlyKDZ/gKYDWgsVSNaZZots8pebT430
 l6Emfv5CDopt6eaIVqG7audpz62PSkTLEcBaDUCQA9D5MPsyKksijrfQ9AlF7S65uAZAhn1y
 jGO6S0h3bMaiJdT073hpAiXxTWxupLOUwg5oB3NWX6o5R94Y4jjYJG07V/c7rBLK4PxokS9g
 UXoUvO2tIgmZaxhXgTUKAnRNNlFP8q4DQA=
IronPort-HdrOrdr: A9a23:DT4ii6xjZLyZe0ImjW9HKrPxBOgkLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9IYgBapTiBUJPwIk81bfZOkMQs1MSZLXPbUQyTXc1fBOrZsnfd8kjFmtK1up
 0QFJSWZOeQMbE+t7eD3ODaKadu/DDkytHPuQ629R4EIm9XguNbnn5E422gYy9LrXx9dP4E/e
 2nl696TlSbGUg/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2jnC6l87nzFjmfx1M7XylUybkv3G
 DZm0ihj5/T8s2T+1v57Sv+/p5WkNzuxp9qA9GNsNEcLnHBmxulf4NoXpyFpXQQrPu04Fgnvd
 HQq1MLPth16VnWYmapyCGdlTXI4XIL0TvP2FWYiXzsrYjSXzQhEfdMgopfb1/w91cglMsU6t
 MJ40up875sST/QliX04NbFEztwkFCvnHYkmekPy1RCTIolbqNLp4B3xjIWLH5AJlO+1GkUKp
 goMCju3ocRTbpcVQGBgoBb+q3pYp30JGbffqFNgL3P79EcpgEF86JR/r1iop5HzuN8d3AM3Z
 W7Dkwj/os+MfM+fOZzAvwMTtCwDXGISRXQMHiKKVCiD60fPWnRwqSHqYndydvaD6Dg9qFC7q
 jpQRddryo/akjuAcqB0NlC9Q3MWny0WXDoxttF75Z0t7XgTP6zWBfzA2wGgo+lubESE8fbU/
 G8NNZfBOLiN3LnHcJM0xflU5dfJHECWIkeu8o9WViJvsXXQ7ea/tDzYbLWPv7gADwkUmTwDj
 8KWyXyPtxJ6gSxVnrxkHHqKgfQk4zEjOdN+YThjpguIdI2R/xxWyAu+CeEz9DOLyFeuaore0
 Y7KK/7k8qA1BuLwVo=
X-IronPort-AV: E=Sophos;i="5.93,243,1654574400"; 
   d="scan'208";a="78744618"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UDjYQ4h0ThIu7KH7jzf1u4SIEprKQx6kQXtIPugQTiaS78sd5MNOkei8LIALtpaRqsL+IlLq4JvRuIBQACdo+px3yqeF9pvs/NFqZuZw/2zxWYnr6DoUDYzfPPmMQod/h6la/mGt1qLI2D2Mq3OvBhWoO6Ys3+kdDQpTefopcSKLO1EnAuRDHENN5SQcBOHJ8aPsfH2Ytg8XMNLbDbSkqDcV9E7RJAKRU/nBLLBHXMMmfRc5xPoRtefEw8hJ7Zq4Y3hA3960BXLBaX72PvXI+YcnIdHGSIAStXTM1hx7L8jCEbsRpbGs2U7xSeRO0jS9BlvmCkpHwYpwCUlBJbVVaQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ENQoa+z9s6Pk0E90TGtnLLF1MfGKkWOEGZoQbSxQrXc=;
 b=d+WOCIXd2jGaWLX0Ys7v/TB/4QlCfEebIyEavDe8pQYqXlS2UucZ20y9K2E+rKpusdvACeQLY5ksFbsQHf01EWB/LRTmly6zmhZYvCwaDppkQ/ZdO4sNWwxvL9XZXW5VWzFv3vh2zRkkStWT4nMCpp7N/kRax8TyLsPV9rweuMptZP5l2itWVPybUdBdCwKZYr7Kz6dwI8tEWtt+zBaHzB4F418p7A6iO1UE8oUhYmiDQiCb0FeoYqJlG+7nAfey1etrdww3eVkuJ4AXd3VDLYnLZcyW4a89TfMpWVeTZb7Vl+5OOnWPk5fDwjpCxJv0f70R9y3F69BgLMfRdAhFJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ENQoa+z9s6Pk0E90TGtnLLF1MfGKkWOEGZoQbSxQrXc=;
 b=k+eyNKU9gSSTWCtYmvyV4WirL+R3JbLRS9P/JYGspzP6MrSA+bqC8zoAf2hlHwCYHZbnTzqUQRHtG3j61sY6uQab4Lg2MNzxsGeJmnNTQJZWCINFsBkoAcU2ZtdfcqsbudU40+kNEk7PUT7hDRMc3plL/AOcrx+WIggPT0fRWwA=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH] build: Fix missing MAKEFLAGS --no-print-directory
Thread-Topic: [XEN PATCH] build: Fix missing MAKEFLAGS --no-print-directory
Thread-Index: AQHYsk0DvrenaFtsHkyhk5kQsY6xbq2zNvGA
Date: Wed, 17 Aug 2022 15:26:51 +0000
Message-ID: <84e0f00b-0655-e6a4-ee3a-bdf5114b39a4@citrix.com>
References: <20220817152106.56601-1-anthony.perard@citrix.com>
In-Reply-To: <20220817152106.56601-1-anthony.perard@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3396b671-bd0c-499b-81e3-08da8064e8bb
x-ms-traffictypediagnostic: CH2PR03MB5334:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Wc6u10g2MPPtD89iJsp+2rvN48Wmf3ttifUL53p6LadG2sd8POh97FoeKEfOUfTTNxSeaswPrNKRgCu7hTc3U/MnsSBQXNidDTBkr6Ueg/IRxCFg3OMWZgbpQwCHDUeO262Gz04G85EPpSq3JTFuV7y6pKRfU7hqagmkF7P5a/fVVzYlQfi5qqINr7f7OWiUf6D3fz64JRihjZgfP70O2OMhIzxSyavoUiQX+PpuxxRpqqrsqulDneo0rEMoj67icvr23onp4SxV4aqm7FMUjb323jU5wv/8S4RoFLrV7WxSKMToqCBIbWlzIo9E3PC+t0RjD+4NDtaNLMLxu/nvtCOZ5u1A/tTGIDEFUIapOKy88iVSEFkaIWpeguMkMN6/Ei+ktGBagEq2EKbSJvFX9N3/gd4yyiwfCPhUi5cnkjWrP3FMh7rH3SrXOHW8ZiO0HG5ZewjnRAHXD0IorGuxpSzhdB1dSOyG8AMTRt8SWwFY1vSrHcVtitzGM/jwWFM7bKgI0YBY6emXjnNjGqcWtJFzsOWVxgaB25DiK3/IXUiRGKbdpUKIc9kDjpNzujvDbfgdw3fGCDnOdzluHBEyzLYU+p+kh2DMz683NG7wFixi/Z7X7/13glLNb4Azk5Nb2CE8iXGmD7ZTigyVgqWI95sdwJBgEAciHSE1XDY3w01BR0G6dLeYN7iEhRCmxk1EdoNennXA40oRGEtgufhItcdJZZVFWPUGofG2MipnyClTg4AzzqteQhaXPrGJzv+xmxf2Ao6vZU8Au4DIYbjhxIvIA5eibmsK3JUkTQ0VP9pKbIr+/Sg6pDig+8PBHKWoRkgTbyTGKO5Pc91x0+uUnE1IF9MNjg/2b1gc2viwSPqcPC4bS9C7O9OQV9QrgqhbKcGLQ+d6QRFaycx0Hp+jogrpuQNot9UFf1GOi4ZikT0=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(376002)(136003)(366004)(396003)(4744005)(2906002)(478600001)(41300700001)(66446008)(91956017)(66556008)(76116006)(66476007)(66946007)(4326008)(8676002)(64756008)(6486002)(316002)(71200400001)(86362001)(36756003)(31686004)(31696002)(26005)(6506007)(6512007)(110136005)(53546011)(54906003)(82960400001)(38070700005)(38100700002)(2616005)(5660300002)(8936002)(122000001)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?L3ViSTdrUjdsV01iaUlHUFdxZ3ZQbUg3eVUwNEpZbjFWeVhiL0VuQ1ZCb2JY?=
 =?utf-8?B?bmY4RmJTMXJ3ZzhoV2tCVkw4UUtLMllmOXdaVmlkNnVMWkZ4VkN0d05FYTE5?=
 =?utf-8?B?ZGlERDlraWhmbDZvTFFRWU9Na1lnc2QwRFFWemlMckE0Z1V0bEo3TXFwendn?=
 =?utf-8?B?V1JFY1BqclFSbFFoNmhjNmszQ3AvQ085cU9aZjMvOUNEbHNLdk1nZXVWZEF3?=
 =?utf-8?B?bFJUeVBPQTQ3Q3hkRTdPc1J5Z2ZMWUhDeEJxR0o0WDdiR2h0b0s3QlQ3WUwy?=
 =?utf-8?B?ZFV5cUUrUmFPbjk4MEQvRWt6OVEzZGJ5RXhhWmdxRTNVcy9Zc243UWdtOWNw?=
 =?utf-8?B?aDBuQVhPSzBzM2tBb0wvWkdLVTlvOFNZQ0pDUktJeUY3d3NqSjlUcVVXU1JR?=
 =?utf-8?B?VE0zblpGV2dqaVdIdWVGTVdnY3FteHl6SUVjRXFBZ3NzZkdid2dJK2Q2R28z?=
 =?utf-8?B?eUFFeVRmdWZsVXBxNHNYWjcrQ2pROGJMcG1aTi83VnQ3OU5YMmZoREc0MkRL?=
 =?utf-8?B?M1g3YWwyYTZaY3hzKy8wRktjZ0M0RWVtelM5dVJqQkNwMVZOWndIN1U3UzVs?=
 =?utf-8?B?bW11anRrYnpIZVVHNjdVMW9jeitWdVlydW14azNPYkYvSkFiWVV1aVhoL0hM?=
 =?utf-8?B?cldFNHJKdTNSUEVMZGMzTW9zYmVpaGE3Nk5RUFlKak5ETlR2K2wveVFNZlZn?=
 =?utf-8?B?ZVRZS1N0aVVveHM1NUdIVHFNVDF5RFhRSFFSdUxGcXRCNnRBcUlOQjZlSVdT?=
 =?utf-8?B?elpNUXZLRGtEZTJqS2NqYXRFL29tNUhtK3dwdmQ5YkpDVVV0ZDQzRHhTZ0JN?=
 =?utf-8?B?dTBQMVZENFVpR0VoWHFZd09KUDczTDBBWVdXQ3dMQjk1SkxPTC9EaG40UEFZ?=
 =?utf-8?B?RHJTT1lJS05OYmJZMjhrcFZTOVdXSU1nTE1GdGpJTXlPbnZhK2lBNUI2N25t?=
 =?utf-8?B?UkNlNVZMUFAwZTg4Y2VoM0JtdG1IckxlWFFsSExPODRyOEZiRkhsQk9KdnFD?=
 =?utf-8?B?THBVVG54YkdINlY1aG0zcHlOQUhSNXN3R0FuekVBbkczMVNrclRzQ1ozOUc2?=
 =?utf-8?B?S1lDTzhQTjFGc3JDWERFS1BBTk9KSGxWNzE3RndmeHM3M3FPSDBnRkwzUnJo?=
 =?utf-8?B?UkVabFlLZDIzajMvL1djYzFyd0RiczN4cTlVWE53ajM4Ynh1a2oyZlYzT2lB?=
 =?utf-8?B?MzZTbk5CV3pDWWRZV0pNV2hJSjZWZ2xEd29iQi9Ka0JhWmdKcmE5WFlIajY2?=
 =?utf-8?B?WXpkNWExaHMxNmU2YTlvN0srNU5XN0MxSjQ2L29SVlZWVWpHY0xlY2Q0UmR2?=
 =?utf-8?B?a3hZdHBFVmNsM1dSdEJuM21ObXNiVkt1a0ZsdUhEa1lCM01HS05xNWhZMFI0?=
 =?utf-8?B?aC96ek1PeUdJeHNLRjZwTUtqZU9tT3Yrek9xSGRCS20vT3gwTmh0bjVITDRp?=
 =?utf-8?B?NWdZaVd1UjdPVHEyeUM4R3FXWFlsUUtkUGlkRGx3c0xMclB5K3pRN1J1N29W?=
 =?utf-8?B?c1VibWQySHN1VFRSS1pnTnRaRUZzRnRhUG0vd3FZektCRTkrRXFuS0NxMVV1?=
 =?utf-8?B?NkhuQjdyc3J5R21qcWRuRlRKWHUwQ0tiNFJ3WFpkSFBodlNMcFFITDYzc0pQ?=
 =?utf-8?B?UkdVUzdYT0hCSFhLa2J2VzFkVlR5bldNK2lnTUhDU3A4WnlOMXhZV0pNQXdv?=
 =?utf-8?B?U3BYMGpLZXR0RFlPR1NHRnZ3Z1NZNzdVVytxejEwOGFjVkZ5SU5mL2JkYjJp?=
 =?utf-8?B?a1AvN1A0d0lPV2FNdkJLSzFLcjNsckw3bE1CQ1dVRlpSS3Q2MUt4Uy83cEpr?=
 =?utf-8?B?R1VWR2JDU3p3NEUxcjhRZGs3ZW1JQlkzNk5pcFFxbjBVZnpkM2JqS09CYlo0?=
 =?utf-8?B?RkFCOHI0eVZndmRHdWZJK1ZzQWFxZko3SE9Odyt0T3VYRGIrdXFsUW9iUnFi?=
 =?utf-8?B?T3VBWmdqSUpPaFBJcGJyU0VvdHFYZWZ5RW9PSTBKWlEyY1pLWk4weElIZUtG?=
 =?utf-8?B?ak5PUkpRSlRDQzZ0SUFVazlxWVN3bnBTUXBKY1d0UTlCMitSU2grbnBjQTd4?=
 =?utf-8?B?K2FTUjdiZFFRNmxTOWlrM0FsVzlpZzlUSzJKdWJlc1FSeHJDM3lKdi91T0JD?=
 =?utf-8?Q?+MziDpaXKmvYB5b/la9pVRk0f?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2C09B7328CBECA44ADA98B92769CBD49@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	UiuRzSg2wTWfUBorBp1bFDpxA4a9vkB9bSEWwcBDR03f31iNDBX/gK7vWYtnLGBb7aGsSEqtI+8amKlSKsMcHmf+7tWHo6Fo4+ND4udSnGkTP4CIWvmKKkNBppCqxaU1SHY+EwUOmLBoNnO1EWRGCiu4kahllGJz+hoGAR+VQDp2V8xUosP87oRjRtARAz07MoqfO9x45mRsbLRwKwsW4bFTh3aIQCijO6hXgFsfA8g/YN3bbJ2EDDxRaT6J1lO76vO7hMWf7DkqoX0vopB4yh/voXZiYQLoBS7A0/W2MYpKnpNpI5P/KZb97nKmxgyRJS7q4A9VqustRVfKAjMWGTMEvJre1Dy6agyWTenphz9H0fUjNr/98igPJVyVjvwMN+EdhQjdmrwcpEUNnF7DDlFAP+eATOzzkww0GmKYiVXTucCxmJ7PvUANqOy+V4H652wG0bKi87jRt3x+9Q3y6lBS/7vUCATMDtpCdHjOgQ8Cnr8dYgneIs1X61/goHBTTGvSclsawCHlvkI5OmxWTSN+7l+8ZBIeF5b5YjYei2K2xwJNbuPXbuY/sDwfoynadYQaq4Y0zrZtDfjS/NdNjdpMldcoM64/usmnaNCN18Aq1ZmiQDwKc7/XkNpG1KRJ+5MZGqVTKJAvLAPcOuhWUqx4FzRkpfB3rnoX52yCS1otDy2gfHt1quPd7xv9VUXiPjjSIS+mK2ogsJvDCFh0at0M0rVpDQhf1lf7dKSKSySEDq0TQhWxboYVmqSyGbwrz9w4yyAI/79A2Auue899bEeUDwi9ObxJlAaIPM4r0RROlGcJsxc0NvTqrh1ta0jyo1AoXWg2IVFw+LdR2fNVdgqood8yuGb0VAzYV4liqMxDmud6N21KxoiHmYZ14d22znZ2HXe1arYkFzk6lqe0Y7SoCHpjLtRkhW/gBQzK7vc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3396b671-bd0c-499b-81e3-08da8064e8bb
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2022 15:26:51.5721
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9yqTHPXGJtWEBOn04rIPEzsZdIgFYfrxJPvYx85esu2Xhg+PsACpVEliIeu+lNWULXJD66LKNSIz79mSvSqipB1mVr8XWrama4MuDy2Jtpk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5334

T24gMTcvMDgvMjAyMiAxNjoyMSwgQW50aG9ueSBQZXJhcmQgd3JvdGU6DQo+IFdoaWxlIHdlIGFs
cmVhZHkgaGF2ZSAiLS1uby1wcmludC1kaXJlY3RvcnkiIGFkZGVkIHRvIHRoZSBtYWtlIGZsYWdz
DQo+IGluIHNvbWUgY2FzZXMsIHRoZXJlJ3Mgb25lIGNhc2Ugd2hlcmUgdGhlIGZsYWdzIGlzIG1p
c3NpbmcsIHdoZW4gZG9pbmcNCj4gYW4gb3V0LW9mLXRyZWUgYnVpbGQgd2l0aCBPPSwgZS5nLg0K
PiAgICAgY2QgeGVuOyBtYWtlIE89YnVpbGQNCj4NCj4gV2l0aG91dCBpdCwgd2UganVzdCBoYXZl
IGxvYWRzIG9mICJFbnRlcmluZyBkaXJlY3RvcnkiIGFuZCAiTGVhdmluZw0KPiBkaXJlY3Rvcnki
IHdpdGggdGhlIHNhbWUgZGlyZWN0b3J5Lg0KPg0KPiBUaGUgY29tbWVudCBhbmQgbG9jYXRpb24g
aW4gdGhlIE1ha2VmaWxlIGFyZSBjb3BpZWQgZnJvbSBMaW51eC4NCj4NCj4gUmVwb3J0ZWQtYnk6
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+IFNpZ25lZC1vZmYt
Ynk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPg0KDQpBY2tlZC1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 15:27:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 15:27:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389070.625881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKxb-00018t-IB; Wed, 17 Aug 2022 15:27:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389070.625881; Wed, 17 Aug 2022 15:27:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKxb-00018m-Fd; Wed, 17 Aug 2022 15:27:59 +0000
Received: by outflank-mailman (input) for mailman id 389070;
 Wed, 17 Aug 2022 15:27:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Di75=YV=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oOKxZ-00012D-35
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 15:27:57 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29c72b84-1e41-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 17:27:55 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id B3F43320095D;
 Wed, 17 Aug 2022 11:27:52 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Wed, 17 Aug 2022 11:27:53 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 17 Aug 2022 11:27:50 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29c72b84-1e41-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1660750072; x=
	1660836472; bh=/phj973pQy9PADy4yrfTn9/lln+0IgCl4wIlRpnRngo=; b=t
	Thf72vMG5gRMutkRt8KAsLsCwUkE9vgwf3YqVh7KjfuEzZz6CKoAIS2CbOZKYtvF
	g8R7VyzcNom+iZwDQRZVD5RftsZayAoHX0iVSyi6B0WD2qZsIlZj+M1oWEmyxqiZ
	0LUn/DHLKcprx814eUgryupakRiV1sEwJVkaaQOso27J/bxzEzsHkRwCPj47gaq9
	kA6QIzMM6btEImk6+agpDfqWkRy8lPPx9eV9zvjybs8PFKVNvaI2W8vwI6Znq5fy
	3a34nKJdOFh2ISyEE+B0cLQ/VM6CL0lpR6r/FL380n/AOk3AU6z+xJKCqJQLeFMT
	5QgBd0TgvT6jg502yqx3g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1660750072; x=1660836472; bh=/phj973pQy9PADy4yrfTn9/lln+0
	IgCl4wIlRpnRngo=; b=lNW8A6ob9iaHPl13jN77IvkH/BJZ+uubDZVNQ6FRozRI
	uapH2+AvTkjO+Qni8HXU9b3wsH3978hFnCUHvnvqg8d/LcwPPC60DUw2lbJL/VDf
	GQIkdQdclyoX7cE7FER9a0WXrIobeeeejXvxDn7hio2rq5vHc8OD2KqY7sgL4o5u
	aiinsb+xL38ug8hZeJGADo4T5IeOCUpHJ0abGhux3gbOtDBdXVG1GA9ldNTrLqO0
	QwlnaG47Gd5AmuAfRwcH9y2cji3PHlTxf8v+29t0uwjKsqH7fqYgM1nS1GKvsfhr
	Rz3CUoznHxP6b/nrKaipDB+udxQQ51VtJdF6tiAA3w==
X-ME-Sender: <xms:9wj9YoOZIpB7JTCUn61Avr-vsFYUAXKQcQWhITanlaU_MPqFJR5vdg>
    <xme:9wj9Yu8qYduS62Ava8TApYxg_ZS3DJFCeI3JaJXX8DKUrx4S_NuibIl7EQ12RaMAq
    995hnlbzvauxw>
X-ME-Received: <xmr:9wj9YvRZpoICXERB-boKqVJ99vHmXhrE4s4YeuYIA6_dK-1PERuGb4M9nMeirbaNlOMEng_Im-STVgJGQ_vaxMK6Cm9M2hI_0Zao>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdehiedgkeekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:9wj9YgvxeN_YowkF4ov3L9AbgCTfN2JBhpetges0nDM9HanqbMMGTA>
    <xmx:9wj9YgdIdsvfJEkRfB6UVKvHIQEIr8LFDeZMkm5xQn_RZMdx9EJkAg>
    <xmx:9wj9Yk2Rbd_7CIO-hTwPtn4MXAga_xgVGd74jGwdoHQx-hWEUsO0pQ>
    <xmx:-Aj9Yv7mTxCdYT09Ibeud6JMXSRlTvrpd_zodANu20i8x6cnFQ0w7Q>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 17 Aug 2022 17:27:47 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 11/11] drivers/char: allow driving the rest of XHCI by
 a domain while Xen uses DbC
Message-ID: <Yv0I9L/a+xR199r1@mail-itl>
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
 <403daba6911a3d40e4774b46ba555f6d76b3c249.1660354597.git-series.marmarek@invisiblethingslab.com>
 <141cb0d0-3563-1376-a6b0-a977142c1873@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="nSMhtkCqUlOTccdf"
Content-Disposition: inline
In-Reply-To: <141cb0d0-3563-1376-a6b0-a977142c1873@suse.com>


--nSMhtkCqUlOTccdf
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 17 Aug 2022 17:27:47 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 11/11] drivers/char: allow driving the rest of XHCI by
 a domain while Xen uses DbC

On Wed, Aug 17, 2022 at 05:08:35PM +0200, Jan Beulich wrote:
> On 13.08.2022 03:39, Marek Marczykowski-G=C3=B3recki wrote:
> > --- a/docs/misc/xen-command-line.pandoc
> > +++ b/docs/misc/xen-command-line.pandoc
> > @@ -724,7 +724,7 @@ Available alternatives, with their meaning, are:
> > =20
> >  ### dbgp
> >  > `=3D ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
> > -> `=3D xhci[ <integer> | @pci<bus>:<slot>.<func> ]`
> > +> `=3D xhci[ <integer> | @pci<bus>:<slot>.<func> ][,share=3D<bool>|hwd=
om]`
> > =20
> >  Specify the USB controller to use, either by instance number (when goi=
ng
> >  over the PCI busses sequentially) or by PCI device (must be on segment=
 0).
> > @@ -732,6 +732,19 @@ over the PCI busses sequentially) or by PCI device=
 (must be on segment 0).
> >  Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability.
> >  XHCI driver will wait indefinitely for the debug host to connect - make
> >  sure the cable is connected.
> > +The `share` option for xhci controls who else can use the controller:
> > +* `no`: use the controller exclusively for console, even hardware doma=
in
> > +  (dom0) cannot use it
> > +* `hwdom`: hardware domain may use the controller too, ports not used =
for debug
> > +  console will be available for normal devices; this is the default
> > +* `yes`: the controller can be assigned to any domain; it is not safe =
to assign
> > +  the controller to untrusted domain
> > +
> > +Choosing `share=3Dhwdom` (the default) or `share=3Dno` allows a domain=
 to reset the
>=20
> DYM "... or `share=3Dyes` ..." here?

Yes.

> > --- a/xen/drivers/char/xhci-dbc.c
> > +++ b/xen/drivers/char/xhci-dbc.c
> > @@ -23,6 +23,7 @@
> >  #include <xen/iommu.h>
> >  #include <xen/mm.h>
> >  #include <xen/param.h>
> > +#include <xen/rangeset.h>
> >  #include <xen/serial.h>
> >  #include <xen/timer.h>
> >  #include <xen/types.h>
> > @@ -232,6 +233,14 @@ struct dbc_work_ring {
> >      uint64_t dma;
> >  };
> > =20
> > +enum xhci_share {
> > +    XHCI_SHARE_NONE =3D 0,
> > +#ifdef CONFIG_XHCI_SHARE
> > +    XHCI_SHARE_HWDOM,
> > +    XHCI_SHARE_ANY
> > +#endif
> > +};
>=20
> Hmm, this suggests that Dom0 cannot use the controller without the Kconfig
> enabled, which I hope is not the case.=20

It is the case, because you requested reset quirk to be behind
"experimental" tag in kconfig. This quirk is (currently) necessary even
if just dom0 uses the controller.
I'm happy to include the quirk by default, but I got impression you
wouldn't accept it. And I'd rather avoid marking the whole driver as
"experimental" (which hides it unless you select UNSUPPORTED) just
because of a small code necessary to share it with dom0.

> But I notice that patch 1, which
> was committed already, still uses pci_ro_device() rather than
> pci_hide_device() (like ehci-dbgp.c does).

>=20
> > @@ -1128,10 +1181,34 @@ static void __init cf_check dbc_uart_init_posti=
rq(struct serial_port *port)
> >      init_timer(&uart->timer, dbc_uart_poll, port, 0);
> >      set_timer(&uart->timer, NOW() + MILLISECS(1));
> > =20
> > -    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
> > -        printk(XENLOG_WARNING
> > -               "Failed to mark read-only %pp used for XHCI console\n",
> > -               &uart->dbc.sbdf);
> > +    switch ( uart->dbc.share )
> > +    {
> > +    case XHCI_SHARE_NONE:
> > +        if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn=
) )
> > +            printk(XENLOG_WARNING
> > +                   "Failed to mark read-only %pp used for XHCI console=
\n",
> > +                   &uart->dbc.sbdf);
> > +        break;
> > +#ifdef CONFIG_XHCI_SHARE
> > +    case XHCI_SHARE_HWDOM:
> > +        if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.dev=
fn) )
> > +            printk(XENLOG_WARNING
> > +                   "Failed to hide %pp used for XHCI console\n",
> > +                   &uart->dbc.sbdf);
> > +        break;
> > +    case XHCI_SHARE_ANY:
> > +        /* Do not hide. */
> > +        break;
> > +#endif
> > +    }
> > +#ifdef CONFIG_X86
> > +    if ( rangeset_add_range(mmio_ro_ranges,
> > +                PFN_DOWN(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_o=
ffset),
> > +                PFN_UP(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_off=
set +
> > +                       sizeof(*uart->dbc.dbc_reg)) - 1) )
> > +        printk(XENLOG_INFO
> > +               "Error while adding MMIO range of device to mmio_ro_ran=
ges\n");
> > +#endif
>=20
> I did comment on this last part before. There very minimum that I'd expect
> to appear here is a comment as to the issue with other elements living on
> the same page which a domain's driver may actually find a need to write t=
o.
> As said before - as soon as such a report would surface, we'd likely need
> to add write emulation support for the leading/traling parts of the page(=
s)
> that Xen doesn't use itself.

I did included paragraph in the commit message:
| In any case, to avoid Linux messing with the DbC, mark this MMIO area as
| read-only. This might cause issues for Linux's driver (if it tries to
| write something on the same page - like anoter xcap), but makes Xen's
| use safe. In practice, as of Linux 5.18, it seems to work without
| issues.

Do you want this as a code comment too?

> > @@ -1202,13 +1279,18 @@ void __init xhci_dbc_uart_init(void)
> >  {
> >      struct dbc_uart *uart =3D &dbc_uart;
> >      struct dbc *dbc =3D &uart->dbc;
> > -    const char *e;
> > +    const char *e, *opt;
> > =20
> >      if ( strncmp(opt_dbgp, "xhci", 4) )
> >          return;
> > =20
> >      memset(dbc, 0, sizeof(*dbc));
> > =20
> > +#ifdef CONFIG_XHCI_SHARE
> > +    dbc->share =3D XHCI_SHARE_HWDOM;
> > +#endif
>=20
> I think it would be best if the default value was "0"; I can see though
> that "NONE" being zero also makse sense, if the enum was to be used in
> boolean context (which afaics it currently isn't).
>=20
> > +    e =3D &opt_dbgp[4];
> >      if ( isdigit(opt_dbgp[4]) )
> >      {
> >          dbc->xhc_num =3D simple_strtoul(opt_dbgp + 4, &e, 10);
> > @@ -1218,7 +1300,7 @@ void __init xhci_dbc_uart_init(void)
> >          unsigned int bus, slot, func;
> > =20
> >          e =3D parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
> > -        if ( !e || *e )
> > +        if ( !e || (*e && *e !=3D ',') )
> >          {
> >              printk(XENLOG_ERR
> >                     "Invalid dbgp=3D PCI device spec: '%s'\n",
> > @@ -1228,6 +1310,41 @@ void __init xhci_dbc_uart_init(void)
> > =20
> >          dbc->sbdf =3D PCI_SBDF(0, bus, slot, func);
> >      }
> > +    opt =3D e;
> > +
> > +#ifdef CONFIG_XHCI_SHARE
> > +    /* other options */
> > +    while ( *opt =3D=3D ',' )
> > +    {
> > +        opt++;
> > +        e =3D strchr(opt, ',');
> > +        if ( !e )
> > +            e =3D strchr(opt, '\0');
> > +
> > +        if ( !strncmp(opt, "share=3D", 6) )
> > +        {
> > +            int val =3D parse_bool(opt + 6, e);
> > +            if ( val =3D=3D -1 && !cmdline_strcmp(opt + 6, "hwdom") )
>=20
> Nit: Blank line please between declaration(s) and statement(s).
>=20
> Any reason you're using parse_bool() and not parse_boolean() here?
> That would save you the open-coded strncmp() afaict.

I can probably use parse_boolean() too, but then handling "hwdom"
variant would be a bit weird. I could skip 'share=3Dhwdom' parsing at all,
since that's default if the kconfig option is enabled, but I'm not sure
if that's a good idea.

> Finally a remark seeing the opt_dbgp use here and the identically
> named option in ehci-dbgp.c, taken together with your multiple-
> serial-consoles patch: Since the two option consumers are now
> different, they can't sensibly coexist anymore. There were issues
> already before - it doesn't seem to be possible this way to run
> EHCI and XHCI based consoles in parallel. (An exceptional case
> would be if <integer> for both was intended to be same number.)
> IOW I think one of the options needs renaming; it was a mistake of
> mine to not have pointed this out before committing patch 1.
> Following the name of the source file as well as e.g. the title
> here - maybe "dbc=3D"?

Yes, I can rename the option here. That requires also registering new
SERHND_* and inventing new value for console=3D parameter (implemented in
serial_parse_handle()). "dbc" there too?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--nSMhtkCqUlOTccdf
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmL9CPMACgkQ24/THMrX
1yzL6Qf/WcUZKhQMD0fFXk7Hs2ZQiFvXP/oBGaqlGRHbP4rxU8uV7uQznI1JojQQ
Hrj+RW5dlyR+RTJDgbzy9Os0aAZqSKi9Y94LzNS6pc9I/NYWoTABOj6ltQSlv8EO
t2JX1dylfKAWMt0ily/5vGjeiR1ODA4bIrlWfGEQlxhmI7H6Q2y1UYY+rek+e6m8
UsAfB2CNM5YGlLIfbgh8ne0w9COm6ZmJqJqs25q8jnSOzIqDGE62682h8emBsooP
wD09k9AFEglHr6YeloE/WXMle346ir6JpbR+zSXNZzP9tu85AI9fXahPh7XENdm0
w2uJy2VsVRE51txQZQzJG8wtfAJS3w==
=uviS
-----END PGP SIGNATURE-----

--nSMhtkCqUlOTccdf--


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 15:29:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 15:29:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389080.625893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKzJ-0001mz-VV; Wed, 17 Aug 2022 15:29:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389080.625893; Wed, 17 Aug 2022 15:29:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOKzJ-0001ms-SX; Wed, 17 Aug 2022 15:29:45 +0000
Received: by outflank-mailman (input) for mailman id 389080;
 Wed, 17 Aug 2022 15:29:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOKzH-0001l1-Ln
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 15:29:43 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a95ee25-1e41-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 17:29:43 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8900.eurprd04.prod.outlook.com (2603:10a6:20b:42f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 15:29:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 15:29:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a95ee25-1e41-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XlfCVEildYDOs3QPwfF8xzsIK6W8mTyHAKg5zA1nwBAJefgndWVdecMAawgSo2a3Ruo8qc/wsn9WSW+VZC3cWxtKwG+0f5CzYmZSQC6eFNgwmtXrUKC9JnRAddlTbbmA7DRmQtNcAJ/cNHV1h75q46foRxpnOlA6TxlXiVOGpcA78fLSwYAhXZqsFDJpb7My0q5H6VpKDJJgG498nIex2yi9M9JdLVa5+U8POm1/t/8tYhLv546aXHb12Gf0r8XbzBOnn/3P0PZIkCDVC5RVgCPrhWF0Z13nVKFUCgEsvp1PQ5xD9bNVuZ41Lniu8CflTE24o6M3isrSzL4Ck8Mf1Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qOGIziqT7l1i6MBfKdSC3Usk9MqkVDKmo5xWg5edxXU=;
 b=NXHomjLwYdq/lobOmxDCIbnShhdt4rzZEf3FhrWEqNVEplpauYmGjU/Vcz2ABgjFZWS7CZ9mFp4Dfq2rH4TgwC/3ojtCdvmvyZgtbYJIbKuSvJ5Ro9dWUAEJyj3Yxk+gahfn8uh1WRTP5rwIhRcAq/u7BeJ+IgTNwTnu5/Iv3L7aIgFz7CVwu9Li2aBUM+icJ6uku6e5fcgkBEKMjFCk+XsiShxplFM17nuwWOWPQwZgv6hz3DEXXFPOw5rOoEl87izFaXOCHodET4dJWZtRIXbnpcDbPG1u9Ym4sfirP8lhWFcHbiKpJJCzHeYr6SbUVUPNt80liVJYOOUElq0aNg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qOGIziqT7l1i6MBfKdSC3Usk9MqkVDKmo5xWg5edxXU=;
 b=RhAzoDdM7risy4gej3N1YcFjktl8Z0bLx1uRfitNWgL3t5r3aBGRVy5f7kQnsse4zAUeYqFJUO6LBDPVjpvWie/bVfWeL0pBkVY6eShDO1WrJsDp+KqgvTu+4vKheNV+Ee4a3aL2iu37o67RgFq6wICKLMCyYgtXEFKiPozacUgKvYwx+j3FnsaRiYJHzZH5j/2Q8E19Omg2H0REPPK1/9EE0MClAtNHB7+tTp3ojmkj8VAXfDzZfQL6CYRgW+l+OqMbAC/onYTqQSXWHEqH/xPOSkkqVv3S4SLHW0WJS8FrNtLXnpQxf7vRYruejYx5WLzw7+drxKXQ+SKu3dK1xQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c8ad54ec-cd86-066e-1029-320230c8912e@suse.com>
Date: Wed, 17 Aug 2022 17:29:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH] build: Fix missing MAKEFLAGS --no-print-directory
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220817152106.56601-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220817152106.56601-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: df85fb54-eba5-4e61-f6f8-08da80654d08
X-MS-TrafficTypeDiagnostic: AS8PR04MB8900:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8AE6wQychvvKgEcbmuCxlaNCvLUgwfU0jOIP7WO+o1oEs5cQQMAK+x4dFH6nI/jD+8/9hL5/NhSv0hCGWWhRm55Rcdne9InSJ41plkU3FZKUkC3ziR/moD2AziZfbT2JZMrDGydzrkmqJ40t/TfprEctRacsZHTEYbcKLMHOzTF98tn56l0TrDwkKC2v24ocTFSlafrFtofq7QZCE1I28md1I8k1u9C/yGOG8utn65lpM2ekvY8Qg5QhSGoMbkzol6ARV7KcfRot4hOw6E+9LXMXfOqLXU/4TVLESmylkNNSNzFuoUCHg5hz7YZl7w58z9PAIlpyxOve5qA5L7ckeZHpjKC4U+XSDv6cjMbGdNQw68qGNpJX7LFBbPR6ddWq7sujxFyP1Z4fnTKDOKx0QySeUyWlArw7PfSMrG9CcAuWbfm386YoUdjEOmuGR3/lhFXKGJ7ZOa6DvhzrkfovPepXMmD5x3OXHSuI7zbj3utpR28xyyRHNoTA880PQ8k42k9n3RfcYJ+s/oiipZPWIBP9z2hdVJvC1xS9bwAZ/mXknmw3MqcoGNk6nfN9l10ljaRMcClUFh/HLqIS884huMOTv3n8bXKei3vZUoNqWHyOX6mPgjmz09Rf0hcljSIX3LgIAXyunpVDiA4cmdvKZ5EAB88aP1za/xub4ZjsYE0bf/PLMYZnUXK8N1XSf6l4akyPrg7F2GCsPT1WT5AewrGYsBWwAnv3kaJpInUVFYgQu4vUQAmhRpyamh4a7019AZ+QTQ/xbaBKpbHm/HzPHSl7nZfYdmEA0DuhcWP561NQvtWPb/OE9vyanpvAncYf/apzSCbrM4SwNi3U0h7R7g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(396003)(376002)(39860400002)(366004)(6916009)(316002)(4326008)(54906003)(478600001)(41300700001)(66476007)(8936002)(6486002)(66556008)(5660300002)(4744005)(8676002)(66946007)(38100700002)(36756003)(6506007)(31686004)(2906002)(86362001)(31696002)(186003)(6512007)(2616005)(53546011)(26005)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YXFvcG5LOXliRFB0dVEya2tnRDhIQmUzU3NYZStycU53Y1JJOUkzUmREOS9W?=
 =?utf-8?B?Y2pvUkc5Qis1RTA4RnZzeDRZSTArNlpMWllpdUlqaVlCempMcnExNzU3b2sv?=
 =?utf-8?B?MmF6MnN0c2I5U0ZNVWpod3pZM1NXVXMrRG1SeVNoNzBUaEpjOGh3aHAvdUMz?=
 =?utf-8?B?M2N5TnJsaDl3YmcwTXAvbC9UeERlNmV0VlVHajhiVk5YWkFiMkt4YmZJVjVW?=
 =?utf-8?B?SHZVVlowOGFBU25OeFhUVEZuakNmbmpUUFQvTTFNZnhzU2xpRjlEY3M2c3VT?=
 =?utf-8?B?MytIR1VyaTIxUFVRa2xlNFNDKzVIWU9ac1FkQnlwNnkwaWNtNmtUTkVicThO?=
 =?utf-8?B?ZUhRcm42Yi9HbHdEWFF0OWlmdXd2OTJIT1VRVjcwWHV5NVFnVThFK0k4Q3Rw?=
 =?utf-8?B?NWpiYWp2Y05adjFQTHBsQ1l4bDdmTnhYS0tEdHhYbG5DNG9qL3h4SXJyKzlu?=
 =?utf-8?B?RVlLMU52VGx4RjUxSFp1N3NFM2hVOGhraU5tMjU1ZTlCYTU1aHAydTc4cmtN?=
 =?utf-8?B?ZmNORG9jYXYvRlgvaFFINHBmNUJlTGErQVlaT1gvREJObW9sN1ZKaTk2TWp5?=
 =?utf-8?B?eWViczNTTzNLMUp4VklZODNJcHNLZFZRQVYxZThQTVdoUXc0V2RiMDhmRWFB?=
 =?utf-8?B?WkI0S05xdnNpUkNqWVAzR1BBZlBLa2p0MVovRU9TQ2tuc2pLb1o5dTNocGpT?=
 =?utf-8?B?cHJON3lqNmY0SUc2MXFpc2J6bU5wZ3NzSDJDNStKTzc3NG1ObHRCWWgvTXdI?=
 =?utf-8?B?YzZMbGNSSnNtMTFiUitHWUlEcU0zQ3U0RGNTc082K1ZKU1ZhVklGS3dUSWdZ?=
 =?utf-8?B?ZUptS3dHdkNVc2cwY2ZTcjFHRlJ4alNJRmxMZ1NlbG9iMFMrMXJkdzA3NlM1?=
 =?utf-8?B?SEhEbm9VQlNVTGk5ZDFlM1V2bVE1SlRQSk0rVHFQSGpZOHRwVkQzcWhVQ2pz?=
 =?utf-8?B?YmpCVVlEV0E0bXhPQ256citRN2NwSWZINE5ibjRyaFBvbU9xTGZkTkVFQjQ3?=
 =?utf-8?B?U2tpL2wrWFNUKzBsc3Fncjk5anBGMW9QUUVGVTFjdGhtZkx6bklhWjArWjMw?=
 =?utf-8?B?Rk00eDZzSDQxcUFVS0lOOFZyTWtzNmVSVVVZdXN2MDlIbFZXZFlGT1A4eXIz?=
 =?utf-8?B?YnBjeVl3TENzSm5JNS9PTnlITjFaQVNXQWRZajBSV3JCdy9NeGdkNFl1VkE3?=
 =?utf-8?B?aXN1ZE45SmFZa1R3WS9pams0QXFRazhyRWFyYmRpV2oyRDYwVTFwZlRvVnpB?=
 =?utf-8?B?Mi96bStXaFAwZmZjZE1EVDJMQUd6RFM0QkdvWkF6VXdiN2dTcEYvUnlDWkFB?=
 =?utf-8?B?TFRwN0NOMGRKWnB4djErcVBtNEY2cWhaTGs0YVg3djNPdm40ZlNQZkwzNGtO?=
 =?utf-8?B?VnlEWmxzVWVkSU1EVFAxRm5scS9Ja2FZZ2hvdTJCQm1sYmhkMGgyTE0rdTM1?=
 =?utf-8?B?MkhETG1ROGlPcWJ2UU9UN3AvcjFEb0h2NlJFSGZLTzVWYStiZGhNbkx2V242?=
 =?utf-8?B?bVJ3NjhXZGZudFhmYk5qUGUweDZIa2VzMTVwTGlDMmUrYkMrQzFqWEFXUHYw?=
 =?utf-8?B?RDNydVg0OThGczNTUm41VGVWMEtycWhDaU45MFgrWHdvNmR1bUl2Y0orYW9Y?=
 =?utf-8?B?akR1QlNMZGtrZzJYUTJMVGVQZGU0bk1DVW5OTFBxWUJaYTVWWjBZeUdRTmtD?=
 =?utf-8?B?TFJTdDEyUngvUW9HcURiZ0VpcmNndiswaTdmcW0ydk9XL2U5RU54cEdTR2Vi?=
 =?utf-8?B?cjRlU1pVaVg3ZjIvaHVoR25CVlc2ajBxV2ZkYW5kQ2lVNDErMGRYak0wTDZl?=
 =?utf-8?B?YkFhREJ0eTI3YVNzZWptd2gwKys3Q2FpK3VTRDI1emtTNHh2ZklOZ2lucm5h?=
 =?utf-8?B?M3RXM3FSY29QYS9ScTRjcSswWmM5ZmVPeG8wVGVXaDVCZnRZcHFuVVJyVnBV?=
 =?utf-8?B?Y2lqY20vZUVZNDhQM0xlTnduUzRqL2Y3elRwekNrTU5nZ0d5akVRMmR3aS9r?=
 =?utf-8?B?RkdYcWM3Sm9VbDdqUXRXMjBBMlBDVGc3NkYyLzBHRUZyYTdDaHFkcnVPWitQ?=
 =?utf-8?B?NDRxVXJGUTROcEphbk5IcTdDWlVSVTVDM1Y0SnFjVStKbEZNem5CbWhFbnV6?=
 =?utf-8?Q?Rx4890OFLDpQvFUxgHn6q+IIi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df85fb54-eba5-4e61-f6f8-08da80654d08
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 15:29:39.9613
 (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: 9aZDMpReVHI5Z7TYMDnnk05rSbi373LzyY0FdqvlqdkGvwVFk12ZFiJ1MEVaq3ZX3kt3Z6uQQ114STc04HKcGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8900

On 17.08.2022 17:21, Anthony PERARD wrote:
> While we already have "--no-print-directory" added to the make flags
> in some cases, there's one case where the flags is missing, when doing
> an out-of-tree build with O=, e.g.
>     cd xen; make O=build
> 
> Without it, we just have loads of "Entering directory" and "Leaving
> directory" with the same directory.
> 
> The comment and location in the Makefile are copied from Linux.
> 
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Aug 17 15:37:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 15:37:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389090.625903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOL73-0003JL-Rt; Wed, 17 Aug 2022 15:37:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389090.625903; Wed, 17 Aug 2022 15:37:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOL73-0003JE-P8; Wed, 17 Aug 2022 15:37:45 +0000
Received: by outflank-mailman (input) for mailman id 389090;
 Wed, 17 Aug 2022 15:37:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U7n3=YV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOL72-0003J8-Ns
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 15:37:44 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2083.outbound.protection.outlook.com [40.107.21.83])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88ca104b-1e42-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 17:37:43 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8900.eurprd04.prod.outlook.com (2603:10a6:20b:42f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 17 Aug
 2022 15:37:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Wed, 17 Aug 2022
 15:37:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88ca104b-1e42-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iuURnG/WXMR4Y1GeO5/zMJwvMp9ZSYyMOMt8xQ91K2yheYNAl6xEV1JNouOi7t6mY3pCwz7CQUjO6dtc4YcpwUBdzamGbl3kJONoUdWuoeDQ+tjb1lHsSfFR0ZVKU79pH+IZO99CIHJohP8PQQ5ZzdKmoRp0SQ0sd8iCRaeGDy/UyHd1fAKZ212e0mI3u10kmaqAeGnRzOTzMGyM1Q3xVgGvB0ipdEITGPLM98Wy+ADeVC3TGffIBE/mptGHYjq4LAI9K9S/rUj+ATbWDD2Fro3B9UYHR6brR+xrreXGeVLdlLt75ZERlVkL6cHfOnv7jVkCCzzB+wKJaV8ofZQtqA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=23uEh3Zz6pfkXbtioeShMTXgXhAMaur2LlFu/2JFUec=;
 b=eIeLPez+BDHEwb8NFHUnLdeh9ryalVpOGmSj7J6zkobOOFoRM6OvRiQkTStwdzRZYlT42tRV5m0QBIQRDbHhvciC7A64h0CRSTubzr0YHOVN2ssIN2Vqa+QYQJ0WAKnC7wCWCbxLmrOqyTdruIUBvSJV9h0rhxgxeXR2msNJEpSq7J28VKc4dMMpGGnQH+4hbM4Dy3axyp56ANsiBrsR0H+jAuXcBVRGhBDwOtW6PLsB8AFHGYIL87eGvkvDeqiHewlbAUzyO8R5nqG08njOZsHnB0ZpKXSNpst6JPBXf7OD59EMqlQCTG51d51EcS0Q98p5sFo4s2Ww4UunpURFdA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=23uEh3Zz6pfkXbtioeShMTXgXhAMaur2LlFu/2JFUec=;
 b=uz/oAkWDRxJVGOksUzS4A09uA3zvFPJ473B1WvT1UNeS24laqWIxtFCHqu+ZX9kdVH7RlAHbV1QI6a6jMMwz3Chiu9TYcCOSN3TXdY4cc9jXZdxjBI89ECNtjqPqN4kNBRCj2BKbxq8Tt3xlgSIzgCw644G6m1DoeuwXmhIACwSH936pwedTUK+m9ERFkiFuGo+8YVnPlyypGfl4X1k3Y5HKecVxsDgmLZGZlybjwYUI46eqyf2PFCsXQ2rZchZK1JgECy0BW+bd/0E0c85NjUSd+4kl6WsZeuWSg1p1zdOLzoRwBNe7Pr3FuP5h79nglETscnzv3hnHmaBDG0oerQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <52808f64-ed7f-27d5-8da2-979091d10c68@suse.com>
Date: Wed, 17 Aug 2022 17:37:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v4 11/11] drivers/char: allow driving the rest of XHCI by
 a domain while Xen uses DbC
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.05bda81c2f5ff91948f96e397b6836bcede71ef8.1660354597.git-series.marmarek@invisiblethingslab.com>
 <403daba6911a3d40e4774b46ba555f6d76b3c249.1660354597.git-series.marmarek@invisiblethingslab.com>
 <141cb0d0-3563-1376-a6b0-a977142c1873@suse.com> <Yv0I9L/a+xR199r1@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yv0I9L/a+xR199r1@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0159.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a21bab76-5964-414c-f3d2-08da80666baf
X-MS-TrafficTypeDiagnostic: AS8PR04MB8900:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cBTXjvmGM73sq/soBhb2dUuMB+Jo1DNMgUdKhLqoQ9NFyHHURDr0NCIEbcqWciVEqzjsWao0mbrsEyyM6VBIydlxYr9C4bvyvm+VS21UXVYIb90Z8z84LY8Pz99PUet3fPDW57bzSZJ8PAlAMje1Y8MwabVMIc9CCo9uHJgoK4ZAvWvsmu7Q+5opWtapT8RPonExckfpSik7PgRhMcPIBCJbcsSTXxixmEB2svqvSIcarnxjA+sB4c3w8Ec08pdvHMIcdWWkPFeOQat94Dzj0r/sVZGyLfqu8NQmOGd/0pmloi/oOLl3xSJ27ED/+mVZIHGuIVqiY+vBVMyr6fXPaQM4XzODJ4Tj55HYkvb6/WLrnSEaRfBzMGdqIK6QMsb4RL8/Whe7eIGTawzGSNRhmqXDtAT4O0qtRqse88L/O3sNGO6DCulW3Rl5L2saShAIUYwo4Mw2IDpUqpA+ssWxK12swlD3kt5/0bk97+tz7P7/Ege4Y2cJGz80Tn6crxr4i/84RlLjkRvwsE1QvW8kDyIbiY2jotH09qj748SbE1iIi7FtFmk2T0VrrY5QZKDMwD0E0t92GPY4hMYDoHuViY5GQiMP1CZIsrjGmYgeTSl1F58qQpDVi71VZtqJ6lmEhdI2crJPFWF1ndqdrSwqsA0jQhnL7zFMXw+NAkYGr+XhZ12A912ND1SbquhfbAD5xCp4ZmUmY6N5CWkj4A+AX+UKSCfsKWuuGZhzTQ0zdOQ8kQgiBeH+hVb5uzYi2Epjf3o4VDPS9Jr10xLGJt5GJG+OYKn+f2dFA8WPZx+Fni0xAFXWR+wjlZS/sxeKETnm6YufBmD37RUSQVm2v2UK0Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(346002)(396003)(376002)(39860400002)(366004)(6916009)(316002)(4326008)(54906003)(478600001)(41300700001)(66476007)(8936002)(6486002)(66556008)(5660300002)(8676002)(66946007)(38100700002)(36756003)(6506007)(31686004)(2906002)(86362001)(31696002)(186003)(6512007)(2616005)(53546011)(83380400001)(26005)(66574015)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDAvNkR2ank0SjFTVkVrU1FhZDJOZkdwQjBCMy9pWDR1MVBrWDIyTUJrajZy?=
 =?utf-8?B?elFkUGtyMUNqNlVMWEZxdUxDOHdUU0NCK0o2RXlCZGpMdXlMcERKTzM0eFZW?=
 =?utf-8?B?N09GWlo4cHJtTTlIMkg3U2dyMXQ0M2tzNlFZMkFKVktDR2dnK1RNZno3eTE4?=
 =?utf-8?B?WldaM012S0tsUThnR2NWa2JhbUJvODQ5TEZLYm1LRThmMUlMT2R3VGk0dE1U?=
 =?utf-8?B?T1A1ZzMvSFhSaEs4RHhFS1ZpeTFIVTVlTFM5dCtvdTdEWmNmZmJLYjN5SUpU?=
 =?utf-8?B?b2dHcTU4Y3V3T0ZRVSt0MFlabFpGS3hnRGYxTk5RSVVTWkNYSHpINHpmK3U5?=
 =?utf-8?B?TytUYUpqcWtsQjliaFJuNW03TUJWK1lqZHpsWWR3UThmdDc5TklmUHh4RzRi?=
 =?utf-8?B?WVJkcmNCVitwQmV0SDUvWGVxWWRDU21GekxRZU1NUHZFK2h1ajlseXFIcm9M?=
 =?utf-8?B?V0xJUUpBQTNILy9iVHdJaVNqQldBWkZZejlFV0cxVzFyUThuS2cxSzI1SGtD?=
 =?utf-8?B?RFNybDBIOVJEeUliN1pmTERjY3lqM0V4d1U4OW5iMllOU0pDU1lZUDY2S2hr?=
 =?utf-8?B?bndnV09jVmlrZ0dsRjNLaXRWRjJ4Nmt2dXFFRUgzdlJTWDNRUC9SQ1Jka2R1?=
 =?utf-8?B?YndHbjZWampiMGVUZi9GdGZGaGlCanZPWE1OTzBNeFlrRWg0Nm4yd2FDeFVX?=
 =?utf-8?B?YUJPR0NNNzdnQUYyUFo3ZmZSdGNreTZUNC9yYXdjcDdDUnhUWVhDT3ZxNWlR?=
 =?utf-8?B?RS9HZE5hVDdXbW1BZVVZbXFHN0RCcjFXSkJRV01UN1VncTBzTzRjVkFFTHhq?=
 =?utf-8?B?bTExc0M4QWtlVWwwMWRtemh2NXBMSEhSaWJESmVZMmVRS0hSVkgwdnBXL1k3?=
 =?utf-8?B?L3hZN2xxbXZ4eTdhNHMyMXdDWTZrTUJIeTNnZnlBdWRDb1NlMS9udE9vUjg2?=
 =?utf-8?B?QWNyUThBR2IxcEl3MUdrT1VXOUozVDM2Ty96TWt5TnBLWjk1Nk5Rd1ltbjk2?=
 =?utf-8?B?bjNkMEJEa1lQSHB6WVJzTVlnTXltQVQ1ZFNtRUdwdHJrL3BzMGZOVTFKZVla?=
 =?utf-8?B?NVlkdzN2RS9UaVFiYmtrYW8zeWxRSHZmN2o4TG8rUHU0WlQvYmNqV09aZ1RS?=
 =?utf-8?B?MEN3WDZtVDRWVmExM2FXTE50ZW5LWlZRNHU5VlVnUEFDRWVvb3I2Q01pS0Y5?=
 =?utf-8?B?QjQ4ZlJDOHEyUFhRV2NmZndLL3FBR0JxekNybVBVWUU2ZGYyaVBMREd2bU5v?=
 =?utf-8?B?Z0xNM2xxdmZ1L1BqeklqK2NJTE4zSS9SakVaV0puaWhNbnRUdU5VbWJkWnJq?=
 =?utf-8?B?SGFEQXBLSzRNU29oRjRDWitBTUhIR0N2cEJ6eWdpZkpMV1hmeDV2cU1CdWFi?=
 =?utf-8?B?Y1lSbVBRWVFGWGV1dmRCeS9aNjZ2ekwwZDZodldsbkhGaG9yNlkrUFRjQUJy?=
 =?utf-8?B?RWlyVnVoSExDVzJOM2o2Z1o4M1FobVRaM3FZUTIweUpOZERLbmVzRFhQOTNz?=
 =?utf-8?B?K2ZnVVVPWC95amNBT2hvYW9CRXg1ckN4d3d3RUYrUllSR3JKYnFXYXh3UmhY?=
 =?utf-8?B?bHphbGVidzBBcG1WK3VKVHVEbnoxVHBhQnhHc3RQVThCTGFqc2pEakpveHRO?=
 =?utf-8?B?cEdCdlQxZE5hcVh4TEZKenp1clhzdUNqYWJRSXBZcWhWNENzOTVMc0FkdXc5?=
 =?utf-8?B?UDVEYUVlSFBaVGtoaElYbXFWTzlXbkEvN0dsaW9Fa2xRUkxRanVMTzdXSEwy?=
 =?utf-8?B?c1Nwa0JvZGZ1MXZUdTUwNFR3QVNzak5RUDJjMFhDeDBqbEZmbCt2RENVR2Uz?=
 =?utf-8?B?Z0ZrelJjUTdrM2ZZWTNnLzJ0eUV5Ulk2QVZDUFFYcCt3U2Npb3cxaWJ4dHh5?=
 =?utf-8?B?bjhGWjY0N0pTQisyQU1MditFTVpIaFM1dFcrM2xONDR5R1dMaDVkWWo2YWt3?=
 =?utf-8?B?eUpwS3NrTnp6TThtQUhLekg2aGdqOVFHS2pPN3RoLzJ2QjFlKzB5YkdEUXdl?=
 =?utf-8?B?RFFncXBrZU1tSm03UFpId3VKTjhvb1lVcHM0cWE1T0VpcjBraFpiaHYyQzhE?=
 =?utf-8?B?eE1EOVMwc2NmdFg0TzFYNEt0SW4vN3pUa1NwdGNBWlljM0dKTnRtMWVHMGR4?=
 =?utf-8?Q?I6pFfFiikUSxKwlpvNR3K/qTu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a21bab76-5964-414c-f3d2-08da80666baf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2022 15:37:40.8840
 (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: KWgHNPK1zdEQTp9+2rH5TBDywP6cSuS2824vyAKsyraq8MVgd9XkrkcN90DFbx6OHeZ4heiM0agowcwxo8i6lw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8900

On 17.08.2022 17:27, Marek Marczykowski-GÃ³recki wrote:
> On Wed, Aug 17, 2022 at 05:08:35PM +0200, Jan Beulich wrote:
>> On 13.08.2022 03:39, Marek Marczykowski-GÃ³recki wrote:
>>> --- a/xen/drivers/char/xhci-dbc.c
>>> +++ b/xen/drivers/char/xhci-dbc.c
>>> @@ -23,6 +23,7 @@
>>>  #include <xen/iommu.h>
>>>  #include <xen/mm.h>
>>>  #include <xen/param.h>
>>> +#include <xen/rangeset.h>
>>>  #include <xen/serial.h>
>>>  #include <xen/timer.h>
>>>  #include <xen/types.h>
>>> @@ -232,6 +233,14 @@ struct dbc_work_ring {
>>>      uint64_t dma;
>>>  };
>>>  
>>> +enum xhci_share {
>>> +    XHCI_SHARE_NONE = 0,
>>> +#ifdef CONFIG_XHCI_SHARE
>>> +    XHCI_SHARE_HWDOM,
>>> +    XHCI_SHARE_ANY
>>> +#endif
>>> +};
>>
>> Hmm, this suggests that Dom0 cannot use the controller without the Kconfig
>> enabled, which I hope is not the case. 
> 
> It is the case, because you requested reset quirk to be behind
> "experimental" tag in kconfig. This quirk is (currently) necessary even
> if just dom0 uses the controller.
> I'm happy to include the quirk by default, but I got impression you
> wouldn't accept it. And I'd rather avoid marking the whole driver as
> "experimental" (which hides it unless you select UNSUPPORTED) just
> because of a small code necessary to share it with dom0.

Hmm, well, I'm not happy about that quirk (and I did point out how it's
done for EHCI), but I agree we don't want to "hide" the entire drivers,
and I continue to think Dom0 should, by default, be able to use the
device (to the extent possible). So I guess I have no choice but to
accept the use of this quirk by default.

>>> @@ -1128,10 +1181,34 @@ static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
>>>      init_timer(&uart->timer, dbc_uart_poll, port, 0);
>>>      set_timer(&uart->timer, NOW() + MILLISECS(1));
>>>  
>>> -    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
>>> -        printk(XENLOG_WARNING
>>> -               "Failed to mark read-only %pp used for XHCI console\n",
>>> -               &uart->dbc.sbdf);
>>> +    switch ( uart->dbc.share )
>>> +    {
>>> +    case XHCI_SHARE_NONE:
>>> +        if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
>>> +            printk(XENLOG_WARNING
>>> +                   "Failed to mark read-only %pp used for XHCI console\n",
>>> +                   &uart->dbc.sbdf);
>>> +        break;
>>> +#ifdef CONFIG_XHCI_SHARE
>>> +    case XHCI_SHARE_HWDOM:
>>> +        if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
>>> +            printk(XENLOG_WARNING
>>> +                   "Failed to hide %pp used for XHCI console\n",
>>> +                   &uart->dbc.sbdf);
>>> +        break;
>>> +    case XHCI_SHARE_ANY:
>>> +        /* Do not hide. */
>>> +        break;
>>> +#endif
>>> +    }
>>> +#ifdef CONFIG_X86
>>> +    if ( rangeset_add_range(mmio_ro_ranges,
>>> +                PFN_DOWN(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset),
>>> +                PFN_UP(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset +
>>> +                       sizeof(*uart->dbc.dbc_reg)) - 1) )
>>> +        printk(XENLOG_INFO
>>> +               "Error while adding MMIO range of device to mmio_ro_ranges\n");
>>> +#endif
>>
>> I did comment on this last part before. There very minimum that I'd expect
>> to appear here is a comment as to the issue with other elements living on
>> the same page which a domain's driver may actually find a need to write to.
>> As said before - as soon as such a report would surface, we'd likely need
>> to add write emulation support for the leading/traling parts of the page(s)
>> that Xen doesn't use itself.
> 
> I did included paragraph in the commit message:
> | In any case, to avoid Linux messing with the DbC, mark this MMIO area as
> | read-only. This might cause issues for Linux's driver (if it tries to
> | write something on the same page - like anoter xcap), but makes Xen's
> | use safe. In practice, as of Linux 5.18, it seems to work without
> | issues.
> 
> Do you want this as a code comment too?

A shorter form thereof perhaps, but yes, absolutely. Getting at that
information shouldn't require locating the commit.

>>> @@ -1228,6 +1310,41 @@ void __init xhci_dbc_uart_init(void)
>>>  
>>>          dbc->sbdf = PCI_SBDF(0, bus, slot, func);
>>>      }
>>> +    opt = e;
>>> +
>>> +#ifdef CONFIG_XHCI_SHARE
>>> +    /* other options */
>>> +    while ( *opt == ',' )
>>> +    {
>>> +        opt++;
>>> +        e = strchr(opt, ',');
>>> +        if ( !e )
>>> +            e = strchr(opt, '\0');
>>> +
>>> +        if ( !strncmp(opt, "share=", 6) )
>>> +        {
>>> +            int val = parse_bool(opt + 6, e);
>>> +            if ( val == -1 && !cmdline_strcmp(opt + 6, "hwdom") )
>>
>> Nit: Blank line please between declaration(s) and statement(s).
>>
>> Any reason you're using parse_bool() and not parse_boolean() here?
>> That would save you the open-coded strncmp() afaict.
> 
> I can probably use parse_boolean() too, but then handling "hwdom"
> variant would be a bit weird. I could skip 'share=hwdom' parsing at all,
> since that's default if the kconfig option is enabled, but I'm not sure
> if that's a good idea.

May I suggest that you take a look at xen/arch/x86/spec-ctrl.c's uses
of parse_boolean()? Maybe you consider some of those "weird" as well,
but it's not like these have been around forever and are now deemed
"bad".

>> Finally a remark seeing the opt_dbgp use here and the identically
>> named option in ehci-dbgp.c, taken together with your multiple-
>> serial-consoles patch: Since the two option consumers are now
>> different, they can't sensibly coexist anymore. There were issues
>> already before - it doesn't seem to be possible this way to run
>> EHCI and XHCI based consoles in parallel. (An exceptional case
>> would be if <integer> for both was intended to be same number.)
>> IOW I think one of the options needs renaming; it was a mistake of
>> mine to not have pointed this out before committing patch 1.
>> Following the name of the source file as well as e.g. the title
>> here - maybe "dbc="?
> 
> Yes, I can rename the option here. That requires also registering new
> SERHND_* and inventing new value for console= parameter (implemented in
> serial_parse_handle()). "dbc" there too?

Probably best to be halfway consistent with the naming, yes.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 16:18:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 16:18:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389101.625921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOLkK-00086t-V8; Wed, 17 Aug 2022 16:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389101.625921; Wed, 17 Aug 2022 16:18:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOLkK-00086m-SW; Wed, 17 Aug 2022 16:18:20 +0000
Received: by outflank-mailman (input) for mailman id 389101;
 Wed, 17 Aug 2022 16:18:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOLkK-00086c-5E; Wed, 17 Aug 2022 16:18:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOLkK-0002Ue-0N; Wed, 17 Aug 2022 16:18:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOLkJ-0007Ko-Ft; Wed, 17 Aug 2022 16:18:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOLkJ-0002s5-FR; Wed, 17 Aug 2022 16:18:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tWnsycJK+jeHTlsBFBlOHu48vliTvkioScE+vV4YkDU=; b=j3Y1c/+/JqA+XrjCSPunVS6DNl
	cdYsM3ZvQ4Ktx5ClYEaaDwOJTEtlIydDU+6y8aFc4VYdjb5f4Fwq7KVQrni0X2NY98dWzt09yy2hx
	YWhmsFpuc+A2pCa29h7MlBF+t9vkQEUKs1T6NUcJU7u4qSy92EhSZwCDrBHL0ngE3/l4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172590-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172590: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=231af0a08ca6c021a8d5daa8a4a9d804b9224ea8
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 16:18:19 +0000

flight 172590 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172590/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              231af0a08ca6c021a8d5daa8a4a9d804b9224ea8
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  768 days
Failing since        151818  2020-07-11 04:18:52 Z  767 days  749 attempts
Testing same since   172563  2022-08-16 04:20:29 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120378 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 16:26:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 16:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389113.625936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOLsH-0001Bt-1O; Wed, 17 Aug 2022 16:26:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389113.625936; Wed, 17 Aug 2022 16:26:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOLsG-0001Bm-Tq; Wed, 17 Aug 2022 16:26:32 +0000
Received: by outflank-mailman (input) for mailman id 389113;
 Wed, 17 Aug 2022 16:26:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOLsE-0001Bc-VL; Wed, 17 Aug 2022 16:26:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOLsE-0002dV-Ss; Wed, 17 Aug 2022 16:26:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOLsE-0007vv-A4; Wed, 17 Aug 2022 16:26:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOLsE-0000DN-9a; Wed, 17 Aug 2022 16:26:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/tdVOiOyHsQ0N0LYJqzUWiljLcCjkySaiBfRvHZn4ZM=; b=iYLJ6ZhcJ+6P6vgVuPSi/KwGkZ
	WRTAJEXxRUyc/GUJBfCq8FAb3uQWYxApXy9Ea/jdvK1+mEnd0u8hQ5PpS0TydFijm7lLu6o7yNKN4
	ndbcjDjg/QIoV0nRb2qhnP9JJRmhoTnS4S7o+3NOElPiEHu/LKIZmKAd3EnGBXl45GmM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172599-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172599: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0f2611c524385f7bffeee67635a488a5a29b6ba4
X-Osstest-Versions-That:
    xen=283abca2997141ea780fc86ca9524b1d837243d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 16:26:30 +0000

flight 172599 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172599/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172568
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  0f2611c524385f7bffeee67635a488a5a29b6ba4
baseline version:
 xen                  283abca2997141ea780fc86ca9524b1d837243d3

Last test of basis   172568  2022-08-16 10:00:27 Z    1 days
Testing same since   172599  2022-08-17 13:03:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   283abca299..0f2611c524  0f2611c524385f7bffeee67635a488a5a29b6ba4 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 16:39:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 16:39:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389124.625947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOM4u-0002iL-5J; Wed, 17 Aug 2022 16:39:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389124.625947; Wed, 17 Aug 2022 16:39:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOM4u-0002iE-2U; Wed, 17 Aug 2022 16:39:36 +0000
Received: by outflank-mailman (input) for mailman id 389124;
 Wed, 17 Aug 2022 16:39:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WjVN=YV=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oOM4s-0002i8-Ee
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 16:39:34 +0000
Received: from sonic315-54.consmr.mail.gq1.yahoo.com
 (sonic315-54.consmr.mail.gq1.yahoo.com [98.137.65.30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a7f31dc-1e4b-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 18:39:31 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic315.consmr.mail.gq1.yahoo.com with HTTP; Wed, 17 Aug 2022 16:39:29 +0000
Received: by hermes--production-ne1-6649c47445-dfpjm (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 71f044338d92358baa775f8f58366682; 
 Wed, 17 Aug 2022 16:39:24 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a7f31dc-1e4b-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660754369; bh=h0Usloj2Wcsg+icO7aHh0ohv2JWzmgO2Fi9E0GF0TcM=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=JQb4K5FTH3HPCNB+3zVD85yZS/6pS4Egxas7E9ZtOJKD1KVC2eAbaJJ/Zo4yXx8vXUWkpTnRtPUb/bXQPhPOQU4oxux0Sl3Q4lXmj0Y3+T2GHo7YA/Gg20/TTtSWZZu82CiGEdHqw/amSYU5E4M+YBuFhY4Ewq3yxdmlDjVGnvrHW6eqFOqu8klzBy0fdpM4FvUm2TAiSj3yNpzyhUiejA8cfVyhu2TcHPNXMdBE+CKldQEtxwALIeDPESNi2LhGdaHt57p2lYNSuNhyhnqLb5AkUB4dRO8uS90RPcjtRH/R/eQUJPpJFsEgTLLTPrpq1c3kdFQCEytx4mszdK2DmQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660754369; bh=W7DXS7Ou0qbxl2bjlZyv2kHKgQS3WHgBQGLYXkkSADd=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=sejze7Zd7HzECEyUkcV0qJuWPxwJ2fVE/h8e2GMNhAdehGrCfftrTBNpyCodsm+pdzil/CLdwUmBurFs5AfA+sycyHw2CB/hnGd6H9sUfY+0GCvb+FyFLzyswVQOFXYgPh2YoeULbWdCi0X6qAEM8PqCOVCO/gHx/v/lc3eqcTgwBQVnomj3s0xXU8GGJaEWUv0xvvSgkuovdFHVmiayPwUeCbFtiZSl2FqM6HH2bbhriedwlLYKTTv35tFBYzzs1wzEtW74HDfZx70/J+OfDj4b+j99W2wr6Q8an67deegHOi8+vlpfd2W+h+X9KbJ+RzGVbFssVcx/oUvh+asNMA==
X-YMail-OSG: xpWHUqYVM1maFPJ25Ub2KYgF2UqRiGDP7ys0R18r1af5ghW6XOR8gfyL_PXhMLs
 uF.to8igJ4taDuFK.af8QDF0.Am3g2QN78LyYxaOo7yNGk_FCDv3yrgA4ezX5zq_dPu3oKF_04q6
 qDfQ.SOjRJLnMpC1cr04ij6A7sXIqlpLW96LrPAkTnKhJiLKkjmsDgBo2A3Qph4MFO4Vji9Xi7bV
 sk9QVh3bVWShaPhdsBq0fpLmJ7BGnwVkbq42ucHGpgFjvrYfSIt_96SBLS29aeXUfJciNhvOV4qu
 yIReXaMD8x8agICtu4SpPaVJFGn3J_SnvXc_a_E_gt.3WuwmZTvT8u_jCq1u2ODxJKh7z0dEBxqt
 kAI.nKL.5CpX_O9LoNmCw8RYVmiBoZXE3UAolpiuCbcMzsRTekHT6vSSyBmlvqjAmOCYd2kxdfGk
 LXfD9.lIjEmMMuXP0MD_hlKwN5YkTv35jqB9F5zwSQVav_Ab_._PDYpd8sYSZlHPntsdyPf0oPxz
 29tzIJcfQzdo3eA8XvLIZS5LrMafiNQuqpqgDNEjeMmjbQ75SzgbeOhukokNXOPbHXsLjOdz6AC2
 Kf_1yCh_s3JJgURkSQWHjzEYNfS5OLl_QbCEAamWiNQMZ2UPiq_HhvjuVvLihyZ3tyJvbn8L.oYd
 ErVTNkpODNoHaffXF4doFzldQ_x6eKioqrD1YY9Q7jwWkciuci85XIc6RMw_YAHm83UAS8IB3K67
 4G8r406C9qv1x7QCPRjEh8PpqHRR5IJo1NR7rFFUA4NdV_KdRHzW_D6WqT102G1vrs1Zq273qT9E
 0SRn_BgRnFrFSI.t1ckEWS.70ngVoqTl9MvfJ7lnEz2iy28srPrrpR8FtiP8UzwPtB3bihNgXoJy
 ovmhYZai158oluX1Dub24809CJY8e9C1jhqukiIbj88coJ49Siyx5nmslaxTHO0D7uFxGQOLipDV
 AUFEEsXDrYNUwMHj_JcJRX0t15znCVZ5FK6UU79puoVx4Yit9wADXeTBDsmT_mji1IBeHtHU1FFH
 xIKhsbnLcRyopY_BPBc3U1SinnB7uknM9Jip2YVpnLBn9SMtgEpyxqCi3Qw19zmmBY04lsr6dAWw
 9HrE6O7D57ZkN2fZNWHZ0jW2OejU5C0MfSslG0lsFwjlNn3vIMU7HPpWqKb7NNAFRpzh94igsP83
 hk_QiNqLtk.wLnh9h1S3cjB7nqB0yc.NSznOMKqS4M5bwMHTYbaCGSH7ek9wcG40aT67h6TTbHT7
 l9t_0RNBCEWxq5bpn07GedYh4R6A2NY88caTSYApGcs82TUAgzrHYZn8.EA3iows12xesshY_M6C
 q.9RsazHyCecIqfhlM9sjG_LQSsSacLPyny_m6egwh6eeHW5bjY5OeI.OmUZ8kurxA_JVWhMOGq6
 f6aL2QbGdFZo_YJo.y.0LIkbMtJaIMf3Mim4BtKYZLpADBJooNp6eOyDOwalLe7q6ZO9wtaxWh9n
 yQhLW2saN2kpAm9vzunKiwaC6wCBPb2959tDY178dTJYdlrOOIZmBKSM2hqWiCYGaP9fa6hTkEBD
 N_.nfvq0myzabyx98Y_PoG9WwBNoAgUOx1IljPndF5nhOCP7vW2vbR26MS4wbAHhLRFSKD_GbCN.
 Thy_5tb4ezqGZiJ1_QEYuAxPaf.75jfrOdCP4C4EKYp.j7X6U_Aku0tGaqgcndV_I6lVFTbexCmf
 fAAwABitZg8qpR__g_LtcQ3Smp0HBEwNeQnPr4jD72t.Ymi0qhM3TcbenWcIDgIETPCrQo7cZG3B
 SmwwZQUy67kLntGxi9mGrXBmCnHNF10b3q_k3JcZ_ukSMMdzLlb52EjLxWMBk.DGG6r0R1exEQHY
 Hj7RHBAlrzHNweVnQNn0xJot9IV1zHVY58STDmFOmHwVhQbxiZK7yjXKtN4f058S2W46C0AbFHkl
 4JHbYukcOr5mPnOdkFfukDSzWJ_KVzg8wJD2RRxzUItD3Z3PPlmJLx3KyhBMty3zxH3tqbIxQi1m
 ztTK5_E9CIJKkQlSX77Mb00UlJPCJRrYy_raNBa5W9WkLXnoyMeegIIa4PkT.6n9L__336_yQgjG
 .RZOes2vZuP0HhZYjS_0ttUygDR3Sls2h5p67HY5x1g_bDEDtN6jHbJnXLDCRfB5VB7J9VsCvSys
 25f_xskgnJ6htFJSZbhh8kVxR3KQvnY96c5zbBdpX.eIsu6_nCj9QhW.HWHTXNNkKvQ--
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <28fc53d7-b189-5097-df44-39c9c2170449@netscape.net>
Date: Wed, 17 Aug 2022 12:39:19 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH v2] Subject: x86/PAT: Report PAT on CPUs that support PAT
 without MTRR
From: Chuck Zmudzinski <brchuckz@netscape.net>
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: Dave Hansen <dave.hansen@linux.intel.com>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, x86@kernel.org,
 "H. Peter Anvin" <hpa@zytor.com>, Dan Williams <dan.j.williams@intel.com>,
 "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
 Tom Lendacky <thomas.lendacky@amd.com>, Jane Chu <jane.chu@oracle.com>,
 Tianyu Lan <Tianyu.Lan@microsoft.com>, Randy Dunlap <rdunlap@infradead.org>,
 Sean Christopherson <seanjc@google.com>, Jan Beulich <jbeulich@suse.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 stable@vger.kernel.org, lkml <linux-kernel@vger.kernel.org>
References: <9d5070ae4f3e956a95d3f50e24f1a93488b9ff52.1657671676.git.brchuckz.ref@aol.com>
 <9d5070ae4f3e956a95d3f50e24f1a93488b9ff52.1657671676.git.brchuckz@aol.com>
 <5ea45b0d-32b5-1a13-de86-9988144c0dbe@leemhuis.info>
 <56a6ab5f-06fb-fa11-5966-cb23cb276fa6@netscape.net>
Content-Language: en-US
In-Reply-To: <56a6ab5f-06fb-fa11-5966-cb23cb276fa6@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 1266

On 7/14/2022 10:07 PM, Chuck Zmudzinski wrote:
> On 7/14/2022 1:30 AM, Thorsten Leemhuis wrote:
>
> >
> > Sorry, have to ask: is this supposed to finally fix this regression?
> > https://lore.kernel.org/regressions/YnHK1Z3o99eMXsVK@mail-itl/
>
> Yes that's the first report I saw to lkml about this isssue.

Hi Thorsten,

Actually, now I realize that was not the first report to lkml about this
issue, although it *was* the first report to the regressions mailing list.

Actually, the first report to lkml about this issue was Jan's patch that
will hopefully soon make it to linux-next and mainline. So the proper
Link: tag for this issue in the actual patch to be committed to the mainline
kernel is to Jan's patch that was originally posted to lkml before any
user reported it to the regressions mailing list. To know there was a
regression from Jan's original patch, one would need to have read his
commit message since he did not actually report it as a regression to the
regressions mailing list at that time, nor did he identify a culprit commit
at that time.

Bottom line: everything seems OK right now because the patch moving
towards mainline does have the correct Link: tag. Thanks for all the
work you have done on this regression.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 17:02:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 17:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389132.625958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOMR2-0005u3-0x; Wed, 17 Aug 2022 17:02:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389132.625958; Wed, 17 Aug 2022 17:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOMR1-0005tw-Tg; Wed, 17 Aug 2022 17:02:27 +0000
Received: by outflank-mailman (input) for mailman id 389132;
 Wed, 17 Aug 2022 17:02:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOMR1-0005tm-5R; Wed, 17 Aug 2022 17:02:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOMR1-0003Fv-20; Wed, 17 Aug 2022 17:02:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOMR0-0001uq-At; Wed, 17 Aug 2022 17:02:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOMR0-0000Ii-AN; Wed, 17 Aug 2022 17:02:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rykibj5rZKUYWoTvaPt/RrraA0HVUc1A2U4qoNLeC84=; b=JJSK8yPam8YFp/SSwDxqUyuibo
	H+ZfOn4I6T6qN/zN4zJE43c94+8X3mYQs/00U4PVF9vFowiOq5Djo5EnJ7kvQbXoleZzxUMzb0Veu
	Hjyir+0yZcWaV7Mpnyz2OBkniqMFFe+16PKDolWEPShy4ajkM4OtSZjL1p2OCj31wvkc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172602-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172602: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-start/debianhvm.repeat:fail:heisenbug
X-Osstest-Versions-This:
    ovmf=64a20bea97e6a19651e639a9c24e5f4e37b70f81
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 17:02:26 +0000

flight 172602 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172602/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-ovmf-amd64 20 guest-start/debianhvm.repeat fail pass in 172597

version targeted for testing:
 ovmf                 64a20bea97e6a19651e639a9c24e5f4e37b70f81
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   13 days
Failing since        172151  2022-08-05 02:40:28 Z   12 days  111 attempts
Testing same since   172595  2022-08-17 09:11:46 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 735 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 17:18:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 17:18:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389144.625968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOMgv-0007U2-EH; Wed, 17 Aug 2022 17:18:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389144.625968; Wed, 17 Aug 2022 17:18:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOMgv-0007Tv-BZ; Wed, 17 Aug 2022 17:18:53 +0000
Received: by outflank-mailman (input) for mailman id 389144;
 Wed, 17 Aug 2022 17:18:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gXDg=YV=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oOMgu-0007To-5S
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 17:18:52 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a91c86b1-1e50-11ed-9250-1f966e50362f;
 Wed, 17 Aug 2022 19:18:50 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id dc19so25668606ejb.12
 for <xen-devel@lists.xenproject.org>; Wed, 17 Aug 2022 10:18:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a91c86b1-1e50-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=3Mq83bVWzHxFk7cCXLji66xJgFBCQaPvs1BDyQ86W/A=;
        b=qu298M2ERUexx8MrYmlyNDXxXg5bqPvfEsmAhjsc1dYf7gl/hgF9XofD8upXQkMlYM
         FrweM2kzM1MNfLR0A/UZ8MVvQ3I4iOkaDtHb4nEatKH3k88A2GWWExCKsvtAONSAczhk
         AbifjBuzXUD7VphKmJA1DC9diTxQBOlbP9n0snY7IpkJys2iHckBScFobyusMeoTKz9T
         vOXQ4nCaOOKBMzDvEI+Y9FoGZHAgUcAiQejERaHwKDhoh8meJ/JO3HzvrXYQNES5OyGn
         znXeN0ZpXpfHRMulq/LZN+Ey+lhNn3tAAtfoxT0dDJGX9W9e9BujMe0In6ZUtaQJYsPT
         SzoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=3Mq83bVWzHxFk7cCXLji66xJgFBCQaPvs1BDyQ86W/A=;
        b=4+YStsbejb9oLIPZcYAU/KBv4ItSFmTmxxvQf+efEtaxswIjW5YeJmG0L82FA+5d+O
         A8CZerwAvp8hEfYrlzFc7LAqqafuzZ/6nZJ979JlcUazNIPZKnOpeYfDymLq5E70UQ84
         /j3XY27DpQZU27AM7tSrO8EPTzcAG+ivMRtXMSphdVH57p0sz4QyMJRTpQwRMKaFJiNl
         /u0RMPDar8gczKPjwQf9B0bEH8JmJ97V+oIhxae5cAWnESy9woUCncQM5uhCSGBKrJzb
         cHVQJH84EPlfAEILfMMBjApij/OfFqcspvKU02ntLJDOY3PVANF3gqIJZUW+wD7UXlUr
         JMnw==
X-Gm-Message-State: ACgBeo2dYhwqkZncAGbLkHWrlaQ8kEyYnY8bd+AhKmkGK16pf3mt2ksc
	1kJLE3in9aWi82bIm775k7Yv59iVzT02kd/hSW0=
X-Google-Smtp-Source: AA6agR6y44anvn9VMPu6244hlkGMd5nWmK6zX+Ue/mYAYKpzB7TWunGgJkYRMAwz5/AjFsqaKdY7MluZH9QYciWMTg8=
X-Received: by 2002:a17:906:53ca:b0:73a:7443:7c42 with SMTP id
 p10-20020a17090653ca00b0073a74437c42mr2025039ejo.761.1660756729901; Wed, 17
 Aug 2022 10:18:49 -0700 (PDT)
MIME-Version: 1.0
References: <20220809140633.23537-1-dpsmith@apertussolutions.com>
 <CAKf6xpur5sESPxgDEmY=PsnDDmuZ898UbaAECccGuQuyetjHEQ@mail.gmail.com> <c3682bb0-4241-d142-b131-1221d1a62b31@apertussolutions.com>
In-Reply-To: <c3682bb0-4241-d142-b131-1221d1a62b31@apertussolutions.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 17 Aug 2022 13:18:38 -0400
Message-ID: <CAKf6xps+4sDV1RDYVqpq_rCdq=p6wHQG=HHPe-1sVmX7Uxg7YQ@mail.gmail.com>
Subject: Re: [PATCH v12] xsm: refactor flask sid alloc and domain check
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 17, 2022 at 10:16 AM Daniel P. Smith
<dpsmith@apertussolutions.com> wrote:
>
> On 8/16/22 13:43, Jason Andryuk wrote:
> > Hi,
> >
> > I think you should change the title to "xsm/flask: Boot-time labeling
> > for multiple domains".  Refactor implies no functional change, and
> > this is a functional change.  With this, I think the commit message
> > should be re-written to focus on the "why" of the new labeling policy.
>
> I can rename and expand a bit further.

Thanks.

> > On Tue, Aug 9, 2022 at 10:06 AM Daniel P. Smith
> > <dpsmith@apertussolutions.com> wrote:

> > dom0_t being a singleton emphasized for me that using only
> > is_privileged for the check isn't quite right.  Does hyperlaunch need
> > domid != 0 && is_privileged to get assigned dom0_t?  That could still
> > be done explicitly, but just not implicitly by the above.
>
> I agree it is not quite right, but more so that it is leveraging the
> assumption from the basic policy module (dummy policy) that only the
> initial domain (dom0) will have is_privileged set. As stated above,
> domid !=0 and is_privileged being set already exists for PV shim, not
> something being introduced by HL. HL only expands the possibility for
> the configuration to be built outside PV shim.

get_initial_domain_id() had slipped my mind.  I had thought a little
bit about the PV shim case in the past, and my guess is no one has
built a PV shim with Flask.  Running flask for a single domain under
the PV shim is a little silly.  If you did, the domain running under
PV shim would get dom0_t, but it is a domU - A little weird.

Oh, this is interesting:
    /* Create initial domain.  Not d0 for pvshim. */
    domid = get_initial_domain_id();
    d = domain_create(domid, &dom0_cfg, pv_shim ? 0 : CDF_privileged);

So the PV shim domain is not privileged, and get_initial_domain_id
will return != 0 for the pv-shim domain.  Your change would actually
assign it domU_t.

I think this means the domid == 0 check could still be used.   I guess
I'm approaching the problem by trying to restrict the assignment of
dom0_t as much as possible.  It's definitely needed for the
traditional dom0 case, but any other use seems suspect.

> With that said, unless I am missing something, the heuristic below will
> enforce the singleton. While it is possible that
> flask_domain_alloc_security() would allocate a security context for more
> than one domain containing the label of dom0_t. The
> flask_domain_create() check will only allow the first domain with this
> label to be created, regardless if the domain create was initiated by
> the hypervisor or by a runtime toolstack.

It's inconsistent to hand out dom0_t twice when it cannot be used
twice.  It does the right thing, so it's fine.  It just seems
inconsistent.

Anyway, if you really want to move forward with not using the domid, I
guess it's okay.

And after writing all that, dom0_t could be modified to not be non-singleton...

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 20:19:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 20:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389156.625985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOPVf-0007Yc-53; Wed, 17 Aug 2022 20:19:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389156.625985; Wed, 17 Aug 2022 20:19:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOPVf-0007YV-2L; Wed, 17 Aug 2022 20:19:27 +0000
Received: by outflank-mailman (input) for mailman id 389156;
 Wed, 17 Aug 2022 20:19:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOPVe-0007YL-07; Wed, 17 Aug 2022 20:19:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOPVd-0006h3-SF; Wed, 17 Aug 2022 20:19:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOPVd-0004Gm-FD; Wed, 17 Aug 2022 20:19:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOPVd-0004Kq-Eo; Wed, 17 Aug 2022 20:19:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=h1qKTWRxajSkfdXjZHIvYMwF4QvKGnbMEiXwTGzujNo=; b=zYLiNhEnLbVrJZJjGh0bu6OLjn
	47CIF7HLG/tM5vG0CZ971S9DcZeao/wMBYaTM8smoGkEEnPOAqdd1bJ6GyRlzl7s30nRhjHdGYx3l
	5ElMWxOHA2vyoiSGrmvXQBCBQTFzQTtxVw1Ro4jP54sk0PnCOS308W1Zy139m5qImYDQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172605-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172605: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f2beaf876dce590ee9937b79cd3498f2fe9f661c
X-Osstest-Versions-That:
    xen=0f2611c524385f7bffeee67635a488a5a29b6ba4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 20:19:25 +0000

flight 172605 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172605/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172599
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f2beaf876dce590ee9937b79cd3498f2fe9f661c
baseline version:
 xen                  0f2611c524385f7bffeee67635a488a5a29b6ba4

Last test of basis   172599  2022-08-17 13:03:14 Z    0 days
Testing same since   172605  2022-08-17 17:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0f2611c524..f2beaf876d  f2beaf876dce590ee9937b79cd3498f2fe9f661c -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 20:47:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 20:47:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389167.625997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOPwa-0002Pi-Ep; Wed, 17 Aug 2022 20:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389167.625997; Wed, 17 Aug 2022 20:47:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOPwa-0002Pb-C8; Wed, 17 Aug 2022 20:47:16 +0000
Received: by outflank-mailman (input) for mailman id 389167;
 Wed, 17 Aug 2022 20:47:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xirH=YV=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oOPwY-0002PV-GC
 for xen-devel@lists.xenproject.org; Wed, 17 Aug 2022 20:47:14 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3cb4bfc-1e6d-11ed-bd2e-47488cf2e6aa;
 Wed, 17 Aug 2022 22:47:12 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id D120F3200917;
 Wed, 17 Aug 2022 16:47:08 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Wed, 17 Aug 2022 16:47:09 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 17 Aug 2022 16:47:07 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3cb4bfc-1e6d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1660769228; x=1660855628; bh=KXh6Uvdv34/5rKAq05jgR4FCnFu5OmRatzX
	LBAK3Ru0=; b=p/1r35v6se8midISMDdDinUYFwespi/R9S2Knf7ggcJq2eL+gKK
	E/ax54ByQEPuNuy3aQaI+rd5sOsdx21UbpIBjsZB316cCDvzmdwxYTCkfBGcAw3q
	Bl9hN6Zw9O/UAo5a3o4RhB8YxmzLJTqW2hfyels9Mx+09bQkI2NBsvkAeepU4Lst
	rzbn8ecuzwAB4r8zp86ok0DlBhTQ4TgkH6PfYs31CzcifQ5Nn3EK1lcsTs+GGf1K
	vpIhCWeRKH41pVdfvlDuBdEAqOPE8x7Zp7jUQFDKtZQip8ZY21Ee414X9xLsZfNp
	czHPhKtcbhMbddoDvikhtIFAk4CoOa7iT9Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1660769228; x=1660855628; bh=KXh6Uvdv34/5r
	KAq05jgR4FCnFu5OmRatzXLBAK3Ru0=; b=vGht7qssTR+7JsyUaJaWV7e5gjn9Y
	8WXMuG1/IP6osY1HnYwkie7pG9zuXElvLUTrBH+u2Sv5CJ1Mt22gfVvDtrv/roTs
	7CxgR2VOr8hpJDaWzuzC7c/nFhUlflCAOULHYjYOPSMvhOzdgeL2hybAqpA7BPjh
	DRnIFkhxGnBXrSV4mxKVNOckOjnpVDYQ3xLUKkYrzNLeMDBznm+ejwSWTamx2/OI
	3kYgnEnjGxUfhnN7wXGXXdf8i+B7kzFkuM5wB0WlOi7ouiP/jianElyY9sHRXJqg
	ZU7JfErCdKv0rKuMw0Fj+vVFC5iRTac2pcLBEGPN69+nQifglvVSWTC+w==
X-ME-Sender: <xms:zFP9YrKnsI1qId2dl1kEjcCJo4DSIOPYY7djYz_TLufYxk-PhXON1A>
    <xme:zFP9YvJu70YqSRRKTu_gnFpc2wagDXblrvIIaOTZ9tW1Fc-ddR7Nu-JZewhNNDamn
    RyIogULpnA1ON4>
X-ME-Received: <xmr:zFP9YjsBGGw77XofcrTV-UCoFTXhS-eFA89AMA3Pm0pNuPt7l679Kw3syr2TngkxvD4TtxnLbIaD>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdehiedgudehgecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhephfeggfeiiedtieejgedutdekgfet
    geehheegteekvefhfefgudehtdevleegueegnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:zFP9Ykb0migte5WOEYGViSpsp5UJALXmo3bK_qG_QZ1Nq5XJ6OuRuw>
    <xmx:zFP9YiaqPKLIPQQH1L4z59rdo327iwZiD-XnlZKCgpc7nK-3_ZTB5A>
    <xmx:zFP9YoAyoeSFWciwgyw678PzYNTGxShburjqUhP-k0ObLlRDKhGC9A>
    <xmx:zFP9YhmWyIW2CiIuhdHsUUmA8yVOOx05-_HIKYjs9oL3gkBReiaMQg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH] Use direct I/O for loop devices
Date: Wed, 17 Aug 2022 16:46:34 -0400
Message-Id: <20220817204634.1886-1-demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is a huge performance improvement for two reasons:

1. It uses the filesystemâ€™s asynchronous I/O support, rather than using
   synchronous I/O.
2. It bypasses the page cache, removing a redundant layer of caching and
   associated overhead.
---
 tools/hotplug/Linux/block | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/hotplug/Linux/block b/tools/hotplug/Linux/block
index 2691b56951c9b82094471a141b9e0bed04abb929..75785f3a5422c4a5f962a4cd4f6acae5080d036d 100644
--- a/tools/hotplug/Linux/block
+++ b/tools/hotplug/Linux/block
@@ -330,7 +330,7 @@ mount it read-write in a guest domain."
         else
           roflag=''
         fi
-        do_or_die losetup $roflag "$loopdev" "$file"
+        do_or_die losetup --direct-io=on $roflag "$loopdev" "$file"
         xenstore_write "$XENBUS_PATH/node" "$loopdev"
         write_dev "$loopdev"
         release_lock "block"
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 20:53:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 20:53:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389176.626007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOQ2T-0003sE-4b; Wed, 17 Aug 2022 20:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389176.626007; Wed, 17 Aug 2022 20:53:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOQ2T-0003s7-1j; Wed, 17 Aug 2022 20:53:21 +0000
Received: by outflank-mailman (input) for mailman id 389176;
 Wed, 17 Aug 2022 20:53:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOQ2R-0003rx-7Z; Wed, 17 Aug 2022 20:53:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOQ2R-0007IB-3I; Wed, 17 Aug 2022 20:53:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOQ2Q-0006kS-Ll; Wed, 17 Aug 2022 20:53:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOQ2Q-0005n4-Kx; Wed, 17 Aug 2022 20:53:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TOpes2XBbGS9XfcyuRaiXXCsVGGpOPmhkbuZCvm/IOE=; b=vhlRdO0D+sxpdegxCyEoK/Yivz
	XkyjAF7Ildv1+f+ZnO4MFvAJCzGlFLmpka8Cd4M1eluXrWNXFCB+/HKU2Qn2QEFgCbcse5Qib90hD
	xvzQ9411gyEgpwy24qjhpftDZpdeVmj8Lkwn4J6mVtRQSdz1IFzXVypAh/GL1RBL8zh4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172591-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172591: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    linux-5.4:test-amd64-i386-examine-uefi:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:xen-boot:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 20:53:18 +0000

flight 172591 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172591/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172556 pass in 172591
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 172556 pass in 172591
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install fail in 172556 pass in 172591
 test-amd64-i386-examine-uefi  6 xen-install      fail in 172578 pass in 172591
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172556
 test-armhf-armhf-xl-vhd       8 xen-boot                   fail pass in 172578
 test-arm64-arm64-xl-vhd      17 guest-start/debian.repeat  fail pass in 172578

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172556 like 172128
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172556 like 172128
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172556 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172556 never pass
 test-armhf-armhf-xl-vhd      13 guest-start         fail in 172578 like 172108
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172578 like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172578 like 172128
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   13 days
Testing same since   172384  2022-08-11 11:13:58 Z    6 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 17 21:15:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Aug 2022 21:15:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389186.626019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOQNt-0006Hl-U8; Wed, 17 Aug 2022 21:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389186.626019; Wed, 17 Aug 2022 21:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOQNt-0006He-RO; Wed, 17 Aug 2022 21:15:29 +0000
Received: by outflank-mailman (input) for mailman id 389186;
 Wed, 17 Aug 2022 21:15:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOQNs-0006HU-1Y; Wed, 17 Aug 2022 21:15:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOQNr-0007i7-Vy; Wed, 17 Aug 2022 21:15:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOQNr-00086w-J1; Wed, 17 Aug 2022 21:15:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOQNr-0001No-IY; Wed, 17 Aug 2022 21:15:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4IDo1FVgEpGj+BJQGJmZnHYVPgycPaOakxSJ8w27fu4=; b=43qyIUujGHJ5mQVsI3joNnXNFE
	63eBkIwRDFJh+VrUKiejhwUsLQ4OZnHkxlPgVq7RDpyi779yKDMNV67UHPMNvWUoh/uQH8inpnN+l
	2vTZ03X4e4OFDcKs/29ijZUvErQRlbT1DcFyrk22I/FgmqgoufXqu9HRjLRx9fNPhq4g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172606-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172606: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=64a20bea97e6a19651e639a9c24e5f4e37b70f81
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Aug 2022 21:15:27 +0000

flight 172606 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172606/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 64a20bea97e6a19651e639a9c24e5f4e37b70f81
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   13 days
Failing since        172151  2022-08-05 02:40:28 Z   12 days  112 attempts
Testing same since   172595  2022-08-17 09:11:46 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 735 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 01:01:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 01:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389200.626030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOTuP-0007Na-06; Thu, 18 Aug 2022 01:01:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389200.626030; Thu, 18 Aug 2022 01:01:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOTuO-0007Ms-Si; Thu, 18 Aug 2022 01:01:16 +0000
Received: by outflank-mailman (input) for mailman id 389200;
 Thu, 18 Aug 2022 01:01:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOTuM-0006Vd-Q3; Thu, 18 Aug 2022 01:01:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOTuM-0001bO-NV; Thu, 18 Aug 2022 01:01:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOTuM-0006gS-54; Thu, 18 Aug 2022 01:01:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOTuM-00052k-4Z; Thu, 18 Aug 2022 01:01:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A6R7id6suI1rQyFdsvUneueYd3DYlH/4KX2L6jtD7RY=; b=FXM5EmTV3tKVF/IOo1XAxegxHC
	V9olC3bnzk9RzlsZ4rUHydCgeJpKYu7IqHp7jzYFKHkLuHCm/8EpbBEBAIEEoGKbGe/FhRygFlW95
	BoNsI8ow1mkNBuJR2qvw7vuZUju2r0Z5z9WaLZYShzmm1FVxO/JGxz/5P1dp7XebnodU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172596-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172596: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3cc40a443a04d52b0c95255dce264068b01e9bfe
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 01:01:14 +0000

flight 172596 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172596/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                3cc40a443a04d52b0c95255dce264068b01e9bfe
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   13 days
Failing since        172152  2022-08-05 04:01:26 Z   12 days   32 attempts
Testing same since   172581  2022-08-16 22:43:16 Z    1 days    2 attempts

------------------------------------------------------------
1388 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 145341 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 01:19:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 01:19:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389214.626041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOUCN-0002xj-MV; Thu, 18 Aug 2022 01:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389214.626041; Thu, 18 Aug 2022 01:19:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOUCN-0002xc-Hr; Thu, 18 Aug 2022 01:19:51 +0000
Received: by outflank-mailman (input) for mailman id 389214;
 Thu, 18 Aug 2022 01:19:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOUCM-0002xQ-Dh; Thu, 18 Aug 2022 01:19:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOUCM-0002In-AD; Thu, 18 Aug 2022 01:19:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOUCL-0007Rf-Ss; Thu, 18 Aug 2022 01:19:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOUCL-0003yz-SO; Thu, 18 Aug 2022 01:19:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=X+SGNwpJ6JaDwarI4VSc9wpQ3qpfcK2Pl7by9Kvo9iw=; b=4lQo7E/ftax9ZXFpp0KveNeqln
	gmIXHpbFnKXx/VpkpQvYXOMB5jEZyy/twxxShlhTbNHeul2rgGkKwtKtkhAdsN8GLjWIGtJfUtSUY
	sOEj12RYcCxvfonbK4wpDtd7SfIcconKAuSvGTa2Sfw/8r7pc4ZgATZ28V91a/Gvmmd0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172609-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172609: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=64a20bea97e6a19651e639a9c24e5f4e37b70f81
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 01:19:49 +0000

flight 172609 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172609/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 64a20bea97e6a19651e639a9c24e5f4e37b70f81
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   13 days
Failing since        172151  2022-08-05 02:40:28 Z   12 days  113 attempts
Testing same since   172595  2022-08-17 09:11:46 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 735 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 01:23:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 01:23:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389222.626052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOUFW-0004LV-4u; Thu, 18 Aug 2022 01:23:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389222.626052; Thu, 18 Aug 2022 01:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOUFW-0004LO-1k; Thu, 18 Aug 2022 01:23:06 +0000
Received: by outflank-mailman (input) for mailman id 389222;
 Thu, 18 Aug 2022 01:23:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOUFU-0004LD-Tc; Thu, 18 Aug 2022 01:23:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOUFU-0002Mr-Rt; Thu, 18 Aug 2022 01:23:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOUFU-0007Xe-FQ; Thu, 18 Aug 2022 01:23:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOUFU-0005W5-Ex; Thu, 18 Aug 2022 01:23:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=q624Av/0F1+QvxZEsvm+0qQKHL2TVON9BN1KNui1DPw=; b=A//DcsuWiiElNHg6MMk2FEo5sF
	Uxi5+XI3xo9ONizpiekJUw3UsDaTqGKGIukcSoVD+KNwhGe91hWlOK8Dd0U49k4u27dzHvWDdvfbJ
	kDi8WiR8VlhDNWAOfjQxC/8e4pSO1saWZyAT8qRBW0VyRl7Diw47TFXJ4eP23lQNCzzM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172601-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172601: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c7208a6e0d049f9e8af15df908168a79b1f99685
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 01:23:04 +0000

flight 172601 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172601/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-xl-vhd      21 guest-start/debian.repeat fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                c7208a6e0d049f9e8af15df908168a79b1f99685
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   14 days
Failing since        172148  2022-08-04 21:39:38 Z   13 days   32 attempts
Testing same since   172601  2022-08-17 13:39:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1714 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 05:54:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 05:54:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389247.626078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOYTj-0005Jj-GS; Thu, 18 Aug 2022 05:54:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389247.626078; Thu, 18 Aug 2022 05:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOYTj-0005Ja-Ad; Thu, 18 Aug 2022 05:54:03 +0000
Received: by outflank-mailman (input) for mailman id 389247;
 Thu, 18 Aug 2022 05:54:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOYTi-0005JQ-Fk; Thu, 18 Aug 2022 05:54:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOYTi-0007tt-7s; Thu, 18 Aug 2022 05:54:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOYTh-0007pn-P4; Thu, 18 Aug 2022 05:54:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOYTh-0001Kd-Of; Thu, 18 Aug 2022 05:54:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RDpNcLH8/4QT4VmgJvqddrMVP2u4H+fMzIfBtOSxow0=; b=wosD0Q/nL2KW2iCTfOjpNuj0oM
	1XDrA/IEmXk/cBbo/O7DqHwZQAej28j27Yu6FEJ1CMOA0JahPlWkQ0nxzjJ3nzWLfQL/EfsxN+WGA
	867mtFQK3u/Xt/rNJ/A47bmlTEovunm45Bpw9nUZE+gg5P+jWWFZG1iLN7qNwpnKn15g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172614-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172614: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=64a20bea97e6a19651e639a9c24e5f4e37b70f81
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 05:54:01 +0000

flight 172614 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172614/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 64a20bea97e6a19651e639a9c24e5f4e37b70f81
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   13 days
Failing since        172151  2022-08-05 02:40:28 Z   13 days  114 attempts
Testing same since   172595  2022-08-17 09:11:46 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 735 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 06:18:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 06:18:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389256.626096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOYrQ-0007t9-Us; Thu, 18 Aug 2022 06:18:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389256.626096; Thu, 18 Aug 2022 06:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOYrQ-0007sX-OS; Thu, 18 Aug 2022 06:18:32 +0000
Received: by outflank-mailman (input) for mailman id 389256;
 Thu, 18 Aug 2022 06:18:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=E7Ox=YW=gmail.com=asr7247@srs-se1.protection.inumbo.net>)
 id 1oOYrP-0007oz-FQ
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 06:18:31 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 905e5aee-1ebd-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 08:18:25 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id r4so619294edi.8;
 Wed, 17 Aug 2022 23:18:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 905e5aee-1ebd-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=to:subject:message-id:date:from:mime-version:from:to:cc;
        bh=Ij63T/oJdPZRo0LBW5lu0Lxar0NtQCOxB49tBvruI54=;
        b=JQ40uNpgy5fmY+g3m+z4V1eiitpfyozDUGycu6BF6pw2pjcFUtviUWVARVNX7WI96R
         rpj+fhDjxlC6wi1T48DmFdwS8ifG7eRZuWHpPZIl1r9AWHaVSg0XIdRWpehXglLxNjxf
         TpBmJ0VHrp/EQtUR6m5HI2tyM5F3XJkNYzSK38goTGPVgS05nudhzQmkM+/P/27XVKof
         97VjepxwlkXERo4swvquL6LEIOLprHgEqbHxGswbgx06G3u+vneFqExscbZhxO8q3juE
         FT/E45i5M2/qXo5kjOujhxkvDLP7zQhs4i7sKKxtzKPZKvoybD6JkmxYPEajOZDmi39c
         YF9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc;
        bh=Ij63T/oJdPZRo0LBW5lu0Lxar0NtQCOxB49tBvruI54=;
        b=GFTNB9fiqp9csJSYRwlmsErSavxrF8z0l2/yZK+ehxJ+KOBYxAONB4xvJTj5gCWo/7
         wO8+iI2E6GWJKbJaBSyWd7rxL7VvIox1ov+zr82chgpRADSuDjBkZsoPYqx8pCInhIXh
         FfwWwMx9ksjXNUTuOS5tUZQNNXo6280izZcME3JzkdJXlKYqzewm+KKx5NQxnXPij+bU
         4nW9jfJnHHdfN5wwELj87b+egY3x0d8+3GslxOPn3fDdQEXIeSfFM+9nU79aUPTGqQ9T
         KrKDxmmFtwybFYjElw7brjb8yqHxfLWutrEB8MmUzw3sVUfPbdcK41tybNkxAr441QLU
         I26w==
X-Gm-Message-State: ACgBeo3qJhUMzlU9RvMvDDai1WM+/I0sDTDRdCtCw5LVoxH5NrQx98UD
	+91sYZVVWCQmdK2b/0w6oBWmSnHR9G66GBGjRje9TYVydi6JmQ==
X-Google-Smtp-Source: AA6agR5L5HdPX7I1/ljYI8jjv/3Gnw3fF9ydunEpUvWNUikpwdpAeiAZ2Y9tBYDm8pvd7VlpC0XXn9RZl1Hgx/2uMFg=
X-Received: by 2002:a05:6402:27d2:b0:43e:3ff6:ad58 with SMTP id
 c18-20020a05640227d200b0043e3ff6ad58mr1073896ede.234.1660803501906; Wed, 17
 Aug 2022 23:18:21 -0700 (PDT)
MIME-Version: 1.0
From: A Sudheer <asr7247@gmail.com>
Date: Thu, 18 Aug 2022 11:48:09 +0530
Message-ID: <CABg_PyJ5M4tXoT4OO6xKn8csWMiwpZKoQjtPaWykvV6_wP5Pow@mail.gmail.com>
Subject: USB passthrough fails with 64GB drive but works fine with 8GB drive
To: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000c5fabd05e67df247"

--000000000000c5fabd05e67df247
Content-Type: text/plain; charset="UTF-8"

Hi All

On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB mass
storage device passthrough to DomU.
I followed the PVUSB method mentioned in
https://wiki.xenproject.org/wiki/Xen_USB_Passthrough.

With 8GB sandisk pen drive, i am able to do USB passthrough to DomU.
But with 64GB sandisk pendrive, though able to mount/umount in Dom0, not
able to do passthrough to DomU.
I see IO errors in dmesg  when tried to access the usb disk folder in DomU.
Both 8GB and 64GB disks are 3.2Gen1. (Not tried with 16GB & 32GB drives).

Does anyone know why 64GB usb disk passthrough fails with the below error ?

Dmesg Error:
-----------------
[  128.333409] usb 2-1: reset high-speed USB device number 2 using ehci-pci
[  128.502872] sd 2:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR
driverbyte=DRIVER_OK cmd_age=0s
[  128.502881] sd 2:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 7a b7 00
00 3f 00
[  128.502883] blk_update_request: I/O error, dev sda, sector 31415 op
0x0:(READ) flags 0x80700 phys_seg 63 prio class 0

Complete dmesg log:
---------------------------
[    0.000000] Linux version 5.15.0-25-generic (buildd@ubuntu) (gcc (Ubuntu
11.2.0-19ubuntu1) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #25-Ubuntu
SMP Wed Mar 30 15:54:22 UTC 2022 (Ubuntu 5.15.0-25.25-generic 5.15.30)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.0-25-generic
root=UUID=a1f59e2d-4208-42bb-90ad-f19c9608db6b ro quiet splash vt.handoff=7
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Hygon HygonGenuine
[    0.000000]   Centaur CentaurHauls
[    0.000000]   zhaoxin   Shanghai
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point
registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832
bytes, using 'compacted' format.
[    0.000000] signal: max sigframe size: 1776
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff]
reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000efffefff] usable
[    0.000000] BIOS-e820: [mem 0x00000000effff000-0x00000000efffffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fc000000-0x00000000fc00afff] ACPI
NVS
[    0.000000] BIOS-e820: [mem 0x00000000fc00b000-0x00000000ffffffff]
reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000010f7fffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[    0.000000] DMI: Xen HVM domU, BIOS 4.16.2-pre 07/23/2022
[    0.000000] Hypervisor detected: Xen HVM
[    0.000000] Xen version 4.16.
[    0.000000] platform_pci_unplug: Netfront and the Xen platform PCI
driver have been compiled for this kernel: unplug emulated NICs.
[    0.000000] platform_pci_unplug: Blkfront and the Xen platform PCI
driver have been compiled for this kernel: unplug emulated disks.
               You might have to change the root device
               from /dev/hd[a-d] to /dev/xvd[a-d]
               in your root= kernel command line option
[    0.000348] HVMOP_pagetable_dying not supported
[    0.019897] tsc: Fast TSC calibration using PIT
[    0.019899] tsc: Detected 2096.153 MHz processor
[    0.019901] tsc: Detected 2096.060 MHz TSC
[    0.020426] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.020429] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.020434] last_pfn = 0x10f800 max_arch_pfn = 0x400000000
[    0.020507] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT

[    0.020726] last_pfn = 0xeffff max_arch_pfn = 0x400000000
[    0.022710] found SMP MP-table at [mem 0x000f5aa0-0x000f5aaf]
[    0.022731] Using GB pages for direct mapping
[    0.022866] RAMDISK: [mem 0x309b9000-0x344d3fff]
[    0.022871] ACPI: Early table checksum verification disabled
[    0.022876] ACPI: RSDP 0x00000000000F59F0 000024 (v02 Xen   )
[    0.022880] ACPI: XSDT 0x00000000FC00A660 000054 (v01 Xen    HVM
 00000000 HVML 00000000)
[    0.022885] ACPI: FACP 0x00000000FC00A370 0000F4 (v04 Xen    HVM
 00000000 HVML 00000000)
[    0.022890] ACPI: DSDT 0x00000000FC001040 0092A3 (v02 Xen    HVM
 00000000 INTL 20200925)
[    0.022893] ACPI: FACS 0x00000000FC001000 000040
[    0.022895] ACPI: FACS 0x00000000FC001000 000040
[    0.022897] ACPI: APIC 0x00000000FC00A470 000080 (v02 Xen    HVM
 00000000 HVML 00000000)
[    0.022899] ACPI: HPET 0x00000000FC00A570 000038 (v01 Xen    HVM
 00000000 HVML 00000000)
[    0.022901] ACPI: WAET 0x00000000FC00A5B0 000028 (v01 Xen    HVM
 00000000 HVML 00000000)
[    0.022903] ACPI: SSDT 0x00000000FC00A5E0 000031 (v02 Xen    HVM
 00000000 INTL 20200925)
[    0.022905] ACPI: SSDT 0x00000000FC00A620 000031 (v02 Xen    HVM
 00000000 INTL 20200925)
[    0.022907] ACPI: Reserving FACP table memory at [mem
0xfc00a370-0xfc00a463]
[    0.022908] ACPI: Reserving DSDT table memory at [mem
0xfc001040-0xfc00a2e2]
[    0.022909] ACPI: Reserving FACS table memory at [mem
0xfc001000-0xfc00103f]
[    0.022910] ACPI: Reserving FACS table memory at [mem
0xfc001000-0xfc00103f]
[    0.022910] ACPI: Reserving APIC table memory at [mem
0xfc00a470-0xfc00a4ef]
[    0.022911] ACPI: Reserving HPET table memory at [mem
0xfc00a570-0xfc00a5a7]
[    0.022912] ACPI: Reserving WAET table memory at [mem
0xfc00a5b0-0xfc00a5d7]
[    0.022912] ACPI: Reserving SSDT table memory at [mem
0xfc00a5e0-0xfc00a610]
[    0.022913] ACPI: Reserving SSDT table memory at [mem
0xfc00a620-0xfc00a650]
[    0.023846] No NUMA configuration found
[    0.023847] Faking a node at [mem 0x0000000000000000-0x000000010f7fffff]
[    0.023853] NODE_DATA(0) allocated [mem 0x10f7d6000-0x10f7fffff]
[    0.024106] Zone ranges:
[    0.024106]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.024108]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.024109]   Normal   [mem 0x0000000100000000-0x000000010f7fffff]
[    0.024110]   Device   empty
[    0.024111] Movable zone start for each node
[    0.024113] Early memory node ranges
[    0.024114]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.024115]   node   0: [mem 0x0000000000100000-0x00000000efffefff]
[    0.024116]   node   0: [mem 0x0000000100000000-0x000000010f7fffff]
[    0.024117] Initmem setup node 0 [mem
0x0000000000001000-0x000000010f7fffff]
[    0.024121] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.024147] On node 0, zone DMA: 97 pages in unavailable ranges
[    0.034654] On node 0, zone Normal: 1 pages in unavailable ranges
[    0.034688] On node 0, zone Normal: 2048 pages in unavailable ranges
[    0.036207] ACPI: PM-Timer IO Port: 0xb008
[    0.036257] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI
0-47
[    0.036260] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.036262] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 low level)
[    0.036263] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
[    0.036263] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 low level)
[    0.036266] ACPI: Using ACPI (MADT) for SMP configuration information
[    0.036267] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.036276] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.036286] PM: hibernation: Registered nosave memory: [mem
0x00000000-0x00000fff]
[    0.036288] PM: hibernation: Registered nosave memory: [mem
0x0009f000-0x0009ffff]
[    0.036289] PM: hibernation: Registered nosave memory: [mem
0x000a0000-0x000effff]
[    0.036289] PM: hibernation: Registered nosave memory: [mem
0x000f0000-0x000fffff]
[    0.036290] PM: hibernation: Registered nosave memory: [mem
0xeffff000-0xefffffff]
[    0.036291] PM: hibernation: Registered nosave memory: [mem
0xf0000000-0xfbffffff]
[    0.036291] PM: hibernation: Registered nosave memory: [mem
0xfc000000-0xfc00afff]
[    0.036292] PM: hibernation: Registered nosave memory: [mem
0xfc00b000-0xffffffff]
[    0.036293] [mem 0xf0000000-0xfbffffff] available for PCI devices
[    0.036294] Booting paravirtualized kernel on Xen HVM
[    0.036298] clocksource: refined-jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.036305] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:4 nr_cpu_ids:4
nr_node_ids:1
[    0.036720] percpu: Embedded 61 pages/cpu s212992 r8192 d28672 u524288
[    0.036725] pcpu-alloc: s212992 r8192 d28672 u524288 alloc=1*2097152
[    0.036727] pcpu-alloc: [0] 0 1 2 3
[    0.036749] xen: PV spinlocks enabled
[    0.036751] PV qspinlock hash table entries: 256 (order: 0, 4096 bytes,
linear)
[    0.036757] Built 1 zonelists, mobility grouping on.  Total pages:
1029919
[    0.036758] Policy zone: Normal
[    0.036759] Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-5.15.0-25-generic
root=UUID=a1f59e2d-4208-42bb-90ad-f19c9608db6b ro quiet splash vt.handoff=7
[    0.036818] Unknown kernel command line parameters "splash
BOOT_IMAGE=/boot/vmlinuz-5.15.0-25-generic", will be passed to user space.
[    0.037443] Dentry cache hash table entries: 524288 (order: 10, 4194304
bytes, linear)
[    0.037771] Inode-cache hash table entries: 262144 (order: 9, 2097152
bytes, linear)
[    0.037813] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.073557] Memory: 3942040K/4185716K available (16393K kernel code,
4385K rwdata, 10784K rodata, 2952K init, 4796K bss, 243416K reserved, 0K
cma-reserved)
[    0.073573] random: get_random_u64 called from
kmem_cache_open+0x2b/0x320 with crng_init=0
[    0.073845] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.073871] ftrace: allocating 50352 entries in 197 pages
[    0.090580] ftrace: allocated 197 pages with 4 groups
[    0.090692] rcu: Hierarchical RCU implementation.
[    0.090693] rcu: RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=4.
[    0.090694] Rude variant of Tasks RCU enabled.
[    0.090695] Tracing variant of Tasks RCU enabled.
[    0.090695] rcu: RCU calculated value of scheduler-enlistment delay is
25 jiffies.
[    0.090696] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.093376] NR_IRQS: 524544, nr_irqs: 864, preallocated irqs: 16
[    0.093409] xen:events: Using FIFO-based ABI
[    0.093414] xen:events: Xen HVM callback vector for event delivery is
enabled
[    0.093618] random: crng done (trusting CPU's manufacturer)
[    0.093648] Console: colour dummy device 80x25
[    0.093656] printk: console [tty0] enabled
[    0.093682] ACPI: Core revision 20210730
[    0.093792] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff,
max_idle_ns: 30580167144 ns
[    0.093843] APIC: Switch to symmetric I/O mode setup
[    0.094256] x2apic: IRQ remapping doesn't support X2APIC mode
[    0.096199] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[    0.117318] tsc: Marking TSC unstable due to TSCs unsynchronized
[    0.117326] Calibrating delay loop (skipped), value calculated using
timer frequency.. 4192.12 BogoMIPS (lpj=8384240)
[    0.117328] pid_max: default: 32768 minimum: 301
[    0.117354] LSM: Security Framework initializing
[    0.117364] landlock: Up and running.
[    0.117365] Yama: becoming mindful.
[    0.117390] AppArmor: AppArmor initialized
[    0.117420] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes,
linear)
[    0.117432] Mountpoint-cache hash table entries: 8192 (order: 4, 65536
bytes, linear)
[    0.117710] x86/cpu: User Mode Instruction Prevention (UMIP) activated
[    0.117751] Last level iTLB entries: 4KB 1024, 2MB 1024, 4MB 512
[    0.117752] Last level dTLB entries: 4KB 2048, 2MB 2048, 4MB 1024, 1GB 0
[    0.117756] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user
pointer sanitization
[    0.117758] Spectre V2 : Mitigation: Retpolines
[    0.117758] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB
on context switch
[    0.117759] Spectre V2 : Enabling Restricted Speculation for firmware
calls
[    0.117760] Spectre V2 : mitigation: Enabling conditional Indirect
Branch Prediction Barrier
[    0.117761] Speculative Store Bypass: Mitigation: Speculative Store
Bypass disabled via prctl and seccomp
[    0.121847] Freeing SMP alternatives memory: 40K
[    0.121917] clocksource: xen: mask: 0xffffffffffffffff max_cycles:
0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.121921] Xen: using vcpuop timer interface
[    0.121927] installing Xen timer for CPU 0
[    0.121969] smpboot: CPU0: AMD Ryzen Embedded V2516 with Radeon Graphics
(family: 0x17, model: 0x60, stepping: 0x1)
[    0.121990] cpu 0 spinlock event irq 52
[    0.122104] Performance Events: PMU not available due to virtualization,
using software events only.
[    0.122129] rcu: Hierarchical SRCU implementation.
[    0.122481] NMI watchdog: Perf NMI watchdog permanently disabled
[    0.122523] smp: Bringing up secondary CPUs ...
[    0.122593] installing Xen timer for CPU 1
[    0.122629] x86: Booting SMP configuration:
[    0.122629] .... node  #0, CPUs:      #1
[    0.201732] cpu 1 spinlock event irq 57
[    0.201732] installing Xen timer for CPU 2
[    0.201732]  #2
[    0.281442] cpu 2 spinlock event irq 62
[    0.281442] installing Xen timer for CPU 3
[    0.281484]  #3
[    0.361387] cpu 3 spinlock event irq 67
[    0.361409] smp: Brought up 1 node, 4 CPUs
[    0.361413] smpboot: Max logical packages: 1
[    0.361414] smpboot: Total of 4 processors activated (16782.38 BogoMIPS)
[    0.361965] devtmpfs: initialized
[    0.361965] x86/mm: Memory block size: 128MB
[    0.361965] ACPI: PM: Registering ACPI NVS region [mem
0xfc000000-0xfc00afff] (45056 bytes)
[    0.361965] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.361965] futex hash table entries: 1024 (order: 4, 65536 bytes,
linear)
[    0.361965] pinctrl core: initialized pinctrl subsystem
[    0.361965] PM: RTC time: 10:03:51, date: 2022-08-16
[    0.361965] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.361965] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic
allocations
[    0.361965] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic
allocations
[    0.361965] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for
atomic allocations
[    0.361965] audit: initializing netlink subsys (disabled)
[    0.361971] audit: type=2000 audit(1660644231.158:1): state=initialized
audit_enabled=0 res=1
[    0.361971] thermal_sys: Registered thermal governor 'fair_share'
[    0.361971] thermal_sys: Registered thermal governor 'bang_bang'
[    0.361971] thermal_sys: Registered thermal governor 'step_wise'
[    0.361971] thermal_sys: Registered thermal governor 'user_space'
[    0.361971] thermal_sys: Registered thermal governor 'power_allocator'
[    0.361971] EISA bus registered
[    0.361971] cpuidle: using governor ladder
[    0.361971] cpuidle: using governor menu
[    0.365559] ACPI: bus type PCI registered
[    0.365559] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.365690] PCI: Using configuration type 1 for base access
[    0.365690] PCI: Using configuration type 1 for extended access
[    0.366624] Kprobes globally optimized
[    0.366633] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.366633] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.369383] ACPI: Added _OSI(Module Device)
[    0.369385] ACPI: Added _OSI(Processor Device)
[    0.369385] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.369386] ACPI: Added _OSI(Processor Aggregator Device)
[    0.369387] ACPI: Added _OSI(Linux-Dell-Video)
[    0.369388] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.369388] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
[    0.374303] ACPI: 3 ACPI AML tables successfully acquired and loaded
[    0.375004] xen: --> pirq=16 -> irq=9 (gsi=9)
[    0.382575] ACPI: Interpreter enabled
[    0.382587] ACPI: PM: (supports S0 S3 S4 S5)
[    0.382588] ACPI: Using IOAPIC for interrupt routing
[    0.382603] PCI: Using host bridge windows from ACPI; if necessary, use
"pci=nocrs" and report a bug
[    0.382912] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.389818] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.389825] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM
ClockPM Segments MSI HPX-Type3]
[    0.390288] acpiphp: Slot [3] registered
[    0.390343] acpiphp: Slot [4] registered
[    0.390374] acpiphp: Slot [5] registered
[    0.390407] acpiphp: Slot [6] registered
[    0.390437] acpiphp: Slot [7] registered
[    0.390467] acpiphp: Slot [8] registered
[    0.390497] acpiphp: Slot [9] registered
[    0.390529] acpiphp: Slot [10] registered
[    0.390559] acpiphp: Slot [11] registered
[    0.390588] acpiphp: Slot [12] registered
[    0.390619] acpiphp: Slot [13] registered
[    0.390649] acpiphp: Slot [14] registered
[    0.390679] acpiphp: Slot [15] registered
[    0.390710] acpiphp: Slot [16] registered
[    0.390742] acpiphp: Slot [17] registered
[    0.390771] acpiphp: Slot [18] registered
[    0.390801] acpiphp: Slot [19] registered
[    0.390831] acpiphp: Slot [20] registered
[    0.390862] acpiphp: Slot [21] registered
[    0.390892] acpiphp: Slot [22] registered
[    0.390924] acpiphp: Slot [23] registered
[    0.390953] acpiphp: Slot [24] registered
[    0.390983] acpiphp: Slot [25] registered
[    0.391014] acpiphp: Slot [26] registered
[    0.391044] acpiphp: Slot [27] registered
[    0.391074] acpiphp: Slot [28] registered
[    0.391105] acpiphp: Slot [29] registered
[    0.391136] acpiphp: Slot [30] registered
[    0.391166] acpiphp: Slot [31] registered
[    0.391193] PCI host bridge to bus 0000:00
[    0.391195] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.391196] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.391197] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.391198] pci_bus 0000:00: root bus resource [mem
0x000a0000-0x000bffff window]
[    0.391200] pci_bus 0000:00: root bus resource [mem
0xf0000000-0xfbffffff window]
[    0.392097] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
[    0.395106] pci 0000:00:01.0: [8086:7000] type 00 class 0x060100
[    0.398764] pci 0000:00:01.1: [8086:7010] type 00 class 0x010180
[    0.401310] pci 0000:00:01.1: reg 0x20: [io  0xc200-0xc20f]
[    0.402042] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io
 0x01f0-0x01f7]
[    0.402046] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io  0x03f6]
[    0.402048] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io
 0x0170-0x0177]
[    0.402050] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io  0x0376]
[    0.403095] pci 0000:00:01.2: [8086:7020] type 00 class 0x0c0300
[    0.408382] pci 0000:00:01.2: reg 0x20: [io  0xc200-0xc21f]
[    0.411492] pci 0000:00:01.3: [8086:7113] type 00 class 0x068000
[    0.414058] pci 0000:00:01.3: quirk: [io  0xb000-0xb03f] claimed by
PIIX4 ACPI
[    0.414125] pci 0000:00:01.3: quirk: [io  0xb100-0xb10f] claimed by
PIIX4 SMB
[    0.415904] pci 0000:00:02.0: [5853:0001] type 00 class 0xff8000
[    0.416975] pci 0000:00:02.0: reg 0x10: [io  0xc000-0xc0ff]
[    0.417744] pci 0000:00:02.0: reg 0x14: [mem 0xf0000000-0xf0ffffff pref]
[    0.423658] pci 0000:00:03.0: [1af4:1050] type 00 class 0x030000
[    0.424674] pci 0000:00:03.0: reg 0x10: [mem 0xf1000000-0xf17fffff pref]
[    0.426331] pci 0000:00:03.0: reg 0x18: [mem 0xf1850000-0xf1853fff 64bit
pref]
[    0.427343] pci 0000:00:03.0: reg 0x20: [mem 0xf1854000-0xf1854fff]
[    0.429328] pci 0000:00:03.0: reg 0x30: [mem 0xf1840000-0xf184ffff pref]
[    0.429561] pci 0000:00:03.0: Video device with shadowed ROM at [mem
0x000c0000-0x000dffff]
[    0.442223] ACPI: PCI: Interrupt link LNKA configured for IRQ 5
[    0.445589] ACPI: PCI: Interrupt link LNKB configured for IRQ 10
[    0.446086] ACPI: PCI: Interrupt link LNKC configured for IRQ 11
[    0.446565] ACPI: PCI: Interrupt link LNKD configured for IRQ 5
[    0.452471] xen:balloon: Initialising balloon driver
[    0.452504] iommu: Default domain type: Translated
[    0.452504] iommu: DMA domain TLB invalidation policy: lazy mode
[    0.452504] SCSI subsystem initialized
[    0.452504] libata version 3.00 loaded.
[    0.453475] pci 0000:00:03.0: vgaarb: setting as boot VGA device
[    0.453478] pci 0000:00:03.0: vgaarb: VGA device added:
decodes=io+mem,owns=io+mem,locks=none
[    0.453482] pci 0000:00:03.0: vgaarb: bridge control possible
[    0.453484] vgaarb: loaded
[    0.453513] ACPI: bus type USB registered
[    0.453533] usbcore: registered new interface driver usbfs
[    0.453543] usbcore: registered new interface driver hub
[    0.453553] usbcore: registered new device driver usb
[    0.453586] pps_core: LinuxPPS API ver. 1 registered
[    0.453588] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo
Giometti <giometti@linux.it>
[    0.453592] PTP clock support registered
[    0.453619] EDAC MC: Ver: 3.0.0
[    0.454282] NetLabel: Initializing
[    0.454282] NetLabel:  domain hash size = 128
[    0.454282] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.454282] NetLabel:  unlabeled traffic allowed by default
[    0.454282] PCI: Using ACPI for IRQ routing
[    0.454282] PCI: pci_cache_line_size set to 64 bytes
[    0.454282] pci 0000:00:01.1: can't claim BAR 4 [io  0xc200-0xc20f]:
address conflict with 0000:00:01.2 [io  0xc200-0xc21f]
[    0.454282] e820: reserve RAM buffer [mem 0x0009fc00-0x0009ffff]
[    0.454282] e820: reserve RAM buffer [mem 0xeffff000-0xefffffff]
[    0.454282] e820: reserve RAM buffer [mem 0x10f800000-0x10fffffff]
[    0.454282] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.454282] hpet0: 3 comparators, 64-bit 62.500000 MHz counter
[    0.460486] clocksource: Switched to clocksource xen
[    0.472984] VFS: Disk quotas dquot_6.6.0
[    0.473001] VFS: Dquot-cache hash table entries: 512 (order 0, 4096
bytes)
[    0.473105] AppArmor: AppArmor Filesystem Enabled
[    0.473124] pnp: PnP ACPI init
[    0.473202] system 00:00: [mem 0x00000000-0x0009ffff] could not be
reserved
[    0.473273] system 00:01: [io  0x08a0-0x08a3] has been reserved
[    0.473275] system 00:01: [io  0x0cc0-0x0ccf] has been reserved
[    0.473275] system 00:01: [io  0x04d0-0x04d1] has been reserved
[    0.473304] xen: --> pirq=17 -> irq=8 (gsi=8)
[    0.473363] xen: --> pirq=18 -> irq=12 (gsi=12)
[    0.473388] xen: --> pirq=19 -> irq=1 (gsi=1)
[    0.473414] xen: --> pirq=20 -> irq=6 (gsi=6)
[    0.473417] pnp 00:05: [dma 2]
[    0.473473] system 00:06: [io  0xae00-0xae0f] has been reserved
[    0.473475] system 00:06: [io  0xb044-0xb047] has been reserved
[    0.475437] pnp: PnP ACPI: found 7 devices
[    0.482559] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff,
max_idle_ns: 2085701024 ns
[    0.482606] NET: Registered PF_INET protocol family
[    0.482689] IP idents hash table entries: 65536 (order: 7, 524288 bytes,
linear)
[    0.483191] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3,
32768 bytes, linear)
[    0.483225] TCP established hash table entries: 32768 (order: 6, 262144
bytes, linear)
[    0.483322] TCP bind hash table entries: 32768 (order: 7, 524288 bytes,
linear)
[    0.483357] TCP: Hash tables configured (established 32768 bind 32768)
[    0.483430] MPTCP token hash table entries: 4096 (order: 4, 98304 bytes,
linear)
[    0.483462] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.483475] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes,
linear)
[    0.483502] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.483506] NET: Registered PF_XDP protocol family
[    0.483517] pci 0000:00:01.1: BAR 4: assigned [io  0x1000-0x100f]
[    0.483647] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    0.483648] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    0.483649] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff
window]
[    0.483650] pci_bus 0000:00: resource 7 [mem 0xf0000000-0xfbffffff
window]
[    0.483750] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[    0.483803] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    0.483855] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[    0.484244] xen: --> pirq=21 -> irq=23 (gsi=23)
[    0.485535] PCI: CLS 0 bytes, default 64
[    0.485545] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.485546] software IO TLB: mapped [mem
0x00000000ebfff000-0x00000000effff000] (64MB)
[    0.485628] Trying to unpack rootfs image as initramfs...
[    0.486028] Initialise system trusted keyrings
[    0.486049] Key type blacklist registered
[    0.486122] workingset: timestamp_bits=36 max_order=20 bucket_order=0
[    0.486920] zbud: loaded
[    0.487097] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.487273] fuse: init (API version 7.34)
[    0.487499] integrity: Platform Keyring initialized
[    0.490112] Key type asymmetric registered
[    0.490112] Asymmetric key parser 'x509' registered
[    0.490129] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 243)
[    0.490202] io scheduler mq-deadline registered
[    0.490536] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    0.490642] input: Power Button as
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
[    0.490669] ACPI: button: Power Button [PWRF]
[    0.490694] input: Sleep Button as
/devices/LNXSYSTM:00/LNXSLPBN:00/input/input1
[    0.490703] ACPI: button: Sleep Button [SLPF]
[    0.491294] xen: --> pirq=22 -> irq=28 (gsi=28)
[    0.502206] xen: --> pirq=23 -> irq=24 (gsi=24)
[    0.502508] xen:grant_table: Grant tables using version 1 layout
[    0.502550] Grant table initialized
[    0.503306] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    0.506090] Linux agpgart interface v0.103
[    0.512183] loop: module loaded
[    0.513365] ata_piix 0000:00:01.1: version 2.13
[    0.513594] ata_piix 0000:00:01.1: enabling device (0000 -> 0001)
[    0.518007] blkfront: xvda: flush diskcache: enabled; persistent grants:
disabled; indirect descriptors: disabled;
[    0.520138] scsi host0: ata_piix
[    0.520399] scsi host1: ata_piix
[    0.520445] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0x1000 irq 14
[    0.520449] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0x1008 irq 15
[    0.520658] tun: Universal TUN/TAP device driver, 1.6
[    0.520757] PPP generic driver version 2.4.2
[    0.520870] xen_netfront: Initialising Xen virtual ethernet driver
[    0.521168]  xvda: xvda1 xvda2 xvda3
[    0.521950] VFIO - User Level meta-driver version: 0.3
[    0.522059] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.522064] ehci-pci: EHCI PCI platform driver
[    0.522072] ehci-platform: EHCI generic platform driver
[    0.522076] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.522078] ohci-pci: OHCI PCI platform driver
[    0.522081] ohci-platform: OHCI generic platform driver
[    0.522087] uhci_hcd: USB Universal Host Controller Interface driver
[    0.523764] uhci_hcd 0000:00:01.2: UHCI Host Controller
[    0.523779] uhci_hcd 0000:00:01.2: new USB bus registered, assigned bus
number 1
[    0.523910] uhci_hcd 0000:00:01.2: detected 2 ports
[    0.524363] uhci_hcd 0000:00:01.2: irq 23, io base 0x0000c200
[    0.524805] usb usb1: New USB device found, idVendor=1d6b,
idProduct=0001, bcdDevice= 5.15
[    0.524812] usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[    0.524815] usb usb1: Product: UHCI Host Controller
[    0.524818] usb usb1: Manufacturer: Linux 5.15.0-25-generic uhci_hcd
[    0.524820] usb usb1: SerialNumber: 0000:00:01.2
[    0.524995] hub 1-0:1.0: USB hub found
[    0.525002] hub 1-0:1.0: 2 ports detected
[    0.525428] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at
0x60,0x64 irq 1,12
[    0.527062] xen_netfront: backend supports XDP headroom
[    0.529071] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.529083] serio: i8042 AUX port at 0x60,0x64 irq 12
[    0.529290] mousedev: PS/2 mouse device common for all mice
[    0.530692] input: AT Translated Set 2 keyboard as
/devices/platform/i8042/serio0/input/input2
[    0.531233] rtc_cmos 00:02: registered as rtc0
[    0.532070] rtc_cmos 00:02: setting system clock to 2022-08-16T10:03:51
UTC (1660644231)
[    0.532110] rtc_cmos 00:02: alarms up to one day, 114 bytes nvram, hpet
irqs
[    0.532128] i2c_dev: i2c /dev entries driver
[    0.532168] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled.
Duplicate IMA measurements will not be recorded in the IMA log.
[    0.532221] device-mapper: uevent: version 1.0.3
[    0.532343] device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised:
dm-devel@redhat.com
[    0.532392] platform eisa.0: Probing EISA bus 0
[    0.532395] platform eisa.0: EISA: Cannot allocate resource for mainboard
[    0.532398] platform eisa.0: Cannot allocate resource for EISA slot 1
[    0.532400] platform eisa.0: Cannot allocate resource for EISA slot 2
[    0.532402] platform eisa.0: Cannot allocate resource for EISA slot 3
[    0.532403] platform eisa.0: Cannot allocate resource for EISA slot 4
[    0.532405] platform eisa.0: Cannot allocate resource for EISA slot 5
[    0.532407] platform eisa.0: Cannot allocate resource for EISA slot 6
[    0.532408] platform eisa.0: Cannot allocate resource for EISA slot 7
[    0.532410] platform eisa.0: Cannot allocate resource for EISA slot 8
[    0.532412] platform eisa.0: EISA: Detected 0 cards
[    0.532528] ledtrig-cpu: registered to indicate activity on CPUs
[    0.532550] vesafb: mode is 640x480x32, linelength=2560, pages=0
[    0.532552] vesafb: scrolling: redraw
[    0.532552] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.532568] vesafb: framebuffer at 0xf1000000, mapped to
0x000000006e7c94d5, using 1216k, total 1216k
[    0.532629] fbcon: Deferring console take-over
[    0.532630] fb0: VESA VGA frame buffer device
[    0.532721] drop_monitor: Initializing network drop monitor service
[    0.532841] NET: Registered PF_INET6 protocol family
[    0.842492] Freeing initrd memory: 60524K
[    0.850586] Segment Routing with IPv6
[    0.850608] In-situ OAM (IOAM) with IPv6
[    0.850657] NET: Registered PF_PACKET protocol family
[    0.850754] Key type dns_resolver registered
[    0.851230] IPI shorthand broadcast: enabled
[    0.851247] sched_clock: Marking stable (851343609,
-194696)->(857336759, -6187846)
[    0.851532] registered taskstats version 1
[    0.851696] Loading compiled-in X.509 certificates
[    0.852907] Loaded X.509 cert 'Build time autogenerated kernel key:
c887ab1fa6442665629113512b4db089a7808038'
[    0.853729] Loaded X.509 cert 'Canonical Ltd. Live Patch Signing:
14df34d1a87cf37625abec039ef2bf521249b969'
[    0.854530] Loaded X.509 cert 'Canonical Ltd. Kernel Module Signing:
88f752e560a1e0737e31163a466ad7b70a850c19'
[    0.854534] blacklist: Loading compiled-in revocation X.509 certificates
[    0.854568] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing:
61482aa2830d0ab2ad5af10b7250da9033ddcef0'
[    0.854781] zswap: loaded using pool lzo/zbud
[    0.855324] Key type ._fscrypt registered
[    0.855328] Key type .fscrypt registered
[    0.855330] Key type fscrypt-provisioning registered
[    0.857364] usb 1-1: new full-speed USB device number 2 using uhci_hcd
[    0.859895] Key type encrypted registered
[    0.859902] AppArmor: AppArmor sha1 policy hashing enabled
[    0.859910] ima: No TPM chip found, activating TPM-bypass!
[    0.859918] Loading compiled-in module X.509 certificates
[    0.861118] Loaded X.509 cert 'Build time autogenerated kernel key:
c887ab1fa6442665629113512b4db089a7808038'
[    0.861122] ima: Allocated hash algorithm: sha1
[    0.861133] ima: No architecture policies found
[    0.861149] evm: Initialising EVM extended attributes:
[    0.861150] evm: security.selinux
[    0.861152] evm: security.SMACK64
[    0.861153] evm: security.SMACK64EXEC
[    0.861154] evm: security.SMACK64TRANSMUTE
[    0.861155] evm: security.SMACK64MMAP
[    0.861156] evm: security.apparmor
[    0.861157] evm: security.ima
[    0.861158] evm: security.capability
[    0.861160] evm: HMAC attrs: 0x1
[    0.861788] xenbus_probe_frontend: Device with no driver: device/vkbd/0
[    0.861870] PM:   Magic number: 2:786:72
[    0.862376] RAS: Correctable Errors collector initialized.
[    0.865608] Freeing unused decrypted memory: 2036K
[    0.866378] Freeing unused kernel image (initmem) memory: 2952K
[    0.889375] Write protecting the kernel read-only data: 30720k
[    0.890318] Freeing unused kernel image (text/rodata gap) memory: 2036K
[    0.890802] Freeing unused kernel image (rodata/data gap) memory: 1504K
[    0.936352] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    0.936636] Run /init as init process
[    0.936643]   with arguments:
[    0.936645]     /init
[    0.936646]     splash
[    0.936648]   with environment:
[    0.936649]     HOME=/
[    0.936650]     TERM=linux
[    0.936651]     BOOT_IMAGE=/boot/vmlinuz-5.15.0-25-generic
[    1.036484] piix4_smbus 0000:00:01.3: SMBus Host Controller not enabled!
[    1.036490] fbcon: Taking over console
[    1.039250] Console: switching to colour frame buffer device 80x30
[    1.055941] FDC 0 is a S82078B
[    1.078207] usb 1-1: New USB device found, idVendor=0627,
idProduct=0001, bcdDevice= 0.00
[    1.078215] usb 1-1: New USB device strings: Mfr=1, Product=3,
SerialNumber=10
[    1.078218] usb 1-1: Product: QEMU USB Tablet
[    1.078220] usb 1-1: Manufacturer: QEMU
[    1.078221] usb 1-1: SerialNumber: 42
[    1.098463] hid: raw HID events driver (C) Jiri Kosina
[    1.104173] usbcore: registered new interface driver usbhid
[    1.104177] usbhid: USB HID core driver
[    1.108771] input: QEMU QEMU USB Tablet as
/devices/pci0000:00/0000:00:01.2/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input5
[    1.109051] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID
v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:01.2-1/input0
[    1.242332] EXT4-fs (xvda3): mounted filesystem with ordered data mode.
Opts: (null). Quota mode: none.
[    1.353433] systemd[1]: Inserted module 'autofs4'
[    1.372606] systemd[1]: systemd 249.11-0ubuntu3 running in system mode
(+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS
-OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN +IPTC +KMOD
+LIBCRYPTSETUP -LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4
+XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    1.372690] systemd[1]: Detected virtualization xen.
[    1.372697] systemd[1]: Detected architecture x86-64.
[    1.373227] systemd[1]: Hostname set to <HVM-GUEST>.
[    1.590054] systemd[1]: Queued start job for default target Graphical
Interface.
[    1.592059] systemd[1]: Created slice Slice /system/modprobe.
[    1.592607] systemd[1]: Created slice Slice /system/serial-getty.
[    1.593111] systemd[1]: Created slice Slice /system/systemd-fsck.
[    1.593423] systemd[1]: Created slice User and Session Slice.
[    1.593540] systemd[1]: Started Forward Password Requests to Wall
Directory Watch.
[    1.593816] systemd[1]: Set up automount Arbitrary Executable File
Formats File System Automount Point.
[    1.593945] systemd[1]: Reached target User and Group Name Lookups.
[    1.593972] systemd[1]: Reached target Remote File Systems.
[    1.593994] systemd[1]: Reached target Slice Units.
[    1.594047] systemd[1]: Reached target Local Verity Protected Volumes.
[    1.594241] systemd[1]: Listening on Syslog Socket.
[    1.594362] systemd[1]: Listening on fsck to fsckd communication Socket.
[    1.594450] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    1.594705] systemd[1]: Listening on Journal Audit Socket.
[    1.594833] systemd[1]: Listening on Journal Socket (/dev/log).
[    1.594992] systemd[1]: Listening on Journal Socket.
[    1.595593] systemd[1]: Listening on udev Control Socket.
[    1.595751] systemd[1]: Listening on udev Kernel Socket.
[    1.596837] systemd[1]: Mounting Huge Pages File System...
[    1.598024] systemd[1]: Mounting POSIX Message Queue File System...
[    1.599213] systemd[1]: Mounting Kernel Debug File System...
[    1.600394] systemd[1]: Mounting Kernel Trace File System...
[    1.603377] systemd[1]: Starting Journal Service...
[    1.605041] systemd[1]: Starting Set the console keyboard layout...
[    1.606625] systemd[1]: Starting Create List of Static Device Nodes...
[    1.608115] systemd[1]: Starting Load Kernel Module configfs...
[    1.609446] systemd[1]: Starting Load Kernel Module drm...
[    1.610757] systemd[1]: Starting Load Kernel Module fuse...
[    1.611025] systemd[1]: Condition check resulted in File System Check on
Root Device being skipped.
[    1.614076] systemd[1]: Starting Load Kernel Modules...
[    1.616455] systemd[1]: Starting Remount Root and Kernel File Systems...
[    1.624748] systemd[1]: Starting Coldplug All udev Devices...
[    1.627022] systemd[1]: Mounted Huge Pages File System.
[    1.627141] systemd[1]: Mounted POSIX Message Queue File System.
[    1.627227] systemd[1]: Mounted Kernel Debug File System.
[    1.627315] systemd[1]: Mounted Kernel Trace File System.
[    1.627636] systemd[1]: Finished Create List of Static Device Nodes.
[    1.627985] systemd[1]: modprobe@configfs.service: Deactivated
successfully.
[    1.628221] systemd[1]: Finished Load Kernel Module configfs.
[    1.628480] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[    1.628704] systemd[1]: Finished Load Kernel Module fuse.
[    1.629866] EXT4-fs (xvda3): re-mounted. Opts: errors=remount-ro. Quota
mode: none.
[    1.630115] systemd[1]: Mounting FUSE Control File System...
[    1.631378] systemd[1]: Mounting Kernel Configuration File System...
[    1.634418] systemd[1]: modprobe@drm.service: Deactivated successfully.
[    1.634598] systemd[1]: Finished Load Kernel Module drm.
[    1.634842] systemd[1]: Finished Remount Root and Kernel File Systems.
[    1.634938] systemd[1]: Mounted FUSE Control File System.
[    1.634982] systemd[1]: Mounted Kernel Configuration File System.
[    1.635685] systemd[1]: Activating swap /swapfile...
[    1.635752] systemd[1]: Condition check resulted in Platform Persistent
Storage Archival being skipped.
[    1.637031] systemd[1]: Starting Load/Save Random Seed...
[    1.641131] Adding 2097148k swap on /swapfile.  Priority:-2 extents:6
across:2260988k SSFS
[    1.642488] systemd[1]: Starting Create System Users...
[    1.642572] systemd[1]: Activated swap /swapfile.
[    1.642765] systemd[1]: Reached target Swaps.
[    1.643321] lp: driver loaded but no devices found
[    1.651810] systemd[1]: Started Journal Service.
[    1.655589] systemd-journald[259]: Received client request to flush
runtime journal.
[    1.657118] ppdev: user-space parallel port driver
[    1.667097] IPMI message handler: version 39.2
[    1.668319] ipmi device interface
[    1.675912] loop0: detected capacity change from 0 to 8
[    1.678683] loop1: detected capacity change from 0 to 126760
[    1.681650] loop2: detected capacity change from 0 to 318728
[    1.683964] loop3: detected capacity change from 0 to 509456
[    1.686052] loop4: detected capacity change from 0 to 166424
[    1.687119] loop5: detected capacity change from 0 to 93920
[    1.687391] loop6: detected capacity change from 0 to 89352
[    1.692831] loop7: detected capacity change from 0 to 568
[    1.957855] cryptd: max_cpu_qlen set to 1000
[    1.999918] AVX2 version of gcm_enc/dec engaged.
[    2.000019] AES CTR mode by8 optimization enabled
[    2.043047] input: Xen Virtual Keyboard as /devices/virtual/input/input6
[    2.043943] input: Xen Virtual Pointer as /devices/virtual/input/input7
[    2.073671] [drm] pci: virtio-vga detected at 0000:00:03.0
[    2.073675] checking generic (f1000000 130000) vs hw (f1000000 800000)
[    2.073677] fb0: switching to virtio_gpu from VESA VGA
[    2.123276] Console: switching to colour dummy device 80x25
[    2.123582] virtio-pci 0000:00:03.0: vgaarb: deactivate vga console
[    2.125945] [drm] features: +virgl -edid -resource_blob -host_visible
[    2.136638] [drm] number of scanouts: 1
[    2.136692] [drm] number of cap sets: 2
[    2.179337] [drm] cap set 0: id 1, max-version 1, max-size 308
[    2.179388] input: ImExPS/2 Generic Explorer Mouse as
/devices/platform/i8042/serio1/input/input4
[    2.179638] [drm] cap set 1: id 2, max-version 2, max-size 856
[    2.182465] [drm] Initialized virtio_gpu 0.1.0 0 for virtio0 on minor 0
[    2.193057] virtio_gpu virtio0: [drm] drm_plane_enable_fb_damage_clips()
not called
[    2.194721] Console: switching to colour frame buffer device 128x48
[    2.219672] virtio_gpu virtio0: [drm] fb0: virtio_gpudrmfb frame buffer
device
[    2.280885] audit: type=1400 audit(1660644233.244:2): apparmor="STATUS"
operation="profile_load" profile="unconfined" name="nvidia_modprobe"
pid=417 comm="apparmor_parser"
[    2.280898] audit: type=1400 audit(1660644233.244:3): apparmor="STATUS"
operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod"
pid=417 comm="apparmor_parser"
[    2.283374] audit: type=1400 audit(1660644233.248:4): apparmor="STATUS"
operation="profile_load" profile="unconfined" name="lsb_release" pid=416
comm="apparmor_parser"
[    2.287067] audit: type=1400 audit(1660644233.248:5): apparmor="STATUS"
operation="profile_load" profile="unconfined"
name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=418
comm="apparmor_parser"
[    2.287073] audit: type=1400 audit(1660644233.248:6): apparmor="STATUS"
operation="profile_load" profile="unconfined"
name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=418 comm="apparmor_parser"
[    2.287075] audit: type=1400 audit(1660644233.248:7): apparmor="STATUS"
operation="profile_load" profile="unconfined"
name="/usr/lib/connman/scripts/dhclient-script" pid=418
comm="apparmor_parser"
[    2.287076] audit: type=1400 audit(1660644233.248:8): apparmor="STATUS"
operation="profile_load" profile="unconfined" name="/{,usr/}sbin/dhclient"
pid=418 comm="apparmor_parser"
[    2.294768] audit: type=1400 audit(1660644233.260:9): apparmor="STATUS"
operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=422
comm="apparmor_parser"
[    2.294783] audit: type=1400 audit(1660644233.260:10): apparmor="STATUS"
operation="profile_load" profile="unconfined" name="man_filter" pid=422
comm="apparmor_parser"
[    2.765051] loop8: detected capacity change from 0 to 8
[    4.617492] rfkill: input handler disabled
[   32.054348] kauditd_printk_skb: 38 callbacks suppressed
[   32.054351] audit: type=1400 audit(1660644263.020:49): apparmor="DENIED"
operation="capable" profile="/usr/sbin/cups-browsed" pid=1390
comm="cups-browsed" capability=23  capname="sys_nice"
[   68.680921] pci 0000:00:04.0: [8086:24cd] type 00 class 0x0c0320
[   68.681909] pci 0000:00:04.0: reg 0x10: [mem 0x00000000-0x00000fff]
[   68.686395] pci 0000:00:04.0: BAR 0: assigned [mem 0xf1800000-0xf1800fff]
[   68.687377] pci 0000:00:04.0: enabling device (0000 -> 0002)
[   68.689224] xen: --> pirq=24 -> irq=35 (gsi=35)
[   68.692834] ehci-pci 0000:00:04.0: EHCI Host Controller
[   68.692850] ehci-pci 0000:00:04.0: new USB bus registered, assigned bus
number 2
[   68.694281] ehci-pci 0000:00:04.0: irq 35, io mem 0xf1800000
[   68.708467] ehci-pci 0000:00:04.0: USB 2.0 started, EHCI 1.00
[   68.708678] usb usb2: New USB device found, idVendor=1d6b,
idProduct=0002, bcdDevice= 5.15
[   68.708684] usb usb2: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[   68.708687] usb usb2: Product: EHCI Host Controller
[   68.708690] usb usb2: Manufacturer: Linux 5.15.0-25-generic ehci_hcd
[   68.708693] usb usb2: SerialNumber: 0000:00:04.0
[   68.709004] hub 2-0:1.0: USB hub found
[   68.709014] hub 2-0:1.0: 6 ports detected
[  125.693224] usb 2-1: new high-speed USB device number 2 using ehci-pci
[  125.860036] usb 2-1: config 1 interface 0 altsetting 0 bulk endpoint
0x81 has invalid maxpacket 1024
[  125.860046] usb 2-1: config 1 interface 0 altsetting 0 bulk endpoint 0x2
has invalid maxpacket 1024
[  125.868162] usb 2-1: New USB device found, idVendor=0781,
idProduct=55a9, bcdDevice= 1.00
[  125.868169] usb 2-1: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[  125.868172] usb 2-1: Product:  SanDisk 3.2Gen1
[  125.868175] usb 2-1: Manufacturer:  USB
[  125.868177] usb 2-1: SerialNumber:
0401679941e4bd74075d85f9c579b3ea676bfcb7793d641baffeb9351793d80925ba000000000000000000004c882c7f00906e18a955810790aaa0fa
[  125.886442] usb-storage 2-1:1.0: USB Mass Storage device detected
[  125.886855] scsi host2: usb-storage 2-1:1.0
[  125.887014] usbcore: registered new interface driver usb-storage
[  125.892109] usbcore: registered new interface driver uas
[  126.914284] scsi 2:0:0:0: Direct-Access      USB      SanDisk 3.2Gen1
1.00 PQ: 0 ANSI: 6
[  126.914710] sd 2:0:0:0: Attached scsi generic sg0 type 0













*[  126.926413] sd 2:0:0:0: [sda] 120176640 512-byte logical blocks: (61.5
GB/57.3 GiB)[  126.939662] sd 2:0:0:0: [sda] Write Protect is off[
 126.939670] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00[  126.952697] sd
2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support
DPO or FUA[  127.045601]  sda: sda1[  127.086759] sd 2:0:0:0: [sda]
Attached SCSI removable disk[  128.333409] usb 2-1: reset high-speed USB
device number 2 using ehci-pci[  128.502872] sd 2:0:0:0: [sda] tag#0 FAILED
Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s[  128.502881] sd
2:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 7a b7 00 00 3f 00[
 128.502883] blk_update_request: I/O error, dev sda, sector 31415 op
0x0:(READ) flags 0x80700 phys_seg 63 prio class 0[  159.238904] usb 2-1:
reset high-speed USB device number 2 using ehci-pci[  363.738313] INFO:
task kworker/u8:1:103 blocked for more than 120 seconds.[  363.738327]
  Not tainted 5.15.0-25-generic #25-Ubuntu*[  363.738331] "echo 0 >
/proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  363.738334] task:kworker/u8:1    state:D stack:    0 pid:  103 ppid:
2 flags:0x00004000
[  363.738343] Workqueue: events_freezable_power_ disk_events_workfn
[  363.738357] Call Trace:
[  363.738361]  <TASK>
[  363.738366]  __schedule+0x23d/0x590
[  363.738375]  schedule+0x4e/0xb0
[  363.738380]  io_schedule+0x46/0x70
[  363.738385]  blk_mq_get_tag+0x11b/0x300
[  363.738391]  ? wait_woken+0x70/0x70
[  363.738398]  __blk_mq_alloc_request+0x101/0x180
[  363.738402]  blk_mq_alloc_request+0x7a/0xc0
[  363.738406]  blk_get_request+0x27/0x60
[  363.738412]  __scsi_execute+0x48/0x260
[  363.738417]  scsi_test_unit_ready+0x60/0xe0
[  363.738421]  sd_check_events+0x194/0x230
[  363.738426]  disk_check_events+0x3c/0x110
[  363.738431]  disk_events_workfn+0x19/0x20
[  363.738435]  process_one_work+0x22b/0x3d0
[  363.738442]  worker_thread+0x53/0x410
[  363.738447]  ? process_one_work+0x3d0/0x3d0
[  363.738452]  kthread+0x12a/0x150
[  363.738457]  ? set_kthread_struct+0x50/0x50
[  363.738461]  ret_from_fork+0x22/0x30
[  363.738469]  </TASK>
[  363.738491] INFO: task pool-udisksd:1698 blocked for more than 120
seconds.
[  363.738494]       Not tainted 5.15.0-25-generic #25-Ubuntu
[  363.738497] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
this message.
[  363.738499] task:pool-udisksd    state:D stack:    0 pid: 1698 ppid:
1 flags:0x00004002
[  363.738504] Call Trace:
[  363.738506]  <TASK>
[  363.738507]  __schedule+0x23d/0x590
[  363.738513]  ? bit_wait+0x60/0x60
[  363.738517]  schedule+0x4e/0xb0
[  363.738522]  io_schedule+0x46/0x70
[  363.738527]  bit_wait_io+0x11/0x60
[  363.738532]  __wait_on_bit+0x33/0xa0
[  363.738537]  out_of_line_wait_on_bit+0x8d/0xb0
[  363.738542]  ? var_wake_function+0x30/0x30
[  363.738546]  __bread_gfp+0xf6/0x120
[  363.738553]  fat__get_entry+0x15c/0x240
[  363.738561]  fat_get_short_entry+0x62/0xb0
[  363.738566]  fat_subdirs+0x5c/0x90
[  363.738571]  fat_read_root+0x130/0x170
[  363.738574]  fat_fill_super+0x63c/0x880
[  363.738578]  ? snprintf+0x49/0x60
[  363.738583]  vfat_fill_super+0x1a/0x20
[  363.738586]  mount_bdev+0x196/0x1c0
[  363.738591]  ? vfat_mount+0x20/0x20
[  363.738595]  vfat_mount+0x15/0x20
[  363.738598]  legacy_get_tree+0x2b/0x50
[  363.738602]  vfs_get_tree+0x2a/0xc0
[  363.738606]  do_new_mount+0x16e/0x2d0
[  363.738611]  path_mount+0x1db/0x880
[  363.738614]  ? putname+0x55/0x60
[  363.738619]  __x64_sys_mount+0x108/0x140
[  363.738623]  do_syscall_64+0x5c/0xc0
[  363.738629]  ? do_syscall_64+0x69/0xc0
[  363.738633]  ? exit_to_user_mode_prepare+0x37/0xb0
[  363.738639]  ? syscall_exit_to_user_mode+0x27/0x50
[  363.738643]  ? __do_sys_getuid+0x28/0x30
[  363.738646]  ? do_syscall_64+0x69/0xc0
[  363.738650]  ? syscall_exit_to_user_mode+0x27/0x50
[  363.738654]  ? exit_to_user_mode_prepare+0x37/0xb0
[  363.738657]  ? syscall_exit_to_user_mode+0x27/0x50
[  363.738660]  ? __do_sys_getgid+0x28/0x30
[  363.738663]  ? do_syscall_64+0x69/0xc0
[  363.738667]  ? __x64_sys_readlink+0x1e/0x30
[  363.738671]  ? do_syscall_64+0x69/0xc0
[  363.738675]  ? irqentry_exit+0x19/0x30
[  363.738679]  ? exc_page_fault+0x89/0x160
[  363.738681]  ? asm_exc_page_fault+0x8/0x30
[  363.738686]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[  363.738691] RIP: 0033:0x7f511763eeae
[  363.738696] RSP: 002b:00007f51163782e8 EFLAGS: 00000246 ORIG_RAX:
00000000000000a5
[  363.738701] RAX: ffffffffffffffda RBX: 0000000000000000 RCX:
00007f511763eeae
[  363.738703] RDX: 00007f51080188e0 RSI: 00007f5108018960 RDI:
00007f5108018940
[  363.738706] RBP: 00007f5108018b50 R08: 00007f5108018d80 R09:
0000000000000001
[  363.738708] R10: 0000000000000006 R11: 0000000000000246 R12:
0000000000000000
[  363.738710] R13: 00007f51080188e0 R14: 00007f5108018940 R15:
00007f5108018b50
[  363.738715]  </TASK>
[  363.738761] INFO: task scsi_eh_2:1671 blocked for more than 120 seconds.
[  363.738765]       Not tainted 5.15.0-25-generic #25-Ubuntu
[  363.738767] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
this message.
[  363.738769] task:scsi_eh_2       state:D stack:    0 pid: 1671 ppid:
2 flags:0x00004000
[  363.738773] Call Trace:
[  363.738775]  <TASK>
[  363.738777]  __schedule+0x23d/0x590
[  363.738782]  schedule+0x4e/0xb0
[  363.738787]  schedule_preempt_disabled+0xe/0x10
[  363.738792]  __mutex_lock.constprop.0+0x263/0x490
[  363.738796]  ? update_load_avg+0x82/0x620
[  363.738801]  __mutex_lock_slowpath+0x13/0x20
[  363.738804]  mutex_lock+0x34/0x40
[  363.738810]  device_reset+0x22/0x50 [usb_storage]
[  363.738818]  scsi_eh_bus_device_reset+0xee/0x2a0
[  363.738824]  scsi_eh_ready_devs+0x67/0x240
[  363.738829]  ? finish_task_switch.isra.0+0xa6/0x270
[  363.738834]  scsi_unjam_host+0x101/0x1c0
[  363.738839]  ? _raw_spin_unlock_irqrestore+0xe/0x30
[  363.738844]  scsi_error_handler+0x139/0x180
[  363.738849]  ? scsi_unjam_host+0x1c0/0x1c0
[  363.738854]  kthread+0x12a/0x150
[  363.738858]  ? set_kthread_struct+0x50/0x50
[  363.738863]  ret_from_fork+0x22/0x30
[  363.738868]  </TASK>
[  363.738870] INFO: task usb-storage:1674 blocked for more than 120
seconds.
[  363.738873]       Not tainted 5.15.0-25-generic #25-Ubuntu
[  363.738875] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
this message.
[  363.738877] task:usb-storage     state:D stack:    0 pid: 1674 ppid:
2 flags:0x00004000
[  363.738881] Call Trace:
[  363.738883]  <TASK>
[  363.738884]  __schedule+0x23d/0x590
[  363.738889]  schedule+0x4e/0xb0
[  363.738894]  schedule_timeout+0xfb/0x140
[  363.738898]  __wait_for_common+0xae/0x150
[  363.738903]  ? usleep_range_state+0x90/0x90
[  363.738907]  wait_for_completion+0x24/0x30
[  363.738912]  usb_sg_wait+0xee/0x1b0
[  363.738916]  usb_stor_bulk_transfer_sglist+0x8f/0xe0 [usb_storage]
[  363.738924]  usb_stor_Bulk_transport+0x191/0x440 [usb_storage]
[  363.738931]  usb_stor_invoke_transport+0x3e/0x540 [usb_storage]
[  363.738937]  ? try_to_wake_up+0x1fc/0x5a0
[  363.738942]  ? __wait_for_common+0x11d/0x150
[  363.738947]  ? usleep_range_state+0x90/0x90
[  363.738951]  usb_stor_transparent_scsi_command+0xe/0x10 [usb_storage]
[  363.738957]  usb_stor_control_thread+0x198/0x290 [usb_storage]
[  363.738964]  ? storage_probe+0xd0/0xd0 [usb_storage]
[  363.738971]  kthread+0x12a/0x150
[  363.738975]  ? set_kthread_struct+0x50/0x50
[  363.738979]  ret_from_fork+0x22/0x30
[  363.738985]  </TASK>
[  484.572086] INFO: task kworker/u8:1:103 blocked for more than 241
seconds.
[  484.572098]       Not tainted 5.15.0-25-generic #25-Ubuntu
[  484.572102] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
this message.
[  484.572104] task:kworker/u8:1    state:D stack:    0 pid:  103 ppid:
2 flags:0x00004000
[  484.572113] Workqueue: events_freezable_power_ disk_events_workfn
[  484.572124] Call Trace:
[  484.572127]  <TASK>
[  484.572131]  __schedule+0x23d/0x590
[  484.572140]  schedule+0x4e/0xb0
[  484.572145]  io_schedule+0x46/0x70
[  484.572150]  blk_mq_get_tag+0x11b/0x300
[  484.572155]  ? wait_woken+0x70/0x70
[  484.572161]  __blk_mq_alloc_request+0x101/0x180
[  484.572165]  blk_mq_alloc_request+0x7a/0xc0
[  484.572169]  blk_get_request+0x27/0x60
[  484.572175]  __scsi_execute+0x48/0x260
[  484.572179]  scsi_test_unit_ready+0x60/0xe0
[  484.572183]  sd_check_events+0x194/0x230
[  484.572188]  disk_check_events+0x3c/0x110
[  484.572193]  disk_events_workfn+0x19/0x20
[  484.572197]  process_one_work+0x22b/0x3d0
[  484.572203]  worker_thread+0x53/0x410
[  484.572208]  ? process_one_work+0x3d0/0x3d0
[  484.572213]  kthread+0x12a/0x150
[  484.572217]  ? set_kthread_struct+0x50/0x50
[  484.572222]  ret_from_fork+0x22/0x30
[  484.572229]  </TASK>
[  484.572259] INFO: task pool-udisksd:1698 blocked for more than 241
seconds.
[  484.572263]       Not tainted 5.15.0-25-generic #25-Ubuntu
[  484.572265] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
this message.
[  484.572267] task:pool-udisksd    state:D stack:    0 pid: 1698 ppid:
1 flags:0x00004002
[  484.572273] Call Trace:
[  484.572274]  <TASK>
[  484.572276]  __schedule+0x23d/0x590
[  484.572281]  ? bit_wait+0x60/0x60
[  484.572286]  schedule+0x4e/0xb0
[  484.572291]  io_schedule+0x46/0x70
[  484.572295]  bit_wait_io+0x11/0x60
[  484.572300]  __wait_on_bit+0x33/0xa0
[  484.572305]  out_of_line_wait_on_bit+0x8d/0xb0
[  484.572310]  ? var_wake_function+0x30/0x30
[  484.572314]  __bread_gfp+0xf6/0x120
[  484.572322]  fat__get_entry+0x15c/0x240
[  484.572329]  fat_get_short_entry+0x62/0xb0
[  484.572334]  fat_subdirs+0x5c/0x90
[  484.572339]  fat_read_root+0x130/0x170
[  484.572342]  fat_fill_super+0x63c/0x880
[  484.572345]  ? snprintf+0x49/0x60
[  484.572351]  vfat_fill_super+0x1a/0x20
[  484.572354]  mount_bdev+0x196/0x1c0
[  484.572359]  ? vfat_mount+0x20/0x20
[  484.572363]  vfat_mount+0x15/0x20
[  484.572365]  legacy_get_tree+0x2b/0x50
[  484.572369]  vfs_get_tree+0x2a/0xc0
[  484.572373]  do_new_mount+0x16e/0x2d0
[  484.572378]  path_mount+0x1db/0x880
[  484.572381]  ? putname+0x55/0x60
[  484.572385]  __x64_sys_mount+0x108/0x140
[  484.572389]  do_syscall_64+0x5c/0xc0
[  484.572395]  ? do_syscall_64+0x69/0xc0
[  484.572399]  ? exit_to_user_mode_prepare+0x37/0xb0
[  484.572405]  ? syscall_exit_to_user_mode+0x27/0x50
[  484.572409]  ? __do_sys_getuid+0x28/0x30
[  484.572412]  ? do_syscall_64+0x69/0xc0
[  484.572417]  ? syscall_exit_to_user_mode+0x27/0x50
[  484.572420]  ? exit_to_user_mode_prepare+0x37/0xb0
[  484.572423]  ? syscall_exit_to_user_mode+0x27/0x50
[  484.572426]  ? __do_sys_getgid+0x28/0x30
[  484.572429]  ? do_syscall_64+0x69/0xc0
[  484.572433]  ? __x64_sys_readlink+0x1e/0x30
[  484.572438]  ? do_syscall_64+0x69/0xc0
[  484.572442]  ? irqentry_exit+0x19/0x30
[  484.572445]  ? exc_page_fault+0x89/0x160
[  484.572448]  ? asm_exc_page_fault+0x8/0x30
[  484.572452]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[  484.572457] RIP: 0033:0x7f511763eeae
[  484.572462] RSP: 002b:00007f51163782e8 EFLAGS: 00000246 ORIG_RAX:
00000000000000a5
[  484.572466] RAX: ffffffffffffffda RBX: 0000000000000000 RCX:
00007f511763eeae
[  484.572469] RDX: 00007f51080188e0 RSI: 00007f5108018960 RDI:
00007f5108018940
[  484.572472] RBP: 00007f5108018b50 R08: 00007f5108018d80 R09:
0000000000000001
[  484.572474] R10: 0000000000000006 R11: 0000000000000246 R12:
0000000000000000
[  484.572476] R13: 00007f51080188e0 R14: 00007f5108018940 R15:
00007f5108018b50
[  484.572481]  </TASK>
[  484.572526] INFO: task scsi_eh_2:1671 blocked for more than 241 seconds.
[  484.572529]       Not tainted 5.15.0-25-generic #25-Ubuntu
[  484.572531] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
this message.
[  484.572533] task:scsi_eh_2       state:D stack:    0 pid: 1671 ppid:
2 flags:0x00004000
[  484.572538] Call Trace:
[  484.572539]  <TASK>
[  484.572541]  __schedule+0x23d/0x590
[  484.572546]  schedule+0x4e/0xb0
[  484.572551]  schedule_preempt_disabled+0xe/0x10
[  484.572556]  __mutex_lock.constprop.0+0x263/0x490
[  484.572560]  ? update_load_avg+0x82/0x620
[  484.572565]  __mutex_lock_slowpath+0x13/0x20
[  484.572568]  mutex_lock+0x34/0x40
[  484.572574]  device_reset+0x22/0x50 [usb_storage]
[  484.572582]  scsi_eh_bus_device_reset+0xee/0x2a0
[  484.572588]  scsi_eh_ready_devs+0x67/0x240
[  484.572593]  ? finish_task_switch.isra.0+0xa6/0x270
[  484.572598]  scsi_unjam_host+0x101/0x1c0
[  484.572603]  ? _raw_spin_unlock_irqrestore+0xe/0x30
[  484.572608]  scsi_error_handler+0x139/0x180
[  484.572613]  ? scsi_unjam_host+0x1c0/0x1c0
[  484.572618]  kthread+0x12a/0x150
[  484.572622]  ? set_kthread_struct+0x50/0x50
[  484.572626]  ret_from_fork+0x22/0x30
[  484.572632]  </TASK>
[  484.572634] INFO: task usb-storage:1674 blocked for more than 241
seconds.
[  484.572636]       Not tainted 5.15.0-25-generic #25-Ubuntu
[  484.572639] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
this message.
[  484.572641] task:usb-storage     state:D stack:    0 pid: 1674 ppid:
2 flags:0x00004000
[  484.572644] Call Trace:
[  484.572646]  <TASK>
[  484.572647]  __schedule+0x23d/0x590
[  484.572653]  schedule+0x4e/0xb0
[  484.572657]  schedule_timeout+0xfb/0x140
[  484.572661]  __wait_for_common+0xae/0x150
[  484.572666]  ? usleep_range_state+0x90/0x90
[  484.572670]  wait_for_completion+0x24/0x30
[  484.572675]  usb_sg_wait+0xee/0x1b0
[  484.572680]  usb_stor_bulk_transfer_sglist+0x8f/0xe0 [usb_storage]
[  484.572687]  usb_stor_Bulk_transport+0x191/0x440 [usb_storage]
[  484.572694]  usb_stor_invoke_transport+0x3e/0x540 [usb_storage]
[  484.572701]  ? try_to_wake_up+0x1fc/0x5a0
[  484.572705]  ? __wait_for_common+0x11d/0x150
[  484.572710]  ? usleep_range_state+0x90/0x90
[  484.572714]  usb_stor_transparent_scsi_command+0xe/0x10 [usb_storage]
[  484.572720]  usb_stor_control_thread+0x198/0x290 [usb_storage]
[  484.572728]  ? storage_probe+0xd0/0xd0 [usb_storage]
[  484.572734]  kthread+0x12a/0x150
[  484.572738]  ? set_kthread_struct+0x50/0x50
[  484.572742]  ret_from_fork+0x22/0x30
[  484.572748]  </TASK>

Thanks
Sudheer

--000000000000c5fabd05e67df247
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi All<br><br>On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-D=
omU, I tried to do a USB mass storage device passthrough to DomU.<br>I foll=
owed the PVUSB method mentioned in <a href=3D"https://wiki.xenproject.org/w=
iki/Xen_USB_Passthrough">https://wiki.xenproject.org/wiki/Xen_USB_Passthrou=
gh</a>. <br><br>With 8GB sandisk pen drive, i am able to do USB passthrough=
 to DomU.<br>But with 64GB sandisk pendrive, though able to mount/umount in=
 Dom0, not able to do passthrough to DomU.<br>I see IO errors in dmesg=C2=
=A0 when tried to access the usb disk folder in DomU.<br>Both 8GB and 64GB =
disks are 3.2Gen1. (Not tried with 16GB &amp; 32GB drives).<br><br>Does any=
one know why 64GB usb disk passthrough fails with the below error ?<br><br>=
Dmesg Error:<br>-----------------<br>[ =C2=A0128.333409] usb 2-1: reset hig=
h-speed USB device number 2 using ehci-pci<br>[ =C2=A0128.502872] sd 2:0:0:=
0: [sda] tag#0 FAILED Result: hostbyte=3DDID_ERROR driverbyte=3DDRIVER_OK c=
md_age=3D0s<br>[ =C2=A0128.502881] sd 2:0:0:0: [sda] tag#0 CDB: Read(10) 28=
 00 00 00 7a b7 00 00 3f 00<br>[ =C2=A0128.502883] blk_update_request: I/O =
error, dev sda, sector 31415 op 0x0:(READ) flags 0x80700 phys_seg 63 prio c=
lass 0<br><br>Complete dmesg log:<br>---------------------------<br>[ =C2=
=A0 =C2=A00.000000] Linux version 5.15.0-25-generic (buildd@ubuntu) (gcc (U=
buntu 11.2.0-19ubuntu1) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #25-=
Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 (Ubuntu 5.15.0-25.25-generic 5.15.3=
0)<br>[ =C2=A0 =C2=A00.000000] Command line: BOOT_IMAGE=3D/boot/vmlinuz-5.1=
5.0-25-generic root=3DUUID=3Da1f59e2d-4208-42bb-90ad-f19c9608db6b ro quiet =
splash vt.handoff=3D7<br>[ =C2=A0 =C2=A00.000000] KERNEL supported cpus:<br=
>[ =C2=A0 =C2=A00.000000] =C2=A0 Intel GenuineIntel<br>[ =C2=A0 =C2=A00.000=
000] =C2=A0 AMD AuthenticAMD<br>[ =C2=A0 =C2=A00.000000] =C2=A0 Hygon Hygon=
Genuine<br>[ =C2=A0 =C2=A00.000000] =C2=A0 Centaur CentaurHauls<br>[ =C2=A0=
 =C2=A00.000000] =C2=A0 zhaoxin =C2=A0 Shanghai =C2=A0<br>[ =C2=A0 =C2=A00.=
000000] x86/fpu: Supporting XSAVE feature 0x001: &#39;x87 floating point re=
gisters&#39;<br>[ =C2=A0 =C2=A00.000000] x86/fpu: Supporting XSAVE feature =
0x002: &#39;SSE registers&#39;<br>[ =C2=A0 =C2=A00.000000] x86/fpu: Support=
ing XSAVE feature 0x004: &#39;AVX registers&#39;<br>[ =C2=A0 =C2=A00.000000=
] x86/fpu: xstate_offset[2]: =C2=A0576, xstate_sizes[2]: =C2=A0256<br>[ =C2=
=A0 =C2=A00.000000] x86/fpu: Enabled xstate features 0x7, context size is 8=
32 bytes, using &#39;compacted&#39; format.<br>[ =C2=A0 =C2=A00.000000] sig=
nal: max sigframe size: 1776<br>[ =C2=A0 =C2=A00.000000] BIOS-provided phys=
ical RAM map:<br>[ =C2=A0 =C2=A00.000000] BIOS-e820: [mem 0x000000000000000=
0-0x000000000009fbff] usable<br>[ =C2=A0 =C2=A00.000000] BIOS-e820: [mem 0x=
000000000009fc00-0x000000000009ffff] reserved<br>[ =C2=A0 =C2=A00.000000] B=
IOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved<br>[ =C2=A0 =
=C2=A00.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000efffefff] usab=
le<br>[ =C2=A0 =C2=A00.000000] BIOS-e820: [mem 0x00000000effff000-0x0000000=
0efffffff] reserved<br>[ =C2=A0 =C2=A00.000000] BIOS-e820: [mem 0x00000000f=
c000000-0x00000000fc00afff] ACPI NVS<br>[ =C2=A0 =C2=A00.000000] BIOS-e820:=
 [mem 0x00000000fc00b000-0x00000000ffffffff] reserved<br>[ =C2=A0 =C2=A00.0=
00000] BIOS-e820: [mem 0x0000000100000000-0x000000010f7fffff] usable<br>[ =
=C2=A0 =C2=A00.000000] NX (Execute Disable) protection: active<br>[ =C2=A0 =
=C2=A00.000000] SMBIOS 2.4 present.<br>[ =C2=A0 =C2=A00.000000] DMI: Xen HV=
M domU, BIOS 4.16.2-pre 07/23/2022<br>[ =C2=A0 =C2=A00.000000] Hypervisor d=
etected: Xen HVM<br>[ =C2=A0 =C2=A00.000000] Xen version 4.16.<br>[ =C2=A0 =
=C2=A00.000000] platform_pci_unplug: Netfront and the Xen platform PCI driv=
er have been compiled for this kernel: unplug emulated NICs.<br>[ =C2=A0 =
=C2=A00.000000] platform_pci_unplug: Blkfront and the Xen platform PCI driv=
er have been compiled for this kernel: unplug emulated disks.<br>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0You might have to change the r=
oot device<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from /=
dev/hd[a-d] to /dev/xvd[a-d]<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0in your root=3D kernel command line option<br>[ =C2=A0 =C2=A00=
.000348] HVMOP_pagetable_dying not supported<br>[ =C2=A0 =C2=A00.019897] ts=
c: Fast TSC calibration using PIT<br>[ =C2=A0 =C2=A00.019899] tsc: Detected=
 2096.153 MHz processor<br>[ =C2=A0 =C2=A00.019901] tsc: Detected 2096.060 =
MHz TSC<br>[ =C2=A0 =C2=A00.020426] e820: update [mem 0x00000000-0x00000fff=
] usable =3D=3D&gt; reserved<br>[ =C2=A0 =C2=A00.020429] e820: remove [mem =
0x000a0000-0x000fffff] usable<br>[ =C2=A0 =C2=A00.020434] last_pfn =3D 0x10=
f800 max_arch_pfn =3D 0x400000000<br>[ =C2=A0 =C2=A00.020507] x86/PAT: Conf=
iguration [0-7]: WB =C2=A0WC =C2=A0UC- UC =C2=A0WB =C2=A0WP =C2=A0UC- WT =
=C2=A0<br>[ =C2=A0 =C2=A00.020726] last_pfn =3D 0xeffff max_arch_pfn =3D 0x=
400000000<br>[ =C2=A0 =C2=A00.022710] found SMP MP-table at [mem 0x000f5aa0=
-0x000f5aaf]<br>[ =C2=A0 =C2=A00.022731] Using GB pages for direct mapping<=
br>[ =C2=A0 =C2=A00.022866] RAMDISK: [mem 0x309b9000-0x344d3fff]<br>[ =C2=
=A0 =C2=A00.022871] ACPI: Early table checksum verification disabled<br>[ =
=C2=A0 =C2=A00.022876] ACPI: RSDP 0x00000000000F59F0 000024 (v02 Xen =C2=A0=
 )<br>[ =C2=A0 =C2=A00.022880] ACPI: XSDT 0x00000000FC00A660 000054 (v01 Xe=
n =C2=A0 =C2=A0HVM =C2=A0 =C2=A0 =C2=A000000000 HVML 00000000)<br>[ =C2=A0 =
=C2=A00.022885] ACPI: FACP 0x00000000FC00A370 0000F4 (v04 Xen =C2=A0 =C2=A0=
HVM =C2=A0 =C2=A0 =C2=A000000000 HVML 00000000)<br>[ =C2=A0 =C2=A00.022890]=
 ACPI: DSDT 0x00000000FC001040 0092A3 (v02 Xen =C2=A0 =C2=A0HVM =C2=A0 =C2=
=A0 =C2=A000000000 INTL 20200925)<br>[ =C2=A0 =C2=A00.022893] ACPI: FACS 0x=
00000000FC001000 000040<br>[ =C2=A0 =C2=A00.022895] ACPI: FACS 0x00000000FC=
001000 000040<br>[ =C2=A0 =C2=A00.022897] ACPI: APIC 0x00000000FC00A470 000=
080 (v02 Xen =C2=A0 =C2=A0HVM =C2=A0 =C2=A0 =C2=A000000000 HVML 00000000)<b=
r>[ =C2=A0 =C2=A00.022899] ACPI: HPET 0x00000000FC00A570 000038 (v01 Xen =
=C2=A0 =C2=A0HVM =C2=A0 =C2=A0 =C2=A000000000 HVML 00000000)<br>[ =C2=A0 =
=C2=A00.022901] ACPI: WAET 0x00000000FC00A5B0 000028 (v01 Xen =C2=A0 =C2=A0=
HVM =C2=A0 =C2=A0 =C2=A000000000 HVML 00000000)<br>[ =C2=A0 =C2=A00.022903]=
 ACPI: SSDT 0x00000000FC00A5E0 000031 (v02 Xen =C2=A0 =C2=A0HVM =C2=A0 =C2=
=A0 =C2=A000000000 INTL 20200925)<br>[ =C2=A0 =C2=A00.022905] ACPI: SSDT 0x=
00000000FC00A620 000031 (v02 Xen =C2=A0 =C2=A0HVM =C2=A0 =C2=A0 =C2=A000000=
000 INTL 20200925)<br>[ =C2=A0 =C2=A00.022907] ACPI: Reserving FACP table m=
emory at [mem 0xfc00a370-0xfc00a463]<br>[ =C2=A0 =C2=A00.022908] ACPI: Rese=
rving DSDT table memory at [mem 0xfc001040-0xfc00a2e2]<br>[ =C2=A0 =C2=A00.=
022909] ACPI: Reserving FACS table memory at [mem 0xfc001000-0xfc00103f]<br=
>[ =C2=A0 =C2=A00.022910] ACPI: Reserving FACS table memory at [mem 0xfc001=
000-0xfc00103f]<br>[ =C2=A0 =C2=A00.022910] ACPI: Reserving APIC table memo=
ry at [mem 0xfc00a470-0xfc00a4ef]<br>[ =C2=A0 =C2=A00.022911] ACPI: Reservi=
ng HPET table memory at [mem 0xfc00a570-0xfc00a5a7]<br>[ =C2=A0 =C2=A00.022=
912] ACPI: Reserving WAET table memory at [mem 0xfc00a5b0-0xfc00a5d7]<br>[ =
=C2=A0 =C2=A00.022912] ACPI: Reserving SSDT table memory at [mem 0xfc00a5e0=
-0xfc00a610]<br>[ =C2=A0 =C2=A00.022913] ACPI: Reserving SSDT table memory =
at [mem 0xfc00a620-0xfc00a650]<br>[ =C2=A0 =C2=A00.023846] No NUMA configur=
ation found<br>[ =C2=A0 =C2=A00.023847] Faking a node at [mem 0x00000000000=
00000-0x000000010f7fffff]<br>[ =C2=A0 =C2=A00.023853] NODE_DATA(0) allocate=
d [mem 0x10f7d6000-0x10f7fffff]<br>[ =C2=A0 =C2=A00.024106] Zone ranges:<br=
>[ =C2=A0 =C2=A00.024106] =C2=A0 DMA =C2=A0 =C2=A0 =C2=A0[mem 0x00000000000=
01000-0x0000000000ffffff]<br>[ =C2=A0 =C2=A00.024108] =C2=A0 DMA32 =C2=A0 =
=C2=A0[mem 0x0000000001000000-0x00000000ffffffff]<br>[ =C2=A0 =C2=A00.02410=
9] =C2=A0 Normal =C2=A0 [mem 0x0000000100000000-0x000000010f7fffff]<br>[ =
=C2=A0 =C2=A00.024110] =C2=A0 Device =C2=A0 empty<br>[ =C2=A0 =C2=A00.02411=
1] Movable zone start for each node<br>[ =C2=A0 =C2=A00.024113] Early memor=
y node ranges<br>[ =C2=A0 =C2=A00.024114] =C2=A0 node =C2=A0 0: [mem 0x0000=
000000001000-0x000000000009efff]<br>[ =C2=A0 =C2=A00.024115] =C2=A0 node =
=C2=A0 0: [mem 0x0000000000100000-0x00000000efffefff]<br>[ =C2=A0 =C2=A00.0=
24116] =C2=A0 node =C2=A0 0: [mem 0x0000000100000000-0x000000010f7fffff]<br=
>[ =C2=A0 =C2=A00.024117] Initmem setup node 0 [mem 0x0000000000001000-0x00=
0000010f7fffff]<br>[ =C2=A0 =C2=A00.024121] On node 0, zone DMA: 1 pages in=
 unavailable ranges<br>[ =C2=A0 =C2=A00.024147] On node 0, zone DMA: 97 pag=
es in unavailable ranges<br>[ =C2=A0 =C2=A00.034654] On node 0, zone Normal=
: 1 pages in unavailable ranges<br>[ =C2=A0 =C2=A00.034688] On node 0, zone=
 Normal: 2048 pages in unavailable ranges<br>[ =C2=A0 =C2=A00.036207] ACPI:=
 PM-Timer IO Port: 0xb008<br>[ =C2=A0 =C2=A00.036257] IOAPIC[0]: apic_id 1,=
 version 17, address 0xfec00000, GSI 0-47<br>[ =C2=A0 =C2=A00.036260] ACPI:=
 INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)<br>[ =C2=A0 =C2=A00.036=
262] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 low level)<br>[ =C2=A0=
 =C2=A00.036263] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low leve=
l)<br>[ =C2=A0 =C2=A00.036263] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_i=
rq 11 low level)<br>[ =C2=A0 =C2=A00.036266] ACPI: Using ACPI (MADT) for SM=
P configuration information<br>[ =C2=A0 =C2=A00.036267] ACPI: HPET id: 0x80=
86a201 base: 0xfed00000<br>[ =C2=A0 =C2=A00.036276] smpboot: Allowing 4 CPU=
s, 0 hotplug CPUs<br>[ =C2=A0 =C2=A00.036286] PM: hibernation: Registered n=
osave memory: [mem 0x00000000-0x00000fff]<br>[ =C2=A0 =C2=A00.036288] PM: h=
ibernation: Registered nosave memory: [mem 0x0009f000-0x0009ffff]<br>[ =C2=
=A0 =C2=A00.036289] PM: hibernation: Registered nosave memory: [mem 0x000a0=
000-0x000effff]<br>[ =C2=A0 =C2=A00.036289] PM: hibernation: Registered nos=
ave memory: [mem 0x000f0000-0x000fffff]<br>[ =C2=A0 =C2=A00.036290] PM: hib=
ernation: Registered nosave memory: [mem 0xeffff000-0xefffffff]<br>[ =C2=A0=
 =C2=A00.036291] PM: hibernation: Registered nosave memory: [mem 0xf0000000=
-0xfbffffff]<br>[ =C2=A0 =C2=A00.036291] PM: hibernation: Registered nosave=
 memory: [mem 0xfc000000-0xfc00afff]<br>[ =C2=A0 =C2=A00.036292] PM: hibern=
ation: Registered nosave memory: [mem 0xfc00b000-0xffffffff]<br>[ =C2=A0 =
=C2=A00.036293] [mem 0xf0000000-0xfbffffff] available for PCI devices<br>[ =
=C2=A0 =C2=A00.036294] Booting paravirtualized kernel on Xen HVM<br>[ =C2=
=A0 =C2=A00.036298] clocksource: refined-jiffies: mask: 0xffffffff max_cycl=
es: 0xffffffff, max_idle_ns: 7645519600211568 ns<br>[ =C2=A0 =C2=A00.036305=
] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1<b=
r>[ =C2=A0 =C2=A00.036720] percpu: Embedded 61 pages/cpu s212992 r8192 d286=
72 u524288<br>[ =C2=A0 =C2=A00.036725] pcpu-alloc: s212992 r8192 d28672 u52=
4288 alloc=3D1*2097152<br>[ =C2=A0 =C2=A00.036727] pcpu-alloc: [0] 0 1 2 3 =
<br>[ =C2=A0 =C2=A00.036749] xen: PV spinlocks enabled<br>[ =C2=A0 =C2=A00.=
036751] PV qspinlock hash table entries: 256 (order: 0, 4096 bytes, linear)=
<br>[ =C2=A0 =C2=A00.036757] Built 1 zonelists, mobility grouping on.=C2=A0=
 Total pages: 1029919<br>[ =C2=A0 =C2=A00.036758] Policy zone: Normal<br>[ =
=C2=A0 =C2=A00.036759] Kernel command line: BOOT_IMAGE=3D/boot/vmlinuz-5.15=
.0-25-generic root=3DUUID=3Da1f59e2d-4208-42bb-90ad-f19c9608db6b ro quiet s=
plash vt.handoff=3D7<br>[ =C2=A0 =C2=A00.036818] Unknown kernel command lin=
e parameters &quot;splash BOOT_IMAGE=3D/boot/vmlinuz-5.15.0-25-generic&quot=
;, will be passed to user space.<br>[ =C2=A0 =C2=A00.037443] Dentry cache h=
ash table entries: 524288 (order: 10, 4194304 bytes, linear)<br>[ =C2=A0 =
=C2=A00.037771] Inode-cache hash table entries: 262144 (order: 9, 2097152 b=
ytes, linear)<br>[ =C2=A0 =C2=A00.037813] mem auto-init: stack:off, heap al=
loc:on, heap free:off<br>[ =C2=A0 =C2=A00.073557] Memory: 3942040K/4185716K=
 available (16393K kernel code, 4385K rwdata, 10784K rodata, 2952K init, 47=
96K bss, 243416K reserved, 0K cma-reserved)<br>[ =C2=A0 =C2=A00.073573] ran=
dom: get_random_u64 called from kmem_cache_open+0x2b/0x320 with crng_init=
=3D0<br>[ =C2=A0 =C2=A00.073845] SLUB: HWalign=3D64, Order=3D0-3, MinObject=
s=3D0, CPUs=3D4, Nodes=3D1<br>[ =C2=A0 =C2=A00.073871] ftrace: allocating 5=
0352 entries in 197 pages<br>[ =C2=A0 =C2=A00.090580] ftrace: allocated 197=
 pages with 4 groups<br>[ =C2=A0 =C2=A00.090692] rcu: Hierarchical RCU impl=
ementation.<br>[ =C2=A0 =C2=A00.090693] rcu: 	RCU restricting CPUs from NR_=
CPUS=3D8192 to nr_cpu_ids=3D4.<br>[ =C2=A0 =C2=A00.090694] 	Rude variant of=
 Tasks RCU enabled.<br>[ =C2=A0 =C2=A00.090695] 	Tracing variant of Tasks R=
CU enabled.<br>[ =C2=A0 =C2=A00.090695] rcu: RCU calculated value of schedu=
ler-enlistment delay is 25 jiffies.<br>[ =C2=A0 =C2=A00.090696] rcu: Adjust=
ing geometry for rcu_fanout_leaf=3D16, nr_cpu_ids=3D4<br>[ =C2=A0 =C2=A00.0=
93376] NR_IRQS: 524544, nr_irqs: 864, preallocated irqs: 16<br>[ =C2=A0 =C2=
=A00.093409] xen:events: Using FIFO-based ABI<br>[ =C2=A0 =C2=A00.093414] x=
en:events: Xen HVM callback vector for event delivery is enabled<br>[ =C2=
=A0 =C2=A00.093618] random: crng done (trusting CPU&#39;s manufacturer)<br>=
[ =C2=A0 =C2=A00.093648] Console: colour dummy device 80x25<br>[ =C2=A0 =C2=
=A00.093656] printk: console [tty0] enabled<br>[ =C2=A0 =C2=A00.093682] ACP=
I: Core revision 20210730<br>[ =C2=A0 =C2=A00.093792] clocksource: hpet: ma=
sk: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 30580167144 ns<br>[ =C2=
=A0 =C2=A00.093843] APIC: Switch to symmetric I/O mode setup<br>[ =C2=A0 =
=C2=A00.094256] x2apic: IRQ remapping doesn&#39;t support X2APIC mode<br>[ =
=C2=A0 =C2=A00.096199] ..TIMER: vector=3D0x30 apic1=3D0 pin1=3D2 apic2=3D0 =
pin2=3D0<br>[ =C2=A0 =C2=A00.117318] tsc: Marking TSC unstable due to TSCs =
unsynchronized<br>[ =C2=A0 =C2=A00.117326] Calibrating delay loop (skipped)=
, value calculated using timer frequency.. 4192.12 BogoMIPS (lpj=3D8384240)=
<br>[ =C2=A0 =C2=A00.117328] pid_max: default: 32768 minimum: 301<br>[ =C2=
=A0 =C2=A00.117354] LSM: Security Framework initializing<br>[ =C2=A0 =C2=A0=
0.117364] landlock: Up and running.<br>[ =C2=A0 =C2=A00.117365] Yama: becom=
ing mindful.<br>[ =C2=A0 =C2=A00.117390] AppArmor: AppArmor initialized<br>=
[ =C2=A0 =C2=A00.117420] Mount-cache hash table entries: 8192 (order: 4, 65=
536 bytes, linear)<br>[ =C2=A0 =C2=A00.117432] Mountpoint-cache hash table =
entries: 8192 (order: 4, 65536 bytes, linear)<br>[ =C2=A0 =C2=A00.117710] x=
86/cpu: User Mode Instruction Prevention (UMIP) activated<br>[ =C2=A0 =C2=
=A00.117751] Last level iTLB entries: 4KB 1024, 2MB 1024, 4MB 512<br>[ =C2=
=A0 =C2=A00.117752] Last level dTLB entries: 4KB 2048, 2MB 2048, 4MB 1024, =
1GB 0<br>[ =C2=A0 =C2=A00.117756] Spectre V1 : Mitigation: usercopy/swapgs =
barriers and __user pointer sanitization<br>[ =C2=A0 =C2=A00.117758] Spectr=
e V2 : Mitigation: Retpolines<br>[ =C2=A0 =C2=A00.117758] Spectre V2 : Spec=
tre v2 / SpectreRSB mitigation: Filling RSB on context switch<br>[ =C2=A0 =
=C2=A00.117759] Spectre V2 : Enabling Restricted Speculation for firmware c=
alls<br>[ =C2=A0 =C2=A00.117760] Spectre V2 : mitigation: Enabling conditio=
nal Indirect Branch Prediction Barrier<br>[ =C2=A0 =C2=A00.117761] Speculat=
ive Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl a=
nd seccomp<br>[ =C2=A0 =C2=A00.121847] Freeing SMP alternatives memory: 40K=
<br>[ =C2=A0 =C2=A00.121917] clocksource: xen: mask: 0xffffffffffffffff max=
_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns<br>[ =C2=A0 =C2=A00.12=
1921] Xen: using vcpuop timer interface<br>[ =C2=A0 =C2=A00.121927] install=
ing Xen timer for CPU 0<br>[ =C2=A0 =C2=A00.121969] smpboot: CPU0: AMD Ryze=
n Embedded V2516 with Radeon Graphics (family: 0x17, model: 0x60, stepping:=
 0x1)<br>[ =C2=A0 =C2=A00.121990] cpu 0 spinlock event irq 52<br>[ =C2=A0 =
=C2=A00.122104] Performance Events: PMU not available due to virtualization=
, using software events only.<br>[ =C2=A0 =C2=A00.122129] rcu: Hierarchical=
 SRCU implementation.<br>[ =C2=A0 =C2=A00.122481] NMI watchdog: Perf NMI wa=
tchdog permanently disabled<br>[ =C2=A0 =C2=A00.122523] smp: Bringing up se=
condary CPUs ...<br>[ =C2=A0 =C2=A00.122593] installing Xen timer for CPU 1=
<br>[ =C2=A0 =C2=A00.122629] x86: Booting SMP configuration:<br>[ =C2=A0 =
=C2=A00.122629] .... node =C2=A0#0, CPUs: =C2=A0 =C2=A0 =C2=A0#1<br>[ =C2=
=A0 =C2=A00.201732] cpu 1 spinlock event irq 57<br>[ =C2=A0 =C2=A00.201732]=
 installing Xen timer for CPU 2<br>[ =C2=A0 =C2=A00.201732] =C2=A0#2<br>[ =
=C2=A0 =C2=A00.281442] cpu 2 spinlock event irq 62<br>[ =C2=A0 =C2=A00.2814=
42] installing Xen timer for CPU 3<br>[ =C2=A0 =C2=A00.281484] =C2=A0#3<br>=
[ =C2=A0 =C2=A00.361387] cpu 3 spinlock event irq 67<br>[ =C2=A0 =C2=A00.36=
1409] smp: Brought up 1 node, 4 CPUs<br>[ =C2=A0 =C2=A00.361413] smpboot: M=
ax logical packages: 1<br>[ =C2=A0 =C2=A00.361414] smpboot: Total of 4 proc=
essors activated (16782.38 BogoMIPS)<br>[ =C2=A0 =C2=A00.361965] devtmpfs: =
initialized<br>[ =C2=A0 =C2=A00.361965] x86/mm: Memory block size: 128MB<br=
>[ =C2=A0 =C2=A00.361965] ACPI: PM: Registering ACPI NVS region [mem 0xfc00=
0000-0xfc00afff] (45056 bytes)<br>[ =C2=A0 =C2=A00.361965] clocksource: jif=
fies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 764504178510000=
0 ns<br>[ =C2=A0 =C2=A00.361965] futex hash table entries: 1024 (order: 4, =
65536 bytes, linear)<br>[ =C2=A0 =C2=A00.361965] pinctrl core: initialized =
pinctrl subsystem<br>[ =C2=A0 =C2=A00.361965] PM: RTC time: 10:03:51, date:=
 2022-08-16<br>[ =C2=A0 =C2=A00.361965] NET: Registered PF_NETLINK/PF_ROUTE=
 protocol family<br>[ =C2=A0 =C2=A00.361965] DMA: preallocated 512 KiB GFP_=
KERNEL pool for atomic allocations<br>[ =C2=A0 =C2=A00.361965] DMA: preallo=
cated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations<br>[ =C2=A0 =
=C2=A00.361965] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for ato=
mic allocations<br>[ =C2=A0 =C2=A00.361965] audit: initializing netlink sub=
sys (disabled)<br>[ =C2=A0 =C2=A00.361971] audit: type=3D2000 audit(1660644=
231.158:1): state=3Dinitialized audit_enabled=3D0 res=3D1<br>[ =C2=A0 =C2=
=A00.361971] thermal_sys: Registered thermal governor &#39;fair_share&#39;<=
br>[ =C2=A0 =C2=A00.361971] thermal_sys: Registered thermal governor &#39;b=
ang_bang&#39;<br>[ =C2=A0 =C2=A00.361971] thermal_sys: Registered thermal g=
overnor &#39;step_wise&#39;<br>[ =C2=A0 =C2=A00.361971] thermal_sys: Regist=
ered thermal governor &#39;user_space&#39;<br>[ =C2=A0 =C2=A00.361971] ther=
mal_sys: Registered thermal governor &#39;power_allocator&#39;<br>[ =C2=A0 =
=C2=A00.361971] EISA bus registered<br>[ =C2=A0 =C2=A00.361971] cpuidle: us=
ing governor ladder<br>[ =C2=A0 =C2=A00.361971] cpuidle: using governor men=
u<br>[ =C2=A0 =C2=A00.365559] ACPI: bus type PCI registered<br>[ =C2=A0 =C2=
=A00.365559] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5<br>[=
 =C2=A0 =C2=A00.365690] PCI: Using configuration type 1 for base access<br>=
[ =C2=A0 =C2=A00.365690] PCI: Using configuration type 1 for extended acces=
s<br>[ =C2=A0 =C2=A00.366624] Kprobes globally optimized<br>[ =C2=A0 =C2=A0=
0.366633] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages<br>[=
 =C2=A0 =C2=A00.366633] HugeTLB registered 2.00 MiB page size, pre-allocate=
d 0 pages<br>[ =C2=A0 =C2=A00.369383] ACPI: Added _OSI(Module Device)<br>[ =
=C2=A0 =C2=A00.369385] ACPI: Added _OSI(Processor Device)<br>[ =C2=A0 =C2=
=A00.369385] ACPI: Added _OSI(3.0 _SCP Extensions)<br>[ =C2=A0 =C2=A00.3693=
86] ACPI: Added _OSI(Processor Aggregator Device)<br>[ =C2=A0 =C2=A00.36938=
7] ACPI: Added _OSI(Linux-Dell-Video)<br>[ =C2=A0 =C2=A00.369388] ACPI: Add=
ed _OSI(Linux-Lenovo-NV-HDMI-Audio)<br>[ =C2=A0 =C2=A00.369388] ACPI: Added=
 _OSI(Linux-HPI-Hybrid-Graphics)<br>[ =C2=A0 =C2=A00.374303] ACPI: 3 ACPI A=
ML tables successfully acquired and loaded<br>[ =C2=A0 =C2=A00.375004] xen:=
 --&gt; pirq=3D16 -&gt; irq=3D9 (gsi=3D9)<br>[ =C2=A0 =C2=A00.382575] ACPI:=
 Interpreter enabled<br>[ =C2=A0 =C2=A00.382587] ACPI: PM: (supports S0 S3 =
S4 S5)<br>[ =C2=A0 =C2=A00.382588] ACPI: Using IOAPIC for interrupt routing=
<br>[ =C2=A0 =C2=A00.382603] PCI: Using host bridge windows from ACPI; if n=
ecessary, use &quot;pci=3Dnocrs&quot; and report a bug<br>[ =C2=A0 =C2=A00.=
382912] ACPI: Enabled 2 GPEs in block 00 to 0F<br>[ =C2=A0 =C2=A00.389818] =
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])<br>[ =C2=A0 =C2=A00.=
389825] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Seg=
ments MSI HPX-Type3]<br>[ =C2=A0 =C2=A00.390288] acpiphp: Slot [3] register=
ed<br>[ =C2=A0 =C2=A00.390343] acpiphp: Slot [4] registered<br>[ =C2=A0 =C2=
=A00.390374] acpiphp: Slot [5] registered<br>[ =C2=A0 =C2=A00.390407] acpip=
hp: Slot [6] registered<br>[ =C2=A0 =C2=A00.390437] acpiphp: Slot [7] regis=
tered<br>[ =C2=A0 =C2=A00.390467] acpiphp: Slot [8] registered<br>[ =C2=A0 =
=C2=A00.390497] acpiphp: Slot [9] registered<br>[ =C2=A0 =C2=A00.390529] ac=
piphp: Slot [10] registered<br>[ =C2=A0 =C2=A00.390559] acpiphp: Slot [11] =
registered<br>[ =C2=A0 =C2=A00.390588] acpiphp: Slot [12] registered<br>[ =
=C2=A0 =C2=A00.390619] acpiphp: Slot [13] registered<br>[ =C2=A0 =C2=A00.39=
0649] acpiphp: Slot [14] registered<br>[ =C2=A0 =C2=A00.390679] acpiphp: Sl=
ot [15] registered<br>[ =C2=A0 =C2=A00.390710] acpiphp: Slot [16] registere=
d<br>[ =C2=A0 =C2=A00.390742] acpiphp: Slot [17] registered<br>[ =C2=A0 =C2=
=A00.390771] acpiphp: Slot [18] registered<br>[ =C2=A0 =C2=A00.390801] acpi=
php: Slot [19] registered<br>[ =C2=A0 =C2=A00.390831] acpiphp: Slot [20] re=
gistered<br>[ =C2=A0 =C2=A00.390862] acpiphp: Slot [21] registered<br>[ =C2=
=A0 =C2=A00.390892] acpiphp: Slot [22] registered<br>[ =C2=A0 =C2=A00.39092=
4] acpiphp: Slot [23] registered<br>[ =C2=A0 =C2=A00.390953] acpiphp: Slot =
[24] registered<br>[ =C2=A0 =C2=A00.390983] acpiphp: Slot [25] registered<b=
r>[ =C2=A0 =C2=A00.391014] acpiphp: Slot [26] registered<br>[ =C2=A0 =C2=A0=
0.391044] acpiphp: Slot [27] registered<br>[ =C2=A0 =C2=A00.391074] acpiphp=
: Slot [28] registered<br>[ =C2=A0 =C2=A00.391105] acpiphp: Slot [29] regis=
tered<br>[ =C2=A0 =C2=A00.391136] acpiphp: Slot [30] registered<br>[ =C2=A0=
 =C2=A00.391166] acpiphp: Slot [31] registered<br>[ =C2=A0 =C2=A00.391193] =
PCI host bridge to bus 0000:00<br>[ =C2=A0 =C2=A00.391195] pci_bus 0000:00:=
 root bus resource [bus 00-ff]<br>[ =C2=A0 =C2=A00.391196] pci_bus 0000:00:=
 root bus resource [io =C2=A00x0000-0x0cf7 window]<br>[ =C2=A0 =C2=A00.3911=
97] pci_bus 0000:00: root bus resource [io =C2=A00x0d00-0xffff window]<br>[=
 =C2=A0 =C2=A00.391198] pci_bus 0000:00: root bus resource [mem 0x000a0000-=
0x000bffff window]<br>[ =C2=A0 =C2=A00.391200] pci_bus 0000:00: root bus re=
source [mem 0xf0000000-0xfbffffff window]<br>[ =C2=A0 =C2=A00.392097] pci 0=
000:00:00.0: [8086:1237] type 00 class 0x060000<br>[ =C2=A0 =C2=A00.395106]=
 pci 0000:00:01.0: [8086:7000] type 00 class 0x060100<br>[ =C2=A0 =C2=A00.3=
98764] pci 0000:00:01.1: [8086:7010] type 00 class 0x010180<br>[ =C2=A0 =C2=
=A00.401310] pci 0000:00:01.1: reg 0x20: [io =C2=A00xc200-0xc20f]<br>[ =C2=
=A0 =C2=A00.402042] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io =C2=
=A00x01f0-0x01f7]<br>[ =C2=A0 =C2=A00.402046] pci 0000:00:01.1: legacy IDE =
quirk: reg 0x14: [io =C2=A00x03f6]<br>[ =C2=A0 =C2=A00.402048] pci 0000:00:=
01.1: legacy IDE quirk: reg 0x18: [io =C2=A00x0170-0x0177]<br>[ =C2=A0 =C2=
=A00.402050] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io =C2=A00x0376=
]<br>[ =C2=A0 =C2=A00.403095] pci 0000:00:01.2: [8086:7020] type 00 class 0=
x0c0300<br>[ =C2=A0 =C2=A00.408382] pci 0000:00:01.2: reg 0x20: [io =C2=A00=
xc200-0xc21f]<br>[ =C2=A0 =C2=A00.411492] pci 0000:00:01.3: [8086:7113] typ=
e 00 class 0x068000<br>[ =C2=A0 =C2=A00.414058] pci 0000:00:01.3: quirk: [i=
o =C2=A00xb000-0xb03f] claimed by PIIX4 ACPI<br>[ =C2=A0 =C2=A00.414125] pc=
i 0000:00:01.3: quirk: [io =C2=A00xb100-0xb10f] claimed by PIIX4 SMB<br>[ =
=C2=A0 =C2=A00.415904] pci 0000:00:02.0: [5853:0001] type 00 class 0xff8000=
<br>[ =C2=A0 =C2=A00.416975] pci 0000:00:02.0: reg 0x10: [io =C2=A00xc000-0=
xc0ff]<br>[ =C2=A0 =C2=A00.417744] pci 0000:00:02.0: reg 0x14: [mem 0xf0000=
000-0xf0ffffff pref]<br>[ =C2=A0 =C2=A00.423658] pci 0000:00:03.0: [1af4:10=
50] type 00 class 0x030000<br>[ =C2=A0 =C2=A00.424674] pci 0000:00:03.0: re=
g 0x10: [mem 0xf1000000-0xf17fffff pref]<br>[ =C2=A0 =C2=A00.426331] pci 00=
00:00:03.0: reg 0x18: [mem 0xf1850000-0xf1853fff 64bit pref]<br>[ =C2=A0 =
=C2=A00.427343] pci 0000:00:03.0: reg 0x20: [mem 0xf1854000-0xf1854fff]<br>=
[ =C2=A0 =C2=A00.429328] pci 0000:00:03.0: reg 0x30: [mem 0xf1840000-0xf184=
ffff pref]<br>[ =C2=A0 =C2=A00.429561] pci 0000:00:03.0: Video device with =
shadowed ROM at [mem 0x000c0000-0x000dffff]<br>[ =C2=A0 =C2=A00.442223] ACP=
I: PCI: Interrupt link LNKA configured for IRQ 5<br>[ =C2=A0 =C2=A00.445589=
] ACPI: PCI: Interrupt link LNKB configured for IRQ 10<br>[ =C2=A0 =C2=A00.=
446086] ACPI: PCI: Interrupt link LNKC configured for IRQ 11<br>[ =C2=A0 =
=C2=A00.446565] ACPI: PCI: Interrupt link LNKD configured for IRQ 5<br>[ =
=C2=A0 =C2=A00.452471] xen:balloon: Initialising balloon driver<br>[ =C2=A0=
 =C2=A00.452504] iommu: Default domain type: Translated <br>[ =C2=A0 =C2=A0=
0.452504] iommu: DMA domain TLB invalidation policy: lazy mode <br>[ =C2=A0=
 =C2=A00.452504] SCSI subsystem initialized<br>[ =C2=A0 =C2=A00.452504] lib=
ata version 3.00 loaded.<br>[ =C2=A0 =C2=A00.453475] pci 0000:00:03.0: vgaa=
rb: setting as boot VGA device<br>[ =C2=A0 =C2=A00.453478] pci 0000:00:03.0=
: vgaarb: VGA device added: decodes=3Dio+mem,owns=3Dio+mem,locks=3Dnone<br>=
[ =C2=A0 =C2=A00.453482] pci 0000:00:03.0: vgaarb: bridge control possible<=
br>[ =C2=A0 =C2=A00.453484] vgaarb: loaded<br>[ =C2=A0 =C2=A00.453513] ACPI=
: bus type USB registered<br>[ =C2=A0 =C2=A00.453533] usbcore: registered n=
ew interface driver usbfs<br>[ =C2=A0 =C2=A00.453543] usbcore: registered n=
ew interface driver hub<br>[ =C2=A0 =C2=A00.453553] usbcore: registered new=
 device driver usb<br>[ =C2=A0 =C2=A00.453586] pps_core: LinuxPPS API ver. =
1 registered<br>[ =C2=A0 =C2=A00.453588] pps_core: Software ver. 5.3.6 - Co=
pyright 2005-2007 Rodolfo Giometti &lt;<a href=3D"mailto:giometti@linux.it"=
>giometti@linux.it</a>&gt;<br>[ =C2=A0 =C2=A00.453592] PTP clock support re=
gistered<br>[ =C2=A0 =C2=A00.453619] EDAC MC: Ver: 3.0.0<br>[ =C2=A0 =C2=A0=
0.454282] NetLabel: Initializing<br>[ =C2=A0 =C2=A00.454282] NetLabel: =C2=
=A0domain hash size =3D 128<br>[ =C2=A0 =C2=A00.454282] NetLabel: =C2=A0pro=
tocols =3D UNLABELED CIPSOv4 CALIPSO<br>[ =C2=A0 =C2=A00.454282] NetLabel: =
=C2=A0unlabeled traffic allowed by default<br>[ =C2=A0 =C2=A00.454282] PCI:=
 Using ACPI for IRQ routing<br>[ =C2=A0 =C2=A00.454282] PCI: pci_cache_line=
_size set to 64 bytes<br>[ =C2=A0 =C2=A00.454282] pci 0000:00:01.1: can&#39=
;t claim BAR 4 [io =C2=A00xc200-0xc20f]: address conflict with 0000:00:01.2=
 [io =C2=A00xc200-0xc21f]<br>[ =C2=A0 =C2=A00.454282] e820: reserve RAM buf=
fer [mem 0x0009fc00-0x0009ffff]<br>[ =C2=A0 =C2=A00.454282] e820: reserve R=
AM buffer [mem 0xeffff000-0xefffffff]<br>[ =C2=A0 =C2=A00.454282] e820: res=
erve RAM buffer [mem 0x10f800000-0x10fffffff]<br>[ =C2=A0 =C2=A00.454282] h=
pet0: at MMIO 0xfed00000, IRQs 2, 8, 0<br>[ =C2=A0 =C2=A00.454282] hpet0: 3=
 comparators, 64-bit 62.500000 MHz counter<br>[ =C2=A0 =C2=A00.460486] cloc=
ksource: Switched to clocksource xen<br>[ =C2=A0 =C2=A00.472984] VFS: Disk =
quotas dquot_6.6.0<br>[ =C2=A0 =C2=A00.473001] VFS: Dquot-cache hash table =
entries: 512 (order 0, 4096 bytes)<br>[ =C2=A0 =C2=A00.473105] AppArmor: Ap=
pArmor Filesystem Enabled<br>[ =C2=A0 =C2=A00.473124] pnp: PnP ACPI init<br=
>[ =C2=A0 =C2=A00.473202] system 00:00: [mem 0x00000000-0x0009ffff] could n=
ot be reserved<br>[ =C2=A0 =C2=A00.473273] system 00:01: [io =C2=A00x08a0-0=
x08a3] has been reserved<br>[ =C2=A0 =C2=A00.473275] system 00:01: [io =C2=
=A00x0cc0-0x0ccf] has been reserved<br>[ =C2=A0 =C2=A00.473275] system 00:0=
1: [io =C2=A00x04d0-0x04d1] has been reserved<br>[ =C2=A0 =C2=A00.473304] x=
en: --&gt; pirq=3D17 -&gt; irq=3D8 (gsi=3D8)<br>[ =C2=A0 =C2=A00.473363] xe=
n: --&gt; pirq=3D18 -&gt; irq=3D12 (gsi=3D12)<br>[ =C2=A0 =C2=A00.473388] x=
en: --&gt; pirq=3D19 -&gt; irq=3D1 (gsi=3D1)<br>[ =C2=A0 =C2=A00.473414] xe=
n: --&gt; pirq=3D20 -&gt; irq=3D6 (gsi=3D6)<br>[ =C2=A0 =C2=A00.473417] pnp=
 00:05: [dma 2]<br>[ =C2=A0 =C2=A00.473473] system 00:06: [io =C2=A00xae00-=
0xae0f] has been reserved<br>[ =C2=A0 =C2=A00.473475] system 00:06: [io =C2=
=A00xb044-0xb047] has been reserved<br>[ =C2=A0 =C2=A00.475437] pnp: PnP AC=
PI: found 7 devices<br>[ =C2=A0 =C2=A00.482559] clocksource: acpi_pm: mask:=
 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns<br>[ =C2=A0 =C2=
=A00.482606] NET: Registered PF_INET protocol family<br>[ =C2=A0 =C2=A00.48=
2689] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)<=
br>[ =C2=A0 =C2=A00.483191] tcp_listen_portaddr_hash hash table entries: 20=
48 (order: 3, 32768 bytes, linear)<br>[ =C2=A0 =C2=A00.483225] TCP establis=
hed hash table entries: 32768 (order: 6, 262144 bytes, linear)<br>[ =C2=A0 =
=C2=A00.483322] TCP bind hash table entries: 32768 (order: 7, 524288 bytes,=
 linear)<br>[ =C2=A0 =C2=A00.483357] TCP: Hash tables configured (establish=
ed 32768 bind 32768)<br>[ =C2=A0 =C2=A00.483430] MPTCP token hash table ent=
ries: 4096 (order: 4, 98304 bytes, linear)<br>[ =C2=A0 =C2=A00.483462] UDP =
hash table entries: 2048 (order: 4, 65536 bytes, linear)<br>[ =C2=A0 =C2=A0=
0.483475] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)=
<br>[ =C2=A0 =C2=A00.483502] NET: Registered PF_UNIX/PF_LOCAL protocol fami=
ly<br>[ =C2=A0 =C2=A00.483506] NET: Registered PF_XDP protocol family<br>[ =
=C2=A0 =C2=A00.483517] pci 0000:00:01.1: BAR 4: assigned [io =C2=A00x1000-0=
x100f]<br>[ =C2=A0 =C2=A00.483647] pci_bus 0000:00: resource 4 [io =C2=A00x=
0000-0x0cf7 window]<br>[ =C2=A0 =C2=A00.483648] pci_bus 0000:00: resource 5=
 [io =C2=A00x0d00-0xffff window]<br>[ =C2=A0 =C2=A00.483649] pci_bus 0000:0=
0: resource 6 [mem 0x000a0000-0x000bffff window]<br>[ =C2=A0 =C2=A00.483650=
] pci_bus 0000:00: resource 7 [mem 0xf0000000-0xfbffffff window]<br>[ =C2=
=A0 =C2=A00.483750] pci 0000:00:01.0: PIIX3: Enabling Passive Release<br>[ =
=C2=A0 =C2=A00.483803] pci 0000:00:00.0: Limiting direct PCI/PCI transfers<=
br>[ =C2=A0 =C2=A00.483855] pci 0000:00:01.0: Activating ISA DMA hang worka=
rounds<br>[ =C2=A0 =C2=A00.484244] xen: --&gt; pirq=3D21 -&gt; irq=3D23 (gs=
i=3D23)<br>[ =C2=A0 =C2=A00.485535] PCI: CLS 0 bytes, default 64<br>[ =C2=
=A0 =C2=A00.485545] PCI-DMA: Using software bounce buffering for IO (SWIOTL=
B)<br>[ =C2=A0 =C2=A00.485546] software IO TLB: mapped [mem 0x00000000ebfff=
000-0x00000000effff000] (64MB)<br>[ =C2=A0 =C2=A00.485628] Trying to unpack=
 rootfs image as initramfs...<br>[ =C2=A0 =C2=A00.486028] Initialise system=
 trusted keyrings<br>[ =C2=A0 =C2=A00.486049] Key type blacklist registered=
<br>[ =C2=A0 =C2=A00.486122] workingset: timestamp_bits=3D36 max_order=3D20=
 bucket_order=3D0<br>[ =C2=A0 =C2=A00.486920] zbud: loaded<br>[ =C2=A0 =C2=
=A00.487097] squashfs: version 4.0 (2009/01/31) Phillip Lougher<br>[ =C2=A0=
 =C2=A00.487273] fuse: init (API version 7.34)<br>[ =C2=A0 =C2=A00.487499] =
integrity: Platform Keyring initialized<br>[ =C2=A0 =C2=A00.490112] Key typ=
e asymmetric registered<br>[ =C2=A0 =C2=A00.490112] Asymmetric key parser &=
#39;x509&#39; registered<br>[ =C2=A0 =C2=A00.490129] Block layer SCSI gener=
ic (bsg) driver version 0.4 loaded (major 243)<br>[ =C2=A0 =C2=A00.490202] =
io scheduler mq-deadline registered<br>[ =C2=A0 =C2=A00.490536] shpchp: Sta=
ndard Hot Plug PCI Controller Driver version: 0.4<br>[ =C2=A0 =C2=A00.49064=
2] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0<br>=
[ =C2=A0 =C2=A00.490669] ACPI: button: Power Button [PWRF]<br>[ =C2=A0 =C2=
=A00.490694] input: Sleep Button as /devices/LNXSYSTM:00/LNXSLPBN:00/input/=
input1<br>[ =C2=A0 =C2=A00.490703] ACPI: button: Sleep Button [SLPF]<br>[ =
=C2=A0 =C2=A00.491294] xen: --&gt; pirq=3D22 -&gt; irq=3D28 (gsi=3D28)<br>[=
 =C2=A0 =C2=A00.502206] xen: --&gt; pirq=3D23 -&gt; irq=3D24 (gsi=3D24)<br>=
[ =C2=A0 =C2=A00.502508] xen:grant_table: Grant tables using version 1 layo=
ut<br>[ =C2=A0 =C2=A00.502550] Grant table initialized<br>[ =C2=A0 =C2=A00.=
503306] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled<br>[ =C2=
=A0 =C2=A00.506090] Linux agpgart interface v0.103<br>[ =C2=A0 =C2=A00.5121=
83] loop: module loaded<br>[ =C2=A0 =C2=A00.513365] ata_piix 0000:00:01.1: =
version 2.13<br>[ =C2=A0 =C2=A00.513594] ata_piix 0000:00:01.1: enabling de=
vice (0000 -&gt; 0001)<br>[ =C2=A0 =C2=A00.518007] blkfront: xvda: flush di=
skcache: enabled; persistent grants: disabled; indirect descriptors: disabl=
ed;<br>[ =C2=A0 =C2=A00.520138] scsi host0: ata_piix<br>[ =C2=A0 =C2=A00.52=
0399] scsi host1: ata_piix<br>[ =C2=A0 =C2=A00.520445] ata1: PATA max MWDMA=
2 cmd 0x1f0 ctl 0x3f6 bmdma 0x1000 irq 14<br>[ =C2=A0 =C2=A00.520449] ata2:=
 PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0x1008 irq 15<br>[ =C2=A0 =C2=A0=
0.520658] tun: Universal TUN/TAP device driver, 1.6<br>[ =C2=A0 =C2=A00.520=
757] PPP generic driver version 2.4.2<br>[ =C2=A0 =C2=A00.520870] xen_netfr=
ont: Initialising Xen virtual ethernet driver<br>[ =C2=A0 =C2=A00.521168] =
=C2=A0xvda: xvda1 xvda2 xvda3<br>[ =C2=A0 =C2=A00.521950] VFIO - User Level=
 meta-driver version: 0.3<br>[ =C2=A0 =C2=A00.522059] ehci_hcd: USB 2.0 &#3=
9;Enhanced&#39; Host Controller (EHCI) Driver<br>[ =C2=A0 =C2=A00.522064] e=
hci-pci: EHCI PCI platform driver<br>[ =C2=A0 =C2=A00.522072] ehci-platform=
: EHCI generic platform driver<br>[ =C2=A0 =C2=A00.522076] ohci_hcd: USB 1.=
1 &#39;Open&#39; Host Controller (OHCI) Driver<br>[ =C2=A0 =C2=A00.522078] =
ohci-pci: OHCI PCI platform driver<br>[ =C2=A0 =C2=A00.522081] ohci-platfor=
m: OHCI generic platform driver<br>[ =C2=A0 =C2=A00.522087] uhci_hcd: USB U=
niversal Host Controller Interface driver<br>[ =C2=A0 =C2=A00.523764] uhci_=
hcd 0000:00:01.2: UHCI Host Controller<br>[ =C2=A0 =C2=A00.523779] uhci_hcd=
 0000:00:01.2: new USB bus registered, assigned bus number 1<br>[ =C2=A0 =
=C2=A00.523910] uhci_hcd 0000:00:01.2: detected 2 ports<br>[ =C2=A0 =C2=A00=
.524363] uhci_hcd 0000:00:01.2: irq 23, io base 0x0000c200<br>[ =C2=A0 =C2=
=A00.524805] usb usb1: New USB device found, idVendor=3D1d6b, idProduct=3D0=
001, bcdDevice=3D 5.15<br>[ =C2=A0 =C2=A00.524812] usb usb1: New USB device=
 strings: Mfr=3D3, Product=3D2, SerialNumber=3D1<br>[ =C2=A0 =C2=A00.524815=
] usb usb1: Product: UHCI Host Controller<br>[ =C2=A0 =C2=A00.524818] usb u=
sb1: Manufacturer: Linux 5.15.0-25-generic uhci_hcd<br>[ =C2=A0 =C2=A00.524=
820] usb usb1: SerialNumber: 0000:00:01.2<br>[ =C2=A0 =C2=A00.524995] hub 1=
-0:1.0: USB hub found<br>[ =C2=A0 =C2=A00.525002] hub 1-0:1.0: 2 ports dete=
cted<br>[ =C2=A0 =C2=A00.525428] i8042: PNP: PS/2 Controller [PNP0303:PS2K,=
PNP0f13:PS2M] at 0x60,0x64 irq 1,12<br>[ =C2=A0 =C2=A00.527062] xen_netfron=
t: backend supports XDP headroom<br>[ =C2=A0 =C2=A00.529071] serio: i8042 K=
BD port at 0x60,0x64 irq 1<br>[ =C2=A0 =C2=A00.529083] serio: i8042 AUX por=
t at 0x60,0x64 irq 12<br>[ =C2=A0 =C2=A00.529290] mousedev: PS/2 mouse devi=
ce common for all mice<br>[ =C2=A0 =C2=A00.530692] input: AT Translated Set=
 2 keyboard as /devices/platform/i8042/serio0/input/input2<br>[ =C2=A0 =C2=
=A00.531233] rtc_cmos 00:02: registered as rtc0<br>[ =C2=A0 =C2=A00.532070]=
 rtc_cmos 00:02: setting system clock to 2022-08-16T10:03:51 UTC (166064423=
1)<br>[ =C2=A0 =C2=A00.532110] rtc_cmos 00:02: alarms up to one day, 114 by=
tes nvram, hpet irqs<br>[ =C2=A0 =C2=A00.532128] i2c_dev: i2c /dev entries =
driver<br>[ =C2=A0 =C2=A00.532168] device-mapper: core: CONFIG_IMA_DISABLE_=
HTABLE is disabled. Duplicate IMA measurements will not be recorded in the =
IMA log.<br>[ =C2=A0 =C2=A00.532221] device-mapper: uevent: version 1.0.3<b=
r>[ =C2=A0 =C2=A00.532343] device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) =
initialised: <a href=3D"mailto:dm-devel@redhat.com">dm-devel@redhat.com</a>=
<br>[ =C2=A0 =C2=A00.532392] platform eisa.0: Probing EISA bus 0<br>[ =C2=
=A0 =C2=A00.532395] platform eisa.0: EISA: Cannot allocate resource for mai=
nboard<br>[ =C2=A0 =C2=A00.532398] platform eisa.0: Cannot allocate resourc=
e for EISA slot 1<br>[ =C2=A0 =C2=A00.532400] platform eisa.0: Cannot alloc=
ate resource for EISA slot 2<br>[ =C2=A0 =C2=A00.532402] platform eisa.0: C=
annot allocate resource for EISA slot 3<br>[ =C2=A0 =C2=A00.532403] platfor=
m eisa.0: Cannot allocate resource for EISA slot 4<br>[ =C2=A0 =C2=A00.5324=
05] platform eisa.0: Cannot allocate resource for EISA slot 5<br>[ =C2=A0 =
=C2=A00.532407] platform eisa.0: Cannot allocate resource for EISA slot 6<b=
r>[ =C2=A0 =C2=A00.532408] platform eisa.0: Cannot allocate resource for EI=
SA slot 7<br>[ =C2=A0 =C2=A00.532410] platform eisa.0: Cannot allocate reso=
urce for EISA slot 8<br>[ =C2=A0 =C2=A00.532412] platform eisa.0: EISA: Det=
ected 0 cards<br>[ =C2=A0 =C2=A00.532528] ledtrig-cpu: registered to indica=
te activity on CPUs<br>[ =C2=A0 =C2=A00.532550] vesafb: mode is 640x480x32,=
 linelength=3D2560, pages=3D0<br>[ =C2=A0 =C2=A00.532552] vesafb: scrolling=
: redraw<br>[ =C2=A0 =C2=A00.532552] vesafb: Truecolor: size=3D8:8:8:8, shi=
ft=3D24:16:8:0<br>[ =C2=A0 =C2=A00.532568] vesafb: framebuffer at 0xf100000=
0, mapped to 0x000000006e7c94d5, using 1216k, total 1216k<br>[ =C2=A0 =C2=
=A00.532629] fbcon: Deferring console take-over<br>[ =C2=A0 =C2=A00.532630]=
 fb0: VESA VGA frame buffer device<br>[ =C2=A0 =C2=A00.532721] drop_monitor=
: Initializing network drop monitor service<br>[ =C2=A0 =C2=A00.532841] NET=
: Registered PF_INET6 protocol family<br>[ =C2=A0 =C2=A00.842492] Freeing i=
nitrd memory: 60524K<br>[ =C2=A0 =C2=A00.850586] Segment Routing with IPv6<=
br>[ =C2=A0 =C2=A00.850608] In-situ OAM (IOAM) with IPv6<br>[ =C2=A0 =C2=A0=
0.850657] NET: Registered PF_PACKET protocol family<br>[ =C2=A0 =C2=A00.850=
754] Key type dns_resolver registered<br>[ =C2=A0 =C2=A00.851230] IPI short=
hand broadcast: enabled<br>[ =C2=A0 =C2=A00.851247] sched_clock: Marking st=
able (851343609, -194696)-&gt;(857336759, -6187846)<br>[ =C2=A0 =C2=A00.851=
532] registered taskstats version 1<br>[ =C2=A0 =C2=A00.851696] Loading com=
piled-in X.509 certificates<br>[ =C2=A0 =C2=A00.852907] Loaded X.509 cert &=
#39;Build time autogenerated kernel key: c887ab1fa6442665629113512b4db089a7=
808038&#39;<br>[ =C2=A0 =C2=A00.853729] Loaded X.509 cert &#39;Canonical Lt=
d. Live Patch Signing: 14df34d1a87cf37625abec039ef2bf521249b969&#39;<br>[ =
=C2=A0 =C2=A00.854530] Loaded X.509 cert &#39;Canonical Ltd. Kernel Module =
Signing: 88f752e560a1e0737e31163a466ad7b70a850c19&#39;<br>[ =C2=A0 =C2=A00.=
854534] blacklist: Loading compiled-in revocation X.509 certificates<br>[ =
=C2=A0 =C2=A00.854568] Loaded X.509 cert &#39;Canonical Ltd. Secure Boot Si=
gning: 61482aa2830d0ab2ad5af10b7250da9033ddcef0&#39;<br>[ =C2=A0 =C2=A00.85=
4781] zswap: loaded using pool lzo/zbud<br>[ =C2=A0 =C2=A00.855324] Key typ=
e ._fscrypt registered<br>[ =C2=A0 =C2=A00.855328] Key type .fscrypt regist=
ered<br>[ =C2=A0 =C2=A00.855330] Key type fscrypt-provisioning registered<b=
r>[ =C2=A0 =C2=A00.857364] usb 1-1: new full-speed USB device number 2 usin=
g uhci_hcd<br>[ =C2=A0 =C2=A00.859895] Key type encrypted registered<br>[ =
=C2=A0 =C2=A00.859902] AppArmor: AppArmor sha1 policy hashing enabled<br>[ =
=C2=A0 =C2=A00.859910] ima: No TPM chip found, activating TPM-bypass!<br>[ =
=C2=A0 =C2=A00.859918] Loading compiled-in module X.509 certificates<br>[ =
=C2=A0 =C2=A00.861118] Loaded X.509 cert &#39;Build time autogenerated kern=
el key: c887ab1fa6442665629113512b4db089a7808038&#39;<br>[ =C2=A0 =C2=A00.8=
61122] ima: Allocated hash algorithm: sha1<br>[ =C2=A0 =C2=A00.861133] ima:=
 No architecture policies found<br>[ =C2=A0 =C2=A00.861149] evm: Initialisi=
ng EVM extended attributes:<br>[ =C2=A0 =C2=A00.861150] evm: security.selin=
ux<br>[ =C2=A0 =C2=A00.861152] evm: security.SMACK64<br>[ =C2=A0 =C2=A00.86=
1153] evm: security.SMACK64EXEC<br>[ =C2=A0 =C2=A00.861154] evm: security.S=
MACK64TRANSMUTE<br>[ =C2=A0 =C2=A00.861155] evm: security.SMACK64MMAP<br>[ =
=C2=A0 =C2=A00.861156] evm: security.apparmor<br>[ =C2=A0 =C2=A00.861157] e=
vm: security.ima<br>[ =C2=A0 =C2=A00.861158] evm: security.capability<br>[ =
=C2=A0 =C2=A00.861160] evm: HMAC attrs: 0x1<br>[ =C2=A0 =C2=A00.861788] xen=
bus_probe_frontend: Device with no driver: device/vkbd/0<br>[ =C2=A0 =C2=A0=
0.861870] PM: =C2=A0 Magic number: 2:786:72<br>[ =C2=A0 =C2=A00.862376] RAS=
: Correctable Errors collector initialized.<br>[ =C2=A0 =C2=A00.865608] Fre=
eing unused decrypted memory: 2036K<br>[ =C2=A0 =C2=A00.866378] Freeing unu=
sed kernel image (initmem) memory: 2952K<br>[ =C2=A0 =C2=A00.889375] Write =
protecting the kernel read-only data: 30720k<br>[ =C2=A0 =C2=A00.890318] Fr=
eeing unused kernel image (text/rodata gap) memory: 2036K<br>[ =C2=A0 =C2=
=A00.890802] Freeing unused kernel image (rodata/data gap) memory: 1504K<br=
>[ =C2=A0 =C2=A00.936352] x86/mm: Checked W+X mappings: passed, no W+X page=
s found.<br>[ =C2=A0 =C2=A00.936636] Run /init as init process<br>[ =C2=A0 =
=C2=A00.936643] =C2=A0 with arguments:<br>[ =C2=A0 =C2=A00.936645] =C2=A0 =
=C2=A0 /init<br>[ =C2=A0 =C2=A00.936646] =C2=A0 =C2=A0 splash<br>[ =C2=A0 =
=C2=A00.936648] =C2=A0 with environment:<br>[ =C2=A0 =C2=A00.936649] =C2=A0=
 =C2=A0 HOME=3D/<br>[ =C2=A0 =C2=A00.936650] =C2=A0 =C2=A0 TERM=3Dlinux<br>=
[ =C2=A0 =C2=A00.936651] =C2=A0 =C2=A0 BOOT_IMAGE=3D/boot/vmlinuz-5.15.0-25=
-generic<br>[ =C2=A0 =C2=A01.036484] piix4_smbus 0000:00:01.3: SMBus Host C=
ontroller not enabled!<br>[ =C2=A0 =C2=A01.036490] fbcon: Taking over conso=
le<br>[ =C2=A0 =C2=A01.039250] Console: switching to colour frame buffer de=
vice 80x30<br>[ =C2=A0 =C2=A01.055941] FDC 0 is a S82078B<br>[ =C2=A0 =C2=
=A01.078207] usb 1-1: New USB device found, idVendor=3D0627, idProduct=3D00=
01, bcdDevice=3D 0.00<br>[ =C2=A0 =C2=A01.078215] usb 1-1: New USB device s=
trings: Mfr=3D1, Product=3D3, SerialNumber=3D10<br>[ =C2=A0 =C2=A01.078218]=
 usb 1-1: Product: QEMU USB Tablet<br>[ =C2=A0 =C2=A01.078220] usb 1-1: Man=
ufacturer: QEMU<br>[ =C2=A0 =C2=A01.078221] usb 1-1: SerialNumber: 42<br>[ =
=C2=A0 =C2=A01.098463] hid: raw HID events driver (C) Jiri Kosina<br>[ =C2=
=A0 =C2=A01.104173] usbcore: registered new interface driver usbhid<br>[ =
=C2=A0 =C2=A01.104177] usbhid: USB HID core driver<br>[ =C2=A0 =C2=A01.1087=
71] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:01.2/usb1/1-=
1/1-1:1.0/0003:0627:0001.0001/input/input5<br>[ =C2=A0 =C2=A01.109051] hid-=
generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU =
USB Tablet] on usb-0000:00:01.2-1/input0<br>[ =C2=A0 =C2=A01.242332] EXT4-f=
s (xvda3): mounted filesystem with ordered data mode. Opts: (null). Quota m=
ode: none.<br>[ =C2=A0 =C2=A01.353433] systemd[1]: Inserted module &#39;aut=
ofs4&#39;<br>[ =C2=A0 =C2=A01.372606] systemd[1]: systemd 249.11-0ubuntu3 r=
unning in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP =
+GCRYPT +GNUTLS -OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN +IPT=
C +KMOD +LIBCRYPTSETUP -LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2=
 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=3Dunifie=
d)<br>[ =C2=A0 =C2=A01.372690] systemd[1]: Detected virtualization xen.<br>=
[ =C2=A0 =C2=A01.372697] systemd[1]: Detected architecture x86-64.<br>[ =C2=
=A0 =C2=A01.373227] systemd[1]: Hostname set to &lt;HVM-GUEST&gt;.<br>[ =C2=
=A0 =C2=A01.590054] systemd[1]: Queued start job for default target Graphic=
al Interface.<br>[ =C2=A0 =C2=A01.592059] systemd[1]: Created slice Slice /=
system/modprobe.<br>[ =C2=A0 =C2=A01.592607] systemd[1]: Created slice Slic=
e /system/serial-getty.<br>[ =C2=A0 =C2=A01.593111] systemd[1]: Created sli=
ce Slice /system/systemd-fsck.<br>[ =C2=A0 =C2=A01.593423] systemd[1]: Crea=
ted slice User and Session Slice.<br>[ =C2=A0 =C2=A01.593540] systemd[1]: S=
tarted Forward Password Requests to Wall Directory Watch.<br>[ =C2=A0 =C2=
=A01.593816] systemd[1]: Set up automount Arbitrary Executable File Formats=
 File System Automount Point.<br>[ =C2=A0 =C2=A01.593945] systemd[1]: Reach=
ed target User and Group Name Lookups.<br>[ =C2=A0 =C2=A01.593972] systemd[=
1]: Reached target Remote File Systems.<br>[ =C2=A0 =C2=A01.593994] systemd=
[1]: Reached target Slice Units.<br>[ =C2=A0 =C2=A01.594047] systemd[1]: Re=
ached target Local Verity Protected Volumes.<br>[ =C2=A0 =C2=A01.594241] sy=
stemd[1]: Listening on Syslog Socket.<br>[ =C2=A0 =C2=A01.594362] systemd[1=
]: Listening on fsck to fsckd communication Socket.<br>[ =C2=A0 =C2=A01.594=
450] systemd[1]: Listening on initctl Compatibility Named Pipe.<br>[ =C2=A0=
 =C2=A01.594705] systemd[1]: Listening on Journal Audit Socket.<br>[ =C2=A0=
 =C2=A01.594833] systemd[1]: Listening on Journal Socket (/dev/log).<br>[ =
=C2=A0 =C2=A01.594992] systemd[1]: Listening on Journal Socket.<br>[ =C2=A0=
 =C2=A01.595593] systemd[1]: Listening on udev Control Socket.<br>[ =C2=A0 =
=C2=A01.595751] systemd[1]: Listening on udev Kernel Socket.<br>[ =C2=A0 =
=C2=A01.596837] systemd[1]: Mounting Huge Pages File System...<br>[ =C2=A0 =
=C2=A01.598024] systemd[1]: Mounting POSIX Message Queue File System...<br>=
[ =C2=A0 =C2=A01.599213] systemd[1]: Mounting Kernel Debug File System...<b=
r>[ =C2=A0 =C2=A01.600394] systemd[1]: Mounting Kernel Trace File System...=
<br>[ =C2=A0 =C2=A01.603377] systemd[1]: Starting Journal Service...<br>[ =
=C2=A0 =C2=A01.605041] systemd[1]: Starting Set the console keyboard layout=
...<br>[ =C2=A0 =C2=A01.606625] systemd[1]: Starting Create List of Static =
Device Nodes...<br>[ =C2=A0 =C2=A01.608115] systemd[1]: Starting Load Kerne=
l Module configfs...<br>[ =C2=A0 =C2=A01.609446] systemd[1]: Starting Load =
Kernel Module drm...<br>[ =C2=A0 =C2=A01.610757] systemd[1]: Starting Load =
Kernel Module fuse...<br>[ =C2=A0 =C2=A01.611025] systemd[1]: Condition che=
ck resulted in File System Check on Root Device being skipped.<br>[ =C2=A0 =
=C2=A01.614076] systemd[1]: Starting Load Kernel Modules...<br>[ =C2=A0 =C2=
=A01.616455] systemd[1]: Starting Remount Root and Kernel File Systems...<b=
r>[ =C2=A0 =C2=A01.624748] systemd[1]: Starting Coldplug All udev Devices..=
.<br>[ =C2=A0 =C2=A01.627022] systemd[1]: Mounted Huge Pages File System.<b=
r>[ =C2=A0 =C2=A01.627141] systemd[1]: Mounted POSIX Message Queue File Sys=
tem.<br>[ =C2=A0 =C2=A01.627227] systemd[1]: Mounted Kernel Debug File Syst=
em.<br>[ =C2=A0 =C2=A01.627315] systemd[1]: Mounted Kernel Trace File Syste=
m.<br>[ =C2=A0 =C2=A01.627636] systemd[1]: Finished Create List of Static D=
evice Nodes.<br>[ =C2=A0 =C2=A01.627985] systemd[1]: modprobe@configfs.serv=
ice: Deactivated successfully.<br>[ =C2=A0 =C2=A01.628221] systemd[1]: Fini=
shed Load Kernel Module configfs.<br>[ =C2=A0 =C2=A01.628480] systemd[1]: m=
odprobe@fuse.service: Deactivated successfully.<br>[ =C2=A0 =C2=A01.628704]=
 systemd[1]: Finished Load Kernel Module fuse.<br>[ =C2=A0 =C2=A01.629866] =
EXT4-fs (xvda3): re-mounted. Opts: errors=3Dremount-ro. Quota mode: none.<b=
r>[ =C2=A0 =C2=A01.630115] systemd[1]: Mounting FUSE Control File System...=
<br>[ =C2=A0 =C2=A01.631378] systemd[1]: Mounting Kernel Configuration File=
 System...<br>[ =C2=A0 =C2=A01.634418] systemd[1]: modprobe@drm.service: De=
activated successfully.<br>[ =C2=A0 =C2=A01.634598] systemd[1]: Finished Lo=
ad Kernel Module drm.<br>[ =C2=A0 =C2=A01.634842] systemd[1]: Finished Remo=
unt Root and Kernel File Systems.<br>[ =C2=A0 =C2=A01.634938] systemd[1]: M=
ounted FUSE Control File System.<br>[ =C2=A0 =C2=A01.634982] systemd[1]: Mo=
unted Kernel Configuration File System.<br>[ =C2=A0 =C2=A01.635685] systemd=
[1]: Activating swap /swapfile...<br>[ =C2=A0 =C2=A01.635752] systemd[1]: C=
ondition check resulted in Platform Persistent Storage Archival being skipp=
ed.<br>[ =C2=A0 =C2=A01.637031] systemd[1]: Starting Load/Save Random Seed.=
..<br>[ =C2=A0 =C2=A01.641131] Adding 2097148k swap on /swapfile.=C2=A0 Pri=
ority:-2 extents:6 across:2260988k SSFS<br>[ =C2=A0 =C2=A01.642488] systemd=
[1]: Starting Create System Users...<br>[ =C2=A0 =C2=A01.642572] systemd[1]=
: Activated swap /swapfile.<br>[ =C2=A0 =C2=A01.642765] systemd[1]: Reached=
 target Swaps.<br>[ =C2=A0 =C2=A01.643321] lp: driver loaded but no devices=
 found<br>[ =C2=A0 =C2=A01.651810] systemd[1]: Started Journal Service.<br>=
[ =C2=A0 =C2=A01.655589] systemd-journald[259]: Received client request to =
flush runtime journal.<br>[ =C2=A0 =C2=A01.657118] ppdev: user-space parall=
el port driver<br>[ =C2=A0 =C2=A01.667097] IPMI message handler: version 39=
.2<br>[ =C2=A0 =C2=A01.668319] ipmi device interface<br>[ =C2=A0 =C2=A01.67=
5912] loop0: detected capacity change from 0 to 8<br>[ =C2=A0 =C2=A01.67868=
3] loop1: detected capacity change from 0 to 126760<br>[ =C2=A0 =C2=A01.681=
650] loop2: detected capacity change from 0 to 318728<br>[ =C2=A0 =C2=A01.6=
83964] loop3: detected capacity change from 0 to 509456<br>[ =C2=A0 =C2=A01=
.686052] loop4: detected capacity change from 0 to 166424<br>[ =C2=A0 =C2=
=A01.687119] loop5: detected capacity change from 0 to 93920<br>[ =C2=A0 =
=C2=A01.687391] loop6: detected capacity change from 0 to 89352<br>[ =C2=A0=
 =C2=A01.692831] loop7: detected capacity change from 0 to 568<br>[ =C2=A0 =
=C2=A01.957855] cryptd: max_cpu_qlen set to 1000<br>[ =C2=A0 =C2=A01.999918=
] AVX2 version of gcm_enc/dec engaged.<br>[ =C2=A0 =C2=A02.000019] AES CTR =
mode by8 optimization enabled<br>[ =C2=A0 =C2=A02.043047] input: Xen Virtua=
l Keyboard as /devices/virtual/input/input6<br>[ =C2=A0 =C2=A02.043943] inp=
ut: Xen Virtual Pointer as /devices/virtual/input/input7<br>[ =C2=A0 =C2=A0=
2.073671] [drm] pci: virtio-vga detected at 0000:00:03.0<br>[ =C2=A0 =C2=A0=
2.073675] checking generic (f1000000 130000) vs hw (f1000000 800000)<br>[ =
=C2=A0 =C2=A02.073677] fb0: switching to virtio_gpu from VESA VGA<br>[ =C2=
=A0 =C2=A02.123276] Console: switching to colour dummy device 80x25<br>[ =
=C2=A0 =C2=A02.123582] virtio-pci 0000:00:03.0: vgaarb: deactivate vga cons=
ole<br>[ =C2=A0 =C2=A02.125945] [drm] features: +virgl -edid -resource_blob=
 -host_visible<br>[ =C2=A0 =C2=A02.136638] [drm] number of scanouts: 1<br>[=
 =C2=A0 =C2=A02.136692] [drm] number of cap sets: 2<br>[ =C2=A0 =C2=A02.179=
337] [drm] cap set 0: id 1, max-version 1, max-size 308<br>[ =C2=A0 =C2=A02=
.179388] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/=
serio1/input/input4<br>[ =C2=A0 =C2=A02.179638] [drm] cap set 1: id 2, max-=
version 2, max-size 856<br>[ =C2=A0 =C2=A02.182465] [drm] Initialized virti=
o_gpu 0.1.0 0 for virtio0 on minor 0<br>[ =C2=A0 =C2=A02.193057] virtio_gpu=
 virtio0: [drm] drm_plane_enable_fb_damage_clips() not called<br>[ =C2=A0 =
=C2=A02.194721] Console: switching to colour frame buffer device 128x48<br>=
[ =C2=A0 =C2=A02.219672] virtio_gpu virtio0: [drm] fb0: virtio_gpudrmfb fra=
me buffer device<br>[ =C2=A0 =C2=A02.280885] audit: type=3D1400 audit(16606=
44233.244:2): apparmor=3D&quot;STATUS&quot; operation=3D&quot;profile_load&=
quot; profile=3D&quot;unconfined&quot; name=3D&quot;nvidia_modprobe&quot; p=
id=3D417 comm=3D&quot;apparmor_parser&quot;<br>[ =C2=A0 =C2=A02.280898] aud=
it: type=3D1400 audit(1660644233.244:3): apparmor=3D&quot;STATUS&quot; oper=
ation=3D&quot;profile_load&quot; profile=3D&quot;unconfined&quot; name=3D&q=
uot;nvidia_modprobe//kmod&quot; pid=3D417 comm=3D&quot;apparmor_parser&quot=
;<br>[ =C2=A0 =C2=A02.283374] audit: type=3D1400 audit(1660644233.248:4): a=
pparmor=3D&quot;STATUS&quot; operation=3D&quot;profile_load&quot; profile=
=3D&quot;unconfined&quot; name=3D&quot;lsb_release&quot; pid=3D416 comm=3D&=
quot;apparmor_parser&quot;<br>[ =C2=A0 =C2=A02.287067] audit: type=3D1400 a=
udit(1660644233.248:5): apparmor=3D&quot;STATUS&quot; operation=3D&quot;pro=
file_load&quot; profile=3D&quot;unconfined&quot; name=3D&quot;/usr/lib/Netw=
orkManager/nm-dhcp-client.action&quot; pid=3D418 comm=3D&quot;apparmor_pars=
er&quot;<br>[ =C2=A0 =C2=A02.287073] audit: type=3D1400 audit(1660644233.24=
8:6): apparmor=3D&quot;STATUS&quot; operation=3D&quot;profile_load&quot; pr=
ofile=3D&quot;unconfined&quot; name=3D&quot;/usr/lib/NetworkManager/nm-dhcp=
-helper&quot; pid=3D418 comm=3D&quot;apparmor_parser&quot;<br>[ =C2=A0 =C2=
=A02.287075] audit: type=3D1400 audit(1660644233.248:7): apparmor=3D&quot;S=
TATUS&quot; operation=3D&quot;profile_load&quot; profile=3D&quot;unconfined=
&quot; name=3D&quot;/usr/lib/connman/scripts/dhclient-script&quot; pid=3D41=
8 comm=3D&quot;apparmor_parser&quot;<br>[ =C2=A0 =C2=A02.287076] audit: typ=
e=3D1400 audit(1660644233.248:8): apparmor=3D&quot;STATUS&quot; operation=
=3D&quot;profile_load&quot; profile=3D&quot;unconfined&quot; name=3D&quot;/=
{,usr/}sbin/dhclient&quot; pid=3D418 comm=3D&quot;apparmor_parser&quot;<br>=
[ =C2=A0 =C2=A02.294768] audit: type=3D1400 audit(1660644233.260:9): apparm=
or=3D&quot;STATUS&quot; operation=3D&quot;profile_load&quot; profile=3D&quo=
t;unconfined&quot; name=3D&quot;/usr/bin/man&quot; pid=3D422 comm=3D&quot;a=
pparmor_parser&quot;<br>[ =C2=A0 =C2=A02.294783] audit: type=3D1400 audit(1=
660644233.260:10): apparmor=3D&quot;STATUS&quot; operation=3D&quot;profile_=
load&quot; profile=3D&quot;unconfined&quot; name=3D&quot;man_filter&quot; p=
id=3D422 comm=3D&quot;apparmor_parser&quot;<br>[ =C2=A0 =C2=A02.765051] loo=
p8: detected capacity change from 0 to 8<br>[ =C2=A0 =C2=A04.617492] rfkill=
: input handler disabled<br>[ =C2=A0 32.054348] kauditd_printk_skb: 38 call=
backs suppressed<br>[ =C2=A0 32.054351] audit: type=3D1400 audit(1660644263=
.020:49): apparmor=3D&quot;DENIED&quot; operation=3D&quot;capable&quot; pro=
file=3D&quot;/usr/sbin/cups-browsed&quot; pid=3D1390 comm=3D&quot;cups-brow=
sed&quot; capability=3D23 =C2=A0capname=3D&quot;sys_nice&quot;<br>[ =C2=A0 =
68.680921] pci 0000:00:04.0: [8086:24cd] type 00 class 0x0c0320<br>[ =C2=A0=
 68.681909] pci 0000:00:04.0: reg 0x10: [mem 0x00000000-0x00000fff]<br>[ =
=C2=A0 68.686395] pci 0000:00:04.0: BAR 0: assigned [mem 0xf1800000-0xf1800=
fff]<br>[ =C2=A0 68.687377] pci 0000:00:04.0: enabling device (0000 -&gt; 0=
002)<br>[ =C2=A0 68.689224] xen: --&gt; pirq=3D24 -&gt; irq=3D35 (gsi=3D35)=
<br>[ =C2=A0 68.692834] ehci-pci 0000:00:04.0: EHCI Host Controller<br>[ =
=C2=A0 68.692850] ehci-pci 0000:00:04.0: new USB bus registered, assigned b=
us number 2<br>[ =C2=A0 68.694281] ehci-pci 0000:00:04.0: irq 35, io mem 0x=
f1800000<br>[ =C2=A0 68.708467] ehci-pci 0000:00:04.0: USB 2.0 started, EHC=
I 1.00<br>[ =C2=A0 68.708678] usb usb2: New USB device found, idVendor=3D1d=
6b, idProduct=3D0002, bcdDevice=3D 5.15<br>[ =C2=A0 68.708684] usb usb2: Ne=
w USB device strings: Mfr=3D3, Product=3D2, SerialNumber=3D1<br>[ =C2=A0 68=
.708687] usb usb2: Product: EHCI Host Controller<br>[ =C2=A0 68.708690] usb=
 usb2: Manufacturer: Linux 5.15.0-25-generic ehci_hcd<br>[ =C2=A0 68.708693=
] usb usb2: SerialNumber: 0000:00:04.0<br>[ =C2=A0 68.709004] hub 2-0:1.0: =
USB hub found<br>[ =C2=A0 68.709014] hub 2-0:1.0: 6 ports detected<br>[ =C2=
=A0125.693224] usb 2-1: new high-speed USB device number 2 using ehci-pci<b=
r>[ =C2=A0125.860036] usb 2-1: config 1 interface 0 altsetting 0 bulk endpo=
int 0x81 has invalid maxpacket 1024<br>[ =C2=A0125.860046] usb 2-1: config =
1 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 1024<br>=
[ =C2=A0125.868162] usb 2-1: New USB device found, idVendor=3D0781, idProdu=
ct=3D55a9, bcdDevice=3D 1.00<br>[ =C2=A0125.868169] usb 2-1: New USB device=
 strings: Mfr=3D1, Product=3D2, SerialNumber=3D3<br>[ =C2=A0125.868172] usb=
 2-1: Product: =C2=A0SanDisk 3.2Gen1<br>[ =C2=A0125.868175] usb 2-1: Manufa=
cturer: =C2=A0USB<br>[ =C2=A0125.868177] usb 2-1: SerialNumber: 0401679941e=
4bd74075d85f9c579b3ea676bfcb7793d641baffeb9351793d80925ba000000000000000000=
004c882c7f00906e18a955810790aaa0fa<br>[ =C2=A0125.886442] usb-storage 2-1:1=
.0: USB Mass Storage device detected<br>[ =C2=A0125.886855] scsi host2: usb=
-storage 2-1:1.0<br>[ =C2=A0125.887014] usbcore: registered new interface d=
river usb-storage<br>[ =C2=A0125.892109] usbcore: registered new interface =
driver uas<br>[ =C2=A0126.914284] scsi 2:0:0:0: Direct-Access =C2=A0 =C2=A0=
 =C2=A0USB =C2=A0 =C2=A0 =C2=A0SanDisk 3.2Gen1 1.00 PQ: 0 ANSI: 6<br>[ =C2=
=A0126.914710] sd 2:0:0:0: Attached scsi generic sg0 type 0<br><b>[ =C2=A01=
26.926413] sd 2:0:0:0: [sda] 120176640 512-byte logical blocks: (61.5 GB/57=
.3 GiB)<br>[ =C2=A0126.939662] sd 2:0:0:0: [sda] Write Protect is off<br>[ =
=C2=A0126.939670] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00<br>[ =C2=A0126.=
952697] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn=
&#39;t support DPO or FUA<br>[ =C2=A0127.045601] =C2=A0sda: sda1<br>[ =C2=
=A0127.086759] sd 2:0:0:0: [sda] Attached SCSI removable disk<br>[ =C2=A012=
8.333409] usb 2-1: reset high-speed USB device number 2 using ehci-pci<br>[=
 =C2=A0128.502872] sd 2:0:0:0: [sda] tag#0 FAILED Result: hostbyte=3DDID_ER=
ROR driverbyte=3DDRIVER_OK cmd_age=3D0s<br>[ =C2=A0128.502881] sd 2:0:0:0: =
[sda] tag#0 CDB: Read(10) 28 00 00 00 7a b7 00 00 3f 00<br>[ =C2=A0128.5028=
83] blk_update_request: I/O error, dev sda, sector 31415 op 0x0:(READ) flag=
s 0x80700 phys_seg 63 prio class 0<br>[ =C2=A0159.238904] usb 2-1: reset hi=
gh-speed USB device number 2 using ehci-pci<br>[ =C2=A0363.738313] INFO: ta=
sk kworker/u8:1:103 blocked for more than 120 seconds.<br>[ =C2=A0363.73832=
7] =C2=A0 =C2=A0 =C2=A0 Not tainted 5.15.0-25-generic #25-Ubuntu<br></b>[ =
=C2=A0363.738331] &quot;echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs=
&quot; disables this message.<br>[ =C2=A0363.738334] task:kworker/u8:1 =C2=
=A0 =C2=A0state:D stack: =C2=A0 =C2=A00 pid: =C2=A0103 ppid: =C2=A0 =C2=A0 =
2 flags:0x00004000<br>[ =C2=A0363.738343] Workqueue: events_freezable_power=
_ disk_events_workfn<br>[ =C2=A0363.738357] Call Trace:<br>[ =C2=A0363.7383=
61] =C2=A0&lt;TASK&gt;<br>[ =C2=A0363.738366] =C2=A0__schedule+0x23d/0x590<=
br>[ =C2=A0363.738375] =C2=A0schedule+0x4e/0xb0<br>[ =C2=A0363.738380] =C2=
=A0io_schedule+0x46/0x70<br>[ =C2=A0363.738385] =C2=A0blk_mq_get_tag+0x11b/=
0x300<br>[ =C2=A0363.738391] =C2=A0? wait_woken+0x70/0x70<br>[ =C2=A0363.73=
8398] =C2=A0__blk_mq_alloc_request+0x101/0x180<br>[ =C2=A0363.738402] =C2=
=A0blk_mq_alloc_request+0x7a/0xc0<br>[ =C2=A0363.738406] =C2=A0blk_get_requ=
est+0x27/0x60<br>[ =C2=A0363.738412] =C2=A0__scsi_execute+0x48/0x260<br>[ =
=C2=A0363.738417] =C2=A0scsi_test_unit_ready+0x60/0xe0<br>[ =C2=A0363.73842=
1] =C2=A0sd_check_events+0x194/0x230<br>[ =C2=A0363.738426] =C2=A0disk_chec=
k_events+0x3c/0x110<br>[ =C2=A0363.738431] =C2=A0disk_events_workfn+0x19/0x=
20<br>[ =C2=A0363.738435] =C2=A0process_one_work+0x22b/0x3d0<br>[ =C2=A0363=
.738442] =C2=A0worker_thread+0x53/0x410<br>[ =C2=A0363.738447] =C2=A0? proc=
ess_one_work+0x3d0/0x3d0<br>[ =C2=A0363.738452] =C2=A0kthread+0x12a/0x150<b=
r>[ =C2=A0363.738457] =C2=A0? set_kthread_struct+0x50/0x50<br>[ =C2=A0363.7=
38461] =C2=A0ret_from_fork+0x22/0x30<br>[ =C2=A0363.738469] =C2=A0&lt;/TASK=
&gt;<br>[ =C2=A0363.738491] INFO: task pool-udisksd:1698 blocked for more t=
han 120 seconds.<br>[ =C2=A0363.738494] =C2=A0 =C2=A0 =C2=A0 Not tainted 5.=
15.0-25-generic #25-Ubuntu<br>[ =C2=A0363.738497] &quot;echo 0 &gt; /proc/s=
ys/kernel/hung_task_timeout_secs&quot; disables this message.<br>[ =C2=A036=
3.738499] task:pool-udisksd =C2=A0 =C2=A0state:D stack: =C2=A0 =C2=A00 pid:=
 1698 ppid: =C2=A0 =C2=A0 1 flags:0x00004002<br>[ =C2=A0363.738504] Call Tr=
ace:<br>[ =C2=A0363.738506] =C2=A0&lt;TASK&gt;<br>[ =C2=A0363.738507] =C2=
=A0__schedule+0x23d/0x590<br>[ =C2=A0363.738513] =C2=A0? bit_wait+0x60/0x60=
<br>[ =C2=A0363.738517] =C2=A0schedule+0x4e/0xb0<br>[ =C2=A0363.738522] =C2=
=A0io_schedule+0x46/0x70<br>[ =C2=A0363.738527] =C2=A0bit_wait_io+0x11/0x60=
<br>[ =C2=A0363.738532] =C2=A0__wait_on_bit+0x33/0xa0<br>[ =C2=A0363.738537=
] =C2=A0out_of_line_wait_on_bit+0x8d/0xb0<br>[ =C2=A0363.738542] =C2=A0? va=
r_wake_function+0x30/0x30<br>[ =C2=A0363.738546] =C2=A0__bread_gfp+0xf6/0x1=
20<br>[ =C2=A0363.738553] =C2=A0fat__get_entry+0x15c/0x240<br>[ =C2=A0363.7=
38561] =C2=A0fat_get_short_entry+0x62/0xb0<br>[ =C2=A0363.738566] =C2=A0fat=
_subdirs+0x5c/0x90<br>[ =C2=A0363.738571] =C2=A0fat_read_root+0x130/0x170<b=
r>[ =C2=A0363.738574] =C2=A0fat_fill_super+0x63c/0x880<br>[ =C2=A0363.73857=
8] =C2=A0? snprintf+0x49/0x60<br>[ =C2=A0363.738583] =C2=A0vfat_fill_super+=
0x1a/0x20<br>[ =C2=A0363.738586] =C2=A0mount_bdev+0x196/0x1c0<br>[ =C2=A036=
3.738591] =C2=A0? vfat_mount+0x20/0x20<br>[ =C2=A0363.738595] =C2=A0vfat_mo=
unt+0x15/0x20<br>[ =C2=A0363.738598] =C2=A0legacy_get_tree+0x2b/0x50<br>[ =
=C2=A0363.738602] =C2=A0vfs_get_tree+0x2a/0xc0<br>[ =C2=A0363.738606] =C2=
=A0do_new_mount+0x16e/0x2d0<br>[ =C2=A0363.738611] =C2=A0path_mount+0x1db/0=
x880<br>[ =C2=A0363.738614] =C2=A0? putname+0x55/0x60<br>[ =C2=A0363.738619=
] =C2=A0__x64_sys_mount+0x108/0x140<br>[ =C2=A0363.738623] =C2=A0do_syscall=
_64+0x5c/0xc0<br>[ =C2=A0363.738629] =C2=A0? do_syscall_64+0x69/0xc0<br>[ =
=C2=A0363.738633] =C2=A0? exit_to_user_mode_prepare+0x37/0xb0<br>[ =C2=A036=
3.738639] =C2=A0? syscall_exit_to_user_mode+0x27/0x50<br>[ =C2=A0363.738643=
] =C2=A0? __do_sys_getuid+0x28/0x30<br>[ =C2=A0363.738646] =C2=A0? do_sysca=
ll_64+0x69/0xc0<br>[ =C2=A0363.738650] =C2=A0? syscall_exit_to_user_mode+0x=
27/0x50<br>[ =C2=A0363.738654] =C2=A0? exit_to_user_mode_prepare+0x37/0xb0<=
br>[ =C2=A0363.738657] =C2=A0? syscall_exit_to_user_mode+0x27/0x50<br>[ =C2=
=A0363.738660] =C2=A0? __do_sys_getgid+0x28/0x30<br>[ =C2=A0363.738663] =C2=
=A0? do_syscall_64+0x69/0xc0<br>[ =C2=A0363.738667] =C2=A0? __x64_sys_readl=
ink+0x1e/0x30<br>[ =C2=A0363.738671] =C2=A0? do_syscall_64+0x69/0xc0<br>[ =
=C2=A0363.738675] =C2=A0? irqentry_exit+0x19/0x30<br>[ =C2=A0363.738679] =
=C2=A0? exc_page_fault+0x89/0x160<br>[ =C2=A0363.738681] =C2=A0? asm_exc_pa=
ge_fault+0x8/0x30<br>[ =C2=A0363.738686] =C2=A0entry_SYSCALL_64_after_hwfra=
me+0x44/0xae<br>[ =C2=A0363.738691] RIP: 0033:0x7f511763eeae<br>[ =C2=A0363=
.738696] RSP: 002b:00007f51163782e8 EFLAGS: 00000246 ORIG_RAX: 000000000000=
00a5<br>[ =C2=A0363.738701] RAX: ffffffffffffffda RBX: 0000000000000000 RCX=
: 00007f511763eeae<br>[ =C2=A0363.738703] RDX: 00007f51080188e0 RSI: 00007f=
5108018960 RDI: 00007f5108018940<br>[ =C2=A0363.738706] RBP: 00007f5108018b=
50 R08: 00007f5108018d80 R09: 0000000000000001<br>[ =C2=A0363.738708] R10: =
0000000000000006 R11: 0000000000000246 R12: 0000000000000000<br>[ =C2=A0363=
.738710] R13: 00007f51080188e0 R14: 00007f5108018940 R15: 00007f5108018b50<=
br>[ =C2=A0363.738715] =C2=A0&lt;/TASK&gt;<br>[ =C2=A0363.738761] INFO: tas=
k scsi_eh_2:1671 blocked for more than 120 seconds.<br>[ =C2=A0363.738765] =
=C2=A0 =C2=A0 =C2=A0 Not tainted 5.15.0-25-generic #25-Ubuntu<br>[ =C2=A036=
3.738767] &quot;echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs&quot; d=
isables this message.<br>[ =C2=A0363.738769] task:scsi_eh_2 =C2=A0 =C2=A0 =
=C2=A0 state:D stack: =C2=A0 =C2=A00 pid: 1671 ppid: =C2=A0 =C2=A0 2 flags:=
0x00004000<br>[ =C2=A0363.738773] Call Trace:<br>[ =C2=A0363.738775] =C2=A0=
&lt;TASK&gt;<br>[ =C2=A0363.738777] =C2=A0__schedule+0x23d/0x590<br>[ =C2=
=A0363.738782] =C2=A0schedule+0x4e/0xb0<br>[ =C2=A0363.738787] =C2=A0schedu=
le_preempt_disabled+0xe/0x10<br>[ =C2=A0363.738792] =C2=A0__mutex_lock.cons=
tprop.0+0x263/0x490<br>[ =C2=A0363.738796] =C2=A0? update_load_avg+0x82/0x6=
20<br>[ =C2=A0363.738801] =C2=A0__mutex_lock_slowpath+0x13/0x20<br>[ =C2=A0=
363.738804] =C2=A0mutex_lock+0x34/0x40<br>[ =C2=A0363.738810] =C2=A0device_=
reset+0x22/0x50 [usb_storage]<br>[ =C2=A0363.738818] =C2=A0scsi_eh_bus_devi=
ce_reset+0xee/0x2a0<br>[ =C2=A0363.738824] =C2=A0scsi_eh_ready_devs+0x67/0x=
240<br>[ =C2=A0363.738829] =C2=A0? finish_task_switch.isra.0+0xa6/0x270<br>=
[ =C2=A0363.738834] =C2=A0scsi_unjam_host+0x101/0x1c0<br>[ =C2=A0363.738839=
] =C2=A0? _raw_spin_unlock_irqrestore+0xe/0x30<br>[ =C2=A0363.738844] =C2=
=A0scsi_error_handler+0x139/0x180<br>[ =C2=A0363.738849] =C2=A0? scsi_unjam=
_host+0x1c0/0x1c0<br>[ =C2=A0363.738854] =C2=A0kthread+0x12a/0x150<br>[ =C2=
=A0363.738858] =C2=A0? set_kthread_struct+0x50/0x50<br>[ =C2=A0363.738863] =
=C2=A0ret_from_fork+0x22/0x30<br>[ =C2=A0363.738868] =C2=A0&lt;/TASK&gt;<br=
>[ =C2=A0363.738870] INFO: task usb-storage:1674 blocked for more than 120 =
seconds.<br>[ =C2=A0363.738873] =C2=A0 =C2=A0 =C2=A0 Not tainted 5.15.0-25-=
generic #25-Ubuntu<br>[ =C2=A0363.738875] &quot;echo 0 &gt; /proc/sys/kerne=
l/hung_task_timeout_secs&quot; disables this message.<br>[ =C2=A0363.738877=
] task:usb-storage =C2=A0 =C2=A0 state:D stack: =C2=A0 =C2=A00 pid: 1674 pp=
id: =C2=A0 =C2=A0 2 flags:0x00004000<br>[ =C2=A0363.738881] Call Trace:<br>=
[ =C2=A0363.738883] =C2=A0&lt;TASK&gt;<br>[ =C2=A0363.738884] =C2=A0__sched=
ule+0x23d/0x590<br>[ =C2=A0363.738889] =C2=A0schedule+0x4e/0xb0<br>[ =C2=A0=
363.738894] =C2=A0schedule_timeout+0xfb/0x140<br>[ =C2=A0363.738898] =C2=A0=
__wait_for_common+0xae/0x150<br>[ =C2=A0363.738903] =C2=A0? usleep_range_st=
ate+0x90/0x90<br>[ =C2=A0363.738907] =C2=A0wait_for_completion+0x24/0x30<br=
>[ =C2=A0363.738912] =C2=A0usb_sg_wait+0xee/0x1b0<br>[ =C2=A0363.738916] =
=C2=A0usb_stor_bulk_transfer_sglist+0x8f/0xe0 [usb_storage]<br>[ =C2=A0363.=
738924] =C2=A0usb_stor_Bulk_transport+0x191/0x440 [usb_storage]<br>[ =C2=A0=
363.738931] =C2=A0usb_stor_invoke_transport+0x3e/0x540 [usb_storage]<br>[ =
=C2=A0363.738937] =C2=A0? try_to_wake_up+0x1fc/0x5a0<br>[ =C2=A0363.738942]=
 =C2=A0? __wait_for_common+0x11d/0x150<br>[ =C2=A0363.738947] =C2=A0? uslee=
p_range_state+0x90/0x90<br>[ =C2=A0363.738951] =C2=A0usb_stor_transparent_s=
csi_command+0xe/0x10 [usb_storage]<br>[ =C2=A0363.738957] =C2=A0usb_stor_co=
ntrol_thread+0x198/0x290 [usb_storage]<br>[ =C2=A0363.738964] =C2=A0? stora=
ge_probe+0xd0/0xd0 [usb_storage]<br>[ =C2=A0363.738971] =C2=A0kthread+0x12a=
/0x150<br>[ =C2=A0363.738975] =C2=A0? set_kthread_struct+0x50/0x50<br>[ =C2=
=A0363.738979] =C2=A0ret_from_fork+0x22/0x30<br>[ =C2=A0363.738985] =C2=A0&=
lt;/TASK&gt;<br>[ =C2=A0484.572086] INFO: task kworker/u8:1:103 blocked for=
 more than 241 seconds.<br>[ =C2=A0484.572098] =C2=A0 =C2=A0 =C2=A0 Not tai=
nted 5.15.0-25-generic #25-Ubuntu<br>[ =C2=A0484.572102] &quot;echo 0 &gt; =
/proc/sys/kernel/hung_task_timeout_secs&quot; disables this message.<br>[ =
=C2=A0484.572104] task:kworker/u8:1 =C2=A0 =C2=A0state:D stack: =C2=A0 =C2=
=A00 pid: =C2=A0103 ppid: =C2=A0 =C2=A0 2 flags:0x00004000<br>[ =C2=A0484.5=
72113] Workqueue: events_freezable_power_ disk_events_workfn<br>[ =C2=A0484=
.572124] Call Trace:<br>[ =C2=A0484.572127] =C2=A0&lt;TASK&gt;<br>[ =C2=A04=
84.572131] =C2=A0__schedule+0x23d/0x590<br>[ =C2=A0484.572140] =C2=A0schedu=
le+0x4e/0xb0<br>[ =C2=A0484.572145] =C2=A0io_schedule+0x46/0x70<br>[ =C2=A0=
484.572150] =C2=A0blk_mq_get_tag+0x11b/0x300<br>[ =C2=A0484.572155] =C2=A0?=
 wait_woken+0x70/0x70<br>[ =C2=A0484.572161] =C2=A0__blk_mq_alloc_request+0=
x101/0x180<br>[ =C2=A0484.572165] =C2=A0blk_mq_alloc_request+0x7a/0xc0<br>[=
 =C2=A0484.572169] =C2=A0blk_get_request+0x27/0x60<br>[ =C2=A0484.572175] =
=C2=A0__scsi_execute+0x48/0x260<br>[ =C2=A0484.572179] =C2=A0scsi_test_unit=
_ready+0x60/0xe0<br>[ =C2=A0484.572183] =C2=A0sd_check_events+0x194/0x230<b=
r>[ =C2=A0484.572188] =C2=A0disk_check_events+0x3c/0x110<br>[ =C2=A0484.572=
193] =C2=A0disk_events_workfn+0x19/0x20<br>[ =C2=A0484.572197] =C2=A0proces=
s_one_work+0x22b/0x3d0<br>[ =C2=A0484.572203] =C2=A0worker_thread+0x53/0x41=
0<br>[ =C2=A0484.572208] =C2=A0? process_one_work+0x3d0/0x3d0<br>[ =C2=A048=
4.572213] =C2=A0kthread+0x12a/0x150<br>[ =C2=A0484.572217] =C2=A0? set_kthr=
ead_struct+0x50/0x50<br>[ =C2=A0484.572222] =C2=A0ret_from_fork+0x22/0x30<b=
r>[ =C2=A0484.572229] =C2=A0&lt;/TASK&gt;<br>[ =C2=A0484.572259] INFO: task=
 pool-udisksd:1698 blocked for more than 241 seconds.<br>[ =C2=A0484.572263=
] =C2=A0 =C2=A0 =C2=A0 Not tainted 5.15.0-25-generic #25-Ubuntu<br>[ =C2=A0=
484.572265] &quot;echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs&quot;=
 disables this message.<br>[ =C2=A0484.572267] task:pool-udisksd =C2=A0 =C2=
=A0state:D stack: =C2=A0 =C2=A00 pid: 1698 ppid: =C2=A0 =C2=A0 1 flags:0x00=
004002<br>[ =C2=A0484.572273] Call Trace:<br>[ =C2=A0484.572274] =C2=A0&lt;=
TASK&gt;<br>[ =C2=A0484.572276] =C2=A0__schedule+0x23d/0x590<br>[ =C2=A0484=
.572281] =C2=A0? bit_wait+0x60/0x60<br>[ =C2=A0484.572286] =C2=A0schedule+0=
x4e/0xb0<br>[ =C2=A0484.572291] =C2=A0io_schedule+0x46/0x70<br>[ =C2=A0484.=
572295] =C2=A0bit_wait_io+0x11/0x60<br>[ =C2=A0484.572300] =C2=A0__wait_on_=
bit+0x33/0xa0<br>[ =C2=A0484.572305] =C2=A0out_of_line_wait_on_bit+0x8d/0xb=
0<br>[ =C2=A0484.572310] =C2=A0? var_wake_function+0x30/0x30<br>[ =C2=A0484=
.572314] =C2=A0__bread_gfp+0xf6/0x120<br>[ =C2=A0484.572322] =C2=A0fat__get=
_entry+0x15c/0x240<br>[ =C2=A0484.572329] =C2=A0fat_get_short_entry+0x62/0x=
b0<br>[ =C2=A0484.572334] =C2=A0fat_subdirs+0x5c/0x90<br>[ =C2=A0484.572339=
] =C2=A0fat_read_root+0x130/0x170<br>[ =C2=A0484.572342] =C2=A0fat_fill_sup=
er+0x63c/0x880<br>[ =C2=A0484.572345] =C2=A0? snprintf+0x49/0x60<br>[ =C2=
=A0484.572351] =C2=A0vfat_fill_super+0x1a/0x20<br>[ =C2=A0484.572354] =C2=
=A0mount_bdev+0x196/0x1c0<br>[ =C2=A0484.572359] =C2=A0? vfat_mount+0x20/0x=
20<br>[ =C2=A0484.572363] =C2=A0vfat_mount+0x15/0x20<br>[ =C2=A0484.572365]=
 =C2=A0legacy_get_tree+0x2b/0x50<br>[ =C2=A0484.572369] =C2=A0vfs_get_tree+=
0x2a/0xc0<br>[ =C2=A0484.572373] =C2=A0do_new_mount+0x16e/0x2d0<br>[ =C2=A0=
484.572378] =C2=A0path_mount+0x1db/0x880<br>[ =C2=A0484.572381] =C2=A0? put=
name+0x55/0x60<br>[ =C2=A0484.572385] =C2=A0__x64_sys_mount+0x108/0x140<br>=
[ =C2=A0484.572389] =C2=A0do_syscall_64+0x5c/0xc0<br>[ =C2=A0484.572395] =
=C2=A0? do_syscall_64+0x69/0xc0<br>[ =C2=A0484.572399] =C2=A0? exit_to_user=
_mode_prepare+0x37/0xb0<br>[ =C2=A0484.572405] =C2=A0? syscall_exit_to_user=
_mode+0x27/0x50<br>[ =C2=A0484.572409] =C2=A0? __do_sys_getuid+0x28/0x30<br=
>[ =C2=A0484.572412] =C2=A0? do_syscall_64+0x69/0xc0<br>[ =C2=A0484.572417]=
 =C2=A0? syscall_exit_to_user_mode+0x27/0x50<br>[ =C2=A0484.572420] =C2=A0?=
 exit_to_user_mode_prepare+0x37/0xb0<br>[ =C2=A0484.572423] =C2=A0? syscall=
_exit_to_user_mode+0x27/0x50<br>[ =C2=A0484.572426] =C2=A0? __do_sys_getgid=
+0x28/0x30<br>[ =C2=A0484.572429] =C2=A0? do_syscall_64+0x69/0xc0<br>[ =C2=
=A0484.572433] =C2=A0? __x64_sys_readlink+0x1e/0x30<br>[ =C2=A0484.572438] =
=C2=A0? do_syscall_64+0x69/0xc0<br>[ =C2=A0484.572442] =C2=A0? irqentry_exi=
t+0x19/0x30<br>[ =C2=A0484.572445] =C2=A0? exc_page_fault+0x89/0x160<br>[ =
=C2=A0484.572448] =C2=A0? asm_exc_page_fault+0x8/0x30<br>[ =C2=A0484.572452=
] =C2=A0entry_SYSCALL_64_after_hwframe+0x44/0xae<br>[ =C2=A0484.572457] RIP=
: 0033:0x7f511763eeae<br>[ =C2=A0484.572462] RSP: 002b:00007f51163782e8 EFL=
AGS: 00000246 ORIG_RAX: 00000000000000a5<br>[ =C2=A0484.572466] RAX: ffffff=
ffffffffda RBX: 0000000000000000 RCX: 00007f511763eeae<br>[ =C2=A0484.57246=
9] RDX: 00007f51080188e0 RSI: 00007f5108018960 RDI: 00007f5108018940<br>[ =
=C2=A0484.572472] RBP: 00007f5108018b50 R08: 00007f5108018d80 R09: 00000000=
00000001<br>[ =C2=A0484.572474] R10: 0000000000000006 R11: 0000000000000246=
 R12: 0000000000000000<br>[ =C2=A0484.572476] R13: 00007f51080188e0 R14: 00=
007f5108018940 R15: 00007f5108018b50<br>[ =C2=A0484.572481] =C2=A0&lt;/TASK=
&gt;<br>[ =C2=A0484.572526] INFO: task scsi_eh_2:1671 blocked for more than=
 241 seconds.<br>[ =C2=A0484.572529] =C2=A0 =C2=A0 =C2=A0 Not tainted 5.15.=
0-25-generic #25-Ubuntu<br>[ =C2=A0484.572531] &quot;echo 0 &gt; /proc/sys/=
kernel/hung_task_timeout_secs&quot; disables this message.<br>[ =C2=A0484.5=
72533] task:scsi_eh_2 =C2=A0 =C2=A0 =C2=A0 state:D stack: =C2=A0 =C2=A00 pi=
d: 1671 ppid: =C2=A0 =C2=A0 2 flags:0x00004000<br>[ =C2=A0484.572538] Call =
Trace:<br>[ =C2=A0484.572539] =C2=A0&lt;TASK&gt;<br>[ =C2=A0484.572541] =C2=
=A0__schedule+0x23d/0x590<br>[ =C2=A0484.572546] =C2=A0schedule+0x4e/0xb0<b=
r>[ =C2=A0484.572551] =C2=A0schedule_preempt_disabled+0xe/0x10<br>[ =C2=A04=
84.572556] =C2=A0__mutex_lock.constprop.0+0x263/0x490<br>[ =C2=A0484.572560=
] =C2=A0? update_load_avg+0x82/0x620<br>[ =C2=A0484.572565] =C2=A0__mutex_l=
ock_slowpath+0x13/0x20<br>[ =C2=A0484.572568] =C2=A0mutex_lock+0x34/0x40<br=
>[ =C2=A0484.572574] =C2=A0device_reset+0x22/0x50 [usb_storage]<br>[ =C2=A0=
484.572582] =C2=A0scsi_eh_bus_device_reset+0xee/0x2a0<br>[ =C2=A0484.572588=
] =C2=A0scsi_eh_ready_devs+0x67/0x240<br>[ =C2=A0484.572593] =C2=A0? finish=
_task_switch.isra.0+0xa6/0x270<br>[ =C2=A0484.572598] =C2=A0scsi_unjam_host=
+0x101/0x1c0<br>[ =C2=A0484.572603] =C2=A0? _raw_spin_unlock_irqrestore+0xe=
/0x30<br>[ =C2=A0484.572608] =C2=A0scsi_error_handler+0x139/0x180<br>[ =C2=
=A0484.572613] =C2=A0? scsi_unjam_host+0x1c0/0x1c0<br>[ =C2=A0484.572618] =
=C2=A0kthread+0x12a/0x150<br>[ =C2=A0484.572622] =C2=A0? set_kthread_struct=
+0x50/0x50<br>[ =C2=A0484.572626] =C2=A0ret_from_fork+0x22/0x30<br>[ =C2=A0=
484.572632] =C2=A0&lt;/TASK&gt;<br>[ =C2=A0484.572634] INFO: task usb-stora=
ge:1674 blocked for more than 241 seconds.<br>[ =C2=A0484.572636] =C2=A0 =
=C2=A0 =C2=A0 Not tainted 5.15.0-25-generic #25-Ubuntu<br>[ =C2=A0484.57263=
9] &quot;echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs&quot; disables=
 this message.<br>[ =C2=A0484.572641] task:usb-storage =C2=A0 =C2=A0 state:=
D stack: =C2=A0 =C2=A00 pid: 1674 ppid: =C2=A0 =C2=A0 2 flags:0x00004000<br=
>[ =C2=A0484.572644] Call Trace:<br>[ =C2=A0484.572646] =C2=A0&lt;TASK&gt;<=
br>[ =C2=A0484.572647] =C2=A0__schedule+0x23d/0x590<br>[ =C2=A0484.572653] =
=C2=A0schedule+0x4e/0xb0<br>[ =C2=A0484.572657] =C2=A0schedule_timeout+0xfb=
/0x140<br>[ =C2=A0484.572661] =C2=A0__wait_for_common+0xae/0x150<br>[ =C2=
=A0484.572666] =C2=A0? usleep_range_state+0x90/0x90<br>[ =C2=A0484.572670] =
=C2=A0wait_for_completion+0x24/0x30<br>[ =C2=A0484.572675] =C2=A0usb_sg_wai=
t+0xee/0x1b0<br>[ =C2=A0484.572680] =C2=A0usb_stor_bulk_transfer_sglist+0x8=
f/0xe0 [usb_storage]<br>[ =C2=A0484.572687] =C2=A0usb_stor_Bulk_transport+0=
x191/0x440 [usb_storage]<br>[ =C2=A0484.572694] =C2=A0usb_stor_invoke_trans=
port+0x3e/0x540 [usb_storage]<br>[ =C2=A0484.572701] =C2=A0? try_to_wake_up=
+0x1fc/0x5a0<br>[ =C2=A0484.572705] =C2=A0? __wait_for_common+0x11d/0x150<b=
r>[ =C2=A0484.572710] =C2=A0? usleep_range_state+0x90/0x90<br>[ =C2=A0484.5=
72714] =C2=A0usb_stor_transparent_scsi_command+0xe/0x10 [usb_storage]<br>[ =
=C2=A0484.572720] =C2=A0usb_stor_control_thread+0x198/0x290 [usb_storage]<b=
r>[ =C2=A0484.572728] =C2=A0? storage_probe+0xd0/0xd0 [usb_storage]<br>[ =
=C2=A0484.572734] =C2=A0kthread+0x12a/0x150<br>[ =C2=A0484.572738] =C2=A0? =
set_kthread_struct+0x50/0x50<br>[ =C2=A0484.572742] =C2=A0ret_from_fork+0x2=
2/0x30<br>[ =C2=A0484.572748] =C2=A0&lt;/TASK&gt;<br><div><br></div><div>Th=
anks</div><div>Sudheer</div></div>

--000000000000c5fabd05e67df247--


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 06:32:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 06:32:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389311.626121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOZ53-0002wx-LJ; Thu, 18 Aug 2022 06:32:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389311.626121; Thu, 18 Aug 2022 06:32:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOZ53-0002wq-IV; Thu, 18 Aug 2022 06:32:37 +0000
Received: by outflank-mailman (input) for mailman id 389311;
 Thu, 18 Aug 2022 06:32:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U+fg=YW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oOZ52-0002wk-5M
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 06:32:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b9fe87a-1ebf-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 08:32:35 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7AB2D38C96;
 Thu, 18 Aug 2022 06:32:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5CD0A133B5;
 Thu, 18 Aug 2022 06:32:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3HE5FQLd/WK8OQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 18 Aug 2022 06:32:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b9fe87a-1ebf-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660804354; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=vyh1q8XzVY1/9NXBPz6oiJ6wb/v8vq9JpYwS4/WeeI8=;
	b=G7d9GHKLf59VpzHk4Q/jQqu7aTHMx8663CmQuNamZzZKFxBdQGmMRXglYpWmGEysOPH2TE
	+qexeG/vh7LI7nYS9ljM40x8ZUVt3ZNjSzEeZARvMHnx1PdNNKZXZFCY8Af+SbcnFlc2+J
	rb+pffUKE7QQU7guL5oJz8SxxClspls=
Message-ID: <f2550c1c-b843-cd04-c3f8-91737cc192ff@suse.com>
Date: Thu, 18 Aug 2022 08:32:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: USB passthrough fails with 64GB drive but works fine with 8GB
 drive
Content-Language: en-US
To: A Sudheer <asr7247@gmail.com>, xen-devel@lists.xenproject.org
References: <CABg_PyJ5M4tXoT4OO6xKn8csWMiwpZKoQjtPaWykvV6_wP5Pow@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <CABg_PyJ5M4tXoT4OO6xKn8csWMiwpZKoQjtPaWykvV6_wP5Pow@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------m3BpMy5OxFd3UUd85TuW8B90"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------m3BpMy5OxFd3UUd85TuW8B90
Content-Type: multipart/mixed; boundary="------------PnHPFE1NeZ9AqY0EHE8e3y2G";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: A Sudheer <asr7247@gmail.com>, xen-devel@lists.xenproject.org
Message-ID: <f2550c1c-b843-cd04-c3f8-91737cc192ff@suse.com>
Subject: Re: USB passthrough fails with 64GB drive but works fine with 8GB
 drive
References: <CABg_PyJ5M4tXoT4OO6xKn8csWMiwpZKoQjtPaWykvV6_wP5Pow@mail.gmail.com>
In-Reply-To: <CABg_PyJ5M4tXoT4OO6xKn8csWMiwpZKoQjtPaWykvV6_wP5Pow@mail.gmail.com>

--------------PnHPFE1NeZ9AqY0EHE8e3y2G
Content-Type: multipart/mixed; boundary="------------oDKLh0QzfAROgqgofWuAg0GF"

--------------oDKLh0QzfAROgqgofWuAg0GF
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

W3JlbW92aW5nIHhlbi11c2VycyB0byBhdm9pZCBjcm9zc3Bvc3RpbmddDQoNCk9uIDE4LjA4
LjIyIDA4OjE4LCBBIFN1ZGhlZXIgd3JvdGU6DQo+IEhpIEFsbA0KPiANCj4gT24gWEVOLTQu
MTYgd2l0aCBVYnVudHUgMjIuMDQgRG9tMCBhbmQgSFZNLURvbVUsIEkgdHJpZWQgdG8gZG8g
YSBVU0IgbWFzcyANCj4gc3RvcmFnZSBkZXZpY2UgcGFzc3Rocm91Z2ggdG8gRG9tVS4NCj4g
SSBmb2xsb3dlZCB0aGUgUFZVU0IgbWV0aG9kIG1lbnRpb25lZCBpbiANCj4gaHR0cHM6Ly93
aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvWGVuX1VTQl9QYXNzdGhyb3VnaCANCj4gPGh0dHBz
Oi8vd2lraS54ZW5wcm9qZWN0Lm9yZy93aWtpL1hlbl9VU0JfUGFzc3Rocm91Z2g+Lg0KPiAN
Cj4gV2l0aCA4R0Igc2FuZGlzayBwZW4gZHJpdmUsIGkgYW0gYWJsZSB0byBkbyBVU0IgcGFz
c3Rocm91Z2ggdG8gRG9tVS4NCj4gQnV0IHdpdGggNjRHQiBzYW5kaXNrIHBlbmRyaXZlLCB0
aG91Z2ggYWJsZSB0byBtb3VudC91bW91bnQgaW4gRG9tMCwgbm90IGFibGUgdG8gDQo+IGRv
IHBhc3N0aHJvdWdoIHRvIERvbVUuDQo+IEkgc2VlIElPIGVycm9ycyBpbiBkbWVzZ8KgIHdo
ZW4gdHJpZWQgdG8gYWNjZXNzIHRoZSB1c2IgZGlzayBmb2xkZXIgaW4gRG9tVS4NCj4gQm90
aCA4R0IgYW5kIDY0R0IgZGlza3MgYXJlIDMuMkdlbjEuIChOb3QgdHJpZWQgd2l0aCAxNkdC
ICYgMzJHQiBkcml2ZXMpLg0KPiANCj4gRG9lcyBhbnlvbmUga25vdyB3aHkgNjRHQiB1c2Ig
ZGlzayBwYXNzdGhyb3VnaCBmYWlscyB3aXRoIHRoZSBiZWxvdyBlcnJvciA/DQo+IA0KPiBE
bWVzZyBFcnJvcjoNCj4gLS0tLS0tLS0tLS0tLS0tLS0NCj4gWyDCoDEyOC4zMzM0MDldIHVz
YiAyLTE6IHJlc2V0IGhpZ2gtc3BlZWQgVVNCIGRldmljZSBudW1iZXIgMiB1c2luZyBlaGNp
LXBjaQ0KPiBbIMKgMTI4LjUwMjg3Ml0gc2QgMjowOjA6MDogW3NkYV0gdGFnIzAgRkFJTEVE
IFJlc3VsdDogaG9zdGJ5dGU9RElEX0VSUk9SIA0KPiBkcml2ZXJieXRlPURSSVZFUl9PSyBj
bWRfYWdlPTBzDQo+IFsgwqAxMjguNTAyODgxXSBzZCAyOjA6MDowOiBbc2RhXSB0YWcjMCBD
REI6IFJlYWQoMTApIDI4IDAwIDAwIDAwIDdhIGI3IDAwIDAwIDNmIDAwDQo+IFsgwqAxMjgu
NTAyODgzXSBibGtfdXBkYXRlX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IHNkYSwgc2VjdG9y
IDMxNDE1IG9wIA0KPiAweDA6KFJFQUQpIGZsYWdzIDB4ODA3MDAgcGh5c19zZWcgNjMgcHJp
byBjbGFzcyAwDQoNCkRvIHlvdSBoYXZlIHRoZSByZWxhdGVkIHFlbXUgbG9nIGZyb20gZG9t
MD8gU2hvdWxkIGJlIHNvbWV0aGluZyBsaWtlDQovdmFyL2xvZy94ZW4vcWVtdS1kbS0qLmxv
Zw0KDQoNCkp1ZXJnZW4NCg==
--------------oDKLh0QzfAROgqgofWuAg0GF
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------oDKLh0QzfAROgqgofWuAg0GF--

--------------PnHPFE1NeZ9AqY0EHE8e3y2G--

--------------m3BpMy5OxFd3UUd85TuW8B90
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL93QEFAwAAAAAACgkQsN6d1ii/Ey84
kAf9HsyLo7vTzT6PVNWIWjXEILWz1UsVgS9VaFjTfCJirszi1TWFflry+zYaV8BDuXgQGBkpi6uI
3NGKKQBmzzndsUB+TSNRbUhPojqe+3NTsoqnXqdjeY669KkciQbYkskqXIwFN9Z5AYSA4QCtSrWp
Nq5N4DVA9TOM2GpQwmFhDCISNF05v8TpzjrsuprE/pwaF7TFn4hABo3yQgdoGhhNcMUixIsL6+xA
VRexRq5qpY8hHCUkm5QOREjM60+gMQRs/0QBvemoUSVM1bzcqPHqQsCcsSRIP5V8PUruRoEcvi6f
l6j/VtZmTSvnOd+fihtWADIq6AiVI6erqCK1IDqpVg==
=h/sf
-----END PGP SIGNATURE-----

--------------m3BpMy5OxFd3UUd85TuW8B90--


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 06:55:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 06:55:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389318.626136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOZR6-0005Oz-Gx; Thu, 18 Aug 2022 06:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389318.626136; Thu, 18 Aug 2022 06:55:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOZR6-0005Os-Du; Thu, 18 Aug 2022 06:55:24 +0000
Received: by outflank-mailman (input) for mailman id 389318;
 Thu, 18 Aug 2022 06:55:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOZR5-0005Og-3p; Thu, 18 Aug 2022 06:55:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOZR5-0000fo-1J; Thu, 18 Aug 2022 06:55:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOZR4-0003IC-Jv; Thu, 18 Aug 2022 06:55:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOZR4-0006NO-JR; Thu, 18 Aug 2022 06:55:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EqVAwc4D1D5Ggrn7Z9fn66IOTa6T7KFraF9rtvYPtq0=; b=NZRc2TmHmzJ+UMTIc5eh5NCIPQ
	PE11J4JCB10WzYJtr+oLPYaQp2gLtnLa5jwyuyccrcoozjB4EPmpEa2g9eiCi2y9pwVaobG7Ec4LJ
	cHvHmKQLPikDidFI6xv/uA+NDvECYJ+d8qf1TyEircmkU23ms5xreQk4o6nMgITqdo+Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172604-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172604: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0f2611c524385f7bffeee67635a488a5a29b6ba4
X-Osstest-Versions-That:
    xen=283abca2997141ea780fc86ca9524b1d837243d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 06:55:22 +0000

flight 172604 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172604/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172588
 build-i386-libvirt            6 libvirt-build                fail  like 172588
 build-arm64-libvirt           6 libvirt-build                fail  like 172588
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172588
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172588
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172588
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172588
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172588
 build-armhf-libvirt           6 libvirt-build                fail  like 172588
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172588
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172588
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172588
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172588
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  0f2611c524385f7bffeee67635a488a5a29b6ba4
baseline version:
 xen                  283abca2997141ea780fc86ca9524b1d837243d3

Last test of basis   172588  2022-08-17 02:28:43 Z    1 days
Testing same since   172604  2022-08-17 16:38:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   283abca299..0f2611c524  0f2611c524385f7bffeee67635a488a5a29b6ba4 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 07:02:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 07:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389327.626146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOZXl-0006yZ-Bj; Thu, 18 Aug 2022 07:02:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389327.626146; Thu, 18 Aug 2022 07:02:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOZXl-0006yS-8n; Thu, 18 Aug 2022 07:02:17 +0000
Received: by outflank-mailman (input) for mailman id 389327;
 Thu, 18 Aug 2022 07:02:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOZXk-0006yM-N0
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 07:02:16 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2082.outbound.protection.outlook.com [40.107.21.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0bf1d1a-1ec3-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 09:02:15 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7393.eurprd04.prod.outlook.com (2603:10a6:20b:1d2::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 07:02:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 07:02:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0bf1d1a-1ec3-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cE8MyhorDAUUPlPj21MKfWhjNKXBbKNIbfMf5DmSbjmWz4OkKT9uVwANThRJIU+xfOtJ/X0kbdTfFWvBXIibA5a6BMnqJoASPiwMSBei6uMIedfpsrA+dJbo+DdungXQVqVfq4JNhF9qoJbWZL/tf/9AZfS+0hSdHNYelqtsU46U3X345Ss2CN7JquOlzyR2Pokok4cNZOwCPAXaL7IQQpfDM9kGL6AYAn7Rwh7hxGrVyrgtOSbyg6I4sxIX6ZXuxg8bRRh46BysZW9fjKNHBV0jy2A2Qlysrpd9lCytnfpwKbqXTiQaEDUXjjiTRSXfoG7SH29V78cssqv5ied0Ww==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FrWE1RnCb0Dx7PR3hCHuJ5jBVxaFzwCovy+rvhDN4KI=;
 b=mkpbKBkxfu2slBEuVM58nRY3+rfxOggMNbXZjmdQ35U3kCP7RWsB80Ca149lHg0nRO70X2zxIYqQltQWDNJiYWkrKJwuXAHAwYGjvl9FPDPR5NRa16a8lB4dyNqoDHjcnY0QXiryWczsfsrWGuqPjN7XA+o7TgVA1tBn7nHviDYVq7K/+Su+1wXSiw/AzrHmJZTo7MT4rX+oyp3UlCuHpGOSQDPCL19+QxPjmplKfbYDgl917W7e1RK11IymCgjqgSAukGVGKrq6O65pSaRhAkHQF59cr9v6iy5MHrNSc+AJd1Q9eKzUMCcj+0lnUgkH9A4pbm8RHvccLeIziYHQfw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FrWE1RnCb0Dx7PR3hCHuJ5jBVxaFzwCovy+rvhDN4KI=;
 b=H0QWxqa8GIxXSGb2cexsk4Q0m+cIWjuT4857Oahl4PnGl7JXs8u54YIWPf0DZJk3OCENyGmzsXqVIgm9mp0Pt7zFWEREoUVIx9+Hbjk1oZbufbL4zpF6xeu4ae91umE/qhM06O07RKHEHHD/N+6WgwAanoLuT2JB2ORLemGZeSr5Pj7YhzZPB5Q1hb5CTYWNFvIQI+6nkSOcPaKKo6PC0PTjp6rtpKxGu/7JBeI7CmZiHgWEUT94q/auYzONz+aoIlW9fth4nBQapCmPR4Z6iMcVNL0yfRzxCrjRZCbya8Or2gsavsI6HwiMzCW9yYPyHbaBpSGmKdgwdRa9BYIq6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <499daffa-b1c6-3868-c164-65335963922c@suse.com>
Date: Thu, 18 Aug 2022 09:02:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] Use direct I/O for loop devices
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
References: <20220817204634.1886-1-demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220817204634.1886-1-demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS9PR04CA0050.eurprd04.prod.outlook.com
 (2603:10a6:20b:46a::35) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a886a51c-0c3d-44be-025c-08da80e79402
X-MS-TrafficTypeDiagnostic: AM8PR04MB7393:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xwERNfdHSxe3oTbFIa6lYVYkRGWh2RaE+Tt4ZvuV2YDqIzegPKthtRZPbeQYK0nEJtpz+VKN91JUtzVir6DAKJjXUpVO9PWshFk1q3wBPgKyX+vbwPIxWg2OGo4oBp588TE+j/aqwmdtmIr43HzKA+eM97gBG6Ij93h2MzkvZcvWQQ5ePsStqKhUxytN/h9IWV/Ms0R+igwMUJs6gxBoICOzuv7zvHw7CAG7tazKmHM86gI4JP7yhIQSvT04/Et89GF1/8xouBJAV66t1n2tY8+XdQPrKvLuyBzHVuWIXAaUgM7uCnOYljk0fsyYsB9/d5O6AodFximiTVHeP/h22EXFY2WPByi5KZefX1TJUtuM/0kKq/UM1drmOIo5pRFmHHNQfkTsOz5fn8j1LMWDVUj5mpWbUyaKzuRRSqXBOEddurwUbHF34qVTYZRJuAvUzXaobEeQghNSBdAnMqIwWahz6KNSQR1AdoutEG6IXqxS5SSgcX3szdk6FanM3Vq9H8U3mppnJyxpOt7aDwM95Udim2+7XEBuBzrQIWU2buoxGfIZDAlTSGHwV+dsKR+LtnJcOs2RZPooDcmkgbsLJpSDFM/MKrlpL4RDfMcsc62DxgTsy+OkUg6OWOJFVc4Sv7lWxonSNbXOKnCKAvcNmNysbwddo+a7pe4Z/OS0Uj+hari/rWG0U5amI+OTTeVi9tAhEpZreKOO7yb15u3MK42EAliuCeKi5MbXDf/Cx22fQ/4xHufKsE2Ix4SR98YlulHEqBEXFtzf1/9i+EEsH/g1iyi/LFPCXF2v05reudM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(396003)(39860400002)(346002)(376002)(31686004)(53546011)(38100700002)(2906002)(6506007)(41300700001)(26005)(83380400001)(2616005)(186003)(6512007)(36756003)(4326008)(86362001)(66946007)(8676002)(66556008)(31696002)(66476007)(6916009)(316002)(54906003)(8936002)(5660300002)(6486002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RVUvWFprQUJNUXlVY0RPemNsNkFIdXA1c3kxcDgxM2RNYnhSZ1JiZmZ1T3di?=
 =?utf-8?B?Z25aZWM0Q0F3UVBGaFpoc3dURUNVcVkweUpDbWpKRmEyU0FSWDZ1RFowWG84?=
 =?utf-8?B?RjBNMzIxaVNKYXRqc0NGUVJKcVVCMjhnVXNKOTJKNmZlZ2JZZWx0enVBaldz?=
 =?utf-8?B?RWVCMThYWUVwZVMxWjZ1MVpaVU45SHRkcDR2YW8rY2h1c3MvUnhwWXl1RElw?=
 =?utf-8?B?TDZ1Kzd0aW93ZVVzVnZnSDhPeWIxM2NDUVdwZVA2OE8razBqR3BaV1BSandC?=
 =?utf-8?B?YlJuYjdTUXVWUjFoTlkyL1BVTTNwKzg1TVErOHpnUUZYL2dGNjM5cjBRaExz?=
 =?utf-8?B?bkhHa296K2dvbkdIVVgrU2Y5RnMyYkQwWkJ2VGZOV01PK2hyMi8vY0NYT1ZU?=
 =?utf-8?B?WDI3RVZvTlZlRHVCRmRlSGcwMnlLZDdPcHZrMCtPVktGYXh3akpGZWZ3U3V6?=
 =?utf-8?B?M0tOVlgzSG4yT2VRNTU4bGw3WndRcUcweEdWbGZRbUNMMS9FUXhQN3hVQzdt?=
 =?utf-8?B?bE5hSlVKa3YrQW9jSUowRTJPdERQLzBIYTBvaDBaNU4zenNIUktpaksyc3pE?=
 =?utf-8?B?OVpmRkd6Y1BHQ3dRdStBRFAxWTVSWEx5ckZZU2piSnJ0ZGI5NGJhaWlIUGRB?=
 =?utf-8?B?Q2pUNHJNZGNsQm5IUll4S1poeUt2MWs2UkpxeWltajN0TC9IK25iNmVTOVZn?=
 =?utf-8?B?TWVNdXBkUDdVYmJWa01oM3dhOTV2dmtFeXB1Vm1VWnJQY3BXRlAzZUFEL1p0?=
 =?utf-8?B?aEFOWUNPQk1qQmpHNmNoR2FmWGxnSTU1Q2c1Y0FTQXN3Vmp2SjRSQ3YzK3ZX?=
 =?utf-8?B?MDBBSnhsbERGcGFjdzZob05MdzJXYm11TmxReEVwOXAySW1xOWlvMWpOUURK?=
 =?utf-8?B?M0JCWkRKTDE3bERmaVlvVlg2dFdybWlEVmd5TDBLYmpDcDNraXZab2JybUEw?=
 =?utf-8?B?NUxWSS8rWDZvMGNTeWdnbVBrd09FbjBvOG5sVjU4Y1dQRno0dUJIRmRnazNS?=
 =?utf-8?B?Y1VsM0szako5SWpDejMwUGF6MzYycTZtMTJkQ1Q0VHNmeTYrM3JXbkFIVFgw?=
 =?utf-8?B?amFRTVA3QVRudVdFZGpXc3VKMUFJRExhUmJ0bzRQVkhudGsvZHVjZkViY01u?=
 =?utf-8?B?a3VTS2VrcXFENlFWYzQvQnkzMVZoU3ZiNEZMU1duSjFDem9LNE51cW1scG0x?=
 =?utf-8?B?b0pVM0RqUjdPaGR6c0ZWQW9DRHNrSFlVM3ROTEJ6RHFlMFFqMjFaYTAvN0hB?=
 =?utf-8?B?TWJtbFJYZkNTcTRQRVRWUG9zdmE3dXVNZjZhaHRYYVBBYWQ5U1B6cVVFdXFM?=
 =?utf-8?B?aHZHekQyWXNwdlRwYVlTa2JCQzM0bUxWdERXT04xWmVQRUpUYXhGeXcvdjVU?=
 =?utf-8?B?dVIwVGM0NDExbEtqTkRwTy9OaFhNWjUrQlBKRmlnQVhMVE1kR1Fsem15dUdy?=
 =?utf-8?B?Z1Z6Qjd6QjJJOTlNUFUzT0xiSHI4WGxHMEVRU0RnVnVxU0NueGEwY1I4amtt?=
 =?utf-8?B?d3ZFUU1qdk9TYk5nSzBjNzZZZEpVRkdvanI3VjJ5cmIrN2RhYTBmVlJGdEll?=
 =?utf-8?B?aVhVbDRPeE1IMkFFNGJWNzF0eElDNnJ2ZTJxYTkySXlXeUJDWSs2ZzJSNXM3?=
 =?utf-8?B?RXZhU2hRTTYwVWRGSERQSUJMcGVpaDNhN3pNWG9HWEMwRFJNQ0Y0SHlDMUFR?=
 =?utf-8?B?S0xXK1RVTlpHdTlpSnFUMXdWQzhNOVc2YWdVMisvYzdRckdCMkRacncreElH?=
 =?utf-8?B?R2Vxb3JiSUxXQ29mS2g1VlQ0ejg1RWhVbWNQU0FFKzJ4V1FZNVorTFR5MnBr?=
 =?utf-8?B?cFFXcExmbTNrNGdLR1k0ZjhyV08rUW11OVRiSWRPRldtUmZqQ1hBZGpuaW1s?=
 =?utf-8?B?ZUpjaU1pelorOFZHTzRhRUVtY2QvWHJYUUpJK3NlME5XTXJSSXNkUldyM2V6?=
 =?utf-8?B?UlhSV3QraWIzVGcrck53dUFiV3FHeW8wb0hGZDVLLzgxVzRpYXBTRHlET1BD?=
 =?utf-8?B?bllnc2l1dmI1eE5PVXRwRVZaNVFqNjV1VzMwVWx4UlEzajVGMkVnRCtmNW02?=
 =?utf-8?B?UlNjR213SWsxa0d3ZVJYVC9GSnNsb29NUi8wRzEzSDREWFgyUmtwcUU0bkJZ?=
 =?utf-8?Q?zgnIIfdMJmRCz0XcTj5Vs+cLw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a886a51c-0c3d-44be-025c-08da80e79402
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 07:02:13.6556
 (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: lH/eiYL/LJvzjzC9fDV7IBBsuKTUAsn+LH99s9gK5RfWEKuPYnYIyEIvaux4IoqEMCs8dBzKGXLSusUJHxoJtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7393

On 17.08.2022 22:46, Demi Marie Obenour wrote:
> This is a huge performance improvement for two reasons:
> 
> 1. It uses the filesystemâ€™s asynchronous I/O support, rather than using
>    synchronous I/O.
> 2. It bypasses the page cache, removing a redundant layer of caching and
>    associated overhead.
> ---
>  tools/hotplug/Linux/block | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/hotplug/Linux/block b/tools/hotplug/Linux/block
> index 2691b56951c9b82094471a141b9e0bed04abb929..75785f3a5422c4a5f962a4cd4f6acae5080d036d 100644
> --- a/tools/hotplug/Linux/block
> +++ b/tools/hotplug/Linux/block
> @@ -330,7 +330,7 @@ mount it read-write in a guest domain."
>          else
>            roflag=''
>          fi
> -        do_or_die losetup $roflag "$loopdev" "$file"
> +        do_or_die losetup --direct-io=on $roflag "$loopdev" "$file"

I guess you want to first check (maybe in tools/configure) that losetup
actually supports that option. The old-ish one I'm looking at doesn't,
according to its --help output at least.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 07:34:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 07:34:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389340.626186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOa2n-000294-3f; Thu, 18 Aug 2022 07:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389340.626186; Thu, 18 Aug 2022 07:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOa2n-00028x-0Q; Thu, 18 Aug 2022 07:34:21 +0000
Received: by outflank-mailman (input) for mailman id 389340;
 Thu, 18 Aug 2022 07:34:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3bNE=YW=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oOa2l-00028p-VE
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 07:34:20 +0000
Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com
 [2607:f8b0:4864:20::1031])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ac06401-1ec8-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 09:34:18 +0200 (CEST)
Received: by mail-pj1-x1031.google.com with SMTP id pm17so900801pjb.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 00:34:18 -0700 (PDT)
Received: from leoy-yangtze.lan (173.242.127.92.16clouds.com. [173.242.127.92])
 by smtp.gmail.com with ESMTPSA id
 f17-20020a170902ce9100b00172913c0e44sm722613plg.28.2022.08.18.00.34.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 00:34:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ac06401-1ec8-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=bp7TPSBfYTwE/+GP2l5HZka91zj/Q9y/P/5H/7Xrd9w=;
        b=qgS4eXfGP5IsxAoTBNkWU9ZaugSQjmdVnPE3wH2WKk65K4qq2zCWUsDVGRSSFqnRUD
         jJAX0tlIjUWNPIAho7NrQ9G/QpVJxEE7QVPnRRNcDi9j4kWyUX7Z4rt/WLTPjsrZc77O
         bUVurWGXCI41kriNaFJ988o0rr9R5c2Z7JGlcU3rvIg0AwsXc5EnW5SCWtgNGwgbxrxc
         XhDC/4F7oLOyGz10InVU3i/41u+2MNJNisteM9imGJQW7oT8Cl2dENI+J2K32Ln4lVZi
         VGWCxA8Ay9DBvS3A51qJBKr4DJHyvASKfNwguedYsFWinRthq7U8PG6VHSEwFLDYfZG3
         qwQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=bp7TPSBfYTwE/+GP2l5HZka91zj/Q9y/P/5H/7Xrd9w=;
        b=xlSBTD3GJP0zpwUnRrMsBLzEwR5h+/uNr+W3wnLNUcFYBrRis4gWaO3qjMpcOmy1MA
         dNo36wTZfKzTEPwcVIANdOk/yE7ZiKJL1zI+fAc7NtLtuVSLgk1FpBqXVLrtBWX2ijQJ
         +8NdyJOG1KkdYdcEFXp1XHCKwEN6M55CRFBIGHjOtd7MByBoBLsr6+rzk9tZ2katCxa8
         73jVxUM1tzva5rpB/TAUwWukv30C7YMPuMAzXwM7/VKcQSH1pRarSjCaDqD25gUdxSL5
         Ocy0D3Zqb72fxRR6TqzqnvKY3KtlpAKLx6O/VsAOEVUkiYnp67t8XerNJWZ0/uYS9DE7
         PHQw==
X-Gm-Message-State: ACgBeo05ZfwUeFLMT/vvrLSEQU48euTekemAkjeLfwRrIKuQNXgUXYPk
	tHQUPdYbBahEr1Ba7zO3kLf4SQ==
X-Google-Smtp-Source: AA6agR46sZy8mZTwA35JUqovr2G0i8DhxuYxVWw/CzHH0koyhrDBwRv1ym1qgmIJl8hV93QsxfTxXg==
X-Received: by 2002:a17:90b:1c85:b0:1f1:d78a:512b with SMTP id oo5-20020a17090b1c8500b001f1d78a512bmr7481635pjb.92.1660808056904;
        Thu, 18 Aug 2022 00:34:16 -0700 (PDT)
Date: Thu, 18 Aug 2022 15:34:11 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuvel <ardb@kernel.org>, Marc Zyngier <maz@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>

On Wed, Aug 17, 2022 at 03:17:53PM +0200, Jan Beulich wrote:

[...]

> Please make sure you Cc all maintainers of all files that you touch.
> Albeit, see below, you could indeed have avoided Cc-ing me if you
> hadn't misplaced stuff in two of the headers that you fiddle with.

Sorry for this.  When I send a new patch in next time, I will use
./scripts/get_maintainer.pl to find out the maintainers.

> > --- a/xen/arch/arm/efi/efi-dom0.c
> > +++ b/xen/arch/arm/efi/efi-dom0.c
> > @@ -38,7 +38,7 @@ size_t __init estimate_efi_size(unsigned int mem_nr_banks)
> >  {
> >      size_t size;
> >      size_t est_size = sizeof(EFI_SYSTEM_TABLE);
> > -    size_t ect_size = sizeof(EFI_CONFIGURATION_TABLE);
> > +    size_t ect_size = sizeof(EFI_CONFIGURATION_TABLE) * 2;
> >      size_t emd_size = sizeof(EFI_MEMORY_DESCRIPTOR);
> >      size_t fw_vendor_size = sizeof(xen_efi_fw_vendor);
> >      unsigned int acpi_mem_nr_banks = 0;
> > @@ -63,7 +63,8 @@ void __init acpi_create_efi_system_table(struct domain *d,
> >  
> >      table_addr = d->arch.efi_acpi_gpa
> >                   + acpi_get_table_offset(tbl_add, TBL_EFIT);
> > -    table_size = sizeof(EFI_SYSTEM_TABLE) + sizeof(EFI_CONFIGURATION_TABLE)
> > +    table_size = sizeof(EFI_SYSTEM_TABLE)
> > +	         + sizeof(EFI_CONFIGURATION_TABLE) * 2
> >                   + sizeof(xen_efi_fw_vendor);
> 
> Nit: Indentation.

Will fix.

> > @@ -75,7 +76,7 @@ void __init acpi_create_efi_system_table(struct domain *d,
> >      efi_sys_tbl->Hdr.HeaderSize = table_size;
> >  
> >      efi_sys_tbl->FirmwareRevision = 1;
> > -    efi_sys_tbl->NumberOfTableEntries = 1;
> > +    efi_sys_tbl->NumberOfTableEntries = 2;
> 
> This is the 3rd magic "2" - I think there wants to be some consolidation,
> such that it becomes obvious which "2"-s really are the same (and would
> change together if, like you do here, another entry is needed).

I will define a macro for the number of configuration table and add
comment for it.

> > @@ -86,6 +87,18 @@ void __init acpi_create_efi_system_table(struct domain *d,
> >      efi_conf_tbl->VendorTable = (VOID *)tbl_add[TBL_RSDP].start;
> >      efi_sys_tbl->ConfigurationTable = (EFI_CONFIGURATION_TABLE *)(table_addr
> >                                                                    + offset);
> > +
> > +    /*
> > +     * Configuration table for MEMRESERVE is used in Linux kernel for
> > +     * reserving pages, its main purpose is used for kexec/kdump to
> > +     * reserve persistent pages (e.g. GIC pending pages) for the secondary
> > +     * kernel.
> > +     */
> > +    offset += sizeof(EFI_CONFIGURATION_TABLE);
> > +    efi_conf_tbl = (EFI_CONFIGURATION_TABLE *)(base_ptr + offset);
> > +    efi_conf_tbl->VendorGuid = (EFI_GUID)LINUX_EFI_MEMRESERVE_TABLE_GUID;
> > +    efi_conf_tbl->VendorTable = (VOID *)tbl_add[TBL_MRSV].start;
> > +
> >      xz_crc32_init();
> >      efi_sys_tbl->Hdr.CRC32 = xz_crc32((uint8_t *)efi_sys_tbl,
> >                                        efi_sys_tbl->Hdr.HeaderSize, 0);
> 
> Rather than adjusting offset and calculating efi_conf_table fdrom scratch,
> perhaps better simply efi_conf_table++? That way there would be one less
> cast, which are always somewhat risky.

Yeah, using "efi_conf_table++" is much better.  Will do.

> > --- a/xen/include/acpi/actbl.h
> > +++ b/xen/include/acpi/actbl.h
> > @@ -302,6 +302,23 @@ struct acpi_table_fadt {
> >  #define ACPI_FADT_HW_REDUCED        (1<<20)	/* 20: [V5] ACPI hardware is not implemented (ACPI 5.0) */
> >  #define ACPI_FADT_LOW_POWER_S0      (1<<21)	/* 21: [V5] S0 power savings are equal or better than S3 (ACPI 5.0) */
> >  
> > +/*******************************************************************************
> > + *
> > + * MEMRESERVE - Dummy entry for memory reserve configuration table
> > + *
> > + ******************************************************************************/
> > +
> > +struct acpi_table_memreserve {
> > +	int size;		/* allocated size of the array */
> > +	int count;		/* number of entries used */
> > +	u64 next;		/* pa of next struct instance */
> > +	struct {
> > +		u64 base;
> > +		u64 size;
> > +	} entry[];
> > +};
> 
> This header holds ACPI spec defined data structures. This one looks
> to be a Linux one, and hence shouldn't be defined here. You use it
> in a single CU only, so I see no reason to define it there.

Okay, I will define the structure in the arm specific file, e.g. I
move it to the file xen/arch/arm/acpi/domain_build.c.

> Furthermore - what if Linux decided to change their structure? Or
> is there a guarantee that they won't? Generally such structures
> belong in the public interface, guaranteeing forward compatibility
> even if Linux decided to change / extend theirs (at which point
> consuming code there would need to do translation, but maybe using
> a Xen-defined struct [plus translation in Linux] right away would
> be best).

I saw Ard has helped to answer this question in his email.  As Ard
said, the general way is to rely on Linux EFI stub to allocate the
data structure for MEMRESERVE configuration table.

Given Xen uses pseudo EFI booting (the ACPI table is passed via DT), in
short term I don't think Xen can support Linux EFI stub, so we need to
maintain this structure in Xen as well.

This structure eventually will not change frequently, so I assume
later we will have little effort for maintainence it.

> Finally, style-wise, please don't use u64 in new code anymore; we
> are trying hard to move over to standard uint<N>_t types. Plus,
> unless indeed mandated by Linux, please avoid signed types for
> fields (or variables) which can never go negative.

Sure, will follow this and update the data structure.

> > +
> > +
> >  /* Values for preferred_profile (Preferred Power Management Profiles) */
> 
> Please don't add double blank lines anywhere.

Will do.

> > --- a/xen/include/efi/efiapi.h
> > +++ b/xen/include/efi/efiapi.h
> > @@ -882,6 +882,8 @@ typedef struct _EFI_BOOT_SERVICES {
> >  #define SAL_SYSTEM_TABLE_GUID    \
> >      { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
> >  
> > +#define LINUX_EFI_MEMRESERVE_TABLE_GUID    \
> > +    { 0x888eb0c6, 0x8ede, 0x4ff5, {0xa8, 0xf0, 0x9a, 0xee, 0x5c, 0xb9, 0x77, 0xc2} }
> 
> This header holds EFI spec mandated definitions (generally taken
> from the gnu-efi project), when this one again looks to be a Linux
> one (and again looks to be used in only a single CU).

I will move this macro into the file xen/arch/arm/efi/efi-dom0.c, so
far only Arm64 platform uses it.

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 07:47:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 07:47:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389346.626197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOaFs-0003dT-7b; Thu, 18 Aug 2022 07:47:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389346.626197; Thu, 18 Aug 2022 07:47:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOaFs-0003dM-41; Thu, 18 Aug 2022 07:47:52 +0000
Received: by outflank-mailman (input) for mailman id 389346;
 Thu, 18 Aug 2022 07:47:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOaFq-0003dG-S9
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 07:47:50 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70073.outbound.protection.outlook.com [40.107.7.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e988456-1eca-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 09:47:49 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM5PR04MB3089.eurprd04.prod.outlook.com (2603:10a6:206:b::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 18 Aug
 2022 07:47:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 07:47:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e988456-1eca-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FNn5HKhrt5JVM7YYwa84HG9FdddMy/r2Oin5ptquwv8hdgoaq6riEdFV29mYzJl7IBXEQx/rfcCIrgF0KSrmS2zR8NRw+ewKE6c11yeDgzvLF+KCsnoduZLycLcxuv2xPc/duClQJx9wOmI8jNb/NrELzJkl49g+1CkFkD79E5srhvjLupsBs3hAr1SwPohizHbFe82FA5pN/dglPKjDlm2rVxdragMWyd3eqrNGitckL6BQxkE473uVW2RsE5lCKnd37rNtBQaN60Jz46WXhAFDHrhNhUJ/rgneZvp8Bq/0C6qKNipOAOg1IzEJCvbKz+HgE9FfS+2fYW2fRkcFgg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J0SyKFYYw8nQchJ4woRaOGSYS4C2uGr4MoMDxaLa5vE=;
 b=Sg5MfsWAKfkpPmlS/XudIgbgwrdA/0DdXtz5axrJodhIIVJkphgzHOzDjByn3friGh73t6qdyBMd8lW7TyTeUEQHjgkIde9fVOmec/yJ7WBCt09GFd/kM3y6cdN17Kz9LA/JeO6i/W8RusK5bh6cxhTL5Wn589JRptW4D6ubYa8RemmIPyQO7dtqDR2TJPPVOp9pDfrL9wjBrJGw155bO5BIuL5+P5+TIVVUhl4Nd6dkuAo4K725Qfh67XxAa6q+2frnI1MYC88DuDA6dSmWG4/+Ejfv/YNST+PTbnvKJLJPvryNy7tUxTOz8DXuN3FhW/1WpK2F3FXcgjYB6/AXvg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J0SyKFYYw8nQchJ4woRaOGSYS4C2uGr4MoMDxaLa5vE=;
 b=WfbaBEarx4xxMxQyca2I8S2a2vJJY3u2EfUmIFSuM/Bht8H+9De6I5otjSoN66doSyNnU7EyzXh5qNgIWFDJW7FZsT/rFSid9rOSARWUwQ644ClA4G/jCqXUZPS0vSeYb8sSfY6uH6nFHsbhSLA71dtOrc71X5wcAixfwfy4dSKWd4YjhsX0/JirOuV35ADVHQO6vStiBdm56Cyeq2BCuxHWviqlFTJs60VaNWlfdtT0TaTXp925PiarxrNL8N16U7pjG7fGi6380X7PY0EE5seus2h6IZfxLGfs6SEyWJU4aqB74ACceAUBWX/SYEh50joHK8V8LcIi2yHetisJWg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3d2fb83d-f75e-6c12-a48d-bfa175e6faef@suse.com>
Date: Thu, 18 Aug 2022 09:47:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Content-Language: en-US
To: Leo Yan <leo.yan@linaro.org>
Cc: Ard Biesheuvel <ardb@kernel.org>, Marc Zyngier <maz@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Peter Griffin <peter.griffin@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <jgrall@amazon.com>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0013.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 30ded84f-a384-4a6b-4f1a-08da80edf1a7
X-MS-TrafficTypeDiagnostic: AM5PR04MB3089:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	62wlHhLSZNYJHkUMtbjTX6ilEFxprtkVb5MtuFKN8UrUWIs1/MRv6dd5ZV3COl7a5Upid0E7MxE/vRKgkBij56KCxLHsX5XOze92RpKQAwpY1HQlLug1AEIGAwhV6ZvJW4u7g5CePpsUjAGJnYdnn4IVEHloMTe0R0Y5tK20qY/SmXtifnsk0gYc6hbGTpOa/CO7ijnjA+1apzn+1QDpHiM6/fht89vuTfPLlNbg0lVvszs7ZCVRZPoaJilxVdRSD69QsWAZDiPVrj0uLl/3VzBuJoJRsjIKkTNTY/O5j+6Ixg5noq/hueMRZxhGlL5RAjC+nc0sWbzRnyPgepsImfH9+3fs0wvTzpr0H7aUn/Syy61nzBRNgru8UeP191EWtmGYKPo1ztyXSiBVgv+zg1H9rlxpfFAepOVBTUJ0rHrp81r+ULZ12m+zIh7DUNUo1FQXtvNGRnJsQHvGtZEp2g4wKLnLrQM8i7m6g1BmZYnFwZqR/915o6ECRjwL2v+sfOo5XqA7VbTn80lpVioi+4mjwaStOnoB3lZEjfb3SfoaTsMDgzv46FfVPEYiSimZr37sRXbc4nCAz0MpcuCuqWAvjx5KxReF8qRgY811DTGsFs9OQvpJRdedIJ0JriFHQxsm3NNw/yQmbwc9m1aVe+uNlHgjI8yhLv3LiVMFncmcK6yk/kvrJjtGIgfUpE4IqLQdtQ2TJmwLGwzQSHSrif3pfyohpNto9O9xEH7LOVtD4TGRLzhl9K5Qj+x2xHBycZZw7fDOHOuk64dJZ8ww7f4mYR6VJHmA5yCHJKgJZKA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(39860400002)(396003)(376002)(136003)(346002)(66556008)(6916009)(86362001)(4326008)(66946007)(31686004)(8676002)(54906003)(31696002)(38100700002)(36756003)(66476007)(8936002)(6506007)(53546011)(6486002)(83380400001)(6512007)(316002)(478600001)(2616005)(2906002)(5660300002)(26005)(186003)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VU5YTFAyS1FVbitwclhTMGx5YlBQM2czdXFuQ2JYMzQxN3duSTRiZFJnSW0z?=
 =?utf-8?B?dlVtaHZPdXQzbDQ3Rm5pdkt4YnFBY2V4blJBZCt4OEtsYjNKc1JuMXRLUHcv?=
 =?utf-8?B?Q052bVZPTnlnS0NpQSsyNWhKNVlaNzVUL3hwbWxZMy9Vd0JuVjY2akhDV2V0?=
 =?utf-8?B?OTNBYm1oekZFcjR4TG5BZHFXZ3pScTAxdnM1M2dsdXVWbGlPRDVEdFlRYzV6?=
 =?utf-8?B?K0hOdVltYlplM0c2UUFlRVhOTVlLQ0huaktFSTEwK1VYUXhhRnFRSmhYZURY?=
 =?utf-8?B?aG05QlRjWDdpUWs4Ui94K1FSVy9sc09ZSklQZ0NvYkF2UUFVbVNZd0FpOVQv?=
 =?utf-8?B?ZHBWM0xxeVBCTlZzVUxSOWg2VmtrT0ExUkRUS1pkcTZ2Q092cVhIT0JmNzZO?=
 =?utf-8?B?anZwS3hlSnAwNlZaWUhQRkpwVHprWG1lR3R3UHcxLzA2emhGVmxTOEdNUjIy?=
 =?utf-8?B?VXViZzA0OVpRaytTSVlLblU1TE8rRHdTakd0cFNUWGg3MHFsNk0zQU96QW5N?=
 =?utf-8?B?VllMYlVoZHh6clcrVlUzWGtiT0x0YVM5LzRDaHN3dTJVbVViOWJyZTF4RmJU?=
 =?utf-8?B?S0ZrUC9FOTJOTjF1MmtqNDVBTkpsTWEvR0lkcWVscUtwNUtXRkkyWXA5V25u?=
 =?utf-8?B?a1hqdlZML2tKc1RoMm1yR0pnNUpoT1NpSHBsY3ZFT1VHRzRIZW9zbWFKYzRT?=
 =?utf-8?B?cXh3T3dPQ2RsWFdYMmljL1MvWWViOTNRUnZxQkZMd0hZNS9xSjkzRHRtZ0RH?=
 =?utf-8?B?Vk5QeDZIRm1EejhGZzVpblNWcEVRRG5ObWh4MVFTSTlxcFlTcGg4c0RJdTN4?=
 =?utf-8?B?cjlPWmQxc2JJRzBUZHRURFdaczFHcEtIN1VXVWZPaHc1RU1aaGpOSURsZUhp?=
 =?utf-8?B?QXhPQ1RmYTNoMU5BY1lJWGlXTUN6NGowTjlGbEUyK1JZblg1N0RDeURFcVpa?=
 =?utf-8?B?ZHhVb3hmejFmZE9YRGlQOHROcDEzZStlZ2dVOU5nSG9IM2ozZmdPVzZXWm1l?=
 =?utf-8?B?L0JXQmxFUVFaM25DWFMzZ3B4cHRJWjFleWVvTXNpcERRODZpT1BSUmFmMjFu?=
 =?utf-8?B?TVZqZHBRTTY2d3JzRHJ1L2ZIOGE1TlhIMkVMdmxDTDg1b2VyYWJIa0pmMUU4?=
 =?utf-8?B?TjRRUzA2MjRyeklyaXZTeTNFM3VJOXo1NjFvR2IycytTMmt5aUIreStWRDJp?=
 =?utf-8?B?OVpQbEdSMmVzeTZkRHAzSDJHeGo1RTZNZi9FMDk2Qkl0cGRLTGpxSUxvU09I?=
 =?utf-8?B?ajY4RjVjQVlHc0xycUlzQ2hyaVpvOHUvRStQTEY1aWpzZlFQYXk1T2llR09Y?=
 =?utf-8?B?eFZneGM4S1Q3RHFDakFUTy9BaUtSYUhLWmpNL1RDbnA5MlBqR0xRNDZPQmxy?=
 =?utf-8?B?ZUpGSC9obkFnSWIxNytERmt0TkhwMm1NS1UxOHh5Y1hxV0lvMERYdU9XVnhi?=
 =?utf-8?B?U2NTdGFFVGZBYjRXakt1b21yL0FnSFgvallFc2hPTklXWlhlQnQ1YkVDL0pp?=
 =?utf-8?B?NFpHWDFtL1dpM2g2TmZTWEV5RHQxNnJVRnhPQ2VTcWlMNkJBSWZzRGlybk5U?=
 =?utf-8?B?VkY0SEdDSUJMbHhTTk1KZUdWaExKalplN1VKc2pJVnJSWWxrQWtVMGZiZ2ZD?=
 =?utf-8?B?bGp3K003cGVVbk5XeVI0L0lOT01IcXV3a1VYeEZialh0NW5BbXNBd09pSUJm?=
 =?utf-8?B?MlFpdDhLQ1JIWXZlc1ppQlI4TVArSlJvUklmMHdnRDkvdjFpYVQ3ZENqWk5r?=
 =?utf-8?B?K05JUlZYd3NDNTU2S3Y3MzJqWm1YMWxlSkdOM3BjekFOSS9sNXU5K2RQaHRO?=
 =?utf-8?B?YWhOLzc1MTVLVVNkRFdNb2M5K1hxYjh6bUFpQXZaMUxPQkEzelFyM3JIWWZ3?=
 =?utf-8?B?cU1PTWQ2VUdXR3dsOXFEWTVwQ2NtS3RXM0hpWVFua2dXSTRyVlZlaE92cnoz?=
 =?utf-8?B?ZEZrSzluUlZLek1idWY1Smp3TUxBclVYQ3dpeFAwb2ZFTEU2RytjdC9yR2Ur?=
 =?utf-8?B?cUJac1VHa2VCNjJiREVnQlZQWEl2alo4MjlFQ3hGMnpNRnhzV3lyRFpmaDNj?=
 =?utf-8?B?L2NrdE53UExIbEdBazdVVmZsYVFWcGlEWmZ2UVNNYUxJd0Q2S0ZQNmZON01s?=
 =?utf-8?Q?qFhq9etI+tbWV8/YwKWXphJV/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30ded84f-a384-4a6b-4f1a-08da80edf1a7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 07:47:47.7474
 (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: 5A66dSQCdyBZrctWcf0/eSrF7YY7uj3JoEeilAkOIsNt1BnA9H+Ywa4YLi1WqprC/w8BX9jfctB8injpewkRlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB3089

On 18.08.2022 09:34, Leo Yan wrote:
> On Wed, Aug 17, 2022 at 03:17:53PM +0200, Jan Beulich wrote:
>> Furthermore - what if Linux decided to change their structure? Or
>> is there a guarantee that they won't? Generally such structures
>> belong in the public interface, guaranteeing forward compatibility
>> even if Linux decided to change / extend theirs (at which point
>> consuming code there would need to do translation, but maybe using
>> a Xen-defined struct [plus translation in Linux] right away would
>> be best).
> 
> I saw Ard has helped to answer this question in his email.  As Ard
> said, the general way is to rely on Linux EFI stub to allocate the
> data structure for MEMRESERVE configuration table.
> 
> Given Xen uses pseudo EFI booting (the ACPI table is passed via DT), in
> short term I don't think Xen can support Linux EFI stub, so we need to
> maintain this structure in Xen as well.
> 
> This structure eventually will not change frequently, so I assume
> later we will have little effort for maintainence it.

"Will not change frequently" isn't enough. Imo there needs to be a
public interface structure in Xen and translation code in Linux.
That's the only way the consuming code in Linux can remain (largely)
independent of changes to the structure in Linux (i.e. changes there
can be expected to be accompanied by updating of this code, perhaps
simply in order to keep things building).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 07:57:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 07:57:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389353.626208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOaP9-0005A3-5s; Thu, 18 Aug 2022 07:57:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389353.626208; Thu, 18 Aug 2022 07:57:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOaP9-00059w-2R; Thu, 18 Aug 2022 07:57:27 +0000
Received: by outflank-mailman (input) for mailman id 389353;
 Thu, 18 Aug 2022 07:57:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOaP7-00059p-ME
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 07:57:25 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOaP4-0001kA-Vb; Thu, 18 Aug 2022 07:57:22 +0000
Received: from [54.239.6.188] (helo=[192.168.18.101])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOaP4-00051X-Ny; Thu, 18 Aug 2022 07:57:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lcfGZRDFvfbTZ7AzGQohreX7bJMIJrH70wGRs/n+Ol8=; b=Is3/b0mLV+ObFw+S4BxEluonl2
	/ClUW2cPx8kHeI0jSm/cvPEDE9YIMaESmq7Hi/hQGKyKfuDTrgtLio+DMLa9A9ejnIIRBlcsSX8S2
	Fby5aIjEGO8IkUwl7/xbWVv5VQjCYJhZ5/4rz+bCJh2cWmAM1Rzx6JJjc89WK0NUyuUk=;
Message-ID: <5afa9c15-d7c5-2fb7-ed14-bd8839c4d42d@xen.org>
Date: Thu, 18 Aug 2022 08:57:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Content-Language: en-US
To: Leo Yan <leo.yan@linaro.org>, Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuvel <ardb@kernel.org>, Marc Zyngier <maz@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Peter Griffin <peter.griffin@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <jgrall@amazon.com>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
From: Julien Grall <julien@xen.org>
In-Reply-To: <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Leo,

On 18/08/2022 08:34, Leo Yan wrote:
> On Wed, Aug 17, 2022 at 03:17:53PM +0200, Jan Beulich wrote:
>> Furthermore - what if Linux decided to change their structure? Or
>> is there a guarantee that they won't? Generally such structures
>> belong in the public interface, guaranteeing forward compatibility
>> even if Linux decided to change / extend theirs (at which point
>> consuming code there would need to do translation, but maybe using
>> a Xen-defined struct [plus translation in Linux] right away would
>> be best).
> 
> I saw Ard has helped to answer this question in his email.  As Ard
> said, the general way is to rely on Linux EFI stub to allocate the
> data structure for MEMRESERVE configuration table.
> 
> Given Xen uses pseudo EFI booting (the ACPI table is passed via DT), in
> short term I don't think Xen can support Linux EFI stub,

I agree that using Linux EFI stub will require more effort. I would also 
need to go through the mailing list archives (or maybe Stefano 
remember?) to understand why we decided against using the EFI stub.

> so we need to
> maintain this structure in Xen as well.

I have looked at the commit message. IIUC, if this table is not created 
then Kexec will not work. Is there anything else that would not work?

IOW, would Linux be unusable if we don't create MEMRESERVE?

> 
> This structure eventually will not change frequently, so I assume
> later we will have little effort for maintainence it
The problem is not really "maintainance" here. It is more that if Linux 
is updating the structure in a non-backward compatible way, then new
version of Linux would not boot on older Xen.

We would have similar probable with new Xen booting older Xen because 
the hypervisor doesn't know (and should not need to know) which OS is used.

In the nutshells, Xen should only use stable interface. If MEMRESERVE is 
really necessary then we should either switch to the Linux EFI stub or 
standardize MEMRESERVE.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 08:29:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 08:29:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389365.626218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOatb-0000sr-1z; Thu, 18 Aug 2022 08:28:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389365.626218; Thu, 18 Aug 2022 08:28:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOata-0000sk-Vl; Thu, 18 Aug 2022 08:28:54 +0000
Received: by outflank-mailman (input) for mailman id 389365;
 Thu, 18 Aug 2022 08:28:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3bNE=YW=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oOatZ-0000sO-9l
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 08:28:53 +0000
Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com
 [2607:f8b0:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9abeff4-1ecf-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 10:28:51 +0200 (CEST)
Received: by mail-pf1-x434.google.com with SMTP id 130so875602pfv.13
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 01:28:51 -0700 (PDT)
Received: from leoy-yangtze.lan (173.242.127.92.16clouds.com. [173.242.127.92])
 by smtp.gmail.com with ESMTPSA id
 c17-20020a170903235100b001728d7c831asm784432plh.142.2022.08.18.01.28.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 01:28:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9abeff4-1ecf-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=MSNNFjr6HfudtMZawV8ViBRkxiE6doqA1QajmVEvoFs=;
        b=yk06vyd5A1hTSbqPTIKWnN1x6iR5l0wOwKbtG8O1w8r/6RvbWvZa3x0545rMgvKiuj
         xSGU3J+cvY8N0ygxAVys8fsKP7wuTIBtoFJ0eiZXaun9i7hte0BuNadth670LLd0623p
         xP7OQQAYMcwA0fPkjoG8GdP+gIJl+YFkeB6z5khJnvYYdq1LdFc6j/5qWB77L6CVgPFA
         9UPTTii8O5kzdTCx2DOpgfa9fF9W18qzLKm+ch4UYDKBIl+0rj8wskocKMUA04GQJUZs
         qJ6hZVVD/7mwOhFAf3jFbodlHtsCgsWgsan/mfOV+A7RlLPApjMn+3mgMcy2xTR2bD0q
         EzGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=MSNNFjr6HfudtMZawV8ViBRkxiE6doqA1QajmVEvoFs=;
        b=iG34rpeIa3BBFDdNuXeej4v53j2ucfXAVYpwmaYpsnzHP/wNC37wywHPq3Q0kMqJTT
         3crSXkMjrISS6y02qwegIqzJyjk2ID4PBbL8NFilOpQz6W/TT/lB4b7EeIynykln4MG7
         ptNSwdFs0QxTkcA65Eo4Km41qgEbrhnjrg5Geq/YRv4k1CJRvryBR4TUh8E1u8tkngql
         IoqKXvpMhMrMHSdL3HEwSs9iSEcDKQElG2qmR3DcMctTeu1tSjeCMPBfcRlHvZTfgYoz
         YUo6aGbQNpnkUzvMuR7rgzEMKRZLky2UF3l1YwWzuo6ZzjoczvamrZXlJ16HO4Jik6+P
         yYQg==
X-Gm-Message-State: ACgBeo2jaxowyzxCPhSMP+KIFmsxWZ+dKoMp/JIdiGK8+IqKFq69wNec
	K4ZD7Dvyr/vqmDQTDmTTGh3BcQ==
X-Google-Smtp-Source: AA6agR7h1P5TpfxUgR+s1Pc2Mr+CcpQAmpBWfo00UaWRHolzKCRO5t1OmrgH20aV47YdxbWXP1auoQ==
X-Received: by 2002:a63:2a49:0:b0:41d:95d8:3d3d with SMTP id q70-20020a632a49000000b0041d95d83d3dmr1667649pgq.43.1660811330203;
        Thu, 18 Aug 2022 01:28:50 -0700 (PDT)
Date: Thu, 18 Aug 2022 16:28:45 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>, Ard Biesheuvel <ardb@kernel.org>,
	Marc Zyngier <maz@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <Yv34PXr0+6eq00e6@leoy-yangtze.lan>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
 <5afa9c15-d7c5-2fb7-ed14-bd8839c4d42d@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5afa9c15-d7c5-2fb7-ed14-bd8839c4d42d@xen.org>

Hi Julien,

On Thu, Aug 18, 2022 at 08:57:20AM +0100, Julien Grall wrote:
> Hi Leo,
> 
> On 18/08/2022 08:34, Leo Yan wrote:
> > On Wed, Aug 17, 2022 at 03:17:53PM +0200, Jan Beulich wrote:
> > > Furthermore - what if Linux decided to change their structure? Or
> > > is there a guarantee that they won't? Generally such structures
> > > belong in the public interface, guaranteeing forward compatibility
> > > even if Linux decided to change / extend theirs (at which point
> > > consuming code there would need to do translation, but maybe using
> > > a Xen-defined struct [plus translation in Linux] right away would
> > > be best).
> > 
> > I saw Ard has helped to answer this question in his email.  As Ard
> > said, the general way is to rely on Linux EFI stub to allocate the
> > data structure for MEMRESERVE configuration table.
> > 
> > Given Xen uses pseudo EFI booting (the ACPI table is passed via DT), in
> > short term I don't think Xen can support Linux EFI stub,
> 
> I agree that using Linux EFI stub will require more effort. I would also
> need to go through the mailing list archives (or maybe Stefano remember?) to
> understand why we decided against using the EFI stub.

Yeah, seems to me using the EFI stub is the right thing to do.

I read Xen code and found Xen doesn't provide boot time callback, this
is the main reason blocked me to move forward to that way.

> > so we need to
> > maintain this structure in Xen as well.
> 
> I have looked at the commit message. IIUC, if this table is not created then
> Kexec will not work. Is there anything else that would not work?

No, AFAIK, kexec/kdump is the only customer to use the persistent
reserved memory in the Linux kernel.

I personally think this will pontentially impact other kernel
debugging modules, like ramoops, it also needs to use persistent
reserved memory when rebooting the kernel.  But now kernel code
doesn't add ramoops memory region into EFI MEMRESERVE table.

> IOW, would Linux be unusable if we don't create MEMRESERVE?

If we don't create EFI MEMRESERVE, kernel still can boot up
successfully, though it cannot add pages into the reserved memory
table and reports oops.

Without EFI MEMRESERVE, the reserved memory table cannot be passed from
the primary kernel to the secondary kernel, this is why it's important
for debugging tools.

> > This structure eventually will not change frequently, so I assume
> > later we will have little effort for maintainence it
>
> The problem is not really "maintainance" here. It is more that if Linux is
> updating the structure in a non-backward compatible way, then new
> version of Linux would not boot on older Xen.
> 
> We would have similar probable with new Xen booting older Xen because the
> hypervisor doesn't know (and should not need to know) which OS is used.

Fair point.

> In the nutshells, Xen should only use stable interface. If MEMRESERVE is
> really necessary then we should either switch to the Linux EFI stub or
> standardize MEMRESERVE.

Yeah, here I really need your (and other maintainers) opinions.  Seems
to me, support Linux EFI stub would be the best thing to do, to be
honest, this is a task which is out of my capability :)

Current approach in this patch is not perfect, it lets things to work.
So please let me know the conclusion from your side.

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 08:46:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 08:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389371.626229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObAl-0003F8-Fv; Thu, 18 Aug 2022 08:46:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389371.626229; Thu, 18 Aug 2022 08:46:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObAl-0003F1-DM; Thu, 18 Aug 2022 08:46:39 +0000
Received: by outflank-mailman (input) for mailman id 389371;
 Thu, 18 Aug 2022 08:46:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3bNE=YW=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oObAj-0003Ev-U6
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 08:46:38 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 440c82d5-1ed2-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 10:46:36 +0200 (CEST)
Received: by mail-pl1-x62e.google.com with SMTP id c2so978435plo.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 01:46:36 -0700 (PDT)
Received: from leoy-yangtze.lan (173.242.127.92.16clouds.com. [173.242.127.92])
 by smtp.gmail.com with ESMTPSA id
 l190-20020a6225c7000000b0052ceaba7411sm975228pfl.125.2022.08.18.01.46.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 01:46:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 440c82d5-1ed2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=D56CvDrJy2+LFqkdX541ahOhXvOP4rA+3zP0nFT6fC8=;
        b=LsuWBATNCVoOiBsLblHOjoOHs6OCtb+NSH1jdTuBiAsVqGteJbV8j/lT26KXQDH5Eg
         jD0XAFTGOdL5beHlGYGCKiLySA68shXsFZyYhWsihsLs2COo84Bsa/s6Egus+Sjr2rY/
         ZZJXVHKf51MkCq8Lc/xR/iZfOeAvvfWR2qSF0aYp0W0u5hB8bi7rUwX838L0GnOUaDlU
         oLIC101nw2ehUYsHhkmHRbfvq+VVhiuJ6tVDS4LUxvxpqToMJpxbjhaviI5XsURS/aeD
         mGG4rivGycWb6/Qz5jddapSHLIos4g7/xfhm8v8GnF2GJw/0pdTSPwe6zSbHth62tglY
         DDzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=D56CvDrJy2+LFqkdX541ahOhXvOP4rA+3zP0nFT6fC8=;
        b=sy27lnEvbTq8gwkZ2wrb2nhmy7a+Or+sPPf5B3xHa3SXPVb0hBOmSMfM91ykmKcp6W
         812tXfDVIm5vxQf/NwF9UEl9NG9E2ZdMF3Wwt7tZAHtE0umsbDVMeeB0TyL/9tXIZVZt
         MI/TJxroe9GcTuAm9KKqA4fDaEwgt1DQ+58jTxfpFgPSeqeR3Uap8T8h0YJ3aLyCN7dc
         Wy0RMhcb2l0oOjXSElI1BoLmeff7e/LL28GBrjnWLeXcudCbyVsGX/5gr4ta8CA0LvmJ
         zM9J5GkpZVV34DtRJA89gG01LnVC8FauRMMeeJqFU7sD7He6xXP4QXuShn6hnLSNiSNb
         XSpw==
X-Gm-Message-State: ACgBeo3FwhyXZDofD3wW1ZcWj2upSSbBrf5EM6qPsCXxW5nI4J2Neiv1
	KG+LLT35ixNo5R1MR/0uPFDkEw==
X-Google-Smtp-Source: AA6agR4nxUdDHodS2+TcY0qmwYpMORSJYD+5jLGD8RySt1NA82Bf8sF2eC9tkPMpwSzcd98HiIathA==
X-Received: by 2002:a17:902:7e45:b0:172:8c47:ff2e with SMTP id a5-20020a1709027e4500b001728c47ff2emr1759489pln.24.1660812394578;
        Thu, 18 Aug 2022 01:46:34 -0700 (PDT)
Date: Thu, 18 Aug 2022 16:46:29 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuvel <ardb@kernel.org>, Marc Zyngier <maz@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <Yv38Zdxy8qGY/hpF@leoy-yangtze.lan>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
 <3d2fb83d-f75e-6c12-a48d-bfa175e6faef@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3d2fb83d-f75e-6c12-a48d-bfa175e6faef@suse.com>

Hi Jan,

On Thu, Aug 18, 2022 at 09:47:46AM +0200, Jan Beulich wrote:
> On 18.08.2022 09:34, Leo Yan wrote:
> > On Wed, Aug 17, 2022 at 03:17:53PM +0200, Jan Beulich wrote:
> >> Furthermore - what if Linux decided to change their structure? Or
> >> is there a guarantee that they won't? Generally such structures
> >> belong in the public interface, guaranteeing forward compatibility
> >> even if Linux decided to change / extend theirs (at which point
> >> consuming code there would need to do translation, but maybe using
> >> a Xen-defined struct [plus translation in Linux] right away would
> >> be best).
> > 
> > I saw Ard has helped to answer this question in his email.  As Ard
> > said, the general way is to rely on Linux EFI stub to allocate the
> > data structure for MEMRESERVE configuration table.
> > 
> > Given Xen uses pseudo EFI booting (the ACPI table is passed via DT), in
> > short term I don't think Xen can support Linux EFI stub, so we need to
> > maintain this structure in Xen as well.
> > 
> > This structure eventually will not change frequently, so I assume
> > later we will have little effort for maintainence it.
> 
> "Will not change frequently" isn't enough. Imo there needs to be a
> public interface structure in Xen and translation code in Linux.
> That's the only way the consuming code in Linux can remain (largely)
> independent of changes to the structure in Linux (i.e. changes there
> can be expected to be accompanied by updating of this code, perhaps
> simply in order to keep things building).

Yes, actually Xen doesn't care about the structure definition for
linux_efi_memreserve, it just allocates the table and finally used by
Linux kernel.  So another way is we can simply allocate a bigger
memory region (e.g. 64 bytes), which is sufficient than kernel's
structure linux_efi_memreserve size (only 16 bytes), then we can
initilize it as all zeros, and this can be helpful if later kernel
extend the data structure.

But this method is a bit arbitrary, this is why I did't write like this.
As Julien said, I think the critical thing is to make a call to support
EFI stub or not.  If rollback to use current method, then I am happy to
refine the patch with above idea.

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 08:52:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 08:52:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389377.626241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObG8-0004fU-4l; Thu, 18 Aug 2022 08:52:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389377.626241; Thu, 18 Aug 2022 08:52:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObG8-0004fN-0t; Thu, 18 Aug 2022 08:52:12 +0000
Received: by outflank-mailman (input) for mailman id 389377;
 Thu, 18 Aug 2022 08:52:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oObG6-0004fH-BP
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 08:52:10 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00066.outbound.protection.outlook.com [40.107.0.66])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ad7d78d-1ed3-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 10:52:09 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7487.eurprd04.prod.outlook.com (2603:10a6:800:1a2::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 18 Aug
 2022 08:52:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 08:52:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ad7d78d-1ed3-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IJEN6HjgDFvWNM4PkL4jslkD1SLeA/dtAhZbkp/JOuVpSITQbOh+GlytHQAd/Nk+rG0HoVCmSATgWOnkMl5iAfmGCNkK8Re2biZkAYFHaH2HKlLb0sidin41Ljli54ZM13XHwGjkWWoEPTkT/xU5rSf1ozt8gbrIEe4qqwYkL4oxekFv5DFE2dZItySmJbY4h0kX903GfgphxeYBHw3YeID0sfiKaF7jDOYO8MA1PNr3+ojPPDb8Kkv/8APeVE2ZoHW6j/BAWQ7b6XIpOKWvDnlRe/BsqlrWOqqEHas0fOGGOJ05uQS5ZLRsKRvekibfAhvrLUAqivO9HvSGJKFbgw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rBBgTfeIwaWlegm8J0ysD718Rr60FxDmu1Ck+c27wcY=;
 b=bUM16LjqvdY4w1qqGXP+UAn6cU17b0QctrTI+j0ULVX/R0q/3eWU6ckqyPKZbl7j1sSXseLPds5aXcfHFDZQteBBVjdkdmlOeIrxX6Q+yvzrFc98GFjkqHg6jf1hunEha6qV/289y84zj8hnZu8OVtMrX/mW3YBRyOK10A6eQnS23RHSxg8LeWGXHdnTcbsMXuZqah9SNAcU1w7z+/isqwX67K/TxdONHKH3xuieFwl4DegVcuoorn7OJvCeL8GS+D12C3RpCbIpo277MbyM89JeEZOjtCfoBPJzywjvRTt81zVjdj+hrGvKRY3AZ8Rx2ZxSDfKFYjZkXhmKjc8z3A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rBBgTfeIwaWlegm8J0ysD718Rr60FxDmu1Ck+c27wcY=;
 b=icVYuq5CGHMVEKD1ivld9uOpz3z07ZCnr8aEc962eY3V5xq4Gdg26l6v+3xYS+xmI1AwNLcA2BQT3EC7pMVdBKNckCWjVeLjHG5hJ1RKBx9DAOf5NEiHDpKwzy75Ly2o0N9SMpu8oLYD8myGyQFI1uEvOQyp+6DAFxz+bn+iVBvV39A8DGk8/dJ7m+h8wmw2noPheWTTlzqnS6DiWrFQNEv+wgyCS9germ44xgb6DZQzA1u8RpzWMHjN4joV4QCteLHSX1tjRiac39QAYCqQ/gOxFM2EnpTocRhpHkY5Ejo7FC2ucOjtGmuQPEjuE1Q1hndmZFPsfj6aKvAbG2Otag==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b5c21aaf-2946-feb9-2702-31c1a84a6539@suse.com>
Date: Thu, 18 Aug 2022 10:52:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Content-Language: en-US
To: Leo Yan <leo.yan@linaro.org>
Cc: Ard Biesheuvel <ardb@kernel.org>, Marc Zyngier <maz@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Peter Griffin <peter.griffin@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <jgrall@amazon.com>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
 <3d2fb83d-f75e-6c12-a48d-bfa175e6faef@suse.com>
 <Yv38Zdxy8qGY/hpF@leoy-yangtze.lan>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yv38Zdxy8qGY/hpF@leoy-yangtze.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0042.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5cb0e9e8-624b-4ffc-7fed-08da80f6edd1
X-MS-TrafficTypeDiagnostic: VE1PR04MB7487:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L7fk3hNTxyM/4RG8FbljCWNt/aw4OrCc4Vg/0UJfgs6Mw+bohk0/LQbTNIUhHfSgkowM4ZlppNNqTgiNxk2qNakvlW2f4i930pS3e7n/Buu7mazdkd5N8lUBNndFW7FF+hbovp75IpfAtX2/STbiv2+sbIQZgd69xiRvMK+cUlWG3NKNcunuZAV2fSLIuejCDb5QsF45DVprzF5tQwY2Z8dyBjnghztAEPX6aZ8D7TRywl9BGhCJYbUn9hh1PXQW8upyWe0jh7v+LOL7qMh0dX9t+3zdBa8d5F6TRhUBB6spVheDWk3oEnNZ75zKNMxu5p3z7p5HvmGW3tPLNnJc9Zn2NnF4r3sSEyu8h6of6BTeZ0gX/FGiEImFKIQ3w+I+OgArGg6/Kjxq8hrNbWOvfC9PXx7ifoIU7t64HGGW7kydq/w2dJsLS5st/jjD6jOF7JhJ+9y+Elsw2wedgAEtTR6yzxfmUHAswnE1sT04FzQk7d8bXHvu7d8LhytOC54O+Y6Av0LV/265gD/UxXK+i7KUIpV70xChjsPbCv3GRD0puZCZV43cbX6dMFMsK698XYYeOqewTLqN43C2akaaVpq4zIJwd0aeQpf0yHFCI9BdzB277gD0zAvW8hmKeCGVAXqeUxLuauKvaZncDEBdzeAXkiEVrQuhT9MLQa63Ovk1PMyWSaBSBxWbqfLDt9LjoVYCEyb61ZrEkTIQqfu6K8Z5Zn/iZIc75vsI8v+QS1OhhY+yeFIKCNIZtyjeHxldabmh/ZtS9M6GKrRu6pYbGIZBQFW0zNIZf4lYhYek0Jg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(366004)(39860400002)(396003)(136003)(6506007)(6512007)(41300700001)(2616005)(53546011)(26005)(86362001)(31696002)(478600001)(83380400001)(6486002)(31686004)(36756003)(186003)(66476007)(8936002)(66556008)(54906003)(316002)(66946007)(4326008)(8676002)(2906002)(5660300002)(38100700002)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ly9hSEJuREg1V2JiQ2VVdXBZbkpGdmowa3U4cnlsY1JVNUhRY2pxOTJGYUpS?=
 =?utf-8?B?UFRBbm5pcnkwOXdvNkswWEpGc21raE1KOThBQ00xN2c3MDFGVE9SOWVIVDRW?=
 =?utf-8?B?RU9jNERBYjR5TzlYYi9mQlVGNmVRcnQ4b0M1bVJDWENBYWdYdjNoTWtVNkZ0?=
 =?utf-8?B?bXZxMFFLd1EzYkNycG8wWUwxdktzTzJ1Z283c3l3Q2NMelJiazdlU0I1K1dQ?=
 =?utf-8?B?blBSTjEwbVFTbGhWb2RKRldCVjJGcjJPUWN2TlN6ajV0SlJ2Y2M5UFBOWjEz?=
 =?utf-8?B?RG13MjQwNGpKdTF6TXltL3BzSWNQU3BYekxpTWQ5L29PZGplVzB1R1M4UUhz?=
 =?utf-8?B?K1RiMEx2dE9mQW01cDRvQXRHM1llMGkraWNGaktHRjZncG1PMzBZR1pnVTM3?=
 =?utf-8?B?dG9OYXIvVEU0U2hlS0ZxYzRyblA3RkoremJsUHZuMDR5OU5ZMU5SZjVwYnhM?=
 =?utf-8?B?QmpqNHc1QTN0K0VhRnFzL1grMTVKd0RQUlJJWVV3M1pFTVA1UzdVN0VTdlpT?=
 =?utf-8?B?RGhZQi95dm9LQXM0VU1FN0VMd0JjUTE3ODNhSE0xK1lWM1Y4SVdoQXJzaGxD?=
 =?utf-8?B?Z0hkQXRVVi85YUozSGprY0pmOWUzTWZueHFwNGhrbUcyMURaODZaK1RFZmQy?=
 =?utf-8?B?aWtkajdCMEgvOHMyZ2hHL3ZtWlRNd0pUaDFkVGJaVmR1d0hsRHdaWWc4d0Rt?=
 =?utf-8?B?Zi84WWxhV2Z6YlYrRlNJVzVkK3orN0JiZDE2V1pRcWFMdzlmRFZLRm5YdlVa?=
 =?utf-8?B?VEpKWjhFNU5ZUXBVTG9SLzI5YWhRRlV4emhHTHRRNVZkcjN0UksrdHlXVXJD?=
 =?utf-8?B?T2xDMENoNXZuMFJQbWQwYWFoY2pDSm0zbWdaNy8xQ05SNGtHUzhwWGlyK3lw?=
 =?utf-8?B?bWY1NUVWNmM4T3JTYUpUYkR1NXpmaTdHTTNIdGVvdDdSc3FZMTdRZnZiSEpN?=
 =?utf-8?B?b3RyemFnSTAxdkFnalB0d0E5WVVEUU1hODVYbG95THdzcDBnZE0wK2JZd2VQ?=
 =?utf-8?B?bVIrRjZnSGZqRkNwVytSOW5PS1F0R1RhdU00VjlOaDJVVXhJUFNyK3VlcTlD?=
 =?utf-8?B?emNHZUlKbGNta3pHUW9VaEhVWGx4YXpHSEF6Ymc1aGhiZE91RmRVT0FNWExG?=
 =?utf-8?B?dzBhMlpkSTRRUHdlUWR5WWN2bGloZm9iQ2lKaHUxSkhRcnJXeHoyd081b3Zw?=
 =?utf-8?B?aDIydWVaOW8rcHVYY1pOWmNDRnh1TG52S3hEaHFxdWtYOVJuTnY1NmdrRjNT?=
 =?utf-8?B?V2lVTG5ybDhwYmRCTGI1L2FOR2k3VFg0TEJvNk9EMXoxV21mQW1hWkNDK0c0?=
 =?utf-8?B?dlUyNENMeU5rVU5RUE1jUkZFU0MweXNWOWtjcCtvY0EyLzNLZ0tQY0RnQ0pH?=
 =?utf-8?B?NkVFd0tnbi9ZdmRGaGJwRkkwUWU0akNSVUFDL2lzSk1vclovM2Jqb3NGWnd4?=
 =?utf-8?B?Qms0RjZsWTBmb0QwU1owdWZIUElWblArZXlZbjNoQzdWQm0yTVd0b3lxMnVv?=
 =?utf-8?B?ZEY0dC9PTGVSeTUzT2ZPMGZLNGFyekVuQ2ltSzZXT05ubTZNOXk1WHBLSGsw?=
 =?utf-8?B?d0JSU3ZkT2VzWTNZekRKMER4bmFhOTI1T0d6Z0hSSlRzMmc4Y1FNczdlNExK?=
 =?utf-8?B?dnVBRkxBQ1huVEhxUFNsZWtKTlNFU0dhMEswNk9xWGxZNUFMZDZTOWp6M2Vr?=
 =?utf-8?B?Y0c0Q01XRVZxcVRUQVAybysvb0cwU3ZXTjhVT0orWjI5amZKQ2tOdSt0emhO?=
 =?utf-8?B?dzBmUGN0ZE1hWW9wcDh1SkZNL0gwSlZRNkd3aHdYVWFKbGFXMCtjZnUvZWRH?=
 =?utf-8?B?MURQZU1xNnk3R2xRTTNROUVnMkRNVjhNNmNBR014U2F6MmlCUGlxMnpLK2Rl?=
 =?utf-8?B?WFB1c3BuTUlrQ3RacWZPQWUrRVFHSXN1ekRiT2Z1WmpSelZMM1laUFhudW5J?=
 =?utf-8?B?U0VodkRLdlMrckhmZ0hCc1ZzZzMrRksrTDFWYU9RaitUYklGRDUySEdwaHhD?=
 =?utf-8?B?Y3hXTTRNdEZYTGVWTWZ2SlBmVlhrM3l1bk5LdFJXMm41cEFnN0Evd3l2KzZs?=
 =?utf-8?B?OXhtcW1DcW1NbndVQWloZmVHRGora2VPTDlKNGUxN3FKa2hyMGhBbHFrVVIz?=
 =?utf-8?Q?FmTzEK3x5i68GXNf7oOCe365s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cb0e9e8-624b-4ffc-7fed-08da80f6edd1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 08:52:06.7524
 (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: ZzsiJfmws1F81DNhLG7NlW/fXM1jQsz0A3921G1okr5U2lv6uT2NKZs3PR9Umxhg6cyG8jT86cCFUeDJ/dLvsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7487

On 18.08.2022 10:46, Leo Yan wrote:
> On Thu, Aug 18, 2022 at 09:47:46AM +0200, Jan Beulich wrote:
>> On 18.08.2022 09:34, Leo Yan wrote:
>>> On Wed, Aug 17, 2022 at 03:17:53PM +0200, Jan Beulich wrote:
>>>> Furthermore - what if Linux decided to change their structure? Or
>>>> is there a guarantee that they won't? Generally such structures
>>>> belong in the public interface, guaranteeing forward compatibility
>>>> even if Linux decided to change / extend theirs (at which point
>>>> consuming code there would need to do translation, but maybe using
>>>> a Xen-defined struct [plus translation in Linux] right away would
>>>> be best).
>>>
>>> I saw Ard has helped to answer this question in his email.  As Ard
>>> said, the general way is to rely on Linux EFI stub to allocate the
>>> data structure for MEMRESERVE configuration table.
>>>
>>> Given Xen uses pseudo EFI booting (the ACPI table is passed via DT), in
>>> short term I don't think Xen can support Linux EFI stub, so we need to
>>> maintain this structure in Xen as well.
>>>
>>> This structure eventually will not change frequently, so I assume
>>> later we will have little effort for maintainence it.
>>
>> "Will not change frequently" isn't enough. Imo there needs to be a
>> public interface structure in Xen and translation code in Linux.
>> That's the only way the consuming code in Linux can remain (largely)
>> independent of changes to the structure in Linux (i.e. changes there
>> can be expected to be accompanied by updating of this code, perhaps
>> simply in order to keep things building).
> 
> Yes, actually Xen doesn't care about the structure definition for
> linux_efi_memreserve, it just allocates the table and finally used by
> Linux kernel.  So another way is we can simply allocate a bigger
> memory region (e.g. 64 bytes), which is sufficient than kernel's
> structure linux_efi_memreserve size (only 16 bytes), then we can
> initilize it as all zeros, and this can be helpful if later kernel
> extend the data structure.

Well, no, that's not how one would define a structure which can, in
a backwards compatible manner, be extended down the road.

> But this method is a bit arbitrary, this is why I did't write like this.
> As Julien said, I think the critical thing is to make a call to support
> EFI stub or not.

I don't see how this can be a reasonable option - we'd have to re-
implement an almost complete EFI (to cover everything one can do
via boot or runtime services). But I'm not an Arm maintainer, so my
view here is at best advisory.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 08:56:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 08:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389384.626252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObKU-0005Mu-Pl; Thu, 18 Aug 2022 08:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389384.626252; Thu, 18 Aug 2022 08:56:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObKU-0005Mn-M8; Thu, 18 Aug 2022 08:56:42 +0000
Received: by outflank-mailman (input) for mailman id 389384;
 Thu, 18 Aug 2022 08:56:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oObKT-0005Md-AQ; Thu, 18 Aug 2022 08:56:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oObKT-0003Vb-81; Thu, 18 Aug 2022 08:56:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oObKS-0003AJ-Ko; Thu, 18 Aug 2022 08:56:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oObKS-0000Vv-KJ; Thu, 18 Aug 2022 08:56:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZMqeFq33P1pKkYwHHvasHUv+n+HmVK8H6Z644gyq9lM=; b=hVIlgoFTrgy/7CLMTn2sIfWbYY
	IhpmkMhb9fZa0G3/tBHjO8h5a2IEXx8oPfpFYvMjEM4WcFO3rsU9xQ3dxwwYqtmyQQ4eJR5ooY3MY
	tyRAKtDqBdK9kE6uTKlrRI2F/2CFNKLkYEj0d4IfpyhHiJjVkyxR4xrr4lnluy5rPaMY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172618-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172618: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=64a20bea97e6a19651e639a9c24e5f4e37b70f81
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 08:56:40 +0000

flight 172618 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172618/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 64a20bea97e6a19651e639a9c24e5f4e37b70f81
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   14 days
Failing since        172151  2022-08-05 02:40:28 Z   13 days  115 attempts
Testing same since   172595  2022-08-17 09:11:46 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 735 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 09:15:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 09:15:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389392.626263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObcp-0007qL-CA; Thu, 18 Aug 2022 09:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389392.626263; Thu, 18 Aug 2022 09:15:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObcp-0007qE-8x; Thu, 18 Aug 2022 09:15:39 +0000
Received: by outflank-mailman (input) for mailman id 389392;
 Thu, 18 Aug 2022 09:15:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3bNE=YW=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oObcn-0007q8-Ux
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 09:15:37 +0000
Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com
 [2607:f8b0:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5165c99f-1ed6-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 11:15:36 +0200 (CEST)
Received: by mail-pf1-x434.google.com with SMTP id y141so981945pfb.7
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 02:15:36 -0700 (PDT)
Received: from leoy-yangtze.lan (173.242.127.92.16clouds.com. [173.242.127.92])
 by smtp.gmail.com with ESMTPSA id
 q31-20020a635c1f000000b00421841943dfsm873330pgb.12.2022.08.18.02.15.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 02:15:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5165c99f-1ed6-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=GVou49FDj6vD1P3Fi05uvLeNrotFy4YJ5rOUt4aaVf0=;
        b=u/BIEJHurcBq8SUCgn0Vwdppuf3/MEQPMBKS2o4rKwnhhqB2ak1wB4cehxieEl7Vui
         BmOMIuGH6wOi58hco2HhzUg1XRyTIKh+nrOwQsTkyQBheGUwwbNrf1Lu2xVeC6NNMI3H
         IVnI7Rq2IwgWUa0MMP4FAGOzK9S5DpGLlVr8oqwU9xOuHmHeE+YQCAQPN+lXmCMlgUwm
         SS1xe6YBrmKsfEYlnxUKNCcJZI7G75HfRhOnRo0RVRXE0/21V0XsDt/mG8Plknm79fkX
         JQ6lhgDmVaMrPo6vFiguOg2jUwfKKCuSsbEFyTVj9IOF354YFdNnbjM83ob+hSK41d+9
         NkXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=GVou49FDj6vD1P3Fi05uvLeNrotFy4YJ5rOUt4aaVf0=;
        b=LptzVF5J/lsVfXkRr3rqMvZh6L+HTw1MblV7pM0BDU/y4NRM4ZiSgqy6H7vqIqf5X3
         DxPRHIj24UlDiIuxrNyJbepvMwXkrlwnS0UTQzN2LLLzvFJs35QNaORni5oDmP91dxh/
         VSiaKuTrrL+uGM9eIlNbCk2GHhAsZOn8IteBIUrRvA/9MLXhDiKWSpDZBzh6mXX83jZC
         A/71w/+dzWIuG6wCA5nKNUy+oEHdQzodMf9g0iSV+pH4rz5aKR04YeppbeFSOZpoP3jj
         TnhK91QXesVL2cWl9MZ6xmNydCrJKMQ8GzztjNo2z7hvaIAeo0rJw8VTQicVq6o2N25o
         qz5w==
X-Gm-Message-State: ACgBeo1+H6u1UtHlDYuiSu5bOY1Ja2j6CHIRzdwuV7TATlohZdPWPr/1
	e8TUQuaFfs3LnyQLkgDRFSeH/Q==
X-Google-Smtp-Source: AA6agR7YR8VeNsEUMotK1pyTRd3Rt25iZTobBQ1cfWbaG1+VDjEP5eW+woXrdXcsCBTY12Or5QB9IQ==
X-Received: by 2002:a05:6a00:8cb:b0:52c:6962:2782 with SMTP id s11-20020a056a0008cb00b0052c69622782mr2103153pfu.81.1660814134944;
        Thu, 18 Aug 2022 02:15:34 -0700 (PDT)
Date: Thu, 18 Aug 2022 17:15:30 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, Marc Zyngier <maz@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>

Hi Ard,

On Wed, Aug 17, 2022 at 03:49:32PM +0200, Ard Biesheuvel wrote:

[...]

> > This header holds ACPI spec defined data structures. This one looks
> > to be a Linux one, and hence shouldn't be defined here. You use it
> > in a single CU only, so I see no reason to define it there.
> >
> > Furthermore - what if Linux decided to change their structure? Or
> > is there a guarantee that they won't?
> 
> No, there is not. The memreserve table is an internal interface
> between the EFI stub loader and the Linux kernel proper.
> 
> As I have argued many times before, booting the arm64 kernel in
> EFI/ACPI mode without going through the EFI stub violates the ACPI
> spec, and relies on interfaces that were not intended for public
> consumption.

Let me ask a question but sorry it might be off topic.

In the Linux kernel function:

  static int gic_reserve_range(phys_addr_t addr, unsigned long size)
  {
          if (efi_enabled(EFI_CONFIG_TABLES))
                  return efi_mem_reserve_persistent(addr, size);
  
          return 0;
  }

We can see it will reserve persistent memory region for GIC pending
pages, so my question is if a platform is booting with DT binding
rather than ACPI table, how the primary kernel can reserve the pages
and pass the info to the secondary kernel?

Seems it's broken for kdump/kexec if kernel boots with using DT?

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 09:19:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 09:19:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389398.626273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObgt-0008Ub-SK; Thu, 18 Aug 2022 09:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389398.626273; Thu, 18 Aug 2022 09:19:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObgt-0008UU-Po; Thu, 18 Aug 2022 09:19:51 +0000
Received: by outflank-mailman (input) for mailman id 389398;
 Thu, 18 Aug 2022 09:19:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=E7Ox=YW=gmail.com=asr7247@srs-se1.protection.inumbo.net>)
 id 1oObgs-0008UO-5B
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 09:19:50 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e86cf372-1ed6-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 11:19:49 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id uj29so2197115ejc.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 02:19:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e86cf372-1ed6-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=0VMHRDxh41DodWKlfsNd/uNxqqwjHqDDSqrlGHuWWgg=;
        b=WyzSVoDbl4i/eCf2v4h4L1vtjVs91mCj717+iFEMjkVvjPcIlLlngtu46u2JWLru1I
         6yg4nyVh7NzXd5SZTIi8UX62l3JawvNiv4ZTMb/SVhQgHDnxgB3iRgeMq4NNXDgxRu6k
         GspheHKocFoEW+k8EjeUE+EX2mH/R6kcIm9PLOa3zosMyGgj79GehmKdOU7SkgJx1E2f
         RizF6xh4W3xJdXtiwvV+SJ3QK+tWEm07t334pUNVXrspBtQ6I/xxb9fojy5qbd7qBnml
         oLfhc4uQX1wG80OEdXvxPwav6HrWLbs94dAvvo3whFiWek5FmbR04xhiwVAC2N7U36Wd
         VQBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=0VMHRDxh41DodWKlfsNd/uNxqqwjHqDDSqrlGHuWWgg=;
        b=PVnH/X7e7t982p/GyJ3/wBDR2HpOEWAX7moy9MhlrtskKfS8mjJcSY5g9qa0TqEU5N
         wzvwpzSL8/iWtXTdG23ZqPTz8HnIwG/PhqLCg5Iz+dGdxSL3u1WihkuOaqXR4OgQymcm
         y1CUTL8ryp7fXz6D3seM0DOClX7X2efwpiHLul7FYl2Juc5CYWJ/hCwGKeWvw4j+EM94
         Xi5eFs81cleXBmzv2vK6+3/2xblXLfImmfKBrVhAiKl4L8+JdtLGdSpoxS0RfnusJn/K
         kHUZcKyHazZQmof+AjZp4gYZsaSfpeLC+QY7JtHlUmFmaQiwZaxBGX0+tSB6Dh+yi3gq
         0TNA==
X-Gm-Message-State: ACgBeo24eax0Hi+rdc7TF0frLgi/ZQVms6rzyFA96f2t9FwnwORHhgQL
	OLnxqtgzX2ZlBMdp2z04msCKaQBQVxGVkPC2XjrLiLvMjGE=
X-Google-Smtp-Source: AA6agR5Vig59QQWoccyQ5KpvlNY6M8CYOWjIKAdd8BnbSmTeibOM/G4nfED6YJREcvjrhBfw8AVKtT+JvCrqvJUV7BQ=
X-Received: by 2002:a17:906:9b16:b0:730:d5f4:d46e with SMTP id
 eo22-20020a1709069b1600b00730d5f4d46emr1331618ejc.701.1660814388496; Thu, 18
 Aug 2022 02:19:48 -0700 (PDT)
MIME-Version: 1.0
References: <CABg_PyJ5M4tXoT4OO6xKn8csWMiwpZKoQjtPaWykvV6_wP5Pow@mail.gmail.com>
 <f2550c1c-b843-cd04-c3f8-91737cc192ff@suse.com>
In-Reply-To: <f2550c1c-b843-cd04-c3f8-91737cc192ff@suse.com>
From: A Sudheer <asr7247@gmail.com>
Date: Thu, 18 Aug 2022 14:49:36 +0530
Message-ID: <CABg_PyL3eaeWAvS_pJaE9vUrbWPC=SkQBj4q4z37EqCPQM9YpQ@mail.gmail.com>
Subject: Re: USB passthrough fails with 64GB drive but works fine with 8GB drive
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="000000000000aa42ee05e6807ba8"

--000000000000aa42ee05e6807ba8
Content-Type: multipart/alternative; boundary="000000000000aa42ec05e6807ba6"

--000000000000aa42ec05e6807ba6
Content-Type: text/plain; charset="UTF-8"

Hi Juergen,

Attached the qemu-dm-VM3.log .
No errors are reported here.
With 64GB drive  in DomU, both "lsusb" and "lsblk" commands   lists the USB
drive but dmesg shows I/O error.

Thanks
Sudheer


On Thu, Aug 18, 2022 at 12:02 PM Juergen Gross <jgross@suse.com> wrote:

> [removing xen-users to avoid crossposting]
>
> On 18.08.22 08:18, A Sudheer wrote:
> > Hi All
> >
> > On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB
> mass
> > storage device passthrough to DomU.
> > I followed the PVUSB method mentioned in
> > https://wiki.xenproject.org/wiki/Xen_USB_Passthrough
> > <https://wiki.xenproject.org/wiki/Xen_USB_Passthrough>.
> >
> > With 8GB sandisk pen drive, i am able to do USB passthrough to DomU.
> > But with 64GB sandisk pendrive, though able to mount/umount in Dom0, not
> able to
> > do passthrough to DomU.
> > I see IO errors in dmesg  when tried to access the usb disk folder in
> DomU.
> > Both 8GB and 64GB disks are 3.2Gen1. (Not tried with 16GB & 32GB drives).
> >
> > Does anyone know why 64GB usb disk passthrough fails with the below
> error ?
> >
> > Dmesg Error:
> > -----------------
> > [  128.333409] usb 2-1: reset high-speed USB device number 2 using
> ehci-pci
> > [  128.502872] sd 2:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR
> > driverbyte=DRIVER_OK cmd_age=0s
> > [  128.502881] sd 2:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 7a b7
> 00 00 3f 00
> > [  128.502883] blk_update_request: I/O error, dev sda, sector 31415 op
> > 0x0:(READ) flags 0x80700 phys_seg 63 prio class 0
>
> Do you have the related qemu log from dom0? Should be something like
> /var/log/xen/qemu-dm-*.log
>
>
> Juergen
>

--000000000000aa42ec05e6807ba6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Juergen,<div><br></div><div>Attached the qemu-dm-VM3.lo=
g .</div><div>No errors are reported here.</div><div>With 64GB drive=C2=A0 =
in DomU, both &quot;lsusb&quot; and &quot;lsblk&quot; commands=C2=A0 =C2=A0=
lists the USB drive but dmesg shows I/O error.=C2=A0</div><div><br></div><d=
iv>Thanks</div><div>Sudheer</div><div><br></div></div><br><div class=3D"gma=
il_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Aug 18, 2022 at 12:=
02 PM Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com">jgross@suse.com<=
/a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[=
removing xen-users to avoid crossposting]<br>
<br>
On 18.08.22 08:18, A Sudheer wrote:<br>
&gt; Hi All<br>
&gt; <br>
&gt; On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB m=
ass <br>
&gt; storage device passthrough to DomU.<br>
&gt; I followed the PVUSB method mentioned in <br>
&gt; <a href=3D"https://wiki.xenproject.org/wiki/Xen_USB_Passthrough" rel=
=3D"noreferrer" target=3D"_blank">https://wiki.xenproject.org/wiki/Xen_USB_=
Passthrough</a> <br>
&gt; &lt;<a href=3D"https://wiki.xenproject.org/wiki/Xen_USB_Passthrough" r=
el=3D"noreferrer" target=3D"_blank">https://wiki.xenproject.org/wiki/Xen_US=
B_Passthrough</a>&gt;.<br>
&gt; <br>
&gt; With 8GB sandisk pen drive, i am able to do USB passthrough to DomU.<b=
r>
&gt; But with 64GB sandisk pendrive, though able to mount/umount in Dom0, n=
ot able to <br>
&gt; do passthrough to DomU.<br>
&gt; I see IO errors in dmesg=C2=A0 when tried to access the usb disk folde=
r in DomU.<br>
&gt; Both 8GB and 64GB disks are 3.2Gen1. (Not tried with 16GB &amp; 32GB d=
rives).<br>
&gt; <br>
&gt; Does anyone know why 64GB usb disk passthrough fails with the below er=
ror ?<br>
&gt; <br>
&gt; Dmesg Error:<br>
&gt; -----------------<br>
&gt; [ =C2=A0128.333409] usb 2-1: reset high-speed USB device number 2 usin=
g ehci-pci<br>
&gt; [ =C2=A0128.502872] sd 2:0:0:0: [sda] tag#0 FAILED Result: hostbyte=3D=
DID_ERROR <br>
&gt; driverbyte=3DDRIVER_OK cmd_age=3D0s<br>
&gt; [ =C2=A0128.502881] sd 2:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 =
7a b7 00 00 3f 00<br>
&gt; [ =C2=A0128.502883] blk_update_request: I/O error, dev sda, sector 314=
15 op <br>
&gt; 0x0:(READ) flags 0x80700 phys_seg 63 prio class 0<br>
<br>
Do you have the related qemu log from dom0? Should be something like<br>
/var/log/xen/qemu-dm-*.log<br>
<br>
<br>
Juergen<br>
</blockquote></div>

--000000000000aa42ec05e6807ba6--
--000000000000aa42ee05e6807ba8
Content-Type: application/octet-stream; name="qemu-dm-VM3.log"
Content-Disposition: attachment; filename="qemu-dm-VM3.log"
Content-Transfer-Encoding: base64
Content-ID: <f_l6ytpj080>
X-Attachment-Id: f_l6ytpj080

Vk5DIHNlcnZlciBydW5uaW5nIG9uIDEyNy4wLjAuMTo1OTAwCmdsX3ZlcnNpb24gNDYgLSBjb3Jl
IHByb2ZpbGUgZW5hYmxlZApHTFNMIGZlYXR1cmUgbGV2ZWwgNDYwCnFlbXUtc3lzdGVtLWkzODY6
IHRlcm1pbmF0aW5nIG9uIHNpZ25hbCAxIGZyb20gcGlkIDMyNTIgKHhsKQo=
--000000000000aa42ee05e6807ba8--


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 09:34:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 09:34:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389404.626285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObui-0002Oc-50; Thu, 18 Aug 2022 09:34:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389404.626285; Thu, 18 Aug 2022 09:34:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oObui-0002OV-1M; Thu, 18 Aug 2022 09:34:08 +0000
Received: by outflank-mailman (input) for mailman id 389404;
 Thu, 18 Aug 2022 09:34:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+/fD=YW=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1oObug-0002OP-QM
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 09:34:06 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6a65f80-1ed8-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 11:34:05 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id B6244B82131
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 09:34:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67B43C433C1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 09:34:03 +0000 (UTC)
Received: by mail-wm1-f41.google.com with SMTP id
 k18-20020a05600c0b5200b003a5dab49d0bso617570wmr.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 02:34:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6a65f80-1ed8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660815243;
	bh=czFwYtQsnSqmMpfqZFNWWQoY309RHWBFWcKUw6sHvgE=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=tUzGMwfRX2aYI2/ZIpab52tik7ECl1Wq3V03akxFYI029k6gukrTdoSxbDvt9VtG4
	 yKJMWmuehKPwexCly71omnBiTFP4zwi3xL+KGYcsygt+Vr8E57EZ+uqDeH743Jph2X
	 Q0Z1vdj9E3PWFezkgPnMn8FH+1qKCIB5CkpFeQW4v96VwFm4g7viGLnAWtKDvoE4nf
	 kwiiAKYjRAg2zWN0aungS66A/wV5DnhWVteKFz6OaZ4OjqitavAqTTBq+EYLkFmGlx
	 kI4Yy1FcfPsFnrXxiHy3wGtElRNzEYI/xIlCrlaLomOvJGhpWyS8+hdf9NW6VEGqKe
	 cOFN+IFd5S2ZQ==
X-Gm-Message-State: ACgBeo0qaw/JWvcuwQzc2k2Tpp6m608GyvUaCLViK4J7dWD+xtTQI2M4
	ZavGLk92t6DEdnGBGPZYYJ2meMH+Cg6PdTAC4h4=
X-Google-Smtp-Source: AA6agR7hmo4sRbY2ji12PLCUd9rmlvulyDkIBMzU4hp2UVvPl2KWOuL65a5T9PGD1Jr9G1T12QcANZQxUfKr64XTMNo=
X-Received: by 2002:a1c:a3c4:0:b0:3a5:512f:717a with SMTP id
 m187-20020a1ca3c4000000b003a5512f717amr4528691wme.192.1660815241639; Thu, 18
 Aug 2022 02:34:01 -0700 (PDT)
MIME-Version: 1.0
References: <20220817105720.111618-1-leo.yan@linaro.org> <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com> <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
In-Reply-To: <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Thu, 18 Aug 2022 11:33:50 +0200
X-Gmail-Original-Message-ID: <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
Message-ID: <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
To: Leo Yan <leo.yan@linaro.org>
Cc: Jan Beulich <jbeulich@suse.com>, Marc Zyngier <maz@kernel.org>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Rahul Singh <Rahul.Singh@arm.com>, 
	Peter Griffin <peter.griffin@linaro.org>, xen-devel <xen-devel@lists.xenproject.org>, 
	Julien Grall <jgrall@amazon.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, 18 Aug 2022 at 11:15, Leo Yan <leo.yan@linaro.org> wrote:
>
> Hi Ard,
>
> On Wed, Aug 17, 2022 at 03:49:32PM +0200, Ard Biesheuvel wrote:
>
> [...]
>
> > > This header holds ACPI spec defined data structures. This one looks
> > > to be a Linux one, and hence shouldn't be defined here. You use it
> > > in a single CU only, so I see no reason to define it there.
> > >
> > > Furthermore - what if Linux decided to change their structure? Or
> > > is there a guarantee that they won't?
> >
> > No, there is not. The memreserve table is an internal interface
> > between the EFI stub loader and the Linux kernel proper.
> >
> > As I have argued many times before, booting the arm64 kernel in
> > EFI/ACPI mode without going through the EFI stub violates the ACPI
> > spec, and relies on interfaces that were not intended for public
> > consumption.
>
> Let me ask a question but sorry it might be off topic.
>
> In the Linux kernel function:
>
>   static int gic_reserve_range(phys_addr_t addr, unsigned long size)
>   {
>           if (efi_enabled(EFI_CONFIG_TABLES))
>                   return efi_mem_reserve_persistent(addr, size);
>
>           return 0;
>   }
>
> We can see it will reserve persistent memory region for GIC pending
> pages, so my question is if a platform is booting with DT binding
> rather than ACPI table, how the primary kernel can reserve the pages
> and pass the info to the secondary kernel?
>
> Seems it's broken for kdump/kexec if kernel boots with using DT?
>

EFI supports both DT and ACPI boot, but only ACPI *requires* EFI.

So DT boot on hardware with affected GICv3 implementations works fine
with kdump/kexec as long as EFI is being used. Using non-EFI boot and
kexec on such systems will likely result in a splat on the second
kernel, unless there is another mechanism being used to reserve the
memory in DT as well.

Maybe we should wire up the EFI_PARAVIRT flag for Xen dom0 on arm64,
so that we can filter out the call above. That would mean that
Xen/arm64/dom0/kexec on affected hardware would result in a splat in
the second kernel as well, but whether that matters depends on your
support scope.


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 09:40:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 09:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389410.626296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOc0Z-0003pb-Qg; Thu, 18 Aug 2022 09:40:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389410.626296; Thu, 18 Aug 2022 09:40:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOc0Z-0003pU-Ms; Thu, 18 Aug 2022 09:40:11 +0000
Received: by outflank-mailman (input) for mailman id 389410;
 Thu, 18 Aug 2022 09:40:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zQ+s=YW=kernel.org=maz@srs-se1.protection.inumbo.net>)
 id 1oOc0X-0003pO-Ol
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 09:40:09 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf621e66-1ed9-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 11:40:08 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id CF914B8102F;
 Thu, 18 Aug 2022 09:40:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67CA5C433D6;
 Thu, 18 Aug 2022 09:40:06 +0000 (UTC)
Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org)
 by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95)
 (envelope-from <maz@kernel.org>) id 1oOc0S-003xEK-66;
 Thu, 18 Aug 2022 10:40:04 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf621e66-1ed9-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660815606;
	bh=ai7BSOjpcpre9tGP0w1yVZgucAkj3DS4uxlAm2blW3k=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=QJ9u6akj8unTH1uyQF5yePFroQxCSr1Kh104rNxBgFXSlMXvOjVDY2VsmMXcAoiQF
	 I5ArzuxqJ4wGzKPTOg0TAgh/DfuezhyaIrS7knKf5C74b/4XNtDC092J85VKyaYJ/B
	 dXuipFdvFYpV4QL/HzoyC/pLyqQ2HB+q4uWsfENzqC0RhNa4rcvBNky+huMV4SzAe9
	 KVNJm82byHlUwn8SyT1fXwRmV+t+NfLLG5HeqqhvFZSv81V0O8yhPoR71s/E8UiPI4
	 9YRzwE+WSrM9PupksMbn2xRAYu+EoSIjBJDWnwXwMsMU0sqgXLzyStXKtYYwnzqFmA
	 8QrrxMfxFa8yQ==
Date: Thu, 18 Aug 2022 10:40:03 +0100
Message-ID: <87o7whx53g.wl-maz@kernel.org>
From: Marc Zyngier <maz@kernel.org>
To: Leo Yan <leo.yan@linaro.org>
Cc: Ard Biesheuvel <ardb@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
In-Reply-To: <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
References: <20220817105720.111618-1-leo.yan@linaro.org>
	<fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
	<CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
	<Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue)
 FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1
 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII
X-SA-Exim-Connect-IP: 185.219.108.64
X-SA-Exim-Rcpt-To: leo.yan@linaro.org, ardb@kernel.org, jbeulich@suse.com, Bertrand.Marquis@arm.com, Rahul.Singh@arm.com, peter.griffin@linaro.org, xen-devel@lists.xenproject.org, jgrall@amazon.com
X-SA-Exim-Mail-From: maz@kernel.org
X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false

On Thu, 18 Aug 2022 10:15:30 +0100,
Leo Yan <leo.yan@linaro.org> wrote:
> 
> Hi Ard,
> 
> On Wed, Aug 17, 2022 at 03:49:32PM +0200, Ard Biesheuvel wrote:
> 
> [...]
> 
> > > This header holds ACPI spec defined data structures. This one looks
> > > to be a Linux one, and hence shouldn't be defined here. You use it
> > > in a single CU only, so I see no reason to define it there.
> > >
> > > Furthermore - what if Linux decided to change their structure? Or
> > > is there a guarantee that they won't?
> > 
> > No, there is not. The memreserve table is an internal interface
> > between the EFI stub loader and the Linux kernel proper.
> > 
> > As I have argued many times before, booting the arm64 kernel in
> > EFI/ACPI mode without going through the EFI stub violates the ACPI
> > spec, and relies on interfaces that were not intended for public
> > consumption.
> 
> Let me ask a question but sorry it might be off topic.
> 
> In the Linux kernel function:
> 
>   static int gic_reserve_range(phys_addr_t addr, unsigned long size)
>   {
>           if (efi_enabled(EFI_CONFIG_TABLES))
>                   return efi_mem_reserve_persistent(addr, size);
>   
>           return 0;
>   }
> 
> We can see it will reserve persistent memory region for GIC pending
> pages, so my question is if a platform is booting with DT binding
> rather than ACPI table, how the primary kernel can reserve the pages
> and pass the info to the secondary kernel?

This is a false dichotomy. DT and UEFI are not exclusive, far from
it. That's actually how most non-ACPI systems boot these days, and
they are able to use kexec out of the box, using the EFI MEMRESERVE
internal API.

The real difference is between UEFI and non-UEFI. If you're allergic
to it, you have two options:

- you delegate the redistributor configuration to your bootloader,
  mark the corresponding memory as reserved in the DT from the
  bootloader, and you're done. A bunch of embedded systems do that,
  and are able to kexec.

- you keep configuring the RDs from Linux, but you must then mark the
  regions as reserved in the DT that is passed to the secondary
  kernel. It requires some cooperation from the kexec userspace to
  parse /proc/iomem and insert the correct annotations in that DT.

> Seems it's broken for kdump/kexec if kernel boots with using DT?

You equate kexec to kdump, which is wrong. kdump does *not* reuse the
memory from the previous kernel, and thus is immune to the RD table
reallocation problem. You don't need anything for kdump, as you will
use the RD tables as configured by the initial kernel.

	M.

-- 
Without deviation from the norm, progress is not possible.


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:05:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:05:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389417.626307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOcOV-0006UH-RB; Thu, 18 Aug 2022 10:04:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389417.626307; Thu, 18 Aug 2022 10:04:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOcOV-0006UA-ON; Thu, 18 Aug 2022 10:04:55 +0000
Received: by outflank-mailman (input) for mailman id 389417;
 Thu, 18 Aug 2022 10:04:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOcOU-0006To-AM
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:04:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOcOR-0004kp-H6; Thu, 18 Aug 2022 10:04:51 +0000
Received: from [54.239.6.188] (helo=[192.168.18.101])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOcOR-0002aN-8c; Thu, 18 Aug 2022 10:04:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=quGb0OvNmDmm9FmYrb8tjkhFX9kGd7vhS4x0ZLE43vY=; b=uB5/rYVyypdIYg5DUnj7Ar0J+Y
	UhjVoKyDkrF7Zw3UtghXVeTC7wNVK5diW+54xKyrYKTNWTVqFy9VqUfuNXVvohGRrtz1PxMYUIH6e
	terwe2v+2t8et1d1sP0E6V+DVWqqfQ6Yx94Pc3wh7bpIsEaNRgRYy//xZBheqeUW8C5w=;
Message-ID: <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
Date: Thu, 18 Aug 2022 11:04:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Content-Language: en-US
To: Ard Biesheuvel <ardb@kernel.org>, Leo Yan <leo.yan@linaro.org>
Cc: Jan Beulich <jbeulich@suse.com>, Marc Zyngier <maz@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Peter Griffin <peter.griffin@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <jgrall@amazon.com>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ard,

On 18/08/2022 10:33, Ard Biesheuvel wrote:
> On Thu, 18 Aug 2022 at 11:15, Leo Yan <leo.yan@linaro.org> wrote:
>>
>> Hi Ard,
>>
>> On Wed, Aug 17, 2022 at 03:49:32PM +0200, Ard Biesheuvel wrote:
>>
>> [...]
>>
>>>> This header holds ACPI spec defined data structures. This one looks
>>>> to be a Linux one, and hence shouldn't be defined here. You use it
>>>> in a single CU only, so I see no reason to define it there.
>>>>
>>>> Furthermore - what if Linux decided to change their structure? Or
>>>> is there a guarantee that they won't?
>>>
>>> No, there is not. The memreserve table is an internal interface
>>> between the EFI stub loader and the Linux kernel proper.
>>>
>>> As I have argued many times before, booting the arm64 kernel in
>>> EFI/ACPI mode without going through the EFI stub violates the ACPI
>>> spec, and relies on interfaces that were not intended for public
>>> consumption.
>>
>> Let me ask a question but sorry it might be off topic.
>>
>> In the Linux kernel function:
>>
>>    static int gic_reserve_range(phys_addr_t addr, unsigned long size)
>>    {
>>            if (efi_enabled(EFI_CONFIG_TABLES))
>>                    return efi_mem_reserve_persistent(addr, size);
>>
>>            return 0;
>>    }
>>
>> We can see it will reserve persistent memory region for GIC pending
>> pages, so my question is if a platform is booting with DT binding
>> rather than ACPI table, how the primary kernel can reserve the pages
>> and pass the info to the secondary kernel?
>>
>> Seems it's broken for kdump/kexec if kernel boots with using DT?
>>
> 
> EFI supports both DT and ACPI boot, but only ACPI *requires* EFI.
> 
> So DT boot on hardware with affected GICv3 implementations works fine
> with kdump/kexec as long as EFI is being used. Using non-EFI boot and
> kexec on such systems will likely result in a splat on the second
> kernel, unless there is another mechanism being used to reserve the
> memory in DT as well.
> 
> Maybe we should wire up the EFI_PARAVIRT flag for Xen dom0 on arm64,
> so that we can filter out the call above. That would mean that
> Xen/arm64/dom0/kexec on affected hardware would result in a splat in
> the second kernel as well, but whether that matters depends on your
> support scope.
In the context of Xen, dom0 doesn't have direct access to the host ITS 
because we are emulating it. So I think it doesn't matter for us because 
we can fix our implementation if it is affected.

That said, kexec-ing dom0 (or any other domain) on Xen on Arm would 
require some work to be supported. OOI, @leo is it something you are 
investigating?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:39:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:39:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389423.626318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOcw1-0001Xn-EH; Thu, 18 Aug 2022 10:39:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389423.626318; Thu, 18 Aug 2022 10:39:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOcw1-0001Xg-BO; Thu, 18 Aug 2022 10:39:33 +0000
Received: by outflank-mailman (input) for mailman id 389423;
 Thu, 18 Aug 2022 10:39:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOcw0-0001XR-5U; Thu, 18 Aug 2022 10:39:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOcw0-0005Jp-1V; Thu, 18 Aug 2022 10:39:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOcvz-0001QK-HU; Thu, 18 Aug 2022 10:39:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOcvz-0004fD-FP; Thu, 18 Aug 2022 10:39:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ELGurrcAjJw5uHxtrPMU93EHVAHvR44AnwoCBREH7Ww=; b=txWD7N0CbJXDWICo1d1RDszDDs
	1eaGq6oneAM/WnhuBiaJl+R3V9T2G6yhiV0tC5UVAs8WxEWru407Gn3sVCUsknVu+zRXPWSr3TgRx
	ICnzUf6o6SrCSKD+TgSN/VuYtOuCCEDn46ufQpL3+WKeOFf5HL3NFruf3o0KKhyxPKxM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172608-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172608: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 10:39:31 +0000

flight 172608 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172608/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   14 days
Testing same since   172384  2022-08-11 11:13:58 Z    6 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389433.626351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCA-0004Rc-Ey; Thu, 18 Aug 2022 10:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389433.626351; Thu, 18 Aug 2022 10:56:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCA-0004RV-CG; Thu, 18 Aug 2022 10:56:14 +0000
Received: by outflank-mailman (input) for mailman id 389433;
 Thu, 18 Aug 2022 10:56:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdC9-00040G-Fh
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:13 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5fa6dc2f-1ee4-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 12:56:12 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id z6so1624812lfu.9
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:12 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fa6dc2f-1ee4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=1Fjd1okIgEA9p0C/7C8J1XEejpGqvH+5B4ZTC6XABnY=;
        b=smqX1lmDrMxp+L91C3MJ7EnCARtdlyY3gtDYAvPxsfNpUtN6cn308UJytTo3AzYelL
         vGXBFUfAtpNL5JLV7HgBUmUQtxT/HKB4c1hkxfNsADsOpWIXuzFpK/ve4HNdRkwVIKxl
         2wPOSM13JEoSWrFzvsO6fF6VYvipHAThV+EIHpnRJQoepaZLAudJbOdpFc4CCG3xhwwY
         STMPfr5WUGTnqXnhAXcNVq2v9P+bYhGdYJP6S2VlfdCbs51KV/ilSTlPdDLUfQp5hKgA
         HpWl4ZIfg6ODDtaeUjNnyTbqPNgWmBJX1rQmL0UNFM76sLyn+SWOQrx7o2/8cR938f6p
         5HKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=1Fjd1okIgEA9p0C/7C8J1XEejpGqvH+5B4ZTC6XABnY=;
        b=CGdoFm9eryvH2N62svt0Yu0rA4tmrj9/dYrMuK8F/akKz1iZMTyieHoW5F/OpWqYaO
         cPoBmAzoZ0h4e5Thos0L6PJ+PbR0a/bu7bgKaRvin/r0ujTF9nR7SYNdHPoKLRLwUx4M
         QAy4FpWTNQN8NPgVSqFXIGDsen8AING+tk1HZKTH5PGPURMPAV1Q3KnVyrAg8ZfiBrqn
         Ju3062KsElrxMUWaS9NCDrxnfH/HNud0ZjvK5zrbdTjDpbZOAfr+9PCWRKPtvMvD6W/A
         YGDkfFLzuJskjw4detXur57m/oP8PJ7P34ubxa8IVujnt6WSLQTFBkccOpQNStUrSM9/
         FAwQ==
X-Gm-Message-State: ACgBeo2i0IvaSgdzaFrB8gxXG5w52sfPuL19ZvQ6fRroLGZaohrIsrPY
	OScDDeh8gIg6UB+q0Dmqs5wcTIa8t08IDQ==
X-Google-Smtp-Source: AA6agR4kDGCK2ZnfgTty4u1clmHG1iDq+OLzCTCGDu9isvXMUD0C2oWqZY9lCo6t4fm3OkKZaZcDpg==
X-Received: by 2002:a05:6512:3992:b0:48b:3f6c:9222 with SMTP id j18-20020a056512399200b0048b3f6c9222mr729891lfu.561.1660820171837;
        Thu, 18 Aug 2022 03:56:11 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 2/9] xen/arm: move regpair_to_uint64() and uint64_to_regpair() to regs.h
Date: Thu, 18 Aug 2022 12:55:54 +0200
Message-Id: <20220818105601.1896082-3-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Moves the two helper functions regpair_to_uint64() and
uint64_to_regpair() from xen/arch/arm/tee/optee.c to the common arm
specific regs.h.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/include/asm/regs.h | 12 ++++++++++++
 xen/arch/arm/tee/optee.c        | 11 -----------
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm/regs.h
index 794721a103a4..977fc3c07f4a 100644
--- a/xen/arch/arm/include/asm/regs.h
+++ b/xen/arch/arm/include/asm/regs.h
@@ -60,6 +60,18 @@ static inline bool guest_mode(const struct cpu_user_regs *r)
 register_t get_user_reg(struct cpu_user_regs *regs, int reg);
 void set_user_reg(struct cpu_user_regs *regs, int reg, register_t val);
 
+static inline uint64_t regpair_to_uint64(register_t reg0, register_t reg1)
+{
+    return ((uint64_t)reg0 << 32) | (uint32_t)reg1;
+}
+
+static inline void uint64_to_regpair(register_t *reg0, register_t *reg1,
+                                     uint64_t val)
+{
+    *reg0 = val >> 32;
+    *reg1 = (uint32_t)val;
+}
+
 #endif
 
 #endif /* __ARM_REGS_H__ */
diff --git a/xen/arch/arm/tee/optee.c b/xen/arch/arm/tee/optee.c
index 9cb9f16d43cb..47027ecef47c 100644
--- a/xen/arch/arm/tee/optee.c
+++ b/xen/arch/arm/tee/optee.c
@@ -268,17 +268,6 @@ static int optee_domain_init(struct domain *d)
     return 0;
 }
 
-static uint64_t regpair_to_uint64(register_t reg0, register_t reg1)
-{
-    return ((uint64_t)reg0 << 32) | (uint32_t)reg1;
-}
-
-static void uint64_to_regpair(register_t *reg0, register_t *reg1, uint64_t val)
-{
-    *reg0 = val >> 32;
-    *reg1 = (uint32_t)val;
-}
-
 static struct page_info *get_domain_ram_page(gfn_t gfn)
 {
     struct page_info *page;
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389432.626337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdC9-000455-9U; Thu, 18 Aug 2022 10:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389432.626337; Thu, 18 Aug 2022 10:56:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdC9-00042w-4U; Thu, 18 Aug 2022 10:56:13 +0000
Received: by outflank-mailman (input) for mailman id 389432;
 Thu, 18 Aug 2022 10:56:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdC8-0003wI-11
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:12 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ebf7d00-1ee4-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 12:56:11 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id a9so1613220lfm.12
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:11 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ebf7d00-1ee4-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=LbFetocur+zrqZxLtqScZTUsG61VBuBw+RLxtF3ZEcM=;
        b=sOgD1Pf3OQ8FjqshhTMI4DkvDZryMylp5B97K264PXk2nlT1c2pnyKQ1g0K1bu9PfY
         zq02HX5vnAQovqrB/2hpYVhteCeKB9JjTTbY0FVF35h9dNybYvYKuxijLK40FhFryKsC
         Zn7kpgEmQ9pbIaw+j6hdfLsgPdy0xSrmC2kmwCT3x5oX74vJvMKmJtfiPkQX8cG97pvF
         tEJs1rsyXAgb5+BEc5ET3MO6KzYNyEWhv1kzXm0RqvrTzfRpMIqL81RGOEVelKr/Nzk8
         eGL4YI5cfdF5F/P6R1KNZ8FXkMGJ/hOl4NAnkDpMcsPjNVvDdWxIs+oBgJfkccIeXGC+
         Ak1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=LbFetocur+zrqZxLtqScZTUsG61VBuBw+RLxtF3ZEcM=;
        b=uziCqnapNUiNU1yRHuLFAz62ZBEOBD36J/gG/05bohoh6B/anGw06sTVC3z3OqbebP
         hNLxX8wh2CAL900ga/3/5oGoDKqRS2aPTH2n5BJBQazPSl3oB8/apKk8fTLLoNynKVv9
         +JpcLqTn5q8MHuMYvYfjFDWoFFmtZ4C28LN3iWptq1oqOzR3Y1NIVlDGXEvoVt8hQUaz
         RKhKy1s6pPiRsutjWThqac2m6KBmPoLe/U04ggZorzqKgHEy6jYyb05eeyrf6h67UHTN
         Mk1iFhnGUBTUDG7915yjPuuyVHmzHMfczHqKsByoK9nJxdVTVstS3YAeHAVb/3WtAZtd
         YpZQ==
X-Gm-Message-State: ACgBeo0DbHqOcO9RrwCDqVV+MSs+ihFIbDJh6jeRjs7kjGtBjDnsQj4Q
	LDvKVrMy7M3Fm3tZtJ5FTh5ujP4eJViX6A==
X-Google-Smtp-Source: AA6agR52sn8DH09ZFe0LacE/R9KBL/jni0mke3yxsl3cS18U+s5kmMCDtNvN6hvojElZAZwRqZqTHA==
X-Received: by 2002:a05:6512:1154:b0:48b:3020:b29 with SMTP id m20-20020a056512115400b0048b30200b29mr755226lfg.338.1660820170330;
        Thu, 18 Aug 2022 03:56:10 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2 extended input/output registers
Date: Thu, 18 Aug 2022 12:55:53 +0200
Message-Id: <20220818105601.1896082-2-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

SMCCC v1.2 [1] AArch64 allows x0-x17 to be used as both parameter
registers and result registers for the SMC and HVC instructions.

Arm Firmware Framework for Armv8-A specification makes use of x0-x7 as
parameter and result registers.

Let us add new interface to support this extended set of input/output
registers.

This is based on 3fdc0cb59d97 ("arm64: smccc: Add support for SMCCCv1.2
extended input/output registers") by Sudeep Holla from the Linux kernel

The SMCCC version reported to the VM is bumped to 1.2 in order to support
handling FF-A messages.

[1] https://developer.arm.com/documentation/den0028/c/?lang=en

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/arm64/asm-offsets.c |  9 +++++++
 xen/arch/arm/arm64/smc.S         | 43 ++++++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/smccc.h | 40 +++++++++++++++++++++++++++++
 xen/arch/arm/vsmc.c              |  2 +-
 4 files changed, 93 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
index 280ddb55bfd4..1721e1ed26e1 100644
--- a/xen/arch/arm/arm64/asm-offsets.c
+++ b/xen/arch/arm/arm64/asm-offsets.c
@@ -56,6 +56,15 @@ void __dummy__(void)
    BLANK();
    OFFSET(SMCCC_RES_a0, struct arm_smccc_res, a0);
    OFFSET(SMCCC_RES_a2, struct arm_smccc_res, a2);
+   OFFSET(ARM_SMCCC_1_2_REGS_X0_OFFS, struct arm_smccc_1_2_regs, a0);
+   OFFSET(ARM_SMCCC_1_2_REGS_X2_OFFS, struct arm_smccc_1_2_regs, a2);
+   OFFSET(ARM_SMCCC_1_2_REGS_X4_OFFS, struct arm_smccc_1_2_regs, a4);
+   OFFSET(ARM_SMCCC_1_2_REGS_X6_OFFS, struct arm_smccc_1_2_regs, a6);
+   OFFSET(ARM_SMCCC_1_2_REGS_X8_OFFS, struct arm_smccc_1_2_regs, a8);
+   OFFSET(ARM_SMCCC_1_2_REGS_X10_OFFS, struct arm_smccc_1_2_regs, a10);
+   OFFSET(ARM_SMCCC_1_2_REGS_X12_OFFS, struct arm_smccc_1_2_regs, a12);
+   OFFSET(ARM_SMCCC_1_2_REGS_X14_OFFS, struct arm_smccc_1_2_regs, a14);
+   OFFSET(ARM_SMCCC_1_2_REGS_X16_OFFS, struct arm_smccc_1_2_regs, a16);
 }
 
 /*
diff --git a/xen/arch/arm/arm64/smc.S b/xen/arch/arm/arm64/smc.S
index 91bae62dd4d2..c546192e7f2d 100644
--- a/xen/arch/arm/arm64/smc.S
+++ b/xen/arch/arm/arm64/smc.S
@@ -27,3 +27,46 @@ ENTRY(__arm_smccc_1_0_smc)
         stp     x2, x3, [x4, #SMCCC_RES_a2]
 1:
         ret
+
+
+/*
+ * void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
+ *                        struct arm_smccc_1_2_regs *res)
+ */
+ENTRY(arm_smccc_1_2_smc)
+    /* Save `res` and free a GPR that won't be clobbered */
+    stp     x1, x19, [sp, #-16]!
+
+    /* Ensure `args` won't be clobbered while loading regs in next step */
+    mov	x19, x0
+
+    /* Load the registers x0 - x17 from the struct arm_smccc_1_2_regs */
+    ldp	x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
+    ldp	x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
+    ldp	x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
+    ldp	x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
+    ldp	x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
+    ldp	x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
+    ldp	x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
+    ldp	x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
+    ldp	x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
+
+    smc #0
+
+    /* Load the `res` from the stack */
+    ldr	x19, [sp]
+
+    /* Store the registers x0 - x17 into the result structure */
+    stp	x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
+    stp	x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
+    stp	x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
+    stp	x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
+    stp	x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
+    stp	x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
+    stp	x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
+    stp	x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
+    stp	x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
+
+    /* Restore original x19 */
+    ldp     xzr, x19, [sp], #16
+    ret
diff --git a/xen/arch/arm/include/asm/smccc.h b/xen/arch/arm/include/asm/smccc.h
index b3dbeecc90ad..b5e3f67eb34e 100644
--- a/xen/arch/arm/include/asm/smccc.h
+++ b/xen/arch/arm/include/asm/smccc.h
@@ -33,6 +33,7 @@
 
 #define ARM_SMCCC_VERSION_1_0   SMCCC_VERSION(1, 0)
 #define ARM_SMCCC_VERSION_1_1   SMCCC_VERSION(1, 1)
+#define ARM_SMCCC_VERSION_1_2   SMCCC_VERSION(1, 2)
 
 /*
  * This file provides common defines for ARM SMC Calling Convention as
@@ -265,6 +266,45 @@ void __arm_smccc_1_0_smc(register_t a0, register_t a1, register_t a2,
         else                                                    \
             arm_smccc_1_0_smc(__VA_ARGS__);                     \
     } while ( 0 )
+
+/**
+ * struct arm_smccc_1_2_regs - Arguments for or Results from SMC call
+ * @a0-a17 argument values from registers 0 to 17
+ */
+struct arm_smccc_1_2_regs {
+    unsigned long a0;
+    unsigned long a1;
+    unsigned long a2;
+    unsigned long a3;
+    unsigned long a4;
+    unsigned long a5;
+    unsigned long a6;
+    unsigned long a7;
+    unsigned long a8;
+    unsigned long a9;
+    unsigned long a10;
+    unsigned long a11;
+    unsigned long a12;
+    unsigned long a13;
+    unsigned long a14;
+    unsigned long a15;
+    unsigned long a16;
+    unsigned long a17;
+};
+
+/**
+ * arm_smccc_1_2_smc() - make SMC calls
+ * @args: arguments passed via struct arm_smccc_1_2_regs
+ * @res: result values via struct arm_smccc_1_2_regs
+ *
+ * This function is used to make SMC calls following SMC Calling Convention
+ * v1.2 or above. The content of the supplied param are copied from the
+ * structure to registers prior to the SMC instruction. The return values
+ * are updated with the content from registers on return from the SMC
+ * instruction.
+ */
+void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
+                       struct arm_smccc_1_2_regs *res);
 #endif /* CONFIG_ARM_64 */
 
 #endif /* __ASSEMBLY__ */
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index 676740ef1520..6f90c08a6304 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -93,7 +93,7 @@ static bool handle_arch(struct cpu_user_regs *regs)
     switch ( fid )
     {
     case ARM_SMCCC_VERSION_FID:
-        set_user_reg(regs, 0, ARM_SMCCC_VERSION_1_1);
+        set_user_reg(regs, 0, ARM_SMCCC_VERSION_1_2);
         return true;
 
     case ARM_SMCCC_ARCH_FEATURES_FID:
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389431.626329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdC8-0003wa-Pt; Thu, 18 Aug 2022 10:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389431.626329; Thu, 18 Aug 2022 10:56:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdC8-0003wT-N6; Thu, 18 Aug 2022 10:56:12 +0000
Received: by outflank-mailman (input) for mailman id 389431;
 Thu, 18 Aug 2022 10:56:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdC7-0003wI-AX
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:11 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5df8258f-1ee4-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 12:56:09 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id o2so1660129lfb.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:09 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5df8258f-1ee4-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=oi8fCB/lcY/IJzhYgzv8T3qd45K63a+tPtGnN+UB+KE=;
        b=zbQvAwhTWLDU07t5pbHAPpvLyvepHJ0FnuvzVKIyfjSrtgQ84pxLINbbAtcm+6fjbS
         6whRWsiekzNP0LE2kyZwN8aGP7x/Ptl2bhr7OrOsBy794t6b0qFqZr7w78Cots2fvAr0
         R7js+NT3C0JVrwVMbXudkv8qlGxS7IUzUBZynU0OrrWKTssXzuS3Im7inD+mpXHlZ1Df
         4wiY74kaXZuehvwU7kRUp3KQBU6JP51eMv3ejVHstTtu0Xmpg1qgR9zcM2dC69XkJfgj
         PRvjqcOZ/G9XtddTE2lOUP99MuZsRgiDTxrOad6ugMz1pMrujsWrdC0gxoUWDRvgw23c
         SmLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=oi8fCB/lcY/IJzhYgzv8T3qd45K63a+tPtGnN+UB+KE=;
        b=U6NWKDRJHlRP719WiSanLhX0zR9ivWmtNMqFok1FvCzDNBMJ42U/7WdCIbS9/wc3Ag
         /1lK0PIPca13hclM2Jv2Y8zpM0bJtQbCigOnEvxtOXNLTtBBsioYmqJsneRRoySbD3K9
         V1WFf6ceIAI55Vhro087CogfecHj8iqAmsAXTI29QGueiysr14JAJP2ITrE/anOlB0QE
         8hBCjcbkSSYoRR/VbBraQplARQEZttQ3neRC7rZItRFjGyyv8Wwde204uityqQScsv/K
         MRLi8OPJT+y2BY9j9CkHIJ3lDL2jelc6MIBS6ZrCAf9jGo8YHfDQYts9xN8E4YH3OgKG
         laFg==
X-Gm-Message-State: ACgBeo3IVrb7RcnjzfNSiSlBoxOtXnWJdjZRwzWwD1UFzgVdZOGDld7O
	Iwl6nCUgl12d7TFzINvWBXPC27OeFANe8Q==
X-Google-Smtp-Source: AA6agR4oGiAqxwUY9SIQVaJ0Ofrxs1jyIfW2iVKq4fokM2pSlKkp5L7tv6Ng7BFiIz3EgCfQaKrngg==
X-Received: by 2002:a05:6512:228a:b0:492:b7cd:9599 with SMTP id f10-20020a056512228a00b00492b7cd9599mr726002lfu.625.1660820168948;
        Thu, 18 Aug 2022 03:56:08 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 0/9] Xen FF-A mediator
Date: Thu, 18 Aug 2022 12:55:52 +0200
Message-Id: <20220818105601.1896082-1-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

This patch sets add a FF-A [1] mediator modeled after the TEE mediator
already present in Xen. The FF-A mediator implements the subset of the FF-A
1.1 specification needed to communicate with OP-TEE using FF-A as transport
mechanism instead of SMC/HVC as with the TEE mediator. It allows a similar
design in OP-TEE as with the TEE mediator where OP-TEE presents one virtual
partition of itself to each guest in Xen.

The FF-A mediator is generic in the sense it has nothing OP-TEE specific
except that only the subset needed for OP-TEE is implemented so far. The
hooks needed to inform OP-TEE that a guest is created or destroyed is part
of the FF-A specification.

It should be possible to extend the FF-A mediator to implement a larger
portion of the FF-A 1.1 specification without breaking with the way OP-TEE
is communicated with here. So it should be possible to support any TEE or
Secure Partition using FF-A as transport with this mediator.

[1] https://developer.arm.com/documentation/den0077/latest

Thanks,
Jens

V4->v5:
* Added "xen/arm: move regpair_to_uint64() and uint64_to_regpair() to regs.h"
* Added documentation for the "ffa_enabled" guest config flag
* Changed to GPL license for xen/arch/arm/ffa.c
* Added __read_mostly and const where applicable
* Added more describing comments in the code
* Moved list of shared memory object ("ffa_mem_list") into the guest context
  as they are guest specific
* Simplified a few of the simple wrapper functions for SMC to SPMC
* Added a BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE) since the mediator
  currently depends on the page size to be same as FFA_PAGE_SIZE (4k).
* Added max number of shared memory object per guest and max number of
  size of each shared memory object
* Added helper macros to calculate offsets of different FF-A data structures
  in the communication buffer instead of relying on pointer arithmetic
* Addressed style issues and other comments
* Broke the commit "xen/arm: add FF-A mediator" into multiple parts, trying
  to add a few features at a time as requested
* Added a missing call to rxtx_unmap() in ffa_relinquish_resources()
* Assignment of "ffa_enabled" is kept as is until I have something definitive
  on the type etc.
* Tested with CONFIG_DEBUG=y

v3->v4:
* Missed v3 and sent a v4 instead by mistake.

v2->v3:
* Generates offsets into struct arm_smccc_1_2_regs with asm-offsets.c in
  order to avoid hard coded offsets in the assembly function
  arm_smccc_1_2_smc()
* Adds an entry in SUPPORT.md on the FF-A status
* Adds a configuration variable "ffa_enabled" to tell if FF-A should be
  enabled for a particular domu guest
* Moves the ffa_frag_list for fragmented memory share requests into
  struct ffa_ctx instead to keep it per guest in order to avoid mixups
  and simplify locking
* Adds a spinlock to struct ffa_ctx for per guest locking
* Addressing style issues and suggestions
* Uses FFA_FEATURES to check that all the needed features are available
  before initializing the mediator
* Rebased on staging as of 2022-06-20

v1->v2:
* Rebased on staging to resolve some merge conflicts as requested

Jens Wiklander (9):
  xen/arm: smccc: add support for SMCCCv1.2 extended input/output
    registers
  xen/arm: move regpair_to_uint64() and uint64_to_regpair() to regs.h
  xen/arm: add a primitive FF-A mediator
  xen/arm: ffa: add direct request support
  xen/arm: ffa: map SPMC rx/tx buffers
  xen/arm: ffa: send guest events to Secure Partitions
  xen/arm: ffa: support mapping guest RX/TX buffers
  xen/arm: ffa: support guest FFA_PARTITION_INFO_GET
  xen/arm: ffa: support sharing memory

 SUPPORT.md                        |    7 +
 docs/man/xl.cfg.5.pod.in          |   15 +
 tools/include/libxl.h             |    6 +
 tools/libs/light/libxl_arm.c      |    3 +
 tools/libs/light/libxl_types.idl  |    1 +
 tools/xl/xl_parse.c               |    3 +
 xen/arch/arm/Kconfig              |   11 +
 xen/arch/arm/Makefile             |    1 +
 xen/arch/arm/arm64/asm-offsets.c  |    9 +
 xen/arch/arm/arm64/smc.S          |   43 +
 xen/arch/arm/domain.c             |   10 +
 xen/arch/arm/domain_build.c       |    1 +
 xen/arch/arm/ffa.c                | 1805 +++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/domain.h |    4 +
 xen/arch/arm/include/asm/ffa.h    |   71 ++
 xen/arch/arm/include/asm/regs.h   |   12 +
 xen/arch/arm/include/asm/smccc.h  |   40 +
 xen/arch/arm/tee/optee.c          |   11 -
 xen/arch/arm/vsmc.c               |   19 +-
 xen/include/public/arch-arm.h     |    2 +
 20 files changed, 2059 insertions(+), 15 deletions(-)
 create mode 100644 xen/arch/arm/ffa.c
 create mode 100644 xen/arch/arm/include/asm/ffa.h

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389434.626362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCD-0004ks-Nm; Thu, 18 Aug 2022 10:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389434.626362; Thu, 18 Aug 2022 10:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCD-0004kl-Ju; Thu, 18 Aug 2022 10:56:17 +0000
Received: by outflank-mailman (input) for mailman id 389434;
 Thu, 18 Aug 2022 10:56:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdCC-00040G-17
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:16 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60b2a041-1ee4-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 12:56:14 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id h5so1365962lfk.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:14 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60b2a041-1ee4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=d7OU3B3J467XSM1ACgAeZZj5IkpbHeI5Cw3CIgw97Dw=;
        b=yYEgNfjJiSOhCXFP2mGnNA7wh0SFOUWCeGk0wnAe4Dp1t8ZWXll2nRTWSwMaqg9N2p
         sLM6qd9HI48o2YsEII4l2sOXGIs3o1kXTPIxyq/P7mkwomO/gQ2v+jsrHUBoa6KoMBmx
         QG3ELLBZvZLdsr1PS49t8l43yBg9wVjb5pJwbRGQONdxBA8D7DCjOwPO2sa2MOYH4rt4
         fsogcFn9DtTn24uElfaDaPd+V4qTheJCCOtb6OHN5WxrOqUCwAeslySllFg2vHz/XzHP
         ocAuv6BP2tahI9+7tBlvBc/pKgCtB6XbW7bNfhTwQOV3UutVaAa1PXkvc3Rd6auyODUI
         gWww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=d7OU3B3J467XSM1ACgAeZZj5IkpbHeI5Cw3CIgw97Dw=;
        b=IDBM4ZQHqDy7ox2ciWyuVLMXHG6C4OHUgrEtSPjnwOCGYndqyGHKrBTAtY7IUY2tsG
         PeSZUgIttvBT90NuTqlYCamUtbriWVoiKcyg3ynUMw02altnB2RLvcu0dxolMvhBjIwV
         JgZvBl2V7rVe9DmS0H5wU/CGgmgHmcvn8a0nUOKBy89Id8KOaLxg25hhpkzUx3BElAd7
         EN0wLN3LPtf8EsXOjUQbbVsF6XyUWQEnTF3CMzTL2oxpsyKElw/CrQZ0aj1TmLxR7svb
         MR7UlR9fA2tnUGclUbykQxZCUDuOVsgD62wsSYOP9c26Keb2/zhB3BzhkM/QeENk7rBy
         Kb+A==
X-Gm-Message-State: ACgBeo3RLzjLvMcaW0hs2v1XiNLdDVVAgkNTUg3QJ0iSPUuxERTfY5YZ
	nLZLNATHD83doI8A9qOUgXuI+py26nlkXA==
X-Google-Smtp-Source: AA6agR7OVJrRPMHt/lja6bI7wlexNuEcuxVIGsa1pNR9/mP0+Dv/00f6gZNTo6MSajk5cz5vG3BAkA==
X-Received: by 2002:a05:6512:12c2:b0:48b:a139:fea with SMTP id p2-20020a05651212c200b0048ba1390feamr743312lfg.46.1660820173336;
        Thu, 18 Aug 2022 03:56:13 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 3/9] xen/arm: add a primitive FF-A mediator
Date: Thu, 18 Aug 2022 12:55:55 +0200
Message-Id: <20220818105601.1896082-4-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds a FF-A version 1.1 [1] mediator to communicate with a Secure
Partition in secure world.

This commit brings in only the parts needed to negotiate FF-A version
number with guest and SPMC.

A guest configuration variable "ffa_enabled" is used to indicate if a guest
is trusted to use FF-A.

This is loosely based on the TEE mediator framework and the OP-TEE
mediator.

[1] https://developer.arm.com/documentation/den0077/latest
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 SUPPORT.md                        |   7 +
 docs/man/xl.cfg.5.pod.in          |  15 ++
 tools/include/libxl.h             |   6 +
 tools/libs/light/libxl_arm.c      |   3 +
 tools/libs/light/libxl_types.idl  |   1 +
 tools/xl/xl_parse.c               |   3 +
 xen/arch/arm/Kconfig              |  11 +
 xen/arch/arm/Makefile             |   1 +
 xen/arch/arm/domain.c             |  10 +
 xen/arch/arm/domain_build.c       |   1 +
 xen/arch/arm/ffa.c                | 354 ++++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/domain.h |   4 +
 xen/arch/arm/include/asm/ffa.h    |  71 ++++++
 xen/arch/arm/vsmc.c               |  17 +-
 xen/include/public/arch-arm.h     |   2 +
 15 files changed, 503 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/arm/ffa.c
 create mode 100644 xen/arch/arm/include/asm/ffa.h

diff --git a/SUPPORT.md b/SUPPORT.md
index 70e98964cbc0..215bb3c9043b 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -785,6 +785,13 @@ that covers the DMA of the device to be passed through.
 
 No support for QEMU backends in a 16K or 64K domain.
 
+### ARM: Firmware Framework for Arm A-profile (FF-A) Mediator
+
+    Status, Arm64: Tech Preview
+
+There are still some code paths where a vCPU may hog a pCPU longer than
+necessary. The FF-A mediator is not yet implemented for Arm32.
+
 ### ARM: Guest Device Tree support
 
     Status: Supported
diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index b98d1613987e..234c036aecb1 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1616,6 +1616,21 @@ This feature is a B<technology preview>.
 
 =back
 
+=item B<ffa_enabled=BOOLEAN>
+
+B<Arm only.> Allow a guest to communicate via FF-A with Secure Partitions
+(SP), default false.
+
+Currently is only a small subset of the FF-A specification supported. Just
+enough to communicate with OP-TEE. In general all the basic things and
+sharing memory with one SP. More advanced use cases where memory might be
+shared or donated to multple SPs is not supported.
+
+See L<https://developer.arm.com/documentation/den0077/latest> for more
+informantion about FF-A.
+
+This feature is a B<technology preview>.
+
 =head2 Paravirtualised (PV) Guest Specific Options
 
 The following options apply only to Paravirtual (PV) guests.
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 7ce978e83c9a..4ab5a7b044d6 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -278,6 +278,12 @@
  */
 #define LIBXL_HAVE_BUILDINFO_ARCH_ARM_TEE 1
 
+/*
+ * LIBXL_HAVE_BUILDINFO_ARM_FFA_ENABLED indicates that
+ * libxl_domain_build_info has the arm.ffa_enabled field.
+ */
+#define LIBXL_HAVE_BUILDINFO_ARM_FFA_ENABLED 1
+
 /*
  * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
  * 'soft reset' for domains and there is 'soft_reset' shutdown reason
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index eef1de093914..a985609861c7 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -101,6 +101,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         return ERROR_FAIL;
     }
 
+    config->arch.ffa_enabled =
+        libxl_defbool_val(d_config->b_info.arch_arm.ffa_enabled);
+
     return 0;
 }
 
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 2a42da2f7d78..bf4544bef399 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -646,6 +646,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
 
     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
                                ("vuart", libxl_vuart_type),
+                               ("ffa_enabled", libxl_defbool),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
                               ])),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index b98c0de378b6..e0e99ed8d2b1 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2746,6 +2746,9 @@ skip_usbdev:
             exit(-ERROR_FAIL);
         }
     }
+    libxl_defbool_setdefault(&b_info->arch_arm.ffa_enabled, false);
+    xlu_cfg_get_defbool(config, "ffa_enabled",
+                        &b_info->arch_arm.ffa_enabled, 0);
 
     parse_vkb_list(config, d_config);
 
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index be9eff014120..e57e1d3757e2 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -139,6 +139,17 @@ config TEE
 
 source "arch/arm/tee/Kconfig"
 
+config FFA
+	bool "Enable FF-A mediator support" if EXPERT
+	default n
+	depends on ARM_64
+	help
+	  This option enables a minimal FF-A mediator. The mediator is
+	  generic as it follows the FF-A specification [1], but it only
+	  implements a small subset of the specification.
+
+	  [1] https://developer.arm.com/documentation/den0077/latest
+
 endmenu
 
 menu "ARM errata workaround via the alternative framework"
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index bb7a6151c13c..af0c69f793d4 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -20,6 +20,7 @@ obj-y += domain_build.init.o
 obj-y += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
+obj-$(CONFIG_FFA) += ffa.o
 obj-y += gic.o
 obj-y += gic-v2.o
 obj-$(CONFIG_GICV3) += gic-v3.o
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 8110c1df8638..a3f00e7e234d 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -27,6 +27,7 @@
 #include <asm/cpufeature.h>
 #include <asm/current.h>
 #include <asm/event.h>
+#include <asm/ffa.h>
 #include <asm/gic.h>
 #include <asm/guest_atomics.h>
 #include <asm/irq.h>
@@ -756,6 +757,9 @@ int arch_domain_create(struct domain *d,
     if ( (rc = tee_domain_init(d, config->arch.tee_type)) != 0 )
         goto fail;
 
+    if ( (rc = ffa_domain_init(d, config->arch.ffa_enabled)) != 0 )
+        goto fail;
+
     update_domain_wallclock_time(d);
 
     /*
@@ -998,6 +1002,7 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
 enum {
     PROG_pci = 1,
     PROG_tee,
+    PROG_ffa,
     PROG_xen,
     PROG_page,
     PROG_mapping,
@@ -1043,6 +1048,11 @@ int domain_relinquish_resources(struct domain *d)
 
     PROGRESS(tee):
         ret = tee_relinquish_resources(d);
+        if ( ret )
+            return ret;
+
+    PROGRESS(ffa):
+        ret = ffa_relinquish_resources(d);
         if (ret )
             return ret;
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7ddd16c26da5..d708f76356f7 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3450,6 +3450,7 @@ void __init create_dom0(void)
     if ( gic_number_lines() > 992 )
         printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
     dom0_cfg.arch.tee_type = tee_get_type();
+    dom0_cfg.arch.ffa_enabled = true;
     dom0_cfg.max_vcpus = dom0_max_vcpus();
 
     if ( iommu_enabled )
diff --git a/xen/arch/arm/ffa.c b/xen/arch/arm/ffa.c
new file mode 100644
index 000000000000..b85c492928d2
--- /dev/null
+++ b/xen/arch/arm/ffa.c
@@ -0,0 +1,354 @@
+/*
+ * xen/arch/arm/ffa.c
+ *
+ * Arm Firmware Framework for ARMv8-A (FF-A) mediator
+ *
+ * Copyright (C) 2022  Linaro Limited
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms and conditions of the GNU General Public
+ * License, version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/domain_page.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/sched.h>
+#include <xen/types.h>
+#include <xen/sizes.h>
+#include <xen/bitops.h>
+
+#include <asm/smccc.h>
+#include <asm/event.h>
+#include <asm/ffa.h>
+#include <asm/regs.h>
+
+/* Error codes */
+#define FFA_RET_OK                      0
+#define FFA_RET_NOT_SUPPORTED           -1
+#define FFA_RET_INVALID_PARAMETERS      -2
+#define FFA_RET_NO_MEMORY               -3
+#define FFA_RET_BUSY                    -4
+#define FFA_RET_INTERRUPTED             -5
+#define FFA_RET_DENIED                  -6
+#define FFA_RET_RETRY                   -7
+#define FFA_RET_ABORTED                 -8
+
+/* FFA_VERSION helpers */
+#define FFA_VERSION_MAJOR_SHIFT         16U
+#define FFA_VERSION_MAJOR_MASK          0x7FFFU
+#define FFA_VERSION_MINOR_SHIFT         0U
+#define FFA_VERSION_MINOR_MASK          0xFFFFU
+#define MAKE_FFA_VERSION(major, minor)  \
+        ((((major) & FFA_VERSION_MAJOR_MASK) << FFA_VERSION_MAJOR_SHIFT) | \
+         ((minor) & FFA_VERSION_MINOR_MASK))
+
+#define FFA_MIN_VERSION         MAKE_FFA_VERSION(1, 0)
+#define FFA_VERSION_1_0         MAKE_FFA_VERSION(1, 0)
+#define FFA_VERSION_1_1         MAKE_FFA_VERSION(1, 1)
+
+/*
+ * This is the version we want to use in communication with guests and SPs.
+ * During negotiation with a guest or a SP we may need to lower it for
+ * that particular guest or SP.
+ */
+#define FFA_MY_VERSION_MAJOR    1U
+#define FFA_MY_VERSION_MINOR    1U
+#define FFA_MY_VERSION          MAKE_FFA_VERSION(FFA_MY_VERSION_MAJOR, \
+                                                 FFA_MY_VERSION_MINOR)
+
+#define FFA_PAGE_SIZE                   SZ_4K
+
+/*
+ * Limit for shared buffer size. Please note that this define limits
+ * number of pages. But user buffer can be not aligned to a page
+ * boundary. So it is possible that user would not be able to share
+ * exactly MAX_SHM_BUFFER_PG * PAGE_SIZE bytes.
+ *
+ * FF-A doesn't have any direct requirments on GlobalPlatform or vice
+ * versa, but an implementation can very well use FF-A in order to provide
+ * a GlobalPlatform interface on top.
+ *
+ * Global Platform specification for TEE requires that any TEE
+ * implementation should allow to share buffers with size of at least
+ * 512KB, which equals to 128 4kB pages. Due to align issue mentioned
+ * above, we need to increase this value to 129.
+ */
+#define FFA_MAX_SHM_PAGE_COUNT          129
+
+/*
+ * Limits the number of shared buffers that guest can have at once. This
+ * is to prevent case, when guests tricks XEN into exhausting its own
+ * memory by allocating many small buffers. This value has been chosen
+ * arbitrary.
+ */
+#define FFA_MAX_SHM_COUNT               32
+
+#define FFA_HANDLE_HYP_FLAG             BIT(63, ULL)
+
+/* Memory attributes: Normal memory, Write-Back cacheable, Inner shareable */
+#define FFA_NORMAL_MEM_REG_ATTR         0x2fU
+
+/* Memory access permissions: Read-write */
+#define FFA_MEM_ACC_RW                  0x2U
+
+/* Clear memory before mapping in receiver */
+#define FFA_MEMORY_REGION_FLAG_CLEAR            BIT(0, U)
+/* Relayer may time slice this operation */
+#define FFA_MEMORY_REGION_FLAG_TIME_SLICE       BIT(1, U)
+/* Clear memory after receiver relinquishes it */
+#define FFA_MEMORY_REGION_FLAG_CLEAR_RELINQUISH BIT(2, U)
+
+/* Share memory transaction */
+#define FFA_MEMORY_REGION_TRANSACTION_TYPE_SHARE (1U << 3)
+
+#define FFA_HANDLE_INVALID              0xffffffffffffffffULL
+
+/* Framework direct request/response */
+#define FFA_MSG_FLAG_FRAMEWORK          BIT(31, U)
+#define FFA_MSG_TYPE_MASK               0xFFU;
+#define FFA_MSG_PSCI                    0x0U
+#define FFA_MSG_SEND_VM_CREATED         0x4U
+#define FFA_MSG_RESP_VM_CREATED         0x5U
+#define FFA_MSG_SEND_VM_DESTROYED       0x6U
+#define FFA_MSG_RESP_VM_DESTROYED       0x7U
+
+/*
+ * Flags used for the FFA_PARTITION_INFO_GET return message:
+ * BIT(0): Supports receipt of direct requests
+ * BIT(1): Can send direct requests
+ * BIT(2): Can send and receive indirect messages
+ * BIT(3): Supports receipt of notifications
+ * BIT(4-5): Partition ID is a PE endpoint ID
+ */
+#define FFA_PART_PROP_DIRECT_REQ_RECV   BIT(0, U)
+#define FFA_PART_PROP_DIRECT_REQ_SEND   BIT(1, U)
+#define FFA_PART_PROP_INDIRECT_MSGS     BIT(2, U)
+#define FFA_PART_PROP_RECV_NOTIF        BIT(3, U)
+#define FFA_PART_PROP_IS_PE_ID          (0U << 4)
+#define FFA_PART_PROP_IS_SEPID_INDEP    (1U << 4)
+#define FFA_PART_PROP_IS_SEPID_DEP      (2U << 4)
+#define FFA_PART_PROP_IS_AUX_ID         (3U << 4)
+#define FFA_PART_PROP_NOTIF_CREATED     BIT(6, U)
+#define FFA_PART_PROP_NOTIF_DESTROYED   BIT(7, U)
+#define FFA_PART_PROP_AARCH64_STATE     BIT(8, U)
+
+/*
+ * Flag used as parameter to FFA_PARTITION_INFO_GET to return partition
+ * count only.
+ */
+#define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
+
+/* Function IDs */
+#define FFA_ERROR                       0x84000060U
+#define FFA_SUCCESS_32                  0x84000061U
+#define FFA_SUCCESS_64                  0xC4000061U
+#define FFA_INTERRUPT                   0x84000062U
+#define FFA_VERSION                     0x84000063U
+#define FFA_FEATURES                    0x84000064U
+#define FFA_RX_ACQUIRE                  0x84000084U
+#define FFA_RX_RELEASE                  0x84000065U
+#define FFA_RXTX_MAP_32                 0x84000066U
+#define FFA_RXTX_MAP_64                 0xC4000066U
+#define FFA_RXTX_UNMAP                  0x84000067U
+#define FFA_PARTITION_INFO_GET          0x84000068U
+#define FFA_ID_GET                      0x84000069U
+#define FFA_SPM_ID_GET                  0x84000085U
+#define FFA_MSG_WAIT                    0x8400006BU
+#define FFA_MSG_YIELD                   0x8400006CU
+#define FFA_MSG_RUN                     0x8400006DU
+#define FFA_MSG_SEND2                   0x84000086U
+#define FFA_MSG_SEND_DIRECT_REQ_32      0x8400006FU
+#define FFA_MSG_SEND_DIRECT_REQ_64      0xC400006FU
+#define FFA_MSG_SEND_DIRECT_RESP_32     0x84000070U
+#define FFA_MSG_SEND_DIRECT_RESP_64     0xC4000070U
+#define FFA_MEM_DONATE_32               0x84000071U
+#define FFA_MEM_DONATE_64               0xC4000071U
+#define FFA_MEM_LEND_32                 0x84000072U
+#define FFA_MEM_LEND_64                 0xC4000072U
+#define FFA_MEM_SHARE_32                0x84000073U
+#define FFA_MEM_SHARE_64                0xC4000073U
+#define FFA_MEM_RETRIEVE_REQ_32         0x84000074U
+#define FFA_MEM_RETRIEVE_REQ_64         0xC4000074U
+#define FFA_MEM_RETRIEVE_RESP           0x84000075U
+#define FFA_MEM_RELINQUISH              0x84000076U
+#define FFA_MEM_RECLAIM                 0x84000077U
+#define FFA_MEM_FRAG_RX                 0x8400007AU
+#define FFA_MEM_FRAG_TX                 0x8400007BU
+#define FFA_MSG_SEND                    0x8400006EU
+#define FFA_MSG_POLL                    0x8400006AU
+
+struct ffa_ctx {
+    uint32_t guest_vers;
+};
+
+/* Negotiated FF-A version to use with the SPMC */
+static uint32_t ffa_version __read_mostly;
+
+static bool ffa_get_version(uint32_t *vers)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_VERSION,
+        .a1 = FFA_MY_VERSION,
+    };
+    struct arm_smccc_1_2_regs resp;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+    if ( resp.a0 == FFA_RET_NOT_SUPPORTED )
+    {
+        printk(XENLOG_ERR "ffa: FFA_VERSION returned not supported\n");
+        return false;
+    }
+
+    *vers = resp.a0;
+
+    return true;
+}
+
+static u16 get_vm_id(const struct domain *d)
+{
+    /* +1 since 0 is reserved for the hypervisor in FF-A */
+    return d->domain_id + 1;
+}
+
+static void set_regs(struct cpu_user_regs *regs, register_t v0, register_t v1,
+                     register_t v2, register_t v3, register_t v4, register_t v5,
+                     register_t v6, register_t v7)
+{
+        set_user_reg(regs, 0, v0);
+        set_user_reg(regs, 1, v1);
+        set_user_reg(regs, 2, v2);
+        set_user_reg(regs, 3, v3);
+        set_user_reg(regs, 4, v4);
+        set_user_reg(regs, 5, v5);
+        set_user_reg(regs, 6, v6);
+        set_user_reg(regs, 7, v7);
+}
+
+static void set_regs_success(struct cpu_user_regs *regs, uint32_t w2,
+                             uint32_t w3)
+{
+    set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, 0, 0, 0, 0);
+}
+
+static void handle_version(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+    uint32_t vers = get_user_reg(regs, 1);
+
+    if ( vers < FFA_VERSION_1_1 )
+        vers = FFA_VERSION_1_0;
+    else
+        vers = FFA_VERSION_1_1;
+
+    ctx->guest_vers = vers;
+    set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
+}
+
+bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
+{
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+
+    if ( !ctx )
+        return false;
+
+    switch ( fid )
+    {
+    case FFA_VERSION:
+        handle_version(regs);
+        return true;
+    case FFA_ID_GET:
+        set_regs_success(regs, get_vm_id(d), 0);
+        return true;
+
+    default:
+        printk(XENLOG_ERR "ffa: unhandled fid 0x%x\n", fid);
+        return false;
+    }
+}
+
+int ffa_domain_init(struct domain *d, bool ffa_enabled)
+{
+    struct ffa_ctx *ctx;
+
+    if ( !ffa_version || !ffa_enabled )
+        return 0;
+
+    ctx = xzalloc(struct ffa_ctx);
+    if ( !ctx )
+        return -ENOMEM;
+
+    d->arch.ffa = ctx;
+
+    return 0;
+}
+
+int ffa_relinquish_resources(struct domain *d)
+{
+    struct ffa_ctx *ctx = d->arch.ffa;
+
+    if ( !ctx )
+        return 0;
+
+    XFREE(d->arch.ffa);
+
+    return 0;
+}
+
+static int __init ffa_init(void)
+{
+    uint32_t vers;
+    unsigned int major_vers;
+    unsigned int minor_vers;
+
+    /*
+     * FFA_PAGE_SIZE is defined to 4k and we're currently depending on
+     * using that page size.
+     */
+    BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE);
+
+    /*
+     * psci_init_smccc() updates this value with what's reported by EL-3
+     * or secure world.
+     */
+    if ( smccc_ver < ARM_SMCCC_VERSION_1_2 )
+    {
+        printk(XENLOG_ERR
+               "ffa: unsupported SMCCC version %#x (need at least %#x)\n",
+               smccc_ver, ARM_SMCCC_VERSION_1_2);
+        return 0;
+    }
+
+    if ( !ffa_get_version(&vers) )
+        return 0;
+
+    if ( vers < FFA_MIN_VERSION || vers > FFA_MY_VERSION )
+    {
+        printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", vers);
+        return 0;
+    }
+
+    major_vers = (vers >> FFA_VERSION_MAJOR_SHIFT) & FFA_VERSION_MAJOR_MASK;
+    minor_vers = vers & FFA_VERSION_MINOR_MASK;
+    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
+           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
+    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
+           major_vers, minor_vers);
+
+    ffa_version = vers;
+
+    return 0;
+}
+
+__initcall(ffa_init);
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index ed63c2b6f91f..b3dee269bced 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -103,6 +103,10 @@ struct arch_domain
     void *tee;
 #endif
 
+#ifdef CONFIG_FFA
+    void *ffa;
+#endif
+
     bool directmap;
 }  __cacheline_aligned;
 
diff --git a/xen/arch/arm/include/asm/ffa.h b/xen/arch/arm/include/asm/ffa.h
new file mode 100644
index 000000000000..4f4a739345bd
--- /dev/null
+++ b/xen/arch/arm/include/asm/ffa.h
@@ -0,0 +1,71 @@
+/*
+ * xen/arch/arm/ffa.c
+ *
+ * Arm Firmware Framework for ARMv8-A(FFA) mediator
+ *
+ * Copyright (C) 2021  Linaro Limited
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __ASM_ARM_FFA_H__
+#define __ASM_ARM_FFA_H__
+
+#include <xen/const.h>
+
+#include <asm/smccc.h>
+#include <asm/types.h>
+
+#define FFA_FNUM_MIN_VALUE              _AC(0x60,U)
+#define FFA_FNUM_MAX_VALUE              _AC(0x86,U)
+
+static inline bool is_ffa_fid(uint32_t fid)
+{
+    uint32_t fn = fid & ARM_SMCCC_FUNC_MASK;
+
+    return fn >= FFA_FNUM_MIN_VALUE && fn <= FFA_FNUM_MAX_VALUE;
+}
+
+#ifdef CONFIG_FFA
+#define FFA_NR_FUNCS    11
+
+bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid);
+int ffa_domain_init(struct domain *d, bool ffa_enabled);
+int ffa_relinquish_resources(struct domain *d);
+#else
+#define FFA_NR_FUNCS    0
+
+static inline bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
+{
+    return false;
+}
+
+static inline int ffa_domain_init(struct domain *d, bool ffa_enabled)
+{
+    return 0;
+}
+
+static inline int ffa_relinquish_resources(struct domain *d)
+{
+    return 0;
+}
+#endif
+
+#endif /*__ASM_ARM_FFA_H__*/
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index 6f90c08a6304..34586025eff8 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -20,6 +20,7 @@
 #include <public/arch-arm/smccc.h>
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
+#include <asm/ffa.h>
 #include <asm/monitor.h>
 #include <asm/regs.h>
 #include <asm/smccc.h>
@@ -32,7 +33,7 @@
 #define XEN_SMCCC_FUNCTION_COUNT 3
 
 /* Number of functions currently supported by Standard Service Service Calls. */
-#define SSSC_SMCCC_FUNCTION_COUNT (3 + VPSCI_NR_FUNCS)
+#define SSSC_SMCCC_FUNCTION_COUNT (3 + VPSCI_NR_FUNCS + FFA_NR_FUNCS)
 
 static bool fill_uid(struct cpu_user_regs *regs, xen_uuid_t uuid)
 {
@@ -196,13 +197,23 @@ static bool handle_existing_apis(struct cpu_user_regs *regs)
     return do_vpsci_0_1_call(regs, fid);
 }
 
+static bool is_psci_fid(uint32_t fid)
+{
+    uint32_t fn = fid & ARM_SMCCC_FUNC_MASK;
+
+    return fn >= 0 && fn <= 0x1fU;
+}
+
 /* PSCI 0.2 interface and other Standard Secure Calls */
 static bool handle_sssc(struct cpu_user_regs *regs)
 {
     uint32_t fid = (uint32_t)get_user_reg(regs, 0);
 
-    if ( do_vpsci_0_2_call(regs, fid) )
-        return true;
+    if ( is_psci_fid(fid) )
+        return do_vpsci_0_2_call(regs, fid);
+
+    if ( is_ffa_fid(fid) )
+        return ffa_handle_call(regs, fid);
 
     switch ( fid )
     {
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index ab05fe12b0de..53f8d44a6a8e 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -318,6 +318,8 @@ struct xen_arch_domainconfig {
     /* IN/OUT */
     uint8_t gic_version;
     /* IN */
+    uint8_t ffa_enabled;
+    /* IN */
     uint16_t tee_type;
     /* IN */
     uint32_t nr_spis;
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389435.626368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCE-0004sA-8H; Thu, 18 Aug 2022 10:56:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389435.626368; Thu, 18 Aug 2022 10:56:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCE-0004qk-4F; Thu, 18 Aug 2022 10:56:18 +0000
Received: by outflank-mailman (input) for mailman id 389435;
 Thu, 18 Aug 2022 10:56:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdCC-00040G-Q1
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:16 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6177fd63-1ee4-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 12:56:15 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id v2so1633870lfi.6
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:15 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6177fd63-1ee4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=RqLPpxdovNEtqVVomQKo0f/+VcrD0Wl7yhZbLe6C164=;
        b=Lp1ORXUIjjXBCUXHShI8Om/tw8A1apy/1D3pCmrxB0crbU1iArP/n64p5uj2MEI7Xv
         uSUUu9C7ksDzqCDWFSS4BRi7VpLSjajxGm/MNvtxBhDFn9+VyVO3t260ZR6oteTFWCJq
         isl9s4PGxKp72kurHkMEF4dJ9os5+22ovajPNrUUDUEnjXpEvgavEUnQ7kGemo6F9kVJ
         XnoqxpGZIVUscVymiGvTXbQzyDJsxhPwlIP3RSj6EyLl63tM0U6EPZCwi/81/D872MtX
         J+yRBVDXY9XA1BdlYNOWoypmp1GxFaTHfe5pRC0tbYcP4JSa/uIPJ7PCybi6brX25rOB
         ZA4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=RqLPpxdovNEtqVVomQKo0f/+VcrD0Wl7yhZbLe6C164=;
        b=I/2FCdLbc9qJiDbx5n3CwfhssEGvZvVrChO1qlvNgu+Vw/HWXsZEw1EhrSHmgCJNlc
         fhL0pfT8DcUTDDGK13wZTn1FZPnW91qlD/+hneaa6DhhWUpJrD+0QYjYH6x5CsKOuGO4
         wkYeif65VLNueiTCnZdFYzVQzUcSAO0Rq8uA66gs4QMHyBcZLhg2ok0Odo0Dh4qcmWi+
         1rcjtw38NgaMEKM2N8PprExmCGu9Xx3vS4/V9ChRvMOTlCiidW1k6AET6b21aNK7xgU4
         27XF19k55A7vsEeCT27iGLbrtmcEgVxi1fyGH09ux9N13S4yAOj/U134l0HCZlcWxTE1
         I4mg==
X-Gm-Message-State: ACgBeo0VlRA4IDkfIu94rW1GtOku76NLXnbd90dQuA2KSeGcBd+fLDcO
	w++mYLkPXrxDBeIMrh/AjBRTh5YAWYdPCw==
X-Google-Smtp-Source: AA6agR77pQ1Wf7XELicTm8GscshX5rkOP1HAPfqJBcdxXXUKqTKbAC6wgXFuxEEukIq/phOhpa6Klg==
X-Received: by 2002:a05:6512:128d:b0:48b:465f:5da8 with SMTP id u13-20020a056512128d00b0048b465f5da8mr743679lfs.683.1660820174868;
        Thu, 18 Aug 2022 03:56:14 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 4/9] xen/arm: ffa: add direct request support
Date: Thu, 18 Aug 2022 12:55:56 +0200
Message-Id: <20220818105601.1896082-5-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds support for sending a FF-A direct request.

[1] https://developer.arm.com/documentation/den0077/latest
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/ffa.c | 119 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 119 insertions(+)

diff --git a/xen/arch/arm/ffa.c b/xen/arch/arm/ffa.c
index b85c492928d2..cd5eefb437f8 100644
--- a/xen/arch/arm/ffa.c
+++ b/xen/arch/arm/ffa.c
@@ -189,6 +189,7 @@
 
 struct ffa_ctx {
     uint32_t guest_vers;
+    bool interrupted;
 };
 
 /* Negotiated FF-A version to use with the SPMC */
@@ -214,6 +215,55 @@ static bool ffa_get_version(uint32_t *vers)
     return true;
 }
 
+static int32_t get_ffa_ret_code(const struct arm_smccc_1_2_regs *resp)
+{
+    switch ( resp->a0 )
+    {
+    case FFA_ERROR:
+        if ( resp->a2 )
+            return resp->a2;
+        else
+            return FFA_RET_NOT_SUPPORTED;
+    case FFA_SUCCESS_32:
+    case FFA_SUCCESS_64:
+        return FFA_RET_OK;
+    default:
+        return FFA_RET_NOT_SUPPORTED;
+    }
+}
+
+static int32_t ffa_simple_call(uint32_t fid, register_t a1, register_t a2,
+                               register_t a3, register_t a4)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = fid,
+        .a1 = a1,
+        .a2 = a2,
+        .a3 = a3,
+        .a4 = a4,
+    };
+    struct arm_smccc_1_2_regs resp;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+
+    return get_ffa_ret_code(&resp);
+}
+
+static int32_t ffa_features(uint32_t id)
+{
+    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
+}
+
+static bool check_mandatory_feature(uint32_t id)
+{
+    uint32_t ret = ffa_features(id);
+
+    if (ret)
+        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing\n", id);
+
+    return !ret;
+}
+
 static u16 get_vm_id(const struct domain *d)
 {
     /* +1 since 0 is reserved for the hypervisor in FF-A */
@@ -255,6 +305,66 @@ static void handle_version(struct cpu_user_regs *regs)
     set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
 }
 
+static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
+{
+    struct arm_smccc_1_2_regs arg = { .a0 = fid, };
+    struct arm_smccc_1_2_regs resp = { };
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+    uint32_t src_dst;
+    uint64_t mask;
+
+    if ( smccc_is_conv_64(fid) )
+        mask = GENMASK_ULL(63, 0);
+    else
+        mask = GENMASK_ULL(31, 0);
+
+    src_dst = get_user_reg(regs, 1);
+    if ( (src_dst >> 16) != get_vm_id(d) )
+    {
+        resp.a0 = FFA_ERROR;
+        resp.a2 = FFA_RET_INVALID_PARAMETERS;
+        goto out;
+    }
+
+    arg.a1 = src_dst;
+    arg.a2 = get_user_reg(regs, 2) & mask;
+    arg.a3 = get_user_reg(regs, 3) & mask;
+    arg.a4 = get_user_reg(regs, 4) & mask;
+    arg.a5 = get_user_reg(regs, 5) & mask;
+    arg.a6 = get_user_reg(regs, 6) & mask;
+    arg.a7 = get_user_reg(regs, 7) & mask;
+
+    while ( true )
+    {
+        arm_smccc_1_2_smc(&arg, &resp);
+
+        switch ( resp.a0 )
+        {
+        case FFA_INTERRUPT:
+            ctx->interrupted = true;
+            goto out;
+        case FFA_ERROR:
+        case FFA_SUCCESS_32:
+        case FFA_SUCCESS_64:
+        case FFA_MSG_SEND_DIRECT_RESP_32:
+        case FFA_MSG_SEND_DIRECT_RESP_64:
+            goto out;
+        default:
+            /* Bad fid, report back. */
+            memset(&arg, 0, sizeof(arg));
+            arg.a0 = FFA_ERROR;
+            arg.a1 = src_dst;
+            arg.a2 = FFA_RET_NOT_SUPPORTED;
+            continue;
+        }
+    }
+
+out:
+    set_regs(regs, resp.a0, resp.a1 & mask, resp.a2 & mask, resp.a3 & mask,
+             resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 & mask);
+}
+
 bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
 {
     struct domain *d = current->domain;
@@ -271,6 +381,12 @@ bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
     case FFA_ID_GET:
         set_regs_success(regs, get_vm_id(d), 0);
         return true;
+    case FFA_MSG_SEND_DIRECT_REQ_32:
+#ifdef CONFIG_ARM_64
+    case FFA_MSG_SEND_DIRECT_REQ_64:
+#endif
+        handle_msg_send_direct_req(regs, fid);
+        return true;
 
     default:
         printk(XENLOG_ERR "ffa: unhandled fid 0x%x\n", fid);
@@ -346,6 +462,9 @@ static int __init ffa_init(void)
     printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
            major_vers, minor_vers);
 
+    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
+        return 0;
+
     ffa_version = vers;
 
     return 0;
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389436.626374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCE-0004we-OO; Thu, 18 Aug 2022 10:56:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389436.626374; Thu, 18 Aug 2022 10:56:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCE-0004va-Dz; Thu, 18 Aug 2022 10:56:18 +0000
Received: by outflank-mailman (input) for mailman id 389436;
 Thu, 18 Aug 2022 10:56:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdCD-0003wI-Iw
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:17 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6239e1c2-1ee4-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 12:56:16 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id u9so1609894lfg.11
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:16 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6239e1c2-1ee4-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=pbpcq5/7brehKyi97FiJOw5kIYqiG7iSR5D6amj2SQs=;
        b=Hzks//CH+GAmvxbeDIuYTF4c0sxqyUup/iwBIo8HeMGduxcixNKiog8NS8Vk7i8PUF
         G84LvY8S4zlfNXNAbsCN9bmRDaEbz8M48tnIcxRpt9QZHJbuvGZmdcevcGdEezza+A9E
         0ylJ/N9eQUzoJ1xNyKjtURPXHRSc3SceM/7mcF7OwyzbYNFzM1imqgUtIXOCfdCCnkZG
         z1KjuXM54syqdAkiU5hpLNKHQ+hyGJkB01XhPml+PHLOLTIs2TDi30jETR1jvDWN+Hqa
         rslM34U4A3WWKo4lV8rNLAJRGDcsupCZ1N5nC+OFOMQfUleRVk2D2c559zW/ivRcoWeY
         seSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=pbpcq5/7brehKyi97FiJOw5kIYqiG7iSR5D6amj2SQs=;
        b=4hp8fz2H9nJmf7ORVaYfFf9/6CcjP2ZBiF6eLsEP45KHq8k1HHI34TYR6ESl9GgjQL
         wJ4awcNIZtrXAs3wsnCXPsRqhXnJxTsHC4ifqHDmnUt44M6TkhFCTFrx9p/gccxcoZ/z
         srOwA8AH1Gow5+qh4VQs19rEHIkZhLUKw6Lk1LCmXdq5myXhij9ADlfxwTBGUUZNBoYe
         ykTLqe342IVi1Rd0cuZRReSY7jcKkavM6p5Zzcfxf/R6tgQ8gTRKyGawyfQ8hKm5QChu
         M12bYCQaYG7uglqa+c3TVNj8xoZld2jUredU6QHQGEimBoPWt4hHKCUqVpWYk9d306CH
         J/JA==
X-Gm-Message-State: ACgBeo3fp+E62O+VD8MseyhC4VZaF7spkI3MJgLZMfviKbo2QNaSGBJL
	ylaoh6Io7UqEKeBxoX26HDQ3jjHuI/jfUA==
X-Google-Smtp-Source: AA6agR7U+SP50b6NDvV90q44cjvslfWk0ewjS13Rru+OntMtSOCiHAIq6+4aHIelV/FC4u4NnojeDQ==
X-Received: by 2002:a05:6512:25a3:b0:48a:e7e7:eea3 with SMTP id bf35-20020a05651225a300b0048ae7e7eea3mr726381lfb.205.1660820176237;
        Thu, 18 Aug 2022 03:56:16 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 5/9] xen/arm: ffa: map SPMC rx/tx buffers
Date: Thu, 18 Aug 2022 12:55:57 +0200
Message-Id: <20220818105601.1896082-6-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When initializing the FF-A mediator map the RX and TX buffers shared with
the SPMC.

These buffer are later used to to transmit data that cannot be passed in
registers only.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/ffa.c | 57 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 56 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/ffa.c b/xen/arch/arm/ffa.c
index cd5eefb437f8..b1bf5538b111 100644
--- a/xen/arch/arm/ffa.c
+++ b/xen/arch/arm/ffa.c
@@ -195,6 +195,15 @@ struct ffa_ctx {
 /* Negotiated FF-A version to use with the SPMC */
 static uint32_t ffa_version __read_mostly;
 
+/*
+ * Our rx/tx buffers shared with the SPMC.
+ *
+ * ffa_page_count is the number of pages used in each of these buffers.
+ */
+static void *ffa_rx __read_mostly;
+static void *ffa_tx __read_mostly;
+static unsigned int ffa_page_count __read_mostly;
+
 static bool ffa_get_version(uint32_t *vers)
 {
     const struct arm_smccc_1_2_regs arg = {
@@ -264,6 +273,17 @@ static bool check_mandatory_feature(uint32_t id)
     return !ret;
 }
 
+static int32_t ffa_rxtx_map(register_t tx_addr, register_t rx_addr,
+                            uint32_t page_count)
+{
+    uint32_t fid = FFA_RXTX_MAP_32;
+
+    if ( IS_ENABLED(CONFIG_ARM_64) )
+        fid = FFA_RXTX_MAP_64;
+
+    return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
+}
+
 static u16 get_vm_id(const struct domain *d)
 {
     /* +1 since 0 is reserved for the hypervisor in FF-A */
@@ -425,6 +445,7 @@ int ffa_relinquish_resources(struct domain *d)
 static int __init ffa_init(void)
 {
     uint32_t vers;
+    int e;
     unsigned int major_vers;
     unsigned int minor_vers;
 
@@ -462,11 +483,45 @@ static int __init ffa_init(void)
     printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
            major_vers, minor_vers);
 
-    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
+    if (
+#ifdef CONFIG_ARM_64
+         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
+#endif
+#ifdef CONFIG_ARM_32
+         !check_mandatory_feature(FFA_RXTX_MAP_32) ||
+#endif
+         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
+         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
+        return 0;
+
+    ffa_rx = alloc_xenheap_pages(0, 0);
+    if ( !ffa_rx )
         return 0;
 
+    ffa_tx = alloc_xenheap_pages(0, 0);
+    if ( !ffa_tx )
+        goto err_free_ffa_rx;
+
+    e = ffa_rxtx_map(__pa(ffa_tx), __pa(ffa_rx), 1);
+    if ( e )
+    {
+        printk(XENLOG_ERR "ffa: Failed to map rxtx: error %d\n", e);
+        goto err_free_ffa_tx;
+    }
+    ffa_page_count = 1;
     ffa_version = vers;
 
+    return 0;
+
+err_free_ffa_tx:
+    free_xenheap_pages(ffa_tx, 0);
+    ffa_tx = NULL;
+err_free_ffa_rx:
+    free_xenheap_pages(ffa_rx, 0);
+    ffa_rx = NULL;
+    ffa_page_count = 0;
+    ffa_version = 0;
+
     return 0;
 }
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389437.626395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCG-0005dT-WF; Thu, 18 Aug 2022 10:56:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389437.626395; Thu, 18 Aug 2022 10:56:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCG-0005dH-SL; Thu, 18 Aug 2022 10:56:20 +0000
Received: by outflank-mailman (input) for mailman id 389437;
 Thu, 18 Aug 2022 10:56:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdCF-00040G-Ad
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:19 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 633cb997-1ee4-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 12:56:18 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id x19so1625913lfq.7
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:18 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 633cb997-1ee4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=dh2h34q1Ug4ibG6Cq4DfgALFzbLNgfTxAYMzvOyVpzQ=;
        b=rMKxk3Ojr4JQtueVqBBMgE/Z7gIHTwYkmMHuQTXSjk1jKOikDDkX+LXczLB4vodUa/
         G8FUvKJQh4A8RcJh1HsN6TS+282Ajv2ELXGynQcs4fagTxNizk+M6jQXjpHIQsKArH/o
         VM66K14mTeiJIdlqYQI2wmEdGiTYSsksWASwWkOqni4cI2HglAevjvUZSiqah0RhKnFh
         7wV3Yph2+Zn6JesZ4EFCT9k9NzzybWDe65bP8cpub9ZjgLVV1Bf2Hdg9vrAcaPOxodAY
         D+3ysyiGbZO13a7JPkQcwTvMUsBuGxHanaXs9b3Sn1DA0srW1NJHFoXzuP8Vvy0mSrNX
         39HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=dh2h34q1Ug4ibG6Cq4DfgALFzbLNgfTxAYMzvOyVpzQ=;
        b=zooeAJG0NOCFjOa56gl/7jdojjjpcjZ8pLntsfC1OnaZ7Yb9iB0vLqAbC+6M35aKZn
         QkQATM4z+Sl0QjT/tt54aESuBmBBrNNWFXaXPZXr/IvGA9WMjhnoUfSwoqRylwKX4KP3
         iolOozL9BTz0MxG0pqruPZoVOeOblUUQGX2scv3z1z63E0s1+/pCsbfctFe9S0Aao9kH
         fOZw40KXDo4nS6EG+lkD8VDUWBsNZ59gLXj84D46+L0xaoaxRzmNzDJi8KjoCJyfpTXS
         Jg2HYaFiQ7EHxnnGPaSb7lPim16zctH9Dvro9RJTmCUyhF0n6nlGxM5Y3Uq9k7PSEw3D
         IKMQ==
X-Gm-Message-State: ACgBeo1OIzJkjQ72qiNJcPZlYSE76Pq2Mk/Z5kbOOp8mPXCx2qskyak4
	/DOjKJi3Xd9Vu4ibwA3ZNGD0Dgzccz3z2w==
X-Google-Smtp-Source: AA6agR5bdKmwWdFYS3BjAnI/DH6cFmw8Og++hk/+eoeAVkLii2bJxZNscdyqRm5U/jnZCsAOjQ/JVg==
X-Received: by 2002:ac2:4bcc:0:b0:48d:a8a5:3b50 with SMTP id o12-20020ac24bcc000000b0048da8a53b50mr775223lfq.521.1660820177842;
        Thu, 18 Aug 2022 03:56:17 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 6/9] xen/arm: ffa: send guest events to Secure Partitions
Date: Thu, 18 Aug 2022 12:55:58 +0200
Message-Id: <20220818105601.1896082-7-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The FF-A specification defines framework messages sent as direct
requests when certain events occurs. For instance when a VM (guest) is
created or destroyed. Only SPs which have subscribed to these events
will receive them. An SP can subscribe to these messages in its
partition properties.

The partition properties of each SP is retrieved with
FFA_PARTITION_INFO_GET which returns the information in our RX buffer.
Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
caller (us), so once we're done with the buffer it must be released
using FFA_RX_RELEASE before another call can be made.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/ffa.c | 192 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 191 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/ffa.c b/xen/arch/arm/ffa.c
index b1bf5538b111..a829379ad176 100644
--- a/xen/arch/arm/ffa.c
+++ b/xen/arch/arm/ffa.c
@@ -187,6 +187,14 @@
 #define FFA_MSG_SEND                    0x8400006EU
 #define FFA_MSG_POLL                    0x8400006AU
 
+/* Partition information descriptor */
+struct ffa_partition_info_1_1 {
+    uint16_t id;
+    uint16_t execution_context;
+    uint32_t partition_properties;
+    uint8_t uuid[16];
+};
+
 struct ffa_ctx {
     uint32_t guest_vers;
     bool interrupted;
@@ -195,6 +203,12 @@ struct ffa_ctx {
 /* Negotiated FF-A version to use with the SPMC */
 static uint32_t ffa_version __read_mostly;
 
+/* SPs subscribing to VM_CREATE and VM_DESTROYED events */
+static uint16_t *subscr_vm_created __read_mostly;
+static unsigned int subscr_vm_created_count __read_mostly;
+static uint16_t *subscr_vm_destroyed __read_mostly;
+static unsigned int subscr_vm_destroyed_count __read_mostly;
+
 /*
  * Our rx/tx buffers shared with the SPMC.
  *
@@ -284,6 +298,72 @@ static int32_t ffa_rxtx_map(register_t tx_addr, register_t rx_addr,
     return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
 }
 
+static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
+                                      uint32_t w4, uint32_t w5,
+                                      uint32_t *count)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_PARTITION_INFO_GET,
+        .a1 = w1,
+        .a2 = w2,
+        .a3 = w3,
+        .a4 = w4,
+        .a5 = w5,
+    };
+    struct arm_smccc_1_2_regs resp;
+    uint32_t ret;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+
+    ret = get_ffa_ret_code(&resp);
+    if ( !ret )
+        *count = resp.a2;
+
+    return ret;
+}
+
+static int32_t ffa_rx_release(void)
+{
+    return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
+}
+
+static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
+                                      uint8_t msg)
+{
+    uint32_t exp_resp = FFA_MSG_FLAG_FRAMEWORK;
+    int32_t res;
+
+    if ( msg == FFA_MSG_SEND_VM_CREATED )
+        exp_resp |= FFA_MSG_RESP_VM_CREATED;
+    else if ( msg == FFA_MSG_SEND_VM_DESTROYED )
+        exp_resp |= FFA_MSG_RESP_VM_DESTROYED;
+    else
+        return FFA_RET_INVALID_PARAMETERS;
+
+    do {
+        const struct arm_smccc_1_2_regs arg = {
+            .a0 = FFA_MSG_SEND_DIRECT_REQ_32,
+            .a1 = sp_id,
+            .a2 = FFA_MSG_FLAG_FRAMEWORK | msg,
+            .a5 = vm_id,
+        };
+        struct arm_smccc_1_2_regs resp;
+
+        arm_smccc_1_2_smc(&arg, &resp);
+        if ( resp.a0 != FFA_MSG_SEND_DIRECT_RESP_32 || resp.a2 != exp_resp )
+        {
+            /*
+             * This is an invalid response, likely due to some error in the
+             * implementation of the ABI.
+             */
+            return FFA_RET_INVALID_PARAMETERS;
+        }
+        res = resp.a3;
+    } while ( res == FFA_RET_INTERRUPTED || res == FFA_RET_RETRY );
+
+    return res;
+}
+
 static u16 get_vm_id(const struct domain *d)
 {
     /* +1 since 0 is reserved for the hypervisor in FF-A */
@@ -417,6 +497,10 @@ bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
 int ffa_domain_init(struct domain *d, bool ffa_enabled)
 {
     struct ffa_ctx *ctx;
+    unsigned int n;
+    unsigned int m;
+    unsigned int c_pos;
+    int32_t res;
 
     if ( !ffa_version || !ffa_enabled )
         return 0;
@@ -425,23 +509,120 @@ int ffa_domain_init(struct domain *d, bool ffa_enabled)
     if ( !ctx )
         return -ENOMEM;
 
+    for ( n = 0; n < subscr_vm_created_count; n++ )
+    {
+        res = ffa_direct_req_send_vm(subscr_vm_created[n], get_vm_id(d),
+                                     FFA_MSG_SEND_VM_CREATED);
+        if ( res )
+        {
+            printk(XENLOG_ERR "ffa: Failed to report creation of vm_id %u to  %u: res %d\n",
+                   get_vm_id(d), subscr_vm_created[n], res);
+            c_pos = n;
+            goto err;
+        }
+    }
+
     d->arch.ffa = ctx;
 
     return 0;
+
+err:
+    /* Undo any already sent vm created messaged */
+    for ( n = 0; n < c_pos; n++ )
+        for ( m = 0; m < subscr_vm_destroyed_count; m++ )
+            if ( subscr_vm_destroyed[m] == subscr_vm_created[n] )
+                ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_id(d),
+                                       FFA_MSG_SEND_VM_DESTROYED);
+
+    return -ENOMEM;
 }
 
 int ffa_relinquish_resources(struct domain *d)
 {
     struct ffa_ctx *ctx = d->arch.ffa;
+    unsigned int n;
+    int32_t res;
 
     if ( !ctx )
         return 0;
 
+    for ( n = 0; n < subscr_vm_destroyed_count; n++ )
+    {
+        res = ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_id(d),
+                                     FFA_MSG_SEND_VM_DESTROYED);
+
+        if ( res )
+            printk(XENLOG_ERR "ffa: Failed to report destruction of vm_id %u to  %u: res %d\n",
+                   get_vm_id(d), subscr_vm_destroyed[n], res);
+    }
+
     XFREE(d->arch.ffa);
 
     return 0;
 }
 
+static bool __init init_subscribers(void)
+{
+    struct ffa_partition_info_1_1 *fpi;
+    bool ret = false;
+    uint32_t count;
+    int e;
+    uint32_t n;
+    uint32_t c_pos;
+    uint32_t d_pos;
+
+    if ( ffa_version < FFA_VERSION_1_1 )
+        return true;
+
+    e = ffa_partition_info_get(0, 0, 0, 0, 0, &count);
+    if ( e )
+    {
+        printk(XENLOG_ERR "ffa: Failed to get list of SPs: %d\n", e);
+        goto out;
+    }
+
+    fpi = ffa_rx;
+    subscr_vm_created_count = 0;
+    subscr_vm_destroyed_count = 0;
+    for ( n = 0; n < count; n++ )
+    {
+        if (fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED)
+            subscr_vm_created_count++;
+        if (fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYED)
+            subscr_vm_destroyed_count++;
+    }
+
+    if ( subscr_vm_created_count )
+        subscr_vm_created = xzalloc_array(uint16_t, subscr_vm_created_count);
+    if ( subscr_vm_destroyed_count )
+        subscr_vm_destroyed = xzalloc_array(uint16_t,
+                                            subscr_vm_destroyed_count);
+    if ( (subscr_vm_created_count && !subscr_vm_created) ||
+         (subscr_vm_destroyed_count && !subscr_vm_destroyed) )
+    {
+        printk(XENLOG_ERR "ffa: Failed to allocate subscription lists\n");
+        subscr_vm_created_count = 0;
+        subscr_vm_destroyed_count = 0;
+        XFREE(subscr_vm_created);
+        XFREE(subscr_vm_destroyed);
+        goto out;
+    }
+
+    for ( c_pos = 0, d_pos = 0, n = 0; n < count; n++ )
+    {
+        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED )
+            subscr_vm_created[c_pos++] = fpi[n].id;
+        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
+            subscr_vm_destroyed[d_pos++] = fpi[n].id;
+    }
+
+    ret = true;
+out:
+    ffa_rx_release();
+
+    return ret;
+}
+
 static int __init ffa_init(void)
 {
     uint32_t vers;
@@ -483,9 +664,11 @@ static int __init ffa_init(void)
     printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
            major_vers, minor_vers);
 
-    if (
+    if ( !check_mandatory_feature(FFA_PARTITION_INFO_GET) ||
+         !check_mandatory_feature(FFA_RX_RELEASE) ||
 #ifdef CONFIG_ARM_64
          !check_mandatory_feature(FFA_RXTX_MAP_64) ||
+         !check_mandatory_feature(FFA_MEM_SHARE_64) ||
 #endif
 #ifdef CONFIG_ARM_32
          !check_mandatory_feature(FFA_RXTX_MAP_32) ||
@@ -511,6 +694,9 @@ static int __init ffa_init(void)
     ffa_page_count = 1;
     ffa_version = vers;
 
+    if ( !init_subscribers() )
+        goto err_free_ffa_tx;
+
     return 0;
 
 err_free_ffa_tx:
@@ -521,6 +707,10 @@ err_free_ffa_rx:
     ffa_rx = NULL;
     ffa_page_count = 0;
     ffa_version = 0;
+    XFREE(subscr_vm_created);
+    subscr_vm_created_count = 0;
+    XFREE(subscr_vm_destroyed);
+    subscr_vm_destroyed_count = 0;
 
     return 0;
 }
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389438.626406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCJ-0005zL-BK; Thu, 18 Aug 2022 10:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389438.626406; Thu, 18 Aug 2022 10:56:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCJ-0005zA-84; Thu, 18 Aug 2022 10:56:23 +0000
Received: by outflank-mailman (input) for mailman id 389438;
 Thu, 18 Aug 2022 10:56:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdCG-0003wI-S1
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:20 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6421fb85-1ee4-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 12:56:20 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id by6so1327877ljb.11
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:20 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6421fb85-1ee4-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=lDuRX+SstIf75iFFLa/jm8bkDViMNpwMKk2fFzsI/eE=;
        b=ZowgXl6oYija/3iM3rBeTy+wNeNyiFRfjsjqyTzaUbEKElWYWkHxNTe5tlt4/cYdUm
         LSBfmzS8A6+OwcqjVnL/0oXAdvz7Iu7zJIdl0uy2+badTjLfGvmACeEWXMOHxtBxQx30
         1mm1R6mPO3W/WT2rB/DOre7wqEdaike2TkPzAJCw4DNqH5Xu1QaDb3PC0FBZOkwoaKqK
         M//SrD6ObWc5LvUDNW5y6fwMugyXIJgaJcI1PPQRIv6X91Lqc/HrXciPjPtfBgdj33Dy
         DvxBCo8Ap1d6FpRielgtMquVriW+UT3AdIDOO2PoVWgo7hG4kXYKPhbOidNuqFQt0rKZ
         65cQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=lDuRX+SstIf75iFFLa/jm8bkDViMNpwMKk2fFzsI/eE=;
        b=3hX05aAB7WMTCRJAeaUV3ZIoGFVlCrVwXkTW7hzHV9ZLQ3PkqjljKoD661Bszzzd2y
         QWQ+d1DXboszd6+00OO2TbNuNHyw1QIUKNNi3UMmj3qR+/UKpZNw/NeeUKGVlTompPB0
         b1GVjdT5QYlHC3NVMREXnggXMfuox4FOAZyw/gM8WlrXnYIx0QiX95HPaaLXUHjuR1f8
         XJ7ks2tc3imibWjRBexJYUg9Z1Fv1yURF+ckr1R+SL7hP9x/01+m4it/sndBULhl/Fci
         N1Czi7zPFX1h+olDHMIaAN4zSdMqb979nKZWgqUWsjjaSmzDpeigMXm5BBo0erQ++TeJ
         3nbw==
X-Gm-Message-State: ACgBeo38PdFeUtWZbG85mOa/rJUWORYXOPQYOUR/My7dkeCHZ067XIh8
	KtpXysyExmQxi0//NFYYAqJ8zsC33idV4w==
X-Google-Smtp-Source: AA6agR5mcqhU7mwDk0sLS8XPepcQpOQ4NqaWy6tlhea5wb3A1e5eRj9IuDHbO2f41x8l5zSpaHg7CA==
X-Received: by 2002:a2e:b8ce:0:b0:261:ada1:d803 with SMTP id s14-20020a2eb8ce000000b00261ada1d803mr684504ljp.143.1660820179382;
        Thu, 18 Aug 2022 03:56:19 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 7/9] xen/arm: ffa: support mapping guest RX/TX buffers
Date: Thu, 18 Aug 2022 12:55:59 +0200
Message-Id: <20220818105601.1896082-8-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds support in the mediator to map and unmap the RX and TX buffers
provided by the guest using the two FF-A functions FFA_RXTX_MAP and
FFA_RXTX_UNMAP.

These buffer are later used to to transmit data that cannot be passed in
registers only.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/ffa.c | 127 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 127 insertions(+)

diff --git a/xen/arch/arm/ffa.c b/xen/arch/arm/ffa.c
index a829379ad176..5e7211f0b4f6 100644
--- a/xen/arch/arm/ffa.c
+++ b/xen/arch/arm/ffa.c
@@ -196,10 +196,17 @@ struct ffa_partition_info_1_1 {
 };
 
 struct ffa_ctx {
+    void *rx;
+    const void *tx;
+    struct page_info *rx_pg;
+    struct page_info *tx_pg;
+    unsigned int page_count;
     uint32_t guest_vers;
+    bool tx_is_mine;
     bool interrupted;
 };
 
+
 /* Negotiated FF-A version to use with the SPMC */
 static uint32_t ffa_version __read_mostly;
 
@@ -384,6 +391,11 @@ static void set_regs(struct cpu_user_regs *regs, register_t v0, register_t v1,
         set_user_reg(regs, 7, v7);
 }
 
+static void set_regs_error(struct cpu_user_regs *regs, uint32_t error_code)
+{
+    set_regs(regs, FFA_ERROR, 0, error_code, 0, 0, 0, 0, 0);
+}
+
 static void set_regs_success(struct cpu_user_regs *regs, uint32_t w2,
                              uint32_t w3)
 {
@@ -405,6 +417,99 @@ static void handle_version(struct cpu_user_regs *regs)
     set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
 }
 
+static uint32_t handle_rxtx_map(uint32_t fid, register_t tx_addr,
+                                register_t rx_addr, uint32_t page_count)
+{
+    uint32_t ret = FFA_RET_INVALID_PARAMETERS;
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+    struct page_info *tx_pg;
+    struct page_info *rx_pg;
+    p2m_type_t t;
+    void *rx;
+    void *tx;
+
+    if ( !smccc_is_conv_64(fid) )
+    {
+        tx_addr &= UINT32_MAX;
+        rx_addr &= UINT32_MAX;
+    }
+
+    /* For now to keep things simple, only deal with a single page */
+    if ( page_count != 1 )
+        return FFA_RET_NOT_SUPPORTED;
+
+    /* Already mapped */
+    if ( ctx->rx )
+        return FFA_RET_DENIED;
+
+    tx_pg = get_page_from_gfn(d, gfn_x(gaddr_to_gfn(tx_addr)), &t, P2M_ALLOC);
+    if ( !tx_pg )
+        return FFA_RET_INVALID_PARAMETERS;
+    /* Only normal RAM for now */
+    if ( !p2m_is_ram(t) )
+        goto err_put_tx_pg;
+
+    rx_pg = get_page_from_gfn(d, gfn_x(gaddr_to_gfn(rx_addr)), &t, P2M_ALLOC);
+    if ( !tx_pg )
+        goto err_put_tx_pg;
+    /* Only normal RAM for now */
+    if ( !p2m_is_ram(t) )
+        goto err_put_rx_pg;
+
+    tx = __map_domain_page_global(tx_pg);
+    if ( !tx )
+        goto err_put_rx_pg;
+
+    rx = __map_domain_page_global(rx_pg);
+    if ( !rx )
+        goto err_unmap_tx;
+
+    ctx->rx = rx;
+    ctx->tx = tx;
+    ctx->rx_pg = rx_pg;
+    ctx->tx_pg = tx_pg;
+    ctx->page_count = 1;
+    ctx->tx_is_mine = true;
+    return FFA_RET_OK;
+
+err_unmap_tx:
+    unmap_domain_page_global(tx);
+err_put_rx_pg:
+    put_page(rx_pg);
+err_put_tx_pg:
+    put_page(tx_pg);
+
+    return ret;
+}
+
+static void rxtx_unmap(struct ffa_ctx *ctx)
+{
+    unmap_domain_page_global(ctx->rx);
+    unmap_domain_page_global(ctx->tx);
+    put_page(ctx->rx_pg);
+    put_page(ctx->tx_pg);
+    ctx->rx = NULL;
+    ctx->tx = NULL;
+    ctx->rx_pg = NULL;
+    ctx->tx_pg = NULL;
+    ctx->page_count = 0;
+    ctx->tx_is_mine = false;
+}
+
+static uint32_t handle_rxtx_unmap(void)
+{
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+
+    if ( !ctx->rx )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    rxtx_unmap(ctx);
+
+    return FFA_RET_OK;
+}
+
 static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
 {
     struct arm_smccc_1_2_regs arg = { .a0 = fid, };
@@ -469,6 +574,7 @@ bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
 {
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.ffa;
+    int e;
 
     if ( !ctx )
         return false;
@@ -481,6 +587,24 @@ bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
     case FFA_ID_GET:
         set_regs_success(regs, get_vm_id(d), 0);
         return true;
+    case FFA_RXTX_MAP_32:
+#ifdef CONFIG_ARM_64
+    case FFA_RXTX_MAP_64:
+#endif
+        e = handle_rxtx_map(fid, get_user_reg(regs, 1), get_user_reg(regs, 2),
+                            get_user_reg(regs, 3));
+        if ( e )
+            set_regs_error(regs, e);
+        else
+            set_regs_success(regs, 0, 0);
+        return true;
+    case FFA_RXTX_UNMAP:
+        e = handle_rxtx_unmap();
+        if ( e )
+            set_regs_error(regs, e);
+        else
+            set_regs_success(regs, 0, 0);
+        return true;
     case FFA_MSG_SEND_DIRECT_REQ_32:
 #ifdef CONFIG_ARM_64
     case FFA_MSG_SEND_DIRECT_REQ_64:
@@ -556,6 +680,9 @@ int ffa_relinquish_resources(struct domain *d)
                    get_vm_id(d), subscr_vm_destroyed[n], res);
     }
 
+    if ( ctx->rx )
+        rxtx_unmap(ctx);
+
     XFREE(d->arch.ffa);
 
     return 0;
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389439.626411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCK-000668-2I; Thu, 18 Aug 2022 10:56:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389439.626411; Thu, 18 Aug 2022 10:56:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCJ-000659-UP; Thu, 18 Aug 2022 10:56:23 +0000
Received: by outflank-mailman (input) for mailman id 389439;
 Thu, 18 Aug 2022 10:56:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdCI-00040G-2u
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:22 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64f9110b-1ee4-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 12:56:21 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id v2so1634179lfi.6
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:21 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64f9110b-1ee4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=pf7HP/OCbwnWchVju6GNdXTQSDE48F6ElvQDHzbdRk4=;
        b=WJqDeV6bmgbjUNYm8bHLoViQidJCfXnNR1tjvf67jkg6Klw8iBWW2mwQOjdHI2HBSK
         oIXbIDZov0kSQzEUTnav6hyerUjKOLJ8rfRv4Fqb1AerNlcnpQpiongdDyT+0BPikVmy
         18xPH7F9MOZVqty0KxfT/aoCRwYxRP3i+OYeP/Gz4Hz1bQ9jumG+yXIA4C8S8Ivd8Irn
         hshOMFx/nPOaSqEdIqhplHKD6NtdBFtkPMEGl/Bjzf2UApYXJyaAqquPEX47Sj8GD3xX
         5xysxpWhhMCtzlwnBBOEuGbSHr37kZaEYBmFQct9RwqZS7aDljXgNpa5BTEhDhZH/jos
         BYDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=pf7HP/OCbwnWchVju6GNdXTQSDE48F6ElvQDHzbdRk4=;
        b=jGugSdl6aFPwCYJuk5c/RV6e95VlcDIOR8icVKb349xSowsqpgqBhDXNNSUdB2xDtc
         xMV66aD9xysZ3Mq2EwCj4HvnmPjsLWzAVRK6gno9L5BjLSWII8TjwlPmXJ1ppxgJ9WAd
         0i1DRt7aU28Sqw/pI51z5cCoEGAJmo8hX9ej80rMpuUIYMKw/8DiKUiUSNgfS2OOI0z1
         him/04o6SgSvKz/V2zC3avwoICoVAnK7ZQlAEf0Z+W0YD3DQV4Houly++rtZfCp5cuqL
         /r9Gm3Y43FnCdFnraDNOSVxxd8u9h9LwEUiKFLiiB7I7kSCprXV/Z8YpS2RVtIH+G/Kk
         0aTA==
X-Gm-Message-State: ACgBeo3K5blrSPA/09FtjU1B32beXR2nWip0JknjkOp6SkJiryIDxjGH
	fWRtRAA9Px+r9MMqaK4+dXrvsAiSr107Uw==
X-Google-Smtp-Source: AA6agR7Wnbnmr3BoQnSHvmXZDr2MSdOPfFwb8WV+/Vxhjy4cy1K8EMvI3s4uVeXtpKqQ3K0a+V+hAA==
X-Received: by 2002:a05:6512:23a5:b0:491:1fef:7f8f with SMTP id c37-20020a05651223a500b004911fef7f8fmr754220lfv.125.1660820180779;
        Thu, 18 Aug 2022 03:56:20 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 8/9] xen/arm: ffa: support guest FFA_PARTITION_INFO_GET
Date: Thu, 18 Aug 2022 12:56:00 +0200
Message-Id: <20220818105601.1896082-9-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds support in the mediator to handle FFA_PARTITION_INFO_GET requests
from a guest. The requests are forwarded to the SPMC and the response is
translated according to the FF-A version in use by the guest.

Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
caller (the guest in this case), so once it is done with the buffer it
must be released using FFA_RX_RELEASE before another call can be made.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/ffa.c | 126 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 124 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/ffa.c b/xen/arch/arm/ffa.c
index 5e7211f0b4f6..d2872acc3474 100644
--- a/xen/arch/arm/ffa.c
+++ b/xen/arch/arm/ffa.c
@@ -188,6 +188,12 @@
 #define FFA_MSG_POLL                    0x8400006AU
 
 /* Partition information descriptor */
+struct ffa_partition_info_1_0 {
+    uint16_t id;
+    uint16_t execution_context;
+    uint32_t partition_properties;
+};
+
 struct ffa_partition_info_1_1 {
     uint16_t id;
     uint16_t execution_context;
@@ -204,9 +210,8 @@ struct ffa_ctx {
     uint32_t guest_vers;
     bool tx_is_mine;
     bool interrupted;
+    spinlock_t lock;
 };
-
-
 /* Negotiated FF-A version to use with the SPMC */
 static uint32_t ffa_version __read_mostly;
 
@@ -220,10 +225,16 @@ static unsigned int subscr_vm_destroyed_count __read_mostly;
  * Our rx/tx buffers shared with the SPMC.
  *
  * ffa_page_count is the number of pages used in each of these buffers.
+ *
+ * The RX buffer is protected from concurrent usage with ffa_rx_buffer_lock.
+ * Note that the SPMC is also tracking the ownership of our RX buffer so
+ * for calls which uses our RX buffer to deliver a result we must call
+ * ffa_rx_release() to let the SPMC know that we're done with the buffer.
  */
 static void *ffa_rx __read_mostly;
 static void *ffa_tx __read_mostly;
 static unsigned int ffa_page_count __read_mostly;
+static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
 
 static bool ffa_get_version(uint32_t *vers)
 {
@@ -510,6 +521,98 @@ static uint32_t handle_rxtx_unmap(void)
     return FFA_RET_OK;
 }
 
+static uint32_t handle_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
+                                          uint32_t w4, uint32_t w5,
+                                          uint32_t *count)
+{
+    bool query_count_only = w5 & FFA_PARTITION_INFO_GET_COUNT_FLAG;
+    uint32_t w5_mask = 0;
+    uint32_t ret = FFA_RET_DENIED;
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+
+    /*
+     * FF-A v1.0 has w5 MBZ while v1.1 allows
+     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
+     */
+    if ( ctx->guest_vers == FFA_VERSION_1_1 )
+        w5_mask = FFA_PARTITION_INFO_GET_COUNT_FLAG;
+    if ( w5 & ~w5_mask )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    if ( query_count_only )
+        return ffa_partition_info_get(w1, w2, w3, w4, w5, count);
+
+    if ( !ffa_page_count )
+        return FFA_RET_DENIED;
+
+    spin_lock(&ctx->lock);
+    spin_lock(&ffa_rx_buffer_lock);
+    if ( !ctx->page_count || !ctx->tx_is_mine )
+        goto out;
+    ret = ffa_partition_info_get(w1, w2, w3, w4, w5, count);
+    if ( ret )
+        goto out;
+
+    if ( ctx->guest_vers == FFA_VERSION_1_0 )
+    {
+        size_t n;
+        struct ffa_partition_info_1_1 *src = ffa_rx;
+        struct ffa_partition_info_1_0 *dst = ctx->rx;
+
+        if ( ctx->page_count * FFA_PAGE_SIZE < *count * sizeof(*dst) )
+        {
+            ret = FFA_RET_NO_MEMORY;
+            goto out_rx_release;
+        }
+
+        for ( n = 0; n < *count; n++ )
+        {
+            dst[n].id = src[n].id;
+            dst[n].execution_context = src[n].execution_context;
+            dst[n].partition_properties = src[n].partition_properties;
+        }
+    }
+    else
+    {
+        size_t sz = *count * sizeof(struct ffa_partition_info_1_1);
+
+        if ( ctx->page_count * FFA_PAGE_SIZE < sz )
+        {
+            ret = FFA_RET_NO_MEMORY;
+            goto out_rx_release;
+        }
+
+
+        memcpy(ctx->rx, ffa_rx, sz);
+    }
+    ctx->tx_is_mine = false;
+out_rx_release:
+    ffa_rx_release();
+out:
+    spin_unlock(&ffa_rx_buffer_lock);
+    spin_unlock(&ctx->lock);
+
+    return ret;
+}
+
+static uint32_t handle_rx_release(void)
+{
+    uint32_t ret = FFA_RET_DENIED;
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+
+    spin_lock(&ctx->lock);
+    if ( !ctx->page_count || ctx->tx_is_mine )
+        goto out;
+    ret = FFA_RET_OK;
+    ctx->tx_is_mine = true;
+out:
+    spin_unlock(&ctx->lock);
+
+    return ret;
+}
+
 static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
 {
     struct arm_smccc_1_2_regs arg = { .a0 = fid, };
@@ -574,6 +677,7 @@ bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
 {
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.ffa;
+    uint32_t count;
     int e;
 
     if ( !ctx )
@@ -605,6 +709,24 @@ bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
         else
             set_regs_success(regs, 0, 0);
         return true;
+    case FFA_PARTITION_INFO_GET:
+        e = handle_partition_info_get(get_user_reg(regs, 1),
+                                      get_user_reg(regs, 2),
+                                      get_user_reg(regs, 3),
+                                      get_user_reg(regs, 4),
+                                      get_user_reg(regs, 5), &count);
+        if ( e )
+            set_regs_error(regs, e);
+        else
+            set_regs_success(regs, count, 0);
+        return true;
+    case FFA_RX_RELEASE:
+        e = handle_rx_release();
+        if ( e )
+            set_regs_error(regs, e);
+        else
+            set_regs_success(regs, 0, 0);
+        return true;
     case FFA_MSG_SEND_DIRECT_REQ_32:
 #ifdef CONFIG_ARM_64
     case FFA_MSG_SEND_DIRECT_REQ_64:
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 10:56:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 10:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389440.626428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCM-0006hS-LB; Thu, 18 Aug 2022 10:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389440.626428; Thu, 18 Aug 2022 10:56:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOdCM-0006fS-Fg; Thu, 18 Aug 2022 10:56:26 +0000
Received: by outflank-mailman (input) for mailman id 389440;
 Thu, 18 Aug 2022 10:56:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=avir=YW=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oOdCK-00040G-I0
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 10:56:24 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65f25be7-1ee4-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 12:56:23 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id i19so1620520lfr.10
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 03:56:23 -0700 (PDT)
Received: from jade.urgonet (h-79-136-84-253.A175.priv.bahnhof.se.
 [79.136.84.253]) by smtp.gmail.com with ESMTPSA id
 y27-20020a0565123f1b00b0048a85334a11sm176837lfa.143.2022.08.18.03.56.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 03:56:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65f25be7-1ee4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=dwUH8+8SakHd6rIJuXOrIWqBVbsAd/ZkeTcL8PFyO3Q=;
        b=dhsyGAA4xcAvoshdenrc/iiqcY91zHaq8eO0COlJz9r6uYwc9uzV9Zp5PxtMvWeM3I
         dftb4kkwr//XdcS2N3zpirdrvLaFN1Ng98z+rPEpWef9pEqvpXYBcryKcqZi/Rv2mSng
         CfDawlJZMC4ZjEc8gPjDKx5gcsdeTkZbXg5aRL2Ny5JCRoVUO4MxqvCusbUxydtmrMfS
         omcpDRMFhKIyi9jwklvEVen84f+8DOwUYsNaGVIyFJr82pJ3JSCmZw7AG8TZWhVa/97z
         AAMrAnmJ46RHiPStm1XqSAOzLRiyz42/WgCXhUuTQF1Hit3mp503hfcZLq0stE4cX+am
         SSLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=dwUH8+8SakHd6rIJuXOrIWqBVbsAd/ZkeTcL8PFyO3Q=;
        b=nZ0MI0UlT6WSxSALGfHkxKwks7E5om9vmcq+Iv/Hqp4YQlwOBCX3pZembAzxFgpvSH
         L/L03OmjR1x2lDRlGTyaDHzD34ngbL8w10oiRhphVHZ1MLZSDEtE9w9ZdJEWvHMnyb2d
         2Kv9x8pFbmC+aDoAIGX80cFJY/ubBWw017FdfC3i3MeGzCPv7XB9rQc/ozgNnSsTBdR3
         4KesHcMbmI5HmYtZflO6kgjxH7xC59ZE9pKRge+vQft+MF3OXSdaxfzbjZfmSDGb3g2J
         3myz5+BaWG1bprpNXDnTXz0RoMbdY8n+Ifxm76ihRAJv6K609BtRD0gquIFNLoXVJS8A
         px4A==
X-Gm-Message-State: ACgBeo0C8h2Ov94n646Yz0uCb5xPK/v4/yoB8LH33LxS5Atwcxd/FwKP
	cdAmaAZZS9GJSQEz6MMDyAnh35NN3XFEXg==
X-Google-Smtp-Source: AA6agR74ylScPjqCTvBmLCgxsQCOt3Coq6cFyM1tI5xqcCOMB4ibSSUCudNPJ3P2SfeM0qbSAibLgw==
X-Received: by 2002:ac2:5f77:0:b0:48b:38a4:2300 with SMTP id c23-20020ac25f77000000b0048b38a42300mr738427lfc.445.1660820182175;
        Thu, 18 Aug 2022 03:56:22 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand.Marquis@arm.com,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Jens Wiklander <jens.wiklander@linaro.org>
Subject: [PATCH v5 9/9] xen/arm: ffa: support sharing memory
Date: Thu, 18 Aug 2022 12:56:01 +0200
Message-Id: <20220818105601.1896082-10-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220818105601.1896082-1-jens.wiklander@linaro.org>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds support for a guest to share memory with an SP using FFA_MEM_SHARE,
FFA_MEM_RECLAIM and FFA_MEM_FRAG_TX. Small memory regions can be shared
using FFA_MEM_SHARE, but larger memory regions may need to be
transmitted in fragments with FFA_MEM_FRAG_TX. A memory region that
doesn't need to be shared any longer can be reclaimed with
FFA_MEM_RECLAIM once the SP doesn't use it any longer. This is checked
by the SPMC and not in control of the mediator.

With this commit we have a FF-A version 1.1 [1] mediator able to
communicate with a Secure Partition in secure world. The secure world
must use FF-A version 1.1, but the guest is free to use version 1.0 or
version 1.1.

The implementation is the bare minimum to be able to communicate with
OP-TEE running as an SPMC at S-EL1.

[1] https://developer.arm.com/documentation/den0077/latest
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/ffa.c | 838 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 838 insertions(+)

diff --git a/xen/arch/arm/ffa.c b/xen/arch/arm/ffa.c
index d2872acc3474..d2ad49ae6de2 100644
--- a/xen/arch/arm/ffa.c
+++ b/xen/arch/arm/ffa.c
@@ -201,6 +201,107 @@ struct ffa_partition_info_1_1 {
     uint8_t uuid[16];
 };
 
+/* Constituent memory region descriptor */
+struct ffa_address_range {
+    uint64_t address;
+    uint32_t page_count;
+    uint32_t reserved;
+};
+
+/* Composite memory region descriptor */
+struct ffa_mem_region {
+    uint32_t total_page_count;
+    uint32_t address_range_count;
+    uint64_t reserved;
+    struct ffa_address_range address_range_array[];
+};
+
+/* Memory access permissions descriptor */
+struct ffa_mem_access_perm {
+    uint16_t endpoint_id;
+    uint8_t perm;
+    uint8_t flags;
+};
+
+/* Endpoint memory access descriptor */
+struct ffa_mem_access {
+    struct ffa_mem_access_perm access_perm;
+    uint32_t region_offs;
+    uint64_t reserved;
+};
+
+/* Lend, donate or share memory transaction descriptor */
+struct ffa_mem_transaction_1_0 {
+    uint16_t sender_id;
+    uint8_t mem_reg_attr;
+    uint8_t reserved0;
+    uint32_t flags;
+    uint64_t global_handle;
+    uint64_t tag;
+    uint32_t reserved1;
+    uint32_t mem_access_count;
+    struct ffa_mem_access mem_access_array[];
+};
+
+struct ffa_mem_transaction_1_1 {
+    uint16_t sender_id;
+    uint16_t mem_reg_attr;
+    uint32_t flags;
+    uint64_t global_handle;
+    uint64_t tag;
+    uint32_t mem_access_size;
+    uint32_t mem_access_count;
+    uint32_t mem_access_offs;
+    uint8_t reserved[12];
+};
+
+/* Calculate offset of struct ffa_mem_access from start of buffer */
+#define MEM_ACCESS_OFFSET(access_idx) \
+    ( sizeof(struct ffa_mem_transaction_1_1) + \
+      ( access_idx ) * sizeof(struct ffa_mem_access) )
+
+/* Calculate offset of struct ffa_mem_region from start of buffer */
+#define REGION_OFFSET(access_count, region_idx) \
+    ( MEM_ACCESS_OFFSET(access_count) + \
+      ( region_idx ) * sizeof(struct ffa_mem_region) )
+
+/* Calculate offset of struct ffa_address_range from start of buffer */
+#define ADDR_RANGE_OFFSET(access_count, region_count, range_idx) \
+    ( REGION_OFFSET(access_count, region_count) + \
+      ( range_idx ) * sizeof(struct ffa_address_range) )
+
+/*
+ * The parts needed from struct ffa_mem_transaction_1_0 or struct
+ * ffa_mem_transaction_1_1, used to provide an abstraction of difference in
+ * data structures between version 1.0 and 1.1. This is just an internal
+ * interface and can be changed without changing any ABI.
+ */
+struct ffa_mem_transaction_x {
+    uint16_t sender_id;
+    uint8_t mem_reg_attr;
+    uint8_t flags;
+    uint8_t mem_access_size;
+    uint8_t mem_access_count;
+    uint16_t mem_access_offs;
+    uint64_t global_handle;
+    uint64_t tag;
+};
+
+/* Endpoint RX/TX descriptor */
+struct ffa_endpoint_rxtx_descriptor_1_0 {
+    uint16_t sender_id;
+    uint16_t reserved;
+    uint32_t rx_range_count;
+    uint32_t tx_range_count;
+};
+
+struct ffa_endpoint_rxtx_descriptor_1_1 {
+    uint16_t sender_id;
+    uint16_t reserved;
+    uint32_t rx_region_offs;
+    uint32_t tx_region_offs;
+};
+
 struct ffa_ctx {
     void *rx;
     const void *tx;
@@ -210,8 +311,33 @@ struct ffa_ctx {
     uint32_t guest_vers;
     bool tx_is_mine;
     bool interrupted;
+    struct list_head frag_list;
+    struct list_head shm_list;
+    unsigned int shm_count;
     spinlock_t lock;
 };
+
+struct ffa_shm_mem {
+    struct list_head list;
+    uint16_t sender_id;
+    uint16_t ep_id;     /* endpoint, the one lending */
+    uint64_t handle;    /* FFA_HANDLE_INVALID if not set yet */
+    unsigned int page_count;
+    struct page_info *pages[];
+};
+
+struct mem_frag_state {
+    struct list_head list;
+    struct ffa_shm_mem *shm;
+    uint32_t range_count;
+    unsigned int current_page_idx;
+    unsigned int frag_offset;
+    unsigned int range_offset;
+    const uint8_t *buf;
+    unsigned int buf_size;
+    struct ffa_address_range range;
+};
+
 /* Negotiated FF-A version to use with the SPMC */
 static uint32_t ffa_version __read_mostly;
 
@@ -226,6 +352,8 @@ static unsigned int subscr_vm_destroyed_count __read_mostly;
  *
  * ffa_page_count is the number of pages used in each of these buffers.
  *
+ * The TX buffer is protected from concurrent usage with ffa_tx_buffer_lock.
+ *
  * The RX buffer is protected from concurrent usage with ffa_rx_buffer_lock.
  * Note that the SPMC is also tracking the ownership of our RX buffer so
  * for calls which uses our RX buffer to deliver a result we must call
@@ -235,6 +363,7 @@ static void *ffa_rx __read_mostly;
 static void *ffa_tx __read_mostly;
 static unsigned int ffa_page_count __read_mostly;
 static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
+static DEFINE_SPINLOCK(ffa_tx_buffer_lock);
 
 static bool ffa_get_version(uint32_t *vers)
 {
@@ -345,6 +474,78 @@ static int32_t ffa_rx_release(void)
     return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
 }
 
+static int32_t ffa_mem_share(uint32_t tot_len, uint32_t frag_len,
+                             register_t addr, uint32_t pg_count,
+                             uint64_t *handle)
+{
+    struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_MEM_SHARE_32,
+        .a1 = tot_len,
+        .a2 = frag_len,
+        .a3 = addr,
+        .a4 = pg_count,
+    };
+    struct arm_smccc_1_2_regs resp;
+
+    if ( IS_ENABLED(CONFIG_ARM_64) )
+        arg.a0 = FFA_MEM_SHARE_64;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+
+    switch ( resp.a0 )
+    {
+    case FFA_ERROR:
+        if ( resp.a2 )
+            return resp.a2;
+        else
+            return FFA_RET_NOT_SUPPORTED;
+    case FFA_SUCCESS_32:
+        *handle = regpair_to_uint64(resp.a3, resp.a2);
+        return FFA_RET_OK;
+    case FFA_MEM_FRAG_RX:
+        *handle = regpair_to_uint64(resp.a2, resp.a1);
+        return resp.a3;
+    default:
+        return FFA_RET_NOT_SUPPORTED;
+    }
+}
+
+static int32_t ffa_mem_frag_tx(uint64_t handle, uint32_t frag_len,
+                               uint16_t sender_id)
+{
+    struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_MEM_FRAG_TX,
+        .a1 = handle & UINT32_MAX,
+        .a2 = handle >> 32,
+        .a3 = frag_len,
+        .a4 = (uint32_t)sender_id << 16,
+    };
+    struct arm_smccc_1_2_regs resp;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+
+    switch ( resp.a0 )
+    {
+    case FFA_ERROR:
+        if ( resp.a2 )
+            return resp.a2;
+        else
+            return FFA_RET_NOT_SUPPORTED;
+    case FFA_SUCCESS_32:
+        return FFA_RET_OK;
+    case FFA_MEM_FRAG_RX:
+        return resp.a3;
+    default:
+            return FFA_RET_NOT_SUPPORTED;
+    }
+}
+
+static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
+                               uint32_t flags)
+{
+    return ffa_simple_call(FFA_MEM_RECLAIM, handle_lo, handle_hi, flags, 0);
+}
+
 static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
                                       uint8_t msg)
 {
@@ -413,6 +614,14 @@ static void set_regs_success(struct cpu_user_regs *regs, uint32_t w2,
     set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, 0, 0, 0, 0);
 }
 
+static void set_regs_frag_rx(struct cpu_user_regs *regs, uint32_t handle_lo,
+                             uint32_t handle_hi, uint32_t frag_offset,
+                             uint16_t sender_id)
+{
+    set_regs(regs, FFA_MEM_FRAG_RX, handle_lo, handle_hi, frag_offset,
+             (uint32_t)sender_id << 16, 0, 0, 0);
+}
+
 static void handle_version(struct cpu_user_regs *regs)
 {
     struct domain *d = current->domain;
@@ -673,6 +882,611 @@ out:
              resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 & mask);
 }
 
+/*
+ * Gets all page and assigns them to the supplied shared memory object. If
+ * this function fails then the caller is still expected to call
+ * put_shm_pages() as a cleanup.
+ */
+static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
+                         const struct ffa_address_range *range,
+                         uint32_t range_count, unsigned int start_page_idx,
+                         unsigned int *last_page_idx)
+{
+    unsigned int pg_idx = start_page_idx;
+    gfn_t gfn;
+    unsigned int n;
+    unsigned int m;
+    p2m_type_t t;
+    uint64_t addr;
+
+    for ( n = 0; n < range_count; n++ )
+    {
+        for ( m = 0; m < range[n].page_count; m++ )
+        {
+            if ( pg_idx >= shm->page_count )
+                return FFA_RET_INVALID_PARAMETERS;
+
+            addr = read_atomic(&range[n].address);
+            gfn = gaddr_to_gfn(addr + m * FFA_PAGE_SIZE);
+            shm->pages[pg_idx] = get_page_from_gfn(d, gfn_x(gfn), &t,
+						   P2M_ALLOC);
+            if ( !shm->pages[pg_idx] )
+                return FFA_RET_DENIED;
+            pg_idx++;
+            /* Only normal RAM for now */
+            if ( !p2m_is_ram(t) )
+                return FFA_RET_DENIED;
+        }
+    }
+
+    *last_page_idx = pg_idx;
+
+    return FFA_RET_OK;
+}
+
+static void put_shm_pages(struct ffa_shm_mem *shm)
+{
+    unsigned int n;
+
+    for ( n = 0; n < shm->page_count && shm->pages[n]; n++ )
+    {
+        put_page(shm->pages[n]);
+        shm->pages[n] = NULL;
+    }
+}
+
+static struct ffa_shm_mem *alloc_ffa_shm_mem(struct ffa_ctx *ctx,
+                                             unsigned int page_count)
+{
+    struct ffa_shm_mem *shm;
+
+    if ( page_count >= FFA_MAX_SHM_PAGE_COUNT ||
+         ctx->shm_count >= FFA_MAX_SHM_COUNT )
+        return NULL;
+
+    shm = xzalloc_flex_struct(struct ffa_shm_mem, pages, page_count);
+    if ( shm )
+    {
+        ctx->shm_count++;
+        shm->page_count = page_count;
+    }
+
+    return shm;
+}
+
+static void free_ffa_shm_mem(struct ffa_ctx *ctx, struct ffa_shm_mem *shm)
+{
+    if ( shm ) {
+        ASSERT(ctx->shm_count > 0);
+        ctx->shm_count--;
+        put_shm_pages(shm);
+        xfree(shm);
+    }
+}
+
+static void init_range(struct ffa_address_range *addr_range,
+                       paddr_t pa)
+{
+    memset(addr_range, 0, sizeof(*addr_range));
+    addr_range->address = pa;
+    addr_range->page_count = 1;
+}
+
+/*
+ * This function uses the ffa_tx buffer to transmit the memory transaction
+ * descriptor. The function depends ffa_tx_buffer_lock to be used to guard
+ * the buffer from concurent use.
+ */
+static int share_shm(struct ffa_shm_mem *shm)
+{
+    const uint32_t max_frag_len = ffa_page_count * FFA_PAGE_SIZE;
+    struct ffa_mem_access *mem_access_array;
+    struct ffa_mem_transaction_1_1 *descr;
+    struct ffa_address_range *addr_range;
+    struct ffa_mem_region *region_descr;
+    const unsigned int region_count = 1;
+    void *buf = ffa_tx;
+    uint32_t frag_len;
+    uint32_t tot_len;
+    paddr_t last_pa;
+    unsigned int n;
+    paddr_t pa;
+    bool first;
+    int ret;
+
+    ASSERT(spin_is_locked(&ffa_tx_buffer_lock));
+    if ( !shm->page_count )
+    {
+        ASSERT_UNREACHABLE();
+        return FFA_RET_INVALID_PARAMETERS;
+    }
+
+    descr = buf;
+    memset(descr, 0, sizeof(*descr));
+    descr->sender_id = shm->sender_id;
+    descr->global_handle = shm->handle;
+    descr->mem_reg_attr = FFA_NORMAL_MEM_REG_ATTR;
+    descr->mem_access_count = 1;
+    descr->mem_access_size = sizeof(*mem_access_array);
+    descr->mem_access_offs = MEM_ACCESS_OFFSET(0);
+
+    mem_access_array = buf + descr->mem_access_offs;
+    memset(mem_access_array, 0, sizeof(*mem_access_array));
+    mem_access_array[0].access_perm.endpoint_id = shm->ep_id;
+    mem_access_array[0].access_perm.perm = FFA_MEM_ACC_RW;
+    mem_access_array[0].region_offs = REGION_OFFSET(descr->mem_access_count, 0);
+
+    region_descr = buf + mem_access_array[0].region_offs;
+    memset(region_descr, 0, sizeof(*region_descr));
+    region_descr->total_page_count = shm->page_count;
+
+    region_descr->address_range_count = 1;
+    last_pa = page_to_maddr(shm->pages[0]);
+    for ( n = 1; n < shm->page_count; last_pa = pa, n++ )
+    {
+        pa = page_to_maddr(shm->pages[n]);
+        if ( last_pa + FFA_PAGE_SIZE == pa )
+            continue;
+        region_descr->address_range_count++;
+    }
+
+    tot_len = ADDR_RANGE_OFFSET(descr->mem_access_count, region_count,
+                                region_descr->address_range_count);
+
+    /*
+     * Sharing memory with secure world may have to be done with multiple
+     * calls depending on how many address ranges will be needed. If we're
+     * sharing physically contiguous memory we will only need one range but
+     * we will also need to deal with the worst case where all physical
+     * pages are non-contiguous. For the first batch of address ranges we
+     * call ffa_mem_share() and for all that follows ffa_mem_frag_tx().
+     *
+     * We use frag_len to keep track of how far into the transmit buffer we
+     * have gone.
+     */
+    addr_range = region_descr->address_range_array;
+    frag_len = ADDR_RANGE_OFFSET(descr->mem_access_count, region_count, 1);
+    last_pa = page_to_maddr(shm->pages[0]);
+    init_range(addr_range, last_pa);
+    first = true;
+    for ( n = 1; n < shm->page_count; last_pa = pa, n++ )
+    {
+        pa = page_to_maddr(shm->pages[n]);
+        if ( last_pa + FFA_PAGE_SIZE == pa )
+        {
+            addr_range->page_count++;
+            continue;
+        }
+
+        if ( frag_len == max_frag_len )
+        {
+            if ( first )
+            {
+                ret = ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
+                first = false;
+            }
+            else
+            {
+                ret = ffa_mem_frag_tx(shm->handle, frag_len, shm->sender_id);
+            }
+            if ( ret <= 0 )
+                return ret;
+            frag_len = sizeof(*addr_range);
+            addr_range = buf;
+        }
+        else
+        {
+            frag_len += sizeof(*addr_range);
+            addr_range++;
+        }
+        init_range(addr_range, pa);
+    }
+
+    if ( first )
+        return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
+    else
+        return ffa_mem_frag_tx(shm->handle, frag_len, shm->sender_id);
+}
+
+static int read_mem_transaction(uint32_t ffa_vers, const void *buf, size_t blen,
+                                struct ffa_mem_transaction_x *trans)
+{
+    uint16_t mem_reg_attr;
+    uint32_t flags;
+    uint32_t count;
+    uint32_t offs;
+    uint32_t size;
+
+    if ( ffa_vers >= FFA_VERSION_1_1 )
+    {
+        const struct ffa_mem_transaction_1_1 *descr;
+
+        if ( blen < sizeof(*descr) )
+            return FFA_RET_INVALID_PARAMETERS;
+
+        descr = buf;
+        trans->sender_id = descr->sender_id;
+        mem_reg_attr = descr->mem_reg_attr;
+        flags = descr->flags;
+        trans->global_handle = descr->global_handle;
+        trans->tag = descr->tag;
+
+        count = descr->mem_access_count;
+        size = descr->mem_access_size;
+        offs = descr->mem_access_offs;
+    }
+    else
+    {
+        const struct ffa_mem_transaction_1_0 *descr;
+
+        if ( blen < sizeof(*descr) )
+            return FFA_RET_INVALID_PARAMETERS;
+
+        descr = buf;
+        trans->sender_id = descr->sender_id;
+        mem_reg_attr = descr->mem_reg_attr;
+        flags = descr->flags;
+        trans->global_handle = descr->global_handle;
+        trans->tag = descr->tag;
+
+        count = descr->mem_access_count;
+        size = sizeof(struct ffa_mem_access);
+        offs = offsetof(struct ffa_mem_transaction_1_0, mem_access_array);
+    }
+    /*
+     * Make sure that "descr" which is shared with the guest isn't accessed
+     * again after this point.
+     */
+    barrier();
+
+    /*
+     * We're doing a rough check to see that no information is lost when
+     * tranfering the values into a struct ffa_mem_transaction_x below. The
+     * fields in struct ffa_mem_transaction_x are wide enough to hold any
+     * valid value so being out of range means that something is wrong.
+     */
+    if ( mem_reg_attr > UINT8_MAX || flags > UINT8_MAX || size > UINT8_MAX ||
+        count > UINT8_MAX || offs > UINT16_MAX )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /* Check that the endpoint memory access descriptor array fits */
+    if ( size * count + offs > blen )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    trans->mem_reg_attr = mem_reg_attr;
+    trans->flags = flags;
+    trans->mem_access_size = size;
+    trans->mem_access_count = count;
+    trans->mem_access_offs = offs;
+
+    return 0;
+}
+
+static int add_mem_share_frag(struct mem_frag_state *s, unsigned int offs,
+                              unsigned int frag_len)
+{
+    struct domain *d = current->domain;
+    unsigned int o = offs;
+    unsigned int l;
+    int ret;
+
+    if ( frag_len < o )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /* Fill up the first struct ffa_address_range */
+    l = min_t(unsigned int, frag_len - o, sizeof(s->range) - s->range_offset);
+    memcpy((uint8_t *)&s->range + s->range_offset, s->buf + o, l);
+    s->range_offset += l;
+    o += l;
+    if ( s->range_offset != sizeof(s->range) )
+        goto out;
+    s->range_offset = 0;
+
+    while ( true )
+    {
+        ret = get_shm_pages(d, s->shm, &s->range, 1, s->current_page_idx,
+                            &s->current_page_idx);
+        if ( ret )
+            return ret;
+        if ( s->range_count == 1 )
+            return 0;
+        s->range_count--;
+        if ( frag_len - o < sizeof(s->range) )
+            break;
+        memcpy(&s->range, s->buf + o, sizeof(s->range));
+        o += sizeof(s->range);
+    }
+
+    /* Collect any remaining bytes for the next struct ffa_address_range */
+    s->range_offset = frag_len - o;
+    memcpy(&s->range, s->buf + o, frag_len - o);
+out:
+    s->frag_offset += frag_len;
+
+    return s->frag_offset;
+}
+
+static void handle_mem_share(struct cpu_user_regs *regs)
+{
+    static uint64_t next_handle = FFA_HANDLE_HYP_FLAG;
+    uint32_t tot_len = get_user_reg(regs, 1);
+    uint32_t frag_len = get_user_reg(regs, 2);
+    uint64_t addr = get_user_reg(regs, 3);
+    uint32_t page_count = get_user_reg(regs, 4);
+    const struct ffa_mem_region *region_descr;
+    const struct ffa_mem_access *mem_access;
+    struct ffa_mem_transaction_x trans;
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+    struct ffa_shm_mem *shm = NULL;
+    unsigned int last_page_idx = 0;
+    register_t handle_hi = 0;
+    register_t handle_lo = 0;
+    int ret = FFA_RET_DENIED;
+    uint32_t range_count;
+    uint32_t region_offs;
+
+    /*
+     * We're only accepting memory transaction descriptors via the rx/tx
+     * buffer.
+     */
+    if ( addr )
+    {
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_unlock;
+    }
+
+    /* Check that fragment length doesn't exceed total length */
+    if ( frag_len > tot_len )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out_unlock;
+    }
+
+    spin_lock(&ctx->lock);
+
+    if ( frag_len > ctx->page_count * FFA_PAGE_SIZE )
+        goto out_unlock;
+
+    if ( !ffa_page_count )
+    {
+        ret = FFA_RET_NO_MEMORY;
+        goto out_unlock;
+    }
+
+    ret = read_mem_transaction(ctx->guest_vers, ctx->tx, frag_len, &trans);
+    if ( ret )
+        goto out_unlock;
+
+    if ( trans.mem_reg_attr != FFA_NORMAL_MEM_REG_ATTR )
+    {
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out;
+    }
+
+    /* Only supports sharing it with one SP for now */
+    if ( trans.mem_access_count != 1 )
+    {
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_unlock;
+    }
+
+    if ( trans.sender_id != get_vm_id(d) )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out_unlock;
+    }
+
+    /* Check that it fits in the supplied data */
+    if ( trans.mem_access_offs + trans.mem_access_size > frag_len )
+        goto out_unlock;
+
+    mem_access = ctx->tx + trans.mem_access_offs;
+    if ( read_atomic(&mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
+    {
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_unlock;
+    }
+
+    region_offs = read_atomic(&mem_access->region_offs);
+    if ( sizeof(*region_descr) + region_offs > frag_len )
+    {
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_unlock;
+    }
+
+    region_descr = ctx->tx + region_offs;
+    range_count = read_atomic(&region_descr->address_range_count);
+    page_count = read_atomic(&region_descr->total_page_count);
+
+    shm = alloc_ffa_shm_mem(ctx, page_count);
+    if ( !shm )
+    {
+        ret = FFA_RET_NO_MEMORY;
+        goto out;
+    }
+    shm->sender_id = trans.sender_id;
+    shm->ep_id = read_atomic(&mem_access->access_perm.endpoint_id);
+
+    if ( frag_len != tot_len )
+    {
+        struct mem_frag_state *s = xzalloc(struct mem_frag_state);
+
+        if ( !s )
+        {
+            ret = FFA_RET_NO_MEMORY;
+            goto out;
+        }
+        s->shm = shm;
+        s->range_count = range_count;
+        s->buf = ctx->tx;
+        s->buf_size = ffa_page_count * FFA_PAGE_SIZE;
+        ret = add_mem_share_frag(s, sizeof(*region_descr)  + region_offs,
+                                 frag_len);
+        if ( ret <= 0 )
+        {
+            xfree(s);
+            if ( ret < 0 )
+                goto out;
+        }
+        else
+        {
+            shm->handle = next_handle++;
+            uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
+            list_add_tail(&s->list, &ctx->frag_list);
+        }
+        goto out_unlock;
+    }
+
+    /*
+     * Check that the Composite memory region descriptor fits.
+     */
+    if ( sizeof(*region_descr) + region_offs +
+         range_count * sizeof(struct ffa_address_range) > frag_len )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out;
+    }
+
+    ret = get_shm_pages(d, shm, region_descr->address_range_array, range_count,
+                        0, &last_page_idx);
+    if ( ret )
+        goto out;
+    if ( last_page_idx != shm->page_count )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out;
+    }
+
+    /* Note that share_shm() uses our tx buffer */
+    spin_lock(&ffa_tx_buffer_lock);
+    ret = share_shm(shm);
+    spin_unlock(&ffa_tx_buffer_lock);
+    if ( ret )
+        goto out;
+
+    list_add_tail(&shm->list, &ctx->shm_list);
+
+    uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
+
+out:
+    if ( ret )
+        free_ffa_shm_mem(ctx, shm);
+out_unlock:
+    spin_unlock(&ctx->lock);
+
+    if ( ret > 0 )
+            set_regs_frag_rx(regs, handle_lo, handle_hi, ret, trans.sender_id);
+    else if ( ret == 0)
+            set_regs_success(regs, handle_lo, handle_hi);
+    else
+            set_regs_error(regs, ret);
+}
+
+static struct mem_frag_state *find_frag_state(struct ffa_ctx *ctx,
+                                              uint64_t handle)
+{
+    struct mem_frag_state *s;
+
+    list_for_each_entry(s, &ctx->frag_list, list)
+        if ( s->shm->handle == handle )
+            return s;
+
+    return NULL;
+}
+
+static void handle_mem_frag_tx(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+    uint32_t frag_len = get_user_reg(regs, 3);
+    uint32_t handle_lo = get_user_reg(regs, 1);
+    uint32_t handle_hi = get_user_reg(regs, 2);
+    uint64_t handle = regpair_to_uint64(handle_hi, handle_lo);
+    struct mem_frag_state *s;
+    uint16_t sender_id = 0;
+    int ret;
+
+    spin_lock(&ctx->lock);
+    s = find_frag_state(ctx, handle);
+    if ( !s )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out;
+    }
+    sender_id = s->shm->sender_id;
+
+    if ( frag_len > s->buf_size )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out;
+    }
+
+    ret = add_mem_share_frag(s, 0, frag_len);
+    if ( ret == 0 )
+    {
+        /* Note that share_shm() uses our tx buffer */
+        spin_lock(&ffa_tx_buffer_lock);
+        ret = share_shm(s->shm);
+        spin_unlock(&ffa_tx_buffer_lock);
+        if ( ret == 0 )
+            list_add_tail(&s->shm->list, &ctx->shm_list);
+        else
+            free_ffa_shm_mem(ctx, s->shm);
+    }
+    else if ( ret < 0 )
+        free_ffa_shm_mem(ctx, s->shm);
+    list_del(&s->list);
+    xfree(s);
+out:
+    spin_unlock(&ctx->lock);
+
+    if ( ret > 0 )
+            set_regs_frag_rx(regs, handle_lo, handle_hi, ret, sender_id);
+    else if ( ret == 0)
+            set_regs_success(regs, handle_lo, handle_hi);
+    else
+            set_regs_error(regs, ret);
+}
+
+static int handle_mem_reclaim(uint64_t handle, uint32_t flags)
+{
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.ffa;
+    struct ffa_shm_mem *shm;
+    register_t handle_hi;
+    register_t handle_lo;
+    int ret;
+
+    spin_lock(&ctx->lock);
+    list_for_each_entry(shm, &ctx->shm_list, list)
+    {
+        if ( shm->handle == handle )
+            goto found_it;
+    }
+    shm = NULL;
+    ret = FFA_RET_INVALID_PARAMETERS;
+    goto out;
+found_it:
+
+    uint64_to_regpair(&handle_hi, &handle_lo, handle);
+    ret = ffa_mem_reclaim(handle_lo, handle_hi, flags);
+    if ( ret )
+    {
+        shm = NULL;
+        goto out;
+    }
+
+    list_del(&shm->list);
+
+out:
+    free_ffa_shm_mem(ctx, shm);
+    spin_unlock(&ctx->lock);
+
+
+    return ret;
+}
+
 bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
 {
     struct domain *d = current->domain;
@@ -733,6 +1547,24 @@ bool ffa_handle_call(struct cpu_user_regs *regs, uint32_t fid)
 #endif
         handle_msg_send_direct_req(regs, fid);
         return true;
+    case FFA_MEM_SHARE_32:
+#ifdef CONFIG_ARM_64
+    case FFA_MEM_SHARE_64:
+#endif
+        handle_mem_share(regs);
+        return true;
+    case FFA_MEM_RECLAIM:
+        e = handle_mem_reclaim(regpair_to_uint64(get_user_reg(regs, 2),
+                                                 get_user_reg(regs, 1)),
+                               get_user_reg(regs, 3));
+        if ( e )
+            set_regs_error(regs, e);
+        else
+            set_regs_success(regs, 0, 0);
+        return true;
+    case FFA_MEM_FRAG_TX:
+        handle_mem_frag_tx(regs);
+        return true;
 
     default:
         printk(XENLOG_ERR "ffa: unhandled fid 0x%x\n", fid);
@@ -768,6 +1600,9 @@ int ffa_domain_init(struct domain *d, bool ffa_enabled)
         }
     }
 
+    INIT_LIST_HEAD(&ctx->frag_list);
+    INIT_LIST_HEAD(&ctx->shm_list);
+
     d->arch.ffa = ctx;
 
     return 0;
@@ -923,6 +1758,9 @@ static int __init ffa_init(void)
          !check_mandatory_feature(FFA_RXTX_MAP_32) ||
 #endif
          !check_mandatory_feature(FFA_RXTX_UNMAP) ||
+         !check_mandatory_feature(FFA_MEM_SHARE_32) ||
+         !check_mandatory_feature(FFA_MEM_FRAG_TX) ||
+         !check_mandatory_feature(FFA_MEM_RECLAIM) ||
          !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
         return 0;
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 11:48:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 11:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389492.626439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOe0C-0006LA-5L; Thu, 18 Aug 2022 11:47:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389492.626439; Thu, 18 Aug 2022 11:47:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOe0C-0006L3-22; Thu, 18 Aug 2022 11:47:56 +0000
Received: by outflank-mailman (input) for mailman id 389492;
 Thu, 18 Aug 2022 11:47:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOe0A-0006Kp-3c; Thu, 18 Aug 2022 11:47:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOe0A-0006ZO-0s; Thu, 18 Aug 2022 11:47:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOe09-00052M-KK; Thu, 18 Aug 2022 11:47:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOe09-0006wF-Jt; Thu, 18 Aug 2022 11:47:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=x0tZX5wWH+tifAso6hJ4lq2jgcWwKpPBaoxTCoceApc=; b=j3hZJb/2wfBcH/EHox5kFdgXf6
	OtetY2UHPMItI/twvlrXZ7EQL04Ng0zzzD7WduIq7B9yosMtFKa9HoKKUtua7Qlf0wa2Bl7yJyIct
	7oSwYbVrMeKEnSzeUYMQKfw4R/4i5jU93kZhu2VMX3KOC+iu3zvi6p7oVP++tlP+OED4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172621-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172621: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=68bf712d4f5928af4c426dc82d27b9783e499d93
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 11:47:53 +0000

flight 172621 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172621/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 68bf712d4f5928af4c426dc82d27b9783e499d93
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   14 days
Failing since        172151  2022-08-05 02:40:28 Z   13 days  116 attempts
Testing same since   172621  2022-08-18 09:12:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 780 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:03:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:03:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389504.626456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfAa-00066i-Ng; Thu, 18 Aug 2022 13:02:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389504.626456; Thu, 18 Aug 2022 13:02:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfAa-00066b-KL; Thu, 18 Aug 2022 13:02:44 +0000
Received: by outflank-mailman (input) for mailman id 389504;
 Thu, 18 Aug 2022 13:02:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOfAZ-00066V-LR
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:02:43 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80054.outbound.protection.outlook.com [40.107.8.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a7dcc82-1ef6-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 15:02:41 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4685.eurprd04.prod.outlook.com (2603:10a6:803:70::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 18 Aug
 2022 13:02:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 13:02:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a7dcc82-1ef6-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gDkJtxUF+SwZzH8lvdRFPq58ya4soPbK4oV7RU2xnvY0GGJNLUohz4Rpa9qJCoEOO/ZwODwIhH0PxYrkulpYqGefxC69aN5VDwp57HipF6C4XhP/e43sj8SjHVAiTStc1X84CwISRXNutI3kTIXz7D0HRLdZuqcJmPIpa7EaTUA8+4Imhlm35b0ViBaPNgho/FC8knV3ANGG0pLVf5cACnHcK2JRhfgbHD7sgTi6K+ffkAgJzH5OW/ih3/C1Iet7/Nr20/Q/M5FIY1fupwnsW9F2GpcOHNewR2gTCAKdFVJqivwHjcjZUfO23TqNrqKeLi9JiYz2huZi0Yt4FRdtHg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/NT3f+gqUeBxCEGx1UmjBvJ3qMcVpA+eC+Fk66Duick=;
 b=fQtC0XGstJmvmifczUfJ/+tZwuISiT5twkqLLdB8OHGZ5zluBbpJPTSHwk9NEttPoYnaH2KY4SBFb+cxw8cfm/BSjWmc4XpSw3x7kB3tUt+IMK13cegN8GjS94SGpPANGoxkTc0YSlRKT76fbLoKojjL25UZewEGDU8rEP7oBtv885xO4HDbNOzY5L6p5kdz57aPcK6Z2IuqA1audexLg/rzGKX7Z2URze2rpoX+QCsTugZmVG23NznXG+tfll/kl93XPKHnGl9OPc1iirV8Vbd54/zzmi4/HXuT/NQfMqhGlN7QwUlKlnQ5yL44YKBVahyymxFG1L8MIOLROWS5ig==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/NT3f+gqUeBxCEGx1UmjBvJ3qMcVpA+eC+Fk66Duick=;
 b=GrEQW7ESkGj8c0eaBGQeJ6KGvIu51wfXMY51lpsXxWA3OES5B3IZlWDbhMGxrcklOH6UU4+usMpWQYsPuv19biqwsuy+bpRcd5YX0qjcz13qYXWaw7O4yOOlAlqGPQFq7yJ/X50OUT/8E/uDmyGkyVgfVsXGANVufK9QJUbso2G8QIzyF9/iOsObsJymQTDPbpnfXelbQpjBnEYoImjGNpyDGf0RigYKLxSwolMg4EanPPtAFHzAYaJ7XV8K1J1lLR3WnKLHA9KGPN9dZLyJOunE6EFOD58QtwC9wEGmjCvtJ6fMQG9HFt/R0m4+S1gSrr6GcPVpQ+FuXawW7+377Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
Date: Thu, 18 Aug 2022 15:02:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 0/5] x86/mwait-idle: (remaining) SPR + (new) ADL support
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR07CA0055.eurprd07.prod.outlook.com
 (2603:10a6:20b:46b::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ad47f9a1-19e5-4eb1-e948-08da8119ed17
X-MS-TrafficTypeDiagnostic: VI1PR04MB4685:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A06L608YwCx8hYTSmcngutue9vGstdMtp27LXkqGBqGNgUofN3Ci+NBztSTL1BZjy4jN1Bwnyu4Odfjm+1SFSRY+5tKhQr8q1VWG5bMHVe1Pi2BHcMQYkN21CxoMeO4X7L9j7gxFOUEwQZCmxXQsn5uoIDy9BG7s/fc7LYYf/GUA01tMK2aGWtWK1Wbbjo5Y4VKNRM9hZYWV7aX5TKd6kiYCSAoG9OJTpVqWAD9pk1n8/zDjwPPOnANXBERer//+62XOm6/vPwRCryj4P/pBESIzry6GQRwiqNO4f4CQml0ruwBbUTHhtNnEwsbWMljbB9OW3oR1e1SGLZT63KM2T5dZTBs6UevXAt06xuYpVpjB66lKGQ6QZ6LvHjM0wuIt+hKIB7VK+TPd+mcDF8DR5uJtUbKPYFQJXTr5s7Wh2Ky/brXo9hVy6wVIebSZVvMGAb/MOkafVojhIDj6xdxMBBVZ+LFamFuYc79WV9d5mO9aHRJ2VT6kteTVTYq8c6KCC4G5tFT47A53xpd2j71rBKAvCpBHogCpERlPZv2s7C51dvPTZXn1fE/tVoor49pqyDJIFYjUPidQi2dUWsIdzzX65KztHcptq6tzST4PXCKI5Tdu3qEeeVNDSEL8yPpfOsQlzU7pK00scR3pVmduDgCCX0xd23DmWnq9tINGJPv/fhIHoNxG0CqiAwcPo2FibmhQB9e2VmkpbfayLwjrkeC18vqL28Mk2t+nLkLrkPUF75cByFUm6Z9XsMG8Q4Ldh1qzqtsUCl+MEF2kIjnCR+/BcxdF3WfhTCL6j9p5J18=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(39860400002)(366004)(136003)(346002)(31696002)(86362001)(38100700002)(558084003)(186003)(2616005)(31686004)(36756003)(6506007)(6486002)(54906003)(6666004)(26005)(316002)(41300700001)(478600001)(6512007)(6916009)(5660300002)(8676002)(4326008)(8936002)(2906002)(66946007)(66476007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amFzVERCNVp1VUwyZEptNDlFZHp5cElhSXNRb2VxY0wxcjZPK2Z4L1JkZGYw?=
 =?utf-8?B?SzdFZ3E0dGFxVHNXREdlK0x0SFUzb1gxYnJrejVpVG1PV1E1L3RJVlg4Qmlz?=
 =?utf-8?B?UVdlRzNjQ25wUDV6VWdpSjgwcVV3M29NK3NmVzV1eEc1UFFDUUxzdWVwMWhh?=
 =?utf-8?B?WWMrSlZ5dmp4cFozcEVXS1Fma3RmZnZhSDE0a0FFaHVaY05Ea2hOSElXaVZY?=
 =?utf-8?B?NkwyZ2oxYTQxOWw5N0o1dXF3TDNiOThCU0hTNVBKVTFZVkhKd2U4VElnN3V6?=
 =?utf-8?B?TzhoeThVUmxmNThBOGtJUWFxbnpoY3RqWGQwYUZiZGhHK3pLS1NjdlBUcE9m?=
 =?utf-8?B?d09hNTRlcXlJUHREa0xmT1llWGQyTWpHTjl0VWRtVDIrU05BeHJFVGhhdHJm?=
 =?utf-8?B?TlNOVUFXY3VsRmFmZ1VNS3ZiVU5nZ3dJQVR3V1B3aEk0MVVWRlRPRHFZdVFl?=
 =?utf-8?B?MlhSR1RyNWFYa1Qyc085NlpaN3FBQzd3cnRNWFIzaU1HbmZVYUtHdHVUeXlw?=
 =?utf-8?B?eHE4cG9lVk56aFM2NE55ZDZYY2hBVWswcUVMaEd2YUk3NTc2MDFQRHdqU05q?=
 =?utf-8?B?bEo4RGwxZWk1YmdISTlybnJYMGtVbVRiamhpZkFYdVJ0T1N4ZUE0Q1E0Vm0y?=
 =?utf-8?B?NXZwbzhnWjduNkNUaTJnNFJRNVJXQkZuV0tQRnpzU2NISW9kVVRjMjZINlox?=
 =?utf-8?B?OFR5TGNFSVl4ZUxHUUFDejFjWU1xRlB4TE9heG5LYVQzTzRvZDl0L25XdFJO?=
 =?utf-8?B?QzhjdE1heXUvU0xyZzZ2eEN2VlhWNzJFeUp2aWtHZ2NxR0ZKeGtaWHkvdVdv?=
 =?utf-8?B?UEZXN3p0TXZ6c3hYbkNiTFY1eWRSMkxYRlh6U3hxME1yNXR0bVhkMk4wS0Vl?=
 =?utf-8?B?dkdacEtnQjdRcGE4MFpEazBlYmFrSlJhR2FReWNyY3pYSDJxMmplZjJKWlNj?=
 =?utf-8?B?TzFqU2QzVVlxZzFSL1ZYM1J1R2hoa3d6Z2ZnTlpveU9HMlVhUUlyRHpjcjhh?=
 =?utf-8?B?NWNHRFczMS9SbDdUdDhOZHIxaEJoenZTYittUGdYYTZ4anVDSWQ4SE93WEQ1?=
 =?utf-8?B?STFpMXlBbFNtQlljVjJMTVdIMmZwWG5PbDNQdnZpVk1PTVVFTUlPVHRYVFdW?=
 =?utf-8?B?WE1hNjNoY1JaVWtralFXRlIyOWRBNTV0ck43UVY1cVJJOHQ3VHd2OTJlZ1ox?=
 =?utf-8?B?K2dHL3VPNUVnOStnVmdSQ1pLajd4WGtMUFBzcG1abGR6bUR2ZmJheG51UjQ2?=
 =?utf-8?B?RDF4YzFlZkVEcUhJakQwU3Q3VFZuaCsvc1lLTDVxSkNGN2FkQzh5YkN3d0pF?=
 =?utf-8?B?dXR3YzIvZnE4N2tkOUs1TkJ3eGIyUkhqT0ZZZmdqUXAyZUZPSTJrYnFiekhJ?=
 =?utf-8?B?T0t0NjdWQzMyeTdmODA0cXpqSGxGOEtlVTdvY21leE9lanF5eFRQNGc4MXd0?=
 =?utf-8?B?bWI5KzZJRG9MNzVZZDZxSzZlcFh1Z2xmaEE5YVJPSVJzaGtTRnQ0cnV0U3g1?=
 =?utf-8?B?QkE5WWxVTG0xbzVPbjVIbllPWVdQbnJqYkJvcGdoek1YN01TQWNaeXVsdzAx?=
 =?utf-8?B?NFVIVDU0SUxiRXRTU2hYT0dsazJjMmJNME51b0RhaHV4ZmFrcjVESG5OdVpS?=
 =?utf-8?B?OHdDeWxBZnNhMVptcm4zbmthbmZxVi9UeWNuMGhSR0N2ak1CMDV5S1piandk?=
 =?utf-8?B?TURNYWl4RkZXelp0VHI1OVg1a2JqUnJNOHpXYk9aMTV1NTBESEtFU0NPWDdL?=
 =?utf-8?B?czdhNzRmbHMyUUQwdWp0YzA3dnJwMEtOSDJpSk1iNDZNZ2ZodUVxbkxpWTk3?=
 =?utf-8?B?eUJGRTJvekNkYzNDbU9Hdk10QUNjWVk2emdTR290YXA5NEpmQjBUUmREMlhU?=
 =?utf-8?B?dGdQb2ZFM3UyQk9rRHRxWG5wbGFnZjFEa2ZRbmptZWJuT3E5aGtYU1BLajhJ?=
 =?utf-8?B?MjJhVUZNRGxIVTZoVUFWSHZDcXZvTGdKWEw1REI4QjFSYWRFTTdsTThwRzhT?=
 =?utf-8?B?VFB5NVpTVXFkaVFwSkhPcHF0Q3ZZRGRDTlZEWldsdGE5VEY1VlpsWjMzc2R6?=
 =?utf-8?B?ditvS0RtaC9ZcXFFTEgzdDZHWFlZTlR4RGpjdGtEZzBjVDgxZ3lRenM1WEg1?=
 =?utf-8?Q?IkdQDnTrCQzFCd7qvcpK1yWlM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ad47f9a1-19e5-4eb1-e948-08da8119ed17
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:02:37.9997
 (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: UlV2vCnzR7pgqnPbtBk89F789M74iGcNFG4+xhdq4oEn8v4sgiPrvb7AsEEWL4DLT40kGT5wGT/jtGuLsL4wzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4685

New changes have appeared in the meantime, in particular one partly undoing
what we still haven't merged (patch 1 here).

1: add 'preferred_cstates' module argument
2: add core C6 optimization for SPR
3: add AlderLake support
4: disable IBRS during long idle
5: make SPR C1 and C1E be independent

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:03:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:03:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389509.626468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfBU-0006do-1i; Thu, 18 Aug 2022 13:03:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389509.626468; Thu, 18 Aug 2022 13:03:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfBT-0006dh-UK; Thu, 18 Aug 2022 13:03:39 +0000
Received: by outflank-mailman (input) for mailman id 389509;
 Thu, 18 Aug 2022 13:03:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOfBS-0006az-82
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:03:38 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80078.outbound.protection.outlook.com [40.107.8.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c081b30-1ef6-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 15:03:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4685.eurprd04.prod.outlook.com (2603:10a6:803:70::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 18 Aug
 2022 13:03:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 13:03:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c081b30-1ef6-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P4gNg7b7zR7aDjCYNc0hiFjXe4vZyuRLwI/oPr6341zraBkwBTJcr0XVe/2dNYCihYYFOYhMbX4nmWr1vE117YZU7x483oD+6Xr8x2MbAJh9CPMeV3BW56hP7pn01PiPlDdL8bRpRz7nUFHQg+HahYKAK2+ClWJXNFEYIjy5fCu2XtIkMc1yz+btrcybKw57099OYOY81crfv5cqEQ+HY9xpOga8U9zZi5hmveg7EqeJlI82J+C56g+GcoeZQ+xZQZ7fZTf0uTYiLJBAmGYveub2nIdMRkz5F1HOKXmikWPUHZrBYlpk5MXtusvI8AksAzMUweroOa1o87LwDMRSzQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GufiTphKbXdjH/yVuLYpS2HC1RVzDPNWpFYxqi2ghMA=;
 b=Ne7mb8pAlwXYmjpqmvhgNZmYLa2BUhPGE0GXh+ipP1TP4ZKbXuwR4x/SbEbNH75Upn3l+G//FIOHfr2QYHHn3zLG1JwYxlw8TQoNQKz8op0vttwGtnPhKWGZk/vipliBXEBnVAWAj1ExxkGtZt7ERSv53NEOypHzevwCqguSKxFLWKVY5mN3Vih9fpTkZ/+ilLSOw6QJrMhP5NOatpC4qfywjkuzJR26Ony8u+nFGSMzAHnZh19TghLah0nznrh6l1UmLJy5SwdH3oRj8C4l2z+sL3Af6UIecwZx0jvBsKpASyUbujRvgwS9twVfBl9j+xCm+7LREqyIte3CCtWLqA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GufiTphKbXdjH/yVuLYpS2HC1RVzDPNWpFYxqi2ghMA=;
 b=pP3VLR++0RCltSLCpcGYQhNywKrJPPAcNFi72vJpq9PDtd85Qct4mLIsYiovtrdGyrJooOBwdK+/uKrFcEUT3hhxHit9vz9w6WeLo73fUmVci9GxVdDAYLam4A6/yNzY6o/yTXVYmnlW85rzvLw9DYzmbEdd35jTlRsjHPE+dpP+rQk218ITGRr6KNxv7j0Q1DiuiqBIGj2457JMgvKi93EBTQ+qfZ21kQYonp5o/rsTgDxFLt5tNHILOXdbF/H3jS5TAFetOJOHcRY71q2aMZyqXXICT8dKfaaMqUF0XvYt/71Zh76Zv3xB5CiUWRwnWJ6YGefKbZ6Ir7uprOY75Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0690742b-21c8-e5b6-e8ff-5d4709e0c3ee@suse.com>
Date: Thu, 18 Aug 2022 15:03:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 1/5] x86/mwait-idle: add 'preferred-cstates' command line
 option
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
In-Reply-To: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR07CA0042.eurprd07.prod.outlook.com
 (2603:10a6:20b:46b::29) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6cfbe721-0c7c-4cea-38c7-08da811a0f8f
X-MS-TrafficTypeDiagnostic: VI1PR04MB4685:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ygqnQ6CX8i4xFVKwjnlRU5woUj2VyuSF8Ns1gUEZmVtPDFQI+9aE6UeaPQ433Ne+P/pxgmOrtqkp4m3XJBlyrfXYjxAGtCg0WASXxkWekOiimW0bDSwjW4Ki23AKim3zkC7yaBAsR8dYl+c5QTxFejAABiCx/xJSeZVD4PWH/u3RLRIwFiZyi4zySZL7SDZNqAm4CV9JMlt63TZiclCuUg9xE0xhWSymCIP0Oy4qhwJGxbFi3bI7+qNfXqoNTfMWARdH0ZWLvIVQeQsHge0FNBFoDJVc3sC4d8TcaJsnnRZCOxaRm+U6Sx5Ancs8A72eCa5XqBV4YRP0LWKtFiAVWuER1ZPxf5el2SozGgCBh//0u9/S4g2Cge2kxsJjAkCPVQLz+eCmIx1JsZOe9bZUn9j5oFTMqkwoeRM1IAg6SMhbNubm8IWaO1D0VUeZbIf3lpoyBvdRlOgPEEun+o6CnMkep6C/2dAgJ1SV7ZOWW86/snuU3qHCvwcW8o2nmgU3GJ8ptSQn5eT0gm+TwLgRytAen/0Cr3VIESUbTo5wxqDNkf8XTZV2WEYGUtdijbAGJxcdyxlUgLFxLgQBTCb5iVYTlt9oG2DyHGdJoJOEuBBCh0YVmDn74dlCAvPISkqCCsu2UeQy1kIas23ByaEMuzG7IBX1aR5mmuMtgMDI78D+gndcNV4VSkRKSHNv0MSvz/1IDJQyJesmAxomwIxitsjjUEfGSW6/dFpl3uLd5b2hfzykL32ieGkWdAONNrmpeGcV882eCC6IN4cm9nw1n99wHpwJOX2cPS3Z2DJab3o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(39860400002)(366004)(136003)(346002)(31696002)(86362001)(38100700002)(83380400001)(186003)(2616005)(31686004)(36756003)(6506007)(6486002)(54906003)(26005)(316002)(41300700001)(478600001)(6512007)(6916009)(5660300002)(8676002)(4326008)(8936002)(2906002)(66946007)(66476007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjVkS0dTdVhBcEd2NDBrb2kxV055MXE2ZVY3b3BwNWx2UnFrU0Y0TFRsU2hp?=
 =?utf-8?B?Q2JBRHdjUGtWSlRCWDl4TC9lZkxjNTgvRlN2TG42OUkzOUZyTDc3SkZSTTRs?=
 =?utf-8?B?Z2w3TVRmSjBpU3dQYTBkQWFRb0lIK29oSkFtLzJET0NhNDIrU3JEcCtxd0VE?=
 =?utf-8?B?Q1NxQUNJUkZveko5VWlFMTRHVkh2RXpWUXBXY1h4S1Nkc1QrVnJqYXEzWUFC?=
 =?utf-8?B?NnZCbnREQVYrQWtJckRPcStDdlhxWFNacExrcGx2Uk10eEhIajlXWW10U25U?=
 =?utf-8?B?dGpDTmhkNzZxUnVUZ0NXZGFEcXl0Vkd4RHpiaDVsRzYrY0N1QVhrVktaK0Y0?=
 =?utf-8?B?SmRuNXRLc3Q0cEt0SmExT2RFS0hCZzJ2OUtQV3EvY2hkVVNjdlNiYzQwd2xG?=
 =?utf-8?B?U09HK2FrbTJ5dnRvbG44YWNMYmtWbWV5d21lTXY5VXJmN2E3a2lGNkNvL1VO?=
 =?utf-8?B?RUc3bTVtOVpNZ1dXblR6TFRYSERSMVlwTXE5elRSUGV2VmhIMm9URG1JbmNm?=
 =?utf-8?B?b1lKQ0hqNUVUTG05V1lMajFLbkdEN2tTRUFRa1dDQ1grSTkxTzFCNHIra3M3?=
 =?utf-8?B?V3Z5RUxUNFU5SXFGK2lyeGRlbnl1WGNLakRXK2xWbGRKd2NRbytOVTllcU05?=
 =?utf-8?B?eWRjdldUV1NacmQxK3pTYmpkeVVrN2k5WG4rZWk0bU5DNERldS93VlpJVFhl?=
 =?utf-8?B?dDZPczNnOGMwZGxkbnFFMFJvNEdhcG5mUVJ4TGxzWjBNdlBQajRMeEpGSm1l?=
 =?utf-8?B?ZnhHQUNHNHU2L2p3NlpVRURHSVhMQWowbHhia1N2ekxVVWNKYmcwd2U5eGxy?=
 =?utf-8?B?M1dGeUdVSTZlbjdkNU1lN1hDQzNlUGxEcitpTk1IZEc2MU9OQ2xwZHYvODlo?=
 =?utf-8?B?NVRnYVNXWGZ6dmh2aWMzd2dMdzJiMVF5OEdMTUtOd3hQSjJGZVJxOTdGaGRL?=
 =?utf-8?B?QTFTckFaYytsMkRTUSswazYzNXRKUGZZUGVRaVlyaHVsUW9LYlh0bGg1RnJl?=
 =?utf-8?B?MFhiQjNoYWlrazRLdmRKdmdKVmMxNEZ3ckVCcnM2eW0yYzRYazNOT3ZUZzVH?=
 =?utf-8?B?Vk5GMm9PSzVsWWJ0a0dERWpoSWxqcjcvdldCWXlmYVJrd2krQ2lWL1I1UHBv?=
 =?utf-8?B?cE02TXRlbTl5aDVicjFJSVEzSDFLbngzeHdMZDQ1V3o3c3FteXlmc0hyUjdG?=
 =?utf-8?B?b0hXTkNDMk42Yyt2aTFscms0MGhOYUtpQlk4SEJXbmtoSFBvV0QzdVBmTVhK?=
 =?utf-8?B?YnEvUjZhUU1UUlhSc3lRZFZvUG93L1NWdlFoQmZsSDVLeDNwczd1bG5JWmJn?=
 =?utf-8?B?bC95SmV4VUlXN0JnVnJJSnBzUnlyOXJlV2FzQzVNNHhGaVVMTllRL1dHZDJz?=
 =?utf-8?B?M3RXR0FIdXNYKzUrTG80TmNDTUc3Und0bmpyNGVERXhwL2p5NFhqY3N4QkY1?=
 =?utf-8?B?Y001cVBHRDhKcTg5NkZYRGxnNGp1QmFwd0h3REZsaTNzSG4vNEI0ZkQrekM3?=
 =?utf-8?B?bkNCQ3J4b2xGYUxIcEFxVE1yRWw4dWRzMzROODBRbDhhZzFaY2l5Y2R6bSt4?=
 =?utf-8?B?b2lXdGd1NHh4d0ZpL2NlUnNIQ0NGcTFWLzRlQzlPZjhpRjFPanNYY1NxNGo4?=
 =?utf-8?B?ME1TSEVTWWYvZ2NuTW1namZIYUF5ODB1bi9waUtYSFBnTFlXamlGYTdIaThp?=
 =?utf-8?B?NytMUi9rUHc4d2R2VzMvUGcyU0RlYjlSNVFYWGFQeUNDeTRmWUk5QmhFZjhR?=
 =?utf-8?B?ZldsNGhpeUJCV1NOY0plOFY2M0N6YWp6UXRYeW5EQWNTcFlXK1JqdTA2TVJs?=
 =?utf-8?B?ck5lT1Z2RVU0MVVxVUN4NmFXQXZqdXZUV3ZuK3FkMHlCdW4zeHZnQ3UwL2FL?=
 =?utf-8?B?TjFOVUI2ckY3aE9ETTRuM3hKZ2dMalVsRU8yYTl1WnhJSEJiSXZpcXpJQ3FW?=
 =?utf-8?B?a24yQjFkUjR5TE9GQmdTZm5SMGpqdW1ONlcvZGZXM0NuNU5BWUFqQzRaNkx6?=
 =?utf-8?B?bS8xRG53RW1ndGE3cHBuenRrcWJrbG5tNnpaYk9acjgrckthU3JKZVY0RmN5?=
 =?utf-8?B?YmhXRkYxbUdZMmY5akxLdjZoczdnc2dNR0s0UnFyR1ByUCtnS1hEOXBncHYv?=
 =?utf-8?Q?8cYvkmPTyoKjLMfNX0yDhKS56?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6cfbe721-0c7c-4cea-38c7-08da811a0f8f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:03:35.7617
 (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: HuNVhqFx8yuhEW6BM77m/UbIdOAvJoLb4W3/NtKFFk00zezH0zEZ9yYLCZTAqr3O8nSHWucdKDAcppVWPsqbfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4685

From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>

On Sapphire Rapids Xeon (SPR) the C1 and C1E states are basically mutually
exclusive - only one of them can be enabled. By default, 'intel_idle' driver
enables C1 and disables C1E. However, some users prefer to use C1E instead of
C1, because it saves more energy.

This patch adds a new module parameter ('preferred_cstates') for enabling C1E
and disabling C1. Here is the idea behind it.

1. This option has effect only for "mutually exclusive" C-states like C1 and
   C1E on SPR.
2. It does not have any effect on independent C-states, which do not require
   other C-states to be disabled (most states on most platforms as of today).
3. For mutually exclusive C-states, the 'intel_idle' driver always has a
   reasonable default, such as enabling C1 on SPR by default. On other
   platforms, the default may be different.
4. Users can override the default using the 'preferred_cstates' parameter.
5. The parameter accepts the preferred C-states bit-mask, similarly to the
   existing 'states_off' parameter.
6. This parameter is not limited to C1/C1E, and leaves room for supporting
   other mutually exclusive C-states, if they come in the future.

Today 'intel_idle' can only be compiled-in, which means that on SPR, in order
to disable C1 and enable C1E, users should boot with the following kernel
argument: intel_idle.preferred_cstates=4

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git da0e58c038e6

Enable C1E (if requested) not only on the BSP's socket / package. Alter
command line option to fit our model, and extend it to also accept
string form arguments.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Also accept string form arguments for command line option. Restore
    C1E-control related enum from Linux, despite our somewhat different
    use (and bigger code churn).

--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1912,6 +1912,12 @@ paging controls access to usermode addre
 ### ple_window (Intel)
 > `= <integer>`
 
+### preferred-cstates (x86)
+> `= ( <integer> | List of ( C1 | C1E | C2 | ... )`
+
+This is a mask of C-states which are to be used preferably.  This option is
+applicable only on hardware were certain C-states are exclusive of one another.
+
 ### psr (Intel)
 > `= List of ( cmt:<boolean> | rmid_max:<integer> | cat:<boolean> | cos_max:<integer> | cdp:<boolean> )`
 
--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -82,10 +82,29 @@ boolean_param("mwait-idle", opt_mwait_id
 
 static unsigned int mwait_substates;
 
+/*
+ * Some platforms come with mutually exclusive C-states, so that if one is
+ * enabled, the other C-states must not be used. Example: C1 and C1E on
+ * Sapphire Rapids platform. This parameter allows for selecting the
+ * preferred C-states among the groups of mutually exclusive C-states - the
+ * selected C-states will be registered, the other C-states from the mutually
+ * exclusive group won't be registered. If the platform has no mutually
+ * exclusive C-states, this parameter has no effect.
+ */
+static unsigned int __ro_after_init preferred_states_mask;
+static char __initdata preferred_states[64];
+string_param("preferred-cstates", preferred_states);
+
 #define LAPIC_TIMER_ALWAYS_RELIABLE 0xFFFFFFFF
 /* Reliable LAPIC Timer States, bit 1 for C1 etc. Default to only C1. */
 static unsigned int lapic_timer_reliable_states = (1 << 1);
 
+enum c1e_promotion {
+	C1E_PROMOTION_PRESERVE,
+	C1E_PROMOTION_ENABLE,
+	C1E_PROMOTION_DISABLE
+};
+
 struct idle_cpu {
 	const struct cpuidle_state *state_table;
 
@@ -95,7 +114,7 @@ struct idle_cpu {
 	 */
 	unsigned long auto_demotion_disable_flags;
 	bool byt_auto_demotion_disable_flag;
-	bool disable_promotion_to_c1e;
+	enum c1e_promotion c1e_promotion;
 };
 
 static const struct idle_cpu *icpu;
@@ -924,6 +943,15 @@ static void cf_check byt_auto_demotion_d
 	wrmsrl(MSR_MC6_DEMOTION_POLICY_CONFIG, 0);
 }
 
+static void cf_check c1e_promotion_enable(void *dummy)
+{
+	uint64_t msr_bits;
+
+	rdmsrl(MSR_IA32_POWER_CTL, msr_bits);
+	msr_bits |= 0x2;
+	wrmsrl(MSR_IA32_POWER_CTL, msr_bits);
+}
+
 static void cf_check c1e_promotion_disable(void *dummy)
 {
 	u64 msr_bits;
@@ -936,7 +964,7 @@ static void cf_check c1e_promotion_disab
 static const struct idle_cpu idle_cpu_nehalem = {
 	.state_table = nehalem_cstates,
 	.auto_demotion_disable_flags = NHM_C1_AUTO_DEMOTE | NHM_C3_AUTO_DEMOTE,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_atom = {
@@ -954,64 +982,64 @@ static const struct idle_cpu idle_cpu_li
 
 static const struct idle_cpu idle_cpu_snb = {
 	.state_table = snb_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_byt = {
 	.state_table = byt_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 	.byt_auto_demotion_disable_flag = true,
 };
 
 static const struct idle_cpu idle_cpu_cht = {
 	.state_table = cht_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 	.byt_auto_demotion_disable_flag = true,
 };
 
 static const struct idle_cpu idle_cpu_ivb = {
 	.state_table = ivb_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_ivt = {
 	.state_table = ivt_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_hsw = {
 	.state_table = hsw_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_bdw = {
 	.state_table = bdw_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_skl = {
 	.state_table = skl_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_skx = {
 	.state_table = skx_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_icx = {
        .state_table = icx_cstates,
-       .disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static struct idle_cpu __read_mostly idle_cpu_spr = {
 	.state_table = spr_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_avn = {
 	.state_table = avn_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_knl = {
@@ -1020,17 +1048,17 @@ static const struct idle_cpu idle_cpu_kn
 
 static const struct idle_cpu idle_cpu_bxt = {
 	.state_table = bxt_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_dnv = {
 	.state_table = dnv_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 static const struct idle_cpu idle_cpu_snr = {
 	.state_table = snr_cstates,
-	.disable_promotion_to_c1e = true,
+	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
 #define ICPU(model, cpu) \
@@ -1241,6 +1269,25 @@ static void __init skx_idle_state_table_
 }
 
 /*
+ * spr_idle_state_table_update - Adjust Sapphire Rapids idle states table.
+ */
+static void __init spr_idle_state_table_update(void)
+{
+	/* Check if user prefers C1E over C1. */
+	if (preferred_states_mask & BIT(2, U)) {
+		if (preferred_states_mask & BIT(1, U))
+			/* Both can't be enabled, stick to the defaults. */
+			return;
+
+		spr_cstates[0].flags |= CPUIDLE_FLAG_DISABLED;
+		spr_cstates[1].flags &= ~CPUIDLE_FLAG_DISABLED;
+
+		/* Request enabling C1E using the "C1E promotion" bit. */
+		idle_cpu_spr.c1e_promotion = C1E_PROMOTION_ENABLE;
+	}
+}
+
+/*
  * mwait_idle_state_table_update()
  *
  * Update the default state_table for this CPU-id
@@ -1261,6 +1308,9 @@ static void __init mwait_idle_state_tabl
 	case INTEL_FAM6_SKYLAKE_X:
 		skx_idle_state_table_update();
 		break;
+	case INTEL_FAM6_SAPPHIRERAPIDS_X:
+		spr_idle_state_table_update();
+		break;
 	}
 }
 
@@ -1268,6 +1318,7 @@ static int __init mwait_idle_probe(void)
 {
 	unsigned int eax, ebx, ecx;
 	const struct x86_cpu_id *id = x86_match_cpu(intel_idle_ids);
+	const char *str;
 
 	if (!id) {
 		pr_debug(PREFIX "does not run on family %d model %d\n",
@@ -1309,6 +1360,39 @@ static int __init mwait_idle_probe(void)
 	pr_debug(PREFIX "lapic_timer_reliable_states %#x\n",
 		 lapic_timer_reliable_states);
 
+	str = preferred_states;
+	if (isdigit(str[0]))
+		preferred_states_mask = simple_strtoul(str, &str, 0);
+	else if (str[0])
+	{
+		const char *ss;
+
+		do {
+			const struct cpuidle_state *state = icpu->state_table;
+			unsigned int bit = 1;
+
+			ss = strchr(str, ',');
+			if (!ss)
+				ss = strchr(str, '\0');
+
+			for (; state->name[0]; ++state) {
+				bit <<= 1;
+				if (!cmdline_strcmp(str, state->name)) {
+					preferred_states_mask |= bit;
+					break;
+				}
+			}
+			if (!state->name[0])
+				break;
+
+			str = ss + 1;
+	    } while (*ss);
+
+	    str -= str == ss + 1;
+	}
+	if (str[0])
+		printk("unrecognized \"preferred-cstates=%s\"\n", str);
+
 	mwait_idle_state_table_update();
 
 	return 0;
@@ -1400,8 +1484,18 @@ static int cf_check mwait_idle_cpu_init(
 	if (icpu->byt_auto_demotion_disable_flag)
 		on_selected_cpus(cpumask_of(cpu), byt_auto_demotion_disable, NULL, 1);
 
-	if (icpu->disable_promotion_to_c1e)
+	switch (icpu->c1e_promotion) {
+	case C1E_PROMOTION_DISABLE:
 		on_selected_cpus(cpumask_of(cpu), c1e_promotion_disable, NULL, 1);
+		break;
+
+	case C1E_PROMOTION_ENABLE:
+		on_selected_cpus(cpumask_of(cpu), c1e_promotion_enable, NULL, 1);
+		break;
+
+	case C1E_PROMOTION_PRESERVE:
+		break;
+	}
 
 	return NOTIFY_DONE;
 }



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:04:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:04:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389512.626479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfBq-00075y-BV; Thu, 18 Aug 2022 13:04:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389512.626479; Thu, 18 Aug 2022 13:04:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfBq-00075r-7E; Thu, 18 Aug 2022 13:04:02 +0000
Received: by outflank-mailman (input) for mailman id 389512;
 Thu, 18 Aug 2022 13:04:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOfBo-0006az-Vg
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:04:01 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80054.outbound.protection.outlook.com [40.107.8.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39dbf736-1ef6-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 15:04:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4685.eurprd04.prod.outlook.com (2603:10a6:803:70::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 18 Aug
 2022 13:03:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 13:03:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39dbf736-1ef6-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VycxG/A6hA+c7n0s7H7T28xfAxqTr3006kdDywr+qsjCzYWdKb50gcZANSC/08BlSrnjXzVLNd4yV2RmxiQSNRs3GTprHLsO62Y7oXTrbT3ub+0/4UlUyYTOpnYEi0po7DEa/PeMoVJzEHnIux5kptEZeVhE6BXrmn71skXMUp1uHyMK6l2/z55Xz6Iv0yK5Vgi212Q9SKWSFCahlIu285gi4kW23W4kAtX0RnACYqzYOXuSSYWDOGSo4aVLaoFObJzd/fmyDGkuDEwkS85tQQwwptjCRws+yU+BwiNYUXClozvfrxsLCpKqOGu11NRWgBt0HVGLRETLT1mvrd7Rkw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q1xcR1YrekDly/6j+fddD6c7EDtW054iEZ9k6oP7154=;
 b=XakYcV6iB4EwG13VDy9k8lnm07z+A+jXZBuQQQr5FX5KmDZhLfCZGjsmZJBNWCJh5/t7Hwi1LkC0NrpGTAF1/F+Mi9l/HlhpxlIo1zEBBihCGYUIox7/Zv+ADoa3wLpI6pPrk7HXG/ulI1aet0zs0iclhM8rF8fN8wbLxHZOhVdN6ynJMwRJyL4aAiNdCGjVBhDFFgF0sEhx6q73RoLnEE5ixGWKZ3x+NN1VDlJRbaT+ZPiPF0tr3+qoduubjyy7muHR3R6KEsfW5BA271PBvogclpuLE6G3VqpUgH7ei4PurHsSW6ZsFUTIP5VaStp9CLqo05PNLCQy64Z6rD3Icw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Q1xcR1YrekDly/6j+fddD6c7EDtW054iEZ9k6oP7154=;
 b=RT8Ejjd05uf79z2Er0em2GMca6pdFkJG86Ck/1idw2AwF3STZjOMOrIlgvlB9e39IGxKhQXtWrnbcoSDn3Q36LfH2rUZ04hugnx1U9c+eb2STChKDgVZ0S3e0Mq1ZFT8yxiI9f8vB4SzHgqJwL9rKarfx2XmHN+t+2oQA7+7B7uJXoX4Ou5j6igA4LhvKjj0Ab5qtsFwwRf2ye++vtmXNpuaeZ8fssk1dSwrP1ukZvz79ovBmtXAYoQ6lADhsLVslL4qRIE1WbVyNyPmXAkAdkFzaE57RfU8gWfOEYte/coQ690BT28DIGFsb6K6vywTwy39d9To7Dxdn+GxqTOIIg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <56364ce2-3b4a-43d5-2161-6354a4aa9dbd@suse.com>
Date: Thu, 18 Aug 2022 15:03:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 2/5] x86/mwait-idle: add core C6 optimization for SPR
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
In-Reply-To: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1a205b41-8fe6-47f1-d296-08da811a1d52
X-MS-TrafficTypeDiagnostic: VI1PR04MB4685:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BkRDGIe+f86MAvIz+3igGrI6UlZBlWH0u6EYQcGXCHdOjyguLILTePqSqylnF1Sy9VbHu3184F++AwJldgqN9ZCC7wxhl6IIhNrGV+mf0x/6mWfOXoJhkWOFFAi1WvbjtaNaJ6zrToLFAvmEhqGEcoOZQpiWAyNJqyyh2HPR/WlxbKeDFKxYUxHQRtoONVnatXpvXak8G4zTDg0g8VaRc/K9MBvLDobGo4ck5FRqM0Gn1blLT3FWL3ipzMGCqbOH2szsqFEMCMqW5Z7f33Tn1fLQntxngtuU2YP7xMiEyTJdnZcfhjplyNwOv02LKFagnvcVB7NRA/ahxDD+HkT0ZOoFX+sb5k4VruuihHtd2//vT/3CQBoKznoElY1nwXFwMAUqQw7yIssLYkXXtDo8eQvo/d+Du4TDhMUG4r/FbinW3fQQxKwP8gWhdWgFA4RwqbjpTr3SLqWQNnlBmH5ggPv10IHa05VbH/PoiZq53/bCqL4INUYD65I6T+aNl0pvkZWhgXVbqNHJJeSl7if7PtKhF9m6HdMwIBgHwz/jpgGIm6It1wpY07KbDVYwQHnvy7lU52smK0sfDlrbtaPrv24B/loCBL0o4b3LYgZmCsolmYzvXgNt6JqNUZVPzRYYXIzfrIHjmlQRkRt1DqwT0NXfkJZ2QgKqUvFS5qlvgHFoUqASwp1Qz9fyaN5IFSkC8Gp9pDW3C8WiCT0YRiSUW+nA61CIO2WvmqT/BNBFg1aYSpRceWhOq3tAir/3JfO2Yl9LjwkIPGpHtlMisxFe5192guk/LZzflvjvFkbOl48=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(39860400002)(366004)(136003)(346002)(31696002)(86362001)(38100700002)(83380400001)(186003)(2616005)(31686004)(36756003)(6506007)(6486002)(54906003)(26005)(316002)(41300700001)(478600001)(6512007)(6916009)(5660300002)(8676002)(4326008)(8936002)(2906002)(66946007)(66476007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHMxMUp4T2pCazUxYkdjT1Z5WnU3bHoyaHdrb3B2aWxNbC9neGRXVkZmNmli?=
 =?utf-8?B?aW0rR0ZVUGJrUGJuNi9qRzRSN2krc3lZUkpQSGhydlpkM1pQREJ2OXBJL21k?=
 =?utf-8?B?SUEva0FjWDMyU2NtQ2ZTYm01MHZZUk11WlVrdm4rVm1mSUxKMHZxSk5tY0Vm?=
 =?utf-8?B?OExncDN2UFE1cUpFYWp6MEZCMERQcndVdzVmT0xWdDRTZVpvVmNRVnBHYkpo?=
 =?utf-8?B?K3BPWkRUVVVIS1NYMWZlQXNpNE1Qc3dQUHdNQjNuSjJ3bjB5WjYrZWtPWENK?=
 =?utf-8?B?QkNpMER5bU1FblV0VHAvN1lISk9mdzlJSVN5eS90VklmbHgxai80dGdGTk01?=
 =?utf-8?B?N21YOWNqRjR2Z0l6c3dJR2M3QWk2eDVrdTFDZEtBMWMvZzFRV1MxV2NpMkVw?=
 =?utf-8?B?MWllR0xtMGd4K1pvelJzemtsSHphYVFYc2o4eW9JZ1pOa0NRckJ3Vk1HRDdl?=
 =?utf-8?B?clRlNHdVaDE3cy9BSEVtMHRUNU9IVmo0MVFKREx4Mm4vYmxrWllQMEMvcE1w?=
 =?utf-8?B?R0JZbnZFMWhQS0tBRnB2bnFJdHVqUTVpNUtlYi8zK1orODEvSnVoU25VL3Ra?=
 =?utf-8?B?NlV0NnRNWU9VQmxrcnlzc3IvYkdaZ1RWNEFCZVFKVGl2YzFMc2ZmY3hJbjY4?=
 =?utf-8?B?OTFQajVpVzJlai9xOEpYK2doWVJOemNpQjhaVWxPN0I4RU05QUJSY3ZoWm5X?=
 =?utf-8?B?NDNSN1dnVlMvZUFoWndScENZRktzWi9lNmF4TXFCNFltclhSaWI3UktQd1ln?=
 =?utf-8?B?ZE5ZU0JIWmRpamJZZXRFZTQycTdLSGMxaTZpR2ovbk1ENG1NT2pZVTR0WXdh?=
 =?utf-8?B?cjYzVHFBWkpJUnZTOUZKczdVZ3RxVUZTNStuVnlGWlpoaVpOaUJIN1N1b1cx?=
 =?utf-8?B?ZDN6QVptM1lObDdzenNQWGdQaWdoVHhwcjl6UHFUOGFBTlZ3Nm50V0tsN1ZL?=
 =?utf-8?B?dXloUk5ocEt6d1R4SHZUZXBWK1VOSWhWa2d4VnRCKzJLUVU3RnZZOGZiVXBD?=
 =?utf-8?B?dUg0bVN1ck9McmFiNXpXQ1hzRDJ4UGRoaFRSVnlsZmJaM2V4dHkrVTg0dVJu?=
 =?utf-8?B?UHdnbVJoZjhaOGM5dzI4ZkF6ODcwV3dBV0MxUWYzdWF5V1dzOHlQUnNQWktW?=
 =?utf-8?B?cUtQQjRiNzNTS2RianMwcm1raUdiZ0dWY3BOeGpkVlhDeHVZMXNKTDA2T3Zx?=
 =?utf-8?B?TVB0eVQ0b2tvdFh5b1FQV2o3SGN5NWgvMm0rMmlEY0E3bHB0QkdQNDBNUEU4?=
 =?utf-8?B?T0EvcGQwZWlETUpNUVJTdGgxSCs4WW90RkpxNDBiQVNzbXEwckFnK2pZU0c4?=
 =?utf-8?B?T0svMFZoQkhpT2p2VjMyUEJRbFN1bUVhNmY3ZTgwdkx2Qm5TQ1dEQ3B4Nk5z?=
 =?utf-8?B?TzBrMVFVeFEvRjZQYmxyNmhDSENKazJuM281LzNUSVlFdmRISXYzY2RsLzNL?=
 =?utf-8?B?U25rcFhkNW9EQThQcXFOQWE4YjNNVjNFcDV4TndzRVRBcW1zTXQycDJhakpk?=
 =?utf-8?B?bklSVjBVSDh4ZGdvaklodUZFTTA4TnpwMysvVStlNHBPVnlKVHErcGxqUGxU?=
 =?utf-8?B?aG80UGRhSkdSb093cXZTMmUxUG9tcUt6cDJNa21RVUxRdnFKeFUwQlFtRlBP?=
 =?utf-8?B?cWZlQUVGMll6b2tHQjNVS2JYV1UyZXRpOWpqZHlvc3JkNWxBVG1RK29GbVBC?=
 =?utf-8?B?TmZtUm1LS1pOVlBUUWFIS0RkTWttaUhoM0toTlZDUVVEQWp2dk5wQXcrOHhi?=
 =?utf-8?B?MjJyd2plYmphN0x6WUV1WlR4SGZNUHNBeUZrOWZQZVFFT1pEUXdYRmVrVjZX?=
 =?utf-8?B?YXJKTjBOMkIzSnlYZU1GQnB4R2Qzb0srWTNjckhYblJZbzVCM1pGNUw1Umh4?=
 =?utf-8?B?L2RFek9pWm5kbjFqQnltYWljUFI3NzhOZEI2U0N0RzFwNDFZbnpYbFRXSHN1?=
 =?utf-8?B?bDhCbXpBU0paMzdXUnB4TXNETUYwWklDRGZ1SDd1N3JOby9Ybnc0ZjBjQVdO?=
 =?utf-8?B?Ym5HQXRlcTd5K0RtSzhVamRGcnYzYXV1WjdsR2tENGVDSlFvOS9USm0reDJl?=
 =?utf-8?B?SStveEUxb0pVUW14MFhxYkVVaFhESlIxaHRPSFVTcnFoMndJNmJxcGI4Z3JD?=
 =?utf-8?Q?ypJpUiSMScm+EAzy53XsgIff3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a205b41-8fe6-47f1-d296-08da811a1d52
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:03:58.8071
 (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: 2TUFVaUukVmsbaVhEBJMtDVGaEZgCvN/2mEI/DsqxK0Zwh53KPsW/sADUPtPdnPtUxn2abaXXgAtfJUNB0dbuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4685

From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>

Add a Sapphire Rapids Xeon C6 optimization, similar to what we have for Sky Lake
Xeon: if package C6 is disabled, adjust C6 exit latency and target residency to
match core C6 values, instead of using the default package C6 values.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 3a9cf77b60dc

Make sure a contradictory "preferred-cstates" wouldn't cause bypassing
of the added logic.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
v3: Add parentheses.
v2: Sync with the Linux side fix to the noticed issue. Re-base over
    change to earlier patch.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -1273,18 +1273,31 @@ static void __init skx_idle_state_table_
  */
 static void __init spr_idle_state_table_update(void)
 {
-	/* Check if user prefers C1E over C1. */
-	if (preferred_states_mask & BIT(2, U)) {
-		if (preferred_states_mask & BIT(1, U))
-			/* Both can't be enabled, stick to the defaults. */
-			return;
+	uint64_t msr;
 
+	/* Check if user prefers C1E over C1. */
+	if ((preferred_states_mask & BIT(2, U)) &&
+	    !(preferred_states_mask & BIT(1, U))) {
+		/* Disable C1 and enable C1E. */
 		spr_cstates[0].flags |= CPUIDLE_FLAG_DISABLED;
 		spr_cstates[1].flags &= ~CPUIDLE_FLAG_DISABLED;
 
 		/* Request enabling C1E using the "C1E promotion" bit. */
 		idle_cpu_spr.c1e_promotion = C1E_PROMOTION_ENABLE;
 	}
+
+	/*
+	 * By default, the C6 state assumes the worst-case scenario of package
+	 * C6. However, if PC6 is disabled, we update the numbers to match
+	 * core C6.
+	 */
+	rdmsrl(MSR_PKG_CST_CONFIG_CONTROL, msr);
+
+	/* Limit value 2 and above allow for PC6. */
+	if ((msr & 0x7) < 2) {
+		spr_cstates[2].exit_latency = 190;
+		spr_cstates[2].target_residency = 600;
+	}
 }
 
 /*



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:04:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:04:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389522.626490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfCM-0007ja-Pw; Thu, 18 Aug 2022 13:04:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389522.626490; Thu, 18 Aug 2022 13:04:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfCM-0007jT-MA; Thu, 18 Aug 2022 13:04:34 +0000
Received: by outflank-mailman (input) for mailman id 389522;
 Thu, 18 Aug 2022 13:04:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOfCL-0006az-EI
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:04:33 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140054.outbound.protection.outlook.com [40.107.14.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d041472-1ef6-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 15:04:32 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4989.eurprd04.prod.outlook.com (2603:10a6:803:60::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 18 Aug
 2022 13:04:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 13:04:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d041472-1ef6-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d+jvnZ8muiIRzUeYLyORqxCzoLjA4q7DZPqaVESFX8WSJ1KNasXJOeZeTRDop4wwibtA5PsyByOYbCiZq3iaOH+mrJ77mDHkYb1R/2/IWVqALM/rNJpTDzun7rcIQWlVUFsXZ0dPsekG0nmYAgwE6yfF5uYfkI6tBVuK3UB6/hHHwNfOq6vW+vcJVixYf5S215PfampiKih5oXH81O71d1mRUY4qDcyppH7/tkFI+BKNxKyXiuyTKJlfI+k9KGohnkMx3rM2UVxGLzlYXNk3IowqJDHlkqEx8JfZrhCjhOoLPZ/WBzY0wKHaviBsxfPmbS0JCtbDgB5c2RuMytzGPw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h9X+XMAiX9Z2/4F6tWFKbA2kUecCTVCdhQW9aZDeJlQ=;
 b=X53v8JUgmQ8B2HSt3c5z+q7fcxj3P7L65ub9zhRgof7FqSPYJt/LAFf5AN6zlWrA6hGdhbFPaq/FkO70ZE7fImYdTWWw6hKYy9WS8ieiAOfQGoh4Ah4PtUhvVFEhEU7BPOGwD3/fkCugo+GA7LYRaS+Bipu1DrLhpK/4MI4vfBus4euv5UAEiM9B4r09L31tmw1hpQ2yxVMJDOXn5EvduAFnnAQQL/i/2lz1dRcUx/n8eVutJzhfAzeiQRd/fevikTl+U4GPq5Tuw5n5cRQLo4HGqzBXLfBDrvB2JDqr4wjfBbnky1hQas/jBa/rQUg6U/2s7rEI2Y6CBu7pYhOywQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h9X+XMAiX9Z2/4F6tWFKbA2kUecCTVCdhQW9aZDeJlQ=;
 b=crEGkO3DjIWu/AAvqIQnmlx2RL0gUQHxf2prme2wHGLspMayIvg7PnZ9ZiLYK47YZu198hMcdF2dG407/dfghIebmFBUvdYevJsQ16/hAi57X2AOnx63kWhNWsbqJm19E1pwBMQOLt5e5uc2rxJLXtDuLh1KgWDczrVWxOyFG3jpAnluoLHd8FJgB62yCjH9b58jvIj9pQCoz+RsTGQTwxBLxbCX92HebGI2xofBnDwqrpI3pFP25r/lHNeslI5j5lVhHcU/orufd4uj2WCwxvgCw5iejv/OFK3TRB44tQtYZOs+ZM11/kvQDks59BE99HqpsDXeBLqiTYERtC4pbw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f1ca24c7-0031-7ed7-d4a6-a5686cc7fcf1@suse.com>
Date: Thu, 18 Aug 2022 15:04:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 3/5] x86/mwait-idle: add AlderLake support
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
In-Reply-To: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0129.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d28e4f59-5232-45f7-2fee-08da811a2fe2
X-MS-TrafficTypeDiagnostic: VI1PR04MB4989:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fhWX9NZg/8RU2fhR6il5Oa07amCwE54+hAEW0fi5LGDEXJAXLAy0KdDQzJEwjMtVqL9vJ3kb+xHL3TSiogFIw3u9Dl5kidHEEK2mjSW+crFFj1h7Pm0ZCR/32668G61cYAHaNQHqfu7+YeLGcu4cImKGhGHzDby5/WfhIloNDUZwP9EzJ4HpsMAH5CthLQpcIklmkTrBqYn8RvKwuQ2vtqBtsqP6Xi3Bgrbd/ju2h/ARtHmi4W6tsS/Yqws0bjmMcgaKK3954DrORRGf8wsUwibmRLmsNYQ+1dttZ1FgDTFr41wkCE2x34wStjjXGpvnelB80DazWd1PBmWMLiqMFDD1Hb9Hj+eXPA5bY6TSDXUxlxYCuKc3moz8+2Y7nQYx/o4jrTwrhzao//rL4hejoCmOKNBc1s7vN4uulCFAN/ezkfTIXhc4mDKmogd95oOnL4n0oRcaFrRmLEOAYm5J9WwUkD9a/bCkXoKpr59Kaw+XiLTRPQRXPEFnbxcbaJfujaIVRPT9ZrDO/PJmY52IEF/maHW8XOXSiJLfnas9IEG3R+qlxNoWI+yd11bsdu8tMJHls0i6EqoNL9NckW3eeEWA+vIkHr0eIDWamGttjBJh72+A/1zGPZJJSI+sVBOF/uqk6JcFR7zt3Lu8FrPtsum/CCuJASaLZrgNIT7GYu74R9GUphYwgynIz5FY/v5Q0+xWhLO3zNKsy+VL9ZJEyEJ5FccOS/HVSngv+en1RDI3AAk80WIJIEfFGAeoV8IA9wike12ogJXFeAVYKOAsj4aZF5ZE/cZLDx6UsS/5/T4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(39860400002)(136003)(396003)(346002)(2906002)(66946007)(478600001)(66476007)(8676002)(66556008)(6506007)(41300700001)(31686004)(186003)(26005)(2616005)(6512007)(4326008)(6486002)(83380400001)(36756003)(86362001)(31696002)(5660300002)(38100700002)(316002)(54906003)(6916009)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QVVqWGlCMGRvOTZHRXprVkJvUTRkV1FwUXZCbWN4c1UxVnI4aUhXNkVQeUg3?=
 =?utf-8?B?RlBmdHU2WndpMVZLeXVDeUVUTmFNeVNFRnNqRTJSdE1kaWxmNHNtWGF6YWFC?=
 =?utf-8?B?NzFmUmlOVkdpZlQrR1dWNmRxS0tTb0tCZk82S2kzczEydnZPdXZIRWxJNWdp?=
 =?utf-8?B?YjllQmtsTFBqakorMnl1RzZYd1Jza0ZKZHJCNk1GallMNXpOUzVZU0thN29j?=
 =?utf-8?B?S0FSeVQ5QW4xemN0K2FyY2VCYkNuQXdqZ1h5UjFpZndJbDdIV1ZPQ2lwWGxY?=
 =?utf-8?B?UDhhTVJBc24xdjl1bFZVRVhDTG9iL0IzSHNOd1FlczBZMTc5QWYyMG9Jb3pT?=
 =?utf-8?B?SVlRQXpiNlFNR3k1eG9iVFkzSTFLVkRvOUxNUDM5THBmTno3YjFkQTlUaVN1?=
 =?utf-8?B?Mkx5S0JPdk5CeGlBMktQL1daa2J1Z1p5UlYrODczTVN5MjVGQVViY1gwSkFn?=
 =?utf-8?B?ME5aUkt5MHNkUG5SVTJZTGlZeXZ4ZXQrWitDdHZNdEE2anlPRmFZbm1maksr?=
 =?utf-8?B?c0lLTmN3SDFlUFpJZkh3dmZSTmtxVnhYL3Q4aTM0R2hYSXFYQVZNUytpVlY4?=
 =?utf-8?B?eFRSWVJVTFgzN3ZHMTVabXcvODg2RHF0QkpnNVlGNlJ4bG9yS0VmNXd6c0lp?=
 =?utf-8?B?cTk3eStCbDRCOVliS2o4Y3llYWFOT0xZSktZOE9lMmNDS2wydHpiUm9HL05v?=
 =?utf-8?B?TW9lcmdXMTE3c2srVmNOSUZ4YjZJWGdHdVhZbUE5MFNsT2ovenp5ZUxvYTR3?=
 =?utf-8?B?ZUtobVA3RXQvcUV6UHlpZVE2TXV3QzhoNUZyTnAzeldZZXlRUkMzaFBDODJx?=
 =?utf-8?B?bWZqSmxUYVYxTGdsYlQyUXM4SHRDdWhmVnlZNEFIWWprS3ZrcXVhUUVHYVpX?=
 =?utf-8?B?TElHaSsweTVwb3A1V2tseFk3STNVQUlFRER0YU5ublEvbGJWeFVmOXpxMXYz?=
 =?utf-8?B?Qll1cTJraE5NVVRWMjNKTTdLeEdoOHphOUhzQmhUTHVKbzZZd0VXMHdLNzZn?=
 =?utf-8?B?c2dhb1J1ZGpLUTNIR2VTaW84VnZlQ09wa3RXbGxiNE5UbzkzZ3pFMTRKZmlx?=
 =?utf-8?B?YnhnTS9yWUJhb3ljYmp5UlI2L3lkUlpwWXFJaE5hOHVPdEQxeTBEOFpPQlZT?=
 =?utf-8?B?NmRDSS9LR3FqSS93UmhyRGJNNjhFRHhuNG5RZmErZlM1Nnc0d0pYZW1QcEVp?=
 =?utf-8?B?eEVzTit6V1Y5ZE02SmpKWi9ac2NRRlpWUmlpOTFHR2FESlBva0h0VDlhRHlU?=
 =?utf-8?B?LzNYUnRHdzRJalRSRFN4aXhVdjlxWEd6RjR5a1QyMlFDdmh3STZCbjNIQnpv?=
 =?utf-8?B?TEFBdXZiMWlCTkJuTExrOXFieVlUVHFzUDhMS3E2ZHQ3Wmxhbk5nZHJ4UG5O?=
 =?utf-8?B?SHlUQ2Jnd3NJS0M3OWhkZjlxYVoxODdqK1RJZG9BN0plRlN2K0hjbnBwSWt1?=
 =?utf-8?B?YkhraFByVzkvREU2SFY2RWdHaHduTlRvRFdFaXp3RTRMakZoTUVNQjFWck5P?=
 =?utf-8?B?UTkzMmtXbkVwWWlMVW9mb3VZTlRIdzZMaWk5L3hmQnd2aEhIWVY0Y2x6MVhS?=
 =?utf-8?B?T0FBNklCOGpxUllKQ2RYd1g5UnZJZGlyVk9JL3dJNUdKQXZrVmFvUG52cmoz?=
 =?utf-8?B?dWhNTmVPcUZHYkhOMm0rUGJPazkvNEoza2gwcS9ZSklwZy9TbWJNdU5aRkpL?=
 =?utf-8?B?emFVb2FjeERZV0hlUzgyWFVLSlE1Mm9wMFMzQXhqRElLckVlT0RqYWdpczUr?=
 =?utf-8?B?ZWlwekRuOHdORVB6YU5aOTQ5SjYrb2pCdE13TVUrWkIwV2hoKzNIZFplY00r?=
 =?utf-8?B?Zlg4WGk0VGpPRWkzS25QRzZaV3NLM0U3S0xiL1doN1lEaFNEeng1ZjVpb00v?=
 =?utf-8?B?QUZYUG1uZWtpU3l0L09FUllLNnlibUg2UWE4V1ljVzNVSmo4bVE0UFBlNTNK?=
 =?utf-8?B?T3BpZy9FY1FtZ2h4OTl3c3NZMlFlcnZscGxnaTdQMUR0Um1EYVJRWlFJMmNt?=
 =?utf-8?B?OVo5UTNnYkdYSDFHeGVuZUIyVTBwRlR3bDI4bGFNMm44V2t1VnR2Z2JPTkQx?=
 =?utf-8?B?cWdrbjRVK2xaN3dTcklMVWl6OXFyRkVzTFlta3QzOEE0dGVva2ZLQ05NUVhP?=
 =?utf-8?Q?wh0veUebANepppkbBhoi2XQi9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d28e4f59-5232-45f7-2fee-08da811a2fe2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:04:29.9456
 (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: lpdKpgHbXUmtAT2RWWCsotvTquB8dhfroMK+GZYIp0cufLE2dq/9Og7ilqaF3ZEk/6iQSIbl6CT18OwxPpvtcQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4989

From: Zhang Rui <rui.zhang@intel.com>

Similar to SPR, the C1 and C1E states on ADL are mutually exclusive.
Only one of them can be enabled at a time.

But contrast to SPR, which usually has a strong latency requirement
as a Xeon processor, C1E is preferred on ADL for better energy
efficiency.

Add custom C-state tables for ADL with both C1 and C1E, and

 1. Enable the "C1E promotion" bit in MSR_IA32_POWER_CTL and mark C1
    with the CPUIDLE_FLAG_UNUSABLE flag, so C1 is not available by
    default.

 2. Add support for the "preferred_cstates" module parameter, so that
    users can choose to use C1 instead of C1E by booting with
    "intel_idle.preferred_cstates=2".

Separate custom C-state tables are introduced for the ADL mobile and
desktop processors, because of the exit latency differences between
these two variants, especially with respect to PC10.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
[ rjw: Changelog edits, code rearrangement ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d1cf8bbfed1e
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -606,6 +606,84 @@ static const struct cpuidle_state icx_cs
 };
 
 /*
+ * On AlderLake C1 has to be disabled if C1E is enabled, and vice versa.
+ * C1E is enabled only if "C1E promotion" bit is set in MSR_IA32_POWER_CTL.
+ * But in this case there is effectively no C1, because C1 requests are
+ * promoted to C1E. If the "C1E promotion" bit is cleared, then both C1
+ * and C1E requests end up with C1, so there is effectively no C1E.
+ *
+ * By default we enable C1E and disable C1 by marking it with
+ * 'CPUIDLE_FLAG_DISABLED'.
+ */
+static struct cpuidle_state __read_mostly adl_cstates[] = {
+	{
+		.name = "C1",
+		.flags = MWAIT2flg(0x00) | CPUIDLE_FLAG_DISABLED,
+		.exit_latency = 1,
+		.target_residency = 1,
+	},
+	{
+		.name = "C1E",
+		.flags = MWAIT2flg(0x01),
+		.exit_latency = 2,
+		.target_residency = 4,
+	},
+	{
+		.name = "C6",
+		.flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.exit_latency = 220,
+		.target_residency = 600,
+	},
+	{
+		.name = "C8",
+		.flags = MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.exit_latency = 280,
+		.target_residency = 800,
+	},
+	{
+		.name = "C10",
+		.flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.exit_latency = 680,
+		.target_residency = 2000,
+	},
+	{}
+};
+
+static struct cpuidle_state __read_mostly adl_l_cstates[] = {
+	{
+		.name = "C1",
+		.flags = MWAIT2flg(0x00) | CPUIDLE_FLAG_DISABLED,
+		.exit_latency = 1,
+		.target_residency = 1,
+	},
+	{
+		.name = "C1E",
+		.flags = MWAIT2flg(0x01),
+		.exit_latency = 2,
+		.target_residency = 4,
+	},
+	{
+		.name = "C6",
+		.flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.exit_latency = 170,
+		.target_residency = 500,
+	},
+	{
+		.name = "C8",
+		.flags = MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.exit_latency = 200,
+		.target_residency = 600,
+	},
+	{
+		.name = "C10",
+		.flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.exit_latency = 230,
+		.target_residency = 700,
+	},
+	{}
+};
+
+/*
  * On Sapphire Rapids Xeon C1 has to be disabled if C1E is enabled, and vice
  * versa. On SPR C1E is enabled only if "C1E promotion" bit is set in
  * MSR_IA32_POWER_CTL. But in this case there effectively no C1, because C1
@@ -1032,6 +1110,14 @@ static const struct idle_cpu idle_cpu_ic
 	.c1e_promotion = C1E_PROMOTION_DISABLE,
 };
 
+static struct idle_cpu __read_mostly idle_cpu_adl = {
+	.state_table = adl_cstates,
+};
+
+static struct idle_cpu __read_mostly idle_cpu_adl_l = {
+	.state_table = adl_l_cstates,
+};
+
 static struct idle_cpu __read_mostly idle_cpu_spr = {
 	.state_table = spr_cstates,
 	.c1e_promotion = C1E_PROMOTION_DISABLE,
@@ -1099,6 +1185,8 @@ static const struct x86_cpu_id intel_idl
 	ICPU(SKYLAKE_X,			skx),
 	ICPU(ICELAKE_X,			icx),
 	ICPU(ICELAKE_D,			icx),
+	ICPU(ALDERLAKE,			adl),
+	ICPU(ALDERLAKE_L,		adl_l),
 	ICPU(SAPPHIRERAPIDS_X,		spr),
 	ICPU(XEON_PHI_KNL,		knl),
 	ICPU(XEON_PHI_KNM,		knl),
@@ -1269,6 +1357,30 @@ static void __init skx_idle_state_table_
 }
 
 /*
+ * adl_idle_state_table_update - Adjust AlderLake idle states table.
+ */
+static void __init adl_idle_state_table_update(void)
+{
+	/* Check if user prefers C1 over C1E. */
+	if ((preferred_states_mask & BIT(1, U)) &&
+	    !(preferred_states_mask & BIT(2, U))) {
+		adl_cstates[0].flags &= ~CPUIDLE_FLAG_DISABLED;
+		adl_cstates[1].flags |= CPUIDLE_FLAG_DISABLED;
+		adl_l_cstates[0].flags &= ~CPUIDLE_FLAG_DISABLED;
+		adl_l_cstates[1].flags |= CPUIDLE_FLAG_DISABLED;
+
+		/* Disable C1E by clearing the "C1E promotion" bit. */
+		idle_cpu_adl.c1e_promotion = C1E_PROMOTION_DISABLE;
+		idle_cpu_adl_l.c1e_promotion = C1E_PROMOTION_DISABLE;
+		return;
+	}
+
+	/* Make sure C1E is enabled by default */
+	idle_cpu_adl.c1e_promotion = C1E_PROMOTION_ENABLE;
+	idle_cpu_adl_l.c1e_promotion = C1E_PROMOTION_ENABLE;
+}
+
+/*
  * spr_idle_state_table_update - Adjust Sapphire Rapids idle states table.
  */
 static void __init spr_idle_state_table_update(void)
@@ -1324,6 +1436,10 @@ static void __init mwait_idle_state_tabl
 	case INTEL_FAM6_SAPPHIRERAPIDS_X:
 		spr_idle_state_table_update();
 		break;
+	case INTEL_FAM6_ALDERLAKE:
+	case INTEL_FAM6_ALDERLAKE_L:
+		adl_idle_state_table_update();
+		break;
 	}
 }
 



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:04:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:04:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389524.626501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfCk-0008Fr-1k; Thu, 18 Aug 2022 13:04:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389524.626501; Thu, 18 Aug 2022 13:04:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfCj-0008Fk-VB; Thu, 18 Aug 2022 13:04:57 +0000
Received: by outflank-mailman (input) for mailman id 389524;
 Thu, 18 Aug 2022 13:04:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOfCi-0007Vi-9h
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:04:56 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2049.outbound.protection.outlook.com [40.107.104.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a5d0c3c-1ef6-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 15:04:54 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4989.eurprd04.prod.outlook.com (2603:10a6:803:60::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 18 Aug
 2022 13:04:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 13:04:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a5d0c3c-1ef6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m2HnhP9YZkSDdlmjNmJDXCo/StiUW5T4KzDiHbcUlonLeTTQcvnXC8i4eGtgOmZss5Ke4xMt7ScpJV6cMxYTI03jSY1o3M2raCk9y01v+IVFfc3aM3Pbn8aPOlUo0LB60ffnvnvHmK6NkQSy7Sm72oLCYXR36grhB1OjuikikzM5R0upr2Eq6NtsPyGWcaQhp0qayFrHcCj3PfzkMne3fCWhmZ2wc0CtYjCYA1HfOIZqDnCKxp3EerRrFv4bXBiFX4mMpHoxPAfs8pkN5q2cizXoMxgWCtQQZyfOY3tg8n3ghGzBXU6dZFe8sYiEPR3jIPt4OGTc0r0NfwvC//VuSQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JmYPLXj1oFALypXZrKMo7JnkebrUsMPgDdXSnPxVHFw=;
 b=WVPxuo37uieUih/BDu/GG1ddNyaDCk1K4YVx81OanLyX57Mi6qfmsjbHZx8SgYvQB2q02rBiKr/blrOJTYzrE3dUP6YQaFwEiGbHZXrvdW61xxgwWJMcrB3vCeChc+T1OukoX9ISd3I2liiD9E9tuG4c2bfp4EVNGJssdMHRtmZ7mF+XMG2l2eV/iwITuwJHKlJLgC6NwSpwHoeLrWQ02G6TKd8SkJZ/2pmasUsqJI2DqtnJitybH/62G9mTE7jjb1+sdVvW2pHT/ABskClSYVxZXF+ilD5FUNyScAGcxeO5j/58en86whmjkTRVGwHcBBZytcnjYJ6kGtFEQaUPjQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JmYPLXj1oFALypXZrKMo7JnkebrUsMPgDdXSnPxVHFw=;
 b=uJxfuBegTlLjvwt5XYGv1lSLV3o5+LQ0bycRE+3ywgjDFuwR9CcxOnkZxxoV50eat5yhm4mHl/KcTNB0hcK9GmrIyvSL+DE3c1KHgVKEi6uaG58U9yajhxBq/EuLOAWnuFjJ99BPhYRrkdg6PmIOcjbIgwBnbtMCWJJRjtPOZrXC2M1/8/swHq8KFVa4Zl2/I0Ju6a2Bcna+vX7yMm69KZ2MC6KxczEaNEN4OaezP5AnaT13zTd3ZUmigzP1gZ+M64QoNa8FAXcnuYMgtTbsdOjsZE33CP02EfzwMzvBI6sd5yqoSwkGvtBahzgVCdiYx7QM4kPaaqiXTpPJLsWvvA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <38839202-426f-eb31-2997-ef557ab1583e@suse.com>
Date: Thu, 18 Aug 2022 15:04:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 4/5] x86/mwait-idle: disable IBRS during long idle
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
In-Reply-To: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2c357887-08f0-4173-d826-08da811a3dd7
X-MS-TrafficTypeDiagnostic: VI1PR04MB4989:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3K7O2bK21Hm30qOwqsF9RgskyhRv0bPWS+slnd8ack3OV9mnj/OP2pBj9pzuYmWWV1CU5wzWpj2SW99Ibs4hRYpsC+TkuHHhCTmnTU1ege4h3O0JPLVQHrufRIEcU8HygvUXdPv2XzTpQhZeJsspkoNVrQQwTsVQnxYocVhrxN6Zl2b3mwieE68q4N3CctqSo6Q7sLhgfen3mNJQNBXBSoenKDbfDyGhrjDd5/5vKB15RKUZlH85mMth1F7yLI1XwsAXnRwVMeY7OyZxHvtOETMkdePETvQX99mwPjEA52vsp7gXhbilcvHyNTrWj54w4j8epV3CT1S/6QYcOIRfQnP9EORiq1IXn3PFly9Xd0UcxBHO7g3IhTvfmBYFFRTPi9RxUnpgnEFrf2drlhG4MjIvd9FbhCx57Y4lcgRu5Jm3VmSqaKDJla7xkuHKeZ/nFAYpo2yp+ZwQzqk0XJVdCw8MLK+KxI1IW92Blqqi4NUhGuMXRQtsJx0JhnTdtuwLCBkm13csDvlwf3Zu94O5o/KdM6dFuJr5viQMm65hyEjyc/VeLPc0ttAN0rC9oF6c8xTSmqJLIVOJzUi3by8I2J02rvIPE73/TbRz9QXr0z6GFT0TfR/EtC3+AhtmN/5Jtg4zvjEIqQCSZd5f6EtlVV5ZVx15yxS2KQAh3J5EVaRFrpxtBZIkkhw0R6Xws0KRMkre7tJYxRqx+6Smb7EBr0603K5RL9FhuIKdN5Z3FVh4L8//Q2MB1TEUqYlYlu/6bWLBRnkXdtJOTlL3pT7Se/jejPKdV2zoaQcZbLLj90RiLxViFoRn4PZz4xKboqKqRfQIMBPpTkS/rW4JQ+dx4g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(39860400002)(136003)(396003)(346002)(2906002)(66946007)(478600001)(66476007)(8676002)(66556008)(6506007)(41300700001)(31686004)(186003)(26005)(2616005)(6512007)(4326008)(6486002)(83380400001)(36756003)(86362001)(31696002)(5660300002)(38100700002)(316002)(54906003)(6916009)(8936002)(21314003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3h2dWxGZjZFZEZOTTgyK3pSaXRhSWtCWG1lRjZ1bTY0VjZESkxadG8zZkdC?=
 =?utf-8?B?VndRYWxCOHoySFlvQmpkNS8yRjRWVU9mMHdVM1VRaldNWEZKTUZIRFdmV1JY?=
 =?utf-8?B?T3BQUzJYNTRvdVZOYVdBTEdsSjVsNHdrZW9xYlVINkRDbkpvc0piRmFOdDN6?=
 =?utf-8?B?cTBTV2loN0tDdU5Eblc5WHZROGRTWEg5bzFHQTY0c2NFa1E0TEphYUFXWVlh?=
 =?utf-8?B?Sm5wVWtoNTBnSndPcUVGZklteEV5V0RaNWVUVHg5K3NHejVTRWNvc3ZFa1BU?=
 =?utf-8?B?cVYxU092NVJKOERuRUdOZkhTRzNYT2tFTEdidEhKZTJLcG9tR1oyQ2tLVy9O?=
 =?utf-8?B?SVdYU2xCZ1MzZGJMNmZ3QW1SUHIxOGRmMllscHRKbU4yTUc5MWcrbTRUWjVn?=
 =?utf-8?B?S2xkeW5SRFNWYjVxUmhnSklXemFHb3E5RlR5VWdveGx3Rlp6VDN4YVNoWTlt?=
 =?utf-8?B?U2ZZbk1USndycHVlNVdyaEprRFVPYmhmb3lCdkdWK2h5L3VuK1BzUzk4SzJu?=
 =?utf-8?B?bVhvNFlsKyt3MERpWXZKRnNjeE03UDRibmJaQzkwc25OSUFhQ0VqTFVCK1Vn?=
 =?utf-8?B?NDV6MjgwZ2NiSWpYcnA2cjFBVnJwWDdPcVdMaFlYZ2x2VGxScTg1dGRJd2sz?=
 =?utf-8?B?bUtQWEhWcytFN2ZVc1QySy9IMUpaR1dsNjJJTTM0M2JYdmgyc2Jyai9PYXhO?=
 =?utf-8?B?RDFZSGNWSStib0wydnFoaHVRZThTRHpGM3dDSnE4Q2pKSGJzMldoOWJ6Y2k3?=
 =?utf-8?B?aklJRUc0a2NocnN4bmRlVXRkcDFrTTh1QTRrWFcweHNUKzJFWDFiRy9RZ2wx?=
 =?utf-8?B?L2R5b0p4VklLSnFtbW9MbDNRMW1TVWJXcFArV3krTUd1M282K2tkS2xhTEhG?=
 =?utf-8?B?MmdsYnVVeVZwYjFoUG5TQXNHWlh5SDRHbTkzSjFpUW0xaFZlenJidTBoSU1L?=
 =?utf-8?B?eW4yeW9lT1U5MlBHb3BWRTlWTzhoSW1pKzZqQ2pMdXdnd1FJSkRJYkZaWFVi?=
 =?utf-8?B?U0lhcndWVTFZTWEzeDlFRzNQcHF4WWZGUXp5dEhva1lnWG4vN1AxSWp1UTdl?=
 =?utf-8?B?cWdkM2kzdzFNUHlMcmpsYVYxVVliclU3cTJCUmNhQk9ybzNTK2dUdGMwOGtL?=
 =?utf-8?B?bHlIK0tCWnJZR3FLUzVsYzhqZDg4MDdVUjVQZlpkVVF4eHN1bldodTBOVitl?=
 =?utf-8?B?SzF2LzY5WnZtOFphR3o3RklwUHlyMFMvd2VKTDBLRGl1bUhXQlZYRlpUNE9m?=
 =?utf-8?B?aXRKWnMxcWRJRzc5ZVU0V1NQV0IxNmEzUzEyQStrS2NpWW1LdUxNcHRweTlG?=
 =?utf-8?B?aXJkT2lPNVFjUHkyVjBUbDRwRG9ucFUySUEyN0liUVBxQmR5UStETGNmTTRT?=
 =?utf-8?B?cDAxUFZKeWVDTW5GbmtuU0Fhblh3YUxhOXdTbERwYWhhNklGWHYxdFhRNDZt?=
 =?utf-8?B?Sndka3V4aFVNZlFaelBlMUpVVDZoWHVLTUpyNXhEeDhoa3ExaGMySWR0bkJo?=
 =?utf-8?B?emNBQ1RFeEkwdnpBWExsanF6OExmQXBobFFPYS9Ed3EyV2NUeXJQWHJFYWZY?=
 =?utf-8?B?TitMWHE5eUs2MVMwMTVDWHk5VHhqckJGV1hxbmMxdC9uT05SQTA0L1UraXJO?=
 =?utf-8?B?WlpFWnJWS2F1NTZzM3ViQ3lVdzJnMlhHdmdWQ3IxbFBhNVRDMTFVRXJFLysr?=
 =?utf-8?B?NlJRQXo4N1YzN0drcGJsUEhLZVNJcGNGNEFISHRESmRDNmY2QmU2MGQxT3Mw?=
 =?utf-8?B?dlJRYUtIU3JVSVl2M1F1bTVvWEpHNnBQQStIdlk3TWlSc2dNM1dGUWp6ZFNV?=
 =?utf-8?B?OU5qbTJZNWlLbGdtcExZNjI4Ykhla3k3dUpqU3NoREJubkJoL3lTNnBUZllI?=
 =?utf-8?B?dDFJU1hUZXRpd0h5RkpZNjVGZExBcWVuWitWb0hFWGpjVU5iQTVFVHRCSElq?=
 =?utf-8?B?b0tMUytpZ3Uxa3AxRm5yai9FRG1kWTZQdEYxZmJuNEk4TWY1SDg4aVZxdGxL?=
 =?utf-8?B?U2Z0ZUYydVYxQk9Edzh4VlBLaEt6OGtDRTVIbVMvYTBMcGVqcDBwSHNJZjdK?=
 =?utf-8?B?UTdWcTJKVlVQY1JFQ3VDMjhpa3N6VG82MytYczRuc0JoRUI1N1NTVTA5ZU5r?=
 =?utf-8?Q?lwudXdvheHyF/++NGsc6rOMCe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c357887-08f0-4173-d826-08da811a3dd7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:04:53.4128
 (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: pmSCZbRzCW6ldhDNi3eo5ivZetIpG16ap5rzL3no3H698z2BKPFscANqPPgg3/xVp72HBrWRLfo9j19yG/oLiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4989

From: Peter Zijlstra <peterz@infradead.org>

Having IBRS enabled while the SMT sibling is idle unnecessarily slows
down the running sibling. OTOH, disabling IBRS around idle takes two
MSR writes, which will increase the idle latency.

Therefore, only disable IBRS around deeper idle states. Shallow idle
states are bounded by the tick in duration, since NOHZ is not allowed
for them by virtue of their short target residency.

Only do this for mwait-driven idle, since that keeps interrupts disabled
across idle, which makes disabling IBRS vs IRQ-entry a non-issue.

Note: C6 is a random threshold, most importantly C1 probably shouldn't
disable IBRS, benchmarking needed.

Suggested-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bf5835bcdb96
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -141,6 +141,12 @@ static const struct cpuidle_state {
 #define CPUIDLE_FLAG_TLB_FLUSHED	0x10000
 
 /*
+ * Disable IBRS across idle (when KERNEL_IBRS), is exclusive vs IRQ_ENABLE
+ * above.
+ */
+#define CPUIDLE_FLAG_IBRS		0x20000
+
+/*
  * MWAIT takes an 8-bit "hint" in EAX "suggesting"
  * the C-state (top nibble) and sub-state (bottom nibble)
  * 0x00 means "MWAIT(C1)", 0x10 means "MWAIT(C2)" etc.
@@ -530,31 +536,31 @@ static struct cpuidle_state __read_mostl
 	},
 	{
 		.name = "C6",
-		.flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED | CPUIDLE_FLAG_IBRS,
 		.exit_latency = 85,
 		.target_residency = 200,
 	},
 	{
 		.name = "C7s",
-		.flags = MWAIT2flg(0x33) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.flags = MWAIT2flg(0x33) | CPUIDLE_FLAG_TLB_FLUSHED | CPUIDLE_FLAG_IBRS,
 		.exit_latency = 124,
 		.target_residency = 800,
 	},
 	{
 		.name = "C8",
-		.flags = MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.flags = MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED | CPUIDLE_FLAG_IBRS,
 		.exit_latency = 200,
 		.target_residency = 800,
 	},
 	{
 		.name = "C9",
-		.flags = MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.flags = MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED | CPUIDLE_FLAG_IBRS,
 		.exit_latency = 480,
 		.target_residency = 5000,
 	},
 	{
 		.name = "C10",
-		.flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED | CPUIDLE_FLAG_IBRS,
 		.exit_latency = 890,
 		.target_residency = 5000,
 	},
@@ -576,7 +582,7 @@ static struct cpuidle_state __read_mostl
 	},
 	{
 		.name = "C6",
-		.flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED | CPUIDLE_FLAG_IBRS,
 		.exit_latency = 133,
 		.target_residency = 600,
 	},
@@ -906,6 +912,7 @@ static const struct cpuidle_state snr_cs
 static void cf_check mwait_idle(void)
 {
 	unsigned int cpu = smp_processor_id();
+	struct cpu_info *info = get_cpu_info();
 	struct acpi_processor_power *power = processor_powers[cpu];
 	struct acpi_processor_cx *cx = NULL;
 	unsigned int next_state;
@@ -932,8 +939,6 @@ static void cf_check mwait_idle(void)
 			pm_idle_save();
 		else
 		{
-			struct cpu_info *info = get_cpu_info();
-
 			spec_ctrl_enter_idle(info);
 			safe_halt();
 			spec_ctrl_exit_idle(info);
@@ -960,6 +965,11 @@ static void cf_check mwait_idle(void)
 	if ((cx->type >= 3) && errata_c6_workaround())
 		cx = power->safe_state;
 
+	if (cx->ibrs_disable) {
+		ASSERT(!cx->irq_enable_early);
+		spec_ctrl_enter_idle(info);
+	}
+
 #if 0 /* XXX Can we/do we need to do something similar on Xen? */
 	/*
 	 * leave_mm() to avoid costly and often unnecessary wakeups
@@ -991,6 +1001,10 @@ static void cf_check mwait_idle(void)
 
 	/* Now back in C0. */
 	update_idle_stats(power, cx, before, after);
+
+	if (cx->ibrs_disable)
+		spec_ctrl_exit_idle(info);
+
 	local_irq_enable();
 
 	TRACE_6D(TRC_PM_IDLE_EXIT, cx->type, after,
@@ -1603,6 +1617,8 @@ static int cf_check mwait_idle_cpu_init(
 		    /* cstate_restore_tsc() needs to be a no-op */
 		    boot_cpu_has(X86_FEATURE_NONSTOP_TSC))
 			cx->irq_enable_early = true;
+		if (cpuidle_state_table[cstate].flags & CPUIDLE_FLAG_IBRS)
+			cx->ibrs_disable = true;
 
 		dev->count++;
 	}
--- a/xen/include/xen/cpuidle.h
+++ b/xen/include/xen/cpuidle.h
@@ -42,7 +42,8 @@ struct acpi_processor_cx
     u8 idx;
     u8 type;         /* ACPI_STATE_Cn */
     u8 entry_method; /* ACPI_CSTATE_EM_xxx */
-    bool irq_enable_early;
+    bool irq_enable_early:1;
+    bool ibrs_disable:1;
     u32 address;
     u32 latency;
     u32 target_residency;



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:09:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:09:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389533.626512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfGm-0000hE-KR; Thu, 18 Aug 2022 13:09:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389533.626512; Thu, 18 Aug 2022 13:09:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfGm-0000h7-Fv; Thu, 18 Aug 2022 13:09:08 +0000
Received: by outflank-mailman (input) for mailman id 389533;
 Thu, 18 Aug 2022 13:09:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOfGk-0000h1-Mr
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:09:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80059.outbound.protection.outlook.com [40.107.8.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efebed1f-1ef6-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 15:09:05 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7180.eurprd04.prod.outlook.com (2603:10a6:10:12c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19; Thu, 18 Aug
 2022 13:09:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 13:09:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efebed1f-1ef6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hYqZJWergUzK8ZXX9Nk9TmUAX1eIEob/w/lBEsKJjvhoqrNlMd7cfgeBfRxTETahWSs2pVy3H8mq2PpdQywtd2HUovg5GcFJ5jBh1ugjNK/5jSgQSoxN6lL+aAtNhXdYOsQTMR8WfxbaqpqKFgmzLOKrSR5MgslS0E7jZEzd4kYaUrm8QsJqUeAzPWAgZpqebIj/BrQ4uwLL8kLkw4aFAUh5+xC8q9TqTUlk2fCTif2UQF4wP9oyPWF6byuvslefyNIujCQTKEBq4iBYPuL3q5lME8hZZ17H82IBaxaBGVcM3oVkhxoSToEkifdt49yuHvFoD9MeCFs6stPPYmDQ7A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SJoHEJ3i8waIJ6upmWdZZkotMfcpN476vyOI2anv1tU=;
 b=TzJ7U4SEer1Vf2GsTDsXpN7u4Fo5AWRbR/PEowVnZS8LMtEGjThKM5yLCrPs6ijqeNIs+zw7BFiUKWtSZTLOn3qJjHKO5lI5F4EoTVi4O3o2gLpVNKeDaIUQ/ECaqdjqTWXrLSuXDKzltKFzjeC/4TN6zb8+jKEvpO0jpVRM8NL3PBPbd6YLJsrPq2c4h6l7NZQMuPQgGfVCPMdiqORopQs4MGwsCentF4RE8o9GH1w+oPZxgIb0n5hjPDaJIIVfL0R6XjMAfasLEsZ9Lgl1ZCK1ri1iteOJ21iFa5gpgRq45dwNWi2R5rmuw93OJV65HFfbh7CteXp6zc52qogAtQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SJoHEJ3i8waIJ6upmWdZZkotMfcpN476vyOI2anv1tU=;
 b=gc1DIEngReCci5P09KhYj9KNPNgwzDsE/WluHNsY+IwRXsMSskcd/+b0ilNAtDm7VdLEQr0Q9k+fBt1QbFS9kKBjXGCsR5woqdUZoXVrWIXmu+oDYTkj1dzT8WY54GkOtnAIEVok9VIppuuarc+xtuIjm5d5B1LPp0QCpYGOf9z7WKagvqcMh1tBcrMOLdqHYtmbmzuTmFb3c02jZOZsKY+LxSkIi/yx6DfWe+Ii+lP2ZISZgTxfhpd3oEPe9hIrz4DLLFMBnK4P97prw21ZwLRJz1ZSvOMwBXlL+D/F6RMq1jn2dHDzzOEIYxhKXg+BlKn85pyOaM2yVcr/Ra5V9Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b0a3960c-8d1b-556d-f4fa-4fa4c8597a7b@suse.com>
Date: Thu, 18 Aug 2022 15:09:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v3 0/5] x86/mwait-idle: (remaining) SPR + (new) ADL
 support
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Henry Wang <Henry.Wang@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
In-Reply-To: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b5a129b7-c798-43fc-69c5-08da811ad2ad
X-MS-TrafficTypeDiagnostic: DB8PR04MB7180:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2MMIsC2US2lQCEtsMFARzocrt38x0kBkveuB7Nvopry8KOivJ65wDkR0Rl139IagkNxOyULbBJ1+vI5tTBdwXt3hJOzECnAQHi8C32TM1Z7U0CYnyHDJUuy493BoB/XNvHajLU2qYqcDiyKO8CpcbLEpEI0VWuQaAde77KSzQksqyfQ+fi1wQmAgJgTNeiNU2Jzdt7vhETFC2p8XM4nl5ht+rvjgk9Zk0GYyotTaAzSVmAEgISVPDKboTuwwjZxQ6prWBoBinT43tku0L/6MGdvieAsaq4+AEdQNEBB0PBDxyaIlORVSf2/cKDAVS/KDa2x/6IIYCQVxJ+XJFcIWx0BN6G0Gt/CZgf4eTI/P51OcV66FB9cI3vaBeEDGjBSgd6Fvzw3HARIdL+4XT9ipldZkzebewuZPectJdbF/MflP3Jw1Cc0Xc+gRAG/yzBzvt9nhoA73oY1as3uhk2byS2CindtDysxlB+e1IB9Pbbg/RyywRkUYqSawR2e76qa6OruEHVO7XT24TSUh+97fLMXdlcN94NY0PrH683YCacWci9uYeatvrVk788SWGrzkaXRpE0VvsXSTDpuMm3cOyhJREanh9mi5KxKQI83jfIn6KMTa7C7gekcNKToSnUYfBXtFFiHuCP5bz3CyVAklU4nVgtUM528qHdUgHn3J17mB0CBglTvGkUUWnFLZqwsJR9GWaUfRzkeslCzQJNyofGouNq8RfVHQGJUvJqTwIHimy+ghxbZ5XqP0rQWMeO3kj/WyyBbLt3NbkBzlbcp0DE/5OXevmceHCTLD5n4k36g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(136003)(346002)(39860400002)(376002)(316002)(6916009)(54906003)(8936002)(4326008)(8676002)(36756003)(66946007)(66556008)(31686004)(38100700002)(66476007)(2906002)(83380400001)(6486002)(478600001)(6512007)(2616005)(86362001)(31696002)(186003)(5660300002)(4744005)(53546011)(6506007)(26005)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGh0RllKenRURWU5Wk5pRlUySFFmZ2hsam1lWmprK0JneUVrc3JvY3YveXVl?=
 =?utf-8?B?LzliRk8zaFAySWVzZng2aktucC9Td1hZSVREVWJUVmNhdVloY3dyMHQ1Tjhz?=
 =?utf-8?B?ajI4T0FuTTVHakhuZWs0aXFYcHo3bXNRWW9sNXl1SXZoT0kxclB1RWtsQUhv?=
 =?utf-8?B?L2hEZGRBcHF1MFV0cXVzVzd2SFhMR1RSZkc2M0IrNVBoU0c0WUhmTHFGK1JF?=
 =?utf-8?B?OTZFOFJlcVlNSEZMdVhOSnZVRmtrWXNPalM3WENUblNLUy9lUStKTmcvYjRT?=
 =?utf-8?B?VFRHei81V2s5b0d2b3dXZUR6SHRGcXNEaEYxOEY4VW45ajVWc0w2OFRPRFBO?=
 =?utf-8?B?bDFVNWlFK2xhNEJJblVXSFRhVWxmOENPdmVUT29JRGxJYnhSajY1dnpacVYw?=
 =?utf-8?B?ODM5eTZ4R0FlK1VmQXd2WVhHaGR6bFRrTjBzQnUxZlJheEJHYjQxcWttRElw?=
 =?utf-8?B?d0NsWUFrTGhzdWNXVGdIb0VseUZvd2diN1B3RHMzYXJQeGRudzRIR29oUWw4?=
 =?utf-8?B?QmllYXAwRUd4OWNoeGlXcWRrRmd6ZmJrcWtsTDNxVU5YR25KUVA2bG1UdG1t?=
 =?utf-8?B?Z3ZJenV4cmlJd2tHNmRTLy9HY3NOSy9LT3RmeWRDa29uY2h5NUxoWitZYWc2?=
 =?utf-8?B?RTJxOWpQaWJvZlFRSDd1TG44a3JudWFDNi8rNHV6MndRYUJ6S3JxRzlMbE9N?=
 =?utf-8?B?cHJUbWJnVlpRNDUrdG9WT1VpSEFvNzZFT2VaeGx5QXJsQ01UWjZHakpncHNu?=
 =?utf-8?B?QXhaQTlxcUduYkp5TnNXQUd2cVU5clZ2TDEzUm9HQXVpNCsxMnQ1Mys4VUt5?=
 =?utf-8?B?cWRjZllsYkZCS1Z6RHhFQStuUmRVTDRuQVdrQ0JBam1qZytNbkRpY2JwN2lq?=
 =?utf-8?B?eFYzenAwVk45QnRjNHRReVgrMHpDZmhteEZPSUxkUm1kQ3VLbDNYNGNvaEhq?=
 =?utf-8?B?TENjaGRMcjJLZll6R0tTZ0NQV3FLYVU4eGFLNlFyMEk5c0U5OGx6S0RwVFV0?=
 =?utf-8?B?TWFYenJqclNTWDdYY2xoWCtTVzNac2p2d01LRHNNYzV0R3J0dDZJaG1yY0VC?=
 =?utf-8?B?RU5iRWFiVkk0NTZEdmNlRkdpMUhXdUdiMEF4K1JCYll0K0VJcWMrWnd2NkQy?=
 =?utf-8?B?Y1ZLU1RVOEdKVzUwbXlvTFZ0SkNuMHhZQVk0VUc2L0RIZ2pqVzV5KytVY01M?=
 =?utf-8?B?RzRoUDQ0WXhKVUxKeS82Ui9nOTBaYkZiV2hQbmd6aWx1SU83RllMWGJkVjNp?=
 =?utf-8?B?Ly9td1FaTDkvRXJmSVpZQVphOXRTaTR2OW42MHl4MVZDZHZBcE5sODFmaDVM?=
 =?utf-8?B?MVJobURuQnZ2UFl3dFZmV2hiM244YmNpaGZMMlptcWdpK2xEbnc5UGdVTkRa?=
 =?utf-8?B?djRNR0F5bHpLMXRRQU4wNnMxWnhnNnh0VGJzbFBXSjlIV2oyaFZHL1p6MHpy?=
 =?utf-8?B?VVNMN0pzQml3TEJxSzhmZ0t1ZmxCRjUrWDc3MEsyV3pmZisrWWlNYlZ5LzNQ?=
 =?utf-8?B?Tks1TjNsS3NEd3lVbEVoT3NWRG1nSzhUdzc1NmdJY1pDeSs1U01xWUl1aDV4?=
 =?utf-8?B?L1AxUWp3Mk93NmpvZ1BSblQrR3NIMUFiNTRjTW8xZFdFLzJjMCtLMlMwcnNa?=
 =?utf-8?B?cVVzMEtvWFFrWWFNbmxhdEtUc2ZYU0dLM2lDTmVQTXF2VzlPTUNYek1BR2FD?=
 =?utf-8?B?QmdaSG1YYkN6c00rcHhienJBVmNNSGsydkVzR05kRmF4MVpkcEZNUUpmcEhF?=
 =?utf-8?B?RVpHNDZWb3pjV3dUMVNJVTJwVzFJa2Eyajh5bXFZck0rUk1CNzRIYlpTaDRO?=
 =?utf-8?B?aWJaNHhYMFJJWnpBdEkyOFVzcTFUb0hpQnczNnM4dnpzeHVQMVlISWFkKzdm?=
 =?utf-8?B?Rmg2bUU5YzA3UENYMjE0U3VzK2VYZldFUHZDTWJybjFjanVVdEJydm9LZHRa?=
 =?utf-8?B?RU1CQVJkMUxscy96ZFZ0ZVp6ZFp5aHZsUWVMeHczVzFTMHdsY3J5UXI0VWE0?=
 =?utf-8?B?ZWpIV1VqNjVrRHcvZW9SM2s1eFR3VERNdzlaaWNCMTVVdnErVFNYTVJoZ2NE?=
 =?utf-8?B?dWxIQ0hNaDV4UUN2ekdDWDZZNzBmUXR5ZkdXNnEzU05CZ0VxczU5SVFmRkZV?=
 =?utf-8?Q?C+7iuw83Iarx/qukL+WOte5b2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5a129b7-c798-43fc-69c5-08da811ad2ad
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:09:03.0840
 (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: 8Q3D6tNnUGu2XWrThu9Qeoc2yjtRYb5/+1/9Nd1Haf7hbJRg/Qb956ao3lE9tYjrk03e0d6ujl87bOk5Mn/hBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7180

Henry,

On 18.08.2022 15:02, Jan Beulich wrote:
> New changes have appeared in the meantime, in particular one partly undoing
> what we still haven't merged (patch 1 here).
> 
> 1: add 'preferred_cstates' module argument
> 2: add core C6 optimization for SPR
> 3: add AlderLake support
> 4: disable IBRS during long idle
> 5: make SPR C1 and C1E be independent

strictly speaking patches 3-5 are late submissions. Patch 5, however,
actually corrects patch 1, and I'd prefer to keep things in the order
in which they were put in for Linux. Whether we actually want patch 4
is to be determined; if not that one should be easy to leave out. In
any event I'd like to ask for you to consider granting an exception
on these last three patches.

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:09:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389534.626522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfH4-00017F-Vf; Thu, 18 Aug 2022 13:09:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389534.626522; Thu, 18 Aug 2022 13:09:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfH4-000175-St; Thu, 18 Aug 2022 13:09:26 +0000
Received: by outflank-mailman (input) for mailman id 389534;
 Thu, 18 Aug 2022 13:09:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOfDA-0007Vi-U7
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:05:25 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140057.outbound.protection.outlook.com [40.107.14.57])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bdd91de-1ef6-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 15:05:24 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4989.eurprd04.prod.outlook.com (2603:10a6:803:60::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 18 Aug
 2022 13:05:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 13:05:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bdd91de-1ef6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h9H9F4F9zoKkTENlCjJ964chkTTVRTkUR1S2pOPBcSuY1fPvKaXteK5eT1D8FWTJe8r8v4DZqQJERokiR5zghNZHHJaFbrpBoWe7c83ln4naFlHTSYrgGphh7AF0GD/gOjWUkb8vXWZCrszWNJJjbpE8NbrqXvKSpdysNBADxQsocJf/AhDfiT6zSGCRrB74DT8cIVwI2AEwXcK2/kQqUhCEd3TZh4FzqUFbOHe9dzm1biaVj5lIAX1+R6WT/BlsFNOr4JRu1meq67ejT1fGVjCX82H7ralZ3VhJTdOu1qm8l6P9LvSyE5iSRAs5vj/fSo2OF9Ps+mqYER8mXCOXJg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CVrB88mfrrp+goXNrmifXuSnpLqlyJcpZNv/ZM+AtB8=;
 b=ewzK4xKMaH+p906fWLPVCqwRkZ2fpiRDpEMdBpy3ZUh6Haem7ckNVWHQE3eKSXjpryOp0oBrdoKMulb48aVflDSDNvc9gWRvuyaQRu5dLiTMPOamTxRFtSY0Nldpab+x91JTIUJ30C/vMm22ShK9y0LwHY/XdVmncmqmShRdT+W2wWV6Fyaawv4DCmm3hMeC564eZxcQb0FY388DEY+swJpbGxJa+fUHfmiJKzDFGPaRxnFEiVpVLOYKTQmAQpzyUG4PI6dXPCmmajPi90NGSE8FTPFJzvV6kbhXH7ta8sdlbmcISPocEr0tWZ9EC2X1bZodazTjh+Hn7DfA8PdWuw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CVrB88mfrrp+goXNrmifXuSnpLqlyJcpZNv/ZM+AtB8=;
 b=m7rCSSsuQEolH4IeXrbSyhsUjsl9XjeSMpfFNZ4L+gDk9gUMCGiKFYfUZqpaJL8uHBJI5KTuTyDmAAnqeQKzfYARKPA2xG0XgYJDcPjFwIhW9JvdP0lch4tofI0ZfZ/U93Mu18m5vxilEbmWwjTeHPWIKAZXeFtxUkbyogJhwHw09d7G0NOXbS2YfveUoRfxhKsf2eNh5DesDERl99Lg4n1qaH2Bo/TT6Y87Ath0RFKIjJX5cU4stAu8PzAA4fS2lUO1pHupSQ0z3Ch6k/RQhNhSwOYOhfxgkpbteERDMDRisn6tFnm+nyF64Izabfv+HuS2ku1L7YAJSz2OhxJfkg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3bdae38c-1dd4-558e-64a7-886b9bcf771f@suse.com>
Date: Thu, 18 Aug 2022 15:05:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH v3 5/5] x86/mwait-idle: make SPR C1 and C1E be independent
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
In-Reply-To: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1feb2a44-05bd-4345-1a32-08da811a4e7c
X-MS-TrafficTypeDiagnostic: VI1PR04MB4989:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G+u4ZFAQ3Rw18kb7IaeCisn6SMD+7Cq/eOEYWgP/RK1TkVl2Dwspjtgjm6ZO3vYC6n4I1FEi4ZCD8oa7mSAetjI2f5Z/GKKQboBKITpJFEOOzYAcYLiTy4gs/OB57ARxZKJ+j40woYH2KKjzFscAh+Z9mmePJ45/SAEqvOsHLiA+bFw319Z5eST4nK4294yreKLpUbKSE1FY8mFXU5Q1s7j5dqef2UyXRFq0sQiUIKTKcgna/034jqVgghcId0QYaQEX4CU6XX9x2wLh0VFxPGASlqaUYho+dy6+XWZSKxP6X6nEpVscRJ8fELMMsNOn9fI8yviergMi4PDfoW2rQDFdXzvPuB7mjIP8W9ucQW/wmiFN/zS1hXh2zcAt3zuuvOE+6xksZ6FDqE/TFMbrZ4dRfF7Sj98kSyIeu+ouAy+19cliu9hMfw7gUqMIyR4jqcFN3i1XEqdwcKhfpbXVcx6YFYypAl7kpOTfktbNY99dw3tw1HHSoJ/A11BNCKs0kE0wiAuFH9Txxiy6cW4IqM/NVLdWBcit3neJqlcN3n0ZM0ibeUPvCLoWYik3TGUXVJk2Wom84f29xO8odZtTHICiEDT/lfom/ClBCyYFdsee20NUNA05r+eChldiPMd+8mXHd/w9XDI/nps/Z7TP+vhu9ndb7ddweXL0ZHKfE4xW2f7tnVwXp4cn4V/cHPON6TH3oQwRCXOrIj7kOfItmq3nMg6UAlP2pAXVTDoAdj2gmJCs5NvDXArVq5q3xXFk1swabJ6k2y6AIb26z6WDJf2LiZ3g+O5e4SwmFviued4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(39860400002)(136003)(396003)(346002)(2906002)(66946007)(478600001)(66476007)(8676002)(66556008)(6506007)(41300700001)(31686004)(186003)(26005)(2616005)(6512007)(4326008)(6486002)(83380400001)(36756003)(86362001)(31696002)(5660300002)(38100700002)(316002)(54906003)(6916009)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OS8vbzFmb2txWmlZWnRDcGFLMVY1WTdyOE9PVnlOUTZjYm44S3pVV2tBcU0r?=
 =?utf-8?B?YTNxZ0YreGpKRFBPaFhqeHFNcWhQRDk4MlUvRmNTd1dRNEExLzZONXE3cm5a?=
 =?utf-8?B?cDR2Z2RIMkphV1RHNTdhOE9VazJMNWdSUEpsT0hNUmVvOGlDMXBZN1UzTTgx?=
 =?utf-8?B?ekNvUGUvR2IzTG1Pbk1jbmt2WktmV0hRZm1nSjRydXE0QkNob1hOSElHd08y?=
 =?utf-8?B?T1o5b2RWZ1FsUDJIRDFiYmEzdFhHdkdzYWtvRHA0d05JVFJDc1JYWkZnSjBH?=
 =?utf-8?B?RG13WEl6R3V0MC94MzNhMmVYa21mRnp6OG16Smd3a3BseFlqY2prVDM4MGpM?=
 =?utf-8?B?MkNtVmpZZC9UMXVUL2w5NUF0UXE3WUpVQUJjRDMvOU82azlWMXA4SERXb1lP?=
 =?utf-8?B?aC9wbmFhRm1DRmFYTHBFNkZ0cC80Q3hxZnhQOXhVa3NnMlQ2aDNWaVpwakJu?=
 =?utf-8?B?Kzg4bzFSQlgyZkJyTTVRcHVqQmV4Ti9uZjhBMGxNRXJhVzlKcG8xUU5XTDU0?=
 =?utf-8?B?UWluSTdEb0ViSmhxYkN3dzRoRjU1N3FGdEtRWDhEVVBWSEZwWlRCWnlYcXBw?=
 =?utf-8?B?eWh0ZitlS1JrQ1UxY0hVNjNPVEIrSEE2bUkycU84UnFsVGVrdEM3MEY0K2VV?=
 =?utf-8?B?Tng2RlpFRVAzTnRGR0dyMEZzRXZHQjRyVTBMaWpNSjV0dU9HZUQ0a21RcEl2?=
 =?utf-8?B?Z0hmbHFjVzV1NERabUpkN0wxSzFhczViNy9EdEtvNm1kOTN6Wlg1aU9vM05R?=
 =?utf-8?B?Q0xTMWFMK2dwQmswYzhpclpRK0ZERWhTTDhrYTBBejlLTTlaS1o2Ti9XOFhp?=
 =?utf-8?B?ZW9GME1WYWxMSzhrak1EaGR3dEtqMzZCa0FCbVVqNXpvbjJDUU9iWEJVRU9U?=
 =?utf-8?B?aDM1cWthWnpob3NuR0pBaTlweGdCaE5VbkcrSkZUM3NXa25veExkYTBVOHgw?=
 =?utf-8?B?eVFXL043d05FZ1ZlSkszSlIxVGlueW1QTVRwZlpWUXV2dEVycXhjeEljU0Zq?=
 =?utf-8?B?RlpsdWRzOXI3NGtubVJxNHZRQ2lqNktTcituZXJzSm9sd3FaNjVwNTBRRXRD?=
 =?utf-8?B?LzFsWGl1SXJ6dGdNeWVuOTl5Zi9lTXF4QXlQZXVqdEFyaG9hSVhwT2J3WDFj?=
 =?utf-8?B?dVlkczVJRzFlTXY4RHhEOTVsUlV4dmFmWUJzYjdnMzA2R1VJU0RtU2ZrMitj?=
 =?utf-8?B?NkdWTkVkdVdEVXcyMmIvS0VvRUFyN256T1FXV2xjbWpuYUdyMEVBMU8rejlw?=
 =?utf-8?B?MEdHSTV5Qk9RejJhMUFQem03bTIvVFdDOHUzbU5BMDJjTi9Cb0tNSDdoaFdM?=
 =?utf-8?B?ZjVOVUZFVHV1UE1yWDhGZ0V6WjZBTjFUWk9QTFVPU0JZTkh2dlFsYXpmRTAw?=
 =?utf-8?B?clhtVmlJZ0U4MmNBdU9LaS9ENHRNRlN1VlFoVCtSTkZEUHUwbVdZUUN1SURV?=
 =?utf-8?B?OWpKZFNmZVIyY042UDYrVWNrWE5QUlh2V1V0WVBQYWpPaThWM0tUVWdNNHhx?=
 =?utf-8?B?RnNVeHdFUVozL0huUGVjdmhVR2x4ZXpKRUFidFJ2ZndwYm1teWtUSzAwY0VR?=
 =?utf-8?B?bHJQRW9oWDQrcm5CS0lFN01XTUFZWUNBQWphTjhnUzBqSXVlME5hbTJyUWdE?=
 =?utf-8?B?eTVCQTRuaURKS09vU28zaG9lUHhLT3BvTGdQZUVrTGYyNkxpNWVsMGNnRTRJ?=
 =?utf-8?B?N0lLS2x2WmRBNC91Z25uelR3VTdieEcvSGE2cFh1dFl5VUpyVW5yTVIzUjZq?=
 =?utf-8?B?ZWtrQnNhUG1zeDFWQk5EUEFkRXN6c041RnB4dXVlcExkNEx4dHpKRWJOb1ZI?=
 =?utf-8?B?TE9DekxwV0hRSXFNZWlQbzdWVERROXo1UTRDQm9vQ2FSWUZZSW9XZ2VraUM0?=
 =?utf-8?B?cVNUVzhoM0o5c0xxNlZOZ1FqMnJxOE0xK210aDFseGJnMFI0UzJZekp5R1Ba?=
 =?utf-8?B?M1JKYXBnZE9OVXl0NzFBNDZGb2thUHRwRWx2bFVwY0dXM3JCb1BiQktWdzYx?=
 =?utf-8?B?Y213djE0dkxTVUJVL1NuVG1JWko2WkQxZmx3MHVHdE9GRUJ6eGp1bHR2K2Vn?=
 =?utf-8?B?dXZxSjZjTnpnT1VNUXA2aldqRCs1ZkdPLzBHQ3ZlR0g1L05ndUpPUVBCQktn?=
 =?utf-8?Q?wo10v9cSmUnWQTopEfc2tpEhq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1feb2a44-05bd-4345-1a32-08da811a4e7c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:05:21.3485
 (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: 9zFiSjyZya3WCA2d4GeQA5S17T6aU2n9bUhLlhO/mLAOxfb3NavKSLXsZikgxSPOK++3m2GmNhNj5dDnw9roUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4989

From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>

This patch partially reverts the changes made by the following commit:

da0e58c038e6 intel_idle: add 'preferred_cstates' module argument

As that commit describes, on early Sapphire Rapids Xeon platforms the C1 and
C1E states were mutually exclusive, so that users could only have either C1 and
C6, or C1E and C6.

However, Intel firmware engineers managed to remove this limitation and make C1
and C1E to be completely independent, just like on previous Xeon platforms.

Therefore, this patch:
 * Removes commentary describing the old, and now non-existing SPR C1E
   limitation.
 * Marks SPR C1E as available by default.
 * Removes the 'preferred_cstates' parameter handling for SPR. Both C1 and
   C1E will be available regardless of 'preferred_cstates' value.

We expect that all SPR systems are shipping with new firmware, which includes
the C1/C1E improvement.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1548fac47a11
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -689,16 +689,6 @@ static struct cpuidle_state __read_mostl
 	{}
 };
 
-/*
- * On Sapphire Rapids Xeon C1 has to be disabled if C1E is enabled, and vice
- * versa. On SPR C1E is enabled only if "C1E promotion" bit is set in
- * MSR_IA32_POWER_CTL. But in this case there effectively no C1, because C1
- * requests are promoted to C1E. If the "C1E promotion" bit is cleared, then
- * both C1 and C1E requests end up with C1, so there is effectively no C1E.
- *
- * By default we enable C1 and disable C1E by marking it with
- * 'CPUIDLE_FLAG_DISABLED'.
- */
 static struct cpuidle_state __read_mostly spr_cstates[] = {
 	{
 		.name = "C1",
@@ -708,7 +698,7 @@ static struct cpuidle_state __read_mostl
 	},
 	{
 		.name = "C1E",
-		.flags = MWAIT2flg(0x01) | CPUIDLE_FLAG_DISABLED,
+		.flags = MWAIT2flg(0x01),
 		.exit_latency = 2,
 		.target_residency = 4,
 	},
@@ -1401,17 +1391,6 @@ static void __init spr_idle_state_table_
 {
 	uint64_t msr;
 
-	/* Check if user prefers C1E over C1. */
-	if ((preferred_states_mask & BIT(2, U)) &&
-	    !(preferred_states_mask & BIT(1, U))) {
-		/* Disable C1 and enable C1E. */
-		spr_cstates[0].flags |= CPUIDLE_FLAG_DISABLED;
-		spr_cstates[1].flags &= ~CPUIDLE_FLAG_DISABLED;
-
-		/* Request enabling C1E using the "C1E promotion" bit. */
-		idle_cpu_spr.c1e_promotion = C1E_PROMOTION_ENABLE;
-	}
-
 	/*
 	 * By default, the C6 state assumes the worst-case scenario of package
 	 * C6. However, if PC6 is disabled, we update the numbers to match



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:24:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:24:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389547.626533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfVq-0003fE-7k; Thu, 18 Aug 2022 13:24:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389547.626533; Thu, 18 Aug 2022 13:24:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfVq-0003f7-56; Thu, 18 Aug 2022 13:24:42 +0000
Received: by outflank-mailman (input) for mailman id 389547;
 Thu, 18 Aug 2022 13:24:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rLbC=YW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oOfVo-0003f1-VR
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:24:41 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50061.outbound.protection.outlook.com [40.107.5.61])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1beaecc9-1ef9-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 15:24:38 +0200 (CEST)
Received: from FR3P281CA0125.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:94::7) by
 AM6PR08MB5157.eurprd08.prod.outlook.com (2603:10a6:20b:e8::30) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.16; Thu, 18 Aug 2022 13:24:36 +0000
Received: from VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:94:cafe::96) by FR3P281CA0125.outlook.office365.com
 (2603:10a6:d10:94::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.15 via Frontend
 Transport; Thu, 18 Aug 2022 13:24:36 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT006.mail.protection.outlook.com (10.152.18.116) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 13:24:35 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Thu, 18 Aug 2022 13:24:35 +0000
Received: from cc4c2f2a695a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C21D5247-EB6A-4911-A850-27ECE78A5156.1; 
 Thu, 18 Aug 2022 13:24:28 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cc4c2f2a695a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 18 Aug 2022 13:24:28 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB5910.eurprd08.prod.outlook.com (2603:10a6:20b:296::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 13:24:26 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.028; Thu, 18 Aug 2022
 13:24:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1beaecc9-1ef9-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=l1bzqxIN7c0HiAR05ijTChSOawEG678i0gfEEDcnjDayqya4eemxqcJs33mWqnhw6S887MfBffZLjOYl+oSmkh2HbU+ysnYuA+6Fp887V6Eh4Ts5scYlproriUk4ksCXQ7AnrYmVJ0t5ushlGWrhle5lSHqWlEwH6VQqrq2pvaQ+Z7gQOURg1GJt+NWtzIV2mUmsIKfykgn4gYo2s0LmguOGSZm2WLh6li8H3eNC37AdvsB1VR2jG1ix6IpFtLoAqAMGS9knnZg0a3nG4bBMWWjIQIvao1asXD3TQ4quyBMOnqmqvMdEt0bln5a2r//87BWAzkTjGvqK8j/XVLAFrQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bEsdoTEncAOGFBz4FcYUSTCExsceFCuBX+FI2byXY6M=;
 b=OtMEkjAafA5KOPtXHciNHyZ6enhirctW1veyfey7wpc6EPtNVP9MRpGsuNt9HGAAO+2Gi1XlyW1T07k0pJaT+O+yI0jRZElqk1WPC9Dm8pNNl83kvUh9RHM+HpWbVo7Ms/hynQEgahRXAEnfbWESpG0PpxdcgwbY9T6WsKepocgZj3LoLeiK7BO/V+r7EOgnbNaE2KtZRVmmIB8UgMGqkL9J+eKKZEZpXN6Y8x1b6WAy03JwxGttcwx/1txCx9sDGfyiVaMpfrt9SnMCYH80XcByLw83fukeZZnSTJ5linXp60R+Mrxi+290kbY0lfH8BdSu2Ex86kQ0DR3fxi8c5w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bEsdoTEncAOGFBz4FcYUSTCExsceFCuBX+FI2byXY6M=;
 b=n8yFKMwnGbqPbdFmSNTXqC9DvcsfAmkuIUJmXh9fDfrS9oaZqk3rlEoxxypz/aBR+CSGu5I2LXxyVUv/IZjvi5knawBSzL7HJB3UczEPDXDqH/bj7WFWKxX0RkeUkPNTQAnYAEp1R1VgMirexbnN53vHzz/rOAw+6b3SVHjps0g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d06c9dfa99295b4e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ktjBAqKpKG1GNvU0D7I/yY5Kt69jcbctYGm9MIRZP4pZ5UMpPMgRwA90gHYuypOX/tPAFD76pFMzZey2hBACGOVFFf7atP4ILJj0TTrKHWCqZJ378mwryNZboxa9B/O9TBob+sCaRHQc4uyF2qhIAsH2E6iT5RgjYsZU/p8WXfzUk8uUe/XlAFdAwDtx6z4nj2V4bc9oLLi9J9ZgV/wyIkfMMSyVkhinx7YrNrP9CgZpDHWwQamhBI2GceTXNEoU0gxYwUcWo7/0q+L2c7AzWV4M+VgFUzMbWQ+ROUjA0ugGvdUchORweYkTuf7e9gQBZ8Cl+8k6JK0zw2rirnVojQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bEsdoTEncAOGFBz4FcYUSTCExsceFCuBX+FI2byXY6M=;
 b=LP4hannC/HZkZow8UJQu/dP4fF6POhf/wQRPraOiB0VtDmHSCs+7XmowRhcyF9RFdO2dPIHv9UhxZYoKjOV+wu/I88uMRP2K6winACV7i/sLvbBQsvYt5Wsle9jARzktuQXI9DvyPlVQvrP1dcyjWF7oj+SfTR6Qjr2S01sjg0YdgnRNIuLcGjRB4QG7M/l02qFnLnuN0uNafqRIMfhPtRcFbRucUHpQPRwqDdsd52hSE8z3Wdy5xSEtSHV8MM5PteXmVJIN7/QX9sd8Gdga2C002DpmOi42Jh4DmsOHMU/9orsqJnlJVcg3bb1FjWo6hI7PU9mvrlB6zprjZbczgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bEsdoTEncAOGFBz4FcYUSTCExsceFCuBX+FI2byXY6M=;
 b=n8yFKMwnGbqPbdFmSNTXqC9DvcsfAmkuIUJmXh9fDfrS9oaZqk3rlEoxxypz/aBR+CSGu5I2LXxyVUv/IZjvi5knawBSzL7HJB3UczEPDXDqH/bj7WFWKxX0RkeUkPNTQAnYAEp1R1VgMirexbnN53vHzz/rOAw+6b3SVHjps0g=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "leo.yan@linaro.org" <leo.yan@linaro.org>, Jan Beulich
	<jbeulich@suse.com>, Ard Biesheuvel <ardb@kernel.org>, Marc Zyngier
	<maz@kernel.org>, Rahul Singh <Rahul.Singh@arm.com>, Peter Griffin
	<peter.griffin@linaro.org>, xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Thread-Topic: [PATCH] xen/arm: acpi: Support memory reserve configuration
 table
Thread-Index: AQHYsigvymQYV/In6UeZ0JR6afFs5q2zEzOAgAEyTYCAAAZ4AIAAW2OA
Date: Thu, 18 Aug 2022 13:24:26 +0000
Message-ID: <8C515123-62CC-4D4C-B98E-8EEEE42C9EAD@arm.com>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <Yv3rc7vNCmTrFdgB@leoy-yangtze.lan>
 <5afa9c15-d7c5-2fb7-ed14-bd8839c4d42d@xen.org>
In-Reply-To: <5afa9c15-d7c5-2fb7-ed14-bd8839c4d42d@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 1d455fd2-05cd-4aaf-fd71-08da811cfe96
x-ms-traffictypediagnostic:
	AS8PR08MB5910:EE_|VE1EUR03FT006:EE_|AM6PR08MB5157:EE_
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 30FJ/jB5ddnmi+3ie4T/d4sxKXSuFLt/J2CZc3MdCZPEYixQlXKZXP7QGy7WG8Wb2NbsbWiA1kDTg8b0gpnACE8gJxjRjN6sV99HijS3cTkBgMd/DhrUnZjzBgkKgDi+qSgcMZJEsNgLU1TlNwUKZrBTQ69Y99GXcPQ8NQ+6GcIcL7hwWF0EBIkb1TQT8Xjsdd85pqCpKCyWKzzd4+dfIvxYIYt1EyIRqNcuMuygLoE84xI6jqdrKePcMEBKtLD4wlim8999bzhUpAtn6+GrprqU9WuZqSgXxOWgeMiwIraBXyiv2tm04PQ4Oq9VseOghh9IOyt/iqdcdkGlarRebgv1TkIGiImriyaq17kEfjSbR6tX0NlZmkPPXsAIkXaSfT7mpb98FeWtcvJvYo8gTObW4TkQ3s2LTeU8qea+hhUg5WHzNlR3MWaKUSzlrvV54S45NGiBKlIfnw+sKwJSjdNzEKjrqlsBpkaNutFYEOA2yYy+H8vXw8D77iABiTvLQ0JnlxljFJyQ16VMTjwYYYVTIUD3uza/gVdwyYh8wbGD2a8fj1RPfJ6rxotSV7eizRa5kPTQtCPOH5yal+l0CZuLqrdWNYfvO1eMY3ZWuojAUn3pvUlWD/ods97Bm7BUvQUOcdQzHgW+wf4tDFYxRJcqIN94WfDwjs3irMIsDt73gcIzbuyqCZuHWZEokhPqrDpT02UjqJ2k9rtoZ7yJWUPUzuwageRng//FvLh4DtBMJv8iCwVivTiSBN1r0Jeg0BWPaX0foXXXyWaA5xD8P2LxerwjGShxH+2ElKI2EEI=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(39860400002)(396003)(376002)(346002)(8936002)(76116006)(66946007)(2906002)(33656002)(5660300002)(4326008)(66556008)(66446008)(8676002)(64756008)(66476007)(38100700002)(91956017)(6916009)(86362001)(122000001)(316002)(36756003)(54906003)(38070700005)(478600001)(71200400001)(6486002)(41300700001)(83380400001)(26005)(53546011)(6512007)(186003)(2616005)(6506007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0C315AD60B674F46B1D5402A613C3D62@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5910
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1fb8040e-fbbe-4658-2a4a-08da811cf8f1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZU7k3JmEDneNngSOkOb5KLVSB8nQI3cL06pWkJmbgMkzx80vd31DZXahGShQjtGH6OCAapcMZMKuFGUAjbysLS+22MMkqT6L7b8ybR/06sF3j9JjUrYKBz1efu9wvFGiDURA0AydUA1mXsLqCuml47t+onImjnDAi1aKAXu9bUjUexYzNc4RQ+IueJH3zaji2oQCJEM0OsNIZ9w4xye3V+3kdwjn1+GFVbRfRBa9dNnixpKlM2A79XSGehZnh8n6Zd0SgF2aQquU7dEICpOMpvqy73VPNRQqOMdWp+5+spI6M/a+S4TtKACw/EBVZQfAU7KeGUGchMdQEyrTgzufbPECqOZE+2656logX3OlkRRRt4Ro6xJ0hVB5VGRJElalPmeVluU3VfVkt+f+TvMj2PDuLFXvwKu3VKFxR7DYoKXqzaGCAgRSuZgdluAz7I+WweEJIBiJKpfCTUI5NlBNyu8jzWWut/H3YvC5/t8mcJdeZHGi8OZTlz70kGzRov6G1epJEzvXaYIJNL6ul0Xx7PmOiCDnJEUOdMj54TeJJYwy4FPJjPZMyvV4p07/SDel+w29VCixKiIqBeeVG/6zI62GeWimM6NQkhIfPELpvxB8T1X0i4nyssO+KLbTw3zOBha4IdFm9ve7yqT5QAatUocUvPFv9BvrFkynpk/iinncX30zQI01WY96sMfk+v8C7jOTkagOy4AINCoj5jIwnShinp718lhto0066yUarwiSoDUn1wZtW5uctpuQJC3BZOENBWhd90Cx5c0qzh+sug==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(39860400002)(396003)(40470700004)(46966006)(36840700001)(356005)(81166007)(40480700001)(316002)(186003)(36756003)(54906003)(36860700001)(83380400001)(82740400003)(82310400005)(2616005)(6506007)(70586007)(70206006)(53546011)(4326008)(8676002)(33656002)(2906002)(47076005)(6486002)(336012)(86362001)(6512007)(26005)(107886003)(41300700001)(40460700003)(478600001)(8936002)(6862004)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:24:35.4847
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d455fd2-05cd-4aaf-fd71-08da811cfe96
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5157

Hi Julien,

> On 18 Aug 2022, at 08:57, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Leo,
>=20
> On 18/08/2022 08:34, Leo Yan wrote:
>> On Wed, Aug 17, 2022 at 03:17:53PM +0200, Jan Beulich wrote:
>>> Furthermore - what if Linux decided to change their structure? Or
>>> is there a guarantee that they won't? Generally such structures
>>> belong in the public interface, guaranteeing forward compatibility
>>> even if Linux decided to change / extend theirs (at which point
>>> consuming code there would need to do translation, but maybe using
>>> a Xen-defined struct [plus translation in Linux] right away would
>>> be best).
>> I saw Ard has helped to answer this question in his email.  As Ard
>> said, the general way is to rely on Linux EFI stub to allocate the
>> data structure for MEMRESERVE configuration table.
>> Given Xen uses pseudo EFI booting (the ACPI table is passed via DT), in
>> short term I don't think Xen can support Linux EFI stub,
>=20
> I agree that using Linux EFI stub will require more effort. I would also =
need to go through the mailing list archives (or maybe Stefano remember?) t=
o understand why we decided against using the EFI stub.

I think the problem was that EFI also includes some functions and to have a=
 proper EFI stub we would need to support those (console, mapping, disk acc=
ess).
Maybe this is something we could discuss but that would require to have som=
e kind of binary providing those services that we put in EL1 or at least a =
stub calling Xen for those functions.
One other solution of course is to run uboot and boot linux from this.

>=20
>> so we need to
>> maintain this structure in Xen as well.
>=20
> I have looked at the commit message. IIUC, if this table is not created t=
hen Kexec will not work. Is there anything else that would not work?
>=20
> IOW, would Linux be unusable if we don't create MEMRESERVE?

No it works perfectly fine.
There are some warnings and as pointed out later kexec is not useable (but =
is not supported anyway).

>=20
>> This structure eventually will not change frequently, so I assume
>> later we will have little effort for maintainence it
> The problem is not really "maintainance" here. It is more that if Linux i=
s updating the structure in a non-backward compatible way, then new
> version of Linux would not boot on older Xen.
>=20
> We would have similar probable with new Xen booting older Xen because the=
 hypervisor doesn't know (and should not need to know) which OS is used.
>=20
> In the nutshells, Xen should only use stable interface. If MEMRESERVE is =
really necessary then we should either switch to the Linux EFI stub or stan=
dardize MEMRESERVE.

As we do support kexec on arm right now I think the current status should b=
e kept.
Those questions would need answering if we support kexec one day.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 13:45:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 13:45:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389552.626545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfpW-00063Y-Sz; Thu, 18 Aug 2022 13:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389552.626545; Thu, 18 Aug 2022 13:45:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOfpW-00063R-Pl; Thu, 18 Aug 2022 13:45:02 +0000
Received: by outflank-mailman (input) for mailman id 389552;
 Thu, 18 Aug 2022 13:45:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rLbC=YW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oOfpV-00063L-Sm
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 13:45:02 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60073.outbound.protection.outlook.com [40.107.6.73])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f472d88b-1efb-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 15:45:00 +0200 (CEST)
Received: from AS9PR04CA0074.eurprd04.prod.outlook.com (2603:10a6:20b:48b::8)
 by AM6PR08MB3878.eurprd08.prod.outlook.com (2603:10a6:20b:8b::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Thu, 18 Aug
 2022 13:44:58 +0000
Received: from VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:48b:cafe::30) by AS9PR04CA0074.outlook.office365.com
 (2603:10a6:20b:48b::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Thu, 18 Aug 2022 13:44:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT055.mail.protection.outlook.com (10.152.19.158) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 13:44:57 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Thu, 18 Aug 2022 13:44:57 +0000
Received: from 62d2da611fe2.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D21B7EBB-84F1-490A-BF12-2D6C1B6E588A.1; 
 Thu, 18 Aug 2022 13:44:50 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 62d2da611fe2.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 18 Aug 2022 13:44:50 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB6671.eurprd08.prod.outlook.com (2603:10a6:102:13b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 18 Aug
 2022 13:44:49 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.028; Thu, 18 Aug 2022
 13:44:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f472d88b-1efb-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cB5v9/0o2Z1BIh3JqERtizM6EYVWzCrDiGp3G0rkkBOVnqI3Zo1X0WVbAez6HSWvX/5F1hDpcHkvlCm5wBIz2AItu6SA9wEcWRPCoxAvHLbQHkc5NerVchMBspI4GrsUPIXhWyi/WgafoeGCVfNu1POy/hIOo8y3IJQD/DG2rl/yxN1KQtcvd67R7ln4CQEUtigSssXE/1HZGeL7eLo8G59AZfkkl4oJ+gMmuMYM87+VxRW3RFTL94ltkPgv10NSlOP4MpsAm1Q/sbP5cK6gVv+Eh+oT75ebNS5wiMgStLYhqukG0Uzj4SES6/VoKkDcnjJSRVDSMa2ciNXd4dTs9A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xSbXvASIfaOyoWZSvlXd6lPnXEl9ZP2YmkVL+G1bwUU=;
 b=XJSHoyIfqtv9sFYneORoFjTf7oyD+VATBNFLg6ovZemhpt0eWhWBnUv30D8ujknqZBysRQee6e2xBwzRNw6s56TS2O96m+RBMHBXnBi6dMBlH2nq6XShKEROQ5JeZIbJmVk5kFuXbFCAjr+/lt7sTrJwJzVxORsbh7zr3NkrjQH9lKggo82NQO8SNRVYWZ+eggcEjojFb9xp+EMK6EaqS8PZJC+4D1pESBA+t1TH2Yys9vRFPWldiOGXlFCjVUjJjSCH0XRI+Oe3ocumAYY7LIZRRiGb4xy3XqH8xk0Sz1+aNc1LzolHtidHutH+Gfn1xQC6QAjFlVJyOdteArmGjg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xSbXvASIfaOyoWZSvlXd6lPnXEl9ZP2YmkVL+G1bwUU=;
 b=VYSp1K5R3GmWQMCNR6oU2QZMoJOboehth7jb30cLhBO857gxhHqVLICySfOo1jYVUpMA2guJr4jPgJ91EJs2GqrZdYOKVmlXV/qmo6sFm8E6bKwzTnxjDysdaPKjGQBCf5ntAsXp4dbwbm4XSjtbWxUdcfvH2D1THWE5AzpDqGc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7e5b087d091a6820
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ABCkRoIcB7ZPh+B3PY5MEjZnbFaWvt0iwHJ1g/TGXsXJVY0NZ1/3Y3Z1O2ncrmtSyMkZRiAYegyXAYU74pdRDhFP7y2wevOxdtEjjJsepEKF4Z3YrXgRgmzKDP76RMtuIVDE4C7KGmPFLZZdsDfXbBVoYypeYrbPLBrBmRJqiyUPTTaVyRo13qrSGwVVgonWu6Tp16LAXeZXfxIMsIOHScRdS/IUjrvcAdlfQ/KMKPN16BfVG0FQCVaVgbMZ5w2vooThMsWlafL+vdb6zsJ/Po10eUhLqwYE8ZAiqjzHJzZ/XFavgg4qvb0ngd0nCbF5yCetpuAVrLdlCYngj6spfQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xSbXvASIfaOyoWZSvlXd6lPnXEl9ZP2YmkVL+G1bwUU=;
 b=Wb0q7VOmOumoS3GDNypxQM5BNmyO9w+t/a7cnW6H27MGPtTpCzTcumCGuQ0sXQhiOiXluPne1YQqkozwF6nE4uLG4Bp5q3s75U42KrxmLZUv8ivv4Q0Gp3rPJPMJ+8s03z2KjfiyhDNzJZ8ZpKiE5SPxf1GiGT9Mn+OAUEwztXLaEwsCURT2O1yVWxDgrTw8M0Zk+X94ETCJjPX8pjEDwUWVXWJjUgcLaqt3U7WFngnklubC8wdGETHllIsXhgXATa6CqfADWpiem7CDfhtZcMBFldTuKBsUp+Hc6LxWk/MxwOw9SoREqJRwtp5xpFxXdBF84hktAvcg0kogz0r65g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xSbXvASIfaOyoWZSvlXd6lPnXEl9ZP2YmkVL+G1bwUU=;
 b=VYSp1K5R3GmWQMCNR6oU2QZMoJOboehth7jb30cLhBO857gxhHqVLICySfOo1jYVUpMA2guJr4jPgJ91EJs2GqrZdYOKVmlXV/qmo6sFm8E6bKwzTnxjDysdaPKjGQBCf5ntAsXp4dbwbm4XSjtbWxUdcfvH2D1THWE5AzpDqGc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>, Luca Fancellu
	<Luca.Fancellu@arm.com>
Subject: Re: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2 extended
 input/output registers
Thread-Topic: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2
 extended input/output registers
Thread-Index: AQHYsvEkHkqzGWJxi0qzDFcav/qI3620q3mA
Date: Thu, 18 Aug 2022 13:44:48 +0000
Message-ID: <EC23C48B-C9ED-4BD0-BD6D-4967A2509B2B@arm.com>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
 <20220818105601.1896082-2-jens.wiklander@linaro.org>
In-Reply-To: <20220818105601.1896082-2-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: c515b591-2656-4adc-2e2e-08da811fd71c
x-ms-traffictypediagnostic:
	PAXPR08MB6671:EE_|VE1EUR03FT055:EE_|AM6PR08MB3878:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 3UhaWi3td6u1RdLLcVSQK3ppF6bxGhMNQLk8O/ghQL1PeddEal2jyFop8uTCqz4iZYH3NHlQgDUMUJOPMgrgDhxnzl0qA72icQoD4JivW/X8doOs7l0N0G/zLR6OGcrDh+o0I14bUmarSpT+7i+TNIAsAUvyZzpAJPH/abypgJ5ICzFY4b53qLkh+gQOipjjcrDdgHl7Mn4PwTeYQ5+MpSiSAIxr356OMQWg+dE38wAKOtl+iqRk3tADm1DrJiBNqcOr65f03zXpk+S8VoJZXbhtl+E2JTbeJ3r8mUb1JO4zrIoBKfiGolzLtlY8Z96gjt95m8x4Qqq+tp3ZgCeQv1EP1ImAFEGtNGuseVadjQxBpHGtw9lM3K3PsqxAUCBKe2SnM60Rv9jVO+EQcR++7fv/kjN0XwdlrY3wXHKAZ6xwm+XFY0fGxT4Eej9DxyQuwOUV3ASLO6zsUywS/QHU1ZBO4avZvqboUB96Rj/BikZVDP6/iI4cK7SZINUycN+L0vvOBKiMDxmYTKP8y9vrU01CilrNcu1a7boFLmEoQlgbFTOBRNWI143SS0Q2TdteahPs4fXtJ3OcfEm0ekfWBzvfOwz0eLn1d89VFur0XfwB+Km9DpNDloz7TCtDUJL7ok7UOkCsPAkS4AYXWoemuVIowLIUzH98TSvFvqx3eA2s1qdW2LBXIXRdpj75B2XKKRLNZPjcsgF1neKJQ/9Y/grIRfMqsUGDppRsJOBV1WapIKYwFmc/uMIvkGTdR5gIV+3qLYKx05DIl32WVx9PsExU4sjWjloHYsDMC7nw3jfnn84KSiyjwghLCZOVHCrneGsmzFBiAmsL8FIKDKf6ag==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(376002)(346002)(39860400002)(136003)(5660300002)(2906002)(8936002)(6506007)(33656002)(86362001)(26005)(71200400001)(41300700001)(66476007)(186003)(38070700005)(2616005)(6512007)(122000001)(6916009)(478600001)(83380400001)(53546011)(966005)(38100700002)(316002)(66556008)(8676002)(64756008)(4326008)(54906003)(76116006)(6486002)(91956017)(66446008)(36756003)(66946007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4FF8AFE83E28B344A2C0C59CE26E79B2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6671
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	96902970-6377-4384-572f-08da811fd1c3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TbfUFy5og+j4TKTOEJuEBmv4OFcmBJqPrL2zUCbXd61iTaiV0rYVo9JJPu8XFOqwJ3GPm858JGRT5HdlWXm9CUAsz1TSD+Z9OE/8RJeONJv79bv3YRrNFN60kLkwCC0+jqdPNze3IlnVfWz00+dITVaWqLTo3tn/rVPs0nnET8F1kjCV8lGeibnW9FsCleR/x374ksA9T9U2NXR4xYsEPswtz12fpvracrAKpHjBt+5g5HmI7l3wAaxyMN16ryfIGtY2THGhcCY50cgfpcmELV3cknnQ+NIaYMfi9YUJ/rOhJtCOoMdA5swdvT848cDIeB1h4p8VQZ3KcCYdk0oUW645hPoBvkvKJ8UZfDZXAoZdx15FgnevCqKghHQfotZbbPBvGRRJR24yZfX1pd1mRyrqcbaHYU+qcwppPFJvn1wQxOfeO7I/02BoE23WJJj9+nRxu78Eo7pVNd8IOIFIaQtTr5iLy5b9pB9TRY33H2JGun1A8CG3OWERdJocEfyq/SYcGwBCg63YQMFaxW0qiwVdmwES3x0GdX8RsO4sPJ2TrDnUPXVCE5B6BX0LFBo32kAzOhWTvaxG7TdbZ0eS5y3C1nyPcOmhVl2SrLNjURN1VovnmhW3jc4hUBcjmwJtsb0E92hAHwaZkdC3DqYK0weIwLeQ01Egzs+rOiRancMnHpcnStmeDyEe1T/mPbq7owc3XNzGpu0kRWoAMJnqYU4olkVZghV2GdzcCYsmbanYXQxJdCuC7DmVQewSLb5NybCq3fhPWsyrepXGChIcIj3Dvx+d49bwoV+7hV75CG0=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(376002)(396003)(346002)(40470700004)(46966006)(36840700001)(26005)(6506007)(53546011)(6512007)(36756003)(36860700001)(47076005)(8936002)(2616005)(40460700003)(478600001)(186003)(6486002)(41300700001)(336012)(966005)(83380400001)(82310400005)(82740400003)(54906003)(316002)(86362001)(8676002)(356005)(70586007)(70206006)(6862004)(81166007)(33656002)(40480700001)(4326008)(5660300002)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 13:44:57.7701
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c515b591-2656-4adc-2e2e-08da811fd71c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3878

Hi Jens,

> On 18 Aug 2022, at 11:55, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> SMCCC v1.2 [1] AArch64 allows x0-x17 to be used as both parameter
> registers and result registers for the SMC and HVC instructions.
>=20
> Arm Firmware Framework for Armv8-A specification makes use of x0-x7 as
> parameter and result registers.
>=20
> Let us add new interface to support this extended set of input/output
> registers.
>=20
> This is based on 3fdc0cb59d97 ("arm64: smccc: Add support for SMCCCv1.2
> extended input/output registers") by Sudeep Holla from the Linux kernel
>=20
> The SMCCC version reported to the VM is bumped to 1.2 in order to support
> handling FF-A messages.

With this patch, you add something so that you could call SMCCCv1.2 but in =
practice you are not using it anywhere.
I do not think this patch should bump the version we present to guests.

>=20
> [1] https://developer.arm.com/documentation/den0028/c/?lang=3Den
>=20
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> xen/arch/arm/arm64/asm-offsets.c |  9 +++++++
> xen/arch/arm/arm64/smc.S         | 43 ++++++++++++++++++++++++++++++++
> xen/arch/arm/include/asm/smccc.h | 40 +++++++++++++++++++++++++++++
> xen/arch/arm/vsmc.c              |  2 +-
> 4 files changed, 93 insertions(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-of=
fsets.c
> index 280ddb55bfd4..1721e1ed26e1 100644
> --- a/xen/arch/arm/arm64/asm-offsets.c
> +++ b/xen/arch/arm/arm64/asm-offsets.c
> @@ -56,6 +56,15 @@ void __dummy__(void)
>    BLANK();
>    OFFSET(SMCCC_RES_a0, struct arm_smccc_res, a0);
>    OFFSET(SMCCC_RES_a2, struct arm_smccc_res, a2);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X0_OFFS, struct arm_smccc_1_2_regs, a0);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X2_OFFS, struct arm_smccc_1_2_regs, a2);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X4_OFFS, struct arm_smccc_1_2_regs, a4);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X6_OFFS, struct arm_smccc_1_2_regs, a6);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X8_OFFS, struct arm_smccc_1_2_regs, a8);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X10_OFFS, struct arm_smccc_1_2_regs, a10);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X12_OFFS, struct arm_smccc_1_2_regs, a12);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X14_OFFS, struct arm_smccc_1_2_regs, a14);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X16_OFFS, struct arm_smccc_1_2_regs, a16);
> }
>=20
> /*
> diff --git a/xen/arch/arm/arm64/smc.S b/xen/arch/arm/arm64/smc.S
> index 91bae62dd4d2..c546192e7f2d 100644
> --- a/xen/arch/arm/arm64/smc.S
> +++ b/xen/arch/arm/arm64/smc.S
> @@ -27,3 +27,46 @@ ENTRY(__arm_smccc_1_0_smc)
>         stp     x2, x3, [x4, #SMCCC_RES_a2]
> 1:
>         ret
> +
> +

Please only add one line only here

> +/*
> + * void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
> + *                        struct arm_smccc_1_2_regs *res)
> + */
> +ENTRY(arm_smccc_1_2_smc)
> +    /* Save `res` and free a GPR that won't be clobbered */

The comment here should be fixed, you are clobbering x19 hence you need to =
save it.

> +    stp     x1, x19, [sp, #-16]!
> +
> +    /* Ensure `args` won't be clobbered while loading regs in next step =
*/
> +    mov	x19, x0

You do not need to save args (and no code is restoring it).

> +
> +    /* Load the registers x0 - x17 from the struct arm_smccc_1_2_regs */
> +    ldp	x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
> +    ldp	x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
> +    ldp	x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
> +    ldp	x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
> +    ldp	x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
> +    ldp	x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
> +    ldp	x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
> +    ldp	x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
> +    ldp	x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
> +
> +    smc #0
> +
> +    /* Load the `res` from the stack */
> +    ldr	x19, [sp]
> +
> +    /* Store the registers x0 - x17 into the result structure */
> +    stp	x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
> +    stp	x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
> +    stp	x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
> +    stp	x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
> +    stp	x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
> +    stp	x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
> +    stp	x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
> +    stp	x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
> +    stp	x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
> +
> +    /* Restore original x19 */
> +    ldp     xzr, x19, [sp], #16

You should use ldr and just load x19 value here.=20

> +    ret
> diff --git a/xen/arch/arm/include/asm/smccc.h b/xen/arch/arm/include/asm/=
smccc.h
> index b3dbeecc90ad..b5e3f67eb34e 100644
> --- a/xen/arch/arm/include/asm/smccc.h
> +++ b/xen/arch/arm/include/asm/smccc.h
> @@ -33,6 +33,7 @@
>=20
> #define ARM_SMCCC_VERSION_1_0   SMCCC_VERSION(1, 0)
> #define ARM_SMCCC_VERSION_1_1   SMCCC_VERSION(1, 1)
> +#define ARM_SMCCC_VERSION_1_2   SMCCC_VERSION(1, 2)
>=20
> /*
>  * This file provides common defines for ARM SMC Calling Convention as
> @@ -265,6 +266,45 @@ void __arm_smccc_1_0_smc(register_t a0, register_t a=
1, register_t a2,
>         else                                                    \
>             arm_smccc_1_0_smc(__VA_ARGS__);                     \
>     } while ( 0 )
> +
> +/**
> + * struct arm_smccc_1_2_regs - Arguments for or Results from SMC call
> + * @a0-a17 argument values from registers 0 to 17
> + */
> +struct arm_smccc_1_2_regs {
> +    unsigned long a0;
> +    unsigned long a1;
> +    unsigned long a2;
> +    unsigned long a3;
> +    unsigned long a4;
> +    unsigned long a5;
> +    unsigned long a6;
> +    unsigned long a7;
> +    unsigned long a8;
> +    unsigned long a9;
> +    unsigned long a10;
> +    unsigned long a11;
> +    unsigned long a12;
> +    unsigned long a13;
> +    unsigned long a14;
> +    unsigned long a15;
> +    unsigned long a16;
> +    unsigned long a17;
> +};
> +
> +/**
> + * arm_smccc_1_2_smc() - make SMC calls
> + * @args: arguments passed via struct arm_smccc_1_2_regs
> + * @res: result values via struct arm_smccc_1_2_regs
> + *
> + * This function is used to make SMC calls following SMC Calling Convent=
ion
> + * v1.2 or above. The content of the supplied param are copied from the
> + * structure to registers prior to the SMC instruction. The return value=
s
> + * are updated with the content from registers on return from the SMC
> + * instruction.
> + */
> +void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
> +                       struct arm_smccc_1_2_regs *res);
> #endif /* CONFIG_ARM_64 */
>=20
> #endif /* __ASSEMBLY__ */
> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
> index 676740ef1520..6f90c08a6304 100644
> --- a/xen/arch/arm/vsmc.c
> +++ b/xen/arch/arm/vsmc.c
> @@ -93,7 +93,7 @@ static bool handle_arch(struct cpu_user_regs *regs)
>     switch ( fid )
>     {
>     case ARM_SMCCC_VERSION_FID:
> -        set_user_reg(regs, 0, ARM_SMCCC_VERSION_1_1);
> +        set_user_reg(regs, 0, ARM_SMCCC_VERSION_1_2);

As said for the commit message, I do not see what changes are making Xen pr=
oviding 1.2 interface at this stage.

Regards
Bertrand

>         return true;
>=20
>     case ARM_SMCCC_ARCH_FEATURES_FID:
> --=20
> 2.31.1
>=20



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:04:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:04:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389559.626556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOg7q-00007q-HT; Thu, 18 Aug 2022 14:03:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389559.626556; Thu, 18 Aug 2022 14:03:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOg7q-00007j-Ds; Thu, 18 Aug 2022 14:03:58 +0000
Received: by outflank-mailman (input) for mailman id 389559;
 Thu, 18 Aug 2022 14:03:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOg7o-00007J-OR
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:03:56 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2065.outbound.protection.outlook.com [40.107.20.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 98a640c7-1efe-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 16:03:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5010.eurprd04.prod.outlook.com (2603:10a6:208:c3::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 14:03:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 14:03:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98a640c7-1efe-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TmI0hFwBkWwtcrwHADXrmLP2LwcqXJlBm4rQWOcOJbRhXatGLmw3s8nGxGT163R+XN9R+uslmEgmymlbKaVpiZz0VMXdw7nfMOIAHKR1g8TkLVj2nZAx2cAubadd2t1Zve1HLBRPFwtNqFEiWMVCjJSxyaO6xRRnnnIc7t5kuD63rR1B3W9vuwIPqtmFP4ntahBrBXvSFXHVFOf26v8tmzozWYpdElDDBrnnj01M0rEub5nvgRQXf+W+E0VeiWkb5Ltf7ON28XjB3SjJSqHzkxAiuGkYQ2jXoerRREl3svR1s8FH7fxU1iVOfzLDG/gfd1CX0aiUL/j1gDQy5TyGqg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IUN7vaVh4r0dNBLCu3MEChinXPaRDFLZVXmbgnSuXxQ=;
 b=eoACjnoVXu2VylTd0AKfJ6S1Z2d6rim1BIjwnsyBn+JtCimmkGBUwEcKKHvGuObK0YU7E105awxCv2HPwajjPMFK2PWu3p7Z/vMGlbrqr8LawvlJdO9aYi1/XVvZigpPKpNmFA42AF/8fEV1LK3xnljoMqtIiJQy/pd33eLZSvW0+vZE3K+GLU6YRq+jpYgrx0KDXRFQ+VIHXdZ3TJ7jBSx/pqlKNH80eYM+DpzuhgAYUv/fVcApvC2mk04tYPYtDzj6i7bGnaow7BDx/VSb15/0z+CWeZrq6OBvOv18t9WxZBYGQnHuv89y/SwQf9oE1xK38M2sFIM3DHeOLfWfgg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IUN7vaVh4r0dNBLCu3MEChinXPaRDFLZVXmbgnSuXxQ=;
 b=k9gvPci0G2dpCAK8g58zP8bYA5rMiLwX0MlIMUC1ZJAawj3lNHBFGURWdX31GAaxYFQTpIDvU2jYcjiAYBXps5YdQ5tf5KGCdywlOixoOEGcJKlL4YXs9XcchpQSDMSXyg4YmM5T0jzRCsfFdUQALVt/gOUwWsG2qsGknCbO3wlJ88dL2pLb6WzSHB9+iR1PVpfeBRiE+YXCYgxEPHc8VG1Ecl60p21ppj1NwfKQ+BQQpcjIs81LTx3AAYed6LtmyU6+s2E/Ehaj6y/GZz8aTsXO3P9ApdssR6hpwyFjOidSBEndY6j1qqMAWvO1XVt+kZ4k7oaEH7CTcdXSOrtwnA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
Date: Thu, 18 Aug 2022 16:03:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/3] tools: address recently reported Coverity issues
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0100.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 74bb4643-3339-484f-4d41-08da81227b93
X-MS-TrafficTypeDiagnostic: AM0PR04MB5010:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BEmN2cs12Vwz13L8pH6QLjKnlaU+iGXr/B+VeMI8ufUvbRvPuWt3AzSKp7zUSqYtFgqW+Rh3nV5NPYL/2bbgF0V5/3EL4Yg7q8U8zPU5xwyI87dJK0eW5gfs2DVMsvO1SouTJB3NXW48FwJnlJC+1SaIuhhLeaSa9KOnFHwq7nlbaYf23vurfSeRLbRdkVxLJsvjQccZPibRoxNeUnfBcE4lSAknt85YUr+J2nlzsvqacBBGL9Qa1fyeUJ8enc954Rzu0Z6VVfXOCdE3uYqt7e9EAOCBk8vtAvsIPN0JfdpMC7Vs/hqcpEdpa/IYPRFDYclfd8v2u7K5453C4AGQvDufrSIFPIUgFejzfRdKPhhE576hoKf21kDN+0O2SpDv+TZ87/lj78LLo/Tp9fsEMQb4Moe1q+Axb4UF5IwVptrycUxEfD3rKbZbTQCgLcn4VgclcPxH/Tn3f3Z7XTj/2slpmKgoutaWafXCaxMSBL7OdTyKTDZXFXv9imP6ed2glBsfTCot7wd06pH8cUx+hg5Qa911809Ku8ccDGN1p5oHYDrM7kHsKtqu1dRVRq+7mchs7LQ8s7LOVz+O1/JA+W6zEzeg4Xm1Jh9+j5E2Ehl2rTsoZgwdTQDwsBuHU5agUsx8ZBhJWprC2KeRdpbXFy4k2S9Fd6SxQw9C6gFJr8/+P+ZFWx9rEeMsaWfsrmyyoTYrMGC947+0+ummm2N0c5yq4v0F2iufX2P1wMI2TU7+TrSUVnMoQJ76iuGSmr6KdIqblMd2wKa9d25QLjW8zMVMIgXTH9fvExEfhlb8WbM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(136003)(366004)(39860400002)(376002)(31696002)(66476007)(478600001)(66946007)(8676002)(6486002)(4326008)(66556008)(2906002)(86362001)(6512007)(26005)(41300700001)(186003)(2616005)(5660300002)(4744005)(8936002)(6506007)(36756003)(54906003)(6916009)(31686004)(316002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q3FvNVNIM1ZCZWlmZ3JKbExrYXVFZUZsV3N6T01DYWdadVFvTFRmeld1QUVm?=
 =?utf-8?B?dWxWa1VXR05pdFpCdTg2VHY2ajlsRmJkZFg4TVhBb1JvVkhFUkpvZytUTjZV?=
 =?utf-8?B?Uy9XczZQUk1KSzJSOG55anlPRXgwdmRNYkRPNzZYbGx0dlZaZmR5alVPZDFv?=
 =?utf-8?B?VkpSL1RFUUp5Mk9PSlQ5L0ovUmFYbVh2eUUreGlxc1RIQURSNEllY29pWE4w?=
 =?utf-8?B?TWFFSGwzYTViL0VEY0xUR294QVV2NnluUE5vbzdGdlo4Nk1XTE04bFRqbHFn?=
 =?utf-8?B?eEVpMnJHdkdQbHU2R2N2U1RPQXE5S21pOG9kNHNzbW1KWkdGMHFwdFdqOUdX?=
 =?utf-8?B?RXBuZGtQWGd1UnF1by9nZTNKUHhvKzdrTFgwMFdXQVBiZWVFM3hoMFBXTnE0?=
 =?utf-8?B?VmFYc0dNQnNpZ1U3c0wzOHEwdEFDeXhrSHpERWpBZW9uUW1jeDR5Sk1aUzcv?=
 =?utf-8?B?RjBZbHFHUVJrdm52R1BmYWhnSHMyc3dyOFBMTkpHYSsvb1hhM0I4OHVkZXZP?=
 =?utf-8?B?NUg1SzRwcHlPMzA4TGVGTENFR0l6bnM2dTFjVDdaTityd295eldyYkNCWGF2?=
 =?utf-8?B?ZzdIWHVrYXFXMm9scXlVZkEwN2tVeHBPZ245djYzUCtSSzZvWGRpaDNZdGVG?=
 =?utf-8?B?M0cxU0F5UGR5WDg0NGx5ZXZrRmRMTXJoajg2MExtb1JBSFhVQzVqaXdYajd5?=
 =?utf-8?B?bVpxRzhoMThsdWQrV0pKRy9yallMNTVtWWVKMFBTRkFJVnQ3enRDYXhRTFlV?=
 =?utf-8?B?djZxKzFZNVcvTTYvWEtyWW14bGRkekZYeWNrZmh0Zk1EcnE0WXRGU3g3K2NI?=
 =?utf-8?B?cXVaSmowVmtFK3JxTi9JYVRMVlI3NkNvZjR0OXVjcXNSNDlUc1JSanprWnlX?=
 =?utf-8?B?d1NDL25vRC9wMTIySnBZWkV6VmZ1b3JMK1VBNnB3ZTRMa3FCeHJZSTV5QkdI?=
 =?utf-8?B?UFNRS2NUc1JBbktmRkRrUkFzZEpvMHdXak44d2NQVmVKdS92aGYrL0Z0cTBQ?=
 =?utf-8?B?S0pUQU1iYWxjRktUZmY3QXdzVjVmZTh1Q0drNGJFZW1kYnlGMlBIR3dWR0NK?=
 =?utf-8?B?Y2tJbW5lVHhZUldnODZJZWhWSDJRU092TmlKRG45ZllFQytOK0lnbUxSWUd4?=
 =?utf-8?B?ODFqTXIxS3JlNStRZk9tbjBrRzl5bCttM3pFcGpTM1hPa01IdDhuRnE4Z3g1?=
 =?utf-8?B?eXV4SytwQlRJbU9QVXNiVmZrRHpyRUFXM1Q5ZTF6Uk5tV3Z0bnZkVkMzRkor?=
 =?utf-8?B?TU9NUjVOc1FMY0NoTjRwMkR5QlVHRmZNOGdmYmVYTzA1YkFNRlZJTUlBQ3lh?=
 =?utf-8?B?bHV2MDRXVnpnUUNQSmV0bmJQVVFBOHFBR2J4dFNsb3g1U2dqRUJBMzZ4TTBZ?=
 =?utf-8?B?dG5SL0NLa1NQN2JCSnk3cE9OeXQvdDRINU9TeW9lSGlwSlFXa0RkWElyV0l6?=
 =?utf-8?B?bW8zSXdmZ2ZIbldtTWxKZUsvZDNCR1N3eTN5YjlYT0FSdjFjZmdhby9sajFm?=
 =?utf-8?B?THFFbW0xR3FlcTFqZEhjT3FXYlh2YzFDMDNseUk0d3A0QzBYb2lwb2VFUmVH?=
 =?utf-8?B?VHhNU3Z5WXlJdmFzc2RTSTNxUURxMXJHS1NyU3ZCZmw3V2tjYUF6a1I5RTVB?=
 =?utf-8?B?cHVWTFZwVkQ3U1BCM21zemZxamFva0E4ODFrdjkvNjZwL3ZpMGtMVUNYVU1Q?=
 =?utf-8?B?T295RGd3RWg4RW40TW1hSFBTT2g1TFV3K2tLcHdKZldqYllsMjBuQ3UrSkI3?=
 =?utf-8?B?RFZsb0dyQzJsK3JVK2Z6Zm1vdjFrVGh6YnNMMDJqRzZ1am8rcTNDdWZuM0Nu?=
 =?utf-8?B?eGdXVXRBT0Q2UjljeHoyWjAyV2ZVM25zMDY2c2x0L09WNmV0WnZIbEV6b1hL?=
 =?utf-8?B?Vllid3c3ZXFiaEYwSEh0NFNKVWtlY0ZNVEVpZXliMzk3c0hXVi9LajZnWEFK?=
 =?utf-8?B?a2ZNbWhrU1BEYzdxUWk5SGFod2hlTzBiQys4b3Z1SnVGSld1T1VpM0VLbEVB?=
 =?utf-8?B?MWp5VGZXdktLSU5NdDVSemdCUWRSN2R6bHhhSFhIaDdmLzdWYjBtOXVMaWxy?=
 =?utf-8?B?bG9GcDZQZ0pESGdEUnhSOXpiS0kzZzNodUs2Y2VjcHREWEhJRmxwTmNPZkF2?=
 =?utf-8?Q?3+kc+ax4L0PHgL1M7KZmPotDF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 74bb4643-3339-484f-4d41-08da81227b93
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:03:52.9562
 (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: cER4TnMzPKGIFHvr4JyZ+T3aZrWljF7ZY//0uXxvg4ZWrUHtYm4jJYOxGmAD3uLbDLMkU17jzxQujmmLxLdmIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5010

Three of the four reported issues a pretty clear how to take care
of, which is done in this series. The 4th, CID 1509375, isn't as
obvious, mainly because I don't know enough about Coverity to be
able to tell whether adding a cast there might help; the issue
reported for xenbaked suggests it wouldn't. The alternative I can
see would be an arch-independent piece of inline assembly, hiding
the transformation from time_t to int from the analysis tool. But
I'm not convinced such would be liked. Nor am I sure the can be
fully arch-ignorant, as time_t potentially being a 64-bit type
might not be possible to match with an "r" constraint on all 32-
bit architectures. So maybe what's left is memcpy() from a
"time_t" variable to an "int" one ...

1: xenbaked: properly use time_t in dump_stats()
2: console/client: properly use time_t in get_pty_fd()
3: libxl: use time_t for qmp_synchronous_send()'s last parameter

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:05:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:05:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389564.626566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOg8y-0000ea-Rm; Thu, 18 Aug 2022 14:05:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389564.626566; Thu, 18 Aug 2022 14:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOg8y-0000eT-Od; Thu, 18 Aug 2022 14:05:08 +0000
Received: by outflank-mailman (input) for mailman id 389564;
 Thu, 18 Aug 2022 14:05:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zfC2=YW=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oOg8w-0000eF-E8
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:05:06 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bfb82581-1efe-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 16:05:03 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 1000E5C0113;
 Thu, 18 Aug 2022 10:05:02 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 18 Aug 2022 10:05:02 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 18 Aug 2022 10:05:00 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfb82581-1efe-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1660831502; x=
	1660917902; bh=UMXYJt87f0N4AhiKwMZrQQI1f+dK74xJXMr5zJBBHpA=; b=a
	wrOSMoXvtFybJSTnLluTtuRYBJUHQQ3JRGOXQHQWn1BhS19FfuDWz3Mg8B5UiXIA
	wJ4hnrNM9UO4mQHo8jCRcMqQnlFDdHurpnfDMRFjmR9hVcpi9ZlJ4dpk8iVj0hXh
	LKBco5lO/MyW601I1XwZOeX+SdME/WA6y7SxStTIGNN3f4a2EI1NIODG5oLOEwSo
	QNhkI67oMRgw5PgGQ+rEJWFmLLC0TAAl0KaUkCSwvZp/iAVJKNpokn2TGJYah+x7
	a9nV5/8tAG/Egu96zOLFoXdDFrEgJA5yld+ct6oMaQEmV3tod8K+W/ljXuygkuZ6
	uZ5A2VCq8QswVeMl+CuDA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1660831502; x=1660917902; bh=UMXYJt87f0N4AhiKwMZrQQI1f+dK
	74xJXMr5zJBBHpA=; b=pTgbXyZgfX1Ml4fuoT4GVdDhbbECS/F5Zg1/sg8vUmcL
	lm98pX0WrnlEt/JnIo4PvyriHMD8qisOxT5CtL15jsvnhSKO3wRArdjmvwqXQP5D
	wKoJHtKN/RB+AMH0oGYC+dlojgcptVdrJlkfLFZSBoPgL7Gi5OpEtGL5OY0ZjVnx
	7ow6a+kRxrvTx5qaxtpNWJxcFeLaHrnMoVeA5d3uRVTBcJfQg25Ruy76WiJ1Ab+d
	4xryRZHVoYplq3S0lsxtkMJyrU4p3QyYVBnLXXApcUERbwLEBQvLsQIJJaehaEMl
	BRYvCX8JXOfTyxdGQ04qqNwh+69KE7wLkaiaOuW68Q==
X-ME-Sender: <xms:DUf-YnW3y2b8JB-SP5mCzHWrVnFuIVLsyKNXIh_w4J77Xzdan_3PFw>
    <xme:DUf-YvlWYqnRxH9adUPJBYGCF8XYDx9stW-k6E68AdCziO6soK81HjFQZXB4d0J6w
    NTNxAzYqnVifLE>
X-ME-Received: <xmr:DUf-YjYW74vyLBr2fqBVE1_jELIHqv13DaK1Jm0F2fklYARpV84ThdxY6pcP>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdehledggeejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:DUf-YiVlbPUvxGOrjl-Sz8Va_EqaCzQNk2SFwRlfGnbquuEhSoEUIQ>
    <xmx:DUf-YhkTZnLnu94d2QWW_Nsu-P7Ca0N-zH0HGbXMe0NJ2_Ztuj69AA>
    <xmx:DUf-YvczkTQjpRdvYQrBRIb9DRGAsNlpIQ4v6vLAb_3NCupPq4cAdQ>
    <xmx:Dkf-YmwKbSv1RCjPZNkFUPfnKqnlZPUYPaqM4W6pQgkFGwnYAZtxNA>
Feedback-ID: iac594737:Fastmail
Date: Thu, 18 Aug 2022 10:04:43 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Use direct I/O for loop devices
Message-ID: <Yv5HC/MA2LUHNYKO@itl-email>
References: <20220817204634.1886-1-demi@invisiblethingslab.com>
 <499daffa-b1c6-3868-c164-65335963922c@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="QDvFRp4ZAwz0ZCDM"
Content-Disposition: inline
In-Reply-To: <499daffa-b1c6-3868-c164-65335963922c@suse.com>


--QDvFRp4ZAwz0ZCDM
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 18 Aug 2022 10:04:43 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Use direct I/O for loop devices

On Thu, Aug 18, 2022 at 09:02:11AM +0200, Jan Beulich wrote:
> On 17.08.2022 22:46, Demi Marie Obenour wrote:
> > This is a huge performance improvement for two reasons:
> >=20
> > 1. It uses the filesystem=E2=80=99s asynchronous I/O support, rather th=
an using
> >    synchronous I/O.
> > 2. It bypasses the page cache, removing a redundant layer of caching and
> >    associated overhead.
> > ---
> >  tools/hotplug/Linux/block | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >=20
> > diff --git a/tools/hotplug/Linux/block b/tools/hotplug/Linux/block
> > index 2691b56951c9b82094471a141b9e0bed04abb929..75785f3a5422c4a5f962a4c=
d4f6acae5080d036d 100644
> > --- a/tools/hotplug/Linux/block
> > +++ b/tools/hotplug/Linux/block
> > @@ -330,7 +330,7 @@ mount it read-write in a guest domain."
> >          else
> >            roflag=3D''
> >          fi
> > -        do_or_die losetup $roflag "$loopdev" "$file"
> > +        do_or_die losetup --direct-io=3Don $roflag "$loopdev" "$file"
>=20
> I guess you want to first check (maybe in tools/configure) that losetup
> actually supports that option. The old-ish one I'm looking at doesn't,
> according to its --help output at least.

What version are you referring to?

In Qubes OS the current plan is to use a block =E2=80=9Cscript=E2=80=9D wri=
tten in C, to
improve performance and (when combined with kernel patches) eliminate
race conditions.  This code could be made a wrapper for the C version.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--QDvFRp4ZAwz0ZCDM
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmL+RwsACgkQsoi1X/+c
IsGhOg//VlXR8hu9p/35wcZaeqaspVbvHHa/swMCHjtzd28UGimqtKO+QrWFp235
bCMXfhNBjcVjr2zaroOwdBlMRawmbHtJyU57kPwyB/4kS0I4r+0bDCLgeZckKpYp
h+AqxfWZmtISzTGXoQOpwmzKCGwvIkuZiYNw0sRxazFLOIGYEbZwT2AJJZo5Mxk/
wHr353jrtOvCkNAFeQ9PljJFiPebapg68vu66THUhISD3gvudxqO7Hs/qQkshJFR
/JGSw4ChUcpG6bCvfHAgaBx6l5iPI+O7l3R+8qyYnSupH1+uUM8ZwV4FMAZNkQ+y
5xq2q920yy3BM8gsJuTBdgl/a+JZF308z+QPA/Xfx27clcNNP69EZN34y2/Ju8+P
nre2j83DhqQ4nmpwvmhkFrzm09oevT3vhenFVlylBYpbfWkNxnlQYnl8+cfkLb2a
CjM36v7opFrk5wdcLGg3nLX68k61qkevCafRjh7APxfsZfzFFAQT5xuRtFjhCi1C
CjFz6Z8WWEAbytbVJp7edFgmbERsdqvZJrd3trFs4DHCnhn3XzvyUBuTCMwMtnhf
MbhRaipFqrUrtfEuXk3R6wOTLSMbg4tfiaop76+CVyOb3qVdBYvK4v1RU5/qAj3a
KsIaewqSTKX+3o9z9Z+Qq94xohG/0HQfz7S7tiR+rLn6SH1YUzc=
=iPQZ
-----END PGP SIGNATURE-----

--QDvFRp4ZAwz0ZCDM--


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:05:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:05:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389569.626578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOg9X-000199-4y; Thu, 18 Aug 2022 14:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389569.626578; Thu, 18 Aug 2022 14:05:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOg9X-000192-1D; Thu, 18 Aug 2022 14:05:43 +0000
Received: by outflank-mailman (input) for mailman id 389569;
 Thu, 18 Aug 2022 14:05:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOg9W-000100-EC
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:05:42 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00077.outbound.protection.outlook.com [40.107.0.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d80d2d95-1efe-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 16:05:41 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5604.eurprd04.prod.outlook.com (2603:10a6:208:134::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 14:05:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 14:05:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d80d2d95-1efe-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ja7fNlj6APz6aoc3bsYXpBkJccaGpTRFgpUx7arLTOFFHrTSi2pnmy2/9Fvmzaak7qA1wai7gE5/69SxsfzCVrI0rxKm3PBAo+SRIIK97Mx6wJxM5tghgh4v9VSPtPSy2LXbDxA/EmAMeLDYxari4TDDC7a3/4HUvkbo1j0io2Y9ZJ+/NGIxvok3KoknGWtNJ74gGfaDZoYao5kKtYJOuDZU05x/k4tTurW/jZfzi5V4rYu9cnctO+j617kvpEunnIIvRXxO3CbGp59hwX4IW44Il7dOtyYqwyc20wxfkXXp7ScBMFzxMeXYpn28/apUF989YCXd4aqvnDmI8dNhsQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ikzkcZ37zHqRA4Dqg0pshN1gxxIDaS6qACe6NnbT6Qk=;
 b=AIN7gmgZOpPgJUq94pOgGKuqkUmbKz0clooKrCLSNQuRhxZLKTTJv8IQENxuC6vSIDfrnzbCMIwBInLmSJi4gux1XeQe9I5kD8FObyW8f70OkJD9+P85Ye2/QHGRINKELk2jJpxySTZqBiz19U7Q/rOQnicLPWaYqLdR+wE/cUC+63Mik530t7sUga/kzKPQQE6BDfyUZE+ILMVPN+XYBBTSM2XuLQbiaqI482Vdl8fO6zeJM2bUiqeCbvlb+FuRxc4Dq9XHFnZD8seAL1U0Ua/8E7uOBtulBtiz9/JoMwsO98CDRHN6MLb1J6ur+9vU2DSJfk8TUUIrGltxGc422g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ikzkcZ37zHqRA4Dqg0pshN1gxxIDaS6qACe6NnbT6Qk=;
 b=0t3wKKetX/kuq9fcERq5F8KTAVPsHbn1SWFX1442HVQCaSGTbKa3cFFRcY9bgdh7PVSXpC8horB0Rg5KRsAcTMy2LrHDp9Bi9SmTyAunEp4CUn9k6EGgyZ5wCpWSTEAi9EmPWLcIPsBojgdYDgN/ywrAl/P9ZkGv4WzT0pMIJt+Mh+Cg0qlEIorwZL86K+4CL0cscP07/8BK4HsDvv9IJNClGVDBDfXNQTH0eYlp/NAHbMRqLLGEkoNkIr0QS/X1sRajfKgxIWwPnOWqwyMRTYybZNPAqbVhM+jOmf1dodJEJnbO/JlhVVRmjvWSuM3Vv4sYfScj+5m65R9j9URRXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c87ae25d-5aa8-bb70-7d2b-ea6485a01f59@suse.com>
Date: Thu, 18 Aug 2022 16:05:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH 1/3] xenbaked: properly use time_t in dump_stats()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
In-Reply-To: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0160.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8aedc4d8-1299-4787-a838-08da8122bb11
X-MS-TrafficTypeDiagnostic: AM0PR04MB5604:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mzAYTQScDSjo5k/IOVn3WJgRyAe0W8q7jw6b7ouD3ALBcegZRiwNOraNghH6lPUwNJLVvGESVQHnDD5E18ky9f+/+ECaiCdrkDNIozlS+jl7XWNKOH6kmqTJvfN3qTPPIdnkYbvwVOl/754O8px876KNLkT6vrth6HeqwVqfk5dCvmIVbTwVtESimTKz8SIHkqIszJY84tTjXc+99gyBC0Fz//wKqzx4E0QJ/xvdxkNXb9+kSoXBh9AlMni5BE7BvG5v2+SbOtcsYRJDFHh6p9ECWnHBsa9y9eobtkLYfHqdyhsrMIys9/7ByuXlpSccBnDz1acTJNA7JU3AqrwFW/dW/w7JYPQWLAc1dHBXAJ9fGPZrjDDL24oUcTy+5QmfY5PdGp7euFDSjtRpZWirfIPUYruMfoHxnLs8C1RXWDcwjbVF5tlyZ4FHD0D7bJOn7vSteCbTPA3nA9/fKO0HOiSqVimnL4r3sIoAJWR5uIpvvMoRwgZRPZfdRMj/I7+hQSFV0CMH2AxskBVvn1qVOKR60clPfendF1I0X9AyZ9fx/yZsMEYkeOXqYD2tiP/Q+LvoLJv3JyrlDVQCMnm/B1WrQihiwY6uCbLUYYD3wGpPJFbWtTpV32EuRdRKN8kHudb3C1uFk4101ogFo61nwBtiGf6jT4aAEY/hJGyJkfLoQa1fXM+gQnRkt+3Tut/xDV31T+VBgFWd2ScU9btzGW8+SWz4BlCjdQgM750BomifYjjn5qD1CsgsLOvKUYMD1oqTwQcdwFQRggpho6Jb+rbYCpsy2vgHItXoxZlFYK16mmlUbS6RG6zDfFTKFMjuFj5TGaxmZ5ffrEPYBCIUWg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(346002)(39860400002)(396003)(376002)(6512007)(186003)(6506007)(2616005)(26005)(31686004)(84970400001)(2906002)(5660300002)(8936002)(36756003)(38100700002)(478600001)(66556008)(316002)(4326008)(8676002)(41300700001)(31696002)(86362001)(6916009)(54906003)(66946007)(6486002)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U3FJeTExNS9vbHJVQnRobzQyUjRoME03QWFaYWFiMVhMUXlXNXczcXNOenlG?=
 =?utf-8?B?b3dVSm91U0Fvc25nNlhjUGxrbWdXWkppbHg2VGlBRitLRUNYbzIzeDl4YUhi?=
 =?utf-8?B?eFcvTzZyYnpGZTh5TGtlWHd4LzkwOE5BVzcwRUVHblc5bjB2ZGN3SjBRU0hO?=
 =?utf-8?B?WmYwM1hsU21iekkvNy81akVUcnFiMlhyaXZNUmZzSzl5Umg0UmxZTllScGdi?=
 =?utf-8?B?WkdvM1VHRGhlRmxKZFlBNDdub2puVHFUMVZZQjVXN2RNZHRlUTM1eGd2WXU0?=
 =?utf-8?B?TUJhTTVOTTBZUEEyREE3aFpTQklrUnhCdTdDa1ViMDIvWEZ1MGNwRHYxZXA1?=
 =?utf-8?B?b1dsRUJJU01EUFFCdklnLzVZZGNYeTQyZzZqQ1prU2Y0NnJNWHIrYUI3YTRS?=
 =?utf-8?B?eFBJUDNraS9uSEJpM3JvT2R1NzRBNmJ0K1V4dmVKVWpzZ0lKRzlVYmtIb1FL?=
 =?utf-8?B?MkErZldFYXV6NGJjUWI3WVFHelpscDdZUndFZ2RwVmwwOHQ4dW50NmFrcHZZ?=
 =?utf-8?B?bUttbWVmNWlLdGlsbGh4M1V5Vm11eFR4SDlKWXhaWER3eXQvTlhGQ0dOUFdQ?=
 =?utf-8?B?RUFIMS9IL2g0WDdxU0Z2Ym9mNEFxZExZUUJzNEwxOCtMVmxYR3Z6UWFDL2NU?=
 =?utf-8?B?T2FsbjljNjZwa1ErSDhrSWJVZkFBN3hzYnRSUW4vYTloWU84a2RPTU0wcWxH?=
 =?utf-8?B?NjhDVTAzV1dDdXpJUzYwS3FVcmRBUjNsWG9rWE0wek9kTXlSbmM5Wk5HbjZh?=
 =?utf-8?B?ZWt3YnpGQTFUSjZ3TlZGaXFObXZFdjRxQktkNEJvaHZhVzI1dzNUTWtWU0JI?=
 =?utf-8?B?UXFYSHRaeUxTeDFyVmNmRDZPdWpLZ0ppdHNKQ2tqYTlvWTBlcmNSUEtIQ3Fm?=
 =?utf-8?B?QXQ2VkRRSGM0NVA2UnZSUWRqQldIdktBckVuakJrZ2RaMDVIdFFxajBJb29n?=
 =?utf-8?B?dlhuSjdnWURpTEUxQ3B3SXZyMlp3K0tERHVYajhBb0FMblpnVURQSDhwYlZN?=
 =?utf-8?B?NVBlMG5FZGp1ZG9pTnZjbS9Ockc4R09kR3NRMmJDd21oTmIyRm5xRndLNTR4?=
 =?utf-8?B?SXpEWWd5RU5XUm1BSGtSM3ZwYmdBWmp2OWhOcVd0SGFpZmM2UnZYRmFsb2sz?=
 =?utf-8?B?WUVOcTFpZ1I0VEpQcUZBS0tnREEwaVgwa2VyenZwSGRnTWtEM3dZZko1VmlP?=
 =?utf-8?B?UndGSkphdmUyT0lwWURoeVRRWUZaeFVLTTF5bG1mcm8xeVNsT0J6ZnA1VDhF?=
 =?utf-8?B?TVEyOHhPN0tFZUprZW1mSmk5bUVGNnc3MmhoaWpIbkVQWVZmZVFUODFKTXpt?=
 =?utf-8?B?K2Mxa2lWc3plRTRFWUMzVGFnemVCdDJnY0VIRGFkSWlTRThDc3dlMEJqUzBz?=
 =?utf-8?B?Zzh5L1pTYWl4OHZLTmZ6UWpaWSswWUtQSk1RS0RlT2p3OEFHYmJ3dkdRcW9J?=
 =?utf-8?B?T2toUmVrSXE1bk4wWWswT0tkbHNMSFB1TENKVFo1NlVBRnhGMGd4VXVCUDZw?=
 =?utf-8?B?M2xXNUZ2NlFDbUhDbThqOGtPSWJhQ1E3VW5nWWdBSlhvOFlwZjlSWnIrV1B4?=
 =?utf-8?B?dGEyQXRBUUdaQk5HdWhPYXExSFNVaWRRb1lOTGsycUQwYVBDSnllemRDZjA0?=
 =?utf-8?B?a2xEQUhsalEvdTdUdEtKUi9HaHdVK2pJVFZjb2NUeU1zYzZNaXRLdnRDMFlO?=
 =?utf-8?B?NHNUczFxRWZ4L1lwVlJDTFByRzR2a0dmZFlPTStTdFplR0Jvd3ZKQ2doNU5Q?=
 =?utf-8?B?YUxsN0RwMFE2eUx5MGp5Sk5qcnlKQ0Zzd2FjeVFPSmhQUE10QjkyQUtpWjlM?=
 =?utf-8?B?cFVveERZRTVXSEJFTUhYck1tR0ltVTVmMkNHUGJnNnFDdnVKWjYrTXErMjhV?=
 =?utf-8?B?NVo3MWt3bi9MVC9uQnFpakZOZVpyeXNqV3BBdkp3ZWN3NDZsd0FDV05jSVdt?=
 =?utf-8?B?NkQ4ZHdmbjF4T09GdmR4L3JOcXBSSlpOVkxMWWJFV25ES0EvZHFDR00zVzRX?=
 =?utf-8?B?ejhGZUxXYzJrY2hUWGx4QjNFdnZZYy9XMTYzNk00WTlENnh4cWxuQnQ1dWN6?=
 =?utf-8?B?bVRSemc2RkpMbzBiM1F3QTVNN1FjSlBGMnJBdXNmZ2pkeFQrb0pIOWRpSnpO?=
 =?utf-8?Q?vGztwLKcGgzwo1j8E0ADR+K51?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8aedc4d8-1299-4787-a838-08da8122bb11
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:05:39.4651
 (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: JDS0cu7CoVchXfr5Fa7Ecmk3DQAos0qguWUb14ZhUuxGqF2RBcyDt7PwFYuQFlcCg02TikIRY+7o8ELAXChjPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5604

"int" is not a suitable type to convert time()'s return value to. Avoid
casts and other extra fiddling by using difftime(), on the assumption
that the overhead of using "double" doesn't matter here.

Coverity ID: 1509374
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- unstable.orig/tools/xenmon/xenbaked.c	2022-01-06 16:12:39.000000000 +0100
+++ unstable/tools/xenmon/xenbaked.c	2022-08-18 15:36:39.918706853 +0200
@@ -230,11 +230,7 @@ static void check_gotten_sum(void)
 static void dump_stats(void) 
 {
     stat_map_t *smt = stat_map;
-    time_t end_time, run_time;
-
-    time(&end_time);
-
-    run_time = end_time - start_time;
+    double run_time = difftime(time(NULL), start_time);
 
     printf("Event counts:\n");
     while (smt->text != NULL) {
@@ -242,13 +238,11 @@ static void dump_stats(void)
         smt++;
     }
 
-    printf("processed %d total records in %d seconds (%ld per second)\n",
-           rec_count, (int)run_time,
-           run_time ? (long)(rec_count/run_time) : 0L);
+    printf("processed %d total records in %0f seconds (%0f per second)\n",
+           rec_count, run_time, run_time ? rec_count / run_time : 0);
 
-    printf("woke up %d times in %d seconds (%ld per second)\n",
-           wakeups, (int) run_time,
-           run_time ? (long)(wakeups/run_time) : 0L);
+    printf("woke up %d times in %0f seconds (%0f per second)\n",
+           wakeups, run_time, run_time ? wakeups / run_time : 0);
 
     check_gotten_sum();
 }



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:06:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:06:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389576.626588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgAE-0001lv-DK; Thu, 18 Aug 2022 14:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389576.626588; Thu, 18 Aug 2022 14:06:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgAE-0001ln-Ai; Thu, 18 Aug 2022 14:06:26 +0000
Received: by outflank-mailman (input) for mailman id 389576;
 Thu, 18 Aug 2022 14:06:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOgAD-0001lc-Fk
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:06:25 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60074.outbound.protection.outlook.com [40.107.6.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eff4ba3a-1efe-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 16:06:21 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5604.eurprd04.prod.outlook.com (2603:10a6:208:134::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 14:06:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 14:06:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eff4ba3a-1efe-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H2p1AK7EF62m8OJjrKodptIBCsWiU411uRWnpl/PTpbOJbc1OosTgr4aDUH5s/a/Lf7095k2wusu9Z3ww1OK4PzKrMn2mWmJBQItyGPV3shhQVKmwAZOMaRS9SKwmB5xN8tTfYMVxIJtRoj1trE35qaS6OgbBoDZdzIrtzx2hbezVRzgSPdjhNvfMVGnjhjo09tdeBAHFRY7S5rFaaBGsGayHrna3D3K55Sw/aOCF3nR7d6akCZDedktp94pKWtZYZdKIi36HT/S1Mysp2Kw+Q2Csq4MSh5s6WHb9ebbT2Rbhu3RqHvkDULJPmyXwL5tPlStbETAnyUNyCJzQ6z5Sg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EnR5qRwNw6zZzjgoQj3V3iV07Z5cVrIBB47eHQXTWkU=;
 b=VTtEtFfHQBc5dqoXlhMemFEzz0Iy88kt6qAZoAPiO+BGMvABRKUG8YAfOVjknYlQUT+qZwxv1bTfcBHpWUscyjYc9thBIlkZ/WzX8ArjdCo7s2iWb0PaUXNguFX53WMTGBMfbAHyj1VcZ5iYVrG/ruvaYpcqXOzjtjT1CQw2UTfc+6qENYfj7pAfQaR+I+/9YPbBXYkj4xZXeLjmj3STNKY31TdBnj0KQoZgnyvFOmhnnVQ7K6c5aNlA/ByvFBdp7iKWots4y9r7VQugzdx61t6q1LDg49OgNilQrIcyQ/c1GKmdtS9+EFMT4QgG7kZ+5ZpcO6CfFhiSdq6bTYuthw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EnR5qRwNw6zZzjgoQj3V3iV07Z5cVrIBB47eHQXTWkU=;
 b=v2rzIDZr4RkND+gkZC+p2G241WSDDWQBQWZgO0V9W2Ox7tdg6Wt/S2BBMJiU7gjqWRn7tuaNuDzvsfnOaKjP3bdxJLur8PLVjO7w4SOlc4L2kC2ZhMSeE/0qQL3Bs5zHaNd7c0TqYfLqAEY0lMGkK+ytQ+a4Qlr4VMi6qUDdnez9HECfhXwXwj1k3DMAo9f3Y3c24x5B0sWanfG1Lt749D/zCSQhXRyCLDkLhZF30xWritiI1y9lmL9OSyBPAT3aKlUURgAKtp3f5sr/zTMY32g9D7KjQbftUY+CnQZRrwtbFrSoVogc7U0QVdf3jHk5kHrk2UPMgeYRYHfXuGQc6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <990f432f-1f40-04e4-dfb9-97c8db679f36@suse.com>
Date: Thu, 18 Aug 2022 16:06:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH 2/3] console/client: properly use time_t in get_pty_fd()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
In-Reply-To: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0164.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a469f71f-93d2-46d8-39b9-08da8122d485
X-MS-TrafficTypeDiagnostic: AM0PR04MB5604:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m9QSYUQqqNRmtH2JT/1cHGM45G7Vc3qyzEZdiHkJLBSJbah9HRrwllFAY9iOXpPFCAUsfNBU05LMWWabzsXteTnL0r5o2ikYrjhnjFGDoh8WZqzRYXG5/K6/UlKc+DKkxOUDf6NgUV7c28y4xlmOSLmomeZsVjRfZMLl6rzL4O/0yuX3Q6Lc3LORssIrTaatzFSHbDYnk2cJS8GernNviRJBvYSAW8IQwF2mSsi1nJm8UV+E3/ps41qiRXaNwokKBrg9ZVzn4uwswyAxpcsCV5dTCVfjRpkbtudUF3zApV8gUCMFBM3WZ0sYvCqLKpU988GimiSHQOTOPUcU+OZmK5ck4kRF9JGeITPaSUgnHxv4NNL5MUgQo2cT2G1Xxnzd6fB2LJp4UldUTz5eWrICRJ6YVWUh8rQWH2UyQJ0K/pnLBRF8AqN9qNL4NoWVyYwkO/PNcMe9+Jd3HWBmOx3+npekAEYK4852nFcPvlGKHIPkYhHs16TQsKTmGp6N8CQWtlVW5Gxh3CIML69OrURdMEYdR7mdDpP4qU85x7XcRwD+YpB8Z6g79oZV7VNNLWPk9fE+Il44Njq6LAYiuPB45W7crNz58hx04FRGw4deT6Raht4ATtK843a33czBg9lAj6rSlA3xltbMqeL2eDWHbOVOua90Eh7HyqZqTbUngL1AKjFUoE5YPjgp4gZ4Z6wPXNmxN435wZiWYFceo12preE5A65LqeJ555bn6UwO2LGDWWWAwq0xvRcJYE6tbYpFW2TMdofIsEWnhs6PBDFXixCVdawRLZpvnWXNmMC8r84=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(346002)(39860400002)(396003)(376002)(6512007)(4744005)(186003)(6506007)(2616005)(26005)(31686004)(2906002)(5660300002)(8936002)(36756003)(38100700002)(478600001)(66556008)(316002)(4326008)(8676002)(41300700001)(31696002)(86362001)(6916009)(54906003)(66946007)(6486002)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U0hvYkRtR1Rtdm94Q3dIMHlmQUk2WGJmTzdvZjRYSWVibTVJWWROUXZRbGl5?=
 =?utf-8?B?aFVaNW9HSHNLb0JKTHpHbU0xK0lvTU92eFV4NEdmcjVQSjdka1BlTk9wbFJp?=
 =?utf-8?B?WGRGYTI0dzIxTlhGcnRRYUhydnJiaXE5dmpHOUZpSTQ5WkhxZGhVSjY2di9h?=
 =?utf-8?B?cEhDY1c2N2NFOFBiRnFGUG9DS3lTL3lGNXR0VWg2YkRCYmpWVVBzbklDb0hF?=
 =?utf-8?B?R3ZCWVkvb04yTDNtbUhXZ25WY1dKdnFmSmxkK1FWZVErTTk3YW1wM2NzUjFC?=
 =?utf-8?B?YS81aVg2SGVyVkdHN01YbkZkUDA5YXVwVlA0eU95eUY4T3M5OXFXU3M5MDZF?=
 =?utf-8?B?ZzRjOUdtUFhKT1lGb09OdC8xY25wSExoYjBoOHJpTU5HZHdNU3FqTVJkclVa?=
 =?utf-8?B?MUtOV3VucjhlT1NtcS8vd2Y2V1NhbGdQalFmQmN3MHpxZ2RoV0s0OGh0ZWUy?=
 =?utf-8?B?eFRIL0RtQ1NmekRwZW55NklZeW15VmdXWnpaSWxCRjRsV1R3dWdOSzZOOXdO?=
 =?utf-8?B?Mk5VQ1JwdHh3MURjRFNUY2U1VFdodVZvcVhXTzMwZS9YeVR0QUN6emhpSC9j?=
 =?utf-8?B?UHB1RHJtODdZVnY1YXJwZ2w4bnRNSFlyQmJCTXVJL3J2eUdYKzNjU0VGT3Rz?=
 =?utf-8?B?T0VuSmgraXFqRzZxUHhVbDJKRXg1RE1TYVZXMnl0bFNkbTd1UzBra3VRRTRC?=
 =?utf-8?B?U1RDalU4emsxSVZ2eUVwVXFndk1Hd2N6S1EvNU5pSDFyUnorTTBFOFNlMDlh?=
 =?utf-8?B?ZXNzWUtFenZFaUd1WDA2eXZScTF5NkpkcWp6NElObTZ5UVpReVhCNjhqUEhz?=
 =?utf-8?B?ajhYWUJMb29ORXlkVWFaMTNlZVZMRHNHY3FTWFBTYUhmUU16aEtqbUk5YlUw?=
 =?utf-8?B?eFI2Rzg2Vi9Ba1E5OXlQd2V4b3p0WVVoeDhqMXRtTC9qWCtOcHZuOVhRakNV?=
 =?utf-8?B?QnFuK29QZVJWcVJYQWMwT1BUb0R2NVZZNE1HMUdPZGNUTDF0UzVIZW9kb0Zr?=
 =?utf-8?B?ZlF2Q0ZiQm5KWlhOcGxCWGxZRlFnN3RvN0JsdHFTbitzbzYvemlNZWx5ZkxD?=
 =?utf-8?B?WW9QSmU1RHNXaFJURmw5QTg1azIrZGR3bGliam0reC9WdTNLa3FMS0s4UTFE?=
 =?utf-8?B?M0g1VXEvVVllNWExVFljODhCU0s4bG5sVlFOTG9XLytpSTQxMGtXejdJMXh1?=
 =?utf-8?B?b1hEU1RPN2tIaUZXN1c4dWd1WHlKWDBGYU5nMXNTV21adXg1eDg1V1ROc1hQ?=
 =?utf-8?B?T0RjVGJxTDBTbjRRTVVYNDdlQTIrOFBWb1dHcHAza2JtR0hsMStkNFpJN3ZD?=
 =?utf-8?B?Kzl5ZWtheG1ObE53TXdWR3RFZklFWi8wODJSdStyRHViM0s4dXFqNE4zSG9z?=
 =?utf-8?B?Nm9Gc0x1d3RvUktzcDhhSXhWcENrMGhNbXZLWHpmV0VCMjJWeDBWV0VyaFdq?=
 =?utf-8?B?SVgycHU3cGxiemZDQW8yc1krd1pwMEZBU3Q5ZlJaTC9FdGUwdUpDRWVPb0N0?=
 =?utf-8?B?NDRPMEowVE1xdDYzK1VHaFkrMFRsOWE5eVA3SENUbHNCTE9WWmFKMElUUXVy?=
 =?utf-8?B?Qkl5blViMkN2ZkRSc1B2Q0tlWEhDU0IycmlRQXAzSGRrRWpmT054YUtRYWdv?=
 =?utf-8?B?ajlrWWJ0YzNTeWFaQVdWeHJGaGprejFJWUh2M0ZWWTJpakFjbmp2dHZjbFlO?=
 =?utf-8?B?RXVZWlRTemhIWDJ0V0JmMW9reTNtMDNHQzJ6bkNpRHgxZloreC92NnlTbnFI?=
 =?utf-8?B?aCt4OVZ3cVpJelMxT2xWZXQvYTN0WFBQY244UXNCakhmKzc0VnhQQkExd0M0?=
 =?utf-8?B?M0RDRFd1SkNKOVltTmhSQWFLVTI1MTdUUFpxQ1hRTmp2R2RQMWN6THordVdP?=
 =?utf-8?B?K2hJanZhUzMrZDNsbkduS2d2S2JxdzB3N0pTUmgwUWllSU5Cc0RmVFYycll4?=
 =?utf-8?B?LzRobHBzcG14L0piVFRaejF0QkhaWHgyNlJTZGtaZDlPR2pqMmVoRmFjUVdt?=
 =?utf-8?B?b1JWMmwrWFVBb2JBWXFKT2RtcWVhQTV6NitrNWFHNlJiZkN3bjZNajBZUFBS?=
 =?utf-8?B?cHUwR05nRUZYZmFXenl6U1FsNTRRWjRCNk5nUmQxUVlzclFwUHhDTzVYQmw1?=
 =?utf-8?Q?/+kPZUlafCm8IH0LmZmwBrA2b?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a469f71f-93d2-46d8-39b9-08da8122d485
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:06:22.2124
 (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: 9lu3Djgy/iOsxgcPAfaCQ0Ohm9QBFJlEbeGmCz05x24uexNV5VJhkni7eAtcIKLAPCMXZ2Yj0uv57YILaI1OwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5604

"int" is not a suitable type to hold time()'s return value.

Coverity ID: 1509376
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I was on the edge of switching to using difftime() at this occasion as
well. This would then also allow switching "seconds" to unsigned int (or
any other suitable unsigned type).

--- a/tools/console/client/main.c
+++ b/tools/console/client/main.c
@@ -102,7 +102,7 @@ static int get_pty_fd(struct xs_handle *
 	struct timeval tv;
 	fd_set watch_fdset;
 	int xs_fd = xs_fileno(xs), pty_fd = -1;
-	int start, now;
+	time_t start, now;
 	unsigned int len = 0;
 	char *pty_path, **watch_paths;
 



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:06:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:06:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389579.626600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgAa-0002JE-PM; Thu, 18 Aug 2022 14:06:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389579.626600; Thu, 18 Aug 2022 14:06:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgAa-0002J6-ME; Thu, 18 Aug 2022 14:06:48 +0000
Received: by outflank-mailman (input) for mailman id 389579;
 Thu, 18 Aug 2022 14:06:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rLbC=YW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oOgAY-0001lc-UN
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:06:47 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80085.outbound.protection.outlook.com [40.107.8.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd964361-1efe-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 16:06:44 +0200 (CEST)
Received: from FR3P281CA0170.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a0::18)
 by VE1PR08MB5182.eurprd08.prod.outlook.com (2603:10a6:803:10c::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 18 Aug
 2022 14:06:43 +0000
Received: from VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a0:cafe::5) by FR3P281CA0170.outlook.office365.com
 (2603:10a6:d10:a0::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.4 via Frontend
 Transport; Thu, 18 Aug 2022 14:06:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT060.mail.protection.outlook.com (10.152.19.187) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 14:06:42 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Thu, 18 Aug 2022 14:06:42 +0000
Received: from a9221047c674.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 30C66009-AAD0-48C6-8A1B-4B1DA35C8A65.1; 
 Thu, 18 Aug 2022 14:06:35 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a9221047c674.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 18 Aug 2022 14:06:35 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB5121.eurprd08.prod.outlook.com (2603:10a6:208:159::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Thu, 18 Aug
 2022 14:06:34 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.028; Thu, 18 Aug 2022
 14:06:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd964361-1efe-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Q7ahKy0HgSuOxpk6uKABqsmLmqpA5f3saAM3jgbZ7Dfp2VQT6kZyActpr31eipVdbEKM3ieJpuGXgEUFlGLK606HwDbgDpWgI6Nl2RN7/kpQSjNvGuYhUWiB9r0uEaqNVQUs1BMZFKZQfcvFmnGQDgdbmBOvWt8B4oMRAdWae6nKXsYr54b0gpoJ8s7wsMgln26NSpsIS8sLCrxwY2GyQzAFbTctBeM1Xyji6EFo2s6bQEgUgbEEB3VLx+qjNQ05gM3Tc9J7hJAMqaw++c9t1ya55Rt3HEEbXGIiSrYWyajSvfE2dYhtnIraRblFBSDrL5ErUOk6UKj9C1XklrPS3w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kfEsx0CoCSYejg7wT6eqq9IcVm8OT4Q7U0D/wEJVpl0=;
 b=ixSM8MpAE+QJxUcx5IcX5mqWTRc2eNL3bT3cmnqBoLI6eQB0bl+7GIFImRw0jfduhMlucoFQA/+AJpgvHcqu27/8xqx8aV/bboEy/eB3SWcrm8Iuhwj9TLIugyLMmk+igbsZfwMW8r4yrpN9tFHxnZibm5XAPHoihyPUI2zQJrHvlX2DgYbzVd01WOL6HmpCU11ScCuT7EyCXol/JNHyHcc/0urO3iEE43XlZt3c3n9PuB63afgUCvS6oFZqJR1bFNC4FCZeB4u/6r/+gyFXdjK+Cw5TzkncaqM4DqGsIWJrnjFra7AUYu26MkFHDqgLRadNpnjsGsQQZ+CjO+jZJg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kfEsx0CoCSYejg7wT6eqq9IcVm8OT4Q7U0D/wEJVpl0=;
 b=Ch0Qa5eAZBmNMQcmvJdzRwGg364DSo9ii02Cxxxd8e1I73lYFsNpphuG4yr3z8jVmy6UChR92i4xAeisyifBDPpk3QFApyYhLae3W6ns6jMbsPJ+fi0DpvqD2xG1p74Vzp8ZXbJLTph97vYfBjWZpbRAZBUrZa95FNJTMEPmSMs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 04503e4742321d80
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MvZgv0S+MuBbkV8/DDGxFZ7pweXRJtsDhi580sZp7oZevZ1btKzl6wtts1AY5dju04ztZRk9qClLPU1DG/nXWVfdxucDTfGL2C9IACw1Ga+v2SmscF71ePPq/63uwgrqwBVFXyYvNp8zMcRGzwV0FyWuuVDnTQydiGsKWaYexjh3PK16yHH22PTYyD9D15lkqmcpMgGk+stVQTkwVLBBOWYvcd8J7DuIWlRp3/nXf0cDcKpeyCQ4qabciCc9Ou31otVir8UPJYec8v/irM1t08nxKeQerEOga4GYafC1a1NnjuPmffXbiKGtPMVwCKbsmI8X8ZDgsn3g9nHPUCj5dg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kfEsx0CoCSYejg7wT6eqq9IcVm8OT4Q7U0D/wEJVpl0=;
 b=BQaVa2KDh+r/qqvwD3Uy6P/7c+oymrUFSVY+8XosgKFPJUkblNkZ/pk1HQLVQIcPc/hePUdpQT78ath7C/XU81c6kxazmIoVbVpPkWbSNhd94fxzf+xos6uLntDV9zi9/rRHBCzZb5dAsEe/HaWEHsiOA7jIo6v1efJ8XFZiI0W5rGp4YHeY76+vUdXYYyOriCBfB3vnhDXFrd2hWfZhxOoNSUAnlndjKSJ4ks4sAfCDdk5heveZdPTkX7CSmVdeiXzQSFixAcLINVHlhKCBJJyaOG/ra5d5zj9odNMKUVFGnLTfdmZeNn/H/0fNwCIBBFwE50fWerbyOFK/ZQijFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kfEsx0CoCSYejg7wT6eqq9IcVm8OT4Q7U0D/wEJVpl0=;
 b=Ch0Qa5eAZBmNMQcmvJdzRwGg364DSo9ii02Cxxxd8e1I73lYFsNpphuG4yr3z8jVmy6UChR92i4xAeisyifBDPpk3QFApyYhLae3W6ns6jMbsPJ+fi0DpvqD2xG1p74Vzp8ZXbJLTph97vYfBjWZpbRAZBUrZa95FNJTMEPmSMs=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
Thread-Topic: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on
 Arm
Thread-Index: AQHYsaJm36MHcf45GkO6ALJzQ7Il0a20tC0A
Date: Thu, 18 Aug 2022 14:06:34 +0000
Message-ID: <AB48D74C-067E-43E1-9611-344CC8C1AB22@arm.com>
References: <20220816185954.31945-1-julien@xen.org>
In-Reply-To: <20220816185954.31945-1-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2cf1ad8c-9b09-44c5-a4da-08da8122e0ec
x-ms-traffictypediagnostic:
	AM0PR08MB5121:EE_|VE1EUR03FT060:EE_|VE1PR08MB5182:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Sr+rKuFs5lvcmEDlDweBZvm4i5ycBuuRBinqhlAx7StM8gFVcInPUkXf7GU9QakmxGn4/cl0bQxSF+vae1MsbeWkTWK2ckxZ10ILCY54mVY5d6V5D58Ygua+Swci02VwnxVQGnE8kyR8/MxbpBjTwvtGxfusUwFBd+SE2A9i4wubd0JhJnQ6lcQ3Sg/lS+sUO1P5jWvGCz5j5ix7wPc6GBBSqiV49C/+CTHbuhUn5NtJQ3cC7Zh4BPLB+i+X12FV50XSmmFaoU/J2TYbxFDcop+ePJcbxGXkooSizBFPHGD5WkrZacTzBq86OmFKCzmJqxHnxCIBDtC97Jo7B8Vn4oJd0iQCROzHZSLk/zUwqwJNztUinr0stKz9E9f4mMyj2UdcU1+f+SapyMgZrCi4sffQC6uCC1zeIx8ltCMkdWml6lM8s+DH/yp1WgBvUZ5IzRyeyNhmIrG94vpWwhN9LlPkWLUzmLEWyTb1HigsGLYBy5UjIntzIW1vRG9IlHG21j2zRdc3HEVap6NyLREpmI/FzvyFY7592B3WZzQAIHP/xqtS7T322W12alrQsHPaiOlGWR2/ooDDaHLCjBymKVDkc0Hq5WeTeKzwtoeT1CesIxUYQm4Qk9PhMMJtg2uDS2um0WzvuVswwgWRjKgitt5QF86Cjt+Whk6Po4yENncU3ymPgHsDSq/bxKhUniE24bw4agK/VK1HxdVAge8ijDq5PlgcQntOa6XRlKTFD29hEkZW/Lbsz/Ux6GvrIAENxRFZyfjIelyJ3pdtmgkJ3Uf4t9qwmc26jJ6atcNp5/E=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(346002)(376002)(366004)(6506007)(53546011)(186003)(83380400001)(5660300002)(8936002)(2616005)(6512007)(26005)(36756003)(41300700001)(71200400001)(33656002)(6486002)(478600001)(86362001)(38070700005)(8676002)(66446008)(6916009)(54906003)(66476007)(316002)(2906002)(38100700002)(122000001)(76116006)(4326008)(64756008)(91956017)(66946007)(66556008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <841FE7D37AEF5F46873A08A67C07A2C1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5121
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	52d67d23-5e3d-4db6-500a-08da8122dbc1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OfuNs2Vym08l99V4lEUbPrCJ6Jg8l9YSaAlb4CQ3BBG0b1y3QPTSBmnmXtwa01bJmjAZX/ZQ0ie7M/vEWbj63KPa3hue59yqZzWwXeQiOeIS+Ng6k/XiaY4d6tP800+Qqz4a70M+Qo25TCemaG+/SMm6klnijk9rHuupHtgH01SZ1wc5WvcYOokCf1LcshAb6unC1HzsUqGSKkXMp8cqAN8GsiSI6bCPZkJS8qlUp/+rF6og+lSj2bE2+o0f/jcxDMb+3YkHajG3/oBc9SIR90PBF2v+I5TfjQ0jO1Hqp6HaX3WH/2KcC1oP0hvMg/RL24CipJJRo6jG0Hg1semiX5l7R5N07WJZzb10YlFvf5/gwbh9VfzTOQir0kkspwP43yojvoVSDqlcdfDii/Vpm4hrfR9Qr0Hdk712f2q+V+ggtqBHZesR6ZtYkISRWy8KfBr/zl+GyTkr3Ns5wbHi1WTGcn+CQSltiUdEE3TfWJF3E0FWIv+wT62rR7M/qR+M2WC11DpCLotTtSXTQ31zMRJcrbQV5ZQOFT2WY+Z4QGWISsJPJ6/YL/p3+i5eflCKE3hSOavrb/0Il6ANeJyGsUdh1GhAqVmmO10a8byXW6yumrSZfzULHhx0vsyaAj2B/1rKQZLeXEkKPuEJbezNdd6Q7ySTpKUs3v+MtN5G4lmJCb3l9G8kxgDzFL6GSvQ9JFgqX7JSRyk9/jW1CTZWTvFxpBT2zOXYj89rryJbp2b+I+SpP9ccupFng/56eLlqKqefW2it8vkCN/Igbu6siA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(396003)(346002)(39860400002)(46966006)(36840700001)(40470700004)(54906003)(82310400005)(82740400003)(6862004)(81166007)(356005)(40480700001)(36860700001)(5660300002)(2906002)(86362001)(6506007)(53546011)(41300700001)(478600001)(186003)(2616005)(336012)(33656002)(26005)(6486002)(107886003)(36756003)(70586007)(70206006)(8676002)(40460700003)(316002)(6512007)(8936002)(83380400001)(47076005)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:06:42.7729
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2cf1ad8c-9b09-44c5-a4da-08da8122e0ec
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5182

Hi Julien,

> On 16 Aug 2022, at 19:59, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> __ro_after_init was introduced recently to prevent modifying
> some variables after init.
>=20
> At the moment, on Arm, the variables will still be accessible
> because the region permission is not updated.
>=20
> Address that, but moving the sections .data.ro_after_init

Typo here s/but/by/ and remove ,

> out of .data and then mark the region read-only once we finish
> to boot.

I would s/mark/map/

>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

(Commit message can be fixed on commit)

Cheers
Bertrand

>=20
> ---
>=20
> This patch is targeting Xen 4.17. There are quite a few arm
> specific variables that could be switch to use __ro_after_init.
>=20
> This is not addressed by the commit. We could consider to switch
> some of them for Xen 4.17. So the benefits for now is any common
> variables using __ro_after_init.
> ---
> xen/arch/arm/include/asm/setup.h |  2 ++
> xen/arch/arm/setup.c             | 14 ++++++++++++++
> xen/arch/arm/xen.lds.S           |  7 +++++++
> 3 files changed, 23 insertions(+)
>=20
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/=
setup.h
> index 2bb01ecfa88f..5815ccf8c5cc 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -137,6 +137,8 @@ u32 device_tree_get_u32(const void *fdt, int node,
> int map_range_to_domain(const struct dt_device_node *dev,
>                         u64 addr, u64 len, void *data);
>=20
> +extern const char __ro_after_init_start[], __ro_after_init_end[];
> +
> #endif
> /*
>  * Local variables:
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 500307edc08d..5bde321b9d07 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -75,10 +75,24 @@ domid_t __read_mostly max_init_domid;
>=20
> static __used void init_done(void)
> {
> +    int rc;
> +
>     /* Must be done past setting system_state. */
>     unregister_init_virtual_region();
>=20
>     free_init_memory();
> +
> +    /*
> +     * We have finished to boot. Mark the section .data.ro_after_init
> +     * read-only.
> +     */
> +    rc =3D modify_xen_mappings((unsigned long)&__ro_after_init_start,
> +                             (unsigned long)&__ro_after_init_end,
> +                             PAGE_HYPERVISOR_RO);
> +    if ( rc )
> +        panic("Unable to mark the .data.ro_after_init section read-only =
(rc =3D %d)\n",
> +              rc);
> +
>     startup_cpu_idle_loop();
> }
>=20
> diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> index 1e986e211f68..92c298405259 100644
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -83,6 +83,13 @@ SECTIONS
>   _erodata =3D .;                /* End of read-only data */
>=20
>   . =3D ALIGN(PAGE_SIZE);
> +  .data.ro_after_init : {
> +      __ro_after_init_start =3D .;
> +      *(.data.ro_after_init)
> +      . =3D ALIGN(PAGE_SIZE);
> +      __ro_after_init_end =3D .;
> +  } : text
> +
>   .data.read_mostly : {
>        /* Exception table */
>        __start___ex_table =3D .;
> --=20
> 2.37.1
>=20



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:07:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:07:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389586.626611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgBA-0002v6-2B; Thu, 18 Aug 2022 14:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389586.626611; Thu, 18 Aug 2022 14:07:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgB9-0002uz-Un; Thu, 18 Aug 2022 14:07:23 +0000
Received: by outflank-mailman (input) for mailman id 389586;
 Thu, 18 Aug 2022 14:07:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOgB8-0002G0-JP
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:07:22 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80085.outbound.protection.outlook.com [40.107.8.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13a4dcd6-1eff-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 16:07:21 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7397.eurprd04.prod.outlook.com (2603:10a6:10:1a9::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19; Thu, 18 Aug
 2022 14:07:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 14:07:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13a4dcd6-1eff-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c0H0K8AJEsaOM9LaBIhohbEImCb/aJMC2QQxLFNUNiFnvcte31VYYr9kYGW6uYSj7jUDpYFxJlLprOCMZ+q/uPoSLV5aKFMksl2izWytHwM0z9jbQarMZhbUCwEbPIZ1vecwk9YSKZS/grRx+QbgyR0IcqsbKQykpBZZdaI1fr1kuML6PQKZFlOWFinxU1O2CGfioF1Rej2YwuK+fozwP2WfG9BGkJivHXWNGxL+PNABbztnvzHvK5+8z6nqYAoLSgbr3m7sm5M5SZqk+MKvxJQz8BvqUX3szEtAwjPoM3oRgG/HhYaRyMC2nT4EAgh7V3nP3HRhmZIT8jOVh7tp4Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SRRfVD7hJnZdH1IsdEus/1cIXqBM1/ZFOBeK1CyDYjc=;
 b=Lxg71w/8OMYtKCd+H7vc2uLIZQubjU8Xka1xmagMy+nHpLUw+h4RaF6eX+XgewbvPcDCKReYA/ZFRe3Qrc/ttRCS2u5wTz9rfQV7pUBGe4/4ApEUQz+lowuNa6LrkAlrp/HjNBSZSG+ICHrIPYaz5WXP5HTp7stGso+zTMlTgVbNMO0GJUlBaYD8wZ6PXF1MqGsbfs5gNsCcwpzHw+kkKEQo7zF8L5mDUdfi+77HUeVmpwnM0gNpxFJ+SqDzCjAAx8TsGLRrfpTGV02DXe6S/2bdB3t4wxspuB5if+Ngv+hWTqtv00njEnB5qmwWOyLrH9JNDTPvHUtNnIJRwgGWXQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SRRfVD7hJnZdH1IsdEus/1cIXqBM1/ZFOBeK1CyDYjc=;
 b=BQWcMGhcrvB7ZbdMM+VmgYhtIY93a1RXbgtZ7etfUGrKB4IVe33Pym8m5rLjdrekA1PPwgNFPdVgB/UfdDUdPtkRMRraGUHtPaBJXiY/pDvqYzKFtrqhDtbqoSivPX58BR4xnCdSgbkQrYLWkcLxmbKMlITx8tykeM11Szud/aAVF1PI9E6PLf447ABCC+Xy/TbN3TVoujNLa5XxsH1XMheAUGWyqgBVTPlJyO2nAirO7X03ARAFrFU9ArZsZI56Wh++Ixeprdhl5tygemetPDmStrDqJoFtqrHW4JbG8gRF4qriALT/4zqT5huHWFxPovWCxZ/V6aHzLcpAp/LWOQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9ac207d1-8a20-b880-e564-57494bc5b551@suse.com>
Date: Thu, 18 Aug 2022 16:07:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH 3/3] libxl: use time_t for qmp_synchronous_send()'s last
 parameter
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
In-Reply-To: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6deceb2d-493f-456c-4d98-08da8122f5d7
X-MS-TrafficTypeDiagnostic: DBAPR04MB7397:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z/1i19NyxH0QUSyKzjxumTO4SGYWkAH2sEOq96Pi922zNnMZU6lH3n0D7dEBlCRyefhyQIxx7Gr49NJR6ohJw8rbhEIYNqlVPt6vTBwHon3+WLrEgg7RgX5q4KuXQWoWgW6PS+4rjyVT0slpmDevF59tB4ZFIQcpMdaxdAFrSwRyzLja3YcLneyCTraxJZpfa2QCGLR7/rKBRhwyw2hry2MmHGad/NW/8zQqmNVvIp8+6FNN/wBifd+UgpRlFBKOArcfOs5q2u389QP8BR9cU+2CYZvl3vyyB5AGcsjhqwM/jifD+56CdZ89vc+F6Xyuof8NBJtBiZVHsn5USYIL6xWpVDz5LRaGuHF2xq+l0ZwoEkn5YAwDlPj3lxK5GAHH2gwBvxqc/vMU08CmeOgHVEhBxtBLPTy8mVwt9Fw17GUFxiMIuAOXaq30c3ZBpajrNmjvUd84saPRKgmtUYjo5dPRoYewaLyBto7rqVfKBiq8dF/DtUCGX5M/C1HrsOM8yo/XgmChCXSfavfhn8mSOTxCZ5OmdTtDGiNoLZmdCKrHY0rr2iVdfQADIMNLGWLbxXYHhhQDZQOgPyMF/OhFznkfKZVIfprts4/RuUtHu4bthcv7ZajUJ2dPwYfzgr4T/RrxrQF8okDxg9qZJKWX2Z9PHhp1U0sIh2kcyxvj7hLXzwhcqioXX+h5zEXLAfiRTDVotdQj38nXDZJ8rw8/bnhN255wKyLTBbhm+0ot//9vzcRnAAffy4xIZAeGlNgxpmQafeifOk+W7xYc8ws4r9czfcgn4Fq1hLp52Er12fE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(366004)(346002)(39860400002)(136003)(8936002)(36756003)(6916009)(31686004)(38100700002)(316002)(54906003)(86362001)(6486002)(4326008)(66946007)(66556008)(478600001)(186003)(41300700001)(6506007)(2616005)(107886003)(26005)(5660300002)(8676002)(6512007)(4744005)(2906002)(66476007)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QVJrbXkxckRoNDhLQkhmSFcvWGNmdHZCWnRCQ0FFQk5yNVVvWUJLU1hvMTJ3?=
 =?utf-8?B?ZUs2T2RlbDE3RzdSeVJCNkF2TnpqVHVCNnZjbW9KSXZMSHliSDVvbWMwVHB6?=
 =?utf-8?B?OVEwVkxTZ2pqUGdocEE2bGtaQUVTeDFXelF3L0NsZE1IZnlpOU9HTVFvSW82?=
 =?utf-8?B?RFMrOGZxQW12VTJHL2RFc2k5VHlwNVMwVG5oa2FnVUM1RzRXNVhtazlReVZV?=
 =?utf-8?B?U3VLeXNjRXF6NXEzSTYyQ2Jkck5TdDB1WVZDN0hETklqSzVVSndqQU9UeDF0?=
 =?utf-8?B?Zjl5aU1wRnlLUzlHOU9QUDBXQjlWNzdHenlLWXdrTXRpZVdtSXlrbWVxdWhk?=
 =?utf-8?B?SEZxR082VGlnMEh3RzhIVG9tSWx4N2VQQkFhZElxMGhpZmtJdXRNY0VpS1JH?=
 =?utf-8?B?QWIxbjVMRktrTHlDTmhuU0JOQXlKMDNjMlFhT21SWU5rQUVHbXhzRklYR1lK?=
 =?utf-8?B?NWpINVY5RlBxVmpONHc0OFZ3L241dmpUbFpwVnpGRm1YY3NTNU45YVFmQnps?=
 =?utf-8?B?ZFMrZFkzOXlYR1hOMFRNaytQUDhmOXRKaS8yVFJ1T0RhSko4QXorSjRrK0Ja?=
 =?utf-8?B?OFFYQzYxTGxQc2UzWnV0Wm1oTDhwTC8wMGZDb2FqaHRhc2xxNldVcmdtSk5t?=
 =?utf-8?B?QWRjNG9jSktQTkp0RTdiTGo3TytWNkxlU1djalFHRnVmRjIvVTlTNVp2SHhm?=
 =?utf-8?B?dC9YVDAxTC8yZS9HSUVGQlBjSjZ6a2FMaEVvejJwU0swcEFMOFBvbTZBcDdm?=
 =?utf-8?B?dXZzMGdhNlptZHFTbmFBM01RM2Q2ek1NWEJmZ3lkc3BubjhLd25sZVZteVJr?=
 =?utf-8?B?NGl4RkF0QlVuK1h6SUN4T2JudFJlRDh5Z28wcFc4dTNDNDdHR3VvZlFPWEY4?=
 =?utf-8?B?OU41aHdsbUp2ZGZNYWpqUEtqdjRPRFBFSjZIUCtMTW9rejZ3WG1Qd2ZwYm12?=
 =?utf-8?B?NTBkMUZHeTFyOWZLMVVCU3NRQVAvaWZyRklTQXFQbFJMY2h3SXExVzNkdWs2?=
 =?utf-8?B?WkpIL281a2QzM2MyOVlkWDJNd0c5TU9jb3piY2s3Rk5TZU9sM0VkOGpSNTE0?=
 =?utf-8?B?YlZma28vU09Pa2I4YlVDcXBjbWVwbUlaazNIRW9CR3lyN3NpT0hUWWlTbHg4?=
 =?utf-8?B?d2NxdkQ3WFNDdHZEVFhRaVNnc282VEc2MmdXMDhKdHczZlVYWVZDNllOWmpD?=
 =?utf-8?B?eFRBM1V4T2VqZkx0Y1BPazVUTEczZDduejc3TVdvcHRFbUR2blovSVA2VXdE?=
 =?utf-8?B?K1hVRlRpYmlickZzeUM4REpRZzBOTDkwazg4cVJvbTFBV2haaUxaZmlESkdK?=
 =?utf-8?B?eUxLNThZdCtVRjc4NENsVkgrd1VOdEpCcW8yL2ZINm9FSy9WZWpQK1ZMQW1C?=
 =?utf-8?B?ZS8rSlp0aVB1QkFWQStrd3RDT0MzelhOeExuWmFNTXh6Z3VydVRuV2FZRkhX?=
 =?utf-8?B?SXEvYlBDbFZQMVZxTEVtMHJ0K0FOdU8zWXlXbVI1VHIyRWJwb3VmdmM5UldZ?=
 =?utf-8?B?YWk1SDJoZThyZ0FYbDNwM25iTFhoblh5eHZrQ3kySndGSk5HU0ljVlNFUFRm?=
 =?utf-8?B?VGVWTE5vcmxGYkdPSXljZHNjS1o1TEticXZNVHp3RDZ6VUh2VW1IK1ErYUhS?=
 =?utf-8?B?cWxIYWZoNGJzV1NkREx2cU43UTh5TlRPZDk5djBEUnZQc2pFVllmbVN0Tmxm?=
 =?utf-8?B?TTI1Qlprc21LTHlZblVGaTA4cjVtYUs0NmE2MDRuS3B3OXkwbHdaV1Flb0cw?=
 =?utf-8?B?eTQyK1JJN1o1cW1MbjdrdzRMM2loU3ZCa1hXZTFJZXpzSUJCNkd5b2RQWlBr?=
 =?utf-8?B?eFMwMlJ4Qjd4aU1xVGtCQmIxMEhGZm8xRWxSWWI2TXNVWi9meUlTeDFqdWJu?=
 =?utf-8?B?NVRlUVQrNU80L0YzNDVhRXVMa1VaNWRlc2xobDRRUTNkczRaVHYyRVBpNHlw?=
 =?utf-8?B?M042N2RSZWQyTFYxR1RqSFZtei84WXlLS0FOcEN0dkZ2eVZvMkp2eWxwWkZI?=
 =?utf-8?B?bktCT21vZWxJTlFCK1pBVVE1QWVTb1B1WnhUZG15YklEN083OE9KcGRFMEJC?=
 =?utf-8?B?L0tTdE5jb2E2MkVpby9TQkh2Y0JvcTRBaVY3ZlB6YXIvcHRsMWZubm5iRndM?=
 =?utf-8?Q?zUIHeoAyWCNhZxYIaVrYrjgxM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6deceb2d-493f-456c-4d98-08da8122f5d7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:07:18.0839
 (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: gCmozC9cDK5H8PzmJGK9Ac5Pg/arxCiGhMrjripoCkBB5NKTWIrzGApAdJfobZUH1Xzohw8tsPIxH2/KumR9aA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7397

"int" is not a suitable type to hold / receive "time_t" values.

The parameter is presently unused, so no functional change.

Coverity ID: 1509377
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
An obvious alternative would be to drop the parameter for being unused,
but I assume there were plans to use it in some way.

--- a/tools/libs/light/libxl_qmp.c
+++ b/tools/libs/light/libxl_qmp.c
@@ -582,7 +582,7 @@ out:
 static int qmp_synchronous_send(libxl__qmp_handler *qmp, const char *cmd,
                                 libxl__json_object *args,
                                 qmp_callback_t callback, void *opaque,
-                                int ask_timeout)
+                                time_t ask_timeout)
 {
     int id = 0;
     int ret = 0;



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:07:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:07:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389589.626622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgBQ-0003N7-9d; Thu, 18 Aug 2022 14:07:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389589.626622; Thu, 18 Aug 2022 14:07:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgBQ-0003N0-6m; Thu, 18 Aug 2022 14:07:40 +0000
Received: by outflank-mailman (input) for mailman id 389589;
 Thu, 18 Aug 2022 14:07:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rLbC=YW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oOgBO-0002G0-Gm
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:07:38 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80085.outbound.protection.outlook.com [40.107.8.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d6a421a-1eff-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 16:07:38 +0200 (CEST)
Received: from AS9PR06CA0111.eurprd06.prod.outlook.com (2603:10a6:20b:465::17)
 by DB9PR08MB8579.eurprd08.prod.outlook.com (2603:10a6:10:3d4::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 18 Aug
 2022 14:07:35 +0000
Received: from AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:465:cafe::5e) by AS9PR06CA0111.outlook.office365.com
 (2603:10a6:20b:465::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.16 via Frontend
 Transport; Thu, 18 Aug 2022 14:07:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT022.mail.protection.outlook.com (100.127.140.217) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 14:07:35 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Thu, 18 Aug 2022 14:07:34 +0000
Received: from c41284f9727a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 44983D44-1AB8-484A-AC7E-0C6CBECB0CA5.1; 
 Thu, 18 Aug 2022 14:07:28 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c41284f9727a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 18 Aug 2022 14:07:28 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB5121.eurprd08.prod.outlook.com (2603:10a6:208:159::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Thu, 18 Aug
 2022 14:07:26 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.028; Thu, 18 Aug 2022
 14:07:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d6a421a-1eff-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=BQY45CCP/YKE2VzRHwLbRcF0EqEDcvnYOmrlIN5Mrw4zhFDB1dHoN36aI7WjwyPZ8kQkvqgeNTQej1Kft7/kmDXmyOxWLyeEwW12lO9p6/jDnY0ZnFGXNNyUJziv5Gk2EhHv8luJkOOknyddvhEzsXPt3rWYCCFt/Mi1qb0sB5+gp1TcU1dlYfRfIa57Z/brvIwedmauk2pdo7xGpRkRa+bKFAo/Qdy/DuEWGE6EVr13+rpyHI26kni2FhViJbaa+pApOdc7ylVd8tO8ApskxeN+lqNm3PHw5S5Yv0KESbQ9/bmYys5dJKcyriehwet/DBCJLiWwHw7qrCHUuIOtqA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0T9neOyFXKg5pjw3VJKt5TmkrPIzGHpWSRicmjewUKM=;
 b=e6w3BD0+I3nuYvj8SiOod9LWh4xJ90tHw9Vru/VhYgfAxeIO9XXYXuNil9pDG3CnvcN458IL4hwBqkO00rP/f7yMjH6esQX9c2ClmkJMNvSk0Mh9YOqMtsrhZYNd7XUipZiyN1qiBA5GPxckHNAKuoQlJ4CJvTBHfozQcwwwqrrUdkc/x6J8/PXiNADhUf1rXdl6IdIynfC/HvtMCr3rOTdsIxpjkn+8jhTiar2ScbvAgTsNklbuEJ8iA1EUBR9O/NASM5iy6MURQmWWjdsF6bYiU2IoF+aIXVVAGM0ax9ISfKAzpM3XJNfmf1AU0O8DDSSnovNpSJy9oXsG+mvIBQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0T9neOyFXKg5pjw3VJKt5TmkrPIzGHpWSRicmjewUKM=;
 b=xX3XFLRJzzZ1D6/c87hU3wmS+fOTGu8W4MN2zfEK4yFkUzTeNU8ZMUUQKGv6f7YqatNemRRSa2r3vtgWkh9B8UyifI43motH02C8EtdvH5dgr0DOlMKv2mnlVQ6mTg13P4Gz66rWm3JRJDo9eON73N6SIffNniToB6r9nEinu9g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 557ef3988d8d1dd9
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Thd3BiX9EU2pRK36NWVG22ml6cLO25qfyMW7lSCwv3UZsh+GXD4MjQXv+j6kDzaSq8zTRzH/oFS9kPtb5tk1QsXc6EjNEK7YrUl+119X7wn7Ir0gd/6fNijmvabQwsgKWVj22mI+v8GWlPxX4SisKBgzbKEU2dTvJANS9xvekeqVUq5sqGllaRvLbwEY3eedhr8fNrB5UeB4L33CWjDT5FNP8UtHBtlhpuC7tMk/+IfKLjrfDeQdkUXdoh6pZLlt4kvdBNaQL7LZm633wxJ30LIKieMH4ozcNAbA772FL3v6ZyCMz47BnfhLhmtr5StWqHAsaF1XxJCEEe+MvXCqUw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0T9neOyFXKg5pjw3VJKt5TmkrPIzGHpWSRicmjewUKM=;
 b=k48zWMn9DX1yuDi0sZT1AbAymSQcH7li2pW1GF11+3q1xQLfPPkilWS+IeyQiLhIvroZ2g966lxtJFwh8ho6B4pGSP/v+Ic0+6l1muwJKsgCSxHsj/hJtpAAf8KIXkJMwSsImkyRqidHWUu0EAqU9mp1WPtVYNedGwfF4cQ76o+AkEyLE0rBWB0nnpuTuPHg5xdr0EMVwtSvjZfjucntvzAcL0iEuMl8erGftC6kvRFk44D71EFsQB4gxstPNcmj+OCiFH00HzyB6jPQLpYL4qOyEzXDp5saj89tW92t6QLzk6bZWoyql1Jas71gC1Q6RUk7VYZIA2hT6ptgQ/OjWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0T9neOyFXKg5pjw3VJKt5TmkrPIzGHpWSRicmjewUKM=;
 b=xX3XFLRJzzZ1D6/c87hU3wmS+fOTGu8W4MN2zfEK4yFkUzTeNU8ZMUUQKGv6f7YqatNemRRSa2r3vtgWkh9B8UyifI43motH02C8EtdvH5dgr0DOlMKv2mnlVQ6mTg13P4Gz66rWm3JRJDo9eON73N6SIffNniToB6r9nEinu9g=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jan Beulich <jbeulich@suse.com>, Julien Grall <jgrall@amazon.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
Thread-Topic: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on
 Arm
Thread-Index: AQHYsaJm36MHcf45GkO6ALJzQ7Il0a2yxdaAgAAKiQCAAeQMAA==
Date: Thu, 18 Aug 2022 14:07:26 +0000
Message-ID: <F3E241FB-9013-4B66-ACA0-8AAB4D4E8920@arm.com>
References: <20220816185954.31945-1-julien@xen.org>
 <da0126fb-d357-bde3-f362-32c7d3b51ee4@suse.com>
 <10fb8b11-1cb2-9394-f9fc-2eb6dd84543f@xen.org>
In-Reply-To: <10fb8b11-1cb2-9394-f9fc-2eb6dd84543f@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 1fad4958-8c7b-4df3-6fdf-08da81230017
x-ms-traffictypediagnostic:
	AM0PR08MB5121:EE_|AM7EUR03FT022:EE_|DB9PR08MB8579:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 bcaFwyMhHahWLRkD/8vVMlx+eYqARM04W2DzhPl9Mat4ry+Sv5qfPIOfNk2TTLXcaPRmIje6ezxPFN+e8DTZWTi5devS9Irlcw0EwzE08xOdvLb/dEgDzWKnQIGbsDPywL5N9C300RxKycB8qF6xjxP44skZgMpnZLCFVNbFnmseD0QFBqKZtbBatW1IPxLRYEIlxbgZtTav+G0TfvV9hJlLChbL4czAyTnDAEqVEM9YftXexYY8o2v69OH0hFXc1zmFP/82PKuesOZMGfI8kyfCF/IUUgF0g20sIfoqhnrkShNeXXMXO+67DrruNKEVY1tyiYJ/5pVNew96rvAFOaOxDLOWpMx9AwYag99knjeG1kjIwMIJuAOSCdGbakkxxeB6ss4aLkaF9DEBXF4qke7TNxSIyiDHrX/4WN5U54tWt4yBvcF3mgiuKjUjYKbYrLKgj+W2eb+kRaeVux8nI4HIXgBT8iylSK8LxbRGxErpeexIY8SBgf7i1t99bMdoKnmGHZ23UxlT3m0jeWSs+qWaBEOUx9FWkJtCHktgf0UK8KQML72bQYJTgPinY3RmMKKMugm+gz8zjPVlQxEOkRG5XrJ/Wgp9VmuCV/nIAGPIFeXtJ6gBPama0hZ6uUAnFBVmjH+f+9j//fPhYT5deX3Oa8HKs073Ae0BTo1dyCXGMtC30mav2waaVr5T7UE3ONTFdJoX87eHZ0FkF4NlYNu5YOhd8VIQwysZw++FemOBPhTaMsUSzD0aCbhP0PXBzVIlmSPKDTY3NUirg5BVvnEYxhD4BPLdWhOPrzszN/U=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(346002)(376002)(366004)(6506007)(53546011)(186003)(83380400001)(5660300002)(8936002)(2616005)(6512007)(26005)(36756003)(41300700001)(71200400001)(33656002)(6486002)(478600001)(86362001)(38070700005)(8676002)(66446008)(6916009)(54906003)(66476007)(316002)(2906002)(38100700002)(122000001)(76116006)(4326008)(64756008)(91956017)(66946007)(66556008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CA3BCD236706CA46A162D09A3CC7B704@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5121
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	76c4f771-4041-4e86-ea06-08da8122faff
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kH3Whtp63tBw7QLC0DhBFWuRP3NfllcBQadIBZeKqP41JTkuG0KsSXGbTlVjsnQO3LAcZkgghpE+B+UBAcMoeC7kN6IBzrZsaUKO9d7R1zRkrwo3QLbGJd9eG1E3LqN3gFcAsbrb3YFI4e6apoVeukkAJvYQaac+o3NmWJ3+tHTSHts+gTrVckWHlRBqiuwXZ5Yfub7GjioLgu9LsOUlzI9txR+kILQZxQ5n1LJ+Zfzfvqfs+3zQfvCwhxyETxOoNAGyf5Er3pwtTw0jYw0BC69KvrxiyATW3VhWTLV4GWq0yafrpEl/cDZkelx9283u3DGv17+QRm9NPgbPfjTWbeyUue2/ThHdjdaAHonWVcVJQlrC5cWpWRxBT9fiMNhYEU/mkZnSlBKuR8F+rmRKRrSqGx8OyGFjdiK8a0lXyLiTfR8C3peGA/tSwhaxIr9KgNYpysQoNPAh7KHi2JE66Pp6RE+2wkVeNBiL+e5hXCTOi8U+5msZywH9nUl37lOpjYqqJZvlQqssXRly+Cq/FUhxotJILnKA4jNQvXHJ1tA04CI2xm2gkUvEVJWiINKA/nMzaLjRb7yi214FK5+7Aoxstb9ARmFPG7cNwbGoUTLOXr4AXySvRJImOjOayel5ddimtkaurKDW3v4O9k7vwinth+MdqxkUoSO/6FIFkfsASsNSjI92z7hiOwJN6aCK5a2p1/7zK0nV5i/5YBIrEzVZloYuMyKeL7JnH2mVnd07O1B6j/sz8iqw+pAIFueIUOaT+bNRMv9khYP/QnqyUw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(346002)(39860400002)(136003)(36840700001)(40470700004)(46966006)(6506007)(40460700003)(41300700001)(336012)(6486002)(478600001)(2906002)(53546011)(33656002)(36756003)(81166007)(70206006)(4326008)(8676002)(82740400003)(40480700001)(86362001)(316002)(82310400005)(5660300002)(186003)(54906003)(356005)(8936002)(36860700001)(6862004)(26005)(6512007)(70586007)(83380400001)(47076005)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:07:35.1095
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fad4958-8c7b-4df3-6fdf-08da81230017
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8579

Hi,

> On 17 Aug 2022, at 10:14, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Jan,
>=20
> On 17/08/2022 09:37, Jan Beulich wrote:
>> On 16.08.2022 20:59, Julien Grall wrote:
>>> --- a/xen/arch/arm/setup.c
>>> +++ b/xen/arch/arm/setup.c
>>> @@ -75,10 +75,24 @@ domid_t __read_mostly max_init_domid;
>>>    static __used void init_done(void)
>>>  {
>>> +    int rc;
>>> +
>>>      /* Must be done past setting system_state. */
>>>      unregister_init_virtual_region();
>>>        free_init_memory();
>>> +
>>> +    /*
>>> +     * We have finished to boot. Mark the section .data.ro_after_init
>>> +     * read-only.
>>> +     */
>>> +    rc =3D modify_xen_mappings((unsigned long)&__ro_after_init_start,
>>> +                             (unsigned long)&__ro_after_init_end,
>>> +                             PAGE_HYPERVISOR_RO);
>>> +    if ( rc )
>>> +        panic("Unable to mark the .data.ro_after_init section read-onl=
y (rc =3D %d)\n",
>>> +              rc);
>> Just wondering - is this really worth panic()ing?
>=20
> The function should never fails and it sounds wrong to me to continue in =
the unlikely case it will fail.

I agree, we should not ignore and error here.

>=20
>>> --- a/xen/arch/arm/xen.lds.S
>>> +++ b/xen/arch/arm/xen.lds.S
>>> @@ -83,6 +83,13 @@ SECTIONS
>>>    _erodata =3D .;                /* End of read-only data */
>>>      . =3D ALIGN(PAGE_SIZE);
>>> +  .data.ro_after_init : {
>>> +      __ro_after_init_start =3D .;
>>> +      *(.data.ro_after_init)
>>> +      . =3D ALIGN(PAGE_SIZE);
>>> +      __ro_after_init_end =3D .;
>>> +  } : text
>> Again just wondering: Wouldn't it be an option to avoid the initial
>> page size alignment (and the resulting padding) here, simply making
>> .data.ro_after_init part of .rodata and do the earlier write-protection
>> only up to (but excluding) the page containing __ro_after_init_start?
>=20
> So both this question and the previous one will impair the security of Xe=
n on Arm (even though the later is only at boot time).
>=20
> This is not something I will support just because we are going to save < =
PAGE_SIZE. If we are concern of the size wasted, then there are other way t=
o mitigate it (i.e. moving more variables to __ro_after_init).

Agree with Julien here.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:12:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:12:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389601.626633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgFs-00058f-W8; Thu, 18 Aug 2022 14:12:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389601.626633; Thu, 18 Aug 2022 14:12:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgFs-00058Y-TH; Thu, 18 Aug 2022 14:12:16 +0000
Received: by outflank-mailman (input) for mailman id 389601;
 Thu, 18 Aug 2022 14:12:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOgFs-00058S-5m
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:12:16 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2059.outbound.protection.outlook.com [40.107.104.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c297d1a5-1eff-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 16:12:15 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4752.eurprd04.prod.outlook.com (2603:10a6:803:5e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 14:12:12 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 14:12:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c297d1a5-1eff-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KJK/YE6L5GOgWlP9IGwWPCmSCKzmsPzafS3Qa7RsnkeVU39GZplVh4UHKFHw9TzAZeHbMa+MD61vQe4/v7eWIJiUg5+8tiMQXUceCk6EOU3wpRGSrBIWCtq8BtLMheL/02CtWu2dLSsDq8E0nAm6Lwd+ieizJZTnV92UWkKmWNYjcUH412UmsR5hcDIctn2Vzw7YQ3IjN+NtAXAtNARzFymlkqgYFzF0++qTKa0qJNqurXzDbclGRut7PTj/PSCOk9rT9EOf/YZkKtdkLboSxSACBOY5EFZJOnPEe8/8NnmNV8SpuEcXnH30AAt30lEbmXPoO+KNt6mQKoG6y2z1Wg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c6Uyciml7mRjKwb4uEigthI/E9mN6oKAmwHxwJYuWss=;
 b=WP7NYN1hjDWYToYMAGgRn8bASq3NLiWoI2xa+wW5d8LLmAUTcQwskdZ7J1hFLf5z55o8Nwo9D8yufFFNgdPjYca5jpin6U9R+tlSJP9stXX8MCMVCErA8Ost5bqNVwajeMSnjUxFxa6ak1fGEO8fwRXPWabJyTv2jGVHMgSZNlgkTQTa8p52qgoMK8aBiaiF5EVKQ9bJTjGL0ZWlkyjbxOCh318TE+w8QTsaQK5+1TaUDRg8riAWXSKDK8icMALgUDKnZ13blwNYRqjvQz8rYRptEpmlJEOoPtv+Y4Ly4WyA/VBYSMqy33kLqKvsB3/+CpByRbRumZe679VXprvIzA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c6Uyciml7mRjKwb4uEigthI/E9mN6oKAmwHxwJYuWss=;
 b=3Qwpy9WLjPlaDJ3VkBnNVUgjuiT7qImfWkK4f2hZZ0ZnCnX+3J/hEBQd3m9vvHTKmnNiDmTsFkisIUImYBYvjLXZN8MjHo2+d+FEqT3ROk8kAKxKkQnZ0toGIcky1ic9Lst/HmVto7sSsU3RGhRrf+coaoQ3CBKd0ONJutP6Inil/KJOwlsUP1PE0O5bcoNmu2f2lfEciKkQcCE5AVElib+/TTRzbQV0XAXePDufMxSrsfgNzlYfjImnrJToeTl+sutwA4UlPdzSqciGyV13fDLvtX858NONtRkEzDaG6UZioXq6PrYrX0AncCc1yuE/QempWRBGibcT7gh2oGCRmQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b7e4433c-a1e2-03d0-20bd-e17ace99f640@suse.com>
Date: Thu, 18 Aug 2022 16:12:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] Use direct I/O for loop devices
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
References: <20220817204634.1886-1-demi@invisiblethingslab.com>
 <499daffa-b1c6-3868-c164-65335963922c@suse.com> <Yv5HC/MA2LUHNYKO@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yv5HC/MA2LUHNYKO@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0155.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6bd22a31-e9fa-4f3c-bbb7-08da8123a583
X-MS-TrafficTypeDiagnostic: VI1PR04MB4752:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rj/y97d9FkPIj/uzRhXuK6J8IKN8TsHOa2L9k+WouFt1CMOIGlmC79HuJk8n63wdVaAAMFI6/wi1zERTum2p4k6j5bK7p3DVl0zjmh6gjZI2bBMHGtQGK/3XomHwnHT/bRr5a/4Z1q40tTa6IJEcURfvd/y4AS5wPmD6Jw+dt6VZ1sOkqf/tOG/l42Pr9Q73s814dalv4KhzqBggto459msLIAG7mMjMo4D/n+nHsqONGdF+LyVk89U2SFcK4rhOgixjuogG8ogBUC2PE6ukKmdWPmPtO3Z3m1VjzxAnX5qnZWhs3GSb4kP2oHKo03u/Mz7Ql3eFNbwS6wie9afQj0cmZpnUvmxqsG/vB3tDQBcOyrARVYjvr9DCEON00F2PC+Yh0Ic/MzTA8ryp0eVu5+X0rE5yAT9HoeeDVzuZl+Wv6VHNFQvoZBQrtyTlkB5yTJ/yeg127eKIk+/kkyVJlv1Ms71UeI5wKSE44h8UyloYIUoDRIxo8k5s1vgo1O8mJAmWjMxc6N9+2DZ8nBusq1Vb2/N4orDXaZ6vtIkrvz2Zu9spx/w7zXxL2zx7w3jXzvXBHqDJVIq/gDrXYDjx9d3AvkNr1l8bR9Xih/K6BWK04op19SYybWmkbxJje4QxkbvrHnJcB5JJ+GJ+MIhD6Tf74WC6i/wte2kGqyKKbWGPhh8y6ao2OlFDLVaX0eW8p93q+v4J7fZzLQSqp7Pjmaqj6gvxu7p6xzQwQTvY8AHTMlG+3QNknPhR4YqNKiPJz+KoS2Yt/j7EUNQ3g8NdUsx4mTkjTzk3wVCPAgY2Wdc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(39860400002)(396003)(136003)(346002)(41300700001)(478600001)(2906002)(6486002)(66556008)(66946007)(4326008)(8676002)(66476007)(8936002)(5660300002)(86362001)(186003)(31696002)(83380400001)(2616005)(6512007)(26005)(6506007)(53546011)(38100700002)(316002)(31686004)(36756003)(54906003)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wnc4N3JvLzR4ME1peitrSVRSTDFMdnY1MHFWRm5kSm4vN1hDV0drd2lPakJQ?=
 =?utf-8?B?N3BpN2VjWEFSVFV5Y2lZLzhVblJqTDlRNzF0SVpwOGVyVmp0MTlxS0VLRm9Z?=
 =?utf-8?B?YXU4RlpZemhHQzRrY0pXSFgxWEJMOG5NQ3IrblpIWFhwTVJVd1pTZ3ZHN2dQ?=
 =?utf-8?B?TnZ0NllqYUd2eHMxNEZ1L2FSMC9ReGNFaUZ0Vnp0dGJadk45UUd3UlQ1eGVM?=
 =?utf-8?B?R0RGUUtza3d6ZEgyMTBlVXp2a1JDL2ZLOGY4ZndPY2xFUnE4UmxMR2MzcTB4?=
 =?utf-8?B?TTd1endlNDhsWEMzSXNHT2pDQzBUbWM3bDdIMThKa1BMeE5SejExL1RaU1Bm?=
 =?utf-8?B?MzI5WlpoYzFNSUpyYzUrc2RCdENmeXNOWDdkMjNMM3BRc1JTV0VCUTFlT2Rm?=
 =?utf-8?B?cFVkdjlQOGZLQ1B6Zlgzd3ByU3JORy9JWVF5a3g1RGdtZURQVDhUVmlJdXY0?=
 =?utf-8?B?TzdSWHI4a0RJN3dwMXRJL2xMdzBWbkR4aGxjZG1OaVlLVHR0VGpkckMwSHh0?=
 =?utf-8?B?WENLUytLaUtGK0lOUDlWZXRQMVpLRXpmMmxSTk5PbUc3N0pSdXR6TWY0Nkxa?=
 =?utf-8?B?bTYrVUZaUkh5aW5tQWgzaCtCSVNZYnZ5QXJ1ZE5JZ0VpRGJoOWtYTXd1UCtI?=
 =?utf-8?B?c0psMGplb01PUW9FbEdKaHJHVUFocGl1aXpUdnBxUVdVSTJmb0lsOGNiU05p?=
 =?utf-8?B?TFNMOC9TR2ZCUGNUN3RoTnRueTNBazROcmhCTGo4NXBJelZpMzl5RkhUTDVU?=
 =?utf-8?B?dVFqc3J6Q2lrTnVOeFNoeFZwSW15dllybWNFOHd2WFQ0MjdOY2hGSjMwbWZz?=
 =?utf-8?B?TzZyR0ppSjBEL0RUdUQ0dW1UK1hUazlpdzdkM2tWZWJrUzM3bDBQdXB1dTQx?=
 =?utf-8?B?NDQ1Q01XVmlpb1NpOWoyNW5Cb1FyU0RlYlFHMkRTaFhXbVBSUlg2ZitoNUVz?=
 =?utf-8?B?VjdkTmJ4Z2ZwSThnOGNXKzYvVkdDNDBwdWNmNDM0dnNyOUlVRCttSEpXbGNR?=
 =?utf-8?B?Y01MdG1iYWtSbk05RHd3d2FtUGZGZEkrQWNtcWhoL3VGZkMrS2VVbE1HQ2Ru?=
 =?utf-8?B?SmcrVDU3TUZDMzNIeklVSWZ2L0pwclhJVVBsSVhlUElJejg1Wlh5anl4WWkz?=
 =?utf-8?B?MVFIK3M5RVB2S2UzUUpYZ2ZzcjhKN1dmTUxib0xvekJZaWRoSjc0YnVCVlQ2?=
 =?utf-8?B?TytiMFpaYTNpOWZUYXN4RXBuelBwV0lTY2syRUt2akhmOFlBbTh3T1czQnpy?=
 =?utf-8?B?MVFPeWFHUC9iTWRxMFhyOHJNbDloSk9leVZ3UVNDcFFlZWJUMTkrSXh5Mkw5?=
 =?utf-8?B?YVh6M0RobGNzVmZ1WW9GNU9DSm9UcEtzaUFDWkFIa2lQVUsvd0kzRzUwTDM5?=
 =?utf-8?B?b3NPMHZlRllHNjVSMnJUSW1NdnJiTVcyUDg2aW05ZWpTV2llSk45NGltUFFm?=
 =?utf-8?B?cU1NbFZZd29EajdmQXhSRTZsTEhiMUtva2ludnZqNmZ0Sm5hNlhVN0sxb1l3?=
 =?utf-8?B?TFN6RTF2aHVBRVZ2d1VPaktTWWNDQWVVMnRVM3FlNDZWMnJBSmxKOW9sS2tT?=
 =?utf-8?B?NXlXQXVjY1BqZDhETUdSaW9HZXRWUVRneDVCRytBdGtHbmVwblVaSGNUdlAr?=
 =?utf-8?B?KzJYWUx3Q0h6bzkycmpGc3NIL3c4RlIwMjFCdDViSmdSU1E5UW9pQXRMZVp0?=
 =?utf-8?B?dk9zT2M1cEpFSGdzODlyaHhwWkFUUFp4OGRqMDQyb2N3WmdTWHlkdUhSdmFS?=
 =?utf-8?B?MDM3a2NSZExrSkd4MHlUMEI3R1kwd2ZrWlZseHVOS3duMWJMMGlnTWVNYUdm?=
 =?utf-8?B?eTZCY2V3R2xXQ3daMEgwYlFmRFJXR2VmUk1ndXdPQjZGb2NSS1U0cTdHM2t6?=
 =?utf-8?B?WGVtTUs5S2NoT2Z5UFE1ampQL2Z5dkVEZUtqR1o5Z2cvYXZPb3U2TmJHTWQx?=
 =?utf-8?B?dzJKaUVFNGVVTnd6R2VneDJNQzI4UGhzRUZ5eDc5VVdRTDM2K08vN1lCckd6?=
 =?utf-8?B?eUtzaXc0UEtWUzNQekNWa0tESi9VNUZpVWFOR1M4bHVuc1o1bThNQXRVVXBm?=
 =?utf-8?B?YlpoQldpdjBMK3phOEladmdHNWZmNUVXcGhBTEtoR3BJY3NaYkVXUEtTK3NH?=
 =?utf-8?Q?lQvFIk1gABsb9rXByzXF5zRrX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6bd22a31-e9fa-4f3c-bbb7-08da8123a583
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:12:12.8152
 (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: rIVLrsI+KZhodM0gv62jt4ZwAKZgJYaYJsK34ZflYgVceM7aifaBIGaOmWaf9GJRF1LboH8CgO+Xx+S3imvRaw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4752

On 18.08.2022 16:04, Demi Marie Obenour wrote:
> On Thu, Aug 18, 2022 at 09:02:11AM +0200, Jan Beulich wrote:
>> On 17.08.2022 22:46, Demi Marie Obenour wrote:
>>> --- a/tools/hotplug/Linux/block
>>> +++ b/tools/hotplug/Linux/block
>>> @@ -330,7 +330,7 @@ mount it read-write in a guest domain."
>>>          else
>>>            roflag=''
>>>          fi
>>> -        do_or_die losetup $roflag "$loopdev" "$file"
>>> +        do_or_die losetup --direct-io=on $roflag "$loopdev" "$file"
>>
>> I guess you want to first check (maybe in tools/configure) that losetup
>> actually supports that option. The old-ish one I'm looking at doesn't,
>> according to its --help output at least.
> 
> What version are you referring to?

The tool itself doesn't recognize --version. It originates from
util-linux 2.19.1 from all I can tell.

> In Qubes OS the current plan is to use a block â€œscriptâ€ written in C, to
> improve performance and (when combined with kernel patches) eliminate
> race conditions.  This code could be made a wrapper for the C version.

Is this relevant here in some way I don't recognize, or did you say this
only to provide some further background info?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:20:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389606.626644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgNQ-0006TJ-Qe; Thu, 18 Aug 2022 14:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389606.626644; Thu, 18 Aug 2022 14:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgNQ-0006TC-NR; Thu, 18 Aug 2022 14:20:04 +0000
Received: by outflank-mailman (input) for mailman id 389606;
 Thu, 18 Aug 2022 14:20:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=U+fg=YW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oOgNP-00066t-C1
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:20:03 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8f84b6f-1f00-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 16:20:02 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 97B7A3EE87;
 Thu, 18 Aug 2022 14:20:01 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6F6A0139B7;
 Thu, 18 Aug 2022 14:20:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4g3HGZFK/mJodwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 18 Aug 2022 14:20:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8f84b6f-1f00-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660832401; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=WgRzSCz2t4nmQQpEq8xIDlYry9tl2BsmzDyM63QkRHI=;
	b=rRWc1gxAL8Lf/Wz/1ynvcqnKmPFsdwW6eVoczejnXfOMmu4Hr3rdKEXU5vhhWkTDAxWx/W
	H18WgQF49K3pBO+NRqCW4DRDG9m2vyRUk0u0qDaoiZKWyVFs5OrUwuUSp7LyyAYkUbJ63z
	WQrwXtl6jpPc9dLIGYD9EauHXJZvxdQ=
Message-ID: <6dcce6b3-7da3-1c65-0aa2-f69854619226@suse.com>
Date: Thu, 18 Aug 2022 16:20:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 3/3] libxl: use time_t for qmp_synchronous_send()'s last
 parameter
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
 <9ac207d1-8a20-b880-e564-57494bc5b551@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <9ac207d1-8a20-b880-e564-57494bc5b551@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------k0uXMVaZhHsDzuGJIGPXjw9D"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------k0uXMVaZhHsDzuGJIGPXjw9D
Content-Type: multipart/mixed; boundary="------------hHnpelCXkx0xglbk8cir9PY0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
Message-ID: <6dcce6b3-7da3-1c65-0aa2-f69854619226@suse.com>
Subject: Re: [PATCH 3/3] libxl: use time_t for qmp_synchronous_send()'s last
 parameter
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
 <9ac207d1-8a20-b880-e564-57494bc5b551@suse.com>
In-Reply-To: <9ac207d1-8a20-b880-e564-57494bc5b551@suse.com>

--------------hHnpelCXkx0xglbk8cir9PY0
Content-Type: multipart/mixed; boundary="------------7tHLNpMr50ggJ2Tlcn50kO8C"

--------------7tHLNpMr50ggJ2Tlcn50kO8C
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDguMjIgMTY6MDcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiAiaW50IiBpcyBub3Qg
YSBzdWl0YWJsZSB0eXBlIHRvIGhvbGQgLyByZWNlaXZlICJ0aW1lX3QiIHZhbHVlcy4NCj4g
DQo+IFRoZSBwYXJhbWV0ZXIgaXMgcHJlc2VudGx5IHVudXNlZCwgc28gbm8gZnVuY3Rpb25h
bCBjaGFuZ2UuDQo+IA0KPiBDb3Zlcml0eSBJRDogMTUwOTM3Nw0KPiBTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNClRoZSBzZXZlcml0eSBvZiB0aGlzIGlz
c3VlIGlzIHJhdGhlciBsb3cgSU1PLiBBIHRpbWVvdXQgb2YgbW9yZSB0aGFuDQo2MCB5ZWFy
cyBub3QgYmVpbmcgaGFuZGxlZCBjb3JyZWN0bHkgc2VlbXMgdG8gaGF2ZSBubyByZWxldmFu
Y2UgYXQgYWxsLg0KDQoNCkp1ZXJnZW4NCg==
--------------7tHLNpMr50ggJ2Tlcn50kO8C
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------7tHLNpMr50ggJ2Tlcn50kO8C--

--------------hHnpelCXkx0xglbk8cir9PY0--

--------------k0uXMVaZhHsDzuGJIGPXjw9D
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL+SpEFAwAAAAAACgkQsN6d1ii/Ey9l
Dgf+OkIaM3tReRrJgUS/4YD8X9YbvEauVXB3A9KKhD1W8u58NM19FgvWuGWwyR8L6gRBR5tkzGlh
1ZQZFHQuX+2H3fsEj37p7fWZ5vQvYXkv8TChZSYyJBUwbBowhzpox+9UyXK/P1K6LsJnXadS9EB3
Jw21S2ii/ybd4wNaFlJLdz+MVgX++oe418P6C/yuoIVQoIu8f6mEIX54oRR9xwrJQMaoX0T28Pz5
qflwgETdexxishLqN358VxJciHBfbOmb9kqaPaxf/QNYYAKtv0rnbGQYXrzjwjQGHlios9Ak8hBH
CaxrjbASFFQ3hAFBnpnwTE9Wu7yKJXyeiu22cR6ydw==
=+KSa
-----END PGP SIGNATURE-----

--------------k0uXMVaZhHsDzuGJIGPXjw9D--


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:24:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:24:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389612.626654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgRf-0007Ew-92; Thu, 18 Aug 2022 14:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389612.626654; Thu, 18 Aug 2022 14:24:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgRf-0007Ep-6X; Thu, 18 Aug 2022 14:24:27 +0000
Received: by outflank-mailman (input) for mailman id 389612;
 Thu, 18 Aug 2022 14:24:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zfC2=YW=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oOgRd-0007Ej-Vu
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:24:25 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74faefcc-1f01-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 16:24:24 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 509CD5C0106;
 Thu, 18 Aug 2022 10:24:23 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Thu, 18 Aug 2022 10:24:23 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 18 Aug 2022 10:24:22 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74faefcc-1f01-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1660832663; x=
	1660919063; bh=7ueH7NUObNfB3dhP/mqJuxuTnkQaAwKFZQyXwvFi7Ww=; b=B
	Z1Fin4Cs2G7JJtQierYdDE0CceNV7/9pMfelowm0TcsWwGBJBFT54+kyZ0Ot75bB
	2tGsIYW/Y2umsilfsSwXYrhYnR+J3txOHXm61EIzJIJyX7NV97DoOhOidNFknsAB
	cH3o/A+R2HQ6ltDVjv2/1g7X25bAf4IbKFZVs5zLoygAEQqsXcpImapSvqMC2Ap2
	gQEVssXLpqnl0ujy7tpeOsF7SVI75N/s4HO8VObaua5Tx2+jy7gd5MOgBXKWC+Fd
	YlvH9+rVGVQMxLOVTHAHo676GubcHXndX7I8aCl5yYPQg5lEJ8+EEykG5t4ij+BK
	qx6Wks7Ib9nDS0nN3Ny8A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1660832663; x=1660919063; bh=7ueH7NUObNfB3dhP/mqJuxuTnkQa
	AwKFZQyXwvFi7Ww=; b=YNL6VPbghN8qmnS+7LsXjNx1xU6e1EZcpEpc+pi4z0BG
	bvZUx0f0E8KKkZMOXI1vRAXmqb8tROsq8Od6/QMh0BPWf/OfA+UFGVNwKq/6cVWo
	Z45lYSaOBM4cwP5j9a6vrsy5Yy6eGn5F/b5dkfWJpOnTDTqhTnsJLrViWkn4EjzO
	61nTANuOy2YggZtSPp5qdzFcYbt6d7TVsQ6s66gXnTB9p4PRcU70nMcbwvs//svH
	h2r0iMxNBAykO3Np/Zwi7P6DPdh3yeBcvHXWwUyDPLw21OQ4Y1XD3Qbuw3pfWc7u
	AgvoYc5cDzRbUfZLrk37R+tCGPeje1bUmGwMIKRAAg==
X-ME-Sender: <xms:l0v-Ymn-Fy1L0Jr9bhuLlZC7nY_QvHa0xZpKAVbuCCRkoEe2-5h4nQ>
    <xme:l0v-Yt3Ei6BfN54akGTI95zVpcHg4uQ_lsDfPd2TrLm8a7vMJn1eF36SSC4vOySbg
    2QWl078Vpd7F-M>
X-ME-Received: <xmr:l0v-Ykq4fQfGzN_xYYGvrnUsxcIJDEPbT8BPqIzoaajyPzX_nloOepQiGmPq>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdehledgheduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:l0v-YqlfNXkz_SATEmFjpOlj9UL5zE4y4sxVNTqe6m286McqkKt9Aw>
    <xmx:l0v-Yk1Vu4lAUZ7lvvi9jxC__2miHyYCDe1dey5hoFN1MrWSmudIXA>
    <xmx:l0v-YhscSd31TnWkiFn5oYUTep3yBn9lNx-b8qDrww-sQgihaC5j_Q>
    <xmx:l0v-YiDfDP9R9KDsLJ39FzGPgOSS2dRUeSqIG9ruGdjaKUJokjELSw>
Feedback-ID: iac594737:Fastmail
Date: Thu, 18 Aug 2022 10:24:01 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Use direct I/O for loop devices
Message-ID: <Yv5LlJQWkHTq07QH@itl-email>
References: <20220817204634.1886-1-demi@invisiblethingslab.com>
 <499daffa-b1c6-3868-c164-65335963922c@suse.com>
 <Yv5HC/MA2LUHNYKO@itl-email>
 <b7e4433c-a1e2-03d0-20bd-e17ace99f640@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="m1R7U2xm5hsa22/E"
Content-Disposition: inline
In-Reply-To: <b7e4433c-a1e2-03d0-20bd-e17ace99f640@suse.com>


--m1R7U2xm5hsa22/E
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 18 Aug 2022 10:24:01 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Use direct I/O for loop devices

On Thu, Aug 18, 2022 at 04:12:10PM +0200, Jan Beulich wrote:
> On 18.08.2022 16:04, Demi Marie Obenour wrote:
> > On Thu, Aug 18, 2022 at 09:02:11AM +0200, Jan Beulich wrote:
> >> On 17.08.2022 22:46, Demi Marie Obenour wrote:
> >>> --- a/tools/hotplug/Linux/block
> >>> +++ b/tools/hotplug/Linux/block
> >>> @@ -330,7 +330,7 @@ mount it read-write in a guest domain."
> >>>          else
> >>>            roflag=3D''
> >>>          fi
> >>> -        do_or_die losetup $roflag "$loopdev" "$file"
> >>> +        do_or_die losetup --direct-io=3Don $roflag "$loopdev" "$file"
> >>
> >> I guess you want to first check (maybe in tools/configure) that losetup
> >> actually supports that option. The old-ish one I'm looking at doesn't,
> >> according to its --help output at least.
> >=20
> > What version are you referring to?
>=20
> The tool itself doesn't recognize --version. It originates from
> util-linux 2.19.1 from all I can tell.

I see.  Qubes OS doesn=E2=80=99t need to support such old versions.  Are you
referring to=20

> > In Qubes OS the current plan is to use a block =E2=80=9Cscript=E2=80=9D=
 written in C, to
> > improve performance and (when combined with kernel patches) eliminate
> > race conditions.  This code could be made a wrapper for the C version.
>=20
> Is this relevant here in some way I don't recognize, or did you say this
> only to provide some further background info?

If the C code becomes part of the toolstack it would avoid needing to
call into losetup.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--m1R7U2xm5hsa22/E
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmL+S5QACgkQsoi1X/+c
IsESWQ/9HP38OLGHK24PUlxDPb3xI4k5IkCcCRNjO9zhERgHWFZPDxEVN40AAj1V
JdcABEkEw+Y3JZ14oOU2/RDEpYVJfJV3bchamiYq+vnOu72NZaQz04FrOo/we1vH
a6jXHe9H8ncZmd6RmQnK+ViFh6s9JsBRZ8h1nNrNjKcoNphhnwtIMYIUMRrRicIb
qFjXEVULEAyR4e5peF1mxwbQ/sFMB1gArot03S5DGwfUw9o4mS9kIGrL0eX3n5MH
uGr7lJzl8hPwnTUtl6x+eYCXEVanQ3AeKsTykYsB8uOwp1ED1F9DAl+LQK/MqNXq
AH6O1vcw0QI2xLuLVT+H4mxkE0AeIjcQwwpkxJCvXtsI7w/C+lQjQyFSz9WTTYT2
+5c/JGF3U4naa/TRkXAx7vOFW/9O19VrhkHs3HrrbnPsPl36wG9quwUNA8bA2pXG
9F6kkALzU03Lw8HIR3cnPQGRnJXurJ6utjvToSPE7mMrIB4s1iEnTXd2PtAZc+eI
JrXsdIDHMJtXqLZmKU9a+N3ixdKr2Pf4wIqR4Lz2Owa+tWJJeAdU15MI4zZujOto
L+9t5W1YYIxFV2MwRq7epg9T3WDRVnsPF3Oa2F+9yw539bj41cfixqUawbycvHOt
wXzbGGl4htiXAFadv4WnH8n21fMQP5oSKyFi+1mZ6u0kMepSeoA=
=UMum
-----END PGP SIGNATURE-----

--m1R7U2xm5hsa22/E--


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:29:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389619.626665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgWC-0007sS-R5; Thu, 18 Aug 2022 14:29:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389619.626665; Thu, 18 Aug 2022 14:29:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgWC-0007sL-OY; Thu, 18 Aug 2022 14:29:08 +0000
Received: by outflank-mailman (input) for mailman id 389619;
 Thu, 18 Aug 2022 14:29:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOgWB-0007sB-06; Thu, 18 Aug 2022 14:29:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOgWA-00013q-UY; Thu, 18 Aug 2022 14:29:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOgWA-00079I-IB; Thu, 18 Aug 2022 14:29:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOgWA-0006yd-Hj; Thu, 18 Aug 2022 14:29:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XXfGAw+XVUjSa631MNIoOO1OfytuJSizj7zboxbkbjQ=; b=T6kJT4HtjVlb0DLRA4jnufE2Pm
	q2QJAMpDrdm3NxUjJ44yuMZAunqSwsap0E9fcmNy0KR6qXckP8hMdXCIyKN+ygidB3BrjuTh93lOP
	aTZ4G5z8en3XgitBf0eLzAK3LBBLXERUvHOA1FXe6q5StUJHZDeIIAqqCKoVZsp1nzAg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172612-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172612: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c7208a6e0d049f9e8af15df908168a79b1f99685
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 14:29:06 +0000

flight 172612 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172612/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-xl-vhd      21 guest-start/debian.repeat fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                c7208a6e0d049f9e8af15df908168a79b1f99685
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   14 days
Failing since        172148  2022-08-04 21:39:38 Z   13 days   33 attempts
Testing same since   172601  2022-08-17 13:39:00 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1714 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:30:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:30:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389627.626677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgXI-0000q7-Ci; Thu, 18 Aug 2022 14:30:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389627.626677; Thu, 18 Aug 2022 14:30:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgXI-0000q0-9C; Thu, 18 Aug 2022 14:30:16 +0000
Received: by outflank-mailman (input) for mailman id 389627;
 Thu, 18 Aug 2022 14:30:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOgXH-0000pp-9x
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:30:15 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2075.outbound.protection.outlook.com [40.107.104.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4494ee3f-1f02-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 16:30:12 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB5274.eurprd04.prod.outlook.com (2603:10a6:10:17::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 14:30:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 14:30:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4494ee3f-1f02-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yqlei5tMrxKwkeTz7A0u1vZv8oOcJaM/fy92y/LvHWdoPBuzxfi15xaP3mgfw2XAwO/MR9IJt2ifsSBvqC+WfNV0/eXiNlDTugF4ohL0NK1kaEGE7pSSpNyKc6sS38AuMBQAVjrdVZoXC2eV2K1PeZFNqRB/mzMBDySUqaYxd8TZKrqPppKfJkBgqZ6dxVCYu2SVVK2bgBVL5YBYIidTEAbM5WFASIAktiBqC7R5sbEH0+ZJA/XV0W2hHa1cVYkmQbGkpZ1tBs1cOssUxOaOnKPF89UzDI+8ghWihqbRcrWLVzOQKrt7nMlEZyDr+Q/w6n8itWi+cSn/4UUERLvVNg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aPxcbN6NSN+W/lbktdMMgl/cOwLf7gi3NV8a42Rafzw=;
 b=fcRVsqON7JvdB0TTjWGEBDsmv8didXOR2wEmfGAt4eIUa4BtkCfoDkP5qS76giGkBopOY3Q/u+6MVWFJBZgCmJV4vTCn4UsMOb7Jk+DBw1/eKx5ftJrzUc/Znpqx0j+r1hRYvYD5WtE9zBa0hrjDA62DpiqT1wImULmVhiL2dY11FIMZN02LEgIY83TZIY6BEzsx/iarEhXfOERj3w2UxT5hL2Zqx6bWV0ksqgyclZOmzUgUAc//7G/yNQnhgIu4NCJmsLepkAXis0f3VbyaDzo6H/8aL7vas6Qm3EiP5QbSaR5SWR3xBTEWc44Hf8FomEclmoounQYRJJECT0afow==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aPxcbN6NSN+W/lbktdMMgl/cOwLf7gi3NV8a42Rafzw=;
 b=o5Xvg7z3U825X4O+ttWAq9Q7u6okVdR0UgvMz/p01OP5mgtDYDuYqsfUmuceq5ONa7S7VhyGF4WUn9EvivANQ0u99d52TTYc+D14j3YR8p72QGxySUbj9NjiI+x1V9NxE6g4KxQe7vj9pRMf8j6Z+WbNuT0KY1vrWh5LphfuaZ9aUscoPYhJmJvzGLSI/3D0VeAX04nSL+T48QrtHGlwjBa6OXgLq3qm1mLhE9ywP8njcH5czalj0SyPn5k8ZzEBo8rvu5izPBVsBTkEqL3iX4F4SSBsn9WFcnDL4yhNvaQijdmnfGLmIs/rImjXTjWwqlLUlFQAe3xB0ga/W34XKg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2682b544-aea2-f3a3-48ae-4ebb03ac0acc@suse.com>
Date: Thu, 18 Aug 2022 16:30:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] automation: Remove build-* from gitignore
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <199cc377eb38606bfa4b33942f0ed688080cf535.1657636714.git.bertrand.marquis@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <199cc377eb38606bfa4b33942f0ed688080cf535.1657636714.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0014.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c15d70e8-c832-4e63-a31b-08da812628a7
X-MS-TrafficTypeDiagnostic: DB7PR04MB5274:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hss5Bv2jtpkrTXO8xjrTJO4bU/8JjHbwFsz0cb2KAQF861c08Xk17ZGJs6H6E8M7k/Yb6jvXez0zMmi12OwUjC648u2MltKumV7Szrzz2T8EXN1NEz9YlnAB88KPYZ4VrUseYUwJ6KKRXbZn6Hm7jB4ycGuItXOpNwoeFNxl09HKspSGsXSApipnfPgu94by9a2YOUNuIZrtT1CFmWJpg+MFfBi3ejwhZhGPdvFCtMTCAUCngRbm3e6tz320RryzsaB2/OdZJmX/alIpLHJR27bYnpc/cD7kdbwt/Tc3QQpskn8PPRtazZMQ1NQKSznwxvTNHfINe/lCsyL+WirR1pAl6YWboAMS3v602yYQbeEHYKE4+H2jXKgqd5mdtuvqRKgKIWMS/b7sRZ6kTD1k8u3GvSySpyFcURw0kA51jd+8/me0TCBwIpAUFnAisO150UvaaSvKFiko1BdyXtAE4HTvRYidWNioUEITcGfeMWeo+AJgMIcc47wix1GPPTFDFbxZHS+gAxil8rejI3wbNo0l84tAEYZBqRY10D4FSq6WipwumIIuWEqLr4gqJSlPnPd0eOVYxs1n3QVOfd1lupqxkyRZksu5w8Rl3OO6w1f1rkPU5GNG9AiJKVILOSDibVk8JkyTnIucc2ZNM99Ur2jHNNpRmL06rPNEt8fY5RbonfbdjNFn3CCNBrxw+ObykXLycqpmNSiHj2yxVzAhoqTYf7tsV72h/9VuEjZXTkqBg6aDvhDbOTLIRWtbyDfAr80fQH1TF+jTYzgOCstLAgcxJix3SKJyhQi300zvjyAcf8eDiJyllfGBgNNz/Fod1DBH6FKXlGUq62ZU0dmcIg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(366004)(396003)(346002)(136003)(41300700001)(66946007)(316002)(6916009)(54906003)(6506007)(53546011)(6512007)(66476007)(66556008)(8676002)(26005)(4326008)(36756003)(31686004)(31696002)(2616005)(478600001)(2906002)(6486002)(186003)(5660300002)(86362001)(38100700002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?elpmTlB6SGtRYldRUVM5MDhkZHRiaC9mbVpDQnBOeElkSjBxeTVzQ29CTHc4?=
 =?utf-8?B?Y0F2TXRxRVVVaEY1SzJ3RVFlZmdTY1B6Mk9NOWNXdXVqNHpTWjFJeGtabjRB?=
 =?utf-8?B?S0VCWmRtVDZMN0N3M1NXelNablZTN0RwMmJIWEp1NkRaSHFRZU1wK2tnNlY0?=
 =?utf-8?B?d2gxN2RCdkM5YW9FM2YyaHFpdndFYUdJQWV2TEJVR0Mxb2ZNbGdUVjhFQUxk?=
 =?utf-8?B?NXZJQWhoQkxkSDZpTkJaYjhGYkQ2UU4rS05ZaWJBU2VZajVJMlhqWmtlT0x3?=
 =?utf-8?B?MXFaT2dZamcxcmVVOTZMcWFOa1BvT25hL1AwVkMyS0VmVG1CT1J6ajhDSWRN?=
 =?utf-8?B?dHJCdVdGVjJpcUc2WjFEY1NPbnE0ZjJUSHdTMnVSd2RCZFZSZGNpYU5sRkc4?=
 =?utf-8?B?dHFjZFdqcnRlZytvYlRzYmZuYzZFYXIvanRxbVpsVWhkTzdMeVE3cjlKSDNM?=
 =?utf-8?B?MTIwVHVRUmM3b0M5ai9ab3d0QVE0Vkwwb0hZTlMyMVVEbXlpZ2hXT2Ztc1Az?=
 =?utf-8?B?OEJvSG1sVWM2TlZGSnRXZGFkbzdmMTNVL0JRNkUwMWJpU0pBY0NKaFlkanNE?=
 =?utf-8?B?RktnU2pWd0VjbEsvcHg5TitUc3lLUjRLR2Mxa3Fwb1BYd3VwTVVtRDk3NDd4?=
 =?utf-8?B?MTBSMUxTRTdHL0cwV05UVXdzTGF1RHkxKzFFZXdJZEpwWldFYTBuYkF4enor?=
 =?utf-8?B?Mnl4em5ScEFjZ0RneFFDN2ljSFVlRzFpQVNTRGtRQUNQVW5QcmhTcS93Uktl?=
 =?utf-8?B?TU83TzlIWk5CV0kxYVVxVVk5d1ZpZEFMV0o4RlZaMmdqZFJabHdtTkU1N0ts?=
 =?utf-8?B?cWQ0YlVhM0xUa1MwOU9WSlVuUVptaGRkZE5qTmhuYXdtaVE1Wm5ybGVaUEo2?=
 =?utf-8?B?Y1laTzRra2ovaHFTSUpEQmdlbC81YUpiWm5heDkwRzNYQmVtai82MVJrR3NQ?=
 =?utf-8?B?ZTQreXd6R0lwNnNNOTZiYi9uaWUxRzh6emVQOVAwYm56RU8zMTZMZzNxbTJv?=
 =?utf-8?B?bVBPSzl4R1FuMEFUeTBwYkNYZjUzMk5oTmNENk9udHNXbUNjQ2ZKcUNsTWdt?=
 =?utf-8?B?bFdvMEJQR0dYdjhhMXUvbncrSXhTbkRkbkgwcW91RlFLMmFJbitkdzJtNWh4?=
 =?utf-8?B?M05WYzJFU3dHaWNydE9zZU5SQUgwcUlqcG9pbDg4R2J1TkRKVEU3YU9KQ1lQ?=
 =?utf-8?B?ZElPemVGQW5vUTJGd2EyaEJOQ2pudXJOdjY4Q2lOZUEwYUdaN0FHck5hZHRo?=
 =?utf-8?B?ak1GVVg5V1NtemVSaTJrbUt4SDBrN0JWbXVObDF0SFI4eVhYYTdMNEZ5NzFN?=
 =?utf-8?B?MjhkaEo2VUdIL25lU2h2MGJMK3ZLdmhzNE5kb3VNZHc4STRub1p0U2hSaGhW?=
 =?utf-8?B?KzFkblR1MkdkamlqY2ZuaE00TFoyNDNkVFFURUhGUmhZZ3RyeFdsb05wSU9P?=
 =?utf-8?B?c1BzbVNsd3V1VThVWWNmVlZMcmh0amlodnl5TGdndExKVFVHMzV5UGRnL1Yr?=
 =?utf-8?B?TUl6eVFJTUdYT3hMUE5Mak4xTjdwME9LNzhXc2dBQnBMTVhPdFVIKzZpajVI?=
 =?utf-8?B?eEV2bEowMS95aHIrMlUvZlZnTWtNL1NocHlSOGdlSm9yM21leUhFdWNMWUFY?=
 =?utf-8?B?VjFYUE9mcmIyamRmcWM4NUU3aXd6cnIxSlM1SEcxaWUwam5tMVJJTjlFM3pE?=
 =?utf-8?B?ZGYxUnByZFdDQ0w3RWxzREVDNW1FRDZ0Nlc3YkRncUZsdDkrd2ZqTWRyS1g1?=
 =?utf-8?B?NitORUJJeUtpWjZPemJGRFlhWXFvdFpuN2k3WWdkMnNVNzJVOGNsM24ycXVs?=
 =?utf-8?B?eXpqNnhtUkVsT1RqRDhwdnp5RW9MV0R2OGRRcGFJRVoxdkZUN0p1Z3RTTmp0?=
 =?utf-8?B?K3FYS0h3c1BCSGdEaE83SGk0T0J2NkVDTWRqOTNRTFRTODcvcUk5TFRJR2Ji?=
 =?utf-8?B?dkZTbzFXRmFham1IWmFueEdRTXI1TWFmR2ZSOUlCMTB3NzhCUzBXYndQdCtQ?=
 =?utf-8?B?SldGWGQ1ZDI2VTRyY2xaMzRRSlVrT20rWDZ6ZVFOQS8zUDdVZkVYVkxrbEdj?=
 =?utf-8?B?NXBOM09ldmhGNW5CN28vRkpCZXJoRFhsUVlUY1Z4Mm1taDdLL0h0Unp6Q2xw?=
 =?utf-8?Q?RCm1KdfHIo9I0nIRaMfedThB9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c15d70e8-c832-4e63-a31b-08da812628a7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:30:11.8099
 (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: hd9mQpi21K4Unif3tT4QL3yr04oOkxcxumhNmm2oUlG4gSzAS/PxoyehOC0petglvKQp5fAmUm6ooGIDvxxWSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5274

On 12.07.2022 16:41, Bertrand Marquis wrote:
> ...because there are some scripts in automation corresponding to the
> entry (build-test.sh and build-each-commit.sh)
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

While it seems odd to have this simple a patch sit un-acked for this long,
it looks like I'm not the only one uncomfortable ack-ing it without knowing
why the entry was there. Old .hgignore history only tells me that at some
point build* was changed to build-*. This recent mail from Andrew
(https://lists.xen.org/archives/html/xen-devel/2022-08/msg01043.html)
matches my vague recollection of build-* being used as sub-trees for
building stuff when out-of-tree builds are possible, yet people also don't
want to build in an entirely separate tree.

Hence as a compromise between keeping the status quo and deleting the
entry, could we go with changing it to build-*/ ?

Jan

> --- a/.gitignore
> +++ b/.gitignore
> @@ -44,7 +44,6 @@ config.cache
>  config/Toplevel.mk
>  config/Paths.mk
>  
> -build-*
>  dist/*
>  docs/tmp.*
>  docs/html/



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:31:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:31:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389632.626688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgYZ-0001Pt-N7; Thu, 18 Aug 2022 14:31:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389632.626688; Thu, 18 Aug 2022 14:31:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgYZ-0001Pm-Jb; Thu, 18 Aug 2022 14:31:35 +0000
Received: by outflank-mailman (input) for mailman id 389632;
 Thu, 18 Aug 2022 14:31:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOgYY-0001Pc-TQ
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:31:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOgYX-00017o-Sp; Thu, 18 Aug 2022 14:31:33 +0000
Received: from [54.239.6.188] (helo=[192.168.18.101])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOgYX-0006tJ-MN; Thu, 18 Aug 2022 14:31:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qFI1CNIftCpOWj4cTOHBHq48hhWLaNj1J594H/rd6bM=; b=7IONU/lTHvwp1aNc0QEGdbx9Av
	gOb/xvy0ABop5DH2ahJV9YQy6RVM/XLvtBkFthWODVZb4dxbYwbAAInH64Tul8yWwfF1b5GMSXA/d
	Q2gkzP5aw3q+iXLNx4GWg2SmslOydSX6A7M5WFUj/vJg/pjjQ7Tz7YV+/W4L7qpT4/t4=;
Message-ID: <4613f385-b11e-6d4f-42df-2febac4440d1@xen.org>
Date: Thu, 18 Aug 2022 15:31:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2 extended
 input/output registers
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Jens Wiklander <jens.wiklander@linaro.org>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 Wei Liu <wl@xen.org>, Luca Fancellu <Luca.Fancellu@arm.com>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
 <20220818105601.1896082-2-jens.wiklander@linaro.org>
 <EC23C48B-C9ED-4BD0-BD6D-4967A2509B2B@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <EC23C48B-C9ED-4BD0-BD6D-4967A2509B2B@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 18/08/2022 14:44, Bertrand Marquis wrote:
>> On 18 Aug 2022, at 11:55, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>>
>> SMCCC v1.2 [1] AArch64 allows x0-x17 to be used as both parameter
>> registers and result registers for the SMC and HVC instructions.
>>
>> Arm Firmware Framework for Armv8-A specification makes use of x0-x7 as
>> parameter and result registers.
>>
>> Let us add new interface to support this extended set of input/output
>> registers.
>>
>> This is based on 3fdc0cb59d97 ("arm64: smccc: Add support for SMCCCv1.2
>> extended input/output registers") by Sudeep Holla from the Linux kernel
>>
>> The SMCCC version reported to the VM is bumped to 1.2 in order to support
>> handling FF-A messages.
> 
> With this patch, you add something so that you could call SMCCCv1.2 but in practice you are not using it anywhere.
> I do not think this patch should bump the version we present to guests.

IMHO, this is better to add it here rather than in a FFA specific patch. 
Otherwise, one could raise the question of why we are adding wrapper 
when they are not used?

> 
>>
>> [1] https://developer.arm.com/documentation/den0028/c/?lang=en
>>
>> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>> ---
>> xen/arch/arm/arm64/asm-offsets.c |  9 +++++++
>> xen/arch/arm/arm64/smc.S         | 43 ++++++++++++++++++++++++++++++++
>> xen/arch/arm/include/asm/smccc.h | 40 +++++++++++++++++++++++++++++
>> xen/arch/arm/vsmc.c              |  2 +-
>> 4 files changed, 93 insertions(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
>> index 280ddb55bfd4..1721e1ed26e1 100644
>> --- a/xen/arch/arm/arm64/asm-offsets.c
>> +++ b/xen/arch/arm/arm64/asm-offsets.c
>> @@ -56,6 +56,15 @@ void __dummy__(void)
>>     BLANK();
>>     OFFSET(SMCCC_RES_a0, struct arm_smccc_res, a0);
>>     OFFSET(SMCCC_RES_a2, struct arm_smccc_res, a2);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X0_OFFS, struct arm_smccc_1_2_regs, a0);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X2_OFFS, struct arm_smccc_1_2_regs, a2);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X4_OFFS, struct arm_smccc_1_2_regs, a4);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X6_OFFS, struct arm_smccc_1_2_regs, a6);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X8_OFFS, struct arm_smccc_1_2_regs, a8);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X10_OFFS, struct arm_smccc_1_2_regs, a10);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X12_OFFS, struct arm_smccc_1_2_regs, a12);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X14_OFFS, struct arm_smccc_1_2_regs, a14);
>> +   OFFSET(ARM_SMCCC_1_2_REGS_X16_OFFS, struct arm_smccc_1_2_regs, a16);
>> }
>>
>> /*
>> diff --git a/xen/arch/arm/arm64/smc.S b/xen/arch/arm/arm64/smc.S
>> index 91bae62dd4d2..c546192e7f2d 100644
>> --- a/xen/arch/arm/arm64/smc.S
>> +++ b/xen/arch/arm/arm64/smc.S
>> @@ -27,3 +27,46 @@ ENTRY(__arm_smccc_1_0_smc)
>>          stp     x2, x3, [x4, #SMCCC_RES_a2]
>> 1:
>>          ret
>> +
>> +
> 
> Please only add one line only here
> 
>> +/*
>> + * void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
>> + *                        struct arm_smccc_1_2_regs *res)
>> + */
>> +ENTRY(arm_smccc_1_2_smc)
>> +    /* Save `res` and free a GPR that won't be clobbered */
> 
> The comment here should be fixed, you are clobbering x19 hence you need to save it.

The comment is correct. x19 is one of the few registers that will not be 
clobbered by the SMC call. But we still need a register below to store 
'args', so we need to free it (what you call clobber).

> 
>> +    stp     x1, x19, [sp, #-16]!
>> +
>> +    /* Ensure `args` won't be clobbered while loading regs in next step */
>> +    mov	x19, x0
> 
> You do not need to save args (and no code is restoring it).

The next instruction will overwrite x0. So if you don't save 'x0' to 
'x19' then you will not be able to load the rest of the registers.

> 
>> +
>> +    /* Load the registers x0 - x17 from the struct arm_smccc_1_2_regs */
>> +    ldp	x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
>> +    ldp	x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
>> +    ldp	x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
>> +    ldp	x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
>> +    ldp	x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
>> +    ldp	x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
>> +    ldp	x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
>> +    ldp	x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
>> +    ldp	x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
>> +
>> +    smc #0
>> +
>> +    /* Load the `res` from the stack */
>> +    ldr	x19, [sp]
>> +
>> +    /* Store the registers x0 - x17 into the result structure */
>> +    stp	x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
>> +    stp	x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
>> +    stp	x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
>> +    stp	x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
>> +    stp	x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
>> +    stp	x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
>> +    stp	x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
>> +    stp	x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
>> +    stp	x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
>> +
>> +    /* Restore original x19 */
>> +    ldp     xzr, x19, [sp], #16
> 
> You should use ldr and just load x19 value here.

AFAIU, this would mean an extra instruction to increment sp by 8 
(covering the xzr register).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:36:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389638.626699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgcm-00025Y-95; Thu, 18 Aug 2022 14:35:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389638.626699; Thu, 18 Aug 2022 14:35:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgcm-00025R-4g; Thu, 18 Aug 2022 14:35:56 +0000
Received: by outflank-mailman (input) for mailman id 389638;
 Thu, 18 Aug 2022 14:35:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1x1s=YW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOgcl-00025L-0o
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:35:55 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2074.outbound.protection.outlook.com [40.107.21.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0eff3f67-1f03-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 16:35:52 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB5574.eurprd04.prod.outlook.com (2603:10a6:20b:28::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 18 Aug
 2022 14:35:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022
 14:35:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0eff3f67-1f03-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YalLUltpJlVoRxb9JI086h6/g/vmxCRcBsSLM1rRwE4vWr9wKMgl0+7EHfgw9kW02F5JPxFCWEHwQZYxjMCChI7mZB5hA7OhI8pRxrCAZve33IHA5RRgOOQbCqZ9XuT+HxcPM34jd7xOPxDuo5Cj7u4QeznCv/593qqI+k/PpeBzGvMLX20mHD5CEOA6mmk4I4xyAHCiXmvlxM9LaBq6xLBcL0dCcwTc5BpmTfizQz2j/q5G22RseQarheEB6wkCIBnmHg+eh+1gOgpZ4Iibd/O7uJ+TTl+6wA9eAGrQC4mtRJnNn4FfcXjFIxCa1U1dc4fJoZjTXvT4ofo0qHW57w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YmZlVFccG7F7f4SXijI23mFVqjliHVMPi5oBHMZm8mY=;
 b=QCR6Nx+eooiy+fZzOqiZjceP+FT4tGrxChHKIiUPxzit+gt5anpvOAFfyY6BhgYMfGoNnS3goWvdRxR+87dLXpjYFvAg75QGsw7oW6/AQh1v8bL7Ls/ZE2KHuRizsaue4LhLaZbommokZ0V+2+Osf/vvo04R8QhfJolbeg9FQKRBoyrLwVIAoIh2/CsO8BJbr9or0taiCNqzZ/q0g//qzhrxDe3BDsYV6IAGBG4ofk0htxGaUnTcr24dDUL0ToHLBThMHBI+lD8XOZtuFRQCdVXKVmcq/tFgqSL7hjDVYT4s+Jh45mz9bkHNQa/DtaK6eNi11VR/no3sz6iRboFFmQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YmZlVFccG7F7f4SXijI23mFVqjliHVMPi5oBHMZm8mY=;
 b=RY78zV57u2MTdUSvcnK83A926OSXIqvRKt84KTGOhfkXc9NPk6iEQGhKzQr+yvczoBFfGfCWn3mLH36DzI2nWUjqJFndYyBJ24JARra9mRyr3m/HWMDpypWcFx8Q7QrMxRlqnIGkiiqkw2HXw42gxQx7HuUFESizTgf1mSROhDZ9vrIygntJawVfmOcde6X9Vhtku9mTM4cPERZL6qTVsQU4vzShcedwdawILZgM/k4x9WNuEITD/oZ4b7wniO5G8HzRvyXIVWZG+Wuce7qMXJD8CFCJkPPTE4UlyDRuJ/ZHn79K19fPDnWb9V4f+fUbRqnobe0pLknrQPiGqLYc4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d60e2359-6b28-ab9e-0398-e88a1804a233@suse.com>
Date: Thu, 18 Aug 2022 16:35:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 3/3] libxl: use time_t for qmp_synchronous_send()'s last
 parameter
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
 <9ac207d1-8a20-b880-e564-57494bc5b551@suse.com>
 <6dcce6b3-7da3-1c65-0aa2-f69854619226@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6dcce6b3-7da3-1c65-0aa2-f69854619226@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 85c74b57-fb6d-49aa-be70-08da8126f2a7
X-MS-TrafficTypeDiagnostic: AM6PR04MB5574:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uOk9p+OifCe3dZPeleIpnbQEVox6uT6VL3DMcS2qdQWw5tVVWHQJgF2lwD/yv8L+8mGtp9L2KEk0E/4Nb2c5T1Tf0OzlfdeYLqMvF3nenKdR6JBxDe5TcJOvwXvcENHEU0eqIe9HoR+pYPqSwgu6ejxoi/fn64mR+mk8d/Y7ydjDWyAvyUQyX6sRO/xhsz97CZBBbveMklrj+2xKWyPLFLrDfqPQpEY+VOKJDavFsZy8TiCZ4M2mW1G95mWZhYa+veHguW0Nk9BI3N9obUsQSS0d9cTZjfQz2DfBcZW7fW3/oilzreoTY6lj/Ys+D82CXmPlYhDyQmXoNtBmBbZqdyEmfutnCOfTbk7iMSQYJJFGMKO8aNNkCiWJDYmLOFExh6U8F61Nyj8C8DRBYt2EPjUjWqxdEmVaNwshTOf1juEIbUoTz3gPBrmPXnykeg6gs2pFNCqm0dzem2CpMD7LskpLptT/gkpHH/IySvdVAC+QMrI8v6oHk5zUgw6S4bSGptaQu2vWnHJB/0l3aHONtOuqUKgP22ylvZV7F9jKnHmn0FCgTLDpoMtGG/3Ut46ujWnUripgkXTBHC/+P+F5GsKS/RxdC46Z2HPE3JFxh/k5gu3KMWqAwkj8tE5LFzBitLqzPWdxSo9IUefX919bxIR+BasWcRYkkU+HqbPQ4D9uQ4UWTK5KfIr20QZCNrbBuh9scloQttc4XyG7Pb9qzide1+GmgT9OjX3+ivoFHOY8m8Vi3RrQ4MJ7u+w4vTOV/jyReYLQSObIoK3aDCjoyGnBYnbyKqeCDgv6+UfLFcE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(346002)(396003)(366004)(136003)(26005)(316002)(6512007)(4744005)(6486002)(4326008)(8936002)(38100700002)(478600001)(6506007)(6862004)(53546011)(31696002)(186003)(66946007)(2906002)(5660300002)(41300700001)(2616005)(86362001)(31686004)(66556008)(36756003)(66476007)(8676002)(54906003)(37006003)(6636002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U1ZvcHRaSVZ2WXJMcGJrblloK0JOWHJ0MGFNN0Q3TFY3T25ZQkFlOVk3Zmt1?=
 =?utf-8?B?TklIZGNVeDdNY0VxSytWdUhvNlVPM0kyTzljMjd0dVk5bU9PRFBFTDhhcGUv?=
 =?utf-8?B?U2s3a3daYXVIWW1tcDV2b3NqcUY0SkVHREtRVnhHcVFHZDNNZnFZa3ZKc040?=
 =?utf-8?B?QVNERG1JK1FKOU5FVGRNV3JEK2E4THE3SUFjNDdmWTJxdW9oQnRKQ3ZJajlR?=
 =?utf-8?B?YklKdVYzWFhyNHJLNDl1Z1JBeTJQSS9WZ0ZFRUx6dHMwbVZqSEFZcnA2dUJt?=
 =?utf-8?B?YTdGM0V4dk5MVGcvQlAzdzF5YnUxd2xTaWVVaVpJRVY1bEpVQzRIbXo4WUZ1?=
 =?utf-8?B?VzhpRXNGY3pBNlBRaFNhMVlPNWxsWlVQQXRKTWt5N0Rsc0dGbklDNUphOU1H?=
 =?utf-8?B?QkoxOFpJRVNpMGVQSXRlZEs1S1FEcE1MaStJN255NWRub2pkWWNWbWNxanZi?=
 =?utf-8?B?MllGbmg0azNkaWp4dGJ5YmNwRG5xNEZWQkQxazJWdWtsUm1FMkhJdDF3VVBC?=
 =?utf-8?B?NzdoZnNRQTZpbzVOVDZEQTRTYUF5SXB2WDBXR3NuRDhGZFdwb1JZQTZOa3ZQ?=
 =?utf-8?B?K081VjUrR0h2SGZrSG5yQlE2UTJVQlFSMVBaS1gwUk5ETzJUMU9OeC9oRnVM?=
 =?utf-8?B?Rm9EV1FmQlJMZzhSM0V2K0NNRnEzS2ZEMmFPNGl0R0wwbU84cGNsWURUd2Uz?=
 =?utf-8?B?Yk94bXBIc2sxaTd2ZkRvQW9sRDF6eVlVUDFnN2RoOUluQnZ6L3VLZ2NqUE40?=
 =?utf-8?B?cHJKOTRobzRoNVNaenoxU2pyZmJEaE56NHJHVkp5QStack14ellrOGd0WU5C?=
 =?utf-8?B?Q1VDNXdoVjY3L0w5YTJxdVBQc2dYVkRWQitHWVVTRENUVUM2QWJNY3JHbmRw?=
 =?utf-8?B?WEZUMHkrcFNkSTFnNkNzYTdOaSt1eDd2ZmdzanczTUJmOGp6VG5iUE5BUEpZ?=
 =?utf-8?B?aktaSHZ5TXljS0RrUGkzVll4RU94M2FYdzZaNzJzb0M3SWxVQWY1SUVqMCs2?=
 =?utf-8?B?U29OWTd3czZ2dnZxRG9tdWZuUWtLZ2pzbUdvWjRRWGVjaElKdWxaTVRDNjBi?=
 =?utf-8?B?bTUxblptU29sa2VlamhJay9jdldjWFZibWcrSWxtQlNLZmlTNE9NQWlnOWlG?=
 =?utf-8?B?amlIbHg5elBzS1FMaUJRZmprQ3EvYVh0M0RMQjFkZmdjcWVIZTVlQ3NGTE5k?=
 =?utf-8?B?aVl2aTVzSHhLZHVKK3JPZVFTeVVxdS84bjBIbm8vYWdHVGlCOStSMmpiZ25x?=
 =?utf-8?B?MnN6QVZiYS84OG9nY3R1S2hFNHZobk9scm8yQ1RlTEJ2VDlNUCthNWVHTktH?=
 =?utf-8?B?czN2RnZ3b0dMcTljKzk2S1c5UTFYR2diU2EveVZwUGhJNmVlZ2ZnT0FwU21F?=
 =?utf-8?B?WUl6TXhhZHkwQkJ1cDcyNkZrTi9WZTNsd0JZNVkwOCtiNTVIN0xOS0ZFcWtx?=
 =?utf-8?B?Mk1CdWVaSDlvOWpmRXNGdVlCaklZdmpLUVREeWdiNjlDVU51OW93MHlOZGMw?=
 =?utf-8?B?Tk44TndEV0phUzJSRngzLzhBQi9ZOGZ0VitpRXBvbmtLTEVreTZpNEZ6RFVL?=
 =?utf-8?B?SWR4bUI3b29ZV3dnQW5YT2JETkp6Z0RPRFhyek1MM2hEcitwaFM5djFLM2VB?=
 =?utf-8?B?R1VGQjFxcFppdHd1bld3TFpUNUVkQUhkRlpBaEQwcFJzOG5RdWQvckI0cjZm?=
 =?utf-8?B?eDYwQnJ5UTBuazhic3ZERXF3SVpnUzRpYjRVaTgzRitCT1M2RGk4cE5CMTRN?=
 =?utf-8?B?alJacmdnRGJ3OWEyWTJEdm1iaFVaVDk5cE5FSGFoZXMzb1JzeUZyM3plMkxa?=
 =?utf-8?B?Qktad1l1QnpOUGM2VVV1d0lvSzhRSElKYjV6OGs1ZjZtYW1qUzhwMGZocUlx?=
 =?utf-8?B?NFgza1N1eUVHelFaRlNWemZWM3hST1JkeldndjNjZGMyL1lJU0N6bjRWcEF3?=
 =?utf-8?B?MkRjWXhEUzRZcE9iRVhkRzBXeDRuUkl6QUEzQURybGxtTWczN0dvMTZxT21r?=
 =?utf-8?B?dllGcXc3Tlh6bTJlQzh3WlBxOWdiaDlFcGJFVUVZVUVWVm9iaVJRc1ZSRldI?=
 =?utf-8?B?QXFFSndGMURFQjh6d2ZQbjhSU3JrZFBPNC8wNStCVThMSmFsODJoU0d6OWNq?=
 =?utf-8?Q?8aKwrJ2UelmUXjDWogOhLS8D/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 85c74b57-fb6d-49aa-be70-08da8126f2a7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:35:50.7416
 (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: StBjaY7/pL/jr9N9NE8//aV5jO25ANr4nmVIQcXmbtseL0l9aWSfRgPjn2jRnix271JtrD+HPjD2OsZL2GXgIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5574

On 18.08.2022 16:20, Juergen Gross wrote:
> On 18.08.22 16:07, Jan Beulich wrote:
>> "int" is not a suitable type to hold / receive "time_t" values.
>>
>> The parameter is presently unused, so no functional change.
>>
>> Coverity ID: 1509377
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

Thanks.

> The severity of this issue is rather low IMO. A timeout of more than
> 60 years not being handled correctly seems to have no relevance at all.

Agreed. The tool can't tell that a time_t-type value is used here for
a timeout, not a time stamp, and using the correct type is Generally
Betterâ„¢ anyway, imo.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 14:59:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 14:59:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389644.626710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgz3-0004bb-2I; Thu, 18 Aug 2022 14:58:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389644.626710; Thu, 18 Aug 2022 14:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOgz2-0004bU-Vw; Thu, 18 Aug 2022 14:58:56 +0000
Received: by outflank-mailman (input) for mailman id 389644;
 Thu, 18 Aug 2022 14:58:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GL5l=YW=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oOgz1-0004bO-9v
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 14:58:55 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2079.outbound.protection.outlook.com [40.107.20.79])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 463ebf9c-1f06-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 16:58:53 +0200 (CEST)
Received: from AS9PR06CA0284.eurprd06.prod.outlook.com (2603:10a6:20b:45a::27)
 by AM8PR08MB6530.eurprd08.prod.outlook.com (2603:10a6:20b:315::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 14:58:51 +0000
Received: from AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45a:cafe::e2) by AS9PR06CA0284.outlook.office365.com
 (2603:10a6:20b:45a::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.16 via Frontend
 Transport; Thu, 18 Aug 2022 14:58:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT006.mail.protection.outlook.com (100.127.141.21) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 14:58:50 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Thu, 18 Aug 2022 14:58:50 +0000
Received: from bb20366a84f0.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 510E77AD-D118-489E-81F3-4359CAEBD841.1; 
 Thu, 18 Aug 2022 14:58:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bb20366a84f0.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 18 Aug 2022 14:58:40 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM6PR08MB4279.eurprd08.prod.outlook.com (2603:10a6:20b:bb::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 18 Aug
 2022 14:58:37 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%4]) with mapi id 15.20.5525.011; Thu, 18 Aug 2022
 14:58:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 463ebf9c-1f06-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=eFD2MxtVF+Xt/Uc8TMxe3UusMwB+vYFgmIY5rpz4E/ICvtkWpJB0IxG1/yG/BG6i3FKLntU8j2rTGCeXMafjXyfixQqdTOH0thsOEjTMScGA1SjryMvWjMP4pM0TtFOJWpT+DPIWNcGxnga+JZMd+mgo53RoZMuBMPN44Fjo1/FgAbtidnVxu0q4np+0ZYiYf80jyJOjvpuTvv3LaMw9MDCjah0vFrwS2NVIIniVFQ+0JlyhQCjEMbKCpx81IXdBDQ7pmUiwOKE3wa13ool+dAGt8WbQtzFb3nAV+bdNXA/y6kXQcQ3xcZ+mXFGITqqj8zPCS6I9Orr06B92ORwGPg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xeBGDWK9BVixJ/8oPcXiVSRkQpLynfRHlAjh9I4vS4w=;
 b=L2JYuDguWG6oXiOaJ94WkDtOXEXOJ1F+fs8tA4EjTvo2dWyziOCSkYClXs/XZntwBxYtnFVxQxtzK0GtWYrAaKZFMdv9UjCnVRHld7NABFWBcikK4yWJ0ATbW22/54Vy0Ie9d97Ikm6DdKm2neF5WlMeTayDTL2OjhoZz7Rbv+Ihkp8kBkweDFipOjALzqMdu72eyHkiETr+7PyHSGI3j1Ks26vglQC2/fXC6Iz5rR+35C3uxvEFhRwSf51LetRcvJazMcANGd+RkRbPJDK/BrtLnNgB0S5B095b8Q6RHJIbXDBv77JootquyUZWOPJuckHd42LHbqJiAG+BG9dE7g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xeBGDWK9BVixJ/8oPcXiVSRkQpLynfRHlAjh9I4vS4w=;
 b=4h1s4HhptxNVoY0wwHAKrcFO5oXBJqyP3D5eOWkY3s2ygpcY/QxPGw2+lf+FUFskkLOGjMHrbN9y7eoZUkAuMpv1Poea0RexQ8NmKliyuMHcr6S+J8VQkYatOqkUNCZSEXxrdJ+lJBROuUm6paFG5d67dUbemRl2TwVS871S2yc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 29c05e77ff714bd6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KJgZungl41T8Yby2MW3qECBYj8P5zzjdT+4fhd566o18b60A7C2efHCmGhq321W3W5Ko0ZB7FpjlFlaR8fdKMVPVI38oPy/xi5kH7KIvifhPRgHiN08poME48574TOBNRR3osPtx4ek7JT5S5oFVQY3y6n8Kl1Jk13l26sfd6hdPRcccz0kI6QAwrHNktK/c0sLgDbcIklRF32f5/P0gcd56y28iRJUCGGEI20GMC2LuMBcwKTDhStuywUgnc9we9TLQB6L01PMbcEg3XyC/56FDPGJ1ehwM1BeZSpzI/ISbvqVlqgDzCLfPkdlV+JB4wDS1z0wqueRG3fbNzU0T8g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xeBGDWK9BVixJ/8oPcXiVSRkQpLynfRHlAjh9I4vS4w=;
 b=L50h8jNQpz6XeLse0sHxvGeSPDMd5rX200xGVzzeNCSaaD+DJG+E48euOp0iMGwN5vfHCY1cCjlg7fWq6+iGabdtShjahWEZTaxsX60W3mLoQSyhoxQDGYulruZVgzhhEsdj/9/be9mwVT5rwcrrDbX5+ifaUr0QYaUUdFMVfcuZwDtVrCZeuU/gdDTZeFBCI0jh2dJ5kd7GQRRm6QHE2VWIfhZpfYdgCFmHS7hn0J3MaUqHeQpD/cV7DIlqXmqoCH6GAjmTOrKBzgCKk7S527F+cgR3rCLzYbon9z+9xpX+6DTpX/HYdEedW62lfMYPn2xCcnrA6exH9W0MZnqD7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xeBGDWK9BVixJ/8oPcXiVSRkQpLynfRHlAjh9I4vS4w=;
 b=4h1s4HhptxNVoY0wwHAKrcFO5oXBJqyP3D5eOWkY3s2ygpcY/QxPGw2+lf+FUFskkLOGjMHrbN9y7eoZUkAuMpv1Poea0RexQ8NmKliyuMHcr6S+J8VQkYatOqkUNCZSEXxrdJ+lJBROuUm6paFG5d67dUbemRl2TwVS871S2yc=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Paul Durrant <paul@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 2/2] xen/pci: replace call to is_memory_hole to
 pci_check_bar
Thread-Topic: [PATCH v2 2/2] xen/pci: replace call to is_memory_hole to
 pci_check_bar
Thread-Index: AQHYskgSn+BMkn6XSUmZynj+RN74K62zNKQAgAGMxwA=
Date: Thu, 18 Aug 2022 14:58:37 +0000
Message-ID: <6FD6564E-8B4A-4A83-8E21-7E156878B2F9@arm.com>
References: <cover.1660746990.git.rahul.singh@arm.com>
 <26fe963007e0a43b8fefd915027e90ddace1be73.1660746990.git.rahul.singh@arm.com>
 <114e88d3-0ec6-d51f-af41-555f79403b29@suse.com>
In-Reply-To: <114e88d3-0ec6-d51f-af41-555f79403b29@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 46201350-fb17-44c6-e7bc-08da812a2946
x-ms-traffictypediagnostic:
	AM6PR08MB4279:EE_|AM7EUR03FT006:EE_|AM8PR08MB6530:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 gp8ZkvFRYEch+EBZgmet8Z5/19DjADCmRgfhKcA1RaGA8dVYmAGWAg1i231GOzWoTCohFrKbCuff92FqwoX1zxDbPCVYZc+D1GX3jgH7m6onLu2RgkDyHA9xsRgJYqX3i2ILpkTEAAEmDTAQ8gV3eB5N9guDHL0365VKRZB70IqZqwhgWcB51SvFIszUngbwuKLDtSr8bmk/teP79UqVWFXheeF6u5tZes0ZUpz6+3OkM+bkWTPHYPNSsnaUL4g9PvGi87MwFEi/o1ab3OaYFmsVGm8XQlSlDMhzgVuHWdP7lXAbBjSjS4fHvyvBxFVOmNhMeEDdNR5ABxsQiP6uY9zYAcPCLtZy4QEqkH1IECMA7qWcHUKLEN1Z3MmXxH0ibV5HyAjcovzzIMOWZp9VspSJw6kp408lLkder8JyADldjYTocasD6zXXRe5rRmIrJ7P65oBe0/EnuySKsnsTJiDbpnGO/5gVIMKugbTS9WecnEJnx8rPa+NqBwWbPfTFx+KNIlGMkOj1M+Ezzl5xtW4HVNebqpdTl3rH3Q/4tAYDtjOiofAy33auozOfmtgqzLPt3YmKc9AIzPMsmp1geV/8OlPGF4JQs+DyHQ8BkC5FEpPlgY3cy7+fesQHDws7WyY4+918KVjnatFMai6yAvMOfS/huO+rgs9bIriKUcgtW5pbaoqwaH+w3kuovhJ08TsVTf/Xyyuv+D6pBmer4tZCFOfoUxGuoAvw0qRMUEQcG3MLUJLr5gFyKibjS0U2IHhs7xyr5696IGzrRXUxRJGI86BnGz2+1EPwSwu8fCU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(366004)(39860400002)(136003)(396003)(38100700002)(8936002)(86362001)(36756003)(2906002)(5660300002)(38070700005)(71200400001)(122000001)(6916009)(6486002)(54906003)(41300700001)(6506007)(478600001)(53546011)(66446008)(8676002)(66946007)(64756008)(66476007)(91956017)(316002)(4326008)(2616005)(26005)(76116006)(66556008)(6512007)(186003)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <75B2F27401C1FE4D9AE4AD48142A68E4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4279
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fdd56bb6-5630-4183-5133-08da812a212c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zttbBa/XumsLGEPzj2CEHW88JBhdevKrhRpTTGtKcOufS8wb2kaazoBl99w+B70HP53uH5roiFjzpISEkVqSkgkl+4157IBGfub7QIX7M38+8cgzunKrnvRlgsTyEhnvJNLbRYowpRY1XYQPATwFrOMI9x3XqO28tXH6HOQ60gh3y5TdYL5kjxN/g+ToHiUQRECQsX6f1fHKdDa9G9torA/gYRak4HvPBnOj4xxrrK7en8URY8egv/utPtoXvRoxnI+dJ6pSDIiB6Cq84xf9s1NHoaut0Kqp/nqh+Bvvuprjr0UABt8ApKm2C+QMdNrRvXrRIAu+whR/E9u9Y/ZA5umPhPhQJHqN8EArA7ULfy7MNYIYYfXqqo9F9oEXcPaTsnuJ+COYLu6HVX1Bwzrv2hxV5Wo6aJ3eRZio5s9vnPwlEczV35hCF8AOnz4MyEx6/lDY+SQ06OBO/jkHqZl1RAQRcbk8turNswwjcQ6W4KneMek0r8aQuixsblzPJ+R0TlKTm8p6BPGX0cHbzCT8fz/S8NSpKxXsb2HbKA/RZmSAqW+9ShuyHYgfOHncw0htCB94SOYhNf1TFnR7DS3esxNLOkfP6up7LpqjgbhqSh7TWZ4mw+h/jOOKZDEKH46M1CNTX4/CglRM6s3nmA0OXp2TVlPj4vB9Crg4XZeM7TUeTodyH+8FJKME2FsmJeVXr1+7PQwzfPpi44/EiW2zQBctfmgp8wm6G3wKAVo7mfUhTJ2nab1zRUVJMXq5HWIYYMOzAXGrBNvimwVfSvT6NA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(346002)(136003)(396003)(40470700004)(46966006)(36840700001)(356005)(33656002)(6512007)(26005)(81166007)(6486002)(82310400005)(82740400003)(41300700001)(8936002)(6862004)(40460700003)(478600001)(86362001)(5660300002)(53546011)(6506007)(2616005)(8676002)(2906002)(4326008)(70586007)(70206006)(54906003)(316002)(40480700001)(36756003)(186003)(47076005)(336012)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 14:58:50.6375
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 46201350-fb17-44c6-e7bc-08da812a2946
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6530

Hello Jan,

> On 17 Aug 2022, at 4:18 pm, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 17.08.2022 16:45, Rahul Singh wrote:
>> @@ -363,6 +373,42 @@ int __init pci_host_bridge_mappings(struct domain *=
d)
>>     return 0;
>> }
>>=20
>> +static int is_bar_valid(const struct dt_device_node *dev,
>> +                        u64 addr, u64 len, void *data)
>=20
> s/u64/uint64_t/g please.

Ack.=20
>=20
>> +{
>> +    struct pdev_bar *bar_data =3D data;
>> +    unsigned long s =3D mfn_x(bar_data->start);
>> +    unsigned long e =3D mfn_x(bar_data->end);
>> +
>> +    if ( (s < e) && (s >=3D PFN_UP(addr)) && (e <=3D PFN_UP(addr + len =
- 1)) )
>=20
> Doesn't this need to be s >=3D PFN_DOWN(addr)? Or else why is e checked
> against PFN_UP()?

Ack. I will modify as if ( (s < e) && (s >=3D PFN_DOWN(addr)) && (e <=3D PF=
N_UP(addr + len - 1)) )

>=20
>> +        bar_data->is_valid =3D  true;
>> +
>> +    return 0;
>> +}
>> +
>> +bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end)
>> +{
>> +    int ret;
>> +    const struct dt_device_node *dt_node;
>> +    struct pdev_bar bar_data =3D  {
>> +        .start =3D start,
>> +        .end =3D end,
>> +        .is_valid =3D false
>> +    };
>> +
>> +    dt_node =3D pci_find_host_bridge_node(pdev);
>> +    if ( !dt_node )
>> +        return false;
>> +
>> +    ret =3D dt_for_each_range(dt_node, &is_bar_valid, &bar_data);
>=20
> Just as a side note - I find such (the first instance here) uses of the
> unary & operator odd. The same effect will be had without it. So all it
> does (in my opinion) is make things harder to read (just very slightly,
> of course).

I follow the same calling method as used in map_device_children() function =
in=20
file arch/arm/domain_build.c

>=20
>> +    if ( ret < 0 )
>> +        return false;
>> +
>> +    if ( !bar_data.is_valid )
>> +        return false;
>> +
>> +    return true;
>=20
> Simply "return bar_data.is_valid;"?

Ack.=20
=20
Regards,
Rahul=


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 15:17:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 15:17:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389650.626721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOhH1-00076t-O3; Thu, 18 Aug 2022 15:17:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389650.626721; Thu, 18 Aug 2022 15:17:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOhH1-00076m-KS; Thu, 18 Aug 2022 15:17:31 +0000
Received: by outflank-mailman (input) for mailman id 389650;
 Thu, 18 Aug 2022 15:17:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOhH0-00076c-UT; Thu, 18 Aug 2022 15:17:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOhH0-0001vk-Qn; Thu, 18 Aug 2022 15:17:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOhH0-0002AG-Db; Thu, 18 Aug 2022 15:17:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOhH0-0002qn-DD; Thu, 18 Aug 2022 15:17:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xOf1Bj3IgPvuab1UwV1dmq+cICvEk6m66NN0AT+G9kM=; b=qBGaFyU96486gXAC2aga1J32af
	LdelAEDCdL4Li9/mWjfVzaecsDEpu5fEOSRKnGvp6CuL6Nn87xuJxhFVJPUbEdZBA6CqZdOafToGH
	ezHrz6+IUCOhpjtSJ9otmdaRd6Z+lL0U/7NaQgvDKVrBarult17FsnQ2P9OHJdAkaBII=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172620-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172620: trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-unstable-smoke:test-armhf-armhf-xl:<job status>:broken:regression
    xen-unstable-smoke:test-armhf-armhf-xl:host-install(5):broken:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
X-Osstest-Versions-That:
    xen=f2beaf876dce590ee9937b79cd3498f2fe9f661c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 15:17:30 +0000

flight 172620 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172620/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl             <job status>                 broken
 test-armhf-armhf-xl           5 host-install(5)        broken REGR. vs. 172605

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172605
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
baseline version:
 xen                  f2beaf876dce590ee9937b79cd3498f2fe9f661c

Last test of basis   172605  2022-08-17 17:00:27 Z    0 days
Testing same since   172620  2022-08-18 08:01:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Tim Deegan <tim@xen.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          broken  
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl broken
broken-step test-armhf-armhf-xl host-install(5)

Not pushing.

------------------------------------------------------------
commit 6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 18 09:30:41 2022 +0200

    x86: rework hypercall argument count table instantiation & use
    
    The initial observation were duplicate symbols that our checking warns
    about. Instead of merely renaming one or both pair(s) of symbols,
    reduce #ifdef-ary at the same time by moving the instantiation of the
    arrays into a macro. While doing the conversion also stop open-coding
    array_access_nospec().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>

commit fe3f50726e878c81985e28282927d151a0d49de5
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Thu Aug 18 09:30:10 2022 +0200

    x86/entry: move .init.text section higher up in the code for readability
    
    .init.text is a small section currently located amongst .text.entry
    code. Move it above .text.entry.
    
    This has no functional change but makes the code a bit more readable.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit f2d947ac0738098ec2f52a17448df7e2acd64ff9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 18 09:29:34 2022 +0200

    x86/P2M: allow 2M superpage use for shadowed guests
    
    For guests in shadow mode the P2M table gets used only by software. The
    only place where it matters whether superpages in the P2M can be dealt
    with is sh_unshadow_for_p2m_change(): The table is never made accessible
    to hardware for address translation, and the only checks of _PAGE_PSE in
    P2M entries in shadow code are in this function (all others are against
    guest page table entries). That function has been capable of handling
    them even before commit 0ca1669871f8a ("P2M: check whether hap mode is
    enabled before using 2mb pages") disabled 2M use in this case for
    dubious reasons ("potential errors when hap is disabled").
    
    While doing this, move "order" into more narrow scope and replace the
    local variable "d" by a new "hap" one.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Tim Deegan <tim@xen.org>

commit 6270081c57978ff32d76d8eb11196fd217f7af2d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 18 09:29:04 2022 +0200

    x86/shadow: slightly consolidate sh_unshadow_for_p2m_change() (part III)
    
    In preparation for reactivating the presently dead 2M page path of the
    function, also deal with the case of replacing an L1 page table all in
    one go. Note that the prior comparing of MFNs to bypass the removal of
    shadows was insufficient (but kind of benign, for being dead code so
    far) - at the very least the R/W bit also needs considering there (to be
    on the safe side, compare the full [virtual] PTEs).
    
    While adjusting the first conditional in the loop for the use of the new
    local variable "nflags", also drop mfn_valid(): If anything we'd need to
    compare against INVALID_MFN, but that won't come out of l1e_get_mfn().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Tim Deegan <tim@xen.org>

commit 241702e064604dbb3e0d9b731aa8f45be448243b
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 18 09:28:38 2022 +0200

    x86/shadow: slightly consolidate sh_unshadow_for_p2m_change() (part II)
    
    Pull common checks out of the switch(). This includes extending a
    _PAGE_PRESENT check to L1 as well, which presumably was deemed redundant
    with p2m_is_valid() || p2m_is_grant(), but I think we are better off
    being explicit in all cases. Note that for L2 (or higher) the grant
    check isn't strictly necessary, as grants are only ever single pages.
    Leave a respective assertion.
    
    With _PAGE_PRESENT checked uniformly, the suspicious mfn_valid(omfn)
    checks can be dropped rather than moved/folded - if anything we'd need
    to compare against INVALID_MFN, but that won't come out of l1e_get_mfn().
    
    For L1 replace the moved out condition with a PTE comparison: There's
    no need for any update or flushing when the two match.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Tim Deegan <tim@xen.org>

commit 0caf699e69d79f54b94191e2f84956713c4be0da
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 18 09:28:05 2022 +0200

    x86/shadow: slightly consolidate sh_unshadow_for_p2m_change() (part I)
    
    Replace a p2m_is_ram() check in the 2M case by an explicit _PAGE_PRESENT
    one, to make more obvious that the subsequent l1e_get_mfn() actually
    retrieves something that really is an MFN. It doesn't really matter
    whether it's RAM, as the subsequent comparison with the original MFN is
    going to lead to zapping of everything except the "same MFN again" case.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Tim Deegan <tim@xen.org>

commit 62ca138c2c052187783aca3957d3f47c4dcfd683
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Thu Aug 18 09:25:50 2022 +0200

    tools/libxl: Replace deprecated -soundhw on QEMU command line
    
    -soundhw is deprecated since 825ff02911c9 ("audio: add soundhw
    deprecation notice"), QEMU v5.1, and is been remove for upcoming v7.1
    by 039a68373c45 ("introduce -audio as a replacement for -soundhw").
    
    Instead we can just add the sound card with "-device", for most option
    that "-soundhw" could handle. "-device" is an option that existed
    before QEMU 1.0, and could already be used to add audio hardware.
    
    The list of possible option for libxl's "soundhw" is taken the list
    from QEMU 7.0.
    
    The list of options for "soundhw" are listed in order of preference in
    the manual. The first three (hda, ac97, es1370) are PCI devices and
    easy to test on Linux, and the last four are ISA devices which doesn't
    seems to work out of the box on linux.
    
    The sound card 'pcspk' isn't listed even if it used to be accepted by
    '-soundhw' because QEMU crash when trying to add it to a Xen domain.
    Also, it wouldn't work with "-device" might need to be "-machine
    pcspk-audiodev=default" instead.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 15:49:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 15:49:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389657.626732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOhmA-00026J-8J; Thu, 18 Aug 2022 15:49:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389657.626732; Thu, 18 Aug 2022 15:49:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOhmA-00026C-5P; Thu, 18 Aug 2022 15:49:42 +0000
Received: by outflank-mailman (input) for mailman id 389657;
 Thu, 18 Aug 2022 15:49:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3bNE=YW=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oOhm9-000266-75
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 15:49:41 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5db157bf-1f0d-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 17:49:39 +0200 (CEST)
Received: by mail-pj1-x1029.google.com with SMTP id g18so2112764pju.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 08:49:39 -0700 (PDT)
Received: from leoy-yangtze.lan
 (ec2-54-176-161-147.us-west-1.compute.amazonaws.com. [54.176.161.147])
 by smtp.gmail.com with ESMTPSA id
 i1-20020aa796e1000000b00528669a770esm1831536pfq.90.2022.08.18.08.49.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Aug 2022 08:49:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5db157bf-1f0d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=/OeE267ROVI0HXixUhlktfpxlQeHv6fRFQWJOEumgfo=;
        b=L60lgyeqGLIIr0KP0OTpWkCOty6+qVsoB+LwYj1SMilDpptQM6J4AfJJLXDK3sbDRK
         Q6HdM/2bRPV9pIRhryl6MP99tr5tBpy+MZsQqjifqGZ/5FuI84y1t4EI3DsQ64Wd27Wc
         XqXCef1/Q2gBMaKbH1qnArYEHzcscW+uNfXINJoCJLqZinwB+8oqJmoY1RI/6Q3zWK6i
         5i5/YRuO6j98hygHIoZfH9Lm8cVJHaKzbAFh56X9tkDfc/QQ2xYuFiZerilGSGDnldhr
         BoocT0XCTG8+Zjb3ifYXxw+KOsNR7w3gfInnPcoXypbCu3QRpda8eix0cL5Oy0AeGYx8
         reSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=/OeE267ROVI0HXixUhlktfpxlQeHv6fRFQWJOEumgfo=;
        b=RMAL7EY8S+ZbzLNds0tlYBTDEYYD/PWNqM229owHfiC3XTbDO9mzCL8B4RGM9sKCHX
         yrkICISZpBpZ+J4KbpOOCcxYhATasbLAwAu/zS6cEUiDPfFSZHmbevhfc5P70Zvcwowp
         xl4TNh2jVjDXOnq8cnr1YSdxrtcH7mkO8IEC+ruH0AHoEgnWCA1n+trWyWroulmUm5Px
         p5QAqewy2YoamustuCOrx3mKnWtAKnXI2YbkUwMLDYVuRSrGtSMAzicap/CSvXBvr9Lq
         Y08CYArowEkyBfcNwFNFrZt2J7y64RjSbRS5uH2YX+BbW8HlG6Ko50mqLqvpfcyz6oUJ
         Qmtw==
X-Gm-Message-State: ACgBeo1KnzBhQyH8rKY2hUt3VxaNYVqAhS0n0Lnvu/iRq9UlP6jqMVgH
	Ecj3tUHUmO9adBoIwW9nMgH9Dw==
X-Google-Smtp-Source: AA6agR6jhvMLI/rL9nxUb97LiscOx5M5m1mnrklyFCqYJ3NCdBgLlihrrnoY7H1aKRmfJAxptzvlGw==
X-Received: by 2002:a17:902:f610:b0:172:990e:33cd with SMTP id n16-20020a170902f61000b00172990e33cdmr3099909plg.145.1660837777619;
        Thu, 18 Aug 2022 08:49:37 -0700 (PDT)
Date: Thu, 18 Aug 2022 23:49:30 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Ard Biesheuvel <ardb@kernel.org>, Jan Beulich <jbeulich@suse.com>,
	Marc Zyngier <maz@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>

On Thu, Aug 18, 2022 at 11:04:48AM +0100, Julien Grall wrote:

[...]

> > > Seems it's broken for kdump/kexec if kernel boots with using DT?
> > > 
> > 
> > EFI supports both DT and ACPI boot, but only ACPI *requires* EFI.
> > 
> > So DT boot on hardware with affected GICv3 implementations works fine
> > with kdump/kexec as long as EFI is being used. Using non-EFI boot and
> > kexec on such systems will likely result in a splat on the second
> > kernel, unless there is another mechanism being used to reserve the
> > memory in DT as well.
> > 
> > Maybe we should wire up the EFI_PARAVIRT flag for Xen dom0 on arm64,
> > so that we can filter out the call above. That would mean that
> > Xen/arm64/dom0/kexec on affected hardware would result in a splat in
> > the second kernel as well, but whether that matters depends on your
> > support scope.
>
> In the context of Xen, dom0 doesn't have direct access to the host ITS
> because we are emulating it. So I think it doesn't matter for us because we
> can fix our implementation if it is affected.
> 
> That said, kexec-ing dom0 (or any other domain) on Xen on Arm would require
> some work to be supported. OOI, @leo is it something you are investigating?


Now I am working on automative reference platform; the first thing for
me is to resolve the kernel oops.

For long term, I think the kexec/kdump would be important to be
supported, to be clear, so far supporting kexec/kdump for Xen/Linux is
not priority for my work.

Also thanks a lot for Ard and Mark's replying. To be honest, I missed
many prerequisites (e.g. redistributor configurations for GIC in
hypervisor) and seems Xen uses a different way by emulating GICv3
controller for guest OS.  So now I am bit puzzle what's for next step
or just keep as it is?

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 15:50:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 15:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389663.626743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOhnM-0003Pi-JO; Thu, 18 Aug 2022 15:50:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389663.626743; Thu, 18 Aug 2022 15:50:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOhnM-0003Pb-Fh; Thu, 18 Aug 2022 15:50:56 +0000
Received: by outflank-mailman (input) for mailman id 389663;
 Thu, 18 Aug 2022 15:50:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rLbC=YW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oOhnL-0003PP-2d
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 15:50:55 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70077.outbound.protection.outlook.com [40.107.7.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8aa650b7-1f0d-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 17:50:54 +0200 (CEST)
Received: from AS9PR0301CA0006.eurprd03.prod.outlook.com
 (2603:10a6:20b:468::35) by DBAPR08MB5702.eurprd08.prod.outlook.com
 (2603:10a6:10:1a3::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 15:50:51 +0000
Received: from AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:468:cafe::92) by AS9PR0301CA0006.outlook.office365.com
 (2603:10a6:20b:468::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Thu, 18 Aug 2022 15:50:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT032.mail.protection.outlook.com (100.127.140.65) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 15:50:50 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Thu, 18 Aug 2022 15:50:50 +0000
Received: from 68c2dd1976a5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 616EDB4F-16F4-4F67-9535-9EB486CF5F9C.1; 
 Thu, 18 Aug 2022 15:50:43 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 68c2dd1976a5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 18 Aug 2022 15:50:43 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB5202.eurprd08.prod.outlook.com (2603:10a6:208:166::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 18 Aug
 2022 15:50:42 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.028; Thu, 18 Aug 2022
 15:50:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8aa650b7-1f0d-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=fKYha+gg3tKdUDy+yvs0+hsdBpxo1xyBi5S74hAkl+mPYLH9uI1tKGcz3F9jQ7NTaPXGTyxNirhz+JoM+OMTK+zm71QMILgkxl4f73E9q4uul08C/zNT4u6WKtzoWlSDT61zeGz3bLmmGRTEEkY0AVn7C7KT1FJT/PGLJm6KRTAdYZs817RPx6NVDgrGebYzhebNuNjG7ptufNkf49OgaTiWSUZkD0LF6lPZ8X2WT9C2WRzTueM2THk7/t8XItNy8Iuud77WBrlrSVPrWChZ66WVz/x04DEuDdgEsZwRtA0IA/bSOT5oh72PGXjpck5xs6fkUrKuF4ImOdpiO8289g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ucRyjCWzIV/kcdluUxKTf4R2mXjqu7ArjFcEA4o+VJk=;
 b=h4Y9ecBBmQn6ETGGxUJkUNSM7UECI9pS1RSVFKdwZ92Wfjg80Jj/Ra8/Jw7J066I4BIuK68p7mEncL19HIgfnjUgM77aXFXp+xqaG7Hxxct4DFAaMzyLTg/6bbc3K2W0BAzXz1GNYXluV2hXFMKDJYGR44cDlD04/jXQadMmKFAjWEevbq+6VohpiOm6GAZpWc6slmu6Oi0QJx30xsCBgatFar1Sw1g2h/FgdNtdKJHdGwpOvewEi7j/aZHaPAtNhmLBVbSIANpA25cJLY5HQ0PXBdLC9zNCfb/XJ71NPXJQGxd+duUC6bc+et/cw+DCuhRO5ewzsWCNUCKdaOdEMA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ucRyjCWzIV/kcdluUxKTf4R2mXjqu7ArjFcEA4o+VJk=;
 b=7VVVGg3MTbSua9/q3yixO6aF5kJAFmOJjLemqUcLA2tAxrajw1UGDmhDMpyvWynE/W6ICd+jMtYRyi1xpSobFLYsBNfied8waZrkDKZNJC1Y1272n/7DnOwTFOuMfKTRQBAwHiaY+WsIM5RSgKMBMWNY+/4xEHUjcKeOagrZ2s0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0ec138b937304e49
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZWNYkouRa/WI/IF72qWTnUNcvRHig9w8d4+B9ahwob3W0bF5ihHxH/Cn88QW6QcsJoR9aNtmKEaC7TZoyWl4o/3kixj7J/+lnAwzbQHGWLejfHG4x6vgJKDA4CRTKGfwxFeLhjwJbvb7dcUG/RALJ0REtLiJri6+q0v3RCi1kwQsP8kQlnVTX+tO8XCGZfYVmyxJLoTYag7sU7Xod74EdaMCDo9MaiFkcw4r1Kpqty1KN509AjejE958dwVy5Ai3kbg1HrU18/pFxAiEpesCk/8bY5HDCf5xvV2uMJvExRTJll4jAEbTltHzdIyUgHatg4YuE1NjKuo4sB4eQ7pALw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ucRyjCWzIV/kcdluUxKTf4R2mXjqu7ArjFcEA4o+VJk=;
 b=jhVSmaAmV1MeLJ+3sbH8q3teDiEYirp1imlkjJ0cK9yZYgJMeq5ACHEfpnnu0pzjFH+5WaumQbHGdixd8G/mBmmGaUDbeZ5Obvp3tTjtLZjRbuBtFNulgGUE4C/UimvNs8YuMsg3jG3r3y/Qit6uSuEGvM9Xr/GOdo7G9ACcq5c0nZ6ZhksKeOE6/RSDcYoXP3ahkdW1ErvlXcGz5X129y4bMno8qtXmfOxTdE44FWKbbDRcxYfUGMvCp/g5SMuy6PFrP2qNM9YSPwso8nzQb1srbnblGQPOtXzVLlDwigHkXFJHjDX2ZGEa3527HsJVciBKL80putdLfNoO+qchuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ucRyjCWzIV/kcdluUxKTf4R2mXjqu7ArjFcEA4o+VJk=;
 b=7VVVGg3MTbSua9/q3yixO6aF5kJAFmOJjLemqUcLA2tAxrajw1UGDmhDMpyvWynE/W6ICd+jMtYRyi1xpSobFLYsBNfied8waZrkDKZNJC1Y1272n/7DnOwTFOuMfKTRQBAwHiaY+WsIM5RSgKMBMWNY+/4xEHUjcKeOagrZ2s0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] automation: Remove build-* from gitignore
Thread-Topic: [PATCH] automation: Remove build-* from gitignore
Thread-Index: AQHYlf2h3D1pYVHMJUWskUaBieWyaq208g8AgAAWf4A=
Date: Thu, 18 Aug 2022 15:50:42 +0000
Message-ID: <7F650359-E32D-46F8-BA69-A9DE3A1C3224@arm.com>
References:
 <199cc377eb38606bfa4b33942f0ed688080cf535.1657636714.git.bertrand.marquis@arm.com>
 <2682b544-aea2-f3a3-48ae-4ebb03ac0acc@suse.com>
In-Reply-To: <2682b544-aea2-f3a3-48ae-4ebb03ac0acc@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 61a3861c-7141-4362-bb42-08da81316d04
x-ms-traffictypediagnostic:
	AM0PR08MB5202:EE_|AM7EUR03FT032:EE_|DBAPR08MB5702:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 9Lj81+5orKIgIzYWa4gzZEnAUlKPVasMf1by4XK+sV0loAOiTuZWHasB9e5dgU+oL1VZ+0R10xI+XBgIpRIjoBznTPuMZ+GXLY/mAjX3lJKw1qqvdsP28r5ljRFRLC+MOBTwICRaUd9bi3h/8DOddRuqMWE7kiItuWHo+Tj6bBf+XAS8IaQehhPywY84VwAjsjg4kFR/tUaNHBAHVh4raH2YoBVj69Fj274RA6MraDwqm9L4GhE0K/ercvMkW6GvGbyNssZ4/pA0imr8y7yTW2gyKOIkYCFR8pAVHztw999S+Um2BqnJd4sj2Sq0T/6LXC9NlbsHimYuGTK8zrUjJea5ZreqpOUJGX6JzO1Y1hS4Mb8jsLY0R6aDGIMbT4frZZ5oua3O/47HKE+fKhx93KUG9/uyX1JsNL6Z7ciQMX7wSi8zqDBPXpcRpKdBT7M+qjNgBg5jPlROdkHoftvePHK0QwM20Um3KKGKZYd2GmyZhrVMKQGLAwULFOY321tEgbP9FnGREoQq5B3iVHrWVQq2Fit6H4HeqqZcT20A37n0XQUx0elgkUVMAjeZzCJKBRQQrIrEhGqf7TJ7Y+ZZ5qCoYdFwwA1LEVWYE8+JCZIfG/ol7bIridEFQ6GVE/dwfNB2L9VtwZwHBdRwjoaPrCqi+EYvVSTXAkkzXCGvYo557fkwbLpykxB0ivx3hG6kk0KffNogySHgcF1OGO2ftHnC7RdZADUmzFyOb4hFyEotgXtY651zrJmklbuJa6mdSLLR8ccMFOKec+eoKKom/tJP86izZXwr4nAO0FfI87wj89KZiQY6NHC+O3T+GVVCZQnXmGKcpMiw4n4wQVmM+w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(346002)(376002)(396003)(136003)(8936002)(8676002)(54906003)(186003)(33656002)(478600001)(6916009)(66446008)(66476007)(4326008)(64756008)(71200400001)(122000001)(66556008)(6486002)(76116006)(91956017)(86362001)(2616005)(316002)(38100700002)(66946007)(41300700001)(26005)(53546011)(6506007)(2906002)(38070700005)(5660300002)(6512007)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <71D059DBFB083D479B0540ECD0D94EB8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5202
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3a385d7b-e3e9-4ede-01bc-08da813167d8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l6+Y1+k1pXIVMXLxdROr7MFyU33cSs3Tu+8K3jpIxLBeJowl1PeLCl8HCEg3Ps2txJONk9rBapATuuS8A1VgMUXmsSs8n2yu6tYCKRwTOFhzcwPPHigPuMpZZRiZFHsE1ckx25OQv0UHc5O/Zka/hTas8sZ+BwR33/C7Xf4phjKiO7IiWEv3gxwqQ/XKqmid/uYvZVmjPkx700gKbKNiGy3PI47UYI9ev5MixoBNxKhxYSxageAoc59/BDKhLGcBnqvwngTpo+Aik7jHQaJsqneanTE0JaC47vT9mxl5Hk4UZilc2kgs4tOnYvNHYgXjz6i1SRHQ9N97tiHzFQlzriseLpzNtCG0s+v8gwu4npHfvhoOTKOk9SIgHsRtI5aLGebiyfwC7sQ4E8lz75yTtbujqaaVxKCptm+vpruMNz4hvc4fg7hjiQByCjAtTJ2bQiQi19frQXunD9g1Vn5azRqBdUbeO5TJMZ41Vyc4u42xwdud/JNOWyymj0FdOMRlHsDBs5LvKbsZ6qgu4KYkCX1qGEIydb50y1NoSuL56PAqJirMIe0tEGUqwxSXoipiDAY5c+M4fY7czsHZT2ftzqzWEXmPphklIuWKYRhF8VrgEjQ5+uMqKXBW/WV9X0XSbCEMY54RgnPQ73LzP/+VGAUmqUllfo+gblvPYzMsUF7pTAZTR8whedu33zoQ3bhqlqj8bqzcER6YxijoZQdJIDcGUo38PnWGy1YcsWpza2dAuCp0IinUzMLPu9hVBl5W55poRDarFYQs8BBKfM+cbXkJmUfSPPQg4ocXRJ56p8Q=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(136003)(346002)(396003)(40470700004)(46966006)(36840700001)(356005)(6506007)(54906003)(8936002)(81166007)(36756003)(36860700001)(82310400005)(82740400003)(40480700001)(316002)(6862004)(6486002)(8676002)(336012)(478600001)(70206006)(53546011)(33656002)(70586007)(47076005)(2616005)(186003)(40460700003)(26005)(5660300002)(41300700001)(2906002)(4326008)(6512007)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 15:50:50.8285
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 61a3861c-7141-4362-bb42-08da81316d04
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5702

Hi Jan,

> On 18 Aug 2022, at 15:30, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 12.07.2022 16:41, Bertrand Marquis wrote:
>> ...because there are some scripts in automation corresponding to the
>> entry (build-test.sh and build-each-commit.sh)
>>=20
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>=20
> While it seems odd to have this simple a patch sit un-acked for this long=
,
> it looks like I'm not the only one uncomfortable ack-ing it without knowi=
ng
> why the entry was there. Old .hgignore history only tells me that at some
> point build* was changed to build-*. This recent mail from Andrew
> (https://lists.xen.org/archives/html/xen-devel/2022-08/msg01043.html)
> matches my vague recollection of build-* being used as sub-trees for
> building stuff when out-of-tree builds are possible, yet people also don'=
t
> want to build in an entirely separate tree.

Thanks for reacting on this, I should have pinged in fact.

>=20
> Hence as a compromise between keeping the status quo and deleting the
> entry, could we go with changing it to build-*/ ?

I must admit that not knowing why it was there I could not suggest how to f=
ix.
This would work for the current issue so I am ok with that.

Cheers
Bertrand

>=20
> Jan
>=20
>> --- a/.gitignore
>> +++ b/.gitignore
>> @@ -44,7 +44,6 @@ config.cache
>> config/Toplevel.mk
>> config/Paths.mk
>>=20
>> -build-*
>> dist/*
>> docs/tmp.*
>> docs/html/
>=20



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 15:55:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 15:55:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389669.626754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOhs3-00048k-BF; Thu, 18 Aug 2022 15:55:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389669.626754; Thu, 18 Aug 2022 15:55:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOhs3-00048d-8E; Thu, 18 Aug 2022 15:55:47 +0000
Received: by outflank-mailman (input) for mailman id 389669;
 Thu, 18 Aug 2022 15:55:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rLbC=YW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oOhs2-00048X-3X
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 15:55:46 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60074.outbound.protection.outlook.com [40.107.6.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38121231-1f0e-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 17:55:45 +0200 (CEST)
Received: from DB7PR05CA0025.eurprd05.prod.outlook.com (2603:10a6:10:36::38)
 by VI1PR08MB4432.eurprd08.prod.outlook.com (2603:10a6:803:102::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 18 Aug
 2022 15:55:42 +0000
Received: from DBAEUR03FT033.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:36:cafe::47) by DB7PR05CA0025.outlook.office365.com
 (2603:10a6:10:36::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Thu, 18 Aug 2022 15:55:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT033.mail.protection.outlook.com (100.127.142.251) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 15:55:41 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Thu, 18 Aug 2022 15:55:41 +0000
Received: from 952fb6547a9b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 54184866-10AB-4006-BF76-55654F089715.1; 
 Thu, 18 Aug 2022 15:55:33 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 952fb6547a9b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 18 Aug 2022 15:55:33 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB8PR08MB4089.eurprd08.prod.outlook.com (2603:10a6:10:a7::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 18 Aug
 2022 15:55:21 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5504.028; Thu, 18 Aug 2022
 15:55:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38121231-1f0e-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=EwKH5Ko+W2bsEx8fTlbAWXh5DzJvnhVbr4RM9SlPbmbr1NhiPHOKnCiWaVGP4HLW0dhm5VbcZ5DtYnGAZIj8Eof6cyJ1jIgCVwmjyTXaXGdszWminVL7UT75HEFQjtWAVzJy2F5UFMdFIsjcTNf5bxWhtqJW9Z6DMHfqriW4q3opaIvloLn1+XouYokcvJdUydCrV4kiRqNhacmqSrRYOtRwNXRz9iPCTYEOi8iKfOro7oMtRJX2jkRT+1y+RZpDPAiKw3rE40WOPajJwlEruuZo/fyahB8pyc/3gLj+KHMHc3BnEaA/YEk4bOolFddxY+ifAgOK+XD5E/G9Z5l71A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TMzkTNH5hvn90NBTpX1W+AG3W0UYyQi/H74H18SiPkI=;
 b=B1rhow40rprQmZjLOp4NWijKLIz0TerYskWcFLspoVgikk5ZTiSd9aUcm5NK7ZD3oCQpEBdQI+mfEGMIVbf1aF8hwkQn6Mvm1IledXk6DrGjZRJhT2Pw6bCkPukvsD90krVeoYl+2+7WM0GKWphNpmtvWEsLy6tUrtndGTlOSFJGI+L5t+jTLehhWXcCYfoS1F89IphDhyDdfSJts4O4ezj85xFhnLbdaWNmsIWrtlK1fyog/CZnL2d+aq6eF4UkSlpRfbeiv5V+nTGBZ+oFaEB7f+6xXAskmfyfzx+/Qr/TPVF33Oh0L8W86GOfDsEARVi1BpoOx07ZjLSF/ff95w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TMzkTNH5hvn90NBTpX1W+AG3W0UYyQi/H74H18SiPkI=;
 b=T7YRw7sjqvGPQaOcD3xKzuyHafPCCVERy+0bLLgYQ2cjhtnNFNRghFjeLADxHhh+c1ahDnj+oQz56hf97P4kFSJFYMHj0/+D1usKp5NFepWAZkC8t8SeDLUhgHWMfJrnZvGM8dJGkGcN1lZUfAHu2sH2EwhK+qW8uHNp1EelJXo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 02e97ac081eb1fa0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NWvB7MOoQbWSsZaZ6dk4/pURZDOBbMadT7G+WalVsSzcVSpoJaU28fDm9zqm0wx4vyEYO6PlHcW1jP5mZbL37uOXYz2OgaTdXYlsKorPVYtdJL+kDCd9DetSJKrMhU13t1RtRUXkji8COU5nZ6+OkKrWcCZgRqU0LAmVRlYpEwwDrIPji1Yr59NNHEUZM9plmbe6LgzGCPwwWMttKJZhCh7XowHqwUfpCFjtTTgfPzHLpg/1sNv6pZxdV7P5AjGBOn1as1x4v/HiaIqohijw0rhkIjVSwlu5FyIjyX3jIopaLAvuoAxwV1CIZnH+W6x/Gao+j9wKFq7pEuEGYISzwA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TMzkTNH5hvn90NBTpX1W+AG3W0UYyQi/H74H18SiPkI=;
 b=gFCcxJQNY7nGWlbfNS+MSaR5v+36xqljP0WEw2K62ZPlh1egkP21I2T0fpxSUt+VhBWzklsiIIAw+Y3vImX4UZOT3Os05pUrRNRTm/BeNWu1eNSk2XXHcOOAJbqBtjbA2W3XqEnfyQ5A9/c6e8vVS9KLxitvYrAra4n73pwyRJaVh+mP0v9wCYOhKrB0hoaYsGJUtJsDm1TBPsk6jLnVvd4nN34Q8LlKtP7X7+dG4j4SnEu6VQnPD64zBOxacdFlWllAl8z6SepYWDqEsDw3+uIJ8Asek3XaUj2Nl2syTSSIoCygWGMEPF1GzV8tYIJTv0Nls7+TOe9vTNVFsTM1CA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TMzkTNH5hvn90NBTpX1W+AG3W0UYyQi/H74H18SiPkI=;
 b=T7YRw7sjqvGPQaOcD3xKzuyHafPCCVERy+0bLLgYQ2cjhtnNFNRghFjeLADxHhh+c1ahDnj+oQz56hf97P4kFSJFYMHj0/+D1usKp5NFepWAZkC8t8SeDLUhgHWMfJrnZvGM8dJGkGcN1lZUfAHu2sH2EwhK+qW8uHNp1EelJXo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jens Wiklander <jens.wiklander@linaro.org>, xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>, Luca Fancellu <Luca.Fancellu@arm.com>
Subject: Re: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2 extended
 input/output registers
Thread-Topic: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2
 extended input/output registers
Thread-Index: AQHYsvEkHkqzGWJxi0qzDFcav/qI3620q3mAgAAND4CAABdsgA==
Date: Thu, 18 Aug 2022 15:55:21 +0000
Message-ID: <D8557FC4-C3B1-4F40-A264-2D8DE68E71CD@arm.com>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
 <20220818105601.1896082-2-jens.wiklander@linaro.org>
 <EC23C48B-C9ED-4BD0-BD6D-4967A2509B2B@arm.com>
 <4613f385-b11e-6d4f-42df-2febac4440d1@xen.org>
In-Reply-To: <4613f385-b11e-6d4f-42df-2febac4440d1@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: d9dbab48-0b2f-4829-80f3-08da81321a31
x-ms-traffictypediagnostic:
	DB8PR08MB4089:EE_|DBAEUR03FT033:EE_|VI1PR08MB4432:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 COChE0FV2SPIjEA7Kh7k6lXWSKV3BUlvxYWqGkRQ8im2lz6eVWtvSVk/vmeH11w1lA9VZJnWqe3wZM5whujvKLhEy6g9tQCHGLgnPtWMeYSvBuTziu93Mk7Pe2ZpiwWm/3kOeDNp/HE1T++wSiG+0E/swtw3Kt4p5GQUigIGfD4Cwsd43bLp90DppwSHpLsF04UdypWI5KPWcRT60tCvzbvXQivk1hFXwi/8siVlcNy8KB2Qt/AJG+BaqzIk2eThsXnoQVuSDO/GIMU608p13UGvVQcQJV81MQUm0aAbku81/4sQEvUqEHDZSgZitUwRRI0ddos2oYmPLG9/KjkxDjbDcP4vbWSDFrxuAYcldJdtGiTUlTRBvb3v823rQPGjDbv9PEXp7YqYF3pDtI/w73z5Su8WcZnt1aTegkp/6+h48EIwEkO/xOTmSI4lERHb2caFGGC10HuLfYnHo/zpSXAcupqvDYHrl252v2TMJbS5VpUN5KafwfCj9Y87Yl410PLa4BL/wlB2Ff2u5kR6itfzvyK3jX4+jRqO+ahgu2kHiHgskyJSF06LeWMh4GBBApuRpEVE/4mHFL85KiItJYD5IfLq7XMXuf8Z2k+ViFhDWyt2BuS8nAdfoTcD+WmhiJeNW5y72syM7Bxhoga8aaMOgrGlO10yikeu+YwT5F+dQmIo9OXctbelC3X3U2U7AOy1GxTRUZEuhokUVlnT2ggH9eLdavo0vIlHrlHrV0wpUlBUjBs/nBLMed7sJ7VtKl0kUfh+5O+9f8nR1iKODNomEX/duqoZtrm8WM/XVJpqGrQnwP64Djhce5IbwQFiD4alyBHuu18GNqctEjpAzQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(346002)(39860400002)(396003)(376002)(478600001)(966005)(186003)(5660300002)(64756008)(6486002)(36756003)(83380400001)(6916009)(8936002)(54906003)(86362001)(33656002)(91956017)(38070700005)(26005)(71200400001)(6506007)(53546011)(41300700001)(316002)(122000001)(76116006)(4326008)(8676002)(66946007)(2616005)(66556008)(2906002)(66446008)(38100700002)(6512007)(66476007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C19BA83CD152D2468B6801EC66768D3C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4089
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cb8b5861-b7f6-4d2d-3b9e-08da81320e71
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LCSeC3ZOeS6jNEENXhXlt7/mZ9jtLTND7tltEn/w3sOsyf8wzJFn6CVZpOZrJlyxOZZ/rxCaIoqLBl4tYI9Z3hFZ/Ow8Ty1mbF3fljC3SZH2WFsvt+x4lrEPb0p6UL5oWe8GrezXg1b74VSVsnYeS5hrF4T3vY6gSPIQIiWb8EXXz+vZ8wjjq3AP7G5O8MMJlMRjBB/AlqDJ1EkxIFSN16x3LboCSTQmgZMg01l8E+0TuK5XsUs8NASaOOcNbO1cMPFjrUAgTBZHtKwVPIsKSfKXT0n0IbU5COIoOJvUdm2C6IKCnfxFx/0GOz/yBc4St19FBRKJuWZq7p7LGR8U7H6GOtw/EV7eqXb3f/K3YBZvNSqc1b1ZmkbY0fbU4352O2zU1mLXhmW0FVbTn8GeJyWRKvjwYyybPh9Ij9Scqk+bf52Vudi0d/D5S1zH7zr9PDvWv1tyhanlMP0KJvWCNH/pHFQ21a/dUgKY5lqJbd2ufpupbklMihJImUUFr2+rQUHoJqF69zzVWjynXKgSfkkOEBvUBkNE9DMuUDnW5WkdKM1mChO2oX7ugTDoQUTvBwj8IGaQQEvsfTH2ALiA+5eWyFRpQqWKDnyOrqH5fVg+EweTMj24vEqA2iVHSNHLBvxJ8F4/Kr/Yg/r7Dh5ObHHa7gAQT1oTXBxKhLAw3SLZwNZo9xyvMUZu69Yb1FpSMhsiwPPLGvmIkO/5rXcAAleOCfm/r6p6gPGZ6Mad9ptS2pK5zZb+DSCTVGzlvd/yHWZCYjYxBW1DmiE4mSeWpE0yMCjPWrOI5O9kUKry8Tg=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(346002)(39860400002)(36840700001)(46966006)(40470700004)(6486002)(6512007)(966005)(82740400003)(6506007)(54906003)(70206006)(70586007)(53546011)(2616005)(336012)(4326008)(8676002)(33656002)(5660300002)(186003)(47076005)(82310400005)(36756003)(86362001)(356005)(40460700003)(81166007)(6862004)(41300700001)(40480700001)(2906002)(26005)(36860700001)(83380400001)(8936002)(478600001)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 15:55:41.4146
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d9dbab48-0b2f-4829-80f3-08da81321a31
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4432

SGkgSnVsaWVuLA0KDQo+IE9uIDE4IEF1ZyAyMDIyLCBhdCAxNTozMSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBCZXJ0cmFuZCwNCj4gDQo+IE9uIDE4LzA4
LzIwMjIgMTQ6NDQsIEJlcnRyYW5kIE1hcnF1aXMgd3JvdGU6DQo+Pj4gT24gMTggQXVnIDIwMjIs
IGF0IDExOjU1LCBKZW5zIFdpa2xhbmRlciA8amVucy53aWtsYW5kZXJAbGluYXJvLm9yZz4gd3Jv
dGU6DQo+Pj4gDQo+Pj4gU01DQ0MgdjEuMiBbMV0gQUFyY2g2NCBhbGxvd3MgeDAteDE3IHRvIGJl
IHVzZWQgYXMgYm90aCBwYXJhbWV0ZXINCj4+PiByZWdpc3RlcnMgYW5kIHJlc3VsdCByZWdpc3Rl
cnMgZm9yIHRoZSBTTUMgYW5kIEhWQyBpbnN0cnVjdGlvbnMuDQo+Pj4gDQo+Pj4gQXJtIEZpcm13
YXJlIEZyYW1ld29yayBmb3IgQXJtdjgtQSBzcGVjaWZpY2F0aW9uIG1ha2VzIHVzZSBvZiB4MC14
NyBhcw0KPj4+IHBhcmFtZXRlciBhbmQgcmVzdWx0IHJlZ2lzdGVycy4NCj4+PiANCj4+PiBMZXQg
dXMgYWRkIG5ldyBpbnRlcmZhY2UgdG8gc3VwcG9ydCB0aGlzIGV4dGVuZGVkIHNldCBvZiBpbnB1
dC9vdXRwdXQNCj4+PiByZWdpc3RlcnMuDQo+Pj4gDQo+Pj4gVGhpcyBpcyBiYXNlZCBvbiAzZmRj
MGNiNTlkOTcgKCJhcm02NDogc21jY2M6IEFkZCBzdXBwb3J0IGZvciBTTUNDQ3YxLjINCj4+PiBl
eHRlbmRlZCBpbnB1dC9vdXRwdXQgcmVnaXN0ZXJzIikgYnkgU3VkZWVwIEhvbGxhIGZyb20gdGhl
IExpbnV4IGtlcm5lbA0KPj4+IA0KPj4+IFRoZSBTTUNDQyB2ZXJzaW9uIHJlcG9ydGVkIHRvIHRo
ZSBWTSBpcyBidW1wZWQgdG8gMS4yIGluIG9yZGVyIHRvIHN1cHBvcnQNCj4+PiBoYW5kbGluZyBG
Ri1BIG1lc3NhZ2VzLg0KPj4gV2l0aCB0aGlzIHBhdGNoLCB5b3UgYWRkIHNvbWV0aGluZyBzbyB0
aGF0IHlvdSBjb3VsZCBjYWxsIFNNQ0NDdjEuMiBidXQgaW4gcHJhY3RpY2UgeW91IGFyZSBub3Qg
dXNpbmcgaXQgYW55d2hlcmUuDQo+PiBJIGRvIG5vdCB0aGluayB0aGlzIHBhdGNoIHNob3VsZCBi
dW1wIHRoZSB2ZXJzaW9uIHdlIHByZXNlbnQgdG8gZ3Vlc3RzLg0KPiANCj4gSU1ITywgdGhpcyBp
cyBiZXR0ZXIgdG8gYWRkIGl0IGhlcmUgcmF0aGVyIHRoYW4gaW4gYSBGRkEgc3BlY2lmaWMgcGF0
Y2guIE90aGVyd2lzZSwgb25lIGNvdWxkIHJhaXNlIHRoZSBxdWVzdGlvbiBvZiB3aHkgd2UgYXJl
IGFkZGluZyB3cmFwcGVyIHdoZW4gdGhleSBhcmUgbm90IHVzZWQ/DQoNCkkgd2FzIG1vcmUgdGhp
bmtpbmcgb2YgcHVzaGluZyB0aGlzIHVudGlsIHdlIGhhdmUgc29tZXRoaW5nIGNvbXBhdGlibGUg
d2l0aCAxLjIgYnV0IEkgZ2V0IHRoZSBhcmd1bWVudCBzbyBvay4NCg0KPiANCj4+PiANCj4+PiBb
MV0gaHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RlbjAwMjgvYy8/bGFu
Zz1lbg0KPj4+IA0KPj4+IFJldmlld2VkLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1
QGFybS5jb20+DQo+Pj4gU2lnbmVkLW9mZi1ieTogSmVucyBXaWtsYW5kZXIgPGplbnMud2lrbGFu
ZGVyQGxpbmFyby5vcmc+DQo+Pj4gLS0tDQo+Pj4geGVuL2FyY2gvYXJtL2FybTY0L2FzbS1vZmZz
ZXRzLmMgfCAgOSArKysrKysrDQo+Pj4geGVuL2FyY2gvYXJtL2FybTY0L3NtYy5TICAgICAgICAg
fCA0MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4+IHhlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9zbWNjYy5oIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+
PiB4ZW4vYXJjaC9hcm0vdnNtYy5jICAgICAgICAgICAgICB8ICAyICstDQo+Pj4gNCBmaWxlcyBj
aGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pj4gDQo+Pj4gZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL2FybS9hcm02NC9hc20tb2Zmc2V0cy5jIGIveGVuL2FyY2gvYXJtL2Fy
bTY0L2FzbS1vZmZzZXRzLmMNCj4+PiBpbmRleCAyODBkZGI1NWJmZDQuLjE3MjFlMWVkMjZlMSAx
MDA2NDQNCj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vYXJtNjQvYXNtLW9mZnNldHMuYw0KPj4+ICsr
KyBiL3hlbi9hcmNoL2FybS9hcm02NC9hc20tb2Zmc2V0cy5jDQo+Pj4gQEAgLTU2LDYgKzU2LDE1
IEBAIHZvaWQgX19kdW1teV9fKHZvaWQpDQo+Pj4gICAgQkxBTksoKTsNCj4+PiAgICBPRkZTRVQo
U01DQ0NfUkVTX2EwLCBzdHJ1Y3QgYXJtX3NtY2NjX3JlcywgYTApOw0KPj4+ICAgIE9GRlNFVChT
TUNDQ19SRVNfYTIsIHN0cnVjdCBhcm1fc21jY2NfcmVzLCBhMik7DQo+Pj4gKyAgIE9GRlNFVChB
Uk1fU01DQ0NfMV8yX1JFR1NfWDBfT0ZGUywgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywgYTAp
Ow0KPj4+ICsgICBPRkZTRVQoQVJNX1NNQ0NDXzFfMl9SRUdTX1gyX09GRlMsIHN0cnVjdCBhcm1f
c21jY2NfMV8yX3JlZ3MsIGEyKTsNCj4+PiArICAgT0ZGU0VUKEFSTV9TTUNDQ18xXzJfUkVHU19Y
NF9PRkZTLCBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzLCBhNCk7DQo+Pj4gKyAgIE9GRlNFVChB
Uk1fU01DQ0NfMV8yX1JFR1NfWDZfT0ZGUywgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywgYTYp
Ow0KPj4+ICsgICBPRkZTRVQoQVJNX1NNQ0NDXzFfMl9SRUdTX1g4X09GRlMsIHN0cnVjdCBhcm1f
c21jY2NfMV8yX3JlZ3MsIGE4KTsNCj4+PiArICAgT0ZGU0VUKEFSTV9TTUNDQ18xXzJfUkVHU19Y
MTBfT0ZGUywgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywgYTEwKTsNCj4+PiArICAgT0ZGU0VU
KEFSTV9TTUNDQ18xXzJfUkVHU19YMTJfT0ZGUywgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywg
YTEyKTsNCj4+PiArICAgT0ZGU0VUKEFSTV9TTUNDQ18xXzJfUkVHU19YMTRfT0ZGUywgc3RydWN0
IGFybV9zbWNjY18xXzJfcmVncywgYTE0KTsNCj4+PiArICAgT0ZGU0VUKEFSTV9TTUNDQ18xXzJf
UkVHU19YMTZfT0ZGUywgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywgYTE2KTsNCj4+PiB9DQo+
Pj4gDQo+Pj4gLyoNCj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FybTY0L3NtYy5TIGIv
eGVuL2FyY2gvYXJtL2FybTY0L3NtYy5TDQo+Pj4gaW5kZXggOTFiYWU2MmRkNGQyLi5jNTQ2MTky
ZTdmMmQgMTAwNjQ0DQo+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL2FybTY0L3NtYy5TDQo+Pj4gKysr
IGIveGVuL2FyY2gvYXJtL2FybTY0L3NtYy5TDQo+Pj4gQEAgLTI3LDMgKzI3LDQ2IEBAIEVOVFJZ
KF9fYXJtX3NtY2NjXzFfMF9zbWMpDQo+Pj4gICAgICAgICBzdHAgICAgIHgyLCB4MywgW3g0LCAj
U01DQ0NfUkVTX2EyXQ0KPj4+IDE6DQo+Pj4gICAgICAgICByZXQNCj4+PiArDQo+Pj4gKw0KPj4g
UGxlYXNlIG9ubHkgYWRkIG9uZSBsaW5lIG9ubHkgaGVyZQ0KPj4+ICsvKg0KPj4+ICsgKiB2b2lk
IGFybV9zbWNjY18xXzJfc21jKGNvbnN0IHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgKmFyZ3Ms
DQo+Pj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFybV9zbWNjY18xXzJfcmVn
cyAqcmVzKQ0KPj4+ICsgKi8NCj4+PiArRU5UUlkoYXJtX3NtY2NjXzFfMl9zbWMpDQo+Pj4gKyAg
ICAvKiBTYXZlIGByZXNgIGFuZCBmcmVlIGEgR1BSIHRoYXQgd29uJ3QgYmUgY2xvYmJlcmVkICov
DQo+PiBUaGUgY29tbWVudCBoZXJlIHNob3VsZCBiZSBmaXhlZCwgeW91IGFyZSBjbG9iYmVyaW5n
IHgxOSBoZW5jZSB5b3UgbmVlZCB0byBzYXZlIGl0Lg0KPiANCj4gVGhlIGNvbW1lbnQgaXMgY29y
cmVjdC4geDE5IGlzIG9uZSBvZiB0aGUgZmV3IHJlZ2lzdGVycyB0aGF0IHdpbGwgbm90IGJlIGNs
b2JiZXJlZCBieSB0aGUgU01DIGNhbGwuIEJ1dCB3ZSBzdGlsbCBuZWVkIGEgcmVnaXN0ZXIgYmVs
b3cgdG8gc3RvcmUgJ2FyZ3MnLCBzbyB3ZSBuZWVkIHRvIGZyZWUgaXQgKHdoYXQgeW91IGNhbGwg
Y2xvYmJlcikuDQoNCkFkZGluZyDigJxieSBTTUMgY2FsbCIgd291bGQgbWFrZSB0aGlzIG1vcmUg
Y2xlYXINCg0KPiANCj4+PiArICAgIHN0cCAgICAgeDEsIHgxOSwgW3NwLCAjLTE2XSENCj4+PiAr
DQo+Pj4gKyAgICAvKiBFbnN1cmUgYGFyZ3NgIHdvbid0IGJlIGNsb2JiZXJlZCB3aGlsZSBsb2Fk
aW5nIHJlZ3MgaW4gbmV4dCBzdGVwICovDQo+Pj4gKyAgICBtb3YJeDE5LCB4MA0KPj4gWW91IGRv
IG5vdCBuZWVkIHRvIHNhdmUgYXJncyAoYW5kIG5vIGNvZGUgaXMgcmVzdG9yaW5nIGl0KS4NCj4g
DQo+IFRoZSBuZXh0IGluc3RydWN0aW9uIHdpbGwgb3ZlcndyaXRlIHgwLiBTbyBpZiB5b3UgZG9u
J3Qgc2F2ZSAneDAnIHRvICd4MTknIHRoZW4geW91IHdpbGwgbm90IGJlIGFibGUgdG8gbG9hZCB0
aGUgcmVzdCBvZiB0aGUgcmVnaXN0ZXJzLg0KPiANClJpZ2h0DQoNCj4+PiArDQo+Pj4gKyAgICAv
KiBMb2FkIHRoZSByZWdpc3RlcnMgeDAgLSB4MTcgZnJvbSB0aGUgc3RydWN0IGFybV9zbWNjY18x
XzJfcmVncyAqLw0KPj4+ICsgICAgbGRwCXgwLCB4MSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVH
U19YMF9PRkZTXQ0KPj4+ICsgICAgbGRwCXgyLCB4MywgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVH
U19YMl9PRkZTXQ0KPj4+ICsgICAgbGRwCXg0LCB4NSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVH
U19YNF9PRkZTXQ0KPj4+ICsgICAgbGRwCXg2LCB4NywgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVH
U19YNl9PRkZTXQ0KPj4+ICsgICAgbGRwCXg4LCB4OSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVH
U19YOF9PRkZTXQ0KPj4+ICsgICAgbGRwCXgxMCwgeDExLCBbeDE5LCAjQVJNX1NNQ0NDXzFfMl9S
RUdTX1gxMF9PRkZTXQ0KPj4+ICsgICAgbGRwCXgxMiwgeDEzLCBbeDE5LCAjQVJNX1NNQ0NDXzFf
Ml9SRUdTX1gxMl9PRkZTXQ0KPj4+ICsgICAgbGRwCXgxNCwgeDE1LCBbeDE5LCAjQVJNX1NNQ0ND
XzFfMl9SRUdTX1gxNF9PRkZTXQ0KPj4+ICsgICAgbGRwCXgxNiwgeDE3LCBbeDE5LCAjQVJNX1NN
Q0NDXzFfMl9SRUdTX1gxNl9PRkZTXQ0KPj4+ICsNCj4+PiArICAgIHNtYyAjMA0KPj4+ICsNCj4+
PiArICAgIC8qIExvYWQgdGhlIGByZXNgIGZyb20gdGhlIHN0YWNrICovDQo+Pj4gKyAgICBsZHIJ
eDE5LCBbc3BdDQo+Pj4gKw0KPj4+ICsgICAgLyogU3RvcmUgdGhlIHJlZ2lzdGVycyB4MCAtIHgx
NyBpbnRvIHRoZSByZXN1bHQgc3RydWN0dXJlICovDQo+Pj4gKyAgICBzdHAJeDAsIHgxLCBbeDE5
LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1gwX09GRlNdDQo+Pj4gKyAgICBzdHAJeDIsIHgzLCBbeDE5
LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1gyX09GRlNdDQo+Pj4gKyAgICBzdHAJeDQsIHg1LCBbeDE5
LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1g0X09GRlNdDQo+Pj4gKyAgICBzdHAJeDYsIHg3LCBbeDE5
LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1g2X09GRlNdDQo+Pj4gKyAgICBzdHAJeDgsIHg5LCBbeDE5
LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1g4X09GRlNdDQo+Pj4gKyAgICBzdHAJeDEwLCB4MTEsIFt4
MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDEwX09GRlNdDQo+Pj4gKyAgICBzdHAJeDEyLCB4MTMs
IFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDEyX09GRlNdDQo+Pj4gKyAgICBzdHAJeDE0LCB4
MTUsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDE0X09GRlNdDQo+Pj4gKyAgICBzdHAJeDE2
LCB4MTcsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDE2X09GRlNdDQo+Pj4gKw0KPj4+ICsg
ICAgLyogUmVzdG9yZSBvcmlnaW5hbCB4MTkgKi8NCj4+PiArICAgIGxkcCAgICAgeHpyLCB4MTks
IFtzcF0sICMxNg0KPj4gWW91IHNob3VsZCB1c2UgbGRyIGFuZCBqdXN0IGxvYWQgeDE5IHZhbHVl
IGhlcmUuDQo+IA0KPiBBRkFJVSwgdGhpcyB3b3VsZCBtZWFuIGFuIGV4dHJhIGluc3RydWN0aW9u
IHRvIGluY3JlbWVudCBzcCBieSA4IChjb3ZlcmluZyB0aGUgeHpyIHJlZ2lzdGVyKS4NCg0KUmln
aHQgaW5zdHJ1Y3Rpb24gaXMgYWxzbyBpbmNyZW1lbnRpbmcgc3AsIG15IGJhZC4NCg0KQ2hlZXJz
DQpCZXJ0cmFuZA0KDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLSANCj4gSnVsaWVuIEdyYWxsDQo+
IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 16:15:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 16:15:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389678.626764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOiAi-000750-U8; Thu, 18 Aug 2022 16:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389678.626764; Thu, 18 Aug 2022 16:15:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOiAi-00074t-R8; Thu, 18 Aug 2022 16:15:04 +0000
Received: by outflank-mailman (input) for mailman id 389678;
 Thu, 18 Aug 2022 16:15:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=X6Qq=YW=citrix.com=prvs=222213ea0=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oOiAh-00074n-EO
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 16:15:03 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e855d525-1f10-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 18:15:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e855d525-1f10-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660839301;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Gri3MvPbgfl7cI9dRT1xhkuvRarOs0m7ELMQIrz2GkE=;
  b=DxubGOR1InGGY9GF6OdHYqBi0LRXLm0rcU95toVSpsCQ9uAjgTDT8CZ3
   mHryW8DbS48MaIHZUpTpb4+ZREosd2/uYC9y2x0PTQKiixiKD9SMpsYnA
   1SIO0F755q9Api47nXz2sgelY1TfU+3MU2iwP7bN3Uj8n4/787kFLwNls
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78411177
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AlL/D66vRNPJGRxRLjWJ1qWxQJefnOphVZsZKJ?=
 =?us-ascii?q?smfNk3eNXix3RfKay+QfFakzPnuH4fhePpUhzShtGjaYWPAbuTZfVBMRd9am?=
 =?us-ascii?q?F36WO5As2H2EY7O/LAOr6O2LxVlbeFmEEAeofEN7L0BlDFnloQm7waH9WG89?=
 =?us-ascii?q?KSo7thphodbAmtSxXtCHCObvTUg0HPpZRQwE3djsloTHGEg8aifjAQp7RFS9?=
 =?us-ascii?q?QBxZqTfWMuBe9Uix1tqBj4wnf5/WvX6KdPaqHDlfkO/tnO8PBmWQWGoc3+6I?=
 =?us-ascii?q?tZlJQayNY9dzsYvSAaY1Qidy0e3uIvN/o78vOlA3NWrMkDvbLhP3AU4qJyG6?=
 =?us-ascii?q?22UseDzs6qhiBt+22FB5xXBAxx1yNgDGnA6Gu93n8RSaBQeDbdBmtTVm5d7d?=
 =?us-ascii?q?pWxP4urH5yxdUObhA0J/nw7YhO1gTiczoFWl/5eOWrhEkwnXuryTHW+Fux9P?=
 =?us-ascii?q?5lgpZTAmc+j2AGBCPPtrMJp88+9Uzc64hdjEt1UhkNBierkNm+EgCLib7pId?=
 =?us-ascii?q?mGCHkqpgeZj/OauCXUCudKx390+YtOR+rcFc+0Syp6W6dDDdEuv5dZaV/FOM?=
 =?us-ascii?q?P+w3mAKs3pHK/yFz0g3hjMTAoDEMSXcU/gC0rCslzJh9F8CX4hBbrjgX7kAc?=
 =?us-ascii?q?LIyL96uSzrTxYPcHW1rp8AKd5BbbOxEbbrjwZuXlNMRG/SF9fGfrIvz7zM3K?=
 =?us-ascii?q?KvTi+73WmdKGeR5rArc54GkJxFkj5s9MvW0fiKCNdXD3I4yDDZAbyKSOcFK2?=
 =?us-ascii?q?yp8iyElFEb6gXcMc/DI92VMZxXhEuZfMcd6mEncR67snZ0CKEWl3tGgFoeBb?=
 =?us-ascii?q?uNDPsQMa9AzUH3WsvZFLlS7KrybEybD/q7ylS7HVazaPg8lM3yAV0HeGtRFs?=
 =?us-ascii?q?Tn44a9JtrIgbCsF96DdWiNCf2HppzzaodOTQqsTB7iEnknqaOxM2OuDPXs7X?=
 =?us-ascii?q?ZwbP7jQrow1OwdbKRck0DnD9yeSeC4H8F8j6NNuila4StX2tjKcrCIQwRU/0?=
 =?us-ascii?q?/Oc35Hpq5uD3B/JWaDakZea2qdvu8UKW70c9t0owDCHv3u42o+yjT/9UEHRE?=
 =?us-ascii?q?ZEcJxDkZ4cAOLTYthJtlbzqXE6TgHI251qNNU06T7JhSJDNv9OwKRtfTOz/O?=
 =?us-ascii?q?nbBHH7QO/GRwz76/mhGpgs+nbQkxEjNfEK9/rxsZQoggc7XpmIvFfjgSMILB?=
 =?us-ascii?q?XQeSzdNmX0PRsIgTOOFppoc4ic2jV0yC3WSxnerIBO2+5hWjS5m0RTOvZ30Z?=
 =?us-ascii?q?K0FBH6t1VII0KADvbVF3+ME8VCIZKpKSE6AbimRSqJCAbMVHhJ5yHH0EBtqq?=
 =?us-ascii?q?TFwCzIlLjwz3e8bS68Q2IRDZtV0054DvBVdI4Gq6leB6INZUy8TT4AsPN7DV?=
 =?us-ascii?q?iSbLNTzZgWNB9vza/3weLzWIRDANZLu09RNCwpRWODMpxMekyCwKhuJ7Yhj2?=
 =?us-ascii?q?mGbrjKRFqZg2zoryc5tFBtCeOENTtSuONEiTljHZiuNGzZ1dGtsA3CshJF55?=
 =?us-ascii?q?gf+9IVbeGzNiFbZDU4oxPQ57RVmunzaP9ISHc2EeH9WYVr6jE06soChlVQst?=
 =?us-ascii?q?t8sCqgfTtB8+CnIXOXLsQYLLUp76D5GrjRT2A09BBuCDd+T1Y9AujRzKqfaP?=
 =?us-ascii?q?vP5uQg1FPkw3Zre9cbjJjpbPztZnxPmfHQ1qcP7MxZDnJz9k1lIn9oMH2r0Y?=
 =?us-ascii?q?a87Lo3BDqDp/iulK7U1kPECgCryaXb6TlLGm2++0HECrY26p7m3g6+iIFrJ4?=
 =?us-ascii?q?jVvCOLjqyBkx/PPgucr3bChDdIf+wdQZZoJX1mfAPRbN3sI2O+bpOcPedRjL?=
 =?us-ascii?q?PxcgkFP4zNBgrUFK3Y7qS3l+sQ+HSxNP2YbbRlo/+ZwrpBkEBAxcI9QlFit7?=
 =?us-ascii?q?ag/q+1Qrh47B+FdGEM+SDZv7Xzo/CcDNBOVWzosgoMP4o1KluLl9grOE6+fi?=
 =?us-ascii?q?P9vsSmpLILGu3mE+weZoU1VMhBejLNZqU3USQatAb64EBMOkrKN1QhOiziuk?=
 =?us-ascii?q?w9prLAcZItAYGWHkR/HBafIL9SAFsXFuDWr7mvISCdy7rRSQlpOZqSAEOyOt?=
 =?us-ascii?q?Nym3+0Jn+Kx0soW6dLjf/KmOxnQirn+hY4/Ug4C+3e7W66x+QkIeatH+vh0y?=
 =?us-ascii?q?gy3Lw0v2mAss6ejWTGROkZ+HCfxprNjlWLUw+NcXO3kZXD9jpI4AxpkMBYWK?=
 =?us-ascii?q?JJeBYPtYSVlP30bYf3yGo1vg1RQT0JFHLhkwhmFN1R2cqMnEdJA7ZqtO4waj?=
 =?us-ascii?q?s4vvsK9vHZ1H7euuygj1TueRbfQ0Dvm3zhFKN8WNxJ+3m9XYi3FsXHbxOvvC?=
 =?us-ascii?q?yCpzyYBZVTz0u6SNwCTT8UoSB00XRGy25c6B6/QVkA/9V5LMjlJzyRUgM5Ir?=
 =?us-ascii?q?VlruTVEiDwjtek5m73aywQgELGghu5cKHUiVcYSwZEU0Bq29Rr7Ia6OhZWcJ?=
 =?us-ascii?q?z3G4RP4DwO/kKAvSlpiLCTzPWwJv+y75U450JunSd5l/eAs93xKAdlLvN5gW?=
 =?us-ascii?q?9uVbMXJ11OFmktx+jJJ4QwJTxI+5OWsWAcXGcbib/Q7YXLX6nWWhg0+vdVJo?=
 =?us-ascii?q?b3Jpfl5kEk51i3D4nuSDBpV+0FGXnpY9oARM7LBQcuHOJVC1EVHmOVWYD4DC?=
 =?us-ascii?q?WU1fk1ui12L+StYz5ezUsoMGTWpbeYrqlxee1O1Vyxhmv7U0+036A8TKNRdi?=
 =?us-ascii?q?QXXit1jbxiNHArat0o/36NVwh5jY4fwrKOSN0awiE+qwXa6bf3punVj/eKUV?=
 =?us-ascii?q?tK69B8hXxbkxmH0rX5G99FG4ZqBc45xZAS3+cJIfrmBG9HkfQbusSDN3w4MN?=
 =?us-ascii?q?epBnvoZ?=
X-IronPort-AV: E=Sophos;i="5.93,247,1654574400"; 
   d="scan'208";a="78411177"
Date: Thu, 18 Aug 2022 17:14:56 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 3/3] libxl: use time_t for qmp_synchronous_send()'s last
 parameter
Message-ID: <Yv5lgAUjrMj0ofEI@perard.uk.xensource.com>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
 <9ac207d1-8a20-b880-e564-57494bc5b551@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <9ac207d1-8a20-b880-e564-57494bc5b551@suse.com>

On Thu, Aug 18, 2022 at 04:07:16PM +0200, Jan Beulich wrote:
> "int" is not a suitable type to hold / receive "time_t" values.
> 
> The parameter is presently unused, so no functional change.
> 
> Coverity ID: 1509377
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

> ---
> An obvious alternative would be to drop the parameter for being unused,
> but I assume there were plans to use it in some way.

I'd rather drop the function all together instead, it doesn't get much
use these days as it's been replaced in many cases.

On the other hand, there seems to be only one call site, it would
be only one extra change to drop it, so that would be one way to fix
this. As you wish.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 16:25:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 16:25:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389686.626776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOiK9-00005t-RP; Thu, 18 Aug 2022 16:24:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389686.626776; Thu, 18 Aug 2022 16:24:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOiK9-00005m-Nw; Thu, 18 Aug 2022 16:24:49 +0000
Received: by outflank-mailman (input) for mailman id 389686;
 Thu, 18 Aug 2022 16:24:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+/fD=YW=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1oOiK8-00005g-NR
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 16:24:48 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45eb6ab2-1f12-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 18:24:47 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id BB93A615A1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 16:24:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2B039C43470
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 16:24:45 +0000 (UTC)
Received: by mail-wr1-f42.google.com with SMTP id h24so2311300wrb.8
 for <xen-devel@lists.xenproject.org>; Thu, 18 Aug 2022 09:24:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45eb6ab2-1f12-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660839885;
	bh=NXFD9jFkOQ6+Ym6W8+5vTdTbJMZRvb8Xi37Aa0qPDYU=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=SK+45akmrq80tGoEvjjGSX6UyHnCDueQbDBWTKVIVffhTMxnJ6f+l2ea7KY6QByxM
	 8ZXRPDfKSyBBsEO96mmYRg32nAJkHjOXGDvYd7gADdDqheXyuTWJrahBR1/CelfxLs
	 Bi1WlxixdnwizltoEtTfZLFGp8VmaCOQ4YutwaEu2rXuoM5ScrbO/AV7QtYPy1sKQs
	 5NZQZut1nXPrIkdulb2G8drsfNJUvOq+L92PXUzQGYD3njCUS32yptmbD5qA/TUmrQ
	 63VWO9gHJXJHcW7/+gwFpU5Qrep+MN0XgRzmMb4ImNOmXW0UhxD5AfW62YO23pjsaq
	 ikGXQ7PHIWwCw==
X-Gm-Message-State: ACgBeo03WJ1r3gHB3ALGVUc7DxSTXe8hvnUuzu75lzocKnhUGzN5mUzJ
	5/NxKi74lt4ERi/voj6ilJemvBfYk8e8K7usFx8=
X-Google-Smtp-Source: AA6agR4wUmC0VZaVWOkODMq7wCo33c0WNoc1EQUBvcV58Uj/gxzyfvOquzmU4k+F5Gi10pye8Gb1/ldyRBsRrfebkwc=
X-Received: by 2002:a5d:64e9:0:b0:220:7dd7:63eb with SMTP id
 g9-20020a5d64e9000000b002207dd763ebmr2078232wri.590.1660839883321; Thu, 18
 Aug 2022 09:24:43 -0700 (PDT)
MIME-Version: 1.0
References: <20220817105720.111618-1-leo.yan@linaro.org> <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan> <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org> <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
In-Reply-To: <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Thu, 18 Aug 2022 18:24:31 +0200
X-Gmail-Original-Message-ID: <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
Message-ID: <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
To: Leo Yan <leo.yan@linaro.org>
Cc: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>, Marc Zyngier <maz@kernel.org>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Rahul Singh <Rahul.Singh@arm.com>, 
	Peter Griffin <peter.griffin@linaro.org>, xen-devel <xen-devel@lists.xenproject.org>, 
	Julien Grall <jgrall@amazon.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, 18 Aug 2022 at 17:49, Leo Yan <leo.yan@linaro.org> wrote:
>
> On Thu, Aug 18, 2022 at 11:04:48AM +0100, Julien Grall wrote:
>
> [...]
>
> > > > Seems it's broken for kdump/kexec if kernel boots with using DT?
> > > >
> > >
> > > EFI supports both DT and ACPI boot, but only ACPI *requires* EFI.
> > >
> > > So DT boot on hardware with affected GICv3 implementations works fine
> > > with kdump/kexec as long as EFI is being used. Using non-EFI boot and
> > > kexec on such systems will likely result in a splat on the second
> > > kernel, unless there is another mechanism being used to reserve the
> > > memory in DT as well.
> > >
> > > Maybe we should wire up the EFI_PARAVIRT flag for Xen dom0 on arm64,
> > > so that we can filter out the call above. That would mean that
> > > Xen/arm64/dom0/kexec on affected hardware would result in a splat in
> > > the second kernel as well, but whether that matters depends on your
> > > support scope.
> >
> > In the context of Xen, dom0 doesn't have direct access to the host ITS
> > because we are emulating it. So I think it doesn't matter for us because we
> > can fix our implementation if it is affected.
> >
> > That said, kexec-ing dom0 (or any other domain) on Xen on Arm would require
> > some work to be supported. OOI, @leo is it something you are investigating?
>
>
> Now I am working on automative reference platform; the first thing for
> me is to resolve the kernel oops.
>
> For long term, I think the kexec/kdump would be important to be
> supported, to be clear, so far supporting kexec/kdump for Xen/Linux is
> not priority for my work.
>
> Also thanks a lot for Ard and Mark's replying. To be honest, I missed
> many prerequisites (e.g. redistributor configurations for GIC in
> hypervisor) and seems Xen uses a different way by emulating GICv3
> controller for guest OS.  So now I am bit puzzle what's for next step
> or just keep as it is?
>

If i understand Julien's remark correctly, the dom0 GICv3 is emulated,
and so it should not suffer from the issue that we are working around
here.

Given that this workaround is still the sole user of the MEMRESERVE
API, we would like to remain free to rip it out and replace it
completely if we need to, and so implementing it in Xen is a bad idea,
especially if the issue in question does not even exist in your case.
This means that even if you do decide to support kexec, things should
work fine in spite of this warning regarding the failure to perform
the memory reservation, as the GIC can simply be reconfigured.

So perhaps we should just [conditionally] tone down the warning?


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 16:34:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 16:34:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389693.626787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOiTZ-0001fi-Sm; Thu, 18 Aug 2022 16:34:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389693.626787; Thu, 18 Aug 2022 16:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOiTZ-0001fb-Ph; Thu, 18 Aug 2022 16:34:33 +0000
Received: by outflank-mailman (input) for mailman id 389693;
 Thu, 18 Aug 2022 16:34:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=X6Qq=YW=citrix.com=prvs=222213ea0=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oOiTZ-0001fV-1j
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 16:34:33 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a21faf50-1f13-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 18:34:31 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a21faf50-1f13-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660840471;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=6QhUF7mYchBj2qnKz25srQ7Hjg4JdaxQNZLFSH7v0jc=;
  b=d4mEv1oxv8M1qM3lKuUXMCjbiPDK9KwmMBF+2mS8ZyDq450U4veQD4ic
   nQnnHASY7K+4bcZDlBv6tedlIJ6AGiWN7UfyS8Kq8knU0hqA6u78rshc1
   5MjdWcHrOOBkEBnyF5MjPlOcbNjTmO5KIOYie6roHb0UIH7gvIi1lyz/j
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77631075
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:BzRSi6kheibixv9m5zKeor7o5gz1JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcXGjQbqmKMzajf4t0a9vk/BkA75Hcn9RrHQJu/yE8QSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K2i4GhwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2ktI6oF8P5ODV0Vz
 sZfCgkWLRW9vcu5lefTpulE3qzPLeHuNYIb/Hph0SvYHbAtRpWrr6fivIECmm1q34YXQKiYN
 5FxhTlHNXwsZzVGPEsXD5Qv2v+lnHDlfxVTqU6PpLpx6G/WpOB0+OeyboGMIoPXLSlTtknD+
 U7ioU/7OAlAMMa4ziCa1VCvntaayEsXX6pNTeblp5aGmma72Wg7GBAQE1yhrpGRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JSGeAn7ACGyoLP/h2UQGMDS1Z8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy17amzsDmqACQpdlQ4Ig09VkgA3ePKr9Rm5v7QdeqPAJJZn/WsR2+on
 WvQ8Hlj71kApZVVjvvmpDgrlxrp/8GUFVBtu207S0r/tmtEiJiZi5tEALQxxdJJN86nQ1aIp
 xDocODOvblVXflheMFgKdjh/Y1FBN7faVUweXY1Q/EcG82FohZPh7x47jBkP1tOOc0ZYzLva
 0K7kVoPuscMYiLwNfAoP9LZ5yEWIU7IT4yNuhf8P7JzjmVZLlfbrEmCm2bKt4wSrKTcuf5mY
 srKGSpdJX0bFb5m3FKLegvp6pdyn3hW7T6CGvjGI+GPi+X2iIi9FehYazNjr4kRsMu5neki2
 4wOaZPVkE4HCbeWj+u+2dd7EG3m5EMTXfjew/G7vMbZSua6MAnN08Ps/I4=
IronPort-HdrOrdr: A9a23:9T+Oiagxj7lZF90qdA0NnFD8C3BQXtgji2hC6mlwRA09TySZ//
 rOoB0+726StN9xYgBFpTnuAsW9qB/nmqKdpLNhW4tKPzOW3VdATrsSjrcKqgeIc0aVm9K1l5
 0QEZSWYOeAdGSS5vyb3ODXKbgd/OU=
X-IronPort-AV: E=Sophos;i="5.93,247,1654574400"; 
   d="scan'208";a="77631075"
Date: Thu, 18 Aug 2022 17:34:05 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH 1/3] xenbaked: properly use time_t in dump_stats()
Message-ID: <Yv5p/a/hFa+zxXMH@perard.uk.xensource.com>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
 <c87ae25d-5aa8-bb70-7d2b-ea6485a01f59@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <c87ae25d-5aa8-bb70-7d2b-ea6485a01f59@suse.com>

On Thu, Aug 18, 2022 at 04:05:37PM +0200, Jan Beulich wrote:
> "int" is not a suitable type to convert time()'s return value to. Avoid
> casts and other extra fiddling by using difftime(), on the assumption
> that the overhead of using "double" doesn't matter here.

dump_stats() seems to be only used once, so it's probably fine.

> Coverity ID: 1509374
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- unstable.orig/tools/xenmon/xenbaked.c	2022-01-06 16:12:39.000000000 +0100
> +++ unstable/tools/xenmon/xenbaked.c	2022-08-18 15:36:39.918706853 +0200
> @@ -230,11 +230,7 @@ static void check_gotten_sum(void)
>  static void dump_stats(void) 
>  {
>      stat_map_t *smt = stat_map;
> -    time_t end_time, run_time;
> -
> -    time(&end_time);
> -
> -    run_time = end_time - start_time;
> +    double run_time = difftime(time(NULL), start_time);
>  
>      printf("Event counts:\n");
>      while (smt->text != NULL) {
> @@ -242,13 +238,11 @@ static void dump_stats(void)
>          smt++;
>      }
>  
> -    printf("processed %d total records in %d seconds (%ld per second)\n",
> -           rec_count, (int)run_time,
> -           run_time ? (long)(rec_count/run_time) : 0L);
> +    printf("processed %d total records in %0f seconds (%0f per second)\n",

Did you want to write "%.0f" or even "%.f" instead of "%0f"? It seems
that the '0' here mean '0'-padded, but without field width there would
be nothing to pad. I'm guessing you would want printf to write something
like "266 seconds" instead of "266.646168 seconds". Am I missing
something ?

> +           rec_count, run_time, run_time ? rec_count / run_time : 0);
>  
> -    printf("woke up %d times in %d seconds (%ld per second)\n",
> -           wakeups, (int) run_time,
> -           run_time ? (long)(wakeups/run_time) : 0L);
> +    printf("woke up %d times in %0f seconds (%0f per second)\n",
> +           wakeups, run_time, run_time ? wakeups / run_time : 0);
>  
>      check_gotten_sum();
>  }
> 

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 16:41:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 16:41:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389702.626798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOiZo-00035Z-JW; Thu, 18 Aug 2022 16:41:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389702.626798; Thu, 18 Aug 2022 16:41:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOiZo-00035S-FN; Thu, 18 Aug 2022 16:41:00 +0000
Received: by outflank-mailman (input) for mailman id 389702;
 Thu, 18 Aug 2022 16:40:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=X6Qq=YW=citrix.com=prvs=222213ea0=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oOiZm-000356-Ot
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 16:40:58 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 87850f2a-1f14-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 18:40:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87850f2a-1f14-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660840857;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=sYa9e9ZSpCnwjz/Oj/kQj9VA9mcVxe2CpPm4qtarYCM=;
  b=NiKUR0B1IMkjMaO+Y3p7jSrWk9bKUoHXbQGVRezuyU7KKt1btDrXWiWL
   XoZZoqoyB6QS36icrdS4X7F79Ue1YZmP1XoRt4ZfrM1WDfEpfooUiapDj
   LfmuwxEoy69CPk5av/hfEzvzNPBGbZT+Pg1F3iRuFT2wXvpWz8Rt2Qonk
   0=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78146787
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:mgt+ZKMH7H4Jeq/vrR3Rl8FynXyQoLVcMsEvi/4bfWQNrUon3jABn
 GIfCGuBP/eLM2DyKoggOY3k80wDu5WGyNc2Hgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/vT8EgHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPMmex3U1kQJbQjxf1OB31/6
 tISA280O0Xra+KemNpXS8Fpj8UnasLqIJkeqjdryjSx4fQOGM6ZBf+QvJkBgWl21psm8fX2P
 qL1bRJmagjAZBtefE8aEpskkM+jh2Xlci0eo1WQzUYyyzeDlVAvj+iyWDbTUoK0G+4FuFffn
 0ecx26kJjElPeGO2xPQpxpAgceQxHimCer+DoaQ6fpCkFCVgGsJB3U+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFaGtBMBX9tbE8Uh9RqAjKHT5m6k6nMsF2AbLoZ87YlvGGJsh
 gThc87V6SJHkOeMUC2F0K+tlgypAC4JHHAsbwRbdF5QizX8m73fni4jX/46TvDt0IavRWCtq
 9yZhHNg3utO1Kbnw43+pAma2Gz0+/AlWyZvvm3qsnSZAhSVjWJPT6ih8hDl4PlJN+51pXHR7
 SFfy6ByAA3jZKxhdRBho81XRdlFH97fbFXhbadHRvHNDQiF9X+5Zpx36zpjPkpvOctsUWa3P
 heM51oLvMAMYCvCgUpLj2SZUZxCIU/IRLzYug38NIISMvCdiifdlM2RWaJg9z+0yxV9+U3OE
 ZyabdytHR4nNEiT9xLvHr91+eJ6mUgDKZb7H8+TI+KPjeXDPxZ4iN4tbDOzUwzOxPnV/l2Kq
 I0HbpHiJtc2eLSWXxQ7OLU7dTgiRUXXz7iqwyCLXoZv+jZbJVw=
IronPort-HdrOrdr: A9a23:BcI/9KzPZvenPcFaE1pYKrPwLL1zdoMgy1knxilNoRw8SKKlfu
 SV7ZAmPH7P+VMssR4b9OxoVJPtfZqYz+8T3WBzB8bBYOCFgguVxehZhOOIqQEIWReOldK1vZ
 0QFZSWY+eQMbEVt6nH3DU=
X-IronPort-AV: E=Sophos;i="5.93,247,1654574400"; 
   d="scan'208";a="78146787"
Date: Thu, 18 Aug 2022 17:40:49 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH 2/3] console/client: properly use time_t in get_pty_fd()
Message-ID: <Yv5rkTq0pX+g5GGW@perard.uk.xensource.com>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
 <990f432f-1f40-04e4-dfb9-97c8db679f36@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <990f432f-1f40-04e4-dfb9-97c8db679f36@suse.com>

On Thu, Aug 18, 2022 at 04:06:20PM +0200, Jan Beulich wrote:
> "int" is not a suitable type to hold time()'s return value.
> 
> Coverity ID: 1509376
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 17:10:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 17:10:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389712.626809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOj1q-0005hG-QI; Thu, 18 Aug 2022 17:09:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389712.626809; Thu, 18 Aug 2022 17:09:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOj1q-0005h9-NX; Thu, 18 Aug 2022 17:09:58 +0000
Received: by outflank-mailman (input) for mailman id 389712;
 Thu, 18 Aug 2022 17:09:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOj1p-0005gz-Ca; Thu, 18 Aug 2022 17:09:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOj1p-0004LZ-4t; Thu, 18 Aug 2022 17:09:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOj1o-0001G2-LL; Thu, 18 Aug 2022 17:09:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOj1o-0000Uh-Kw; Thu, 18 Aug 2022 17:09:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OX1LHq7KTHhpAm27BBKfQQLtDEScMexGiS91a0lDdiQ=; b=BcFNmxjA8198d3KA3U52oAxamW
	4gQXi5sv0BUHkOOFdSQT63r0Z7mnIwqrYKCyFepQYSZL4WzGSKqDMaoM0EsLuz1Hr1A7STQ8moSQF
	KA5NQmzKR+W6bMeSg4x4k6IhunQIGKrNX9U4zuY2WHaTOCUb5rUKOzJHCp6U6PSAOfDw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172610-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172610: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3b06a2755758937add738545ba4a544fc5a1c56d
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 17:09:56 +0000

flight 172610 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172610/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 18 guest-localmigrate/x10 fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                3b06a2755758937add738545ba4a544fc5a1c56d
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   14 days
Failing since        172152  2022-08-05 04:01:26 Z   13 days   33 attempts
Testing same since   172610  2022-08-18 01:13:03 Z    0 days    1 attempts

------------------------------------------------------------
1391 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 146039 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 17:10:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 17:10:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389720.626820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOj2f-0006z7-4i; Thu, 18 Aug 2022 17:10:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389720.626820; Thu, 18 Aug 2022 17:10:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOj2f-0006z0-1O; Thu, 18 Aug 2022 17:10:49 +0000
Received: by outflank-mailman (input) for mailman id 389720;
 Thu, 18 Aug 2022 17:10:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOj2e-0006yq-CY; Thu, 18 Aug 2022 17:10:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOj2e-0004OI-Bg; Thu, 18 Aug 2022 17:10:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOj2e-0001Lj-2F; Thu, 18 Aug 2022 17:10:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOj2e-0001zK-1m; Thu, 18 Aug 2022 17:10:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FXTQiIe2DsoOq2Uy68m4FNZ7pwggEDOOkkd/hX4CYjQ=; b=ehkXlVl9YZ9XFCvIePU7wgDQI9
	jiVEnv3XvrpKTI0o7EdbtbFar7WvwxHmrNBRBrKxdmhcva8rMsSDMg+rc4tPU9G7VbWwi6FYPJN2Z
	YILN/GAYMGFltv2sPecaL2Dwcl0YLzql5bf7yjDuVIVP9cnPrT4WRf76V0Ip4hOZubXk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172624-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172624: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=68bf712d4f5928af4c426dc82d27b9783e499d93
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 17:10:48 +0000

flight 172624 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172624/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 68bf712d4f5928af4c426dc82d27b9783e499d93
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   14 days
Failing since        172151  2022-08-05 02:40:28 Z   13 days  117 attempts
Testing same since   172621  2022-08-18 09:12:57 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 780 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 17:32:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 17:32:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389728.626831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOjNA-000160-1E; Thu, 18 Aug 2022 17:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389728.626831; Thu, 18 Aug 2022 17:32:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOjN9-00015t-U6; Thu, 18 Aug 2022 17:31:59 +0000
Received: by outflank-mailman (input) for mailman id 389728;
 Thu, 18 Aug 2022 17:31:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOjN8-00015n-Oj
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 17:31:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOjN7-0004jd-Jw; Thu, 18 Aug 2022 17:31:57 +0000
Received: from [54.239.6.188] (helo=[192.168.18.101])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOjN7-0003me-AP; Thu, 18 Aug 2022 17:31:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Gyf8AkCtfRkz5Ysm17b3lVHO+SZqEfSYBO+4zROdmRk=; b=xWlIGfI/H3vqpPdYI/zGO2964I
	/3+6nJRwnX4Q90F5dzB/H46YNAtxz9FfN9BYzAkekjUCnDa7HN6yXtxQQw0W0rjsjZLSxGFYIg5Y6
	lNzl5zF+jxMtHyixacBH7fhasSTks01IH4G4eYk55E+wUbDrSpCXi2BkBIqvkzBIDZxw=;
Message-ID: <1527cfdf-5018-d495-cff7-528a278e1f67@xen.org>
Date: Thu, 18 Aug 2022 18:31:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2 extended
 input/output registers
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Jens Wiklander <jens.wiklander@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 Wei Liu <wl@xen.org>, Luca Fancellu <Luca.Fancellu@arm.com>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
 <20220818105601.1896082-2-jens.wiklander@linaro.org>
 <EC23C48B-C9ED-4BD0-BD6D-4967A2509B2B@arm.com>
 <4613f385-b11e-6d4f-42df-2febac4440d1@xen.org>
 <D8557FC4-C3B1-4F40-A264-2D8DE68E71CD@arm.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <D8557FC4-C3B1-4F40-A264-2D8DE68E71CD@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Bertrand,

On 18/08/2022 16:55, Bertrand Marquis wrote:
>> On 18 Aug 2022, at 15:31, Julien Grall <julien@xen.org> wrote:
>>>> +/*
>>>> + * void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
>>>> + *                        struct arm_smccc_1_2_regs *res)
>>>> + */
>>>> +ENTRY(arm_smccc_1_2_smc)
>>>> +    /* Save `res` and free a GPR that won't be clobbered */
>>> The comment here should be fixed, you are clobbering x19 hence you need to save it.
>>
>> The comment is correct. x19 is one of the few registers that will not be clobbered by the SMC call. But we still need a register below to store 'args', so we need to free it (what you call clobber).
> 
> Adding â€œby SMC call" would make this more clear

I would be fine with that.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 17:42:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 17:42:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389733.626842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOjXI-0002aw-0w; Thu, 18 Aug 2022 17:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389733.626842; Thu, 18 Aug 2022 17:42:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOjXH-0002ap-To; Thu, 18 Aug 2022 17:42:27 +0000
Received: by outflank-mailman (input) for mailman id 389733;
 Thu, 18 Aug 2022 17:42:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOjXG-0002ai-KV
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 17:42:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOjXC-0004vS-1W; Thu, 18 Aug 2022 17:42:22 +0000
Received: from [54.239.6.188] (helo=[192.168.18.101])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOjXB-0004KR-QU; Thu, 18 Aug 2022 17:42:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=PQRW5+Zn3ECC2LpwqVvSp80TqDSj91qfI2d8lYFxMuY=; b=KBPO3uftGdaXZOPSYx1gRRSiCn
	ZCoe0/oMThxz2xm3RH9cJjyRReVLQN2PQtVulAx0GCTWVOVC8Q8hJAwl4Usz0nSpYMALgcG4m0WiG
	GyCENCbr1dKS/TolxCrIuViOxN/PVExyn6vrkzWuednOs+7+vey7Jo4uW9qolDA8NPCk=;
Message-ID: <5d926715-b6af-234f-9798-622cdb53f181@xen.org>
Date: Thu, 18 Aug 2022 18:42:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [XEN PATCH] build: Fix x86 build without EFI
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>
Cc: Wei Chen <wei.chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <fb2a0fab-3e87-9a2a-a881-31ea7bdeae99@suse.com>
 <Yvu7Dpl5Pq/E8MxA@perard.uk.xensource.com>
 <ff4fbffb-915d-f221-2375-87358b46eee7@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ff4fbffb-915d-f221-2375-87358b46eee7@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 16/08/2022 17:29, Jan Beulich wrote:
> On 16.08.2022 17:43, Anthony PERARD wrote:
>> On Tue, Aug 16, 2022 at 03:02:10PM +0200, Jan Beulich wrote:
>>> On 16.08.2022 12:30, Anthony PERARD wrote:
>>>> We can't have a source file with the same name that exist in both the
>>>> common code and in the arch specific code for efi/. This can lead to
>>>> comfusion in make and it can pick up the wrong source file. This issue
>>>> lead to a failure to build a pv-shim for x86 out-of-tree, as this is
>>>> one example of an x86 build using the efi/stub.c.
>>>>
>>>> The issue is that in out-of-tree, make might find x86/efi/stub.c via
>>>> VPATH, but as the target needs to be rebuilt due to FORCE, make
>>>> actually avoid changing the source tree and rebuilt the target with
>>>> VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
>>>> exist yet so a link is made to "common/stub.c".
>>>>
>>>> Rework the new common/stub.c file to have a different name than the
>>>> already existing one. And build both *stub.c as two different objects.
>>>> This mean we have to move some efi_compat_* aliases which are probably
>>>> useless for Arm.
>>>
>>> These useless aliases want avoiding there imo. Already when the original
>>> series was discussed, I requested to avoid introduction of a file named
>>> common-stub.c or alike.
>>
>> Yeah, I've notice that. This is why the build is broken under
>> specific condition.
>>
>>> If names need to be different, can't we follow
>>> boot.c's model and introduce a per-arch efi/stub.h which stub.c would
>>> include at a suitable position (and which right now would be empty for
>>> Arm)?
>>
>> That seems to be possible. But how is it better than having two
>> different source file? The only thing is to avoid exporting the
>> efi_compat_* symbol aliases.
> 
> As said - I think they're wrong to have in Arm. But if Arm maintainers
> don't care about them being there, so be it. As long as they don't
> voice a view, I guess as the EFI maintainer I can sensibly ask for
> them to be avoided in a reasonably clean way.

AFAIU, the two aliases are using by the compat code. So how about 
protecting it with CONFIG_COMPAT (like we do for other compat code in 
common code)?

> 
>> The downside is we would have another weird
>> looking not really header which is actually just part of a source file.
>> At least, "stub.c" and "stub.h" would be two different names, we just
>> change the extension rather than the basename.
> 
> Whether that's "weird" is certainly a matter of taste ... To me,
> common-stub.c also comes close  to "weird", fwiw. But as I've tried
> to express, if I'm the only one disliking common-stub.c, then please
> ignore my view and I'll nevertheless ack the resulting patch. (That
> said, I view the vpath issue causing the problem as really the one
> that would want tackling. There shouldn't be a requirement for
> files to have different names as long as they live in different
> directories.)

So I agree with Anthony here. I think the approach we use for 
boot.c/efi-boot.h should not be promoted.

I also agree that "common-stub.c" sounds weird. But it would require 
some change in the build system (I always find a bit string we are using 
linking) which is likely too late for 4.17.

So I would be fine with stub-common.c and then protect the alias with 
#ifdef CONFIG_COMPAT.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 18:54:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 18:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389748.626852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOkf1-0001JO-Cb; Thu, 18 Aug 2022 18:54:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389748.626852; Thu, 18 Aug 2022 18:54:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOkf1-0001JH-A5; Thu, 18 Aug 2022 18:54:31 +0000
Received: by outflank-mailman (input) for mailman id 389748;
 Thu, 18 Aug 2022 18:54:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qa4v=YW=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1oOkey-0001JB-RV
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 18:54:29 +0000
Received: from sonic303-25.consmr.mail.gq1.yahoo.com
 (sonic303-25.consmr.mail.gq1.yahoo.com [98.137.64.206])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d78a238-1f27-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 20:54:26 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic303.consmr.mail.gq1.yahoo.com with HTTP; Thu, 18 Aug 2022 18:54:23 +0000
Received: by hermes--production-bf1-7586675c46-lmmdh (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID d0129dba676f8848e6f0705cca693acd; 
 Thu, 18 Aug 2022 18:54:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d78a238-1f27-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1660848863; bh=wMw+QkYaY2UjMD+FyXhwlnZboSQZ8j1LKo94f3KpI78=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=Z2UgCW7sJ+mDHDWZNMfzVy5y8aczHtKAbDVpLu8JgxCHNYNVg0122SyVwgnltjSeXwycOZdOloxluOTwgH+aJRc5YzG9FBFIGR0LvRiOz85dJeznVCMNdRijj6mWGz9xJ8BGtlno3Ah9lt0PCVoTT2RIRQhkPytiD+B7EaQZXsh0mi8Xtr5G3kwQvacNumkt5dEy3cM30ikr8+AI5J0KpVfO+KdTkqjYKg8G6RiiIDLgZ/Q46lML0ERMqBuV50PdlaQnBV8TVeb0EpDnW4RbuukNuizCoooDYuQyGYxNZ/sHr0nenXej40iY+3CRa70Iu0/9eMOfPZmCujAXSZFDrw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1660848863; bh=l/IU3LIKb6aG1ZzgK5U0EAp+6bboLcPefTEZDZ/svCl=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=ogmRBCD2O5prO7BPljnvKiktjxzGL2GO2z4e45Qi6IMisjtRbHj5Upd9CHMxGV/9rHYyDdEN+Foa1ePPo+iaimnk0FFa37A3hwEZ0A72I/+V/a/I3V479K04uzQ7j2jqRDIjRod96yZf75rVL1c1pI+geK0PKCSfbsVQyoBjTpQ85lZkHVhmVpTMa+tBRjgYJ8XG2BYS4NX+kAqyeYGMyiA4Xaod3m5BemhLgf48Ts69/Qq/JJNlGBN7z+X6eX1/E/v28eoZUQxhbCeXSZmsfY/RUua+NPaPB483MHPedyCZOAnCV5p+uirqru9sniYk/tg5mPVceB8WcWeh2qIIwQ==
X-YMail-OSG: ZMQ0oXMVM1l8ynKpii5JwAdDm95CUewQX5_YO6ICo62C4rChn6Qei7ddGBSjuno
 VzIcQmxPo4NwAy5qrajFjTcI75uC1MhqKFDfXyXDoTm5g1MR2Pt_AnVgOjRVeuOt9R9Wz2Ph1mNm
 aQHUwBqNgi9w.nDTbVyDv255DLt8tS8lFdcMDbghtlRB2vKCc1yT64okP1yhmNuPc8vBtKDveqTM
 Dy68ST5Ycw12LSQW02JgQmpVNX29eIaXP89XZQQuROdMOrgu4PUj7Wp0cqiBYkJefuI0vqlxKibl
 eBX8qcZ3wQl9T3uWlZMIrnpPJgdR3FMKnXkNtE5dAv0ZYhE5WlOnLFr1gChlfl6mh2XvQEBAsvMq
 k6ilzb5VwpjPFVT_BPMaEr6OStSoWyYPYAq2mrqc6Pmr9EEntqomWqRuTE8JaXLLDHCPdcMz_A6c
 JuSBEAVrGK2T3ygOnTUOF9Ik5idkddFpL3UA_UyJVXIbuw_fHzl01gprlK4rq_ix01yhrbGe7l.c
 WkBqKknG2FjNwGsYnbuTpZIpfhZOrvhRJthnjpvbLY.ZohCoJ0IMJZWyWHUmG4gqPBHg.IZV_Jm2
 9Pw2LoBfl6GsLN3TSDF6Gp_eeluPrxZL1H.UgMedPRNffDwHwZdEh6aTOJQStL_o8_AMvzfATMKD
 4DjRDBxbYuktB0RKIAjd.afOj.FJ20reyFdGNCg4h0F4jTo4HLIe.szbSNxsFBOioZ26VHhP2vg5
 yDz0BJW.1aBO13pXk9TFunqI3mMV5oQK2iTUEVOOsUd7FI7r2FSmHBjaRlOZDsAxb1l4QwvF2UDt
 9hr1D.kdnWoboRGL_Td9ZRHTYx7UKctHItBIfjpMTzDMxyxHXxrOe78NEb1y0ZHOcWdrileiBWnF
 onGyaBgiFYB3xbufEfsglwCkbKXUjS.V.t.EZAqZGBE8lB76_joEAXi_CpEe5wnl8nnVaP_OWfzU
 PsgaL8R2EhFiIkSZxhmnVHEzLQk6QJ_R1llwEa14734MZ8btovxy6ixrpMVUqUdodF1N697VdwmY
 cnwpZoZeSwgXhcbiCV55QiIVShrFhbm_Pb0QAwQuPKfkjfcb8llbNy4Wdshta1bUY77FMvXcaTQH
 4vcmSog1r70xT2O.Yil3ak6ZujBeNp0cBl.mpf.mdiTBLA4v0r_CLoz2D4gusOYGy_6wypkgpXvx
 Yw4N0yUpnVN84RGi_BWaGt3JyEAvSQL2ilRRNr2Hx4DRGJZ9AD0jfgZslJVPQWK7aviv7RPzq1Nb
 wPgdR0l_uBZMFSNgUmQiIPtEbpZE0.QB__iuRM45Y9j9V5yAs1lV.TUNOEQPqbsE36FVgHMVKYdR
 qj7vVd_kG6oYJFU6CWvI_m3Cvr8uTMEoK.uJSOVPMURl9RwqMBrI7pBn0cdLMiBHhAT2F82soDoc
 Z_Azy9OynATz8jaH_8jbkSb_9ktiCSDA6xGPyUvUEYQ6h8HFgNJHqbHSmFN_nAB1rs6EmHcJ5llF
 knfMjn_sfukNJkSYqw5WUcRi91d8gBB1IkYDqc.Xj7.OObUMuxsP5..znyTTCn3eG8stX4VAj4Zv
 DmHSsJClbM4axBoS6zmxAYs43rKc.jenQKtPxAItd88S_rkfw5UKvxngTbPwviN80SppbWnvk6pw
 1YhVm.w_nerFQrjwN0frJnUzJzZKB4Ys798uCrcheOVdjIvFsI5zRiTMJYKjFZkgl.Svet3hAX1u
 166D.3tfKMSm0iOJ.yEzxUOQIU5qYtUCa20XP_W8uQCSlrmGH3Svqx8mWA1J3dHMg4b9gooa7Sa.
 lUIQSqDTnfN55PiTTst6HhsXNUhXN.2hI46vDUqjxcO.gcyOVN7UJonrzCvxH3TKRUdAumTk5NTe
 znCvUhTD2YimIUk5FCVIDadBwpwmDe5EVyYzC7lEBYV49QcKoJB5vOS7qwK6Tsr3czsLfCm_ObVr
 YPxS_u4sBy5eXLN_7avB5t4Bpz6H2Q8Jd_tcJtT3qrrh0V7uXKoEWaU4SaFATpFFJjC2EaVi1fAE
 eeAuRFVe243hNJwuiDwesYRso917ahfaUk73QZKhyadqMiXlpZb735ZPED5WG4tYPtb7iHmeune4
 4TLAjsAebqZ2ZIVLx12HQpXimOcrMIV_L_955ET9Lrli7hhqZ4s8lVVo0zmTo1Avj2QitQScWP45
 EF_KZGSdanJzDDmrpvv.ORahOx7nSdyL7c67girVeeF7lhcKQb1zAOXWZVb5got5OUE7FQzdbZg8
 TKdNsgL3LZrkPp_E-
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <464f9f88-232d-4fa1-bc43-916ff7045f4e@netscape.net>
Date: Thu, 18 Aug 2022 14:54:17 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 0/3] x86: make pat and mtrr independent from each other
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: jbeulich@suse.com, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Pavel Machek <pavel@ucw.cz>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, regressions@lists.linux.dev,
 xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
 Juergen Gross <jgross@suse.com>
References: <20220715142549.25223-1-jgross@suse.com>
 <efbde93b-e280-0e40-798d-dc7bf8ca83cf@leemhuis.info>
 <a0ce2f59-b653-fa8b-a016-1335f05c86ae@netscape.net>
 <32ed59c9-c894-c426-dd27-3602625cf3b1@netscape.net>
 <c88ea08c-a9d5-ef6a-333a-db9e00c6da6f@suse.com>
 <bd66b5bc-4d07-d968-f46c-40cf624499a7@netscape.net>
 <a29a66e0-2075-8084-84ad-8bd3e8a9fd4a@netscape.net>
 <a7d10605-87e3-c4bd-4a76-f07a04f5751c@leemhuis.info>
 <8d148826-62a5-95f9-8662-be14f56a6336@netscape.net>
 <6b40ecc3-a2d3-3efd-4a19-2faf737f098b@leemhuis.info>
 <be9d077c-ed4d-d5e3-a134-33afff027af4@netscape.net>
 <6294958a-177a-5c67-47c6-3a95c23ac58e@leemhuis.info>
 <5c40a423-f70a-abb8-360c-a601c5b157fe@netscape.net>
In-Reply-To: <5c40a423-f70a-abb8-360c-a601c5b157fe@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.20531 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 1055

On 8/16/22 1:28 PM, Chuck Zmudzinski wrote:
> On 8/16/2022 12:53 PM, Thorsten Leemhuis wrote:
>
> >
> > regzbot will notice when the patch hit's Linux next,
>
> IIUC, regzbot might not notice because the patch lacks a Link: tag
> to the original regression report. The Link tag is to Jan's patch
> that was posted sometime in April, I think, which also lacks the
> Link tag to the original report of the regression which did not
> happen until May 4. If regzbot is smart enough to notice that the
> patch also has a Fixes: tag for the commit that was identified as
> bad in the original regression report, then I expect regzbot will
> find it.

Hey, I see the patch hit linux-next and regzbot noticed and
now lists the patch as an incoming fix. Great job with regzbot!

By the way, I think regzbot is a great idea, and I think any resources
devoted to develop it more would pay handsome returns for the
quality of Linux. If no one but you is working on it, I actually might
be willing to volunteer some time to help you develop it.

Best regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 19:10:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 19:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389753.626864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOkuh-0003i3-PP; Thu, 18 Aug 2022 19:10:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389753.626864; Thu, 18 Aug 2022 19:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOkuh-0003hw-MY; Thu, 18 Aug 2022 19:10:43 +0000
Received: by outflank-mailman (input) for mailman id 389753;
 Thu, 18 Aug 2022 19:10:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOkug-0003hk-QO; Thu, 18 Aug 2022 19:10:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOkug-0006Ua-KU; Thu, 18 Aug 2022 19:10:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOkug-0001TT-4L; Thu, 18 Aug 2022 19:10:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOkug-0006CY-3s; Thu, 18 Aug 2022 19:10:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pdomtg05SG1mPwXtYqC/8IHh+ltx40bph4pVPVvHriQ=; b=V9LeZA/RhWna/Jk90i7x1ZqU+k
	kuytFT564xMEtLxxUO/AKTJQQtGJPJ25m2/TbmN7ds1nuaKFzEFVVdxJUsP/g7BbcSK1j3hCQV3y+
	LuYevB9MzL3v0p1WGBWMqpUmzHU2ld7vPbVMrr7VVD3yQ8rNnqNWnonUZ07SpCicrgRY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172617-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172617: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=d81ae1f24405b33c2bcd11dc16469d5d569abe58
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 19:10:42 +0000

flight 172617 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172617/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              d81ae1f24405b33c2bcd11dc16469d5d569abe58
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  769 days
Failing since        151818  2020-07-11 04:18:52 Z  768 days  750 attempts
Testing same since   172617  2022-08-18 04:19:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120401 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 20:24:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 20:24:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389762.626875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOm3R-0002UF-6i; Thu, 18 Aug 2022 20:23:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389762.626875; Thu, 18 Aug 2022 20:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOm3R-0002U8-2F; Thu, 18 Aug 2022 20:23:49 +0000
Received: by outflank-mailman (input) for mailman id 389762;
 Thu, 18 Aug 2022 20:23:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=20Zw=YW=epam.com=prvs=0229c131d9=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1oOm3P-0002Tz-Ll
 for xen-devel@lists.xen.org; Thu, 18 Aug 2022 20:23:48 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a686cb8c-1f33-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 22:23:45 +0200 (CEST)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27IImXVk014445;
 Thu, 18 Aug 2022 20:23:38 GMT
Received: from eur03-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2051.outbound.protection.outlook.com [104.47.9.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3j1g2cbu2u-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 18 Aug 2022 20:23:38 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by DU0PR03MB8390.eurprd03.prod.outlook.com (2603:10a6:10:3ba::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 18 Aug
 2022 20:23:34 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387%2]) with mapi id 15.20.5525.011; Thu, 18 Aug 2022
 20:23:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a686cb8c-1f33-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EFV0Y8B1cDu7VZtXlCnxAJt7liSEatxK/rQG+e3VI/PQLspBY2x1tfGdj/tyv/eTQqLQQbN1gBpFudITFTSCIiCXZjBr12Owb7n6Zk4bIT7hSoGV1bPYPdHj3IlXg/OG8T6fPu/wBQPGh+LLq01isLYdmDNHQ/NWAPX4kg+xMPxXbkjPK1bKCFcDSMF6BfTy163KUupkOTLvtbg3pt9l2R6qxdWCy7F3f9evMxhY3wX7VFtWvNH6h6mOgXDkn3p+3IxFI8OkljjIqtF9/A8SHz1X9Jjgi8tizAXgAhoomqqFLLqy2Wi5wel7cXDMCRmNSZS1BMT4s+VGZOqR3xv4hQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r9DWcifWU+G3Zh2A62u8zbbaWoeAyndDyjxsBaQK+ac=;
 b=nsDJslhGaClLUdOGexBKtnifh4e53WLJzTSEjniPWN0MCcZCsRAwfK3XTiJf3geKDV5PAfs/1XXCUxyWe9UyR+tZuSmBTT1zTWoYBzl5KesntJ3XOCP+Ze+OpyaZu1Wbsqd5mCapfr5EMVbOjk8x59djMy16hVMeBsnTeYVQoTVOAYvqLGD9BFotRwOA2CWHv5oZypeNDLS0IGghzJw6Y9m7YmmhlVPTCXC77Wvt1N9Vru8tuzN+XDZYvuQKHUVhZx9buzcyC6ZFqFQsHytOHTLle5mcvveTgYElP5mWWLlEUZJq+VQPxSIp2zOUYAEC725hgVj6h8URVyYvZ5l7fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r9DWcifWU+G3Zh2A62u8zbbaWoeAyndDyjxsBaQK+ac=;
 b=cPGP9JBeSlXvKu6bt+wHBZ8H3Lv3Il9K7SaBN9i3yFivJJg1IthwnAG7Ok5xeJMwOj+gyqhFCq6l1zd9qZC75LXKWzlwyOxBWr4PsUqq0dSWM06UMCMAKBdTQczmiTppZ5Upcdy9MQJAWdjce4SG3kxnm7cbC5i2j3vjmAnj5yQNZqgSqUoIhzwuMVG7SQweC2kq1dS84BV8RDYZvGRE/hvShRi9poB37Ee9Q1+yIHfOdjLpmplQiyBfOtsTjmQxLP0J3zYUFwfVXVxIQU8lbaU4r9fa0aW3L7AZtRvhRTl4O4d5wQGRA3JjLIAhOhe7nVW/l8PSrS5r46MWBnAONg==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
        "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>
CC: Vincent Guittot <vincent.guittot@linaro.org>,
        "stratos-dev@op-lists.linaro.org" <stratos-dev@op-lists.linaro.org>,
        =?utf-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>,
        Stefano Stabellini
	<stefano.stabellini@xilinx.com>,
        Mathieu Poirier
	<mathieu.poirier@linaro.com>,
        Mike Holmes <mike.holmes@linaro.org>,
        Oleksandr
 Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>,
        Juergen Gross
	<jgross@suse.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH V4 3/6] libxl: arm: Create alloc_virtio_mmio_params()
Thread-Topic: [PATCH V4 3/6] libxl: arm: Create alloc_virtio_mmio_params()
Thread-Index: AQHYq7HHxdH3vCIKzUyor6bJAooA4621KSKA
Date: Thu, 18 Aug 2022 20:23:34 +0000
Message-ID: <24144a91-3047-158b-39fe-a201613c778f@epam.com>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
 <9a382501b425f4248e071e93db7c213025f402e6.1660023094.git.viresh.kumar@linaro.org>
In-Reply-To: 
 <9a382501b425f4248e071e93db7c213025f402e6.1660023094.git.viresh.kumar@linaro.org>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 97100882-d11f-473d-efb8-08da815786b9
x-ms-traffictypediagnostic: DU0PR03MB8390:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 /xJsSfG1Pr/Di5XUCO0SMLRyw3CMw8AvZ/AURovU7OumoVH9dsKIY5dShzibFe5n8xrtecNNxwGsaZSuaEoB15r2gO117Jdf1CTDi4a8vIO1iDQJW8+7gQV3iwO+xuAsz6KZyA4GQiThfALQyOWEdrJlZv4DW/zQWyX1CR+W4US2XmZSETOVzEe9GrCzE4QcwPNxdGcl+bvm/Q28VWO4mS9fG7inGHfpVTIZXFMtRM3W1JY5NSL5YhLWNVSe+SLk4HTqE+eU1eKze3rosNMnIs4DovgFDDkM1VqB316dkaZhED2tK6d3mGIDu5iSxrex5zxOtNUteag+FMde/FZyt9ksrGxDaFUuywNP+3OLyhsadKxERWQJGBw/t7t9XVPZA72RwWv6Q0HpMt2vhB3+5bjtmt4SSYZFShE3zGuWMWDo8e0UtTBADiRA/ctmCZgViy5mqEhnptUNp510q4QmzoIwkWeRoN1BaseL6ARJnE5qtfesHCzdVTsUIk4pYAZ29vPTOxdCT+Tce8MVUN7xIvpg6YdlZKffIrBVqfGpo+1G+nVGCZ3rR5hhzAm4ghrPo5Uzj3DmrB+lZbRkXOansaBv1FBjNeaEUBn0zfJ9fiwE5HvERIQqL58huNcUtS/ZAT72aNs2xXA9xaJ+Kf4Hz9h+uPdNGXnXR7qrLVDekvu46SOj8dkDHgv5dXcEpYwJPYXVWgm2mW9HFotXk9nZmEFB91AXC6D028SEoxXu4nEcQtNkuAqgQmplOiSa2yhqzEphVgdcNSGFsneUX2weabgOu7F/kZraoSVJrCgKTcM=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR03MB6108.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(366004)(39860400002)(136003)(346002)(396003)(71200400001)(36756003)(41300700001)(6512007)(38070700005)(26005)(6506007)(53546011)(6486002)(110136005)(478600001)(86362001)(31686004)(2616005)(55236004)(83380400001)(31696002)(66946007)(54906003)(64756008)(5660300002)(4326008)(186003)(122000001)(66446008)(8936002)(8676002)(91956017)(38100700002)(2906002)(66556008)(7416002)(316002)(66476007)(76116006)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?aFVIOEh3LzhnaFZvbDMrWHlNbDJrM1ErMi9jQUh6KytjdHU5cHhtb05OQm13?=
 =?utf-8?B?THMwWjNQRW5WOTJDSE5zYk9jUkxnSlNTRDBhZzlPUHgralNyMzF5UzQ4bDZX?=
 =?utf-8?B?YXprSFlQMEFKTWo0Tzhtc0E2VVNlb2lTeG5tNjJHWWlYaUtXdnk2VjdHcGUw?=
 =?utf-8?B?SUZxQ0pZdU9BOXd4RzhvQVV2cEs5VGpDL3dlcGxmTXRWYjlCTXRrUzhLVkE2?=
 =?utf-8?B?VzVRd2VVZTJUdEpBRGVNKy9DMnByc0Z1OGlsbGdjOFNZeW9ndWlnRHNUblla?=
 =?utf-8?B?R3lPZHBwRjM0Q3dhblg3WTU3cXZ3VWRuRHNJbFVXTElodFRMak5HVS9iV3Jp?=
 =?utf-8?B?eWlOZEw2cGVmMlNCVmtuUTJrVHVEZ0lyM2lqMkI1blFSWVliRWdSMTA5QURN?=
 =?utf-8?B?eDhUaGdjNkVVRW9tdVRBTkZxWjVHYlNLMTkvN3ExaENkdzIzTXpoQWJMbi9u?=
 =?utf-8?B?RU05eEdYQjU5VEplVmh0akJJMmZhYWVUMzl5WVFXMGdMazN5eTVXKysveFBn?=
 =?utf-8?B?Qk9PU29PL1lrVCtaZ1dQSDdWeFZ5NU9SczNneTkvWll1M2l5ams4MEk5R0FL?=
 =?utf-8?B?dEFWWjNDQi9lbEJNdEVYdStyN2VZYTJ4NDJPM0ZwNitOZjRVTnkyQ0tVYW5X?=
 =?utf-8?B?V1hRL3VMUkZ0RERKTVh4NVBMUWtlSHdVMkNiTDFVa2tLU1kxWHhtbkxIaFpm?=
 =?utf-8?B?SW8wMlRVRjF0WGhtNkNYZzM4Tm1ya0RjeDZXT3c2dWwzQ3RhUW1McVNsRXFM?=
 =?utf-8?B?U01TT3hjeG0rbTRBR3JrMFp2eFBqejNjSy9oSVh2STl5ay9EenAzbFpsdTRm?=
 =?utf-8?B?bkNEbkZHVVBKdG9FVjkrY0I2dFdYQlNyZVB4VVNNdHJ2bWhaYkZLZzU1TTRi?=
 =?utf-8?B?cGsxM0cycGNWRU9RWHVBUzBPVWVoMFU4SjN4amlCVTBhdFQreDFnS0tKTnlk?=
 =?utf-8?B?NlVZbWNIZXFsUjZoQ25pVk9YNXJ0VFVDVHZOZ1d2cWdkRGF3MjRRVVlvQUFq?=
 =?utf-8?B?OUV3MkRaRUhiTWx1cnEzWTI3WStsZHRuTXZJdXpGYWcyKytKTHRCY1N6M3N2?=
 =?utf-8?B?eGFVMjR0am9DQjVVSkI0dHVNYkFRSWJJZkx5anovVFZGbW5HR1RUeTRRWGJa?=
 =?utf-8?B?L1NOcHQyRHFjR2VuWmw1RUhCRVJYWFY1V21CT0JEczFTVlpHQzFldG9MU2Rj?=
 =?utf-8?B?aXIxWEVkZ2Q2TFgrYXcwN05qZm9ZU0pOZmRIYWhaVURPSGZnZDVYNWtnTXBm?=
 =?utf-8?B?VTY2SGRuTkFXYnVjTEt0TGVTbnNxRWNYWVN5Q0w5Zi9KdUNONEIrUWtIYmpZ?=
 =?utf-8?B?b2d2WlFKWXdvNkV2NnBDemw1K1J2T2tCeDduQ0l5OXIrOXBKV2t1ZFI5TzFI?=
 =?utf-8?B?S0pidHluOUxOd0tOeHlKQWp5eXZjSjA5R1Axc3ZkM3FkSE9LOHdWUVhRL0Nl?=
 =?utf-8?B?QUk1eXZiNGZoUHp0N3BiRzVoNjdWS3F4aVI2MnIwbjZtMWsvMm5DNnNTSjZC?=
 =?utf-8?B?NFZyWmpuS0MxTis3UUhlZEkwRHluak81QXFkWTVvcmZOOHppTWJXYURXTlRw?=
 =?utf-8?B?SkZraUdsQi9GSzl2d1c3ZUF3dkNaMTdhbG5zVElnM0ovM3grcVM2aTFKeFpl?=
 =?utf-8?B?RVBnaUN1VDh4b21VOFRFMFZMMW9kTkpNb3FMeEtDSnZFV2JLcy92dndSeEc5?=
 =?utf-8?B?Ym5Ra2hxV3VtdmEzbEpwQXNrdDdFalcyMXVxNGhqWnhHOWVHK2JXb2lvUGhn?=
 =?utf-8?B?SUpZUTQ0V3VrWDllQWNPNTZzZENDWGo3RGx3NnRPQk02RGFCUDlqeGp5cTRF?=
 =?utf-8?B?VUpDY0FPWG90aURESDQ5Y0hLdEdpVzdDRmpqODNoWWdzMkdzUG83Z0xqN3Nx?=
 =?utf-8?B?L1hxdkI3Q3pkQjdoQmJiQmRGVWc2T3BiR1RxSHU2dFdhSjFYZWlWRi9BTWNt?=
 =?utf-8?B?UFpqNVNQU2tvdUJFL3VDZ1NXL0ppM29FZ3ZoNU5waGpHLzdtSy8rU2w3bkJy?=
 =?utf-8?B?SGZJdGFYU1hmSUJ3OGtQRzR6TWZ4QmRjdUgwcTdEM21Oai9JOEZycndtZENJ?=
 =?utf-8?B?c2JscVMvWHpPekNYeElWUmM2ZXd6SFVZL2JGOC9EeEFhK3R1M1ZvcmoxcjVv?=
 =?utf-8?B?L2dtYVZDcWprRGR4eVZqbUlhaU51UnVTRWRiZXZ3Ny9DRGlvakloeEdERUNT?=
 =?utf-8?Q?jsax73m82/AygBZsaF2KUIE=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5EE2C686C1C7DD4BA096452C6ED5603B@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR03MB6108.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97100882-d11f-473d-efb8-08da815786b9
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Aug 2022 20:23:34.8504
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: hKr7nCInqW1eCZ14R0g5y6BvlTA4eqqY2DHIheCEjQOfcNKhmA2ft+FE1YsdhO6RKwL43BmlR/aYAh9wjEBww4+clmzmZdtKo9MFcWD07b8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8390
X-Proofpoint-GUID: a4mMura66dFu7OUwyyg0PS3yVeL7tpz2
X-Proofpoint-ORIG-GUID: a4mMura66dFu7OUwyyg0PS3yVeL7tpz2
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-18_14,2022-08-18_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 spamscore=0 suspectscore=0 phishscore=0 priorityscore=1501 mlxlogscore=999
 bulkscore=0 adultscore=0 impostorscore=0 malwarescore=0 clxscore=1011
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2207270000 definitions=main-2208180074

DQpPbiAwOS4wOC4yMiAwODozNCwgVmlyZXNoIEt1bWFyIHdyb3RlOg0KDQpIZWxsbyBWaXJlc2gN
Cg0KPiBDcmVhdGUgYSBzZXBhcmF0ZSByb3V0aW5lIHRvIGFsbG9jYXRlIGJhc2UgYW5kIGlycSBm
b3IgYSBkZXZpY2UgYXMgdGhlDQo+IHNhbWUgY29kZSB3aWxsIGJlIHJlcXVpcmVkIGZvciBlYWNo
IGRldmljZSB0eXBlLg0KPg0KPiBTdWdnZXN0ZWQtYnk6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxv
bGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogVmlyZXNoIEt1
bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9yZz4NCj4gLS0tDQo+ICAgdG9vbHMvbGlicy9saWdo
dC9saWJ4bF9hcm0uYyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQ0K
PiAgIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCj4N
Cj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYXJtLmMgYi90b29scy9saWJz
L2xpZ2h0L2xpYnhsX2FybS5jDQo+IGluZGV4IDFhM2FjMTY0NmU5NC4uNGE3NTA4NTJiNjcxIDEw
MDY0NA0KPiAtLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2FybS5jDQo+ICsrKyBiL3Rvb2xz
L2xpYnMvbGlnaHQvbGlieGxfYXJtLmMNCj4gQEAgLTQ4LDYgKzQ4LDI0IEBAIHN0YXRpYyB1aW50
MzJfdCBhbGxvY192aXJ0aW9fbW1pb19pcnEobGlieGxfX2djICpnYywgdWludDMyX3QgKnZpcnRp
b19tbWlvX2lycSkNCj4gICAgICAgcmV0dXJuIGlycTsNCj4gICB9DQo+ICAgDQo+ICtzdGF0aWMg
aW50IGFsbG9jX3ZpcnRpb19tbWlvX3BhcmFtcyhsaWJ4bF9fZ2MgKmdjLCB1aW50NjRfdCAqYmFz
ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICppcnEs
IHVpbnQ2NF90ICp2aXJ0aW9fbW1pb19iYXNlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QgKnZpcnRpb19tbWlvX2lycSkNCj4gK3sNCj4gKyAgICAqYmFz
ZSA9IGFsbG9jX3ZpcnRpb19tbWlvX2Jhc2UoZ2MsIHZpcnRpb19tbWlvX2Jhc2UpOw0KPiArICAg
IGlmICghKmJhc2UpDQo+ICsgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOw0KPiArDQo+ICsgICAg
KmlycSA9IGFsbG9jX3ZpcnRpb19tbWlvX2lycShnYywgdmlydGlvX21taW9faXJxKTsNCj4gKyAg
ICBpZiAoISppcnEpDQo+ICsgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOw0KPiArDQo+ICsgICAg
TE9HKERFQlVHLCAiQWxsb2NhdGUgVmlydGlvIE1NSU8gcGFyYW1zOiBJUlEgJXUgQkFTRSAweCUi
UFJJeDY0LCAqaXJxLA0KPiArICAgICAgICAqYmFzZSk7DQo+ICsNCj4gKyAgICByZXR1cm4gMDsN
Cj4gK30NCj4gKw0KPiAgIHN0YXRpYyBjb25zdCBjaGFyICpnaWN2X3RvX3N0cmluZyhsaWJ4bF9n
aWNfdmVyc2lvbiBnaWNfdmVyc2lvbikNCj4gICB7DQo+ICAgICAgIHN3aXRjaCAoZ2ljX3ZlcnNp
b24pIHsNCj4gQEAgLTg1LDIwICsxMDMsMTAgQEAgaW50IGxpYnhsX19hcmNoX2RvbWFpbl9wcmVw
YXJlX2NvbmZpZyhsaWJ4bF9fZ2MgKmdjLA0KPiAgICAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sg
KmRpc2sgPSAmZF9jb25maWctPmRpc2tzW2ldOw0KPiAgIA0KPiAgICAgICAgICAgaWYgKGRpc2st
PnNwZWNpZmljYXRpb24gPT0gTElCWExfRElTS19TUEVDSUZJQ0FUSU9OX1ZJUlRJTykgew0KPiAt
ICAgICAgICAgICAgZGlzay0+YmFzZSA9IGFsbG9jX3ZpcnRpb19tbWlvX2Jhc2UoZ2MsICZ2aXJ0
aW9fbW1pb19iYXNlKTsNCj4gLSAgICAgICAgICAgIGlmICghZGlzay0+YmFzZSkNCj4gLSAgICAg
ICAgICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsNCj4gLQ0KPiAtICAgICAgICAgICAgZGlzay0+
aXJxID0gYWxsb2NfdmlydGlvX21taW9faXJxKGdjLCAmdmlydGlvX21taW9faXJxKTsNCj4gLSAg
ICAgICAgICAgIGlmICghZGlzay0+aXJxKQ0KPiAtICAgICAgICAgICAgICAgIHJldHVybiBFUlJP
Ul9GQUlMOw0KPiAtDQo+IC0gICAgICAgICAgICBpZiAodmlydGlvX2lycSA8IGRpc2stPmlycSkN
Cj4gLSAgICAgICAgICAgICAgICB2aXJ0aW9faXJxID0gZGlzay0+aXJxOw0KPiAtICAgICAgICAg
ICAgdmlydGlvX2VuYWJsZWQgPSB0cnVlOw0KPiAtDQo+IC0gICAgICAgICAgICBMT0coREVCVUcs
ICJBbGxvY2F0ZSBWaXJ0aW8gTU1JTyBwYXJhbXMgZm9yIFZkZXYgJXM6IElSUSAldSBCQVNFIDB4
JSJQUkl4NjQsDQo+IC0gICAgICAgICAgICAgICAgZGlzay0+dmRldiwgZGlzay0+aXJxLCBkaXNr
LT5iYXNlKTsNCj4gKyAgICAgICAgICAgIGludCByYyA9IGFsbG9jX3ZpcnRpb19tbWlvX3BhcmFt
cyhnYywgJmRpc2stPmJhc2UsICZkaXNrLT5pcnEsDQo+ICsgICAgICAgICAgICAgICAgICAgICZ2
aXJ0aW9fbW1pb19iYXNlLCAmdmlydGlvX21taW9faXJxKTsNCg0KTml0OiBTb21ldGhpbmcgd3Jv
bmcgd2l0aCB0aGUgaW5kZW50YXRpb24gYW5kIGxvb2tzIGxpa2UgdGhlIGJsYW5rIGxpbmUgDQpp
cyBuZWVkZWQgaGVyZS4NCg0KDQo+ICsgICAgICAgICAgICBpZiAocmMpDQo+ICsgICAgICAgICAg
ICAgICAgcmV0dXJuIHJjOw0KPiAgICAgICAgICAgfQ0KPiAgICAgICB9DQo+ICAgDQo+IEBAIC0x
MDcsOCArMTE1LDExIEBAIGludCBsaWJ4bF9fYXJjaF9kb21haW5fcHJlcGFyZV9jb25maWcobGli
eGxfX2djICpnYywNCj4gICAgICAgICogcHJlc2VudCwgbWFrZSBzdXJlIHRoYXQgd2UgYWxsb2Nh
dGUgZW5vdWdoIFNQSXMgZm9yIHRoZW0uDQo+ICAgICAgICAqIFRoZSByZXN1bHRpbmcgIm5yX3Nw
aXMiIG5lZWRzIHRvIGNvdmVyIHRoZSBoaWdoZXN0IHBvc3NpYmxlIFNQSS4NCj4gICAgICAgICov
DQo+IC0gICAgaWYgKHZpcnRpb19lbmFibGVkKQ0KPiArICAgIGlmICh2aXJ0aW9fbW1pb19pcnEg
IT0gR1VFU1RfVklSVElPX01NSU9fU1BJX0ZJUlNUKSB7DQo+ICsgICAgICAgIHZpcnRpb19lbmFi
bGVkID0gdHJ1ZTsNCj4gKyAgICAgICAgdmlydGlvX2lycSA9IHZpcnRpb19tbWlvX2lycSAtIDE7
DQoNCg0KV2VsbCwgaGVyZSB3ZSBhc3N1bWUgdGhhdCAidmlydGlvX21taW9faXJxIiBpcyBhbHdh
eXMgdGhlIGhpZ2hlc3QgDQphbGxvY2F0ZWQgaXJxLCBjdXJyZW50bHkgaXQgaXMgdHJ1ZSBiZWNh
dXNlIHdlIGluY3JlbWVudCB0aGUgY291bnRlciBpbiANCmFsbG9jX3ZpcnRpb19tbWlvX2lycSgp
LA0KDQpidXQgdGhpcyBsb2dpYyBtaWdodCBiZSBjaGFuZ2VkIGluIGZ1dHVyZS4gU28gSSB3b3Vs
ZCBwcm9iYWJseSBhZGQgYSANCmNvbW1lbnQgaW4gY29kZSBhYm91dCB0aGF0IGFzc3VtcHRpb24u
DQoNCg0KPiAgICAgICAgICAgbnJfc3BpcyA9IG1heChucl9zcGlzLCB2aXJ0aW9faXJxIC0gMzIg
KyAxKTsNCj4gKyAgICB9DQo+ICAgDQo+ICAgICAgIGZvciAoaSA9IDA7IGkgPCBkX2NvbmZpZy0+
Yl9pbmZvLm51bV9pcnFzOyBpKyspIHsNCj4gICAgICAgICAgIHVpbnQzMl90IGlycSA9IGRfY29u
ZmlnLT5iX2luZm8uaXJxc1tpXTsNCg0KDQpXaXRoIGFib3ZlIGZpeGVkOg0KDQpSZXZpZXdlZC1i
eTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPg0K
DQotLSANClJlZ2FyZHMsDQoNCk9sZWtzYW5kciBUeXNoY2hlbmtvDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 20:27:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 20:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389767.626886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOm7D-00035l-JZ; Thu, 18 Aug 2022 20:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389767.626886; Thu, 18 Aug 2022 20:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOm7D-00035e-GJ; Thu, 18 Aug 2022 20:27:43 +0000
Received: by outflank-mailman (input) for mailman id 389767;
 Thu, 18 Aug 2022 20:27:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOm7C-00035S-Dm; Thu, 18 Aug 2022 20:27:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOm7C-0007qr-CA; Thu, 18 Aug 2022 20:27:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOm7B-0006yN-W0; Thu, 18 Aug 2022 20:27:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOm7B-00063F-VU; Thu, 18 Aug 2022 20:27:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DPf9nQQf5X3L2+uUsRkre2I7vGObdFNl+1K4wU0ZcI8=; b=iozlhumlM5zjzqQ+OAm15ZHHSS
	CPRD0TCpd3KBO1xcDTOsZVveRjrV1+NLSDQOTHpa/GCvey3QLeNKpuYajCLi0pwgpBjrYqpH8Q02a
	Wbs8iRDiAZlJksc1ox2gPZMc/mnjdZWjfNU87znnMFoAoTB8JDEB/invSwMWByxw/tAo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172627-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172627: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
X-Osstest-Versions-That:
    xen=f2beaf876dce590ee9937b79cd3498f2fe9f661c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 20:27:41 +0000

flight 172627 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172627/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172605
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
baseline version:
 xen                  f2beaf876dce590ee9937b79cd3498f2fe9f661c

Last test of basis   172605  2022-08-17 17:00:27 Z    1 days
Testing same since   172620  2022-08-18 08:01:46 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Tim Deegan <tim@xen.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f2beaf876d..6c987150cf  6c987150cf71976b5dd16b5f736dd5b0c6f6aee8 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 20:36:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 20:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389775.626897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOmFr-0004bC-Fh; Thu, 18 Aug 2022 20:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389775.626897; Thu, 18 Aug 2022 20:36:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOmFr-0004b5-CA; Thu, 18 Aug 2022 20:36:39 +0000
Received: by outflank-mailman (input) for mailman id 389775;
 Thu, 18 Aug 2022 20:36:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wIxV=YW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oOmFp-0004az-Sv
 for xen-devel@lists.xen.org; Thu, 18 Aug 2022 20:36:37 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73772405-1f35-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 22:36:36 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id h5so2191350wru.7
 for <xen-devel@lists.xen.org>; Thu, 18 Aug 2022 13:36:35 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 i21-20020a05600c355500b003a5ee64cc98sm7703409wmq.33.2022.08.18.13.36.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Aug 2022 13:36:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73772405-1f35-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=olIvJPp8eA89GdGIY34PQBto9ZqOlKYHltNsLmTpxCs=;
        b=GNWT2peWVDTGYiPgDr/qrxtG4g26p5LsbJVJ8lTiKFLdqgUc8NKQbOG/inCzDu1vx5
         UmzaHLJIx3I0myB9KHyIMRdaE7Pb8Zepdt7vGW1AO4X3miFw3dx1+lta40zmoEQgrrLJ
         qxn1FaW8YAWRrp2E8C1qe638nkXs7z7qxOo25/MjYR811yX9Ub0gD6XdYlKSG5kkHndK
         HzFbwnN8JfecwKmSs4CJH3HPLX1ZpFpHU6DQiFuT+lYPLjwheSPOE7TmKhVdW+Fe+ETt
         y1HeTZ7KOfSsVfbwqYfOVn5pC3Ebd4W8+mOMxlADhijgd8tQqWLrXiTzCnYfneLTaMel
         A96w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=olIvJPp8eA89GdGIY34PQBto9ZqOlKYHltNsLmTpxCs=;
        b=Tld9O8t/ip5g5yOXLj3a6ikdJPxuGvx047lASNbrZsmZVu/PBuh2fq1qd6XOYELafW
         fArxPT4OC02vIPaPlUZ4cq5P7w1VZa5AguqgmMDBbPBOi0cZddz1fR7LLvdmm8AA6cCI
         u6n8iw6Zl22S/tjAW2k2P3m0spyK6YI2OLm1evDTj0nKjXoT5/gK+V8ylALmJ19ql+Qr
         oMCh76rp4/ihOC03QhxxA0PsYwe8TnAi8EGttXnv307OtjJZC/YoR2f0qfF9+XV5zB+j
         jS1g0NrKQciXRSw2abGlLWOkywAdOV7IcYsFQ7h0TPpSv0YQirm4jqd0PPLXdEP26k+s
         1aqA==
X-Gm-Message-State: ACgBeo2EeN1tohAoW7hcq8SXTwDjaa3Pc3/YGvBmntDxcFHF3S8VC4p9
	OgbC9G/XPkG+OEnYuPYrjkQ=
X-Google-Smtp-Source: AA6agR6HfsMjpJaFIKmYybWRKgQhH5UnnjdNt9uBc76PpsqkOjWo+QtiIt2NlYMIhlbuapscmvvrPg==
X-Received: by 2002:a05:6000:1f1d:b0:221:6c4c:4995 with SMTP id bv29-20020a0560001f1d00b002216c4c4995mr2573310wrb.675.1660854994502;
        Thu, 18 Aug 2022 13:36:34 -0700 (PDT)
Message-ID: <e353deb6-1de0-c575-df4b-02efa5972bc5@gmail.com>
Date: Thu, 18 Aug 2022 23:36:32 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V4 4/6] libxl: arm: Split make_virtio_mmio_node()
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
 <25fa5be0459f2f790f8420540840ea951a2f872e.1660023094.git.viresh.kumar@linaro.org>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <25fa5be0459f2f790f8420540840ea951a2f872e.1660023094.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 09.08.22 08:34, Viresh Kumar wrote:

Hello Viresh

> make_virtio_mmio_node() creates the DT node for simple MMIO devices
> currently, i.e. the ones that don't require any additional properties.
>
> In order to allow using it for other complex device types, split the
> functionality into two, one where the fdt node isn't closed and the
> other one to create a simple DT node.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/libxl_arm.c | 21 ++++++++++++++-------
>   1 file changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 4a750852b671..891cb6ef2674 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -899,9 +899,8 @@ static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
>       return 0;
>   }
>   
> -static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
> -                                 uint64_t base, uint32_t irq,
> -                                 uint32_t backend_domid)
> +static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, uint64_t base,
> +                                        uint32_t irq, uint32_t backend_domid)


Nit: I would probably add a comment on top of this function that fdt 
node isn't completed (closed) after the function returns,

so the caller should take care of completing it.


>   {
>       int res;
>       gic_interrupt intr;
> @@ -934,10 +933,18 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
>           if (res) return res;
>       }
>   
> -    res = fdt_end_node(fdt);
> +    return res;
> +}
> +
> +static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
> +                                        uint32_t irq, uint32_t backend_domid)
> +{
> +    int res;
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
>       if (res) return res;
>   
> -    return 0;
> +    return fdt_end_node(fdt);
>   }
>   
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
> @@ -1260,8 +1267,8 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>                       iommu_created = true;
>                   }
>   
> -                FDT( make_virtio_mmio_node(gc, fdt, disk->base, disk->irq,
> -                                           disk->backend_domid) );
> +                FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
> +                                            disk->irq, disk->backend_domid) );

Nit: Something wrong with the indentation


>               }
>           }


Preferably with above fixed:

Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>


>   

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 20:50:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 20:50:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389781.626908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOmTF-0006yT-LZ; Thu, 18 Aug 2022 20:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389781.626908; Thu, 18 Aug 2022 20:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOmTF-0006yM-Il; Thu, 18 Aug 2022 20:50:29 +0000
Received: by outflank-mailman (input) for mailman id 389781;
 Thu, 18 Aug 2022 20:50:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wIxV=YW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oOmTD-0006yG-Nw
 for xen-devel@lists.xen.org; Thu, 18 Aug 2022 20:50:27 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62ed0a84-1f37-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 22:50:26 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 m17-20020a7bce11000000b003a5bedec07bso3201111wmc.0
 for <xen-devel@lists.xen.org>; Thu, 18 Aug 2022 13:50:26 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 k40-20020a05600c1ca800b003a317ee3036sm3746919wms.2.2022.08.18.13.50.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Aug 2022 13:50:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62ed0a84-1f37-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=8fDJvyemIy+dOWlcxsfh5pVy59L+pF8d8Lk2w1rkAzM=;
        b=SIMqKkA/cDvLOCqkxg2L1xRD+okIeBf2V4mtif7rin9Br7TV8wHx9jW3Rkhz0W2L30
         lhyv/+LmIphCPOud/Sf6zmeJcAdFOu52E3I1sKVZwn9IOgb6DPyirlHSAzw50yevydwJ
         8YjTXzPGnhz8kKzkuEXjUFKEV1s3OjEsELVxhFfueuWfuUaC0EQeyuWYgfAKkydyFkeT
         XAlDLJs4ynS4x5koGNqhnnm0XXUAKf7QeN1JhQcjbp+OzmXXe27clUPkHxl9hLk1m+cE
         /JIILhbmd1Werj45PQ280OeCFmoXHHcfHjRHshwegKvfUPcMy1tjMD5HkpehJy11kmqI
         yKRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=8fDJvyemIy+dOWlcxsfh5pVy59L+pF8d8Lk2w1rkAzM=;
        b=wIJksXQ6i0w5P5mNWbm1Vd1T9rGLtScGxZL6dL4xPbM5ZOQJLERzv+CgQ2xDbh100O
         OQ6XzTwGusTQh0j4/ZwUwK8yBSDO3eZp5HSkoQ+KcGmzb5YGEecPzTlrEXsA4Asaco2b
         SUnMHUiOJUE9W6yjlEZTdDLQL9BntSDswtMpT8Ssy9nTz1kt1aALTOjKXUADdLlGaFnt
         1qzF3Bf0kJX1fdQYN3xRBqeT48jFn2mOTjuwZOMyXeRdwOZzioDUYjkAskjEqk5uWAtR
         PNnasyTXSrmn4p8uch/jRb30Gb+nSJ2bW+8OGYLJ731Id1BJAM3ucL9lxLtGoKKWVQcU
         ighw==
X-Gm-Message-State: ACgBeo02GXzME7scIS4N4v49s8kkeKnrBbZVuuwSyYV5sPUYuS8FRXl3
	ewJbkuct7t6MZJpp7rUK6Mc=
X-Google-Smtp-Source: AA6agR70KpwKhsBX+l9PLTnGbwCHQ0i0d2KcI+BRMYwWjyQa8WFPO7wfsxIiaCqM8R6nJOibH+n5aw==
X-Received: by 2002:a7b:cb55:0:b0:3a5:41a:829c with SMTP id v21-20020a7bcb55000000b003a5041a829cmr6208548wmj.153.1660855825734;
        Thu, 18 Aug 2022 13:50:25 -0700 (PDT)
Message-ID: <527e8e57-4032-8c8c-4e98-969b980b7d9d@gmail.com>
Date: Thu, 18 Aug 2022 23:50:23 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V4 5/6] libxl: Allocate MMIO params for I2c device and
 update DT
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
 <762932ad90785d31039343d543da14c84ce8327d.1660023094.git.viresh.kumar@linaro.org>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <762932ad90785d31039343d543da14c84ce8327d.1660023094.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 09.08.22 08:34, Viresh Kumar wrote:

Hello Viresh

> This patch allocates Virtio MMIO params (IRQ and memory region) and pass
> them to the backend, also update Guest device-tree based on Virtio I2C
> DT bindings [1].

Nit: Patch does more than it claims in the description, I am speaking 
about the changes

related to make_xen_iommu_node(). So I would add a sentence about that here.


>
> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/libxl_arm.c | 57 +++++++++++++++++++++++++++++++-----
>   1 file changed, 50 insertions(+), 7 deletions(-)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 891cb6ef2674..93ea8e3d3fa3 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -110,6 +110,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>           }
>       }
>   
> +    for (i = 0; i < d_config->num_i2cs; i++) {
> +        libxl_device_i2c *i2c = &d_config->i2cs[i];
> +

Nit: This blank line is not needed, I think


> +        int rc = alloc_virtio_mmio_params(gc, &i2c->base, &i2c->irq,
> +                &virtio_mmio_base, &virtio_mmio_irq);

Nit: Something wrong with the indentation and looks like the blank line 
is needed here.

> +        if (rc)
> +            return rc;
> +    }
> +
>       /*
>        * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
>        * present, make sure that we allocate enough SPIs for them.
> @@ -947,6 +956,26 @@ static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
>       return fdt_end_node(fdt);
>   }
>   
> +static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
> +                                     uint32_t irq, uint32_t backend_domid)
> +{
> +    int res;
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
> +    if (res) return res;
> +
> +    res = fdt_begin_node(fdt, "i2c");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, "virtio,device22");
> +    if (res) return res;
> +
> +    res = fdt_end_node(fdt);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
>                                                const struct xc_dom_image *dom)
>   {
> @@ -1148,7 +1177,7 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>       size_t fdt_size = 0;
>       int pfdt_size = 0;
>       libxl_domain_build_info *const info = &d_config->b_info;
> -    bool iommu_created;
> +    bool iommu_needed;
>       unsigned int i;
>   
>       const libxl_version_info *vers;
> @@ -1256,22 +1285,36 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>           if (d_config->num_pcidevs)
>               FDT( make_vpci_node(gc, fdt, ainfo, dom) );
>   
> -        iommu_created = false;
> +        iommu_needed = false;
>           for (i = 0; i < d_config->num_disks; i++) {
>               libxl_device_disk *disk = &d_config->disks[i];
>   
>               if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
> -                if (disk->backend_domid != LIBXL_TOOLSTACK_DOMID &&
> -                    !iommu_created) {
> -                    FDT( make_xen_iommu_node(gc, fdt) );
> -                    iommu_created = true;
> -                }
> +                if (disk->backend_domid != LIBXL_TOOLSTACK_DOMID)
> +                    iommu_needed = true;
>   
>                   FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
>                                               disk->irq, disk->backend_domid) );
>               }
>           }
>   
> +        for (i = 0; i < d_config->num_i2cs; i++) {
> +            libxl_device_i2c *i2c = &d_config->i2cs[i];
> +
> +            if (i2c->backend_domid != LIBXL_TOOLSTACK_DOMID)
> +                iommu_needed = true;
> +
> +            FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq,
> +                                           i2c->backend_domid) );
> +        }
> +
> +        /*
> +         * Note, this should be only called after creating all virtio-mmio
> +         * device nodes
> +         */
> +        if (iommu_needed)
> +            FDT( make_xen_iommu_node(gc, fdt) );
> +
>           if (pfdt)
>               FDT( copy_partial_fdt(gc, fdt, pfdt) );


Preferably with above fixed:


Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>


>   

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 21:02:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 21:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389788.626918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOmes-00008E-Ry; Thu, 18 Aug 2022 21:02:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389788.626918; Thu, 18 Aug 2022 21:02:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOmes-000087-PD; Thu, 18 Aug 2022 21:02:30 +0000
Received: by outflank-mailman (input) for mailman id 389788;
 Thu, 18 Aug 2022 21:02:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wIxV=YW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oOmer-000081-C9
 for xen-devel@lists.xen.org; Thu, 18 Aug 2022 21:02:29 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 111e741c-1f39-11ed-9250-1f966e50362f;
 Thu, 18 Aug 2022 23:02:28 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id j7so3070785wrh.3
 for <xen-devel@lists.xen.org>; Thu, 18 Aug 2022 14:02:28 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 j7-20020a5d4647000000b002237fd66585sm2221781wrs.92.2022.08.18.14.02.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Aug 2022 14:02:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 111e741c-1f39-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=GuQcyuaGKDKPP224Chrcs1vbmjpflnRjYi6Mym3IeHw=;
        b=NlvXeejX/qutyflmRu3qCodOKO8PW59n/XOJvStv2FP37/oRez0mLoSRPGuDM4suEk
         3AfwmZM0qa7TSRCpfOYYCvnUZn9QF+S7th2hGItgrknUcdDmSk5nf1h1ysrb1CNWKtbw
         9s9/CgYFl+tHcogMj/ee+RKfW00jdMZ1ByxCkyow9sDJ8fe7ab2jI3f2SnC+7LSKkI9G
         RWwihkMZIh6hIaT0zLB3yO2tLjYXkdbhku1bBdaDB4wFq5PeXbsCQDEBuTgODrKkLTFy
         YS57gqoWI75bvp4/BfjfccMyhBn7Xy7p8EotZ2G83qyQU8Qeyv0ZxbGg56Mg2v1NiMHE
         hEYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=GuQcyuaGKDKPP224Chrcs1vbmjpflnRjYi6Mym3IeHw=;
        b=Pcof9eTZhOYWPP9Bo4P103KuygfkiismGMYbIyLbIWQNDuhomMtkumFL70KrFfc7B1
         KAQP4CiM1SHk7YficE5b32oOv0Kpg5mtjdAvCSKPvRSbIZgICtk0jfwWDeOXboRLBWpu
         gHSxw+X9AS0G7IGjuxnLHqz9cNQgsLOGGXvBRcTmlL3Q29b3e9s+9LL+xoKkKL9B3JOn
         lh7gEQYsiD7Lk+BR9QJ808jwRQrRIBd2rapJPUgx2LTIZEg6E7rQono1278ZpkL7lpFO
         0GHcm88HO/lJaO+TtOlqx3P6zi21LXIk0ZE5XlKqVI11JrEMvY8l5DdRlLWvT8mD6/Mi
         Qf6Q==
X-Gm-Message-State: ACgBeo2K+0VNpby/TpC7nmK0Eun++MEOdpgTggoQXHYCtPdWY7vQyv9e
	YD1pP3quOq2iFpagaiOAVVY=
X-Google-Smtp-Source: AA6agR6AhPnloSJ5B8pT4LRfWSb+WRtS9syx/igkP2UDB2rRnWkqvdNA0f0PsecUoVnZOvE4Ii3qng==
X-Received: by 2002:a5d:5e93:0:b0:225:24f5:ed2a with SMTP id ck19-20020a5d5e93000000b0022524f5ed2amr2426292wrb.81.1660856547540;
        Thu, 18 Aug 2022 14:02:27 -0700 (PDT)
Message-ID: <bc9df506-ebb3-47f4-0c4d-58aadb00292c@gmail.com>
Date: Fri, 19 Aug 2022 00:02:25 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH V4 6/6] libxl: Allocate MMIO params for GPIO device and
 update DT
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1660023094.git.viresh.kumar@linaro.org>
 <f4c77a566ce2a141e2044c859798a11152ce1928.1660023094.git.viresh.kumar@linaro.org>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <f4c77a566ce2a141e2044c859798a11152ce1928.1660023094.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 09.08.22 08:34, Viresh Kumar wrote:

Hello Viresh

> This patch allocates Virtio MMIO params (IRQ and memory region) and pass
> them to the backend, also update Guest device-tree based on Virtio GPIO
> DT bindings [1].
>
> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/libxl_arm.c | 51 ++++++++++++++++++++++++++++++++++++
>   1 file changed, 51 insertions(+)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 93ea8e3d3fa3..c0ffb7f179d4 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -119,6 +119,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>               return rc;
>       }
>   
> +    for (i = 0; i < d_config->num_gpios; i++) {
> +        libxl_device_gpio *gpio = &d_config->gpios[i];
> +

Nit: This blank line is not needed, I think


> +    int rc = alloc_virtio_mmio_params(gc, &gpio->base, &gpio->irq,
> +            &virtio_mmio_base, &virtio_mmio_irq);

Nit: Something wrong with the indentation and looks like the blank line 
is needed here.


> +    if (rc)
> +        return rc;
> +    }
> +
>       /*
>        * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
>        * present, make sure that we allocate enough SPIs for them.
> @@ -976,6 +985,38 @@ static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
>       return fdt_end_node(fdt);
>   }
>   
> +static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt, uint64_t base,
> +                                      uint32_t irq, uint32_t backend_domid)
> +{
> +    int res;
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
> +    if (res) return res;
> +
> +    res = fdt_begin_node(fdt, "gpio");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, "virtio,device29");
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "gpio-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#gpio-cells", 2);
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
> +    if (res) return res;
> +
> +    res = fdt_end_node(fdt);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
>                                                const struct xc_dom_image *dom)
>   {
> @@ -1308,6 +1349,16 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>                                              i2c->backend_domid) );
>           }
>   
> +        for (i = 0; i < d_config->num_gpios; i++) {
> +            libxl_device_gpio *gpio = &d_config->gpios[i];
> +
> +            if (gpio->backend_domid != LIBXL_TOOLSTACK_DOMID)
> +                iommu_needed = true;
> +
> +            FDT( make_virtio_mmio_node_gpio(gc, fdt, gpio->base, gpio->irq,
> +                                            gpio->backend_domid) );
> +        }
> +
>           /*
>            * Note, this should be only called after creating all virtio-mmio
>            * device nodes


Preferably with above fixed:

Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>


-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 21:31:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 21:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389796.626930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOn6s-0003Ui-5h; Thu, 18 Aug 2022 21:31:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389796.626930; Thu, 18 Aug 2022 21:31:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOn6s-0003Ub-2k; Thu, 18 Aug 2022 21:31:26 +0000
Received: by outflank-mailman (input) for mailman id 389796;
 Thu, 18 Aug 2022 21:31:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOn6r-0003UR-5V; Thu, 18 Aug 2022 21:31:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOn6r-0000Y1-2K; Thu, 18 Aug 2022 21:31:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOn6q-0002Wk-7m; Thu, 18 Aug 2022 21:31:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOn6q-0004D3-7I; Thu, 18 Aug 2022 21:31:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vcTYV/OnmwAFwqL9eLeRdjW8Mu2XviT+a6cba+16Le8=; b=rBfp1GhQIP8tBHgYGO3E2Eh4dz
	lCkvp75OD1sB5sH+iwYIMemiIDJvWj0hlrkpmdfw7DmcSbLafI4szYKYAnXlAsg60wzv+9KmyTYen
	tKtPkXUSehVAkltJ64+J6VzmNDggNPLqS1wqPUvQ0Hb3OQ8dMrCXuzcjiv7WajfNU2UA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172629-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172629: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=68bf712d4f5928af4c426dc82d27b9783e499d93
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 21:31:24 +0000

flight 172629 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172629/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 68bf712d4f5928af4c426dc82d27b9783e499d93
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   14 days
Failing since        172151  2022-08-05 02:40:28 Z   13 days  118 attempts
Testing same since   172621  2022-08-18 09:12:57 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 780 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 21:49:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 21:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389805.626941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnOU-00057A-Oj; Thu, 18 Aug 2022 21:49:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389805.626941; Thu, 18 Aug 2022 21:49:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnOU-000573-LO; Thu, 18 Aug 2022 21:49:38 +0000
Received: by outflank-mailman (input) for mailman id 389805;
 Thu, 18 Aug 2022 21:49:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOnOT-00056t-Aw; Thu, 18 Aug 2022 21:49:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOnOT-0000qt-5v; Thu, 18 Aug 2022 21:49:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOnOS-0003J8-Sk; Thu, 18 Aug 2022 21:49:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOnOS-000471-SH; Thu, 18 Aug 2022 21:49:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=C9LXON9ruw9Dxghad4jngKQfq1K+PRXCRYxA81N9Iyw=; b=EZezGK/2QF+ploEUiI3I/03ml6
	TaEA/2cuBYlqQZhCNScUtmfOA7ELfF94ac810vFYfZ1Ezfw6s/8RzN8HCrpJvna99mLUoshQvQlaO
	1Fl/ySSamCYXalJ26gsmNaGQMVlLwC9ZLr7v6DFZD4kwi6IBuonxoA14ee8VtTdYuU2g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172619-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172619: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f2beaf876dce590ee9937b79cd3498f2fe9f661c
X-Osstest-Versions-That:
    xen=0f2611c524385f7bffeee67635a488a5a29b6ba4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 21:49:36 +0000

flight 172619 xen-unstable real [real]
flight 172630 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172619/
http://logs.test-lab.xenproject.org/osstest/logs/172630/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 10 xen-install/src_host fail pass in 172630-retest
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail pass in 172630-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172604
 build-i386-libvirt            6 libvirt-build                fail  like 172604
 build-arm64-libvirt           6 libvirt-build                fail  like 172604
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172604
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172604
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172604
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172604
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172604
 build-armhf-libvirt           6 libvirt-build                fail  like 172604
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172604
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172604
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172604
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172604
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f2beaf876dce590ee9937b79cd3498f2fe9f661c
baseline version:
 xen                  0f2611c524385f7bffeee67635a488a5a29b6ba4

Last test of basis   172604  2022-08-17 16:38:08 Z    1 days
Testing same since   172619  2022-08-18 06:59:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0f2611c524..f2beaf876d  f2beaf876dce590ee9937b79cd3498f2fe9f661c -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 22:02:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 22:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389814.626955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnbI-0007Yt-4y; Thu, 18 Aug 2022 22:02:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389814.626955; Thu, 18 Aug 2022 22:02:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnbI-0007Ym-2K; Thu, 18 Aug 2022 22:02:52 +0000
Received: by outflank-mailman (input) for mailman id 389814;
 Thu, 18 Aug 2022 22:02:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=e2I5=YW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oOnbG-0007Yg-I4
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 22:02:50 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fa60cbb-1f41-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 00:02:49 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 0C688B821F3;
 Thu, 18 Aug 2022 22:02:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8AC4FC433D6;
 Thu, 18 Aug 2022 22:02:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fa60cbb-1f41-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660860167;
	bh=66MHEqgacifMYHlGPJDL6vHpddMit9yKPTRA+6tWWlg=;
	h=Date:From:To:cc:Subject:From;
	b=BT8XqDlpR1ktZ4f2IzvRbQ1Hr+QH4JIzCP/QqrgfkruoksNRwDY+d/98rgayxqkMH
	 leOIDmK1A88GskCfemXR2ySgM+yUDOL2FHx3lpg1OV/JZXeFXgu+hFKfe3xmyeEsXw
	 HG8C9XwXXxRi+8bse6hplknQF0VrGUSuq2j/65DDzWCvG1cHaB8mjRSYsUEtnF+g2k
	 3A5U5FiNNl+1arVJlqRzkI29vk0p0gapOd0X6atlrQvQTItMp4VUacfT7lvz6ce/CY
	 ZgEVPCIFUF09Z32p8NdsfLHdJk0L5oe1Y/0p4qqTiFz7grWLC+OJtx5auZlThkpas7
	 xuvPSOaworh8w==
Date: Thu, 18 Aug 2022 15:02:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, julien@xen.org, wl@xen.org, jbeulich@suse.com, 
    george.dunlap@citrix.com, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
Subject: [PATCH v2 0/3] introduce SPDX
Message-ID: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This small series introduces SPDX tags to Xen:

1) add a mention to SPDX in CODING_STYLE
2) add a LICENSES directory with licenses and SPDX tags
3) adds the SPDX single-line comment to arch/arm/*.c

Note that arch/arm/*.c is just a start. Also, to make the changes as
mechanical as possible I restricted myself to:
- adding the single-line comment at the top of the file
- removing the copyright lines (when present) from the top of the file
  header

I purposedly restrained myself to do other cleanups to the headers: this
series already touches many files and I prefer to keep these changes as
mechanical as possible. Further improvements (style improvement,
removing what's left of the header, removing copyright lines, etc.) can
be done with subsequent patches more easily.

License changes are not intentional.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 22:03:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 22:03:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389820.626967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnbz-00086z-DM; Thu, 18 Aug 2022 22:03:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389820.626967; Thu, 18 Aug 2022 22:03:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnbz-00086s-Ac; Thu, 18 Aug 2022 22:03:35 +0000
Received: by outflank-mailman (input) for mailman id 389820;
 Thu, 18 Aug 2022 22:03:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pc6L=YW=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1oOnbx-0007Yg-Mm
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 22:03:33 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2070.outbound.protection.outlook.com [40.107.92.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 98b8ea36-1f41-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 00:03:32 +0200 (CEST)
Received: from DS7PR05CA0041.namprd05.prod.outlook.com (2603:10b6:8:2f::8) by
 MN2PR12MB3728.namprd12.prod.outlook.com (2603:10b6:208:167::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 18 Aug
 2022 22:03:29 +0000
Received: from DM6NAM11FT048.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2f::4) by DS7PR05CA0041.outlook.office365.com
 (2603:10b6:8:2f::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.7 via Frontend
 Transport; Thu, 18 Aug 2022 22:03:29 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT048.mail.protection.outlook.com (10.13.173.114) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 22:03:28 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 18 Aug
 2022 17:03:23 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 18 Aug
 2022 15:03:22 -0700
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Thu, 18 Aug 2022 17:03:21 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98b8ea36-1f41-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q9Olo+1fDjvZqiDoEBKmDR6eB4Qe4HdVZmscIJI9bCt1rPtjSPz4XC6DORvO+7Wc6ThSHjHJ+th82WYkEDQTG1yIk2QEcr+ssI+UdKS4noQxYy9mOgHKwZvqil+zhcVozyCPDvf8rFj7m5h4uHtiscS3FSgHvaI7e1uHNbUEyi0PrwVEhT2vwHlYPZsyQQNIE/Z0Z24FUzEDD60T2PuyImzMTgHTrdHpVOYf79YnEL9L+T9XwF5H0egHXb7GWEa1NPmnP1YXa1sMKHBl+kJdTFK/W6W3sviM632zpfuAo27cbJX47TUT2yeW9KNHXPY2RyVVJnk5Oo6cIEXzATXmRg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j9xAtoAEfbE44r+znOUsO61Kytkse4K75wxHAkDzkqk=;
 b=e/vnJGovHp5kv+ZC8xDhsntmT/+cwiphU+04SC9XmNam/Srpl43f8jvSa9ZwOwIqxp4O6hps6wWL/Izp8krGeAI0HwnPr1ZtxuKvio6KYkSZPSyvUav112+7GaXHa1wIBBBipLZqvQHNxl3maf/0C11rWhEgyV1tzDr5WfE/oKko08Yde8RIicvL/PcjmjI6BVyRC7LYIL3jyF4STRDOerF7oKtgIfQqGTCB20cSStzAV1AIa818S2SwOYIy6LrPX5WRFzlHts1vNVS19u4gs3EVKbbNcT97CMA27EH0ya0IFZp5i0HWfBL8U9PahG3yEmbPRucWtnDH7Q2ayouWzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j9xAtoAEfbE44r+znOUsO61Kytkse4K75wxHAkDzkqk=;
 b=i+ZTNvPr+JSqqd9FtDeFy3/RTWGEA5JjCNkdY3NCrrF8vXwMuutquHeFY1TYvh+GbZ634L3S7x2ZbJWeV/WD3eBgRXGUpMDBrrD7rQJXdeghLjCXbmAmgkitIBV4El+QdWcCgUygnTbbhgVli5V3sjJqYmh0UV9klx8IugUnY8A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <wl@xen.org>,
	<jbeulich@suse.com>, <george.dunlap@citrix.com>, <andrew.cooper3@citrix.com>,
	<bertrand.marquis@arm.com>, <Volodymyr_Babchuk@epam.com>,
	<roger.pau@citrix.com>, Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2 1/3] Add SPDX to CODING_STYLE
Date: Thu, 18 Aug 2022 15:03:18 -0700
Message-ID: <20220818220320.2538705-1-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c792252d-2385-4ce6-f1d6-08da81657b88
X-MS-TrafficTypeDiagnostic: MN2PR12MB3728:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7DAXXb5o1KpdbN4S987smN0yjLbG5F89jqRh9FNlAfi6K9d1P6U7bIjwSGq4oMeVk8c9g676okGrMINku5X5KT9m5cXyYAsRpnmzlyaV/D600l2WHVFrn32z+38RL/t2Ovv4966+rZPEQ4Bhc4JOD1kAhDPYFxsbL8f6LWZB8uGKw0wiw6Om0qC/+HQ+eUVcRNw/EmHqvGUM3iYkmtZJOPQ23yDOnKPL7Pg2lSnQGlvkWEg4MGRvC31vBtDzIOUxqqwh1nOOiwJL40M86lgTrqIbiHH83LytzP+VaCT/1tZZACbmqS7FEfKfAJVLYOyDuqLgaO5oacP0vWZzlfzZi52tjyKcKWdOF5ZPdQZwWoKHWtIdg3Kc1yrg0CAyz9s+tvkLmKMkRCCO5beSDflWXVIHMD9FU2bMOgeEm1tGIB4jUe1I92VdxK/TgfADSy8LDesRaq97vNJCBXhEJYDHDZ1Q45S5W0T5RXfBGVC8uVfsaG0NJR6pWxhBl8wh4reFiymbFjU7pZNttXCRJH5wc59vHdcbjb3JYhYRMSpDQf3YhO4efKDdsoDhcw61iPMZJZ0br6Z1UFwoFOqlFQ4EpPDLGAxJaRvlM2jmHhxykUuBw2Mxr1FVuGfD55b+LZ2TOFG/8EOTn0HLx6721kzI/MF7D6B7v68mk1y1FWTQ5rdeBXLiUhZX38X/TUgAMXDIs5ZUJ1Bxab3ou9AfjNbD4ngueVorsuPWuya2SDdsw3Ej3cZcKKCDvcTbY4h6sdoyWKNtzajaazROzDmTaslJNUXsAVwhKoPlsVqiRW8XUVZO34m51WVI7O3fbg71MSkT
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(39860400002)(396003)(36840700001)(40470700004)(46966006)(36860700001)(44832011)(2906002)(478600001)(70586007)(5660300002)(70206006)(4744005)(7416002)(8936002)(8676002)(82740400003)(356005)(81166007)(336012)(86362001)(6666004)(40480700001)(2616005)(26005)(36756003)(47076005)(54906003)(1076003)(426003)(4326008)(6916009)(41300700001)(186003)(40460700003)(316002)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 22:03:28.9505
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c792252d-2385-4ce6-f1d6-08da81657b88
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT048.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3728

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 CODING_STYLE | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/CODING_STYLE b/CODING_STYLE
index 3386ee1d90..5faf274b3a 100644
--- a/CODING_STYLE
+++ b/CODING_STYLE
@@ -14,6 +14,16 @@ explicitly (e.g. tools/libxl/CODING_STYLE) but often implicitly (Linux
 coding style is fairly common). In general you should copy the style
 of the surrounding code. If you are unsure please ask.
 
+SPDX
+----
+
+New files should start with a single-line SPDX comment to express the
+license, e.g.:
+
+/* SPDX-License-Identifier: GPL-2.0 */
+
+See LICENSES/ for a list of licenses and SPDX tags currently used.
+
 MISRA C
 -------
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 22:03:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 22:03:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389821.626978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnc1-0008NV-KV; Thu, 18 Aug 2022 22:03:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389821.626978; Thu, 18 Aug 2022 22:03:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnc1-0008NO-HW; Thu, 18 Aug 2022 22:03:37 +0000
Received: by outflank-mailman (input) for mailman id 389821;
 Thu, 18 Aug 2022 22:03:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pc6L=YW=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1oOnbz-0007Yg-Vy
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 22:03:36 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2080.outbound.protection.outlook.com [40.107.94.80])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 97f9da80-1f41-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 00:03:31 +0200 (CEST)
Received: from DS7PR05CA0012.namprd05.prod.outlook.com (2603:10b6:5:3b9::17)
 by CY5PR12MB6322.namprd12.prod.outlook.com (2603:10b6:930:21::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 22:03:25 +0000
Received: from DM6NAM11FT012.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b9:cafe::1b) by DS7PR05CA0012.outlook.office365.com
 (2603:10b6:5:3b9::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.7 via Frontend
 Transport; Thu, 18 Aug 2022 22:03:25 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT012.mail.protection.outlook.com (10.13.173.109) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 22:03:25 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 18 Aug
 2022 17:03:24 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 18 Aug
 2022 15:03:24 -0700
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Thu, 18 Aug 2022 17:03:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97f9da80-1f41-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NLsu5RsWMYLfa541kkXJj2GsJ5OwtlbJX3kaEUlazkYcxDN644W93jIeOGFFyLtBVvFDe0D67x9ldaUHa/oZ4IZ0FVEokjy9NmQNqmf5twKKXZakUjyOIWUAFpz6JbA8+AdgbSc5SbbR+4FyDnOmvbVyKLhW4RzhMkyLKhhZu7gtx9bt4HB50pB8dZfLcs1GbBSB5j9cFrZFKJv6ZXeFxzcbqFFkwa/13o46KnraJskZayneu0v1pvRg6rZDpeVyetufwOkpPzoXGpB/nOBLJMp8XLrpyLhcQX8MuFd2gpbvL9bC3nXEN6wTkHb6MTk06Ave6FVAEUGrdyQCfBMGMQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AqeYyHiuYR8IH6I0fvnXauCrQj23ioNU/sf43Z2rqfs=;
 b=cQGHChUL3C5O4ITpZQ33mGKowthE2b0l26Ae2m2AykeYS3/9rtmqAHOQZQWpQwUHUOJA3r83KOawblpHEWZFFK61mawWloz6SiGN2qQbg2hPPS8ttJcpj7N+geWTZSIqZGT3CM3M19LplqbKA/0Tiv5tMVAM30PmjRSW+ZXAxhawTfk7/W9sFzhs9gdj+aWeJW93XeVdqsVpBEuLZewZZQTEeLxOr+BvHETzlVN8XOVxRH2SfwWAWo0zWoMHYQTDftnm6+8lZ8t/bGkVj3gg6OmoxbKkjoOmUHZUtmmexNP3s6+G8Qur/Fpz+SjEiN9WxClIn8spAbVuwyujhPgkfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AqeYyHiuYR8IH6I0fvnXauCrQj23ioNU/sf43Z2rqfs=;
 b=22HR4UxvSJQf03SISn8yOqYbng/+Cyp1+mSAkjtB0OOu4gm4IHml/tJ2yGA12zyxUXMkug5arKoDYnthqT5BNP+R1SR4KXm8GqODw+jcCBfEk7p74oZ+NMtbUb/G9weJjRz1RWjFBSn5d3XxkFCH4SpRm9IpfxLizg0Gp8BTPAg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <wl@xen.org>,
	<jbeulich@suse.com>, <george.dunlap@citrix.com>, <andrew.cooper3@citrix.com>,
	<bertrand.marquis@arm.com>, <Volodymyr_Babchuk@epam.com>,
	<roger.pau@citrix.com>, Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2 2/3] Add licenses under LICENSES
Date: Thu, 18 Aug 2022 15:03:19 -0700
Message-ID: <20220818220320.2538705-2-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 832d0ac6-1d34-4639-5ac7-08da81657944
X-MS-TrafficTypeDiagnostic: CY5PR12MB6322:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uj+GN7oDMbRHxicUXmdCt1LE0haTIjZHoxzf1l73fuZXprorXOJbwbe4TETQrbRavf6vOu2tZ3QXfDn8nQ3ruDw8/eTUIjy8ZWHOR8xN3nsMXNgUYMEIGWDnLQ4BLQ1gLrdvklP1TheM6ikGxDk3bHM/4//LVWIQ8AMbIxlPL5rT3gRIngGZ75+MhC5cM+qTITEZu2K0J1Ueeh6DEPIqfo3o2405M1Q9jygN7eD930dwsR3ENoIe0GuFc8EUERqbeTHSvn3v9NzexfVebPXbwAN+9zcFCBtwgzURwzUu1qDnborSpSKCo4CrzVv2ThpK4YwRRDQ44y3LMG0jQgxEHu+5E+ciejbxTvYnb8VQu0ft/hTz4bddsyN4xI/nEE/jPecnlxHkmY4/laPXdxQ7AGvIVAlnkZwKSQ8SZyGvWa1LkBvITAJ+P/XIQRIDynwpZ0jvaDAQeBbLQwOoo560uUTvr7XXSTB8iorTXZy0CYzLfBR0IoD7Brl96ysBkEFhsuF6GnkemHUL8oYVL9AMyKqvlMLPbRgmWWxvlREkl2ixGNdQK15OLp0/WWXgKo1mprg46t92u9UGRDJcAivv40ZwQ29PKBUW6pkEqYOrDDSOJgBnm1oLcXcz1nZZOtGr1LVuUZBMR41ECWlcs2graTQElrswwuP4RFxfuwXWUTeIkC386qaCx4hpSYlutjz4Jm/+yTNbURMNa2w9+etoGo30W+LY+Xs+so79OW0vnM9Hiej3ISC8l1YiOCY3fHqzN4Mnj63vf/jU4VKgiGw/Sp2tp9O90LXHjdDUmzYQ9HW3FApmzta1kOVGen/OMb98uUBwK5IZEXr5UfQH9VseJjtAJHu8eosHpeJ9UDwQjuOkEZE3XwfdZwdP3+5xg+/+
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(396003)(376002)(40470700004)(36840700001)(46966006)(82740400003)(81166007)(186003)(336012)(2616005)(1076003)(36860700001)(426003)(47076005)(356005)(83380400001)(44832011)(70206006)(5660300002)(7416002)(8936002)(30864003)(70586007)(8676002)(4326008)(40480700001)(2906002)(82310400005)(86362001)(478600001)(966005)(26005)(40460700003)(6666004)(41300700001)(316002)(6916009)(19627235002)(54906003)(36756003)(2004002)(55084003)(36900700001)(559001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 22:03:25.1455
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 832d0ac6-1d34-4639-5ac7-08da81657944
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT012.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6322

Add the individual licenses under a new top-level directory named
"LICENSES". Each license file includes its related SPDX tags.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 LICENSES/BSD-2-Clause       |  32 +++
 LICENSES/BSD-3-Clause       |  36 +++
 LICENSES/BSD-3-Clause-Clear |  41 +++
 LICENSES/GPL-2.0            | 359 +++++++++++++++++++++++++
 LICENSES/LGPL-2.0           | 487 ++++++++++++++++++++++++++++++++++
 LICENSES/LGPL-2.1           | 503 ++++++++++++++++++++++++++++++++++++
 LICENSES/MIT                |  30 +++
 7 files changed, 1488 insertions(+)
 create mode 100644 LICENSES/BSD-2-Clause
 create mode 100644 LICENSES/BSD-3-Clause
 create mode 100644 LICENSES/BSD-3-Clause-Clear
 create mode 100644 LICENSES/GPL-2.0
 create mode 100644 LICENSES/LGPL-2.0
 create mode 100644 LICENSES/LGPL-2.1
 create mode 100644 LICENSES/MIT

diff --git a/LICENSES/BSD-2-Clause b/LICENSES/BSD-2-Clause
new file mode 100644
index 0000000000..da366e2ce5
--- /dev/null
+++ b/LICENSES/BSD-2-Clause
@@ -0,0 +1,32 @@
+Valid-License-Identifier: BSD-2-Clause
+SPDX-URL: https://spdx.org/licenses/BSD-2-Clause.html
+Usage-Guide:
+  To use the BSD 2-clause "Simplified" License put the following SPDX
+  tag/value pair into a comment according to the placement guidelines in
+  the licensing rules documentation:
+    SPDX-License-Identifier: BSD-2-Clause
+License-Text:
+
+Copyright (c) <year> <owner> . All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSES/BSD-3-Clause b/LICENSES/BSD-3-Clause
new file mode 100644
index 0000000000..34c7f057c8
--- /dev/null
+++ b/LICENSES/BSD-3-Clause
@@ -0,0 +1,36 @@
+Valid-License-Identifier: BSD-3-Clause
+SPDX-URL: https://spdx.org/licenses/BSD-3-Clause.html
+Usage-Guide:
+  To use the BSD 3-clause "New" or "Revised" License put the following SPDX
+  tag/value pair into a comment according to the placement guidelines in
+  the licensing rules documentation:
+    SPDX-License-Identifier: BSD-3-Clause
+License-Text:
+
+Copyright (c) <year> <owner> . All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+   contributors may be used to endorse or promote products derived from this
+   software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSES/BSD-3-Clause-Clear b/LICENSES/BSD-3-Clause-Clear
new file mode 100644
index 0000000000..e53b56092b
--- /dev/null
+++ b/LICENSES/BSD-3-Clause-Clear
@@ -0,0 +1,41 @@
+Valid-License-Identifier: BSD-3-Clause-Clear
+SPDX-URL: https://spdx.org/licenses/BSD-3-Clause-Clear.html
+Usage-Guide:
+  To use the BSD 3-clause "Clear" License put the following SPDX
+  tag/value pair into a comment according to the placement guidelines in
+  the licensing rules documentation:
+    SPDX-License-Identifier: BSD-3-Clause-Clear
+License-Text:
+
+The Clear BSD License
+
+Copyright (c) [xxxx]-[xxxx] [Owner Organization]
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted (subject to the limitations in the disclaimer
+below) provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+ * Neither the name of [Owner Organization] nor the names of its
+   contributors may be used to endorse or promote products derived from
+   this software without specific prior written permission.
+
+NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
+THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSES/GPL-2.0 b/LICENSES/GPL-2.0
new file mode 100644
index 0000000000..ff0812fd89
--- /dev/null
+++ b/LICENSES/GPL-2.0
@@ -0,0 +1,359 @@
+Valid-License-Identifier: GPL-2.0
+Valid-License-Identifier: GPL-2.0-only
+Valid-License-Identifier: GPL-2.0+
+Valid-License-Identifier: GPL-2.0-or-later
+SPDX-URL: https://spdx.org/licenses/GPL-2.0.html
+Usage-Guide:
+  To use this license in source code, put one of the following SPDX
+  tag/value pairs into a comment according to the placement
+  guidelines in the licensing rules documentation.
+  For 'GNU General Public License (GPL) version 2 only' use:
+    SPDX-License-Identifier: GPL-2.0
+  or
+    SPDX-License-Identifier: GPL-2.0-only
+  For 'GNU General Public License (GPL) version 2 or any later version' use:
+    SPDX-License-Identifier: GPL-2.0+
+  or
+    SPDX-License-Identifier: GPL-2.0-or-later
+License-Text:
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/LICENSES/LGPL-2.0 b/LICENSES/LGPL-2.0
new file mode 100644
index 0000000000..957d798fe0
--- /dev/null
+++ b/LICENSES/LGPL-2.0
@@ -0,0 +1,487 @@
+Valid-License-Identifier: LGPL-2.0
+Valid-License-Identifier: LGPL-2.0+
+SPDX-URL: https://spdx.org/licenses/LGPL-2.0.html
+Usage-Guide:
+  To use this license in source code, put one of the following SPDX
+  tag/value pairs into a comment according to the placement
+  guidelines in the licensing rules documentation.
+  For 'GNU Library General Public License (LGPL) version 2.0 only' use:
+    SPDX-License-Identifier: LGPL-2.0
+  For 'GNU Library General Public License (LGPL) version 2.0 or any later
+  version' use:
+    SPDX-License-Identifier: LGPL-2.0+
+License-Text:
+
+GNU LIBRARY GENERAL PUBLIC LICENSE
+Version 2, June 1991
+
+Copyright (C) 1991 Free Software Foundation, Inc.
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is numbered 2
+because it goes with version 2 of the ordinary GPL.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to
+share and change it. By contrast, the GNU General Public Licenses are
+intended to guarantee your freedom to share and change free software--to
+make sure the software is free for all its users.
+
+This license, the Library General Public License, applies to some specially
+designated Free Software Foundation software, and to any other libraries
+whose authors decide to use it. You can use it for your libraries, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These
+restrictions translate to certain responsibilities for you if you
+distribute copies of the library, or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for
+a fee, you must give the recipients all the rights that we gave you. You
+must make sure that they, too, receive or can get the source code. If you
+link a program with the library, you must provide complete object files to
+the recipients so that they can relink them with the library, after making
+changes to the library and recompiling it. And you must show them these
+terms so they know their rights.
+
+Our method of protecting your rights has two steps: (1) copyright the
+library, and (2) offer you this license which gives you legal permission to
+copy, distribute and/or modify the library.
+
+Also, for each distributor's protection, we want to make certain that
+everyone understands that there is no warranty for this free library. If
+the library is modified by someone else and passed on, we want its
+recipients to know that what they have is not the original version, so that
+any problems introduced by others will not reflect on the original authors'
+reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that companies distributing free software will
+individually obtain patent licenses, thus in effect transforming the
+program into proprietary software. To prevent this, we have made it clear
+that any patent must be licensed for everyone's free use or not licensed at
+all.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU
+General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+Because of this blurred distinction, using the ordinary General Public
+License for libraries did not effectively promote software sharing, because
+most developers did not use the libraries. We concluded that weaker
+conditions might promote sharing better.
+
+However, unrestricted linking of non-free programs would deprive the users
+of those programs of all benefit from the free status of the libraries
+themselves. This Library General Public License is intended to permit
+developers of non-free programs to use free libraries, while preserving
+your freedom as a user of such programs to change the free libraries that
+are incorporated in them. (We have not seen how to achieve this as regards
+changes in header files, but we have achieved it as regards changes in the
+actual functions of the Library.) The hope is that this will lead to faster
+development of free libraries.
+
+The precise terms and conditions for copying, distribution and modification
+follow. Pay close attention to the difference between a "work based on the
+library" and a "work that uses the library". The former contains code
+derived from the library, while the latter only works together with the
+library.
+
+Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library which contains a
+   notice placed by the copyright holder or other authorized party saying
+   it may be distributed under the terms of this Library General Public
+   License (also called "this License"). Each licensee is addressed as
+   "you".
+
+   A "library" means a collection of software functions and/or data
+   prepared so as to be conveniently linked with application programs
+   (which use some of those functions and data) to form executables.
+
+   The "Library", below, refers to any such software library or work which
+   has been distributed under these terms. A "work based on the Library"
+   means either the Library or any derivative work under copyright law:
+   that is to say, a work containing the Library or a portion of it, either
+   verbatim or with modifications and/or translated straightforwardly into
+   another language. (Hereinafter, translation is included without
+   limitation in the term "modification".)
+
+   "Source code" for a work means the preferred form of the work for making
+   modifications to it. For a library, complete source code means all the
+   source code for all modules it contains, plus any associated interface
+   definition files, plus the scripts used to control compilation and
+   installation of the library.
+
+   Activities other than copying, distribution and modification are not
+   covered by this License; they are outside its scope. The act of running
+   a program using the Library is not restricted, and output from such a
+   program is covered only if its contents constitute a work based on the
+   Library (independent of the use of the Library in a tool for writing
+   it). Whether that is true depends on what the Library does and what the
+   program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete
+   source code as you receive it, in any medium, provided that you
+   conspicuously and appropriately publish on each copy an appropriate
+   copyright notice and disclaimer of warranty; keep intact all the notices
+   that refer to this License and to the absence of any warranty; and
+   distribute a copy of this License along with the Library.
+
+   You may charge a fee for the physical act of transferring a copy, and
+   you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it,
+   thus forming a work based on the Library, and copy and distribute such
+   modifications or work under the terms of Section 1 above, provided that
+   you also meet all of these conditions:
+
+   a) The modified work must itself be a software library.
+
+   b) You must cause the files modified to carry prominent notices stating
+      that you changed the files and the date of any change.
+
+   c) You must cause the whole of the work to be licensed at no charge to
+      all third parties under the terms of this License.
+
+   d) If a facility in the modified Library refers to a function or a table
+      of data to be supplied by an application program that uses the
+      facility, other than as an argument passed when the facility is
+      invoked, then you must make a good faith effort to ensure that, in
+      the event an application does not supply such function or table, the
+      facility still operates, and performs whatever part of its purpose
+      remains meaningful.
+
+   (For example, a function in a library to compute square roots has a
+   purpose that is entirely well-defined independent of the
+   application. Therefore, Subsection 2d requires that any
+   application-supplied function or table used by this function must be
+   optional: if the application does not supply it, the square root
+   function must still compute square roots.)
+
+   These requirements apply to the modified work as a whole. If
+   identifiable sections of that work are not derived from the Library, and
+   can be reasonably considered independent and separate works in
+   themselves, then this License, and its terms, do not apply to those
+   sections when you distribute them as separate works. But when you
+   distribute the same sections as part of a whole which is a work based on
+   the Library, the distribution of the whole must be on the terms of this
+   License, whose permissions for other licensees extend to the entire
+   whole, and thus to each and every part regardless of who wrote it.
+
+   Thus, it is not the intent of this section to claim rights or contest
+   your rights to work written entirely by you; rather, the intent is to
+   exercise the right to control the distribution of derivative or
+   collective works based on the Library.
+
+   In addition, mere aggregation of another work not based on the Library
+   with the Library (or with a work based on the Library) on a volume of a
+   storage or distribution medium does not bring the other work under the
+   scope of this License.
+
+3. You may opt to apply the terms of the ordinary GNU General Public
+   License instead of this License to a given copy of the Library. To do
+   this, you must alter all the notices that refer to this License, so that
+   they refer to the ordinary GNU General Public License, version 2,
+   instead of to this License. (If a newer version than version 2 of the
+   ordinary GNU General Public License has appeared, then you can specify
+   that version instead if you wish.) Do not make any other change in these
+   notices.
+
+   Once this change is made in a given copy, it is irreversible for that
+   copy, so the ordinary GNU General Public License applies to all
+   subsequent copies and derivative works made from that copy.
+
+   This option is useful when you wish to copy part of the code of the
+   Library into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of
+   it, under Section 2) in object code or executable form under the terms
+   of Sections 1 and 2 above provided that you accompany it with the
+   complete corresponding machine-readable source code, which must be
+   distributed under the terms of Sections 1 and 2 above on a medium
+   customarily used for software interchange.
+
+   If distribution of object code is made by offering access to copy from a
+   designated place, then offering equivalent access to copy the source
+   code from the same place satisfies the requirement to distribute the
+   source code, even though third parties are not compelled to copy the
+   source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but
+   is designed to work with the Library by being compiled or linked with
+   it, is called a "work that uses the Library". Such a work, in isolation,
+   is not a derivative work of the Library, and therefore falls outside the
+   scope of this License.
+
+   However, linking a "work that uses the Library" with the Library creates
+   an executable that is a derivative of the Library (because it contains
+   portions of the Library), rather than a "work that uses the
+   library". The executable is therefore covered by this License. Section 6
+   states terms for distribution of such executables.
+
+   When a "work that uses the Library" uses material from a header file
+   that is part of the Library, the object code for the work may be a
+   derivative work of the Library even though the source code is
+   not. Whether this is true is especially significant if the work can be
+   linked without the Library, or if the work is itself a library. The
+   threshold for this to be true is not precisely defined by law.
+
+   If such an object file uses only numerical parameters, data structure
+   layouts and accessors, and small macros and small inline functions (ten
+   lines or less in length), then the use of the object file is
+   unrestricted, regardless of whether it is legally a derivative
+   work. (Executables containing this object code plus portions of the
+   Library will still fall under Section 6.)
+
+   Otherwise, if the work is a derivative of the Library, you may
+   distribute the object code for the work under the terms of Section
+   6. Any executables containing that work also fall under Section 6,
+   whether or not they are linked directly with the Library itself.
+
+6. As an exception to the Sections above, you may also compile or link a
+   "work that uses the Library" with the Library to produce a work
+   containing portions of the Library, and distribute that work under terms
+   of your choice, provided that the terms permit modification of the work
+   for the customer's own use and reverse engineering for debugging such
+   modifications.
+
+   You must give prominent notice with each copy of the work that the
+   Library is used in it and that the Library and its use are covered by
+   this License. You must supply a copy of this License. If the work during
+   execution displays copyright notices, you must include the copyright
+   notice for the Library among them, as well as a reference directing the
+   user to the copy of this License. Also, you must do one of these things:
+
+   a) Accompany the work with the complete corresponding machine-readable
+      source code for the Library including whatever changes were used in
+      the work (which must be distributed under Sections 1 and 2 above);
+      and, if the work is an executable linked with the Library, with the
+      complete machine-readable "work that uses the Library", as object
+      code and/or source code, so that the user can modify the Library and
+      then relink to produce a modified executable containing the modified
+      Library. (It is understood that the user who changes the contents of
+      definitions files in the Library will not necessarily be able to
+      recompile the application to use the modified definitions.)
+
+   b) Accompany the work with a written offer, valid for at least three
+      years, to give the same user the materials specified in Subsection
+      6a, above, for a charge no more than the cost of performing this
+      distribution.
+
+   c) If distribution of the work is made by offering access to copy from a
+      designated place, offer equivalent access to copy the above specified
+      materials from the same place.
+
+   d) Verify that the user has already received a copy of these materials
+      or that you have already sent this user a copy.
+
+   For an executable, the required form of the "work that uses the Library"
+   must include any data and utility programs needed for reproducing the
+   executable from it. However, as a special exception, the source code
+   distributed need not include anything that is normally distributed (in
+   either source or binary form) with the major components (compiler,
+   kernel, and so on) of the operating system on which the executable runs,
+   unless that component itself accompanies the executable.
+
+   It may happen that this requirement contradicts the license restrictions
+   of other proprietary libraries that do not normally accompany the
+   operating system. Such a contradiction means you cannot use both them
+   and the Library together in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library
+   side-by-side in a single library together with other library facilities
+   not covered by this License, and distribute such a combined library,
+   provided that the separate distribution of the work based on the Library
+   and of the other library facilities is otherwise permitted, and provided
+   that you do these two things:
+
+   a) Accompany the combined library with a copy of the same work based on
+      the Library, uncombined with any other library facilities. This must
+      be distributed under the terms of the Sections above.
+
+   b) Give prominent notice with the combined library of the fact that part
+      of it is a work based on the Library, and explaining where to find
+      the accompanying uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the
+   Library except as expressly provided under this License. Any attempt
+   otherwise to copy, modify, sublicense, link with, or distribute the
+   Library is void, and will automatically terminate your rights under this
+   License. However, parties who have received copies, or rights, from you
+   under this License will not have their licenses terminated so long as
+   such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed
+   it. However, nothing else grants you permission to modify or distribute
+   the Library or its derivative works. These actions are prohibited by law
+   if you do not accept this License. Therefore, by modifying or
+   distributing the Library (or any work based on the Library), you
+   indicate your acceptance of this License to do so, and all its terms and
+   conditions for copying, distributing or modifying the Library or works
+   based on it.
+
+10. Each time you redistribute the Library (or any work based on the
+    Library), the recipient automatically receives a license from the
+    original licensor to copy, distribute, link with or modify the Library
+    subject to these terms and conditions. You may not impose any further
+    restrictions on the recipients' exercise of the rights granted
+    herein. You are not responsible for enforcing compliance by third
+    parties to this License.
+
+11. If, as a consequence of a court judgment or allegation of patent
+    infringement or for any other reason (not limited to patent issues),
+    conditions are imposed on you (whether by court order, agreement or
+    otherwise) that contradict the conditions of this License, they do not
+    excuse you from the conditions of this License. If you cannot
+    distribute so as to satisfy simultaneously your obligations under this
+    License and any other pertinent obligations, then as a consequence you
+    may not distribute the Library at all. For example, if a patent license
+    would not permit royalty-free redistribution of the Library by all
+    those who receive copies directly or indirectly through you, then the
+    only way you could satisfy both it and this License would be to refrain
+    entirely from distribution of the Library.
+
+    If any portion of this section is held invalid or unenforceable under
+    any particular circumstance, the balance of the section is intended to
+    apply, and the section as a whole is intended to apply in other
+    circumstances.
+
+    It is not the purpose of this section to induce you to infringe any
+    patents or other property right claims or to contest validity of any
+    such claims; this section has the sole purpose of protecting the
+    integrity of the free software distribution system which is implemented
+    by public license practices. Many people have made generous
+    contributions to the wide range of software distributed through that
+    system in reliance on consistent application of that system; it is up
+    to the author/donor to decide if he or she is willing to distribute
+    software through any other system and a licensee cannot impose that
+    choice.
+
+    This section is intended to make thoroughly clear what is believed to
+    be a consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain
+    countries either by patents or by copyrighted interfaces, the original
+    copyright holder who places the Library under this License may add an
+    explicit geographical distribution limitation excluding those
+    countries, so that distribution is permitted only in or among countries
+    not thus excluded. In such case, this License incorporates the
+    limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of
+    the Library General Public License from time to time. Such new versions
+    will be similar in spirit to the present version, but may differ in
+    detail to address new problems or concerns.
+
+    Each version is given a distinguishing version number. If the Library
+    specifies a version number of this License which applies to it and "any
+    later version", you have the option of following the terms and
+    conditions either of that version or of any later version published by
+    the Free Software Foundation. If the Library does not specify a license
+    version number, you may choose any version ever published by the Free
+    Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free
+    programs whose distribution conditions are incompatible with these,
+    write to the author to ask for permission. For software which is
+    copyrighted by the Free Software Foundation, write to the Free Software
+    Foundation; we sometimes make exceptions for this. Our decision will be
+    guided by the two goals of preserving the free status of all
+    derivatives of our free software and of promoting the sharing and reuse
+    of software generally.
+
+NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+    FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+    PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
+    EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
+    ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH
+    YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
+    NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+    REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
+    DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
+    DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY
+    (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
+    INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
+    THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR
+    OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Libraries
+
+If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+one line to give the library's name and an idea of what it does.
+Copyright (C) year name of author
+
+This library is free software; you can redistribute it and/or modify it
+under the terms of the GNU Library General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+License for more details.
+
+You should have received a copy of the GNU Library General Public License
+along with this library; if not, write to the Free Software Foundation,
+Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+the library `Frob' (a library for tweaking knobs) written
+by James Random Hacker.
+
+signature of Ty Coon, 1 April 1990
+Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/LICENSES/LGPL-2.1 b/LICENSES/LGPL-2.1
new file mode 100644
index 0000000000..27bb4342a3
--- /dev/null
+++ b/LICENSES/LGPL-2.1
@@ -0,0 +1,503 @@
+Valid-License-Identifier: LGPL-2.1
+Valid-License-Identifier: LGPL-2.1+
+SPDX-URL: https://spdx.org/licenses/LGPL-2.1.html
+Usage-Guide:
+  To use this license in source code, put one of the following SPDX
+  tag/value pairs into a comment according to the placement
+  guidelines in the licensing rules documentation.
+  For 'GNU Lesser General Public License (LGPL) version 2.1 only' use:
+    SPDX-License-Identifier: LGPL-2.1
+  For 'GNU Lesser General Public License (LGPL) version 2.1 or any later
+  version' use:
+    SPDX-License-Identifier: LGPL-2.1+
+License-Text:
+
+GNU LESSER GENERAL PUBLIC LICENSE
+Version 2.1, February 1999
+
+Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts as
+the successor of the GNU Library Public License, version 2, hence the
+version number 2.1.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to
+share and change it. By contrast, the GNU General Public Licenses are
+intended to guarantee your freedom to share and change free software--to
+make sure the software is free for all its users.
+
+This license, the Lesser General Public License, applies to some specially
+designated software packages--typically libraries--of the Free Software
+Foundation and other authors who decide to use it. You can use it too, but
+we suggest you first think carefully about whether this license or the
+ordinary General Public License is the better strategy to use in any
+particular case, based on the explanations below.
+
+When we speak of free software, we are referring to freedom of use, not
+price. Our General Public Licenses are designed to make sure that you have
+the freedom to distribute copies of free software (and charge for this
+service if you wish); that you receive source code or can get it if you
+want it; that you can change the software and use pieces of it in new free
+programs; and that you are informed that you can do these things.
+
+To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for you if
+you distribute copies of the library or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for
+a fee, you must give the recipients all the rights that we gave you. You
+must make sure that they, too, receive or can get the source code. If you
+link other code with the library, you must provide complete object files to
+the recipients, so that they can relink them with the library after making
+changes to the library and recompiling it. And you must show them these
+terms so they know their rights.
+
+We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+To protect each distributor, we want to make it very clear that there is no
+warranty for the free library. Also, if the library is modified by someone
+else and passed on, the recipients should know that what they have is not
+the original version, so that the original author's reputation will not be
+affected by problems that might be introduced by others.
+
+Finally, software patents pose a constant threat to the existence of any
+free program. We wish to make sure that a company cannot effectively
+restrict the users of a free program by obtaining a restrictive license
+from a patent holder. Therefore, we insist that any patent license obtained
+for a version of the library must be consistent with the full freedom of
+use specified in this license.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU
+General Public License. This license, the GNU Lesser General Public
+License, applies to certain designated libraries, and is quite different
+from the ordinary General Public License. We use this license for certain
+libraries in order to permit linking those libraries into non-free
+programs.
+
+When a program is linked with a library, whether statically or using a
+shared library, the combination of the two is legally speaking a combined
+work, a derivative of the original library. The ordinary General Public
+License therefore permits such linking only if the entire combination fits
+its criteria of freedom. The Lesser General Public License permits more lax
+criteria for linking other code with the library.
+
+We call this license the "Lesser" General Public License because it does
+Less to protect the user's freedom than the ordinary General Public
+License. It also provides other free software developers Less of an
+advantage over competing non-free programs. These disadvantages are the
+reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+For example, on rare occasions, there may be a special need to encourage
+the widest possible use of a certain library, so that it becomes a de-facto
+standard. To achieve this, non-free programs must be allowed to use the
+library. A more frequent case is that a free library does the same job as
+widely used non-free libraries. In this case, there is little to gain by
+limiting the free library to free software only, so we use the Lesser
+General Public License.
+
+In other cases, permission to use a particular library in non-free programs
+enables a greater number of people to use a large body of free
+software. For example, permission to use the GNU C Library in non-free
+programs enables many more people to use the whole GNU operating system, as
+well as its variant, the GNU/Linux operating system.
+
+Although the Lesser General Public License is Less protective of the users'
+freedom, it does ensure that the user of a program that is linked with the
+Library has the freedom and the wherewithal to run that program using a
+modified version of the Library.
+
+The precise terms and conditions for copying, distribution and modification
+follow. Pay close attention to the difference between a "work based on the
+library" and a "work that uses the library". The former contains code
+derived from the library, whereas the latter must be combined with the
+library in order to run.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library or other program
+   which contains a notice placed by the copyright holder or other
+   authorized party saying it may be distributed under the terms of this
+   Lesser General Public License (also called "this License"). Each
+   licensee is addressed as "you".
+
+   A "library" means a collection of software functions and/or data
+   prepared so as to be conveniently linked with application programs
+   (which use some of those functions and data) to form executables.
+
+   The "Library", below, refers to any such software library or work which
+   has been distributed under these terms. A "work based on the Library"
+   means either the Library or any derivative work under copyright law:
+   that is to say, a work containing the Library or a portion of it, either
+   verbatim or with modifications and/or translated straightforwardly into
+   another language. (Hereinafter, translation is included without
+   limitation in the term "modification".)
+
+   "Source code" for a work means the preferred form of the work for making
+   modifications to it. For a library, complete source code means all the
+   source code for all modules it contains, plus any associated interface
+   definition files, plus the scripts used to control compilation and
+   installation of the library.
+
+    Activities other than copying, distribution and modification are not
+    covered by this License; they are outside its scope. The act of running
+    a program using the Library is not restricted, and output from such a
+    program is covered only if its contents constitute a work based on the
+    Library (independent of the use of the Library in a tool for writing
+    it). Whether that is true depends on what the Library does and what the
+    program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete
+   source code as you receive it, in any medium, provided that you
+   conspicuously and appropriately publish on each copy an appropriate
+   copyright notice and disclaimer of warranty; keep intact all the notices
+   that refer to this License and to the absence of any warranty; and
+   distribute a copy of this License along with the Library.
+
+   You may charge a fee for the physical act of transferring a copy, and
+   you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it,
+   thus forming a work based on the Library, and copy and distribute such
+   modifications or work under the terms of Section 1 above, provided that
+   you also meet all of these conditions:
+
+   a) The modified work must itself be a software library.
+
+   b) You must cause the files modified to carry prominent notices stating
+      that you changed the files and the date of any change.
+
+   c) You must cause the whole of the work to be licensed at no charge to
+      all third parties under the terms of this License.
+
+   d) If a facility in the modified Library refers to a function or a table
+      of data to be supplied by an application program that uses the
+      facility, other than as an argument passed when the facility is
+      invoked, then you must make a good faith effort to ensure that, in
+      the event an application does not supply such function or table, the
+      facility still operates, and performs whatever part of its purpose
+      remains meaningful.
+
+   (For example, a function in a library to compute square roots has a
+    purpose that is entirely well-defined independent of the
+    application. Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must be
+    optional: if the application does not supply it, the square root
+    function must still compute square roots.)
+
+   These requirements apply to the modified work as a whole. If
+   identifiable sections of that work are not derived from the Library, and
+   can be reasonably considered independent and separate works in
+   themselves, then this License, and its terms, do not apply to those
+   sections when you distribute them as separate works. But when you
+   distribute the same sections as part of a whole which is a work based on
+   the Library, the distribution of the whole must be on the terms of this
+   License, whose permissions for other licensees extend to the entire
+   whole, and thus to each and every part regardless of who wrote it.
+
+   Thus, it is not the intent of this section to claim rights or contest
+   your rights to work written entirely by you; rather, the intent is to
+   exercise the right to control the distribution of derivative or
+   collective works based on the Library.
+
+   In addition, mere aggregation of another work not based on the Library
+   with the Library (or with a work based on the Library) on a volume of a
+   storage or distribution medium does not bring the other work under the
+   scope of this License.
+
+3. You may opt to apply the terms of the ordinary GNU General Public
+   License instead of this License to a given copy of the Library. To do
+   this, you must alter all the notices that refer to this License, so that
+   they refer to the ordinary GNU General Public License, version 2,
+   instead of to this License. (If a newer version than version 2 of the
+   ordinary GNU General Public License has appeared, then you can specify
+   that version instead if you wish.) Do not make any other change in these
+   notices.
+
+   Once this change is made in a given copy, it is irreversible for that
+   copy, so the ordinary GNU General Public License applies to all
+   subsequent copies and derivative works made from that copy.
+
+   This option is useful when you wish to copy part of the code of the
+   Library into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of
+   it, under Section 2) in object code or executable form under the terms
+   of Sections 1 and 2 above provided that you accompany it with the
+   complete corresponding machine-readable source code, which must be
+   distributed under the terms of Sections 1 and 2 above on a medium
+   customarily used for software interchange.
+
+   If distribution of object code is made by offering access to copy from a
+   designated place, then offering equivalent access to copy the source
+   code from the same place satisfies the requirement to distribute the
+   source code, even though third parties are not compelled to copy the
+   source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but
+   is designed to work with the Library by being compiled or linked with
+   it, is called a "work that uses the Library". Such a work, in isolation,
+   is not a derivative work of the Library, and therefore falls outside the
+   scope of this License.
+
+   However, linking a "work that uses the Library" with the Library creates
+   an executable that is a derivative of the Library (because it contains
+   portions of the Library), rather than a "work that uses the
+   library". The executable is therefore covered by this License. Section 6
+   states terms for distribution of such executables.
+
+   When a "work that uses the Library" uses material from a header file
+   that is part of the Library, the object code for the work may be a
+   derivative work of the Library even though the source code is
+   not. Whether this is true is especially significant if the work can be
+   linked without the Library, or if the work is itself a library. The
+   threshold for this to be true is not precisely defined by law.
+
+   If such an object file uses only numerical parameters, data structure
+   layouts and accessors, and small macros and small inline functions (ten
+   lines or less in length), then the use of the object file is
+   unrestricted, regardless of whether it is legally a derivative
+   work. (Executables containing this object code plus portions of the
+   Library will still fall under Section 6.)
+
+   Otherwise, if the work is a derivative of the Library, you may
+   distribute the object code for the work under the terms of Section
+   6. Any executables containing that work also fall under Section 6,
+   whether or not they are linked directly with the Library itself.
+
+6. As an exception to the Sections above, you may also combine or link a
+   "work that uses the Library" with the Library to produce a work
+   containing portions of the Library, and distribute that work under terms
+   of your choice, provided that the terms permit modification of the work
+   for the customer's own use and reverse engineering for debugging such
+   modifications.
+
+   You must give prominent notice with each copy of the work that the
+   Library is used in it and that the Library and its use are covered by
+   this License. You must supply a copy of this License. If the work during
+   execution displays copyright notices, you must include the copyright
+   notice for the Library among them, as well as a reference directing the
+   user to the copy of this License. Also, you must do one of these things:
+
+   a) Accompany the work with the complete corresponding machine-readable
+      source code for the Library including whatever changes were used in
+      the work (which must be distributed under Sections 1 and 2 above);
+      and, if the work is an executable linked with the Library, with the
+      complete machine-readable "work that uses the Library", as object
+      code and/or source code, so that the user can modify the Library and
+      then relink to produce a modified executable containing the modified
+      Library. (It is understood that the user who changes the contents of
+      definitions files in the Library will not necessarily be able to
+      recompile the application to use the modified definitions.)
+
+   b) Use a suitable shared library mechanism for linking with the
+      Library. A suitable mechanism is one that (1) uses at run time a copy
+      of the library already present on the user's computer system, rather
+      than copying library functions into the executable, and (2) will
+      operate properly with a modified version of the library, if the user
+      installs one, as long as the modified version is interface-compatible
+      with the version that the work was made with.
+
+   c) Accompany the work with a written offer, valid for at least three
+      years, to give the same user the materials specified in Subsection
+      6a, above, for a charge no more than the cost of performing this
+      distribution.
+
+   d) If distribution of the work is made by offering access to copy from a
+      designated place, offer equivalent access to copy the above specified
+      materials from the same place.
+
+   e) Verify that the user has already received a copy of these materials
+      or that you have already sent this user a copy.
+
+   For an executable, the required form of the "work that uses the Library"
+   must include any data and utility programs needed for reproducing the
+   executable from it. However, as a special exception, the materials to be
+   distributed need not include anything that is normally distributed (in
+   either source or binary form) with the major components (compiler,
+   kernel, and so on) of the operating system on which the executable runs,
+   unless that component itself accompanies the executable.
+
+   It may happen that this requirement contradicts the license restrictions
+   of other proprietary libraries that do not normally accompany the
+   operating system. Such a contradiction means you cannot use both them
+   and the Library together in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library
+   side-by-side in a single library together with other library facilities
+   not covered by this License, and distribute such a combined library,
+   provided that the separate distribution of the work based on the Library
+   and of the other library facilities is otherwise permitted, and provided
+   that you do these two things:
+
+   a) Accompany the combined library with a copy of the same work based on
+      the Library, uncombined with any other library facilities. This must
+      be distributed under the terms of the Sections above.
+
+   b) Give prominent notice with the combined library of the fact that part
+      of it is a work based on the Library, and explaining where to find
+      the accompanying uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the
+   Library except as expressly provided under this License. Any attempt
+   otherwise to copy, modify, sublicense, link with, or distribute the
+   Library is void, and will automatically terminate your rights under this
+   License. However, parties who have received copies, or rights, from you
+   under this License will not have their licenses terminated so long as
+   such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed
+   it. However, nothing else grants you permission to modify or distribute
+   the Library or its derivative works. These actions are prohibited by law
+   if you do not accept this License. Therefore, by modifying or
+   distributing the Library (or any work based on the Library), you
+   indicate your acceptance of this License to do so, and all its terms and
+   conditions for copying, distributing or modifying the Library or works
+   based on it.
+
+10. Each time you redistribute the Library (or any work based on the
+    Library), the recipient automatically receives a license from the
+    original licensor to copy, distribute, link with or modify the Library
+    subject to these terms and conditions. You may not impose any further
+    restrictions on the recipients' exercise of the rights granted
+    herein. You are not responsible for enforcing compliance by third
+    parties with this License.
+
+11. If, as a consequence of a court judgment or allegation of patent
+    infringement or for any other reason (not limited to patent issues),
+    conditions are imposed on you (whether by court order, agreement or
+    otherwise) that contradict the conditions of this License, they do not
+    excuse you from the conditions of this License. If you cannot
+    distribute so as to satisfy simultaneously your obligations under this
+    License and any other pertinent obligations, then as a consequence you
+    may not distribute the Library at all. For example, if a patent license
+    would not permit royalty-free redistribution of the Library by all
+    those who receive copies directly or indirectly through you, then the
+    only way you could satisfy both it and this License would be to refrain
+    entirely from distribution of the Library.
+
+    If any portion of this section is held invalid or unenforceable under
+    any particular circumstance, the balance of the section is intended to
+    apply, and the section as a whole is intended to apply in other
+    circumstances.
+
+    It is not the purpose of this section to induce you to infringe any
+    patents or other property right claims or to contest validity of any
+    such claims; this section has the sole purpose of protecting the
+    integrity of the free software distribution system which is implemented
+    by public license practices. Many people have made generous
+    contributions to the wide range of software distributed through that
+    system in reliance on consistent application of that system; it is up
+    to the author/donor to decide if he or she is willing to distribute
+    software through any other system and a licensee cannot impose that
+    choice.
+
+    This section is intended to make thoroughly clear what is believed to
+    be a consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain
+    countries either by patents or by copyrighted interfaces, the original
+    copyright holder who places the Library under this License may add an
+    explicit geographical distribution limitation excluding those
+    countries, so that distribution is permitted only in or among countries
+    not thus excluded. In such case, this License incorporates the
+    limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of
+    the Lesser General Public License from time to time. Such new versions
+    will be similar in spirit to the present version, but may differ in
+    detail to address new problems or concerns.
+
+    Each version is given a distinguishing version number. If the Library
+    specifies a version number of this License which applies to it and "any
+    later version", you have the option of following the terms and
+    conditions either of that version or of any later version published by
+    the Free Software Foundation. If the Library does not specify a license
+    version number, you may choose any version ever published by the Free
+    Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free
+    programs whose distribution conditions are incompatible with these,
+    write to the author to ask for permission. For software which is
+    copyrighted by the Free Software Foundation, write to the Free Software
+    Foundation; we sometimes make exceptions for this. Our decision will be
+    guided by the two goals of preserving the free status of all
+    derivatives of our free software and of promoting the sharing and reuse
+    of software generally.
+
+NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+    FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+    PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
+    EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
+    ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH
+    YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
+    NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+    REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
+    DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
+    DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY
+    (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
+    INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
+    THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR
+    OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Libraries
+
+If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+one line to give the library's name and an idea of what it does.
+Copyright (C) year name of author
+
+This library is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or (at
+your option) any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this library; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add
+information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+the library `Frob' (a library for tweaking knobs) written
+by James Random Hacker.
+
+signature of Ty Coon, 1 April 1990
+Ty Coon, President of Vice
+That's all there is to it!
diff --git a/LICENSES/MIT b/LICENSES/MIT
new file mode 100644
index 0000000000..f33a68ceb3
--- /dev/null
+++ b/LICENSES/MIT
@@ -0,0 +1,30 @@
+Valid-License-Identifier: MIT
+SPDX-URL: https://spdx.org/licenses/MIT.html
+Usage-Guide:
+  To use the MIT License put the following SPDX tag/value pair into a
+  comment according to the placement guidelines in the licensing rules
+  documentation:
+    SPDX-License-Identifier: MIT
+License-Text:
+
+MIT License
+
+Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 22:03:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 22:03:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389822.626989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnc9-0000Je-3s; Thu, 18 Aug 2022 22:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389822.626989; Thu, 18 Aug 2022 22:03:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOnc9-0000JX-00; Thu, 18 Aug 2022 22:03:45 +0000
Received: by outflank-mailman (input) for mailman id 389822;
 Thu, 18 Aug 2022 22:03:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pc6L=YW=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1oOnc7-0007Yg-BW
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 22:03:43 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2069.outbound.protection.outlook.com [40.107.237.69])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d74ab12-1f41-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 00:03:40 +0200 (CEST)
Received: from DS7PR05CA0048.namprd05.prod.outlook.com (2603:10b6:8:2f::19) by
 MN0PR12MB6198.namprd12.prod.outlook.com (2603:10b6:208:3c5::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 18 Aug
 2022 22:03:30 +0000
Received: from DM6NAM11FT048.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2f:cafe::ed) by DS7PR05CA0048.outlook.office365.com
 (2603:10b6:8:2f::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.14 via Frontend
 Transport; Thu, 18 Aug 2022 22:03:29 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT048.mail.protection.outlook.com (10.13.173.114) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Thu, 18 Aug 2022 22:03:29 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 18 Aug
 2022 17:03:25 -0500
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Thu, 18 Aug 2022 17:03:24 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d74ab12-1f41-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WpTibVGIflrEfbiSYjZm4TX54IEsMYHlAaBerhJol6Csweoj15doibxbiUzXYOn+HkKUcjX/9QzkrDxGdezXdcoG5DuFtm4gIjjOghXjLQGOtu4JsIA43JhjS313lR/FJNk7xIwPTJ+XMUmoJ5vSEMVzP8sxmbo7pMaC1vSYjs1dFqlXm6kwvaSCbLBn7utyLG0pBjXcE2Jg8+QkLbgeAHRBYw9sQ9qCiC0d726OeZDaUMkCEAQyFNnzYDM3QYLELeeSLEFQkWFjtEams6DAkcMRBE+4Q/pt4hiGsiUXQA8QXRjJXIuacYfc2/ZslkxOZuJ82ATluTAqfkEVUJkxTA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/IuBu+hIruaG0Z2TmhmoVVP7vXC+0kWwGvrCGw9a2Xw=;
 b=Gha3V1AwRXcgGHtyQc9RIwLHK5Ow67ltNaRsCT/fy8jtPSlcq1p1xriwl+u++EkKilyb7Yvg7pZpCXOdujJdZHrdMGJaUjrFu8o9IAThNYO+qhMVne7HGhP6p4FBFDcWmF3T6JrAubKGopvjQub+7R3XoeRW9+foKFxisH+d4UmRh+8g4PgwV7kl5Z8dV3f429td7HnkjAh4yGq7xf2bD25X2aTly+u4PrRXAmcdatIJNSxdBI1M1t4BCe20YHoDCpf9dLqn5a77Pd+LGDd5PudRKk6gRcAqedZAPF8WORcHVknfmUefqtHmA4LaMqoHkYdfpUaM6v+R0a9QKIbnrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/IuBu+hIruaG0Z2TmhmoVVP7vXC+0kWwGvrCGw9a2Xw=;
 b=nWAGJkdf6rUszYpaAXASmZZGHoL1wexyaN9S3KtgpcwC9y5vrwCbhik/9hvweb9FLjVu4LYFQn0acpu/eum7pjcjSpSMcWAfYi/ITLzodY6fOwPDi2k2bROQwQWne/WPTGpTTxxMNLex2XjFfma5RXprjhpP1Z0b6+kiNlgAalY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <wl@xen.org>,
	<jbeulich@suse.com>, <george.dunlap@citrix.com>, <andrew.cooper3@citrix.com>,
	<bertrand.marquis@arm.com>, <Volodymyr_Babchuk@epam.com>,
	<roger.pau@citrix.com>, Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2 3/3] add SPDX to arch/arm/*.c
Date: Thu, 18 Aug 2022 15:03:20 -0700
Message-ID: <20220818220320.2538705-3-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a0b02278-3e70-4cdd-eade-08da81657c04
X-MS-TrafficTypeDiagnostic: MN0PR12MB6198:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HHj/ZmohgoONg5mrCI3xcrRtIA7py9X4DOMsiBT/sPb5xsXf+kYcOkCEu8elIJPYcOx1IXlXLBvTVYve8bWaIkHIgIKVbp8kIdj5Sgm0/skoata+Wq6fEf96raMjtqI8lFfj1oNVGQF3ao2DokNu3nE6CriZMfuPma0//bLzW+d9T82nQmkbS3b6myLbJys2K9bd0o098NEGvlWtNE7z2AvXIQRRG9MYOzQzv9XAZzs1B27PLc4Vp+6YuKpQwn09dLYM2AfGJOqAWdrShhw6+4qUlWJwurGQy4JRLoY1BpPMMY7AeEN/cbQfF7/NEb+U56rJHDVEXyuwPgNsp2ZI/9KwhKeWECdMZkC7BsiROApu1eDxF3dy1tR/ZcTi7xxWdtX9e/GbhtGiQ86usp1vN+i9huaSr0/TcmdtaiDmI6BNrUn//nVMLyjpNvfakLZDZUKMYLrLAuz8p8jygMyxOJ1ve2V2RlbwHl/H5svjD0HsYNeE63QhgPJlVU89hh05jjBXeAje1qLsxEqCcboCINVMQ0zQ5/zVN/hrzplBvIJiTDWr0j3Pt5xWMZBOL7hgPH6YEmvti+PoYN0aBaiJGLSD/0+1PL59jkJGpJoZlRxgB9us4jt/rVXSJ545aAeEzjOUh1pLLZlNBTcGUywXGbltyfwTbSj/yBfIrzQaZp+AxJARmZXiRfrkf28B8p+haly4u1UeZMATJMCb5cyWA2qyP4VLAqJkslIw92PV9fuTkj5tgFNeuwCA7/S05rWiJG5BBEro/M8OV4WDrrj++Eq+rH1Zmp2m69dlrtXSyFCUGCHmk09mMgTckKr/1zhbimq6dmUuUyc4MsPbStoUaA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(376002)(136003)(346002)(46966006)(40470700004)(36840700001)(478600001)(356005)(81166007)(82740400003)(6916009)(54906003)(40460700003)(86362001)(70586007)(70206006)(8676002)(4326008)(316002)(6666004)(41300700001)(186003)(1076003)(30864003)(44832011)(2616005)(26005)(426003)(47076005)(36860700001)(82310400005)(2906002)(7416002)(5660300002)(83380400001)(8936002)(40480700001)(36756003)(336012)(2004002)(36900700001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 22:03:29.7786
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a0b02278-3e70-4cdd-eade-08da81657c04
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT048.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6198

Add SPDX license information to all the *.c files under arch/arm.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- use /* */
- actually check use the right license
- remove stale copyright info from top of the file header
---
 xen/arch/arm/alternative.c        | 13 +------------
 xen/arch/arm/bootfdt.c            |  5 +----
 xen/arch/arm/cpuerrata.c          |  1 +
 xen/arch/arm/cpufeature.c         | 13 +------------
 xen/arch/arm/decode.c             | 11 +----------
 xen/arch/arm/device.c             | 11 +----------
 xen/arch/arm/dm.c                 | 13 +------------
 xen/arch/arm/domain.c             | 12 +-----------
 xen/arch/arm/domain_build.c       |  1 +
 xen/arch/arm/domain_page.c        |  1 +
 xen/arch/arm/domctl.c             |  1 +
 xen/arch/arm/early_printk.c       |  5 +----
 xen/arch/arm/gic-v2.c             | 11 +----------
 xen/arch/arm/gic-v3-its.c         | 13 +------------
 xen/arch/arm/gic-v3-lpi.c         | 13 +------------
 xen/arch/arm/gic-v3.c             | 11 +----------
 xen/arch/arm/gic-vgic.c           | 11 +----------
 xen/arch/arm/gic.c                | 11 +----------
 xen/arch/arm/guest_atomics.c      | 13 +------------
 xen/arch/arm/guest_walk.c         | 13 +------------
 xen/arch/arm/guestcopy.c          |  1 +
 xen/arch/arm/hvm.c                | 13 +------------
 xen/arch/arm/io.c                 | 11 +----------
 xen/arch/arm/ioreq.c              | 13 +------------
 xen/arch/arm/irq.c                | 11 +----------
 xen/arch/arm/kernel.c             |  1 +
 xen/arch/arm/livepatch.c          |  1 +
 xen/arch/arm/mem_access.c         | 13 +------------
 xen/arch/arm/mm.c                 | 11 +----------
 xen/arch/arm/monitor.c            | 13 +------------
 xen/arch/arm/p2m.c                |  1 +
 xen/arch/arm/percpu.c             |  1 +
 xen/arch/arm/physdev.c            |  1 +
 xen/arch/arm/platform.c           | 11 +----------
 xen/arch/arm/platform_hypercall.c |  1 +
 xen/arch/arm/processor.c          | 11 +----------
 xen/arch/arm/psci.c               | 11 +----------
 xen/arch/arm/setup.c              | 11 +----------
 xen/arch/arm/shutdown.c           |  1 +
 xen/arch/arm/smp.c                |  1 +
 xen/arch/arm/smpboot.c            | 11 +----------
 xen/arch/arm/sysctl.c             |  1 +
 xen/arch/arm/time.c               | 11 +----------
 xen/arch/arm/traps.c              | 11 +----------
 xen/arch/arm/vcpreg.c             | 11 +----------
 xen/arch/arm/vgic-v2.c            | 11 +----------
 xen/arch/arm/vgic-v3-its.c        | 13 +------------
 xen/arch/arm/vgic-v3.c            | 11 +----------
 xen/arch/arm/vgic.c               | 11 +----------
 xen/arch/arm/vm_event.c           | 13 +------------
 xen/arch/arm/vpci.c               | 11 +----------
 xen/arch/arm/vpl011.c             | 13 +------------
 xen/arch/arm/vpsci.c              | 13 +------------
 xen/arch/arm/vsmc.c               | 10 +---------
 xen/arch/arm/vtimer.c             | 11 +----------
 xen/arch/arm/vuart.c              | 11 +----------
 56 files changed, 56 insertions(+), 438 deletions(-)

diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
index f03cd943c6..f00e3b9b3c 100644
--- a/xen/arch/arm/alternative.c
+++ b/xen/arch/arm/alternative.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * alternative runtime patching
  * inspired by the x86 version
  *
  * Copyright (C) 2014-2016 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index ec81a45de9..0acb7d63be 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -1,11 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * Early Device Tree
  *
  * Copyright (C) 2012-2014 Citrix Systems, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
  */
 #include <xen/types.h>
 #include <xen/lib.h>
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index ae649d16ef..99bd4a7d38 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/cpu.h>
 #include <xen/cpumask.h>
 #include <xen/init.h>
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index 62d5e1770a..c4ec38bb25 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * Contains CPU feature definitions
  *
  * Copyright (C) 2015 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/types.h>
diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
index f5f6562600..2537dbebc1 100644
--- a/xen/arch/arm/decode.c
+++ b/xen/arch/arm/decode.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/decode.c
  *
@@ -5,16 +6,6 @@
  *
  * Julien Grall <julien.grall@linaro.org>
  * Copyright (C) 2013 Linaro Limited.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/guest_access.h>
diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 70cd6c1a19..ca8539dee5 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/device.c
  *
@@ -5,16 +6,6 @@
  *
  * Julien Grall <julien.grall@linaro.org>
  * Copyright (C) 2013 Linaro Limited.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <asm/device.h>
diff --git a/xen/arch/arm/dm.c b/xen/arch/arm/dm.c
index 1b3fd6bc7d..5569efa121 100644
--- a/xen/arch/arm/dm.c
+++ b/xen/arch/arm/dm.c
@@ -1,17 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * Copyright (c) 2019 Arm ltd.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/dm.h>
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 2cd481979c..67a30ec724 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -1,14 +1,4 @@
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 #include <xen/bitops.h>
 #include <xen/errno.h>
 #include <xen/grant_table.h>
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 3fd1186b53..b29bdf3aa6 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/init.h>
 #include <xen/compile.h>
 #include <xen/lib.h>
diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
index 71182575f9..47405e0866 100644
--- a/xen/arch/arm/domain_page.c
+++ b/xen/arch/arm/domain_page.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/mm.h>
 #include <xen/pmap.h>
 #include <xen/vmap.h>
diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
index 1baf25c3d9..ad56efb0f5 100644
--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  * Arch-specific domctl.c
  *
diff --git a/xen/arch/arm/early_printk.c b/xen/arch/arm/early_printk.c
index 333073d97e..03cbe0fb88 100644
--- a/xen/arch/arm/early_printk.c
+++ b/xen/arch/arm/early_printk.c
@@ -1,11 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * printk() for use before the final page tables are setup.
  *
  * Copyright (C) 2012 Citrix Systems, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index bd773bcc67..b410575d2c 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/gic-v2.c
  *
@@ -5,16 +6,6 @@
  *
  * Tim Deegan <tim@xen.org>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/lib.h>
diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 9558bad96a..6bd28fc87b 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * xen/arch/arm/gic-v3-its.c
  *
  * ARM GICv3 Interrupt Translation Service (ITS) support
  *
  * Copyright (C) 2016,2017 - ARM Ltd
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; under version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/acpi.h>
diff --git a/xen/arch/arm/gic-v3-lpi.c b/xen/arch/arm/gic-v3-lpi.c
index 61d90eb386..ca7a0ab39a 100644
--- a/xen/arch/arm/gic-v3-lpi.c
+++ b/xen/arch/arm/gic-v3-lpi.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * xen/arch/arm/gic-v3-lpi.c
  *
  * ARM GICv3 Locality-specific Peripheral Interrupts (LPI) support
  *
  * Copyright (C) 2016,2017 - ARM Ltd
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; under version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/cpu.h>
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 64b36cec25..b1d47ff300 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/gic-v3.c
  *
@@ -9,16 +10,6 @@
  *
  * Vijaya Kumar K <vijaya.kumar@caviumnetworks.com>, Cavium Inc
  * ported to Xen
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/acpi.h>
diff --git a/xen/arch/arm/gic-vgic.c b/xen/arch/arm/gic-vgic.c
index 98c021f1a8..56490dbc43 100644
--- a/xen/arch/arm/gic-vgic.c
+++ b/xen/arch/arm/gic-vgic.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/gic-vgic.c
  *
@@ -5,16 +6,6 @@
  *
  * Tim Deegan <tim@xen.org>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/errno.h>
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 3b0331b538..d5d83f725c 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/gic.c
  *
@@ -5,16 +6,6 @@
  *
  * Tim Deegan <tim@xen.org>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/lib.h>
diff --git a/xen/arch/arm/guest_atomics.c b/xen/arch/arm/guest_atomics.c
index 1b78a062f0..6ba77f082d 100644
--- a/xen/arch/arm/guest_atomics.c
+++ b/xen/arch/arm/guest_atomics.c
@@ -1,17 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * arch/arm/guest_atomics.c
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 #include <xen/cpu.h>
 
diff --git a/xen/arch/arm/guest_walk.c b/xen/arch/arm/guest_walk.c
index 87de40d0cb..43d3215304 100644
--- a/xen/arch/arm/guest_walk.c
+++ b/xen/arch/arm/guest_walk.c
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * Guest page table walk
  * Copyright (c) 2017 Sergej Proskurin <proskurin@sec.in.tum.de>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/domain_page.h>
diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c
index abb6236e27..225fd343dd 100644
--- a/xen/arch/arm/guestcopy.c
+++ b/xen/arch/arm/guestcopy.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/domain_page.h>
 #include <xen/guest_access.h>
 #include <xen/lib.h>
diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index fc1a52767d..0989309fea 100644
--- a/xen/arch/arm/hvm.c
+++ b/xen/arch/arm/hvm.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * arch/arm/hvm.c
  *
  * Arch-specific hardware virtual machine abstractions.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 4ce94243aa..172583df04 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -1,19 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/io.c
  *
  * ARM I/O handlers
  *
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/ioreq.h>
diff --git a/xen/arch/arm/ioreq.c b/xen/arch/arm/ioreq.c
index 1338c86adb..5585457189 100644
--- a/xen/arch/arm/ioreq.c
+++ b/xen/arch/arm/ioreq.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * arm/ioreq.c: hardware virtual machine I/O emulation
  *
  * Copyright (c) 2019 Arm ltd.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/domain.h>
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index fd0c15fffd..0fb924978d 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/irq.c
  *
@@ -5,16 +6,6 @@
  *
  * Ian Campbell <ian.campbell@citrix.com>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/cpu.h>
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 2556a45c38..23b840ea9e 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * Kernel image loading.
  *
diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c
index 57abc746e6..d646379c8c 100644
--- a/xen/arch/arm/livepatch.c
+++ b/xen/arch/arm/livepatch.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  *  Copyright (C) 2016 Citrix Systems R&D Ltd.
  */
diff --git a/xen/arch/arm/mem_access.c b/xen/arch/arm/mem_access.c
index 3e3620294c..31db846354 100644
--- a/xen/arch/arm/mem_access.c
+++ b/xen/arch/arm/mem_access.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * arch/arm/mem_access.c
  *
  * Architecture-specific mem_access handling routines
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License v2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/mem_access.h>
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b42cddb1b4..4271904c31 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/mm.c
  *
@@ -5,16 +6,6 @@
  *
  * Tim Deegan <tim@xen.org>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/domain_page.h>
diff --git a/xen/arch/arm/monitor.c b/xen/arch/arm/monitor.c
index 8c4a396e3c..6c93a9e993 100644
--- a/xen/arch/arm/monitor.c
+++ b/xen/arch/arm/monitor.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * arch/arm/monitor.c
  *
  * Arch-specific monitor_op domctl handler.
  *
  * Copyright (c) 2016 Tamas K Lengyel (tamas.lengyel@zentific.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License v2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/vm_event.h>
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 8449f97fe7..4df5fff42d 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/cpu.h>
 #include <xen/domain_page.h>
 #include <xen/iocap.h>
diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
index 25442c48fe..f1ef844ef3 100644
--- a/xen/arch/arm/percpu.c
+++ b/xen/arch/arm/percpu.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/percpu.h>
 #include <xen/cpu.h>
 #include <xen/init.h>
diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
index 95a8cdc0ee..7b1682ee10 100644
--- a/xen/arch/arm/physdev.c
+++ b/xen/arch/arm/physdev.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  * Arch-specific physdev.c
  *
diff --git a/xen/arch/arm/platform.c b/xen/arch/arm/platform.c
index 4db5bbb4c5..6701ff77bc 100644
--- a/xen/arch/arm/platform.c
+++ b/xen/arch/arm/platform.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/platform.c
  *
@@ -5,16 +6,6 @@
  *
  * Julien Grall <julien.grall@linaro.org>
  * Copyright (C) 2013 Linaro Limited.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <asm/platform.h>
diff --git a/xen/arch/arm/platform_hypercall.c b/xen/arch/arm/platform_hypercall.c
index 403cc84324..743687a303 100644
--- a/xen/arch/arm/platform_hypercall.c
+++ b/xen/arch/arm/platform_hypercall.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  * platform_hypercall.c
  *
diff --git a/xen/arch/arm/processor.c b/xen/arch/arm/processor.c
index acad8b31d6..6de206c07e 100644
--- a/xen/arch/arm/processor.c
+++ b/xen/arch/arm/processor.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/processor.c
  *
@@ -5,16 +6,6 @@
  *
  * Julien Grall <julien.grall@linaro.org>
  * Copyright (C) 2014 Linaro Limited.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 #include <asm/procinfo.h>
 
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index 0c90c2305c..695d2fa1f1 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/psci.c
  *
@@ -5,16 +6,6 @@
  *
  * Andre Przywara <andre.przywara@linaro.org>
  * Copyright (c) 2013 Linaro Limited.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 500307edc0..a2a5791d41 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/setup.c
  *
@@ -5,16 +6,6 @@
  *
  * Tim Deegan <tim@xen.org>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/compile.h>
diff --git a/xen/arch/arm/shutdown.c b/xen/arch/arm/shutdown.c
index 0606cb84b3..205a5e7f8c 100644
--- a/xen/arch/arm/shutdown.c
+++ b/xen/arch/arm/shutdown.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/console.h>
 #include <xen/cpu.h>
 #include <xen/delay.h>
diff --git a/xen/arch/arm/smp.c b/xen/arch/arm/smp.c
index 5823a69d3e..bb65a08fc1 100644
--- a/xen/arch/arm/smp.c
+++ b/xen/arch/arm/smp.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/mm.h>
 #include <asm/system.h>
 #include <asm/smp.h>
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index f7bda3a18b..635977e489 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -1,19 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/smpboot.c
  *
  * Dummy smpboot support
  *
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/cpu.h>
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index f87944e847..b0a78a8b10 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  * Arch-specific sysctl.c
  *
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index dec53b5f7d..92baaf8cb2 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/time.c
  *
@@ -5,16 +6,6 @@
  *
  * Tim Deegan <tim@xen.org>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/console.h>
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 79f9ed0725..061c92acbd 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1,19 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/traps.c
  *
  * ARM Trap handlers
  *
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/domain_page.h>
diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
index b5fbbe1cb8..4adfc0a68d 100644
--- a/xen/arch/arm/vcpreg.c
+++ b/xen/arch/arm/vcpreg.c
@@ -1,19 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/arm64/vcpreg.c
  *
  * Emulate co-processor registers trapped.
  *
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/sched.h>
diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
index b1bd7a46ad..0026cb4360 100644
--- a/xen/arch/arm/vgic-v2.c
+++ b/xen/arch/arm/vgic-v2.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/vgic-v2.c
  *
@@ -5,16 +6,6 @@
  *
  * Ian Campbell <ian.campbell@citrix.com>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/bitops.h>
diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
index 58d939b85f..299b384250 100644
--- a/xen/arch/arm/vgic-v3-its.c
+++ b/xen/arch/arm/vgic-v3-its.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * xen/arch/arm/vgic-v3-its.c
  *
@@ -5,18 +6,6 @@
  *
  * Andre Przywara <andre.przywara@arm.com>
  * Copyright (c) 2016,2017 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; under version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index 7fb99a9ff2..7d2507079d 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/vgic-v3.c
  *
@@ -6,16 +7,6 @@
  *
  * Vijaya Kumar K <vijaya.kumar@caviumnetworks.com>
  * Copyright (c) 2014 Cavium Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/bitops.h>
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 83386cf3d5..c61c68870c 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/vgic.c
  *
@@ -5,16 +6,6 @@
  *
  * Ian Campbell <ian.campbell@citrix.com>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/bitops.h>
diff --git a/xen/arch/arm/vm_event.c b/xen/arch/arm/vm_event.c
index eaac92078d..ba99f56eb2 100644
--- a/xen/arch/arm/vm_event.c
+++ b/xen/arch/arm/vm_event.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * arch/arm/vm_event.c
  *
  * Architecture-specific vm_event handling routines
  *
  * Copyright (c) 2016 Tamas K Lengyel (tamas.lengyel@zentific.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License v2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/sched.h>
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index a9fc5817f9..3bc4bb5508 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -1,15 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/vpci.c
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 #include <xen/sched.h>
 #include <xen/vpci.h>
diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 43522d48fd..f6144da1d7 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * arch/arm/vpl011.c
  *
  * Virtual PL011 UART
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #define XEN_WANT_FLEX_CONSOLE_RING 1
diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
index 744d43ec27..d1615be8a6 100644
--- a/xen/arch/arm/vpsci.c
+++ b/xen/arch/arm/vpsci.c
@@ -1,15 +1,4 @@
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 #include <xen/errno.h>
 #include <xen/sched.h>
 #include <xen/types.h>
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index 676740ef15..7335276f3f 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -1,17 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * xen/arch/arm/vsmc.c
  *
  * Generic handler for SMC and HVC calls according to
  * ARM SMC calling convention
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 
diff --git a/xen/arch/arm/vtimer.c b/xen/arch/arm/vtimer.c
index aeaea78e4c..48f2daa907 100644
--- a/xen/arch/arm/vtimer.c
+++ b/xen/arch/arm/vtimer.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/vtimer.c
  *
@@ -5,16 +6,6 @@
  *
  * Ian Campbell <ian.campbell@citrix.com>
  * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <xen/lib.h>
diff --git a/xen/arch/arm/vuart.c b/xen/arch/arm/vuart.c
index 80d4755d43..d5ba483f1e 100644
--- a/xen/arch/arm/vuart.c
+++ b/xen/arch/arm/vuart.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * xen/arch/arm/vuart.c
  *
@@ -19,16 +20,6 @@
  * Julien Grall <julien.grall@linaro.org>
  * Ian Campbell <ian.campbell@citrix.com>
  * Copyright (c) 2012 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 #include <xen/lib.h>
 #include <xen/sched.h>
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 18 23:29:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 23:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389836.627000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOowY-0000YX-Dp; Thu, 18 Aug 2022 23:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389836.627000; Thu, 18 Aug 2022 23:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOowY-0000YQ-B7; Thu, 18 Aug 2022 23:28:54 +0000
Received: by outflank-mailman (input) for mailman id 389836;
 Thu, 18 Aug 2022 23:28:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOowX-0000YG-3e; Thu, 18 Aug 2022 23:28:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOowX-0002bC-1Z; Thu, 18 Aug 2022 23:28:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOowW-0007Aa-K9; Thu, 18 Aug 2022 23:28:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOowW-0007rN-Jd; Thu, 18 Aug 2022 23:28:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lrCJWrGtSRTvPh7Fb0vIYMGC6vfI/wfI4vsKghugZD8=; b=C5ir6qG34+vetK6c5PXT1qW03u
	y7UhBp/e801GkhhW8Tm4Y7wk/AuRB3IFjVKV5/OZ3EW/Zd2zFuZ3XSU2M1D+z8a4fPe+Ao/yK7V9V
	kUnauB7BdQikkPaE7ThZCPf0m2WolQqphNn8HHgX64Zfi3gAiKxQX0qAxMaWlPtm0PCs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172631-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172631: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=68bf712d4f5928af4c426dc82d27b9783e499d93
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 23:28:52 +0000

flight 172631 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172631/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 68bf712d4f5928af4c426dc82d27b9783e499d93
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   14 days
Failing since        172151  2022-08-05 02:40:28 Z   13 days  119 attempts
Testing same since   172621  2022-08-18 09:12:57 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 780 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 18 23:56:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Aug 2022 23:56:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389844.627010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOpMi-0003lb-Gd; Thu, 18 Aug 2022 23:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389844.627010; Thu, 18 Aug 2022 23:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOpMi-0003lU-E2; Thu, 18 Aug 2022 23:55:56 +0000
Received: by outflank-mailman (input) for mailman id 389844;
 Thu, 18 Aug 2022 23:55:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOpMg-0003lK-Vp; Thu, 18 Aug 2022 23:55:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOpMg-00033M-IU; Thu, 18 Aug 2022 23:55:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOpMg-000072-5i; Thu, 18 Aug 2022 23:55:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOpMg-0001bT-5F; Thu, 18 Aug 2022 23:55:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fcri6GjUBGP4Iah2aFs+Xofa4LT6GLXyYkV+5q6v1Vo=; b=1LdKWv6AE9R+Z/AwP+IboaBEiZ
	Fe+ZXDcVJTgCLgUm8slAkiMJsJHrCQFYbYJpgQil0NtC48JoNhtkEj/cOVMM0eSmwvDa3+fTg64jd
	ibs0/X9sYchuGzqyq4hs2kOdDhRHGWB2LlVU0kmjwXQHUkRArmbVnm56jeOhVPP5l390=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172622-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172622: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Aug 2022 23:55:54 +0000

flight 172622 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172622/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172608

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2  19 guest-start.2           fail blocked in 172128
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172608 blocked in 172128
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 172608 like 172108
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172608 like 172128
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172608 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172608 never pass
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172608 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172608 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   14 days
Testing same since   172384  2022-08-11 11:13:58 Z    7 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 01:03:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 01:03:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389852.627022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOqPm-000106-0E; Fri, 19 Aug 2022 01:03:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389852.627022; Fri, 19 Aug 2022 01:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOqPl-0000zz-Ta; Fri, 19 Aug 2022 01:03:09 +0000
Received: by outflank-mailman (input) for mailman id 389852;
 Fri, 19 Aug 2022 01:03:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OAHB=YX=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oOqPj-0000zo-MK
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 01:03:08 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80084.outbound.protection.outlook.com [40.107.8.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae251bed-1f5a-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 03:03:04 +0200 (CEST)
Received: from AS9PR06CA0649.eurprd06.prod.outlook.com (2603:10a6:20b:46f::25)
 by AM0PR08MB3154.eurprd08.prod.outlook.com (2603:10a6:208:5d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Fri, 19 Aug
 2022 01:03:02 +0000
Received: from VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46f:cafe::32) by AS9PR06CA0649.outlook.office365.com
 (2603:10a6:20b:46f::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Fri, 19 Aug 2022 01:03:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT046.mail.protection.outlook.com (10.152.19.226) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Fri, 19 Aug 2022 01:03:01 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Fri, 19 Aug 2022 01:03:01 +0000
Received: from cfc94130a706.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 599F8E79-2582-4069-B6F2-E8C3E10567EE.1; 
 Fri, 19 Aug 2022 01:02:55 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cfc94130a706.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 19 Aug 2022 01:02:55 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VE1PR08MB5247.eurprd08.prod.outlook.com (2603:10a6:803:10d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Fri, 19 Aug
 2022 01:02:53 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%4]) with mapi id 15.20.5546.016; Fri, 19 Aug 2022
 01:02:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae251bed-1f5a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ePnGCxCNw+wQ5bQSd/WiIqNlwGhPvnxlvgVTu3TneYsbDMMvA5bfvrpcw94qat7l23c2sDRTTa3fEKiebYph+hgNxRAePrij+0xFIvlLlHtKKtJXM4RURNgakrKKJnUBJ8EdElc9O1VcvvSimGkw83IJz7mBL/w8gxCJ1EBEIiJUvFsDM5OVStXplVAfyuz5PQoCmUhG9MnKG8eORsERl3fgnmlAHr4Ks98T+AmRQ3A59Ir4gghgHOkaHoqxwpJKe3HBJQRKYBk66wa2HbG0YGPLThiqUtvK8sijxqD/tDZc8yQOaqWbpJgtgVDqb8NdJrb7L8DOSaUY6Zo8e1xSZg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0QEgKeZbNYvJBBY5kmdGAPNYeUcpwL9/4TMkWC9vfbw=;
 b=PEXxiyiPZ64AmiOxu6AZYzc78t0UUMfNkMtxQJDgndjo+9uxsvz70VAtmrolJKxW7329+NfOQtuQNb9qpmdpLgpaN6/enT1Gho2LbRCQnQAp07COgZfKRWxdlLTZ8P2588sDLMnirmb61qn+EOrsU/2W/+shMyi0xYhH1jOPpWqj9cj1J1qIyHcU4xK3QMcQ9+mAkoFpuNGPjj4UxPQQJga+huD9iaQ8VmlWdFbu+3wSv+ERejemg33M+U/TGgqpjl12dj3X41JkxoDVYvFuuUZiGnXlGTWuYi5RtFtEKZoshX3xGGFhkBCPDbOLslb/5/6wbC3yDep/aoKX0qazsw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0QEgKeZbNYvJBBY5kmdGAPNYeUcpwL9/4TMkWC9vfbw=;
 b=bUqduozQP1p7Kmum+TAAPD6n3t2Riq5AMpI2shqRYORj3UihMH7JaAAwIM1IvpjMHwLS77U3GilVUkpldhqoJWfsVvlfAU9xSMlFIFn8XLJcuxPcmgVe4RWRezqnL3wgR49hfdVQItXzUviR8htMWu/mhkPRq/zEhWbALT63Qp0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y3hixYr2qCj8X+dpxv6w/AUEJ8a6vXwvU98iKz2k/VHKLoRI6R5ErWbPB8IMs4u15u8JPEk+cHe7A/TLr2aDrrgBfrTqbqvk4hkeaYs3Di1K+X8gp/aL5vd6lZECq7dkzkBU9lzNPsGTKIgecgMjg1+p+ocivYBm+jhECYqeFS2LkMppiT1OYci41aCgiTpNeqPtXXZu2IAFwDq7vFs8kpVxL7owKNyFA1uC3dviezjc7YVps+u3y//LRkPp3NfbXZqLkdXMyeIeGafIHhARxOX/dfRecjW62F2JuyNsvjT0oTRechrs2yJcWuQ2W2kKOZRgPerfFY0Q8s27j9IAlg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0QEgKeZbNYvJBBY5kmdGAPNYeUcpwL9/4TMkWC9vfbw=;
 b=MuW5wzT306pIOfi3gIYZH+ah/OK94NTV4MZLhURe6/iBCBBe3AvuioHaxdQoNHk3KDt5VXbYeX+TFdp4bOzCZR0tgqswVBFizKZSwTh72XYGlSzS4sTc67Jo0u2Z99UhSTjoc/uhzFmO3LePCO6mlQ35oi7nt8OvYz1GWdsxIlzcGt/OqTgHLZjHM2F1dkVKx2GjryPv/ymuoBZc0BwiR3cSo/SfhHj5Y/KeJFwlWjKKTxLjr2zg6zGTU0/5gFy0j933M16lnL4xyE56i3iP/qX7dgSXfFPn6YIpNVzuqVweZAuJYYZAtwX1WfOoD3K+BEK3BIWqBh4hc2ijYn6/yA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0QEgKeZbNYvJBBY5kmdGAPNYeUcpwL9/4TMkWC9vfbw=;
 b=bUqduozQP1p7Kmum+TAAPD6n3t2Riq5AMpI2shqRYORj3UihMH7JaAAwIM1IvpjMHwLS77U3GilVUkpldhqoJWfsVvlfAU9xSMlFIFn8XLJcuxPcmgVe4RWRezqnL3wgR49hfdVQItXzUviR8htMWu/mhkPRq/zEhWbALT63Qp0=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 0/5] x86/mwait-idle: (remaining) SPR + (new) ADL
 support
Thread-Topic: [PATCH v3 0/5] x86/mwait-idle: (remaining) SPR + (new) ADL
 support
Thread-Index: AQHYswLgEBgyLJ1ZH0yh+Kjbzu0UFa20oVcAgADEX1A=
Date: Fri, 19 Aug 2022 01:02:53 +0000
Message-ID:
 <AS8PR08MB7991031EE6E8C237D019F842926C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <84200e9c-ee22-c240-826f-6c7006c0ef57@suse.com>
 <b0a3960c-8d1b-556d-f4fa-4fa4c8597a7b@suse.com>
In-Reply-To: <b0a3960c-8d1b-556d-f4fa-4fa4c8597a7b@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DD762C16FD70B045B6415B099ACB3428.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: aa0609e4-e2e0-4324-25d2-08da817e90ab
x-ms-traffictypediagnostic:
	VE1PR08MB5247:EE_|VE1EUR03FT046:EE_|AM0PR08MB3154:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 MxdDrNBYFciGsud+g48b2g4fMuuO5lJPM17s1wEaXEO7pabBWx5eFaYZR2MV3KTzVElwJc1/tYm4XAWgroNvaZOjL+/9/NKPL5rIQ2zcjALsN/o+ebGzD6o4bPT+InDWNFQV9SYOBZFxIhtTAENIAGb61Dhq1zB+o12Ek6hoWGeXsWTqUGLvoX/2rhimNAZIih+y1P5V1cHrGbVMs5v9noqCOY5IgLSEZ/PvwB7hJxzw2Tg0uqbjAcOTtzuuhkTxcQ91qeT6jhQFnR+mV8mAZSLmDkvwRAwspexnn6DvYbq1flxDr4FFfpbIG++jhHclWdBVwGxzIzPVpK4yt6goAeMYyu39zhx33Aq2OP8uFZJ7OJg5FT4z91OUM3bZSRVS5YQz2XZLOhoEt+/QrIO24lC3cIhGRql/Oh9W3wAvAgWxF4Jf8E57LQlM2RXaoZeTDJDBOJsKnt3PhX9+1Z5j8DQo8vB5VmAILleWEucUW6hdJ6Ai1J5nErvVbQiLl7dxPQkWFQdIOz+X5ReWyaDXqzxIqlfZKdMGAsj4m2b9bmuLlB5JvpRWLP/h1Z3i5MiuUSk9aw3htjhaFQ7lQOro9XZE1umdRbFXeba3vm5JbbKC9KTqf30bVNCkT97VdpwieHFN5uEaxJeejqhj+4NdAqMzlZwS/fiX+UwMU6sHP+XQHIqleaE3j2VS471FbHSeI7oCTC8ReF+eOKQ+jKvxa4rv+YYzcABydoe+Xd+sxsnQpY1N2+XlMiqoQQzhAbsA3iO83LPHz6xQ9p7uYmoK8g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(39860400002)(366004)(376002)(136003)(122000001)(38070700005)(86362001)(54906003)(38100700002)(8676002)(64756008)(66476007)(66556008)(66946007)(66446008)(4326008)(6916009)(76116006)(316002)(7696005)(2906002)(5660300002)(8936002)(52536014)(186003)(9686003)(53546011)(83380400001)(26005)(71200400001)(478600001)(33656002)(55016003)(6506007)(41300700001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5247
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	44f3f289-b7dd-449a-455c-08da817e8b74
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TIgj1Hp9yxDuVCo9PKggrM0ATLVxPdYC37Watub0YKS6FTpIJNFr6RZyoepULp+eeZibzRMP/SE9lO/44rBwytZljYUSWDGNIuFVmKFmCBfRjH6C+wAPXHk8nVZdQgtpuNiLo1y1yrBxQ8qkPGKw9+/aamrt/6HZ0AAMg4wLCixv+NcvFTqDcuYnMkp8iZ3eoBaHY2qY3uTQfXD/McFqbbzyrTSWTofFfuRVwzwbKwtYxk5rIKuiNBmdZiVou/OzoNQh1c/b6ZZe2VQu0I1HNVjwvqcYGs9nExw4SGUbHi9HR4kYcZ0+AA7tsjEGgTqyjUg2uOKLRT9/KkJ3Pw77kTtemS62tN/xr0YzdQif5ZQ4hu0pW/G1z9Kr4uhru+dEfuew2Wv19T7znsZ2Rlexyl0Lyqw2kC3h4G2shKkG8YX0WYtS/tHpJI9h4VS+m96MS3kz+2YbeQnODlD/nlgKk2h5Xtx9zicLroO+pR6OL5fjJ7g6J9McvViXkBPTTD/0FYX8NtS1l8RZzgCWtq0u9FxnqOlRA8x28O+tm2BILkzYbtnOwh4UrDuDeqnrqwBR1w0s8dmOeciE+14PGPbts1JCKtLhiNCu8iZZyaHXT8bntQVo0Acuq967zGttvfCC4/ELWQl0V6lDTKI5d4BH1iBqnYWhsHNm6JxB1iKF8p75r5f/D1LCgm3Rhg47DU9uMxW56frTuY1JX2cbrGsS3AKaycAGQ9H1uOR+z0jlUwAizjsyxjfnrQunwp77jGb29BEAVocCEueFkqIwQFt9Zg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(136003)(346002)(376002)(46966006)(40470700004)(36840700001)(478600001)(9686003)(5660300002)(2906002)(40460700003)(36860700001)(6506007)(316002)(40480700001)(26005)(7696005)(47076005)(186003)(336012)(82310400005)(55016003)(6862004)(4326008)(82740400003)(8676002)(81166007)(356005)(41300700001)(33656002)(52536014)(53546011)(54906003)(86362001)(70206006)(70586007)(8936002)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 01:03:01.8201
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aa0609e4-e2e0-4324-25d2-08da817e90ab
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3154

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAwLzVdIHg4
Ni9td2FpdC1pZGxlOiAocmVtYWluaW5nKSBTUFIgKyAobmV3KSBBREwNCj4gc3VwcG9ydA0KPiAN
Cj4gSGVucnksDQo+IA0KPiBPbiAxOC4wOC4yMDIyIDE1OjAyLCBKYW4gQmV1bGljaCB3cm90ZToN
Cj4gPiBOZXcgY2hhbmdlcyBoYXZlIGFwcGVhcmVkIGluIHRoZSBtZWFudGltZSwgaW4gcGFydGlj
dWxhciBvbmUgcGFydGx5DQo+IHVuZG9pbmcNCj4gPiB3aGF0IHdlIHN0aWxsIGhhdmVuJ3QgbWVy
Z2VkIChwYXRjaCAxIGhlcmUpLg0KPiA+DQo+ID4gMTogYWRkICdwcmVmZXJyZWRfY3N0YXRlcycg
bW9kdWxlIGFyZ3VtZW50DQo+ID4gMjogYWRkIGNvcmUgQzYgb3B0aW1pemF0aW9uIGZvciBTUFIN
Cj4gPiAzOiBhZGQgQWxkZXJMYWtlIHN1cHBvcnQNCj4gPiA0OiBkaXNhYmxlIElCUlMgZHVyaW5n
IGxvbmcgaWRsZQ0KPiA+IDU6IG1ha2UgU1BSIEMxIGFuZCBDMUUgYmUgaW5kZXBlbmRlbnQNCj4g
DQo+IHN0cmljdGx5IHNwZWFraW5nIHBhdGNoZXMgMy01IGFyZSBsYXRlIHN1Ym1pc3Npb25zLiBQ
YXRjaCA1LCBob3dldmVyLA0KPiBhY3R1YWxseSBjb3JyZWN0cyBwYXRjaCAxLCBhbmQgSSdkIHBy
ZWZlciB0byBrZWVwIHRoaW5ncyBpbiB0aGUgb3JkZXINCj4gaW4gd2hpY2ggdGhleSB3ZXJlIHB1
dCBpbiBmb3IgTGludXguIFdoZXRoZXIgd2UgYWN0dWFsbHkgd2FudCBwYXRjaCA0DQo+IGlzIHRv
IGJlIGRldGVybWluZWQ7IGlmIG5vdCB0aGF0IG9uZSBzaG91bGQgYmUgZWFzeSB0byBsZWF2ZSBv
dXQuIEluDQo+IGFueSBldmVudCBJJ2QgbGlrZSB0byBhc2sgZm9yIHlvdSB0byBjb25zaWRlciBn
cmFudGluZyBhbiBleGNlcHRpb24NCj4gb24gdGhlc2UgbGFzdCB0aHJlZSBwYXRjaGVzLg0KDQpU
aGFuayB5b3UgZm9yIGluZm9ybWluZyB0aGlzLg0KDQpMZXQgbWUgYWRkIHRoaXMgc2VyaWVzIHRv
IG15IGxpc3QgZmlyc3QuIFRoZSBmZWF0dXJlIGZyZWV6ZSBkYXRlIGlzDQpGcmkgU2VwIDIsIDIw
MjIgYW5kIGNvZGUgZnJlZXplIGRhdGUgaXMgRnJpIFNlcCAyMywgMjAyMi4gTXkgcGVyc29uYWwN
CmZlZWxpbmcgd291bGQgYmUgYXMgbG9uZyBhcyAoMSkgdGhpcyBzZXJpZXMgY2FuIGdldCBhIGdv
b2Qgc2hhcGUgdG8gZ28gaW4NCmJlZm9yZSB0aGUgY29kZSBmcmVlemUgYW5kICgyKSBvdGhlciB4
ODYgbWFpbnRhaW5lcnMgZG9uJ3QgaGF2ZQ0Kb2JqZWN0aW9uIHRvIGFjY2VwdCB0aGlzIHNlcmll
cywgaXQgaXMgZmluZSB3aXRoIG1lLiBBbHNvIGlmIHg4NiBwZW9wbGUgd2FudA0KdGhpcyBzZXJp
ZXMgaW4gdGhlIHJlbGVhc2UgYW5kIGl0IHdvbid0IGNhdXNlIHRoZSBkZWxheSBvZiByZWxlYXNl
LCBJIGRvbid0DQp0aGluayB0aGVyZSB3b3VsZCBiZSBhbnkgcmVhc29uIHRvIHJlZnVzZSB0aGlz
IHNlcmllcyA6KSkpIFNvIEkgZ3Vlc3MgcGxlYXNlDQpqdXN0IGtlZXAgdGhlc2UgMyBwYXRjaGVz
IGZvciBub3cgYW5kIGxldCdzIHNlZSB3aGF0IHRoZSBkaXNjdXNzaW9uIGluDQp0aGlzIHNlcmll
cyB3aWxsIGJlLg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBUaGFua3MsIEphbg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 02:08:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 02:08:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389896.627051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOrQU-0008U6-6p; Fri, 19 Aug 2022 02:07:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389896.627051; Fri, 19 Aug 2022 02:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOrQU-0008Tz-3i; Fri, 19 Aug 2022 02:07:58 +0000
Received: by outflank-mailman (input) for mailman id 389896;
 Fri, 19 Aug 2022 02:07:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOrQS-0008Tp-F2; Fri, 19 Aug 2022 02:07:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOrQS-0004ek-Ca; Fri, 19 Aug 2022 02:07:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOrQS-0000OM-0j; Fri, 19 Aug 2022 02:07:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOrQR-0002tJ-Sr; Fri, 19 Aug 2022 02:07:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vqm/46YH1fUVTHB4lYxmhU9y1mR+z0RtDKwKOLZdmLk=; b=hAK+hgV2PYBTOW+bJrfRq4Nxml
	aMNXiHEreYXr0yi5MoIJtPz850tJFCF77k9mUd0Q4mhYPtSdlUyKjW0Flu+3/nxZLu1hTwyw+F/o+
	e/xr9I6Vx59r9N6QwMp9n8HU6IExibYuLd8amPb29HED8P/sE9wHsJPMUD3IaDdkJoFs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172633-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172633: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=68bf712d4f5928af4c426dc82d27b9783e499d93
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 02:07:55 +0000

flight 172633 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172633/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 68bf712d4f5928af4c426dc82d27b9783e499d93
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   14 days
Failing since        172151  2022-08-05 02:40:28 Z   13 days  120 attempts
Testing same since   172621  2022-08-18 09:12:57 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 780 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 02:28:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 02:28:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389904.627061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOrjo-0002Q8-RU; Fri, 19 Aug 2022 02:27:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389904.627061; Fri, 19 Aug 2022 02:27:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOrjo-0002Q1-Om; Fri, 19 Aug 2022 02:27:56 +0000
Received: by outflank-mailman (input) for mailman id 389904;
 Fri, 19 Aug 2022 02:27:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOrjn-0002Pr-Jw; Fri, 19 Aug 2022 02:27:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOrjn-0004zL-FR; Fri, 19 Aug 2022 02:27:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOrjn-0001tB-4V; Fri, 19 Aug 2022 02:27:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOrjn-0004Dx-44; Fri, 19 Aug 2022 02:27:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7bB1qI+lT0RTxgVlB6KGBlwLqOOLRJ4riswx72jJ5vw=; b=1X4iTojrdzaRoTw7aB7cOL9Aju
	yd+Zut1SWbmsH30tTWZlq9SdTwJA+7mHK4XyKW5+Ip/etVnhjw7nNXXZph3HCHeslY2Qkuq4v2348
	I7si9U58QNBiRnFRgPZ/EtXH9p/kX3m37MvOkoRt3ydJPCd9SFvjgJg8FvwVCLcnRDJU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172623-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 172623: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cea5ed49bb5716698a11312a3f38bc8865cd1e67
X-Osstest-Versions-That:
    xen=2abe83f9d91e6411b5b42a3d5d01593e83c2bf9f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 02:27:55 +0000

flight 172623 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172623/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat    fail  like 172548
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172548
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172548
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172548
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 172548
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 172548
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172548
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172548
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172548
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172548
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172548
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 172548
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172548
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cea5ed49bb5716698a11312a3f38bc8865cd1e67
baseline version:
 xen                  2abe83f9d91e6411b5b42a3d5d01593e83c2bf9f

Last test of basis   172548  2022-08-15 14:06:48 Z    3 days
Testing same since   172623  2022-08-18 12:08:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2abe83f9d9..cea5ed49bb  cea5ed49bb5716698a11312a3f38bc8865cd1e67 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 03:59:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 03:59:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389985.627113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOtAP-0004vb-6k; Fri, 19 Aug 2022 03:59:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389985.627113; Fri, 19 Aug 2022 03:59:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOtAP-0004vU-3V; Fri, 19 Aug 2022 03:59:29 +0000
Received: by outflank-mailman (input) for mailman id 389985;
 Fri, 19 Aug 2022 03:59:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOtAN-0004vK-By; Fri, 19 Aug 2022 03:59:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOtAN-0006VC-9P; Fri, 19 Aug 2022 03:59:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOtAM-0007UG-P0; Fri, 19 Aug 2022 03:59:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOtAM-0004tT-Ob; Fri, 19 Aug 2022 03:59:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=APogE8LSzfEbcQZbEunz+26c5smMpm6DXUDyuzD7Mf4=; b=ock1rmgBUEV/5VLjHiLibIJhsQ
	qykOxdxPS8Nk2YyxVWtdgTTbD+O0V+Y/GjOhvHWU2GedMxNxo/L7aB8gmXaVutBU1AtVXDRNnXhGD
	AJP3tZDSNaUrhqRMlBBmtij0zZhNw1/H/Nu8JB0tSjDycz9ZwkAA4NwL6r3HtGx1GNOQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172626-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172626: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c7208a6e0d049f9e8af15df908168a79b1f99685
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 03:59:26 +0000

flight 172626 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172626/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 172612 pass in 172626
 test-amd64-amd64-xl-credit1  22 guest-start/debian.repeat  fail pass in 172612

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                c7208a6e0d049f9e8af15df908168a79b1f99685
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   15 days
Failing since        172148  2022-08-04 21:39:38 Z   14 days   34 attempts
Testing same since   172601  2022-08-17 13:39:00 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1714 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 04:42:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 04:42:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389994.627127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOtpq-0001zC-Nl; Fri, 19 Aug 2022 04:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389994.627127; Fri, 19 Aug 2022 04:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOtpq-0001z5-KQ; Fri, 19 Aug 2022 04:42:18 +0000
Received: by outflank-mailman (input) for mailman id 389994;
 Fri, 19 Aug 2022 04:42:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOtpo-0001yv-UU; Fri, 19 Aug 2022 04:42:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOtpo-0007VU-R3; Fri, 19 Aug 2022 04:42:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOtpo-0002AK-Ep; Fri, 19 Aug 2022 04:42:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOtpo-0000PH-EJ; Fri, 19 Aug 2022 04:42:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=w8CYRsJSZAOP2LKtqvitX5hZUP2tAFjT/Jck6hobEG8=; b=gnFssE/6+l/3hpffQnQDZzh+Tv
	CbCRyYQXdzhr+v5EGdWktcPv4ta2tJUi8sdYXMlWi1XtZGmrYS2zIrSji2o5kRcvtZpmB+xQ7Gm1A
	3toYQ7JjOPOskHHuxoCTP688uVWCW5uh1yIpgwQtutojpP3mda8RuYYI4/dVukvB5i0Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172635-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172635: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=68bf712d4f5928af4c426dc82d27b9783e499d93
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 04:42:16 +0000

flight 172635 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172635/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 68bf712d4f5928af4c426dc82d27b9783e499d93
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   14 days
Failing since        172151  2022-08-05 02:40:28 Z   14 days  121 attempts
Testing same since   172621  2022-08-18 09:12:57 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 780 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 05:08:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 05:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.389794.627138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOuF1-0004ml-NH; Fri, 19 Aug 2022 05:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 389794.627138; Fri, 19 Aug 2022 05:08:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOuF1-0004me-KS; Fri, 19 Aug 2022 05:08:19 +0000
Received: by outflank-mailman (input) for mailman id 389794;
 Thu, 18 Aug 2022 21:03:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bq4D=YW=sang-engineering.com=wsa+renesas@srs-se1.protection.inumbo.net>)
 id 1oOmg7-0000j2-L6
 for xen-devel@lists.xenproject.org; Thu, 18 Aug 2022 21:03:49 +0000
Received: from mail.zeus03.de (www.zeus03.de [194.117.254.33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f0c85be-1f39-11ed-bd2e-47488cf2e6aa;
 Thu, 18 Aug 2022 23:03:46 +0200 (CEST)
Received: (qmail 3961846 invoked from network); 18 Aug 2022 23:01:23 +0200
Received: by mail.zeus03.de with ESMTPSA (TLS_AES_256_GCM_SHA384 encrypted,
 authenticated); 18 Aug 2022 23:01:23 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f0c85be-1f39-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=sang-engineering.com; h=
	from:to:cc:subject:date:message-id:mime-version
	:content-transfer-encoding; s=k1; bh=ZiEaQ3rq2K8UtxGRAAvuo4eqxmg
	TC79fZdy10l2+f1U=; b=Jc02JNR4r2dlq3qjOIJ+Rewxz+C4YGZbCOS4zz2boLr
	G0cQw/dGcNBpxGsgjYtTGxkFab3JaZId7EDtc15lcUxEej9oaL8osjvJwCLQWj+R
	hMN6pkJaKQJn1QHIKmtxPE8m06uAoBLidVhh89p0jaLjQifJ1odc5cYa9hhz0ZI0
	=
X-UD-Smtp-Session: l3s3148p1@MWKtSIrmqq4ucref
From: Wolfram Sang <wsa+renesas@sang-engineering.com>
To: linux-kernel@vger.kernel.org
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	linux-scsi@vger.kernel.org
Subject: [PATCH] xen: move from strlcpy with unused retval to strscpy
Date: Thu, 18 Aug 2022 23:01:22 +0200
Message-Id: <20220818210122.7613-1-wsa+renesas@sang-engineering.com>
X-Mailer: git-send-email 2.35.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Follow the advice of the below link and prefer 'strscpy' in this
subsystem. Conversion is 1:1 because the return value is not used.
Generated by a coccinelle script.

Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 drivers/xen/xen-scsiback.c                 | 2 +-
 drivers/xen/xenbus/xenbus_probe_frontend.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c
index 7a0c93acc2c5..d3dcda344989 100644
--- a/drivers/xen/xen-scsiback.c
+++ b/drivers/xen/xen-scsiback.c
@@ -1121,7 +1121,7 @@ static void scsiback_do_1lun_hotplug(struct vscsibk_info *info, int op,
 				"%s: writing %s", __func__, state);
 		return;
 	}
-	strlcpy(phy, val, VSCSI_NAMELEN);
+	strscpy(phy, val, VSCSI_NAMELEN);
 	kfree(val);
 
 	/* virtual SCSI device */
diff --git a/drivers/xen/xenbus/xenbus_probe_frontend.c b/drivers/xen/xenbus/xenbus_probe_frontend.c
index 07b010a68fcf..f44d5a64351e 100644
--- a/drivers/xen/xenbus/xenbus_probe_frontend.c
+++ b/drivers/xen/xenbus/xenbus_probe_frontend.c
@@ -40,7 +40,7 @@ static int frontend_bus_id(char bus_id[XEN_BUS_ID_SIZE], const char *nodename)
 		return -EINVAL;
 	}
 
-	strlcpy(bus_id, nodename + 1, XEN_BUS_ID_SIZE);
+	strscpy(bus_id, nodename + 1, XEN_BUS_ID_SIZE);
 	if (!strchr(bus_id, '/')) {
 		pr_warn("bus_id %s no slash\n", bus_id);
 		return -EINVAL;
-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 05:34:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 05:34:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390005.627149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOudl-00081l-OP; Fri, 19 Aug 2022 05:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390005.627149; Fri, 19 Aug 2022 05:33:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOudl-00081e-LB; Fri, 19 Aug 2022 05:33:53 +0000
Received: by outflank-mailman (input) for mailman id 390005;
 Fri, 19 Aug 2022 05:33:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fJ7l=YX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oOudk-00081Y-6L
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 05:33:52 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 815ed42a-1f80-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 07:33:50 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 473DB5CA74;
 Fri, 19 Aug 2022 05:33:50 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E27A913AC1;
 Fri, 19 Aug 2022 05:33:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XXmrNb0g/2IGKAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 19 Aug 2022 05:33:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 815ed42a-1f80-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660887230; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=OXDa3hx4Vm9MFcE1vAjDFgt7HSkr1LsaGdqe0teRZi4=;
	b=t+HTQzqTulnZIAStezyT80KOzATAUUbAaD4CBH9YnA+9UO5oKZd7mSw3duIpsTaxTyUHAA
	q/uqN96irTYqmOok9d1CzzYDfP13FjP3wEc0Cl6iWixnnoa9dWpfNlfSxfuX+3fs5qZgd6
	4gwi02cBhRCKCkOfc3st4oIxBQvGJjQ=
Message-ID: <d75ac983-2414-c8d8-ea93-8b511b1702ea@suse.com>
Date: Fri, 19 Aug 2022 07:33:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 0/3] introduce SPDX
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: julien@xen.org, wl@xen.org, jbeulich@suse.com, george.dunlap@citrix.com,
 andrew.cooper3@citrix.com, bertrand.marquis@arm.com,
 Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------opCtZCcxg4Mb3PnqHSYFq4Od"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------opCtZCcxg4Mb3PnqHSYFq4Od
Content-Type: multipart/mixed; boundary="------------hUi4m1UkseH0pcrJTAcqh8C2";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: julien@xen.org, wl@xen.org, jbeulich@suse.com, george.dunlap@citrix.com,
 andrew.cooper3@citrix.com, bertrand.marquis@arm.com,
 Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
Message-ID: <d75ac983-2414-c8d8-ea93-8b511b1702ea@suse.com>
Subject: Re: [PATCH v2 0/3] introduce SPDX
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>

--------------hUi4m1UkseH0pcrJTAcqh8C2
Content-Type: multipart/mixed; boundary="------------W9LzjQPOwL7k0VUXJcy61gb4"

--------------W9LzjQPOwL7k0VUXJcy61gb4
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTkuMDguMjIgMDA6MDIsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToNCj4gSGkgYWxs
LA0KPiANCj4gVGhpcyBzbWFsbCBzZXJpZXMgaW50cm9kdWNlcyBTUERYIHRhZ3MgdG8gWGVu
Og0KPiANCj4gMSkgYWRkIGEgbWVudGlvbiB0byBTUERYIGluIENPRElOR19TVFlMRQ0KPiAy
KSBhZGQgYSBMSUNFTlNFUyBkaXJlY3Rvcnkgd2l0aCBsaWNlbnNlcyBhbmQgU1BEWCB0YWdz
DQo+IDMpIGFkZHMgdGhlIFNQRFggc2luZ2xlLWxpbmUgY29tbWVudCB0byBhcmNoL2FybS8q
LmMNCj4gDQo+IE5vdGUgdGhhdCBhcmNoL2FybS8qLmMgaXMganVzdCBhIHN0YXJ0LiBBbHNv
LCB0byBtYWtlIHRoZSBjaGFuZ2VzIGFzDQo+IG1lY2hhbmljYWwgYXMgcG9zc2libGUgSSBy
ZXN0cmljdGVkIG15c2VsZiB0bzoNCj4gLSBhZGRpbmcgdGhlIHNpbmdsZS1saW5lIGNvbW1l
bnQgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZQ0KPiAtIHJlbW92aW5nIHRoZSBjb3B5cmlnaHQg
bGluZXMgKHdoZW4gcHJlc2VudCkgZnJvbSB0aGUgdG9wIG9mIHRoZSBmaWxlDQo+ICAgIGhl
YWRlcg0KPiANCj4gSSBwdXJwb3NlZGx5IHJlc3RyYWluZWQgbXlzZWxmIHRvIGRvIG90aGVy
IGNsZWFudXBzIHRvIHRoZSBoZWFkZXJzOiB0aGlzDQo+IHNlcmllcyBhbHJlYWR5IHRvdWNo
ZXMgbWFueSBmaWxlcyBhbmQgSSBwcmVmZXIgdG8ga2VlcCB0aGVzZSBjaGFuZ2VzIGFzDQo+
IG1lY2hhbmljYWwgYXMgcG9zc2libGUuIEZ1cnRoZXIgaW1wcm92ZW1lbnRzIChzdHlsZSBp
bXByb3ZlbWVudCwNCj4gcmVtb3Zpbmcgd2hhdCdzIGxlZnQgb2YgdGhlIGhlYWRlciwgcmVt
b3ZpbmcgY29weXJpZ2h0IGxpbmVzLCBldGMuKSBjYW4NCj4gYmUgZG9uZSB3aXRoIHN1YnNl
cXVlbnQgcGF0Y2hlcyBtb3JlIGVhc2lseS4NCj4gDQo+IExpY2Vuc2UgY2hhbmdlcyBhcmUg
bm90IGludGVudGlvbmFsLg0KDQpGb3IgdGhlIHNlcmllczoNCg0KUmV2aWV3ZWQtYnk6IEp1
ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------W9LzjQPOwL7k0VUXJcy61gb4
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------W9LzjQPOwL7k0VUXJcy61gb4--

--------------hUi4m1UkseH0pcrJTAcqh8C2--

--------------opCtZCcxg4Mb3PnqHSYFq4Od
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmL/IL0FAwAAAAAACgkQsN6d1ii/Ey8H
HwgAhmlsotZ05quHx7gdJ8zl9pDoqZaqMcy3w2DkGT7eFeCkAAZTr9O6eZ0rS53h5+RXUJ795qBv
VZ5u4DX+OPNScfsRhTkIPi0X8NimsyPezKOy3oaD9w9tFwS1Vh7lteqSlynHKQEUSMB9oKDGKDov
gMmkgCVHCRQXvovJ5DE5BY8vJaQLOpJuesTytvd/1Lm7mPCcFeSALgYYaicll+ffznTDi3MzypMq
ob4hfTQ0tWZVe+uhmR6J0PNmdc4uu4UiXlwbyvKRCGvCfpn589zR+QcpgGNDtXGkFJbXjWGvJkxf
f99WtyhO2S/BPzuOmRbHaKJZGs1/lzXpciu2OOq1aw==
=MVPf
-----END PGP SIGNATURE-----

--------------opCtZCcxg4Mb3PnqHSYFq4Od--


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 05:53:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 05:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390011.627160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOuwj-0001zh-7W; Fri, 19 Aug 2022 05:53:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390011.627160; Fri, 19 Aug 2022 05:53:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOuwj-0001za-4e; Fri, 19 Aug 2022 05:53:29 +0000
Received: by outflank-mailman (input) for mailman id 390011;
 Fri, 19 Aug 2022 05:53:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOuwh-0001zU-W4
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 05:53:28 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2059.outbound.protection.outlook.com [40.107.22.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3df379e8-1f83-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 07:53:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6307.eurprd04.prod.outlook.com (2603:10a6:208:142::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Fri, 19 Aug
 2022 05:53:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 05:53:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3df379e8-1f83-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jUMgS2bcEYJpcFNeRjOHxUwsMXb1BhsmocxOP20NXm8fCbKmLmi5sG4d+iCNDOiKhQB7/X+xH/abP53W0svpop+OL8eiYu27SwfeLcmOdQWMkbY4xjQOCh3imvN0sPCgDhygxScCPRaEySGDwG9p6hL3NqUutwFu4G50tKd4nSQrpFoeYLd0S2rC/7tWbsTihlji9bjyjee1NHJtELqfcVO42LxDlJddULPx1jyoGWdmaMtRe7cpWwREfEQPbOBkf+DPhqXYM5lmRefyZTn7BLWOmOluE/ncdtOiid/PHWcswqB/2LA2fcpfjUllZMTl/yNOQPuiuE6Gi4cGeeGcug==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/6AAXfDiAxXArGsZ5/ZfYH+rztlsh5AM94IBUfkijVE=;
 b=blKgBBt28B8V7RnyQDX+CchgvHqrnJXZuvGXSOG8XwBx//s6E8cG73FzK6gjke5764x89BJjA25d9PTZcvsX7bW179BMI4o8RpkbVRHryEMEzsPyc4QF/RmIsfI+x3TQaN5kFx5KaADovICsGomhb5O/hOrleOirdswZTOje0DJXz3xCETgFEmg24wSgqNUTItt+IR3NBCol8WlskoNm91Rfp0RRtt6/P1XdP1wmtCPKUoPC9HZSy+LWYi6oDNKMnptsbY2FABg6whNeCB0QkZhHhyJf03l1PSYP0w7JzekmIY9PjbZUTE/eu/4sho94qW853VB7KGHrN3K8LTt7bA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/6AAXfDiAxXArGsZ5/ZfYH+rztlsh5AM94IBUfkijVE=;
 b=dk0UcqGj0AqL8jq0e6sEh1H1zUsyVaCJopHbnWPRcSK4IGgXJMsmReCQPDE85+6chARb1rQl/c0e4Lnf+wMkB9kqrDGP/jOAGEZOWIDgAaNjue21jMVliV+Et3kh9PJ0efA1CNL/0Gy7vrKAvFcyttFwWyNTVecWgbTzhoza7i9k9zmuKGmLgBFHIk1hOeTEJJHnQyRlwo7ddDWR7IF+Uvl84lFm+ERyp745+YSwlSVnoVj4mRqc4JrYHk7reWQwIMtjyhkYuTPyxpRwiaagv5pYXTEsGevrS8P9t+CsZaHly/FypYwssX0U4JyycKLL2AaWiOBZo8G5Zdlra8cnLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a101cc8a-1c59-1890-3575-9891893c1018@suse.com>
Date: Fri, 19 Aug 2022 07:53:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH] build: Fix x86 build without EFI
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Cc: Wei Chen <wei.chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220816103043.32662-1-anthony.perard@citrix.com>
 <fb2a0fab-3e87-9a2a-a881-31ea7bdeae99@suse.com>
 <Yvu7Dpl5Pq/E8MxA@perard.uk.xensource.com>
 <ff4fbffb-915d-f221-2375-87358b46eee7@suse.com>
 <5d926715-b6af-234f-9798-622cdb53f181@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5d926715-b6af-234f-9798-622cdb53f181@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0121.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 92605e07-7719-4d2e-44b8-08da81a720c1
X-MS-TrafficTypeDiagnostic: AM0PR04MB6307:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G6/230H4vnn6LW7EPIEIxz6u45stjLwUubJ1zQzCBQlky5Q3Mw9NEzsRg6hVXsgGs42aiXxjnYirH2tvbncaJd3poat7128WpvgwBJinUrzoIGyWxzuzFV8/fW0scfM29lIlHLb4egY9kmV6e8/TfLrn+nlvnrwMZoEc9+3OS4U/AHnnxZgZa6jpQ+N+qPtUansFtQvwyU3bTZGrkSeX3Zg1FObteNAFnz4yza2t7nJZFDtccKZmx2SVWfIGB7wmPbTuf0MXTdPAP0swOdyYONGPbBWAnnjfJ3k0vK8k0MJe7EPhf1Hlfc64Bov6qqj8aZ5D3zJE/aQMR08zXb4lA2yNnaRzHRswVPG1AdGiorADYp9iu7qCpKCO32HX5a1n/3huB8/bTsNuEgFj1Y11qzKvcPzXjaZfvT/JVX/b25Vo8YlVvGrAlforM/1t1tjElDDp8kC38UVZYgA+DuNY15Q4W7QSnHQcGGx9TOz0KBoZjCU8gXl/dGGxRHjNjHmKpUUWFC9JFiOdTI+f1KqM7FvHZL211ZKgTXgKiR56nBO+KIx/OfVRc6WXPe3QeRpHYc+iZJ2EC3Edk8DEcxtLjnn001w0N7uZw2Ps0DjMKr3REIW+uUMTKnAzWR59wiYdORtl8LuUvAiSk8WpXCYIa3fitzI3m/eC/2F09yaYjn4oTAWnW3i2y051Kcno20UpMS+qOw2hrnCP9+yCy2x8VeeRGmuUhEd/Hz8vbfEVfVaCxP5Vx18pEzNDqIA41/PkLvcF5gatwEzBZNPASQKYqHnqxMPi+48bQft0Sc5xSmQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(136003)(376002)(39860400002)(366004)(110136005)(8676002)(31686004)(66476007)(4326008)(66556008)(66946007)(5660300002)(36756003)(54906003)(2906002)(8936002)(6486002)(478600001)(41300700001)(2616005)(26005)(53546011)(6512007)(186003)(83380400001)(6506007)(38100700002)(31696002)(86362001)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGN0Q0NiR0d3bjJRN29lU2hjL3ZYM0ZGMWlhV0hzUGNKRXpEa0EzakE3YnhF?=
 =?utf-8?B?ZVdhMGZIZEUyOUl0UWJiS25JTTdzdnpxL0dOTk1ONzlQd016S3U1ZVFvUDRq?=
 =?utf-8?B?Y2orb01oVDh3ZHdYbXdEYXl3dmhYS08yQzBrSURXRExMYy9iSmxnSGhnV3lj?=
 =?utf-8?B?VEpUTlFVWElaT1EyZzVzV2Ywa2Q5ZWhQOWVpb0FVNUxQQWZHa2ZFb0JKRHdn?=
 =?utf-8?B?ZmFTRk9TRVRvb3Izckp0Q0R0bW1NTlYzc0ZMUWdJSVB6SUJTaTBETjVZanZF?=
 =?utf-8?B?SHNTQmRRZWNFdFZwdFc4b2ROcDE0VTB3VzF2NWJIeW5CYS9zdlgycW40Wnhz?=
 =?utf-8?B?cTdnc0dva0d4UGpmd3NnNlpPaW5MaGQvNk5yc3JHUTN6MjFQTUw1dlFEUHZB?=
 =?utf-8?B?VW5uOGpYVlJUenhMRUQyNmNwSUVmYXNPRU9wSnQxU0IzY2dxTisycXRZVWxI?=
 =?utf-8?B?N2s3OXFPNjhNVE5ueDkvRWlNNWlXa1dGelA5NjM2MGdBY0NibEZmWU16c2c5?=
 =?utf-8?B?VkZ3cndaK0FwU3F3Ujc2S2ora3VIak9BY24xektrckt1c2ordzB6bHNvczhu?=
 =?utf-8?B?eWVnak5JMGZoWmt4N3lPTmFGRE8rdUdUMWFwODBSKzI5SHZUT09XRFFXZXJn?=
 =?utf-8?B?UVpNQnBJRzVNOURTSEk3ZlB2MlU0RkhVVExvZnlSLyttRHR0ZnAzWGdPUSti?=
 =?utf-8?B?ZmpLNUFBWXY5ZGJWSlVQaUJlNGZtVWxIajhIMk1FbG5Hd0VYQ3Q1QnBZbjNw?=
 =?utf-8?B?VWl0RytEMEhMZEsvZDhSUmJLRmlCbWhtOENxZ2dYK3B1R212TkcwOFVlSFNE?=
 =?utf-8?B?blo4NzZpMjhRaGR5S1FSUUh5cUFBY3BjeVRUb3lmQ0R1dHJiYllvMVFNUDEw?=
 =?utf-8?B?dXBqNk5sblM1QWp6MytvQ1ZYQlJ3bW5YcTRuSkxXVDI0WnJxaEVUYW40Tmw1?=
 =?utf-8?B?SUlRQkhJSXVnN1FKcmg1NXN2bDFCWUhmUEVON2dpbm1Lb2krUGxhNm9ieElC?=
 =?utf-8?B?N3dZcWNhZUI1MTRsb2VuSjNXZFQzV2g3OFA0aWlrMnNDZDhya2FxdnRoZXVy?=
 =?utf-8?B?YllmbVlCdmNieU5MQUdYajc3YW9ydzdoMUROdUpnbE9pM0tIajE4QnJncE1P?=
 =?utf-8?B?MUJGNVFmeWVkOUJNeTBNcklHTkFYY0trWGtIRW1OblNhWmo3a3drWkxyamk2?=
 =?utf-8?B?dHlJVmZNTytKNy91K3pqbEVCQU1sb3IxVGUwMitWbUdHY0Q1RVNHQk9KZWZp?=
 =?utf-8?B?eVhRZW9NekxBRjBpSW5GWGRYRHFwVm8vK0dmNTlRRDZwN05PQkQ5SW9IQ3Ro?=
 =?utf-8?B?OVdHL04wZFNNdUJodklCUHkzb3dZSUVGN21OYW9NYzFnS2g2cGNaZGpLUyt4?=
 =?utf-8?B?ZmdQMGtUdWtoWnNhS1ZpQUpPZnB0NTlYZDRody9hTjYvY0xYTVRuU2hJYThO?=
 =?utf-8?B?MmtLRTRVVTQ1VWNQdm1wTG9aYUJuL3dkTjFXVHd2RjhoNEprRWxTdzRJeThh?=
 =?utf-8?B?QmVPdThWNm5nYVI0SDRUUGtmazNnK0tVdG54OTJWYzgzRlU3Mmp1cXQwMTNH?=
 =?utf-8?B?eWdWQjFXNzRGd3k5UXg3MjhFMHA3QklEaUJCMmRYM2tGcjhXMEFkSDFnOVZU?=
 =?utf-8?B?RGtucDlCNk1iVkozenNHZGlSUEdNaThieXMwZWg4UDZqKzZmcThBQlBLbWVC?=
 =?utf-8?B?aWxyK3NlY3ByK0tibm9UMnhXMDR4ek5BU1JxY1pqeVFHclpsTktzZ2NKUkh4?=
 =?utf-8?B?Y0U2cjAzR3lCQ2FaM1AyWE9RWFlJSnc2cGw5akVkVjNPZFBBWWxHdVFEOENM?=
 =?utf-8?B?R2dEQ0Nmc0hwOHUrMVNuK2t3S1hJRDNkR1BIZldsQ015L1g1dXUxVU5xMHlK?=
 =?utf-8?B?WXNCYzVQdFZCM2lqRTNHY3B4MTFQcHE1M2t0Wk05STNZdjhHR0tsSno1aU1T?=
 =?utf-8?B?a0FPRE4yVGkwbi9HaWh4VEhMQnorazNmNnZtRyt4eCtEUVNPcU16OVp0WDVi?=
 =?utf-8?B?WkpYbVB4bDBMejB2N0JlS0Z6dlIyZ3lYODhTVk9wVTBPdEFVb3l2M1BRVnhX?=
 =?utf-8?B?WTJpRUxJaGQ4ZG5Mb0VsT2dKUVVjRkExVEpiK3NuZHR5OTRnVllNT3I5TlRs?=
 =?utf-8?Q?mVumQyOAD1b6ScGGFpdyjRBKw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 92605e07-7719-4d2e-44b8-08da81a720c1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 05:53:23.8686
 (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: EMfWRjkwALmcwKYfUP7+T2EAytpobdEL+000J6z+l/Xk4EfriYwDHfp/WDDy7P4txAtx9Ia8dW/INTOqgmOLbg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6307

On 18.08.2022 19:42, Julien Grall wrote:
> On 16/08/2022 17:29, Jan Beulich wrote:
>> On 16.08.2022 17:43, Anthony PERARD wrote:
>>> On Tue, Aug 16, 2022 at 03:02:10PM +0200, Jan Beulich wrote:
>>>> On 16.08.2022 12:30, Anthony PERARD wrote:
>>>>> We can't have a source file with the same name that exist in both the
>>>>> common code and in the arch specific code for efi/. This can lead to
>>>>> comfusion in make and it can pick up the wrong source file. This issue
>>>>> lead to a failure to build a pv-shim for x86 out-of-tree, as this is
>>>>> one example of an x86 build using the efi/stub.c.
>>>>>
>>>>> The issue is that in out-of-tree, make might find x86/efi/stub.c via
>>>>> VPATH, but as the target needs to be rebuilt due to FORCE, make
>>>>> actually avoid changing the source tree and rebuilt the target with
>>>>> VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
>>>>> exist yet so a link is made to "common/stub.c".
>>>>>
>>>>> Rework the new common/stub.c file to have a different name than the
>>>>> already existing one. And build both *stub.c as two different objects.
>>>>> This mean we have to move some efi_compat_* aliases which are probably
>>>>> useless for Arm.
>>>>
>>>> These useless aliases want avoiding there imo. Already when the original
>>>> series was discussed, I requested to avoid introduction of a file named
>>>> common-stub.c or alike.
>>>
>>> Yeah, I've notice that. This is why the build is broken under
>>> specific condition.
>>>
>>>> If names need to be different, can't we follow
>>>> boot.c's model and introduce a per-arch efi/stub.h which stub.c would
>>>> include at a suitable position (and which right now would be empty for
>>>> Arm)?
>>>
>>> That seems to be possible. But how is it better than having two
>>> different source file? The only thing is to avoid exporting the
>>> efi_compat_* symbol aliases.
>>
>> As said - I think they're wrong to have in Arm. But if Arm maintainers
>> don't care about them being there, so be it. As long as they don't
>> voice a view, I guess as the EFI maintainer I can sensibly ask for
>> them to be avoided in a reasonably clean way.
> 
> AFAIU, the two aliases are using by the compat code. So how about 
> protecting it with CONFIG_COMPAT (like we do for other compat code in 
> common code)?

Hmm, yes, that ought to work.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 05:56:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 05:56:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390017.627171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOv00-0002dv-Pr; Fri, 19 Aug 2022 05:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390017.627171; Fri, 19 Aug 2022 05:56:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOv00-0002do-Mo; Fri, 19 Aug 2022 05:56:52 +0000
Received: by outflank-mailman (input) for mailman id 390017;
 Fri, 19 Aug 2022 05:56:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOuzz-0002di-PR
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 05:56:51 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2043.outbound.protection.outlook.com [40.107.22.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7f74365-1f83-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 07:56:50 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM5PR0401MB2563.eurprd04.prod.outlook.com (2603:10a6:203:36::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19; Fri, 19 Aug
 2022 05:56:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 05:56:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7f74365-1f83-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KMNSuggWy6T/UED8gLJur1ZNDB5SlJI3gVUWuFKJKqPp79rHIwkG8kJ3sglZWofG5/7OdbgATNipFZUwhZmfPFsRVXFUDSCPaGebcsA397TRxV9HJ0xBNgNvUax2UAbeB0uaAj5DdDuDlF/WzNNP03PZ98NhEML+XedpwIYSJ3k/X+kIdj670iQTVfKE3/0iZLvRDsUzBKZprss//9nnLndhesfGSbcQGlFc/YMtXZ/VQ2wpvlNyIjI8rUaLY3knuq3vkvBsYlOleF7O8k4J6DdbQyZoLC7rRzxVqx4XgcOX75FE0QgItcNqc6Z+WJL6mYqZrHUWqS6F6pTcP61Fdg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OGpJy9GxXDGSF/wnBk5fJOCd9C2MkPOsGg+CzPiKBN8=;
 b=ABlawPS00l8E+1dg/KD0EyXtHcMh7vCgzPVAXnfs7fys26ke2eEM6vcgpM7b7RKWsZ0GZbXzvPJo7wMfQN0bd9ZQIvBai+DdZDJemg5ijKMvQ+6VX4fNnao/9y75UuJ5NghUE1U6f0YHQ21EQKN+wrFuXXEYmBC7R+9rpCTqjOuWsWimnvYHqAb24EY9HjYQLv76aRxr4NVRW2EnX5Doqxn9ev03fkX7+6EKZghI6XQ/RMt3SUO69++nZ+6XN3rj6qwnlLS1hqPylXcZHbR+RQF20Hn0VSZ69w/br1gxs9JEDASgOziUgTaV6ixecrBrLn7F+heqwq/44r/wyUzXbw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OGpJy9GxXDGSF/wnBk5fJOCd9C2MkPOsGg+CzPiKBN8=;
 b=S60ngdZuAe97+9w5NvOMzism30dIvUv06PwIkqxXz99nMX7L/4dOqaR/2BJWrI4g0e+oIKKlSk4mU0GskpOZ84DzbLIxKTwk0GK8QtcLltpJa0yebyDMd9EMGHNeQU1R3T3PkxII5xxXuuf2VUQQaI/gHih+sS7jndNHNPPz9rkFuRBYP2VWW1VGwLdF+3knRmxRUq29ZA6y8nG7pi+gs7Pzb5FY28OZ69AL6kQ6DfFT8QuNwoJUjU3mSVx9L3XW1xsaPDZhvdoeHmQIbqhY8rFYR0goXVhxaMqUhYpvr+UKp1xi9gqkMcIMk5pUK7fLvl1SlT6+TD3TF07CPXwPIQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0f21833c-0cf9-05d5-4567-4b088c579364@suse.com>
Date: Fri, 19 Aug 2022 07:56:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 1/3] xenbaked: properly use time_t in dump_stats()
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
 <c87ae25d-5aa8-bb70-7d2b-ea6485a01f59@suse.com>
 <Yv5p/a/hFa+zxXMH@perard.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yv5p/a/hFa+zxXMH@perard.uk.xensource.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e3834879-ccaf-4cff-9bb3-08da81a79b64
X-MS-TrafficTypeDiagnostic: AM5PR0401MB2563:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1VSceIfw99wJPYlR9uZ8Rqav8HLT2dXK4t8x3KsIGpvtY6QRHsPr0XUnHE8YgjKqihmUk+EG7Tx1f/9VHnN7KkS9qXLk97p16eGT4f1A0IZBkMSaqb+8pNRJ3iXzNh3DsrSsbR2SRb13ciHMpsRvb63EHJ8PxQrkkndX5k8ah200p7v3t6F5ZycLGLNHi6r2fRoLgaid8nVgi+n7mskpsUdYRHcCBkZO341Y6VDFY/7C0AMfm631guXm5ozwLlHB1eVKsl5KD8XyKobXMZw54FzUwFWJEOs8hJauOROS6ZBDTT5djhCgOMF3endxUD2hZ2GLs2BS5ks8p9frXJQT66YAeOD3n9P0m+nQeVudU6o/9f0bW8Sr7Tm4iyeshCaDYcczvNhx8DWkBW7BdRjvXCMrmiQmtVIwqqgbEl6ILyQps8Zc5Fcm+I+vMeXX6lideK/xNeg8MmUQWpBrLIB+dUJYHn+Ngcsg69FyvXS4G0arUZlPEuKAJjleDbIYVJNccuz4WVvx4nlC+wTYosk0rmhZlce/NBXkSpfEA1zgI3Ntb3cTbARNkUtM0ohhgfXJoBmaw4K5pLSpCsaMluumoYj6JAIHqeq+7NAmSHW3PjpIcBpP1IW7H6lUF957KWCi119AmwNZcenZ7WAHVaV4WtMO55bviSVngzXNHfsHRA4PghYKB82TqakhlVWce5segYl1nwylqBzZeLe+LOHRx3NU4HRM2uduqm93HxJgBF+leu2p93hErtkCd/0fr/Y/gWbdbStTr0UcslM4t8pafjOLGtmE2xVxoaG+S/DkXRQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(396003)(366004)(39860400002)(136003)(5660300002)(478600001)(36756003)(8676002)(316002)(6916009)(66476007)(41300700001)(6486002)(66946007)(2906002)(4326008)(31686004)(54906003)(66556008)(8936002)(4744005)(31696002)(86362001)(6506007)(53546011)(6512007)(186003)(2616005)(26005)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bldScllEQnIwakR2KzdGUmRWY1VzT1VwTWV6S0U2cmwyOFNud0VseUd4eDdM?=
 =?utf-8?B?Lzl0VFMwcmpDMFZXNWxDSExUNUFHZENEUlJnRkxPdEZGMEw0ek5kMEdEU2ps?=
 =?utf-8?B?S1NvVWxvR0ZvYWFCb3p4VFdYT3lNTGNHckRFaUM5Sjg0cldLaG1kYjdHTkZX?=
 =?utf-8?B?aVAzMHp6SE5kVWN4Ky9IZGt5cFpDU0E1d3Juc3Y1dlBCVEZwSDBJTTJ3ckxj?=
 =?utf-8?B?aXhuNyt0ZmJBV3RleHpWOC9qenZRekNGWENucUZOYmJIMC94QStiYlZocFMy?=
 =?utf-8?B?WG9kMmphWThwb0tuaDRVU0kzOWZ4eFlxNDUxYXRibnQwdXhGVFZ5bXByVnRC?=
 =?utf-8?B?NnF3a1MwL3Q2ZllFV25kWHErTVRJVUFNbVhSM1cvOXZaUVhSZS9CTXBwWHhV?=
 =?utf-8?B?TUNsNmVNbHJyc1dVQWdmcnRMM3F5SDIrR1g0WFZ1WU1FeURGTnRib0ljWTA4?=
 =?utf-8?B?TysxTE9ROWZHVXhqR1A5YTJPMW56TkpDVWx6bXJZTWN2OU5DUWNjSmhUZW9w?=
 =?utf-8?B?Z2ZWY1NNNm9KZlM5UGxSeTdLdHAvOVhMVWczV1RxNW9hbXBUNjdLVXIraVJj?=
 =?utf-8?B?R1BXV0F6L1h0YlByVnVreUNGblMvQUcwU3pGNjltUmFzTmloTjFxNUJUM1hS?=
 =?utf-8?B?RVhPejJqd2hQalhQaUhKWmFidjVTd0czeVR6MnltVzFhbWxub29zYW91dnMr?=
 =?utf-8?B?MGt6TzJPbmxWQm94MUlqWFpPVXpVNUtBOVF3Y2tPTExvRHBDK2dLM1NEVDlZ?=
 =?utf-8?B?Qk9lWVVRYS9XeHM2RlFHc2VwRVIvK2RQZEE1bktXeWNZdUpRb1cyWk9UdjZC?=
 =?utf-8?B?VTN1TXlJOGhIRWE5L3MwNFlBODFYRnFMbmprd2FyWjN4OWM2KzNpeTY2cldl?=
 =?utf-8?B?WEVCS3ppb1NMdDZrdkVMb2hjSEhEdTR4YThzWWd4Z3hQSysrMDNYRk9uc3Vq?=
 =?utf-8?B?R0tNeURxNlBXRVFDUGM2Y3ExYlk0ZG9TY25KOTdJVVZVM2VESFczYU1tc0JM?=
 =?utf-8?B?SHVuSmRBb0xkSDZ4UWZKaitsQmhOY2xWZ1BSRjB4M05wclNCNnFwSTBrclRz?=
 =?utf-8?B?ZHVGbDJpbHAyRlN2V0VCclV2QS9YM3hpQ3BCVjNNQ1JjRGpndUJNcXRjMnJq?=
 =?utf-8?B?UFpKbnVWVDhHS21DYTFKcmlTbmxTZWhRWHU3Zy9CYjJhemFWN2N6NENqbTdw?=
 =?utf-8?B?SlhDQWxSTDdQemNQdjJmRkxVY3dORCtxaXJuNFJEVTB3NG83U2wyZ21EYnVC?=
 =?utf-8?B?dSsrQ2hJQUxmQmhXMzI0ekNXU0htdkYxOXVqTXkzTkJjdHRFTUpDN1U4YUNZ?=
 =?utf-8?B?enB0Y0pzOGtFbkdHWUtZMUdhSThmcUJuU3ZnYmUvZkdZZTYwTDc3L1pXUW8y?=
 =?utf-8?B?NVhuQmNBRENiSlRDZU1SNkNOaWxXWEdUa0hEbEV3Z1FWeExvRmZRNFF0ZGdH?=
 =?utf-8?B?VEQ3WTdWMWNseFdnWjcwMnRGOEpia29VaFNadm5CajdrY1MvWWJraER2VndF?=
 =?utf-8?B?ZWxhcnpVWjJBNjZ4Wm5NditXTUMyVmdaUkJuVnM5TnhzYXFPcHY5dGNod1gw?=
 =?utf-8?B?Q3J1SWJxRTRYWEJid3JqbVFyeHRrSlI1QWRCMDkySkxRK25YN1BTSUpUS0RL?=
 =?utf-8?B?RTlWTStCT1BPZnh2ejR1V0tOZ1B5MHk2dm1xaWo3RzFjbm5LU2pBOTNRWUxH?=
 =?utf-8?B?SkM5SWhrd2lUSUwrTjB6UWFucGNSNFZhYWJUS1ZLQWtJYXQrS0o4Q24rNVN4?=
 =?utf-8?B?eSszS2FsKy9CRTB0b0hFVWM2V1p3c240WFdtTW9vNWNTTmFZaHBKMUEzZTFV?=
 =?utf-8?B?c2c3RHNnOGMxZS82Z0k2OWFzNTRjZEJMNG9reStLbUtqM2xURkJ2dTN2YUVx?=
 =?utf-8?B?Q0VNU0NrVmdzM0U1Z0o3RTEzdUdyanFrQzAxMGpSYXZGZkNnVlE5RjNRekpI?=
 =?utf-8?B?ZjJqbFNxS1FMYjBueERpeUdtVWRtK2hqUG1YS2FYcjg2ZVc1QlZIZTFCeXhp?=
 =?utf-8?B?bUtBa1VlZXNIQ29kR0ZRaVpyd2Vsd2dXd0VGcHZoeHd6TVN5TncwVGdXZ1k0?=
 =?utf-8?B?SldWcmk1dFlsblo1dm5MMytrWlYybGx1OWhmNG1lMWpsZHczRlMrdTBxRGFo?=
 =?utf-8?Q?zhWW21Uj0ELsqmoA/VdDgIuDe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e3834879-ccaf-4cff-9bb3-08da81a79b64
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 05:56:49.3711
 (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: EoMlk822siFbsOaBWSRGZibvF452EHnH9UXFkNmWMgS3P6JzHRSmObOmCzVH/Wk0BDQzdssnmAsrrQjGntPrrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0401MB2563

On 18.08.2022 18:34, Anthony PERARD wrote:
> On Thu, Aug 18, 2022 at 04:05:37PM +0200, Jan Beulich wrote:
>> @@ -242,13 +238,11 @@ static void dump_stats(void)
>>          smt++;
>>      }
>>  
>> -    printf("processed %d total records in %d seconds (%ld per second)\n",
>> -           rec_count, (int)run_time,
>> -           run_time ? (long)(rec_count/run_time) : 0L);
>> +    printf("processed %d total records in %0f seconds (%0f per second)\n",
> 
> Did you want to write "%.0f" or even "%.f" instead of "%0f"? It seems
> that the '0' here mean '0'-padded, but without field width there would
> be nothing to pad. I'm guessing you would want printf to write something
> like "266 seconds" instead of "266.646168 seconds". Am I missing
> something ?

Indeed, I did miss the . in all cases. How embarrassing ...

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 06:07:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 06:07:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390022.627182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOvA5-0004Cs-LK; Fri, 19 Aug 2022 06:07:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390022.627182; Fri, 19 Aug 2022 06:07:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOvA5-0004Cl-Hz; Fri, 19 Aug 2022 06:07:17 +0000
Received: by outflank-mailman (input) for mailman id 390022;
 Fri, 19 Aug 2022 06:07:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOvA4-0004Cf-39
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 06:07:16 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60054.outbound.protection.outlook.com [40.107.6.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2bebd011-1f85-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 08:07:15 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB6PR0401MB2247.eurprd04.prod.outlook.com (2603:10a6:4:49::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19; Fri, 19 Aug
 2022 06:07:12 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 06:07:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bebd011-1f85-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PSrYtXFAtdyyvJRkLeav4dHU9rnXEM4ybubp+oU2Fufi3miGp+0TMFw8PTLhgeHwvfjsLxGX8tmJTC+HRosIB/GTPV1brKE+572wTvGLtHsdkrRAVdvHMe2/I4LOkNFEy2G+c6eZ49sZ6DYrGGKprJu6GOobqpmFg7+6bgr25l+TtxFg8ViriaexfqYceKilKDOKVn+MQUiJPVYWXSnvSiIc8rjPDaz51d9WRThB1mXPkW9xrYT0NlSX7yGpW2EZPBddIFUW1jzd4Ak+vZxToz/RLUXpgVpJvMhLWV9aiKLzsI/IhwcM3mJUpOoMGteclD5l4a0qxkjuUbNwW6/MjQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RXJohMWn1R/5zadL3QrVtUMPdaKqZXbEzPsfOpT/vFM=;
 b=Mtne8Acn/rtMt2gBw0YMeY4tqkciPpF/LGv4IM03OILiB/OXkiEKZ4Yb36q2CZ9hBg+3MfZMeCKAzyr6qnnFkLDD7oJ/fJjWU+usi6nenE/Yx2csqcnd+2y50KCMIK+VB4vb8VIf9UKVyBEpdTWhLhtNCJw3CWVGtJA/sDcGWpKcyB/XmppJaAAnx0vHMLQGv5i1r1yCoAwEr8lch0h1GZury5od6Q2g4ckff2W4c3K9DlWXvptSbNlIjHUJsk1Rvb9F3c5yQIE5KTxkKNuU7jIHjNvOVjw0B+BKj29gCXQTN6bdRHC6uBBlPXCiZbGH+xY5RGOY2BJdnqVqayYa7w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RXJohMWn1R/5zadL3QrVtUMPdaKqZXbEzPsfOpT/vFM=;
 b=kB/bQEpyybFxqlA+tamRitjJRiTswn0rqDbLqpoIOL12bDqVLs3FXoESejNlpIdRi5Xr+RnE6qCQChKv8uKsFQxV0qiPuPzJcjELtEzePnfTkltzMD7UwhZSLb7S3OICKFnRa9fNuXXLdGLqNh05J5F3WGYOo3fSYPp42SviXqtOyRC9teU0DKgh6NjxmNU+/MQQsPvwk9VeWUkoNCEQ7+EMODXmay4H4YTWfeq49sxDXbGn5dFv4TOW+fiVh4GNqG3R3pnxLzy2jhQrdMHpUO0/+7zsdeJbCqCgwRKO0XNLzNJgAsv/QMBt7ADojZu4XlzWlyj2937ACqRDCc473A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <06310bae-0ae9-d837-fc9e-bbc1209c4c9f@suse.com>
Date: Fri, 19 Aug 2022 08:07:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/2] xen/pci: replace call to is_memory_hole to
 pci_check_bar
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1660746990.git.rahul.singh@arm.com>
 <26fe963007e0a43b8fefd915027e90ddace1be73.1660746990.git.rahul.singh@arm.com>
 <114e88d3-0ec6-d51f-af41-555f79403b29@suse.com>
 <6FD6564E-8B4A-4A83-8E21-7E156878B2F9@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6FD6564E-8B4A-4A83-8E21-7E156878B2F9@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0002.eurprd03.prod.outlook.com
 (2603:10a6:20b:468::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 980757b3-c1ed-4731-1313-08da81a90e72
X-MS-TrafficTypeDiagnostic: DB6PR0401MB2247:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7PmWqLIV64QGt6LQjV/njVzigoA3b3DkDLCRDwHxkP9RDcFe8k/doGC+e2p0e9WR4EOFXmOQT9Fa/oQXE6zQWf6rYhA3LkD+hJZ+aWtr72c9daPqpS2QY1jZ/SQg5BR3dTRH6XKS5Vt986z/qqGNCZ5iUauCEP9Y2Nmy26s48rxz7KFOfT+znMccba/Un9fwVuNF+etGxyrh9SEZHiVjLryKX/Mk09lBz1yHpAFjrsR68V+XzjSr2SQEDvT7cjYxb4ObJ94YOdnvUgqrsEstbPR6HKGPWZjhbpcxTg4jeoRPhU3fGGUC38GrNBgsiBabAhYiRLlMiiGvFcsU5k8vQbYRYMITRJDFxpO5vWOCNA0KXpWXTs8fAvOHdIzkyvPuULg8HytSUswYz+K631g4xo0N8imSMwkRi5dqZyEWwQ1DdwT+OV7Bh8qBnwaZTL8dqMinJtymS5muuuqEj+1DY+XQ/OHwGxnDCvwLxQVdmf2jESy4SxbyVSvpvePNlEAQTqN+NRK1K4F24mNgAjAzaJ8XuYa9oMh7zSrLzO2IPjl12nMaT875lPxQIiukiqqJ8dd4yRkNZerVpxolAWltmNAhrKJYsX6hP9xD5tei5EHil9QLOfzhT0vtTWw+QHw8E6RoE2ES1CcMM3+tgOq6W5IslX+7RxuTYLEGuZfdwjowxTvVcYxJj8eXn8PpCnrXNW0OslQSErcrrFmUHywmGT0quVMNzW05dG2qomtV2pSD0rEc0TmwyLGI0+F8tPnOYbZbyk+pqrQ4mfLC5HUmZ3hY3fpA1K+AO6GvHZFjrm8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(366004)(396003)(376002)(346002)(6512007)(26005)(186003)(6506007)(86362001)(2616005)(38100700002)(53546011)(31696002)(7416002)(36756003)(478600001)(5660300002)(4744005)(31686004)(2906002)(4326008)(66946007)(66556008)(6486002)(8936002)(8676002)(66476007)(6666004)(54906003)(41300700001)(6916009)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ellsYW4wWWdQOGNaTk44Ym1pVVMzSmk0S0lSSEJUanM0cjhRWFhTRngrYWs1?=
 =?utf-8?B?R3VyNk44bEpzTmkwV25TVUxaNnpyMm84b3B0NE9RZUVxK2taZGU2N1JnQ2pC?=
 =?utf-8?B?Wm9adkpWdzJtbm1WNkRvNHRnY3NmcXlwREd4WTkyMFVsTEVHWU5ZbzhHTUtJ?=
 =?utf-8?B?WHNRcDlWY2ZrUE9CVmp2cWRBdGFCaWtuUmxFVTk0dDJKUkdiblB3L0IrdWJx?=
 =?utf-8?B?TmduK09TSDdkRkREQnFNWjZuMkpHT1ZOZ25pVnY5cmFBSzNva0dYZXh6cmdY?=
 =?utf-8?B?dlh2VE1OMzVjS2tiQjJEQ04wdVRLRFZOcnExUjB2OW8zMWhLWTlRd0NRVkxF?=
 =?utf-8?B?NFRaaUp6Wjh5dWFVcTRLN2FCVmQ2ZDJRaUhERm43Nk41NjBqL0RaUXd4Qlgx?=
 =?utf-8?B?VC9mWVJWSzRPSlFFeDU5Z0NUVHBKWit6ZTJodjFzeVM4YUVhbE16aUg1QnVn?=
 =?utf-8?B?TFlzclVvMjhEQ0NHaFl3b1I2NjY4UkRoTEs3b2FQNmhIR0dqc3hySnFvNmFW?=
 =?utf-8?B?ektRMTJHNHFSaUtTOTAzenU1YWY1OFJXWStoZXNLcU1xZ3FMWXBPV0dGYmVh?=
 =?utf-8?B?U3VUTEtMcFIrSW1DMktFWUE1d1ZiRVc4alRqNW9OMU1CZ2dPVnVnQ05CNFps?=
 =?utf-8?B?cUxrOWVrZ0FJM0M3U3JicDI0MXJPSUlDK0xrZHgzK1ZTakpibWxLTmlyL0FN?=
 =?utf-8?B?N2FjdExjNXVRNDVvd0ZjamNKZmhEdWErSk5NL2tpamdPRmNHcW5MWEJLQlhB?=
 =?utf-8?B?Ky9jZmtTOEt0RS9KdHBFZW5nZVhhUE0rY1FSTVR2eERweVlKbEczVG1oSmJK?=
 =?utf-8?B?WmxZRFRqWU9xNlV2bzl0WmZ0SllhaFZMb2Y2bkJhYzhHd1oraWkvbHRJNnI3?=
 =?utf-8?B?eGZySzlrWXJPYXhCeFN3L21KczhVaWUxdTVBQkJsbE45clJNK0x4Y2dNQStH?=
 =?utf-8?B?Q25lWnNwekpmOGdkNml1NW1oYjdETTJ1dGhEZm1oemtUWis2YytYN3hZOXM4?=
 =?utf-8?B?a0lDYnFITzB5M0RITkhzRVZjNzNYSVpRYndIVzZTa1U3enJMYkdPSlR0ZmJP?=
 =?utf-8?B?R2Y3UnlUN1N0T0VhWmVyMzNVbXJVakhiK1BDWlVJK0drb2MvUHNNN0NydDAv?=
 =?utf-8?B?R3RNMU9wdng2UUxWQVB5RlpsNGF3MjVPdEZQb2R2c2xsTUk4LzhmVnh5L2Iv?=
 =?utf-8?B?QTArWUxGbnZMR0tnRVF4TnV5S3d0Ky83eUNMTkppRWZzREUzODQ3aG1wMyt3?=
 =?utf-8?B?aEJLNmVPQm96VFVhM3RYYzNJU2ljQTJ5VUExellab2VyWVFYNm03aWRrNWVF?=
 =?utf-8?B?dE9tVkVnc0pOZFRCSjZMV3piaWg0aWFnTWllb1RJckQrZGZiRi9wOG1ubWt3?=
 =?utf-8?B?ME5mK3dpbmE1MWxQR2poeU96NE9ramNhNFpQdEVDT1RQSVFqcWNGaURWMUxj?=
 =?utf-8?B?eWI4NVdXMmh5dWJuK1pDODg0SFNPbUhsMWN3UFEvRjhkSEpZTTExS3B2anZx?=
 =?utf-8?B?YXJpRWczTzBpNVQ3ZldBK29lSUczaUNRRnJ0UjdyelhGZUlEWURZYVM2cE9N?=
 =?utf-8?B?N0pDTWpBQnBLWlVUWGpxQWJMbmZEVzFNK0xHMWwwMExTdEtXTW5mOXBhRHkw?=
 =?utf-8?B?bkZ3UjNtRTB6eDRYN3lqTGdCUk4zOXRJWE1kUk9GLzcxL0JMM1dCNXlHeVVG?=
 =?utf-8?B?anFCRUlwK0dyL2ZiZlQ1QXBpYU11Y3BLVzBvRyswNVVRUCs5TkoxTTg5OS8y?=
 =?utf-8?B?YnZwSndRYTVOU0ZVOWE4Y2toQ3J3ZTVhOVJEY0o5SXdSSERmTzNhcEh6NjV2?=
 =?utf-8?B?QTBXM0dOdWN0VzNESDNoS3pqZ1JyNDdBY2hWZWRjd2Z6Qjh1NVJKMlc0clJu?=
 =?utf-8?B?bUNaR21VdzJoak92TXhPZDZqUXNLOWllUldrWlBtTklycjRwUDU4czJhTHVW?=
 =?utf-8?B?OHlYdndtejBNZThUcWJpQmphdTU3dUNsdWJFUDBXQWxuajN0eTF5cnU5Y25w?=
 =?utf-8?B?Y2RxMllYdmcvUEx2TkJEckxjMjZoK2kzQnlYNXk1cm41ZC9uNkdkODFORisv?=
 =?utf-8?B?cWZqOWNhQ1pJQ05qTlpJQTA4V3JySjRMZTRWdXpnTzNvSm5rK2UwQU41eEhl?=
 =?utf-8?Q?vfRLPm/mPSVDAx2ydMleRxF7e?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 980757b3-c1ed-4731-1313-08da81a90e72
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 06:07:12.0815
 (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: gk7idjhZNcKg03qyFEvj9oJefXAvYuDQrUhqLjuxTZO1WMqs5zjIrhEbs+RpNJAIFt+BE6P8Xx8lS03fF05AOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0401MB2247

On 18.08.2022 16:58, Rahul Singh wrote:
>> On 17 Aug 2022, at 4:18 pm, Jan Beulich <jbeulich@suse.com> wrote:
>> On 17.08.2022 16:45, Rahul Singh wrote:
>>> @@ -363,6 +373,42 @@ int __init pci_host_bridge_mappings(struct domain *d)
>>>     return 0;
>>> }
>>>
>>> +static int is_bar_valid(const struct dt_device_node *dev,
>>> +                        u64 addr, u64 len, void *data)
>>
>> s/u64/uint64_t/g please.
> 
> Ack. 
>>
>>> +{
>>> +    struct pdev_bar *bar_data = data;

const?

>>> +    unsigned long s = mfn_x(bar_data->start);
>>> +    unsigned long e = mfn_x(bar_data->end);
>>> +
>>> +    if ( (s < e) && (s >= PFN_UP(addr)) && (e <= PFN_UP(addr + len - 1)) )
>>
>> Doesn't this need to be s >= PFN_DOWN(addr)? Or else why is e checked
>> against PFN_UP()?
> 
> Ack. I will modify as if ( (s < e) && (s >= PFN_DOWN(addr)) && (e <= PFN_UP(addr + len - 1)) )

Hmm, doesn't it further need to be s <= e, seeing that the range passed
to pci_check_bar() is an inclusive one?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:30:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390028.627193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwSJ-0004Vh-M5; Fri, 19 Aug 2022 07:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390028.627193; Fri, 19 Aug 2022 07:30:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwSJ-0004Va-IE; Fri, 19 Aug 2022 07:30:11 +0000
Received: by outflank-mailman (input) for mailman id 390028;
 Fri, 19 Aug 2022 07:30:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOwSI-0004VU-38
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:30:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOwSG-0002ND-IM; Fri, 19 Aug 2022 07:30:08 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOwSG-0003Iw-9k; Fri, 19 Aug 2022 07:30:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=0c4y1Mu20Yxjw1BRzF1bKdUsbPvsFN2x2gngNXSmZz0=; b=ITr+L1xU5DFolcoCeJ2mEXOAtP
	6w0LiWHH7U8QaF1/sZBd0KigbmWlipQq/EP5zn1j49SOg4nYSpdezLaEt0MXovUyCv5BusVHQxCV2
	7747mjYUN4QIkAZE4Ux+676p5WSfCf0v88fA/+vRgUlrZYDtiv49TnFZ1+HpKt22IyUA=;
Message-ID: <835a1093-1280-1442-9e11-f9f5bbf9f635@xen.org>
Date: Fri, 19 Aug 2022 08:30:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 2/3] Add licenses under LICENSES
Content-Language: en-US
To: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, wl@xen.org, jbeulich@suse.com,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-2-stefano.stabellini@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220818220320.2538705-2-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 18/08/2022 23:03, Stefano Stabellini wrote:
> Add the individual licenses under a new top-level directory named
> "LICENSES". Each license file includes its related SPDX tags.

We already have a copy of the licenses in COPYING/CONTRIBUTING. I don't 
particularly mind where you want to keep the licenses but I don't want 
them duplicated.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:33:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390034.627203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwVh-00059F-46; Fri, 19 Aug 2022 07:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390034.627203; Fri, 19 Aug 2022 07:33:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwVh-000598-1L; Fri, 19 Aug 2022 07:33:41 +0000
Received: by outflank-mailman (input) for mailman id 390034;
 Fri, 19 Aug 2022 07:33:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOwVf-000592-Q5
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:33:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOwVe-0002QD-KU; Fri, 19 Aug 2022 07:33:38 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOwVe-0003Ym-EG; Fri, 19 Aug 2022 07:33:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=730PEsrHKa+wj7LiHCFT+sNLQVqSTuHnDWpOYKNk9lY=; b=iHouz/Oin1EzWB+5OZcUg9qnbC
	iKj0tROxNmxrDTvYfc4oAWRblq4fHIpFfdvpSs7A6n50zwO4w1BwBXRyp1VkQyNf+BGIqC5/IGk1A
	SKXclABa1ThE0Xmd1Ern9xyZDqfOWMHwb1NGBGAgrn7onenubti+dXWeY2ynAKr7JXng=;
Message-ID: <fb2e6b9d-8ffc-a7f2-8411-3751dc8d4022@xen.org>
Date: Fri, 19 Aug 2022 08:33:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 1/3] Add SPDX to CODING_STYLE
Content-Language: en-US
To: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, wl@xen.org, jbeulich@suse.com,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-1-stefano.stabellini@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220818220320.2538705-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 18/08/2022 23:03, Stefano Stabellini wrote:
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>   CODING_STYLE | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/CODING_STYLE b/CODING_STYLE
> index 3386ee1d90..5faf274b3a 100644
> --- a/CODING_STYLE
> +++ b/CODING_STYLE
> @@ -14,6 +14,16 @@ explicitly (e.g. tools/libxl/CODING_STYLE) but often implicitly (Linux
>   coding style is fairly common). In general you should copy the style
>   of the surrounding code. If you are unsure please ask.
>   
> +SPDX
> +----
> +
> +New files should start with a single-line SPDX comment to express the
> +license, e.g.:
> +
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +See LICENSES/ for a list of licenses and SPDX tags currently used.
> +

A user reading CODING_STYLE and CONTRIBUTING may think they need to also 
add the full license (see the section "COMMON COPYRIGHT NOTICES").

So as we are going to promote SPDX, we should update CONTRIBUTING to 
reflect that the full license should not be present copied.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:37:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:37:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390039.627215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwZj-0005lW-KB; Fri, 19 Aug 2022 07:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390039.627215; Fri, 19 Aug 2022 07:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwZj-0005lP-HK; Fri, 19 Aug 2022 07:37:51 +0000
Received: by outflank-mailman (input) for mailman id 390039;
 Fri, 19 Aug 2022 07:37:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOwZi-0005lF-8V; Fri, 19 Aug 2022 07:37:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOwZi-0002V3-1K; Fri, 19 Aug 2022 07:37:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOwZh-0005zv-HT; Fri, 19 Aug 2022 07:37:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOwZh-00051i-Gw; Fri, 19 Aug 2022 07:37:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=p1obqQsL3aioyDxLxvrFcSrUpyh1EVhp1N1WrKty/t0=; b=v0xMqxXUb+XH/Pjy46093ApLf4
	x4cqrwJl65imke2xX9Xx3FSKDSNTyoTUxgU6qUNnFj8dExgC0QFGWhCFkkGB/NEwscuQtGA7iuKcN
	LGx5RsOH9f9BtQ3oeI9Yx+QRCvd9wYlBBS3WAKWtKx6s8D7kr8VG4OfMf8QObTuv09iE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172628-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172628: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=573ae4f13f630d6660008f1974c0a8a29c30e18a
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 07:37:49 +0000

flight 172628 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172628/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                573ae4f13f630d6660008f1974c0a8a29c30e18a
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   15 days
Failing since        172152  2022-08-05 04:01:26 Z   14 days   34 attempts
Testing same since   172628  2022-08-18 17:14:43 Z    0 days    1 attempts

------------------------------------------------------------
1392 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 146079 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:48:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:48:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390048.627225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwk0-0007MD-Mf; Fri, 19 Aug 2022 07:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390048.627225; Fri, 19 Aug 2022 07:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwk0-0007M6-Ju; Fri, 19 Aug 2022 07:48:28 +0000
Received: by outflank-mailman (input) for mailman id 390048;
 Fri, 19 Aug 2022 07:48:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOwjz-0007M0-GH
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:48:27 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060.outbound.protection.outlook.com [40.107.105.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ee63237-1f93-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 09:48:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8122.eurprd04.prod.outlook.com (2603:10a6:10:25d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 07:48:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 07:48:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ee63237-1f93-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OXBPRWsnhk3UcpL7DqOXNLwGN9kyRkZmIVzxLr7EPeAKsQx5kC9+GlcsqLjDaDQbMKlAzgYlxk5Gbx5ElzG08qOdE/BF7Dyt4Wh+kLZhBOkoBD+DPlcM52sykFnSXlPkCWqTqcgdiTuhNECMJ4bF4BXKg9c8d7gTv8VgEVUpBPq8Vc4XWdiShEV4j2PbeLJDLHDyYb09Y9USMrrfxxRNL2JpTbTbQYNcygQX7Vp/vUJNtOa8wxiYxTFatj0r+QB703wW9Gmim8VwX9c5hSfbAoTbGybtYHdHtRMy9PtiNuafIPHSQfsOblzf8pU0treiOm/U8214JxZEV7JlkdbeAQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IINQmZD7SAqioJfykJlPHHVBkvs9TlWVDAVi2OGY9ko=;
 b=PC1nzzDdiDh4MqC7+kpMxvZoXc+H6h73myQvBSOzEPSH8AOInAVz4YGvtCYS/ZZ7WgpSQDksW91XPnaQrU+ebfxCTXbvkYaQsthBYkHs+Y8Pw9qQrWnHPgD8OufS5HVZNB2zwHoLHQH+oHHa1XkgS7K/o1g9H3sP7paE6XtYD93vaW+A8kAOjynW0jffIrEnuEWARZWe/DRxztzA+bdmrO+1mUQ2wgngs3UPa9nwOanHd0ZCTEGvvHbD1tTpynHrAcjwxSWD9Ziza4Fn+WCSOn1ZLs9MfS4HnbJ8QxUyWc0LbSC5B5QCwZjkZlggXW/Trj2Ea+o5vWjHFWx07WKL2w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IINQmZD7SAqioJfykJlPHHVBkvs9TlWVDAVi2OGY9ko=;
 b=pG9AZVabnAcTcBRtx07RzRFNlxwdGfY06rKFPP19T4yZt+c96A3nHEhuDxX+VxyNlRbHXDJZXj73Za8HZvP2mq5d5i+gvdmPha7rqz5Qlm6cdvrWdC/Y+JPvn33vy+JIxag9hJbobfBohbE3bS+kQkXhONt2yekkDRBGQGyApBMW2P5qLNU3GS3goEU9U1vgsUFkfaUiUmfLyaKnc5RfbcN6+auZ9osaUvNypFXLOvi9drCfmYUvweFjRLXL8fp/yTXgurcfOMeibyjPayQBJJbzTrFJxR6aqyciJ6bC0UWk+G4F+MGcnn85ThLhrA0jkNw2Tu2T8ZlixNlfEU3yIA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
Date: Fri, 19 Aug 2022 09:48:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/2] Arm32: memset() & friends
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fa497d8c-a79e-4178-705e-08da81b731e7
X-MS-TrafficTypeDiagnostic: DB9PR04MB8122:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tEWWT9ZtHVx1s63wk6XrM6d+NjhY/dN2Z5ywsI9MhrtqgTzns7OSEBpS3a636x3Qg0hColacWKOmSeCFG4Rt113NelwSOJHfEFxVro8l8WiHavUS+XTVTBKr6IqZkqgPWhUHrVsjQ7jwJ7wgG6XCsjDcTbb7Ik+Tb3xklY990q8etOShudO/KY6SDNPXykawBbHKe7v86uDZkW2q8i8Vff5REjwNY+RFwEc04EyfVPEjv4DLh/sSPICW2+Hn8k0fQGyA49Dxzpw18qI55VAHGf0EJEGYZV0jQMLJF5C1p3Nah910FZd4YNuxdlVR184xxDmhXgKDBqXH6CyeGp6hvKIdvqQpNxhoRLq7RRwdHUOnatZtYRfGKk2q9aeJbAkmpFFaIVpABbkriMY/2ZCrfU6zDPTpjYqV6QmwYaVXFFaFE1mGet2xCzz25pUWh1PVxjAKzmt2lrMqjng/YNry2iFBqq3vIzCRM4R9QERq5GReW7g2wWE89oLbI1vVs70TyBL4CZOvcNJIymouXzqx9WGqggh3MKKZrgXsmz1obLMR+CWJ/8dhRDb0XZponuWHWT2tCjxoxZy9Evm2Ky66ERCUGaGJbfqLp/dMomtKV3lMvWQTGEXy91L6v9FBv2LQq5mY+3pb09PfT6NjMTFoM0AOHcHe0m58809CPjltY9uKk8GVVHFcwwsa97nrG34s4RkBEiU1QW0ufVkFnZ0k+2vprxyrSC3ZYPFqJg+h6o+WD9QWzIU9yPbDHaoJuZabJEcA+ggGgYQXq+Fxy+qzlZH4yqNZ7iVzRs+LC70ze/g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(346002)(366004)(136003)(376002)(5660300002)(38100700002)(54906003)(6916009)(4326008)(186003)(2616005)(316002)(31686004)(36756003)(8936002)(8676002)(66476007)(66556008)(66946007)(478600001)(6486002)(2906002)(6512007)(86362001)(6506007)(31696002)(26005)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXZnVHpUczBwRHNrVDZPdHVnaTVKeHc0QlJRVzlndTIxQ2VKR2padlFIdzRE?=
 =?utf-8?B?RUdiRE92WVRYcVpXM2JXY29hbGkvSngyVTBHcy9SNVdFN3ZvYnY5UmxjMnUz?=
 =?utf-8?B?WG80V2xGVkJtc1NReUxWV2NXNHZLNld3ekR1MWhFMDlIdktyaEpZY0pYdE1o?=
 =?utf-8?B?Z2J1UE5GMTY2a09GRytDTXRZY05TZkc5T04wSG9DRjNEdXI4a05WR0FOTGln?=
 =?utf-8?B?UUpEWEY5L3B2dHpjVG1EbjlNMXFoMElSU1pGWnVaTTE2Vi84ZGJJbXJ0eGJr?=
 =?utf-8?B?LzQ2RVo5bGRvN3pkWHhHT2lYUHh5RXZXV0d6TXZ5ZGZWMU9XN0Y4TFBqdTZw?=
 =?utf-8?B?Zis4UWpMZ3JJSnk5c1ZwZDh5WFNEWG50NFAyVEtTajVBMnQwY0c0b0s4ckFC?=
 =?utf-8?B?UnBUVDY5bjRWeVV6TUhHR1ZyaUNNaEVpSm92THhaWTQ2YktrNy9xQ3dpcWl0?=
 =?utf-8?B?dGdVWXBkMU5lZ21JdW1TUDIwOTVkU0JLZHlLNmRjNG5ML2ZQZ0h4d01PTzM5?=
 =?utf-8?B?QVpIS2t5cG9FVUo0Y1NDMk9NeTZnajZVSUVvUFF1b2s4d0IvMFpwMDJMSzRa?=
 =?utf-8?B?aUMrN3R5ZWU0YUx6VHRNTnNleTBvVVNaNjNhM2JHbE56amVPZjhtYlh2cm0w?=
 =?utf-8?B?eDdFWC9wcS9KdDRFaHIxelFiY3RPS29kZk9VRXgvY0tBSU5qeEpMcVN2UURr?=
 =?utf-8?B?cWVibEMxYUR4ay9UVmh3WEFoZUpFNXlzME9pZStGOEFnTG5wUEtZeUNVaWhR?=
 =?utf-8?B?TGxlNDZ6cU1TK1N3WFhBWjB2RDYwcUdOQWxnNDZDaEV6RW16Rm1MdW9ZZFdj?=
 =?utf-8?B?cUtsWEVpVUZsSllIckYwMTlvTTFmNmpPdFVobm9DOCt4WTJmeGxpeGVVMDgw?=
 =?utf-8?B?Z3AzT215TnlRVkt1OHkxb0FScCtkdit4ejF1UFlJUndvSEtldko3Yk1KZm9D?=
 =?utf-8?B?WEFZckhtNXZVT0x1RlZER0NzanUxTDNKa2MxU1hpYWp0dDZRTGZFN3R3MFI0?=
 =?utf-8?B?S2c1SVBJa1UzMEZzR0M4UldtcysyLzdFZHN6Z1paVDA1bmlSM3hUNFZtcFhp?=
 =?utf-8?B?NVYxT3pEUGNhVEtnOXZRM0NlNU91ajFMOXdHRTdoblVhNm4yNkIzZjhEQWtm?=
 =?utf-8?B?VmtvcThEMEFRSE1TeWQ5Q0J3aWJkUTI4bnk4TjZzUUwzQkhFQWFiRmxYNUdx?=
 =?utf-8?B?LzlrUU02eVdPeGRaYWFDM0tzWWw3YUdMWnZ3c1hDck5LdUxiT05HZXN0L0dE?=
 =?utf-8?B?Q0RjMkFkdUdkN2ZNQkNUeGt5YlZraUlNYk9VQVV4NUpXVXFVMTVoMklSZzQ2?=
 =?utf-8?B?NERZKytNQks4QWt4amtlUllsRXdnYWhWMEwrcDdBZG5JSS83Z2hqb2IxSFRr?=
 =?utf-8?B?VTlDSDJ0SlduQzVLUXh3OGdiclRkVEdBalErbVg1Ynp2UUdPVnI3TWtPUEFP?=
 =?utf-8?B?OFM3NnJaTXkxNzV1ZHd1RGFha1QzdGZmU0Q2dkZibW5PUXYrdHFGVi8vN0ZJ?=
 =?utf-8?B?V2w1TmsxdWpPSFNXNXdCaVBFeHcwOVBLc0RHNGliWGRuayt0T2ZKM0hQaFVx?=
 =?utf-8?B?QVpsZkEzdEdRM001dVFGSWpYTXlNMTAybU1QK0tPMTNMSlFiREtZbS9FblRF?=
 =?utf-8?B?WVJ4ZG5aQTd3V1NHczUvMTNPYWcraU51a0luWGJLNkxwcDJ2T1FUS2htajRz?=
 =?utf-8?B?WGFDczlDa2F5NktQb3lxdk1vM2JOZzB4cXVlTXRnSkllOUF0Y1IzMStuejAv?=
 =?utf-8?B?UmNMU0RWdy82QkE0UkNjRExTbUpuRXN6cmFlVFlZdFJhR3I1NFpxZStNcEQy?=
 =?utf-8?B?c1Z6RVgwN0tZSGdWWVBiUmZFcHZxUlUwVDE0SGZRdzFiVmVaSjRMdFNMRlhZ?=
 =?utf-8?B?RHJHNFFOaSs5K3J3Yk9qQ1krNXZsellSbVpSaWczMGFSV05xanJqY3gxQjlO?=
 =?utf-8?B?V3VNTlZ5K0xsbE02V25EU0xhK0hOMU9PZXVmVmRDdzJHU1ZpZGxtc25IRDZq?=
 =?utf-8?B?UEJJelFuN0FudGVFbk43UzhNdm5XcmJVWEJPeG9Ja3hPQTBZK3RGdWRnWDlU?=
 =?utf-8?B?MEE4RjBtL05Bc0lPTGgxbDY3Tzd4UTI3dlppSSsvWDYyZUhBcXM2Rm85VUlG?=
 =?utf-8?Q?ocu6JeLHUmhr6f/3EkgeLnP6o?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa497d8c-a79e-4178-705e-08da81b731e7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 07:48:24.3845
 (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: Z6C/yHYTRWp5ZO/oEl7v3fmHUjAr+gaRk45ZCCwve6sz+3OdWNrCEGRKNvDt1j1PMw5JRwpGVDta9iV4o3UsWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8122

Note that while the original Linux code has the same issue, I don't
really fancy sending there a patch similar to patch 1. That's because
my XSA-307 related "make find_next_{,zero_}bit() have well defined
behavior" was entirely ignored, so I would expect nothing better here.

1: correct string.h functions for "int" -> "unsigned char" conversion
2: tidy the memset() macro

Really I happened to be looking at the memset() macro, being a little
surprised of the special casing of 0 there. As a result I was curious to
see how much more efficient __memzero() really was compared to memset().
The first thing which actually caught my attention is that part of
__memzero()'s code lives outside of the function (i.e. ahead of
ENTRY()). This saves a branch (and interestingly memset() does _not_ do
the same), but (a) renders the ELF symbol table somewhat wrong and (b)
leaves debug info generated with gas 2.39 not covering the entire
function in the new subprogram DIE that it generates (line number info
and .debug_ranges are correct nevertheless).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:49:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390053.627236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwlS-0007vn-0w; Fri, 19 Aug 2022 07:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390053.627236; Fri, 19 Aug 2022 07:49:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwlR-0007vg-UB; Fri, 19 Aug 2022 07:49:57 +0000
Received: by outflank-mailman (input) for mailman id 390053;
 Fri, 19 Aug 2022 07:49:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOwlQ-0007vW-Nt
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:49:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2066.outbound.protection.outlook.com [40.107.22.66])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84142997-1f93-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 09:49:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7655.eurprd04.prod.outlook.com (2603:10a6:20b:292::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 07:49:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 07:49:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84142997-1f93-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C9jU7UQEEEUBuISkTU24kuI6qDygnXYuE7GakadlFbfV0cz37IT2cS/0aWR+86ld7oHVuUwYS63h9DIbpG4/lhGDdeDfRLciVQNpuNBE40dO4XbPTF4555lFUCzdISQKoiQqBzD24nQPVb3DWalQQz+rXkx0OPBhvPLBJdaamr6coxDwaqFRUM/jvpcJyBUd8Z1TBg7BAb6dLUF6F9ou41D8s4nvzgQPJMG26tvfEBxwShetsKGNjprYFi8WuxMBP7tKD4+6l5hmgAM463ZeVbAVCySO4DPduPYickTpisuQmnT3QlXwm8YvTgAU7IpnEwVSoajgcAnHg6MWEBhtnQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A3RXVG+eaVf926YK1W8KCyqneq7P2OQCjFonkAYO/ek=;
 b=PdN3cI+DFcv5swa5LDbGUulF6aVcsrBunWFFvDAhaJajP8IIG7wTN+RM/fn2grfOyEWb5W4MPjCs/oKHmCcteq71UrShO4613T3ZPw46YLxKyvjJ/ft/I88nH7ZZGfr54WmBtLFA4KfVQMKOu/9gyV9Uzcvd4P4xyVkEDT+CzUMKlnCuW4nZ6ZFXcxWTJR7kKV1Lv2x1jMElrDFddYsDqrgmixGLw8TL5+ajZoGE6ID/Vpakp+0A37DKcPXJJiY3L5DNotvFoDHzptUtF3N5FORiH6NDJ2TBhvNFt+lqjg50+lC8yAd7qXyxeD4BkVQg6VXriSR6Bf9MAF5gqd5pqw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A3RXVG+eaVf926YK1W8KCyqneq7P2OQCjFonkAYO/ek=;
 b=c4p6p6dfmKIqv6Oh6uCVrSbzLasSdgjRyQEhkcl7mZqJ01aLPbkVIgvOhXCcUO0T/tItvJWLvclATKUOl4yx7V6pYGS9o2yeCGmjgtSHj4iahI6dd1B6Lan9TWDj+U7BnXpRLH8CUfRbnAi7qteDP/vPfUQtazkIDjK5TPS1rKbHqPmL9A1dcGm4dKrTs2U/SiL2H3uBnnsWceo1FZT/nf1NGNUGY3/CpAKQGf6s+A5WnkMh/e286WLKyFu7vdQ7o6AnNcnQCKW5YOlApWWySFO8GzpMsMX/6ouNlpbxnMbGL1NK6M9EBnKXmUud3xWPmzulxSrDLaTPl0IgfXV5GQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <14e9bd8c-3f4c-4d7c-401a-c9de7b483308@suse.com>
Date: Fri, 19 Aug 2022 09:49:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH 1/2] Arm32: correct string.h functions for "int" -> "unsigned
 char" conversion
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
In-Reply-To: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0133.eurprd06.prod.outlook.com
 (2603:10a6:20b:467::34) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dfe121e3-f231-4bf5-f7c4-08da81b76724
X-MS-TrafficTypeDiagnostic: AS8PR04MB7655:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nx+akOKrmMn8xTe0LC2hdtELXOYglTRZ3zFvyGw6skJhN6Kuj08AQIO8f531eMu5QgXLO/RXE1hyEmBYDDaRLRJFZ3w55UF5Hbj+vun2a3NsGkVu13fgqn4kSe1vrt/conqMpoZkNl1vxp7PRnuqPDr6cxPjQyEtBmwm4nnvPri5aewlB3sCYivEuqIY5DJ+OsGrcXGm6SSfyRH8wpnAJh8FfNs462EQD7caMwJwYsoVFTLUaejoT+AZLhXOXfU/RtiVk1kAt+BJzH8cRdi04N4FFBEpEX8s3vTqvv5UgJZP5PnL6ARR+xRug6VaRIqIAS9Y8oPczDOEGyhDLRmDXbkqgEqAFbiw/JhCiouOc7aM9xGZitxAP0VaNe2RDrlS6APk+DQr9hHrgLONiQKflT36JqbqFe0/P6xMeYOxaioSF3LJXvrZ8Y6nZideq3PIZbURKQnN+cENdkde1luQHZphJ/+Fzq+cuEClQzDZD1CNn0ciJ4rXGqb1JR2YwOW2D8qfCQY24k0YzudBAdwoQbNNG2UQR9Q5IDN9cBe0wZH4E6JWjX7lXijJS2IL9M2/i1Q9fhYQdNZTmevr5DHyJ67MSYcarTvpbso2TEJ8vOeeEAJS6Jrn+40wBR/fSv4rJSvYQcbsF7AXfZLSuGioqjDfR+QkqgLqzjkh+iNQPN4UK/bUhpwbZurtB2S4JgG4EEBtqxNJ68YDBn9DuZauCRwLO3QBhYtH5x7S/5Hw+e+G1gyni8s60Wp146RkN446iz9Yy7EZ7WgaOVVdIWeRVgHySbzvbecq0LZ63xxI3e4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(346002)(39860400002)(376002)(366004)(6506007)(26005)(6512007)(86362001)(31696002)(41300700001)(6486002)(38100700002)(478600001)(2616005)(186003)(66476007)(66556008)(66946007)(54906003)(6916009)(5660300002)(8676002)(4326008)(316002)(2906002)(31686004)(36756003)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUFCU3JMaUw1NkYzYWV1b0pSQmJ6elh0WXRLRVM0RnRoTGVrVEdPOFF0bE9J?=
 =?utf-8?B?RUhKY0xFOEdkc3pkOXkrUTg1dkNlZmdEdGFIUkRXYjhraDl2OXlpUHJPK05V?=
 =?utf-8?B?ZFhFbXhOcWp5OEcxU0c2cmlzTzlVTGFTc0xMWk9LdzBrQi9sZ0NuRmh5SkVO?=
 =?utf-8?B?WDdMYmMrODJjSk5ENDNucnlaOTM4WkFzQUl5bW0rbnVObi9xQmVzTU9PUDdi?=
 =?utf-8?B?L2tiQTBGcGhoeG9RbUJxK25UZFZvdW9SdUpOc042WVZTYVNRK3JGQW9oaGtY?=
 =?utf-8?B?d0R6Wnl3VlkwRmJ3QW5iYWxzVTJXSktTUzA5YmVKWitTRDM4QmJBL0JiZWM5?=
 =?utf-8?B?UjFVbGV1cDI1Z2FsQnp6WFlWTUdoZFVXbTB1ZlFod0VFU0ZBd1hyL1FPcjRV?=
 =?utf-8?B?L0JEa0ZEeTRzeUIzNlBSMkpSekR4dlI0MTgySDVBYkJaYmpSQUdzK25OekYw?=
 =?utf-8?B?UXVyWWZoMVo4ZVNsU1JaOFZQek1LRjY5SHFyUVpIdmlDN1dySDBKQUoyV1Ja?=
 =?utf-8?B?dDRCT080YlpSVXJLMHhnTzllRkFNQVRqREVjRHJlUWNlTW1SMGw2bnFTdnhs?=
 =?utf-8?B?T0k0Q2pTZUd6dEhDSFZYVFZ2MHl1eVcrTDdMdG5QM1JQOEJ4ejdXZkdubS9V?=
 =?utf-8?B?a3Jac0hFUmtPSS9MMFplVmZpWWtJS1h4UHpucEpSbGhHRjYxSHZmSFhrWHlW?=
 =?utf-8?B?M1ZhYXFQMmpRZnFyUngzREt1cDkzUmx2NVdEUlZaS2VKOVBqSWw4YlpTeWNP?=
 =?utf-8?B?RHJmNTNpSGtHT0haRlU1am80Yms2OXd5OWc3cThtdi83RENvQmNnMTdGUlJn?=
 =?utf-8?B?Tmd4WHp1RW96V2xha0EvRzRSeVlSeWM2eTI3R2huaXhHU0hjWVdtY1lSeHVL?=
 =?utf-8?B?RStKZWxwZVZCdXAwWk9xU0VaYTZKc2ZOWVFSNXlSaHI4Q1JXQk5nWTgxVFhl?=
 =?utf-8?B?TldvRFpuZXp0MEIra0NKSGx3WjBnNEY2RnhSU1RlY1FpcWtGVGxaWk4zSDVa?=
 =?utf-8?B?blhkakJId0s5R1BPa0JRMmF3T3ViRWRXaHNWcDNjOXJ3c0tKS3RPK1FhbzBo?=
 =?utf-8?B?T1RsY1FzcFRMRVptcDJseW9NYW1DZWVya1U2allHN1RJSUpYU3N3M2MzaUhX?=
 =?utf-8?B?QThsNWw0czlzNnk5MUNMdHhGcFdxYUIxQ09tUEZ1S1ZGdmtGa3ByS0NVTXhP?=
 =?utf-8?B?T2FHRWFwVmhKTENuQTdSUG5vT3VWOHRNMjRuUU5wS2VFeTlvL2FtQnVGVmRO?=
 =?utf-8?B?cmpzQ3Y4bzhKcW1nZ1BLMzQ5L0dPMDN6V2tKQjR3eWdkS1owTExZY0hjQ2FH?=
 =?utf-8?B?ZmhxT0pQMzk1bjg1alhuRnRKN2Z3QmVjdWg2elFlWW9Ueld6dHlqN1E1b1JG?=
 =?utf-8?B?bzc3YlhNNmVKellhbDFpT3pxVVZ0WUVUbGtYd3lQd1RkR0NaT1BuQnlOZDQ2?=
 =?utf-8?B?OUFmdlhzdFgzSEhpT05hN1dGWDk3dmdPRXUzT1UyeUNEc3IxZFo2Vk9TVXBW?=
 =?utf-8?B?bTlXZnZXN25KWnYzOHIxUjM4VjRaaVRWWDAvbDZPazBOK1ZIcGFlcDQxbjdr?=
 =?utf-8?B?bGg1S1Q4UzI4VWd4S0ZRTENxR0hCRlRTMDV3YWc3b29aSDhQTHRFOVA1M0RO?=
 =?utf-8?B?RHlPcEhtNjVDeUtlcWtlV1BsWXdQd1c2OGZOa1dqVXQxQjNCMTcrT3hrNjk5?=
 =?utf-8?B?cisrMDVBbldBelRaRStIV0NDMGJTYXI1VkI0cU1nQ3d4VE1ET1FtMndtMHVh?=
 =?utf-8?B?QUtSTWVVVldEcnRSNTQ4K082cnYwRFZBRWlXL2VnZUxSeStIa0pWd2dlc1JR?=
 =?utf-8?B?T3Bud0FONzJkVGp3V3B3UXpudjYvNTRFWloyT0J5WWprVlh4bTN1UmZhZ3ZD?=
 =?utf-8?B?TjRCOFpocGNhaVNrN1FZNEtua1pqY1pqelp3bHVGNlFSbW9vaEo5WWdBVURx?=
 =?utf-8?B?QVdkRjYzRHpScXZxNTQ2N05CWlJ1Rlo0emhPUi9xTWZnelBlS3pYb0xaZkVk?=
 =?utf-8?B?c2g0WlVBRWVTV3pEYmliRHo4YXVwYWUzNUNJS1FFcnh3bW90NjBYUitKVmht?=
 =?utf-8?B?a0lRUjk0RFl6M3ZDOXQrdWZqa01GZDFZMDM2bWdteXYyK1hSek1YZ3ZNemtp?=
 =?utf-8?Q?08kjaoy6T1n9l/V3LS2hoJYO8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dfe121e3-f231-4bf5-f7c4-08da81b76724
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 07:49:53.7226
 (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: bcOMmDrAAJ0L0pswp0m2bQOVN0hLfXn4KS2/rL5TeZhRrb0F8haOzk2tJe4aRnEowh1/9wFfytcaR37ptaJBXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7655

While Arm64 does so uniformly, for Arm32 only strchr() currently handles
this properly. Add the necessary conversion also to strrchr(), memchr(),
and memset().

As to the placement in memset(): Putting the new insn at the beginning
of the function could perhaps be deemed more "obvious", but the code
reachable without ever making it to the "1" label only ever does byte
stores.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/arm/arm32/lib/memchr.S
+++ b/xen/arch/arm/arm32/lib/memchr.S
@@ -14,6 +14,7 @@
 	.text
 	.align	5
 ENTRY(memchr)
+	and	r1, r1, #0xff
 1:	subs	r2, r2, #1
 	bmi	2f
 	ldrb	r3, [r0], #1
--- a/xen/arch/arm/arm32/lib/memset.S
+++ b/xen/arch/arm/arm32/lib/memset.S
@@ -21,7 +21,8 @@ ENTRY(memset)
 /*
  * we know that the pointer in ip is aligned to a word boundary.
  */
-1:	orr	r1, r1, r1, lsl #8
+1:	and	r1, r1, #0xff
+	orr	r1, r1, r1, lsl #8
 	orr	r1, r1, r1, lsl #16
 	mov	r3, r1
 	cmp	r2, #16
--- a/xen/arch/arm/arm32/lib/strrchr.S
+++ b/xen/arch/arm/arm32/lib/strrchr.S
@@ -14,6 +14,7 @@
 		.text
 		.align	5
 ENTRY(strrchr)
+		and	r1, r1, #0xff
 		mov	r3, #0
 1:		ldrb	r2, [r0], #1
 		teq	r2, r1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:50:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390056.627248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwlw-0000m0-98; Fri, 19 Aug 2022 07:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390056.627248; Fri, 19 Aug 2022 07:50:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwlw-0000lr-6X; Fri, 19 Aug 2022 07:50:28 +0000
Received: by outflank-mailman (input) for mailman id 390056;
 Fri, 19 Aug 2022 07:50:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOwlu-0007vW-15
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:50:26 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130044.outbound.protection.outlook.com [40.107.13.44])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95a11e3f-1f93-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 09:50:25 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7655.eurprd04.prod.outlook.com (2603:10a6:20b:292::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 07:50:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 07:50:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95a11e3f-1f93-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B46+e6JIEynXpj2p6Bbt4Dy3Fx34r9h/JKIBe7czepM3fBPBow76H0Y0DAQyNr3snu0c9e1VfqkIHrVcx85OD8Bp7iM9Uwbp4S54ssWUJ+xqzryBJieultmZ1QgZoGgk8CZJMOIb8MSnerCmID/m1ggNWAPcgsEdyKFdCSFSXc4+O8vEIx2A1/cjlZtL0G80a3BuWVKRRILXCg4lY4fIf4fb5+CQPLQXsixSfiaYnO4Dtg1ksD0k44tSpdYXQjZvR922SjNopLcNJBOEzCMMeR4QcJmF1AMhVszeWk0/bgiCrQ/jtgZdN/wjJnjZjOVkWFCOHC/kLNTjf61iW5Xm3A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bflGzSbGwtVrTpLswCHuwtkvvy0efCiqZEXeFBXqy0E=;
 b=kVY3FQs8KXWB/lgbjdkR8FMrNbxHUX/GqBaSa2/+i+4aEwcq0evnv6jj7i7gN5Ugd+BkaPGftKl+VtzfPKjx/QACfW5bjc9FVNC6CmfNpA/alyuCEw4r22TZDFy/R+Wcet5GQv/WPj2kqf2ircPxwPeNlvvr6BU4k+yjs/nO/L/Rz46SJkdxGJctKRkGaq4AMCiTVauMio5VSO/rzSOq8Obnp5Z53qm66GYQVqdsjRTgsHaSVwn0ahmPX0SHVNcfD7lqnZL/ZyR2/YNXPu/cx7ePAyAOzaRfTnh86Xbf+RspuFoQrOykIcMI6m7B3PAURjkJyYbpM4H9Friy3ErkIg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bflGzSbGwtVrTpLswCHuwtkvvy0efCiqZEXeFBXqy0E=;
 b=pDW2YXkVqDFKeLkmOdDhe5QnFXFYAyde5DiYIdgv8HT0uHNzVeBdybAt0LSBXkDblBWsgoYt1perTxL8RdMBWQRl/qOsM9utNAskqlDuyYl9n4us5CSuPOOj3QSGKNjC1tBhgEXNtr5/c3oIe0WkmFA7DMzGOT91Y9tLrjGut4S97SSM/EZTisnB/J5/KuOH/4vvlJIP1qWstltkkYoLxVZSPlCBBTYBqv6NjUpwoOvPrZA0BOUJmX0Ahm4RxeMSb5HnVtRt/y3CZ9E5HEaRXsjWSrI+L9H7cH9VY6G6bpfFt0dZ2QbvnOT+9H8eM20FU9wcQQayaIr3tfOs+lVm5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
Date: Fri, 19 Aug 2022 09:50:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
In-Reply-To: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0143.eurprd06.prod.outlook.com
 (2603:10a6:20b:467::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8b181504-47f8-4ac5-3c00-08da81b77912
X-MS-TrafficTypeDiagnostic: AS8PR04MB7655:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1r9bfw6x3k78h2TlnQ1Bb+RdrhLC5o+sLHxkY7ONxK8Xe7zov2f+3N2ZvfU3lVSXlUHd57soRKczzijtU0mElWMvdRnnhrPqNHM2ulxkk69fcR/XOl7kC/8zPC5jtBf97mDmqn/BCs9XM8U1oB+M1STWOtsTXqtu6y2VZGCwIxl3liGnwnivhPd1ZBsyusd+1BITa0B+QQ5bZsnEjIi0HWYr+CGNmiPDc8AMLxzzbQsTvpbeSWo2wkoHLCtVaYdIixLgdlDCGKiwFn7bfbkIXhAxxPKB4GKE2b8gJMv3bBIoCxHIOeDcNaTP4u5Dmiko2XiyeKrI0qUsIpW6nxMJBA791BU+Ej/JJBgfHkd17fhIDPS3giSCwFA1BOKwZYvwvrMRV2baPBaElbzLK4ES4yg74z5bqmK6ua0wrpniby2MxcLneoq6D1WzCzocG3+1zZI1Frqqa0bq7OaVPIna2+miaB4f5zaXvtiZiEdlZfgO1nDJthZ8gxaWk7xV6/7Lzcvoe0b16+a8FkzpyJXWOO9geDlTwt0VQcNJfnVrrN+a8x+AvWCi9vh7Wbk0IDrfsjxJR1XzHAsZkxuuPupM4wKO/sqcbCHE6TjC4YU9GenheeuznQZSrk7DoexuxEffA9jhEN9my+AgNIZye6XV5vLCzz4EZPcwNGfCRWaxcjrF7a0HUYzVSuKJ7GrXlFE4ttzCRoOPdDBjE6rD3qV05IkrYzAVVDQA89dOz0NIwZeW7fg40HDlletRIfIfi6rzQmHHdc3V/0FO8FCYSZ6XDqSktW8XIEQUJJtr96e31GM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(346002)(39860400002)(376002)(366004)(6506007)(26005)(6512007)(86362001)(31696002)(41300700001)(6486002)(38100700002)(478600001)(2616005)(186003)(66476007)(66556008)(66946007)(54906003)(6916009)(5660300002)(8676002)(4326008)(316002)(2906002)(31686004)(36756003)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ckF4TTh5NHpkc3QwZGZqeTh0Mi95MmdiU0d1S2J0K0xtVVJUVGNJNFNmYk40?=
 =?utf-8?B?cng4UVM5Zm14Z3l0TnRFRzZxbndRVlRXSlJsN2thLzAvRjJQMU43THpCaEtv?=
 =?utf-8?B?Ulo5SUw2UkROcGhHWUlvL2o1ZDNIaVB5eVBoaitwQlFtZnpkRWVYVWFmNnBr?=
 =?utf-8?B?K3l2OUhsTWZtTFpSTmRmb2g3MEtEN3gwaW9IZ2dwMFNCYzZmU0NCd0wyMi9o?=
 =?utf-8?B?S3JOcHZ0cmFFK1QrYlVTVDA5NUZnek9lVFlKZmQ0OWN5Y1NvRUNCRUN3Tysr?=
 =?utf-8?B?ekZqMWs4S1cvUHlwTnF1ZHRNQlRQQzNzN1dsZnlSdmNFY3NCbFpNWGoraFB0?=
 =?utf-8?B?WjhOYVI4eW0wNEkvQmVpS0Z0R0dmYjIvVjVzMFNuRTZ4Rkh0Q0VaY1paaUJL?=
 =?utf-8?B?c2RMWlZ0TXpGdmlwd1BkdkVNd2tqUzJjU1RhS3ZtNm9XV0ZtNE1LS1pnYllB?=
 =?utf-8?B?MVhrS3FpWlh3bUEvYUVjZVZvcDdSY1l0UjdUajdwYTZ2T0FGcWlOYlhYNzc2?=
 =?utf-8?B?ajhkb2VaTHRGbjJFNy9sS0tJK1dENVdkNVovcjh6WGVYZlY4QmowNmZmVW1S?=
 =?utf-8?B?aFFSaG1DVFdDei9lekc2MG1lVzUxRFZrbWR4Wk5oQVppQ3J5dlJIcU1BTng1?=
 =?utf-8?B?SFU5enhMRzhtdSs0TUhwMHNjcHRFUm1xWWdaU0o2eVJOaTRyQlVWUzExKzFj?=
 =?utf-8?B?R0VXb2h4S1pTMkgxcm02TE9WbkJ4RzNaTnRrVXl4ZE5BRnNoR3F1SGNHNVl2?=
 =?utf-8?B?dEZVSytlUlQreko3VTh5cU40Z0tpekFIVWt5elg1Z1IwYjdjajJBdHg1bmh5?=
 =?utf-8?B?bm1RVkFUZFV5bUNXMXFiN1VoQzhkVllRaEE1elgrenQ5SUZtMXF5K3NWcUEx?=
 =?utf-8?B?aTV4cTlpNWxjOUhQbkJCQWJLVTVQYUQ5SlVkUFZRRWdSSU9zQmtJVGplNVU5?=
 =?utf-8?B?c3ovVkdrNHN3RGN5QnRPZXlPdDNOZDRVdWx1eE1wb3BrNGtwVlQ0M053dGRY?=
 =?utf-8?B?ZmhUOTVzbVpXQlJkZEtic0dIbGd3aWEwZlkxMGVDK3hVMWd0aUd3cnEvZEs4?=
 =?utf-8?B?cVc2UWdld01SMVhiUU1YdUZqa0Z6K0NJSU5JYXp1L0lHa1VZYjE5ZGJrTTVy?=
 =?utf-8?B?REsxN1g5Mzh6M1ZhRllBdHoyMmlSbkF3eUgxNGZ2dytaRGZRTUV4YXpzd0k3?=
 =?utf-8?B?M1R2b0RwWHUvemUza2FERmg3dmFHb0NHdFEyL01sYmhaVXV3M01kRThSMDV6?=
 =?utf-8?B?dWZPaG85Ung1SGlOdzUrY3pOTmZodGs0QnpBZkx1YmxsQjF0NTVSNUE2Vmg4?=
 =?utf-8?B?ZzNzMU5KT1AzdmRrS2Z3Y1ltQTlMakNZeUdrNU9Ud1lKTzlFZW1zZ2hsc1pm?=
 =?utf-8?B?R1hOQ3ZsRVpaWEoraEsreGo2WUZCb01hUk4vOEIvUHRHVlNFVHd2aFZGeE8w?=
 =?utf-8?B?b3owOUg5RmxVTGlqM21BMWJ2Mk9abnIvUGU0OW5PNy9iVEZheVRwb3VNUzhn?=
 =?utf-8?B?R2d1QVFHSWpWa0V3ekpHRWJJd3JuV1lDME5yMzlvRUgzZEZ4R3MwdXBWN1FH?=
 =?utf-8?B?bnE5akJLbEYweVJDRDBLV2NtUjdIQWswSVN5THYxNGZlblJtVmxWQzlpcndL?=
 =?utf-8?B?YnZuVEw3NXpYUXRKcEsvWGs4WGFBZEdyTFhadVlLWWgwZU82ZnpzWkZHbUYv?=
 =?utf-8?B?NGFVR09OYnhNN3RHVy9lWFVKa0plSXdJY016dThEQVAzb09EaTR1bkh2Y0cz?=
 =?utf-8?B?VkkyUm01WmV6TGVaenRZQ2RZQmpEZTQ1SCsrUjNhNUt2bHpLNHdZZkpHVVRR?=
 =?utf-8?B?MmFFTEdvWUhZL2VkMklPY1lHQlVwNjdPeTdPelp6M3BTK1Z1QmlRaFBKWUx4?=
 =?utf-8?B?SkwwU2lydFNnS2pXNzBXSGt0OXZvbUxaMkxnWkhKT1ZmQWp0MmpqN2NJcWVk?=
 =?utf-8?B?U3J5NkJkQnhVNVVqSkVuVjQ4Vk5KeGtuSFFYZnpjU2tyelNsM1VYaVZoclph?=
 =?utf-8?B?akN0Ky9RS29TVzhwUXVYbkI3Ny9HMWtMb0xUYXpvOVRBKzVGc2RsbERqNnVI?=
 =?utf-8?B?VGZYN1NMRVdDZjZIaWZoYTZtMEtGMEpxbk81VTRKcFh4cFhQNkl5Mi9LcC9n?=
 =?utf-8?Q?0/2ga6YfZA0zn3g+VAMKwkeei?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b181504-47f8-4ac5-3c00-08da81b77912
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 07:50:23.7989
 (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: /4R+5+5gycNrM7NpsEOJFu+cQTSk6MDyxYih7NePqJaoTi0ZwyjYUzpZtC6R+Mh0NXCEhmakqnUBKpJPa2vIEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7655

- add parentheses where they were missing (MISRA)
- make sure to evaluate also v exactly once (MISRA)
- remove excess parentheses
- rename local variables to not have leading underscores
- apply Xen coding style

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I wonder whether "if ( n_ )" is really helpful: It's extra code in all
callers passing a non-constant size, just to cover a pretty rare case
which memset() is required to deal with correctly anyway, and which
__memzero() also handles quite fine from all I can tell.

--- a/xen/arch/arm/include/asm/string.h
+++ b/xen/arch/arm/include/asm/string.h
@@ -28,17 +28,19 @@
 
 void __memzero(void *ptr, size_t n);
 
-#define memset(p, v, n)                                                 \
-        ({                                                              \
-                void *__p = (p); size_t __n = n;                        \
-                if ((__n) != 0) {                                       \
-                        if (__builtin_constant_p((v)) && (v) == 0)      \
-                                __memzero((__p),(__n));                 \
-                        else                                            \
-                                memset((__p),(v),(__n));                \
-                }                                                       \
-                (__p);                                                  \
-        })
+#define memset(p, v, n)                                 \
+    ({                                                  \
+        void *p_ = (p); size_t n_ = (n);                \
+        typeof(v) v_ = (v);                             \
+        if ( n_ )                                       \
+        {                                               \
+            if ( __builtin_constant_p(v) && !v_ )       \
+                __memzero(p_, n_);                      \
+            else                                        \
+                memset(p_, v_, n_);                     \
+        }                                               \
+        p_;                                             \
+    })
 
 #endif
 



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:52:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:52:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390066.627259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwnr-0001Ud-Ok; Fri, 19 Aug 2022 07:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390066.627259; Fri, 19 Aug 2022 07:52:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwnr-0001UW-Ll; Fri, 19 Aug 2022 07:52:27 +0000
Received: by outflank-mailman (input) for mailman id 390066;
 Fri, 19 Aug 2022 07:52:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOwnq-0001UP-HG
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:52:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOwnp-0002mB-JF; Fri, 19 Aug 2022 07:52:25 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOwnp-0004GX-CP; Fri, 19 Aug 2022 07:52:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=gaUMOV9gHh3ZP5vqAVQkvHf0gNfXoamg54eNb6z7AEw=; b=rd4sRACjWHp8XFaxCsTrKmBMSA
	oLJxEE41pfSTKNqI/E0ZwZ5Hmd0jRex5IXIKL3nhj/EAg8KeW1duXKR38an2MFbDSeI9nKUxxtuDl
	j3qGutUc7JS/5gV7lph5Gm8ErBwXjS6fkOLRMnASwqdluRhVafB/64JIbrKhvyY2fasI=;
Message-ID: <61b01c8b-1f98-e559-f971-f081a25e0b93@xen.org>
Date: Fri, 19 Aug 2022 08:52:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 3/3] add SPDX to arch/arm/*.c
Content-Language: en-US
To: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, wl@xen.org, jbeulich@suse.com,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-3-stefano.stabellini@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220818220320.2538705-3-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 18/08/2022 23:03, Stefano Stabellini wrote:
> Add SPDX license information to all the *.c files under arch/arm.

There are some of the files below that didn't have copyright. It would 
be worth explaining in the commit message which license you selected and 
how. AFAICT you assumed they were GPLv2 but I am not sure this is 
correct at least one of them.

[...]

> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> index f5f6562600..2537dbebc1 100644
> --- a/xen/arch/arm/decode.c
> +++ b/xen/arch/arm/decode.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */

This license is not part of LICENSES. Was it intended?

If yes, this should be mentioned in one of the commit message (possible 
patch #2) and maybe in CONTRIBUTING (to tell user to not use it for new 
files) because one could expect all the LICENSES to be listed.

>   /*
>    * xen/arch/arm/decode.c
>    *
> @@ -5,16 +6,6 @@
>    *
>    * Julien Grall <julien.grall@linaro.org>
>    * Copyright (C) 2013 Linaro Limited.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
>    */
>   
>   #include <xen/guest_access.h>

[...]

> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 3fd1186b53..b29bdf3aa6 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

AFAIU, the assumption is all the files with no copyright are GPLv2. That 
works here. But ...

>   #include <xen/init.h>
>   #include <xen/compile.h>
>   #include <xen/lib.h>
> diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
> index 71182575f9..47405e0866 100644
> --- a/xen/arch/arm/domain_page.c
> +++ b/xen/arch/arm/domain_page.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

.... this file was split from mm.c which is gpl-2.0-or-later. So I don't 
think we can use GPL-2.0 here.

>   #include <xen/mm.h>
>   #include <xen/pmap.h>
>   #include <xen/vmap.h>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:54:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390072.627270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwq0-00027X-6t; Fri, 19 Aug 2022 07:54:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390072.627270; Fri, 19 Aug 2022 07:54:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwq0-00027Q-2n; Fri, 19 Aug 2022 07:54:40 +0000
Received: by outflank-mailman (input) for mailman id 390072;
 Fri, 19 Aug 2022 07:54:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOwpy-00027K-P3
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:54:38 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00074.outbound.protection.outlook.com [40.107.0.74])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c4fb86e-1f94-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 09:54:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7655.eurprd04.prod.outlook.com (2603:10a6:20b:292::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 07:54:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 07:54:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c4fb86e-1f94-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VQU6dPVEDqp6IR2w+GP0QITFzPMuWVIKlPFoQOlO5FF+m8rxFK/cI9E5q0kSRuye82aKVncu8skmnxabyluZmWvpIJPLB/qgsnuQOEAoR2NFntZznJC8IabKbZSVkgW1n7okCXo3OsIm0NegrDKv6rfc2d9axPqrOoEgHjIvY9SzY3gQ5JyZbNbILJpf91CuiMUR3KImAmp2QK4xuN0VIicU1+zj+sImzzwAHsdbDbjadXiCJwoSVB50cAN0z9w/Yenzjg3v6LlHK0aK+RUExW9slJzyO11/tXnRcj+djz//h3hbpyqScPzxZe4Ei0npkDOQS2F13ycfWYm7ScGYIA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7d0nMZNZNvptAANXQERA/+RjLQ07WmWXfG6lDAfd9fg=;
 b=RSugumAcWDQF7xdxDW0oKjg9wdvpAvbAjiREsA2823ZGsP3RKBDG9e84TmnVWyt1cQyS/2zown0vEj6FesxEimuYCuu0rizmHZg9xo0rSZMMIbRVWJyrqFe5ggD+GjzyeIK/IN8+CTNJ+9K6cLOwhE5kIbWJ8ok6A7CNiANajNJEwv7Hzbx9hlj116EkxiwhW1WuwprMAowEW63Ql5X7LuyAy8bd/yQ+aLMW5NIzHUyZcksXR1iDr8m6XocuLr5zCLmfTLwXfoJ5279xQ8QWDOxgcTzsOalCGWcCOYE6ae1Fh70MrozJ8joMqg5mvkeEUrvo9k/OOGbMyQ/kpXnd+A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7d0nMZNZNvptAANXQERA/+RjLQ07WmWXfG6lDAfd9fg=;
 b=5zeIX9SmfHtTD8FuvCSNFxzqHEj1A+oSLw58Yg/JvEv910VhOh0/3uPMJ6S1qhn6yJWh+b0VmLsLGdhljS5Bkrf+GyCDcvqKrhOSk2zzucSLopCy7Dc+4bi4qNFQOFVP3UZ9FM5jROaoWjctyCf248g5PeJYWaRtMXPmAershquDoMw9SR+SB+qq2TI75TyYO57gp1rBgMZ7RTTwn6g5J5mM0LQPJyQM3xpFTzX07d0h9jSvXvwgI4r6Uzi8DRfTMdQg6Eri62PaN8TU5MumYC2wjicsCfzPGt4wMD5G4seBPnriRvaYpwd5hu5yx1Gd+oNcGkXvEMuBqEwTJesyvQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bf21b37e-c745-ef8d-8606-242c8ebb5955@suse.com>
Date: Fri, 19 Aug 2022 09:54:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 1/3] Add SPDX to CODING_STYLE
Content-Language: en-US
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: sstabellini@kernel.org, julien@xen.org, wl@xen.org,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-1-stefano.stabellini@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220818220320.2538705-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0129.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4162324e-05e3-4ad9-e633-08da81b80ffd
X-MS-TrafficTypeDiagnostic: AS8PR04MB7655:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XdaJtwCpNeQ99OFmr7cR+5GlmMClmLXOP9PKeV48HiCh9ns8rEnch8dh3gvIkrqOeP8MrThq1jDuRJ8wjjbdAEkPwtYmEKNyQSQ6Y2b/VVvb8GLaqthovRrpBLz+2FNnWGq4BLYyzH4JwDapemk2NnJhMdNb2pCuE1LTufl8mq8rhXKkZsvbnokX4KsVpQ3NXNKEp2NLgf5bVbDcSHBIPp7nP5GIYtHyArfaer8pPXQmpOr/pRoxCBPfUzZIrGrUDf1M79bRmmRopVlWdkgfeK4PWPAy/A2MdvkhQ0NFsbVh+MmbJ7xQN97ztAqN5ZPQM9Mx7tkJBp85j8QAVOcPDVe0yMk+dc6aMmxk4w5iNItmsfmJcmBHmOONi6Z08NIr8G/GsefZ6bS/6/FbCkMa34JbX88hqxQS2zeVRkLVflZqtw02ajg7ncxihT1vdGeEFuEaCfRBuwZXwgLZbKGeU1hH+kDHIwxCvuuxl6EamMXYhQNoh3vF8spdkXcOdfmDxnHrgHiPTLWkJTgh33Z/OHt99WIOBFsZhEsDTSyTk1xwTpaKMuNae0z/ah7xz6tfinmSdSL/4x/kHd6DjG2pItZMz8hpgHoIZJ+oq+uGFxyqeH7WGf7GzTOtIqCDPzkRFDE7BGmuhfGZbOaaJuvRKK4LkTn9mjnRhG6OfCQoC6JLXFaYPbDdghRAD34fWnqyyBX2qnGWqVv3/mJh4wCodY5dvazxYZy+5QD6OBbDrL2vFseVnUPcghEri36xq5Tl9YcnLg6YPPsH86zwfszAihJMwpZvoRBU4neqaOqeGHM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(346002)(39860400002)(376002)(366004)(6506007)(53546011)(26005)(6512007)(86362001)(31696002)(6666004)(41300700001)(6486002)(38100700002)(478600001)(2616005)(186003)(66476007)(66556008)(66946007)(6916009)(5660300002)(8676002)(4326008)(7416002)(316002)(4744005)(2906002)(31686004)(36756003)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3VrdnBDV2ZzQStoM1hxQ3lJU0lPNUF6d2cxTjBod3d1aTFYNmg3WGpkSnho?=
 =?utf-8?B?a1dJeDhLQjVzTGN0V1JwTmxoVCtDMm45a2w4MHZnZ0UzeVJXWlNpK3hKWEhM?=
 =?utf-8?B?dk9Ja0hKZ1dJejk0YXBlWnBmOFhKSHZBV0VUeWdtenF2RGJMRmZlenF1ZDNK?=
 =?utf-8?B?Z0dTTW9Yb3hVTGtZRGJIMlRDQ1dldVdWUTNGREcwMFFPdVNuM3UyWmJzZFB6?=
 =?utf-8?B?SHpwU3ZiNUFQR3VuRUtXd0drajU0T2V5NHYzc1VPNEJDcG0zVTZlUE9TcmFj?=
 =?utf-8?B?bXZvZ0xpcTVKcTgzS3Z2U0JqWVVQeHFaSndXM3gwbVJOTkFHVHdWb1N0TnhW?=
 =?utf-8?B?Y0hKR3JPZ3o4eGlZK2diS1JKWjF4a2d6VGQrdG5OTmRBNFJYY21XU2R4VWlB?=
 =?utf-8?B?MDhoWVZIcHN3VXo4a1FhOFhWT2E5aWQvUjJ4b2lsUktwVlBNS0dqME5pQ2RP?=
 =?utf-8?B?SDB6Uk9UYXIrSUxkRlhxQ3QwTEpmV05iOU1keUU2aDNkSnZRSFdUNEpaRGp0?=
 =?utf-8?B?dkZ6MTVxNFI5S3pxd1ZaK1dDNFNUcDdBRGtSWjRmcjRQa1RIM2wzYkRTd1lI?=
 =?utf-8?B?SC8yblZ3RVJNZGxaVzM3Y25lR0xJbTdCSkZlNy9zczNYU0p6c0xCZGlKM2Rn?=
 =?utf-8?B?OTdRNjlZaUR5YVA5RXJIWTc4cTFhTnQ3L1hGZUlnSzBRVHhoMTRwcHUrUksy?=
 =?utf-8?B?SkdMSnRPUlo4NEI2VGNINjZkaFl0REVjTkJUakk2WEJBeVFIS2tOb0E3YXc1?=
 =?utf-8?B?RmdUSk80NnFpR0ZTKyt2Wm16anV5U1pIRGJPWHQzbnJVMDVPMlowcjdEZEJG?=
 =?utf-8?B?RG15bFJNZlk0bVZlYUdKdGZya1liWWVST3VpWWNvRXdPUlJzZ1Fsa1doTHRN?=
 =?utf-8?B?OTZCY3pXVEJyVUlaSzBHSXc1WGN1WnRpb0M5cCsyeUQwVXoyYzFLWGE3UldU?=
 =?utf-8?B?SUYvdzN0VmtDb3hFUGtyUnNSTnQwUG90T3BmV0l0V2ZFajlWNFIwQmRUa3ZS?=
 =?utf-8?B?QVhXaVhRV3UrMFhqakdzbloySkNFSXB0ZisxaGN2T3RJRFNoaTZiTDlGUkxh?=
 =?utf-8?B?TVo1aTdiTXJxUXdaZGZNbDh3REhCVzI1RTErenR0NGMwZWw5UStuM0pVaFVy?=
 =?utf-8?B?Yy9TTVowdHZXdmRQNHFmMGVBQkNQQWZTcU9yZkNtaUJ4QVZmalZ2bWk3R3Jt?=
 =?utf-8?B?NTFJTnlaUkpva1MxVjVhK2EwOHM1SXJLaUpqNXFqRUZ1Z0dUSnhxekt3QlMy?=
 =?utf-8?B?VXhQODU5dk44NGd2dXJMOWhVeUlHeFJBSCtoaExTbFhXTXNWUkZBUUtpRWt6?=
 =?utf-8?B?ZEJXZTNoTzBQUXJtUUl0VFp4T083NkZpSEZwZUxGbjAwelhRcnNGQVo4elcw?=
 =?utf-8?B?b3U3Nno0cTlqRW4rSXZWM3l1N3BoRTNDZ3cwYU5FTnBSS0xnM3hFUWpSazYw?=
 =?utf-8?B?UW55L1l4ZXMzTHV4N084RG5VZGdKRVF2ZUhRbW9rVHVQRjlCWURxQXhPbWhw?=
 =?utf-8?B?ZFNxWjRlZkVuVmxhbGlLTGJZaUZVbWJ4NlV1NGZPZnlSczlMcXJDU3F0MEdN?=
 =?utf-8?B?M1l5ckE0dmVZRWwzc0dkcUZsWDRwTmgvaHVLWEpwNWo0Zm5lZjQvQlNSNU4x?=
 =?utf-8?B?YU10SWEwdnJtYXpadTdQVUtZRWM3NVdMcE41NFRFS1ZFMjgzS0wwdktqNXZO?=
 =?utf-8?B?dmFiczlVSUNYY2VPbkFUalo1TWJ5eFpGQzliVnIyR05xUktkY1IrYStUQk95?=
 =?utf-8?B?Wmg0ajJvZTlWT2FqakZ4cW85TE5ZZWhIc1VYdjZTMXRvc0VEUU4zTW9zRDYx?=
 =?utf-8?B?UGR0WG5LQUtDMVVRTEw0d2pHS0UwN1BKWFRScjBoUldpeW9UalkyMFVxZ3BE?=
 =?utf-8?B?aDhQSFY2c2YxTHQyVUdqNUJlVm9wSXBnQkJ6YUk5RFRpang1b1k3TEt3ak5F?=
 =?utf-8?B?V2ovNGNmUS9ndXVtKzVSRzBPb2xpSmRJSjFQWkRSZFB3enVCbU5vN3Jhb3FX?=
 =?utf-8?B?WDh3ckt4bXVaa3BmL2pwWFBsVmlwSUhMcWRKT3JqbG1JUEQ0WkpWTk43Ykoz?=
 =?utf-8?B?djM1LzdMWmVLT0VmQzNNdWxZL3BaYklmdXIvYnZqSStSMzBqVDF2WXFBYXpM?=
 =?utf-8?Q?kxHnoWE+lD6JUE3N2lXFj5OgB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4162324e-05e3-4ad9-e633-08da81b80ffd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 07:54:36.9859
 (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: P0lBfYS2ECzuVnybiWgqpTc8TqGUp3SThhZKQceH87ECttEw109hU9qdcv1bxXMckn1HlKMnMUVN5UbkkMsw9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7655

On 19.08.2022 00:03, Stefano Stabellini wrote:
> --- a/CODING_STYLE
> +++ b/CODING_STYLE
> @@ -14,6 +14,16 @@ explicitly (e.g. tools/libxl/CODING_STYLE) but often implicitly (Linux
>  coding style is fairly common). In general you should copy the style
>  of the surrounding code. If you are unsure please ask.
>  
> +SPDX
> +----
> +
> +New files should start with a single-line SPDX comment to express the
> +license, e.g.:
> +
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +See LICENSES/ for a list of licenses and SPDX tags currently used.

In which case this patch should come after populating LICENSES/.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:58:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390077.627280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwtk-0002l2-Ku; Fri, 19 Aug 2022 07:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390077.627280; Fri, 19 Aug 2022 07:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwtk-0002kv-I9; Fri, 19 Aug 2022 07:58:32 +0000
Received: by outflank-mailman (input) for mailman id 390077;
 Fri, 19 Aug 2022 07:58:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOwtj-0002kp-GW
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:58:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOwti-0002sT-Vk; Fri, 19 Aug 2022 07:58:30 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOwti-0004b9-Lt; Fri, 19 Aug 2022 07:58:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=kn9ZxPsXkZWr/JzYzSkFBNOT/fwV6hnHpjKxsORfKn0=; b=1KglysJ2zoFJQEmgfIFyzxlloh
	Ple/LSJs7IzVUVqdhfeAG/wh7IQvhS68fc6ftLkJJu0ck345TId5fqR+yC0FQzDMX66xoZAPWA97z
	ayCJkwz78kPPvaoE6XorjiCg0L6SY0bmLyQ5ZqJUzM+yaOYFYoQWzcuKp3fIFfcm3QqE=;
Message-ID: <6da837d7-4784-f517-5c24-2bbe6a2af2be@xen.org>
Date: Fri, 19 Aug 2022 08:58:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 19/08/2022 08:50, Jan Beulich wrote:
> - add parentheses where they were missing (MISRA)
> - make sure to evaluate also v exactly once (MISRA)
> - remove excess parentheses
> - rename local variables to not have leading underscores
> - apply Xen coding style

This code has been taken from Linux. From you write above, I don't see 
any strong reason for us to modify it (even if it is small).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 07:59:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 07:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390081.627291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwuj-0003KR-UG; Fri, 19 Aug 2022 07:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390081.627291; Fri, 19 Aug 2022 07:59:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwuj-0003KK-Rf; Fri, 19 Aug 2022 07:59:33 +0000
Received: by outflank-mailman (input) for mailman id 390081;
 Fri, 19 Aug 2022 07:59:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOwuh-0003K0-Tv
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 07:59:31 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130058.outbound.protection.outlook.com [40.107.13.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id daf8eab9-1f94-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 09:59:31 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6864.eurprd04.prod.outlook.com (2603:10a6:803:138::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 07:59:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 07:59:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daf8eab9-1f94-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MWbfvqxR/1iF7uhxjRX/rKzI21okdRgmYeDotACwkgRDunBaQ4K2Ha6A9wDeTVwn/8aiU/C469yWVxe2AJehGNlY4FuCRUIN6EwVbJHVNstypGm/vYAkgaKD6wsyTxAk/wWRK3Hml40gc77zWvNn9IYUrHLTShmV9kyq96C5MDZ3IkDjWlcBiK0k1qIMENt99y9ph0UldL4nCzRWi/e0tGPUAJqpMQsG01ktHCvMYNX1Pdh68p0owKWNj4oCsQK882eSI2MckJ9dS+ZCs7zuDAZvIhMLx7S7oiRVsC2aIpf2Wb/FV4Oo8IJ5vsni9f7FjD5oU1AbshfqD1MTIwnlTw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5Ve5o4lLxkQ+Thb31feEDXDXRKgB/+dn8OOmJlU4ZWY=;
 b=CAyKl6wxzNLUranOyf0Ar1STx3aZItAMkjKkiprz9qf8Uyl78krTPZX4e6BlhwrpA1JQyzU5STyIzV5d1FQxWH/qVGE2H1vU5pQnVyxmJRaDOOgbeApE2B4oji2IcFsPqiYOY8wedwOaR1mNC0P+kZ2sJ5YliLP5GQ+XEITXDZibseVsI2KBbimGFYKQbGcuEzJVbpDgT/IAa0UIqYi0ciSetmptHGqPzNgRb4PYuje6JRsMN3Fvf+OhG3RUQoMw6apwdqjh8Oiwis9Du1w6sJZkTwza56xdHXpjvvIedqaSYYq6u5RtSllHEGTTCMYZrsrBVAYFaDgFSDuXKF7H9A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5Ve5o4lLxkQ+Thb31feEDXDXRKgB/+dn8OOmJlU4ZWY=;
 b=VXOtlrB1XQOD3QFYy0Ea3bgYY7755oetWDmDZyneJXrUCttcvmFHxvfsLei9af210pC5FokhsUswnjLjkkdf4f4CZGbTGK/7YipOCkEYCh8kdTBVdtD+r25/rr+GV/+EPcEiqfFZ4BV67+YrCdNDbXNdtDa3u7pUAUcG6TBN+X5ohhqhwq/UETnJiqMlZ+LlOJksL9y8XRzGkRyJXDLL/uOO3l9xXtjgt0gSHS7e6AEQ8gh68TW4U+21WDKsrng1EEpfM2uLaXWHDYzfJXofC9gw4B8sUhLXfbsvdxxD5c5F3GZHUdwpyLBUJCV51m8jzpXCPhAdX4ORQHZVuXVR3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c3b8c742-928f-80af-3cf4-4962b96721e1@suse.com>
Date: Fri, 19 Aug 2022 09:59:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] xenbaked: properly use time_t in dump_stats()
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
Content-Language: en-US
In-Reply-To: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0167.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6349b19d-1b86-4d85-5cd6-08da81b8bde5
X-MS-TrafficTypeDiagnostic: VI1PR04MB6864:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KOEyULXbOIIMQGcAPjo/QE1o1BJQ2oezr7z1VN3ETjeWuTNzSYjv9gWxm0C67jw+XoXAfUcFeL37JqvuR6nNnqw4OKD71aJYNwj8LPORZBizbgM3bruM0QT49kJGNVIuiTewVRKosiXYA+dn0QU0GDbhYB+NAnTjaI2DHuk5mY2pOEoNKSS/ZBU9tLafoYOautOHgoVHg4bgQgS9s0aYxM03lAUp8NfHg1NU90hJanxv4cCV4KX3zKtaMstZ4q3F97YMt5Oma8cwoTZ55chHJQdPXb4WZkmqzJKE1Egm8AJmwgcUHLG5psZ9NkHi2Q3rEOqxWE5ylSY06tvSkXMZ54anbwtyTjszYp1i1dTj8tdTqj6ecItdEx1Sq99hUFzEhwBHwt/P0x30FUpt/Rm2AVMu/yWN4rW8hUq4VD0hTf6HwhxVJVxs28ZTRB+CEwILJw7KudFJhpZkfETofp65ZP4Y4t0EDRHerJzhL3SU9tno3v1UiCC0QOU0TVrvzlW6mV3aBYGaSe9zujQUnWe0gqs5l8tluB3jJAwin9izPPYicnpmBmEvDGHXVKe0F+14Ll16bpCmxcEYAiPm5w4G/HOELIR0Ogr9U5WczBY9E+W1YnYyHeGO5i2IAXQK1ehkMpJpB4hDK+iDi7qingva1zkq8dJOrNHpZqg6XmAF0yavkKOQXioc24KUkNi8LqBW1oiNLyQJlezoAr7Wg99cPiEhwGxeNXNfq04IG8ahsFqGJKQBUXglkGr4T5/1I6k6BH5o2/EcKyrtacHErPrrrRdtPJU7SVkqNzFwHYnP5CA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(366004)(136003)(376002)(346002)(478600001)(41300700001)(6506007)(86362001)(31696002)(36756003)(26005)(6512007)(31686004)(2616005)(6486002)(186003)(66946007)(66556008)(8676002)(4326008)(54906003)(6916009)(66476007)(316002)(5660300002)(8936002)(38100700002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZHlWNFp0SDF6Y3gwNURFTnNWc3JkYlZLUmY3YndWQnNpOWJHK28rOVlVeWpp?=
 =?utf-8?B?aFB0Rk1aQ28rUzVuQVFmb0s2aDd0TUwwZENaZ1Q3amNVd0VZa3JPZWpCdm41?=
 =?utf-8?B?SDZ5ZWgrWHNCR0l0WWZOS2IrU1dOR0IwdU9ld1ptUXB2Yk5INlFPK0Q4bHNF?=
 =?utf-8?B?aktBcm9ld2RaMnVLWWh6Mm91Tms1eFpOclNFbGVLMVBwNUlENG9hOGZJSWhw?=
 =?utf-8?B?bElnZ3VibXJSdGo1VmRhUkRxRk9qNmZTdWRmU0h4SnFqeWowV2hoSUFmdi84?=
 =?utf-8?B?cXRLSk1teW9vWE53c3BTOGRVR0tERkxKQ0tXTDRxTmVKNkVZbEdWT0JNS2Nz?=
 =?utf-8?B?RitidmhwQ2wreFpLMlh3bmhlSnJ5Z1VuUUhybVd1ZVNOak5LVElLV3JwRGVZ?=
 =?utf-8?B?QTNWQzBQbm1keHdmMjQzL1VIbmxkb2Ftc2RxUmdSOGQ0VWxucW1KOWdTMlN2?=
 =?utf-8?B?NHZvNFBvTFhqb3RlWkRzSE43UUpYcHZYckw3OTZtbFFiUHVNbmFtMnllSGtC?=
 =?utf-8?B?NUJIVUs3Ny9mNEVFeStuUi9IY3JIS0ZYY240MWRaaUQ1L0JENXN3aWtqRGNy?=
 =?utf-8?B?eEpIcUdtc24vTzRLNE5mUlRVSk9YRUpTdFVQYjZ5RkFCRUk1bGVJTDNUQjBG?=
 =?utf-8?B?UWF0VjQzaTlOVG5aa2cyMFlCOVZXMTBDTWw0SFJUR1JtcFMxdjJDUVZZWkE2?=
 =?utf-8?B?UmlYVXZhcEY4bkdMUmpTQVNYWkZ6WFJYN09nQTZNVE1MTXlTRSt2N2NjN1Ey?=
 =?utf-8?B?aGJNcGh3RDlkb2JWcXlEVjdqWGlvREsrdTZNTDVrRCtVTnRjRVVlbmZIeHZD?=
 =?utf-8?B?Q0Z0czU5enJiSEZBZjd4cTg5d3VHR3VoL202OGNPUVp4Wnc2bmkzRVBxNFdW?=
 =?utf-8?B?bXNDUVBDYUc5Rm4vbnFmYkVQY0MzY0dHaXliSVY5OHpjYllxZTNZWnVlZ0NZ?=
 =?utf-8?B?MGlkTzVkdE1jV3RmcGw2ZkVPN1BEUTlmNFFwQWRabkZiSDNqSDArOUZpZmNS?=
 =?utf-8?B?dHpaK1pyaDA3UVRhZUpGSHViejN0Y3FSd0RzdXNIZUtxNFl3MGkxZE5sQnA5?=
 =?utf-8?B?MUVhWFJkN1h3L0xyM2oxUXM5NXRkem5aOVlkajlUWEFZNHJFUWJ0YTFyeUdR?=
 =?utf-8?B?SnhoZzB0V0IzOTZ2RkZtUERpTjVGTWcwRm5STG9adDBnWW9kSVJXaXV4QzNB?=
 =?utf-8?B?WERTeTVhM1M2eHhsWUJkSkNoV3lHK1FKcVpybW1Ycjc1RldhN3dzV1NqNXRS?=
 =?utf-8?B?c01wOVlZdjJHZW5IUVZXcTZtQjZJWmVjQjJoUnA2VDJ4TUxJbGVIN3hWUHJM?=
 =?utf-8?B?RTZYRHFKMGhvNk8wU0FvOWlPTHNLWHJuMzEyMlF0dXp3VEdjZGRwTjNmLy9s?=
 =?utf-8?B?QXFsQ2VmcitYWHdVai9lRDA2RHd3MHU0YUJNWkNOV2ovVGt6RWZ0WGpXc3k2?=
 =?utf-8?B?NDhxMFhUbTBpZnRmelBVeEV6Tk5sZHJDZE5pRTRFUDBoMXhJZFI0dVRrc2VX?=
 =?utf-8?B?R0ZUSVlIWVBaL3Jpd3hLVk80cVpZRWJiZ3BmOHBoeHBTV3E1cmJPRld5R0Y3?=
 =?utf-8?B?ZmgzbkdKZWRzQm9mWDhZbFBJWUxGRnd3WmdHNHd4V2tnMERWaWxkU1FoZmE0?=
 =?utf-8?B?QzhHZDRNRjVwVmVhUlBDZkR1d0VLdXBPajVXczdtbnBtUStIdzR3S1lGZ0hy?=
 =?utf-8?B?VGdkT0dNc2xYbVp4OURYQXloVW1OMUtNU0I1R0loTXh1STZOTCtSVzFPWGJD?=
 =?utf-8?B?QjU1RGxKMlhJVmxnenpmN1FWYnExY2p5R3dDanBGQnA4Ukk4RWNvdmE0KzVs?=
 =?utf-8?B?OEQ0U2hENTExam1LMXlib1ZzSWt3QkY5YlVRcThnTk1rTEkyVEd6cVhVSm9D?=
 =?utf-8?B?bnVTdVhITFpQMVlVd0VISWFRNk92dFhRY1NUa1pjdHNVVlNPR0J5M29uOVUz?=
 =?utf-8?B?SSt1U3hBZkVxc3JOZmQrSi9KYTRSVjZVeHhyRlkwYjIyNFpmenZXTkt0N2Ez?=
 =?utf-8?B?RUZRSDFRYm4yRnJiVTRlWW5aZ3U4SjVDWE1uRXJKbm9jSEpPazc4Q0RQNnBV?=
 =?utf-8?B?VTkrSXVUUlBEN0xFdlJ0OTQ1STA2SFhSQ2pWa2RzdG1MeGErdXVXenBZM2kz?=
 =?utf-8?Q?NsxpSEkQRIq9rPxSNhjgJhv65?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6349b19d-1b86-4d85-5cd6-08da81b8bde5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 07:59:28.7331
 (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: WvaFI2gEqVbijgzUa9uCwnSi7CcSqknjmVtiVvFKpsrUJSl12kPRQxheJ/gTqvoAS21s5lpDWvD5M2AQEiXVqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6864

"int" is not a suitable type to convert time()'s return value to. Avoid
casts and other extra fiddling by using difftime(), on the assumption
that the overhead of using "double" doesn't matter here.

Coverity ID: 1509374
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Properly use %.0f everywhere.

--- a/tools/xenmon/xenbaked.c
+++ b/tools/xenmon/xenbaked.c
@@ -230,11 +230,7 @@ static void check_gotten_sum(void)
 static void dump_stats(void) 
 {
     stat_map_t *smt = stat_map;
-    time_t end_time, run_time;
-
-    time(&end_time);
-
-    run_time = end_time - start_time;
+    double run_time = difftime(time(NULL), start_time);
 
     printf("Event counts:\n");
     while (smt->text != NULL) {
@@ -242,13 +238,11 @@ static void dump_stats(void)
         smt++;
     }
 
-    printf("processed %d total records in %d seconds (%ld per second)\n",
-           rec_count, (int)run_time,
-           run_time ? (long)(rec_count/run_time) : 0L);
+    printf("processed %d total records in %.0f seconds (%.0f per second)\n",
+           rec_count, run_time, run_time ? rec_count / run_time : 0);
 
-    printf("woke up %d times in %d seconds (%ld per second)\n",
-           wakeups, (int) run_time,
-           run_time ? (long)(wakeups/run_time) : 0L);
+    printf("woke up %d times in %.0f seconds (%.0f per second)\n",
+           wakeups, run_time, run_time ? wakeups / run_time : 0);
 
     check_gotten_sum();
 }


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:00:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:00:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390097.627311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwvT-00059y-P5; Fri, 19 Aug 2022 08:00:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390097.627311; Fri, 19 Aug 2022 08:00:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwvT-00059o-M6; Fri, 19 Aug 2022 08:00:19 +0000
Received: by outflank-mailman (input) for mailman id 390097;
 Fri, 19 Aug 2022 08:00:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pvko=YX=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oOwvS-00059K-5s
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:00:18 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2082.outbound.protection.outlook.com [40.107.20.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f67997ce-1f94-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 10:00:17 +0200 (CEST)
Received: from AM5PR0601CA0065.eurprd06.prod.outlook.com (2603:10a6:206::30)
 by DBBPR08MB5979.eurprd08.prod.outlook.com (2603:10a6:10:205::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Fri, 19 Aug
 2022 08:00:12 +0000
Received: from AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:0:cafe::5b) by AM5PR0601CA0065.outlook.office365.com
 (2603:10a6:206::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19 via Frontend
 Transport; Fri, 19 Aug 2022 08:00:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT003.mail.protection.outlook.com (100.127.140.227) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Fri, 19 Aug 2022 08:00:12 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Fri, 19 Aug 2022 08:00:12 +0000
Received: from b4526bf77168.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F0F0A5A4-9D01-42FB-AA66-E42244E31353.1; 
 Fri, 19 Aug 2022 08:00:02 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b4526bf77168.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 19 Aug 2022 08:00:02 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB9PR08MB6428.eurprd08.prod.outlook.com (2603:10a6:10:263::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Fri, 19 Aug
 2022 07:59:59 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5546.016; Fri, 19 Aug 2022
 07:59:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f67997ce-1f94-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=SessV6iYulDqtjNVvujWu6iMQdJmjawT/Hw4S6omXRIlnRdjX05T0LCLGbuXypaIug3P+uPUdD9ZjeHzAAuAyWfzEp+nauGb4vMT6BPZE7aG7CLIQkM1ZmB3yVv1ElwL8TZkUYE80M4+m2gJwO4G5Dlua3yPZEIhcBDCnqaqBMvAFptOnjIiBSfjGwPAxrRingkWEmb1eMnW3RyecQBOMcIcBpuXLMvEvUvb6MXxwp7Bp9nnr6X0JC6uBnLgW0oHY5jHJc7YEETbr1idEZIRgfqekpDeaazXYQ+HotIlEsGScR2LbyE6vGRSwnD2INfBuFmjSePlnpMr3A6SXhUPGg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8+ulrW9YHHzaOanOWv0Pi1jye8WvHvzvc2I+Y6apo8g=;
 b=Nxs6SmjKkA8+1fI+++imCvzl4r9S9YWqjkPYamXzaY5xDOUVruuvKy5ETPzTbNtinZ326UEK/JyqXXG+mhLpDiOBAfocYyzXL1U2Kgc0vvZM91nVbqIMDy/z3vwU2MneCmYPJN3aANGKmsZRCpxAMhl/gyLGPW2X40nSoYLW9Vna5DHsYjvcLFrKhi5lR+TRWUjhz+STu3h/Czmmf9FTdCoM+TJ15y0p+RIBswTEdZ8fW+1al3dj0Lh0ewNQ8N9d5QqrgvFqGDIYI7y9DlD1hTAne9Kidp8hiT5JDlZ0I26x1wfFxZzQnS1M1vkN5/f7HOM/Ok8W0sA0pDOMF2Msqw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8+ulrW9YHHzaOanOWv0Pi1jye8WvHvzvc2I+Y6apo8g=;
 b=IAQHEDV9AG7DshPnFwOfAwilosXv4o6M0R1ofm5x4asMg2/q+9UdcebFcbUUYVViEav3I1Qnvd7bVaFOugWwGCUdPLpZU1xi9edDHoBucZpXIchQyvv6sFokDelXQbUh/buVtO4R5pJ1Atheot+vJKgaqcbDg0om5RlVoTnozbg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E67rEQe3XkHl63wxVcjVNzu390SQFwU0Wpkf3kxBSum19KibHDtjQrSqMn0u/aTOVLJVY3T3xPaYcoIu05MCWtZDrgujJX6dz1WXB8KRmY+vpGY4vUHzf1y4uKz2N2prAWVj+6jAsKrX0dD9cihFWQmO3El27eAQhy52atL5VgXl80Od0ZL27SBdZaz95jxt7EhqhWoIG/tmJx+nwqKmTOmhUu+cBMZ8123Y8QT0n+oTMy53u2CBwt7Rjh/2Ay5Pt+t56pfoQ+fWUZGmbezlMcavsncxdui1oO/GWn+DiROpu+DDDjWIG9yGmCxo6cZh/wY58eLWOcCIIY2CUeXLTw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8+ulrW9YHHzaOanOWv0Pi1jye8WvHvzvc2I+Y6apo8g=;
 b=OA39WTp2Ikg6gkgJrxdz8Kd+05B55p92gXThJPr9HidHmVCy976YuQWnRczHf8RnPB9o0Oiib7VnAeOJUk7FmlgNpqz7JhXAqu0mE9XrZ4WvrwD92FwNotV8ZOZhStM8uFYhO/Ym9VXy/+GU4DxAW3/tsBzGc47tAnTnL5F+tZqSVjCnoxIZ8IE/Pts+rNSRp441Rqy2++O0nEYDhA1S/TfCav/WKV473TBNjrxTvAN8n4gtgIU8SoOCVf+xaW4WcJnIvas+MnpVRZo8a1Cznv5o9B4OvqAvcgMbKBUpt5RFVGMhDOamX3MIdhvOwMicd+YNsd4UPJ9HiYRbIWmcXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8+ulrW9YHHzaOanOWv0Pi1jye8WvHvzvc2I+Y6apo8g=;
 b=IAQHEDV9AG7DshPnFwOfAwilosXv4o6M0R1ofm5x4asMg2/q+9UdcebFcbUUYVViEav3I1Qnvd7bVaFOugWwGCUdPLpZU1xi9edDHoBucZpXIchQyvv6sFokDelXQbUh/buVtO4R5pJ1Atheot+vJKgaqcbDg0om5RlVoTnozbg=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [PATCH 2/2] Arm32: tidy the memset() macro
Thread-Topic: [PATCH 2/2] Arm32: tidy the memset() macro
Thread-Index: AQHYs6BtEnYIw9a2QEK+U+CB1vg/Xq21221A
Date: Fri, 19 Aug 2022 07:59:59 +0000
Message-ID:
 <PAXPR08MB74201D5D5741B9F19E3622A59E6C9@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
In-Reply-To: <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D1A3F7531F254346A39764FA71E9CF4B.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 4b7d2f8c-7bd7-4be5-2189-08da81b8d800
x-ms-traffictypediagnostic:
	DB9PR08MB6428:EE_|AM7EUR03FT003:EE_|DBBPR08MB5979:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 SelOI60Z8hc78tf0iE+uFixwe5B4pqb6Q69ZtF3eghg3R23Q/tFJjeqiq4phAKl4CfsrIJcK9t6fOhQou3zPbrKpH1HeQfmpHVUhW4hJlUd7e2k3Jj5+3KHivS1YMv5Kft3ujeiiNHDlsKzZT2e6zUNWcQ1Ffs4HzEGZ3qggfMFed9RTPZBieyrVICCHxl7IwKtvSdla4jHBU71u7DYpE2gwkSLCJU6VSjhUeIAK0HVQyt8MG2HJGZ+1XyjgAy1H/5q3wcwzWk22FIzs71WgdpM72FGYVQFyAx/bmpK65J1wStPjwRWNEsrjA9tcrz5E/BsPEG3T6Drv9S6EdFnizeXPGUZBrfNHd6AuogIPsMKz9c3iiis4ANxvymzJDqI7Qb+zNtbmB2Re2TTu7d6UIUD19wXo8B/owEfgcfPT7ZonMAVkKGlTvrLJ4OyWzTJSSKkXDZIPA1bcsXwxA21x8xvecBISPHkoaHYkA9GGt8BPMHoO844ptMl4VWuUl0+4hyYTtnxZf7/qVMkpvAHuVVYwHLFYllV5EUb7WCbE0o8C/yqL6WJiE4gqyFJNqp/k06u4nfRwW9OonQnEJ/O5lULm5PIr3JWLPf87AD6Zx7y9BBJa6E4CwhLwOAeHqM5O3OvnTgFDhqcykfiAQhYCPvOWeHN+3aGedpDldpKyfNdstbotx6L6p2DvdOXq2iQyc2j4/lIhCkeIrJl2XWt9PuJgaeC/F1TFHDA2jzmEQzxfxwj93ThuL3b6+CMw6mUGRaFfN4gBSsFzm4cbHZVM8w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(346002)(366004)(396003)(39860400002)(316002)(110136005)(2906002)(76116006)(8676002)(66446008)(86362001)(66946007)(41300700001)(4326008)(54906003)(38070700005)(478600001)(71200400001)(33656002)(122000001)(66476007)(52536014)(83380400001)(5660300002)(8936002)(64756008)(66556008)(6506007)(26005)(38100700002)(9686003)(55016003)(53546011)(7696005)(186003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6428
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1a4c2f0e-cd7d-4f0d-d2a6-08da81b8d02e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qBvgkNPHhYA+3khFRyYnIO0Ix+7HU7r2GxjnIXDpyOCTcfsZ0L3mJli+cMIFY7R2dk01GrYZnPYpWTx7pxX28I3WxowFYIaz1WL5Uq1Bxbwu181AsY281rPY1XF1KYmKd31Dd/TEYGs4FibL422JKHZ3Kx7gBBssQcaqclC227vNXpup88vFTj1xQc0/bF5/cxp/WGKVR9GTJwp/OD10xxxFncBXm9IK82HrArx7WY68ArOPVAnDD4ZldPMDDaNLScDQ0gSI6Vl5mMPUTvUL9oYwRjHBjmzj7wG8GAW6BZRXwkgDlFTRd/H/gvXWUjGWQgMToiMSSE4UJZP9Ai4uLHA+V1xbglCsAUWQgXLEP9cST20e9cK6M4GlQoIH37ZhWwyL6LlBncqqRsp7ke6MhoVkGB8KRuBhCWA9ei+gLQjLEQrZdLaKMtWjjA23ZSFYxc+qGustldeJTIjCIMKcnnUhvd8l08mYqdJVxf6EY5swbhHZXbmis87NRNe2vXmXGbo73NylqGe3wR/hEBW072CXC4gwsSkfs9a6wAhKi8/bP+E2xeZef8rnYL8naJA8Avdc2qU6f/k7d2DmJGxRtNpUCtifFsKuFZ9qcFpKchpT1oZOnAHKuuqJaj5vVt3VY3PJ9MTePfa2qo5SxYeWvNeiLCLTm4RE5PchP7U/CsE0P28qgd3l/KhNxz6PPn4UJ3NdbhQewyODMTrC1xkWNHyPhSH4ThbpfAaS3FJqTGajvR8ccdjeyns0jtOczzpP1ezSIe1dTVWSIL7PY/ThdQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(376002)(39860400002)(346002)(40470700004)(46966006)(36840700001)(356005)(81166007)(40480700001)(110136005)(316002)(186003)(55016003)(54906003)(83380400001)(36860700001)(82740400003)(6506007)(7696005)(70586007)(70206006)(4326008)(2906002)(47076005)(33656002)(82310400005)(8676002)(53546011)(9686003)(41300700001)(478600001)(26005)(86362001)(40460700003)(8936002)(52536014)(336012)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 08:00:12.3574
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b7d2f8c-7bd7-4be5-2189-08da81b8d800
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5979

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFhlbi1kZXZl
bCA8eGVuLWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBK
YW4NCj4gQmV1bGljaA0KPiBTZW50OiAyMDIy5bm0OOaciDE55pelIDE1OjUwDQo+IFRvOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuQHhl
bi5vcmc+OyBTdGVmYW5vIFN0YWJlbGxpbmkNCj4gPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBW
b2xvZHlteXIgQmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNodWtAZXBhbS5jb20+Ow0KPiBCZXJ0cmFu
ZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCAy
LzJdIEFybTMyOiB0aWR5IHRoZSBtZW1zZXQoKSBtYWNybw0KPiANCj4gLSBhZGQgcGFyZW50aGVz
ZXMgd2hlcmUgdGhleSB3ZXJlIG1pc3NpbmcgKE1JU1JBKQ0KPiAtIG1ha2Ugc3VyZSB0byBldmFs
dWF0ZSBhbHNvIHYgZXhhY3RseSBvbmNlIChNSVNSQSkNCj4gLSByZW1vdmUgZXhjZXNzIHBhcmVu
dGhlc2VzDQo+IC0gcmVuYW1lIGxvY2FsIHZhcmlhYmxlcyB0byBub3QgaGF2ZSBsZWFkaW5nIHVu
ZGVyc2NvcmVzDQo+IC0gYXBwbHkgWGVuIGNvZGluZyBzdHlsZQ0KPiANCj4gU2lnbmVkLW9mZi1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiAtLS0NCj4gSSB3b25kZXIgd2hl
dGhlciAiaWYgKCBuXyApIiBpcyByZWFsbHkgaGVscGZ1bDogSXQncyBleHRyYSBjb2RlIGluIGFs
bA0KPiBjYWxsZXJzIHBhc3NpbmcgYSBub24tY29uc3RhbnQgc2l6ZSwganVzdCB0byBjb3ZlciBh
IHByZXR0eSByYXJlIGNhc2UNCj4gd2hpY2ggbWVtc2V0KCkgaXMgcmVxdWlyZWQgdG8gZGVhbCB3
aXRoIGNvcnJlY3RseSBhbnl3YXksIGFuZCB3aGljaA0KDQpXaGF0IHJhcmUgY2FzZSB3ZSBuZWVk
IHRvIHVzZSBuXyB0aGF0IGNhbiBtYWtlIG1lbXNldCBoYXBweT8gQXMgeW91cg0KY29tbWVudCwg
SSByZWFkIHRoZSBjb2RlIGFnYWluLCBidXQgaXQgc2VlbXMgdG8gd29yayBmaW5lIHdpdGhvdXQg
bl8uDQoNCkNoZWVycywNCldlaSBDaGVuDQoNCj4gX19tZW16ZXJvKCkgYWxzbyBoYW5kbGVzIHF1
aXRlIGZpbmUgZnJvbSBhbGwgSSBjYW4gdGVsbC4NCj4gDQo+IC0tLSBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9zdHJpbmcuaA0KPiArKysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vc3Ry
aW5nLmgNCj4gQEAgLTI4LDE3ICsyOCwxOSBAQA0KPiANCj4gIHZvaWQgX19tZW16ZXJvKHZvaWQg
KnB0ciwgc2l6ZV90IG4pOw0KPiANCj4gLSNkZWZpbmUgbWVtc2V0KHAsIHYsIG4pICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gLSAgICAgICAgKHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwNCj4gLSAgICAgICAgICAgICAgICB2b2lkICpfX3AgPSAocCk7IHNpemVfdCBfX24gPSBu
OyAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gLSAgICAgICAgICAgICAgICBpZiAoKF9fbikg
IT0gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcCgodikpICYmICh2KSA9
PSAwKSAgICAgIFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19tZW16ZXJv
KChfX3ApLChfX24pKTsgICAgICAgICAgICAgICAgIFwNCj4gLSAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4g
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtc2V0KChfX3ApLCh2KSwoX19uKSk7
ICAgICAgICAgICAgICAgIFwNCj4gLSAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gLSAgICAgICAgICAgICAg
ICAoX19wKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwNCj4gLSAgICAgICAgfSkNCj4gKyNkZWZpbmUgbWVtc2V0KHAsIHYsIG4pICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgICh7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgIHZvaWQgKnBfID0gKHApOyBz
aXplX3Qgbl8gPSAobik7ICAgICAgICAgICAgICAgIFwNCj4gKyAgICAgICAgdHlwZW9mKHYpIHZf
ID0gKHYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgICAgICBpZiAoIG5f
ICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAg
ICAgICAgIGlmICggX19idWlsdGluX2NvbnN0YW50X3AodikgJiYgIXZfICkgICAgICAgXA0KPiAr
ICAgICAgICAgICAgICAgIF9fbWVtemVybyhwXywgbl8pOyAgICAgICAgICAgICAgICAgICAgICBc
DQo+ICsgICAgICAgICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwNCj4gKyAgICAgICAgICAgICAgICBtZW1zZXQocF8sIHZfLCBuXyk7ICAgICAgICAgICAg
ICAgICAgICAgXA0KPiArICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcDQo+ICsgICAgICAgIHBfOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICB9KQ0KPiANCj4gICNlbmRpZg0KPiANCj4gDQoN
Cg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:02:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:02:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390103.627322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwxb-0005zu-Bi; Fri, 19 Aug 2022 08:02:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390103.627322; Fri, 19 Aug 2022 08:02:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwxb-0005zn-7o; Fri, 19 Aug 2022 08:02:31 +0000
Received: by outflank-mailman (input) for mailman id 390103;
 Fri, 19 Aug 2022 08:02:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOwxZ-0005zf-O2
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:02:29 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130079.outbound.protection.outlook.com [40.107.13.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44e483a9-1f95-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 10:02:28 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6864.eurprd04.prod.outlook.com (2603:10a6:803:138::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 08:02:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 08:02:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44e483a9-1f95-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LngbvELNnqOi7fzE1SCCaTr4fp9u7aZ8kKDQuX/K5PM4aLddmcKCWrW9587ZJEvAlmCFyjIskVx2qbcYJnN15UbM8wPp9WDyGKO9uzG+hcXcT1uLyvAXWPjEQdqWnkOvxhKaoTw1GAIuatcWkYI0uk/YoZ04awwq3qaB98led15xe3RVgDJRSxjJoCsJIdONMy39UM+sTdWlcelaLLJo1lgV9dNB2DfIyyi3PFqlCEw1Lwn4ecvvzU7KfphkFWTsYus5n55NrOMojJaaXhJUbD77U60QUVz1kAi70Q/ZEjMOlABLbEX9avUrqw+2kmoGtchNfq1ADtHpEUPYTK0XHg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BR4PK+t4pG48d+FtjHCAGkQdqKixBM2NDX6ZX/kNB8g=;
 b=Lq1FrPs8UCgHTcMTCEiN/l0Al75LEb6/nYt1Wal54ue1JTwcv7qnRz0fNLW3IpfFdgheOIf/PrnfyCtGozDo67OuzuP6Ja/tnIQjTXufwtKS22OVpYrl0gh2JkRkvh36z8UY3aUxFq62c9j6uO9Fwq8ZoAKx/d1hN7dhrD/PoLHYLCeMp7/4dLYK+wPTWBZhw3cOyryXTgp5bImmaWYeme9hzll9DG0Nb9+c6xtXOm/ZIgiu3nLiwm2qaBI2YFKtksr046EWyY0PP/mQOO2dDmszznV6JXyCCOm5/W+TiShqQgbu7OjbJk7rpntJHoAd/Etfa3qud2kICm64i9QSNQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BR4PK+t4pG48d+FtjHCAGkQdqKixBM2NDX6ZX/kNB8g=;
 b=seyRTlTxCCowCNBJ+16aq7RnW/6LY0YF5uYvep9K7ZzjXFLQvtnKnn48Zvfqo4YFCkn8g9RmR59aZtFZxl2Iwpgu5G2U9iXDewCQuvnQxbWkI1WzIDDYsjlajuyaUmLB2wfAvwJBzHqbAJEfNEtrATPz3BLJUz4JjzE8uQdhrWyHkPVVYuiq55U1MxMRP2CM2sM9MHu5x+USu2TfHeCOaFsHSCmVq10yYkfxWwVp4VCFwZ9A4vLwoU/6WcgZWlWdFBOYLtPuWCmogTKnAv2vJFT31K6qdLXweeUL/DzKqneX1pTSkHboO3QN4m6DyWybIhJfE801KHVJ84j6yn2n/Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1e5496f9-47f1-3cf4-794a-9a840ee7c59f@suse.com>
Date: Fri, 19 Aug 2022 10:02:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <6da837d7-4784-f517-5c24-2bbe6a2af2be@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6da837d7-4784-f517-5c24-2bbe6a2af2be@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0398.eurprd06.prod.outlook.com
 (2603:10a6:20b:461::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a683a87d-9a4d-4dea-ca0d-08da81b92881
X-MS-TrafficTypeDiagnostic: VI1PR04MB6864:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b7Xxjcn48MWxv78ONEyVo9JFExsRa9Q2fqBzbhT5c9KGCX9LfouVXbGMMlCayzOf6z9NviZozmAOrGcf1HDV7sZGwI7EDRz3sxtWGyw3EyZI8AnbEXJks91hrOdpJI6CCZPXGEsl1LtOT87N1arTtB0NOvAWmYBeHgL55o9sgI4//esNJeh4D1KvE5AEU+LGuFgx9YWpaeRraJ6qnYCFi0N8e63B7yAUnEWe4GBVKHJOC7TAdaeh5n1IrkPhcg0Gkd6aQvRZX0c9XP00bUOT6kPpPqMgqRpymUwSiWzhZY49KGHPd+4EyKMJGgCe6hZoBby4uT3XbD8ktHB+9gZTBskuT+L5NXxyaqALBvksdi1nNJkN/yTBEvF5ZN4HEq+sPpRV+ZSAh3WIbbD+tLb55SXNmH2Lb479hYMU5nIrO5XrhvfT/rD5RnZwWYBskOVY/tsXBj/ICS1FEOF9buuEu7lQXHVxjz22KK4voJ9/xAc42jkPCUqhCUY0eRvBkf9Np7g21s+8A91KhM0rxIYNH7Pz7UyQMpCGwHlFJTOJ63D7wQMwVluIYRy03zsZ+obBH1C2KaMfzloH/mcUXLF6IpBJSoCrwpdl4kAStOiV/RypkZwyS7Xh8kvJO60YCq0PjuQinJSY7g9TXIJN2JcQdBYwMSfaMd3oHoBX0Jsu28hvPMKJh/+tvln3tJlGd4VVOrz2HqLQbEvylYbBqlfNi4AeLnhMa6CJPyOQq1kXD4UCRPEAO7bx33dn/2Rj8rAr9yg+4k19Nf+6+zO/chSBdm2USh6HDAD85hifHmlyHfY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(366004)(136003)(376002)(346002)(478600001)(41300700001)(53546011)(6506007)(86362001)(31696002)(36756003)(26005)(6512007)(31686004)(2616005)(6486002)(186003)(66946007)(66556008)(8676002)(4326008)(54906003)(6916009)(66476007)(316002)(5660300002)(4744005)(8936002)(38100700002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YlgyRHRTK3lodjRtdkRjVUNaSGxTRnpQblpzOC9TQyt1MnQzcVNUWEN1ZHZL?=
 =?utf-8?B?Wmd4b3c2YUR0RWJ2emtsemRvbC9jWllUVXFqc0htVlllQlQ3YW1HUjF3WUla?=
 =?utf-8?B?S3VnZWpHdmNTL3FHaFI0ZDhCTTRGV3FuSUtWU2lza2hKL2JkWVlMbmhobTBr?=
 =?utf-8?B?dExPTWt1MWE3Y2o2L3RwSkthN0xVUE91T3RYNFM4ZkY4Vkx2M2NOdjU5RXJO?=
 =?utf-8?B?K05ETE9uUm1EcUc3RWp6MS84Ym54MnpsRVdDQlBuZ1JWelhuSC8rMVJVU2NS?=
 =?utf-8?B?VEREUWwyc28rWkdGSkFsWDkwRk9qMk42RncyUlR5bEJpVHpZblRMeTB4M0tr?=
 =?utf-8?B?emxaYkpna3h6Y1d5Z1p4SkdjM3ZnTWJ5bDU1OVpYRE1Dd2RiaXNCS081cFBm?=
 =?utf-8?B?OC8vOG4reUZtSEFBSjdLRERVQXFML3Y4eGMraWFzS092dmVSMk9SQTQrN1Y3?=
 =?utf-8?B?UFJnTjBYNHJrOWdjd2VFb0VPY01FTUNUZXFqeXVOQkF0bWFEcStHTUJGbWR2?=
 =?utf-8?B?alV6WDNnMnN6cVRtc2I4RUVCUTJMT3Z5ZnFuUmtFZkZGR0tuOUR6Y2NXaVhK?=
 =?utf-8?B?NHpQc2NiTW9qZ0JrUC9XQkM0TW9YbGRhQkRNb0NwbzlUbmVHTmsxcERpTEIw?=
 =?utf-8?B?T29Pa1c3aUZqb0NTc0pwM085bDZaN1NJRVkzQW9kYS82NU15OE03T2k0WVBK?=
 =?utf-8?B?QXdUa0Z1M25uK1dHb0hsUmFiU2dPenBWMitIT3VORExFMFdqMXBxQU5ZM2dr?=
 =?utf-8?B?U3JkNkc2cGJJTC9HZ3k5UGo0dDdpa1lRK0ZjQk9YbG9zdSsvVWVNWUo3a0NI?=
 =?utf-8?B?SmlOMmVLTzRNT1c1cFp0WFlCVGs1NkkyQ3QvSUJiVXdPdXhDb3BhRHZKVEd3?=
 =?utf-8?B?NnFEUVpBVlRZWHF6RU4yd05BelpxOTVnbDJjQjdPTnl6QU5sakZYYUN4Q2ZI?=
 =?utf-8?B?UUw4UTh5akp6QytoOCtsTFd6Q3BJcktVS1ZaUFFMdUR1VUNCaWVnclM0ZE9J?=
 =?utf-8?B?MUE4MHhKcTBjOFp1TEZ4U0l4R1VpYjZDV2ptTEpFeGhROFJRdjNwV2FLYnVr?=
 =?utf-8?B?T1V6MFlOL3psaWJ3cDZRN04rNUlUZTBNbDdqU2U0UmIyVTdzYkFSLzVkL0Q3?=
 =?utf-8?B?SXplN3JBUjJrTDI5TUZXMGE4RjFjWXVEbDk4dVlQVmVFcFBQZENodDFiUURU?=
 =?utf-8?B?VjdlMk02dDF5NGcrYUszY2R6L2RaV3ducnpxbGNFQVlQa1gwTTRQT2NQQmo4?=
 =?utf-8?B?MEovc3U0ODZlUTExY0oweE5PK0NCbU5tc0xZSVkrOElHSmg4bXlQNWxDQW9E?=
 =?utf-8?B?bFYyejU1cTN6OXROWEZsYmFwT04vYmZ5TjNsQjJ3MEpobjVuZ0NNTnN1bDFy?=
 =?utf-8?B?aHZrUWlqdXMvckwrR1RnOUpOd0FlRTVRNWxEWjluUi9ES0ZkUGczT2RYTWMy?=
 =?utf-8?B?cnlwOUFOeFhwcHIzWUx3Yk5PbzcyQVZkdTFaUk5oRGdMZVFPSnZXbVlPTmha?=
 =?utf-8?B?SW9Xbm4rYjV5UXJpTXEwb3dpSjh6eUxlTUhhc3BGR2twYUcxclpnanhmb082?=
 =?utf-8?B?OG1TYkJJMXBkeVlBYTJPQ3VQU1hBcWVaN0pKSTNFNmtERlVGcUk4cnNsSnBj?=
 =?utf-8?B?TlozdW5pMUQ2cHd2TDJSUmszN2dQcGtLcFhldnhUaDNJNmJ0UHZNYmJvRWZZ?=
 =?utf-8?B?WWd1NVhsZEhEekNTU2wxVzdsTXd0RG50ZjJURmdXVFZkZjh1WnVJYWsrRjZW?=
 =?utf-8?B?Zm9MZFNYNGZoSWNxNXJyNlZ3U25mVUhMWVdpUTlEZUJOcTBwNVllbE1NM3d4?=
 =?utf-8?B?b3RjTURYUUxZdXpLTWhSdDE2MmJWc3ZSbWliTkw3dmd4eXRwUGxPZHZMNXRr?=
 =?utf-8?B?WlhyOGNwcyswbjJwNzVBM1pnejdzNFA1aytQbkQzKzNjbUszcWFrRDBJekxM?=
 =?utf-8?B?dm9QVXc3RURmOHhuaFdiSTdvMGIrdWRrMEhiMVRwbmhVZzhMTDhNV0l3eXl5?=
 =?utf-8?B?eWo0SUs0a0JJZnc1aWVZMWVja1pnWnRMR1NJc1lXQ0hoSmRnVWFaYmJHQ3Bz?=
 =?utf-8?B?QnJzcEpHUE1IcGJzL3BNaXNhMU5DaU5IOUNCZURVK1JxcjYyTlNtTFF4OTd0?=
 =?utf-8?Q?X00/rcsHa4zPU84D4LzQQF04p?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a683a87d-9a4d-4dea-ca0d-08da81b92881
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 08:02:27.6280
 (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: CRZViDRYCDisXAvM0VnjCGqO9eT1zZTkYUFpADOCceTVUmXpFloLFygFCmRbH3bsjOjFLS9oQaC5q6Iv9DYUYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6864

On 19.08.2022 09:58, Julien Grall wrote:
> On 19/08/2022 08:50, Jan Beulich wrote:
>> - add parentheses where they were missing (MISRA)
>> - make sure to evaluate also v exactly once (MISRA)
>> - remove excess parentheses
>> - rename local variables to not have leading underscores
>> - apply Xen coding style
> 
> This code has been taken from Linux. From you write above, I don't see 
> any strong reason for us to modify it (even if it is small).

At least the MISRA issues want addressing, I suppose. Plus I wasn't
able to spot the macro in Linux anymore (nor __memzero()), so to me
there seemed to be little point to consider keeping anything "in sync"
here.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:04:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:04:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390108.627332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwz9-0006bD-NU; Fri, 19 Aug 2022 08:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390108.627332; Fri, 19 Aug 2022 08:04:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOwz9-0006b6-Kq; Fri, 19 Aug 2022 08:04:07 +0000
Received: by outflank-mailman (input) for mailman id 390108;
 Fri, 19 Aug 2022 08:04:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOwz8-0006b0-4a
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:04:06 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2055.outbound.protection.outlook.com [40.107.22.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e78de6d-1f95-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 10:04:05 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6362.eurprd04.prod.outlook.com (2603:10a6:10:106::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Fri, 19 Aug
 2022 08:04:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 08:04:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e78de6d-1f95-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BW936GgZwmmc1aX9ft/aRvrqKiAEiYZSYXzPwKhdWs1GmK2gOpMG+EW7rtkCcx1bmS5HgpwzZ8RFmvFRj584jFNBwYe57+tW7Zti7Z7XuHzOS1LbYG5pCVL2dS33QMyWGevzd9mO8fL3dHb60nrvb0zAjt8n6NAh/52V1yWcUaIPM0JjF/ZIcNZ7oxvno4WsWdfKWhQIS7UCRYgZ61gq14w6kWq9Yp0vEFyna7DY6/SBmqFaLkjBdm/hFVZAEM2LLpBlstCrbcY8hampXxZ9y6JPsJQ+GFUwj6FgAUlBZ1Z+PKaPCOpa/9Sho25ud8ouew+LbDyFjgTqPTGrjR05aA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t1heRQw42PU/RdUdVApHFnf6c1JRd5ie/52S/DUdV5E=;
 b=N139ulNliRLToCGTRQXKVA89SjE70BqXdGcBQftijnkPWLRaQRNV28i9oHy+WU7Dapp1tZo1W3FmE/Z6X55EqdNgnLJj9umTdpPo3K2/J02qNcuOaemicRGz+EnXt/CPA3WPcMop7eYuNk/gD5IWSj+ingEr1DKGzB3MOqCotFY32//zZ5JO9At4ADf6DXomU+ZpcF62fxhfpguljFJJ+E0OpIi9pEtAdKCvt4ih8ietbQnOK8y4G+P1Jqn1odkdbyYpFrBH3CMvpxGhCKMV+SAUFHHA3m6N3maANX0QmcFhuRu4W0/0BJwAZpBXWMpS21HiUwhHQsNhkfKV+VMaWg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t1heRQw42PU/RdUdVApHFnf6c1JRd5ie/52S/DUdV5E=;
 b=Mt69DUTRnef7h43Ij1jbMMupySv0tW0JUelSo1yyF/IXl2vNzG4U6s3gFOcm8dace1Kg9ONt6fGTbuUdywXTXA/e1vg6NdUhjgYaAjT+uTccgvwWmmdv+YEffop6YAFukn2YWC00yegdPzTjNE/UWCcCyCsVBixkD6u2fP0VQGiDZlv5fMyZ1OWyHTz5GvcKhacc74zmGJ/K2k2o/U0QFqPh2MI9hMpVz1K6bnTfumZ1o7eedkrUXOJZ2i0+PMNXyxHtvUS4KX4vLJ2QnfisSvy5a/PF10cEW2RrSN26zB4YkrKHxUSki84PCVJL7BfxmVQhVPhk6O2nEmOtoh3tBQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8a80c79d-975e-3866-2419-f6ac5678060b@suse.com>
Date: Fri, 19 Aug 2022 10:04:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Wei Chen <Wei.Chen@arm.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <PAXPR08MB74201D5D5741B9F19E3622A59E6C9@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB74201D5D5741B9F19E3622A59E6C9@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0009.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3ed74522-ea47-409e-6645-08da81b96150
X-MS-TrafficTypeDiagnostic: DB8PR04MB6362:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Km/CQlJGyzJXjXzYFyeGT3Yz4hudmPHRBVSc1mV1pVtYRijE1yrrGH3S2cL5pRnx6purcGXm9+MT2EusaVC0ITev1znKxyjzWNsQ+iHbG4UtGBZG2wzkhPml1tITxyG2ZAYqpGCJ4BJrNlViHA73nH/LfhcKvziQOrwpgHcOjaHQeQCpqgPyjjlgw2j+1NxwG5ntQF22/3YzUtm5XzClOjNJSCvZgeBlzuDFkIyuIxP7EVNKmsi5PxtmeMof6vHUsu+LnysgNhnalnUpeyl8Z7l55PMk2px4e7/YO9e7DOnXNZ8ZelrOdGuOq5jnJsVQb4TbFmGsgzfI9lkg6eEazSaSrF+i7xhrXg/BetcJn8qkzegKxdnkbRWvVGEegYQurBTKxwsA/BjUBqzRuGmf3Fcvafla5AJexcWymGp7ui4+xqTQHqHphFjuy/QA2qywMJnyGTigeJX98EO+35jAseAevWVikAJ5J5U0UDJZuYtN5fP7Fv5UakibPHfGvrtLyUhTMcGpVHmODYndtiX8gLX1jECh19Jq6NMkRcZDdMX41Jck5GHMH6qSpuY9uS7vFaacmXi2tkxVAQZrM1KlYimUMV6+0GSdwNjmgyS+TL8Vjp5IGybRc1a6mTANjLWzZ4ApcJLMJQi5ETP4bHQgul71Lwv+VTlC1ttgajYl7rs3ua8QGtZIkzj9D4/or7irB1EQp0xi2j3kftQlW3SQfFHeqI1vfmb/kwKC0DP7Aq0SejHqavcGWu+0wIZ3QwU/X8spG0WO/u6xDcqhaqKrpubE3fj1U9hGxREu3myIlbQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(39860400002)(136003)(396003)(376002)(346002)(6486002)(41300700001)(6916009)(86362001)(478600001)(31696002)(66556008)(8676002)(66946007)(4326008)(66476007)(54906003)(316002)(83380400001)(2616005)(186003)(6512007)(26005)(6506007)(53546011)(8936002)(38100700002)(2906002)(4744005)(31686004)(5660300002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VDJQZ2ZnbmFqZGtwR2dzOTVUT1RvYXAxdUQxU2pHV0xOK05FeU1qQ29LRm1Z?=
 =?utf-8?B?cXYzakw1U3JpUmZHYlF5S0dkaWM4VEFsTG8vZkJ3dWhxbGZOQUUwUVlDZ3pt?=
 =?utf-8?B?UmpjNW5oZi9yZGRFUlFGU2hFYnU4SVl5ODNlMlk4cjRNUGx6TDc3SG5PNEQ0?=
 =?utf-8?B?OWlKRW01a2VmZzFUWTBHL1M5Z3p0NW8xT2lhMnJjOUxCUjcxdmZvOUlMUHVm?=
 =?utf-8?B?V2ZNTlM1ZlBMbjI4T281MnFaUlpLU1M3blFxODBNL1lyQURIUFUvdUlCTlZr?=
 =?utf-8?B?MHMxRW1DemF3QmZrK25xREVJcVk2ZFlaYVFMbFZJUnNsdm5Hd0laRnJyNkU3?=
 =?utf-8?B?eStpa0pHbHFLWXhaMDZxUGlNLzZ1b0ZEOWhlZmQ5YlhxVVJ1UzA4L0JYT1lW?=
 =?utf-8?B?TDhPdnE5K00wYVBBdDNDZU1jZWI1dkU3RnNiOXpERU9HWFZxNHh6dWJBaW5t?=
 =?utf-8?B?N1pTZHo2eURKL3pRRVBtS3NCYUNXdlB1WFdoblhhTTRiaWhoS2hUSGRBZm4z?=
 =?utf-8?B?Z1Jkbll3Um8xbjhGSGlqU1JSdUgxNngvTE5KOWZZdXErT3NKOHAyK0dEZjQ4?=
 =?utf-8?B?QmFLdy9nbDhmQTFyUTdBdXFqOWFvVEkrTkU4RXUwL1FYbTJyblhCZWRraXlV?=
 =?utf-8?B?aDlJL29Yc3B4bGZNSENpVkFDOTljbmg4dzljOUFmQ0tlTHJWVEhjL2p3TmdJ?=
 =?utf-8?B?V2F3dEVJdDJKUXRpUkl2OHBSSlVmZm13UVZ5MEtXbEpGNGJHdHJkNlRqRjlU?=
 =?utf-8?B?QjBJamVWbG9BczdlRkR3RzJ3dmFjSVUyMis1Wkx4eXorZDVHL3dtdWxuZExk?=
 =?utf-8?B?V1MrOVk1bzA3aXZkT2d5N2UvNnlCNENuZlgyR2Q2T0Q0RnM2WUV6Z3Z0SVVV?=
 =?utf-8?B?UUc0WlRNaXRRd21UZTAyRU5LL05JM0YrRkhxMzlNMDROUit1M0RLaDd0M3Bh?=
 =?utf-8?B?cHpFdGhkZ3ZKYkkyWUhrbmVZQk1lQncyZ0YvVnE0VFBkS2dnT3RnMVh1MXEz?=
 =?utf-8?B?SVVJMmQ3ZTJ6MW9ESCtRVEp3Q2g2UmEzREpGSlYyUVhpdFFJQ3JsY1VqczlP?=
 =?utf-8?B?UHNYVGF2cTE5SkJSd3VEZlJibjZkMVFPQStYMTlsWkVqNkdtUnNtVUhwckFH?=
 =?utf-8?B?R0JhRUMrTGdRWGI3NjQwSDB4TnFXV25pTmJkWkEwWjF0V256dEFnVlp2QkMr?=
 =?utf-8?B?aXZ5Nko5ak5kN2xDTytzc2F5Sy8ybGFrK0d0eVo4RG13eDF5bW1KUjJYdlFF?=
 =?utf-8?B?dFJFK0VEclN0S0lJcGdCcVBja0NNR2JqL3FWaTVaQkRQb0tyVHFrclo2Rjdl?=
 =?utf-8?B?MTQ3SUlBdTBYOFBrUlVndTJOQ2cva1RSdmZMMEpWdE1wZ1YrVkNnTkplWEtx?=
 =?utf-8?B?L3YvNU1jZDVMWGdFTXlpVklnUWxIblJyQ3FBWEd0Nm9iYUF0S2dIWDRMVC9P?=
 =?utf-8?B?dVBDdTRWdjhzR2FxcENvazVFZE05RTAvLzVUaG9Pb3I2U1l0bjhiY3NVYWtJ?=
 =?utf-8?B?QjM2anB1R2VWNUJ0UGoxY0lpYkx1MzZtcWVpQ1pmVUZrYmdhSTZ1cjY4a3d3?=
 =?utf-8?B?Uyt5M1VZaXRKcnhCMVJuelBidXdFb3h5SnFJVHZsNFdTTnlPZWdoTnZMMGo5?=
 =?utf-8?B?Wnhpb0pHZ1BDUjgzc29WWUVZQjBmT3V3TTVqOU1Ddy8rTkZma0puSFhGbVUx?=
 =?utf-8?B?eHJyaGV1YnVPQjlZZXA5SVN5dm4xa3E5alB4ZDlSek5vQklrMEFvSFFKNWNZ?=
 =?utf-8?B?MFo4T1hBN2lWQzBjUkxhTUE3VW1zVW9peUxEbVMxaW1Vck1EWmh2RVpKYkxV?=
 =?utf-8?B?ckRqdmRSSE1QNlFGNU1uRHdyamZ2RTBtWkdPVzdBSjlPMis2OGQ0TTBDV1RG?=
 =?utf-8?B?enBsc3A0dmovaVI1VGJLMGRRM2NvbCtGRWxVMkprcDAyejJiVkVSc2cyMng5?=
 =?utf-8?B?Z1AwSUEycmpZWElOcUhQUDU1RTM1UlkraW1TNjAvWVFEdVJRaFpqQ05PVVpY?=
 =?utf-8?B?T1c0blFMYUdxQ254SEFSdStxbmsxYk84b283UHBaQi9CZXNwQmlVZHlvNzl2?=
 =?utf-8?B?cjV0NzBiUVVCUW4zczBNMG16OS9kVjRhV0RIRk92aitFNmVOQzBPcXIxNGdI?=
 =?utf-8?Q?EFF1FHNE8mSbmS2fqnEp+oFG3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ed74522-ea47-409e-6645-08da81b96150
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 08:04:02.9657
 (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: 04iqRon6cbX5JuM5AM5CCazXNY5ZkOD7ZJGChf2PV5q1AOFOwIOQ8IhH0w+OpaRgPuWGYxny6LgxPuZ1z/djuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6362

On 19.08.2022 09:59, Wei Chen wrote:
>> -----Original Message-----
>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of Jan
>> Beulich
>> Sent: 2022å¹´8æœˆ19æ—¥ 15:50
>>
>> - add parentheses where they were missing (MISRA)
>> - make sure to evaluate also v exactly once (MISRA)
>> - remove excess parentheses
>> - rename local variables to not have leading underscores
>> - apply Xen coding style
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> I wonder whether "if ( n_ )" is really helpful: It's extra code in all
>> callers passing a non-constant size, just to cover a pretty rare case
>> which memset() is required to deal with correctly anyway, and which
> 
> What rare case we need to use n_ that can make memset happy?

I'm afraid I don't understand the question.

Jan

> As your
> comment, I read the code again, but it seems to work fine without n_.
> 
> Cheers,
> Wei Chen


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:06:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:06:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390113.627344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOx1M-0007CT-4U; Fri, 19 Aug 2022 08:06:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390113.627344; Fri, 19 Aug 2022 08:06:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOx1M-0007CM-1H; Fri, 19 Aug 2022 08:06:24 +0000
Received: by outflank-mailman (input) for mailman id 390113;
 Fri, 19 Aug 2022 08:06:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOx1L-0007CG-F9
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:06:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOx1I-0003c7-HG; Fri, 19 Aug 2022 08:06:20 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOx1I-00059n-8Z; Fri, 19 Aug 2022 08:06:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=TLREZyzb3k41kVCtazyjjLThjXIj6aAfIw+sh+gvNok=; b=IxAz5X2mtvWDokWDzJw6zKY1Jo
	+KdT49TDsxz08np3UEhHIk44cBy2NrvD+rCAsi47aAiNNKBsD6zgzDeodVKcCXaeUhVzhupKXggEF
	WOW7u3uf5JT5AkvzbJ3OrOAXcCpCKvFG9BzeouWXNc6YyX16SDbCbil0rjpKf8+csdY0=;
Message-ID: <acdebd64-0f0e-b391-271b-0725e4a56c43@xen.org>
Date: Fri, 19 Aug 2022 09:06:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <6da837d7-4784-f517-5c24-2bbe6a2af2be@xen.org>
 <1e5496f9-47f1-3cf4-794a-9a840ee7c59f@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1e5496f9-47f1-3cf4-794a-9a840ee7c59f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 19/08/2022 09:02, Jan Beulich wrote:
> On 19.08.2022 09:58, Julien Grall wrote:
>> On 19/08/2022 08:50, Jan Beulich wrote:
>>> - add parentheses where they were missing (MISRA)
>>> - make sure to evaluate also v exactly once (MISRA)
>>> - remove excess parentheses
>>> - rename local variables to not have leading underscores
>>> - apply Xen coding style
>>
>> This code has been taken from Linux. From you write above, I don't see
>> any strong reason for us to modify it (even if it is small).
> 
> At least the MISRA issues want addressing, I suppose. Plus I wasn't
> able to spot the macro in Linux anymore (nor __memzero()), so to me
> there seemed to be little point to consider keeping anything "in sync"
> here.
I read the last part as we want a re-sync of the code (we haven't done 
one in the past couple of years).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:12:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390119.627355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOx6l-0000Bu-PJ; Fri, 19 Aug 2022 08:11:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390119.627355; Fri, 19 Aug 2022 08:11:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOx6l-0000Bn-LQ; Fri, 19 Aug 2022 08:11:59 +0000
Received: by outflank-mailman (input) for mailman id 390119;
 Fri, 19 Aug 2022 08:11:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOx6k-0000Bh-3U
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:11:58 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10054.outbound.protection.outlook.com [40.107.1.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9778dbcb-1f96-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 10:11:57 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8600.eurprd04.prod.outlook.com (2603:10a6:10:2db::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Fri, 19 Aug
 2022 08:11:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 08:11:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9778dbcb-1f96-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ixrTm4mFYeiJnlZ0515cwaaIpZjMpSB8/rg3yqgXPqxhX4z1xi/GDI0w4K/eImgLz/zf78ImMlAoRIREFkLXX7HUAECX6EQAIoX76yV1WQXqE4Tfn9T7E00IXHlCswtKqgP9DvZyb3EWtr3RE+ccDg24Cx3dj7gty3v4SJIVepsLSWfqZuuFox2HCAKHfW6Qc4qQCW+GUYf4H6jNihRc+lFeDMB4Bati6qfAwdAdLxVn71iJ7R0gCzlrrvxqH5RcqDTGujZioFZIMi1rxmmtgHf1oJj3QTE/YN/ggWbb+3Woa3LK4O5Qb0bff8DB9dJ0yvgHEz5EAx9RYE2yf/yk2A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YjlgEtmW/ECdrd5wVCKP1t/iJue45rLdbC3MQTxTBDQ=;
 b=VlqPBRYz98aL09etMUMRff+nUnQP2+pqYKFJ75XD+Y/jjZO9ky17/WZl+4yDOu6ZL22fW+ApGvD33cISbjme8fW84+1ufSELCoNEOZQcP/PrUk488jp1oEpYocwLYP7VQ6IDu0hvd+hDWR7B6bAeKXz9xjJzgNhy0og07q49iJ1HYNjSDyJKFR9Ru0z1O+l8D8FqCHYSjjqBNZKFFLgHwinPiC7ThrZE0OkuR0j6oPxjPl0RulR0NBManFVGDrjnkhzBF81kbofhzWBIfUPm8ty8uUbEoHKzuNTIK/IswUWBHQ++pd62TdNwjR+PI322sbRG9B7e0Gj4sThmKBVdIg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YjlgEtmW/ECdrd5wVCKP1t/iJue45rLdbC3MQTxTBDQ=;
 b=AmWaR8HHPW+hr3LhV88Ov+UHb3FSx+BYvQfIMkEX/97TWHiBm6tdhvk3mXPMs6ikK5mKKxpomtd/YBY+OLcViwh2gas49PU/p3QyVOZGkEidXW6JZSAyC0bC9lSJzNH1+ov2gnqBF2lNwizzkZguhQzcjeEztEI7yX8gP4OBYg/Ih2QBFVKF4Lqe/aVt8RTd0C6U9ywoOWKL6dpAlHBkEDVA0yMPUAWCZ4lj3f/2p0mOpAFPan5BeerWD5zYTro9z9C13okEJ+uNK9acEiJotWJ7aXjO2Pp7qB8onEYMLwUpyAV0WayXoBNiC2JnW4/b310JiII2YToq+BBBsmxrJQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f0e42732-87fd-396c-5d79-2087666b0eda@suse.com>
Date: Fri, 19 Aug 2022 10:11:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <6da837d7-4784-f517-5c24-2bbe6a2af2be@xen.org>
 <1e5496f9-47f1-3cf4-794a-9a840ee7c59f@suse.com>
 <acdebd64-0f0e-b391-271b-0725e4a56c43@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <acdebd64-0f0e-b391-271b-0725e4a56c43@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0177.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 546ad639-7790-4151-a773-08da81ba7a14
X-MS-TrafficTypeDiagnostic: DU2PR04MB8600:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QMNazArgNGtyHictlqC/1stx7vS4tZPWDpDuWFSJyKfbvSg/icS9/DahojzaOJ8tfPnqC4xOJpOuHNf3tbjLzVZGWnyZoNGQiH/LfQlqhikaocOKINJxgIHonD9+lYe47zyJQP34yj5dvSFow31Kbzu1lfDcFiyBhAzhMberN3m9EbzdPbXfkrWdq2ARaokNl9D90pqlLxR56zZs0yZxzegHTZ+VQfVfyhPBrQ9CCdDNlqAQ4d7A5hw8PMtUSFdP3rIiBrXY3v8ak9z120neMCYhZjUIULqN4kAaMDIvXQVrXjzNvHCbuAXq6nDOzg66rBx35B5llMSSGwHHyOoTrkwepdqVmeKUKDiUQWchoLQJrka/hr5rPaO8r+hKtx6F/bu2QZomdv1elw5XaL+q6aL6NFboppUwrsiRTwufEI4ySDH7R+TDNmgZ+DE+3OJdfEw1dczOGPcCZCDyElideXQCaoUkegCc4r7lamSSFzNEzj78HPBdbsYLK8+YARiDY6mVIDaA/MtlU9xs82gZH1TfQdlrImbBwtD65b2fjzr6JmNFX4QbHvFB2qc5lCsCuM71qjahV4BGTNe+DnAll4VDUdO+a0etsojcY2SFlrpxgZmSiErjwoKxgU76VjQKQhwxE76VGetC0c5YmVL3FSEgAO6u9NZihRlDrLc8RF3aVt11FywQwVdgNuFXqecjVbiVdxemHZxdobl2EIgRmgqt4D36K7rA0kFXwoReCG7x0iu9+DuOMmLka5h4gzbfYsszbRylvrGn/fAEtA6dVnCna1hyPZ86VBXeTBvtdx4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(396003)(366004)(376002)(39860400002)(346002)(2616005)(6916009)(316002)(186003)(31686004)(54906003)(36756003)(38100700002)(6506007)(66946007)(4326008)(66476007)(66556008)(2906002)(31696002)(8676002)(53546011)(6512007)(41300700001)(478600001)(26005)(86362001)(6486002)(8936002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFlOeVF1dlJTdFl0OFVIOFkxMHdVL1Y2dmFDeWNWNGEwcWdFRjczcG5aR1lZ?=
 =?utf-8?B?YjlvMjVHMk81WEQvWVNhUHY0dk5FZ21nMGtPSVZTNHFjTC84RWFwNlpiTGY3?=
 =?utf-8?B?SmRDMldnTWRMaFZzWUt1QzZ3M2Q3MzA5TXd4VXEvR2VWVmlzbmlHY205MitW?=
 =?utf-8?B?Y2VOaFdIWFBRSTVHUEJITTdpbVFEbDlNa1Fxek9PWmk2Z3JmNTErbXdDaTdP?=
 =?utf-8?B?MktoNEsvNWRhSHc0R2xjK3lCOVllemQ1N1BPdUpLTGhWZlJMUUJxM2ttYk5h?=
 =?utf-8?B?bGZPaGVTZ09WazdDYkNkTFlaWFBNZDc1NVlmSWxYd1hML2xGWkV0MVZpV0k5?=
 =?utf-8?B?ZHpZdUhMaVl5c3ZESFJhblZkQkdvQ0MxYWtaU0ZYVktLcm5NK0FFbk95VUVB?=
 =?utf-8?B?NlQ2eG9hei9tdmVEYTk5R2tIZDUwRjdLeU5mWWo5NnFoVExHZjZOMzdZTkkx?=
 =?utf-8?B?L2ExalVGbnNmTFVjUjFGdUN3SG9kS3NZTVAycHdwZTdqb3E3eUFFL01YSFlU?=
 =?utf-8?B?SEN4bzEzYlIxYzR5aVBkcXJRSmcwQjZEb3lTR2FRZFRTeldmelU4KzlOVDFG?=
 =?utf-8?B?bXBBWGhDYVVwZmRsNXRJWHozSGxtdDlqQldiOGlKL1pNTTVnaktSb0FYU1hy?=
 =?utf-8?B?cnREZTJQV1d2V2kwaXNWRVg4REl0TWlyS0s4UHdEcUNxZWxuTVNFRlhoZWJX?=
 =?utf-8?B?T3VzLzFPUEdENEI5cHlWb0VOb3J1d1ArcFd2WW5oYm51ODBTSDE4NnZRM1lE?=
 =?utf-8?B?eng3ZFp2MU0yaU9tTDk0Mk5VeHIrY0UwSmtmTFhkeUowRTJDUk83ZDV6UmxJ?=
 =?utf-8?B?S3AxbGdZeGN6M0x0Y1ZGVENZZWF0eFg2L1gvRzgzT21iZHlXT1E2R2VZVHVJ?=
 =?utf-8?B?Z2lZNHBSME5RbjUxOWtEUDhCRWU1QzNqUHh5WFZDRW5tSkorOXBGWHNiWEtW?=
 =?utf-8?B?YTNTaGhEN1JUdTVyWGpaRmpIaGVpaFBOZXV1ZTZjNTl2S1p6b3g5SXltMlRp?=
 =?utf-8?B?OGJSVkZzY3hCT1JaY0FjOTJTWVZ1aVQ4V0pFK3FkUE1lN2tnOUtSdUhMTG5B?=
 =?utf-8?B?M1owU1RUTThGcU9uODhZM0RMamxVdGU1dklvWitEa25GdTRPWE9yZnhBU1p4?=
 =?utf-8?B?aW4rVm9lV2c1NUNsai9JWTlVTjhBa2Zab1RIdDVPUTJjeHVES0Y4NWZQTDMw?=
 =?utf-8?B?azVvNmwxM3FEUTU1ZklLRUUvMjJLVU9HOWJkakVTT1pweU9EaERMN3hiZWtw?=
 =?utf-8?B?Y251dVZ2clB1ZERxVllGellXczlpM2NUcVdvL0h1RHNrTXJQdWoxWkFSM2ZX?=
 =?utf-8?B?TVo4bTJPaExrZXpnVlovaXF2dU1YaXNhVEc1d2JhdU93R2ZWbGc1V284R293?=
 =?utf-8?B?WW45aHFiYllCQ2t6VHNDZURVeUdXNjVQaHU5WFV3V3RDU2xBQURscTRtVC9S?=
 =?utf-8?B?bzE3Vld1dmx5VWk5V1BRZCtMbEtvSE43NFZIUnVBR3V5VDdtVnZPdkk0QlZV?=
 =?utf-8?B?ZEsvem0yeVo0TW9adkdsdUtheFE3S0VXdE1HeUVHTUlQNHRQVm4vUXN2NmtX?=
 =?utf-8?B?VS9iN3ZIaDJqQUFubTdTdndvcEo0N1VzUHlYNFlrd2UxVTdTVXU3WXpCc3Ev?=
 =?utf-8?B?TlIwZG9xUEZKV0RXOHhrS0tCUEhZM0tobys0YXpoSG1hQlpYa085a1ByeVpy?=
 =?utf-8?B?aUJqbHN4Y3U5NEIrQm91M054TmlEMjh3UGhmZWVoRzh5YjJsajVBRU1sb2V0?=
 =?utf-8?B?a2RWSzAwcWFIdGlFVExsdkh6cHpOYTBHLzdwaDVpbDVpOStoYiszb1pLeUx1?=
 =?utf-8?B?VW1xWDMvVFZndzU3YUFsZTc3UXcxL0wvRzU0YXhGTWJHOEVjQ0VIK2hJQUZD?=
 =?utf-8?B?YisxakQyeTk0YVJ3b0JwVWd3SE5sVjY1NkRVaS9oWTg2WnBVTHY1cWNTbDhI?=
 =?utf-8?B?aUQ1amIrZFduRDgwQlZTL3gvMnZLc0xGK0JERVg1SFY4MStQMUVDTlhQY3NS?=
 =?utf-8?B?MjFMN2ZiTHZIaml0WWRLL3FLa0dBYmNRUmNobHhVZzlVRThCZzEySUdLOGRL?=
 =?utf-8?B?Z0xwQ3EyamdwVGdmNDBUOFRBVG9RbTJFc3NaY0FURDJsa0QzekdEdlFyT1hD?=
 =?utf-8?Q?JwgkArGsyrXF8vRGsLXcYmNmM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 546ad639-7790-4151-a773-08da81ba7a14
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 08:11:53.9670
 (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: n+It7jyYCTGyLVe7BpBiaRkmKM1gt0p+A0L+oITj0pAKJ93b+/mm6Fg4heXQxi4M77pB5RP2Db+mAUcYeBUiOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8600

On 19.08.2022 10:06, Julien Grall wrote:
> On 19/08/2022 09:02, Jan Beulich wrote:
>> On 19.08.2022 09:58, Julien Grall wrote:
>>> On 19/08/2022 08:50, Jan Beulich wrote:
>>>> - add parentheses where they were missing (MISRA)
>>>> - make sure to evaluate also v exactly once (MISRA)
>>>> - remove excess parentheses
>>>> - rename local variables to not have leading underscores
>>>> - apply Xen coding style
>>>
>>> This code has been taken from Linux. From you write above, I don't see
>>> any strong reason for us to modify it (even if it is small).
>>
>> At least the MISRA issues want addressing, I suppose. Plus I wasn't
>> able to spot the macro in Linux anymore (nor __memzero()), so to me
>> there seemed to be little point to consider keeping anything "in sync"
>> here.
> I read the last part as we want a re-sync of the code (we haven't done 
> one in the past couple of years).

I'm afraid I'm now really confused: Which last part? I don't see how
any of what I have said could be read that way. Quite the opposite:
By stating that Linux doesn't have this macro anymore, isn't it quite
clear that there's nothing to re-sync against?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:25:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:25:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390126.627365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxJQ-0001mw-W8; Fri, 19 Aug 2022 08:25:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390126.627365; Fri, 19 Aug 2022 08:25:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxJQ-0001mp-TU; Fri, 19 Aug 2022 08:25:04 +0000
Received: by outflank-mailman (input) for mailman id 390126;
 Fri, 19 Aug 2022 08:25:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOxJP-0001mj-F2
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:25:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOxJL-0003wN-Tt; Fri, 19 Aug 2022 08:24:59 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOxJL-00060z-NZ; Fri, 19 Aug 2022 08:24:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=o56dPTr/D22M97W7BQViEwyWF5tFKkxkadlFNgEq9+g=; b=5hLW4FeHoB2HH4civRtmmA7u7Z
	EAtbOYpCj1CohIqv8in/b3aPtou2QH5eKusrtRKqFSrpI4FeBR4BtWMskC2rP/Ert8lTkLSKsdA5A
	K6/NyqhLLXRZLBhK/0PmOjCTDVOxEsidT1oHNZLaKgsk68IdWPsyh02WOkzmoY+x3GJg=;
Message-ID: <fa02a09b-ee7e-b1aa-d183-377aa18a591f@xen.org>
Date: Fri, 19 Aug 2022 09:24:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <6da837d7-4784-f517-5c24-2bbe6a2af2be@xen.org>
 <1e5496f9-47f1-3cf4-794a-9a840ee7c59f@suse.com>
 <acdebd64-0f0e-b391-271b-0725e4a56c43@xen.org>
 <f0e42732-87fd-396c-5d79-2087666b0eda@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f0e42732-87fd-396c-5d79-2087666b0eda@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 19/08/2022 09:11, Jan Beulich wrote:
> On 19.08.2022 10:06, Julien Grall wrote:
>> On 19/08/2022 09:02, Jan Beulich wrote:
>>> On 19.08.2022 09:58, Julien Grall wrote:
>>>> On 19/08/2022 08:50, Jan Beulich wrote:
>>>>> - add parentheses where they were missing (MISRA)
>>>>> - make sure to evaluate also v exactly once (MISRA)
>>>>> - remove excess parentheses
>>>>> - rename local variables to not have leading underscores
>>>>> - apply Xen coding style
>>>>
>>>> This code has been taken from Linux. From you write above, I don't see
>>>> any strong reason for us to modify it (even if it is small).
>>>
>>> At least the MISRA issues want addressing, I suppose. Plus I wasn't
>>> able to spot the macro in Linux anymore (nor __memzero()), so to me
>>> there seemed to be little point to consider keeping anything "in sync"
>>> here.
>> I read the last part as we want a re-sync of the code (we haven't done
>> one in the past couple of years).
> 
> I'm afraid I'm now really confused: Which last part? I don't see how
> any of what I have said could be read that way. Quite the opposite:
> By stating that Linux doesn't have this macro anymore, isn't it quite
> clear that there's nothing to re-sync against?
Your view here if we will never re-sync the code. This is incorrect, we 
still want to keep it close so we can benefit from improvement in the 
Linux code. So if you start tweaking the code just for coding style 
purpose, it will just make it more difficult for us (I appreciate this 
is limited here).

In this case, Linux has removed __memzero() is patch ff5fdafc9e97 "ARM: 
8745/1: get rid of __memzero()" because the performance difference with 
memset() was limited. For Xen, I think we should also remove the function.

With that, this patch becomes pointless.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:27:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:27:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390131.627376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxLt-0002Ms-CK; Fri, 19 Aug 2022 08:27:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390131.627376; Fri, 19 Aug 2022 08:27:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxLt-0002Ml-9Y; Fri, 19 Aug 2022 08:27:37 +0000
Received: by outflank-mailman (input) for mailman id 390131;
 Fri, 19 Aug 2022 08:27:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wa9Z=YX=citrix.com=prvs=223f339b3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oOxLs-0002Mf-1f
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:27:36 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5602112-1f98-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 10:27:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5602112-1f98-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660897654;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=0vbLNEDBddnSMh0BLDSY+nEmsJhF/tinWER1wLXptJw=;
  b=gM9bV9nRLP50A5CjpL/sUnHUAN/3qjOaJ9Qzz0Tbvyu+66CXeQLSeTKU
   zmqXLQznryu90FLuh/MMo+96iITU8/xZ/jqUpwKnNBrap2O2qVIXdEuqe
   dfuyC9FAWrK8+/RRZ9klxhEeeOxrBbabCOQzWbQXJhk2IVMZfLtQGwXZV
   w=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78194798
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Czyd96kSxmpaXjult/z/sJ7o5gzvJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIfUT+Fb/7cYjagLdh0YIi+804GuZbdnYVnGlFk+Sg0RCMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K2i4GhwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kRI7wow9dqOF1n9
 M4UaxQfaEiMmOGPlefTpulE3qzPLeHuNYIb/Hph0SvYHbAtRpWrr6fivIECmm1q34YXQKiYN
 5FxhTlHNXwsZzVGPEsXD5Qv2v+lnHDlfxVTqU6PpLpx6G/WpOB0+Oe9aYuJJY3aLSlTtkqU+
 U/B+WD7OU9ZOeCWzAiro2D2vMaayEsXX6pNTeblp5aGmma72Wg7GBAQE1yhrpGRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JSGeAn7ACGyoLP/h2UQGMDS1Z8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy10amlnQqDJBEpBG4waWwgXw1d7MbgmdRm5v7QdeqPAJJZn/WsR2+ok
 2/W9Xhg71kApZVVjvvmpDgrlxrp/8GUFVBtu207S0r/tmtEiJiZi5tEALQxxdJJN86nQ1aIp
 xDocODOvblVXflheMFgKdjh/Y1FBN7faVUweXY1Q/EcG82FohZPh7x47jBkP1tOOc0ZYzLva
 0K7kVoPuscDYCT1PPMpM9nZ5yEWIU/IRLzYug38NIISMvCdiifclM2RWaJg9z+0yxV9+U3OE
 ZyabdytHR4nNEiT9xLvHr91+eJ6mUgDKZb7H8+TI+KPjeXDPxZ4iN4tbDOzUwzOxPrU/l2Io
 4gEa5DiJtc2eLSWXxQ7OLU7dTgiRUXXz7ivwyCLXoZv+jZbJVw=
IronPort-HdrOrdr: A9a23:H2liK6s88TSIN3Q4ivxUGtUk7skDdNV00zEX/kB9WHVpmszxra
 GTddAgpHjJYVcqKRUdcL+7VJVoLUmyyXcx2/h2AV7AZniChILLFvAA0WKK+VSJcEeSygce79
 YDT0EXMqyIMbEQt6bHCWeDfeod/A==
X-IronPort-AV: E=Sophos;i="5.93,247,1654574400"; 
   d="scan'208";a="78194798"
Date: Fri, 19 Aug 2022 09:27:18 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v2] xenbaked: properly use time_t in dump_stats()
Message-ID: <Yv9JZtKzr69Osxbr@perard.uk.xensource.com>
References: <68e71e3b-19a7-e062-9ebe-2e6f6aae0549@suse.com>
 <c3b8c742-928f-80af-3cf4-4962b96721e1@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <c3b8c742-928f-80af-3cf4-4962b96721e1@suse.com>

On Fri, Aug 19, 2022 at 09:59:26AM +0200, Jan Beulich wrote:
> "int" is not a suitable type to convert time()'s return value to. Avoid
> casts and other extra fiddling by using difftime(), on the assumption
> that the overhead of using "double" doesn't matter here.
> 
> Coverity ID: 1509374
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Properly use %.0f everywhere.

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:29:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:29:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390137.627388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxNF-0002yA-NM; Fri, 19 Aug 2022 08:29:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390137.627388; Fri, 19 Aug 2022 08:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxNF-0002y3-KA; Fri, 19 Aug 2022 08:29:01 +0000
Received: by outflank-mailman (input) for mailman id 390137;
 Fri, 19 Aug 2022 08:29:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOxNE-0002xx-Rn
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:29:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOxNE-00040c-GL; Fri, 19 Aug 2022 08:29:00 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOxNE-00065m-AI; Fri, 19 Aug 2022 08:29:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=T1DniYxvh+soHF3b4qDNzU4NRsFcg/H5V9saA8j6vdY=; b=ctp3/vfsvd2pZ8fCWiyhffMXp3
	lvUvEeAkxUxZqmZAadJxI/zvGjbHPmpCcUqls9Yz7WKFNZ5mcSN/4e761Pwi+kT9KpohVUQ4PT6iQ
	Dc4T5Ryc5hEDjKBaTg3qNg8VzGmu86mZj2PycYegq0pQQkBvhc5GcdKahtCT2FvezrJE=;
Message-ID: <c9a6d9c4-ea22-c429-fcad-547df02a0248@xen.org>
Date: Fri, 19 Aug 2022 09:28:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 1/2] Arm32: correct string.h functions for "int" ->
 "unsigned char" conversion
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <14e9bd8c-3f4c-4d7c-401a-c9de7b483308@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <14e9bd8c-3f4c-4d7c-401a-c9de7b483308@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 19/08/2022 08:49, Jan Beulich wrote:
> While Arm64 does so uniformly, for Arm32 only strchr() currently handles
> this properly. Add the necessary conversion also to strrchr(), memchr(),
> and memset().
> 
> As to the placement in memset(): Putting the new insn at the beginning
> of the function could perhaps be deemed more "obvious", but the code
> reachable without ever making it to the "1" label only ever does byte
> stores.
So the assumption here is the rest of the code will always use byte 
stores. Given that this issue has been present for a long time, I think 
it would be wiser to do the conversion at the start of the function.

The changes in memchr() and strrchr() looks fine to me.

> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/arm/arm32/lib/memchr.S
> +++ b/xen/arch/arm/arm32/lib/memchr.S
> @@ -14,6 +14,7 @@
>   	.text
>   	.align	5
>   ENTRY(memchr)
> +	and	r1, r1, #0xff
>   1:	subs	r2, r2, #1
>   	bmi	2f
>   	ldrb	r3, [r0], #1
> --- a/xen/arch/arm/arm32/lib/memset.S
> +++ b/xen/arch/arm/arm32/lib/memset.S
> @@ -21,7 +21,8 @@ ENTRY(memset)
>   
>    * we know that the pointer in ip is aligned to a word boundary.
>    */
> -1:	orr	r1, r1, r1, lsl #8
> +1:	and	r1, r1, #0xff
> +	orr	r1, r1, r1, lsl #8
>   	orr	r1, r1, r1, lsl #16
>   	mov	r3, r1
>   	cmp	r2, #16
> --- a/xen/arch/arm/arm32/lib/strrchr.S
> +++ b/xen/arch/arm/arm32/lib/strrchr.S
> @@ -14,6 +14,7 @@
>   		.text
>   		.align	5
>   ENTRY(strrchr)
> +		and	r1, r1, #0xff
>   		mov	r3, #0
>   1:		ldrb	r2, [r0], #1
>   		teq	r2, r1
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:32:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390144.627399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxQ2-0004My-5f; Fri, 19 Aug 2022 08:31:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390144.627399; Fri, 19 Aug 2022 08:31:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxQ2-0004Mr-2p; Fri, 19 Aug 2022 08:31:54 +0000
Received: by outflank-mailman (input) for mailman id 390144;
 Fri, 19 Aug 2022 08:31:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOxQ0-0004Mj-FB
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:31:52 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2085.outbound.protection.outlook.com [40.107.20.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f1d5a36-1f99-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 10:31:50 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB5401.eurprd04.prod.outlook.com (2603:10a6:10:82::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 08:31:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 08:31:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f1d5a36-1f99-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H54ObffAJs9Xti0a2lkqU89Vzxn58yB3D5FnnrV7rrfY1KKqMOCBSupTFHcbyPsJfWnDU0gYsOFuZ52JS/MZaHyQGbl2VZzMKzK1z/Bp+NCWHCwDw/Cd8fEimidDfkc0BLyLkTnGIht7zviE0kC3Ex1utRJz+MLnXMakLma13o14Vn/JrPBxl6STbLrCcslKUVBsmEsL+603FuY7Np1x1Mg5t7No86EDqXAX7yxiS+Vyad4um7P7Kr5HQe4e6qi93TQF+QxcU0tg76TNQXnJD80xdU+H7sa0hKt4PxwMk0xK2LmQ1LcXfgcA6h3t5ib9//W6RBnNFGd/XvEVoZc0SQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MLFUZnovX0PeZSMhpjaT+QOsWTG07wTUM0QqRYFgYrc=;
 b=TlHwMvW+KftTUqzYkBzOddlacKF2yBQObECpUQK3hdUqfX3q7y8+bneI20pq0mpajjtgx/7qiKTL+jL0gwC/L2mtWJyAfr5ALvXNAdxjwUkVfuH6EWjjgnfmb+IxCee4uCgNnccGFGYSKF3u8pDCUqmFOdVt/LE41KsDGcgy6J3eSLgqJ9UNPIR3goYlWsYR+N7iBeH7/y+99SS+ND8TGpXrqIUNMDx0KbjzIwGpeOWRHrIC7/rjdYvz7d6yGtE0a2KY05T8Y1dY2QKdlj8kubg7UVLagCaPbuf69sxynoblsCUs+MnAVuAtOTjNbJ9ParIHiWzBqFiASA4sQN2Pbg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MLFUZnovX0PeZSMhpjaT+QOsWTG07wTUM0QqRYFgYrc=;
 b=eqlRPJxbaZcD+1ZIZVIwbIhoK1IVYf1IoGZJ73FXkjIx6pCrsBm2ih0oI1FbMXcN+LkoDZ9PbltILogdsu44PlIOZNuMAkNQRAkb5lEl+xwWBwBh6NHHcuKzHh9Vvwd8Ib25VRa9s+a6l0aNhs91mcR80+SET69YJju6DAKoWptnI/3/xSslsCMsHtO5CIfea/J4C4mrHCxEZPEH4ky2xRknAM8Ytk4zF6Rb1xVGSmSHg5uI/2qQrQxosqVdoje12Z7DV3gkYcZthpCF+fuo/kAxdKlpmqcsVz7RT4o8pF9MqpxvqHfWX18CjzNB2y7xo+4FOmy4Y9x3fVm6CxQjwA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9a6e389c-3774-a625-042d-e10b7e87ace8@suse.com>
Date: Fri, 19 Aug 2022 10:31:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <6da837d7-4784-f517-5c24-2bbe6a2af2be@xen.org>
 <1e5496f9-47f1-3cf4-794a-9a840ee7c59f@suse.com>
 <acdebd64-0f0e-b391-271b-0725e4a56c43@xen.org>
 <f0e42732-87fd-396c-5d79-2087666b0eda@suse.com>
 <fa02a09b-ee7e-b1aa-d183-377aa18a591f@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fa02a09b-ee7e-b1aa-d183-377aa18a591f@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR0202CA0046.eurprd02.prod.outlook.com
 (2603:10a6:20b:3a::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1aa2f9d6-d5b5-49d6-1f4e-08da81bd422e
X-MS-TrafficTypeDiagnostic: DB7PR04MB5401:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vBQtJx6MXUy+bl2JRi3CtD1aNWNe2U9laJ5b6FBmcbGW0kyoNWGUyeZG9CAHiwLBYh4l5+xKEzUKFsCDLNmRC6aV34TnmrSCP9snLw99oQ0hGH4HoIG6Pw80bFISCl2zdTP+gueZaasuqnWW9OkuX4UE9kRTiiRHpAtsj/UklRbQ3DT6SGBRak3M4dfp++CVVrDbaSc8/7kr+yXJfCo9k+qUhBYkM8Ji9e9qjupdp9HnE7VMcmh+rspkMTXXq/CX5e5msuNwcgky1hka3L7GByHz3vEjF5aH0fuXMjwzxQ1BZfjhr0YqjMtv5Y+Vy8SIeY2KhS/ihpGA+YIZafwAbBXhwO4PuC4bIfR97OnkEGUqTLz8rTm+FIPabXcfoXvJVWC3f4JYA0uko1apnLWudRfnk+Cr4+v11lCNdIaUFfHGQm1pYm/5/gx9EN+QsEpWIQmJvb1r9MHPNTif64/9JGkfe9mYXt/75VV5EBfx+bVh9Tx26P5F3NjeeRmEWDMVM6WB0JFkU3t74xc3FIAJ+lE4xiROMQzVOL2aCdIZlDAFglw0MEFEJiu/PhbB3Eo1M0JH1vKb+an+AqVqpgrE2Rudg0VUK5FMjQR4KB2eoLbRPLpkDSpEAkI/r59IKmW6sq/PUwDpoxH1IKPnKm+hAAek9JXQnCcUdDenHIbeG3k/UWPhGPB5zxM4Y5GfVAOtmZ9+F1Cx9alXBQI4mi7KzZsrdHzlSS+pwajLa4lWraaTUWT/hcRAxewVMzGF3t1SIipRNjQn6gCOoIfUEVy12M/dr4UL0v5NrkWz246xlAQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(346002)(376002)(136003)(396003)(86362001)(31696002)(2616005)(186003)(83380400001)(38100700002)(31686004)(53546011)(316002)(54906003)(6916009)(5660300002)(2906002)(36756003)(8936002)(66946007)(4326008)(66556008)(8676002)(66476007)(41300700001)(6506007)(26005)(6512007)(478600001)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c3UyNkJ4b2dENEdGQzNKa2E2bWEvMzNvU2RWSXJuU0xzUVlpc3ZOaGVyY0FJ?=
 =?utf-8?B?T3ZxNWlONmFrYm0vT0NZVUVtNmEvZWpWMmNMOXdSY2dXYkl5OVd6NDFFaUZ5?=
 =?utf-8?B?T0xLZXVrNU9aczJFanBENDRudTkvamdjWjNRM29pN0JjcCtQSWpBekFoNGx1?=
 =?utf-8?B?RjluSmxadGVYNzRNY0NQdGVlSkFOanZNTVN6TTFya3BWTkgrTjdvazNXZUdo?=
 =?utf-8?B?amZieDdiVTk3c2NZWUlEbldUR09mMytMSTFWMktNTG45NUwwMkhNWUsxWDdQ?=
 =?utf-8?B?YjU5cXArRzFJTzBLYXhSWHhheUdrSTlkOEQ4TmlVSWJSV1lpWDRiRE0wSjRl?=
 =?utf-8?B?SzlObVl4QS9Yb3BOR0RmbnRGZE9QTVNOUHNpWkRYUVMvQ1FBalBjS2tCejhJ?=
 =?utf-8?B?VEJSanZ6U1dGYmRaVmhnanpFY1lMR0VyNGJxTElwN2VSVUE2Y2s1TXJZdVl1?=
 =?utf-8?B?R2I2ODd3bVlLcmlyWG1YRFU3NWNDVXZNTkhFdlo5QitMN3JqS3dub1BKa2VP?=
 =?utf-8?B?Ry9IZXZJRGxqTHF0WUlNZWY0OGVZYi9yVkk4Q1huNTVONU9LUERPRFFkb3du?=
 =?utf-8?B?a3Q1OSswTUN0MVJ4c2JWZi83Y2FnY0tETjV1NEIyeEVhaHYwb0NZaW5DSVZR?=
 =?utf-8?B?THA2ZnpPM1Q4aVFKemVBOGV3WHRVSHEwdHgvUkduN1RwVUo0RSs1dC85TkpG?=
 =?utf-8?B?T3NnQlRwYVRMOTFEMlROUUY1aU0rVjNBbUtVb1U1Y3EwS3FQSkZwdVU0aWZ6?=
 =?utf-8?B?ZDJvSDhHaWdxZG9uSGpLYzBFWnptbVNyR3M5bCtkYUVUSGFNMVJjZHQrUEE3?=
 =?utf-8?B?Z0s5SldleSswK3pGWWZUa2FVSlRUb0xsNmVXSXF6MmUrWkF4OWhMWTF0aGYy?=
 =?utf-8?B?ZGVOdkd2bnBTRE0zU3RGbnN4Qzc3VUFBc0lYWjMxSnBoMjhEeUtPNy9vZDVF?=
 =?utf-8?B?VEtaZW5UNVcva3JsekdHcloyMGx5cDAzTXMzbEFjMG90alRXOU5xNElrRmhP?=
 =?utf-8?B?QTRqR2lLTWFjem1nU2xMb1JYSyswWDVNSVlaOTN0UUc3cHhBdHo3bThBcTV5?=
 =?utf-8?B?OUIrMVVKM3NFMGZHSTh4SjhzTjZPT2s4Z2JsTEFIMlV5U0tnd010WEJkRUNo?=
 =?utf-8?B?YkxvODhsT29COHNpQUNPMUIreDFUQW5hdlNzY2hoc2NjdXhhMExmRVpXMi9G?=
 =?utf-8?B?bzIxeVpkWXd0cjdlM0ZSMDRVVUdGTHl0dGtqOEkxdmRSUnNtQThWWUxwaFVO?=
 =?utf-8?B?dlNocjVydC9SUFFjOThycHJhK2orajVTbnlXbkFYTUZ0UFJVRHpNbWRYWHdk?=
 =?utf-8?B?NXU0R1RFU3RMbGpUazhyc2VxTGZRWDhUSmk3dXB0elh5STJmV3hNeFc2Y0hr?=
 =?utf-8?B?dHlSYkk4enpMdjkvZE5tVGVEL2ZyR2luUkNlOGVkNjlhT1lFc0gwazJTK2h0?=
 =?utf-8?B?dGIrMjVQcWttcTdxVlVOUmpGcytjbElyaTdTRzZFQ0hoWVp4Q0lNNGxqMTgw?=
 =?utf-8?B?QU12RXRmUEQ2NUpXbVN4c2N4eG1VRjZJZXJUbGZqU1ZCVWxoTnpzQTV4Zm83?=
 =?utf-8?B?cHVFK0ppQnlnVmF6MEJNZXpzS1BPYTB0aXRXYnMvaUIvSXpzdXUvMWh3UG16?=
 =?utf-8?B?a1ZKd3FtUUthYkhMYTAxcnVOL0RqTG9kbVVtejFsMXAyK1JEL01ELzBRVHpJ?=
 =?utf-8?B?MEpTSEhlRnVNRkN3aFVJZ25rVlZ3Nm9XNXpmYmRvY2FYTjZiL3lMRUxKdGdu?=
 =?utf-8?B?bFB2RDYyWmV0WmV2ZngzS01TUlMrOXF0UHVsR1Q4RWh0czdBOVV6UDNDUytF?=
 =?utf-8?B?cVZVV2JDdWFMSWtSclBHZnp3Q3RFWGg3dythOHZJSlZIanJXWFlkM1Z6R0t1?=
 =?utf-8?B?N2VFSVhWWTU5U01XcGNEZGdsMHNBayt6MERXcXJuQWMyc0J2b0R4anAzd0pM?=
 =?utf-8?B?UE8veG4zaDVqQ0RsYWtwY1Z4eURZSW9vQldvSzVnY3k2U0JDNUs3c2NDMEdk?=
 =?utf-8?B?RWlsVEVRbXBHV1BzZFB3QTZqOGs0ekpaZHJpZUdxVVkzS0pNaEc1QkVCZkxx?=
 =?utf-8?B?dTRNVHp4ZTQ2V3ZVS0J0VGdDSjZzbWcvbDVFWm5zM2tIVENxQll2cUVGTTd5?=
 =?utf-8?Q?WTzsbjJB3Sq49hX2QN/eknJcu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1aa2f9d6-d5b5-49d6-1f4e-08da81bd422e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 08:31:48.6717
 (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: 3NHiiMbovb/WyLOsVaFI1YKYHIUo5ZJBEgv3kjIHYk0dcsfmOo+/Cgz5CKqMjqhowEvq7R1p4P1hJayPKWTYeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5401

On 19.08.2022 10:24, Julien Grall wrote:
> On 19/08/2022 09:11, Jan Beulich wrote:
>> On 19.08.2022 10:06, Julien Grall wrote:
>>> On 19/08/2022 09:02, Jan Beulich wrote:
>>>> On 19.08.2022 09:58, Julien Grall wrote:
>>>>> On 19/08/2022 08:50, Jan Beulich wrote:
>>>>>> - add parentheses where they were missing (MISRA)
>>>>>> - make sure to evaluate also v exactly once (MISRA)
>>>>>> - remove excess parentheses
>>>>>> - rename local variables to not have leading underscores
>>>>>> - apply Xen coding style
>>>>>
>>>>> This code has been taken from Linux. From you write above, I don't see
>>>>> any strong reason for us to modify it (even if it is small).
>>>>
>>>> At least the MISRA issues want addressing, I suppose. Plus I wasn't
>>>> able to spot the macro in Linux anymore (nor __memzero()), so to me
>>>> there seemed to be little point to consider keeping anything "in sync"
>>>> here.
>>> I read the last part as we want a re-sync of the code (we haven't done
>>> one in the past couple of years).
>>
>> I'm afraid I'm now really confused: Which last part? I don't see how
>> any of what I have said could be read that way. Quite the opposite:
>> By stating that Linux doesn't have this macro anymore, isn't it quite
>> clear that there's nothing to re-sync against?
> Your view here if we will never re-sync the code. This is incorrect, we 
> still want to keep it close so we can benefit from improvement in the 
> Linux code. So if you start tweaking the code just for coding style 
> purpose, it will just make it more difficult for us (I appreciate this 
> is limited here).
> 
> In this case, Linux has removed __memzero() is patch ff5fdafc9e97 "ARM: 
> 8745/1: get rid of __memzero()" because the performance difference with 
> memset() was limited. For Xen, I think we should also remove the function.
> 
> With that, this patch becomes pointless.

Of course. I could have named this as an alternative in a post-commit-
message remark ... Looking forward to the re-syncing to be done then,
at which point I'll happily drop this patch.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:32:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:32:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390146.627410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxQV-0004nl-Ea; Fri, 19 Aug 2022 08:32:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390146.627410; Fri, 19 Aug 2022 08:32:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxQV-0004nd-AX; Fri, 19 Aug 2022 08:32:23 +0000
Received: by outflank-mailman (input) for mailman id 390146;
 Fri, 19 Aug 2022 08:32:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOxQT-0004nN-O9
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:32:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOxQT-000454-Dd; Fri, 19 Aug 2022 08:32:21 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOxQT-0006BF-7F; Fri, 19 Aug 2022 08:32:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=+Fd7GjenphA+YdTx19RNZ6ZmneZjutSlr/6pcXWn9U8=; b=5IMN0ZEejEesjp2MqPsTDJr4oA
	oGcwzgIrk5O6MvzJoYRkV5ZVf1nVmXkHnbnzfbwxu0xTtZttaR1ECjYt1qqu1Wwxpp01ddafIWXSL
	DWIJClbcmcj1MVKEvnOsm5D+rUZBRsOoRa3aCXUXnWMJ3IM104nW7OdLCm1KT1+tLY3I=;
Message-ID: <c9df0573-044f-615d-f170-36ddbed6b50a@xen.org>
Date: Fri, 19 Aug 2022 09:32:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 0/2] Arm32: memset() & friends
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 19/08/2022 08:48, Jan Beulich wrote:
> Note that while the original Linux code has the same issue, I don't
> really fancy sending there a patch similar to patch 1. That's because
> my XSA-307 related "make find_next_{,zero_}bit() have well defined
> behavior" was entirely ignored, so I would expect nothing better here.

Would you be able to point me to the discussion?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:33:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:33:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390155.627421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxRV-0005WF-Mr; Fri, 19 Aug 2022 08:33:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390155.627421; Fri, 19 Aug 2022 08:33:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxRV-0005W8-KD; Fri, 19 Aug 2022 08:33:25 +0000
Received: by outflank-mailman (input) for mailman id 390155;
 Fri, 19 Aug 2022 08:33:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oOxRU-0005Vy-0M
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:33:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOxRR-00046T-AE; Fri, 19 Aug 2022 08:33:21 +0000
Received: from [54.239.6.188] (helo=[192.168.16.114])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oOxRR-0006OK-4F; Fri, 19 Aug 2022 08:33:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Hbfl7ZU6qjxXVMQWCk2bKfdDk8QgASKf8bJ9ghOFb4E=; b=hw49EsO88XbgM3Fg8DbUkDYasI
	HS+5URki48kKfYcK7MADKldLxzYd8PuUWng+PDxvoSXLU87PIojMBxMtfOqHBT+m27U3A5Rqe7b5/
	f+dm6lk++b376kobQVvu6/xjwTUIDa6RRhIcGfSdyfiq6QmwkBYFIe4X2CUYnSzp74AI=;
Message-ID: <f61a8dd3-f89d-8583-ec47-3dc841b16bef@xen.org>
Date: Fri, 19 Aug 2022 09:33:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <6da837d7-4784-f517-5c24-2bbe6a2af2be@xen.org>
 <1e5496f9-47f1-3cf4-794a-9a840ee7c59f@suse.com>
 <acdebd64-0f0e-b391-271b-0725e4a56c43@xen.org>
 <f0e42732-87fd-396c-5d79-2087666b0eda@suse.com>
 <fa02a09b-ee7e-b1aa-d183-377aa18a591f@xen.org>
 <9a6e389c-3774-a625-042d-e10b7e87ace8@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9a6e389c-3774-a625-042d-e10b7e87ace8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 19/08/2022 09:31, Jan Beulich wrote:
> On 19.08.2022 10:24, Julien Grall wrote:
>> On 19/08/2022 09:11, Jan Beulich wrote:
>>> On 19.08.2022 10:06, Julien Grall wrote:
>>>> On 19/08/2022 09:02, Jan Beulich wrote:
>>>>> On 19.08.2022 09:58, Julien Grall wrote:
>>>>>> On 19/08/2022 08:50, Jan Beulich wrote:
>>>>>>> - add parentheses where they were missing (MISRA)
>>>>>>> - make sure to evaluate also v exactly once (MISRA)
>>>>>>> - remove excess parentheses
>>>>>>> - rename local variables to not have leading underscores
>>>>>>> - apply Xen coding style
>>>>>>
>>>>>> This code has been taken from Linux. From you write above, I don't see
>>>>>> any strong reason for us to modify it (even if it is small).
>>>>>
>>>>> At least the MISRA issues want addressing, I suppose. Plus I wasn't
>>>>> able to spot the macro in Linux anymore (nor __memzero()), so to me
>>>>> there seemed to be little point to consider keeping anything "in sync"
>>>>> here.
>>>> I read the last part as we want a re-sync of the code (we haven't done
>>>> one in the past couple of years).
>>>
>>> I'm afraid I'm now really confused: Which last part? I don't see how
>>> any of what I have said could be read that way. Quite the opposite:
>>> By stating that Linux doesn't have this macro anymore, isn't it quite
>>> clear that there's nothing to re-sync against?
>> Your view here if we will never re-sync the code. This is incorrect, we
>> still want to keep it close so we can benefit from improvement in the
>> Linux code. So if you start tweaking the code just for coding style
>> purpose, it will just make it more difficult for us (I appreciate this
>> is limited here).
>>
>> In this case, Linux has removed __memzero() is patch ff5fdafc9e97 "ARM:
>> 8745/1: get rid of __memzero()" because the performance difference with
>> memset() was limited. For Xen, I think we should also remove the function.
>>
>> With that, this patch becomes pointless.
> 
> Of course. I could have named this as an alternative in a post-commit-
> message remark ... Looking forward to the re-syncing to be done then,
> at which point I'll happily drop this patch.

I will add it in my queue. I don't think this will reach 4.17 (unless 
someone else has time).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 08:42:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 08:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390162.627432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxZj-00074y-Km; Fri, 19 Aug 2022 08:41:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390162.627432; Fri, 19 Aug 2022 08:41:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOxZj-00074r-Ho; Fri, 19 Aug 2022 08:41:55 +0000
Received: by outflank-mailman (input) for mailman id 390162;
 Fri, 19 Aug 2022 08:41:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oOxZj-00074l-4g
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 08:41:55 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50063.outbound.protection.outlook.com [40.107.5.63])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c66a50d7-1f9a-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 10:41:53 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR04MB3193.eurprd04.prod.outlook.com (2603:10a6:7:22::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 08:41:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 08:41:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c66a50d7-1f9a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IBdaPGCY/Skj0T0D++/kFCtP4qgvei9wqT0T6FssPGsg0uznROLqpicR7WqaPk/fNFkzikcR6flqWQKxjchZJ1z6gxI49go5O6lbxdytZO9qyxVS8rP1v8X6GWBa0XFMcld9ss1JxYA+cl+fOO3AnBwAj4yI6k88pI5wNY/JgXiN3735POgZ448Du4sv5EZCpYCScJi24tSp9+0/Q4xQYXgO5+gRCM7p3lv5wZy1CGkVYp136w8AwAk7Dz7tKzA4kJhjf+kKhbZcpmlr80Wf99x/Fw+cQwsNZkPU+t4ZeJ868OZS0CY2+mFoTI0gfu2U1/F7VmSEjbZMdSaMZcVOFg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=636AiH3eaKDcqxeFitjbegrSs3QrDKscxxDIBtSuMU8=;
 b=M2G53cAbH+cZbehtpD1q9zGe957s659pTfTs100bEydBBPfFR/9/ylBYZ4VxDbE03M8ZUHWG4pbyk3MepnsU916ObKqROMRy5I6lQ4Vt+w44aCr+gptef9G8ViDbMpKCNK4s1QUOoF+edZkBkN8zW10ldGhw+hhCYTbJ8rveZvSsEQYVNS6u7/wm5GCGvsJeE+o4htFgHldyl8nxOIicMKPRqOg0x0YC9NNe/36xeUaS3b+U61nfSx1s+aUBU4vIYwXggLGuPh2scOAYoIl4wQHaY+TF1I76XKBYnrFdtPv46nLEU9Q90KtMOsw9wKG4MICJfjc7g+Ph7XH3XLTLjQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=636AiH3eaKDcqxeFitjbegrSs3QrDKscxxDIBtSuMU8=;
 b=NhJNRp8Qlyh5U0M8VWxB6HRO8YTulq1sk2GC3YWZjK1BymK9vNsaX/SElXVzUNPdiS9VRQUgvg7FGEA8dUcOsa3VL2w0iYYLEodfMH+QZsmOxmN/CECFBlmjYGHmUaOU3pjwtGsifz9a8WmzQYJG5LY1BMXebaQiSBGYJzttZTCp2ElJjxfIQAK2gnBcRA4NJ/QCsKtXT4ZR2AvFYaEScIAjSvi3ceLND0VrJQYekZC6pvT4jNlDlA2XPQZBVFRj8Z3DfAegPwVA1CM2FL1ei+z7fRhmy3Gr4eFKpQs6EwQ5tSOGXmms4bq6+iVvxkyfOQKZqF6GVacI1wD9QjSCpA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e8ab4650-a8bb-f847-762f-fde16d2a5d1e@suse.com>
Date: Fri, 19 Aug 2022 10:41:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 0/2] Arm32: memset() & friends
Content-Language: en-US
To: Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <c9df0573-044f-615d-f170-36ddbed6b50a@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c9df0573-044f-615d-f170-36ddbed6b50a@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0104.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 377a1411-17b4-482f-d403-08da81bea9a5
X-MS-TrafficTypeDiagnostic: HE1PR04MB3193:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UOaE6KYRwJIw1MntUTfTQBWIqKE9ZItePaySYNPTrz7Tq4qWKJzQ45KZ3idqzOCejY5nKDN1QAi16vzN27S9P5PU0UeYed3TkprAlwfEFRdjlzV33MWZ6jyDKchLuC2lCajqyaVVwC2lCsW1XbfmR55RuJyfGN2wVr+WJlazSdZjz1IsmU2YbGdfBa91jYTC5PovL57VCWtOlYlFYuU3DfMkJeL7Gu85VfX7O0+F8R37qWPvmClO86+lPEUexHlbDd0JSS6RJ6TxRBQWjcTwKp2IaLxl9MBp6mSriRDmiwNeoit8sqwmwMk0pigBG8uK6aHjtME67vmuU+eOZmT19BPqgWzy0p4QkR3qK6ZfZOPD5wTcEqVZxb8WS+41sgcL1HmbSAMGJXYB/SXQ6EEGGIYazQU2oVLNkffSjdKryjvAX1oL8oVxVN3eCEYE16gCDagIf1JfLzmE+t4CCrQbLVeA5XyAIMQJGHmbFcH9+i6ckjma+1zASVdMFdBD9VBu86B14bCKRva1k5XzGT1InaPC7bsWlDG+3wBeVNWEp/T4JG0h+si+AlpjGF43ninjkc7jGq12DSKMmbxSrxNlyUKIZq4iWd1uvCX2PZW0sOYr1mQl5oyqmDJElFeBXH8cRayuw+gPZUrF6EzlVsp3gQgUw7smfNxwGEP3C7i4cvJFU2e71zex3ydBnIq8nV9l+lSqMvRzLtJmdx7C7D9xnsaOm6kMpd3k2tdl5ZzFiQc4ZGuU+MrBb0RCHTsqXzKXpM6JkL9JD8BBmI9xfdeE+Vt8c+b72osb5YZlefLpgfZTnUzSvlHInz+M65qKfxTXxInt9oLjQfauP4BOm+3xo/RR3MJIIBvcVQjh04rqyNk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(346002)(376002)(136003)(396003)(31696002)(86362001)(2616005)(186003)(38100700002)(31686004)(66476007)(316002)(110136005)(54906003)(4744005)(5660300002)(36756003)(8936002)(66946007)(4326008)(66556008)(8676002)(2906002)(26005)(41300700001)(6506007)(53546011)(6512007)(478600001)(6486002)(966005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFB1by9NdWpHamxHMFV6ZFUzcmdLSlR2MGREUjE4WFg4cUdyUnROVS9lekM5?=
 =?utf-8?B?UkNNOCtrL0UrSkF1amUwaFJVak04dkMwUFMzc3hzSDEzQTV6UjNQbEY2ekY2?=
 =?utf-8?B?bXlKeERaSDNYZUR1amJDeEF1RzlXL2FrbXhNQ3JrQVBJbjBVbTQ2a01KcjVs?=
 =?utf-8?B?QW5YY2dXYlpXVkxBS0xURXMvcDM2cmxjZHdlVEZOMmt6MTllV21iRm04WjNp?=
 =?utf-8?B?Rnd6a0FQQ0RpMFUzUEc2MktiTVpFWVlNT3VuUHZRVHEwaEhaOVo4cEZOOEp4?=
 =?utf-8?B?V1lRMFNrTGF4NmptVW55QjNVU28rYVByVngzMW9tZjNzdGFyVFZoeC9QWFYy?=
 =?utf-8?B?MldDcFE5Ym5sRURrRmFaYzRnWm9UaEE1aTdIdFc4Y0JyYXBCZzVnQ0lRdnlO?=
 =?utf-8?B?SG5KZG5CbDl2MmI1WUpSZ0tZT1VmNlhySDdXQWMzUWMrVkFqbUV6VHBHbysx?=
 =?utf-8?B?OGpKc3VabXVCUjZrajMycGo0VXZpRFFBTlF2QUZxQmJWTzZHdjgra1V2ZVgr?=
 =?utf-8?B?d3ZyODZNTjBGWUlXeFh5cGpuOUZMUzJtZGpPR2l6aXM1OVBZNXBnN21yOG4v?=
 =?utf-8?B?THRueXZYOGw1Q09uT1hRajdWR21JcURlNVFNUmFST2g1ZWV4R285L2JlQ0VM?=
 =?utf-8?B?bm9lRitmcEY2dzAwTCtqYkVjTFQrRFh6SjI4RjRORVJEN2FHM3RiUGo3ZjQ5?=
 =?utf-8?B?SDVHMFpxekJSYkZ3K1RuTzBTakV1MVVvRllVaVFMejNXOXFIdGVUZDI5NWdX?=
 =?utf-8?B?TTVZZ0RCKy9VYWtWZHk2T29Ia296Z3REcGtZUHQvalVVdEZWbXF1RWNCeVZ3?=
 =?utf-8?B?MDRkc3hlVUgvdnk3UlU1dUJ1eHBCa2ZOWmo1NTlpd3JoVDJ0MG9DS1d3Unow?=
 =?utf-8?B?WEJtTk5sUSttUHpuU3MzT0hkY2JxSEdBclp4cjl5UFgvT2h4cFFiQ1RxR0Nv?=
 =?utf-8?B?NyszNmEyam5nai9ESHFGc2tSdHk3TzA3dTVUN3RqMi9peG5oVmkrZCszNlU1?=
 =?utf-8?B?Z3Voa054RFNUR0ladzlsblFralF4S3ZqSXdnd2VuUmtZTzlPUEd3Vy9UdEdJ?=
 =?utf-8?B?WVBidXQxMFZJbFNEWnFITkdhaEdGaldraVVGbWtpaDBVMTlOTGRQNkNlZnhT?=
 =?utf-8?B?VTgreUJBcTVRcmJ2ckdRbFdJQnBpc2ZiMnQyQTBVbDFZVXkrY0RQWmZXenhz?=
 =?utf-8?B?NjhVVWxMaDNDMythZ1hwN2UzTjhVdlRHS3prUnVSTVFiMk81VFBPMkRXeXBs?=
 =?utf-8?B?Z1pPV05hT2tyWFdTdHJIcHRVNGVnMXNHT0IvL0tkT0l1RXgxR2FqdldCRWRn?=
 =?utf-8?B?SDZvaVRJdjI2cDd6dVRJZzIxclQvcVcrOW9WRzdkMS93VUtXUXRjeEtPRHFM?=
 =?utf-8?B?bVdidE1KVFZDQVBTaHYwa3VvS2x1Q2ZxeGg2cGlDdVVVT3ZUV3pwQ3Jpd3pv?=
 =?utf-8?B?V3Q1TEpyNGZSWXVYaUdPSnVGeW5WanJPUjQ1WjFjWlVpTzVYQWhpR205RExX?=
 =?utf-8?B?T2JoQ3lkdlU4bGZrcWpoYmxqZXQrdW5NSDZIdnMzdFBmZElCcDRtSElSc2N6?=
 =?utf-8?B?Y2tTQU4yYi9zOUFJdzh4MzlReUlSTzJhYkJYV2xSM2U1QTBKV09TbjJwdWhV?=
 =?utf-8?B?amdWN05HT3dON2xDSkxKS2YyMDMwVVdZbUxwM2FZazJuN2tTeU4xS2R3bGpo?=
 =?utf-8?B?ci9RR0planBDcUUrVjc3Q1phb1J4Q2UvRit2RTVPK0dLNDlBZ1JqSFNlTHJo?=
 =?utf-8?B?RXhlQVJJdHlqcWlaTFVoWENOSmtHMlY1czh2cG5WNFA3SEZQbnFnczBFdzlY?=
 =?utf-8?B?VkNSNmc2REdzZ2NiZklocktsaCtGdTJ0UmdJWWZjZUlhNnJIUWtHVHFqSXhr?=
 =?utf-8?B?bTM3RktHQjY3WFY4aG10NGIzYjE5UHBVZVBKZjliTmRQeXRxR2RidzBad0dT?=
 =?utf-8?B?T25kdEVWOHlsbVNDUWpMVDE3RFpTZ1Z3cU9MaVZTVkRUVzNxZTlTekRDV1p0?=
 =?utf-8?B?MUVnYjViZXZZc2h5Q09YaUNlSXRxcEpnYVRobktvUnNhaGNiQ1BkYWUyTFZB?=
 =?utf-8?B?NUkwS0lLcWlMaUE4NFBKcnM4ZUJmZWFKRmw0aWp6VW00SGh2ZXZBajlKU1pz?=
 =?utf-8?Q?82K0iXyPOZMHYm0HJvNh6RdkG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 377a1411-17b4-482f-d403-08da81bea9a5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 08:41:51.7582
 (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: NmpnosxtbEUPypQCzUjCLwMgdt/oisc44y4iCrmOcrq46bUy9Hl54L+wihVNdL7BfTDj7gpgLdFcELFfbHzQzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3193

On 19.08.2022 10:32, Julien Grall wrote:
> On 19/08/2022 08:48, Jan Beulich wrote:
>> Note that while the original Linux code has the same issue, I don't
>> really fancy sending there a patch similar to patch 1. That's because
>> my XSA-307 related "make find_next_{,zero_}bit() have well defined
>> behavior" was entirely ignored, so I would expect nothing better here.
> 
> Would you be able to point me to the discussion?

Hmm, I can't spot it on
https://patchwork.kernel.org/project/linux-arm-kernel/list/ , but
then again there are only very few entries there anyway which pre-
date July 2022. I've been able to easily spot it at
https://lore.kernel.org/linux-arm-kernel/5809eac9-aae3-e111-7301-a1aa76c0f626@suse.com/

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 09:42:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 09:42:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390169.627443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyW3-0004hw-2O; Fri, 19 Aug 2022 09:42:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390169.627443; Fri, 19 Aug 2022 09:42:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyW2-0004hX-UG; Fri, 19 Aug 2022 09:42:10 +0000
Received: by outflank-mailman (input) for mailman id 390169;
 Fri, 19 Aug 2022 09:42:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pvko=YX=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oOyW1-0004hR-9E
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 09:42:09 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10088.outbound.protection.outlook.com [40.107.1.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f355d71-1fa3-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 11:42:05 +0200 (CEST)
Received: from DBBPR09CA0033.eurprd09.prod.outlook.com (2603:10a6:10:d4::21)
 by DB4PR08MB8197.eurprd08.prod.outlook.com (2603:10a6:10:383::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 09:42:03 +0000
Received: from DBAEUR03FT004.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::a6) by DBBPR09CA0033.outlook.office365.com
 (2603:10a6:10:d4::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Fri, 19 Aug 2022 09:42:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT004.mail.protection.outlook.com (100.127.142.103) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Fri, 19 Aug 2022 09:42:02 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Fri, 19 Aug 2022 09:42:02 +0000
Received: from cfb93c8fffd1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F0CF9A5D-C04B-4D4E-91E9-4F2ED00CBF4A.1; 
 Fri, 19 Aug 2022 09:41:53 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cfb93c8fffd1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 19 Aug 2022 09:41:53 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by VI1PR08MB3150.eurprd08.prod.outlook.com (2603:10a6:803:46::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Fri, 19 Aug
 2022 09:41:50 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5546.016; Fri, 19 Aug 2022
 09:41:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f355d71-1fa3-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=lHKHHoh6cQyAQ9fBnXS5LVMe5S4/ie7nUttqxaGs9jZgLLigFkxDkRLE+SEd5mtxRzwRAj7xGKshOtEiY2D6k6G1YZzpsNP64zT4aNHcm5XUBs2ECRpOZb7PjN5uc2xeCv32xmJHW6NlavYJ/TshpHQZAMcAa8GDOnZatGFtOr0igUxob4Zfob8vs9QM1D3XhkP90bFy4NseGvBu+JUZz3PlG/ujSLvnWUiOgpFd+0c+O2CFXSANUzh/SlRkh6wD/9XDbj1UYTuSeEYGAPeHt1GIS5EeHEEGigbbmc1tBrcr5NCnNRC4sSux97yy/NP8QnJ0fpwMaxp6obQWgZLdlg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D80xj0N6In7EC1i1ZDHyHZhg7/0s3Vu7H4GF4h6jeFw=;
 b=jeM9ocTYr8etnSBKKCNWCpfGMJ0mYmPtCxzVfQknoZmdWH+OAl3u3nOBX2pwlnehMvNALnuTMrWAabDNHRxxmTFCkXTeKn9VDVPH6wziNnVCiQK4QL26eBiPcREJVhyEmL9WxSjUB5p8yjLdbJT0/89303KAufO9DFBNE5wnyBL9x96LbXdqEUkdCGsYExDJKWvHryVeCJg4AO/Sf0ypZA6vbKW/p6Lb7UCnANk4mwcfz78b1/LRYFVm/HNL1zREhL3aBwRe6TBIfGjwqYbEKFVn6Gb9QNd7JQZ6NJgWoEHqAo8RkqUrZwG0HSjZvztUyWY35F91SsalVoDg+uqmJw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D80xj0N6In7EC1i1ZDHyHZhg7/0s3Vu7H4GF4h6jeFw=;
 b=6OY7P374mQUGZTpJaj4BLgRBgub8IaJj2vIdpTVz/Ds8OX6m3g08IDyIzZbCiPXoCa3TN4nZgVJRyF2loMBsTQqExXiQh65KlfLIVRHEUEB5sMGreh3dsGY3LLaKYSQchBMQ7SvkSiYjrK236nnAgN5aArCT+PtbNgOWoSWxtWA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JyEgiof4OT6VHvUeghYfbnCZxZAFxXtRpMmZinTbM/k8FSf4/2F4qGZUhsW2JAKVba5YwiVPrG6rx+YWTJw0ZEaq3pQKytxA/HIuGQ1l73c2z/E/mwQwzFZndJR8fVbESs9HDTXb75UbjMGPqLlq33CbXZyjTDsDfmDL7FMniaKxNKWbCsrNegKm7biUqYBOH7VR7Ci+5xUD31An7jyf8lxn6JcUdu2Bzc+8IVKuBQ8vhMGbDreJIqT3CmKSbqRpE2tbdNFL5ArUjFjUQv+Yp2E/RID9gQje70/ZB18nC2u+gSxZuUDaFTB1UV+t3Qfb8DymisM/2LP3JsvVJs7gmA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D80xj0N6In7EC1i1ZDHyHZhg7/0s3Vu7H4GF4h6jeFw=;
 b=UgWWYhWNCDmQuDlrct337vHc0pWZRmcqMG4S/wvfbpeedCNb4T9+W8KIhwH91PkK19BH+uqhrBQCAWfxuRSs04kNImvJJalzEQdnmQYYCYADGKR99UQjRhdjeHhniCCFom4aXYoVc8a0W2APh3vG6qjao3YwvXP4m+yw3EvTwM5te0xkEd5wG4PGaKaKJ9AxHpawWqgFPc21mLDFN7elMfTABhJwNr60GR9tGZMbgSco3ImPQ4eNhVBYY9yLHknNiJntoL6Wpo4am6FKcIEd4awK8B88BlIUQrVPTTRaExOu3y8KFn86M8kgPubPv8SrbD/LhvEoFEDT+oZ4ZJ4eYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D80xj0N6In7EC1i1ZDHyHZhg7/0s3Vu7H4GF4h6jeFw=;
 b=6OY7P374mQUGZTpJaj4BLgRBgub8IaJj2vIdpTVz/Ds8OX6m3g08IDyIzZbCiPXoCa3TN4nZgVJRyF2loMBsTQqExXiQh65KlfLIVRHEUEB5sMGreh3dsGY3LLaKYSQchBMQ7SvkSiYjrK236nnAgN5aArCT+PtbNgOWoSWxtWA=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH 2/2] Arm32: tidy the memset() macro
Thread-Topic: [PATCH 2/2] Arm32: tidy the memset() macro
Thread-Index: AQHYs6BtEnYIw9a2QEK+U+CB1vg/Xq21221AgAABzYCAABfasA==
Date: Fri, 19 Aug 2022 09:41:50 +0000
Message-ID:
 <PAXPR08MB74202616BCE3EB6B5F13D8EA9E6C9@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <PAXPR08MB74201D5D5741B9F19E3622A59E6C9@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <8a80c79d-975e-3866-2419-f6ac5678060b@suse.com>
In-Reply-To: <8a80c79d-975e-3866-2419-f6ac5678060b@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 0F00A9422906F34587A9AE6DFCFEE2C5.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: fdd995fc-afad-4045-ac90-08da81c7122c
x-ms-traffictypediagnostic:
	VI1PR08MB3150:EE_|DBAEUR03FT004:EE_|DB4PR08MB8197:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 KOM5esYTHt4KlDe/QubPl/SWcWDwQLnPgpDCx8h78mst0/E5Rry3p/SPefJuUJxCnFXdKTdngFc4s2jjTmoAY5cCsTsw5DSoWbVtqh3FW34y1PpZJ8B13Ra31MA44Tz3Oxw9bBUlfNm5mGaJkGRWk4GYWgOSK5ArpudAFSQTaDn7Cngfw8RYb/SHQzg2NN94uQbSv2zW9h18QH22iNjQ7jdUXvF0bUdf57026sHVJEHXeuZbt5gC6hPpA5CZxlJQGlbJroNRMkuGAoSDj4SClxr0Jt3hzgZLnPi77mCMshf/2VMgyn9Ds2wCk8Hfl3xck3oV6vV/OHTR/bNCJawJ3eubPU/rz6xiUxnllRUvsiIYwqm1qXCccrQRA2b7k/FT8+OVUAgFsZHp2Ufl0XB2vmlvCqgeuUuyy5Q67qYphReTe2VurPGM3ARnYSLNVL/PVWWehWltohHsCJQxxkLH/+Vp3PvZfwybiQP96hIHrU4XBTSg5sq4XrpZTi9eNBhH8sqMVnkYxQfi75D42GOg6ylVY450tiA0SZofKDfJL7qiaYmlsLLjGuOLQe9zJJWLCp4SP/90i31djLosb/8Z2cUm4TXz7Ds3ZHcynyOuInU93nQv6m4pmMe3oYKCG4lDnCRLz2F3OL9CILasJbEuzDlNzamvPAIgT1YFt69Fh38K1RLnjWvQJldRyKZ4PGa5iyud0mo3DPUjYrRqjGqcAC1djRzsqrkb7P+lQ5T2ftW5OUv05Ks1fUv8riJGG/JIPUKzYndCniI8FB/BpUUBlA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(38100700002)(122000001)(8936002)(26005)(52536014)(38070700005)(2906002)(186003)(53546011)(7696005)(6506007)(9686003)(41300700001)(5660300002)(71200400001)(66446008)(478600001)(83380400001)(86362001)(55016003)(33656002)(316002)(8676002)(4326008)(64756008)(66556008)(66476007)(66946007)(54906003)(76116006)(6916009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3150
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	421226b6-6b15-46d9-e6b9-08da81c70a8e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	j7c5aj+r3xHTDRdK4fLnVZZARHNh3tAWvRXK1hQjtDch7hYqYXyk7wA0kqcfN+lyn+o1elbufGtwYJVBtmagcq+UqHrQteMnoi7aOLA28ns+sLIgzmRI5Rlrk2L/SH3f8MYaHFF/cffZX87O/9YPo/Gu+VP+cRPzMn09osRy851siDuDf00PoktVksgYsGOQoD7VZUcrLcHLYlothVulXBsQHsRavbSScxMTMiq3HF5Lq7gvtwT1dzOOIhvji5VyWGYTaja6Bm465FkWkxGI2VdBX/PlzCXhgViKS4kQioUMNJd71uYLWpBgSzVjwXY531gHiq8xy8nHjyJS9+OyY/JCiLWDvzKLmszGfXx3MiBWFxmBminhG5K3Ac7LYmzMTNOp3BqaOp+ybdIGqY54Yv/NXtW1T+as3fb+gcIIYUS+BG5cXhCoN7Rp3weIlOnzj0yVZFdEBmgkmSiJfH5a3/VzBYwesgDFAJ/XVM+N3VfmPDLTwcJ0+XoSmZnYjYuEx7YZk5XJ+r4z9zCZNInjq96bAmNCFPOPoEkrnT8uY+65AmZqyMaLa5rdAIv0gQaW36WlQMQtYD1n/2J0dgvd6geDg+/whjpcs/nys0PGpswPy2YlEfjHvxTs/7Kg2pipd5z/tLoeNgycUT+3fSmT5PEWyoR7ROSYdJQIQYKqRk/x36Gij/nC3+Yii6wWNIg1hpWgAoB4ahAr/hIy3AVwBRhQ/uIQbtikSxsWQFuTftMoSKIMelIBhn0wlXq6LRVJL2qKd4tY+XKXTfHnjBpjEA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(346002)(39860400002)(376002)(36840700001)(40470700004)(46966006)(4326008)(70206006)(8676002)(54906003)(316002)(6862004)(52536014)(5660300002)(8936002)(2906002)(33656002)(82310400005)(478600001)(41300700001)(6506007)(7696005)(26005)(9686003)(53546011)(40480700001)(55016003)(81166007)(82740400003)(86362001)(356005)(186003)(83380400001)(70586007)(40460700003)(336012)(36860700001)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 09:42:02.9739
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fdd995fc-afad-4045-ac90-08da81c7122c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8197

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDjmnIgxOeaXpSAxNjowNA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPjsgU3RlZmFubyBTdGFiZWxsaW5pDQo+IDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsgVm9sb2R5bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0uY29tPjsNCj4g
QmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgeGVuLQ0KPiBkZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDIvMl0gQXJtMzI6
IHRpZHkgdGhlIG1lbXNldCgpIG1hY3JvDQo+IA0KPiBPbiAxOS4wOC4yMDIyIDA5OjU5LCBXZWkg
Q2hlbiB3cm90ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTog
WGVuLWRldmVsIDx4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZz4gT24gQmVo
YWxmIE9mDQo+IEphbg0KPiA+PiBCZXVsaWNoDQo+ID4+IFNlbnQ6IDIwMjLlubQ45pyIMTnml6Ug
MTU6NTANCj4gPj4NCj4gPj4gLSBhZGQgcGFyZW50aGVzZXMgd2hlcmUgdGhleSB3ZXJlIG1pc3Np
bmcgKE1JU1JBKQ0KPiA+PiAtIG1ha2Ugc3VyZSB0byBldmFsdWF0ZSBhbHNvIHYgZXhhY3RseSBv
bmNlIChNSVNSQSkNCj4gPj4gLSByZW1vdmUgZXhjZXNzIHBhcmVudGhlc2VzDQo+ID4+IC0gcmVu
YW1lIGxvY2FsIHZhcmlhYmxlcyB0byBub3QgaGF2ZSBsZWFkaW5nIHVuZGVyc2NvcmVzDQo+ID4+
IC0gYXBwbHkgWGVuIGNvZGluZyBzdHlsZQ0KPiA+Pg0KPiA+PiBTaWduZWQtb2ZmLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+ID4+IC0tLQ0KPiA+PiBJIHdvbmRlciB3aGV0
aGVyICJpZiAoIG5fICkiIGlzIHJlYWxseSBoZWxwZnVsOiBJdCdzIGV4dHJhIGNvZGUgaW4gYWxs
DQo+ID4+IGNhbGxlcnMgcGFzc2luZyBhIG5vbi1jb25zdGFudCBzaXplLCBqdXN0IHRvIGNvdmVy
IGEgcHJldHR5IHJhcmUgY2FzZQ0KPiA+PiB3aGljaCBtZW1zZXQoKSBpcyByZXF1aXJlZCB0byBk
ZWFsIHdpdGggY29ycmVjdGx5IGFueXdheSwgYW5kIHdoaWNoDQo+ID4NCj4gPiBXaGF0IHJhcmUg
Y2FzZSB3ZSBuZWVkIHRvIHVzZSBuXyB0aGF0IGNhbiBtYWtlIG1lbXNldCBoYXBweT8NCj4gDQo+
IEknbSBhZnJhaWQgSSBkb24ndCB1bmRlcnN0YW5kIHRoZSBxdWVzdGlvbi4NCj4gDQoNClNvcnJ5
IEkgZGlkbid0IGRlc2NyaWJlIHRoZSBwcm9ibGVtIGNsZWFybHkgaW4gdGhlIGxhc3QgZW1haWwu
IFlvdSBtZW50aW9uZWQNCndoZXRoZXIgaWYgKG5fKSBpcyB1c2VmdWwgaW4geW91ciBwYXRjaCBj
b21tZW50cy4gSSBsb29rZWQgYXQgdGhlIGltcGxlbWVudGF0aW9uDQpvZiB0aGUgY3VycmVudCBt
ZW1zZXQgbWFjcm8sIGFuZCBJIGRpZG4ndCBmZWVsIGl0IHdhcyB0b28gdXNlZnVsLg0KDQpUaGVu
IGluIHRoZSBjb21tZW50cyB5b3UgbWVudGlvbmVkIHRoYXQgaWYgKG5fKSBpcyBqdXN0IHRvIGNv
dmVyIGEgdmVyeSByYXJlIGNhc2UuDQpEb2VzIHRoZSByYXJlIGNhc2UgaXMgbWVtc2V0KHAsIHYs
IDApPyBJZiB0aGlzIGlzIHRoZSBjYXNlLCBJIGFncmVlIHdpdGggeW91LA0KbWVtc2V0IGl0c2Vs
ZiBzaG91bGQgYmUgYWJsZSB0byBoYW5kbGUgd2l0aCBzaXplPTAuDQoNClNvcnJ5IGFnYWluIGZv
ciBjb25mdXNpbmcgeW91IQ0KDQpUaGFua3MsDQpXZWkgQ2hlbg0KDQo+IEphbg0KPiANCj4gPiBB
cyB5b3VyDQo+ID4gY29tbWVudCwgSSByZWFkIHRoZSBjb2RlIGFnYWluLCBidXQgaXQgc2VlbXMg
dG8gd29yayBmaW5lIHdpdGhvdXQgbl8uDQo+ID4NCj4gPiBDaGVlcnMsDQo+ID4gV2VpIENoZW4N
Cg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 09:45:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 09:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390175.627454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyZW-0005KO-Gb; Fri, 19 Aug 2022 09:45:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390175.627454; Fri, 19 Aug 2022 09:45:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyZW-0005KH-DD; Fri, 19 Aug 2022 09:45:46 +0000
Received: by outflank-mailman (input) for mailman id 390175;
 Fri, 19 Aug 2022 09:45:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOyZV-0005K7-0v; Fri, 19 Aug 2022 09:45:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOyZU-0005MF-UQ; Fri, 19 Aug 2022 09:45:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOyZU-0005ZX-CH; Fri, 19 Aug 2022 09:45:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOyZU-00079J-Bu; Fri, 19 Aug 2022 09:45:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XbHyeLmW25ecB6JRsKlC+kjWp/sAjYyKsSpONiwpxVQ=; b=Mb/aFjiIZgZ9U2aSZY7Szf64LP
	2J9YCdsBGW9wpcyeRQzN55gAq4tz6VG4G3A8+EbbsWRRx5Xodvr1z7Wq/be+3KLNrXn1tI8WpWY8v
	97mdqqw8vqIODK2eSkxjeDJfHs07SXeseoR3CSGlKwirejlz4JEIOalwSAuS4uz1EPIs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172639-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172639: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=68bf712d4f5928af4c426dc82d27b9783e499d93
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 09:45:44 +0000

flight 172639 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172639/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 68bf712d4f5928af4c426dc82d27b9783e499d93
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   15 days
Failing since        172151  2022-08-05 02:40:28 Z   14 days  122 attempts
Testing same since   172621  2022-08-18 09:12:57 Z    1 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 780 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 09:57:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 09:57:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390183.627465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOylF-0006tg-M5; Fri, 19 Aug 2022 09:57:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390183.627465; Fri, 19 Aug 2022 09:57:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOylF-0006tZ-JO; Fri, 19 Aug 2022 09:57:53 +0000
Received: by outflank-mailman (input) for mailman id 390183;
 Fri, 19 Aug 2022 09:57:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wa9Z=YX=citrix.com=prvs=223f339b3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oOylE-0006tT-5V
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 09:57:52 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 61a702c2-1fa5-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 11:57:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61a702c2-1fa5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660903070;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=3UX244bnja2K5yF8+nlGJXPyNsgo4YFbgICV28eW0WA=;
  b=VZ4D1/ydVyzlaMmNWPbTTPRlZc2MrXjfDJM55f/19uykM+sjs9m/+ADA
   E5XHKzD7dgSCLkpUpIt+TPyETjyZV+QwsQlf4F8SIlJA7qr+y1XjBJzU0
   PLdpn/TGeMLoxtZPW+wKXw1xcEmF6cos+8BQsVMMNTrW0wndb7kqH+0QJ
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77684626
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6iwOEqllIxHs8hBa4M3QKj7o5gy5JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeXjyFM6nbajGmKot3O4iw8kMPu8Tcx9dkSFE//3phESMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K2i4GhwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kpF4E34v00H1pg/
 MMJJj1QNw+AveKplefTpulE3qzPLeHuNYIb/Hph0SvYHbAtRpWrr6fivIECmm1q34YXQKiYN
 5FxhTlHNXwsZzVGPEsXD5Qv2v+lnHDlfxVTqU6PpLpx6G/WpOB0+OeyboqJJIbULSlTtn2+i
 CHq4TrGPi4lFse66xW9zWOrg/CayEsXX6pNTeblp5aGmma7wm0ZFhwMEF+6uuWRkEOyW9tDb
 UcT/0IGqqw/91eiSNXnaAGpu36PvhMaWN14HvUz7UeGza+8ywSEAmkJSBZRZdpgs9U5LRQvz
 kWIgdT7AxR1vbGVQG7b/bCRxRu1PSUWNnMTfi8sQg4M4t2lq4Y25jrfQ9AmHKOrg9ndHTDr3
 yvMvCU4n68Uj8MAy+O851+vvt63jsGXFEhvvFyRBz/7qFMiDGK4W2C2wUfx4dlYN8WHdXeIg
 2kKlpXH8+M0DY7YwURhX94x8KGVC+etaWOC2Q4wQ8BxqVxB6Fb4I9kOvWgWyFNBd59dJGS3O
 BK7VRZ5vsc7AZe8UUNgj2td4ewOxLOoK9nqX+u8gjFmMskoL1/vEM2DiCetM4HRfKsEy/hX1
 W+zK5rEMJrjIf0PIMCKb+kcy6Q34Ss12HneQ5v2pzz+j+TGNCLKFuZZbgvVBgzc0E9jiFS9z
 jqiH5HSl0U3vBPWOUE7DrL/3XhVdCNmVPgaWuRcd/KZIxoOJVzN/8T5mOp5E6Q4zvs9qws91
 iviMqOu4Aag2CavxMTjQiwLVY4Dqr4m/SxjYHxyZgrzs5XhCK72hJoim1IMVeFP3IReITRcF
 pHpp+3o7ixzdwn6
IronPort-HdrOrdr: A9a23:V5mYtKA9SlUdBDPlHemU55DYdb4zR+YMi2TC1yhKKCC9Vvbo8P
 xG+85rsyMc6QxhPE3I9urtBEDtexzhHNtOkPAs1NSZLWzbUQmTXeJfBOLZqlWKcUDDH6xmpM
 VdmsBFeaXN5DNB7foSjjPXL+od
X-IronPort-AV: E=Sophos;i="5.93,247,1654574400"; 
   d="scan'208";a="77684626"
Date: Fri, 19 Aug 2022 10:57:41 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Michal =?iso-8859-1?B?UHLtdm96bu1r?= <mprivozn@redhat.com>
CC: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>, <libvir-list@redhat.com>, "Oleksandr
 Tyshchenko" <oleksandr_tyshchenko@epam.com>, Julien Grall <julien@xen.org>
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
Message-ID: <Yv9elYoCbkUP0pzX@perard.uk.xensource.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>

On Mon, Aug 01, 2022 at 10:23:48AM +0200, Michal Prívozník wrote:
> Ah, I couldn't find the commit in master, and it's simply because it's
> not there yet. It's in staging:
> 
> https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;f=tools/libs/light/libxl_types.idl;h=66dd1c62b2a3c707bd5c55750d10a8223fbd577f
> 
> The patch looks correct. Do you have any estimate when it can be merged
> into master? I'm not sure what our, libvirt, rules about xen staging
> are, but for qemu we require master (even unreleased yet).

Hi Michal,

Now that the commit is "master", do you think this libvirt patch could
be committed?

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:03:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:03:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390189.627476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyqB-0008Oc-8a; Fri, 19 Aug 2022 10:02:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390189.627476; Fri, 19 Aug 2022 10:02:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyqB-0008OV-5s; Fri, 19 Aug 2022 10:02:59 +0000
Received: by outflank-mailman (input) for mailman id 390189;
 Fri, 19 Aug 2022 10:02:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOyq9-0008OP-SO
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:02:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 183fbc16-1fa6-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 12:02:55 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 369FB1042;
 Fri, 19 Aug 2022 03:02:56 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2DDD93F70D;
 Fri, 19 Aug 2022 03:02:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 183fbc16-1fa6-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 0/7] xen/evtchn: implement static event channel signaling
Date: Fri, 19 Aug 2022 11:02:37 +0100
Message-Id: <cover.1660902588.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The purpose of this patch series is to add static event channel signaling
support to Xen on Arm based on design doc [1].

[1] https://lists.xenproject.org/archives/html/xen-devel/2022-05/msg01160.html

Julien Grall (1):
  xen/evtchn: Make sure all buckets below d->valid_evtchns are allocated

Rahul Singh (6):
  xen/evtchn: Add an helper to reserve/allocate a port
  xen/evtchn: restrict the maximum number of evtchn supported for domUs
  xen/evtchn: modify evtchn_bind_interdomain to support static evtchn
  xen/evtchn: modify evtchn_alloc_unbound to allocate specified port
  xen: introduce xen-evtchn dom0less property
  xen/arm: introduce new xen,enhanced property value

 docs/misc/arm/device-tree/booting.txt |  63 +++++-
 xen/arch/arm/domain_build.c           | 289 +++++++++++++++++++-------
 xen/arch/arm/include/asm/domain.h     |   1 +
 xen/arch/arm/include/asm/kernel.h     |   3 +
 xen/arch/arm/include/asm/setup.h      |   1 +
 xen/arch/arm/setup.c                  |   2 +
 xen/common/event_channel.c            | 122 +++++++----
 xen/include/xen/event.h               |   8 +-
 xen/include/xen/sched.h               |   3 +
 9 files changed, 373 insertions(+), 119 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:03:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:03:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390192.627487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyqa-0000Ts-HT; Fri, 19 Aug 2022 10:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390192.627487; Fri, 19 Aug 2022 10:03:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyqa-0000Tj-EQ; Fri, 19 Aug 2022 10:03:24 +0000
Received: by outflank-mailman (input) for mailman id 390192;
 Fri, 19 Aug 2022 10:03:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOyqZ-0008OP-IC
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:03:23 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 2850d0f7-1fa6-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 12:03:22 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3C83F1042;
 Fri, 19 Aug 2022 03:03:23 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 378EB3F70D;
 Fri, 19 Aug 2022 03:03:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2850d0f7-1fa6-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/7] xen/evtchn: Make sure all buckets below d->valid_evtchns are allocated
Date: Fri, 19 Aug 2022 11:02:38 +0100
Message-Id: <710e9e6477270212136d6f2047fd15a033fa7d71.1660902588.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660902588.git.rahul.singh@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Since commit 01280dc19cf3 "evtchn: simplify port_is_valid()", the event
channels code assumes that all the buckets below d->valid_evtchns are
always allocated.

This assumption hold in most of the situation because a guest is not
allowed to chose the port. Instead, it will be the first free from port
0.

When using Guest Transparent Migration and LiveUpdate, we will only
preserve ports that are currently in use. As a guest can open/close
event channels, this means the ports may be sparse.

The existing implementation of evtchn_allocate_port() is not able to
deal with such situation and will end up to override bucket or/and leave
some bucket unallocated. The latter will result to a droplet crash if
the event channel belongs to an unallocated bucket.

This can be solved by making sure that all the buckets below
d->valid_evtchns are allocated. There should be no impact for most of
the situation but LM/LU as only one bucket would be allocated. For
LM/LU, we may end up to allocate multiple buckets if ports in use are
sparse.

A potential alternative is to check that the bucket is valid in
is_port_valid(). This should still possible to do it without taking
per-domain lock but will result a couple more of memory access.

Signed-off-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - new patch in this version to fix the security issue
---
---
 xen/common/event_channel.c | 56 ++++++++++++++++++++++++--------------
 1 file changed, 35 insertions(+), 21 deletions(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index c2c6f8c151..dbe0a27311 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -193,6 +193,15 @@ static struct evtchn *alloc_evtchn_bucket(struct domain *d, unsigned int port)
     return NULL;
 }
 
+/*
+ * Allocate a given port and ensure all the buckets up to that ports
+ * have been allocated.
+ *
+ * The last part is important because the rest of the event channel code
+ * relies on all the buckets up to d->valid_evtchns to be valid. However,
+ * event channels may be sparsed when restoring a domain during Guest
+ * Transparent Migration and Live Update.
+ */
 int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
 {
     if ( port > d->max_evtchn_port || port >= max_evtchns(d) )
@@ -207,30 +216,35 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
     }
     else
     {
-        struct evtchn *chn;
-        struct evtchn **grp;
-
-        if ( !group_from_port(d, port) )
+        do
         {
-            grp = xzalloc_array(struct evtchn *, BUCKETS_PER_GROUP);
-            if ( !grp )
-                return -ENOMEM;
-            group_from_port(d, port) = grp;
-        }
+            struct evtchn *chn;
+            struct evtchn **grp;
+            unsigned int alloc_port = read_atomic(&d->valid_evtchns);
 
-        chn = alloc_evtchn_bucket(d, port);
-        if ( !chn )
-            return -ENOMEM;
-        bucket_from_port(d, port) = chn;
+            if ( !group_from_port(d, alloc_port) )
+            {
+                grp = xzalloc_array(struct evtchn *, BUCKETS_PER_GROUP);
+                if ( !grp )
+                    return -ENOMEM;
+                group_from_port(d, alloc_port) = grp;
+            }
 
-        /*
-         * d->valid_evtchns is used to check whether the bucket can be
-         * accessed without the per-domain lock. Therefore,
-         * d->valid_evtchns should be seen *after* the new bucket has
-         * been setup.
-         */
-        smp_wmb();
-        write_atomic(&d->valid_evtchns, d->valid_evtchns + EVTCHNS_PER_BUCKET);
+            chn = alloc_evtchn_bucket(d, alloc_port);
+            if ( !chn )
+                return -ENOMEM;
+            bucket_from_port(d, alloc_port) = chn;
+
+            /*
+             * d->valid_evtchns is used to check whether the bucket can be
+             * accessed without the per-domain lock. Therefore,
+             * d->valid_evtchns should be seen *after* the new bucket has
+             * been setup.
+             */
+            smp_wmb();
+            write_atomic(&d->valid_evtchns,
+                         d->valid_evtchns + EVTCHNS_PER_BUCKET);
+        } while ( port >= read_atomic(&d->valid_evtchns) );
     }
 
     write_atomic(&d->active_evtchns, d->active_evtchns + 1);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:04:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390202.627498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyr9-00012s-Pb; Fri, 19 Aug 2022 10:03:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390202.627498; Fri, 19 Aug 2022 10:03:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyr9-00012l-MX; Fri, 19 Aug 2022 10:03:59 +0000
Received: by outflank-mailman (input) for mailman id 390202;
 Fri, 19 Aug 2022 10:03:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOyr8-0000LK-MF
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:03:58 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 3d96aeb3-1fa6-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 12:03:57 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 083A11042;
 Fri, 19 Aug 2022 03:03:59 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DB71B3F70D;
 Fri, 19 Aug 2022 03:03:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d96aeb3-1fa6-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Stanislav Kinsburskii <staskins@amazon.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 2/7] xen/evtchn: Add an helper to reserve/allocate a port
Date: Fri, 19 Aug 2022 11:02:39 +0100
Message-Id: <a6835a7c7223635da27d4e7db002eae5d21417b8.1660902588.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660902588.git.rahul.singh@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In a follow-up patch we will be able to either reserve or allocate a
port for various event channel helpers.

A new wrapper is introduced to either reserved a given port or allocate
an empty one if zero.

Take the opportunity to replace the open-coded version in
evtchn_bind_virq().

Signed-off-by: Stanislav Kinsburskii <staskins@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - new patch in this version
---
---
 xen/common/event_channel.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index dbe0a27311..194f5346fb 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -304,6 +304,18 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
     xsm_evtchn_close_post(chn);
 }
 
+static int evtchn_get_port(struct domain *d, evtchn_port_t port)
+{
+    int rc;
+
+    if ( port != 0 )
+        rc = evtchn_allocate_port(d, port);
+    else
+        rc = get_free_port(d);
+
+    return rc ?: port;
+}
+
 int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
 {
     struct evtchn *chn;
@@ -461,19 +473,10 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, evtchn_port_t port)
     if ( read_atomic(&v->virq_to_evtchn[virq]) )
         ERROR_EXIT(-EEXIST);
 
-    if ( port != 0 )
-    {
-        if ( (rc = evtchn_allocate_port(d, port)) != 0 )
-            ERROR_EXIT(rc);
-    }
-    else
-    {
-        int alloc_port = get_free_port(d);
-
-        if ( alloc_port < 0 )
-            ERROR_EXIT(alloc_port);
-        port = alloc_port;
-    }
+    port = rc = evtchn_get_port(d, port);
+    if ( rc < 0 )
+        ERROR_EXIT(rc);
+    rc = 0;
 
     chn = evtchn_from_port(d, port);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:04:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:04:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390207.627508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyrd-0001bh-1u; Fri, 19 Aug 2022 10:04:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390207.627508; Fri, 19 Aug 2022 10:04:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOyrc-0001ba-VW; Fri, 19 Aug 2022 10:04:28 +0000
Received: by outflank-mailman (input) for mailman id 390207;
 Fri, 19 Aug 2022 10:04:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOyrc-0008OP-6g
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:04:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 4f3744ff-1fa6-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 12:04:27 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 945771042;
 Fri, 19 Aug 2022 03:04:28 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8F67C3F70D;
 Fri, 19 Aug 2022 03:04:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f3744ff-1fa6-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn supported for domUs
Date: Fri, 19 Aug 2022 11:02:40 +0100
Message-Id: <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660902588.git.rahul.singh@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Static event channel support will be added for dom0less domains.
Restrict the maximum number of evtchn supported for domUs to avoid
allocating a large amount of memory in Xen.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - new patch in the version
---
---
 xen/arch/arm/domain_build.c | 2 +-
 xen/include/xen/sched.h     | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 3fd1186b53..6d447367be 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3277,7 +3277,7 @@ void __init create_domUs(void)
         struct xen_domctl_createdomain d_cfg = {
             .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
             .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
-            .max_evtchn_port = -1,
+            .max_evtchn_port = MAX_EVTCHNS_PORT,
             .max_grant_frames = -1,
             .max_maptrack_frames = -1,
             .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index e2b3b6daa3..e5cc4f3e3e 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -76,6 +76,9 @@ extern domid_t hardware_domid;
 /* Maximum number of event channels for any ABI. */
 #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHANNELS)
 
+/* Maximum number of event channels supported for domUs. */
+#define MAX_EVTCHNS_PORT 4096
+
 #define EVTCHNS_PER_BUCKET (PAGE_SIZE / next_power_of_2(sizeof(struct evtchn)))
 #define EVTCHNS_PER_GROUP  (BUCKETS_PER_GROUP * EVTCHNS_PER_BUCKET)
 #define NR_EVTCHN_GROUPS   DIV_ROUND_UP(MAX_NR_EVTCHNS, EVTCHNS_PER_GROUP)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:06:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:06:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390215.627520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOytE-0002Hz-CZ; Fri, 19 Aug 2022 10:06:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390215.627520; Fri, 19 Aug 2022 10:06:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOytE-0002Hs-9k; Fri, 19 Aug 2022 10:06:08 +0000
Received: by outflank-mailman (input) for mailman id 390215;
 Fri, 19 Aug 2022 10:06:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOytC-0002Hf-LH
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:06:06 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 8982e0c5-1fa6-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 12:06:05 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 649E31042;
 Fri, 19 Aug 2022 03:06:06 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 79E543F70D;
 Fri, 19 Aug 2022 03:06:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8982e0c5-1fa6-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 4/7] xen/evtchn: modify evtchn_bind_interdomain to support static evtchn
Date: Fri, 19 Aug 2022 11:02:41 +0100
Message-Id: <abe4c5be55125eb3da33dbd187fd9b8ad5ace714.1660902588.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660902588.git.rahul.singh@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Static event channel support will be added for dom0less domains. Modify
evtchn_bind_interdomain to support static evtchn.

It is necessary to have access to the evtchn_bind_interdomain function
to do that, so make evtchn_bind_interdomain global and also make it
__must_check.

evtchn_bind_interdomain() always allocates the next available local
port. Static event channel support for dom0less domains requires
allocating a specified port. Modify the evtchn_bind_interdomain to
accept the port number as an argument and allocate the specified port
if available. If the port number argument is zero, the next available
port will be allocated.

evtchn_bind_interdomain() finds the local domain from "current->domain"
pointer. evtchn_bind_interdomain() will be called from the XEN to create
static event channel during domain creation. "current" pointer is not
valid at that time, therefore modify the evtchn_bind_interdomain() to
pass domain as an argument.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - Merged patches related to evtchn_bind_interdomain in one patch
---
---
 xen/common/event_channel.c | 20 ++++++++++++++------
 xen/include/xen/event.h    |  5 +++++
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 194f5346fb..eed0e94d07 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -373,11 +373,16 @@ static void double_evtchn_unlock(struct evtchn *lchn, struct evtchn *rchn)
     evtchn_write_unlock(rchn);
 }
 
-static int evtchn_bind_interdomain(evtchn_bind_interdomain_t *bind)
+/*
+ * If lport is zero get the next free port and allocate. If port is non-zero
+ * allocate the specified lport.
+ */
+int evtchn_bind_interdomain(evtchn_bind_interdomain_t *bind, struct domain *ld,
+                            evtchn_port_t lport)
 {
     struct evtchn *lchn, *rchn;
-    struct domain *ld = current->domain, *rd;
-    int            lport, rc;
+    struct domain *rd;
+    int            rc;
     evtchn_port_t  rport = bind->remote_port;
     domid_t        rdom = bind->remote_dom;
 
@@ -397,8 +402,11 @@ static int evtchn_bind_interdomain(evtchn_bind_interdomain_t *bind)
         write_lock(&ld->event_lock);
     }
 
-    if ( (lport = get_free_port(ld)) < 0 )
-        ERROR_EXIT(lport);
+    lport = rc = evtchn_get_port(ld, lport);
+    if ( rc < 0 )
+        ERROR_EXIT(rc);
+    rc = 0;
+
     lchn = evtchn_from_port(ld, lport);
 
     rchn = _evtchn_from_port(rd, rport);
@@ -1231,7 +1239,7 @@ long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         struct evtchn_bind_interdomain bind_interdomain;
         if ( copy_from_guest(&bind_interdomain, arg, 1) != 0 )
             return -EFAULT;
-        rc = evtchn_bind_interdomain(&bind_interdomain);
+        rc = evtchn_bind_interdomain(&bind_interdomain, current->domain, 0);
         if ( !rc && __copy_to_guest(arg, &bind_interdomain, 1) )
             rc = -EFAULT; /* Cleaning up here would be a mess! */
         break;
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index f3021fe304..f29b1123d9 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -74,6 +74,11 @@ int evtchn_allocate_port(struct domain *d, unsigned int port);
 /* Allocate a new event channel */
 int __must_check evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc);
 
+/* Bind an event channel port to interdomain */
+int __must_check evtchn_bind_interdomain(evtchn_bind_interdomain_t *bind,
+                                         struct domain *ld,
+                                         evtchn_port_t port);
+
 /* Unmask a local event-channel port. */
 int evtchn_unmask(unsigned int port);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:06:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390216.627531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOytI-0002Zn-KI; Fri, 19 Aug 2022 10:06:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390216.627531; Fri, 19 Aug 2022 10:06:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOytI-0002Zg-H8; Fri, 19 Aug 2022 10:06:12 +0000
Received: by outflank-mailman (input) for mailman id 390216;
 Fri, 19 Aug 2022 10:06:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOytG-0002G7-Qw
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:06:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8c2f9a22-1fa6-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 12:06:09 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CCC781042;
 Fri, 19 Aug 2022 03:06:10 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C7B8E3F70D;
 Fri, 19 Aug 2022 03:06:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c2f9a22-1fa6-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 5/7] xen/evtchn: modify evtchn_alloc_unbound to allocate specified port
Date: Fri, 19 Aug 2022 11:02:42 +0100
Message-Id: <02234e7aab1e8f3d18e5398f1c4745203df77364.1660902588.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660902588.git.rahul.singh@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

evtchn_alloc_unbound() always allocates the next available port. Static
event channel support for dom0less domains requires allocating a
specified port.

Modify the evtchn_alloc_unbound() to accept the port number as an
argument and allocate the specified port if available. If the port
number argument is zero, the next available port will be allocated.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - fix minor comments
---
---
 xen/arch/arm/domain_build.c |  2 +-
 xen/common/event_channel.c  | 17 ++++++++++++-----
 xen/include/xen/event.h     |  3 ++-
 3 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6d447367be..11a8c6b8b5 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3171,7 +3171,7 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
 
     alloc.dom = d->domain_id;
     alloc.remote_dom = hardware_domain->domain_id;
-    rc = evtchn_alloc_unbound(&alloc);
+    rc = evtchn_alloc_unbound(&alloc, 0);
     if ( rc )
     {
         printk("Failed allocating event channel for domain\n");
diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index eed0e94d07..f2d8c2d61a 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -316,11 +316,15 @@ static int evtchn_get_port(struct domain *d, evtchn_port_t port)
     return rc ?: port;
 }
 
-int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
+/*
+ * If port is zero get the next free port and allocate. If port is non-zero
+ * allocate the specified port.
+ */
+int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, evtchn_port_t port)
 {
     struct evtchn *chn;
     struct domain *d;
-    int            port, rc;
+    int            rc;
     domid_t        dom = alloc->dom;
 
     d = rcu_lock_domain_by_any_id(dom);
@@ -329,8 +333,11 @@ int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
 
     write_lock(&d->event_lock);
 
-    if ( (port = get_free_port(d)) < 0 )
-        ERROR_EXIT_DOM(port, d);
+    port = rc = evtchn_get_port(d, port);
+    if ( rc < 0 )
+        ERROR_EXIT(rc);
+    rc = 0;
+
     chn = evtchn_from_port(d, port);
 
     rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
@@ -1229,7 +1236,7 @@ long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         struct evtchn_alloc_unbound alloc_unbound;
         if ( copy_from_guest(&alloc_unbound, arg, 1) != 0 )
             return -EFAULT;
-        rc = evtchn_alloc_unbound(&alloc_unbound);
+        rc = evtchn_alloc_unbound(&alloc_unbound, 0);
         if ( !rc && __copy_to_guest(arg, &alloc_unbound, 1) )
             rc = -EFAULT; /* Cleaning up here would be a mess! */
         break;
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index f29b1123d9..8eae9984a9 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -72,7 +72,8 @@ void evtchn_free(struct domain *d, struct evtchn *chn);
 int evtchn_allocate_port(struct domain *d, unsigned int port);
 
 /* Allocate a new event channel */
-int __must_check evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc);
+int __must_check evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc,
+                                      evtchn_port_t port);
 
 /* Bind an event channel port to interdomain */
 int __must_check evtchn_bind_interdomain(evtchn_bind_interdomain_t *bind,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:06:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:06:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390217.627542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOytL-0002sD-00; Fri, 19 Aug 2022 10:06:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390217.627542; Fri, 19 Aug 2022 10:06:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOytK-0002s6-SB; Fri, 19 Aug 2022 10:06:14 +0000
Received: by outflank-mailman (input) for mailman id 390217;
 Fri, 19 Aug 2022 10:06:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOytJ-0002G7-EC
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:06:13 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8d9f2eed-1fa6-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 12:06:12 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3CFF71042;
 Fri, 19 Aug 2022 03:06:13 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 879A43F70D;
 Fri, 19 Aug 2022 03:06:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d9f2eed-1fa6-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 6/7] xen: introduce xen-evtchn dom0less property
Date: Fri, 19 Aug 2022 11:02:43 +0100
Message-Id: <02993cf398573adf9e9bad62aa8d6e753b2c6ab9.1660902588.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660902588.git.rahul.singh@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new sub-node under /chosen node to establish static event
channel communication between domains on dom0less systems.

An event channel will be created beforehand to allow the domains to
send notifications to each other.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - no change
---
---
 docs/misc/arm/device-tree/booting.txt |  63 +++++++++++-
 xen/arch/arm/domain_build.c           | 136 ++++++++++++++++++++++++++
 xen/arch/arm/include/asm/domain.h     |   1 +
 xen/arch/arm/include/asm/setup.h      |   1 +
 xen/arch/arm/setup.c                  |   2 +
 5 files changed, 202 insertions(+), 1 deletion(-)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 98253414b8..ec7dbcaf8f 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -212,7 +212,7 @@ with the following properties:
     enable only selected interfaces.
 
 Under the "xen,domain" compatible node, one or more sub-nodes are present
-for the DomU kernel and ramdisk.
+for the DomU kernel, ramdisk and static event channel.
 
 The kernel sub-node has the following properties:
 
@@ -254,11 +254,43 @@ The ramdisk sub-node has the following properties:
     property because it will be created by the UEFI stub on boot.
     This option is needed only when UEFI boot is used.
 
+The static event channel sub-node has the following properties:
+
+- compatible
+
+    "xen,evtchn"
+
+- xen,evtchn
+
+    The property is tuples of two numbers
+    (local-evtchn link-to-foreign-evtchn) where:
+
+    local-evtchn is an integer value that will be used to allocate local port
+    for a domain to send and receive event notifications to/from the remote
+    domain. Maximum supported value is 2^17 for FIFO ABI and 4096 for 2L ABI.
+    It is recommended to use low event channel ID.
+
+    link-to-foreign-evtchn is a single phandle to a remote evtchn to which
+    local-evtchn will be connected.
 
 Example
 =======
 
 chosen {
+
+    module@0 {
+        compatible = "multiboot,kernel", "multiboot,module";
+        xen,uefi-binary = "...";
+        bootargs = "...";
+
+        /* one sub-node per local event channel */
+        ec1: evtchn@1 {
+            compatible = "xen,evtchn-v1";
+            /* local-evtchn link-to-foreign-evtchn */
+            xen,evtchn = <0xa &ec2>;
+        };
+    };
+
     domU1 {
         compatible = "xen,domain";
         #address-cells = <0x2>;
@@ -277,6 +309,23 @@ chosen {
             compatible = "multiboot,ramdisk", "multiboot,module";
             reg = <0x0 0x4b000000 0xffffff>;
         };
+
+        /* one sub-node per local event channel */
+        ec2: evtchn@2 {
+            compatible = "xen,evtchn-v1";
+            /* local-evtchn link-to-foreign-evtchn */
+            xen,evtchn = <0xa &ec1>;
+        };
+
+        ec3: evtchn@3 {
+            compatible = "xen,evtchn-v1";
+            xen,evtchn = <0xb &ec5>;
+        };
+
+        ec4: evtchn@4 {
+            compatible = "xen,evtchn-v1";
+            xen,evtchn = <0xc &ec6>;
+        };
     };
 
     domU2 {
@@ -296,6 +345,18 @@ chosen {
             compatible = "multiboot,ramdisk", "multiboot,module";
             reg = <0x0 0x4d000000 0xffffff>;
         };
+
+        /* one sub-node per local event channel */
+        ec5: evtchn@5 {
+            compatible = "xen,evtchn-v1";
+            /* local-evtchn link-to-foreign-evtchn */
+            xen,evtchn = <0xb &ec3>;
+        };
+
+        ec6: evtchn@6 {
+            compatible = "xen,evtchn-v1";
+            xen,evtchn = <0xd &ec4>;
+        };
     };
 };
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 11a8c6b8b5..5101bca979 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3052,6 +3052,141 @@ void __init evtchn_allocate(struct domain *d)
     d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
 }
 
+static const void *__init get_evtchn_dt_property(
+        const struct dt_device_node *np)
+{
+    const void *prop = NULL;
+    uint32_t len;
+
+    prop = dt_get_property(np, "xen,evtchn", &len);
+    if ( !prop )
+        return NULL;
+
+    if ( !len )
+    {
+        printk(XENLOG_ERR "xen,evtchn property cannot be empty.\n");
+        return ERR_PTR(-EINVAL);
+    }
+
+    return prop;
+}
+
+static int __init allocate_domain_evtchn(const struct dt_device_node *node)
+{
+    const void *prop = NULL;
+    const __be32 *cell;
+    uint32_t domU1_port, domU2_port, remote_phandle;
+    const struct dt_device_node *evtchn_node, *remote_node;
+    struct evtchn_alloc_unbound alloc_unbound;
+    struct evtchn_bind_interdomain bind_interdomain;
+    int rc;
+
+    dt_for_each_child_node(node, evtchn_node)
+    {
+        struct domain *d, *d1 = NULL, *d2 = NULL;
+
+        if ( !dt_device_is_compatible(evtchn_node, "xen,evtchn-v1") )
+            continue;
+
+        prop = get_evtchn_dt_property(evtchn_node);
+        /* If the property is not found, return without errors */
+        if ( !prop || IS_ERR(prop) )
+            return IS_ERR(prop) ? PTR_ERR(prop) : 0;
+
+        cell = (const __be32 *)prop;
+        domU1_port = dt_next_cell(1, &cell);
+        remote_phandle = dt_next_cell(1, &cell);
+
+        remote_node = dt_find_node_by_phandle(remote_phandle);
+        if ( !remote_node )
+        {
+            printk(XENLOG_ERR
+                   "evtchn: could not find remote evtchn phandle\n");
+            return -EINVAL;
+        }
+
+        prop = get_evtchn_dt_property(remote_node);
+        /* If the property is not found, return without errors */
+        if ( !prop || IS_ERR(prop) )
+            return IS_ERR(prop) ? PTR_ERR(prop) : 0;
+
+        cell = (const __be32 *)prop;
+        domU2_port = dt_next_cell(1, &cell);
+        remote_phandle = dt_next_cell(1, &cell);
+
+        if ( evtchn_node->phandle != remote_phandle )
+        {
+            printk(XENLOG_ERR "xen,evtchn property is not setup correctly.\n");
+            return -EINVAL;
+        }
+
+        for_each_domain ( d )
+        {
+            if ( d->arch.node == node )
+            {
+                d1 = d;
+                continue;
+            }
+            if ( d->arch.node == dt_get_parent(remote_node) )
+                d2 = d;
+        }
+
+        if ( !d1 && dt_device_is_compatible(node, "multiboot,kernel") )
+            d1 = hardware_domain;
+
+        if ( !d2 && dt_device_is_compatible(dt_get_parent(remote_node),
+                                            "multiboot,kernel") )
+            d2 = hardware_domain;
+
+        if ( !d1 || !d2 )
+        {
+            printk(XENLOG_ERR "evtchn: could not find domains\n" );
+            return -EINVAL;
+        }
+
+        alloc_unbound.dom = d1->domain_id;
+        alloc_unbound.remote_dom = d2->domain_id;
+
+        rc = evtchn_alloc_unbound(&alloc_unbound, domU1_port);
+        if ( rc < 0 && rc != -EBUSY )
+        {
+            printk(XENLOG_ERR
+                   "evtchn_alloc_unbound() failure (Error %d) \n", rc);
+            return rc;
+        }
+
+        bind_interdomain.remote_dom  = d1->domain_id;
+        bind_interdomain.remote_port = domU1_port;
+
+        rc = evtchn_bind_interdomain(&bind_interdomain, d2, domU2_port);
+        if ( rc < 0 && rc != -EBUSY )
+        {
+            printk(XENLOG_ERR
+                   "evtchn_bind_interdomain() failure (Error %d) \n", rc);
+            return rc;
+        }
+    }
+
+    return 0;
+}
+
+void __init allocate_static_evtchn(void)
+{
+    struct dt_device_node *node;
+    const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
+
+    BUG_ON(chosen == NULL);
+    dt_for_each_child_node(chosen, node)
+    {
+        if ( dt_device_is_compatible(node, "xen,domain") ||
+             dt_device_is_compatible(node, "multiboot,kernel") )
+        {
+            if ( allocate_domain_evtchn(node) != 0 )
+                panic("Could not set up domains evtchn\n");
+        }
+    }
+}
+
 static void __init find_gnttab_region(struct domain *d,
                                       struct kernel_info *kinfo)
 {
@@ -3358,6 +3493,7 @@ void __init create_domUs(void)
             panic("Error creating domain %s\n", dt_node_name(node));
 
         d->is_console = true;
+        d->arch.node = node;
 
         if ( construct_domU(d, node) != 0 )
             panic("Could not set up domain %s\n", dt_node_name(node));
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index cd9ce19b4b..51192b28ee 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -105,6 +105,7 @@ struct arch_domain
 #endif
 
     bool directmap;
+    struct dt_device_node *node;
 }  __cacheline_aligned;
 
 struct arch_vcpu
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 2bb01ecfa8..bac876e68e 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -106,6 +106,7 @@ int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
 
 void create_domUs(void);
 void create_dom0(void);
+void allocate_static_evtchn(void);
 
 void discard_initial_modules(void);
 void fw_unreserved_regions(paddr_t s, paddr_t e,
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 500307edc0..8eead619ae 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1063,6 +1063,8 @@ void __init start_xen(unsigned long boot_phys_offset,
     if ( acpi_disabled )
         create_domUs();
 
+    allocate_static_evtchn();
+
     /*
      * This needs to be called **before** heap_init_late() so modules
      * will be scrubbed (unless suppressed).
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:06:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:06:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390218.627553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOytN-0003Bq-8A; Fri, 19 Aug 2022 10:06:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390218.627553; Fri, 19 Aug 2022 10:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOytN-0003Bd-4w; Fri, 19 Aug 2022 10:06:17 +0000
Received: by outflank-mailman (input) for mailman id 390218;
 Fri, 19 Aug 2022 10:06:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oOytL-0002G7-NL
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:06:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8f101441-1fa6-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 12:06:14 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B42D2175A;
 Fri, 19 Aug 2022 03:06:15 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 259E53F70D;
 Fri, 19 Aug 2022 03:06:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f101441-1fa6-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Date: Fri, 19 Aug 2022 11:02:44 +0100
Message-Id: <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1660902588.git.rahul.singh@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new "xen,enhanced" dom0less property value "evtchn" to
enable/disable event-channel interfaces for dom0less guests.

The configurable option is for domUs only. For dom0 we always set the
corresponding property in the Xen code to true.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v2:
 - no change
---
---
 xen/arch/arm/domain_build.c       | 149 ++++++++++++++++--------------
 xen/arch/arm/include/asm/kernel.h |   3 +
 2 files changed, 82 insertions(+), 70 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 5101bca979..bd8b8475b7 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1396,85 +1396,92 @@ static int __init make_hypervisor_node(struct domain *d,
     if ( res )
         return res;
 
-    if ( !opt_ext_regions )
-    {
-        printk(XENLOG_INFO "%pd: extended regions support is disabled\n", d);
-        nr_ext_regions = 0;
-    }
-    else if ( is_32bit_domain(d) )
-    {
-        printk(XENLOG_WARNING
-               "%pd: extended regions not supported for 32-bit guests\n", d);
-        nr_ext_regions = 0;
-    }
-    else
+    if ( kinfo->dom0less_enhanced )
     {
-        ext_regions = xzalloc(struct meminfo);
-        if ( !ext_regions )
-            return -ENOMEM;
-
-        if ( is_domain_direct_mapped(d) )
+        if ( !opt_ext_regions )
         {
-            if ( !is_iommu_enabled(d) )
-                res = find_unallocated_memory(kinfo, ext_regions);
-            else
-                res = find_memory_holes(kinfo, ext_regions);
+            printk(XENLOG_INFO
+                   "%pd: extended regions support is disabled\n", d);
+            nr_ext_regions = 0;
         }
-        else
+        else if ( is_32bit_domain(d) )
         {
-            res = find_domU_holes(kinfo, ext_regions);
+            printk(XENLOG_WARNING
+                   "%pd: extended regions not supported for 32-bit guests\n", d);
+            nr_ext_regions = 0;
         }
+        else
+        {
+            ext_regions = xzalloc(struct meminfo);
+            if ( !ext_regions )
+                return -ENOMEM;
 
-        if ( res )
-            printk(XENLOG_WARNING "%pd: failed to allocate extended regions\n",
-                   d);
-        nr_ext_regions = ext_regions->nr_banks;
-    }
+            if ( is_domain_direct_mapped(d) )
+            {
+                if ( !is_iommu_enabled(d) )
+                    res = find_unallocated_memory(kinfo, ext_regions);
+                else
+                    res = find_memory_holes(kinfo, ext_regions);
+            }
+            else
+            {
+                res = find_domU_holes(kinfo, ext_regions);
+            }
 
-    reg = xzalloc_array(__be32, (nr_ext_regions + 1) * (addrcells + sizecells));
-    if ( !reg )
-    {
-        xfree(ext_regions);
-        return -ENOMEM;
-    }
+            if ( res )
+                printk(XENLOG_WARNING
+                       "%pd: failed to allocate extended regions\n", d);
+            nr_ext_regions = ext_regions->nr_banks;
+        }
 
-    /* reg 0 is grant table space */
-    cells = &reg[0];
-    dt_child_set_range(&cells, addrcells, sizecells,
-                       kinfo->gnttab_start, kinfo->gnttab_size);
-    /* reg 1...N are extended regions */
-    for ( i = 0; i < nr_ext_regions; i++ )
-    {
-        u64 start = ext_regions->bank[i].start;
-        u64 size = ext_regions->bank[i].size;
+        reg = xzalloc_array(__be32, (nr_ext_regions + 1) * (addrcells + sizecells));
+        if ( !reg )
+        {
+            xfree(ext_regions);
+            return -ENOMEM;
+        }
 
-        printk("%pd: extended region %d: %#"PRIx64"->%#"PRIx64"\n",
-               d, i, start, start + size);
+        /* reg 0 is grant table space */
+        cells = &reg[0];
+        dt_child_set_range(&cells, addrcells, sizecells,
+                           kinfo->gnttab_start, kinfo->gnttab_size);
+        /* reg 1...N are extended regions */
+        for ( i = 0; i < nr_ext_regions; i++ )
+        {
+            u64 start = ext_regions->bank[i].start;
+            u64 size = ext_regions->bank[i].size;
 
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-    }
+            printk("%pd: extended region %d: %#"PRIx64"->%#"PRIx64"\n",
+                   d, i, start, start + size);
 
-    res = fdt_property(fdt, "reg", reg,
-                       dt_cells_to_size(addrcells + sizecells) *
-                       (nr_ext_regions + 1));
-    xfree(ext_regions);
-    xfree(reg);
+            dt_child_set_range(&cells, addrcells, sizecells, start, size);
+        }
 
-    if ( res )
-        return res;
+        res = fdt_property(fdt, "reg", reg,
+                           dt_cells_to_size(addrcells + sizecells) *
+                           (nr_ext_regions + 1));
+        xfree(ext_regions);
+        xfree(reg);
 
-    BUG_ON(d->arch.evtchn_irq == 0);
+        if ( res )
+            return res;
+    }
 
-    /*
-     * Interrupt event channel upcall:
-     *  - Active-low level-sensitive
-     *  - All CPUs
-     *  TODO: Handle properly the cpumask;
-     */
-    set_interrupt(intr, d->arch.evtchn_irq, 0xf, DT_IRQ_TYPE_LEVEL_LOW);
-    res = fdt_property_interrupts(kinfo, &intr, 1);
-    if ( res )
-        return res;
+    if ( kinfo->dom0less_evtchn )
+    {
+        BUG_ON(d->arch.evtchn_irq == 0);
+
+        /*
+         * Interrupt event channel upcall:
+         *  - Active-low level-sensitive
+         *  - All CPUs
+         *  TODO: Handle properly the cpumask;
+        */
+        set_interrupt(intr, d->arch.evtchn_irq, 0xf, DT_IRQ_TYPE_LEVEL_LOW);
+        res = fdt_property_interrupts(kinfo, &intr, 1);
+        if ( res )
+            return res;
+    }
 
     res = fdt_end_node(fdt);
 
@@ -2891,7 +2898,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
             goto err;
     }
 
-    if ( kinfo->dom0less_enhanced )
+    if ( kinfo->dom0less_enhanced || kinfo->dom0less_evtchn )
     {
         ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
         if ( ret )
@@ -3343,11 +3350,11 @@ static int __init construct_domU(struct domain *d,
          rc == -ENODATA ||
          (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
     {
-        if ( hardware_domain )
-            kinfo.dom0less_enhanced = true;
-        else
-            panic("Tried to use xen,enhanced without dom0\n");
+        kinfo.dom0less_enhanced = true;
+        kinfo.dom0less_evtchn = true;
     }
+    else if ( rc == 0 && !strcmp(dom0less_enhanced, "evtchn") )
+        kinfo.dom0less_evtchn = true;
 
     if ( vcpu_create(d, 0) == NULL )
         return -ENOMEM;
@@ -3526,6 +3533,8 @@ static int __init construct_dom0(struct domain *d)
 
     kinfo.unassigned_mem = dom0_mem;
     kinfo.d = d;
+    kinfo.dom0less_enhanced = true;
+    kinfo.dom0less_evtchn = true;
 
     rc = kernel_probe(&kinfo, NULL);
     if ( rc < 0 )
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index c4dc039b54..7cff19b997 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -39,6 +39,9 @@ struct kernel_info {
     /* Enable PV drivers */
     bool dom0less_enhanced;
 
+    /* Enable event-channel interface */
+    bool dom0less_evtchn;
+
     /* GIC phandle */
     uint32_t phandle_gic;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:19:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390254.627570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOz5n-0005ip-Fs; Fri, 19 Aug 2022 10:19:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390254.627570; Fri, 19 Aug 2022 10:19:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOz5n-0005ii-DB; Fri, 19 Aug 2022 10:19:07 +0000
Received: by outflank-mailman (input) for mailman id 390254;
 Fri, 19 Aug 2022 10:19:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sWlb=YX=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oOz5l-0005iW-RZ
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 10:19:05 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80055.outbound.protection.outlook.com [40.107.8.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59daaba7-1fa8-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 12:19:04 +0200 (CEST)
Received: from AS8PR04CA0025.eurprd04.prod.outlook.com (2603:10a6:20b:310::30)
 by AM0PR08MB3107.eurprd08.prod.outlook.com (2603:10a6:208:60::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17; Fri, 19 Aug
 2022 10:19:01 +0000
Received: from AM7EUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:310:cafe::28) by AS8PR04CA0025.outlook.office365.com
 (2603:10a6:20b:310::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Fri, 19 Aug 2022 10:19:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT028.mail.protection.outlook.com (100.127.140.192) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Fri, 19 Aug 2022 10:19:00 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Fri, 19 Aug 2022 10:19:00 +0000
Received: from f4c3a33a90ff.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4FE1F3C3-7E8F-44AF-ADF3-0D59ACF6E452.1; 
 Fri, 19 Aug 2022 10:18:48 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f4c3a33a90ff.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 19 Aug 2022 10:18:48 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM6PR08MB4566.eurprd08.prod.outlook.com (2603:10a6:20b:a5::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17; Fri, 19 Aug
 2022 10:18:46 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%4]) with mapi id 15.20.5525.011; Fri, 19 Aug 2022
 10:18:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59daaba7-1fa8-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Hb+Cl9KJaoOjd/rlOZvo5Shr3BirfEwPr4Y3cIHObh+tPcaTWJ9uWPx9h//Vdy7FbCXaJB8ZR8Airt/YfvQi1ogLjIi+L9ioVx7fF/D1QGzPrzqYlNXnc5OLD5b9hhxoVdbXKtTrFFBuBc8NeCBTkDQWX49dyxCPq1r9lyARU2CWI/VfqjqNrvSTr7BQwabA1wZIsOwzqEBgfVGvjMXgkLx1oTLfH76w1Djp/SKDL6aNjZTWQQcJCdzPN6MMKg8+7wpzeki7DL6LDfSziLc+00QTT2uAEEYXNi+jQS2VYIb6mKlGwtit091TSylhqM3OsmaqtkY9EIDTFf98UzV5qA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f73UH0LIQxmDL/PiMutUsS/SpWhd51iSg4oXe08yPOs=;
 b=eBSvxX9seKkUbS/y7ZjitFn4iW/iHO/lb/tFeYiGV5VgZDXCYIDbeZaOhJVIhRsoWIaAsOcO+M3gmCU6OUxGJRdZbR69Pv+fGbmqQ0hWriDrW/bJnr9t1+9ZIKXGp6XbxCRIEDBICDMgpoQeAom2EBf9s+39H1wT79LvdBIhAl2ONriYvyEfokBArGL35gEcTeGREwFlDMpkxqhRYzO3l53AlVfo+aLtFan/HTdTrt1WaaBTOm5/Mr0JfngFbnRHLcqS1YD7NBhHEXFDKNC88/IWTBMQIFy+4LHJIizbrKTtQ9QY0Xl19Pb81v9X/yktYfi7LUiCnq334t+clGe9ug==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f73UH0LIQxmDL/PiMutUsS/SpWhd51iSg4oXe08yPOs=;
 b=C0TxnwXgSKe1OlWXOYhB6aBaq/Qj12v7TRcSE45ymIWUs4aeKmFXPZspeMIK1iXmhd8e7G2z7gaVofzmGFOahpiQW1TaqV5ToHkeL1BzAaYxAXlyuKINqbKLGTILwCa4mofBVQ583oUQmoqzCOgFIRpUkYatDr6RXbvBS3/fkYA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0432d31d8a66329d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QTf6nzuWDD0uBi9mWrm3sEXO8DjznDRArlxOA4aScd0sI+HdxBh2mJ+Bppdw9XGvNaf2sfZlHlGoe1ql5jJkotimDG/0tCtS5GTrwHGexK0Ytuab+PO1nHkiaaXooCIkbOIvIKF3UGA1elq5l10C4ScSmGMnfJI0d4VGFG4LU3V0ShXqqdafLj+LUPahHmJvgTzgUXHZXcBv6DxSw2fY9h1oW19m2pHMLJuFFA3zIKfcZ+q8Q/Z9Y350FPRSuDMLQKibaF098YENjbb+hXp8vZnYT7YZTUW+nLwlq9Aimg3zG+ZBmPPlFF+vtiV2ccbH9p+Z2lXit3w0FHHtVu8PEA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f73UH0LIQxmDL/PiMutUsS/SpWhd51iSg4oXe08yPOs=;
 b=DMQwwQmxwi4wnyGmIF26QdonBld9NFOlG8cYgnoJn5spVxUJWIQVTMAEKJFyqVHxkPbXRJauULZgmqNQ/C7bt5EkskSZY3wqWnNmiLye06xLbRQfP+MjhXZxQr05SC37uhdDrT0jZy7EnanOhjCpn86pj4DZGDRqotpGvhxzq8MHdPVsuLDO3ffUkIXakv2sz4j6rg/Mq7Nbz/h8lGydTlqWUgOKxqqBMfjN7bKT0kZzZ0qJiz1oO9JJCrjFJ1F9SZ3FHvtO5thR/YtpvG1CxwgI4ap6I8+pibOlvN/3kGG7hSPxt5JPP+GeTqzAw1GBwe/F5m7iOFgidTWofB3eOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f73UH0LIQxmDL/PiMutUsS/SpWhd51iSg4oXe08yPOs=;
 b=C0TxnwXgSKe1OlWXOYhB6aBaq/Qj12v7TRcSE45ymIWUs4aeKmFXPZspeMIK1iXmhd8e7G2z7gaVofzmGFOahpiQW1TaqV5ToHkeL1BzAaYxAXlyuKINqbKLGTILwCa4mofBVQ583oUQmoqzCOgFIRpUkYatDr6RXbvBS3/fkYA=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Paul Durrant <paul@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 2/2] xen/pci: replace call to is_memory_hole to
 pci_check_bar
Thread-Topic: [PATCH v2 2/2] xen/pci: replace call to is_memory_hole to
 pci_check_bar
Thread-Index: AQHYskgSn+BMkn6XSUmZynj+RN74K62zNKQAgAGMxwCAAP3ZgIAARkyA
Date: Fri, 19 Aug 2022 10:18:46 +0000
Message-ID: <F9F00495-29C0-4495-896C-5A409F6DD0B5@arm.com>
References: <cover.1660746990.git.rahul.singh@arm.com>
 <26fe963007e0a43b8fefd915027e90ddace1be73.1660746990.git.rahul.singh@arm.com>
 <114e88d3-0ec6-d51f-af41-555f79403b29@suse.com>
 <6FD6564E-8B4A-4A83-8E21-7E156878B2F9@arm.com>
 <06310bae-0ae9-d837-fc9e-bbc1209c4c9f@suse.com>
In-Reply-To: <06310bae-0ae9-d837-fc9e-bbc1209c4c9f@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 092cfe6a-e5ef-4de5-7c00-08da81cc3c3c
x-ms-traffictypediagnostic:
	AM6PR08MB4566:EE_|AM7EUR03FT028:EE_|AM0PR08MB3107:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ujT7tnr5DWSHkhwG9Hu7j44+y/orxH+c4q2ziIEhZR+uSPh8C9RTVkhS/p1z2aLCZ4d+UxYS2SFOXTEJGRy+/rXYKEvCR0idwwUQfi3eqBftcuoneB9WEIaK/20jVU0FwpnlY21iYwBiNbnCvdPQ/ABprDS8Xo19BrXTaIHjjqDGuQlhJP1v8TfK96mnKsnc9nrrnzsqeueYgcX4sCBJHme1hy/MfzmpSK7N4NzNhTuNTMWVMq7mgMhhaeNgwX+d2CLP7dm5Is0ShdtQIH/XD4T6nRpLqGJXv9m6i0VIv8Tfyry8AV0vrDILRjL0haA12gJbuJBGK6QMe73WHMJ0bGrr0o5l3YToCLRjY28dnTXyMADt4dG30IJv7wBvDValAwyz4bu1ukMO+aVykct4TccNTrdzVYhabLi7q9dVhCdpyugr7MVHyA+DSfR8ZHGJ56JSUnIndZR97RoatM5zhivp47KNKpmSrmSjoPzQXWDeglAXvxe+B9KS87bO2QXN+alKZF+5ApEldwMaJBJF3SsNB2jVF1VtEMSUOEBpUW93gLK8RCVVYCs8GF6NmGdJBTVQXSm0mjGJLSqep6IKRLVTV6jif2nsSVAuZhv4IXzQG6hQ+US1wP8O9FHP+CHCmdbvrfNgWzOrS9sNEzWQ6DKUrLvV1jaBewmPP0axJSx+wMz3QUMk3y2gsbZ8+lDpqqPY6ukWNAX26lsuTWDSuXm+M/X2n+WZqllvTTUB//meYRDywVQNy6NTh3JvJmBupvaC1J5AAQBLRy9FQsa7b5g0PRGtxORXourXsAVG94I=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(136003)(366004)(39860400002)(396003)(186003)(2906002)(33656002)(5660300002)(38100700002)(8936002)(38070700005)(36756003)(2616005)(122000001)(6486002)(86362001)(6916009)(54906003)(316002)(71200400001)(53546011)(41300700001)(478600001)(6506007)(8676002)(6512007)(64756008)(66446008)(66476007)(4326008)(66556008)(66946007)(76116006)(91956017)(26005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <4DFA61427B9CC743B0AA049B995215F9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4566
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c21309d6-c91b-496a-58d3-08da81cc336d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rV+Qd3u2F7YdW0UW6EdDss/uw9+c+V13BxGzvcFcU7lK4cON11w7EMP6xUzYw0VJ+1qSg25qNvRT939WnskMoGdXpWXik76A8/T6dVvh7t6MgWd+oQ6AtRNYPlQVSoyj7cgn+SZx/97BBpWZdV/NzELo8q+yUaJ64HULg3tSqADY2lcuFDOK9RKoSx8GFj3wm3Qk0B+ie/r228ztVF6eqjA6ZCayFJ/5wCJnri+wtgpLgN6F6lhgnVpvwbKY6Pcvbxlja4jGiaEUjhRdSfBawEbrnnmIuXJ9FS7AgDDRYT83wlao5jZpHiTMaLcJR7XvtKjSXSaH+17UGLaxYxxbAaC5DjrWoh75KD/J12KKevQtJfoShrcioeT5Q2sTIkhHfcaQHCTUDVTFvjMxQ4b7y1h+d10fOSa3fFGK6O74fWpitrf6jMcjk+gQ674tbLXV+kcxwZUg3xQpsymKFMRbqhygNPjfkKckqw7/30zew6HJIHg7rlvzsww0dvs4fuhBKs65YwNAxzVhMf50dRuBBsK1VvpCqegkfClTwUYD8u1+iUfwZFyTRFQP0M42JKvkMdSn1BsBDcicWykM6rTpIg2LqivwTtN6Y3UEzfxmJ4I2IEd3RNrZU4Isjdem2w8Rc16s05Hb3bltyqNnyxnqLYucoprPmXX2GY9U1Qhy7jDnkh6iHeeWYJQgLZNIIQuMo1YvaIOlh825pOq2W88EbpTeGmzMXLizMu036M8AFwpSMLkAag4yzed6riAzIY4i8HSWBQzfteBFi7kcDx355A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(346002)(39860400002)(396003)(40470700004)(36840700001)(46966006)(186003)(47076005)(336012)(2616005)(82740400003)(356005)(81166007)(36860700001)(5660300002)(8936002)(70586007)(70206006)(4326008)(41300700001)(8676002)(40480700001)(82310400005)(2906002)(6862004)(478600001)(6486002)(40460700003)(6512007)(26005)(6506007)(53546011)(316002)(54906003)(86362001)(36756003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 10:19:00.9629
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 092cfe6a-e5ef-4de5-7c00-08da81cc3c3c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3107

Hi Jan,

> On 19 Aug 2022, at 7:07 am, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 18.08.2022 16:58, Rahul Singh wrote:
>>> On 17 Aug 2022, at 4:18 pm, Jan Beulich <jbeulich@suse.com> wrote:
>>> On 17.08.2022 16:45, Rahul Singh wrote:
>>>> @@ -363,6 +373,42 @@ int __init pci_host_bridge_mappings(struct domain=
 *d)
>>>>    return 0;
>>>> }
>>>>=20
>>>> +static int is_bar_valid(const struct dt_device_node *dev,
>>>> +                        u64 addr, u64 len, void *data)
>>>=20
>>> s/u64/uint64_t/g please.
>>=20
>> Ack.=20
>>>=20
>>>> +{
>>>> +    struct pdev_bar *bar_data =3D data;
>=20
> const?

Ack.
>=20
>>>> +    unsigned long s =3D mfn_x(bar_data->start);
>>>> +    unsigned long e =3D mfn_x(bar_data->end);
>>>> +
>>>> +    if ( (s < e) && (s >=3D PFN_UP(addr)) && (e <=3D PFN_UP(addr + le=
n - 1)) )
>>>=20
>>> Doesn't this need to be s >=3D PFN_DOWN(addr)? Or else why is e checked
>>> against PFN_UP()?
>>=20
>> Ack. I will modify as if ( (s < e) && (s >=3D PFN_DOWN(addr)) && (e <=3D=
 PFN_UP(addr + len - 1)) )
>=20
> Hmm, doesn't it further need to be s <=3D e, seeing that the range passed
> to pci_check_bar() is an inclusive one?

Agree, I will do the modification in next version.


Regards,
Rahul


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 10:47:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 10:47:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390260.627582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOzWU-0000eL-Np; Fri, 19 Aug 2022 10:46:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390260.627582; Fri, 19 Aug 2022 10:46:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oOzWU-0000eE-Kz; Fri, 19 Aug 2022 10:46:42 +0000
Received: by outflank-mailman (input) for mailman id 390260;
 Fri, 19 Aug 2022 10:46:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOzWS-0000e4-Fs; Fri, 19 Aug 2022 10:46:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOzWS-0006WO-Ek; Fri, 19 Aug 2022 10:46:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oOzWS-0000YG-5I; Fri, 19 Aug 2022 10:46:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oOzWS-0008Jm-4u; Fri, 19 Aug 2022 10:46:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+CiOMmeOi6O71cPWAH7HMvUCngD78wNikJYU0kvgfHM=; b=59yh7Nilfa5t5IM3dAcMopU2WD
	AAeMwM1DLL2QpLDEPZFyOZJkuBXmaloNGIq3pZCC82FGo1b96Mhs231d1SIzXfjlf711CFTthQ7ig
	3U/e6kldx1WJC/XLGoEa5Nny4byIqMiV9Mvw2rq75tguZLv0idcWlT3WGCKuG35svX1E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172641-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172641: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3
X-Osstest-Versions-That:
    xen=6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 10:46:40 +0000

flight 172641 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172641/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172627
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3
baseline version:
 xen                  6c987150cf71976b5dd16b5f736dd5b0c6f6aee8

Last test of basis   172627  2022-08-18 16:01:56 Z    0 days
Testing same since   172641  2022-08-19 08:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6c987150cf..6c0a14d324  6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 11:40:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 11:40:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390267.627594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP0M9-0006Zl-OK; Fri, 19 Aug 2022 11:40:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390267.627594; Fri, 19 Aug 2022 11:40:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP0M9-0006Ze-I8; Fri, 19 Aug 2022 11:40:05 +0000
Received: by outflank-mailman (input) for mailman id 390267;
 Fri, 19 Aug 2022 11:40:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP0M9-0006WG-2e; Fri, 19 Aug 2022 11:40:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP0M8-0007T0-Tw; Fri, 19 Aug 2022 11:40:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP0M8-0002Gu-9U; Fri, 19 Aug 2022 11:40:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oP0M8-0008Ix-92; Fri, 19 Aug 2022 11:40:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pJ6AVPURsbY8jiihVJj+tjtWhnaAwYFLEmn77fyl1BU=; b=skwHMllJjnBVeX2ZX23SH84yjv
	AaurdaXiTvXYx8RM3CzG5s2HdTn9GRkvNZaKEBJBWsqC1Qgi0nWiv85tsaeIghnIN/c0/OAjFR1FD
	H9FJcJc7J4a6ZFzFkNwOC0POCEjZP8lO/hZfee34qgbWDXu0AJg9c7/QdPcoZipBFr58=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172642-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172642: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 11:40:04 +0000

flight 172642 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172642/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   15 days
Failing since        172151  2022-08-05 02:40:28 Z   14 days  123 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 12:10:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 12:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390283.627604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP0pL-0001nV-7X; Fri, 19 Aug 2022 12:10:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390283.627604; Fri, 19 Aug 2022 12:10:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP0pL-0001nO-2i; Fri, 19 Aug 2022 12:10:15 +0000
Received: by outflank-mailman (input) for mailman id 390283;
 Fri, 19 Aug 2022 12:10:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CGmR=YX=kernel.org=maz@srs-se1.protection.inumbo.net>)
 id 1oP0pJ-0001nI-JP
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 12:10:13 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e055e6bb-1fb7-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 14:10:12 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 7D830B82780;
 Fri, 19 Aug 2022 12:10:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2FF82C433D6;
 Fri, 19 Aug 2022 12:10:10 +0000 (UTC)
Received: from sofa.misterjones.org ([185.219.108.64]
 helo=wait-a-minute.misterjones.org)
 by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95)
 (envelope-from <maz@kernel.org>) id 1oP0pD-004Gt6-Sr;
 Fri, 19 Aug 2022 13:10:07 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e055e6bb-1fb7-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660911010;
	bh=Jdeg0gNIfmZu7A5fH6TqlhRryFzCX+dbWQbMVpqnCuc=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=lt4xMrpRqrdexvF/P0b4rlfGd4+mpXcobY4n9C7K/cutVbGptdASvCjplv3iE3Ez/
	 CDunY7nr0KGKRdZkcrYiKrmXOvpCKW2yCUFqgOsf5F/YAMgoWJtme+3VOM/QeTO9x6
	 yZ/Q8IC1p2DZmZ8oeXVk8UYCq1yiAy82Py3eWU9sJ6pcahCiqPcm3k6suFI/VpKq3f
	 2iUY9c9W+IZGG7KvWgCW1jOEuB0S0ikaqqNTtpYpf/12SX0FlULWxompZB4JcH77er
	 oS/koeGRj5JxwaiDef63QNxBLl9w5ddO7Jx0TwtYEgx3lasoLDvfPS3ycXSRTpJQ72
	 +bzVoXKnT/6gQ==
Date: Fri, 19 Aug 2022 13:10:10 +0100
Message-ID: <871qtcsacd.wl-maz@kernel.org>
From: Marc Zyngier <maz@kernel.org>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: Leo Yan <leo.yan@linaro.org>,
	Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
In-Reply-To: <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
References: <20220817105720.111618-1-leo.yan@linaro.org>
	<fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
	<CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
	<Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
	<CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
	<99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
	<Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
	<CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue)
 FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1
 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII
X-SA-Exim-Connect-IP: 185.219.108.64
X-SA-Exim-Rcpt-To: ardb@kernel.org, leo.yan@linaro.org, julien@xen.org, jbeulich@suse.com, Bertrand.Marquis@arm.com, Rahul.Singh@arm.com, peter.griffin@linaro.org, xen-devel@lists.xenproject.org, jgrall@amazon.com
X-SA-Exim-Mail-From: maz@kernel.org
X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false

On Thu, 18 Aug 2022 17:24:31 +0100,
Ard Biesheuvel <ardb@kernel.org> wrote:
> 
> On Thu, 18 Aug 2022 at 17:49, Leo Yan <leo.yan@linaro.org> wrote:
> >
> > On Thu, Aug 18, 2022 at 11:04:48AM +0100, Julien Grall wrote:
> >
> > [...]
> >
> > > > > Seems it's broken for kdump/kexec if kernel boots with using DT?
> > > > >
> > > >
> > > > EFI supports both DT and ACPI boot, but only ACPI *requires* EFI.
> > > >
> > > > So DT boot on hardware with affected GICv3 implementations works fine
> > > > with kdump/kexec as long as EFI is being used. Using non-EFI boot and
> > > > kexec on such systems will likely result in a splat on the second
> > > > kernel, unless there is another mechanism being used to reserve the
> > > > memory in DT as well.
> > > >
> > > > Maybe we should wire up the EFI_PARAVIRT flag for Xen dom0 on arm64,
> > > > so that we can filter out the call above. That would mean that
> > > > Xen/arm64/dom0/kexec on affected hardware would result in a splat in
> > > > the second kernel as well, but whether that matters depends on your
> > > > support scope.
> > >
> > > In the context of Xen, dom0 doesn't have direct access to the host ITS
> > > because we are emulating it. So I think it doesn't matter for us because we
> > > can fix our implementation if it is affected.
> > >
> > > That said, kexec-ing dom0 (or any other domain) on Xen on Arm would require
> > > some work to be supported. OOI, @leo is it something you are investigating?
> >
> >
> > Now I am working on automative reference platform; the first thing for
> > me is to resolve the kernel oops.
> >
> > For long term, I think the kexec/kdump would be important to be
> > supported, to be clear, so far supporting kexec/kdump for Xen/Linux is
> > not priority for my work.
> >
> > Also thanks a lot for Ard and Mark's replying. To be honest, I missed
> > many prerequisites (e.g. redistributor configurations for GIC in
> > hypervisor) and seems Xen uses a different way by emulating GICv3
> > controller for guest OS.  So now I am bit puzzle what's for next step
> > or just keep as it is?
> >
> 
> If i understand Julien's remark correctly, the dom0 GICv3 is emulated,
> and so it should not suffer from the issue that we are working around
> here.

The problem is that there is no way to distinguish a system that
suffers from GICR LPI tables being immutable from one that allows the
LPI configuration being changed (either because the HW allows it or
because the hypervisor plays other games).

Once you're in the secondary kernel with the RDs enabled, you have
already lost if there is a chance you could have reused this memory,
and that's irrespective of being a guest or bare metal (interrupt
delivery should still work during kexec).

> Given that this workaround is still the sole user of the MEMRESERVE
> API, we would like to remain free to rip it out and replace it
> completely if we need to, and so implementing it in Xen is a bad idea,
> especially if the issue in question does not even exist in your case.
> This means that even if you do decide to support kexec, things should
> work fine in spite of this warning regarding the failure to perform
> the memory reservation, as the GIC can simply be reconfigured.
> 
> So perhaps we should just [conditionally] tone down the warning?

What we could do instead is to have some form of kexec hook that tries
to go and turn the RDs off before jumping into the secondary kernel.
If the hypervisor allows this (and honours the GICR_CTLR.EnableLPI
bit), then there won't be any screaming in the secondary kernel.

This is probably a new infrastructure though, as I don't think we have
anything of the sort at the moment.

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 12:21:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 12:21:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390289.627615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP10Z-0003Ie-7B; Fri, 19 Aug 2022 12:21:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390289.627615; Fri, 19 Aug 2022 12:21:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP10Z-0003IX-3b; Fri, 19 Aug 2022 12:21:51 +0000
Received: by outflank-mailman (input) for mailman id 390289;
 Fri, 19 Aug 2022 12:21:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP10Y-0003IM-4t; Fri, 19 Aug 2022 12:21:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP10Y-0008B5-1K; Fri, 19 Aug 2022 12:21:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP10X-0003W3-HO; Fri, 19 Aug 2022 12:21:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oP10X-0004tl-Gf; Fri, 19 Aug 2022 12:21:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=riMoCnL6Eq+lceyfAUWMXQo/UDpVEWBB3WOJI9RRLXA=; b=IxjzbutXJ6rdi7KvNNhfUGX8KU
	WOyjkmYaP/nyRC5KJRu/tJBBpShp9IWI+piFYeL3BrrNFoGXyrlnnCAXPmn9D6tsbFUGaq17hhuc5
	+N5HbaPvekTlPzCr08/XmCZHu2rMpqS0tRB6Wy9a/OBCRAr5ELnUy+QFCcVDMsOU1EW4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172632-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172632: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
X-Osstest-Versions-That:
    xen=f2beaf876dce590ee9937b79cd3498f2fe9f661c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 12:21:49 +0000

flight 172632 xen-unstable real [real]
flight 172643 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172632/
http://logs.test-lab.xenproject.org/osstest/logs/172643/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172643-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172619
 build-i386-libvirt            6 libvirt-build                fail  like 172619
 build-arm64-libvirt           6 libvirt-build                fail  like 172619
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172619
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172619
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172619
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172619
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172619
 build-armhf-libvirt           6 libvirt-build                fail  like 172619
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172619
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172619
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172619
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172619
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
baseline version:
 xen                  f2beaf876dce590ee9937b79cd3498f2fe9f661c

Last test of basis   172619  2022-08-18 06:59:31 Z    1 days
Testing same since   172632  2022-08-18 22:09:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Tim Deegan <tim@xen.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f2beaf876d..6c987150cf  6c987150cf71976b5dd16b5f736dd5b0c6f6aee8 -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 12:39:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 12:39:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390304.627654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP1Ht-0005Fo-27; Fri, 19 Aug 2022 12:39:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390304.627654; Fri, 19 Aug 2022 12:39:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP1Hs-0005Fh-UT; Fri, 19 Aug 2022 12:39:44 +0000
Received: by outflank-mailman (input) for mailman id 390304;
 Fri, 19 Aug 2022 12:39:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oP1Hr-0005Fb-Lj
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 12:39:43 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2045.outbound.protection.outlook.com [40.107.22.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff4670d5-1fbb-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 14:39:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8466.eurprd04.prod.outlook.com (2603:10a6:20b:349::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 12:39:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 12:39:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff4670d5-1fbb-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MFANdjWGdWVBK04ZnDb2HHJtNrqyjoegC2VrazWzytJV1lWqE/WzfH9FY+10Q0CFE3pihF/7QXAh9uxdEnKNuAY8JeOab0otl3LVywCXKAkmzj20jibbx7L+TsOAc3Z55esUgN367ih/iPIx+I9LhWe4I1HtksqiGJVdjsBFSp8Vk/5w5M/6SKUuY463fHF146p4QCJr67A/HJB3s0EXQgkYQxtXBo75SFtQ0wrE6xwn7zWk3F6sv5IoLbxe/svfsyRJMHDF85DvX9eqBHOyMLMRcbm9ohWgD8mfAuxW09rHtCCfK9BgmVTqNXJWe0H/5o7Fh3JBRP8UvTWqAXWwGA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ur+7GJqhe6YFw7xQ5XmBUTfifrq/LWJ6ea1rnL8x85Q=;
 b=Af7RSbkp1O9oVhIPQm8L6BOXnfzvWxnawrZFFt6EUmkQDKu+EwtNzQyZtz9kMU2WZExfCBv1jTpMrpQ/90xbLt0wqwLa3uWMqqZugBs5J7SKygrvpS+VisPMg7XyW+WYFpzHAD2/dHjUXingMS+/XC9uXXA0Z9WVes8UL3xGCu059MgceeWo7JdywAIne69a0DvH4E1b+ryoWs4ijQs+1foCS1PExLS9/GBtvGUjSg31GMCbk8t2+tgTFfiQ+bD12qxk8cqZTbTtQDGw+m4GqFb0dW6BYxhz6e2v/gasHQhjpDdYHgpTpaL+0xB/VPULqY8oNznDQ4iAe4EbHLElZw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ur+7GJqhe6YFw7xQ5XmBUTfifrq/LWJ6ea1rnL8x85Q=;
 b=ZNThUDvEOp/HxW0z/75UQxTc8vXQ6AftKc8w3lpch8MjDAtauWr4bGJKlQKwGoFAKQDrVhOrM91YC6UScysBIgiabeSklGkz++ZKRPqKLKtGoSkS8RBYeYZrT9LI30iNZshLJhrn315qin+ht1mCZ0hG38aqqvSt1uEGbbdwOwiC7iu/ru28p2ouat0vTwLZUJU830SxRg13txFCJjOo1JZPJzVt1lvuFlAWjlcDQHnh3t/oOO7tSt9nYs6uRwt+CNXvrfvlNpNLAlv7Q4G2bFGlzOYcTWdQXcC+Og2tn66eyGwjBDgRCmDKY5T1eQgdHZXHzDrr7Gjvqne+fIK3vg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f392dc22-b23f-d27c-18dd-d221b8033d8c@suse.com>
Date: Fri, 19 Aug 2022 14:39:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
Content-Language: en-US
To: Wei Chen <Wei.Chen@arm.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <80abb94d-67d1-ef71-afbc-4d0bd9d8a557@suse.com>
 <PAXPR08MB74201D5D5741B9F19E3622A59E6C9@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <8a80c79d-975e-3866-2419-f6ac5678060b@suse.com>
 <PAXPR08MB74202616BCE3EB6B5F13D8EA9E6C9@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB74202616BCE3EB6B5F13D8EA9E6C9@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6P193CA0126.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:209:85::31) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b175587a-5d76-4524-a812-08da81dfe285
X-MS-TrafficTypeDiagnostic: AS8PR04MB8466:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MdA2UjrL84M+rSj4OfqojZ4843pvaAQsb7ZxQfizAaWST0XqJdL5/NipR6Lo4hM+9su6Y/JzJ+5K4sKBxK9K2qMruIy0NW8Wpctj98U508lR4TVvWgbHVRE4csqd/Q9EdUw5Jrj5HOqVDXIEWfKNvCsEpKpglAfF1+QUjVfmiZp0GZnEea5FbbXE8+RrHgvAzuWVQkjaRGG0DXJ57ZhFsyIQfxHIoJoQJJiryU7FNcZTXRQJQBJp+aINJ/FSZQwW/LrhGAtWWwC6Omg4cFKJsc5waynYlp5G2jJxuAOuCs2JPAG05uGYFq7rOTEkkMwUeK8LmDzItW5Kwoaad+RQ0wGYa9BnKPKYf67HQdbW6m4CZvvK4zMIhb6TyCXW/NIhagOvQMV3DJtGXUy67jyJkc/hRcFbTK7ktQeRbkF39xEAzRgKbkYBWsTXgGiu3nOELrdt9TScg7+W67aTp+QFPQMDbKxA/sBe2GfIguOYhuagJGwocTAq8ltpff9ut1CG+xf2KmMGkoyMoa2ys9NQ6RyLyQ+vgIGTfBpnh8iz4PorgconTTs2Y6Nhac8kPNhql3nymlc8bKGmz2AVHbPX7FgkFC4r+b6Pss2/YMoYA1Lju8jxGpcUcpTgQ8/49gMYwz5VPUlMUP0cRP0eJ7B5ZdoiDVcBJ8takMMhX5CunbfsUYRwMzjZ1zJe9ESOPIcX767Kw9+GNwYs9cQQNMVBE0p4Q2nvrzHCwNZ6c6OeAoeVT4MkbdSOVkIOZEJ09i3zT1JHpKn3qK4wHRYyHeNZ5p7kOTp2PPeCVfxpUA7g19k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(376002)(136003)(346002)(39860400002)(66556008)(66946007)(4326008)(66476007)(54906003)(6916009)(316002)(8676002)(5660300002)(8936002)(36756003)(2906002)(6486002)(478600001)(41300700001)(6512007)(6506007)(53546011)(26005)(2616005)(31696002)(86362001)(83380400001)(38100700002)(31686004)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTF2bjdobkpvSzQ5RDllWEw0by9CYTZZR1ZYZW9UaFdWVnk1bjFxTUtUaW1X?=
 =?utf-8?B?ejRzU0NFQWppai9FT1NVczVLRitlU0gvM1NiK3ljeVFhUURXVUV4UXNTbkN3?=
 =?utf-8?B?Q3NYRVJmMDBudmJRWFNXdTJZM1NiZEVIcHhFZy93KzhBYW5GaWtBbUtTRWpk?=
 =?utf-8?B?T3FZVGRIcVZHVHo2MDNwclYzRjhQYTRnSWY1S3dQWGJ2LzBhTmRJMGRRMmdZ?=
 =?utf-8?B?VkxVN2dFVVVHeHZ6Q01Zd3kzQjh4cGIxYW5sYk13b0xJVUt5MTNsSFdSL0tw?=
 =?utf-8?B?TGFOMUdBcjQ3Z0YzSzVjdTlGUnJhekgvb1pZb2lhMGxPN3lzWG1zU3JLV3Ry?=
 =?utf-8?B?TkR1cStEVEZxcVB2Nk51Zm93djVxMFByYUQ3UEJtM1p1V0ZENDZMMkc5MDhP?=
 =?utf-8?B?WVlqbzhTRWdBTjN2SlFCOWpNaFZKdkljQ2ZXTnBXaHc2Nm5sUzVNUHFLbjVW?=
 =?utf-8?B?Q2RWbnNrNzdiVDZQZFRmNWk0Z25VNDA1OWpKejZGNGRpZG5UeWxydC9rcm9l?=
 =?utf-8?B?WW5sc1N1aE5pTzI0dFBZK3dEeUx6OFdEYUtDQlhRQ1NMWm5CWWQyYkdnVjFv?=
 =?utf-8?B?Qk82UTJUS09ua3NvU01RSXBIbE5xTkU2VmkvYXRpbklDQll2RDh1ZTNqWnBQ?=
 =?utf-8?B?Lzhzdzd1dkRmVndtcnQ5ZkVvWldMamZuYVNOY0tPMExNZjBNbTlXMnBvdVU1?=
 =?utf-8?B?VXA1c3JhOXgwUzZKTFNHSnpSSWNTRDdWYXZkQUZpbnFnVmdFaTBVVktzSFJ4?=
 =?utf-8?B?TTBjTDhaYVRMVU15TW84cjRNQU1Yc3ppb1FHY3UvMnlGSTdvRTlscnI4UVor?=
 =?utf-8?B?a1Zxcy96RTJrUzlxR3VKSjVlV2hYdnFJSVhtYWdEd3drTmtOK0FkRjFxL21i?=
 =?utf-8?B?MHBHSkJOYjg3UFd0eGhPd1dGY1BEZWR5U2hpNk92ZkdueDdnbHFGYWpCU3Bi?=
 =?utf-8?B?Z0xiMXY2bXlpeitFQitaTUJuU2VmVTNZaUNoZWF3eE5DRXY4cEt0Ymh5NGZk?=
 =?utf-8?B?c1pkUjJKeDFHYzNrdUlSMEppQkllUDJkUFJqTGFSbFp3UE9pV1JoeVQxS0hE?=
 =?utf-8?B?azhGdC8zd3F1N1lYY2p3UUloY0dqNUx6Q0oySFVDUU1KZFN3Qk8rM1YyY2ps?=
 =?utf-8?B?TmcvMXJBaU94UU1OVzFJbVhySktBSXJkeDMrUEFYQVVmcEFvd1ZsUENGTjNY?=
 =?utf-8?B?dFMxTHF0UitaMVB2b1BydlB1YzUyekdSVDQzTUUvcUlsQzJGMnhjbW9MUGtW?=
 =?utf-8?B?TkhrNmdkMSt1dFNaaytLTDJydE1sSTN5clR0ZnBTV3VoYlJYUVNFUFlzOXAy?=
 =?utf-8?B?SEJGQm9DMUx5T1U4bml1OW54VXlkQXNuMk5lRWVKeDRoTkZoVXVQUGhMUmk1?=
 =?utf-8?B?bHlhdDE1SVIyd1A1VVUwNDhmT3RDZWNUUFFpbWNmZFpFTW4xM2NRT2VoL2Qr?=
 =?utf-8?B?VnBlRUlWejc5QkphbDdlR2JSTFptZ2ZaYmxFajRLZjQzVkVVODYra3hOemVi?=
 =?utf-8?B?bVVtNUV0U2ZWazhBYkk2cjRhbXhicnRUVHUra3d5NlRrU3c0cFhYclpXa0NY?=
 =?utf-8?B?SDVQLzBmTUJ0L0xUU2QzNXNlUzdSOC9mUVd3V3FPSkR6WHZsS09mMDRsZGgy?=
 =?utf-8?B?bVByVE5sNkNOY0dkckZuazNDSUVoeGxyRE92RW0xKzliRDNtNHZKL2EwOEdN?=
 =?utf-8?B?VUFqNnlpVzRoQTYzS2liOUhIMDJHOHVkUkpQNUpIL2tYMzdFUG4zTVhJTHg0?=
 =?utf-8?B?djV4bGhnSXBaejJNKzkzeGpUZ3RhR1hHUWhIUXdnWlcwYWVKZDlHdGRoL3JY?=
 =?utf-8?B?QnF1elBVM3hMVmlrM2JFaHdoNTNJWmYvcCtjcHVKMklmMERpeW9TQ2ZXODB5?=
 =?utf-8?B?SHFLQ3psTnRqNGhCTnYycENvSUZXa3RsWmFlK3JFU0hDdEI5QkdmamlNL1pq?=
 =?utf-8?B?WEVLcVE1M3NZZHllcGd4YzFlZUFoRVJrMkxYbEs1NTFISU5lUk5NMGZZWW5h?=
 =?utf-8?B?SjdoZWR1MlF5RjJDdFIxemZja1Nrd0FYUEc3Tkl1b2VuNFd1N3Z2L3o0UFRx?=
 =?utf-8?B?UjNYNlRPSnFDNXhYclVmcXFwRW94aFNNaUxsSEVGWU9rMWYzRUFjdEVKRk9I?=
 =?utf-8?Q?14YD2Qrv0HyVJg2gfBD4jaX1I?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b175587a-5d76-4524-a812-08da81dfe285
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 12:39:40.7102
 (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: nTRamPuLpDQvW0DvAduffb9SvJCcwp4Fuj4LWsahStDyGOE1VLkUqan8fYqrQEcwjbzr+/srENykmadKrCiFPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8466

On 19.08.2022 11:41, Wei Chen wrote:
> Hi Jan,
> 
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022å¹´8æœˆ19æ—¥ 16:04
>> To: Wei Chen <Wei.Chen@arm.com>
>> Cc: Julien Grall <julien@xen.org>; Stefano Stabellini
>> <sstabellini@kernel.org>; Volodymyr Babchuk <volodymyr_babchuk@epam.com>;
>> Bertrand Marquis <Bertrand.Marquis@arm.com>; xen-
>> devel@lists.xenproject.org
>> Subject: Re: [PATCH 2/2] Arm32: tidy the memset() macro
>>
>> On 19.08.2022 09:59, Wei Chen wrote:
>>>> -----Original Message-----
>>>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
>> Jan
>>>> Beulich
>>>> Sent: 2022å¹´8æœˆ19æ—¥ 15:50
>>>>
>>>> - add parentheses where they were missing (MISRA)
>>>> - make sure to evaluate also v exactly once (MISRA)
>>>> - remove excess parentheses
>>>> - rename local variables to not have leading underscores
>>>> - apply Xen coding style
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> I wonder whether "if ( n_ )" is really helpful: It's extra code in all
>>>> callers passing a non-constant size, just to cover a pretty rare case
>>>> which memset() is required to deal with correctly anyway, and which
>>>
>>> What rare case we need to use n_ that can make memset happy?
>>
>> I'm afraid I don't understand the question.
>>
> 
> Sorry I didn't describe the problem clearly in the last email. You mentioned
> whether if (n_) is useful in your patch comments. I looked at the implementation
> of the current memset macro, and I didn't feel it was too useful.
> 
> Then in the comments you mentioned that if (n_) is just to cover a very rare case.
> Does the rare case is memset(p, v, 0)?

Yes, albeit not in the form you've written it, but with the last argument
being a variable which happens to be zero. With literal zero, the compiler
would dead-code eliminate the construct anyway.

Jan

> If this is the case, I agree with you,
> memset itself should be able to handle with size=0.
> 
> Sorry again for confusing you!
> 
> Thanks,
> Wei Chen


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 12:58:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 12:58:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390311.627664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP1ZX-0007h2-Ja; Fri, 19 Aug 2022 12:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390311.627664; Fri, 19 Aug 2022 12:57:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP1ZX-0007gv-Gy; Fri, 19 Aug 2022 12:57:59 +0000
Received: by outflank-mailman (input) for mailman id 390311;
 Fri, 19 Aug 2022 12:57:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wa9Z=YX=citrix.com=prvs=223f339b3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oP1ZW-0007gp-97
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 12:57:58 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a687b23-1fbe-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 14:57:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a687b23-1fbe-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660913876;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=eFhTDmPa6SZiewhDtEkEkA/0/e8V+tjJjyF0ztUNWBA=;
  b=Bi5LBlwxwAB1Ks9j+0OYo6mVeUReLjiqJysA9VlCTd73gHV3ZDVgS7s8
   YfjszkrfAS5dnVKCw317RkORZIEoX+PUuytvgIXkWr/jZ9PX9daNrx8gz
   gPQsew8hKoVJN2sow/SAgHV5yQuO3MUzNUT9yJu5SglPS9sY8+ik2iHwh
   E=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 81019905
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Bk/iVqoJGt7RyiHMEMb283lT1hReBmJpZRIvgKrLsJaIsI4StFCzt
 garIBmEaPeIYDOjL9knPNu+8h4GucTQn9NrTQI4/yhhFXgXopuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GpI5gdWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqUV+uxbDnFnx
 MAHMQ0QcDqxhfCT8I6kH7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8eDo4+m+G5wGHyaTRCpHqepLYt4niVxwt0uFToGIqMIoXbFJ0I9qqej
 kXD+yfbMBUUDsKk2CPery2xxbbQujyuDer+E5Xnr6U30TV/3Fc7GBAQEFe2v/S9okq/QM5Eb
 VwZ/DI0qqo//1DtScPyNzWnpFaUsxhaXMBfe8U37AyLw+zJ7QecGnMJUDdpb8Yvv8s7Azct0
 ze0c8jBXGI19ufPEDTEq+nS/Wja1TUpwXEqaC8OYQQVyujfv5gOkwzlfNRxNZ6JkYigcd3v+
 AxmvBTSlp1K05BTh/rnpACZ696/jsOXF1Bov207Skrgt1okP9D9OuRE/HCBtZ59wJClok5tV
 ZTus+yX96gwAJ6Ej0Rhq81dTejyt55p3NAx6GOD/qXNFBz3ohZPhagKvFlDyL5Ba67ogwPBb
 k7Joh9275ROJnasZqIfS9vvVZx6kfe/RIi7Bqu8gj9yjn9ZJWe6ENxGPxbMjwgBbmB3+U3AB
 XtrWZn1VitLYUiW5DG3W/0cwdcW+8zK/kuKHMiT50n2jtKjiIu9E+ht3K2mMr9kt8tpYWz9r
 75iCid9404DCL2mO3eLqtJ7wJJjBSFTOK0aYvd/LoarSjeK0kl4YxMN6dvNo7BYopk=
IronPort-HdrOrdr: A9a23:5JHkxK0RG+N0YP9sEzWACAqjBLIkLtp133Aq2lEZdPRUGvb3qy
 mLpoV+6faUskd1ZJhOo7290cW7LU80sKQFhrX5Xo3SPjUO2lHJEGgK1+KLqFfd8m/Fh41gPM
 9bAs5D4bbLbGSS4/yU3DWF
X-IronPort-AV: E=Sophos;i="5.93,247,1654574400"; 
   d="scan'208";a="81019905"
Date: Fri, 19 Aug 2022 13:57:41 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Elena Ufimtseva <elena.ufimtseva@oracle.com>
CC: Wei Liu <wl@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Ping: [XEN PATCH v4 01/32] tools/debugger/gdbsx: Fix and cleanup
 makefiles
Message-ID: <Yv+IxeVyOji3/pZY@perard.uk.xensource.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-2-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220811164845.38083-2-anthony.perard@citrix.com>

Hi Elena,

Could you give a ack or review this patch?

Thanks,

On Thu, Aug 11, 2022 at 05:48:14PM +0100, Anthony PERARD wrote:
> gdbsx/:
>   - Make use of subdir facility for the "clean" target.
>   - No need to remove the *.a, they aren't in this dir.
>   - Avoid calling "distclean" in subdirs as "distclean" targets do only
>     call "clean", and the "clean" also runs "clean" in subdirs.
>   - Avoid the need to make "gx_all.a" and "xg_all.a" in the "all"
>     recipe by forcing make to check for update of "xg/xg_all.a" and
>     "gx/gx_all.a" by having "FORCE" as prerequisite. Now, when making
>     "gdbsx", make will recurse even when both *.a already exist.
>   - List target in $(TARGETS).
> 
> gdbsx/*/:
>   - Fix dependency on *.h.
>   - Remove some dead code.
>   - List targets in $(TARGETS).
>   - Remove "build" target.
>   - Cleanup "clean" targets.
>   - remove comments about the choice of "ar" instead of "ld"
>   - Use "$(AR)" instead of plain "ar".
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 12:59:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 12:59:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390318.627676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP1ax-0008IZ-VA; Fri, 19 Aug 2022 12:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390318.627676; Fri, 19 Aug 2022 12:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP1ax-0008IS-SG; Fri, 19 Aug 2022 12:59:27 +0000
Received: by outflank-mailman (input) for mailman id 390318;
 Fri, 19 Aug 2022 12:59:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wa9Z=YX=citrix.com=prvs=223f339b3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oP1aw-0007gp-Cw
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 12:59:26 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf756f06-1fbe-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 14:59:25 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf756f06-1fbe-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660913965;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=sV77MNmlM02OxV5ypHSgbXQjvdrRRvl7JlOH5wB0rII=;
  b=SjwCtaXx927FsCq3Yp33l0GJ6UB+w5rbznTsf81n9PXGAixJNtW5tOHt
   UI5oBmSeRCHay833GZIUQm/uLEBiklP/tFSEO/eH2eSyQAXyADLed4uTE
   xc9uAyd3v9V4QMiRkD6vSKy36uKrOvOxLO86KU10hvoKJZIck+e38ZREx
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78479101
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A2xdxMqD0rw9Y6hVWkefolL37Oh/EJm4LOzaM4?=
 =?us-ascii?q?rliHsu38QUQhB6dWDjdXBeEg+ibQb4tzvsOXrgHfXJaGvlauT7q4ejnJharV?=
 =?us-ascii?q?a14HAXiWlYXGPeuTmzeIvhslogd8srimjQx6h9uwaQkBSNdNOqEYnMqnrULV?=
 =?us-ascii?q?O7nfLS7jgdKQtmR2ZQQ+xaO7MroKVGxzrL+Hta153e+R0oTgdpdK9rJ05uTw?=
 =?us-ascii?q?diMeovg530IcxK12H1zgfma7C0OsSFa2tFLXxNqCE/Z9cuvQiQvnxkFi4WuI?=
 =?us-ascii?q?kGEiIE8LKeK2mu5fewsnpBQL3Z0C9ajC4GSH9q52NLed/o/Bl+PrWSJT8+Lb?=
 =?us-ascii?q?z/bEA5pxSjunSIFm5eBSKhjjaB92kRi7GnrFzTGoV/VVlzkAK83NYJYDX68q?=
 =?us-ascii?q?qtySapgtboSwpuKjc1ZYSMiv6mtmfj5zNr7zNBjlH/D6BJj1jsD6DLo9T84B?=
 =?us-ascii?q?MvtDbqQCcWZbR1drHh8ZbjPUtRdvc3jTwRF8+GMtbj4TIvdKeJk0o1W1azSc?=
 =?us-ascii?q?i3ygbqffa++ZaRVn2m62MQLGDtY1T4AvQTj0EVk2bRl0cDWH6dbeFfNAqLSU?=
 =?us-ascii?q?WM2v+6JQoh6PtOkFRCXgyqRZPHBapXwuaHoTUWBJsoIa5cawdVaFJD+52XuC?=
 =?us-ascii?q?8fWD9IQNSjPeP6gV6CEHTAOm7dTuSoNPx+wUTc/KiK4tk/g6By9cpucjVwHU?=
 =?us-ascii?q?N9a4XGM3BjqY89I8RyG6Mecdk1ODqEgFrSYEs6l4lxT2poXckVm05G8dF0V6?=
 =?us-ascii?q?MqOegRuhLaNPpragxWO2wtjJrmsL2VnieNtmqjpjbQAuzkl3tWUTC6Kk0OdX?=
 =?us-ascii?q?D/mOfnGakvlWiakeY71FAaLvtHKtD2TDUk6j6OvgIXUYUMhCW3ERiDGb8Heu?=
 =?us-ascii?q?s5TRvN0gGI2JuYTIDl5+RtXVz+3ItzFBI3yDtuegTaGBgy87Otm+0NsyB4ss?=
 =?us-ascii?q?R/1GRB+LuMKRzv8yzsYyaXpfuMU9RdR6zGYNymv0vf1jb57PMa6AgN5xtc6F?=
 =?us-ascii?q?23Fwlk9UOUQsJOAQh4aNhCLaGIGD1dmTVFkLXZJQeip3Le/PXMek0ZOWgQbd?=
 =?us-ascii?q?+s2AQRLv8i8UEdJm/ByWPbPK0yr7D+bYzIndPVKTu+BIq6ROYVOBvEzxm/09?=
 =?us-ascii?q?Qos87TRuhE1DNJVfNzWn60R1Tma0Y+CTp31dbt21Y4zu6OtY50/TJGQ3hQqY?=
 =?us-ascii?q?Y5mgpl5qiW7RJq3ExkCeoZEQL3kBGFSo5gYRp/qTD4ovtOLhUSRenqkS1iwD?=
 =?us-ascii?q?l24lN2KFbA4pZOp9uJ3/l63UZwsrvxn8fqwLAS9g3D+YcGSme3ZCh6jbk4dh?=
 =?us-ascii?q?MxzYkRS2q+N32pl0OgCDs/zLxdix53ebGhHuy1xH9936C6Xw6C9FMzHmz4bc?=
 =?us-ascii?q?yVFzB930u98lV+5m0i0325LiuKzXbJJhyeNpaKxbq0yr95SaQ0TpEbZ8ZAN7?=
 =?us-ascii?q?zreYrDPxCh62SqLnzter+IqbCZJG3Pldtk9QUw+3vVHYUBYj3PEeeSjpdHhb?=
 =?us-ascii?q?HJSD8QKTPbKHKbl0F8vxdZNosAM8eiwdvZiwJS7ONf0SZAzwYth/z8LPOQPv?=
 =?us-ascii?q?bjS0VtTqTZNJn+aAtab0bjmMS8a6jHwk9m7O3NAu6dDRWM9A+9DKaibtm8/x?=
 =?us-ascii?q?OrwZkbFlsrcKmW/Z9bCHjNCaa0bc1OBaHl/2E7VSrh5CRUbEl1OMtD709+Nf?=
 =?us-ascii?q?u1EcDTKMK3Yidm8I1GGUKd+heWP0eyB0xaHeTuGZqqV4AKjSQLqPD/VsMMfP?=
 =?us-ascii?q?6kXeQ+faiIUjVERpW6ZE6+uCxjHjbGJJBJb0RviV3GN9s6mVLMMeoPidfDWm?=
 =?us-ascii?q?7Ee9EJM33sO168vT2vWQbuoksGbZC5Hehr6ecJSHlI5nfw1aboP1u0ixZOQ8?=
 =?us-ascii?q?BqI/J0UkEbWedYVRFXhe/3j/uhms5KbeLaTeBI/yB+LnlMA/5sb0reW0QkBo?=
 =?us-ascii?q?5LUBntNUxEcud0k89bQMUoPR9VODopWuQlIg1HzzxsRfq4EBDP2tIsOcfn9L?=
 =?us-ascii?q?FwhjI0CPn3dsXsc7ShYPgIelbRXnFjWKnN8c4kLuooiKgJKSln2Ty3fkSBxs?=
 =?us-ascii?q?4RhNSRAuNLQbTPYRCS/FmG0CBLH6KcCu+/BIOeBLMIjJDBsnutxSS236Fj9w?=
 =?us-ascii?q?H31xiIomyRgb8LpM4WX7OD1BLrqI/Zn7yBT54xh5kYWiiNPWQgErvgSMyXUZ?=
 =?us-ascii?q?JywFmU9uD/tqMJgHBKZHeg2uZIShyLFgWJkA/FD1gg5UYiG/kFMjhcfjBG1e?=
 =?us-ascii?q?GvJueiRAwFeiZazVj0QTWVM8TBdj9jT86T1mkE7I/tPxeKqEGjNjfdQypSpR?=
 =?us-ascii?q?Q7ANslxJcOtqkoIGOr/5Ogl5CL7Gzzz5qwKqtcTkjfhHDMGlQ3Ftv/4ya7Zi?=
 =?us-ascii?q?5BPjwAXq3dyLWgnytOVVKzplK+CVy0c0L2DfUyOcGJjybHiqowckVJ3x1stm?=
 =?us-ascii?q?8+Xh955FD4WiAKNa1+uz/TFiT1FYREV66yG+gO0bBDbS4CcxzZMikTk/+D17?=
 =?us-ascii?q?lyu3wuAq4ZjsAamaLvLhBHet/WDrFyokFidNGo2l4VMvlF5eflg/WoaXboik?=
 =?us-ascii?q?Fp2ftfvVXhwiAb6yHgERlW5Z5e4C2zxhCYbHWqo/cLYFiJirPN5av+kLuZbI?=
 =?us-ascii?q?quMlvQSQwiofEBhLbMU0+JpB8WxFjtOn+GAXZ7IIs0tsvudKaNNgx340ca70?=
 =?us-ascii?q?+0=3D?=
X-IronPort-AV: E=Sophos;i="5.93,247,1654574400"; 
   d="scan'208";a="78479101"
Date: Fri, 19 Aug 2022 13:59:19 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: George Dunlap <george.dunlap@citrix.com>
CC: Wei Liu <wl@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Ping: [XEN PATCH v4 08/32] tools/xentrace: rework Makefile
Message-ID: <Yv+JJ2FNoSaotgwZ@perard.uk.xensource.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-9-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220811164845.38083-9-anthony.perard@citrix.com>

Hi George

Could you give a ack or review this patch?

Thanks,

On Thu, Aug 11, 2022 at 05:48:21PM +0100, Anthony PERARD wrote:
> Remove "build" targets.
> 
> Use "$(TARGETS)" to list binary to be built.
> 
> Cleanup "clean" rule.
> 
> Also drop conditional install of $(BIN) and $(LIBBIN) as those two
> variables are now always populated.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 13:09:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 13:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390326.627687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP1l2-0001QQ-VZ; Fri, 19 Aug 2022 13:09:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390326.627687; Fri, 19 Aug 2022 13:09:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP1l2-0001QJ-SJ; Fri, 19 Aug 2022 13:09:52 +0000
Received: by outflank-mailman (input) for mailman id 390326;
 Fri, 19 Aug 2022 13:09:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wa9Z=YX=citrix.com=prvs=223f339b3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oP1l1-0001QD-A7
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 13:09:51 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 330f3c7e-1fc0-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 15:09:48 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 330f3c7e-1fc0-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660914588;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=d8rD5XRNXgIuCcNGwotXh4Enqk+a6oo1Q1QQLqXlV1k=;
  b=LqtG5vvml/8cmJwdXmdJkhofvCE60WAoRZ/G7Z2IxH4IQ2Paaq1WDheA
   zHXANzKXNTdQaBxiv2xBmneuu5fnBOlQjZGGMoVG3e0Dyfn1MQEsbxBQQ
   7/YDrL6dEcEsdMGaJkEUBO4j2J6q92ogoE5/xJ+l6qYGEoMvwoCZqquQZ
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78209948
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:FSc9x64DIyJnN2tX+x+VzAxRtFDHchMFZxGqfqrLsTDasY5as4F+v
 jcaCz+OOffYMGqkc41yYY7l9E0Pu57cxtdhTFZrq3hkHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5aWq4Vv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJBw3bYIZ1+d6OGN1r
 f4YBzwJVjGovf3jldpXSsE07igiBMziPYdZsXB81zDJS/0hRPgvQY2Tu4Uehm1pwJkTQ7COP
 KL1ahI2BPjESxRJJlcQDoN4hOqyj2PzWzZZtEiUtew85G27IAlZj+i3aIuEJoziqcN9g163i
 UTb0WXCMwwdFYykzR2PwC2tr7qa9c/8cN1LT+DpnhJwu3WDy2pWBBAIWF+TpfiillX4S99ZM
 1YT+Cclse417kPDZsb5dw21pjiDpBF0c8BXCOcg7waOzILb5g+YAi4PSTspVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3uqV/TyzFCkYFG05PS0EYgcB2/jImp5m23ojUe1f/L6JYszdQG+um
 2DV8HFu2d3/nuZQifzloAmvbyaE48GQE1Vrvli/sneNtFsRWWKzW2C/BbE3B95kJZ3RcFSOt
 WNsdyO2vLFXVsHleMBgrYww8FCVCxWtamS0baZHRcVJythU0yfLkXpsyD9/Plx1Fc0PZCXkZ
 kTe0SsIusELbCf1Mv4rPdLqYyjP8UQHPYWNaxwpRoAWPsgZmPGvp0mCmnJ8L0iyyRNxwMnTy
 L+QcNq2DGZyNJmLOAGeHr5FuZd2l39W+I8mbcqkp/hR+ebBOSX9pHZsGAfmU93VG4vf/F2Fq
 48Ba5DWo/idOcWnChTqHUcoBQhiBRAG6Vre8aS7qsbrztJaJVwc
IronPort-HdrOrdr: A9a23:Sw+BYajX98SMCTLBPlnaZtQIeHBQXtoji2hC6mlwRA09TySZ//
 rBoB0+726RtN9xYgBEpTnuAsS9qB/nmaKdpLNhWotKPzOW2ldATrsD0WKK+VSJcEfDH6xmpM
 RdmsBFebvN5DNB7PoSjjPWL+od
X-IronPort-AV: E=Sophos;i="5.93,248,1654574400"; 
   d="scan'208";a="78209948"
Date: Fri, 19 Aug 2022 14:09:39 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook
	<rosbrookn@gmail.com>
CC: Wei Liu <wl@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Ping: [XEN PATCH v4 17/32] tools: Introduce $(xenlibs-ldflags, )
 macro
Message-ID: <Yv+LkxKisoXqpuFO@perard.uk.xensource.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-18-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220811164845.38083-18-anthony.perard@citrix.com>

Hi Nick, George,

Could you give a ack or review this patch?

Also sorry George, it seems that the use of "--remove-duplicates" with
`get_maintainer.pl` have removed your email from CC the list.

Thanks,

On Thu, Aug 11, 2022 at 05:48:30PM +0100, Anthony PERARD wrote:
> This avoid the need to open-coding the list of flags needed to link
> with an in-tree Xen library when using -lxen*.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>
> ---
>  tools/golang/xenlight/Makefile | 2 +-
>  tools/Rules.mk                 | 8 ++++++++
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
> index 64671f246c..00e6d17f2b 100644
> --- a/tools/golang/xenlight/Makefile
> +++ b/tools/golang/xenlight/Makefile
> @@ -27,7 +27,7 @@ GOXL_GEN_FILES = types.gen.go helpers.gen.go
>  # so that it can find the actual library.
>  .PHONY: build
>  build: xenlight.go $(GOXL_GEN_FILES)
> -	CGO_CFLAGS="$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APPEND_CFLAGS)" CGO_LDFLAGS="$(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) -L$(XEN_libxenlight) -L$(XEN_libxentoollog) $(APPEND_LDFLAGS)" $(GO) build -x
> +	CGO_CFLAGS="$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APPEND_CFLAGS)" CGO_LDFLAGS="$(call xenlibs-ldflags,light toollog) $(APPEND_LDFLAGS)" $(GO) build -x
>  
>  .PHONY: install
>  install: build
> diff --git a/tools/Rules.mk b/tools/Rules.mk
> index ce77dd2eb1..26958b2948 100644
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -105,6 +105,14 @@ define xenlibs-ldlibs
>      $(foreach lib,$(1),$(xenlibs-ldlibs-$(lib)))
>  endef
>  
> +# Provide needed flags for linking an in-tree Xen library by an external
> +# project (or when it is necessary to link with "-lxen$(1)" instead of using
> +# the full path to the library).
> +define xenlibs-ldflags
> +    $(call xenlibs-rpath,$(1)) \
> +    $(foreach lib,$(1),-L$(XEN_ROOT)/tools/libs/$(lib))
> +endef
> +
>  define LIB_defs
>   FILENAME_$(1) ?= xen$(1)
>   XEN_libxen$(1) = $$(XEN_ROOT)/tools/libs/$(1)
> -- 
> Anthony PERARD
> 

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 13:25:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 13:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390333.627698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP207-0003me-9b; Fri, 19 Aug 2022 13:25:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390333.627698; Fri, 19 Aug 2022 13:25:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP207-0003mX-6R; Fri, 19 Aug 2022 13:25:27 +0000
Received: by outflank-mailman (input) for mailman id 390333;
 Fri, 19 Aug 2022 13:25:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wa9Z=YX=citrix.com=prvs=223f339b3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oP206-0003mP-3M
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 13:25:26 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 60fdfaba-1fc2-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 15:25:24 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60fdfaba-1fc2-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660915524;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=JG0CLmvbXmbI1CY8qWqmo6NZ9hD0xesXwQvo7eZT0rA=;
  b=Lf+GeiPHYmBShDSc/5u7waZBspVVlRU6SpljSh+syRhu6wQKTYmsxF7Y
   7qSXYCAMcTpL91VtQJHU71TojWXwBi1hFBZ27qZ0iRjgBu22hfvMQlamU
   2Cb5W75SgNKzKjCFjhVWxL0UDE6OrqbkYc1QWfX0WHH2whiYE9Y0EHclc
   M=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78914721
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:+pEID654Laho4GN+eo6N5gxRtBjHchMFZxGqfqrLsTDasY5as4F+v
 mFOCjrSPquKamqjeYp/aN/j8EwCv5OBmoBmQAFs+HpkHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5aWq4Vv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJBoMftMCwNhoO31L2
 qQUJjkGTEqgjO3jldpXSsE07igiBMziPYdZsXB81zDJS/0hRPgvQY2Tu4Uehm1pwJkTQ7COP
 KL1ahI2BPjESxRJJlcQDoN4hOqyj2PzWzZZtEiUtew85G27IAlZj+i8aYaKIIXiqcN9oUqen
 0b8+lzDJwgENvqv5B+ownSJr7qa9c/8cN1LT+DpnhJwu3WMwkQDBRtQUkG0ydG7hVS5QMl3M
 FEP92wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQAsQzpMbtVgqcE3QCAx2
 0GAt9TzDDdrvfueTnf13quVqBuiNC5TKnUNDQcGRwYY59jooKkokwnCCN1kFcaIYsbdQG+qh
 WrQ9W5n2utV3ZVjO7iHEU7v2Ajv+ILzcBEP+gD4Bm6r5whbPq2uaNn9gbTE1sqsPLp1X3HY4
 iZcy5fCtbBQZX2evHfTGbtQRdlF897AaWSB2gA3QvHN4hz3oxaekZZsDCaSzauDGuINYnfXb
 UDaomu9D7cDbSLxPcebj29cYvnGLJQM9vy/D5g4lvIUPvBMmPavpUmCn3K40WH3i1QLmqoiI
 5qdesvEJS9EV/w3kGXpFrtDgeRDKsUCKYT7FPjGI+mPi+LCNBZ5t59eWLdxUgzJxPzd+1iEm
 zquH8CL1w9eQIXDX8UjyqZKdAhiBSVqWvjLRzl/LLHrzvxORD58UJc8ANoJJ+RYokiivryUp
 iHlAxEEkwaXaL+uAVziV02PoYjHBf5XxU/X9wR1Vbp08xDPubqS0Zo=
IronPort-HdrOrdr: A9a23:W3mceKjZudtG/57SJotavrLPBHBQX6F23DAbv31ZSRFFG/FwyP
 rBoB1L73DJYWgqNE3IwerwRJVpQRvnhPpICPoqTMiftWjdySSVxeRZjLcKrAeQYxEWmtQtt5
 uINpIOdeEYbmIKw/oSgjPIaOrIqePvmMvD6IeurEuFDzsaEZ2Ihz0JUjpzeXcGIzWucKBJba
 Z0kfA3wQZIF05nC/iTNz0gZazuttfLnJXpbVotHBg88jSDijuu9frTDwWY9g12aUIP/Z4StU
 z+1yDp7KSqtP+2jjXG0XXI0phQkNz9jvNeGc23jNQPIDmEsHfpWG0hYczAgNkGmpDr1L8Yqq
 iJn/7mBbU115rlRBD2nfIq4Xin7N9h0Q669bbSuwqcnSWwfkNKNyMGv/MDTvMSg3BQ5u2VE8
 pwrj+kX+A8N2KeoMynjeK4CS2D0iGP0CkfeSt6tQ0CbWPbAIUh/LD2OytuYcc99WvBmfMa+O
 UCNrCt2N9GNVyddHzXpW9p3ZilWWkyBA6PRgwYttWSyCU+pgEy86K2/r1pop4szuN0d3B/3Z
 WODo140LVVCsMGZ6N0A+kMBcOxF2zWWBrJdGafO07uGq0LM2/E78ef2sR42Mi6PJgTiJcikp
 XIV11V8WY0ZkL1EMWLmJlG6ArETmmxVSnkjste+596sLvhQ6eDC1zPdHk+18+75/kPCMzSXP
 i+fJpQHv/4NGPrXZ1E2gXvMqMiYEX2kPdlzOrTd2j+1/4jcLeaxNAzWMyjUIbQLQ==
X-IronPort-AV: E=Sophos;i="5.93,248,1654574400"; 
   d="scan'208";a="78914721"
Date: Fri, 19 Aug 2022 14:25:18 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Elena Ufimtseva <elena.ufimtseva@oracle.com>, Tim Deegan <tim@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>
CC: Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
	<xen-devel@lists.xenproject.org>
Subject: Ping: [XEN PATCH v4 21/32] tools: Remove -Werror everywhere else
Message-ID: <Yv+PPtFVpfbyoZ9a@perard.uk.xensource.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-22-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220811164845.38083-22-anthony.perard@citrix.com>

Hi Elena, Tim, Jan, Andrew, Roger, George,

Elena, could you give a ack or review this patch, for the change in
"tools/debugger/gdbsx/Rules.mk" ?

Tim, could you give a ack or review this patch, for the change in
"tools/debugger/kdd/Makefile" ?

Jan, Andrew, Roger, could you give a ack or review this patch, for the
change in "tools/fuzz/cpu-policy/Makefile" and
"tools/tests/cpu-policy/Makefile" ?

George, could you give a ack or review this patch, for the change in
"tools/xentrace/Makefile" ?

I would also need a review from someone on the whole patch.

Also, sorry to Jan, Andrew, and George, it seems that the use of
"--remove-duplicates" with `get_maintainer.pl` have removed your emails
from CC the list.

Thanks,


On Thu, Aug 11, 2022 at 05:48:34PM +0100, Anthony PERARD wrote:
> Patch "tools: Add -Werror by default to all tools/" have added
> "-Werror" to CFLAGS in tools/Rules.mk, remove it from every other
> makefiles as it is now duplicated.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Acked-by: Christian Lindig <christian.lindig@citrix.com>

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 13:41:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 13:41:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390340.627709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP2FK-0006AP-Ko; Fri, 19 Aug 2022 13:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390340.627709; Fri, 19 Aug 2022 13:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP2FK-0006AI-Hp; Fri, 19 Aug 2022 13:41:10 +0000
Received: by outflank-mailman (input) for mailman id 390340;
 Fri, 19 Aug 2022 13:41:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wa9Z=YX=citrix.com=prvs=223f339b3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oP2FJ-0006AC-0L
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 13:41:09 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 921e6346-1fc4-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 15:41:06 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 921e6346-1fc4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660916466;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=+sYqpKNHGIpfgjyLA68iMEwoPpTIFkQ+UhNZZHS/Uzs=;
  b=XHW/YqVvMUM3Rb+acqaPU0WrmYe1abLJ1Xm0OrMMpNN7JTgc9WONCEM1
   fKNZB1KVvdKXm+lQBXYu27FKfcXlWpX4H92Y7Vdn9tGqwaEuirrrnIkRR
   x/tRsf4f5U6ooYI/58Q4cd6yHORvwRaZf3Gbv9KqqNQOMwFcGxdJBvEVF
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78477499
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:OUL8L6oP+Ru4RFwyKXiVNQwtvCZeBmKMZRIvgKrLsJaIsI4StFCzt
 garIBmDa/2JazbzLdFwYIq08B5S78fUxoIxTwVt+Ss0QykU9ZuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GpJ5gVWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqU+4sB6LkVR0
 cc1DwpdSDmFhd7nxai0H7wEasQLdKEHPasas3BkizrYEewnUdbIRKCiCd1whWlqwJoURLCHO
 pRfOWEHgBfoOnWjPn8eDo4+m+G5wGHyaTRCpHqepLYt4niVxwt0uFToGIWFJoPVGZQE9qqej
 mif7U7YXTM1CPKw5xi7z1+wv7TRxSyuDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWQMlDI
 kYZ/i4vq6ka90GxSNT5GRqirxasoh8Zc8pdFas98g7l4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9RWqG87aIrRu7ISUPMXIZfigAUBcE5N/45oo0i3rnTMtnEaOzps34H3f32
 T/ihDI5nL8JiskI0Y20+FnGh3SnoZ2hZgw/6xjTX2mlxhhkf4PjbIutgXDW6ftGJcCEQFiEo
 GMJhcG26/oHBpWA0ieKRY0lHr6z4O2eGCbBmlMpFJ4knxyh8mCuVZpd6zZ/IAFuKMlsRNPyS
 BaN40ULvsYVZSb0K/8sC26sNyg05Y74M9nKcu/wVfdpWMhXXQmFwHBrf0HFiggBj3MQfbED1
 YazKJjyVSZFVf03klJaVM9Gj+Z1m3lWKXf7AMmikk/5ief2iGu9E+9tDbeYUgwuAEpoSi3x+
 s0XCcaFwg43vAbWMniOqt57wbznwBEG6XHKRy9/LLfrzvJOQj1JNhMo6epJl3ZZt6pUjPzU2
 Xq2R1VVzlHy7VWed1vSOiw8N+KzA8YkxZ7eAcDLFQfA5pTeSdz3sPd3m2UfJtHLC9CPPdYrF
 qJYKq1s89xESyjd+iR1UKQRWLdKLU3z7SrTbnXNXdTKV8Q/L+A/0oO7I1CHGehnJnbfiPbSV
 JX7iluLGcNdG18+ZCsUAdr2p26MUbEmsLoadyP1zhN7Ii0ALKACx/TNs8IK
IronPort-HdrOrdr: A9a23:SADLIKM57in87MBcTsOjsMiBIKoaSvp037Eqv3oRdfVwSL3+qy
 nOpoV+6faaslossR0b9uxofZPwJ080lqQFhLX5X43SPzUO0VHAROoJgLcKgQeQeREWntQtrJ
 uIGJIfNDSfNzZHsfo=
X-IronPort-AV: E=Sophos;i="5.93,248,1654574400"; 
   d="scan'208";a="78477499"
Date: Fri, 19 Aug 2022 14:40:57 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Nick Rosbrook <rosbrookn@gmail.com>, Elena Ufimtseva
	<elena.ufimtseva@oracle.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, David Scott
	<dave@recoil.org>, George Dunlap <george.dunlap@citrix.com>, Juergen Gross
	<jgross@suse.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Christian Lindig <christian.lindig@citrix.com>,
	"Wei Liu" <wl@xen.org>, Tim Deegan <tim@xen.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v4 00/32] Toolstack build system improvement, toward
 non-recursive makefiles
Message-ID: <Yv+S6TxJnIdNxC9W@perard.uk.xensource.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <d7b84136-d9f7-0bfb-f998-5aebece60b5b@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <d7b84136-d9f7-0bfb-f998-5aebece60b5b@suse.com>

On Mon, Aug 15, 2022 at 09:01:12AM +0200, Jan Beulich wrote:
> I've committed a non-contiguous initial part of this series, omitting
> patches where acks still look to be missing, and hence only up to a
> point where I could be reasonably certain that the skipped patches
> won't interact with later ones. If you can indicate which further
> sufficiently reviewed/acked parts of the series are independent of
> earlier parts which aren't fully ready yet, I'd be happy to throw in
> more.

Hi Jan,

Thanks. I think the following are ready, they don't depend on
uncommitted patches:

15: tools: Introduce $(xenlibs-rpath,..) to replace $(SHDEPS_lib*)
16: tools: Introduce $(xenlibs-ldlibs, ) macro
18: tools/helper: Cleanup Makefile
19: tools/console: Use $(xenlibs-ldlibs,)


Also, while "tools: Add -Werror by default to all tools/" seems ready,
it's probably better to have committed at the same time as the follow-up
"tools: Remove -Werror everywhere else".

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 13:57:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 13:57:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390347.627720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP2Ug-0007la-0R; Fri, 19 Aug 2022 13:57:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390347.627720; Fri, 19 Aug 2022 13:57:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP2Uf-0007lT-TW; Fri, 19 Aug 2022 13:57:01 +0000
Received: by outflank-mailman (input) for mailman id 390347;
 Fri, 19 Aug 2022 13:57:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP2Uf-0007lJ-7y; Fri, 19 Aug 2022 13:57:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP2Uf-0001Ob-32; Fri, 19 Aug 2022 13:57:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP2Ue-0006P5-Jm; Fri, 19 Aug 2022 13:57:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oP2Ue-0001oP-JK; Fri, 19 Aug 2022 13:57:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=C3Ha45u0Fp6FU4s3k2tv2/fWZ1K73+DqD+Dz3jI/Gvw=; b=i67Qem1Afl/mAY6CrBmR9BYuDE
	v6B1M2N7dWlk1nqfKQ49DDkHuw3wJ3Blr6viHFlZGjE05VecGF3aEzI4imBhRDsBzlfGX15roVuMw
	tLuA7sAsQEypH8fyjGENha45R79yOt9peCGhd45KnEb3zoqJICBSIheo9ODOEdEJJsJw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172634-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172634: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 13:57:00 +0000

flight 172634 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172634/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 172622 pass in 172634
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172622

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 172622 blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172622 like 172108
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172622 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172622 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   15 days
Testing same since   172384  2022-08-11 11:13:58 Z    8 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 14:15:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 14:15:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390356.627731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP2m7-0001qS-Np; Fri, 19 Aug 2022 14:15:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390356.627731; Fri, 19 Aug 2022 14:15:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP2m7-0001qL-JJ; Fri, 19 Aug 2022 14:15:03 +0000
Received: by outflank-mailman (input) for mailman id 390356;
 Fri, 19 Aug 2022 14:15:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP2m6-0001qB-DZ; Fri, 19 Aug 2022 14:15:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP2m6-0001qL-5S; Fri, 19 Aug 2022 14:15:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP2m5-0007HC-M6; Fri, 19 Aug 2022 14:15:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oP2m5-0003if-Ld; Fri, 19 Aug 2022 14:15:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vc6noB7A5n9l5qXy0n5bRLH3hBzKWAB1Q05Q9wB1SPk=; b=znH4XSl3/xEtYnhpz9Y39+trq/
	ZjSNImAn21AxQcB5BB7NYg7i9zp/lXlTlKaixiAgpCz8xJFl8mLOic4Hght5K8wv3sCC4IhyaTVb3
	dVkfRq5l/n0Mo02ahx794YzEZGu1irBkC+OzSwQmYQVsbWivX4TU5/aPpF+0kFOQM4gs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172644-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172644: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 14:15:01 +0000

flight 172644 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172644/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   15 days
Failing since        172151  2022-08-05 02:40:28 Z   14 days  124 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 14:56:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 14:56:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390363.627742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP3Pv-000653-Qs; Fri, 19 Aug 2022 14:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390363.627742; Fri, 19 Aug 2022 14:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP3Pv-00064w-O6; Fri, 19 Aug 2022 14:56:11 +0000
Received: by outflank-mailman (input) for mailman id 390363;
 Fri, 19 Aug 2022 14:56:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iUym=YX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oP3Pu-00064q-Vi
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 14:56:11 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2068.outbound.protection.outlook.com [40.107.22.68])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f6b4222-1fcf-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 16:56:09 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR0402MB3683.eurprd04.prod.outlook.com (2603:10a6:208:d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 14:56:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5525.010; Fri, 19 Aug 2022
 14:56:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f6b4222-1fcf-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H/6ifCAW8gW318oRTZqNIsDz7SU3Q7ty1vHjJG7opUGAKJZ19Ew35H0sbjFWaYIslhWVojZs5ldkRZHfXm9b2raoPycYcoZWqdUQ9K+88p8FKyMoKs+uGPW16E8VTumSN5EBhNL5yb9Tkx7gYUilgb2RpEVQd6um4PoCzgcS0cXgO9VR4/3NUoN4HghEy04gBt3bbk/bCEK7Z9JmtXJKDlxqlw2k7ZCJ+zGMITcWBR0J90Bl8dXrYHpXoCbrEwdvgklmvK1uZYRqtYlSIAy6K8659xeY1Y0lZD1uxeU9qSdNVuuHcXPcFMzvq0MSRVDGzOcMQfmEg7Iv9ovU1G+V1g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uAE4ajIzBGIWPLYM69sgRqx2ZRTgZcDz0hEtzpPXQZ8=;
 b=bFUK10kd1FTvT8YNmfufsaFqxWUMZDbRf72NbvxZyKQeu18jLuZdRjPlqsg8l0AQjUSxp3tmdwxxUHSWe9ehc2IZ/bKFC6B1LN5TuxD9iDeQYCHvMh8bX6AlalgzCVxZmt8QgP3GLWlZPqU9VSxs0ltBBF13j+HXM4H0xdvxb9qY2o2Fjdsrb+qVtCGbOOpagMrqvuITJ7OG81l9zUnOgrVGg0rXPrhmxZnrgyQ6p9JOLT8YzxH57FNcb+RHTV3pbxqc2P+co1zLSUdx60wLH79K9ERj9hQLxFWBn2zdkZJCabeJgEKegeLaWNN6NT5Kg816IK4rQYCZ3UR4AA7iew==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uAE4ajIzBGIWPLYM69sgRqx2ZRTgZcDz0hEtzpPXQZ8=;
 b=CcvWJ7/+PTJy1mVTn9aSdOjIrNH/od/eXiYf60irmB/pgS9BbG6rCIiCI54TanjY/+u1t5G7Qc+dmfaDzp62dei9vIj8Q/C7cMxgBUZRGaMkaz2wGPZEaXe3FleMU6k9fS0YskgsPQew6ar61BKiBVnYdQJe/5ooLhWbURsVaEgX16pym/0cZqwu+gmSH8YWsiJKtE3lIGtoZvzuyoFMPwoHAgBlHdIWrqK1NunMqEx5E/vDRVVbM/bvnCwFdQori0JmjZP4Hi5vyIeFoDRw7sgrkALx1oYFuaglInULfpv0VUt87wAXBP5CEgr/ABGWZvqCH32VvdGWRjPOnUjlgA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dcc16cc0-4bc1-d6c1-53c5-92a0c1dde9eb@suse.com>
Date: Fri, 19 Aug 2022 16:56:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [XEN PATCH v4 21/32] tools: Remove -Werror everywhere else
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Christian Lindig <christian.lindig@citrix.com>, Wei Liu <wl@xen.org>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>, Tim Deegan <tim@xen.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Juergen Gross <jgross@suse.com>, David Scott <dave@recoil.org>,
 xen-devel@lists.xenproject.org
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-22-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220811164845.38083-22-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0366.eurprd06.prod.outlook.com
 (2603:10a6:20b:460::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 10460e7a-a964-49dd-aa72-08da81f2f287
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3683:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/1Nytqz312Yk2+mLEgfOLuaRqsUntPG/D+5W86z/z3e5ZhG1n7EilnbrwnfABSpBh9a34LU+npon4myrf3rszPpz+TKfJSnm6sY5lPKTeIZgw31CcKikeUtfodbk2aHL44+uVVVutbxIqAr6ewrTDz3jGVAi9kOaePswzuKGlE1dHoPos/fZq3MQHVNHGpQMdNl11ahl4TBX5XZ+vwwRNEeBBYbHdsx7Hr4KqAaxp1No2QQD6O4xwLJ5pYj8MxmE+RIgwIKqhjLGxwlQb+FsAxOxk2O/iA4BHH+Wsi/MiR5oSTQiGLuCr/+86r1Tl6kA1JbgcQU1hbhwmFU4dLMbTIGgtkNkbZ6ckLpeseoAqcBTysB534u1DQB/pBJveZWIj8BKWlK39hqbg/TRkd/WOmt3/UYfoS1l0ycqo0YC7LMaBbK0pal4blKnVvtHCct0nYIJSMlxJAax6LwcRz8ZEysl4DxGgBJjfToMZcBIxF0R9u4SHzRlWbMGZYe/01zz1aLhBT5WkEp0KW19DgJxDPUnT32KsuWTOE2W5s26ESjdcQasducR0dCDVyE3T+Vbk5Z4sl5GLUFlpW6fKxX8+Q0bYw2k068Q6fYL1QpBzA6LOImQhKQ9kDoit2tifcUl4RMLsvo0vI9is0kuHQl4/+Qz7kfcKdviZvC7lsGYFmCSV6XJUQCQaoyCzbXFeW0x/b41oE23KnQ0bSTL2UGxqKfgM4BdiShFYcZxxeTR/jtFimyvVqv/B7xEwbACkVzgAv+jXJSfHi0fRSYlqiuGNJpH6WrMy6Jm7hDE/6/zq6I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(376002)(136003)(346002)(39860400002)(8676002)(66556008)(4326008)(66946007)(66476007)(316002)(6916009)(54906003)(5660300002)(8936002)(36756003)(2906002)(6486002)(478600001)(41300700001)(6506007)(53546011)(6512007)(26005)(2616005)(86362001)(31696002)(83380400001)(38100700002)(31686004)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0dNSWxwdHB2OFpsTUNScVZTQmdHU2xNL0E3MmNZYVNxY0FLKzh4RUVBQUgr?=
 =?utf-8?B?cXBnQXI3eW1Lcm82NFgvN3VMRHVxbmU2YWNvZFJEUm84L2FzUGFIZHlvbngy?=
 =?utf-8?B?VCs2TSs4bUIwNkZSRmFCS2txSzF2T0VGdGsyZ3IyWFdXY25KNVU2cEVZUnVQ?=
 =?utf-8?B?OWdiVDdFWnM2eDNtSk9CaXNIalcwUlBvVU9PcnA0SWgrZGRxdTAzK3Zzc1hw?=
 =?utf-8?B?Q2UvWVFxVmFQVlJMQlRJbS9xdzdDMEFOa3Noa1lzVHNTZkZKYnAzcTlFZ05R?=
 =?utf-8?B?VmFhaVBqV0ZFZWZGNkxwaks3Q2I5S2g4WlpiRXZoUnEzV2ZGRGc2RHVjbU9z?=
 =?utf-8?B?T2F3YmFaQWE3UEtkRUx1cWJNQjNEbU8wYUFIWGlnc2VuK0pjVjcza25YMHFj?=
 =?utf-8?B?TG9xbTErY2sza1N3cFIwd1owWk5nZXpFUlkyUlA5MUJBeXUxNFQycm1LR2ta?=
 =?utf-8?B?T1cvc2IvTy9wVS9pSHIzK1NvbDRNOUhMTHZ2UmtPLzE5Vmw1Qk14am92SVlv?=
 =?utf-8?B?TFFZNkJkWEd6UzdLcnRSK3NkcG5JL3QrWUpIc2loQm5ITzNuTGpzeVFEOFNr?=
 =?utf-8?B?NGZrVjlxVVl3a2ZJZ1o3cXNSRW9LNHNUM080L2FLa05BMlRlTkptRW4vM0ht?=
 =?utf-8?B?QVpTMlN5b05DQ2llUkZJTGlRNXZLak13SE4yQnBKK1ZmS3ltdFpaSnRaelU3?=
 =?utf-8?B?RHRqZURuaXpyU1F1czRBNHh3VGZnTG9xVmVMQzFXQmxYK28vaGRvQjJCbGZY?=
 =?utf-8?B?Wm5STm9CdzdlZFpUb0dmYmJpMmpEZTlmdStkWDZzTmdsSmxiWTVldFByZmN1?=
 =?utf-8?B?OWIzV1dhRkFsR2FHN1RIcENPbFRjcGkrSGFySDFPMm1oV0h2clBXYWNzNkt0?=
 =?utf-8?B?SVFDSTNXT3dpUmhHNnlkMXV3MjBQVThUdUNUbG9GK1B1cEtJUEJCNGo3cGxm?=
 =?utf-8?B?QVRKNGNVQTdJSGJnamdYV3ZKV1pjOUNlTE5tdGlPck9Ub1lmWGpTaUZZcVlR?=
 =?utf-8?B?NXJrbm5ubC91em9NZGRJZ1R0R0tITklGMnRxNEs3eUE1c1ZVRHltdHlRZnB5?=
 =?utf-8?B?M1gxdW9NVEZ1VGlrdTNseGQ2cERwZGNDWWMzalpyYmhLZWU4QzM1dHRRaWRS?=
 =?utf-8?B?SG8yd2hTTExORXkyUm5kSEtoWnpBNnovdHFUZFVxRUNxQ0RmaVZTd2pXVk5v?=
 =?utf-8?B?UzB0ZWVzWUFQeEllVTF2TDluTzBaaWxHejJQV0lrbGFGNm8yb1A4eTRHT0gy?=
 =?utf-8?B?SFRlZ0h2T1VhRlQvdXFGNGpqWnB0SHZQSlN1WExzTXNYQTdFd0t1empCNC9E?=
 =?utf-8?B?Ukxzd01OamZPMGJZWkVCWktJUW5xb2RvdENwUlZLRVhrMjN0YTB1QjFFR3d4?=
 =?utf-8?B?UVRtck02RFk2ZnQ5TE1QU1dTeWxrU2ozM0N3ckdhZ3JVVERmcXhPUnJVR2VT?=
 =?utf-8?B?TUJiNGhLeXk4YmU0N1pqeUJqYjVvemlqS25xVDVmWGhhYndNVkdKTmpINzhJ?=
 =?utf-8?B?NEVsRy9jc3B4QnpGVUk1anF1aHNLNkppS0pwQXNSRlFLdGdTM1Nub1g0YlVw?=
 =?utf-8?B?cnZFNTNZdzNtLzBoN0xjeFpteVVTMW9yMVZtdW9HcjkreTZoY09RTVlZQ2xz?=
 =?utf-8?B?Ky8rUXlpTE95ck4vVkc4MjA2Y3ovVnpXM2ZvUm85L2pVVU9LSC93ODVpLyth?=
 =?utf-8?B?ZUdwQmdqZUptNjNYb3AxOE1WSHVISjRTTHcyUGkzbXhvZGpLQTdEVkZjdDk2?=
 =?utf-8?B?aUljZXZTM3NCNW5BcWNiZlN6YTEzeU10engydGRuSEk0aVBSRmlxQUtDZzh0?=
 =?utf-8?B?MTIvOXd2UDRGQ0luY3ROenVyV3R3NGM5SG05S0NqWWFoUGtCa29KL0VnYWp0?=
 =?utf-8?B?Qm5pK2JEUWkzSTFsNGFXcklhMU9UVHRVc1d5V3NvT29IMFRhRzJSWC9JOXFJ?=
 =?utf-8?B?d1dKUjY1SElkcmIxUFZtRlJxMy8zT1ZvT2s3cmFYaWp0QnJyNUdqcU9zNFZD?=
 =?utf-8?B?MUl1ZlJuTlJSSVNoeFJQb1MvQ3JMZ0hUemlnK1l3OFBldWVXVjc5UkVkekxP?=
 =?utf-8?B?c0pzNXFXWlRydTRYTm5KK2cxTEdCdGZrbEkzckxJeHNqd2xyTUluQ3d1OWZ3?=
 =?utf-8?Q?XWR/I1vPcNWxMnKPwXB0brj/W?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 10460e7a-a964-49dd-aa72-08da81f2f287
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 14:56:07.8642
 (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: ha1oNm4JZvp/ovoGRGKsrlpE87tCHOcfsChEp+XH7LMM7uPiC0/iEAH2bMJcwzGKJmbpXUEI2PPzevKcPvTZZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3683

On 11.08.2022 18:48, Anthony PERARD wrote:
> Patch "tools: Add -Werror by default to all tools/" have added
> "-Werror" to CFLAGS in tools/Rules.mk, remove it from every other
> makefiles as it is now duplicated.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Acked-by: Christian Lindig <christian.lindig@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
for the tiny parts where it's applicable.

I'm curious:

> ---
>  tools/console/client/Makefile   | 1 -
>  tools/console/daemon/Makefile   | 1 -
>  tools/debugger/kdd/Makefile     | 1 -
>  tools/flask/utils/Makefile      | 1 -
>  tools/fuzz/cpu-policy/Makefile  | 2 +-
>  tools/misc/Makefile             | 1 -
>  tools/tests/cpu-policy/Makefile | 2 +-
>  tools/tests/depriv/Makefile     | 2 +-
>  tools/tests/resource/Makefile   | 1 -
>  tools/tests/tsx/Makefile        | 1 -
>  tools/tests/xenstore/Makefile   | 1 -
>  tools/xcutils/Makefile          | 2 --
>  tools/xenmon/Makefile           | 1 -
>  tools/xenpaging/Makefile        | 1 -
>  tools/xenpmd/Makefile           | 1 -
>  tools/xentop/Makefile           | 2 +-
>  tools/xentrace/Makefile         | 2 --
>  tools/xl/Makefile               | 2 +-
>  tools/debugger/gdbsx/Rules.mk   | 2 +-
>  tools/firmware/Rules.mk         | 2 --
>  tools/libfsimage/common.mk      | 2 +-
>  tools/libs/libs.mk              | 2 +-
>  tools/ocaml/common.make         | 2 +-
>  tools/xenstore/Makefile.common  | 1 -
>  24 files changed, 9 insertions(+), 27 deletions(-)

Normally these are sorted (as are the actual patch hunks), helping
the quick spotting of individual files of interest. Was there
anything unusual you did to prevent the (full) sorting?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 15:06:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 15:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390368.627753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP3ZP-0007aQ-Ob; Fri, 19 Aug 2022 15:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390368.627753; Fri, 19 Aug 2022 15:05:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP3ZP-0007aJ-LG; Fri, 19 Aug 2022 15:05:59 +0000
Received: by outflank-mailman (input) for mailman id 390368;
 Fri, 19 Aug 2022 15:05:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP3ZO-0007a9-0y; Fri, 19 Aug 2022 15:05:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP3ZN-0002iY-Sb; Fri, 19 Aug 2022 15:05:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP3ZN-0002V0-K6; Fri, 19 Aug 2022 15:05:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oP3ZN-000511-Jd; Fri, 19 Aug 2022 15:05:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eBglo6//WcuFAk2REB15FGa/MUXeUQ5GNgLSbQZrnsM=; b=UW+iNs8gfZjJgo42xXy/bFpnwA
	jZUSzW9oHDmdbaSlH+JVtcXmJpGFgOJqmLLgzEj4Li6pU3AwFukDgqHmTZxSp9T+NgFBLwxjVD4cg
	NBnXJCNFir6nDgrJ8RcpQ0VM5b37nMy6HUS4lGr6xPZwAYmeDchtSfG/m3e7tA+qFnuU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172638-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172638: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=f1929d4289410ca2f36e560a6bd7aa7331236ac7
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 15:05:57 +0000

flight 172638 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172638/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              f1929d4289410ca2f36e560a6bd7aa7331236ac7
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  770 days
Failing since        151818  2020-07-11 04:18:52 Z  769 days  751 attempts
Testing same since   172638  2022-08-19 04:18:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120566 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 15:18:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 15:18:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390376.627764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP3lT-0000lx-1F; Fri, 19 Aug 2022 15:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390376.627764; Fri, 19 Aug 2022 15:18:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP3lS-0000lq-UU; Fri, 19 Aug 2022 15:18:26 +0000
Received: by outflank-mailman (input) for mailman id 390376;
 Fri, 19 Aug 2022 15:18:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wa9Z=YX=citrix.com=prvs=223f339b3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1oP3lR-0000lk-1G
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 15:18:25 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2803a847-1fd2-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 17:18:21 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2803a847-1fd2-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660922301;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=iBBWMwRF8q08EAUIMMgBgnZc3g2uJUcY8e4SugDIg/U=;
  b=Flv2TFJP05cRbx7GGgKeuWjTIWDu830dyISP2R1OY/Gy7LuJgJxrSaQf
   AdvYipyNkKaceiROX4NaQ7XBn73bYZjnoQUvghRs7iTYozZmYRN6i2KYq
   8e84UmtHWvCMLuByYh68U21YMw8/rgy7DHLTIze6Yy8D0o6aXhDR8Sz+4
   8=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78490267
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A8m4zIqNXyL+ppfXvrXNrnJbIbIKmJRDYMRhce?=
 =?us-ascii?q?5OJyBtyWh8l9cMBqid6VyMwfmlZvMLLBZE3UfSHwPsujdAVUTlwFH3m635yO?=
 =?us-ascii?q?EZHiPVa88cfUxWKKZ9PGrW5lZRoOwET0eqFU7lr67yeCl3X8EA/Wt43cgLJS?=
 =?us-ascii?q?eAzgdQqqwLhLK51OP3VLS2Xdthp/Xh4pM3IkVIQ8m6ocMDV95skdfv59tMm9?=
 =?us-ascii?q?lphuIhSZMDSmtVW40+J20p5gv8V/uS/QfPfuYA9kS3gR2Zyrev5lD0WBlh1V?=
 =?us-ascii?q?28kjE67hYE8xldH8KcPXWQJn1Rtat5ZRyZPu03CkH0CsPig9H/4GVeAnjhUJ?=
 =?us-ascii?q?VsrMit4rZ1p+uUvfd4ym6VhSsGdEgJ1ZJKG1kmyhrO3z17fn4rEfegpubMbL?=
 =?us-ascii?q?pRLXNhSG5nG/9x9w94uaQd3+UCFYt9jcpPGIIs5IHWK8jN0WrdvC8f4t1eku?=
 =?us-ascii?q?sQYnqKKn+phJbCectqpzBqs5WDgFPF87ORQsUjrpD3HoEh0/Zbh+JbDKztNg?=
 =?us-ascii?q?gKkhlb4xRJTPR1nOcKeZhCtxLT6snATzivPa8Ux62EbiBHFQe6hKGWchRFQ8?=
 =?us-ascii?q?+qbJf5VpFAybi2pYqcMTV9x9ckoto2O6NYotor4KHPlX8mCHB0F6JsaafDVa?=
 =?us-ascii?q?f8baerzaAKKqb0MsUypLco3aATyPKgKmxQfVmsTUCGW6Lg6lslww5/aroitR?=
 =?us-ascii?q?KLhRDnQuf1iRzcd2U5y8KztCn8PLZAnujvdkoD1k01yWnCm7kTx9bcmGHZ5o?=
 =?us-ascii?q?6xQrbaORTVt3YCQb6tKUJpGOBoxKh6JhDjtFjVqElqtqrHGsvREh3sMo4Wnr?=
 =?us-ascii?q?NBUZZX+O4bqFesF+HOYZWYhK5SAEgli8ksyYQ9VWlNwrI8wFHmNFtDf5cVxW?=
 =?us-ascii?q?WrqlknksnIwx6DkLfNIIyfNKifusFYQwwC0qzpFB+VSQTMAhIRqHjUS8N36c?=
 =?us-ascii?q?VShJxscgf/mU26JLs/tXE14b3/Ok76cpq/l2NgGxuZYh4nCAuYAlLyJxpNgS?=
 =?us-ascii?q?uYvdIO40+ly+bmO0F1E4bcqXV2N+I/6edAG8mGI76Or+JA2ZOdZsfFNljop3?=
 =?us-ascii?q?Jo6MEPArhkrC2XyfrE0Q54Nv0diaAU80jakXEbTi7IYfcA4AKbhSrL0kKdPb?=
 =?us-ascii?q?b3k1olXkL3Vm1c7RR02id317/U7w9Iz12uaDpPU4fRqEgWtaql18J1iLtmxY?=
 =?us-ascii?q?XQ1W4nzn5crATf5eWnwqhwQlPglIg9Xw12viuNDObwm0J8bVn5Qg5vKRn0cf?=
 =?us-ascii?q?Qcw05E5RWSn8JEW39OdvLr32HmRm5+3mfgVsmJzPe40R01ikDncQWXmI7Cdl?=
 =?us-ascii?q?yDDGbe9oMaUT0mdaNmHuq5/THtMlxklhLhyFWmNqnSB2i9YdRdtXXdpFiHnI?=
 =?us-ascii?q?BAqZ/Ysns8hQgYkzKK2x5UwGTDRgeO0i6obxipWCcNUsSZXGxBxtscBZJR2U?=
 =?us-ascii?q?ftokHWaAOEP0YrogTHeTjp8mxVFRWmW2Dpg9ECdb1plv5w01nCk+dv5+cArU?=
 =?us-ascii?q?mw6JuTewoTHEeim+tQeaDFKbC/UrIQz6wufHO065oHMxi7jn493jNNmkZboL?=
 =?us-ascii?q?xFGuG7GxsrRXQjF1wWESq3PcjAlQ3UgEnEe/x9QHDjzdROWO0tjKcMGSetE9?=
 =?us-ascii?q?bOuKVeLH5kynY2/mYe6Bgz/ba+JRwzs6TjZ4EBZjtw92+dqlDHMW37Vuwy8A?=
 =?us-ascii?q?UDGMl3QVrqYOflBqMnNNcBzfdBqkmBx63RHWcu0udGOaUrnxHiSr47cBNECo?=
 =?us-ascii?q?UxxLypOr9c1v6Mjp6YdHIQPDVt5tCfYqvmIYh6m6uE+fzv8ssn6MtbRw6XlC?=
 =?us-ascii?q?a5HCi8jWasgAMOF4OYbRa+iId0aNzhopo+1KWxQ33V0hGN2uyjRNv5a0rho8?=
 =?us-ascii?q?7PWa4z79/YXw+hwPCbptxBr/Tr0ArhBVip1Fp1G00HB3UATpLPpmAfAvfWYD?=
 =?us-ascii?q?rVabDaKfrcTRBeK7/eqk3kFalSrjkibobfp+Khp+zIIun01AfTzFKj+++4dc?=
 =?us-ascii?q?sVE7QYy0pSIIy4NLk1992VKnbl1iTSEnIkjgAKKmiZslY+dIGgmNgRmrXZyR?=
 =?us-ascii?q?y7tCUxtds+bPhV1MYfGTzqAX+XExxvw99PzwPuiE6LympZ5xHc849VLs/l6T?=
 =?us-ascii?q?JJ3eiafJB0HV1PXy3ktEsNkOXMJgrBFGdMZemB4urUC69FnOOPSnPCHLiBbo?=
 =?us-ascii?q?qpFMVpu0GoLQwGd+1ml+PLBJl429UAc0g4VvmO63Jft7QnnCMyngGxvLJHkC?=
 =?us-ascii?q?7DK1e1c0kkPeh8RgbhcBpljtLwNbV2pIsrXKYTs658z8I1L99mK2vw4nE39C?=
 =?us-ascii?q?V/UCoDbn1m583os//uh/7GMVJ4bfHui6ENZ0EweX+cFGyUzBfx1UDQI6saGp?=
 =?us-ascii?q?jxC6JGl1+dj8Zwk7OxSSSIoQMzMVG37JH5VZBpwbKWMX+fVu+H3OOsyvvNS7?=
 =?us-ascii?q?ViwbMINozBYLjnGWg2cu63CWYNki/ggUFRza6jbLFY0VjtSLgHvp8vg0E6+C?=
 =?us-ascii?q?lzTsGgb3wlWgtTFEQ9oNEUcq6yTn6KRCqHQFZG0VcxD7YAKhKrjjD6BM+C26?=
 =?us-ascii?q?3DE87HWh5bQTZgK9a8vJYeHC4OTRTvv6aK7p0dIDB7QN8t8s3YUYAUhb2Mq+?=
 =?us-ascii?q?fw7ajRs4v9Y5Gt81f0aBwNKaSoXU+lt9C+8TZP5L8DxTLJiULMHYjl3/8YKf?=
 =?us-ascii?q?6xsxEtXg24quiM0d34qgvDrYrfrViHTZ+51gL1lsslIiup7RLqYcaN7ciJny?=
 =?us-ascii?q?PrrVTOD0rOrDWPiWXOoK0NOF16evIbdcRqGiRycqGWXaRIWBy/c5m9JEJcXI?=
 =?us-ascii?q?1gibk+k+3YD08oy8Em2RJE2HwsilV7AOcFHljQp8epwozr8wUzj1MWv6qvPQ?=
 =?us-ascii?q?g55y2bDy3yp1DF7P5DlmesKJwtfeXcRzbtKX1ReW1u12yRdIdBgJ2QY36jQY?=
 =?us-ascii?q?1gLfk/83GaUedek5ajs8DnGE/5hJDASnSn+bwtowXATHjDWpeCP/TTpirXR/?=
 =?us-ascii?q?7dzW9kF5wuO9hvswf3GQ8CVXSra/nU+4yT5/LByiLeOjNzQ?=
X-IronPort-AV: E=Sophos;i="5.93,248,1654574400"; 
   d="scan'208";a="78490267"
Date: Fri, 19 Aug 2022 16:18:07 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Christian Lindig <christian.lindig@citrix.com>, Wei Liu <wl@xen.org>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>, Tim Deegan <tim@xen.org>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Juergen Gross
	<jgross@suse.com>, David Scott <dave@recoil.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v4 21/32] tools: Remove -Werror everywhere else
Message-ID: <Yv+pr9JEidwlTw8X@perard.uk.xensource.com>
References: <20220811164845.38083-1-anthony.perard@citrix.com>
 <20220811164845.38083-22-anthony.perard@citrix.com>
 <dcc16cc0-4bc1-d6c1-53c5-92a0c1dde9eb@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <dcc16cc0-4bc1-d6c1-53c5-92a0c1dde9eb@suse.com>

On Fri, Aug 19, 2022 at 04:56:05PM +0200, Jan Beulich wrote:
> On 11.08.2022 18:48, Anthony PERARD wrote:
> >  tools/console/client/Makefile   | 1 -
> >  tools/console/daemon/Makefile   | 1 -
> >  tools/debugger/kdd/Makefile     | 1 -
> >  tools/flask/utils/Makefile      | 1 -
> >  tools/fuzz/cpu-policy/Makefile  | 2 +-
> >  tools/misc/Makefile             | 1 -
> >  tools/tests/cpu-policy/Makefile | 2 +-
> >  tools/tests/depriv/Makefile     | 2 +-
> >  tools/tests/resource/Makefile   | 1 -
> >  tools/tests/tsx/Makefile        | 1 -
> >  tools/tests/xenstore/Makefile   | 1 -
> >  tools/xcutils/Makefile          | 2 --
> >  tools/xenmon/Makefile           | 1 -
> >  tools/xenpaging/Makefile        | 1 -
> >  tools/xenpmd/Makefile           | 1 -
> >  tools/xentop/Makefile           | 2 +-
> >  tools/xentrace/Makefile         | 2 --
> >  tools/xl/Makefile               | 2 +-
> >  tools/debugger/gdbsx/Rules.mk   | 2 +-
> >  tools/firmware/Rules.mk         | 2 --
> >  tools/libfsimage/common.mk      | 2 +-
> >  tools/libs/libs.mk              | 2 +-
> >  tools/ocaml/common.make         | 2 +-
> >  tools/xenstore/Makefile.common  | 1 -
> >  24 files changed, 9 insertions(+), 27 deletions(-)
> 
> Normally these are sorted (as are the actual patch hunks), helping
> the quick spotting of individual files of interest. Was there
> anything unusual you did to prevent the (full) sorting?

Yes, I'm using "git config diff.orderfile" to try to put headers first
or regroup makefile changes before anything else, mostly for myself. I
didn't though it would have an impact in `git format-patch`, as it's
often doesn't matter.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 16:31:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 16:31:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390385.627775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP4tv-0000ga-AY; Fri, 19 Aug 2022 16:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390385.627775; Fri, 19 Aug 2022 16:31:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP4tv-0000gR-74; Fri, 19 Aug 2022 16:31:15 +0000
Received: by outflank-mailman (input) for mailman id 390385;
 Fri, 19 Aug 2022 16:31:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6nXp=YX=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1oP4tt-0000gL-OI
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 16:31:13 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5662fd50-1fdc-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 18:31:12 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 m17-20020a7bce11000000b003a5bedec07bso4384315wmc.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 09:31:12 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 n13-20020a05600c4f8d00b003a5f3f5883dsm9537396wmq.17.2022.08.19.09.31.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Aug 2022 09:31:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5662fd50-1fdc-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=QsLMmJrvOTTFuktoZXz83bwigPgYzmSPYeK05B9a7go=;
        b=FliYyPHy3rkQz1aGjbSeHaUmQzHbNenTjZAk5iI1uhB88mMymi+i9RLC5Stju3k+CX
         6lpXAd/fctlJPec8QETAp/ooqVYzYpxtFSbFUBtMibbLS4d/G8WkjfZ/3E2wFX7X2Cma
         wNeFIS+Gz4opnV7FhKy8lQ3B/p+RZZ2ilP8oyKiVs+l7+32898IeNv8N9G7aun8M3QYq
         chIFvCP4xDNG2B+rAcnYw5hh6fzd/RGm8rMswxqfIXF1rA7s+pZnIy/cNGlT4I9blYV5
         j/SioP/WW256egVzyjuf5iKfmAxe67vcjKH1XiZjUcj23/cfwx8PkZcAn2IbcpFTQe4c
         griw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=QsLMmJrvOTTFuktoZXz83bwigPgYzmSPYeK05B9a7go=;
        b=jyXwdmUKzeHI5b83YHbYlMRJFuP0wuPEJUun0R+5L4TPbOpdSKWXgiQjCol4Xokng+
         K3CrNAWfJhvtetJU2ATq9bCAJl0RupcGurKOB/nK5NBt9N8WvI9LLbE4U3w6shv17h9P
         y11eLkvp7v+9q5wyp04/61eiLh3vLVeGrBC/Hw2vCO0DL6uZBwJsaraXoIh1g61hQBAH
         c810zji6IRXWv4APrLqqd2urBZHmkClcY/lWkaX3XMY2d4RannrPKC+Pyx1I2Wo+jKnI
         onLBzcbFPC5kwptRnXCkeOJALqtg1VzVghWqd+T0HRaCWcB133zAQJ5Qes3Ls9jJYSeS
         aCLA==
X-Gm-Message-State: ACgBeo0xaOS39K8QJ/g1lIllJXoqc8ABM4mpIrTQuWTXKoZd9UjQq1bp
	sjRHEWxDFsNYwHhkH8+H7zw=
X-Google-Smtp-Source: AA6agR4edsnoSz9UkieZ85y3W+3VH1Zu3w8QA9bUSIk/U+aTmCBfZVAzA5Kg0qDG7YM7vRdg/ihz8Q==
X-Received: by 2002:a1c:cc0f:0:b0:3a5:333:310d with SMTP id h15-20020a1ccc0f000000b003a50333310dmr5276353wmb.122.1660926671673;
        Fri, 19 Aug 2022 09:31:11 -0700 (PDT)
Message-ID: <8e09ddde-1170-b489-f17d-83df7543dbad@gmail.com>
Date: Fri, 19 Aug 2022 19:31:09 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 1/2] xen/arm: pci: modify pci_find_host_bridge_node
 argument to const pdev
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1660746990.git.rahul.singh@arm.com>
 <5f0f92fe734d3c8478c98a90b7eb85e032d7b9ce.1660746990.git.rahul.singh@arm.com>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <5f0f92fe734d3c8478c98a90b7eb85e032d7b9ce.1660746990.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 17.08.22 17:45, Rahul Singh wrote:


Hello Rahul

> Modify pci_find_host_bridge_node argument to const pdev to avoid
> converting the dev to pdev in pci_find_host_bridge_node and also
> constify the return.
>
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>


Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>


> ---
> Changes in v2:
>   - this patch is introduced in this version
> ---
>   xen/arch/arm/include/asm/pci.h     | 3 ++-
>   xen/arch/arm/pci/pci-host-common.c | 4 ++--
>   2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
> index 7c7449d64f..80a2431804 100644
> --- a/xen/arch/arm/include/asm/pci.h
> +++ b/xen/arch/arm/include/asm/pci.h
> @@ -106,7 +106,8 @@ bool pci_ecam_need_p2m_hwdom_mapping(struct domain *d,
>                                        struct pci_host_bridge *bridge,
>                                        uint64_t addr);
>   struct pci_host_bridge *pci_find_host_bridge(uint16_t segment, uint8_t bus);
> -struct dt_device_node *pci_find_host_bridge_node(struct device *dev);
> +const struct dt_device_node *
> +pci_find_host_bridge_node(const struct pci_dev *pdev);
>   int pci_get_host_bridge_segment(const struct dt_device_node *node,
>                                   uint16_t *segment);
>   
> diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
> index fd8c0f837a..89ef30028e 100644
> --- a/xen/arch/arm/pci/pci-host-common.c
> +++ b/xen/arch/arm/pci/pci-host-common.c
> @@ -243,10 +243,10 @@ err_exit:
>   /*
>    * Get host bridge node given a device attached to it.
>    */
> -struct dt_device_node *pci_find_host_bridge_node(struct device *dev)
> +const struct dt_device_node *
> +pci_find_host_bridge_node(const struct pci_dev *pdev)
>   {
>       struct pci_host_bridge *bridge;
> -    struct pci_dev *pdev = dev_to_pci(dev);
>   
>       bridge = pci_find_host_bridge(pdev->seg, pdev->bus);
>       if ( unlikely(!bridge) )

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 16:35:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 16:35:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390390.627786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP4xX-0001Ib-QX; Fri, 19 Aug 2022 16:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390390.627786; Fri, 19 Aug 2022 16:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP4xX-0001IU-Ny; Fri, 19 Aug 2022 16:34:59 +0000
Received: by outflank-mailman (input) for mailman id 390390;
 Fri, 19 Aug 2022 16:34:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP4xX-0001IK-3V; Fri, 19 Aug 2022 16:34:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP4xX-0004mq-18; Fri, 19 Aug 2022 16:34:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP4xW-0001SW-Io; Fri, 19 Aug 2022 16:34:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oP4xW-0007tL-IO; Fri, 19 Aug 2022 16:34:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JYA8cbncBb2nrnZo9PTegLkpJkSzrSHBF2FH/GL2UQU=; b=ZFwAOghKzvhbmli31XcIniu9oL
	AI3Yxn5a1iK7xEDhHrP8j86viGj2Bjhz00/Ap2fgQDKDrBCdE7p/5xv1UIgyDDPQSY6bV5mZBftro
	GfcD5c4wSzx5bBMr1ar8VZv6vLLy8PWbMADkAi0u7B+qKsxCO/fG3Xgc5P+jICQbSXOs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172647-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172647: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 16:34:58 +0000

flight 172647 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172647/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   15 days
Failing since        172151  2022-08-05 02:40:28 Z   14 days  125 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 17:33:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 17:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390407.627800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP5rN-0007Qp-5c; Fri, 19 Aug 2022 17:32:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390407.627800; Fri, 19 Aug 2022 17:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP5rN-0007Qi-2Q; Fri, 19 Aug 2022 17:32:41 +0000
Received: by outflank-mailman (input) for mailman id 390407;
 Fri, 19 Aug 2022 17:32:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP5rM-0007QY-4b; Fri, 19 Aug 2022 17:32:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP5rM-0005lo-0N; Fri, 19 Aug 2022 17:32:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP5rL-0004t4-D0; Fri, 19 Aug 2022 17:32:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oP5rL-0003y5-CX; Fri, 19 Aug 2022 17:32:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8YfU6TGiDzoODTven2zK/VTMG0XbheadzyGCPTRoaFo=; b=uA7vDjh3oEfhGKJAv9yEgpu1QZ
	bYhTwRi7+gGNSInrcGALOUjonvc48CHUpqpVySqIuhvYoH1jT+aB0N+nl10Bk6fuxWw59v0+zVSqI
	SfyHOWAP3FGz6VqfUcvGg7PEKKMQfHKdWM8Bg96qNU6EZMgTM5i9bTq+VQQ4pDLFS5L8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172636-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172636: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=4d65d4ba57372c57a1236fb5cb789dbcc100645c
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 17:32:39 +0000

flight 172636 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172636/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                4d65d4ba57372c57a1236fb5cb789dbcc100645c
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   15 days
Failing since        172148  2022-08-04 21:39:38 Z   14 days   35 attempts
Testing same since   172636  2022-08-19 04:06:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2121 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 18:41:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 18:41:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390417.627814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP6vK-00068c-6q; Fri, 19 Aug 2022 18:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390417.627814; Fri, 19 Aug 2022 18:40:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP6vK-00068V-44; Fri, 19 Aug 2022 18:40:50 +0000
Received: by outflank-mailman (input) for mailman id 390417;
 Fri, 19 Aug 2022 18:40:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP6vI-00068L-Rx; Fri, 19 Aug 2022 18:40:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP6vI-00070n-QL; Fri, 19 Aug 2022 18:40:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oP6vI-0007tc-Jo; Fri, 19 Aug 2022 18:40:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oP6vI-0007cX-JH; Fri, 19 Aug 2022 18:40:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1Oq0S+XXHjxUXG81PE94DClflf7YVX+869vsCPbL69s=; b=2DBRA7DjXjJilnN/Lu0p1LRTeu
	CYDcpJx70TvVfJcxuWQimdMTO2as1GpkJVsGNa8eYPyvJgw2TCcxQgwrMUxzax7VRsYTr8Kgs/Vlb
	DlzUXnnZVT6RC2sd52dOEXnhRuxyiqIMxKrpz/td7fcUkbNcCENzf4+S2+VYQwsjTkhE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172648-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172648: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 18:40:48 +0000

flight 172648 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172648/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   15 days
Failing since        172151  2022-08-05 02:40:28 Z   14 days  126 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:33:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:33:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390424.627826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7jm-0002vq-6U; Fri, 19 Aug 2022 19:32:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390424.627826; Fri, 19 Aug 2022 19:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7jm-0002vj-2f; Fri, 19 Aug 2022 19:32:58 +0000
Received: by outflank-mailman (input) for mailman id 390424;
 Fri, 19 Aug 2022 19:32:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VY5=YX=citrix.com=prvs=223478740=George.Dunlap@srs-se1.protection.inumbo.net>)
 id 1oP7jk-0002vd-Py
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:32:57 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b72c8b08-1ff5-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 21:32:53 +0200 (CEST)
Received: from mail-co1nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 19 Aug 2022 15:32:50 -0400
Received: from PH0PR03MB5669.namprd03.prod.outlook.com (2603:10b6:510:33::16)
 by DM4PR03MB6205.namprd03.prod.outlook.com (2603:10b6:5:398::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug
 2022 19:32:47 +0000
Received: from PH0PR03MB5669.namprd03.prod.outlook.com
 ([fe80::3598:8b03:ecc7:4828]) by PH0PR03MB5669.namprd03.prod.outlook.com
 ([fe80::3598:8b03:ecc7:4828%3]) with mapi id 15.20.5546.018; Fri, 19 Aug 2022
 19:32:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b72c8b08-1ff5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1660937573;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=QkO4ZN42WAS1HVRHbCRklJJB9tg/tmp99MHc7jUNzNA=;
  b=W6f2hXbYsIaeV+BEsEFK1CjAxbPbxYfQCvEgh2MPtqMeo8VNoNQKiLDo
   xV4KqVUTrgxx/tfs2zcP6xxdeQdBYNY9K7UtUxazT5zSRP1jW2ZKeuxsg
   j58J+QJ2DMA1P4A/zfNHBiP4qgq+5NlLL3xwFYISUkBI62hhTz7scQ0ds
   Q=;
X-IronPort-RemoteIP: 104.47.56.169
X-IronPort-MID: 78941819
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:sNr/Lq2CMN2zWT6yPPbD5VFwkn2cJEfYwER7XKvMYbSIYQITYwd3j
 TtIBzjCf73ffDO2KOnCW/20o0wPsMLVzIRgGQRq+Hg2QysUpMOYD4zGIh6pbnzDfpyTE0425
 ZxCMYacIspsFyfQ/Rv2ara+oCR126zSSLHwYAKo1lidYCc9IMt2oU4zy4bV+7JVvOVVIz9hm
 Pv5qZfSYVX1gWQvY24e5/nepUs37Kv7tm9D4VVlPKAX7Q6CmyEZAqxEKPDqJRMUYGX18s1W5
 Qrn5Ovklo8M1051UrtJqp6iLgtQBOa60TGm0hJ+Q7KljgVJuhs826M6MOt0QUpMgnCCkssZJ
 O9l7PRcci90ePyX8Aghe0MASXsmbfQXoOavzUWX6qR/8WWXKxMA/N02ZK0GFdVw0vp6B2hI6
 csZJFglBvxUr7vrqF4TYrAEavULdKEHDqtG0p1T5Wix4cIdaYLCW833Cepwh1/csCzs8cH2P
 KL1YRI3BPjJjoYm1l0/UPrSl8/w7pXznqExRPt4asPb7kCKpDGd3oQBP/L3U8SVV/V4xn/fv
 3PF5GnQHAkbDe62nG/tHnKE3ocjnAvdcadLTfiT0acvh1eegGsOFBcRSF235+GjjVKzUM5eL
 EpS/Tcyqa819wqgSdyVsx+Q+SbY+EJDHYcOVbRkuWlhyYKNi+qdLkcJSSROZZoKqckyTCQC3
 V6VhdL5QzdotdV5TFrCpubI9GPraED5K0cHazNVFAUu+eL444oRnhGXU9RKNJCq24id9TbYh
 mriQDIFr74UiMsKy7m250vvkz+qvoLOTAM++kPQRG3NxhN0YsupapKl7XDf7O1cN8CJQ1+Zp
 n8GlsOCqucUAvmweDelRewMGPSi4K+DOTiF2Fp3RcB/pnKq5mKpep1W7HdmPkB1P80YeDjvJ
 kjOpQdW45wVN3yvBUNqX7+M5w0R5fCIPbzYujr8N7KivrAZmNe7wRxT
IronPort-HdrOrdr: A9a23:7GXiEagw2lIRg8/pflMj7D8ywnBQX2B13DAbv31ZSRFFG/FwyP
 rCoB1L73XJYWgqM03IwerwQZVpQRvnhP1ICPoqTM+ftWjdySOVxeRZgbcKrAeQfBEWmtQ96U
 4CSdk0NDSTNykdsS+S2mDRfLgdKbK8gcKVbJLlvhNQpHZRGsRdBmlCajqzIwlTfk1rFJA5HJ
 2T6o5svDy7Y0kaacy9Gz0sQ/XDj8ejruOqXTc2QzocrCWehzKh77D3VzKC2A0Fbj9JybA+tU
 DYjg3C4Lm5uf3T8G6R64aT1eUYpDLS8KoDOCW+sLlUFtwqsHfqWG1VYczNgNnympDs1L9lqq
 iIn/5qBbUJ15qYRBDOnfKq4Xir7N9m0Q6f9XaIxXTkusD3XzQ8Fo5Igp9YaALQ7w46sMh7y7
 8j5RPvi3LGZSmw4RgVyuK4Ii2CrHDE1UYKgKoWlThSQIEeYLheocgW+15UCo4JGGb/5Jo8GO
 djAcnA7LIOGGnqJkzxry1q2pihT34zFhCJTgwLvdGUySFfmDR8w1EDzMISk38c/NY2SoVC5e
 7DLqN0/Ys+OPM+fOZ4HqMMUMG3AmvCTVbFN3+TO03uEOUdN3fEu/fMkccIDSGRCe81JbcJ6e
 r8uQljxBEPkmrVeLyz9YwO9AzRS2OgWjmowt1C5vFCy83BeIY=
X-IronPort-AV: E=Sophos;i="5.93,248,1654574400"; 
   d="asc'?scan'208";a="78941819"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K0A/jhet8DFygi1E3d78cMoPKoGBkOx6Ff15VJfZRG3fJLEnq8EZ49MQScT9Scvh5iRNWlMUHAp3zleIjO1m0J9zM+MXfz9/lRcU3Yvpt7fAijHxDXplwLrZlUtEjshhsXKOXjtpUvHYlrKQJ0SsaRiBjIN4bPCeRErq517AjbG1OzCTBr4+5xWMTirJeg8jUKN3zIcbOPWw0ZPw/3v4mtayS9R4mSYIcWNiGDqWJ2DSLRzDKqBMLq0997FiwGqQexCRpEPN73uNwe4XeJSIPqwbyLxofF36/yjm1UNJaeMT8ae4IuYNKKV+o3Gk4SdvIRKlELhlWp+MF/b/n6g5fg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8QbGd7u9lmRdS9/+A23Iq1T6TJcBdWrK0JwW2r+tGQw=;
 b=FPWchd2mvc/JXWAGEks8QXGa98KL43JXy8Q5xjg8cTbbO9L6EmX0ztFUuviknTePhJximIVqORfEC5y8ZMoBTriuciWiDDTd1YJVUL4b01hrg0f2Glg/VvV58TI+Tj/eymOtDNI229zCI6h2y7eFW1ZsbQ3NgV6bzbahWS+OO4KrUzYZJ2EczJ/+HnE9Cg/q7dFsQYVmy8WCKiDQ5/4eKXsSTwKrM61SKwqunKifqidgFqcRC61KP8hFGMd0F1Zd4Jd2vI7HkjWwukDq15U0HsUUS7pg5QYE6kuIWXS8RqMnB4IAbnOYrCEXebTN6HYVpq7q00QRJYkZcr+TZ/L97g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8QbGd7u9lmRdS9/+A23Iq1T6TJcBdWrK0JwW2r+tGQw=;
 b=WI3vTRsH1ZnVnOd7dQR8DXgxa72MNm87zyrra63RIiDg38ZxwqLsEgn7klaJweLKVF4Ff6WpkpQwoxYmvVDl17MyOeQZ2uE3UfVyJ8vtuQlHP2Xi8V4p3QYZcJjkXRVaD++SXwnb34mW6/hlMTz0+DwtTuYWW1F3ckJ/42BaeeU=
From: George Dunlap <George.Dunlap@citrix.com>
To: "committers@xenproject.org" <committers@xenproject.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Revert-and-reapply due to unwanted tag
Thread-Topic: Revert-and-reapply due to unwanted tag
Thread-Index: AQHYtAJ1/K8NODo0rUCxwE9WM12NDw==
Date: Fri, 19 Aug 2022 19:32:46 +0000
Message-ID: <0DA486FD-90FD-4CD3-BF6C-88472C8DD297@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 82a61ff0-82a1-4702-df0f-08da82199876
x-ms-traffictypediagnostic: DM4PR03MB6205:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 DuyFrPTA/BFZVHxRO3lMVQDPzXvmR6bsUjCvF0YwMqCVraAAs4StLh7VJJYuj+zLN7iXllcWauZna3UT0niF0+5HyEjNQ3U8n/ddiUZ5lCk2TNCDykIHpZoLu51P+jtqCWD6ZualFUjv1fQRT9v5WlkA5qC6HMpiJ3+qjFTBbPsjbk9mQJKuck2yiG0rDXHYr5tlbHncXsg7bYGNPkg86O2kQC4iKs38iEL+jOyVLXhpg2XA5ghLAvcf/pYt0/SGHrh6xwMSR6v/2ZsmwRjpF78H8rZgDWBgVAWiIorsAAJiL6RHY0ucv/bZqHo7YqR+A65Q8kbdQ8Iug7GDjNjNO96QQOTOBXwSLGHGT2m1xU4h7DSTZly5w8VHraKXMQu1gKv6qhXdk8Uu+ah/8zuoAZnCXhx5e2JAocKWpYBRXp0QfC7zDvfx3F6Q814Q1nXlpbiN5e1Tkk4IBlPBw6Phvohgu+njynK+/b8F6RVx1EHv1vu+ATD0+NRoFQ5SGhmwh2W/FdFnhrqgL5m+EveTCaQFbrVncV8C6AswwyWpsYVKcMWZ/9M9SHPr2ErbeaI4TuLUFU4zElJM+quxm6TSzoM3Yh0adkoHS7Sn98/+xmnnYCz5yov9C/XLEmCQ7m8+L2HDU+EMLEmSBV1xk59sTmiqNJYMSvnBoZ6SAbpNYmZdBi/wp+n1xAdc2r7rNQG4DHps/GYdR4BELm8jTPbRSWwEPu/S0gOkfQEB3qNtWtTkn1GwuCh3O12BCkymVu875ixM9Sm4LKsu7ng4ixY+9nDkMdl7cwq+pclr9QQ8V5eABI2HOW42ZVHVaHYdTJwZ1/hyJwScpuaO6PTcxD0gaA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB5669.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(396003)(366004)(376002)(136003)(186003)(2616005)(6512007)(99936003)(26005)(122000001)(38100700002)(4744005)(5660300002)(8936002)(6506007)(66556008)(4326008)(66946007)(76116006)(66476007)(66446008)(64756008)(8676002)(2906002)(478600001)(86362001)(6486002)(71200400001)(41300700001)(82960400001)(91956017)(316002)(36756003)(33656002)(38070700005)(6916009)(26123001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NU91NUxpdndEMU1nbi9ha0F6TlRyNnQwbkpibU9HSGIrQk9kWFpEMG5UMjN3?=
 =?utf-8?B?cENIaHJ3NFIzU0x3WmN5emtEajhqZ2dhY0ZwbFBDdVF2SGtzVUVhcjRYNnpH?=
 =?utf-8?B?SGtMejJWeUE4QjFTZm1FWDBkNlpsVkJaZkg3aTIzNTVDK3g3QWJ4MVh0VGk3?=
 =?utf-8?B?RnVCSkpmYnZ0RDZPemNyWHR0YkhuRXk3c2w0ZlliV3BFV1pvS2N1SGRZa2ZL?=
 =?utf-8?B?WVo4OUFYSGtBVVJrVEJIZzYyNEw2a3paRWt1TllNcnVkWGw0WEl2SEhrV3ph?=
 =?utf-8?B?RjRxckhNci90cTcvdnFCYzZOTlE0anZwaXpRSW5adzgwNGJJNHY4aHk2R0VI?=
 =?utf-8?B?UTlscjNBOGh3Z2ZrQ3VuZTdvandTb0dYRjNnWVpCaDJnUHNYb1gveUt3QUhH?=
 =?utf-8?B?NVU0SzVFeDRnUnZKTm1VckFzNzBjdWhhUUpTSGlnbVJrZmM1amdpU25nZnFI?=
 =?utf-8?B?RDdqeUpKaFFPOXQvNmNqaUhzOTJmeWEwczVsQ2ZTbzBYRVpxb1BLNzZwelVW?=
 =?utf-8?B?ZGQvczdiQzEybXNXSGlzRjBuZXpxdFd4SG9GQ1FQeDg1SGtWMWVheDR5VmRy?=
 =?utf-8?B?MThqdTRpRnQyMFNPZzZCZHZRR1J1UUFjUWNRZHBwNzg2OEQvOXpmM3NhQkZC?=
 =?utf-8?B?T1hxajhQZEdWUU44M3luMFFZK3ByeWpFOFpmc2xSUitTbXZEalJuNzFYdGFC?=
 =?utf-8?B?RVlYQXVOdHpUdnNYN3BJOVBCVFliTHFVa1d6SVRKVTVyczBvWEVYa2EwZDFD?=
 =?utf-8?B?WlI0ek5NWFN2OWZRT0tBZ2hic1BwLzFocUZ5SVhYZjRmN2R3bGRUc00zOXlW?=
 =?utf-8?B?eklmSlpxNGNySTJjcXh6bjB2elE3TWtCbndzNmlscXRmcklCS1pxSmx3RVNl?=
 =?utf-8?B?QUpoMXl2ME9IMFR4SHR3Smc1YW1hb2l1Ujc5SUxLcDErbGFyZHhnY2ZaNDd4?=
 =?utf-8?B?MmtVM1lVRVlhak5GV1dlUGNXZUhmcFNLWm55YVN2SVJQa3dxZW80NXJmemhY?=
 =?utf-8?B?QTloNzh0bVh5ZjNtNXhtR1Jxc0Z4c0JGV1ViMUEwSm05eVRxL1RCdmpzcVdE?=
 =?utf-8?B?aGh6TjVtd3hSUVgwWGZZWXUrQUdGZW1BZUpyQXhjekM2WHBPTGFkZXU4V0NK?=
 =?utf-8?B?L3FpaWcxSnhYcWNobXdnU1IzMmlnRlhDaURCWXcvRndHMVE1S3RCcDJnRE1V?=
 =?utf-8?B?VEhqTElmTXdKeUNBd1NpejNGV2ZsaHBsWEwycnI1ejBnOWZyUWppa2JJYy92?=
 =?utf-8?B?UHI5Q1dPTWVRN0NqQVFubFZjSUd0UHY1WUZRUEZwYmtyY3NKYmFLVkQ1Tlh0?=
 =?utf-8?B?SllzRks0dmJ5VGxvRUcvaUZseHludkRoSStMQktSRUp2TFE5VVJCVkx2dGFG?=
 =?utf-8?B?VWRDZHBMa2ptdFVObDRXbzBzeWZsVkNQOEtWVk1icWlYbDRkM3dMWVRIbWIw?=
 =?utf-8?B?TEQ1S294aWRxWnp1QTFJeHJaekkyeko0L3pqOFFqWHM4eTB2K1BZMkJYREc3?=
 =?utf-8?B?TkZqL2tYODBEYjZLTUo4ckE1RHJQbjBJdzdhd3BuanRYNVVJaG9OVGQzUFRN?=
 =?utf-8?B?OW9tRmVJWlVydVI5SS9xL0dzdkl3K0VSdDlmS1g4WERCQXo4T0hYQ1FnWTdv?=
 =?utf-8?B?RzJ0VEFmU1N2L2Y3dFRQZWhwWnFuQWpzMjlNeWdyMHlBMXRMa2JtNlhnZEpp?=
 =?utf-8?B?cGNpc3F6RU91eHU5L3lIK0V5eW9obXBqMm40bENsdDJCSHA3UVJnR3l6bEFq?=
 =?utf-8?B?dXNPc01hV2hMd0Z5OTdXT3gyUjR2L04vL2VsU3pYR1pVWXZWOTJlSndpQmJi?=
 =?utf-8?B?c25jU0VTYlVVemlIT2t1ZlgrWkxMbFZGYTJmTlAxb1orMHFPU2VjK2VGelhy?=
 =?utf-8?B?Y3cvcVF0ZTJySXVBZFZFTTVFZlFhOG9UM3hqM0k0OUlEcExic1I4YW00TWtu?=
 =?utf-8?B?Y1k3Tk5tWi9Oc0Q5YVFJL1U5UTlvVVBmRjRrNmFqZ1JaUXQxUllTdFpnNjJD?=
 =?utf-8?B?VFJLVkZDWFRxRkFDUkFoMHJqT2hVczBaK20zKzZjK3JPWFdYdHdNbFd4NWhl?=
 =?utf-8?B?Mlc1QkdZeEdrek1nQ080bnNDQnlqMEUxQlB0amU5N3RteUNpUy90WnFhQVUx?=
 =?utf-8?B?RS9ldE9wMm9hZzRFblJPWjdpenVldHRnSnhZcm9mYmVRaGFjeWQ2bGpHZVZX?=
 =?utf-8?B?eWc9PQ==?=
Content-Type: multipart/signed;
	boundary="Apple-Mail=_5DE67095-8A7B-4287-9974-F1B1626AE26C";
	protocol="application/pgp-signature";
	micalg=pgp-sha256
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB5669.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82a61ff0-82a1-4702-df0f-08da82199876
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2022 19:32:46.9442
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 4CPEfEDGxhpISGo68CZMXNCrHBPI/vSoDmoWOp1k9aciwHRtfmhLu/zuJkmiMD5Ftmd5Y71gfsGypOMsi4kou5moTsnGBSUcJ1vMvNo92oY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6205

--Apple-Mail=_5DE67095-8A7B-4287-9974-F1B1626AE26C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hello all,

It=E2=80=99s come to my attention that the commits below are tagged as =
=E2=80=9CSuggested-by=E2=80=9D someone, and that person doesn=E2=80=99t =
believe the tag to be accurate.  Having talked to most of the other =
committers, we decided to revert the commits and re-apply them with the =
offending tag removed; this will make it clear to anyone doing a =E2=80=9C=
git blame=E2=80=9D who not to blame.

This does open the question about unwanted / disputed tags in general; =
we can have a discussion about an official policy on it at some point.

Thanks,
 -George


646589ac148a2ff6bb222a6081b4d7b13ee468c0 amd/msr: implement =
VIRT_SPEC_CTRL for HVM guests using legacy SSBD
a2eeaa6906101fbf322766f37f8f061dd36fe58d amd/msr: allow passthrough of =
VIRT_SPEC_CTRL for HVM guests
ebaaa72ee080c8774b1df5783220d4811159c327 amd/msr: implement =
VIRT_SPEC_CTRL for HVM guests on top of SPEC_CTRL

--Apple-Mail=_5DE67095-8A7B-4287-9974-F1B1626AE26C
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEj3+7SZ4EDefWZFyCshXHp8eEG+0FAmL/5VgACgkQshXHp8eE
G+1MgQf+KtVEa16+FQYUMKALC5Y9E3SvhE9mQV6XcJ7FKStG+w2VnD7ZFJM4kWhh
1rcfBSgBctSKayWpARyojNZ6ksVkHCg5IAD/ETRFRc1YjvIGEeO8fonIlyvmCZ18
4f6x1EVta7j3Ze/hxgZyLqitPt12flGlDC3WGw/mETo0L9Jz54AkVO6pi3TiXoRA
dikZymRWb6ad4aQ9niAOXMlz1uXCgxQvBmjKM65Tfhxm4sahIWiF5HTw9dgrOVux
Uea4nk+y4q15ORp89YCaDVWiShpqN1+bFa9dxKdVIYx6pnmV+TzVgWoY03cWuyjp
2LRWC7V/POP+q/ZdQm5HbmlJKJeUTA==
=F1t/
-----END PGP SIGNATURE-----

--Apple-Mail=_5DE67095-8A7B-4287-9974-F1B1626AE26C--


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390438.627883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7ux-0005FI-6X; Fri, 19 Aug 2022 19:44:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390438.627883; Fri, 19 Aug 2022 19:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7ux-0005F7-1A; Fri, 19 Aug 2022 19:44:31 +0000
Received: by outflank-mailman (input) for mailman id 390438;
 Fri, 19 Aug 2022 19:44:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp9C=YX=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oP7uv-0004jJ-5f
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:44:29 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 562e351b-1ff7-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 21:44:28 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id gi31so4144483ejc.5
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 12:44:28 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 r17-20020a1709061bb100b00731745a7e62sm2695059ejg.28.2022.08.19.12.44.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Aug 2022 12:44:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 562e351b-1ff7-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=/HbANI3UeAtTK4BSnuJuxW7e2mu0WZGzY+TmqE1A7bY=;
        b=mYnFGTkCEIxQYyuCFlnzy+qIf7fcTM7SWqBrDw3j9zoLc626t2DGNjyFrKiqgHsn7M
         JB8HI2urhJiZn7rMFz84Zj4np7uXRe0apjN/hLWitx05BOR7GioDQxErOfRfA+z4mAo4
         r5W65T+O6xIWOHNCUTwAo8KYTHmF+e35mkU7i3xYh5cu6Gd8ob+ypxF/Uyanz/21pFc1
         7HVmEJLeY/c+F3sjictsCzEgYT3UgRyGDG5DenBSuuRI8lfRFechk1e1KGbCD8KIvouo
         DeM4/aNMlsn3x+OTxvdekjBZAfgxmiaXYryhfSGw+bq9pplJ//sDjBvZZxSeqfXh2RJ9
         CuLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=/HbANI3UeAtTK4BSnuJuxW7e2mu0WZGzY+TmqE1A7bY=;
        b=cC2dzX7k2UWDElSKILjonbOx1ESfyXpTjpI/ImskmZrJ9zRf6iVXRNN3YOEK6kwT3O
         NFKEhNVL7T3W8kh2+XitnX9yMewLb2QMqkZLsZJZZcmX33r9ZLHOVzVyMU1ysxUnC1Dg
         xd3lE5Nm1I0OInvH0d9IbSD6EirPGN9BnloQHCnuOyQyFj7v2wzFP7lbwEDfw8PTS33W
         nYNcaF6sg/eFZQQW9QQ7i5Xs0CGr9xDJjfLNIx0GuClRTVditvskEH+hqnQrlw5nujHb
         ktsAy2drvr3YbHj2ts+bZcHQedjw4XfAQVdUr4PL3D01wuGfRZACSJvcBjbTWuSE1eUL
         dFpw==
X-Gm-Message-State: ACgBeo20sapyvtCR1eaos8MDOGCt3jRgI6rGNFP+WQNitvG7CxrjLm1x
	j1dYuAVDQdWhsllcLnEmS4nzjtWNhJc=
X-Google-Smtp-Source: AA6agR6JAOo63yvmQzBV6tN/muN9TPp6fGbM8KwYzl4I1ICVIld73kLbCHnhFkhsZKr+dkt6Pms/Yw==
X-Received: by 2002:a17:907:2c78:b0:730:df57:1237 with SMTP id ib24-20020a1709072c7800b00730df571237mr5690032ejc.196.1660938267549;
        Fri, 19 Aug 2022 12:44:27 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH 2/7] xsm/flask: sidtab: Fix MISRA C 2012 Rule 20.7 violations
Date: Fri, 19 Aug 2022 22:43:54 +0300
Message-Id: <20220819194359.1196539-3-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220819194359.1196539-1-burzalodowa@gmail.com>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In macros SIDTAB_HASH(), INIT_SIDTAB_LOCK(), SIDTAB_LOCK() and SIDTAB_UNLOCK(),
add parentheses around the macro parameter to prevent against unintended
expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/xsm/flask/ss/sidtab.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/xsm/flask/ss/sidtab.c b/xen/xsm/flask/ss/sidtab.c
index 74babfac9c..69fc3389b3 100644
--- a/xen/xsm/flask/ss/sidtab.c
+++ b/xen/xsm/flask/ss/sidtab.c
@@ -14,11 +14,11 @@
 #include "security.h"
 #include "sidtab.h"
 
-#define SIDTAB_HASH(sid) (sid & SIDTAB_HASH_MASK)
+#define SIDTAB_HASH(sid) ((sid) & SIDTAB_HASH_MASK)
 
-#define INIT_SIDTAB_LOCK(s) spin_lock_init(&s->lock)
-#define SIDTAB_LOCK(s) spin_lock(&s->lock)
-#define SIDTAB_UNLOCK(s) spin_unlock(&s->lock)
+#define INIT_SIDTAB_LOCK(s) spin_lock_init(&(s)->lock)
+#define SIDTAB_LOCK(s) spin_lock(&(s)->lock)
+#define SIDTAB_UNLOCK(s) spin_unlock(&(s)->lock)
 
 int sidtab_init(struct sidtab *s)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390436.627861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7uv-0004jh-Jv; Fri, 19 Aug 2022 19:44:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390436.627861; Fri, 19 Aug 2022 19:44:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7uv-0004ja-FR; Fri, 19 Aug 2022 19:44:29 +0000
Received: by outflank-mailman (input) for mailman id 390436;
 Fri, 19 Aug 2022 19:44:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp9C=YX=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oP7uu-0004jK-8c
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:44:28 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 558633b9-1ff7-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 21:44:27 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id w3so6858614edc.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 12:44:27 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 r17-20020a1709061bb100b00731745a7e62sm2695059ejg.28.2022.08.19.12.44.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Aug 2022 12:44:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 558633b9-1ff7-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=gpTcdGFtIggM/ndfLTOOJqJh1Gq2EXeW+frcQK8u79M=;
        b=dtaR3prsgnjJDmkr7VI0C4cWEqVDMSufqNJmumXQDW6cYpg1+ydZms5U+Ro51MXB5t
         jo6f7iofh9BCu5a7fDaW18oVUAFeYaLiHsDf+JxnBCHVS1+W+1W20RKbHHqhYhQ1S4tP
         ndKBkqHMhdvVqgQW1r/YrADrAsmB4eSkpNuRagkM0FYdUcJyWYt2opGdRNe1icyRm7KC
         2sdcaC5feSQKirxeJ0PX6ZvwGikfmSpYX+hopRPwwUalqNGxKrdOHI3SrJSem3hNnW7e
         TPTgl2OiiF7AOIGnQc5HCjCJ40jlluGlk2JspR/nzkwDtkl3HutsPjKVdB4q4aePzw8D
         OGAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=gpTcdGFtIggM/ndfLTOOJqJh1Gq2EXeW+frcQK8u79M=;
        b=JifNCpKhn4P3yCNzugmMKrSidCGAe2Dz4HpMh7yfdyA+dxe8F5Kb/iG7yCbExgb8uS
         r0MQW2YuVip0AjZ+QY/3GWbMAueBOJn/RSvdtMQGBMjshGKJDC8BgpeprHal0R1GHtv+
         6ge6oi3c5ay83Ch+b4aTADcV4fXUxYFuAbQNqiYg7fP3HMYwK5ug2jpV9wvDMmEXCt2n
         umjIOQ6ppoODX/1iMYiNsPbpjFPlP8b5qH4Nf0ADnmkKHPYUopjAvKmVoByQ/aryeZlY
         SHt4MQbo0buN4LYLZwCS4NQRRFC6vIRGG/QsiELTlGS9XdhTfyO7xuwtJ3gf9pkfDL5D
         S3Ag==
X-Gm-Message-State: ACgBeo24GGTGYwuLhgtOVevWtovBIuI1dlAyFFQrlumlOg/yJ7O6ev7+
	/shj3fnoYTkmOmIK9YlrEe7FpvygD0A=
X-Google-Smtp-Source: AA6agR74rrbOHONcU0veZ6EMafv63MPWQH4nz6HQlpQSSKjLWTEQwOqaIF7pExtS3v5N87nnzPRrNg==
X-Received: by 2002:a05:6402:2753:b0:43a:d6f2:9839 with SMTP id z19-20020a056402275300b0043ad6f29839mr7013799edd.73.1660938266474;
        Fri, 19 Aug 2022 12:44:26 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/7] xen/arm: gic_v3_its: Fix MISRA C 2012 Rule 20.7 violations
Date: Fri, 19 Aug 2022 22:43:53 +0300
Message-Id: <20220819194359.1196539-2-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220819194359.1196539-1-burzalodowa@gmail.com>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In macros GITS_TYPER_DEVICE_ID_BITS(), GITS_TYPER_EVENT_ID_BITS() and
GITS_BASER_ENTRY_SIZE(), add parentheses around the macro parameter to
prevent against unintended expansions.
Realign subsequent lines, if any.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/arm/include/asm/gic_v3_its.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/include/asm/gic_v3_its.h b/xen/arch/arm/include/asm/gic_v3_its.h
index 94e5cb99c5..168617097f 100644
--- a/xen/arch/arm/include/asm/gic_v3_its.h
+++ b/xen/arch/arm/include/asm/gic_v3_its.h
@@ -46,13 +46,13 @@
 #define GITS_TYPER_PTA                  BIT(19, UL)
 #define GITS_TYPER_DEVIDS_SHIFT         13
 #define GITS_TYPER_DEVIDS_MASK          (0x1fUL << GITS_TYPER_DEVIDS_SHIFT)
-#define GITS_TYPER_DEVICE_ID_BITS(r)    (((r & GITS_TYPER_DEVIDS_MASK) >> \
-                                               GITS_TYPER_DEVIDS_SHIFT) + 1)
+#define GITS_TYPER_DEVICE_ID_BITS(r)    ((((r) & GITS_TYPER_DEVIDS_MASK) >> \
+                                                 GITS_TYPER_DEVIDS_SHIFT) + 1)
 
 #define GITS_TYPER_IDBITS_SHIFT         8
 #define GITS_TYPER_IDBITS_MASK          (0x1fUL << GITS_TYPER_IDBITS_SHIFT)
-#define GITS_TYPER_EVENT_ID_BITS(r)     (((r & GITS_TYPER_IDBITS_MASK) >> \
-                                               GITS_TYPER_IDBITS_SHIFT) + 1)
+#define GITS_TYPER_EVENT_ID_BITS(r)     ((((r) & GITS_TYPER_IDBITS_MASK) >> \
+                                                 GITS_TYPER_IDBITS_SHIFT) + 1)
 
 #define GITS_TYPER_ITT_SIZE_SHIFT       4
 #define GITS_TYPER_ITT_SIZE_MASK        (0xfUL << GITS_TYPER_ITT_SIZE_SHIFT)
@@ -75,7 +75,7 @@
 #define GITS_BASER_TYPE_RESERVED7       7UL
 #define GITS_BASER_ENTRY_SIZE_SHIFT     48
 #define GITS_BASER_ENTRY_SIZE(reg)                                       \
-                        (((reg >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
+                        ((((reg) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
 #define GITS_BASER_SHAREABILITY_SHIFT   10
 #define GITS_BASER_PAGE_SIZE_SHIFT      8
 #define GITS_BASER_SIZE_MASK            0xff
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390442.627927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7v2-0006N1-Jq; Fri, 19 Aug 2022 19:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390442.627927; Fri, 19 Aug 2022 19:44:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7v2-0006MK-DQ; Fri, 19 Aug 2022 19:44:36 +0000
Received: by outflank-mailman (input) for mailman id 390442;
 Fri, 19 Aug 2022 19:44:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp9C=YX=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oP7v0-0004jK-SW
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:44:34 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59b74f91-1ff7-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 21:44:34 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id y13so10601466ejp.13
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 12:44:34 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 r17-20020a1709061bb100b00731745a7e62sm2695059ejg.28.2022.08.19.12.44.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Aug 2022 12:44:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59b74f91-1ff7-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=qdHyhH5cSdeW97ssWYPbvEhezNy6ogyo1GiaHowDr9E=;
        b=LIs9vals9lwAXZy6OsKuaNRbCwKABh1zuTArxjplkPXuYCvzC/tCtwb7IjAIHmLl0t
         tx4G11HXMmu8kq1WU+MgdXkT8mgUMWOz8wlgnE8+24025rVDHw2dGkNgxoJH01KKZBzh
         cmJ4q0T2prC9N60yPkCpz+uDECZl1+TxF5SrjNMSzrKzUp+g4AqDPL1O6e6u0fiPQMEn
         1P/TAjktKvX8Uf0SCi3g6Fi7Rx6WPf7zqpnfc1w0/JRTs1lF+cC+HaG+eeWOReJEVAoT
         YUmYKIuJ99SOVXk8isrztxW8Ric2uU2UNJ7EvrAbDmkW6MklJ/p+7EedzoUjVgiBERwb
         v87A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=qdHyhH5cSdeW97ssWYPbvEhezNy6ogyo1GiaHowDr9E=;
        b=rlegrfq901/5+57MoDl3Djn4//goly5+ExCJW6JtB0t5pL8lWDmBeJsHK+UxrfwJCS
         Owl0+QlGFgUtBwSCeNAusmvmR/ebOAK7tjpaG48AA16OKpI/tNlPo8BmBAMVB1k7pXbK
         90BXWM6mJOPspO8SIvdxgjETycwejypmFtAkaAEqiA3P6ZWtmXYckM7rCM5M35blCerJ
         sxRgwigV8FkfqC9DDmAheluKHF/FlrZ9nCXBheecwPYK2Mgiz/Dj+8bwdLZtPlv++Iij
         dgwQLGwGott1DvniSkcrQpbnoIkb0ykMIpaozXX14GYCDb1FpHeieRnJNdp4QbcgALpq
         OEhg==
X-Gm-Message-State: ACgBeo323dfVJJC7dnBIFbF/eRq85PIevR41mpGJkwIwpW2L/IIJUHR3
	OPEVgax3QEpuRgQ3Ln4XsACI78usCAo=
X-Google-Smtp-Source: AA6agR749ueZHOkVbxZH5onEpwlF2SVUhZeIT1JILZCMYBvqbiXiftJkACWjDXsB13H4QebyslO+8g==
X-Received: by 2002:a17:907:72d3:b0:73a:d85:a0e2 with SMTP id du19-20020a17090772d300b0073a0d85a0e2mr5774788ejc.550.1660938273598;
        Fri, 19 Aug 2022 12:44:33 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 6/7] xen/arm: processor: Fix MISRA C 2012 Rule 20.7 violations
Date: Fri, 19 Aug 2022 22:43:58 +0300
Message-Id: <20220819194359.1196539-7-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220819194359.1196539-1-burzalodowa@gmail.com>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In macros MPIDR_LEVEL_SHIFT() and MPIDR_AFFINITY_LEVEL(), add parentheses
around the macro parameters 'level' and 'mpidr', respectively, to prevent
against unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/arm/include/asm/processor.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index 55f56b33bc..1dd81d7d52 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -127,10 +127,10 @@
 #define MPIDR_LEVEL_MASK        ((1 << MPIDR_LEVEL_BITS) - 1)
 
 #define MPIDR_LEVEL_SHIFT(level) \
-         (((1 << level) >> 1) << MPIDR_LEVEL_BITS_SHIFT)
+         (((1 << (level)) >> 1) << MPIDR_LEVEL_BITS_SHIFT)
 
 #define MPIDR_AFFINITY_LEVEL(mpidr, level) \
-         ((mpidr >> MPIDR_LEVEL_SHIFT(level)) & MPIDR_LEVEL_MASK)
+         (((mpidr) >> MPIDR_LEVEL_SHIFT(level)) & MPIDR_LEVEL_MASK)
 
 #define AFFINITY_MASK(level)    ~((_AC(0x1,UL) << MPIDR_LEVEL_SHIFT(level)) - 1)
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390441.627916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7v1-00065w-6B; Fri, 19 Aug 2022 19:44:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390441.627916; Fri, 19 Aug 2022 19:44:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7v1-00065k-26; Fri, 19 Aug 2022 19:44:35 +0000
Received: by outflank-mailman (input) for mailman id 390441;
 Fri, 19 Aug 2022 19:44:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp9C=YX=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oP7uz-0004jK-CC
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:44:33 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58d37be8-1ff7-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 21:44:32 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id s11so6822506edd.13
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 12:44:32 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 r17-20020a1709061bb100b00731745a7e62sm2695059ejg.28.2022.08.19.12.44.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Aug 2022 12:44:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58d37be8-1ff7-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=oaP6VIExQ6VB20XSakrb2m2jk5jIzbKw+InFoPyPqpQ=;
        b=Kz5hlhDsAbE0V+Hdu1MkI+s4ScUYUw82Sk7ZdPlemeKVuLsEpXlxQb4oL3hG77d8uQ
         hG6zGuv0HkHplTMk90v9s74MUJ8iZFvXkfQ0Bi9BnOH9mKWH87JDFRxyIx2Xhye13I0M
         VDf7tis8w04matFtPdEsCVryt9Xg7N5+OmuIZdqE1maHVol/qy6qDMQfETEF+Mq+WatC
         ZfWnniIkX0UwC3ad3z8/e4+5hKDMJSTFOb38hJGYh8GYGBo/cUgZxAm1MxuLvPjWqkcR
         42Bk6ZZuSjFOm1ibIu3QaRJQ4HUAKhMV780Tplom+baXVv06cb7gLgoxWneCOg1kHnWA
         I3qA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=oaP6VIExQ6VB20XSakrb2m2jk5jIzbKw+InFoPyPqpQ=;
        b=jaP2bWz0K0EgX3i9t9Ufems4Q6gMMJlCbjdEJXOYAHz6TJubbEJnXckpzj1NnhmQa2
         UfZbfj70h2YWXAhZMwIHT3L4gvhUhxqFmhlsgy2eMnsrk0wWuUF2JhsSL0Cb1Liw3UDZ
         XrIiDB6i+JB+589H975NZhRMdOFeyzftV8ITiocWScgDcfzMZTDrsrk1aShnpokOKU89
         TcQ/N7rGUwLejn6Eb/Q2vh6juknV+O6EY4fSjiA+GpqSIwl38uCa/LC7Ovui49GlFdZp
         zRrKVMzmNSqYqMY1SuIo7W+ddOVXRPzYiHVt8QIt2ayDRgAULLRKgfwx+febNAZeWv6q
         jtRQ==
X-Gm-Message-State: ACgBeo0YJYd34GAFO14T+80fFQlN9oFNVC1XGbC02GP4eR8T4T6N1QpA
	bm8e7RJJEptKNQqx07yQkFHzjE5mHwk=
X-Google-Smtp-Source: AA6agR5ALNTr5VEXaywB+zWMCz2vNmDS8Jlmfx3ifRTq40lScBZJBLJj4C0orNke/WLKx35poe6nyg==
X-Received: by 2002:a05:6402:2706:b0:43e:5df1:2e04 with SMTP id y6-20020a056402270600b0043e5df12e04mr7137371edd.315.1660938272143;
        Fri, 19 Aug 2022 12:44:32 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 5/7] xen/rbtree: Fix MISRA C 2012 Rule 20.7 violation
Date: Fri, 19 Aug 2022 22:43:57 +0300
Message-Id: <20220819194359.1196539-6-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220819194359.1196539-1-burzalodowa@gmail.com>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In macro __rb_parent(), add parentheses around the macro parameter to prevent
against unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/lib/rbtree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/lib/rbtree.c b/xen/lib/rbtree.c
index 85a4f20313..eb418baabb 100644
--- a/xen/lib/rbtree.c
+++ b/xen/lib/rbtree.c
@@ -46,7 +46,7 @@
 #define		RB_RED		0
 #define		RB_BLACK	1
 
-#define __rb_parent(pc)    ((struct rb_node *)(pc & ~3))
+#define __rb_parent(pc)    ((struct rb_node *)((pc) & ~3))
 
 #define __rb_color(pc)     ((pc) & 1)
 #define __rb_is_black(pc)  __rb_color(pc)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390440.627905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7uy-0005lk-TA; Fri, 19 Aug 2022 19:44:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390440.627905; Fri, 19 Aug 2022 19:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7uy-0005l7-Ob; Fri, 19 Aug 2022 19:44:32 +0000
Received: by outflank-mailman (input) for mailman id 390440;
 Fri, 19 Aug 2022 19:44:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp9C=YX=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oP7ux-0004jK-On
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:44:31 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57dfb0a4-1ff7-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 21:44:31 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id j8so10624301ejx.9
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 12:44:31 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 r17-20020a1709061bb100b00731745a7e62sm2695059ejg.28.2022.08.19.12.44.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Aug 2022 12:44:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57dfb0a4-1ff7-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=xsltoJ+dF+zfeCEbbMIuZE8kHB12dqzZs8TVxgAefJ4=;
        b=hkGJIU1aGvYGm0v+Am6NTz5xNmDSGroHAYI6UuB20/aEDzeVw737lQzzrQ3d7nJb/g
         Vn77nJESXhO9IpFsIxIn30XMhSFav7IF9W4iy+hzE1r+5F08Hd9r6opWTPHLVqZgkw0S
         CP0Yn6X5qrcAcs0O92cXhXitbJ9IwPyd/2ROX+hGPKdsPNjsc/JWiKSjFaftrqWU5pQB
         rLWyfEh/Yaly//Pw1tOQLsWmD3gQUPf4mTWNxgURjRKSd6NYFMrHEiZl9RBLD+zulsai
         FZU7cxhwEzWYhMKt9n1HDL76cGBh6SWD6WwUEN0DXTeNS9aYHtyhgJ/aFHyU2l6Qih+n
         W6pw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=xsltoJ+dF+zfeCEbbMIuZE8kHB12dqzZs8TVxgAefJ4=;
        b=ZE7nMcODzewHL1bpwcKjLJoOfPuts6mS2zXC3sVa4VLawhtZaqY8zpGSSLTwH1kl9v
         sVH7yDkZNDl6KiXEPuFWBPzHaofFUdaK+XEDbrp3vFHeGQD/0WuKY95Zin5JJA2Ll/i9
         rn9D0H4G1CAJ5+Nu5tZR4BMmypZMTF1ZvNV/BhaK7gavfEmpBSzTkck0HymJP0fhkUjr
         d2tB5yIQcdnXNw2wj9MYitXnnCSZmhee4v//EPTCEnfzjsIVIa9KX47PwZMOptpU0i7a
         2O0j2c7qJcYl45EAz3FpyvTNjJsB9YM2jerjmWydNDyXx62Hmb9v48C9TZCXXMi3gefJ
         OAZQ==
X-Gm-Message-State: ACgBeo3iA/wK2Olf/8xIzmFl1fe4IH95yaYTo9fB0W7+zFGtZadU2RX1
	NMQEng4Wdwd/KsKgMm7soczRIdn88go=
X-Google-Smtp-Source: AA6agR5kNgSC8WIOR/guTy01VB6ZBeKd18XpapZrxSp3zFJUChmBFUeJdYroXwEyJhgbetNcj0wBgw==
X-Received: by 2002:a17:907:7ea8:b0:731:4fa1:d034 with SMTP id qb40-20020a1709077ea800b007314fa1d034mr5815250ejc.758.1660938270375;
        Fri, 19 Aug 2022 12:44:30 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 4/7] xen/vgic: Fix MISRA C 2012 Rule 20.7 violation
Date: Fri, 19 Aug 2022 22:43:56 +0300
Message-Id: <20220819194359.1196539-5-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220819194359.1196539-1-burzalodowa@gmail.com>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In macro VGIC_V3_LR_INDEX(), add parentheses around the macro parameter
to prevent against unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/arm/include/asm/new_vgic.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm/new_vgic.h
index ab57fcd91d..b7fa9ab11a 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -43,7 +43,7 @@ enum vgic_type {
 
 #define VGIC_V2_MAX_LRS         (1 << 6)
 #define VGIC_V3_MAX_LRS         16
-#define VGIC_V3_LR_INDEX(lr)    (VGIC_V3_MAX_LRS - 1 - lr)
+#define VGIC_V3_LR_INDEX(lr)    (VGIC_V3_MAX_LRS - 1 - (lr))
 
 #define VGIC_CONFIG_EDGE        false
 #define VGIC_CONFIG_LEVEL       true
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390437.627867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7uv-0004nL-Tp; Fri, 19 Aug 2022 19:44:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390437.627867; Fri, 19 Aug 2022 19:44:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7uv-0004mW-Nb; Fri, 19 Aug 2022 19:44:29 +0000
Received: by outflank-mailman (input) for mailman id 390437;
 Fri, 19 Aug 2022 19:44:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp9C=YX=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oP7uu-0004jJ-O6
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:44:28 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54387ee2-1ff7-11ed-9250-1f966e50362f;
 Fri, 19 Aug 2022 21:44:25 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id e21so2001078edc.7
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 12:44:25 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 r17-20020a1709061bb100b00731745a7e62sm2695059ejg.28.2022.08.19.12.44.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Aug 2022 12:44:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54387ee2-1ff7-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=+iXUh+ly3q7kTPvB48H2wMf09H72FCO7C0IVYZo0oO8=;
        b=B+aiSCje4l4vPdNaIjXtq1BHl63IYACV0YzKTpqO31Fj2Npfox+TQeEPbUF8rT7H1q
         GDMsl/+PndSO6DsxLpj38Zm8ZcLrO+NK2smo/Mp04hfh4D7PzPAsBVy9tR52MxW24dkG
         tAj/oNXN1QaGtaoqreLZvqb0oqS8imU6azMDlwpYw8Wg0mfPsYMJ41ClFSfUBAJWAA26
         yl7BGzq2Q7bXbsGiefye7FlF/PmYx4npUghat/j9nwURR8Xi281WvcCYeOMxOJ6HNUfW
         d77WZH6OOY9C4KLvvy2DmlFCoKMDEeguG2058TFgxAOLe94QtA7C9KTEcWCEP5VmXusi
         jRpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=+iXUh+ly3q7kTPvB48H2wMf09H72FCO7C0IVYZo0oO8=;
        b=2L99lxHPOx3RRCSeAysy1HV82QJ6cq3Lm015fcoxs1cYgO6qYOjgg0WmsCgzlb1l14
         5O7Qx2Av7pl3eVxTEn6DMCLqPaWwZS3zgxBzLQ1PWtnkLAbPGmcJp9PFqdfvYjobTw/1
         WC/XTQ+sm2XBkPeF6+adOAMGyTancI7KJ8I42AaNoWtcyiEuBx1227FV07gJKlZYvfVT
         0yDZ36uzjhKBb7jh5dAMQ38hWQjJneyPsV4PPm5APJFP6d8zzR3oEJSVZCCqmc5fywhm
         LqAA+uV+FsW2lmK+5orku70IE58q4s+SXQS4Yphhr3fNxb6460uEK3CQiMFOK5lHmIpG
         D2LA==
X-Gm-Message-State: ACgBeo1yJnXCZWzJqYQz8VBFl5u88biymg8E8rYk8umWgnfavc4BHSsD
	87UxjXi3RFLFv3Wzj49XSJyzVrok/9M=
X-Google-Smtp-Source: AA6agR72LdtB5UQUlBPODzMyHks5cfiMyCkdYYCp/gd/V8DP8gEKKfchu1fMq1hEg8Iy9WAfjJNYqA==
X-Received: by 2002:a05:6402:3552:b0:43d:a57d:22e9 with SMTP id f18-20020a056402355200b0043da57d22e9mr7201976edd.119.1660938264363;
        Fri, 19 Aug 2022 12:44:24 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 0/7] Fix MISRA C 2012 Rule 20.7 violations
Date: Fri, 19 Aug 2022 22:43:52 +0300
Message-Id: <20220819194359.1196539-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xenia Ragiadakou (7):
  xen/arm: gic_v3_its: Fix MISRA C 2012 Rule 20.7 violations
  xsm/flask: sidtab: Fix MISRA C 2012 Rule 20.7 violations
  xen/elf: Fix MISRA C 2012 Rule 20.7 violations
  xen/vgic: Fix MISRA C 2012 Rule 20.7 violation
  xen/rbtree: Fix MISRA C 2012 Rule 20.7 violation
  xen/arm: processor: Fix MISRA C 2012 Rule 20.7 violations
  xen/device_tree: Fix MISRA C 2012 Rule 20.7 violations

 xen/arch/arm/include/asm/gic_v3_its.h | 10 +++++-----
 xen/arch/arm/include/asm/new_vgic.h   |  2 +-
 xen/arch/arm/include/asm/processor.h  |  4 ++--
 xen/include/xen/device_tree.h         |  6 +++---
 xen/include/xen/elfstructs.h          |  4 ++--
 xen/lib/rbtree.c                      |  2 +-
 xen/xsm/flask/ss/sidtab.c             |  8 ++++----
 7 files changed, 18 insertions(+), 18 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390443.627933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7v3-0006TQ-5t; Fri, 19 Aug 2022 19:44:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390443.627933; Fri, 19 Aug 2022 19:44:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7v2-0006SM-UN; Fri, 19 Aug 2022 19:44:36 +0000
Received: by outflank-mailman (input) for mailman id 390443;
 Fri, 19 Aug 2022 19:44:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp9C=YX=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oP7v2-0004jK-1v
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:44:36 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a7a5940-1ff7-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 21:44:35 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id j8so10624606ejx.9
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 12:44:35 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 r17-20020a1709061bb100b00731745a7e62sm2695059ejg.28.2022.08.19.12.44.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Aug 2022 12:44:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a7a5940-1ff7-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=zr3W75+rbEgAY973OCuXKMwBZmftg9FAYuo83VpG87U=;
        b=MYnAcV536pEaEaP0C6uceSAbrybRsXc9/E4l5wAvvDYBaL6BbePOnwFLMQeZPDwdga
         OzzOJGfX/7CpmiX26pcuUCQTTp5mvHIwc5czAiasUxHB9lY7dlXQkGAExPvsaNBQ5/K0
         kmr1gF80EcA82jxzlUw+yS4pnMKcotbCe+34c1waapot3zGWpUUhMVLUmaLLbZvq4k/m
         AImjiFFdXDp9g8pCRl2YkxwzahRZ4NqtlOooisZT4Ue0ufW1gmZBpTR1R6kGslW54mXt
         da7I5VW+/Y+ly/v16RaEMz4t2GAqLkpYIoqyJ3FyBr09+LH+yRBWUddErWImQeQAVeEy
         ivfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=zr3W75+rbEgAY973OCuXKMwBZmftg9FAYuo83VpG87U=;
        b=VY8d6sUEihLgl6KLFMHwLYtg0ZBlvI77NBGxpX+1BUOYXbeGtDZTUKN2iJNDeugZa6
         FDU1kTa29QatbNFKLF5BhP6jAb6gA+1AWrRes3xq6QhLjNtzXxSqYIIR4YVHIs00uw9X
         YipQaehsLg75PTs/Bpcr4xQbzcQHcOMRlIb1QR2MSpaQwRyRsHTUcjAUlqxjmYPmjp95
         f/Tscbh4XVnp0XUvn0H1Fah2BWQI2ZdPQCoiiP5E2WnRq9dLiS1tB574nlWu6Ayv8qNl
         CqshKttmZwEm1+vigMUMCmXpA/EIPfahhTE11X/FctvkzKSGC20CW4RYZK8UmP6Oeor0
         y7eg==
X-Gm-Message-State: ACgBeo3MUs6NDf3TEcHGgU+HIqLOUGQ60bLGDdDdlj18XzXH7cqURC+4
	vj4HF2elRz/gAlnGxNpIig3bZq32ukQ=
X-Google-Smtp-Source: AA6agR47Pk7lxiJRD6PZ1L4Ihi7zuJngGMMqd4+Jq8z+75Wg1oy3/iLdambiobOITRK3GnkFklNIaQ==
X-Received: by 2002:a17:906:84f0:b0:731:8572:80ab with SMTP id zp16-20020a17090684f000b00731857280abmr5769836ejb.254.1660938274860;
        Fri, 19 Aug 2022 12:44:34 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7 violations
Date: Fri, 19 Aug 2022 22:43:59 +0300
Message-Id: <20220819194359.1196539-8-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220819194359.1196539-1-burzalodowa@gmail.com>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In macros dt_for_each_property_node(), dt_for_each_device_node() and
dt_for_each_child_node(), add parentheses around the macro parameters that
have the arrow operator applied, to prevent against unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/include/xen/device_tree.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 430a1ef445..6e4391c126 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -222,13 +222,13 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
 #define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
 
 #define dt_for_each_property_node(dn, pp)                   \
-    for ( pp = dn->properties; pp != NULL; pp = pp->next )
+    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )
 
 #define dt_for_each_device_node(dt, dn)                     \
-    for ( dn = dt; dn != NULL; dn = dn->allnext )
+    for ( dn = dt; dn != NULL; dn = (dn)->allnext )
 
 #define dt_for_each_child_node(dt, dn)                      \
-    for ( dn = dt->child; dn != NULL; dn = dn->sibling )
+    for ( dn = (dt)->child; dn != NULL; dn = (dn)->sibling )
 
 /* Helper to read a big number; size is in cells (not bytes) */
 static inline u64 dt_read_number(const __be32 *cell, int size)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 19:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 19:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390439.627888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7ux-0005M1-J9; Fri, 19 Aug 2022 19:44:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390439.627888; Fri, 19 Aug 2022 19:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oP7ux-0005Jc-EK; Fri, 19 Aug 2022 19:44:31 +0000
Received: by outflank-mailman (input) for mailman id 390439;
 Fri, 19 Aug 2022 19:44:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp9C=YX=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oP7uw-0004jK-EK
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 19:44:30 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57100c84-1ff7-11ed-bd2e-47488cf2e6aa;
 Fri, 19 Aug 2022 21:44:29 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id fy5so10670938ejc.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Aug 2022 12:44:29 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 r17-20020a1709061bb100b00731745a7e62sm2695059ejg.28.2022.08.19.12.44.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Aug 2022 12:44:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57100c84-1ff7-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=HDuuxFY/YE94TPNe9W54PeY/2YGWcZav7WGy8V8/S+M=;
        b=JQXRD4F6Ddf1NWf18s2PCtlt7A0tVn7g1AIawlf++LC6axyaosDtPLbWtF6A7HgklM
         2jUfPVwjdF0XfDzkxtqT82NO3Be+sTtaEX81qyBhK6VVCghh5A4pEJIxzPfwiIYUA+Zh
         fS6hYKTtvyn32GrBz16qW+VTOFVAMFONWyqMWf4s0B/J2dDniubKlRwrt6hKV6PINHgZ
         WoPlfgtDBLv109SelCcM+T4141Xa03AiXlOkmZiLZ1r8jp1iuMLT+V+Qwkjsiy8lJAD4
         gER8tGI+FNxkfemEnTeX82T1D5ppNZW5x80OsFWpgp4HvG7wcxpgqibLip0+0x3k6M9f
         hLXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=HDuuxFY/YE94TPNe9W54PeY/2YGWcZav7WGy8V8/S+M=;
        b=w3iGMnMI607yICipIqIyJU4ZivsoZ1x+J8doMu+iY3nbPOgyFMAcq+XJlVWUZywmEp
         YJ5fr+fIj9gZzOU2CeYz/5QPO3+oEE+5Z29HVTg0SGdgC1/iVkhokf1S4Des2Eio0vKh
         rvHJYB2fvCenTbz3YK8gK7DElQognEtIkhiEb+7bd5boZjysySlk7XY508B9o2TJUu5b
         QlJY3Cq8w0C7Z8MQMjjQrdr5unBrGMph6acef1jXNVDJ2kAXXZtTCYbIZ5gK71CN6d7f
         qDBZcd1nxVzx4bvfTyxer6Np1cfGq+QyBFnIDaQpHBHuO+IOlhrXWqmoEkWoPSnMyd3O
         9uXw==
X-Gm-Message-State: ACgBeo2aW24BIMhemK+SFwpCybw7WK1ZzDGvwhv7vZ6oNQh7N7z2uoox
	5Z6GTtziGddnDHZbzD5LVp9CtQ4vakY=
X-Google-Smtp-Source: AA6agR41DpyasU1bwDPTT9rxNNwBCW+BMdM30h+lAaNbCAPVmTDiDSK/SrHWCtmh/+oG1xinDHQBQw==
X-Received: by 2002:a17:906:cc0e:b0:731:6844:880a with SMTP id ml14-20020a170906cc0e00b007316844880amr5822271ejb.514.1660938269092;
        Fri, 19 Aug 2022 12:44:29 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 3/7] xen/elf: Fix MISRA C 2012 Rule 20.7 violations
Date: Fri, 19 Aug 2022 22:43:55 +0300
Message-Id: <20220819194359.1196539-4-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220819194359.1196539-1-burzalodowa@gmail.com>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In macros ELF32_ST_TYPE() and ELF64_ST_TYPE(), add parentheses around the
macro parameter to prevent against unintended expansions.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/include/xen/elfstructs.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/elfstructs.h b/xen/include/xen/elfstructs.h
index 616ebf9269..0a7c558a80 100644
--- a/xen/include/xen/elfstructs.h
+++ b/xen/include/xen/elfstructs.h
@@ -305,11 +305,11 @@ typedef struct {
 
 /* Extract symbol info - st_info */
 #define ELF32_ST_BIND(x)	((x) >> 4)
-#define ELF32_ST_TYPE(x)	(((unsigned int) x) & 0xf)
+#define ELF32_ST_TYPE(x)	(((unsigned int) (x)) & 0xf)
 #define ELF32_ST_INFO(b,t)	(((b) << 4) + ((t) & 0xf))
 
 #define ELF64_ST_BIND(x)	((x) >> 4)
-#define ELF64_ST_TYPE(x)	(((unsigned int) x) & 0xf)
+#define ELF64_ST_TYPE(x)	(((unsigned int) (x)) & 0xf)
 #define ELF64_ST_INFO(b,t)	(((b) << 4) + ((t) & 0xf))
 
 /* Symbol Binding - ELF32_ST_BIND - st_info */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:13:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:13:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390484.627955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAEr-0006c0-SA; Fri, 19 Aug 2022 22:13:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390484.627955; Fri, 19 Aug 2022 22:13:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAEr-0006bq-PM; Fri, 19 Aug 2022 22:13:13 +0000
Received: by outflank-mailman (input) for mailman id 390484;
 Fri, 19 Aug 2022 22:13:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAEq-0006bg-KU
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:13:12 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c5199ed-200c-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 00:13:11 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 40C74B82920;
 Fri, 19 Aug 2022 22:13:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 92492C433D6;
 Fri, 19 Aug 2022 22:13:08 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c5199ed-200c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660947188;
	bh=8liAj87zBtK+RkPLNAuY4IQgVIrrXwdAUyPNFQz1TPM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LqULINJoPEoLtTN+ErN9rbxyvcl47cO79NwDx0SlRpyBVCH+yy2ROF8C67/IbZIse
	 xXbsX2KU9hi3HIqYyO2UJ7W8FLbx7XX5U2LaNXsPvQLtohUlxU4+KxrnueMeKv+5yB
	 sgdfryFKh/n6PpLVuGGpKTo+q0ggE82KeAt4CByxfyo80q4APl7hYhVNVv56lZL95l
	 NFQPwfEPW/5QC8MSURPmQzUaEe0pheJREbFFvxqoTkuCCmAd3KfN6vXsxLcMd3kGYK
	 HRFpmkY+wd5Zro0LW+0ifdNihY2aW7wrXZ1rxrbwvwsOzfCUE5BcLyasx/zIbt1ydg
	 Kwus3Q4UuBN0g==
Date: Fri, 19 Aug 2022 15:13:07 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/7] xen/arm: gic_v3_its: Fix MISRA C 2012 Rule 20.7
 violations
In-Reply-To: <20220819194359.1196539-2-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208191512420.3790@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-2-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Xenia Ragiadakou wrote:
> In macros GITS_TYPER_DEVICE_ID_BITS(), GITS_TYPER_EVENT_ID_BITS() and
> GITS_BASER_ENTRY_SIZE(), add parentheses around the macro parameter to
> prevent against unintended expansions.
> Realign subsequent lines, if any.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/include/asm/gic_v3_its.h | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/gic_v3_its.h b/xen/arch/arm/include/asm/gic_v3_its.h
> index 94e5cb99c5..168617097f 100644
> --- a/xen/arch/arm/include/asm/gic_v3_its.h
> +++ b/xen/arch/arm/include/asm/gic_v3_its.h
> @@ -46,13 +46,13 @@
>  #define GITS_TYPER_PTA                  BIT(19, UL)
>  #define GITS_TYPER_DEVIDS_SHIFT         13
>  #define GITS_TYPER_DEVIDS_MASK          (0x1fUL << GITS_TYPER_DEVIDS_SHIFT)
> -#define GITS_TYPER_DEVICE_ID_BITS(r)    (((r & GITS_TYPER_DEVIDS_MASK) >> \
> -                                               GITS_TYPER_DEVIDS_SHIFT) + 1)
> +#define GITS_TYPER_DEVICE_ID_BITS(r)    ((((r) & GITS_TYPER_DEVIDS_MASK) >> \
> +                                                 GITS_TYPER_DEVIDS_SHIFT) + 1)
>  
>  #define GITS_TYPER_IDBITS_SHIFT         8
>  #define GITS_TYPER_IDBITS_MASK          (0x1fUL << GITS_TYPER_IDBITS_SHIFT)
> -#define GITS_TYPER_EVENT_ID_BITS(r)     (((r & GITS_TYPER_IDBITS_MASK) >> \
> -                                               GITS_TYPER_IDBITS_SHIFT) + 1)
> +#define GITS_TYPER_EVENT_ID_BITS(r)     ((((r) & GITS_TYPER_IDBITS_MASK) >> \
> +                                                 GITS_TYPER_IDBITS_SHIFT) + 1)
>  
>  #define GITS_TYPER_ITT_SIZE_SHIFT       4
>  #define GITS_TYPER_ITT_SIZE_MASK        (0xfUL << GITS_TYPER_ITT_SIZE_SHIFT)
> @@ -75,7 +75,7 @@
>  #define GITS_BASER_TYPE_RESERVED7       7UL
>  #define GITS_BASER_ENTRY_SIZE_SHIFT     48
>  #define GITS_BASER_ENTRY_SIZE(reg)                                       \
> -                        (((reg >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
> +                        ((((reg) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
>  #define GITS_BASER_SHAREABILITY_SHIFT   10
>  #define GITS_BASER_PAGE_SIZE_SHIFT      8
>  #define GITS_BASER_SIZE_MASK            0xff
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:15:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:15:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390490.627966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAGT-0007D7-7H; Fri, 19 Aug 2022 22:14:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390490.627966; Fri, 19 Aug 2022 22:14:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAGT-0007D0-3r; Fri, 19 Aug 2022 22:14:53 +0000
Received: by outflank-mailman (input) for mailman id 390490;
 Fri, 19 Aug 2022 22:14:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAGR-0007Co-9A
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:14:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56c25304-200c-11ed-bd2e-47488cf2e6aa;
 Sat, 20 Aug 2022 00:14:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 33A27617AE;
 Fri, 19 Aug 2022 22:14:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6F3C1C433D6;
 Fri, 19 Aug 2022 22:14:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56c25304-200c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660947287;
	bh=LGP/OmUQL/2Ti3NEExt5i/HkoNPzQjIJuZC2aCPBmTU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MXlx4LkObua5dTL3w9jTrJQv/ZL+CctnYNz+H5nTnmcQYMUwI81hDtGDRs/eYsusC
	 wabSb+dPpZX/6Vsy8kRJZ8w3luHXBzyeq5TuDa4HAz1CBBOB9at7J9BlhGcFvQx4Yp
	 snr15RnlhRSIEJRRLdFzEcoTZUAo0l0wPDFRfwcF4xqb0Fl5WH/RnpHsNwj6/EE8li
	 JFFvUQHF07mLpqg3PJ+y79OhFYpguc9Qzf9Lb/aJu/ZPajH9zhkJ0610ZhW+j3UbVR
	 yJWvcjWCF5hik9laQhT3mqNsXVBJ18w4q3wiWCxAhbmkrrs0xbJYEFiVgejcCxcDcI
	 AILwTxAd0bY0g==
Date: Fri, 19 Aug 2022 15:14:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH 2/7] xsm/flask: sidtab: Fix MISRA C 2012 Rule 20.7
 violations
In-Reply-To: <20220819194359.1196539-3-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208191513350.3790@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-3-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Xenia Ragiadakou wrote:
> In macros SIDTAB_HASH(), INIT_SIDTAB_LOCK(), SIDTAB_LOCK() and SIDTAB_UNLOCK(),
> add parentheses around the macro parameter to prevent against unintended
> expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/xsm/flask/ss/sidtab.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/xsm/flask/ss/sidtab.c b/xen/xsm/flask/ss/sidtab.c
> index 74babfac9c..69fc3389b3 100644
> --- a/xen/xsm/flask/ss/sidtab.c
> +++ b/xen/xsm/flask/ss/sidtab.c
> @@ -14,11 +14,11 @@
>  #include "security.h"
>  #include "sidtab.h"
>  
> -#define SIDTAB_HASH(sid) (sid & SIDTAB_HASH_MASK)
> +#define SIDTAB_HASH(sid) ((sid) & SIDTAB_HASH_MASK)
>  
> -#define INIT_SIDTAB_LOCK(s) spin_lock_init(&s->lock)
> -#define SIDTAB_LOCK(s) spin_lock(&s->lock)
> -#define SIDTAB_UNLOCK(s) spin_unlock(&s->lock)
> +#define INIT_SIDTAB_LOCK(s) spin_lock_init(&(s)->lock)
> +#define SIDTAB_LOCK(s) spin_lock(&(s)->lock)
> +#define SIDTAB_UNLOCK(s) spin_unlock(&(s)->lock)
>  
>  int sidtab_init(struct sidtab *s)
>  {
> -- 
> 2.34.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:16:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:16:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390497.627977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAHd-0007r2-LX; Fri, 19 Aug 2022 22:16:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390497.627977; Fri, 19 Aug 2022 22:16:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAHd-0007qv-Ib; Fri, 19 Aug 2022 22:16:05 +0000
Received: by outflank-mailman (input) for mailman id 390497;
 Fri, 19 Aug 2022 22:16:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAHc-0007qn-PK
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:16:04 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83a12924-200c-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 00:16:03 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 57363B8274A;
 Fri, 19 Aug 2022 22:16:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A85EFC433C1;
 Fri, 19 Aug 2022 22:16:01 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83a12924-200c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660947362;
	bh=S24Vv4s4BGIHprYXiH/w+uB48DOEr4keqFRNxiZg/bY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MmeauJ4bSEcCSkVtKqwMyU3zPmHFhqkd4Bot8oDtlixE63HDN8lhJJMsAvxPKWCPl
	 C7jd0h0Uqn4IJGfvdAAN9+lAn6Fv9QPDX+rtal/79nI6Br5F1nLv/NP9WIg/vIfNZ4
	 bRb/DAGSLbdZh4O72WVK0G41PbYkcwWKMmHNy8U8//DEe8GuLAiPXxJTDxkgE2wRcq
	 pO9zhmI9tRrN0SEvqNkVWrZSBoSq/zoceYK3U6lg6bptjUiFUagflky23C6Zhwwfv7
	 kQB48OFLRa0dTVYDedBsa822EMCVRjOi1KrXexpTACE4/G+7yiZY05NVOqDLnQHO6p
	 qE64YtoJbBkmg==
Date: Fri, 19 Aug 2022 15:16:01 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH 3/7] xen/elf: Fix MISRA C 2012 Rule 20.7 violations
In-Reply-To: <20220819194359.1196539-4-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208191515210.3790@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-4-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Xenia Ragiadakou wrote:
> In macros ELF32_ST_TYPE() and ELF64_ST_TYPE(), add parentheses around the
> macro parameter to prevent against unintended expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/include/xen/elfstructs.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/include/xen/elfstructs.h b/xen/include/xen/elfstructs.h
> index 616ebf9269..0a7c558a80 100644
> --- a/xen/include/xen/elfstructs.h
> +++ b/xen/include/xen/elfstructs.h
> @@ -305,11 +305,11 @@ typedef struct {
>  
>  /* Extract symbol info - st_info */
>  #define ELF32_ST_BIND(x)	((x) >> 4)
> -#define ELF32_ST_TYPE(x)	(((unsigned int) x) & 0xf)
> +#define ELF32_ST_TYPE(x)	(((unsigned int) (x)) & 0xf)
>  #define ELF32_ST_INFO(b,t)	(((b) << 4) + ((t) & 0xf))
>  
>  #define ELF64_ST_BIND(x)	((x) >> 4)
> -#define ELF64_ST_TYPE(x)	(((unsigned int) x) & 0xf)
> +#define ELF64_ST_TYPE(x)	(((unsigned int) (x)) & 0xf)
>  #define ELF64_ST_INFO(b,t)	(((b) << 4) + ((t) & 0xf))
>  
>  /* Symbol Binding - ELF32_ST_BIND - st_info */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:16:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:16:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390503.627988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAIL-0008QH-UZ; Fri, 19 Aug 2022 22:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390503.627988; Fri, 19 Aug 2022 22:16:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAIL-0008QA-Rl; Fri, 19 Aug 2022 22:16:49 +0000
Received: by outflank-mailman (input) for mailman id 390503;
 Fri, 19 Aug 2022 22:16:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAIL-0007qn-2Z
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:16:49 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9db0712e-200c-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 00:16:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4B39F617AD;
 Fri, 19 Aug 2022 22:16:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C2F28C433C1;
 Fri, 19 Aug 2022 22:16:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9db0712e-200c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660947407;
	bh=eqkMh2orCp/UA2eOqvApA1AAnsIjGkgE5XPmBgJkEWY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qHtedCIm9fkifdRoipflqgC74UifvTVkAdeh8Ilgnn0lAXm/VVOUzq5ZOHZKghhR4
	 e35Q9vmwSsB21ONTfYBmfUtaKGdAx+/T36tXFq6ebNNKeYdFhwx0K+RfszMWuUA6WY
	 YBwTuxzyA7a4XR0ICU+9hXvWumoQmg7ibEafi0X1sD8DNkOojR7YZtGPljrmIGaBO+
	 WxtFERlyrWR1Ysa1mR1jI2RRGEr73A/C92HMp3ygnliCw6g0xi2hbNzEYjGco2//FD
	 Sr+rOzzZDje9PPk4ZPbxXMSRADY0gZ8uChNgYAQhLFKwe3Q6qielhky6U4MusNqHv0
	 Q5h10WUw7eoBA==
Date: Fri, 19 Aug 2022 15:16:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 4/7] xen/vgic: Fix MISRA C 2012 Rule 20.7 violation
In-Reply-To: <20220819194359.1196539-5-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208191516380.3790@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-5-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Xenia Ragiadakou wrote:
> In macro VGIC_V3_LR_INDEX(), add parentheses around the macro parameter
> to prevent against unintended expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/include/asm/new_vgic.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm/new_vgic.h
> index ab57fcd91d..b7fa9ab11a 100644
> --- a/xen/arch/arm/include/asm/new_vgic.h
> +++ b/xen/arch/arm/include/asm/new_vgic.h
> @@ -43,7 +43,7 @@ enum vgic_type {
>  
>  #define VGIC_V2_MAX_LRS         (1 << 6)
>  #define VGIC_V3_MAX_LRS         16
> -#define VGIC_V3_LR_INDEX(lr)    (VGIC_V3_MAX_LRS - 1 - lr)
> +#define VGIC_V3_LR_INDEX(lr)    (VGIC_V3_MAX_LRS - 1 - (lr))
>  
>  #define VGIC_CONFIG_EDGE        false
>  #define VGIC_CONFIG_LEVEL       true
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:17:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:17:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390509.627999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAJF-0000aC-8F; Fri, 19 Aug 2022 22:17:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390509.627999; Fri, 19 Aug 2022 22:17:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAJF-0000a5-5B; Fri, 19 Aug 2022 22:17:45 +0000
Received: by outflank-mailman (input) for mailman id 390509;
 Fri, 19 Aug 2022 22:17:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAJD-0000Zx-Nd
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:17:43 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be469ebc-200c-11ed-bd2e-47488cf2e6aa;
 Sat, 20 Aug 2022 00:17:42 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id CFF57B8274A;
 Fri, 19 Aug 2022 22:17:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 145ACC433B5;
 Fri, 19 Aug 2022 22:17:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be469ebc-200c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660947460;
	bh=fmSPVZHONzk8qI1uSSNU1VUFzBfoRADjbZ9+Eb9zolk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WqugRxzA1hgGkoDKxw1rz71cN73iVPmqJmqmebSZwHHbk9yLKPJnh1FGhOZSbzj0Q
	 4xEmiR5Jp8z3UnuJA7h8n2Pzpc0EfXqhK6DsTKSOSY6Jkqd5/ACL3AeS6scA/sSsiE
	 qtCfGc8ffBoOV2Yr9WdN2bTMZyxcyYdV/+dkB+7OoI41ZtETWf32uN3xZwtWWwOIQK
	 zZ3YYkvXVUFOHE83vkFcPwnY9Uysup9JMb2PTEQKUZXkQuykqjTyYfYxKjHZE3fJOC
	 a9Y6EVCb3jCn327BA3YHbElOXGyD7RnmLNx1sK4FlgJSNBWAB5buISQil2EymToNKp
	 GR836g7QVl1Ug==
Date: Fri, 19 Aug 2022 15:17:39 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH 5/7] xen/rbtree: Fix MISRA C 2012 Rule 20.7 violation
In-Reply-To: <20220819194359.1196539-6-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208191517230.3790@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-6-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Xenia Ragiadakou wrote:
> In macro __rb_parent(), add parentheses around the macro parameter to prevent
> against unintended expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/lib/rbtree.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/lib/rbtree.c b/xen/lib/rbtree.c
> index 85a4f20313..eb418baabb 100644
> --- a/xen/lib/rbtree.c
> +++ b/xen/lib/rbtree.c
> @@ -46,7 +46,7 @@
>  #define		RB_RED		0
>  #define		RB_BLACK	1
>  
> -#define __rb_parent(pc)    ((struct rb_node *)(pc & ~3))
> +#define __rb_parent(pc)    ((struct rb_node *)((pc) & ~3))
>  
>  #define __rb_color(pc)     ((pc) & 1)
>  #define __rb_is_black(pc)  __rb_color(pc)
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:18:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:18:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390513.628010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAKA-0001C2-Gi; Fri, 19 Aug 2022 22:18:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390513.628010; Fri, 19 Aug 2022 22:18:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAKA-0001Bv-DV; Fri, 19 Aug 2022 22:18:42 +0000
Received: by outflank-mailman (input) for mailman id 390513;
 Fri, 19 Aug 2022 22:18:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAK9-0001Bn-9z
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:18:41 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0713810-200c-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 00:18:40 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 42A35617D0;
 Fri, 19 Aug 2022 22:18:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C2CBC433B5;
 Fri, 19 Aug 2022 22:18:37 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0713810-200c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660947517;
	bh=giFTNBRCN8N0RwSfhwcMP/DCeImi1X46c2STxFkwiTM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=VxoT9hwTRsGscfpQJkvd++QvtOl+Th9yCkYUQvmr440/uPEkd1Bh9WSX2yxn6iWEP
	 MRLVNiTwQSQykc3kcd3CgQwWuFApGzXvCyIzemOpr9Wls+io2q5VWuLg1CZo9O6v9b
	 jYrH2qiL72z5+jCy0Dc70AckTHN2xMbA98uFJyanv7z8IBck9psGSZolQTV/Q+DmHL
	 PgwdB0PdKn6Ash1fy/dhH6F45SeubN1+LJsSG8yQKOoiFrYz95vSLSd1fAdnoZrdTr
	 wTK4ljaXwaXsbJ0yEmDN1MejvgrJPsP6XbGiAu2xrBHsRHeI1Iz2Q3peYvnrym96UF
	 bm3p9IAYCODog==
Date: Fri, 19 Aug 2022 15:18:36 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 6/7] xen/arm: processor: Fix MISRA C 2012 Rule 20.7
 violations
In-Reply-To: <20220819194359.1196539-7-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208191517520.3790@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-7-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Xenia Ragiadakou wrote:
> In macros MPIDR_LEVEL_SHIFT() and MPIDR_AFFINITY_LEVEL(), add parentheses
> around the macro parameters 'level' and 'mpidr', respectively, to prevent
> against unintended expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/include/asm/processor.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
> index 55f56b33bc..1dd81d7d52 100644
> --- a/xen/arch/arm/include/asm/processor.h
> +++ b/xen/arch/arm/include/asm/processor.h
> @@ -127,10 +127,10 @@
>  #define MPIDR_LEVEL_MASK        ((1 << MPIDR_LEVEL_BITS) - 1)
>  
>  #define MPIDR_LEVEL_SHIFT(level) \
> -         (((1 << level) >> 1) << MPIDR_LEVEL_BITS_SHIFT)
> +         (((1 << (level)) >> 1) << MPIDR_LEVEL_BITS_SHIFT)
>  
>  #define MPIDR_AFFINITY_LEVEL(mpidr, level) \
> -         ((mpidr >> MPIDR_LEVEL_SHIFT(level)) & MPIDR_LEVEL_MASK)
> +         (((mpidr) >> MPIDR_LEVEL_SHIFT(level)) & MPIDR_LEVEL_MASK)
>  
>  #define AFFINITY_MASK(level)    ~((_AC(0x1,UL) << MPIDR_LEVEL_SHIFT(level)) - 1)
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:20:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:20:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390521.628020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAM6-0002dB-Re; Fri, 19 Aug 2022 22:20:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390521.628020; Fri, 19 Aug 2022 22:20:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAM6-0002d4-Oi; Fri, 19 Aug 2022 22:20:42 +0000
Received: by outflank-mailman (input) for mailman id 390521;
 Fri, 19 Aug 2022 22:20:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAM4-0002cu-Rf
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:20:40 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27b5e906-200d-11ed-bd2e-47488cf2e6aa;
 Sat, 20 Aug 2022 00:20:39 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id AAD1D617A8;
 Fri, 19 Aug 2022 22:20:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D14CAC433B5;
 Fri, 19 Aug 2022 22:20:37 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27b5e906-200d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660947638;
	bh=oN5/OXkTIuNMXy07I8nXi0x7huXUNwDLSBvqF4ZXMUw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=UfoaNufM7s+Z0aCKGW7IS5p1bA4RmMU2jyMPgzFem7nt3YuMApsATlGBxnIBLKZy0
	 L9ai9UDcsSSpcezjXPK1g0+1VlRyCrdm1GQbsBb9uL9SgGh2SNR97en2ltLt7Q5jim
	 Zxuu4i4YlHycdSHUbpTgmHkmzWIJMw1RdoJ25VSJqa+y/z1MCsB7VNZKrEpZ0VZFiC
	 zSsmTSlGuAmF/wvYpLVLxreepaXk1S/hZP73gR4iyo4F88pGl7jcoOB/mXgIty3VS4
	 IVqhLpSFQE7HYA3BfgNK3S3MusiuM5DNagP7E+nVZX98i7pFn5f8zUDR9MXP2o2C9z
	 IkmDcLIU3iyzQ==
Date: Fri, 19 Aug 2022 15:20:37 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
In-Reply-To: <20220819194359.1196539-8-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208191519320.3790@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-8-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Xenia Ragiadakou wrote:
> In macros dt_for_each_property_node(), dt_for_each_device_node() and
> dt_for_each_child_node(), add parentheses around the macro parameters that
> have the arrow operator applied, to prevent against unintended expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/include/xen/device_tree.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> index 430a1ef445..6e4391c126 100644
> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -222,13 +222,13 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
>  #define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
>  
>  #define dt_for_each_property_node(dn, pp)                   \
> -    for ( pp = dn->properties; pp != NULL; pp = pp->next )
> +    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )
>  
>  #define dt_for_each_device_node(dt, dn)                     \
> -    for ( dn = dt; dn != NULL; dn = dn->allnext )
> +    for ( dn = dt; dn != NULL; dn = (dn)->allnext )
>  
>  #define dt_for_each_child_node(dt, dn)                      \
> -    for ( dn = dt->child; dn != NULL; dn = dn->sibling )
> +    for ( dn = (dt)->child; dn != NULL; dn = (dn)->sibling )
>  
>  /* Helper to read a big number; size is in cells (not bytes) */
>  static inline u64 dt_read_number(const __be32 *cell, int size)
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:24:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390527.628032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAQ7-0003GO-By; Fri, 19 Aug 2022 22:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390527.628032; Fri, 19 Aug 2022 22:24:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAQ7-0003GH-8H; Fri, 19 Aug 2022 22:24:51 +0000
Received: by outflank-mailman (input) for mailman id 390527;
 Fri, 19 Aug 2022 22:24:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAQ6-0003GB-E0
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:24:50 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbcddaeb-200d-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 00:24:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 9EF4BCE272C;
 Fri, 19 Aug 2022 22:24:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7A5C4C433C1;
 Fri, 19 Aug 2022 22:24:44 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbcddaeb-200d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660947885;
	bh=1pExlr3/CUUTkws63WtVt3rc7lFbr5e5Mw3m4hXqvAg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LbQ2lEND8+Cs22UirQbfSE/PN7dij/XrZyjV4nGZKBkzcy2ZQ/wMXnBuyO/wDPrF+
	 MNFH6LGISjhYxZ2EOHNou98ygLfrWFZ+jh/TN9sakzicxpOqW2d1YlJ0zvBa/wwT3s
	 dUr2SCphUDCMQR1K2peBbHf5S19tiXx62NLpxzojOXf8qLMVF6gb+zR/5gMpGgxBCm
	 3ZYqz8B0l099A6TBuCEuqC/MJGZPRDdUf+FMExkjJgs/JPPtNGysazFNPZArxgI/e5
	 mD2YswwJYxfuPOXpfDkmq9n2XnMlJE1eH5JrXybE/rkjBNMa4KTu+IzlZc/PrKZiMj
	 orOWEljUh2B2A==
Date: Fri, 19 Aug 2022 15:24:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, wl@xen.org, 
    jbeulich@suse.com, george.dunlap@citrix.com, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
Subject: Re: [PATCH v2 1/3] Add SPDX to CODING_STYLE
In-Reply-To: <fb2e6b9d-8ffc-a7f2-8411-3751dc8d4022@xen.org>
Message-ID: <alpine.DEB.2.22.394.2208191522310.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop> <20220818220320.2538705-1-stefano.stabellini@amd.com> <fb2e6b9d-8ffc-a7f2-8411-3751dc8d4022@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Julien Grall wrote:
> Hi Stefano,
> 
> On 18/08/2022 23:03, Stefano Stabellini wrote:
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> >   CODING_STYLE | 10 ++++++++++
> >   1 file changed, 10 insertions(+)
> > 
> > diff --git a/CODING_STYLE b/CODING_STYLE
> > index 3386ee1d90..5faf274b3a 100644
> > --- a/CODING_STYLE
> > +++ b/CODING_STYLE
> > @@ -14,6 +14,16 @@ explicitly (e.g. tools/libxl/CODING_STYLE) but often
> > implicitly (Linux
> >   coding style is fairly common). In general you should copy the style
> >   of the surrounding code. If you are unsure please ask.
> >   +SPDX
> > +----
> > +
> > +New files should start with a single-line SPDX comment to express the
> > +license, e.g.:
> > +
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +
> > +See LICENSES/ for a list of licenses and SPDX tags currently used.
> > +
> 
> A user reading CODING_STYLE and CONTRIBUTING may think they need to also add
> the full license (see the section "COMMON COPYRIGHT NOTICES").
> 
> So as we are going to promote SPDX, we should update CONTRIBUTING to reflect
> that the full license should not be present copied.

Yes good idea. Should I just remove the entire "COMMON COPYRIGHT
NOTICES" section? With SPDX there is really no value in having
sample copyright notices, I think I should take it all out.


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:27:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390533.628042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAT3-0003r4-QK; Fri, 19 Aug 2022 22:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390533.628042; Fri, 19 Aug 2022 22:27:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAT3-0003qx-Nm; Fri, 19 Aug 2022 22:27:53 +0000
Received: by outflank-mailman (input) for mailman id 390533;
 Fri, 19 Aug 2022 22:27:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAT2-0003qr-Td
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:27:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 293c86c1-200e-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 00:27:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id CB6D8617DA;
 Fri, 19 Aug 2022 22:27:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A70D9C433D7;
 Fri, 19 Aug 2022 22:27:49 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 293c86c1-200e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660948070;
	bh=hZ/CNVEbUOfa2NhBtfpZPdbq+UKJtJN7sL8OPH7yINA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nD4rFsAbXNNeI1S3A8EEFtc2OXHQBDZvzAn+M9Tp1+NuKMqM+IxbJJSw0mRV69ZT8
	 mvKTpaSLmUFddzqcQKbEZexy2ojvoHnlIwgXDrTKpRwHvxmNdRFp9IGeFcGncVWkNs
	 vvgZvWVs2A8AJzK7RUJ17ZKVwi5sk/e1bpIwQSwWsJcCu1otJAD3gSh4xZFB5am4oC
	 KxdY76cLwth4cLiqSdVX26zEUK4vBWu7Mr+3hbg8NC+PeeQmJyGNjT6ORugufyVpC+
	 yGKkbddaCqzUiSeCD6QIYAtQz/+Sqtedfg189Rm/6Z/E/QL+JC5U00AqYw5LJ14jRQ
	 bht9d2fYIyqEg==
Date: Fri, 19 Aug 2022 15:27:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, wl@xen.org, 
    jbeulich@suse.com, george.dunlap@citrix.com, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
Subject: Re: [PATCH v2 2/3] Add licenses under LICENSES
In-Reply-To: <835a1093-1280-1442-9e11-f9f5bbf9f635@xen.org>
Message-ID: <alpine.DEB.2.22.394.2208191524590.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop> <20220818220320.2538705-2-stefano.stabellini@amd.com> <835a1093-1280-1442-9e11-f9f5bbf9f635@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Julien Grall wrote:
> Hi Stefano,
> 
> On 18/08/2022 23:03, Stefano Stabellini wrote:
> > Add the individual licenses under a new top-level directory named
> > "LICENSES". Each license file includes its related SPDX tags.
> 
> We already have a copy of the licenses in COPYING/CONTRIBUTING. I don't
> particularly mind where you want to keep the licenses but I don't want them
> duplicated.

Yes I think it makes sense to remove as part of this series:
- the "COMMON COPYRIGHT NOTICES" section from CONTRIBUTING
- the full copy of the GPL at the bottom of COPYING

Let me know if you think I am missing anything.


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 22:53:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 22:53:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390539.628054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAs7-0007BF-Sv; Fri, 19 Aug 2022 22:53:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390539.628054; Fri, 19 Aug 2022 22:53:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPAs7-0007B8-QH; Fri, 19 Aug 2022 22:53:47 +0000
Received: by outflank-mailman (input) for mailman id 390539;
 Fri, 19 Aug 2022 22:53:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c1Kg=YX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oPAs6-0007Az-HW
 for xen-devel@lists.xenproject.org; Fri, 19 Aug 2022 22:53:46 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6de22c0-2011-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 00:53:45 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C33256182A;
 Fri, 19 Aug 2022 22:53:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A4E32C433D6;
 Fri, 19 Aug 2022 22:53:42 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6de22c0-2011-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1660949623;
	bh=IX9iTtH6CdRCNsZvbtch/A3HX3p7VZ2urzrnqYdaneE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Zkyp25MBnqdFDp53s4r+j3FlXXbkf4qP+rTl694ZbNu52LBXU4Y2ypNJa+Ucey/y4
	 uiEW7jZVwzAE6XydQsxF1i4VCOYk81wEcu5f8guV7PoBTQ4s6x7akl/uQ7GhZ01OJn
	 OYV7mustykpqpy2ORZO2asAqophzttqSd7R6RGajr/ejjH/rfc+LnaZo4HEW7DKsZj
	 VqX2q0Wx2Kx6Qn+EnGLndWn4u9S1es7bH8fo2iMhWLXLWzQcYSfGagvUDlzDO/3Jki
	 2pXVTimjlDttsNZEecEc+m9KiwFwrg4N+yYqu4adhGtbPLnBX/LzqQUllVkSKXBmXA
	 Gi8xiv/akB4fw==
Date: Fri, 19 Aug 2022 15:53:42 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, wl@xen.org, 
    jbeulich@suse.com, george.dunlap@citrix.com, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
Subject: Re: [PATCH v2 3/3] add SPDX to arch/arm/*.c
In-Reply-To: <61b01c8b-1f98-e559-f971-f081a25e0b93@xen.org>
Message-ID: <alpine.DEB.2.22.394.2208191528050.3790@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop> <20220818220320.2538705-3-stefano.stabellini@amd.com> <61b01c8b-1f98-e559-f971-f081a25e0b93@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Julien Grall wrote:
> On 18/08/2022 23:03, Stefano Stabellini wrote:
> > Add SPDX license information to all the *.c files under arch/arm.
> 
> There are some of the files below that didn't have copyright. It would be
> worth explaining in the commit message which license you selected and how.
> AFAICT you assumed they were GPLv2 but I am not sure this is correct at least
> one of them.

My goal is not to change the existing license on any of the files, even
if the existing license is imprecise. By what is written under COPYING,
everything not explicitly listed is GPL-2.0. I only reflected today's
reality. I think it is best if we keep mechanical changes separate from
"smart" changes, especially on a series like this introducing many
mechanical changes.  More on this at the bottom.


> [...]
> 
> > diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> > index f5f6562600..2537dbebc1 100644
> > --- a/xen/arch/arm/decode.c
> > +++ b/xen/arch/arm/decode.c
> > @@ -1,3 +1,4 @@
> > +/* SPDX-License-Identifier: GPL-2.0-or-later */
> 
> This license is not part of LICENSES. Was it intended?

It is: the tag is described as part of LICENSES/GPL-2.0.


> If yes, this should be mentioned in one of the commit message (possible patch
> #2) and maybe in CONTRIBUTING (to tell user to not use it for new files)
> because one could expect all the LICENSES to be listed.

It could make sense to say that:

/* SPDX-License-Identifier: GPL-2.0 */

is recommended for new files.


> >   /*
> >    * xen/arch/arm/decode.c
> >    *
> > @@ -5,16 +6,6 @@
> >    *
> >    * Julien Grall <julien.grall@linaro.org>
> >    * Copyright (C) 2013 Linaro Limited.
> > - *
> > - * This program is free software; you can redistribute it and/or modify
> > - * it under the terms of the GNU General Public License as published by
> > - * the Free Software Foundation; either version 2 of the License, or
> > - * (at your option) any later version.
> > - *
> > - * This program is distributed in the hope that it will be useful,
> > - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > - * GNU General Public License for more details.
> >    */
> >     #include <xen/guest_access.h>
> 
> [...]
> 
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 3fd1186b53..b29bdf3aa6 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -1,3 +1,4 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> 
> AFAIU, the assumption is all the files with no copyright are GPLv2. That works
> here. But ...
> 
> >   #include <xen/init.h>
> >   #include <xen/compile.h>
> >   #include <xen/lib.h>
> > diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
> > index 71182575f9..47405e0866 100644
> > --- a/xen/arch/arm/domain_page.c
> > +++ b/xen/arch/arm/domain_page.c
> > @@ -1,3 +1,4 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> 
> .... this file was split from mm.c which is gpl-2.0-or-later. So I don't think
> we can use GPL-2.0 here.

Well spotted! Effectively this file is now declared as GPL 2.0 only,
given what is stated in COPYING. The code in domain_page has lost "or
later" with the loss of the copyright header.

So if there were new contributions to this file after its creation, they
would have been GPL-2.0 only contributions, and it would have been
impossible to go back to GPL-2.0-or-later without asking the copyright
owners of the new changes.

In this case thankfully there are no new contributions since the split
of the file, so I can fix it by using the SPDX GPL-2.0-or-later tag
without problems. I'll do it in the next version of the series.

Xen is not saying: "if there is no copyright header it might be GPLv2
but you need to look it up". Xen is actively saying: "if there is no
copyright header it is GPLv2". Not up for discussion. Given that as a
whole Xen is GPLv2, the only possibility is that the file without a
copyright header used to be:
- GPLv2 or later
- dual license GPL and another compatible license (e.g. BSD)

Either way, with the loss of the copyright header, the file becomes
immediately GPLv2 only.

Does it make sense?

This is why I think it is best to keep copyright discussions out of the
SPDX patches review and limit ourselves to mechanical changes.


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 23:03:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 23:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390546.628065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPB1L-0000Ok-Tw; Fri, 19 Aug 2022 23:03:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390546.628065; Fri, 19 Aug 2022 23:03:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPB1L-0000Od-RE; Fri, 19 Aug 2022 23:03:19 +0000
Received: by outflank-mailman (input) for mailman id 390546;
 Fri, 19 Aug 2022 23:03:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPB1J-0000O9-RA; Fri, 19 Aug 2022 23:03:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPB1J-0003EO-N8; Fri, 19 Aug 2022 23:03:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPB1J-0000pq-8M; Fri, 19 Aug 2022 23:03:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPB1J-0001hK-7Z; Fri, 19 Aug 2022 23:03:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JGbQUN46E7+dbjuozNagQkEO/N1eCoDm69olpSY035g=; b=IvphDy8tYs0IGUGI+nIABU6oTM
	/IwMUKk6V4ZH98ifrLWJXE8DL57g6kQu+Ev11jA8H17tO+Vv+Eam1PryNNWgr4CWJ8J/9VvMTBNrB
	CEkWMua19l/3yRCxJNkok+ei18xbePOaiBA9E4kVN+WLua9RwBd+wDfBYVnOZYqo5DvA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172652-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172652: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
X-Osstest-Versions-That:
    xen=6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 23:03:17 +0000

flight 172652 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172652/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172641
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a
baseline version:
 xen                  6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3

Last test of basis   172641  2022-08-19 08:00:28 Z    0 days
Testing same since   172652  2022-08-19 20:01:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  George Dunlap <george.dunlap@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6c0a14d324..f6cd15188e  f6cd15188e097de1eb04855eb790a5f51c3ad71a -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 19 23:53:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Aug 2022 23:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390595.628075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPBn6-0005iK-J6; Fri, 19 Aug 2022 23:52:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390595.628075; Fri, 19 Aug 2022 23:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPBn6-0005iD-Fh; Fri, 19 Aug 2022 23:52:40 +0000
Received: by outflank-mailman (input) for mailman id 390595;
 Fri, 19 Aug 2022 23:52:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPBn4-0005i3-Bu; Fri, 19 Aug 2022 23:52:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPBn4-00043t-9Z; Fri, 19 Aug 2022 23:52:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPBn3-0003QV-V1; Fri, 19 Aug 2022 23:52:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPBn3-0001CQ-UZ; Fri, 19 Aug 2022 23:52:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Z5Y8GyqVGK1/34Fs20Z0TxRB6iD38vnLGm+bQBfdJx8=; b=e4XuqSUBB9iWrpMHJOxYRYCVIu
	vnjtUTZD0LIpG/UxIPAv0/DBWuB7XpwJ+AjsZCsDBdpPLh0b+B7e4CvnyVdhz8IHWea1xY4rcH7QT
	jV8aLfFLXxh/BUOgyb5DJ1TGM1lYxA+X7pcGQlBvTcwexAJ2GD8hnJ7wm8KADey+k0G0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172651-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172651: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Aug 2022 23:52:37 +0000

flight 172651 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172651/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   15 days
Failing since        172151  2022-08-05 02:40:28 Z   14 days  127 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 00:13:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 00:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390603.628086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPC6i-0000Ld-7Q; Sat, 20 Aug 2022 00:12:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390603.628086; Sat, 20 Aug 2022 00:12:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPC6i-0000LW-4c; Sat, 20 Aug 2022 00:12:56 +0000
Received: by outflank-mailman (input) for mailman id 390603;
 Sat, 20 Aug 2022 00:12:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPC6g-0000LM-0u; Sat, 20 Aug 2022 00:12:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPC6f-00052u-TE; Sat, 20 Aug 2022 00:12:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPC6f-0003z2-AJ; Sat, 20 Aug 2022 00:12:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPC6f-0000Vv-9q; Sat, 20 Aug 2022 00:12:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bp3myHxDQIUq5OE8ufSQBHPXlpHl3ixEEUaPHx0jSIs=; b=2ZOVuSL0LMLXiyVxobi92MsZsK
	1uer206+Aus4MY97mK4IIcuAtX2dAJjZRiqhNjtFcvwa7CkP6HCHLHDPjbR1xEqWs0ORYtAQmwSOd
	pwWRREEfLqBuqArel0QMdzRD67Tzmj99rVtOrLnrVugyI6RIN90BjXXD4AMv8WQjW480=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172640-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172640: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4c2d0b039c5cc0112206a5b22431b577cb1c57ad
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 00:12:53 +0000

flight 172640 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172640/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                4c2d0b039c5cc0112206a5b22431b577cb1c57ad
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   15 days
Failing since        172152  2022-08-05 04:01:26 Z   14 days   35 attempts
Testing same since   172640  2022-08-19 07:42:50 Z    0 days    1 attempts

------------------------------------------------------------
1424 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 148464 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 02:43:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 02:43:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390611.628098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPES1-0005Mp-1a; Sat, 20 Aug 2022 02:43:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390611.628098; Sat, 20 Aug 2022 02:43:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPES0-0005MC-Qi; Sat, 20 Aug 2022 02:43:04 +0000
Received: by outflank-mailman (input) for mailman id 390611;
 Sat, 20 Aug 2022 02:43:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPERz-0005Kj-JX; Sat, 20 Aug 2022 02:43:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPERz-0006MU-Fd; Sat, 20 Aug 2022 02:43:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPERy-0000qe-Sx; Sat, 20 Aug 2022 02:43:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPERy-0004fX-SJ; Sat, 20 Aug 2022 02:43:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ilhM3ed2yOwuCSwNnouq3H1JwBh+8cuPptffA8pvsFA=; b=dwqqGbsST3HDVSmF3qRSlCY83B
	zVMdWFPK2yM3qyVvL3K3gorRd6z2DyW02mQw8pUBNDS30r7jcn79uld4URHepJvc+7Y5s9G6HaQWf
	8czf8l4c9GSq93XSbeSPGIhF1jOss4KAMKWSO6kr9DhFtnDPyHGXFFtABnEuIRNiDKEw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172653-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172653: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 02:43:02 +0000

flight 172653 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172653/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   15 days
Failing since        172151  2022-08-05 02:40:28 Z   15 days  128 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 03:27:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 03:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390628.628109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPF8e-0001SD-E7; Sat, 20 Aug 2022 03:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390628.628109; Sat, 20 Aug 2022 03:27:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPF8e-0001S6-AZ; Sat, 20 Aug 2022 03:27:08 +0000
Received: by outflank-mailman (input) for mailman id 390628;
 Sat, 20 Aug 2022 03:27:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPF8d-0001Rw-Ly; Sat, 20 Aug 2022 03:27:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPF8d-00078n-In; Sat, 20 Aug 2022 03:27:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPF8d-0003SD-2I; Sat, 20 Aug 2022 03:27:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPF8d-0006c7-1m; Sat, 20 Aug 2022 03:27:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QZwqqSDxtgEspnAS1cMgyKU5A5cKZnlxqZYX74QCjUw=; b=v1trDCM95LaSfXZCaFLUwGyyTS
	z8kF50yvVMld2HvdLhghPnG/R1HYsjcD0kUFDjEisdGYjsbkDgPd3KfOzdzB+7a/E+MhxGXCnBW7f
	HqPj8ChrG1hcBXkN4yPIAPbRW1dSuD9zY0MEIQNhMutF7CdjC4mVI6KNTUqDpQr2fjjU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172645-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172645: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3
X-Osstest-Versions-That:
    xen=6c987150cf71976b5dd16b5f736dd5b0c6f6aee8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 03:27:07 +0000

flight 172645 xen-unstable real [real]
flight 172655 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172645/
http://logs.test-lab.xenproject.org/osstest/logs/172655/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-seattle   8 xen-boot            fail pass in 172655-retest
 test-amd64-i386-pair        11 xen-install/dst_host fail pass in 172655-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 172655 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 172655 never pass
 build-amd64-libvirt           6 libvirt-build                fail  like 172632
 build-i386-libvirt            6 libvirt-build                fail  like 172632
 build-arm64-libvirt           6 libvirt-build                fail  like 172632
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172632
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172632
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172632
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172632
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172632
 build-armhf-libvirt           6 libvirt-build                fail  like 172632
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172632
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172632
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172632
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172632
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3
baseline version:
 xen                  6c987150cf71976b5dd16b5f736dd5b0c6f6aee8

Last test of basis   172632  2022-08-18 22:09:37 Z    1 days
Testing same since   172645  2022-08-19 12:23:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6c987150cf..6c0a14d324  6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3 -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 03:50:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 03:50:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390638.628127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPFUP-00049D-A7; Sat, 20 Aug 2022 03:49:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390638.628127; Sat, 20 Aug 2022 03:49:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPFUP-000496-78; Sat, 20 Aug 2022 03:49:37 +0000
Received: by outflank-mailman (input) for mailman id 390638;
 Sat, 20 Aug 2022 03:49:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFUO-00048w-5y; Sat, 20 Aug 2022 03:49:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFUO-0007Vv-2r; Sat, 20 Aug 2022 03:49:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFUN-0004VI-Mp; Sat, 20 Aug 2022 03:49:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFUN-0005Oy-ML; Sat, 20 Aug 2022 03:49:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2aZmrjgjIBp/fcfVhllmKxEJ98VDfZqviMbrgALCLk8=; b=hbzG/zmBxMcYsJbwKXVax/vrmy
	yDzic+bAYzCaYZD2sN8Ld3FzOVk+Gqpz66GfFj5V5pfiaod4oOKJD3RYAxeN0bQafrPy2NsRfXUmC
	pDna4XK3ggEqVwr1qCLDxc0F6AGs+yb2zjpGS63SG+B4jtLKZ6pahPuuSVVjZHU8z1Yw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172649-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172649: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a78241a62b55b202b29f3b190bdca3c3a425e693
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 03:49:35 +0000

flight 172649 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172649/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                a78241a62b55b202b29f3b190bdca3c3a425e693
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   16 days
Failing since        172148  2022-08-04 21:39:38 Z   15 days   36 attempts
Testing same since   172649  2022-08-19 17:38:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2195 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 04:11:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 04:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390648.628142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPFpW-0007be-A8; Sat, 20 Aug 2022 04:11:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390648.628142; Sat, 20 Aug 2022 04:11:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPFpW-0007bX-6N; Sat, 20 Aug 2022 04:11:26 +0000
Received: by outflank-mailman (input) for mailman id 390648;
 Sat, 20 Aug 2022 04:11:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFpU-0007bN-MP; Sat, 20 Aug 2022 04:11:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFpU-0007zq-Jl; Sat, 20 Aug 2022 04:11:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFpU-0005RX-85; Sat, 20 Aug 2022 04:11:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFpU-0006nW-7b; Sat, 20 Aug 2022 04:11:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+Gh/7t2j5zNabbzPwFRpMaDf8DiXNGRYQjUmLQqngWE=; b=5CoPZq8lJWSIM2bckaqLg1S1W/
	6IQdLpIJGEQu7EdRzut5yrD6HigFICR1CLJH1t0UWOG3ijZcRa4fyQope9tdS+aUy8dFI8yez+8Zy
	hk6yrJ7aA8PvMZ3gAHCahZA1P6OcrsvwCdHX4uR2Nrs2te7f7+PvcQvnCr5RpeJQrmro=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172646-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172646: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 04:11:24 +0000

flight 172646 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172646/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   16 days
Testing same since   172384  2022-08-11 11:13:58 Z    8 days   17 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 04:16:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 04:16:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390656.628153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPFuW-0008F7-UU; Sat, 20 Aug 2022 04:16:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390656.628153; Sat, 20 Aug 2022 04:16:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPFuW-0008F0-Qd; Sat, 20 Aug 2022 04:16:36 +0000
Received: by outflank-mailman (input) for mailman id 390656;
 Sat, 20 Aug 2022 04:16:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFuV-0008Eq-8q; Sat, 20 Aug 2022 04:16:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFuV-00084y-5O; Sat, 20 Aug 2022 04:16:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFuU-0005aq-Ss; Sat, 20 Aug 2022 04:16:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPFuU-0001AP-SO; Sat, 20 Aug 2022 04:16:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=teL9etrZ64RnaGd1y4SV/rRs/XfoOqxNcOFk0FYt2g8=; b=qpwzEMq/rjvUv6Zxs5jVOTH1ej
	COKRVVomMJ9j1V/5IKXqY3zojaGrE81PJ3fgb+PJmYhWmDXapU47DVuDXJoJnTVKcAPsUzEmmc1lV
	B1cJfwZNEeXEitoe+qHrbVha0SC6LV+n/ebvLYApmjymwb56m+pu/xCqSihp+5B32xuY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172656-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172656: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 04:16:34 +0000

flight 172656 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172656/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   15 days
Failing since        172151  2022-08-05 02:40:28 Z   15 days  129 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 07:44:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 07:44:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390664.628164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPJ9X-0004BS-OX; Sat, 20 Aug 2022 07:44:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390664.628164; Sat, 20 Aug 2022 07:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPJ9X-0004BL-K6; Sat, 20 Aug 2022 07:44:19 +0000
Received: by outflank-mailman (input) for mailman id 390664;
 Sat, 20 Aug 2022 07:44:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pxPD=YY=oracle.com=dongli.zhang@srs-se1.protection.inumbo.net>)
 id 1oPJ9W-0004BF-59
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 07:44:18 +0000
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com
 [205.220.177.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e18ff116-205b-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 09:44:12 +0200 (CEST)
Received: from pps.filterd (m0246630.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27K74pZl023011;
 Sat, 20 Aug 2022 07:43:03 GMT
Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta02.appoci.oracle.com [147.154.114.232])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3j2tvw0172-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Sat, 20 Aug 2022 07:43:03 +0000
Received: from pps.filterd
 (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 27K1X7lK018717; Sat, 20 Aug 2022 07:43:02 GMT
Received: from nam11-co1-obe.outbound.protection.outlook.com
 (mail-co1nam11lp2174.outbound.protection.outlook.com [104.47.56.174])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3j2p20vejv-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Sat, 20 Aug 2022 07:43:01 +0000
Received: from BYAPR10MB2663.namprd10.prod.outlook.com (2603:10b6:a02:a9::20)
 by DM6PR10MB4187.namprd10.prod.outlook.com (2603:10b6:5:210::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Sat, 20 Aug
 2022 07:42:58 +0000
Received: from BYAPR10MB2663.namprd10.prod.outlook.com
 ([fe80::95ab:eb8e:a0a7:3f0d]) by BYAPR10MB2663.namprd10.prod.outlook.com
 ([fe80::95ab:eb8e:a0a7:3f0d%5]) with mapi id 15.20.5546.016; Sat, 20 Aug 2022
 07:42:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e18ff116-205b-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc :
 subject : date : message-id : content-transfer-encoding : content-type :
 mime-version; s=corp-2022-7-12;
 bh=tin0lQUKUqfs9oonYfKGST3S12W1loLoanQzS9B47Tc=;
 b=g9ZnI3kDW56QX73uhD4O/YTjnc1v+Q8gWY5iusy8kGDQM3gSELSu0NK0QtBNTppGq7n2
 5J1OOq7yZtbcWzRaJWlGB514sqp8f3t9l/ao/431afE0P6w3E7I+2JKOLJHkXh4ECIHn
 pxdLZ8n+SjV0KXt/tsQ3pwXDa+ANW673pDKUVRUjd8/B/DS9MPR4ofJiI0iV1MdUzGiR
 zNm6SFSJHq8aM9Z0udgPJU+IiOCEu8Zr9IRYdLtTodRqnzhMBi+g9R9pF0lYtBp1zKiA
 FACUsVfqcjMp2Mrq0x4bWzKTJZHW35mr2ZfTpS3wlO4ujBwhUTrbUs+dsAyCQes/vJsd 9w== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QClVJNwF5mkvkx/gapXOOcCiA10uZEY5pvolWm1yzA/MahPD2xtGzZq49mpN+wlPuiEvpfgg4lGOiLBaeVwaSM9mpcwAmX26H7demHwExNL9QWOtsJbsbNrkEivbNPLo3QYAt6QkoztbpjEPB6aJALk8SP3dgILso5erx24EjyaghG5kOqvOY8lAkDZxEhDjhXRuF4GBdBns0VONiXh0r4SQ7a5dOkbmA+ZS/emIkv8YptnSv+HbJgJL9FbwHr2+mTaAuC1TnN0ClikAiQ64v2B9azbNHb40Sql/L2gcLru8BYXi2ODV8iglX+4nMKuNNz8tbwI0+ZUYbQw5lhhf3A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tin0lQUKUqfs9oonYfKGST3S12W1loLoanQzS9B47Tc=;
 b=ZctvuHsoPaOFYlDWxhQB9re9SG09DMRViI8b16X1D4P4pdNYDXN13HqFRDwTkp1kb8H3s9VtXx5sn5ogDWDrQsm3Z8mChgo4KxDD0acEYkUrn4hTyQLJnn5BBTSuSjAD4RC2B9zNPrenjPOoMnpG41wSJycsqhFfZSNmQldwWcR/wExSYA18ig+KHB7xiCv9+0CKEGLOPTXaH2j2GMDzpvmtAuRuq3UQldVhV1dqpk0sl8fViuU+WgwK9nDDVgKF1i6fQtkf8acRyLxb1NluL90cUc0H2JISq9XD2klhB8/PlHNnnr/GZko8RSCRkcuDPDZOPuUOeh5cyVbx2m/jOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tin0lQUKUqfs9oonYfKGST3S12W1loLoanQzS9B47Tc=;
 b=uUFkiPfn15LaOtEfY5agNGkoQ3MZ6X6NDudxJWWojLJ5wIytQ3I34Hl6LXJKlMuFaTqlI+76duF4KPcvFTa/hI8xX0Dnl7QagPnp0EmpgvSgig374wocLMdht3dJ/Lf2Je+evU8yEFr3BlB+gKHUicK7OlTjP6NWwfwOIo/unVs=
From: Dongli Zhang <dongli.zhang@oracle.com>
To: iommu@lists.linux.dev, x86@kernel.org, xen-devel@lists.xenproject.org,
        linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hch@infradead.org, sstabellini@kernel.org,
        linux@armlinux.org.uk, tsbogend@alpha.franken.de, jgross@suse.com,
        boris.ostrovsky@oracle.com, tglx@linutronix.de, mingo@redhat.com,
        bp@alien8.de, dave.hansen@linux.intel.com, m.szyprowski@samsung.com,
        konrad.wilk@oracle.com, robin.murphy@arm.com, hpa@zytor.com,
        oleksandr_tyshchenko@epam.com, joe.jin@oracle.com
Subject: [PATCH RFC v2 1/1] wiotlb: split buffer into 32-bit default and 64-bit extra zones
Date: Sat, 20 Aug 2022 00:42:50 -0700
Message-Id: <20220820074250.5460-1-dongli.zhang@oracle.com>
X-Mailer: git-send-email 2.34.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SJ0PR03CA0143.namprd03.prod.outlook.com
 (2603:10b6:a03:33c::28) To BYAPR10MB2663.namprd10.prod.outlook.com
 (2603:10b6:a02:a9::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f28be58b-555d-4aa0-e319-08da827f9a13
X-MS-TrafficTypeDiagnostic: DM6PR10MB4187:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	vbiBYvKZCN7XvX6Co5jks5gr0XIvb9AAn/vnoJXct9SlSVTUZnYLGjmXcTI5SlzdiWv+tIJLmoXbFMEehW6CcAJz7gcaydUXBoNUVNA7J+Biti2GeIvsHVj/uFb8dPnlNTMc8qWdHFJA5E1nH5QOhpfVHl1wTtV2y1pQ7HRy/NPB3jlGO6gECbT/S2qbtyHk+XjwGL1W7lnBxoG3JmafUjtuau3lRT6xrMxx1DHb/i2QNvMCaV+VuMiXTA1XQiC1Www+aBolsVqZz2+9AjRbXB9SwlDUP+cAFg1SxHvHI8XR6vxhk2oXUK8BO4Mn2TuA8zLh1BiZQ7q26nbuyUBQQZLsDepqxUTDsmMYUSTfXGlQx9ySW4L7W59khTNxlGB6Kt9UgdYsNOcH5OFF+QQT3T94WuWdzLlgP3nGL0V4fyELAMpl2h7vz7QsZJynfjYE29+Pcjm2E4oVlpE+rf/aTvfmo9W4lMqWiIO3+6cJF+Dq1wuMwFxmA3FRnHokls57qhXzmqXQY7CpUFTn39nUlRw0eC93UA5LNtel+qCp56JhHb+KC69ppRnt/R1Flevuk0YZGpovYMPagf7uqTmrGP4eFNgWn7gtiGhru8RSv7b5r9/X0BPSZMxUXcoKzoBDi0dbHpVT2f8lnIk6uExxbV74QyfkiklujfZO9DTL3JBiATF+38MvjW73KhIP2r8pbgZqVLadlcw+y0eVInL+AsjR7DDyFBu1wDMMzq4mpzs=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB2663.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(136003)(346002)(396003)(376002)(39860400002)(2616005)(316002)(1076003)(186003)(83380400001)(38100700002)(36756003)(6506007)(66946007)(4326008)(66556008)(966005)(66476007)(8676002)(2906002)(107886003)(6486002)(26005)(86362001)(41300700001)(478600001)(30864003)(6666004)(6512007)(7416002)(44832011)(5660300002)(8936002)(579004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?us-ascii?Q?ePGTHTZ2DDb33IkPnayF13/IJQ4N2dyBTSnoOA616APAETlYXGlyVGWUQuEu?=
 =?us-ascii?Q?TmFRSLVMv4g4oeT/ZGMqDayBS7qzFxKRhSVFSZRBaHH/+eb+PqmsPZJwbVqt?=
 =?us-ascii?Q?uS/YsjupLlJeIC7FnafhnJ+xQgr4dTAaHQVg/KxQzpwWqi5raYZX/SN5DYow?=
 =?us-ascii?Q?e4iE3P/dYv4DWOqr04vj2vfcuoXmb1pY7mLlPPpxDzj0S2Ca19oL6NfyQjJD?=
 =?us-ascii?Q?lyGDdx/iHAt+U8VoCx1UKsjqr4I06qAkkSAepXmlLX33JbVK75YrPX3tMXOR?=
 =?us-ascii?Q?Fy6LGqRxanixVRoskkmmCp0sa0sS+wjG8BCjMvW72iDAML8gVBrCj0m11bST?=
 =?us-ascii?Q?mfKF/A7OjH6NbYtfJ9rvIkX1DMeseNAy/Xs1Il8Q2u2GrJXB9KuT4Iic3Jko?=
 =?us-ascii?Q?C+V7YLwd9w/LMCkEbUzVdzBqOcdBWr5ybkloQcN6TvkhU6q2328VG3Bioekq?=
 =?us-ascii?Q?Ca1Yi7tCVcLKE0bsgTMdPaKdzJzJ2y7A2lDjc3g85aUlbpTgcYJdhbBmSKpn?=
 =?us-ascii?Q?M+Pt/Wj5qbR9UsyKfehppXd8L+UT4SZEBNW7gUFZR/GX8A8ZXIJ+SNCb7iiL?=
 =?us-ascii?Q?pP0Tv+OsLMuKjUWi+6NB5BV//U3cb6RcIuFRPuO8sr554rx54mDDb0fE01OO?=
 =?us-ascii?Q?IrUG+2giB5Ldx5Zrssvi1cqEgSjcaWvP3gjglJLECR5Dw0Mj/nenwlEfFg2w?=
 =?us-ascii?Q?PZvP5L2UQpbDH3dvaZu1W8ANlxsizC7pYeQFwp8sVVl23mr/3U3td+Xw2KlD?=
 =?us-ascii?Q?uw2/4ESk4sUA/bRfq+sjlzELYXZRcdX+iZnH3tEzdj6MFTjW8wCqM2lUYVsf?=
 =?us-ascii?Q?IVlCcnt+qo8t6uet1KVKHaWCUTNA59OUNF9swiSIOmWGARWW9zBqfmHdW8Ad?=
 =?us-ascii?Q?/sOiYujWldu59c2Zh8zxDy+63fBbNRoke/wdaL05RFcV/7vSARNsPm/jAFPQ?=
 =?us-ascii?Q?IBB/lIwezb7gyIb0hv5dvcxciIpBhvutOdgT6u3cIJTxvjWeUrkSLQLweyJW?=
 =?us-ascii?Q?B9Hj0dCjm10ZMPCBi0FxkAXwjuDg/QHvZXHAkGcxk2qtqtRdCw3qNTFNeG94?=
 =?us-ascii?Q?1pN2490MzeWfGmuEcdRPQ15xAVX/N/f/R7SDhT36x/DU7YlfQPEBjQecdizr?=
 =?us-ascii?Q?tpqNjyJxijuaZl4/y8bDL9y02lSaLmqygcuJrpbtV9RlAgy9A5+cdaEVZRLG?=
 =?us-ascii?Q?pl5ITDJhFzyAKln/XNoy1+ydYSND/DRopw0DN5vg1XZRgGy/rUC5XjsVE80Y?=
 =?us-ascii?Q?siwXEfR38orpso9uq9rvtySkQyc9uRENqqkKiKkGgAxixZtt/Vpq8VWHALF/?=
 =?us-ascii?Q?IWc2i4q9sAlV6NyCoPrwhhL7msk49tjo1uz87aXoeGqVjVd+mKiv6juHBezD?=
 =?us-ascii?Q?szj0uUzzp+UBZgJqHmtnJl1T2mklor/XGzuACr0+R7WzrNfDdXkosEGogSXD?=
 =?us-ascii?Q?Up2DYOhML/V+HrMdV8BSB6nsH7+hIltlmtWDkdE+8BsqR0C5saj8S7vhK94Y?=
 =?us-ascii?Q?/lvl2STFXYnESnV/EnQdN4nLcUAELHqNOzkd98nmxcO9iwJtqeoH5lqZOW+2?=
 =?us-ascii?Q?aanlC670+bBlvIoM9cPP+M5py1nlqXJ3AG0sTbjz?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f28be58b-555d-4aa0-e319-08da827f9a13
X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2663.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2022 07:42:58.5517
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WhuEpZ6DhyKSzsC/b3r6yjSlWM1wECtNLzyvup0VBn+frM9eCKFrVLm8skzwTKjzVifq3O3jboDvpobr8t8Pyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4187
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-20_04,2022-08-18_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 phishscore=0
 suspectscore=0 mlxscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208200029
X-Proofpoint-ORIG-GUID: TBxk3MEueK5WB_bV19JdXaHvLVrBIkBO
X-Proofpoint-GUID: TBxk3MEueK5WB_bV19JdXaHvLVrBIkBO

Hello,

I used to send out RFC v1 to introduce an extra io_tlb_mem (created with
SWIOTLB_ANY) in addition to the default io_tlb_mem (32-bit).  The
dev->dma_io_tlb_mem is set to either default or the extra io_tlb_mem,
depending on dma mask. However, that is not good for setting
dev->dma_io_tlb_mem at swiotlb layer transparently as suggested by
Christoph Hellwig.

https://lore.kernel.org/all/20220609005553.30954-1-dongli.zhang@oracle.com/

Therefore, this is another RFC v2 implementation following a different
direction. The core ideas are:

1. The swiotlb is splited into two zones, io_tlb_mem->zone[0] (32-bit) and
io_tlb_mem->zone[1] (64-bit).

struct io_tlb_mem {
	struct io_tlb_zone zone[SWIOTLB_NR];
	struct dentry *debugfs;
	bool late_alloc;
	bool force_bounce;
	bool for_alloc;
	bool has_extra;
};

struct io_tlb_zone {
	phys_addr_t start;
	phys_addr_t end;
	void *vaddr;
	unsigned long nslabs;
	unsigned long used;
	unsigned int nareas;
	unsigned int area_nslabs;
	struct io_tlb_area *areas;
	struct io_tlb_slot *slots;
};

2. By default, only io_tlb_mem->zone[0] is available. The
io_tlb_mem->zone[1] is allocated conditionally if:

- the "swiotlb=" is configured to allocate extra buffer, and
- the SWIOTLB_EXTRA is set in the flag (this is to make sure arch(s) other
  than x86/sev/xen will not enable it until it is fully tested by each
  arch, e.g., mips/powerpc). Currently it is enabled for x86 and xen.

3. During swiotlb map, whether zone[0] (32-bit) or zone[1] (64-bit
SWIOTLB_ANY)
is used depends on min_not_zero(*dev->dma_mask, dev->bus_dma_limit).

To test the RFC v2, here is the QEMU command line.

qemu-system-x86_64 -smp 8 -m 32G -enable-kvm -vnc :5 -hda disk.img \
-kernel path-to-linux/arch/x86_64/boot/bzImage \
-append "root=/dev/sda1 init=/sbin/init text console=ttyS0 loglevel=7 swiotlb=32768,4194304,force" \
-net nic -net user,hostfwd=tcp::5025-:22 \
-device nvme,drive=nvme01,serial=helloworld -drive file=test.qcow2,if=none,id=nvme01 \
-serial stdio

There is below in syslog. The extra 8GB buffer is allocated.

[    0.152251] software IO TLB: area num 8.
... ...
[    3.706088] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    3.707334] software IO TLB: mapped default [mem 0x00000000bbfd7000-0x00000000bffd7000] (64MB)
[    3.708585] software IO TLB: mapped extra [mem 0x000000061cc00000-0x000000081cc00000] (8192MB)

After the FIO is triggered over NVMe, the 64-bit buffer is used.

$ cat /sys/kernel/debug/swiotlb/io_tlb_nslabs_extra
4194304
$ cat /sys/kernel/debug/swiotlb/io_tlb_used_extra
327552

Would you mind helping if this is the right direction to go?

Thank you very much!

Cc: Konrad Wilk <konrad.wilk@oracle.com>
Cc: Joe Jin <joe.jin@oracle.com>
Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
---
 arch/arm/xen/mm.c                      |   2 +-
 arch/mips/pci/pci-octeon.c             |   5 +-
 arch/x86/include/asm/xen/swiotlb-xen.h |   2 +-
 arch/x86/kernel/pci-dma.c              |   6 +-
 drivers/xen/swiotlb-xen.c              |  18 +-
 include/linux/swiotlb.h                |  73 +++--
 kernel/dma/swiotlb.c                   | 499 +++++++++++++++++++++------------
 7 files changed, 388 insertions(+), 217 deletions(-)

diff --git a/arch/arm/xen/mm.c b/arch/arm/xen/mm.c
index 3d826c0..4edfa42 100644
--- a/arch/arm/xen/mm.c
+++ b/arch/arm/xen/mm.c
@@ -125,7 +125,7 @@ static int __init xen_mm_init(void)
 		return 0;
 
 	/* we can work with the default swiotlb */
-	if (!io_tlb_default_mem.nslabs) {
+	if (!io_tlb_default_mem.zone[SWIOTLB_DF].nslabs) {
 		rc = swiotlb_init_late(swiotlb_size_or_default(),
 				       xen_swiotlb_gfp(), NULL);
 		if (rc < 0)
diff --git a/arch/mips/pci/pci-octeon.c b/arch/mips/pci/pci-octeon.c
index e457a18..0bf0859 100644
--- a/arch/mips/pci/pci-octeon.c
+++ b/arch/mips/pci/pci-octeon.c
@@ -654,6 +654,9 @@ static int __init octeon_pci_setup(void)
 		octeon_pci_mem_resource.end =
 			octeon_pci_mem_resource.start + (1ul << 30);
 	} else {
+		struct io_tlb_mem *mem = &io_tlb_default_mem;
+		struct io_tlb_zone *zone = &mem->zone[SWIOTLB_DF];
+
 		/* Remap the Octeon BAR 0 to map 128MB-(128MB+4KB) */
 		octeon_npi_write32(CVMX_NPI_PCI_CFG04, 128ul << 20);
 		octeon_npi_write32(CVMX_NPI_PCI_CFG05, 0);
@@ -664,7 +667,7 @@ static int __init octeon_pci_setup(void)
 
 		/* BAR1 movable regions contiguous to cover the swiotlb */
 		octeon_bar1_pci_phys =
-			io_tlb_default_mem.start & ~((1ull << 22) - 1);
+			zone->start & ~((1ull << 22) - 1);
 
 		for (index = 0; index < 32; index++) {
 			union cvmx_pci_bar1_indexx bar1_index;
diff --git a/arch/x86/include/asm/xen/swiotlb-xen.h b/arch/x86/include/asm/xen/swiotlb-xen.h
index 77a2d19..9476a9f 100644
--- a/arch/x86/include/asm/xen/swiotlb-xen.h
+++ b/arch/x86/include/asm/xen/swiotlb-xen.h
@@ -8,7 +8,7 @@
 static inline int pci_xen_swiotlb_init_late(void) { return -ENXIO; }
 #endif
 
-int xen_swiotlb_fixup(void *buf, unsigned long nslabs);
+int xen_swiotlb_fixup(void *buf, unsigned long nslabs, unsigned int flags);
 int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order,
 				unsigned int address_bits,
 				dma_addr_t *dma_handle);
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index 30bbe4a..a8736e7 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -77,7 +77,7 @@ static void __init pci_xen_swiotlb_init(void)
 	if (!xen_initial_domain() && !x86_swiotlb_enable)
 		return;
 	x86_swiotlb_enable = true;
-	x86_swiotlb_flags |= SWIOTLB_ANY;
+	x86_swiotlb_flags |= SWIOTLB_ANY | SWIOTLB_EXTRA;
 	swiotlb_init_remap(true, x86_swiotlb_flags, xen_swiotlb_fixup);
 	dma_ops = &xen_swiotlb_dma_ops;
 	if (IS_ENABLED(CONFIG_PCI))
@@ -90,7 +90,7 @@ int pci_xen_swiotlb_init_late(void)
 		return 0;
 
 	/* we can work with the default swiotlb */
-	if (!io_tlb_default_mem.nslabs) {
+	if (!io_tlb_default_mem.zone[SWIOTLB_DF].nslabs) {
 		int rc = swiotlb_init_late(swiotlb_size_or_default(),
 					   GFP_KERNEL, xen_swiotlb_fixup);
 		if (rc < 0)
@@ -120,6 +120,8 @@ void __init pci_iommu_alloc(void)
 	gart_iommu_hole_init();
 	amd_iommu_detect();
 	detect_intel_iommu();
+
+	x86_swiotlb_flags |= SWIOTLB_EXTRA;
 	swiotlb_init(x86_swiotlb_enable, x86_swiotlb_flags);
 }
 
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 67aa74d..3ff082b 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -38,7 +38,6 @@
 #include <asm/dma-mapping.h>
 
 #include <trace/events/swiotlb.h>
-#define MAX_DMA_BITS 32
 
 /*
  * Quick lookup value of the bus address of the IOTLB.
@@ -104,24 +103,32 @@ static int is_xen_swiotlb_buffer(struct device *dev, dma_addr_t dma_addr)
 }
 
 #ifdef CONFIG_X86
-int xen_swiotlb_fixup(void *buf, unsigned long nslabs)
+int xen_swiotlb_fixup(void *buf, unsigned long nslabs, unsigned int flags)
 {
 	int rc;
 	unsigned int order = get_order(IO_TLB_SEGSIZE << IO_TLB_SHIFT);
 	unsigned int i, dma_bits = order + PAGE_SHIFT;
 	dma_addr_t dma_handle;
 	phys_addr_t p = virt_to_phys(buf);
+	unsigned int max_dma_bits = 32;
 
 	BUILD_BUG_ON(IO_TLB_SEGSIZE & (IO_TLB_SEGSIZE - 1));
 	BUG_ON(nslabs % IO_TLB_SEGSIZE);
 
+#ifdef CONFIG_X86_64
+	if (flags & SWIOTLB_EXTRA) {
+		max_dma_bits = 64;
+		dma_bits = 64;
+	}
+#endif
+
 	i = 0;
 	do {
 		do {
 			rc = xen_create_contiguous_region(
 				p + (i << IO_TLB_SHIFT), order,
 				dma_bits, &dma_handle);
-		} while (rc && dma_bits++ < MAX_DMA_BITS);
+		} while (rc && dma_bits++ < max_dma_bits);
 		if (rc)
 			return rc;
 
@@ -381,7 +388,10 @@ static void xen_swiotlb_unmap_page(struct device *hwdev, dma_addr_t dev_addr,
 static int
 xen_swiotlb_dma_supported(struct device *hwdev, u64 mask)
 {
-	return xen_phys_to_dma(hwdev, io_tlb_default_mem.end - 1) <= mask;
+	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	struct io_tlb_zone *zone = &mem->zone[SWIOTLB_DF];
+
+	return xen_phys_to_dma(hwdev, zone->end - 1) <= mask;
 }
 
 const struct dma_map_ops xen_swiotlb_dma_ops = {
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 35bc4e2..365e5d7 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -16,6 +16,11 @@
 #define SWIOTLB_VERBOSE	(1 << 0) /* verbose initialization */
 #define SWIOTLB_FORCE	(1 << 1) /* force bounce buffering */
 #define SWIOTLB_ANY	(1 << 2) /* allow any memory for the buffer */
+#define SWIOTLB_EXTRA	(1 << 3) /* allow extra buffer if supported */
+
+#define SWIOTLB_DF	0
+#define SWIOTLB_EX	1
+#define SWIOTLB_NR	2
 
 /*
  * Maximum allowable number of contiguous slabs to map,
@@ -36,9 +41,9 @@
 
 unsigned long swiotlb_size_or_default(void);
 void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
-	int (*remap)(void *tlb, unsigned long nslabs));
+	int (*remap)(void *tlb, unsigned long nslabs, unsigned int flags));
 int swiotlb_init_late(size_t size, gfp_t gfp_mask,
-	int (*remap)(void *tlb, unsigned long nslabs));
+	int (*remap)(void *tlb, unsigned long nslabs, unsigned int flags));
 extern void __init swiotlb_update_mem_attributes(void);
 
 phys_addr_t swiotlb_tbl_map_single(struct device *hwdev, phys_addr_t phys,
@@ -62,54 +67,78 @@ dma_addr_t swiotlb_map(struct device *dev, phys_addr_t phys,
 #ifdef CONFIG_SWIOTLB
 
 /**
- * struct io_tlb_mem - IO TLB Memory Pool Descriptor
+ * struct io_tlb_zone - IO TLB Memory Zone Descriptor
  *
- * @start:	The start address of the swiotlb memory pool. Used to do a quick
+ * @start:	The start address of the swiotlb memory zone. Used to do a quick
  *		range check to see if the memory was in fact allocated by this
  *		API.
- * @end:	The end address of the swiotlb memory pool. Used to do a quick
+ * @end:	The end address of the swiotlb memory zone. Used to do a quick
  *		range check to see if the memory was in fact allocated by this
  *		API.
- * @vaddr:	The vaddr of the swiotlb memory pool. The swiotlb memory pool
+ * @vaddr:	The vaddr of the swiotlb memory zone. The swiotlb memory zone
  *		may be remapped in the memory encrypted case and store virtual
  *		address for bounce buffer operation.
  * @nslabs:	The number of IO TLB blocks (in groups of 64) between @start and
  *		@end. For default swiotlb, this is command line adjustable via
  *		setup_io_tlb_npages.
  * @used:	The number of used IO TLB block.
- * @list:	The free list describing the number of free entries available
- *		from each index.
- * @orig_addr:	The original address corresponding to a mapped entry.
- * @alloc_size:	Size of the allocated buffer.
- * @debugfs:	The dentry to debugfs.
- * @late_alloc:	%true if allocated using the page allocator
- * @force_bounce: %true if swiotlb bouncing is forced
- * @for_alloc:  %true if the pool is used for memory allocation
- * @nareas:  The area number in the pool.
- * @area_nslabs: The slot number in the area.
+ * @nareas:	The area number in the zone.
+ * @area_nslabs:The slot number in the area.
+ * @area:	The IO TLB memory area descriptor.
+ * @slots:	The data to track memory allocation.
  */
-struct io_tlb_mem {
+struct io_tlb_zone {
 	phys_addr_t start;
 	phys_addr_t end;
 	void *vaddr;
 	unsigned long nslabs;
 	unsigned long used;
-	struct dentry *debugfs;
-	bool late_alloc;
-	bool force_bounce;
-	bool for_alloc;
 	unsigned int nareas;
 	unsigned int area_nslabs;
 	struct io_tlb_area *areas;
 	struct io_tlb_slot *slots;
 };
+
+/**
+ * struct io_tlb_mem - IO TLB Memory Pool Descriptor
+ *
+ * @zone:	IO TLB memory zone descriptor.
+ * @debugfs:	The dentry to debugfs.
+ * @late_alloc:	%true if allocated using the page allocator.
+ * @force_bounce: %true if swiotlb bouncing is forced.
+ * @for_alloc:	%true if the pool is used for memory allocation.
+ * @has_extra:	%true if the extra zone (e.g., 64-bit) is available.
+ */
+struct io_tlb_mem {
+	struct io_tlb_zone zone[SWIOTLB_NR];
+	struct dentry *debugfs;
+	bool late_alloc;
+	bool force_bounce;
+	bool for_alloc;
+	bool has_extra;
+};
 extern struct io_tlb_mem io_tlb_default_mem;
 
 static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	struct io_tlb_zone *zone;
+	int end_zone;
+	int i;
+
+	if (!mem)
+		return false;
+
+	end_zone = mem->has_extra ? SWIOTLB_EX : SWIOTLB_DF;
 
-	return mem && paddr >= mem->start && paddr < mem->end;
+	for (i = end_zone ; i >= 0 ; i--) {
+		zone = &mem->zone[i];
+
+		if (paddr >= zone->start && paddr < zone->end)
+			return true;
+	}
+
+	return false;
 }
 
 static inline bool is_swiotlb_force_bounce(struct device *dev)
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index c5a9190..392f21b 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -76,6 +76,7 @@ struct io_tlb_slot {
 phys_addr_t swiotlb_unencrypted_base;
 
 static unsigned long default_nslabs = IO_TLB_DEFAULT_SIZE >> IO_TLB_SHIFT;
+static unsigned long extra_nslabs;
 static unsigned long default_nareas;
 
 /**
@@ -96,24 +97,24 @@ struct io_tlb_area {
 
 /*
  * Round up number of slabs to the next power of 2. The last area is going
- * be smaller than the rest if default_nslabs is not power of two.
+ * be smaller than the rest if *nslabs_ptr is not power of two.
  * The number of slot in an area should be a multiple of IO_TLB_SEGSIZE,
  * otherwise a segment may span two or more areas. It conflicts with free
  * contiguous slots tracking: free slots are treated contiguous no matter
  * whether they cross an area boundary.
  *
- * Return true if default_nslabs is rounded up.
+ * Return true if *nslabs_ptr is rounded up.
  */
-static bool round_up_default_nslabs(void)
+static bool round_up_nslabs_config(unsigned long *nslabs_ptr)
 {
 	if (!default_nareas)
 		return false;
 
-	if (default_nslabs < IO_TLB_SEGSIZE * default_nareas)
-		default_nslabs = IO_TLB_SEGSIZE * default_nareas;
-	else if (is_power_of_2(default_nslabs))
+	if (*nslabs_ptr < IO_TLB_SEGSIZE * default_nareas)
+		*nslabs_ptr = IO_TLB_SEGSIZE * default_nareas;
+	else if (is_power_of_2(*nslabs_ptr))
 		return false;
-	default_nslabs = roundup_pow_of_two(default_nslabs);
+	*nslabs_ptr = roundup_pow_of_two(*nslabs_ptr);
 	return true;
 }
 
@@ -128,9 +129,14 @@ static void swiotlb_adjust_nareas(unsigned int nareas)
 	default_nareas = nareas;
 
 	pr_info("area num %d.\n", nareas);
-	if (round_up_default_nslabs())
+
+	if (round_up_nslabs_config(&default_nslabs))
 		pr_info("SWIOTLB bounce buffer size roundup to %luMB",
 			(default_nslabs << IO_TLB_SHIFT) >> 20);
+
+	if (extra_nslabs && round_up_nslabs_config(&extra_nslabs))
+		pr_info("SWIOTLB extra bounce buffer size roundup to %luMB",
+			(extra_nslabs << IO_TLB_SHIFT) >> 20);
 }
 
 static int __init
@@ -144,6 +150,11 @@ static void swiotlb_adjust_nareas(unsigned int nareas)
 	if (*str == ',')
 		++str;
 	if (isdigit(*str))
+		extra_nslabs =
+			ALIGN(simple_strtoul(str, &str, 0), IO_TLB_SEGSIZE);
+	if (*str == ',')
+		++str;
+	if (isdigit(*str))
 		swiotlb_adjust_nareas(simple_strtoul(str, &str, 0));
 	if (*str == ',')
 		++str;
@@ -158,9 +169,11 @@ static void swiotlb_adjust_nareas(unsigned int nareas)
 
 unsigned int swiotlb_max_segment(void)
 {
-	if (!io_tlb_default_mem.nslabs)
+	struct io_tlb_zone *zone = &io_tlb_default_mem.zone[SWIOTLB_DF];
+
+	if (!zone->nslabs)
 		return 0;
-	return rounddown(io_tlb_default_mem.nslabs << IO_TLB_SHIFT, PAGE_SIZE);
+	return rounddown(zone->nslabs << IO_TLB_SHIFT, PAGE_SIZE);
 }
 EXPORT_SYMBOL_GPL(swiotlb_max_segment);
 
@@ -181,22 +194,49 @@ void __init swiotlb_adjust_size(unsigned long size)
 
 	size = ALIGN(size, IO_TLB_SIZE);
 	default_nslabs = ALIGN(size >> IO_TLB_SHIFT, IO_TLB_SEGSIZE);
-	if (round_up_default_nslabs())
+	if (round_up_nslabs_config(&default_nslabs))
 		size = default_nslabs << IO_TLB_SHIFT;
-	pr_info("SWIOTLB bounce buffer size adjusted to %luMB", size >> 20);
+	pr_info("SWIOTLB default bounce buffer size adjusted to %luMB",
+		size >> 20);
 }
 
 void swiotlb_print_info(void)
 {
 	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	int nr_zone = mem->has_extra ? SWIOTLB_NR : SWIOTLB_NR - 1;
+	struct io_tlb_zone *zone;
+	int i;
 
-	if (!mem->nslabs) {
+	if (!mem->zone[SWIOTLB_DF].nslabs) {
 		pr_warn("No low mem\n");
 		return;
 	}
 
-	pr_info("mapped [mem %pa-%pa] (%luMB)\n", &mem->start, &mem->end,
-	       (mem->nslabs << IO_TLB_SHIFT) >> 20);
+	for (i = 0; i < nr_zone; i++) {
+		zone = &mem->zone[i];
+		pr_info("mapped %s [mem %pa-%pa] (%luMB)\n",
+			i == 0 ? "default" : "extra",
+			&zone->start, &zone->end,
+			(zone->nslabs << IO_TLB_SHIFT) >> 20);
+	}
+}
+
+static int swiotlb_zone_index(struct io_tlb_mem *mem, phys_addr_t paddr)
+{
+	struct io_tlb_zone *zone;
+	int end_zone;
+	int i;
+
+	end_zone = mem->has_extra ? SWIOTLB_EX : SWIOTLB_DF;
+
+	for (i = end_zone ; i >= 0 ; i--) {
+		zone = &mem->zone[i];
+
+		if (paddr >= zone->start && paddr < zone->end)
+			return i;
+	}
+
+	return -EINVAL;
 }
 
 static inline unsigned long io_tlb_offset(unsigned long val)
@@ -215,12 +255,13 @@ static inline unsigned long nr_slots(u64 val)
  * Isolation VMs).
  */
 #ifdef CONFIG_HAS_IOMEM
-static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
+static void *swiotlb_mem_remap(struct io_tlb_zone *zone,
+			       unsigned long bytes)
 {
 	void *vaddr = NULL;
 
 	if (swiotlb_unencrypted_base) {
-		phys_addr_t paddr = mem->start + swiotlb_unencrypted_base;
+		phys_addr_t paddr = zone->start + swiotlb_unencrypted_base;
 
 		vaddr = memremap(paddr, bytes, MEMREMAP_WB);
 		if (!vaddr)
@@ -231,7 +272,8 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
 	return vaddr;
 }
 #else
-static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
+static void *swiotlb_mem_remap(struct io_tlb_zone *zone,
+			       unsigned long bytes)
 {
 	return NULL;
 }
@@ -246,46 +288,53 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
 void __init swiotlb_update_mem_attributes(void)
 {
 	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	int nr_zone = mem->has_extra ? SWIOTLB_NR : SWIOTLB_NR - 1;
 	void *vaddr;
 	unsigned long bytes;
+	int i;
 
-	if (!mem->nslabs || mem->late_alloc)
+	if (mem->late_alloc)
 		return;
-	vaddr = phys_to_virt(mem->start);
-	bytes = PAGE_ALIGN(mem->nslabs << IO_TLB_SHIFT);
-	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
 
-	mem->vaddr = swiotlb_mem_remap(mem, bytes);
-	if (!mem->vaddr)
-		mem->vaddr = vaddr;
+	for (i = 0; i < nr_zone; i++) {
+		struct io_tlb_zone *zone = &mem->zone[i];
+
+		if (!zone->nslabs)
+			continue;
+		vaddr = phys_to_virt(zone->start);
+		bytes = PAGE_ALIGN(zone->nslabs << IO_TLB_SHIFT);
+		set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
+
+		zone->vaddr = swiotlb_mem_remap(zone, bytes);
+		if (!zone->vaddr)
+			zone->vaddr = vaddr;
+	}
 }
 
-static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
-		unsigned long nslabs, unsigned int flags,
-		bool late_alloc, unsigned int nareas)
+static void swiotlb_init_io_tlb_zone(struct io_tlb_zone *zone,
+				     phys_addr_t start,
+				     unsigned long nslabs,
+				     unsigned int nareas)
 {
 	void *vaddr = phys_to_virt(start);
 	unsigned long bytes = nslabs << IO_TLB_SHIFT, i;
 
-	mem->nslabs = nslabs;
-	mem->start = start;
-	mem->end = mem->start + bytes;
-	mem->late_alloc = late_alloc;
-	mem->nareas = nareas;
-	mem->area_nslabs = nslabs / mem->nareas;
-
-	mem->force_bounce = swiotlb_force_bounce || (flags & SWIOTLB_FORCE);
+	zone->nslabs = nslabs;
+	zone->start = start;
+	zone->end = zone->start + bytes;
+	zone->nareas = nareas;
+	zone->area_nslabs = nslabs / zone->nareas;
 
-	for (i = 0; i < mem->nareas; i++) {
-		spin_lock_init(&mem->areas[i].lock);
-		mem->areas[i].index = 0;
-		mem->areas[i].used = 0;
+	for (i = 0; i < zone->nareas; i++) {
+		spin_lock_init(&zone->areas[i].lock);
+		zone->areas[i].index = 0;
+		zone->areas[i].used = 0;
 	}
 
-	for (i = 0; i < mem->nslabs; i++) {
-		mem->slots[i].list = IO_TLB_SEGSIZE - io_tlb_offset(i);
-		mem->slots[i].orig_addr = INVALID_PHYS_ADDR;
-		mem->slots[i].alloc_size = 0;
+	for (i = 0; i < zone->nslabs; i++) {
+		zone->slots[i].list = IO_TLB_SEGSIZE - io_tlb_offset(i);
+		zone->slots[i].orig_addr = INVALID_PHYS_ADDR;
+		zone->slots[i].alloc_size = 0;
 	}
 
 	/*
@@ -296,44 +345,19 @@ static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
 		return;
 
 	memset(vaddr, 0, bytes);
-	mem->vaddr = vaddr;
+	zone->vaddr = vaddr;
 	return;
 }
 
-/*
- * Statically reserve bounce buffer space and initialize bounce buffer data
- * structures for the software IO TLB used to implement the DMA API.
- */
-void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
-		int (*remap)(void *tlb, unsigned long nslabs))
+void __init swiotlb_init_remap_zone(struct io_tlb_zone *zone,
+		unsigned long nslabs, unsigned int flags,
+		int (*remap)(void *tlb, unsigned long nslabs,
+			     unsigned int flags))
 {
-	struct io_tlb_mem *mem = &io_tlb_default_mem;
-	unsigned long nslabs;
 	size_t alloc_size;
 	size_t bytes;
 	void *tlb;
 
-	if (!addressing_limit && !swiotlb_force_bounce)
-		return;
-	if (swiotlb_force_disable)
-		return;
-
-	/*
-	 * default_nslabs maybe changed when adjust area number.
-	 * So allocate bounce buffer after adjusting area number.
-	 */
-	if (!default_nareas)
-		swiotlb_adjust_nareas(num_possible_cpus());
-
-	nslabs = default_nslabs;
-	if (nslabs < IO_TLB_MIN_SLABS)
-		panic("%s: nslabs = %lu too small\n", __func__, nslabs);
-
-	/*
-	 * By default allocate the bounce buffer memory from low memory, but
-	 * allow to pick a location everywhere for hypervisors with guest
-	 * memory encryption.
-	 */
 retry:
 	bytes = PAGE_ALIGN(nslabs << IO_TLB_SHIFT);
 	if (flags & SWIOTLB_ANY)
@@ -346,7 +370,7 @@ void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
 		return;
 	}
 
-	if (remap && remap(tlb, nslabs) < 0) {
+	if (remap && remap(tlb, nslabs, flags) < 0) {
 		memblock_free(tlb, PAGE_ALIGN(bytes));
 
 		nslabs = ALIGN(nslabs >> 1, IO_TLB_SEGSIZE);
@@ -356,19 +380,58 @@ void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
 		goto retry;
 	}
 
-	alloc_size = PAGE_ALIGN(array_size(sizeof(*mem->slots), nslabs));
-	mem->slots = memblock_alloc(alloc_size, PAGE_SIZE);
-	if (!mem->slots)
+	alloc_size = PAGE_ALIGN(array_size(sizeof(*zone->slots), nslabs));
+	zone->slots = memblock_alloc(alloc_size, PAGE_SIZE);
+	if (!zone->slots)
 		panic("%s: Failed to allocate %zu bytes align=0x%lx\n",
 		      __func__, alloc_size, PAGE_SIZE);
 
-	mem->areas = memblock_alloc(array_size(sizeof(struct io_tlb_area),
+	zone->areas = memblock_alloc(array_size(sizeof(struct io_tlb_area),
 		default_nareas), SMP_CACHE_BYTES);
-	if (!mem->areas)
-		panic("%s: Failed to allocate mem->areas.\n", __func__);
+	if (!zone->areas)
+		panic("%s: Failed to allocate zone->areas.\n", __func__);
+
+	swiotlb_init_io_tlb_zone(zone, __pa(tlb), nslabs, default_nareas);
+}
+
+/*
+ * Statically reserve bounce buffer space and initialize bounce buffer data
+ * structures for the software IO TLB used to implement the DMA API.
+ */
+void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
+		int (*remap)(void *tlb, unsigned long nslabs,
+			     unsigned int flags))
+{
+	struct io_tlb_mem *mem = &io_tlb_default_mem;
 
-	swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, flags, false,
-				default_nareas);
+	if (!addressing_limit && !swiotlb_force_bounce)
+		return;
+	if (swiotlb_force_disable)
+		return;
+
+	/*
+	 * Both default_nslabs and extra_nslabs maybe changed when adjust
+	 * area number.
+	 * So allocate bounce buffer after adjusting area number.
+	 */
+	if (!default_nareas)
+		swiotlb_adjust_nareas(num_possible_cpus());
+
+	if (default_nslabs < IO_TLB_MIN_SLABS)
+		panic("%s: default_nslabs = %lu too small\n", __func__,
+		      default_nslabs);
+
+	swiotlb_init_remap_zone(&mem->zone[SWIOTLB_DF], default_nslabs,
+				flags & ~SWIOTLB_EXTRA, remap);
+	if (extra_nslabs && (flags & SWIOTLB_EXTRA)) {
+		swiotlb_init_remap_zone(&mem->zone[SWIOTLB_EX],
+					extra_nslabs,
+					flags | SWIOTLB_ANY, remap);
+		mem->has_extra = true;
+	}
+
+	mem->late_alloc = false;
+	mem->force_bounce = swiotlb_force_bounce || (flags & SWIOTLB_FORCE);
 
 	if (flags & SWIOTLB_VERBOSE)
 		swiotlb_print_info();
@@ -385,9 +448,11 @@ void __init swiotlb_init(bool addressing_limit, unsigned int flags)
  * This should be just like above, but with some error catching.
  */
 int swiotlb_init_late(size_t size, gfp_t gfp_mask,
-		int (*remap)(void *tlb, unsigned long nslabs))
+		int (*remap)(void *tlb, unsigned long nslabs,
+			     unsigned int flags))
 {
 	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	struct io_tlb_zone *zone = &mem->zone[SWIOTLB_DF];
 	unsigned long nslabs = ALIGN(size >> IO_TLB_SHIFT, IO_TLB_SEGSIZE);
 	unsigned char *vstart = NULL;
 	unsigned int order, area_order;
@@ -415,7 +480,7 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 		return -ENOMEM;
 
 	if (remap)
-		rc = remap(vstart, nslabs);
+		rc = remap(vstart, nslabs, 0);
 	if (rc) {
 		free_pages((unsigned long)vstart, order);
 
@@ -434,28 +499,31 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 	if (!default_nareas)
 		swiotlb_adjust_nareas(num_possible_cpus());
 
-	area_order = get_order(array_size(sizeof(*mem->areas),
+	area_order = get_order(array_size(sizeof(*zone->areas),
 		default_nareas));
-	mem->areas = (struct io_tlb_area *)
+	zone->areas = (struct io_tlb_area *)
 		__get_free_pages(GFP_KERNEL | __GFP_ZERO, area_order);
-	if (!mem->areas)
+	if (!zone->areas)
 		goto error_area;
 
-	mem->slots = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
-		get_order(array_size(sizeof(*mem->slots), nslabs)));
-	if (!mem->slots)
+	zone->slots = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
+		get_order(array_size(sizeof(*zone->slots), nslabs)));
+	if (!zone->slots)
 		goto error_slots;
 
 	set_memory_decrypted((unsigned long)vstart,
 			     (nslabs << IO_TLB_SHIFT) >> PAGE_SHIFT);
-	swiotlb_init_io_tlb_mem(mem, virt_to_phys(vstart), nslabs, 0, true,
-				default_nareas);
+	swiotlb_init_io_tlb_zone(zone, virt_to_phys(vstart), nslabs,
+				 default_nareas);
+
+	mem->late_alloc = true;
+	mem->force_bounce = swiotlb_force_bounce;
 
 	swiotlb_print_info();
 	return 0;
 
 error_slots:
-	free_pages((unsigned long)mem->areas, area_order);
+	free_pages((unsigned long)zone->areas, area_order);
 error_area:
 	free_pages((unsigned long)vstart, order);
 	return -ENOMEM;
@@ -464,33 +532,40 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 void __init swiotlb_exit(void)
 {
 	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	int nr_zone = mem->has_extra ? SWIOTLB_NR : SWIOTLB_NR - 1;
 	unsigned long tbl_vaddr;
 	size_t tbl_size, slots_size;
 	unsigned int area_order;
+	int i;
 
 	if (swiotlb_force_bounce)
 		return;
 
-	if (!mem->nslabs)
-		return;
+	for (i = 0 ; i < nr_zone ; i++) {
+		struct io_tlb_zone *zone = &mem->zone[i];
 
-	pr_info("tearing down default memory pool\n");
-	tbl_vaddr = (unsigned long)phys_to_virt(mem->start);
-	tbl_size = PAGE_ALIGN(mem->end - mem->start);
-	slots_size = PAGE_ALIGN(array_size(sizeof(*mem->slots), mem->nslabs));
-
-	set_memory_encrypted(tbl_vaddr, tbl_size >> PAGE_SHIFT);
-	if (mem->late_alloc) {
-		area_order = get_order(array_size(sizeof(*mem->areas),
-			mem->nareas));
-		free_pages((unsigned long)mem->areas, area_order);
-		free_pages(tbl_vaddr, get_order(tbl_size));
-		free_pages((unsigned long)mem->slots, get_order(slots_size));
-	} else {
-		memblock_free_late(__pa(mem->areas),
-			array_size(sizeof(*mem->areas), mem->nareas));
-		memblock_free_late(mem->start, tbl_size);
-		memblock_free_late(__pa(mem->slots), slots_size);
+		if (!zone->nslabs)
+			continue;
+
+		pr_info("tearing down %s memory pool\n",
+			i == 0 ? "default" : "extra");
+		tbl_vaddr = (unsigned long)phys_to_virt(zone->start);
+		tbl_size = PAGE_ALIGN(zone->end - zone->start);
+		slots_size = PAGE_ALIGN(array_size(sizeof(*zone->slots), zone->nslabs));
+
+		set_memory_encrypted(tbl_vaddr, tbl_size >> PAGE_SHIFT);
+		if (mem->late_alloc) {
+			area_order = get_order(array_size(sizeof(*zone->areas),
+					       zone->nareas));
+			free_pages((unsigned long)zone->areas, area_order);
+			free_pages(tbl_vaddr, get_order(tbl_size));
+			free_pages((unsigned long)zone->slots, get_order(slots_size));
+		} else {
+			memblock_free_late(__pa(zone->areas),
+				array_size(sizeof(*zone->areas), zone->nareas));
+			memblock_free_late(zone->start, tbl_size);
+			memblock_free_late(__pa(zone->slots), slots_size);
+		}
 	}
 
 	memset(mem, 0, sizeof(*mem));
@@ -507,15 +582,15 @@ static unsigned int swiotlb_align_offset(struct device *dev, u64 addr)
 /*
  * Bounce: copy the swiotlb buffer from or back to the original dma location
  */
-static void swiotlb_bounce(struct device *dev, phys_addr_t tlb_addr, size_t size,
+static void swiotlb_bounce(struct device *dev, struct io_tlb_zone *zone,
+			   phys_addr_t tlb_addr, size_t size,
 			   enum dma_data_direction dir)
 {
-	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
-	int index = (tlb_addr - mem->start) >> IO_TLB_SHIFT;
-	phys_addr_t orig_addr = mem->slots[index].orig_addr;
-	size_t alloc_size = mem->slots[index].alloc_size;
+	int index = (tlb_addr - zone->start) >> IO_TLB_SHIFT;
+	phys_addr_t orig_addr = zone->slots[index].orig_addr;
+	size_t alloc_size = zone->slots[index].alloc_size;
 	unsigned long pfn = PFN_DOWN(orig_addr);
-	unsigned char *vaddr = mem->vaddr + tlb_addr - mem->start;
+	unsigned char *vaddr = zone->vaddr + tlb_addr - zone->start;
 	unsigned int tlb_offset, orig_addr_offset;
 
 	if (orig_addr == INVALID_PHYS_ADDR)
@@ -579,7 +654,10 @@ static void swiotlb_bounce(struct device *dev, phys_addr_t tlb_addr, size_t size
 	}
 }
 
-#define slot_addr(start, idx)	((start) + ((idx) << IO_TLB_SHIFT))
+static inline phys_addr_t slot_addr(phys_addr_t start, phys_addr_t idx)
+{
+	return start + (idx << IO_TLB_SHIFT);
+}
 
 /*
  * Carefully handle integer overflow which can occur when boundary_mask == ~0UL.
@@ -591,9 +669,10 @@ static inline unsigned long get_max_slots(unsigned long boundary_mask)
 	return nr_slots(boundary_mask + 1);
 }
 
-static unsigned int wrap_area_index(struct io_tlb_mem *mem, unsigned int index)
+static unsigned int wrap_area_index(struct io_tlb_zone *zone,
+				    unsigned int index)
 {
-	if (index >= mem->area_nslabs)
+	if (index >= zone->area_nslabs)
 		return 0;
 	return index;
 }
@@ -602,15 +681,15 @@ static unsigned int wrap_area_index(struct io_tlb_mem *mem, unsigned int index)
  * Find a suitable number of IO TLB entries size that will fit this request and
  * allocate a buffer from that IO TLB pool.
  */
-static int swiotlb_do_find_slots(struct device *dev, int area_index,
+static int swiotlb_do_find_slots(struct device *dev,
+		struct io_tlb_zone *zone, int area_index,
 		phys_addr_t orig_addr, size_t alloc_size,
 		unsigned int alloc_align_mask)
 {
-	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
-	struct io_tlb_area *area = mem->areas + area_index;
+	struct io_tlb_area *area = zone->areas + area_index;
 	unsigned long boundary_mask = dma_get_seg_boundary(dev);
 	dma_addr_t tbl_dma_addr =
-		phys_to_dma_unencrypted(dev, mem->start) & boundary_mask;
+		phys_to_dma_unencrypted(dev, zone->start) & boundary_mask;
 	unsigned long max_slots = get_max_slots(boundary_mask);
 	unsigned int iotlb_align_mask =
 		dma_get_min_align_mask(dev) & ~(IO_TLB_SIZE - 1);
@@ -622,7 +701,7 @@ static int swiotlb_do_find_slots(struct device *dev, int area_index,
 	unsigned int slot_index;
 
 	BUG_ON(!nslots);
-	BUG_ON(area_index >= mem->nareas);
+	BUG_ON(area_index >= zone->nareas);
 
 	/*
 	 * For mappings with an alignment requirement don't bother looping to
@@ -635,11 +714,11 @@ static int swiotlb_do_find_slots(struct device *dev, int area_index,
 	stride = max(stride, (alloc_align_mask >> IO_TLB_SHIFT) + 1);
 
 	spin_lock_irqsave(&area->lock, flags);
-	if (unlikely(nslots > mem->area_nslabs - area->used))
+	if (unlikely(nslots > zone->area_nslabs - area->used))
 		goto not_found;
 
-	slot_base = area_index * mem->area_nslabs;
-	index = wrap = wrap_area_index(mem, ALIGN(area->index, stride));
+	slot_base = area_index * zone->area_nslabs;
+	index = wrap = wrap_area_index(zone, ALIGN(area->index, stride));
 
 	do {
 		slot_index = slot_base + index;
@@ -647,7 +726,7 @@ static int swiotlb_do_find_slots(struct device *dev, int area_index,
 		if (orig_addr &&
 		    (slot_addr(tbl_dma_addr, slot_index) &
 		     iotlb_align_mask) != (orig_addr & iotlb_align_mask)) {
-			index = wrap_area_index(mem, index + 1);
+			index = wrap_area_index(zone, index + 1);
 			continue;
 		}
 
@@ -659,10 +738,10 @@ static int swiotlb_do_find_slots(struct device *dev, int area_index,
 		if (!iommu_is_span_boundary(slot_index, nslots,
 					    nr_slots(tbl_dma_addr),
 					    max_slots)) {
-			if (mem->slots[slot_index].list >= nslots)
+			if (zone->slots[slot_index].list >= nslots)
 				goto found;
 		}
-		index = wrap_area_index(mem, index + stride);
+		index = wrap_area_index(zone, index + stride);
 	} while (index != wrap);
 
 not_found:
@@ -671,19 +750,19 @@ static int swiotlb_do_find_slots(struct device *dev, int area_index,
 
 found:
 	for (i = slot_index; i < slot_index + nslots; i++) {
-		mem->slots[i].list = 0;
-		mem->slots[i].alloc_size = alloc_size - (offset +
+		zone->slots[i].list = 0;
+		zone->slots[i].alloc_size = alloc_size - (offset +
 				((i - slot_index) << IO_TLB_SHIFT));
 	}
 	for (i = slot_index - 1;
 	     io_tlb_offset(i) != IO_TLB_SEGSIZE - 1 &&
-	     mem->slots[i].list; i--)
-		mem->slots[i].list = ++count;
+	     zone->slots[i].list; i--)
+		zone->slots[i].list = ++count;
 
 	/*
 	 * Update the indices to avoid searching in the next round.
 	 */
-	if (index + nslots < mem->area_nslabs)
+	if (index + nslots < zone->area_nslabs)
 		area->index = index + nslots;
 	else
 		area->index = 0;
@@ -692,32 +771,33 @@ static int swiotlb_do_find_slots(struct device *dev, int area_index,
 	return slot_index;
 }
 
-static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
+static int swiotlb_find_slots(struct device *dev,
+		struct io_tlb_zone *zone, phys_addr_t orig_addr,
 		size_t alloc_size, unsigned int alloc_align_mask)
 {
-	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
-	int start = raw_smp_processor_id() & (mem->nareas - 1);
+	int start = raw_smp_processor_id() & (zone->nareas - 1);
 	int i = start, index;
 
 	do {
-		index = swiotlb_do_find_slots(dev, i, orig_addr, alloc_size,
+		index = swiotlb_do_find_slots(dev, zone, i,
+					      orig_addr, alloc_size,
 					      alloc_align_mask);
 		if (index >= 0)
 			return index;
-		if (++i >= mem->nareas)
+		if (++i >= zone->nareas)
 			i = 0;
 	} while (i != start);
 
 	return -1;
 }
 
-static unsigned long mem_used(struct io_tlb_mem *mem)
+static unsigned long mem_used(struct io_tlb_zone *zone)
 {
 	int i;
 	unsigned long used = 0;
 
-	for (i = 0; i < mem->nareas; i++)
-		used += mem->areas[i].used;
+	for (i = 0; i < zone->nareas; i++)
+		used += zone->areas[i].used;
 	return used;
 }
 
@@ -728,11 +808,13 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
 	unsigned int offset = swiotlb_align_offset(dev, orig_addr);
+	struct io_tlb_zone *zone;
 	unsigned int i;
 	int index;
 	phys_addr_t tlb_addr;
+	unsigned long dma_mask;
 
-	if (!mem || !mem->nslabs)
+	if (!mem || !mem->zone[SWIOTLB_DF].nslabs)
 		panic("Can not allocate SWIOTLB buffer earlier and can't now provide you with the DMA bounce buffer");
 
 	if (cc_platform_has(CC_ATTR_MEM_ENCRYPT))
@@ -744,13 +826,20 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 		return (phys_addr_t)DMA_MAPPING_ERROR;
 	}
 
-	index = swiotlb_find_slots(dev, orig_addr,
+	dma_mask = min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
+	if (mem->has_extra && mem->zone[SWIOTLB_EX].nslabs &&
+	    dma_mask == DMA_BIT_MASK(64))
+		zone = &mem->zone[SWIOTLB_EX];
+	else
+		zone = &mem->zone[SWIOTLB_DF];
+
+	index = swiotlb_find_slots(dev, zone, orig_addr,
 				   alloc_size + offset, alloc_align_mask);
 	if (index == -1) {
 		if (!(attrs & DMA_ATTR_NO_WARN))
 			dev_warn_ratelimited(dev,
 	"swiotlb buffer is full (sz: %zd bytes), total %lu (slots), used %lu (slots)\n",
-				 alloc_size, mem->nslabs, mem_used(mem));
+				 alloc_size, zone->nslabs, mem_used(zone));
 		return (phys_addr_t)DMA_MAPPING_ERROR;
 	}
 
@@ -760,8 +849,8 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 	 * needed.
 	 */
 	for (i = 0; i < nr_slots(alloc_size + offset); i++)
-		mem->slots[index + i].orig_addr = slot_addr(orig_addr, i);
-	tlb_addr = slot_addr(mem->start, index) + offset;
+		zone->slots[index + i].orig_addr = slot_addr(orig_addr, i);
+	tlb_addr = slot_addr(zone->start, index) + offset;
 	/*
 	 * When dir == DMA_FROM_DEVICE we could omit the copy from the orig
 	 * to the tlb buffer, if we knew for sure the device will
@@ -769,19 +858,19 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 	 * unconditional bounce may prevent leaking swiotlb content (i.e.
 	 * kernel memory) to user-space.
 	 */
-	swiotlb_bounce(dev, tlb_addr, mapping_size, DMA_TO_DEVICE);
+	swiotlb_bounce(dev, zone, tlb_addr, mapping_size, DMA_TO_DEVICE);
 	return tlb_addr;
 }
 
-static void swiotlb_release_slots(struct device *dev, phys_addr_t tlb_addr)
+static void swiotlb_release_slots(struct device *dev,
+		struct io_tlb_zone *zone, phys_addr_t tlb_addr)
 {
-	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
 	unsigned long flags;
 	unsigned int offset = swiotlb_align_offset(dev, tlb_addr);
-	int index = (tlb_addr - offset - mem->start) >> IO_TLB_SHIFT;
-	int nslots = nr_slots(mem->slots[index].alloc_size + offset);
-	int aindex = index / mem->area_nslabs;
-	struct io_tlb_area *area = &mem->areas[aindex];
+	int index = (tlb_addr - offset - zone->start) >> IO_TLB_SHIFT;
+	int nslots = nr_slots(zone->slots[index].alloc_size + offset);
+	int aindex = index / zone->area_nslabs;
+	struct io_tlb_area *area = &zone->areas[aindex];
 	int count, i;
 
 	/*
@@ -790,11 +879,11 @@ static void swiotlb_release_slots(struct device *dev, phys_addr_t tlb_addr)
 	 * While returning the entries to the free list, we merge the entries
 	 * with slots below and above the pool being returned.
 	 */
-	BUG_ON(aindex >= mem->nareas);
+	BUG_ON(aindex >= zone->nareas);
 
 	spin_lock_irqsave(&area->lock, flags);
 	if (index + nslots < ALIGN(index + 1, IO_TLB_SEGSIZE))
-		count = mem->slots[index + nslots].list;
+		count = zone->slots[index + nslots].list;
 	else
 		count = 0;
 
@@ -803,9 +892,9 @@ static void swiotlb_release_slots(struct device *dev, phys_addr_t tlb_addr)
 	 * superceeding slots
 	 */
 	for (i = index + nslots - 1; i >= index; i--) {
-		mem->slots[i].list = ++count;
-		mem->slots[i].orig_addr = INVALID_PHYS_ADDR;
-		mem->slots[i].alloc_size = 0;
+		zone->slots[i].list = ++count;
+		zone->slots[i].orig_addr = INVALID_PHYS_ADDR;
+		zone->slots[i].alloc_size = 0;
 	}
 
 	/*
@@ -813,9 +902,9 @@ static void swiotlb_release_slots(struct device *dev, phys_addr_t tlb_addr)
 	 * available (non zero)
 	 */
 	for (i = index - 1;
-	     io_tlb_offset(i) != IO_TLB_SEGSIZE - 1 && mem->slots[i].list;
+	     io_tlb_offset(i) != IO_TLB_SEGSIZE - 1 && zone->slots[i].list;
 	     i--)
-		mem->slots[i].list = ++count;
+		zone->slots[i].list = ++count;
 	area->used -= nslots;
 	spin_unlock_irqrestore(&area->lock, flags);
 }
@@ -827,21 +916,30 @@ void swiotlb_tbl_unmap_single(struct device *dev, phys_addr_t tlb_addr,
 			      size_t mapping_size, enum dma_data_direction dir,
 			      unsigned long attrs)
 {
+	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	int zone_index = swiotlb_zone_index(mem, tlb_addr);
+	struct io_tlb_zone *zone = &mem->zone[zone_index];
+
 	/*
 	 * First, sync the memory before unmapping the entry
 	 */
 	if (!(attrs & DMA_ATTR_SKIP_CPU_SYNC) &&
 	    (dir == DMA_FROM_DEVICE || dir == DMA_BIDIRECTIONAL))
-		swiotlb_bounce(dev, tlb_addr, mapping_size, DMA_FROM_DEVICE);
+		swiotlb_bounce(dev, zone, tlb_addr, mapping_size,
+			       DMA_FROM_DEVICE);
 
-	swiotlb_release_slots(dev, tlb_addr);
+	swiotlb_release_slots(dev, zone, tlb_addr);
 }
 
 void swiotlb_sync_single_for_device(struct device *dev, phys_addr_t tlb_addr,
 		size_t size, enum dma_data_direction dir)
 {
+	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	int zone_index = swiotlb_zone_index(mem, tlb_addr);
+	struct io_tlb_zone *zone = &mem->zone[zone_index];
+
 	if (dir == DMA_TO_DEVICE || dir == DMA_BIDIRECTIONAL)
-		swiotlb_bounce(dev, tlb_addr, size, DMA_TO_DEVICE);
+		swiotlb_bounce(dev, zone, tlb_addr, size, DMA_TO_DEVICE);
 	else
 		BUG_ON(dir != DMA_FROM_DEVICE);
 }
@@ -849,8 +947,12 @@ void swiotlb_sync_single_for_device(struct device *dev, phys_addr_t tlb_addr,
 void swiotlb_sync_single_for_cpu(struct device *dev, phys_addr_t tlb_addr,
 		size_t size, enum dma_data_direction dir)
 {
+	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	int zone_index = swiotlb_zone_index(mem, tlb_addr);
+	struct io_tlb_zone *zone = &mem->zone[zone_index];
+
 	if (dir == DMA_FROM_DEVICE || dir == DMA_BIDIRECTIONAL)
-		swiotlb_bounce(dev, tlb_addr, size, DMA_FROM_DEVICE);
+		swiotlb_bounce(dev, zone, tlb_addr, size, DMA_FROM_DEVICE);
 	else
 		BUG_ON(dir != DMA_TO_DEVICE);
 }
@@ -908,13 +1010,14 @@ bool is_swiotlb_active(struct device *dev)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
 
-	return mem && mem->nslabs;
+	return mem && mem->zone[SWIOTLB_DF].nslabs;
 }
 EXPORT_SYMBOL_GPL(is_swiotlb_active);
 
 static int io_tlb_used_get(void *data, u64 *val)
 {
-	*val = mem_used(&io_tlb_default_mem);
+	struct io_tlb_zone *zone = (struct io_tlb_zone *) data;
+	*val = mem_used(zone);
 	return 0;
 }
 DEFINE_DEBUGFS_ATTRIBUTE(fops_io_tlb_used, io_tlb_used_get, NULL, "%llu\n");
@@ -922,13 +1025,26 @@ static int io_tlb_used_get(void *data, u64 *val)
 static void swiotlb_create_debugfs_files(struct io_tlb_mem *mem,
 					 const char *dirname)
 {
+	struct io_tlb_zone *zone;
+
 	mem->debugfs = debugfs_create_dir(dirname, io_tlb_default_mem.debugfs);
-	if (!mem->nslabs)
-		return;
 
-	debugfs_create_ulong("io_tlb_nslabs", 0400, mem->debugfs, &mem->nslabs);
-	debugfs_create_file("io_tlb_used", 0400, mem->debugfs, NULL,
-			&fops_io_tlb_used);
+	zone = &mem->zone[SWIOTLB_DF];
+	if (zone->nslabs) {
+		debugfs_create_ulong("io_tlb_nslabs", 0400,
+				    mem->debugfs, &zone->nslabs);
+		debugfs_create_file("io_tlb_used", 0400, mem->debugfs,
+				    zone, &fops_io_tlb_used);
+	}
+
+	if (mem->has_extra) {
+		zone = &mem->zone[SWIOTLB_EX];
+
+		debugfs_create_ulong("io_tlb_nslabs_extra", 0400,
+				     mem->debugfs, &zone->nslabs);
+		debugfs_create_file("io_tlb_used_extra", 0400,
+				    mem->debugfs, zone, &fops_io_tlb_used);
+	}
 }
 
 static int __init __maybe_unused swiotlb_create_default_debugfs(void)
@@ -946,17 +1062,20 @@ static int __init __maybe_unused swiotlb_create_default_debugfs(void)
 struct page *swiotlb_alloc(struct device *dev, size_t size)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	struct io_tlb_zone *zone;
 	phys_addr_t tlb_addr;
 	int index;
 
 	if (!mem)
 		return NULL;
 
-	index = swiotlb_find_slots(dev, 0, size, 0);
+	zone = &mem->zone[SWIOTLB_DF];
+
+	index = swiotlb_find_slots(dev, zone, 0, size, 0);
 	if (index == -1)
 		return NULL;
 
-	tlb_addr = slot_addr(mem->start, index);
+	tlb_addr = slot_addr(zone->start, index);
 
 	return pfn_to_page(PFN_DOWN(tlb_addr));
 }
@@ -964,11 +1083,14 @@ struct page *swiotlb_alloc(struct device *dev, size_t size)
 bool swiotlb_free(struct device *dev, struct page *page, size_t size)
 {
 	phys_addr_t tlb_addr = page_to_phys(page);
+	struct io_tlb_mem *mem = &dev->dma_io_tlb_mem;
+	int zone_index = swiotlb_zone_index(mem, tlb_addr);
+	struct io_tlb_zone *zone = mem->zone[zone_index];
 
 	if (!is_swiotlb_buffer(dev, tlb_addr))
 		return false;
 
-	swiotlb_release_slots(dev, tlb_addr);
+	swiotlb_release_slots(dev, zone, tlb_addr);
 
 	return true;
 }
@@ -977,6 +1099,7 @@ static int rmem_swiotlb_device_init(struct reserved_mem *rmem,
 				    struct device *dev)
 {
 	struct io_tlb_mem *mem = rmem->priv;
+	struct io_tlb_zone *zone;
 	unsigned long nslabs = rmem->size >> IO_TLB_SHIFT;
 
 	/* Set Per-device io tlb area to one */
@@ -992,25 +1115,29 @@ static int rmem_swiotlb_device_init(struct reserved_mem *rmem,
 		if (!mem)
 			return -ENOMEM;
 
-		mem->slots = kcalloc(nslabs, sizeof(*mem->slots), GFP_KERNEL);
-		if (!mem->slots) {
+		zone = &mem->zone[SWIOTLB_DF];
+
+		zone->slots = kcalloc(nslabs, sizeof(*zone->slots), GFP_KERNEL);
+		if (!zone->slots) {
 			kfree(mem);
 			return -ENOMEM;
 		}
 
-		mem->areas = kcalloc(nareas, sizeof(*mem->areas),
+		zone->areas = kcalloc(nareas, sizeof(*zone->areas),
 				GFP_KERNEL);
-		if (!mem->areas) {
-			kfree(mem->slots);
+		if (!zone->areas) {
+			kfree(zone->slots);
 			kfree(mem);
 			return -ENOMEM;
 		}
 
 		set_memory_decrypted((unsigned long)phys_to_virt(rmem->base),
 				     rmem->size >> PAGE_SHIFT);
-		swiotlb_init_io_tlb_mem(mem, rmem->base, nslabs, SWIOTLB_FORCE,
-					false, nareas);
+		swiotlb_init_io_tlb_zone(zone, rmem->base, nslabs, nareas);
 		mem->for_alloc = true;
+		mem->has_extra = false;
+		mem->late_alloc = false;
+		mem->force_bounce = flags & SWIOTLB_FORCE;
 
 		rmem->priv = mem;
 
-- 
1.8.3.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390679.628189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjc-0006dC-W9; Sat, 20 Aug 2022 09:25:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390679.628189; Sat, 20 Aug 2022 09:25:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjc-0006d2-RL; Sat, 20 Aug 2022 09:25:40 +0000
Received: by outflank-mailman (input) for mailman id 390679;
 Sat, 20 Aug 2022 09:25:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjb-0006NL-MY
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d31c4db-206a-11ed-bd2e-47488cf2e6aa;
 Sat, 20 Aug 2022 11:25:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BDE3234355;
 Sat, 20 Aug 2022 09:25:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7F1DF13440;
 Sat, 20 Aug 2022 09:25:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mMnGHZGoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d31c4db-206a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987537; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=zH7OrEbGSHDEOBqN5ycZpM6fL4oud1epAjDEuL53dko=;
	b=uGhdI1IZGR+h8vzojT8JBtc7Y8Sk+yQ8KmTZ+ftXj6xsBac4HIS8dsBha3w9fmzifD4ZjE
	rcw5kNiNK9kq8REjgLzYRO/hCeVKHLcPlohrxNJHV4ikrUROnhEW/I6B5KGObt+tTnnyFX
	VfA79XO2ZJQ+P71Og/D4kNvZgwJ+0yk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH v2 03/10] x86/mtrr: replace use_intel() with a local flag
Date: Sat, 20 Aug 2022 11:25:26 +0200
Message-Id: <20220820092533.29420-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In MTRR code use_intel() is only used in one source file, and the
relevant use_intel_if member of struct mtrr_ops is set only in
generic_mtrr_ops.

Replace use_intel() with a single flag in cacheinfo.c, which can be set
when assigning generic_mtrr_ops to mtrr_if. This allows to drop
use_intel_if from mtrr_ops, while preparing to support PAT without
MTRR. As another preparation for the PAT/MTRR decoupling use a bit for
MTRR control and one for PAT control. For now set both bits together,
this can be changed later.

As the new flag will be set only if mtrr_enabled is set, the test for
mtrr_enabled can be dropped at some places.

At the same time drop the local mtrr_enabled() function and rename
the __mtrr_enabled flag to mtrr_enabled.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 arch/x86/include/asm/cacheinfo.h   |  5 +++
 arch/x86/kernel/cpu/cacheinfo.c    |  3 ++
 arch/x86/kernel/cpu/mtrr/generic.c |  1 -
 arch/x86/kernel/cpu/mtrr/mtrr.c    | 58 ++++++++++++++----------------
 arch/x86/kernel/cpu/mtrr/mtrr.h    |  2 --
 5 files changed, 35 insertions(+), 34 deletions(-)

diff --git a/arch/x86/include/asm/cacheinfo.h b/arch/x86/include/asm/cacheinfo.h
index 86b2e0dcc4bf..1aeafa9888f7 100644
--- a/arch/x86/include/asm/cacheinfo.h
+++ b/arch/x86/include/asm/cacheinfo.h
@@ -2,6 +2,11 @@
 #ifndef _ASM_X86_CACHEINFO_H
 #define _ASM_X86_CACHEINFO_H
 
+/* Kernel controls MTRR and/or PAT MSRs. */
+extern unsigned int cache_generic;
+#define CACHE_GENERIC_MTRR 0x01
+#define CACHE_GENERIC_PAT  0x02
+
 void cacheinfo_amd_init_llc_id(struct cpuinfo_x86 *c, int cpu);
 void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu);
 
diff --git a/arch/x86/kernel/cpu/cacheinfo.c b/arch/x86/kernel/cpu/cacheinfo.c
index 66556833d7af..3b05d3ade7a6 100644
--- a/arch/x86/kernel/cpu/cacheinfo.c
+++ b/arch/x86/kernel/cpu/cacheinfo.c
@@ -35,6 +35,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_llc_shared_map);
 /* Shared L2 cache maps */
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_l2c_shared_map);
 
+/* Kernel controls MTRR and/or PAT MSRs. */
+unsigned int cache_generic;
+
 struct _cache_table {
 	unsigned char descriptor;
 	char cache_type;
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index 3d185fcf08ca..3c3c7919de5b 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -921,7 +921,6 @@ int positive_have_wrcomb(void)
  * Generic structure...
  */
 const struct mtrr_ops generic_mtrr_ops = {
-	.use_intel_if		= 1,
 	.set_all		= generic_set_all,
 	.get			= generic_get_mtrr,
 	.get_free_region	= generic_get_free_region,
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index 2746cac9d8a9..4cd9c8d1473e 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -46,6 +46,7 @@
 #include <linux/syscore_ops.h>
 #include <linux/rcupdate.h>
 
+#include <asm/cacheinfo.h>
 #include <asm/cpufeature.h>
 #include <asm/e820/api.h>
 #include <asm/mtrr.h>
@@ -58,12 +59,7 @@
 #define MTRR_TO_PHYS_WC_OFFSET 1000
 
 u32 num_var_ranges;
-static bool __mtrr_enabled;
-
-static bool mtrr_enabled(void)
-{
-	return __mtrr_enabled;
-}
+static bool mtrr_enabled;
 
 unsigned int mtrr_usage_table[MTRR_MAX_VAR_RANGES];
 static DEFINE_MUTEX(mtrr_mutex);
@@ -119,11 +115,11 @@ static int have_wrcomb(void)
 }
 
 /*  This function returns the number of variable MTRRs  */
-static void __init set_num_var_ranges(void)
+static void __init set_num_var_ranges(bool use_generic)
 {
 	unsigned long config = 0, dummy;
 
-	if (use_intel())
+	if (use_generic)
 		rdmsr(MSR_MTRRcap, config, dummy);
 	else if (is_cpu(AMD) || is_cpu(HYGON))
 		config = 2;
@@ -303,7 +299,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 	int i, replace, error;
 	mtrr_type ltype;
 
-	if (!mtrr_enabled())
+	if (!mtrr_enabled)
 		return -ENXIO;
 
 	error = mtrr_if->validate_add_page(base, size, type);
@@ -451,7 +447,7 @@ static int mtrr_check(unsigned long base, unsigned long size)
 int mtrr_add(unsigned long base, unsigned long size, unsigned int type,
 	     bool increment)
 {
-	if (!mtrr_enabled())
+	if (!mtrr_enabled)
 		return -ENODEV;
 	if (mtrr_check(base, size))
 		return -EINVAL;
@@ -480,7 +476,7 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size)
 	unsigned long lbase, lsize;
 	int error = -EINVAL;
 
-	if (!mtrr_enabled())
+	if (!mtrr_enabled)
 		return -ENODEV;
 
 	max = num_var_ranges;
@@ -540,7 +536,7 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size)
  */
 int mtrr_del(int reg, unsigned long base, unsigned long size)
 {
-	if (!mtrr_enabled())
+	if (!mtrr_enabled)
 		return -ENODEV;
 	if (mtrr_check(base, size))
 		return -EINVAL;
@@ -566,7 +562,7 @@ int arch_phys_wc_add(unsigned long base, unsigned long size)
 {
 	int ret;
 
-	if (pat_enabled() || !mtrr_enabled())
+	if (pat_enabled() || !mtrr_enabled)
 		return 0;  /* Success!  (We don't need to do anything.) */
 
 	ret = mtrr_add(base, size, MTRR_TYPE_WRCOMB, true);
@@ -687,6 +683,7 @@ int __initdata changed_by_mtrr_cleanup;
 void __init mtrr_bp_init(void)
 {
 	u32 phys_addr;
+	bool use_generic = false;
 
 	init_ifs();
 
@@ -694,6 +691,7 @@ void __init mtrr_bp_init(void)
 
 	if (boot_cpu_has(X86_FEATURE_MTRR)) {
 		mtrr_if = &generic_mtrr_ops;
+		use_generic = true;
 		size_or_mask = SIZE_OR_MASK_BITS(36);
 		size_and_mask = 0x00f00000;
 		phys_addr = 36;
@@ -755,15 +753,18 @@ void __init mtrr_bp_init(void)
 	}
 
 	if (mtrr_if) {
-		__mtrr_enabled = true;
-		set_num_var_ranges();
+		mtrr_enabled = true;
+		set_num_var_ranges(use_generic);
 		init_table();
-		if (use_intel()) {
+		if (use_generic) {
 			/* BIOS may override */
-			__mtrr_enabled = get_mtrr_state();
+			mtrr_enabled = get_mtrr_state();
 
-			if (mtrr_enabled())
+			if (mtrr_enabled) {
 				mtrr_bp_pat_init();
+				cache_generic |= CACHE_GENERIC_MTRR |
+						 CACHE_GENERIC_PAT;
+			}
 
 			if (mtrr_cleanup(phys_addr)) {
 				changed_by_mtrr_cleanup = 1;
@@ -772,7 +773,7 @@ void __init mtrr_bp_init(void)
 		}
 	}
 
-	if (!mtrr_enabled()) {
+	if (!mtrr_enabled) {
 		pr_info("Disabled\n");
 
 		/*
@@ -786,10 +787,7 @@ void __init mtrr_bp_init(void)
 
 void mtrr_ap_init(void)
 {
-	if (!mtrr_enabled())
-		return;
-
-	if (!use_intel() || mtrr_aps_delayed_init)
+	if (!cache_generic || mtrr_aps_delayed_init)
 		return;
 
 	/*
@@ -816,7 +814,7 @@ void mtrr_save_state(void)
 {
 	int first_cpu;
 
-	if (!mtrr_enabled())
+	if (!mtrr_enabled)
 		return;
 
 	first_cpu = cpumask_first(cpu_online_mask);
@@ -825,9 +823,7 @@ void mtrr_save_state(void)
 
 void set_mtrr_aps_delayed_init(void)
 {
-	if (!mtrr_enabled())
-		return;
-	if (!use_intel())
+	if (!cache_generic)
 		return;
 
 	mtrr_aps_delayed_init = true;
@@ -838,7 +834,7 @@ void set_mtrr_aps_delayed_init(void)
  */
 void mtrr_aps_init(void)
 {
-	if (!use_intel() || !mtrr_enabled())
+	if (!cache_generic)
 		return;
 
 	/*
@@ -855,7 +851,7 @@ void mtrr_aps_init(void)
 
 void mtrr_bp_restore(void)
 {
-	if (!use_intel() || !mtrr_enabled())
+	if (!cache_generic)
 		return;
 
 	mtrr_if->set_all();
@@ -863,10 +859,10 @@ void mtrr_bp_restore(void)
 
 static int __init mtrr_init_finialize(void)
 {
-	if (!mtrr_enabled())
+	if (!mtrr_enabled)
 		return 0;
 
-	if (use_intel()) {
+	if (cache_generic & CACHE_GENERIC_MTRR) {
 		if (!changed_by_mtrr_cleanup)
 			mtrr_state_warn();
 		return 0;
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.h b/arch/x86/kernel/cpu/mtrr/mtrr.h
index 2ac99e561181..88b1c4b6174a 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.h
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.h
@@ -14,7 +14,6 @@ extern unsigned int mtrr_usage_table[MTRR_MAX_VAR_RANGES];
 
 struct mtrr_ops {
 	u32	vendor;
-	u32	use_intel_if;
 	void	(*set)(unsigned int reg, unsigned long base,
 		       unsigned long size, mtrr_type type);
 	void	(*set_all)(void);
@@ -61,7 +60,6 @@ extern u64 size_or_mask, size_and_mask;
 extern const struct mtrr_ops *mtrr_if;
 
 #define is_cpu(vnd)	(mtrr_if && mtrr_if->vendor == X86_VENDOR_##vnd)
-#define use_intel()	(mtrr_if && mtrr_if->use_intel_if == 1)
 
 extern unsigned int num_var_ranges;
 extern u64 mtrr_tom2;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390687.628273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjj-0000FF-Nw; Sat, 20 Aug 2022 09:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390687.628273; Sat, 20 Aug 2022 09:25:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjj-0000C7-ED; Sat, 20 Aug 2022 09:25:47 +0000
Received: by outflank-mailman (input) for mailman id 390687;
 Sat, 20 Aug 2022 09:25:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjg-0006NK-KD
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:44 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e5d84f3-206a-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 11:25:39 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id AF1872005B;
 Sat, 20 Aug 2022 09:25:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5933213440;
 Sat, 20 Aug 2022 09:25:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KAScFJOoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e5d84f3-206a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987539; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JUJm8AzApP3BXUfz/8kYW4X5+H9Ehhz9tOTxTyy5q78=;
	b=pLwDNZdYw2eOdoTT+7tU43E4Jb9JnNXc6u/4Ne/QAtm6XHwsyV2Fd9Ul8cM8HsqGgbKKbP
	bJTrtLPgUbNpMM20fcnP4tOowZ4b2qR7nc8zd8Q9h8+omZJH7S28LBFKap+aBkpIK0QCoy
	G2ypbxWHcgr96ClzCmZzKbr93DnKD24=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Pavel Machek <pavel@ucw.cz>
Subject: [PATCH v2 09/10] x86/mtrr: add a stop_machine() handler calling only cache_cpu_init()
Date: Sat, 20 Aug 2022 11:25:32 +0200
Message-Id: <20220820092533.29420-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of having a stop_machine() handler for either a specific MTRR
register or all state at once, add a handler just for calling
cache_cpu_init() if appropriate.

Add functions for calling stop_machine() with this handler as well.

Add a generic replacements for mtrr_bp_restore() and a wrapper for
mtrr_bp_init().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- completely new replacement of former patch 2
---
 arch/x86/include/asm/cacheinfo.h |  5 +-
 arch/x86/include/asm/mtrr.h      |  4 --
 arch/x86/kernel/cpu/cacheinfo.c  | 59 +++++++++++++++++++++-
 arch/x86/kernel/cpu/common.c     |  3 +-
 arch/x86/kernel/cpu/mtrr/mtrr.c  | 87 +-------------------------------
 arch/x86/kernel/setup.c          |  3 +-
 arch/x86/kernel/smpboot.c        |  4 +-
 arch/x86/power/cpu.c             |  3 +-
 8 files changed, 72 insertions(+), 96 deletions(-)

diff --git a/arch/x86/include/asm/cacheinfo.h b/arch/x86/include/asm/cacheinfo.h
index e80ed3c523c8..a122a1aad936 100644
--- a/arch/x86/include/asm/cacheinfo.h
+++ b/arch/x86/include/asm/cacheinfo.h
@@ -14,6 +14,9 @@ void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu);
 
 void cache_disable(void);
 void cache_enable(void);
-void cache_cpu_init(void);
+void cache_bp_init(void);
+void cache_bp_restore(void);
+void cache_ap_init(void);
+void cache_aps_init(void);
 
 #endif /* _ASM_X86_CACHEINFO_H */
diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h
index 5d31219c8529..ec73d1e5bafb 100644
--- a/arch/x86/include/asm/mtrr.h
+++ b/arch/x86/include/asm/mtrr.h
@@ -42,8 +42,6 @@ extern int mtrr_add_page(unsigned long base, unsigned long size,
 extern int mtrr_del(int reg, unsigned long base, unsigned long size);
 extern int mtrr_del_page(int reg, unsigned long base, unsigned long size);
 extern void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi);
-extern void mtrr_ap_init(void);
-extern void mtrr_aps_init(void);
 extern void mtrr_bp_restore(void);
 extern int mtrr_trim_uncached_memory(unsigned long end_pfn);
 extern int amd_special_default_mtrr(void);
@@ -85,8 +83,6 @@ static inline int mtrr_trim_uncached_memory(unsigned long end_pfn)
 static inline void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi)
 {
 }
-#define mtrr_ap_init() do {} while (0)
-#define mtrr_aps_init() do {} while (0)
 #define mtrr_bp_restore() do {} while (0)
 #define mtrr_disable() do {} while (0)
 #define mtrr_enable() do {} while (0)
diff --git a/arch/x86/kernel/cpu/cacheinfo.c b/arch/x86/kernel/cpu/cacheinfo.c
index c6e7c93e45e8..4946f93eb16f 100644
--- a/arch/x86/kernel/cpu/cacheinfo.c
+++ b/arch/x86/kernel/cpu/cacheinfo.c
@@ -15,6 +15,7 @@
 #include <linux/capability.h>
 #include <linux/sysfs.h>
 #include <linux/pci.h>
+#include <linux/stop_machine.h>
 
 #include <asm/cpufeature.h>
 #include <asm/cacheinfo.h>
@@ -1121,7 +1122,7 @@ void cache_enable(void) __releases(cache_disable_lock)
 	raw_spin_unlock(&cache_disable_lock);
 }
 
-void cache_cpu_init(void)
+static void cache_cpu_init(void)
 {
 	unsigned long flags;
 
@@ -1141,3 +1142,59 @@ void cache_cpu_init(void)
 }
 
 bool cache_aps_delayed_init;
+
+static int cache_rendezvous_handler(void *unused)
+{
+	if (cache_aps_delayed_init || !cpu_online(smp_processor_id()))
+		cache_cpu_init();
+
+	return 0;
+}
+
+void __init cache_bp_init(void)
+{
+	mtrr_bp_init();
+
+	if (cache_generic)
+		cache_cpu_init();
+}
+
+void cache_bp_restore(void)
+{
+	if (cache_generic)
+		cache_cpu_init();
+}
+
+void cache_ap_init(void)
+{
+	if (!cache_generic || cache_aps_delayed_init)
+		return;
+
+	/*
+	 * Ideally we should hold mtrr_mutex here to avoid mtrr entries
+	 * changed, but this routine will be called in cpu boot time,
+	 * holding the lock breaks it.
+	 *
+	 * This routine is called in two cases:
+	 *
+	 *   1. very early time of software resume, when there absolutely
+	 *      isn't mtrr entry changes;
+	 *
+	 *   2. cpu hotadd time. We let mtrr_add/del_page hold cpuhotplug
+	 *      lock to prevent mtrr entry changes
+	 */
+	stop_machine_from_inactive_cpu(cache_rendezvous_handler, NULL,
+				       cpu_callout_mask);
+}
+
+/*
+ * Delayed cache initialization for all AP's
+ */
+void cache_aps_init(void)
+{
+	if (!cache_generic || !cache_aps_delayed_init)
+		return;
+
+	stop_machine(cache_rendezvous_handler, NULL, cpu_online_mask);
+	cache_aps_delayed_init = false;
+}
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 64a73f415f03..5c122dd17ec2 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -52,6 +52,7 @@
 #include <asm/cpu.h>
 #include <asm/mce.h>
 #include <asm/msr.h>
+#include <asm/cacheinfo.h>
 #include <asm/memtype.h>
 #include <asm/microcode.h>
 #include <asm/microcode_intel.h>
@@ -1936,7 +1937,7 @@ void identify_secondary_cpu(struct cpuinfo_x86 *c)
 #ifdef CONFIG_X86_32
 	enable_sep_cpu();
 #endif
-	mtrr_ap_init();
+	cache_ap_init();
 	validate_apic_and_package_id(c);
 	x86_spec_ctrl_setup_ap();
 	update_srbds_msr();
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index b68ec43e33a2..38531e021581 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -70,9 +70,6 @@ static const struct mtrr_ops *mtrr_ops[X86_VENDOR_NUM] __ro_after_init;
 
 const struct mtrr_ops *mtrr_if;
 
-static void set_mtrr(unsigned int reg, unsigned long base,
-		     unsigned long size, mtrr_type type);
-
 void __init set_mtrr_ops(const struct mtrr_ops *ops)
 {
 	if (ops->vendor && ops->vendor < X86_VENDOR_NUM)
@@ -155,25 +152,8 @@ static int mtrr_rendezvous_handler(void *info)
 {
 	struct set_mtrr_data *data = info;
 
-	/*
-	 * We use this same function to initialize the mtrrs during boot,
-	 * resume, runtime cpu online and on an explicit request to set a
-	 * specific MTRR.
-	 *
-	 * During boot or suspend, the state of the boot cpu's mtrrs has been
-	 * saved, and we want to replicate that across all the cpus that come
-	 * online (either at the end of boot or resume or during a runtime cpu
-	 * online). If we're doing that, @reg is set to something special and on
-	 * all the cpu's we do cache_cpu_init() (On the logical cpu that
-	 * started the boot/resume sequence, this might be a duplicate
-	 * cache_cpu_init()).
-	 */
-	if (data->smp_reg != ~0U) {
-		mtrr_if->set(data->smp_reg, data->smp_base,
-			     data->smp_size, data->smp_type);
-	} else if (cache_aps_delayed_init || !cpu_online(smp_processor_id())) {
-		cache_cpu_init();
-	}
+	mtrr_if->set(data->smp_reg, data->smp_base,
+		     data->smp_size, data->smp_type);
 	return 0;
 }
 
@@ -243,19 +223,6 @@ static void set_mtrr_cpuslocked(unsigned int reg, unsigned long base,
 	stop_machine_cpuslocked(mtrr_rendezvous_handler, &data, cpu_online_mask);
 }
 
-static void set_mtrr_from_inactive_cpu(unsigned int reg, unsigned long base,
-				      unsigned long size, mtrr_type type)
-{
-	struct set_mtrr_data data = { .smp_reg = reg,
-				      .smp_base = base,
-				      .smp_size = size,
-				      .smp_type = type
-				    };
-
-	stop_machine_from_inactive_cpu(mtrr_rendezvous_handler, &data,
-				       cpu_callout_mask);
-}
-
 /**
  * mtrr_add_page - Add a memory type region
  * @base: Physical base address of region in pages (in units of 4 kB!)
@@ -764,7 +731,6 @@ void __init mtrr_bp_init(void)
 						 CACHE_GENERIC_PAT;
 				changed_by_mtrr_cleanup =
 					mtrr_cleanup(phys_addr);
-				cache_cpu_init();
 			}
 		}
 	}
@@ -781,27 +747,6 @@ void __init mtrr_bp_init(void)
 	}
 }
 
-void mtrr_ap_init(void)
-{
-	if (!cache_generic || cache_aps_delayed_init)
-		return;
-
-	/*
-	 * Ideally we should hold mtrr_mutex here to avoid mtrr entries
-	 * changed, but this routine will be called in cpu boot time,
-	 * holding the lock breaks it.
-	 *
-	 * This routine is called in two cases:
-	 *
-	 *   1. very early time of software resume, when there absolutely
-	 *      isn't mtrr entry changes;
-	 *
-	 *   2. cpu hotadd time. We let mtrr_add/del_page hold cpuhotplug
-	 *      lock to prevent mtrr entry changes
-	 */
-	set_mtrr_from_inactive_cpu(~0U, 0, 0, 0);
-}
-
 /**
  * mtrr_save_state - Save current fixed-range MTRR state of the first
  *	cpu in cpu_online_mask.
@@ -817,34 +762,6 @@ void mtrr_save_state(void)
 	smp_call_function_single(first_cpu, mtrr_save_fixed_ranges, NULL, 1);
 }
 
-/*
- * Delayed MTRR initialization for all AP's
- */
-void mtrr_aps_init(void)
-{
-	if (!cache_generic)
-		return;
-
-	/*
-	 * Check if someone has requested the delay of AP MTRR initialization,
-	 * by doing set_mtrr_aps_delayed_init(), prior to this point. If not,
-	 * then we are done.
-	 */
-	if (!cache_aps_delayed_init)
-		return;
-
-	set_mtrr(~0U, 0, 0, 0);
-	cache_aps_delayed_init = false;
-}
-
-void mtrr_bp_restore(void)
-{
-	if (!cache_generic)
-		return;
-
-	cache_cpu_init();
-}
-
 static int __init mtrr_init_finialize(void)
 {
 	if (!mtrr_enabled)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 216fee7144ee..e0e185ee0229 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -34,6 +34,7 @@
 #include <asm/numa.h>
 #include <asm/bios_ebda.h>
 #include <asm/bugs.h>
+#include <asm/cacheinfo.h>
 #include <asm/cpu.h>
 #include <asm/efi.h>
 #include <asm/gart.h>
@@ -1075,7 +1076,7 @@ void __init setup_arch(char **cmdline_p)
 
 	/* update e820 for memory not covered by WB MTRRs */
 	if (IS_ENABLED(CONFIG_MTRR))
-		mtrr_bp_init();
+		cache_bp_init();
 	else
 		pat_disable("PAT support disabled because CONFIG_MTRR is disabled in the kernel.");
 
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index ef7bce21cbe8..ff793f436904 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1445,7 +1445,7 @@ void arch_thaw_secondary_cpus_begin(void)
 
 void arch_thaw_secondary_cpus_end(void)
 {
-	mtrr_aps_init();
+	cache_aps_init();
 }
 
 /*
@@ -1488,7 +1488,7 @@ void __init native_smp_cpus_done(unsigned int max_cpus)
 
 	nmi_selftest();
 	impress_friends();
-	mtrr_aps_init();
+	cache_aps_init();
 }
 
 static int __initdata setup_possible_cpus = -1;
diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c
index bb176c72891c..754221c9a1c3 100644
--- a/arch/x86/power/cpu.c
+++ b/arch/x86/power/cpu.c
@@ -23,6 +23,7 @@
 #include <asm/fpu/api.h>
 #include <asm/debugreg.h>
 #include <asm/cpu.h>
+#include <asm/cacheinfo.h>
 #include <asm/mmu_context.h>
 #include <asm/cpu_device_id.h>
 #include <asm/microcode.h>
@@ -261,7 +262,7 @@ static void notrace __restore_processor_state(struct saved_context *ctxt)
 	do_fpu_end();
 	tsc_verify_tsc_adjust(true);
 	x86_platform.restore_sched_clock_state();
-	mtrr_bp_restore();
+	cache_bp_restore();
 	perf_restore_debug_store();
 
 	c = &cpu_data(smp_processor_id());
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390685.628241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjg-0007kM-F3; Sat, 20 Aug 2022 09:25:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390685.628241; Sat, 20 Aug 2022 09:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjg-0007hw-4Q; Sat, 20 Aug 2022 09:25:44 +0000
Received: by outflank-mailman (input) for mailman id 390685;
 Sat, 20 Aug 2022 09:25:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKje-0006NK-Jp
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:42 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0dc3056f-206a-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 11:25:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B0B3034367;
 Sat, 20 Aug 2022 09:25:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 728BA13440;
 Sat, 20 Aug 2022 09:25:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mIm5GpKoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0dc3056f-206a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987538; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=UlbRhwJUB+EdBZOc37IvbCp3QAOY+aESAq1E4i9TKiY=;
	b=JshuIRAceP6IJvA0riFQZSd2Htq4cpLIftqmAiiPsVriEG1H1DgpOwVRp2+8gYx4bUYnBb
	sQbmVHPAY3GUOWlsvTHo51jdOnlUOMv3p5HaCzn7K4N9tsevg+T3Ozz1KMjE1SvLp4mQu8
	n4aCd4tPKKFeEe1Nguuec2jpFNoUCig=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH v2 06/10] x86/mtrr: remove set_all callback from struct mtrr_ops
Date: Sat, 20 Aug 2022 11:25:29 +0200
Message-Id: <20220820092533.29420-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of using an indirect call to mtrr_if->set_all just call the
only possible target cache_cpu_init() directly. This enables to remove
the set_all callback from struct mtrr_ops.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kernel/cpu/mtrr/generic.c |  1 -
 arch/x86/kernel/cpu/mtrr/mtrr.c    | 10 +++++-----
 arch/x86/kernel/cpu/mtrr/mtrr.h    |  2 --
 3 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index 0be6d43ec1fe..1c6260b94cb9 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -848,7 +848,6 @@ int positive_have_wrcomb(void)
  * Generic structure...
  */
 const struct mtrr_ops generic_mtrr_ops = {
-	.set_all		= cache_cpu_init,
 	.get			= generic_get_mtrr,
 	.get_free_region	= generic_get_free_region,
 	.set			= generic_set_mtrr,
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index 4cd9c8d1473e..19662ab057be 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -165,15 +165,15 @@ static int mtrr_rendezvous_handler(void *info)
 	 * saved, and we want to replicate that across all the cpus that come
 	 * online (either at the end of boot or resume or during a runtime cpu
 	 * online). If we're doing that, @reg is set to something special and on
-	 * all the cpu's we do mtrr_if->set_all() (On the logical cpu that
+	 * all the cpu's we do cache_cpu_init() (On the logical cpu that
 	 * started the boot/resume sequence, this might be a duplicate
-	 * set_all()).
+	 * cache_cpu_init()).
 	 */
 	if (data->smp_reg != ~0U) {
 		mtrr_if->set(data->smp_reg, data->smp_base,
 			     data->smp_size, data->smp_type);
 	} else if (mtrr_aps_delayed_init || !cpu_online(smp_processor_id())) {
-		mtrr_if->set_all();
+		cache_cpu_init();
 	}
 	return 0;
 }
@@ -768,7 +768,7 @@ void __init mtrr_bp_init(void)
 
 			if (mtrr_cleanup(phys_addr)) {
 				changed_by_mtrr_cleanup = 1;
-				mtrr_if->set_all();
+				cache_cpu_init();
 			}
 		}
 	}
@@ -854,7 +854,7 @@ void mtrr_bp_restore(void)
 	if (!cache_generic)
 		return;
 
-	mtrr_if->set_all();
+	cache_cpu_init();
 }
 
 static int __init mtrr_init_finialize(void)
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.h b/arch/x86/kernel/cpu/mtrr/mtrr.h
index 88b1c4b6174a..3b1883185185 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.h
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.h
@@ -16,8 +16,6 @@ struct mtrr_ops {
 	u32	vendor;
 	void	(*set)(unsigned int reg, unsigned long base,
 		       unsigned long size, mtrr_type type);
-	void	(*set_all)(void);
-
 	void	(*get)(unsigned int reg, unsigned long *base,
 		       unsigned long *size, mtrr_type *type);
 	int	(*get_free_region)(unsigned long base, unsigned long size,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390682.628221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKje-0007KS-Un; Sat, 20 Aug 2022 09:25:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390682.628221; Sat, 20 Aug 2022 09:25:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKje-0007Jq-P9; Sat, 20 Aug 2022 09:25:42 +0000
Received: by outflank-mailman (input) for mailman id 390682;
 Sat, 20 Aug 2022 09:25:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjc-0006NL-KS
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:40 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0df6ce76-206a-11ed-bd2e-47488cf2e6aa;
 Sat, 20 Aug 2022 11:25:39 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 023FA1FEFD;
 Sat, 20 Aug 2022 09:25:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B9C3D13440;
 Sat, 20 Aug 2022 09:25:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ADMoLJKoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0df6ce76-206a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987539; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ApIUNLFVl6HZvnRkU+2Ix/2f56BO+zXK/TglyOeKv+E=;
	b=OVoRIvF8goFpMJZ0uw8ySeIl4Um60lYLwlPgpnYvUUYtNsnSHo8XctJ0ZyOjXo9aoCYVY/
	HbZEEu/C4KJYA4TEC5WeYmVy5Mu7qV0eKj4IAfguw+7mzASrNc6L9fylPZZ+eikjdzX2Qv
	R9IyrLHZQ9dN6daxeRRiHELCANSgRLw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH v2 07/10] x86/mtrr: simplify mtrr_bp_init()
Date: Sat, 20 Aug 2022 11:25:30 +0200
Message-Id: <20220820092533.29420-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In case of the generic cache interface being used (Intel cpus or a
64-bit system), the initialization sequence of the boot cpu is more
complicated as necessary:

- check if MTRR enabled, if yes, call mtrr_bp_pat_init() which will
  disable caching, set the PAT MSR, and reenable caching

- call mtrr_cleanup(), in case that changed anything, call
  cache_cpu_init() doing the same caching disable/enable dance as
  above, but this time with setting the (modified) MTRR state (even
  if MTRR was disabled) AND setting the PAT MSR (again even with
  disabled MTRR)

The sequence can be simplified a lot while removing potential
inconsistencies:

- check if MTRR enabled, if yes, call mtrr_cleanup() and then
  cache_cpu_init()

This ensures to:

- no longer disable/enable caching more than once

- avoid to set MTRRs and/or the PAT MSR on the boot processor in case
  of MTRR cleanups even if MTRRs meant to be disabled

With that mtrr_bp_pat_init() can be removed.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 arch/x86/kernel/cpu/mtrr/generic.c | 14 --------------
 arch/x86/kernel/cpu/mtrr/mtrr.c    |  7 ++-----
 arch/x86/kernel/cpu/mtrr/mtrr.h    |  1 -
 3 files changed, 2 insertions(+), 20 deletions(-)

diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index 1c6260b94cb9..b6be476c77af 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -442,20 +442,6 @@ static void __init print_mtrr_state(void)
 		pr_debug("TOM2: %016llx aka %lldM\n", mtrr_tom2, mtrr_tom2>>20);
 }
 
-/* PAT setup for BP. We need to go through sync steps here */
-void __init mtrr_bp_pat_init(void)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	cache_disable();
-
-	pat_init();
-
-	cache_enable();
-	local_irq_restore(flags);
-}
-
 /* Grab all of the MTRR state for this CPU into *state */
 bool __init get_mtrr_state(void)
 {
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index 19662ab057be..ca348dcc5bf8 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -761,13 +761,10 @@ void __init mtrr_bp_init(void)
 			mtrr_enabled = get_mtrr_state();
 
 			if (mtrr_enabled) {
-				mtrr_bp_pat_init();
 				cache_generic |= CACHE_GENERIC_MTRR |
 						 CACHE_GENERIC_PAT;
-			}
-
-			if (mtrr_cleanup(phys_addr)) {
-				changed_by_mtrr_cleanup = 1;
+				changed_by_mtrr_cleanup =
+					mtrr_cleanup(phys_addr);
 				cache_cpu_init();
 			}
 		}
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.h b/arch/x86/kernel/cpu/mtrr/mtrr.h
index 3b1883185185..c98928ceee6a 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.h
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.h
@@ -50,7 +50,6 @@ void set_mtrr_prepare_save(struct set_mtrr_context *ctxt);
 void fill_mtrr_var_range(unsigned int index,
 		u32 base_lo, u32 base_hi, u32 mask_lo, u32 mask_hi);
 bool get_mtrr_state(void);
-void mtrr_bp_pat_init(void);
 
 extern void __init set_mtrr_ops(const struct mtrr_ops *ops);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390680.628195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjd-0006hn-9D; Sat, 20 Aug 2022 09:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390680.628195; Sat, 20 Aug 2022 09:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjd-0006fB-3P; Sat, 20 Aug 2022 09:25:41 +0000
Received: by outflank-mailman (input) for mailman id 390680;
 Sat, 20 Aug 2022 09:25:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjb-0006NK-SS
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:39 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d049294-206a-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 11:25:37 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 74AEB1FAB0;
 Sat, 20 Aug 2022 09:25:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2EA7513440;
 Sat, 20 Aug 2022 09:25:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oKf+CZGoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d049294-206a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987537; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=0gjmfenIvywBVf50iHOvJGRTYSPveQrXTU08CzyNoCY=;
	b=BqdX/14cAakxRQyKAhO65J4h9xsR0T7dbg6/jEYZjEbmtxjh0iAKszwYrhWIOXn9Z6MxvT
	xoYP+siT0ssDMrA2jTHAKGCC3fTwN9qvGW+BeiP/B/kIgLR+Mh0DfmcuIh/VU6Xe79Amxv
	ERgSGeKIrH4w+QpK9axgoFZsg+7FNwo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
Date: Sat, 20 Aug 2022 11:25:25 +0200
Message-Id: <20220820092533.29420-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The Cyrix cpu specific MTRR function cyrix_set_all() will never be
called, as the struct mtrr_ops set_all() callback will only be called
in the use_intel() case, which would require the use_intel_if member
of struct mtrr_ops to be set, which isn't the case for Cyrix.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 arch/x86/kernel/cpu/mtrr/cyrix.c | 34 --------------------------------
 1 file changed, 34 deletions(-)

diff --git a/arch/x86/kernel/cpu/mtrr/cyrix.c b/arch/x86/kernel/cpu/mtrr/cyrix.c
index ca670919b561..c77d3b0a5bf2 100644
--- a/arch/x86/kernel/cpu/mtrr/cyrix.c
+++ b/arch/x86/kernel/cpu/mtrr/cyrix.c
@@ -234,42 +234,8 @@ static void cyrix_set_arr(unsigned int reg, unsigned long base,
 	post_set();
 }
 
-typedef struct {
-	unsigned long	base;
-	unsigned long	size;
-	mtrr_type	type;
-} arr_state_t;
-
-static arr_state_t arr_state[8] = {
-	{0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL},
-	{0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}
-};
-
-static unsigned char ccr_state[7] = { 0, 0, 0, 0, 0, 0, 0 };
-
-static void cyrix_set_all(void)
-{
-	int i;
-
-	prepare_set();
-
-	/* the CCRs are not contiguous */
-	for (i = 0; i < 4; i++)
-		setCx86(CX86_CCR0 + i, ccr_state[i]);
-	for (; i < 7; i++)
-		setCx86(CX86_CCR4 + i, ccr_state[i]);
-
-	for (i = 0; i < 8; i++) {
-		cyrix_set_arr(i, arr_state[i].base,
-			      arr_state[i].size, arr_state[i].type);
-	}
-
-	post_set();
-}
-
 static const struct mtrr_ops cyrix_mtrr_ops = {
 	.vendor            = X86_VENDOR_CYRIX,
-	.set_all	   = cyrix_set_all,
 	.set               = cyrix_set_arr,
 	.get               = cyrix_get_arr,
 	.get_free_region   = cyrix_get_free_region,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390681.628201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjd-0006p5-L2; Sat, 20 Aug 2022 09:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390681.628201; Sat, 20 Aug 2022 09:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjd-0006oJ-FJ; Sat, 20 Aug 2022 09:25:41 +0000
Received: by outflank-mailman (input) for mailman id 390681;
 Sat, 20 Aug 2022 09:25:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjc-0006NK-Aq
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:40 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0cdff878-206a-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 11:25:37 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 25C021FA75;
 Sat, 20 Aug 2022 09:25:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D0E1B13440;
 Sat, 20 Aug 2022 09:25:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6DubMZCoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cdff878-206a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987537; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=dNonIY2eSN2qALXA1xwqca8n1uiC2OZmHsAoG2ku6S4=;
	b=V/DSldnei2N0b/QjoZVHWD91fOusf/NBo0/8KqkWOsov44+Zf25qNDINpw+6cJHaFuWV2n
	sIcrQI04yUJyzSgBFXyN9sl+qQyIuu1oi2bh6+M/3sIkYTYNpNHAkgh4E1QpuICJVDdhgt
	BKvehrmm4SOtEce3Ucp+OllxKvMFKgI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	stable@vger.kernel.org
Subject: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
Date: Sat, 20 Aug 2022 11:25:24 +0200
Message-Id: <20220820092533.29420-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When booting or resuming the system MTRR state is saved on the boot
processor and then this state is loaded into MTRRs of all other cpus.
During update of the MTRRs the MTRR mechanism needs to be disabled by
writing the related MSR. The old contents of this MSR are saved in a
set of static variables and later those static variables are used to
restore the MSR.

In case the MSR contents need to be modified on a cpu due to the MSR
not having been initialized properly by the BIOS, the related update
function is modifying the static variables accordingly.

Unfortunately the MTRR state update is usually running on all cpus
at the same time, so using just one set of static variables for all
cpus is racy in case the MSR contents differ across cpus.

Fix that by using percpu variables for saving the MSR contents.

Cc: stable@vger.kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>
---
I thought adding a "Fixes:" tag for the kernel's initial git commit
would maybe be entertaining, but without being really helpful.
The percpu variables were preferred over on-stack ones in order to
avoid more code churn in followup patches decoupling PAT from MTRR
support.
V2:
- new patch
---
 arch/x86/kernel/cpu/mtrr/generic.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index 558108296f3c..3d185fcf08ca 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -679,7 +679,8 @@ static bool set_mtrr_var_ranges(unsigned int index, struct mtrr_var_range *vr)
 	return changed;
 }
 
-static u32 deftype_lo, deftype_hi;
+static DEFINE_PER_CPU(u32, deftype_lo);
+static DEFINE_PER_CPU(u32, deftype_hi);
 
 /**
  * set_mtrr_state - Set the MTRR state for this CPU.
@@ -691,6 +692,7 @@ static unsigned long set_mtrr_state(void)
 {
 	unsigned long change_mask = 0;
 	unsigned int i;
+	u32 *lo = this_cpu_ptr(&deftype_lo);
 
 	for (i = 0; i < num_var_ranges; i++) {
 		if (set_mtrr_var_ranges(i, &mtrr_state.var_ranges[i]))
@@ -704,10 +706,10 @@ static unsigned long set_mtrr_state(void)
 	 * Set_mtrr_restore restores the old value of MTRRdefType,
 	 * so to set it we fiddle with the saved value:
 	 */
-	if ((deftype_lo & 0xff) != mtrr_state.def_type
-	    || ((deftype_lo & 0xc00) >> 10) != mtrr_state.enabled) {
+	if ((*lo & 0xff) != mtrr_state.def_type
+	    || ((*lo & 0xc00) >> 10) != mtrr_state.enabled) {
 
-		deftype_lo = (deftype_lo & ~0xcff) | mtrr_state.def_type |
+		*lo = (*lo & ~0xcff) | mtrr_state.def_type |
 			     (mtrr_state.enabled << 10);
 		change_mask |= MTRR_CHANGE_MASK_DEFTYPE;
 	}
@@ -729,6 +731,8 @@ static DEFINE_RAW_SPINLOCK(set_atomicity_lock);
 static void prepare_set(void) __acquires(set_atomicity_lock)
 {
 	unsigned long cr0;
+	u32 *lo = this_cpu_ptr(&deftype_lo);
+	u32 *hi = this_cpu_ptr(&deftype_hi);
 
 	/*
 	 * Note that this is not ideal
@@ -763,10 +767,10 @@ static void prepare_set(void) __acquires(set_atomicity_lock)
 	flush_tlb_local();
 
 	/* Save MTRR state */
-	rdmsr(MSR_MTRRdefType, deftype_lo, deftype_hi);
+	rdmsr(MSR_MTRRdefType, *lo, *hi);
 
 	/* Disable MTRRs, and set the default type to uncached */
-	mtrr_wrmsr(MSR_MTRRdefType, deftype_lo & ~0xcff, deftype_hi);
+	mtrr_wrmsr(MSR_MTRRdefType, *lo & ~0xcff, *hi);
 
 	/* Again, only flush caches if we have to. */
 	if (!static_cpu_has(X86_FEATURE_SELFSNOOP))
@@ -775,12 +779,15 @@ static void prepare_set(void) __acquires(set_atomicity_lock)
 
 static void post_set(void) __releases(set_atomicity_lock)
 {
+	u32 *lo = this_cpu_ptr(&deftype_lo);
+	u32 *hi = this_cpu_ptr(&deftype_hi);
+
 	/* Flush TLBs (no need to flush caches - they are disabled) */
 	count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL);
 	flush_tlb_local();
 
 	/* Intel (P6) standard MTRRs */
-	mtrr_wrmsr(MSR_MTRRdefType, deftype_lo, deftype_hi);
+	mtrr_wrmsr(MSR_MTRRdefType, *lo, *hi);
 
 	/* Enable caches */
 	write_cr0(read_cr0() & ~X86_CR0_CD);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390683.628228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjf-0007R2-C9; Sat, 20 Aug 2022 09:25:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390683.628228; Sat, 20 Aug 2022 09:25:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjf-0007Q2-4W; Sat, 20 Aug 2022 09:25:43 +0000
Received: by outflank-mailman (input) for mailman id 390683;
 Sat, 20 Aug 2022 09:25:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjc-0006NK-Pi
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d6a01b0-206a-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 11:25:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 206943435A;
 Sat, 20 Aug 2022 09:25:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C94FE13440;
 Sat, 20 Aug 2022 09:25:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 8G7BL5GoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d6a01b0-206a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987538; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JDumrHgKrBNPtMTfhWyZ4csCcjK0/8ieooTma4S3Dm8=;
	b=svZxP+pm6baKT31kYNqJaURbLddSo6zE8EiJggJc9DT217A0hg390iq3f4fncdBUcVjmeD
	jA9kPvyw+AeFUXDl4ip2lT+++L70em15XET/aD6NthQMWxb6VQGxPoH0qTsjd1wix0sK+s
	Yx+szNaUm2d2QxYpP2p6nI5l9fCYuh0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH v2 04/10] x86: move some code out of arch/x86/kernel/cpu/mtrr
Date: Sat, 20 Aug 2022 11:25:27 +0200
Message-Id: <20220820092533.29420-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Prepare making PAT and MTRR support independent from each other by
moving some code needed by both out of the MTRR specific sources.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- move code from cpu/common.c to cpu/cacheinfo.c (Boris Petkov)
---
 arch/x86/include/asm/cacheinfo.h   |  3 ++
 arch/x86/include/asm/mtrr.h        |  4 ++
 arch/x86/kernel/cpu/cacheinfo.c    | 77 ++++++++++++++++++++++++++++
 arch/x86/kernel/cpu/mtrr/generic.c | 80 ++++--------------------------
 4 files changed, 93 insertions(+), 71 deletions(-)

diff --git a/arch/x86/include/asm/cacheinfo.h b/arch/x86/include/asm/cacheinfo.h
index 1aeafa9888f7..313a6920d0f9 100644
--- a/arch/x86/include/asm/cacheinfo.h
+++ b/arch/x86/include/asm/cacheinfo.h
@@ -10,4 +10,7 @@ extern unsigned int cache_generic;
 void cacheinfo_amd_init_llc_id(struct cpuinfo_x86 *c, int cpu);
 void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu);
 
+void cache_disable(void);
+void cache_enable(void);
+
 #endif /* _ASM_X86_CACHEINFO_H */
diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h
index 76d726074c16..12a16caed395 100644
--- a/arch/x86/include/asm/mtrr.h
+++ b/arch/x86/include/asm/mtrr.h
@@ -48,6 +48,8 @@ extern void mtrr_aps_init(void);
 extern void mtrr_bp_restore(void);
 extern int mtrr_trim_uncached_memory(unsigned long end_pfn);
 extern int amd_special_default_mtrr(void);
+void mtrr_disable(void);
+void mtrr_enable(void);
 #  else
 static inline u8 mtrr_type_lookup(u64 addr, u64 end, u8 *uniform)
 {
@@ -87,6 +89,8 @@ static inline void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi)
 #define set_mtrr_aps_delayed_init() do {} while (0)
 #define mtrr_aps_init() do {} while (0)
 #define mtrr_bp_restore() do {} while (0)
+#define mtrr_disable() do {} while (0)
+#define mtrr_enable() do {} while (0)
 #  endif
 
 #ifdef CONFIG_COMPAT
diff --git a/arch/x86/kernel/cpu/cacheinfo.c b/arch/x86/kernel/cpu/cacheinfo.c
index 3b05d3ade7a6..47e2c72fa8a4 100644
--- a/arch/x86/kernel/cpu/cacheinfo.c
+++ b/arch/x86/kernel/cpu/cacheinfo.c
@@ -20,6 +20,8 @@
 #include <asm/cacheinfo.h>
 #include <asm/amd_nb.h>
 #include <asm/smp.h>
+#include <asm/mtrr.h>
+#include <asm/tlbflush.h>
 
 #include "cpu.h"
 
@@ -1043,3 +1045,78 @@ int populate_cache_leaves(unsigned int cpu)
 
 	return 0;
 }
+
+/*
+ * Disable and enable caches. Needed for changing MTRRs and the PAT MSR.
+ *
+ * Since we are disabling the cache don't allow any interrupts,
+ * they would run extremely slow and would only increase the pain.
+ *
+ * The caller must ensure that local interrupts are disabled and
+ * are reenabled after cache_enable() has been called.
+ */
+static unsigned long saved_cr4;
+static DEFINE_RAW_SPINLOCK(cache_disable_lock);
+
+void cache_disable(void) __acquires(cache_disable_lock)
+{
+	unsigned long cr0;
+
+	/*
+	 * Note that this is not ideal
+	 * since the cache is only flushed/disabled for this CPU while the
+	 * MTRRs are changed, but changing this requires more invasive
+	 * changes to the way the kernel boots
+	 */
+
+	raw_spin_lock(&cache_disable_lock);
+
+	/* Enter the no-fill (CD=1, NW=0) cache mode and flush caches. */
+	cr0 = read_cr0() | X86_CR0_CD;
+	write_cr0(cr0);
+
+	/*
+	 * Cache flushing is the most time-consuming step when programming
+	 * the MTRRs. Fortunately, as per the Intel Software Development
+	 * Manual, we can skip it if the processor supports cache self-
+	 * snooping.
+	 */
+	if (!static_cpu_has(X86_FEATURE_SELFSNOOP))
+		wbinvd();
+
+	/* Save value of CR4 and clear Page Global Enable (bit 7) */
+	if (boot_cpu_has(X86_FEATURE_PGE)) {
+		saved_cr4 = __read_cr4();
+		__write_cr4(saved_cr4 & ~X86_CR4_PGE);
+	}
+
+	/* Flush all TLBs via a mov %cr3, %reg; mov %reg, %cr3 */
+	count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL);
+	flush_tlb_local();
+
+	if (boot_cpu_has(X86_FEATURE_MTRR))
+		mtrr_disable();
+
+	/* Again, only flush caches if we have to. */
+	if (!static_cpu_has(X86_FEATURE_SELFSNOOP))
+		wbinvd();
+}
+
+void cache_enable(void) __releases(cache_disable_lock)
+{
+	/* Flush TLBs (no need to flush caches - they are disabled) */
+	count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL);
+	flush_tlb_local();
+
+	if (boot_cpu_has(X86_FEATURE_MTRR))
+		mtrr_enable();
+
+	/* Enable caches */
+	write_cr0(read_cr0() & ~X86_CR0_CD);
+
+	/* Restore value of CR4 */
+	if (boot_cpu_has(X86_FEATURE_PGE))
+		__write_cr4(saved_cr4);
+
+	raw_spin_unlock(&cache_disable_lock);
+}
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index 3c3c7919de5b..a9ac159b1566 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -10,6 +10,7 @@
 #include <linux/mm.h>
 
 #include <asm/processor-flags.h>
+#include <asm/cacheinfo.h>
 #include <asm/cpufeature.h>
 #include <asm/tlbflush.h>
 #include <asm/mtrr.h>
@@ -396,9 +397,6 @@ print_fixed(unsigned base, unsigned step, const mtrr_type *types)
 	}
 }
 
-static void prepare_set(void);
-static void post_set(void);
-
 static void __init print_mtrr_state(void)
 {
 	unsigned int i;
@@ -450,11 +448,11 @@ void __init mtrr_bp_pat_init(void)
 	unsigned long flags;
 
 	local_irq_save(flags);
-	prepare_set();
+	cache_disable();
 
 	pat_init();
 
-	post_set();
+	cache_enable();
 	local_irq_restore(flags);
 }
 
@@ -717,85 +715,25 @@ static unsigned long set_mtrr_state(void)
 	return change_mask;
 }
 
-
-static unsigned long cr4;
-static DEFINE_RAW_SPINLOCK(set_atomicity_lock);
-
-/*
- * Since we are disabling the cache don't allow any interrupts,
- * they would run extremely slow and would only increase the pain.
- *
- * The caller must ensure that local interrupts are disabled and
- * are reenabled after post_set() has been called.
- */
-static void prepare_set(void) __acquires(set_atomicity_lock)
+void mtrr_disable(void)
 {
-	unsigned long cr0;
 	u32 *lo = this_cpu_ptr(&deftype_lo);
 	u32 *hi = this_cpu_ptr(&deftype_hi);
 
-	/*
-	 * Note that this is not ideal
-	 * since the cache is only flushed/disabled for this CPU while the
-	 * MTRRs are changed, but changing this requires more invasive
-	 * changes to the way the kernel boots
-	 */
-
-	raw_spin_lock(&set_atomicity_lock);
-
-	/* Enter the no-fill (CD=1, NW=0) cache mode and flush caches. */
-	cr0 = read_cr0() | X86_CR0_CD;
-	write_cr0(cr0);
-
-	/*
-	 * Cache flushing is the most time-consuming step when programming
-	 * the MTRRs. Fortunately, as per the Intel Software Development
-	 * Manual, we can skip it if the processor supports cache self-
-	 * snooping.
-	 */
-	if (!static_cpu_has(X86_FEATURE_SELFSNOOP))
-		wbinvd();
-
-	/* Save value of CR4 and clear Page Global Enable (bit 7) */
-	if (boot_cpu_has(X86_FEATURE_PGE)) {
-		cr4 = __read_cr4();
-		__write_cr4(cr4 & ~X86_CR4_PGE);
-	}
-
-	/* Flush all TLBs via a mov %cr3, %reg; mov %reg, %cr3 */
-	count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL);
-	flush_tlb_local();
-
 	/* Save MTRR state */
 	rdmsr(MSR_MTRRdefType, *lo, *hi);
 
 	/* Disable MTRRs, and set the default type to uncached */
 	mtrr_wrmsr(MSR_MTRRdefType, *lo & ~0xcff, *hi);
-
-	/* Again, only flush caches if we have to. */
-	if (!static_cpu_has(X86_FEATURE_SELFSNOOP))
-		wbinvd();
 }
 
-static void post_set(void) __releases(set_atomicity_lock)
+void mtrr_enable(void)
 {
 	u32 *lo = this_cpu_ptr(&deftype_lo);
 	u32 *hi = this_cpu_ptr(&deftype_hi);
 
-	/* Flush TLBs (no need to flush caches - they are disabled) */
-	count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL);
-	flush_tlb_local();
-
 	/* Intel (P6) standard MTRRs */
 	mtrr_wrmsr(MSR_MTRRdefType, *lo, *hi);
-
-	/* Enable caches */
-	write_cr0(read_cr0() & ~X86_CR0_CD);
-
-	/* Restore value of CR4 */
-	if (boot_cpu_has(X86_FEATURE_PGE))
-		__write_cr4(cr4);
-	raw_spin_unlock(&set_atomicity_lock);
 }
 
 static void generic_set_all(void)
@@ -804,7 +742,7 @@ static void generic_set_all(void)
 	unsigned long flags;
 
 	local_irq_save(flags);
-	prepare_set();
+	cache_disable();
 
 	/* Actually set the state */
 	mask = set_mtrr_state();
@@ -812,7 +750,7 @@ static void generic_set_all(void)
 	/* also set PAT */
 	pat_init();
 
-	post_set();
+	cache_enable();
 	local_irq_restore(flags);
 
 	/* Use the atomic bitops to update the global mask */
@@ -843,7 +781,7 @@ static void generic_set_mtrr(unsigned int reg, unsigned long base,
 	vr = &mtrr_state.var_ranges[reg];
 
 	local_irq_save(flags);
-	prepare_set();
+	cache_disable();
 
 	if (size == 0) {
 		/*
@@ -862,7 +800,7 @@ static void generic_set_mtrr(unsigned int reg, unsigned long base,
 		mtrr_wrmsr(MTRRphysMask_MSR(reg), vr->mask_lo, vr->mask_hi);
 	}
 
-	post_set();
+	cache_enable();
 	local_irq_restore(flags);
 }
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390678.628178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjb-0006NY-NT; Sat, 20 Aug 2022 09:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390678.628178; Sat, 20 Aug 2022 09:25:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjb-0006NR-J7; Sat, 20 Aug 2022 09:25:39 +0000
Received: by outflank-mailman (input) for mailman id 390678;
 Sat, 20 Aug 2022 09:25:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjb-0006NL-6g
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0cd3474e-206a-11ed-bd2e-47488cf2e6aa;
 Sat, 20 Aug 2022 11:25:37 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C5923337A8;
 Sat, 20 Aug 2022 09:25:36 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 627FB13440;
 Sat, 20 Aug 2022 09:25:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WEGEFpCoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cd3474e-206a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987536; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=kJU1ufk7XsI6BxvM7y8ee3l2GxtzRVD+Tg1mt0G7ZYc=;
	b=J+NnjJlsSZkjxe4+QRQfV1WFaeKpYiRY31Xsi/w8OiVSq6NjuIY7p8QpDu1g83mJSEjP7U
	/WkFYpr2jvyeLB11aZ9DKc94f+Ghl4j9SAWsS5iXxO6dtpRNXWvJR9jrx4LohFq/zijX8q
	F/nJvM90ehANBi/p58aDfOujwRwNRrs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	stable@vger.kernel.org,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>
Subject: [PATCH v2 00/10] x86: make pat and mtrr independent from each other
Date: Sat, 20 Aug 2022 11:25:23 +0200
Message-Id: <20220820092533.29420-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today PAT can't be used without MTRR being available, unless MTRR is at
least configured via CONFIG_MTRR and the system is running as Xen PV
guest. In this case PAT is automatically available via the hypervisor,
but the PAT MSR can't be modified by the kernel and MTRR is disabled.

The same applies to a kernel built with no MTRR support: it won't
allow to use the PAT MSR, even if there is no technical reason for
that, other than setting up PAT on all cpus the same way (which is a
requirement of the processor's cache management) is relying on some
MTRR specific code.

Fix all of that by:

- moving the function needed by PAT from MTRR specific code one level
  up
- reworking the init sequences of MTRR and PAT to be more similar to
  each other without calling PAT from MTRR code
- removing the dependency of PAT on MTRR

While working on that I discovered two minor bugs in MTRR code, which
are fixed, too.

Changes in V2:
- complete rework of the patches based on comments by Boris Petkov
- added several patches to the series

Juergen Gross (10):
  x86/mtrr: fix MTRR fixup on APs
  x86/mtrr: remove unused cyrix_set_all() function
  x86/mtrr: replace use_intel() with a local flag
  x86: move some code out of arch/x86/kernel/cpu/mtrr
  x86/mtrr: split generic_set_all()
  x86/mtrr: remove set_all callback from struct mtrr_ops
  x86/mtrr: simplify mtrr_bp_init()
  x86/mtrr: let cache_aps_delayed_init replace mtrr_aps_delayed_init
  x86/mtrr: add a stop_machine() handler calling only cache_cpu_init()
  x86: decouple pat and mtrr handling

 arch/x86/include/asm/cacheinfo.h   |  14 +++
 arch/x86/include/asm/memtype.h     |   5 +-
 arch/x86/include/asm/mtrr.h        |  12 +--
 arch/x86/kernel/cpu/cacheinfo.c    | 159 +++++++++++++++++++++++++++++
 arch/x86/kernel/cpu/common.c       |   3 +-
 arch/x86/kernel/cpu/mtrr/cyrix.c   |  34 ------
 arch/x86/kernel/cpu/mtrr/generic.c | 120 ++++------------------
 arch/x86/kernel/cpu/mtrr/mtrr.c    | 158 +++++-----------------------
 arch/x86/kernel/cpu/mtrr/mtrr.h    |   5 -
 arch/x86/kernel/setup.c            |  14 +--
 arch/x86/kernel/smpboot.c          |   9 +-
 arch/x86/mm/pat/memtype.c          | 127 +++++++----------------
 arch/x86/power/cpu.c               |   3 +-
 13 files changed, 274 insertions(+), 389 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390686.628258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjh-0008Cu-Ul; Sat, 20 Aug 2022 09:25:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390686.628258; Sat, 20 Aug 2022 09:25:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjh-0008BU-MS; Sat, 20 Aug 2022 09:25:45 +0000
Received: by outflank-mailman (input) for mailman id 390686;
 Sat, 20 Aug 2022 09:25:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjf-0006NK-K0
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:43 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e2af96d-206a-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 11:25:39 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4EEFC1FF2C;
 Sat, 20 Aug 2022 09:25:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0B50113440;
 Sat, 20 Aug 2022 09:25:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mJiRAZOoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e2af96d-206a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987539; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=1+9qSe12eN9aldkpJUagir7LS9P8+Ie9bYA0m7OCmgU=;
	b=jwQV9DUHU1m/w4KwDZAHaiEgHp1+vBu8JBDI1SuKu/yWHL8/ABmTvpPvgpWrYOuArNxHcA
	6u/QFmufL8ScBAHFisN+w6l5yU12CyLZAMh/A+rxn6+kt31lLZHX1UQhA3ImTT+cIu95tf
	VJgKfXxWw3RWqW6W5SSwEXsd1mu8Ztg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH v2 08/10] x86/mtrr: let cache_aps_delayed_init replace mtrr_aps_delayed_init
Date: Sat, 20 Aug 2022 11:25:31 +0200
Message-Id: <20220820092533.29420-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to prepare decoupling MTRR and PAT replace the MTRR specific
mtrr_aps_delayed_init flag with a more generic cache_aps_delayed_init
one.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 arch/x86/include/asm/cacheinfo.h |  2 ++
 arch/x86/include/asm/mtrr.h      |  2 --
 arch/x86/kernel/cpu/cacheinfo.c  |  2 ++
 arch/x86/kernel/cpu/mtrr/mtrr.c  | 17 ++++-------------
 arch/x86/kernel/smpboot.c        |  5 +++--
 5 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/arch/x86/include/asm/cacheinfo.h b/arch/x86/include/asm/cacheinfo.h
index 563d9cb5fcf5..e80ed3c523c8 100644
--- a/arch/x86/include/asm/cacheinfo.h
+++ b/arch/x86/include/asm/cacheinfo.h
@@ -7,6 +7,8 @@ extern unsigned int cache_generic;
 #define CACHE_GENERIC_MTRR 0x01
 #define CACHE_GENERIC_PAT  0x02
 
+extern bool cache_aps_delayed_init;
+
 void cacheinfo_amd_init_llc_id(struct cpuinfo_x86 *c, int cpu);
 void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu);
 
diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h
index 986249a2b9b6..5d31219c8529 100644
--- a/arch/x86/include/asm/mtrr.h
+++ b/arch/x86/include/asm/mtrr.h
@@ -43,7 +43,6 @@ extern int mtrr_del(int reg, unsigned long base, unsigned long size);
 extern int mtrr_del_page(int reg, unsigned long base, unsigned long size);
 extern void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi);
 extern void mtrr_ap_init(void);
-extern void set_mtrr_aps_delayed_init(void);
 extern void mtrr_aps_init(void);
 extern void mtrr_bp_restore(void);
 extern int mtrr_trim_uncached_memory(unsigned long end_pfn);
@@ -87,7 +86,6 @@ static inline void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi)
 {
 }
 #define mtrr_ap_init() do {} while (0)
-#define set_mtrr_aps_delayed_init() do {} while (0)
 #define mtrr_aps_init() do {} while (0)
 #define mtrr_bp_restore() do {} while (0)
 #define mtrr_disable() do {} while (0)
diff --git a/arch/x86/kernel/cpu/cacheinfo.c b/arch/x86/kernel/cpu/cacheinfo.c
index 36378604ec61..c6e7c93e45e8 100644
--- a/arch/x86/kernel/cpu/cacheinfo.c
+++ b/arch/x86/kernel/cpu/cacheinfo.c
@@ -1139,3 +1139,5 @@ void cache_cpu_init(void)
 	cache_enable();
 	local_irq_restore(flags);
 }
+
+bool cache_aps_delayed_init;
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index ca348dcc5bf8..b68ec43e33a2 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -65,7 +65,6 @@ unsigned int mtrr_usage_table[MTRR_MAX_VAR_RANGES];
 static DEFINE_MUTEX(mtrr_mutex);
 
 u64 size_or_mask, size_and_mask;
-static bool mtrr_aps_delayed_init;
 
 static const struct mtrr_ops *mtrr_ops[X86_VENDOR_NUM] __ro_after_init;
 
@@ -172,7 +171,7 @@ static int mtrr_rendezvous_handler(void *info)
 	if (data->smp_reg != ~0U) {
 		mtrr_if->set(data->smp_reg, data->smp_base,
 			     data->smp_size, data->smp_type);
-	} else if (mtrr_aps_delayed_init || !cpu_online(smp_processor_id())) {
+	} else if (cache_aps_delayed_init || !cpu_online(smp_processor_id())) {
 		cache_cpu_init();
 	}
 	return 0;
@@ -784,7 +783,7 @@ void __init mtrr_bp_init(void)
 
 void mtrr_ap_init(void)
 {
-	if (!cache_generic || mtrr_aps_delayed_init)
+	if (!cache_generic || cache_aps_delayed_init)
 		return;
 
 	/*
@@ -818,14 +817,6 @@ void mtrr_save_state(void)
 	smp_call_function_single(first_cpu, mtrr_save_fixed_ranges, NULL, 1);
 }
 
-void set_mtrr_aps_delayed_init(void)
-{
-	if (!cache_generic)
-		return;
-
-	mtrr_aps_delayed_init = true;
-}
-
 /*
  * Delayed MTRR initialization for all AP's
  */
@@ -839,11 +830,11 @@ void mtrr_aps_init(void)
 	 * by doing set_mtrr_aps_delayed_init(), prior to this point. If not,
 	 * then we are done.
 	 */
-	if (!mtrr_aps_delayed_init)
+	if (!cache_aps_delayed_init)
 		return;
 
 	set_mtrr(~0U, 0, 0, 0);
-	mtrr_aps_delayed_init = false;
+	cache_aps_delayed_init = false;
 }
 
 void mtrr_bp_restore(void)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index f24227bc3220..ef7bce21cbe8 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -58,6 +58,7 @@
 #include <linux/overflow.h>
 
 #include <asm/acpi.h>
+#include <asm/cacheinfo.h>
 #include <asm/desc.h>
 #include <asm/nmi.h>
 #include <asm/irq.h>
@@ -1428,7 +1429,7 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
 
 	uv_system_init();
 
-	set_mtrr_aps_delayed_init();
+	cache_aps_delayed_init = true;
 
 	smp_quirk_init_udelay();
 
@@ -1439,7 +1440,7 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
 
 void arch_thaw_secondary_cpus_begin(void)
 {
-	set_mtrr_aps_delayed_init();
+	cache_aps_delayed_init = true;
 }
 
 void arch_thaw_secondary_cpus_end(void)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390684.628236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjg-0007da-3T; Sat, 20 Aug 2022 09:25:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390684.628236; Sat, 20 Aug 2022 09:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjf-0007az-MA; Sat, 20 Aug 2022 09:25:43 +0000
Received: by outflank-mailman (input) for mailman id 390684;
 Sat, 20 Aug 2022 09:25:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjd-0006NK-Ji
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:41 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d9746f2-206a-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 11:25:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 69FA11FDBD;
 Sat, 20 Aug 2022 09:25:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2816A13440;
 Sat, 20 Aug 2022 09:25:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MAGKCJKoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d9746f2-206a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987538; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=I9u1SaUR5yI9p8R8N8ofvxILRs1M2hzJI4h2vyFfrA8=;
	b=gGTAo9BwxgqV8mrviLJWJvW+8Y9yx32TtlD70JNrIT2jvHqRZDQDlM+aSwXvJbTerU0s+A
	LRBiVpAJbg3pfdvDw8VDueKkXg1R/+nOtwtHgx4IQL1C1EqOfYPPw601t5zpbD+YWObL9i
	+Jkc4nRJLm6Vrokm/eX/eVMvL59nknw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH v2 05/10] x86/mtrr: split generic_set_all()
Date: Sat, 20 Aug 2022 11:25:28 +0200
Message-Id: <20220820092533.29420-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Split generic_set_all() into multiple parts, while moving the main
function body into cacheinfo.c.

This prepares the support of PAT without needing MTRR support by
moving the main function body of generic_set_all() into cacheinfo.c
while renaming it to cache_cpu_init(). The MTRR specific parts are
moved into a dedicated small function called by cache_cpu_init().
The PAT and MTRR specific functions are called conditionally based
on the cache_generic bit settings.

The setting of smp_changes_mask is merged into the (new) function
mtrr_generic_set_state() used to call set_mtrr_state(). It was
probably split in ancient times, as atomic operations while running
uncached might be quite expensive, but OTOH only systems with a
broken BIOS should ever require to set any bit in smp_changes_mask,
so just hurting those devices with a penalty of a few microseconds
during boot shouldn't be a real issue.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 arch/x86/include/asm/cacheinfo.h   |  1 +
 arch/x86/include/asm/mtrr.h        |  2 ++
 arch/x86/kernel/cpu/cacheinfo.c    | 19 +++++++++++++++++++
 arch/x86/kernel/cpu/mtrr/generic.c | 15 ++-------------
 4 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/arch/x86/include/asm/cacheinfo.h b/arch/x86/include/asm/cacheinfo.h
index 313a6920d0f9..563d9cb5fcf5 100644
--- a/arch/x86/include/asm/cacheinfo.h
+++ b/arch/x86/include/asm/cacheinfo.h
@@ -12,5 +12,6 @@ void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu);
 
 void cache_disable(void);
 void cache_enable(void);
+void cache_cpu_init(void);
 
 #endif /* _ASM_X86_CACHEINFO_H */
diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h
index 12a16caed395..986249a2b9b6 100644
--- a/arch/x86/include/asm/mtrr.h
+++ b/arch/x86/include/asm/mtrr.h
@@ -50,6 +50,7 @@ extern int mtrr_trim_uncached_memory(unsigned long end_pfn);
 extern int amd_special_default_mtrr(void);
 void mtrr_disable(void);
 void mtrr_enable(void);
+void mtrr_generic_set_state(void);
 #  else
 static inline u8 mtrr_type_lookup(u64 addr, u64 end, u8 *uniform)
 {
@@ -91,6 +92,7 @@ static inline void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi)
 #define mtrr_bp_restore() do {} while (0)
 #define mtrr_disable() do {} while (0)
 #define mtrr_enable() do {} while (0)
+#define mtrr_generic_set_state() do {} while (0)
 #  endif
 
 #ifdef CONFIG_COMPAT
diff --git a/arch/x86/kernel/cpu/cacheinfo.c b/arch/x86/kernel/cpu/cacheinfo.c
index 47e2c72fa8a4..36378604ec61 100644
--- a/arch/x86/kernel/cpu/cacheinfo.c
+++ b/arch/x86/kernel/cpu/cacheinfo.c
@@ -1120,3 +1120,22 @@ void cache_enable(void) __releases(cache_disable_lock)
 
 	raw_spin_unlock(&cache_disable_lock);
 }
+
+void cache_cpu_init(void)
+{
+	unsigned long flags;
+
+	local_irq_save(flags);
+	cache_disable();
+
+	/* Set MTRR state. */
+	if (cache_generic & CACHE_GENERIC_MTRR)
+		mtrr_generic_set_state();
+
+	/* Set PAT. */
+	if (cache_generic & CACHE_GENERIC_PAT)
+		pat_init();
+
+	cache_enable();
+	local_irq_restore(flags);
+}
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index a9ac159b1566..0be6d43ec1fe 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -736,30 +736,19 @@ void mtrr_enable(void)
 	mtrr_wrmsr(MSR_MTRRdefType, *lo, *hi);
 }
 
-static void generic_set_all(void)
+void mtrr_generic_set_state(void)
 {
 	unsigned long mask, count;
-	unsigned long flags;
-
-	local_irq_save(flags);
-	cache_disable();
 
 	/* Actually set the state */
 	mask = set_mtrr_state();
 
-	/* also set PAT */
-	pat_init();
-
-	cache_enable();
-	local_irq_restore(flags);
-
 	/* Use the atomic bitops to update the global mask */
 	for (count = 0; count < sizeof(mask) * 8; ++count) {
 		if (mask & 0x01)
 			set_bit(count, &smp_changes_mask);
 		mask >>= 1;
 	}
-
 }
 
 /**
@@ -859,7 +848,7 @@ int positive_have_wrcomb(void)
  * Generic structure...
  */
 const struct mtrr_ops generic_mtrr_ops = {
-	.set_all		= generic_set_all,
+	.set_all		= cache_cpu_init,
 	.get			= generic_get_mtrr,
 	.get_free_region	= generic_get_free_region,
 	.set			= generic_set_mtrr,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:25:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390688.628281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjk-0000RX-Gt; Sat, 20 Aug 2022 09:25:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390688.628281; Sat, 20 Aug 2022 09:25:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKjk-0000Nn-76; Sat, 20 Aug 2022 09:25:48 +0000
Received: by outflank-mailman (input) for mailman id 390688;
 Sat, 20 Aug 2022 09:25:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cfLG=YY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPKjh-0006NK-KR
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 09:25:45 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e930528-206a-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 11:25:40 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 134593436B;
 Sat, 20 Aug 2022 09:25:40 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B69C913B04;
 Sat, 20 Aug 2022 09:25:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kMxPK5OoAGPJMAAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 20 Aug 2022 09:25:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e930528-206a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1660987540; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=g4lisHKlxJMHmN7MLyKucg4rSOW6FXqUJI1lqd+zyHc=;
	b=kj/w/8TFOzdZqNCcGJL3EtijbDuNmVRNPtYFAVa+o2+bHMrLc2NUQO5X7c9Uz0/bo4sulB
	6HUH5C1stD/XQS2cK7zTpGrumqWbYpRgUWWyTNAmA8ZhQKZxFHXoo4Ld4crAlpgQQWI1VH
	6t8torGRK2oftr9UT8AMdU/X+ZFoJGU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>
Subject: [PATCH v2 10/10] x86: decouple pat and mtrr handling
Date: Sat, 20 Aug 2022 11:25:33 +0200
Message-Id: <20220820092533.29420-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20220820092533.29420-1-jgross@suse.com>
References: <20220820092533.29420-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today PAT is usable only with MTRR being active, with some nasty tweaks
to make PAT usable when running as Xen PV guest, which doesn't support
MTRR.

The reason for this coupling is, that both, PAT MSR changes and MTRR
changes, require a similar sequence and so full PAT support was added
using the already available MTRR handling.

Xen PV PAT handling can work without MTRR, as it just needs to consume
the PAT MSR setting done by the hypervisor without the ability and need
to change it. This in turn has resulted in a convoluted initialization
sequence and wrong decisions regarding cache mode availability due to
misguiding PAT availability flags.

Fix all of that by allowing to use PAT without MTRR and by reworking
the current PAT initialization sequence to match better with the newly
introduced generic cache initialization.

This removes the need of the recently added pat_force_disabled flag, so
remove the remnants of the patch adding it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- former patch 3 completely reworked
---
 arch/x86/include/asm/memtype.h  |   5 +-
 arch/x86/kernel/cpu/cacheinfo.c |   3 +-
 arch/x86/kernel/cpu/mtrr/mtrr.c |  13 +---
 arch/x86/kernel/setup.c         |  13 +---
 arch/x86/mm/pat/memtype.c       | 127 ++++++++++----------------------
 5 files changed, 45 insertions(+), 116 deletions(-)

diff --git a/arch/x86/include/asm/memtype.h b/arch/x86/include/asm/memtype.h
index 9ca760e430b9..113b2fa51849 100644
--- a/arch/x86/include/asm/memtype.h
+++ b/arch/x86/include/asm/memtype.h
@@ -6,9 +6,8 @@
 #include <asm/pgtable_types.h>
 
 extern bool pat_enabled(void);
-extern void pat_disable(const char *reason);
-extern void pat_init(void);
-extern void init_cache_modes(void);
+extern void pat_bp_init(void);
+extern void pat_cpu_init(void);
 
 extern int memtype_reserve(u64 start, u64 end,
 		enum page_cache_mode req_pcm, enum page_cache_mode *ret_pcm);
diff --git a/arch/x86/kernel/cpu/cacheinfo.c b/arch/x86/kernel/cpu/cacheinfo.c
index 4946f93eb16f..08130919d55d 100644
--- a/arch/x86/kernel/cpu/cacheinfo.c
+++ b/arch/x86/kernel/cpu/cacheinfo.c
@@ -1135,7 +1135,7 @@ static void cache_cpu_init(void)
 
 	/* Set PAT. */
 	if (cache_generic & CACHE_GENERIC_PAT)
-		pat_init();
+		pat_cpu_init();
 
 	cache_enable();
 	local_irq_restore(flags);
@@ -1154,6 +1154,7 @@ static int cache_rendezvous_handler(void *unused)
 void __init cache_bp_init(void)
 {
 	mtrr_bp_init();
+	pat_bp_init();
 
 	if (cache_generic)
 		cache_cpu_init();
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index 38531e021581..90aa15610692 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -727,24 +727,15 @@ void __init mtrr_bp_init(void)
 			mtrr_enabled = get_mtrr_state();
 
 			if (mtrr_enabled) {
-				cache_generic |= CACHE_GENERIC_MTRR |
-						 CACHE_GENERIC_PAT;
+				cache_generic |= CACHE_GENERIC_MTRR;
 				changed_by_mtrr_cleanup =
 					mtrr_cleanup(phys_addr);
 			}
 		}
 	}
 
-	if (!mtrr_enabled) {
+	if (!mtrr_enabled)
 		pr_info("Disabled\n");
-
-		/*
-		 * PAT initialization relies on MTRR's rendezvous handler.
-		 * Skip PAT init until the handler can initialize both
-		 * features independently.
-		 */
-		pat_disable("MTRRs disabled, skipping PAT initialization too.");
-	}
 }
 
 /**
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index e0e185ee0229..aacaa96f0195 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1075,23 +1075,12 @@ void __init setup_arch(char **cmdline_p)
 	max_pfn = e820__end_of_ram_pfn();
 
 	/* update e820 for memory not covered by WB MTRRs */
-	if (IS_ENABLED(CONFIG_MTRR))
-		cache_bp_init();
-	else
-		pat_disable("PAT support disabled because CONFIG_MTRR is disabled in the kernel.");
-
+	cache_bp_init();
 	if (mtrr_trim_uncached_memory(max_pfn))
 		max_pfn = e820__end_of_ram_pfn();
 
 	max_possible_pfn = max_pfn;
 
-	/*
-	 * This call is required when the CPU does not support PAT. If
-	 * mtrr_bp_init() invoked it already via pat_init() the call has no
-	 * effect.
-	 */
-	init_cache_modes();
-
 	/*
 	 * Define random base addresses for memory sections after max_pfn is
 	 * defined and before each memory section base is used.
diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c
index 66a209f7eb86..891f7c5f0f09 100644
--- a/arch/x86/mm/pat/memtype.c
+++ b/arch/x86/mm/pat/memtype.c
@@ -43,6 +43,7 @@
 #include <linux/rbtree.h>
 
 #include <asm/cacheflush.h>
+#include <asm/cacheinfo.h>
 #include <asm/processor.h>
 #include <asm/tlbflush.h>
 #include <asm/x86_init.h>
@@ -60,41 +61,34 @@
 #undef pr_fmt
 #define pr_fmt(fmt) "" fmt
 
-static bool __read_mostly pat_bp_initialized;
 static bool __read_mostly pat_disabled = !IS_ENABLED(CONFIG_X86_PAT);
-static bool __initdata pat_force_disabled = !IS_ENABLED(CONFIG_X86_PAT);
-static bool __read_mostly pat_bp_enabled;
-static bool __read_mostly pat_cm_initialized;
+static u64 __read_mostly pat_msr_val;
 
 /*
  * PAT support is enabled by default, but can be disabled for
  * various user-requested or hardware-forced reasons:
  */
-void pat_disable(const char *msg_reason)
+static void __init pat_disable(const char *msg_reason)
 {
 	if (pat_disabled)
 		return;
 
-	if (pat_bp_initialized) {
-		WARN_ONCE(1, "x86/PAT: PAT cannot be disabled after initialization\n");
-		return;
-	}
-
 	pat_disabled = true;
 	pr_info("x86/PAT: %s\n", msg_reason);
+
+	cache_generic &= ~CACHE_GENERIC_PAT;
 }
 
 static int __init nopat(char *str)
 {
 	pat_disable("PAT support disabled via boot option.");
-	pat_force_disabled = true;
 	return 0;
 }
 early_param("nopat", nopat);
 
 bool pat_enabled(void)
 {
-	return pat_bp_enabled;
+	return !pat_disabled;
 }
 EXPORT_SYMBOL_GPL(pat_enabled);
 
@@ -192,7 +186,8 @@ enum {
 
 #define CM(c) (_PAGE_CACHE_MODE_ ## c)
 
-static enum page_cache_mode pat_get_cache_mode(unsigned pat_val, char *msg)
+static enum page_cache_mode __init pat_get_cache_mode(unsigned int pat_val,
+						      char *msg)
 {
 	enum page_cache_mode cache;
 	char *cache_mode;
@@ -219,14 +214,12 @@ static enum page_cache_mode pat_get_cache_mode(unsigned pat_val, char *msg)
  * configuration.
  * Using lower indices is preferred, so we start with highest index.
  */
-static void __init_cache_modes(u64 pat)
+static void __init init_cache_modes(u64 pat)
 {
 	enum page_cache_mode cache;
 	char pat_msg[33];
 	int i;
 
-	WARN_ON_ONCE(pat_cm_initialized);
-
 	pat_msg[32] = 0;
 	for (i = 7; i >= 0; i--) {
 		cache = pat_get_cache_mode((pat >> (i * 8)) & 7,
@@ -234,34 +227,11 @@ static void __init_cache_modes(u64 pat)
 		update_cache_mode_entry(i, cache);
 	}
 	pr_info("x86/PAT: Configuration [0-7]: %s\n", pat_msg);
-
-	pat_cm_initialized = true;
 }
 
 #define PAT(x, y)	((u64)PAT_ ## y << ((x)*8))
 
-static void pat_bp_init(u64 pat)
-{
-	u64 tmp_pat;
-
-	if (!boot_cpu_has(X86_FEATURE_PAT)) {
-		pat_disable("PAT not supported by the CPU.");
-		return;
-	}
-
-	rdmsrl(MSR_IA32_CR_PAT, tmp_pat);
-	if (!tmp_pat) {
-		pat_disable("PAT support disabled by the firmware.");
-		return;
-	}
-
-	wrmsrl(MSR_IA32_CR_PAT, pat);
-	pat_bp_enabled = true;
-
-	__init_cache_modes(pat);
-}
-
-static void pat_ap_init(u64 pat)
+void pat_cpu_init(void)
 {
 	if (!boot_cpu_has(X86_FEATURE_PAT)) {
 		/*
@@ -271,30 +241,35 @@ static void pat_ap_init(u64 pat)
 		panic("x86/PAT: PAT enabled, but not supported by secondary CPU\n");
 	}
 
-	wrmsrl(MSR_IA32_CR_PAT, pat);
+	wrmsrl(MSR_IA32_CR_PAT, pat_msr_val);
 }
 
-void __init init_cache_modes(void)
+/**
+ * pat_bp_init - Initialize the PAT MSR value and PAT table
+ *
+ * This function initializes PAT MSR value and PAT table with an OS-defined
+ * value to enable additional cache attributes, WC, WT and WP.
+ *
+ * This function prepares the calls of pat_cpu_init() via cache_cpu_init()
+ * on all cpus.
+ */
+void __init pat_bp_init(void)
 {
 	u64 pat = 0;
+	struct cpuinfo_x86 *c = &boot_cpu_data;
 
-	if (pat_cm_initialized)
-		return;
+#ifndef CONFIG_X86_PAT
+	pr_info_once("x86/PAT: PAT support disabled because CONFIG_X86_PAT is disabled in the kernel.\n");
+#endif
 
-	if (boot_cpu_has(X86_FEATURE_PAT)) {
-		/*
-		 * CPU supports PAT. Set PAT table to be consistent with
-		 * PAT MSR. This case supports "nopat" boot option, and
-		 * virtual machine environments which support PAT without
-		 * MTRRs. In specific, Xen has unique setup to PAT MSR.
-		 *
-		 * If PAT MSR returns 0, it is considered invalid and emulates
-		 * as No PAT.
-		 */
+	if (!boot_cpu_has(X86_FEATURE_PAT))
+		pat_disable("PAT not supported by the CPU.");
+	else
 		rdmsrl(MSR_IA32_CR_PAT, pat);
-	}
 
 	if (!pat) {
+		pat_disable("PAT support disabled by the firmware.");
+
 		/*
 		 * No PAT. Emulate the PAT table that corresponds to the two
 		 * cache bits, PWT (Write Through) and PCD (Cache Disable).
@@ -315,38 +290,14 @@ void __init init_cache_modes(void)
 		 */
 		pat = PAT(0, WB) | PAT(1, WT) | PAT(2, UC_MINUS) | PAT(3, UC) |
 		      PAT(4, WB) | PAT(5, WT) | PAT(6, UC_MINUS) | PAT(7, UC);
-	} else if (!pat_force_disabled && cpu_feature_enabled(X86_FEATURE_HYPERVISOR)) {
-		/*
-		 * Clearly PAT is enabled underneath. Allow pat_enabled() to
-		 * reflect this.
-		 */
-		pat_bp_enabled = true;
 	}
 
-	__init_cache_modes(pat);
-}
-
-/**
- * pat_init - Initialize the PAT MSR and PAT table on the current CPU
- *
- * This function initializes PAT MSR and PAT table with an OS-defined value
- * to enable additional cache attributes, WC, WT and WP.
- *
- * This function must be called on all CPUs using the specific sequence of
- * operations defined in Intel SDM. mtrr_rendezvous_handler() provides this
- * procedure for PAT.
- */
-void pat_init(void)
-{
-	u64 pat;
-	struct cpuinfo_x86 *c = &boot_cpu_data;
-
-#ifndef CONFIG_X86_PAT
-	pr_info_once("x86/PAT: PAT support disabled because CONFIG_X86_PAT is disabled in the kernel.\n");
-#endif
+	/* Xen PV doesn't allow to set PAT MSR, but all cache modes are fine. */
+	if (pat_disabled || cpu_feature_enabled(X86_FEATURE_XENPV)) {
+		init_cache_modes(pat);
 
-	if (pat_disabled)
 		return;
+	}
 
 	if ((c->x86_vendor == X86_VENDOR_INTEL) &&
 	    (((c->x86 == 0x6) && (c->x86_model <= 0xd)) ||
@@ -404,12 +355,10 @@ void pat_init(void)
 		      PAT(4, WB) | PAT(5, WP) | PAT(6, UC_MINUS) | PAT(7, WT);
 	}
 
-	if (!pat_bp_initialized) {
-		pat_bp_init(pat);
-		pat_bp_initialized = true;
-	} else {
-		pat_ap_init(pat);
-	}
+	pat_msr_val = pat;
+	cache_generic |= CACHE_GENERIC_PAT;
+
+	init_cache_modes(pat);
 }
 
 #undef PAT
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 09:32:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 09:32:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390748.628298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKpy-0005HP-BB; Sat, 20 Aug 2022 09:32:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390748.628298; Sat, 20 Aug 2022 09:32:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPKpy-0005HI-8K; Sat, 20 Aug 2022 09:32:14 +0000
Received: by outflank-mailman (input) for mailman id 390748;
 Sat, 20 Aug 2022 09:32:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPKpw-0005H8-V1; Sat, 20 Aug 2022 09:32:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPKpw-0005zk-TB; Sat, 20 Aug 2022 09:32:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPKpw-0002LY-F2; Sat, 20 Aug 2022 09:32:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPKpw-0000iy-Bt; Sat, 20 Aug 2022 09:32:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eWhVjE3Sxfs2upChbJ0FecqRM3bNNmk1znsl4yhZjOw=; b=m+QhgNKP5XyF9HIaTivyLtBzEf
	m0EVWW2kdM4/IgLed3rxWuR+v7ioc1ysdx7i96SKSxrfsmJAZseRf9tF8SwgnJIVzQEsUuo8odWpR
	eMBUKiyQUyhjmKwNc2hpG+SiuLPP7xoaJ+31fJcJOVTFF4SGWjo0FMVL1rsjdXd+LKZ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172662-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172662: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 09:32:12 +0000

flight 172662 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172662/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   16 days
Failing since        172151  2022-08-05 02:40:28 Z   15 days  130 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    0 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 10:29:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 10:29:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390759.628315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPLia-0002Go-QJ; Sat, 20 Aug 2022 10:28:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390759.628315; Sat, 20 Aug 2022 10:28:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPLia-0002Gh-NR; Sat, 20 Aug 2022 10:28:40 +0000
Received: by outflank-mailman (input) for mailman id 390759;
 Sat, 20 Aug 2022 10:28:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wiTl=YY=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1oPLiZ-0002Gb-OX
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 10:28:39 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9d951c2-2072-11ed-9250-1f966e50362f;
 Sat, 20 Aug 2022 12:28:37 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 6CD61B80B91;
 Sat, 20 Aug 2022 10:28:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 057D7C433D7;
 Sat, 20 Aug 2022 10:28:33 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9d951c2-2072-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1660991315;
	bh=BfeRXrXK+kyAATA3rrD7DNtJBTOICyTG3ENmWC40kJw=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=U2H3QtvFpVNEciH1WtySMYZsnaQJiuDNmwW3V8xZkYT0ZwMVQwgnWnt304CfGooPp
	 aTkiOPAOoJlTo1251krr6e2ou6u9aRZh9DGgCurLraTPBUEGpOnbRcf5PPZBrQc6Jo
	 fSRSefBXYORAQKflTiQq00j82dOzqK/iVSrPGuLc=
Date: Sat, 20 Aug 2022 12:28:42 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
Subject: Re: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
Message-ID: <YwC3Wmj2Fq11EWVg@kroah.com>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220820092533.29420-2-jgross@suse.com>

On Sat, Aug 20, 2022 at 11:25:24AM +0200, Juergen Gross wrote:
> When booting or resuming the system MTRR state is saved on the boot
> processor and then this state is loaded into MTRRs of all other cpus.
> During update of the MTRRs the MTRR mechanism needs to be disabled by
> writing the related MSR. The old contents of this MSR are saved in a
> set of static variables and later those static variables are used to
> restore the MSR.
> 
> In case the MSR contents need to be modified on a cpu due to the MSR
> not having been initialized properly by the BIOS, the related update
> function is modifying the static variables accordingly.
> 
> Unfortunately the MTRR state update is usually running on all cpus
> at the same time, so using just one set of static variables for all
> cpus is racy in case the MSR contents differ across cpus.
> 
> Fix that by using percpu variables for saving the MSR contents.
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> I thought adding a "Fixes:" tag for the kernel's initial git commit
> would maybe be entertaining, but without being really helpful.

So that means I will just do a "best guess" as to how far to backport
things.  Hopefully I guess well...

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 10:50:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 10:50:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390765.628327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPM3R-0005RB-Hy; Sat, 20 Aug 2022 10:50:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390765.628327; Sat, 20 Aug 2022 10:50:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPM3R-0005R4-Dv; Sat, 20 Aug 2022 10:50:13 +0000
Received: by outflank-mailman (input) for mailman id 390765;
 Sat, 20 Aug 2022 10:50:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPM3P-0005Qu-T2; Sat, 20 Aug 2022 10:50:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPM3P-0007Q1-PJ; Sat, 20 Aug 2022 10:50:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPM3P-0000t3-Aq; Sat, 20 Aug 2022 10:50:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPM3P-00016v-AN; Sat, 20 Aug 2022 10:50:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Tzaeh4OdjU6FkVLMa17RrC+H7aXW/0qrCXGtE+4bMpc=; b=u6m7Z/NuJaHwNQQ7cqsuF5TnWm
	TWI4mfGNVx/RREtj3e2uyhqgfJFrkbZt/WM1eayeEw5iYZv3HVAlPMXpfczWjSJMNX0oD64nn8hIO
	Twgom9249pyNhZEqgyI5JBBuYqexR6HO1NEhz0gsHHNldl2chhlPnk/1t14BBh8ylHAA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172654-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172654: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=50cd95ac46548429e5bba7ca75cc97d11a697947
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 10:50:11 +0000

flight 172654 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172654/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                50cd95ac46548429e5bba7ca75cc97d11a697947
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   16 days
Failing since        172152  2022-08-05 04:01:26 Z   15 days   36 attempts
Testing same since   172654  2022-08-20 00:40:09 Z    0 days    1 attempts

------------------------------------------------------------
1490 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 152499 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 12:15:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 12:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390781.628343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPNNh-00055O-2R; Sat, 20 Aug 2022 12:15:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390781.628343; Sat, 20 Aug 2022 12:15:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPNNg-00055H-Vy; Sat, 20 Aug 2022 12:15:12 +0000
Received: by outflank-mailman (input) for mailman id 390781;
 Sat, 20 Aug 2022 12:15:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPNNf-000557-IP; Sat, 20 Aug 2022 12:15:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPNNf-0000Rw-EV; Sat, 20 Aug 2022 12:15:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPNNe-0005uu-Ug; Sat, 20 Aug 2022 12:15:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPNNe-00029y-UD; Sat, 20 Aug 2022 12:15:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0VV0Z4ogGbCew2a5mvh/f2BL1paMMtWay2p5Yd6gBoA=; b=oG/gDMoZuEjJWCUGEthw3De+oG
	rg+c+JJ5p0betHGNtp7VYcAlQ3NYRKxjzIi2aTc5f01HPAa0SKvz+OZLMaOaMESaYxY0aQ8vJxZgF
	TOrmJvA60R0cPMX5mGXj1A7YWAPsBibRw9ybR4Qm+rwtpApuJRHvD5mDY9H+Vm8gAIaU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172661-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172661: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=f1929d4289410ca2f36e560a6bd7aa7331236ac7
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 12:15:10 +0000

flight 172661 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172661/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              f1929d4289410ca2f36e560a6bd7aa7331236ac7
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  771 days
Failing since        151818  2020-07-11 04:18:52 Z  770 days  752 attempts
Testing same since   172638  2022-08-19 04:18:57 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120566 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 13:05:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 13:05:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390789.628356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPOA5-0001oM-Qt; Sat, 20 Aug 2022 13:05:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390789.628356; Sat, 20 Aug 2022 13:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPOA5-0001oF-MC; Sat, 20 Aug 2022 13:05:13 +0000
Received: by outflank-mailman (input) for mailman id 390789;
 Sat, 20 Aug 2022 13:05:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPOA4-0001o5-3K; Sat, 20 Aug 2022 13:05:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPOA4-0001HH-1b; Sat, 20 Aug 2022 13:05:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPOA3-0001Qm-NW; Sat, 20 Aug 2022 13:05:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPOA3-0006o0-N1; Sat, 20 Aug 2022 13:05:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3XKmWwcNL6Y0dsWXBx5fWImHKlFsN8OxkNA8ACgI4OM=; b=GJ6X0HIBsqouNalsHachwzCsjO
	b+2hdZfrjXig7Cv0xgtSCznPim8PO6YChNFkYMzkHg6nqemsrmhxz0ZPUy0iYkCVoaoyUNTWmxN4I
	WVTOqYnIIGYOcBPVE3txZK6gyyX/GroClFUIh0QCKOElgju5tNAq8WbkSzZiUyIV4T1M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172664-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172664: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 13:05:11 +0000

flight 172664 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172664/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   16 days
Failing since        172151  2022-08-05 02:40:28 Z   15 days  131 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    1 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 14:43:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 14:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390797.628366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPPh5-000386-0g; Sat, 20 Aug 2022 14:43:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390797.628366; Sat, 20 Aug 2022 14:43:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPPh4-00037z-TN; Sat, 20 Aug 2022 14:43:22 +0000
Received: by outflank-mailman (input) for mailman id 390797;
 Sat, 20 Aug 2022 14:43:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPPh3-00037p-OJ; Sat, 20 Aug 2022 14:43:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPPh3-0002xw-Lr; Sat, 20 Aug 2022 14:43:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPPh3-000767-6T; Sat, 20 Aug 2022 14:43:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPPh3-0008FL-5p; Sat, 20 Aug 2022 14:43:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=R+IcH+oWsWzh8/SmIHwKKIMAAHniRfLGIO1q8HkW+eo=; b=lzpRxRYYGLBb7ECw2w5HVGtT8O
	B9qFEYHg6grxTWvVN/OtWneIjq+2jdwfF9vxI3bENYTu7+NOaYTBPEbP+FNegyXzk99sGGAnyE/YS
	6uoeElIeKQNWpvw0gbNAKEF1ROvmhpuiK9jlt5JItNp/6ruEi3ruZa/84yWuV8VPIJI4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172658-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172658: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ba58ccbef60338d0b7334c714589a6423a3e7f91
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 14:43:21 +0000

flight 172658 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172658/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123
 test-armhf-armhf-xl-vhd      12 debian-di-install        fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                ba58ccbef60338d0b7334c714589a6423a3e7f91
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   16 days
Failing since        172148  2022-08-04 21:39:38 Z   15 days   37 attempts
Testing same since   172658  2022-08-20 03:51:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2251 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 15:09:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 15:09:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390807.628380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPQ6k-0005i9-8y; Sat, 20 Aug 2022 15:09:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390807.628380; Sat, 20 Aug 2022 15:09:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPQ6k-0005i2-5D; Sat, 20 Aug 2022 15:09:54 +0000
Received: by outflank-mailman (input) for mailman id 390807;
 Sat, 20 Aug 2022 15:09:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPQ6j-0005hs-3H; Sat, 20 Aug 2022 15:09:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPQ6j-0003OZ-1Q; Sat, 20 Aug 2022 15:09:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPQ6i-0000H2-Ql; Sat, 20 Aug 2022 15:09:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPQ6i-0003XS-QI; Sat, 20 Aug 2022 15:09:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SL1VLABo0xtRUCd8yd5W/qkYL3/+jyY0Ob4GR2MIuzI=; b=x1Ks4pSCLM2Gl7+L+mcpaixMf4
	RD4th/xxE7ZdGaCVohcoCZN0tx9+kE/i0LthLzw6Vx+dpTgGNl+I69QcGhNgaiwcSfd0eL3r4TS/Z
	He+DCQkKGOBnxgmqP9i3EcdSRnfe+vYPCX1I+YsYAWAnMF7KyWD0cmBkaKED17GHsAjk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172668-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172668: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 15:09:52 +0000

flight 172668 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172668/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install         fail pass in 172664

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   16 days
Failing since        172151  2022-08-05 02:40:28 Z   15 days  132 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 15:33:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 15:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390815.628391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPQT8-0000Uk-5H; Sat, 20 Aug 2022 15:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390815.628391; Sat, 20 Aug 2022 15:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPQT8-0000Ud-2C; Sat, 20 Aug 2022 15:33:02 +0000
Received: by outflank-mailman (input) for mailman id 390815;
 Sat, 20 Aug 2022 15:31:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tuUL=YY=ispras.ru=subkhankulov@srs-se1.protection.inumbo.net>)
 id 1oPQRb-0000TI-2y
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 15:31:27 +0000
Received: from mail.ispras.ru (mail.ispras.ru [83.149.199.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2678856e-209d-11ed-bd2e-47488cf2e6aa;
 Sat, 20 Aug 2022 17:31:25 +0200 (CEST)
Received: from [192.168.0.105] (unknown [136.169.224.60])
 by mail.ispras.ru (Postfix) with ESMTPSA id CFF9740D403D;
 Sat, 20 Aug 2022 15:31:19 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2678856e-209d-11ed-bd2e-47488cf2e6aa
Message-ID: <6228a437bb9d7f677f5e97973518bcd555bc2a07.camel@ispras.ru>
Subject: [POSSIBLE BUG] Dereferencing of NULL pointer
From: Rustam Subkhankulov <subkhankulov@ispras.ru>
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	 <oleksandr_tyshchenko@epam.com>, xen-devel@lists.xenproject.org, 
	linux-kernel@vger.kernel.org, Alexey Khoroshilov <khoroshilov@ispras.ru>, 
	ldv-project@linuxtesting.org
Date: Sat, 20 Aug 2022 20:30:56 +0300
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.44.1-0ubuntu1 
MIME-Version: 1.0

Version: 6.0-rc1

Description:=20

In function 'privcmd_ioctl_dm_op' (drivers/xen/privcmd.c: 615)return
value of 'kcalloc' with GFP_KERNEL flag is assigned to "pages"
variable. GFP_KERNEL flag does not guarantee, that the return value
will not be NULL. In that case, there is a jump to the "out" label.=20

---------------------------------------------------------------------
667	pages =3D kcalloc(nr_pages, sizeof(*pages), GFP_KERNEL);
668	if (!pages) {
669		rc =3D -ENOMEM;
670		goto out;
671	}
---------------------------------------------------------------------

Variable 'pages' is passed to function 'unpin_user_pages_dirty_lock' as
1st parameter at [drivers/xen/privcmd.c: 695].

---------------------------------------------------------------------
694	out:
695		unlock_pages(pages, nr_pages);
---------------------------------------------------------------------

Then, variable 'pages' is passed to function
'unpin_user_pages_dirty_lock' as 1st parameter at
[drivers/xen/privcmd.c: 612].

---------------------------------------------------------------------
610	static void unlock_pages(struct page *pages[], unsigned int
nr_pages)
611	{
612		unpin_user_pages_dirty_lock(pages, nr_pages, true);
613	}
---------------------------------------------------------------------

'pages' and 'npages' are passed as parameters to function
'sanity_check_pinned_pages' at [mm/gup.c: 311].

---------------------------------------------------------------------
299	void unpin_user_pages_dirty_lock(struct page **pages, unsigned
long npages,
300					 bool make_dirty)
301	{
302		unsigned long i;
303     struct folio *folio;
304     unsigned int nr;
305	=09
306		if (!make_dirty) {
307			unpin_user_pages(pages, npages);
308			return;
309		}
310
311		sanity_check_pinned_pages(pages, npages);
---------------------------------------------------------------------

In function 'sanity_check_pinned_pages', if
(IS_ENABLED(CONFIG_DEBUG_VM)) and (npages > 0), NULL pointer 'pages' is
dereferenced at [mm/gup.c: 51].

---------------------------------------------------------------------
32	static inline void sanity_check_pinned_pages(struct page
**pages,
33						     unsigned long
npages)
34	{
35		if (!IS_ENABLED(CONFIG_DEBUG_VM))
36			return;
..
50		for (; npages; npages--, pages++) {
51			struct page *page =3D *pages;
								^^^^^^
^
---------------------------------------------------------------------

Else if (!IS_ENABLED(CONFIG_DEBUG_VM)) and (npages > 0) function
'gup_folio_next' is called with 'pages' and 'npages' as parameters at
[mm/gup.c: 311].

---------------------------------------------------------------------
312		for (i =3D 0; i < npages; i +=3D nr) {
313			folio =3D gup_folio_next(pages, npages, i, &nr);
---------------------------------------------------------------------

In function 'gup_folio_next' NULL pointer 'list' is dereferenced at
[mm/gup.c: 263].

---------------------------------------------------------------------
262	static inline struct folio *gup_folio_next(struct page **list,
263			unsigned long npages, unsigned long i,
unsigned int *ntails)
264	{
265		struct folio *folio =3D page_folio(list[i]);
							=09
		^^^^^^^^^
---------------------------------------------------------------------



From xen-devel-bounces@lists.xenproject.org Sat Aug 20 16:03:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 16:03:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390829.628426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPQwI-0004be-Qe; Sat, 20 Aug 2022 16:03:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390829.628426; Sat, 20 Aug 2022 16:03:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPQwI-0004bX-Nd; Sat, 20 Aug 2022 16:03:10 +0000
Received: by outflank-mailman (input) for mailman id 390829;
 Sat, 20 Aug 2022 16:03:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPQwH-0004bN-PR; Sat, 20 Aug 2022 16:03:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPQwH-0004rl-N1; Sat, 20 Aug 2022 16:03:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPQwH-0001sU-Dl; Sat, 20 Aug 2022 16:03:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPQwH-0002MG-DK; Sat, 20 Aug 2022 16:03:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VP0HSKNi8Tlr5iXKHl4tbVu7ejhu0/+kBhS5r8tmk10=; b=4HTvZAGl50WLROmT5E2aZ4UQKl
	e0ufWF1CTslgdzKnuIh6vQSkZL38B/yiwrLCpu87Bz2y+RQy81HOdGC2cWHMO67vk5zRRnaj15eDq
	FZ3vpvco3aDZnyFETV3qdD77+djANTkV8RGE3xzh9za60iHeaaLoXDtaD+J1SVWfQ3vk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172657-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172657: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
X-Osstest-Versions-That:
    xen=6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 16:03:09 +0000

flight 172657 xen-unstable real [real]
flight 172669 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172657/
http://logs.test-lab.xenproject.org/osstest/logs/172669/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install   fail pass in 172669-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172645

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172645
 build-i386-libvirt            6 libvirt-build                fail  like 172645
 build-arm64-libvirt           6 libvirt-build                fail  like 172645
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172645
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172645
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172645
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172645
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172645
 build-armhf-libvirt           6 libvirt-build                fail  like 172645
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172645
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172645
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172645
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172645
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a
baseline version:
 xen                  6c0a14d324fc9f6b603e4dfbf90c5fd74227edf3

Last test of basis   172645  2022-08-19 12:23:55 Z    1 days
Testing same since   172657  2022-08-20 03:29:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  George Dunlap <george.dunlap@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Roger Pau MonnÃ© <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6c0a14d324..f6cd15188e  f6cd15188e097de1eb04855eb790a5f51c3ad71a -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 16:20:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 16:20:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390838.628437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPRCs-00070N-BO; Sat, 20 Aug 2022 16:20:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390838.628437; Sat, 20 Aug 2022 16:20:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPRCs-00070G-8j; Sat, 20 Aug 2022 16:20:18 +0000
Received: by outflank-mailman (input) for mailman id 390838;
 Sat, 20 Aug 2022 16:20:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPRCr-000706-1n; Sat, 20 Aug 2022 16:20:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPRCq-0005Al-VM; Sat, 20 Aug 2022 16:20:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPRCq-0003Pr-L7; Sat, 20 Aug 2022 16:20:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPRCq-0000uf-Ke; Sat, 20 Aug 2022 16:20:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VP84BQUBwgLgfadrTImPOkoHRJOYcCqaQt25sLZ3Cl4=; b=Yycrw1f/We22g6+w59ueX4G8vB
	IqSFHqrHi4Y7ucfqIix/bXoauOyBsU/tNY3DB8s61JMm4xPSDOxJ2mFc5bWITpSQ9e7EwvAyOeGS3
	y6QkLh2gCtdkIFF7bS+KKEydJzRVCST/AAeQbNLTgjwH1EsktsHLIdnvT7Yc06nTGY0Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172660-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172660: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 16:20:16 +0000

flight 172660 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172660/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale  18 guest-start/debian.repeat  fail pass in 172646

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 172646 like 172108
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172646 like 172128
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 172646 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 172646 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 172646 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 172646 never pass
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   16 days
Testing same since   172384  2022-08-11 11:13:58 Z    9 days   18 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 18:34:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 18:34:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390848.628448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPTIE-0002fc-7f; Sat, 20 Aug 2022 18:33:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390848.628448; Sat, 20 Aug 2022 18:33:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPTIE-0002fV-39; Sat, 20 Aug 2022 18:33:58 +0000
Received: by outflank-mailman (input) for mailman id 390848;
 Sat, 20 Aug 2022 18:33:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oPTIC-0002fP-SN
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 18:33:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oPTIA-0007ZZ-EF; Sat, 20 Aug 2022 18:33:54 +0000
Received: from home.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oPTIA-000141-8U; Sat, 20 Aug 2022 18:33:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=odhYjoQtqwM29jXVI749lIcT47PeBLMj4bEVl1OwMQg=; b=qlpGQ8ztbq62OUiM/n8ehevSA/
	h+9w8L0lXrUSGcZeMYFII8uEXyTDNTbLMSsp9PbypK0RVnc/nBtCPizGXLk7GzP5nnCYbD7X8AJAL
	zrgVSlPWnqmMZG/WfTKX3EnJUXFKFns4JfQUZSj/N8/gy+2e2avN8R4D34IWBs7Vq2EU=;
Message-ID: <4d7c1cd2-0ea7-8974-88f1-c7f2276736cb@xen.org>
Date: Sat, 20 Aug 2022 19:33:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [PATCH v2 1/3] Add SPDX to CODING_STYLE
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org, wl@xen.org, jbeulich@suse.com,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-1-stefano.stabellini@amd.com>
 <fb2e6b9d-8ffc-a7f2-8411-3751dc8d4022@xen.org>
 <alpine.DEB.2.22.394.2208191522310.3790@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2208191522310.3790@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 19/08/2022 23:24, Stefano Stabellini wrote:
> On Fri, 19 Aug 2022, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 18/08/2022 23:03, Stefano Stabellini wrote:
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>> ---
>>>    CODING_STYLE | 10 ++++++++++
>>>    1 file changed, 10 insertions(+)
>>>
>>> diff --git a/CODING_STYLE b/CODING_STYLE
>>> index 3386ee1d90..5faf274b3a 100644
>>> --- a/CODING_STYLE
>>> +++ b/CODING_STYLE
>>> @@ -14,6 +14,16 @@ explicitly (e.g. tools/libxl/CODING_STYLE) but often
>>> implicitly (Linux
>>>    coding style is fairly common). In general you should copy the style
>>>    of the surrounding code. If you are unsure please ask.
>>>    +SPDX
>>> +----
>>> +
>>> +New files should start with a single-line SPDX comment to express the
>>> +license, e.g.:
>>> +
>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>> +
>>> +See LICENSES/ for a list of licenses and SPDX tags currently used.
>>> +
>>
>> A user reading CODING_STYLE and CONTRIBUTING may think they need to also add
>> the full license (see the section "COMMON COPYRIGHT NOTICES").
>>
>> So as we are going to promote SPDX, we should update CONTRIBUTING to reflect
>> that the full license should not be present copied.
> 
> Yes good idea. Should I just remove the entire "COMMON COPYRIGHT
> NOTICES" section?

I would say yes. You will need to tweak the first section of that file 
because it reference the section " COMMON COPYRIGHT NOTICES".

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 18:37:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 18:37:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390854.628459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPTLV-0003Fa-LE; Sat, 20 Aug 2022 18:37:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390854.628459; Sat, 20 Aug 2022 18:37:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPTLV-0003FT-IW; Sat, 20 Aug 2022 18:37:21 +0000
Received: by outflank-mailman (input) for mailman id 390854;
 Sat, 20 Aug 2022 18:37:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oPTLU-0003FN-2H
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 18:37:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oPTLS-0007eB-Jr; Sat, 20 Aug 2022 18:37:18 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oPTLS-0001EX-Dm; Sat, 20 Aug 2022 18:37:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Qoqbm2zDLw3CUuUdlbr+mO1VSiV7fzvIPwRlJ6KFK+4=; b=a3xD0PjRu+Agm28MuTs669Mp+4
	SNyAzK3DFxyRpQ5LgCxHSY9myDSJIq6n18AzFBA0vASNFx/vCDkZKK8nXqk4ivhNMtV3pGFG9IHOL
	zvXEjZRpj+meDfzvuPmJAi5//HyzH4pIKjtdlIiXWYaLOhgvljgdFftb+lQjH1fzrVw0=;
Message-ID: <120f5e8a-d4af-c7ea-b29a-c34331b67858@xen.org>
Date: Sat, 20 Aug 2022 19:37:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/3] Add licenses under LICENSES
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org, wl@xen.org, jbeulich@suse.com,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-2-stefano.stabellini@amd.com>
 <835a1093-1280-1442-9e11-f9f5bbf9f635@xen.org>
 <alpine.DEB.2.22.394.2208191524590.3790@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2208191524590.3790@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 19/08/2022 23:27, Stefano Stabellini wrote:
> On Fri, 19 Aug 2022, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 18/08/2022 23:03, Stefano Stabellini wrote:
>>> Add the individual licenses under a new top-level directory named
>>> "LICENSES". Each license file includes its related SPDX tags.
>>
>> We already have a copy of the licenses in COPYING/CONTRIBUTING. I don't
>> particularly mind where you want to keep the licenses but I don't want them
>> duplicated.
> 
> Yes I think it makes sense to remove as part of this series:
> - the "COMMON COPYRIGHT NOTICES" section from CONTRIBUTING

See my answer on patch 1 as wel.

> - the full copy of the GPL at the bottom of COPYING

There are a dozen of COPYING files. I think we should update so they 
reference to licenses for the full text.

Note that I don't think we should consolidate to a single COPYING file 
because the preferred license differs per directory.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 18:44:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 18:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390861.628469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPTSA-0004mi-GC; Sat, 20 Aug 2022 18:44:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390861.628469; Sat, 20 Aug 2022 18:44:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPTSA-0004mb-DC; Sat, 20 Aug 2022 18:44:14 +0000
Received: by outflank-mailman (input) for mailman id 390861;
 Sat, 20 Aug 2022 18:44:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPTS9-0004mR-2s; Sat, 20 Aug 2022 18:44:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPTS8-0007p3-Sr; Sat, 20 Aug 2022 18:44:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPTS8-00037v-G4; Sat, 20 Aug 2022 18:44:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPTS8-00063V-DP; Sat, 20 Aug 2022 18:44:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vJlQZ6cZpZh718NDi2gQrG0Dj1zVgyThGOqxVkJ6ooM=; b=tPo49iZbXoYiLENw/SNTuEfAlr
	zulMXZ+/MKZje95DakcpJdB6VOcPSx3/5bvEOro9Yo0ivMyyfJlEuvgi8ueuIkTyduBjMnjBc0hWi
	R7gZs++5SpAd0U3/megpHWQezMApYiOj+4BZC+OWPbjG+m46xvDBgzvfXGVZ/SMsV73o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172671-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172671: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 18:44:12 +0000

flight 172671 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172671/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   16 days
Failing since        172151  2022-08-05 02:40:28 Z   15 days  133 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    1 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 19:08:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 19:08:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390869.628481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPTpx-0007HX-Fw; Sat, 20 Aug 2022 19:08:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390869.628481; Sat, 20 Aug 2022 19:08:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPTpx-0007HQ-CC; Sat, 20 Aug 2022 19:08:49 +0000
Received: by outflank-mailman (input) for mailman id 390869;
 Sat, 20 Aug 2022 19:08:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oPTpw-0007HK-1w
 for xen-devel@lists.xenproject.org; Sat, 20 Aug 2022 19:08:48 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oPTpt-0008FP-9i; Sat, 20 Aug 2022 19:08:45 +0000
Received: from home.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oPTpt-0002hN-24; Sat, 20 Aug 2022 19:08:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=jng5HCW7wQ+fvQzgfFq13eV/V99XPlJSQ/Drv/8a6pU=; b=nE1AyrhnvAPPQ1MM3qhJUpLLLS
	ox3C1dJ2Ng4Qx9H436urTQrF/qJrptcdl3rWYZpgHfcu/p6ahp8yollI/gqF5WnX/DNO9gnMLU2NL
	m9dppfyyIgj7kCPV7CqvAo0s8HaaHtAIOzkmhlhqIBAprFFD10HTguNaerh1MFdMq8HA=;
Message-ID: <f235f6f8-d585-4e24-7fc8-3f2df9240c9d@xen.org>
Date: Sat, 20 Aug 2022 20:08:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org, wl@xen.org, jbeulich@suse.com,
 george.dunlap@citrix.com, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-3-stefano.stabellini@amd.com>
 <61b01c8b-1f98-e559-f971-f081a25e0b93@xen.org>
 <alpine.DEB.2.22.394.2208191528050.3790@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v2 3/3] add SPDX to arch/arm/*.c
In-Reply-To: <alpine.DEB.2.22.394.2208191528050.3790@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 19/08/2022 23:53, Stefano Stabellini wrote:
> On Fri, 19 Aug 2022, Julien Grall wrote:
>> On 18/08/2022 23:03, Stefano Stabellini wrote:
>>> Add SPDX license information to all the *.c files under arch/arm.
>>
>> There are some of the files below that didn't have copyright. It would be
>> worth explaining in the commit message which license you selected and how.
>> AFAICT you assumed they were GPLv2 but I am not sure this is correct at least
>> one of them.
> 
> My goal is not to change the existing license on any of the files, even
> if the existing license is imprecise. By what is written under COPYING,
> everything not explicitly listed is GPL-2.0. I only reflected today's
> reality. I think it is best if we keep mechanical changes separate from
> "smart" changes, especially on a series like this introducing many
> mechanical changes.  More on this at the bottom.

I will answer to this at the bottom.

>> [...]
>>
>>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
>>> index f5f6562600..2537dbebc1 100644
>>> --- a/xen/arch/arm/decode.c
>>> +++ b/xen/arch/arm/decode.c
>>> @@ -1,3 +1,4 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>
>> This license is not part of LICENSES. Was it intended?
> 
> It is: the tag is described as part of LICENSES/GPL-2.0.

Ah! I was looking as the list of files and didn't look for the tag. 
Thanks for the pointer :).

> 
> 
>> If yes, this should be mentioned in one of the commit message (possible patch
>> #2) and maybe in CONTRIBUTING (to tell user to not use it for new files)
>> because one could expect all the LICENSES to be listed.
> 
> It could make sense to say that:
> 
> /* SPDX-License-Identifier: GPL-2.0 */
> 
> is recommended for new files.

So I was reading through xen/COPYING and we already have something like 
that:

"Note that the only valid version of the GPL as far as Xen is concerned
is _this_ particular version of the license (i.e., *only* v2, not v2.2
or v3.x or whatever), unless explicitly otherwise stated."

So nothing to add here unless you want to tell the contributor which tag 
correspond to GPLv2.

> 
> 
>>>    /*
>>>     * xen/arch/arm/decode.c
>>>     *
>>> @@ -5,16 +6,6 @@
>>>     *
>>>     * Julien Grall <julien.grall@linaro.org>
>>>     * Copyright (C) 2013 Linaro Limited.
>>> - *
>>> - * This program is free software; you can redistribute it and/or modify
>>> - * it under the terms of the GNU General Public License as published by
>>> - * the Free Software Foundation; either version 2 of the License, or
>>> - * (at your option) any later version.
>>> - *
>>> - * This program is distributed in the hope that it will be useful,
>>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>> - * GNU General Public License for more details.
>>>     */
>>>      #include <xen/guest_access.h>
>>
>> [...]
>>
>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>> index 3fd1186b53..b29bdf3aa6 100644
>>> --- a/xen/arch/arm/domain_build.c
>>> +++ b/xen/arch/arm/domain_build.c
>>> @@ -1,3 +1,4 @@
>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>
>> AFAIU, the assumption is all the files with no copyright are GPLv2. That works
>> here. But ...
>>
>>>    #include <xen/init.h>
>>>    #include <xen/compile.h>
>>>    #include <xen/lib.h>
>>> diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
>>> index 71182575f9..47405e0866 100644
>>> --- a/xen/arch/arm/domain_page.c
>>> +++ b/xen/arch/arm/domain_page.c
>>> @@ -1,3 +1,4 @@
>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>
>> .... this file was split from mm.c which is gpl-2.0-or-later. So I don't think
>> we can use GPL-2.0 here.
> 
> Well spotted! Effectively this file is now declared as GPL 2.0 only,
> given what is stated in COPYING. The code in domain_page has lost "or
> later" with the loss of the copyright header.

Yes. This was an oversight from me when I split the code a few weeks ago.

> 
> So if there were new contributions to this file after its creation, they
> would have been GPL-2.0 only contributions, and it would have been
> impossible to go back to GPL-2.0-or-later without asking the copyright
> owners of the new changes.
> 
> In this case thankfully there are no new contributions since the split
> of the file, so I can fix it by using the SPDX GPL-2.0-or-later tag
> without problems. I'll do it in the next version of the series.
> 
> Xen is not saying: "if there is no copyright header it might be GPLv2
> but you need to look it up". Xen is actively saying: "if there is no
> copyright header it is GPLv2". Not up for discussion. Given that as a
> whole Xen is GPLv2, the only possibility is that the file without a
> copyright header used to be:
> - GPLv2 or later
> - dual license GPL and another compatible license (e.g. BSD)
> 
> Either way, with the loss of the copyright header, the file becomes
> immediately GPLv2 only.
> 
> Does it make sense?
> 
> This is why I think it is best to keep copyright discussions out of the
> SPDX patches review and limit ourselves to mechanical changes.

Yes I agree this series should be mechanical (baring the file that is 
contain GPLv2+ code).

I am putting some thoughts below (they can be split in a separate thread 
if you prefer).

This is not the first time this topic is brought up and probably not the 
last as long as we have file using GPLv2+.

IIRC from past discussion there are two broads concern with GPLv2+:
   - We are leaving the choice of which license applies to the person 
copying the code. So if a new version is released that is less favorable 
to the initial contributor, then we have no leverage.
   - Some companies are rather cautious to contribute code that my be 
licensed under GPLv3 (would be allowed with GPLv2+).

The later is particularly a problem because not many people realize that 
a fair part of Xen on Arm is GPLv2+. I never really understood why we 
chose that (this was before my time) but this got spread as the existing 
copyright was added to a new file. Admittely, the contributor should be 
more cautious. But I would not say this is trivial to spot the difference.

I would like to consider to re-license all the GPLv2+ files to GPLv2. 
AFAIU, this would mean we would need to ask the permission for every 
comapany that contributed to the file. Do you know if this was done 
before in Xen Project?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 20:24:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 20:24:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390876.628495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPV0i-0006iw-Sv; Sat, 20 Aug 2022 20:24:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390876.628495; Sat, 20 Aug 2022 20:24:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPV0i-0006ip-Pz; Sat, 20 Aug 2022 20:24:00 +0000
Received: by outflank-mailman (input) for mailman id 390876;
 Sat, 20 Aug 2022 20:23:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPV0h-0006if-Su; Sat, 20 Aug 2022 20:23:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPV0h-00019T-Oy; Sat, 20 Aug 2022 20:23:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPV0h-00084i-6F; Sat, 20 Aug 2022 20:23:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPV0h-0003ej-5p; Sat, 20 Aug 2022 20:23:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+VneFaCHAaDVy7LFqYWoSyiUzYadi8Q/y72yg4oowz0=; b=4xvFni91nDNjHBjjmeLWgB4Z5v
	RHc2gBe0SNqaflsqBcq4S0eHaobQXRrneKkIAwfxzq0MOurGIcn5RTJd97V2/CwLp5L8jyZPGkdcf
	itB7SXtAUxlHaEHIW7gp4oRsRyExsB0ztMrTEnBLloK6HelFBZn/YhPcbqiyfy4axODM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172666-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172666: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=50cd95ac46548429e5bba7ca75cc97d11a697947
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 20:23:59 +0000

flight 172666 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172666/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                50cd95ac46548429e5bba7ca75cc97d11a697947
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   16 days
Failing since        172152  2022-08-05 04:01:26 Z   15 days   37 attempts
Testing same since   172654  2022-08-20 00:40:09 Z    0 days    2 attempts

------------------------------------------------------------
1490 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 152499 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 20 21:22:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Aug 2022 21:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390885.628506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPVvH-0004NY-DI; Sat, 20 Aug 2022 21:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390885.628506; Sat, 20 Aug 2022 21:22:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPVvH-0004NR-A3; Sat, 20 Aug 2022 21:22:27 +0000
Received: by outflank-mailman (input) for mailman id 390885;
 Sat, 20 Aug 2022 21:22:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPVvG-0004NG-6L; Sat, 20 Aug 2022 21:22:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPVvF-0002bm-Tz; Sat, 20 Aug 2022 21:22:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPVvF-0003zh-DS; Sat, 20 Aug 2022 21:22:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPVvF-0005wp-Ak; Sat, 20 Aug 2022 21:22:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EIqKqhdI5a/MFrf7+3DBD/ygV5rmiIs1/SY3F5qGkrY=; b=iWwRQFwulI1e8zIQPdRSq/OoEM
	VUGV8w0FB+L9NDg8BMSa9gSBckhL0qhAuamsmVpWzEYexzEE9lugGWg6P2iOEXl2wDV67trS2QIyb
	NA5emRDLm5CU66StszBQe9nIyb2wvwAKGlPU2KUHJdvusKfy5TTA98CKWLUc4FOfxW44=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172673-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172673: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Aug 2022 21:22:25 +0000

flight 172673 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172673/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   16 days
Failing since        172151  2022-08-05 02:40:28 Z   15 days  134 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    1 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 00:48:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 00:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390893.628517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPZ8R-0007En-4T; Sun, 21 Aug 2022 00:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390893.628517; Sun, 21 Aug 2022 00:48:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPZ8R-0007Eg-0O; Sun, 21 Aug 2022 00:48:15 +0000
Received: by outflank-mailman (input) for mailman id 390893;
 Sun, 21 Aug 2022 00:48:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPZ8O-0007EW-UQ; Sun, 21 Aug 2022 00:48:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPZ8O-0006hI-SS; Sun, 21 Aug 2022 00:48:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPZ8O-0000Z9-Eh; Sun, 21 Aug 2022 00:48:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPZ8O-0007Dn-EE; Sun, 21 Aug 2022 00:48:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1fNfD4XxU+0oapS/rzy7335rtzNJIfHRS7cHqWChksU=; b=hbJMLUBdL+5WgtQ1vLtRLLFzYT
	RSlJ4Awx1Z2ndYx23Fw0iz4XWSVwSqumQRhnrSCkmrg7BYosCP1gp9WrpaxbPHgE/WlDqHPXVVSqz
	5GdblxfAZiANIlGhNNHNtQI/bwY6LDRSPgvaJdxan1JeMH6c9cd7IDL/lh0OVeSqWs4o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172670-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172670: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-vhd:debian-di-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ba58ccbef60338d0b7334c714589a6423a3e7f91
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 00:48:12 +0000

flight 172670 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172670/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172658 pass in 172670
 test-armhf-armhf-xl-vhd     12 debian-di-install fail in 172658 pass in 172670
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172658
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 172658

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                ba58ccbef60338d0b7334c714589a6423a3e7f91
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   17 days
Failing since        172148  2022-08-04 21:39:38 Z   16 days   38 attempts
Testing same since   172658  2022-08-20 03:51:49 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2251 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 00:49:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 00:49:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390900.628528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPZ9J-0007l6-Ev; Sun, 21 Aug 2022 00:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390900.628528; Sun, 21 Aug 2022 00:49:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPZ9J-0007kz-B7; Sun, 21 Aug 2022 00:49:09 +0000
Received: by outflank-mailman (input) for mailman id 390900;
 Sun, 21 Aug 2022 00:49:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPZ9I-0007kn-9O; Sun, 21 Aug 2022 00:49:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPZ9I-0006hw-8a; Sun, 21 Aug 2022 00:49:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPZ9H-0000cZ-P4; Sun, 21 Aug 2022 00:49:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPZ9H-0007OZ-Oa; Sun, 21 Aug 2022 00:49:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9Hph9rqztTklZcJnBtx6oOT1+j1LBQqIrD69GCpd6N4=; b=iDAZb/YYZ9Zdow5wHTIDVnFYDt
	OWd0AySWJZXwtOtBXQpM6ZZQAMRYpcnS7TkB4PaE9AYKGUb91mfXkV5VO54yWr/sh5g8bMVrKz7up
	ZMOazhvBmWpqnkoJaqeM1HitVsOh1MIVJ1E7VvS6/d0LrUflf2jCOAuKCaYzz4GxL6ew=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172676-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172676: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 00:49:07 +0000

flight 172676 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172676/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   16 days
Failing since        172151  2022-08-05 02:40:28 Z   15 days  135 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    1 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 03:07:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 03:07:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390910.628539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPbIl-0002zz-HT; Sun, 21 Aug 2022 03:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390910.628539; Sun, 21 Aug 2022 03:07:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPbIl-0002zs-DT; Sun, 21 Aug 2022 03:07:03 +0000
Received: by outflank-mailman (input) for mailman id 390910;
 Sun, 21 Aug 2022 03:07:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPbIk-0002zi-5y; Sun, 21 Aug 2022 03:07:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPbIk-0007oO-2R; Sun, 21 Aug 2022 03:07:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPbIj-0007VA-Jb; Sun, 21 Aug 2022 03:07:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPbIj-0005QG-HS; Sun, 21 Aug 2022 03:07:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=taOfmWjbX14hv2RJQplddw2zz5vDMH3jz0Yno2q34UQ=; b=iTdh8nKic0QKgRGtLnh5pNQj9A
	RQ3bGCxjsJBH+Wj1ypxvWjHGJtFnNrgrIAUaYPC0pr2CIfsOTtT5p8QCV3mMj1Rx9cc2Z8lES8pyO
	3ZJrNgwGydM8bFd4MDXxI7SNXzq3yjeNLQfnN24KyWEQeSpIm7asHE71yXpRDFAcV5Ns=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172672-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172672: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 03:07:01 +0000

flight 172672 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172672/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail in 172660 pass in 172672
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail pass in 172660

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172660 blocked in 172128
 test-armhf-armhf-xl-vhd      13 guest-start         fail in 172660 like 172108
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172660 like 172128
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172660 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172660 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   17 days
Testing same since   172384  2022-08-11 11:13:58 Z    9 days   19 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 04:02:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 04:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390919.628553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPcAh-0000eZ-QC; Sun, 21 Aug 2022 04:02:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390919.628553; Sun, 21 Aug 2022 04:02:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPcAh-0000eS-NZ; Sun, 21 Aug 2022 04:02:47 +0000
Received: by outflank-mailman (input) for mailman id 390919;
 Sun, 21 Aug 2022 04:02:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPcAg-0000eI-9n; Sun, 21 Aug 2022 04:02:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPcAg-0000Ns-6z; Sun, 21 Aug 2022 04:02:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPcAf-0002OM-Qz; Sun, 21 Aug 2022 04:02:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPcAf-00013Y-QX; Sun, 21 Aug 2022 04:02:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1U0+EAUkvS6coioIYaLfYOZFlFs4zPbq1H8siT6YNRg=; b=rcV6ViOhC6yT/U3kq9hvoQQuaG
	C6rkAY4uhp9NN4UD/3RvCXNMk887/YTGN40Y1h5Xd/WxG9PNEJDYayrVvE1Rrp6Od/9uWsJbi1KVs
	+S0991dwwz0q6aO+OxRiR8ZKgB3IFushJVArDuCsaR+L+efNiLXt7w/Hu0uDmg2RwhVE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172678-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172678: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 04:02:45 +0000

flight 172678 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172678/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   16 days
Failing since        172151  2022-08-05 02:40:28 Z   16 days  136 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    1 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 05:36:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 05:36:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390928.628564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPdcm-0001Xi-Hm; Sun, 21 Aug 2022 05:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390928.628564; Sun, 21 Aug 2022 05:35:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPdcm-0001Xb-ER; Sun, 21 Aug 2022 05:35:52 +0000
Received: by outflank-mailman (input) for mailman id 390928;
 Sun, 21 Aug 2022 05:35:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Cr7=YZ=yahoo.com=hack3rcon@srs-se1.protection.inumbo.net>)
 id 1oPdcl-0001XS-93
 for xen-devel@lists.xenproject.org; Sun, 21 Aug 2022 05:35:51 +0000
Received: from sonic305-1.consmr.mail.bf2.yahoo.com
 (sonic305-1.consmr.mail.bf2.yahoo.com [74.6.133.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1bf4dae7-2113-11ed-9250-1f966e50362f;
 Sun, 21 Aug 2022 07:35:49 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic305.consmr.mail.bf2.yahoo.com with HTTP; Sun, 21 Aug 2022 05:35:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1bf4dae7-2113-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1661060147; bh=rjs5ScbnXtXKjq1fkxfFc67hvfT2QxbO+/jQqXPheyU=; h=Date:From:To:Subject:References:From:Subject:Reply-To; b=QTIksUxwNVmwzpUMjTpWdkAaiKMRCUF+wklePz+DA5nR1wsjzbZhzsitM4uij2Ea+IHJVMgv8Yhe7/3J9VfokirkPJXSil1FpOkwhA4DxAlr9//tz46HYiqWzq9FR/UK2NwRriGcOq2nQguxPzrxOlLT9k1rGFuc9yUE/dbkWMBhbxjCyLNzpz8gx7lKJSg6DT6n42Vyb+0BOgatlryypQ4JL+kgqaGPDuVeQmvHsRxBhYfHncirb6E8Vq6lXYYKtFOQAP0a19+lCjpKoKV2N+qbSbNTZfS60YVBwUXNseGllVX7+QzvLpJU6Y3nX0F6NJ9qO/IkcQK5K9wIdQvZEQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1661060147; bh=dqhIcaAm701SoXbIs4JB9VDs6KagFzT5bhCga1/4r59=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=DbbNDSByfV/WU07pqGGSPYa/iHxm6BXR6wUXApNqlBbLGuMJq3isfuQy5RQ9mo+wj3DHXAkUyVhNB2IDnOpOHEWIqW6AdJJecwQFSjx5yFHjqeaOldxsNyHDZwdvVfyVB6sqNjtLrJBxX2CIyp1NfRPqpqCvVDruOZGt+LDfcBbrdqkdtwifoENfhhB518Gy/2rTW8WV4GAK/nbzcObkWracJOFLvyPqa/9D/X3r0vp7ET4P+eqbkgSmVhoxoJUsW2i1xiDNOBK598O2hJNfU1XNzVRwQB7GYLlQ9e/A8m4J3qPPMVrI8UxnCIr0MwsaZeMemdQf/86KTlheGK7acA==
X-YMail-OSG: f.w1pwkVM1l65x0jNy_78vtlARSnKaXLXOBu5RFLc5JiUdOIiLZHSgqaL3WDdm8
 2P99ceocflIIkHNXgR5jsN6sdURwWrrLypfR6Z3h1iGXmSnNkYudtOQPjoKEftF0YmEyLWeJ2cyI
 Z_mmXpi_RgrhuNpbTRadVnUXMBsoVAla8j2D4sEm9ecGdyqYZ624qbOydJYxWYAopy505eBji23Z
 CB_zWa6TP6WyD6fAQCGbNXAEs2SiXA7rsR_MkEiDFz6LBdfIran2YCtUih9mLmqpirQWAGHkJA5a
 iGDr48oNkUbbhXTMIYxtdBr1VLa8d5v2s0KFrzO.VGk4uRfMQx2nbs2Qo7XLMM6pgZygSvcHCSdh
 Wl0aftiGechA5WSOXdE7UZYvNJIbKzUvrT8_X_ml3RlW2AVxlHMKBNoBxNsiW7KdCUHDAuPm6qkQ
 gN1Mv4McUXkVxzRCAKGpIBie7r50sn9euFq0tLW7oquAlbqNXu9fqpbkzDjLRCE.qPOdlXSlbwZl
 sqfbM5GgO2HdRaU8VagFJDv7A4l.yjviO6gf01uRcOlMK.RWTy5aqTU4NpeV5mngg0iLJwJXGwwQ
 mO5SzTAGIH3t025_kPrUCYit1OWZBsUobGhEXliAjoQNYu_5jy4gBTU9aOa6L9JMII3sTUKTtQX5
 slwoTRv_eCccSCVcGLOY7AVpOnWDTgWCB5iXl5eEOKP1LPI21owFjndg.QqEN1IjgjOwNIKxIYgX
 .eGrVzvHPpll_myAXhPVGqefpzyn8c5ccM5ErRzQD0lNmuLzyYC2bhUoGeABDucwfoxxsjBKIabd
 nhdICz8yDPbh4_4h5mRbCtbWVNOOOTF5aIGZvP3KCA4lJkmLbVgCJlT8sLkJzn58rMqqrMh5TOc4
 NDWBI4qCAXN5IsPVhMePDaEBu_W600lZ0k8jgZG.qpn9yhpDiAPl4blsebswvzB8Oh8lcovjyLcE
 uLiB9WFbLYiJdeWA2TKXkfKAAfoqrxNjyy5dre2S70I4nnmdIG9i0lZ4UaGDRju6hUqPkJties5A
 _vvDBgppIYq2iJpKvOYV3cG2MrRHXujwp8C5TylhgDs_sScxXJAszMCFKc6aONarWk5WvhUx3hsQ
 L.XLE26AuQNLDuCZ1qVoL.2JP9yoPmYr8pKiI4hwsfvci2FDbt8xbm2aWENdGbwkGQtbTlMSxKEM
 B6LhCPgx6P82Z9LtOIsI.PREY_daw0176IZl6Tl31HYlSKIFzAiN6nvTeKfyDaqU70gGv9wfuX.I
 9Z9exJyVvNkRyXH9cPa6e9L3SVXEqmqARv3rrL5amyMs29pim56GD6a1KJlPMYjPWxMeVY5oHnJF
 k1FvTpyQ21sbrPSz__VnlRELmYzzRKeIymjm7rOeIvoWp7Hxut9yDOC.Q1ZYVgNhPzq0eAx_3CsR
 ymyPqTkklM58ttZdhYNIyiKVnRK_UFnq1ADEwlF1wgj3g0LrKtVLzCOf_.LLOIa26BLKlO4MlTjd
 w82kqj4ZsoIMGUSEWGy5nJXXJ0sEQIPSBHWQ5x_Ceyo7XS7iDWjg9ip..sirZlm2MVyehLNiNjiq
 MQQYrcTthRHi0niDrGT6roMg69GV8n40e_gXesrW.21zVlI_r0elSZiWE6k5wAKCZmUguTzbKW6e
 CwhvIGT_PFHoa4tYE4dYFV3oJKZWlob0s5Oyunw4GDs6AMtPn6gnwlvSLygF01pgQrXClAAt2ALS
 hoVjVYGlMqI_KW.Wj1TEKoqP6BJKyIJiDToz8jE9H6SnxM_YkNRFNgXdiDF9PE2s8l6wQzStu1m_
 c87eW_ij0ySvjqUSs.kMUDNK.D5fk.dffoKewjMDyN4L1qABlsH3EYcKljgXSlMa9lAoJoKFO.sK
 doxbJ1Z8AehTDrPgRoCDIbjs0IxSxCGNg9yviRt69wruyHgcJRD2l4T.4wg_XdLkHT1pwYACLO4W
 dknSvn0OuGv04sSYgXxoJaFoiOrLSuJEeFuhbDSJSa9FT3Lb7gBuIcD45jzbG.ODVS97cyUmGvwb
 fQoFD8UPltl_c3y.D_kzsNKtJ4L8HZDmxGL2ixCmhsPRZDOOjrjhsY3K68ThtfVg_r08HKRhS2zl
 TvyCiFtmeg_8xWjKlVWigUpuUUOI8oTnPN077ca9rtUUwOojocB.mx5hGXO_x6WDdz_sfd3SmaZM
 9LrI4FlNM9aVnQEMBCseKRr0PdWcxQzJ4J88lSSb4Zf8Xhg2kaxg-
X-Sonic-MF: <hack3rcon@yahoo.com>
Date: Sun, 21 Aug 2022 05:35:42 +0000 (UTC)
From: Jason Long <hack3rcon@yahoo.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1677353127.432967.1661060142000@mail.yahoo.com>
Subject: How to isolate vital part of a host with the Xen Hypervisor?
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
References: <1677353127.432967.1661060142000.ref@mail.yahoo.com>
X-Mailer: WebService/1.1.20560 YMailNorrin
Content-Length: 154

Hello,
Is it possible to install the Xen Hypervisor for just isolate my host OS and disable its Virtualization features (Install guest OS)?


Thank you.


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 06:02:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 06:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390935.628575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPe29-0004yV-Om; Sun, 21 Aug 2022 06:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390935.628575; Sun, 21 Aug 2022 06:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPe29-0004yO-Lx; Sun, 21 Aug 2022 06:02:05 +0000
Received: by outflank-mailman (input) for mailman id 390935;
 Sun, 21 Aug 2022 06:02:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPe28-0004yE-HL; Sun, 21 Aug 2022 06:02:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPe28-0002sp-E6; Sun, 21 Aug 2022 06:02:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPe27-0002nc-TO; Sun, 21 Aug 2022 06:02:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPe27-00026q-Sy; Sun, 21 Aug 2022 06:02:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aoRiCnh9/tuj8ml+cQE1LiOUzmaINCaXCrNLR7HCsqA=; b=thUpgwjvMIN54vu1msP9kb/emF
	n0d5xJONf/MSG4uB42IQeOhh9C706lnVB2eX2GOW0LFVRB08NZH5S6vnYbF4rmXhxHURtmk8soJDb
	OMVlVv1JNLBsHro5rB801Y5CPeXeBAYFDNnZyfZFVGIaAH2T+feCtx74cf1HUDO/3l/k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172675-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172675: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=cc1807b9158a909ffe829a5e222be756c57c9a90
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 06:02:03 +0000

flight 172675 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172675/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                cc1807b9158a909ffe829a5e222be756c57c9a90
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   17 days
Failing since        172152  2022-08-05 04:01:26 Z   16 days   38 attempts
Testing same since   172675  2022-08-20 20:41:36 Z    0 days    1 attempts

------------------------------------------------------------
1496 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 153228 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 09:37:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 09:37:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390948.628585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPhOE-00009Y-EI; Sun, 21 Aug 2022 09:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390948.628585; Sun, 21 Aug 2022 09:37:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPhOE-00009R-Aw; Sun, 21 Aug 2022 09:37:06 +0000
Received: by outflank-mailman (input) for mailman id 390948;
 Sun, 21 Aug 2022 09:37:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPhOD-00009G-FR; Sun, 21 Aug 2022 09:37:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPhOD-0006yf-CE; Sun, 21 Aug 2022 09:37:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPhOD-00009t-4L; Sun, 21 Aug 2022 09:37:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPhOD-00016G-12; Sun, 21 Aug 2022 09:37:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=J6klfR+gMCubOcBsTpj0fEDb2ug/uoODTZPkMRUn+i8=; b=bMz+LvZd7j9eZG2iw1mW3InfZ6
	MSBUWm+CLltztqXLGqkvSeY9kjmNB9TObesZB+FuaMij0RfcIxX7gF0pMGnStg5/qmtBJFu+dq0Gq
	/nPGwEaYmZEFSjSAOB+YtRGxTcBVgLLC+jKb0HY5JQ2CF8rEBpgcWchJldy6BA5AiVM4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172683-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172683: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=f1929d4289410ca2f36e560a6bd7aa7331236ac7
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 09:37:05 +0000

flight 172683 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172683/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              f1929d4289410ca2f36e560a6bd7aa7331236ac7
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  772 days
Failing since        151818  2020-07-11 04:18:52 Z  771 days  753 attempts
Testing same since   172638  2022-08-19 04:18:57 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120566 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 10:08:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 10:08:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390957.628597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPhsQ-0003ht-WD; Sun, 21 Aug 2022 10:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390957.628597; Sun, 21 Aug 2022 10:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPhsQ-0003hm-TR; Sun, 21 Aug 2022 10:08:18 +0000
Received: by outflank-mailman (input) for mailman id 390957;
 Sun, 21 Aug 2022 10:08:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPhsP-0003hc-MY; Sun, 21 Aug 2022 10:08:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPhsP-0007Z4-Jl; Sun, 21 Aug 2022 10:08:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPhsP-0002oi-4j; Sun, 21 Aug 2022 10:08:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPhsP-0003Wt-4C; Sun, 21 Aug 2022 10:08:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lhn0b7hrSgb1O7pPVdsj0+uPDJS2ZrtlPTmh6hPFWqI=; b=IQuLoj3DcV/dO8FxLcIs1xxJ7c
	o8ePP8EqtauOil4hQpJz1cTUM8kqq+rh+kl7LSdOgCpn/GNih7PlAynzVweDyzqAFoI+EnNxfmxym
	V5nXOUofI44QQ745hHkT+TgBR5fbmMCm+ly+93Ko87IckNWIpnsiEIJBi8/jRh+Gc3Vg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172682-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172682: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 10:08:17 +0000

flight 172682 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172682/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   17 days
Failing since        172151  2022-08-05 02:40:28 Z   16 days  137 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    1 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 11:31:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 11:31:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390965.628608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPjB3-0003zZ-1E; Sun, 21 Aug 2022 11:31:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390965.628608; Sun, 21 Aug 2022 11:31:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPjB2-0003zS-UK; Sun, 21 Aug 2022 11:31:36 +0000
Received: by outflank-mailman (input) for mailman id 390965;
 Sun, 21 Aug 2022 11:31:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPjB1-0003zI-RD; Sun, 21 Aug 2022 11:31:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPjB1-0000Vk-MV; Sun, 21 Aug 2022 11:31:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPjB1-0007l8-2Z; Sun, 21 Aug 2022 11:31:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPjB1-0003Uu-26; Sun, 21 Aug 2022 11:31:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tZVmJVexqTAHOlidD0srWwNufgpz5bTWPQ5RAEQDZ/k=; b=a1LPmSteu1swBFjdgowKOs2mdZ
	cCbKRrbBIplA20W9m8djW+5d/MwQ14umDVdxim486Sjcl/iHD4bXuJd8kBkMg/A1PoJOJshdHxdvH
	AB+A0Ws93InyzazhN4ZgkwB0h3Ny4KiNff7BrITrheh++Mxo564IuGeOFrjzwyLEYFd0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172677-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172677: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ba58ccbef60338d0b7334c714589a6423a3e7f91
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 11:31:35 +0000

flight 172677 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172677/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                ba58ccbef60338d0b7334c714589a6423a3e7f91
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   17 days
Failing since        172148  2022-08-04 21:39:38 Z   16 days   39 attempts
Testing same since   172658  2022-08-20 03:51:49 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2251 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 12:03:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 12:03:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390974.628619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPjfx-0007QY-O7; Sun, 21 Aug 2022 12:03:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390974.628619; Sun, 21 Aug 2022 12:03:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPjfx-0007QR-Ko; Sun, 21 Aug 2022 12:03:33 +0000
Received: by outflank-mailman (input) for mailman id 390974;
 Sun, 21 Aug 2022 12:03:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPjfw-0007QH-JE; Sun, 21 Aug 2022 12:03:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPjfw-00012l-Fw; Sun, 21 Aug 2022 12:03:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPjfw-0000Sw-2V; Sun, 21 Aug 2022 12:03:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPjfw-0007E8-21; Sun, 21 Aug 2022 12:03:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yQGDS612l7xwazukHepXD9WhcxO8UB6B82h1yLnbrJw=; b=Z3uhLd/4jaU67cl+1EnEgB6jvU
	xwr77ovXif3x6ImA0gX5X4NymHjKuml+7izce30CQBD5lU1HJLffmnRLa8jgsJ0sbGe3MguRiH5D5
	LKIqaHtx2s+60nOURb7N36LazSitNg5r0HDAiCyfUQniqd3YMU+cEc9yL0TYMEHepsLo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172679-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172679: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start.2:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
X-Osstest-Versions-That:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 12:03:32 +0000

flight 172679 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172679/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds     19 guest-start.2           fail blocked in 172657
 build-amd64-libvirt           6 libvirt-build                fail  like 172657
 build-i386-libvirt            6 libvirt-build                fail  like 172657
 build-arm64-libvirt           6 libvirt-build                fail  like 172657
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172657
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172657
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172657
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172657
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172657
 build-armhf-libvirt           6 libvirt-build                fail  like 172657
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172657
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172657
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172657
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172657
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a
baseline version:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a

Last test of basis   172679  2022-08-21 01:52:12 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Aug 21 12:26:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 12:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390982.628630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPk1z-0001PE-IL; Sun, 21 Aug 2022 12:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390982.628630; Sun, 21 Aug 2022 12:26:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPk1z-0001P7-F2; Sun, 21 Aug 2022 12:26:19 +0000
Received: by outflank-mailman (input) for mailman id 390982;
 Sun, 21 Aug 2022 12:26:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gA9S=YZ=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1oPk1t-0001Oz-Op
 for xen-devel@lists.xenproject.org; Sun, 21 Aug 2022 12:26:18 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70e8a28d-214c-11ed-9250-1f966e50362f;
 Sun, 21 Aug 2022 14:26:11 +0200 (CEST)
Received: from zn.tnic (p200300ea971b9882329c23fffea6a903.dip0.t-ipconnect.de
 [IPv6:2003:ea:971b:9882:329c:23ff:fea6:a903])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id D225F1EC02AD;
 Sun, 21 Aug 2022 14:26:06 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70e8a28d-214c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1661084767;
	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:in-reply-to:in-reply-to:  references:references;
	bh=g1rcKArseoTcwKRluy/+n/zWWnLG0mmO4BjXiUTjTQo=;
	b=Iybi51cDAMmwdoswfJCzVyrOZu2xIpJoc4ZLh3BwbIZvIxwN/Il3v3+/iw4QD6FBdGIV5p
	4jYB7MwWbMe0uBbMOvcK74WMuQGkuULIapHbVjBsvf4CphE5n/UXtrjvPyO/BAD+581FMF
	EHTbIc1eeAxKJ7PF6dHQI6hheajBQXI=
Date: Sun, 21 Aug 2022 14:25:59 +0200
From: Borislav Petkov <bp@alien8.de>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
Subject: Re: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
Message-ID: <YwIkV7mYAC4Ebbwb@zn.tnic>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20220820092533.29420-2-jgross@suse.com>

On Sat, Aug 20, 2022 at 11:25:24AM +0200, Juergen Gross wrote:
> When booting or resuming the system MTRR state is saved on the boot
> processor and then this state is loaded into MTRRs of all other cpus.

s/cpu/CPU/g

Pls check all commit messages.

> During update of the MTRRs the MTRR mechanism needs to be disabled by
> writing the related MSR. The old contents of this MSR are saved in a
> set of static variables and later those static variables are used to
> restore the MSR.
> 
> In case the MSR contents need to be modified on a cpu due to the MSR
> not having been initialized properly by the BIOS, the related update
> function is modifying the static variables accordingly.
> 
> Unfortunately the MTRR state update is usually running on all cpus
> at the same time, so using just one set of static variables for all
> cpus is racy in case the MSR contents differ across cpus.
> 
> Fix that by using percpu variables for saving the MSR contents.
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> I thought adding a "Fixes:" tag for the kernel's initial git commit
> would maybe be entertaining, but without being really helpful.
> The percpu variables were preferred over on-stack ones in order to
> avoid more code churn in followup patches decoupling PAT from MTRR
> support.

So if that thing has been broken for so long and no one noticed, we
could just as well not backport to stable at all...

> V2:
> - new patch
> ---
>  arch/x86/kernel/cpu/mtrr/generic.c | 21 ++++++++++++++-------
>  1 file changed, 14 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
> index 558108296f3c..3d185fcf08ca 100644
> --- a/arch/x86/kernel/cpu/mtrr/generic.c
> +++ b/arch/x86/kernel/cpu/mtrr/generic.c
> @@ -679,7 +679,8 @@ static bool set_mtrr_var_ranges(unsigned int index, struct mtrr_var_range *vr)
>  	return changed;
>  }
>  
> -static u32 deftype_lo, deftype_hi;
> +static DEFINE_PER_CPU(u32, deftype_lo);
> +static DEFINE_PER_CPU(u32, deftype_hi);

My APM says that the high 32 bits of the MTRRdefType MSR are reserved
and MBZ. So you can drop the _hi thing and use 0 everywhere. Or rather a
dummy = 0 var because of that damn rdmsr() macro.

Or simply use a

u64 deftype;

use the rdmsrl/wrmsrl() variants and split it when passing to
umtrr_wrmsr() because that thing wants 2 32s.

>  /**
>   * set_mtrr_state - Set the MTRR state for this CPU.
> @@ -691,6 +692,7 @@ static unsigned long set_mtrr_state(void)
>  {
>  	unsigned long change_mask = 0;
>  	unsigned int i;
> +	u32 *lo = this_cpu_ptr(&deftype_lo);

The tip-tree preferred ordering of variable declarations at the
beginning of a function is reverse fir tree order::

	struct long_struct_name *descriptive_name;
	unsigned long foo, bar;
	unsigned int tmp;
	int ret;

The above is faster to parse than the reverse ordering::

	int ret;
	unsigned int tmp;
	unsigned long foo, bar;
	struct long_struct_name *descriptive_name;

And even more so than random ordering::

	unsigned long foo, bar;
	int ret;
	struct long_struct_name *descriptive_name;
	unsigned int tmp;

Please check all your patches.

>  	for (i = 0; i < num_var_ranges; i++) {
>  		if (set_mtrr_var_ranges(i, &mtrr_state.var_ranges[i]))
> @@ -704,10 +706,10 @@ static unsigned long set_mtrr_state(void)
>  	 * Set_mtrr_restore restores the old value of MTRRdefType,
>  	 * so to set it we fiddle with the saved value:
>  	 */
> -	if ((deftype_lo & 0xff) != mtrr_state.def_type
> -	    || ((deftype_lo & 0xc00) >> 10) != mtrr_state.enabled) {
> +	if ((*lo & 0xff) != mtrr_state.def_type
> +	    || ((*lo & 0xc00) >> 10) != mtrr_state.enabled) {
>  
> -		deftype_lo = (deftype_lo & ~0xcff) | mtrr_state.def_type |
> +		*lo = (*lo & ~0xcff) | mtrr_state.def_type |
>  			     (mtrr_state.enabled << 10);
>  		change_mask |= MTRR_CHANGE_MASK_DEFTYPE;
>  	}
> @@ -729,6 +731,8 @@ static DEFINE_RAW_SPINLOCK(set_atomicity_lock);
>  static void prepare_set(void) __acquires(set_atomicity_lock)
>  {
>  	unsigned long cr0;
> +	u32 *lo = this_cpu_ptr(&deftype_lo);
> +	u32 *hi = this_cpu_ptr(&deftype_hi);

You don't need the pointers here - this_cpu_read() should be enough.

>  	/*
>  	 * Note that this is not ideal
> @@ -763,10 +767,10 @@ static void prepare_set(void) __acquires(set_atomicity_lock)
>  	flush_tlb_local();
>  
>  	/* Save MTRR state */
> -	rdmsr(MSR_MTRRdefType, deftype_lo, deftype_hi);
> +	rdmsr(MSR_MTRRdefType, *lo, *hi);
>  
>  	/* Disable MTRRs, and set the default type to uncached */
> -	mtrr_wrmsr(MSR_MTRRdefType, deftype_lo & ~0xcff, deftype_hi);
> +	mtrr_wrmsr(MSR_MTRRdefType, *lo & ~0xcff, *hi);
>  
>  	/* Again, only flush caches if we have to. */
>  	if (!static_cpu_has(X86_FEATURE_SELFSNOOP))
> @@ -775,12 +779,15 @@ static void prepare_set(void) __acquires(set_atomicity_lock)
>  
>  static void post_set(void) __releases(set_atomicity_lock)
>  {
> +	u32 *lo = this_cpu_ptr(&deftype_lo);
> +	u32 *hi = this_cpu_ptr(&deftype_hi);

Ditto.

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 12:41:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 12:41:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390988.628641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPkGt-0003kh-SP; Sun, 21 Aug 2022 12:41:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390988.628641; Sun, 21 Aug 2022 12:41:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPkGt-0003ka-Og; Sun, 21 Aug 2022 12:41:43 +0000
Received: by outflank-mailman (input) for mailman id 390988;
 Sun, 21 Aug 2022 12:41:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPkGs-0003kA-W3; Sun, 21 Aug 2022 12:41:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPkGs-0001fr-Th; Sun, 21 Aug 2022 12:41:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPkGs-00028W-Gl; Sun, 21 Aug 2022 12:41:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPkGs-0005A8-GJ; Sun, 21 Aug 2022 12:41:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cKMAR2uE2WqFRKhDnSUXe/DuEAA2WA0x/vqtOH5hJNE=; b=MxkrpB+rlwikrHPe43iMa7woQi
	KEx8/nOHYnA3dQBfDRUmSdmmqMq0mlNgw7glbfViMHoAgmlCDOePh4ttchO224TK0XyHR/NusvE6L
	tlRy5JqRmhukBvaJQUrSPWDmfkfIl//7+gikrxbXNenvILZ/AC026ejEVnB2Gnk2VmH8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172685-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172685: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 12:41:42 +0000

flight 172685 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172685/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   17 days
Failing since        172151  2022-08-05 02:40:28 Z   16 days  138 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    2 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 13:20:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 13:20:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.390997.628651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPksd-00083S-0X; Sun, 21 Aug 2022 13:20:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 390997.628651; Sun, 21 Aug 2022 13:20:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPksc-00083L-TV; Sun, 21 Aug 2022 13:20:42 +0000
Received: by outflank-mailman (input) for mailman id 390997;
 Sun, 21 Aug 2022 13:20:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPksb-00083B-Tp; Sun, 21 Aug 2022 13:20:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPksb-0002OU-Ps; Sun, 21 Aug 2022 13:20:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPksb-0004z0-ET; Sun, 21 Aug 2022 13:20:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPksb-0002O3-Dy; Sun, 21 Aug 2022 13:20:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vzNjNIZFDDQxlCTpcAvaW8/E/Oj+g3zJ/qbvVNX7Z6w=; b=JM8JCmwVI5adLeUC03zZVe2cyb
	ADCJa8rWhErBnjGDKDDIHLhFCkNGmjffq34OzyqVFPKvuskbItRA9ia0WEhmIX/UaUlrA6OcZU9DN
	PtQvN5SgxtHoJEddfk3VluQpTvUQJdQtt8H1xT38xf7anGhNQXFh6E8px43ON+e9awYQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172680-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172680: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 13:20:41 +0000

flight 172680 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172680/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail in 172672 pass in 172680
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10     fail pass in 172672

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172672 like 172108
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172672 like 172128
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172672 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172672 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   17 days
Testing same since   172384  2022-08-11 11:13:58 Z   10 days   20 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 15:54:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 15:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391006.628666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPnHW-0005a8-T3; Sun, 21 Aug 2022 15:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391006.628666; Sun, 21 Aug 2022 15:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPnHW-0005a1-PY; Sun, 21 Aug 2022 15:54:34 +0000
Received: by outflank-mailman (input) for mailman id 391006;
 Sun, 21 Aug 2022 15:54:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPnHW-0005Zr-5R; Sun, 21 Aug 2022 15:54:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPnHV-0004w9-Rz; Sun, 21 Aug 2022 15:54:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPnHU-0004XI-OP; Sun, 21 Aug 2022 15:54:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPnHU-0007Zg-Nj; Sun, 21 Aug 2022 15:54:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5QcJ9mjVUNWLEW0dCu7ExSquaGfl74jvzxhKXs2uaxk=; b=rY2DmeFRh0IliIuHDrjQP+gMFr
	MxqNKHjJieyfGVAGtNegHg3+HH6RFa1Rd6wDn01XoUI7NBH0Vh3+mV92+Klr2ebDUNLiKNEwQM5S1
	MhcougENa0raYyN02Qz55kQFOYodSC1bnIb8Yz0+SLktpytT6ILN/l5uQKxpvGz+P6/o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172687-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172687: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 15:54:32 +0000

flight 172687 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172687/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   17 days
Failing since        172151  2022-08-05 02:40:28 Z   16 days  139 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    2 days   17 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 16:14:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 16:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391016.628677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPnaq-0008Vo-K0; Sun, 21 Aug 2022 16:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391016.628677; Sun, 21 Aug 2022 16:14:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPnaq-0008Vh-H0; Sun, 21 Aug 2022 16:14:32 +0000
Received: by outflank-mailman (input) for mailman id 391016;
 Sun, 21 Aug 2022 16:14:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fiUs=YZ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oPnao-0008Vb-Vx
 for xen-devel@lists.xenproject.org; Sun, 21 Aug 2022 16:14:31 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 540f7948-216c-11ed-9250-1f966e50362f;
 Sun, 21 Aug 2022 18:14:28 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 831285C0178;
 Sun, 21 Aug 2022 12:14:26 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Sun, 21 Aug 2022 12:14:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 21 Aug 2022 12:14:24 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 540f7948-216c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661098466; x=
	1661184866; bh=rcHnuqZjnBm7oQZogD9jp+omWTJLPwmVOLYHYTsax+M=; b=B
	JZ1gZdvX2Ihcne2PH2aZbRpldINKmIUnhiesEwYGXb8oDoqPkkkE0VaZqx45Dgp+
	mZ2g4MMCI1NnRJ5oUQ0y9JYMe0vbkuZa4MuRDWNqe6lSuA97VEUK7rwKN6VbAIqj
	L+RQCjxELLX6x9D6P8QzPycpPnJzOdzFTy3GpuJuyK+z6ltrrp+ZgA32cV4GQ1cr
	D8gC41SOv+29okQkYArwigE46Mh5KMbbK5nkaF8G/xjUOzYqCGOWXsMS0pLScdTP
	uBoA0u2ZyBRiP0hFaggCRBBfjA9nfCvFZ05oIpZAcXVux63T6OUgxTpS/dlJyQR5
	s1rkow7SOvN5nDeAoNH2g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661098466; x=1661184866; bh=rcHnuqZjnBm7oQZogD9jp+omWTJL
	PwmVOLYHYTsax+M=; b=kuxH9UsWminHkj3gnbkqrsluhucDsqkfWVmpu3sYP8St
	LW/xWKhZyAPvnWpD2VmnjO28Pa3c2sM/L/J8siSKWSzrxHv5Rh8OE1iAB55fzuWF
	JTltZUUNPmWBq9BRMJnkckW2zCcR3++e2hJ/JDRq+Mo8u5X8gShJ6mVprmc3dGmF
	qD+q9hE+00dWCOdrkKv/T+N6SE6ZT2Dtbv7rM/unFf4dEQHgcp8A6IgY/d4u+ULO
	iPrQbJA4aSvO7aOkR2xythNLsQ60nYN9bUxou687cccr+LeDqcTMHY5hGhMRFyzd
	DxjGUfV3CXZs0OQBpn8imt2mKyttUM3QIh8isCq3Bg==
X-ME-Sender: <xms:4lkCY5j4qN9eCnQoTa1k1-INl0e5H0HERyPGe_RVEG2RJBQ77M_FTQ>
    <xme:4lkCY-CEYE6L0TKx-Qz7DAC9X_RAP0JwsLJAwTfAtWmKHkt_hbovt85V0ad4jvHrQ
    seaKP6QkX1Ilg>
X-ME-Received: <xmr:4lkCY5ErWszPNNZ8jhDaUgFDX-goOfLFUz4eU0NS3dBP33FBqfFoKlY0LUOnEavaPXDr1v7f3lVuO_xjRyKF9IxbnhRCkd_u-j33>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeihedgleelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepueek
    teetgefggfekudehteegieeljeejieeihfejgeevhfetgffgteeuteetueetnecuffhomh
    grihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr
    mhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhm
X-ME-Proxy: <xmx:4lkCY-Q-GDIxbLb5rBhDkp7h_0q33295qOIZIw4jd_PFMHxWtbsQUA>
    <xmx:4lkCY2xjRwu4FcDY9ofEvW-tHZfF3W6IrblXj5sP7nQ0IDYjOZ4Szw>
    <xmx:4lkCY075LsHpixJ5MT22sWtBw7OjOD0EoEW7XxSckATPyc7qCZb2UQ>
    <xmx:4lkCY6_603NmjMm6AwNa6Eei3PBnODySj9cygIDfNoXjbgh2iSJGCg>
Feedback-ID: i1568416f:Fastmail
Date: Sun, 21 Aug 2022 18:14:21 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: Juergen Gross <jgross@suse.de>, Dario Faggioli <dfaggioli@suse.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [Xen-devel] Xen crash after S3 suspend - Xen 4.13 and newer
Message-ID: <YwJZ3X0HpT9w6Veh@mail-itl>
References: <fa845540-fd8e-bc63-a3af-50673dede579@citrix.com>
 <20200318221006.GS18599@mail-itl>
 <413cac496e18bcb04b0691ef633d206f3a14a8e3.camel@suse.com>
 <20200323000946.GH18599@mail-itl>
 <20200929142730.GA25731@mail-itl>
 <d243c1b5-712d-a958-0b6c-b232eb4edc80@suse.com>
 <20200929151627.GE1482@mail-itl>
 <ea53b845-5edf-a61e-62ae-7ababc30b3e0@suse.com>
 <20210131021526.GB6354@mail-itl>
 <YWHDIQC3K8J3LD8+@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="/F1yDzZ+nkRqe7pw"
Content-Disposition: inline
In-Reply-To: <YWHDIQC3K8J3LD8+@mail-itl>


--/F1yDzZ+nkRqe7pw
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sun, 21 Aug 2022 18:14:21 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: Juergen Gross <jgross@suse.de>, Dario Faggioli <dfaggioli@suse.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [Xen-devel] Xen crash after S3 suspend - Xen 4.13 and newer

On Sat, Oct 09, 2021 at 06:28:17PM +0200, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Sun, Jan 31, 2021 at 03:15:30AM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Tue, Sep 29, 2020 at 05:27:48PM +0200, J=C3=BCrgen Gro=C3=9F wrote:
> > > On 29.09.20 17:16, Marek Marczykowski-G=C3=B3recki wrote:
> > > > On Tue, Sep 29, 2020 at 05:07:11PM +0200, J=C3=BCrgen Gro=C3=9F wro=
te:
> > > > > On 29.09.20 16:27, Marek Marczykowski-G=C3=B3recki wrote:
> > > > > > On Mon, Mar 23, 2020 at 01:09:49AM +0100, Marek Marczykowski-G=
=C3=B3recki wrote:
> > > > > > > On Thu, Mar 19, 2020 at 01:28:10AM +0100, Dario Faggioli wrot=
e:
> > > > > > > > [Adding Juergen]
> > > > > > > >=20
> > > > > > > > On Wed, 2020-03-18 at 23:10 +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> > > > > > > > > On Wed, Mar 18, 2020 at 02:50:52PM +0000, Andrew Cooper w=
rote:
> > > > > > > > > > On 18/03/2020 14:16, Marek Marczykowski-G=C3=B3recki wr=
ote:
> > > > > > > > > > > Hi,
> > > > > > > > > > >=20
> > > > > > > > > > > In my test setup (inside KVM with nested virt enabled=
), I rather
> > > > > > > > > > > frequently get Xen crash on resume from S3. Full mess=
age below.
> > > > > > > > > > >=20
> > > > > > > > > > > This is Xen 4.13.0, with some patches, including "sch=
ed: fix
> > > > > > > > > > > resuming
> > > > > > > > > > > from S3 with smt=3D0".
> > > > > > > > > > >=20
> > > > > > > > > > > Contrary to the previous issue, this one does not hap=
pen always -
> > > > > > > > > > > I
> > > > > > > > > > > would say in about 40% cases on this setup, but very =
rarely on
> > > > > > > > > > > physical
> > > > > > > > > > > setup.
> > > > > > > > > > >=20
> > > > > > > > > > > This is _without_ core scheduling enabled, and also w=
ith smt=3Doff.
> > > > > > > > > > >=20
> > > > > > > > > > > Do you think it would be any different on xen-unstabl=
e? I cat
> > > > > > > > > > > try, but
> > > > > > > > > > > it isn't trivial in this setup, so I'd ask first.
> > > > > > > > > > >=20
> > > > > > > > Well, Juergen has fixed quite a few issues.
> > > > > > > >=20
> > > > > > > > Most of them where triggering with core-scheduling enabled,=
 and I don't
> > > > > > > > recall any of them which looked similar or related to this.
> > > > > > > >=20
> > > > > > > > Still, it's possible that the same issue causes different s=
ymptoms, and
> > > > > > > > hence that maybe one of the patches would fix this too.
> > > > > > >=20
> > > > > > > I've tested on master (d094e95fb7c), and reproduced exactly t=
he same crash
> > > > > > > (pasted below for the completeness).
> > > > > > > But there is more: additionally, in most (all?) cases after r=
esume I've got
> > > > > > > soft lockup in Linux dom0 in smp_call_function_single() - see=
 below. It
> > > > > > > didn't happened before and the only change was Xen 4.13 -> ma=
ster.
> > > > > > >=20
> > > > > > > Xen crash:
> > > > > > >=20
> > > > > > > (XEN) Assertion 'c2rqd(sched_unit_master(unit)) =3D=3D svc->r=
qd' failed at credit2.c:2133
> > > > > >=20
> > > > > > Juergen, any idea about this one? This is also happening on the=
 current
> > > > > > stable-4.14 (28855ebcdbfa).
> > > > > >=20
> > > > >=20
> > > > > Oh, sorry I didn't come back to this issue.
> > > > >=20
> > > > > I suspect this is related to stop_machine_run() being called duri=
ng
> > > > > suspend(), as I'm seeing very sporadic issues when offlining and =
then
> > > > > onlining cpus with core scheduling being active (it seems as if t=
he
> > > > > dom0 vcpu doing the cpu online activity sometimes is using an old
> > > > > vcpu state).
> > > >=20
> > > > Note this is default Xen 4.14 start, so core scheduling is _not_ ac=
tive:
> > >=20
> > > The similarity in the two failure cases is that multiple cpus are
> > > affected by the operations during stop_machine_run().
> > >=20
> > > >=20
> > > >      (XEN) Brought up 2 CPUs
> > > >      (XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
> > > >      (XEN) Adding cpu 0 to runqueue 0
> > > >      (XEN)  First cpu on runqueue, activating
> > > >      (XEN) Adding cpu 1 to runqueue 1
> > > >      (XEN)  First cpu on runqueue, activating
> > > >=20
> > > > > I wasn't able to catch the real problem despite of having tried l=
ots
> > > > > of approaches using debug patches.
> > > > >=20
> > > > > Recently I suspected the whole problem could be somehow related to
> > > > > RCU handling, as stop_machine_run() is relying on tasklets which =
are
> > > > > executing in idle context, and RCU handling is done in idle conte=
xt,
> > > > > too. So there might be some kind of use after free scenario in ca=
se
> > > > > some memory is freed via RCU despite it still being used by a tas=
klet.
> > > >=20
> > > > That sounds plausible, even though I don't really know this area of=
 Xen.
> > > >=20
> > > > > I "just" need to find some time to verify this suspicion. Any hel=
p doing
> > > > > this would be appreciated. :-)
> > > >=20
> > > > I do have a setup where I can easily-ish reproduce the issue. If th=
ere
> > > > is some debug patch you'd like me to try, I can do that.
> > >=20
> > > Thanks. I might come back to that offer as you are seeing a crash whi=
ch
> > > will be much easier to analyze. Catching my error case is much harder=
 as
> > > it surfaces some time after the real problem in a non destructive way
> > > (usually I'm seeing a failure to load a library in the program which
> > > just did its job via exactly the library claiming not being loadable).
> >=20
> > Hi,
> >=20
> > I'm resurrecting this thread as it was recently mentioned elsewhere. I
> > can still reproduce the issue on the recent staging branch (9dc687f155).
> >=20
> > It fails after the first resume (not always, but frequent enough to
> > debug it). At least one guest needs to be running - with just (PV) dom0
> > the crash doesn't happen (at least for the ~8 times in a row I tried).
> > If the first resume works, the second (almost?) always will fail but
> > with a different symptoms - dom0 kernel lockups (at least some of its
> > vcpus). I haven't debugged this one yet at all.
> >=20
> > Any help will be appreciated, I can apply some debug patches, change
> > configuration etc.
>=20
> This still happens on 4.14.3. Maybe it is related to freeing percpu
> areas, as it caused other issues with suspend too? Just a thought...

I have reproduced this on current staging(*). And I can reproduce it
reliably. And also, I got (I believe) closely related crash with credit1
scheduler.

(*) It isn't plain staging, it's one with my xhci console patches on
top, including attempt to make it survive S3. I believe the only
relevant part there is sticking set_timer() into console resume path (or
just having a timer with rather short delay registered). The actual tree
at https://github.com/marmarek/xen/tree/master-xue2-debug, including
quite a lot of debug prints and debug hacks.

Specific crash with credit2:

    (XEN) Assertion 'sched_unit_master(currunit) =3D=3D cpu' failed at comm=
on/sched/credit.c:928
    (XEN) ----[ Xen-4.17-unstable  x86_64  debug=3Dy  Tainted:   C    ]----
    (XEN) CPU:    0
    (XEN) RIP:    e008:[<ffff82d0402434bf>] credit.c#csched_tick+0x2d4/0x494
    (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v4)
    (XEN) rax: ffff82d0405c4298   rbx: 0000000000000002   rcx: 000000000000=
0002
    (XEN) rdx: ffff8302517f64d0   rsi: ffff8302515c0fc0   rdi: 000000000000=
0002
    (XEN) rbp: ffff830256227e38   rsp: ffff830256227de0   r8:  000000000000=
0004
    (XEN) r9:  ffff8302517ac820   r10: ffff830251745068   r11: 00000088cb73=
4887
    (XEN) r12: ffff83025174de50   r13: ffff8302515c0fa0   r14: ffff83025174=
df40
    (XEN) r15: ffff8302515c0cc0   cr0: 0000000080050033   cr4: 000000000037=
2660
    (XEN) cr3: 00000001bacbd000   cr2: 000077e5ec02a318
    (XEN) fsb: 000077e5fe533700   gsb: ffff888255700000   gss: 000000000000=
0000
    (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
    (XEN) Xen code around <ffff82d0402434bf> (credit.c#csched_tick+0x2d4/0x=
494):
    (XEN)  01 00 00 e9 2a 01 00 00 <0f> 0b 0f 0b 0f 0b 48 8b 41 20 0f b7 00=
 89 45 cc
    (XEN) Xen stack trace from rsp=3Dffff830256227de0:
    (XEN)    ffff830256227fff 0000000000000000 0000000256227e10 ffff82d0403=
5be90
    (XEN)    ffff830256227ef8 ffff830251745000 ffff82d0405c3280 ffff82d0402=
431eb
    (XEN)    0000000000000002 00000088c9ba9534 0000000000000000 ffff8302562=
27e60
    (XEN)    ffff82d04022ee53 ffff82d0405c3280 ffff8302963e1320 ffff8302515=
c0fc0
    (XEN)    ffff830256227ea0 ffff82d04022f73f ffff830256227e80 ffff82d0405=
c9f00
    (XEN)    ffffffffffffffff ffff82d0405c9f00 ffff830256227fff 00000000000=
00000
    (XEN)    ffff830256227ed8 ffff82d04022d26c ffff830251745000 00000000000=
00000
    (XEN)    0000000000000000 ffff830256227fff 0000000000000000 ffff8302562=
27ee8
    (XEN)    ffff82d04022d2ff 00007cfda9dd80e7 ffff82d0402f03c6 ffff88810c0=
05c00
    (XEN)    0000000000000031 0000000000000100 00000000fffffe00 00000000000=
00031
    (XEN)    0000000000000031 ffffffff82d45d28 0000000000000e2e 00000000000=
00000
    (XEN)    0000000000000032 00000000ffffef31 0000000000000000 ffff8881224=
4a700
    (XEN)    0000000000000005 ffff88812244a780 000000fa00000000 ffffffff818=
db55f
    (XEN)    000000000000e033 0000000000000246 ffffc900409b7c50 00000000000=
0e02b
    (XEN)    0000000000000000 0000000000000000 0000000000000000 00000000000=
00000
    (XEN)    0000e01000000000 ffff830251745000 0000000000000000 00000000003=
72660
    (XEN)    0000000000000000 800000025620b002 000e030300000001 00000000000=
00000
    (XEN) Xen call trace:
    (XEN)    [<ffff82d0402434bf>] R credit.c#csched_tick+0x2d4/0x494
    (XEN)    [<ffff82d04022ee53>] F timer.c#execute_timer+0x45/0x5c
    (XEN)    [<ffff82d04022f73f>] F timer.c#timer_softirq_action+0x71/0x278
    (XEN)    [<ffff82d04022d26c>] F softirq.c#__do_softirq+0x94/0xbe
    (XEN)    [<ffff82d04022d2ff>] F do_softirq+0x13/0x15
    (XEN)    [<ffff82d0402f03c6>] F x86_64/entry.S#process_softirqs+0x6/0x20
    (XEN)=20
    (XEN)=20
    (XEN) ****************************************
    (XEN) Panic on CPU 0:
    (XEN) Assertion 'sched_unit_master(currunit) =3D=3D cpu' failed at comm=
on/sched/credit.c:928
    (XEN) ****************************************

Specific crash with credit1:

    (XEN) ASSERT FAIL! cpu 4, sched_unit_master 0, currunit id 4
    (XEN) Assertion 'sched_unit_master(currunit) =3D=3D cpu' failed at comm=
on/sched/credit.c:936
    (XEN) ----[ Xen-4.17-unstable  x86_64  debug=3Dy  Tainted:   C    ]----
    (XEN) CPU:    0
    (XEN) RIP:    e008:[<ffff82d04024355c>] credit.c#csched_tick+0x2f7/0x4b7
    (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v4)
    (XEN) rax: ffff8302517f64d0   rbx: 0000000000000004   rcx: 000000000000=
0000
    (XEN) rdx: ffff830256227fff   rsi: 000000000000000a   rdi: ffff82d04047=
86b8
    (XEN) rbp: ffff830256227e38   rsp: ffff830256227de0   r8:  000000000000=
0087
    (XEN) r9:  0000000000000001   r10: 0000000000000001   r11: 000000000000=
0004
    (XEN) r12: ffff83025174de50   r13: ffff830251778100   r14: ffff83025174=
df40
    (XEN) r15: ffff8302515c0cc0   cr0: 0000000080050033   cr4: 000000000037=
2660
    (XEN) cr3: 000000024ac10000   cr2: 0000000000000000
    (XEN) fsb: 0000000000000000   gsb: ffff888255700000   gss: 000000000000=
0000
    (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: 0000   cs: e008
    (XEN) Xen code around <ffff82d04024355c> (credit.c#csched_tick+0x2f7/0x=
4b7):
    (XEN)  58 70 0f 84 bf fe ff ff <0f> 0b 0f 0b 0f 0b 48 8b 40 20 0f b7 00=
 89 45 cc
    (XEN) Xen stack trace from rsp=3Dffff830256227de0:
    (XEN)    000000000046692a ffff8302515c0bc0 000000044025ae27 002191c0517=
f64e8
    (XEN)    ffff82d0405c33e0 ffff8302517c8590 ffff82d0405c3280 ffff82d0402=
43265
    (XEN)    0000000000000004 00000026d27a80a7 0000000000000000 ffff8302562=
27e60
    (XEN)    ffff82d04022ee94 ffff82d0405c3280 ffff8302517e7df0 ffff8302517=
78120
    (XEN)    ffff830256227ea0 ffff82d04022f77a ffff830256227e80 ffff82d0405=
c9f00
    (XEN)    ffffffffffffffff ffff82d0405c9f00 ffff830256227fff 00000000000=
00000
    (XEN)    ffff830256227ed8 ffff82d04022d26c ffff830251745000 00000000000=
00000
    (XEN)    0000000000000000 ffff830256227fff 0000000000000000 ffff8302562=
27ee8
    (XEN)    ffff82d04022d2ff 00007cfda9dd80e7 ffff82d0402f0496 00000000000=
00001
    (XEN)    ffffc90040127ddc ffffc90040127dd0 ffffc90040127dd4 ffffc900401=
27dd8
    (XEN)    00000000756e6547 0000000000000000 0000000000000000 ffffc900401=
27ddc
    (XEN)    ffffc90040127dd0 000000000000000d 000000006c65746e 00000000496=
56e69
    (XEN)    ffffc90040127dd4 ffffc90040127dd8 000000fa00000000 ffffffff810=
1c5a4
    (XEN)    000000000000e033 0000000000000293 ffffc90040127db8 00000000000=
0e02b
    (XEN)    0000000000000000 0000000000000000 0000000000000000 00000000000=
00000
    (XEN)    0000e01000000000 ffff830251745000 0000000000000000 00000000003=
72660
    (XEN)    0000000000000000 800000025620b002 000e030300000001 00000000000=
00000
    (XEN) Xen call trace:
    (XEN)    [<ffff82d04024355c>] R credit.c#csched_tick+0x2f7/0x4b7
    (XEN)    [<ffff82d04022ee94>] F timer.c#execute_timer+0x45/0x5c
    (XEN)    [<ffff82d04022f77a>] F timer.c#timer_softirq_action+0x71/0x278
    (XEN)    [<ffff82d04022d26c>] F softirq.c#__do_softirq+0x94/0xbe
    (XEN)    [<ffff82d04022d2ff>] F do_softirq+0x13/0x15 =20
    (XEN)    [<ffff82d0402f0496>] F x86_64/entry.S#process_softirqs+0x6/0x20
    (XEN)
    (XEN) ****************************************
    (XEN) Panic on CPU 0:
    (XEN) Assertion 'sched_unit_master(currunit) =3D=3D cpu' failed at comm=
on/sched/credit.c:936
    (XEN) ****************************************

I'm not sure about the nature of credit2 crash, but for credit1 it looks
much simpler to understand. Credit1 registers a timer for each pcpu (in
init_pdata()). Then, the timer function
(csched_tick()->csched_unit_acct()) asserts if it was really called on
correct CPU. The issue is that suspend path migrates all timers to CPU0
(timerc.:cpu_callback->migrate_timers_from_cpu()), and restore path
doesn't migrate them back. All this while not unregistering pCPUs from
the scheduler (sched_deinit_pdata() / init_pdata() is not called -
confirmed via debug prints).

I'm not exactly sure if that's the same issue that applies to credit2,
but I think it's likely. A naive fix could be unregistering all pCPUs
=66rom the scheduler (an registering them back on resume), but this may
mess up CPU pools, and probably few other things. Any better ideas? I
can test various patches, provide more debug info etc - should be rather
straightforward given I have reliable reproducer now.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--/F1yDzZ+nkRqe7pw
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmMCWd0ACgkQ24/THMrX
1yxA2Qf8DLHOlgbWeqXUxRxzol+sc48yir6gQ7aYjNPpJFr+daE6Px3EA55QaTdq
bj4jtI4WHSYsfc7xRBtBabfuwlASVra5hkwYc20irV07I52RvE0b64FZfssvZnwR
18faD2wPDq75xl6WP3B1BHpc67WPjFFqGVtFRKSdz9t4R7San2KRZB9zaRSX7mNA
tSS8mZ9uVOsC7GSO7GfoMhpG8O3LZ5863iqSFBzCMbC0w7nKVChzpgV4W5sBvgQx
/3jgBJn+4BFrsFLdgnU+QnX7FD5/liW+iYERIKrLjIaHNa4blBW6Tan7kNDmQjVF
4vULuwTwxyxeS+xfad4caDj3L2BggQ==
=fc++
-----END PGP SIGNATURE-----

--/F1yDzZ+nkRqe7pw--


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 17:35:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 17:35:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391025.628687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPoqh-00081O-Jw; Sun, 21 Aug 2022 17:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391025.628687; Sun, 21 Aug 2022 17:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPoqh-00081H-HK; Sun, 21 Aug 2022 17:34:59 +0000
Received: by outflank-mailman (input) for mailman id 391025;
 Sun, 21 Aug 2022 17:34:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPoqg-000817-1X; Sun, 21 Aug 2022 17:34:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPoqf-00077L-U7; Sun, 21 Aug 2022 17:34:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPoqf-0001sK-BH; Sun, 21 Aug 2022 17:34:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPoqf-0006hV-Ar; Sun, 21 Aug 2022 17:34:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zNtqe4mceDc78DsNppnfLmcwJEAGn/uLP/ru1epE7AI=; b=Pl/Uxp4T9hPwid8ZMEqHIHFcSI
	TV9Ld9aCzL9OnoahHZfilECuwCtMrGYZjGXDsfQUoCDNmLgr6cI6AzI1ujCOcFydKz22SKZ9xJd7q
	rY75XRJ2sQebv1zRdaAPv6fHZew/GNaLH+ZzqrhxXiarV/tVe/V7FKNGWNpyw58qyIwc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172684-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172684: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=15b3f48a4339e3c16acf18624e2b7f60bc5e9a2c
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 17:34:57 +0000

flight 172684 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172684/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                15b3f48a4339e3c16acf18624e2b7f60bc5e9a2c
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   17 days
Failing since        172152  2022-08-05 04:01:26 Z   16 days   39 attempts
Testing same since   172684  2022-08-21 06:06:35 Z    0 days    1 attempts

------------------------------------------------------------
1498 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 154135 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 19:40:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 19:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391033.628699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPqoA-0003aO-Ch; Sun, 21 Aug 2022 19:40:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391033.628699; Sun, 21 Aug 2022 19:40:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPqoA-0003aH-9s; Sun, 21 Aug 2022 19:40:30 +0000
Received: by outflank-mailman (input) for mailman id 391033;
 Sun, 21 Aug 2022 19:40:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPqo9-0003a7-FR; Sun, 21 Aug 2022 19:40:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPqo9-0000pU-C3; Sun, 21 Aug 2022 19:40:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPqo8-0002MM-VI; Sun, 21 Aug 2022 19:40:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPqo8-0006Xk-UX; Sun, 21 Aug 2022 19:40:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tnksj7B7V6evflmf3JZ32+CXlSZ0vCZE3iIntgybSlQ=; b=6w22IGm0WSKznbQYTyIiB44hyI
	dfflqcbjvVmQeebZ2YS6EX8MNKX2l6YiKmEF9vHxaIwFAGYqIByVarEzWQODc5t8tP5m85hWm6pbE
	V+RcTwwKDVlXXrQohuIxHXFkNjwxdw2xVRNdi5tXhtjZVB/2qsXbrvZTfDeQeKSLMtDg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172690-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172690: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 19:40:28 +0000

flight 172690 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172690/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   17 days
Failing since        172151  2022-08-05 02:40:28 Z   16 days  140 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    2 days   18 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 20:19:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 20:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391041.628710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPrQ8-00075d-F1; Sun, 21 Aug 2022 20:19:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391041.628710; Sun, 21 Aug 2022 20:19:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPrQ8-00075W-Aj; Sun, 21 Aug 2022 20:19:44 +0000
Received: by outflank-mailman (input) for mailman id 391041;
 Sun, 21 Aug 2022 20:19:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPrQ7-00075M-9x; Sun, 21 Aug 2022 20:19:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPrQ7-0001WQ-4x; Sun, 21 Aug 2022 20:19:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPrQ6-0005Yr-M5; Sun, 21 Aug 2022 20:19:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPrQ6-0002FF-Lb; Sun, 21 Aug 2022 20:19:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=z5pFKKzFnbUIhHHQAgVKuLQH2n2xF50dYCXKIK45HVc=; b=snXGSxdgTsPYWx5ui+7p8bNuIz
	0uadFldTtxRn9/AC2+j/7TmqqxKDhqy7e0/XCfne+5rTzwmR8O90gScMJZ+fCqijBY+xOcWAtKoPG
	EfZPL3gchW4Z6zoDyk6zU1id6Twwbfn4BDSxlqNYryr7oklynszPCVWlke+RVNHm9yRI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172686-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172686: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ba58ccbef60338d0b7334c714589a6423a3e7f91
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 20:19:42 +0000

flight 172686 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172686/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                ba58ccbef60338d0b7334c714589a6423a3e7f91
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   18 days
Failing since        172148  2022-08-04 21:39:38 Z   16 days   40 attempts
Testing same since   172658  2022-08-20 03:51:49 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2251 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 21:41:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 21:41:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391050.628721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPsh5-0007Pl-Fe; Sun, 21 Aug 2022 21:41:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391050.628721; Sun, 21 Aug 2022 21:41:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPsh5-0007Pe-B2; Sun, 21 Aug 2022 21:41:19 +0000
Received: by outflank-mailman (input) for mailman id 391050;
 Sun, 21 Aug 2022 21:41:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gA9S=YZ=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1oPsh4-0007PY-0Q
 for xen-devel@lists.xenproject.org; Sun, 21 Aug 2022 21:41:18 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id faa048c7-2199-11ed-9250-1f966e50362f;
 Sun, 21 Aug 2022 23:41:16 +0200 (CEST)
Received: from zn.tnic (p200300ea971b9882329c23fffea6a903.dip0.t-ipconnect.de
 [IPv6:2003:ea:971b:9882:329c:23ff:fea6:a903])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 37F911EC02AD;
 Sun, 21 Aug 2022 23:41:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faa048c7-2199-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1661118069;
	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:in-reply-to:in-reply-to:  references:references;
	bh=KIcMde7mEwkhghZiqNjJmux9e20lzrNLzuoUxjrdEyk=;
	b=fRJjagWVesGdFFoceT6Hc3D7jkvR02MBb5zWtq1w8zsMTxMbd6ZkjyTeAq4arHakBVOn1T
	KHITZZ/q5/4f5Fgkn4htYS/3zm+nTTaVmtGAzqPuPiH+mRCPbc5oOmbZfLlivPD2JBF7nK
	ijtRrQXVmQbuujcURhRd5hUUvnLDGBY=
Date: Sun, 21 Aug 2022 23:41:04 +0200
From: Borislav Petkov <bp@alien8.de>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
Subject: Re: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
Message-ID: <YwKmcFuKlq3/MzVi@zn.tnic>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-2-jgross@suse.com>
 <YwIkV7mYAC4Ebbwb@zn.tnic>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <YwIkV7mYAC4Ebbwb@zn.tnic>

On Sun, Aug 21, 2022 at 02:25:59PM +0200, Borislav Petkov wrote:
> > Fix that by using percpu variables for saving the MSR contents.
> > 
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> > ---
> > I thought adding a "Fixes:" tag for the kernel's initial git commit
> > would maybe be entertaining, but without being really helpful.
> > The percpu variables were preferred over on-stack ones in order to
> > avoid more code churn in followup patches decoupling PAT from MTRR
> > support.
> 
> So if that thing has been broken for so long and no one noticed, we
> could just as well not backport to stable at all...

Yeah, you can't do that.

The whole day today I kept thinking that something's wrong with this
here. As in, why hasn't it been reported until now.

You say above:

"... for all cpus is racy in case the MSR contents differ across cpus."

But they don't differ:

"7.7.5 MTRRs in Multi-Processing Environments

In multi-processing environments, the MTRRs located in all processors
must characterize memory in the same way. Generally, this means that
identical values are written to the MTRRs used by the processors. This
also means that values CR0.CD and the PAT must be consistent across
processors. Failure to do so may result in coherency violations or loss
of atomicity. Processor implementations do not check the MTRR settings
in other processors to ensure consistency. It is the responsibility of
system software to initialize and maintain MTRR consistency across all
processors."

And you can't have different fixed MTRR type on each CPU - that would
lead to all kinds of nasty bugs.

And here's from a big fat box:

$ rdmsr -a 0x2ff | uniq -c
    256 c00

All 256 CPUs have the def type set to the same thing.

Now, if all CPUs go write that same deftype_lo variable in the
rendezvous handler, the only issue that could happen is if a read
sees a partial write. BUT, AFAIK, x86 doesn't tear 32-bit writes so I
*think* all CPUs see the same value being corrected by using mtrr_state
previously saved on the BSP.

As I said, we should've seen this exploding left and right otherwise...

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 21:51:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 21:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391056.628732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPsqq-0000T2-Cn; Sun, 21 Aug 2022 21:51:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391056.628732; Sun, 21 Aug 2022 21:51:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPsqq-0000Sv-9s; Sun, 21 Aug 2022 21:51:24 +0000
Received: by outflank-mailman (input) for mailman id 391056;
 Sun, 21 Aug 2022 21:51:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPsqp-0000Sj-DS; Sun, 21 Aug 2022 21:51:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPsqp-00035A-8d; Sun, 21 Aug 2022 21:51:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPsqo-0002X3-Tv; Sun, 21 Aug 2022 21:51:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPsqo-0007Z6-TO; Sun, 21 Aug 2022 21:51:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=G2WcWVzZhLenmf7rlaTf7uTG0ZZaw1lO3tfo9jNpLYc=; b=4E6f9M2V64aciw0cAQVP9VghOu
	ZQkLGApunSr9jrqBWsOL5fLalagfGo6kt56fHO6vasgj2ju1sE//SK132bOJWPQNQlK7bnuUCeYY0
	pLGwUXjybbC6Ozem7C62e/EtJcAqL4ZW+sk7Dfm5ok9kQK+m6LYGYkTWbaGvBskaO/uE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172692-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172692: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 21:51:22 +0000

flight 172692 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172692/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   17 days
Failing since        172151  2022-08-05 02:40:28 Z   16 days  141 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    2 days   19 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 21 23:24:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Aug 2022 23:24:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391064.628742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPuJ6-0000uY-5x; Sun, 21 Aug 2022 23:24:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391064.628742; Sun, 21 Aug 2022 23:24:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPuJ6-0000uR-3J; Sun, 21 Aug 2022 23:24:40 +0000
Received: by outflank-mailman (input) for mailman id 391064;
 Sun, 21 Aug 2022 23:24:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPuJ4-0000uH-95; Sun, 21 Aug 2022 23:24:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPuJ4-0004am-5y; Sun, 21 Aug 2022 23:24:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPuJ3-000841-LB; Sun, 21 Aug 2022 23:24:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPuJ3-0002NB-Kj; Sun, 21 Aug 2022 23:24:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DW+dPlPchhiRCE5ttM85x0m2AvrQ9koDqwkaFGjISGY=; b=1fzMQe7a3kHBhJir98374gVkDO
	iRFax37iRzf8iMXX3aYU5poP0ftvs2fM6QkhpX89iAnpjWTtx2v1EhVJ8MGcYsFnQWb2g7cvCAVOW
	Lsbbz5BTyAM2PrjeDJln5CGdMjNZNAZudkue206RJQWyPosHACQwHYs4Q9sZd2VRJ+7c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172688-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172688: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Aug 2022 23:24:37 +0000

flight 172688 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172688/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail in 172680 pass in 172688
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172680

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172680 blocked in 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172680 like 172128
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172680 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172680 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 172680 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 172680 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   17 days
Testing same since   172384  2022-08-11 11:13:58 Z   10 days   21 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 00:02:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 00:02:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391074.628756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPutu-0005pT-Rl; Mon, 22 Aug 2022 00:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391074.628756; Mon, 22 Aug 2022 00:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPutu-0005pM-PF; Mon, 22 Aug 2022 00:02:42 +0000
Received: by outflank-mailman (input) for mailman id 391074;
 Mon, 22 Aug 2022 00:02:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPutt-0005pC-9A; Mon, 22 Aug 2022 00:02:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPutt-0005qC-5w; Mon, 22 Aug 2022 00:02:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPuts-0001BN-Pc; Mon, 22 Aug 2022 00:02:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPuts-0001uA-PD; Mon, 22 Aug 2022 00:02:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RCJ1gGoa8OCfYO1hT150YVdkkb2WHP5tA7pzC9X4ZUk=; b=qS6GSN7IAd3RvozArwcgRXtVU0
	zROEO6icidBQ7ZoQ7y6Ec6qrN7OL5z72n0o0+/u5DsABieBKUlOPSv3v/OL9OiBBcT8+VfE6cxOke
	skSIo0JaXs86DImPWLYHJNRAIKmd89pxUMPBEdtBf6nyAHplgQf3L6i2uxoNFaSzWFiE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172694-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172694: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 00:02:40 +0000

flight 172694 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172694/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   17 days
Failing since        172151  2022-08-05 02:40:28 Z   16 days  142 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    2 days   20 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:18:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391082.628768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPx0n-0000HV-Ju; Mon, 22 Aug 2022 02:17:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391082.628768; Mon, 22 Aug 2022 02:17:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPx0n-0000HN-Et; Mon, 22 Aug 2022 02:17:57 +0000
Received: by outflank-mailman (input) for mailman id 391082;
 Mon, 22 Aug 2022 02:17:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MoR+=Y2=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oPx0l-0000HH-R2
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 02:17:56 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00072.outbound.protection.outlook.com [40.107.0.72])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a04d5270-21c0-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 04:17:53 +0200 (CEST)
Received: from AS8P251CA0013.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:2f2::28)
 by DB9PR08MB6491.eurprd08.prod.outlook.com (2603:10a6:10:23f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Mon, 22 Aug
 2022 02:17:50 +0000
Received: from AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2f2:cafe::a8) by AS8P251CA0013.outlook.office365.com
 (2603:10a6:20b:2f2::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22 via Frontend
 Transport; Mon, 22 Aug 2022 02:17:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT029.mail.protection.outlook.com (100.127.140.143) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:17:48 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Mon, 22 Aug 2022 02:17:48 +0000
Received: from 5b729565a213.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 91227F5E-0796-4DB3-B608-FD3813401888.1; 
 Mon, 22 Aug 2022 02:17:38 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5b729565a213.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 02:17:38 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB6711.eurprd08.prod.outlook.com (2603:10a6:20b:351::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Mon, 22 Aug
 2022 02:17:34 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 02:17:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a04d5270-21c0-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=iqsOJfYUgEIjt+pwZq9t9o6ebMwhHqin8Yv04dT/TyIW8bqLPvhEJ+CRZFMk4rTezdM4R8Wt6gTPbV+hH8NpZLiBtrbEOuoYQ5fP6Tb2HIczVA7k5qxg6nKxGN8APkD9X1gX0+65cO8nGJwzhZHJbXv4bIUWtU4QZCl90PkcuPLjyYDW4OLCvCyirP4NznUKtNHbTf6Tp+yiBL1aIOqMIn87a/GmDWAgVbHxwTbT4gMCfZXtmwpC5VLgVVUdsVpNkwiTV2zK16I8Rwk2HnsQf/Ry5QebHXpEQ1oO5j8gzvL2lJvR+aaKaOED7bAKtMrbdLHoFT7Jf15D7erGH++bWQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ub6L/bY2UBePC8avvsSmPJDog3FXxLnCTq+TSRPbKy4=;
 b=ka/zY+123u8DosrAnQhs0OoZTwspWyofdYoaIJCfl8kPkWlDUnoLAyVeaT+VFl0EVUTgDDGvfWSKGaLbo7m6lgpDKPTeLxpstFq8K3pA69Nml73XPNPt06NKrJs6goB+BnsYijz04KswBJrRCUHLzVAUXNmGyCdQYri3U8YUsBMs3jmPmLiEPEe2sdhMoy6MDRfylDa/QZ7Jc7dvIPTdiDsFBu+MYGT4Dwd9NDdLkL/EwOCfcGsULIYPxt8uPP3k2NIEqmvB3+lroHug2aXRGazFUlAs/UvCmvbHM5nQUHf+0ESr/5RJYvfUbmkVvsoKZHJ78KsObqdTgSa5XoXCbA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ub6L/bY2UBePC8avvsSmPJDog3FXxLnCTq+TSRPbKy4=;
 b=iPZUP9mYeStm2bKh12d2em2iajSXnmKckv+WH1ipwImlji0XRO9wPmJ7je3dqj5NB2Qz7P2OEvDtU9p6DNDm4OZtSva1eKkFEN6GscNqMBHdE24eel7mZ0aFGL0Jl0vdDJZhBVb/I2uHhNOoHMQ/uw80nsuLkxXkbo0otez/NE8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P+xyQ+S6NWpmQ1s5Zkk0L7P7ZUStsXh8glotaOKKA4w8sNu2gDzTGutG6GcacCsUf6GQA1uZaJo80eKI+0kG9Fl7nTHu52tVDQzwl9o3KwBDSApwf7oEytccj8CPiV8T+P8cOZIxMU0W7z8wnoNSurQuO8VHP6hdB8V99sBfGIsraQ6qvCoWp4axMyUqC3SpjeSDqnL8FG8WoHeiGTPlOcoi6VyhhR9QqVG25pi84CSVqffVO/9P5Sx4pAaPMgQ5jj6iQfNue86lZAZKhy3vEyCJ3ztYouTlGMmKq0hEx1DHaPVcpgWEhQI4ZAzo9xe2SfBL/P1KApKfqA/1ujy6xg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ub6L/bY2UBePC8avvsSmPJDog3FXxLnCTq+TSRPbKy4=;
 b=imLtZ47D25SMtbxRapDax0sOpdvG2Wg5MA+j6o6oGaGGhAbN0ZoaKyAdEebhMI+CxwJ7+h0Izb5+DUvZGRZKjzl/hnVENtluCY0lSopqsP01BxH8qYAFmTohthhv58uMUTYlGygc8oO+xhYSYUnAQ+Wo4xkh2KwhNpng5CXRmHQYTpsuGt4rMqk+Th449m4BW1eK9pUclBB25G5Bdnv3S/NlQ+ONYBg6MSb0g7jWb6NSsWgt0Lv4hzrtzN0x6pz88s2yrwx6p5ghE2sal1+iNBd9VxAyPc+wIkiY4Wt+42yv9qtYCQi/s7ZP8jji1HWR0ELnaTPilCC4/ZlAEHzzLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ub6L/bY2UBePC8avvsSmPJDog3FXxLnCTq+TSRPbKy4=;
 b=iPZUP9mYeStm2bKh12d2em2iajSXnmKckv+WH1ipwImlji0XRO9wPmJ7je3dqj5NB2Qz7P2OEvDtU9p6DNDm4OZtSva1eKkFEN6GscNqMBHdE24eel7mZ0aFGL0Jl0vdDJZhBVb/I2uHhNOoHMQ/uw80nsuLkxXkbo0otez/NE8=
From: Henry Wang <Henry.Wang@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	"christopher.clark@starlab.io" <christopher.clark@starlab.io>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Julien Grall <julien@xen.org>, Julien
 Grall <jgrall@amazon.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jgross@suse.com" <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, "Wei Liu (LSG)"
	<liuwe@microsoft.com>
Subject: Xen 4.17 release: Discussion of Release Candidates schedule
Thread-Topic: Xen 4.17 release: Discussion of Release Candidates schedule
Thread-Index: Adi1zSPKZH6ytT7FRR6AxtAccCSz1w==
Date: Mon, 22 Aug 2022 02:17:34 +0000
Message-ID:
 <AS8PR08MB799187270C87E73737AB108892719@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 14770CF14778C045B1FFDABAE7A7B2CD.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: bd480f76-3dc9-4b50-4638-08da83e4823b
x-ms-traffictypediagnostic:
	AS8PR08MB6711:EE_|AM7EUR03FT029:EE_|DB9PR08MB6491:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 DrHDQeZillb3NuvH1v5UahAn9gE87z4vgjAsOZcqyIcphLm0DXE+RzhdcgdUhK7h6FJjXTP3Be5kZAIpMzvMWqBz0dMRcYTShyhMpCqqrOzzZEOPNCeOhV7CUmYf7Z+fhHsnzALYYRtet1K6dwe35R04yWAYnOyqxxr/wgtDO4BqVweJ9Z8KsJpy6Q++/fgkM3LnFbRgKHMJ64v33CFTsw/JZ7XFrcrjGqgmiyofV1crZ/eeBiI6HQz59Vbgm1D+lBh1RtRpxnv/hpANH799y85q5cLOV4nCj1anbE7KLAfjVL2VTJPojqGHqZc6BDuWm7YhguvOCfGbNC/rLKuA3AdVCp+1RM+V4Y2N5Kfs/pvpzRP+bKA1RphDYBGf4zAdcLsqzeDXWIelGEo6SOf46OF32XDK1KiLljETGnyg38zFXVzIc12EepIF83vZ45R8lsSqEXNArszA0C7uOx9pKpmdGQhzRNvz4SuyXIYwnaBjq6kR1kMV2B5WbrGbewYAPbOUGc7G6J4n9HYNeRdOGDEOwrqt19Y7pGlmS9jAThyADzCevWW+sJhI8IIFNUemn0garl/3DqlOc3hERywFeaYBXAuLo01xr9BWq4Ah0MsjUwdpW3UCdK0ioBnZDez0EKm80YS4MC2oZ5tyR0390Mfo8AOMbxVKWjQl3flv2Vr/19GszOLs/4OQWqQeC4dflVjykuon93WjIIKNBBDAYwc8JlrVepqFUHY9Jz5zBwvl3j6CaQPHvB15nVJW4QkXAQYwB2k8YRV+L72yAk+BJQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(136003)(39850400004)(366004)(396003)(41300700001)(6506007)(186003)(7696005)(71200400001)(478600001)(9686003)(26005)(2906002)(52536014)(5660300002)(4744005)(7416002)(55016003)(8936002)(316002)(6916009)(54906003)(33656002)(122000001)(8676002)(64756008)(66446008)(66476007)(66556008)(4326008)(66946007)(76116006)(38070700005)(38100700002)(86362001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6711
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ac30b942-01b9-4a2e-2b76-08da83e479dd
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aJm3m3HzoDR31lbubivONLgLuv1/H/anttzu7BVdztccQbMxEqpfQq+H/RTwAS6alGaMu0E6WmgfQbOszNjS7ycyrp0CjRjlxCKbu2N7deXI5Pi/nrES2yzHuMVu4NId1eYV6CYT6eTECbwAwjxwoIRFcG41F0xLE3Rnsnh6CTEa0dIU18Pt0mCbditInaF7a/qdpWD1cEFF9E48dwdM56JJ7EbCMwYhrrM+uxbWiaMLeKr5nVu+vwrr/P1KZIHtd4Q9SsDNt+uS5kz0RgzLBPkURGVmygTCeKaM4DlG2ooBcTLk1fitt0mbJh++zK3Wmh8v/MbZH37p0Z3ek4HbqMGfz0Xcsda2ZO6dM5obxqpbYplOL9mPO2oXkyxqbdDrb/F7kJOoTUqQyr8zZXY5o5Tw5zluoPTWCCwBR+NwJpDVZH+O9qs8FGpE/lcZr2liinvU0XNRUnA5afxomn39mlX6mUk9S79V8whYYnp5BfhpDS5ktSTotmFdHmjn1xXWRWKJF7u9Dkin8nOvaeh0GzhlU3+tPsP5hG18N1BnZSik+AXHLTlQl29Ggrpt7zXHLRBByJL+RRLE64spqr8GWJ/1ckDDI7NzxMP3PiHakzlRti9HZVWKbLgKu0AbvdXQA1UB5HUtPhYSDZtuBmw7rUv8K54NXzJSk2/c4pGF/7QvhIeGyl9Wj+el4RunaMsI8jghZQsL3jvGQmStLVt71ereO/XZwliOUVIHxnA05H4=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(396003)(346002)(39850400004)(46966006)(36840700001)(70206006)(70586007)(8676002)(4326008)(33656002)(86362001)(81166007)(54906003)(6916009)(36860700001)(356005)(82740400003)(52536014)(336012)(47076005)(186003)(9686003)(26005)(8936002)(107886003)(41300700001)(7696005)(6506007)(478600001)(40480700001)(316002)(82310400005)(55016003)(2906002)(5660300002)(4744005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 02:17:48.6270
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bd480f76-3dc9-4b50-4638-08da83e4823b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6491

Hi,

This email is sent to discuss the possible Release Candidates (RCs) for
Xen 4.17 release. We are still 1+ month away from where they start but
we can start early to gather opinions from all stakeholders.

I checked the RC schedule when Xen 4.16 was released. The RCs were prepared
after the Code Freeze and there were 4 RCs one per week (Nov 1, 2021;
Nov 8, 2021;  Nov 16, 2021; Nov 23, 2021) before the final release (Dec 2,
2021).

For 4.17, the Code Freeze will happen in Fri Sep 23, 2022, which is also th=
e
week of Xen Summit, so I think the first RC can fall in the week after, so =
I
prepared below schedule:

RC1: Fri Sep 30, 2022.
RC2: Fri Oct 7, 2022.
RC3: Fri Oct 14, 2022 (The date of Hard Code Freeze).
RC4: Fri Oct 21, 2022.
RC5 (Final): Fri Oct 28, 2022 (The date of Final Commits).

Please kindly share your opinion on this schedule, thanks!

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:33:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:33:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391088.628779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxFH-0002do-R6; Mon, 22 Aug 2022 02:32:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391088.628779; Mon, 22 Aug 2022 02:32:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxFH-0002dh-OA; Mon, 22 Aug 2022 02:32:55 +0000
Received: by outflank-mailman (input) for mailman id 391088;
 Mon, 22 Aug 2022 02:32:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPxFG-0002dX-NM; Mon, 22 Aug 2022 02:32:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPxFG-0007HQ-Jq; Mon, 22 Aug 2022 02:32:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPxFF-00039x-U0; Mon, 22 Aug 2022 02:32:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPxFF-0008W4-SU; Mon, 22 Aug 2022 02:32:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tKRh8+mEiF18e+wDrYCjDA+rPv9ot/MdLgf2LPFzbtM=; b=5IDfyaQQEgXkLCb2dVJRjRLwvL
	ST/fWtir2GCtRy6vZ0q6udPf+84GdvyokOai3ZP189YnF4oM2gb/SZS6O8vaE7leHHd1qIrJDegR8
	WSJUOO7p0v4C3sQiT4mAkRkT2/X7j8U1m0dymQ3Uewgw2kIWABX9qc7l5igWPmzp/EtM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172691-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172691: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=15b3f48a4339e3c16acf18624e2b7f60bc5e9a2c
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 02:32:53 +0000

flight 172691 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172691/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 172684

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                15b3f48a4339e3c16acf18624e2b7f60bc5e9a2c
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   17 days
Failing since        172152  2022-08-05 04:01:26 Z   16 days   40 attempts
Testing same since   172684  2022-08-21 06:06:35 Z    0 days    2 attempts

------------------------------------------------------------
1498 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 154135 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391097.628790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxf5-0005FN-TJ; Mon, 22 Aug 2022 02:59:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391097.628790; Mon, 22 Aug 2022 02:59:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxf5-0005FG-QN; Mon, 22 Aug 2022 02:59:35 +0000
Received: by outflank-mailman (input) for mailman id 391097;
 Mon, 22 Aug 2022 02:59:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=t9b2=Y2=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oPxf3-0005FA-VC
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 02:59:34 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2084.outbound.protection.outlook.com [40.107.20.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71a9c2ed-21c6-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 04:59:31 +0200 (CEST)
Received: from AS8PR04CA0140.eurprd04.prod.outlook.com (2603:10a6:20b:127::25)
 by AM8PR08MB6610.eurprd08.prod.outlook.com (2603:10a6:20b:36a::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Mon, 22 Aug
 2022 02:59:29 +0000
Received: from AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:127:cafe::e0) by AS8PR04CA0140.outlook.office365.com
 (2603:10a6:20b:127::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT012.mail.protection.outlook.com (100.127.141.26) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:28 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Mon, 22 Aug 2022 02:59:28 +0000
Received: from df790794b7a4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8828ABBF-7779-4997-85E8-B04C17BE5E06.1; 
 Mon, 22 Aug 2022 02:59:22 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id df790794b7a4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 02:59:21 +0000
Received: from AS9PR04CA0160.eurprd04.prod.outlook.com (2603:10a6:20b:530::28)
 by PR3PR08MB5593.eurprd08.prod.outlook.com (2603:10a6:102:84::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Mon, 22 Aug
 2022 02:59:19 +0000
Received: from AM7EUR03FT057.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:530:cafe::2d) by AS9PR04CA0160.outlook.office365.com
 (2603:10a6:20b:530::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:19 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM7EUR03FT057.mail.protection.outlook.com (100.127.140.117) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:17 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2507.9; Mon, 22 Aug
 2022 02:59:11 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.9; Mon, 22
 Aug 2022 02:59:10 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.86) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71a9c2ed-21c6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=BJW23nKz2tDwYUea0lSvFcZxTC/wZpFXFKCwSOLiMtriJx2WORVxUy1KISmjJc2BUVWopq5mkGPlbLL3Cw762UkIvBJBuG+PpZ2eaYoTtyrxLbOgVJ8nGWeP1NfS4a8PW92aiVAEH0aq6cjwSrwCf/ZJt2mbgq8d2UC6SfUh0n6JmtGsVPxQfBQ9fbQEfT3cZHg5Xou55nO4uWI5FCI3aV/A1PZ0U8x8+mazwsztTayB968/0FBvim8U1JixAS7pVM176LeWtwXMR5PrDelRWM/maZQuxjZ2vJY5Or/b5oLW48fmcmGo9e+PVd+8k05V9rBQ1k3h+UQbe9fKBvcfiA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S5hZqLJ4W32AChx70fAQAjmAprGclHcl5OXVtnplM5w=;
 b=KxZemPSOJnS5j2dPbsrYlAHlQYHUZtyhhPp5nCF6d1B4FV7eode4B1DXinkHsLfT782opqb1bpap3Btr1J/XRv8rJMoldYg9PtIlddpYseHY2JERj/QoGNnzsG93MVl1SF6MtZ9LnUjW4eKRycY+JleoUaROl9m8g/QsyTTRg9Wj2b+SngPNxM26TD3wU/Bl+VZJcVz+V055LXPw0HgPHZ3tb5AXKKjcrjexpy/O/9OwRlw+IhjkiQd/jbkzQU07s8bRD9fzXkBbY+vNd6HPQsAkZ/98GgR5eRU1nsVli1/s1mC1QTlDUZsCnIWKuf4+q18vF+8lUZBoUDto7sSYoA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S5hZqLJ4W32AChx70fAQAjmAprGclHcl5OXVtnplM5w=;
 b=beuT1ny9EWnm8HtJN9Ts+N2dT2jp+2icsSQZXunpZe9lY+jt5TQtz+Tq/aN/GnkCmtSJiaiJ/9Ti5TV1svJG/AUQ/JDk+Z3FkTW8kwjXIuZVCEi8IvDtJcn/IQS7b/63XThMw/1s225gv4DLbqohW9UqeMM5nKJ7pDSdnlF2P5g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: bb90858ae4eff183
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n1w8J3XLV8N2mRmiQDp0TUGqA1yoW8yH8BKo065q3SLc2mDqEGuyzezKNJyKzQXc1WfAxb2dwVLX3w/6L4r9ajaYhwvo3oZuNr7q7yM4Vk9qTEielgDHd3VVRqnzjUBRKXZG52nsRr2ndU1IXBQ583+mzHCsSw+72xIrzQCfonHJJHbIK7XkVv6Nt7SplpcTKlT5u5uw/LvQL7fnbCqbYsW0QwuOJXsKOrSJpaeDGPo+S09th4Ik1haB3VwaiKqMd3+HTJPQZabyyhGmguJcGLxfR/DIs7INDQ+8Fat3r/iPqRSji364Ajw+MiKPmRWtSIeBWYPdNKSuQNKkhTybNQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S5hZqLJ4W32AChx70fAQAjmAprGclHcl5OXVtnplM5w=;
 b=C8p+YZ7mPzzuoQNkepYLMqaur62KtEl279MCqcfHaTlDej5Lm6OUJFELslij3MZVV+R5YKtYDYfPEtbWSoy3MMitpmWNq3SjbogeZbgbYlNOjWmazNdn25OdCeaxjT7kCCcRQIr+Ckn0Z4nvqLcJI6kseQ8EYCrJwI7NDuFtbMhqYBClFuOTGD2P+qqeybb5tgPggfxAoTt7yeProj/JzK5JqvWOMqJEWOLmW+h+J1s9wzPTBY8d/+3kXGg73SYJRBWkrKpsyvSofB7pE4rzqkV61KMlUnf8xDh6PtkMhCp/ImekW2ZbrdpLf1IvskB0iS1ouvgaz/+IaRcM2go0jA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S5hZqLJ4W32AChx70fAQAjmAprGclHcl5OXVtnplM5w=;
 b=beuT1ny9EWnm8HtJN9Ts+N2dT2jp+2icsSQZXunpZe9lY+jt5TQtz+Tq/aN/GnkCmtSJiaiJ/9Ti5TV1svJG/AUQ/JDk+Z3FkTW8kwjXIuZVCEi8IvDtJcn/IQS7b/63XThMw/1s225gv4DLbqohW9UqeMM5nKJ7pDSdnlF2P5g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
From: Wei Chen <wei.chen@arm.com>
To: <xen-devel@lists.xenproject.org>
CC: <nd@arm.com>, Wei Chen <wei.chen@arm.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 0/6] Device tree based NUMA support for Arm - Part#2
Date: Mon, 22 Aug 2022 10:58:04 +0800
Message-ID: <20220822025810.2240707-1-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 486b5eda-f48d-4b53-ff1c-08da83ea545f
X-MS-TrafficTypeDiagnostic:
	PR3PR08MB5593:EE_|AM7EUR03FT012:EE_|AM8PR08MB6610:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 yGXN7hOYW3WbNYQLnw5GmnsLTj87ZV5T0k1OIuTHFyRJty1ZQ90GhjMY5REAF8QR3M3+saQNBeGwtaTPG4xZ/d5kIrjTnrQ4jOMc+l4QAdptd3jJXMCXplYGzZCFTrGTFNwB/h566B5wSQxm0hZxGoJRj2vnT/VEKGGqGcdHYR6Q9g1TirLd/6lVSsy/aRyVkjL0m7geDXaGMkWNp2lOqX2TQFLMXyxxPXnG3ZOfZBTImKDr2uZAV7we5pHHYJJSBrKK1bi8F6PrmQrjD2bU8PF11TjAPubKnku8PFaq/kEQjlCYHG5XTk5ib+xluVjQUfJ7d16OiuWzl9NwbJ0ZRdoBr0AUVpCCjdry+h6S4DBUPrpd4t+g7MaGp6gOfMZ3jFI/QLf0IfpbCiPNmNqQgC4pkBIXYgcz+F/v+hz/pNuV6ycI/6Sva9g0PV4ROT9XDS75rPncd2W1BBaY9OwLNJevl7XRE1vKiSfL1xiAK/EDpNYjZQ08puqeXkymIBrZzO0RjlVEskvpexVSEpff4B4ivhAkCs0VLUqJBcsMXjbmlsgiWP20MNobPQj6oz+XGUWV/rmYGczhV5KxugbauO92/xrg5gpkGD8aYJRVO2ihOMxrTvT/6F4bEUNn5YDD/LI8VBImJJjIKBEjAFjggOxMk+RiFS1hloRGmTKqB5u3OVYNYss9r2Aw+8qCAUhL4D/YTnGultWwxeo9AQ0qAM+nJWVL5IHr1NnAw9cy/WVWXbkQ+TB+ZYO2i2wor9x7dkZDOcSwIDUHAuW5zdg+gn/YewLUIjWAoRV0HX1GzEJDSOTYHbKQHoDCwYqZ+LRLCMgycoUzmEVwnMDvXXrsKOA3LZaMXvYLsiIXF2Q81isDJFebWtAlVnuxYHoUeuQy
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(346002)(39850400004)(396003)(40470700004)(36840700001)(46966006)(8676002)(4326008)(316002)(54906003)(6916009)(70586007)(70206006)(82310400005)(40480700001)(40460700003)(5660300002)(8936002)(82740400003)(44832011)(36860700001)(86362001)(36756003)(81166007)(356005)(2906002)(478600001)(41300700001)(7696005)(6666004)(426003)(966005)(1076003)(336012)(186003)(47076005)(83380400001)(26005)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5593
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ba33ca07-6b29-4673-2d61-08da83ea4df5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2Ule9ow/GU3Z2CLEUMO+MPBlTeHlvDn8DyONMaUIobnkdLrgqhPLJfIV87vXjoPV2weflwZR/1gjsJEFu3oTVqRkIak/Vo/PqwfxT7i5hpnmL3clLXrlrlJnhj23T/hZ8e2pfQlMfDAQjvNSvOvdHSPr+Es0dS2YPwdpMc31kp5wlvlCAw/7KzzWCyG9b1YtSZhEzn5BX2k1GqHMlkoXEe5M3a9fGaZxbShX3rInPkUHPaK305FfB8QKEAK+hiJtmwd5+NJeTCYBroQatJp/5hMi0iPnOZ0yK5g/AeJJWz3IhOGHWuBRENggEK7h30DTlPZUUnfwVJwJn4voeYfVL5Ze6Ua0A7JQDi9XvHfMcd/v2UwbDNmuBoJpnxOWlYkIKLOkSn9AH2vjEZhOokSUwVE2sG3QT1FI+0vlKm9drnz6ITtnJTXG5Cw50R4QwDvo699x4Z4rJtLWOrt28zZnqVeKWFICFIcULcRh/DkD3hwnKe2/txT8WlsKEGdv03KyHL65vY5oPBXATkoTR91D75slsFxS4lCObfQXIwnpsiN1EG91imf6upJVHvLMW5nfZSizVCJWcL6hX/ev477UiV8AOhauunT0lAe1zNjYfdDeRITQ9nPVi+jQykiMf0U/y6IsLKMfHDScAhNyXfUsyLdL7Rdaux8yaqKateARrXd13GKy1hkdubFEVly8HY2YjmHH+332KLWprsjvQ+xEW+voVhvTsJzF43uoCtrSrSYhCR5p8GWuYLdctu2wtAGvaRwx+Z0YXnxuQbpJxBbq4VDYM7os7n2FsZpaKFE0y15HU5LLJEVMfvk72axW23io
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(39850400004)(376002)(396003)(46966006)(36840700001)(40480700001)(2616005)(82740400003)(83380400001)(36756003)(70586007)(54906003)(81166007)(316002)(6916009)(4326008)(70206006)(8676002)(26005)(107886003)(966005)(2906002)(82310400005)(36860700001)(86362001)(7696005)(186003)(336012)(426003)(47076005)(1076003)(41300700001)(6666004)(44832011)(478600001)(5660300002)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 02:59:28.6884
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 486b5eda-f48d-4b53-ff1c-08da83ea545f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6610

(The Arm device tree based NUMA support patch set contains 35
patches. In order to make stuff easier for reviewers, I split
them into 3 parts:
1. Preparation. I have re-sorted the patch series. And moved
   independent patches to the head of the series - merged in [1]
2. Move generically usable code from x86 to common - this series.
3. Add new code to support Arm.

This series only contains the second part patches. As the whole NUMA
series has been reviewed for 1 round in [2], so this series would
be v3)

Xen memory allocation and scheduler modules are NUMA aware.
But actually, on x86 has implemented the architecture APIs
to support NUMA. Arm was providing a set of fake architecture
APIs to make it compatible with NUMA awared memory allocation
and scheduler.

Arm system was working well as a single node NUMA system with
these fake APIs, because we didn't have multiple nodes NUMA
system on Arm. But in recent years, more and more Arm devices
support multiple nodes NUMA system.

So now we have a new problem. When Xen is running on these Arm
devices, Xen still treat them as single node SMP systems. The
NUMA affinity capability of Xen memory allocation and scheduler
becomes meaningless. Because they rely on input data that does
not reflect real NUMA layout.

Xen still think the access time for all of the memory is the
same for all CPUs. However, Xen may allocate memory to a VM
from different NUMA nodes with different access speeds. This
difference can be amplified in workloads inside VM, causing
performance instability and timeouts.

So in this patch series, we implement a set of NUMA API to use
device tree to describe the NUMA layout. We reuse most of the
code of x86 NUMA to create and maintain the mapping between
memory and CPU, create the matrix between any two NUMA nodes.
Except ACPI and some x86 specified code, we have moved other
code to common. In next stage, when we implement ACPI based
NUMA for Arm64, we may move the ACPI NUMA code to common too,
but in current stage, we keep it as x86 only.

This patch serires has been tested and booted well on one
Arm64 NUMA machine and one HPE x86 NUMA machine.

[1] https://lists.xenproject.org/archives/html/xen-devel/2022-06/msg00499.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2021-09/msg01903.html

---
v2 -> v3:
 1. Drop enumeration of numa status.
 2. Use helpers to get/update acpi_numa.
 3. Insert spaces among parameters of strncmp in numa_setup.
 4. Drop helpers to access mem_hotplug. Export mem_hotplug for all arch.
 5. Remove acpi.h from common/numa.c.
 6. Rename acpi_scan_nodes to numa_scan_nodes.
 7. Replace u8 by uint8_t for memnodemap.
 8. Use unsigned int for memnode_shift and adjust related functions
    (compute_hash_shift, populate_memnodemap) to use correct types for
    return values or parameters.
 9. Use nodeid_t for nodeid and node numbers.
10. Use __read_mostly and __ro_after_init for appropriate variables.
11. Adjust the __read_mostly and __initdata location for some variables.
12. Convert from plain int to unsigned for cpuid and other proper 
13. Remove unnecessary change items in history.
14. Rename arch_get_memory_map to arch_get_ram_range.
15. Use -ENOENT instead of -ENODEV to indicate end of memory map.
16. Add description to code comment that arch_get_ram_range returns
    RAM range in [start, end) format.
17. Rename bad_srat to numa_fw_bad.
18. Rename node_to_pxm to numa_node_to_arch_nid.
19. Merge patch#7 and #8 into patch#6.
20. Move NR_NODE_MEMBLKS from x86/acpi.h to common/numa.h
22. Use 2-64 for node range.

v1 -> v2:
 1. Refine the commit messages of several patches.
 2. Merge v1 patch#9,10 into one patch. Introduce the new functions
    in the same patch that this patch will be used first time.
 3. Fold if ( end > mem_hotplug ) to mem_hotplug_update_boundary,
    in this case, we can drop mem_hotplug_boundary.
 4. Remove fw_numa, use enumeration to replace numa_off and acpi_numa.
 5. Correct return value of srat_disabled.
 6. Introduce numa_enabled_with_firmware.
 7. Refine the justification of using !node_data[nid].node_spanned_pages.
 8. Use ASSERT to replace VIRTUAL_BUG_ON in phys_to_nid.
 9. Adjust the conditional express for ASSERT.
10. Move MAX_NUMNODES from xen/numa.h to asm/numa.h for x86.
11. Use conditional macro to gate MAX_NUMNODES for other architectures.
12. Use arch_get_memory_map to replace arch_get_memory_bank_range
    and arch_get_memory_bank_number.
13. Remove the !start || !end check, because caller guarantee
    these two pointers will not be NULL.
14. Add code comment for numa_update_node_memblks to explain:
    Assumes all memory regions belonging to a single node
    are in one chunk. Holes between them will be included
    in the node.
15. Merge this single patch instead of serval patches to move
    x86 SRAT code to common.
16. Export node_to_pxm to keep pxm information in NUMA scan
    nodes error messages.
17. Change the code style to target file's Xen code-style.
18. Adjust some __init and __initdata for some functions and
    variables.
19. Replace CONFIG_ACPI_NUMA by CONFIG_NUMA. Replace "SRAT" texts.
20. Turn numa_scan_nodes to static.
21. Change NR_NUMA_NODES upper bound from 4095 to 255.

Wei Chen (6):
  xen/x86: Provide helpers for common code to access acpi_numa
  xen/x86: move generically usable NUMA code from x86 to common
  xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
  xen/x86: use arch_get_ram_range to get information from E820 map
  xen/x86: move NUMA scan nodes codes from x86 to common
  xen: introduce a Kconfig option to configure NUMA nodes number

 xen/arch/Kconfig                 |  11 +
 xen/arch/x86/include/asm/acpi.h  |   2 -
 xen/arch/x86/include/asm/mm.h    |   2 -
 xen/arch/x86/include/asm/numa.h  |  61 +--
 xen/arch/x86/include/asm/setup.h |   1 -
 xen/arch/x86/mm.c                |   2 -
 xen/arch/x86/numa.c              | 448 ++----------------
 xen/arch/x86/smpboot.c           |   2 +-
 xen/arch/x86/srat.c              | 313 ++-----------
 xen/common/Makefile              |   1 +
 xen/common/numa.c                | 757 +++++++++++++++++++++++++++++++
 xen/common/page_alloc.c          |   2 +
 xen/include/xen/mm.h             |   2 +
 xen/include/xen/numa.h           |  87 +++-
 14 files changed, 916 insertions(+), 775 deletions(-)
 create mode 100644 xen/common/numa.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391101.628828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxfA-00064Y-Eo; Mon, 22 Aug 2022 02:59:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391101.628828; Mon, 22 Aug 2022 02:59:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxfA-00063r-92; Mon, 22 Aug 2022 02:59:40 +0000
Received: by outflank-mailman (input) for mailman id 391101;
 Mon, 22 Aug 2022 02:59:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=t9b2=Y2=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oPxf8-0005FA-HA
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 02:59:38 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2074.outbound.protection.outlook.com [40.107.20.74])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75378f5d-21c6-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 04:59:37 +0200 (CEST)
Received: from AS9PR06CA0768.eurprd06.prod.outlook.com (2603:10a6:20b:484::23)
 by AS4PR08MB8241.eurprd08.prod.outlook.com (2603:10a6:20b:51d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Mon, 22 Aug
 2022 02:59:35 +0000
Received: from AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:484:cafe::90) by AS9PR06CA0768.outlook.office365.com
 (2603:10a6:20b:484::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT030.mail.protection.outlook.com (100.127.140.180) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:35 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Mon, 22 Aug 2022 02:59:35 +0000
Received: from f217d9f7ff5e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9D3B2A87-4903-45DA-B033-9BB9D3D07F6E.1; 
 Mon, 22 Aug 2022 02:59:29 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f217d9f7ff5e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 02:59:29 +0000
Received: from DB8PR04CA0003.eurprd04.prod.outlook.com (2603:10a6:10:110::13)
 by DU0PR08MB8445.eurprd08.prod.outlook.com (2603:10a6:10:407::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Mon, 22 Aug
 2022 02:59:25 +0000
Received: from DBAEUR03FT048.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:110:cafe::58) by DB8PR04CA0003.outlook.office365.com
 (2603:10a6:10:110::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:25 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DBAEUR03FT048.mail.protection.outlook.com (100.127.142.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:25 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Mon, 22 Aug
 2022 02:59:24 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.86) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75378f5d-21c6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=nQ38jlpXVX2Kl44PyhfXzx9OnsxPcHf/e07sdnn2BmNi7q8SR5QL9nD5rvGaLdek9VpRDjjQ9TSM0QBRHsPChvuig22plC2W1JVX4OG1gs/SJbLHbMriDIgoCC6t/uwSiuUjZvlikMdnjxk/T9dza4FagyE2pcxMot1mL1dLt0IXwsb6pT60ADOMnJGcnh3MsaeFVhXFFKZFdtbjByTtmvWnv7937AidmWvlxJP2xaKYDhfZsYmR/UYeTLmXiJbR4ngQQN8okztjrOWqqRacY8o1R+ZzN0uCjd5BWi5IboAX+cu0Xz3yKF2zsgu2jo8tIM4/ndKIpt4df0C4vC6O1w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hEp02Pxymk3veSHxg4lI7WcmCBI/fVSPn+8BlOkU1Dg=;
 b=JTfQZh8qvnncODRNTWIiWXLvuOQf09patZrABFlR3yrB7qbmxCJSEZY/+BFeOoO0Tbbb+m/VTcKl+21QUUVkDojj7pQX7CwcJBhLqtQ66UFvLjLo+aDRMDGDVlGCYHvaHidZQKyaC6lZMZA8Zx7e2Jl7JMeB+LmJUun9flyrUAKFSBrsebvKbvaZx8eXvWDex+laCiQXmtD02kSK+JtEiN002DxWPfylmnhgDnyrz+JgZTHAiH1hdeEiOvBLK8yfG7OOOa+m3U+yTPnQib6wmJULsNDUHPIA5R1CEeiaLeTFQcxpplF9bDRvuRiCfAkEOvfBo0YwnXg1Vs0a3/pvcQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hEp02Pxymk3veSHxg4lI7WcmCBI/fVSPn+8BlOkU1Dg=;
 b=EPZPPiijGNjNS17U3FVWeKQmcocq21lIAUaczmorehZa5mDGKC70yOHt7XhSbUjE3M9Xs7wdB5lQ9aVjCqNh2WelnCi0bl5CL49u+aGWgPGlObjDAFMOnX871LBn4KiKLjA2mbJ/gWpbLoORz219liX40uBoFsRHSoTJUcxrZjo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4f0ab7db950507a3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jzg6ZSM3G1DoNYyZbYQ3zgWNeXVQ0OruKCEWKAYqE4AL0TSuVGeALo7krtbhbYt9H4GaFIofyaefGZjgGrF8IofBoJS0bpyxTkE4qeK1/TB8kYbHfMrzT1m3YRJ0MY2tP1mUjv18JRII2JrKd4k91K5gt1dekQL5RgwLaR6948gtTQG+uJ2bXxtul19dHB8tHYxNk/pqQdmhNpXr0ZX8vqxoFaaAFVQwMZptrqVFArq04SJdiflI/821FVrBkFkZ4w56xlOL+9q5Z0zrQOSvqij412fMukyv4vfD1sU4BiCh50WDyG92KrLVFKsXqXMfyC7UQLlGH9VC19Pjog8m+w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hEp02Pxymk3veSHxg4lI7WcmCBI/fVSPn+8BlOkU1Dg=;
 b=aBC8j3tA8klF8/3b2CyL/LECzBPPDsZCDRY6jwR0Vhji0jztrkXcarPACIFG1uH9biRY8v6V3tljKbPqcPTaBjgHyMqk7+DZsqa46IAdYdyINm5FtfFD1UiJ/Nh5DZmY5RJMHwkCi3EKMPPRhMqObyv5Uo+XUydTtiUdUg6dgf2/lYyGpSDWfeoISlvMCCCDSWujhIZysWwjz11+yVuCl+b5iGCp1VwKMxUiOA3j4z+b2x+j9gxQTpORoCHfiLdsVre4pkgGeXOpSI1NuUZMAWO0mTwvCIjTxP3XeVQq1KO8sXzA3TTWmxpB/b5xgizE7gd/5icULdth4tzwMzvu8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hEp02Pxymk3veSHxg4lI7WcmCBI/fVSPn+8BlOkU1Dg=;
 b=EPZPPiijGNjNS17U3FVWeKQmcocq21lIAUaczmorehZa5mDGKC70yOHt7XhSbUjE3M9Xs7wdB5lQ9aVjCqNh2WelnCi0bl5CL49u+aGWgPGlObjDAFMOnX871LBn4KiKLjA2mbJ/gWpbLoORz219liX40uBoFsRHSoTJUcxrZjo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
From: Wei Chen <wei.chen@arm.com>
To: <xen-devel@lists.xenproject.org>
CC: <nd@arm.com>, Wei Chen <wei.chen@arm.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 4/6] xen/x86: use arch_get_ram_range to get information from E820 map
Date: Mon, 22 Aug 2022 10:58:08 +0800
Message-ID: <20220822025810.2240707-5-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220822025810.2240707-1-wei.chen@arm.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 740445d7-2d91-407b-b478-08da83ea58a0
X-MS-TrafficTypeDiagnostic:
	DU0PR08MB8445:EE_|AM7EUR03FT030:EE_|AS4PR08MB8241:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 6d3dU3BBzh7g1lkD6i7T5ew8G8ckr7DcJPmX4APaO5+Mx3ql5YddyKbSdKPKKo6sgiHyfJwKwRijQS/0l88dMrIgOkYgnf2CkbJDeI6/yJhOdVWb0jqeeCin7AKBdv6eB0hOceW/5b1m/NlO37ZpPZpgQcD9t9gutYPCHsMzcffGKFVLaXcbAfq9eyEoyHFY78J4UqWXnhGrt7/WrNsRd41SaZC3GhsoHyEFsaC5dKzI6Qnlod+ONf+JIz0s46DmUuA4tT0EmmFnqC9B3TK4hLruO5aZZuurk27U9dtIamEf2tu28N/TFutcxsntPRIarbRGqQoLsQVymoMg/mlDCAya9ITArdIq0cnoq90VtWS0KhcZSlOb0OFY38KwiLbRftmitQ8bl3NIOqy2LFzj2+A0eGylJixE06u+0BDTVlOIKUrwer0vRzs23P+ak9gguBZbR2YIFms6DS2bkeAi2qegES+fUSgxGP6AerNTcGPftPZl6xgJs0h5VX20dnsu32ZST5dTNsGbpZY1glcMr+tV+XoqZjiGo2zezLPxnkzVAUiIhFTGwaLKZY55tp+SlBW6vIhFfMfG8EbODjTPpNByBLlmW7CjtGj6WUW1z5cxyQAcM6vhfCpxyfa6+9yu+tp1Ek+56MS8NMB9vo8ORIc/gUZdy02y0Sqxr2zd0PGLM2x9jJ4rWkr69Hz13NLqXfa27pd0/Rnbw1zo5ygQUv+ASGwqbRwkJCBxMlWI5+qK3S8TqMCv0jeLNYqZsA2QBndqxGKL9SepoyYQIWirjR72fYMpfnNBrHCL3QT4y6wMvhePeamQIyeW0o39CIgf
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(376002)(136003)(39850400004)(36840700001)(40470700004)(46966006)(5660300002)(316002)(70206006)(70586007)(44832011)(41300700001)(40480700001)(82310400005)(8676002)(4326008)(6916009)(36756003)(54906003)(478600001)(8936002)(6666004)(2616005)(7696005)(26005)(2906002)(336012)(186003)(1076003)(83380400001)(426003)(47076005)(36860700001)(82740400003)(86362001)(356005)(81166007)(40460700003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8445
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	15656810-d46d-4b8e-65d0-08da83ea5233
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/wDGJc5z8husaA8p9s1AEyc1H84VsR6fAf7Y+5nn2TLocRofDmKie+f0ifZ75tQSSiXEl0NbS8MYMYktcutu1ke753Fj2pLwMWtRULNAX4Qct+FZsbmgHNMT8UVPU/nbYYySUHeNjSaZeSAJKiMDFQ3JzdvxTdjNNT2XI5rdNSJWzbb+tgil82l1bv84x83REXlk7SgMeIF3ECmk5Jb7zCVgBuw1tofpj3iqGljnRhsqIiXm9EArXTpqWA31/CvybdULVWR+q1upFLG1PHG7v4jJMM33E3Uep6voq6QEimzLhJk4+R+NsgWaINoIGsfXraY3f/WPrpjGT5/C6XNr/hDGGYKfCkfubpc9urlH6xWo9EZBdFAmRpNvgZMx3tYn4OHb8nvy4N2wtLvIR5p5BdMpid7HntWAhiv1n9X32msFsZiG/+F6RlMAO46GQZsqrPZ51C6aqxSsT2eM2JEj4mCM6Q2UWQrOBbPqDKV9Z/wcfRzr8doWAl3aHTe9k1BWABKjyzmVu1wzwRKedPOJz8morGPP6cPbx5s9FfVRq7rbMIGWBFAVGAr5IRi7NTOAp8rqV75Oo4V6y0FKjhF9LJg0MG6I6Oo5RhjfXAvuMgZr1BZo6/8qYMS2QyoRtGmx+UxMcErQCpq3MHAwvQdtrazqLuspVdvAOVgHe7MWcxF62IM9br0nCYJkSomkCY629RfUINJ3z8KUf5odvtWe93RymMYf5aLY8G155/icTJIMdql7Wyw0NGvn5RWP3gRh
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(39850400004)(376002)(346002)(46966006)(36840700001)(82310400005)(5660300002)(86362001)(107886003)(7696005)(2906002)(36860700001)(6666004)(26005)(41300700001)(478600001)(44832011)(8936002)(426003)(47076005)(336012)(186003)(1076003)(83380400001)(82740400003)(2616005)(40480700001)(70206006)(316002)(6916009)(4326008)(8676002)(36756003)(70586007)(81166007)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 02:59:35.8234
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 740445d7-2d91-407b-b478-08da83ea58a0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8241

The sanity check of nodes_cover_memory is also a requirement of
other architectures that support NUMA. But now, the code of
nodes_cover_memory is tied to the x86 E820. In this case, we
introduce arch_get_ram_range to decouple architecture specific
memory map from this function. This means, other architectures
like Arm can also use it to check its node and memory coverage
from bootmem info.

Depends arch_get_ram_range, we make nodes_cover_memory become
architecture independent. We also use neutral words to replace
SRAT and E820 in the print message of this function. This will
to make the massage seems more common.

As arch_get_ram_range use unsigned int for index, we also adjust
the index in nodes_cover_memory from int to unsigned int.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v2 -> v3:
1. Rename arch_get_memory_map to arch_get_ram_range.
2. Use -ENOENT instead of -ENODEV to indicate end of memory map.
3. Add description to code comment that arch_get_ram_range returns
   RAM range in [start, end) format.
v1 -> v2:
1. Use arch_get_memory_map to replace arch_get_memory_bank_range
   and arch_get_memory_bank_number.
2. Remove the !start || !end check, because caller guarantee
   these two pointers will not be NULL.
---
 xen/arch/x86/numa.c    | 25 +++++++++++++++++++++++++
 xen/arch/x86/srat.c    | 18 +++++++++++-------
 xen/include/xen/numa.h |  3 +++
 3 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 9a9090e99a..c28c7388e4 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -9,6 +9,7 @@
 #include <xen/nodemask.h>
 #include <xen/numa.h>
 #include <asm/acpi.h>
+#include <asm/e820.h>
 
 #ifndef Dprintk
 #define Dprintk(x...)
@@ -96,3 +97,27 @@ unsigned int __init arch_get_dma_bitsize(void)
                  flsl(node_start_pfn(node) + node_spanned_pages(node) / 4 - 1)
                  + PAGE_SHIFT, 32);
 }
+
+/*
+ * This function provides the ability for caller to get one RAM entry
+ * from architectural memory map by index.
+ *
+ * This function will return zero if it can return a proper RAM entry.
+ * otherwise it will return -ENOENT for out of scope index, or return
+ * -EINVAL for non-RAM type memory entry.
+ *
+ * Note: the range is exclusive at the end, e.g. [start, end).
+ */
+int __init arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
+{
+    if ( idx >= e820.nr_map )
+        return -ENOENT;
+
+    if ( e820.map[idx].type != E820_RAM )
+        return -EINVAL;
+
+    *start = e820.map[idx].addr;
+    *end = *start + e820.map[idx].size;
+
+    return 0;
+}
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 4c7f0c547e..6bebfb344f 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -428,18 +428,22 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
    Make sure the PXMs cover all memory. */
 static int __init nodes_cover_memory(void)
 {
-	int i;
+	unsigned int i;
 
-	for (i = 0; i < e820.nr_map; i++) {
+	for (i = 0; ; i++) {
 		int j, found;
 		paddr_t start, end;
 
-		if (e820.map[i].type != E820_RAM) {
+		/* Try to loop memory map from index 0 to end to get RAM ranges. */
+		found = arch_get_ram_range(i, &start, &end);
+
+		/* Index relate entry is not RAM, skip it. */
+		if (found == -EINVAL)
 			continue;
-		}
 
-		start = e820.map[i].addr;
-		end = e820.map[i].addr + e820.map[i].size;
+		/* Reach the end of arch's memory map */
+		if (found == -ENOENT)
+			break;
 
 		do {
 			found = 0;
@@ -458,7 +462,7 @@ static int __init nodes_cover_memory(void)
 		} while (found && start < end);
 
 		if (start < end) {
-			printk(KERN_ERR "SRAT: No PXM for e820 range: "
+			printk(KERN_ERR "NUMA: No NODE for RAM range: "
 				"[%"PRIpaddr", %"PRIpaddr"]\n", start, end - 1);
 			return 0;
 		}
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index b779e68787..d64006483a 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -80,6 +80,9 @@ static inline __attribute_pure__ nodeid_t phys_to_nid(paddr_t addr)
 #define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
                                 NODE_DATA(nid)->node_spanned_pages)
 
+extern int arch_get_ram_range(unsigned int idx,
+                              paddr_t *start, paddr_t *end);
+
 #endif
 
 #endif /* _XEN_NUMA_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391099.628808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxf8-0005c3-O6; Mon, 22 Aug 2022 02:59:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391099.628808; Mon, 22 Aug 2022 02:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxf8-0005bf-JL; Mon, 22 Aug 2022 02:59:38 +0000
Received: by outflank-mailman (input) for mailman id 391099;
 Mon, 22 Aug 2022 02:59:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=t9b2=Y2=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oPxf7-0005FA-3o
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 02:59:37 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2056.outbound.protection.outlook.com [40.107.20.56])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 747193e3-21c6-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 04:59:36 +0200 (CEST)
Received: from DU2PR04CA0350.eurprd04.prod.outlook.com (2603:10a6:10:2b4::22)
 by PAVPR08MB9062.eurprd08.prod.outlook.com (2603:10a6:102:32d::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Mon, 22 Aug
 2022 02:59:32 +0000
Received: from DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b4:cafe::cc) by DU2PR04CA0350.outlook.office365.com
 (2603:10a6:10:2b4::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT012.mail.protection.outlook.com (100.127.142.126) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:32 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Mon, 22 Aug 2022 02:59:32 +0000
Received: from 9a1e56fe7d71.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A21DB36C-C314-442C-A33C-5B8F18B36122.1; 
 Mon, 22 Aug 2022 02:59:25 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9a1e56fe7d71.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 02:59:25 +0000
Received: from DB6PR07CA0001.eurprd07.prod.outlook.com (2603:10a6:6:2d::11) by
 VE1PR08MB5646.eurprd08.prod.outlook.com (2603:10a6:800:1a9::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.20; Mon, 22 Aug
 2022 02:59:22 +0000
Received: from DBAEUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:2d:cafe::f6) by DB6PR07CA0001.outlook.office365.com
 (2603:10a6:6:2d::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.15 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:21 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DBAEUR03FT044.mail.protection.outlook.com (100.127.142.189) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:21 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Mon, 22 Aug
 2022 02:59:20 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.86) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 747193e3-21c6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=dyS0Xc3cmuyYKaud0hRFjrq5mJI+9DUY65/RFVYq/tDAWMkEAkBiEea4x1tjF9hF6SDaxyT4vXxbzd/5sYQ1cRekX3Ky/rP48z5MDtQth+Oj7Zri57zDY5/YrMEVGiMeSpAFqL7QM4rVBrI9GMOuL9enWUTMGoGazuJMmEKafEJobxe53jjqu70TvDImD/GN2a8dCUCSY35jB3NBRT0w1tylRzy9GdtZcmHIfIGXig269YhAc0ZwsPWas7AdEh7ulaGGib0ivsEBMomeCJ1SD15mi1FuN6OjRVxkS8a8q3zrwq36bnDdczYoK0uZPpe2eDCVp8Uct7Gc6sLwKH2Pyg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aO0eR2JiviKwTq0b191QwsRxcYqLc/8IFPWe53IzyX4=;
 b=UACoZ4YclbKw6YEqf747WGVDGawlPLZMh5LbBpFa+4CrCo0+KZ+CXmMnjjQxtihBf5VhuZIbqVEoz6t5rp0J3dn95tshBnfsyRjAGalY3ltChOZmBuxBBVsMyju3ZHRg5Sb+Fvv3SSr88GDD5sbZog+v2/yz0LKkDjLlLFygQgcLgSe6Q1M0S7+F5CWlB4TEAiIwlEIc3NmWsjF3Q+DKzcxqTI3JU+H8HvP+OC1ZbfDmu4eKXDAQ9vpQSy7NMYfpNf6OijojoRay1UqQKv9wSRSo6zJy5GPcBKTQ16mugav8qtDGmjHcD6iiRiHWQsVbtOBYSBZjxjFiWLJQyaIDjg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aO0eR2JiviKwTq0b191QwsRxcYqLc/8IFPWe53IzyX4=;
 b=4EIxLx/UClUyZbyoph2+WhxvqejKQITJ8i+5tiqNzCy4reqUEqKuIjpel9iTx4VB0lxzNtmWNhFbBOfVoGML3m/j/o2hhLmLaEgYXdmZeEfiKbNKgGXfAfzmHcCs43Mh6rNf7Ll+kmESnOI5nxtG2Tvs96FlA6PGI3yFX5jW2x0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0c7603a9d374704d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FZVaRQo0kiwoi6qPpDpFTBFCxKo1W1vRhktTpxK1P5NlwqS2fJbMiKqzUULO6qpt40HqoHNQNMwpJJSncD7jIeLkTAKWzi/T4I/tyaIUNRXqMy4cFicjVchW//wlFhzOYBQmnIEiJkCHaFZREjXTkk9jxaPKFV79PIiq+D2B7GgJ4esPXY70iMtOeX7ZiK7xBVpmn2Jc4RmdrxyfWqL5BkoYLMOnW7EmNRWUAyngnTD7rZGI6zGDfGo6l/OmxA3PmXXorNX/lDdZ4EfrJtFI9C7N7D3xPT9xa0VElA9GCwAQ2ImlTm5YXpoblrN2LwrkW2nhuTOJbLFUWfF6pONSiw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aO0eR2JiviKwTq0b191QwsRxcYqLc/8IFPWe53IzyX4=;
 b=QbhXcmlYeehALAyPnZ+G8puqWPbeRKBA95e9xw1Vd/H9fFDHTB2lgXI6JqSeQp8SSo5HsyYeBR6RTgQQDJHSFELEleL1MrmNeM/Eh5ndtXuGdYwcm8XT8IWVG0UwOBZdrSGaPF3S39FubGoacYikxgeprpQ6ers7lpDa6ja2YHSr9Fy2F5cwue7m8ZyHcU9vzcCmVlAeyt0vJNOeQtxWKcsUaZ5mQidzcqoT+Ye5dFpt2NGzt3hKQPfaATyVs+zfZ+QIOmyrvD6Mbm54Nvb2fUyjyX20d1zEjDGIHKbyLkqpQD4Qaj0unFmEJE7/UOfYupX5AKSnQ4aAsGzTt8Fs1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aO0eR2JiviKwTq0b191QwsRxcYqLc/8IFPWe53IzyX4=;
 b=4EIxLx/UClUyZbyoph2+WhxvqejKQITJ8i+5tiqNzCy4reqUEqKuIjpel9iTx4VB0lxzNtmWNhFbBOfVoGML3m/j/o2hhLmLaEgYXdmZeEfiKbNKgGXfAfzmHcCs43Mh6rNf7Ll+kmESnOI5nxtG2Tvs96FlA6PGI3yFX5jW2x0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
From: Wei Chen <wei.chen@arm.com>
To: <xen-devel@lists.xenproject.org>
CC: <nd@arm.com>, Wei Chen <wei.chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Jiamei Xie
	<jiamei.xie@arm.com>
Subject: [PATCH v3 3/6] xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
Date: Mon, 22 Aug 2022 10:58:07 +0800
Message-ID: <20220822025810.2240707-4-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220822025810.2240707-1-wei.chen@arm.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: d6b4088e-efd6-446f-337b-08da83ea565b
X-MS-TrafficTypeDiagnostic:
	VE1PR08MB5646:EE_|DBAEUR03FT012:EE_|PAVPR08MB9062:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 MRlwl6fatWzMUmydXL5iBZxjCTQZ98C2nUSGBdw+xz0mL8juHrcYchaUIk5AoQrtkogXrEb8ys1cqJHzNYjoQ+JviptL0xAEq7v9U9EcF/b9yb33aRIIhj93sKNF3XL4fSvjgRxCa15fFoVvGTNAQgU5sJSCBfZj771qJkmXNmycN1yC3n3d7kQlvAoWs80i+lxSZYHYycoxc7FxhKdwcihJlO20byK8hA1MmyoJxALCcYXXYL5cCloOvP58ldzjhz4lOCkqHvI7zg7LbgsAfOOwuEzHs2+65SVK4+Pkdbi+OiN42/797s35ElV5bmdxocnwe+KYUKGEtnvhKowytJ2mkzaZZOoC4Y4GO5IKQjjRvhNnDTNuPmt25M/rHInv15nyuDH91SSxyDAZy6DyHixmdVgaqjgF8wbMzSB823s0o4GCzk0B30wdHZ5ppSxEpty62XRg4wqBpazoBbt3daZANcEhyqRRmDQdXT+b9zD8BzrxR0/QU+QkLNK6JsOv5agp0tqD2mSJkMBwT7AAEY1Ns9vyV9pdw4ojSpKQqVTCl7iBXiSO0CIQObjbvEIzorqoSQutiTYyMX2HBkPrdKkkCdlz3o+1EuNUCG9KTCCIqrUp2ixsyENjHkMQ8+1ehjnRYXHXAjveXnV5WghCPm8XniDfuhxSY7X3pHWl4eNGWNf6pMOogvl3230sQ0yWytYSrCRgQdahGiTLaM4vNucYng0RPU6iWn5ByGxeJFE/u//tdpInsaY9mf0RYLsL4uiBoGkk8yjHeEldzKrKbw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(376002)(396003)(39850400004)(36840700001)(46966006)(81166007)(40480700001)(2616005)(82740400003)(83380400001)(36756003)(70586007)(54906003)(316002)(4326008)(6916009)(70206006)(8676002)(26005)(86362001)(82310400005)(2906002)(5660300002)(36860700001)(7696005)(186003)(336012)(426003)(47076005)(1076003)(356005)(6666004)(44832011)(41300700001)(478600001)(8936002)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5646
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f37b2508-52d1-44ea-739c-08da83ea5016
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MaBSFwjuUjxK+cRbkDjSGLqZk46NdJndP0qN4EPxhSmRBLON2Rzp2I64vU4XRrGSz+dnRZId1J3wUQNJklToMgUDj5B9OAqd69TH9s3X/MemT+U/v01t4J1KKZOh6IknZxK/x3TKDPmgglDxPtFM0D6HwuXMo96Y/UnXCyaF+jQJ2+td2uOBLqLb4bRhbBNeu8P4Dl092Bv73mdd89n5SZYZKF0aWxAxfVZwVpxbi2Y3nHhhXFMA70sLkTjeZM71IUBjVbWwhm7Vg/OuvhWS/1r356+eRjkIQQFUk5l7vF7o2+yYoLxAUiCM2tk1BZp96QTkiTnrF2pubpqz43kmKmAPREExIn41U56RXsDmo5l0UbmwxwbBmWJ4Ry1iacl+9+469eQNw2/K5qwRD3SZozl750fpDUquQOSnKjIR29ormB8L/ZWtQ/Zd7RViLzCIRsh3VfQqScNMSPBwqP8Jyu9WSwF3/85LQS2WegsRClDW6Z3iNZ8DmVI532BO+SWilHIut+yF89RL2nSYiQ72UyC8ZFasCwLQUXbJNH/3s6FsXr0iDiAwqw+4+VkbPWWTxfZFZT3hfhm2tnkgmv36DIOPvSE0OpTVUcOUhtdrZ/jW9xD+QCg7ToDNGHjgIMImVojoJ12HUev9Kw9eDh8PEe2Ijdt7h66iqwcYct3jVB7Ha/T1bpT53lnn0E3dmaQL9rbwJzbGuI3NU7x94PW+mnl9tQz6QqaiyNogB5blOBi/sGSxoqlb3APWEoEgxujlVty7JwbH9lVpSfi1jhUL8MwVr4TFI6ZFxV8zoiEk/0I=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39850400004)(396003)(136003)(376002)(346002)(36840700001)(46966006)(6666004)(86362001)(83380400001)(36756003)(36860700001)(82740400003)(426003)(47076005)(336012)(81166007)(26005)(7696005)(186003)(2616005)(1076003)(6916009)(478600001)(54906003)(40480700001)(2906002)(4326008)(41300700001)(5660300002)(44832011)(70206006)(70586007)(8676002)(8936002)(82310400005)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 02:59:32.0749
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d6b4088e-efd6-446f-337b-08da83ea565b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9062

VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
results in two lines of error-checking code in phys_to_nid
that is not actually working and causing two compilation
errors:
1. error: "MAX_NUMNODES" undeclared (first use in this function).
   This is because in the common header file, "MAX_NUMNODES" is
   defined after the common header file includes the ARCH header
   file, where phys_to_nid has attempted to use "MAX_NUMNODES".
   This error was resolved after we moved the phys_to_nid from
   x86 ARCH header file to common header file.
2. error: wrong type argument to unary exclamation mark.
   This is because, the error-checking code contains !node_data[nid].
   But node_data is a data structure variable, it's not a pointer.

So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
enable the two lines of error-checking code. And fix the left
compilation errors by replacing !node_data[nid] to
!node_data[nid].node_spanned_pages. Although NUMA allows one node
can only have CPUs but without any memory. And node with 0 bytes
of memory might have an entry in memnodemap[] theoretically. But
that doesn't mean phys_to_nid can find any valid address from a
node with 0 bytes memory.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Tested-by: Jiamei Xie <jiamei.xie@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v2 -> v3:
1. Remove unnecessary change items in history.
2. Add Acked-by.
v1 -> v2:
1. Use ASSERT to replace VIRTUAL_BUG_ON in phys_to_nid.
2. Adjust the conditional express for ASSERT.
3. Refine the justification of using !node_data[nid].node_spanned_pages.
---
 xen/include/xen/numa.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index bae534bb04..b779e68787 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -36,8 +36,6 @@ struct node {
 extern unsigned int compute_hash_shift(const struct node *nodes,
                                        nodeid_t numnodes, nodeid_t *nodeids);
 
-#define VIRTUAL_BUG_ON(x)
-
 extern bool numa_off;
 extern void numa_add_cpu(unsigned int cpu);
 extern void numa_init_array(void);
@@ -69,9 +67,9 @@ extern struct node_data node_data[];
 static inline __attribute_pure__ nodeid_t phys_to_nid(paddr_t addr)
 {
     nodeid_t nid;
-    VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
+    ASSERT((paddr_to_pdx(addr) >> memnode_shift) < memnodemapsize);
     nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
-    VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
+    ASSERT(nid < MAX_NUMNODES && node_data[nid].node_spanned_pages);
     return nid;
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391100.628823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxfA-000612-0X; Mon, 22 Aug 2022 02:59:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391100.628823; Mon, 22 Aug 2022 02:59:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxf9-00060d-TZ; Mon, 22 Aug 2022 02:59:39 +0000
Received: by outflank-mailman (input) for mailman id 391100;
 Mon, 22 Aug 2022 02:59:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=t9b2=Y2=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oPxf8-0005Ul-4b
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 02:59:38 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2089.outbound.protection.outlook.com [40.107.20.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74be8c09-21c6-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 04:59:36 +0200 (CEST)
Received: from AS9PR06CA0772.eurprd06.prod.outlook.com (2603:10a6:20b:484::27)
 by PR3PR08MB5737.eurprd08.prod.outlook.com (2603:10a6:102:8d::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Mon, 22 Aug
 2022 02:59:34 +0000
Received: from AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:484:cafe::24) by AS9PR06CA0772.outlook.office365.com
 (2603:10a6:20b:484::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT030.mail.protection.outlook.com (100.127.140.180) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:34 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Mon, 22 Aug 2022 02:59:34 +0000
Received: from ca020a6e207d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 372FA09C-0247-4A83-847A-B2CC17F85686.1; 
 Mon, 22 Aug 2022 02:59:28 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ca020a6e207d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 02:59:28 +0000
Received: from DB6PR07CA0170.eurprd07.prod.outlook.com (2603:10a6:6:43::24) by
 VI1PR08MB3694.eurprd08.prod.outlook.com (2603:10a6:803:b6::26) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.19; Mon, 22 Aug 2022 02:59:19 +0000
Received: from DBAEUR03FT033.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:43:cafe::60) by DB6PR07CA0170.outlook.office365.com
 (2603:10a6:6:43::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:14 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DBAEUR03FT033.mail.protection.outlook.com (100.127.142.251) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:14 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Mon, 22 Aug
 2022 02:59:13 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.86) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74be8c09-21c6-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=XxCwp9zwUP5YJ+iQI+85TRKgDfCjzzSzy8fRglf6ICguYEV+cDp9C1VK2zbAjhyMz1MlT5tvf7X2k5VQRuiYJliY06NKuSPQea41cGkQJnqYAsygsIlBxomW+rUy0Wrv4UJlwVM1vhH1sGuck1Dstr/88le1RTjRXlEjrWcjgRaxXz9E2Be1OmjqbdHv7UKjR4Ge90o2/EzxxFAbIVCShPn12yHUO5Pa3RR/EE0BumFWsRfQgLylfB+0dyvrCFj3L+rsFx5XTrd6CUQjm4DLFIRN394Rl4UTu6D1AKazQ3n9Xu+FuDMnJHoRe84YFDnLvMzeCEFQlwPBmHXJ/U7g4Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vsZz+zwRqqwdxZH2PQ4STiUALl22N6YfskYmd2UrzdY=;
 b=oNYkjCr4YpXJGoNBwfmrAXuagXxN44Wv+8kQcQdy5eHe1gfTAB0VYWGhCqNJZuxPUJEfsVo96v6F9HQzfvr+l0PP4sDa1NHcThaoacUOaS55PDgjXU7w7aBh5TxU9SJITAbiFOxtqAqXkya6iwS0SX5KHMAlueZ78INpEVAer+SsARvM8dhOMT30hTWcnZC7Zb+XnAGxb63V18ygY4dhWYFjt382+hbSjRyxWBdKbhKCST9DhDgo4W2jDbt5cGY8OhKflmmrZ8qnAw+PZAxC8FvRTEDnQJtrdDyALWIcaPBbnwZsq/bTFGGhPBjug9pVag2mMJfPAqSyaEM7HxSQyA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vsZz+zwRqqwdxZH2PQ4STiUALl22N6YfskYmd2UrzdY=;
 b=kpihTtV3pteiXz9A6b+XHK1FygaaanMs2FKli3BHWFs1l1QtA7ZS7VOKA9r34NYn7214/6WLyQ2kj6QVrH1NvKkMRUknXRF5uTjl4MOMDMQp1Ds+RksdzVxXrOoGBvpQ56b/h/ETiiGv358qMP1PtemvKSm3hMtIc8wfr17wbEg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4e1f8129fd23bd2b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b+d1a5F/2bb5Y4gJBtjxZyIAdSWmePORMMYpeSqlI6DDx1xPgtgZ+RlBw/Sr2LGgzqeQulerWaqkw/mfFpWse6Lcp4ew7uWBn9T5cTt95hBjZd6YJ01XeQXxu2rxzUWjq4QAZDz1MOdiPrE2Ovmbm5r7bncBBepJQg31rslX3+JHd/f0E7DpoyFd4p0bibjsNz0F7v4QJOw2pC1k+dN2sVCIS5GTr/IpMcUFUKh/W/oKuKn4fYxb7oqtqyENCJ4fsOkYIta88V1mA5E09vWLiUXyr6ozWNoXINkEsMqLeBat229Lj2Zzv1ob1SEoVuRXFCsUZfljtMJZEMYQnaOH7Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vsZz+zwRqqwdxZH2PQ4STiUALl22N6YfskYmd2UrzdY=;
 b=O2rdmZ4bSh8/smKkBLM+Dft424XMDixEhaRVaGh7jSKXcYk8uYZuuH0dsFJPswR13K8eJSu4nthrcLJd6rDBnwwFOAhzml5QbQ+m7Oy/Z5XRM31c6qiBRrStpkVF+l9yWxkBQW52yYV8H06BESoeNISjSQKxq2ZJBMxRhVXcEjD7Dc6eRGGrcQIntGuELdDIAi8Z2kM0NfdPMDx7daJ3K45GLpZM4GBPkM1aA4wO+rjgOB7a3qFG46eT/9YJ8I77ljlLslk+4DtxMPMSvM7kQ5BswO2gPzTas4RqE2r0aFMLzetyfdlqRNYKZZ5G2+i+sG0zcl1OPEoZO6t7356bEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vsZz+zwRqqwdxZH2PQ4STiUALl22N6YfskYmd2UrzdY=;
 b=kpihTtV3pteiXz9A6b+XHK1FygaaanMs2FKli3BHWFs1l1QtA7ZS7VOKA9r34NYn7214/6WLyQ2kj6QVrH1NvKkMRUknXRF5uTjl4MOMDMQp1Ds+RksdzVxXrOoGBvpQ56b/h/ETiiGv358qMP1PtemvKSm3hMtIc8wfr17wbEg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
From: Wei Chen <wei.chen@arm.com>
To: <xen-devel@lists.xenproject.org>
CC: <nd@arm.com>, Wei Chen <wei.chen@arm.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v3 1/6] xen/x86: Provide helpers for common code to access acpi_numa
Date: Mon, 22 Aug 2022 10:58:05 +0800
Message-ID: <20220822025810.2240707-2-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220822025810.2240707-1-wei.chen@arm.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 52c5f024-446d-4371-9dde-08da83ea57a1
X-MS-TrafficTypeDiagnostic:
	VI1PR08MB3694:EE_|AM7EUR03FT030:EE_|PR3PR08MB5737:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 lKFnOl8cUYxlmylXgJbplORz7PSGECox7Q5LveAmbAwjfCAEfyA1yxj0COcjzGxaBxBRoDCIkVJS8lRKaS7r63w4BMKTyTfj5iItiy9w0MBkfCzzIc0qKfVxby4JyNuf6XdVUMM3zmR6tYZDaLZ7e3j+QEhwDhvu1P3H5T/URGRTI7innrdKGxIq5xyy+NHaQOiWO/glYzOMyGZ4UdA4OLMQJBoDMk9rszKkJfeG+AIssRjLJwUpPHuGGmjT+qXBWxn0F8z9iQJ+Jap6GXN8skzyK3aY8EHsRdf+84F9rPBspkfGeTUJdCjp+wIEE08DR5ZJA+p81dPF4aVB4LPSS4B3rRhU57qNoUrIOiNQ6AV4DR8atorNxwFAHNW9WyV0vLE1Nd0/M7qx7X8UGMcP/O76da7T+Abq4YOtY7e3QQQj6S6CJ5/VWlMSAwo6TturLzfvgRf5u4bo5ldMeYiBFXbg0PC++/LFL4rw4ro2ZFQ2e9/FN7LGvU1RmH6EIMHTvvonR1/N2WP9nSgcMZb0HYxRoXt7Fp2Z51mjzfSCFS2RCBiC1KMejKwAejbGQTZgSO6jhy3JUEEXG+t8e0xDO9akX9Y9UgNE7zos1vtp2kjbMwuYPdccY+JZEYih5aWWfLCIjJtsAjadJG1MEOXZdwFoowrMgvVP9ifQv0p450RMWPhxGFjlhqlXboC2F3+mcIco7n1KSzQe0X4t+/XpCfZBIA+kl1QO685kKNWmbgiZDaXF0GQDHm8vezoZ3lUacjBapz+zBPSmbMMHTlE40A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(39850400004)(396003)(346002)(376002)(36840700001)(46966006)(7696005)(6666004)(41300700001)(478600001)(426003)(47076005)(186003)(1076003)(336012)(8936002)(83380400001)(26005)(2616005)(2906002)(5660300002)(44832011)(82310400005)(40480700001)(316002)(54906003)(6916009)(70586007)(4326008)(8676002)(82740400003)(70206006)(86362001)(356005)(36860700001)(81166007)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3694
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6e096d98-ba7a-4ccf-ca4f-08da83ea4bc0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qYEtA9LFYMN3PtIvatSZoVQgubGSc9M8KoFFlNxzh91AXybnpnldW5YSwdyyetJ6pWwpice8SXRYYiphYrPiqcOEgOfgAHtTgVj2G79cvpa/7Sxp//UqWgzdW1o/sMTyMNgbEPBHSavxyfBjGIKZb0WnXkvIfzXXi7moiSzQwWda7UTMPSpc5blopaamMjnkS/UkdhauF8v33K99mfLJtY4uGohG4xSftJO764uxPOLkD0ZdvfKZVGFhlTLYSQym9OOVgrmXZ3dgfmaY+/Jrl8gS96yjC0URRvJJ6STSs42eVdQsPO0KXZNaAIu67XDZ8T+K5PKc9Iu3TeviQ2XTIvOu/HJnVGg8scEDNvJba8UQBL6avcc8qKq8HfzInyACnj6fOKNZUkgdFsnLFYYOcx0p5+AUYtGE1ZNwdkJjjghutb3R/M0Igew1EkHghWwrY6vJsGBn2ir9w35m80qbNl8splTMs2327vNymXTS832bdn8wpzV3TztZ54M4pMK1Mg1ftG0KCwIvAdH8JG7vA4UoslYiPdpmTfQZYfWvdVWlQTua1izwLLLyn2XCqy26sveN5MZGDCkW1dPy3nmXv9XqsZs+JWQlFiE8I1WSCxx5334Ke7lyE0ZEiahA7MWmA6vVcLDvtornsWkjGC4+X4LGfpMc4nkKeRt3jtT/FOwqCNrc9yR6JKOX9VPv0PXT2UHMbOpcV4GZnL2O4Noc1A0uWR/ynNjrSjwOIAe2eXkQNMouRtd8BaRu3pBCiw2p
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(39850400004)(346002)(376002)(136003)(36840700001)(46966006)(41300700001)(478600001)(6666004)(7696005)(86362001)(81166007)(36756003)(26005)(83380400001)(2616005)(336012)(47076005)(1076003)(186003)(426003)(82310400005)(70206006)(70586007)(40480700001)(2906002)(8676002)(4326008)(316002)(6916009)(54906003)(82740400003)(44832011)(36860700001)(5660300002)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 02:59:34.1673
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 52c5f024-446d-4371-9dde-08da83ea57a1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5737

acpi_numa is a specific NUMA switch for ACPI NUMA implementation.
Other NUMA implementation may not need this switch. But this switch is
not only used by ACPI code, it is also used directly in some general
NUMA logic code. So far this hasn't caused any problem because Xen only
has x86 implementing ACPI NUMA, but now Arm is implementing device tree
based NUMA. Accesssing acpi_numa directly in some functions will be a
block of reusing NUMA common code. It is also difficult for us to replace
it with a new generic switch, because it is hard to prove that the new
switch states can guarantee the original code will work correctly.

So in this patch, we provide two helpers for common code to update and
get states of acpi_numa. And other new NUMA implementations just need
to provide the same helpers for common code. In this case, the generic
NUMA logic code can be reused by all NUMA implementations.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v2 -> v3:
1. Drop enumeration of numa status.
2. Use helpers to get/update acpi_numa.
3. Insert spaces among parameters of strncmp in numa_setup.
v1 -> v2:
1. Remove fw_numa.
2. Use enumeration to replace numa_off and acpi_numa.
3. Correct return value of srat_disabled.
4. Introduce numa_enabled_with_firmware.
---
 xen/arch/x86/include/asm/numa.h |  5 ++--
 xen/arch/x86/numa.c             | 41 ++++++++++++++++++++++-----------
 2 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/include/asm/numa.h b/xen/arch/x86/include/asm/numa.h
index c32ccffde3..f41fe20f9b 100644
--- a/xen/arch/x86/include/asm/numa.h
+++ b/xen/arch/x86/include/asm/numa.h
@@ -32,8 +32,9 @@ extern void numa_add_cpu(int cpu);
 extern void numa_init_array(void);
 extern bool numa_off;
 
-
-extern int srat_disabled(void);
+extern int arch_numa_setup(const char *opt);
+extern bool arch_numa_disabled(bool init_as_disable);
+extern bool srat_disabled(void);
 extern void numa_set_node(int cpu, nodeid_t node);
 extern nodeid_t setup_node(unsigned int pxm);
 extern void srat_detect_node(int cpu);
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 627ae8aa95..3d3081c967 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -50,9 +50,31 @@ nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 bool numa_off;
 s8 acpi_numa = 0;
 
-int srat_disabled(void)
+int __init arch_numa_setup(const char *opt)
 {
-    return numa_off || acpi_numa < 0;
+#ifdef CONFIG_ACPI_NUMA
+    if ( !strncmp(opt, "noacpi", 6) )
+    {
+        numa_off = false;
+        acpi_numa = -1;
+        return 0;
+    }
+    else
+#endif
+    return -EINVAL;
+}
+
+bool arch_numa_disabled(bool init_as_disable)
+{
+    if ( !init_as_disable )
+        return acpi_numa < 0;
+
+    return acpi_numa <= 0;
+}
+
+bool srat_disabled(void)
+{
+    return numa_off || arch_numa_disabled(false);
 }
 
 /*
@@ -291,28 +313,21 @@ void numa_set_node(int cpu, nodeid_t node)
 /* [numa=off] */
 static int __init cf_check numa_setup(const char *opt)
 {
-    if ( !strncmp(opt,"off",3) )
+    if ( !strncmp(opt, "off", 3) )
         numa_off = true;
-    else if ( !strncmp(opt,"on",2) )
+    else if ( !strncmp(opt, "on", 2) )
         numa_off = false;
 #ifdef CONFIG_NUMA_EMU
     else if ( !strncmp(opt, "fake=", 5) )
     {
         numa_off = false;
-        numa_fake = simple_strtoul(opt+5,NULL,0);
+        numa_fake = simple_strtoul(opt + 5, NULL, 0);
         if ( numa_fake >= MAX_NUMNODES )
             numa_fake = MAX_NUMNODES;
     }
-#endif
-#ifdef CONFIG_ACPI_NUMA
-    else if ( !strncmp(opt,"noacpi",6) )
-    {
-        numa_off = false;
-        acpi_numa = -1;
-    }
 #endif
     else
-        return -EINVAL;
+        return arch_numa_setup(opt);
 
     return 0;
 } 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391098.628801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxf8-0005Ux-7F; Mon, 22 Aug 2022 02:59:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391098.628801; Mon, 22 Aug 2022 02:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxf8-0005Uq-3X; Mon, 22 Aug 2022 02:59:38 +0000
Received: by outflank-mailman (input) for mailman id 391098;
 Mon, 22 Aug 2022 02:59:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=t9b2=Y2=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oPxf6-0005FA-5W
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 02:59:36 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130045.outbound.protection.outlook.com [40.107.13.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 73174d9b-21c6-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 04:59:33 +0200 (CEST)
Received: from AS8PR04CA0121.eurprd04.prod.outlook.com (2603:10a6:20b:127::6)
 by AS8PR08MB6632.eurprd08.prod.outlook.com (2603:10a6:20b:31c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Mon, 22 Aug
 2022 02:59:31 +0000
Received: from AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:127:cafe::60) by AS8PR04CA0121.outlook.office365.com
 (2603:10a6:20b:127::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT058.mail.protection.outlook.com (100.127.140.247) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:30 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Mon, 22 Aug 2022 02:59:30 +0000
Received: from a23310b7b957.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AD78A4DD-EE1C-4475-8606-A961A815C8A7.1; 
 Mon, 22 Aug 2022 02:59:23 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a23310b7b957.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 02:59:23 +0000
Received: from AS9PR04CA0162.eurprd04.prod.outlook.com (2603:10a6:20b:530::22)
 by AM8PR08MB5587.eurprd08.prod.outlook.com (2603:10a6:20b:1dd::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Mon, 22 Aug
 2022 02:59:21 +0000
Received: from AM7EUR03FT057.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:530::4) by AS9PR04CA0162.outlook.office365.com
 (2603:10a6:20b:530::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:21 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM7EUR03FT057.mail.protection.outlook.com (100.127.140.117) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:20 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2507.9; Mon, 22 Aug
 2022 02:59:18 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.9; Mon, 22
 Aug 2022 02:59:16 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.86) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73174d9b-21c6-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=WJtkcvjYQKUW3sgVS1cJKXNWBb8GQkPNU1npATDqkI6tIqM0Nfm7K9S2jot9INRy5vQXhFvw12IGj0bY17tSxFmL7UivdhRb6YxqaUdL+Bkn/49n/Tr69CYJD5WOMb4SxKt49V4aDrGSvFitMl8AyP1psaEVus5pW8zE1/QtzZd6QoCJeZgr1xPZEStv0mFMLxlPUsRMSXw9SHVkt2JR2oMATPC9bd+ktwwZ7zUiIvf++j+ddOVtxfcYRbq7gVDL8rD/7GIsXzx7Y4/NNCk6YestV7DHX/TVVYFeLf8kdcEBPgjpExZkuGCXj3jNEVY9hcar5uxTdUH0hYTM6kVvCA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wM+YrkpSRguyVUUYGUbn2ZtGMpJm+jBJSYhlQlDiMsY=;
 b=SAf2rsC5Oxa7c48zfWUdzcam1kp+nOlZ+8HnnDVB0ZAFXe3I2Dey5/LdNzZiloOqd8I8HbiQ3Aba85CfCze1B8RmKlD9/jVvo0KHmOzOJUUh0BYh52jSvyk4CHHlWjgoYtirEKWwKQtHsvb2giwVFGb9VFsKJUoc8bmdn0UiOQbHg8tSq+MNSBXGZRutkKuVS480ak7civGHnRa+B3CTamBYS9lEo2Ftn//jz3LaG3nhSBCVH2Rytsd6MNRpD3p401MNZY3eLNUBZ19OqFRMsI5wfdTi35C/8/L0ffnoShMl4bYuUf3Y4ruDIEB5cSFRDa+1NfALo6AxVupIcXz5oA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wM+YrkpSRguyVUUYGUbn2ZtGMpJm+jBJSYhlQlDiMsY=;
 b=qysYybDhWrIxR9z1a3KKWCovSMuQD4wUWicvPNEQmDr/MQ0ogH+Iplb9WvDwQnxqPD17p8NVDGD5iHAQHXxfEtMNUiSYNAt+sTxhSSpGzoI1GBSF9tMWiQqZW8f3P/8Gwv5B6krlg37uIhtsNS64ulS4dF/FXzpajyTXO98eJdI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d836e03677c60b86
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Kj/QICaCOePSJopSb7KOequCeCEGp2aopitLgramMH3pzh9pBOAcC7O1A5QOBitO+BDgAGvOfjX3O4m7V2D0HsEla4ekpyBGqOeNUnBaA3Hbdh7W5H8ngsHnrmxHMibIBQVbUjBCvt6IocazoCqzEQLy2DwLWAMzONP0QqgXN2KRJDt0JmSqDtZfMFrv440SniiaZ0iAeBqPYmA9FeAC0xrfORHkn3m7G6My9E6l/TJWRsNrtUbaYYd909mBMhEF8PSXIlAvtE+bTIyGRQXi2N9H7HKBkyrWttJkhGqwgPTL4iLG/RobpSAYlHHnnElK5/RNSGuSoyfRwMG8wwsnWQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wM+YrkpSRguyVUUYGUbn2ZtGMpJm+jBJSYhlQlDiMsY=;
 b=N7SZpAd5Ij6PuFbu7iSwbFRSH4OmbhX9Yd57vlufF4qRaohWRvyfpV5W32jPfun2FadP9J6tJrL3hnRTuIRJblVDEgibZehK3gctyC1Y5dzaCQ2aHsx8TWW4ny9r1X377Kc7WTmjD+pao+LgyLb6WT9PUuH4YMaicJHI+/Mieex2js3BnBHcV0h4Pg6hVwoYbAXNSOXEO6M6vk2LosTGueEbcq8tvo/QEOJQaH9wZmv4BMk/VxVpsk3AHQQEb/xM3lJHdQ/eIKD639ukhUOEMQJ7NPo9Qx0aGYpphox2+MSeCCcxpV+q9nYB6cCFqMzacKXyR8rmfkXMxHLQzuEoDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wM+YrkpSRguyVUUYGUbn2ZtGMpJm+jBJSYhlQlDiMsY=;
 b=qysYybDhWrIxR9z1a3KKWCovSMuQD4wUWicvPNEQmDr/MQ0ogH+Iplb9WvDwQnxqPD17p8NVDGD5iHAQHXxfEtMNUiSYNAt+sTxhSSpGzoI1GBSF9tMWiQqZW8f3P/8Gwv5B6krlg37uIhtsNS64ulS4dF/FXzpajyTXO98eJdI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
From: Wei Chen <wei.chen@arm.com>
To: <xen-devel@lists.xenproject.org>
CC: <nd@arm.com>, Wei Chen <wei.chen@arm.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 2/6] xen/x86: move generically usable NUMA code from x86 to common
Date: Mon, 22 Aug 2022 10:58:06 +0800
Message-ID: <20220822025810.2240707-3-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220822025810.2240707-1-wei.chen@arm.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 3a3e176d-67f9-4643-c092-08da83ea5593
X-MS-TrafficTypeDiagnostic:
	AM8PR08MB5587:EE_|AM7EUR03FT058:EE_|AS8PR08MB6632:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 zHOfs1eTBK/HfoDPe1HmDhO45vW4ifZ8Z7vEUEYRvLNyriY2ub6hHjvCAswClqpeP6Ty019m41L0Fq2GStt5v+WX1Ilpfz/EYayZpCm99VqIZoRFc2WlXcodkN+G6oy7XpF6OWS3dYtAc5Ko+qFmGCWFsBMye+iSei3rUHLYyqDR9H+DTA1sgSbAfDa6WtMsdSlsHustt/mXkoil1XM8xPHmtw/ZpZyn3LHTEHMuFUvbp3HNtTKlJq3otQNWgvFNKNJILQuu9hoCg+vCP7TIiWSHbE0s0V887TMRRoAXH2qxJfb7tKVJ2uEvE1gHJGWFxxEjt8vV+phqyF3cSTCOZjiaZHPZvDWw7x/XWt+eSUQNE0wFbOGkraQd0ZcJYzVq5OMZ3cm7E/P+aNXkFaasJ7UjpA3DKOSHe9JWuLZtz8GvAD5ApUl2fhG8KF9ZHm80q3SxeWYOSKYZFhDgUVfyXa8/LkwOVN4mP5TcihXkm1IofSVc/lu24B4CyIOYcjp1ISyfbbiU9dAWu+hDM7hinwiajzJtB1ZK0nrrc5jyg4EdH/7TQe/x2kvsrMh7h39mWZ+RPoUn+Kh30V3i9ZsgaJozHwGK0LSanpf3/SN9J6N4KeIz4qiWQWIaGsWQsluRco5pLzUJtEh9IOhbNIjGQdVHJolGPz6ezV3dzkVKGY0HNIwNvbvPNUVOOUqXMyC4vBOnDQtWYbmMRlYXMnFUHZA30NI0+hF5HXthQ1rU9BPz6ePylY4RAeEqgiXWvQZzOQ7KtOXv+ccG+xiABamtkoT7eOxRrQnVIupBA16VxLMwxK4C15j83stKpR2hfreoqgBvOk10zgMAmpUjEO6OSQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(39850400004)(376002)(136003)(40470700004)(36840700001)(46966006)(41300700001)(44832011)(30864003)(5660300002)(8936002)(40460700003)(316002)(70206006)(478600001)(70586007)(336012)(40480700001)(8676002)(36860700001)(26005)(426003)(47076005)(186003)(2616005)(86362001)(4326008)(1076003)(83380400001)(81166007)(356005)(6666004)(7696005)(82310400005)(82740400003)(2906002)(6916009)(36756003)(54906003)(21314003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5587
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9def69fe-b986-40d8-f4ab-08da83ea4f9f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BWKev+jjhuaMGHaUrPPy74tO+8+PquhNTkNU7I3aVCYIYNnv34aERmdQMXBuYk7AiKZg8sfUdoGZhYTfvRIkJYoi3J8KX3IxHB+PxQi/qBJAxs1YdeD+iFPgcUd9cjoXugfNm43N9GBLDUahhcTtcJNvFmCFEstYeFIr4vq9iimYzoQve9xgxLKN2eHO2KnU3Cxx71Oo0izXpPbNQzSGYEEkLBn1bkiNHRNu+zV/Xgm25uR2BhFQJ7ejT05jvZqlbncYy3bx77yM4CD1B1QhBVCmtVoXLgGmXk2XAVt2oGoCXhOvJqLP9H4p+DaUnSS7/KqVvBtz6AUV2jTnV4fzzXD1PqzvpLy/tU5YtbjdhcIpFBVYAZ3z1Ilap+5m27zgstUsKItA8b1FfLgowqqMR04W6UeTRI4v9M48d+RkjBmveEnVdplJ/1Fk6sWIgUdrYgb/pryKDTD928ZdGy+IcZVsCsEtpocW219Io2kZHaCD0ff3qGJii+S9f4UJMCdrPoYI+btFlsTpyfZs9yO8C+1f227Ua02lKCkteWFHINjuaW6JO4pOZPKcE1CdX+1U3cSlAVdYpC4e4VB8uts9kL64P3MQSiNKX4zhNIkopR28bG1ypWdH1T+hAVbLZ2owqKPn5oHcvCrmvr6OWZQdJLc0Zu6VOu3o9f837xeTQV8026d3i2yfUKaRaY8FLfO6Afy8VKS3/nGWbhh/9My5V8rMHTAD8mFPwjJLKhonfVl+2XE33adqYoBVHk6xRpX85WLYCM6mCW1kw5ACseBRdw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(396003)(39850400004)(346002)(46966006)(36840700001)(6666004)(336012)(426003)(47076005)(86362001)(7696005)(2616005)(1076003)(2906002)(83380400001)(107886003)(36756003)(186003)(81166007)(82740400003)(36860700001)(6916009)(82310400005)(54906003)(316002)(44832011)(30864003)(5660300002)(4326008)(478600001)(8676002)(70586007)(70206006)(8936002)(26005)(40480700001)(41300700001)(21314003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 02:59:30.6897
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a3e176d-67f9-4643-c092-08da83ea5593
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6632

There are some codes in x86/numa.c can be shared by common
architectures to implememnt NUMA support. Just like some
variables and functions to check and store NUMA memory map.
And some variables and functions to do NUMA initialization.

In this patch, we move them to common/numa.c and xen/numa.h
and use the CONFIG_NUMA to gate them for non-NUMA supported
architectures. As the target header file is Xen-style, so
we trim some spaces and replace tabs for the codes that has
been moved to xen/numa.h at the same time.

As acpi_scan_nodes has been used in a common function, it
doesn't make sense to use acpi_xxx in common code, so we
rename it to numa_scan_nodes in this patch too. After that
if we still use CONFIG_ACPI_NUMA in to gate numa_scan_nodes
in numa_initmem_init, that doesn't make sense. As CONFIG_NUMA
will be selected by CONFIG_ACPI_NUMA for x86. So, we replace
CONFIG_ACPI_NUMA by CONFIG_NUMA to gate numa_scan_nodes.

As arch_numa_disabled has been implememnted for ACPI NUMA,
we can rename srat_disabled to numa_disabled and move it
to common code as well.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v2 -> v3:
 1. Remove acpi.h from common/numa.c.
 2. Rename acpi_scan_nodes to numa_scan_nodes.
 3. Replace u8 by uint8_t for memnodemap.
 4. Use unsigned int for memnode_shift and adjust related functions
    (compute_hash_shift, populate_memnodemap) to use correct types for
    return values or parameters.
 5. Use nodeid_t for nodeid and node numbers.
 6. Use __read_mostly and __ro_after_init for appropriate variables.
 7. Adjust the __read_mostly and __initdata location for some variables.
 8. convert from plain int to unsigned for cpuid and other proper variables.
 9. Use __attribute_pure__ instead of __attribute__((pure)).
10. Replace CONFIG_ACPI_NUMA by CONFIG_NUMA in numa_initmem_init.
11. Add const for some functions' parameters.
12. Move srat_disabled to common code with new name numa_disabled.
13. Fix some spaces code-style for numa_emulation.
14. Change from int to unsigned int for numa_fake.
v1 -> v2:
1. New patch in v2.
---
 xen/arch/x86/include/asm/acpi.h  |   1 -
 xen/arch/x86/include/asm/numa.h  |  57 +---
 xen/arch/x86/include/asm/setup.h |   1 -
 xen/arch/x86/numa.c              | 430 +-----------------------------
 xen/arch/x86/smpboot.c           |   2 +-
 xen/arch/x86/srat.c              |   8 +-
 xen/common/Makefile              |   1 +
 xen/common/numa.c                | 440 +++++++++++++++++++++++++++++++
 xen/include/xen/numa.h           |  66 +++++
 9 files changed, 514 insertions(+), 492 deletions(-)
 create mode 100644 xen/common/numa.c

diff --git a/xen/arch/x86/include/asm/acpi.h b/xen/arch/x86/include/asm/acpi.h
index 9a9cc4c240..5c2dd5da2d 100644
--- a/xen/arch/x86/include/asm/acpi.h
+++ b/xen/arch/x86/include/asm/acpi.h
@@ -102,7 +102,6 @@ extern unsigned long acpi_wakeup_address;
 #define ARCH_HAS_POWER_INIT	1
 
 extern s8 acpi_numa;
-extern int acpi_scan_nodes(u64 start, u64 end);
 #define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
 
 extern struct acpi_sleep_info acpi_sinfo;
diff --git a/xen/arch/x86/include/asm/numa.h b/xen/arch/x86/include/asm/numa.h
index f41fe20f9b..6c87942d43 100644
--- a/xen/arch/x86/include/asm/numa.h
+++ b/xen/arch/x86/include/asm/numa.h
@@ -9,72 +9,17 @@ typedef u8 nodeid_t;
 
 extern int srat_rev;
 
-extern nodeid_t      cpu_to_node[NR_CPUS];
-extern cpumask_t     node_to_cpumask[];
-
-#define cpu_to_node(cpu)		(cpu_to_node[cpu])
-#define parent_node(node)		(node)
-#define node_to_first_cpu(node)  (__ffs(node_to_cpumask[node]))
-#define node_to_cpumask(node)    (node_to_cpumask[node])
-
-struct node { 
-	paddr_t start, end;
-};
-
-extern int compute_hash_shift(struct node *nodes, int numnodes,
-			      nodeid_t *nodeids);
 extern nodeid_t pxm_to_node(unsigned int pxm);
 
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
-#define VIRTUAL_BUG_ON(x) 
 
-extern void numa_add_cpu(int cpu);
-extern void numa_init_array(void);
-extern bool numa_off;
-
-extern int arch_numa_setup(const char *opt);
-extern bool arch_numa_disabled(bool init_as_disable);
-extern bool srat_disabled(void);
-extern void numa_set_node(int cpu, nodeid_t node);
+extern bool numa_disabled(void);
 extern nodeid_t setup_node(unsigned int pxm);
 extern void srat_detect_node(int cpu);
 
-extern void setup_node_bootmem(nodeid_t nodeid, paddr_t start, paddr_t end);
 extern nodeid_t apicid_to_node[];
 extern void init_cpu_to_node(void);
 
-static inline void clear_node_cpumask(int cpu)
-{
-	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
-}
-
-/* Simple perfect hash to map pdx to node numbers */
-extern int memnode_shift; 
-extern unsigned long memnodemapsize;
-extern u8 *memnodemap;
-
-struct node_data {
-    unsigned long node_start_pfn;
-    unsigned long node_spanned_pages;
-};
-
-extern struct node_data node_data[];
-
-static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
-{ 
-	nodeid_t nid;
-	VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
-	nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift]; 
-	VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]); 
-	return nid; 
-} 
-
-#define NODE_DATA(nid)		(&(node_data[nid]))
-
-#define node_start_pfn(nid)	(NODE_DATA(nid)->node_start_pfn)
-#define node_spanned_pages(nid)	(NODE_DATA(nid)->node_spanned_pages)
-#define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
-				 NODE_DATA(nid)->node_spanned_pages)
 #define arch_want_default_dmazone() (num_online_nodes() > 1)
 
 extern int valid_numa_range(paddr_t start, paddr_t end, nodeid_t node);
diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index 21037b7f31..ae470ea12f 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -20,7 +20,6 @@ void early_time_init(void);
 
 void set_nr_cpu_ids(unsigned int max_cpus);
 
-void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
 void arch_init_memory(void);
 void subarch_init_memory(void);
 
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 3d3081c967..9a9090e99a 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -4,20 +4,11 @@
  * Adapted for Xen: Ryan Harper <ryanh@us.ibm.com>
  */ 
 
-#include <xen/mm.h>
-#include <xen/string.h>
 #include <xen/init.h>
-#include <xen/ctype.h>
+#include <xen/mm.h>
 #include <xen/nodemask.h>
 #include <xen/numa.h>
-#include <xen/keyhandler.h>
-#include <xen/param.h>
-#include <xen/time.h>
-#include <xen/smp.h>
-#include <xen/pfn.h>
 #include <asm/acpi.h>
-#include <xen/sched.h>
-#include <xen/softirq.h>
 
 #ifndef Dprintk
 #define Dprintk(x...)
@@ -26,28 +17,13 @@
 /* from proto.h */
 #define round_up(x,y) ((((x)+(y))-1) & (~((y)-1)))
 
-struct node_data node_data[MAX_NUMNODES];
-
-/* Mapping from pdx to node id */
-int memnode_shift;
-static typeof(*memnodemap) _memnodemap[64];
-unsigned long memnodemapsize;
-u8 *memnodemap;
-
-nodeid_t cpu_to_node[NR_CPUS] __read_mostly = {
-    [0 ... NR_CPUS-1] = NUMA_NO_NODE
-};
 /*
  * Keep BIOS's CPU2node information, should not be used for memory allocaion
  */
 nodeid_t apicid_to_node[MAX_LOCAL_APIC] = {
     [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE
 };
-cpumask_t node_to_cpumask[MAX_NUMNODES] __read_mostly;
 
-nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
-
-bool numa_off;
 s8 acpi_numa = 0;
 
 int __init arch_numa_setup(const char *opt)
@@ -72,267 +48,6 @@ bool arch_numa_disabled(bool init_as_disable)
     return acpi_numa <= 0;
 }
 
-bool srat_disabled(void)
-{
-    return numa_off || arch_numa_disabled(false);
-}
-
-/*
- * Given a shift value, try to populate memnodemap[]
- * Returns :
- * 1 if OK
- * 0 if memnodmap[] too small (of shift too small)
- * -1 if node overlap or lost ram (shift too big)
- */
-static int __init populate_memnodemap(const struct node *nodes,
-                                      int numnodes, int shift, nodeid_t *nodeids)
-{
-    unsigned long spdx, epdx;
-    int i, res = -1;
-
-    memset(memnodemap, NUMA_NO_NODE, memnodemapsize * sizeof(*memnodemap));
-    for ( i = 0; i < numnodes; i++ )
-    {
-        spdx = paddr_to_pdx(nodes[i].start);
-        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
-        if ( spdx >= epdx )
-            continue;
-        if ( (epdx >> shift) >= memnodemapsize )
-            return 0;
-        do {
-            if ( memnodemap[spdx >> shift] != NUMA_NO_NODE )
-                return -1;
-
-            if ( !nodeids )
-                memnodemap[spdx >> shift] = i;
-            else
-                memnodemap[spdx >> shift] = nodeids[i];
-
-            spdx += (1UL << shift);
-        } while ( spdx < epdx );
-        res = 1;
-    }
-
-    return res;
-}
-
-static int __init allocate_cachealigned_memnodemap(void)
-{
-    unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
-    unsigned long mfn = mfn_x(alloc_boot_pages(size, 1));
-
-    memnodemap = mfn_to_virt(mfn);
-    mfn <<= PAGE_SHIFT;
-    size <<= PAGE_SHIFT;
-    printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n",
-           mfn, mfn + size);
-    memnodemapsize = size / sizeof(*memnodemap);
-
-    return 0;
-}
-
-/*
- * The LSB of all start and end addresses in the node map is the value of the
- * maximum possible shift.
- */
-static int __init extract_lsb_from_nodes(const struct node *nodes,
-                                         int numnodes)
-{
-    int i, nodes_used = 0;
-    unsigned long spdx, epdx;
-    unsigned long bitfield = 0, memtop = 0;
-
-    for ( i = 0; i < numnodes; i++ )
-    {
-        spdx = paddr_to_pdx(nodes[i].start);
-        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
-        if ( spdx >= epdx )
-            continue;
-        bitfield |= spdx;
-        nodes_used++;
-        if ( epdx > memtop )
-            memtop = epdx;
-    }
-    if ( nodes_used <= 1 )
-        i = BITS_PER_LONG - 1;
-    else
-        i = find_first_bit(&bitfield, sizeof(unsigned long)*8);
-    memnodemapsize = (memtop >> i) + 1;
-    return i;
-}
-
-int __init compute_hash_shift(struct node *nodes, int numnodes,
-                              nodeid_t *nodeids)
-{
-    int shift;
-
-    shift = extract_lsb_from_nodes(nodes, numnodes);
-    if ( memnodemapsize <= ARRAY_SIZE(_memnodemap) )
-        memnodemap = _memnodemap;
-    else if ( allocate_cachealigned_memnodemap() )
-        return -1;
-    printk(KERN_DEBUG "NUMA: Using %d for the hash shift.\n", shift);
-
-    if ( populate_memnodemap(nodes, numnodes, shift, nodeids) != 1 )
-    {
-        printk(KERN_INFO "Your memory is not aligned you need to "
-               "rebuild your hypervisor with a bigger NODEMAPSIZE "
-               "shift=%d\n", shift);
-        return -1;
-    }
-
-    return shift;
-}
-/* initialize NODE_DATA given nodeid and start/end */
-void __init setup_node_bootmem(nodeid_t nodeid, paddr_t start, paddr_t end)
-{
-    unsigned long start_pfn = paddr_to_pfn(start);
-    unsigned long end_pfn = paddr_to_pfn(end);
-
-    NODE_DATA(nodeid)->node_start_pfn = start_pfn;
-    NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
-
-    node_set_online(nodeid);
-} 
-
-void __init numa_init_array(void)
-{
-    int rr, i;
-
-    /* There are unfortunately some poorly designed mainboards around
-       that only connect memory to a single CPU. This breaks the 1:1 cpu->node
-       mapping. To avoid this fill in the mapping for all possible
-       CPUs, as the number of CPUs is not known yet.
-       We round robin the existing nodes. */
-    rr = first_node(node_online_map);
-    for ( i = 0; i < nr_cpu_ids; i++ )
-    {
-        if ( cpu_to_node[i] != NUMA_NO_NODE )
-            continue;
-        numa_set_node(i, rr);
-        rr = cycle_node(rr, node_online_map);
-    }
-}
-
-#ifdef CONFIG_NUMA_EMU
-static int numa_fake __initdata = 0;
-
-/* Numa emulation */
-static int __init numa_emulation(unsigned long start_pfn,
-                                 unsigned long end_pfn)
-{
-    int i;
-    struct node nodes[MAX_NUMNODES];
-    uint64_t sz = pfn_to_paddr(end_pfn - start_pfn) / numa_fake;
-
-    /* Kludge needed for the hash function */
-    if ( hweight64(sz) > 1 )
-    {
-        u64 x = 1;
-        while ( (x << 1) < sz )
-            x <<= 1;
-        if ( x < sz/2 )
-            printk(KERN_ERR "Numa emulation unbalanced. Complain to maintainer\n");
-        sz = x;
-    }
-
-    memset(&nodes,0,sizeof(nodes));
-    for ( i = 0; i < numa_fake; i++ )
-    {
-        nodes[i].start = pfn_to_paddr(start_pfn) + i * sz;
-        if ( i == numa_fake - 1 )
-            sz = pfn_to_paddr(end_pfn) - nodes[i].start;
-        nodes[i].end = nodes[i].start + sz;
-        printk(KERN_INFO "Faking node %d at %"PRIx64"-%"PRIx64" (%"PRIu64"MB)\n",
-               i,
-               nodes[i].start, nodes[i].end,
-               (nodes[i].end - nodes[i].start) >> 20);
-        node_set_online(i);
-    }
-    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
-    if ( memnode_shift < 0 )
-    {
-        memnode_shift = 0;
-        printk(KERN_ERR "No NUMA hash function found. Emulation disabled.\n");
-        return -1;
-    }
-    for_each_online_node ( i )
-        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
-    numa_init_array();
-
-    return 0;
-}
-#endif
-
-void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
-{ 
-    int i;
-    paddr_t start = pfn_to_paddr(start_pfn);
-    paddr_t end = pfn_to_paddr(end_pfn);
-
-#ifdef CONFIG_NUMA_EMU
-    if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
-        return;
-#endif
-
-#ifdef CONFIG_ACPI_NUMA
-    if ( !numa_off && !acpi_scan_nodes(start, end) )
-        return;
-#endif
-
-    printk(KERN_INFO "%s\n",
-           numa_off ? "NUMA turned off" : "No NUMA configuration found");
-
-    printk(KERN_INFO "Faking a node at %"PRIpaddr"-%"PRIpaddr"\n",
-           start, end);
-    /* setup dummy node covering all memory */
-    memnode_shift = BITS_PER_LONG - 1;
-    memnodemap = _memnodemap;
-    /* Dummy node only uses 1 slot in reality */
-    memnodemap[0] = 0;
-    memnodemapsize = 1;
-
-    nodes_clear(node_online_map);
-    node_set_online(0);
-    for ( i = 0; i < nr_cpu_ids; i++ )
-        numa_set_node(i, 0);
-    cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
-    setup_node_bootmem(0, start, end);
-}
-
-void numa_add_cpu(int cpu)
-{
-    cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
-} 
-
-void numa_set_node(int cpu, nodeid_t node)
-{
-    cpu_to_node[cpu] = node;
-}
-
-/* [numa=off] */
-static int __init cf_check numa_setup(const char *opt)
-{
-    if ( !strncmp(opt, "off", 3) )
-        numa_off = true;
-    else if ( !strncmp(opt, "on", 2) )
-        numa_off = false;
-#ifdef CONFIG_NUMA_EMU
-    else if ( !strncmp(opt, "fake=", 5) )
-    {
-        numa_off = false;
-        numa_fake = simple_strtoul(opt + 5, NULL, 0);
-        if ( numa_fake >= MAX_NUMNODES )
-            numa_fake = MAX_NUMNODES;
-    }
-#endif
-    else
-        return arch_numa_setup(opt);
-
-    return 0;
-} 
-custom_param("numa", numa_setup);
-
 /*
  * Setup early cpu_to_node.
  *
@@ -381,146 +96,3 @@ unsigned int __init arch_get_dma_bitsize(void)
                  flsl(node_start_pfn(node) + node_spanned_pages(node) / 4 - 1)
                  + PAGE_SHIFT, 32);
 }
-
-static void cf_check dump_numa(unsigned char key)
-{
-    s_time_t now = NOW();
-    unsigned int i, j, n;
-    struct domain *d;
-    struct page_info *page;
-    unsigned int page_num_node[MAX_NUMNODES];
-    const struct vnuma_info *vnuma;
-
-    printk("'%c' pressed -> dumping numa info (now = %"PRI_stime")\n", key,
-           now);
-
-    for_each_online_node ( i )
-    {
-        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
-
-        printk("NODE%u start->%lu size->%lu free->%lu\n",
-               i, node_start_pfn(i), node_spanned_pages(i),
-               avail_node_heap_pages(i));
-        /* sanity check phys_to_nid() */
-        if ( phys_to_nid(pa) != i )
-            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
-                   pa, phys_to_nid(pa), i);
-    }
-
-    j = cpumask_first(&cpu_online_map);
-    n = 0;
-    for_each_online_cpu ( i )
-    {
-        if ( i != j + n || cpu_to_node[j] != cpu_to_node[i] )
-        {
-            if ( n > 1 )
-                printk("CPU%u...%u -> NODE%d\n", j, j + n - 1, cpu_to_node[j]);
-            else
-                printk("CPU%u -> NODE%d\n", j, cpu_to_node[j]);
-            j = i;
-            n = 1;
-        }
-        else
-            ++n;
-    }
-    if ( n > 1 )
-        printk("CPU%u...%u -> NODE%d\n", j, j + n - 1, cpu_to_node[j]);
-    else
-        printk("CPU%u -> NODE%d\n", j, cpu_to_node[j]);
-
-    rcu_read_lock(&domlist_read_lock);
-
-    printk("Memory location of each domain:\n");
-    for_each_domain ( d )
-    {
-        process_pending_softirqs();
-
-        printk("Domain %u (total: %u):\n", d->domain_id, domain_tot_pages(d));
-
-        for_each_online_node ( i )
-            page_num_node[i] = 0;
-
-        spin_lock(&d->page_alloc_lock);
-        page_list_for_each(page, &d->page_list)
-        {
-            i = phys_to_nid(page_to_maddr(page));
-            page_num_node[i]++;
-        }
-        spin_unlock(&d->page_alloc_lock);
-
-        for_each_online_node ( i )
-            printk("    Node %u: %u\n", i, page_num_node[i]);
-
-        if ( !read_trylock(&d->vnuma_rwlock) )
-            continue;
-
-        if ( !d->vnuma )
-        {
-            read_unlock(&d->vnuma_rwlock);
-            continue;
-        }
-
-        vnuma = d->vnuma;
-        printk("     %u vnodes, %u vcpus, guest physical layout:\n",
-               vnuma->nr_vnodes, d->max_vcpus);
-        for ( i = 0; i < vnuma->nr_vnodes; i++ )
-        {
-            unsigned int start_cpu = ~0U;
-
-            if ( vnuma->vnode_to_pnode[i] == NUMA_NO_NODE )
-                printk("       %3u: pnode ???,", i);
-            else
-                printk("       %3u: pnode %3u,", i, vnuma->vnode_to_pnode[i]);
-
-            printk(" vcpus ");
-
-            for ( j = 0; j < d->max_vcpus; j++ )
-            {
-                if ( !(j & 0x3f) )
-                    process_pending_softirqs();
-
-                if ( vnuma->vcpu_to_vnode[j] == i )
-                {
-                    if ( start_cpu == ~0U )
-                    {
-                        printk("%d", j);
-                        start_cpu = j;
-                    }
-                }
-                else if ( start_cpu != ~0U )
-                {
-                    if ( j - 1 != start_cpu )
-                        printk("-%d ", j - 1);
-                    else
-                        printk(" ");
-                    start_cpu = ~0U;
-                }
-            }
-
-            if ( start_cpu != ~0U  && start_cpu != j - 1 )
-                printk("-%d", j - 1);
-
-            printk("\n");
-
-            for ( j = 0; j < vnuma->nr_vmemranges; j++ )
-            {
-                if ( vnuma->vmemrange[j].nid == i )
-                    printk("           %016"PRIx64" - %016"PRIx64"\n",
-                           vnuma->vmemrange[j].start,
-                           vnuma->vmemrange[j].end);
-            }
-        }
-
-        read_unlock(&d->vnuma_rwlock);
-    }
-
-    rcu_read_unlock(&domlist_read_lock);
-}
-
-static int __init cf_check register_numa_trigger(void)
-{
-    register_keyhandler('u', dump_numa, "dump NUMA info", 1);
-    return 0;
-}
-__initcall(register_numa_trigger);
-
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index b46fd9ab18..9df08e9366 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1350,7 +1350,7 @@ int cpu_add(uint32_t apic_id, uint32_t acpi_id, uint32_t pxm)
 
     x86_acpiid_to_apicid[acpi_id] = apic_id;
 
-    if ( !srat_disabled() )
+    if ( !numa_disabled() )
     {
         nodeid_t node = setup_node(pxm);
 
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index b62a152911..4c7f0c547e 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -238,7 +238,7 @@ acpi_numa_x2apic_affinity_init(const struct acpi_srat_x2apic_cpu_affinity *pa)
 	unsigned pxm;
 	nodeid_t node;
 
-	if (srat_disabled())
+	if (numa_disabled())
 		return;
 	if (pa->header.length < sizeof(struct acpi_srat_x2apic_cpu_affinity)) {
 		bad_srat();
@@ -274,7 +274,7 @@ acpi_numa_processor_affinity_init(const struct acpi_srat_cpu_affinity *pa)
 	unsigned pxm;
 	nodeid_t node;
 
-	if (srat_disabled())
+	if (numa_disabled())
 		return;
 	if (pa->header.length != sizeof(struct acpi_srat_cpu_affinity)) {
 		bad_srat();
@@ -313,7 +313,7 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
 	nodeid_t node;
 	unsigned int i;
 
-	if (srat_disabled())
+	if (numa_disabled())
 		return;
 	if (ma->header.length != sizeof(struct acpi_srat_mem_affinity)) {
 		bad_srat();
@@ -520,7 +520,7 @@ void __init srat_parse_regions(paddr_t addr)
 }
 
 /* Use the information discovered above to actually set up the nodes. */
-int __init acpi_scan_nodes(paddr_t start, paddr_t end)
+int __init numa_scan_nodes(paddr_t start, paddr_t end)
 {
 	int i;
 	nodemask_t all_nodes_parsed;
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 3baf83d527..9a3a12b12d 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -26,6 +26,7 @@ obj-$(CONFIG_MEM_ACCESS) += mem_access.o
 obj-y += memory.o
 obj-y += multicall.o
 obj-y += notifier.o
+obj-$(CONFIG_NUMA) += numa.o
 obj-y += page_alloc.o
 obj-$(CONFIG_HAS_PDX) += pdx.o
 obj-$(CONFIG_PERF_COUNTERS) += perfc.o
diff --git a/xen/common/numa.c b/xen/common/numa.c
new file mode 100644
index 0000000000..0bc5113753
--- /dev/null
+++ b/xen/common/numa.c
@@ -0,0 +1,440 @@
+/*
+ * Generic VM initialization for NUMA setups.
+ * Copyright 2002,2003 Andi Kleen, SuSE Labs.
+ * Adapted for Xen: Ryan Harper <ryanh@us.ibm.com>
+ */
+
+#include <xen/init.h>
+#include <xen/keyhandler.h>
+#include <xen/mm.h>
+#include <xen/nodemask.h>
+#include <xen/numa.h>
+#include <xen/param.h>
+#include <xen/sched.h>
+#include <xen/softirq.h>
+
+struct node_data __ro_after_init node_data[MAX_NUMNODES];
+
+/* Mapping from pdx to node id */
+unsigned int __ro_after_init memnode_shift;
+unsigned long __ro_after_init memnodemapsize;
+uint8_t *__ro_after_init memnodemap;
+static uint8_t __ro_after_init _memnodemap[64];
+
+nodeid_t __ro_after_init cpu_to_node[NR_CPUS] = {
+    [0 ... NR_CPUS-1] = NUMA_NO_NODE
+};
+
+cpumask_t __ro_after_init node_to_cpumask[MAX_NUMNODES];
+
+nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
+
+bool __read_mostly numa_off;
+
+bool numa_disabled(void)
+{
+    return numa_off || arch_numa_disabled(false);
+}
+
+/*
+ * Given a shift value, try to populate memnodemap[]
+ * Returns :
+ * 1 if OK
+ * 0 if memnodmap[] too small (of shift too small)
+ * -1 if node overlap or lost ram (shift too big)
+ */
+static int __init populate_memnodemap(const struct node *nodes,
+                                      nodeid_t numnodes, unsigned int shift,
+                                      nodeid_t *nodeids)
+{
+    unsigned long spdx, epdx;
+    nodeid_t i;
+    int res = -1;
+
+    memset(memnodemap, NUMA_NO_NODE, memnodemapsize * sizeof(*memnodemap));
+    for ( i = 0; i < numnodes; i++ )
+    {
+        spdx = paddr_to_pdx(nodes[i].start);
+        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
+        if ( spdx >= epdx )
+            continue;
+        if ( (epdx >> shift) >= memnodemapsize )
+            return 0;
+        do {
+            if ( memnodemap[spdx >> shift] != NUMA_NO_NODE )
+                return -1;
+
+            if ( !nodeids )
+                memnodemap[spdx >> shift] = i;
+            else
+                memnodemap[spdx >> shift] = nodeids[i];
+
+            spdx += (1UL << shift);
+        } while ( spdx < epdx );
+        res = 1;
+    }
+
+    return res;
+}
+
+static int __init allocate_cachealigned_memnodemap(void)
+{
+    unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
+    unsigned long mfn = mfn_x(alloc_boot_pages(size, 1));
+
+    memnodemap = mfn_to_virt(mfn);
+    mfn <<= PAGE_SHIFT;
+    size <<= PAGE_SHIFT;
+    printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n",
+           mfn, mfn + size);
+    memnodemapsize = size / sizeof(*memnodemap);
+
+    return 0;
+}
+
+/*
+ * The LSB of all start and end addresses in the node map is the value of the
+ * maximum possible shift.
+ */
+static unsigned int __init extract_lsb_from_nodes(const struct node *nodes,
+                                                  nodeid_t numnodes)
+{
+    unsigned int i;
+    nodeid_t nodes_used = 0;
+    unsigned long spdx, epdx;
+    unsigned long bitfield = 0, memtop = 0;
+
+    for ( i = 0; i < numnodes; i++ )
+    {
+        spdx = paddr_to_pdx(nodes[i].start);
+        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
+        if ( spdx >= epdx )
+            continue;
+        bitfield |= spdx;
+        nodes_used++;
+        if ( epdx > memtop )
+            memtop = epdx;
+    }
+    if ( nodes_used <= 1 )
+        i = BITS_PER_LONG - 1;
+    else
+        i = find_first_bit(&bitfield, sizeof(unsigned long)*8);
+    memnodemapsize = (memtop >> i) + 1;
+    return i;
+}
+
+unsigned int __init compute_hash_shift(const struct node *nodes,
+                                       nodeid_t numnodes, nodeid_t *nodeids)
+{
+    unsigned int shift;
+
+    shift = extract_lsb_from_nodes(nodes, numnodes);
+    if ( memnodemapsize <= ARRAY_SIZE(_memnodemap) )
+        memnodemap = _memnodemap;
+    else if ( allocate_cachealigned_memnodemap() )
+        return -1;
+    printk(KERN_DEBUG "NUMA: Using %d for the hash shift.\n", shift);
+
+    if ( populate_memnodemap(nodes, numnodes, shift, nodeids) != 1 )
+    {
+        printk(KERN_INFO "Your memory is not aligned you need to "
+               "rebuild your hypervisor with a bigger NODEMAPSIZE "
+               "shift=%d\n", shift);
+        return -1;
+    }
+
+    return shift;
+}
+
+/* initialize NODE_DATA given nodeid and start/end */
+void __init setup_node_bootmem(nodeid_t nodeid, paddr_t start, paddr_t end)
+{
+    unsigned long start_pfn = paddr_to_pfn(start);
+    unsigned long end_pfn = paddr_to_pfn(end);
+
+    NODE_DATA(nodeid)->node_start_pfn = start_pfn;
+    NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
+
+    node_set_online(nodeid);
+}
+
+void __init numa_init_array(void)
+{
+    int rr, i;
+
+    /*
+     * There are unfortunately some poorly designed mainboards around
+     * that only connect memory to a single CPU. This breaks the 1:1 cpu->node
+     * mapping. To avoid this fill in the mapping for all possible
+     * CPUs, as the number of CPUs is not known yet.
+     * We round robin the existing nodes.
+     */
+    rr = first_node(node_online_map);
+    for ( i = 0; i < nr_cpu_ids; i++ )
+    {
+        if ( cpu_to_node[i] != NUMA_NO_NODE )
+            continue;
+        numa_set_node(i, rr);
+        rr = cycle_node(rr, node_online_map);
+    }
+}
+
+#ifdef CONFIG_NUMA_EMU
+static unsigned int __initdata numa_fake;
+
+/* Numa emulation */
+static int __init numa_emulation(unsigned long start_pfn,
+                                 unsigned long end_pfn)
+{
+    unsigned int i;
+    struct node nodes[MAX_NUMNODES];
+    uint64_t sz = pfn_to_paddr(end_pfn - start_pfn) / numa_fake;
+
+    /* Kludge needed for the hash function */
+    if ( hweight64(sz) > 1 )
+    {
+        u64 x = 1;
+        while ( (x << 1) < sz )
+            x <<= 1;
+        if ( x < sz / 2 )
+            printk(KERN_ERR "Numa emulation unbalanced. Complain to maintainer\n");
+        sz = x;
+    }
+
+    memset(&nodes, 0, sizeof(nodes));
+    for ( i = 0; i < numa_fake; i++ )
+    {
+        nodes[i].start = pfn_to_paddr(start_pfn) + i * sz;
+        if ( i == numa_fake - 1 )
+            sz = pfn_to_paddr(end_pfn) - nodes[i].start;
+        nodes[i].end = nodes[i].start + sz;
+        printk(KERN_INFO "Faking node %u at %"PRIx64"-%"PRIx64" (%"PRIu64"MB)\n",
+               i, nodes[i].start, nodes[i].end,
+               (nodes[i].end - nodes[i].start) >> 20);
+        node_set_online(i);
+    }
+    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
+    if ( memnode_shift < 0 )
+    {
+        memnode_shift = 0;
+        printk(KERN_ERR "No NUMA hash function found. Emulation disabled.\n");
+        return -1;
+    }
+    for_each_online_node ( i )
+        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
+    numa_init_array();
+
+    return 0;
+}
+#endif
+
+void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
+{
+    unsigned int i;
+    paddr_t start = pfn_to_paddr(start_pfn);
+    paddr_t end = pfn_to_paddr(end_pfn);
+
+#ifdef CONFIG_NUMA_EMU
+    if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
+        return;
+#endif
+
+#ifdef CONFIG_NUMA
+    if ( !numa_off && !numa_scan_nodes(start, end) )
+        return;
+#endif
+
+    printk(KERN_INFO "%s\n",
+           numa_off ? "NUMA turned off" : "No NUMA configuration found");
+
+    printk(KERN_INFO "Faking a node at %"PRIpaddr"-%"PRIpaddr"\n",
+           start, end);
+    /* setup dummy node covering all memory */
+    memnode_shift = BITS_PER_LONG - 1;
+    memnodemap = _memnodemap;
+    /* Dummy node only uses 1 slot in reality */
+    memnodemap[0] = 0;
+    memnodemapsize = 1;
+
+    nodes_clear(node_online_map);
+    node_set_online(0);
+    for ( i = 0; i < nr_cpu_ids; i++ )
+        numa_set_node(i, 0);
+    cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
+    setup_node_bootmem(0, start, end);
+}
+
+void numa_add_cpu(unsigned int cpu)
+{
+    cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
+}
+
+void numa_set_node(unsigned int cpu, nodeid_t node)
+{
+    cpu_to_node[cpu] = node;
+}
+
+/* [numa=off] */
+static int __init cf_check numa_setup(const char *opt)
+{
+    if ( !strncmp(opt, "off", 3) )
+        numa_off = true;
+    else if ( !strncmp(opt, "on", 2) )
+        numa_off = false;
+#ifdef CONFIG_NUMA_EMU
+    else if ( !strncmp(opt, "fake=", 5) )
+    {
+        numa_off = false;
+        numa_fake = simple_strtoul(opt + 5, NULL, 0);
+        if ( numa_fake >= MAX_NUMNODES )
+            numa_fake = MAX_NUMNODES;
+    }
+#endif
+    else
+        return arch_numa_setup(opt);
+
+    return 0;
+}
+custom_param("numa", numa_setup);
+
+static void cf_check dump_numa(unsigned char key)
+{
+    s_time_t now = NOW();
+    unsigned int i, j, n;
+    struct domain *d;
+    struct page_info *page;
+    unsigned int page_num_node[MAX_NUMNODES];
+    const struct vnuma_info *vnuma;
+
+    printk("'%c' pressed -> dumping numa info (now = %"PRI_stime")\n", key,
+           now);
+
+    for_each_online_node ( i )
+    {
+        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
+
+        printk("NODE%u start->%lu size->%lu free->%lu\n",
+               i, node_start_pfn(i), node_spanned_pages(i),
+               avail_node_heap_pages(i));
+        /* sanity check phys_to_nid() */
+        if ( phys_to_nid(pa) != i )
+            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
+                   pa, phys_to_nid(pa), i);
+    }
+
+    j = cpumask_first(&cpu_online_map);
+    n = 0;
+    for_each_online_cpu ( i )
+    {
+        if ( i != j + n || cpu_to_node[j] != cpu_to_node[i] )
+        {
+            if ( n > 1 )
+                printk("CPU%u...%u -> NODE%d\n", j, j + n - 1, cpu_to_node[j]);
+            else
+                printk("CPU%u -> NODE%d\n", j, cpu_to_node[j]);
+            j = i;
+            n = 1;
+        }
+        else
+            ++n;
+    }
+    if ( n > 1 )
+        printk("CPU%u...%u -> NODE%d\n", j, j + n - 1, cpu_to_node[j]);
+    else
+        printk("CPU%u -> NODE%d\n", j, cpu_to_node[j]);
+
+    rcu_read_lock(&domlist_read_lock);
+
+    printk("Memory location of each domain:\n");
+    for_each_domain ( d )
+    {
+        process_pending_softirqs();
+
+        printk("Domain %u (total: %u):\n", d->domain_id, domain_tot_pages(d));
+
+        for_each_online_node ( i )
+            page_num_node[i] = 0;
+
+        spin_lock(&d->page_alloc_lock);
+        page_list_for_each(page, &d->page_list)
+        {
+            i = phys_to_nid(page_to_maddr(page));
+            page_num_node[i]++;
+        }
+        spin_unlock(&d->page_alloc_lock);
+
+        for_each_online_node ( i )
+            printk("    Node %u: %u\n", i, page_num_node[i]);
+
+        if ( !read_trylock(&d->vnuma_rwlock) )
+            continue;
+
+        if ( !d->vnuma )
+        {
+            read_unlock(&d->vnuma_rwlock);
+            continue;
+        }
+
+        vnuma = d->vnuma;
+        printk("     %u vnodes, %u vcpus, guest physical layout:\n",
+               vnuma->nr_vnodes, d->max_vcpus);
+        for ( i = 0; i < vnuma->nr_vnodes; i++ )
+        {
+            unsigned int start_cpu = ~0U;
+
+            if ( vnuma->vnode_to_pnode[i] == NUMA_NO_NODE )
+                printk("       %3u: pnode ???,", i);
+            else
+                printk("       %3u: pnode %3u,", i, vnuma->vnode_to_pnode[i]);
+
+            printk(" vcpus ");
+
+            for ( j = 0; j < d->max_vcpus; j++ )
+            {
+                if ( !(j & 0x3f) )
+                    process_pending_softirqs();
+
+                if ( vnuma->vcpu_to_vnode[j] == i )
+                {
+                    if ( start_cpu == ~0U )
+                    {
+                        printk("%d", j);
+                        start_cpu = j;
+                    }
+                }
+                else if ( start_cpu != ~0U )
+                {
+                    if ( j - 1 != start_cpu )
+                        printk("-%d ", j - 1);
+                    else
+                        printk(" ");
+                    start_cpu = ~0U;
+                }
+            }
+
+            if ( start_cpu != ~0U  && start_cpu != j - 1 )
+                printk("-%d", j - 1);
+
+            printk("\n");
+
+            for ( j = 0; j < vnuma->nr_vmemranges; j++ )
+            {
+                if ( vnuma->vmemrange[j].nid == i )
+                    printk("           %016"PRIx64" - %016"PRIx64"\n",
+                           vnuma->vmemrange[j].start,
+                           vnuma->vmemrange[j].end);
+            }
+        }
+
+        read_unlock(&d->vnuma_rwlock);
+    }
+
+    rcu_read_unlock(&domlist_read_lock);
+}
+
+static int __init cf_check register_numa_trigger(void)
+{
+    register_keyhandler('u', dump_numa, "dump NUMA info", 1);
+    return 0;
+}
+__initcall(register_numa_trigger);
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 7aef1a88dc..bae534bb04 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -18,4 +18,70 @@
   (((d)->vcpu != NULL && (d)->vcpu[0] != NULL) \
    ? vcpu_to_node((d)->vcpu[0]) : NUMA_NO_NODE)
 
+/* The following content can be used when NUMA feature is enabled */
+#ifdef CONFIG_NUMA
+
+extern nodeid_t      cpu_to_node[NR_CPUS];
+extern cpumask_t     node_to_cpumask[];
+
+#define cpu_to_node(cpu)        (cpu_to_node[cpu])
+#define parent_node(node)       (node)
+#define node_to_first_cpu(node) (__ffs(node_to_cpumask[node]))
+#define node_to_cpumask(node)   (node_to_cpumask[node])
+
+struct node {
+    paddr_t start, end;
+};
+
+extern unsigned int compute_hash_shift(const struct node *nodes,
+                                       nodeid_t numnodes, nodeid_t *nodeids);
+
+#define VIRTUAL_BUG_ON(x)
+
+extern bool numa_off;
+extern void numa_add_cpu(unsigned int cpu);
+extern void numa_init_array(void);
+extern void numa_set_node(unsigned int cpu, nodeid_t node);
+extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
+extern int  numa_scan_nodes(paddr_t start, paddr_t end);
+
+extern int arch_numa_setup(const char *opt);
+extern bool arch_numa_disabled(bool init_as_disable);
+extern void setup_node_bootmem(nodeid_t nodeid, paddr_t start, paddr_t end);
+
+static inline void clear_node_cpumask(unsigned int cpu)
+{
+    cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
+}
+
+/* Simple perfect hash to map pdx to node numbers */
+extern unsigned int memnode_shift;
+extern unsigned long memnodemapsize;
+extern uint8_t *memnodemap;
+
+struct node_data {
+    unsigned long node_start_pfn;
+    unsigned long node_spanned_pages;
+};
+
+extern struct node_data node_data[];
+
+static inline __attribute_pure__ nodeid_t phys_to_nid(paddr_t addr)
+{
+    nodeid_t nid;
+    VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
+    nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
+    VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
+    return nid;
+}
+
+#define NODE_DATA(nid)          (&(node_data[nid]))
+
+#define node_start_pfn(nid)     (NODE_DATA(nid)->node_start_pfn)
+#define node_spanned_pages(nid) (NODE_DATA(nid)->node_spanned_pages)
+#define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
+                                NODE_DATA(nid)->node_spanned_pages)
+
+#endif
+
 #endif /* _XEN_NUMA_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:59:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:59:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391102.628845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxfI-0006nL-Sb; Mon, 22 Aug 2022 02:59:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391102.628845; Mon, 22 Aug 2022 02:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxfI-0006nC-OE; Mon, 22 Aug 2022 02:59:48 +0000
Received: by outflank-mailman (input) for mailman id 391102;
 Mon, 22 Aug 2022 02:59:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=t9b2=Y2=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oPxfG-0005Ul-Th
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 02:59:47 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2058.outbound.protection.outlook.com [40.107.104.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79551ff1-21c6-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 04:59:44 +0200 (CEST)
Received: from AS9PR06CA0679.eurprd06.prod.outlook.com (2603:10a6:20b:49c::23)
 by DB9PR08MB8436.eurprd08.prod.outlook.com (2603:10a6:10:3d4::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Mon, 22 Aug
 2022 02:59:40 +0000
Received: from AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:49c:cafe::7a) by AS9PR06CA0679.outlook.office365.com
 (2603:10a6:20b:49c::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT029.mail.protection.outlook.com (100.127.140.143) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:39 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Mon, 22 Aug 2022 02:59:39 +0000
Received: from eb0c16658fa5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5939F284-5EE9-4BF2-931F-73790550EBA5.1; 
 Mon, 22 Aug 2022 02:59:32 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id eb0c16658fa5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 02:59:32 +0000
Received: from DB6P191CA0014.EURP191.PROD.OUTLOOK.COM (2603:10a6:6:28::24) by
 AM6PR08MB4674.eurprd08.prod.outlook.com (2603:10a6:20b:c7::16) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.19; Mon, 22 Aug 2022 02:59:29 +0000
Received: from DBAEUR03FT064.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:28:cafe::4f) by DB6P191CA0014.outlook.office365.com
 (2603:10a6:6:28::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:29 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DBAEUR03FT064.mail.protection.outlook.com (100.127.143.3) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:28 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Mon, 22 Aug
 2022 02:59:27 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.86) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79551ff1-21c6-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mleWoDmrVNRd4Yd2K5nHyN3ml0ecwh40zYe98TT3ayIliYEzVcTdf4juQnQJOUeujVNSMz2Yr9KWOsB4WJAi4pJxBHiNjRBRLIaiSqm3W9OjfctYruIg7rqSmkzvgmgOLLXT1KorIr5wYfaQv78jtw+yct1iPamBpygVTxegPI2/Evv1l1ZRtSgDNk5QwAJsxXtjzu6jKX7pKt2gBZ2TUCgaxTcPDcRtY/O5QkuFhIzAb+nsT0TeClNziCxXsRFZar7NcHDsQKNA6dzg4kO7LoYpdzmX8Amu6MCuNBTO3R8VondnJuSlXBu3mdVRsr+9XO2tLO0+iC8Y0FDlrdIESw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/VIRTJghwmtHmw2M8Zc2MlGMRRcSAmOUEJcgJOUC368=;
 b=cKnykkA8xP+DiPFioGgpWRZhUs0kctdX82+ATDhUxw0zz7Xx9b2mAe87Afh3hyIDwex89N4VkfhUt/9GODLYLAXagXLdkAvn8/EeOYOuXOEN7CSPbryxuCRYFxJT+Rme7C/1aSzfN7jHcY3NtnF6WYF/FX1IAJYDA14aGi7wUVbRTplA3t6CuKTZ4a1rlKS0wqTKBZZwe+bOuZGt+5+L9jHdjYSSKFnuUzMCOFhXltnkWCLlfUUyYTchIOxBSTa/QgCQMqRHNpTJ9lXymVWJrEzb1A9W7XQNV6YqBI6kqQBYmWFEDvxe/APn14JPD+n6Fjoir0CAi+T/OMOaFtV8KQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/VIRTJghwmtHmw2M8Zc2MlGMRRcSAmOUEJcgJOUC368=;
 b=qXoAR3XNiibKOxZ/+JTDUtebn27H6DnUFzCUXQ9meIkJI/eFwC6ULh+ok886vDJV+/MIdMFhn+h6ggMorz3O5/V/a0S2XK6r6tTYK6fVishQGF2mQH6idkHetVTVV1r/1FBwLtv/0XQxWCBu5HKITStOm3HBbHQr8qxTqH0xMoA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b5483bcc3e200c83
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=So6XDM7g9Nh2s4hnMw9OHnobW3xGa4UajnNOmF/fv0mxKzcGQG7A1b7DYAkrO5Cp4NwMbiXYgnYAWhXXmFviCe5BRak9OeSziWfofMMxJ08YAjCqGhe8VC5n70NIW1QG9M7XR+r5p5SyHrDsm4WvEgtnhFxyCSaotc7QomAi/1Ki/jsywNBC33o67kQil/c5bwAXLn18vyuTw4qmj8zlRrIIFRROOWe04kVkXQlSJDh2NIHkspR36jM5kfi6HenQ3C377jCUbcr0NKV+SYe8d/SPp7ec1Q2vQ5tQnz+2icseFIMX//2QnXZKw0wXJpesJ/MNJBorWzrSHZFjmrJIiw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/VIRTJghwmtHmw2M8Zc2MlGMRRcSAmOUEJcgJOUC368=;
 b=AzSiiK+SmUkHDjdpAr3+0VR9qCHQ1ooj+qk57xV83kYsz/Iq62PbXN9Omg4FCy1skgRLpM3kUiznSI/igXgyKaHee2eeC/GMURIdv9c0Z+5Os+F5cG4iLsn5n+lXLypT3YmLKEQWUjwSLtmp8xQZ6LbZk7NvxCdhAGCWhMiujvx3aIcfY8k/wTw3ArrhpV4p9CPVQNIyX67xvkleogivjuUDKpk4IY25Y0/ruNnV2DbFlM0yzAoDY+PNF//tkMpW6CgStUt9SSgfS1hho743i+w7UOoU96Qi1J8jb0cvbC3FSXhIxp+rKxllxIosOub+itpBriVpRv8aY8uGPMe7wA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/VIRTJghwmtHmw2M8Zc2MlGMRRcSAmOUEJcgJOUC368=;
 b=qXoAR3XNiibKOxZ/+JTDUtebn27H6DnUFzCUXQ9meIkJI/eFwC6ULh+ok886vDJV+/MIdMFhn+h6ggMorz3O5/V/a0S2XK6r6tTYK6fVishQGF2mQH6idkHetVTVV1r/1FBwLtv/0XQxWCBu5HKITStOm3HBbHQr8qxTqH0xMoA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
From: Wei Chen <wei.chen@arm.com>
To: <xen-devel@lists.xenproject.org>
CC: <nd@arm.com>, Wei Chen <wei.chen@arm.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 5/6] xen/x86: move NUMA scan nodes codes from x86 to common
Date: Mon, 22 Aug 2022 10:58:09 +0800
Message-ID: <20220822025810.2240707-6-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220822025810.2240707-1-wei.chen@arm.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: ad40ea3d-9ede-4d1a-b27c-08da83ea5ae1
X-MS-TrafficTypeDiagnostic:
	AM6PR08MB4674:EE_|AM7EUR03FT029:EE_|DB9PR08MB8436:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 H1FkKHhtAJTMeLGEocTNVbsbIH+MUZ/oXu1BR/byL8hdmY+WQBkVXkF1b0KWaDxpVdpD9JZrmYyoWp3SsZPFsKmDXUebXCTih3c5f6lQwUjTYJQNfqrT2rMRX0bBWRt3/uO6WZdVrJFR2SUVsUgqqFTAi+cruZs8ZOcwZ3/ncYGC/Y6R3hDO8flkprC1tAvYLTN1gTL5BPf0qx5+Ln5pzmZ+OT4iXfJsoGxEDmuch0FVn+0SailuBif0pjQWlaqHF2C/KUGTrqFTBfqZEMz1qKbqHiYtckpSPrrSAP7hZ8csQS8gfUGzp5xuD5/mtweSqJuyfTjoSL7lsDWnCYbDmAc1Nkus4pecA5YXNcmMrBCJCXE1saJMT+vo6sGqYJ5Pa1zWBgnqXyD4nngt29H7Kj39zCxvISxg0H6j+KY/CePBFnkONBgX/L2NFAe88UXsG6xJKZ7kOrD8Yltj7cVcvHS6HJ8m/7WwMwZ5R8IxfYKGhxfett0McwfJ35jOxjIKG5XZgYrgUEEa3sWVco3iIaAoEGr88vaE5o/jfzKkdmHPE3pSme37r6ZIDa6VL8rmTGrnVFi4a13kCqT6VEpZS1GJqGoekbrjZJe5zCBSZOROV3x0VMbDHWZZSTwOxxFU3VSsm0Ts1WsXh0WNn8+0UK3QHtnrKYxtdYS4qxfCzWug6sMoKL6lIbqLnRLwhAo5OV5AeyGmquEFd1Cs+D6P7a7Zkpbsle2UGdTkNsallfDbUS0ngweTm4cHdi3BBzdUdZraPxNfUC1hjzutRzYi3BN3/VQolUgZDGuLxAbyLi827wyH/BYZBAPG98sddyz7
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(136003)(396003)(39850400004)(40470700004)(36840700001)(46966006)(40480700001)(36860700001)(6916009)(54906003)(36756003)(82310400005)(81166007)(82740400003)(316002)(478600001)(26005)(2906002)(30864003)(40460700003)(8676002)(4326008)(70206006)(70586007)(6666004)(44832011)(7696005)(356005)(1076003)(2616005)(426003)(336012)(47076005)(83380400001)(41300700001)(5660300002)(8936002)(186003)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4674
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9d85791e-4c7d-41d5-3867-08da83ea544c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EIl3cI0/GsIVtJ1k3YRxVBAMhJ0GTNPi16n2gj9tsewXD3FZKqqigvdjgeeSHWXMWFqQpIq9MWWKv78tLARwc/b9dM0ROuPyfJ4nG6VeI6WdU2C0jpOqAaWmSzxwRWtGbHvmqHHxIh0puidZZtZFFHBf3cJRXg53yMV38beU8CNBcEN0CzZ5Dc+ApgiI5JPnDNfSjwZTf3cACoSh5eyfMjrRBoQD1c/REoq33axBx8g4qio5x60/lWWIdJLsY15rAxBSI5V32SBnCcU00y2vQTkVErxpivKab2AXTrJKXDjnk9VUQmE/TLBk6RGg/GbLKKDRS2nK7q30/TpJ/EBhNsGZL4wkiqa4tzgfthUalaSsgAzAgJx2lgOB+xlPC7H9EPGTRqIH87agvUmZi6Sy+1EqDYXdMYCP4ifBS6O2TY7VDAdo15jhB9lujFU4F4brynBcbDz2tFJmfx/6Cd/Xbe26FIy64scoRxlcDps1u4d+PM3ITzs6PWQZFm5DaJ2IgrZdUzbug/6R15SLlc7ygaygGEVqOGZXNaVOxBIFAD7HqufLshLG/vFpDSBCOkTg8T/EtZfDRiYOfTIFk3lW858IlnsEkG6Ep+IrXBxPTxIk0gIFNDq4DzUTA2PWufeiJAuuPaosm1BXHI58ZU2IV10xYbuZIyuhpt/+OHtiU98ssmt4uGRgzRnxpbq7vsCQiZemoD3cvzSLVz3a2BWldxVocO7sUaIqQn8yKGEt24hOOixMLpSmZt8KNAojv8bx
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39850400004)(136003)(376002)(396003)(346002)(36840700001)(46966006)(2906002)(4326008)(8676002)(82310400005)(8936002)(5660300002)(44832011)(30864003)(70586007)(70206006)(40480700001)(107886003)(36756003)(7696005)(6666004)(26005)(186003)(336012)(47076005)(2616005)(1076003)(478600001)(41300700001)(426003)(81166007)(82740400003)(36860700001)(86362001)(83380400001)(54906003)(316002)(6916009);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 02:59:39.5735
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ad40ea3d-9ede-4d1a-b27c-08da83ea5ae1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8436

x86 has implemented a set of codes to scan NUMA nodes. These
codes will parse NUMA memory and processor information from
ACPI SRAT table. But except some ACPI specific codes, most
of the scan codes like memory blocks validation, node memory
range updates and some sanity check can be reused by other
NUMA implementation.

So in this patch, we move some variables and related functions
for NUMA memory and processor to common as library. At the
same time, numa_set_processor_nodes_parsed has been introduced
for ACPI specific code to update processor parsing results.
With this helper, we can reuse most of NUMA memory affinity init
code from ACPI. As bad_srat and node_to_pxm functions have been
used in common code to do architectural fallback and node to
architectural node info translation. But it doesn't make sense
to reuse the functions names in common code, we have rename them
to neutral names as well.

PXM is an ACPI specific item, we can't use it in common code
directly. As an alternative, we extend the parameters of
numa_update_node_memblks. The caller can pass the PXM as print
messages' prefix or as architectural node id. In this case, we
do not need to retain a lot of per-arch code but still can print
architectural log messages for different NUMA implementations.

mem_hotplug also has been accessing by common code, except x86,
other architectures like Arm will also want to implement memory
hotplug in future. We export mem_hotplug to common will not bring
any harm for Arm and we also can reduce some per-arch helpers to
access mem_hotplug.

As asm/acpi.h has been removed from common/numa.c, we have to
move NR_NODE_MEMBLKS from asm/acpi.h to xen/numa.h in this patch
as well.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v2 -> v3:
1. Add __ro_after_init to proper variables.
2. Rename bad_srat to numa_fw_bad.
3. Rename node_to_pxm to numa_node_to_arch_nid.
4. Merge patch#7 and #8 into this patch.
5. Correct int to unsigned int in proper places.
6. Move NR_NODE_MEMBLKS from x86/acpi.h to common/numa.h
7. Drop helpers to access mem_hotplug, we export mem_hotplug
   from x86/mm.c to common/page_alloc.c
v1 -> v2:
1. Add code comment for numa_update_node_memblks to explain:
   Assumes all memory regions belonging to a single node
   are in one chunk. Holes between them will be included
   in the node.
2. Merge this single patch instead of serval patches to move
   x86 SRAT code to common.
3. Export node_to_pxm to keep pxm information in NUMA scan
   nodes error messages.
4. Change the code style to target file's Xen code-style.
5. Adjust some __init and __initdata for some functions and
   variables.
6. Merge two patches into this patch:
   1. replace CONFIG_ACPI_NUMA by CONFIG_NUMA.
   2. replace "SRAT" texts.
7. Turn numa_scan_nodes to static.
---
 xen/arch/x86/include/asm/acpi.h |   1 -
 xen/arch/x86/include/asm/mm.h   |   2 -
 xen/arch/x86/include/asm/numa.h |   3 +-
 xen/arch/x86/mm.c               |   2 -
 xen/arch/x86/srat.c             | 311 +++----------------------------
 xen/common/numa.c               | 317 ++++++++++++++++++++++++++++++++
 xen/common/page_alloc.c         |   2 +
 xen/include/xen/mm.h            |   2 +
 xen/include/xen/numa.h          |  11 +-
 9 files changed, 357 insertions(+), 294 deletions(-)

diff --git a/xen/arch/x86/include/asm/acpi.h b/xen/arch/x86/include/asm/acpi.h
index 5c2dd5da2d..c453450a74 100644
--- a/xen/arch/x86/include/asm/acpi.h
+++ b/xen/arch/x86/include/asm/acpi.h
@@ -102,7 +102,6 @@ extern unsigned long acpi_wakeup_address;
 #define ARCH_HAS_POWER_INIT	1
 
 extern s8 acpi_numa;
-#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
 
 extern struct acpi_sleep_info acpi_sinfo;
 #define acpi_video_flags bootsym(video_flags)
diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index 0fc826de46..95ff71a83a 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -474,8 +474,6 @@ static inline int get_page_and_type(struct page_info *page,
     ASSERT(((_p)->count_info & PGC_count_mask) != 0);          \
     ASSERT(page_get_owner(_p) == (_d))
 
-extern paddr_t mem_hotplug;
-
 /******************************************************************************
  * With shadow pagetables, the different kinds of address start
  * to get get confusing.
diff --git a/xen/arch/x86/include/asm/numa.h b/xen/arch/x86/include/asm/numa.h
index 6c87942d43..2ca3475271 100644
--- a/xen/arch/x86/include/asm/numa.h
+++ b/xen/arch/x86/include/asm/numa.h
@@ -10,6 +10,7 @@ typedef u8 nodeid_t;
 extern int srat_rev;
 
 extern nodeid_t pxm_to_node(unsigned int pxm);
+extern unsigned int numa_node_to_arch_nid(nodeid_t n);
 
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
 
@@ -22,8 +23,6 @@ extern void init_cpu_to_node(void);
 
 #define arch_want_default_dmazone() (num_online_nodes() > 1)
 
-extern int valid_numa_range(paddr_t start, paddr_t end, nodeid_t node);
-
 void srat_parse_regions(paddr_t addr);
 extern u8 __node_distance(nodeid_t a, nodeid_t b);
 unsigned int arch_get_dma_bitsize(void);
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index db1817b691..68f9989e1f 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -157,8 +157,6 @@ l1_pgentry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
 l1_pgentry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
     l1_fixmap_x[L1_PAGETABLE_ENTRIES];
 
-paddr_t __read_mostly mem_hotplug;
-
 /* Frame table size in pages. */
 unsigned long max_page;
 unsigned long total_pages;
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 6bebfb344f..b6ffde4401 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -24,10 +24,6 @@
 
 static struct acpi_table_slit *__read_mostly acpi_slit;
 
-static nodemask_t memory_nodes_parsed __initdata;
-static nodemask_t processor_nodes_parsed __initdata;
-static struct node nodes[MAX_NUMNODES] __initdata;
-
 struct pxm2node {
 	unsigned pxm;
 	nodeid_t node;
@@ -35,19 +31,6 @@ struct pxm2node {
 static struct pxm2node __read_mostly pxm2node[MAX_NUMNODES] =
 	{ [0 ... MAX_NUMNODES - 1] = {.node = NUMA_NO_NODE} };
 
-static unsigned node_to_pxm(nodeid_t n);
-
-static int num_node_memblks;
-static struct node node_memblk_range[NR_NODE_MEMBLKS];
-static nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
-static __initdata DECLARE_BITMAP(memblk_hotplug, NR_NODE_MEMBLKS);
-
-enum conflicts {
-	NO_CONFLICT,
-	OVERLAP,
-	INTERLEAVE,
-};
-
 static inline bool node_found(unsigned idx, unsigned pxm)
 {
 	return ((pxm2node[idx].pxm == pxm) &&
@@ -110,78 +93,7 @@ nodeid_t setup_node(unsigned pxm)
 	return node;
 }
 
-int valid_numa_range(paddr_t start, paddr_t end, nodeid_t node)
-{
-	int i;
-
-	for (i = 0; i < num_node_memblks; i++) {
-		struct node *nd = &node_memblk_range[i];
-
-		if (nd->start <= start && nd->end >= end &&
-			memblk_nodeid[i] == node)
-			return 1;
-	}
-
-	return 0;
-}
-
-static
-enum conflicts __init conflicting_memblks(nodeid_t nid, paddr_t start,
-					  paddr_t end, paddr_t nd_start,
-					  paddr_t nd_end, unsigned int *mblkid)
-{
-	unsigned int i;
-
-	/*
-	 * Scan all recorded nodes' memory blocks to check conflicts:
-	 * Overlap or interleave.
-	 */
-	for (i = 0; i < num_node_memblks; i++) {
-		struct node *nd = &node_memblk_range[i];
-
-		*mblkid = i;
-
-		/* Skip 0 bytes node memory block. */
-		if (nd->start == nd->end)
-			continue;
-		/*
-		 * Use memblk range to check memblk overlaps, include the
-		 * self-overlap case. As nd's range is non-empty, the special
-		 * case "nd->end == end && nd->start == start" also can be covered.
-		 */
-		if (nd->end > start && nd->start < end)
-			return OVERLAP;
-
-		/*
-		 * Use node memory range to check whether new range contains
-		 * memory from other nodes - interleave check. We just need
-		 * to check full contains situation. Because overlaps have
-		 * been checked above.
-		 */
-	        if (nid != memblk_nodeid[i] &&
-		    nd->start >= nd_start && nd->end <= nd_end)
-			return INTERLEAVE;
-	}
-
-	return NO_CONFLICT;
-}
-
-static __init void cutoff_node(int i, paddr_t start, paddr_t end)
-{
-	struct node *nd = &nodes[i];
-	if (nd->start < start) {
-		nd->start = start;
-		if (nd->end < nd->start)
-			nd->start = nd->end;
-	}
-	if (nd->end > end) {
-		nd->end = end;
-		if (nd->start > nd->end)
-			nd->start = nd->end;
-	}
-}
-
-static __init void bad_srat(void)
+void __init numa_fw_bad(void)
 {
 	int i;
 	printk(KERN_ERR "SRAT: SRAT not used.\n");
@@ -241,7 +153,7 @@ acpi_numa_x2apic_affinity_init(const struct acpi_srat_x2apic_cpu_affinity *pa)
 	if (numa_disabled())
 		return;
 	if (pa->header.length < sizeof(struct acpi_srat_x2apic_cpu_affinity)) {
-		bad_srat();
+		numa_fw_bad();
 		return;
 	}
 	if (!(pa->flags & ACPI_SRAT_CPU_ENABLED))
@@ -254,12 +166,12 @@ acpi_numa_x2apic_affinity_init(const struct acpi_srat_x2apic_cpu_affinity *pa)
 	pxm = pa->proximity_domain;
 	node = setup_node(pxm);
 	if (node == NUMA_NO_NODE) {
-		bad_srat();
+		numa_fw_bad();
 		return;
 	}
 
 	apicid_to_node[pa->apic_id] = node;
-	node_set(node, processor_nodes_parsed);
+	numa_set_processor_nodes_parsed(node);
 	acpi_numa = 1;
 
 	if (opt_acpi_verbose)
@@ -277,7 +189,7 @@ acpi_numa_processor_affinity_init(const struct acpi_srat_cpu_affinity *pa)
 	if (numa_disabled())
 		return;
 	if (pa->header.length != sizeof(struct acpi_srat_cpu_affinity)) {
-		bad_srat();
+		numa_fw_bad();
 		return;
 	}
 	if (!(pa->flags & ACPI_SRAT_CPU_ENABLED))
@@ -290,11 +202,11 @@ acpi_numa_processor_affinity_init(const struct acpi_srat_cpu_affinity *pa)
 	}
 	node = setup_node(pxm);
 	if (node == NUMA_NO_NODE) {
-		bad_srat();
+		numa_fw_bad();
 		return;
 	}
 	apicid_to_node[pa->apic_id] = node;
-	node_set(node, processor_nodes_parsed);
+	numa_set_processor_nodes_parsed(node);
 	acpi_numa = 1;
 
 	if (opt_acpi_verbose)
@@ -306,32 +218,28 @@ acpi_numa_processor_affinity_init(const struct acpi_srat_cpu_affinity *pa)
 void __init
 acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
 {
-	struct node *nd;
-	paddr_t nd_start, nd_end;
-	paddr_t start, end;
 	unsigned pxm;
 	nodeid_t node;
-	unsigned int i;
+	int ret;
 
 	if (numa_disabled())
 		return;
 	if (ma->header.length != sizeof(struct acpi_srat_mem_affinity)) {
-		bad_srat();
+		numa_fw_bad();
 		return;
 	}
 	if (!(ma->flags & ACPI_SRAT_MEM_ENABLED))
 		return;
 
-	start = ma->base_address;
-	end = start + ma->length;
 	/* Supplement the heuristics in l1tf_calculations(). */
-	l1tf_safe_maddr = max(l1tf_safe_maddr, ROUNDUP(end, PAGE_SIZE));
+	l1tf_safe_maddr = max(l1tf_safe_maddr,
+			      ROUNDUP(ma->base_address + ma->length,
+			      PAGE_SIZE));
 
-	if (num_node_memblks >= NR_NODE_MEMBLKS)
-	{
+	if (!numa_memblks_available()) {
 		dprintk(XENLOG_WARNING,
-                "Too many numa entry, try bigger NR_NODE_MEMBLKS \n");
-		bad_srat();
+			"Too many numa entries, try bigger NR_NODE_MEMBLKS!\n");
+		numa_fw_bad();
 		return;
 	}
 
@@ -340,134 +248,15 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
 		pxm &= 0xff;
 	node = setup_node(pxm);
 	if (node == NUMA_NO_NODE) {
-		bad_srat();
-		return;
-	}
-
-	/*
-	 * For the node that already has some memory blocks, we will
-	 * expand the node memory range temporarily to check memory
-	 * interleaves with other nodes. We will not use this node
-	 * temp memory range to check overlaps, because it will mask
-	 * the overlaps in same node.
-	 *
-	 * Node with 0 bytes memory doesn't need this expandsion.
-	 */
-	nd_start = start;
-	nd_end = end;
-	nd = &nodes[node];
-	if (nd->start != nd->end) {
-		if (nd_start > nd->start)
-			nd_start = nd->start;
-
-		if (nd_end < nd->end)
-			nd_end = nd->end;
-	}
-
-	/* It is fine to add this area to the nodes data it will be used later*/
-	switch (conflicting_memblks(node, start, end, nd_start, nd_end, &i)) {
-	case OVERLAP:
-		if (memblk_nodeid[i] == node) {
-			bool mismatch = !(ma->flags &
-					  ACPI_SRAT_MEM_HOT_PLUGGABLE) !=
-			                !test_bit(i, memblk_hotplug);
-
-			printk("%sSRAT: PXM %u [%"PRIpaddr", %"PRIpaddr"] overlaps with itself [%"PRIpaddr", %"PRIpaddr"]\n",
-			       mismatch ? KERN_ERR : KERN_WARNING, pxm, start,
-			       end - 1, node_memblk_range[i].start,
-			       node_memblk_range[i].end - 1);
-			if (mismatch) {
-				bad_srat();
-				return;
-			}
-			break;
-		}
-
-		printk(KERN_ERR
-		       "SRAT: PXM %u [%"PRIpaddr", %"PRIpaddr"] overlaps with PXM %u [%"PRIpaddr", %"PRIpaddr"]\n",
-		       pxm, start, end - 1, node_to_pxm(memblk_nodeid[i]),
-		       node_memblk_range[i].start,
-		       node_memblk_range[i].end - 1);
-		bad_srat();
-		return;
-
-	case INTERLEAVE:
-		printk(KERN_ERR
-		       "SRATï¼š PXM %u: [%"PRIpaddr", %"PRIpaddr"] interleaves with PXM %u memblk [%"PRIpaddr", %"PRIpaddr"]\n",
-		       pxm, nd_start, nd_end - 1, node_to_pxm(memblk_nodeid[i]),
-		       node_memblk_range[i].start, node_memblk_range[i].end - 1);
-		bad_srat();
+		numa_fw_bad();
 		return;
-
-	case NO_CONFLICT:
-		break;
 	}
 
-	if (!(ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE)) {
-		node_set(node, memory_nodes_parsed);
-		nd->start = nd_start;
-		nd->end = nd_end;
-	}
-
-	printk(KERN_INFO "SRAT: Node %u PXM %u [%"PRIpaddr", %"PRIpaddr"]%s\n",
-	       node, pxm, start, end - 1,
-	       ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE ? " (hotplug)" : "");
-
-	node_memblk_range[num_node_memblks].start = start;
-	node_memblk_range[num_node_memblks].end = end;
-	memblk_nodeid[num_node_memblks] = node;
-	if (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) {
-		__set_bit(num_node_memblks, memblk_hotplug);
-		if (end > mem_hotplug)
-			mem_hotplug = end;
-	}
-	num_node_memblks++;
-}
-
-/* Sanity check to catch more bad SRATs (they are amazingly common).
-   Make sure the PXMs cover all memory. */
-static int __init nodes_cover_memory(void)
-{
-	unsigned int i;
-
-	for (i = 0; ; i++) {
-		int j, found;
-		paddr_t start, end;
-
-		/* Try to loop memory map from index 0 to end to get RAM ranges. */
-		found = arch_get_ram_range(i, &start, &end);
-
-		/* Index relate entry is not RAM, skip it. */
-		if (found == -EINVAL)
-			continue;
-
-		/* Reach the end of arch's memory map */
-		if (found == -ENOENT)
-			break;
-
-		do {
-			found = 0;
-			for_each_node_mask(j, memory_nodes_parsed)
-				if (start < nodes[j].end
-				    && end > nodes[j].start) {
-					if (start >= nodes[j].start) {
-						start = nodes[j].end;
-						found = 1;
-					}
-					if (end <= nodes[j].end) {
-						end = nodes[j].start;
-						found = 1;
-					}
-				}
-		} while (found && start < end);
-
-		if (start < end) {
-			printk(KERN_ERR "NUMA: No NODE for RAM range: "
-				"[%"PRIpaddr", %"PRIpaddr"]\n", start, end - 1);
-			return 0;
-		}
-	}
-	return 1;
+	ret = numa_update_node_memblks(node, pxm, ma->base_address,
+				       ma->length, "PXM",
+				       ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE);
+	if (ret)
+		numa_fw_bad();
 }
 
 void __init acpi_numa_arch_fixup(void) {}
@@ -523,59 +312,9 @@ void __init srat_parse_regions(paddr_t addr)
 	pfn_pdx_hole_setup(mask >> PAGE_SHIFT);
 }
 
-/* Use the information discovered above to actually set up the nodes. */
-int __init numa_scan_nodes(paddr_t start, paddr_t end)
-{
-	int i;
-	nodemask_t all_nodes_parsed;
-
-	/* First clean up the node list */
-	for (i = 0; i < MAX_NUMNODES; i++)
-		cutoff_node(i, start, end);
-
-	if (acpi_numa <= 0)
-		return -1;
-
-	if (!nodes_cover_memory()) {
-		bad_srat();
-		return -1;
-	}
-
-	memnode_shift = compute_hash_shift(node_memblk_range, num_node_memblks,
-				memblk_nodeid);
-
-	if (memnode_shift < 0) {
-		printk(KERN_ERR
-		     "SRAT: No NUMA node hash function found. Contact maintainer\n");
-		bad_srat();
-		return -1;
-	}
-
-	nodes_or(all_nodes_parsed, memory_nodes_parsed, processor_nodes_parsed);
-
-	/* Finally register nodes */
-	for_each_node_mask(i, all_nodes_parsed)
-	{
-		uint64_t size = nodes[i].end - nodes[i].start;
-
-		if ( size == 0 )
-			printk(KERN_INFO "SRAT: node %u has no memory\n", i);
-
-		setup_node_bootmem(i, nodes[i].start, nodes[i].end);
-	}
-	for (i = 0; i < nr_cpu_ids; i++) {
-		if (cpu_to_node[i] == NUMA_NO_NODE)
-			continue;
-		if (!nodemask_test(cpu_to_node[i], &processor_nodes_parsed))
-			numa_set_node(i, NUMA_NO_NODE);
-	}
-	numa_init_array();
-	return 0;
-}
-
-static unsigned node_to_pxm(nodeid_t n)
+unsigned int numa_node_to_arch_nid(nodeid_t n)
 {
-	unsigned i;
+	unsigned int i;
 
 	if ((n < ARRAY_SIZE(pxm2node)) && (pxm2node[n].node == n))
 		return pxm2node[n].pxm;
@@ -592,8 +331,8 @@ u8 __node_distance(nodeid_t a, nodeid_t b)
 
 	if (!acpi_slit)
 		return a == b ? 10 : 20;
-	index = acpi_slit->locality_count * node_to_pxm(a);
-	slit_val = acpi_slit->entry[index + node_to_pxm(b)];
+	index = acpi_slit->locality_count * numa_node_to_arch_nid(a);
+	slit_val = acpi_slit->entry[index + numa_node_to_arch_nid(b)];
 
 	/* ACPI defines 0xff as an unreachable node and 0-9 are undefined */
 	if ((slit_val == 0xff) || (slit_val <= 9))
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 0bc5113753..3b8b475af7 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -13,6 +13,21 @@
 #include <xen/sched.h>
 #include <xen/softirq.h>
 
+static nodemask_t __initdata processor_nodes_parsed;
+static nodemask_t __initdata memory_nodes_parsed;
+static struct node __initdata nodes[MAX_NUMNODES];
+
+static int __ro_after_init num_node_memblks;
+static struct node __ro_after_init node_memblk_range[NR_NODE_MEMBLKS];
+static nodeid_t __ro_after_init memblk_nodeid[NR_NODE_MEMBLKS];
+static __initdata DECLARE_BITMAP(memblk_hotplug, NR_NODE_MEMBLKS);
+
+enum conflicts {
+    NO_CONFLICT,
+    OVERLAP,
+    INTERLEAVE,
+};
+
 struct node_data __ro_after_init node_data[MAX_NUMNODES];
 
 /* Mapping from pdx to node id */
@@ -36,6 +51,308 @@ bool numa_disabled(void)
     return numa_off || arch_numa_disabled(false);
 }
 
+void __init numa_set_processor_nodes_parsed(nodeid_t node)
+{
+    node_set(node, processor_nodes_parsed);
+}
+
+unsigned int valid_numa_range(paddr_t start, paddr_t end, nodeid_t node)
+{
+    unsigned int i;
+
+    for ( i = 0; i < num_node_memblks; i++ )
+    {
+        struct node *nd = &node_memblk_range[i];
+
+        if ( nd->start <= start && nd->end >= end &&
+             memblk_nodeid[i] == node )
+            return 1;
+    }
+
+    return 0;
+}
+
+static
+enum conflicts __init conflicting_memblks(nodeid_t nid, paddr_t start,
+                                          paddr_t end, paddr_t nd_start,
+                                          paddr_t nd_end, unsigned int *mblkid)
+{
+    unsigned int i;
+
+    /*
+     * Scan all recorded nodes' memory blocks to check conflicts:
+     * Overlap or interleave.
+     */
+    for ( i = 0; i < num_node_memblks; i++ )
+    {
+        struct node *nd = &node_memblk_range[i];
+
+        *mblkid = i;
+
+        /* Skip 0 bytes node memory block. */
+        if ( nd->start == nd->end )
+            continue;
+        /*
+         * Use memblk range to check memblk overlaps, include the
+         * self-overlap case. As nd's range is non-empty, the special
+         * case "nd->end == end && nd->start == start" also can be covered.
+         */
+        if ( nd->end > start && nd->start < end )
+            return OVERLAP;
+
+        /*
+         * Use node memory range to check whether new range contains
+         * memory from other nodes - interleave check. We just need
+         * to check full contains situation. Because overlaps have
+         * been checked above.
+         */
+        if ( nid != memblk_nodeid[i] &&
+             nd->start >= nd_start && nd->end <= nd_end )
+            return INTERLEAVE;
+    }
+
+    return NO_CONFLICT;
+}
+
+static void __init cutoff_node(nodeid_t i, paddr_t start, paddr_t end)
+{
+    struct node *nd = &nodes[i];
+
+    if ( nd->start < start )
+    {
+        nd->start = start;
+        if ( nd->end < nd->start )
+            nd->start = nd->end;
+    }
+
+    if ( nd->end > end )
+    {
+        nd->end = end;
+        if ( nd->start > nd->end )
+            nd->start = nd->end;
+    }
+}
+
+bool __init numa_memblks_available(void)
+{
+    return num_node_memblks < NR_NODE_MEMBLKS;
+}
+
+/*
+ * This function will be called by NUMA memory affinity initialization to
+ * update NUMA node's memory range. In this function, we assume all memory
+ * regions belonging to a single node are in one chunk. Holes (or MMIO
+ * ranges) between them will be included in the node.
+ *
+ * So in numa_update_node_memblks, if there are multiple banks for each
+ * node, start and end are stretched to cover the holes between them, and
+ * it works as long as memory banks of different NUMA nodes don't interleave.
+ */
+int __init numa_update_node_memblks(nodeid_t node, unsigned int arch_nid,
+                                    paddr_t start, paddr_t size,
+                                    const char *prefix,
+                                    bool hotplug)
+{
+    unsigned int i;
+    paddr_t end = start + size;
+    paddr_t nd_start = start;
+    paddr_t nd_end = end;
+    struct node *nd = &nodes[node];
+
+    /*
+     * For the node that already has some memory blocks, we will
+     * expand the node memory range temporarily to check memory
+     * interleaves with other nodes. We will not use this node
+     * temp memory range to check overlaps, because it will mask
+     * the overlaps in same node.
+     *
+     * Node with 0 bytes memory doesn't need this expandsion.
+     */
+    if ( nd->start != nd->end )
+    {
+        if ( nd_start > nd->start )
+            nd_start = nd->start;
+
+        if ( nd_end < nd->end )
+            nd_end = nd->end;
+    }
+
+    /* It is fine to add this area to the nodes data it will be used later*/
+    switch ( conflicting_memblks(node, start, end, nd_start, nd_end, &i) )
+    {
+    case OVERLAP:
+        if ( memblk_nodeid[i] == node )
+        {
+            bool mismatch = !(hotplug) != !test_bit(i, memblk_hotplug);
+
+            printk("%sNUMA: %s %u [%"PRIpaddr", %"PRIpaddr"] overlaps with itself [%"PRIpaddr", %"PRIpaddr"]\n",
+                   mismatch ? KERN_ERR : KERN_WARNING, prefix,
+                   arch_nid, start, end - 1,
+                   node_memblk_range[i].start, node_memblk_range[i].end - 1);
+            if ( mismatch )
+                return -EINVAL;
+            break;
+        }
+
+        printk(KERN_ERR
+               "NUMA: %s %u [%"PRIpaddr", %"PRIpaddr"] overlaps with %s %u [%"PRIpaddr", %"PRIpaddr"]\n",
+               prefix, arch_nid, start, end - 1, prefix,
+               numa_node_to_arch_nid(memblk_nodeid[i]),
+               node_memblk_range[i].start, node_memblk_range[i].end - 1);
+        return -EINVAL;
+
+
+    case INTERLEAVE:
+        printk(KERN_ERR
+               "NUMAï¼š %s %u: [%"PRIpaddr", %"PRIpaddr"] interleaves with %s %u memblk [%"PRIpaddr", %"PRIpaddr"]\n",
+               prefix, arch_nid, nd_start, nd_end - 1,
+               prefix, numa_node_to_arch_nid(memblk_nodeid[i]),
+               node_memblk_range[i].start, node_memblk_range[i].end - 1);
+        return -EINVAL;
+
+    case NO_CONFLICT:
+        break;
+    }
+
+    if ( !hotplug )
+    {
+        node_set(node, memory_nodes_parsed);
+        nd->start = nd_start;
+        nd->end = nd_end;
+    }
+
+    if ( strcasecmp("Node", prefix) )
+        printk(KERN_INFO "NUMA: Node %u %s %u [%"PRIpaddr", %"PRIpaddr"]%s\n",
+               node, prefix, arch_nid, start, end - 1,
+               hotplug ? " (hotplug)" : "");
+    else
+        printk(KERN_INFO "NUMA: Node %u [%"PRIpaddr", %"PRIpaddr"]%s\n",
+               node, start, end - 1, hotplug ? " (hotplug)" : "");
+
+    node_memblk_range[num_node_memblks].start = start;
+    node_memblk_range[num_node_memblks].end = end;
+    memblk_nodeid[num_node_memblks] = node;
+    if ( hotplug )
+    {
+        __set_bit(num_node_memblks, memblk_hotplug);
+        if ( end > mem_hotplug )
+            mem_hotplug = end;
+    }
+    num_node_memblks++;
+
+    return 0;
+}
+
+/*
+ * Sanity check to catch more bad SRATs (they are amazingly common).
+ * Make sure the PXMs cover all memory.
+ */
+static int __init nodes_cover_memory(void)
+{
+    unsigned int i;
+
+    for ( i = 0; ; i++ )
+    {
+        int found;
+        nodeid_t j;
+        paddr_t start, end;
+
+        /* Try to loop memory map from index 0 to end to get RAM ranges. */
+        found = arch_get_ram_range(i, &start, &end);
+
+        /* Index relate entry is not RAM, skip it. */
+        if ( found == -EINVAL )
+            continue;
+
+        /* Reach the end of arch's memory map */
+        if ( found == -ENOENT )
+            break;
+
+        do {
+            found = 0;
+            for_each_node_mask( j, memory_nodes_parsed )
+                if ( start < nodes[j].end
+                    && end > nodes[j].start )
+                {
+                    if ( start >= nodes[j].start )
+                    {
+                        start = nodes[j].end;
+                        found = 1;
+                    }
+
+                    if ( end <= nodes[j].end )
+                    {
+                        end = nodes[j].start;
+                        found = 1;
+                    }
+                }
+        } while ( found && start < end );
+
+        if ( start < end )
+        {
+            printk(KERN_ERR "NUMA: No node for RAM range: "
+                   "[%"PRIpaddr", %"PRIpaddr"]\n", start, end - 1);
+            return 0;
+        }
+    }
+    return 1;
+}
+
+/* Use the information discovered above to actually set up the nodes. */
+static int __init numa_scan_nodes(paddr_t start, paddr_t end)
+{
+    unsigned int i;
+    nodemask_t all_nodes_parsed;
+
+    /* First clean up the node list */
+    for ( i = 0; i < MAX_NUMNODES; i++ )
+        cutoff_node(i, start, end);
+
+    /* When numa is on with good firmware, we can do numa scan nodes. */
+    if ( arch_numa_disabled(true) )
+        return -1;
+
+    if ( !nodes_cover_memory() )
+    {
+        numa_fw_bad();
+        return -1;
+    }
+
+    memnode_shift = compute_hash_shift(node_memblk_range, num_node_memblks,
+                                       memblk_nodeid);
+
+    if ( memnode_shift < 0 )
+    {
+        printk(KERN_ERR
+               "NUMA: No NUMA node hash function found. Contact maintainer\n");
+        numa_fw_bad();
+        return -1;
+    }
+
+    nodes_or(all_nodes_parsed, memory_nodes_parsed, processor_nodes_parsed);
+
+    /* Finally register nodes */
+    for_each_node_mask( i, all_nodes_parsed )
+    {
+        paddr_t size = nodes[i].end - nodes[i].start;
+
+        if ( size == 0 )
+            printk(KERN_INFO "NUMA: node %u has no memory\n", i);
+
+        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
+    }
+
+    for ( i = 0; i < nr_cpu_ids; i++ )
+    {
+        if ( cpu_to_node[i] == NUMA_NO_NODE )
+            continue;
+        if ( !nodemask_test(cpu_to_node[i], &processor_nodes_parsed) )
+            numa_set_node(i, NUMA_NO_NODE);
+    }
+    numa_init_array();
+    return 0;
+}
+
 /*
  * Given a shift value, try to populate memnodemap[]
  * Returns :
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 00fa24e330..641d864774 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -159,6 +159,8 @@
 #define PGT_TYPE_INFO_INITIALIZER 0
 #endif
 
+paddr_t __read_mostly mem_hotplug;
+
 /*
  * Comma-separated list of hexadecimal page numbers containing bad bytes.
  * e.g. 'badpage=0x3f45,0x8a321'.
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 35b065146f..7b5ba5c189 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -58,6 +58,8 @@
 #include <xen/perfc.h>
 #include <public/memory.h>
 
+extern paddr_t mem_hotplug;
+
 struct page_info;
 
 void put_page(struct page_info *);
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index d64006483a..b5c9de24ed 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -11,6 +11,7 @@
 #define NUMA_NO_DISTANCE 0xFF
 
 #define MAX_NUMNODES    (1 << NODES_SHIFT)
+#define NR_NODE_MEMBLKS (MAX_NUMNODES * 2)
 
 #define vcpu_to_node(v) (cpu_to_node((v)->processor))
 
@@ -41,7 +42,7 @@ extern void numa_add_cpu(unsigned int cpu);
 extern void numa_init_array(void);
 extern void numa_set_node(unsigned int cpu, nodeid_t node);
 extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
-extern int  numa_scan_nodes(paddr_t start, paddr_t end);
+extern void numa_fw_bad(void);
 
 extern int arch_numa_setup(const char *opt);
 extern bool arch_numa_disabled(bool init_as_disable);
@@ -82,6 +83,14 @@ static inline __attribute_pure__ nodeid_t phys_to_nid(paddr_t addr)
 
 extern int arch_get_ram_range(unsigned int idx,
                               paddr_t *start, paddr_t *end);
+extern unsigned int valid_numa_range(paddr_t start, paddr_t end,
+                                     nodeid_t node);
+extern bool numa_memblks_available(void);
+extern int numa_update_node_memblks(nodeid_t node, unsigned int arch_nid,
+                                    paddr_t start, paddr_t size,
+                                    const char *prefix,
+                                    bool hotplug);
+extern void numa_set_processor_nodes_parsed(nodeid_t node);
 
 #endif
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 02:59:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 02:59:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391103.628856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxfM-0007Ba-CV; Mon, 22 Aug 2022 02:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391103.628856; Mon, 22 Aug 2022 02:59:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPxfM-0007B1-7I; Mon, 22 Aug 2022 02:59:52 +0000
Received: by outflank-mailman (input) for mailman id 391103;
 Mon, 22 Aug 2022 02:59:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=t9b2=Y2=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oPxfK-0005Ul-G9
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 02:59:50 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2045.outbound.protection.outlook.com [40.107.21.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c68fc70-21c6-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 04:59:49 +0200 (CEST)
Received: from AM7PR04CA0002.eurprd04.prod.outlook.com (2603:10a6:20b:110::12)
 by AS8PR08MB7768.eurprd08.prod.outlook.com (2603:10a6:20b:52d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 02:59:43 +0000
Received: from VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:110:cafe::fe) by AM7PR04CA0002.outlook.office365.com
 (2603:10a6:20b:110::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT041.mail.protection.outlook.com (10.152.19.163) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:42 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Mon, 22 Aug 2022 02:59:42 +0000
Received: from e7aeab210a81.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D084C91D-0F7A-4119-8C83-74A196B3F60E.1; 
 Mon, 22 Aug 2022 02:59:36 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e7aeab210a81.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 02:59:36 +0000
Received: from DB6P195CA0021.EURP195.PROD.OUTLOOK.COM (2603:10a6:4:cb::31) by
 PR3PR08MB5611.eurprd08.prod.outlook.com (2603:10a6:102:85::18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.16; Mon, 22 Aug 2022 02:59:32 +0000
Received: from DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:cb:cafe::71) by DB6P195CA0021.outlook.office365.com
 (2603:10a6:4:cb::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:32 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DBAEUR03FT047.mail.protection.outlook.com (100.127.143.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 02:59:31 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Mon, 22 Aug
 2022 02:59:31 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.86) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend
 Transport; Mon, 22 Aug 2022 02:59:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c68fc70-21c6-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=WVXdD2xsOpVipmihx/dXmjVu03+Mo5D8WL07WCQ+SZLZu+fvgNi9WpCjRihbAjMevNpUrSZ6MdwfEfQALipR1yk+uzYyhZgS75gZqMXKV1ngwUT0TYk13SSES3MFufRIQlocibUCIgEWB8em1wZyhnjA7CYD+sU+HMLG+IGqHmIOAxZuVANaskyJjijqRsWlwMvmg9Wh+yBbRtzWqFNLUCGnjSOMmHV2OKhZ80dz7HqxtjZhE8foLCnrBUKr3WgISu6LIw5KLP8rxqtoJhdcD3YEYroX6SybMwEG3mGQCVNaNRGg+sZIo1/b2fAJ2xQaphE/v2ZXrfUG5m1FQH7sCg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yoZMK5PjsMqjXL+DEkyIGxFZ6hqYHaW2vP69im58izw=;
 b=bflcjWhWmOAKgXKJltXLUvJULsLWqJeJGEuTuYa0W0M60J0mL4yaHuhN+zMO6tLo2EyxHGBClFOz64rd9HKjPnBesik7t+xOTm+19+sxEAaKC+BgeMOb+0eYzF7hJAfeBYpXFMFHs25eDaYXFgB4LfpLBrPbdKpv+nXCFJw0VXCy4rmLXuzPtXcLiDGx72FU1viOelw/iY1yIatowS5I08gmrntDr94otgaUxvF6kVK//DV0faLDVuYb8SV3Sj/fWGDysHu8Monlv9ipaEg12HgZ0jb8OJpsdhKb49nyYzDJIWjDHNdTDFYbaGYVIFMynKBVaZZM7qqI/Y20d8V3Zw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yoZMK5PjsMqjXL+DEkyIGxFZ6hqYHaW2vP69im58izw=;
 b=H9C/V5Ped5WK7H1mgHeyK8ZXwFKxXbQvpA9NWozDg4ctzpfUE+kACDuuZYaggdWGjPhSOMKRzpql0COmrtXx8Imvd4xKkbWu/xEBKQ3IA1gEhB+bIoaOz1g+8pMIL/WzlBOuQXAbK0nCU3bjJwJ5OFvgYIfy8ekmKghdqhZ7kKA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e6447027a80cbd64
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=buP/ClAO3ANRUDxcTdnqDEYYvFDlxqWfYda/CfuthUyAZ9eQ+Zk6nD4FEAMlBesgA0gZhRKMk6U+9tV1QWBf/UmOFvZ3A7VnZhrtUSBz/V3hYBLBzluUmwOj9mfwIgxzEAnY3A1lIDzfB3Cdw8LQEOkSLnMpTaeG/2re35holGV7aZyD/cnqplRE2MNSYdj5TR60IOZ+Uq+zu/Ml3kjq760uZpr8LBXtpVTMgB4tDeXU8CtujaVfcoqbnFBmC1zTX/+d9VCH+ix4AGXVqsKSr6b8LagX9JqNHHFX6QZKD8/RHNteRnjxEYVSpuSpNkRWcQxjFJmKZ/m5bMEx6L+Glw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yoZMK5PjsMqjXL+DEkyIGxFZ6hqYHaW2vP69im58izw=;
 b=QHhqT1kaQY7R1xma8gp7h10FHPqCPXK3EONQx9xdxlL2usNsuwWfBberJ5HSYLtSHFqrV8u4hJM16cUpxj6+e+vUAemsAKB+Pm95B1JWwZkP0/PFVKzba5vklOS/9OPqW+gnTE2SrwjlPRYT4MeF86JMS+uxiV6eGAliKF7kubjobbRobtwk5DCUnmuaRdrLM9gq/E04MQqAMwoZcsNV88k3BNc+YqfbUQ72vsM4Fjw30BYkzgF7LZRE1smC2XtbPIrcX52aXuiVkQMO83+341g9FpPA3cuLxW7fSxiEu/Y1DjAXQxR37oNR9Ph6q58QocdCnrVgqsxORsSW0shCbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yoZMK5PjsMqjXL+DEkyIGxFZ6hqYHaW2vP69im58izw=;
 b=H9C/V5Ped5WK7H1mgHeyK8ZXwFKxXbQvpA9NWozDg4ctzpfUE+kACDuuZYaggdWGjPhSOMKRzpql0COmrtXx8Imvd4xKkbWu/xEBKQ3IA1gEhB+bIoaOz1g+8pMIL/WzlBOuQXAbK0nCU3bjJwJ5OFvgYIfy8ekmKghdqhZ7kKA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
From: Wei Chen <wei.chen@arm.com>
To: <xen-devel@lists.xenproject.org>
CC: <nd@arm.com>, Wei Chen <wei.chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 6/6] xen: introduce a Kconfig option to configure NUMA nodes number
Date: Mon, 22 Aug 2022 10:58:10 +0800
Message-ID: <20220822025810.2240707-7-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220822025810.2240707-1-wei.chen@arm.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 267cf3cd-156b-41e0-6b71-08da83ea5ce7
X-MS-TrafficTypeDiagnostic:
	PR3PR08MB5611:EE_|VE1EUR03FT041:EE_|AS8PR08MB7768:EE_
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Sy7X2EJjsqnB0wonvW3D+59KWrZJ/If6lR8OjeRwEhqtdKk2YPYLCiZx8CytV/r+/AZdfIDhXuIhVux8ggt3aMDrsA1Z3qhC5VrD4VXsMexFvnRe2nBTGZRe+HjCQue7CFbOEdNlqphM6TsZWJXq/S/Ndt+1+CVOeJuKS8M6Oi7tStc6eXdneKLxvNCSUJI0qdcfz71PAHeE+VGgPjt0Ja4ryuSDaBNY+Aw1L7LDTu4Vy2ajnRhqrxolXI0hXchBkteqjJRaTf2Y+IwOqyxWSC0bw+Z17n6k1Bt3pZCGJm5JY9LG48V5PydVNt0MmO2u3RzSeYKnWegdRYJ5N6hs5Z6zg5z4BNvTAgY45mdKtn4XzWc7oUF/koeRkyee4AlF0LY23OFChtmgrBfOcFXdNrge1oAbjA61uQhX1ujl1erop/pjeEzF9s/h4MXnDMbirWKeXhl+0VX4PolA8XwM+Og5KXKTc6Gm5U1TnrrVT+hBBhkOBepZXWM0TC9+Ug36m1m8nc1QHbOS6oFEygK/a5WPPd6jcpbq+ExJ5eUn/itd8eXA0P83qntBS8HG3EY4p8GqQGLorVJoiJ+5WRDVkJjhEZdjp02WDR1HEhsvNLMdtvSVuHlCM3L1AH+wMtGgrcAA0qvojc6aSpmBcoXkILlsM8O46/KWuifar2S8NuWlooeEnTG4rkWhWiT7rMTV+HqyUNy7TRs9Q/6/rbtXeED2tiJzF/0yCnJFTxHyy8nEhYuPZtYPqUhT3hlFIVIW1T2HmlRE89VYkatX7I93JGdDPklnqD7RbGGuPel2UKE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(346002)(39850400004)(396003)(40470700004)(36840700001)(46966006)(1076003)(36860700001)(82310400005)(478600001)(186003)(47076005)(336012)(426003)(83380400001)(2906002)(44832011)(5660300002)(36756003)(41300700001)(8936002)(4326008)(356005)(8676002)(81166007)(54906003)(82740400003)(6916009)(70206006)(70586007)(6666004)(7696005)(2616005)(40460700003)(316002)(40480700001)(86362001)(26005)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5611
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ffa2877c-546a-431f-0432-08da83ea5646
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gFYScmya/qTQQNDKRPjWsGpSP/wfCmwZ4gAOgmCWWpubfmtqrkN5iPSrAL/oB+oSCsJWSRGreF8dDnPULyG3Itk76AHYWjp1VOk8eeKRsdT3Sp5ERVvvwHyv1LeZ3tZUoHQv8PnUGTZqltALRsvmAJk8O/21ODheELXZ4xeBSPzeL9wDgkIfehlRer9Sw91fedQMcy9Y92Vb+bCmKzgRZmNLem3MzSgJKFM/wDbGRuwX8bYrzdBUuqN7LGWTv/d9lZSEdFzJll3zLGkj4ZnADrLxw37k7xhHJfi+xcsN1jGxSTz6B9w4nTakoHCNIzSJengzoj1dYDTgCd3HIRjwiRG9XWib73ovG2GgCLhhky0LSSGYqnVz62NmGrqGf/H9xJqb0IW4ddMgg/iJWqq4yx3uxYY510f737+WmpkonsFw4j6/UeQcspjpjKAg/vC+wMCo8fsGfF8r+3wu5t5ZJ6hlghdaIbzckYLjI49s4UG3K36FcGGSnzcsHPTA52C5wOK16oHThdiKcgvYPhYa6nq3FDz6GfIRsYKFLnuLPyzRQQ37ATRyQO5z5ZYOLZaiSRB1gFWVjzNgAyK4WbsVal8MANw9OAd3iBlmNNm6xOrxjsL1dXN8o6ZCNeRCswNSt3CoLoBB3jBHgfWO0Sc4mZjjbSBf4LzHoKFT6mLIfPrc/KWwPvuoaBVPY2RQMafX8Vht7U75F+fpBKz29fAXUziWDkgH7JJ2RKAYCIZQVEg=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(396003)(39850400004)(376002)(46966006)(36840700001)(6666004)(7696005)(107886003)(2906002)(41300700001)(82310400005)(5660300002)(40480700001)(44832011)(478600001)(86362001)(36756003)(26005)(6916009)(54906003)(316002)(4326008)(81166007)(336012)(186003)(1076003)(2616005)(8936002)(8676002)(70206006)(70586007)(36860700001)(426003)(47076005)(83380400001)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 02:59:42.9529
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 267cf3cd-156b-41e0-6b71-08da83ea5ce7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7768

Current NUMA nodes number is a hardcode configuration. This
configuration is difficult for an administrator to change
unless changing the code.

So in this patch, we introduce this new Kconfig option for
administrators to change NUMA nodes number conveniently.
Also considering that not all architectures support NUMA,
this Kconfig option only can be visible on NUMA enabled
architectures. Non-NUMA supported architectures can still
use 1 as MAX_NUMNODES.

As NODES_SHIFT is currently unused, we're taking this
opportunity to remove it.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v2 -> v3:
1. Fix indent.
2. Use 2-64 for node range.
v1 -> v2:
1. Add NODES_SHIFT remove message in commit log
2. Change NR_NUMA_NODES upper bound from 4095 to 255.
---
 xen/arch/Kconfig                | 11 +++++++++++
 xen/arch/x86/include/asm/numa.h |  2 --
 xen/include/xen/numa.h          | 11 ++++++-----
 3 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
index f16eb0df43..7028f7b74f 100644
--- a/xen/arch/Kconfig
+++ b/xen/arch/Kconfig
@@ -17,3 +17,14 @@ config NR_CPUS
 	  For CPU cores which support Simultaneous Multi-Threading or similar
 	  technologies, this the number of logical threads which Xen will
 	  support.
+
+config NR_NUMA_NODES
+	int "Maximum number of NUMA nodes supported"
+	range 2 64
+	default "64"
+	depends on NUMA
+	help
+	  Controls the build-time size of various arrays and bitmaps
+	  associated with multiple-nodes management. It is the upper bound of
+	  the number of NUMA nodes that the scheduler, memory allocation and
+	  other NUMA-aware components can handle.
diff --git a/xen/arch/x86/include/asm/numa.h b/xen/arch/x86/include/asm/numa.h
index 2ca3475271..7866afa408 100644
--- a/xen/arch/x86/include/asm/numa.h
+++ b/xen/arch/x86/include/asm/numa.h
@@ -3,8 +3,6 @@
 
 #include <xen/cpumask.h>
 
-#define NODES_SHIFT 6
-
 typedef u8 nodeid_t;
 
 extern int srat_rev;
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index b5c9de24ed..3363718b02 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -3,14 +3,15 @@
 
 #include <asm/numa.h>
 
-#ifndef NODES_SHIFT
-#define NODES_SHIFT     0
-#endif
-
 #define NUMA_NO_NODE     0xFF
 #define NUMA_NO_DISTANCE 0xFF
 
-#define MAX_NUMNODES    (1 << NODES_SHIFT)
+#ifdef CONFIG_NR_NUMA_NODES
+#define MAX_NUMNODES CONFIG_NR_NUMA_NODES
+#else
+#define MAX_NUMNODES 1
+#endif
+
 #define NR_NODE_MEMBLKS (MAX_NUMNODES * 2)
 
 #define vcpu_to_node(v) (cpu_to_node((v)->processor))
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 04:24:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 04:24:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391155.628867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPyyf-0001Of-I9; Mon, 22 Aug 2022 04:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391155.628867; Mon, 22 Aug 2022 04:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPyyf-0001OY-F9; Mon, 22 Aug 2022 04:23:53 +0000
Received: by outflank-mailman (input) for mailman id 391155;
 Mon, 22 Aug 2022 04:23:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPyye-0001O8-5K; Mon, 22 Aug 2022 04:23:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPyye-0001GS-2p; Mon, 22 Aug 2022 04:23:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPyyd-0002Ql-Fa; Mon, 22 Aug 2022 04:23:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPyyd-0000C1-Ec; Mon, 22 Aug 2022 04:23:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hlVsgGTLGqFVnbqFZshqlk55vcDhHQ5UTB9+0DzzDOo=; b=pAyNJcZgtO8Y94AKyWYX1lRNL7
	OtHTjqR4iZ+ouE+HowiXT0yHkhJi8Ei3Qf+ehG0jtMy5wA+pEFAtaHIyXId9iTJhfFhIcLKaEcT0M
	FDlnevc8iDZZl3a6dUl885pkbrSfOfknzESzd7GW+blEKWVCD85ndGoW1rmdVr/tkITc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172697-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172697: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 04:23:51 +0000

flight 172697 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172697/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   17 days
Failing since        172151  2022-08-05 02:40:28 Z   17 days  143 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    2 days   21 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 05:17:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 05:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391163.628878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPzoD-00076T-JV; Mon, 22 Aug 2022 05:17:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391163.628878; Mon, 22 Aug 2022 05:17:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPzoD-00076M-Fe; Mon, 22 Aug 2022 05:17:09 +0000
Received: by outflank-mailman (input) for mailman id 391163;
 Mon, 22 Aug 2022 05:17:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPzoC-00076C-4l; Mon, 22 Aug 2022 05:17:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPzoC-0002a7-1J; Mon, 22 Aug 2022 05:17:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oPzoB-0006EF-KT; Mon, 22 Aug 2022 05:17:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oPzoB-0006zc-Jz; Mon, 22 Aug 2022 05:17:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tEmdefZK2+ctsgQ95gOrpHCV+mPETw8ALYdUcb64LLk=; b=SSx6YaGQrmuseL+U+8PJnIUFc4
	vHwG0b76+KWg38S4lHG9ENkg4FSjdUNaYFvdsWZp51ZCURehVQOht3a1N3otW25Ov0XVQ+xCkjJBW
	MJoG5/+ALmYWdr5hRwtnKjW4utHXEwwm8N3A0vUvJFjW6AHa8zoPkEsw2LcFwJSaD5Ng=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172693-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172693: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ba58ccbef60338d0b7334c714589a6423a3e7f91
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 05:17:07 +0000

flight 172693 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172693/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 172686
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 172686

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                ba58ccbef60338d0b7334c714589a6423a3e7f91
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   18 days
Failing since        172148  2022-08-04 21:39:38 Z   17 days   41 attempts
Testing same since   172658  2022-08-20 03:51:49 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2251 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 05:17:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 05:17:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391170.628889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPzol-0007dG-VP; Mon, 22 Aug 2022 05:17:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391170.628889; Mon, 22 Aug 2022 05:17:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oPzol-0007d9-SQ; Mon, 22 Aug 2022 05:17:43 +0000
Received: by outflank-mailman (input) for mailman id 391170;
 Mon, 22 Aug 2022 05:17:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GtSS=Y2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oPzol-0007cu-3O
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 05:17:43 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bef0515b-21d9-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 07:17:41 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 123B5350BE;
 Mon, 22 Aug 2022 05:17:41 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BEFEF13523;
 Mon, 22 Aug 2022 05:17:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ax/bLHQRA2ORdwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 22 Aug 2022 05:17:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bef0515b-21d9-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661145461; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=vY1VH6lzIy1Y3/cwRE8IBW/WLXqJEr5eviMiPFX0swQ=;
	b=HBZEF7XSESCertmpJliJY4FEAGK5r/EXPrw26qxuyQ5/V/1rH+j2snQNrKyjJVer9l+eaU
	T4itY8Lle5XGowj+UnMh5IPf/rt5g9SyU+ewpDRSLFXqaQoa9fjhLVno7wpqwx0OXePDBu
	dhNB3XOFIC/pZTk+ovSi51TDHVYh7JI=
Message-ID: <f205da1c-db33-299c-5fc6-922a8ebd1983@suse.com>
Date: Mon, 22 Aug 2022 07:17:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
Content-Language: en-US
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-2-jgross@suse.com> <YwIkV7mYAC4Ebbwb@zn.tnic>
 <YwKmcFuKlq3/MzVi@zn.tnic>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwKmcFuKlq3/MzVi@zn.tnic>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------rgQoxPG8PxAqRPi5h4dr3iHz"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------rgQoxPG8PxAqRPi5h4dr3iHz
Content-Type: multipart/mixed; boundary="------------deTqKyETXm5My9umETo0yKcn";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
Message-ID: <f205da1c-db33-299c-5fc6-922a8ebd1983@suse.com>
Subject: Re: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-2-jgross@suse.com> <YwIkV7mYAC4Ebbwb@zn.tnic>
 <YwKmcFuKlq3/MzVi@zn.tnic>
In-Reply-To: <YwKmcFuKlq3/MzVi@zn.tnic>

--------------deTqKyETXm5My9umETo0yKcn
Content-Type: multipart/mixed; boundary="------------yphORmUAsvDAEqIX7KyC60fC"

--------------yphORmUAsvDAEqIX7KyC60fC
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjEuMDguMjIgMjM6NDEsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToNCj4gT24gU3VuLCBB
dWcgMjEsIDIwMjIgYXQgMDI6MjU6NTlQTSArMDIwMCwgQm9yaXNsYXYgUGV0a292IHdyb3Rl
Og0KPj4+IEZpeCB0aGF0IGJ5IHVzaW5nIHBlcmNwdSB2YXJpYWJsZXMgZm9yIHNhdmluZyB0
aGUgTVNSIGNvbnRlbnRzLg0KPj4+DQo+Pj4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcN
Cj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+
Pj4gLS0tDQo+Pj4gSSB0aG91Z2h0IGFkZGluZyBhICJGaXhlczoiIHRhZyBmb3IgdGhlIGtl
cm5lbCdzIGluaXRpYWwgZ2l0IGNvbW1pdA0KPj4+IHdvdWxkIG1heWJlIGJlIGVudGVydGFp
bmluZywgYnV0IHdpdGhvdXQgYmVpbmcgcmVhbGx5IGhlbHBmdWwuDQo+Pj4gVGhlIHBlcmNw
dSB2YXJpYWJsZXMgd2VyZSBwcmVmZXJyZWQgb3ZlciBvbi1zdGFjayBvbmVzIGluIG9yZGVy
IHRvDQo+Pj4gYXZvaWQgbW9yZSBjb2RlIGNodXJuIGluIGZvbGxvd3VwIHBhdGNoZXMgZGVj
b3VwbGluZyBQQVQgZnJvbSBNVFJSDQo+Pj4gc3VwcG9ydC4NCj4+DQo+PiBTbyBpZiB0aGF0
IHRoaW5nIGhhcyBiZWVuIGJyb2tlbiBmb3Igc28gbG9uZyBhbmQgbm8gb25lIG5vdGljZWQs
IHdlDQo+PiBjb3VsZCBqdXN0IGFzIHdlbGwgbm90IGJhY2twb3J0IHRvIHN0YWJsZSBhdCBh
bGwuLi4NCj4gDQo+IFllYWgsIHlvdSBjYW4ndCBkbyB0aGF0Lg0KPiANCj4gVGhlIHdob2xl
IGRheSB0b2RheSBJIGtlcHQgdGhpbmtpbmcgdGhhdCBzb21ldGhpbmcncyB3cm9uZyB3aXRo
IHRoaXMNCj4gaGVyZS4gQXMgaW4sIHdoeSBoYXNuJ3QgaXQgYmVlbiByZXBvcnRlZCB1bnRp
bCBub3cuDQo+IA0KPiBZb3Ugc2F5IGFib3ZlOg0KPiANCj4gIi4uLiBmb3IgYWxsIGNwdXMg
aXMgcmFjeSBpbiBjYXNlIHRoZSBNU1IgY29udGVudHMgZGlmZmVyIGFjcm9zcyBjcHVzLiIN
Cj4gDQo+IEJ1dCB0aGV5IGRvbid0IGRpZmZlcjoNCj4gDQo+ICI3LjcuNSBNVFJScyBpbiBN
dWx0aS1Qcm9jZXNzaW5nIEVudmlyb25tZW50cw0KPiANCj4gSW4gbXVsdGktcHJvY2Vzc2lu
ZyBlbnZpcm9ubWVudHMsIHRoZSBNVFJScyBsb2NhdGVkIGluIGFsbCBwcm9jZXNzb3JzDQo+
IG11c3QgY2hhcmFjdGVyaXplIG1lbW9yeSBpbiB0aGUgc2FtZSB3YXkuIEdlbmVyYWxseSwg
dGhpcyBtZWFucyB0aGF0DQo+IGlkZW50aWNhbCB2YWx1ZXMgYXJlIHdyaXR0ZW4gdG8gdGhl
IE1UUlJzIHVzZWQgYnkgdGhlIHByb2Nlc3NvcnMuIFRoaXMNCj4gYWxzbyBtZWFucyB0aGF0
IHZhbHVlcyBDUjAuQ0QgYW5kIHRoZSBQQVQgbXVzdCBiZSBjb25zaXN0ZW50IGFjcm9zcw0K
PiBwcm9jZXNzb3JzLiBGYWlsdXJlIHRvIGRvIHNvIG1heSByZXN1bHQgaW4gY29oZXJlbmN5
IHZpb2xhdGlvbnMgb3IgbG9zcw0KPiBvZiBhdG9taWNpdHkuIFByb2Nlc3NvciBpbXBsZW1l
bnRhdGlvbnMgZG8gbm90IGNoZWNrIHRoZSBNVFJSIHNldHRpbmdzDQo+IGluIG90aGVyIHBy
b2Nlc3NvcnMgdG8gZW5zdXJlIGNvbnNpc3RlbmN5LiBJdCBpcyB0aGUgcmVzcG9uc2liaWxp
dHkgb2YNCj4gc3lzdGVtIHNvZnR3YXJlIHRvIGluaXRpYWxpemUgYW5kIG1haW50YWluIE1U
UlIgY29uc2lzdGVuY3kgYWNyb3NzIGFsbA0KPiBwcm9jZXNzb3JzLiINCj4gDQo+IEFuZCB5
b3UgY2FuJ3QgaGF2ZSBkaWZmZXJlbnQgZml4ZWQgTVRSUiB0eXBlIG9uIGVhY2ggQ1BVIC0g
dGhhdCB3b3VsZA0KPiBsZWFkIHRvIGFsbCBraW5kcyBvZiBuYXN0eSBidWdzLg0KPiANCj4g
QW5kIGhlcmUncyBmcm9tIGEgYmlnIGZhdCBib3g6DQo+IA0KPiAkIHJkbXNyIC1hIDB4MmZm
IHwgdW5pcSAtYw0KPiAgICAgIDI1NiBjMDANCj4gDQo+IEFsbCAyNTYgQ1BVcyBoYXZlIHRo
ZSBkZWYgdHlwZSBzZXQgdG8gdGhlIHNhbWUgdGhpbmcuDQo+IA0KPiBOb3csIGlmIGFsbCBD
UFVzIGdvIHdyaXRlIHRoYXQgc2FtZSBkZWZ0eXBlX2xvIHZhcmlhYmxlIGluIHRoZQ0KPiBy
ZW5kZXp2b3VzIGhhbmRsZXIsIHRoZSBvbmx5IGlzc3VlIHRoYXQgY291bGQgaGFwcGVuIGlz
IGlmIGEgcmVhZA0KPiBzZWVzIGEgcGFydGlhbCB3cml0ZS4gQlVULCBBRkFJSywgeDg2IGRv
ZXNuJ3QgdGVhciAzMi1iaXQgd3JpdGVzIHNvIEkNCj4gKnRoaW5rKiBhbGwgQ1BVcyBzZWUg
dGhlIHNhbWUgdmFsdWUgYmVpbmcgY29ycmVjdGVkIGJ5IHVzaW5nIG10cnJfc3RhdGUNCj4g
cHJldmlvdXNseSBzYXZlZCBvbiB0aGUgQlNQLg0KPiANCj4gQXMgSSBzYWlkLCB3ZSBzaG91
bGQndmUgc2VlbiB0aGlzIGV4cGxvZGluZyBsZWZ0IGFuZCByaWdodCBvdGhlcndpc2UuLi4N
Cg0KQW5kIHRoZW4gdGhlcmUgaXMgbXRycl9zdGF0ZV93YXJuKCkgaW4gYXJjaC94ODYva2Vy
bmVsL2NwdS9tdHJyL2dlbmVyaWMuYw0Kd2hpY2ggaGFzIGEgY29tbWVudCBzYXlpbmc6DQoN
Ci8qIFNvbWUgQklPUydzIGFyZSBtZXNzZWQgdXAgYW5kIGRvbid0IHNldCBhbGwgTVRSUnMg
dGhlIHNhbWUhICovDQoNClllcywgdGhlIGNoYW5jZXMgYXJlIHNsaW0gdG8gaGl0IHN1Y2gg
YSBib3gsIGJ1dCB5b3VyIHJlYXNvbmluZyBzdWdnZXN0cw0KSSBzaG91bGQgcmVtb3ZlIHRo
ZSByZWxhdGVkIGNvZGU/DQoNCg0KSnVlcmdlbg0K
--------------yphORmUAsvDAEqIX7KyC60fC
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------yphORmUAsvDAEqIX7KyC60fC--

--------------deTqKyETXm5My9umETo0yKcn--

--------------rgQoxPG8PxAqRPi5h4dr3iHz
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMDEXQFAwAAAAAACgkQsN6d1ii/Ey+K
uAf9ErHr/q4mtRTikw5ZZb+gOGyCc5mQVvD5RuFlHFGttHwwSvmxAWlgEsqb6rQZA/tRVojtFjhK
dZzS0uSvK3bnGUW67nNOkgMzXMq5vt0ij0BLtzOozcBECdpKo5YyrcDMd6ehM8A04u3mKYfJWU4N
F+MZSADB5Ybn9rktoOBCG37blBle03PJbYAWQB2T1FZDtLsFBupsPrji8AzHoXyVsoSkZKpFzoS9
DPno3dmARyUgHY/BZHOLyFk3PQotRYJ0YmBLjrMP/oNdAWp4fpQyGaadtrFObKni7vXa4fD321f0
5DsGSjSSDaM1Nyx/XdCjRAszyFsewiaQhrdvwJ4ZFg==
=d92A
-----END PGP SIGNATURE-----

--------------rgQoxPG8PxAqRPi5h4dr3iHz--


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 06:57:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 06:57:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391183.628899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ1N8-0000sv-0E; Mon, 22 Aug 2022 06:57:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391183.628899; Mon, 22 Aug 2022 06:57:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ1N7-0000so-TE; Mon, 22 Aug 2022 06:57:17 +0000
Received: by outflank-mailman (input) for mailman id 391183;
 Mon, 22 Aug 2022 06:57:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5sXg=Y2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1oQ1N6-0000si-Tc
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 06:57:17 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2043.outbound.protection.outlook.com [40.107.21.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6f451f7-21e7-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 08:57:14 +0200 (CEST)
Received: from AM5PR0402CA0017.eurprd04.prod.outlook.com
 (2603:10a6:203:90::27) by AM6PR08MB4135.eurprd08.prod.outlook.com
 (2603:10a6:20b:a9::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.20; Mon, 22 Aug
 2022 06:57:11 +0000
Received: from AM7EUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:90:cafe::5c) by AM5PR0402CA0017.outlook.office365.com
 (2603:10a6:203:90::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Mon, 22 Aug 2022 06:57:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT060.mail.protection.outlook.com (100.127.140.216) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Mon, 22 Aug 2022 06:57:11 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Mon, 22 Aug 2022 06:57:10 +0000
Received: from 309c4930d55a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 45B3DA7A-89F1-45E2-AC22-B6000B230588.1; 
 Mon, 22 Aug 2022 06:56:59 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 309c4930d55a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Aug 2022 06:56:59 +0000
Received: from AM0PR08MB3809.eurprd08.prod.outlook.com (2603:10a6:208:103::16)
 by AS4PR08MB7926.eurprd08.prod.outlook.com (2603:10a6:20b:575::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Mon, 22 Aug
 2022 06:56:56 +0000
Received: from AM0PR08MB3809.eurprd08.prod.outlook.com
 ([fe80::d889:1b83:c030:8d71]) by AM0PR08MB3809.eurprd08.prod.outlook.com
 ([fe80::d889:1b83:c030:8d71%7]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 06:56:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6f451f7-21e7-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=RJSOxWiyUXNMzDYqXB7o9zvqkPLPNYaW+GRYG0HvhvjIrlU96wyg4CVbQxiKUKu3bFhEeMQAQ/ObvuWbtIYE6ewkYH52d/iBQvucW+jZUsTKxZZyB6y2ZkUeeHZ1SkCXVUDAPe9RfGRv/+2QS1gzvGtDU1de8DXrmwYVTM5f25woWvHn7F/e1J+dat7pSSUfisjBDJeDdGrWH6xl0efL3JrP/gJg0vkHDo9HZy1SG+2tNrixpkaEo1s8obvlzniCU02FowIIMoLW0F0Y8FaoTN8ZXRVNHyO/Xs1EPBRRNOP0BCasKFvB/fL5adhtXCp9X+QGwCnKefpsbveUg3umVg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0OAcYnGpEiVeK5XYu6NBnR2hlpsWbN7xaMRNfyxM5xM=;
 b=BYhgQdNycbu7kLFIwEl8w+N57TWROmgVZAc2X68y2dIiBWAYStAZDIri8OD0/UNI5ZvHiOmR7JKvYb4NmMF9OanCXNmZHDhR2V3SS6ymgwWCyBm/WS+xpDvJVnE35tnMTbsz1uVOtG1nBz8p3BpPfZtlKMfw8pA4IsyJ+BVHkHKoN0RTrFo9fYnvu38MkruQgbMiJdKlWD4SAAcszmVlsqrIsnnIzt0wVP9zNRl1fCoSI6UwlbkWA7QhN5kxEwPtB9xO2YLH6tie48y68sCRyZRkoh+vUlTxfNaZS7tJURUIcTGUodO7VOOIa8B61AOAOV6S/i5JoQ/tHr+cuH2iGA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0OAcYnGpEiVeK5XYu6NBnR2hlpsWbN7xaMRNfyxM5xM=;
 b=q0mBLJr2fj0du3x0Pb0fxBxwlbxMeECMTFBrnHEOIYYWs/5FfYgYlC7pOc10D2Cus5CmvHBHaPZOJnqJ2JFr/qAkZpCRTdY21N+2/LaQBDMXIT5lvnVioO34Qv7YWlSSfkBXWG3u7mx0lflxoHgs+q+6N/0C8LI0J76YINbdIsE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: aceab2be880318ee
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OTpnEMVM4bOhxMk1+21U6zf+8A+32LUanvF7mQ2FIhWcTKT2cWKVzEQzTmhJL0W6tpbU/af8oibFS1dz6Z1RGrzsvKPcM+vEON30uvTNyhEorecoPPUkUraNFeIqpTzgap3vvPQ4sWDz9leEHQAgVt3NVlfZvKh8fUpCXTk2BS3Kctdtj6pgKsnT0s3BKzy3BWhKdGx24f5URWOPZ81ap5IzAdNU+dsLbYnN16V6GlTJ6INTPAMSRGEaxy73QO+ASpDpCEYlELmQsoO9QPScoC3k2TM3UYxeEZaXxJyJ/fABlRAx/szbYMEGjnA8tmVRTCxxOT0Trv2e4Arvg75Ssw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0OAcYnGpEiVeK5XYu6NBnR2hlpsWbN7xaMRNfyxM5xM=;
 b=AFjIAHC6sC79fzxFeoY90gM38Lim3WN3A7NoJqr6eVEqGNSVjOFfqUYE1ezTJM/oGx/EVUIbh8ZLgd7xJzaxQzJdgxb/fKaYkS+xA0vHmXISBClzd57GBP4VNlZPOirQN+gfV+y6hl73y4YqKmH18XziU+airUYtiFHvQCD0MaHyVDxe397tEnOyhRJzAgZ6TFhJqAzHQ1cbyDDagWHifx9vmYzz1TkqP1Is7tee25oOZvBySWoEEL35J8/IN61zO7Okrk/T/2Ks4ymHSuEOfhUIp1+k6fQTBBk2EmGMG3BocBIQbeQXBZSuqYRogLp5sEED7+6QWwFVvc1qC1dy/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0OAcYnGpEiVeK5XYu6NBnR2hlpsWbN7xaMRNfyxM5xM=;
 b=q0mBLJr2fj0du3x0Pb0fxBxwlbxMeECMTFBrnHEOIYYWs/5FfYgYlC7pOc10D2Cus5CmvHBHaPZOJnqJ2JFr/qAkZpCRTdY21N+2/LaQBDMXIT5lvnVioO34Qv7YWlSSfkBXWG3u7mx0lflxoHgs+q+6N/0C8LI0J76YINbdIsE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen development discussion <xen-devel@lists.xenproject.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] arm/domain: fix comment for arch_set_info_guest
Thread-Topic: [PATCH] arm/domain: fix comment for arch_set_info_guest
Thread-Index: AQHYqMxj+SsCb6WfSkeThh/1USfbDq2gke8AgBoFMQA=
Date: Mon, 22 Aug 2022 06:56:55 +0000
Message-ID: <F8BBA0E8-73F3-447B-AB3C-20F7B4F353D1@arm.com>
References: <20220805130800.16387-1-luca.fancellu@arm.com>
 <047c108c-524c-27f9-2326-c015093990ce@xen.org>
In-Reply-To: <047c108c-524c-27f9-2326-c015093990ce@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: d1ddab67-832d-455f-22e4-08da840b896f
x-ms-traffictypediagnostic:
	AS4PR08MB7926:EE_|AM7EUR03FT060:EE_|AM6PR08MB4135:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 gbeIMYocCvJYLKX/kvSdvFSuQ+90TNlBm6AD6J5ovyQ3qnQ2pM9ragcCctGb4A2zFjP6H73gNC4PFIzMy9Ch4mbcRs0RZHCyO/NqgNz7F/NAqe3xa6rgX9rYJcpn/zdLjFKq/CP/Fffle6nH3ZxSSgCdlzjupSTgSHUkL/2zv5OO/I02T3Nl3Xl/lZSIQcRUN9z6kkHVpjyXx7LNy8dk+4Ak2pq70peRYJ49wxE2aBGsZyjuZx0+0ys9Z/HSDk1V57bvMdkrmx1IRAVahxp62kppjg9uppV2gb8UL97m+kivcAxtyfX2JaDwD+VM5UN/usQTD9LBvlKZ4vZx22lU1QdyNQOH74dJ3LYKBnkAR1HslDACmo+K8ggD+Cj1OqfEIZ2+Hy9eYjOgi9mvK74spy/gNy40W3m34vI8ch0zUfa/gC9rupiREXTyWDWHvHCrUEvpEk7SPrCGHj3nYPn/GQf9bcdbuBtfkxMc4JUcEUK0V0W7y1sH0jxU2bkjrR8HnXFOEb3x8dKk38Pq+R3ZNUX3xuhpt+IRT01sdmZt2hFSIrlaEgN0wWuCF5LMfR+ZTHtIwNKLRLgLBBKQUXvYldW8ZtQS7PIQnrryDEqtLE9t3+/eveganFI970RQWehHfAwTZHaorrzuLCT6mANv69+nc1UqcA2v465pU/CBli+Z7AezkQgIfnYmM0I3C+qq4X+/JZR8mSu1X7ktLUxMMeFAWftgp7BkIOpBl+ih6FBxVKpxa2yW2qEtF9Duw28XSdhVxwEm0JEhH7XcuHgcsIfAR8EKd1XF0blCvcTx+X4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB3809.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(366004)(396003)(39860400002)(136003)(376002)(54906003)(6512007)(91956017)(76116006)(6916009)(66946007)(64756008)(66556008)(66476007)(66446008)(4326008)(86362001)(8676002)(316002)(26005)(38070700005)(6506007)(53546011)(2616005)(186003)(122000001)(71200400001)(83380400001)(478600001)(6486002)(36756003)(41300700001)(8936002)(38100700002)(33656002)(2906002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <DFD1E33ECDF3514FACDEAB61F0FD319A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7926
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e12b1471-4596-4f63-265d-08da840b805c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vpQQdZWCztKRZIUuVyssPoybZ7fv0D0b/K78JbS5z3MDSkxdJ8bh5H6CC2fUsB0t3/OZxmqquqe0nY8IflRASfWD3DZn5aT3eUst+iJvNF3uxKX8V/QrwI0awyoPxW2VHVL+syK8meVdmJe/484mgSvxVJFsg4G1yFBhMogF4Yhl0zboCqtZ+ifKLhZoUfXmCRDeRFaVoTyZLCFA1y9G4v3bGFP/LXDU+BO/CfNKlIwjd/dKHD35/VqGqMoqBpD4g9s/k4Yas9K+R/B7xHWxSzcKKFyZ18Xo6EzzPX+FNPfzlqauwOl+XdeeqX9layEELKqCQ3cxvXTydPzHEWCmE/3OT1fE+dxDJViCvrglfuB43M+U8CxqIQpGEFGciITUES5RbIljr+zpHM/Lrdxw3ZnRVVIZb5DYcbsu8MdaXgVZjwgSHP/O1s8q6uP+ZnFgleMzD+oRG7PYMcUU9hXZDG10pfGSioamB8KGR/WvJ6CMaVpVit5kqr0FfiLK6yF9Y+9Wg2MQtQeAb9+85RV97aNE76i/7nfHDiGJdu/FWNm7QD4oCX+V2hlRLLysaRbf492ZJo90U7yQNOaYsVZ3rBZUBVJCCyO6OgvFOGKr8n/FtDiVBeU1N8+04gVN8UOqMWrkNpd0RjGE0y2dtndSpb1SQESp/fDNXYFmYP+Occt1HPmnB4QpJcmG3wGkTGFYBKg+6V4tHOHarBPlvq6kMvYKsntNqenY1dGGZRjGIzRLq1NpR7Cm5Hw/OoL9pvrBvG3SUaYFOxjK8K0cbRl2+A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(136003)(39860400002)(346002)(40470700004)(36840700001)(46966006)(40480700001)(81166007)(356005)(86362001)(70206006)(70586007)(82310400005)(54906003)(4326008)(316002)(8676002)(36860700001)(2616005)(47076005)(186003)(336012)(107886003)(6486002)(478600001)(82740400003)(40460700003)(53546011)(6506007)(6512007)(26005)(83380400001)(41300700001)(33656002)(2906002)(8936002)(6862004)(5660300002)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 06:57:11.1146
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d1ddab67-832d-455f-22e4-08da840b896f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4135



> On 5 Aug 2022, at 18:35, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Luca,
>=20
> On 05/08/2022 14:08, Luca Fancellu wrote:
>> The function arch_set_info_guest is not reached anymore through
>> VCPUOP_initialise on arm, update the comment.
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> ---
>> Changes in v2:
>>  - rephrased comment to not list caller functions (Julien)
>> ---
>>  xen/arch/arm/domain.c | 5 ++---
>>  1 file changed, 2 insertions(+), 3 deletions(-)
>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
>> index 2cd481979cf1..9db8a37a089c 100644
>> --- a/xen/arch/arm/domain.c
>> +++ b/xen/arch/arm/domain.c
>> @@ -885,9 +885,8 @@ static int is_guest_pv64_psr(uint64_t psr)
>>  #endif
>>    /*
>> - * Initialise VCPU state. The context can be supplied by either the
>> - * toolstack (XEN_DOMCTL_setvcpucontext) or the guest
>> - * (VCPUOP_initialise) and therefore must be properly validated.
>> + * Initialise vCPU state. The context may be supplied by an external en=
tity, so
>> + * we need to validate it
>=20
> NIT: Missing a full stop. This can be added on commit.
>=20
> Acked-by: Julien Grall <jgrall@amazon.com>

Hi Julien,

Any plan to commit this one? Not an important change, just asking so that I=
 can remove it
from my watch list.

Cheers,
Luca

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 07:26:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 07:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391195.628914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ1op-0004LT-9r; Mon, 22 Aug 2022 07:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391195.628914; Mon, 22 Aug 2022 07:25:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ1op-0004LM-7D; Mon, 22 Aug 2022 07:25:55 +0000
Received: by outflank-mailman (input) for mailman id 391195;
 Mon, 22 Aug 2022 07:25:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ1oo-0004LC-0V; Mon, 22 Aug 2022 07:25:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ1on-0004ms-Ti; Mon, 22 Aug 2022 07:25:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ1on-0005Ud-H8; Mon, 22 Aug 2022 07:25:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ1on-0006ys-Ge; Mon, 22 Aug 2022 07:25:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rwgwi/kF0AgvzVkHq+G+vLjRk9ZgXIDfEpZ+mb8Sxpw=; b=0U+UXQddLf3A+Hm3YO5/Kf3sJ0
	DIQmNLhajjtKbyzCNmkafKPmateUOr27sYiMia0OficASqpqmZWLY5U1IFUwIDUfNeGZqjCLeo9sX
	mkIey1P2bQemNJbzo+/5QwGTOH6mu+L/5FNQFcKQsfLEDutJ6gb2IyR/xcFlAysAOFI8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172701-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172701: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 07:25:53 +0000

flight 172701 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172701/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   18 days
Failing since        172151  2022-08-05 02:40:28 Z   17 days  144 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    2 days   22 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 08:10:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 08:10:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391214.628929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ2VQ-0000y7-3W; Mon, 22 Aug 2022 08:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391214.628929; Mon, 22 Aug 2022 08:09:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ2VQ-0000y0-0a; Mon, 22 Aug 2022 08:09:56 +0000
Received: by outflank-mailman (input) for mailman id 391214;
 Mon, 22 Aug 2022 08:09:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQ2VO-0000xe-JN
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 08:09:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQ2VO-00061k-Ac; Mon, 22 Aug 2022 08:09:54 +0000
Received: from [54.239.6.185] (helo=[192.168.10.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQ2VO-0007Kc-3s; Mon, 22 Aug 2022 08:09:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=sj4Hc/SiVf5WxtnkO1z/WmRh642zoD+5JWZIohLATI0=; b=msZ8f77TgZxjvlYPGsK6+iZqCh
	p3nwsboJtsNqWqTPEnLtHwy5kiv5ypy8dHYXuFblmLSNaEgfxAEVPi0HStLn7fKoGosV6iQnvEUq0
	+2qqkSv0FjV0b1w3RpAkRSK3YH9RHL5Zwv3hfeUeqvxE0+Ph83BLWp4OUQhH3mwc2qNk=;
Message-ID: <c2e2686d-c75b-bf53-b717-adcdd0d7107e@xen.org>
Date: Mon, 22 Aug 2022 09:09:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH] arm/domain: fix comment for arch_set_info_guest
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen development discussion <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220805130800.16387-1-luca.fancellu@arm.com>
 <047c108c-524c-27f9-2326-c015093990ce@xen.org>
 <F8BBA0E8-73F3-447B-AB3C-20F7B4F353D1@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <F8BBA0E8-73F3-447B-AB3C-20F7B4F353D1@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 22/08/2022 07:56, Luca Fancellu wrote:
> 
> 
>> On 5 Aug 2022, at 18:35, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Luca,
>>
>> On 05/08/2022 14:08, Luca Fancellu wrote:
>>> The function arch_set_info_guest is not reached anymore through
>>> VCPUOP_initialise on arm, update the comment.
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>> ---
>>> Changes in v2:
>>>   - rephrased comment to not list caller functions (Julien)
>>> ---
>>>   xen/arch/arm/domain.c | 5 ++---
>>>   1 file changed, 2 insertions(+), 3 deletions(-)
>>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
>>> index 2cd481979cf1..9db8a37a089c 100644
>>> --- a/xen/arch/arm/domain.c
>>> +++ b/xen/arch/arm/domain.c
>>> @@ -885,9 +885,8 @@ static int is_guest_pv64_psr(uint64_t psr)
>>>   #endif
>>>     /*
>>> - * Initialise VCPU state. The context can be supplied by either the
>>> - * toolstack (XEN_DOMCTL_setvcpucontext) or the guest
>>> - * (VCPUOP_initialise) and therefore must be properly validated.
>>> + * Initialise vCPU state. The context may be supplied by an external entity, so
>>> + * we need to validate it
>>
>> NIT: Missing a full stop. This can be added on commit.
>>
>> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> Hi Julien,
> 
> Any plan to commit this one? Not an important change, just asking so that I can remove it
> from my watch list.

Sorry for the delay. It is now pushed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 08:28:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 08:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391229.628951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ2nH-0003TC-Oe; Mon, 22 Aug 2022 08:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391229.628951; Mon, 22 Aug 2022 08:28:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ2nH-0003T5-L8; Mon, 22 Aug 2022 08:28:23 +0000
Received: by outflank-mailman (input) for mailman id 391229;
 Mon, 22 Aug 2022 08:28:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YOEa=Y2=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1oQ2nG-0003Sz-5U
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 08:28:22 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5eedd040-21f4-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 10:28:19 +0200 (CEST)
Received: from zn.tnic (p200300ea971b9882329c23fffea6a903.dip0.t-ipconnect.de
 [IPv6:2003:ea:971b:9882:329c:23ff:fea6:a903])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id E8CAA1EC04DA;
 Mon, 22 Aug 2022 10:28:12 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5eedd040-21f4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1661156893;
	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:in-reply-to:in-reply-to:  references:references;
	bh=3t9+6nfiuQKFvxF6QSwH6wfi0OEdPc0eB0BQ88sluiw=;
	b=LBTgUcDzl5EdkYRDDlSD9fBZ0rURljXWITRA9M9N8bU0uOJgF0ELIcgHu1BNxGDLbs8SjS
	rzXJHZvhI0nkzVUuapeB4U5odChwEb15KS+ReeR2th/1wYx7PdbXEUpL1kh3/p9CNFT3dm
	aQbFCNV0IyjQbUqZostPTwFiS+hKwUg=
Date: Mon, 22 Aug 2022 10:28:08 +0200
From: Borislav Petkov <bp@alien8.de>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
Subject: Re: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
Message-ID: <YwM+GPu8hFowl2R7@zn.tnic>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-2-jgross@suse.com>
 <YwIkV7mYAC4Ebbwb@zn.tnic>
 <YwKmcFuKlq3/MzVi@zn.tnic>
 <f205da1c-db33-299c-5fc6-922a8ebd1983@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <f205da1c-db33-299c-5fc6-922a8ebd1983@suse.com>

On Mon, Aug 22, 2022 at 07:17:40AM +0200, Juergen Gross wrote:
> And then there is mtrr_state_warn() in arch/x86/kernel/cpu/mtrr/generic.c
> which has a comment saying:
> 
> /* Some BIOS's are messed up and don't set all MTRRs the same! */

That thing also says:

        pr_info("mtrr: probably your BIOS does not setup all CPUs.\n");
        pr_info("mtrr: corrected configuration.\n");

because it'll go and force on all CPUs the MTRR state it read from the
BSP in mtrr_bp_init->get_mtrr_state.

> Yes, the chances are slim to hit such a box,

Well, my workstation says:

$ dmesg | grep -i mtrr
[    0.391514] mtrr: your CPUs had inconsistent variable MTRR settings
[    0.395199] mtrr: probably your BIOS does not setup all CPUs.
[    0.399199] mtrr: corrected configuration.

but that's the variable MTRRs.

> but your reasoning suggests I should remove the related code?

My reasoning says you should not do anything at all here - works as
advertized. :-)

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 08:32:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 08:32:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391235.628962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ2rJ-0004sw-83; Mon, 22 Aug 2022 08:32:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391235.628962; Mon, 22 Aug 2022 08:32:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ2rJ-0004sp-4X; Mon, 22 Aug 2022 08:32:33 +0000
Received: by outflank-mailman (input) for mailman id 391235;
 Mon, 22 Aug 2022 08:32:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GtSS=Y2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQ2rH-0004sj-T8
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 08:32:31 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5c5a292-21f4-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 10:32:30 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6C03934037;
 Mon, 22 Aug 2022 08:32:29 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 14EFA1332D;
 Mon, 22 Aug 2022 08:32:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Z4gxAx0/A2OYWQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 22 Aug 2022 08:32:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5c5a292-21f4-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661157149; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=YBMHlxVmRfLJjdcsb9JN2XfRkOc0r2io3/c8PMrp5Zg=;
	b=icJfnhFkDLsHocZk0v+61JzDhs9YtDK9r/QFfn0l5WsTz3uwZAThEcJAyrMe7szDxbwzs0
	pLqOIh3CC46WUnTEjvZT8GG7njXN6FGyUSbxPwc3twKBNym10lIE6cFqiP/gw21VL72t4H
	3FmcZO2SU8CI87FbwEcg9LbX9d6Ok68=
Message-ID: <e2ea61ad-3ff3-2ba7-3426-834b87fe85a3@suse.com>
Date: Mon, 22 Aug 2022 10:32:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
Content-Language: en-US
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-2-jgross@suse.com> <YwIkV7mYAC4Ebbwb@zn.tnic>
 <YwKmcFuKlq3/MzVi@zn.tnic> <f205da1c-db33-299c-5fc6-922a8ebd1983@suse.com>
 <YwM+GPu8hFowl2R7@zn.tnic>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwM+GPu8hFowl2R7@zn.tnic>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------TqzcXoH02scFtcsznY39KkrM"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------TqzcXoH02scFtcsznY39KkrM
Content-Type: multipart/mixed; boundary="------------0VUZCoAFrKER0Qjvl6TZZK0W";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, stable@vger.kernel.org
Message-ID: <e2ea61ad-3ff3-2ba7-3426-834b87fe85a3@suse.com>
Subject: Re: [PATCH v2 01/10] x86/mtrr: fix MTRR fixup on APs
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-2-jgross@suse.com> <YwIkV7mYAC4Ebbwb@zn.tnic>
 <YwKmcFuKlq3/MzVi@zn.tnic> <f205da1c-db33-299c-5fc6-922a8ebd1983@suse.com>
 <YwM+GPu8hFowl2R7@zn.tnic>
In-Reply-To: <YwM+GPu8hFowl2R7@zn.tnic>

--------------0VUZCoAFrKER0Qjvl6TZZK0W
Content-Type: multipart/mixed; boundary="------------Z9SNFeC13wkqDPMRx3a68VCc"

--------------Z9SNFeC13wkqDPMRx3a68VCc
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjIuMDguMjIgMTA6MjgsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToNCj4gT24gTW9uLCBB
dWcgMjIsIDIwMjIgYXQgMDc6MTc6NDBBTSArMDIwMCwgSnVlcmdlbiBHcm9zcyB3cm90ZToN
Cj4+IEFuZCB0aGVuIHRoZXJlIGlzIG10cnJfc3RhdGVfd2FybigpIGluIGFyY2gveDg2L2tl
cm5lbC9jcHUvbXRyci9nZW5lcmljLmMNCj4+IHdoaWNoIGhhcyBhIGNvbW1lbnQgc2F5aW5n
Og0KPj4NCj4+IC8qIFNvbWUgQklPUydzIGFyZSBtZXNzZWQgdXAgYW5kIGRvbid0IHNldCBh
bGwgTVRSUnMgdGhlIHNhbWUhICovDQo+IA0KPiBUaGF0IHRoaW5nIGFsc28gc2F5czoNCj4g
DQo+ICAgICAgICAgIHByX2luZm8oIm10cnI6IHByb2JhYmx5IHlvdXIgQklPUyBkb2VzIG5v
dCBzZXR1cCBhbGwgQ1BVcy5cbiIpOw0KPiAgICAgICAgICBwcl9pbmZvKCJtdHJyOiBjb3Jy
ZWN0ZWQgY29uZmlndXJhdGlvbi5cbiIpOw0KPiANCj4gYmVjYXVzZSBpdCdsbCBnbyBhbmQg
Zm9yY2Ugb24gYWxsIENQVXMgdGhlIE1UUlIgc3RhdGUgaXQgcmVhZCBmcm9tIHRoZQ0KPiBC
U1AgaW4gbXRycl9icF9pbml0LT5nZXRfbXRycl9zdGF0ZS4NCj4gDQo+PiBZZXMsIHRoZSBj
aGFuY2VzIGFyZSBzbGltIHRvIGhpdCBzdWNoIGEgYm94LA0KPiANCj4gV2VsbCwgbXkgd29y
a3N0YXRpb24gc2F5czoNCj4gDQo+ICQgZG1lc2cgfCBncmVwIC1pIG10cnINCj4gWyAgICAw
LjM5MTUxNF0gbXRycjogeW91ciBDUFVzIGhhZCBpbmNvbnNpc3RlbnQgdmFyaWFibGUgTVRS
UiBzZXR0aW5ncw0KPiBbICAgIDAuMzk1MTk5XSBtdHJyOiBwcm9iYWJseSB5b3VyIEJJT1Mg
ZG9lcyBub3Qgc2V0dXAgYWxsIENQVXMuDQo+IFsgICAgMC4zOTkxOTldIG10cnI6IGNvcnJl
Y3RlZCBjb25maWd1cmF0aW9uLg0KPiANCj4gYnV0IHRoYXQncyB0aGUgdmFyaWFibGUgTVRS
UnMuDQo+IA0KPj4gYnV0IHlvdXIgcmVhc29uaW5nIHN1Z2dlc3RzIEkgc2hvdWxkIHJlbW92
ZSB0aGUgcmVsYXRlZCBjb2RlPw0KPiANCj4gTXkgcmVhc29uaW5nIHNheXMgeW91IHNob3Vs
ZCBub3QgZG8gYW55dGhpbmcgYXQgYWxsIGhlcmUgLSB3b3JrcyBhcw0KPiBhZHZlcnRpemVk
LiA6LSkNCj4gDQoNCkFuZCB3aGF0IGFib3V0IHRoZToNCg0KICAgcHJfd2FybigibXRycjog
eW91ciBDUFVzIGhhZCBpbmNvbnNpc3RlbnQgTVRSUmRlZlR5cGUgc2V0dGluZ3NcbiIpOw0K
DQpUaGlzIGlzIHRoZSBjYXNlIHRoZSBwYXRjaCB3b3VsZCBmaXguDQoNCg0KSnVlcmdlbg0K

--------------Z9SNFeC13wkqDPMRx3a68VCc
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Z9SNFeC13wkqDPMRx3a68VCc--

--------------0VUZCoAFrKER0Qjvl6TZZK0W--

--------------TqzcXoH02scFtcsznY39KkrM
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMDPxwFAwAAAAAACgkQsN6d1ii/Ey83
cAgAhiIUUi99IKd0SSNSDWWivhDoNdBoM+lDglLgfwGduXBvtAEVAzKB7gnRPq/aIxDdvOyDtZ3+
9kRwwahRjvPZS7xStuCFZgfsh7RJrWI29QNzJUGJ7RpaoWZn1RjeMIOcKhjqULlvJ1xS8L4/jp2S
Me+JbtuDDYc4+2PrdvcyflPCzZEmF93fJaWkM+MpjCMy9OvsLjolZVnMODa0tyxWP8mC1lwCVmsy
nxzQxST1HfZ29Sgct8eXpUD2LnhQLrJitt6295FNjTkBI1akijLMLil2Dyxr3JSqmA3wJVXl0EtU
734MXSjm+Au+VzQzUH48WDbiaLZ/jGVFJnfoRLdBLg==
=ppbM
-----END PGP SIGNATURE-----

--------------TqzcXoH02scFtcsznY39KkrM--


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:15:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391243.628973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3Ws-0000rb-Fo; Mon, 22 Aug 2022 09:15:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391243.628973; Mon, 22 Aug 2022 09:15:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3Ws-0000rU-Cj; Mon, 22 Aug 2022 09:15:30 +0000
Received: by outflank-mailman (input) for mailman id 391243;
 Mon, 22 Aug 2022 09:15:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J63M=Y2=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oQ3Wq-0000rO-P0
 for xen-devel@lists.xen.org; Mon, 22 Aug 2022 09:15:29 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f465aaae-21fa-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 11:15:27 +0200 (CEST)
Received: by mail-pj1-x102e.google.com with SMTP id e19so9119359pju.1
 for <xen-devel@lists.xen.org>; Mon, 22 Aug 2022 02:15:25 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 z10-20020aa7990a000000b005364e0ec330sm4228931pff.59.2022.08.22.02.15.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Aug 2022 02:15:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f465aaae-21fa-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=ZGoeLoISjkh8I8Us9ozpNp2hr0tF1YoaAFC9nA49KH0=;
        b=LJn8Mn3+diW1PM3kh7W4P2/HpjGg2v5JMAxeQWImodQgdKy3RHcHiuCagcQG8r09rC
         waMGm8hVq/RUhMcpwsrMTUcL0N71WnigZR8RVVvg2zO30AoLW1vP7cHM9eFoyY4qq5G7
         xWgFASj1nVWIDkApTmquR47n6g6RuR55G/CSWJ7+uRSnLkrSOrhgujHnhw2icGiLTnp8
         2P8C24PMv5sozxAVkADYuHZARfB0RiEhEflQh1J070FC55UP1WBzmJLu4F5iNgAGw6Hr
         UWCIlsJXkd4Z2A9e87Ll/s9DDI9zQpq7GzCip1V2iHzeCFzYaO/C6+veFaDkuSZQRy3S
         Ap/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=ZGoeLoISjkh8I8Us9ozpNp2hr0tF1YoaAFC9nA49KH0=;
        b=4bspuEKK9889fpBGFsTzlas6eUGYHQshDFIpibxOMdZO0GywBO3spyydFcHtvHHDeL
         NAaKtkmkyZRvMk7jPciTVz+vFicqQ0U+gy+p/aTdWlnt185WA+hcFibtJIqdJOjuDyfR
         c6GMOEO4/24x5ZsNi/XTTNPGpxIzI0QrwfsR6KXfZk4Sri+pVeAyRAnT305/tWYtAMxg
         YzDWpH/wm+9GtgSuNaBh/30QOyCDtaS5c06B/uBI5BwYb0YOsklWBwpd1A2IiwiVYn9E
         viBV8dbRS9G1oOEYbZHSsU8bDyWuDWF1RT3dQEYaY7swwVSW3J8FWJLEHgtVMHToru50
         1F5w==
X-Gm-Message-State: ACgBeo28DQwSpxBM2JC8LaRQG2PAyu+NP9a6TTu6qBohPFPmSBCoteoQ
	fUqS3Mb2Pm/JA+j1LrVHHk5yctI22P/qGA==
X-Google-Smtp-Source: AA6agR4lVFv0o+CZLjjdxRTv6irG4QATfETPJDdOM7YoXPn2RqHlyiQ4t/rSfazokICXBS637EgoBw==
X-Received: by 2002:a17:903:24e:b0:172:6c9d:14e0 with SMTP id j14-20020a170903024e00b001726c9d14e0mr19492500plh.84.1661159723709;
        Mon, 22 Aug 2022 02:15:23 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	anthony.perard@citrix.com
Subject: [PATCH V5 0/6] Virtio toolstack support for I2C and GPIO on Arm
Date: Mon, 22 Aug 2022 14:45:12 +0530
Message-Id: <cover.1661159474.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This patchset adds toolstack support for I2C and GPIO virtio devices. This is
inspired from the work done by Oleksandr for the Disk device.

This is developed as part of Linaro's Project Stratos, where we are working
towards Hypervisor agnostic Rust based backend [1].

This is based of origin/staging (commit f6cd15188e09 ("amd/msr: implement
VIRT_SPEC_CTRL for HVM guests using legacy SSBD")) which already has Oleksandr's
patches applied.

V4->V5:
- Fixed indentation at few places.
- Removed/added blank lines.
- Added few comments.
- Added review tags from Oleksandr.
- Rebased over latest staging branch.

V3->V4:
- Update virtio_enabled independently of all devices, so we don't miss setting
  it to true.

- Add iommu handling for i2c/gpio and move it as part of
  make_virtio_mmio_node_common(), which gets backend_domid parameter as a
  result.

V2->V3:
- Rebased over latest tree and made changes according to changes in Oleksandr's
  patches from sometime back.
- Minor cleanups.

V1->V2:
- Patches 3/6 and 4/6 are new.
- Patches 5/6 and 6/6 updated based on the above two patches.
- Added link to the bindings for I2C and GPIO.
- Rebased over latest master branch.


Thanks.

--
Viresh

[1] https://lore.kernel.org/xen-devel/20220414092358.kepxbmnrtycz7mhe@vireshk-i7/

Viresh Kumar (6):
  libxl: Add support for Virtio I2C device
  libxl: Add support for Virtio GPIO device
  libxl: arm: Create alloc_virtio_mmio_params()
  libxl: arm: Split make_virtio_mmio_node()
  libxl: Allocate MMIO params for I2c device and update DT
  libxl: Allocate MMIO params for GPIO device and update DT

 tools/golang/xenlight/helpers.gen.go      | 212 ++++++++++++++++++++
 tools/golang/xenlight/types.gen.go        |  54 ++++++
 tools/include/libxl.h                     |  64 ++++++
 tools/include/libxl_utils.h               |   6 +
 tools/libs/light/Makefile                 |   2 +
 tools/libs/light/libxl_arm.c              | 175 ++++++++++++++---
 tools/libs/light/libxl_create.c           |  26 +++
 tools/libs/light/libxl_dm.c               |  34 +++-
 tools/libs/light/libxl_gpio.c             | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_i2c.c              | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   2 +
 tools/libs/light/libxl_types.idl          |  48 +++++
 tools/libs/light/libxl_types_internal.idl |   2 +
 tools/ocaml/libs/xl/genwrap.py            |   2 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   2 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   6 +
 tools/xl/xl_cmdtable.c                    |  30 +++
 tools/xl/xl_gpio.c                        | 142 ++++++++++++++
 tools/xl/xl_i2c.c                         | 142 ++++++++++++++
 tools/xl/xl_parse.c                       | 160 +++++++++++++++
 tools/xl/xl_parse.h                       |   2 +
 tools/xl/xl_sxp.c                         |   4 +
 23 files changed, 1539 insertions(+), 30 deletions(-)
 create mode 100644 tools/libs/light/libxl_gpio.c
 create mode 100644 tools/libs/light/libxl_i2c.c
 create mode 100644 tools/xl/xl_gpio.c
 create mode 100644 tools/xl/xl_i2c.c

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:15:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391247.629017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3X1-0001x9-Sw; Mon, 22 Aug 2022 09:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391247.629017; Mon, 22 Aug 2022 09:15:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3X1-0001wf-Os; Mon, 22 Aug 2022 09:15:39 +0000
Received: by outflank-mailman (input) for mailman id 391247;
 Mon, 22 Aug 2022 09:15:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J63M=Y2=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oQ3X0-00016q-MO
 for xen-devel@lists.xen.org; Mon, 22 Aug 2022 09:15:38 +0000
Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com
 [2607:f8b0:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbc912f6-21fa-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 11:15:37 +0200 (CEST)
Received: by mail-pg1-x52d.google.com with SMTP id w13so3760117pgq.7
 for <xen-devel@lists.xen.org>; Mon, 22 Aug 2022 02:15:37 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 z7-20020a1709027e8700b00172951dd9absm7873503pla.43.2022.08.22.02.15.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Aug 2022 02:15:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbc912f6-21fa-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=V2mdY566ca45hKMG7KJR4XNdOwkTjA1uL0gZlrSZ5zw=;
        b=CP9lYPL2sKa6LoCzSJ0w0suKTfTkrz8Hw+WrE9qWYmYaXSHCMEuWr7MGNXlLFZIo+o
         vAlGupnv63mpPWoeKDL9/hVbIhbrkXEKB0AaScNpwrMkmdTPCdyWeulperiYXNQExVKh
         IgoenigXuS4Hhc51nrsTkIVexka4EbRplpyDtUwHuG1Zmz3WKE2w5vCT/eTfCtxYZow+
         V/gFh5z7r0+XvH4ah8f3T6cL/q5bKkqUzz1gCaCggq5JCCB3TCNU2LGC0XyL+qYouEdz
         XpeQsZBard7u+onEcoqX4DemUzc9J/Nd85Q5izQgo/PPCvZavrdRcemVtBWeqwowpOvh
         Mb2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=V2mdY566ca45hKMG7KJR4XNdOwkTjA1uL0gZlrSZ5zw=;
        b=dnHyPPOx4MWj4d77XywMpL3oEk5rRlcN25kD+FiEDoiLCOmw3ufDasYXJGOzR647Jk
         TqFTLZVQKQxGpuT5fwMj5qAPyzamguBp//aojvU39ncfHo75gc4SAZ9+LsQA6+0wLIHD
         QRgjrJKyynb5yv2W5tsgf9hNqu7Cv22WfWLdz9myNjmKZZyADGpvtMSI6+A53WAMG7Rm
         gIxQYrrfzbLQZZ6AXFoLqB1es5ZvItDWKlQ/+NHuCoP4XWoABQpD2KTf4MoszlBqKvfJ
         +khRGcpY+humHaLPSuX4vNGX6g4/ddLZCOHUeTwtIHDwiKRpODUQ2lheL6046MCJwRsJ
         DoNw==
X-Gm-Message-State: ACgBeo3knMQInmzJwzlJKHBJvgKliMfrFcN3gUbkjKEKFd0w66FFEXFv
	Zi4Z6aR2nN4yCU3gkrs3lx5DNOKDDUh0Aw==
X-Google-Smtp-Source: AA6agR7eDgV6y/I71nVNPuZqwM1wnvxBOMzpWrGIbv80XVcveKBAmq4LmZHHSYJu/f0PlO3uSdjZew==
X-Received: by 2002:a63:6c49:0:b0:41d:e36b:1e4a with SMTP id h70-20020a636c49000000b0041de36b1e4amr16389739pgc.300.1661159736323;
        Mon, 22 Aug 2022 02:15:36 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	anthony.perard@citrix.com,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V5 4/6] libxl: arm: Split make_virtio_mmio_node()
Date: Mon, 22 Aug 2022 14:45:16 +0530
Message-Id: <981b663f6a44f9f82f32cc58219f6af26f73d66f.1661159474.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1661159474.git.viresh.kumar@linaro.org>
References: <cover.1661159474.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

make_virtio_mmio_node() creates the DT node for simple MMIO devices
currently, i.e. the ones that don't require any additional properties.

In order to allow using it for other complex device types, split the
functionality into two, one where the fdt node isn't closed and the
other one to create a simple DT node.

Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 0e3051bac5e4..4d0469f8166a 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -906,9 +906,9 @@ static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
     return 0;
 }
 
-static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
-                                 uint64_t base, uint32_t irq,
-                                 uint32_t backend_domid)
+/* The caller is responsible to complete / close the fdt node */
+static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, uint32_t backend_domid)
 {
     int res;
     gic_interrupt intr;
@@ -941,10 +941,18 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt,
         if (res) return res;
     }
 
-    res = fdt_end_node(fdt);
+    return res;
+}
+
+static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
     if (res) return res;
 
-    return 0;
+    return fdt_end_node(fdt);
 }
 
 static const struct arch_info *get_arch_info(libxl__gc *gc,
@@ -1267,8 +1275,9 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
                     iommu_created = true;
                 }
 
-                FDT( make_virtio_mmio_node(gc, fdt, disk->base, disk->irq,
-                                           disk->backend_domid) );
+                FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
+                                                  disk->irq,
+                                                  disk->backend_domid) );
             }
         }
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:15:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391245.628994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3Wy-0001Np-42; Mon, 22 Aug 2022 09:15:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391245.628994; Mon, 22 Aug 2022 09:15:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3Wy-0001Ni-0y; Mon, 22 Aug 2022 09:15:36 +0000
Received: by outflank-mailman (input) for mailman id 391245;
 Mon, 22 Aug 2022 09:15:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J63M=Y2=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oQ3Wv-00016q-TU
 for xen-devel@lists.xen.org; Mon, 22 Aug 2022 09:15:34 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6607254-21fa-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 11:15:29 +0200 (CEST)
Received: by mail-pj1-x102e.google.com with SMTP id
 w11-20020a17090a380b00b001f73f75a1feso13310557pjb.2
 for <xen-devel@lists.xen.org>; Mon, 22 Aug 2022 02:15:28 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 l190-20020a6225c7000000b0052ceaba7411sm8082247pfl.125.2022.08.22.02.15.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Aug 2022 02:15:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6607254-21fa-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=fU24OpivH0weAi1Ifky+/VghJphfJ+pgHrYzwZ0hQAc=;
        b=YXDzvjhuKwgRNjS4vOugNfML8qJLjQfPJ/XW0aMk9kdZNd9aBAo4mmq7fmZOdQUXeB
         rUQoTFqX16/MC/HgopOMls4aG/rZeoEPS/k6kAQaSdjujyPYDHzMCRVsnXujIOSs1Ux2
         Wp9HHa2AwMrlkksTVRlLRUwdEq/X/M1+i7Ytn8G7uehRL64vyKe+1GwM0yXfo6IBVYeq
         Z9iZ6yjEE9vXCarLH2bD4DP80TpwiTcktM48+UzIARZRef/np2BTdeshfqdNRWj8mOjh
         UGPEKRvQf6C//NOKPZTSw+hvjyDMRsC2BN5VvFddMU9sfSryLkpmf06dLCyuJ190z7QQ
         b28g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=fU24OpivH0weAi1Ifky+/VghJphfJ+pgHrYzwZ0hQAc=;
        b=1GdHKxAyNUYg1u7OgLXXq7p8xgMSExgXfzoyf/KzzCIuAM3pn+r4CCIGBlUVIXqbm9
         BDxV0oS+iMx6PsL7lQFiHN7TjHsQvCr81QEQWH21hdBXaWOOgXwf3DEmuwIUcW1N4+DQ
         l4xgxiwJz9C2bPW3bOxGPC+uI8GYY56yIdVbroZhGkprtY6xJQ+4xQKOl7yiEWnUQwUk
         TMk1j6oA+EbR8MWAyHWFyGeH7lY5KJvkqRRTfwboswZVEbxbERIP8rj5W1fovGW4mnxj
         bAmbeFvINVCsq1oAX+D+99559Tm2A/OiGofk2kjQ+6oj4Ytz3a/Ky9FwsgfIuRtOqWNz
         9hCA==
X-Gm-Message-State: ACgBeo3HI9tdi7p1cA7N2R5Cuyvv8BT+x48jzh6CUtyqhlIDP8jtTJI1
	WKuNnZa/4K3adhxzV9QkgRxgLvsF0u1/Dw==
X-Google-Smtp-Source: AA6agR61hPlSBGjYBqXSdFzVoRDiul430R5QDjbpl3hRcIVKt/RveUTtqowmYzYor1ERs8dJe81jWA==
X-Received: by 2002:a17:902:8f8a:b0:170:8df4:eebd with SMTP id z10-20020a1709028f8a00b001708df4eebdmr19587226plo.116.1661159727028;
        Mon, 22 Aug 2022 02:15:27 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	anthony.perard@citrix.com
Subject: [PATCH V5 1/6] libxl: Add support for Virtio I2C device
Date: Mon, 22 Aug 2022 14:45:13 +0530
Message-Id: <8b47d98cec83ca33a2b409c9371356820dd91b7a.1661159474.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1661159474.git.viresh.kumar@linaro.org>
References: <cover.1661159474.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting virtio-mmio
based virtio-i2c backend (emualator) which is intended to run out of
Qemu and could be run in any domain.

An example of domain configuration for Virtio I2c:
i2c = [ "" ]

Please note, this patch is not enough for virtio-i2c to work on Xen
(Arm), as for every Virtio device we need to allocate Virtio MMIO params
(IRQ and memory region) and pass them to the backend, also update Guest
device-tree. A subsequent patch will add these missing bits. For the
current patch, the default "irq" and "base" are just written to the
Xenstore.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/golang/xenlight/helpers.gen.go      | 108 +++++++++++
 tools/golang/xenlight/types.gen.go        |  27 +++
 tools/include/libxl.h                     |  32 +++
 tools/include/libxl_utils.h               |   3 +
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_create.c           |  13 ++
 tools/libs/light/libxl_dm.c               |  19 +-
 tools/libs/light/libxl_i2c.c              | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   1 +
 tools/libs/light/libxl_types.idl          |  24 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/ocaml/libs/xl/genwrap.py            |   1 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   1 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   3 +
 tools/xl/xl_cmdtable.c                    |  15 ++
 tools/xl/xl_i2c.c                         | 142 ++++++++++++++
 tools/xl/xl_parse.c                       |  80 ++++++++
 tools/xl/xl_parse.h                       |   1 +
 tools/xl/xl_sxp.c                         |   2 +
 20 files changed, 699 insertions(+), 3 deletions(-)
 create mode 100644 tools/libs/light/libxl_i2c.c
 create mode 100644 tools/xl/xl_i2c.c

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index fa3cf2ab7658..4c7b60439bf0 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1221,6 +1221,9 @@ x.Usbdevice = C.GoString(tmp.usbdevice)
 if err := x.VkbDevice.fromC(&tmp.vkb_device);err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := x.I2cDevice.fromC(&tmp.i2c_device);err != nil {
+return fmt.Errorf("converting field I2cDevice: %v", err)
+}
 x.Soundhw = C.GoString(tmp.soundhw)
 if err := x.XenPlatformPci.fromC(&tmp.xen_platform_pci);err != nil {
 return fmt.Errorf("converting field XenPlatformPci: %v", err)
@@ -1538,6 +1541,9 @@ hvm.usbdevice = C.CString(tmp.Usbdevice)}
 if err := tmp.VkbDevice.toC(&hvm.vkb_device); err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := tmp.I2cDevice.toC(&hvm.i2c_device); err != nil {
+return fmt.Errorf("converting field I2cDevice: %v", err)
+}
 if tmp.Soundhw != "" {
 hvm.soundhw = C.CString(tmp.Soundhw)}
 if err := tmp.XenPlatformPci.toC(&hvm.xen_platform_pci); err != nil {
@@ -1734,6 +1740,46 @@ xc.multi_touch_num_contacts = C.uint32_t(x.MultiTouchNumContacts)
  return nil
  }
 
+// NewDeviceI2c returns an instance of DeviceI2c initialized with defaults.
+func NewDeviceI2c() (*DeviceI2c, error) {
+var (
+x DeviceI2c
+xc C.libxl_device_i2c)
+
+C.libxl_device_i2c_init(&xc)
+defer C.libxl_device_i2c_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *DeviceI2c) fromC(xc *C.libxl_device_i2c) error {
+ x.BackendDomid = Domid(xc.backend_domid)
+x.BackendDomname = C.GoString(xc.backend_domname)
+x.Devid = Devid(xc.devid)
+x.BackendType = I2cBackend(xc.backend_type)
+x.Irq = uint32(xc.irq)
+x.Base = uint64(xc.base)
+
+ return nil}
+
+func (x *DeviceI2c) toC(xc *C.libxl_device_i2c) (err error){defer func(){
+if err != nil{
+C.libxl_device_i2c_dispose(xc)}
+}()
+
+xc.backend_domid = C.libxl_domid(x.BackendDomid)
+if x.BackendDomname != "" {
+xc.backend_domname = C.CString(x.BackendDomname)}
+xc.devid = C.libxl_devid(x.Devid)
+xc.backend_type = C.libxl_i2c_backend(x.BackendType)
+xc.irq = C.uint32_t(x.Irq)
+xc.base = C.uint64_t(x.Base)
+
+ return nil
+ }
+
 // NewDeviceDisk returns an instance of DeviceDisk initialized with defaults.
 func NewDeviceDisk() (*DeviceDisk, error) {
 var (
@@ -2867,6 +2913,15 @@ if err := x.Vkbs[i].fromC(&v); err != nil {
 return fmt.Errorf("converting field Vkbs: %v", err) }
 }
 }
+x.I2cs = nil
+if n := int(xc.num_i2cs); n > 0 {
+cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:n:n]
+x.I2cs = make([]DeviceI2c, n)
+for i, v := range cI2cs {
+if err := x.I2cs[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field I2cs: %v", err) }
+}
+}
 x.Vtpms = nil
 if n := int(xc.num_vtpms); n > 0 {
 cVtpms := (*[1<<28]C.libxl_device_vtpm)(unsafe.Pointer(xc.vtpms))[:n:n]
@@ -3028,6 +3083,16 @@ return fmt.Errorf("converting field Vkbs: %v", err)
 }
 }
 }
+if numI2cs := len(x.I2cs); numI2cs > 0 {
+xc.i2cs = (*C.libxl_device_i2c)(C.malloc(C.ulong(numI2cs)*C.sizeof_libxl_device_i2c))
+xc.num_i2cs = C.int(numI2cs)
+cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:numI2cs:numI2cs]
+for i,v := range x.I2cs {
+if err := v.toC(&cI2cs[i]); err != nil {
+return fmt.Errorf("converting field I2cs: %v", err)
+}
+}
+}
 if numVtpms := len(x.Vtpms); numVtpms > 0 {
 xc.vtpms = (*C.libxl_device_vtpm)(C.malloc(C.ulong(numVtpms)*C.sizeof_libxl_device_vtpm))
 xc.num_vtpms = C.int(numVtpms)
@@ -3733,6 +3798,49 @@ xc.rref = C.int(x.Rref)
  return nil
  }
 
+// NewI2cinfo returns an instance of I2cinfo initialized with defaults.
+func NewI2cinfo() (*I2cinfo, error) {
+var (
+x I2cinfo
+xc C.libxl_i2cinfo)
+
+C.libxl_i2cinfo_init(&xc)
+defer C.libxl_i2cinfo_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *I2cinfo) fromC(xc *C.libxl_i2cinfo) error {
+ x.Backend = C.GoString(xc.backend)
+x.BackendId = uint32(xc.backend_id)
+x.Frontend = C.GoString(xc.frontend)
+x.FrontendId = uint32(xc.frontend_id)
+x.Devid = Devid(xc.devid)
+x.State = int(xc.state)
+x.Evtch = int(xc.evtch)
+x.Rref = int(xc.rref)
+
+ return nil}
+
+func (x *I2cinfo) toC(xc *C.libxl_i2cinfo) (err error){defer func(){
+if err != nil{
+C.libxl_i2cinfo_dispose(xc)}
+}()
+
+if x.Backend != "" {
+xc.backend = C.CString(x.Backend)}
+xc.backend_id = C.uint32_t(x.BackendId)
+if x.Frontend != "" {
+xc.frontend = C.CString(x.Frontend)}
+xc.frontend_id = C.uint32_t(x.FrontendId)
+xc.devid = C.libxl_devid(x.Devid)
+xc.state = C.int(x.State)
+
+ return nil
+ }
+
 // NewNumainfo returns an instance of Numainfo initialized with defaults.
 func NewNumainfo() (*Numainfo, error) {
 var (
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index a0be7ada8c63..f8d7e84d6180 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -255,6 +255,11 @@ VkbBackendQemu VkbBackend = 1
 VkbBackendLinux VkbBackend = 2
 )
 
+type I2cBackend int
+const(
+I2cBackendVirtio I2cBackend = 0
+)
+
 type Passthrough int
 const(
 PassthroughDefault Passthrough = 0
@@ -584,6 +589,7 @@ Usb Defbool
 Usbversion int
 Usbdevice string
 VkbDevice Defbool
+I2cDevice Defbool
 Soundhw string
 XenPlatformPci Defbool
 UsbdeviceList StringList
@@ -646,6 +652,15 @@ MultiTouchHeight uint32
 MultiTouchNumContacts uint32
 }
 
+type DeviceI2c struct {
+BackendDomid Domid
+BackendDomname string
+Devid Devid
+BackendType I2cBackend
+Irq uint32
+Base uint64
+}
+
 type DeviceDisk struct {
 BackendDomid Domid
 BackendDomname string
@@ -935,6 +950,7 @@ Rdms []DeviceRdm
 Dtdevs []DeviceDtdev
 Vfbs []DeviceVfb
 Vkbs []DeviceVkb
+I2cs []DeviceI2c
 Vtpms []DeviceVtpm
 P9S []DeviceP9
 Pvcallsifs []DevicePvcallsif
@@ -1091,6 +1107,17 @@ Evtch int
 Rref int
 }
 
+type I2cinfo struct {
+Backend string
+BackendId uint32
+Frontend string
+FrontendId uint32
+Devid Devid
+State int
+Evtch int
+Rref int
+}
+
 type Numainfo struct {
 Size uint64
 Free uint64
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2321a648a59a..ab18c0b8c794 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -829,6 +829,15 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_BUILDINFO_VKB_DEVICE 1
 
+/*
+ * LIBXL_HAVE_BUILDINFO_I2C_DEVICE
+ *
+ * If this is defined, then the libxl_domain_build_info structure will
+ * contain a boolean hvm.i2c_device which instructs libxl whether to include
+ * a i2c at build time or not.
+ */
+#define LIBXL_HAVE_BUILDINFO_I2C_DEVICE 1
+
 /*
  * LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
  *
@@ -2397,6 +2406,29 @@ int libxl_device_vkb_getinfo(libxl_ctx *ctx, uint32_t domid,
                              libxl_vkbinfo *vkbinfo)
                              LIBXL_EXTERNAL_CALLERS_ONLY;
 
+/* I2C */
+int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
+                         const libxl_asyncop_how *ao_how)
+                         LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_remove(libxl_ctx *ctx, uint32_t domid,
+                            libxl_device_i2c *i2c,
+                            const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_i2c *i2c,
+                             const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+
+libxl_device_i2c *libxl_device_i2c_list(libxl_ctx *ctx,
+                                        uint32_t domid, int *num)
+                                        LIBXL_EXTERNAL_CALLERS_ONLY;
+void libxl_device_i2c_list_free(libxl_device_i2c* list, int num)
+                                LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_i2c_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_i2c *i2c,
+                             libxl_i2cinfo *i2cinfo)
+                             LIBXL_EXTERNAL_CALLERS_ONLY;
+
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb,
                          const libxl_asyncop_how *ao_how)
diff --git a/tools/include/libxl_utils.h b/tools/include/libxl_utils.h
index 46918aea847f..72b7796b7e4b 100644
--- a/tools/include/libxl_utils.h
+++ b/tools/include/libxl_utils.h
@@ -83,6 +83,9 @@ int libxl_devid_to_device_usbctrl(libxl_ctx *ctx, uint32_t domid,
 int libxl_devid_to_device_vkb(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_vkb *vkb);
 
+int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_i2c *i2c);
+
 int libxl_devid_to_device_vdispl(libxl_ctx *ctx, uint32_t domid,
                                  int devid, libxl_device_vdispl *vdispl);
 
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 13545654c2fc..961bdd33297b 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -112,6 +112,7 @@ OBJS-y += libxl_vdispl.o
 OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
+OBJS-y += libxl_i2c.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index b9dd2deedf13..84fe9f80c8fe 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -375,6 +375,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         libxl_defbool_setdefault(&b_info->u.hvm.altp2m,             false);
         libxl_defbool_setdefault(&b_info->u.hvm.usb,                false);
         libxl_defbool_setdefault(&b_info->u.hvm.vkb_device,         true);
+        libxl_defbool_setdefault(&b_info->u.hvm.i2c_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.xen_platform_pci,   true);
 
         libxl_defbool_setdefault(&b_info->u.hvm.spice.enable, false);
@@ -1753,6 +1754,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_console console;
         libxl__device device;
         libxl_device_vkb vkb;
+        libxl_device_i2c i2c;
 
         init_console_info(gc, &console, 0);
         console.backend_domid = state->console_domid;
@@ -1765,6 +1767,12 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
             libxl_device_vkb_dispose(&vkb);
         }
 
+        if (libxl_defbool_val(d_config->b_info.u.hvm.i2c_device)) {
+            libxl_device_i2c_init(&i2c);
+            libxl__device_add(gc, domid, &libxl__i2c_devtype, &i2c);
+            libxl_device_i2c_dispose(&i2c);
+        }
+
         dcs->sdss.dm.guest_domid = domid;
         if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
             libxl__spawn_stub_dm(egc, &dcs->sdss);
@@ -1797,6 +1805,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
                               &d_config->vkbs[i]);
         }
 
+        for (i = 0; i < d_config->num_i2cs; i++) {
+            libxl__device_add(gc, domid, &libxl__i2c_devtype,
+                              &d_config->i2cs[i]);
+        }
+
         if (d_config->b_info.arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART) {
             init_console_info(gc, &vuart, 0);
             vuart.backend_domid = state->console_domid;
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index fc264a3a13a6..362c0596f497 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2112,7 +2112,8 @@ static void libxl__dm_vifs_from_hvm_guest_config(libxl__gc *gc,
 static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
                                         const libxl_domain_config *guest_config,
                                         libxl_device_vfb *vfb,
-                                        libxl_device_vkb *vkb)
+                                        libxl_device_vkb *vkb,
+                                        libxl_device_i2c *i2c)
 {
     const libxl_domain_build_info *b_info = &guest_config->b_info;
 
@@ -2121,6 +2122,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
 
     libxl_device_vfb_init(vfb);
     libxl_device_vkb_init(vkb);
+    libxl_device_i2c_init(i2c);
 
     vfb->backend_domid = 0;
     vfb->devid = 0;
@@ -2131,6 +2133,9 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
     vkb->backend_domid = 0;
     vkb->devid = 0;
 
+    i2c->backend_domid = 0;
+    i2c->devid = 0;
+
     return 0;
 }
 
@@ -2293,6 +2298,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
     int ret;
     libxl_device_vfb *vfb;
     libxl_device_vkb *vkb;
+    libxl_device_i2c *i2c;
     char **args;
     struct xs_permissions perm[2];
     xs_transaction_t t;
@@ -2365,11 +2371,14 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
         || libxl_defbool_val(guest_config->b_info.u.hvm.sdl.enable)) {
         GCNEW(vfb);
         GCNEW(vkb);
-        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb);
+        GCNEW(i2c);
+        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, i2c);
         dm_config->vfbs = vfb;
         dm_config->num_vfbs = 1;
         dm_config->vkbs = vkb;
         dm_config->num_vkbs = 1;
+        dm_config->i2cs = i2c;
+        dm_config->num_i2cs = 1;
     }
 
     if (guest_config->b_info.stubdomain_kernel &&
@@ -2511,6 +2520,12 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
         if (ret) goto out;
     }
 
+    if (dm_config->num_i2cs) {
+        ret = libxl__device_add(gc, dm_domid, &libxl__i2c_devtype,
+                                &dm_config->i2cs[0]);
+        if (ret) goto out;
+    }
+
     if (guest_config->b_info.u.hvm.serial) {
         num_console++;
     } else if (guest_config->b_info.u.hvm.serial_list) {
diff --git a/tools/libs/light/libxl_i2c.c b/tools/libs/light/libxl_i2c.c
new file mode 100644
index 000000000000..2c46351ce3a4
--- /dev/null
+++ b/tools/libs/light/libxl_i2c.c
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_i2c_setdefault(libxl__gc *gc, uint32_t domid,
+                                        libxl_device_i2c *i2c, bool hotplug)
+{
+    if (i2c->backend_type != LIBXL_I2C_BACKEND_VIRTIO) {
+        i2c->backend_type = LIBXL_I2C_BACKEND_VIRTIO;
+    }
+
+    return libxl__resolve_domid(gc, i2c->backend_domname, &i2c->backend_domid);
+}
+
+static int libxl__device_i2c_dm_needed(void *e, uint32_t domid)
+{
+    libxl_device_i2c *elem = e;
+
+    return elem->backend_type == LIBXL_I2C_BACKEND_VIRTIO;
+}
+
+static int libxl__set_xenstore_i2c(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_i2c *i2c,
+                                   flexarray_t *back, flexarray_t *front,
+                                   flexarray_t *ro_front)
+{
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", i2c->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", i2c->base));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", i2c->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", i2c->base));
+
+    return 0;
+}
+
+static int libxl__i2c_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                    libxl_devid devid,
+                                    libxl_device_i2c *i2c)
+{
+    const char *be_path, *fe_path, *tmp;
+    libxl__device dev;
+    int rc;
+
+    i2c->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/frontend", libxl_path),
+                                  &fe_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &i2c->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__parse_backend_path(gc, be_path, &dev);
+    if (rc) goto out;
+
+    i2c->backend_type = LIBXL_I2C_BACKEND_VIRTIO;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        i2c->irq = strtoul(tmp, NULL, 0);
+    }
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        i2c->base = strtoul(tmp, NULL, 0);
+    }
+
+    rc = 0;
+
+out:
+
+    return rc;
+}
+
+static int libxl__device_from_i2c(libxl__gc *gc, uint32_t domid,
+                                  libxl_device_i2c *type, libxl__device *device)
+{
+    device->backend_devid   = type->devid;
+    device->backend_domid   = type->backend_domid;
+    device->backend_kind    = LIBXL__DEVICE_KIND_I2C;
+    device->devid           = type->devid;
+    device->domid           = domid;
+    device->kind            = LIBXL__DEVICE_KIND_I2C;
+
+    return 0;
+}
+
+int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
+    rc = libxl__device_add(gc, domid, &libxl__i2c_devtype, i2c);
+    if (rc) {
+        LOGD(ERROR, domid, "Unable to add i2c device");
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, rc);
+    return AO_INPROGRESS;
+}
+
+int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_i2c *i2c)
+{
+    GC_INIT(ctx);
+
+    libxl_device_i2c *i2cs = NULL;
+    int n, i;
+    int rc;
+
+    libxl_device_i2c_init(i2c);
+
+    i2cs = libxl__device_list(gc, &libxl__i2c_devtype, domid, &n);
+
+    if (!i2cs) { rc = ERROR_NOTFOUND; goto out; }
+
+    for (i = 0; i < n; ++i) {
+        if (devid == i2cs[i].devid) {
+            libxl_device_i2c_copy(ctx, i2c, &i2cs[i]);
+            rc = 0;
+            goto out;
+        }
+    }
+
+    rc = ERROR_NOTFOUND;
+
+out:
+
+    if (i2cs)
+        libxl__device_list_free(&libxl__i2c_devtype, i2cs, n);
+
+    GC_FREE;
+    return rc;
+}
+
+int libxl_device_i2c_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_i2c *i2c,
+                             libxl_i2cinfo *info)
+{
+    GC_INIT(ctx);
+    char *libxl_path, *dompath, *devpath;
+    char *val;
+    int rc;
+
+    libxl_i2cinfo_init(info);
+    dompath = libxl__xs_get_dompath(gc, domid);
+    info->devid = i2c->devid;
+
+    devpath = libxl__domain_device_frontend_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_I2C);
+    libxl_path = libxl__domain_device_libxl_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_I2C);
+
+    info->backend = xs_read(ctx->xsh, XBT_NULL,
+                            GCSPRINTF("%s/backend", libxl_path),
+                            NULL);
+    if (!info->backend) { rc = ERROR_FAIL; goto out; }
+
+    rc = libxl__backendpath_parse_domid(gc, info->backend, &info->backend_id);
+    if (rc) goto out;
+
+    val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", devpath));
+    info->state = val ? strtoul(val, NULL, 10) : -1;
+
+    info->frontend = xs_read(ctx->xsh, XBT_NULL,
+                             GCSPRINTF("%s/frontend", libxl_path),
+                             NULL);
+    info->frontend_id = domid;
+
+    rc = 0;
+
+out:
+     GC_FREE;
+     return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(i2c)
+
+#define libxl__add_i2cs NULL
+#define libxl_device_i2c_compare NULL
+
+LIBXL_DEFINE_DEVICE_LIST(i2c)
+LIBXL_DEFINE_DEVICE_REMOVE(i2c)
+
+DEFINE_DEVICE_TYPE_STRUCT(i2c, I2C, i2cs,
+    .skip_attach = 1,
+    .dm_needed = libxl__device_i2c_dm_needed,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_i2c,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__i2c_from_xenstore
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index cb9e8b3b8b5a..a8904cfea427 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4003,6 +4003,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__i2c_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
 extern const libxl__device_type libxl__vtpm_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index d634f304cda2..014a3ea8364c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,10 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_i2c_backend = Enumeration("i2c_backend", [
+    (0, "VIRTIO")
+    ])
+
 libxl_passthrough = Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -626,6 +630,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        # - "mouse" for PS/2 protocol relative mouse
                                        ("usbdevice",        string),
                                        ("vkb_device",       libxl_defbool),
+                                       ("i2c_device",       libxl_defbool),
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ("usbdevice_list",   libxl_string_list),
@@ -705,6 +710,15 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_i2c = Struct("device_i2c", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("devid", libxl_devid),
+    ("backend_type", libxl_i2c_backend),
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_disk = Struct("device_disk", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -982,6 +996,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("i2cs", Array(libxl_device_i2c, "num_i2cs")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
     ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
@@ -1145,6 +1160,15 @@ libxl_vkbinfo = Struct("vkbinfo", [
     ("rref", integer)
     ], dir=DIR_OUT)
 
+libxl_i2cinfo = Struct("i2cinfo", [
+    ("backend", string),
+    ("backend_id", uint32),
+    ("frontend", string),
+    ("frontend_id", uint32),
+    ("devid", libxl_devid),
+    ("state", integer),
+    ], dir=DIR_OUT)
+
 # NUMA node characteristics: size and free are how much memory it has, and how
 # much of it is free, respectively. dists is an array of distances from this
 # node to each other node.
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index fb0f4f23d7c2..b1a94a963dfe 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (15, "VSND"),
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
+    (18, "I2C"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
index 7bf26bdcd831..a9db0b97d80f 100644
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
 functions = { # ( name , [type1,type2,....] )
     "device_vfb":     DEVICE_FUNCTIONS,
     "device_vkb":     DEVICE_FUNCTIONS,
+    "device_i2c":     DEVICE_FUNCTIONS,
     "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
                       [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
                         ("of_vdev",        ["ctx", "domid", "string", "t"]),
diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
index 45b8af61c74a..cdf473f4ed57 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
 DEVICE_ADDREMOVE(nic)
 DEVICE_ADDREMOVE(vfb)
 DEVICE_ADDREMOVE(vkb)
+DEVICE_ADDREMOVE(i2c)
 DEVICE_ADDREMOVE(pci)
 _DEVICE_ADDREMOVE(disk, cdrom, insert)
 
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index b7f439121a3a..06801962f11e 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -23,7 +23,7 @@ XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o
 XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
 XL_OBJS += xl_info.o xl_console.o xl_misc.o
 XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
-XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o
+XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_i2c.o
 
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
 $(XL_OBJS): CFLAGS += $(CFLAGS_XL)
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 7c9aff6ad7a6..28618326149e 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -176,6 +176,9 @@ int main_vsnddetach(int argc, char **argv);
 int main_vkbattach(int argc, char **argv);
 int main_vkblist(int argc, char **argv);
 int main_vkbdetach(int argc, char **argv);
+int main_i2cattach(int argc, char **argv);
+int main_i2clist(int argc, char **argv);
+int main_i2cdetach(int argc, char **argv);
 int main_usbctrl_attach(int argc, char **argv);
 int main_usbctrl_detach(int argc, char **argv);
 int main_usbdev_attach(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 35182ca19630..c409ab1578d4 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -406,6 +406,21 @@ const struct cmd_spec cmd_table[] = {
       "Destroy a domain's virtual keyboard device",
       "<Domain> <DevId>",
     },
+    { "i2c-attach",
+      &main_i2cattach, 1, 1,
+      "Create a new virtual i2c device",
+      "<Domain> <i2c-spec-component(s)>...",
+    },
+    { "i2c-list",
+      &main_i2clist, 0, 0,
+      "List virtual i2c devices for a domain",
+      "<Domain(s)>",
+    },
+    { "i2c-detach",
+      &main_i2cdetach, 0, 1,
+      "Destroy a domain's virtual i2c device",
+      "<Domain> <DevId>",
+    },
     { "vdispl-attach",
       &main_vdisplattach, 1, 1,
       "Create a new virtual display device",
diff --git a/tools/xl/xl_i2c.c b/tools/xl/xl_i2c.c
new file mode 100644
index 000000000000..463fac2d5836
--- /dev/null
+++ b/tools/xl/xl_i2c.c
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include <stdlib.h>
+
+#include <libxl.h>
+#include <libxl_utils.h>
+#include <libxlutil.h>
+
+#include "xl.h"
+#include "xl_utils.h"
+#include "xl_parse.h"
+
+int main_i2cattach(int argc, char **argv)
+{
+    int opt;
+    int rc;
+    uint32_t domid;
+    libxl_device_i2c i2c;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-attach", 2) {
+        /* No options */
+    }
+
+    libxl_device_i2c_init(&i2c);
+    domid = find_domain(argv[optind++]);
+
+    for (argv += optind, argc -= optind; argc > 0; ++argv, --argc) {
+        rc = parse_i2c_config(&i2c, *argv);
+        if (rc) goto out;
+    }
+
+    if (dryrun_only) {
+        char *json = libxl_device_i2c_to_json(ctx, &i2c);
+        printf("i2c: %s\n", json);
+        free(json);
+        goto done;
+    }
+
+    if (libxl_device_i2c_add(ctx, domid, &i2c, 0)) {
+        fprintf(stderr, "libxl_device_i2c_add failed.\n");
+        rc = ERROR_FAIL; goto out;
+    }
+
+done:
+    rc = 0;
+
+out:
+    libxl_device_i2c_dispose(&i2c);
+    return rc;
+}
+
+int main_i2clist(int argc, char **argv)
+{
+    int opt;
+    libxl_device_i2c *i2cs;
+    libxl_i2cinfo i2cinfo;
+    int nb, i;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-list", 1) {
+        /* No options */
+    }
+
+    /*      Idx  BE   Hdl  Sta  evch ref ID    BE-type BE-path */
+    printf("%-3s %-2s %-6s %-5s %-6s %6s %-10s %-10s %-30s\n",
+           "Idx", "BE", "handle", "state", "evt-ch", "ref",
+           "ID", "BE-type", "BE-path");
+    for (argv += optind, argc -= optind; argc > 0; --argc, ++argv) {
+        uint32_t domid = find_domain(*argv);
+        i2cs = libxl_device_i2c_list(ctx, domid, &nb);
+        if (!i2cs) {
+            continue;
+        }
+        for (i = 0; i < nb; ++i) {
+            if (libxl_device_i2c_getinfo(ctx, domid, &i2cs[i], &i2cinfo) == 0) {
+                printf("%-3d %-2d %6d %5d %-10s %-30s\n",
+                       i2cinfo.devid, i2cinfo.backend_id,
+                       i2cinfo.devid, i2cinfo.state,
+                       libxl_i2c_backend_to_string(i2cs[i].backend_type),
+                       i2cinfo.backend);
+                libxl_i2cinfo_dispose(&i2cinfo);
+            }
+        }
+        libxl_device_i2c_list_free(i2cs, nb);
+    }
+    return 0;
+}
+
+int main_i2cdetach(int argc, char **argv)
+{
+    uint32_t domid, devid;
+    int opt, rc;
+    libxl_device_i2c i2c;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "i2c-detach", 2) {
+        /* No options */
+    }
+
+    domid = find_domain(argv[optind++]);
+    devid = atoi(argv[optind++]);
+
+    libxl_device_i2c_init(&i2c);
+
+    if (libxl_devid_to_device_i2c(ctx, domid, devid, &i2c)) {
+        fprintf(stderr, "Error: Device %d not connected.\n", devid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl_device_i2c_remove(ctx, domid, &i2c, 0);
+    if (rc) {
+        fprintf(stderr, "libxl_device_i2c_remove failed.\n");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = 0;
+
+out:
+    libxl_device_i2c_dispose(&i2c);
+    return rc;
+}
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 1b5381cef033..b91ffba14d40 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,74 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+int parse_i2c_config(libxl_device_i2c *i2c, char *token)
+{
+    char *oparg;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        i2c->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("backend-type", token, oparg)) {
+        libxl_i2c_backend backend_type;
+        if (libxl_i2c_backend_from_string(oparg, &backend_type)) {
+            fprintf(stderr, "Unknown backend_type \"%s\" in i2c spec\n",
+                            oparg);
+            return -1;
+        }
+        i2c->backend_type = backend_type;
+    } else if (MATCH_OPTION("irq", token, oparg)) {
+        i2c->irq = strtoul(oparg, NULL, 0);
+    } else if (MATCH_OPTION("base", token, oparg)) {
+        i2c->base = strtoul(oparg, NULL, 0);
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in i2c spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_i2c_list(const XLU_Config *config,
+                           libxl_domain_config *d_config)
+{
+    XLU_ConfigList *i2cs;
+    const char *item;
+    char *buf = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "i2c", &i2cs, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(i2cs, entry)) != NULL) {
+            libxl_device_i2c *i2c;
+            char *p;
+
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs,
+                                    d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
+            buf = strdup(item);
+
+            p = strtok (buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                rc = parse_i2c_config(i2c, p);
+                if (rc) goto out;
+
+                p = strtok (NULL, ",");
+            }
+
+            entry++;
+        }
+    }
+
+    rc = 0;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 void parse_config_data(const char *config_source,
                        const char *config_data,
                        int config_len,
@@ -2309,13 +2377,16 @@ void parse_config_data(const char *config_source,
 
     d_config->num_vfbs = 0;
     d_config->num_vkbs = 0;
+    d_config->num_i2cs = 0;
     d_config->vfbs = NULL;
     d_config->vkbs = NULL;
+    d_config->i2cs = NULL;
 
     if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
         while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_i2c *i2c;
 
             char *buf2 = strdup(buf);
             char *p, *p2;
@@ -2326,6 +2397,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
             p = strtok(buf2, ",");
             if (!p)
                 goto skip_vfb;
@@ -2583,6 +2657,7 @@ void parse_config_data(const char *config_source,
         if (vnc_enabled) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_i2c *i2c;
 
             vfb = ARRAY_EXTEND_INIT(d_config->vfbs, d_config->num_vfbs,
                                     libxl_device_vfb_init);
@@ -2590,6 +2665,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
+                                    libxl_device_i2c_init);
+
             parse_top_level_vnc_options(config, &vfb->vnc);
             parse_top_level_sdl_options(config, &vfb->sdl);
             xlu_cfg_replace_string (config, "keymap", &vfb->keymap, 0);
@@ -2704,6 +2782,7 @@ void parse_config_data(const char *config_source,
             exit(-ERROR_FAIL);
         }
         xlu_cfg_get_defbool(config, "vkb_device", &b_info->u.hvm.vkb_device, 0);
+        xlu_cfg_get_defbool(config, "i2c_device", &b_info->u.hvm.i2c_device, 0);
         xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
         xlu_cfg_get_defbool(config, "xen_platform_pci",
                             &b_info->u.hvm.xen_platform_pci, 0);
@@ -2752,6 +2831,7 @@ void parse_config_data(const char *config_source,
     }
 
     parse_vkb_list(config, d_config);
+    parse_i2c_list(config, d_config);
 
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
                         &c_info->xend_suspend_evtchn_compat, 0);
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index bab2861f8c3e..4b972d525199 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -36,6 +36,7 @@ int parse_nic_config(libxl_device_nic *nic, XLU_Config **config, char *token);
 int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token);
 int parse_vsnd_item(libxl_device_vsnd *vsnd, const char *spec);
 int parse_vkb_config(libxl_device_vkb *vkb, char *token);
+int parse_i2c_config(libxl_device_i2c *i2c, char *token);
 
 int match_option_size(const char *prefix, size_t len,
                       char *arg, char **argopt);
diff --git a/tools/xl/xl_sxp.c b/tools/xl/xl_sxp.c
index 359a0015709e..a44c765aa515 100644
--- a/tools/xl/xl_sxp.c
+++ b/tools/xl/xl_sxp.c
@@ -140,6 +140,8 @@ void printf_info_sexp(int domid, libxl_domain_config *d_config, FILE *fh)
         fprintf(fh, "\t\t\t(usbdevice %s)\n", b_info->u.hvm.usbdevice);
         fprintf(fh, "\t\t\t(vkb_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vkb_device));
+        fprintf(fh, "\t\t\t(i2c_device %s)\n",
+               libxl_defbool_to_string(b_info->u.hvm.i2c_device));
         fprintf(fh, "\t\t)\n");
         break;
     case LIBXL_DOMAIN_TYPE_PV:
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:15:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391244.628984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3Ww-00017O-Md; Mon, 22 Aug 2022 09:15:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391244.628984; Mon, 22 Aug 2022 09:15:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3Ww-00017H-Ji; Mon, 22 Aug 2022 09:15:34 +0000
Received: by outflank-mailman (input) for mailman id 391244;
 Mon, 22 Aug 2022 09:15:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J63M=Y2=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oQ3Wv-0000rO-8d
 for xen-devel@lists.xen.org; Mon, 22 Aug 2022 09:15:33 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f85ce788-21fa-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 11:15:31 +0200 (CEST)
Received: by mail-pj1-x102e.google.com with SMTP id e19so9119641pju.1
 for <xen-devel@lists.xen.org>; Mon, 22 Aug 2022 02:15:30 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 m14-20020a62a20e000000b0052d4afc4302sm8376003pff.175.2022.08.22.02.15.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Aug 2022 02:15:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f85ce788-21fa-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=VkEUrlWZDrqWgG/VHJJ9LmGVFWRNtQrymTNyyuvl9VQ=;
        b=lnpKPI3ksx6VpBbFLB5QLqlZQKtoof5q5zlPGLhM4Ism+MlMg674utX6IbihZxjMrC
         QnT/DbtqDYJOv/y0PGXxcj1vlfAFE/hSeKO3IWeJc9/6YA1qoS6pO2SFbYnHJzT1QpXi
         f1Jm8uitvbEhNQKpcmXrXg6bHroayN8xnaJj7UFXz7GT54qwG4bNf1VgH4YcWM3jBN4V
         c6v8KT5WaaniAeKIG74Eho0fvRZHcUreutY6QRgzmwrJjqnInNhyCQz3kh093eOxw8gk
         AXwvGHNhAH7EbbApC3x5lrvMRnJlYY75B83o7s+z/tZSK6ZhET31gC36rEJn+OFBrJTv
         bflg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=VkEUrlWZDrqWgG/VHJJ9LmGVFWRNtQrymTNyyuvl9VQ=;
        b=3Ma+u7ry7quyVbPso/FmRqdZ3IDyn5zomM9ujROi4CuQzlz6elIbHQPHJE1BHhvg0Z
         r5bUu6sEcP147vGoFpSKawC18qp66rewdKGlBHmkci2HnvmFuXQQbC/sA8Z5QTabG3pm
         BOC8vph6+rDRMjRDoE71TfBRRFpZkbvB6KOfUhNAc8lyGJw6qEQTHI8XTqhWj8nQdnYQ
         /Yi5tWLAr7AlY8e5XSwddEss3vGt7bjzoAZzTr1PuwyyNoOqpLEyhjpMKul+iOafRe4o
         gS8sIzJuNi8aDuCNw2TtK6oz+K4IEKyKohTkYval1CS+IPh9RU+5eJ79Qw3oyjXAkml4
         U4kg==
X-Gm-Message-State: ACgBeo1LVxAjXpi80fhwhZmP5BkDxcbOAYvK3A01gdxUHeSNAiOLjrMZ
	QHCzbCkiTBlwfji40SuZvHAqM7ZY93FRUw==
X-Google-Smtp-Source: AA6agR5MMpaabHx2H/jw/1NmRu8QMWpuNXIAqhT6/80ODwvqniqNxzebXZQuWFz77RFsV2vrMBH7iQ==
X-Received: by 2002:a17:902:ea0d:b0:172:ce60:1d4f with SMTP id s13-20020a170902ea0d00b00172ce601d4fmr11289560plg.68.1661159730325;
        Mon, 22 Aug 2022 02:15:30 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	anthony.perard@citrix.com
Subject: [PATCH V5 2/6] libxl: Add support for Virtio GPIO device
Date: Mon, 22 Aug 2022 14:45:14 +0530
Message-Id: <8ce51411dd910ead787be4aabb7239fcb3689972.1661159474.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1661159474.git.viresh.kumar@linaro.org>
References: <cover.1661159474.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting virtio-mmio
based virtio-gpio backend (emualator) which is intended to run out of
Qemu and could be run in any domain.

An example of domain configuration for Virtio Gpio:
gpio = [ "" ]

Please note, this patch is not enough for virtio-gpio to work on Xen
(Arm), as for every Virtio device we need to allocate Virtio MMIO params
(IRQ and memory region) and pass them to the backend, also update Guest
device-tree. A subsequent patch will add these missing bits. For the
current patch, the default "irq" and "base" are just written to the
Xenstore.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/golang/xenlight/helpers.gen.go      | 108 ++++++++++-
 tools/golang/xenlight/types.gen.go        |  27 +++
 tools/include/libxl.h                     |  32 +++
 tools/include/libxl_utils.h               |   3 +
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_create.c           |  13 ++
 tools/libs/light/libxl_dm.c               |  17 +-
 tools/libs/light/libxl_gpio.c             | 226 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   1 +
 tools/libs/light/libxl_types.idl          |  24 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/ocaml/libs/xl/genwrap.py            |   1 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   1 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   3 +
 tools/xl/xl_cmdtable.c                    |  15 ++
 tools/xl/xl_gpio.c                        | 142 ++++++++++++++
 tools/xl/xl_parse.c                       |  80 ++++++++
 tools/xl/xl_parse.h                       |   1 +
 tools/xl/xl_sxp.c                         |   2 +
 20 files changed, 696 insertions(+), 4 deletions(-)
 create mode 100644 tools/libs/light/libxl_gpio.c
 create mode 100644 tools/xl/xl_gpio.c

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 4c7b60439bf0..2f41ace71c61 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1221,6 +1221,9 @@ x.Usbdevice = C.GoString(tmp.usbdevice)
 if err := x.VkbDevice.fromC(&tmp.vkb_device);err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := x.GpioDevice.fromC(&tmp.gpio_device);err != nil {
+return fmt.Errorf("converting field GpioDevice: %v", err)
+}
 if err := x.I2cDevice.fromC(&tmp.i2c_device);err != nil {
 return fmt.Errorf("converting field I2cDevice: %v", err)
 }
@@ -1541,6 +1544,9 @@ hvm.usbdevice = C.CString(tmp.Usbdevice)}
 if err := tmp.VkbDevice.toC(&hvm.vkb_device); err != nil {
 return fmt.Errorf("converting field VkbDevice: %v", err)
 }
+if err := tmp.GpioDevice.toC(&hvm.gpio_device); err != nil {
+return fmt.Errorf("converting field GpioDevice: %v", err)
+}
 if err := tmp.I2cDevice.toC(&hvm.i2c_device); err != nil {
 return fmt.Errorf("converting field I2cDevice: %v", err)
 }
@@ -1740,6 +1746,46 @@ xc.multi_touch_num_contacts = C.uint32_t(x.MultiTouchNumContacts)
  return nil
  }
 
+// NewDeviceGpio returns an instance of DeviceGpio initialized with defaults.
+func NewDeviceGpio() (*DeviceGpio, error) {
+var (
+x DeviceGpio
+xc C.libxl_device_gpio)
+
+C.libxl_device_gpio_init(&xc)
+defer C.libxl_device_gpio_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *DeviceGpio) fromC(xc *C.libxl_device_gpio) error {
+ x.BackendDomid = Domid(xc.backend_domid)
+x.BackendDomname = C.GoString(xc.backend_domname)
+x.Devid = Devid(xc.devid)
+x.BackendType = GpioBackend(xc.backend_type)
+x.Irq = uint32(xc.irq)
+x.Base = uint64(xc.base)
+
+ return nil}
+
+func (x *DeviceGpio) toC(xc *C.libxl_device_gpio) (err error){defer func(){
+if err != nil{
+C.libxl_device_gpio_dispose(xc)}
+}()
+
+xc.backend_domid = C.libxl_domid(x.BackendDomid)
+if x.BackendDomname != "" {
+xc.backend_domname = C.CString(x.BackendDomname)}
+xc.devid = C.libxl_devid(x.Devid)
+xc.backend_type = C.libxl_gpio_backend(x.BackendType)
+xc.irq = C.uint32_t(x.Irq)
+xc.base = C.uint64_t(x.Base)
+
+ return nil
+ }
+
 // NewDeviceI2c returns an instance of DeviceI2c initialized with defaults.
 func NewDeviceI2c() (*DeviceI2c, error) {
 var (
@@ -2913,6 +2959,15 @@ if err := x.Vkbs[i].fromC(&v); err != nil {
 return fmt.Errorf("converting field Vkbs: %v", err) }
 }
 }
+x.Gpios = nil
+if n := int(xc.num_gpios); n > 0 {
+cGpios := (*[1<<28]C.libxl_device_gpio)(unsafe.Pointer(xc.gpios))[:n:n]
+x.Gpios = make([]DeviceGpio, n)
+for i, v := range cGpios {
+if err := x.Gpios[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field Gpios: %v", err) }
+}
+}
 x.I2cs = nil
 if n := int(xc.num_i2cs); n > 0 {
 cI2cs := (*[1<<28]C.libxl_device_i2c)(unsafe.Pointer(xc.i2cs))[:n:n]
@@ -3083,6 +3138,16 @@ return fmt.Errorf("converting field Vkbs: %v", err)
 }
 }
 }
+if numGpios := len(x.Gpios); numGpios > 0 {
+xc.gpios = (*C.libxl_device_gpio)(C.malloc(C.ulong(numGpios)*C.sizeof_libxl_device_gpio))
+xc.num_gpios = C.int(numGpios)
+cGpios := (*[1<<28]C.libxl_device_gpio)(unsafe.Pointer(xc.gpios))[:numGpios:numGpios]
+for i,v := range x.Gpios {
+if err := v.toC(&cGpios[i]); err != nil {
+return fmt.Errorf("converting field Gpios: %v", err)
+}
+}
+}
 if numI2cs := len(x.I2cs); numI2cs > 0 {
 xc.i2cs = (*C.libxl_device_i2c)(C.malloc(C.ulong(numI2cs)*C.sizeof_libxl_device_i2c))
 xc.num_i2cs = C.int(numI2cs)
@@ -3798,6 +3863,47 @@ xc.rref = C.int(x.Rref)
  return nil
  }
 
+// NewGpioinfo returns an instance of Gpioinfo initialized with defaults.
+func NewGpioinfo() (*Gpioinfo, error) {
+var (
+x Gpioinfo
+xc C.libxl_gpioinfo)
+
+C.libxl_gpioinfo_init(&xc)
+defer C.libxl_gpioinfo_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *Gpioinfo) fromC(xc *C.libxl_gpioinfo) error {
+ x.Backend = C.GoString(xc.backend)
+x.BackendId = uint32(xc.backend_id)
+x.Frontend = C.GoString(xc.frontend)
+x.FrontendId = uint32(xc.frontend_id)
+x.Devid = Devid(xc.devid)
+x.State = int(xc.state)
+
+ return nil}
+
+func (x *Gpioinfo) toC(xc *C.libxl_gpioinfo) (err error){defer func(){
+if err != nil{
+C.libxl_gpioinfo_dispose(xc)}
+}()
+
+if x.Backend != "" {
+xc.backend = C.CString(x.Backend)}
+xc.backend_id = C.uint32_t(x.BackendId)
+if x.Frontend != "" {
+xc.frontend = C.CString(x.Frontend)}
+xc.frontend_id = C.uint32_t(x.FrontendId)
+xc.devid = C.libxl_devid(x.Devid)
+xc.state = C.int(x.State)
+
+ return nil
+ }
+
 // NewI2cinfo returns an instance of I2cinfo initialized with defaults.
 func NewI2cinfo() (*I2cinfo, error) {
 var (
@@ -3819,8 +3925,6 @@ x.Frontend = C.GoString(xc.frontend)
 x.FrontendId = uint32(xc.frontend_id)
 x.Devid = Devid(xc.devid)
 x.State = int(xc.state)
-x.Evtch = int(xc.evtch)
-x.Rref = int(xc.rref)
 
  return nil}
 
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index f8d7e84d6180..5a4656035cd1 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -255,6 +255,11 @@ VkbBackendQemu VkbBackend = 1
 VkbBackendLinux VkbBackend = 2
 )
 
+type GpioBackend int
+const(
+GpioBackendVirtio GpioBackend = 0
+)
+
 type I2cBackend int
 const(
 I2cBackendVirtio I2cBackend = 0
@@ -589,6 +594,7 @@ Usb Defbool
 Usbversion int
 Usbdevice string
 VkbDevice Defbool
+GpioDevice Defbool
 I2cDevice Defbool
 Soundhw string
 XenPlatformPci Defbool
@@ -652,6 +658,15 @@ MultiTouchHeight uint32
 MultiTouchNumContacts uint32
 }
 
+type DeviceGpio struct {
+BackendDomid Domid
+BackendDomname string
+Devid Devid
+BackendType GpioBackend
+Irq uint32
+Base uint64
+}
+
 type DeviceI2c struct {
 BackendDomid Domid
 BackendDomname string
@@ -950,6 +965,7 @@ Rdms []DeviceRdm
 Dtdevs []DeviceDtdev
 Vfbs []DeviceVfb
 Vkbs []DeviceVkb
+Gpios []DeviceGpio
 I2cs []DeviceI2c
 Vtpms []DeviceVtpm
 P9S []DeviceP9
@@ -1107,6 +1123,17 @@ Evtch int
 Rref int
 }
 
+type Gpioinfo struct {
+Backend string
+BackendId uint32
+Frontend string
+FrontendId uint32
+Devid Devid
+State int
+Evtch int
+Rref int
+}
+
 type I2cinfo struct {
 Backend string
 BackendId uint32
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index ab18c0b8c794..3bbb6d031372 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -829,6 +829,15 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_BUILDINFO_VKB_DEVICE 1
 
+/*
+ * LIBXL_HAVE_BUILDINFO_GPIO_DEVICE
+ *
+ * If this is defined, then the libxl_domain_build_info structure will
+ * contain a boolean hvm.gpio_device which instructs libxl whether to include
+ * a gpio at build time or not.
+ */
+#define LIBXL_HAVE_BUILDINFO_GPIO_DEVICE 1
+
 /*
  * LIBXL_HAVE_BUILDINFO_I2C_DEVICE
  *
@@ -2406,6 +2415,29 @@ int libxl_device_vkb_getinfo(libxl_ctx *ctx, uint32_t domid,
                              libxl_vkbinfo *vkbinfo)
                              LIBXL_EXTERNAL_CALLERS_ONLY;
 
+/* GPIO */
+int libxl_device_gpio_add(libxl_ctx *ctx, uint32_t domid, libxl_device_gpio *gpio,
+                         const libxl_asyncop_how *ao_how)
+                         LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_remove(libxl_ctx *ctx, uint32_t domid,
+                            libxl_device_gpio *gpio,
+                            const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_gpio *gpio,
+                             const libxl_asyncop_how *ao_how)
+                            LIBXL_EXTERNAL_CALLERS_ONLY;
+
+libxl_device_gpio *libxl_device_gpio_list(libxl_ctx *ctx,
+                                        uint32_t domid, int *num)
+                                        LIBXL_EXTERNAL_CALLERS_ONLY;
+void libxl_device_gpio_list_free(libxl_device_gpio* list, int num)
+                                LIBXL_EXTERNAL_CALLERS_ONLY;
+int libxl_device_gpio_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_gpio *gpio,
+                             libxl_gpioinfo *gpioinfo)
+                             LIBXL_EXTERNAL_CALLERS_ONLY;
+
 /* I2C */
 int libxl_device_i2c_add(libxl_ctx *ctx, uint32_t domid, libxl_device_i2c *i2c,
                          const libxl_asyncop_how *ao_how)
diff --git a/tools/include/libxl_utils.h b/tools/include/libxl_utils.h
index 72b7796b7e4b..91f5c68172cb 100644
--- a/tools/include/libxl_utils.h
+++ b/tools/include/libxl_utils.h
@@ -83,6 +83,9 @@ int libxl_devid_to_device_usbctrl(libxl_ctx *ctx, uint32_t domid,
 int libxl_devid_to_device_vkb(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_vkb *vkb);
 
+int libxl_devid_to_device_gpio(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_gpio *gpio);
+
 int libxl_devid_to_device_i2c(libxl_ctx *ctx, uint32_t domid,
                               int devid, libxl_device_i2c *i2c);
 
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 961bdd33297b..7fae83100829 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -113,6 +113,7 @@ OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
 OBJS-y += libxl_i2c.o
+OBJS-y += libxl_gpio.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 84fe9f80c8fe..98a27ff8c005 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -375,6 +375,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         libxl_defbool_setdefault(&b_info->u.hvm.altp2m,             false);
         libxl_defbool_setdefault(&b_info->u.hvm.usb,                false);
         libxl_defbool_setdefault(&b_info->u.hvm.vkb_device,         true);
+        libxl_defbool_setdefault(&b_info->u.hvm.gpio_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.i2c_device,         true);
         libxl_defbool_setdefault(&b_info->u.hvm.xen_platform_pci,   true);
 
@@ -1754,6 +1755,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_console console;
         libxl__device device;
         libxl_device_vkb vkb;
+        libxl_device_gpio gpio;
         libxl_device_i2c i2c;
 
         init_console_info(gc, &console, 0);
@@ -1767,6 +1769,12 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
             libxl_device_vkb_dispose(&vkb);
         }
 
+        if (libxl_defbool_val(d_config->b_info.u.hvm.gpio_device)) {
+            libxl_device_gpio_init(&gpio);
+            libxl__device_add(gc, domid, &libxl__gpio_devtype, &gpio);
+            libxl_device_gpio_dispose(&gpio);
+        }
+
         if (libxl_defbool_val(d_config->b_info.u.hvm.i2c_device)) {
             libxl_device_i2c_init(&i2c);
             libxl__device_add(gc, domid, &libxl__i2c_devtype, &i2c);
@@ -1805,6 +1813,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
                               &d_config->vkbs[i]);
         }
 
+        for (i = 0; i < d_config->num_gpios; i++) {
+            libxl__device_add(gc, domid, &libxl__gpio_devtype,
+                              &d_config->gpios[i]);
+        }
+
         for (i = 0; i < d_config->num_i2cs; i++) {
             libxl__device_add(gc, domid, &libxl__i2c_devtype,
                               &d_config->i2cs[i]);
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 362c0596f497..95d5606870c1 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2113,6 +2113,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
                                         const libxl_domain_config *guest_config,
                                         libxl_device_vfb *vfb,
                                         libxl_device_vkb *vkb,
+                                        libxl_device_gpio *gpio,
                                         libxl_device_i2c *i2c)
 {
     const libxl_domain_build_info *b_info = &guest_config->b_info;
@@ -2122,6 +2123,7 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
 
     libxl_device_vfb_init(vfb);
     libxl_device_vkb_init(vkb);
+    libxl_device_gpio_init(gpio);
     libxl_device_i2c_init(i2c);
 
     vfb->backend_domid = 0;
@@ -2133,6 +2135,9 @@ static int libxl__vfb_and_vkb_from_hvm_guest_config(libxl__gc *gc,
     vkb->backend_domid = 0;
     vkb->devid = 0;
 
+    gpio->backend_domid = 0;
+    gpio->devid = 0;
+
     i2c->backend_domid = 0;
     i2c->devid = 0;
 
@@ -2298,6 +2303,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
     int ret;
     libxl_device_vfb *vfb;
     libxl_device_vkb *vkb;
+    libxl_device_gpio *gpio;
     libxl_device_i2c *i2c;
     char **args;
     struct xs_permissions perm[2];
@@ -2371,12 +2377,15 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
         || libxl_defbool_val(guest_config->b_info.u.hvm.sdl.enable)) {
         GCNEW(vfb);
         GCNEW(vkb);
+        GCNEW(gpio);
         GCNEW(i2c);
-        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, i2c);
+        libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, vfb, vkb, gpio, i2c);
         dm_config->vfbs = vfb;
         dm_config->num_vfbs = 1;
         dm_config->vkbs = vkb;
         dm_config->num_vkbs = 1;
+        dm_config->gpios = gpio;
+        dm_config->num_gpios = 1;
         dm_config->i2cs = i2c;
         dm_config->num_i2cs = 1;
     }
@@ -2520,6 +2529,12 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
         if (ret) goto out;
     }
 
+    if (dm_config->num_gpios) {
+        ret = libxl__device_add(gc, dm_domid, &libxl__gpio_devtype,
+                                &dm_config->gpios[0]);
+        if (ret) goto out;
+    }
+
     if (dm_config->num_i2cs) {
         ret = libxl__device_add(gc, dm_domid, &libxl__i2c_devtype,
                                 &dm_config->i2cs[0]);
diff --git a/tools/libs/light/libxl_gpio.c b/tools/libs/light/libxl_gpio.c
new file mode 100644
index 000000000000..1597f0ac7cea
--- /dev/null
+++ b/tools/libs/light/libxl_gpio.c
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_gpio_setdefault(libxl__gc *gc, uint32_t domid,
+                                        libxl_device_gpio *gpio, bool hotplug)
+{
+    if (gpio->backend_type != LIBXL_GPIO_BACKEND_VIRTIO) {
+        gpio->backend_type = LIBXL_GPIO_BACKEND_VIRTIO;
+    }
+
+    return libxl__resolve_domid(gc, gpio->backend_domname, &gpio->backend_domid);
+}
+
+static int libxl__device_gpio_dm_needed(void *e, uint32_t domid)
+{
+    libxl_device_gpio *elem = e;
+
+    return elem->backend_type == LIBXL_GPIO_BACKEND_VIRTIO;
+}
+
+static int libxl__set_xenstore_gpio(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_gpio *gpio,
+                                   flexarray_t *back, flexarray_t *front,
+                                   flexarray_t *ro_front)
+{
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", gpio->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", gpio->base));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", gpio->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", gpio->base));
+
+    return 0;
+}
+
+static int libxl__gpio_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                    libxl_devid devid,
+                                    libxl_device_gpio *gpio)
+{
+    const char *be_path, *fe_path, *tmp;
+    libxl__device dev;
+    int rc;
+
+    gpio->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/frontend", libxl_path),
+                                  &fe_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &gpio->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__parse_backend_path(gc, be_path, &dev);
+    if (rc) goto out;
+
+    gpio->backend_type = LIBXL_GPIO_BACKEND_VIRTIO;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        gpio->irq = strtoul(tmp, NULL, 0);
+    }
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        gpio->base = strtoul(tmp, NULL, 0);
+    }
+
+    rc = 0;
+
+out:
+
+    return rc;
+}
+
+static int libxl__device_from_gpio(libxl__gc *gc, uint32_t domid,
+                                  libxl_device_gpio *type, libxl__device *device)
+{
+    device->backend_devid   = type->devid;
+    device->backend_domid   = type->backend_domid;
+    device->backend_kind    = LIBXL__DEVICE_KIND_GPIO;
+    device->devid           = type->devid;
+    device->domid           = domid;
+    device->kind            = LIBXL__DEVICE_KIND_GPIO;
+
+    return 0;
+}
+
+int libxl_device_gpio_add(libxl_ctx *ctx, uint32_t domid, libxl_device_gpio *gpio,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
+    rc = libxl__device_add(gc, domid, &libxl__gpio_devtype, gpio);
+    if (rc) {
+        LOGD(ERROR, domid, "Unable to add gpio device");
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, rc);
+    return AO_INPROGRESS;
+}
+
+int libxl_devid_to_device_gpio(libxl_ctx *ctx, uint32_t domid,
+                              int devid, libxl_device_gpio *gpio)
+{
+    GC_INIT(ctx);
+
+    libxl_device_gpio *gpios = NULL;
+    int n, i;
+    int rc;
+
+    libxl_device_gpio_init(gpio);
+
+    gpios = libxl__device_list(gc, &libxl__gpio_devtype, domid, &n);
+
+    if (!gpios) { rc = ERROR_NOTFOUND; goto out; }
+
+    for (i = 0; i < n; ++i) {
+        if (devid == gpios[i].devid) {
+            libxl_device_gpio_copy(ctx, gpio, &gpios[i]);
+            rc = 0;
+            goto out;
+        }
+    }
+
+    rc = ERROR_NOTFOUND;
+
+out:
+
+    if (gpios)
+        libxl__device_list_free(&libxl__gpio_devtype, gpios, n);
+
+    GC_FREE;
+    return rc;
+}
+
+int libxl_device_gpio_getinfo(libxl_ctx *ctx, uint32_t domid,
+                             const libxl_device_gpio *gpio,
+                             libxl_gpioinfo *info)
+{
+    GC_INIT(ctx);
+    char *libxl_path, *dompath, *devpath;
+    char *val;
+    int rc;
+
+    libxl_gpioinfo_init(info);
+    dompath = libxl__xs_get_dompath(gc, domid);
+    info->devid = gpio->devid;
+
+    devpath = libxl__domain_device_frontend_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_GPIO);
+    libxl_path = libxl__domain_device_libxl_path(gc, domid, info->devid,
+                                                 LIBXL__DEVICE_KIND_GPIO);
+
+    info->backend = xs_read(ctx->xsh, XBT_NULL,
+                            GCSPRINTF("%s/backend", libxl_path),
+                            NULL);
+    if (!info->backend) { rc = ERROR_FAIL; goto out; }
+
+    rc = libxl__backendpath_parse_domid(gc, info->backend, &info->backend_id);
+    if (rc) goto out;
+
+    val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", devpath));
+    info->state = val ? strtoul(val, NULL, 10) : -1;
+
+    info->frontend = xs_read(ctx->xsh, XBT_NULL,
+                             GCSPRINTF("%s/frontend", libxl_path),
+                             NULL);
+    info->frontend_id = domid;
+
+    rc = 0;
+
+out:
+     GC_FREE;
+     return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(gpio)
+
+#define libxl__add_gpios NULL
+#define libxl_device_gpio_compare NULL
+
+LIBXL_DEFINE_DEVICE_LIST(gpio)
+LIBXL_DEFINE_DEVICE_REMOVE(gpio)
+
+DEFINE_DEVICE_TYPE_STRUCT(gpio, GPIO, gpios,
+    .skip_attach = 1,
+    .dm_needed = libxl__device_gpio_dm_needed,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_gpio,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__gpio_from_xenstore
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index a8904cfea427..a64d0cb63179 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4003,6 +4003,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__gpio_devtype;
 extern const libxl__device_type libxl__i2c_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 014a3ea8364c..4c476a325e9d 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,10 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_gpio_backend = Enumeration("gpio_backend", [
+    (0, "VIRTIO")
+    ])
+
 libxl_i2c_backend = Enumeration("i2c_backend", [
     (0, "VIRTIO")
     ])
@@ -630,6 +634,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        # - "mouse" for PS/2 protocol relative mouse
                                        ("usbdevice",        string),
                                        ("vkb_device",       libxl_defbool),
+                                       ("gpio_device",       libxl_defbool),
                                        ("i2c_device",       libxl_defbool),
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
@@ -710,6 +715,15 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_gpio = Struct("device_gpio", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("devid", libxl_devid),
+    ("backend_type", libxl_gpio_backend),
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_i2c = Struct("device_i2c", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -996,6 +1010,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("gpios", Array(libxl_device_gpio, "num_gpios")),
     ("i2cs", Array(libxl_device_i2c, "num_i2cs")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
@@ -1160,6 +1175,15 @@ libxl_vkbinfo = Struct("vkbinfo", [
     ("rref", integer)
     ], dir=DIR_OUT)
 
+libxl_gpioinfo = Struct("gpioinfo", [
+    ("backend", string),
+    ("backend_id", uint32),
+    ("frontend", string),
+    ("frontend_id", uint32),
+    ("devid", libxl_devid),
+    ("state", integer),
+    ], dir=DIR_OUT)
+
 libxl_i2cinfo = Struct("i2cinfo", [
     ("backend", string),
     ("backend_id", uint32),
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index b1a94a963dfe..b57469b010ce 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -34,6 +34,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
     (18, "I2C"),
+    (19, "GPIO"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
index a9db0b97d80f..ffab4b362d2a 100644
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
 functions = { # ( name , [type1,type2,....] )
     "device_vfb":     DEVICE_FUNCTIONS,
     "device_vkb":     DEVICE_FUNCTIONS,
+    "device_gpio":     DEVICE_FUNCTIONS,
     "device_i2c":     DEVICE_FUNCTIONS,
     "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
                       [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
index cdf473f4ed57..0114cc22a1b6 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
 DEVICE_ADDREMOVE(nic)
 DEVICE_ADDREMOVE(vfb)
 DEVICE_ADDREMOVE(vkb)
+DEVICE_ADDREMOVE(gpio)
 DEVICE_ADDREMOVE(i2c)
 DEVICE_ADDREMOVE(pci)
 _DEVICE_ADDREMOVE(disk, cdrom, insert)
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index 06801962f11e..34ff203bfd86 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -23,7 +23,7 @@ XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o
 XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
 XL_OBJS += xl_info.o xl_console.o xl_misc.o
 XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
-XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_i2c.o
+XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_gpio.o xl_i2c.o
 
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
 $(XL_OBJS): CFLAGS += $(CFLAGS_XL)
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 28618326149e..dfa557077631 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -176,6 +176,9 @@ int main_vsnddetach(int argc, char **argv);
 int main_vkbattach(int argc, char **argv);
 int main_vkblist(int argc, char **argv);
 int main_vkbdetach(int argc, char **argv);
+int main_gpioattach(int argc, char **argv);
+int main_gpiolist(int argc, char **argv);
+int main_gpiodetach(int argc, char **argv);
 int main_i2cattach(int argc, char **argv);
 int main_i2clist(int argc, char **argv);
 int main_i2cdetach(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index c409ab1578d4..0c0d32b2e25b 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -406,6 +406,21 @@ const struct cmd_spec cmd_table[] = {
       "Destroy a domain's virtual keyboard device",
       "<Domain> <DevId>",
     },
+    { "gpio-attach",
+      &main_gpioattach, 1, 1,
+      "Create a new virtual gpio device",
+      "<Domain> <gpio-spec-component(s)>...",
+    },
+    { "gpio-list",
+      &main_gpiolist, 0, 0,
+      "List virtual gpio devices for a domain",
+      "<Domain(s)>",
+    },
+    { "gpio-detach",
+      &main_gpiodetach, 0, 1,
+      "Destroy a domain's virtual gpio device",
+      "<Domain> <DevId>",
+    },
     { "i2c-attach",
       &main_i2cattach, 1, 1,
       "Create a new virtual i2c device",
diff --git a/tools/xl/xl_gpio.c b/tools/xl/xl_gpio.c
new file mode 100644
index 000000000000..fa63b01ab180
--- /dev/null
+++ b/tools/xl/xl_gpio.c
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include <stdlib.h>
+
+#include <libxl.h>
+#include <libxl_utils.h>
+#include <libxlutil.h>
+
+#include "xl.h"
+#include "xl_utils.h"
+#include "xl_parse.h"
+
+int main_gpioattach(int argc, char **argv)
+{
+    int opt;
+    int rc;
+    uint32_t domid;
+    libxl_device_gpio gpio;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-attach", 2) {
+        /* No options */
+    }
+
+    libxl_device_gpio_init(&gpio);
+    domid = find_domain(argv[optind++]);
+
+    for (argv += optind, argc -= optind; argc > 0; ++argv, --argc) {
+        rc = parse_gpio_config(&gpio, *argv);
+        if (rc) goto out;
+    }
+
+    if (dryrun_only) {
+        char *json = libxl_device_gpio_to_json(ctx, &gpio);
+        printf("gpio: %s\n", json);
+        free(json);
+        goto done;
+    }
+
+    if (libxl_device_gpio_add(ctx, domid, &gpio, 0)) {
+        fprintf(stderr, "libxl_device_gpio_add failed.\n");
+        rc = ERROR_FAIL; goto out;
+    }
+
+done:
+    rc = 0;
+
+out:
+    libxl_device_gpio_dispose(&gpio);
+    return rc;
+}
+
+int main_gpiolist(int argc, char **argv)
+{
+    int opt;
+    libxl_device_gpio *gpios;
+    libxl_gpioinfo gpioinfo;
+    int nb, i;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-list", 1) {
+        /* No options */
+    }
+
+    /*      Idx  BE   Hdl  Sta  evch ref ID    BE-type BE-path */
+    printf("%-3s %-2s %-6s %-5s %-6s %6s %-10s %-10s %-30s\n",
+           "Idx", "BE", "handle", "state", "evt-ch", "ref",
+           "ID", "BE-type", "BE-path");
+    for (argv += optind, argc -= optind; argc > 0; --argc, ++argv) {
+        uint32_t domid = find_domain(*argv);
+        gpios = libxl_device_gpio_list(ctx, domid, &nb);
+        if (!gpios) {
+            continue;
+        }
+        for (i = 0; i < nb; ++i) {
+            if (libxl_device_gpio_getinfo(ctx, domid, &gpios[i], &gpioinfo) == 0) {
+                printf("%-3d %-2d %6d %5d %-10s %-30s\n",
+                       gpioinfo.devid, gpioinfo.backend_id,
+                       gpioinfo.devid, gpioinfo.state,
+                       libxl_gpio_backend_to_string(gpios[i].backend_type),
+                       gpioinfo.backend);
+                libxl_gpioinfo_dispose(&gpioinfo);
+            }
+        }
+        libxl_device_gpio_list_free(gpios, nb);
+    }
+    return 0;
+}
+
+int main_gpiodetach(int argc, char **argv)
+{
+    uint32_t domid, devid;
+    int opt, rc;
+    libxl_device_gpio gpio;
+
+    SWITCH_FOREACH_OPT(opt, "", NULL, "gpio-detach", 2) {
+        /* No options */
+    }
+
+    domid = find_domain(argv[optind++]);
+    devid = atoi(argv[optind++]);
+
+    libxl_device_gpio_init(&gpio);
+
+    if (libxl_devid_to_device_gpio(ctx, domid, devid, &gpio)) {
+        fprintf(stderr, "Error: Device %d not connected.\n", devid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl_device_gpio_remove(ctx, domid, &gpio, 0);
+    if (rc) {
+        fprintf(stderr, "libxl_device_gpio_remove failed.\n");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = 0;
+
+out:
+    libxl_device_gpio_dispose(&gpio);
+    return rc;
+}
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index b91ffba14d40..181379cd5d19 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,74 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+int parse_gpio_config(libxl_device_gpio *gpio, char *token)
+{
+    char *oparg;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        gpio->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("backend-type", token, oparg)) {
+        libxl_gpio_backend backend_type;
+        if (libxl_gpio_backend_from_string(oparg, &backend_type)) {
+            fprintf(stderr, "Unknown backend_type \"%s\" in gpio spec\n",
+                            oparg);
+            return -1;
+        }
+        gpio->backend_type = backend_type;
+    } else if (MATCH_OPTION("irq", token, oparg)) {
+        gpio->irq = strtoul(oparg, NULL, 0);
+    } else if (MATCH_OPTION("base", token, oparg)) {
+        gpio->base = strtoul(oparg, NULL, 0);
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in gpio spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_gpio_list(const XLU_Config *config,
+                           libxl_domain_config *d_config)
+{
+    XLU_ConfigList *gpios;
+    const char *item;
+    char *buf = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "gpio", &gpios, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(gpios, entry)) != NULL) {
+            libxl_device_gpio *gpio;
+            char *p;
+
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios,
+                                    d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
+            buf = strdup(item);
+
+            p = strtok (buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                rc = parse_gpio_config(gpio, p);
+                if (rc) goto out;
+
+                p = strtok (NULL, ",");
+            }
+
+            entry++;
+        }
+    }
+
+    rc = 0;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 int parse_i2c_config(libxl_device_i2c *i2c, char *token)
 {
     char *oparg;
@@ -2377,15 +2445,18 @@ void parse_config_data(const char *config_source,
 
     d_config->num_vfbs = 0;
     d_config->num_vkbs = 0;
+    d_config->num_gpios = 0;
     d_config->num_i2cs = 0;
     d_config->vfbs = NULL;
     d_config->vkbs = NULL;
+    d_config->gpios = NULL;
     d_config->i2cs = NULL;
 
     if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
         while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_gpio *gpio;
             libxl_device_i2c *i2c;
 
             char *buf2 = strdup(buf);
@@ -2397,6 +2468,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios, d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
             i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
                                     libxl_device_i2c_init);
 
@@ -2657,6 +2731,7 @@ void parse_config_data(const char *config_source,
         if (vnc_enabled) {
             libxl_device_vfb *vfb;
             libxl_device_vkb *vkb;
+            libxl_device_gpio *gpio;
             libxl_device_i2c *i2c;
 
             vfb = ARRAY_EXTEND_INIT(d_config->vfbs, d_config->num_vfbs,
@@ -2665,6 +2740,9 @@ void parse_config_data(const char *config_source,
             vkb = ARRAY_EXTEND_INIT(d_config->vkbs, d_config->num_vkbs,
                                     libxl_device_vkb_init);
 
+            gpio = ARRAY_EXTEND_INIT(d_config->gpios, d_config->num_gpios,
+                                    libxl_device_gpio_init);
+
             i2c = ARRAY_EXTEND_INIT(d_config->i2cs, d_config->num_i2cs,
                                     libxl_device_i2c_init);
 
@@ -2782,6 +2860,7 @@ void parse_config_data(const char *config_source,
             exit(-ERROR_FAIL);
         }
         xlu_cfg_get_defbool(config, "vkb_device", &b_info->u.hvm.vkb_device, 0);
+        xlu_cfg_get_defbool(config, "gpio_device", &b_info->u.hvm.gpio_device, 0);
         xlu_cfg_get_defbool(config, "i2c_device", &b_info->u.hvm.i2c_device, 0);
         xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
         xlu_cfg_get_defbool(config, "xen_platform_pci",
@@ -2831,6 +2910,7 @@ void parse_config_data(const char *config_source,
     }
 
     parse_vkb_list(config, d_config);
+    parse_gpio_list(config, d_config);
     parse_i2c_list(config, d_config);
 
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index 4b972d525199..6e041abe5d50 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -36,6 +36,7 @@ int parse_nic_config(libxl_device_nic *nic, XLU_Config **config, char *token);
 int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token);
 int parse_vsnd_item(libxl_device_vsnd *vsnd, const char *spec);
 int parse_vkb_config(libxl_device_vkb *vkb, char *token);
+int parse_gpio_config(libxl_device_gpio *gpio, char *token);
 int parse_i2c_config(libxl_device_i2c *i2c, char *token);
 
 int match_option_size(const char *prefix, size_t len,
diff --git a/tools/xl/xl_sxp.c b/tools/xl/xl_sxp.c
index a44c765aa515..632e1f338d09 100644
--- a/tools/xl/xl_sxp.c
+++ b/tools/xl/xl_sxp.c
@@ -140,6 +140,8 @@ void printf_info_sexp(int domid, libxl_domain_config *d_config, FILE *fh)
         fprintf(fh, "\t\t\t(usbdevice %s)\n", b_info->u.hvm.usbdevice);
         fprintf(fh, "\t\t\t(vkb_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vkb_device));
+        fprintf(fh, "\t\t\t(gpio_device %s)\n",
+               libxl_defbool_to_string(b_info->u.hvm.gpio_device));
         fprintf(fh, "\t\t\t(i2c_device %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.i2c_device));
         fprintf(fh, "\t\t)\n");
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:15:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391246.629006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3Wz-0001eV-KI; Mon, 22 Aug 2022 09:15:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391246.629006; Mon, 22 Aug 2022 09:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3Wz-0001eL-Eo; Mon, 22 Aug 2022 09:15:37 +0000
Received: by outflank-mailman (input) for mailman id 391246;
 Mon, 22 Aug 2022 09:15:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J63M=Y2=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oQ3Wx-00016q-FC
 for xen-devel@lists.xen.org; Mon, 22 Aug 2022 09:15:35 +0000
Received: from mail-pg1-x531.google.com (mail-pg1-x531.google.com
 [2607:f8b0:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9f77b18-21fa-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 11:15:34 +0200 (CEST)
Received: by mail-pg1-x531.google.com with SMTP id bh13so8853187pgb.4
 for <xen-devel@lists.xen.org>; Mon, 22 Aug 2022 02:15:34 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 o16-20020a170902d4d000b0016d3935eff0sm7900701plg.176.2022.08.22.02.15.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Aug 2022 02:15:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9f77b18-21fa-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=UcAxz9zfTG02GukbiygV6fnm8goyBIBPPWW93ZdxHMQ=;
        b=TldwkdsMGwvA6V2GFaOyD9y+0FrzAg6yY/2gJqZce5kIhgjczzVXcElh2UDOv1Atk3
         gIxVBv3dQDY2WT0f7qPVAsuVdojSK5NbgEaV6whdWnvkA3uEphyFJnEl8x8LqrJJwIgX
         4HtsvC7glwEVNGGfR08M/k4KE3+r4AcmlUTYA6fpHgcCNYBunKWhT3rPd9prh69p4kkq
         S2YtPKJ/S2g6Eu4oW0AgzRaYJhg0+ImlC+GbD5F1EOBwubYCaey3m/hNzKqaDWqnjE9N
         +n5ZHei11iFDbKXScNfMnWWMb7gn2PajQOMmr9TU/CGYu0k+MEs19fhDKdI1D/smvmz8
         xDrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=UcAxz9zfTG02GukbiygV6fnm8goyBIBPPWW93ZdxHMQ=;
        b=OePkplRCWmxswcYep7rdJVotvqQvF6/voe/MhUb24V92AdfnDbd9x0n7WwZT3Vyiqa
         Oh76yeWo0pANZYdzDH1B3j5EfM8xF64941bRO0t/EmJBp9evzmPgrME4hVVuBL0K/pWg
         fHKXndUegQ6ioKasUmZ7eip4d+SUfTlyP0Ec/9oK6rJ+tS4ItwRzN/74SB+yq/JWtEK6
         nSCXlOIyO5y3UnQxD58fzjUQN5u06WMm9FwnAtbuf48Gn+3CkNK3qbvHr0ashMYAM351
         2wgckpXGR4i8KOLfNCfDZE46rNI9c1T286ppmNzzq/SUUOaVK+6lO92EO58MadnamGdX
         zYOQ==
X-Gm-Message-State: ACgBeo0u2RGSr++8ayOGJJrhh47VxpBNuutSwXRDbjIAhO+SOaMdOa//
	t5nDs41a27VTl2biuuE32lF9dyW6zh6VXw==
X-Google-Smtp-Source: AA6agR6eCa4zwZYO7qhlhZOlzfct9HnLP0tBbItnUSzKUUFuFAvj0pO9PGRgdO7V+t4NLc4DHSnp/Q==
X-Received: by 2002:a62:6347:0:b0:531:c5a7:b209 with SMTP id x68-20020a626347000000b00531c5a7b209mr19918510pfb.60.1661159733234;
        Mon, 22 Aug 2022 02:15:33 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	anthony.perard@citrix.com,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V5 3/6] libxl: arm: Create alloc_virtio_mmio_params()
Date: Mon, 22 Aug 2022 14:45:15 +0530
Message-Id: <e07aa93a748525d81d6524c492347626ca7a362a.1661159474.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1661159474.git.viresh.kumar@linaro.org>
References: <cover.1661159474.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a separate routine to allocate base and irq for a device as the
same code will be required for each device type.

Suggested-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 46 +++++++++++++++++++++++++-----------
 1 file changed, 32 insertions(+), 14 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 1a3ac1646e94..0e3051bac5e4 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -48,6 +48,24 @@ static uint32_t alloc_virtio_mmio_irq(libxl__gc *gc, uint32_t *virtio_mmio_irq)
     return irq;
 }
 
+static int alloc_virtio_mmio_params(libxl__gc *gc, uint64_t *base,
+                                    uint32_t *irq, uint64_t *virtio_mmio_base,
+                                    uint32_t *virtio_mmio_irq)
+{
+    *base = alloc_virtio_mmio_base(gc, virtio_mmio_base);
+    if (!*base)
+        return ERROR_FAIL;
+
+    *irq = alloc_virtio_mmio_irq(gc, virtio_mmio_irq);
+    if (!*irq)
+        return ERROR_FAIL;
+
+    LOG(DEBUG, "Allocate Virtio MMIO params: IRQ %u BASE 0x%"PRIx64, *irq,
+        *base);
+
+    return 0;
+}
+
 static const char *gicv_to_string(libxl_gic_version gic_version)
 {
     switch (gic_version) {
@@ -85,20 +103,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         libxl_device_disk *disk = &d_config->disks[i];
 
         if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
-            disk->base = alloc_virtio_mmio_base(gc, &virtio_mmio_base);
-            if (!disk->base)
-                return ERROR_FAIL;
-
-            disk->irq = alloc_virtio_mmio_irq(gc, &virtio_mmio_irq);
-            if (!disk->irq)
-                return ERROR_FAIL;
+            int rc = alloc_virtio_mmio_params(gc, &disk->base, &disk->irq,
+                                              &virtio_mmio_base,
+                                              &virtio_mmio_irq);
 
-            if (virtio_irq < disk->irq)
-                virtio_irq = disk->irq;
-            virtio_enabled = true;
-
-            LOG(DEBUG, "Allocate Virtio MMIO params for Vdev %s: IRQ %u BASE 0x%"PRIx64,
-                disk->vdev, disk->irq, disk->base);
+            if (rc)
+                return rc;
         }
     }
 
@@ -107,8 +117,16 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
      * present, make sure that we allocate enough SPIs for them.
      * The resulting "nr_spis" needs to cover the highest possible SPI.
      */
-    if (virtio_enabled)
+    if (virtio_mmio_irq != GUEST_VIRTIO_MMIO_SPI_FIRST) {
+        virtio_enabled = true;
+
+        /*
+         * Assumes that "virtio_mmio_irq" is the highest allocated irq, which is
+         * updated from alloc_virtio_mmio_irq() currently.
+         */
+        virtio_irq = virtio_mmio_irq - 1;
         nr_spis = max(nr_spis, virtio_irq - 32 + 1);
+    }
 
     for (i = 0; i < d_config->b_info.num_irqs; i++) {
         uint32_t irq = d_config->b_info.irqs[i];
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:15:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391248.629028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3X4-0002GK-8J; Mon, 22 Aug 2022 09:15:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391248.629028; Mon, 22 Aug 2022 09:15:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3X4-0002GB-36; Mon, 22 Aug 2022 09:15:42 +0000
Received: by outflank-mailman (input) for mailman id 391248;
 Mon, 22 Aug 2022 09:15:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J63M=Y2=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oQ3X2-00016q-LP
 for xen-devel@lists.xen.org; Mon, 22 Aug 2022 09:15:40 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd9864d6-21fa-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 11:15:39 +0200 (CEST)
Received: by mail-pj1-x102e.google.com with SMTP id
 w11-20020a17090a380b00b001f73f75a1feso13311011pjb.2
 for <xen-devel@lists.xen.org>; Mon, 22 Aug 2022 02:15:39 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 o36-20020a17090a0a2700b001faee47021dsm5067943pjo.45.2022.08.22.02.15.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Aug 2022 02:15:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd9864d6-21fa-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=75pvqr4wOoO82a941SksaNrC8HBct24tTgm2e3AVDno=;
        b=Q5y5pMuABIAqxzolE4IjvmRqVi7UyMQ8RkPgJgSmT4vAxpUm4b029H4PTxQr5SEv3J
         /cFA/6FiIkNQ/SfIxYTvoaxd6I714LhBceqiHSVxSsdBU8ttY/N/Pk82Aebz9PCsum7Y
         ce91dRzoZl4tc71n1bv9ep4XOJHqmyWuWkRFPdSh8GkalbR0ppTQdfa4C3KEo50qkayJ
         GBUN+3sOd8TZDAmyQYFpgDmnHTcGQau4xraciWgUyDYxCzdivi+aLoRcRODnOWpd1cyR
         NcCAR3P3Ks1dSdDAo3O1P0ukdhwan3cONH0G0gFij13/zMjVXDXznPC/sJe157rrdARt
         03Xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=75pvqr4wOoO82a941SksaNrC8HBct24tTgm2e3AVDno=;
        b=NYE37MBE6StTmIVWgINbehX7Lj0IwkWq7ceN2YFyXdcQ6IcpDemrEwQTmFElDmCCgo
         UJ180l5hYngUnMRfnhx5dcYZk4JPX/HS4a/H2r0X8HFXEzAKcjaxf7QgIhB7Jk0JDjYz
         FAJZS0xc8LHsR7F7vEhdVmbxj40NWcUB1Rjhw30PIy6YpMgS821qholcVCKaqlPvvIeT
         dNmxbxvqUdWCoVsqdPvMIAb4k3M1c0zHWCYo8rVvbp8mr9pCjNHbAQelokVLEZSYr0SY
         AhAVz8YWKd2VSIztpd4rHnULodmdtfEJrtzwGqC8DH/u9YYvahxH/bUOFjEL54ntRoK5
         yC3A==
X-Gm-Message-State: ACgBeo3eSW+/i4fi4oEZP1n6lQ7h6iHk+AdRpP54fMVVTNTYYE+biB1E
	P+wKax8Va09dU2l38HxJi64s8UPsnvFZ+Q==
X-Google-Smtp-Source: AA6agR7iVrhjd8sV3hNQ19u7HyyBhNvlhBpwR1sXrR7DqTGjQRrRYkxvBEiIYu/7kahlrheaPrVsAg==
X-Received: by 2002:a17:90a:9309:b0:1fa:d28b:3751 with SMTP id p9-20020a17090a930900b001fad28b3751mr19904291pjo.189.1661159739298;
        Mon, 22 Aug 2022 02:15:39 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	anthony.perard@citrix.com,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V5 5/6] libxl: Allocate MMIO params for I2c device and update DT
Date: Mon, 22 Aug 2022 14:45:17 +0530
Message-Id: <7b871a16d981dcdc0046e6a69f77e2bcffe79065.1661159474.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1661159474.git.viresh.kumar@linaro.org>
References: <cover.1661159474.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch allocates Virtio MMIO params (IRQ and memory region) and pass
them to the backend, also update Guest device-tree based on Virtio I2C
DT bindings [1].

This also relocates the code responsible to call make_xen_iommu_node()
towards the end of the routine, so we create the node only once.

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml

Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 57 +++++++++++++++++++++++++++++++-----
 1 file changed, 50 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 4d0469f8166a..4c1012e56893 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -112,6 +112,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         }
     }
 
+    for (i = 0; i < d_config->num_i2cs; i++) {
+        libxl_device_i2c *i2c = &d_config->i2cs[i];
+        int rc = alloc_virtio_mmio_params(gc, &i2c->base, &i2c->irq,
+                                          &virtio_mmio_base, &virtio_mmio_irq);
+
+        if (rc)
+            return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -955,6 +964,26 @@ static int make_virtio_mmio_node_simple(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
+                                     uint32_t irq, uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    if (res) return res;
+
+    res = fdt_begin_node(fdt, "i2c");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,device22");
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1156,7 +1185,7 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
     size_t fdt_size = 0;
     int pfdt_size = 0;
     libxl_domain_build_info *const info = &d_config->b_info;
-    bool iommu_created;
+    bool iommu_needed;
     unsigned int i;
 
     const libxl_version_info *vers;
@@ -1264,16 +1293,13 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
         if (d_config->num_pcidevs)
             FDT( make_vpci_node(gc, fdt, ainfo, dom) );
 
-        iommu_created = false;
+        iommu_needed = false;
         for (i = 0; i < d_config->num_disks; i++) {
             libxl_device_disk *disk = &d_config->disks[i];
 
             if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
-                if (disk->backend_domid != LIBXL_TOOLSTACK_DOMID &&
-                    !iommu_created) {
-                    FDT( make_xen_iommu_node(gc, fdt) );
-                    iommu_created = true;
-                }
+                if (disk->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                    iommu_needed = true;
 
                 FDT( make_virtio_mmio_node_simple(gc, fdt, disk->base,
                                                   disk->irq,
@@ -1281,6 +1307,23 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
             }
         }
 
+        for (i = 0; i < d_config->num_i2cs; i++) {
+            libxl_device_i2c *i2c = &d_config->i2cs[i];
+
+            if (i2c->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                iommu_needed = true;
+
+            FDT( make_virtio_mmio_node_i2c(gc, fdt, i2c->base, i2c->irq,
+                                           i2c->backend_domid) );
+        }
+
+        /*
+         * Note, this should be only called after creating all virtio-mmio
+         * device nodes
+         */
+        if (iommu_needed)
+            FDT( make_xen_iommu_node(gc, fdt) );
+
         if (pfdt)
             FDT( copy_partial_fdt(gc, fdt, pfdt) );
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:15:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391249.629039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3X8-0002fj-Hf; Mon, 22 Aug 2022 09:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391249.629039; Mon, 22 Aug 2022 09:15:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ3X8-0002fa-CH; Mon, 22 Aug 2022 09:15:46 +0000
Received: by outflank-mailman (input) for mailman id 391249;
 Mon, 22 Aug 2022 09:15:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J63M=Y2=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oQ3X6-00016q-If
 for xen-devel@lists.xen.org; Mon, 22 Aug 2022 09:15:44 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff6ca335-21fa-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 11:15:43 +0200 (CEST)
Received: by mail-pj1-x1033.google.com with SMTP id m15so2273118pjj.3
 for <xen-devel@lists.xen.org>; Mon, 22 Aug 2022 02:15:43 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 b194-20020a6334cb000000b0041d02809facsm6958423pga.79.2022.08.22.02.15.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Aug 2022 02:15:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff6ca335-21fa-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=XPO6uUW2aI4P/8vL92ycMK94cuye3tq563IA6689ljc=;
        b=HTZEvkwROQexnDYLr+x+fQKWnjQO4N+9lAvx1razDZPz/wrNJgOiURGFZmERofc1Wi
         nFwWH27wOsfcEYfKhN2wOlH79TLMPJzql8U1utfnlI8MEJAE0h1Upf0eUV8Ws1fR8xUk
         pQjebaOB1bBrSYapq8LJnPSWPGWi/C2RlPXLKcLG9ACC6g35wTUyhRj5CSRCTXTRTPV0
         rkt1IUIPU08FUImcHfvAIOkoq2SbMfYQHkJGeySJbVxLTW4LrIIb0cidQ2FjauukmYfR
         ehdQaxuhYvUFbuqz9Vl7EU4iST5EQrvUrrbedJzf82hMRw+SF9fFXThY5HZjJj77IUME
         ZADQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=XPO6uUW2aI4P/8vL92ycMK94cuye3tq563IA6689ljc=;
        b=eZJKYyN76f969m3O9QYGBZMfRuLgZHQnQumqZ0zgNnB6MWUJMtWehnNjYDZv83HwKm
         QVGnv7C3/uFKDUTDK2EZtmEmwT2Y4qhd/ZolnbDXQkO0OYci9scuWDbvBPoFhWqVZQHX
         B/rtFaW8N6Rzooo+EnvQ9OwO1og3cRE0A/5Rg+85PN9aS7KvFfwVNnzJqZhTz8CCNiDW
         Hg3lpkyrwAqUoGyLkJEXUZ+Z60tthddKlZvLC9yCHP1+f277qfjGC+5NJ9YZ6FbSgZal
         QW4EOHTvT5vD+W4pZgKqWxTD3pRo79gcRB4vOn3PGjbGCSYoIMO28TFT1A+hoPcUW0qz
         1lKQ==
X-Gm-Message-State: ACgBeo19wDCyMjU4tzO5i37H/kqve4JcjG8nN8RgeBJO5Y85+7VuVvcZ
	8KnGJ0jyusL7G4wM9qqSfE+8V7EtDhu9Sw==
X-Google-Smtp-Source: AA6agR7byTBxhWJPa6a5rX2AncrvRnnlziDy+FzQHQ2INg5On7XlXYdlOSG+9SfCSdXy7YShhnMfqw==
X-Received: by 2002:a17:90a:e009:b0:1fa:e417:b9b7 with SMTP id u9-20020a17090ae00900b001fae417b9b7mr17532898pjy.149.1661159742430;
        Mon, 22 Aug 2022 02:15:42 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	anthony.perard@citrix.com,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V5 6/6] libxl: Allocate MMIO params for GPIO device and update DT
Date: Mon, 22 Aug 2022 14:45:18 +0530
Message-Id: <4a238937ceb803f494e5633a3a779866383bd463.1661159474.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1661159474.git.viresh.kumar@linaro.org>
References: <cover.1661159474.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch allocates Virtio MMIO params (IRQ and memory region) and pass
them to the backend, also update Guest device-tree based on Virtio GPIO
DT bindings [1].

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml

Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 51 ++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 4c1012e56893..86c1e560900f 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -121,6 +121,15 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
             return rc;
     }
 
+    for (i = 0; i < d_config->num_gpios; i++) {
+        libxl_device_gpio *gpio = &d_config->gpios[i];
+    int rc = alloc_virtio_mmio_params(gc, &gpio->base, &gpio->irq,
+                                      &virtio_mmio_base, &virtio_mmio_irq);
+
+    if (rc)
+        return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -984,6 +993,38 @@ static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt, uint64_t base,
+                                      uint32_t irq, uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    if (res) return res;
+
+    res = fdt_begin_node(fdt, "gpio");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,device29");
+    if (res) return res;
+
+    res = fdt_property(fdt, "gpio-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#gpio-cells", 2);
+    if (res) return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1317,6 +1358,16 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
                                            i2c->backend_domid) );
         }
 
+        for (i = 0; i < d_config->num_gpios; i++) {
+            libxl_device_gpio *gpio = &d_config->gpios[i];
+
+            if (gpio->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                iommu_needed = true;
+
+            FDT( make_virtio_mmio_node_gpio(gc, fdt, gpio->base, gpio->irq,
+                                            gpio->backend_domid) );
+        }
+
         /*
          * Note, this should be only called after creating all virtio-mmio
          * device nodes
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:46:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:46:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391289.629050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ40t-0007v5-UV; Mon, 22 Aug 2022 09:46:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391289.629050; Mon, 22 Aug 2022 09:46:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ40t-0007uy-R3; Mon, 22 Aug 2022 09:46:31 +0000
Received: by outflank-mailman (input) for mailman id 391289;
 Mon, 22 Aug 2022 09:46:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ40s-0007uo-2F; Mon, 22 Aug 2022 09:46:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ40r-0007jT-T2; Mon, 22 Aug 2022 09:46:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ40r-0007eK-FX; Mon, 22 Aug 2022 09:46:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ40r-0005GF-F5; Mon, 22 Aug 2022 09:46:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IHO8TvRJK16hS0W8viZFjiq5ZCM3WNzj86y7uGYthp4=; b=ocWnoRwX6wp7tvdsGBrikSFbGN
	8xvP4wzFy759KlzmqAyThe89qzJInsTx9HXtPNFVNcVIj9/QHGorQAdQ++IyORHrep0nJ6h15oWEq
	9ADH7M5tAP5PG/tNgCsgBU+Jrk4DaogS4K5qMhb1HNTGBe9mqnA0Nzdot/BISfQ7x8LQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172696-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172696: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 09:46:29 +0000

flight 172696 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172696/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172688 pass in 172696
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172688

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd      13 guest-start         fail in 172688 like 172108
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172688 like 172128
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172688 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172688 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   18 days
Testing same since   172384  2022-08-11 11:13:58 Z   10 days   22 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 09:54:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 09:54:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391298.629060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ486-00013h-RZ; Mon, 22 Aug 2022 09:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391298.629060; Mon, 22 Aug 2022 09:53:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ486-00013a-Ou; Mon, 22 Aug 2022 09:53:58 +0000
Received: by outflank-mailman (input) for mailman id 391298;
 Mon, 22 Aug 2022 09:53:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ486-00013U-0A
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 09:53:58 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5656a52d-2200-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 11:53:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0401MB2554.eurprd04.prod.outlook.com (2603:10a6:3:88::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 09:53:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 09:53:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5656a52d-2200-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CZz1A+oNVWjyO1RrTO9Sjtrke84sPPIorLB8K+JU7IjCtWVPUT9/5odMFAXr2AZaHMq7frMEobQXdsT3C0MLmlJ3LLa7HV9oZXvatKwj2fg5+EyTwxkyDxoHnE0SneRaZ576ZmE5MkaUNnEEVaHwaI3ePX8LDmCRXK0T365W9ka6gpO/9zmLiK2zHsmLeMkcJGhQ50jGozT/YpzudCb8d5LPRqGRuaCdPN4a+fGWlN0qIonHJDbPvCPUppC1i/j7iNhF+nssdDAKgvlY0gyokHOBKjzxkki2MuehMHb7TaDE4aGM3ZK+ImQJXKC5pH0+1tEJ87otsCVW2xDVHLO+FA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lVmAOzgmnKNDKsgMRAXM4ZA2vRieRdDS7+CsUxKpyiA=;
 b=EptK1AyGUCYXu+VZyf5TubpUOHFtqL93t5M1bPU1eTOsgStQwQnSDmZcjTOlNSgdj7dNhgR8vH63TUKlaNZMYNZN3cxSUD1M2Q36UykUkPHI98zhe1bkJ1vm6OLHCx9Qg9Y1/nrkqNyh+h/uXjbjB3nr0S1sXLF0HXBiskWAl91JhmammLeu3A/zTAm7I68C7tDMMiPeV3rsFHyWCFtBwCJgxT96ZbmQfVaKOcF39diWPaQRrOFNreBP+4JOclq6RG7uynJfS7V594b+82oj5R4r3hUkgTG3b8cr4VjMp/JA25y/03XFbGgx0tpDNZByRbYGgdVbdxrIYdist81JJQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lVmAOzgmnKNDKsgMRAXM4ZA2vRieRdDS7+CsUxKpyiA=;
 b=0USQ2nsoGATaT2ONFwfcq3KtBBk2GT/dKu8+WJ2BFOdpPH6C/qSXuAuKEy3vrpRycJxyVRhO4EVyPMA812ZZmUtr5nwZQXojwBocKwX02UX0RBTA7ba6YX3imsUcGsSaCJPVHqrA9yKpigCwOIPK9ciF56MUZ+wcdGcvbAQfIvmoqCcd+XjbRMKsqCLF8rbtA+AzR5+DaLUrohuk8PtVrQfRd0/+EE6bEqNGV5ec3DdtJye4qkCDO4EYFP76ZUUQrpwGSBPsGgem7ZYq14MzG4QZg71l9HzDHvk7+LgqX9qtHCIQBoAT1HwYUYuogL/72Sl/eMRBCIkQ0bIW3rAM9w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b1df84d5-a1ca-3019-16a7-36d0bb568779@suse.com>
Date: Mon, 22 Aug 2022 11:53:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [Xen-devel] Xen crash after S3 suspend - Xen 4.13 and newer
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Juergen Gross <jgross@suse.de>, Dario Faggioli <dfaggioli@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>, =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?=
 <jgross@suse.com>
References: <fa845540-fd8e-bc63-a3af-50673dede579@citrix.com>
 <20200318221006.GS18599@mail-itl>
 <413cac496e18bcb04b0691ef633d206f3a14a8e3.camel@suse.com>
 <20200323000946.GH18599@mail-itl> <20200929142730.GA25731@mail-itl>
 <d243c1b5-712d-a958-0b6c-b232eb4edc80@suse.com>
 <20200929151627.GE1482@mail-itl>
 <ea53b845-5edf-a61e-62ae-7ababc30b3e0@suse.com>
 <20210131021526.GB6354@mail-itl> <YWHDIQC3K8J3LD8+@mail-itl>
 <YwJZ3X0HpT9w6Veh@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YwJZ3X0HpT9w6Veh@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9b1fce49-5878-4e64-dcc1-08da842437c0
X-MS-TrafficTypeDiagnostic: HE1PR0401MB2554:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kdCbu42Qoehl7oeQ4dkkgpbjdVTfXosBcN0juG4wRs+Nxik7T0q8Y1W4en7fmIBHws+xjZlPCm83AsUJLPFubzhSXO7KxyZZnXDcSGk/cwGVYeD8HIwnngS7pp8BO2tLowowmB+wPil8kOqBmx5D57QkcE4yibGUWoTwPU4cgWXpOzya7n4Nzh8KubeaPWn/EyOFsqU5Q5a+7Xt05BO+FhG5snsslkJInOeK9Fo+lr5dnYRUV2LBlPKo92HLToHTrvQZmd8fLgzLpJhxHsb1b0y4AVW7cgpO4Ye1pWpZFExdnuCbch4olBc3tRvNFHfAI96wFbnh3DtNR+gju9EzK/RcBEWD0ckyBN3LPUmfWrheBKzP9XjNJ8XPKPS7jojJDCFXgBYy0UT2X6n0fBy8yfrg1PB9xtJeTox51Ai9QIrxDawrqb4W2cjHmna2hqH0GfvFsPqsotjG88f9wi0rLYt0Lge5UxYyxcvqAVZzKhvWgkzJnrNX30m1C5KgbrQZ12eoMv7fIvuEvCEsyBX7jNqoQGTUFiInqOjhj1FY1oXS2rrbJKEfoetbKbPMgieLvFgFwntw9HegzPP2k5fzrRoLcmAqBfZNn+0cFd5AiDtH84LCU6TwU0jx2eBEr4PT0ZO2NOH2CcnMFiQYWVb0+NwXG3udzMP6S3qOq4EixexTReSaGe81sFdrnA+yYTvnial21KOX5Yc8Ubo1sQNE4TpoBrQ7dCheOxz+UfaezdOzqRU4cmBAcjxZQ4LnnXVShMmsBk9IQpX6xaCH14Mhrvn2FtfkezjVMuQNYlZ/uTpC194pAM4F/A19bc0J6q14
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(136003)(396003)(39860400002)(366004)(66476007)(8676002)(4326008)(66556008)(66946007)(6916009)(54906003)(36756003)(38100700002)(31686004)(31696002)(86362001)(66574015)(83380400001)(186003)(6512007)(8936002)(26005)(6506007)(966005)(41300700001)(478600001)(6486002)(316002)(15650500001)(2906002)(2616005)(53546011)(107886003)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UjA3OXVWKzdITVQvSUVsaEl4Ti9BeW9jaW1iMVY2bys2dnV1TWZMWGI4N1Fu?=
 =?utf-8?B?cGdTRU5WajBwbWJSSS9mSDFaUkhpbU9ha09nUmw2ZnpLWUVMb0Q5VDZvRXlH?=
 =?utf-8?B?WUR2V1c1bng3TDBTMkRpYVVSbzVaa3lnZ1JpanlLN2R0VGcweHRDUGQ4UlBY?=
 =?utf-8?B?aUxKeXR6QXArZTltVFkxcFVwNmJlUGV0WlRDczdiWCswTG9NR0xuWmNXY3ZC?=
 =?utf-8?B?NkxRQjI1Z1Z3Z2t2YkpQc1QzeEdTVU1JcFZYcTlLUExZZjVycDRTdGRyVHB6?=
 =?utf-8?B?T1Z2aExFaWhFNWpRZm5ZSEhTQjZuaDRpTlp2T0lGK3lQSXpYbXRZaFo4U0lG?=
 =?utf-8?B?bkYxYmt2aU1TK1FXT2RPNXZkcFBTemQ5N2RqVVVFeVlBbFdSa3J0S1BpcGN4?=
 =?utf-8?B?RzlUZGROL3g2QnFPMHNFV29kZDNyM0R2ME5GUDdzQWdJeTI2MDdvV1dUaSs5?=
 =?utf-8?B?djUwZWZzZHNsTlRjTHNxYVhNbHF6Sk5ndHFmNVAvTDZoa2RRTkxWRUt0VTJS?=
 =?utf-8?B?ZHBxSkg5NzNLcnlrL3lFZlRsS1lRQmFkVEcwVFlVbzhqSWx1eDFZaHhrSVZt?=
 =?utf-8?B?bVE3NVRDTXFnc3ZqNW4zaW9zSTlTTTcxTDRoK0xIckJiTWQxM01SQ1dVVXlD?=
 =?utf-8?B?OVhyUkhTenMvSnlyV2pUYzRFanJUSHkxaVg5RVloQlVOYXNiSWp3MHV4aUpV?=
 =?utf-8?B?L2MzY0h6R1VPMVBLYjRYbW5QeUFWbWR5cEhWRUI3TVZMeE1KQ20wNDZZdU81?=
 =?utf-8?B?M2piWTZ2VWFnSzFCNk9RdEJqNmRPc0dGeEZWSVlJQXRQci8vNk85akhpTEEz?=
 =?utf-8?B?NS9WYnU1OStmZU53R0RPT3NUT00rNGtHVUNFY2dMUUxUT1QvdVlGWkJEUXgx?=
 =?utf-8?B?WTVSbkN1T3UrSXhxc21VcUg4U0tBaG15ejFlMENCUWtNUmFwb1R4bUExU0Z3?=
 =?utf-8?B?RDlFd2Q3SzRrZXZYZkhDVk1xd1ROaTQzTWVQc2N6em81c0ZHemkzNGtLQ2Ez?=
 =?utf-8?B?WmQrSE9TK3VpWkMxcG5rTURMa2pGZVRYdmJ6a2pHbXM2dDRvM0pqZkc1LytM?=
 =?utf-8?B?bkhsSHQzYUV1MHlFWjlxc2I2OG5EWjRGTjVUQVFJbnZtaEsvRTVQM0xJK2hv?=
 =?utf-8?B?QTJyNzlwQzZnbG1zOGdTVUQ4MUxPWU9SMDNmbUxKdi9XTFkxc3A1bTZxalJj?=
 =?utf-8?B?VkxIVEJKZ3Y5YjRxZ1g1cWJmbHRtZkd2ZHBIQkpuWXUxREdKSURWUFA0Qldq?=
 =?utf-8?B?Ylo2dlo2ZVlwbUlFZ1dyNUlXUnBCMW9yKzZOZWJwK1JISUhQRGpNS3VLaGV1?=
 =?utf-8?B?OXVsOGZDL0xjMU82d2ZoMlQxMkF6blpHQWNscDd6NFVLdGtuQnFyMzcyNHUz?=
 =?utf-8?B?RUxuWmc2YmcvV3p3NUtHNUt3dVFqb2pEMVRjWTBiVVcrMHc4M0krV2VTYVR3?=
 =?utf-8?B?bGNWSjhyMUtxT2laZ2VsN1FFYzFQTDY4ZUhFaFJJR0FUaW1pNGhjWURTdWpn?=
 =?utf-8?B?dVdtMmtKZ2o3WnBZdDQweWIzRlZHYW9ZQThtRTc0Z05LY1o3b212TzBYL1lL?=
 =?utf-8?B?SmgvSmlLQWxkcUlDRnJRSHVGT2FOemlsM2UxVmY2bWRjSHJ0SG1UYkI1QlNZ?=
 =?utf-8?B?ejEwb2VQd2graytSS3k5S0h1SktMb0VPSzNUUmhJZkNqZE5qMXI3aC9wWEEr?=
 =?utf-8?B?bi80VFdKNzJOUWVsVHhBSlV5b0lrS3kvQklWL2Y0MU01ZXVKZ2ttZzNvclpV?=
 =?utf-8?B?SUlOdGJOVTZkRmVkNTYvenVENjBYRFByeHFDUEk1c1Y3OVhLQzRhQ2FRem5l?=
 =?utf-8?B?RW9ib0hwRUlZWitEcWtSVEMvZzlYYmhWR0V1dU5vSVpYbWNheHFJaTA3K3dS?=
 =?utf-8?B?S2ZUTlBITHU5NEZCeFd2OFY4QXZEY0xaNUs5SUt0TVozMldySHBnQTNBakI3?=
 =?utf-8?B?aXpHdlFzb3NiZjFqY0kwUm14aUsyOVk5Sk9KNHdPL2tMOEgrUlYvK0NGWjh0?=
 =?utf-8?B?WXdsRGRBWG5laldnMitrb01oUDNNUVNLVW5ldVlaNTZ0N1JGcVF6RXlScVJZ?=
 =?utf-8?B?OHBwMGhwSDA5b0g4N05aTTZoZWp2aWhkUGpUMVNPSzRkd2ZobCtGcTQrSll0?=
 =?utf-8?Q?4DnbC6XrRqfjbjY8XPj16edBq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b1fce49-5878-4e64-dcc1-08da842437c0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 09:53:51.8390
 (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: DhoohEpqhbTNH5/U2i3WEi0uEzxCGAXMc046aFu4VoWoB4sH2oRSoodHJ3yUso3n4f0F370CvMBNmKthLP33OQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2554

On 21.08.2022 18:14, Marek Marczykowski-GÃ³recki wrote:
> On Sat, Oct 09, 2021 at 06:28:17PM +0200, Marek Marczykowski-GÃ³recki wrote:
>> On Sun, Jan 31, 2021 at 03:15:30AM +0100, Marek Marczykowski-GÃ³recki wrote:
>>> On Tue, Sep 29, 2020 at 05:27:48PM +0200, JÃ¼rgen GroÃŸ wrote:
>>>> On 29.09.20 17:16, Marek Marczykowski-GÃ³recki wrote:
>>>>> On Tue, Sep 29, 2020 at 05:07:11PM +0200, JÃ¼rgen GroÃŸ wrote:
>>>>>> On 29.09.20 16:27, Marek Marczykowski-GÃ³recki wrote:
>>>>>>> On Mon, Mar 23, 2020 at 01:09:49AM +0100, Marek Marczykowski-GÃ³recki wrote:
>>>>>>>> On Thu, Mar 19, 2020 at 01:28:10AM +0100, Dario Faggioli wrote:
>>>>>>>>> [Adding Juergen]
>>>>>>>>>
>>>>>>>>> On Wed, 2020-03-18 at 23:10 +0100, Marek Marczykowski-GÃ³recki wrote:
>>>>>>>>>> On Wed, Mar 18, 2020 at 02:50:52PM +0000, Andrew Cooper wrote:
>>>>>>>>>>> On 18/03/2020 14:16, Marek Marczykowski-GÃ³recki wrote:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> In my test setup (inside KVM with nested virt enabled), I rather
>>>>>>>>>>>> frequently get Xen crash on resume from S3. Full message below.
>>>>>>>>>>>>
>>>>>>>>>>>> This is Xen 4.13.0, with some patches, including "sched: fix
>>>>>>>>>>>> resuming
>>>>>>>>>>>> from S3 with smt=0".
>>>>>>>>>>>>
>>>>>>>>>>>> Contrary to the previous issue, this one does not happen always -
>>>>>>>>>>>> I
>>>>>>>>>>>> would say in about 40% cases on this setup, but very rarely on
>>>>>>>>>>>> physical
>>>>>>>>>>>> setup.
>>>>>>>>>>>>
>>>>>>>>>>>> This is _without_ core scheduling enabled, and also with smt=off.
>>>>>>>>>>>>
>>>>>>>>>>>> Do you think it would be any different on xen-unstable? I cat
>>>>>>>>>>>> try, but
>>>>>>>>>>>> it isn't trivial in this setup, so I'd ask first.
>>>>>>>>>>>>
>>>>>>>>> Well, Juergen has fixed quite a few issues.
>>>>>>>>>
>>>>>>>>> Most of them where triggering with core-scheduling enabled, and I don't
>>>>>>>>> recall any of them which looked similar or related to this.
>>>>>>>>>
>>>>>>>>> Still, it's possible that the same issue causes different symptoms, and
>>>>>>>>> hence that maybe one of the patches would fix this too.
>>>>>>>>
>>>>>>>> I've tested on master (d094e95fb7c), and reproduced exactly the same crash
>>>>>>>> (pasted below for the completeness).
>>>>>>>> But there is more: additionally, in most (all?) cases after resume I've got
>>>>>>>> soft lockup in Linux dom0 in smp_call_function_single() - see below. It
>>>>>>>> didn't happened before and the only change was Xen 4.13 -> master.
>>>>>>>>
>>>>>>>> Xen crash:
>>>>>>>>
>>>>>>>> (XEN) Assertion 'c2rqd(sched_unit_master(unit)) == svc->rqd' failed at credit2.c:2133
>>>>>>>
>>>>>>> Juergen, any idea about this one? This is also happening on the current
>>>>>>> stable-4.14 (28855ebcdbfa).
>>>>>>>
>>>>>>
>>>>>> Oh, sorry I didn't come back to this issue.
>>>>>>
>>>>>> I suspect this is related to stop_machine_run() being called during
>>>>>> suspend(), as I'm seeing very sporadic issues when offlining and then
>>>>>> onlining cpus with core scheduling being active (it seems as if the
>>>>>> dom0 vcpu doing the cpu online activity sometimes is using an old
>>>>>> vcpu state).
>>>>>
>>>>> Note this is default Xen 4.14 start, so core scheduling is _not_ active:
>>>>
>>>> The similarity in the two failure cases is that multiple cpus are
>>>> affected by the operations during stop_machine_run().
>>>>
>>>>>
>>>>>      (XEN) Brought up 2 CPUs
>>>>>      (XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
>>>>>      (XEN) Adding cpu 0 to runqueue 0
>>>>>      (XEN)  First cpu on runqueue, activating
>>>>>      (XEN) Adding cpu 1 to runqueue 1
>>>>>      (XEN)  First cpu on runqueue, activating
>>>>>
>>>>>> I wasn't able to catch the real problem despite of having tried lots
>>>>>> of approaches using debug patches.
>>>>>>
>>>>>> Recently I suspected the whole problem could be somehow related to
>>>>>> RCU handling, as stop_machine_run() is relying on tasklets which are
>>>>>> executing in idle context, and RCU handling is done in idle context,
>>>>>> too. So there might be some kind of use after free scenario in case
>>>>>> some memory is freed via RCU despite it still being used by a tasklet.
>>>>>
>>>>> That sounds plausible, even though I don't really know this area of Xen.
>>>>>
>>>>>> I "just" need to find some time to verify this suspicion. Any help doing
>>>>>> this would be appreciated. :-)
>>>>>
>>>>> I do have a setup where I can easily-ish reproduce the issue. If there
>>>>> is some debug patch you'd like me to try, I can do that.
>>>>
>>>> Thanks. I might come back to that offer as you are seeing a crash which
>>>> will be much easier to analyze. Catching my error case is much harder as
>>>> it surfaces some time after the real problem in a non destructive way
>>>> (usually I'm seeing a failure to load a library in the program which
>>>> just did its job via exactly the library claiming not being loadable).
>>>
>>> Hi,
>>>
>>> I'm resurrecting this thread as it was recently mentioned elsewhere. I
>>> can still reproduce the issue on the recent staging branch (9dc687f155).
>>>
>>> It fails after the first resume (not always, but frequent enough to
>>> debug it). At least one guest needs to be running - with just (PV) dom0
>>> the crash doesn't happen (at least for the ~8 times in a row I tried).
>>> If the first resume works, the second (almost?) always will fail but
>>> with a different symptoms - dom0 kernel lockups (at least some of its
>>> vcpus). I haven't debugged this one yet at all.
>>>
>>> Any help will be appreciated, I can apply some debug patches, change
>>> configuration etc.
>>
>> This still happens on 4.14.3. Maybe it is related to freeing percpu
>> areas, as it caused other issues with suspend too? Just a thought...
> 
> I have reproduced this on current staging(*). And I can reproduce it
> reliably. And also, I got (I believe) closely related crash with credit1
> scheduler.
> 
> (*) It isn't plain staging, it's one with my xhci console patches on
> top, including attempt to make it survive S3. I believe the only
> relevant part there is sticking set_timer() into console resume path (or
> just having a timer with rather short delay registered). The actual tree
> at https://github.com/marmarek/xen/tree/master-xue2-debug, including
> quite a lot of debug prints and debug hacks.
> 
> Specific crash with credit2:

Are you sure this is Credit2? Both ...

>     (XEN) Assertion 'sched_unit_master(currunit) == cpu' failed at common/sched/credit.c:928

... here and ...

>     (XEN) ----[ Xen-4.17-unstable  x86_64  debug=y  Tainted:   C    ]----
>     (XEN) CPU:    0
>     (XEN) RIP:    e008:[<ffff82d0402434bf>] credit.c#csched_tick+0x2d4/0x494
>     (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v4)
>     (XEN) rax: ffff82d0405c4298   rbx: 0000000000000002   rcx: 0000000000000002
>     (XEN) rdx: ffff8302517f64d0   rsi: ffff8302515c0fc0   rdi: 0000000000000002
>     (XEN) rbp: ffff830256227e38   rsp: ffff830256227de0   r8:  0000000000000004
>     (XEN) r9:  ffff8302517ac820   r10: ffff830251745068   r11: 00000088cb734887
>     (XEN) r12: ffff83025174de50   r13: ffff8302515c0fa0   r14: ffff83025174df40
>     (XEN) r15: ffff8302515c0cc0   cr0: 0000000080050033   cr4: 0000000000372660
>     (XEN) cr3: 00000001bacbd000   cr2: 000077e5ec02a318
>     (XEN) fsb: 000077e5fe533700   gsb: ffff888255700000   gss: 0000000000000000
>     (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
>     (XEN) Xen code around <ffff82d0402434bf> (credit.c#csched_tick+0x2d4/0x494):
>     (XEN)  01 00 00 e9 2a 01 00 00 <0f> 0b 0f 0b 0f 0b 48 8b 41 20 0f b7 00 89 45 cc
>     (XEN) Xen stack trace from rsp=ffff830256227de0:
>     (XEN)    ffff830256227fff 0000000000000000 0000000256227e10 ffff82d04035be90
>     (XEN)    ffff830256227ef8 ffff830251745000 ffff82d0405c3280 ffff82d0402431eb
>     (XEN)    0000000000000002 00000088c9ba9534 0000000000000000 ffff830256227e60
>     (XEN)    ffff82d04022ee53 ffff82d0405c3280 ffff8302963e1320 ffff8302515c0fc0
>     (XEN)    ffff830256227ea0 ffff82d04022f73f ffff830256227e80 ffff82d0405c9f00
>     (XEN)    ffffffffffffffff ffff82d0405c9f00 ffff830256227fff 0000000000000000
>     (XEN)    ffff830256227ed8 ffff82d04022d26c ffff830251745000 0000000000000000
>     (XEN)    0000000000000000 ffff830256227fff 0000000000000000 ffff830256227ee8
>     (XEN)    ffff82d04022d2ff 00007cfda9dd80e7 ffff82d0402f03c6 ffff88810c005c00
>     (XEN)    0000000000000031 0000000000000100 00000000fffffe00 0000000000000031
>     (XEN)    0000000000000031 ffffffff82d45d28 0000000000000e2e 0000000000000000
>     (XEN)    0000000000000032 00000000ffffef31 0000000000000000 ffff88812244a700
>     (XEN)    0000000000000005 ffff88812244a780 000000fa00000000 ffffffff818db55f
>     (XEN)    000000000000e033 0000000000000246 ffffc900409b7c50 000000000000e02b
>     (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
>     (XEN)    0000e01000000000 ffff830251745000 0000000000000000 0000000000372660
>     (XEN)    0000000000000000 800000025620b002 000e030300000001 0000000000000000
>     (XEN) Xen call trace:
>     (XEN)    [<ffff82d0402434bf>] R credit.c#csched_tick+0x2d4/0x494
>     (XEN)    [<ffff82d04022ee53>] F timer.c#execute_timer+0x45/0x5c
>     (XEN)    [<ffff82d04022f73f>] F timer.c#timer_softirq_action+0x71/0x278
>     (XEN)    [<ffff82d04022d26c>] F softirq.c#__do_softirq+0x94/0xbe
>     (XEN)    [<ffff82d04022d2ff>] F do_softirq+0x13/0x15
>     (XEN)    [<ffff82d0402f03c6>] F x86_64/entry.S#process_softirqs+0x6/0x20

... here the only references are to credit.c, i.e. Credit1 code.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 10:00:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 10:00:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391304.629073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ4E1-0002UH-Ls; Mon, 22 Aug 2022 10:00:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391304.629073; Mon, 22 Aug 2022 10:00:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ4E1-0002TQ-G0; Mon, 22 Aug 2022 10:00:05 +0000
Received: by outflank-mailman (input) for mailman id 391304;
 Mon, 22 Aug 2022 10:00:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ4E0-0002Bg-4W
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 10:00:04 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2043.outbound.protection.outlook.com [40.107.104.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 307c2fe8-2201-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 12:00:02 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM4PR0401MB2289.eurprd04.prod.outlook.com (2603:10a6:200:4f::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 10:00:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 10:00:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 307c2fe8-2201-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bkFTIO2vdAnqxCRwqGZUI/VGrmGRZGq1+iYX7P8Ds17iHQml823RP7aGrYPU1MDb66I5CiD8mjHBysJdPbRBPfuf6M0qfCxYeCyMKYSBk4OeD2dD39C22fL7+7Q1lSXgrHSM2giC+qG+/2Ky25bYynnGEDFu0sqVbrNoFHbud22pxLuKuGwHAYFr5EqPT28rIAJk2kg6edK7qYrImGuSPJfSC2+sGs97vunHfjBdEdc4U5x/O6oUc9WaIEYfd5dhAmkKtACW36NkGx96h7/4WNiOVhoq47geFE8hQafE5reF3jzC+RdtJ17umL3AwshsHr7KTKR/yQML/aNbKdsLcg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KCSLAks50XrcWc6++GVzg7BuGcHKd0HodZbHpcQBZG4=;
 b=Rs9X3f4Q7Hc80XBnlvsqU9CcwoHns4UZrkaUxXyuVn4On89WKYjT1OQqcq0n/ZNwieiu4LWPLnxkJ1R/GJ6W3TF5U3Lh2irIsauioSD4YgfJ1hnHvpG9R3XCWKnMjxERVMJhZT6kYqC16zleWathsZEQD95qVxV/G0RjW5AKX/6KUp/uMMjWDPRT4iy8O/s0iDnt0izBAK7Uvs32Fb0qq9XRoJPq9tqi8ZTshZRX7BZmCyLtUbLNvgBJBEeHBTNUFLJC4MCHwPO2q+93erocMpH5mnNHXP4zfgCZzL038C6ALQQPsfgLCrmqF2LhhT6SVQV2HYi6LuNcVLoGc1Ricg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KCSLAks50XrcWc6++GVzg7BuGcHKd0HodZbHpcQBZG4=;
 b=MITXghKOylZObjVEgmYIZoqdNESI07RKP2d4CZUHYgF8UmPZNv747FGqaeVlEfkrYVVpLSz7Ijd9dybukExUwdV4E2Mm7fDdjoQ5uQkiR/j8b1BUfXl9ESYqii/Hrv8/32g0yF9ADEvefPWdcgqz4Ofv6ct1fl5xFiMEhMC0My3PS4gLZrKrE+/RdcPa9mYJg+UgxyJibh2mDKysqgcr0ChR4CxjXoT03chIaNeSAlZpCMLsjKkJC0fTw+o6n0H42o8V9VsdnjXpKhZ9kgnqW6UCciiz+mvKcGcigZ2Gh94oONlYUCyxR+vBr7JHb3j3C74zAFLX9zbA8n58oJ457g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
Date: Mon, 22 Aug 2022 11:59:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, xen-devel@lists.xenproject.org
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-8-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220819194359.1196539-8-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3821e1c4-b82b-4875-52cd-08da84251396
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2289:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QZ6cl+JpeesZo1xYJmCsE5wFRa/FBjXNc5eB9qqQMZI/jjrbAf3VRLGJ42SJeEzpbnMzmQ9CW1OLbbUSlAcY42mRbmkvneQErpNy7XgFMq6HqvAOmQB0fD1Zhaec9ZoKe4gVaz0EKjoTCi395W3gF9iLdWJ3A0j3EqskYh8fKjtGquTXMhUbrYf+hMp4+k64qq74RciP2rDlLx9VySL9CJtZvzgJ8xNGrKORw3mcygW6YcVbOFh9oyEtpsQPnbSb44bOuK9+vJ4tRWOWwi5FUoCcQL+Lk1u8eYgK1dNNOTw6ooRMmUIj5V30iIfIOebQtMfTKQjDTHw7WAoiXayrPPVwjNapWKM4vccjhzIyLM89qUAVirnt7h+s0Bb3D9f0jC9/1VVt30f+ad/yEUc94Ya2FiMAOhqbUVlO9Q0TRpQYixsYFE08VxFJyE7EpOLx6mbGmsPAIymqgSNRDxhEH0kUxiTPEMOn0vAF21D3d4xp6cE4VudUUuIATsR3EwQc8FsUE8hBhuOQ43vAqKhg1gwJJAO0R4DXHH8JKO6vk0aOgGiXhfCELDU3hOLcD5Hk5TZaxrCQsruwZKVDp5Wb3hjNqx1mGs0d1yKKiK64PMlov5MI04AYD/i8nCf4ieoVYhTwqMktJP1t6xB4Kar5df/tp0um8SppKAh2qatq5FvGgZQpV8rOCM9HGif6KF9i3tbxbgi/EUNzVIpPoEf9EQ0XvyWZFDfIBdodWEGTgM7fbJT5wzBhjGKMlCFXv8ujTxH7NHdx3zz6bO5UgFDpf48Uon0xZRlNgLmMSP7JSWU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(346002)(366004)(376002)(39860400002)(2906002)(5660300002)(86362001)(31696002)(6506007)(53546011)(26005)(6512007)(6486002)(478600001)(41300700001)(8936002)(186003)(2616005)(38100700002)(316002)(6916009)(4326008)(66946007)(8676002)(66476007)(66556008)(36756003)(31686004)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TkJTQ0Zwb2dxaktxSzNScGlyVHdud1UzS2tuVndTVU8wN0R0ZjBoQXdXWUxZ?=
 =?utf-8?B?bWJMbGNRRUhYMU45YnFBVnR4ZUgwWDlhdDc4Vkt3TGJIWkNwdTJaVnYvZHZx?=
 =?utf-8?B?T3RlMWgrdVZvWW1ndHhVR3REQ3FMczFCVTNjaGxIUzBZUFNMZWVJUCtKUkVa?=
 =?utf-8?B?QmZaTUNZaU9peHZKbUxON3J5KzRvU3AyYlJDcEhrM3M4bEh6ejJES2xOanlJ?=
 =?utf-8?B?WDFJTzY5TzQvQzBYelFSeWhrMEFDWG04VU5LRmlTWlhROFM3UVNlNElFYnBz?=
 =?utf-8?B?TU40cWdCaW9DdEZuYlJjZ0MvL08xVUlaVmh5d2pld245amE1ZVA4dGlMNWpI?=
 =?utf-8?B?dWpHeFpicFZDRlBNZk9Iak1FczJuUlA0NDA2Y0dGYU9aQmpXMDBTYi85RHJU?=
 =?utf-8?B?THk0WnhmUjEyTjZuaEt6bVVzTUMxdjEyb2dNOEkra1BzWW0rdm1sSHlBTXhu?=
 =?utf-8?B?MExWcE9ZTWVvYXF2MStaYlhFaDJOdElZNTFSdzIrSFZheHBTbWZsR1VrWlRP?=
 =?utf-8?B?Mm5Ka0ZwSzlHMUNsZnRweVhGWWUxdDh0MCtvcSt1cDRjeEtsMFovcU5FNks0?=
 =?utf-8?B?cUVHSjBkcmZtM0xtQkVPWUltdjBpTVNFR0lZNG5FVFY2QnNyY29kbEdoNHFm?=
 =?utf-8?B?QjRld1JJRmVQTmJ3WnFmaDJnbExDOHdIbzVkVjI2WWpDR3ZCVk9DS0h2UFpB?=
 =?utf-8?B?K2hVWDN0dnJFTmN2V1M2ekVkNEViWi9aZXpEbGdqZllJUHp4RHhXaTVkbmdR?=
 =?utf-8?B?ejRldEZWYUxDNUVhNkhUeDdCUVM0ZnRuNWo2MFg5R2lnM1cwVkRGWmFYSVEv?=
 =?utf-8?B?RStySzFXYjVObGREQ0RJTjlaa0crcktPcW96cGxaV1BwSWlBVVA1QWNsMW5a?=
 =?utf-8?B?Z251bmdaYVNTNGlRM3JyVG5GOXViTFBZOHdGc2FDbVRXenc3anIvd3VKZ3Ju?=
 =?utf-8?B?N0s4R0FtVzE1V0xBUHlxUWdEbEFkOHMzZEJCRUN6TnlRN2RuVHR6WEhtN3hZ?=
 =?utf-8?B?dHFrK3YzVERibTBvVVZxNktUZUVGTGt2TjkyaDZjR1RIaXFIc280ZGxjTDV1?=
 =?utf-8?B?YjNVTGs1VHpjSUtUQ25Mb3duL3JPRGxvUFE4ZWtvK1dFUERCRm5UdmZ6cGhB?=
 =?utf-8?B?MnRXMlpmLzJjTFpqVVVWa0FtMEpBSThzQzFLc3Q1Rk5QNmFJSFVLbUhXM0Np?=
 =?utf-8?B?TDFJN1VGY2hVanBONE9FTEUwOVBJdzVyeHFsNW1GeVlMRVM2UGs5T0luRlA4?=
 =?utf-8?B?QmN4NWpTWGZxMy9seE9VM2hYOUNZY0Z0VEFWaGcwUTlIdUlzU1JDZnREVUVN?=
 =?utf-8?B?ZUxQSG5URVpHQnZXNjlhUGNCalVPclJYaldsWFBYTHFqSngyRytFd1dJR21Q?=
 =?utf-8?B?WjNucDQyT25EZG5IdkpSTk9XTnJwY0ZiNk1KWWF6TS9xL2pCelZoMUdDdkRI?=
 =?utf-8?B?bW8rcGU5bENLdTJEbFkyL0U3RkZDQk8rNkhld0FSSzcwU1VKejd1ZE1aRk1r?=
 =?utf-8?B?TzNFM0twelE0MlNZSWl3RVcrdjAwcTRwSGpxZFlMSFphQktHTXpWNm90S2xz?=
 =?utf-8?B?cmF0c2o1cWYvUitNa1FYNUlKT0k2ekIrMmg4bENVaFIyYkI1TXFSQUZlSmxw?=
 =?utf-8?B?TzN5bkViQ3RRZnl0bXpwUDJtN0Q5SW96UEt2S2crZUVlSU1RUzg5cVVKKzhU?=
 =?utf-8?B?cG9DSGdJRXM0WStwdFN2c2tockdoNURJdWhIQWJFdjgxYU9oVmNWVlRkSWpr?=
 =?utf-8?B?SFowbzVHeVloZjNiWE4yL1pFb1Q5bk5kNG9RVlBPNWI5L2lyR2VVWEJIaWd2?=
 =?utf-8?B?TU1Ja0oyNkIrVTgzWUNVM2RUUVlPQkViZFB4RkhOcGxFdStLei9BL3VwQlU4?=
 =?utf-8?B?cFU4cXRlVXFmMVdlWHprUDhoOTRmMXVQMDQwMEU5N0JSNFpiMlh5MFh2TzJ3?=
 =?utf-8?B?dW9Cd094VnIwQk1DNkVsVkxYSW1DQmt0ZEdFMnlvcTBMUlpUbXI2a0htQ1E1?=
 =?utf-8?B?SXRQaG9Nc3VyS1UwZm1PMkpyWHRkU0NNTHVHSVlRaDRIQk0wWm16VEhiYXI0?=
 =?utf-8?B?Q0pXRDgwQi8raW0wdFFEUWliS0lpNk9ET1lBL3BtWkJnQVRVSlEzNjVZOHdS?=
 =?utf-8?Q?toMzfvLeXI/MA9m/po5aAGEaB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3821e1c4-b82b-4875-52cd-08da84251396
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 10:00:00.5183
 (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: 5X6foYeAK3p3EqkeDyFjTQt+/3jYcpKDpOqv7odNZ68cpH8/4mktXKV+tkNjW1G2OpZ7o50ov5s8fZn+jbnkbg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2289

On 19.08.2022 21:43, Xenia Ragiadakou wrote:
> In macros dt_for_each_property_node(), dt_for_each_device_node() and
> dt_for_each_child_node(), add parentheses around the macro parameters that
> have the arrow operator applied, to prevent against unintended expansions.

Why is this relevant only when -> is used? For comparisons and the rhs of
assignments it's as relevant, ad even for the lhs of assignments I doubt
it can be generally omitted.

> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -222,13 +222,13 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
>  #define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
>  
>  #define dt_for_each_property_node(dn, pp)                   \
> -    for ( pp = dn->properties; pp != NULL; pp = pp->next )
> +    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )
>  
>  #define dt_for_each_device_node(dt, dn)                     \
> -    for ( dn = dt; dn != NULL; dn = dn->allnext )
> +    for ( dn = dt; dn != NULL; dn = (dn)->allnext )
>  
>  #define dt_for_each_child_node(dt, dn)                      \
> -    for ( dn = dt->child; dn != NULL; dn = dn->sibling )
> +    for ( dn = (dt)->child; dn != NULL; dn = (dn)->sibling )
>  
>  /* Helper to read a big number; size is in cells (not bytes) */
>  static inline u64 dt_read_number(const __be32 *cell, int size)



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 10:00:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 10:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391310.629083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ4EZ-00039J-Va; Mon, 22 Aug 2022 10:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391310.629083; Mon, 22 Aug 2022 10:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ4EZ-00039C-Sm; Mon, 22 Aug 2022 10:00:39 +0000
Received: by outflank-mailman (input) for mailman id 391310;
 Mon, 22 Aug 2022 10:00:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ4EX-0002yL-N2
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 10:00:38 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43ac5768-2201-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 12:00:35 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id A4ACE3200956;
 Mon, 22 Aug 2022 06:00:32 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Mon, 22 Aug 2022 06:00:33 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 06:00:30 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43ac5768-2201-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661162432; x=
	1661248832; bh=SqiJO05mCS/vaEij4EWYIwBIQ2OzY4Sb5qGlUoKuGQQ=; b=j
	4b7kdCtN9nMWCZcVhHfzOe0Xzx8IbutpJ/uKAJAGR8O7qwsnkSp8ABIjA5Hu7nqX
	UWbe6YUjaI0MGJd6YHvOBC3k45pvabI6VBNfeXUTFOngpr9zTFFDGPJtJ0P1JWfY
	qlQV/xxlOjhb1W4T9hqWOHDu3w4viYWvgGigTQdBKrmkiDZVZlTFI/C3sIIIYETX
	AA+8V9Fc5mtinSxW4GXdLclBpGxliJVgwY1nTFUjuGXxEcNyOmwU30JNB4tJE4JN
	50vfOKerDnTjLoMwqL4Q1yytXBO3tF2Km+e0jgB82mK9z0dILyMcTwdQrov4W7uL
	W2JyovnqeOag5sBUJAuJA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661162432; x=1661248832; bh=SqiJO05mCS/vaEij4EWYIwBIQ2Oz
	Y4Sb5qGlUoKuGQQ=; b=JBVeJyBSwAvNaXHnWUY1yCC+N9ugth/i8jxyGaDUfL2B
	L7+PqYBovhCHvvNlcysPaeG+sB7teKwVoxRVUddrJZY4o2Cj2nuYbbHRG2LputLs
	uXaAzIyXPgh4849WiJY4sy2w0WpXnrorNpQDjtkY+XsAIuYMLOSM8FJITBunyc2Z
	wHChlJmp2hNwHJic01gadyBN6e2Uv9Mk/LUNDwYM0okdE7ZvQLcxsAe4ZULyss2/
	wx+BsUGNj5ckcSQRajQ7StBSBSAi/PBsaMYM43gx+SOdH8o+KUUVZNIQ5auB/ivN
	k6Sp44a36CpQwQNpOSUKKbXeXSZZr8EZ9q3TkjTl7A==
X-ME-Sender: <xms:v1MDY49cMsc6e0TBj0WDPdIB6QYFqI8lrG-cewnGbVYylowTaoMp-Q>
    <xme:v1MDYwv_Y62io-PpiuLLoQe89b4xo2sm6YTgvzMc96vzMXKK7JrHkua8asjJ5B9UJ
    fmTMObKCLlrvQ>
X-ME-Received: <xmr:v1MDY-DRO0oG7uJ5ZUMkXRWW6jeSzQZPs3IYLjM2wJtn2ht7D8vMcakCCsCN0m4PoWuqKTcfbhRpLSCRKmHey4or0KBXFHiaP7hr>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgvdefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepueek
    teetgefggfekudehteegieeljeejieeihfejgeevhfetgffgteeuteetueetnecuffhomh
    grihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr
    mhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhm
X-ME-Proxy: <xmx:wFMDY4cIa1msNgrde9hPs66ASzuWSMWs0EztZEtM2ITnP4rgzPQu9Q>
    <xmx:wFMDY9Ov82ZVopXTRYF2AtLblOAyRZaD24GGKP0FmWbTX5Bv-ggm7A>
    <xmx:wFMDYykLJFc1qoRGGsdZfR5Qj2Hw8VFLp-D74r-ndxNSX87GT6hejA>
    <xmx:wFMDY-pMKZirln8DHiFwrx6K4g9LeV9h9eKr6M7Tdsi_jLYgS1vR8Q>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 22 Aug 2022 12:00:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Juergen Gross <jgross@suse.de>, Dario Faggioli <dfaggioli@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	=?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Subject: Re: [Xen-devel] Xen crash after S3 suspend - Xen 4.13 and newer
Message-ID: <YwNTu1fL7uITg0OZ@mail-itl>
References: <413cac496e18bcb04b0691ef633d206f3a14a8e3.camel@suse.com>
 <20200323000946.GH18599@mail-itl>
 <20200929142730.GA25731@mail-itl>
 <d243c1b5-712d-a958-0b6c-b232eb4edc80@suse.com>
 <20200929151627.GE1482@mail-itl>
 <ea53b845-5edf-a61e-62ae-7ababc30b3e0@suse.com>
 <20210131021526.GB6354@mail-itl>
 <YWHDIQC3K8J3LD8+@mail-itl>
 <YwJZ3X0HpT9w6Veh@mail-itl>
 <b1df84d5-a1ca-3019-16a7-36d0bb568779@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="beQDCF4MHbKoMK6Q"
Content-Disposition: inline
In-Reply-To: <b1df84d5-a1ca-3019-16a7-36d0bb568779@suse.com>


--beQDCF4MHbKoMK6Q
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 22 Aug 2022 12:00:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Juergen Gross <jgross@suse.de>, Dario Faggioli <dfaggioli@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	=?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Subject: Re: [Xen-devel] Xen crash after S3 suspend - Xen 4.13 and newer

On Mon, Aug 22, 2022 at 11:53:50AM +0200, Jan Beulich wrote:
> On 21.08.2022 18:14, Marek Marczykowski-G=C3=B3recki wrote:
> > On Sat, Oct 09, 2021 at 06:28:17PM +0200, Marek Marczykowski-G=C3=B3rec=
ki wrote:
> >> On Sun, Jan 31, 2021 at 03:15:30AM +0100, Marek Marczykowski-G=C3=B3re=
cki wrote:
> >>> On Tue, Sep 29, 2020 at 05:27:48PM +0200, J=C3=BCrgen Gro=C3=9F wrote:
> >>>> On 29.09.20 17:16, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>> On Tue, Sep 29, 2020 at 05:07:11PM +0200, J=C3=BCrgen Gro=C3=9F wro=
te:
> >>>>>> On 29.09.20 16:27, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>>>> On Mon, Mar 23, 2020 at 01:09:49AM +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> >>>>>>>> On Thu, Mar 19, 2020 at 01:28:10AM +0100, Dario Faggioli wrote:
> >>>>>>>>> [Adding Juergen]
> >>>>>>>>>
> >>>>>>>>> On Wed, 2020-03-18 at 23:10 +0100, Marek Marczykowski-G=C3=B3re=
cki wrote:
> >>>>>>>>>> On Wed, Mar 18, 2020 at 02:50:52PM +0000, Andrew Cooper wrote:
> >>>>>>>>>>> On 18/03/2020 14:16, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>>>>>>>>> Hi,
> >>>>>>>>>>>>
> >>>>>>>>>>>> In my test setup (inside KVM with nested virt enabled), I ra=
ther
> >>>>>>>>>>>> frequently get Xen crash on resume from S3. Full message bel=
ow.
> >>>>>>>>>>>>
> >>>>>>>>>>>> This is Xen 4.13.0, with some patches, including "sched: fix
> >>>>>>>>>>>> resuming
> >>>>>>>>>>>> from S3 with smt=3D0".
> >>>>>>>>>>>>
> >>>>>>>>>>>> Contrary to the previous issue, this one does not happen alw=
ays -
> >>>>>>>>>>>> I
> >>>>>>>>>>>> would say in about 40% cases on this setup, but very rarely =
on
> >>>>>>>>>>>> physical
> >>>>>>>>>>>> setup.
> >>>>>>>>>>>>
> >>>>>>>>>>>> This is _without_ core scheduling enabled, and also with smt=
=3Doff.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Do you think it would be any different on xen-unstable? I cat
> >>>>>>>>>>>> try, but
> >>>>>>>>>>>> it isn't trivial in this setup, so I'd ask first.
> >>>>>>>>>>>>
> >>>>>>>>> Well, Juergen has fixed quite a few issues.
> >>>>>>>>>
> >>>>>>>>> Most of them where triggering with core-scheduling enabled, and=
 I don't
> >>>>>>>>> recall any of them which looked similar or related to this.
> >>>>>>>>>
> >>>>>>>>> Still, it's possible that the same issue causes different sympt=
oms, and
> >>>>>>>>> hence that maybe one of the patches would fix this too.
> >>>>>>>>
> >>>>>>>> I've tested on master (d094e95fb7c), and reproduced exactly the =
same crash
> >>>>>>>> (pasted below for the completeness).
> >>>>>>>> But there is more: additionally, in most (all?) cases after resu=
me I've got
> >>>>>>>> soft lockup in Linux dom0 in smp_call_function_single() - see be=
low. It
> >>>>>>>> didn't happened before and the only change was Xen 4.13 -> maste=
r.
> >>>>>>>>
> >>>>>>>> Xen crash:
> >>>>>>>>
> >>>>>>>> (XEN) Assertion 'c2rqd(sched_unit_master(unit)) =3D=3D svc->rqd'=
 failed at credit2.c:2133
> >>>>>>>
> >>>>>>> Juergen, any idea about this one? This is also happening on the c=
urrent
> >>>>>>> stable-4.14 (28855ebcdbfa).
> >>>>>>>
> >>>>>>
> >>>>>> Oh, sorry I didn't come back to this issue.
> >>>>>>
> >>>>>> I suspect this is related to stop_machine_run() being called during
> >>>>>> suspend(), as I'm seeing very sporadic issues when offlining and t=
hen
> >>>>>> onlining cpus with core scheduling being active (it seems as if the
> >>>>>> dom0 vcpu doing the cpu online activity sometimes is using an old
> >>>>>> vcpu state).
> >>>>>
> >>>>> Note this is default Xen 4.14 start, so core scheduling is _not_ ac=
tive:
> >>>>
> >>>> The similarity in the two failure cases is that multiple cpus are
> >>>> affected by the operations during stop_machine_run().
> >>>>
> >>>>>
> >>>>>      (XEN) Brought up 2 CPUs
> >>>>>      (XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
> >>>>>      (XEN) Adding cpu 0 to runqueue 0
> >>>>>      (XEN)  First cpu on runqueue, activating
> >>>>>      (XEN) Adding cpu 1 to runqueue 1
> >>>>>      (XEN)  First cpu on runqueue, activating
> >>>>>
> >>>>>> I wasn't able to catch the real problem despite of having tried lo=
ts
> >>>>>> of approaches using debug patches.
> >>>>>>
> >>>>>> Recently I suspected the whole problem could be somehow related to
> >>>>>> RCU handling, as stop_machine_run() is relying on tasklets which a=
re
> >>>>>> executing in idle context, and RCU handling is done in idle contex=
t,
> >>>>>> too. So there might be some kind of use after free scenario in case
> >>>>>> some memory is freed via RCU despite it still being used by a task=
let.
> >>>>>
> >>>>> That sounds plausible, even though I don't really know this area of=
 Xen.
> >>>>>
> >>>>>> I "just" need to find some time to verify this suspicion. Any help=
 doing
> >>>>>> this would be appreciated. :-)
> >>>>>
> >>>>> I do have a setup where I can easily-ish reproduce the issue. If th=
ere
> >>>>> is some debug patch you'd like me to try, I can do that.
> >>>>
> >>>> Thanks. I might come back to that offer as you are seeing a crash wh=
ich
> >>>> will be much easier to analyze. Catching my error case is much harde=
r as
> >>>> it surfaces some time after the real problem in a non destructive way
> >>>> (usually I'm seeing a failure to load a library in the program which
> >>>> just did its job via exactly the library claiming not being loadable=
).
> >>>
> >>> Hi,
> >>>
> >>> I'm resurrecting this thread as it was recently mentioned elsewhere. I
> >>> can still reproduce the issue on the recent staging branch (9dc687f15=
5).
> >>>
> >>> It fails after the first resume (not always, but frequent enough to
> >>> debug it). At least one guest needs to be running - with just (PV) do=
m0
> >>> the crash doesn't happen (at least for the ~8 times in a row I tried).
> >>> If the first resume works, the second (almost?) always will fail but
> >>> with a different symptoms - dom0 kernel lockups (at least some of its
> >>> vcpus). I haven't debugged this one yet at all.
> >>>
> >>> Any help will be appreciated, I can apply some debug patches, change
> >>> configuration etc.
> >>
> >> This still happens on 4.14.3. Maybe it is related to freeing percpu
> >> areas, as it caused other issues with suspend too? Just a thought...
> >=20
> > I have reproduced this on current staging(*). And I can reproduce it
> > reliably. And also, I got (I believe) closely related crash with credit1
> > scheduler.
> >=20
> > (*) It isn't plain staging, it's one with my xhci console patches on
> > top, including attempt to make it survive S3. I believe the only
> > relevant part there is sticking set_timer() into console resume path (or
> > just having a timer with rather short delay registered). The actual tree
> > at https://github.com/marmarek/xen/tree/master-xue2-debug, including
> > quite a lot of debug prints and debug hacks.
> >=20
> > Specific crash with credit2:
>=20
> Are you sure this is Credit2? Both ...
>=20
> >     (XEN) Assertion 'sched_unit_master(currunit) =3D=3D cpu' failed at =
common/sched/credit.c:928
>=20
> ... here and ...
>=20
> >     (XEN) ----[ Xen-4.17-unstable  x86_64  debug=3Dy  Tainted:   C    ]=
----
> >     (XEN) CPU:    0
> >     (XEN) RIP:    e008:[<ffff82d0402434bf>] credit.c#csched_tick+0x2d4/=
0x494
> >     (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v4)
> >     (XEN) rax: ffff82d0405c4298   rbx: 0000000000000002   rcx: 00000000=
00000002
> >     (XEN) rdx: ffff8302517f64d0   rsi: ffff8302515c0fc0   rdi: 00000000=
00000002
> >     (XEN) rbp: ffff830256227e38   rsp: ffff830256227de0   r8:  00000000=
00000004
> >     (XEN) r9:  ffff8302517ac820   r10: ffff830251745068   r11: 00000088=
cb734887
> >     (XEN) r12: ffff83025174de50   r13: ffff8302515c0fa0   r14: ffff8302=
5174df40
> >     (XEN) r15: ffff8302515c0cc0   cr0: 0000000080050033   cr4: 00000000=
00372660
> >     (XEN) cr3: 00000001bacbd000   cr2: 000077e5ec02a318
> >     (XEN) fsb: 000077e5fe533700   gsb: ffff888255700000   gss: 00000000=
00000000
> >     (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e0=
08
> >     (XEN) Xen code around <ffff82d0402434bf> (credit.c#csched_tick+0x2d=
4/0x494):
> >     (XEN)  01 00 00 e9 2a 01 00 00 <0f> 0b 0f 0b 0f 0b 48 8b 41 20 0f b=
7 00 89 45 cc
> >     (XEN) Xen stack trace from rsp=3Dffff830256227de0:
> >     (XEN)    ffff830256227fff 0000000000000000 0000000256227e10 ffff82d=
04035be90
> >     (XEN)    ffff830256227ef8 ffff830251745000 ffff82d0405c3280 ffff82d=
0402431eb
> >     (XEN)    0000000000000002 00000088c9ba9534 0000000000000000 ffff830=
256227e60
> >     (XEN)    ffff82d04022ee53 ffff82d0405c3280 ffff8302963e1320 ffff830=
2515c0fc0
> >     (XEN)    ffff830256227ea0 ffff82d04022f73f ffff830256227e80 ffff82d=
0405c9f00
> >     (XEN)    ffffffffffffffff ffff82d0405c9f00 ffff830256227fff 0000000=
000000000
> >     (XEN)    ffff830256227ed8 ffff82d04022d26c ffff830251745000 0000000=
000000000
> >     (XEN)    0000000000000000 ffff830256227fff 0000000000000000 ffff830=
256227ee8
> >     (XEN)    ffff82d04022d2ff 00007cfda9dd80e7 ffff82d0402f03c6 ffff888=
10c005c00
> >     (XEN)    0000000000000031 0000000000000100 00000000fffffe00 0000000=
000000031
> >     (XEN)    0000000000000031 ffffffff82d45d28 0000000000000e2e 0000000=
000000000
> >     (XEN)    0000000000000032 00000000ffffef31 0000000000000000 ffff888=
12244a700
> >     (XEN)    0000000000000005 ffff88812244a780 000000fa00000000 fffffff=
f818db55f
> >     (XEN)    000000000000e033 0000000000000246 ffffc900409b7c50 0000000=
00000e02b
> >     (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000=
000000000
> >     (XEN)    0000e01000000000 ffff830251745000 0000000000000000 0000000=
000372660
> >     (XEN)    0000000000000000 800000025620b002 000e030300000001 0000000=
000000000
> >     (XEN) Xen call trace:
> >     (XEN)    [<ffff82d0402434bf>] R credit.c#csched_tick+0x2d4/0x494
> >     (XEN)    [<ffff82d04022ee53>] F timer.c#execute_timer+0x45/0x5c
> >     (XEN)    [<ffff82d04022f73f>] F timer.c#timer_softirq_action+0x71/0=
x278
> >     (XEN)    [<ffff82d04022d26c>] F softirq.c#__do_softirq+0x94/0xbe
> >     (XEN)    [<ffff82d04022d2ff>] F do_softirq+0x13/0x15
> >     (XEN)    [<ffff82d0402f03c6>] F x86_64/entry.S#process_softirqs+0x6=
/0x20
>=20
> ... here the only references are to credit.c, i.e. Credit1 code.

Wrong paste, sorry, this is the credit2 one:

(XEN) Assertion 'c2rqd(sched_unit_master(unit)) =3D=3D svc->rqd' failed at =
common/sched/credit2.c:2274
(XEN) ----[ Xen-4.17-unstable  x86_64  debug=3Dy  Tainted:   C    ]----
(XEN) CPU:    10
(XEN) RIP:    e008:[<ffff82d040247a4d>] credit2.c#csched2_unit_wake+0x152/0=
x154
(XEN) RFLAGS: 0000000000010083   CONTEXT: hypervisor (d0v0)
(XEN) rax: ffff830251778230   rbx: ffff830251768cb0   rcx: 00000032111d6000
(XEN) rdx: ffff8302515c1eb0   rsi: 0000000000000006   rdi: ffff830251769000
(XEN) rbp: ffff8302515cfd90   rsp: ffff8302515cfd70   r8:  ffff830251769000
(XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000000
(XEN) r12: ffff830251768dd0   r13: ffff8302515c1d00   r14: 0000000000000006
(XEN) r15: ffff82d0405ddb40   cr0: 0000000080050033   cr4: 0000000000372660
(XEN) cr3: 000000022f2a1000   cr2: ffff8881012738e0
(XEN) fsb: 0000744bf6a0db80   gsb: ffff888255600000   gss: 0000000000000000
(XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) Xen code around <ffff82d040247a4d> (credit2.c#csched2_unit_wake+0x152=
/0x154):
(XEN)  df e8 6f bf ff ff eb ad <0f> 0b f3 0f 1e fa 55 48 89 e5 41 57 41 56 =
41 55
(XEN) Xen stack trace from rsp=3Dffff8302515cfd70:
(XEN)    ffff83025174b000 ffff830251768cb0 ffff830251778270 ffff82d0405c4298
(XEN)    ffff8302515cfdd8 ffff82d04024fcb8 0000000000000202 ffff830251778270
(XEN)    ffff83025174b000 0000000000000001 ffff830251769018 0000000000000000
(XEN)    0000000000000000 ffff8302515cfe48 ffff82d04020a8c9 ffff8882556aedc0
(XEN)    0000000000000003 00001910537e623e 0000000b988f78a6 0000000059d4a716
(XEN)    00001901f30fa41e 0000000217f96af6 0000000000000000 ffff83025174b000
(XEN)    ffff830251756000 0000000000000002 0000000000000001 ffff8302515cfe70
(XEN)    ffff82d0402f7968 ffff830251756000 ffff8302515cfef8 0000000000000018
(XEN)    ffff8302515cfee8 ffff82d0402ec6de 0000000000000000 ffffffff82f157e0
(XEN)    0000000000000000 0000000000000000 ffff8302515cfef8 0000000000000000
(XEN)    0000000000000000 ffff8302515cffff ffff830251756000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 00007cfdaea300e7
(XEN)    ffff82d0402012bd 0000000000000000 ffffffff82c51120 ffff88810036cf00
(XEN)    0000000000000002 000000000001e120 0000000000000002 0000000000000246
(XEN)    ffffffff82f157e0 0000000000000001 0000000000000000 0000000000000018
(XEN)    ffffffff81e4a30a 0000000000000000 0000000000000002 0000000000000001
(XEN)    0000010000000000 ffffffff81e4a30a 000000000000e033 0000000000000246
(XEN)    ffffc9004aef7c18 000000000000e02b fb5ee398d214b10c eb5ef398c214a10c
(XEN)    eb56f390c21ca104 ebd6f310c29ca184 0000e0100000000a ffff830251756000
(XEN)    0000003211016000 0000000000372660 0000000000000000 80000002963e1002
(XEN) Xen call trace:
(XEN)    [<ffff82d040247a4d>] R credit2.c#csched2_unit_wake+0x152/0x154
(XEN)    [<ffff82d04024fcb8>] F vcpu_wake+0xfd/0x267
(XEN)    [<ffff82d04020a8c9>] F common_vcpu_op+0x178/0x5d1
(XEN)    [<ffff82d0402f7968>] F do_vcpu_op+0x69/0x226
(XEN)    [<ffff82d0402ec6de>] F pv_hypercall+0x575/0x657
(XEN)    [<ffff82d0402012bd>] F lstar_enter+0x13d/0x150
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 10:
(XEN) Assertion 'c2rqd(sched_unit_master(unit)) =3D=3D svc->rqd' failed at =
common/sched/credit2.c:2274
(XEN) ****************************************


--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--beQDCF4MHbKoMK6Q
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmMDU7wACgkQ24/THMrX
1yzBMAf8C7Lu00bfICF5Y987hdF36qqjnW/I3C5MizY1AH9yDYP5nCib8zSSpiLA
nks9pfrG4lxgoGXgIetdgtFS45t55j0rmku0+3YpUBrgwp59XSbHnwdHBpmvOVvX
Rxoyrddd2K3I3o8HFNpGCdCoB7+mXlbVZFm078vC4dlPXNnLQwCkOYC9J07yi+1+
YF90jiFYgPQayJH5kTwEGPUdVYq0KwKwZXkCzYkUghaFiSzBD+wCBOM24N1I5xNG
RJqUJBmXYMo8tIzKW3a2sr7comVSLU52XZZzu0psf9H0utCXk2/bA76OL68++Wg0
IBt6kg10Jwdn5H4J/bCVB4SKGixQQw==
=jV4O
-----END PGP SIGNATURE-----

--beQDCF4MHbKoMK6Q--


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 10:26:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 10:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391345.629130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ4de-0006Oh-HG; Mon, 22 Aug 2022 10:26:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391345.629130; Mon, 22 Aug 2022 10:26:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ4de-0006Oa-EY; Mon, 22 Aug 2022 10:26:34 +0000
Received: by outflank-mailman (input) for mailman id 391345;
 Mon, 22 Aug 2022 10:26:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ4dd-0006OQ-BM; Mon, 22 Aug 2022 10:26:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ4dd-0008Ul-AY; Mon, 22 Aug 2022 10:26:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ4dc-00023z-QP; Mon, 22 Aug 2022 10:26:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ4dc-0000QE-Pr; Mon, 22 Aug 2022 10:26:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=m8v81UBCRLViwoO2kxtlz1wne9bxePbc2Fg2OAx2yGw=; b=iimdOE/MJWDwC9A+9+mVz0UPnE
	cId7j5LV5MuiyyQKSgWtxzAfl8AJpOE5aB6+zB7Ut5rjodSblBmn0IAr1MrXwB473UqbRJGtveTRj
	eq/Cl2jKcvOPPa7TaC10hDFPaQKiVRGq4ZZukoLPqO8TNKdsLodqSqjaqrWcEmdNlOUw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172703-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172703: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=e2ac68a23b4954d5c0399913a1df3dd9fd90315d
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 10:26:32 +0000

flight 172703 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172703/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 e2ac68a23b4954d5c0399913a1df3dd9fd90315d
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   18 days
Failing since        172151  2022-08-05 02:40:28 Z   17 days  145 attempts
Testing same since   172642  2022-08-19 10:13:12 Z    3 days   23 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 803 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 10:43:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 10:43:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391353.629142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ4u5-0000SF-VE; Mon, 22 Aug 2022 10:43:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391353.629142; Mon, 22 Aug 2022 10:43:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ4u5-0000S8-SW; Mon, 22 Aug 2022 10:43:33 +0000
Received: by outflank-mailman (input) for mailman id 391353;
 Mon, 22 Aug 2022 10:43:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=prSb=Y2=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oQ4u5-0000S2-3y
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 10:43:33 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43d0d389-2207-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 12:43:32 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id s11so13256297edd.13
 for <xen-devel@lists.xenproject.org>; Mon, 22 Aug 2022 03:43:32 -0700 (PDT)
Received: from [192.168.1.10] (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.gmail.com with ESMTPSA id
 ib3-20020a1709072c6300b00734b2169222sm3352440ejc.186.2022.08.22.03.43.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Aug 2022 03:43:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43d0d389-2207-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=096+3G3xD5oB88fj4YcLx8/9PMKcgYHhecvKNISakeA=;
        b=KoZznTYBgeaJgx5+hS96OR1GkJwk95D1QF6xnIkmVIxII0U+ohKBHQ2/r0R4RbUUP0
         rntbAutBpTkQdNijhViJY3p+/HS7U7f1xbialvhQr+bqnnwB8w+HjyKJgYiA8XHjE9el
         hicm2jwp8bv+TQ6OH5jU58QPlE7vwza4Z+TJ1HkDevAJXmiw8+d3IVqTDTHDBJmzVIqW
         lECuRwk34U+NGB4uOcYs2+k+NcVoV6zW1CFHC/cX9LLeHBsBDdNjLT7aG5DTeTKWuQmi
         Pr8RpLbRY6ksV9Sb316v5vO5pxRaNpA4qoEE6bxpXjLABz+Gtiw09bVK36FPYjXJetVX
         4nOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=096+3G3xD5oB88fj4YcLx8/9PMKcgYHhecvKNISakeA=;
        b=GKLHafWgstPRZYH0UuR79xQJ3IWtortM4GBOHBHzksCVhwE9kIFE8j4FbfzgMY3asG
         G1y8pkUvtM41LC2PS7hLT6SSaJzxI7H3NcELISK8AsgCxhhRuJ727RDf4AEIYfMuAQfy
         4hSvS+xzQk9Pf2CLwyK9zhu3mH2Rv4AP04vpZvKEKZwKTx+Wm8rNRt1mNeijt2Ikzn1w
         j9jY3gxfnB1QyPBP1IychzZzPdp46QeyJQeBywTSmUtg3ywePHVb+s4s1tYAy7CK09Kd
         odEa2noBEecYATGFWNDEgFtvw4LhXhoPyJ+QEBQzRWw9kbEVr3tqq20aMKk5yWsT2mYc
         4YGA==
X-Gm-Message-State: ACgBeo12KH98u7B/kpa+PIVms/1lfiPcc2n33z2dK6eGDHyjg9RAY022
	CXP7nBihVuftwShAXmYlQEMInqKFDO4=
X-Google-Smtp-Source: AA6agR5o35TxgBHnv7+0Y4DwhkgucdDnssVqmWzhlwV66/jtOc2e999Vrb502troFrJxAF+6u26WvA==
X-Received: by 2002:a05:6402:1f87:b0:43b:b88d:1d93 with SMTP id c7-20020a0564021f8700b0043bb88d1d93mr15436171edc.314.1661165011189;
        Mon, 22 Aug 2022 03:43:31 -0700 (PDT)
Message-ID: <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com>
Date: Mon, 22 Aug 2022 13:43:28 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, xen-devel@lists.xenproject.org
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-8-burzalodowa@gmail.com>
 <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 8/22/22 12:59, Jan Beulich wrote:
> On 19.08.2022 21:43, Xenia Ragiadakou wrote:
>> In macros dt_for_each_property_node(), dt_for_each_device_node() and
>> dt_for_each_child_node(), add parentheses around the macro parameters that
>> have the arrow operator applied, to prevent against unintended expansions.
> 
> Why is this relevant only when -> is used? For comparisons and the rhs of
> assignments it's as relevant, ad even for the lhs of assignments I doubt
> it can be generally omitted.

Yes, I agree with you but some older patches that I sent that were 
adding parentheses around the lhs of the assignments were not accepted 
and I thought that the rhs of the assignments as well these comparisons 
fall to the same category.

Personally, I would expect to see parentheses, also, around the macro 
parameters that are used as the lhs or the rhs of assignments, the 
operands of comparison or the arguments of a function.
Not only because they can prevent against unintentional bugs but because 
the parentheses help me to identify more easily the macro parameters 
when reading a macro definition. I totally understand that for other 
people parentheses may reduce readability.

> 
>> --- a/xen/include/xen/device_tree.h
>> +++ b/xen/include/xen/device_tree.h
>> @@ -222,13 +222,13 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
>>   #define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
>>   
>>   #define dt_for_each_property_node(dn, pp)                   \
>> -    for ( pp = dn->properties; pp != NULL; pp = pp->next )
>> +    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )
>>   
>>   #define dt_for_each_device_node(dt, dn)                     \
>> -    for ( dn = dt; dn != NULL; dn = dn->allnext )
>> +    for ( dn = dt; dn != NULL; dn = (dn)->allnext )
>>   
>>   #define dt_for_each_child_node(dt, dn)                      \
>> -    for ( dn = dt->child; dn != NULL; dn = dn->sibling )
>> +    for ( dn = (dt)->child; dn != NULL; dn = (dn)->sibling )
>>   
>>   /* Helper to read a big number; size is in cells (not bytes) */
>>   static inline u64 dt_read_number(const __be32 *cell, int size)
> 

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 11:39:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 11:39:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391360.629153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ5ll-0005zf-8e; Mon, 22 Aug 2022 11:39:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391360.629153; Mon, 22 Aug 2022 11:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ5ll-0005zY-5L; Mon, 22 Aug 2022 11:39:01 +0000
Received: by outflank-mailman (input) for mailman id 391360;
 Mon, 22 Aug 2022 11:38:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0/zD=Y2=virtuozzo.com=alexander.atanasov@srs-se1.protection.inumbo.net>)
 id 1oQ5lj-0005z9-Mx
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 11:38:59 +0000
Received: from relay.virtuozzo.com (relay.virtuozzo.com [130.117.225.111])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe7d03a6-220e-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 13:38:51 +0200 (CEST)
Received: from dev011.ch-qa.sw.ru ([172.29.1.16])
 by relay.virtuozzo.com with esmtp (Exim 4.95)
 (envelope-from <alexander.atanasov@virtuozzo.com>)
 id 1oQ5jK-00Gyo9-72; Mon, 22 Aug 2022 13:37:53 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe7d03a6-220e-11ed-9250-1f966e50362f
From: Alexander Atanasov <alexander.atanasov@virtuozzo.com>
To: 
Cc: kernel@openvz.org,
	Alexander Atanasov <alexander.atanasov@virtuozzo.com>,
	kernel test robot <lkp@intel.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	Wei Liu <wei.liu@kernel.org>,
	Nadav Amit <namit@vmware.com>,
	pv-drivers@vmware.com,
	Jason Wang <jasowang@redhat.com>,
	virtualization@lists.linux-foundation.org,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	Dexuan Cui <decui@microsoft.com>,
	linux-hyperv@vger.kernel.org,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 0/4] Make balloon drivers memory changes known to the rest of the kernel
Date: Mon, 22 Aug 2022 14:37:43 +0300
Message-Id: <20220822113747.3630776-1-alexander.atanasov@virtuozzo.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently balloon drivers (Virtio,XEN, HyperV, VMWare, ...)
inflate and deflate the guest memory size but there is no
way to know how much the memory size is changed by them.

A common use of the ballooning is to emulate [1]
hot plug and hot unplug - due to the complexity of the later.
Hotplug has a notifier and one can also check the updated
memory size.

To improve this add InflatedTotal and InflatedFree
to /proc/meminfo and implement a balloon notifier.

Amount of inflated memory can be used:
 - si_meminfo(..) users can improve calculations
 - adjust cache/buffer sizes
 - adjust object/connection limits
 - as a hint for the oom a killer
 - by user space software that monitors memory pressure

Patches for the other balloon drivers will be done next.

Alexander Atanasov (4):
  Make place for common balloon code
  Enable balloon drivers to report inflated memory
  Display inflated memory to users
  drivers: virtio: balloon - update inflated memory

 Documentation/filesystems/proc.rst            |  6 +++
 MAINTAINERS                                   |  4 +-
 arch/powerpc/platforms/pseries/cmm.c          |  2 +-
 drivers/misc/vmw_balloon.c                    |  2 +-
 drivers/virtio/virtio_balloon.c               |  7 +++-
 fs/proc/meminfo.c                             | 10 +++++
 .../linux/{balloon_compaction.h => balloon.h} | 30 ++++++++++----
 mm/Makefile                                   |  2 +-
 mm/{balloon_compaction.c => balloon.c}        | 40 +++++++++++++++++--
 mm/migrate.c                                  |  1 -
 mm/vmscan.c                                   |  1 -
 11 files changed, 87 insertions(+), 18 deletions(-)
 rename include/linux/{balloon_compaction.h => balloon.h} (86%)
 rename mm/{balloon_compaction.c => balloon.c} (88%)

v2:
 - reworked from simple /proc/meminfo addition
v3:
 - added missed EXPORT_SYMBOLS
Reported-by: kernel test robot <lkp@intel.com>
 - instead of balloon_common.h just use balloon.h (yes, naming is hard)
 - cleaned up balloon.h - remove from files that do not use it and
   remove externs from function declarations

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Wei Liu <wei.liu@kernel.org>
Cc: Nadav Amit <namit@vmware.com>
Cc: pv-drivers@vmware.com
Cc: Jason Wang <jasowang@redhat.com>
Cc: virtualization@lists.linux-foundation.org
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: Dexuan Cui <decui@microsoft.com>
Cc: linux-hyperv@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org

base-commit: 1c23f9e627a7b412978b4e852793c5e3c3efc555
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 11:46:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 11:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391368.629164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ5sy-0007UY-2u; Mon, 22 Aug 2022 11:46:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391368.629164; Mon, 22 Aug 2022 11:46:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ5sx-0007UR-Uo; Mon, 22 Aug 2022 11:46:27 +0000
Received: by outflank-mailman (input) for mailman id 391368;
 Mon, 22 Aug 2022 11:46:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ5sx-0007UH-Fy; Mon, 22 Aug 2022 11:46:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ5sx-0001QY-EW; Mon, 22 Aug 2022 11:46:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ5sx-0008Tm-1N; Mon, 22 Aug 2022 11:46:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ5sx-0001rt-0u; Mon, 22 Aug 2022 11:46:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PVXwUrWqqmdecYmQ19LOD+2zEW4GLFvGjrsqSUoC8GU=; b=TvDPoVbpgOaBT/kbShSoRbRW8h
	l7P/1ZTpL4rgt+UBdnUp3wAkRc7v3fxqdvFdpfLPYnPHQdwpguGlMLo5bELxSIX4f+2MeUkefP92W
	AXifX1ql1YEbuTKOoHQl3Dm/PExIhyfeDr2SRUmLVkDnWbO991z/cW28H0/gFOvmklgs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172705-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172705: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=58ce731faca28cb08f7c1b8c79b59fed47d0b2c2
X-Osstest-Versions-That:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 11:46:27 +0000

flight 172705 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172705/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172652
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  58ce731faca28cb08f7c1b8c79b59fed47d0b2c2
baseline version:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a

Last test of basis   172652  2022-08-19 20:01:47 Z    2 days
Testing same since   172705  2022-08-22 09:01:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f6cd15188e..58ce731fac  58ce731faca28cb08f7c1b8c79b59fed47d0b2c2 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 11:48:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 11:48:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391376.629174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ5uo-00085m-FA; Mon, 22 Aug 2022 11:48:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391376.629174; Mon, 22 Aug 2022 11:48:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ5uo-00085f-Bk; Mon, 22 Aug 2022 11:48:22 +0000
Received: by outflank-mailman (input) for mailman id 391376;
 Mon, 22 Aug 2022 11:48:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ5un-00085Z-Ha
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 11:48:21 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2050.outbound.protection.outlook.com [40.107.22.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5121c5be-2210-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 13:48:20 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4769.eurprd04.prod.outlook.com (2603:10a6:208:ce::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 11:48:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 11:48:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5121c5be-2210-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kCDL2KdXRoWF0UcSKKM9dJsOffdyaHxBctb3zWh5Ap3aEe6c9+s5G7kyKqW2tfBAqWRRUW5PhJDG+W+oZwX1EL52Zq602AMhITujLtKc1WEJ0PtKl/Qqr+WIKGDmJECELCK95mgh+S6rXxGAaKfXvHkvkHag06d/Olu1Kbq6237gGBiqeKKRV2BQBKkaYhGyukj+ISP+WsPn1Tpoj+vg0CSKYqgnykYtEsWxl2tJIxQ7vBLvmyfNJj/jz2mdbTU5sW9Po1c2GXmR/L5s5H69rowBrO8uGDyDjOoX5mpkcs/b1WYqbNFGMYLAFBP8/IstFG2o3lu3BYuCV6DEUuFikw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9DVRFZwFfMd3QwLGY+pqVfoCJ24rEX8CpOuZIlh2whs=;
 b=oV/DHnz55ZYc+xqS2/tgfz+sZkkE3G8AYyPOxCZDXLx/W4wbj7JU047Gh208ObS+lwNRwUK6+UB/f3pnU5+nJFQLpoGEB7AOrkqKPQPLh3JuxK7K3oqX2u/dNxzb/Iz4bEnf372F4BlcsqKVw1kFnH1i6wOaCXAHGwEJPbYg4gEszUBWGGlrs8Q/kSZpF+85hyv8KKg2hULqmTY+4Jux93DsqiBQL8Z9TNPuQAzMkmyJHoNWsphKgqxcmNYRWl72C18HTmzrDvbvsm1STUJ0GDS971uJKjSRaQklV52UQ46jSTsAY+PyN7gxJr0MNGfre1q6nw3ixa3xMHShYZy+XA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9DVRFZwFfMd3QwLGY+pqVfoCJ24rEX8CpOuZIlh2whs=;
 b=4HeulwH4rF+MbJnWsy0BMCpVkNWQ6m5V7D0kK+rL1Hhk1OeQa0/Jes+pS0ifDVK30szVM7L0Apvr294bNVZI+DrY+NJD0HMdPBKliRX3vQDox7L9or5rBK+9MUhiZrrhARp/rBsJKWeFIPx7gx76eTQ9eGVA8HeGNfW6R98g0af24fWBUAJRlilky3CfTfWW1sxdOfgWQlTrGtRTQAPJgXMoWe8lJ5L1nKRkEa5AyQCISRrYCupigYdpCPxumHKMHR9mAaCIk0t5CvCOz7yO44ibZi6o7B+F2tpfxTd/PbHfyos33QFYal212NOqx2VMVFV1i5Qw/EulTpiv0QYgDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
Date: Mon, 22 Aug 2022 13:48:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, xen-devel@lists.xenproject.org
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-8-burzalodowa@gmail.com>
 <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
 <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0502CA0002.eurprd05.prod.outlook.com
 (2603:10a6:203:91::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f14bd14d-bff8-4daf-de15-08da843433c0
X-MS-TrafficTypeDiagnostic: AM0PR04MB4769:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dXC8jz8DdM3vGt5PRDYOxEaJOawVzZJjfkLd0vWaD6ymFAHl6yoaj8HaiuY8fSCTU2nyWTGpfvx16/esWX3Lm6lQ+J9tr/YrGHD8W/oAfnsY3QK0SU3FtGSlFzJ7qC9twkwABK30d8T/K9L6oF8oO7uRCGLtYeS55tzVHkHxi5HP5MtS/YxlTxD04+c/jcsqYkFoWK1Y9ZNJcR23BWYUNKq0963u9AOp7KmDlf9FbBWw7ZJ9c9p2Y3JuqowmyMdnvwj5dvhClmkJGKopbOCZekg/LhQPVfFGLoYwiUJjQkklbzSMrbCFaZndUTjLE0JcAGqouBva1TEX0LSzAox4hh2g1g0+Xt2ecpAF9Jgy/WPaSMoRI1BDyRFczTz2jRn6u17olZPpX6SaCahOWDCcdwr4vDnS/+u5dWo+Wk/9Ni/Q0adXcm34vREoNnUj6EtD6AI8tXXbGLvzjYn2hhIsSPBRoz5p3A23eSBDAejea3jrzA49cIkLPq5Xb67A3+zPM0t6oe4m/CSU0Bv2PPgMbeT5OjFW9IQ/+cSfqWjPuacQJ1W+xM6vTFjtR9iIHSuiWAU65cafm8Ydft8pUdJLgE44uJjCJFHfOtpXQ944Bb0z41Xjjj11ckzA4jUeSYluj96kM80T7lEk3RTKf2hLVCNQh3AeY8eiBfhpVkLog5xSykJK4dA3kGcVObrS05aiKhhUS3KV2lCJhJqbmXkDLivKjR3B6qwN1f6q35Jkyq93/NYd+iQbqztfZyggLxns2ly64Ql1xF7nThDWC8a655M/2HF7qyARVqK9GgOsYA4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(39860400002)(376002)(136003)(346002)(86362001)(31696002)(38100700002)(66476007)(66946007)(66556008)(6486002)(4326008)(8676002)(8936002)(478600001)(54906003)(6916009)(316002)(2616005)(186003)(53546011)(26005)(6512007)(5660300002)(36756003)(41300700001)(31686004)(6506007)(2906002)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SzFnQ0RoMkp5NkRZOWNJd2MybEtmTkQ5VzJWdW9kbFozY2NTWkJnaFlVU2E5?=
 =?utf-8?B?MmRPeGk3d2orZVcrYXUzRWJFSU1NbkV0anVLaUp3K0oydzFlZHhUZUZHWWtr?=
 =?utf-8?B?aE41cmk1NENITk5FSklaUWZUdGwwdWVDaVRXbU1MOXhHNE0xbzZsT1VtZXVC?=
 =?utf-8?B?aWxheHErdEw5dmlYa0NZTnJWbWpJK0FDQXNuRzFuWVhkNDVjeGo2Sms2d0tt?=
 =?utf-8?B?aXgxTFdRclVGNW1qdU5HTFdmV0JsOVJrZDVRVG1lbm1QMlRQMGVvcjN2bGw0?=
 =?utf-8?B?Q0t0RThid0poU2Jqb3N4NVVOVTNNdDVIclRnbk5hTzlPL28vMWhSUmZDbkhP?=
 =?utf-8?B?cVBKMDBpSGpZRk1EdnBwRk9vRDJSbUpxcjRodTAyeUc1MHJVdXo1YzNwUGdC?=
 =?utf-8?B?TGUvcCtaVmRzS1FGQWN5a2EydFJRM2xnVzVLYWRlWEs2Q1BjMnhtR0d3Vmxu?=
 =?utf-8?B?ZkpqVVZnQjZ4MFczQ1RuNFpQS21FUUEvRzE3STlKOGx0UE5JOFlrRlhPbm4r?=
 =?utf-8?B?amt2R1FRRktJYitWdE0rV2FhbExNR0tRVmh5R1JXRkdaeU5qdlVSVTk0K3gy?=
 =?utf-8?B?eUcyeWZhbUx6YUFYMGJNTWhBNHNtTmtqTDJZS2JrS0YwYlVzSnE2RXc4NXRl?=
 =?utf-8?B?TUhBaklsb1hNL1JzRXNOSHJwMXlabFlpR2t4SnR6RDV4VExGa0NjK0hBRGpn?=
 =?utf-8?B?RFpETjI5TzNGV01vY1dMRGxzM25adFlaL1BMZ0oyWHpPa25ycnlpdExoUjBr?=
 =?utf-8?B?YXVCN0ZzU1dzd3lQMFlJaFBPWW1DQlpuaDhuUkNxbVJqLzdnYnlHdXU1K0Jr?=
 =?utf-8?B?R0J2TlA2MlByNElYTHVWeEZIZVBZQWpWUGFQZ1J2OHRSK3AyMHZoaVBTM256?=
 =?utf-8?B?Q0NjY25lZURIR2pDM0FOdGptWDdyVlZ3bG9IMS9EdmtzTVo1UkU3WWV4OVZQ?=
 =?utf-8?B?d2xTVmhYNTJmNVNEZXV2WkQvUFYwRi82UnlQUEt5WVBEbkxyd1MxUWd0Z0Z1?=
 =?utf-8?B?eXFJM1BOem9CZDRuZmdxMitjTWZ4NGlwbkkvWVZNb0FiME13dGk0OEo2c3VJ?=
 =?utf-8?B?ZlNjWVZPVXVTTmlsT3ptMHF0WDllcWJzZ29NWWJ1eE42RE9GTElqb3pCSVhG?=
 =?utf-8?B?WGlhM0lkR2IwWG1KYjd4RnREdUI5NWJ4UTBhT0pMZ3VPTy9HcGxoaW0zS1Rz?=
 =?utf-8?B?WUlEZ3hNRXdKZFZTYXROM1lFaW9NQnpFZlVFUWNETTN2MmV2aUl5MmFTQWFy?=
 =?utf-8?B?QW5yZGJUaWZKSEkrUXVhVTF6TVJzK3VYcDk1WHRJaDByZU8zRjcxMFBGdERu?=
 =?utf-8?B?SHpNWWx4blVyaU9CZXVMalAyeGR3WVIveHJMR244NWdBUk5OM0M1TUQ2VTVh?=
 =?utf-8?B?SjY5aVhRalRNQWFTUDhhdG96ZTJ0d1N1OHdwZmp3QmVVUDN6ZVFBdGl2allG?=
 =?utf-8?B?eDZRcEg0RWtxazZ4S3I1RGFkdDl2ZnZPS2FWRDg0ZEZmZmNMR3RSUTNWVy9w?=
 =?utf-8?B?VVUwTkV1eWJxNGJZYUhJWnRzMjE4WlVIQ2dKOVBNaXlEMUx4SXJuYis3RlJk?=
 =?utf-8?B?RWdrSk9hdzlTNjRCcS9uS2VSUjR1RWtNaExKUk1udzJrSmFKcWVuU296VXJ0?=
 =?utf-8?B?N2lPa2IzcmRBaU1oLzk4RDA5eXR6U3BnTWdUY3pRMmdlTGtZazUrU25kSko2?=
 =?utf-8?B?R0ZvSjJCQ01paGFYWk8wQjU2cCtYUHJndGJnVE5LNzVkMlBMb0J0VHpkSFls?=
 =?utf-8?B?YVlBeWk3S25HdHdyMHhEUnZvcHZnYyswcHBNTkN1WEo5cXZPUmo0bFFDZ0E4?=
 =?utf-8?B?SHRTSkFYakNEampvRGZocnVNVHNBTUZHMDRETWV2MkUvK3l1S2NybkdxRm1k?=
 =?utf-8?B?ckxpMGNFVEEwMnI5L1crRTYvY1FNUUxLYXhqT1JGNWF4U3RIY1Zkck5xUHU2?=
 =?utf-8?B?R0htVGEvMjY1TUdvdHQ2Vmw3ZTRia21iTFgxcTdUcGU0Vk9UK0F4QkdDbE1P?=
 =?utf-8?B?clpFWHVUTDRabnhoRnMzaGVnMHd0TkxsT0FGV0lXZ2pYQmNBQngvbkNyTTJ3?=
 =?utf-8?B?ZXJLWWtLQlVtRG5MZG91dUtXcXJEUFBQeHVZQ1ArYVNCNEh3dDcxYVRsL21S?=
 =?utf-8?Q?V9TmUdl/IKNG+W4MAcziNTIJB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f14bd14d-bff8-4daf-de15-08da843433c0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 11:48:17.1227
 (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: Zl/dBw33izsYqBHSDBVxU3o4+Sii6SPNsR89n88l7uI5Inr6nRc17s1kYUNPDvGbIumWH323v61Zj/YJZEYnew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4769

On 22.08.2022 12:43, Xenia Ragiadakou wrote:
> On 8/22/22 12:59, Jan Beulich wrote:
>> On 19.08.2022 21:43, Xenia Ragiadakou wrote:
>>> In macros dt_for_each_property_node(), dt_for_each_device_node() and
>>> dt_for_each_child_node(), add parentheses around the macro parameters that
>>> have the arrow operator applied, to prevent against unintended expansions.
>>
>> Why is this relevant only when -> is used? For comparisons and the rhs of
>> assignments it's as relevant, ad even for the lhs of assignments I doubt
>> it can be generally omitted.
> 
> Yes, I agree with you but some older patches that I sent that were 
> adding parentheses around the lhs of the assignments were not accepted 
> and I thought that the rhs of the assignments as well these comparisons 
> fall to the same category.
> 
> Personally, I would expect to see parentheses, also, around the macro 
> parameters that are used as the lhs or the rhs of assignments, the 
> operands of comparison or the arguments of a function.
> Not only because they can prevent against unintentional bugs but because 
> the parentheses help me to identify more easily the macro parameters 
> when reading a macro definition. I totally understand that for other 
> people parentheses may reduce readability.

Afair Julien's comments were very specific to the lhs of assignments.
So at the very least everything else ought to be parenthesized imo.

Jan+


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 12:53:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 12:53:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391393.629185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ6w1-000776-NH; Mon, 22 Aug 2022 12:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391393.629185; Mon, 22 Aug 2022 12:53:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ6w1-00076z-KX; Mon, 22 Aug 2022 12:53:41 +0000
Received: by outflank-mailman (input) for mailman id 391393;
 Mon, 22 Aug 2022 12:53:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ6w0-00076p-3p; Mon, 22 Aug 2022 12:53:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ6vz-0002Xr-W3; Mon, 22 Aug 2022 12:53:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ6vz-0004rU-D8; Mon, 22 Aug 2022 12:53:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ6vz-0002FV-Ac; Mon, 22 Aug 2022 12:53:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=llRJ8T1byv095qH+Q/1SeoKRnHBsvbPeHuMsiXKEbhE=; b=xaTgZHsWAAq5bCqKxk44ubxTq8
	6KXeW2n/GUszMfaclCoyde/4YesNKdw7OoAXzQl7l3FvPZI6yTGa3xeT7R4gcL2SndzIAJFDrXCfS
	lEjlINbCuz0ES+9zz1148pyOLMOzD0J/3p2FArn1aTEXNh5jf24qt0RSdn0uwVfOFvVE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172698-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172698: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-pygrub:guest-start.2:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start.2:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
X-Osstest-Versions-That:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 12:53:39 +0000

flight 172698 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172698/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172679
 test-amd64-amd64-pygrub      22 guest-start.2              fail pass in 172679

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds     19 guest-start.2 fail in 172679 blocked in 172698
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172657
 build-amd64-libvirt           6 libvirt-build                fail  like 172679
 build-i386-libvirt            6 libvirt-build                fail  like 172679
 build-arm64-libvirt           6 libvirt-build                fail  like 172679
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172679
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172679
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172679
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172679
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172679
 build-armhf-libvirt           6 libvirt-build                fail  like 172679
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172679
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172679
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172679
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172679
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a
baseline version:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a

Last test of basis   172698  2022-08-22 01:53:34 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 13:08:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 13:08:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391401.629196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7Ae-0000Je-1m; Mon, 22 Aug 2022 13:08:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391401.629196; Mon, 22 Aug 2022 13:08:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7Ad-0000JX-V1; Mon, 22 Aug 2022 13:08:47 +0000
Received: by outflank-mailman (input) for mailman id 391401;
 Mon, 22 Aug 2022 13:08:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ7Ac-0000JO-HL
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 13:08:46 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2083.outbound.protection.outlook.com [40.107.20.83])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d3af37b-221b-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 15:08:45 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4026.eurprd04.prod.outlook.com (2603:10a6:5:17::27) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 13:08:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 13:08:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d3af37b-221b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cnUb4jHmE1MtDc0akfbUDOiARFll+HXX3lN+MeLU9KvlReKaIE69lO8sJlIjg4y0uJhq5qvA7AIxy9GGaaEsvPd4R7BVWxCXROXVcGRZoWFAk+bbc+IjMeJfykOXkFCmUYV4K9CWeB0mZgfIIgPM/98eBfzzz4GvFyupPMGlHQy4MsKTdY1l0Z5yXX7ebVeQJDy8fs6t1Loh7OHFoBs8Wh4v/f9sEJ4e3YP8MFMMrDbCBh4ki9N9+x4aDZiJriKwIboxRa4z2U1eIpybS3fJfOixkyhTTvi5muS+X5yzpLr1vpvyWDAmvHuzKlNK2gSTSGn1NJTTmhN5CmDAVfHw8Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+jQLl0qPwS/GMz6jDSKqSq/5BzIgJ5xzlaCwk8+lKsw=;
 b=KHgIFlSQaKd/a7leTSHTsSHrDMOVySVUlxYreZgKi9N6bpfaTHgAXg0igVJ3b9F1O0+KMpcD8bAfalu6AEWoosL6dPYK/xqkWQLREm7Rd/Ir5YTEic8AQdNupSIAGNOGEPhjxqqEDjsJHI0Yf6cXI86a6Yv6YmClIL02xYsqk1/0Q0PDFmurJVRjUpv+rhZ6j17/Vn6kc5mIXieCSyvbSalaqxCTF3Xr/chih0YSDlzv5+HJtscw8nESzWtbEAFcIN35EwMn1Nehq9FpB23YAQy2U12+2frXzEr3F0vPOhU8Bcfut+pj4QMyQGBtGssjN6sw6h51Ah18Jh2GzyBMVg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+jQLl0qPwS/GMz6jDSKqSq/5BzIgJ5xzlaCwk8+lKsw=;
 b=ObE4HdqdXgtpXPGzlOdwnHu3leelY/84KI7F6kIpqYR5u9CuPPP3ALK9JcxB9p9YzGvkhfZ7klitwybd354UyPgZYi+zjZeN0XdMXIqPDWRGQtpvMXyKFNbNBunEA9FOtHsSWWOj1XJWvthEKNQfW4knVNUWtib93nAd7lxSrfgrDznqIgN/HI4IkM83r0m6hvINrtmGcVda0E4ozCXSI2OUwLddGcEL7GpLNV0CqGfGdKTO8Y3a15U7smkzoi4uKYnY/TiqeSR0r9eaDYxANqcLLwUQZBuL/MXQJJm04FhN6d/L04yP1ToGZr0vhAtnzUAoREXBk69bNv98tZp4xg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <90ea98d7-58f1-4808-b691-c3a773a0476d@suse.com>
Date: Mon, 22 Aug 2022 15:08:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 1/7] xen/evtchn: Make sure all buckets below
 d->valid_evtchns are allocated
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1660902588.git.rahul.singh@arm.com>
 <710e9e6477270212136d6f2047fd15a033fa7d71.1660902588.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <710e9e6477270212136d6f2047fd15a033fa7d71.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2835b791-b365-49ac-c796-08da843f7052
X-MS-TrafficTypeDiagnostic: DB7PR04MB4026:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d+DNeJuPi4NOOPXpPg7+RD+QqBz8PmgFE+POmijMaL4JJZNmXNQR3QJoWmh68xhFRovmYMsB7kGdvcvHijOkWo2KfOPgmuB1DXbIEq5/4MD7QVrK0y6XbBuWMCP9p0jlnWX2pwkDffonUm98zf511DGhrZWZkQyexO4vEhohONhoGjuYMebjiwGqCHTa3mwYnZMVqUgN4hp8sKnItRru3d0wFs937WC9tfgAzXHPwWivyZ8mzUF6Pa/GrK0aW+8YT1ANrTZuVD2H6IFUHQqo8uAJzr2J+wyktL4tvvgvzReyfoliv3cJ1pSWnTMmCuPlgSOkRlMQqhj2CTYHgDcbMZZMFaWkXhUB6wuGRbTm/7TyNNJwmHqKwjkLtwXfkpLRg7P8J7wA21gEEZNl1WZfW+BQkZeq1MIoHhVFaFkByJJEpIsnGKEeqBRqX0P9DU4UfcyHCXAyMjIPibZN7v8Mhwnejw2oNYea6nYdVb7QzhOmEgB0ZEZ4vH1wjHGatvssbh6NDO6QAvZjTWWp2KjZvvaY1o8vEqqeyqqMhcNqX3MqnUvmBRFOTf34lOAh45Ye7BrNXzZqMoLSuJdeujAlRuga5BrmKs85hzpvSZitl4Tl1OWmeFXQFpkbUYjdv1lUofYzCQ8yCkxLCk5H+GPWI/1WvqoGsV8qspdBFbEWQ0JEE1wSwk1wsln6X5EkdepjyGe0EEed6RZKUacgNwR1lNGHb5BTjiyQXz6V7jfYPd9NuG3w6IFt4UlP+3ZrYCQBOIFlYSHovCngYTVuHRlF9cyORdHdZnSoUvVk6bWNRTk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(39860400002)(346002)(136003)(376002)(6506007)(6486002)(478600001)(41300700001)(8936002)(186003)(83380400001)(6512007)(26005)(53546011)(2616005)(2906002)(5660300002)(316002)(6916009)(54906003)(4326008)(66556008)(8676002)(66946007)(66476007)(38100700002)(31686004)(86362001)(31696002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Umhjam90bzI1RDRLRTNsME1vdVpRekVBUHdPS1dlUG0vMWdmV3FIelpxcEl0?=
 =?utf-8?B?clpjYzhOZkFaeTN0QzBoQ0dnS0dpSHJVOGQrZTFvRnkzelgwaGp6Tmo1d05a?=
 =?utf-8?B?eWFGRndNTHRJQ2pKNGI0YmVsS0hyOWNXdUduZ0doUGl5RzdDODUxUHVDSGxx?=
 =?utf-8?B?VElBdVMrV0YxaFFRblpvZE9uSVJSM1JLUWhTUFFSQUovOGFkWER2aXNXR2V1?=
 =?utf-8?B?VjVrdzE2Z21PMVFEbDczd1N4c0h6ZWJ2VHNaWjVGT2ExN3NPc3lTdmNRQysr?=
 =?utf-8?B?TE5WWUZnSFIrRS9CNTRWMFlnOGgvaDk5VFZMd2N0UDFxVVRwZU9RWTRKam04?=
 =?utf-8?B?NlR0VVM1ZHZJWllNdXRRek1nV1VENEhIMHIwelFUdTFDKzIzYW1SNWwxNjVx?=
 =?utf-8?B?S3diN2FHYU5XTzlFT1liQW1mN3FVU0JDbFlacnJOWTdWdkFkd2JDNm9aUDll?=
 =?utf-8?B?eENMNmVta1MyTVNKclMrMytFR0FNd0hTbmx1Q0tMclUvaUV4bC9NNlJiWjJS?=
 =?utf-8?B?ZFgzUVhtcGxjMzBUcm1LK0dLa1RnQ05VbGdmMDdjNEJIZi9rWFJ1YTF2NGwx?=
 =?utf-8?B?UVNUelZWVlRzZ1dmTUxZcVZ6Q3BtOHg2RGxGSzVXNXk0dGJ6OGY5ZDZUb2tx?=
 =?utf-8?B?Unp4d1lrajkvdHVyUWxvY24ybENscllvTUZheDJoamFtTFczaDNLZ2ZucTJu?=
 =?utf-8?B?OGxkNzFGVkZnNGd3cFdMTWZGTUNyMlIxZlc2TU5hNDhIcU0yaDVQKzJuODY5?=
 =?utf-8?B?ZjlDYjdFamdXN01Db1o0RE9pRWxVV3hkbTdHditQNkg2Tks4bkZablhXMDdW?=
 =?utf-8?B?VWNRRzdDYXlIZUFXc241SjV4ZXVUVFZJSlU0bDMrbklhVk5Ucyt0ZVYrMDV2?=
 =?utf-8?B?eUVneDBCNkRQb3YyRmo1b1V1MlZTRmlLNVZMY1NUSTV1WjlxZDVrTkVta2Jt?=
 =?utf-8?B?ckw1ZGFNUzhHTmgvRWNDN2FpZEw3TFVSRTVUYWZOakVKWkRhNzMrdnZmYmlG?=
 =?utf-8?B?VW5MZU5LNCsyc2pmUkhEUTdmR2M5NFBxVUpRSXYvclozM0VXdFZHQjR0dy9D?=
 =?utf-8?B?VUw3RmxCNE5pYWFjaVNFOHhKV3NZRFhFQUFWL3h3MHZDdlRWdkczMWRPWE1E?=
 =?utf-8?B?bGVnVUFIcHFvRjZDYk4wZU15TW5ZZ0dYMGpYekdvTlk2QU1KbjdjVkNoN3c4?=
 =?utf-8?B?dXdsZE56N2ZkbHRUd2M5NHpHcXU0RStTOW5CNGxWamJORzE3Y3N0YzRSUFd2?=
 =?utf-8?B?N1NaU3VkTEx2SlN0VDF6MnBkL2hkbUxxT2pwRHZaZ1RPWDdLMU9lcVRBY2w1?=
 =?utf-8?B?MVlKVk5SM0p2KzJkV3ozSk5IWjBueFBrR29EeEYzM0wwY3hXYmh1N0phU2No?=
 =?utf-8?B?ZHdjYkF2WXZuL0hVbE1HbmpvOStiVmZnR1JGUERFN0IzZDBpbFRBRlNucE5j?=
 =?utf-8?B?ME1FclZNaHNUVWdCS3dSY0JHMVpHbVFNbGF2WHpSOUZSeEZaRmd3ZGxkTU9J?=
 =?utf-8?B?U1JCVG5DVHpxblI3YTh1VzhYQkJ0dzRvNUhKVWJXYW0zZkpJQ0FralllbjZZ?=
 =?utf-8?B?Q2E0K1p2NGphQjdsZGpsTlp4Y0Zlc0Qzbmt1Y2cxUnpUNVE0QjlpYW1mVWQw?=
 =?utf-8?B?bWxkVkdVOXdOZE5qQ2NMd2VnMENRNTZDVGFrcUo3UXl6cE9DUUsxQ1VoYWRB?=
 =?utf-8?B?YU9ocnU0aXprK0hUR2lOWHhQaHdKOXZYSGhvMWFlM1BLR0dYcDJyZGppVGNF?=
 =?utf-8?B?dVY4QnliTDY2c3lSek03blZvWEZSZjliOG84cjJaMXJtOFIrNUZ4NWpXczVl?=
 =?utf-8?B?elExMmlKSGVNTXVZTnNUUm1qZUhTcGlJTUxoL2FqOVRYRHRzUmY3TEtyc1Rj?=
 =?utf-8?B?aXp4aHVIcHo0OU42NUZlbkdKVmZTVTlvQzBDTzRqTkxGWDNtc3NqODR5eFBm?=
 =?utf-8?B?VTUxUjl1eTRtRHBWd0p5QnJrSERINUswTHNYcmtLQW5ZYmJWRVRFQ0JVR3Fh?=
 =?utf-8?B?V3I1NVA4Rld3c0kxY2E4SVNiaVA1MkU1ZEZjVEM1L2lYd0MxUEpScnRtMEFS?=
 =?utf-8?B?RDhCT09UN2YzR3ZrTXY0T2VBWVJ1ZGFqbTh0amZtWWRlZE9QNWc4dWJlWGx0?=
 =?utf-8?Q?YYJMQ3sGc3l+rNjI7+WXhFKsx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2835b791-b365-49ac-c796-08da843f7052
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 13:08:43.0969
 (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: p2aOq9LD/eWdke0Qxuu7eTE6+QF+W6XRgiUYJnhgstIMFbUv2I7ahlhBdUqRMmXX51XDl82nxBw5tgJJXPavrg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4026

On 19.08.2022 12:02, Rahul Singh wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Since commit 01280dc19cf3 "evtchn: simplify port_is_valid()", the event
> channels code assumes that all the buckets below d->valid_evtchns are
> always allocated.
> 
> This assumption hold in most of the situation because a guest is not
> allowed to chose the port. Instead, it will be the first free from port
> 0.
> 
> When using Guest Transparent Migration and LiveUpdate, we will only
> preserve ports that are currently in use. As a guest can open/close
> event channels, this means the ports may be sparse.
> 
> The existing implementation of evtchn_allocate_port() is not able to
> deal with such situation and will end up to override bucket or/and leave
> some bucket unallocated. The latter will result to a droplet crash if
> the event channel belongs to an unallocated bucket.
> 
> This can be solved by making sure that all the buckets below
> d->valid_evtchns are allocated. There should be no impact for most of
> the situation but LM/LU as only one bucket would be allocated. For
> LM/LU, we may end up to allocate multiple buckets if ports in use are
> sparse.
> 
> A potential alternative is to check that the bucket is valid in
> is_port_valid(). This should still possible to do it without taking
> per-domain lock but will result a couple more of memory access.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

While I'm mostly okay with the code, I think the description wants
changing / amending as long as the features talked about above aren't
anywhere near reaching upstream (afaict), to at least _also_ mention
the goal you have with this.

> Changes in v2:
>  - new patch in this version to fix the security issue

I guess you mean "avoid", not "fix".

> @@ -207,30 +216,35 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
>      }
>      else
>      {
> -        struct evtchn *chn;
> -        struct evtchn **grp;
> -
> -        if ( !group_from_port(d, port) )
> +        do
>          {
> -            grp = xzalloc_array(struct evtchn *, BUCKETS_PER_GROUP);
> -            if ( !grp )
> -                return -ENOMEM;
> -            group_from_port(d, port) = grp;
> -        }
> +            struct evtchn *chn;
> +            struct evtchn **grp;
> +            unsigned int alloc_port = read_atomic(&d->valid_evtchns);
>  
> -        chn = alloc_evtchn_bucket(d, port);
> -        if ( !chn )
> -            return -ENOMEM;
> -        bucket_from_port(d, port) = chn;
> +            if ( !group_from_port(d, alloc_port) )
> +            {
> +                grp = xzalloc_array(struct evtchn *, BUCKETS_PER_GROUP);
> +                if ( !grp )
> +                    return -ENOMEM;
> +                group_from_port(d, alloc_port) = grp;
> +            }
>  
> -        /*
> -         * d->valid_evtchns is used to check whether the bucket can be
> -         * accessed without the per-domain lock. Therefore,
> -         * d->valid_evtchns should be seen *after* the new bucket has
> -         * been setup.
> -         */
> -        smp_wmb();
> -        write_atomic(&d->valid_evtchns, d->valid_evtchns + EVTCHNS_PER_BUCKET);
> +            chn = alloc_evtchn_bucket(d, alloc_port);
> +            if ( !chn )
> +                return -ENOMEM;
> +            bucket_from_port(d, alloc_port) = chn;
> +
> +            /*
> +             * d->valid_evtchns is used to check whether the bucket can be
> +             * accessed without the per-domain lock. Therefore,
> +             * d->valid_evtchns should be seen *after* the new bucket has
> +             * been setup.
> +             */
> +            smp_wmb();
> +            write_atomic(&d->valid_evtchns,
> +                         d->valid_evtchns + EVTCHNS_PER_BUCKET);
> +        } while ( port >= read_atomic(&d->valid_evtchns) );

This updating of d->valid_evtchns looks a little inconsistent to me,
wrt the uses of {read,write}_atomic(). To make obvious that there's
an implicit expectation that no 2nd invocation of this function
could race the updates, I'd recommend reading allocate_port ahead
of the loop and then never again. Here you'd then do

            smp_wmb();
            allocate_port += EVTCHNS_PER_BUCKET;
            write_atomic(&d->valid_evtchns, allocate_port);
        } while ( port >= allocate_port );

at the same time rendering the code (imo) a little more legible.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 13:12:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 13:12:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391408.629207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7EL-0001pW-L8; Mon, 22 Aug 2022 13:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391408.629207; Mon, 22 Aug 2022 13:12:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7EL-0001pP-ID; Mon, 22 Aug 2022 13:12:37 +0000
Received: by outflank-mailman (input) for mailman id 391408;
 Mon, 22 Aug 2022 13:12:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+uMy=Y2=citrix.com=prvs=22646fa71=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQ7EJ-0001pJ-I6
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 13:12:36 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 15302847-221c-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 15:12:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15302847-221c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661173954;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=DPmKXJOI8G/T+sQv0K4zhFGXrNZPq2rWeq1//4l72Pc=;
  b=fasE8V49TvKFjiZg8lOqBXLcL2qhYqaVT9kR8M0+TzC+M76cFqQZxMVk
   kxNAMSPxPS6v21Luk0De+acVrXqQWZhbujQUUg+CYQVTu97doYFSfwqyJ
   P5tfnJEe+WxOzBr9ZTuL1ro/UeIMBqV5Heqo9d10fN+hPM8ZbJWYBgSE6
   M=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 81159432
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Vv6EPKw1pl7pJ+aBi+V6t+dYxirEfRIJ4+MujC+fZmUNrF6WrkUBy
 GYaWWqPMq3eNmOmKNlwPYrloBsEscTQmNYwSFZqqyAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Ek15K2aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1VCEs0N4Ijx99PKmpFr
 uY/GR49Swyq0rfeLLKTEoGAh+wmJcjveogepmth3XfSCvNOrZLrGvuQo4UChXFp254ITa22i
 8kxMFKDaDzpZRFVN0hRI5U5hOqy3VH0ciFCqULTrq0yi4TW5FwoieW8bIGPEjCMbZVFzmSJq
 3vfxjm6MzxdHsG2mSO+2G3504cjmgukAdlPRdVU7MVCn1m71mEVThoMWjOTg9O0l0q/UNJ3M
 FEP92wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9cnaX9L2blg6LAQMeJjQYQh4qfS4Zyoy2yG0stS4jXuqPAYbs0IOtSW6sm
 mDUxMQtr+5N1JBWjs1X6XiC2mvx/caRE2bZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/5nzvp5pyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN51oIvMALbSX6N/cfj2eN5yMCnMDd+SnNDKiIPrKinLArHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6RMJruMow+lWLeb7pMjtcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5RrBltP3c/1uIr
 76y9aKikn1ibQE3WQGPmaZ7ELzABSFT6UzewyCPStO+Hw==
IronPort-HdrOrdr: A9a23:AMVsWqqaMZQbkyHWCs/wj6AaV5oneYIsimQD101hICG8cqSj+f
 xG+85rsiMc6QxhPE3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakvDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-IronPort-AV: E=Sophos;i="5.93,254,1654574400"; 
   d="scan'208";a="81159432"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/entry: Fix !PV build
Date: Mon, 22 Aug 2022 14:12:04 +0100
Message-ID: <20220822131204.25814-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

early_page_fault() needs to outside of #ifdef CONFIG_PV

Spotted by Gitlab CI.

Fixes: fe3f50726e87 ("x86/entry: move .init.text section higher up in the code for readability")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/x86_64/entry.S | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 9b34150bc7ab..b0efe48192d5 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -22,6 +22,17 @@
 #endif
 .endm
 
+        .section .init.text, "ax", @progbits
+ENTRY(early_page_fault)
+        ENDBR64
+        movl  $TRAP_page_fault, 4(%rsp)
+        SAVE_ALL
+        movq  %rsp, %rdi
+        call  do_early_page_fault
+        jmp   restore_all_xen
+
+        .text
+
 #ifdef CONFIG_PV
 /* %rbx: struct vcpu */
 switch_to_kernel:
@@ -140,15 +151,6 @@ process_trap:
         call create_bounce_frame
         jmp  test_all_events
 
-        .section .init.text, "ax", @progbits
-ENTRY(early_page_fault)
-        ENDBR64
-        movl  $TRAP_page_fault, 4(%rsp)
-        SAVE_ALL
-        movq  %rsp, %rdi
-        call  do_early_page_fault
-        jmp   restore_all_xen
-
         .section .text.entry, "ax", @progbits
 
 /* %rbx: struct vcpu, interrupts disabled */
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 13:32:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 13:32:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391415.629219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7Xe-0004LU-Bn; Mon, 22 Aug 2022 13:32:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391415.629219; Mon, 22 Aug 2022 13:32:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7Xe-0004LN-84; Mon, 22 Aug 2022 13:32:34 +0000
Received: by outflank-mailman (input) for mailman id 391415;
 Mon, 22 Aug 2022 13:32:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ7Xd-0004LH-BS
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 13:32:33 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50044.outbound.protection.outlook.com [40.107.5.44])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dffd961a-221e-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 15:32:32 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM5PR04MB3171.eurprd04.prod.outlook.com (2603:10a6:206:8::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 13:32:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 13:32:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dffd961a-221e-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DZC2zQo34kDnso/eP0cBvwd5V83tfsVMkeiocH67hCb85jdkj9vfpZXATdGEeCp/kGceV1V4mAO21i31/2lx/+lGiTflmKaLQNLQmicG7xzNYa3B5jD45XODPKkTTZh7/FTK9f0rtZOeMl6kIVGNbch4sEYjW9aMr1hrwFONOri7YPQl/EGxDQAfaCwvdr1WSKbYjDFkoiG74UYcrdKJrQuwxbqOMFWH/0ajn1o10cF9yY83+CAINkmkA1ksZ4Vd1sk8RFIEA6PHHcLkdHZ35IygEpPOIrjipgEYvkGx0SDh2e61XvOcKenDDSNGvNSN6ozIMeqioergfOyJelfkOw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Emkvf+RvM18r/zdy6kiHg/r5I4LGrEwfhhSbTNwbF3w=;
 b=OUU5y4g+i4vYyKznwjn7RzhefACWhUDC5aanhFnYCJv4dpo4fkn/cYhPCCCDKczpmFS3yD5FCv8Bw4+sIX9DsZCtYdvvdl70PBU4xWXWeFSei/9Nzw4CVlpqz44LSrn9Y/0B0+705FUTPx1KPOBtvTWCsaXMQbexso1etHrYIONZyMqkzHV9ErfeXWZ/HZd4CwxnT0s42uLmVmISlsNvbMNAPecyAlRM2mMNLET/5d+o4NT08NyAyhjHDQF0CF+vVmVe7w1kakAR9K1OzwvhZyLkRnU9FZd6+1TtNdGsyDEbqXcuKoUf/LYp/VijgOrWZdr96R4gC9w3r0uSgqQprA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Emkvf+RvM18r/zdy6kiHg/r5I4LGrEwfhhSbTNwbF3w=;
 b=ndwYLaYpWM8B/0zQcMocT66Tz6yLy5BlvKONBZPWJL6k5yWlOk9LxMUJ7QZcDXSGqOoBD5CUwO+VXEAQF+uWGF4heXRQyBW1n0qdgtpXw+EIxB0U+5GS6CGyFZKRPARQNx2RUzh+SdHYlQVgrlDJs+N0z6C6ztGUvc1myMT9KJQmfDKNLBRJpwcQaKJzHzDVwqpFXQrgQUYEvLSLWmxL4YWLgJb3UA4H0eOpKalhK0+xh3xLClF2r5AaljlR9dvLZpX5GJpZ4I+VVxmmP2EFQaysgR6CMDl/B29yWL1BzIAZRfrBH0sHscGWHQSopd+6cwOYD+z6fPZ+nV6fm3qTEw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <12fc8d64-89c9-39fc-3abc-0994bdac6d19@suse.com>
Date: Mon, 22 Aug 2022 15:32:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/entry: Fix !PV build
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220822131204.25814-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220822131204.25814-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d8f64983-541b-4c43-b835-08da8442c30a
X-MS-TrafficTypeDiagnostic: AM5PR04MB3171:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w0eTg2yoxJsxliGhPoMeS6qS2ALmFqD0JJ4towDGNRwqT/rVy0SHT4uKKNpXvzxh+0Vxb+Q2Hj7QMffzXQp7fcEy3SDamUJhQ0oBMe/D+25QZje2pNdqrHnnf+UQf5AFHSrOKtg+3we3F8loVmOBFaWovgmuzhovCOxO4/0R1ybqa5yEkpFjEyLuqi+10MzLmmeOEGaHLM/ArVAaHVpMsn7CKQ6nDDQqEjPuJTL+iwrImmm6Uzh2vcAB3xGt52C+dNa9FfwgGcm0fE3hI30zZbvGwrLwa/1eImMCb4JFxQm+P9OT2l9BwK/3LKWGDfkUKmAeSLfTczlFdF7ruEQF1cNJlyUWNwi61xaHXNVzCyPm5oqkCi3c+klGZVDtn9xhexXc7BKFJjCuWqPt54o2zn5pBpS965y5xK4qsYQju7pN35VfuseZxLOnLrA0E5luPAVr1YOrqaA87fBRxrZG1nrRyQkyvkm2wGS0+TrikNyFgFiiitzyelq8vEPbS2LXfvTE6h2QfXg1UXqAYu1FkkxNKlPbC4yoHzGan6MfdHEH8jRKaTcOVNS98F8gD71VTTMUGqVc1w8wX37eD/8cB9yJ5FzrxKw4AwJTdpOVIaSBx7eSAaEWGnr237flczeQDza2vEoLLQed1oLX1Bk3QMR0KE+X8bjX5PuWA8shSY2GJooQtyMv6DWgAVDlZjhba/xuShbavISUZhIu6m2exhBvvo9wUX0lvcbO0LUeIAoewEr5RcmTYPQTN2PAflwLnitKtH6bGjsg0QTPjpmtyXiyEItmgDyArdYJQPEyNVs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(39860400002)(136003)(366004)(396003)(376002)(86362001)(6506007)(6512007)(83380400001)(38100700002)(31696002)(6916009)(316002)(54906003)(8936002)(5660300002)(66946007)(66556008)(66476007)(8676002)(4326008)(2906002)(2616005)(186003)(41300700001)(478600001)(6486002)(53546011)(26005)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHMvUzBpd3prUzNSd3crelBzYnBGRHV5T1NodWRYWFlMb3l5bis0Ukhnblpl?=
 =?utf-8?B?U1ppaWVacHlvR2J1TC91enVkQjhLY0FESDlDaGdTNjBPWDYwT3hVbXhrMUgz?=
 =?utf-8?B?UWkrWTZHWjNUYUdiVTFpa0dMeDdldmVpWUtFbHUwWFVOcDlTdkw5UDZRaW9x?=
 =?utf-8?B?Smx5MFNrYUozTVZBRitESXZpVHd5Y2VjU3l2UGQ2bHRQZWtobjZOSFJtTjlD?=
 =?utf-8?B?UTlnSk5rak1RRzEreTdtNWJtcFZMQTNuQWQ5K2wvUmFFRkhHYVBnZGhhZ3Vz?=
 =?utf-8?B?VmpFcEFIMmJIb3QrR2ZyZmxoNmtKNks0ZDNzT1VVdXFqVDRXMDFOTVA5aXBh?=
 =?utf-8?B?RW9adGhCOWNBZElGZXFsSjZwK09waWJnNzdvK1pwakcwQW4ydkdsODc5bldK?=
 =?utf-8?B?Q3lBOC9XdjBQeE1ybGlJU2NjaDNiNjM5Qmd3OGl5SVNBVUpnTEtDUTBpR0k4?=
 =?utf-8?B?VENCNURFYVRKcmtrNCtxU0VNTjBYOWlmYmZ0ZU9pUjRkMlJleHBtNUNRenVs?=
 =?utf-8?B?cXc4L3hUWHpMTzZJNk91aE5XZzgrdHlYSmtlaXIrQ01WeDQ1Ym8xak84TzVC?=
 =?utf-8?B?TG1ocUxCa05YZHhKY2RlMENiM0I0SVNVbjFnWFplbEtjVGxCczFVVUZlNzZY?=
 =?utf-8?B?VmcwRWZuSWpsR3Zxb0Y5QWs0cklVWUI4b1ZURitIMGI0MkcrYThvZElvWmMr?=
 =?utf-8?B?NGJlZFo5c3JoSXZ1akoxK2NnVzkrSnBQSmFScW4rQjlGMjFvVUNmM01XL2Vv?=
 =?utf-8?B?ZVVlOGRNdCt1KzZMaGlySjhVcjV2dzZ2Z1l5Z3I2UjdZeVl6NkJjamtIWlpX?=
 =?utf-8?B?cVE2dDV4Ynp5ckVvREdXMDhoYUhJSkRXWmxGSTIrenp6Tys4eTVNS2J4ZWhZ?=
 =?utf-8?B?VHlzZ2pXM0hybVY3b0h6VFh2Y3RXQXVDMnlmL2N5Q3Fnd2pJSldpd1lSdVFV?=
 =?utf-8?B?b3ZIRmxnT1dlV2JSUHkxVm9tUXAreWc1cW1rTW0vZUVwSlQ1cmNJUUY2R2gr?=
 =?utf-8?B?ZHd0cllISDhpSU0zN2JabGlCeS82RmpRdEhyd0ltWFBMM0htTlo2RzJsU2l3?=
 =?utf-8?B?dmNGZ0oweFR2bk1DRjJ2aGptbHNVNHFWRnFESGdkV1BjcnZjS3RjMW5FL2RD?=
 =?utf-8?B?TmpUb0lmbFRsT1RUYkNpOEFZdUE3elRTWXVPc2FvbjJUSU50SHQ5anVqaUpU?=
 =?utf-8?B?ZG5IYklnMlMyNk1EWUZ3WE9pQ3RlT2Yrb0tkNC9IOUdpN3p6dDU1dDMxdTZZ?=
 =?utf-8?B?S3BZNktsbVZjTTZpUmtjQnZleE5DWFpzdk9JeDVkN3g4NWY5WlNFM3B0bnZj?=
 =?utf-8?B?KzE3U0pJb0tvbWhvQUUwUWhnczRpcHlIMWpGdDg4dlp5aUVvUUZLRERGTVFx?=
 =?utf-8?B?NGR4VUFWdmpGMHFjRFozYXNCeWNNNHROcEZUdFg0SmV2VmVHckxmZ3VoeWky?=
 =?utf-8?B?MjF6Tkt0MWkzZkc2RVFNQ0ZSLytCSmpKY1huTGZVbWdFcHZweDdtZEpFaHZl?=
 =?utf-8?B?dDZERmlrZzNhc0pTWmxIWGg5eWdOVm5HbG9ZakVpTG8wTXhrZUh2K1NTUTJT?=
 =?utf-8?B?Vy9PMCtlRGViTmY0OEZqR29UTEliOVQ0RXdvRnNBeWpsenZLUjIzdHVEcWVR?=
 =?utf-8?B?c2l6U2hpeWFjelpaZ0ptTzU0R05MVkVIMkpKdmlmTjRSM09MNjUxVUREeUFG?=
 =?utf-8?B?UndLbXZlNTUrc0VTNzB0cUo3bjB5MlhQeWFIbm9EOEIrMjVpQjlDM2pqcUt0?=
 =?utf-8?B?eStuK1JiWVhuUlU0eUp5cHdvTFpnQ0FMQlFiYTFNNWtYdUV5ZUxXMkx5V29T?=
 =?utf-8?B?NlhKd01rYzM1bmUvZFVWeUhhaTdsWTY5YjJ0UXp0WngwQnZSbnNOcUxaZ0dR?=
 =?utf-8?B?czk2YVZILzYxMGNPa1dQK3dRUGpjS2xTV1BNS0puZ3NtSGVaOFdOUUxpRzl1?=
 =?utf-8?B?WEd5WC9tUWM1WWQxOHU1NFZITG13b2g3dXlPSjRHVFVsdXR1OWxueWlVMWtj?=
 =?utf-8?B?R0I2YXRHRW9iWEJFQW1vS0NyZjlHOHlDaVlIa3I5cGlKOWQ5eHBTUVBxNjNn?=
 =?utf-8?B?VjJ6RHVucHo0NTJZOTFSbkVybVpERXlydkpzdlFWVzdFa0RBMGxSOHkrRWIr?=
 =?utf-8?Q?CG67d9Y6vj7IyvT9dg42icJVu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8f64983-541b-4c43-b835-08da8442c30a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 13:32:30.2251
 (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: d8KHYltfQkQMcGEE9H7OLKnAwG22I2DpnYGgYbpFOqsesB/Rj7oOJcMwZi3ybDOGILsuXCNu+NtjUWCWjXml3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB3171

On 22.08.2022 15:12, Andrew Cooper wrote:
> early_page_fault() needs to outside of #ifdef CONFIG_PV
> 
> Spotted by Gitlab CI.
> 
> Fixes: fe3f50726e87 ("x86/entry: move .init.text section higher up in the code for readability")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Makes me wonder whether the original change then really was worth it.

> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -22,6 +22,17 @@
>  #endif
>  .endm
>  
> +        .section .init.text, "ax", @progbits
> +ENTRY(early_page_fault)
> +        ENDBR64
> +        movl  $TRAP_page_fault, 4(%rsp)
> +        SAVE_ALL
> +        movq  %rsp, %rdi
> +        call  do_early_page_fault
> +        jmp   restore_all_xen
> +
> +        .text
> +
>  #ifdef CONFIG_PV
>  /* %rbx: struct vcpu */
>  switch_to_kernel:

Rather than putting it at the very top of the file, may I suggest to put
it immediately after

/* --- CODE BELOW THIS LINE (MOSTLY) NOT GUEST RELATED --- */

or yet a few more lines down between continue_pv_domain and
restore_all_xen? Which, as a minor gain, then also doesn't require you
to add a new .text (or other section) directive. Preferably that way
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 13:45:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 13:45:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391421.629230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7kK-0005wn-JN; Mon, 22 Aug 2022 13:45:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391421.629230; Mon, 22 Aug 2022 13:45:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7kK-0005wg-Fe; Mon, 22 Aug 2022 13:45:40 +0000
Received: by outflank-mailman (input) for mailman id 391421;
 Mon, 22 Aug 2022 13:45:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ7kI-0005wa-TU
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 13:45:38 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4403564-2220-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 15:45:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4066.eurprd04.prod.outlook.com (2603:10a6:208:5b::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 13:45:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 13:45:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4403564-2220-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FEiQZlqcvmI0JPc6qSv4LDF8H0fHIN4lIwe8M8FMHrOsblqVlo/xTuesA4MLIg2l9feVXFoi9K2Olwy16mQBCKMCjaEMA/i3RkUVAahZ0oHKg1GGISOX89A318hLg8kLn7OF9Amo3ODbz/RceI3OSbVq0rJ91+ZQHSEo7lduzmR1HSKAlv0uM1A8pElC7y35XiiqV/NrozpcjQ8yVzijGG+Rx1wGfx0f+xp9STnDjyAjinRMCd9AfK9dw8ERixn4M8eYG/g4cbHhaoht3ya/EQdIYNq68d9QA4eFuVJRj8frW42XqLRlb3bUbPEN2nUKZWQWoELvfXvDIrUCVrfQyw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m6oYGrmXC3jbhRgM6UpIHo5ONYGEKW9otmQP1JjPld4=;
 b=GjM2IQkGaHbYSFerW9kObTWN403r7b1HXgLSGxSrjQwtHFpHn5gvkOmpyRBc5czTU64TjoXsRzTry4Ugi7iIwX9GysBsQUZBLX31Lt9fN3epIAUaWZjZyuKJGXs5hakkprXqm6W85gXAEhR4FsWpofmCKdxERX3yKXQtmM79b2Tm4yQD6ojFuQMO7yT/WQZcpc1S/F+04yjLYO9HFR2iT/OykxjeE9oOL6XE3cl1aptK05Q2MY+ECoAY9EBMXEP34iLbb+Q2jbYYo8T5JWkNR8eMnuf1y8mTVa9XhNgvgvUTNUuuQkzgb8lvlL1lnAzpE+Il00+vR+lYZr7DkQ/7hg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m6oYGrmXC3jbhRgM6UpIHo5ONYGEKW9otmQP1JjPld4=;
 b=GARb0sCU2mvobYTBxoYIpxo4mEq8LyuXyyad60lEqJtiZpxr+N8TmvhVyK+oWin9J2laqm/b5TTJhtmlaY/XzcrkadApfH+h2HOnnndf8gFgNpXuRAos0/qn9PDpODKHVPE8x7FQqq+h99ZDCmSCkPe4ISSUfV2OojQQHghDaulXv6TboiJoq25XmVADopUXOMiEyvcMz1gZEtdio7A6Y31voO3xFDXxCoc5CuLs1e9josA3fJPCwjUx5O5QyNdLlUN/gx1v+4M08zgKP6I3bJXquugZ9veKJ484D+uMFVc7f3wDf24cTGyHRkIjxNK0C8j98g1LYI+vRaf4SLl/Jw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <22ded444-ee44-2e5c-ab3a-e29edcf01ae0@suse.com>
Date: Mon, 22 Aug 2022 15:45:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 2/7] xen/evtchn: Add an helper to reserve/allocate a
 port
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Stanislav Kinsburskii <staskins@amazon.com>, Julien Grall
 <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <cover.1660902588.git.rahul.singh@arm.com>
 <a6835a7c7223635da27d4e7db002eae5d21417b8.1660902588.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a6835a7c7223635da27d4e7db002eae5d21417b8.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0123.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 02258ba5-3198-47a0-cbd8-08da844496c4
X-MS-TrafficTypeDiagnostic: AM0PR04MB4066:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N7QGvUowqqsNMgOJwoF15Jx+miXtiJxppJkjRsnGPnOq/G8tSalrp01vhuXx+YFQvNRcTmpZaaGl7R9GZJDErY6Uuoc4Hq+AX01g3T5hhUTHw720pS493WTCXZe4yuKajh3JJCZmvBDPCAHEWDU9B6f9f0Vuw7hxzn0UKUHs0/xFoq9AIJCx5uR/1aRaFKEyVfuAlUGifS7UTnB5d2gC8mot4vdJsBMsogXh9zVV3AeCnAfx/MHcFOYpkRp3iYY9T/dVzAQD22dfgBxHr1FPG+3tAZ+yp7ddfmflVNmmDkzMaOEuWNPPHGqYl6Mzn/VZk/bvArpR/HWbQmgU0s79y2iZEpf8XoonVMJY9BERPOOG0gGh+DENzyBC9y1LWz/21sxgtaxg8vnJ/x2zNu30C5ah6equVbtzFGN6+s5vEzJHKH0lI+bfFxT2HGoHCaTBudO8kE7YOM5kKruwye7THLBWLPBertjhi0inb9LBbOmClp+nd3rMrBiwg0/r0N9IM986RDBLqLbRcSMA9UYtoLiiEHPeCADY4IfAYXeJs9uLwGXMn/RCAEO+dhqgfKYmKYkqQ6+V/CRiwFS53b9azbXfPeh/EYbKzovnacuWKNpVmlZlONrKh7/3JdTi7DQ6YMY33GRVcizKUe3yamtKTV++1E5unO2rCQk0Ao1ThM1wvrwSftoYQK43gmqyh4gl8dRFxfklbA/fsu0bw1M8roAHvjx73Ibo6eT6aDenNLVpbb6MIM7vfGZ5L/XLOi14iOIB67+/t9EU53u3WUZ7HTOFVwsjF72ceYLqxhDPTAs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(39860400002)(136003)(366004)(376002)(31686004)(38100700002)(66476007)(66946007)(316002)(478600001)(4326008)(6486002)(8676002)(31696002)(54906003)(6916009)(86362001)(186003)(26005)(6512007)(2616005)(7416002)(8936002)(41300700001)(36756003)(4744005)(66556008)(2906002)(53546011)(6506007)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUR3UlFLMk9iYXg1VHVjalF0K1pPUENUS2cvbi9SaXV1dmFvcjRlNlNvMmJI?=
 =?utf-8?B?MXhwYkc4ajFIMncrYkxTQ2MzNFNFckRHSVhrSEc0M091YkRlWXdiR1h6cW91?=
 =?utf-8?B?dTZiMTVmclZEdUV2ajJsZkYxTHJuMUFtSTBWMkNDZXlEbkFlSGIwZ3JUUGlL?=
 =?utf-8?B?K0tHTElYWlNWaTFDUnhSRW5WTkU3MEJaOWp5MTg2S0Z6Y0RoMWNuUEZ2Y3Fu?=
 =?utf-8?B?YkhUS3pYaEs4YllKMzVJRWR0S2p5MHNrVXZiMjBzbkVFdHZ3dFEwZUNRZnlR?=
 =?utf-8?B?OW1jQWwvWHE3QU80am5NSXQ1Q01RWXduVnFxY3BIdFBPK0VCSUluNFBleUQ1?=
 =?utf-8?B?TUtiN0ZCRlBZZkdyU2gvN2hVendRSnBkK0wvK2pWd2taZEZCbUNYZXo3UVZK?=
 =?utf-8?B?SWpQcWtlT2VOcmdYV1FNUHZWRUlRUVdmUlZRLy8ydDRDU20xZ21qWXkreG40?=
 =?utf-8?B?aEErK0tVZkhpL2N5VlNvZGc3bjg2d3I1YXVHbmV1L3BiWXdPcHZEM2RPV3NN?=
 =?utf-8?B?T29xZ0g0KzZFWnk3cmF3TCt5L2ZBZnNqUnBTTm10bVJvMkNLMGtWa3UvVUdM?=
 =?utf-8?B?bUNBNUkvdmU3Y3ExVU41bjdqUEVJZHNSQi8xeHlHT3VhSmkwaFZFSmdndTNv?=
 =?utf-8?B?Rjd1YytnYXhEbTJDbVVubm9kNW9QYnhjQ3lJUjl0Rk54L1JSK0lvdkhFRHNE?=
 =?utf-8?B?WHZUV1A5Z2s4bkJjMnFYYjdjM2tyL2pzWDFySjdmNG82MnlKcVJjeEtOcTk1?=
 =?utf-8?B?MXhrTHhKTTVnUFR3QmhoTzFZdDRQTy9nTVllR3puS1ArKy9RMlpWbWlVMEtv?=
 =?utf-8?B?WGUyVXpzM2t1ekRORDVqT293SGh3VG9MTWRocGtZcjhxZlhEUUdRM1J2ekZp?=
 =?utf-8?B?eEk0TWU1elBDaXNsRHF1M3hXckV4TkNNcDMya1Q1QStkMnBra2FtZjQ1Z1p2?=
 =?utf-8?B?N2NVd1o0eGJTczBrdzFHbGxKNWxISEtQL0tsRk5qUGdtcFpacUxqcC9rSno0?=
 =?utf-8?B?WjUxL2NtUWEwY1lFdmFhdGpBSUhuZEltblRISzkrVEdidCtDbktxK2dkTHM5?=
 =?utf-8?B?a0NicHloeDRhM0tVNjd6SkV1SlFBMUdnL3lFcmYzU1RVS2drc0JGbDQ0eGdm?=
 =?utf-8?B?UGx1SW40UnBHTDNPRmFOaVRSdG96N1ZGZ3JSVXpoalhtYTloai90NTdTeVl6?=
 =?utf-8?B?YW45WkZlUVF3QmhYWXoxTU50Q2JuQTFEdzB0QmJUUHVyeWpPWVB1THJ1L1Ew?=
 =?utf-8?B?ZXg4aFpPdC9JZU1ZYlo5NlIrSzljR0dLVHVTN2NQNUhLZyttVTFQWjY1NUJS?=
 =?utf-8?B?NHlrdzR3S1Nqd2szSUtSNmdJL25ySWJIcUlycGZldVRXNy82c1JZL3pvcmdG?=
 =?utf-8?B?VGsvWWZlbFpZZkhTQkticGFRdDJqSHRPSFRWUGpOVFFCOFlOYzNqbTMzQmVY?=
 =?utf-8?B?WjdEUVlIamkxbEpsYk5KM21YR295cE5IWXBoRVJwMWlZelgzOTRySTF4Tlp5?=
 =?utf-8?B?VjhoWUxuZGNVcnpTazNQaW5TWmx5aitxRUR1NXhQbDNBUks2NFJwY3cvbUVD?=
 =?utf-8?B?SVg1MmVrZm5WUk56VXpOT0dzNlFLVnIyV3pxMURXUE8zV05oYVRNeGFHUkE5?=
 =?utf-8?B?K2lhZGxaY1JMbEtjYkxmMWl0VEtSaGh6Z0xPbjNWTklHbDkzc3FudlZXQjVS?=
 =?utf-8?B?N0NVeWQ5bGp4WjVSWjhrNnVPSjluSGNDTTZzaWRVS01vVHFsWG8vVjNTOEtw?=
 =?utf-8?B?cEZHRFhzQndENGREWFJOd1ArcGx2Rm5hZS9zRWVnZ3g3d0NiNW1XTlYzREgr?=
 =?utf-8?B?WXNya251bS9VTlpZQzREaDZtaWYveE0xWVlmUnB5NDJEdmVpeExLSCtRVlVy?=
 =?utf-8?B?YXNqaE9uSnpsN2FrZ2k3ZFZKckFkV3pDVnFUTjltMU5CanQrY3NJMUU1MXk1?=
 =?utf-8?B?RGFZVERVbE1iQzYzWWllcUtXa0pJR0l5bC9OMGp3dUhPc0tqUFJzSkdqanJQ?=
 =?utf-8?B?V0k5S3BranI0c295Ni9ueVFReGRBRS9kVTZoa2tsTWt4WFhTdkM0bGREYWlv?=
 =?utf-8?B?M2JQVEhjemJyNUl6RXhMSnR1Z2dYNFVpbHR1ZHJaa0FnN0g4NVY0aUF0bDhy?=
 =?utf-8?Q?APrfKeOXYdCS2iQp5besMD3Np?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02258ba5-3198-47a0-cbd8-08da844496c4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 13:45:35.0187
 (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: V1Kzg4QxUm3F4/vZNBu6lJzyPnombzU3x3xAThIwGoneZ/ps2t8HUoiMO6hy7FL77rSRBcRSiQj2C6RsV/m0hA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4066

On 19.08.2022 12:02, Rahul Singh wrote:
> In a follow-up patch we will be able to either reserve or allocate a
> port for various event channel helpers.

Maybe "... we will want to ..."?

> A new wrapper is introduced to either reserved a given port or allocate
> an empty one if zero.

Maybe a/empty/fresh/ ?

> Take the opportunity to replace the open-coded version in
> evtchn_bind_virq().
> 
> Signed-off-by: Stanislav Kinsburskii <staskins@amazon.com>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 13:49:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 13:49:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391427.629241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7o8-0006cx-4h; Mon, 22 Aug 2022 13:49:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391427.629241; Mon, 22 Aug 2022 13:49:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7o8-0006cq-1Z; Mon, 22 Aug 2022 13:49:36 +0000
Received: by outflank-mailman (input) for mailman id 391427;
 Mon, 22 Aug 2022 13:49:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ7o7-0006by-6l
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 13:49:35 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2073.outbound.protection.outlook.com [40.107.20.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 40e22ef3-2221-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 15:49:34 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4403.eurprd04.prod.outlook.com (2603:10a6:208:6d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 13:49:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 13:49:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40e22ef3-2221-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nG4CO83SuwTmL3hsfys94M534oo9AEby2v35jQvbo+4H+oclF8XS7cgTcz62XPOs4NqfmJXoy2l+HfgJcH7xSycHt1UkjWjv1AnuDZ7h0u1wZJ2RHdCg5+LUdB8YBJCOhfRV7rz/UlEOSb8gnBzNsysv0V7h4zdu9uNoq4p813B6G3V0VVem0h1Ci3Cb6mpYfGLKGgVjq8aJ7UI23g9qKO3rZnzIk8dv2Y47MIMV3+koGh6mHdNpv6V+6uU5mvQG815UwRgj20T/8okHRrKs12wZBJl9XZFbXDQ6XGqw5OOlGV/MkO5dTHIf7AUNnKd0dQbLCfuhE3WmX6XOBDgTXQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M5eNkD3eRytqFewYiVxIqpy3hnGIj7U1aRp2WIxnnew=;
 b=HkHu+VbgniLSYka/lZJ1BWxaRnQLb9NGrDfxK2x5lwBjMmTtKQ2MV3GUYLqIjJwtAT4kH9uotCrMe9JH7A9GBzwdJxgzuZOU9ZlqnZ0gq3Ws/p0XOPqTX26n+K7cuqKzsj1qg/201D9o/r6Az+RldZ98qvhpaqADG4V3qHLhSp5MKtCBMDTYnqq8I6XTU9R/5tV/3oziNc3fO9mHJwbB82Q+wWZWq3+ztmbFtCnTknEjih4Sx5FwwvJdjh+eQUI4g2lpkz9j3KViU9QPOLEf6myF/e0HPB/xQ8h6IY7hH5tWnadDN3BRfAk6HyUkCKqohNVTO4tHQRnl4djIt0eJuw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M5eNkD3eRytqFewYiVxIqpy3hnGIj7U1aRp2WIxnnew=;
 b=lzHetO5f8L7jA/qMmF9f7+SRJNyuUsNV1M1Vso2yErg12Z9cuiFz91JlGZEoshHFoZRQBGkDVTDLXXqZSkdgAmRmj/N4MYA5w7URHL7J80rhFnl0PDDn5q/Ht4Ojd+0zRdnojvhJueYv+ZxMVQ58xA0XbsptqEU7DPcVwSNEM6fpn5/TKvoW0DdHbwKm6Ng1U2RzJdSSXZd+i+dCRgS/RPk9jgo2QwkE2zpndziC3ie9oC9cxg1wZhYn8Wr5/llaRm5FaEbPIpouEtQ24ZlgtC6S3eHWMi0i92kzhwEV1AA1KkclVg/de1k/HNPZCW3nviFzEWH/IGcU1BcE8qmf9A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
Date: Mon, 22 Aug 2022 15:49:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0102.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 528e6285-071e-4e1f-6e10-08da84452393
X-MS-TrafficTypeDiagnostic: AM0PR04MB4403:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ec4E2tpSzjjhfkL62rR4m8NFnfLdJI5NcFwzlicluouSUTmYQriqWoA+mtuMj9zqo190WFCE8WWVC6DuZlwiyEh9A6R2xk0ciaTpBUYoJR3ycGMU2RP82x1Bz0qi3pChXoQA/ikFxrPGqL7V+kablrd30uRWswzG4Ix8zxysf++vgtjgFkm9Ley6X2154Fj8lZhtbUkuk58dPBemQzNi7KTQeNjsppwtCfbvPTTi2dvUNBCrBgspWORxzMWdV4vv3a5WpPHp9PvmIDJD+Oue05L+SdLzszLmKII807vvsM1cV/g24AqI1l17ILX4VUKviORiQrxXCLRvkf8s0SEySY6hPyoK1r+CCAkhCJBI1m7RbNmpZtvvoTw0GJCT7twyXb2K2PVME99rTo9mB9BBvNSbw6A64cNtUtxaAjLBkj+A6e59wzN8LGDE613DzxGM9taJjo2fRpfj7Y3q394tqb/4FTsTzaGaxtmuwWo6nbPdD5QaiIJGntbqpA8cgpIEpeFnEWoDai/mWAQlKrx3mRTjpe3skw/3a0Uozhxxdjauhv8tqwdyqeP88NujN551EyqyXbLNmCrU8+YLku+0EwGSl/0/NZ68FiDWj4pmU3KKgEKvRLfMf/4WP6iYszGXgzsKU8WomL7hUI/O58E+SCivW0GFZviTH0chZsIymeaGQSiUVWYRh+5h9W8/hsUadQCDF4XrYZeD+E1wesa//zyEmJbmlER7Y68Ioa1jm6UyZJCLTmwWojkN33lVHy9oariuVefoGCyEy990ouDJF7ctaWD6iawzGECSFISehwM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(136003)(346002)(396003)(39860400002)(86362001)(31696002)(38100700002)(8936002)(41300700001)(5660300002)(31686004)(54906003)(6916009)(6486002)(316002)(66946007)(66476007)(4326008)(8676002)(66556008)(83380400001)(186003)(2616005)(36756003)(478600001)(53546011)(6512007)(26005)(2906002)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U210WUJNQW9PU2tVWGpwK0JBT0IrSUJqazMrVGk2cWJteXk0aGRwdVNtQ1kv?=
 =?utf-8?B?ZVpiVEEvcnBqWnl4eWF2TVpOVTdKS0tTQndFbmJjdUMxNFhUZHgzV0hRaHpl?=
 =?utf-8?B?RGxaNFVhcDMvTDJlOEVkQ3ZkeHF4K1hnTWxDbS9ranRnVEN5WVZrN0xFTjg3?=
 =?utf-8?B?L3VDUE5aLzF1WnNUaVRlTzlEb1dKRWZPeEtidm4rWWFadUxCblVwcW9IUVNC?=
 =?utf-8?B?T3JNeis4ckJ1S25wWVFNcjkwWDYwVWkvQlpvUmtERWErSUtxRUNXOE9PUTFB?=
 =?utf-8?B?RVcyckNNNW5yejREc0VCT0NkRTlmK0dqaHZMNksyQmdDOVh5dWg1REduL3I0?=
 =?utf-8?B?Tkt0amVja0V1QlltSHc5c1F1UEFBT3NVdDlYcWppVE03RnNyNUZKQmxnK3E4?=
 =?utf-8?B?M3o2ZUZDUlNUanlZaHVXTUdkbFc0UUxuYm9UUzdtd1pkeFVSMzVPVUFWVk9k?=
 =?utf-8?B?c0xnQUlJazJNbmJGMHdiaStvSkhmOFN4WFMxZlhvd2loVk56Q2tBZlMzait2?=
 =?utf-8?B?Y3E4TE9qdHpBNzJnSXNucUhaWHNFNUIwTm1SZWIxY0FvbXNCUXlDMStzL2Rs?=
 =?utf-8?B?a1hLZG1rMTI2VEg2NitvajA2a0xIU25DR0lsejFkR0hEUEhUNTBpVmRFbHlL?=
 =?utf-8?B?VVY2V0xYR0NUS0JqR3d6a0J0WktJV0VSUEhkdC9wSkFubE00YmhxblRCVW9o?=
 =?utf-8?B?REZyZ1VnYjg4T0cxME1aMndwMElWaXp0d1JBTWsxN2M0dnpOMTRpMjZxZERp?=
 =?utf-8?B?RWJoa2Z4SkJ1OTNOdFV2OThOWG9lbzNwenlvVllML0dvTGVPQ25COW0xajh3?=
 =?utf-8?B?N1A1cU95ZmRYOG1pSDZ0SXdFdXg4Z3dZQUJkWWc1Znh3bHhSU2R6WllaTFpx?=
 =?utf-8?B?OUNDN3p6NTlwWDVKRlkxNWpwMWlsbDFkaFBBZTJxNmpoc29mUFRwdEkvT3FS?=
 =?utf-8?B?ZVdMNVN0VWtyVWlKL3VVRjVxd3FZZ1M2bE1JNldXbVRyMlIwSVEyNFZvcFNq?=
 =?utf-8?B?Q3pNVUdNa1hzcnA4S25vMzNBNFBSVE9tOEE3ZzRoZGRVQmN0VUkrbHhSdmJF?=
 =?utf-8?B?Vmo0UFg3TE0rRDYvR2R0ZnhsSkVPamxPMG43MVhFNnR3RGRlNnRWM2QycDhQ?=
 =?utf-8?B?SEVIcElTanlrajVzM1d3NzNRek9TTTVGeG9SQ2pjSlR2VVBJVmZoY1ZPZmN5?=
 =?utf-8?B?Q0Y4ajROdTcrR25EMHNBZjl0VGMzWW1FSlRCaHU1YjlZYmNLUGFNS2sweDV0?=
 =?utf-8?B?YjFRbGxRdldhSTlVWWVGSWVURXZjd3FHWWs5Z3hReXZteS90RFA4V3JoMllL?=
 =?utf-8?B?Z0JVWkZaVldRZFNKeHlrSzBJVWpFZkJOZEh2VlRQeWY2c2p1MXRZb0lsMW9P?=
 =?utf-8?B?ODJuUThNZGhobGFBK1ptaTZ0U3NlSEdyWG8reWk5RDhscTV6cjYrUENyVXFB?=
 =?utf-8?B?VHV4V0N1RldOR3ljdkxLTkxJTVRNcC9JdHdReVBJUGJnQVRsMm1hRGlramhN?=
 =?utf-8?B?NG9RVHNzM2JweFBUYkMvZEFWZFh0djVzZVV3U21nMy9GZENyV1Uvd1JDbGxq?=
 =?utf-8?B?UDhoUysvYm8rZGhXYTY0VnJzQ3kvTHQ2clpoYllTV3NiTXVHT1RrS0RsS2Qz?=
 =?utf-8?B?TzZzSnkrS29wODNtNkpNczFhdUdFTzArMm5mMkhFcVVjR0l4VEF4YlcyTk8y?=
 =?utf-8?B?ekg5QjdGcWVadUpyTnczZG1hNTNuVDBJMWhWeDZGeHZTUHE5bkZIdW5reTdk?=
 =?utf-8?B?c05ELy8zemVaamtTVWpwQzUxQWl0ZG00Y3Z2OXdkNlZGdGl6WFJiUHc5Y3Rz?=
 =?utf-8?B?TmhtMEhQb0wvUVJhb24zRFhFV3ROWFF3ZkdLdXp5L29aTjJhSUpGaDFIVlpD?=
 =?utf-8?B?dFl4Wm15RXp4T2ZzUGpTRGU2cVBNNmNJd1NBVUUzakJOTjhsUlQweVdqNndp?=
 =?utf-8?B?bnRneUk5azJCZ0p1Nm5SNFhtNDRVZUszY1pYUVhDeUI5Z0VMaTFHeHMrV3BF?=
 =?utf-8?B?WTdOSEFvaEFvZnBvdE9kQ1phcm1ITDNHaVpEc01jeVpiRlpJOGtRS3VnM0ow?=
 =?utf-8?B?YjYzd292cG83cHRZWWZqUm8rYzRha3VLRXNncXFJOTBhUUpUWWxHTk42QUM5?=
 =?utf-8?Q?ueM7OHpAwuEtzEQb90Gky64Rb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 528e6285-071e-4e1f-6e10-08da84452393
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 13:49:31.1914
 (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: m8/7V90ZKiGZLvBg6bZTjvgC8XJzew9I56mJdHUk5vck3xRsni0gfsnOK3xT+gpXXTIFd1ZIBKlJZqanwSYseQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4403

On 19.08.2022 12:02, Rahul Singh wrote:
> Static event channel support will be added for dom0less domains.
> Restrict the maximum number of evtchn supported for domUs to avoid
> allocating a large amount of memory in Xen.

Please clarify here how you arrived at 4096 and why you expect no
dom0less DomU would ever want to have more. The limit, after all,
is far below that of FIFO event channels.

> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>          struct xen_domctl_createdomain d_cfg = {
>              .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>              .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
> -            .max_evtchn_port = -1,
> +            .max_evtchn_port = MAX_EVTCHNS_PORT,
>              .max_grant_frames = -1,
>              .max_maptrack_frames = -1,
>              .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>  /* Maximum number of event channels for any ABI. */
>  #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHANNELS)
>  
> +/* Maximum number of event channels supported for domUs. */
> +#define MAX_EVTCHNS_PORT 4096

I'm afraid the variable name doesn't express its purpose, and the
comment also claims wider applicability than is actually the case.
It's also not clear whether the constant really needs to live in
the already heavily overloaded xen/sched.h.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 13:54:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 13:54:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391434.629252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7sO-00087R-R9; Mon, 22 Aug 2022 13:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391434.629252; Mon, 22 Aug 2022 13:54:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7sO-00087K-OH; Mon, 22 Aug 2022 13:54:00 +0000
Received: by outflank-mailman (input) for mailman id 391434;
 Mon, 22 Aug 2022 13:53:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ7sN-00086y-0B
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 13:53:59 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50082.outbound.protection.outlook.com [40.107.5.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de4f08d6-2221-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 15:53:58 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8554.eurprd04.prod.outlook.com (2603:10a6:20b:435::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 13:53:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 13:53:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de4f08d6-2221-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=coWAtY9OTDZmWtw0MRLDQB4uqRBTNboWCXW8hmKTapoQmG2CMz+FQhD/3mMtsdleLdZ/CHW7iBgGtKdoRYyvU+dlGz193fP+IGSduoWy/a37hrK12LTM6vaKf57OobDW0+spk8yQrEOlyAlHrJeXrh5VVAg7XBKnH1g52bBRsLcnuowiHPLoiV558W39L5Ax8qW6pyyiMJvMa30+Na+FD2pW7IyoyiiVpI/WPN93/Mu97gfFuLwvjlf77+ZSq37+0dDPFbHytYl5Rjj/e/RTWqNx/bXGjCmUC8F3jZpN1itxaQjiAF090bPgV1OHMkPiojfcX/LEB4bpmj4Hx6L0Tw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6c4P9hhBfahntbwYeZFEue7CEutwcnb/7Qyubl8ktts=;
 b=jy/SG2eJ/18VD3DH2Gc/ekg24Ep7h2ePX8ohMuXrBk19ppYlrM3uoEXxOIhzn6RzsOBSCpS7/kOuuOu9kVkMhz0ONcnxY3vFX8gAJURStSCamITROdFi5vH0CO9u7pAl+Bce8i1gxOPeObn8ijGWKU1FXFuSo8dN+xZonrdzbKvkK8Pz+DpUUgdCGAUqmPP6FXnTrj3K5gP4AANZcRMtrQwfKIpkEqiaIWHZgJBmK8flu8QtAcyGZaDS1vKVTkcq4DUNQMLiXHQTVSB4r42G5SMVyuLlJA8DzaEp3yVW0hJZuDVN5lNcNIKUqG+OvQ3/tRTjiOiVqGR841kWogYXRg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6c4P9hhBfahntbwYeZFEue7CEutwcnb/7Qyubl8ktts=;
 b=5LYOcqKpH5h5ur9tVg1r3UinKDN/I7e8pyrU6h49l9gjd4lGbXi6L48O4zcsrM94dddtl1JOC128D2C/5wGlB215bI8IUTmZQcoTIvjqMeY1UL5oTkPpq9OZQed6hvAgwvb9vZlwK3CyZWYxq+2c6ZIkF+5koT/6Q90ygFB6+e2TzHvW5W7dLpTpmShZYdZKKikuoCFaqBRq9AbUqEmLH2cH9ou8zvrJpmDvTx01/HJPkTAw334/YzCNLe8UY9CVWpgSslpxSn05CBPkSSxBInv7xzWaOb/Xx7pX6acMpOKXS+Si3NswZ3PQZxKLlDbH5Vos9rSADixlcVgtiKau4w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1c669d36-0cb8-53a7-3fea-1caf06b7d363@suse.com>
Date: Mon, 22 Aug 2022 15:53:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 4/7] xen/evtchn: modify evtchn_bind_interdomain to
 support static evtchn
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1660902588.git.rahul.singh@arm.com>
 <abe4c5be55125eb3da33dbd187fd9b8ad5ace714.1660902588.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <abe4c5be55125eb3da33dbd187fd9b8ad5ace714.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dacc0d09-7511-4c2c-41f5-08da8445c182
X-MS-TrafficTypeDiagnostic: AM9PR04MB8554:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ftBgqYZul5mGmb6DfHD8dtGPaqftHi9PpQfy0wxiOAm7FK0y4z0XWl//GHWvgZKbZcRzvG+mPX+9fLD7BclskJAI9XuZZ+9x/hI1AK6k2krxwp1Xv2hp2IOgvPf5LcPtzTigtBCIza6OAYC0aCBMJ6mOyQKqxKQM29sqCv/H5su490nXCHhiAPxDWjWcgTBlxDdKZlQsb0Trfsg/KYLVt04o/RVDkfQWdrWru2YmeNCKyNwvtrdQuA16G+0mgQB0eiUxh+xBPaEmAFEe7/uCTJ22kG8m81yiZVbzOubllzQBG/pdp9N/sBP17niOssuSsRSAam/m7K+6Ls61IcLRFNOAZPLyIjN1dJ7BExq0RiHHfsNJDODgRGfQ5/dQm+g4dJSQs/bQaHQR1wrDq5FIIGHdSzBWXzS2lQe0F/66GY9bYKiERk67R+MkWJJeeigOzbbshw0TfUm0svNJvv17RSXmDqK+pXYaXftl4wQqbsx2kgjwxlJbcXgiAIjb3i54DY2srFjHSNNW7crZhG4KczO4cyS2v/kDTKX85t75DDOkwgM6G+g4pT+rHwM/HXNaRsBbdiiW24w3c0b8RrjxhxEhZ/U5S/gPg+tw5/oIunvi6+zIHZca6UphHLtSY0QO0QVA98iiQ4fLEz2rdaVCByAxenI//CX5CHsuRk9qzO4w6hCf6nErnNUC7aOMM1l8egDaVJGniEUnFwbbgnDwtfdCajCYVLYkmi+DGDZhbSiSzJzPDIvBv+JmdmdqqAvQZC7FdJ4h0QPwwGtWalOYHxkHtG1EofHxqx/CAz78sbQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(346002)(136003)(396003)(39860400002)(8676002)(4326008)(66476007)(66556008)(316002)(6916009)(54906003)(66946007)(38100700002)(8936002)(5660300002)(31696002)(86362001)(36756003)(2906002)(53546011)(6506007)(6486002)(186003)(83380400001)(6512007)(26005)(41300700001)(478600001)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MmF3MSsxcGRtejU4aml6VWY5VHZXcTFOZElpcmJlRnhRb0EwVXI1UXc2NThM?=
 =?utf-8?B?RzdFRjJwY21YcHBOVnFoTi9oVGNFR0xEeUI5c0daY2pTcnVrMjJYd0txekJC?=
 =?utf-8?B?RHRDTDJlaWlPdWpoVWp4ekZnZTVDNXB1Mnduc2VpNVFhKzl3TXNUZTJneXdu?=
 =?utf-8?B?QW5CWS8zd0ZCV3dQMzBQM0ZnKzNLaFR0dEQ1c2duZlV4ZXFYUDg4cFhPQXdr?=
 =?utf-8?B?SXhiL3Y0NjlOdk9neUxDdHdkdHpXQXFONlF0TlZMUFlTbjdYYU9NaC9IbXVH?=
 =?utf-8?B?YU5zVThUYlloWVBEYUVnVEpxUytPZUJvQWt3U1pHZUgvWWlwYjk5MzFmVDc0?=
 =?utf-8?B?dExUVEt0TnZlOW1vQzlhK0NzMy9WYWFWOG1UY1JKR1NKODZUZTdvRzRkNTM5?=
 =?utf-8?B?QnI5bXJ5TGdkVUl4MkxRR0VXNjcxazIvNEU5aXlyTE5paDhNMkdqV0F1eW9M?=
 =?utf-8?B?UGI5T1gxYjBoQmRQU0l0eW95Q0NuczltVGx6QWdlSkY4UDZPUGVTcTFuM3dW?=
 =?utf-8?B?NStmOU9DVGNUVUl3Qmg4Z3FXU0NET1RucWNkQWZXd0xHdnBYYU1IQUJ5UGs4?=
 =?utf-8?B?ZHRub0pLaThicTltazA0KzFDZ0dxVnJCRHUyTjE1bm1IS1pZOElRaEVGcHhy?=
 =?utf-8?B?WERlcy9BTU9JeUlkclR2VmcrT2dZMkRJdEdXMlBEdmhhbnNRODBpUjFjS1BE?=
 =?utf-8?B?aUNyR1NaaU8wQkdVYUt1Z21IU2dveWdWZmJBWm9Ba0t2TlJ0U201WVQ3cVNn?=
 =?utf-8?B?dkJwWnNwWXhQRzdvMzI5MTZpUFdlc0FDMzZpL0VwZGZjamM4ZTVyOHhWOE9p?=
 =?utf-8?B?a2t6ejNIVUU2VG8zVzVWajhacmpveTNxbW50eGxmUVBUdS9JT2RDNEFadXZn?=
 =?utf-8?B?ZmhKRzBUTHdJQVA4dzUzNGRnblJ5U1F5RS9ZVTdhUWUwYnFIU1J2L2lGakZu?=
 =?utf-8?B?ZnZFaWR2WVR2M2dHOUlpNi9PODlsSGo3VWxXY0UyY21IQ0RaYmJlcEZURzFt?=
 =?utf-8?B?TXdsL3BmOHl5M3VGK1cwNCtTNDFTTjZKQm1PT29JNkZFRGdCZVpHeU1Cb2hk?=
 =?utf-8?B?VXhaYXFDSlRiS0JScWJmWFZoeFl4TlZDamJjTCtYOFpDeUxvMTNQbjhYMHdP?=
 =?utf-8?B?VW9jT2ltQ09zaFJGSmNqTVFTS0tleGZVUHg3TUhNMTIzOHJaOTUra3hkTVE5?=
 =?utf-8?B?SlRpeTE4OFJhcXJWRVVta1luaHlKRWtFdG4rNXd3TllwNldxNytIejVsby84?=
 =?utf-8?B?K1p2bGFFNGoxUEF2RU9Zb1dsSWRKR0t4OXZQYTJRRWRvWjJKeGxNSXIzVE9i?=
 =?utf-8?B?ckpMQ0JXb3hqUmlwQ1hqcUJ0c3Zqd21RMG40S0tFODRXZ01rSXUwUjBNbFhh?=
 =?utf-8?B?Z0EycUtYbEdPanM2Q3lIWXpwME5xVnlyenh3dkZxUk0zc0tzQ1c4cWhsMmkw?=
 =?utf-8?B?blZNbTYwMFhCMEFYbDhQNFI4ckFaTk5qdElETlBGUHZ5UjIrOHl1QXNES2w1?=
 =?utf-8?B?NzE3OTVZVUtPTWw1MmpKd3FoeXVLTEI4NUJwRlZjUmZocU9pUUg2MjBDWWdm?=
 =?utf-8?B?RkRVOUxQeEVhcGNENThsSG5tZHdkbGRLZVQ2dUUrZjkrSFJuT3hKWXdYRTFF?=
 =?utf-8?B?MnhnZnlCNDl6K1ZONW5pM0JIQzZHYUwwVUVHcHJONnd5eW53dEFIbENoejVr?=
 =?utf-8?B?OWw1NFcxY1dleURvYU9qMklKSDdsWmVqVG9QSEh6MGI3UngyRGFzbHBDTmcr?=
 =?utf-8?B?eFkzSVJZd0lZcWJtTnNjWDVwSGNHaHd1WTJqMUJxcG9wMThpOFBET1RVc2NL?=
 =?utf-8?B?R3ZPbWd4TmNpdUw0aXV2OWY1ZzNoMUs3YkxXMHJ3WWM3Q3JnYk4zakJrYlI2?=
 =?utf-8?B?TmxxRlhTRm5jeFNuaVZ0Vk9FQUxaN2c3TUhSTDJYc0RYN3pNQ2JxUmhBOUlP?=
 =?utf-8?B?OXZoYWFZenVzWDZtSTlRcWFCMWV0cDJhWmpGdzE4WVBmTnhZMzlEMjJPUUNa?=
 =?utf-8?B?L285NExtczhtczEyMndwSEYyZnBYSUI2a1JRU2VpK2thTzN4NldUSUtQUU96?=
 =?utf-8?B?d3RHeXU0eDh0cGJCOEhHWlcrK2xPU2s1TDNwbmFjcURQWXpJSEM5ZGVaRUd4?=
 =?utf-8?Q?/npIIfLduPoIYtG33+fYL1Zyr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dacc0d09-7511-4c2c-41f5-08da8445c182
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 13:53:56.2058
 (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: LVkzqcLCaVTn44oqgpyVi6FDgrzd21zD+9ESbKI+7C/Wp9AQ3Ng1VJ6IzcAZ2WR0O/RfIvM7MUwo0/eWs65ghw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8554

On 19.08.2022 12:02, Rahul Singh wrote:
> Static event channel support will be added for dom0less domains. Modify
> evtchn_bind_interdomain to support static evtchn.
> 
> It is necessary to have access to the evtchn_bind_interdomain function
> to do that, so make evtchn_bind_interdomain global and also make it
> __must_check.
> 
> evtchn_bind_interdomain() always allocates the next available local
> port. Static event channel support for dom0less domains requires
> allocating a specified port. Modify the evtchn_bind_interdomain to
> accept the port number as an argument and allocate the specified port
> if available. If the port number argument is zero, the next available
> port will be allocated.
> 
> evtchn_bind_interdomain() finds the local domain from "current->domain"
> pointer. evtchn_bind_interdomain() will be called from the XEN to create
> static event channel during domain creation. "current" pointer is not
> valid at that time, therefore modify the evtchn_bind_interdomain() to
> pass domain as an argument.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 13:57:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 13:57:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391440.629263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7vs-0000HM-9t; Mon, 22 Aug 2022 13:57:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391440.629263; Mon, 22 Aug 2022 13:57:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ7vs-0000HF-6W; Mon, 22 Aug 2022 13:57:36 +0000
Received: by outflank-mailman (input) for mailman id 391440;
 Mon, 22 Aug 2022 13:57:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Z5UX=Y2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQ7vq-0000H5-UZ
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 13:57:34 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80084.outbound.protection.outlook.com [40.107.8.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ef7e265-2222-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 15:57:34 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM4PR0401MB2260.eurprd04.prod.outlook.com (2603:10a6:200:4b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Mon, 22 Aug
 2022 13:57:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.022; Mon, 22 Aug 2022
 13:57:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ef7e265-2222-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V+IjN8e1SJMxQyax7zl5fR84Ql/hGWzCifK1hX7gfdAvqNjB0XEb6keHywZnMnssgFlJhXZbZYEFXYh+rVrdvak79KElIJDq6GcCLe5R3cb1RMiMgm3neJdRSZpTMyupOdvXUlRDWqHY+cYTeOYCBABJ/zq3oIB22DqRP0qJEB303bXZLYTvnQgFoomdmvnLGEqj8il9GaS51ssSz5bOiO63cOXLhn0T6Eb60m5obO9jDzaCX2xa/dy28sUasNpybpv77QPQcl2MRK86wmPTJzyaB+ItcOa5Sg2ojXYqc4y4sqyZuFc+18MDytY4i/ii1BnHAXyq9QTb7o7D7KtFew==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NOhoqf85HhXvVaBx4frqSYxmu+xXM13k0MZJKwJlvhI=;
 b=FgrDDrHRIh7ZY9Qv7+XVwcJkeDWyuxZrCLJnhy74vpDluthl8JLaX1QUotRho9LetWrinOSi/+zJOz7UWLC0ByRqM9iyQRlPTRUcJDSOV2z45gNrcyG0lW2QIM9wJfZhwLRffGhZ1Aa9wn1m7GABJzaZO8nzv3BzlR7ptbhwWyq2lACRbp2ksN9Sv71L7uHkAatP5Qd6FlfdNBhMp32PciuPEvwX9dMii6g9Es4KfbEoTWHjd5E/BC5CBkyms2xQb4Y6KWU071tXvkKniKb8C/kKT5mxIinC3klVS3Ez99feOmg4F+z3ODFRb3JCo36f6j9juB3YnnRGk52Ceks9Wg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NOhoqf85HhXvVaBx4frqSYxmu+xXM13k0MZJKwJlvhI=;
 b=kkEPvhWaqLCPS+sCPtd/Qpq4a/gNN6X0Nda/24ztNLXPxAEHw8SYwCUEHpbJTGV93s9M/+5BZJgsAVl5nD/s7idYZPkCBrNZKlZRBvBggAQJL2wz7KCW0Wnw+4+fo9ADNylNxoTTGwZ8z1Ex2Hw8ElDityASHGx2n2E5Ext3jxDx0c3sscKYXF84UGlJQTxZIYlSXrlQd5DbWMGhqtv5N5Dtt8DL2YkLkqTFk+CZN4wcf/f5k9MhxhfvuJ/NiM2rR3bNPnZGMW4HFVS1kJdVeQFVbAS8wdym/mgQFX0svoEbZ/AbPIEMdW5AxlygdkHeDWNy1iPD+/l5SCJ/+a21iQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8c439b00-4ceb-0119-fd2e-a7ab240e403c@suse.com>
Date: Mon, 22 Aug 2022 15:57:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 5/7] xen/evtchn: modify evtchn_alloc_unbound to
 allocate specified port
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1660902588.git.rahul.singh@arm.com>
 <02234e7aab1e8f3d18e5398f1c4745203df77364.1660902588.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <02234e7aab1e8f3d18e5398f1c4745203df77364.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR01CA0062.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::39) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ce19c587-7341-4af7-8bbc-08da844641a6
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2260:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2GLUe0DdlkT74pYxrLU6tbhY8Z6kt5HeDDFMcyA9WUMVXSR6dDmhCge+JlLqDQu+N9Xhbk4AX+rV8x+oMhm99cv3lakOsD8FZmpQNOPhNFZR5dyUfohqZpEVcw42/1LhFLOrQHwI3OTAQ2ci/hv683/S/uva2NOWB6JcDQaVHaYpmPKQSRD7ci46VqTDr/6+Pi1OJ+34WcQx+Sm9CCNFXwHxO1HRrzgpFoHy9/cRqijFBl/51cXWJaphVilGbEoBhIEqUkHFLy6NPAwKF+T1YISoQU9NzOgNIgpTVOjwig++pERDwFpUQzGyslHj5u/bfSuGYTtVznFSdulsVd1bGEhwLged7wmTCfNkQtLKvciDN4G85PIa/DyO4dUrrsv14fnYYiDwpF7Qnp4x2dt8ZcFiZ/e1ySPnWPGXglxpxX3eeTcbxNklb+NmxWvVl090Mwr8rgIsOdtrsPbQu7VDC0WE4THuoV6SS5flLiFz337P6Oqj2H0gPzPzFiW2v1hpWBn+NXl0uw0o3/MbAm2tY7IgBHn/YsWPw+8G5eOSkArNAfveKjh5GndiBB98mZPKvBTB9+b4nw9RKbhKa+qzPqOLR1SmVs4YDjf5oh0VaGZpP9eT+LG1JrG0bbGbz925274S2tlJZJWigyTxDSDq78pzg9NoV6k/nQ4BXQUzRQGYGRwuf/LErzkEi4X8SRJ5CYX1yvdmP2vtZz2IVGJQwe9P+7ylZVElHo8v43ESQwucq6cDuGHtQv9kSlXlt/Da3eV0RJ2g97yL3sIil5eTZfGdL2+EYP4IOxz33mSuVHo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(136003)(376002)(39860400002)(396003)(38100700002)(2616005)(36756003)(66476007)(54906003)(31686004)(316002)(4326008)(6916009)(66946007)(8676002)(66556008)(4744005)(26005)(6512007)(6486002)(5660300002)(86362001)(31696002)(6506007)(53546011)(186003)(41300700001)(478600001)(2906002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VDlGa2tObkNtMjdhWlAxdVM3YjdUUmJkemswcHFadFUxVzdJK0doa2ZNcWg1?=
 =?utf-8?B?NUZiaE1JU3ZNU1FOQkVzTm1rQmN5YnZuK1htYnB0N0tpTzZZNkdIbTV5b1di?=
 =?utf-8?B?MlFtVGlobnBXb0RUZW1aYnJJOXl6ZFlueUhDMngzSkxqSTlqdmRjcUVtK1NG?=
 =?utf-8?B?WmJtL3cwcE81M2ZEdEl4YnFCUHE4N25qVC9Uc0dFYVpxdk9WNWlyYmhxaVBR?=
 =?utf-8?B?azJjZ0pHVXQzZUE0alppdHJoU0ZXd3RTSFpKV04yMFFPSEdFMzczdFVrV28v?=
 =?utf-8?B?UTdOWjYxMFVqK1dURGZOeDRxd2dzR2VaM2JxT2VLVlg5OFRWR2ZZRnRZMWs4?=
 =?utf-8?B?UXZ3ckE4U28wSTNraWVUWHR0TzZybWtvQW9hQXBOZ21vODJGZU50M0ZWeTFZ?=
 =?utf-8?B?cSs3V3F0V2xGMVRXcWNYN2FhTXVuLzVsZnpqeGwxLzQxNGNQTlM5N1NTdWlV?=
 =?utf-8?B?N09NV0xOUXJQT2Q0Y1NlSTVqRnAvSUNMb2NOK0hIYldVVHJtR1hZakkydk1E?=
 =?utf-8?B?VjN6US9tK0pVOWxnNTAwTkZZbW5Ka2lNcm5ydmNDVSt2N0RrZHRSenZZMHRl?=
 =?utf-8?B?ZjNGaGEvY1FGdEVyR01waWtITE1tQ1B3dFhhb0dQaUQrcTVUWkZvdHpwVEM3?=
 =?utf-8?B?UndKajVhK3ZXY2MvUFNsVERJa2NDcWU3UVlhMjRyUkNsYThvem4zaURTTmY0?=
 =?utf-8?B?VGJmM0pLUmFCSTZ1cENyb1oxQUJ0ZWhQS2xzZi8xMHFUZXJPdWtLZk1Ka1lZ?=
 =?utf-8?B?V0QyNEVTMGRQWDdsdUYwdnVRNUQ4dzVxM09XWVREck9QeTc1NGw4TDBhTnEr?=
 =?utf-8?B?UENjdkpwMmV6K3J3WUpZSDdJaU1OakJXQ0xVT2E1cUVualVMU2hWOG5MdDBh?=
 =?utf-8?B?WHpkdjFPcG5ScVA1T245NDVsRXpMeCtCS2hOajdkTU9oMnNIWUJna0tLUmNX?=
 =?utf-8?B?SGpWRlRGcUw3b1AvRWczWkdobWd1Z0xhd1NxdXVIWURvUzh0VzAvODhqcVNH?=
 =?utf-8?B?OHNoTU5YSTdmM0dYMFIzMjVYdStyVlNBVTI4OUQ1OVVWeUNOU3hiT0VaMzd4?=
 =?utf-8?B?V0RRZWpUazJmR1Byb1VDQVR2YUdDMTZ6K203RWF3WEFJK1RoQWY4Szg3bUpC?=
 =?utf-8?B?dzlnNXEydGtOQ3lKamVaVFRzUDUrSUJjNWRpcmt0V3hNdkgzMTg2U0NUOE4y?=
 =?utf-8?B?UloyY09hZmFRdDVXdmxBWTRlNnc0dmZUUFlxRVFaU2k1eEJHQ3dwQnlCWVMx?=
 =?utf-8?B?N0RRM2k5QUNsSkxMcDFiZytobWNiUjlXRzdINHV5a2J5d0RVL1lNNnhVNnkv?=
 =?utf-8?B?TU9kM2VGVGlRNUJHNGxBQkorbTM4RGw4Sk9ISUF3ZW1YUjFKQVVqaEcrWWNE?=
 =?utf-8?B?Y01GNTd3WnZDQzhYbHljWnBRYlhib1BMeWl0bGNNaExnbGNYRGpKR3dxWGd3?=
 =?utf-8?B?bTZzYmtUcU1DaVdDZkc3VEc4WmRnTFNwalg2T0xCUlo0UlIybWcvbUU4Y2hu?=
 =?utf-8?B?eGRnK0tqeDdjV1RBaW9DaVhBd2dWa2hvekJUREFsemVmMkRra1hhbzNHbWQz?=
 =?utf-8?B?cVIxZXFYenk0NTJtNWRYQXpld1BTcmZibHlWYW02bndmZzdob05nd01sRFdE?=
 =?utf-8?B?MnZWQlY4Q1QxNEdzL3N0dmZFcDloS0l2OHpCQVZVTW5hYTIrbExWN3Q4VUhn?=
 =?utf-8?B?VmZiOG5KRTIvODFDbkxXOVhOcFVhTWQ5RVdpTFdtd2hQd21pQ01VWjE3V0xB?=
 =?utf-8?B?cjNMbk5TV2RXVzRML2Q2TGJKdVhsekppL0VxRHRGOHZYQ291WHlvYnhwbDBi?=
 =?utf-8?B?dkhuNmI4T05RWGtWSHlzRXRSYUhUbXlZbFUxMGRZU0grbkNEcXFjeUtZZlFs?=
 =?utf-8?B?Z3lUbHF0ZEprME5aV012VmFQM243eGlWVG1uQkxUSUZwbmdyd2ZKNjR5Y0oy?=
 =?utf-8?B?WTdsOEU5Y3BuZVl3Yk1JNG9EL3NPUFE3aUIwZDBXSTlGQXI1MU5ZdXFsMVF5?=
 =?utf-8?B?RE96NGp5UFNmQlVIZm9SOS9kanAwRHovbmF4eitXdWcyTFVaaURxZEdsYklR?=
 =?utf-8?B?NmtRdk9VN1lhY2FlcnhKTjlGNnZ0dkdydnFTQ1R0TTFWM0FuSjQxUm5xZk9Y?=
 =?utf-8?Q?CHDtLGaJ8gdLM0apAexHTv0/i?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce19c587-7341-4af7-8bbc-08da844641a6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2022 13:57:31.1451
 (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: FZ6eAqfLIDnVN88tX8rPMJZ3UHf3/J+Tw/1g12FQX2ZJu/rfEMBW+/yw0M/PkiGWSYorQ+qWnSfDoh0WYjm7/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2260

On 19.08.2022 12:02, Rahul Singh wrote:
> evtchn_alloc_unbound() always allocates the next available port. Static
> event channel support for dom0less domains requires allocating a
> specified port.
> 
> Modify the evtchn_alloc_unbound() to accept the port number as an
> argument and allocate the specified port if available. If the port
> number argument is zero, the next available port will be allocated.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

As a minor remark: Personally I'd find it more logical if the alloc-unbound
adjustments came ahead of the bind-interdomain ones.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 14:07:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 14:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391446.629274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ855-0001uG-5S; Mon, 22 Aug 2022 14:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391446.629274; Mon, 22 Aug 2022 14:07:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ855-0001u9-2i; Mon, 22 Aug 2022 14:07:07 +0000
Received: by outflank-mailman (input) for mailman id 391446;
 Mon, 22 Aug 2022 14:07:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9xx4=Y2=redhat.com=mprivozn@srs-se1.protection.inumbo.net>)
 id 1oQ853-0001u3-C3
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 14:07:05 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2112173-2223-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 16:07:03 +0200 (CEST)
Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com
 [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id
 us-mta-576-UD-Bu1lgNmGI687j6rL2vw-1; Mon, 22 Aug 2022 10:07:01 -0400
Received: by mail-ej1-f69.google.com with SMTP id
 ho13-20020a1709070e8d00b00730a655e173so2750123ejc.8
 for <xen-devel@lists.xenproject.org>; Mon, 22 Aug 2022 07:07:00 -0700 (PDT)
Received: from [10.43.2.39] (nat-pool-brq-t.redhat.com. [213.175.37.10])
 by smtp.gmail.com with ESMTPSA id
 j20-20020a1709066dd400b007314a01766asm6226395ejt.211.2022.08.22.07.06.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Aug 2022 07:06:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2112173-2223-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1661177222;
	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=dzd+yFpmXKessEmYd6mSJD6MR3Z1HQ7dfhPJoA87LPM=;
	b=afHXhJ/QTfL4zTK5iV/ZIVhS3GT1FVUbHyuSJTdKzzGkvIKL2vqI41J32+zvZyXGQmKX37
	B0MG3x75yRQr82CiCNSknw7Lh14SbpKJLRoXYz7IrtEHLBkL0Y9pJMdiKHlzj7t0+HRvoF
	zufum12dNE+D8tQtfD7oPGAo6ZcsXGE=
X-MC-Unique: UD-Bu1lgNmGI687j6rL2vw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=dzd+yFpmXKessEmYd6mSJD6MR3Z1HQ7dfhPJoA87LPM=;
        b=b+NqYSOiZHRNP4eD7tb544WxZemSnrGlr6X+QJXRhRWmVtaqVxYYAVz3qV7Rxc5iEO
         mex7HrBazfWuDqEBoS6HoTSDLHEf5GqGJeuLno2pbb4Ep9YAB3rt+1ck9JI8frz4Q1aK
         3bn4yfMpvvrqmER/IPa9U/jRbRvz0ogAWvFXj7Tl3lO849prdsv33pQGKfujsE9RFAYB
         EQL5hA8axjKql9U5aJmjlhJRqbBe+iIKtROkRIdTG5qQmRNz82mFH57Bghr8WviFGBBV
         ZeC1lPsDKHcW/OAQoAIHjXSueiT/JYQkCK2j9pbSK23ILPsB8eDTD740RKToJmej8kiS
         dbfg==
X-Gm-Message-State: ACgBeo0A5eCiRrGC8RDdHTSp1/fOAn0HDuwA70O5SDdziuTewPPQAtlR
	GqkyvM6zYg3l30gMYcA+CeVUbUwQ9LTUrFRjkuyyELW/uR9C9SH3sLFoCIS6KOYjbAh3vQeyODH
	PVb5I9GqAh1otAMnkwHt8VXi1Z2o=
X-Received: by 2002:a05:6402:26cb:b0:43e:6fab:11c6 with SMTP id x11-20020a05640226cb00b0043e6fab11c6mr15854121edd.272.1661177219853;
        Mon, 22 Aug 2022 07:06:59 -0700 (PDT)
X-Google-Smtp-Source: AA6agR4oMr6vQOJPVoTzKcDHnUiLk/bCQAw8SfK1RO1cmNhAIPSJkoQmu8crcInTDtILuRWRdwuiZQ==
X-Received: by 2002:a05:6402:26cb:b0:43e:6fab:11c6 with SMTP id x11-20020a05640226cb00b0043e6fab11c6mr15854103edd.272.1661177219621;
        Mon, 22 Aug 2022 07:06:59 -0700 (PDT)
Message-ID: <224f4e92-1651-cb44-9bca-92ef023d32dc@redhat.com>
Date: Mon, 22 Aug 2022 16:06:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
 xen-devel@lists.xenproject.org, libvir-list@redhat.com
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
From: =?UTF-8?B?TWljaGFsIFByw612b3puw61r?= <mprivozn@redhat.com>
In-Reply-To: <20220729155024.3327364-1-olekstysh@gmail.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 7/29/22 17:50, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Xen toolstack has gained basic Virtio support recently which becides
> adding various virtio related stuff introduces new disk backend type
> LIBXL_DISK_BACKEND_STANDALONE [1].
> 
> Unfortunately, this caused a regression in libvirt build with Xen support
> enabled, reported by the osstest today [2]:
> 
> CC       libxl/libvirt_driver_libxl_impl_la-xen_xl.lo
> ../../src/libxl/xen_xl.c: In function 'xenParseXLDisk':
> ../../src/libxl/xen_xl.c:779:17: error: enumeration value 'LIBXL_DISK_BACKEND_STANDALONE'
>    not handled in switch [-Werror=switch-enum]
>                  switch (libxldisk->backend) {
>                  ^~~~~~
> cc1: all warnings being treated as errors
> 
> The interesting fact is that switch already has a default branch (which ought
> to cover such new addition), but the error is triggered as -Wswitch-enum
> gives a warning about an omitted enumeration code even if there is a default
> label.
> 
> Also there is a similar issue in libxlUpdateDiskDef() which I have reproduced
> after fixing the first one, but it that case the corresponding switch doesn't
> have a default branch.
> 
> Fix both issues by inserting required enumeration item to make the compiler
> happy and adding ifdef guard to be able to build against old Xen libraries
> as well (without LIBXL_HAVE_DEVICE_DISK_SPECIFICATION). Also add a default
> branch to switch in libxlUpdateDiskDef().
> 
> Please note, that current patch doesn't implement the proper handling of
> LIBXL_DISK_BACKEND_STANDALONE and friends, it is just intended to fix
> the regression immediately to unblock the osstest.  Also it worth mentioning
> that current patch won't solve the possible additions in the future.
> 
> [1] https://lore.kernel.org/xen-devel/20220716163745.28712-1-olekstysh@gmail.com/
> [2] https://lore.kernel.org/xen-devel/E1oHEQO-0008GA-Uo@osstest.test-lab.xenproject.org/
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ---
> Cc: Julien Grall <julien@xen.org>
> Cc: Anthony PERARD <anthony.perard@citrix.com>
> Cc: Michal Privoznik <mprivozn@redhat.com>
> 
> Please note, the patch is tested on:
> https://xenbits.xen.org/gitweb/?p=libvirt.git;a=shortlog;h=refs/heads/xen-tested-master
> but should work on the master as well (as the same code is present here).
> ---
>  src/libxl/libxl_conf.c | 4 ++++
>  src/libxl/xen_xl.c     | 3 +++
>  2 files changed, 7 insertions(+)

Now that the libxl patch is merged into the master:

https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=66dd1c62b2a3c707bd5c55750d10a8223fbd577f

I can merge this.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 14:07:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 14:07:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391447.629285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ858-0002AG-DJ; Mon, 22 Aug 2022 14:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391447.629285; Mon, 22 Aug 2022 14:07:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ858-0002A9-AT; Mon, 22 Aug 2022 14:07:10 +0000
Received: by outflank-mailman (input) for mailman id 391447;
 Mon, 22 Aug 2022 14:07:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9xx4=Y2=redhat.com=mprivozn@srs-se1.protection.inumbo.net>)
 id 1oQ857-00029W-IW
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 14:07:09 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4e6304a-2223-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 16:07:08 +0200 (CEST)
Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com
 [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id
 us-mta-106-SqPEQTVTNP-sDQAp-TskAQ-1; Mon, 22 Aug 2022 10:07:05 -0400
Received: by mail-ed1-f72.google.com with SMTP id
 t13-20020a056402524d00b0043db1fbefdeso6996077edd.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Aug 2022 07:07:05 -0700 (PDT)
Received: from [10.43.2.39] (nat-pool-brq-t.redhat.com. [213.175.37.10])
 by smtp.gmail.com with ESMTPSA id
 fr17-20020a170906891100b0073d757cd1cesm2385168ejc.169.2022.08.22.07.07.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Aug 2022 07:07:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4e6304a-2223-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1661177227;
	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=ZRFBf5IAyfsWo9ah7usXDAFcy4ho52QTwXRhbHpE/js=;
	b=buzdMfrhznBnSVMC8Gb2ppTBGc/sfbnq3XW4jdL7wlqKXJBM4e0ZOuMqlnbDs/MXVXEoeo
	WqqXFSR7p91GHLIL3Z6sPTco9CWm3I0IW87i48VZHj6yxivNng/I8Gcj2IqiXdOoIzbqfc
	lmSoDLkmYyKbxsoAgojFchWrn78Ox6E=
X-MC-Unique: SqPEQTVTNP-sDQAp-TskAQ-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=ZRFBf5IAyfsWo9ah7usXDAFcy4ho52QTwXRhbHpE/js=;
        b=0/GhV5F9NkACshF6jfpRlu5R8KX0tV4jr4r+vBAWSG2K/rnrUMlKeZwK4QoFIgCXW8
         +RODbzSoC/EpPmJJgyvm66JR5E1e/bX2DiBMjcB8z5olHrPEBmOE7oyCiwBLVhtxHsWw
         yQnlYeLsFrQqgdYp31Wiv9vwYwj30cPNQTl5QeABTNv/uVB5j3CPSqL5/o6LNNXFw8YI
         OI9WPiBXIXeCjt2J/idnizRiFCih7Ng6XhvQnrARhmNi6CpHbn2ULfG4Aktff2H9JHKR
         4vN4VWYVdD3sLaqJvwz4rh0xvSdGeecjmQKe6IWu48le9gvbtifP9IN1mb3TU+BKXkDx
         mJrA==
X-Gm-Message-State: ACgBeo1vx58VKog0He3ss1t1WkDxX8DkXPFlRrz79ZbimWU4vexadP3F
	AQ10C826w1leSX4N8GsgaVDHGXy0O8uobw2aymbgcbhlL5y+rZN2nrJKxEBddac7/NpT9kposm1
	1YzrYf7RL8uUMUk7e89vbk+iu3KE=
X-Received: by 2002:a17:907:2889:b0:73d:7f7b:8380 with SMTP id em9-20020a170907288900b0073d7f7b8380mr3539026ejc.553.1661177224541;
        Mon, 22 Aug 2022 07:07:04 -0700 (PDT)
X-Google-Smtp-Source: AA6agR7z2CeRhot2vEJbDgZbe2bMLUQwRg0yeRIIBWBdcsz2eJMzut7DiW5lJ8i4IVCjuHvAgVqxXg==
X-Received: by 2002:a17:907:2889:b0:73d:7f7b:8380 with SMTP id em9-20020a170907288900b0073d7f7b8380mr3539010ejc.553.1661177224311;
        Mon, 22 Aug 2022 07:07:04 -0700 (PDT)
Message-ID: <797f344e-49a4-2f1b-638e-5b44f9729441@redhat.com>
Date: Mon, 22 Aug 2022 16:07:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces
 new disk backend type
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>,
 xen-devel@lists.xenproject.org, libvir-list@redhat.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Julien Grall <julien@xen.org>
References: <20220729155024.3327364-1-olekstysh@gmail.com>
 <d29b2ad1-fa32-4897-a113-c8a0864c6630@redhat.com>
 <Yv9elYoCbkUP0pzX@perard.uk.xensource.com>
From: =?UTF-8?B?TWljaGFsIFByw612b3puw61r?= <mprivozn@redhat.com>
In-Reply-To: <Yv9elYoCbkUP0pzX@perard.uk.xensource.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 8/19/22 11:57, Anthony PERARD wrote:
> On Mon, Aug 01, 2022 at 10:23:48AM +0200, Michal PrÃ­voznÃ­k wrote:
>> Ah, I couldn't find the commit in master, and it's simply because it's
>> not there yet. It's in staging:
>>
>> https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;f=tools/libs/light/libxl_types.idl;h=66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>
>> The patch looks correct. Do you have any estimate when it can be merged
>> into master? I'm not sure what our, libvirt, rules about xen staging
>> are, but for qemu we require master (even unreleased yet).
> 
> Hi Michal,
> 
> Now that the commit is "master", do you think this libvirt patch could
> be committed?

Indeed. Let me do that right now.

Michal



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:01:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:01:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391460.629295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ8vH-0000ZI-I8; Mon, 22 Aug 2022 15:01:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391460.629295; Mon, 22 Aug 2022 15:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ8vH-0000ZB-FN; Mon, 22 Aug 2022 15:01:03 +0000
Received: by outflank-mailman (input) for mailman id 391460;
 Mon, 22 Aug 2022 15:01:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ8vG-0000Z1-P0; Mon, 22 Aug 2022 15:01:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ8vG-0004nJ-Mk; Mon, 22 Aug 2022 15:01:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ8vG-0003qi-9R; Mon, 22 Aug 2022 15:01:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ8vG-0005m7-8E; Mon, 22 Aug 2022 15:01:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=puhPNU0Mh3kg0AmqnIqHJ9yUVwpkwYi2OOFMOIm1viM=; b=ONaqcOJ2D8mczm/4u/67QwFBql
	cVKbd7v4TPGGMOm7afh/gsXgShAKFmcc2SsTtxv7Fx4TUXX6eI7ZlP9Bu26Uj3f/18J77i7g/FMZr
	jyRXvOFyeMrriGM4IVVJGuTI+Pik0+71RS0TYbA1x9Hnk3COxOKvDsxobVRtAsaDyNVc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172707-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172707: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=d5fd86f256b9ab5b4e3aff70d3c177c18faea892
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 15:01:02 +0000

flight 172707 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172707/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 d5fd86f256b9ab5b4e3aff70d3c177c18faea892
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   18 days
Failing since        172151  2022-08-05 02:40:28 Z   17 days  146 attempts
Testing same since   172707  2022-08-22 10:43:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 817 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391470.629329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9Kx-0003j8-5y; Mon, 22 Aug 2022 15:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391470.629329; Mon, 22 Aug 2022 15:27:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9Kx-0003j1-34; Mon, 22 Aug 2022 15:27:35 +0000
Received: by outflank-mailman (input) for mailman id 391470;
 Mon, 22 Aug 2022 15:27:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9Kv-0003Dm-1x
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:33 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id effe4189-222e-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 17:27:32 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id B59603200A3C;
 Mon, 22 Aug 2022 11:27:29 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Mon, 22 Aug 2022 11:27:30 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:27 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: effe4189-222e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182049; x=1661268449; bh=PKFBeEd03f
	Bi/cJsuUHCHAaB+wlrlisP7arcB1aTEUU=; b=LeoqTdmBACcyPXRwPfzGxyl4wK
	XpkS5EIaFaOwl83iyV0RyuWJ3OmEgTx7acnQ0NHbjlShNKLGukWIoXyR/fmAoNl7
	Ql0yCGnkrOWD6uTTLoxg7aP504G6PQv72yI6BfRuIAyLGtDm/CritssWRXTTqxZ6
	2GBbulwk2doL6F4hBrtLEe+TbqapOvJ9m6ivyIjjZXuaOsakO6gZCXY1N4sOxMC+
	nDBgyuZmQN9sHLg0P3ZvZdNx3ueunxmsvzizRpvHBb4KHtCfr2BNPYcwJQU/5DZ/
	okRNlRjA/7l1OB4Pu/8/v86X99pcWS+EcTth7kSXol+ocIldQzHDuCThP70g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182049; x=
	1661268449; bh=PKFBeEd03fBi/cJsuUHCHAaB+wlrlisP7arcB1aTEUU=; b=x
	BoHA13gJCQwgzaQanMAo8HoUAQcOxLRH9GwMVYob68HfhPnxe+arDGdvsG2Act8j
	unV2QYiX76IBR35nDm18ZqVghlyqMcuGzHAHGA44iSOOSXJOv50d8MQV0qIRt2dN
	65ThL4geysZjA+igENp8KRx2JFYgfU7rdinlECwqd6ZWhn5PvWgnZIbACmjWwmRY
	zX1995IR5sbZm8tdZWdwsHyVfYE02FBMrASfHIKxXuAEYjosdHJThzChcAqYbQKR
	APoiZtFxhddnW1v+z8Xo7fi1MqHN+rZEOSrSXWhNiSbnryf9vlkRpNtNkP+ziR5+
	pQ/SakYbgDmamdHjnMRxA==
X-ME-Sender: <xms:YKADY_ZnTUbmWzhOBmmUsUKjB57auuE516XUQjNRmVrEmMbBKuQ6Hg>
    <xme:YKADY-ZjGu2FD3tn-QSSq_RIC7rg5ARblv_hwsnIum2Glb85dwFseuaypux6Aikvt
    Qfyi_vhtv_hUA>
X-ME-Received: <xmr:YKADYx-FZS0q6SMA3DFD71k5yGb8zmdPu_UFklM1BUFhF00zKh4Bg0-a1sYm8X6IJXgK9CYe9LDz4MLEXCrYL87Hb3vHiSGmjYJu6cSAAabuFzhRHmfi6w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgledtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:YKADY1r0Smk7rQtIB5s9cr5XI04VVuTajRf2ucxfMGgBaXvffrtYQw>
    <xmx:YKADY6qqrrf-4IRfRM7rsDUntC6qHTAVlBTrpoVaFn1SOjWrsaEjwQ>
    <xmx:YKADY7QCUmSpPDQEAvRa50S6gL_JLpSxN9jPAVy7m1AX4jKQfK3avQ>
    <xmx:YaADY3BWKSsJPBDYyglVuniNE2OtJ79yrHEuT9anmwiJ7AvMkKh7rA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v5 2/9] console: support multiple serial console simultaneously
Date: Mon, 22 Aug 2022 17:27:02 +0200
Message-Id: <d4a5b8d6a612fdc45c96eb3e88396fc1ec299fb3.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Previously only one serial console was supported at the same time. Using
console=com1,dbgp,vga silently ignored all but last serial console (in
this case: only dbgp and vga were active).

Fix this by storing not a single sercon_handle, but an array of them, up
to MAX_SERCONS entries. The value of MAX_SERCONS can be chosen in
kconfig, the default (4) is arbitrary, inspired by the number of
SERHND_IDX values.

Make console_steal() aware of multiple consoles too. It can now either
steal output from specific console (for gdbstub), or from all of them at
once (for console suspend).

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- use unsigned int for loop counters
- other minor changes
Changes in v3:
- adjust console_steal() for multiple consoles too
- add MAX_SERCONS to kconfig
- add warning about sync_console impact
- add warning if too many consoles are configured
- log issue with PCI spec parsing
---
 docs/misc/xen-command-line.pandoc |  4 +-
 xen/drivers/char/Kconfig          | 11 ++++-
 xen/drivers/char/console.c        | 98 ++++++++++++++++++++++++--------
 xen/include/xen/serial.h          |  1 +-
 4 files changed, 92 insertions(+), 22 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 0d07f0c75990..e31300ea3408 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -435,6 +435,9 @@ only available when used together with `pv-in-pvh`.
 `none` indicates that Xen should not use a console.  This option only
 makes sense on its own.
 
+Specifying more than one serial console will increase console latency,
+especially when `sync_console` option is used.
+
 ### console_timestamps
 > `= none | date | datems | boot | raw`
 
@@ -2409,6 +2412,7 @@ vulnerabilities.
 
 Flag to force synchronous console output.  Useful for debugging, but
 not suitable for production environments due to incurred overhead.
+If multiple consoles are configured, the incurred overhead is even bigger.
 
 ### tboot (x86)
 > `= 0x<phys_addr>`
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index 06350c387371..7b5ff0c414ec 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -85,6 +85,17 @@ config SERIAL_TX_BUFSIZE
 
 	  Default value is 16384 (16kiB).
 
+config MAX_SERCONS
+	int "Maximum number of serial consoles active at once"
+	default 4
+	help
+	  Controls how many serial consoles can be active at once. Configuring more
+	  using `console=` parameter will be ignored.
+	  When multiple consoles are configured, overhead of `sync_console` option
+	  is even bigger.
+
+	  Default value is 4.
+
 config XHCI
 	bool "XHCI DbC UART driver"
 	depends on X86
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index e8468c121ad0..60d42284f606 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -113,7 +113,9 @@ static char *__read_mostly conring = _conring;
 static uint32_t __read_mostly conring_size = _CONRING_SIZE;
 static uint32_t conringc, conringp;
 
-static int __read_mostly sercon_handle = -1;
+#define MAX_SERCONS CONFIG_MAX_SERCONS
+static int __read_mostly sercon_handle[MAX_SERCONS];
+static unsigned int __read_mostly nr_sercon_handle = 0;
 
 #ifdef CONFIG_X86
 /* Tristate: 0 disabled, 1 user enabled, -1 default enabled */
@@ -393,32 +395,61 @@ long read_console_ring(struct xen_sysctl_readconsole *op)
 static char serial_rx_ring[SERIAL_RX_SIZE];
 static unsigned int serial_rx_cons, serial_rx_prod;
 
-static void (*serial_steal_fn)(const char *, size_t nr) = early_puts;
+/* The last entry means "steal from all consoles" */
+static void (*serial_steal_fn[])(const char *, size_t nr) = {
+    [MAX_SERCONS] = early_puts,
+};
 
+/*
+ * Redirect console *handle* output to *fn*. Use SERHND_STEAL_ALL as *handle* to
+ * redirect all the consoles. 
+ */
 int console_steal(int handle, void (*fn)(const char *, size_t nr))
 {
-    if ( (handle == -1) || (handle != sercon_handle) )
-        return 0;
+    unsigned int i;
+
+    if ( handle == -1 )
+        return -ENOENT;
+    if ( serial_steal_fn[MAX_SERCONS] != NULL )
+        return -EBUSY;
+    if ( handle == SERHND_STEAL_ALL )
+    {
+        serial_steal_fn[MAX_SERCONS] = fn;
+        return MAX_SERCONS;
+    }
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        if ( handle == sercon_handle[i] )
+            break;
+    if ( i == nr_sercon_handle )
+        return -ENOENT;
 
-    if ( serial_steal_fn != NULL )
+    if ( serial_steal_fn[i] != NULL )
         return -EBUSY;
 
-    serial_steal_fn = fn;
-    return 1;
+    serial_steal_fn[i] = fn;
+    return i;
 }
 
 void console_giveback(int id)
 {
-    if ( id == 1 )
-        serial_steal_fn = NULL;
+    if ( id >= 0 && id <= MAX_SERCONS )
+        serial_steal_fn[id] = NULL;
 }
 
 void console_serial_puts(const char *s, size_t nr)
 {
-    if ( serial_steal_fn != NULL )
-        serial_steal_fn(s, nr);
+    unsigned int i;
+
+    if ( serial_steal_fn[MAX_SERCONS] != NULL )
+        serial_steal_fn[MAX_SERCONS](s, nr);
     else
-        serial_puts(sercon_handle, s, nr);
+        for ( i = 0; i < nr_sercon_handle; i++ )
+        {
+            if ( serial_steal_fn[i] != NULL )
+                serial_steal_fn[i](s, nr);
+            else
+                serial_puts(sercon_handle[i], s, nr);
+        }
 
     /* Copy all serial output into PV console */
     pv_console_puts(s, nr);
@@ -957,6 +988,7 @@ void __init console_init_preirq(void)
 {
     char *p;
     int sh;
+    unsigned int i;
 
     serial_init_preirq();
 
@@ -977,8 +1009,12 @@ void __init console_init_preirq(void)
             continue;
         else if ( (sh = serial_parse_handle(p)) >= 0 )
         {
-            sercon_handle = sh;
-            serial_steal_fn = NULL;
+            if ( nr_sercon_handle < MAX_SERCONS )
+                sercon_handle[nr_sercon_handle++] = sh;
+            else
+                printk("Too many consoles (max %d), ignoring '%s'\n",
+                       MAX_SERCONS, p);
+            serial_steal_fn[MAX_SERCONS] = NULL;
         }
         else
         {
@@ -996,7 +1032,8 @@ void __init console_init_preirq(void)
         opt_console_xen = 0;
 #endif
 
-    serial_set_rx_handler(sercon_handle, serial_rx);
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        serial_set_rx_handler(sercon_handle[i], serial_rx);
     pv_console_set_rx_handler(serial_rx);
 
     /* HELLO WORLD --- start-of-day banner text. */
@@ -1014,7 +1051,8 @@ void __init console_init_preirq(void)
 
     if ( opt_sync_console )
     {
-        serial_start_sync(sercon_handle);
+        for ( i = 0; i < nr_sercon_handle; i++ )
+            serial_start_sync(sercon_handle[i]);
         add_taint(TAINT_SYNC_CONSOLE);
         printk("Console output is synchronous.\n");
         warning_add(warning_sync_console);
@@ -1121,13 +1159,19 @@ int __init console_has(const char *device)
 
 void console_start_log_everything(void)
 {
-    serial_start_log_everything(sercon_handle);
+    unsigned int i;
+
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        serial_start_log_everything(sercon_handle[i]);
     atomic_inc(&print_everything);
 }
 
 void console_end_log_everything(void)
 {
-    serial_end_log_everything(sercon_handle);
+    unsigned int i;
+
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        serial_end_log_everything(sercon_handle[i]);
     atomic_dec(&print_everything);
 }
 
@@ -1149,23 +1193,32 @@ void console_unlock_recursive_irqrestore(unsigned long flags)
 
 void console_force_unlock(void)
 {
+    unsigned int i;
+
     watchdog_disable();
     spin_debug_disable();
     spin_lock_init(&console_lock);
-    serial_force_unlock(sercon_handle);
+    for ( i = 0 ; i < nr_sercon_handle ; i++ )
+        serial_force_unlock(sercon_handle[i]);
     console_locks_busted = 1;
     console_start_sync();
 }
 
 void console_start_sync(void)
 {
+    unsigned int i;
+
     atomic_inc(&print_everything);
-    serial_start_sync(sercon_handle);
+    for ( i = 0 ; i < nr_sercon_handle ; i++ )
+        serial_start_sync(sercon_handle[i]);
 }
 
 void console_end_sync(void)
 {
-    serial_end_sync(sercon_handle);
+    unsigned int i;
+
+    for ( i = 0; i < nr_sercon_handle; i++ )
+        serial_end_sync(sercon_handle[i]);
     atomic_dec(&print_everything);
 }
 
@@ -1291,7 +1344,8 @@ static int suspend_steal_id;
 
 int console_suspend(void)
 {
-    suspend_steal_id = console_steal(sercon_handle, suspend_steal_fn);
+    if ( nr_sercon_handle )
+        suspend_steal_id = console_steal(SERHND_STEAL_ALL, suspend_steal_fn);
     serial_suspend();
     return 0;
 }
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 186afbed9c92..31c825edb052 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -100,6 +100,7 @@ struct uart_driver {
 #define SERHND_HI       (1<<2) /* Mux/demux each transferred char by MSB. */
 #define SERHND_LO       (1<<3) /* Ditto, except that the MSB is cleared.  */
 #define SERHND_COOKED   (1<<4) /* Newline/carriage-return translation?    */
+#define SERHND_STEAL_ALL 0xff  /* Synthetic handle used in console_steal() */
 
 /* Three-stage initialisation (before/during/after IRQ-subsystem setup). */
 void serial_init_preirq(void);
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391468.629307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9Ku-0003E4-Ls; Mon, 22 Aug 2022 15:27:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391468.629307; Mon, 22 Aug 2022 15:27:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9Ku-0003Dx-IK; Mon, 22 Aug 2022 15:27:32 +0000
Received: by outflank-mailman (input) for mailman id 391468;
 Mon, 22 Aug 2022 15:27:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9Kt-0003Dm-4E
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:31 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecadb46c-222e-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 17:27:28 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 236F03200A55;
 Mon, 22 Aug 2022 11:27:23 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 22 Aug 2022 11:27:24 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:19 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecadb46c-222e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1661182041; x=1661268441; bh=gUW5D9LD3cdHwMQPYd75erht9//zLlY5a+P
	2oLxz5yo=; b=IYnb5zf5CLHCUP1kCMhULK9yUUvi9Ubz9b1P2Mc53YvIQ97xpdm
	dZ8VLXLUog/X4EMk3Ol0/qIOX83DGTJR2l4frr0EJAqIaW9Kua9PRvil7gCqKpgb
	ilSWcwAD1xuJBwPjrNmZWv0L1TbtyGrtd3gnlQU5hyy+f0eXdlQNA3/1GwbgfhrU
	jGKEV9PTrs9ZpfHXQH85n9lobArjjew9iDwiHS1h0lhVa38+1CqTVxndhZGHB/rJ
	RQjemFs7ei7Fos+sseOcCoezf6It0jDG0KOf7f+FotxVLTWQO41e4Jg+KNq77Rje
	1tZ0XPrOCsVVV77wdZsUaBOdBvWhMd/jceg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1661182041; x=1661268441; bh=gUW5D9LD3cdHw
	MQPYd75erht9//zLlY5a+P2oLxz5yo=; b=Je16SDgYrAtGz/Xr60eKqjcBzhAQB
	HERfVVNNDxCu0ideOAft7PYlaJz/v6GSk6DoxkPvnZG6ClO0DrQqPexzVKtXKZVe
	5bAsC4mr0H6BpBLCAAoO5IWzqii6tWF3XteUWnnWpfbOrUqNX8RfXq19G2j6H/NT
	ycc2Fa4dE4m8a+7FBeyKYKEx25SVO7DC+sJDB8Vlw/c0XjPTLYzjopJN2tj1+Xnk
	gtdoJNR8bZQqbXwN6D2OKYQxmb56qrr6rX5fBPgKB+QYuemW+JJALiBhy9oNvegX
	9gw9ZiM7HcGah6CG9jOeCjPWRcXBjQfZtxu6Ca/gYb/FQoz+aTOpsMRxw==
X-ME-Sender: <xms:WaADYyv6CQxJd0yAh7Bp0CxGgEJ4OoaBUHniiuE60KPYLZRKunTT8A>
    <xme:WaADY3dCnEjTU77vJ3lH633MgiFGpOrGFYRNGyhzye-pnl-RSQbWCdWv8NDpYPSkz
    _JnEpLylDNEeQ>
X-ME-Received: <xmr:WaADY9yOU73qVovfOGboqRg_t-wpWCIk-TQ1j1_N82khJikS5JmXVw21_LKCEcbbvX48HUm6U0G7Chvo7qgDSQmzJX2FrBlSf5Opsc_LhNg7osAI3Bq_Kg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgledtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeefgffg
    geevhffggfetfefhffeuvefhvdevkeehkedttddtgeefkeduheevffduleenucffohhmrg
    hinhepghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm
    pehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomh
X-ME-Proxy: <xmx:WaADY9PnoG6EGyZ4MQOD3Fdeo2I1Xi-YSwSqQFIKPQcExsYzLVbrWQ>
    <xmx:WaADYy8LkpeWJRo-vOkguhacyuypaluVL3Yag14DiFWHcPiaWzMe0g>
    <xmx:WaADY1WZdVFvdeclJ-CQyTJ0JyDrzz3_gk08gVF-xunDkoQPlEWERw>
    <xmx:WaADY1ajW6FRVXC9P7uHe83--Py2hxGN8ICEOw5Po_xt-MbcqO3MuQ>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 0/9] Add Xue - console over USB 3 Debug Capability
Date: Mon, 22 Aug 2022 17:27:00 +0200
Message-Id: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is integration of https://github.com/connojd/xue into mainline Xen.
This patch series includes several patches that I made in the process, some are
very loosely related.

The driver developed by Connor supports console via USB3 debug capability. The
capability is designed to operate mostly independently of normal XHCI driver,
so this patch series allows dom0 to drive standard USB3 controller part, while
Xen uses DbC for console output.

Changes since RFC:
 - move the driver to xue.c, remove non-Xen parts, remove now unneeded abstraction
 - adjust for Xen code style
 - build for x86 only
 - drop patch hidding the device from dom0
Changes since v1:
 - drop ehci patch - already applied
 - adjust for review comments from Jan (see changelogs in individual patches)
Changes since v2:
 - add runtime option to share (or not) the controller with dom0 or other domains
 - add RX support
 - several smaller changes according to review comments
Changes since v3:
 - put controller sharing behind experimental kconfig option
 - several other changes according to review comments
Changes since v4:
 - drop first 4 patches - already applied to staging
 - split dbgp=xhci into dbc=xhci

Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Wei Liu <wl@xen.org>
Cc: "Roger Pau MonnÃ©" <roger.pau@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Connor Davis <connojdavis@gmail.com>

Marek Marczykowski-GÃ³recki (9):
  drivers/char: separate dbgp=xhci to dbc=xhci option
  console: support multiple serial console simultaneously
  IOMMU: add common API for device reserved memory
  IOMMU/VT-d: wire common device reserved memory API
  IOMMU/AMD: wire common device reserved memory API
  drivers/char: mark DMA buffers as reserved for the XHCI
  drivers/char: add RX support to the XHCI driver
  drivers/char: allow driving the rest of XHCI by a domain while Xen uses DbC
  drivers/char: fix handling cable re-plug in XHCI console driver

 docs/misc/xen-command-line.pandoc        |  36 ++-
 xen/drivers/char/Kconfig                 |  11 +-
 xen/drivers/char/console.c               |  98 +++++--
 xen/drivers/char/serial.c                |   6 +-
 xen/drivers/char/xhci-dbc.c              | 335 +++++++++++++++++++++---
 xen/drivers/passthrough/amd/iommu_acpi.c |  21 ++-
 xen/drivers/passthrough/iommu.c          |  46 +++-
 xen/drivers/passthrough/vtd/dmar.c       | 201 ++++++++------
 xen/include/xen/iommu.h                  |  14 +-
 xen/include/xen/serial.h                 |   2 +-
 10 files changed, 623 insertions(+), 147 deletions(-)

base-commit: f6cd15188e097de1eb04855eb790a5f51c3ad71a
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391469.629318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9Kv-0003TU-TN; Mon, 22 Aug 2022 15:27:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391469.629318; Mon, 22 Aug 2022 15:27:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9Kv-0003TN-Qb; Mon, 22 Aug 2022 15:27:33 +0000
Received: by outflank-mailman (input) for mailman id 391469;
 Mon, 22 Aug 2022 15:27:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9Kt-0003Dm-VS
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:32 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee1133b3-222e-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 17:27:28 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 7D1DA320099F;
 Mon, 22 Aug 2022 11:27:26 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Mon, 22 Aug 2022 11:27:27 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:24 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee1133b3-222e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182046; x=1661268446; bh=sEQP7E6J6N
	sdiYDQ6i1IvqeCjtQRZXD8ynCmZHPXkuc=; b=nxvfjo0HIRZhWc4LS+bDDzczYM
	QBG1lXo2KdJM1WUBFKAR/Qli52fbGcqujbr1WA5uEsN/QzomxkbbGbqFQbAYvJx7
	BPsy+JEUTmf59hsQYCBOmhvlZkXJbAGLexv0vkYYRY2UywF3kLy38k6iOfHdnFYc
	Je16lTKIvAbY5TUY3eBQU7j4oVA8SLyThcqshkakBnCP+yzXDwCgwL3g8oieODfp
	d1nxHw3N25ZsFNvINBJ2Bqfkbl0z2RCvqibUt96MYhboMwbqu+zh67/v4DvwryXv
	+aZSIIZqTmqskqQedPY6jitVtkVVNvO8ad6hlBclS2hTk1kMZ07fOYGg9sgA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182046; x=
	1661268446; bh=sEQP7E6J6NsdiYDQ6i1IvqeCjtQRZXD8ynCmZHPXkuc=; b=L
	N0CRPxm5qcATgIdFxsAS/KBvSnBjajZcqRvnqtf1zQMJFq17ihjaljKT0mjjGZm9
	Jk4TMay7TfKmDtv/dmNEyW4gY6vFI51RSNEx3YHMB/D5LU0yqWk7HAwNx6BFslpY
	sim4VFZHH3VA7gTH4Q6vhTi1y+4psVy+m7Fe7xIp0OdqXhzWHdQSsOZDpR7fKGCc
	mPm74eFmTr+WUKoUuxPjK5HQs2JWgt1meGLNgA1rvQIE8cZHeAQ4DWdigQSMrW2s
	Ge69Qzd8d6lQjrkfCTZm5eeHV7GyMCxnlJbHdtIkxnMRmZ9CmT+K9DxIkrctSgpy
	KXrDKjyshMwxt1N3gT9+g==
X-ME-Sender: <xms:XaADY97p-jWdSoGr-skLK45laG3pUVzgX0NHUZ1C6UYCLxdkAA9EVg>
    <xme:XaADY64jkc7E52ZVS45mkVEixGDW4M0vrhItWE2uaG7n3wVX0E8f8le9kPoE9qwrR
    Qh9B16c_tlYkA>
X-ME-Received: <xmr:XaADY0fdohkKm2BlDW4RcjkEjRz3jySI8nxM4spcc22y2BzIL7UOMmOE1yjiY_Cjq_-3cuw-Wn87ez9Hotge0ZmSjLSTpJ7qeRKYrn2_L7bc3ELbDLO53w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgkeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:XaADY2JtfRFELidzZxUFy_6BVWQQ8czxJHuV1lRLCelhnGDYjUZYpg>
    <xmx:XaADYxJjSTGFH16LztiTAmT3rQmldP2a5C0m2fP-zNeOqAsKMx3LmA>
    <xmx:XaADY_z2v1wUDDQZM5dlqz3xQcdMyUm-wi_f6lrxK6I20-zETj_v7Q>
    <xmx:XqADY_gA6Zg0gPU7-_IvMMC9WMaIS12occUomnnPUDQvvbd5tdH4jw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci option
Date: Mon, 22 Aug 2022 17:27:01 +0200
Message-Id: <edff5ba0d286a41b94a6b4bb332b63228f7faebe.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This allows configuring EHCI and XHCI consoles separately,
simultaneously.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
new in v5
---
 docs/misc/xen-command-line.pandoc | 18 ++++++++++++------
 xen/drivers/char/serial.c         |  6 ++++++
 xen/drivers/char/xhci-dbc.c       | 20 ++++++++++----------
 xen/include/xen/serial.h          |  1 +
 4 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 9a79385a3712..0d07f0c75990 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -409,7 +409,7 @@ The following are examples of correct specifications:
 Specify the size of the console ring buffer.
 
 ### console
-> `= List of [ vga | com1[H,L] | com2[H,L] | pv | dbgp | none ]`
+> `= List of [ vga | com1[H,L] | com2[H,L] | pv | dbgp | dbc | none ]`
 
 > Default: `console=com1,vga`
 
@@ -428,7 +428,9 @@ cleared.  This allows a single port to be shared by two subsystems
 `pv` indicates that Xen should use Xen's PV console. This option is
 only available when used together with `pv-in-pvh`.
 
-`dbgp` indicates that Xen should use a USB debug port.
+`dbgp` indicates that Xen should use a USB2 debug port.
+
+`dbc` indicates that Xen should use a USB3 debug port.
 
 `none` indicates that Xen should not use a console.  This option only
 makes sense on its own.
@@ -721,14 +723,18 @@ Available alternatives, with their meaning, are:
 
 ### dbgp
 > `= ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
+
+Specify the USB controller to use, either by instance number (when going
+over the PCI busses sequentially) or by PCI device (must be on segment 0).
+
+### dbc
 > `= xhci[ <integer> | @pci<bus>:<slot>.<func> ]`
 
 Specify the USB controller to use, either by instance number (when going
 over the PCI busses sequentially) or by PCI device (must be on segment 0).
 
-Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability (output
-only). XHCI driver will wait indefinitely for the debug host to connect - make
-sure the cable is connected.
+Output only console. XHCI driver will wait indefinitely for the debug host to
+connect - make sure the cable is connected.
 
 ### debug_stack_lines
 > `= <integer>`
@@ -1174,7 +1180,7 @@ virtualization, to allow the L1 hypervisor to use EPT even if the L0 hypervisor
 does not provide `VM_ENTRY_LOAD_GUEST_PAT`.
 
 ### gdb
-> `= com1[H,L] | com2[H,L] | dbgp`
+> `= com1[H,L] | com2[H,L] | dbgp | dbc`
 
 > Default: ``
 
diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index 47899222cef8..7daaa61361bb 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -311,6 +311,12 @@ int __init serial_parse_handle(const char *conf)
         goto common;
     }
 
+    if ( !strncmp(conf, "dbc", 3) && (!conf[3] || conf[3] == ',') )
+    {
+        handle = SERHND_DBC;
+        goto common;
+    }
+
     if ( !strncmp(conf, "dtuart", 6) )
     {
         handle = SERHND_DTUART;
diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index ca7d4a62139e..eb35e3a2ee4f 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -1058,9 +1058,9 @@ static struct xhci_dbc_ctx ctx __aligned(16);
 static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
 static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
 
-static char __initdata opt_dbgp[30];
+static char __initdata opt_dbc[30];
 
-string_param("dbgp", opt_dbgp);
+string_param("dbc", opt_dbc);
 
 void __init xhci_dbc_uart_init(void)
 {
@@ -1068,25 +1068,25 @@ void __init xhci_dbc_uart_init(void)
     struct dbc *dbc = &uart->dbc;
     const char *e;
 
-    if ( strncmp(opt_dbgp, "xhci", 4) )
+    if ( strncmp(opt_dbc, "xhci", 4) )
         return;
 
     memset(dbc, 0, sizeof(*dbc));
 
-    if ( isdigit(opt_dbgp[4]) )
+    if ( isdigit(opt_dbc[4]) )
     {
-        dbc->xhc_num = simple_strtoul(opt_dbgp + 4, &e, 10);
+        dbc->xhc_num = simple_strtoul(opt_dbc + 4, &e, 10);
     }
-    else if ( strncmp(opt_dbgp + 4, "@pci", 4) == 0 )
+    else if ( strncmp(opt_dbc + 4, "@pci", 4) == 0 )
     {
         unsigned int bus, slot, func;
 
-        e = parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
+        e = parse_pci(opt_dbc + 8, NULL, &bus, &slot, &func);
         if ( !e || *e )
         {
             printk(XENLOG_ERR
-                   "Invalid dbgp= PCI device spec: '%s'\n",
-                   opt_dbgp + 8);
+                   "Invalid dbc= PCI device spec: '%s'\n",
+                   opt_dbc + 8);
             return;
         }
 
@@ -1102,7 +1102,7 @@ void __init xhci_dbc_uart_init(void)
     dbc->dbc_str = str_buf;
 
     if ( dbc_open(dbc) )
-        serial_register_uart(SERHND_DBGP, &dbc_uart_driver, &dbc_uart);
+        serial_register_uart(SERHND_DBC, &dbc_uart_driver, &dbc_uart);
 }
 
 #ifdef DBC_DEBUG
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 4cd4ae5e6f1c..186afbed9c92 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -95,6 +95,7 @@ struct uart_driver {
 # define SERHND_COM1    (0<<0)
 # define SERHND_COM2    (1<<0)
 # define SERHND_DBGP    (2<<0)
+# define SERHND_DBC     (3<<0)
 # define SERHND_DTUART  (0<<0) /* Steal SERHND_COM1 value */
 #define SERHND_HI       (1<<2) /* Mux/demux each transferred char by MSB. */
 #define SERHND_LO       (1<<3) /* Ditto, except that the MSB is cleared.  */
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391472.629340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L0-00043J-Jo; Mon, 22 Aug 2022 15:27:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391472.629340; Mon, 22 Aug 2022 15:27:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L0-000435-G8; Mon, 22 Aug 2022 15:27:38 +0000
Received: by outflank-mailman (input) for mailman id 391472;
 Mon, 22 Aug 2022 15:27:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9Kz-0003Dm-7m
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:37 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f28729ce-222e-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 17:27:36 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 69A0C3200A53;
 Mon, 22 Aug 2022 11:27:34 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 22 Aug 2022 11:27:34 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:33 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f28729ce-222e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182053; x=1661268453; bh=CFew235jgq
	1Bpcgaw8qOFpTlwBPLlNuYoSmc12fF7k4=; b=o/NyVVyxQsKSvsIwwHbm86kFAI
	JuFzawp8i1NDqsNOPB/+wFkaojCVyqdtGvZnAT1YYh1yHoZfiYBxJn/8hPrSpdi9
	cP6yd4BE3c7Za7w1w676D2jE7yHFUYs8ug2x4DHX0csgbMpfsNp9W7K4LG7tDHhq
	iUX9gvU/ZBKiTPsA5X77WavXzf4khTexvjzPlX0NEgjGBxytB3W0lzrHTi0HdeQ/
	WAhyNVwAAUi2W/JT3oq6pbMgS66oOmMA1N7f6fIQzDsR1c5RqzaJ8BpPKGZ2M0f+
	HgpD9AMK4u1DaOT1gQwZXjLHVCndJRozr/HH9Ikp0EBfDZ8XU23joDQJUEqw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182053; x=
	1661268453; bh=CFew235jgq1Bpcgaw8qOFpTlwBPLlNuYoSmc12fF7k4=; b=n
	1FeZ1iIpaZ5G+/yaA+86taF2ZTger+q0FMxQ4/8AiHpTb21Qrc1ve6jpL6+Fnkbw
	2I4It26jx+xyK2BJC/5A5ioY7ierIntrZCyEu6YJGDkbeQQhKFTpo1uSil0rfS98
	pT177fw6pqrexAkb4FuA4H9zz1ZMaqEV7YhwV/oDfgVBTIOtywHM/4X0W2KfMHdu
	dyRC148Jj7Q8qzFlcZPd5lYl/v0gXL5vHJoV/VW1suZeSwD78vZfQKEu846AKGMs
	Qdcx/RHJI+V40/U0ZMoRNITNgJWNKcZAWmm+t5jnTUSEumCAcF+rUhhDptatLw/a
	4TD/XVRATPnS4qVrCUnHA==
X-ME-Sender: <xms:ZaADY1aCJt2UTwwH9qVAQ7ZVkpFbEkp9q6OFrwD6RbIjNImRQDtyeg>
    <xme:ZaADY8bevMXj_Bum3R3evtu_RNCFI_jp33gv5z0apDV0j61lYQqQOmEkNc4gYw5ur
    yVYXLcnYDWH9w>
X-ME-Received: <xmr:ZaADY38WeeucEoloa3c3UTOp7g_YXIOYof1urxxfurU18oM9mdidm9Xngai3kXiy_6_mwU1pgEWszoTTNycZMEZQqUAXt6aFqF06JzN_z63k9Uy1nbGqxQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgledtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:ZaADYzoavDDyKvU4pChAECkuj-DHWidSwSAiGsbaIUbBWvFRhlKZmg>
    <xmx:ZaADYwoLY3WY3zmVkz1U-PKy576ZvhsknBuudyVdPxFyTJol5LXLKw>
    <xmx:ZaADY5RLNVGC3oqCb7G2SQONsEeneeBeuaMBxjJWzvggiFG6PFW9zA>
    <xmx:ZaADY3TkPNkzrmyk_PzV5zXqVsXNZ-nwDEi7ACWOiOZkfw23dYTj9Q>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v5 4/9] IOMMU/VT-d: wire common device reserved memory API
Date: Mon, 22 Aug 2022 17:27:04 +0200
Message-Id: <85675b8ddc09661b92f089459431f59081b4b1bc.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Re-use rmrr= parameter handling code to handle common device reserved
memory.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v3:
- make MAX_USER_RMRR_PAGES applicable only to user-configured RMRR
---
 xen/drivers/passthrough/vtd/dmar.c | 201 +++++++++++++++++-------------
 1 file changed, 119 insertions(+), 82 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 367304c8739c..3df5f6b69719 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -861,111 +861,139 @@ static struct user_rmrr __initdata user_rmrrs[MAX_USER_RMRR];
 
 /* Macro for RMRR inclusive range formatting. */
 #define ERMRRU_FMT "[%lx-%lx]"
-#define ERMRRU_ARG(eru) eru.base_pfn, eru.end_pfn
+#define ERMRRU_ARG base_pfn, end_pfn
+
+static int __init add_one_user_rmrr(unsigned long base_pfn,
+                                    unsigned long end_pfn,
+                                    unsigned int dev_count,
+                                    uint32_t *sbdf);
 
 static int __init add_user_rmrr(void)
 {
+    unsigned int i;
+    int ret;
+
+    for ( i = 0; i < nr_rmrr; i++ )
+    {
+        ret = add_one_user_rmrr(user_rmrrs[i].base_pfn,
+                                user_rmrrs[i].end_pfn,
+                                user_rmrrs[i].dev_count,
+                                user_rmrrs[i].sbdf);
+        if ( ret < 0 )
+            return ret;
+    }
+    return 0;
+}
+
+/* Returns 1 on success, 0 when ignoring and < 0 on error. */
+static int __init add_one_user_rmrr(unsigned long base_pfn,
+                                    unsigned long end_pfn,
+                                    unsigned int dev_count,
+                                    uint32_t *sbdf)
+{
     struct acpi_rmrr_unit *rmrr, *rmrru;
-    unsigned int idx, seg, i;
-    unsigned long base, end;
+    unsigned int idx, seg;
+    unsigned long base_iter;
     bool overlap;
 
-    for ( i = 0; i < nr_rmrr; i++ )
+    if ( iommu_verbose )
+        printk(XENLOG_DEBUG VTDPREFIX
+               "Adding RMRR for %d device ([0]: %#x) range "ERMRRU_FMT"\n",
+               dev_count, sbdf[0], ERMRRU_ARG);
+
+    if ( base_pfn > end_pfn )
     {
-        base = user_rmrrs[i].base_pfn;
-        end = user_rmrrs[i].end_pfn;
+        printk(XENLOG_ERR VTDPREFIX
+               "Invalid RMRR Range "ERMRRU_FMT"\n",
+               ERMRRU_ARG);
+        return 0;
+    }
 
-        if ( base > end )
+    overlap = false;
+    list_for_each_entry(rmrru, &acpi_rmrr_units, list)
+    {
+        if ( pfn_to_paddr(base_pfn) <= rmrru->end_address &&
+             rmrru->base_address <= pfn_to_paddr(end_pfn) )
         {
             printk(XENLOG_ERR VTDPREFIX
-                   "Invalid RMRR Range "ERMRRU_FMT"\n",
-                   ERMRRU_ARG(user_rmrrs[i]));
-            continue;
+                   "Overlapping RMRRs: "ERMRRU_FMT" and [%lx-%lx]\n",
+                   ERMRRU_ARG,
+                   paddr_to_pfn(rmrru->base_address),
+                   paddr_to_pfn(rmrru->end_address));
+            overlap = true;
+            break;
         }
+    }
+    /* Don't add overlapping RMRR. */
+    if ( overlap )
+        return 0;
 
-        if ( (end - base) >= MAX_USER_RMRR_PAGES )
+    base_iter = base_pfn;
+    do
+    {
+        if ( !mfn_valid(_mfn(base_iter)) )
         {
             printk(XENLOG_ERR VTDPREFIX
-                   "RMRR range "ERMRRU_FMT" exceeds "\
-                   __stringify(MAX_USER_RMRR_PAGES)" pages\n",
-                   ERMRRU_ARG(user_rmrrs[i]));
-            continue;
+                   "Invalid pfn in RMRR range "ERMRRU_FMT"\n",
+                   ERMRRU_ARG);
+            break;
         }
+    } while ( base_iter++ < end_pfn );
 
-        overlap = false;
-        list_for_each_entry(rmrru, &acpi_rmrr_units, list)
-        {
-            if ( pfn_to_paddr(base) <= rmrru->end_address &&
-                 rmrru->base_address <= pfn_to_paddr(end) )
-            {
-                printk(XENLOG_ERR VTDPREFIX
-                       "Overlapping RMRRs: "ERMRRU_FMT" and [%lx-%lx]\n",
-                       ERMRRU_ARG(user_rmrrs[i]),
-                       paddr_to_pfn(rmrru->base_address),
-                       paddr_to_pfn(rmrru->end_address));
-                overlap = true;
-                break;
-            }
-        }
-        /* Don't add overlapping RMRR. */
-        if ( overlap )
-            continue;
+    /* Invalid pfn in range as the loop ended before end_pfn was reached. */
+    if ( base_iter <= end_pfn )
+        return 0;
 
-        do
-        {
-            if ( !mfn_valid(_mfn(base)) )
-            {
-                printk(XENLOG_ERR VTDPREFIX
-                       "Invalid pfn in RMRR range "ERMRRU_FMT"\n",
-                       ERMRRU_ARG(user_rmrrs[i]));
-                break;
-            }
-        } while ( base++ < end );
+    rmrr = xzalloc(struct acpi_rmrr_unit);
+    if ( !rmrr )
+        return -ENOMEM;
 
-        /* Invalid pfn in range as the loop ended before end_pfn was reached. */
-        if ( base <= end )
-            continue;
+    rmrr->scope.devices = xmalloc_array(u16, dev_count);
+    if ( !rmrr->scope.devices )
+    {
+        xfree(rmrr);
+        return -ENOMEM;
+    }
 
-        rmrr = xzalloc(struct acpi_rmrr_unit);
-        if ( !rmrr )
-            return -ENOMEM;
+    seg = 0;
+    for ( idx = 0; idx < dev_count; idx++ )
+    {
+        rmrr->scope.devices[idx] = sbdf[idx];
+        seg |= PCI_SEG(sbdf[idx]);
+    }
+    if ( seg != PCI_SEG(sbdf[0]) )
+    {
+        printk(XENLOG_ERR VTDPREFIX
+               "Segments are not equal for RMRR range "ERMRRU_FMT"\n",
+               ERMRRU_ARG);
+        scope_devices_free(&rmrr->scope);
+        xfree(rmrr);
+        return 0;
+    }
 
-        rmrr->scope.devices = xmalloc_array(u16, user_rmrrs[i].dev_count);
-        if ( !rmrr->scope.devices )
-        {
-            xfree(rmrr);
-            return -ENOMEM;
-        }
+    rmrr->segment = seg;
+    rmrr->base_address = pfn_to_paddr(base_pfn);
+    /* Align the end_address to the end of the page */
+    rmrr->end_address = pfn_to_paddr(end_pfn) | ~PAGE_MASK;
+    rmrr->scope.devices_cnt = dev_count;
 
-        seg = 0;
-        for ( idx = 0; idx < user_rmrrs[i].dev_count; idx++ )
-        {
-            rmrr->scope.devices[idx] = user_rmrrs[i].sbdf[idx];
-            seg |= PCI_SEG(user_rmrrs[i].sbdf[idx]);
-        }
-        if ( seg != PCI_SEG(user_rmrrs[i].sbdf[0]) )
-        {
-            printk(XENLOG_ERR VTDPREFIX
-                   "Segments are not equal for RMRR range "ERMRRU_FMT"\n",
-                   ERMRRU_ARG(user_rmrrs[i]));
-            scope_devices_free(&rmrr->scope);
-            xfree(rmrr);
-            continue;
-        }
+    if ( register_one_rmrr(rmrr) )
+        printk(XENLOG_ERR VTDPREFIX
+               "Could not register RMMR range "ERMRRU_FMT"\n",
+               ERMRRU_ARG);
 
-        rmrr->segment = seg;
-        rmrr->base_address = pfn_to_paddr(user_rmrrs[i].base_pfn);
-        /* Align the end_address to the end of the page */
-        rmrr->end_address = pfn_to_paddr(user_rmrrs[i].end_pfn) | ~PAGE_MASK;
-        rmrr->scope.devices_cnt = user_rmrrs[i].dev_count;
+    return 1;
+}
 
-        if ( register_one_rmrr(rmrr) )
-            printk(XENLOG_ERR VTDPREFIX
-                   "Could not register RMMR range "ERMRRU_FMT"\n",
-                   ERMRRU_ARG(user_rmrrs[i]));
-    }
+static int __init cf_check add_one_extra_rmrr(xen_pfn_t start, xen_ulong_t nr, u32 id, void *ctxt)
+{
+    u32 sbdf_array[] = { id };
+    return add_one_user_rmrr(start, start+nr, 1, sbdf_array);
+}
 
-    return 0;
+static int __init add_extra_rmrr(void)
+{
+    return iommu_get_extra_reserved_device_memory(add_one_extra_rmrr, NULL);
 }
 
 #include <asm/tboot.h>
@@ -1010,7 +1038,7 @@ int __init acpi_dmar_init(void)
     {
         iommu_init_ops = &intel_iommu_init_ops;
 
-        return add_user_rmrr();
+        return add_user_rmrr() || add_extra_rmrr();
     }
 
     return ret;
@@ -1108,6 +1136,15 @@ static int __init cf_check parse_rmrr_param(const char *str)
         else
             end = start;
 
+        if ( (end - start) >= MAX_USER_RMRR_PAGES )
+        {
+            printk(XENLOG_ERR VTDPREFIX
+                    "RMRR range "ERMRRU_FMT" exceeds "\
+                    __stringify(MAX_USER_RMRR_PAGES)" pages\n",
+                    start, end);
+            return -E2BIG;
+        }
+
         user_rmrrs[nr_rmrr].base_pfn = start;
         user_rmrrs[nr_rmrr].end_pfn = end;
 
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391471.629345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L0-00046Z-VR; Mon, 22 Aug 2022 15:27:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391471.629345; Mon, 22 Aug 2022 15:27:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L0-00045r-Pm; Mon, 22 Aug 2022 15:27:38 +0000
Received: by outflank-mailman (input) for mailman id 391471;
 Mon, 22 Aug 2022 15:27:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9Kz-0003iu-Ao
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:37 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1599435-222e-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 17:27:34 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 4190D3200A50;
 Mon, 22 Aug 2022 11:27:32 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Mon, 22 Aug 2022 11:27:32 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:30 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1599435-222e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182051; x=1661268451; bh=MP94SeiKov
	HRK4tURowdKY0S3+uktUUWGY/VTPo7IQM=; b=rVpDZoD2EgVX+qb2vU7p3HE/9m
	XcT4UVqyjRZuGxqiSWPtxz68mY1eKv10MIdNIhUEXNv15BJsbJE63PrD1008ZN62
	wI4RCJ+6hrscsRfkSomTmKqYB3Rqfu6htE4e09Gaq2SkXZmRepVIP9LEG9QLFQwv
	7bK8hoqnIkmQa5JJgxyNKI37xLzxhdr5VxhkHvKJG8eqAveK6NEQ9tOdlpPXF1tP
	+MAAPlwvZdPWT1zE+jVzXwXbdB0J8DG6eWZED8P7TlwXBMZPsAUfbnOUnf7x7uyd
	QIt2a5FFGOGVbE2XrPcuG8zGknhQfl/He9Yd2uDSJ+vQgA2zRAmrVltUPB2Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182051; x=
	1661268451; bh=MP94SeiKovHRK4tURowdKY0S3+uktUUWGY/VTPo7IQM=; b=v
	YYp6GZrJaYSmsY8/pPoywMyt2ZxSMjwhaI4DQ53g+gmUhjrIddgEvuQtXtF4SGsm
	QWGaqBTZM/UoeVWGLfU5XOIGW4XpB2a24o5epCKqbsuGPDfO6L71HiLKjZNkUi7R
	YaQXnFvJeJXhiNszjcCNuRlZzSs2WxffSzG3aIKOGHhvW8eENsRSRdEF281XQN+T
	65TGENKlPbU03R9vP0lCq/vGIglxVjwhMvk396+HsLDuSRJti6CMIbt2sPie2DEv
	muI92oOA2j2BgZeN2TA0Nr9nyYGAcYn9WLnpx1ELBNAIRVRj8P3Bq7V2nBsYmEQP
	GYQrykhvtNqlcmT9Zxs6g==
X-ME-Sender: <xms:Y6ADYwlxW0KelMwTN6mJz-V3N8bEjK23H7adrHvG7INh03DWh4qI4g>
    <xme:Y6ADY_1Sv7IXfCJl8YNr6jVIoDQez7UHgpoCQgdLS4L2GPNUuopwS-yCkDZtLQiio
    7yazQXJnk3Z3w>
X-ME-Received: <xmr:Y6ADY-r7od4lo0tbnbuQnMbFXCfMf6Lzy7swLRrnfzSCJu3oDDc8_5_Nnv7SgzdRSzbSICehEjGpZHrG9yfQi-oZhblsgzZrOdJ5y5i4AuYIeziN9a-lig>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgledtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:Y6ADY8nq579-mfKrIZ8zrJSd1Cvxb_4lCUznjRSUaND-cfDxkchlhw>
    <xmx:Y6ADY-1RPw7O5M7gdjzHqQvvPl0q-LYP2XqO1GG-AKjmg8OISQiPwg>
    <xmx:Y6ADYzts84H-nzzT6wjbx_HDUbt9aykJzP0H1Itifh_2B6mVpi4n_Q>
    <xmx:Y6ADY8DPF_Ejrw3nEYkzTVuHSJkTw6HfIzrbrmjRLWXAf7UwsE_94Q>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v5 3/9] IOMMU: add common API for device reserved memory
Date: Mon, 22 Aug 2022 17:27:03 +0200
Message-Id: <3ee5187c066ad12e3717df6fed41de99172271b0.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add API similar to rmrr= and ivmd= arguments, but in a common code. This
will allow drivers to register reserved memory regardless of the IOMMU
vendor.
The direct reason for this API is xhci-dbc console driver (aka xue),
that needs to use DMA. But future change may unify command line
arguments for user-supplied reserved memory, and it may be useful for
other drivers in the future too.

This commit just introduces an API, subsequent patches will plug it in
appropriate places. The reserved memory ranges needs to be saved
locally, because at the point when they are collected, Xen doesn't know
yet which IOMMU driver will be used.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v5:
- fix indentation, keep full "reserved_device_memory" for consistency
  with iommu_get_reserved_device_memory
Changes in v4:
- mark functions as __init
- use pci_sbdf_t type
Changes in v3:
 - adjust code style
---
 xen/drivers/passthrough/iommu.c | 46 ++++++++++++++++++++++++++++++++++-
 xen/include/xen/iommu.h         | 14 ++++++++++-
 2 files changed, 60 insertions(+)

diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index 134cdb47e0dc..5e2a720d29b9 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -669,6 +669,52 @@ bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
     return is_iommu_enabled(d) && test_bit(feature, dom_iommu(d)->features);
 }
 
+#define MAX_EXTRA_RESERVED_RANGES 20
+struct extra_reserved_range {
+    unsigned long start;
+    unsigned long nr;
+    pci_sbdf_t sbdf;
+};
+static unsigned int __initdata nr_extra_reserved_ranges;
+static struct extra_reserved_range __initdata
+    extra_reserved_ranges[MAX_EXTRA_RESERVED_RANGES];
+
+int __init iommu_add_extra_reserved_device_memory(unsigned long start,
+                                                  unsigned long nr,
+                                                  pci_sbdf_t sbdf)
+{
+    unsigned int idx;
+
+    if ( nr_extra_reserved_ranges >= MAX_EXTRA_RESERVED_RANGES )
+        return -ENOMEM;
+
+    idx = nr_extra_reserved_ranges++;
+    extra_reserved_ranges[idx].start = start;
+    extra_reserved_ranges[idx].nr = nr;
+    extra_reserved_ranges[idx].sbdf = sbdf;
+
+    return 0;
+}
+
+int __init iommu_get_extra_reserved_device_memory(iommu_grdm_t *func,
+                                                  void *ctxt)
+{
+    unsigned int idx;
+    int ret;
+
+    for ( idx = 0; idx < nr_extra_reserved_ranges; idx++ )
+    {
+        ret = func(extra_reserved_ranges[idx].start,
+                   extra_reserved_ranges[idx].nr,
+                   extra_reserved_ranges[idx].sbdf.sbdf,
+                   ctxt);
+        if ( ret < 0 )
+            return ret;
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 1240d7762d99..4f22fc1bed55 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -304,6 +304,20 @@ struct iommu_ops {
 #endif
 };
 
+/*
+ * To be called by Xen internally, to register extra RMRR/IVMD ranges.
+ * Needs to be called before IOMMU initialization.
+ */
+extern int iommu_add_extra_reserved_device_memory(unsigned long start,
+                                                  unsigned long nr,
+                                                  pci_sbdf_t sbdf);
+/*
+ * To be called by specific IOMMU driver during initialization,
+ * to fetch ranges registered with iommu_add_extra_reserved_device_memory().
+ */
+extern int iommu_get_extra_reserved_device_memory(iommu_grdm_t *func,
+                                                  void *ctxt);
+
 #include <asm/iommu.h>
 
 #ifndef iommu_call
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391473.629362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L3-0004d0-5m; Mon, 22 Aug 2022 15:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391473.629362; Mon, 22 Aug 2022 15:27:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L3-0004ce-22; Mon, 22 Aug 2022 15:27:41 +0000
Received: by outflank-mailman (input) for mailman id 391473;
 Mon, 22 Aug 2022 15:27:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9L1-0003iu-6A
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:39 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3c97865-222e-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 17:27:38 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 678203200A71;
 Mon, 22 Aug 2022 11:27:36 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Mon, 22 Aug 2022 11:27:36 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:35 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3c97865-222e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182055; x=1661268455; bh=/pD4K+B9L0
	ba8VyhoGCQP8h4YWebGtRYWp1NDk3Q7sk=; b=cgOWQej6yYZdOw6e1uLcBlA9jX
	VtPx8obQkof4ie+8oTH9GXL4yGl0MwfkC+0FXdyDOq0sKafaZ2kUlXvidJfFcWrK
	MDSwFoL/SZX9Kf1+D7DkjyF88zGsgmoRb6gPGmiO+m2a8qouFCpxt/DVpQSvlpLD
	JzZ2+KWBFfIlonsEkK0W+NcGyh3mF22+bp33vgAkCYP+hA3K5g4CauIEE9a+n9Ku
	rRQmKaIHotD9itNLCPzt15HaJpzRsJ+0pJU5t5WqoGop2vUWJ7MgfYnL6EudrlJ2
	KxPJHOO02rxlvqTh53CxUIR1nAfF+9IhlirXkzdjOz+bvjJEdLWS+asa8DKg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182055; x=
	1661268455; bh=/pD4K+B9L0ba8VyhoGCQP8h4YWebGtRYWp1NDk3Q7sk=; b=0
	DRb/8cbJHaCze5PP+YEFv7WHH23TTnZgUb5otB9yxLpZdOHq5klj/s3Apo4zN4dL
	EVy41M/EUQo/MY2BJC/3JkF0ARDVWf5Plu47w0Lq0/ISre2JRaz8inkpKgtdfYdz
	mNHu4dmvrmOiv7tvdTc+tMXE4pGkxaUQVIQt2KK94LZkLg4LTdg55Ztyx+UuIeoo
	zNpRwoH/mtt2aOl5ofUW+f2xwCea2KgVGCFBoY3Fc/awR72tDqCcd/i/8q5Azeqf
	lpAV/RxkJxxko8TXS5Dssnj8QnyxzQI6rZMCveSuKWWALsLkYSqZAJsBNKqUScAt
	GTETI8v9eDcpTLavhuuXg==
X-ME-Sender: <xms:Z6ADY-B_8w6cvekPm4Q4t7s47-63C5DwsLuxpdhx8qyKit1DuVs3IA>
    <xme:Z6ADY4jOBo0qCGQwM-OcZcxNIpn7nsGIJJ28_C-7HifVo5pkq7shhR_nouCL1Pc12
    933FXAzdT4zOA>
X-ME-Received: <xmr:Z6ADYxl4NHYniR9_7cIsHFl9IPXyxp9WkCivAHJWml-jc1HuRN6vYy5scKScdRrgDqNm-COVvPOWdnaoKYLndPR1yLQOuhHP-U8XgqW4V9ARDIB3VDtQ8g>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgledtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedvnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:Z6ADY8wELSIEaEMrfMIutzJvM3hQdbfYsB5ZnnEN-Mbg0LRVcvTGfw>
    <xmx:Z6ADYzQXzo9LBxtAom6Zj6oJJfVytM2pOcwj-8I8xM74FlSg4bVQxw>
    <xmx:Z6ADY3Y1b2Ae7DwiCeK4bauV9SVFriNM0ihqtFQ8lvx2QXm2sob0LA>
    <xmx:Z6ADY6Jdm95QkXcbOQctLDRyiGwL6SCcazDk7ayCUlBnShWeXBQfsg>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v5 5/9] IOMMU/AMD: wire common device reserved memory API
Date: Mon, 22 Aug 2022 17:27:05 +0200
Message-Id: <725db95e13a7006d55ead9bfb584dce206eaa86c.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Register common device reserved memory similar to how ivmd= parameter is
handled.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
 - use variable initializer
 - use pfn_to_paddr()
---
 xen/drivers/passthrough/amd/iommu_acpi.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index ac6835225bae..3b577c9b390c 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -1078,6 +1078,25 @@ static inline bool_t is_ivmd_block(u8 type)
             type == ACPI_IVRS_TYPE_MEMORY_IOMMU);
 }
 
+static int __init cf_check add_one_extra_ivmd(unsigned long start,
+                                              unsigned long nr,
+                                              uint32_t id, void *ctxt)
+{
+    struct acpi_ivrs_memory ivmd = {
+        .header = {
+            .length = sizeof(ivmd),
+            .flags = ACPI_IVMD_UNITY | ACPI_IVMD_READ | ACPI_IVMD_WRITE,
+            .device_id = id,
+            .type = ACPI_IVRS_TYPE_MEMORY_ONE,
+        },
+    };
+
+    ivmd.start_address = pfn_to_paddr(start);
+    ivmd.memory_length = pfn_to_paddr(nr);
+
+    return parse_ivmd_block(&ivmd);
+}
+
 static int __init cf_check parse_ivrs_table(struct acpi_table_header *table)
 {
     const struct acpi_ivrs_header *ivrs_block;
@@ -1121,6 +1140,8 @@ static int __init cf_check parse_ivrs_table(struct acpi_table_header *table)
         AMD_IOMMU_DEBUG("IVMD: %u command line provided entries\n", nr_ivmd);
     for ( i = 0; !error && i < nr_ivmd; ++i )
         error = parse_ivmd_block(user_ivmds + i);
+    if ( !error )
+        error = iommu_get_extra_reserved_device_memory(add_one_extra_ivmd, NULL);
 
     /* Each IO-APIC must have been mentioned in the table. */
     for ( apic = 0; !error && iommu_intremap && apic < nr_ioapics; ++apic )
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391474.629373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L6-0004zT-GG; Mon, 22 Aug 2022 15:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391474.629373; Mon, 22 Aug 2022 15:27:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L6-0004z9-CT; Mon, 22 Aug 2022 15:27:44 +0000
Received: by outflank-mailman (input) for mailman id 391474;
 Mon, 22 Aug 2022 15:27:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9L4-0003Dm-7a
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:42 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f58f1b07-222e-11ed-bd2e-47488cf2e6aa;
 Mon, 22 Aug 2022 17:27:41 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 0FC4C3200A7C;
 Mon, 22 Aug 2022 11:27:38 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Mon, 22 Aug 2022 11:27:39 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:37 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f58f1b07-222e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182058; x=1661268458; bh=Pn0LnI5h21
	OlMhhNf4aZSkh56wy/E8EA+91CFTzjTe4=; b=sQoAuQiUsytXAe6aZHkD3+nj/X
	xURp8nmsI7ApvsEWjNBjeApnAbI4pWcrS9PnwrbQqWkpZyGhE2cyn4oodoEdrdry
	s7FlHAUaxVpc6q2ScG4DMuRu3CbRAD084xqypbz/l+HA6LKm+K3nLPy8f6Tj6qPE
	ZDa/2BV6igTN9e1tlmCv91a3y+7/PDHhxhuL6sgGzspYq1JgeY3IBEYJfPW+ktkT
	K1oAaT3aVJe0GYzlrPWnDiIoSybk+jW/GYmawFjkmDoFAMXLIxPN5MTnSFqqSQjr
	dguBqCXJ4S2wvTz3eCa+ZvhZ0CA+zyclnaAZUhYWuxRdqqZrwYESeBv6i3ag==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182058; x=
	1661268458; bh=Pn0LnI5h21OlMhhNf4aZSkh56wy/E8EA+91CFTzjTe4=; b=i
	ZYZUoPMkCUWowlR78BN8JB51gue35CmgOobDn5H2tBjnJT/0WGwC7Op6Fm6eUijM
	MgjNETPMAr2Lvw1fqZlvl3COiFzlPJSJ9ckAh8r/tU7Bi/SkYumFZx65LdTDvcTc
	spUbh5BtE1mhFsc23TfWa20T6Ag9eCyXAd22zTZppB2ugRQM+CjCT0ko2dp8JJaQ
	f5Ow9QXbizvng4juHYkCMoy/7HCqu3z5YMo1frJXC2E8uQP26OzS861C1Cj0oylj
	E675Nw9jpoihACjNxid9KjIIq1bc4wDUMg8WcPaecF6qPN95C7CzlqLBxxFm8FtM
	t2Ryg1L3Wy+TLvbwSEsMA==
X-ME-Sender: <xms:aqADY3M8zXrULpX6MTLdaAK9CKpB_SBq0Q0Bivic5zZwed2q-vJT2g>
    <xme:aqADYx8rrGlW4_mWHPWrDaO8vYPemh4nnBdpnfc6y8WZJdnyzz2xYfOiRiSqjwslZ
    NL7NQXbzx4dSw>
X-ME-Received: <xmr:aqADY2SOAEfu2_nVjR60vniM9Tto4RvI1vyPu2lPyJzta92dU1_7XrSKxDBzDPQ9DB07cCyfJSPI7K5odzAtPUO7Xr_wycfBaLVf5gBhL6zcAzntZux9nQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgledtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedvnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:aqADY7vkPfyAhkyJtP-YOwFMH_KhmTiuJhAmQPBhUb6Dwrx3t9S9mw>
    <xmx:aqADY_cpgkQnoMx3fY6A5IewMXObgem_7Kwwexumc_EQciCJHEK03A>
    <xmx:aqADY31kun81UnMOIGJjq1b-II8X4MtayWr2Ldco-EToVLRcvkNB7g>
    <xmx:aqADYwEpMHxbaL02s88oRAi0njlbjGkQqy4IhJyBNGL9whT-cnqGzA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v5 6/9] drivers/char: mark DMA buffers as reserved for the XHCI
Date: Mon, 22 Aug 2022 17:27:06 +0200
Message-Id: <58476e4d0ce2b819050393f137603d2a9294d40a.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The important part is to include those buffers in IOMMU page table
relevant for the USB controller. Otherwise, DbC will stop working as
soon as IOMMU is enabled, regardless of to which domain device assigned
(be it xen or dom0).
If the device is passed through to dom0 or other domain (see later
patches), that domain will effectively have access to those buffers too.
It does give such domain yet another way to DoS the system (as is the
case when having PCI device assigned already), but also possibly steal
the console ring content. Thus, such domain should be a trusted one.
In any case, prevent anything else being placed on those pages by adding
artificial padding.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v5:
- add missing alignment
Changes in v3:
- adjust for xhci-dbc rename
- do not raise MAX_USER_RMRR_PAGES
- adjust alignment of DMA buffers
---
 xen/drivers/char/xhci-dbc.c | 43 +++++++++++++++++++++++++-------------
 1 file changed, 29 insertions(+), 14 deletions(-)

diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index eb35e3a2ee4f..32e9efeb0f77 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -20,6 +20,7 @@
  */
 
 #include <xen/delay.h>
+#include <xen/iommu.h>
 #include <xen/mm.h>
 #include <xen/param.h>
 #include <xen/serial.h>
@@ -1050,13 +1051,21 @@ static struct uart_driver dbc_uart_driver = {
 };
 
 /* Those are accessed via DMA. */
-static struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
-static struct xhci_trb out_trb[DBC_TRB_RING_CAP];
-static struct xhci_trb in_trb[DBC_TRB_RING_CAP];
-static struct xhci_erst_segment erst __aligned(16);
-static struct xhci_dbc_ctx ctx __aligned(16);
-static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
-static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
+struct dbc_dma_bufs {
+    struct xhci_trb evt_trb[DBC_TRB_RING_CAP];
+    struct xhci_trb out_trb[DBC_TRB_RING_CAP];
+    struct xhci_trb in_trb[DBC_TRB_RING_CAP];
+    uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
+    struct xhci_erst_segment erst __aligned(16);
+    struct xhci_dbc_ctx ctx __aligned(16);
+    struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
+    /*
+     * Don't place anything else on this page - it will be
+     * DMA-reachable by the USB controller.
+     */
+};
+static struct dbc_dma_bufs __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+    dbc_dma_bufs;
 
 static char __initdata opt_dbc[30];
 
@@ -1093,16 +1102,22 @@ void __init xhci_dbc_uart_init(void)
         dbc->sbdf = PCI_SBDF(0, bus, slot, func);
     }
 
-    dbc->dbc_ctx = &ctx;
-    dbc->dbc_erst = &erst;
-    dbc->dbc_ering.trb = evt_trb;
-    dbc->dbc_oring.trb = out_trb;
-    dbc->dbc_iring.trb = in_trb;
-    dbc->dbc_owork.buf = out_wrk_buf;
-    dbc->dbc_str = str_buf;
+    dbc->dbc_ctx = &dbc_dma_bufs.ctx;
+    dbc->dbc_erst = &dbc_dma_bufs.erst;
+    dbc->dbc_ering.trb = dbc_dma_bufs.evt_trb;
+    dbc->dbc_oring.trb = dbc_dma_bufs.out_trb;
+    dbc->dbc_iring.trb = dbc_dma_bufs.in_trb;
+    dbc->dbc_owork.buf = dbc_dma_bufs.out_wrk_buf;
+    dbc->dbc_str = dbc_dma_bufs.str_buf;
 
     if ( dbc_open(dbc) )
+    {
+        iommu_add_extra_reserved_device_memory(
+                PFN_DOWN(virt_to_maddr(&dbc_dma_bufs)),
+                PFN_UP(sizeof(dbc_dma_bufs)),
+                uart->dbc.sbdf);
         serial_register_uart(SERHND_DBC, &dbc_uart_driver, &dbc_uart);
+    }
 }
 
 #ifdef DBC_DEBUG
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391475.629384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L9-0005OG-1i; Mon, 22 Aug 2022 15:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391475.629384; Mon, 22 Aug 2022 15:27:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9L8-0005Nv-TA; Mon, 22 Aug 2022 15:27:46 +0000
Received: by outflank-mailman (input) for mailman id 391475;
 Mon, 22 Aug 2022 15:27:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9L7-0003iu-9b
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:45 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7526ffd-222e-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 17:27:44 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 05709320099F;
 Mon, 22 Aug 2022 11:27:41 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Mon, 22 Aug 2022 11:27:42 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:40 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7526ffd-222e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182061; x=1661268461; bh=Ds5W69sMUj
	ID7EvzJTjybVIdCA4RPqmY+2ZVAuvq13Y=; b=YFm1zyQCx1oUm0WFUxW6XGY+Sq
	/26HGIXHuZaHoVm0qYHt/Tnp7OZ5Em14VOT/o3UMqEvU4R3fQvZ5rv5SC8Sk2OCC
	2OE1c8rFGxfgnsIudD0ab3NdWZqlWZGnCOk+yG9qSJPFkEecEgV0F2E/neJW8dq7
	lmhT4ODtmmgsk4bldU76A/T1BO1R0QslDeJ6S/ExPRCyLjma0SnEXN11CYPIkK56
	t6XwhmfecUjvi+HIHrchEUTXBW9tOdFUIhSnTSDJdsv6/bIlhzS6ZUrj+YRFw+YM
	mFFy7NQZESIB+9aVbTQ5ETc1huTYExDL/z9yPBA0fPelZJN6yzmB5erI8OAQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182061; x=
	1661268461; bh=Ds5W69sMUjID7EvzJTjybVIdCA4RPqmY+2ZVAuvq13Y=; b=D
	6K94sSxn8Q3AHXmhBXc2twEj3B6CRSePQR8KS7phGZ9qXhg7tT+JdIcuoSqTkIqO
	JTCBwilzHrP5Ee4rzLEt5QUVT0xuOQlYyeZ8weqF87oOVKFOxvnuK38tKcMNa0tC
	DPsJeF5wCD570fib71/VIjLIHgPz4/q2wI88lhMSnOGqa8O4Zy+wMruGyY6UIMaj
	u08PpTw7oRJim5dpK0XS8UcB40L4lQH2i58l6B6RcHKmJAEvaDqPyBAvMDawdpQY
	0YJqriVTl7SJyl3SOL4RKwM3xJ0PlEEIXD+MasYY3ATmpndmD1Pa1LYaeDksUDQp
	9RlKUvGaws+jeneazm7qg==
X-ME-Sender: <xms:baADY2Daos2cKHtnIZOwKwj-Ufk3a3UYADX4OosMbzKoNhIojx4JNQ>
    <xme:baADYwhX_7ZrenPG70iKNOdSJmGP3YrRzLYkAhzLZLwKXOsrcW39dIyGxLb8hiCJ1
    rBTuEHiNh2BWA>
X-ME-Received: <xmr:baADY5mWqXXNkQMfKxYv6KtHu3Eq9AOiWQhiFBWtUhY4EhWwgLEStXgOfoqMyo1WRGIZzPWWfmqknjaJ2o5AQ4Gl9sc5oXmELDg1rzaZszM_-36g1HEyEQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgledtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:baADY0wBcj74uQrgAtnoG4TAlJnYcuzP5ph6Ju0NGcKzohpNhlb_CQ>
    <xmx:baADY7SZCFrArnjkrueMYVyNJgPxV9uGKIsKATadir-FDqmjXa6_zQ>
    <xmx:baADY_bFl1oEANoXM4DwK2EAEELUueQ-Msb3r6XWPRZoV95kxQwrFQ>
    <xmx:baADY8JwF3cJ6dad5vxMe7aG-TgAptGjLVvsEBZCvcakLX2M4ZAwoQ>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v5 7/9] drivers/char: add RX support to the XHCI driver
Date: Mon, 22 Aug 2022 17:27:07 +0200
Message-Id: <7520ee704004e5464ab13bacb38baea4e986992e.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add another work ring buffer for received data, and point IN TRB at it.
Ensure there is always at least one pending IN TRB, so the controller
has a way to send incoming data to the driver.
Note that both "success" and "short packet" completion codes are okay -
in fact it will be "short packet" most of the time, as the TRB length is
about maximum size, not required size.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
- adjust return types
- add some const
New patch in v3
---
 docs/misc/xen-command-line.pandoc |   4 +-
 xen/drivers/char/xhci-dbc.c       | 129 +++++++++++++++++++++++++++++++-
 2 files changed, 131 insertions(+), 2 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index e31300ea3408..a5883ef49a88 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -736,8 +736,8 @@ over the PCI busses sequentially) or by PCI device (must be on segment 0).
 Specify the USB controller to use, either by instance number (when going
 over the PCI busses sequentially) or by PCI device (must be on segment 0).
 
-Output only console. XHCI driver will wait indefinitely for the debug host to
-connect - make sure the cable is connected.
+XHCI driver will wait indefinitely for the debug host to connect - make sure
+the cable is connected.
 
 ### debug_stack_lines
 > `= <integer>`
diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index 32e9efeb0f77..afcd3312e2aa 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -111,6 +111,7 @@ enum {
 enum {
     XHCI_TRB_CC_SUCCESS = 1,
     XHCI_TRB_CC_TRB_ERR = 5,
+    XHCI_TRB_CC_SHORT_PACKET = 13,
 };
 
 /* DbC endpoint types */
@@ -239,6 +240,7 @@ struct dbc {
     struct xhci_trb_ring dbc_oring;
     struct xhci_trb_ring dbc_iring;
     struct dbc_work_ring dbc_owork;
+    struct dbc_work_ring dbc_iwork;
     struct xhci_string_descriptor *dbc_str;
 
     pci_sbdf_t sbdf;
@@ -443,6 +445,16 @@ static void xhci_trb_norm_set_ioc(struct xhci_trb *trb)
     trb->ctrl |= 0x20;
 }
 
+static uint64_t xhci_trb_norm_buf(const struct xhci_trb *trb)
+{
+    return trb->params;
+}
+
+static uint32_t xhci_trb_norm_len(const struct xhci_trb *trb)
+{
+    return trb->status & 0x1FFFF;
+}
+
 /**
  * Fields for Transfer Event TRBs (see section 6.4.2.1). Note that event
  * TRBs are read-only from software
@@ -452,6 +464,17 @@ static uint64_t xhci_trb_tfre_ptr(const struct xhci_trb *trb)
     return trb->params;
 }
 
+static uint32_t xhci_trb_tfre_cc(const struct xhci_trb *trb)
+{
+    return trb->status >> 24;
+}
+
+/* Amount of data _not_ transferred */
+static uint32_t xhci_trb_tfre_len(const struct xhci_trb *trb)
+{
+    return trb->status & 0x1FFFF;
+}
+
 /* Fields for link TRBs (section 6.4.4.1) */
 static void xhci_trb_link_set_rsp(struct xhci_trb *trb, uint64_t rsp)
 {
@@ -493,6 +516,14 @@ static bool xhci_trb_ring_full(const struct xhci_trb_ring *ring)
     return ((ring->enq + 1) & (DBC_TRB_RING_CAP - 1)) == ring->deq;
 }
 
+static unsigned int xhci_trb_ring_size(const struct xhci_trb_ring *ring)
+{
+    if ( ring->enq >= ring->deq )
+        return ring->enq - ring->deq;
+
+    return DBC_TRB_RING_CAP - ring->deq + ring->enq;
+}
+
 static bool dbc_work_ring_full(const struct dbc_work_ring *ring)
 {
     return ((ring->enq + 1) & (DBC_WORK_RING_CAP - 1)) == ring->deq;
@@ -506,6 +537,14 @@ static unsigned int dbc_work_ring_size(const struct dbc_work_ring *ring)
     return DBC_WORK_RING_CAP - ring->deq + ring->enq;
 }
 
+static unsigned int dbc_work_ring_space_to_end(const struct dbc_work_ring *ring)
+{
+    if ( ring->enq >= ring->deq )
+        return DBC_WORK_RING_CAP - ring->enq;
+
+    return ring->deq - ring->enq;
+}
+
 static void dbc_push_trb(struct dbc *dbc, struct xhci_trb_ring *ring,
                          uint64_t dma, uint64_t len)
 {
@@ -566,6 +605,31 @@ static unsigned int dbc_push_work(struct dbc *dbc, struct dbc_work_ring *ring,
     return i;
 }
 
+static void dbc_rx_trb(struct dbc *dbc, struct xhci_trb *trb,
+                       uint64_t not_transferred)
+{
+    struct dbc_work_ring *ring = &dbc->dbc_iwork;
+    unsigned int rx_len;
+    unsigned int end, start = ring->enq;
+
+    if ( xhci_trb_type(trb) != XHCI_TRB_NORM )
+        /* Can be Link TRB for example. */
+        return;
+
+    ASSERT(xhci_trb_norm_buf(trb) == ring->dma + ring->enq);
+    ASSERT(xhci_trb_norm_len(trb) >= not_transferred);
+    rx_len = xhci_trb_norm_len(trb) - not_transferred;
+
+    /* It can hit the ring end, but should not wrap around. */
+    ASSERT(ring->enq + rx_len <= DBC_WORK_RING_CAP);
+    ring->enq = (ring->enq + rx_len) & (DBC_WORK_RING_CAP - 1);
+
+    end = ring->enq;
+
+    if ( end > start )
+        cache_flush(&ring->buf[start], end - start);
+}
+
 /*
  * Note that if IN transfer support is added, then this
  * will need to be changed; it assumes an OUT transfer ring only
@@ -575,6 +639,7 @@ static void dbc_pop_events(struct dbc *dbc)
     struct dbc_reg *reg = dbc->dbc_reg;
     struct xhci_trb_ring *er = &dbc->dbc_ering;
     struct xhci_trb_ring *tr = &dbc->dbc_oring;
+    struct xhci_trb_ring *ir = &dbc->dbc_iring;
     struct xhci_trb *event = &er->trb[er->deq];
     uint64_t erdp = readq(&reg->erdp);
     uint32_t portsc;
@@ -600,6 +665,14 @@ static void dbc_pop_events(struct dbc *dbc)
                 trb_idx = (event_ptr - tr->dma) >> XHCI_TRB_SHIFT;
                 tr->deq = (trb_idx + 1) & (DBC_TRB_RING_CAP - 1);
             }
+            else if ( event_ptr - ir->dma < DBC_TRB_RING_BYTES )
+            {
+                trb_idx = (event_ptr - ir->dma) >> XHCI_TRB_SHIFT;
+                if ( xhci_trb_tfre_cc(event) == XHCI_TRB_CC_SUCCESS ||
+                     xhci_trb_tfre_cc(event) == XHCI_TRB_CC_SHORT_PACKET )
+                    dbc_rx_trb(dbc, &ir->trb[trb_idx], xhci_trb_tfre_len(event));
+                ir->deq = (trb_idx + 1) & (DBC_TRB_RING_CAP - 1);
+            }
             else
                 dbc_alert("event: TRB 0x%lx not found in any ring\n",
                           event_ptr);
@@ -870,6 +943,7 @@ static bool __init dbc_open(struct dbc *dbc)
         return false;
 
     dbc_init_work_ring(dbc, &dbc->dbc_owork);
+    dbc_init_work_ring(dbc, &dbc->dbc_iwork);
     dbc_enable_dbc(dbc);
     dbc->open = true;
 
@@ -946,6 +1020,33 @@ static void dbc_flush(struct dbc *dbc, struct xhci_trb_ring *trb,
 }
 
 /**
+ * Ensure DbC has a pending transfer TRB to receive data into.
+ *
+ * @param dbc the dbc to flush
+ * @param trb the ring for the TRBs to transfer
+ * @param wrk the work ring to receive data into
+ */
+static void dbc_enqueue_in(struct dbc *dbc, struct xhci_trb_ring *trb,
+                           struct dbc_work_ring *wrk)
+{
+    struct dbc_reg *reg = dbc->dbc_reg;
+    uint32_t db = (readl(&reg->db) & 0xFFFF00FF) | (trb->db << 8);
+
+    /* Check if there is already queued TRB */
+    if ( xhci_trb_ring_size(trb) >= 1 )
+        return;
+
+    if ( dbc_work_ring_full(wrk) )
+        return;
+
+    dbc_push_trb(dbc, trb, wrk->dma + wrk->enq,
+                 dbc_work_ring_space_to_end(wrk));
+
+    wmb();
+    writel(db, &reg->db);
+}
+
+/**
  * Queue a single character to the DbC. A transfer TRB will be created
  * if the character is a newline and the DbC will be notified that data is
  * available for writing to the debug host.
@@ -968,6 +1069,19 @@ static int64_t dbc_putc(struct dbc *dbc, char c)
     return 1;
 }
 
+static int dbc_getc(struct dbc *dbc, char *c)
+{
+    struct dbc_work_ring *wrk = &dbc->dbc_iwork;
+
+    if ( dbc_work_ring_size(wrk) == 0 )
+        return 0;
+
+    *c = wrk->buf[wrk->deq];
+    wrk->deq = (wrk->deq + 1) & (DBC_WORK_RING_CAP - 1);
+
+    return 1;
+}
+
 struct dbc_uart {
     struct dbc dbc;
     struct timer timer;
@@ -986,10 +1100,16 @@ static void cf_check dbc_uart_poll(void *data)
     if ( spin_trylock_irqsave(&port->tx_lock, flags) )
     {
         if ( dbc_ensure_running(dbc) )
+        {
             dbc_flush(dbc, &dbc->dbc_oring, &dbc->dbc_owork);
+            dbc_enqueue_in(dbc, &dbc->dbc_iring, &dbc->dbc_iwork);
+        }
         spin_unlock_irqrestore(&port->tx_lock, flags);
     }
 
+    while ( dbc_work_ring_size(&dbc->dbc_iwork) )
+        serial_rx_interrupt(port, guest_cpu_user_regs());
+
     serial_tx_interrupt(port, guest_cpu_user_regs());
     set_timer(&uart->timer, NOW() + MICROSECS(DBC_POLL_INTERVAL));
 }
@@ -1028,6 +1148,12 @@ static void cf_check dbc_uart_putc(struct serial_port *port, char c)
     dbc_putc(&uart->dbc, c);
 }
 
+static int cf_check dbc_uart_getc(struct serial_port *port, char *c)
+{
+    struct dbc_uart *uart = port->uart;
+    return dbc_getc(&uart->dbc, c);
+}
+
 static void cf_check dbc_uart_flush(struct serial_port *port)
 {
     s_time_t goal;
@@ -1047,6 +1173,7 @@ static struct uart_driver dbc_uart_driver = {
     .init_postirq = dbc_uart_init_postirq,
     .tx_ready = dbc_uart_tx_ready,
     .putc = dbc_uart_putc,
+    .getc = dbc_uart_getc,
     .flush = dbc_uart_flush,
 };
 
@@ -1056,6 +1183,7 @@ struct dbc_dma_bufs {
     struct xhci_trb out_trb[DBC_TRB_RING_CAP];
     struct xhci_trb in_trb[DBC_TRB_RING_CAP];
     uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
+    uint8_t in_wrk_buf[DBC_WORK_RING_CAP];
     struct xhci_erst_segment erst __aligned(16);
     struct xhci_dbc_ctx ctx __aligned(16);
     struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
@@ -1108,6 +1236,7 @@ void __init xhci_dbc_uart_init(void)
     dbc->dbc_oring.trb = dbc_dma_bufs.out_trb;
     dbc->dbc_iring.trb = dbc_dma_bufs.in_trb;
     dbc->dbc_owork.buf = dbc_dma_bufs.out_wrk_buf;
+    dbc->dbc_iwork.buf = dbc_dma_bufs.in_wrk_buf;
     dbc->dbc_str = dbc_dma_bufs.str_buf;
 
     if ( dbc_open(dbc) )
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391479.629395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9LC-0005r6-IT; Mon, 22 Aug 2022 15:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391479.629395; Mon, 22 Aug 2022 15:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9LC-0005qa-9Z; Mon, 22 Aug 2022 15:27:50 +0000
Received: by outflank-mailman (input) for mailman id 391479;
 Mon, 22 Aug 2022 15:27:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9LA-0003iu-Cv
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:48 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f920e2d7-222e-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 17:27:47 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 06E403200971;
 Mon, 22 Aug 2022 11:27:44 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Mon, 22 Aug 2022 11:27:45 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:43 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f920e2d7-222e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182064; x=1661268464; bh=JeIh207uzZ
	pb1aNaI9jycqnoSZkqV0i0vjOTN7pf/5Q=; b=LtyZhkiSLkkhUCK7hJdj4Gkhiu
	xvs7MC4xxv4k5DiHtU3T1Q7/Vrow0sOWR3nEKU1mhGl1E/xW0w7UGCu20IL4xexo
	tOijEaN2fXONZz6zy/jBUkqpv9AOPvdUSomfaCkDcIzHFIgPKKLqMQlStqsrOkPd
	gcSuIiSbj0JQDfhpQ3hQbYG5mm0DmznXrMelVChrG8twpwiaSVWCYEAKI2Eputbl
	eIKdAF28Z6jevAzJ0Bqv0sn5QI2CvNEZ8NP7W2Pa9CmVKiUDHBu/ZWpr7DW4SwZH
	A1owg5aiNvoVN97jnkV8d30pmk1TE18mAj4qkdCNTN6gG4pcBh3hVs7KIAzw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182064; x=
	1661268464; bh=JeIh207uzZpb1aNaI9jycqnoSZkqV0i0vjOTN7pf/5Q=; b=P
	z5E4lH9m5nj+7llt36Lvn9fKjA6UT0s6XdcEwm10U24kB1pobDSV7D24j8oiY+Mw
	t+UP3vM4qISaFtrL9eP1wj1v0i+Rn2vVlESgOkupHF7sXp5jn6MyT5pddDT3u2mi
	llHUEtoGhuqA4+2j+EQz0+mwms7scdCJXLnY91VrnCJnyXQvGXzEMQgfMEAL3+oM
	WMQc3noLtpJTYHRmCHz932+DRoMRm2LRk0kPD9fh2GgiwezDvBzGr02nEm4b8Z69
	ty2x0x9hSTwhz0rCB0ViZ1jNOeGM8cf0fA8TTsDn57MiN/pO5o+i8HVBvs7bahqq
	6WtonL3Jf9DKxqMJ2bw7g==
X-ME-Sender: <xms:cKADY7Tu_4sDbY9vpK5nQIazLPdOqHVOTfszaqLYra4WyM3FLZlzNQ>
    <xme:cKADY8x2VPoLqSvoHrdIiNnTefoeggjpV---rDWFEXx2vnV7y9GAwNrlZMonGSaDh
    o8eQ4jzwjweGQ>
X-ME-Received: <xmr:cKADYw01ItxjoX15mVgVLKzbvDy7dMVNJ978PK4V4v23K-VHG5JaNv3nfO6TC1q6ru6AtyvmAk4dFk00cAnjUiv5W7oHT1nrFMLntL5YRqRgi1HWiUW9Ng>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgkeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:cKADY7CwGenqxrlrnNo2blb-QKpuI0IKwA_d04PIsMxNyzCsBctn8g>
    <xmx:cKADY0gfMhP5wneiWiYgeV9SowIL0gM8ILpk5T7F2DIWHkV8bCJEHg>
    <xmx:cKADY_qduPtNQfnRS02sdnzIYxXOTLTHl6dAt6G1Mx3nwVso-82iqw>
    <xmx:cKADY-ZCkZ32P3dbsQGjbfqlG4pixPsO7pXiLalQY27NYGzx3BKbXA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v5 8/9] drivers/char: allow driving the rest of XHCI by a domain while Xen uses DbC
Date: Mon, 22 Aug 2022 17:27:08 +0200
Message-Id: <1e2e4177eecc1da762d519926fa206971a9997a0.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

That's possible, because the capability was designed specifically to
allow separate driver handle it, in parallel to unmodified xhci driver
(separate set of registers, pretending the port is "disconnected" for
the main xhci driver etc). It works with Linux dom0, although requires
an awful hack - re-enabling bus mastering behind dom0's backs.
Linux driver does similar thing - see
drivers/usb/early/xhci-dbc.c:xdbc_handle_events().

When controller sharing is enabled in kconfig (option marked as
experimental), dom0 is allowed to use the controller even if Xen uses it
for debug console. Additionally, option `dbgp=xhci,share=` is available
to either prevent even dom0 from using it (`no` value), or allow any
domain using it (`any` value).

In any case, to avoid Linux messing with the DbC, mark this MMIO area as
read-only. This might cause issues for Linux's driver (if it tries to
write something on the same page - like anoter xcap), but makes Xen's
use safe. In practice, as of Linux 5.18, it seems to work without
issues.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
Changes in v5:
- drop CONFIG_XHCI_SHARE
- make XHCI_SHARE_HWDOM = 0
- use parse_boolean
- add comment about mmio_ro_ranges
- fix doc
Changes in v4:
- minor fix for cmdline parsing
- make sharing opt-in build time, with option marked as EXPERIMENTAL
- change cmdline syntax to share=<bool>|hwdom
- make share=hwdom default (if enabled build-time)
Changes in v3:
- adjust for xhci-dbc rename
- adjust for dbc_ensure_running() split
- wrap long lines
- add runtime option for sharing USB controller
---
 docs/misc/xen-command-line.pandoc |  14 ++-
 xen/drivers/char/xhci-dbc.c       | 129 +++++++++++++++++++++++++++++--
 2 files changed, 134 insertions(+), 9 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index a5883ef49a88..5aa184a4a06c 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -731,13 +731,25 @@ Specify the USB controller to use, either by instance number (when going
 over the PCI busses sequentially) or by PCI device (must be on segment 0).
 
 ### dbc
-> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ]`
+> `= xhci[ <integer> | @pci<bus>:<slot>.<func> ][,share=<bool>|hwdom]`
 
 Specify the USB controller to use, either by instance number (when going
 over the PCI busses sequentially) or by PCI device (must be on segment 0).
 
 XHCI driver will wait indefinitely for the debug host to connect - make sure
 the cable is connected.
+The `share` option for xhci controls who else can use the controller:
+* `no`: use the controller exclusively for console, even hardware domain
+  (dom0) cannot use it
+* `hwdom`: hardware domain may use the controller too, ports not used for debug
+  console will be available for normal devices; this is the default
+* `yes`: the controller can be assigned to any domain; it is not safe to assign
+  the controller to untrusted domain
+
+Choosing `share=hwdom` (the default) or `share=yes` allows a domain to reset the
+controller, which may cause small portion of the console output to be lost.
+
+The `share=yes` configuration is not security supported.
 
 ### debug_stack_lines
 > `= <integer>`
diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index afcd3312e2aa..e838e285fb75 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -23,6 +23,7 @@
 #include <xen/iommu.h>
 #include <xen/mm.h>
 #include <xen/param.h>
+#include <xen/rangeset.h>
 #include <xen/serial.h>
 #include <xen/timer.h>
 #include <xen/types.h>
@@ -232,6 +233,12 @@ struct dbc_work_ring {
     uint64_t dma;
 };
 
+enum xhci_share {
+    XHCI_SHARE_HWDOM = 0,
+    XHCI_SHARE_NONE,
+    XHCI_SHARE_ANY
+};
+
 struct dbc {
     struct dbc_reg __iomem *dbc_reg;
     struct xhci_dbc_ctx *dbc_ctx;
@@ -249,6 +256,7 @@ struct dbc {
     void __iomem *xhc_mmio;
 
     bool open;
+    enum xhci_share share;
     unsigned int xhc_num; /* look for n-th xhc */
 };
 
@@ -951,13 +959,56 @@ static bool __init dbc_open(struct dbc *dbc)
 }
 
 /*
- * Ensure DbC is still running, handle events, and possibly re-enable if cable
- * was re-plugged. Returns true if DbC is operational.
+ * Ensure DbC is still running, handle events, and possibly
+ * re-enable/re-configure if cable was re-plugged or controller was reset.
+ * Returns true if DbC is operational.
  */
 static bool dbc_ensure_running(struct dbc *dbc)
 {
     struct dbc_reg *reg = dbc->dbc_reg;
     uint32_t ctrl;
+    uint16_t cmd;
+
+    if ( dbc->share != XHCI_SHARE_NONE )
+    {
+        /*
+         * Re-enable memory decoding and later bus mastering, if dom0 (or
+         * other) disabled it in the meantime.
+         */
+        cmd = pci_conf_read16(dbc->sbdf, PCI_COMMAND);
+        if ( !(cmd & PCI_COMMAND_MEMORY) )
+        {
+            cmd |= PCI_COMMAND_MEMORY;
+            pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd);
+        }
+
+        /*
+         * FIXME: Make Linux coordinate XHCI reset, so the DbC driver can
+         * prepare for it properly, instead of only detecting it after the
+         * fact. See EHCI driver for similar handling.
+         */
+        if ( dbc->open && !(readl(&reg->ctrl) & (1U << DBC_CTRL_DCE)) )
+        {
+            if ( !dbc_init_dbc(dbc) )
+                return false;
+
+            dbc_init_work_ring(dbc, &dbc->dbc_owork);
+            dbc_enable_dbc(dbc);
+        }
+        else
+        {
+            /*
+             * dbc_init_dbc() takes care about it, so check only if it wasn't
+             * called.
+             */
+            cmd = pci_conf_read16(dbc->sbdf, PCI_COMMAND);
+            if ( !(cmd & PCI_COMMAND_MASTER) )
+            {
+                cmd |= PCI_COMMAND_MASTER;
+                pci_conf_write16(dbc->sbdf, PCI_COMMAND, cmd);
+            }
+        }
+    }
 
     dbc_pop_events(dbc);
 
@@ -1128,10 +1179,38 @@ static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
     init_timer(&uart->timer, dbc_uart_poll, port, 0);
     set_timer(&uart->timer, NOW() + MILLISECS(1));
 
-    if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
-        printk(XENLOG_WARNING
-               "Failed to mark read-only %pp used for XHCI console\n",
-               &uart->dbc.sbdf);
+    switch ( uart->dbc.share )
+    {
+    case XHCI_SHARE_NONE:
+        if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
+            printk(XENLOG_WARNING
+                   "Failed to mark read-only %pp used for XHCI console\n",
+                   &uart->dbc.sbdf);
+        break;
+    case XHCI_SHARE_HWDOM:
+        if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) )
+            printk(XENLOG_WARNING
+                   "Failed to hide %pp used for XHCI console\n",
+                   &uart->dbc.sbdf);
+        break;
+    case XHCI_SHARE_ANY:
+        /* Do not hide. */
+        break;
+    }
+#ifdef CONFIG_X86
+    /*
+     * This marks the whole page as R/O, which may include other registers
+     * unrelated to DbC. Xen needs only DbC area protected, but it seems
+     * Linux's XHCI driver (as of 5.18) works without writting to the whole
+     * page, so keep it simple.
+     */
+    if ( rangeset_add_range(mmio_ro_ranges,
+                PFN_DOWN(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset),
+                PFN_UP(uart->dbc.xhc_mmio_phys + uart->dbc.xhc_dbc_offset +
+                       sizeof(*uart->dbc.dbc_reg)) - 1) )
+        printk(XENLOG_INFO
+               "Error while adding MMIO range of device to mmio_ro_ranges\n");
+#endif
 }
 
 static int cf_check dbc_uart_tx_ready(struct serial_port *port)
@@ -1203,13 +1282,15 @@ void __init xhci_dbc_uart_init(void)
 {
     struct dbc_uart *uart = &dbc_uart;
     struct dbc *dbc = &uart->dbc;
-    const char *e;
+    const char *e, *opt;
+    int val;
 
     if ( strncmp(opt_dbc, "xhci", 4) )
         return;
 
     memset(dbc, 0, sizeof(*dbc));
 
+    e = &opt_dbc[4];
     if ( isdigit(opt_dbc[4]) )
     {
         dbc->xhc_num = simple_strtoul(opt_dbc + 4, &e, 10);
@@ -1219,7 +1300,7 @@ void __init xhci_dbc_uart_init(void)
         unsigned int bus, slot, func;
 
         e = parse_pci(opt_dbc + 8, NULL, &bus, &slot, &func);
-        if ( !e || *e )
+        if ( !e || (*e && *e != ',') )
         {
             printk(XENLOG_ERR
                    "Invalid dbc= PCI device spec: '%s'\n",
@@ -1229,6 +1310,38 @@ void __init xhci_dbc_uart_init(void)
 
         dbc->sbdf = PCI_SBDF(0, bus, slot, func);
     }
+    opt = e;
+
+    /* other options */
+    while ( *opt == ',' )
+    {
+        opt++;
+        e = strchr(opt, ',');
+        if ( !e )
+            e = strchr(opt, '\0');
+
+        if ( (val = parse_boolean("share", opt, e)) != -1 )
+        {
+            if ( val == -2 && !cmdline_strcmp(opt + 6, "hwdom") )
+                dbc->share = XHCI_SHARE_HWDOM;
+            else if ( val == 0 )
+                dbc->share = XHCI_SHARE_NONE;
+            else if ( val == 1 )
+                dbc->share = XHCI_SHARE_ANY;
+            else
+                break;
+        }
+        else
+            break;
+
+        opt = e;
+    }
+
+    if ( *opt )
+    {
+        printk(XENLOG_ERR "Invalid dbc= parameters: '%s'\n", opt);
+        return;
+    }
 
     dbc->dbc_ctx = &dbc_dma_bufs.ctx;
     dbc->dbc_erst = &dbc_dma_bufs.erst;
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:27:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391482.629406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9LE-0006Ih-UR; Mon, 22 Aug 2022 15:27:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391482.629406; Mon, 22 Aug 2022 15:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9LE-0006Hf-N9; Mon, 22 Aug 2022 15:27:52 +0000
Received: by outflank-mailman (input) for mailman id 391482;
 Mon, 22 Aug 2022 15:27:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YSJC=Y2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQ9LD-0003iu-3F
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:27:51 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fae6ba82-222e-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 17:27:50 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 02AEE3200A3C;
 Mon, 22 Aug 2022 11:27:47 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 22 Aug 2022 11:27:48 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Aug 2022 11:27:46 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fae6ba82-222e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661182067; x=1661268467; bh=xj7bP3qj5V
	gPvcpXH0+9UDlbrSUvdrbGTDOQmCOLAFU=; b=lVdYxd7OMDMpoWEzPlSB6orzII
	svSLcmI7LAHqXmG9EElY31MfPQmwiSgCSddFJ2EAePlAEf63+hLRCLUfiBx01xoM
	gilIEG89lbJpdqxFcKmHAt5X8S5rm73waHCHzlWGZzjH7dBKNob2xG+bKjv8ZpBB
	Rn2XkQTmdDF/yKHeGFSmqyB74pCiGz+g/5cmWBJ1+pWT6Oi1lc6EWGYNMPaL+r32
	ZSlUtWbhtrnnYpxN6CBo0zPnpGhAzS4F55tk1S0/4wA8pDV/vzrNMhC1UDyZlv+1
	w2AOGPh/GA8nAk+mI4w7eWaF+zaY6tzhwUsBNLGDPSfFHosFjbE0sEOvt76A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661182067; x=
	1661268467; bh=xj7bP3qj5VgPvcpXH0+9UDlbrSUvdrbGTDOQmCOLAFU=; b=R
	b45L44hfa+9QOZ/zMt3kAlxTGY+9Fmf7KmjUeX/qfLLhwR8wQKdtMz+ZwDaL31Zs
	4jCm1/pz5huCnFkMhlx1W5p0YS7V+94yxkQY45qy+m7WDbxc6rW1oxStOFwUE6T2
	y4k1dINxltvQ9xDyAu5RDc+866q68ORu6jIg2LmSdGx4YxZIemfrPrtoMQLD5Li1
	nV2c+PcI565KHmvoud0/6iofLqXbn8ECgm7neGXKp0qigGo1tKUzsac0EbQ2bUIi
	uqygazSI4gL7EumMtSlOV6KRMK4Jz63LDnLWHor08j5tEz6Vyk7IkG2tpxoUE02A
	ix/utwOvxMc4vG+f/wFnw==
X-ME-Sender: <xms:c6ADY1wihqBjr4_gx-_nluaDX4nAXS0chv5re8TRuN1Iv0EVVjZ3Tg>
    <xme:c6ADY1RlwZh_9HgHkv5uc9rhx5Qt4fi4tTwZIM6O67QPxZpO4XzPhjkqKjfJHKDZh
    weuxIgD6ndoKg>
X-ME-Received: <xmr:c6ADY_X0MQQ8vGsBEbHof1EGAYYWbFkMXfPa_VFSIknhiCK0xZzxe0nDKrb6jjl4MFPr1BxKp7HTqhSIuI_dVmYjzPmYsG6MWQfvXgIpjGqgVG6qYBk41A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgledtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:c6ADY3jWGDi1ex7wtkHsm4aYrSYL3iHwcVm3VNti_MfO-ifLASHXmQ>
    <xmx:c6ADY3DlJjYbpzfyycr1agRIOyBvDvJA6iOSmbnPeWjz8OTbUGqvQA>
    <xmx:c6ADYwLt2CRifCAg347aUkG7yqlxYizi0ADQ2tFW5Q-NSTl_5AjYpA>
    <xmx:c6ADYy7-2Q4X62JwBkC0WnyLTORwaaE_2shbqhBRNSGcvT5oiIkAaw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v5 9/9] drivers/char: fix handling cable re-plug in XHCI console driver
Date: Mon, 22 Aug 2022 17:27:09 +0200
Message-Id: <bf26655295d0d85b1718d60f2e4390da7ec62b93.1661181584.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When cable is unplugged, dbc_ensure_running() correctly detects this
situation (DBC_CTRL_DCR flag is clear), and prevent sending data
immediately to the device. It gets only queued in work ring buffers.
When cable is plugged in again, subsequent dbc_flush() will send the
buffered data.
But there is a corner case, where no subsequent data was buffered in the
work buffer, but a TRB was still pending. Ring the doorbell to let the
controller re-send them. For console output it is rare corner case (TRB
is pending for a very short time), but for console input it is very
normal case (there is always one pending TRB for input).

Extract doorbell ringing into separate function to avoid duplication.

Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
---
 xen/drivers/char/xhci-dbc.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index e838e285fb75..0ff340dac103 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -553,6 +553,15 @@ static unsigned int dbc_work_ring_space_to_end(const struct dbc_work_ring *ring)
     return ring->deq - ring->enq;
 }
 
+static void dbc_ring_doorbell(struct dbc *dbc, int doorbell)
+{
+    uint32_t __iomem *db_reg = &dbc->dbc_reg->db;
+    uint32_t db = (readl(db_reg) & ~DBC_DOORBELL_TARGET_MASK) |
+                  (doorbell << DBC_DOORBELL_TARGET_SHIFT);
+
+    writel(db, db_reg);
+}
+
 static void dbc_push_trb(struct dbc *dbc, struct xhci_trb_ring *ring,
                          uint64_t dma, uint64_t len)
 {
@@ -1023,6 +1032,8 @@ static bool dbc_ensure_running(struct dbc *dbc)
         writel(ctrl | (1U << DBC_CTRL_DRC), &reg->ctrl);
         writel(readl(&reg->portsc) | (1U << DBC_PSC_PED), &reg->portsc);
         wmb();
+        dbc_ring_doorbell(dbc, dbc->dbc_iring.db);
+        dbc_ring_doorbell(dbc, dbc->dbc_oring.db);
     }
 
     return true;
@@ -1040,10 +1051,6 @@ static bool dbc_ensure_running(struct dbc *dbc)
 static void dbc_flush(struct dbc *dbc, struct xhci_trb_ring *trb,
                       struct dbc_work_ring *wrk)
 {
-    struct dbc_reg *reg = dbc->dbc_reg;
-    uint32_t db = (readl(&reg->db) & ~DBC_DOORBELL_TARGET_MASK) |
-                  (trb->db << DBC_DOORBELL_TARGET_SHIFT);
-
     if ( xhci_trb_ring_full(trb) )
         return;
 
@@ -1066,8 +1073,7 @@ static void dbc_flush(struct dbc *dbc, struct xhci_trb_ring *trb,
         }
     }
 
-    wmb();
-    writel(db, &reg->db);
+    dbc_ring_doorbell(dbc, trb->db);
 }
 
 /**
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:34:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:34:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391541.629417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9Rw-0001i6-UA; Mon, 22 Aug 2022 15:34:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391541.629417; Mon, 22 Aug 2022 15:34:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9Rw-0001hz-Qr; Mon, 22 Aug 2022 15:34:48 +0000
Received: by outflank-mailman (input) for mailman id 391541;
 Mon, 22 Aug 2022 15:34:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GtSS=Y2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQ9Rv-0001ht-Gg
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 15:34:47 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f31be6d3-222f-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 17:34:45 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4BF0B20345;
 Mon, 22 Aug 2022 15:34:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 16E751332D;
 Mon, 22 Aug 2022 15:34:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id S+b/AxWiA2OQGwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 22 Aug 2022 15:34:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f31be6d3-222f-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661182485; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Hlo4od086OevTIkkjTpErqY5vZbnmvoUtS1wfCUSwk4=;
	b=ekXIsVg2Ugc/9uf8MWE61308dT3ULNiiIGbB9m2yHcTrLfoBKtwtVBFG0bXw30YkhFCatD
	yd/PTnIW/CYxUisi2fNttCzJGF/LXg+8pP7urcAHziykhQX/qmmSlX3J9eyfgzqxA60yaa
	jDgPanu8dZMqmGfNmSaSfIvhpcvzOb4=
Message-ID: <31f99f6b-0781-795b-731b-d5a9f1105887@suse.com>
Date: Mon, 22 Aug 2022 17:34:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [Xen-devel] Xen crash after S3 suspend - Xen 4.13 and newer
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Juergen Gross <jgross@suse.de>, Dario Faggioli <dfaggioli@suse.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <fa845540-fd8e-bc63-a3af-50673dede579@citrix.com>
 <20200318221006.GS18599@mail-itl>
 <413cac496e18bcb04b0691ef633d206f3a14a8e3.camel@suse.com>
 <20200323000946.GH18599@mail-itl> <20200929142730.GA25731@mail-itl>
 <d243c1b5-712d-a958-0b6c-b232eb4edc80@suse.com>
 <20200929151627.GE1482@mail-itl>
 <ea53b845-5edf-a61e-62ae-7ababc30b3e0@suse.com>
 <20210131021526.GB6354@mail-itl> <YWHDIQC3K8J3LD8+@mail-itl>
 <YwJZ3X0HpT9w6Veh@mail-itl>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwJZ3X0HpT9w6Veh@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5sgBIO4Syxd8XFDKIh1tCMr2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5sgBIO4Syxd8XFDKIh1tCMr2
Content-Type: multipart/mixed; boundary="------------cfZ0Oegzc9LeHpQS3QBQPpJR";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Juergen Gross <jgross@suse.de>, Dario Faggioli <dfaggioli@suse.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <31f99f6b-0781-795b-731b-d5a9f1105887@suse.com>
Subject: Re: [Xen-devel] Xen crash after S3 suspend - Xen 4.13 and newer
References: <fa845540-fd8e-bc63-a3af-50673dede579@citrix.com>
 <20200318221006.GS18599@mail-itl>
 <413cac496e18bcb04b0691ef633d206f3a14a8e3.camel@suse.com>
 <20200323000946.GH18599@mail-itl> <20200929142730.GA25731@mail-itl>
 <d243c1b5-712d-a958-0b6c-b232eb4edc80@suse.com>
 <20200929151627.GE1482@mail-itl>
 <ea53b845-5edf-a61e-62ae-7ababc30b3e0@suse.com>
 <20210131021526.GB6354@mail-itl> <YWHDIQC3K8J3LD8+@mail-itl>
 <YwJZ3X0HpT9w6Veh@mail-itl>
In-Reply-To: <YwJZ3X0HpT9w6Veh@mail-itl>

--------------cfZ0Oegzc9LeHpQS3QBQPpJR
Content-Type: multipart/mixed; boundary="------------DxHHSU0w1p3aS0tRGTKBd4n0"

--------------DxHHSU0w1p3aS0tRGTKBd4n0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjEuMDguMjIgMTg6MTQsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToN
Cj4gT24gU2F0LCBPY3QgMDksIDIwMjEgYXQgMDY6Mjg6MTdQTSArMDIwMCwgTWFyZWsgTWFy
Y3p5a293c2tpLUfDs3JlY2tpIHdyb3RlOg0KPj4gT24gU3VuLCBKYW4gMzEsIDIwMjEgYXQg
MDM6MTU6MzBBTSArMDEwMCwgTWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tpIHdyb3RlOg0K
Pj4+IE9uIFR1ZSwgU2VwIDI5LCAyMDIwIGF0IDA1OjI3OjQ4UE0gKzAyMDAsIErDvHJnZW4g
R3Jvw58gd3JvdGU6DQo+Pj4+IE9uIDI5LjA5LjIwIDE3OjE2LCBNYXJlayBNYXJjenlrb3dz
a2ktR8OzcmVja2kgd3JvdGU6DQo+Pj4+PiBPbiBUdWUsIFNlcCAyOSwgMjAyMCBhdCAwNTow
NzoxMVBNICswMjAwLCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0KPj4+Pj4+IE9uIDI5LjA5LjIw
IDE2OjI3LCBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kgd3JvdGU6DQo+Pj4+Pj4+IE9u
IE1vbiwgTWFyIDIzLCAyMDIwIGF0IDAxOjA5OjQ5QU0gKzAxMDAsIE1hcmVrIE1hcmN6eWtv
d3NraS1Hw7NyZWNraSB3cm90ZToNCj4+Pj4+Pj4+IE9uIFRodSwgTWFyIDE5LCAyMDIwIGF0
IDAxOjI4OjEwQU0gKzAxMDAsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOg0KPj4+Pj4+Pj4+IFtB
ZGRpbmcgSnVlcmdlbl0NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IE9uIFdlZCwgMjAyMC0wMy0x
OCBhdCAyMzoxMCArMDEwMCwgTWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tpIHdyb3RlOg0K
Pj4+Pj4+Pj4+PiBPbiBXZWQsIE1hciAxOCwgMjAyMCBhdCAwMjo1MDo1MlBNICswMDAwLCBB
bmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4+Pj4+Pj4+Pj4gT24gMTgvMDMvMjAyMCAxNDoxNiwg
TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tpIHdyb3RlOg0KPj4+Pj4+Pj4+Pj4+IEhpLA0K
Pj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+Pj4gSW4gbXkgdGVzdCBzZXR1cCAoaW5zaWRlIEtW
TSB3aXRoIG5lc3RlZCB2aXJ0IGVuYWJsZWQpLCBJIHJhdGhlcg0KPj4+Pj4+Pj4+Pj4+IGZy
ZXF1ZW50bHkgZ2V0IFhlbiBjcmFzaCBvbiByZXN1bWUgZnJvbSBTMy4gRnVsbCBtZXNzYWdl
IGJlbG93Lg0KPj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+Pj4gVGhpcyBpcyBYZW4gNC4xMy4w
LCB3aXRoIHNvbWUgcGF0Y2hlcywgaW5jbHVkaW5nICJzY2hlZDogZml4DQo+Pj4+Pj4+Pj4+
Pj4gcmVzdW1pbmcNCj4+Pj4+Pj4+Pj4+PiBmcm9tIFMzIHdpdGggc210PTAiLg0KPj4+Pj4+
Pj4+Pj4+DQo+Pj4+Pj4+Pj4+Pj4gQ29udHJhcnkgdG8gdGhlIHByZXZpb3VzIGlzc3VlLCB0
aGlzIG9uZSBkb2VzIG5vdCBoYXBwZW4gYWx3YXlzIC0NCj4+Pj4+Pj4+Pj4+PiBJDQo+Pj4+
Pj4+Pj4+Pj4gd291bGQgc2F5IGluIGFib3V0IDQwJSBjYXNlcyBvbiB0aGlzIHNldHVwLCBi
dXQgdmVyeSByYXJlbHkgb24NCj4+Pj4+Pj4+Pj4+PiBwaHlzaWNhbA0KPj4+Pj4+Pj4+Pj4+
IHNldHVwLg0KPj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+Pj4gVGhpcyBpcyBfd2l0aG91dF8g
Y29yZSBzY2hlZHVsaW5nIGVuYWJsZWQsIGFuZCBhbHNvIHdpdGggc210PW9mZi4NCj4+Pj4+
Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4+IERvIHlvdSB0aGluayBpdCB3b3VsZCBiZSBhbnkgZGlm
ZmVyZW50IG9uIHhlbi11bnN0YWJsZT8gSSBjYXQNCj4+Pj4+Pj4+Pj4+PiB0cnksIGJ1dA0K
Pj4+Pj4+Pj4+Pj4+IGl0IGlzbid0IHRyaXZpYWwgaW4gdGhpcyBzZXR1cCwgc28gSSdkIGFz
ayBmaXJzdC4NCj4+Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IFdlbGwsIEp1ZXJnZW4gaGFzIGZp
eGVkIHF1aXRlIGEgZmV3IGlzc3Vlcy4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IE1vc3Qgb2Yg
dGhlbSB3aGVyZSB0cmlnZ2VyaW5nIHdpdGggY29yZS1zY2hlZHVsaW5nIGVuYWJsZWQsIGFu
ZCBJIGRvbid0DQo+Pj4+Pj4+Pj4gcmVjYWxsIGFueSBvZiB0aGVtIHdoaWNoIGxvb2tlZCBz
aW1pbGFyIG9yIHJlbGF0ZWQgdG8gdGhpcy4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IFN0aWxs
LCBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHNhbWUgaXNzdWUgY2F1c2VzIGRpZmZlcmVudCBz
eW1wdG9tcywgYW5kDQo+Pj4+Pj4+Pj4gaGVuY2UgdGhhdCBtYXliZSBvbmUgb2YgdGhlIHBh
dGNoZXMgd291bGQgZml4IHRoaXMgdG9vLg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IEkndmUgdGVz
dGVkIG9uIG1hc3RlciAoZDA5NGU5NWZiN2MpLCBhbmQgcmVwcm9kdWNlZCBleGFjdGx5IHRo
ZSBzYW1lIGNyYXNoDQo+Pj4+Pj4+PiAocGFzdGVkIGJlbG93IGZvciB0aGUgY29tcGxldGVu
ZXNzKS4NCj4+Pj4+Pj4+IEJ1dCB0aGVyZSBpcyBtb3JlOiBhZGRpdGlvbmFsbHksIGluIG1v
c3QgKGFsbD8pIGNhc2VzIGFmdGVyIHJlc3VtZSBJJ3ZlIGdvdA0KPj4+Pj4+Pj4gc29mdCBs
b2NrdXAgaW4gTGludXggZG9tMCBpbiBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoKSAtIHNl
ZSBiZWxvdy4gSXQNCj4+Pj4+Pj4+IGRpZG4ndCBoYXBwZW5lZCBiZWZvcmUgYW5kIHRoZSBv
bmx5IGNoYW5nZSB3YXMgWGVuIDQuMTMgLT4gbWFzdGVyLg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+
IFhlbiBjcmFzaDoNCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAoWEVOKSBBc3NlcnRpb24gJ2MycnFk
KHNjaGVkX3VuaXRfbWFzdGVyKHVuaXQpKSA9PSBzdmMtPnJxZCcgZmFpbGVkIGF0IGNyZWRp
dDIuYzoyMTMzDQo+Pj4+Pj4+DQo+Pj4+Pj4+IEp1ZXJnZW4sIGFueSBpZGVhIGFib3V0IHRo
aXMgb25lPyBUaGlzIGlzIGFsc28gaGFwcGVuaW5nIG9uIHRoZSBjdXJyZW50DQo+Pj4+Pj4+
IHN0YWJsZS00LjE0ICgyODg1NWViY2RiZmEpLg0KPj4+Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pj4g
T2gsIHNvcnJ5IEkgZGlkbid0IGNvbWUgYmFjayB0byB0aGlzIGlzc3VlLg0KPj4+Pj4+DQo+
Pj4+Pj4gSSBzdXNwZWN0IHRoaXMgaXMgcmVsYXRlZCB0byBzdG9wX21hY2hpbmVfcnVuKCkg
YmVpbmcgY2FsbGVkIGR1cmluZw0KPj4+Pj4+IHN1c3BlbmQoKSwgYXMgSSdtIHNlZWluZyB2
ZXJ5IHNwb3JhZGljIGlzc3VlcyB3aGVuIG9mZmxpbmluZyBhbmQgdGhlbg0KPj4+Pj4+IG9u
bGluaW5nIGNwdXMgd2l0aCBjb3JlIHNjaGVkdWxpbmcgYmVpbmcgYWN0aXZlIChpdCBzZWVt
cyBhcyBpZiB0aGUNCj4+Pj4+PiBkb20wIHZjcHUgZG9pbmcgdGhlIGNwdSBvbmxpbmUgYWN0
aXZpdHkgc29tZXRpbWVzIGlzIHVzaW5nIGFuIG9sZA0KPj4+Pj4+IHZjcHUgc3RhdGUpLg0K
Pj4+Pj4NCj4+Pj4+IE5vdGUgdGhpcyBpcyBkZWZhdWx0IFhlbiA0LjE0IHN0YXJ0LCBzbyBj
b3JlIHNjaGVkdWxpbmcgaXMgX25vdF8gYWN0aXZlOg0KPj4+Pg0KPj4+PiBUaGUgc2ltaWxh
cml0eSBpbiB0aGUgdHdvIGZhaWx1cmUgY2FzZXMgaXMgdGhhdCBtdWx0aXBsZSBjcHVzIGFy
ZQ0KPj4+PiBhZmZlY3RlZCBieSB0aGUgb3BlcmF0aW9ucyBkdXJpbmcgc3RvcF9tYWNoaW5l
X3J1bigpLg0KPj4+Pg0KPj4+Pj4NCj4+Pj4+ICAgICAgIChYRU4pIEJyb3VnaHQgdXAgMiBD
UFVzDQo+Pj4+PiAgICAgICAoWEVOKSBTY2hlZHVsaW5nIGdyYW51bGFyaXR5OiBjcHUsIDEg
Q1BVIHBlciBzY2hlZC1yZXNvdXJjZQ0KPj4+Pj4gICAgICAgKFhFTikgQWRkaW5nIGNwdSAw
IHRvIHJ1bnF1ZXVlIDANCj4+Pj4+ICAgICAgIChYRU4pICBGaXJzdCBjcHUgb24gcnVucXVl
dWUsIGFjdGl2YXRpbmcNCj4+Pj4+ICAgICAgIChYRU4pIEFkZGluZyBjcHUgMSB0byBydW5x
dWV1ZSAxDQo+Pj4+PiAgICAgICAoWEVOKSAgRmlyc3QgY3B1IG9uIHJ1bnF1ZXVlLCBhY3Rp
dmF0aW5nDQo+Pj4+Pg0KPj4+Pj4+IEkgd2Fzbid0IGFibGUgdG8gY2F0Y2ggdGhlIHJlYWwg
cHJvYmxlbSBkZXNwaXRlIG9mIGhhdmluZyB0cmllZCBsb3RzDQo+Pj4+Pj4gb2YgYXBwcm9h
Y2hlcyB1c2luZyBkZWJ1ZyBwYXRjaGVzLg0KPj4+Pj4+DQo+Pj4+Pj4gUmVjZW50bHkgSSBz
dXNwZWN0ZWQgdGhlIHdob2xlIHByb2JsZW0gY291bGQgYmUgc29tZWhvdyByZWxhdGVkIHRv
DQo+Pj4+Pj4gUkNVIGhhbmRsaW5nLCBhcyBzdG9wX21hY2hpbmVfcnVuKCkgaXMgcmVseWlu
ZyBvbiB0YXNrbGV0cyB3aGljaCBhcmUNCj4+Pj4+PiBleGVjdXRpbmcgaW4gaWRsZSBjb250
ZXh0LCBhbmQgUkNVIGhhbmRsaW5nIGlzIGRvbmUgaW4gaWRsZSBjb250ZXh0LA0KPj4+Pj4+
IHRvby4gU28gdGhlcmUgbWlnaHQgYmUgc29tZSBraW5kIG9mIHVzZSBhZnRlciBmcmVlIHNj
ZW5hcmlvIGluIGNhc2UNCj4+Pj4+PiBzb21lIG1lbW9yeSBpcyBmcmVlZCB2aWEgUkNVIGRl
c3BpdGUgaXQgc3RpbGwgYmVpbmcgdXNlZCBieSBhIHRhc2tsZXQuDQo+Pj4+Pg0KPj4+Pj4g
VGhhdCBzb3VuZHMgcGxhdXNpYmxlLCBldmVuIHRob3VnaCBJIGRvbid0IHJlYWxseSBrbm93
IHRoaXMgYXJlYSBvZiBYZW4uDQo+Pj4+Pg0KPj4+Pj4+IEkgImp1c3QiIG5lZWQgdG8gZmlu
ZCBzb21lIHRpbWUgdG8gdmVyaWZ5IHRoaXMgc3VzcGljaW9uLiBBbnkgaGVscCBkb2luZw0K
Pj4+Pj4+IHRoaXMgd291bGQgYmUgYXBwcmVjaWF0ZWQuIDotKQ0KPj4+Pj4NCj4+Pj4+IEkg
ZG8gaGF2ZSBhIHNldHVwIHdoZXJlIEkgY2FuIGVhc2lseS1pc2ggcmVwcm9kdWNlIHRoZSBp
c3N1ZS4gSWYgdGhlcmUNCj4+Pj4+IGlzIHNvbWUgZGVidWcgcGF0Y2ggeW91J2QgbGlrZSBt
ZSB0byB0cnksIEkgY2FuIGRvIHRoYXQuDQo+Pj4+DQo+Pj4+IFRoYW5rcy4gSSBtaWdodCBj
b21lIGJhY2sgdG8gdGhhdCBvZmZlciBhcyB5b3UgYXJlIHNlZWluZyBhIGNyYXNoIHdoaWNo
DQo+Pj4+IHdpbGwgYmUgbXVjaCBlYXNpZXIgdG8gYW5hbHl6ZS4gQ2F0Y2hpbmcgbXkgZXJy
b3IgY2FzZSBpcyBtdWNoIGhhcmRlciBhcw0KPj4+PiBpdCBzdXJmYWNlcyBzb21lIHRpbWUg
YWZ0ZXIgdGhlIHJlYWwgcHJvYmxlbSBpbiBhIG5vbiBkZXN0cnVjdGl2ZSB3YXkNCj4+Pj4g
KHVzdWFsbHkgSSdtIHNlZWluZyBhIGZhaWx1cmUgdG8gbG9hZCBhIGxpYnJhcnkgaW4gdGhl
IHByb2dyYW0gd2hpY2gNCj4+Pj4ganVzdCBkaWQgaXRzIGpvYiB2aWEgZXhhY3RseSB0aGUg
bGlicmFyeSBjbGFpbWluZyBub3QgYmVpbmcgbG9hZGFibGUpLg0KPj4+DQo+Pj4gSGksDQo+
Pj4NCj4+PiBJJ20gcmVzdXJyZWN0aW5nIHRoaXMgdGhyZWFkIGFzIGl0IHdhcyByZWNlbnRs
eSBtZW50aW9uZWQgZWxzZXdoZXJlLiBJDQo+Pj4gY2FuIHN0aWxsIHJlcHJvZHVjZSB0aGUg
aXNzdWUgb24gdGhlIHJlY2VudCBzdGFnaW5nIGJyYW5jaCAoOWRjNjg3ZjE1NSkuDQo+Pj4N
Cj4+PiBJdCBmYWlscyBhZnRlciB0aGUgZmlyc3QgcmVzdW1lIChub3QgYWx3YXlzLCBidXQg
ZnJlcXVlbnQgZW5vdWdoIHRvDQo+Pj4gZGVidWcgaXQpLiBBdCBsZWFzdCBvbmUgZ3Vlc3Qg
bmVlZHMgdG8gYmUgcnVubmluZyAtIHdpdGgganVzdCAoUFYpIGRvbTANCj4+PiB0aGUgY3Jh
c2ggZG9lc24ndCBoYXBwZW4gKGF0IGxlYXN0IGZvciB0aGUgfjggdGltZXMgaW4gYSByb3cg
SSB0cmllZCkuDQo+Pj4gSWYgdGhlIGZpcnN0IHJlc3VtZSB3b3JrcywgdGhlIHNlY29uZCAo
YWxtb3N0PykgYWx3YXlzIHdpbGwgZmFpbCBidXQNCj4+PiB3aXRoIGEgZGlmZmVyZW50IHN5
bXB0b21zIC0gZG9tMCBrZXJuZWwgbG9ja3VwcyAoYXQgbGVhc3Qgc29tZSBvZiBpdHMNCj4+
PiB2Y3B1cykuIEkgaGF2ZW4ndCBkZWJ1Z2dlZCB0aGlzIG9uZSB5ZXQgYXQgYWxsLg0KPj4+
DQo+Pj4gQW55IGhlbHAgd2lsbCBiZSBhcHByZWNpYXRlZCwgSSBjYW4gYXBwbHkgc29tZSBk
ZWJ1ZyBwYXRjaGVzLCBjaGFuZ2UNCj4+PiBjb25maWd1cmF0aW9uIGV0Yy4NCj4+DQo+PiBU
aGlzIHN0aWxsIGhhcHBlbnMgb24gNC4xNC4zLiBNYXliZSBpdCBpcyByZWxhdGVkIHRvIGZy
ZWVpbmcgcGVyY3B1DQo+PiBhcmVhcywgYXMgaXQgY2F1c2VkIG90aGVyIGlzc3VlcyB3aXRo
IHN1c3BlbmQgdG9vPyBKdXN0IGEgdGhvdWdodC4uLg0KPiANCj4gSSBoYXZlIHJlcHJvZHVj
ZWQgdGhpcyBvbiBjdXJyZW50IHN0YWdpbmcoKikuIEFuZCBJIGNhbiByZXByb2R1Y2UgaXQN
Cj4gcmVsaWFibHkuIEFuZCBhbHNvLCBJIGdvdCAoSSBiZWxpZXZlKSBjbG9zZWx5IHJlbGF0
ZWQgY3Jhc2ggd2l0aCBjcmVkaXQxDQo+IHNjaGVkdWxlci4NCj4gDQo+ICgqKSBJdCBpc24n
dCBwbGFpbiBzdGFnaW5nLCBpdCdzIG9uZSB3aXRoIG15IHhoY2kgY29uc29sZSBwYXRjaGVz
IG9uDQo+IHRvcCwgaW5jbHVkaW5nIGF0dGVtcHQgdG8gbWFrZSBpdCBzdXJ2aXZlIFMzLiBJ
IGJlbGlldmUgdGhlIG9ubHkNCj4gcmVsZXZhbnQgcGFydCB0aGVyZSBpcyBzdGlja2luZyBz
ZXRfdGltZXIoKSBpbnRvIGNvbnNvbGUgcmVzdW1lIHBhdGggKG9yDQo+IGp1c3QgaGF2aW5n
IGEgdGltZXIgd2l0aCByYXRoZXIgc2hvcnQgZGVsYXkgcmVnaXN0ZXJlZCkuIFRoZSBhY3R1
YWwgdHJlZQ0KPiBhdCBodHRwczovL2dpdGh1Yi5jb20vbWFybWFyZWsveGVuL3RyZWUvbWFz
dGVyLXh1ZTItZGVidWcsIGluY2x1ZGluZw0KPiBxdWl0ZSBhIGxvdCBvZiBkZWJ1ZyBwcmlu
dHMgYW5kIGRlYnVnIGhhY2tzLg0KPiANCj4gU3BlY2lmaWMgY3Jhc2ggd2l0aCBjcmVkaXQy
Og0KPiANCj4gICAgICAoWEVOKSBBc3NlcnRpb24gJ3NjaGVkX3VuaXRfbWFzdGVyKGN1cnJ1
bml0KSA9PSBjcHUnIGZhaWxlZCBhdCBjb21tb24vc2NoZWQvY3JlZGl0LmM6OTI4DQo+ICAg
ICAgKFhFTikgLS0tLVsgWGVuLTQuMTctdW5zdGFibGUgIHg4Nl82NCAgZGVidWc9eSAgVGFp
bnRlZDogICBDICAgIF0tLS0tDQo+ICAgICAgKFhFTikgQ1BVOiAgICAwDQo+ICAgICAgKFhF
TikgUklQOiAgICBlMDA4Ols8ZmZmZjgyZDA0MDI0MzRiZj5dIGNyZWRpdC5jI2NzY2hlZF90
aWNrKzB4MmQ0LzB4NDk0DQo+ICAgICAgKFhFTikgUkZMQUdTOiAwMDAwMDAwMDAwMDEwMjAy
ICAgQ09OVEVYVDogaHlwZXJ2aXNvciAoZDB2NCkNCj4gICAgICAoWEVOKSByYXg6IGZmZmY4
MmQwNDA1YzQyOTggICByYng6IDAwMDAwMDAwMDAwMDAwMDIgICByY3g6IDAwMDAwMDAwMDAw
MDAwMDINCj4gICAgICAoWEVOKSByZHg6IGZmZmY4MzAyNTE3ZjY0ZDAgICByc2k6IGZmZmY4
MzAyNTE1YzBmYzAgICByZGk6IDAwMDAwMDAwMDAwMDAwMDINCj4gICAgICAoWEVOKSByYnA6
IGZmZmY4MzAyNTYyMjdlMzggICByc3A6IGZmZmY4MzAyNTYyMjdkZTAgICByODogIDAwMDAw
MDAwMDAwMDAwMDQNCj4gICAgICAoWEVOKSByOTogIGZmZmY4MzAyNTE3YWM4MjAgICByMTA6
IGZmZmY4MzAyNTE3NDUwNjggICByMTE6IDAwMDAwMDg4Y2I3MzQ4ODcNCj4gICAgICAoWEVO
KSByMTI6IGZmZmY4MzAyNTE3NGRlNTAgICByMTM6IGZmZmY4MzAyNTE1YzBmYTAgICByMTQ6
IGZmZmY4MzAyNTE3NGRmNDANCj4gICAgICAoWEVOKSByMTU6IGZmZmY4MzAyNTE1YzBjYzAg
ICBjcjA6IDAwMDAwMDAwODAwNTAwMzMgICBjcjQ6IDAwMDAwMDAwMDAzNzI2NjANCj4gICAg
ICAoWEVOKSBjcjM6IDAwMDAwMDAxYmFjYmQwMDAgICBjcjI6IDAwMDA3N2U1ZWMwMmEzMTgN
Cj4gICAgICAoWEVOKSBmc2I6IDAwMDA3N2U1ZmU1MzM3MDAgICBnc2I6IGZmZmY4ODgyNTU3
MDAwMDAgICBnc3M6IDAwMDAwMDAwMDAwMDAwMDANCj4gICAgICAoWEVOKSBkczogMDAwMCAg
IGVzOiAwMDAwICAgZnM6IDAwMDAgICBnczogMDAwMCAgIHNzOiAwMDAwICAgY3M6IGUwMDgN
Cj4gICAgICAoWEVOKSBYZW4gY29kZSBhcm91bmQgPGZmZmY4MmQwNDAyNDM0YmY+IChjcmVk
aXQuYyNjc2NoZWRfdGljaysweDJkNC8weDQ5NCk6DQo+ICAgICAgKFhFTikgIDAxIDAwIDAw
IGU5IDJhIDAxIDAwIDAwIDwwZj4gMGIgMGYgMGIgMGYgMGIgNDggOGIgNDEgMjAgMGYgYjcg
MDAgODkgNDUgY2MNCj4gICAgICAoWEVOKSBYZW4gc3RhY2sgdHJhY2UgZnJvbSByc3A9ZmZm
ZjgzMDI1NjIyN2RlMDoNCj4gICAgICAoWEVOKSAgICBmZmZmODMwMjU2MjI3ZmZmIDAwMDAw
MDAwMDAwMDAwMDAgMDAwMDAwMDI1NjIyN2UxMCBmZmZmODJkMDQwMzViZTkwDQo+ICAgICAg
KFhFTikgICAgZmZmZjgzMDI1NjIyN2VmOCBmZmZmODMwMjUxNzQ1MDAwIGZmZmY4MmQwNDA1
YzMyODAgZmZmZjgyZDA0MDI0MzFlYg0KPiAgICAgIChYRU4pICAgIDAwMDAwMDAwMDAwMDAw
MDIgMDAwMDAwODhjOWJhOTUzNCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4MzAyNTYyMjdlNjAN
Cj4gICAgICAoWEVOKSAgICBmZmZmODJkMDQwMjJlZTUzIGZmZmY4MmQwNDA1YzMyODAgZmZm
ZjgzMDI5NjNlMTMyMCBmZmZmODMwMjUxNWMwZmMwDQo+ICAgICAgKFhFTikgICAgZmZmZjgz
MDI1NjIyN2VhMCBmZmZmODJkMDQwMjJmNzNmIGZmZmY4MzAyNTYyMjdlODAgZmZmZjgyZDA0
MDVjOWYwMA0KPiAgICAgIChYRU4pICAgIGZmZmZmZmZmZmZmZmZmZmYgZmZmZjgyZDA0MDVj
OWYwMCBmZmZmODMwMjU2MjI3ZmZmIDAwMDAwMDAwMDAwMDAwMDANCj4gICAgICAoWEVOKSAg
ICBmZmZmODMwMjU2MjI3ZWQ4IGZmZmY4MmQwNDAyMmQyNmMgZmZmZjgzMDI1MTc0NTAwMCAw
MDAwMDAwMDAwMDAwMDAwDQo+ICAgICAgKFhFTikgICAgMDAwMDAwMDAwMDAwMDAwMCBmZmZm
ODMwMjU2MjI3ZmZmIDAwMDAwMDAwMDAwMDAwMDAgZmZmZjgzMDI1NjIyN2VlOA0KPiAgICAg
IChYRU4pICAgIGZmZmY4MmQwNDAyMmQyZmYgMDAwMDdjZmRhOWRkODBlNyBmZmZmODJkMDQw
MmYwM2M2IGZmZmY4ODgxMGMwMDVjMDANCj4gICAgICAoWEVOKSAgICAwMDAwMDAwMDAwMDAw
MDMxIDAwMDAwMDAwMDAwMDAxMDAgMDAwMDAwMDBmZmZmZmUwMCAwMDAwMDAwMDAwMDAwMDMx
DQo+ICAgICAgKFhFTikgICAgMDAwMDAwMDAwMDAwMDAzMSBmZmZmZmZmZjgyZDQ1ZDI4IDAw
MDAwMDAwMDAwMDBlMmUgMDAwMDAwMDAwMDAwMDAwMA0KPiAgICAgIChYRU4pICAgIDAwMDAw
MDAwMDAwMDAwMzIgMDAwMDAwMDBmZmZmZWYzMSAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4ODgx
MjI0NGE3MDANCj4gICAgICAoWEVOKSAgICAwMDAwMDAwMDAwMDAwMDA1IGZmZmY4ODgxMjI0
NGE3ODAgMDAwMDAwZmEwMDAwMDAwMCBmZmZmZmZmZjgxOGRiNTVmDQo+ICAgICAgKFhFTikg
ICAgMDAwMDAwMDAwMDAwZTAzMyAwMDAwMDAwMDAwMDAwMjQ2IGZmZmZjOTAwNDA5YjdjNTAg
MDAwMDAwMDAwMDAwZTAyYg0KPiAgICAgIChYRU4pICAgIDAwMDAwMDAwMDAwMDAwMDAgMDAw
MDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDANCj4gICAg
ICAoWEVOKSAgICAwMDAwZTAxMDAwMDAwMDAwIGZmZmY4MzAyNTE3NDUwMDAgMDAwMDAwMDAw
MDAwMDAwMCAwMDAwMDAwMDAwMzcyNjYwDQo+ICAgICAgKFhFTikgICAgMDAwMDAwMDAwMDAw
MDAwMCA4MDAwMDAwMjU2MjBiMDAyIDAwMGUwMzAzMDAwMDAwMDEgMDAwMDAwMDAwMDAwMDAw
MA0KPiAgICAgIChYRU4pIFhlbiBjYWxsIHRyYWNlOg0KPiAgICAgIChYRU4pICAgIFs8ZmZm
ZjgyZDA0MDI0MzRiZj5dIFIgY3JlZGl0LmMjY3NjaGVkX3RpY2srMHgyZDQvMHg0OTQNCj4g
ICAgICAoWEVOKSAgICBbPGZmZmY4MmQwNDAyMmVlNTM+XSBGIHRpbWVyLmMjZXhlY3V0ZV90
aW1lcisweDQ1LzB4NWMNCj4gICAgICAoWEVOKSAgICBbPGZmZmY4MmQwNDAyMmY3M2Y+XSBG
IHRpbWVyLmMjdGltZXJfc29mdGlycV9hY3Rpb24rMHg3MS8weDI3OA0KPiAgICAgIChYRU4p
ICAgIFs8ZmZmZjgyZDA0MDIyZDI2Yz5dIEYgc29mdGlycS5jI19fZG9fc29mdGlycSsweDk0
LzB4YmUNCj4gICAgICAoWEVOKSAgICBbPGZmZmY4MmQwNDAyMmQyZmY+XSBGIGRvX3NvZnRp
cnErMHgxMy8weDE1DQo+ICAgICAgKFhFTikgICAgWzxmZmZmODJkMDQwMmYwM2M2Pl0gRiB4
ODZfNjQvZW50cnkuUyNwcm9jZXNzX3NvZnRpcnFzKzB4Ni8weDIwDQo+ICAgICAgKFhFTikN
Cj4gICAgICAoWEVOKQ0KPiAgICAgIChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioNCj4gICAgICAoWEVOKSBQYW5pYyBvbiBDUFUgMDoNCj4gICAgICAo
WEVOKSBBc3NlcnRpb24gJ3NjaGVkX3VuaXRfbWFzdGVyKGN1cnJ1bml0KSA9PSBjcHUnIGZh
aWxlZCBhdCBjb21tb24vc2NoZWQvY3JlZGl0LmM6OTI4DQo+ICAgICAgKFhFTikgKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiANCj4gU3BlY2lmaWMgY3Jh
c2ggd2l0aCBjcmVkaXQxOg0KPiANCj4gICAgICAoWEVOKSBBU1NFUlQgRkFJTCEgY3B1IDQs
IHNjaGVkX3VuaXRfbWFzdGVyIDAsIGN1cnJ1bml0IGlkIDQNCj4gICAgICAoWEVOKSBBc3Nl
cnRpb24gJ3NjaGVkX3VuaXRfbWFzdGVyKGN1cnJ1bml0KSA9PSBjcHUnIGZhaWxlZCBhdCBj
b21tb24vc2NoZWQvY3JlZGl0LmM6OTM2DQo+ICAgICAgKFhFTikgLS0tLVsgWGVuLTQuMTct
dW5zdGFibGUgIHg4Nl82NCAgZGVidWc9eSAgVGFpbnRlZDogICBDICAgIF0tLS0tDQo+ICAg
ICAgKFhFTikgQ1BVOiAgICAwDQo+ICAgICAgKFhFTikgUklQOiAgICBlMDA4Ols8ZmZmZjgy
ZDA0MDI0MzU1Yz5dIGNyZWRpdC5jI2NzY2hlZF90aWNrKzB4MmY3LzB4NGI3DQo+ICAgICAg
KFhFTikgUkZMQUdTOiAwMDAwMDAwMDAwMDEwMjAyICAgQ09OVEVYVDogaHlwZXJ2aXNvciAo
ZDB2NCkNCj4gICAgICAoWEVOKSByYXg6IGZmZmY4MzAyNTE3ZjY0ZDAgICByYng6IDAwMDAw
MDAwMDAwMDAwMDQgICByY3g6IDAwMDAwMDAwMDAwMDAwMDANCj4gICAgICAoWEVOKSByZHg6
IGZmZmY4MzAyNTYyMjdmZmYgICByc2k6IDAwMDAwMDAwMDAwMDAwMGEgICByZGk6IGZmZmY4
MmQwNDA0Nzg2YjgNCj4gICAgICAoWEVOKSByYnA6IGZmZmY4MzAyNTYyMjdlMzggICByc3A6
IGZmZmY4MzAyNTYyMjdkZTAgICByODogIDAwMDAwMDAwMDAwMDAwODcNCj4gICAgICAoWEVO
KSByOTogIDAwMDAwMDAwMDAwMDAwMDEgICByMTA6IDAwMDAwMDAwMDAwMDAwMDEgICByMTE6
IDAwMDAwMDAwMDAwMDAwMDQNCj4gICAgICAoWEVOKSByMTI6IGZmZmY4MzAyNTE3NGRlNTAg
ICByMTM6IGZmZmY4MzAyNTE3NzgxMDAgICByMTQ6IGZmZmY4MzAyNTE3NGRmNDANCj4gICAg
ICAoWEVOKSByMTU6IGZmZmY4MzAyNTE1YzBjYzAgICBjcjA6IDAwMDAwMDAwODAwNTAwMzMg
ICBjcjQ6IDAwMDAwMDAwMDAzNzI2NjANCj4gICAgICAoWEVOKSBjcjM6IDAwMDAwMDAyNGFj
MTAwMDAgICBjcjI6IDAwMDAwMDAwMDAwMDAwMDANCj4gICAgICAoWEVOKSBmc2I6IDAwMDAw
MDAwMDAwMDAwMDAgICBnc2I6IGZmZmY4ODgyNTU3MDAwMDAgICBnc3M6IDAwMDAwMDAwMDAw
MDAwMDANCj4gICAgICAoWEVOKSBkczogMDAyYiAgIGVzOiAwMDJiICAgZnM6IDAwMDAgICBn
czogMDAwMCAgIHNzOiAwMDAwICAgY3M6IGUwMDgNCj4gICAgICAoWEVOKSBYZW4gY29kZSBh
cm91bmQgPGZmZmY4MmQwNDAyNDM1NWM+IChjcmVkaXQuYyNjc2NoZWRfdGljaysweDJmNy8w
eDRiNyk6DQo+ICAgICAgKFhFTikgIDU4IDcwIDBmIDg0IGJmIGZlIGZmIGZmIDwwZj4gMGIg
MGYgMGIgMGYgMGIgNDggOGIgNDAgMjAgMGYgYjcgMDAgODkgNDUgY2MNCj4gICAgICAoWEVO
KSBYZW4gc3RhY2sgdHJhY2UgZnJvbSByc3A9ZmZmZjgzMDI1NjIyN2RlMDoNCj4gICAgICAo
WEVOKSAgICAwMDAwMDAwMDAwNDY2OTJhIGZmZmY4MzAyNTE1YzBiYzAgMDAwMDAwMDQ0MDI1
YWUyNyAwMDIxOTFjMDUxN2Y2NGU4DQo+ICAgICAgKFhFTikgICAgZmZmZjgyZDA0MDVjMzNl
MCBmZmZmODMwMjUxN2M4NTkwIGZmZmY4MmQwNDA1YzMyODAgZmZmZjgyZDA0MDI0MzI2NQ0K
PiAgICAgIChYRU4pICAgIDAwMDAwMDAwMDAwMDAwMDQgMDAwMDAwMjZkMjdhODBhNyAwMDAw
MDAwMDAwMDAwMDAwIGZmZmY4MzAyNTYyMjdlNjANCj4gICAgICAoWEVOKSAgICBmZmZmODJk
MDQwMjJlZTk0IGZmZmY4MmQwNDA1YzMyODAgZmZmZjgzMDI1MTdlN2RmMCBmZmZmODMwMjUx
Nzc4MTIwDQo+ICAgICAgKFhFTikgICAgZmZmZjgzMDI1NjIyN2VhMCBmZmZmODJkMDQwMjJm
NzdhIGZmZmY4MzAyNTYyMjdlODAgZmZmZjgyZDA0MDVjOWYwMA0KPiAgICAgIChYRU4pICAg
IGZmZmZmZmZmZmZmZmZmZmYgZmZmZjgyZDA0MDVjOWYwMCBmZmZmODMwMjU2MjI3ZmZmIDAw
MDAwMDAwMDAwMDAwMDANCj4gICAgICAoWEVOKSAgICBmZmZmODMwMjU2MjI3ZWQ4IGZmZmY4
MmQwNDAyMmQyNmMgZmZmZjgzMDI1MTc0NTAwMCAwMDAwMDAwMDAwMDAwMDAwDQo+ICAgICAg
KFhFTikgICAgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODMwMjU2MjI3ZmZmIDAwMDAwMDAwMDAw
MDAwMDAgZmZmZjgzMDI1NjIyN2VlOA0KPiAgICAgIChYRU4pICAgIGZmZmY4MmQwNDAyMmQy
ZmYgMDAwMDdjZmRhOWRkODBlNyBmZmZmODJkMDQwMmYwNDk2IDAwMDAwMDAwMDAwMDAwMDEN
Cj4gICAgICAoWEVOKSAgICBmZmZmYzkwMDQwMTI3ZGRjIGZmZmZjOTAwNDAxMjdkZDAgZmZm
ZmM5MDA0MDEyN2RkNCBmZmZmYzkwMDQwMTI3ZGQ4DQo+ICAgICAgKFhFTikgICAgMDAwMDAw
MDA3NTZlNjU0NyAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgZmZmZmM5MDA0
MDEyN2RkYw0KPiAgICAgIChYRU4pICAgIGZmZmZjOTAwNDAxMjdkZDAgMDAwMDAwMDAwMDAw
MDAwZCAwMDAwMDAwMDZjNjU3NDZlIDAwMDAwMDAwNDk2NTZlNjkNCj4gICAgICAoWEVOKSAg
ICBmZmZmYzkwMDQwMTI3ZGQ0IGZmZmZjOTAwNDAxMjdkZDggMDAwMDAwZmEwMDAwMDAwMCBm
ZmZmZmZmZjgxMDFjNWE0DQo+ICAgICAgKFhFTikgICAgMDAwMDAwMDAwMDAwZTAzMyAwMDAw
MDAwMDAwMDAwMjkzIGZmZmZjOTAwNDAxMjdkYjggMDAwMDAwMDAwMDAwZTAyYg0KPiAgICAg
IChYRU4pICAgIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAw
MDAwMDAwIDAwMDAwMDAwMDAwMDAwMDANCj4gICAgICAoWEVOKSAgICAwMDAwZTAxMDAwMDAw
MDAwIGZmZmY4MzAyNTE3NDUwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMzcyNjYw
DQo+ICAgICAgKFhFTikgICAgMDAwMDAwMDAwMDAwMDAwMCA4MDAwMDAwMjU2MjBiMDAyIDAw
MGUwMzAzMDAwMDAwMDEgMDAwMDAwMDAwMDAwMDAwMA0KPiAgICAgIChYRU4pIFhlbiBjYWxs
IHRyYWNlOg0KPiAgICAgIChYRU4pICAgIFs8ZmZmZjgyZDA0MDI0MzU1Yz5dIFIgY3JlZGl0
LmMjY3NjaGVkX3RpY2srMHgyZjcvMHg0YjcNCj4gICAgICAoWEVOKSAgICBbPGZmZmY4MmQw
NDAyMmVlOTQ+XSBGIHRpbWVyLmMjZXhlY3V0ZV90aW1lcisweDQ1LzB4NWMNCj4gICAgICAo
WEVOKSAgICBbPGZmZmY4MmQwNDAyMmY3N2E+XSBGIHRpbWVyLmMjdGltZXJfc29mdGlycV9h
Y3Rpb24rMHg3MS8weDI3OA0KPiAgICAgIChYRU4pICAgIFs8ZmZmZjgyZDA0MDIyZDI2Yz5d
IEYgc29mdGlycS5jI19fZG9fc29mdGlycSsweDk0LzB4YmUNCj4gICAgICAoWEVOKSAgICBb
PGZmZmY4MmQwNDAyMmQyZmY+XSBGIGRvX3NvZnRpcnErMHgxMy8weDE1DQo+ICAgICAgKFhF
TikgICAgWzxmZmZmODJkMDQwMmYwNDk2Pl0gRiB4ODZfNjQvZW50cnkuUyNwcm9jZXNzX3Nv
ZnRpcnFzKzB4Ni8weDIwDQo+ICAgICAgKFhFTikNCj4gICAgICAoWEVOKSAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICAgICAgKFhFTikgUGFuaWMgb24g
Q1BVIDA6DQo+ICAgICAgKFhFTikgQXNzZXJ0aW9uICdzY2hlZF91bml0X21hc3RlcihjdXJy
dW5pdCkgPT0gY3B1JyBmYWlsZWQgYXQgY29tbW9uL3NjaGVkL2NyZWRpdC5jOjkzNg0KPiAg
ICAgIChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4g
DQo+IEknbSBub3Qgc3VyZSBhYm91dCB0aGUgbmF0dXJlIG9mIGNyZWRpdDIgY3Jhc2gsIGJ1
dCBmb3IgY3JlZGl0MSBpdCBsb29rcw0KPiBtdWNoIHNpbXBsZXIgdG8gdW5kZXJzdGFuZC4g
Q3JlZGl0MSByZWdpc3RlcnMgYSB0aW1lciBmb3IgZWFjaCBwY3B1IChpbg0KPiBpbml0X3Bk
YXRhKCkpLiBUaGVuLCB0aGUgdGltZXIgZnVuY3Rpb24NCj4gKGNzY2hlZF90aWNrKCktPmNz
Y2hlZF91bml0X2FjY3QoKSkgYXNzZXJ0cyBpZiBpdCB3YXMgcmVhbGx5IGNhbGxlZCBvbg0K
PiBjb3JyZWN0IENQVS4gVGhlIGlzc3VlIGlzIHRoYXQgc3VzcGVuZCBwYXRoIG1pZ3JhdGVz
IGFsbCB0aW1lcnMgdG8gQ1BVMA0KPiAodGltZXJjLjpjcHVfY2FsbGJhY2stPm1pZ3JhdGVf
dGltZXJzX2Zyb21fY3B1KCkpLCBhbmQgcmVzdG9yZSBwYXRoDQo+IGRvZXNuJ3QgbWlncmF0
ZSB0aGVtIGJhY2suIEFsbCB0aGlzIHdoaWxlIG5vdCB1bnJlZ2lzdGVyaW5nIHBDUFVzIGZy
b20NCj4gdGhlIHNjaGVkdWxlciAoc2NoZWRfZGVpbml0X3BkYXRhKCkgLyBpbml0X3BkYXRh
KCkgaXMgbm90IGNhbGxlZCAtDQo+IGNvbmZpcm1lZCB2aWEgZGVidWcgcHJpbnRzKS4NCj4g
DQo+IEknbSBub3QgZXhhY3RseSBzdXJlIGlmIHRoYXQncyB0aGUgc2FtZSBpc3N1ZSB0aGF0
IGFwcGxpZXMgdG8gY3JlZGl0MiwNCj4gYnV0IEkgdGhpbmsgaXQncyBsaWtlbHkuIEEgbmFp
dmUgZml4IGNvdWxkIGJlIHVucmVnaXN0ZXJpbmcgYWxsIHBDUFVzDQo+IGZyb20gdGhlIHNj
aGVkdWxlciAoYW4gcmVnaXN0ZXJpbmcgdGhlbSBiYWNrIG9uIHJlc3VtZSksIGJ1dCB0aGlz
IG1heQ0KPiBtZXNzIHVwIENQVSBwb29scywgYW5kIHByb2JhYmx5IGZldyBvdGhlciB0aGlu
Z3MuIEFueSBiZXR0ZXIgaWRlYXM/IEkNCj4gY2FuIHRlc3QgdmFyaW91cyBwYXRjaGVzLCBw
cm92aWRlIG1vcmUgZGVidWcgaW5mbyBldGMgLSBzaG91bGQgYmUgcmF0aGVyDQo+IHN0cmFp
Z2h0Zm9yd2FyZCBnaXZlbiBJIGhhdmUgcmVsaWFibGUgcmVwcm9kdWNlciBub3cuDQoNClVu
cmVnaXN0ZXJpbmcgdGhlIGNwdXMgZnJvbSB0aGUgc2NoZWR1bGVyIHdvdWxkIGJyZWFrIGNv
cmUgc2NoZWR1bGluZy4NCg0KSSdsbCBoYXZlIGEgbG9vayBpZiB0aGUgdGltZXJzIGNhbiBq
dXN0IGJlIGRlYWN0aXZhdGVkIGluIG9yZGVyIG5vdCB0bw0KaGF2ZSB0aGVtIG1pZ3JhdGVk
IHRvIGNwdTAuDQoNCg0KSnVlcmdlbg0K
--------------DxHHSU0w1p3aS0tRGTKBd4n0
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------DxHHSU0w1p3aS0tRGTKBd4n0--

--------------cfZ0Oegzc9LeHpQS3QBQPpJR--

--------------5sgBIO4Syxd8XFDKIh1tCMr2
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMDohQFAwAAAAAACgkQsN6d1ii/Ey8z
qAgAjDfgbqgxOMjRh11e1j65UPTeeQ3bcwYnv2BQp7NFeHo/1iH2Krpqnkzcj+ipNjPjPyjoAD61
OuCi7enDk9zeUrUvVzHxqdYzi1s6QzdJjwd/pjSgKhz3H/RyFuW9HSend0KI2jagw6yBMK5/+VFE
z7IQpa4kYZWdbe17zBOSoHu9yjbDk0xlCQFq2y31BhiPpoXk7E2Ie1pSoC2dqHeGqPiXCeZyfIEW
uRJ3Prq7w+6Vm/V8VaHcFYUmShJDsRACkJ3TB9Ij7eGb7jaiqjC72fYGwACGQ7yHC3erz0H4IFDu
jasFpqcytn8T0Cc1ZvsLE/tR0QufQdp0qX6YKhDBtQ==
=EVGe
-----END PGP SIGNATURE-----

--------------5sgBIO4Syxd8XFDKIh1tCMr2--


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 15:49:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 15:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391548.629428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9g5-0003MP-7Z; Mon, 22 Aug 2022 15:49:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391548.629428; Mon, 22 Aug 2022 15:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQ9g5-0003MI-3m; Mon, 22 Aug 2022 15:49:25 +0000
Received: by outflank-mailman (input) for mailman id 391548;
 Mon, 22 Aug 2022 15:49:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ9g4-0003M8-OK; Mon, 22 Aug 2022 15:49:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ9g4-0005cz-LZ; Mon, 22 Aug 2022 15:49:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ9g4-0007O1-AS; Mon, 22 Aug 2022 15:49:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQ9g4-0006aN-A0; Mon, 22 Aug 2022 15:49:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xNz+p0QvNXClQKjgA1V2ZuQMQovmNIws5UdkookQPMI=; b=1zN929tADWhjDigMPMN+amD60y
	o8/iSfx+6cIShdLT29RIpz4StmsCSSleIJOnBDE0nvf6KFlBQZLfDTTJWTNpGiBiTFEvuoRZ/VTSI
	upal/qLyFHY4T4KDXU1Y8efI4Rx0ChW/O+INEL0YSB06hxoIXjXZ9T/24x20rGAMjEIU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172708-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172708: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=696ee5ca9f4e2256e76056cf72a72001a9748f4c
X-Osstest-Versions-That:
    xen=58ce731faca28cb08f7c1b8c79b59fed47d0b2c2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 15:49:24 +0000

flight 172708 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172708/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172705
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  696ee5ca9f4e2256e76056cf72a72001a9748f4c
baseline version:
 xen                  58ce731faca28cb08f7c1b8c79b59fed47d0b2c2

Last test of basis   172705  2022-08-22 09:01:49 Z    0 days
Testing same since   172708  2022-08-22 12:01:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   58ce731fac..696ee5ca9f  696ee5ca9f4e2256e76056cf72a72001a9748f4c -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 16:15:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 16:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391557.629439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQA50-0007T3-Bz; Mon, 22 Aug 2022 16:15:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391557.629439; Mon, 22 Aug 2022 16:15:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQA50-0007Sw-7i; Mon, 22 Aug 2022 16:15:10 +0000
Received: by outflank-mailman (input) for mailman id 391557;
 Mon, 22 Aug 2022 16:15:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQA4z-0007Sm-0w; Mon, 22 Aug 2022 16:15:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQA4y-0006cD-Ti; Mon, 22 Aug 2022 16:15:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQA4y-0000bZ-IV; Mon, 22 Aug 2022 16:15:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQA4y-0005a9-I1; Mon, 22 Aug 2022 16:15:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ij6Fjw6p2ACBL8icgJCAy7XDAzZvJ5mS6CqoLRKZ5MQ=; b=irthlU+9rJOM8aTzJXAXJuSEeS
	pxszAkqIeKflmifWSPwTAm6ByfhYtkEfIt7wVRwe9dmLYQdet0zVWMU/bBwryXRtS9CCI5nZiCR+v
	9f0LpeKMVWxSRAiPQ8hQ2O2h6R4E1Bo4z5F7ZSKDC52nZJoiPSeBSmkI1kpLWoDS4XnY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172700-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172700: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64:xen-build:fail:regression
    libvirt:build-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=f1929d4289410ca2f36e560a6bd7aa7331236ac7
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 16:15:08 +0000

flight 172700 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172700/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64                   6 xen-build                fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              f1929d4289410ca2f36e560a6bd7aa7331236ac7
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  773 days
Failing since        151818  2020-07-11 04:18:52 Z  772 days  754 attempts
Testing same since   172638  2022-08-19 04:18:57 Z    3 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  fail    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120566 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 16:26:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 16:26:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391565.629450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQAG3-0000Zf-C2; Mon, 22 Aug 2022 16:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391565.629450; Mon, 22 Aug 2022 16:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQAG3-0000ZY-9Q; Mon, 22 Aug 2022 16:26:35 +0000
Received: by outflank-mailman (input) for mailman id 391565;
 Mon, 22 Aug 2022 16:26:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQAG1-0000ZO-Vr; Mon, 22 Aug 2022 16:26:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQAG1-0006n6-Rb; Mon, 22 Aug 2022 16:26:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQAG1-00014C-Cv; Mon, 22 Aug 2022 16:26:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQAG1-0004P7-CS; Mon, 22 Aug 2022 16:26:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4CO4m9Ls7t2rMMa0OAEVimvLv2+voQf3UlwMFohMEXU=; b=QRHiG6M48b02zxWwu+kDT9Chyf
	AH7zLW71BwNw26/UzRFQg7UdJDzlmj2lRV4a//BeM3SEW9fPgsJULTauFIdl8L0TZ849PbpmsaDSX
	Xhod0Ti340GOSIBQHLA0nlkahZt2ZpTW3xlLyWkngBhtUt5K/fj8QQBI06A0ZvsPk5fQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172699-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172699: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1c23f9e627a7b412978b4e852793c5e3c3efc555
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 16:26:33 +0000

flight 172699 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172699/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                1c23f9e627a7b412978b4e852793c5e3c3efc555
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   18 days
Failing since        172152  2022-08-05 04:01:26 Z   17 days   41 attempts
Testing same since   172699  2022-08-22 02:39:41 Z    0 days    1 attempts

------------------------------------------------------------
1500 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 154883 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 17:53:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 17:53:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391577.629469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQBbX-0001OR-Pv; Mon, 22 Aug 2022 17:52:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391577.629469; Mon, 22 Aug 2022 17:52:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQBbX-0001OK-NH; Mon, 22 Aug 2022 17:52:51 +0000
Received: by outflank-mailman (input) for mailman id 391577;
 Mon, 22 Aug 2022 17:52:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQBbW-0001OA-Iz; Mon, 22 Aug 2022 17:52:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQBbW-0008Cs-GM; Mon, 22 Aug 2022 17:52:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQBbW-0006Vu-3L; Mon, 22 Aug 2022 17:52:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQBbW-0002Gk-2q; Mon, 22 Aug 2022 17:52:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=F8iB2uN4UbAON7JCvXsD2c6P049kUfX+ude2vj4Dpz0=; b=HCMWnM8QwG0a1pa9aDVUV1aFvk
	4ko9Yr9GpSFWNGSeK97PIKTCFi9ElcKjxEkTxPGUUcTdytLBwoPbq9i7y0/0zo819pD0gL/PsFB/j
	5CJs0kSwfBZ3fKsjn0vNr+3J4StuQhJORFsBG60dhWpj1uYISM8Gamy2IUL2BCOX7Z8M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172702-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172702: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ba58ccbef60338d0b7334c714589a6423a3e7f91
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 17:52:50 +0000

flight 172702 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172702/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172693 pass in 172702
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 172686
 test-amd64-i386-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 172693

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                ba58ccbef60338d0b7334c714589a6423a3e7f91
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   18 days
Failing since        172148  2022-08-04 21:39:38 Z   17 days   42 attempts
Testing same since   172658  2022-08-20 03:51:49 Z    2 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2251 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 18:18:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 18:18:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391585.629481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQC07-00042q-M7; Mon, 22 Aug 2022 18:18:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391585.629481; Mon, 22 Aug 2022 18:18:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQC07-00042j-J8; Mon, 22 Aug 2022 18:18:15 +0000
Received: by outflank-mailman (input) for mailman id 391585;
 Mon, 22 Aug 2022 18:18:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQC06-00042Z-BO; Mon, 22 Aug 2022 18:18:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQC06-0000HO-8W; Mon, 22 Aug 2022 18:18:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQC06-0008F6-0q; Mon, 22 Aug 2022 18:18:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQC06-0007Ra-0O; Mon, 22 Aug 2022 18:18:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TbDTXDtIDGqJKQGuADHrVJLCkG9fugRAL27Ixmz2//8=; b=6tlrRAid9rudLL5r65m+7wxKtm
	kmne/drPxTq8h6EfgxBJNvXnKVjmGjOa7hMcPRUQBL8688gWBvusAn7bKR1kbmA0pOU+r5hwKWYl0
	QeE3VLvqRX3Vz+vT8ygW386Aryn+XzLjz6oPzUOt1ihs/dQMcWH3GBl1O7RfQeA8Z8ww=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172710-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172710: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=d5fd86f256b9ab5b4e3aff70d3c177c18faea892
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 18:18:14 +0000

flight 172710 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172710/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 d5fd86f256b9ab5b4e3aff70d3c177c18faea892
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   18 days
Failing since        172151  2022-08-05 02:40:28 Z   17 days  147 attempts
Testing same since   172707  2022-08-22 10:43:39 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 817 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 21:31:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 21:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391594.629495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQF0n-0006xC-Ja; Mon, 22 Aug 2022 21:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391594.629495; Mon, 22 Aug 2022 21:31:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQF0n-0006x5-Gj; Mon, 22 Aug 2022 21:31:09 +0000
Received: by outflank-mailman (input) for mailman id 391594;
 Mon, 22 Aug 2022 21:31:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+uMy=Y2=citrix.com=prvs=22646fa71=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQF0l-0006wz-JC
 for xen-devel@lists.xenproject.org; Mon, 22 Aug 2022 21:31:07 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7f21584-2261-11ed-9250-1f966e50362f;
 Mon, 22 Aug 2022 23:31:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7f21584-2261-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661203862;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=NZAu9e4sXDTW33ZmtnfP+zdIlwABp1HNdu8TudbfLWY=;
  b=ReJ5n+xxyrSuhLJ+YGJGzhU/GxauHxYfktWkMG7IFJEZmwRxOckJ91qS
   GcJl9q15asf6+SHnMHsrcN3VSBrCCMpMM7gCShG8br00F/oy5Q+TLXor4
   nE9ccdazMc71xmsNe7TkniXj9caePdjhyASNOTQERQ7Zls5+TDGvMTXC/
   o=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 77881871
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:UCDg76zAe59BSPMdCod6t+dbxirEfRIJ4+MujC+fZmUNrF6WrkUAn
 WYZUDjXM/reamL0ctolYIXn9kgPscKGmoQwQVQ5pSAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnj/0bv676yEUOZigHtLUEPTDNj16WThqQSIgjQMLs+Mii8tjjMPR7zml4
 LsemOWCfg7+s9JIGjhMsfjb+Ek15K6aVA4w5TTSW9ga5DcyqFFNZH4vDfnZB2f1RIBSAtm7S
 47rpF1u1jqEl/uFIorNfofTKiXmcJaLVeS9oiM+t5yZqgpDvkQPPpMTb5LwX6v1ZwKhxLidw
 P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN0xHWo6EYwk6N1PXzBD5
 /M1NDxTZRqc0rfeLLKTEoGAh+wmJcjveogepmth3XfSCvNOrZLrGvuQo4UChXFp254ITa22i
 8kxMFKDaDzpZRFVN0hRI5U5hOqy3VH0ciFCqULTrq0yi4TW5FMugOi0YIWMEjCMbZtIpAWXq
 nqWxlbeGBhHbteZwxOhzn3504cjmgukAdlPRdVU7MVCn1m71mEVThoMWjOTg9O0l0q/UNJ3M
 FEP92wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9FmO2+puVkSGJAXZEIH0NSDMIEwAP/Iy2yG0stS4jXuqPAYbs0IOtSW6sm
 mDUxMQtr+5N1JBWjs1X6XiC2mvx/caRE2bZ8y2NBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/5nzvp5pyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN51oItcQOYCPyPPMfj2eN5yMCnMDd+SnNDKiIPrKinLArHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6RMJruMow+lWLeb7pMjtcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5Rr9nsf/d/V6Km
 zudXuPToyhivCTFSnG/2eYuwZoidBDX2bieRxRrS9O+
IronPort-HdrOrdr: A9a23:MGo88asDKtYupDtNE3QlHxkA7skDetV00zEX/kB9WHVpmszxra
 6TdZMgpHjJYVcqKRUdcL+7WJVoLUmxyXcX2/h1AV7BZniEhILAFugLhuGO/9SJIVyZygc378
 ZdmsZFZ+EYdWIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.93,255,1654574400"; 
   d="scan'208";a="77881871"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jane Malalane
	<jane.malalane@citrix.com>
Subject: [PATCH] x86/domain: Fix struct domain memory corruption when building PV guests
Date: Mon, 22 Aug 2022 22:30:36 +0100
Message-ID: <20220822213036.21630-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

arch_domain_create() can't blindly write into d->arch.hvm union.  Move the
logic into hvm_domain_initialise(), which involves passing config down.

Fixes: 2ce11ce249a3 ("x86/HVM: allow per-domain usage of hardware virtualized APIC")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jane Malalane <jane.malalane@citrix.com>

This does not fix XenServer's wall of red from testing, but I have at least
figured out what's going on.  There's a piece of plain RAM in place of a
working LAPIC MMIO mapping (accelerated or otherwise), which causes HVMLoader
to spin in a tight loop waiting for CPU 1 to come up after failing to send an
INIT-SIPI-SIPI.

Sadly the fix is not as straightforward as I'd hoped, and needs more testing.
---
 xen/arch/x86/domain.c              | 8 +-------
 xen/arch/x86/hvm/hvm.c             | 9 ++++++++-
 xen/arch/x86/include/asm/hvm/hvm.h | 3 ++-
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 15e7e772012e..41e1e3f27272 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -853,7 +853,7 @@ int arch_domain_create(struct domain *d,
 
     if ( is_hvm_domain(d) )
     {
-        if ( (rc = hvm_domain_initialise(d)) != 0 )
+        if ( (rc = hvm_domain_initialise(d, config)) != 0 )
             goto fail;
     }
     else if ( is_pv_domain(d) )
@@ -885,12 +885,6 @@ int arch_domain_create(struct domain *d,
 
     d->arch.msr_relaxed = config->arch.misc_flags & XEN_X86_MSR_RELAXED;
 
-    d->arch.hvm.assisted_xapic =
-        config->arch.misc_flags & XEN_X86_ASSISTED_XAPIC;
-
-    d->arch.hvm.assisted_x2apic =
-        config->arch.misc_flags & XEN_X86_ASSISTED_X2APIC;
-
     spec_ctrl_init_domain(d);
 
     return 0;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 6b5d585ed4cc..ae8267852013 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -576,7 +576,8 @@ static int cf_check hvm_print_line(
     return X86EMUL_OKAY;
 }
 
-int hvm_domain_initialise(struct domain *d)
+int hvm_domain_initialise(struct domain *d,
+                          struct xen_domctl_createdomain *config)
 {
     unsigned int nr_gsis;
     int rc;
@@ -597,6 +598,12 @@ int hvm_domain_initialise(struct domain *d)
     INIT_LIST_HEAD(&d->arch.hvm.mmcfg_regions);
     INIT_LIST_HEAD(&d->arch.hvm.msix_tables);
 
+    d->arch.hvm.assisted_xapic =
+        config->arch.misc_flags & XEN_X86_ASSISTED_XAPIC;
+
+    d->arch.hvm.assisted_x2apic =
+        config->arch.misc_flags & XEN_X86_ASSISTED_X2APIC;
+
     rc = create_perdomain_mapping(d, PERDOMAIN_VIRT_START, 0, NULL, NULL);
     if ( rc )
         goto fail;
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 03096f31effa..55a53d9cac8f 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -259,7 +259,8 @@ extern s8 hvm_port80_allowed;
 extern const struct hvm_function_table *start_svm(void);
 extern const struct hvm_function_table *start_vmx(void);
 
-int hvm_domain_initialise(struct domain *d);
+int hvm_domain_initialise(struct domain *d,
+                          struct xen_domctl_createdomain *config);
 void hvm_domain_relinquish_resources(struct domain *d);
 void hvm_domain_destroy(struct domain *d);
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 22 22:03:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 22:03:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391602.629505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQFVU-00023k-7a; Mon, 22 Aug 2022 22:02:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391602.629505; Mon, 22 Aug 2022 22:02:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQFVU-00023d-4p; Mon, 22 Aug 2022 22:02:52 +0000
Received: by outflank-mailman (input) for mailman id 391602;
 Mon, 22 Aug 2022 22:02:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQFVT-00023T-2r; Mon, 22 Aug 2022 22:02:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQFVT-00043Q-19; Mon, 22 Aug 2022 22:02:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQFVS-00049l-MA; Mon, 22 Aug 2022 22:02:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQFVS-0004C0-Lm; Mon, 22 Aug 2022 22:02:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=luWZA9NgUuZLLm+UZLOUfRW99dxsDIrRXVpKglRDlSI=; b=5kfGnxTa1oAvHrRjjbOlWq0/JK
	H2WVYsGHJq83Uhh+Se32kmOTJoaPEN862veFBuhnLIeNoamRBXrcMsNR5k7snZ948htuJiMkLjJVY
	PQUEJwm0E6uDWczE6+/9vST0x7CtALSbrjkRRW1wEItD7ET3s4OhpKWgdrKZOL/5rqkQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172715-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172715: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=d5fd86f256b9ab5b4e3aff70d3c177c18faea892
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 22:02:50 +0000

flight 172715 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172715/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 d5fd86f256b9ab5b4e3aff70d3c177c18faea892
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   18 days
Failing since        172151  2022-08-05 02:40:28 Z   17 days  148 attempts
Testing same since   172707  2022-08-22 10:43:39 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 817 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 22 22:08:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Aug 2022 22:08:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391610.629517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQFax-0002jA-UG; Mon, 22 Aug 2022 22:08:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391610.629517; Mon, 22 Aug 2022 22:08:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQFax-0002j3-Qs; Mon, 22 Aug 2022 22:08:31 +0000
Received: by outflank-mailman (input) for mailman id 391610;
 Mon, 22 Aug 2022 22:08:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQFaw-0002it-JX; Mon, 22 Aug 2022 22:08:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQFaw-00048i-FP; Mon, 22 Aug 2022 22:08:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQFaw-0004Nx-6P; Mon, 22 Aug 2022 22:08:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQFaw-0002YS-5y; Mon, 22 Aug 2022 22:08:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bpOeiqoMlVqRlybOdp1DLvkvhZlf+M6mHqZL+ndHtzM=; b=rNxdUfNC1FX88x3W68qSh/ucGf
	nFDwKtC0kfbRYezFGFJImU3ut5NKHZBZx+EIXQbNzB/urao/ARVlCNepnDUoyT8Xn+GHg7Uzb62Af
	9z9ErdmWFX0YO6t/TWuK2ixP3rNuTbdQi9Gwvio/6mXVSYLmMMbv9B1T7VE5i+Er7UV8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172706-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172706: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Aug 2022 22:08:30 +0000

flight 172706 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172706/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   18 days
Testing same since   172384  2022-08-11 11:13:58 Z   11 days   23 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 00:06:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 00:06:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391620.629534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQHR1-00075o-Km; Tue, 23 Aug 2022 00:06:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391620.629534; Tue, 23 Aug 2022 00:06:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQHR1-00075h-HW; Tue, 23 Aug 2022 00:06:23 +0000
Received: by outflank-mailman (input) for mailman id 391620;
 Tue, 23 Aug 2022 00:06:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQHQz-00075U-QT; Tue, 23 Aug 2022 00:06:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQHQz-0006o8-M0; Tue, 23 Aug 2022 00:06:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQHQz-0002nh-3p; Tue, 23 Aug 2022 00:06:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQHQz-0000il-3N; Tue, 23 Aug 2022 00:06:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XP3/0+p90r/8LfLqMyNSrL8r3XcslNj3Hx+MLHDlGkI=; b=EeMUro7LLNeQzivUtkdWotZUWB
	kCu1mh8xJgVzu94GhgfeTyfVWJT2OoRcZcg9Paq6x3IZbhWrf4Y/+giYCYgDG5wrrdQtFQaSrt4xE
	0Z3UOrg80YRd1lf7AmtdUh06Rq2/RPSAf4BAVphZiyAARv6Axi44HCHEmdHNNr58MgqU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172709-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172709: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-arm64:xen-build:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=58ce731faca28cb08f7c1b8c79b59fed47d0b2c2
X-Osstest-Versions-That:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 00:06:21 +0000

flight 172709 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172709/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                   6 xen-build                fail REGR. vs. 172698
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 172698

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install             fail like 172657
 build-amd64-libvirt           6 libvirt-build                fail  like 172698
 build-i386-libvirt            6 libvirt-build                fail  like 172698
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172698
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172698
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172698
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172698
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail like 172698
 build-armhf-libvirt           6 libvirt-build                fail  like 172698
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172698
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172698
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172698
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172698
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  58ce731faca28cb08f7c1b8c79b59fed47d0b2c2
baseline version:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a

Last test of basis   172698  2022-08-22 01:53:34 Z    0 days
Testing same since   172709  2022-08-22 13:09:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  fail    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 58ce731faca28cb08f7c1b8c79b59fed47d0b2c2
Author: Luca Fancellu <luca.fancellu@arm.com>
Date:   Fri Aug 5 14:08:00 2022 +0100

    arm/domain: fix comment for arch_set_info_guest
    
    The function arch_set_info_guest is not reached anymore through
    VCPUOP_initialise on arm, update the comment.
    
    Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
    Acked-by: Julien Grall <jgrall@amazon.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 02:11:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 02:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391634.629548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQJNK-0001x0-T9; Tue, 23 Aug 2022 02:10:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391634.629548; Tue, 23 Aug 2022 02:10:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQJNK-0001we-N0; Tue, 23 Aug 2022 02:10:42 +0000
Received: by outflank-mailman (input) for mailman id 391634;
 Tue, 23 Aug 2022 02:10:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQJNJ-0001wU-LB; Tue, 23 Aug 2022 02:10:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQJNJ-0007rN-JF; Tue, 23 Aug 2022 02:10:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQJNJ-0002Ix-5Z; Tue, 23 Aug 2022 02:10:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQJNJ-00068A-4q; Tue, 23 Aug 2022 02:10:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Xpcl57+8V+uN490HjUHka7MnPJIkCQVd4TXyBAR8qrk=; b=EuMU9SYhdfLvMduqcf6U7VT45V
	zj1HWf6xnvr6xhHyNcfR34CGbBDLZ88QbIqvFJKRo7U4yUoXAUmPOhsNEf9TNk8z2vEUetEUwvtgk
	OVtgrDjn5gA81sVYCRe1cRZuWItWA75Rn5iJkHJ9ubE8BSuwDCJzR6UjsWz5/R0NFnso=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172717-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172717: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=d5fd86f256b9ab5b4e3aff70d3c177c18faea892
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 02:10:41 +0000

flight 172717 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172717/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 d5fd86f256b9ab5b4e3aff70d3c177c18faea892
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   18 days
Failing since        172151  2022-08-05 02:40:28 Z   17 days  149 attempts
Testing same since   172707  2022-08-22 10:43:39 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 817 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 04:27:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 04:27:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391653.629564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQLVQ-0006ll-M1; Tue, 23 Aug 2022 04:27:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391653.629564; Tue, 23 Aug 2022 04:27:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQLVQ-0006le-JL; Tue, 23 Aug 2022 04:27:12 +0000
Received: by outflank-mailman (input) for mailman id 391653;
 Tue, 23 Aug 2022 04:27:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQLVO-0006lU-Rr; Tue, 23 Aug 2022 04:27:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQLVO-0001qg-Of; Tue, 23 Aug 2022 04:27:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQLVO-0002ic-Ck; Tue, 23 Aug 2022 04:27:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQLVO-0002Lz-CJ; Tue, 23 Aug 2022 04:27:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iGT+E7NjHL0ASQaiuaXI8dx/vzP+dHONv+U29Asy4G8=; b=dxwyUayn2RvSOzlCBGsGKyED5/
	HPPFLeqh1nvGNrur1X6zWKKhTj0xqI564cAX90j8FR4DNWW0XA4lFvibd62tzlsIP2q0f+T+Gj4x0
	82zDqt+O29cptQ001FUqm/toBuii0H+lGodpVEWO6RTKJOjAt65brkFdEBvIJ2HdDiCE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172712-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172712: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1c23f9e627a7b412978b4e852793c5e3c3efc555
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 04:27:10 +0000

flight 172712 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172712/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot                   fail pass in 172699

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl         15 migrate-support-check fail in 172699 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 172699 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                1c23f9e627a7b412978b4e852793c5e3c3efc555
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   18 days
Failing since        172152  2022-08-05 04:01:26 Z   18 days   42 attempts
Testing same since   172699  2022-08-22 02:39:41 Z    1 days    2 attempts

------------------------------------------------------------
1500 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 154883 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 06:15:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 06:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391661.629576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQNBl-0001W1-6J; Tue, 23 Aug 2022 06:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391661.629576; Tue, 23 Aug 2022 06:15:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQNBl-0001Vu-3I; Tue, 23 Aug 2022 06:15:01 +0000
Received: by outflank-mailman (input) for mailman id 391661;
 Tue, 23 Aug 2022 06:14:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQNBj-0001Vk-Bt; Tue, 23 Aug 2022 06:14:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQNBj-0003zb-7U; Tue, 23 Aug 2022 06:14:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQNBi-0001jg-Tq; Tue, 23 Aug 2022 06:14:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQNBi-0001wz-T7; Tue, 23 Aug 2022 06:14:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=v3i8ZB5kELmqAlN522bevJzmfZ/v7jOKjK203nghtfE=; b=LlWg+yDeY2fM3nzqFr7QXJMdbd
	+V7uf1KfBH/Lbm+k4J2acaWH9SRpz9Y12oY83UKTLQ2ZGx6U+Pkvh28IwP1my3p74W7CsPcYlR4+4
	oIZZdTedMnlloFoMzIHpJltAHiu1hbSqydgJsnLtPO/Eu6X2+Zq5UQOJHFNBRnufc64g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172714-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172714: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ba58ccbef60338d0b7334c714589a6423a3e7f91
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 06:14:58 +0000

flight 172714 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172714/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail in 172702 pass in 172714
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 172702 pass in 172714
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172702

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                ba58ccbef60338d0b7334c714589a6423a3e7f91
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   19 days
Failing since        172148  2022-08-04 21:39:38 Z   18 days   43 attempts
Testing same since   172658  2022-08-20 03:51:49 Z    3 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2251 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 06:24:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 06:24:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391670.629587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQNLC-000373-CO; Tue, 23 Aug 2022 06:24:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391670.629587; Tue, 23 Aug 2022 06:24:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQNLC-00036w-91; Tue, 23 Aug 2022 06:24:46 +0000
Received: by outflank-mailman (input) for mailman id 391670;
 Tue, 23 Aug 2022 06:24:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQNLB-00036m-Nl; Tue, 23 Aug 2022 06:24:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQNLB-00049O-Iv; Tue, 23 Aug 2022 06:24:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQNLB-0002cn-BR; Tue, 23 Aug 2022 06:24:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQNLB-0000Pw-B0; Tue, 23 Aug 2022 06:24:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9Mm1WIl67oT5wTN/jMa2Fez4CgwFUF4xjs5aUEhzHAw=; b=3Qt5/QtSCBguiqtlJNeqdIu2yv
	BIxlBLM7RBirspWg1JFj8lsOzpv2sAh7KdH97v/B2LahM4fxy7fRhPnGhKnnjOeGYmgAwijb7pqeS
	wcKyZvCNp4zwz/hXlmceDnD/o7BCcI5pqGR7xP4onMsQpJGX5/4IUwZggser7DOBcgD4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172721-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172721: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=c15c9fa4200f6819952a902283a0abcc81146a3a
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 06:24:45 +0000

flight 172721 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172721/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 c15c9fa4200f6819952a902283a0abcc81146a3a
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   18 days
Failing since        172151  2022-08-05 02:40:28 Z   18 days  150 attempts
Testing same since   172721  2022-08-23 02:12:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 843 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 06:31:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 06:31:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391678.629598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQNRY-0004b8-3M; Tue, 23 Aug 2022 06:31:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391678.629598; Tue, 23 Aug 2022 06:31:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQNRY-0004b1-0Q; Tue, 23 Aug 2022 06:31:20 +0000
Received: by outflank-mailman (input) for mailman id 391678;
 Tue, 23 Aug 2022 06:31:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=i2Ia=Y3=arm.com=Jiamei.Xie@srs-se1.protection.inumbo.net>)
 id 1oQNRW-0004av-Jv
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 06:31:18 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2052.outbound.protection.outlook.com [40.107.104.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ffa76f4-22ad-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 08:31:16 +0200 (CEST)
Received: from FR0P281CA0123.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::9) by
 AM9PR08MB6100.eurprd08.prod.outlook.com (2603:10a6:20b:287::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.18; Tue, 23 Aug 2022 06:31:13 +0000
Received: from VE1EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:97:cafe::1c) by FR0P281CA0123.outlook.office365.com
 (2603:10a6:d10:97::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Tue, 23 Aug 2022 06:31:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT052.mail.protection.outlook.com (10.152.19.173) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 06:31:12 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 23 Aug 2022 06:31:12 +0000
Received: from b5b57b3ab0d5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 76A18032-EBC2-4C12-BEB7-0FBB1E9DDFF4.1; 
 Tue, 23 Aug 2022 06:31:05 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b5b57b3ab0d5.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 06:31:05 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com (2603:10a6:20b:523::11)
 by AM0PR08MB3636.eurprd08.prod.outlook.com (2603:10a6:208:d4::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 06:31:04 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::48c7:a78d:1802:5c35]) by AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::48c7:a78d:1802:5c35%7]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 06:31:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ffa76f4-22ad-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=O4o390VE/hB7xqYh0xgi9j3Ix/MzMtOboOK4JLDeJaP0LHAm/PeqZYrMdhPppuSW37BA9JElfujwfuojHnletQJutrNniZcbE/B459Fi6T2ErXm06mSB0nKionJR/l7KCtVwvFBW8CXM0FTAfm0EuoZLTwkfhB8yQLWOlJ1vfqGfYFauyIMftacgyoYNnPQNtPZj1tGGGMNC9ObSwUFUJhRvRmq9E4lPS5jP/5SGs2VXLg6yeOdXA7IDnlPX1zAA+4/xGMYkYFH1ndPymMxgI76/cBfBDbd1h5VVVBsFkcSHv/5T7SyYDkVgboRIIQFue33Wqm7tOQgVU5OUmm55GQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CkK6IIE3vSv9kfEftV9adnMM4d1GttRXHN0gg6N69KM=;
 b=FSBN0sFM9HkfK6FD6vWQtIQUk0Y4muAIfVhevYliNUU4bqifeV/d4exAlOr2N0sS+yIX2ZRkRASXUVBswVPkfgc+uZAum5AOPNxRmJcNxSg2nO1YbHeoI+8A30r7RKtYOq5UwDN8VxTjZjOXkLBjNYIf9VcGXOUW37GYJmTHhT0IQp3/pZUbEtFGFdo0/6g/9VprU4YXVOaijkibmWp1nwdNYd2anJxdKRBnniPt7TQPWoEwSWz3GsVWCdHURzkcd25HyKEV9j6YyJoykFKAJ26uB+fG0QUknl2GHP6pVC7lAQaw9yKdcuCycP/BrR27Ir305e7u1qAY0LLmJepzWQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CkK6IIE3vSv9kfEftV9adnMM4d1GttRXHN0gg6N69KM=;
 b=uYEWriAYcPgzUMnFkCj3wEsoNQe4pC6ynY/BbQQ4YcBbHDsDD/KEUyXdSSjKL+DcpU43CAIHjdeEtWo4R7OuwhdaqaeOfw77CTqmwV1WQSzRTMuzl5dcw98BqaZzLX/+d7cVSWsqV9G6K69EpGgI2HPnvgEOqOsQ6Jn52VlyurQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=go5+VR9YQQbrbfSQpUmla3icoQeAo7V01a097zv20s9miCjlXF4YpR1Emrle9mUFyUeTxQyNonTJEVupAyg5VkI4nFlEk2LyngF4QplNh2Hwq7La6zgMU7cSRoSL8I1cQz32Nlq44MO3mtYFlLagPeapTM1Sg98U7vAPve0hxI0iJhzdFmCbRp5TRXSZNKajrtmx52WUlkl+mqNFeos1v1oRmuAPKrRPzc1Zxu9ZMWYUzOuTCBwVMSObF35orLLue3nuNIjzeF8HO2m+m/N2h6EhfvjMbJVGSk5X8nQqqisBjIHiFP8i0jia3jtCnhm+KcynlFn6Ix5/MoiuHxmH6Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CkK6IIE3vSv9kfEftV9adnMM4d1GttRXHN0gg6N69KM=;
 b=O2hf5E4FIq9EWN7A9ewZxFy2WPFU1zdE9kJtPwJnpVMtWiJK0aljuZpHj89/NYQTfmCNeZuBIO9oMNugdqz86opM+d+lKsqL9uWVWuzVJi/nH5pvsMR5R+7yytTMb6+eF+PTtFwJyhSl2EVuf2paSagmwdSR3oQzd4Dju8bzOP2WKRkajvSC+/uzZLJN0SNuX4hBTOQr+7w+LCPNCl59vhVwFnPXJ/neSQLO907WOG3A0Oxdnumj5z6P+2gpe0DyJTTRCitmkOcZ01jrP+4Ghcij2e7LrRmaJbHDFgaH4yFF8rbGYwiMl7vtNcTQRhUlfbemKpCAg6swXBPv79Ty/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CkK6IIE3vSv9kfEftV9adnMM4d1GttRXHN0gg6N69KM=;
 b=uYEWriAYcPgzUMnFkCj3wEsoNQe4pC6ynY/BbQQ4YcBbHDsDD/KEUyXdSSjKL+DcpU43CAIHjdeEtWo4R7OuwhdaqaeOfw77CTqmwV1WQSzRTMuzl5dcw98BqaZzLX/+d7cVSWsqV9G6K69EpGgI2HPnvgEOqOsQ6Jn52VlyurQ=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Wei Liu
	<wl@xen.org>, Luca Fancellu <Luca.Fancellu@arm.com>
Subject: RE: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2 extended
 input/output registers
Thread-Topic: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2
 extended input/output registers
Thread-Index: AQHYsvEzozgpQMYVfkmR/IQ18gBgzq28CS1Q
Date: Tue, 23 Aug 2022 06:31:03 +0000
Message-ID:
 <AS8PR08MB76966554BF5B1FC83228BB6B92709@AS8PR08MB7696.eurprd08.prod.outlook.com>
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
 <20220818105601.1896082-2-jens.wiklander@linaro.org>
In-Reply-To: <20220818105601.1896082-2-jens.wiklander@linaro.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 31334C768AEA284FB12F2D8D7EF0DF5E.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 57305467-7a40-44b5-8a31-08da84d112f2
x-ms-traffictypediagnostic:
	AM0PR08MB3636:EE_|VE1EUR03FT052:EE_|AM9PR08MB6100:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Ke7ZfBHtlLY3fmJzWDAPrDU+hUS590EZzmh9TJkJVMELoutNoCZKkZkzxjLCcyY9uAIfJTjNhq3Z/CdjXPqMdRHjqWumRtpDOJe1lcTW7fMEJJSsdaZox3myAa1P1kOXI+IkVNpTaa/krTUqevMwXN/X7k0omrVCu4+43e3IzeYNzwMOizEgGlnmrauSxdVVrc+jKXX+ABXfWQZhq9daTdmgHEJpfMul56vTlPdcMqgQLf8uzS2XspuFX97qIGx3sgyI7m64F26zkvoJz4vybCZQuHSUaayd922XN8pJCeARTU5DlaAhWvFoJbIlNqZOI2tgowLTEUW6vUO6sRDwsbHpZBWhRfUC/o4jZTOYiN5EHJv5EcYjgennXouhgvL4NZLuGI7r94M8beHmgZ/+dkfWKNB9QhhR+3qSyTpUodjjXGVU2M8uQ+soyfGgsLylcQoT5c2pHQqcsYGK8K8TtynJSv3rxLW35USi73vNEb80AHHC+5lkVBSL3i2STpD/E7niT16aPVaYOvGkNRuJqFCN9BCKrSh3+V0aS4Ct0ynq9oyz142LgkKS4C2+Jd+ipQn/PTzwXIGHvlW+6nCPf6Rz6QGM09sPyo2VXRwDU2dF4XlkFd9AweqWscCM5BKblUov6NjvW3LN85YV0LMysAFWQA9lZznafCayCwvoYk5HC68zlgjhbxNAO5h90yOYiYsrvmva5rrOhr/8TQ1lotpRkzN+4QWkmLv9vxsQ11yJEuGZC5bbzBsUjhOEskT5ljGL9biHy7lTVPpA69a1WWvCpdHi2kI0fhIjpVCSbU8=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7696.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(136003)(366004)(376002)(396003)(52536014)(316002)(38070700005)(110136005)(54906003)(33656002)(86362001)(122000001)(38100700002)(41300700001)(83380400001)(478600001)(6506007)(7696005)(26005)(71200400001)(966005)(55016003)(9686003)(2906002)(64756008)(66476007)(66556008)(66446008)(76116006)(8936002)(66946007)(5660300002)(8676002)(53546011)(4326008)(186003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3636
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c0ca5303-2cc7-4b51-fcad-08da84d10db0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Re+GLskWgsVztq1HEZu/XXEBw0mNsIlpZz7ps5Dj54ucSq1qEF8zlhgLp+LIGJyOel//EM2a4qA3NvUJE+zJhJJJ1UidaF8+31pMeCa//tZ4tlaDTBormD/0+dhmZk8L4xi4TiGXuHqWZ5VA5zKsA+KzT/e0vf+b+anHJxtFy+LeYEnjZ+Tq3qAAg4NNIKKr85U3YxycNj6hldOv4AaE+oU+Jn6ZdggxO96UoItO0mQ+XdVWo5R6xyGjYaisacevvmjkiT7tLrvGXM7vUPvkTi27mjCXofOxG4wrI1PIjFLV0a+0fwXfJnv/a4zd1Xlrm9NGGLWL0I7+KAJLZjC8XqjGnoWBDvp449nwVvsvu+wnAXEV2oFB/kxd2SosMSg2XiS6KvBNn1bdcKLRi2I4av1586nv2NYI3pWvfqj3un45iwri7D9MMMi9yUwxkPfKMi7HkN/J+psA4azvlyPixENnKFp6LYft47wfJUOvqXlqPUEnPEab504f2pGvuIIpI/KHApEsLUrLMhBf8eZiRQcB6uowbzdZ5rvSi2wK/rqzmpsTYvHR5iuBAqtzBPJmslrT88I/7iHtj/GmxPlN2EOPYXh+Lk4u7WC5Mbt/ABukf/622YYV8a3oTAU8xIFFa+hniGr24a/ATV58XbvOLWBN5hnGDFAfff8luYxBxElss5L7FX3sieg/M73PZJSfVUQnZ50Z73954ZMUvnTKgVyx//adpvJQznLSSa2Fekp21eZAts/57tJYLmOJpGCe71xAtDHSFCuYwu4WGlkDZQOja+w4qb2/wzGfAoc5fc8=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(396003)(346002)(376002)(40470700004)(36840700001)(46966006)(52536014)(83380400001)(47076005)(82310400005)(5660300002)(2906002)(8936002)(8676002)(70206006)(4326008)(70586007)(9686003)(41300700001)(53546011)(7696005)(26005)(6506007)(33656002)(336012)(478600001)(186003)(966005)(40480700001)(55016003)(356005)(40460700003)(36860700001)(86362001)(316002)(110136005)(54906003)(81166007)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 06:31:12.5856
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 57305467-7a40-44b5-8a31-08da84d112f2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6100


Hi
I build and run it on armv8a, and start dom0 with two cpus. Cpu off and on =
tests passed. It seems it don't break current cpu basic functions.

Best wishes
Jiamei Xie


> -----Original Message-----
> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
> Jens Wiklander
> Sent: Thursday, August 18, 2022 6:56 PM
> To: xen-devel@lists.xenproject.org
> Cc: Stefano Stabellini <sstabellini@kernel.org>; Julien Grall <julien@xen=
.org>;
> Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>; Bertrand Marquis
> <Bertrand.Marquis@arm.com>; Anthony PERARD
> <anthony.perard@citrix.com>; Juergen Gross <jgross@suse.com>; Wei Liu
> <wl@xen.org>; Jens Wiklander <jens.wiklander@linaro.org>; Luca Fancellu
> <Luca.Fancellu@arm.com>
> Subject: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2
> extended input/output registers
>=20
> SMCCC v1.2 [1] AArch64 allows x0-x17 to be used as both parameter
> registers and result registers for the SMC and HVC instructions.
>=20
> Arm Firmware Framework for Armv8-A specification makes use of x0-x7 as
> parameter and result registers.
>=20
> Let us add new interface to support this extended set of input/output
> registers.
>=20
> This is based on 3fdc0cb59d97 ("arm64: smccc: Add support for SMCCCv1.2
> extended input/output registers") by Sudeep Holla from the Linux kernel
>=20
> The SMCCC version reported to the VM is bumped to 1.2 in order to support
> handling FF-A messages.
>=20
> [1] https://developer.arm.com/documentation/den0028/c/?lang=3Den
>=20
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
>  xen/arch/arm/arm64/asm-offsets.c |  9 +++++++
>  xen/arch/arm/arm64/smc.S         | 43
> ++++++++++++++++++++++++++++++++
>  xen/arch/arm/include/asm/smccc.h | 40
> +++++++++++++++++++++++++++++
>  xen/arch/arm/vsmc.c              |  2 +-
>  4 files changed, 93 insertions(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-
> offsets.c
> index 280ddb55bfd4..1721e1ed26e1 100644
> --- a/xen/arch/arm/arm64/asm-offsets.c
> +++ b/xen/arch/arm/arm64/asm-offsets.c
> @@ -56,6 +56,15 @@ void __dummy__(void)
>     BLANK();
>     OFFSET(SMCCC_RES_a0, struct arm_smccc_res, a0);
>     OFFSET(SMCCC_RES_a2, struct arm_smccc_res, a2);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X0_OFFS, struct arm_smccc_1_2_regs,
> a0);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X2_OFFS, struct arm_smccc_1_2_regs,
> a2);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X4_OFFS, struct arm_smccc_1_2_regs,
> a4);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X6_OFFS, struct arm_smccc_1_2_regs,
> a6);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X8_OFFS, struct arm_smccc_1_2_regs,
> a8);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X10_OFFS, struct arm_smccc_1_2_regs,
> a10);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X12_OFFS, struct arm_smccc_1_2_regs,
> a12);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X14_OFFS, struct arm_smccc_1_2_regs,
> a14);
> +   OFFSET(ARM_SMCCC_1_2_REGS_X16_OFFS, struct arm_smccc_1_2_regs,
> a16);
>  }
>=20
>  /*
> diff --git a/xen/arch/arm/arm64/smc.S b/xen/arch/arm/arm64/smc.S
> index 91bae62dd4d2..c546192e7f2d 100644
> --- a/xen/arch/arm/arm64/smc.S
> +++ b/xen/arch/arm/arm64/smc.S
> @@ -27,3 +27,46 @@ ENTRY(__arm_smccc_1_0_smc)
>          stp     x2, x3, [x4, #SMCCC_RES_a2]
>  1:
>          ret
> +
> +
> +/*
> + * void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
> + *                        struct arm_smccc_1_2_regs *res)
> + */
> +ENTRY(arm_smccc_1_2_smc)
> +    /* Save `res` and free a GPR that won't be clobbered */
> +    stp     x1, x19, [sp, #-16]!
> +
> +    /* Ensure `args` won't be clobbered while loading regs in next step =
*/
> +    mov	x19, x0
> +
> +    /* Load the registers x0 - x17 from the struct arm_smccc_1_2_regs */
> +    ldp	x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
> +    ldp	x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
> +    ldp	x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
> +    ldp	x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
> +    ldp	x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
> +    ldp	x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
> +    ldp	x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
> +    ldp	x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
> +    ldp	x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
> +
> +    smc #0
> +
> +    /* Load the `res` from the stack */
> +    ldr	x19, [sp]
> +
> +    /* Store the registers x0 - x17 into the result structure */
> +    stp	x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
> +    stp	x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
> +    stp	x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
> +    stp	x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
> +    stp	x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
> +    stp	x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
> +    stp	x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
> +    stp	x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
> +    stp	x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
> +
> +    /* Restore original x19 */
> +    ldp     xzr, x19, [sp], #16
> +    ret
> diff --git a/xen/arch/arm/include/asm/smccc.h
> b/xen/arch/arm/include/asm/smccc.h
> index b3dbeecc90ad..b5e3f67eb34e 100644
> --- a/xen/arch/arm/include/asm/smccc.h
> +++ b/xen/arch/arm/include/asm/smccc.h
> @@ -33,6 +33,7 @@
>=20
>  #define ARM_SMCCC_VERSION_1_0   SMCCC_VERSION(1, 0)
>  #define ARM_SMCCC_VERSION_1_1   SMCCC_VERSION(1, 1)
> +#define ARM_SMCCC_VERSION_1_2   SMCCC_VERSION(1, 2)
>=20
>  /*
>   * This file provides common defines for ARM SMC Calling Convention as
> @@ -265,6 +266,45 @@ void __arm_smccc_1_0_smc(register_t a0,
> register_t a1, register_t a2,
>          else                                                    \
>              arm_smccc_1_0_smc(__VA_ARGS__);                     \
>      } while ( 0 )
> +
> +/**
> + * struct arm_smccc_1_2_regs - Arguments for or Results from SMC call
> + * @a0-a17 argument values from registers 0 to 17
> + */
> +struct arm_smccc_1_2_regs {
> +    unsigned long a0;
> +    unsigned long a1;
> +    unsigned long a2;
> +    unsigned long a3;
> +    unsigned long a4;
> +    unsigned long a5;
> +    unsigned long a6;
> +    unsigned long a7;
> +    unsigned long a8;
> +    unsigned long a9;
> +    unsigned long a10;
> +    unsigned long a11;
> +    unsigned long a12;
> +    unsigned long a13;
> +    unsigned long a14;
> +    unsigned long a15;
> +    unsigned long a16;
> +    unsigned long a17;
> +};
> +
> +/**
> + * arm_smccc_1_2_smc() - make SMC calls
> + * @args: arguments passed via struct arm_smccc_1_2_regs
> + * @res: result values via struct arm_smccc_1_2_regs
> + *
> + * This function is used to make SMC calls following SMC Calling Convent=
ion
> + * v1.2 or above. The content of the supplied param are copied from the
> + * structure to registers prior to the SMC instruction. The return value=
s
> + * are updated with the content from registers on return from the SMC
> + * instruction.
> + */
> +void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
> +                       struct arm_smccc_1_2_regs *res);
>  #endif /* CONFIG_ARM_64 */
>=20
>  #endif /* __ASSEMBLY__ */
> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
> index 676740ef1520..6f90c08a6304 100644
> --- a/xen/arch/arm/vsmc.c
> +++ b/xen/arch/arm/vsmc.c
> @@ -93,7 +93,7 @@ static bool handle_arch(struct cpu_user_regs *regs)
>      switch ( fid )
>      {
>      case ARM_SMCCC_VERSION_FID:
> -        set_user_reg(regs, 0, ARM_SMCCC_VERSION_1_1);
> +        set_user_reg(regs, 0, ARM_SMCCC_VERSION_1_2);
>          return true;
>=20
>      case ARM_SMCCC_ARCH_FEATURES_FID:
> --
> 2.31.1
>=20



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 06:42:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 06:42:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391684.629609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQNc7-000695-3C; Tue, 23 Aug 2022 06:42:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391684.629609; Tue, 23 Aug 2022 06:42:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQNc7-00068y-09; Tue, 23 Aug 2022 06:42:15 +0000
Received: by outflank-mailman (input) for mailman id 391684;
 Tue, 23 Aug 2022 06:42:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQNc5-00068q-Eg
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 06:42:13 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150043.outbound.protection.outlook.com [40.107.15.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6a94b7d-22ae-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 08:42:12 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7566.eurprd04.prod.outlook.com (2603:10a6:102:f0::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Tue, 23 Aug
 2022 06:42:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 06:42:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6a94b7d-22ae-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f1hnIrpIsINeEBB+Rorp4W4bnWuwXX/UGxmY7WLvulgYTezmglfUnlmqmfxhcIyeqDws8MSugwVNHjiaB178Iw6bIHqaGKAUtRRTauNt3dgM11QHNR7Jz/4Glmp7AR7845gJTkZz6rFhhxBbbmUqGDqmmtJMCZ1ysR2NqggW5Pp19gQEwraCIdZ/itI23MU/z7HcPtG3FD9WYBSuheqAHwiwnYu/i2goVTjJofnoob09N4gkOMR75q0a9Ik6mHX5AKWfl73TeQVKbjqXqV5ZZLmjIcqc8b2mrOOV/9TgEhwOhsMu42pla762M3jAj0kW8fm/fVPwt2zOrJZsXh5XdQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PeyNdVHIMsRcEMFZol+09wsslgm7WcGos5XT+veVb0o=;
 b=CiH7lgUwgy0vHYm/u4/jMkWBAfRsmw3v1Ndyt46PqRIvwwHkB3yxqyYGx5Si+q8RpExY4CGkbM1Av5Fq037T0WjE1Y2/VEBguqcTO3BllENuE+xawcYkZQHBngv/DDXt+pNRPiZXXfxLLRn7k/O6Nst5bHqCh+Q5lCGnpJGlpxIwRmQFH6heXD/SyR7chs3El3CHkguetoMkZx98GYkBlgeRIAjHEpt3lVP/LhNM/0uNbd9GXtTuecU8/f6OO2Mf22insspCg1kxsoC7s1Y7K9Yoy1wyJdiZOImcEEZ/28K3TD/0AyCNMxZO9NmBSLqYCAXWnEgHiDXbP6mHjHq8ug==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PeyNdVHIMsRcEMFZol+09wsslgm7WcGos5XT+veVb0o=;
 b=g7oyboje0NoMyuOtvUlERmK/mJENsBZru7CnKKEjd899/7eAjA0lLnHMuG3K4Bw0Zd6LUWiPi81cEPjJpyLUUkAOzSpW85UhK0ZwPr85pxoiWi2X7Z8oBwhK/oD1dwhf+oEUYO/btU60PUZ9ZjTaeXZJ5UOTiBzxNCVkgJRlFpbhTYAqd7Ck/IIDrxjMfdDOyEKu/3qYkA9OGNlmau4xKPNPTiQgIhHI9U8M2w/wKJVrhpHNbXtpbhGCavxWy5vjk/6YOVyoDfDPz3zVdrDqc7KCwFRJ51SwLaarKzstUENy/mQV3HuvD9J+Oq2sNNUNTCX0k8841oqZT4E5QlW4XA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
Date: Tue, 23 Aug 2022 08:42:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE subleaf 1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR04CA0095.eurprd04.prod.outlook.com
 (2603:10a6:20b:50e::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 756c7ca0-2efc-4ba2-fb8c-08da84d2999d
X-MS-TrafficTypeDiagnostic: PA4PR04MB7566:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ung1rWT5gpj+Zl5/iqf+ZXq3xr0nvlwcRhLQn0ueIMgwPcyT09YeU8J22ib+QA6s9ZeBzhlVdtCSwgHVCqSPWG/7yTHDNESXywT/3Lvt37jaglhlqIYYAOKQNGXg2mbCwlrqUmM/IfOiGY67gAa2b+Qz2VvOF9wHntqJFLpMhyPU0z4zroVE7Ze+a/TkJZOKZbEwAolTBMHB0fcKLOTrsuRDzrBkofwpNu/I2EbhqDW+an5rs0/tmn/jvzj+e+vg/Sn2HVw6qDzGmkcXCmhxM90Lg0hSqjl8pOBBWflvCOumXE6jmYVt3b+a+cnZpdWW6L0KjIWwWw8iztI4a72WPqju2hEC7tU5AnSk9DNtjBGOrosus0LwvHY7tXXyQD70fh7n5/dd+nDHWzan7cv/aNZ8GAXkhD4xEOgTqUchKesfcm0caIsXvBoPd5Nj3SxcS/pBc4N4OvTCMTawvj/ALZ3IsqZyXB7wkm7EvjiYKwcqsWGlMGrT3mL7Wu25vxzABk1ZcytvCCRxy8qqLRhofCserXtpcKCHP64Ij1k8k+7eyzCTdcQltW5IOT26vsvy45dTMFPBBNBUaPSrcs0aheGeFgcKUJ8JPRxhhDUzDBX8kgqJRBSfJc2Hs0tph7XdrsFcSMldj7mo6pYMtdzy63i6/TZ8rZS57zUwubrpAlCXuYd9yKx0jVyzyXRwY9WUA7tY4R7keXgldxA5AqoY66OEhlMFCMEKaxZkFpDy8eHI/ppqcxOn7P+jzv3aHCOUr3Mt9e/LCkCkJIz3R68M89H1SoMX1UYML8U1VvVeRxU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(366004)(39860400002)(136003)(396003)(66476007)(54906003)(66946007)(8676002)(6916009)(31696002)(4326008)(86362001)(66556008)(6506007)(316002)(6512007)(26005)(2616005)(186003)(83380400001)(6486002)(5660300002)(478600001)(41300700001)(8936002)(31686004)(2906002)(38100700002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OXNHaGUvdFFQeEE4a1hSQlVoUHF4Tkprd0xZeVlGbmlzdndpSlVjRGJkMU9Z?=
 =?utf-8?B?d3VKQ1NNWGFKZENNZE5oUG84bG9WaVdyQk1icnd6S05ORFVja1dLMFBKRnpo?=
 =?utf-8?B?V0l1RXZoVW5ObDRFOVNsZGU1dmJqMFZFTDF3NU5HU1JwSFBDSlVOODE2ODhY?=
 =?utf-8?B?RWVSaStFaWhZWGQzZUxuTWp0YTkzcnFXcm81QUlOVXpGVHUrc3owNFNIa3hw?=
 =?utf-8?B?SjV4R3UzNkJ1YkNJY0hoVTZLc1lRUzVGdkF0NEcyYkZ1TmNIOEhXQjViWGdY?=
 =?utf-8?B?c1BXV0pNZ0hPTHljVW1Fd3ZPT09UcFowVEFFcVFGZXhqTHM0WWpmVjlkRjRo?=
 =?utf-8?B?Y1cvVjRsMmQ2bnZNV1didEtJZ1FJS29zaG4wb2xNS3M2d29CdkdvK0ZmTHp6?=
 =?utf-8?B?Mm9qVllMbUttWDI3OFI4ZVdiWFU1UjJ2YTNRQ3hpUjJBMHcyZnVtQ0RvWTRP?=
 =?utf-8?B?ZjdrbUZoWHd2WE44L3YydEFreW1DUGpLMmVJS0w3T1pzU2RHTHBTOVg2SEZk?=
 =?utf-8?B?WG5VSUF2dWJaTldxeU5FcUJBcXE0dmw0d1kzM2NVUVdhbmg1ME1MQ05FRC9L?=
 =?utf-8?B?UnZaRC9zWFAyVGh0U21MWXRibVA0cXBBZXJOYXhBcFpIQ2JWTHpCVmNDSWE5?=
 =?utf-8?B?RWhIRG80N05EVHZYNCtNUEQwVFpITkREc3dZTTg1S0M4SytWNHI5NkwzajBW?=
 =?utf-8?B?NjBGSjN6NGZLV1RBODRPaUFTbHJLbXVVN1MvTy9VUDJSZHF3Ny8rempCenEv?=
 =?utf-8?B?SUtKMnEvSUUwYzFseFJha1F1cWo3Q01OdVZnUzZYWDAwcGZkaUhjSnFVVHA3?=
 =?utf-8?B?SURya2ZzajJLTHRvUEpLV2hhdm90dlRHcGNvU3ZsWm9GQ01IV3lMY0xRNUJX?=
 =?utf-8?B?TlhKdVNQaGFuS1puZVhoRWNxKzFUWVZwWllBMlpOTjRvV1FkVjliVmVIMzlu?=
 =?utf-8?B?R0c2d2NHb0J1QWo1Vm1XOHdjSEpJc3JFV1dYRkdHdzBod0NTS2tZZkhoYldz?=
 =?utf-8?B?RFdjNmlBMjNQd2M5SUwxRk11RDBkcmpWVzNWUmxzVHl0Zk5CSUxCaSt4Qkdi?=
 =?utf-8?B?OGNTZEVPb3VYYUtBaWtkWVdFcnRnU2wyYTVTOHVSNmllaEVnSmdBb0xta21C?=
 =?utf-8?B?dlB3ODZibjQ2NFkvRE1lUWE4OWxGazZnRWorU3NFblpNTzhhWXRkOG01UlQ4?=
 =?utf-8?B?aU5NZkwwYVpCUjM5MWowbkFvdTBCZ0pNL0p0QVg2WjF4TFdaZWJ3ejdyZkFN?=
 =?utf-8?B?NmVMQ2pIM2lhNE5lNVFHeVFlTjRkTEk0YU5JMkZKOE5QUm10US9YMGFQakpV?=
 =?utf-8?B?QkQ0VEZJRCt1WkptQk1YRkE0THl0aTNoRkZ4U3hjRVlhTnJpT2F5cVNtelRR?=
 =?utf-8?B?VEZLMk1NTXFTNnBsWTdERW1ZWkUrV1pYSFl5YzVGN2M2UlZzQU9NOHBoK2pU?=
 =?utf-8?B?K0pqMkFUdEprOGJtODNJTGM2RGQ1dHk1N0Z6SDgwOVg5YlQ1Z2dYcW9ZcHpp?=
 =?utf-8?B?NUpJNEdWYWkzVkpkWU0zOFFnU3hWYnArSjZzZ3FvajRDZEYyWGFNTzdOeGxv?=
 =?utf-8?B?OUZTYlBIMHFmak9FazltaUg4cXd6SThKTVE3NG1iZVBIUU5uRkoxb2xOTDhw?=
 =?utf-8?B?TnU2ZUR4ZG5UVGFoalVUVHRUeTJlQS9WYVlTSWhDSzFseHVyQ3Bmc0JGWGFw?=
 =?utf-8?B?YUlSR3E0TXF1ek5PTThEdVBnNE9yVFhNNXE5WG9ZeTNvWlp2SEpvUjc5UmtJ?=
 =?utf-8?B?T1BkMFZSTFN5aGZ4N3dqN0RtUHN4U0xzS0VnZGJYSXptZGpvbjdvQUVUdVBM?=
 =?utf-8?B?SU9ZejljSTRtUE5mbmVDYkh2bXpUVnZaK25MWkFFNm50SVdsMXFZQ1B3M29W?=
 =?utf-8?B?bGFJN0JudUp6bXJHeVZkRndjRk9LTFhOSjM0LzBFcnpCSDNYTmQzVXZGZTI2?=
 =?utf-8?B?dzI2cmcvb2lvVDYyYk0wRXBNUGdCWnhNUE83WFJqQVBVbWJEblN5VTZxOEMz?=
 =?utf-8?B?Vy9sQXRKNk5FNzgwZTZyK2d0eHV3dkxIY2ZFdTlRS2x2WDNyaGFsOHFDRGVP?=
 =?utf-8?B?RDZBL2wxM2toZFpZQ1ovNW1lMEdtVTVNTGt6UEMzU2RsNitBWmJPSGRXbGNq?=
 =?utf-8?Q?lfrf7JJ+C+X+qZkhC5KcvmnMK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 756c7ca0-2efc-4ba2-fb8c-08da84d2999d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 06:42:08.3018
 (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: 0U31/7rRIugmGlPW/qxSIiqAezTCspsq/hY1SaKU6MuXzdBdEHE1tx95p597fGJbI+q0F2O19pl/LBjSM+gADA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7566

While the SDM isn't very clear about this, our present behavior make
Linux 5.19 unhappy. As of commit 8ad7e8f69695 ("x86/fpu/xsave: Support
XSAVEC in the kernel") they're using this CPUID output also to size
the compacted area used by XSAVEC. Getting back zero there isn't really
liked, yet fpr PV that's the default on capable hardware: XSAVES isn't
exposed to PV domains.

Considering that the size reported is that of the compacted save area,
I view Linux'es assumption as appropriate (short of the SDM properly
considering the case). Therefore we need to populate the field also when
only XSAVEC is supported for a guest.

Fixes: 460b9a4b3630 ("x86/xsaves: enable xsaves/xrstors for hvm guest")
Fixes: 8d050ed1097c ("x86: don't expose XSAVES capability to PV guests")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I actually wonder why we surface the XSAVES feature bit to HVM domains,
when we don't support any of the features. It's solely because of this
that by default only PV domains are affected by the issue (HVM would be
affected only when XSAVES was hidden via guest config settings).
Wouldn't we better mask the bit (e.g. in recalculate_xstate()) when we
find that no features requiring XSAVES are visible to the domain? That
would likely come closer to real hardware, which pretty certainly won't
offer XSAVES without also offering at least one dependent feature.

--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -1142,7 +1142,7 @@ void guest_cpuid(const struct vcpu *v, u
         switch ( subleaf )
         {
         case 1:
-            if ( p->xstate.xsaves )
+            if ( p->xstate.xsavec || p->xstate.xsaves )
             {
                 /*
                  * TODO: Figure out what to do for XSS state.  VT-x manages


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 07:21:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 07:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391692.629623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQODz-0002HX-9V; Tue, 23 Aug 2022 07:21:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391692.629623; Tue, 23 Aug 2022 07:21:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQODz-0002HQ-6c; Tue, 23 Aug 2022 07:21:23 +0000
Received: by outflank-mailman (input) for mailman id 391692;
 Tue, 23 Aug 2022 07:21:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQODx-0002HH-Dt
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 07:21:21 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2042.outbound.protection.outlook.com [40.107.21.42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e33658b-22b4-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 09:21:18 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4907.eurprd04.prod.outlook.com (2603:10a6:10:14::29) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Tue, 23 Aug
 2022 07:21:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 07:21:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e33658b-22b4-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YKv3isSmE5hY8/WnCFvWhwtfjQsHMy+PAfBIEPmTzFN6FJ+za42bj96pz2sRHBR0Sx1HoPgMVNd6qcb5sEdWNGAhmvGx/JhrRcnG93oKdIVcjSP08ESgtMtvMdBdi53y8cY/UK4/sYySjZ2MeZwoSsiv8bK7tT7quUfrMrarzCVHxUrkK6ynQyb+QgxmBzpqYU8CZgITi8MnhYwkrcxeM9cBHhudNgZ6OmkB9qO/As6kWrdGN5baSja1NBUGJaRMaFMoeubGaDq4i/kKtdxXbI4OlB41SFSTUtpFF99glJyxhUwcO8V/sVB3peeBobPrefDf1HOCW0JOzvGcqBs/fA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CAPQXkzhIff2CNVVOIYs7M9XH4MSGDROlNiJNRGHEUw=;
 b=DB4pv3xFi1qBpzGAUvc3kPaDQXNx9gfz83WXXw3iWBmhO01rwDirT2OjmXM3C/ESRGXM6nIVDLmojtIHrS8a68QaGe/kEP3VUCvA0EdaEZAOoO5D3ujgiBTEQtHjI3jq7aAwBp4eoSWC6Nip2mfrymM4t2+7hkTdbtSN8Udi9HaisaOwJELSiVnnIG0fyLjmWsPbdnoVZ78Zx5wvaBFfYAm2rkDC0jEyfl5WRSgpx0F4elS0arDhYI3JsWFYQR3gG6vcfg5iogLzpKsdPDASQW60JbvpQeXyHpgJ/zzCV0d3EBD59NtZMOI9dZHEoJNlCIza9BhKiJQvAWSqlxxcRg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CAPQXkzhIff2CNVVOIYs7M9XH4MSGDROlNiJNRGHEUw=;
 b=AobpJrDbhbx9kRqj+vTpIsG+NIDqzV3RLPh3By2xzj4cHWKeZTADDSXJKcxZhAgUJaNwVFgqXmtn8+7hiVmn7Ma8L2EScDDa2+fg12+/3Arl2JR2ppHO6d8fSwg/RzWqaD9TUwjAc12TlGceVSXGIUZIk7NUJhEtwLdupcmWf2d6DBxKx1culG2eRXu3avUVGLBGhLgTIVS95ZcNVt/OVaVA1moW5EN4gpE/EM0EmR35s3+b9kYOZ/OiPfhu4HiTccBYj+wj1TyS+ypZRBtzTVuHNXCEQkEkyLUwcNQmooCjhk22owaZDBcUr6cgXsTkiLiJ9dtUM8jthXD0kOMvNQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1dcb2390-e15d-815b-d63d-527628bd939a@suse.com>
Date: Tue, 23 Aug 2022 09:21:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/domain: Fix struct domain memory corruption when
 building PV guests
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jane Malalane <jane.malalane@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220822213036.21630-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220822213036.21630-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aff45ff4-31c0-435f-29dc-08da84d810b8
X-MS-TrafficTypeDiagnostic: DB7PR04MB4907:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jcWJiKBNej/BgMKlWMYXLkWThSEdJMqbQ7EnA3QVKTXpHfa4otZHYm6e7lYbis/Pyyi/4+AuXoeHhsAHcHzp79m17FGpOTZwqzh57XsgkSoGYLj1NCeFkpXL4FC3Om9rkIYrV0ZPCH4+SBsXejpe/yMJKHVvqfuKyIL9svXqyW6KZRVRUmLul+GDQGjMY8GyKLqxrEv8y3517aFUrodVkMA6eYSqysUFLhGKvdqxxQ5ka95uOgJE2GAbpA97xSXvVVeJ1Hn8PbS0xfxDEvoI3a5t6TUaTW4EBRB1x/va3vnEeREqLOkdDBsZaTf0fa/G6kgOyhz+nXnbl6aCD3NqsPTRyR9QoFsGjVLQuzMUH40Ptih13ii3mqmS8TVR3lZMv4jK1dAwKE4rRTmETnjpsHlTu2pXJBlfn9bFxdnYAWc+s0eT4nKQu2KIHrNIzGbZwrLexhjGpjemysxVa1Hui/I9JABRGbVuHg8gRCxrubl6uQm0pl/mx5nRKbOpAoCCdXCcCUWpDs/EdzlARfpIxIPKc5wMrgMnIODqnSZlJ/ODLmkU2uVm3cIO88awK/uyDl95T/BqolAG4Ovrz5yH9adWFttmdL5IVuyR7Fwr2k1viv3OYiBxraPRWLDcQtos/XlS25hlSxSs0bDcnkcL3vfrbsPgf6uQyMJts16H+gzjmkLrJvNAZ4XndeT63h/ZKFTqNZyi8U5oMJ3IkvuIy+qgRmdEAwlzPTSVvt3k7FKG1HjFCjzr3QY2ODDwCtyrWoHdIrajtt9BE+yjxxTC9eurNJtGLn/lXfpZJc09/I4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(396003)(366004)(136003)(39860400002)(478600001)(31686004)(6486002)(26005)(6512007)(316002)(54906003)(6916009)(36756003)(2616005)(186003)(5660300002)(6506007)(38100700002)(66556008)(66946007)(4326008)(66476007)(8676002)(2906002)(41300700001)(53546011)(31696002)(86362001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TTlleDBRaGp6RzJzS2ROZXhSeHBLSU1ERENtREx1MUxCVnl6MGNtS3BwVzVF?=
 =?utf-8?B?M2ZKTUdxbEJ0NlpZNEc3Y2FNVVBxbUl0N0JNMUhyd1NMUzZkcTVtQ0RZeVY5?=
 =?utf-8?B?d1N4MEgyNVlOWmp2MTQ2S1hGSGIwMUZvL0FQWWF4NWsxeEwxT1VwZjh5elp4?=
 =?utf-8?B?bHhORXp5Wkgvc21ZM01IRURuVkFxS2trNkR1MGx3N1VKZ3lNaitubE5aQ1pR?=
 =?utf-8?B?NEpwUDhXY2NIank4OFpxbnFxRWtVS1JBS2UrZEFhVmt4SXM5S2lxZkdpWmRZ?=
 =?utf-8?B?NCtydmtBa3hmL0Y2Ti92MUtja3hldVlBN1BMMlNyMmRLS1dqTjBlMTRXbXZV?=
 =?utf-8?B?MEtDbkdKWm11SE5PNzBOUFNxZnlwM2drK0FqU2MxVnExWnZoeVlmRXBoWEpH?=
 =?utf-8?B?UXdJcWZnWExRbkxYd0d1cVBJMTlMT0VnRk5SSkRnZ1lMcFRhQXAvamZ4RUk0?=
 =?utf-8?B?TEZHOGN4eE5HbmtqTE52Z0htd2tXc1A5cy9CN1lHbGVzWU9pRStpOUwxdXlM?=
 =?utf-8?B?Z1pWM1pqOGJZREF0NWpDbFA2OXlXaGpPNGhzcDIxeDRSMm5laGczVHhaNnhL?=
 =?utf-8?B?RURGaDUrTThXdFJuYi9Ubk5FOEk1S052TnJtQWRQSlRtTGMzRmhPVTZMUXQx?=
 =?utf-8?B?MlRWNTE5amZxZ2lhSVFPZldFbTcxcU5mRmtkaW9VMjlyZU9jaGdjMkg0U3BD?=
 =?utf-8?B?bUU3d1cxS0xxODhraUhIQ29rWWRxd3M5RkQrTjdnYTBsVndmK3Y2OEpHTUR4?=
 =?utf-8?B?RDluQkduZkt1TCtQb1p6ZzJzZ0Qza0gwTVBkUzhIQVl0QkVoNWRUSFpMME0y?=
 =?utf-8?B?eDErb052ZWlDVDJDeHVLU1RsUGxnM1VxRzV3WDB0UTJiZnU2MFdGRExYMWVK?=
 =?utf-8?B?d01LY1dnVTBiUEdIeVIxUjFrc1p0NHk2L1VPSFlJelFSYi9td0h2R1VlZS9L?=
 =?utf-8?B?clVucXpBWGFIWk1JS1RqODNSNWlQektQT1V6ek8xUisxYzB5VHR5Rmp4djRp?=
 =?utf-8?B?ekV1V3M2ekppeFhnd1V1ajc3bHgzcmZPUE5qaE5XVnM2UUhjeUhrSi9LU014?=
 =?utf-8?B?NWJTWlljcFlCUW85K08ybk9pOG82cUN5OWtoeSttWitZeFh6MFl4Ti83SE5z?=
 =?utf-8?B?MlArV1VUZ3Nvc2p3ZjE2bGhkaEx2ajk4TmpWWVB1dlFIbndST3dsTW5YUGV4?=
 =?utf-8?B?cGhjVlAxN29FV2h1ejFaN2dnUEFmb29KMXc1VlVkb09TYXRSVjRZTFlsS3dw?=
 =?utf-8?B?UkY4Zmp1eEJvNnpvTDNwditKKys1b3hYSEhuQkZxREJKaDlxVTU3VjB4Rlow?=
 =?utf-8?B?NFBCUEtZamhxNzJ6TlJxWDRmc1F3WEVIakxFZzc4WjZ6VkhObFNxSHZJeUhH?=
 =?utf-8?B?K3FuM0dkMnNBZmc0bUVpUVJUSE5DMDA3TUkxS3BCQkZ4Q3FGRENFanFFTTlR?=
 =?utf-8?B?eldKTFVJRHBuTzRQWkxUTytnU2FnZHhuSDlxSzdza3cvakgrckUvTjRYa1NG?=
 =?utf-8?B?WW93V3k5NG9jUWQ2TFZwNHpFdUpJdWpyN3ZrQVV1VWNhVzhvYUhJRHY0NTg5?=
 =?utf-8?B?R09lSEwvMHZueUxvUnF4cExLVGU4L091cmNsTXJSZHZCTkFFbkdxOUo2VmZC?=
 =?utf-8?B?N01zMnhoNjdYUXhGT3hEeWN6UjRKczN2MXp1SDdSUFp4amFhR1M2Uysrck9L?=
 =?utf-8?B?Zzl2a0JvZm1wZzFsell3NUlLWGErWXg4NGFrL0tpR0VGcVB6TnZ4OTZ3OC9j?=
 =?utf-8?B?RmpTK1M4cGNrU2gxSHgrVFhIRlBpVGJDZ0Z3NXJUYmo1WlNVMlhDektBNXYx?=
 =?utf-8?B?S3YvY1EyU25lUU92QlZxdmNxOXpBTW5pTXQyZXFiejF4cEdLL2VOYzU3MGRt?=
 =?utf-8?B?VExSa0lHVWNwb2RVS21nMmJRcThQaFZmd0RuVG1hWVZyelg4VHVidDNUcnVt?=
 =?utf-8?B?YWhXK3FlT2tkOE5zRTNqYUNQUW1kWTV6RVZsdkNoendiQ1V6bVFrdEY3SnU3?=
 =?utf-8?B?cERKVHI3RkpTZjFvS1pzSnJtRnpmeE5WT0djek4wOVZ2VnFUWmpwd3lEV0pa?=
 =?utf-8?B?bVBiLzlsTVhsRUNCYkpVVU51UnF0ZDZ4bXZ6WGVXd1dYRy94a1dxVmY5MzM0?=
 =?utf-8?Q?RKjRqodVyfE5xKFIFV14RjmAX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aff45ff4-31c0-435f-29dc-08da84d810b8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 07:21:15.5903
 (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: 6gRHTSreYyukJMMSzWAzy9cFZvTSMKqr57d2qteEo/3AccKWk6Yc1+voZRsZp13Gpi01GMZVcJwSNWAgUXjOfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4907

On 22.08.2022 23:30, Andrew Cooper wrote:
> arch_domain_create() can't blindly write into d->arch.hvm union.  Move the
> logic into hvm_domain_initialise(), which involves passing config down.
> 
> Fixes: 2ce11ce249a3 ("x86/HVM: allow per-domain usage of hardware virtualized APIC")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
preferably with a small adjustment (see below).


> This does not fix XenServer's wall of red from testing, but I have at least
> figured out what's going on.  There's a piece of plain RAM in place of a
> working LAPIC MMIO mapping (accelerated or otherwise), which causes HVMLoader
> to spin in a tight loop waiting for CPU 1 to come up after failing to send an
> INIT-SIPI-SIPI.

Where's that page of plain RAM coming from? And do you meanwhile
understand why XenServer testing is exposing the issue while osstest
isn't?

> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -576,7 +576,8 @@ static int cf_check hvm_print_line(
>      return X86EMUL_OKAY;
>  }
>  
> -int hvm_domain_initialise(struct domain *d)
> +int hvm_domain_initialise(struct domain *d,
> +                          struct xen_domctl_createdomain *config)

May I ask for const to be added here? Unless you anticipate the
function might legitimately modify the config data?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 07:40:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 07:40:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391699.629637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQOWM-0004pn-07; Tue, 23 Aug 2022 07:40:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391699.629637; Tue, 23 Aug 2022 07:40:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQOWL-0004pg-T7; Tue, 23 Aug 2022 07:40:21 +0000
Received: by outflank-mailman (input) for mailman id 391699;
 Tue, 23 Aug 2022 07:40:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ktx1=Y3=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oQOWK-0004pa-Tg
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 07:40:21 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d574b76b-22b6-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 09:40:19 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 63C835C004B;
 Tue, 23 Aug 2022 03:40:17 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Tue, 23 Aug 2022 03:40:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 23 Aug 2022 03:40:16 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d574b76b-22b6-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1661240417; x=1661326817; bh=+0y/igUiEW
	/l7fgCww+PcmK4Hxvd2NS0xaNQHbUgFvg=; b=Tf0XDBpB5KiFFrm5LMMA3IzIJR
	UndFi+j7IGrZoXc3yLZQk3KmZCzIxjZ8SV1KDmteJ4pcP2sHtwtb/pNla2E8d6VC
	N13bqWEEKZrFmQ401WP8i/Efxf7VDGvHt0cl46hHpMrD870qr26ojiaOhSS2GmEY
	z16wNgvV5xHXfsz5SmPB0q5PuR+wICmqJ4jAByin6ZSrmTTktCgSRJxiQc78VDA9
	gqflB61vb31quzrm3YMptmmgVdUWgmgHksWAa/BT46UVyHFaXlV6Aslb9An6ojAO
	rJCRHsDpVn5gSA3mM9xw1zI6yKcYAKjf02wVhMWz5G3mhWhwqb3KpScbfBeA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:message-id:mime-version
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1661240417; x=
	1661326817; bh=+0y/igUiEW/l7fgCww+PcmK4Hxvd2NS0xaNQHbUgFvg=; b=3
	vQcwZcwXT3hgVNNRBWUkSmARjBJktgYJ/6qKX1gKthHGRfcs+E1CtO6p3YjScq4V
	gtp9KptIU2KqYaqlMlXM733ykqlVuRFp5eE4gu1P9bgpJTP0mYJ/EPWWrPRCjCD5
	J/qotuvVBE4kDPRVc1xMc4ge2N6lORxTYpTeZCWIiBTtxensGY6PmD3xIcfM2uxF
	WB+cJyc5ez9bERaUNRkH64AJU70yldaJzF1nIE/CsTMyQu4i2YyLI7nRtsCVRyek
	Q7VhH4ubCLJELZnyy4sUJwg4h/UCgqwwZ4xyuCwR9fXvOk/fpOAfQ9I4fxN9i9JD
	/c5o+azla8DKajLKCKPBw==
X-ME-Sender: <xms:YYQEY-ku3_X51HrkRIpMjzu67CSqAUChqu8Hnn8ym7miUgG8cBCP-A>
    <xme:YYQEY11r7sgSZxElF-iHvtdrf--7voJD74NdLf-4hsX8fwU3IcEwHRe0BKVqCJUUl
    GejwjEkgJyB4rs>
X-ME-Received: <xmr:YYQEY8qcFVlMN-OoE6vTS_rEoqcBQRB05NP1AobUSjX26utniaTTQ99CvN2q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeikedguddvhecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfggtggusehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeuveelffekfeeuleeiueevheefiefg
    ffeggfduieeujeevveehfffgtdfhieejhfenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:YYQEYymqLFR6c95D96z_mY8awDmiIynw2BnO-fOqfw-xw7CBWYg0-g>
    <xmx:YYQEY80N9Z8gx-bBx5cGZfaDkR-fs9mm2IwJ7oiGzdK3wMYMKJrF2w>
    <xmx:YYQEY5uqn0Xk-fUMxQg_ZL4pf00-k8bBcS3ACDrCFLFZdaavkLOgPA>
    <xmx:YYQEY9jMn7IoxC8fY8cndGpfdtmvbq8SDGxq76Q9TMQ7lZj2-zWdJw>
Feedback-ID: iac594737:Fastmail
Date: Tue, 23 Aug 2022 03:40:09 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: =?utf-8?Q?=E2=80=9CBackend_has_not_unmappe?=
 =?utf-8?Q?d_grant=E2=80=9D?= errors
Message-ID: <YwSEXonOg1CMzeQv@itl-email>
Mail-Followup-To: Xen developer discussion <xen-devel@lists.xenproject.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="iWaubkXInM1xFKXz"
Content-Disposition: inline


--iWaubkXInM1xFKXz
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 23 Aug 2022 03:40:09 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: =?utf-8?Q?=E2=80=9CBackend_has_not_unmappe?=
 =?utf-8?Q?d_grant=E2=80=9D?= errors

I recently had a VM=E2=80=99s /dev/xvdb stop working with a =E2=80=9Cbacken=
d has not
unmapped grant=E2=80=9D error.  Since /dev/xvdb was the VM=E2=80=99s privat=
e volume,
that rendered the VM effectively useless.  I had to kill it with
qvm-kill.

The backend of /dev/xvdb is dom0, so a malicious backend is clearly not
the cause of this.  I believe the actual cause is a race condition, such
as the following:

1. GUI agent in VM allocates grant X.
2. GUI agent tells GUI daemon in dom0 to map X.
3. GUI agent frees grant X.
4. blkfront allocates grant X and passes it to dom0.
5. dom0=E2=80=99s blkback maps grant X.
6. blkback unmaps grant X.
7. GUI daemon maps grant X.
8. blkfront tries to revoke access to grant X and fails.  Disaster
   ensues.

What could be done to prevent this race?  Right now all of the
approaches I can think of are horribly backwards-incompatible.  They
require replacing grant IDs with some sort of handle, and requiring
userspace to pass these handles to ioctls.  It is also possible that
netfront and blkfront could race against each other in a way that causes
this, though I suspect that race would be much harder to trigger.

This has happened more than once so it is not a fluke due to e.g. cosmic
rays or other random bit-flips.

Marek, do you have any suggestions?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--iWaubkXInM1xFKXz
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmMEhF4ACgkQsoi1X/+c
IsHnxQ/+IPIs20JGMzdfmqTChAVu4ufQ6b5v9SR5xpILd69xIDKAaHu9a/D//yfQ
8RHbM8UwJ+38qYVKz5ZLib3ooYJIe/sEhwqGnpG8Rb48zh4VBmNsWbUhpldv4CtY
usQrbYpWiIctRxo+bJUeoAxEYLD26ivoAAp7LLUGXI1xm4G787Aq38kPh0hEPX2+
mHp0tUHfofLYmPujFrayqso/WWTCReYWuHTS6s2318d5dNQh71eCbcrr2wljjPv2
rfUnnaPyg13bH12xAQF0Qgn0c1760VclvhMCzx5MUVcK32F3Uuj3QM7/JPC5JWuj
EmwzvERFAXdBggHoV+ZHwV8Y8xxbkWMgakrT6ULjyFVgn1SGIaQkiZ/y+RoAZd0L
jOXdB2gp76S/owA5tSSw0P440F3GBjrrp+s/StuxYh3zRKCcgUyEEJATsAkEg5P8
d0M537LFxK6lMMJH60LgLL3Xc6IkbqhO6AXqN8TxyiqOJEPBXMOT+onNPQwHZBCp
5WaVEQ2ca41QbDjlMxEAiPLGjuHHuOwPCG7h35wRKxIl1//wc2VQL81wNmfgk/sd
DqrnuFwMi+5NC6rQ7egLo7s3qnPTlhtYoMr1Eou1cISesjpWSmXn+1ROPDYTNVFt
xiyV8M8mbNgu0oAOeiJu0yUR12qrgAnFU12zJQsvFAcLBlZf0rU=
=aJ5I
-----END PGP SIGNATURE-----

--iWaubkXInM1xFKXz--


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 07:49:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 07:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391706.629648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQOej-0005W7-R0; Tue, 23 Aug 2022 07:49:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391706.629648; Tue, 23 Aug 2022 07:49:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQOej-0005W0-No; Tue, 23 Aug 2022 07:49:01 +0000
Received: by outflank-mailman (input) for mailman id 391706;
 Tue, 23 Aug 2022 07:49:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CuCZ=Y3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQOeh-0005Vu-SN
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 07:48:59 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0bc7792a-22b8-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 09:48:58 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 314575CE62;
 Tue, 23 Aug 2022 07:48:58 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 12B2313AB7;
 Tue, 23 Aug 2022 07:48:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EzsrA2qGBGPARAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 23 Aug 2022 07:48:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bc7792a-22b8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661240938; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=MhYTAG5i0yW7vYXFI9hEnxXDQ0/3WKmtM1Rnps3f0tU=;
	b=nqgdRyoQPYdSUlERcCCEIllqECwycrvoZFywfVNSrpsuKar4UYInjLv9dZRX12jiMRa/Um
	uO8cV9wrdX2h8SnDcaN8kOTOD7XnBVPaxI/dSIl0f4sRDjDlgW4x1gZr+pzEHv8L8aLjSV
	jBtLsY6+gbRT1JXqkotCISQ49rJZHqY=
Message-ID: <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com>
Date: Tue, 23 Aug 2022 09:48:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
Content-Language: en-US
To: Xen developer discussion <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YwSEXonOg1CMzeQv@itl-email>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwSEXonOg1CMzeQv@itl-email>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------L1fVjKFGR3i0x00bmI8pOSlv"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------L1fVjKFGR3i0x00bmI8pOSlv
Content-Type: multipart/mixed; boundary="------------D2wyBK0WOEdr6tbAN0QMjt0K";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Message-ID: <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
References: <YwSEXonOg1CMzeQv@itl-email>
In-Reply-To: <YwSEXonOg1CMzeQv@itl-email>

--------------D2wyBK0WOEdr6tbAN0QMjt0K
Content-Type: multipart/mixed; boundary="------------uxLCvBm7x7jdOuztDEhbGPBh"

--------------uxLCvBm7x7jdOuztDEhbGPBh
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDguMjIgMDk6NDAsIERlbWkgTWFyaWUgT2Jlbm91ciB3cm90ZToNCj4gSSByZWNl
bnRseSBoYWQgYSBWTeKAmXMgL2Rldi94dmRiIHN0b3Agd29ya2luZyB3aXRoIGEg4oCcYmFj
a2VuZCBoYXMgbm90DQo+IHVubWFwcGVkIGdyYW504oCdIGVycm9yLiAgU2luY2UgL2Rldi94
dmRiIHdhcyB0aGUgVk3igJlzIHByaXZhdGUgdm9sdW1lLA0KPiB0aGF0IHJlbmRlcmVkIHRo
ZSBWTSBlZmZlY3RpdmVseSB1c2VsZXNzLiAgSSBoYWQgdG8ga2lsbCBpdCB3aXRoDQo+IHF2
bS1raWxsLg0KPiANCj4gVGhlIGJhY2tlbmQgb2YgL2Rldi94dmRiIGlzIGRvbTAsIHNvIGEg
bWFsaWNpb3VzIGJhY2tlbmQgaXMgY2xlYXJseSBub3QNCj4gdGhlIGNhdXNlIG9mIHRoaXMu
ICBJIGJlbGlldmUgdGhlIGFjdHVhbCBjYXVzZSBpcyBhIHJhY2UgY29uZGl0aW9uLCBzdWNo
DQo+IGFzIHRoZSBmb2xsb3dpbmc6DQo+IA0KPiAxLiBHVUkgYWdlbnQgaW4gVk0gYWxsb2Nh
dGVzIGdyYW50IFguDQo+IDIuIEdVSSBhZ2VudCB0ZWxscyBHVUkgZGFlbW9uIGluIGRvbTAg
dG8gbWFwIFguDQo+IDMuIEdVSSBhZ2VudCBmcmVlcyBncmFudCBYLg0KPiA0LiBibGtmcm9u
dCBhbGxvY2F0ZXMgZ3JhbnQgWCBhbmQgcGFzc2VzIGl0IHRvIGRvbTAuDQo+IDUuIGRvbTDi
gJlzIGJsa2JhY2sgbWFwcyBncmFudCBYLg0KPiA2LiBibGtiYWNrIHVubWFwcyBncmFudCBY
Lg0KPiA3LiBHVUkgZGFlbW9uIG1hcHMgZ3JhbnQgWC4NCj4gOC4gYmxrZnJvbnQgdHJpZXMg
dG8gcmV2b2tlIGFjY2VzcyB0byBncmFudCBYIGFuZCBmYWlscy4gIERpc2FzdGVyDQo+ICAg
ICBlbnN1ZXMuDQo+IA0KPiBXaGF0IGNvdWxkIGJlIGRvbmUgdG8gcHJldmVudCB0aGlzIHJh
Y2U/ICBSaWdodCBub3cgYWxsIG9mIHRoZQ0KPiBhcHByb2FjaGVzIEkgY2FuIHRoaW5rIG9m
IGFyZSBob3JyaWJseSBiYWNrd2FyZHMtaW5jb21wYXRpYmxlLiAgVGhleQ0KPiByZXF1aXJl
IHJlcGxhY2luZyBncmFudCBJRHMgd2l0aCBzb21lIHNvcnQgb2YgaGFuZGxlLCBhbmQgcmVx
dWlyaW5nDQo+IHVzZXJzcGFjZSB0byBwYXNzIHRoZXNlIGhhbmRsZXMgdG8gaW9jdGxzLiAg
SXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0DQo+IG5ldGZyb250IGFuZCBibGtmcm9udCBjb3Vs
ZCByYWNlIGFnYWluc3QgZWFjaCBvdGhlciBpbiBhIHdheSB0aGF0IGNhdXNlcw0KPiB0aGlz
LCB0aG91Z2ggSSBzdXNwZWN0IHRoYXQgcmFjZSB3b3VsZCBiZSBtdWNoIGhhcmRlciB0byB0
cmlnZ2VyLg0KPiANCj4gVGhpcyBoYXMgaGFwcGVuZWQgbW9yZSB0aGFuIG9uY2Ugc28gaXQg
aXMgbm90IGEgZmx1a2UgZHVlIHRvIGUuZy4gY29zbWljDQo+IHJheXMgb3Igb3RoZXIgcmFu
ZG9tIGJpdC1mbGlwcy4NCj4gDQo+IE1hcmVrLCBkbyB5b3UgaGF2ZSBhbnkgc3VnZ2VzdGlv
bnM/DQoNClRvIG1lIHRoYXQgc291bmRzIGxpa2UgdGhlIGludGVyZmFjZSBvZiB0aGUgR1VJ
IGlzIHRoZSBjdWxwcml0Lg0KDQpUaGUgR1VJIGFnZW50IGluIHRoZSBndWVzdCBzaG91bGQg
b25seSBmcmVlIGEgZ3JhbnQsIGlmIGl0IGdvdCBhIG1lc3NhZ2UNCmZyb20gdGhlIGJhY2tl
bmQgdGhhdCBpdCBjYW4gZG8gc28uIEp1c3QgYXNzdW1pbmcgdG8gYmUgYWJsZSB0byBmcmVl
IGl0DQpiZWNhdXNlIGl0IGlzbid0IGluIHVzZSBjdXJyZW50bHkgaXMgdGhlIGJyb2tlbiBh
c3N1bXB0aW9uIGhlcmUuDQoNCg0KSnVlcmdlbg0K
--------------uxLCvBm7x7jdOuztDEhbGPBh
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------uxLCvBm7x7jdOuztDEhbGPBh--

--------------D2wyBK0WOEdr6tbAN0QMjt0K--

--------------L1fVjKFGR3i0x00bmI8pOSlv
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMEhmkFAwAAAAAACgkQsN6d1ii/Ey9t
SQf/fYLV2cxYM5N+E3q9KOAN07zK8tTH1lhQn7dEGul5qM/OBdc0g4IEvyWABTgkMUJGeDacVfD8
09DLIhefe4xpdTZA7PKy9v8JmkjS/2aOx13mr80K1bJTlFbY8w+pT06q59TRg6aKEy8gCwgZjIi0
QWhCAyqCk39G3V0wBW+UFwnHrL0lIhAeKPiaAEj4wr41g1Kad1kOPX5Qv0imT9z1TsG01i9xXhAx
xmiBJdvZKRK3rxYkJryV6EDN1nii7jgQx3tXTVbh/Z3jp9T0khNI4dnIBRY9S1XC7ibdzeaaXM3F
abKSkelc/l35/lcseUjm/uiaLMOpwlQHLZscHfXKLQ==
=Irz7
-----END PGP SIGNATURE-----

--------------L1fVjKFGR3i0x00bmI8pOSlv--


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 07:56:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 07:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391715.629658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQOli-00072G-Lo; Tue, 23 Aug 2022 07:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391715.629658; Tue, 23 Aug 2022 07:56:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQOli-000729-J8; Tue, 23 Aug 2022 07:56:14 +0000
Received: by outflank-mailman (input) for mailman id 391715;
 Tue, 23 Aug 2022 07:56:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQOli-000723-1P
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 07:56:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQOlc-0005kj-5L; Tue, 23 Aug 2022 07:56:08 +0000
Received: from [54.239.6.189] (helo=[192.168.28.231])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQOlb-0002hv-SU; Tue, 23 Aug 2022 07:56:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=BtFIZIHjs3dBvxT1HH8CA3vL6Y3aLlZPeZs3StgF+/8=; b=a11u+5lmTg3ArY6MUD/rcFkNbE
	Tdv4AmqDNyxb7+t4N/Yjc4MN3HlHUzbPKCBoThTViE4jwE6rWPqlQiw17emDmijr81qbbEMRXF9Z2
	M5lmmwSwriTxXtz+hFn4tgVJpDZPjcbl7NdRXaEIJl9zIDXNPaxhhPD3nAbz8HovTqbE=;
Message-ID: <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
Date: Tue, 23 Aug 2022 08:56:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
To: Jan Beulich <jbeulich@suse.com>, Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
 <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul and Jan,

On 22/08/2022 14:49, Jan Beulich wrote:
> On 19.08.2022 12:02, Rahul Singh wrote:
>> Static event channel support will be added for dom0less domains.

I am not sure how this sentence is related to this patch. You...

>> Restrict the maximum number of evtchn supported for domUs to avoid
>> allocating a large amount of memory in Xen.

... still need the limit to prevent a domain using more memory because 
at the moment they are unlimited.

> 
> Please clarify here how you arrived at 4096 and why you expect no
> dom0less DomU would ever want to have more. The limit, after all,
> is far below that of FIFO event channels.

I will reply on this because I suggested the limit. A dom0less DomU is 
exactly the same as a DomU created by the toolstack. The default is 1023 
(I originally thought it was 4096).

I would expect that is 1023 is going to be fine by default also for 
dom0less domU as on Arm we don't bind physical interrupts to event 
channels. So the only big use for them is for inter-domain communication.

Therefore, I think it should be ok to default to 1023 if we want 
consistency.

If someone needs more than 1023, we could introduce a per-domain 
device-tree property to override the default maximum.

> 
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>>           struct xen_domctl_createdomain d_cfg = {
>>               .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>               .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>> -            .max_evtchn_port = -1,
>> +            .max_evtchn_port = MAX_EVTCHNS_PORT,
>>               .max_grant_frames = -1,
>>               .max_maptrack_frames = -1,
>>               .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>>   /* Maximum number of event channels for any ABI. */
>>   #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHANNELS)
>>   
>> +/* Maximum number of event channels supported for domUs. */
>> +#define MAX_EVTCHNS_PORT 4096
> 
> I'm afraid the variable name doesn't express its purpose, and the
> comment also claims wider applicability than is actually the case.
> It's also not clear whether the constant really needs to live in
> the already heavily overloaded xen/sched.h.

IMHO, I think the value would be better hardcoded with an explanation on 
top how we chose the default value.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 08:14:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 08:14:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391731.629669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQP3a-0001k8-N8; Tue, 23 Aug 2022 08:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391731.629669; Tue, 23 Aug 2022 08:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQP3a-0001k1-KK; Tue, 23 Aug 2022 08:14:42 +0000
Received: by outflank-mailman (input) for mailman id 391731;
 Tue, 23 Aug 2022 08:14:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQP3Z-0001jv-EK
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 08:14:41 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQP3V-0006bf-Fx; Tue, 23 Aug 2022 08:14:37 +0000
Received: from [54.239.6.189] (helo=[192.168.28.231])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQP3V-0003h3-9C; Tue, 23 Aug 2022 08:14:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=92yfh7FuRWCaWU02OkdHOpM8+LQT0WySM1CGNVI1f0U=; b=ZcHMdEGVl2oB9+HRybrkBzsH1y
	4HE9r/471qC+7gWj/vbCWtjdt+ygOc7k26KCo89Eswa5aRSGhr4gwTYJVmbM3SPf1HAbIAeyghQJy
	/k8GiIMt7efrqj8EngUdNDjNpKxFuED4jn3lJ+oLdWFytX6E5eLH6R2LoQ75o1iMNJhU=;
Message-ID: <9478285a-2a8a-de07-d6bc-4d9e043b7ccf@xen.org>
Date: Tue, 23 Aug 2022 09:14:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 1/7] xen/evtchn: Make sure all buckets below
 d->valid_evtchns are allocated
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1660902588.git.rahul.singh@arm.com>
 <710e9e6477270212136d6f2047fd15a033fa7d71.1660902588.git.rahul.singh@arm.com>
 <90ea98d7-58f1-4808-b691-c3a773a0476d@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <90ea98d7-58f1-4808-b691-c3a773a0476d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 22/08/2022 14:08, Jan Beulich wrote:
> On 19.08.2022 12:02, Rahul Singh wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Since commit 01280dc19cf3 "evtchn: simplify port_is_valid()", the event
>> channels code assumes that all the buckets below d->valid_evtchns are
>> always allocated.
>>
>> This assumption hold in most of the situation because a guest is not
>> allowed to chose the port. Instead, it will be the first free from port
>> 0.
>>
>> When using Guest Transparent Migration and LiveUpdate, we will only
>> preserve ports that are currently in use. As a guest can open/close
>> event channels, this means the ports may be sparse.
>>
>> The existing implementation of evtchn_allocate_port() is not able to
>> deal with such situation and will end up to override bucket or/and leave
>> some bucket unallocated. The latter will result to a droplet crash if
>> the event channel belongs to an unallocated bucket.
>>
>> This can be solved by making sure that all the buckets below
>> d->valid_evtchns are allocated. There should be no impact for most of
>> the situation but LM/LU as only one bucket would be allocated. For
>> LM/LU, we may end up to allocate multiple buckets if ports in use are
>> sparse.
>>
>> A potential alternative is to check that the bucket is valid in
>> is_port_valid(). This should still possible to do it without taking
>> per-domain lock but will result a couple more of memory access.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> 
> While I'm mostly okay with the code, I think the description wants
> changing / amending as long as the features talked about above aren't
> anywhere near reaching upstream (afaict), to at least _also_ mention
> the goal you have with this.

Correct, neither Guest Transparent Migration nor Live-Update is going to 
reach Xen in 4.17 :). Also, if we decide to continue to mention it, then
we would need to s/Guest Transparent Migration/non-cooperative 
migration/ to match the name we decided to use in upstream (see 
docs/designs/non-cooperative-migration.md).

> 
>> Changes in v2:
>>   - new patch in this version to fix the security issue
> 
> I guess you mean "avoid", not "fix".
> 
>> @@ -207,30 +216,35 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
>>       }
>>       else
>>       {
>> -        struct evtchn *chn;
>> -        struct evtchn **grp;
>> -
>> -        if ( !group_from_port(d, port) )
>> +        do
>>           {
>> -            grp = xzalloc_array(struct evtchn *, BUCKETS_PER_GROUP);
>> -            if ( !grp )
>> -                return -ENOMEM;
>> -            group_from_port(d, port) = grp;
>> -        }
>> +            struct evtchn *chn;
>> +            struct evtchn **grp;
>> +            unsigned int alloc_port = read_atomic(&d->valid_evtchns);
>>   
>> -        chn = alloc_evtchn_bucket(d, port);
>> -        if ( !chn )
>> -            return -ENOMEM;
>> -        bucket_from_port(d, port) = chn;
>> +            if ( !group_from_port(d, alloc_port) )
>> +            {
>> +                grp = xzalloc_array(struct evtchn *, BUCKETS_PER_GROUP);
>> +                if ( !grp )
>> +                    return -ENOMEM;
>> +                group_from_port(d, alloc_port) = grp;
>> +            }
>>   
>> -        /*
>> -         * d->valid_evtchns is used to check whether the bucket can be
>> -         * accessed without the per-domain lock. Therefore,
>> -         * d->valid_evtchns should be seen *after* the new bucket has
>> -         * been setup.
>> -         */
>> -        smp_wmb();
>> -        write_atomic(&d->valid_evtchns, d->valid_evtchns + EVTCHNS_PER_BUCKET);
>> +            chn = alloc_evtchn_bucket(d, alloc_port);
>> +            if ( !chn )
>> +                return -ENOMEM;
>> +            bucket_from_port(d, alloc_port) = chn;
>> +
>> +            /*
>> +             * d->valid_evtchns is used to check whether the bucket can be
>> +             * accessed without the per-domain lock. Therefore,
>> +             * d->valid_evtchns should be seen *after* the new bucket has
>> +             * been setup.
>> +             */
>> +            smp_wmb();
>> +            write_atomic(&d->valid_evtchns,
>> +                         d->valid_evtchns + EVTCHNS_PER_BUCKET);
>> +        } while ( port >= read_atomic(&d->valid_evtchns) );
> 
> This updating of d->valid_evtchns looks a little inconsistent to me,
> wrt the uses of {read,write}_atomic(). To make obvious that there's
> an implicit expectation that no 2nd invocation of this function
> could race the updates, I'd recommend reading allocate_port ahead
> of the loop and then never again. Here you'd then do
> 
>              smp_wmb();
>              allocate_port += EVTCHNS_PER_BUCKET;
>              write_atomic(&d->valid_evtchns, allocate_port);
>          } while ( port >= allocate_port );


I know it is my code. But I agree with this comment :).

> 
> at the same time rendering the code (imo) a little more legible.
> 
> Jan

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 08:14:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 08:14:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391732.629681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQP3c-0001zg-UG; Tue, 23 Aug 2022 08:14:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391732.629681; Tue, 23 Aug 2022 08:14:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQP3c-0001zX-RO; Tue, 23 Aug 2022 08:14:44 +0000
Received: by outflank-mailman (input) for mailman id 391732;
 Tue, 23 Aug 2022 08:14:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQP3b-0001t7-45; Tue, 23 Aug 2022 08:14:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQP3b-0006cE-1h; Tue, 23 Aug 2022 08:14:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQP3a-0002Oa-IT; Tue, 23 Aug 2022 08:14:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQP3a-00043Y-I2; Tue, 23 Aug 2022 08:14:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=22D8ct0U8HleDf/pENkOviK0KyyWz4wz6BviXLOZnvo=; b=53akmIjymJ6x7PsedVdNY71/3T
	RZOFbcSenEnLOlAFpHTFtVgQ5zz8CasNT4kXbu6W2ld05upJLnY9bOvQv3OkKtHG4mLDNSybyXYCm
	ieRrBiB78gKBpKa5WCJkUHTJ8Gc6Z3vKI9uVyWj6xDyi0n+c3NRbwyum9sZX+M9Vbrzo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172716-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172716: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 08:14:42 +0000

flight 172716 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172716/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start             fail pass in 172706
 test-armhf-armhf-examine      8 reboot                     fail pass in 172706

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172706 like 172108
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172706 like 172128
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172706 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172706 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   19 days
Testing same since   172384  2022-08-11 11:13:58 Z   11 days   24 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 08:23:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 08:23:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391755.629695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPCC-0003zA-1l; Tue, 23 Aug 2022 08:23:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391755.629695; Tue, 23 Aug 2022 08:23:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPCB-0003z3-VM; Tue, 23 Aug 2022 08:23:35 +0000
Received: by outflank-mailman (input) for mailman id 391755;
 Tue, 23 Aug 2022 08:23:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQPCB-0003yx-0R
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 08:23:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQPCA-0006lh-IE; Tue, 23 Aug 2022 08:23:34 +0000
Received: from [54.239.6.189] (helo=[192.168.28.231])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQPCA-0004AW-7A; Tue, 23 Aug 2022 08:23:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=BEP38Hl7dvqT7SRglAfT65scBM9p/TCTK7bMydTOnSc=; b=iVFt8HzDw6eRH6NE5wTMV9zNUS
	0WqRTiH6LVlDxT56luqpkZQlNwohLO+6plOba06bcXZlVMMYto91myqEOoLoFbS81QJ1AmzE6jO50
	cy6WFaxPlH9WEn+zdLzbXAp8nCrlqdErFlcDWze7s7gmUQuG8AAWTeLso7ICbsodk0XA=;
Message-ID: <35a0b685-4c70-b9c0-0635-67e54e4315c7@xen.org>
Date: Tue, 23 Aug 2022 09:23:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 4/7] xen/evtchn: modify evtchn_bind_interdomain to
 support static evtchn
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <abe4c5be55125eb3da33dbd187fd9b8ad5ace714.1660902588.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <abe4c5be55125eb3da33dbd187fd9b8ad5ace714.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 19/08/2022 11:02, Rahul Singh wrote:
> Static event channel support will be added for dom0less domains. Modify
> evtchn_bind_interdomain to support static evtchn.
> 
> It is necessary to have access to the evtchn_bind_interdomain function
> to do that, so make evtchn_bind_interdomain global and also make it
> __must_check.
> 
> evtchn_bind_interdomain() always allocates the next available local
> port. Static event channel support for dom0less domains requires
> allocating a specified port.

NIT: I first read this as you are trying to describe what the patch 
does. I would add "currently", "at the moment" or similar to make clear 
this is the current behavior.


> Modify the evtchn_bind_interdomain to
> accept the port number as an argument and allocate the specified port
> if available. If the port number argument is zero, the next available
> port will be allocated.
> 
> evtchn_bind_interdomain() finds the local domain from "current->domain"
> pointer. evtchn_bind_interdomain() will be called from the XEN to create
> static event channel during domain creation. "current" pointer is not
> valid at that time, therefore modify the evtchn_bind_interdomain() to
> pass domain as an argument.

Ditto.

> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 08:29:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 08:29:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391761.629707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPHd-0004cq-LT; Tue, 23 Aug 2022 08:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391761.629707; Tue, 23 Aug 2022 08:29:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPHd-0004cj-Im; Tue, 23 Aug 2022 08:29:13 +0000
Received: by outflank-mailman (input) for mailman id 391761;
 Tue, 23 Aug 2022 08:29:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQPHc-0004cK-0B
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 08:29:12 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062.outbound.protection.outlook.com [40.107.21.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a95f5115-22bd-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 10:29:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9517.eurprd04.prod.outlook.com (2603:10a6:102:229::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Tue, 23 Aug
 2022 08:29:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 08:29:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a95f5115-22bd-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dy2Nxrij1qCysWJti5HM3QkciekIh0/obWk2LgfUvwRK+/FEcauEbl3cSYLLfshyiRny98ob6QOFiuOW0/v1YhJS5sTWAPFkT3L0KmHZy7vv5B6VWkJRoetUSqJBAcQbTWgOqaBDX+PB8kKWPbnY/0ZPH5DBi+GWvaAxvbR2hdSbOEycR6meLfUoKvcl9SXhU/pzDggzpdji1nsaeoHu5dKBiAbXVKkZNzlQeWBLGjskKRPzvtRh3amMC5k/PwR+qpOTw1kmVgESi1K9p7bD21XSps9k29e3opsaEEr9TpPZal+63CTHqdFM5pAT9UclOpCDGuMA6y5m3U6o2iQlOw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fV/AMztGcI3Kt30otJGmkIe11yMCQPqDFKTbdiuNXzg=;
 b=A9K0dp56tNV8ggLK87UbjeFILZ2wCRb6Pbu94evORyzJxOWNPfmIgH64N4eq4PCTKyxxz4IYbHPM+TeSwrC8gwUleBkF5Lr8gE0CI4fv/mmpJG8sygC5QCdzZPFZNpdH8N1wvNV583eW6E1F8/xI3HDcXGBPE6j6It62Vbqt06ucGHbJ+dy7XDmN92V4s7s0E/lLddjsjY0YPArmvY1+kviYht21dGegYI3kW/YPGTCzEsLqngj9xKOBtBaXAo+2ukizUWxNQ/vZR9v9JhDlWs8iRa4pWiJfrATYPv2+p9mw90cLjFK5MZmzHUGQ0gDs4Qq7x0PHyutzOdBMLGcGsg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fV/AMztGcI3Kt30otJGmkIe11yMCQPqDFKTbdiuNXzg=;
 b=rwfFBFbNojI9Ro3xrqm63txKZiU4pi2pjkszb7JUUVEp0SHi84yMn6A2j/9sKnSI0bIVk+ky2AFEziMHQHePmvs/E3BYQ8cSLuV5DRXUPIZa1oyrlBRotVmLKZ5yrQ9UrUQd8zsAmnLI+C6m2a9jKd0hZfQ3aOx9UFEuilLSL59P5At2hVmvt009nCLnpTC4RFtS/MTcwTTwTRZ2K0lrYducyj5qDA2A7KkRoTirvEXSNKdlwO5vc6BbQdes1f2naaL1AUlJrED2lXwTxGbNY1qkbq1sPZR0rSysJbp8FrxdWvXelwQ404FYzbJaISSHjWD+aCdObA0daB2N/vqFKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f8a3f7d6-1db9-cc74-5d60-8a0e22b80a3d@suse.com>
Date: Tue, 23 Aug 2022 10:29:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
 <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
 <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 65cebb20-3bb4-4d95-8e43-08da84e18c36
X-MS-TrafficTypeDiagnostic: PAXPR04MB9517:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8dFj4HBRrHNtEEvx1XC5uGnOb1BcIBbfGOnshNrJUQjs0H/5vEeoF+tSysQ7qIIiIEpcnm2wFB9jSJTDYFpzmG4VQIN3483R+4yGZVD6d+2zkGw+LTNiu12/vs+yuwyaU6QGQw1ajauZ57KFzL3uwdOjp2YO0D7wEscV0zVR2+jgKSijeQuDjKYncWH0DWvOuQfI5TOKEgOzAtZ5J+YPr5SbbhGGu7Phu+/35oriXp18JWsntgWgsIJrE2JF3ShpyLE0/4A0PNvfi/hO9HAs2bN0DkDwLaagKasEhduJk5JPFPxjw4+cSAOSPMKhPhDH1E/CPRqrQETh/0WMtZqM+CBhz7tronXnn3Lfi8g7NBibRq31AkDrp5i+io90wRy2Hu4LeYNooq74N8u2MTbD2JRl+OJ4wQt9C3p6LsWxmKMqXYCHWGtlBzZKCVI7xjJvOf3vf4NeZS4bA0DMjzq+6cngZD/X6U9oX+X/arxs5LnfhPoA2XpK3/33ClBwcIAxAMfrPKG1dXbNRP3ViFf/7cMQOPE6wUcQqt64Xj9JmXc08hmXgGGnleHyDRGOq1zrJO2/Dr9fMv7aBLI5TqfdolG5nPGE06B2EXGRohtMGqvOGgMgtPXa0AfBaUqmc4DfeQMvt3GVtxDy8acxvkv81/u8Uf0BycSZDHE5pDjfuqrYkt1+kQ/dnLaoImA/TCw4TP1nDa5qELSlY8XF4kUARQSd6SbKBECPoYmXl7Ji63Vz9XUoGlBC5BeAgXdjZQ37NMUfFxLctMyj6lI5tUYDNM+yZud8f3y4GNboL5wWCQM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(376002)(366004)(396003)(346002)(478600001)(6506007)(53546011)(2906002)(86362001)(31696002)(36756003)(6512007)(26005)(31686004)(41300700001)(2616005)(6486002)(186003)(316002)(66946007)(38100700002)(110136005)(8676002)(66476007)(4326008)(54906003)(66556008)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEVOMU5wanFVM3dwMDNjM295RXlXekZlai85M2luVjNSeVYxaW9KNWpKSDNV?=
 =?utf-8?B?THZFZXhzSEZqMVBtdkJRTGV0MFp3bEwrWFhYZEJrSUd1OEZKZFZyT1diTml3?=
 =?utf-8?B?OFdQQmJPbVRSWWxyUUFoYVA5UnhqaEZDUUh2ejdHUkhMSmhEVEFONFdoaXFX?=
 =?utf-8?B?MnZHUElMWWNuZkkrSFhyR2dnUUFqbUVQN09CVFRNc3JHUzFqdktPdHBTbWp6?=
 =?utf-8?B?Wm1YMHR4MUZmN08yWkl2OGdCRFdaVjdHRGtMMTNGOWZHVVJSd291bGlvWllR?=
 =?utf-8?B?ek5QQXNkaGRnYjVEWGxveHNNVXdmbXRZSVlsbmI4d3V4VzRuQjZ5L0xRWEQ1?=
 =?utf-8?B?Z1Q1L0l1NEhSZitCU0l2QVRaNk90ejJGb1l4M1J3MzlkSG1ZZ1F2MHBuV3Fp?=
 =?utf-8?B?TW9UYW8vdmk2ZVNwUkN6MUdJMTBhMW1CVFA4RGM0Qk10VFpLUnpCeGhrYU1r?=
 =?utf-8?B?b0ZjcS95UXhFc1JJanZoNW0zK0xIN2JhTWNJNndhVzQ5QXdPTUl0bmF6cThj?=
 =?utf-8?B?VGp6dEdqOUR2dTU5NEhwMmtMU2pvQWYzdFU3Z00zT0VzR1ovd1lONEZ5UWJU?=
 =?utf-8?B?SC92ZlVnWnd5UnRqei80Q245M3ZUUnI0NnFUdjExWFFJUEJzajlzVktuNVQ4?=
 =?utf-8?B?TlJ2bWNqVStNRHhNTE1mL0llRnJuQ21ob1JuWWdXYkkxbTBzMTBkZEJUcGpF?=
 =?utf-8?B?YWRjRjVjaUJrN3pUMjF5NU1nOUVkRVh0ZVljRUVrRVVkS01GaDZJbGpmcEVN?=
 =?utf-8?B?b3RlaHZldjBJUjhLQnFMdXpzUTlGNzdFQU5rR0hMUEdLQWhZTGIwM09qb29T?=
 =?utf-8?B?L3pKRkpzUUVDdjhCTXNrWmJ6WEtLMVhTRFViWk9neVZUQ1FEZDY5bXdqR0I3?=
 =?utf-8?B?K3QydmhSWHdQTHJEM0pKYVlmemY4K2szcTlEVEVyS21SaVpibTRtZVNNZ04x?=
 =?utf-8?B?VkdIWXJsYUNsb1ZVb3hRTkdFTzBEZWpUY1QzcmhlYlFOckNzUHdWd29CRzJv?=
 =?utf-8?B?N2tETkdWOE9LOTlzLytxSmR1MEJ2Y3JGSzc4d3Q1V2FUc3N0VXU2OVlidGda?=
 =?utf-8?B?dmtrSGJodFRoTDVJZ3A2MGtGZ29SNDJ1SDhYdTBIZjFsY0UrWE1nWXVOcndM?=
 =?utf-8?B?N2lXazdHelFPTVdVS0RDTTZFWWRPNFBpNVcwWjVQOEhDL3ZpUlRmRU9qNFBz?=
 =?utf-8?B?ZEE2MldvRmNWVUVZeTIrRFpqb0NTTTArRXVFSlpYOENnWmRYNnRmRWtscVdT?=
 =?utf-8?B?SmNRSlJCRGVheXZhYVo0L2R1WTR1UTVDejNGdFBvb1hxZjVSc1JKMWNKZGtk?=
 =?utf-8?B?U2lFbjZ2M3JxRTBkYWgreEQ0UFVic1lyb3RiTmRZSWNNcUZTVmdBcHN2bzE3?=
 =?utf-8?B?TmV1azNhOTNBdTl3MFVkdW9hbk9RbkRmR3ZsVE9JNHlSZ1RFSG5WdXg0NUdJ?=
 =?utf-8?B?SFVBY0huQURZdW9qdm91czBDNkZCZWxsSGFpN25YSWhPU0hRa2R2VWRPZUVY?=
 =?utf-8?B?bDNTMEtNWVhEaVIzZW92TFpJQVY4OWNHNE5xaHd6RFNNaXFzcS9zZTlHTXFW?=
 =?utf-8?B?QURON2JIamUrZW0rWDVSbVM2YjlBU3lNbDNFTFBNS08ySG10YVR2U1hzYmdC?=
 =?utf-8?B?dzBTTERVSTZPRWxXbWNhd1NEd1VaKzY5V1lDSitPcDU5YmJVc0hLZzNTSlJl?=
 =?utf-8?B?RnppNlFNOW9zbWZQWldZelhWOUJpOVg1TStTR1hRRC9WNmJRd0JmZ28vTGtl?=
 =?utf-8?B?bnJWUUtwKzRkekJqNTFMU1FhSnQ5N2poaC94VGtLQ01QOW1QckxUeExOdVZn?=
 =?utf-8?B?MzZ3SFZtMmtMR1BpaS9FZXRIUWlUMHlJT0V3T0RPQVhxN2JkaFhabGN2WXFE?=
 =?utf-8?B?ZXlObHVJUlNZb2RIV0gwcnQxdE5URGFnZzdoa2JHUDFQa1hyc2FYMVVwRDFC?=
 =?utf-8?B?QVRXa2JocVF5R1lNRWY5TllzVDdUMG1HUWZVMFJPaytwTUNZMXJUMkdxVVhQ?=
 =?utf-8?B?N0hJTVhKeVpMRTlwbUdFbUt2bEVYZ0Qxc2FYUjBicG1Xei9LNE11b1hLVTYy?=
 =?utf-8?B?QkV3TDBMWER5UkhzQ0FvUjVNSkp6cHduRDlOYTh4RHgxWENhOWsxZjQ2b2FD?=
 =?utf-8?Q?HTkOgTlV9gUOll8xzJd2uBQzr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 65cebb20-3bb4-4d95-8e43-08da84e18c36
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 08:29:08.3271
 (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: oETHinaiYa6tnMsXxLyrEkv3MXRt5jBz90+M9RDUycH9yDxhGeuOMoZnAHCqoomS1sv7yllZB+nV0B8nJYidvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9517

On 23.08.2022 09:56, Julien Grall wrote:
> On 22/08/2022 14:49, Jan Beulich wrote:
>> On 19.08.2022 12:02, Rahul Singh wrote:
>>> --- a/xen/arch/arm/domain_build.c
>>> +++ b/xen/arch/arm/domain_build.c
>>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>>>           struct xen_domctl_createdomain d_cfg = {
>>>               .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>>               .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>> -            .max_evtchn_port = -1,
>>> +            .max_evtchn_port = MAX_EVTCHNS_PORT,
>>>               .max_grant_frames = -1,
>>>               .max_maptrack_frames = -1,
>>>               .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>>> --- a/xen/include/xen/sched.h
>>> +++ b/xen/include/xen/sched.h
>>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>>>   /* Maximum number of event channels for any ABI. */
>>>   #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHANNELS)
>>>   
>>> +/* Maximum number of event channels supported for domUs. */
>>> +#define MAX_EVTCHNS_PORT 4096
>>
>> I'm afraid the variable name doesn't express its purpose, and the
>> comment also claims wider applicability than is actually the case.
>> It's also not clear whether the constant really needs to live in
>> the already heavily overloaded xen/sched.h.
> 
> IMHO, I think the value would be better hardcoded with an explanation on 
> top how we chose the default value.

Indeed that might be best, at least as long as no 2nd party appears.
What I was actually considering a valid reason for having a constant
in a header was the case of other arches also wanting to support
dom0less, at which point they likely ought to use the same value
without needing to duplicate any commentary or alike.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 08:31:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 08:31:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391768.629719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPJu-00063G-43; Tue, 23 Aug 2022 08:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391768.629719; Tue, 23 Aug 2022 08:31:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPJt-000639-VM; Tue, 23 Aug 2022 08:31:33 +0000
Received: by outflank-mailman (input) for mailman id 391768;
 Tue, 23 Aug 2022 08:31:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQPJs-000633-VY
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 08:31:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQPJs-0006vG-99; Tue, 23 Aug 2022 08:31:32 +0000
Received: from [54.239.6.189] (helo=[192.168.28.231])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQPJs-0004Lp-0f; Tue, 23 Aug 2022 08:31:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6W3oB9ehHAH61dP058XqXZJ1cD5BrjvhUQd6eAbovsY=; b=qMvu4p15yUBwXUGaO7zNXahvxN
	D4g/PxjfZHa2gPdQrfk6ERExhyTjgPFlVUbboJIv7qeetziCFT5LMlQF/qAYiZGNVpCi2OAH1gWDu
	l+1czaw3c2aCzSRUBM4Auwqs+3FN2pRPSugBFCnX79lZugKjAXAjUWlTTAm3UpuiNM0k=;
Message-ID: <d8f1056c-8ab4-f220-8f2a-c1042e77ed58@xen.org>
Date: Tue, 23 Aug 2022 09:31:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 5/7] xen/evtchn: modify evtchn_alloc_unbound to
 allocate specified port
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <02234e7aab1e8f3d18e5398f1c4745203df77364.1660902588.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <02234e7aab1e8f3d18e5398f1c4745203df77364.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 19/08/2022 11:02, Rahul Singh wrote:
> evtchn_alloc_unbound() always allocates the next available port. Static
> event channel support for dom0less domains requires allocating a
> specified port.

NIT: Same as patch #4, it is not clear you are talking about the current 
behavior.

> 
> Modify the evtchn_alloc_unbound() to accept the port number as an
> argument and allocate the specified port if available. If the port
> number argument is zero, the next available port will be allocated.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 08:59:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 08:59:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391776.629729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPkt-0000Ka-97; Tue, 23 Aug 2022 08:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391776.629729; Tue, 23 Aug 2022 08:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPkt-0000KT-5x; Tue, 23 Aug 2022 08:59:27 +0000
Received: by outflank-mailman (input) for mailman id 391776;
 Tue, 23 Aug 2022 08:59:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yuKU=Y3=citrix.com=prvs=227d21510=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQPkr-0000FL-9E
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 08:59:25 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0f72bfd-22c1-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 10:59:23 +0200 (CEST)
Received: from mail-mw2nam04lp2174.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2022 04:59:20 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5086.namprd03.prod.outlook.com (2603:10b6:208:1a5::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 08:59:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 08:59:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0f72bfd-22c1-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661245163;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=V9PhqpGn/KsmYU3j1aKqBBHT7BohlM4/U9f4V+NLOig=;
  b=ZjsGAAvnYKK9W50uCOBudr5dPy7hFOdDHcy2Wxo29rXnwt9/5UWC3AGe
   NoRTJ3hhMfRfEbMNiAhXTIHbQKeSQw7Aksb2biiYxfl7KJ8R0MLeEh1nD
   zscDZrQ9G8szDm5k/epkpyV/EEysVCgaXFXy5CnDqqNOOzpVp/jSxuKkP
   U=;
X-IronPort-RemoteIP: 104.47.73.174
X-IronPort-MID: 78699890
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3ANU15lql0ozCWPwkzFVe7Dofo5mJPLRO08EFM2?=
 =?us-ascii?q?KgSY1vmP7IAGkQgjxdl23q3D9WdSWsbjYSa9Cl2TjqnBWN9arJuhPrzQlrcm?=
 =?us-ascii?q?afNfOKvFfQ/tuOhZJ+yecuwBSOG/nIFU+v9sTUN9U9gG+QbkrmlMFdhwNkk+?=
 =?us-ascii?q?ZPQdHNzqhxQOHcSKmGKKXGldnKPrsaiqcojRp6wNaxORNB066sGLrj2rJILA?=
 =?us-ascii?q?Z2SZ0ST8myStwg1H93e6B//fplV5GRHJEcfC4tzOwErl76EhCfnclADUquPR?=
 =?us-ascii?q?Vtg50MQtkk1FSVX6TEwmc0kujQ9C6ik9eRSOvk9CzJqB7jjaFxwcPzpkU2cC?=
 =?us-ascii?q?X60lnp8cc6mBDtGuYsSSSYNWuXkv4j4v2OCq3vCPbX5WCfDO2GQEjw/Lep7y?=
 =?us-ascii?q?owV0refCHQBPM2tJhKrHMwvas1EZ/VsM2AAn18t861BeQz2FzxfAyJ49IVE0?=
 =?us-ascii?q?LZfeXMXyHuTl+BLntUjDgL6QMD6ocHVnsm92nLl1R6MuJ6oRI6vTwKW2yjQ3?=
 =?us-ascii?q?RHRJJSDTvZtHCB71Ph0qT45ZEaIHPFBXK936hE+mg3PkZv9DYWKH4Odl3yC4?=
 =?us-ascii?q?JmgRrC9Ch5dQ+YhNyimom2Se3pQgD6DB273yIuUlt7SxccijwZYNos6C7eZk?=
 =?us-ascii?q?jvoyZj8ZUS7B7t7dzR9FjPOvUV98Dc+NGbI2tHDcZpY2c3LLRXraCjRqBKGb?=
 =?us-ascii?q?57/lPE0qFG6qbyLEvyudgiS4IYFo4tIV3GQze6ctx9zq8iIv5lkthaNmKDY2?=
 =?us-ascii?q?LLV3VBkSPHwUHm6sCbmJmB4enT41fi+g7cSQFvpRLCGg9D+d2nIEs2NzdnA6?=
 =?us-ascii?q?KYYMKfJhQrB3NgVzK6ziBL4vzR5jmeVNtGiVfoLl07zG4cdjh/FBKuaWHb8p?=
 =?us-ascii?q?95klJ0IWWdWxHEwf2zRUD+pq5Bg12Q3hRGSz51ihNmTwlSA0yhdIqk3MlggR?=
 =?us-ascii?q?AljvgywURWgEG8kf07ro1A095CZ8IIFk6P+Z9sFQSLYa8lwcZos7prM/5Ecr?=
 =?us-ascii?q?uQqfaP5K23cwH4bguudcyTIf8xNBIVWWLEpNheEy7oU+azQIcEq9RsmWW6KU?=
 =?us-ascii?q?XtoEQJh9NSDLhv45WNf1Hb6i/cCEld8en6lsnZtSfVGih9HLveww2MEerqEy?=
 =?us-ascii?q?BDz44UiIUgYFawDf0/zNeQm6z0hyqY60OY2sDz5GKeMj3iqcbUtLyDyaSh0H?=
 =?us-ascii?q?5Hs7yfGdR0JI5wk3nvbLggW4SSyvy7bnx9pTXmg7pbla/dvbrZNSUTKfz9Al?=
 =?us-ascii?q?W4X2H7OlnT97tT9VxYrlRvX9njfKmPkwK1tn5/JshUXNs8f0PnAV35ww1YVb?=
 =?us-ascii?q?SvHMMuuLZsZnYCNmE6ohK5+gnc6+O4djXdSz5ShTXXcObHaytdNudAr+Bq48?=
 =?us-ascii?q?ti+J/zLHVW0io9S70YYsJ9q4iHK20Q2fu1YoNWIqAi0p5iuxNhEtfEkdQOnF?=
 =?us-ascii?q?eDjtVffG3jd7JaxSYrSbC6k7AubKo5oTUKO4Y8QG13Sv+BGeUdx9RPfyt6ae?=
 =?us-ascii?q?sgu41LFkaNLp6FwQ5VUd3mlmpLNtk1JP2wYk1KXPvGUD7XJQuaI9mWUdWbYh?=
 =?us-ascii?q?3uZbzLUGhDsaXscbLGlVTNWA3XoL+hNpikEyhsdpuhgadhC+WJ1/q0rjQaSF?=
 =?us-ascii?q?5DxGdtZ5a+LEiYtPbvVU3SL3B9xGQbp9u3vn13JlXSCCKUqOH47/sXBbPUNG?=
 =?us-ascii?q?QFPsnn8F3wbBHdW5iiqyLxOuGIcsFfYkFtGKCymYfLevYVFIjLh3rC8Qc5I8?=
 =?us-ascii?q?2G7KmX/8VioKWM0apzxs/oEddCdndsuuvhMAtlQ3g+QL1aBslwwA8ve2Xdr4?=
 =?us-ascii?q?rgjWyd/Wo4TxgSd9DajyM65UsoKhVm0xPWllJkSjf8QTGvy2Ke6IBTtnQedt?=
 =?us-ascii?q?JghPg+3V2/w8pNH4hZduxx9PAPIkdvH/DfIq+cMM1O7yUWMQgvajknSYRirq?=
 =?us-ascii?q?P51164aCa5ifhdXbpIZLKhOoBsY9F11g3dcfi0ZTNkOmbwc7GsnNTkyIwk++?=
 =?us-ascii?q?Qwd5+lxqv4y947KcqJG90JDx6NsN+Jow3znjFeB4bVRPuSyD6fHeOz8LPWaN?=
 =?us-ascii?q?kZGUPiTmsLSbxljqhQDK282gOsCHWXlZ5ShRJSPwWeDkz1d58RWy4WlMJjT7?=
 =?us-ascii?q?Q7OHR/bEfx2H6iVtbhyObUhu1eFWNp7rMaV6cskarDULlPV5iwL/DfpdmRYi?=
 =?us-ascii?q?6wFjCI6a8lkUhpNJ3z5F9S7aAvmwCAf8sNeijuB9tdC2sbsonRF5Ef5vLJyR?=
 =?us-ascii?q?AQPwZO4JMDZV9IQrISHGr4ppskBjWZmtnaHKp12W8aO/ZL+9g+cFVqpIMQ2V?=
 =?us-ascii?q?bVGoG613jwUL2BE85N67dfkaIyt5U9yYuesYCbayWaMKEWrwG8nQZsk+ND1a?=
 =?us-ascii?q?qe52GIWbi6CmY9CNS4FxWi+UgrsBFdyXkATRfWncTqZxEbqW87pxQ8NzIlGS?=
 =?us-ascii?q?L3miN2+DE9rKIHw0KXGhKlKln0HKp9BA/sIbnzjwxkhuYWeo5gcKCJWAWiEe?=
 =?us-ascii?q?cpzIyNG4jjDkAK+EPhJqji3S+EpNkwCbabFIxvrmMbOyxBNEDxFLDViqaAty?=
 =?us-ascii?q?8r9j7Qh5FqzOM0Znu3S6NE2qvqHLwueRV2/4zRGGM3DIFhe2b/eihgMeNd9p?=
 =?us-ascii?q?QMp9zuhEfkCFf9ulXBH11k7B+//i3wwPHEpnewuSBe5Wf6Lp10=3D?=
X-IronPort-AV: E=Sophos;i="5.93,257,1654574400"; 
   d="scan'208";a="78699890"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ccicQT5b6CGUYwphaAB+QfbwOvk1LqxfgcdLiS7njWMW3H8jvxUagoSpeK51NhxDek+QuX2c5UIdpR8tBLM76ah2C5MTEhd8832LON1oi7j8fOuRteSz5CHcRfOrUf0sHfW+/tmtAYDjp39I0jMbeWTR2FJaYEAt8r1GaE/dWZv7VBFMMuu7QeNRgkZ+RqtVmLn9zRX3GMXqkaVyEZ/ykwQahQeBNVOhSXuRmmf2A3RCc8H7xRMjIo6GAe6/Wd3s6I11MiItxo/RV7aQ3vA+k7BUMTpo6zEKQkSGeboSicxYBHB/nDnXGtXtygzu1Tonbcn163rlTg/WWS+DyjFgcA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V9PhqpGn/KsmYU3j1aKqBBHT7BohlM4/U9f4V+NLOig=;
 b=R9Bx941TCiSCVZyEHM6LJUxNC41gVGH+hmaNYnISK0GW44CJ9vZZOnHl0mwqbc8QALQEynDz5eA1Y7gHc4N/uK5Mom/zL5qmC8KMnfgrrXAwfNTeVfKYPY25CLp87Mc3nUovfO7iax0YA59CmwV4fRkjLzTPSNUxaXI7xTWDk+ijBOxZO37FxpJuK69YtIcn+M3UDbh+0EDl6EhzmthaGmI9t4BsT08GJPeRFNwvfQR3UYT+fPCU+Tv0Wyvk/gP6yc0g3e2ZRuLvJQo4ZxWvuVmJT4iBDu9UW7aUHfzYq66vWNtYltHKKOClL/EKNjv128BjW7KkeM0UN94y3WpUlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V9PhqpGn/KsmYU3j1aKqBBHT7BohlM4/U9f4V+NLOig=;
 b=HRgA0+WpZ1nWcymv2TTpKtL8r66PRlc5zL17RsPt53FKmc0LrKwssrZsTYZidiDacCRayfyBUVD77POeiJbHNovzLc4n9BSjz2WsL8xw7dd2/8LZCBs03nKofcRmJYjSYiM7MD6qsL99ylxY6hK6RtzRs7gLnhB4mFu0rLYYYZk=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Topic: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Index: AQHYtrt8/1v0WOY/4kiCtfQ8qrAcS628L8cA
Date: Tue, 23 Aug 2022 08:59:17 +0000
Message-ID: <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
In-Reply-To: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4c8db32f-c08d-4e6c-d8e8-08da84e5c29d
x-ms-traffictypediagnostic: MN2PR03MB5086:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 5/eiAk+U1daoBvoeYG3iZ2/hVqkjiApjS72vmO7qvQmvsg4Fl3mg51nfJEWImhvIzQ/Hmgtyve58M1FyxPqBkULohCXu1+Vi3QYhyuksUGULi+jDdcru7ndGep2aRjsCMXL6i0DiCd+n5qAtfZ9brHC6pVZfs+KSeXsPxMo7wYradtZxv7KBLgJmKegEUav4fWmvtTljGFN7vmSAwhTSCDKK0FcCvSApqT/7Qu0fhs0b4S2+Zdy+N9FEyOCkyBcwAqiK5Hi2sdOOGanChTPsek1REH4mmg0+LcL1swx2T23GzRGgBF/YXc7u+h552WYO0oyuBJOT3ZVwHerDHu/z/rwgzC4j64Jh7PbB5McQ1kzhCJk466k3AB/SpzC+VKW5rIIZlg/dkDQeQgS7wHDrvgGLsIsmBA6YXza/g412AEOz1dqBnNuM5uO+xsnUYXVOMq6sHSp74ofm7LpOjbpe6lFQXd+sRjzSY8Iz3ZaROq+pw/LhqkkpP8Mkix4kfeOqOSFkVgL7gjTG6iCkvHXpQDtxLUDUzjTK1gO7NMWUduqluZfQ5eRvd2CS8kf71YNpaF3UQb/Ukl31bKcmhapHDrI66rjwz24qe5ZtXbxUMVfHpQMc4Z156KfAKHjx2v8RFu1aBzheMuUhzPRQkOWVRCsuyR7zd5C4B7uRMDlD2VE4Nve5+DQtbsrpPhumrVXNvdtlrojtPwI9shB6RGSh0ngOGiGty4xvOm9wXwx0BwhAWJKVydbBLnqkqXLF1f88akdq8cq/jlpogUGPVOHnbuO8IF6WI4dIGFKmmSbATmhgGfh8yLpj17NuMcmgCkzfDP5oUtgLxejAKcGWhu+1xL8AaGpJ0upimBUXDBUybX8=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(6512007)(6506007)(966005)(6486002)(478600001)(26005)(2616005)(71200400001)(53546011)(186003)(83380400001)(2906002)(41300700001)(8936002)(316002)(76116006)(54906003)(82960400001)(91956017)(110136005)(8676002)(66446008)(66556008)(4326008)(64756008)(5660300002)(38100700002)(31696002)(66946007)(66476007)(86362001)(38070700005)(36756003)(31686004)(122000001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RzNzSjBYTTBnenNabjNMNmZob3o5OE02MVN0TTZFWng1UlpBUDl6cHhqazV6?=
 =?utf-8?B?THpuNGRER2N2ZTdHOWFtbVN2VlFJSWVYL05nZzh5c2p6aFlyRkRKNmRJTTdU?=
 =?utf-8?B?eVBsYWRad1llSmhpSFFjMFN4bExkSGZ6RDJ0eDFEcEpjdlliRGdpNWdjNjNH?=
 =?utf-8?B?bHIvMGV5VFRHbWlCdVVaMnhueEw1K0RudVhWWlgrSDlPR2lISkxtQ1BOYk9q?=
 =?utf-8?B?NWlCaEd3YkZrSGpYTDRSSXdCVElSQmZWeUFVQ0d1ZTJTa3hBdFhmeHBCZDBu?=
 =?utf-8?B?ZDV2K2ZEUUVCek93T1YvSzFqSExZOS9XQ29CeC82WncwWkdKbjRuU05pU3Y4?=
 =?utf-8?B?aHp0ck5mSnBUYXE5Z3czN0diZXRMMDl2RnNVcE82ZnlKQjlVSjNJNklnVXdT?=
 =?utf-8?B?bUx6OFdlUW5JTHByUU14Mm05czNaVUMyYjVkek12ZFJ3REEwUVM1dUM4Qzc3?=
 =?utf-8?B?VllabGNGeW8reEh0L3ZQWFZMS0hYampma3hEODNxUkYrdnl6MXoxK1hZMHRh?=
 =?utf-8?B?Yzd1Rk5ZdVM3UTltRUNTSHEvcFB6bFZEK1V3M1M5OE8wWllnb21vL0VBMXVD?=
 =?utf-8?B?L0Jzak1FNGMzZGhwSENISGZ2TWhZYzRubXBBSFZzc0I3Q25zNkxOR2VnKzZV?=
 =?utf-8?B?alBCV2V6L0Qrd1VDU2Rtc0ZNVk9vTUpWZXpmOEJYZ1hLMHd4Qkg5TUIydHcx?=
 =?utf-8?B?ekZhTmpYMkMyWjdualVHdzF6aUZoT1pHRk5aRVRjbFl5WUlXMGhWOVA1YzVY?=
 =?utf-8?B?WEhmUWZadnZsVHZIRllOZDVHQ0NsQnRrN2tONWdHTkR6L1BlTUxFUkFzbEhw?=
 =?utf-8?B?YzZUenNtd0hrRTZPS2xxVEt1dE9NVHh4Tzg4SEJ6YjJ0TVlNUXJoNTlBY3Z0?=
 =?utf-8?B?OXU2WkYreEk0a0FvR3RBeS8wYlpZZkMxZm1XWmhxb3g5aTlKSHlNa1hlYzJK?=
 =?utf-8?B?M3lacjczaHVhK01HYUVVc09VN2VJKzRybDlzLzlMRXBrSnFsTjR6VlpOWXFs?=
 =?utf-8?B?MDBGWFB6bjJZQUR2cDRFV1k3L1RTL0JsNUJDVE1vWDdCSlU1YkFNTVp4VEJ3?=
 =?utf-8?B?clNmQVBNUDJGaHFKNytIYlJrR09UdHRTdHhUVnpxL0dsdGhRMlJONzJGbGFE?=
 =?utf-8?B?Vys3eWZPaHB6M2JWdFM3dGZyZUZDRWVXUEFWRzJMY3JyWXlpWk8wTm11N1lB?=
 =?utf-8?B?ODF2bzJMdHVvZ2JsNk1XdGFoTmJyRlRrNFBEVHlPYlpwY3Z5UnVwL2cvOVpi?=
 =?utf-8?B?V3hXY3ZJaGRlVU5vTVRONWJnTERtckNsTThBRHppVHZadlptQnExMFdTQnVB?=
 =?utf-8?B?UU15VHFEemJKMTVLdVZEUndTdEQxekxDWTdQaTRFS2VCaGtERTlKbU9ibmZV?=
 =?utf-8?B?NDd0bGZ0NkJRUHUvT1FZeFRGWU5uQisvU01CUmJZNXA1OEpEUU5aUHZlWS9t?=
 =?utf-8?B?TVprY1hnVXdqY0V1NXB4Rk9qZW9kckhGVmc0Z3g3dk5pVmU4aTE2TGxxRGtR?=
 =?utf-8?B?b1FtV251UElvUTAxVDNsaFV4Yk9OM001dHJ2RHN3NC9KTklIZVJPejdOT25T?=
 =?utf-8?B?UlZxbGRXaW1EbDBkNjZueFFOemdRVm5IY2hCMFR1SnZiMzhqM1VqZHAxQVN2?=
 =?utf-8?B?OXdQWGF4MDNLQVBvZEluYVpjYzhDc1hWOW5vUlBuZ2orNkM0Skx1N1VIOXEw?=
 =?utf-8?B?VnZ2MUFPM2tmT0VySlZhamJQRXJXOGgvOXo5U2VRWUtEa2ltTUpFTCtvOHNv?=
 =?utf-8?B?UlY5RytWMVpJdXNZdmhHZFNJMUYvSEt2TlB3UU5kM3lpQmRNR2J2RFNnQnhZ?=
 =?utf-8?B?VTB0ZGtrcmpNQThzRzNhQ1Ivc1RWWkM0QlhpMnI0cEZRbDVsRk02Njk1S0c1?=
 =?utf-8?B?ZlI0YnZjOFNycnRnOG1IR2pUeWZMd2t5WWZWZ2V0dVFRSno1aGhCM1JXdHNq?=
 =?utf-8?B?ci9aSGxKbmo2NXZBNGVwZnFxV2lacmtGcE1CRzJ3dUJQZFBhcjgvRlRqT1h4?=
 =?utf-8?B?bU82ZWNhcWlIYXo0dnY5MlBtald3V1FDOUsvellpRU1ZZkNqNm16d0NrWU5D?=
 =?utf-8?B?VWVBVEJXRHFrNHNybjYrV0pYdmx2S0YwT3FjeWZRSjZXV0xHSGp6LzBxdDVF?=
 =?utf-8?Q?ohiuqv0PxQU4BxDmeQun9+iOy?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DD5235C85EA1944AA686C013BDDFBE4D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c8db32f-c08d-4e6c-d8e8-08da84e5c29d
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 08:59:17.3379
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: a+FQeO/RymMTfH9iAD+WMqhFNSZrO09R+l+NRBLk7ACOTa/V469kdQ9pST1EVu6D/qR1xGOnx5oWeZ8SIOpWH11mCFsbz6B369UzZwKqK/4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5086

T24gMjMvMDgvMjAyMiAwNzo0MiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFdoaWxlIHRoZSBTRE0g
aXNuJ3QgdmVyeSBjbGVhciBhYm91dCB0aGlzLCBvdXIgcHJlc2VudCBiZWhhdmlvciBtYWtlDQo+
IExpbnV4IDUuMTkgdW5oYXBweS4gQXMgb2YgY29tbWl0IDhhZDdlOGY2OTY5NSAoIng4Ni9mcHUv
eHNhdmU6IFN1cHBvcnQNCj4gWFNBVkVDIGluIHRoZSBrZXJuZWwiKSB0aGV5J3JlIHVzaW5nIHRo
aXMgQ1BVSUQgb3V0cHV0IGFsc28gdG8gc2l6ZQ0KPiB0aGUgY29tcGFjdGVkIGFyZWEgdXNlZCBi
eSBYU0FWRUMuIEdldHRpbmcgYmFjayB6ZXJvIHRoZXJlIGlzbid0IHJlYWxseQ0KPiBsaWtlZCwg
eWV0IGZwciBQViB0aGF0J3MgdGhlIGRlZmF1bHQgb24gY2FwYWJsZSBoYXJkd2FyZTogWFNBVkVT
IGlzbid0DQoNCmZvci4NCg0KPiBleHBvc2VkIHRvIFBWIGRvbWFpbnMuDQo+DQo+IENvbnNpZGVy
aW5nIHRoYXQgdGhlIHNpemUgcmVwb3J0ZWQgaXMgdGhhdCBvZiB0aGUgY29tcGFjdGVkIHNhdmUg
YXJlYSwNCj4gSSB2aWV3IExpbnV4J2VzIGFzc3VtcHRpb24gYXMgYXBwcm9wcmlhdGUgKHNob3J0
IG9mIHRoZSBTRE0gcHJvcGVybHkNCj4gY29uc2lkZXJpbmcgdGhlIGNhc2UpLiBUaGVyZWZvcmUg
d2UgbmVlZCB0byBwb3B1bGF0ZSB0aGUgZmllbGQgYWxzbyB3aGVuDQo+IG9ubHkgWFNBVkVDIGlz
IHN1cHBvcnRlZCBmb3IgYSBndWVzdC4NCg0KVGhpcyBpcyBhIG1lc3MuwqAgVGhlIFNETSBpcyBm
YWlybHkgY2xlYXIgKGJ1dCBvbmx5IGluIFZvbDEpIHRoYXQgdGhpcw0KbGVhZiBpcyBzcGVjaWZp
YyB0byBYU0FWRVMuwqAgVGhlIEFQTSBoYXMgb25seSBhbiBlcXVhdGlvbiwgd2hpY2ggc2hvd3MN
Cml0IGFzIHRoZSBjb21wYWN0ZWQgc2l6ZSB3aXRob3V0IHJlZmVyZW5jZSB0byBpbnN0cnVjdGlv
bnMuDQoNCklkZWFsbHkgSSdkIGxpa2UgdGhlIG9waW5pb24gZnJvbSBzb21lIGFyY2hpdGVjdHMg
YW5kIGEgY2xhcmlmaWNhdGlvbiB0bw0KdGhlIFNETS4uLg0KDQo+IEZpeGVzOiA0NjBiOWE0YjM2
MzAgKCJ4ODYveHNhdmVzOiBlbmFibGUgeHNhdmVzL3hyc3RvcnMgZm9yIGh2bSBndWVzdCIpDQo+
IEZpeGVzOiA4ZDA1MGVkMTA5N2MgKCJ4ODY6IGRvbid0IGV4cG9zZSBYU0FWRVMgY2FwYWJpbGl0
eSB0byBQViBndWVzdHMiKQ0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+DQoNCkNDIE1hcmVrLsKgIExvb2tzIGxpa2UgSmFuIGhhcyBmb3VuZCB0aGUgaXNz
dWUgeW91IHJlcG9ydGVkIG9uIElSQy4NCg0KSmFuOiBCZSBhd2FyZSB0aGF0IEkgc3VibWl0dGVk
DQpodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjIwODEwMjIxOTA5LjEyNzY4LTEtYW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbS8NCnRvIExpbnV4IHRvIGNvcnJlY3Qgc29tZSBvZiB0aGUg
ZGlhZ25vc3RpY3MuDQoNCj4gLS0tDQo+IEkgYWN0dWFsbHkgd29uZGVyIHdoeSB3ZSBzdXJmYWNl
IHRoZSBYU0FWRVMgZmVhdHVyZSBiaXQgdG8gSFZNIGRvbWFpbnMsDQo+IHdoZW4gd2UgZG9uJ3Qg
c3VwcG9ydCBhbnkgb2YgdGhlIGZlYXR1cmVzLg0KDQpCZWNhdXNlIHRoYXQncyB3aGF0IHdhcyBv
cmlnaW5hbGx5IGFjY2VwdGVkIGludG8gWGVuLCBhbmQgSSBjb3VsZG4ndA0KcmV0cmFjdCBpdCB3
aGVuIGZpeGluZyBDUFVJRCBoYW5kbGluZyBhdCBmaXJzdCBiZWNhdXNlIGl0IHdvdWxkIHJlZ3Jl
c3MNCmFjcm9zcyBtaWdyYXRlIHRvIGEgbmV3ZXIgWGVuLsKgIFdpdGggQ1BVSUQgZGF0YSBub3cg
aW4gdGhlIG1pZ3JhdGlvbg0Kc3RyZWFtLCB3ZSBjb3VsZCBpbiBwcmluY2lwbGUgZml4IGl0LCBi
dXQgYXQgdGhpcyBwb2ludCBpdCdzIGRlZmluaXRlbHkNCm5vdCB3b3J0aCB0aGUgY29tcGxleGl0
eSBvciByaXNrIHRvIGFkanVzdC4NCg0KPiAgSXQncyBzb2xlbHkgYmVjYXVzZSBvZiB0aGlzDQo+
IHRoYXQgYnkgZGVmYXVsdCBvbmx5IFBWIGRvbWFpbnMgYXJlIGFmZmVjdGVkIGJ5IHRoZSBpc3N1
ZSAoSFZNIHdvdWxkIGJlDQo+IGFmZmVjdGVkIG9ubHkgd2hlbiBYU0FWRVMgd2FzIGhpZGRlbiB2
aWEgZ3Vlc3QgY29uZmlnIHNldHRpbmdzKS4NCj4gV291bGRuJ3Qgd2UgYmV0dGVyIG1hc2sgdGhl
IGJpdCAoZS5nLiBpbiByZWNhbGN1bGF0ZV94c3RhdGUoKSkgd2hlbiB3ZQ0KPiBmaW5kIHRoYXQg
bm8gZmVhdHVyZXMgcmVxdWlyaW5nIFhTQVZFUyBhcmUgdmlzaWJsZSB0byB0aGUgZG9tYWluPyBU
aGF0DQo+IHdvdWxkIGxpa2VseSBjb21lIGNsb3NlciB0byByZWFsIGhhcmR3YXJlLCB3aGljaCBw
cmV0dHkgY2VydGFpbmx5IHdvbid0DQo+IG9mZmVyIFhTQVZFUyB3aXRob3V0IGFsc28gb2ZmZXJp
bmcgYXQgbGVhc3Qgb25lIGRlcGVuZGVudCBmZWF0dXJlLg0KPg0KPiAtLS0gYS94ZW4vYXJjaC94
ODYvY3B1aWQuYw0KPiArKysgYi94ZW4vYXJjaC94ODYvY3B1aWQuYw0KPiBAQCAtMTE0Miw3ICsx
MTQyLDcgQEAgdm9pZCBndWVzdF9jcHVpZChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdQ0KPiAgICAg
ICAgICBzd2l0Y2ggKCBzdWJsZWFmICkNCj4gICAgICAgICAgew0KPiAgICAgICAgICBjYXNlIDE6
DQo+IC0gICAgICAgICAgICBpZiAoIHAtPnhzdGF0ZS54c2F2ZXMgKQ0KPiArICAgICAgICAgICAg
aWYgKCBwLT54c3RhdGUueHNhdmVjIHx8IHAtPnhzdGF0ZS54c2F2ZXMgKQ0KDQpJZiB3ZSdyZSBk
b2luZyB0aGlzLCB0aGVuIGl0IHdhbnRzIHRvIGJlIHhzYXZlYyBvbmx5LCB3aXRoIHRoZSBjb21t
ZW50DQpiZWluZyBleHRlbmRlZCB0byBleHBsYWluIHdoeS4NCg0KQnV0IHRoaXMgaXMgZ29pbmcg
dG8gZnVydGhlciBjb21wbGljYXRlIG15IHNldmVyYWwteWVhci1vbGQgc2VyaWVzDQp0cnlpbmcg
dG8gZ2V0IFhlbidzIFhTVEFURSBoYW5kbGluZyBpbnRvIGEgcG9zaXRpb24gd2hlcmUgd2UgY2Fu
IHN0YXJ0DQp0byBvZmZlciBzdXBlcnZpc29yIHN0YXRlcy4NCg0KPiAgICAgICAgICAgICAgew0K
PiAgICAgICAgICAgICAgICAgIC8qDQo+ICAgICAgICAgICAgICAgICAgICogVE9ETzogRmlndXJl
IG91dCB3aGF0IHRvIGRvIGZvciBYU1Mgc3RhdGUuICBWVC14IG1hbmFnZXMNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:10:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391785.629740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPvo-0002kr-E4; Tue, 23 Aug 2022 09:10:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391785.629740; Tue, 23 Aug 2022 09:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPvo-0002kk-BG; Tue, 23 Aug 2022 09:10:44 +0000
Received: by outflank-mailman (input) for mailman id 391785;
 Tue, 23 Aug 2022 09:10:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwVP=Y3=gmail.com=asr7247@srs-se1.protection.inumbo.net>)
 id 1oQPvn-0002ke-Cf
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:10:43 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 768424ed-22c3-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 11:10:42 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id w19so26145863ejc.7
 for <xen-devel@lists.xenproject.org>; Tue, 23 Aug 2022 02:10:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 768424ed-22c3-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=2u8Y+ycMFxdoVqEDjlWdaMOqsU7HmNTZqEDPUiMzZbY=;
        b=NZk1YLLTOycT/zm4r8GVbaEAfPh7ahEk7Mjwn2Xt9jB6051d0mLHgwQQRq0rV5lvZ6
         bNV35F+glQmTCCC/HYPIKUgQJJNk+1KIFHzu4OXXXaqWPzNOLq317f9nMv17BCg9Rqm1
         L45UzQOizHkJulGR84FhdgH2bZbJyJ4NoeKqPWY+WK1pa6wy8NNebTZvyR8UnYPZii4W
         /jcl4YatGD49O74H77TM/k6eURsKSde95cG36lAncQKNuvhaTkcoHMGK1lHNhsrojm6F
         TDv4ZcPUmbBXEUwV4RM2UatHBKM9vsvQRMiH7TGjMFf8vowYNF6zMltVjG9SpzZktW2d
         PjDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=2u8Y+ycMFxdoVqEDjlWdaMOqsU7HmNTZqEDPUiMzZbY=;
        b=7EY66Ya02Md0m2ezqLh8NJwxMUWAdCPHAkkejUMFLqbqKIUkbfrdSp0gFTSloPy4ZS
         BRutiWSZu3gnIg3zdS1K23vkHmYkk6vm0R2DOtdV0zuNNevzfn3JZ4tG+ounoo5uQn37
         AuFsds6OyrsHliSFrzWgnKh5DuaFPLE6x8R2x8RRSyLtqZi0YKuwrYBxKrW6mnRbuO9H
         D1aKugT0OIE1URW2LMU+weG5ORYk2sueP2tB1w6k4RWGTi9nAw49Q2rcMBNLdqEmnXIm
         CdUnEBGheGkbjSK/T9zAbo+AF+hnwyQ6G2ceIOVHTjk2d+m0ubWWks8YgK2GM59VAwU3
         ZtQw==
X-Gm-Message-State: ACgBeo3xzF+C32CWCPa0BGiYsnG+kgCeuuD2upbq0AHTOpWCwNENLvMF
	sGFzKuDct6EFIZJdoNIBL+l7y4f4dxuGiADFGtN7FqJgVj0yHw==
X-Google-Smtp-Source: AA6agR7h/V9Km9bsfLuonJKsBk+u4XN20hkhI3ArJE9VM7xvomLBqzK+LWlp/4qrmaF7d7og7IhE6w/mf7L29hbeH8Y=
X-Received: by 2002:a17:906:9749:b0:730:aaee:30e2 with SMTP id
 o9-20020a170906974900b00730aaee30e2mr15467084ejy.248.1661245841699; Tue, 23
 Aug 2022 02:10:41 -0700 (PDT)
MIME-Version: 1.0
References: <CABg_PyJ5M4tXoT4OO6xKn8csWMiwpZKoQjtPaWykvV6_wP5Pow@mail.gmail.com>
 <f2550c1c-b843-cd04-c3f8-91737cc192ff@suse.com> <CABg_PyL3eaeWAvS_pJaE9vUrbWPC=SkQBj4q4z37EqCPQM9YpQ@mail.gmail.com>
In-Reply-To: <CABg_PyL3eaeWAvS_pJaE9vUrbWPC=SkQBj4q4z37EqCPQM9YpQ@mail.gmail.com>
From: A Sudheer <asr7247@gmail.com>
Date: Tue, 23 Aug 2022 14:40:30 +0530
Message-ID: <CABg_PyL1n4wyb1no0AHA4weRAs6BHoTS36-AZJv-PTp9ffzNig@mail.gmail.com>
Subject: Re: USB passthrough fails with 64GB drive but works fine with 8GB drive
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000047768405e6e4f0ae"

--00000000000047768405e6e4f0ae
Content-Type: text/plain; charset="UTF-8"

Hi

I am able to mount 64GB usb drive to DomU  after changing the controller
version to 3.
USB device i am using is version 3.2 Gen2 but the controller attached to
DomU was version:2. So usbdev-attach failed earlier.

#sudo xl usbctrl-attach VM3 version=3 ports=6
#sudo xl usbdev-attach VM3 hostbus=3 hostaddr=2

With above commands, i am able to access usb storage in DomU.

i assume this is PVUSB method. Can someone confirm it ?


Thanks
Sudheer


On Thu, Aug 18, 2022 at 2:49 PM A Sudheer <asr7247@gmail.com> wrote:

> Hi Juergen,
>
> Attached the qemu-dm-VM3.log .
> No errors are reported here.
> With 64GB drive  in DomU, both "lsusb" and "lsblk" commands   lists the
> USB drive but dmesg shows I/O error.
>
> Thanks
> Sudheer
>
>
> On Thu, Aug 18, 2022 at 12:02 PM Juergen Gross <jgross@suse.com> wrote:
>
>> [removing xen-users to avoid crossposting]
>>
>> On 18.08.22 08:18, A Sudheer wrote:
>> > Hi All
>> >
>> > On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB
>> mass
>> > storage device passthrough to DomU.
>> > I followed the PVUSB method mentioned in
>> > https://wiki.xenproject.org/wiki/Xen_USB_Passthrough
>> > <https://wiki.xenproject.org/wiki/Xen_USB_Passthrough>.
>> >
>> > With 8GB sandisk pen drive, i am able to do USB passthrough to DomU.
>> > But with 64GB sandisk pendrive, though able to mount/umount in Dom0,
>> not able to
>> > do passthrough to DomU.
>> > I see IO errors in dmesg  when tried to access the usb disk folder in
>> DomU.
>> > Both 8GB and 64GB disks are 3.2Gen1. (Not tried with 16GB & 32GB
>> drives).
>> >
>> > Does anyone know why 64GB usb disk passthrough fails with the below
>> error ?
>> >
>> > Dmesg Error:
>> > -----------------
>> > [  128.333409] usb 2-1: reset high-speed USB device number 2 using
>> ehci-pci
>> > [  128.502872] sd 2:0:0:0: [sda] tag#0 FAILED Result:
>> hostbyte=DID_ERROR
>> > driverbyte=DRIVER_OK cmd_age=0s
>> > [  128.502881] sd 2:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 7a b7
>> 00 00 3f 00
>> > [  128.502883] blk_update_request: I/O error, dev sda, sector 31415 op
>> > 0x0:(READ) flags 0x80700 phys_seg 63 prio class 0
>>
>> Do you have the related qemu log from dom0? Should be something like
>> /var/log/xen/qemu-dm-*.log
>>
>>
>> Juergen
>>
>

--00000000000047768405e6e4f0ae
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi=C2=A0<div><br></div><div>I am able to mount 64GB usb dr=
ive to DomU=C2=A0 after changing the controller version to 3.</div><div>USB=
 device i am using is version 3.2 Gen2 but the controller attached to DomU =
was version:2. So usbdev-attach failed earlier.</div><div><br></div><div>#s=
udo xl usbctrl-attach VM3 version=3D3 ports=3D6<br>#sudo xl usbdev-attach V=
M3 hostbus=3D3 hostaddr=3D2<br></div><div><br></div><div>With above command=
s, i am able to access usb storage in DomU.</div><div><br></div><div>i assu=
me this is PVUSB method. Can someone confirm it ?</div><div><br></div><div>=
<br></div><div>Thanks</div><div>Sudheer</div><div><br></div></div><br><div =
class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Aug 18,=
 2022 at 2:49 PM A Sudheer &lt;<a href=3D"mailto:asr7247@gmail.com" target=
=3D"_blank">asr7247@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex"><div dir=3D"ltr">Hi Juergen,<div><br></div><di=
v>Attached the qemu-dm-VM3.log .</div><div>No errors are reported here.</di=
v><div>With 64GB drive=C2=A0 in DomU, both &quot;lsusb&quot; and &quot;lsbl=
k&quot; commands=C2=A0 =C2=A0lists the USB drive but dmesg shows I/O error.=
=C2=A0</div><div><br></div><div>Thanks</div><div>Sudheer</div><div><br></di=
v></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr=
">On Thu, Aug 18, 2022 at 12:02 PM Juergen Gross &lt;<a href=3D"mailto:jgro=
ss@suse.com" target=3D"_blank">jgross@suse.com</a>&gt; wrote:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex">[removing xen-users to avoid =
crossposting]<br>
<br>
On 18.08.22 08:18, A Sudheer wrote:<br>
&gt; Hi All<br>
&gt; <br>
&gt; On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB m=
ass <br>
&gt; storage device passthrough to DomU.<br>
&gt; I followed the PVUSB method mentioned in <br>
&gt; <a href=3D"https://wiki.xenproject.org/wiki/Xen_USB_Passthrough" rel=
=3D"noreferrer" target=3D"_blank">https://wiki.xenproject.org/wiki/Xen_USB_=
Passthrough</a> <br>
&gt; &lt;<a href=3D"https://wiki.xenproject.org/wiki/Xen_USB_Passthrough" r=
el=3D"noreferrer" target=3D"_blank">https://wiki.xenproject.org/wiki/Xen_US=
B_Passthrough</a>&gt;.<br>
&gt; <br>
&gt; With 8GB sandisk pen drive, i am able to do USB passthrough to DomU.<b=
r>
&gt; But with 64GB sandisk pendrive, though able to mount/umount in Dom0, n=
ot able to <br>
&gt; do passthrough to DomU.<br>
&gt; I see IO errors in dmesg=C2=A0 when tried to access the usb disk folde=
r in DomU.<br>
&gt; Both 8GB and 64GB disks are 3.2Gen1. (Not tried with 16GB &amp; 32GB d=
rives).<br>
&gt; <br>
&gt; Does anyone know why 64GB usb disk passthrough fails with the below er=
ror ?<br>
&gt; <br>
&gt; Dmesg Error:<br>
&gt; -----------------<br>
&gt; [ =C2=A0128.333409] usb 2-1: reset high-speed USB device number 2 usin=
g ehci-pci<br>
&gt; [ =C2=A0128.502872] sd 2:0:0:0: [sda] tag#0 FAILED Result: hostbyte=3D=
DID_ERROR <br>
&gt; driverbyte=3DDRIVER_OK cmd_age=3D0s<br>
&gt; [ =C2=A0128.502881] sd 2:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 =
7a b7 00 00 3f 00<br>
&gt; [ =C2=A0128.502883] blk_update_request: I/O error, dev sda, sector 314=
15 op <br>
&gt; 0x0:(READ) flags 0x80700 phys_seg 63 prio class 0<br>
<br>
Do you have the related qemu log from dom0? Should be something like<br>
/var/log/xen/qemu-dm-*.log<br>
<br>
<br>
Juergen<br>
</blockquote></div>
</blockquote></div>

--00000000000047768405e6e4f0ae--


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:12:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:12:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391791.629750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPx2-0003JU-Np; Tue, 23 Aug 2022 09:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391791.629750; Tue, 23 Aug 2022 09:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQPx2-0003JN-L0; Tue, 23 Aug 2022 09:12:00 +0000
Received: by outflank-mailman (input) for mailman id 391791;
 Tue, 23 Aug 2022 09:11:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yuKU=Y3=citrix.com=prvs=227d21510=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQPx1-0003JF-FN
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:11:59 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2cf728e-22c3-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 11:11:58 +0200 (CEST)
Received: from mail-dm6nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2022 05:11:54 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6708.namprd03.prod.outlook.com (2603:10b6:510:113::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 09:11:52 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 09:11:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2cf728e-22c3-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661245917;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=E/m2I6xBZvRox4xjVSfCYzSg9b/+dz6bpNHpW3VQyKw=;
  b=THM9bipKw/Pzn6jqNh5YMJG4xIjp2gbvn4D+ca7axPD8TwcAzk7Pl7j1
   hW3KYvqZcD2J3M+9y0ODh/GMt0VpiI7Wvcx2o2L4Uoa16dCPjn+4hqGci
   fkCYi3BgmSN6fJLBAGlaYAM5DW8yEl9v6hVSNBy6YW+LlVbMALevzPNhH
   w=;
X-IronPort-RemoteIP: 104.47.59.168
X-IronPort-MID: 78692427
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:5kAw5qKNAGx8tSZUFE+RyJQlxSXFcZb7ZxGr2PjKsXjdYENShT0Gm
 2EZCDiBPqrcYWL8Kt1xPN+x/RhUvZfQzdM1HVdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV
 eja/ouOYzdJ5xYuajhOs/LZ80s11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb
 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk
 L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE3vs3JR9rM6Ih2f9pBFtLp
 NIVdTBOYUXW7w626OrTpuhEoO0GdZOuEKZB/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe
 84ebjkpZxPFC/FNEg5PVNRiw6H11z+mLW0wRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp
 3KA9GP8av0fHIPPl2vfrijz7gPJtX64Z5scPbyHzcZBgx6/2XU3Djo4cFTu9JFVjWb7AbqzM
 Xc8+CAjsKwz/0yDVcTmUluzp3vslgEYc8pdFas98g7l4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9WopWm1876VqXa+PHYTJGpbPyscF1Jbs5/kvZ05iQ/JQpB7Cqmpg9bpGDb2h
 TeXsCw5gLZVhskOv0mmwW36b/uXjsChZmYICs//BwpJMisRiFaZWrGV
IronPort-HdrOrdr: A9a23:UV7PuaNLrmvaiMBcT2L155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90DHpewKQyXcH2/hqAV7EZnirhILIFvAp0WKG+VHd8kLFh4lgPM
 tbEpSWTeeAdWSS7vyKrzVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH
 Pz3Kp6jgvlXU5SQtWwB3EDUeSGjcbMjojabRkPAANiwBWSjBuzgYSKUiSw71M7aXdi0L0i+W
 /Kn0jS/aO4qcy2zRfayiv684lWot380dFObfb8yvT9aw+cyTpAVr4RHoFqjwpF5N1HL2xa1+
 Ukli1QffibLUmhOF1d7yGdgjUImwxelkMKgWXo/UcL5/aJCg7SQvAx+76wOHHimjUdlcA536
 RR022DsZ1LSRvGgSTm/tDNEwpnj0yuvBMZ4KcuZlFkIPwjgYVq3Poi1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwM/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFrxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kI
 SpaiItiYfzQTOaNSSj5uw6zvmWehTNYd3E8LAs27Fp/rvhWbHsLSqPDFgzjsrImYRsPvHm
X-IronPort-AV: E=Sophos;i="5.93,257,1654574400"; 
   d="scan'208";a="78692427"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QK0gZ3Lg6CSYt667CaPwCr5n4ppyom7g6h479rE6DYpKtQTSrzVoi+kzFflL0/PxbzLmEbruPPAOE6zTFAxMJOuqFen9GPahmYb6fru+AlLz8HP6Uiuj3YYOK6w0UzzoACnFtBAZYzxo7nZsiJYwVfOEcb07mnUDwBt/uzPHbC2VHaIzfRkpBfWuEQhuB+J21KiEBTL5A5QpFWPEwS39lERDjm7GSNfWO5jH/AvmcBvjfqh7Wp/FAASQ+BfhbU2N4cl75yj64rxqY+EIn/m1WBaa8Exm01imbliuwCXBqGZ1W5KscSBxGENRQvBkpIvkUf0vXWjNLdmzHEC4gjr7EA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E/m2I6xBZvRox4xjVSfCYzSg9b/+dz6bpNHpW3VQyKw=;
 b=gVvkc/8v65OBAO4nfkctAth0A3qMhheIN6FKxwHtGuhKinE0nKC2yvC8gUhRnaBGk+7tdca6U50TYPs6tmaUZdXEG+ohLrt3ksoo5J8jyYPuSSa1eOv4uCYPu/neMn4iJVFPXsXUmEFQ9V4AA1dcYHOCJiYXfYhCDVA3837BokeyOKUorm9kWeOARgordYMUixgL6zpuYNODzclI+4eB6Kd//mPcTNrC2bGNlu0Z36H829Ej4+dj1x366zf1QqNBxJH/uexV7qSho+NluISWRS4nPgh4+WBH+PrFNchgU42KSWeEo8eBe+lnqkGD6dh+2bBqTFLhy1hf9lB2XHWw5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E/m2I6xBZvRox4xjVSfCYzSg9b/+dz6bpNHpW3VQyKw=;
 b=Z9DHw1DZRdUYRSD4wqs9MBxFQYejN4UahqXSqkm5WSxPXWn0ao9gLlWnDCOQLbx23A3HDewVoqw+ZeAptAZisWZGSn8SksJ+7W2nmdCtYphxqC93iJf2Nahh3Qg1X9UkNMx/NPNt6zLM34HHV3cAd06HtpjBrF3+Umx4vWFHHQQ=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jane
 Malalane <Jane.Malalane@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/domain: Fix struct domain memory corruption when
 building PV guests
Thread-Topic: [PATCH] x86/domain: Fix struct domain memory corruption when
 building PV guests
Thread-Index: AQHYtm55VD5gh57AFES863M73+ue8628FP0AgAAe6QA=
Date: Tue, 23 Aug 2022 09:11:52 +0000
Message-ID: <b9470a27-9cc3-2d12-194d-59f7260dcf9e@citrix.com>
References: <20220822213036.21630-1-andrew.cooper3@citrix.com>
 <1dcb2390-e15d-815b-d63d-527628bd939a@suse.com>
In-Reply-To: <1dcb2390-e15d-815b-d63d-527628bd939a@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 715e8bca-5fb7-40d0-fc38-08da84e784ec
x-ms-traffictypediagnostic: PH0PR03MB6708:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 KZOianU0TljfJd9GcqaRVw6wNQAi2BPubGh/WwdEU6oR9d/1nRxgfnanz91cvWXG0ZIGl3PCoFoF6Kuby4U7Gz30YqPZJg+2xTHwQG4vFrj3PBjwWt49Y+0rMHdD5cQHTp3mqNNzQ7p09zT8uwLA+UOZyGqDpKf/LVpwbpe57caiQjmE0nH1aMU+iGPUgIRkUhjNHaJJCHC3wGF+lipAR4/JUKImF40WmW0andsegcCo5VXlIx+BsZ7yEoB54iVbop9NJpsSpZ+KNe3n3yMss+ZuyHiS4goYiP0q4Nxgk5yBl/sZs2Rkgj7C1VBvYXfQZFZNud9ZEAtpxrtBohKkhDhPzazPuyuyMcaezzXjh76TT67hVn+BaHYfQlHtEaPjO4YroR6VJBbbIAqpfzsP9+ny1ePS/All4BSCzpUBTCy3zWNzYyLV1SA1Ku1Fid7pYigXU0tPaKq/owwfdmvdoF3F1lUYUre4I0E6iTbpAxBWBpvkblYB/TsePMAZgV+2+hzvT+8GrWORAIDxV6d/+EHfOLEV0gVBO4k68NK8VEn9KJUbbknYMDN7RqMa0OQ79Inq7WwcChQo5cqkg3fQY7teW6xzoaBa6//qBY3tEyRCb+0yW9FSFdaOH1cZ/gxhoJG+pnHSOqAtv+CBhZZ7dmV+iSYbWcuMTT9BjRW7bCf2yOZldtmfUKGu+/kt6yi5KSemPmgaRFmHT2BwIDurb6qNlrMzBqEu9muB2AV/hVluH6HsmteCMDSsAZXwCdRLKXXE15ESXzSQtlDp3rgLz7P8nvhVpJ4x02QnJjDf2szjHnl56zHRucChmUhM/YEJpeGcrqmueQkOKN3Zzbhgtw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(396003)(39860400002)(366004)(136003)(6916009)(36756003)(2906002)(66446008)(4326008)(8676002)(64756008)(8936002)(5660300002)(31686004)(66556008)(91956017)(66946007)(76116006)(66476007)(316002)(54906003)(6506007)(53546011)(41300700001)(6486002)(478600001)(71200400001)(26005)(6512007)(31696002)(86362001)(122000001)(82960400001)(38070700005)(38100700002)(2616005)(186003)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ck9kRDZtVk02eDZJUGsyOEJsQ1paT3ZLcFRpN215S1VWU01KUWpseGxxYnB0?=
 =?utf-8?B?bTR2eklTcFVWaW9la3QzVzdLbVVZRWczd3pNM0lhQWNIRStXcDRDNllZZTIv?=
 =?utf-8?B?SDhkYThoVjAwZk5FWDNmc0Q2RkFQZ01oRDZNS0w0aXVtanQySVJ4UGY0TlRt?=
 =?utf-8?B?QmN0U1JWc3Y0dER1c3lKSWlKMHlYQnhNUyt6cndtcm0zbWVDRnNUQTMwSTVz?=
 =?utf-8?B?UXBEMEFseE5qMVltRGJnNHRURnc0dEhURGFCK0l2M1NkbWVBWG50SFBOVTlO?=
 =?utf-8?B?dUxYWDhoRC9IK2orVmk4Y0ltWHl3UjVVQjJxbVA1VTkxQ0dBY3RrK2UydXBx?=
 =?utf-8?B?cEY3RXVmclVtc1FsR21XTDVUNFN1MWFvQWZIQldFUUtiVVM1MFZjdmhlc3lS?=
 =?utf-8?B?V2ZrK2Z0WmV2M3J4RC9jUXMzRVJPWXVGVkw3UFdSZUQ1VkpsREw2N3J5U2Vl?=
 =?utf-8?B?YzlrR3loaUp4SVlxT3lGa2lVUHdjRjdGWXM4QjVYZ2R1SEFlNzQ1RElBbWpM?=
 =?utf-8?B?czNyWkhmY3VtYWd3NVVzWXdxY0lnM2V5R25MWGpjUTd0RVV2OU15emFVT2lu?=
 =?utf-8?B?QkI4V2Zxb1NDZFZUNzBNQUk2UFZieUZ6U3kxdkozWmNnNEJpYVM3RFMwVFdq?=
 =?utf-8?B?MDJwZDV2Q2s1aGdtY2d6SUFOaHlMaGQyTFFHSHVXU2MvYnA5WC9YKzVCQ2Vt?=
 =?utf-8?B?aFhhZnJVYS8zN3M0ajhVdnY5ektMTmRnK2huYjZmRkVsWGdUcTdTamVhdnlQ?=
 =?utf-8?B?OGV2dVkwZjRrY1BhcmlKaGpBTWxuQTlDclMrY3QrV2lYZjdTQ2pnRVRQc2VY?=
 =?utf-8?B?QTZQZ0ZpdTJyL2N5KzA4cFhHa1dvY1BrZ3JaRlh2b2dWWkxFY0c3bjdwdkVP?=
 =?utf-8?B?dmJEVzRzMERJbmp3eTBkVm85UnlXK1NKbzVhaDhOVnUzR0Yvbm0rc1pZajVL?=
 =?utf-8?B?MlpjSHlKKzdCanZXbXNXS0JHdzBHcFRSR3VMOER1dTMzYzROcmplekx2Ulo3?=
 =?utf-8?B?enpPb3hkUWh2ZFYrY3JlcU5HemNBN2VaRGpmcEtqQVQ3WVdRNSt3ZzdTODFO?=
 =?utf-8?B?TkRLMzhxQTlpR1FyV2gxdmtON2YxSnAvenVpRVhLVW5HWEtNUE1nRmNwVE9R?=
 =?utf-8?B?TDVIS2RTZlNlN2tFUVJiVHZ1S3h5MC9QVHlZeEVhVThZa0ZLWnRSOUUxV3dT?=
 =?utf-8?B?M2tEME5LSGVETlMzMXI3Nk1WUTBMdWNGWXVKUEgxbERpOHRoV0dVZ2FoanpF?=
 =?utf-8?B?QlEvREdQL2ZZYklNb1V4RUw4SmNmN3lqMFQvQ2FNQ1dGeGNsbDdrVkxhY0Vl?=
 =?utf-8?B?dDdpVmh5V1VRQXhPQjFKQ2ExY0VzamtPUkFOMmNGUlp5Zk0yRzdGckRoMWJF?=
 =?utf-8?B?b3pKN3A2NUN4YkZzSkZRRDhuQkZVS2ExLzlJNzlxWXUxMTBPR1hQZHEwSEdw?=
 =?utf-8?B?R1hTaHRCdExGWEF1Y215MktHb01OdHc1dnlWU2YwVmxUTmtIUStneHRiUjhJ?=
 =?utf-8?B?ZUR6dFdQKzk5QkpnK1c1bytxbXEvVC8yNjJFS1hMUFdScUlaU2poKzF1V1gw?=
 =?utf-8?B?dUZUbUsva0drUm0rY3Q3V3JhQmNLWGJncXZ3andhMWQzOVVQeCt5TXdFTG85?=
 =?utf-8?B?YUNIcDZFK2ttbWFOU3FoclhZbHk4TDY2SmVCTXJiclFVRHB5NTJJZ0VMOENB?=
 =?utf-8?B?YUJYMHBBVVBVOHdlQVB2MEVmYlllSXh0ZFhZVk9CN0t4Um1hbmFtRUErWVc1?=
 =?utf-8?B?M3BPbWticUtvVCs3Ynk0WElHWlBGVVE3WVBVY0NWVGV2QWdRcDBZNloxdStY?=
 =?utf-8?B?RGp6dVFiTFBzSmhjWkpPRzk0L3hjemVSRE4wbTIxQXhwRTVjdkZWUzZlVHo4?=
 =?utf-8?B?SWNWU3ltcjE3VFpTWDA3bzMxbjRSU3ZuMEZRV1dPN3pNRzVscCtVeGUyOG1s?=
 =?utf-8?B?QjFrekdGUGhtaGtCRTFLVXZBNHB1M2tWR0dyNitOdUVMRUhNeDFvbnNIVkxJ?=
 =?utf-8?B?ODBGR1Bmb1BtSCtLS202T3RRWGk1dFFDcitTV1NOYytVOVEvSS9UM1FCbnBh?=
 =?utf-8?B?akR5TDVHV0JzZUtqNjVmSlN0NitqRWpBVytuUjg3VE5aYmNZZThoaFJXSDU0?=
 =?utf-8?Q?2fqJwM3YhPwuo6KOWMAobjiuX?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CE5B6966D7B8B3449322DEA4BBD3BE78@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 715e8bca-5fb7-40d0-fc38-08da84e784ec
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 09:11:52.8156
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: EAG1e2uNYdyj5GWvAB7Xtyr04IVsnrCgMR2Q52sz+4j9g+gCX+8T9iJhBrwGmuIJFION26Yvv3rXOc3Q29SWsDZXn2v1Th06raidql1a13A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6708

T24gMjMvMDgvMjAyMiAwODoyMSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDIyLjA4LjIwMjIg
MjM6MzAsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBhcmNoX2RvbWFpbl9jcmVhdGUoKSBjYW4n
dCBibGluZGx5IHdyaXRlIGludG8gZC0+YXJjaC5odm0gdW5pb24uICBNb3ZlIHRoZQ0KPj4gbG9n
aWMgaW50byBodm1fZG9tYWluX2luaXRpYWxpc2UoKSwgd2hpY2ggaW52b2x2ZXMgcGFzc2luZyBj
b25maWcgZG93bi4NCj4+DQo+PiBGaXhlczogMmNlMTFjZTI0OWEzICgieDg2L0hWTTogYWxsb3cg
cGVyLWRvbWFpbiB1c2FnZSBvZiBoYXJkd2FyZSB2aXJ0dWFsaXplZCBBUElDIikNCj4+IFNpZ25l
ZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+IFJl
dmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClRoYW5rcy4NCg0K
Pj4gVGhpcyBkb2VzIG5vdCBmaXggWGVuU2VydmVyJ3Mgd2FsbCBvZiByZWQgZnJvbSB0ZXN0aW5n
LCBidXQgSSBoYXZlIGF0IGxlYXN0DQo+PiBmaWd1cmVkIG91dCB3aGF0J3MgZ29pbmcgb24uICBU
aGVyZSdzIGEgcGllY2Ugb2YgcGxhaW4gUkFNIGluIHBsYWNlIG9mIGENCj4+IHdvcmtpbmcgTEFQ
SUMgTU1JTyBtYXBwaW5nIChhY2NlbGVyYXRlZCBvciBvdGhlcndpc2UpLCB3aGljaCBjYXVzZXMg
SFZNTG9hZGVyDQo+PiB0byBzcGluIGluIGEgdGlnaHQgbG9vcCB3YWl0aW5nIGZvciBDUFUgMSB0
byBjb21lIHVwIGFmdGVyIGZhaWxpbmcgdG8gc2VuZCBhbg0KPj4gSU5JVC1TSVBJLVNJUEkuDQo+
IFdoZXJlJ3MgdGhhdCBwYWdlIG9mIHBsYWluIFJBTSBjb21pbmcgZnJvbT8gQW5kIGRvIHlvdSBt
ZWFud2hpbGUNCj4gdW5kZXJzdGFuZCB3aHkgWGVuU2VydmVyIHRlc3RpbmcgaXMgZXhwb3Npbmcg
dGhlIGlzc3VlIHdoaWxlIG9zc3Rlc3QNCj4gaXNuJ3Q/DQoNClRoZSBzaW5rIHBhZ2UgaXMgYWxs
b2NhdGVkIGFuZCBpbnNlcnRlZCBpbnRvIHRoZSBQMk0gYmFzZWQgb24gaGFyZHdhcmUNCmNhcGFi
aWxpdGllcywgYW5kIHRoZSBWTUNTIGlzIChub3QpIGNvbmZpZ3VyZWQgdXNpbmcgdGhlIG5ldyBz
ZXR0aW5ncy4NCg0KQVBJQy1WIGlzIHN0aWxsIGZ1bGx5IGRpc2FibGVkIGluIFhlblNlcnZlciBi
ZWNhdXNlIHRoZXJlIGFyZSBzdGlsbA0KaW50ZXJydXB0cyBsb3N0IG9uIG1pZ3JhdGlvbiB3aGlj
aCB0YWtlIG91dCBXaW5kb3dzLsKgIEphbmUncyB3b3JrIHdhcw0KdGhlIHZlcnkgc3RhcnQgb2Yg
YmVpbmcgYWJsZSB0byB0ZXN0IEFQSUMgYWNjZWxlcmF0aW9uIHJhdGlvbmFsbHksIGFuZA0KdWx0
aW1hdGVseSBmaW5kIGEgZml4Lg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:15:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:15:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391797.629762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQ0E-0003xN-7M; Tue, 23 Aug 2022 09:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391797.629762; Tue, 23 Aug 2022 09:15:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQ0E-0003xG-4E; Tue, 23 Aug 2022 09:15:18 +0000
Received: by outflank-mailman (input) for mailman id 391797;
 Tue, 23 Aug 2022 09:15:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxx3=Y3=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQQ0D-0003xA-1w
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:15:17 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130083.outbound.protection.outlook.com [40.107.13.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19224315-22c4-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 11:15:15 +0200 (CEST)
Received: from FR3P281CA0147.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::10)
 by DU0PR08MB8279.eurprd08.prod.outlook.com (2603:10a6:10:40d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 09:15:12 +0000
Received: from VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:95:cafe::58) by FR3P281CA0147.outlook.office365.com
 (2603:10a6:d10:95::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Tue, 23 Aug 2022 09:15:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT030.mail.protection.outlook.com (10.152.18.66) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 09:15:11 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 23 Aug 2022 09:15:11 +0000
Received: from fcdac6a25151.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F095146D-D47D-4411-A394-B8C200BEF3B9.1; 
 Tue, 23 Aug 2022 09:15:01 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fcdac6a25151.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 09:15:01 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB7PR08MB3531.eurprd08.prod.outlook.com (2603:10a6:10:49::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 09:14:57 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 09:14:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19224315-22c4-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=EWZcaNDv7lQVWfcrtEzkg/3IFhRlg5XckVSLWUZza6xpMI/kuZa4XHgdGIShhR6ScoQaod9lJQd939IuMc19/ujJwdQLOpAAH27MmpQ8P3JJLFARRLUUE6pw8s2lKyt+h6Zo8jBEVnnJSZhUPd/rs7m9OcfPgpOPTSX/YWXECzi8/4hCsJ5SkSQjujP3ffFtJd8/WG8Uj8coto7vbPyVbD7FjFRO5tlxa1HAqX7MmZtsQCaK2iHa3Mmnl/a1Q7v9BSkSIW8RTBPS4cx1bFVQaSPwSnS7UbmTpwgHjd2RB24q6pt1md9Ma/CAf4B9tr9TUJqvSfIg8aLqErmo0wJe7g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OjejxnosNceZ0BAonpVbN3+lCqFDid0+Y2Dy4YZgqE8=;
 b=gMQ9GsHm7hvFVl8jH31y1n+1FI+GzqofgGDGucixc1iOGv1kEVmjTSnA0EsQx2l5pfA9i/MwdzQJy1I6+v2cyWY+4DTNsnXJ9iE5xYTfflw6Af1ZBjiMzxwL95y3TsTcEw6TTgxlcT3wiXEPezcleldLcA+abG6U2KUARRX7r4PaN1shQBAs2aGafXYpzgzhme3XLulG9Z8AnQTM+5Wboi61zOfVtGC4zdUf2t74a7MIiGq2TPOOrO6JcxtOERgLwIVkNZPBhnRBcc5ZGerESyKzW9CbmS9hefPV3y7ZrXK9LGAr4pJSrKGaqVxraeYZeFrLDotn5puT+lBd04Fo2A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OjejxnosNceZ0BAonpVbN3+lCqFDid0+Y2Dy4YZgqE8=;
 b=qp32mabRCv/jYT4UVu927BLl9Gpk06chw+tohIIph9/R9HbNSaPe5NS09e9hIjxyn8Ue0vVmfFqh+B3uq1fXuo/+r1zUyFYxzDy2Yaf12cJRCCEVcv50Bf1A0a1FvG1pppc71WqDqN4KUBmygIPqoAiYFmPEe8Ed2nEZlMvwZwI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 95e6d3d98a04f011
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jvV+29ij/fOLNQ4VJ6IxCDT4lySolbuJmdMaHKpZ4wwbec/6fz4ubjA4CRNI/S4ekyR4PFHBXDP3xcJJm6WDR3Hj6LxStF4T0f/ktE7cwRcMTd9a/s65UCUKuJhxEQdvwK+oA9FCOxSOdTuCv3XPVaG7/RQnoF1gWY+Z4iZg2Kt786Xigc9Ev+W5E0hSTrH0yfHrBzIYZIteNaF4VyUoR0FaYq1y3C9CKachLWFwjsMcuxvQi1Se/vBvtUHswXEXCAHCvzNMb2SNtfPIR5i7KLOtXAl4b/YjqlZEqZgag7oYoKjA9CNWyVhEeXl9UmBBbeXvr5hnoUqs4jnO0pKjBA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OjejxnosNceZ0BAonpVbN3+lCqFDid0+Y2Dy4YZgqE8=;
 b=HumVMNT1DwKQeOKaCRn6P2g9v+ZxLMPVGI1FLZpui4oUZlLqOnGv6BlBQvhjfvkfnaonMkyZ/TeUSydjoulrY01j+MyuZH1vYhq+xDmNlk+SnIlo+e+hahAluPN3YfjZy38YZREUJaNk95KH0X09lpACnU82AcHt6vWT7VS3PWwb+9O+smZ3H4hUSropchO5upDanyXxDywLd65KAODhBvIZi+qPm2psOnoiuUNda8LCl488O6Mk1Hvgs9PtOQW27Fk/gq6juZGUMosd4L+4QNNWd9gIG5FSyfBp8gvvI7FcdLgkbyAO8dnCMZTG8CYCRy69eoHrS0jmY6Qlpc/y7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OjejxnosNceZ0BAonpVbN3+lCqFDid0+Y2Dy4YZgqE8=;
 b=qp32mabRCv/jYT4UVu927BLl9Gpk06chw+tohIIph9/R9HbNSaPe5NS09e9hIjxyn8Ue0vVmfFqh+B3uq1fXuo/+r1zUyFYxzDy2Yaf12cJRCCEVcv50Bf1A0a1FvG1pppc71WqDqN4KUBmygIPqoAiYFmPEe8Ed2nEZlMvwZwI=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Stanislav Kinsburskii <staskins@amazon.com>, Julien Grall
	<jgrall@amazon.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 2/7] xen/evtchn: Add an helper to reserve/allocate a
 port
Thread-Topic: [PATCH v2 2/7] xen/evtchn: Add an helper to reserve/allocate a
 port
Thread-Index: AQHYs7MFOpbwfPUQw0OF6Q1ZZ9sa6a2684CAgAFGuoA=
Date: Tue, 23 Aug 2022 09:14:57 +0000
Message-ID: <DACAB803-D803-4031-A41E-F17846B1AA5A@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <a6835a7c7223635da27d4e7db002eae5d21417b8.1660902588.git.rahul.singh@arm.com>
 <22ded444-ee44-2e5c-ab3a-e29edcf01ae0@suse.com>
In-Reply-To: <22ded444-ee44-2e5c-ab3a-e29edcf01ae0@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: bc1d329a-1cbc-491f-4f17-08da84e7fba8
x-ms-traffictypediagnostic:
	DB7PR08MB3531:EE_|VE1EUR03FT030:EE_|DU0PR08MB8279:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 uvinxxhkhD6vm7z9GXtk36PVBHVA3/Xo8JK+fAGSwsnZKXl4+TMUpk7qdEUCC51z7gA7GVXOjJ3wpt/Wu/g+5ZwLOAI9wSbOGi324ROGe4atP7Gv4APd0oXZcP0Wvbmc4qNfsfQVvwnL5id9wu1KidHnqnl1O5cwNYurcXt26pfHma1kb9f5IMfPiwXuhISZUCLoqMw1EjlreoYCkeS/6DgNZFt3d09YWMX2Un7a9R0MKF+VMaeDENNtJD6LK83CQ+2ZCedfcMgu5xLr+UojuNxrT9rtCw2r42oZzdfbDRpTz3zyL/Fkrg8JF6JSrb2dJ0iqKkE3YX1waOlk2b1UR//RYOvq+mkkjJpdzVZTCynAQom5E3jBJuxgLIZloHWZasVzAQ1ru17yxVppwcUarr5sd5/9ew7e16sWdsVOQM5dNA5hUmtONoi0VwIfOneiFZ0UzFyKAD4fdDMS4giATu2IjcnpciBSLsvQyB+Nt89gg9LMcmuma/HgugsrOEy9Z8vwdctEK66BhTs5vjybRpyUygXHoRlEheuJGgYWbpynk7QlDHw+LvlFH3ztiV4DKdsN8wy8Kg5I8h4fCET4/uuHvEak1QJ93qFotg66P5OJqBXJsCCM2jwOYsYMIo0RJwkVTjaNAd7zFLArbTqY67oXiNfLa2HmLYlxVwPtahDvbtEw34uaXu7gjBhHVZdqtUdFAmI3QTQgTpqnYDZK8oDMwQHUXFi9Ivh7xmI4/Jhzs+8Q0C8sn7E3I5DcoU4IspFuXKIa3yzYII9MeZE0hsGd1GT51jL6nDxGcpW4K5k=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(366004)(136003)(346002)(376002)(6512007)(53546011)(71200400001)(478600001)(41300700001)(38100700002)(38070700005)(2616005)(186003)(26005)(6506007)(6486002)(36756003)(6916009)(316002)(8676002)(4326008)(91956017)(66556008)(86362001)(66476007)(66446008)(5660300002)(66946007)(76116006)(54906003)(122000001)(64756008)(4744005)(8936002)(33656002)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4813B02541171B449468D23484F9DE90@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3531
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b910864f-2c90-4ece-3e81-08da84e7f30f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JRnTMBRdLLd7UFgoVdy5DARgsJ+iTqdeHBNZAhmfK/WFDPaYwjaqN+FYIHhD2sIslvpHMessOpxjO5h5Qhm5Yo1llC/CpokdWIQ8ZPdeFk+vRQ5fXq1zpiuBD9viLOHi4kkRKqaY6IWCUB6mp310rH64wWHADr4Uc49hoE47z7BSXISEM+hEPbvf4QdINQeP8zx8JODZyxuwDD8f3ljXKCMVmF0mZWOuZQg+5+Ipzgh4BOxtmnyFxMpzhM8Ldpj1ym+HpSXNjr+iuu0/+c1qksBcyFQW2zEgROTkOCH1OKq7Pc/lcL9jj2vr6VyOseyurDkpm2LaQMiZYa3a7h4ffFmiLefjPcZb1sZ5qnIEj/3b9VlHcp+OVnfGZnuWq2bOk5q6rgzjyJZZfKmT7cjTOzUnD5iRMPkp64tzBT964+K8ndkAdKNMchuaA0t4V8/yhJeiZvOvCgyKS6ETS1r0/TEnZr43Wa6NeyGZKlbVxJLQesEkPhZ0Rvq5fRQMPoTchQQWx2UtSS/SrMvvYyxQlB/AEchkCCX180nSmXcWXrlhNYJpzJ96DX8HfQ2u1tk+s7GmHFGypAaEL/m8NPVOc1pitrEGOxvgvRexyDPWQYzku8VgJZ6WGzwhzpWNursJul6YqQV71ZLO+Az3JkwbWRnAfaFQjv50c+sNFYHuQGEPrHvOpaGDhMCPrjT0Vk8gWFF2BQ867ZlWqo0QzZuhvyTEUq1S6dlNhKP15Q9XCbrhyhp9Ovqc22Dzll6X4qSKra6IBkGzw+GrA5AgnvGwpw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(346002)(396003)(39860400002)(46966006)(40470700004)(36840700001)(316002)(36860700001)(81166007)(2906002)(8676002)(82740400003)(70206006)(70586007)(478600001)(40460700003)(4326008)(6486002)(54906003)(356005)(47076005)(336012)(6862004)(26005)(6506007)(8936002)(2616005)(186003)(6512007)(41300700001)(5660300002)(53546011)(36756003)(4744005)(33656002)(86362001)(40480700001)(82310400005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 09:15:11.9519
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bc1d329a-1cbc-491f-4f17-08da84e7fba8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8279

Hi Jan,

> On 22 Aug 2022, at 2:45 pm, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 19.08.2022 12:02, Rahul Singh wrote:
>> In a follow-up patch we will be able to either reserve or allocate a
>> port for various event channel helpers.
>=20
> Maybe "... we will want to ..."?

Ack.
>=20
>> A new wrapper is introduced to either reserved a given port or allocate
>> an empty one if zero.
>=20
> Maybe a/empty/fresh/ ?

Ack. I will fix in next version.
=20
Regards,
Rahul


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:23:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391808.629776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQ89-0005ZD-6G; Tue, 23 Aug 2022 09:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391808.629776; Tue, 23 Aug 2022 09:23:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQ89-0005Z6-3P; Tue, 23 Aug 2022 09:23:29 +0000
Received: by outflank-mailman (input) for mailman id 391808;
 Tue, 23 Aug 2022 09:23:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxx3=Y3=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQQ87-0005Z0-9K
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:23:27 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2046.outbound.protection.outlook.com [40.107.104.46])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3dab7c0b-22c5-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 11:23:26 +0200 (CEST)
Received: from AM6P193CA0100.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:88::41)
 by VI1PR08MB3710.eurprd08.prod.outlook.com (2603:10a6:803:c5::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Tue, 23 Aug
 2022 09:23:22 +0000
Received: from VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:88:cafe::c5) by AM6P193CA0100.outlook.office365.com
 (2603:10a6:209:88::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Tue, 23 Aug 2022 09:23:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT021.mail.protection.outlook.com (10.152.18.117) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 09:23:22 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Tue, 23 Aug 2022 09:23:21 +0000
Received: from 71eb19da907f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 944F328B-683D-49B5-BD05-F7694855383F.1; 
 Tue, 23 Aug 2022 09:23:14 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 71eb19da907f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 09:23:14 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM5PR0801MB2019.eurprd08.prod.outlook.com (2603:10a6:203:4b::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 09:23:12 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 09:23:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dab7c0b-22c5-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=NlDuV0KQU3osurfkfL7uE0Y7Hi8CAQJ/9ipWvdU7Y9MYOwFgv9UgV4wEEKIsuyerbPZjKXdG+0scl4++wTrh55sIc+tmFOuei6XbX3vQvyp/aFhAfhyo1bIedXaN/ybP1ZFJ+V0JP9VUJtT0jbjGtYO1kiES9Sb8MAR/wr3DeHSnqCWhofUbbHh3jIcKi/EzgBLMcDozluSxSXjioLkGlyNzLKATfbsCGR2tV8ghwzjMB7/yx/rhZ+LI1giKyuwYt8JW7xDqaTevloPZDTfnxSRUKpT6/CBLVv2RbfBBN7k0pizwU8sdxARcmSqa62JyjwZDFF196SChW8L+PWhb/Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zXNyk0uak+sMNoqFZ/H1Ta7Ck8GLF1wWXmHUj9pspAM=;
 b=dmlF1bzSzn7QoK4DcZVKOGUgntE6ekax5v7Wbh1H6Y34EiF4t8zH79MH/GH1ND0FBUD4lKyCeZENFBtRqWeVnzUPQlx8EZbgg/lrPm2eU38U21uiULZhK/cwHvfkBMDsIfrK71N+8mHKPIVB0BlHAzroFuwSFt+F3WzIQndS48INSHG+KqHAuCMPdAQLHEetSKPHFOUSI/V6GfAzywQwTROeUMJHbTlBu9MyZxOWUV9d4WRwu/JHebS12PcpF7fuQek3rWXTX0rwOqzsxxpwdMHMFKLrUudbJ/ydaLpim04sdkMVDSGScsWkyxoOD1lyYx6gpw7+Q65DbHkQZEgEZA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zXNyk0uak+sMNoqFZ/H1Ta7Ck8GLF1wWXmHUj9pspAM=;
 b=uQA10lCNUPTEwgnOK11+SfRj2TrP2KNaSrRoqA6mWiWgTW4plBoXjECvHUsbRw3gw/SQ7tKUWyndqhNtTlqyXZMb9FwxLZ3wTfEunnJdqfUwFBlEpQzi1PkHchTOksUrn8kyvJcrnEyP8pdErlDEX4EDbwDDmm+7Rhw6DOZaVAE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7a1e1d2a522bdb30
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ORVk7bmJFvQFldwa4fe08l9CxSBAYODMQZ2Xv3qvlK+uBoMW0+JGAdB6v8689XkdrA4jYVe6PK9oRK9tHZLd3Fy2IfDKo6zch0BFcOKCu3mCLFby+exDRSm3uabZreMCjM1K4u4/gxP7ErS4Y3eymjP/vLsG/JvzlTgSKtm+vP6j2QDl2R6HuKOUr53DeR6ZpEtzJ0/HUup/NW3Mr/fgE8C201AFh/sJIlDcLUDIKM0c+emX9WKzbNgNx+UxMJMo63YyBhDEMBh9e8vqySQBQ7hYIfYZoSaedj6y9sReZxggrM44fyk2dCYRCxgPghIRm2oujYud0czTiXvKCGP68A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zXNyk0uak+sMNoqFZ/H1Ta7Ck8GLF1wWXmHUj9pspAM=;
 b=ltfbZOYjCUnAxrPuuYrwVUEGvq/2aLnZjUBsf5hxwywPMOscqlR6oG2Fhp59QvV8cDQytFAcc2od2FGO3twMq9+3KeErF+owKQDOuqYcQdeAH776y4iEd8xk7VonmAEukdoFnandNwxntDI7oFNZjjjfao1bSwDonCDqx9/3FgsGwhOh10uYIuOM2leuu4hm7KiRhzY02HF9hjlFgZwSV7OcMF50lD3hAiaeJTH5ZrdNV+n54iUjGzquVHMdQN2zq9afdOP59qkGxqrlU5pptX6HjTAkae0htSKQUI9U99m/ZpXKfMt/Y9rs/Kjx30oYn6VEnNHAMF+249Ud+TympA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zXNyk0uak+sMNoqFZ/H1Ta7Ck8GLF1wWXmHUj9pspAM=;
 b=uQA10lCNUPTEwgnOK11+SfRj2TrP2KNaSrRoqA6mWiWgTW4plBoXjECvHUsbRw3gw/SQ7tKUWyndqhNtTlqyXZMb9FwxLZ3wTfEunnJdqfUwFBlEpQzi1PkHchTOksUrn8kyvJcrnEyP8pdErlDEX4EDbwDDmm+7Rhw6DOZaVAE=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 4/7] xen/evtchn: modify evtchn_bind_interdomain to
 support static evtchn
Thread-Topic: [PATCH v2 4/7] xen/evtchn: modify evtchn_bind_interdomain to
 support static evtchn
Thread-Index: AQHYs7NTCp0JlYyBzkaD0R6ri3cXH628K9qAgAAQrQA=
Date: Tue, 23 Aug 2022 09:23:12 +0000
Message-ID: <098F71BB-DC43-43B2-8B18-81E365B6573D@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <abe4c5be55125eb3da33dbd187fd9b8ad5ace714.1660902588.git.rahul.singh@arm.com>
 <35a0b685-4c70-b9c0-0635-67e54e4315c7@xen.org>
In-Reply-To: <35a0b685-4c70-b9c0-0635-67e54e4315c7@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 99f029b5-34d6-434e-b577-08da84e91fd8
x-ms-traffictypediagnostic:
	AM5PR0801MB2019:EE_|VE1EUR03FT021:EE_|VI1PR08MB3710:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ubgyOCynFVdwzqehDxOFF1gTTSfK5tvbT3mmnXxFDYi3fOz11HBAcbFLRvRDUUAJPtZA90olfteVczHjl/69qp85bwd2MQa3uAeHzk8WoMzGCpgNobDF3wgRAAFd0tDHmsAe11W9jd7PzrEMLMPw717vBj5dDjdohT5P8Vt7SvTGwVdlx87J/DVcE5Wds7dKiWVqUyGIug9tnAffKdPY/IvR7Fjh+PRu8oZyxJbqkW1yOXt/DjAr/k1OPbOzPmeGD50BpX2AIRkyWJdOj1RtSs7PXgeToJXEtJvv34gHU+xUi6kWIctYpzgtRHxWZ6fTzMwA6bx97s7PRJQCH11I8lXYv5Sz8I2i8NP5azd8Jlstev1OhU3Pg+bcdXM3S8Xi4lJpFPR7aEdJgIbLQ2RPU2TDxXg0KHh2TBqf2HHRdtNyOTPqvClI/3Nmtpaym4tnSelWQgLO2EdGKDzgAvD2A+edv/S1lxCcjR3L5JaJMGTV7+GzkuSRpjaIhWuCyrdyJGjjUISh58N6R4ytkudTi9fPEzkz1SjKapPmSf1tZjqrMDM3cWLHoNMG2yfMv7lczF+l5WPl0OAQ6eV9yf8ZGyMoRUdhwUrlLaHxGShVj3h7fkPCRBlI/cTdtroI8Jffw5bzCQNeKipdmacC5xQsOzn0ZJLatQnGNLhWyBYn5SJyFryvKgJ2Na+PQJNoXiL2gsDG/ToZFuPRhk8SvqrnHf3UvyR92BWN9DlxExY6gwMZFHuPFhD2Oyd2UnUlL8vN1CAr0JAwAeTNwkDd6201I1oXeWsSaQnzKodQ0PTYpOA=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(39860400002)(346002)(366004)(376002)(53546011)(26005)(33656002)(86362001)(2906002)(6506007)(6512007)(8936002)(5660300002)(38070700005)(6486002)(478600001)(71200400001)(41300700001)(83380400001)(38100700002)(36756003)(122000001)(2616005)(186003)(66446008)(66556008)(66476007)(64756008)(54906003)(66946007)(316002)(6916009)(4326008)(8676002)(76116006)(91956017)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <72CEAAC6B022C84795954CAE7BBC911B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2019
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0cf1d345-fc9b-414b-14cf-08da84e91a3a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Vcc1emOsfrZqQeecLyInD3ZcyRpqPbd2l4KTAB4b1Bhb9IHaRQtF19BHQxrvWPamqS6FMqw9+qf+O7HNQe8lJ6AWxRNxVx7ZyMyLxj3qsCUvXXZVDL2ATqFZVPAnJAhWfH7KKlWWGNpsSPdQv4tyVsX3umBm4c8NiUOzRXsx0n6P/TldY+lNMcU2+iLE19DkP8KupUJAtJEo2WVqslEMtegT0N4ESrhvJgzrOMs3gWWm7CRVNjIkxh9j6rIVgnCpNHCv4jRvtisD4PqMhbFid0e/HmL8K4kfB59mMffoVid9DhzMP4aM5DWxft3FN9IXJ3TQ87Um+lagFVWN1BGf/UIaeBr03nUrDjuyCs/2rKhivmux1FitEcJxgatGz+YriYE7X+7muMpKXy/WQ+q6awn0yf55EB/9nkZNa2HMDDd2VPfgd7+VKtr9uJ1FAIhVY/TBdCaqwSV17x07VsC67Tuaha1tTAy5Rk4Ty+bMT8zaZKxw5NzdPejRYBxEzfZu8lr2Wy9DhxeKn4MufUIeMhQWdnl6CD/dav9SniC3D0MPKrxnf2tg+J2Eyg0EJvatHnde4+qmnxyO5A5o3V3D5WII3UmM4Vlqh951J/JR/CSeGlBKqKoFDnVGxqzVAJvRNFgL6Clf/Ur9BWytywEOdwoC4xZzyzznHAnWSLb+xQhdYqpRu7BCRPggB1s9TCSVsTFNknG2FVNARHsYfQgdp+4Nzx/KaeKWLl3zpoSW0Tw1Jj7giMclesPWFYzp4z8hTeHGMxKBbPpvl5ARMEn1Fw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(136003)(39860400002)(376002)(46966006)(40470700004)(36840700001)(2906002)(54906003)(316002)(33656002)(82310400005)(6862004)(8936002)(5660300002)(36756003)(478600001)(6486002)(6506007)(40480700001)(41300700001)(6512007)(26005)(53546011)(81166007)(82740400003)(356005)(186003)(47076005)(2616005)(336012)(86362001)(36860700001)(70206006)(4326008)(8676002)(40460700003)(70586007)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 09:23:22.1795
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 99f029b5-34d6-434e-b577-08da84e91fd8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3710

SGkgSnVsaWVuLA0KDQo+IE9uIDIzIEF1ZyAyMDIyLCBhdCA5OjIzIGFtLCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4gDQo+IEhpIFJhaHVsLA0KPiANCj4gT24gMTkvMDgv
MjAyMiAxMTowMiwgUmFodWwgU2luZ2ggd3JvdGU6DQo+PiBTdGF0aWMgZXZlbnQgY2hhbm5lbCBz
dXBwb3J0IHdpbGwgYmUgYWRkZWQgZm9yIGRvbTBsZXNzIGRvbWFpbnMuIE1vZGlmeQ0KPj4gZXZ0
Y2huX2JpbmRfaW50ZXJkb21haW4gdG8gc3VwcG9ydCBzdGF0aWMgZXZ0Y2huLg0KPj4gSXQgaXMg
bmVjZXNzYXJ5IHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBldnRjaG5fYmluZF9pbnRlcmRvbWFpbiBm
dW5jdGlvbg0KPj4gdG8gZG8gdGhhdCwgc28gbWFrZSBldnRjaG5fYmluZF9pbnRlcmRvbWFpbiBn
bG9iYWwgYW5kIGFsc28gbWFrZSBpdA0KPj4gX19tdXN0X2NoZWNrLg0KPj4gZXZ0Y2huX2JpbmRf
aW50ZXJkb21haW4oKSBhbHdheXMgYWxsb2NhdGVzIHRoZSBuZXh0IGF2YWlsYWJsZSBsb2NhbA0K
Pj4gcG9ydC4gU3RhdGljIGV2ZW50IGNoYW5uZWwgc3VwcG9ydCBmb3IgZG9tMGxlc3MgZG9tYWlu
cyByZXF1aXJlcw0KPj4gYWxsb2NhdGluZyBhIHNwZWNpZmllZCBwb3J0Lg0KPiANCj4gTklUOiBJ
IGZpcnN0IHJlYWQgdGhpcyBhcyB5b3UgYXJlIHRyeWluZyB0byBkZXNjcmliZSB3aGF0IHRoZSBw
YXRjaCBkb2VzLiBJIHdvdWxkIGFkZCAiY3VycmVudGx5IiwgImF0IHRoZSBtb21lbnQiIG9yIHNp
bWlsYXIgdG8gbWFrZSBjbGVhciB0aGlzIGlzIHRoZSBjdXJyZW50IGJlaGF2aW9yLg0KDQpBY2su
ICBJIHdpbGwgYWRkIOKAnGN1cnJlbnRseeKAnSBpbiBuZXh0IHZlcnNpb24uDQo+IA0KPiANCj4+
IE1vZGlmeSB0aGUgZXZ0Y2huX2JpbmRfaW50ZXJkb21haW4gdG8NCj4+IGFjY2VwdCB0aGUgcG9y
dCBudW1iZXIgYXMgYW4gYXJndW1lbnQgYW5kIGFsbG9jYXRlIHRoZSBzcGVjaWZpZWQgcG9ydA0K
Pj4gaWYgYXZhaWxhYmxlLiBJZiB0aGUgcG9ydCBudW1iZXIgYXJndW1lbnQgaXMgemVybywgdGhl
IG5leHQgYXZhaWxhYmxlDQo+PiBwb3J0IHdpbGwgYmUgYWxsb2NhdGVkLg0KPj4gZXZ0Y2huX2Jp
bmRfaW50ZXJkb21haW4oKSBmaW5kcyB0aGUgbG9jYWwgZG9tYWluIGZyb20gImN1cnJlbnQtPmRv
bWFpbiINCj4+IHBvaW50ZXIuIGV2dGNobl9iaW5kX2ludGVyZG9tYWluKCkgd2lsbCBiZSBjYWxs
ZWQgZnJvbSB0aGUgWEVOIHRvIGNyZWF0ZQ0KPj4gc3RhdGljIGV2ZW50IGNoYW5uZWwgZHVyaW5n
IGRvbWFpbiBjcmVhdGlvbi4gImN1cnJlbnQiIHBvaW50ZXIgaXMgbm90DQo+PiB2YWxpZCBhdCB0
aGF0IHRpbWUsIHRoZXJlZm9yZSBtb2RpZnkgdGhlIGV2dGNobl9iaW5kX2ludGVyZG9tYWluKCkg
dG8NCj4+IHBhc3MgZG9tYWluIGFzIGFuIGFyZ3VtZW50Lg0KPiANCj4gRGl0dG8uDQoNCkFjay4g
DQogDQpSZWdhcmRzLA0KUmFodWw=


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:25:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:25:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391814.629786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQAK-00068g-IV; Tue, 23 Aug 2022 09:25:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391814.629786; Tue, 23 Aug 2022 09:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQAK-00068Z-Fb; Tue, 23 Aug 2022 09:25:44 +0000
Received: by outflank-mailman (input) for mailman id 391814;
 Tue, 23 Aug 2022 09:25:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxx3=Y3=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQQAJ-00068P-W0
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:25:44 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50089.outbound.protection.outlook.com [40.107.5.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e7d1816-22c5-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 11:25:41 +0200 (CEST)
Received: from FR3P281CA0017.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::20)
 by DB6PR0801MB1688.eurprd08.prod.outlook.com (2603:10a6:4:3a::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 09:25:34 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:1d:cafe::a6) by FR3P281CA0017.outlook.office365.com
 (2603:10a6:d10:1d::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Tue, 23 Aug 2022 09:25:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 09:25:34 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Tue, 23 Aug 2022 09:25:33 +0000
Received: from 63b34b4e394a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9AE00E60-5DA2-4C47-98EE-8EA7D68C9E4A.1; 
 Tue, 23 Aug 2022 09:25:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 63b34b4e394a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 09:25:26 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by PR3PR08MB5692.eurprd08.prod.outlook.com (2603:10a6:102:8a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 09:25:24 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 09:25:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e7d1816-22c5-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=oQ2FAa/vmvfQ0xcgmSSE0T/ifnxY+ccGN8sz0DJCrIR3UuEQIkEU9JRN9emJRbILi6hk1jEM5OisBksXYyfwzSwhIGPgf6iY2ZTZ17C+GgRiVv9iBDVNFgclzSwhKd5+b58dEjRlHctb74X4ODgeNVUAZlEu3BjFADFAoLsLzvRWFHE7esYBSRW+mJIxWUO9q96UIiRASSdjF6WCD1MC1mj2RR1CRVxjJjJ+dCbOIghJRGxm+PK4AP6Dq+PVY2ucyF8eulGTpo9adDjNWJw2kx1sHTMvJbTwYYKahXvXDru0R17/bfSQYI5CFZPbtRg6JU64nabUbfI7y/1A8TWo7w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hXnVBSADNa5KkuADvuULYtbYoNmTpuvfn43JswcaVFM=;
 b=NGx5PHrG4VmdcutMnRBO3FIXC+qZb8zJY68qM4KLf+R4JT+lbXoP2olzaFSr8N3fqR4f1PwAvI7g33nJl1go+FApVL79Qf46z8Zz+imHhUdoezHa94SgC5xT0rGd5ke+UhLrlPMQKO1jsVN9cQGbgXNPJteRurYD0wkgm7msiRlkQwzvCK4yMQGFVkMrRUJ15EreqPztQi8ZiSEqlvmFW+FNHuGxci1FKnD9ozLHFfGyYSEghOLZlU666GRp0bcJfcPLVLYxYl+oQcnPSqq2DDcq/ZKPrnMGVppxlpDzdIBJS5zZ9Af9BR6Pu3hbrKe5FKjSgq9kCBL7FQVHF/by1w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hXnVBSADNa5KkuADvuULYtbYoNmTpuvfn43JswcaVFM=;
 b=A0XAW+VhGRSkNUASxF5SlOprk7NBjG/XAvuaQbZoI+7qLThMi+PFyFSrId70myvK0cxKfVdhRSTSllUwiPgGTVnujy577kPCrgEYNC6Rncyc8yeVLyd+JKRIthvz832FsLHzf+wR0zsmlD+8OvT+MOzEgKweBz4E2erszI0w7xs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e1a9de5123068483
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H+/Rx4a6AI52X3Q+zpoepeHBVdD9pm4er2dpuBqrn+eoSC5RyHyip+M1doPWc3oT+6Zy5y84sBEFkt9/xrYK72qUG+1xCppPC3t/jI7B87KLdv6ja7gdXbWvH+dfXtB+S14UJ9wflq0FAUASBmy/uobRf5uUtW9a4Co17xtIM+sbV/oLzdmG6m4jQwIADNFKVE9NzgImtwxvfpUVlU5xxj8FppgtinLXbDDLx218j6HQx+POjM+bIWHpBsawwG9VUTOOHbgqqP1Pebyj7zxlmXI0EkSkW5jAx4ETfF/rck/C810rcc26m6f9uOOabp5tsaLaLChrAvICcJyzHXclPg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hXnVBSADNa5KkuADvuULYtbYoNmTpuvfn43JswcaVFM=;
 b=OSapuQW8feJywd8cFbBdskb4d58pBLWml06Jo32qMTI8aIHNpHFY38V8TJdSv2CyMpEmfQytRbTrlxgkFyIic+D0kViNG6NoFggnxzKSJexP1ESDBR+cBLwP8I6Fa7c/q75CYph+MpLIeLmoW4wGR3xlmpHfki/I1m5/xXwIevJ1q7ZjARB1d0N42wSGZ7hhhjvvt5WeNwbdG9Y0figkzyrpsM7zI2NUxV9EhG8+wtSXEKKBq2IzdVe2K+mGIEGvk4M76hsft5s99RwCwmaMZMU78guylnnwxqINlv9oh9vAL1yjbE6c5aBzG3LyvxzzIXebANq2ny1hcq242d9F7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hXnVBSADNa5KkuADvuULYtbYoNmTpuvfn43JswcaVFM=;
 b=A0XAW+VhGRSkNUASxF5SlOprk7NBjG/XAvuaQbZoI+7qLThMi+PFyFSrId70myvK0cxKfVdhRSTSllUwiPgGTVnujy577kPCrgEYNC6Rncyc8yeVLyd+JKRIthvz832FsLHzf+wR0zsmlD+8OvT+MOzEgKweBz4E2erszI0w7xs=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 5/7] xen/evtchn: modify evtchn_alloc_unbound to
 allocate specified port
Thread-Topic: [PATCH v2 5/7] xen/evtchn: modify evtchn_alloc_unbound to
 allocate specified port
Thread-Index: AQHYs7NT/ePVRG/IfEm3N5HsoShX2K269tWAgAFGT4A=
Date: Tue, 23 Aug 2022 09:25:24 +0000
Message-ID: <00D26226-425A-4FDA-B274-87C73A5AC33C@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <02234e7aab1e8f3d18e5398f1c4745203df77364.1660902588.git.rahul.singh@arm.com>
 <8c439b00-4ceb-0119-fd2e-a7ab240e403c@suse.com>
In-Reply-To: <8c439b00-4ceb-0119-fd2e-a7ab240e403c@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 65c44203-b107-4452-9258-08da84e96e8a
x-ms-traffictypediagnostic:
	PR3PR08MB5692:EE_|VE1EUR03FT045:EE_|DB6PR0801MB1688:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 lqgCF2bAA9mikKjBGC2CUsYbvgqS0GgBL0YTLRIHNlXbI/lMluk3ryYs/9XMW2mDcMbwwZ3n7YX4nduJ6pP78lt90rAtLKxWxzN2OLdtzJy+YuZh/4beRABGQwoNg25q5IBTOUJ+h6lFK/MMl412Hv+OQfvBpMls00W2ua2WlqMHb1HXvF7kc3pfBzxCSVDR2udatIg4kEuDEREjFY/d9WVsq4UFViUWLQFOtvwGQ3oAr4uEjWmTv8o+YYOtk3/sOSDx1uL7+rd2yymUa77Gkti97dJpKYKdxUFfC4Lzj/S+pueriCzxl2IDXMN++8qeG3W2WgCIcQnz6ndrGK0H3iwakZGeLeW7qk//oafAgLNu0wXDeQXAEcvRcV7T1idub7aoqKFrp7JCM525ZcJmfw1tnKadYwLw+bPw1o5n/4Z3qT7n4yo8315SZCsfvK7lLSfbid+TKSoPwBfU/9RCqwaSPANvv3MCzmEgYhj6c5ir4UB+rExhdHf+c2hOI5LtvYpbnoPDSgv+2/SfcYbAcYOVWZ+OgSpMZCBkfVDuUFL4Ii0ISw60gczoTAL2aIkeIzig2KVmsxAbtoWCGSOIDugezqEov4Dt5q3joCXfd76mTe/5cYthC2bLYXT5W+1Br2zwFuFpvCXB2ENvSQZWHwyYi8pHX5g2EkL42VzDG2tltgzzJO5jgX3qdm9hWh5uGrVsddJq1ks/gCMfApNNHkA2mLy2dYfQ53jSJu8zKyFSSVEjAnKUMrEBYFrnGKi4pDOanT/Y66YhkBJRJChutEuKUmlobqAVSXAxYRcJWNs=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(396003)(366004)(39860400002)(346002)(6512007)(26005)(86362001)(53546011)(2616005)(71200400001)(41300700001)(6486002)(478600001)(122000001)(38100700002)(38070700005)(6506007)(76116006)(186003)(316002)(8936002)(4744005)(64756008)(66476007)(8676002)(66556008)(6916009)(66946007)(4326008)(66446008)(91956017)(5660300002)(36756003)(54906003)(2906002)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3B536FD3BE48084D9C351812232CFB18@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5692
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4c0d293b-5120-4938-e969-08da84e96872
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZHtwhAyty+LEMky6j5dBL85hwLwRjkF4Vuo5gc7U1j8WKxb+Ckwe/8sZIZrceltKDdCb+f5gbT5xkGCx2X7vLKZ9UfDQJxkm/N7i9af1vqXbv7gDtpVFqcltfMb0Z4Rt74lUYIVa7ATE9x6nzbazAr2n02mIGiHVpjGMiJuLpLnunQHcGd/WTytIQebB27CQ8A7nr1aMOeeBOP1Ee5qmOHmv+k6LxR1w1Hf2nrwGXBnuYEzpHqWsOVSKXKruwvokiuc2WzaUtQweKo/GtCEo3pxVjoZlQq1TL8Nf46AmVZ/gYhv0JCfTg6BXgZUuT7ICwDnlSbYGNM/foxXwa0H7JWOlsXowd+D+ZtKdKL40+3ieTB/7mZgcmFCgWc8U9Vo33FvKBE70ANcrkAv8vzosb7dMy9QseEu88UCGQJK273FeyrSjXaZzUXyTAxS0TcCQymLuQo6u6LTi3M7HZRIb1HSn96z42WnYwM50AP1BFskxnSNsWQhhvL7ycr4S8hNpvYkNgIpP9OxKw25LO7J1UXJkfA+HVuF7iukWG12bTr9vELc64vGwchqTtuqPld/ElNme40o9lKxB0fIb8CsLNDNWSHhNFifdryRqQLpgalwRJu/yG3ryjQDbZYS7JBAXGDg8UCa2AIes09mND6vRCNPkKycFLR6FDeBoZS66iRMTcsRrKBNHpsVGhSgbUSxy0ORCEl+M726OkkFqmGryZqcC+3PbyAoYDehZdIx049GlOxeOJk8SRZq1PBNIrt0duQP7CFc1mPVO71je7VdKpA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(376002)(396003)(136003)(46966006)(36840700001)(40470700004)(82740400003)(70586007)(8676002)(4326008)(86362001)(54906003)(36860700001)(81166007)(36756003)(356005)(33656002)(70206006)(47076005)(186003)(26005)(6512007)(336012)(8936002)(41300700001)(478600001)(6486002)(6506007)(40460700003)(316002)(40480700001)(82310400005)(6862004)(2616005)(4744005)(2906002)(53546011)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 09:25:34.2050
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 65c44203-b107-4452-9258-08da84e96e8a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1688

Hi Jan,

> On 22 Aug 2022, at 2:57 pm, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 19.08.2022 12:02, Rahul Singh wrote:
>> evtchn_alloc_unbound() always allocates the next available port. Static
>> event channel support for dom0less domains requires allocating a
>> specified port.
>>=20
>> Modify the evtchn_alloc_unbound() to accept the port number as an
>> argument and allocate the specified port if available. If the port
>> number argument is zero, the next available port will be allocated.
>>=20
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>=20
> Acked-by: Jan Beulich <jbeulich@suse.com>
>=20
> As a minor remark: Personally I'd find it more logical if the alloc-unbou=
nd
> adjustments came ahead of the bind-interdomain ones.
> =20

I will move this patch before evtchn_bind_interdomain() patch.

Regard,
Rahul



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:27:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:27:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391820.629797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQC3-0006jL-UO; Tue, 23 Aug 2022 09:27:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391820.629797; Tue, 23 Aug 2022 09:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQC3-0006jE-Rm; Tue, 23 Aug 2022 09:27:31 +0000
Received: by outflank-mailman (input) for mailman id 391820;
 Tue, 23 Aug 2022 09:27:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQQC3-0006j4-33
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:27:31 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80041.outbound.protection.outlook.com [40.107.8.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf1f4a83-22c5-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 11:27:30 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8843.eurprd04.prod.outlook.com (2603:10a6:20b:40a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.24; Tue, 23 Aug
 2022 09:27:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 09:27:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf1f4a83-22c5-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bMxdJmTiAeQwcV8MINO/6uf2blMjA1cLDJ1bC2izschZ0OwRShgt5xSJIzfXYQGSQhXkUrCsEVesQ5tbIcybRhzrVFRkicFp9sUaLS6n+4mrqfiSAPNENTA6uWzP82kaZn9e7tXMTUGSzWdYAmu99d+vqV6N5CLqKAQKfAIWK1kgh3hFYlpFVFCnsNExt4dY5y6y0xtNfRpThw9RmdXk4TGGoPilj4aC0GKtpw0MSmme2xRYGfdL5D7C5lNYpxpb2zFWrqGXlAbJbi7AX4UtRZRtTm5YlE+RXZNFawWW1x3QFo0cUiTXeNur81vle8mRsC9okKi86QeFi0VDo9PdAg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KT/NClg/JrUHI5t63Tgchx2OHa9Vy1iB9q1xhQuHpaM=;
 b=dvV/pkQ95sYOxaQpn1FznnESCkdQMqig//1LOCItbwx4hn4rZ/uzmbYgMAeTiFrqsT946PZ7yIHrjZgojDV50pJB92cq8W/CMXRoIEsfkp+eUdxU/cTuyFgAhA3yDPCPg6avyxobHs539dkZVR04AakaNpMVZGRF/9X/i6DdMxEIDmjvJ+lM/FGyDp8aENFdMHoPuATeGl8YqPElNkNm8Jwr2fqDEYyw3gCLTrs6zJc7OxrkkeBC/k9SGrluJzZeL7Pevjay5LVrqWF9/eerUPpEbWHMGFWfjbJZDOb3wvpmYxoXW+uM7su2MhbboKu6nKqVcPrT+9c4zr34If/MoQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KT/NClg/JrUHI5t63Tgchx2OHa9Vy1iB9q1xhQuHpaM=;
 b=G7Tsu9i48Uhu+d+5AIGjIFMAL1mQnl4GmCtr78XWRCzKggehZXzp1mjA/OBKNslvQcANwijHgl2vmo537vsv7c+kWeLWd325Fb5fAbXtlrRCMCm+9q35ZpLMxgm1JFMXLd1fypOEOn5z2vWXzDDNTdc8DrpDqGayQNdB4OsOpQzM1fkza+Kv9mi5peFsHiWYcTtZaWM1XTFbdu4wiOsExHwvO/cFLzcUvqQRjEp2TXWlf8Uf66HwtzCDRN1Gh9HVM5J3mp7iPxNXPCXH5eVsnVvr9SFNdp4E+mZvfLWXKrhL4Dcak2VmpXusVW6xOP2W2+h9polCjz18eK99WdaJxg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
Date: Tue, 23 Aug 2022 11:27:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
 <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6P195CA0030.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:81::43) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8074081a-a927-4ce1-9f4f-08da84e9b264
X-MS-TrafficTypeDiagnostic: AM9PR04MB8843:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2Og1lx8aNcIOodYVQVYjfwOeFUBs0wbtOzmS8N9YnFL8kvTCUWtWvJiaQBo+MilYwHJkN1c/ElqwtjgfNYCBwsh4O2hNR/wUdnbBZBI8XbQCgfYmD7A3H5xO67oqitOmv2I9Hf1193Pgyhsx1B9gVIvDChDCJrE72IxHyKvgTBUPffAnUon5tCsXEGnNCNe5n4+aYo0Q1cJ/yCYeaf2fpxlOIwEeUlvN//HZDKjSTmaeLEiBhGYfHitlnHGjqczuoZmHIuni5N8xBLAYloul1v0JLGwqoxXc0M/OVh/BtvgNYpxec8btYpr4VoNvVdkB0w59W3PNL8Bg8td87L+2VAq8oG/HoXQBJf8LP54OSfeXv6E+48ICTS8/MAICop3nQYhQEDyzUBoAwrZ4lZKeoQAiXNmsEpKutI75z7vbxxX+J+ei4HO9XMVbS35272tzgNRFVNK3DwiOyYnPudL3NHWneCnIFnvxKYOiB3NvdeV18Kqwm4u9kcgg/efC8LmV+tJOW6VlH2Zg7Uhc/MImBoDU8qeyC1dxTL7MCr32Ca+RM6JT910keq8Q8OaqCvzOmoA2NKwjtXxMt7r+ljO23ZqfIpTeGK5fNJtejyqHTQlgv5LjEH2GCd1pBa5nmc3Mmo1XKqWnfro0thegtsy3k/GwdWHC9LYKlXxOrWVGYFMt3+Z0b6Vw6DCood1sH5QzCCpvqSsRe4VzkeUEfA4WoJecvbpO/Km0tmqoEKKAi736736Zb8wO5w/gm4OOKk8nOUaBIvNsUTxvdIJ8+mEyHHJLl4wiaSzSS/jUBDXPx0GJsTJqHoSZfJqOR30f0yRfEAymPV4h6VkgaLB0EBmZ4g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(136003)(39860400002)(376002)(346002)(83380400001)(186003)(2616005)(54906003)(66476007)(36756003)(31686004)(6916009)(8676002)(66556008)(316002)(66946007)(4326008)(53546011)(2906002)(31696002)(26005)(6512007)(6506007)(5660300002)(41300700001)(478600001)(6486002)(966005)(8936002)(38100700002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3QxcGRtK3g0T2RNdVN3OWdtUDJoN0pQWVZCdCtoTnMrQkI4NnRyaVVsWjly?=
 =?utf-8?B?YlhmT1k3ZjRFNzVKY1crcTFnTjEzRHlBYUpGR1puRXJBSGtrdk84VmtlR0RK?=
 =?utf-8?B?N2t5TEhQRysxWW5acHBOZ1BDSnI0a3p2TG8vWE9jZUtDUWQ1N2dNMUp6SmZG?=
 =?utf-8?B?TXczK281NU83VnpKT3ZaMXFwbWhCY1FWK1dLVVFYeW5BdGRKTE5qY3RmeEZa?=
 =?utf-8?B?aEFMajJUbFg4UnZVcXcrNUUva25xZE9xWk9TdTVBWkFlbXJDWmxOTVR5NTVE?=
 =?utf-8?B?UUxycW5OVWcySHNsSVpCbytGQW5FUEFKVlkrZVQ5cUxxUlFkM2NEVE5Fcmxx?=
 =?utf-8?B?cGJkSUp4c29pdVN4RDFnOUszdC9Fa2ZNZm1pYk5LWG12TVE5d0huWHQxZEFV?=
 =?utf-8?B?dzQvSzFCaStkLzdQazEyd05LRzF3WVRqZ0lhNjNkZlE4ZXVKdXF2QUh6bGIx?=
 =?utf-8?B?d09FMHZSRFJCenpKdnJKeGJGaGdjdTBEVURyQ3RJVWdIcmRwbGhrZDFmV0x3?=
 =?utf-8?B?NnpwSDFjV2JPajNvaHExbUJRSkpqNUJHRXJEaENBWVo1VjRTRVZxNmh3SE9M?=
 =?utf-8?B?dzhrOC9RRUhtQ0dtL0pyeW5uTVdoR041S2lRcEJLNndjUktHOWVyMyswU0hQ?=
 =?utf-8?B?TjMwYVJyaEhRa25CS1dnVHR5YTJRVTdCMllwV0FUUjh5RXJqUVlJVEgyN0lP?=
 =?utf-8?B?YlkwaWlPVkRoUjJHSWh1ZHJ4a0NrditSV09LSmNseDNhZGpnODkycU1PaEwz?=
 =?utf-8?B?V25SRFI0dFFoMkdpUkp3bFRYeDhlNjduM3lYZnhEWEdienQwd3V2VzkwRHQy?=
 =?utf-8?B?V3RyL202WmtTWkdNWVZJQlM2SjhNV0psMUZqMUdUb2lyT3BvUURmWDZYcmIw?=
 =?utf-8?B?bVZrZlk3cExJUHMrNERQdGFYdnVvcWFIMHRRdFMrT3ZxRWR1Ym1JeC9CeTdT?=
 =?utf-8?B?OFU2Q0wrcWRHVzZFZlpqUU9sVVpaNHlBRFRIY1pwYVVnU3Y1OG9IaVptaEhu?=
 =?utf-8?B?cmtWOFNPOUdkektOM0xtYW9wRWp0NklqTURCV3k3a0FjZHRBOFpaV0xvV09K?=
 =?utf-8?B?NFhJNTB1MFBtUm5leUtLSFU0MWp0eHNZWlhRUXI2M0Q4RytzamhVdDhQRG1p?=
 =?utf-8?B?bnBDcmRtaEdyODVGc3FDZ2JUZk9UODdCMVpNbFdOMGJhbUMrNDhpRFNNU0Fi?=
 =?utf-8?B?TmRxZGQzM2F4ZmJwVEZxRDFCYmxJSDlZdFBoTEZtRzZQUUo0d2F0ODI0R3l3?=
 =?utf-8?B?ZmFYSmRqcUQ3VlFoNklUdXlwdFFMRUI5TE1lNWM3UWhyOFJwK0Z5RGVwZTh4?=
 =?utf-8?B?U1pCS2g4OENqUEQ1V3F5amE4Z1E0KzFySndiNHhjZjFnNitPRTNGTk5zT09N?=
 =?utf-8?B?UFFpUnROSzhIRUkvRGpOUUwzMGRPek5LMGMvODA2ek5vMjJLQnBqTmRUdHBN?=
 =?utf-8?B?ajhYRnZQQnJQTmdCdFcvTFFWd2RoWjBucitucjZoSi9WVUM1UjUySjBnQXpQ?=
 =?utf-8?B?OEtnZFBmWWVUdFB4TW1GaFJlVnVRT2I2WmltR2Z5RlRJVDdIRmY2djlldTZX?=
 =?utf-8?B?SWJCRVNtU2RUMzFSK1c4RlpRMW5scUpQaW5Wd01HS3QxcVRrSGlhaDh4dllr?=
 =?utf-8?B?Z21aTTQvT2Y2R3FHMkpaZ29xaWJmZ2FmK3hWWUZHZ21RNlJ4ZUtiVFJBaVA1?=
 =?utf-8?B?bytNNzFBN0Nua3ZJZisveXZ2WEJLWlN0NVpRaHlhT2hhQTkyR3puUTBya3ZZ?=
 =?utf-8?B?NktJRjZRYU1BTXZVU3ZPRjNVVjlpWE4zNktsSUJ2LzA4QkJTQks4djR2dlBY?=
 =?utf-8?B?UGpGS1k3UW5aOFp4enJhaVI3Wk1JWXdDOEJPUDNEbmVTRGordVhla1VOV2pl?=
 =?utf-8?B?eGR6eElLWVJxSjZ0RENNTEROeWFpcjVPSkx0R1hXRFc2d1NXWE1SNG9yV1hL?=
 =?utf-8?B?VEhmNG95RWFaS0c3R2tzRWdPalZBd2RqZFZXYjN3bjY1S1k0R2MxakxDbndQ?=
 =?utf-8?B?RllSR3kwcXVoOWl1Zk5FVVNWcVpXSjVqeHVEWW9yczk5SDl0bG52eDhFUWNx?=
 =?utf-8?B?WVZ2SmRCK3EzcjdYVE1UNDQzaUdoWDl1WTRhaVpuMGg5S0RvMDB2eVg4RUJ0?=
 =?utf-8?Q?IbvIO5xoB244bdPkHXu2e228x?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8074081a-a927-4ce1-9f4f-08da84e9b264
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 09:27:28.2781
 (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: n0Cd1MQtzNHnApDPvBzbNFDdoCTAt4csElw/bz0RtgDh9ZDp0WdNUFdZ13w3NpIM7E+WS4zLPzJVmFj2pbhxdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8843

On 23.08.2022 10:59, Andrew Cooper wrote:
> On 23/08/2022 07:42, Jan Beulich wrote:
>> While the SDM isn't very clear about this, our present behavior make
>> Linux 5.19 unhappy. As of commit 8ad7e8f69695 ("x86/fpu/xsave: Support
>> XSAVEC in the kernel") they're using this CPUID output also to size
>> the compacted area used by XSAVEC. Getting back zero there isn't really
>> liked, yet fpr PV that's the default on capable hardware: XSAVES isn't
> 
> for.
> 
>> exposed to PV domains.
>>
>> Considering that the size reported is that of the compacted save area,
>> I view Linux'es assumption as appropriate (short of the SDM properly
>> considering the case). Therefore we need to populate the field also when
>> only XSAVEC is supported for a guest.
> 
> This is a mess.Â  The SDM is fairly clear (but only in Vol1) that this
> leaf is specific to XSAVES.

The way it's written my assumption is that they simply didn't care about
XSAVEC when writing this, or they were assuming that both features would
always be supported together (yet even if they are in Intel's hardware,
the architecture should spell out things as if both were entirely
independent, or it should specify that one takes the other as a prereq).

>Â  The APM has only an equation, which shows
> it as the compacted size without reference to instructions.
> 
> Ideally I'd like the opinion from some architects and a clarification to
> the SDM...

I've made a request through my contact, but of course there's little
hope for a quick technical reply.

>> Fixes: 460b9a4b3630 ("x86/xsaves: enable xsaves/xrstors for hvm guest")
>> Fixes: 8d050ed1097c ("x86: don't expose XSAVES capability to PV guests")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> CC Marek.Â  Looks like Jan has found the issue you reported on IRC.
> 
> Jan: Be aware that I submitted
> https://lore.kernel.org/lkml/20220810221909.12768-1-andrew.cooper3@citrix.com/
> to Linux to correct some of the diagnostics.
> 
>> ---
>> I actually wonder why we surface the XSAVES feature bit to HVM domains,
>> when we don't support any of the features.
> 
> Because that's what was originally accepted into Xen, and I couldn't
> retract it when fixing CPUID handling at first because it would regress
> across migrate to a newer Xen.Â  With CPUID data now in the migration
> stream, we could in principle fix it, but at this point it's definitely
> not worth the complexity or risk to adjust.

Hmm.

>> --- a/xen/arch/x86/cpuid.c
>> +++ b/xen/arch/x86/cpuid.c
>> @@ -1142,7 +1142,7 @@ void guest_cpuid(const struct vcpu *v, u
>>          switch ( subleaf )
>>          {
>>          case 1:
>> -            if ( p->xstate.xsaves )
>> +            if ( p->xstate.xsavec || p->xstate.xsaves )
> 
> If we're doing this, then it wants to be xsavec only, with the comment
> being extended to explain why.

Why would that be? Both insns use compacted format, and neither is
dependent upon the other in terms of being supported. IOW XSAVES alone
and XSAVEC alone enabled for a domain should still lead through this
path.

> But this is going to further complicate my several-year-old series
> trying to get Xen's XSTATE handling into a position where we can start
> to offer supervisor states.

Where do you see further complication? The necessary fiddling with XSS
here would of course be dependent upon p->xstate.xsaves alone (or,
maybe better, on the set of enabled features in XSS being non-empty),
but that's simply another (inner) if().

As an aside, I actually wonder what use the supplied size is to user
mode code when any XSS-controlled feature is enabled: They'd allocate
a needlessly large block of memory, as they would only be able to use
XSAVEC.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:27:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:27:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391823.629809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQCM-0007Ah-Aq; Tue, 23 Aug 2022 09:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391823.629809; Tue, 23 Aug 2022 09:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQCM-0007Aa-7t; Tue, 23 Aug 2022 09:27:50 +0000
Received: by outflank-mailman (input) for mailman id 391823;
 Tue, 23 Aug 2022 09:27:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxx3=Y3=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQQCL-0006j4-3w
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:27:49 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50084.outbound.protection.outlook.com [40.107.5.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da2f6a36-22c5-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 11:27:48 +0200 (CEST)
Received: from FR0P281CA0130.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::17)
 by VI1PR0802MB2416.eurprd08.prod.outlook.com (2603:10a6:800:bb::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.20; Tue, 23 Aug
 2022 09:27:44 +0000
Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:97:cafe::85) by FR0P281CA0130.outlook.office365.com
 (2603:10a6:d10:97::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Tue, 23 Aug 2022 09:27:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 09:27:43 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Tue, 23 Aug 2022 09:27:43 +0000
Received: from 12a4e586824c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5B6A9CB0-8B83-4E9B-AFEB-0EA27DC54773.1; 
 Tue, 23 Aug 2022 09:27:36 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 12a4e586824c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 09:27:36 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by HE1PR0801MB2044.eurprd08.prod.outlook.com (2603:10a6:3:50::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Tue, 23 Aug
 2022 09:27:34 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 09:27:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da2f6a36-22c5-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Qn0WX9DnBZm53pHuDDd+1tZ3nbHN2BX1OiGgZ4/4Fwfk5FuztuQ7i3p7pYiEg5q2t4wlfZPAZWidWVgC67VYeQmua0YOZ2PdWZUI/JWDohOVZ5TwV/je3kBunz+M7qOgX1xKPM1XHQNLl8LEz68WJ9K4XdCGvoZ+OaOu2VLQfkBXxQCxfIZGVW6nt+YDVq8VEvmGrxdSoKvVsRwvektdevSLpcKX0YHKqNLBLgTyI+XzZVfxCd9Ke+uEOoL3RFrqDJYCzqGQNhOsFDKZaH7V9LSZqgYUlxaKs3Kg4m671jhKZXpkVSuUse8uRU7XW6vkylsCV4/U3/Jzjy1cGRlP1A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iAWLnt5nhfE7yzdw3JjEcMzs6pCf0liTzqNZngpTyHU=;
 b=Lk4NnB74sA/6nPL2aMT1jauYtRrLYpSa4ppuZsXDQKlrae5zJ/i59kbC72KqplwlDpRizgkmeF6QLUVHNjvy7syaziBt7MPorF2c361GSfGZlZLceB1XZvl8cPRdgxDOqb9qE+1kbosLKcBNE1yeqRliBFDGvh4e8nm5OSnG7N57iXB5bvtnAsPCqeqCO6YhSi6iMmIEmsp9U3CHW1zdDqAicohlrsO7HVBRxtoP36P7dXU/5/tFlZ576VkopZ7m6xIV3QeuKEvHmEhEDY/3Uu4kqukJ5+fA1JLvkBdwaazPVjPjT0arCicaTuB3MgWjuUJ3in93hymZ6nYxnNMLbA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iAWLnt5nhfE7yzdw3JjEcMzs6pCf0liTzqNZngpTyHU=;
 b=SFa9BvuAGr8Y24PMAMP0dqPg77nWNgd53x08QFF+PKZCSg09MceZDp5egwCtwcAmimdn4uYV9eX/ffoU248vBDjrRmExTouuyPjHKvepiABT4QNlhwwR1CgliAajK7V5EtcUxKRuh55yzBXvzUh5Jen6YLoH8CAH516sQ7/SDOc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5655f46c0f7abc2c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JNJcGOn06X6nrQupGtU3zOw5mtaQFTVjHXneAckQOQg91myslQbE9U7sEQd0oQE7ZNFLWiKYNWOUTWIaositpjY1m11gDZX/UiiK9zOr9iizteya60BdbsicEjQCYGnrpak0PpzVEUXoSGk9dm/GHvXwqenFQWIkUoQplBLlkOQKtp4j2ntL9Cy7QDE/4jQnpc5GP/mhYMHGAXiaMbwILHHa9E8aViVTa+x7syoE57272gWZjEyIXrgwPwk5WB0JvMLpaqUBuueNtZSJnLkv2NIiL62ZfzEFqIEtMOsaYgIvWkwQDhBH9w/uIILo+vCQqrWF6u14epwJr0nJyopLNA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iAWLnt5nhfE7yzdw3JjEcMzs6pCf0liTzqNZngpTyHU=;
 b=O8zhu+dq4BfMsk0fNrIcJqMXj5uWua3XVuvHc+KsSBIehzfyRmQtOQHDyjyRE0lO7ve48ZQ22SUIOepydzDJjjZLyaeM1buYo1AVIw7CfqJNKqSHUzk+tk+e1kp1n4dUcNyg5mRzUvhLqDOE9M/ChOIkZj+E1EFbR4NypwIOq0wzZEB6BGTaQW5UgtaroDZEVdyvDJKDxXK4xGm5aH1XmmUct9YOpsFD7wfB3p0++ogqG/Wpalv9xSr6g/0pMm2w5jzt0WBkmzAmn8ITd4as6jnvV9vsnSWlLExZiPLqqnZnY8Dw7dvNKZQ+g4QAMMVLkvGqI1BLbmrE+rU/zzjtoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iAWLnt5nhfE7yzdw3JjEcMzs6pCf0liTzqNZngpTyHU=;
 b=SFa9BvuAGr8Y24PMAMP0dqPg77nWNgd53x08QFF+PKZCSg09MceZDp5egwCtwcAmimdn4uYV9eX/ffoU248vBDjrRmExTouuyPjHKvepiABT4QNlhwwR1CgliAajK7V5EtcUxKRuh55yzBXvzUh5Jen6YLoH8CAH516sQ7/SDOc=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 5/7] xen/evtchn: modify evtchn_alloc_unbound to
 allocate specified port
Thread-Topic: [PATCH v2 5/7] xen/evtchn: modify evtchn_alloc_unbound to
 allocate specified port
Thread-Index: AQHYs7NT/ePVRG/IfEm3N5HsoShX2K28LhSAgAAPqoA=
Date: Tue, 23 Aug 2022 09:27:34 +0000
Message-ID: <CE0C7662-35B8-4F46-82CA-18B8DD34F08F@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <02234e7aab1e8f3d18e5398f1c4745203df77364.1660902588.git.rahul.singh@arm.com>
 <d8f1056c-8ab4-f220-8f2a-c1042e77ed58@xen.org>
In-Reply-To: <d8f1056c-8ab4-f220-8f2a-c1042e77ed58@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a8a312d1-3a5f-4591-460b-08da84e9bbd2
x-ms-traffictypediagnostic:
	HE1PR0801MB2044:EE_|VE1EUR03FT054:EE_|VI1PR0802MB2416:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 HdYe2hLyTPoIRqJUS7Tx0nMEuL6t4Wc3Eq4FqbT8zxX8eduHDP/ByVNROrWTziNm55kx4yNwEu45ls45Rh/AyDLmkhfwKTPJ/fxU+CYbVUAG8yYravU1UdGEkscsI+MW++HMVK74Mi48OdN5cm+If2KfVR8Xpv1FL+sfRJp3baRCiRrq29jcUjyJDmT2pjc6dOh+D99kmUya8SUe53jMEPsmKtMWfWjoIRyCS3ZlF1W7cOYzsagvQ8EasQGs/dpvA1rV5N2mQe0dXU08fH461ZHEQMADYj44wR94PcC0d1IWC8OlIgArWFZ0WW7/8HmqKgtZZO72CpepEwMMz7nhGBc2RIHV2JWs0PJKYlAW218A5QiQgmNrYgw7W7pJkALOOs4DG9In4mBf2CAOkrSKyPru9a0fUqZcVLLzJIaULcoeMdkHoYxg1xpjxVy6r7IAlvM44VPWqXJ70FY0wgPQ2r3FQIKcENzT38kp1bWsgIONBFDJHBLB9qTNUuKlA3pa1h5fRn/jcVDHEoz/Uu2D9JMjY+RdsPDt7oEdxSiYwu7lDVvJcEAnR84YuawA3ShrKnFmippzfd/+pwSz93Rj1sniNq4/aVDQx9XWrvbffOmVTbQNJ3on9qsEVm21x1ASMat+8duHqtw8YppeUXF/iYFaV8BVVUoVmvcoT/X/zXka/1OO9h8F7BAJDmFavKbp98fIUQ1bvBWYRlG1LXG1gMOseELdreWxwOxUpq0zFzIPCHGS3LfQblY8YW/g46tcVN9netWwStFCtf8KsSz+yn8P1GGVJ6TnqA7NXuqkytg=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(346002)(39860400002)(376002)(136003)(396003)(71200400001)(6486002)(478600001)(6916009)(54906003)(316002)(38070700005)(2616005)(186003)(6506007)(53546011)(41300700001)(38100700002)(26005)(122000001)(6512007)(36756003)(76116006)(2906002)(33656002)(5660300002)(4744005)(86362001)(8936002)(91956017)(66476007)(66446008)(64756008)(66556008)(4326008)(66946007)(8676002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <86B33EE299BC4F4C8F70D01FA6142011@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB2044
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	22cced7a-4162-42eb-9dba-08da84e9b5f0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WIRCXFlcsQddd+Nztu+iKIJW4mygLmeb/GaDYV/aogk2Q/RbsH54rgJmSdkaxez8jM5Za6p8JFtHppTEhJUxUN75dRMTqAP/6hd2702GyCdxVN/G5qDNp5kjmFD1lpm3r+fjDk5DBytpwOVE1yLjYVuRNUmGaowhCTSQY/hUpCTpTC6XqJETWaIaBpUwz/zMQCxgflx0b2dRa2nL7WTtwPXuyls0f+GChmcH4GX3XWzS4amXBht30FQCRv5i4Hhqb9FAjUXJj3c8Ez7tBKGqsrZpjXb6eRy+NYYVA7og032h2DhyD9FvR/ZG774+r3rQ0okaxFoAeLwk4cUPvORCXZMD7YbIf/r3nVuv2YxORRRaN9zReiIlC8PQoDcXiqAx/lsZ2X9jA7X9ubva1FP8pYasHKdLNh64wHHu6N+0HttDS0L7gC+d8iEgo0F4V9aXwbmoVjrgIxmHS7SIwL9iqodg5xLaKGfDMnH3QWhfCYWxa2gUCUCTh5Jg8/3tauZaxAhen1Oi0Sw1LNZcQoE/KnrEOtDSVpMPKkKn5krxdERkbk29UwNl9qyCrwyDah2ktZFBd3IZ3JjzVQ4/MwGLeiq5v9CYZyJIrHh2GMYIf7EzroYIqdPJ244ee8rkVzFo7svLV4MThSX00WeHqXeHvwYAaDBcufZMZLhR/bAd32XjdOJhPdvzLb6RImIAQj1BAAMuAQoXvTQKo4+hlE+y7nbvJqF07r648AKmeidzNTrT5pY2WqphARMN5Rg0P1xi2YRJRD/Nr6fc3ufVVEV1zA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(136003)(39860400002)(396003)(46966006)(36840700001)(40470700004)(36860700001)(40480700001)(86362001)(356005)(40460700003)(33656002)(82310400005)(81166007)(82740400003)(36756003)(41300700001)(4744005)(8936002)(6862004)(5660300002)(54906003)(316002)(8676002)(70206006)(4326008)(70586007)(6486002)(2616005)(336012)(186003)(53546011)(26005)(47076005)(6506007)(2906002)(478600001)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 09:27:43.8462
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a8a312d1-3a5f-4591-460b-08da84e9bbd2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2416

SGkgSnVsaWVuLA0KDQo+IE9uIDIzIEF1ZyAyMDIyLCBhdCA5OjMxIGFtLCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4gDQo+IEhpIFJhaHVsLA0KPiANCj4gT24gMTkvMDgv
MjAyMiAxMTowMiwgUmFodWwgU2luZ2ggd3JvdGU6DQo+PiBldnRjaG5fYWxsb2NfdW5ib3VuZCgp
IGFsd2F5cyBhbGxvY2F0ZXMgdGhlIG5leHQgYXZhaWxhYmxlIHBvcnQuIFN0YXRpYw0KPj4gZXZl
bnQgY2hhbm5lbCBzdXBwb3J0IGZvciBkb20wbGVzcyBkb21haW5zIHJlcXVpcmVzIGFsbG9jYXRp
bmcgYQ0KPj4gc3BlY2lmaWVkIHBvcnQuDQo+IA0KPiBOSVQ6IFNhbWUgYXMgcGF0Y2ggIzQsIGl0
IGlzIG5vdCBjbGVhciB5b3UgYXJlIHRhbGtpbmcgYWJvdXQgdGhlIGN1cnJlbnQgYmVoYXZpb3Iu
DQo+IA0KDQpBY2suIEkgd2lsbCBhZGQg4oCcY3VycmVudGx54oCdIGluIG5leHQgdmVyc2lvbi4N
CiANClJlZ2FyZHMsDQpSYWh1bA==


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:33:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391833.629820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQHK-0000S3-U5; Tue, 23 Aug 2022 09:32:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391833.629820; Tue, 23 Aug 2022 09:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQHK-0000Rw-RC; Tue, 23 Aug 2022 09:32:58 +0000
Received: by outflank-mailman (input) for mailman id 391833;
 Tue, 23 Aug 2022 09:32:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQQHI-0000Ro-TS
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:32:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQQHI-0007zV-J5; Tue, 23 Aug 2022 09:32:56 +0000
Received: from [54.239.6.189] (helo=[192.168.28.231])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQQHI-0007MO-8N; Tue, 23 Aug 2022 09:32:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oL+TBeujWXXqLwf4OL/osLykh4a5XVHoU0kPfSmbTSU=; b=peb0UTHkiYYjR9/FY5oTZtNfOf
	oaWygpuTOawibQqJeDzMII0RwTtez7A0wOAdPo/eL/i4Te7HFJZ0cLsMHKC9zLB0d5cbHqxNBCby3
	oOCv4DqAeSSK33oyc+j2EPtLWFWKJfFTURByfoFboZ0kGR0DWMIjz4sIKkuX2DxvIDxs=;
Message-ID: <f8ced254-85d0-ee2b-4f90-2c58926ec75f@xen.org>
Date: Tue, 23 Aug 2022 10:32:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 6/7] xen: introduce xen-evtchn dom0less property
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <02993cf398573adf9e9bad62aa8d6e753b2c6ab9.1660902588.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <02993cf398573adf9e9bad62aa8d6e753b2c6ab9.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 19/08/2022 11:02, Rahul Singh wrote:
> Introduce a new sub-node under /chosen node to establish static event
> channel communication between domains on dom0less systems.
> 
> An event channel will be created beforehand to allow the domains to
> send notifications to each other.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
> Changes in v2:
>   - no change
> ---
> ---
>   docs/misc/arm/device-tree/booting.txt |  63 +++++++++++-
>   xen/arch/arm/domain_build.c           | 136 ++++++++++++++++++++++++++
>   xen/arch/arm/include/asm/domain.h     |   1 +
>   xen/arch/arm/include/asm/setup.h      |   1 +
>   xen/arch/arm/setup.c                  |   2 +
>   5 files changed, 202 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 98253414b8..ec7dbcaf8f 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -212,7 +212,7 @@ with the following properties:
>       enable only selected interfaces.
>   
>   Under the "xen,domain" compatible node, one or more sub-nodes are present
> -for the DomU kernel and ramdisk.
> +for the DomU kernel, ramdisk and static event channel.
>   
>   The kernel sub-node has the following properties:
>   
> @@ -254,11 +254,43 @@ The ramdisk sub-node has the following properties:
>       property because it will be created by the UEFI stub on boot.
>       This option is needed only when UEFI boot is used.
>   
> +The static event channel sub-node has the following properties:
> +
> +- compatible
> +
> +    "xen,evtchn"
> +
> +- xen,evtchn
> +
> +    The property is tuples of two numbers
> +    (local-evtchn link-to-foreign-evtchn) where:
> +
> +    local-evtchn is an integer value that will be used to allocate local port
> +    for a domain to send and receive event notifications to/from the remote
> +    domain. Maximum supported value is 2^17 for FIFO ABI and 4096 for 2L ABI.
> +    It is recommended to use low event channel ID.

I think you are either missing a 'a' or 'ID' should be 'IDs'

> +
> +    link-to-foreign-evtchn is a single phandle to a remote evtchn to which
> +    local-evtchn will be connected.
>   
>   Example
>   =======
>   
>   chosen {
> +
> +    module@0 {
> +        compatible = "multiboot,kernel", "multiboot,module";
> +        xen,uefi-binary = "...";
> +        bootargs = "...";
> +
> +        /* one sub-node per local event channel */
> +        ec1: evtchn@1 {
> +            compatible = "xen,evtchn-v1";
> +            /* local-evtchn link-to-foreign-evtchn */
> +            xen,evtchn = <0xa &ec2>;
> +        };

AFAIU, this is meant to describe the static event channels for dom0. I 
can't find the documentation for it. Do they always need to be a subnode 
the node "multiboot,kernel"?

The reason I am asking is it feels strange to define them below that 
subnode when for domUs, both nodes have the same parent. So I think it 
would make more sense to define them in chosen.

> +    };
> +
>       domU1 {
>           compatible = "xen,domain";
>           #address-cells = <0x2>;
> @@ -277,6 +309,23 @@ chosen {
>               compatible = "multiboot,ramdisk", "multiboot,module";
>               reg = <0x0 0x4b000000 0xffffff>;
>           };
> +
> +        /* one sub-node per local event channel */
> +        ec2: evtchn@2 {
> +            compatible = "xen,evtchn-v1";
> +            /* local-evtchn link-to-foreign-evtchn */
> +            xen,evtchn = <0xa &ec1>;
> +        };
> +
> +        ec3: evtchn@3 {
> +            compatible = "xen,evtchn-v1";
> +            xen,evtchn = <0xb &ec5>;
> +        };
> +
> +        ec4: evtchn@4 {
> +            compatible = "xen,evtchn-v1";
> +            xen,evtchn = <0xc &ec6>;
> +        };
>       };
>   
>       domU2 {
> @@ -296,6 +345,18 @@ chosen {
>               compatible = "multiboot,ramdisk", "multiboot,module";
>               reg = <0x0 0x4d000000 0xffffff>;
>           };
> +
> +        /* one sub-node per local event channel */
> +        ec5: evtchn@5 {
> +            compatible = "xen,evtchn-v1";
> +            /* local-evtchn link-to-foreign-evtchn */
> +            xen,evtchn = <0xb &ec3>;
> +        };
> +
> +        ec6: evtchn@6 {
> +            compatible = "xen,evtchn-v1";
> +            xen,evtchn = <0xd &ec4>;
> +        };
>       };
>   };
>   
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 11a8c6b8b5..5101bca979 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3052,6 +3052,141 @@ void __init evtchn_allocate(struct domain *d)
>       d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
>   }
>   
> +static const void *__init get_evtchn_dt_property(
> +        const struct dt_device_node *np)
> +{
> +    const void *prop = NULL;
> +    uint32_t len;
> +
> +    prop = dt_get_property(np, "xen,evtchn", &len);
> +    if ( !prop )
> +        return NULL;
> +
> +    if ( !len )
> +    {
> +        printk(XENLOG_ERR "xen,evtchn property cannot be empty.\n")

Looking at the callers, they all assume that there is enough cells in 
the property. So I think you should check the size as well.

> +        return ERR_PTR(-EINVAL);
> +    }
> +
> +    return prop;
> +}
> +
> +static int __init allocate_domain_evtchn(const struct dt_device_node *node)
> +{
> +    const void *prop = NULL;
> +    const __be32 *cell;
> +    uint32_t domU1_port, domU2_port, remote_phandle;
> +    const struct dt_device_node *evtchn_node, *remote_node;
> +    struct evtchn_alloc_unbound alloc_unbound;
> +    struct evtchn_bind_interdomain bind_interdomain;
> +    int rc;
> +
> +    dt_for_each_child_node(node, evtchn_node)
> +    {
> +        struct domain *d, *d1 = NULL, *d2 = NULL;
> +
> +        if ( !dt_device_is_compatible(evtchn_node, "xen,evtchn-v1") )
> +            continue;
> +
> +        prop = get_evtchn_dt_property(evtchn_node);
> +        /* If the property is not found, return without errors */

 From the binding description, the property is not optional. So do we 
want to ignore the error? If you treat it as an error, then ...

> +        if ( !prop || IS_ERR(prop) )
> +            return IS_ERR(prop) ? PTR_ERR(prop) : 0;

... you could return ERR_PTR(-ENOMEM) instead of NULL and then simplify 
this code with:

> +
> +        cell = (const __be32 *)prop;

prop is a void pointer. So the cast is unnecessary.

> +        domU1_port = dt_next_cell(1, &cell);
> +        remote_phandle = dt_next_cell(1, &cell);
The code is also duplicated below for the remote port. I think it would 
be better if this is part of your helper get_evtchn_dt_property().

> +
> +        remote_node = dt_find_node_by_phandle(remote_phandle);
> +        if ( !remote_node )
> +        {
> +            printk(XENLOG_ERR
> +                   "evtchn: could not find remote evtchn phandle\n");
> +            return -EINVAL;
> +        }
> +
> +        prop = get_evtchn_dt_property(remote_node);
> +        /* If the property is not found, return without errors */
> +        if ( !prop || IS_ERR(prop) )
> +            return IS_ERR(prop) ? PTR_ERR(prop) : 0;
> +
> +        cell = (const __be32 *)prop;
> +        domU2_port = dt_next_cell(1, &cell);
> +        remote_phandle = dt_next_cell(1, &cell);
> +
> +        if ( evtchn_node->phandle != remote_phandle )
> +        {
> +            printk(XENLOG_ERR "xen,evtchn property is not setup correctly.\n");
> +            return -EINVAL;
> +        }
> +
> +        for_each_domain ( d )
> +        {
> +            if ( d->arch.node == node )
> +            {
> +                d1 = d;
> +                continue;
> +            }
> +            if ( d->arch.node == dt_get_parent(remote_node) )
> +                d2 = d;
> +        }

The loop could be avoided if you stash the domid in the field 'used_by' 
of the device-tree node when the domain is created.

> +
> +        if ( !d1 && dt_device_is_compatible(node, "multiboot,kernel") )
> +            d1 = hardware_domain;
> +
> +        if ( !d2 && dt_device_is_compatible(dt_get_parent(remote_node),
> +                                            "multiboot,kernel") )
> +            d2 = hardware_domain;

Any particular reason to handle the hardware domain differently?

> +
> +        if ( !d1 || !d2 )
> +        {
> +            printk(XENLOG_ERR "evtchn: could not find domains\n" );
> +            return -EINVAL;
> +        }
> +
> +        alloc_unbound.dom = d1->domain_id;
> +        alloc_unbound.remote_dom = d2->domain_id;
> +
> +        rc = evtchn_alloc_unbound(&alloc_unbound, domU1_port);
> +        if ( rc < 0 && rc != -EBUSY )

Please explain in a comment why you want to handle -EBUSY differently.

> +        {
> +            printk(XENLOG_ERR
> +                   "evtchn_alloc_unbound() failure (Error %d) \n", rc);
> +            return rc;
> +        }
> +
> +        bind_interdomain.remote_dom  = d1->domain_id;
> +        bind_interdomain.remote_port = domU1_port;
> +
> +        rc = evtchn_bind_interdomain(&bind_interdomain, d2, domU2_port);
> +        if ( rc < 0 && rc != -EBUSY )

AFAIU, EBUSY only tells you the port is been used. It doesn't tell you 
the link is the same. So I think you want to also confirm that to avoid 
to continuing with the wrong setup.

> +        {
> +            printk(XENLOG_ERR
> +                   "evtchn_bind_interdomain() failure (Error %d) \n", rc);
> +            return rc;
> +        }
> +    }
> +
> +    return 0;
> +}
> +
> +void __init allocate_static_evtchn(void)
> +{
> +    struct dt_device_node *node;

AFAICT, all the users below can deal with constisfied node. So I think 
you want to add 'const' here.

> +    const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
> +
> +    BUG_ON(chosen == NULL);
> +    dt_for_each_child_node(chosen, node)
> +    {
> +        if ( dt_device_is_compatible(node, "xen,domain") ||
> +             dt_device_is_compatible(node, "multiboot,kernel") )
> +        {
> +            if ( allocate_domain_evtchn(node) != 0 )
> +                panic("Could not set up domains evtchn\n");
> +        }
> +    }
> +}
> +
>   static void __init find_gnttab_region(struct domain *d,
>                                         struct kernel_info *kinfo)
>   {
> @@ -3358,6 +3493,7 @@ void __init create_domUs(void)
>               panic("Error creating domain %s\n", dt_node_name(node));
>   
>           d->is_console = true;
> +        d->arch.node = node;

If you follow my suggestion above, this should not be necessary. 
However, if this is still needed for some reason, then I think we should 
also set d->arch.node for the Hardware Domain and ...

>   
>           if ( construct_domU(d, node) != 0 )
>               panic("Could not set up domain %s\n", dt_node_name(node));
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index cd9ce19b4b..51192b28ee 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -105,6 +105,7 @@ struct arch_domain
>   #endif
>   
>       bool directmap;
> +    struct dt_device_node *node;

... this should be const as the node shouldn't be modifiable.

>   }  __cacheline_aligned;
>   
>   struct arch_vcpu
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index 2bb01ecfa8..bac876e68e 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -106,6 +106,7 @@ int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
>   
>   void create_domUs(void);
>   void create_dom0(void);
> +void allocate_static_evtchn(void);
>   
>   void discard_initial_modules(void);
>   void fw_unreserved_regions(paddr_t s, paddr_t e,
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 500307edc0..8eead619ae 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -1063,6 +1063,8 @@ void __init start_xen(unsigned long boot_phys_offset,
>       if ( acpi_disabled )
>           create_domUs();
>   
> +    allocate_static_evtchn();
> +
>       /*
>        * This needs to be called **before** heap_init_late() so modules
>        * will be scrubbed (unless suppressed).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:42:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391839.629831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQQE-0001vB-Pw; Tue, 23 Aug 2022 09:42:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391839.629831; Tue, 23 Aug 2022 09:42:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQQE-0001v4-ND; Tue, 23 Aug 2022 09:42:10 +0000
Received: by outflank-mailman (input) for mailman id 391839;
 Tue, 23 Aug 2022 09:42:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxx3=Y3=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQQQC-0001uy-V7
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 09:42:09 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2088.outbound.protection.outlook.com [40.107.21.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da493127-22c7-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 11:42:07 +0200 (CEST)
Received: from AS9P250CA0017.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:532::16)
 by AM6PR08MB3096.eurprd08.prod.outlook.com (2603:10a6:209:43::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 09:42:05 +0000
Received: from AM7EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:532:cafe::ec) by AS9P250CA0017.outlook.office365.com
 (2603:10a6:20b:532::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Tue, 23 Aug 2022 09:42:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT041.mail.protection.outlook.com (100.127.140.233) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 09:42:05 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 23 Aug 2022 09:42:05 +0000
Received: from ed84d967b700.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B1ED427D-EC35-4AC4-8775-888DC4DBA2A6.1; 
 Tue, 23 Aug 2022 09:41:58 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ed84d967b700.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 09:41:58 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB9PR08MB6556.eurprd08.prod.outlook.com (2603:10a6:10:261::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 09:41:56 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 09:41:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da493127-22c7-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cWwJ8Sc9hGwZbAYg5plDLRvoIzQtPv4APXckpQ/nN+veIWEIBSo3fWZas8tI9sjl9al0OqbnHatmb8gTkaC7rimBtqvP/hboWf5ZHVa1Lp6pKK+bfeSoDxzCPYKOoQ4zsiWr5JLE+k+tACfOh6q6u0VahxePoAwySFnJGGTx1SLrW62EMZlr6EaGmMew3CtY6yKxzVucpKNdVZfkdiEWJov0CXu6NF+W9WfSDVG+X88AenF4fNZm827//DwRNCA88enOew/RfYST5+jwZf8dCFsHo2bZQrLrVBBWQJKoyVMRNwmc3ExubwR6sr6Tevngw7gKVNnQeigmAsYWFSXg+Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3lKUlB4fxY4zQzcYaF932ZP5kB3enNdez8RwjKTc+tM=;
 b=FrWunqRTpkIJZJg1+A+QbNllUKQbS1j3Zn8Y8VsOYRqOVosXRH+6605KHEGPUHiD0ra82MvYctkAtDpFHdSozfBPD2v+NRGnOq5wm/zvNYZpMkhgGTMB6MBFkXOAs29UdnGODZ8+y27w02xkSYlwdJSaapvImA7RBzq3mgfIqzy7cJJEVQYSIpjdhH6MfPd8g+dXT/BEBhiZu99kW/hFXErGwm5vt+llftPhW+EYH/Flx7fmq9MsgmBWGv8Yzueolrc+7zNaKUC18GdkUmZfJ00jUKguVvKn+cdkf1j6A8b4CFbEH/DR+23O4J7AZViQFj1Q7J86+Y83HBeNBkcDmw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3lKUlB4fxY4zQzcYaF932ZP5kB3enNdez8RwjKTc+tM=;
 b=ZLhzATXbIOb7tx8DAv6Lfcr6PA9amlBQee8IlvCRuhdohDAgLJ+qCmLvzF0QTBlY5V9GLZc77CopChYkU+z9BaIxFUqg5hoLnFWrxaqqjabf6C3TlhW+xIBFVC5Sc1b7hwhQPTekBhhrBQ/JQS642ThnGjAwM7fH9KAJOrovQI4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 63900b9181ad9ba4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KSo7gkB/2LQLvbuIktfHW4y1bQh8J/rFhi7S3uazLMyoVNLnm6mHKZHXHUxP+xz/peLHW5f9ovzM5wKttzYsmGY1cQCPNBkbW4kxRPGHm8Fenfqa6m13/jDXoDtEjnSbrbpGfSMR4qXC1faJiWbPv4vCNfHgOCHdTGd1pCGah9fgLgFuNw/RdGkXIFlIftXh2AQ5KCEag+8FgRjxpBbwswZEAajRyRWRzkuGrEUbo7hXrECH2o/JJywl3MaBzv+vig5ZTVz7CJZdSqXVmt3HZJ8b4HPnsX8ICdbgvwfzwWFIscTp/oL5Z7Id7lUxTLRdIhfa0FvlDZH9gOZMJV7bBg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3lKUlB4fxY4zQzcYaF932ZP5kB3enNdez8RwjKTc+tM=;
 b=LcNQ4DAZ715SxNPOkgCL3cF13x9BnYBJw7RGkuZpNkWqQkNZ7f5PjSs3hDHdifGob4a7mRcG46smuEOT+ll8y30qzXv+6jMT1hB9dRwsL/Fj4pwt3sc9UeAWBVfZzPh3+lKvRGTrYLHezCYY3QyrG9EAyCXQmb+Nr9Z6nd7tDdm4aVd64z0cdDGBJnozLWSzfx96sBKIInteXSZjgPFydk1qtuwof3atb8Phi0vmDtNB5N8qz0rMRxwB9xtk7yynQvAl3ffi97jyTklknLDe+oQF4wIGX8NbyeMaIFwOGPOAwCOcbSss+iI3TTVxqfotixjG3K/QXMsRYQaUgET/4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3lKUlB4fxY4zQzcYaF932ZP5kB3enNdez8RwjKTc+tM=;
 b=ZLhzATXbIOb7tx8DAv6Lfcr6PA9amlBQee8IlvCRuhdohDAgLJ+qCmLvzF0QTBlY5V9GLZc77CopChYkU+z9BaIxFUqg5hoLnFWrxaqqjabf6C3TlhW+xIBFVC5Sc1b7hwhQPTekBhhrBQ/JQS642ThnGjAwM7fH9KAJOrovQI4=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jan Beulich <jbeulich@suse.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Thread-Topic: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Thread-Index: AQHYs7MVCCbVCzB/DU2JPHyjxuVOOK269JmAgAEvmICAAB2KgA==
Date: Tue, 23 Aug 2022 09:41:49 +0000
Message-ID: <579C8A74-055D-445B-9955-750107DC80CF@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
 <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
 <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
In-Reply-To: <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: e5f1be61-977a-4274-0a83-08da84ebbd35
x-ms-traffictypediagnostic:
	DB9PR08MB6556:EE_|AM7EUR03FT041:EE_|AM6PR08MB3096:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 obwPDcUzF1gjEL5kE8g9/8DleErtPSRkeavkWJwRlAU1eXjBQy0GxeNCrFAVBr6S8wzMQVUrSeXcYYOnN4Ik0TbHPrmF2nrdIndRnnYr6ybv5VWE10RHYp0fk2mUt7nkar1VfpUlhKQhmtvhugkI/f435TzU3yTD9FXzKUkL4KAYXaEsmSaq5/op4p7SrTHWgOmsKDcLIalwWXisZbJygNh9LrNJ4HRtnTro6EIXAPfJsiFYtVvYT4iJtGZ8h0m5PcFjx0E9r5lZWikT/1G2CzZfGcQkGowR97jli5V+1cQO/kPoRzy/kLL4UsQdLDL9i1oMBnZ4Lb8cul2JmXRf9fiOO103Hqal1LuFcyAGjSWHU9Yh4dhut3Fjk7cwDG1Jdkz4aV3yenc24QQ4cmMvDSsSTWkX7+2uYyCabeehcqD6OmBE1K8R2VeCYYaEKtdIhI0DoIs/yCLLK8CfhqZQOI8EWY6nGCbJSAKBUZqnc8xpW6bZnlHQDVfpAuPCFR1kScRt33UYWYuTW6ZanxWmcwg3z6M6c/6mDuglUYhSOhbfPjQ3010s0hrCzNUofMVXMgpySvXWdoywbw9STxS4YC21S7QQGbv/xjZiYm6yMVnkD2tsjhiJGLSkwqcG5I2SE1ZXRTR6iUXGsH6vA78+cKqx3+A/Uz05bjELxji5SHBIlv6XMuagyohnDW4p6UDugGJ0kxUdJUPKF5xyXqUu8Zq/QuOiLkF2Z++GOg1QKtdGD00P9+fTFatPrfhARACiXW3AH78JmEpdOlumHEm9leFDWSUmFuzOctbuQUrSZt8=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(39860400002)(366004)(136003)(376002)(66556008)(8936002)(66446008)(8676002)(64756008)(4326008)(86362001)(91956017)(6916009)(76116006)(54906003)(36756003)(33656002)(66476007)(66946007)(38100700002)(122000001)(38070700005)(186003)(83380400001)(6506007)(26005)(6512007)(6486002)(71200400001)(41300700001)(478600001)(316002)(2616005)(53546011)(2906002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <82977BF9BD81A5498BC355DD16C1569B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6556
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bbeb3a90-e1ed-42d1-3d5e-08da84ebb422
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hS6VXihZ5EINSRzhMf4kS5E/jE8dnpqVM1biZiEUeYbpB2weKoh5XSVdr/UYtZV1yAXi7efBiRL8ASUj3ZSy6LiNO5v7HxKv7VjJsv0UJiqGFxpIwSpP9WhXdykfs64Ypie9uRtbPzk+HaqRCvy2WW67zDQlN87fAzwp4TMFRFms7sxY5J6X33EAO1KB3hW9F3jkwIusuKZLvshj2BXk9aotOSkvPsp/cQC1ntSLGM3t9CW4fPY2NIq5OjZX7pYip8+i+FruvtRLT0sIDQLS3ONUAOt2ci+OzIphv+yNt5eViVEGmTm75wdYNfuMrQrwIA7CK0d7+tlOWDAbYWzV2zFfP4ZHU0LS27guWw3Y8MEKEKErBCqOdzOWpFDxaWDX9u2qB23Nq3TVpbIvss/aUVOzDxrblmFSqElXR1FWS7KUeX2kocMC9w4Nrto8mZSW1zBpVUh0dZiURz7lXcf9vVoNCWbqrWanet7YZuwmCK/6HIRDCmipoLdqGo8tNmcrajmOFIcmx2xHxtchazqOxn0knQv/+rB4D39gZgAs2Bg4erd+9f65Ore62CAVjKzFXDoxx6Dspdctt1lHoVWsK6oDWtunDJbb+GKIDM+FK8qGw7tHvb4VmsN7HYmhMFX7L+S/zKuhOnYjpIsBUfFSXRbvgiF+TNg2tZ8c/h0iRvPJEBTfyfbgYvCTCMmJBo6MMO+MpdxxWr4MgyoAfd0IYpC/0PlXTSR7Yu8hEBBKq4263426jwjqP9+tfLbndZSKi5CfyZ0W6XIdLLScDvEjhw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(346002)(39860400002)(46966006)(40470700004)(36840700001)(53546011)(26005)(478600001)(6486002)(41300700001)(6512007)(6506007)(82310400005)(4326008)(40480700001)(8676002)(2906002)(86362001)(33656002)(36756003)(54906003)(316002)(40460700003)(81166007)(356005)(336012)(47076005)(2616005)(186003)(82740400003)(5660300002)(8936002)(70206006)(6862004)(70586007)(83380400001)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 09:42:05.2428
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e5f1be61-977a-4274-0a83-08da84ebbd35
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3096

Hi Julien,

> On 23 Aug 2022, at 8:56 am, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Rahul and Jan,
>=20
> On 22/08/2022 14:49, Jan Beulich wrote:
>> On 19.08.2022 12:02, Rahul Singh wrote:
>>> Static event channel support will be added for dom0less domains.
>=20
> I am not sure how this sentence is related to this patch. You...
>=20
>>> Restrict the maximum number of evtchn supported for domUs to avoid
>>> allocating a large amount of memory in Xen.
>=20
> ... still need the limit to prevent a domain using more memory because at=
 the moment they are unlimited.

Ok. I will remove the sentence.
>=20
>> Please clarify here how you arrived at 4096 and why you expect no
>> dom0less DomU would ever want to have more. The limit, after all,
>> is far below that of FIFO event channels.
>=20
> I will reply on this because I suggested the limit. A dom0less DomU is ex=
actly the same as a DomU created by the toolstack. The default is 1023 (I o=
riginally thought it was 4096).
>=20
> I would expect that is 1023 is going to be fine by default also for dom0l=
ess domU as on Arm we don't bind physical interrupts to event channels. So =
the only big use for them is for inter-domain communication.
>=20

I will add this information in commit msg.

> Therefore, I think it should be ok to default to 1023 if we want consiste=
ncy.
>=20
> If someone needs more than 1023, we could introduce a per-domain device-t=
ree property to override the default maximum.
>=20
>>> --- a/xen/arch/arm/domain_build.c
>>> +++ b/xen/arch/arm/domain_build.c
>>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>>>          struct xen_domctl_createdomain d_cfg =3D {
>>>              .arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>>              .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>> -            .max_evtchn_port =3D -1,
>>> +            .max_evtchn_port =3D MAX_EVTCHNS_PORT,
>>>              .max_grant_frames =3D -1,
>>>              .max_maptrack_frames =3D -1,
>>>              .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_ve=
rsion),
>>> --- a/xen/include/xen/sched.h
>>> +++ b/xen/include/xen/sched.h
>>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>>>  /* Maximum number of event channels for any ABI. */
>>>  #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHANN=
ELS)
>>>  +/* Maximum number of event channels supported for domUs. */
>>> +#define MAX_EVTCHNS_PORT 4096
>> I'm afraid the variable name doesn't express its purpose, and the
>> comment also claims wider applicability than is actually the case.
>> It's also not clear whether the constant really needs to live in
>> the already heavily overloaded xen/sched.h.
>=20
> IMHO, I think the value would be better hardcoded with an explanation on =
top how we chose the default value.

Ack.=20
=20
Regards,
Rahul=


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 09:50:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 09:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391848.629842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQXj-0002pw-Nv; Tue, 23 Aug 2022 09:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391848.629842; Tue, 23 Aug 2022 09:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQXj-0002pp-Kn; Tue, 23 Aug 2022 09:49:55 +0000
Received: by outflank-mailman (input) for mailman id 391848;
 Tue, 23 Aug 2022 09:49:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQQXi-0002pf-Uo; Tue, 23 Aug 2022 09:49:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQQXi-0008Hv-T5; Tue, 23 Aug 2022 09:49:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQQXi-0007oW-Fk; Tue, 23 Aug 2022 09:49:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQQXi-0002oe-FL; Tue, 23 Aug 2022 09:49:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=b4YiatrVlZ93oxnHCa0zIvRRusuL+a7/H+atJlyZWGk=; b=rZBNGWhcgNgobGsozga6lzcKYw
	itLwXL5f+u8CmVOwTUQaLRtaJO6n/LjK7XR8IvOc0qmAU/YphDX8+cw66DjaXViG5p88lPDquCj+K
	dZwrVPOtuLBrTmsG5PGqrAApAsHQtPH3DbivYOmR2fNj0yx94PiJ/6Z73tP21lPLmh3g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172726-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172726: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=dfdba857a6b6a708e754ddb1a04086a3402acdef
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 09:49:54 +0000

flight 172726 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172726/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 dfdba857a6b6a708e754ddb1a04086a3402acdef
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   19 days
Failing since        172151  2022-08-05 02:40:28 Z   18 days  151 attempts
Testing same since   172726  2022-08-23 06:44:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 905 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 10:05:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 10:05:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391857.629853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQmh-0005JF-48; Tue, 23 Aug 2022 10:05:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391857.629853; Tue, 23 Aug 2022 10:05:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQQmh-0005J8-14; Tue, 23 Aug 2022 10:05:23 +0000
Received: by outflank-mailman (input) for mailman id 391857;
 Tue, 23 Aug 2022 10:05:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQQmf-0005J2-ES
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 10:05:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQQmf-0000DC-5j; Tue, 23 Aug 2022 10:05:21 +0000
Received: from [54.239.6.189] (helo=[192.168.28.231])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQQme-0000df-UZ; Tue, 23 Aug 2022 10:05:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dCFqI9fzB8tUcERRc6YgZZuD03fZHkFd1leE9//sFyQ=; b=p99W/Y3y6bvDyjRX1/YdDMeKtL
	gVrYoVtLup2OZtX409gddaU8Lxk6WufXgPvN/yhWHARykp5CwRMee/PTzX/pkIC904EeK91U6ATqj
	+bB8IUb2OIBhYfdiK3MMMBr3+R5IJWtX6dL3vIE4e0cO9BWGfN9NBsVYaq8VM/x78aQw=;
Message-ID: <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
Date: Tue, 23 Aug 2022 11:05:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 19/08/2022 11:02, Rahul Singh wrote:
> Introduce a new "xen,enhanced" dom0less property value "evtchn" to
> enable/disable event-channel interfaces for dom0less guests.

The documentation in docs/misc/arm/device-tree/booting.txt is missing. 
Also, you probably wants to update docs/feature/dom0less.pandoc because 
the section "PV drivers" suggests that if the property "xen,enhanced" is 
specified, then we would end up to allocate information for PV drivers.

AFAIU, this is not the case when "evtchn" is specified.

> 
> The configurable option is for domUs only. For dom0 we always set the
> corresponding property in the Xen code to true.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
> Changes in v2:
>   - no change
> ---
> ---
>   xen/arch/arm/domain_build.c       | 149 ++++++++++++++++--------------
>   xen/arch/arm/include/asm/kernel.h |   3 +
>   2 files changed, 82 insertions(+), 70 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 5101bca979..bd8b8475b7 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1396,85 +1396,92 @@ static int __init make_hypervisor_node(struct domain *d,
>       if ( res )
>           return res;
>   


The diff below is quite difficult to read. I have applied to have a 
look. You seem to have simply indented the code and now some of the
lines are over the 80 characters mark.

Ideally, I would like to avoid large 'if'. So I would suggest to either
re-ordering the code or split in multiple functions.

However, reading the binding of "xen,xen", the property "reg" and 
"interrupts" are not optional.

I also don't think can make them optional because some OSes may not boot 
if it can't find one of the property.

In any case, at minimum you should explain why this is fine to make them 
optional.

[...]


> -    /*
> -     * Interrupt event channel upcall:
> -     *  - Active-low level-sensitive
> -     *  - All CPUs
> -     *  TODO: Handle properly the cpumask;
> -     */
> -    set_interrupt(intr, d->arch.evtchn_irq, 0xf, DT_IRQ_TYPE_LEVEL_LOW);
> -    res = fdt_property_interrupts(kinfo, &intr, 1);
> -    if ( res )
> -        return res;
> +    if ( kinfo->dom0less_evtchn )

So I understand why you want to make the first part optional. But this 
is not clear why this one become conditional to "dom0less_evtchn". Do 
you have any plan to only present the node "xen,xen" where neither event 
channels nor PV interfaces would be used?

> +    {
> +        BUG_ON(d->arch.evtchn_irq == 0);
> +
> +        /*
> +         * Interrupt event channel upcall:
> +         *  - Active-low level-sensitive
> +         *  - All CPUs
> +         *  TODO: Handle properly the cpumask;
> +        */
> +        set_interrupt(intr, d->arch.evtchn_irq, 0xf, DT_IRQ_TYPE_LEVEL_LOW);
> +        res = fdt_property_interrupts(kinfo, &intr, 1);
> +        if ( res )
> +            return res;
> +    }
>   
>       res = fdt_end_node(fdt);
>   
> @@ -2891,7 +2898,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>               goto err;
>       }
>   
> -    if ( kinfo->dom0less_enhanced )
> +    if ( kinfo->dom0less_enhanced || kinfo->dom0less_evtchn )

I think the first part of the if can be removed because you can't do 
without event channel.

>       {
>           ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
>           if ( ret )
> @@ -3343,11 +3350,11 @@ static int __init construct_domU(struct domain *d,
>            rc == -ENODATA ||
>            (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
>       {
> -        if ( hardware_domain )
> -            kinfo.dom0less_enhanced = true;
> -        else
> -            panic("Tried to use xen,enhanced without dom0\n");
> +        kinfo.dom0less_enhanced = true;
> +        kinfo.dom0less_evtchn = true;
>       }
> +    else if ( rc == 0 && !strcmp(dom0less_enhanced, "evtchn") )
> +        kinfo.dom0less_evtchn = true;
>   
>       if ( vcpu_create(d, 0) == NULL )
>           return -ENOMEM;
> @@ -3526,6 +3533,8 @@ static int __init construct_dom0(struct domain *d)
>   
>       kinfo.unassigned_mem = dom0_mem;
>       kinfo.d = d;
> +    kinfo.dom0less_enhanced = true;
> +    kinfo.dom0less_evtchn = true;
>   
>       rc = kernel_probe(&kinfo, NULL);
>       if ( rc < 0 )
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index c4dc039b54..7cff19b997 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -39,6 +39,9 @@ struct kernel_info {
>       /* Enable PV drivers */
>       bool dom0less_enhanced;
>   
> +    /* Enable event-channel interface */
> +    bool dom0less_evtchn;

So technically, the event channel interface is still exposed even if 
this is false. This is because we are still allocate the PPI and set the 
number of events to a non-zero value.

IMHO, if dom0less_evtchn is false, then we should properly disable the 
event channels interface not just hide it.

Cheers,


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 10:23:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 10:23:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391863.629864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQR4O-0007uQ-LZ; Tue, 23 Aug 2022 10:23:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391863.629864; Tue, 23 Aug 2022 10:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQR4O-0007uJ-H6; Tue, 23 Aug 2022 10:23:40 +0000
Received: by outflank-mailman (input) for mailman id 391863;
 Tue, 23 Aug 2022 10:23:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jact=Y3=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQR4M-0007uC-WD
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 10:23:39 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140079.outbound.protection.outlook.com [40.107.14.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6ba5e5e-22cd-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 12:23:38 +0200 (CEST)
Received: from AM5PR0101CA0016.eurprd01.prod.exchangelabs.com
 (2603:10a6:206:16::29) by VI1PR08MB4302.eurprd08.prod.outlook.com
 (2603:10a6:803:fb::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17; Tue, 23 Aug
 2022 10:23:34 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:16:cafe::b4) by AM5PR0101CA0016.outlook.office365.com
 (2603:10a6:206:16::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16 via Frontend
 Transport; Tue, 23 Aug 2022 10:23:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 10:23:33 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Tue, 23 Aug 2022 10:23:32 +0000
Received: from dd2f2bce088d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E1F1B824-8F69-450B-AACB-4192F23C4262.1; 
 Tue, 23 Aug 2022 10:23:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dd2f2bce088d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 10:23:26 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB4579.eurprd08.prod.outlook.com (2603:10a6:208:108::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 10:23:22 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 10:23:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6ba5e5e-22cd-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=FnsbH6e1um8OKDmxHvgHXTRm49Zzj2wKyaC+CK5ciK6s2fXi72grD/ojkBiQDZOEPU05fdExOCOY/Vz/8L/PGshlJOBE6auFJFkSQT8tjIokvzWu6hI3V3qHUaE5LwK6mj9r/RZwfLvco+DtnPblV4yfkReIlVHPecokd5VVmjuZvZS3NL1V2HvoL58QLmao1bT8d39iffJxots3fve8O/gk+Zghh+jraR6YyNOa55AIQGh4kFN/IV4VuZCRCQcQUiBtewQdFpm3qSn2+A83vuMHle/+1+8ka4RbWfIgEwZvQAvicFX+8mBlsgSkLYpV1/XTVHjPM4OGILYltx24EQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iELuM75mf5iXZmKV0l26/7IKfIF6mJ+HI2LEyuwpRiw=;
 b=A2pdQ6U/IHJkDJpYaiV+l/oEwdqLpMgvQ/MGVY1RMFbTE0U5Idm0Whkmgb6hH9ThG9YVtUiz0qtIviEYFFKE4MvYxFjLys48spW3xQfMBXf4LEBuz5UU/jRFuXfaI2OVL5AjipZJiuIWr2F28BPAK658CnGt1u+SgvLapIyBDDFbxuq1+02oFsRNgWg3w18NmUTWGsAuJ70guLhH7XBQmZa1ZNsGZPCCVUPfMwTnLmZzqra5bqW+Gjfzut9LCcKTXGW/Us70OnLynF3W1FbDO/i1MmqcRr+yWbbQKTK6LD9asRKMRi0DoviLt7kCbkuI9svhcuIhy9mNw1Xch9GZOg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iELuM75mf5iXZmKV0l26/7IKfIF6mJ+HI2LEyuwpRiw=;
 b=c5zDM8HvhwflMMG3n96uVx1zZDEB8UFSVSFLs971KTz9qczo74dt3l6DcF0rfN9pl9z/rzg8Nus4GpvAyPaoUo+YtG8Pj/3+swEpQoebbok9OSOD0FCuxx9+oHJtY80FpD3ZjLKuwGBbCzCcdOPSrlo/itlRvV0qT3vfyheqZIw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: acb6af35c7b0e1bc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hRMo37ccmUsFCR9Gv0oxCytOTiw4RIWVlOHz4dEs+nbEbMOSrnUbLHjvxQ2GBTWPN2AHxmG5TU3A5cVnLsXk+IR4yfJsmumoFbhqaR+EH1a75nvlhiYiCeJQHnby54GomIIL/bI2aJj+BkutWu11mcYPRii+qiz2bOtcWq90OcMFnky8pqiy+zz+lOG7hKZtf/AyctOT9h84N3Y5BsPEuQOLsl0dzMQDTt2D19dFiBebUnn7fqqC9Ncpelg2KWwfsUVtt/Y7sB6Gwu0+4ZcNfwMCLyizE2HWtXSC5sZU6UBrq9E4U307YJuZuw6lpZO8RIBoWxYexnmM917SU76E9w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iELuM75mf5iXZmKV0l26/7IKfIF6mJ+HI2LEyuwpRiw=;
 b=N6By0VCQJDhWiA8rG6Ho26gmnzdGB5Jtv0v8t3f0rzf+QcjD8S3MSo3G8OloFuQMHzGmdwXY2dJGhxG6dCA0FMiwry/Tl7UmYAom09S9T2soelakf7faG/M3tARIBBXz2ebpfg+6zJGAIRtvYicef33UW+TIoCu5DP3ET5sQv/ALSPQEuZPAySkcz5OlHhLtN4DJa16zXwK/ixvStbhDedtq5HIq7PYMBYqKoGt5V1+8gCvcUNseoUB3Cb+uUZt+TIo6q53sUQRSOc1BH0wNnrBPvjvIwbjXMHmNB63gc57qBKR16aizpLJfgp1j+iauc9RCUpq2G/xg5KHO5EydmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iELuM75mf5iXZmKV0l26/7IKfIF6mJ+HI2LEyuwpRiw=;
 b=c5zDM8HvhwflMMG3n96uVx1zZDEB8UFSVSFLs971KTz9qczo74dt3l6DcF0rfN9pl9z/rzg8Nus4GpvAyPaoUo+YtG8Pj/3+swEpQoebbok9OSOD0FCuxx9+oHJtY80FpD3ZjLKuwGBbCzCcdOPSrlo/itlRvV0qT3vfyheqZIw=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Stefano Stabellini
	<stefano.stabellini@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "wl@xen.org" <wl@xen.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: [PATCH v2 3/3] add SPDX to arch/arm/*.c
Thread-Topic: [PATCH v2 3/3] add SPDX to arch/arm/*.c
Thread-Index: AQHYs05lv0KwzVk+1ESH7A+5C12Kg6212p0AgAD71ACAAVN4AIAEJDaA
Date: Tue, 23 Aug 2022 10:23:21 +0000
Message-ID: <AD1F6CD4-5679-4B2E-AA80-0DACD0F09709@arm.com>
References:
 <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-3-stefano.stabellini@amd.com>
 <61b01c8b-1f98-e559-f971-f081a25e0b93@xen.org>
 <alpine.DEB.2.22.394.2208191528050.3790@ubuntu-linux-20-04-desktop>
 <f235f6f8-d585-4e24-7fc8-3f2df9240c9d@xen.org>
In-Reply-To: <f235f6f8-d585-4e24-7fc8-3f2df9240c9d@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 09e8e228-bb96-4f45-afd9-08da84f18843
x-ms-traffictypediagnostic:
	AM0PR08MB4579:EE_|VE1EUR03FT045:EE_|VI1PR08MB4302:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 yTiCBbEipRNwepob6As1czYelqKsD7BLxHXiQh7iAPqsFBvkWy1kaXMLzZAoRottqM++65Mt7jUCMlljDzFlcdUhufxVYFLlhu/IU6dEylM9v1hn04sUISLgHdmtEUaWdLaIF89WQsWbhP+rqhuKhIKsyxBbkQbzUjliCVqBiij921rvBom5F00LcYyDr6ptgALgEr8HeWjZHHHiuqUvCV6mYZjcofo6LW0hMdYgRKhWz3Mn6njm9fNYqvBB7rreiaYwnPVTeA4ETFJ0E6OJOl13gMHiEWg13luQ2Qiwzh3RwXKF7q4PNHmftQUe65VQiHsrpxe7NI6SHfxcROmvaKMKTq4Ujmry3pSmsLhtmrHEMmR2FUNXiFZzIhZs2EdK1TUd0iL81iWX/If5GlLqajv3bhkKLGgfyd2V2BY/hdRPGhG7gHHQ2keRTqoRjMcTHHuHCbXK0XsXF8ZHfdrGyUQjxmgfB6BBWB+CoaMqfPvHW0CnqlETtCMEjBNu0/V1xmhn03ysgTvy5M65nNENIWpoif5cfhnwiylq4XJtpKl/uGbjoJF0rxfoAeeSrqXjm11fKpbr3LPSEYqTVSru/IgpP9NRY2PrCxFjlmTeA2S4YBZA0EOrM+PHIbUZbwla2vZZvIMI2YlMwFdlvjwQJ0NgGBW3G3qc2tVIbemlCtnA+IBYovRc3qutBJCDu60DVhVrZAZusJhHMvKOOe9C8BycuJbs3wwO5rOB7NPo6ehH/QF3VVU/KGnJpF68amciouxbJXvdUwL0mcWa+eKGhEgaZ7190aoYzfM3NU9QPy0rwlojTKhhVpboLJ8Z2HcM
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(346002)(376002)(396003)(366004)(186003)(71200400001)(6506007)(6486002)(478600001)(26005)(2616005)(6512007)(53546011)(83380400001)(2906002)(8936002)(41300700001)(316002)(7416002)(6916009)(54906003)(91956017)(66556008)(33656002)(66476007)(64756008)(4326008)(66446008)(8676002)(38070700005)(66946007)(5660300002)(38100700002)(86362001)(122000001)(36756003)(76116006)(2004002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EBF59E36CF7F8F418D9898CD887A47EE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4579
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2c137317-6ff3-4b37-66a6-08da84f18121
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	++cJw6qlYECLFOKqDTd0XSDQ3Mgen8CK4qn8/bdXVBOkFmsmslGyzlWE1MlgxkxB1qDwNG2FFEVDc4kmWiQIdWyGATS/utiq+pU8jk9rSB8RI+ca0qeaanURpodi1z6Xga+8IvtCmYni/z2VEFayURdtF87XkvDNt/kX7+yRXvzJl+NxlNzDqn+lLKSlenR/J+dmzNCdH4pifVmhOllC61+wPLOTWkLrQVtxMrsKLvhR2O7L8A2y3tChLhf54ZMNQeofFsABQQ7o19nwCpWYvcduYnOjDve5hfCRyq1FJx6qFopqm+HJIww+MEaRV7Zzp67uXMqlq51PqysuTUQ3VgLXEWUE9rT9XQ2cE7kQBnoCkrTSqpYwSW2a8Js7z/7QLX6i61Ldk9wrOWnBteqknTdn5UMYDN4UUTehxVitJhD5y7Ht/X5NAKoX9LOg1/d+Io8oaqKkQoejZFavSV30t20f9bSIOkFhzzptLU7sLnJiq56Jms6JdZSiOrWcxglHNa0chNklL9+7w35BCIKbMKaDHdKNqS+nidV/G0ar3V44hQQAeHIdrvmiZJQ3fBU9mhb+MAKdDGk53y8R7Exi9KW8m5NHO7p9MuQtxND82pEG+I672Dey8JsbiMtp6KfqttL3uzVa1uyCtOMA67gzm5RCmsD48HQgXt3CVCMEUv7j5IvvcSUaZBBiQPH5KkQHXXLuKg/dOM3fQzXRd/N/7ZCeWDYu6FPGTPvv6PzSi4Lk1/DHeiszrRnEkr0oqtNi2b+QH7520AhfTFhyUjGrhLLRY3w+zADtFFPruW6U5yI=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(346002)(136003)(396003)(40470700004)(36840700001)(46966006)(5660300002)(8936002)(6862004)(47076005)(336012)(53546011)(6512007)(6506007)(26005)(2906002)(40480700001)(6486002)(478600001)(107886003)(41300700001)(36756003)(86362001)(33656002)(2616005)(186003)(356005)(36860700001)(81166007)(4326008)(54906003)(82310400005)(70206006)(70586007)(316002)(83380400001)(82740400003)(40460700003)(8676002)(2004002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 10:23:33.2971
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 09e8e228-bb96-4f45-afd9-08da84f18843
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4302

Hi Julien,

> On 20 Aug 2022, at 20:08, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Stefano,
>=20
> On 19/08/2022 23:53, Stefano Stabellini wrote:
>> On Fri, 19 Aug 2022, Julien Grall wrote:
>>> On 18/08/2022 23:03, Stefano Stabellini wrote:
>>>> Add SPDX license information to all the *.c files under arch/arm.
>>>=20
>>> There are some of the files below that didn't have copyright. It would =
be
>>> worth explaining in the commit message which license you selected and h=
ow.
>>> AFAICT you assumed they were GPLv2 but I am not sure this is correct at=
 least
>>> one of them.
>> My goal is not to change the existing license on any of the files, even
>> if the existing license is imprecise. By what is written under COPYING,
>> everything not explicitly listed is GPL-2.0. I only reflected today's
>> reality. I think it is best if we keep mechanical changes separate from
>> "smart" changes, especially on a series like this introducing many
>> mechanical changes.  More on this at the bottom.
>=20
> I will answer to this at the bottom.
>=20
>>> [...]
>>>=20
>>>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
>>>> index f5f6562600..2537dbebc1 100644
>>>> --- a/xen/arch/arm/decode.c
>>>> +++ b/xen/arch/arm/decode.c
>>>> @@ -1,3 +1,4 @@
>>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>>=20
>>> This license is not part of LICENSES. Was it intended?
>> It is: the tag is described as part of LICENSES/GPL-2.0.
>=20
> Ah! I was looking as the list of files and didn't look for the tag. Thank=
s for the pointer :).
>=20
>>> If yes, this should be mentioned in one of the commit message (possible=
 patch
>>> #2) and maybe in CONTRIBUTING (to tell user to not use it for new files=
)
>>> because one could expect all the LICENSES to be listed.
>> It could make sense to say that:
>> /* SPDX-License-Identifier: GPL-2.0 */
>> is recommended for new files.
>=20
> So I was reading through xen/COPYING and we already have something like t=
hat:
>=20
> "Note that the only valid version of the GPL as far as Xen is concerned
> is _this_ particular version of the license (i.e., *only* v2, not v2.2
> or v3.x or whatever), unless explicitly otherwise stated."
>=20
> So nothing to add here unless you want to tell the contributor which tag =
correspond to GPLv2.
>=20
>>>>   /*
>>>>    * xen/arch/arm/decode.c
>>>>    *
>>>> @@ -5,16 +6,6 @@
>>>>    *
>>>>    * Julien Grall <julien.grall@linaro.org>
>>>>    * Copyright (C) 2013 Linaro Limited.
>>>> - *
>>>> - * This program is free software; you can redistribute it and/or modi=
fy
>>>> - * it under the terms of the GNU General Public License as published =
by
>>>> - * the Free Software Foundation; either version 2 of the License, or
>>>> - * (at your option) any later version.
>>>> - *
>>>> - * This program is distributed in the hope that it will be useful,
>>>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>>> - * GNU General Public License for more details.
>>>>    */
>>>>     #include <xen/guest_access.h>
>>>=20
>>> [...]
>>>=20
>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>>> index 3fd1186b53..b29bdf3aa6 100644
>>>> --- a/xen/arch/arm/domain_build.c
>>>> +++ b/xen/arch/arm/domain_build.c
>>>> @@ -1,3 +1,4 @@
>>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>>=20
>>> AFAIU, the assumption is all the files with no copyright are GPLv2. Tha=
t works
>>> here. But ...
>>>=20
>>>>   #include <xen/init.h>
>>>>   #include <xen/compile.h>
>>>>   #include <xen/lib.h>
>>>> diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
>>>> index 71182575f9..47405e0866 100644
>>>> --- a/xen/arch/arm/domain_page.c
>>>> +++ b/xen/arch/arm/domain_page.c
>>>> @@ -1,3 +1,4 @@
>>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>>=20
>>> .... this file was split from mm.c which is gpl-2.0-or-later. So I don'=
t think
>>> we can use GPL-2.0 here.
>> Well spotted! Effectively this file is now declared as GPL 2.0 only,
>> given what is stated in COPYING. The code in domain_page has lost "or
>> later" with the loss of the copyright header.
>=20
> Yes. This was an oversight from me when I split the code a few weeks ago.
>=20
>> So if there were new contributions to this file after its creation, they
>> would have been GPL-2.0 only contributions, and it would have been
>> impossible to go back to GPL-2.0-or-later without asking the copyright
>> owners of the new changes.
>> In this case thankfully there are no new contributions since the split
>> of the file, so I can fix it by using the SPDX GPL-2.0-or-later tag
>> without problems. I'll do it in the next version of the series.
>> Xen is not saying: "if there is no copyright header it might be GPLv2
>> but you need to look it up". Xen is actively saying: "if there is no
>> copyright header it is GPLv2". Not up for discussion. Given that as a
>> whole Xen is GPLv2, the only possibility is that the file without a
>> copyright header used to be:
>> - GPLv2 or later
>> - dual license GPL and another compatible license (e.g. BSD)
>> Either way, with the loss of the copyright header, the file becomes
>> immediately GPLv2 only.
>> Does it make sense?
>> This is why I think it is best to keep copyright discussions out of the
>> SPDX patches review and limit ourselves to mechanical changes.
>=20
> Yes I agree this series should be mechanical (baring the file that is con=
tain GPLv2+ code).
>=20
> I am putting some thoughts below (they can be split in a separate thread =
if you prefer).
>=20
> This is not the first time this topic is brought up and probably not the =
last as long as we have file using GPLv2+.
>=20
> IIRC from past discussion there are two broads concern with GPLv2+:
>  - We are leaving the choice of which license applies to the person copyi=
ng the code. So if a new version is released that is less favorable to the =
initial contributor, then we have no leverage.
>  - Some companies are rather cautious to contribute code that my be licen=
sed under GPLv3 (would be allowed with GPLv2+).
>=20
> The later is particularly a problem because not many people realize that =
a fair part of Xen on Arm is GPLv2+. I never really understood why we chose=
 that (this was before my time) but this got spread as the existing copyrig=
ht was added to a new file. Admittely, the contributor should be more cauti=
ous. But I would not say this is trivial to spot the difference.
>=20
> I would like to consider to re-license all the GPLv2+ files to GPLv2. AFA=
IU, this would mean we would need to ask the permission for every comapany =
that contributed to the file. Do you know if this was done before in Xen Pr=
oject?

If I am understanding right, GPLv2+ means that someone could relicense the =
files to GPLv3 if he wants which is more restrictive.
Why do you want to move those back to GPLv2 ?

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 10:24:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 10:24:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391868.629874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQR5C-0008TX-1i; Tue, 23 Aug 2022 10:24:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391868.629874; Tue, 23 Aug 2022 10:24:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQR5B-0008TQ-VL; Tue, 23 Aug 2022 10:24:29 +0000
Received: by outflank-mailman (input) for mailman id 391868;
 Tue, 23 Aug 2022 10:24:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jact=Y3=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oQR59-0008Eq-QX
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 10:24:27 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c39987e8-22cd-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 12:24:26 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7DF12113E;
 Tue, 23 Aug 2022 03:24:29 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C97633F70D;
 Tue, 23 Aug 2022 03:24:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c39987e8-22cd-11ed-bd2e-47488cf2e6aa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC PATCH] libacpi: Fix cross building x86 on arm
Date: Tue, 23 Aug 2022 11:24:15 +0100
Message-Id: <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When Xen is compiled for x86 on an arm machine, libacpi build is failing
due to a wrong include path:
- arch-x86/xen.h includes xen.h
- xen.h includes arch-arm.h (as __i386__ and __x86_64__ are not defined
but arm ones are).

To workaround this for now, enforce defining __x86_64__ in mk_dsdt.c
when compiled for x86 to follow the right include path.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
The x86 header is including ../xen.h before the ifndef/define so that it
gets included back by xen.h. This is wrongly making the assumption that
we are using an x86 compiler which is not the case when building the
tools for x86 on an arm host.
This patch is not a good solution but the headers are doing some weird
stuff which are going back to 2008 in the git history and the commit
message do not include any valid reason.
---
---
 tools/libacpi/mk_dsdt.c           | 10 ++++++++++
 xen/include/public/arch-x86/xen.h |  1 +
 2 files changed, 11 insertions(+)

diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
index c5ba4c0b2fd3..ba5468f43c13 100644
--- a/tools/libacpi/mk_dsdt.c
+++ b/tools/libacpi/mk_dsdt.c
@@ -18,6 +18,16 @@
 #include <stdlib.h>
 #include <stdbool.h>
 #if defined(CONFIG_X86)
+/*
+ * When building on non x86 host, arch-x86/xen.h will include xen.h which will
+ * try to include the arch xen.h (for example if built on arm, x86/xen.h will
+ * include xen.h which will include arch-arm.h).
+ * To prevent this effect, define x86 to have the proper sub arch included when
+ * the compiler does not define it.
+ */
+#if !(defined(__i386__) || defined(__x86_64__))
+#define __x86_64__
+#endif
 #include <xen/arch-x86/xen.h>
 #include <xen/hvm/hvm_info_table.h>
 #elif defined(CONFIG_ARM_64)
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index 58a1e87ee971..ea33a56eb6a0 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -24,6 +24,7 @@
  * Copyright (c) 2004-2006, K A Fraser
  */
 
+/* TODO: when cross building, this will include the wrong arch header */
 #include "../xen.h"
 
 #ifndef __XEN_PUBLIC_ARCH_X86_XEN_H__
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 10:34:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 10:34:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391877.629886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRF2-0001gG-0p; Tue, 23 Aug 2022 10:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391877.629886; Tue, 23 Aug 2022 10:34:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRF1-0001g9-Tp; Tue, 23 Aug 2022 10:34:39 +0000
Received: by outflank-mailman (input) for mailman id 391877;
 Tue, 23 Aug 2022 10:34:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jact=Y3=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQRF0-0001g3-SE
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 10:34:39 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2045.outbound.protection.outlook.com [40.107.20.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f1769b1-22cf-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 12:34:36 +0200 (CEST)
Received: from AM5PR0601CA0052.eurprd06.prod.outlook.com (2603:10a6:206::17)
 by AM0PR08MB4081.eurprd08.prod.outlook.com (2603:10a6:208:12b::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 10:34:30 +0000
Received: from AM7EUR03FT026.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:0:cafe::99) by AM5PR0601CA0052.outlook.office365.com
 (2603:10a6:206::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17 via Frontend
 Transport; Tue, 23 Aug 2022 10:34:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT026.mail.protection.outlook.com (100.127.140.154) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 10:34:30 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 23 Aug 2022 10:34:30 +0000
Received: from 0de31e3b57c3.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AB7DA802-760B-46F6-B48A-A0B0303F51DC.1; 
 Tue, 23 Aug 2022 10:34:23 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0de31e3b57c3.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 10:34:23 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM9PR08MB6132.eurprd08.prod.outlook.com (2603:10a6:20b:2d7::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 10:34:22 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 10:34:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f1769b1-22cf-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=lQlYmxqPu93r3WJMz3dPuJsCHziyDmnANc9TJxD4cqRY1SS2zncUyq2YKP+ZZEY9kGTbmkg6XUJcVzQ2dwWCX56XEMR2rYu3HvzSCJmBBSc6Fh/GU8VFmyOfIfhngzIyn5y3H8aqDuY+Zy+NF/RmwMBNxnutp4PshNi5XD2lB3DE+NXL4t52NZP2JScTIWOmXy9prX5v5DtHIy7UlqYQOBSu1HZ84+RpynxCY0+ggQHgZvEn188j8KtndwWuqqUVKjgQTozX129LXuQOCgr/0DJOL/SZDxER5uAuJTCqR/4ir9knKq/bhT/I/4uKNtPPVvC8iqU6S5VsMMdzD1zL1g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9ei3CUA46LlszbbGhslBtbz7x4GzxZs5jC5SmUadZR0=;
 b=Jj1tR7ypLrSHd/BINFHswPXUX5jCkD7SW5+sHOQBGiOK/iYkYyQPwRWxIjrnTyf3iMMidikuFHsorJm/oDxytVoTDF5KJUCmJJ0JqC+DgAGnJDakTZYR3ECZ7bc+gN4NuB5ztw//l/8oxB2ALTgdM/75TeeIU6g2amyLp2gJXp5Rul1y2VxL+71CQNpGRM+o5C3D4hQ4oNFXUMgletx8E8TNI+SuIYoIvJ0JKji9gTP6sQ6337Y3Nwcj4LrwB85/rkOXCw0kngE+YTtDghpQ1WaeuKG6GtrQ1Sg8WHCFrTUA3fp6wpSfM4+RIvLw6jsrx9NnddeQZfZELDyjLnqsVA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9ei3CUA46LlszbbGhslBtbz7x4GzxZs5jC5SmUadZR0=;
 b=pUk5OuwLq7DXckyM7JuPL8tK+gflBHWSID3J2or9yKqbvUO+xqpmf1zDD9n+bjOZVZwgifT3vr47bDgrwZUzmciwH8pHy4sCx312dO2gOmQJ3/vTO/ZWyW/54ZoCB91Jt3l16vHnbW65kCSK7gzU4CJPZq+haSGmf5mbc2ulHY0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0d44179c6c285c16
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DSX1sTyx6A+4vPoVW1qVc6IhczkjhLzkwFDo0I+Q01BjCte9exSe+lLUy5mdgvlwLUjmdK32rnB4UsCk9FzW9pUZkSsmra+TTBSMRM/IEAdTxR8DZKhd80z/Z65v72jFE8V541TFkPWUR8Otjsx3waedvE/utFxIobyo60BB/LnR5kNrUcAlnRKBwC8EDHakcMXEqt1puY7XPr3Kn8Aqsn4yX1ySrzjpnpv0HwvPFeaMWgIrjWRhQ/48rOiaff4vgnSQCeFby0sGKvc4u23lGwqwvQcopmg+ZQadB4nTfPGYbspAeGSf0Fn53rG6jFm8MVCct8ytJfd+0S+rs/86pQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9ei3CUA46LlszbbGhslBtbz7x4GzxZs5jC5SmUadZR0=;
 b=PmGlq+xUShQJGw9hVSPr4cjb6t6RXiKLhO4UhmiSwMDPxeeA6SayJ/r++EK11ivcXu7GmoXFF6xNZgetloR/bPHM1wsqNCqPyAj81WvcmaoFldpFeA6y5uFER99t6HRhO235mW8W+Sukvj2aOpAA6WkCn+q24rKMY8Zd4yvQ6tfMSND8L+vxthjtJj0baesGXegbBD9UTYrQHCpJb475rZ9pgrTXnEeefQGBiNnefSgnlUFvre0yNip2F/c0OfI/zGVs3gKzDE7qdMQdHwAbNKgbHdEbzPID5T+fyadKhUB+HYOB2/nGr59hP5X4f9OiW6xPkYEyR3LTYFr90LrP/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9ei3CUA46LlszbbGhslBtbz7x4GzxZs5jC5SmUadZR0=;
 b=pUk5OuwLq7DXckyM7JuPL8tK+gflBHWSID3J2or9yKqbvUO+xqpmf1zDD9n+bjOZVZwgifT3vr47bDgrwZUzmciwH8pHy4sCx312dO2gOmQJ3/vTO/ZWyW/54ZoCB91Jt3l16vHnbW65kCSK7gzU4CJPZq+haSGmf5mbc2ulHY0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Rahul Singh <Rahul.Singh@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2] xen/arm: smmu: Set s2cr to type fault when the devices
 are deassigned
Thread-Topic: [PATCH v2] xen/arm: smmu: Set s2cr to type fault when the
 devices are deassigned
Thread-Index: AQHYrZj1WX2EfvXPyEi5kwWRf4bDsK2q/YiAgBFfFYA=
Date: Tue, 23 Aug 2022 10:34:21 +0000
Message-ID: <098BFF1B-DE23-4ACB-A968-12D0B96CB217@arm.com>
References:
 <3d254f1c7045bc212c5700c1becde458174e5bf3.1660232299.git.rahul.singh@arm.com>
 <77f76e28-a397-ffc5-5e6e-e286878f4070@xen.org>
In-Reply-To: <77f76e28-a397-ffc5-5e6e-e286878f4070@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 206f81d1-3ab6-4964-4a65-08da84f30fd4
x-ms-traffictypediagnostic:
	AM9PR08MB6132:EE_|AM7EUR03FT026:EE_|AM0PR08MB4081:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ImyNZnc3BA+gu5V3gRStJwc7DEThO24pKkwR3lDhCgEwDdepFD+lLBtf3Sw1filXjzCRkq99oWT9r73BHPKOxg6WEERbP/n5ND+yXxXgP5AHZss9ZKekHV/pEIzM4b3j9kOXttstpCuzDB0ubA1avZ68V/KzhrPqEdEnIbw/5zvH6hwex1basE1HEvXlXIIg5/Nh7p3FhU3rieyVlBN/67B+MsgwMq+R1BV4QOyxre5YhOM3bDfIwpYyWYJv6QMECyNedWJOUxY3Qw6d2M6e621W7Jx3dOt5XUAnVKIlGwmms6Ye8A/PsIc7K1Ps5fOy5a9lt79siW2bHp9ZiREpmgXjFFZVVJYyX8qgIPkFfenIuLNM0hBgzb4CeS86hh/CSjGsXduVICeDaDBsVPISavFId+mttubmTn3OCqIruFaRj73IiBOiTG/+zK4aGVIP/tkO7kLmZ+pFhxrw+lfD9etVClzelqaL0d18OyHOMkXP3YoRweX1TcnkChX/+tzhbvDlqRWK4ZdU5FCvzu7fby9+a48Rr6x/LV8rFvPX1NuifewbByXJw9QPYyMIWF6/woKgfD98IhJHZE6VWG6ijvgEYMI88y7C5eXlspOBjp8kMYwkdi/VMuhW3zLEiOCdsFyfCSSSs22u7TMrll9mQoShT/eNAqLxX4J0qvj+HH9AAVr/2vRu6BjPB5jZMxFQgnSxJuXV3gYOyhLLYCfeib2qog7QWVAd4qTv5GGC9aVI9HF940o1DpV+Pc/nqghKEHvdRbEDoypW0wYqouH6VncyusR0AQqJlFmyN2PebW4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(39860400002)(366004)(346002)(396003)(2906002)(36756003)(4326008)(5660300002)(8676002)(66556008)(91956017)(64756008)(66446008)(66476007)(66946007)(76116006)(316002)(33656002)(6506007)(6916009)(54906003)(41300700001)(71200400001)(53546011)(6486002)(478600001)(26005)(6512007)(38100700002)(38070700005)(186003)(86362001)(2616005)(122000001)(4744005)(8936002)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9E92291B28CB0646BE4F02B37F9140D5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6132
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	40c5b295-f3ff-48cc-2bdf-08da84f30ac6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GFgOMJ7i1//HJsMSZJg4Oo9Rggkq70fqK1hH8njA4HFr5L+iCMSqgulb16FRBO4rG135ej0FtVHlKV4hs70Jk0d03V1mhrmPLNLkz2F5wDpLMpm4KZ3gfigvEI1YsDHU1P5dPcznGJhZmCkHl+O1Jg/04FjxlvuRkV6UMBzEv+mZsSnksteh6sQyKDoLpbxN0x0TTbvYBjS291VPSzx4R4jPa1bXymlqOxGowBML8kEk63GGVisXbnCXRhshYTzymmam/dgXIjZ7MV0qMMriLxwaQser50cEwoFrelIjZhoENXGDOTtM6xWP1+9nsuZKndNYLuZsYQTn/bipTZeRfnkr4y6awj2w0cNkMfTksb61OLry5IIzVr1gKx2dla9voCJMRukO1Ac/WT+E8v5tldAm+fnGKtIxJuwy/4Zzj6gxQ15LtVJJ7RZd8ScZ7XJM+SZ1wDMz/P3MR+lj3t7Gclb/ceONDXb5MHcdVWYGIs11qVR9Sit4VB1BbEpZSEJTQh2n9aCCIpZvKITn0e7Yw7W+t8omIE8f3XTN8/ThfxawspDCVpgfL9qUiOkMvQxlo25hD+Kvv0VyMrCwrbu5NYtJvYzbmqGy4LfSFdj+ukm23xsOE0/2IG5ZjMPuAwUlmxJgvUpnr58szDxFV3+bKHstHRGRnLafd41kJz1DnPDNzX38XXZ5VFj5OL5OLq5wjq6prQ3VuFo8p0++pDIFwtQcCBECD6FMzHMKtHOJyknq32nsViNaBwjAr8PDiPCh+RiulnEu4HenIx4+TJVPRg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(39860400002)(136003)(376002)(46966006)(36840700001)(40470700004)(70206006)(316002)(6486002)(70586007)(8676002)(8936002)(6862004)(41300700001)(107886003)(54906003)(83380400001)(53546011)(2906002)(336012)(6506007)(6512007)(4326008)(478600001)(47076005)(36756003)(26005)(2616005)(5660300002)(186003)(40480700001)(33656002)(40460700003)(86362001)(356005)(36860700001)(82310400005)(81166007)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 10:34:30.3211
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 206f81d1-3ab6-4964-4a65-08da84f30fd4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4081



> On 12 Aug 2022, at 10:17, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Rahul,
>=20
> On 11/08/2022 16:42, Rahul Singh wrote:
>> When devices are deassigned/assigned, SMMU global fault is observed
>> because SMEs are freed in detach function and not allocated again when
>> the device is assigned back to the guest.
>> Don't free the SMEs when devices are deassigned, set the s2cr to type
>> fault. This way the SMMU will generate a fault if a DMA access is done
>> by a device not assigned to a guest.
>> Remove the arm_smmu_master_free_smes() as this is not needed anymore,
>> arm_smmu_write_s2cr will be used to set the s2cr to type fault.
>=20
> NIT: I would write arm_smmu_write_s2cr() so it is consistent with the lin=
e above.
>=20
>> Fixes: 0435784cc75d ("xen/arm: smmuv1: Intelligent SMR allocation")
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>=20
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

@Julien: could you fix the NIT on commit ?

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 10:39:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 10:39:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391883.629897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRJb-0002K0-ID; Tue, 23 Aug 2022 10:39:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391883.629897; Tue, 23 Aug 2022 10:39:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRJb-0002Jt-F3; Tue, 23 Aug 2022 10:39:23 +0000
Received: by outflank-mailman (input) for mailman id 391883;
 Tue, 23 Aug 2022 10:39:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxx3=Y3=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQRJa-0002Jn-LY
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 10:39:22 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2078.outbound.protection.outlook.com [40.107.22.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8f3d460-22cf-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 12:39:21 +0200 (CEST)
Received: from DB6PR0601CA0022.eurprd06.prod.outlook.com (2603:10a6:4:7b::32)
 by VE1PR08MB5152.eurprd08.prod.outlook.com (2603:10a6:803:109::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 10:39:17 +0000
Received: from DBAEUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:7b:cafe::ea) by DB6PR0601CA0022.outlook.office365.com
 (2603:10a6:4:7b::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17 via Frontend
 Transport; Tue, 23 Aug 2022 10:39:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT058.mail.protection.outlook.com (100.127.142.120) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 10:39:16 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Tue, 23 Aug 2022 10:39:16 +0000
Received: from c31e74a7fedd.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EBC4D754-9B29-47EF-9D79-D4A02F68EAB3.1; 
 Tue, 23 Aug 2022 10:39:09 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c31e74a7fedd.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 10:39:09 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB7PR08MB4217.eurprd08.prod.outlook.com (2603:10a6:10:7d::27) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 10:39:07 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 10:39:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8f3d460-22cf-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=IFDPfggZZVcMzKGwRGCe0nN2kEDHPc/2gFJg6a6H6EQEbCO9cAi/0+HTP+B84CXad3vlHUlDx081cUnp3cX1h/RZlTBAleddc3hJJOVKXKwz2MNYUIXDh1eDRzvpBxxBP7ouJ8ztEHhorENqZaq+KDgPzaoD+6+EgQTDWjfTOz7cPTYoZUGvPqMsEDlt+jmNFvizJuhXESeo5Z7h2HGO/jgWOe9sehgJhe/1LydmStbHKHTviDL+gXToTfqkVZMyrh2UXhJ/vLiwSOr6X42GddS517jJyGSgshPyil8MSAmfDuvXyeWR+3fC+JFBCTArNZQPcw19e6B42zwWykD/cA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=67ItMaRV6CnPRegcDgkzeYAkKcWeBdl9bfFATgdk+RA=;
 b=jSfJIiQPHp5FkH1Bri0iicPU6KjeONx7dM2MHoh1HSMMzIYqIokajP5Der3VouR3e+gvgZd4FszJ66aKX+IcT6sVP436mEwhOAEDrQbvBx0Op1d8Q0xRkt/E7sZKsp47/obS45xdNnbcONdU5RpLzHQ9q/0+IsEO7afXiKn2ZpzigNWrrWI6lwAKl9ab5nrhb/qAsQ/otvfOzpDeCbkq6GPV8RTrKKd8Va1UoRmLOMWLiSrXN00jTzYkMl4wrlH+qtIXc8rAbHspnzm5ZOkBGeQsD+YUP8vfzVbmz/oR+fA5i9gskkwT1Ein0rMhv9anZTat3yMj5E/MAsSw8coygw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=67ItMaRV6CnPRegcDgkzeYAkKcWeBdl9bfFATgdk+RA=;
 b=wqJVEruAZri+C8UXEliAUZeoqlqqy909RJlWdJACw7zTSL5o1cUFD19N/UslkzucfUu8S+4AZ9dMe2X3g6ylWbnAUsp2kiqLY8/F7SwU3ggezA4Q2JdjctpctYGkfgpMiMoQiOvliWMW2nl20rp7I4E4eMyPgKUinAK12jVeLBw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: cc99bb621771d314
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JSY8TBLQyradO6tQz5PUTvlng2k+UHKuebZzNeG2RXFwRHwwjr7EVH/lGkw+PlozAX83RuRleExjloFXob6ae+WvDeQSwXwYFmFKcDLhP7EYbG7Mx4u2rJs76Ylroju5J0rOLNzU/JuLLMh8RLk9+HigEJyqCvfXP2X9YDZlkzrRQWH7f/dfQUojzx6/BjTETKYaee4GBi6wAlBg0VgQ9A54dIaXz+OvJGo2YA4pKj6+75TCO8hf7fsiKw8BV5SsX/d/6CiNDhlw8Mb1Jt5FnRcHZ5gVCivhrUNXNyblQ2D2oaGvOcvWrxnG3aQWRKJgHSYTJ+ITJG1BGr0wt2QPaw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=67ItMaRV6CnPRegcDgkzeYAkKcWeBdl9bfFATgdk+RA=;
 b=G0arPPZ6P+x1D58c1zpJ27KQYPl5lvHn46sYCsB3KnSwjNo5PLf+OKhRY6RWJh9GYpmpEovPBFsuMpsH560FTgrdaHuGloOISqNGC+wsmOKEknz+K5AnpvqSwwIPZ5WFzZjljXeIlIA5Vmv4pGDEg82Va2HYfnwqUQ3dRPYcakmwziPEFo+DvcStLc5RG+G1fnjxF+d4mnhQGPhHcVE0NGR/pm3T5KxeU3laksjm4ZZJWfP94QYAeFiNSREx+46Nc6BPjts3AqRF2e/O7hp17lEU8XbDlQVp9HlCVd6x7DI16nsdGvxp4hU2nnbWkXUz+55vbZ4ZiWAbRrfk1qkkFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=67ItMaRV6CnPRegcDgkzeYAkKcWeBdl9bfFATgdk+RA=;
 b=wqJVEruAZri+C8UXEliAUZeoqlqqy909RJlWdJACw7zTSL5o1cUFD19N/UslkzucfUu8S+4AZ9dMe2X3g6ylWbnAUsp2kiqLY8/F7SwU3ggezA4Q2JdjctpctYGkfgpMiMoQiOvliWMW2nl20rp7I4E4eMyPgKUinAK12jVeLBw=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Thread-Topic: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Thread-Index: AQHYs7MVCCbVCzB/DU2JPHyjxuVOOK269JmAgAEvmICAAAk5AIAAJFMA
Date: Tue, 23 Aug 2022 10:39:07 +0000
Message-ID: <6A4EBDE0-60A0-46B9-A9BA-C689B9F8F129@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
 <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
 <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
 <f8a3f7d6-1db9-cc74-5d60-8a0e22b80a3d@suse.com>
In-Reply-To: <f8a3f7d6-1db9-cc74-5d60-8a0e22b80a3d@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: e1017a23-dea5-4367-eec8-08da84f3ba59
x-ms-traffictypediagnostic:
	DB7PR08MB4217:EE_|DBAEUR03FT058:EE_|VE1PR08MB5152:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1qfuhe08TIkYXuaFqjyM+XHCYYeGGLBtKZaYT1OZWTCn2Mi1O0JrBqp0CLgCVtLK1jGDg9sCiYTGlSt/DcOjrZoBjNODlLIQnUNFoyDqxLwc25gjdd44fDqhSkuW6FI18ISgigxcsnYChDKuzbP0LaQvPxjCTglfqVNCOacBCj9B+4kJKa+s2vLBdfDpgMf9oHK2JKAoUwwsMCvh533u5Ru71QR6Y/n6xY3a2yX2DlWCcpbpdaSFqYIJljjcBloEYrSgxfe0HYXl/+rdGhlxDoEJSeenThJUr8omvpb3ChbiKGSX/MEq5tZS0HCfrArrGRya133I08Z9FVGNmuFeMdLO0Np3zFPCeE84aF51BpO4BKiIeEhkO8II/xHMUPGFXPwLf+5YxYMrmwW/XI1kpwZ1Wp/bPq5Noc3L0fiknybkAncuajwKRNBsFuU0rwKTqibORMtDvpBV82nyhegp/OW7L8zgLHX4Fdl5Hb1HKnbN6TOB7wJk66n40CTq0kFXlGlED49JewwERD9HnDRDojt8jBqeVNnCHOZXBI2RutN9yYiNUp8Z4CXI8YCQ+/uHeVx5j4k+TFXh12HFSx5t2d+OXdAFiNfZrbBhUY/Pg57Xc1A5MIKGSzC+WR0DYO4z965OwEP3JxktaIikDQKyvfhXTlN+XqyyUoALEfc5yNfnRwBGnB2X8rzGiYk5kw7p6+AN8n/YHxn69F+QIX4QVCvwYNqJu+lc0ND3TAdydMv+0rPf0Fac/QnhJ8TmS19mkABQxWmZrEH6PQPW2EW3uFCtnXBXvq/2u+mpFe+w34s=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(366004)(136003)(396003)(346002)(39860400002)(6486002)(478600001)(316002)(6916009)(26005)(71200400001)(8936002)(6506007)(5660300002)(6512007)(186003)(2906002)(86362001)(2616005)(41300700001)(54906003)(53546011)(36756003)(38100700002)(38070700005)(4326008)(76116006)(66446008)(122000001)(8676002)(33656002)(64756008)(66476007)(66556008)(66946007)(91956017)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0FF7194C7199034A91767D69297ECA6C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4217
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5929df7f-4cab-4a7f-e1f0-08da84f3b4e5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5EJPtuOtn3HWkOaVeoAKjcEz4cNhcNjKgrZA0MRyGDptZvyH3x/GaD1vVmDeoMrmn3WLvfsZN9Ly2iGiUhKcrYC9+FeXUcZciLjFfZz9+WTjbe2iIGNiUUdtx1zaNfieQ95MFwXg5wP/Nv86L3xgXEPNEDcMHz/tLXwC4Q+h7WiX9WRzxqRiRbK1pv3fq1grDn1xKhQZzkd2LrQKC+A+KLk7Wph3pClWQEQOqFK6IgAU2i77QC+dPJmRxZbpzG3/2/vNvY5yKoz5TyeMT3HbgmC9r7jx85nEmgxAzJ9OSoDH0wHtZsvRRfKdTXzx76FvC8Q3DkxOUt5dyOrJI99FzNd1CE4MRzY+MlWCSjVLl4qVCZMxoq+/fBV+cLOhxJ7PS3Xg9rV1p16myGP1ZN3a9pDKJFndaUasBCRB0yZTG/nTs9o8HuVzu3UiTG+b4SPD1eKQcgl//13yDgi9pSIHCc2eW5jZf/FZOgQH9XjkOfTHrXqXorrKOgsYOS5vL0gkB9ktfeF07XCf0YqHBobIHsQj9Ta3V2ZGAOgGzK8CPF1jMMmJtLR0NErxhZTrrN2QROJIi3YY3TKLRGsxHigPxBoftQKxCGyLVVDaougQ48ysov+j4jZwuWzb7Mx52HvNC5EssWn5uc1xHPLOXMHxwDnN0h42vmtsg0OmiCL76gl4sYqxUqA5nhgZBqJhL4ylGmK3+FF9wYRUB7YedXzKHk54DB2pjlr+mD6RxoL79b0Fl7pXyKwZFlzeJpTR8P1cwoiCDOPSBY8A20hjA1gqHg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(396003)(136003)(39860400002)(40470700004)(36840700001)(46966006)(6486002)(316002)(5660300002)(70206006)(70586007)(41300700001)(82310400005)(478600001)(4326008)(54906003)(36756003)(40480700001)(8936002)(6862004)(8676002)(33656002)(2616005)(6506007)(26005)(53546011)(6512007)(336012)(2906002)(186003)(47076005)(82740400003)(36860700001)(86362001)(356005)(81166007)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 10:39:16.4721
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e1017a23-dea5-4367-eec8-08da84f3ba59
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5152

Hi Jan,

> On 23 Aug 2022, at 9:29 am, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 23.08.2022 09:56, Julien Grall wrote:
>> On 22/08/2022 14:49, Jan Beulich wrote:
>>> On 19.08.2022 12:02, Rahul Singh wrote:
>>>> --- a/xen/arch/arm/domain_build.c
>>>> +++ b/xen/arch/arm/domain_build.c
>>>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>>>>          struct xen_domctl_createdomain d_cfg =3D {
>>>>              .arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>>>              .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>>> -            .max_evtchn_port =3D -1,
>>>> +            .max_evtchn_port =3D MAX_EVTCHNS_PORT,
>>>>              .max_grant_frames =3D -1,
>>>>              .max_maptrack_frames =3D -1,
>>>>              .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_v=
ersion),
>>>> --- a/xen/include/xen/sched.h
>>>> +++ b/xen/include/xen/sched.h
>>>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>>>>  /* Maximum number of event channels for any ABI. */
>>>>  #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHAN=
NELS)
>>>>=20
>>>> +/* Maximum number of event channels supported for domUs. */
>>>> +#define MAX_EVTCHNS_PORT 4096
>>>=20
>>> I'm afraid the variable name doesn't express its purpose, and the
>>> comment also claims wider applicability than is actually the case.
>>> It's also not clear whether the constant really needs to live in
>>> the already heavily overloaded xen/sched.h.
>>=20
>> IMHO, I think the value would be better hardcoded with an explanation on=
=20
>> top how we chose the default value.
>=20
> Indeed that might be best, at least as long as no 2nd party appears.
> What I was actually considering a valid reason for having a constant
> in a header was the case of other arches also wanting to support
> dom0less, at which point they likely ought to use the same value
> without needing to duplicate any commentary or alike.


If everyone is  okay I will modify the patch as below:

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 3fd1186b53..fde133cd94 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3277,7 +3277,13 @@ void __init create_domUs(void)
         struct xen_domctl_createdomain d_cfg =3D {
             .arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE,
             .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
-            .max_evtchn_port =3D -1,
+            /*
+             * The default of 1023 should be sufficient for domUs guests
+             * because on ARM we don't bind physical interrupts to event
+             * channels. The only use of the evtchn port is inter-domain
+             * communications.
+             */
+            .max_evtchn_port =3D 1023,
             .max_grant_frames =3D -1,
             .max_maptrack_frames =3D -1,
             .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_versio=
n),

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 10:49:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 10:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391890.629908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRSq-0003wa-ID; Tue, 23 Aug 2022 10:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391890.629908; Tue, 23 Aug 2022 10:48:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRSq-0003wT-FZ; Tue, 23 Aug 2022 10:48:56 +0000
Received: by outflank-mailman (input) for mailman id 391890;
 Tue, 23 Aug 2022 10:48:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yuKU=Y3=citrix.com=prvs=227d21510=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQRSo-0003wN-EA
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 10:48:54 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c582a86-22d1-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 12:48:52 +0200 (CEST)
Received: from mail-dm6nam12lp2171.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2022 06:48:45 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5878.namprd03.prod.outlook.com (2603:10b6:510:34::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Tue, 23 Aug
 2022 10:48:43 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 10:48:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c582a86-22d1-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661251732;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=zSfumwv/IKvHoPMZnfYJUIerLEilmwpX7wYrFNOzSxo=;
  b=JRNSWhxqjvVEV2yFWoGWOWXIUJNT0cJIsl8dy0zDw1gcPcpcTEqROmjP
   5Gk7JPMMnfTWtxP2wliHXQQcYjGdkYC3rKj1/me9wbO92UKqDJ9KvPruJ
   TYevMa2czm8NgDBHrafYL5xVPHJ9UOclPDb9dDqkz9hFVQ4zzTKrf8AwK
   s=;
X-IronPort-RemoteIP: 104.47.59.171
X-IronPort-MID: 77918765
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:M187ta/2K+5b7C/y0CMkDrUDVH+TJUtcMsCJ2f8bNWPcYEJGY0x3x
 mMdWj/SMqqNNmXzLt4ga9/j9EMB6MXSn4JhTgE5/iE8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM156yo0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGF0AvZNFH1dtNRmRN8
 8cmazcgNDqivrfjqF67YrEEasULCuDOZdlallQ+iDbTALAhXIzJRLjM6ZlAxjAsi8tSHPHYI
 c0EdT5oaxeGaBpKUrsVIMtmwKH02T+iInsB9wv9SakfugA/yCRY1rT3PcWTUduNXchPxW6Tp
 37c/nS/CRYfXDCa4WXaoyv82bGS9c/9cI4cKr+RpvFyvB7J5E8jGhkwT2Sgq/bs3yZSXPoac
 ST44BEGr6I/6UiqRdnVRACjrTiPuRt0c8VUO/037keK0KW8ywOQHG0NVDNCQN0gqs4tRDYu2
 0OJntXmHjhmuvueTnf13qubqSOaPSkTMHMYYikFXU0J7rHLsIw1yx7CUNtnOKq0lcHuXyH9x
 SiQqyozjKlVitQEv5hX5njCijOo45TMEAg841yNWnr/t1wgIom4e4av9F7Xq+5aK5qURUWAu
 35CnNWC6OcJDteGkynlrPgxIYxFLs2taFX06WOD1bF7n9hx0xZPpbxt3Qw=
IronPort-HdrOrdr: A9a23:s/PIUKmKkSiN6J10rW914EMq+jDpDfOPimdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WGIVY3SETUOy1HYVr2KirGSjwEIeheOvNK1sJ
 0NT0EQMqyWMbEXt6fHCUyDYq4dKbq8ge+VbIXlvhFQpGhRAskOgTuRSDzra3GeLzM2Z6bRYa
 Dsgvav0ADQHEj/AP7aOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPYf2F
 mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFcRcsvy5zXMISdOUmRMXee
 r30lMd1gNImjTsl1SO0FnQMs/boXATAjHZuAalaDDY0LHErXoBerZ8bMRiA1XkAgMbza9BOO
 gg5RPni7NHSRzHhyjz/N7OSlVjkVe1u2MrlaoJg2VYSpZ2Us4ZkWUzxjIjLH47JlON1Kk3VO
 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGcl2E+pgEz82IIgMgE2nsQ/pM0TJdJo+
 zCL6RzjblLCssbd7h0CusNSda+TmbNXRXPOmSPJkmPLtBOB1vd75rspLkl7uCjf5IFiJM0hZ
 TaSVtd8XU/fkr/YPf+qKGjMiq9NVlVcQ6duv22vaIJy4EUbICbQhGrWRQpj9aqpekZD4nSR+
 uzUagmccPeEQ==
X-IronPort-AV: E=Sophos;i="5.93,257,1654574400"; 
   d="scan'208";a="77918765"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K6el0hIu5eHPny8bJvQ650YXws4ONTlgASPnstSD95X9IPF5L+X0YNwkJGMpeWtJBqjJfEeMe76oapuxcO8XThGyZuKVwGd1qCaE8xC1olHnlNTn9ELfB4MUzuEw4wQLzy7S7lvuy7DPTw9t4oqG6+w9dCch5upiCos37twt6ex7ZgA+7st94ijnBHU4mkoVUGPFQXLd1zHwrMGYtstz7d6FF9z9Thpn1jYOsHsPfCe3gQTErBiTk4G5wlCiEx7ZJw5FrEwynu9yrLFB67obDFFpd2IPqgBMM1TJI2Uj6Xt7LbDurd3lr8591ZlWIdYdwZyFRvSNZbChvT2LA6dwkg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zSfumwv/IKvHoPMZnfYJUIerLEilmwpX7wYrFNOzSxo=;
 b=V8X/0o5Fmj5r9Cf/6UhGBpuTts61q6fVSvZ26Rgmi2yEW75PYvF1p3wUsSfYwdLWyZCUWNN/reYkV6JwDDxxiacuEnpOtj4n2y4OphLweShBK+hPpkmx1C1fAyHMz7jgtbUka/7Q26FvoxWw3WbhlUgebnLx8cC6kmAOxXuwMc/oW1HsesPbk8/UEhEfSsqXBK/y0y3MXOFQhg+Zcv35HiJ96xEo7Pp90gOs2m1y4AKVtsmtp5X+64PVDUmyPr5YdRbGFci0gLLmWjbsfUjQuEJs2JzovZrflbaPpj5YzAv8SCrpsH037U+71OJMRsuwRBMHSMmP94fPk1LiQrQrHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zSfumwv/IKvHoPMZnfYJUIerLEilmwpX7wYrFNOzSxo=;
 b=ZFn+o5l8wiMeOutONu1xS7hbI6unoPzbMEsx7ae1acvPvHsiQ1X8cifjGXVoUS5gPaU8oNnl3tTYjPnNquk4xZZP2xzSy20j2DxZzYd4Kn31dhR8CUNaFe+q9foVw3TYQBtQWRPAddwyy2f6qH0v29TNyTK60hLLrxmNZPflZaM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Topic: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Index: AQHYtrt8/1v0WOY/4kiCtfQ8qrAcS628L8cAgAAH3wCAABa0AA==
Date: Tue, 23 Aug 2022 10:48:43 +0000
Message-ID: <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
 <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
 <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
In-Reply-To: <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ba6d8cee-25b9-4658-d42f-08da84f50c1b
x-ms-traffictypediagnostic: PH0PR03MB5878:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 faH33zyrwXkV8JTy83JmtxFyAm3xmq6UMr0r5fVcCUEGF8SsF0K99dlmkcEjPJkEt4aqQ8+5icWck3Tau5au91qHIn1GM1v/FBmIOkqDhFgi0M5te5f34T09MlBWa3ZMHHfEilnmxbbOA4WXRIGwp9F/ePSH16c6CKEwwI4FPTFzgpQ5ai5TgllQRz38LiHBlHatAEJoUuXjW8iN9lUibsxuh+cbeDY+VpfJB6Q0GU1EebBekTXrrzyBze2V2an47QjZxa7lvhkaklUOjfr/p9ma6jzRsF1LD7pK8t45qXdx5tzwH5gd3xx/ikVfUE0v63r4ucsqC+j6mh80Fsw7ebmRYdh/czelXFPVZpMyyuYL9aWTGib7/ODUj1isDYxfa78W0P/W6BuXZX3kXjqjsACh8dqtqwP99KhNIVxJw1NO0KAF4fIrDdVuvPTOrijD6HrsI6zMRRbss8DSGstZ+raaxR09/ExcxVsaB71upoa996MZX61gBhVJbUvFQ8mBF8bUF3u99dS3cHFdFHM66cbGKtFyRl3x2/R39gZAyPxgLZXpi2LqF+XwOVWjo7QK24hhES3edy5vddhmkdJHuynfZxJx6eMLpbDhnHyvSc/o8E/zr/7cpn6ZC10QeRNAorb5upUwyApPf7gi5pVdCYi4U8vonpFHD8wljlSpZkyAsJI7uHfrfpcsHQa87wPnBBFas6Aczyd9y52M7d5HqZpThJknqawhhobH8t1Hxn5KqIMIQ0ZffeHInymRATrVR9ykHjEVyvs9w6jAIEtWE3vA/SnIKef/e1B0cJ2N177UZLzti/6A5k4JpRHObMXreoxU3CW7Ief5ROajXGjRgqfrB7xqnfghljdHUm3Rbro=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(346002)(136003)(376002)(396003)(38100700002)(2616005)(83380400001)(38070700005)(36756003)(64756008)(91956017)(76116006)(66446008)(54906003)(71200400001)(31686004)(316002)(6916009)(66946007)(4326008)(8676002)(66476007)(66556008)(26005)(6512007)(6486002)(86362001)(966005)(6506007)(2906002)(31696002)(53546011)(5660300002)(186003)(82960400001)(41300700001)(122000001)(478600001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?blE0amdBc25MZFlRQ0tUWWdPWE83ZFAwVlpOWkVEUWtPOVJpWlU5YWFBTXlT?=
 =?utf-8?B?eUpGWVMxUzBhU2lUcWQvTHd2QWtYbjZkUUtsanI0Vm5JRjlnVkNWUWRxay9L?=
 =?utf-8?B?cEZSSGlnY09vdHB1VkZJTnhSYnp0c3NvTGdxT0JsNzI4N21DV3ZJOGt4Y01y?=
 =?utf-8?B?N3dLZmFJRFNkOUd6MXRKdk15bzQxN0o1Q2k4WVpBZEZKdTdZV0VMZkYwV3g4?=
 =?utf-8?B?TWthcjBzWFFWMi8wTExpOElPR2RQNDl1dDVwRmJaS1VEdDdGSks0Ym50Tlp4?=
 =?utf-8?B?VXc5cVYrY21GMFVrQitUaUZ5OVZpYlJQNU9hNWEwaGl1aE4rS2h4MERxLzRs?=
 =?utf-8?B?OUZGcUQ0cnZkMElLRVRBZm90NEdPc0VIbVYxVFk0VkFycDJZK2VRNlIrKzRp?=
 =?utf-8?B?WXJ3WU1Palp2N3owNjVlZUtuNkpQMk5ZUGRHVlNpeHlkakJiaHkzYzVZQUNH?=
 =?utf-8?B?SkVqaVhQdnJnQnlNTEdoUXNCUkluU1FlZm5iVklGK3dyOHBxTUxUUDZ4Q0M0?=
 =?utf-8?B?a1RTTmJQYWQ4bTRxRzJtVFlwbFFmcXJJenh0SkxyZnNpb2J5ZzBqbExaZEdy?=
 =?utf-8?B?cDdlL0d2RXd6SzFBd29nYXFEU0FGRCtuMHFsdGxBMEhOZ3RNT0cxdkRzL3ZU?=
 =?utf-8?B?bXlDbkROTExyOVhpK3EvZis1VWZZclZzbnlxOFdrWkU0bXIvbVZaQmI5MmV5?=
 =?utf-8?B?V2ZZVUJ2aDhTYU9aQ09ZRENESHl2ajNMTU9tMmdieHFxZUZYNkcrbTcxZlVm?=
 =?utf-8?B?SEpESFQ1VHZ1RHlSSm81aTljd1ltQzdGS0RkWjV1NXJqRDlkRVg2R2VLMzdn?=
 =?utf-8?B?dUwwWU1WVmVsemhobGFHaS9nS0ZwOWNNdGNaQ3pueHlENkk3S3VtVXBXSzdl?=
 =?utf-8?B?TUZoRDk2aEJ4UTBoVG40dERySEhUUHZaVHpPNHJaZ2ZEbk9VRzFUd0RIWUFP?=
 =?utf-8?B?ZUFvcHdCdDlLa2ZlQ2pZbHV2amxsemxIZTZ6V1BVQmdKMSs0TjlTdk5Bb2RV?=
 =?utf-8?B?U2xTYzdpMlROME5IZkVZSis1NGE0aHpnemNFM3luR3ZINGdzSk1XQ2NoaWlC?=
 =?utf-8?B?dUwzdnp5Y0EvVFZDUi9POWczV01yTGVvdy9LZ1hzZGNiU09ueHJHd1JGV0tK?=
 =?utf-8?B?cU5ITC9iTjNtVy96K25DOHBtUzd6NDdnTWlVT0YxcmJXcFFHRTZycUt2cXFj?=
 =?utf-8?B?MlRHcE5ZaG15S0xOYUF6bzRTb3pRSGE4M3FHazBvNTEyVlFtbkM5U2FFSk04?=
 =?utf-8?B?dFJycjh6UVJXZGFUSVhhQk1VbTdNaTJMZXdkZjRiTnFYbzBMS1dXd0gwUkx2?=
 =?utf-8?B?YlBQUnhhZkEzcFlucHErbVBZVXhiY1VwVFBuYUtGSWQvK01obDFoWVU4cVRp?=
 =?utf-8?B?Wmd2TnF5TXZSUThRcHcvc3ZUMHRHNjVQb1M1ODV4ZzhxdWdYMFdKRjBvbW9H?=
 =?utf-8?B?S2p4c2xnQUZ0VnZGR0NsWnViNEtub1RtKzR4cWw3NU8ySDJPM0pUbWMxTS85?=
 =?utf-8?B?b2dTQi9BTTAwNFF1c0xFWXp4NmFFbFQ2eU9ZbUJzMTF4azRUMTFDTVpzVWVj?=
 =?utf-8?B?bEU4eC9XdTFVemtuOFdhbHppR1dIeDBzU2tWcmdvQW5hT0E5aytYV2t5d29z?=
 =?utf-8?B?OGpqNTFkak9lNnhLTEQyTi9sL0Y1dDJaOFpXRzAvNU5RT1JjOE9vZEhUTGxa?=
 =?utf-8?B?QlljWlJPM09HRjc2NW9VWWI1ekkwQ3ZyQ0lqQlluUjljMjBBL3htNzdtbjY2?=
 =?utf-8?B?NVQrU3B1RUtveGRLTndFS2pSMFpIV29ybzJxY2Y5RXZIMVF1RmtzamxzVVpn?=
 =?utf-8?B?d1pxS2VaeS9IWnd6Q1JqdzFRR2NydUxCcEl0YmZZNU5vVDVRQ2VhdHZZTmoz?=
 =?utf-8?B?RW5zTkRKc3hQQjNEMWpQdEFQZ25YMk0wNmc2OUdmSmxoblcwL3lzc3JJRm5k?=
 =?utf-8?B?VTVsRmNZREJGemFGamU1SU9pZTNwL1JyYnBteUx2L0YyTnh2YUtFeTVnaXQr?=
 =?utf-8?B?dUpyb3l5QWFiMDZ2b1IzTE1VRmhzV2wwSDFzdFZnMWhMczRwMjY0ZjNzenBr?=
 =?utf-8?B?RUlsZFU4V3NBY3pkNmJsY3ZBc21DMmZyYUIralE0bFNCN25VRzd1YnZtMzFZ?=
 =?utf-8?Q?/8wwkZAPBzFPHNdfM2o2DD3RQ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EE8BBA40CA60CB4494D666291A033372@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba6d8cee-25b9-4658-d42f-08da84f50c1b
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 10:48:43.0725
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Gq2OjgPVnzri1eZqh/QpYxOwuzSsM1ZgdN7vPsSGqnQW1lbBN5bBIgTCxpEK4xup55MlcJYEedHUczeOCebtpEwwMNc4IeohxrmoeH8fv0Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5878

T24gMjMvMDgvMjAyMiAxMDoyNywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDIzLjA4LjIwMjIg
MTA6NTksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAyMy8wOC8yMDIyIDA3OjQyLCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBleHBvc2VkIHRvIFBWIGRvbWFpbnMuDQo+Pj4NCj4+PiBDb25z
aWRlcmluZyB0aGF0IHRoZSBzaXplIHJlcG9ydGVkIGlzIHRoYXQgb2YgdGhlIGNvbXBhY3RlZCBz
YXZlIGFyZWEsDQo+Pj4gSSB2aWV3IExpbnV4J2VzIGFzc3VtcHRpb24gYXMgYXBwcm9wcmlhdGUg
KHNob3J0IG9mIHRoZSBTRE0gcHJvcGVybHkNCj4+PiBjb25zaWRlcmluZyB0aGUgY2FzZSkuIFRo
ZXJlZm9yZSB3ZSBuZWVkIHRvIHBvcHVsYXRlIHRoZSBmaWVsZCBhbHNvIHdoZW4NCj4+PiBvbmx5
IFhTQVZFQyBpcyBzdXBwb3J0ZWQgZm9yIGEgZ3Vlc3QuDQo+PiBUaGlzIGlzIGEgbWVzcy7CoCBU
aGUgU0RNIGlzIGZhaXJseSBjbGVhciAoYnV0IG9ubHkgaW4gVm9sMSkgdGhhdCB0aGlzDQo+PiBs
ZWFmIGlzIHNwZWNpZmljIHRvIFhTQVZFUy4NCj4gVGhlIHdheSBpdCdzIHdyaXR0ZW4gbXkgYXNz
dW1wdGlvbiBpcyB0aGF0IHRoZXkgc2ltcGx5IGRpZG4ndCBjYXJlIGFib3V0DQo+IFhTQVZFQyB3
aGVuIHdyaXRpbmcgdGhpcywgb3IgdGhleSB3ZXJlIGFzc3VtaW5nIHRoYXQgYm90aCBmZWF0dXJl
cyB3b3VsZA0KPiBhbHdheXMgYmUgc3VwcG9ydGVkIHRvZ2V0aGVyICh5ZXQgZXZlbiBpZiB0aGV5
IGFyZSBpbiBJbnRlbCdzIGhhcmR3YXJlLA0KPiB0aGUgYXJjaGl0ZWN0dXJlIHNob3VsZCBzcGVs
bCBvdXQgdGhpbmdzIGFzIGlmIGJvdGggd2VyZSBlbnRpcmVseQ0KPiBpbmRlcGVuZGVudCwgb3Ig
aXQgc2hvdWxkIHNwZWNpZnkgdGhhdCBvbmUgdGFrZXMgdGhlIG90aGVyIGFzIGEgcHJlcmVxKS4N
Cg0KUmVhbCBoYXJkd2FyZSBoYXMgWFNBVkVDID09IFhTQVZFUyBvbiBJbnRlbCAoU2t5bGFrZSkg
YW5kIEFNRCAoWmVuMSkuwqANCkRlc3BpdGUgYW4gYXR0ZW1wdCB0byBzZXBhcmF0ZSB0aGUgcGFy
dHMgb2YgdGhlIElTQSwgdGhleSBhcmUNCmluZXh0cmljYWJseSBsaW5rZWQuDQoNCkl0IGlzIG9u
bHkgdW5kZXIgdmlydCB0aGF0IHdlIGdldCBYU0FWRUMgd2l0aG91dCBYU0FWRVMuDQoNCj4+PiBG
aXhlczogNDYwYjlhNGIzNjMwICgieDg2L3hzYXZlczogZW5hYmxlIHhzYXZlcy94cnN0b3JzIGZv
ciBodm0gZ3Vlc3QiKQ0KPj4+IEZpeGVzOiA4ZDA1MGVkMTA5N2MgKCJ4ODY6IGRvbid0IGV4cG9z
ZSBYU0FWRVMgY2FwYWJpbGl0eSB0byBQViBndWVzdHMiKQ0KPj4+IFNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4+IENDIE1hcmVrLsKgIExvb2tzIGxpa2Ug
SmFuIGhhcyBmb3VuZCB0aGUgaXNzdWUgeW91IHJlcG9ydGVkIG9uIElSQy4NCj4+DQo+PiBKYW46
IEJlIGF3YXJlIHRoYXQgSSBzdWJtaXR0ZWQNCj4+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xr
bWwvMjAyMjA4MTAyMjE5MDkuMTI3NjgtMS1hbmRyZXcuY29vcGVyM0BjaXRyaXguY29tLw0KPj4g
dG8gTGludXggdG8gY29ycmVjdCBzb21lIG9mIHRoZSBkaWFnbm9zdGljcy4NCj4+PiAtLS0gYS94
ZW4vYXJjaC94ODYvY3B1aWQuYw0KPj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9jcHVpZC5jDQo+Pj4g
QEAgLTExNDIsNyArMTE0Miw3IEBAIHZvaWQgZ3Vlc3RfY3B1aWQoY29uc3Qgc3RydWN0IHZjcHUg
KnYsIHUNCj4+PiAgICAgICAgICBzd2l0Y2ggKCBzdWJsZWFmICkNCj4+PiAgICAgICAgICB7DQo+
Pj4gICAgICAgICAgY2FzZSAxOg0KPj4+IC0gICAgICAgICAgICBpZiAoIHAtPnhzdGF0ZS54c2F2
ZXMgKQ0KPj4+ICsgICAgICAgICAgICBpZiAoIHAtPnhzdGF0ZS54c2F2ZWMgfHwgcC0+eHN0YXRl
LnhzYXZlcyApDQo+PiBJZiB3ZSdyZSBkb2luZyB0aGlzLCB0aGVuIGl0IHdhbnRzIHRvIGJlIHhz
YXZlYyBvbmx5LCB3aXRoIHRoZSBjb21tZW50DQo+PiBiZWluZyBleHRlbmRlZCB0byBleHBsYWlu
IHdoeS4NCj4gV2h5IHdvdWxkIHRoYXQgYmU/IEJvdGggaW5zbnMgdXNlIGNvbXBhY3RlZCBmb3Jt
YXQsIGFuZCBuZWl0aGVyIGlzDQo+IGRlcGVuZGVudCB1cG9uIHRoZSBvdGhlciBpbiB0ZXJtcyBv
ZiBiZWluZyBzdXBwb3J0ZWQuIElPVyBYU0FWRVMgYWxvbmUNCj4gYW5kIFhTQVZFQyBhbG9uZSBl
bmFibGVkIGZvciBhIGRvbWFpbiBzaG91bGQgc3RpbGwgbGVhZCB0aHJvdWdoIHRoaXMNCj4gcGF0
aC4NCg0KSG1tLsKgIEJlY2F1c2UgbXkgZml4ZXMgdG8gY29tcGFjdGlvbiBoYW5kbGluZyBoYXZl
bid0IGJlZW4gY29tbWl0dGVkDQp5ZXQsIGFuZCBpbiBwYXJ0aWN1bGFyIG9uZSB0aGUgb25lIHdo
aWNoIG1ha2VzIFhTQVZFUyBzdHJpY3RseSBkZXBlbmQgb24NClhTQVZFQy4NCg0KSW4gd2hpY2gg
Y2FzZSB0aGlzIGh1bmsgaXMgY29ycmVjdCBmb3IgWGVuIGFzIGl0IGN1cnJlbnRseSBpcywgYW5k
IHdpbGwNCmJlIG5lZWQgdG8gYmUgYWRqdXN0ZWQgd2hlbiBJIHJlYmFzZSB0aGUgY29tcGFjdGlv
biBzZXJpZXMuDQoNCj4+IEJ1dCB0aGlzIGlzIGdvaW5nIHRvIGZ1cnRoZXIgY29tcGxpY2F0ZSBt
eSBzZXZlcmFsLXllYXItb2xkIHNlcmllcw0KPj4gdHJ5aW5nIHRvIGdldCBYZW4ncyBYU1RBVEUg
aGFuZGxpbmcgaW50byBhIHBvc2l0aW9uIHdoZXJlIHdlIGNhbiBzdGFydA0KPj4gdG8gb2ZmZXIg
c3VwZXJ2aXNvciBzdGF0ZXMuDQo+IFdoZXJlIGRvIHlvdSBzZWUgZnVydGhlciBjb21wbGljYXRp
b24/IFRoZSBuZWNlc3NhcnkgZmlkZGxpbmcgd2l0aCBYU1MNCj4gaGVyZSB3b3VsZCBvZiBjb3Vy
c2UgYmUgZGVwZW5kZW50IHVwb24gcC0+eHN0YXRlLnhzYXZlcyBhbG9uZSAob3IsDQo+IG1heWJl
IGJldHRlciwgb24gdGhlIHNldCBvZiBlbmFibGVkIGZlYXR1cmVzIGluIFhTUyBiZWluZyBub24t
ZW1wdHkpLA0KPiBidXQgdGhhdCdzIHNpbXBseSBhbm90aGVyIChpbm5lcikgaWYoKS4NCj4NCj4g
QXMgYW4gYXNpZGUsIEkgYWN0dWFsbHkgd29uZGVyIHdoYXQgdXNlIHRoZSBzdXBwbGllZCBzaXpl
IGlzIHRvIHVzZXINCj4gbW9kZSBjb2RlIHdoZW4gYW55IFhTUy1jb250cm9sbGVkIGZlYXR1cmUg
aXMgZW5hYmxlZDogVGhleSdkIGFsbG9jYXRlDQo+IGEgbmVlZGxlc3NseSBsYXJnZSBibG9jayBv
ZiBtZW1vcnksIGFzIHRoZXkgd291bGQgb25seSBiZSBhYmxlIHRvIHVzZQ0KPiBYU0FWRUMuDQoN
ClRoaXMgZmllbGQgaXMgYW4gYWxyZWFkeSBrbm93biBrZXJuZWw9PnVzZXIgaW5mb2xlYWsuwqAg
VGhlcmUgYXJlIHRocmVhZHMNCmFib3V0IGl0IG9uIExLTUwuDQoNCkJ1dCBpdCBkb2VzIGhpZ2hs
aWdodCBhbm90aGVyIHByb2JsZW0uwqAgVGhpcyBjaGFuZ2UgZG9lcyBub3QgZml4IExpbnV4DQpv
biBBTUQgWmVuMyBoYXJkd2FyZSwgd2hlcmUgdGhlIGtlcm5lbCB3aWxsIGZpbmQgdGhlIENQVUlE
IHZhbHVlIGxhcmdlcg0KdGhhbiBpdCBjYW4gY2FsY3VsYXRlIHRoZSBzaXplIHRvIGJlLCBiZWNh
dXNlIFhlbidzIHVzZSBvZiBDRVQtU1Mgd2lsbA0Kc2hvdyB1cCBpbiB0aGUgQ1BVSUQgdmFsdWUu
DQoNCkxpbnV4IG5lZWRzIGFuIGFkanVzdG1lbnQgZnJvbSAhPSB0byA8PSBmb3IgdGhpcyBjaGVj
ay4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 10:53:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 10:53:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391897.629919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRWw-0005RL-3F; Tue, 23 Aug 2022 10:53:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391897.629919; Tue, 23 Aug 2022 10:53:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRWv-0005RE-W2; Tue, 23 Aug 2022 10:53:09 +0000
Received: by outflank-mailman (input) for mailman id 391897;
 Tue, 23 Aug 2022 10:53:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQRWu-0005R3-6V
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 10:53:08 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQRWp-000130-G1; Tue, 23 Aug 2022 10:53:03 +0000
Received: from [54.239.6.189] (helo=[192.168.28.231])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQRWp-0002aa-8x; Tue, 23 Aug 2022 10:53:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=30mYuN8vAXBg0yHcYFvMU0dNMKY8innTZeCBg0JOzxs=; b=UkIjL7gXRkP2ShzdqlGzj6S9xw
	RG2bNGPMjn4WOnOmOMMhHr8Cck/R4jG/V78fBlth/kE2eepB9YhD6jauCMnikGe0bTsjoCTCoToSC
	hqI+5W+aar56xT9AN5+yjgVQkG2F0NQQoTo6/QlIv+oYnkRBHKzmvFkBkVbLz363KA2w=;
Message-ID: <d3c6c012-01fd-e4e6-9796-a8c19162c741@xen.org>
Date: Tue, 23 Aug 2022 11:53:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 3/3] add SPDX to arch/arm/*.c
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "wl@xen.org" <wl@xen.org>, "jbeulich@suse.com" <jbeulich@suse.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 "roger.pau@citrix.com" <roger.pau@citrix.com>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-3-stefano.stabellini@amd.com>
 <61b01c8b-1f98-e559-f971-f081a25e0b93@xen.org>
 <alpine.DEB.2.22.394.2208191528050.3790@ubuntu-linux-20-04-desktop>
 <f235f6f8-d585-4e24-7fc8-3f2df9240c9d@xen.org>
 <AD1F6CD4-5679-4B2E-AA80-0DACD0F09709@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AD1F6CD4-5679-4B2E-AA80-0DACD0F09709@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 23/08/2022 11:23, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,

>> On 20 Aug 2022, at 20:08, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Stefano,
>>
>> On 19/08/2022 23:53, Stefano Stabellini wrote:
>>> On Fri, 19 Aug 2022, Julien Grall wrote:
>>>> On 18/08/2022 23:03, Stefano Stabellini wrote:
>>>>> Add SPDX license information to all the *.c files under arch/arm.
>>>>
>>>> There are some of the files below that didn't have copyright. It would be
>>>> worth explaining in the commit message which license you selected and how.
>>>> AFAICT you assumed they were GPLv2 but I am not sure this is correct at least
>>>> one of them.
>>> My goal is not to change the existing license on any of the files, even
>>> if the existing license is imprecise. By what is written under COPYING,
>>> everything not explicitly listed is GPL-2.0. I only reflected today's
>>> reality. I think it is best if we keep mechanical changes separate from
>>> "smart" changes, especially on a series like this introducing many
>>> mechanical changes.  More on this at the bottom.
>>
>> I will answer to this at the bottom.
>>
>>>> [...]
>>>>
>>>>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
>>>>> index f5f6562600..2537dbebc1 100644
>>>>> --- a/xen/arch/arm/decode.c
>>>>> +++ b/xen/arch/arm/decode.c
>>>>> @@ -1,3 +1,4 @@
>>>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>>>
>>>> This license is not part of LICENSES. Was it intended?
>>> It is: the tag is described as part of LICENSES/GPL-2.0.
>>
>> Ah! I was looking as the list of files and didn't look for the tag. Thanks for the pointer :).
>>
>>>> If yes, this should be mentioned in one of the commit message (possible patch
>>>> #2) and maybe in CONTRIBUTING (to tell user to not use it for new files)
>>>> because one could expect all the LICENSES to be listed.
>>> It could make sense to say that:
>>> /* SPDX-License-Identifier: GPL-2.0 */
>>> is recommended for new files.
>>
>> So I was reading through xen/COPYING and we already have something like that:
>>
>> "Note that the only valid version of the GPL as far as Xen is concerned
>> is _this_ particular version of the license (i.e., *only* v2, not v2.2
>> or v3.x or whatever), unless explicitly otherwise stated."
>>
>> So nothing to add here unless you want to tell the contributor which tag correspond to GPLv2.
>>
>>>>>    /*
>>>>>     * xen/arch/arm/decode.c
>>>>>     *
>>>>> @@ -5,16 +6,6 @@
>>>>>     *
>>>>>     * Julien Grall <julien.grall@linaro.org>
>>>>>     * Copyright (C) 2013 Linaro Limited.
>>>>> - *
>>>>> - * This program is free software; you can redistribute it and/or modify
>>>>> - * it under the terms of the GNU General Public License as published by
>>>>> - * the Free Software Foundation; either version 2 of the License, or
>>>>> - * (at your option) any later version.
>>>>> - *
>>>>> - * This program is distributed in the hope that it will be useful,
>>>>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>>>> - * GNU General Public License for more details.
>>>>>     */
>>>>>      #include <xen/guest_access.h>
>>>>
>>>> [...]
>>>>
>>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>>>> index 3fd1186b53..b29bdf3aa6 100644
>>>>> --- a/xen/arch/arm/domain_build.c
>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>> @@ -1,3 +1,4 @@
>>>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>>>
>>>> AFAIU, the assumption is all the files with no copyright are GPLv2. That works
>>>> here. But ...
>>>>
>>>>>    #include <xen/init.h>
>>>>>    #include <xen/compile.h>
>>>>>    #include <xen/lib.h>
>>>>> diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
>>>>> index 71182575f9..47405e0866 100644
>>>>> --- a/xen/arch/arm/domain_page.c
>>>>> +++ b/xen/arch/arm/domain_page.c
>>>>> @@ -1,3 +1,4 @@
>>>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>>>
>>>> .... this file was split from mm.c which is gpl-2.0-or-later. So I don't think
>>>> we can use GPL-2.0 here.
>>> Well spotted! Effectively this file is now declared as GPL 2.0 only,
>>> given what is stated in COPYING. The code in domain_page has lost "or
>>> later" with the loss of the copyright header.
>>
>> Yes. This was an oversight from me when I split the code a few weeks ago.
>>
>>> So if there were new contributions to this file after its creation, they
>>> would have been GPL-2.0 only contributions, and it would have been
>>> impossible to go back to GPL-2.0-or-later without asking the copyright
>>> owners of the new changes.
>>> In this case thankfully there are no new contributions since the split
>>> of the file, so I can fix it by using the SPDX GPL-2.0-or-later tag
>>> without problems. I'll do it in the next version of the series.
>>> Xen is not saying: "if there is no copyright header it might be GPLv2
>>> but you need to look it up". Xen is actively saying: "if there is no
>>> copyright header it is GPLv2". Not up for discussion. Given that as a
>>> whole Xen is GPLv2, the only possibility is that the file without a
>>> copyright header used to be:
>>> - GPLv2 or later
>>> - dual license GPL and another compatible license (e.g. BSD)
>>> Either way, with the loss of the copyright header, the file becomes
>>> immediately GPLv2 only.
>>> Does it make sense?
>>> This is why I think it is best to keep copyright discussions out of the
>>> SPDX patches review and limit ourselves to mechanical changes.
>>
>> Yes I agree this series should be mechanical (baring the file that is contain GPLv2+ code).
>>
>> I am putting some thoughts below (they can be split in a separate thread if you prefer).
>>
>> This is not the first time this topic is brought up and probably not the last as long as we have file using GPLv2+.
>>
>> IIRC from past discussion there are two broads concern with GPLv2+:
>>   - We are leaving the choice of which license applies to the person copying the code. So if a new version is released that is less favorable to the initial contributor, then we have no leverage.
>>   - Some companies are rather cautious to contribute code that my be licensed under GPLv3 (would be allowed with GPLv2+).
>>
>> The later is particularly a problem because not many people realize that a fair part of Xen on Arm is GPLv2+. I never really understood why we chose that (this was before my time) but this got spread as the existing copyright was added to a new file. Admittely, the contributor should be more cautious. But I would not say this is trivial to spot the difference.
>>
>> I would like to consider to re-license all the GPLv2+ files to GPLv2. AFAIU, this would mean we would need to ask the permission for every comapany that contributed to the file. Do you know if this was done before in Xen Project?
> 
> If I am understanding right, GPLv2+ means that someone could relicense the files to GPLv3 if he wants which is more restrictive.
> Why do you want to move those back to GPLv2 ?
The main difference between GPLv2 and GPLv3 is the patent section. This 
has caused some concerns in the past when a stakeholder want to 
contribute to Xen Project.

While looking through at previous discussion, I found the original 
discussion [1] which contains a lot more details.

Cheers,

[1] 
https://patchwork.kernel.org/project/xen-devel/patch/1474985810-12289-1-git-send-email-lars.kurth@citrix.com/#19650817

> 
> Cheers
> Bertrand
> 
>>
>> Cheers,
>>
>> -- 
>> Julien Grall
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 11:22:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 11:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391903.629930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRza-0000aw-D0; Tue, 23 Aug 2022 11:22:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391903.629930; Tue, 23 Aug 2022 11:22:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQRza-0000ap-AE; Tue, 23 Aug 2022 11:22:46 +0000
Received: by outflank-mailman (input) for mailman id 391903;
 Tue, 23 Aug 2022 11:22:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yuKU=Y3=citrix.com=prvs=227d21510=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQRzZ-0000aj-9z
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 11:22:45 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6d029bb-22d5-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 13:22:43 +0200 (CEST)
Received: from mail-bn7nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2022 07:22:36 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5520.namprd03.prod.outlook.com (2603:10b6:a03:282::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 11:22:34 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 11:22:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6d029bb-22d5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661253763;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=BUFgE0xhnrsK70qkS6KkhyqAO0lsENOSNT8Fwm9oFsY=;
  b=FEGp9wGwKy7JM5IbjRW4kg6sGgXyrtx0AfoV+9f2FzSnf0tb5ED6YV72
   iSzncQAQrL9unahqGca33TNKmm8ibO0uEoHT+OGfAFfHoyqyJ9B1jmjX4
   7/n2wKagDDLs+2iDl58emelseGewrYPBMV5VtVtipgI1hfMfU+KY5E8qT
   0=;
X-IronPort-RemoteIP: 104.47.70.102
X-IronPort-MID: 81248586
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:O+3h3qv6p8gbK8TZsyc3/ral5+fnVE9fMUV32f8akzHdYApBsoF/q
 tZmKWjQPauDMWGnc94naIqyoUwE65LQzoRqTQpsrX83EHsQ+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4mhA5DTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FdxE4upQA2F/z
 uxbIh5cQCKK2+emh5vuH4GAhux7RCXqFKU2nyg4iBv/UrMhS52FRLjW79hF2jt2ntpJAfvVe
 8seb3xocQjEZBpMfFwQDfrSns/x3iW5L2Ie9wrT/PJti4TQ5FUZPLzFGdzZYNGVA+5SmV6Vv
 Dnu9GXlGBAKcteYzFJp91r837WTzX6rBur+EpWg8aVap2fO71A5I0wOf1u0+uvohkWHDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Ul7Cmdx6yS5ByWbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8kN+pES0cLGtHbylbSwIAuoHnuNtq1kiJSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNfNi1CAgbQD0ct9EQ==
IronPort-HdrOrdr: A9a23:15Imxq/02S5oErWgmv9uk+F7db1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQodcdDpAtjifZtFnaQFrLX5To3SJjUO31HYYL2KjLGSiQEIfheTygcz79
 YGT0ETMrzN5B1B/L7HCWqDYpkdKbu8gcaVbI7lph8DIz2CKZsQljuRYTzrcHGeMTM2YabRY6
 Dsg/avyQDBRV0nKuCAQlUVVenKoNPG0Lj8ZwQdOhIh4A6SyRu19b/TCXGjr1YjegIK5Y1n3X
 nOkgT/6Knmmeq80AXg22ja6IkTsMf9y+FEGNeHhqEuW3XRY0eTFcdcso+5zXUISdKUmRIXeR
 730lAd1vFImjHsl6eO0F3QMkfboW8TAjTZuCKlaDPY0LDErXQBeoR8bMtiA2XkAwBLhqAC7I
 tbm22erJZZFhXGgWD04MXJTQhjkg6urWMlivN7tQ0XbWIyUs4nkWUkxjIiLL4QWCbhrIw3Gu
 hnC8/RoP5QbFOBdnjc+m1i2salUHg/FgqPBhFqgL3f7xFG2HRii0cIzs0WmXkNsJo7Vplf/u
 zBdqBljqtHQMMaZb90QO0BXcy0AGrQRg+kChPbHX33UKUcf37doZ/+57s4oOmsZZwT1ZM33I
 /MVVtJ3FRCD34Gyff+qaGj3iq9MFlVBw6du/22z6IJyYHUVf7sLTCJTkwono+pv+gfa/erKc
 qOBA==
X-IronPort-AV: E=Sophos;i="5.93,257,1654574400"; 
   d="scan'208";a="81248586"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c84AEO8zW60S4Rbf+xltKmMGyP7dRRSBFmAtFuaJgVzALWGfBi/N7yStBnk7phVpFmXCyQxaVdeJ8IO3SDM/rvhS1eS7UxEKzVdABB0MEumespoDpeusoQ8IJ0+xbovXuplJbZP5BCiKF5PhqJmnspzmtMtxWoVhMvoUuzvV167dTjpfPiiAoYzXEa0+r5ucsPYpqfgnJJaJSuSuSwdGVu2wTJiqVZzqkDTYMPg0RZHKyIPqHsRZebDmbBSF5Y6+MaQ6CaaBX/HWa9xYfnl4ZBOtJ0fo71MCL2azWfNEuz+JG5nfzNCPsFg1SbC/qEkkcNFPnLlqVKSUnHpVxmnlCg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BUFgE0xhnrsK70qkS6KkhyqAO0lsENOSNT8Fwm9oFsY=;
 b=FJQ5IAXM4tvx3r6Z6qEdLtc9D1khN3l7ncb0m0U1EM9nJHvVkob6r8UfRHQofGpif4Fav9Gqf84P1ne5B5dCvVXU8sOyxTJJWGwz4fw/5s2tv8WrE1dHdIk1AO8wtdt/D49WfkMQbr743khiVfPdw1k9JNN+3RHLRSTTB6PN8S14DjaiobKkTev9YgEDOWLLLQrf1E++Fenc41e6MtSpTrYhrFD1Ha2uVfMNLdOdYptbNKsd+xzXgHFU9FGEG4hPn3xSkg6FL8nwM3JtQH8jDw8s7ssZt5y9jLbnUDez6ubka96AkOFupzogb/7Z6vqs0YrkwcDa15IqRjdxJzImqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BUFgE0xhnrsK70qkS6KkhyqAO0lsENOSNT8Fwm9oFsY=;
 b=CXrX6ZUc57Li63WWt5ulV4+bKDi3bbqg7NDntwwc8befzYdajN8qH6Ll04rOwWbX+jKhnENXQO8w4Jv5afltfDtGuSRP/wXR+8pxke6qGyE266+CVk56q0JY3tfpsLauM28SRIs7Ej4YpH1yyhDl7uCeaZjsAQWoO+P80UV5L5U=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/entry: Fix !PV build
Thread-Topic: [PATCH] x86/entry: Fix !PV build
Thread-Index: AQHYtijd2GWqlgMr1kW/Og84JT0UAK266uwAgAFuCgA=
Date: Tue, 23 Aug 2022 11:22:34 +0000
Message-ID: <a4d2f21d-4085-0f8c-717c-f9618913b0bd@citrix.com>
References: <20220822131204.25814-1-andrew.cooper3@citrix.com>
 <12fc8d64-89c9-39fc-3abc-0994bdac6d19@suse.com>
In-Reply-To: <12fc8d64-89c9-39fc-3abc-0994bdac6d19@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 435e5a0b-b712-413c-6d8c-08da84f9c6ce
x-ms-traffictypediagnostic: SJ0PR03MB5520:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 BqYcHXZc0YYJyfUca37SZxauPLv9gEECjOQP4gZdtnAwAFXN5ZHgsBQ8MQ+1rx08t8/UjPvKXSuGlcM81qlu/PdPOvXeZipyqVxlNwoEWyOW8pLSL3SSFFPSosUNiAos2T0sEmvk1Hwdop9zdQ6EB+LQvnyPfHOSvMow4CRNPsXpgHXprEmmHYpiXGfYBXVkJzHj5RV/gVtumzyuQ2CpNQJdR7eUpxz5DJyo4SREnU7rS2AUiUVizTKdh/jdSMkrHLRHv9XPxK8nTZOgU3QNQ5MbxXol7zoY1bJ/P0S91vmaDHSjtvid/PDS15t24lpsR1iFqSsDPm2+tFinAcIT4PAJO3b1ZhyyyWgDDrRvUf+f+Og7oft31g/6EvmzHmqLeTxrf6cWShOFPYG3iqftM47bvI9gAEHvRnUraNteNAFqCuvZaKibCIzhhHKol9cf2WZ1z3fMeBe1J/v/IdG7KBL47gBsDsgkB1C/v3huYRl1J5FkSlq19LPJ8R4Ks7QQQcwK66iaVJ68G4w28avzbWTocUGYx/IzeJ/Oa1QgZoQNcxKPecEwP958PBr+zsDtMfHU5f23xkkFIUE52nihuBV1outEI1beCp+7G62rWCtnrVJ0eRiaaaJLbxEQ/vYePoxX3/LbvZxriF5aeLV2A9DhYJco/79wJY7LBr8jt1XE5YJUwdKav0KLEgT7zybWScxvoGX8bGmpsfjTTGrZ+U8apZTJa2q7cQKEUwk0ebg++ZqwuhoXSoOjsFzXl3t26PlqyIH9R1DHfmM2xSkau9du6KbuYv+vshnXkmnkYF2o1emGHrF5RnADUeVL0sBzZpcN2x0+tY3BxWpdNnnkdg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(366004)(396003)(39860400002)(136003)(6506007)(54906003)(86362001)(8676002)(64756008)(6916009)(66556008)(66446008)(4326008)(26005)(36756003)(5660300002)(2906002)(31686004)(6512007)(31696002)(186003)(2616005)(53546011)(41300700001)(478600001)(82960400001)(6486002)(8936002)(38070700005)(83380400001)(91956017)(66946007)(316002)(71200400001)(76116006)(66476007)(122000001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QUFyTUVTYk1XYmJtYkdpeGUxTDB5a29pQlo0dEozdmtiSW1lRmJ4WUo5WS9Z?=
 =?utf-8?B?TnNPVFhRekE1VnUzVnpaZCsyRWtKNHp3TWhWUVRReU41THVxMExJL3VpUVd1?=
 =?utf-8?B?N2pJeHFGQ3BOT2Zzb0g1MmV3SjlhMSs5RktsQ1YvVVlObGdGT1JHQ3VCd08w?=
 =?utf-8?B?c0o4Qkd6VkdDOWk2Wnljc0wvbDlsU2x5RkJySnZJczAzMFU0UG50VzZvb1Y3?=
 =?utf-8?B?UGtKb3NwdGo2UjVDYm5VKzdLa0MzNkVyUThudVZUbUdjdkpBUkJ3ZHd0bUpo?=
 =?utf-8?B?aFp1RDhZS3JXdzFSK3NvUUF1UjlIaHhvKytWbVZzQVdRc3IwdGxkYm5NdHox?=
 =?utf-8?B?cElyR2pMV3JidmFIaXJWTG9MYVdXVTNiTmJIV3VnVDZhOFhuUnhqNThHYmZM?=
 =?utf-8?B?Qkd2VzFSNC9LSDhGYklVbFlaNjFBNGk2N3Zwb0dZOVJSVTQwYmJtWUVFbW4x?=
 =?utf-8?B?YURyV0dFQUdiZEZtNkpOYjRlY1hJbWI1Q3Z4eGlMSkJWM1lCL1MyTmxiVzdT?=
 =?utf-8?B?L1pYY1NUVzU0UnFqcUY2ZEp5N0tGSmZZME1YalF2b0tUaGVZN0ozbS8yMXlW?=
 =?utf-8?B?OE1BdnFxWExyb3JDbVRrM2crY0hTdmVwZndxVmI0NVFkakhuRWk0ajlHK0Ir?=
 =?utf-8?B?MTFVTkpLNzNPZ1NoQnlXN1lGMm9Zck9ENUk3dFU5WnYreFFUY0pWdng4U0dx?=
 =?utf-8?B?TDRYQ1JzMFJ1cGZGN3Y5TCtzV2RjR0NnblhEeGE1c0o4d2VVejNOODlZQkpJ?=
 =?utf-8?B?QVg2SWd6eEJyNmlvZ0lUWjBNaGVkbUdMVnU5QnQvc1ZCNUlqbk1yb1JNekFm?=
 =?utf-8?B?RGlkN2plRitpaEZJZlg4cEpKWjBBK0dRVUhqb1lyRjVCcjRTOG1nb3lkSHZO?=
 =?utf-8?B?cmZzWFF0UjByMjBtT3dnMFE4NDFaWkVQNUF0RS92dnkrdHhaYyt2ZWRiSE1u?=
 =?utf-8?B?SldVTmp1alpIbGpxWTZpTG9oWnY2N0E5dHJPbjRWcVllY1dwTHRNZ3BOdE9B?=
 =?utf-8?B?YTM5UG5IRmkyRFdJNzFtVVFKWCtHVWxadmYrSDZOd2lVMWVCb2xYY2RiTHRt?=
 =?utf-8?B?Y0pzeVdXYU94bDMzbXljeGxoOHU5SkpjV1pXek1aNjJPV1RvZU5aUWhlNm5U?=
 =?utf-8?B?d2xGOU1vcGNxSm1tbU9QUlh4K0tDVE9qUlJLRi9rajZnUis1c0RvR05pbVNm?=
 =?utf-8?B?dWVKTEx2TEpxSHBEa2M1aXNQZmRad29DVlArWUltMzN0RUJoRndDVHJMUkZF?=
 =?utf-8?B?dVZPY3JLb2ZEUXA4N1FJcW1vZFZLc1p4ejFFQlAySDNzNFlFSCt4ak1jV0ll?=
 =?utf-8?B?b2h2WUM3NGcrTUxvUThjSnBEa2txTmJoVkZDUVd2Zzh2d0FkeVNaRjdNdldM?=
 =?utf-8?B?K013bEkzQmVTUzlYS0ZxM2pxcUkwNlBvVjBtNG01Y2hOaWl3TERFaWpuKzRr?=
 =?utf-8?B?Rk4xZzlUWWJqQlZEa1dBUWlwY2Z4L1NjZDBxdVZBVGVhSndkTU9XR0RVZlRG?=
 =?utf-8?B?NTNXYjEraXh5K0V4VFNNSTJSR2o4YWNHaTRZVkZaNzNnNzZYMHhISTljbmQv?=
 =?utf-8?B?N0duZ0JQSHdpdVMwMC9pMC9zc3RYdHE2S1FNVjZickRLOGhRY2JhVlkwVldx?=
 =?utf-8?B?WjdnUFVSREtlWnBRdlhMcXFaNVZtY0RRZWlSTmxpNVRJcGMwOEVUazdkRktv?=
 =?utf-8?B?SWtYNWZ4dFBtQmIvQ2hvSnh6V3VJZE1YcnBvN1d2eFBzZThvWFVodU5aWkpu?=
 =?utf-8?B?dGFZTXVmbnN6T24yZWp5a0tDbk1TeXlKZ2h0UkhwTHBjTkhDc2Ntc2tXRmlU?=
 =?utf-8?B?dk9XaUl3cW1yNytDZUwxN0FlQ2FJOWVDbmM4cFdoRmM0VzBWMVREMlhaTi9k?=
 =?utf-8?B?K2FNa3Y3U0UyVkZGaTlMV3BUNytST2x3RzMvZjFTZU4weTZZSVI1Rjd1clNN?=
 =?utf-8?B?czZQNTBzUnM4LzIrcDJMZXpEcWM1UGduNlhibnBzVC9hVkxKK2pEZ01RM0ZW?=
 =?utf-8?B?RlpObHdIdVFzbnh4d0hDOFNvL3ZkeS9QQlJRaTdsWUsyUDJQUVlMNysyWDZl?=
 =?utf-8?B?QWlFSmNDYlI5eEh0aUxRK3RROFhRTzVxQVVtak1SL1J6NDZndzBtY0lEK3d1?=
 =?utf-8?Q?XWQko0kvDz7hrxcP/MXfG4Ea8?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E4039816F51AF547951E1FAC6B0241F1@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 435e5a0b-b712-413c-6d8c-08da84f9c6ce
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 11:22:34.3330
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: P5GONhOFCMPXvbqZi9RTgB6E/cxeA/SDfOwW5k3gSVRhRwZebLthv6kxOkcCA3DrvBd0XEI+St9TamyaqYayCdQHAzxcaiMg85Cu3/XCaQ8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5520

T24gMjIvMDgvMjAyMiAxNDozMiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDIyLjA4LjIwMjIg
MTU6MTIsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBlYXJseV9wYWdlX2ZhdWx0KCkgbmVlZHMg
dG8gb3V0c2lkZSBvZiAjaWZkZWYgQ09ORklHX1BWDQo+Pg0KPj4gU3BvdHRlZCBieSBHaXRsYWIg
Q0kuDQo+Pg0KPj4gRml4ZXM6IGZlM2Y1MDcyNmU4NyAoIng4Ni9lbnRyeTogbW92ZSAuaW5pdC50
ZXh0IHNlY3Rpb24gaGlnaGVyIHVwIGluIHRoZSBjb2RlIGZvciByZWFkYWJpbGl0eSIpDQo+PiBT
aWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0K
PiBNYWtlcyBtZSB3b25kZXIgd2hldGhlciB0aGUgb3JpZ2luYWwgY2hhbmdlIHRoZW4gcmVhbGx5
IHdhcyB3b3J0aCBpdC4NCg0KSXQgd2FzLCBJTU8uwqAgSW4gaXQncyBwcmV2aW91cyBsb2NhdGlv
biwgaXQgd2FzIGEgc2luZ2xlIGFyZWEgb2Ygbm9uDQoudGV4dC5lbnRyeSBoaWRkZW4gaW4gYSBs
YXJnZSAudGV4dC5lbnRyeSBibG9jay4NCg0KPg0KPj4gLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82
NC9lbnRyeS5TDQo+PiArKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMNCj4+IEBAIC0y
Miw2ICsyMiwxNyBAQA0KPj4gICNlbmRpZg0KPj4gIC5lbmRtDQo+PiAgDQo+PiArICAgICAgICAu
c2VjdGlvbiAuaW5pdC50ZXh0LCAiYXgiLCBAcHJvZ2JpdHMNCj4+ICtFTlRSWShlYXJseV9wYWdl
X2ZhdWx0KQ0KPj4gKyAgICAgICAgRU5EQlI2NA0KPj4gKyAgICAgICAgbW92bCAgJFRSQVBfcGFn
ZV9mYXVsdCwgNCglcnNwKQ0KPj4gKyAgICAgICAgU0FWRV9BTEwNCj4+ICsgICAgICAgIG1vdnEg
ICVyc3AsICVyZGkNCj4+ICsgICAgICAgIGNhbGwgIGRvX2Vhcmx5X3BhZ2VfZmF1bHQNCj4+ICsg
ICAgICAgIGptcCAgIHJlc3RvcmVfYWxsX3hlbg0KPj4gKw0KPj4gKyAgICAgICAgLnRleHQNCj4+
ICsNCj4+ICAjaWZkZWYgQ09ORklHX1BWDQo+PiAgLyogJXJieDogc3RydWN0IHZjcHUgKi8NCj4+
ICBzd2l0Y2hfdG9fa2VybmVsOg0KPiBSYXRoZXIgdGhhbiBwdXR0aW5nIGl0IGF0IHRoZSB2ZXJ5
IHRvcCBvZiB0aGUgZmlsZSwgbWF5IEkgc3VnZ2VzdCB0byBwdXQNCj4gaXQgaW1tZWRpYXRlbHkg
YWZ0ZXINCj4NCj4gLyogLS0tIENPREUgQkVMT1cgVEhJUyBMSU5FIChNT1NUTFkpIE5PVCBHVUVT
VCBSRUxBVEVEIC0tLSAqLw0KPg0KPiBvciB5ZXQgYSBmZXcgbW9yZSBsaW5lcyBkb3duIGJldHdl
ZW4gY29udGludWVfcHZfZG9tYWluIGFuZA0KPiByZXN0b3JlX2FsbF94ZW4/IFdoaWNoLCBhcyBh
IG1pbm9yIGdhaW4sIHRoZW4gYWxzbyBkb2Vzbid0IHJlcXVpcmUgeW91DQo+IHRvIGFkZCBhIG5l
dyAudGV4dCAob3Igb3RoZXIgc2VjdGlvbikgZGlyZWN0aXZlLiBQcmVmZXJhYmx5IHRoYXQgd2F5
DQo+IEFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNCkRvbmUuwqAg
VGhhbmtzLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 11:25:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 11:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391910.629940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQS2P-0001Gj-1R; Tue, 23 Aug 2022 11:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391910.629940; Tue, 23 Aug 2022 11:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQS2O-0001Gc-Ur; Tue, 23 Aug 2022 11:25:40 +0000
Received: by outflank-mailman (input) for mailman id 391910;
 Tue, 23 Aug 2022 11:25:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQS2O-0001GS-12; Tue, 23 Aug 2022 11:25:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQS2N-0001cZ-SC; Tue, 23 Aug 2022 11:25:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQS2N-0005Nz-Fv; Tue, 23 Aug 2022 11:25:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQS2N-0003yg-FI; Tue, 23 Aug 2022 11:25:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nO1wavSO3NAZ/h/dnomoeuLsxyIOJfF8Gz7JNmAE5aA=; b=6NvA9M1xocDmD6PltidwI9wZEF
	IgemEOntUDu1ilox896FzED0hew/ZXP2WzO/L0Lzc4Ze9eAm9GYKjNkN/I+w9QLzsHOe5He5hU0rO
	3mC+jlZmOCiBn8I6BqlNoWgMI8ktK826WYTVOVOsA5ZoiQnvqqRLWVI/66SyoeLYoDdM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172723-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172723: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=8d5704e2c429058382e1f1bd19c45e3cfeca1b0c
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 11:25:39 +0000

flight 172723 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172723/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              8d5704e2c429058382e1f1bd19c45e3cfeca1b0c
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  774 days
Failing since        151818  2020-07-11 04:18:52 Z  773 days  755 attempts
Testing same since   172723  2022-08-23 04:20:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120772 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 11:35:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 11:35:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391921.629960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQSBv-0002xu-3N; Tue, 23 Aug 2022 11:35:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391921.629960; Tue, 23 Aug 2022 11:35:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQSBv-0002xn-00; Tue, 23 Aug 2022 11:35:31 +0000
Received: by outflank-mailman (input) for mailman id 391921;
 Tue, 23 Aug 2022 11:35:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQSBs-0002xh-Na
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 11:35:29 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80053.outbound.protection.outlook.com [40.107.8.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae2a16b2-22d7-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 13:35:25 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9188.eurprd04.prod.outlook.com (2603:10a6:102:222::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 11:35:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 11:35:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae2a16b2-22d7-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z/V9aL5BkDPFHifHNpdNMrZCzYjA7uruZmwyNqk+gBwHuO4I0b4ZQdttVzOeer4cGsxydBjzEdgX7JB6s4wxyZfIWt1MccyTI6EAQJwtdiRi3PNqsjM7M6jY9JUMw+qbkipW70lbxNaCDBCK14utjXer6WoP/oj44aWp8fg73SlHY7gPC85Yytv1YdW110yozbBcBkNMvY1isjlLEZER3pKaf4KicD3rNXfvqVy6WcKqyFdLWgUw3UbXtkGSr2sNH2EZRnaEKpZt/n4qIbPhKPpIIe70B3Jf9XeTDhdALcRC4lLunmV7+wofZnNYRzP9gQH+7Jqu8Y+LJTU6MyhiOA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rRIxb2/48cCqk/xXdZ1ffKRq9ZLvUJJIQ2MWXEsJ1Fw=;
 b=i/xgakgMWIOIidxT9qcPyzCZ1wS0GbsdknMiWNV1rpJqEzm53oZxh7IC7cFNcgwlgvG6qgKrMVEei5fYbDO1/W6nqslVPvIvn05I9lGK2sLkBpgvfpOd0QYHXctw0v6JvbWmORfQ9Iafs2mYTfWaSnXRe++ZNcB21G4VFysOID5o03oWLrpcHAD/GY8RC1Ktaoj/y3aHBDKZZMzcqnRaJH+pJVjDRiXgduN/YPaqEEUhCETD0j0Xyd8d6QI0o++2YkB6VDXj67qYTvQ3JsYrGIb2rn3iDK9v3eg4KMZRmCjg41OSr4WncoqVp56aMO8dE1rhN6aQz59k4GN8TcxrUA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rRIxb2/48cCqk/xXdZ1ffKRq9ZLvUJJIQ2MWXEsJ1Fw=;
 b=mSCfbFx0JOhXcaWqa0yyOOtQcixzC6ugOXNHoIbhcP+aQZLiRejn4UXdVNKyy/n9yEG3yaL0GQI+s37apGxh+JCgHvNtV8DKw3bNRMzpmQ4OMUiUrxJ504qs06mIrm1NpueDhTuSotQdzH/L2T5XGrWZgLwT6EPJBNedVJIoiVZsb6brfcVBBsYxqwaGhdtzKbZfJmu8nLppn9POIkjNCBSxc41hrtgGgAR51aBrmnB5SMiBSg2DzXJXiWCzz24ixckdFttMzP6uePxnIwVuw9z7IItkAfh0/iIIADwOXWx98CG+1xYWiZL+umzWTyQ/YPyKiaqhuxQLgrNXJhDhvA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fdfe8a77-34a3-252f-6aab-1850cc30c7a3@suse.com>
Date: Tue, 23 Aug 2022 13:35:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: Julien Grall <julien@xen.org>, Bertrand Marquis
 <Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
 <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
 <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
 <f8a3f7d6-1db9-cc74-5d60-8a0e22b80a3d@suse.com>
 <6A4EBDE0-60A0-46B9-A9BA-C689B9F8F129@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6A4EBDE0-60A0-46B9-A9BA-C689B9F8F129@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0038.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2711e71b-312d-48ba-ff16-08da84fb91a4
X-MS-TrafficTypeDiagnostic: PAXPR04MB9188:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jTvbPEKDnU5jDr4xLP7CuHHvLV0OErizHNTVzi+QNQDrknlTnbIHCWscwxB/5fv8XuavDdr1ZnSveEuN1C7y1eVp8MjK2b2sIqXhUF2l7dMAtPn2C70D6jvRwze1lae+r68DP1ye6VM9C4rzXsuwn/8r/ekCIIy5GJyEmPbu2le/H5Yy0U3kUKlkJc7XvwbYXINrDgx5QpmZwq3nxSNnxHyt5ROrATR4nmcQfPeIcReH/u6rIS5WWZZhzaC8eGGpFgitLL0Wpowp+R9pF1nv/Pdcb5sHg2ddDuGoKyFdWEomqwJpbafz0kvUcDPKd4KOCmLhDAwPfvy6hy1ubhI/L168ToOSseaAX+romf3XWIOOas5DYQ2lajCnFvUz3/G9Lcbg1yry2CnJ+HrSEOtjv6ehG66wMxanhWdYsCVCtjB4nq/MlmHi9BpCWDN1AYhDk0vs9En6mu1TgydyzmC4jB8Uo1TPFkQ31mgypNuGjMXs0EXP5rPABj+XQesKQND5k1YxK5G7kyCEnwpJ5P31STrs10I0k2DCbNqPc71A3EGGnb/uM5elaIfHwfHr0RhfNJDLuygjTDr+uqGTr7FLXLBRorWJprdxIYsrOFa5t4VzZMdETHD8YYu0VEJQB1nYLgTtnfJfWk8wG1oTvz+/H7bIukNmBNbNzrqO1tkvHMNRcFkeoliQrVRcTOUhoRnxRIX57QsU/BOFWIyvLfX4tISbssFDAzzWa+WacvlWPFU/lj/LMd49nzuG83RfgpAoa6r6NXO0+SqVaSqtN2cr4YHrjnU5Cr7I9Kqj/tRjWbs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(39860400002)(346002)(376002)(136003)(53546011)(66476007)(478600001)(26005)(6506007)(2906002)(41300700001)(6512007)(31686004)(83380400001)(6486002)(36756003)(316002)(6916009)(38100700002)(5660300002)(2616005)(66946007)(31696002)(186003)(8936002)(8676002)(4326008)(66556008)(86362001)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEhFQVMrRXR3SVc3M0pXdTZwQk8rVU5IUDhvempQeElVRlVsVmRlQlNKcU5v?=
 =?utf-8?B?RlV4Vk1NOTZ6enRlQXA5eW40NCtFOEl2WnRxWVMrWGp6YlBWYUI3QlJrUUly?=
 =?utf-8?B?UWU0T2N0TmFzTWN2c2c0dmEyVUJZOHRveVlodkdXWEZ4QTZ2L2VSNDZ5OVFa?=
 =?utf-8?B?cmZZSTZ0N2theEJEbkdRQW84NFhJdkVXbDdaSmMzRmNkUzIrVys5L3JDUXc4?=
 =?utf-8?B?SVVhVC9aVTA4M0FQOG5TSy9TSStHYTh2NlBGSmQ4RGcvZ1lQM1BOTWppVTRo?=
 =?utf-8?B?M2drOElhd3BLN3EwdkxGUE9qdDBRMTVRamxLYnJOOGFPU21Od3FTUWF5YUpx?=
 =?utf-8?B?L1dSb0tiWFRES3ovbEhHamhCWEx1QUJUaVRPWlhpUVBBM0EwWUU3MVVYTnZy?=
 =?utf-8?B?Sy9mWUxHSHhRRUNlb3cyWmhvcDdmSTQyenR6LzJkWmlPeUsyL09yS2ZjWkRW?=
 =?utf-8?B?anJhL1FHalBvb1p0UDRyREE5Q3hzNmJBaVovbTlOT3FLQSsyME9tYlJTTGl4?=
 =?utf-8?B?STBXMjlFNUpWdXI4RmJiRnpVeWlaU1JsSHJ5MDV3UWpsMlovYVFxeW5OUXNp?=
 =?utf-8?B?M3YyU3RHV2xOTWY4YzdBVENkOVdlZG9iU1Y5QU15QmNiUWxpYktJc0RtdVNj?=
 =?utf-8?B?bWIrdCtCVUlnQWFXcUkzQWx6bDJQc1BNZDNLcXBoSS9CMk9vOGd3NG5LbnUx?=
 =?utf-8?B?cU56bldUSk9CMlFkT0ZnWDd6eU1SOUlWWnFuZUhCU3hqNWVUU2JPSkViV2pi?=
 =?utf-8?B?aDBwYlBWUjBGd2NqZURXUk1Yd0JSNEJVMyttT1BqV2lsMlJHSmt3NklsQlA2?=
 =?utf-8?B?dHhWNDhYTmhVY3ViVjhxa0MvcUVSdytkVC9IeDlPUG1sL3Jibzg0ZWVPVERs?=
 =?utf-8?B?N1pzbTVKT1YweWpXSTY2WTBjdmV0ZFE1RGhIaUI1RG8vbEdwTHh5YmxNQ05q?=
 =?utf-8?B?UGlLZ3hSeGx3QzNCQU5HVEp5bFc3UldyOFlKRnY2bERpVlRmNWVueEhKU2Y5?=
 =?utf-8?B?aG5aOEJwb2F3dW04TWV4R0tLYS9RbGxKNEMwVC9KM2Z6Qml5SjFVa1JxR1RB?=
 =?utf-8?B?bU1ObDNpT1krZkYyN0l6V0lici9wUGN0cHROL2NEOUVGVy9YYnR2YkJyakM0?=
 =?utf-8?B?cVlMKzhFanpjMERjVzh3K1JVOThFR1dCR2h6c2gxdkxxaG5mUmZ0Y2RhZis0?=
 =?utf-8?B?V0dTQmwxQVdqQ09KU3YrODBIK3EwbWdPZm83OWpqMXdHL1ZsQUcybDBBYkx2?=
 =?utf-8?B?NEpkaHNjcGlBYnk0em9NclNBaEE4WW5TNGJzcTBBd1dPNWtoYVRrUWtYazZZ?=
 =?utf-8?B?TFFtTTBDeEFBeHVuMFcrS0RjZmt5bGd6cFZ6ZWxWMG1XaUVyb0JrT0tjZkZo?=
 =?utf-8?B?cU9DdllSd003cWVJdytoNkhIdzZ6ZnVPT2VjZy9CMVBHbmROdyttMkdCNEgy?=
 =?utf-8?B?Vk1hT1ErSUUvWkJlQTlQeUlNTkJUMThWa0UraHVCNDhYWWkrSUdRSjBaSHh6?=
 =?utf-8?B?V0VPYVJ6eWVQdjlqL1Vud0t0UnJ6TEU2ZlMrdWRPZTltSFU1bEFsejVWdkdj?=
 =?utf-8?B?OGZLazJ6MENheHo1OVhQeUlTbnVOczlQTGJMbjB4NXNZY0dCUzd2Z0xZN1Bj?=
 =?utf-8?B?Nk52UDRJOGNLRUV6K0V5alVmakRJd28yK3dWdlZOb3ZkeG5LV1hxYmwyM2t2?=
 =?utf-8?B?Uy9kVEtadGdIdTJFSmhoRkY3eVYwQXhjUHF1cXFMenlXZk5KQmtsNWxpbXMr?=
 =?utf-8?B?Y3AwSzF3YTlOUk40NExZcXhkeTJOeExJSCtOdVp6UkovUGpJT2lSUDJZVDFU?=
 =?utf-8?B?N3VWNXdmekE0RTJUWE56RExMemRaZUZ5RjllUjRPQXFQelo5UHZNZmsvRDhR?=
 =?utf-8?B?bVRTcmlOOElSWXFKZ1RlbyszZ0o2bDVUUkFBMzR2ajVNUXFtWGNHWlpvWHFw?=
 =?utf-8?B?MTJuWW9vS3ZSUzdIVW1LT0ticTJtemRQNFNXcFQxQkhjTGdLMFd3UVRZL3VB?=
 =?utf-8?B?Z1dwRk5jWmxjL3ZSNjQ3MzBmSjFJVkJwWDY1M0s2U2FORWhvNGpzU3JrYk1r?=
 =?utf-8?B?ODhWZEJGZ0psZDM5Wm45OWJ6M2RDOWFVaktTRCtFNlRrRXJSQ3BKR0lvakQv?=
 =?utf-8?Q?gBpNI+rbUNf1+DtcEf/wDMBy3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2711e71b-312d-48ba-ff16-08da84fb91a4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 11:35:24.2607
 (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: ID2YUH0IUMTPVnEYQYCzA9ppVatKViJ9FYB8srjTF5PCmrdymIfxACKF8E/Cp6L1WBPy4Bx6+GmRx2YV+n6rsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9188

On 23.08.2022 12:39, Rahul Singh wrote:
> Hi Jan,
> 
>> On 23 Aug 2022, at 9:29 am, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 23.08.2022 09:56, Julien Grall wrote:
>>> On 22/08/2022 14:49, Jan Beulich wrote:
>>>> On 19.08.2022 12:02, Rahul Singh wrote:
>>>>> --- a/xen/arch/arm/domain_build.c
>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>>>>>          struct xen_domctl_createdomain d_cfg = {
>>>>>              .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>>>>              .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>>>> -            .max_evtchn_port = -1,
>>>>> +            .max_evtchn_port = MAX_EVTCHNS_PORT,
>>>>>              .max_grant_frames = -1,
>>>>>              .max_maptrack_frames = -1,
>>>>>              .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>>>>> --- a/xen/include/xen/sched.h
>>>>> +++ b/xen/include/xen/sched.h
>>>>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>>>>>  /* Maximum number of event channels for any ABI. */
>>>>>  #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHANNELS)
>>>>>
>>>>> +/* Maximum number of event channels supported for domUs. */
>>>>> +#define MAX_EVTCHNS_PORT 4096
>>>>
>>>> I'm afraid the variable name doesn't express its purpose, and the
>>>> comment also claims wider applicability than is actually the case.
>>>> It's also not clear whether the constant really needs to live in
>>>> the already heavily overloaded xen/sched.h.
>>>
>>> IMHO, I think the value would be better hardcoded with an explanation on 
>>> top how we chose the default value.
>>
>> Indeed that might be best, at least as long as no 2nd party appears.
>> What I was actually considering a valid reason for having a constant
>> in a header was the case of other arches also wanting to support
>> dom0less, at which point they likely ought to use the same value
>> without needing to duplicate any commentary or alike.
> 
> 
> If everyone is  okay I will modify the patch as below:

Well, I'm not an Arm maintainer, so my view might not matter, but
if this was a change to code I was a maintainer for, I'd object.
You enforce a limit here which you can't know whether it might
cause issues to anyone.

Jan

> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 3fd1186b53..fde133cd94 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3277,7 +3277,13 @@ void __init create_domUs(void)
>          struct xen_domctl_createdomain d_cfg = {
>              .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>              .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
> -            .max_evtchn_port = -1,
> +            /*
> +             * The default of 1023 should be sufficient for domUs guests
> +             * because on ARM we don't bind physical interrupts to event
> +             * channels. The only use of the evtchn port is inter-domain
> +             * communications.
> +             */
> +            .max_evtchn_port = 1023,
>              .max_grant_frames = -1,
>              .max_maptrack_frames = -1,
>              .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
> 
> Regards,
> Rahul
> 



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 11:44:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 11:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391928.629970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQSKn-0004b4-Vt; Tue, 23 Aug 2022 11:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391928.629970; Tue, 23 Aug 2022 11:44:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQSKn-0004ax-TB; Tue, 23 Aug 2022 11:44:41 +0000
Received: by outflank-mailman (input) for mailman id 391928;
 Tue, 23 Aug 2022 11:44:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jact=Y3=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQSKl-0004ar-Ti
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 11:44:40 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10073.outbound.protection.outlook.com [40.107.1.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7783bcf-22d8-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 13:44:38 +0200 (CEST)
Received: from AM0PR03CA0096.eurprd03.prod.outlook.com (2603:10a6:208:69::37)
 by AM6PR08MB5032.eurprd08.prod.outlook.com (2603:10a6:20b:ea::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 11:44:35 +0000
Received: from DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:208:69:cafe::89) by AM0PR03CA0096.outlook.office365.com
 (2603:10a6:208:69::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.24 via Frontend
 Transport; Tue, 23 Aug 2022 11:44:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT052.mail.protection.outlook.com (100.127.142.144) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 11:44:34 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Tue, 23 Aug 2022 11:44:34 +0000
Received: from ca712d7b2898.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7F699904-40B0-48F9-B0A7-C0030037A89C.1; 
 Tue, 23 Aug 2022 11:44:23 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ca712d7b2898.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 11:44:23 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB7PR08MB3292.eurprd08.prod.outlook.com (2603:10a6:5:1f::30) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 11:44:20 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 11:44:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7783bcf-22d8-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=KG/ViuFOzWJyWPRFOrarU7ZZRNcXZgdqCQsZcuAfk/Wlk8jrEHz/XRWtDPVs66tNlt5JbVtvNQ7WwXvJP4F0P0ZEEcdzEHHinni9T1cXo/iWWNNeJc2mbme2IybPv44Dh8p/2QQciDvJr5UW/Tx6qCGw6bgzTkU+Z9UZX3YuH+wkuBu81Yml0BY59WR9qN+BYt9Xy/ItcHK8oQikQeU3WoPPvhLNkqqyWIkZGPTvk1g734N9cO0MVWXayzS+1L+/78iYvvS5JQI8OtqwUZqiWG+4lAfX2YhwB6j9ou/FSBhGr5OXkUwHkTekV82vQRLur8kvhFUEmKpB3PLuFUTFvA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BfxdHKoHV8fwfMe9Cjjf9wTxPXTOVIcmXr6zf3L9YDk=;
 b=kI4t+EpEd3d2hbu4xymsxp8qS+n7ITEvQZZGyYhZXTeo40BZ8fRqAeYMI/YbJrisPtjCzdhw387+kdv22h7RFOcu204xo28w+mmjtpjJ+Tu7viWZSORihCqlyY9nTL3u6cCqro/3Eh+avJM7gWQGtDVQOlBrjrJuIpychiPb7E1/JvWRy33jhLfGkDCIdwbR9gI3pfKtw4Cz1/Fku5cRlAwiSb1UkSsgByelAPWrkat8SLmmEKx844S0YIx4svqFQijRY2AUeTCKdxwU9FerhUJoixleQy6VqsvAtlozUv1hU/Nmdxe+PLQ34SwvOnt4w1Uwamm2psA1dDkwpPd08A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BfxdHKoHV8fwfMe9Cjjf9wTxPXTOVIcmXr6zf3L9YDk=;
 b=QiGJVPmE9gOOIgOUkZJ1OlV0o7G1fpbsFHU3CV8ucd3h0MNUciFgkZoLtJGl8Lu4n+XJjXgiYL9pgv4HNOjo8ppp3I79fsMqp/kqwEoBUZ0C4jz1w6FHUW3e72SzLpzf06Ge1ySGJHq8pGDYvzIwewXXFVGJeRCW4/4w77l2kxY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e3c38d722d78deac
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qy3x5xwQdqX3QeW/rUNd7tyMQ7OFENhJdnCEPr7GRtGZZN3sfPWm7zLxHtm/cJQJoZKS6Vi0C5Y3MjgETci2BKLyK6uI681HTbPzVgU4JlmlGV1PAU9vPUxIEOS4EK423FJ50rtg8l1W/NRlKqOgXln5UgpoP/nl5rypLn0zQ9abJdsUjtTfhkYvX4+YNSYWHMdZxHneYKnSacRlyjBwt4fXzIE6HEstEUd3rFnpU/ekxBVvA9RPfkmY83OfAdGAZ6De0c+jhAfrwv91bNJs3sMNmlVMGsCR8Wz6h8HtYw00czHydpb0yWcEtPBtdvKVrTnc2MmG+R1oVjLRyDVLGQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BfxdHKoHV8fwfMe9Cjjf9wTxPXTOVIcmXr6zf3L9YDk=;
 b=hbnkzBaSrfAtfDmM3sBUtiOXh57N6/r573p3iFDbtc2Xz4o6IffCwAKUpL6j5zinWK16+0UbiJ1j7x5ReVisbIswqzcL5ZDTRZZ62v88XSdzkycxXKjgGKY5rWrJQlsUvMPb62yELeqquU7eSpbc33IeSkcuumbUkxeNvWxurNKdez1GzLzosb8ckAwaWvbDtBr8ndLOTaPzTcd9L4/Oegt2dFTx0VA7kJxYzoSigM/IxBtETffoB/esFK6zsY0LCh5IVGsCVHdjMTJuIo1dnWeWhJLYSVIT03EbS7ZGnqOmZKNC2AAWLsRDWz1V/SfOGHakPelbp2G9DKsC5AWzew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BfxdHKoHV8fwfMe9Cjjf9wTxPXTOVIcmXr6zf3L9YDk=;
 b=QiGJVPmE9gOOIgOUkZJ1OlV0o7G1fpbsFHU3CV8ucd3h0MNUciFgkZoLtJGl8Lu4n+XJjXgiYL9pgv4HNOjo8ppp3I79fsMqp/kqwEoBUZ0C4jz1w6FHUW3e72SzLpzf06Ge1ySGJHq8pGDYvzIwewXXFVGJeRCW4/4w77l2kxY=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Rahul Singh <Rahul.Singh@arm.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Thread-Topic: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Thread-Index:
 AQHYs7MV2LzwQkpIc0uI74Vj50Jrma269JmAgAEvmICAAAk5AIAAJFSAgAAPtwCAAAKAgA==
Date: Tue, 23 Aug 2022 11:44:20 +0000
Message-ID: <B1DDE1F8-2906-40BF-B6A9-E18DDA883681@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
 <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
 <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
 <f8a3f7d6-1db9-cc74-5d60-8a0e22b80a3d@suse.com>
 <6A4EBDE0-60A0-46B9-A9BA-C689B9F8F129@arm.com>
 <fdfe8a77-34a3-252f-6aab-1850cc30c7a3@suse.com>
In-Reply-To: <fdfe8a77-34a3-252f-6aab-1850cc30c7a3@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: bf7b6d61-12b4-4aba-acb6-08da84fcd9e8
x-ms-traffictypediagnostic:
	DB7PR08MB3292:EE_|DBAEUR03FT052:EE_|AM6PR08MB5032:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1ARNbd4oVJ9CgA9YO1/uZs3eLeoOHCC2TquvIeV63Bz3MdT7nlVnQmmpsaCWFy9roGBmjndU/K3umkHw2Cs17bmC42mWYJooQq6cWHdJLJwuS6LUvMpr+c5eOB5WmrUXP+i40SxtSnsOKVnYOT1nhGY0WapuLjKL7O1480R/zSzQYgsJz2RtWQ94nLKqE3jaKR8RdnY4MsCZkZ6EqX4IKvLBrlfXIr9QunOT0kjsDMK2di1ILUlF32kCbUbo1pK4Sg7f7JKKW76SwtgtC21JyxBX+mvKumUxornZm41+wFF1pLHJiB+TFjwj/OyyN9KMOk2k71yYUqlBnNMh6wA26akvd2hSbxJ71keGJxSmJbgyUCHd3h5qZEq3SXWGW++eXgMBFFkuYD7DH0prEbWfZ78KY8mDV+qyFqPlUSVr8k/FFAoCiaVGvdLVObFvNCyySo5+neqmr2c/NcahoA49BUpS6HU6kIl1sTqVkJjBncguH5LvW0POy4+WwnQ7jALKJIOJFugnuzlmCnABdBbpqGypNi3BSXxPv64D9iPBnfYaRETt2nZf4CMCpL5ixtodqH6xh13er+8AUlD6QyrvGf3/sHgP4TqSdqavWVFgMdMEFUh+PBJD60Qm7HxXCXMpaKd4lQMZecMK2hFOlKZiMNv2GKSvc/y3+jBL+3gnAknYA7nR3WAprXbcGjF3LShGDTqBR2HHFaNRJW/Z0v7V4r6MLctCeunglUQtTd469OuvljCdph57qAlX37uewDCp7Y/sdPfQKksKZcIWMGx4X1sNdr3fNl7NPWeDY7OoyQ0=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(376002)(366004)(346002)(39860400002)(4326008)(2906002)(64756008)(8676002)(8936002)(5660300002)(91956017)(66476007)(76116006)(66556008)(66446008)(66946007)(53546011)(6486002)(36756003)(33656002)(26005)(186003)(2616005)(478600001)(41300700001)(71200400001)(6512007)(86362001)(6506007)(83380400001)(54906003)(316002)(122000001)(38100700002)(38070700005)(6916009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <8A4CF27BEDBA7A47B815D17C570F6FD2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3292
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f436b279-fcd0-4115-9729-08da84fcd13d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZvGICfKC9AdcemFPlnB5j4x2IHoINhF67S5E61Pr+OGAijkp3nHrrPzexhrm37+LS6ljlkJ7QQhBJODAsoYbFtvvnsrnpm5V0UoakvL1+0du9DlDh2OFHJk8saR5K2jpgQ8RYQiz0XmYVDW+FPleEyL8zJhNAfcUsb6J80pvc9sjEZySMuLgUQ2UJWO7uNlWPiwLRUVf3IuphLRN60JfFXxuSlmpBQp4X82CADijPLMGzJ/lKCumnL138vE1Y0ryL5iZ3jod1Vca48NHppcueJoqiaP8OCu4ch+BGu/2+2JFJVgcqhwzRpSr03N1WrDdcDgbKOU4RiH592uDiUbiBDNOs6259AGR2YhPRHThK0KMR3sbx3mkpSGsoZpi7i7z2LETA8PQRE9oHOwI+6RuoyW9DfTaT2pBEJ1X0wBG2y+F5q22iLNf1prHes7SL6KMD8TL99sBmDEiGKg5Bk5nZzMH1cSh08rj/KHawv/txPtH0dl+pv0zK33V8HVxjFrWbPgCb/NXsMuO6mVuKejIZGLNtZ0AJCVKSrwQf4kVfb7ZHGe2A2SLrq5sB/NGV8Wk1mi9Mfo8874Yi28BHh5VzoKczT7rTxJkwP1zQjuhNFToIn6KfvAo8OPE8Ee4YrxGVc+YYaAWbTzv/fbd33QJ5TSHFYEf9Rpk8bcFOs+l5dG1xzRAuURdfY1ZsJbfT+QFW9oiHk2mzyMux80KMx08pw0YteQ25tRv8VVt/ebt4J5e44TXpr/Tu8HEf6jihXABXJUAgVYQcTTsa1/CBpT+wg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(396003)(376002)(136003)(40470700004)(36840700001)(46966006)(336012)(186003)(2616005)(81166007)(356005)(36860700001)(47076005)(83380400001)(4326008)(82740400003)(40460700003)(6862004)(5660300002)(8676002)(8936002)(70586007)(70206006)(41300700001)(40480700001)(2906002)(82310400005)(53546011)(6506007)(26005)(316002)(6486002)(54906003)(478600001)(33656002)(36756003)(86362001)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 11:44:34.8875
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bf7b6d61-12b4-4aba-acb6-08da84fcd9e8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5032

Hi Jan,

> On 23 Aug 2022, at 12:35, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 23.08.2022 12:39, Rahul Singh wrote:
>> Hi Jan,
>>=20
>>> On 23 Aug 2022, at 9:29 am, Jan Beulich <jbeulich@suse.com> wrote:
>>>=20
>>> On 23.08.2022 09:56, Julien Grall wrote:
>>>> On 22/08/2022 14:49, Jan Beulich wrote:
>>>>> On 19.08.2022 12:02, Rahul Singh wrote:
>>>>>> --- a/xen/arch/arm/domain_build.c
>>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>>>>>>         struct xen_domctl_createdomain d_cfg =3D {
>>>>>>             .arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>>>>>             .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>>>>> -            .max_evtchn_port =3D -1,
>>>>>> +            .max_evtchn_port =3D MAX_EVTCHNS_PORT,
>>>>>>             .max_grant_frames =3D -1,
>>>>>>             .max_maptrack_frames =3D -1,
>>>>>>             .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_=
version),
>>>>>> --- a/xen/include/xen/sched.h
>>>>>> +++ b/xen/include/xen/sched.h
>>>>>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>>>>>> /* Maximum number of event channels for any ABI. */
>>>>>> #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHA=
NNELS)
>>>>>>=20
>>>>>> +/* Maximum number of event channels supported for domUs. */
>>>>>> +#define MAX_EVTCHNS_PORT 4096
>>>>>=20
>>>>> I'm afraid the variable name doesn't express its purpose, and the
>>>>> comment also claims wider applicability than is actually the case.
>>>>> It's also not clear whether the constant really needs to live in
>>>>> the already heavily overloaded xen/sched.h.
>>>>=20
>>>> IMHO, I think the value would be better hardcoded with an explanation =
on=20
>>>> top how we chose the default value.
>>>=20
>>> Indeed that might be best, at least as long as no 2nd party appears.
>>> What I was actually considering a valid reason for having a constant
>>> in a header was the case of other arches also wanting to support
>>> dom0less, at which point they likely ought to use the same value
>>> without needing to duplicate any commentary or alike.
>>=20
>>=20
>> If everyone is  okay I will modify the patch as below:
>=20
> Well, I'm not an Arm maintainer, so my view might not matter, but
> if this was a change to code I was a maintainer for, I'd object.
> You enforce a limit here which you can't know whether it might
> cause issues to anyone.

The limit was agreed and discussed between him and Julien and
I agree with them (if any more views were required).

Not quite sure if your mail was to request an other maintainer to
confirm but done anyway.


Bertrand


>=20
> Jan
>=20
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index 3fd1186b53..fde133cd94 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -3277,7 +3277,13 @@ void __init create_domUs(void)
>>         struct xen_domctl_createdomain d_cfg =3D {
>>             .arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>             .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>> -            .max_evtchn_port =3D -1,
>> +            /*
>> +             * The default of 1023 should be sufficient for domUs guest=
s
>> +             * because on ARM we don't bind physical interrupts to even=
t
>> +             * channels. The only use of the evtchn port is inter-domai=
n
>> +             * communications.
>> +             */
>> +            .max_evtchn_port =3D 1023,
>>             .max_grant_frames =3D -1,
>>             .max_maptrack_frames =3D -1,
>>             .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_vers=
ion),
>>=20
>> Regards,
>> Rahul



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 11:56:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 11:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391935.629982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQSWB-0006BH-16; Tue, 23 Aug 2022 11:56:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391935.629982; Tue, 23 Aug 2022 11:56:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQSWA-0006BA-UD; Tue, 23 Aug 2022 11:56:26 +0000
Received: by outflank-mailman (input) for mailman id 391935;
 Tue, 23 Aug 2022 11:56:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQSWA-0006B3-FI
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 11:56:26 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20074.outbound.protection.outlook.com [40.107.2.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9cc68737-22da-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 13:56:25 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7981.eurprd04.prod.outlook.com (2603:10a6:102:c0::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Tue, 23 Aug
 2022 11:56:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 11:56:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cc68737-22da-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OjP/zssiNujN6Mxche6G6Vk4qi7Fa3FgQl/F+5Z3sEJOxGDxLtOl1bWVJ8iE7ieoijlnqVeiPs4SEbdg6bNf+0tWcXeXgSOdtghgU3yfC4IRdoP/UpQ5xO4Z3xCg8KWf7BoRfUxhruFwUHmXaztX7AeUx/e9zLzYLd10s8c1EZ9RyEXhPsFdeqk4YCalSUk12uR9GMq81XKXpbirqImwxpXVWAU+dMLZZvbtUCOyS1v/7FGIQsBJTY2o5RumELVvvkF/zV2FnUvng5B5Cnc5lxv7/0tuXTHebapn5Iwp6ttuue/DLVs30U7qOKT5zoA/6y2ifhmpm1g7EHRo10pREQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aqN3T6iOsxYbIyGCZylcP8PAfJciQULqrU05iCLmnPU=;
 b=diahDOHrcwm9nzK5+jWEvZ+XCW5tzuV0CNVP39aj47Je3/UNHo9iIki1rIzc6F8D4v4UAxVuAFbJ1075Gm8lumDKArxMx960VGveok0MIabQ4ug5PX1dH38ntoi44AlIw0MGEy9T9XpNgOgEDMvl7gnDKX+T0J3rLxjuwuTvfvxQIaSvvZGtBWKMCgW4OKEapBZZMid2g9gASkm1+Svulv/M6Fshe/NxIJ/UMo4M+9pITqjv3DZfOoqGFYgxXD2f6Y5jlMO/5rOUoHk96fq71Pytv1xSmaBRMxh+0tBhVN759T38w4qui6/Om5w+6BBTlQbkwkbjv56aCeyKkAw88A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aqN3T6iOsxYbIyGCZylcP8PAfJciQULqrU05iCLmnPU=;
 b=wKRsaaVOxkd9eimTVhb2qyaLvM+64H1Sq0Q59KTeDHnC6LMtyqYzbhth5mujZgFiHFgZW9/YvImwghikpT3oi8WIuA5Ti0E4tFC2Q+Awv5/fVJtLoU0UnkRpeRrQw+lzW38yqjx9pK9bnPYWJOLAOJ5Z5CyWzHlIqjaHs5Z0StrYyZQbkWoshq6VWzOlWB63fBXz4y1NW1K0KiqMXOUjisOrCzD/9xGW2s/S0Z2NKcISskVoSXgtUla8TCBiargpYnsDn0Tk2Dx0IRuOqw48+jUnYCNbWm2EL+c0w5+TGGmcHtAXtqiw/mtaYycKIN6WVz78m8sUyiKhck+YA1ivBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0e0b1859-e7f8-3f8d-2be8-e0069b116525@suse.com>
Date: Tue, 23 Aug 2022 13:56:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jane Malalane <jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/PVH: restore VMX APIC assist for Dom0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0016.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a82e9015-fb5b-406e-0a76-08da84fe804a
X-MS-TrafficTypeDiagnostic: PA4PR04MB7981:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3uSfXwdkmIEiI4qMCeLb8c1+yi6u6wRXyikJii9daFBO6zdP5bmnNI2cEbjpQiUrGKhv4670jOJctaosp4/H7lXWA/DCW8Xy5/QZxXmyOlT279Pehk4H5/r+U52sS9wwXlmD/FUt4iNcgFdzdsk2FDMoCSbRMsBgJWY1JNg30bIBHQJRn+OR04jlrEqlbAJVoLFIrZtMY7xschFfQj3ooCq5Z+JZgd8fABO02vkDrsqYZ+CWYrjfjLhwM3d+AM6oR2CWFRG3sXNYwdMSSZ6XWwkI4NGxo9HtHdyikltATiRhNhIo96f+lj3OH/o4xATiz0nMz0f3LhCkmW7/MGs0Szsrs6xwwTRmrI/lyskl7OWJ9CO96jnWamigztl5+MLXWe7f6ODuqbUhSMsUak+C+nYFyGUhqT2MhmggX4oXEBoYElK8YYO113PJV7zDLTd+HTZV+L8dpWXf6uxtqa4HS4es1ioTHN/3OKZjXEdGKISFUCyV6t1r7WInORstN/zCeqQtFBzvdiY+RBUJlXva7vop3g0oPknIEeqo7bQMEzmhYhjdlIWbxQGMx17FILnxhjLFMs1Cf+SBXkbeMR33vVreX7z3qEKP6aUNz0QTjOv4GOpMldROrYvQ4T5PAaC9yVXxe4mpGB7IrQpmRWl8CQepcPjXrAlIx8TD874Nb94MxlRBriZm+XJ7oaAGtrLEqUjn1pOq+EZcBow5L/Rf7i8pRJPCmtfIssIbCoEHEEi8JPYAeLo41Wzh6UJROhRCwBq/SkTt4kqHhk5J8Z11wprg2W8T2XQJ4FsKG/lf9+E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(376002)(346002)(136003)(39860400002)(2616005)(4326008)(86362001)(66556008)(8676002)(66946007)(31686004)(31696002)(6916009)(54906003)(66476007)(36756003)(38100700002)(26005)(8936002)(6512007)(41300700001)(186003)(6506007)(6486002)(478600001)(316002)(83380400001)(2906002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eXFIVDNZSmt1Y0E0U1dMRTJNd1UvZmxCc3RrZXdmWXloVzUrd3plUytQRjU4?=
 =?utf-8?B?djVmTy93emQ1Y3ZhZ2M4YmZnOGtRcVZESVp6bDlPT2tMWVNIanVVM0ttK01j?=
 =?utf-8?B?Nkd5T3hFNWtlWXhnRE91MVBBZGRKcmUzMDU2cGhhUUxJT1l3dXJ5UHoycjF1?=
 =?utf-8?B?eEI0U1ZyM1Rhb2UvZjArV2lvRXNFSGQ4TkVYVGEyeHB5b2Y3NGFUNHkzZG8w?=
 =?utf-8?B?eVNvNE1iclFjUTRaUmVZK2Q3ZXRTVnJ2am9RbFNkZGROZDJabVVGRHJwc2c1?=
 =?utf-8?B?RVhIWTZJMGhMdm5nZDlUbWlLMk9ON0xmYUY1WXQzcmpWSEtYK2hmdmhERTUv?=
 =?utf-8?B?Vy9WelVxOWRvY2xwWDcraVJIdzA1VldnS1lBY204QzMrZUY4NlEvbmlRRDVF?=
 =?utf-8?B?UW1NdENtTVM1aVZxS1BWemlMaDFTbnZ0SEszZko2a0trWWNtTjlhSTlncW9E?=
 =?utf-8?B?QTR1Zkl1NzYyL1U1ZmMrbDVDUmtYUGRWalU1ZUpFL3c2ZnNSRGRCRnRtZCtP?=
 =?utf-8?B?RElmR0w5UE10QkZBVzZWd0p3blNYdUhyR3hpL09vUUhwVEs3QTFBd1owY3dS?=
 =?utf-8?B?akE0azE1U1E5MjFBcytwazBJam5GK09VdUJnMExRb2pZUmVhVFNyLzRNRGcx?=
 =?utf-8?B?Z2NaRS9JeFdDa0pTdlZZVnZoYkRrSHFwRlJvRHUvL2cvQlgrcVRyMTRQSXlV?=
 =?utf-8?B?MnRrQkZNSytwbHhVcUMzRi9nTVl4elZ6a0piWHl1ZVNnNlV4VUtOQjJ5M3BZ?=
 =?utf-8?B?OXUzbUZrNWEvOFF1enl0Z1BJdUxlbHhINktqR21tRGRZZXhEeGNrT1FoRWc2?=
 =?utf-8?B?cXJuU01mU09FY1AyVVhCOE90N2dDZ0xzbkZ1c0lnUjd1SEFxR2pJT2J2SUlr?=
 =?utf-8?B?eFdmbTFyWlB1TmcxRVE1MlZETzYzeFYzNkJFSkFIZitqZitaWlNWRWZiZkNB?=
 =?utf-8?B?dVlVZGZLaXVNWnBCUlJ3a3VKazBKN2pMR1hTOVVIUFVNb1B4OStLZUduZ24r?=
 =?utf-8?B?MWcvWHdXdmsyS2Uya0l6dy9VY1hNdlFaVVVsZlpmeS9GRUljRjIydUZWdEFL?=
 =?utf-8?B?VXhFSTArNzhkOCsvZUh3L1ZDdi9qM0Y4SVFJRmJBRmZobE9nUFV4TjI0S2dx?=
 =?utf-8?B?L0tYS1BkL1hHczhnV3ZlbHdXQkV5R3VDbjlGeTY2b214UWNpUHZiSVgzL3Na?=
 =?utf-8?B?VlNZRDB0UmJiQnYzb2dxS2RVd3hIdXZwUTcwQnl0WUozV2JuMzBNVjFQdVQx?=
 =?utf-8?B?cm9vczhMSzRDY1RGZ1ZIYUJza0Fqelk1bnNBZXFKejRxZ0U1anBJVFlpMlha?=
 =?utf-8?B?UlZPOTdZYjhGN3VETThCTUMxT2g5aXo2TFBPaWNwODF1YWxJTmhkVTVIWHRX?=
 =?utf-8?B?NEI2SVdYYlE1YVo1NmxqcnNLOHdheUluSGF3d28zT3B2bXczcTBJZXBBL1FK?=
 =?utf-8?B?SXllV1RTSDE4SUdPOC9URVdKaFdtWUtxQ2JaY3l2MEEzcDdhdFNnSGtyOEFa?=
 =?utf-8?B?d3dOTUFiR0l5YWZCUzdlSzQrQnovR3VnUEtNQnZ0V055bmkxZ3R6ZVhLQi9x?=
 =?utf-8?B?Yy8zTHVObjdPRzdGTWlRUnFnb05JYVhocUN0ZzUzdkIzMHBRM050elJYVDFI?=
 =?utf-8?B?VEJQZUxYTCtFV3h6dis0M1Jsc243UnV5VjZHNEV5Q1BBc0RpUDljMmd4WDFk?=
 =?utf-8?B?eHNmMmhyNkhneEhpcTROK21aa3p0WkRwbmxtK093bUs3UXBESzdmSE9nZmhy?=
 =?utf-8?B?Q2VJZ256SERZU1hTNWxJYWZQSkFoVFJOYzV4eWcwdkVlRFQzTDVMbktYMThj?=
 =?utf-8?B?N1haQXMvZkZtVU83ZmRFbEtUUVNwOE5wem51Q1VqTW9hbGlNS0FCM2tzVEts?=
 =?utf-8?B?dVkzNHdyS3lsb1c0dnVROFpBcTFWenYzR3preWpiZHJFdW4wY3FJalJmVTZo?=
 =?utf-8?B?dkNuMnN5YnIwdXVjUFFqS1JUa25UT3FxNzdqeUJKS2dIWHdDWHFlMnVpNmdY?=
 =?utf-8?B?NGtyWGxhNG5RTnVhWGtFNzRrVTd5WTdpdm8yeVlST2tSem95blhmMWgvWU1I?=
 =?utf-8?B?UHNzY1YrWXJHWmtmUDB1aWdqK3AwWFQ2ZWJiZU05bm9SKzBERmtlR3hCRTg3?=
 =?utf-8?Q?dspJs9PFkWBDMenKvH54kwoCV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a82e9015-fb5b-406e-0a76-08da84fe804a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 11:56:23.6179
 (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: WsHSsbdkbXtPoOzklC10HEHDhdUag0coGeg6dHtfjlv/F8Z8rfY6sNVhpVruAnT0C6318jatP2FCSXB+N9ZLwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7981

I don't expect it was intended to default PVH Dom0 to "no assist" mode.
Introduce command line (sub-)options allowing to suppress enabling of
the assists, paralleling the guest config settings for DomU, but restore
the defaulting to "enabled".

Fixes: 2ce11ce249a3 ("x86/HVM: allow per-domain usage of hardware virtualized APIC")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Besides the issue caused here (the manifestation of which appears to
correlate with the other fallout Andrew is trying to deal with) I'm
observing further warnings, but I guess these have been there for some
time (perhaps forever): When parsing AML and encountering the objects
describing the CPUs, Linux would find entries with the original APIC
IDs. If those don't match the ones we assign in pvh_setup_acpi_madt(),
the kernel will wrongly consider the entries to describe further CPUs,
which it therefore would deem hot-pluggable. This again results in
warnings, this time "NR_CPUS/possible_cpus limit of ... reached".

--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -753,7 +753,8 @@ Specify the bit width of the DMA heap.
 
 ### dom0
     = List of [ pv | pvh, shadow=<bool>, verbose=<bool>,
-                cpuid-faulting=<bool>, msr-relaxed=<bool> ]
+                cpuid-faulting=<bool>, msr-relaxed=<bool>,
+                assisted-xapic=<bool>, assisted-x2apic=<bool> ]
 
     Applicability: x86
 
@@ -814,6 +815,10 @@ Controls for how dom0 is constructed on
 
     If using this option is necessary to fix an issue, please report a bug.
 
+*   The `assisted-xapic` and `assisted-x2apic` options, defaulting to true,
+    allow disabling of the respective hardware assists.  These are applicable
+    to PVH Dom0 only, and their effect is limited to VT-x.
+
 ### dom0-cpuid
     = List of comma separated booleans
 
--- a/xen/arch/x86/dom0_build.c
+++ b/xen/arch/x86/dom0_build.c
@@ -293,6 +293,12 @@ static int __init cf_check parse_dom0_pa
             opt_dom0_cpuid_faulting = val;
         else if ( (val = parse_boolean("msr-relaxed", s, ss)) >= 0 )
             opt_dom0_msr_relaxed = val;
+#ifdef CONFIG_HVM
+        else if ( (val = parse_boolean("assisted-xapic", s, ss)) >= 0 )
+            opt_dom0_assisted_xapic = val;
+        else if ( (val = parse_boolean("assisted-x2apic", s, ss)) >= 0 )
+            opt_dom0_assisted_x2apic = val;
+#endif
         else
             rc = -EINVAL;
 
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -55,6 +55,9 @@
  */
 #define HVM_VM86_TSS_SIZE 265
 
+bool __initdata opt_dom0_assisted_xapic = true;
+bool __initdata opt_dom0_assisted_x2apic = true;
+
 static unsigned int __initdata acpi_intr_overrides;
 static struct acpi_madt_interrupt_override __initdata *intsrcovr;
 
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -68,6 +68,14 @@ extern bool opt_dom0_verbose;
 extern bool opt_dom0_cpuid_faulting;
 extern bool opt_dom0_msr_relaxed;
 
+#ifdef CONFIG_HVM
+extern bool opt_dom0_assisted_xapic;
+extern bool opt_dom0_assisted_x2apic;
+#else
+#define opt_dom0_assisted_xapic false
+#define opt_dom0_assisted_x2apic false
+#endif
+
 #define max_init_domid (0)
 
 #endif
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -784,6 +784,11 @@ static struct domain *__init create_dom0
 
         dom0_cfg.arch.emulation_flags |=
             XEN_X86_EMU_LAPIC | XEN_X86_EMU_IOAPIC | XEN_X86_EMU_VPCI;
+
+        if ( opt_dom0_assisted_xapic )
+            dom0_cfg.arch.misc_flags |= XEN_X86_ASSISTED_XAPIC;
+        if ( opt_dom0_assisted_x2apic )
+            dom0_cfg.arch.misc_flags |= XEN_X86_ASSISTED_X2APIC;
     }
 
     if ( iommu_enabled )


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 12:01:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 12:01:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391944.629993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQSb3-0007on-Qt; Tue, 23 Aug 2022 12:01:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391944.629993; Tue, 23 Aug 2022 12:01:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQSb3-0007og-O1; Tue, 23 Aug 2022 12:01:29 +0000
Received: by outflank-mailman (input) for mailman id 391944;
 Tue, 23 Aug 2022 12:01:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQSb2-0007oa-JZ
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 12:01:28 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2071.outbound.protection.outlook.com [40.107.21.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5100f8d4-22db-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 14:01:27 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4883.eurprd04.prod.outlook.com (2603:10a6:208:c5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Tue, 23 Aug
 2022 12:01:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 12:01:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5100f8d4-22db-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XV9c1pnI1lUQPCSDtHR8h5c0+1oxgr/GPWKaWRB7hFRfVB0t2rDZR2zcKrb2FgtwacE9NUCcWCyvoowVOccCmxvSJBzkLa7/B8PW3/87Jew7mtYlc/aMDKVKzqK9pjsGFxpCOBTUJlCCcbj5HafwD+D9n16xD7e0W3Di51FCMcEuyzpYmB78yJQBENKj2e2+OIbMR1jzxw1r84Z+ba27HOR+8u25cYto2NbAf/iJQ1kV4Wj6z/RtHk5c0ZhPhYcCAoGTW9LGIuyWyoVCLz1bdJkdZgctU3MZ2ni3Msl0tv/fHXZ9WR9W/H5vRTTS50X7QX9Y5bQZOit3SXzInJadCA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=917xEOW/jGptWxGBU+dV3BfQdpbg9XQh5tb4yZWsCUQ=;
 b=mZICr+7lnf09eSmlviyBKUkA16nbFJssdVyBQiGd0ZRxkFqmaI8l5t5cR87VV8PDoaSaXN+6V/2OOL/EqBe3L43BWa/Vo3g41gONuDs0WY7ZsdmCFHky7q9yvP+7m+xU9BswNHKA0Kyk18oOBwNRHBMJ36G1SbG9eOXdiKcngiyyF4spbO2ScqvCrqIAuqnwfmZ4RYHZ2X80MzQLIRxr6AWO7UhJjjfbVFQGK2LKMy5NlfjfVaSe2bk+9gLpKxjISHlbCKwtSXfIhOtYLEKGypij3q2Gcr/T+m1mQGDB/7fBSjeg7Ey8d6haJCUZ7U8UjE2lK9Kx8xjL6EjnETV/ug==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=917xEOW/jGptWxGBU+dV3BfQdpbg9XQh5tb4yZWsCUQ=;
 b=Ru86wBKO596yA/amYfANS8ZeNy2m4SqRY2gKTsnlpvTXwNXpmjCtwgW7QrRE8evhetssKn0//cEATxvnsZrrTCVI5AV9d4+kCUSTkM3e+oMN1WqfW+HYZZUAoVF+dnUs71YnRUUfJI0F7SqMnW2eU+2Fw4RhNgs3VPLDDFHXS1G2hx0JwMACb5z15p31Dus0gF8jjsAT+RUgB9bobszZr/c1MMpBwMM9W/+0X7PjrDPdARPMgKMRswzNOlYFe4aCwEc8xhi3TxloJ7+uNbswTSEJxv5bxFS4NxrRht5KYiwlVrgM/R4VKuroH5Q6BPnljnMADf5Px02ne2zptSoFjw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e9de03a3-77cf-bc90-be48-ef6b1f133661@suse.com>
Date: Tue, 23 Aug 2022 14:01:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
 <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
 <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
 <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 251d0e97-3d19-41ba-3900-08da84ff30db
X-MS-TrafficTypeDiagnostic: AM0PR04MB4883:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nfIQUXcW3HuoQHUXo0fI89EIzQp1MORN0Li61AMif/bMYdBy/iE+Uj9qZzjVDExuMfilF3Ks4oHo3EQLDUsXDwfTVM5Uru4+RdTwUkWdtK9A5ZqX+cTPxcpEGMJTJ9khTDThpxl7XlPJ28LYzfj2aOb2++wfc/oiCReEqVNs7rX4Og/fFTfK8J8wVu/4kE4R/sCNTUB7tahH+waFzEaETbneqRLJ6sqWnGVFo2eeKWUoW4eTa2l96y7O0fkA8AV0S+zMT/rNsoEnm74ZnpS9hyo2946KIdDJqbZun/SgIOL2sagaDzSFD/1Dy9a3W/gnrVgnGNtttdXEPdKd4s2uAUcwjG42qg1ZaIuVx7lhVXUGFnbKyqrkWF4+evYij2Qd8vj7CeWYNT6VQcHYUPp9DBTRLeTkN4UggHCupnO7AJhfm4WzVMcoO58GTr6UxviP6evmXdvvIvvl7Kfe4jTOzhDe0tPH4Ib7SvnVQhoAz+W6HDHG0MubUlScWj9aHgOfbNsHHcFkd9tjZKXrK1wTkOeBLe4ZAZz/KH3Gvz4NKjLtnU3xVOzE006VBVKQVhDHFFkp48P2z2ctf1FZThhKtjOpMl1z1LHEj2JmSVw19ehUBmF6JMlbDXgHKSGMq9v4MebojC+CCnelPgIicbUreMZg8HOLpZ25uBhdiL4Nv99STxqZF1nB1uRK5kNJcTOEkrVAUpapNw3IsiLEAygdCv2INI89YTOuRS2twz8kqaEC0kVwNsqEYQMTWPOaKG7AAX3RccSBR9f4ImBkmPdKiBS6X+xP4hOBK25rjyRZaB73nzsverZ8j5L6JHx4hkKRRN5cjykOVhJKwQzdI+Augg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(376002)(366004)(346002)(39860400002)(54906003)(2616005)(36756003)(186003)(38100700002)(86362001)(83380400001)(966005)(316002)(6486002)(6916009)(8676002)(66556008)(66476007)(66946007)(4326008)(41300700001)(31686004)(478600001)(31696002)(2906002)(53546011)(8936002)(26005)(6506007)(5660300002)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGxucWUwQWg3YkpPMlBwcmsrV2hHSlEyYzhmNHZMbm5KN2wwV29jL3k1YlRM?=
 =?utf-8?B?elUzaUh5L2xGOFR0ZWVzN2MrV081QXZGWnBIMG5mdU9mTUNlYXRJaS9RM0Fh?=
 =?utf-8?B?dVVld0d0blVDaXR1aENMUHZhQlp5TGl6YmFjWkx5NkEvZ2twWXJLQXYyWXRa?=
 =?utf-8?B?WVNqdVQzcTd0OXhnMko0MGF4MjNhU0lXK2h5cHJodHRUVTNhckU3R3NZdUtO?=
 =?utf-8?B?ckV0eUZUQ0ROOGswaWhjdWhHZVFYTXZSc3E1T2xTNm5RWTJhc1YrWEVwYTRN?=
 =?utf-8?B?YUx4RFZwSWNDM2haTjVqV0VSOEg2MHZZcXY2MlpZQ0hycmR5cnlEQ3p1QWZE?=
 =?utf-8?B?TjJ2NjJSL1ZMaGZJUTVVaDNSTitBRWNwNDB5bENIVHd4K2QwdUs5LzI2eldN?=
 =?utf-8?B?eXAyQ0pCOVl0NVVra3FwSnNLaEhabzYwRXd5OUU1WDJXK3dKNHVxZ0t4ZHV6?=
 =?utf-8?B?eXVVODhRcyt6Mm00MEljOUVaajRWNDlGSW5WcHVFRXNFOTVDQmRPVTAva2ZV?=
 =?utf-8?B?R1lqc3dpTEIwVUhpc2RlTHhybHFVZWxEdlljencwTDluWDV5RThWM0FTY29h?=
 =?utf-8?B?T1JMc0ZIcGllUDBlaElGSGRjeWRLNzhndnRwWlNzcGJiZXN3Q2xkYjhEQ0Ro?=
 =?utf-8?B?ZnVFMUdOOThQdWVybGhOTnk3dXVXSkhsMHJsdWFwUGpJOGFubzFxWjcvZmtQ?=
 =?utf-8?B?b01xZjFUZVZuLzI3dDBWaHBGVHM2V0lFMjVRZUZzQUdCMG95dk1aSjV5SUFt?=
 =?utf-8?B?Yk5BZERWL2lWVGRNWTJsSGhMMWJaYnNySmh6WXQzOGN0WGwzQzc1NE42UTJR?=
 =?utf-8?B?STlKQ0F4dDR3R3Z5S2JUazN4ck8zMG9WWEt3eXNJbkp1ekpCaXQwOVM1RERt?=
 =?utf-8?B?bGtDZlVHek5wVlVZMWQzaEZibzVZcjFuZW5TN3M3UXl3cWpsNklaMXVQaEpk?=
 =?utf-8?B?TVJpbjhiVzdyWHFtbDJPbjVDUHR1NndJM2NBLzRLRDZiQnpqSWRwK0s0OEo4?=
 =?utf-8?B?WG1OTkNzU2krd1lWcy90cGRpUThDdHN4Y0ZRblZUeTkzYWhEcDg2RXQvZlE1?=
 =?utf-8?B?TG9sb0ZFcW1sREdFdy8yOEtWenpsZ0liang4K1FsbTVHb2VMNEZWT0laeG4y?=
 =?utf-8?B?UEJKWC9xSVJSc2pZNFJCbXFScmpTODByOGU5ZExiVVNtNUhEWEhYS0RsOXk2?=
 =?utf-8?B?aVlXem03cmpUY1cycTFxM1ZVdWVKMkI1b3M5TzRXMGZPZmErekFCZTBRZCs5?=
 =?utf-8?B?L3dEckVuQmUvR2V4TDN0bHVhMHlVY3puZUxsL3ZyT09ZMXNJM0hEWTBvWTFY?=
 =?utf-8?B?OFFibnVtdWlmZk43ZFhEVFVNUWllamJRb2V4RVczSnpsZmROalM2c2hodTd6?=
 =?utf-8?B?NklGUTBCSEpzWUN4bmNuayttZHR3bFpkQUFhc2NuZWRnSFA3NnhEL2l3K2p6?=
 =?utf-8?B?NjVqanY3ejE3MWtLKzBxNW55Y0Eyb1FibTZuMjloOXBRc1BuZmZXQ3Q3MUZL?=
 =?utf-8?B?N2FiYlpUZ1I4eEh5NXV0b2Q1ZkdFc1VWL1ZXSnVsYmh3SGVKMTFBN3I0Vyt4?=
 =?utf-8?B?RDhrZEJndVNHbnpVWUh2TENPQ0F1NE9oMUY0MzJDV0IvNERsNk9VL0dNQkFR?=
 =?utf-8?B?RTAwRXpOZlRPRTd6VFh1MTVxcHFhYlV1YUJOTndrMnM3b0FtdnJ5bWtrQ1dT?=
 =?utf-8?B?NThKNGpKem1kKzNYSUhxRTBhU2lTemZyYWtCeGI1T3creUhhbkRVNmdabUFU?=
 =?utf-8?B?RmpWbnhGZm55cDhVS1RxRlRYQWJhMFh6SkI3b0RuOFRISTBtK09vd3ltTWgw?=
 =?utf-8?B?Nm15eXg1Tk9NYUFTTVFER2JsY2gvdjE5TFUxS2xNbk15aGdRNzZLQ3ZySGxF?=
 =?utf-8?B?ckl3UlpwTkJWUElWZlZ4ZnNGeVFtOFlNT1A0WmlXdjJXWkNHVTdpUm91aTgz?=
 =?utf-8?B?NzI1K0pyTjA3TDdVdHdKeG1XNWk4ZXVWMVFrVjhIcHF5ZytOZld2TjRoa1kr?=
 =?utf-8?B?a2dXWFVMREcxaTZrZFBldmYyM25PaFBIcm85V1VIYTZKbnFiWHFvWWpTZ2sx?=
 =?utf-8?B?aXE2dG5MenltcGFtSUFwMldmTGNnNnNDYVduQWp4aFh3Z3BRM1YrOVBET2tE?=
 =?utf-8?Q?H5Oq/X7C5wXoJ5rf7pnpkQ53Y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 251d0e97-3d19-41ba-3900-08da84ff30db
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 12:01:19.8796
 (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: KIN2BkAKH2fhO1rRWiIJ5IlgNb3nCx+0j+NBCWMt+rUXFhhPQQpMJYMrN4nmax4D0UPTxD4X2YW/rWZpy0MBVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4883

On 23.08.2022 12:48, Andrew Cooper wrote:
> On 23/08/2022 10:27, Jan Beulich wrote:
>> On 23.08.2022 10:59, Andrew Cooper wrote:
>>> On 23/08/2022 07:42, Jan Beulich wrote:
>>>> exposed to PV domains.
>>>>
>>>> Considering that the size reported is that of the compacted save area,
>>>> I view Linux'es assumption as appropriate (short of the SDM properly
>>>> considering the case). Therefore we need to populate the field also when
>>>> only XSAVEC is supported for a guest.
>>> This is a mess.Â  The SDM is fairly clear (but only in Vol1) that this
>>> leaf is specific to XSAVES.
>> The way it's written my assumption is that they simply didn't care about
>> XSAVEC when writing this, or they were assuming that both features would
>> always be supported together (yet even if they are in Intel's hardware,
>> the architecture should spell out things as if both were entirely
>> independent, or it should specify that one takes the other as a prereq).
> 
> Real hardware has XSAVEC == XSAVES on Intel (Skylake) and AMD (Zen1).Â 
> Despite an attempt to separate the parts of the ISA, they are
> inextricably linked.
> 
> It is only under virt that we get XSAVEC without XSAVES.
> 
>>>> Fixes: 460b9a4b3630 ("x86/xsaves: enable xsaves/xrstors for hvm guest")
>>>> Fixes: 8d050ed1097c ("x86: don't expose XSAVES capability to PV guests")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> CC Marek.Â  Looks like Jan has found the issue you reported on IRC.
>>>
>>> Jan: Be aware that I submitted
>>> https://lore.kernel.org/lkml/20220810221909.12768-1-andrew.cooper3@citrix.com/
>>> to Linux to correct some of the diagnostics.
>>>> --- a/xen/arch/x86/cpuid.c
>>>> +++ b/xen/arch/x86/cpuid.c
>>>> @@ -1142,7 +1142,7 @@ void guest_cpuid(const struct vcpu *v, u
>>>>          switch ( subleaf )
>>>>          {
>>>>          case 1:
>>>> -            if ( p->xstate.xsaves )
>>>> +            if ( p->xstate.xsavec || p->xstate.xsaves )
>>> If we're doing this, then it wants to be xsavec only, with the comment
>>> being extended to explain why.
>> Why would that be? Both insns use compacted format, and neither is
>> dependent upon the other in terms of being supported. IOW XSAVES alone
>> and XSAVEC alone enabled for a domain should still lead through this
>> path.
> 
> Hmm.Â  Because my fixes to compaction handling haven't been committed
> yet, and in particular one the one which makes XSAVES strictly depend on
> XSAVEC.
> 
> In which case this hunk is correct for Xen as it currently is, and will
> be need to be adjusted when I rebase the compaction series.

May I translate this to an Ack then? Iirc there were no other change
requests.

>>> But this is going to further complicate my several-year-old series
>>> trying to get Xen's XSTATE handling into a position where we can start
>>> to offer supervisor states.
>> Where do you see further complication? The necessary fiddling with XSS
>> here would of course be dependent upon p->xstate.xsaves alone (or,
>> maybe better, on the set of enabled features in XSS being non-empty),
>> but that's simply another (inner) if().
>>
>> As an aside, I actually wonder what use the supplied size is to user
>> mode code when any XSS-controlled feature is enabled: They'd allocate
>> a needlessly large block of memory, as they would only be able to use
>> XSAVEC.
> 
> This field is an already known kernel=>user infoleak.Â  There are threads
> about it on LKML.
> 
> But it does highlight another problem.Â  This change does not fix Linux
> on AMD Zen3 hardware, where the kernel will find the CPUID value larger
> than it can calculate the size to be, because Xen's use of CET-SS will
> show up in the CPUID value.
> 
> Linux needs an adjustment from != to <= for this check.

I was wondering about that too, but if I'm not mistaken the change you
suggest is the opposite of what would be apparently safe there (against
overrunning buffers). Hence it may take more than just the comparison
type to be modified.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 12:33:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 12:33:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391950.630003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQT5t-0002zt-8c; Tue, 23 Aug 2022 12:33:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391950.630003; Tue, 23 Aug 2022 12:33:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQT5t-0002zm-5t; Tue, 23 Aug 2022 12:33:21 +0000
Received: by outflank-mailman (input) for mailman id 391950;
 Tue, 23 Aug 2022 12:33:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQT5r-0002zg-Uw
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 12:33:19 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50072.outbound.protection.outlook.com [40.107.5.72])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c46209da-22df-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 14:33:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7443.eurprd04.prod.outlook.com (2603:10a6:20b:1d6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Tue, 23 Aug
 2022 12:33:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 12:33:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c46209da-22df-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kL2lGsHljRNqlNGu6+9qbZJAIOY4Msc0qsZa5x1rfs1OcHBIEyV/VGPapVg99G+Ejo5kuyW8Q/MMZzaThT+0jmN9ZBj7PdhQPvT17wjZqAPnok+Qg9+5fGL5eUCunKCPw/AtpK5dPJuPMkJ4DmdppRBdxfRZukl4214B7+P/5YzRSA5hyyufNNXlFy4nZ+mK00rBjoK3Ykt0CrFQZxDmsHf2JuoseHuVYKbd8gVDJvme30TdSbbCK5r7OIOdbB/OhGmtiqyRdWJtvhDk6hzOLrikJYTERYYieVEUk4aPRiEcgC39ps5/9+VU6gmb0ADCdqiiIFJOgajIKI023nl5gQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1ZC21d2UKwl60HwtjYbvxIJEqLnRq62qF2C6F92afBw=;
 b=ScLfTvcNb0tz4jPRdUTRepWfQCjJgogLUHx3MmMM0JrBM2tzxJO/5YBhFNaiFAv2Xa0h/8/q75eTClI+E1yTVQNIIOi2D29MGTzbfu0rycP+PfRnk/1GCYjXhcrvjcWEZ4U8s3Dhz5FRNlSpDDtKzF2LoScMGVNKLRYYnvkHniCzEfvIz3UQov40B28gLhcd8nbr1NuuHolPZcngW9Hw59lZfEo9clw2KaolLqZ+EMnU9c9CEEVXNXHjubTwBwElkIz3FuIiLffJVNat4CfWYix3SOYEDkeAlVjsWLy4qSrgovRUvRWa4xv1dW4DqozrJEShpuogwQDl8pG6ZKELeA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1ZC21d2UKwl60HwtjYbvxIJEqLnRq62qF2C6F92afBw=;
 b=dj7g1Z44YVKxU1B5IS4LzwQTTwiNSc7c2u8admC7YpVkaFDP76Xab8p82uADplz+yuwhkL0ozq5mhFBS8iKBGCBymKFhjQPGsZun30CicGofxsXoNjdlLHaNYJj3m83HbJ8GGfNs6vI9bvbjv83urqFMQXwINWwoFBPbRhPI0H/fuY9PxiALUQxKNaywvPNDIZ1V3OkMXbxUf+HaZYemXKG4XxNYMsDhz4tN72hFUD2sJ8u2Jxi3Xy1IRcS5xuJS/MuUjDPyRDPAVlbF1khVp34uvaVI9wkBQYvgwDKZ5K3KiPciKt/tvhtG89W/jJU8sdZ9OPM4UnGE5+BwYu1q3w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
Date: Tue, 23 Aug 2022 14:33:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: sstabellini@kernel.org, julien@xen.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9aaa2bf1-a434-467f-b7e1-08da8503a799
X-MS-TrafficTypeDiagnostic: AM8PR04MB7443:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m5PmOBo+WkzO5iK3WODznPK8srL0ww+QRok+91eKiwNuoBBwBMGKCSDVuK9cLnzFC1YHXIfBPR9Ki8/2YUpCEiU+4QCOdsvZz4m+HaB4DHpeI8WOqUNhLlKQzpPjW3dzlg3OK58BGSYRWwEPgVmlbIYrUQseGs1uafS5xMLQ/Wawp9Zb1UBl6vx0fal/v6ikphEolLinRfhe2V7wXNl5FTKtAypvua9G20zVKVlFAiCTiXXCWysZSD9Z12E5fCBNvT6qg7qMbChbGY84GRROZyfKTNS6Vom6u/ZeQqk0We55AdoRpb8TxgBa2HnOV/sXIPncQidz/skovvF4osI1lUk49zxe2BPQVoSFCCmvnwnAQUc3IOewU0C8Ypl8IDvb2D9lM3VGLQleOaA40Uqil3zDtq9Rix7wU2wZ6lG8gPwDHluditLUWlMr0m8kuVyT/StydYqiz8UYXi+izhaJi0JH2eUhK2zV0JfRzJQKfYC8B/Sc9XybyeLC4bgEuyiZ19zPZ8bSKvheRksGl7VmbjEfyVFaqCYCfYsobk1mrsu+8sOpRnMBjMKFVyt7rV7etGow/Qp4N/6xiTKUp7X9AjilhQ2InpgpMwdtT8sWCUx25Pm4uq6JFGIavW0wjOESrXZVf7QG6DyRTUENLSrF5vypJv0C1/0MloV7zkD3b0tz34tHbn9hXdy9b4C7GKAlqL22D43DDZX77h93hAfSKuCsnHyxzVpftlqRSDy76t29RhlWlicF1wqhkMwwyiatL4EWAnX19OybaC0h5DxRwkaxQp5+6Ifv1u+3Ja4uaac=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(39860400002)(376002)(366004)(396003)(136003)(2616005)(86362001)(31696002)(186003)(83380400001)(4326008)(31686004)(38100700002)(66476007)(66946007)(8676002)(66556008)(316002)(6916009)(36756003)(8936002)(5660300002)(54906003)(2906002)(41300700001)(53546011)(6506007)(6512007)(26005)(6486002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TVFDbng1bjlIbEkvQmc5TWlkMmdKYnBzYVcweXZTSWVScGl0M2g4eFFRb3NW?=
 =?utf-8?B?NjdWNXFHKzlWMFJ4S240V2wyZk9OdjNBN2tVYWJ0NDZDQ2dadWhGUEVLWHpK?=
 =?utf-8?B?VHlha1I1dDVFTjVMWVBUVDlJZTNkZEdKbGNmTVN4d3owZDBrWHpTdUxFQXlr?=
 =?utf-8?B?NUNrd2pQK0RoWmhCTnR4c2Vma1NiM1dTQi9NQ1hGSFczS2xKMXVPc1Q5RDBD?=
 =?utf-8?B?aEI3MkpCdytaUVJwZTd6WWl3eG1GdG1JOGJaQ1lLQktsempSVzA1T2t2dXVk?=
 =?utf-8?B?YnV1VUk2UHBjcGZ1T0dYTStiemwzZTR1bHB0RGg5N2pZMUNIbTlYc0dBT1U2?=
 =?utf-8?B?RmQ2bi9BTm1HRHBTTXpIQnVNL3BrdzRUNlNuQVNQcDNqaXA0TVVtWXNkeUI4?=
 =?utf-8?B?UEZKV09PK05uMCtFeVJQeUdxYk9YdVVpUk9zLzdWRVZaTE9GazQrUHlUcUN6?=
 =?utf-8?B?U2NhYWtZeXI3TEdmQyt5VEJpeVpXVjRmeStUeTBZUU9FajEzczR1S1BqaTc3?=
 =?utf-8?B?OWJxTFprMC8yU2cvMHZsOHRXVVdDWG5vczBsSTlSbzBoSzZsZWNjeUE5Lytn?=
 =?utf-8?B?VDc1MGpuRXdXMC9IQkVOMWZqMUNSREpHandPOHNyTEUxNkhLM1AySW9FQzFX?=
 =?utf-8?B?eE1TT1ZqQUdRSUo2aGVOc0R4YVJZSGgwQ01hOTE1U1E0VVhjRkQyVm01Z3RU?=
 =?utf-8?B?eG5zOE5kb212cGk2d2VvRThJQ3NLNkhZTk5nOVM1U01yVkZCNTN4aUVSOG4w?=
 =?utf-8?B?Rm9vN2hxVnc3c1VxZkx4aXh1cEplaXlVc01ZN3RRYjZnN1ErdVRvT1AvNldD?=
 =?utf-8?B?UFlTYlFudlpqd2xlakJtSnBHRkdMbFdUWi9PTE94Q1N5S3p0NG4rc3BQY3Q5?=
 =?utf-8?B?dnd0blNCdTIrenJrVGFnL0h1RS9Hd1A5dFdPSWcxRGtNL0hLSEN1dEk4b1BH?=
 =?utf-8?B?Yko0aU1hUlhPZXRTZkxCYjF5SVJLWlN2ZERucDA3Yktnem9QbkxJOWNqYlo4?=
 =?utf-8?B?em40SXJORHF1UFR6WGd1aGxHRHpWM0I5U3B6TkxLQWtPNENGcFZ1NjBzSEVC?=
 =?utf-8?B?ZGp3ZWdJYkRVMlo4aTl1U3ZReWpMaGFma01kWDhwYUtZZGZ5ZzRDYUZPZi94?=
 =?utf-8?B?RTFWdXRqS1pmdmpXT0tvZWxCanlrV1RQanV6V09LNDZFYzVLK29lTmVkT3Zy?=
 =?utf-8?B?cXlQL1ZYelNBUW81YUtWUmQ5WGc3VVFNOHVtck9YUU1wMk1iaCsxZkNNL0lN?=
 =?utf-8?B?S3g4dmMzSVkrWnVPSmEzeHNLbjR0cVJrZCtQb0M3V05JbEJxSXM2RVVnZWgw?=
 =?utf-8?B?OEZnOG1JM2Y1RTRsKzUxUXZJd2EzdllmcDloR0dXQWhheWZmaFVndG4wUXNk?=
 =?utf-8?B?cnUzekJBTjBydGZBYm1YVHUxb3F4aitscXBpeTZpbVJpZFNSZkFNWlo3MWRY?=
 =?utf-8?B?VTVjSjgzaWIraHBCalI3d3ZxYUd1V1BRdE5sS2FKVE4vaVZMUENqTGZkTDBQ?=
 =?utf-8?B?OEtTaXQ5ZSs5VFIwY01LM2cybWdIQXZsbXVxdEJHMU44SDY4RHdWdk1vLzA2?=
 =?utf-8?B?UkExaUxOYkhYWkhuR1BLNCtaQ2FMbVJqTGpKWFgzY251NXdWQXU3Y21PaFFv?=
 =?utf-8?B?d2pOSnpBckpYUHN4ZW1RUk1XeURscVVTZGRYWisrc2grOEdYNVJ2M1g2bG5Q?=
 =?utf-8?B?bWZpU3N2elloOWZ5OXRDbzlxZlNEeTV1KzZWMHlJd1B5bEM5OWVMZ0pxNkU3?=
 =?utf-8?B?UVlwWFBEeWF3aDBtTytrMGVuMDVKT2hwUDhUN0d3cUxTbmlsVjA1MTJjSmNv?=
 =?utf-8?B?QkpqY1NKQ2ZBK2l3d2kzR0pDSTlpeVcvenZTTHlFMTNEVklNS0U4a05oS0kr?=
 =?utf-8?B?VDdFandVayt5TjgweFF3RHhTSFNSV3h0U2xoQVhTeWtXQ3l5b0wzRjZHb1NZ?=
 =?utf-8?B?TG50dW5DTXFvdnRjQWFmbTVJRTF2SXA3V3N5a252WmtBL3o4d1FjZThqVStG?=
 =?utf-8?B?M3MyQTZrSE53aWxrQlRzVmE3QmJMMFFQRnozRkZtVHNYT2NwSzdaREpxT2d2?=
 =?utf-8?B?K1FReldlQ2VXeTdtSm9TVi9HaDlqREpWRW1RRUo3VzlMVkRqMG1VM1JzQ2tY?=
 =?utf-8?Q?rVvUEHhwzcGDPxIB2sLfq7gA0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9aaa2bf1-a434-467f-b7e1-08da8503a799
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 12:33:17.0549
 (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: 7Dl6nMNKzBGTtuoksKcvfo+1GUetPatc5bQcPvygWOVS7EiSZ2d0rcE3UzKaxMxLT1liO/EDGz7qdJ05+DMfLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7443

On 23.08.2022 12:24, Bertrand Marquis wrote:
> --- a/tools/libacpi/mk_dsdt.c
> +++ b/tools/libacpi/mk_dsdt.c
> @@ -18,6 +18,16 @@
>  #include <stdlib.h>
>  #include <stdbool.h>
>  #if defined(CONFIG_X86)
> +/*
> + * When building on non x86 host, arch-x86/xen.h will include xen.h which will
> + * try to include the arch xen.h (for example if built on arm, x86/xen.h will
> + * include xen.h which will include arch-arm.h).
> + * To prevent this effect, define x86 to have the proper sub arch included when
> + * the compiler does not define it.
> + */
> +#if !(defined(__i386__) || defined(__x86_64__))
> +#define __x86_64__
> +#endif

Besides being confusing this depends on the order of checks in xen.h.

>  #include <xen/arch-x86/xen.h>
>  #include <xen/hvm/hvm_info_table.h>
>  #elif defined(CONFIG_ARM_64)

At the very least you will want to #undef the auxiliary define as soon
as practically possible.

But I think a different solution will want finding. Did you check what
the #include is needed for, really? I've glanced through the file
without being able to spot anything ... After all this is a build tool,
which generally can't correctly use many of the things declared in the
header.

> diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
> index 58a1e87ee971..ea33a56eb6a0 100644
> --- a/xen/include/public/arch-x86/xen.h
> +++ b/xen/include/public/arch-x86/xen.h
> @@ -24,6 +24,7 @@
>   * Copyright (c) 2004-2006, K A Fraser
>   */
>  
> +/* TODO: when cross building, this will include the wrong arch header */
>  #include "../xen.h"

I'm firmly against adding such a comment in a public header, the more
that it's misleading: Cross-building of Xen, for example, works quite
fine. The issue is limited to HOSTCC != CC (or yet more precisely the
target architecture of each), afaict.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 12:49:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 12:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391957.630015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQTL0-0004dc-J2; Tue, 23 Aug 2022 12:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391957.630015; Tue, 23 Aug 2022 12:48:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQTL0-0004dV-G9; Tue, 23 Aug 2022 12:48:58 +0000
Received: by outflank-mailman (input) for mailman id 391957;
 Tue, 23 Aug 2022 12:48:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQTKz-0004dP-P4
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 12:48:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQTKq-00032z-8Y; Tue, 23 Aug 2022 12:48:48 +0000
Received: from [54.239.6.189] (helo=[192.168.28.231])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQTKp-0008DU-VS; Tue, 23 Aug 2022 12:48:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=8trgNXR1w7bekheGOTWkEciJaaT3n6KZjEFCN24DnQU=; b=gCBE+OmtBqZNfwz7DcCFkKdR9Q
	TZw8q5XK7ter6b844hbV9CW7Pq74Bb+bS2phdnap3i5FhN9j8aV7M9FNL8ogGVKGQOHyW8fIfW0/b
	/Bj6NzlNrC4mdb9CtVfkUASP7ienBSvg92lyTL1iv7gOzWL/fzfsDkQZ3SgHb+GFEKa4=;
Message-ID: <caeb00e7-6239-1d9d-ae78-008830562239@xen.org>
Date: Tue, 23 Aug 2022 13:48:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Rahul Singh <Rahul.Singh@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
 <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
 <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
 <f8a3f7d6-1db9-cc74-5d60-8a0e22b80a3d@suse.com>
 <6A4EBDE0-60A0-46B9-A9BA-C689B9F8F129@arm.com>
 <fdfe8a77-34a3-252f-6aab-1850cc30c7a3@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <fdfe8a77-34a3-252f-6aab-1850cc30c7a3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 23/08/2022 12:35, Jan Beulich wrote:
> On 23.08.2022 12:39, Rahul Singh wrote:
>> Hi Jan,
>>
>>> On 23 Aug 2022, at 9:29 am, Jan Beulich <jbeulich@suse.com> wrote:
>>>
>>> On 23.08.2022 09:56, Julien Grall wrote:
>>>> On 22/08/2022 14:49, Jan Beulich wrote:
>>>>> On 19.08.2022 12:02, Rahul Singh wrote:
>>>>>> --- a/xen/arch/arm/domain_build.c
>>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>>>>>>           struct xen_domctl_createdomain d_cfg = {
>>>>>>               .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>>>>>               .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>>>>> -            .max_evtchn_port = -1,
>>>>>> +            .max_evtchn_port = MAX_EVTCHNS_PORT,
>>>>>>               .max_grant_frames = -1,
>>>>>>               .max_maptrack_frames = -1,
>>>>>>               .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>>>>>> --- a/xen/include/xen/sched.h
>>>>>> +++ b/xen/include/xen/sched.h
>>>>>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>>>>>>   /* Maximum number of event channels for any ABI. */
>>>>>>   #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHANNELS)
>>>>>>
>>>>>> +/* Maximum number of event channels supported for domUs. */
>>>>>> +#define MAX_EVTCHNS_PORT 4096
>>>>>
>>>>> I'm afraid the variable name doesn't express its purpose, and the
>>>>> comment also claims wider applicability than is actually the case.
>>>>> It's also not clear whether the constant really needs to live in
>>>>> the already heavily overloaded xen/sched.h.
>>>>
>>>> IMHO, I think the value would be better hardcoded with an explanation on
>>>> top how we chose the default value.
>>>
>>> Indeed that might be best, at least as long as no 2nd party appears.
>>> What I was actually considering a valid reason for having a constant
>>> in a header was the case of other arches also wanting to support
>>> dom0less, at which point they likely ought to use the same value
>>> without needing to duplicate any commentary or alike.
>>
>>
>> If everyone is  okay I will modify the patch as below:
> 
> Well, I'm not an Arm maintainer, so my view might not matter, but
> if this was a change to code I was a maintainer for, I'd object.
> You enforce a limit here which you can't know whether it might
> cause issues to anyone.

I understand the theory and in general I am not in favor of restricting 
a limit without any data. However, here, I think we have all the data 
necessary that would justify the limit.

In order to use event channels, a guest needs to know which PPI is used 
to notify the guest.

Until recently, we didn't expose the node to dom0less domUs (this was 
introduced when adding support for PV devices). So a guest couldn't 
discover that event channels are used. That said, if the guest figured 
out the PPI (the value can be guessed) then it could potentially use the 
event channels.

However, for Xen on Arm, we are not supporting any guest that don't use 
the firmware tables (e.g. device tree/ACPI). So for such use case, I 
don't care if it breaks because they are relying on unstable information.

What I care about is any user that follow the rules. We only started to 
advertise Xen via Device-Tree to dom0less domUs after 4.16. So I think 
this is fine to restrict the limit now because we haven't released 4.17 yet.

Regarding the default limit, I think it is better to stay consistent 
with libxl and also use 1023. If an admin wants more event channels, 
then we could introduce per-domain property to overwrite the default.

It should not be too difficult to add, but I don't think this is a must.
So I will let Rahul to decide whether he has time to add it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 13:20:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 13:20:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391964.630025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQTpI-0000mv-3I; Tue, 23 Aug 2022 13:20:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391964.630025; Tue, 23 Aug 2022 13:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQTpI-0000mo-0a; Tue, 23 Aug 2022 13:20:16 +0000
Received: by outflank-mailman (input) for mailman id 391964;
 Tue, 23 Aug 2022 13:20:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQTpG-0000mO-DZ; Tue, 23 Aug 2022 13:20:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQTpG-0003bo-7a; Tue, 23 Aug 2022 13:20:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQTpF-0004ev-Kv; Tue, 23 Aug 2022 13:20:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQTpF-0005mj-KM; Tue, 23 Aug 2022 13:20:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VJguqjcqN0rRcc2o0yeimZTKjg6/g7M57xkvqMN36Wg=; b=iCqam+BefIVT7r83Bg/zmKkzVD
	MM74LICqob/qLIH6m47h7vq2lYPrYU226d4TEKAE03PswUH189Z5GNxEBMLjZHfEEil27XIWYbWdY
	reHU1z0QlESDkc1jyZm9tFpzld9K/ssdOrDeE6n8r/bEqBBzg8YukvA4BmBH+YFk5MNs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172720-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172720: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=696ee5ca9f4e2256e76056cf72a72001a9748f4c
X-Osstest-Versions-That:
    xen=f6cd15188e097de1eb04855eb790a5f51c3ad71a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 13:20:13 +0000

flight 172720 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172720/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172698
 build-i386-libvirt            6 libvirt-build                fail  like 172698
 build-arm64-libvirt           6 libvirt-build                fail  like 172698
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172698
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172698
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172698
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172698
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172698
 build-armhf-libvirt           6 libvirt-build                fail  like 172698
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172698
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172698
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172698
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172698
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  696ee5ca9f4e2256e76056cf72a72001a9748f4c
baseline version:
 xen                  f6cd15188e097de1eb04855eb790a5f51c3ad71a

Last test of basis   172698  2022-08-22 01:53:34 Z    1 days
Failing since        172709  2022-08-22 13:09:50 Z    1 days    2 attempts
Testing same since   172720  2022-08-23 00:37:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f6cd15188e..696ee5ca9f  696ee5ca9f4e2256e76056cf72a72001a9748f4c -> master


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 13:34:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 13:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391981.630068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQU3Q-0002nO-P3; Tue, 23 Aug 2022 13:34:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391981.630068; Tue, 23 Aug 2022 13:34:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQU3Q-0002nH-MO; Tue, 23 Aug 2022 13:34:52 +0000
Received: by outflank-mailman (input) for mailman id 391981;
 Tue, 23 Aug 2022 13:34:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jact=Y3=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQU3O-0002nB-TC
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 13:34:51 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50089.outbound.protection.outlook.com [40.107.5.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b790120-22e8-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 15:34:48 +0200 (CEST)
Received: from AM6PR04CA0016.eurprd04.prod.outlook.com (2603:10a6:20b:92::29)
 by DB6PR0802MB2136.eurprd08.prod.outlook.com (2603:10a6:4:81::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 13:34:45 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:92:cafe::e9) by AM6PR04CA0016.outlook.office365.com
 (2603:10a6:20b:92::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22 via Frontend
 Transport; Tue, 23 Aug 2022 13:34:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 13:34:44 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Tue, 23 Aug 2022 13:34:44 +0000
Received: from 3d0aa3844f44.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 23AD3719-3788-4790-831E-4D88AFB5E250.1; 
 Tue, 23 Aug 2022 13:34:38 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3d0aa3844f44.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 13:34:38 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS2PR08MB8624.eurprd08.prod.outlook.com (2603:10a6:20b:55f::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17; Tue, 23 Aug
 2022 13:34:37 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 13:34:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b790120-22e8-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=VhpuraMqSqYngy8aXLgezYUbr8FTHgSWkTQotfJKCnVXegkme78CPDUi1HdJgonikDr3tXVt1qeofJRjQKCsY7p9WfwLU39IU9wWNMCU2V2R8XBMX+0RNGoDxWmSfX/79FTrK1tlBq1yFXzgrzC7Ec8kpA7sKDsPFSwrz58bPy+imFoYArqGEJc1chA4DVtV1f8IY1Izjq8uChqCxdMhK00Nj6Iqb7FqoyiuX2WI6eX2ga/tuD2D4CzqKSYPlWzb+c/FKNAXUWWMQZ7U8xzYg0D6kAWpk63YPSAFWZ0TPjT9GosUP7gpfvmcBwx7RLObkBkUu3RHS4TWJPOTSdB/lw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eFBZ0IOw7pMG0BEjKGmnUJc4rmcRLVDNQdlp8n1L2jE=;
 b=NwBe7F1+x/3DgcdXInT2yDgusZf8/lkZWqmfw0nVdciVPn+NR5gpHw5eiXY5C/ApltN+df7TcgWdizIMbao6h6kJgqnxSVWeWGNij4esUIQEofoEn8ZIkoguDwl5hcHQlGk+ZTPgUshay/hBzk2qar8bCCpw3Um45/uuw6jaWW+5tQltPJ44cum5nF2W6uPmKyQHjqKFfbFis8cteo26knBovykBfYqPGombZ+Tc5Pd8zbmDMpsRI5kkjY7kT2LmhaN/kTjJfJ5iAMUMEbZTl8+LF5Tve66UVZ8IDM4py+WS5NY1ymW/6UnQiukMHS92XjxHLRqS6xPPWKLp4LZExQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eFBZ0IOw7pMG0BEjKGmnUJc4rmcRLVDNQdlp8n1L2jE=;
 b=GpQuoIOCO+dO4NW2luunuBDrG2p0PMqI/G64WrEZUUuPrqTrevPuCGg4D/gjnUzZPzTf3NHBpv4ultBC215dPUiZKMk4rxEgDdj4Gqy5jkelTBLg1jcKUQw4uuzUiLgWwXtM2Vv7uZ70QgyBxrGBlfZzPIfQ8JiUSgSIgSm+WLs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 75c4409f1c0f1da8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YSkDCpxWV34C+1OqDMqANtvRQVuaki35YGJ1AXoptILUzKuqm15mUOY6J7ASWhGeJtX41d/baokoEZx9VauDM7IKIDz7hY0p4ZpMGgMYC899xp0hpw32WOvKs6IxpWcYzrMGHc1P6JcagYR+b7/z37xCvp7ek/sOHyQOJcbPHjzT+K/YoAHPV4R2mZ5BDPTBlXuDAZZ/r6Q3ugTv9sKbmfWetjkyTmb0/Oup2Z0UjM8bfT9a1s0NYfChlBJV2S9P8RRCpABN37gJPpnbOIsbBCah/ARnL8C10a+csq6AwRByzMLmeF8hsniMI2+jnba63tM/r7e3un6bCxQJKz1Gaw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eFBZ0IOw7pMG0BEjKGmnUJc4rmcRLVDNQdlp8n1L2jE=;
 b=loVghY10X9jadkSL3Jmva4I17czCowqMrrUOcOc1qoPL6F9lN3licnRzyFA5HpxuK4WvsOOT8v5Byp5m59yHQpG+v4mkUGhUZOFEc1KeDesONAGOp3CodlBfkxiVFXcn72dqzfrregnAWo4p9z9nSvOakplmOAl2VORUARcU7ro2GsLDL0ZaTU1RcwZ0yIYR4aw94IaWRunLNh905xuwenw4hnFOYDvHg2lXXF99SAhV3jwoZEfGkjWSLVPbrcd2cc+Te4e4K/Q7xEwRzMFshtgZ/6VeAUM0t+8gzvqf80Oy8MYzWM3D6ft2O6R/+ZJxoiWCob+wcO/UXr229j6Myg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eFBZ0IOw7pMG0BEjKGmnUJc4rmcRLVDNQdlp8n1L2jE=;
 b=GpQuoIOCO+dO4NW2luunuBDrG2p0PMqI/G64WrEZUUuPrqTrevPuCGg4D/gjnUzZPzTf3NHBpv4ultBC215dPUiZKMk4rxEgDdj4Gqy5jkelTBLg1jcKUQw4uuzUiLgWwXtM2Vv7uZ70QgyBxrGBlfZzPIfQ8JiUSgSIgSm+WLs=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Topic: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Index: AQHYttqU3r7Sk/IKHkKroerrTRS8F628a1KAgAARJAA=
Date: Tue, 23 Aug 2022 13:34:36 +0000
Message-ID: <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
References:
 <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
In-Reply-To: <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 3331a86a-ac96-4014-dc08-08da850c3dcd
x-ms-traffictypediagnostic:
	AS2PR08MB8624:EE_|VE1EUR03FT044:EE_|DB6PR0802MB2136:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 SwJxpYyAyaiVYNCusQnK3kEp+z/Ocd2ngAw5ySd3sSCWVfB2phQSyYJdEWvX+BxyuWpUQ7Wy/AwApJx67moKC0jjcNhjTTcJF6QTxK/FcsAh71rS38AffbOfm/mHMuopnYVsnilyYgRVheUL5y+SbkNRAZ4EckmnsE2c2Ze+9Da4xYgjRe+Q3zVSzcTxp6XAfyQI3kSATTwgT6sZTvMx5kMb/eHfxIGYlf29Q9EgNUx4zLXF6L4bt47xQGMPIbe4cpqDj5M3zWi3+eUrodkZOnq33mZkwKd9W78GRKty3UoRzpjlnmNLPSPjuzNvITHSEfe+9yJAg7AUepRhK283IWbob8IyoNCqLjaOaoZgAeI4tJus5TfzoUM7Ew3kOMJgklOxSlFgCnKYnNhaLBOU6Q8K4r9lk5YYfXuVSvWSCvzYqbPOz1qKPIylpLVQtorBMPUYkqnP6xUqH2sf+unvy90sLSdxGBr5mBc+6cR6E9wFYO8iiC4WhEpKB/TWuCFYrJ6NrgY0/t/bzU/UAzwQwWtZhCe7Er5yFZLPAU+GkcumItfQopyWkn7syX50g+bHEwAQ8sZts1ILKt6rqj06kR9+OuDlY0CllereWeR6Zd2Vb+GGYsA+6UFYg7uHDHliIGOjzXbXf41kBLzY3Ryl6jMbqNOl80yszCQ7ZYeYfoNukRDxUFCQqIt5zZdlsN5LY/8X6YIaGG3Jnp5xG40q51J0MsxjlJep6FbbuSjbjsh0wamk48pN0PqKg9GqwWZBOwimkwUAY0J8wy0sl0PG5mO/GXn0Lp0Xeap2hwQDMRY=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(136003)(346002)(376002)(396003)(38070700005)(53546011)(6506007)(86362001)(33656002)(36756003)(6512007)(83380400001)(26005)(2616005)(6486002)(71200400001)(41300700001)(186003)(478600001)(66476007)(316002)(91956017)(4326008)(8676002)(6916009)(76116006)(66446008)(54906003)(66556008)(66946007)(38100700002)(64756008)(5660300002)(8936002)(122000001)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <0CF51419A665D546A2A1C7C4424AFDC6@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8624
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	533f18b5-47eb-41c1-8880-08da850c3912
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MOnXJ26sOAaC7Ec5DfOAaq+pmNmJKo2gPVuTDtenMrL+pix9tcSrmrjp6swINnyREabhiojd8ebuuicHrF8v/OwMHtWpTZ4nwDXRu4wGLd5vcC4SeLXlKFIBpQMPX0VI82aX2b78dRw975k0IXerNamidpGGuQhr2sMKLIKy9DpEHdYAg7UWQD2iT7bfNBXcr8cFVo960RxClg3Ms/XfArtlTV/tlPJ9Clb9MvLWkiQRtuY1IO9LRwSfIy28eOlBE3jY1hDi97K7OAlJTxXYfcaEgWYUadkwFl+KOFbPHjKWjuG+BCaAR3wF7d4AG2o861oIVnBFR8Jv9scn3TC7DhdVPKJeU9tDdyg1Qz/1lP3NYWct5ivV0uVoWKRX8ULQkEJRGkxRhTPavWt77VJUQ4SsGrcfTi/+H9aoHljZ7AfQ2JH9G7DeHkl0zGeWkO8dac8OXQsXFfCIBfqSEZFfUZ8dahmvyDxBI1Z7tWVupxbTMKrpkJ32612Qi95/5l9NWH+3lCbzHT+fZP7lEUle7boijYFBdlGxLgj0DUzuMAmo1atD2kgKM0euSFUxG9pa5jOSivlRnsxeP1KA7j+wSzgLeSVdx2RZM1Bz6y/R/zT6hC//GWLPOurwuaJT2DlnAjj/PFkt1+BlnBbDvtwHTbboq+0DCg3WSYfV2AnJ+Kgmrj5NkHCBDU7TcWCCgtSgF1C0im6uD8pxEoXt0dFVapZyC2dDJT4dtuvt8tkfdtzpNJKKPesBKZHIguqozkjaQVCAhbCsavNCjLco0ca17Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(346002)(39860400002)(396003)(46966006)(36840700001)(40470700004)(36860700001)(5660300002)(81166007)(70586007)(70206006)(8676002)(4326008)(2906002)(33656002)(40460700003)(6862004)(2616005)(26005)(8936002)(86362001)(356005)(82740400003)(47076005)(36756003)(186003)(336012)(6512007)(6506007)(53546011)(54906003)(40480700001)(82310400005)(478600001)(41300700001)(83380400001)(6486002)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 13:34:44.8412
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3331a86a-ac96-4014-dc08-08da850c3dcd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2136

Hi Jan,

> On 23 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 23.08.2022 12:24, Bertrand Marquis wrote:
>> --- a/tools/libacpi/mk_dsdt.c
>> +++ b/tools/libacpi/mk_dsdt.c
>> @@ -18,6 +18,16 @@
>> #include <stdlib.h>
>> #include <stdbool.h>
>> #if defined(CONFIG_X86)
>> +/*
>> + * When building on non x86 host, arch-x86/xen.h will include xen.h whi=
ch will
>> + * try to include the arch xen.h (for example if built on arm, x86/xen.=
h will
>> + * include xen.h which will include arch-arm.h).
>> + * To prevent this effect, define x86 to have the proper sub arch inclu=
ded when
>> + * the compiler does not define it.
>> + */
>> +#if !(defined(__i386__) || defined(__x86_64__))
>> +#define __x86_64__
>> +#endif
>=20
> Besides being confusing this depends on the order of checks in xen.h.
>=20
>> #include <xen/arch-x86/xen.h>
>> #include <xen/hvm/hvm_info_table.h>
>> #elif defined(CONFIG_ARM_64)
>=20
> At the very least you will want to #undef the auxiliary define as soon
> as practically possible.

Ack

>=20
> But I think a different solution will want finding. Did you check what
> the #include is needed for, really? I've glanced through the file
> without being able to spot anything ... After all this is a build tool,
> which generally can't correctly use many of the things declared in the
> header.

As stated in the comment after the commit message, this is not a good
solution but an hack.

Now I do not completely agree here, the tool is not really the problem
but the headers are. There is not such an issue on arm.

The tool needs at least:
HVM_MAX_VCPUS
XEN_ACPI_CPU_MAP
XEN_ACPI_CPU_MAP_LEN
XEN_ACPI_GPE0_CPUHP_BIT

Which are defined in arch-x86/xen.h and hvm_info_table.h.

I am not quite sure how to get those without the current include

>=20
>> diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch=
-x86/xen.h
>> index 58a1e87ee971..ea33a56eb6a0 100644
>> --- a/xen/include/public/arch-x86/xen.h
>> +++ b/xen/include/public/arch-x86/xen.h
>> @@ -24,6 +24,7 @@
>>  * Copyright (c) 2004-2006, K A Fraser
>>  */
>>=20
>> +/* TODO: when cross building, this will include the wrong arch header *=
/
>> #include "../xen.h"
>=20
> I'm firmly against adding such a comment in a public header, the more
> that it's misleading: Cross-building of Xen, for example, works quite
> fine. The issue is limited to HOSTCC !=3D CC (or yet more precisely the
> target architecture of each), afaict.

Point was the todo was more to show where the issue is coming from.
I am really ok to remove this.

Cheers
Bertrand

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 13:38:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 13:38:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391988.630080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQU6v-0003Tt-Em; Tue, 23 Aug 2022 13:38:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391988.630080; Tue, 23 Aug 2022 13:38:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQU6v-0003Tl-BA; Tue, 23 Aug 2022 13:38:29 +0000
Received: by outflank-mailman (input) for mailman id 391988;
 Tue, 23 Aug 2022 13:38:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxx3=Y3=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQU6u-0003Td-Gq
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 13:38:28 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2058.outbound.protection.outlook.com [40.107.104.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddc337f7-22e8-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 15:38:27 +0200 (CEST)
Received: from DB6P18901CA0002.EURP189.PROD.OUTLOOK.COM (2603:10a6:4:16::12)
 by DB6PR0802MB2581.eurprd08.prod.outlook.com (2603:10a6:4:a1::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 13:38:11 +0000
Received: from DBAEUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:16:cafe::9a) by DB6P18901CA0002.outlook.office365.com
 (2603:10a6:4:16::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17 via Frontend
 Transport; Tue, 23 Aug 2022 13:38:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT017.mail.protection.outlook.com (100.127.142.243) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 13:38:11 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 23 Aug 2022 13:38:11 +0000
Received: from ee344b846586.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AB26292D-CE20-4F76-A132-C5ED14EA5329.1; 
 Tue, 23 Aug 2022 13:38:01 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ee344b846586.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 13:38:01 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM6PR08MB4550.eurprd08.prod.outlook.com (2603:10a6:20b:71::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 13:37:54 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 13:37:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddc337f7-22e8-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=g/mYTfwnyG3Myi76WbOAV/O4ewHwS18BxLpmQP9wReuHSaXFHqNQi2bvxWWRsD2DzJiALWOpg8ObnYX14fV0g5W3EwpXLf3V8ebXd4ZwDxiQMDOSR/MoEYchAhauwxlCSsV8orI7x1zYae3QAeVezk3/v4KlpI+jzAAT0+2ykclQEygfrOIT1leClBHsSOVGmxTHhHDIJDbwMAFTY1DScEmM7PEfdUCyirht84V5+h9u5A9Zh4KLQv7sgVjMchjxsccgIB4yqDMkeHBs/TNjwQGAVfM7ATGzvGjYaQoPk+WDtp2CMvlwcO8wdMzhOwV/NYO3uXO/NHHm/gd5cqpvRA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r6iR3S46dWIUjSMBrPPm3OsX7PDxF1r1RXfppAAM7wI=;
 b=HAawhK/imx6EiKcAg7XIRopRnaVoV7qE/XQShZGA+IWoX8xyG++9/+9TbiLsMI7PKkeJQn2Y1dYMc/e/ayxQUHdH02E9FLEWkFukPC3WFmdi7+4SEBffk9sSIDQcbH5w7ktKpkO4mekPYA63hksM0sxOOFZpuYU3kUvZ9OfHO+gfrYnsK5e4uCHX3jgEmubj+BKavDrkcucNxlEp4UCnBds80eJuiTCzzMjYGTaBatrrwdETX4VlWJVSTcfr5XSEqRrEGEi/nvsR/41EfA59bMOpyL19sITSfPWlWrtFxIJWfR1lxDUCR1cILRXNCy2Hh0om3s2dffj4G45PzTWFUA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r6iR3S46dWIUjSMBrPPm3OsX7PDxF1r1RXfppAAM7wI=;
 b=dg3UGcdKlXCwlnetbT5uymlsSGaLPgvpWKDToZkF6106j/pZB6hNb9MY5MALHb5sgC/ELoy0rRujzfp+hPmJj8FGgym1LxcudzoAZ1hlHkVGdSBHrekBUPXjR8BN5OK1fRcfG0RQQhfXAtTqBarwMHM8S53ZR8CNsBUy8DcAkM0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 92d05b336f12ba28
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Wa2OagDb4oOsqvcoLjTyCI1rybCwlJWYA2lukZzfvm6AhaVOhbBBZnk5olBNIsTo52Bmc8dFNwV3Gh5YqsFUNYZ9s8hKHqedYN/eH5+JGt/fxIAFZG2JdxBMGN+RyXKbpuSJOUQoXULo6cufEV6BUyt83ejFuKl7/s4+vQPR5EumSQ7RaFJuZFB5+qF+5znUduhbWBtpn4YCdA9L7Q0WIkjwpXHMi79p+qOgQQeFueKA9s8WNeeZM5J4dld94etMfYErDTJTnCfIq1ZE06trPST6lWnPpG8jbZFpQ4FdqsERQa2s90+fwVBSleYconLmBTvuJMie3Y4dywsVc5Jg3Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r6iR3S46dWIUjSMBrPPm3OsX7PDxF1r1RXfppAAM7wI=;
 b=Xc/3AtYyA86VwGipgrUYE7oqqQUiwZpiZ3rc8RdCZHGszvU55+Q4r073Egr7J/luBZPfwSSqdXbyeH9oh0vH5d5UBvz4+EYRuVA2oT2aVSH+4QM+xwDiAvXWuEIKq7B3JQMVlapaTNvAJJ/0QQaC/Tb2B1CSmjNQ76Up2w5O+CfKd77qgLvXmWMPj0hIcuAnBEEo38AbfJhAmrDw1BWOpUK1ut+ZujMaqWhlYi7EDBgtTMGWENSsRI5cMBPQfhqxfDUatyi6bjaEwZoGBgz2Jl4d4v7kgsIQF0shYmZa5ubcL461lEbFdB+XoqvuBnFB49YCaQ0zGtAiszdC9cenIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r6iR3S46dWIUjSMBrPPm3OsX7PDxF1r1RXfppAAM7wI=;
 b=dg3UGcdKlXCwlnetbT5uymlsSGaLPgvpWKDToZkF6106j/pZB6hNb9MY5MALHb5sgC/ELoy0rRujzfp+hPmJj8FGgym1LxcudzoAZ1hlHkVGdSBHrekBUPXjR8BN5OK1fRcfG0RQQhfXAtTqBarwMHM8S53ZR8CNsBUy8DcAkM0=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Julien Grall
	<jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/7] xen/evtchn: Make sure all buckets below
 d->valid_evtchns are allocated
Thread-Topic: [PATCH v2 1/7] xen/evtchn: Make sure all buckets below
 d->valid_evtchns are allocated
Thread-Index: AQHYs7Lvc0AvEyJ80UCxAzG31ZD5Bq266TIAgAGaf4A=
Date: Tue, 23 Aug 2022 13:37:53 +0000
Message-ID: <ED867BB4-16AD-45CC-ACBC-B5656AB9DE87@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <710e9e6477270212136d6f2047fd15a033fa7d71.1660902588.git.rahul.singh@arm.com>
 <90ea98d7-58f1-4808-b691-c3a773a0476d@suse.com>
In-Reply-To: <90ea98d7-58f1-4808-b691-c3a773a0476d@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8863df61-2d94-4459-013e-08da850cb8e9
x-ms-traffictypediagnostic:
	AM6PR08MB4550:EE_|DBAEUR03FT017:EE_|DB6PR0802MB2581:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 neDtj7dA5M/dEM0h3yiQCO811bEBILKR/k7UGngEV476X4oXW4s+mukxYMxFMlZpAnkv/IvS/p+rnKkCzQnz3jklE04iN0TdLKG2OcJk8LXXfPlGoYgz1Cz/oXf1gOnINOngTwXmFnBcFHAgukI+cuZsTsIjg8RmQncVZvbXjzMiSpQK9lqgRhiW1HMTY+w8/YKsspImxZJkalqPFpFSHdo5A4vuoiZyCTHRPTz95oUuCVUm0aNBpsK4mkArbR9stDX6QPlxW92eaPtOmZR2SRUq90Eur9UQPlqX3j2kkBvwlt0OwnOCTu+Kq3p71m6p/5OW5W6aPWt1CdAtbVQUP/OWz/dEKJ4iymL1dwNixtFoS0e/kiEUOa15LBNHVGmvEsJf4zfTONuKd+LzoaTaTaopzULQS3yMp+nS7TR/qt5hy0kagu6+V8/XLAakU7kn8ecdAigArziLgUvVJzScDw1dPuLrq9Rz0DTNM/mEabzjtsebcgvWSbxBGu4E9VjHUt+KFdmBxYVbMckkcyzLSRkhHqUWF+5etooCLP6qtjIZnu9w+yzp0dE86V9i6BQ8JTyqV5ePfhtvitjgwfFhpV5UJe+fkJMVJDqkz6Jaj1WmDy4y0eaBmMdHpQ1hZUcDDEmk0vHzBqDPOeqZI7w3ZuNRw4LMXWEA7NM25LJE8fm+VUiPptBERo8N2LDRvMcMTrlD419jtGoJjJWPcuetUKdojrBlq2akRrHWHUbIwCSPh9YNo17FbgDrQVFWaNDR4B4FoQoq5HbVZLlJvWYvta+MvtQVdUSGrTXFJOZ7590=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(376002)(136003)(346002)(396003)(39860400002)(2906002)(36756003)(4326008)(5660300002)(8676002)(76116006)(66446008)(66556008)(91956017)(64756008)(66476007)(66946007)(316002)(33656002)(6506007)(6916009)(54906003)(41300700001)(71200400001)(53546011)(6486002)(478600001)(26005)(6512007)(38100700002)(38070700005)(186003)(86362001)(2616005)(122000001)(8936002)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5BE1D21E96AF6347A8391BE0A587743A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4550
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f581ed98-317e-408a-e2f5-08da850cae38
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B3xp4I25Bcli6g6K2KX7bJA3h+hskfxVCpl447FSpakgzMEsjorGjAjbHEuBSNeVT7XNV9ZHnBs/w8skZDg37QUhfm6flzubcbEJgntIsbSEHwxMJ1m/Klh9irZLW7rDjXpnawpqOe4BzTsY0ntgouHJgbkzNMIH4UJ04Efgsk44VUd211FelcKMo5Oe1dagRgQkHF5ez9haDbzHPw5j5ziB3D4wqSGBe3QX5nABqQ196A23TJu9BbQvax6CyqD0uwuF4dMfwK12bg2Qnlhp8pPQvbPtiBOvj6MZ+/JU0vDjLQS/YKIQYu79gnjKIQKlcgZ7gSi3oU5KHbLD6yzZcXQCYiDg6DDenIS8kFrlMtSFQfONDuaeVslDdtu0H6hihqc4M+kt3PPP9Gz0T2LTJp+12NgDy/jau8eNscJp41bwhg/NCesfIKE28Aa8OawL9UEcRF6YPb6JiJGUW+SmYTrM2NGTJdNIs1zMyRqFAIzZygGFB9kz4UHSTLGxAw6nYdvRGnPJ+61b+RXrEbdjrWVlA8fP5s4TzPdgbtOvGgvLOCpdZD1bnT0wl8h3Nj61qjw2c8cm+pShkcRM/HWqijxU1jmKLLAUmSlHA3NUct083wJTDDcRWlIJk9b7I5iHRz1urbeBhd4q3TweuSpZ4mxF0JxqYKtHRu5cDJtpaXb3eR2DOQ76CZg1A6g/SVS7pbGLg3G+40MTZ9C9A5S/hyfW+3/8KBVdBJ7CwjW/kqL19JIj+CzGTiPTYM2pS+B6mnMAR7O/8KqCpMQrWmaIig==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(346002)(376002)(46966006)(40470700004)(36840700001)(6506007)(36756003)(316002)(356005)(36860700001)(81166007)(8936002)(6862004)(54906003)(40480700001)(82310400005)(82740400003)(83380400001)(47076005)(6486002)(478600001)(70586007)(40460700003)(8676002)(4326008)(33656002)(186003)(5660300002)(70206006)(2906002)(53546011)(41300700001)(2616005)(336012)(86362001)(26005)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 13:38:11.4726
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8863df61-2d94-4459-013e-08da850cb8e9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2581

SGkgSmFuLg0KDQo+IE9uIDIyIEF1ZyAyMDIyLCBhdCAyOjA4IHBtLCBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMTkuMDguMjAyMiAxMjowMiwgUmFodWwg
U2luZ2ggd3JvdGU6DQo+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPg0K
Pj4gDQo+PiBTaW5jZSBjb21taXQgMDEyODBkYzE5Y2YzICJldnRjaG46IHNpbXBsaWZ5IHBvcnRf
aXNfdmFsaWQoKSIsIHRoZSBldmVudA0KPj4gY2hhbm5lbHMgY29kZSBhc3N1bWVzIHRoYXQgYWxs
IHRoZSBidWNrZXRzIGJlbG93IGQtPnZhbGlkX2V2dGNobnMgYXJlDQo+PiBhbHdheXMgYWxsb2Nh
dGVkLg0KPj4gDQo+PiBUaGlzIGFzc3VtcHRpb24gaG9sZCBpbiBtb3N0IG9mIHRoZSBzaXR1YXRp
b24gYmVjYXVzZSBhIGd1ZXN0IGlzIG5vdA0KPj4gYWxsb3dlZCB0byBjaG9zZSB0aGUgcG9ydC4g
SW5zdGVhZCwgaXQgd2lsbCBiZSB0aGUgZmlyc3QgZnJlZSBmcm9tIHBvcnQNCj4+IDAuDQo+PiAN
Cj4+IFdoZW4gdXNpbmcgR3Vlc3QgVHJhbnNwYXJlbnQgTWlncmF0aW9uIGFuZCBMaXZlVXBkYXRl
LCB3ZSB3aWxsIG9ubHkNCj4+IHByZXNlcnZlIHBvcnRzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiB1
c2UuIEFzIGEgZ3Vlc3QgY2FuIG9wZW4vY2xvc2UNCj4+IGV2ZW50IGNoYW5uZWxzLCB0aGlzIG1l
YW5zIHRoZSBwb3J0cyBtYXkgYmUgc3BhcnNlLg0KPj4gDQo+PiBUaGUgZXhpc3RpbmcgaW1wbGVt
ZW50YXRpb24gb2YgZXZ0Y2huX2FsbG9jYXRlX3BvcnQoKSBpcyBub3QgYWJsZSB0bw0KPj4gZGVh
bCB3aXRoIHN1Y2ggc2l0dWF0aW9uIGFuZCB3aWxsIGVuZCB1cCB0byBvdmVycmlkZSBidWNrZXQg
b3IvYW5kIGxlYXZlDQo+PiBzb21lIGJ1Y2tldCB1bmFsbG9jYXRlZC4gVGhlIGxhdHRlciB3aWxs
IHJlc3VsdCB0byBhIGRyb3BsZXQgY3Jhc2ggaWYNCj4+IHRoZSBldmVudCBjaGFubmVsIGJlbG9u
Z3MgdG8gYW4gdW5hbGxvY2F0ZWQgYnVja2V0Lg0KPj4gDQo+PiBUaGlzIGNhbiBiZSBzb2x2ZWQg
YnkgbWFraW5nIHN1cmUgdGhhdCBhbGwgdGhlIGJ1Y2tldHMgYmVsb3cNCj4+IGQtPnZhbGlkX2V2
dGNobnMgYXJlIGFsbG9jYXRlZC4gVGhlcmUgc2hvdWxkIGJlIG5vIGltcGFjdCBmb3IgbW9zdCBv
Zg0KPj4gdGhlIHNpdHVhdGlvbiBidXQgTE0vTFUgYXMgb25seSBvbmUgYnVja2V0IHdvdWxkIGJl
IGFsbG9jYXRlZC4gRm9yDQo+PiBMTS9MVSwgd2UgbWF5IGVuZCB1cCB0byBhbGxvY2F0ZSBtdWx0
aXBsZSBidWNrZXRzIGlmIHBvcnRzIGluIHVzZSBhcmUNCj4+IHNwYXJzZS4NCj4+IA0KPj4gQSBw
b3RlbnRpYWwgYWx0ZXJuYXRpdmUgaXMgdG8gY2hlY2sgdGhhdCB0aGUgYnVja2V0IGlzIHZhbGlk
IGluDQo+PiBpc19wb3J0X3ZhbGlkKCkuIFRoaXMgc2hvdWxkIHN0aWxsIHBvc3NpYmxlIHRvIGRv
IGl0IHdpdGhvdXQgdGFraW5nDQo+PiBwZXItZG9tYWluIGxvY2sgYnV0IHdpbGwgcmVzdWx0IGEg
Y291cGxlIG1vcmUgb2YgbWVtb3J5IGFjY2Vzcy4NCj4+IA0KPj4gU2lnbmVkLW9mZi1ieTogSnVs
aWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IFJhaHVsIFNp
bmdoIDxyYWh1bC5zaW5naEBhcm0uY29tPg0KPiANCj4gV2hpbGUgSSdtIG1vc3RseSBva2F5IHdp
dGggdGhlIGNvZGUsIEkgdGhpbmsgdGhlIGRlc2NyaXB0aW9uIHdhbnRzDQo+IGNoYW5naW5nIC8g
YW1lbmRpbmcgYXMgbG9uZyBhcyB0aGUgZmVhdHVyZXMgdGFsa2VkIGFib3V0IGFib3ZlIGFyZW4n
dA0KPiBhbnl3aGVyZSBuZWFyIHJlYWNoaW5nIHVwc3RyZWFtIChhZmFpY3QpLCB0byBhdCBsZWFz
dCBfYWxzb18gbWVudGlvbg0KPiB0aGUgZ29hbCB5b3UgaGF2ZSB3aXRoIHRoaXMuDQoNCk9rLiBJ
IHdpbGwgcmVtb3ZlIHRoaXMgYW5kIGFkZCB0aGF0IHdlIG5lZWQgdGhpcyBwYXRjaCB0byBzdXBw
b3J0IHN0YXRpYyBldmVudCBjaGFubmVsLg0KU29tZXRoaW5nIGxpa2U6DQrigJwgV2hlbiBzdGF0
aWMgZXZlbnQgY2hhbm5lbCBzdXBwb3J0IHdpbGwgYmUgYWRkZWQgZm9yIGRvbTBsZXNzIGRvbWFp
bnMNCiAgdXNlciBjYW4gcmVxdWVzdCB0byBhbGxvY2F0ZSB0aGUgZXZ0Y2huIHBvcnQgbnVtYmVy
cyB0aGF0IGFyZSBzY2F0dGVyZWQNCiAgaW4gbmF0dXJlLiINCg0KPiANCj4+IENoYW5nZXMgaW4g
djI6DQo+PiAtIG5ldyBwYXRjaCBpbiB0aGlzIHZlcnNpb24gdG8gZml4IHRoZSBzZWN1cml0eSBp
c3N1ZQ0KPiANCj4gSSBndWVzcyB5b3UgbWVhbiAiYXZvaWQiLCBub3QgImZpeCIuDQoNCkFjay4g
DQo+IA0KPj4gQEAgLTIwNywzMCArMjE2LDM1IEBAIGludCBldnRjaG5fYWxsb2NhdGVfcG9ydChz
dHJ1Y3QgZG9tYWluICpkLCBldnRjaG5fcG9ydF90IHBvcnQpDQo+PiAgICAgfQ0KPj4gICAgIGVs
c2UNCj4+ICAgICB7DQo+PiAtICAgICAgICBzdHJ1Y3QgZXZ0Y2huICpjaG47DQo+PiAtICAgICAg
ICBzdHJ1Y3QgZXZ0Y2huICoqZ3JwOw0KPj4gLQ0KPj4gLSAgICAgICAgaWYgKCAhZ3JvdXBfZnJv
bV9wb3J0KGQsIHBvcnQpICkNCj4+ICsgICAgICAgIGRvDQo+PiAgICAgICAgIHsNCj4+IC0gICAg
ICAgICAgICBncnAgPSB4emFsbG9jX2FycmF5KHN0cnVjdCBldnRjaG4gKiwgQlVDS0VUU19QRVJf
R1JPVVApOw0KPj4gLSAgICAgICAgICAgIGlmICggIWdycCApDQo+PiAtICAgICAgICAgICAgICAg
IHJldHVybiAtRU5PTUVNOw0KPj4gLSAgICAgICAgICAgIGdyb3VwX2Zyb21fcG9ydChkLCBwb3J0
KSA9IGdycDsNCj4+IC0gICAgICAgIH0NCj4+ICsgICAgICAgICAgICBzdHJ1Y3QgZXZ0Y2huICpj
aG47DQo+PiArICAgICAgICAgICAgc3RydWN0IGV2dGNobiAqKmdycDsNCj4+ICsgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQgYWxsb2NfcG9ydCA9IHJlYWRfYXRvbWljKCZkLT52YWxpZF9ldnRjaG5z
KTsNCj4+IA0KPj4gLSAgICAgICAgY2huID0gYWxsb2NfZXZ0Y2huX2J1Y2tldChkLCBwb3J0KTsN
Cj4+IC0gICAgICAgIGlmICggIWNobiApDQo+PiAtICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07
DQo+PiAtICAgICAgICBidWNrZXRfZnJvbV9wb3J0KGQsIHBvcnQpID0gY2huOw0KPj4gKyAgICAg
ICAgICAgIGlmICggIWdyb3VwX2Zyb21fcG9ydChkLCBhbGxvY19wb3J0KSApDQo+PiArICAgICAg
ICAgICAgew0KPj4gKyAgICAgICAgICAgICAgICBncnAgPSB4emFsbG9jX2FycmF5KHN0cnVjdCBl
dnRjaG4gKiwgQlVDS0VUU19QRVJfR1JPVVApOw0KPj4gKyAgICAgICAgICAgICAgICBpZiAoICFn
cnAgKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+PiArICAgICAg
ICAgICAgICAgIGdyb3VwX2Zyb21fcG9ydChkLCBhbGxvY19wb3J0KSA9IGdycDsNCj4+ICsgICAg
ICAgICAgICB9DQo+PiANCj4+IC0gICAgICAgIC8qDQo+PiAtICAgICAgICAgKiBkLT52YWxpZF9l
dnRjaG5zIGlzIHVzZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgYnVja2V0IGNhbiBiZQ0KPj4gLSAg
ICAgICAgICogYWNjZXNzZWQgd2l0aG91dCB0aGUgcGVyLWRvbWFpbiBsb2NrLiBUaGVyZWZvcmUs
DQo+PiAtICAgICAgICAgKiBkLT52YWxpZF9ldnRjaG5zIHNob3VsZCBiZSBzZWVuICphZnRlciog
dGhlIG5ldyBidWNrZXQgaGFzDQo+PiAtICAgICAgICAgKiBiZWVuIHNldHVwLg0KPj4gLSAgICAg
ICAgICovDQo+PiAtICAgICAgICBzbXBfd21iKCk7DQo+PiAtICAgICAgICB3cml0ZV9hdG9taWMo
JmQtPnZhbGlkX2V2dGNobnMsIGQtPnZhbGlkX2V2dGNobnMgKyBFVlRDSE5TX1BFUl9CVUNLRVQp
Ow0KPj4gKyAgICAgICAgICAgIGNobiA9IGFsbG9jX2V2dGNobl9idWNrZXQoZCwgYWxsb2NfcG9y
dCk7DQo+PiArICAgICAgICAgICAgaWYgKCAhY2huICkNCj4+ICsgICAgICAgICAgICAgICAgcmV0
dXJuIC1FTk9NRU07DQo+PiArICAgICAgICAgICAgYnVja2V0X2Zyb21fcG9ydChkLCBhbGxvY19w
b3J0KSA9IGNobjsNCj4+ICsNCj4+ICsgICAgICAgICAgICAvKg0KPj4gKyAgICAgICAgICAgICAq
IGQtPnZhbGlkX2V2dGNobnMgaXMgdXNlZCB0byBjaGVjayB3aGV0aGVyIHRoZSBidWNrZXQgY2Fu
IGJlDQo+PiArICAgICAgICAgICAgICogYWNjZXNzZWQgd2l0aG91dCB0aGUgcGVyLWRvbWFpbiBs
b2NrLiBUaGVyZWZvcmUsDQo+PiArICAgICAgICAgICAgICogZC0+dmFsaWRfZXZ0Y2hucyBzaG91
bGQgYmUgc2VlbiAqYWZ0ZXIqIHRoZSBuZXcgYnVja2V0IGhhcw0KPj4gKyAgICAgICAgICAgICAq
IGJlZW4gc2V0dXAuDQo+PiArICAgICAgICAgICAgICovDQo+PiArICAgICAgICAgICAgc21wX3dt
YigpOw0KPj4gKyAgICAgICAgICAgIHdyaXRlX2F0b21pYygmZC0+dmFsaWRfZXZ0Y2hucywNCj4+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgZC0+dmFsaWRfZXZ0Y2hucyArIEVWVENITlNfUEVS
X0JVQ0tFVCk7DQo+PiArICAgICAgICB9IHdoaWxlICggcG9ydCA+PSByZWFkX2F0b21pYygmZC0+
dmFsaWRfZXZ0Y2hucykgKTsNCj4gDQo+IFRoaXMgdXBkYXRpbmcgb2YgZC0+dmFsaWRfZXZ0Y2hu
cyBsb29rcyBhIGxpdHRsZSBpbmNvbnNpc3RlbnQgdG8gbWUsDQo+IHdydCB0aGUgdXNlcyBvZiB7
cmVhZCx3cml0ZX1fYXRvbWljKCkuIFRvIG1ha2Ugb2J2aW91cyB0aGF0IHRoZXJlJ3MNCj4gYW4g
aW1wbGljaXQgZXhwZWN0YXRpb24gdGhhdCBubyAybmQgaW52b2NhdGlvbiBvZiB0aGlzIGZ1bmN0
aW9uDQo+IGNvdWxkIHJhY2UgdGhlIHVwZGF0ZXMsIEknZCByZWNvbW1lbmQgcmVhZGluZyBhbGxv
Y2F0ZV9wb3J0IGFoZWFkDQo+IG9mIHRoZSBsb29wIGFuZCB0aGVuIG5ldmVyIGFnYWluLiBIZXJl
IHlvdSdkIHRoZW4gZG8NCj4gDQo+ICAgICAgICAgICAgc21wX3dtYigpOw0KPiAgICAgICAgICAg
IGFsbG9jYXRlX3BvcnQgKz0gRVZUQ0hOU19QRVJfQlVDS0VUOw0KPiAgICAgICAgICAgIHdyaXRl
X2F0b21pYygmZC0+dmFsaWRfZXZ0Y2hucywgYWxsb2NhdGVfcG9ydCk7DQo+ICAgICAgICB9IHdo
aWxlICggcG9ydCA+PSBhbGxvY2F0ZV9wb3J0ICk7DQo+IA0KPiBhdCB0aGUgc2FtZSB0aW1lIHJl
bmRlcmluZyB0aGUgY29kZSAoaW1vKSBhIGxpdHRsZSBtb3JlIGxlZ2libGUuDQo+IA0KPiBKYW4N
Cg0KQWNrLiBJIHdpbGwgZml4IHRoaXMgYXMgc3VnZ2VzdGVkIGJ5IHlvdSBJIG5leHQgdmVyc2lv
bi4NCg0KUmVnYXJkcywNClJhaHVs


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 13:47:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 13:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.391994.630090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQUFA-00051u-8z; Tue, 23 Aug 2022 13:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 391994.630090; Tue, 23 Aug 2022 13:47:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQUFA-00051n-6E; Tue, 23 Aug 2022 13:47:00 +0000
Received: by outflank-mailman (input) for mailman id 391994;
 Tue, 23 Aug 2022 13:46:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yb01=Y3=epam.com=prvs=0234f20829=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1oQUF8-00051h-Lb
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 13:46:58 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d2535fd-22ea-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 15:46:56 +0200 (CEST)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27NAtohs023549;
 Tue, 23 Aug 2022 13:46:46 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2169.outbound.protection.outlook.com [104.47.17.169])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3j4wjugv5j-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 23 Aug 2022 13:46:46 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by VI1PR03MB6365.eurprd03.prod.outlook.com (2603:10a6:800:195::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.24; Tue, 23 Aug
 2022 13:46:43 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387%2]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 13:46:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d2535fd-22ea-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NyVnRNOAjLX08sLgjNs33GL+vBAiBIOTMhHLszs0iUotGmTZ6Qvf1lrkIcd1k9DK+oSFLvFG0plEWlIT26b8vD8AI4QNHxFIfLeOFNcolsxe/z+ZwQjaUTPW0vegjN7iaXB+BSE5xXG9PmSd0vlLrrIBAgUaWrWVD6++Z2nwHq7MKfDMBaAPVVJTg7LM15Hw0YN03H5mKPvdUaEKP1pDeniV1mayq/82doXtH/y7SQ1faD2C9aRjQiv1X2YQcmKCUvai1SlaNtkG+2Z/1XlCB4SupCAOTgTMauoluyHpgeB9+6jIZ2NVbgt2XDLICBETOEO1/TLCEQ3Rf9jnqcVf6Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xqKv9OaBqIzvDzwgXp6l2VxsxfpHuEmvYLwBnCC0pT4=;
 b=iBja2gRhuTCvNEVRLY9InrDpfSMfkwLUbPO5RV52LQyvoXsiW+k9Hbv8YmqqXdhVhBUEW9aGdza289MaVjKLkd5yB62Y8bdMT2YxG68DS9lWSLJgqw/yp35oGGYiGxcBSNYiigLbrXRJUeoqAoL/sBmqxagR8yFcopAl2cOb1/6ZtWpQfHv4uWmquHlbLEZHoRjnAR+4AUD9JbmIhDN3hBkQUQSdOwGVO7IFIyGJohN2F4D+KqirSSmOev3lvH313ISt/M2pi2fToEM5kU6lj56FmJ196PNxP4POl2FtWgNy+KSSo3KAURwFRhG1xYdcWh9aFR/IAV5eFgLepMSiRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xqKv9OaBqIzvDzwgXp6l2VxsxfpHuEmvYLwBnCC0pT4=;
 b=p4B2w656u5i8ilLhm374yrmp8X4kVfKlDn7kLJmpGlZJnssRB7Xe0w6INt0yNIBrOHr4xBRN7DwvuJYs/NVDKkvR7lrClGcgEqjtXAyQL66KVlZO3GGNcQmTT89Od2uUZFTCAKVcPAIdgCZD2Q1Zg3s6cJRGBhI//3vMFLVqWq1fovW68pQdXcaPfcrUc68HQRx4py32tCNWVIVqm+IadO6haqRIFWDs3J9mYfueIHt4GkRq5CSWAtvATIQy25RjyGvnU0UgKAe6r+SuVfmW28QFwfc3xC7tZU8x3AnB57QTMylT6BLeUHuYrRDphNfPd4di65SctohHcARm6uMutA==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Wolfram Sang <wsa+renesas@sang-engineering.com>,
        "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
CC: Juergen Gross <jgross@suse.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        "linux-scsi@vger.kernel.org"
	<linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] xen: move from strlcpy with unused retval to strscpy
Thread-Topic: [PATCH] xen: move from strlcpy with unused retval to strscpy
Thread-Index: AQHYs0YFHPDOI0n17UKUZScrX/PwVK28hvoA
Date: Tue, 23 Aug 2022 13:46:43 +0000
Message-ID: <bec94594-1a7b-14ff-ad91-f2e781b12be5@epam.com>
References: <20220818210122.7613-1-wsa+renesas@sang-engineering.com>
In-Reply-To: <20220818210122.7613-1-wsa+renesas@sang-engineering.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3d2eb1ea-308d-4c6b-ed81-08da850dea04
x-ms-traffictypediagnostic: VI1PR03MB6365:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 5FsprJaSo9YGIubgiDtTKR740XxaGquXgASgIZKhwBTbMeYK8ynota89yWoBaBkrryFY7uzj7/pN6WuxNTNiINisb9UJ6pwO8qSo/kkIUhZmNbXKiqAEmBUydLF+ColJWFmQvjbMhN/KrBup2xA/qNig16NICMqlx+Graoeg+Bp7iDBFYP5kS+VSM6KGsRmC3e1rB93ZpKojNGspxsLqco7i43Fcil54OHRIM/VV25nM//mzMliCYiGJB49mHYlzmqIj9FULmcv1dcEx5n9HkrZ+Wy7D3UlVZ/UI9kxxMKwApD5ESbWxIg47ti0sLOs+iI6d9+SSnbK5Qh1U+EpH04gb3SadjCAxdBXv2YaI27id/lOq26OsaxiV3EY2VfEIlhtb8nAO4BDUSLZBT6rBlBEXu4nRrPeYdw1LnfvjXs0qm9m0qwv5hqIp3tQpAZZYp5o0IVAIiFzYikA6m+Jf0K191GbpjiADhgwccGLn+Dt05ApIlvgj5wVcw9GXTtkBPLeEqk6J17iuhiB8vbyNEJJqXfbvLxxghlAdDqIg8DCK1hxDKfnJ680rYWkHgRa/zp+LQGcUgGpt24heihU+cbPTJXnSMOlBcQhtu7DgFknRXOJW647HcRvxQhb/cMDKBzgobVWP3ie1Vdn4zjvWlpuwKtIN6BgPRaMwgG3eDOXieXUXCF5/XY66c4ONv8X4lTGA3G3YA7ieZBd/QofyCuU8lx2eR5hXfQxZAMc+qTxRGBm3gujdqpizLaAo/UBNIK5S98lRr7QCzufCvL6LhrsVe8dejcrRg9Jeip0uZP8KlS4FYw2mNN97ndPaaUk13vqVJVAvyd9TnU+Fe9ymersoWCdYQBI97s09kLXpmTY=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR03MB6108.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(366004)(39860400002)(346002)(376002)(2906002)(2616005)(6512007)(186003)(38070700005)(83380400001)(26005)(66556008)(4326008)(8676002)(64756008)(66446008)(5660300002)(91956017)(66476007)(76116006)(66946007)(36756003)(8936002)(31686004)(110136005)(86362001)(478600001)(71200400001)(53546011)(316002)(41300700001)(55236004)(54906003)(6506007)(122000001)(966005)(6486002)(31696002)(38100700002)(156123004)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?RjNDdVoxdndYa1lGT0VQUkFQaTRtUVJ0d0pnYitZVUtOUHNtR3l6SDE0T2VP?=
 =?utf-8?B?a2hkczNTUVVWbFlsanhkbUxVTGk5YXdGZEd5QXJ1MkRmeDExWFNrWitQZnpz?=
 =?utf-8?B?ZG9rV1RmbGJaZ1dkY1FzVnR6SWgxeEtaRlNyK3B4enlaYzhWTlRiTTFhbXcx?=
 =?utf-8?B?T3RxWHg1R09UV1hpbG5WMlVaZFJaWmFYQ3pFekQ2OWdvN3hpd05IQ3lsY282?=
 =?utf-8?B?U21kS3d5VTJYY1hJek9JdlVnMG9zRUh5Ynczc0k3TENwaGZCcy92dDRRU2o4?=
 =?utf-8?B?ZU4yTW9GWFdpV0s5ZzNuMlZ4S2laMXlKSEwyYnlqdW1HUXJHTU5kcnNIUDEv?=
 =?utf-8?B?UThUbm1HdHBHR1F2WDR1NFY0OUQ0aUhBV25jVS9YV1ZRTTNXcXJSQXd0MTdh?=
 =?utf-8?B?bUc4SlhJd3p5SGdManZhUnBSa1l4eUdGN2Y5MEtaTjA1bFM2aS9zbHJDUWJJ?=
 =?utf-8?B?RlUvNy9OVzdDUE5mTkp5bXFlOXZVUWI4RTZySndsQThWeWJPRXNzOVkxQ1lX?=
 =?utf-8?B?Q1d5cmUxR3crT2JWTENta09CNVFMYXlyalZrdk9wb2txSzZTUHpCalV5b204?=
 =?utf-8?B?QTNObm5OeEVSekZHeHFMSmRONFlSakluNWk1NDVKbkFqa3ZyWU96dFVmRzQ0?=
 =?utf-8?B?Z1VDOGdGMTJnSzFCYzFzWGlrNzVxaTJNL0tJdHhycFdQWktPWU50bGNZR3Jj?=
 =?utf-8?B?VitKZUc3eTVCTzBMQUYwVGRLbEVhb0thRkRSSFpJVmYrMFhPSGFZRW8yR1Jy?=
 =?utf-8?B?YTRhMXNRa1AybllDeFFGRzk2cVRVeFJ4NFZyN3I3Ui9sZHdQVkVOZmUrUGtV?=
 =?utf-8?B?MENTQXd5YmhER2daSkE5UWQ0aUlZVERGQSs0WTBKTmxCeTNPQ2Z3aktYNTFP?=
 =?utf-8?B?TTZNVUhZd0E2SktDY3NpWThNVEh4R0llZXFkdnk3QzcrYm10NTdOaStDc0Np?=
 =?utf-8?B?NEV6QnIzNFd5OUxSV0ZnWXFTYlZ2dEtjRFEzcEhhYm1hOGt2ZjgvVnpJcCs0?=
 =?utf-8?B?a29qNG91a2hjbnpWSGFhN2xPMzZwMWVRWHNIbjMwai84SWJ3YmxNUWVTc0hN?=
 =?utf-8?B?OElWOHdMai9YcVF1QjN0Ym10M1djUUg5Qk9hZ2M4L3c2S3ZlRjdCWUtGUnBL?=
 =?utf-8?B?bXQ4RTVGc2xROFdwaHpTckNPZk1wRlhraGFRSTZUNXRETGtIVWZHUHV0RFh6?=
 =?utf-8?B?TUExRlRxcU94QnprbXhIMGFZVzZiKzNyUmRZSkxEMnF4bnZ5eFh2TTZYQ2N2?=
 =?utf-8?B?MytSRnIxdWEwQ0xkTkNiZ1ZZcWhIbThWbUs3Y3VOQXd4bnU0OEJhRWhTWmJ3?=
 =?utf-8?B?SlQ1eXRqQVh6b1gyY0l5UE5BVkRNN2E3bmVPSTdoZG9md0VCTlpwa043bmhW?=
 =?utf-8?B?b2E5bFM2Z0lSa3g5ckhDZjFQWkFZcjlBNnRCc3N4M2VtbTlTR2xDVC9XbHlI?=
 =?utf-8?B?dFRFVk81K3ZlRGRRUG9sYWxpYTZkL08yNGk3SGNEeWdWZDU5YkZNbFZRNlox?=
 =?utf-8?B?U1VqUmlYTkkvRmZLRDVMME9hUiszNGt3V0loUU05djJ0ZUUyTVhST2E5bit5?=
 =?utf-8?B?Z0hoNnMxak1HYU9icmlZSUM5TVI2YUwzR3daRkZjZ1hiall6VkZKYVZNTTVk?=
 =?utf-8?B?L0VpR1p6OS9aZ3hIK2hFZDlQTlZTZ1B5cG1MQjU0Y1RRUGxHdFMzZElud21o?=
 =?utf-8?B?S0RKVXVCc2ZoMWxTSEdrZzIvdTJrRGxMazF4eENSVmRlU200aDBNZ1Fya085?=
 =?utf-8?B?dlROOWd6dFBLdW1kZnhUY3R0UDA3ZVdsbThtZmd2UXBDUXhYWVRXV2g4NHZT?=
 =?utf-8?B?R0VEaUFxUXpDbSttNzk4WG16ZFkwVEZHMXpXTWpwa3J5dHZXekpYbzl0VjAw?=
 =?utf-8?B?NHM1QmVIc3BIcGhETHhTMzdmakpHb0RjWUF2M3R3aHlzMUFyVFdONTFJREpU?=
 =?utf-8?B?azlhYlRTOEhBeWJUNUlxeE9Oa014eURYSzhwRXRvN2grMFVHaWpYZXVBcUNq?=
 =?utf-8?B?anRFQjlmSitCdHVuZEwvZDVvNm1GRkdmRXZXSFYvRmU0Yi8vQnlmalhWcnFT?=
 =?utf-8?B?bU05SW1VMFpFdCt4UnlYcEVsN2pCM3lCUTZzUXJNa21UeU9LRVB6cXZvdC9U?=
 =?utf-8?B?L25PUEN0T241WUFGLzAwaXpzVU1UVGNiR3FMcnZNT1VKYTAxUGs5VEpobnhB?=
 =?utf-8?Q?pZrl5i2tFJyjDc1lklcLVCI=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A72ACA5280DF4A4FA705383EC39C87CF@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR03MB6108.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d2eb1ea-308d-4c6b-ed81-08da850dea04
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 13:46:43.3138
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: pXFfW83aWUCAHR/VqEUPcIpIxLxZXh4bxsi+2SL/dNVYPlluRFBYpXlbyfCfhVbKkD4GwMvW55W8OPTF2X58j6O3ezKQyTZAylGjTkuTYR8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6365
X-Proofpoint-GUID: EYFioTrI64vTo-epccuuiVJCbwrt23lD
X-Proofpoint-ORIG-GUID: EYFioTrI64vTo-epccuuiVJCbwrt23lD
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-23_05,2022-08-22_02,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 lowpriorityscore=0
 malwarescore=0 mlxlogscore=999 suspectscore=0 impostorscore=0 phishscore=0
 priorityscore=1501 clxscore=1011 adultscore=0 bulkscore=0 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208230055

DQpPbiAxOS4wOC4yMiAwMDowMSwgV29sZnJhbSBTYW5nIHdyb3RlOg0KDQoNCkhlbGxvIFdvbGZy
YW0NCg0KPiBGb2xsb3cgdGhlIGFkdmljZSBvZiB0aGUgYmVsb3cgbGluayBhbmQgcHJlZmVyICdz
dHJzY3B5JyBpbiB0aGlzDQo+IHN1YnN5c3RlbS4gQ29udmVyc2lvbiBpcyAxOjEgYmVjYXVzZSB0
aGUgcmV0dXJuIHZhbHVlIGlzIG5vdCB1c2VkLg0KPiBHZW5lcmF0ZWQgYnkgYSBjb2NjaW5lbGxl
IHNjcmlwdC4NCj4NCj4gTGluazogaHR0cHM6Ly91cmxkZWZlbnNlLmNvbS92My9fX2h0dHBzOi8v
bG9yZS5rZXJuZWwub3JnL3IvQ0FIay09d2dmUm5YejBXM0QzN2QwMXEzSkZrcl9pX3VUTD1WNkE2
RzFvVVpjcHJta253QG1haWwuZ21haWwuY29tL19fOyEhR0ZfMjlkYmNRSVVCUEEheDh0WFJYVGR6
YlNtYVdBM0dILUFqLVpGMkhyTUlBVk9yX3Flck82YXZnMDVBS2hUMFJJN01ucVY2NER5a0ZGSGZ1
RHdvRFl0VC1pNWJ3N25HWVNwbmVEcXp6R2ZoWUZIY203TEJRJCAgW2xvcmVbLl1rZXJuZWxbLl1v
cmddDQo+IFNpZ25lZC1vZmYtYnk6IFdvbGZyYW0gU2FuZyA8d3NhK3JlbmVzYXNAc2FuZy1lbmdp
bmVlcmluZy5jb20+DQoNCg0KTG9va3MgY29ycmVjdDoNCg0KUmV2aWV3ZWQtYnk6IE9sZWtzYW5k
ciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCg0KDQo+IC0tLQ0K
PiAgIGRyaXZlcnMveGVuL3hlbi1zY3NpYmFjay5jICAgICAgICAgICAgICAgICB8IDIgKy0NCj4g
ICBkcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3Byb2JlX2Zyb250ZW5kLmMgfCAyICstDQo+ICAg
MiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+DQo+IGRp
ZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW4tc2NzaWJhY2suYyBiL2RyaXZlcnMveGVuL3hlbi1z
Y3NpYmFjay5jDQo+IGluZGV4IDdhMGM5M2FjYzJjNS4uZDNkY2RhMzQ0OTg5IDEwMDY0NA0KPiAt
LS0gYS9kcml2ZXJzL3hlbi94ZW4tc2NzaWJhY2suYw0KPiArKysgYi9kcml2ZXJzL3hlbi94ZW4t
c2NzaWJhY2suYw0KPiBAQCAtMTEyMSw3ICsxMTIxLDcgQEAgc3RhdGljIHZvaWQgc2NzaWJhY2tf
ZG9fMWx1bl9ob3RwbHVnKHN0cnVjdCB2c2NzaWJrX2luZm8gKmluZm8sIGludCBvcCwNCj4gICAJ
CQkJIiVzOiB3cml0aW5nICVzIiwgX19mdW5jX18sIHN0YXRlKTsNCj4gICAJCXJldHVybjsNCj4g
ICAJfQ0KPiAtCXN0cmxjcHkocGh5LCB2YWwsIFZTQ1NJX05BTUVMRU4pOw0KPiArCXN0cnNjcHko
cGh5LCB2YWwsIFZTQ1NJX05BTUVMRU4pOw0KPiAgIAlrZnJlZSh2YWwpOw0KPiAgIA0KPiAgIAkv
KiB2aXJ0dWFsIFNDU0kgZGV2aWNlICovDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW5i
dXMveGVuYnVzX3Byb2JlX2Zyb250ZW5kLmMgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3By
b2JlX2Zyb250ZW5kLmMNCj4gaW5kZXggMDdiMDEwYTY4ZmNmLi5mNDRkNWE2NDM1MWUgMTAwNjQ0
DQo+IC0tLSBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJvYmVfZnJvbnRlbmQuYw0KPiAr
KysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3Byb2JlX2Zyb250ZW5kLmMNCj4gQEAgLTQw
LDcgKzQwLDcgQEAgc3RhdGljIGludCBmcm9udGVuZF9idXNfaWQoY2hhciBidXNfaWRbWEVOX0JV
U19JRF9TSVpFXSwgY29uc3QgY2hhciAqbm9kZW5hbWUpDQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsN
Cj4gICAJfQ0KPiAgIA0KPiAtCXN0cmxjcHkoYnVzX2lkLCBub2RlbmFtZSArIDEsIFhFTl9CVVNf
SURfU0laRSk7DQo+ICsJc3Ryc2NweShidXNfaWQsIG5vZGVuYW1lICsgMSwgWEVOX0JVU19JRF9T
SVpFKTsNCj4gICAJaWYgKCFzdHJjaHIoYnVzX2lkLCAnLycpKSB7DQo+ICAgCQlwcl93YXJuKCJi
dXNfaWQgJXMgbm8gc2xhc2hcbiIsIGJ1c19pZCk7DQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsNCg0K
LS0gDQpSZWdhcmRzLA0KDQpPbGVrc2FuZHIgVHlzaGNoZW5rbw0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 14:02:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 14:02:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392001.630102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQUTf-0007mU-Nd; Tue, 23 Aug 2022 14:01:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392001.630102; Tue, 23 Aug 2022 14:01:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQUTf-0007mN-KA; Tue, 23 Aug 2022 14:01:59 +0000
Received: by outflank-mailman (input) for mailman id 392001;
 Tue, 23 Aug 2022 14:01:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxx3=Y3=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQUTd-0007mH-Es
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 14:01:57 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50040.outbound.protection.outlook.com [40.107.5.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 254bba3a-22ec-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 16:01:55 +0200 (CEST)
Received: from AM6PR02CA0033.eurprd02.prod.outlook.com (2603:10a6:20b:6e::46)
 by AS4PR08MB7456.eurprd08.prod.outlook.com (2603:10a6:20b:4e7::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 14:01:53 +0000
Received: from VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:6e:cafe::58) by AM6PR02CA0033.outlook.office365.com
 (2603:10a6:20b:6e::46) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22 via Frontend
 Transport; Tue, 23 Aug 2022 14:01:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT034.mail.protection.outlook.com (10.152.18.85) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 14:01:52 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Tue, 23 Aug 2022 14:01:52 +0000
Received: from 675bcbc7f142.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 44DEF103-6304-446C-9958-79CB5B25FD91.1; 
 Tue, 23 Aug 2022 14:01:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 675bcbc7f142.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 14:01:40 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM9PR08MB7069.eurprd08.prod.outlook.com (2603:10a6:20b:413::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Tue, 23 Aug
 2022 14:01:38 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022
 14:01:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 254bba3a-22ec-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=WoLonNWFIs8Noend2qLvzFHpbRzm2y11HLmBE4+kxfHCdU9XZRX16fUlaWLhxmCPdeP52JlKc+vnKhgvZl+VkjKNcipMz0ItjRbBll6lDrjDnPhmKrWQrK4DQUtyUrnJVn+Yi0WyFJukZJ3jgkuCfOxfcYccjQ8VDdxDNX8BVkTRwYNHI00hceYWdggLTvJ+Tv/fiY99UJtbxTzqf/6UEYEX4f48GWQPsWvnL+xk/MZmcwA3lmbhCM8NzVVufiu+jnYrDQjdhVaujAvrB7JtpxVg8A5SwMYexD0Qh6xSmrqLyeDG077mZHLIXaHGwFoVZCllcxHIVnXxnpAyJZiaVA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y+ej1yBQCJVyJGLwgRjRJFHvX7WbtAvkJdVtj8uSI6U=;
 b=dSYQkNyfnXgNMqPTEIWXfnGFG+uDuhAnA9S+yvcL7tR9vqMOtO3CrCphEBTBSIuoNuxEBW0oIKSrArV8wk3kFhlmHLEeTkTPXwJVL3auI9S8J6dc9YbhsbSR78+dFsNwOcIdFPrfX8kmceJaeEVb5cf0NfkVzN27sbsQo/lQTB39y5c409l8kTVK7kLxIpGm0x2yyzHTgjVO3IPFlr4M+IheshW73Thb0QY0OouCCu+vnSbCZdpAkmabfAVl1y3F/YUAaHvBtxwAcA32z74fP0ZYEgQoJJHZpHDneAcRd6DeG7N/MkbS/ZKsrbtXG8R5CUB83fPcR8xD2QsPmgvoKw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y+ej1yBQCJVyJGLwgRjRJFHvX7WbtAvkJdVtj8uSI6U=;
 b=VqHBjyPU5uhIriUmC4338SICIE7HznGS3OIUXkEhO7KqnbPRch1fAQd/dHO44InhMVxpm7sSkVOMKxC/eiHU7vvuHASH6fDtm5cotWwAcpXIHNkwzmbp+jeN5Z0N1pNSJ+XqOi8Tok9XL+X72nrWHzwOTIYOBpcAW5tSAMFoIvU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 566f88225bb25e02
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lYYCxymk6m/j8dBB0KcYpdFoI1r0E5wiGxJtMWSnb1li3y2Pql6A+nfLallRubeQzi6qLEIdYzbtatlWTjqe/tLr9Jjz61uVsbS4vTGDs1/QPz+nkH86rGLyEDjg6sAvC8Mz5Nv+xySf7em1nCEwfUgNts7ReYAd7j1YVRD0sHgM7s2qGl66TgXh4dGXQa9S7z6Me8WKnsUbo44zlzina37HPMcT2aJ6vBhoxHlBcXrQH3H4AjYG09SW5juCd2ija75yjDfgZCi4YEYvyUBbSHQ4sdX/fzwzaxezfqxyuR4bqBdeOAACNCaOChDHccBIw4HP+GBAWj76bwrR70VhRg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y+ej1yBQCJVyJGLwgRjRJFHvX7WbtAvkJdVtj8uSI6U=;
 b=JOLHks4if66Z+ILHfY/vDXWV7IItARjPHB/fEHve2Kaqt8QhNIv5MVtqj5eWw3Qp+7GZmsqnYwJZhEKW5UL70Jn8sMIOkK+rlk0BF2QdSgQlF+Pgs9Olcg97y7OxtQn3o2sl7wjcDldYHBNvrdI/5RsPpLwbo9sKGmWEQ9v+cUUh+AQaP5yNSwJsducGfs7rMj5DEWmjbqRDYJyl4FM8YhfkJuAGvh1423kHOt9JpSmdTh7cgLCNOv4F5Qc1QFNp4bsEZfLWjVDR9WMOoDtbN/W//4DSjTX/qWLWf403BXpVAQhChGVd9HLbF+VaXjc0PfUB+6a36bPJuuqQKSYDWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y+ej1yBQCJVyJGLwgRjRJFHvX7WbtAvkJdVtj8uSI6U=;
 b=VqHBjyPU5uhIriUmC4338SICIE7HznGS3OIUXkEhO7KqnbPRch1fAQd/dHO44InhMVxpm7sSkVOMKxC/eiHU7vvuHASH6fDtm5cotWwAcpXIHNkwzmbp+jeN5Z0N1pNSJ+XqOi8Tok9XL+X72nrWHzwOTIYOBpcAW5tSAMFoIvU=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jan Beulich <jbeulich@suse.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Thread-Topic: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn
 supported for domUs
Thread-Index:
 AQHYs7MVCCbVCzB/DU2JPHyjxuVOOK269JmAgAEvmICAAAk5AIAAJFMAgAAPuACAABSBgIAAFFsA
Date: Tue, 23 Aug 2022 14:01:36 +0000
Message-ID: <788C40AD-A1DA-4DD3-931E-01CCA72EA2C1@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <1a8c49dcc237187cbb9fccaafe1e6533fe68381c.1660902588.git.rahul.singh@arm.com>
 <71c651a6-e8ad-78fc-efe5-2f20c332530a@suse.com>
 <96618b21-7cb5-d160-75b3-953ccdc75ac5@xen.org>
 <f8a3f7d6-1db9-cc74-5d60-8a0e22b80a3d@suse.com>
 <6A4EBDE0-60A0-46B9-A9BA-C689B9F8F129@arm.com>
 <fdfe8a77-34a3-252f-6aab-1850cc30c7a3@suse.com>
 <caeb00e7-6239-1d9d-ae78-008830562239@xen.org>
In-Reply-To: <caeb00e7-6239-1d9d-ae78-008830562239@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 513a33e7-ed5e-4350-eeb7-08da8510083e
x-ms-traffictypediagnostic:
	AM9PR08MB7069:EE_|VE1EUR03FT034:EE_|AS4PR08MB7456:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 IB/Vi0cfupXAF6dt6EHQByD2IAj+dumF2bUsonnb5DaBQTUZAyKlbNk75tRHqVkFaSTsJ7zRBSdSy/bZR4hEhMAlvSrHvCVS0vBaDi9izcn0wm+PQYmWAX3ZDUCF5hhflU5OaDJh0UaoOraEWRJoUIYsOveCUncM0NguO5++fOqOxMzw0emkw68Yydxj0PklanYC6mXZJ7nDV1GHeveLX05UZ2sZlz+aMnICIddvTp+9IhIHleUbP/lERr7SdSBq198eepi7bBdMloK6wEtwtKweY1afFEwISqcteroKbYr0hlbEdtjiextZiFHd2k4FTLcXxfTmYyY8S8hNyRfpQdAFDzibbci9XlvOOVHvl4JUlnbJcxGUTKwNxntj0PIcNCaA97LPOXXYSxC1biyXySx4jGc7CgmxPdbCifeoL+qFPh7FwODIk8NqOUxfyHSUwfDVOKjy4BWd2+tirHNDFRYJtAwsV7adwSyDhUGM/wuT4Bn7FRsgQIB/0cKlfLlAhM5+zJPCSCu/IwThV0/PtwaS6I3g+EkU/eUubw+Z2x0D3wuoeRqkaMNugoh6B9CpNZGhFXH+5Ahf6AKy5E6F2++hCpHCqV93XzzirQaRHHAULrujUWOOtc1VBXCz1WhSTGHzy7huTDmMcXLO1BAQx+QMz4IhnbDVFLlqJm0DvR4m6NyOvkiFWQqMkcacruOI6nAY4bENNwqUDuDPOsfJkJLEvuexSPDb4Gt4sf24iglsL6leppkGfX2jTKEcNRR47gLWSCQxvhIIM30wlqAKzBkTvfBRCB5FiC/iFJdHkCA=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(136003)(39860400002)(396003)(366004)(6506007)(54906003)(6916009)(86362001)(64756008)(4326008)(8676002)(66556008)(66446008)(6486002)(36756003)(5660300002)(8936002)(6512007)(26005)(186003)(478600001)(41300700001)(2616005)(38070700005)(2906002)(53546011)(83380400001)(71200400001)(316002)(66946007)(76116006)(91956017)(38100700002)(66476007)(33656002)(122000001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F019FA9E0C2D1D4DB3CFB55BF24EFB21@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7069
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	233f6a57-acd2-428d-2b85-08da850ffe69
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EfdQ/j28cJFwQ8yvGUHwjJuezGvBuUN2udPREPUNlj85NXN0cKeizI5Tvz+OJRA5O6oJjRIXq5aHKM7MncU2n/VNEwPlIkgd+pyIfbBP5IhN9lbC37AFkrPrNqJjwncqqhOac2/T0N6RxWa3EZU44dCRgETPTaIGcvzXqDDPqjckfMc1KYznlJfjD/aUfXyy65fiZwIKEO3zEGVuJ3uvNBdSlshpHl9a+A8KhtTC7xHgcxxk75aBbYvufmNWj6twKOUYGfalkjHKaCsK+n0TplutnH83vyxCBhohFz8JCjx7lmySiag6b6PqK+W93bsJvPGsQcVGNqpSWNILadJVGmTLttKe0OrGNEIuBKDXHaSupKns3G9ex9hN4Jx/XGYMGXo324VsnmXwbMmzLTbc4w5jJgFwnEQWuRtmkCllhkH/PFvV+kzEoFadTbiAOY4GV/xJjxaoXNl6xNVZFozcqchhtXR+l5zfijyNIG5K7L0Apeu5bCTEOAO+n0zr11aGHH8/esPtvF9HqsjYh1ccI5tA8bTXEPAnFlRhGTdoNt0PIE2KI6ljToAyVfzsXWm/N3G9zO4NHKsPDC6znGwMGTMoJir7LzsXw/OAJuzhEDkfkrnAyQ8W2/+XWV6nAz/H4naPFJRujMKkTNZezfd4zOvVJmPtAP4K27CnKVy6LhJy2hbx9xWSPrVrV84HGoP/yl67FbKegPvo9VezuL0pABt/ffquyByYC8daVMDbh7Ol3l7cUm1Np5XqL40FXCoq+M5MIjCYMCVhKc/3p3+EPw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(39860400002)(346002)(396003)(46966006)(40470700004)(36840700001)(40480700001)(86362001)(40460700003)(356005)(33656002)(81166007)(36860700001)(82740400003)(82310400005)(6862004)(41300700001)(316002)(54906003)(8936002)(6486002)(6512007)(8676002)(70586007)(70206006)(5660300002)(186003)(36756003)(336012)(2616005)(47076005)(4326008)(53546011)(83380400001)(2906002)(6506007)(478600001)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 14:01:52.9565
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 513a33e7-ed5e-4350-eeb7-08da8510083e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7456

Hi Julien,

> On 23 Aug 2022, at 1:48 pm, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Jan,
>=20
> On 23/08/2022 12:35, Jan Beulich wrote:
>> On 23.08.2022 12:39, Rahul Singh wrote:
>>> Hi Jan,
>>>=20
>>>> On 23 Aug 2022, at 9:29 am, Jan Beulich <jbeulich@suse.com> wrote:
>>>>=20
>>>> On 23.08.2022 09:56, Julien Grall wrote:
>>>>> On 22/08/2022 14:49, Jan Beulich wrote:
>>>>>> On 19.08.2022 12:02, Rahul Singh wrote:
>>>>>>> --- a/xen/arch/arm/domain_build.c
>>>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>>>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void)
>>>>>>>          struct xen_domctl_createdomain d_cfg =3D {
>>>>>>>              .arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>>>>>>              .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>>>>>> -            .max_evtchn_port =3D -1,
>>>>>>> +            .max_evtchn_port =3D MAX_EVTCHNS_PORT,
>>>>>>>              .max_grant_frames =3D -1,
>>>>>>>              .max_maptrack_frames =3D -1,
>>>>>>>              .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_ma=
x_version),
>>>>>>> --- a/xen/include/xen/sched.h
>>>>>>> +++ b/xen/include/xen/sched.h
>>>>>>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid;
>>>>>>>  /* Maximum number of event channels for any ABI. */
>>>>>>>  #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_C=
HANNELS)
>>>>>>>=20
>>>>>>> +/* Maximum number of event channels supported for domUs. */
>>>>>>> +#define MAX_EVTCHNS_PORT 4096
>>>>>>=20
>>>>>> I'm afraid the variable name doesn't express its purpose, and the
>>>>>> comment also claims wider applicability than is actually the case.
>>>>>> It's also not clear whether the constant really needs to live in
>>>>>> the already heavily overloaded xen/sched.h.
>>>>>=20
>>>>> IMHO, I think the value would be better hardcoded with an explanation=
 on
>>>>> top how we chose the default value.
>>>>=20
>>>> Indeed that might be best, at least as long as no 2nd party appears.
>>>> What I was actually considering a valid reason for having a constant
>>>> in a header was the case of other arches also wanting to support
>>>> dom0less, at which point they likely ought to use the same value
>>>> without needing to duplicate any commentary or alike.
>>>=20
>>>=20
>>> If everyone is  okay I will modify the patch as below:
>> Well, I'm not an Arm maintainer, so my view might not matter, but
>> if this was a change to code I was a maintainer for, I'd object.
>> You enforce a limit here which you can't know whether it might
>> cause issues to anyone.
>=20
> I understand the theory and in general I am not in favor of restricting a=
 limit without any data. However, here, I think we have all the data necess=
ary that would justify the limit.
>=20
> In order to use event channels, a guest needs to know which PPI is used t=
o notify the guest.
>=20
> Until recently, we didn't expose the node to dom0less domUs (this was int=
roduced when adding support for PV devices). So a guest couldn't discover t=
hat event channels are used. That said, if the guest figured out the PPI (t=
he value can be guessed) then it could potentially use the event channels.
>=20
> However, for Xen on Arm, we are not supporting any guest that don't use t=
he firmware tables (e.g. device tree/ACPI). So for such use case, I don't c=
are if it breaks because they are relying on unstable information.
>=20
> What I care about is any user that follow the rules. We only started to a=
dvertise Xen via Device-Tree to dom0less domUs after 4.16. So I think this =
is fine to restrict the limit now because we haven't released 4.17 yet.
>=20
> Regarding the default limit, I think it is better to stay consistent with=
 libxl and also use 1023. If an admin wants more event channels, then we co=
uld introduce per-domain property to overwrite the default.
>=20
> It should not be too difficult to add, but I don't think this is a must.
> So I will let Rahul to decide whether he has time to add it.

I prefer that we will first finish merging the ongoing event channel series=
.
I have created the task in our backlog, Arm will handle this task in the ne=
ar future.

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Tue Aug 23 14:26:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 14:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392007.630113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQUrT-00020e-LH; Tue, 23 Aug 2022 14:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392007.630113; Tue, 23 Aug 2022 14:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQUrT-00020X-IV; Tue, 23 Aug 2022 14:26:35 +0000
Received: by outflank-mailman (input) for mailman id 392007;
 Tue, 23 Aug 2022 14:26:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQUrS-00020N-2t; Tue, 23 Aug 2022 14:26:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQUrS-0004tz-0v; Tue, 23 Aug 2022 14:26:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQUrR-0000T4-Gq; Tue, 23 Aug 2022 14:26:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQUrR-0001rG-GM; Tue, 23 Aug 2022 14:26:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QtWOpISmN5TwpAQrGtaBo1pJcIDnnNv0FZdStCXgWqM=; b=x8g7K9TlBKVY4KvEM1YdacPGP8
	dquGDuyoGpJjdip5+uHlThCyFEPB9N5z+yNkhGr4O2CwOWu+u+XYLZ6q9v6BLmmD7+Ia8au8xp689
	Dh82Fz6CO/vZ5UI5v7bCO/v1uosNigcR3egsHslLCY/Hxx/ON4Q0gF5TyhBAjSS/y1DA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172729-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172729: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=dfdba857a6b6a708e754ddb1a04086a3402acdef
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 14:26:33 +0000

flight 172729 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172729/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 dfdba857a6b6a708e754ddb1a04086a3402acdef
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   19 days
Failing since        172151  2022-08-05 02:40:28 Z   18 days  152 attempts
Testing same since   172726  2022-08-23 06:44:22 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 905 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 14:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 14:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392015.630124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQUwp-0003XU-A6; Tue, 23 Aug 2022 14:32:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392015.630124; Tue, 23 Aug 2022 14:32:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQUwp-0003XN-78; Tue, 23 Aug 2022 14:32:07 +0000
Received: by outflank-mailman (input) for mailman id 392015;
 Tue, 23 Aug 2022 14:32:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQUwo-0003XH-5S
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 14:32:06 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2072.outbound.protection.outlook.com [40.107.20.72])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5bc0cad4-22f0-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 16:32:05 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB5337.eurprd04.prod.outlook.com (2603:10a6:5:1b::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Tue, 23 Aug
 2022 14:32:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 14:32:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5bc0cad4-22f0-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cv9eH1Xc66bon2Pg/gI2n6CkjVWuc39XhLnEEhzhLi8YuCLJKUod90P4APDIMkRcZa0++T+3khK6lkAG399QgI1kHIjLCUCh9gYL7D/KoZr+9+SejQg8PaoN73rUpoWbiitceg8wkTWkw7oFNV6pa8AzrEDeYDwZ0Wr/4lHqSq5S8pS/DM5UaFloxWdEOufoPAdIaevdwY62G/GK22KxhzEgRydevdmwYZNLgDIgEbvEnFQCMExx7oSQc+W2wngVN18ib96SGpNrcCzLLlytp0oJzdEkyq+I7kb8a68Xt2OWH8PXD/P4F+aolnbSLW5GarI8qZ7wH7YP+SaAJBOApg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bLAxPaJh4V4gDpf7W0JAhRFKiH0NVbXs2nMsq9z3QKM=;
 b=T0PvxLGxSneVqZWsbDCS+C8jtjnCS3rtVjm9fF6/7fWE7SKhjX5MOiV2UK82UkyRkuXHp1YLv8Va2rE1DIx+mpgPWqYKhea49zq0bO0AzGLJzQUfUaIU46iqueaFQLhSsEPgZz16TDB7/7mcOQbzXv4hqHKzc1Bk0P0KLVEnW7MGq6FQ2t6THlsU865leFcoXE0fpl97j3tqUivnuGawRAXeUw0URHw1/3+9yoDutb2f4A4chawp9AMNdi3oUWSC0rbUcKZmoFnwnALkl9anyEB54yyjcp0kLiGW7dZ+Wlke45zzE+IDuQqMtdoTwXM2USSJqWBI2zWq5nimcd6XFg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bLAxPaJh4V4gDpf7W0JAhRFKiH0NVbXs2nMsq9z3QKM=;
 b=VbH0Nefry+UxUmxRiJPmT1viN1KqAR847/H4Mi1vBnBh+A++2XouhpHUlXVrb8fbEzwCbgm0Q0IuhhWUwTrOJvjxswgtacv9pxMeXhXZKC8RC+SPwPt9XLvLKBPJSZRR+5HF7uXQ1VAVUdG285oOX1Y5jG8j/bazTfVarRjZKWIu97ANSXua9vAD1oFgqV2F3TTQh/WNM4UBB9SPS2nWihOgxhaqqhVMTVNIiAb1L7cpS6OzoIvWU30ak/peqUbIfvqCx27/9aVC4GnXIlWnNQtsnVYUQxoJF8gr/erjAbk7FtDjNYzu+eZone7NDmtnpzL3SyMkmfEQ8/Dl5LxMeA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
Date: Tue, 23 Aug 2022 16:31:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0047.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 26180034-3251-4d29-457b-08da85143e0a
X-MS-TrafficTypeDiagnostic: DB7PR04MB5337:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cUAsy55RU9axPQp2O90Ugc84kfGrEW95JEYq5wkM/GP9kWWuGemqgYAjzxwcyHQHsfu7ZgykIVp16QPJK7xQL64u6NWzMEy4DDtuGEhnOil66I76hThkHbBsKKAHFYCV/OTxhBAu1az9PH5DyLZPmYbefIFpNn7epv1oc9x5HQBBavbz9pYD3Fcc976wbnylIY0CIqutZhm/4p/c5MAB1XMPZEK2VU+kUaWDEcBkBvI0pT5XTnd8/+T1KpCs2XHgjZDbtFVqymS6M5MglWUtT53KpWoLKtZ5CzLutevcUKUzatii1bEtIeXhk8Dl63raAkuFHg/JyCtMQp7y5Al+ICasWD2T1gx57Hv64oMVq5WaPcEzpTErP04xNpDz9yoUJmyJ2eUD++zuP0XS5KhWZ1PTxfEWuyj0vy1hi7KSb5Cr4UgnEVTSeXFaau5UxbPslOtXfHr4E5ZJCgVsV1A1/cXDPrpEAdGiZB8dJ/8V+bCrSKudCYPyhMEGJkilSFxui+1oJ24gLyumEwlzfpJEW3r1UvtiTzAfC6yKbAHYyDrIUAluhzoxwEDxoyLMnnAHp90N5RDRp6C2Mtj4oipth8o9S6S2nuCiO6THB7GVzGiJW7FxRnvrXZbZy4Q7s+exlMswmN/rJhz4CoU7B9GFonQ37r/l2ADCxUDxpCSKGlN54YwgS8oZKJ6XocQH9f9/VyFoVZ4C/bGq0Cpz1DbVU8DjDh9PZu3S7uyBiuxyPvuRqMnmDH8stONPBlgLU17op1cyuibYg78i4QKPMP7padK2MLhTUvz9ooutZBSOEoI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(376002)(136003)(366004)(39860400002)(26005)(6512007)(6506007)(53546011)(2616005)(83380400001)(38100700002)(478600001)(186003)(6486002)(8936002)(31686004)(41300700001)(5660300002)(36756003)(2906002)(66556008)(66476007)(66946007)(4326008)(8676002)(86362001)(54906003)(31696002)(316002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MzN3R1FZZk54VHpKKytrRnBJQ0pVbks5cEU3RktVK3o1VDJLcjc2aFZ1TWVz?=
 =?utf-8?B?QitWQWJFSEQ0Z1lHTmx4dTZ6cUlRdENFT2Z2TU1TNjdwdFZJcjVkODFTaFpD?=
 =?utf-8?B?L3M1VWdkUHRvV1JYY1M0c2VFYm1sckpvSnhJOU1LQkxjamJzelJBV2pmVENS?=
 =?utf-8?B?K0h3S2ZodE50SUlvVVZ4MGVSS3psd081clhqUzZiRXJjLzQzTG5neGlDQ0xt?=
 =?utf-8?B?QkZBclNUUzZCeHJLaUgwdDhLNzRsblhWSHBVeUtoMmljMHRUdXpzdWh1QmZm?=
 =?utf-8?B?M2JueUppT29qVzUzNkdxVndPbzY4K3lPQ1JwbXpWZzRIRDVWMmJOTzFReUZB?=
 =?utf-8?B?aU5tUmF1aU8rS050SnNhVmZCOEdyNzV3anQvaHZQTnptUklXcWwzZWFreDNR?=
 =?utf-8?B?RGMvYVRKU3pVVXM2cjl5UDlZR281eE9CeGxPUUppdHVjVGZ1bHVRT0E0SFM3?=
 =?utf-8?B?OVJBUHVGWktCQ3E1TTNyLytuWVR1VWgrTmM0U1NKM3p1M3FlU1JtZm5vK3Ez?=
 =?utf-8?B?NEV6eW9sdWVnRm9pNGg1ek52YjBqNVdsWVlCd3d0Sy9ENzFQMXA0cnM5TlNW?=
 =?utf-8?B?OHpVVDArVFhuY0tDZTVDSEZRSms2bEI5aW5CSnd2ZlEvcENhUkZpSytMZEtw?=
 =?utf-8?B?dnVsald1OWVLRGQ0RFZVa3VpVzd2UytORDRqYStwR2tudVh6SnZzZWtqZTEv?=
 =?utf-8?B?WHU4OTU4cnprZmh5ekR0eU5HZm5aN3UxUjFOaUwzNVNaek4yYVE2dm45aW1Y?=
 =?utf-8?B?czlyZFJ5NjZzRW5HVGQzMU1tWlpkM244ck1TUUp1NFduWXN0Wk5NUmk4ZkJM?=
 =?utf-8?B?YjU4dzBVUW1jT2QvMnp2VjNsRDlXUDFSQXhWTG80Qi9WdGFmMllxb1lESi9q?=
 =?utf-8?B?bHJwMzVnZ0RVVlo4VmJNaFdsS3BIUXhjdGVrcDBmWGNUZGdIMXRtOHBjTGlB?=
 =?utf-8?B?bEpaSnIzYmxFWVJUZFZ4NGorZ29PUjBBc3FHUG5QZkdVTVoxby9iNmtldXcx?=
 =?utf-8?B?N3hZYVMyc3ZjdnV3RllCMlBjVGVSa0d2MVNUTk03dEFLTGdVRFJZSnA3b0FT?=
 =?utf-8?B?ckUxcU9wdmdmcjNHNENTOGc4cHB4WCtNUzhhN0dsVGx6a1pLN1NnUXFOMWhl?=
 =?utf-8?B?a1hYYmRFaUNxc3U1aTBhUVJpVEc2YUZ3djJkOHNzcDkxQ1pOdktoNlM1WEUv?=
 =?utf-8?B?RVJQbXJCTlNPWUkxZ0V4anBBZW9HU1h3dGI4S0FDaVVGWFNXK3lINCtSaEp6?=
 =?utf-8?B?alpkWHFOY1ZNVzdmZTh3LzhGcUhIK3p5K1A3bkg3VUFPNUdwUlB6Zmo3dkZs?=
 =?utf-8?B?ckxPd3lpdnM1MzV5SnpCNHlQWXJFN0tsQkplNENIbm1UMEJFOFhiblJCbXZr?=
 =?utf-8?B?eW4vdnQ0bTdMWTUrY215TXZSVnZNNW1KcjZjOFNXQWNHbG5QSjNBVWlLOW45?=
 =?utf-8?B?RzhSdmVRQTNiZHN6akFoM1VySXV6YXMySFdjNkJNU3FZaTFvL2JDdi9lYzRh?=
 =?utf-8?B?RkpsSCsyUXdmQlFZZUhCSDFTMWF6djVHMjRMVGlxOGZqQ2xDN0ZlelVLbXZU?=
 =?utf-8?B?UkJkVC9mM2htZjJPaXcxY29GZ1Uxak15dXFlVk5ZdWE2cWx3ZGtIZmUzOVJa?=
 =?utf-8?B?aVIwdGgzVXdNTHBFdmIzRkZWSmdyMlRTdnZ2U0VlaGRKMDF5OGJESFlCMlFW?=
 =?utf-8?B?RWR5OVFYTXpnZkM4WEhjWXlWOHBqNVlmRm5XT3ZLMWJQdDF6SDZ1U0VBVklO?=
 =?utf-8?B?MmdRYW9wSWljVWdOVCtXdUxxa1B5MjN4NDRSYzlGMUVxM2ZDbTQ5UDhLeUpp?=
 =?utf-8?B?QmdYWS9ZOHQ4Zy9iNFBxeDJsWERKNVF5SVV3VU1Bc0E4TnRBamRXdnhNWFBH?=
 =?utf-8?B?VnV5R0JHNFNFNzhRN255R1dZNm45N2EzNEFTZHg3azdJaEVVdVEycTd6Tlk4?=
 =?utf-8?B?bFhaWkU4NlJtcWNWd3pBUlBjZEY3T1NYM05FOWFEK05VNzBsajJsSG16MFJ0?=
 =?utf-8?B?NXVoYWFDU1FqWmNSNk55eDdyWkU0cXZKOTYyTE9DSU1iYWdjZlJ6bG9IckdP?=
 =?utf-8?B?bVlRTjd2MHVnNExuNUt1NjJZR2RHMjU0NzVuYWE0bDlrcmdadUx1UkhyQkVa?=
 =?utf-8?Q?jZQ2J6sea3rVlbr48hw85k8+O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 26180034-3251-4d29-457b-08da85143e0a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 14:32:01.4453
 (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: vrll4urJMLjscGTsEgdIO1kQ+2C1eQPtpVuwMeSrIBjCEoPR5s8L3ki62T0FspasFsbKffYH7n4+3f3iAXk6gA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5337

On 23.08.2022 15:34, Bertrand Marquis wrote:
>> On 23 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>> On 23.08.2022 12:24, Bertrand Marquis wrote:
>>> --- a/tools/libacpi/mk_dsdt.c
>>> +++ b/tools/libacpi/mk_dsdt.c
>>> @@ -18,6 +18,16 @@
>>> #include <stdlib.h>
>>> #include <stdbool.h>
>>> #if defined(CONFIG_X86)
>>> +/*
>>> + * When building on non x86 host, arch-x86/xen.h will include xen.h which will
>>> + * try to include the arch xen.h (for example if built on arm, x86/xen.h will
>>> + * include xen.h which will include arch-arm.h).
>>> + * To prevent this effect, define x86 to have the proper sub arch included when
>>> + * the compiler does not define it.
>>> + */
>>> +#if !(defined(__i386__) || defined(__x86_64__))
>>> +#define __x86_64__
>>> +#endif
>>
>> Besides being confusing this depends on the order of checks in xen.h.
>>
>>> #include <xen/arch-x86/xen.h>
>>> #include <xen/hvm/hvm_info_table.h>
>>> #elif defined(CONFIG_ARM_64)
>>
>> At the very least you will want to #undef the auxiliary define as soon
>> as practically possible.
> 
> Ack
> 
>>
>> But I think a different solution will want finding. Did you check what
>> the #include is needed for, really? I've glanced through the file
>> without being able to spot anything ... After all this is a build tool,
>> which generally can't correctly use many of the things declared in the
>> header.
> 
> As stated in the comment after the commit message, this is not a good
> solution but an hack.
> 
> Now I do not completely agree here, the tool is not really the problem
> but the headers are.

Well - the issue is the tool depending on these headers.

> There is not such an issue on arm.

Then why does the tool include xen/arch-arm.h for Arm64?

> The tool needs at least:
> HVM_MAX_VCPUS
> XEN_ACPI_CPU_MAP
> XEN_ACPI_CPU_MAP_LEN
> XEN_ACPI_GPE0_CPUHP_BIT
> 
> Which are defined in arch-x86/xen.h and hvm_info_table.h.
> 
> I am not quite sure how to get those without the current include

1) Move those #define-s to a standalone header, which the ones
currently defining them would simply include. The tool would then
include _only_ this one header.

2) Seddery on the headers, producing a local one to be used by the
tool.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 14:41:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 14:41:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392023.630135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQV5k-0005Bd-B6; Tue, 23 Aug 2022 14:41:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392023.630135; Tue, 23 Aug 2022 14:41:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQV5k-0005BW-8B; Tue, 23 Aug 2022 14:41:20 +0000
Received: by outflank-mailman (input) for mailman id 392023;
 Tue, 23 Aug 2022 14:41:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jact=Y3=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQV5i-0005BQ-QC
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 14:41:19 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2057.outbound.protection.outlook.com [40.107.20.57])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4b05300-22f1-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 16:41:16 +0200 (CEST)
Received: from FR3P281CA0173.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a0::15)
 by AM6PR08MB5144.eurprd08.prod.outlook.com (2603:10a6:20b:ec::29) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 14:41:14 +0000
Received: from VE1EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a0:cafe::66) by FR3P281CA0173.outlook.office365.com
 (2603:10a6:d10:a0::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Tue, 23 Aug 2022 14:41:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT012.mail.protection.outlook.com (10.152.18.211) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 14:41:14 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Tue, 23 Aug 2022 14:41:13 +0000
Received: from 4521df42283c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6B204949-7460-4ACB-8281-E95FA7A4EE72.1; 
 Tue, 23 Aug 2022 14:41:07 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4521df42283c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 14:41:07 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PR3PR08MB5562.eurprd08.prod.outlook.com (2603:10a6:102:85::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Tue, 23 Aug
 2022 14:41:05 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 14:41:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4b05300-22f1-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=GCzSon9qPbJq9w1WUiKSqPC6S6Noh8UmMm1UBoZpQRUFCwWAKCXj7TWPh1r17zhH8/15Qw7BlZV1nofL8wO+rY29+qaKAcQ2ilKXTvSzUOyBsadTH8++v5+1h7PDrFybBz7z9I7HeTqnK9enWOskdamneXcAyqzS/e/k69lB5Iinq5CiKBJlhHM87GF6/hoZ0O8OkYw07DpgyMKWQAL4R3H+xQcp6qztGyHj4XUjTBXeBpYdbkQPtFpVojgcCGcj8XjDTIqZDafN3u9s3l89GC6t+qs4mRXykXOtfBW5vIAwmsm54eAxCn6Fmtn8On44IgmEUGUyhmwVyEB2KKh8LQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HzO3nDsYoHJ6q99Fr/hduddJgdFXKpPUy+dNLRhHw4s=;
 b=UvuZDjs3+NqeusIqVjZoFWJxlLfIjcHywiRPXC9r6f6yiNYTroSX/ynEd5ttSvR1fVAfN3K4Pf53INeUjDHwlu91wudLWRKQ0T2dOlRJFo1WEFGMgvTrJakJS1EQHDhYyEbJACpngsyZNQ167MMU/V52pvc+Yg+wGuQJQ5hYKMKsL3Pve8DgMWtazxULoDvMnmBRkcikg1/1o6cfZ7KD+hsBcwYZ7P3y4d0N7ciMkplSr/sDRBH3pJAUJj/v5nDOMizD/fRCe/Qpht6dJUYriPMTo9Cg1GrlTogfRydrAIqqi2GoL2UwdReFwUbVPIOIUebEsXtsXGqirn4Y+1JEuw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HzO3nDsYoHJ6q99Fr/hduddJgdFXKpPUy+dNLRhHw4s=;
 b=B8mAYiJ1vDmNZsjT6L2KBFNJs8qMoHPoUvFwu5LbBn3TiMthWx7C6SwyDn4k4B87NAbiEcqZEi3wT2tPSooV9TBcpTEajsTyggue/QmHjLzKd4UDl1O0+lct21BS/sy/f5Rw2SdeLHolhYmPa8B+2+XjvaShAJz9ZvKY4eJ8yn0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c5eccdfc91b62502
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cre73Bt8Cdv458wqYvDbYL+42/7n5qCQ0aWuXHRh+fcR2+VrZHSUbqUBsE+jc3cI5Ru3wK2JM76d5apOtXyzuN3Yw2UfddlBL2vvIUvRwZoSOHC8qU2xJDOF7wfhswZNjVkzVgBuxBnSrt16SO6vUpQL6j6mu7LanVlvhzXG4LdaBoFYnY+o7fpL6jbcxV3fjO7hAj0qMqBAL4vTliY+5dWY+NXflM4KXSJW7Oshfyw0LvaPC88MUsDkV+xfsxamZUol12l4wFvd9+2qwzjNejMJ4vos491Iaojybs21NEhY/pGg342sbqaNJ4UZb80BYFEoE/W+i8Uco29E0bDGeg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HzO3nDsYoHJ6q99Fr/hduddJgdFXKpPUy+dNLRhHw4s=;
 b=A5Oh8BjuhwBE8wBrQxmOScX2zK/ruqYRI7qExWALaTfKr21k8YcOyJIC6Vj8J3mKEQwPsFF2Xrl940CZAHlULTRNdt0NuxRu1YJ/K6CCQWpjoh4JGgECM28eDu9FWVn1+kBIpu7XwhSX8pKTcPfm+xRYvrZyJAi/wfUoGl0zH4KwsZsgxNjAZ0zpY8mwi8nCpH7tNF1NYQU9NG9RkfdHDf5jORJTlfo6Ksnyk2yYgmVZRByKEqW1lgd47RxyNyxwGbr4dqzIZj16hZ9mnt2zsbokTtf5UHPrtWummlyVH48hYEQeBrtv8PczSArWyfbvTlpcctlhPeG+HjcicKuc7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HzO3nDsYoHJ6q99Fr/hduddJgdFXKpPUy+dNLRhHw4s=;
 b=B8mAYiJ1vDmNZsjT6L2KBFNJs8qMoHPoUvFwu5LbBn3TiMthWx7C6SwyDn4k4B87NAbiEcqZEi3wT2tPSooV9TBcpTEajsTyggue/QmHjLzKd4UDl1O0+lct21BS/sy/f5Rw2SdeLHolhYmPa8B+2+XjvaShAJz9ZvKY4eJ8yn0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Topic: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Index: AQHYttqU3r7Sk/IKHkKroerrTRS8F628a1KAgAARJACAABAJgIAAAokA
Date: Tue, 23 Aug 2022 14:41:04 +0000
Message-ID: <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
References:
 <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
In-Reply-To: <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: c223478b-7006-496e-cb13-08da851587a8
x-ms-traffictypediagnostic:
	PR3PR08MB5562:EE_|VE1EUR03FT012:EE_|AM6PR08MB5144:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 6cFhqDcn+cA7ojH+5S7M4WTcOnO1k1VivOduAP86R3xXYZxOMqWOInhiaJPlbChmAs9n1Ng/dWlwofiIxMLnXp5PZpWWF3Zbo8dRdLlDIr0aJnmdCqNFMQnCQTLPE3JnVPehtax2yWZmIjZlM9uSs+l2ANZT+EemPTtnWikxEmMj+VrFE4qlSvRzQ0tUca2zgiJC6se4Iw3VhSKqw4Z2c0cFEApLTn4zWNSv6bcnXYBMV3DnO1LvRimWRLwmE9PvoULOt6USwhyPaXIUXO0N1orE67RkOzFxGp1bp9L2thMwpo/s3SzArt7CY6TNQTyhc02WC9KrWQ/4oaC1FdTszbCeXUk5x4rVVBltF0PyWYWqLIOE8lhDPp9nTEsoVD9zmCdknrylXwpOXoQqxjoxU4adoqJfBHbknfjcHr6CKeP/Pvndqx8ehLFFHiXq/OcECqY5uS3PnpeqMvevJEIW5eaWiXQZejAe2pFStzsovGy3JFtGhomOIL6g5RcmOhvDHmhoaQGqyMcPHMDtcJwVMfOhHBI9kddXUXZEdfoC0Z5kQmdXCwxDdvwyObfE7GX0zlLqh6XU3ULqUEdjWZw4AehraJwewFK/qmoH+dooxq8lcCAefAgzQkT208fzOEKkN9aJ6J60pKWXftTiLgTx30RtxrOeb4CN8+urntC20jgfS9FYrOYEdJWM13TtPVSMVF9X0zFDxVAHN9cJiQLTcCw2kxFyoFb7mJmZQneCJ1dSIMCSHQCGXBFjxNJqso+wVJj0wKsrN64HIiXPpMLXrFvXhDg3ot4gxxxbULtTP3U=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(366004)(396003)(346002)(376002)(122000001)(38100700002)(2906002)(53546011)(6506007)(2616005)(83380400001)(186003)(33656002)(26005)(6512007)(71200400001)(91956017)(66556008)(76116006)(8676002)(64756008)(66446008)(66476007)(4326008)(66946007)(6486002)(6916009)(54906003)(316002)(5660300002)(36756003)(478600001)(38070700005)(8936002)(86362001)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <3EDA95FB17B47E47A91370149D96E1DD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5562
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2b904a79-5f73-46ac-f2ed-08da8515821f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CmsDDoaHFuY9YdjEBpTbmTBHanCe9RtJPBXg4QHgoukEV/+hJ7SNCmdfS043o1n57CIxLGHXV5RXHLdz6fmImP9JszSJR0R0v/vO96CUHwNe/1QYbY26u17r5qj9/qWXbCgueZPEWYU1zV+1gj33CmVeIpbP/YwtJMXL976mUWl0vzzWjh0HGMWi3p0hh4tpTNEF3uaPBF4MKQpEVSbte+RJi3HM6BOiSw/BVT2IRl+cZpe/sNqIv8+i4KqQDSoxFt0zeHIIniy0SyBcakTQXLz2zBJQD6L/tU85H9Qni+GCMoEOhVtHAxRteXfVbkO+sKxQXIDW4ez4rGB8k7ZGg6NK8LTq9Weta9W9VdvpjwmpsdKqG0PrQp4IKOY15eHkfOshjRBINEEoo3izMm3LNY0FiP3qz+jiGr0ICKYrvAQrvk/ehGrlV1+FKWpbzEaoXay+BGzQUogF686YZQEDXmlwFosvhRh4TYy0RXoqkx4KHJtc0unWvxLO2mU0kD5xK4Wv7uiX/8eC9BcwrQ6/ol7hjCugKpOyYqZkTWW2rCAjZP2z3LMpqqoaqljXfACthZQGIhgck1PHKmqorBzpMTI3HgQ58ZT1rxNJObnheUYvse6yF4FPBcQQc4L2eY5V9kVmAMU+7wEOxqAx7HBedb9rL5+dN2fUkCJ/t8fgI+QliDUgbp953LeHIBxaipqqjJZnL4ybg0mLBGvD0Zjw7UzNN7cVi2FD2NWnriGi8pLyl3OMOQ0GEz3DA9qLq5h14G2Ks9lfujpn31snZaNBfw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(39860400002)(376002)(346002)(40470700004)(36840700001)(46966006)(82310400005)(6862004)(2906002)(8936002)(4326008)(70206006)(8676002)(6506007)(70586007)(5660300002)(33656002)(6512007)(53546011)(26005)(41300700001)(36756003)(336012)(83380400001)(186003)(2616005)(47076005)(6486002)(478600001)(40480700001)(356005)(40460700003)(86362001)(36860700001)(316002)(81166007)(54906003)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 14:41:14.2046
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c223478b-7006-496e-cb13-08da851587a8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5144

DQoNCj4gT24gMjMgQXVnIDIwMjIsIGF0IDE1OjMxLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjMuMDguMjAyMiAxNTozNCwgQmVydHJhbmQgTWFycXVp
cyB3cm90ZToNCj4+PiBPbiAyMyBBdWcgMjAyMiwgYXQgMTM6MzMsIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4gT24gMjMuMDguMjAyMiAxMjoyNCwgQmVydHJhbmQg
TWFycXVpcyB3cm90ZToNCj4+Pj4gLS0tIGEvdG9vbHMvbGliYWNwaS9ta19kc2R0LmMNCj4+Pj4g
KysrIGIvdG9vbHMvbGliYWNwaS9ta19kc2R0LmMNCj4+Pj4gQEAgLTE4LDYgKzE4LDE2IEBADQo+
Pj4+ICNpbmNsdWRlIDxzdGRsaWIuaD4NCj4+Pj4gI2luY2x1ZGUgPHN0ZGJvb2wuaD4NCj4+Pj4g
I2lmIGRlZmluZWQoQ09ORklHX1g4NikNCj4+Pj4gKy8qDQo+Pj4+ICsgKiBXaGVuIGJ1aWxkaW5n
IG9uIG5vbiB4ODYgaG9zdCwgYXJjaC14ODYveGVuLmggd2lsbCBpbmNsdWRlIHhlbi5oIHdoaWNo
IHdpbGwNCj4+Pj4gKyAqIHRyeSB0byBpbmNsdWRlIHRoZSBhcmNoIHhlbi5oIChmb3IgZXhhbXBs
ZSBpZiBidWlsdCBvbiBhcm0sIHg4Ni94ZW4uaCB3aWxsDQo+Pj4+ICsgKiBpbmNsdWRlIHhlbi5o
IHdoaWNoIHdpbGwgaW5jbHVkZSBhcmNoLWFybS5oKS4NCj4+Pj4gKyAqIFRvIHByZXZlbnQgdGhp
cyBlZmZlY3QsIGRlZmluZSB4ODYgdG8gaGF2ZSB0aGUgcHJvcGVyIHN1YiBhcmNoIGluY2x1ZGVk
IHdoZW4NCj4+Pj4gKyAqIHRoZSBjb21waWxlciBkb2VzIG5vdCBkZWZpbmUgaXQuDQo+Pj4+ICsg
Ki8NCj4+Pj4gKyNpZiAhKGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykp
DQo+Pj4+ICsjZGVmaW5lIF9feDg2XzY0X18NCj4+Pj4gKyNlbmRpZg0KPj4+IA0KPj4+IEJlc2lk
ZXMgYmVpbmcgY29uZnVzaW5nIHRoaXMgZGVwZW5kcyBvbiB0aGUgb3JkZXIgb2YgY2hlY2tzIGlu
IHhlbi5oLg0KPj4+IA0KPj4+PiAjaW5jbHVkZSA8eGVuL2FyY2gteDg2L3hlbi5oPg0KPj4+PiAj
aW5jbHVkZSA8eGVuL2h2bS9odm1faW5mb190YWJsZS5oPg0KPj4+PiAjZWxpZiBkZWZpbmVkKENP
TkZJR19BUk1fNjQpDQo+Pj4gDQo+Pj4gQXQgdGhlIHZlcnkgbGVhc3QgeW91IHdpbGwgd2FudCB0
byAjdW5kZWYgdGhlIGF1eGlsaWFyeSBkZWZpbmUgYXMgc29vbg0KPj4+IGFzIHByYWN0aWNhbGx5
IHBvc3NpYmxlLg0KPj4gDQo+PiBBY2sNCj4+IA0KPj4+IA0KPj4+IEJ1dCBJIHRoaW5rIGEgZGlm
ZmVyZW50IHNvbHV0aW9uIHdpbGwgd2FudCBmaW5kaW5nLiBEaWQgeW91IGNoZWNrIHdoYXQNCj4+
PiB0aGUgI2luY2x1ZGUgaXMgbmVlZGVkIGZvciwgcmVhbGx5PyBJJ3ZlIGdsYW5jZWQgdGhyb3Vn
aCB0aGUgZmlsZQ0KPj4+IHdpdGhvdXQgYmVpbmcgYWJsZSB0byBzcG90IGFueXRoaW5nIC4uLiBB
ZnRlciBhbGwgdGhpcyBpcyBhIGJ1aWxkIHRvb2wsDQo+Pj4gd2hpY2ggZ2VuZXJhbGx5IGNhbid0
IGNvcnJlY3RseSB1c2UgbWFueSBvZiB0aGUgdGhpbmdzIGRlY2xhcmVkIGluIHRoZQ0KPj4+IGhl
YWRlci4NCj4+IA0KPj4gQXMgc3RhdGVkIGluIHRoZSBjb21tZW50IGFmdGVyIHRoZSBjb21taXQg
bWVzc2FnZSwgdGhpcyBpcyBub3QgYSBnb29kDQo+PiBzb2x1dGlvbiBidXQgYW4gaGFjay4NCj4+
IA0KPj4gTm93IEkgZG8gbm90IGNvbXBsZXRlbHkgYWdyZWUgaGVyZSwgdGhlIHRvb2wgaXMgbm90
IHJlYWxseSB0aGUgcHJvYmxlbQ0KPj4gYnV0IHRoZSBoZWFkZXJzIGFyZS4NCj4gDQo+IFdlbGwg
LSB0aGUgaXNzdWUgaXMgdGhlIHRvb2wgZGVwZW5kaW5nIG9uIHRoZXNlIGhlYWRlcnMuDQoNClll
cyBidXQgdGhlIHRvb2wgaXRzZWxmIGNhbm5vdCBzb2x2ZSB0aGUgaXNzdWUsIHdlIG5lZWQgdG8g
aGF2ZSB0aGUgdmFsdWVzDQppbiBwcm9wZXJseSBhY2Nlc3NpYmxlIGhlYWRlcnMuDQoNCj4gDQo+
PiBUaGVyZSBpcyBub3Qgc3VjaCBhbiBpc3N1ZSBvbiBhcm0uDQo+IA0KPiBUaGVuIHdoeSBkb2Vz
IHRoZSB0b29sIGluY2x1ZGUgeGVuL2FyY2gtYXJtLmggZm9yIEFybTY0Pw0KDQpCZWNhdXNlIHRo
aXMgaGVhZGVyIGRlZmluZXMgdGhlIHZhbHVlcyByZXF1aXJlZCBhbmQgYXMgbm8gc3VjaCB0aGlu
ZyBhcyBpbmNsdWRlIHhlbi5oLg0KVGhlIHBvaW50IGlzIG9uIGFybSwgdGhlIGFyY2gtYXJtLmgg
aGVhZGVyIGRvZXMgbm90IGRlcGVuZCBvbiBwZXIgY3B1IGRlZmluZXMuDQoNCj4gDQo+PiBUaGUg
dG9vbCBuZWVkcyBhdCBsZWFzdDoNCj4+IEhWTV9NQVhfVkNQVVMNCj4+IFhFTl9BQ1BJX0NQVV9N
QVANCj4+IFhFTl9BQ1BJX0NQVV9NQVBfTEVODQo+PiBYRU5fQUNQSV9HUEUwX0NQVUhQX0JJVA0K
Pj4gDQo+PiBXaGljaCBhcmUgZGVmaW5lZCBpbiBhcmNoLXg4Ni94ZW4uaCBhbmQgaHZtX2luZm9f
dGFibGUuaC4NCj4+IA0KPj4gSSBhbSBub3QgcXVpdGUgc3VyZSBob3cgdG8gZ2V0IHRob3NlIHdp
dGhvdXQgdGhlIGN1cnJlbnQgaW5jbHVkZQ0KPiANCj4gMSkgTW92ZSB0aG9zZSAjZGVmaW5lLXMg
dG8gYSBzdGFuZGFsb25lIGhlYWRlciwgd2hpY2ggdGhlIG9uZXMNCj4gY3VycmVudGx5IGRlZmlu
aW5nIHRoZW0gd291bGQgc2ltcGx5IGluY2x1ZGUuIFRoZSB0b29sIHdvdWxkIHRoZW4NCj4gaW5j
bHVkZSBfb25seV8gdGhpcyBvbmUgaGVhZGVyLg0KDQpTaG91bGRu4oCZdCB3ZSB0cnkgdG8gdW5p
ZnkgYSBsaXR0bGUgYml0IHdoYXQgaXMgZG9uZSBvbiBhcm0gYW5kIHg4NiBoZXJlID8NCk5vdCBv
bmx5IGZvciB0aGlzIHRvb2wgYnV0IGluIGdlbmVyYWwgaW4gdGhlIHB1YmxpYyBoZWFkZXJzDQoN
Ckkgd2lsbCB0cnkgdG8gcmVkdWNlIHRoZSBwcm9ibGVtIGEgYml0IG1vcmUgdG8gZmluZCB3aGF0
IHdlIHdvdWxkIG5lZWQgdG8NCnB1bGwgb3V0IGluIGEgc3RhbmRhbG9uZSBoZWFkZXIuDQoNCj4g
DQo+IDIpIFNlZGRlcnkgb24gdGhlIGhlYWRlcnMsIHByb2R1Y2luZyBhIGxvY2FsIG9uZSB0byBi
ZSB1c2VkIGJ5IHRoZQ0KPiB0b29sLg0KDQpZb3UgbWVhbiBhdXRvZ2VuZXJhdGluZyBzb21ldGhp
bmcgPyBUaGlzIHdvdWxkIGp1c3QgbW92ZSB0aGUgcHJvYmxlbS4NCg0KQmVydHJhbmQNCg0KPiAN
Cj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 15:10:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 15:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392029.630146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQVXU-00083v-KG; Tue, 23 Aug 2022 15:10:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392029.630146; Tue, 23 Aug 2022 15:10:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQVXU-00083o-Gr; Tue, 23 Aug 2022 15:10:00 +0000
Received: by outflank-mailman (input) for mailman id 392029;
 Tue, 23 Aug 2022 15:10:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jact=Y3=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQVXT-00083i-TU
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 15:10:00 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10057.outbound.protection.outlook.com [40.107.1.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6f1ba6e-22f5-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 17:09:58 +0200 (CEST)
Received: from AS8PR04CA0002.eurprd04.prod.outlook.com (2603:10a6:20b:310::7)
 by AM6PR08MB3223.eurprd08.prod.outlook.com (2603:10a6:209:4d::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 15:09:55 +0000
Received: from AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:310:cafe::76) by AS8PR04CA0002.outlook.office365.com
 (2603:10a6:20b:310::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.24 via Frontend
 Transport; Tue, 23 Aug 2022 15:09:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT022.mail.protection.outlook.com (100.127.140.217) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 15:09:54 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 23 Aug 2022 15:09:54 +0000
Received: from 8021bb462ca7.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1E3B9F03-95F5-4EE5-8BF9-3D8810C3A1EA.1; 
 Tue, 23 Aug 2022 15:09:47 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8021bb462ca7.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 15:09:47 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM6PR08MB4295.eurprd08.prod.outlook.com (2603:10a6:20b:b7::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 15:09:43 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 15:09:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6f1ba6e-22f5-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=MHaRY/PS0pftNB4Q4cDqtaXIOfl6NJKUdKHvzQHApQwnyp/6+HUIO1KsfQv3r4ZV8LHprFq6ZD+QT3B04OaE0p8rH90edXme1CzKSp5xgkMpmmhVx+d7kNPXRSHyHXY6cx5e5bnt3EumXbH26UrVfgxKLgC/WSqA2IiGIpV0jGvOXSDAJ3TeDxHGKRr8rE7EJ1Hs6fHiFtcr0FhfPmOzHyTQODD4Ir5uocc8WwNmM34uiGbPromU1lxq7BOQnugOupyh/vj3cEHq5I4z5ES5AT4v9GrYIGCYpASFSOhgdskjOfpsk5ZTTpwYnqXWB1skA0onOCbzHuYwCnld686vfA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rSNSUwYWXETMBCQr7zkLdC306uf/ozGoBy2IoMyu8xQ=;
 b=X6iggAZDXIfjaYHnMzF+hMJOkZx04id/ojirdOnj6sQSFLmQjm1bIYWKFNsLLunezN6W1D4MNcgOnu/YSBzVoYWY2uEgI1oSU2Y2d+cX8Avj0KeEH+DydnSnz7m4IoqcdUoZraCSBZEfi+uiry5gPoRo8Y3V9YzatkFl4gokLf4JJi+3HzKvNxQq2nTniE/l4Qi6jDDhn17OCuoa/K/QPfFCoSmVbZqcvzCXxB9YUJkTnl3yjGq8fHtCIXMhOmaL8YGZCc2gsurd7WhDNO6Z2zRNHB1mCt7jvzt0LVjok+FVj2FWZVAx1Nl/qWuXfeGdm99fhSzemcjRG2+726XUcw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=temperror (sender ip
 is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=arm.com; dmarc=temperror action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rSNSUwYWXETMBCQr7zkLdC306uf/ozGoBy2IoMyu8xQ=;
 b=oj5h4RUZE9UwMV6ZoJlmIybFsMyC27gGysfJyWgqS5lkQXMDMV074fUTWcRQlLeqDESmg16Vdw5zhZnNv1DGQbatI8zPrnDL5XbjdiQk0HNy1gGwOMCjqHJmXUk1nt78Zw3aXHU1GR37nnTubsqzev53xXnk57kcEWy3rBV0o6w=
X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is
 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=temperror action=none
 header.from=arm.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of arm.com: DNS Timeout)
X-CheckRecipientChecked: true
X-CR-MTA-CID: 065299be57632626
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BRVRh4mfjyXxxLOUYVAZHZ3/aEmnRoWea/zwvZ+mcAa5iWXHC1UfAY6pZL9FjhuxTZiRBGVUCSqzedNd6MfSlFn2uUbpLM+xNHIdO2iT8SPIXkk3Fr71H+QjFzwheVtRX8vv7TsSsZgUQPlJtbNk76kFUlSZVwbtcFD2yensDwYoLudZf4GB2GKCW1F8DuEMmoTvwLaF8I6PG4iHwLssur0MltdRPxIRt38m1qFQcu+r0lrZYtphp+bksg1ohJdMGXYJobSRfJiSJaB/n3HoqLjp3TEr7EsW7XDT3dnUVQYDJvjk11vQmXivuXM3oJ15u2+fyyTxFE+tsalA8mix7w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rSNSUwYWXETMBCQr7zkLdC306uf/ozGoBy2IoMyu8xQ=;
 b=MLpzqs64x5uOmkjQ4hII9SiTgC7JvrNpZvvmTh/sNKNVyvM8RqWl+o+Y5sWk3WIqHyr9r/WA22xSS4zNMAyypRyvE8A2ANKcfL0LYh67U35lJNRagyMyHeeWgbc4TKARVNjzk9VZ+wO2iZX5SCUJ9Zrv2HkFXC8gGq448bZGDiMK5y0GZ+k4k0p6IDN0Fbj4u54Ir8aZYKUInV52JxYycMUnkydGStMPA2prt4CFatdk/9ZlzP5TGFKNC+N4sR2I/+pXqv8rvcyCqAVvy13gh7SqQ4VtILZ1yyRjgZtnpGgyR8FTnDbGYDE0TlmvO/p0ouAcsWoiMAxbB4CvfZUD4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rSNSUwYWXETMBCQr7zkLdC306uf/ozGoBy2IoMyu8xQ=;
 b=oj5h4RUZE9UwMV6ZoJlmIybFsMyC27gGysfJyWgqS5lkQXMDMV074fUTWcRQlLeqDESmg16Vdw5zhZnNv1DGQbatI8zPrnDL5XbjdiQk0HNy1gGwOMCjqHJmXUk1nt78Zw3aXHU1GR37nnTubsqzev53xXnk57kcEWy3rBV0o6w=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Topic: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Index: AQHYttqU3r7Sk/IKHkKroerrTRS8F628a1KAgAARJACAABAJgIAAAokAgAAIAAA=
Date: Tue, 23 Aug 2022 15:09:42 +0000
Message-ID: <C7766EB8-B741-4443-99C3-EB14C1EA9804@arm.com>
References:
 <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
In-Reply-To: <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2330ccb6-83ff-4323-3833-08da85198922
x-ms-traffictypediagnostic:
	AM6PR08MB4295:EE_|AM7EUR03FT022:EE_|AM6PR08MB3223:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 7fzo7E2cV8oeHKvmWaR4Xr1MFuI/BdG1prssvOupW0u6ZLeEg+89+k68PsitSiER32uXFv7s27JmuTmlEkI1jzup7psCzh+DXTPkllD2WNMCTI86od6J41StCE99BEktXt1k70J0a7YAfzR/LKLc0LxSmaPNLvLfkBWfCN2xh917vtpZXcHiProal7onCbylk0/8KrXw+ypMcVpRInly/SQBqb0f7yAqL93HlpAeYzgbkvkoI4xNpVu8CevBDYMuj2kdPNuvzviUMFKMduEGnnB1nSyvg0V7hBTw2WZZJ420rXUvXI3aMIZZy8G0LtxelfRJOykECeF3J24EJt0DxT5NTbEZ4+ajFhLDt48Bs0edYQhbzGrYoa5uhGcUtlU3e35yd3lyjavmQmpBX2N51r/BJIKQMaw9R4lv38LabYgQe2PpOkHk6nUh9CjwoSWsNvJ4T2YD/MFKfqbLfjOJjY1iVdm4O6l5QC/hTJe7zoMz1ngclPxYGl0HbuvFepMm+ISGKwzS7FE8KEhPlF784k/xt9T7PZvQ0YZep44PlU6dkQYQJWcWYbIekqyiseRD4uX+ppczQ5wFLXFi5jotD6WvxDpkGTAKsRGFMx+Ks74cPxrbXFMulGzEWvrf4ZNM7HkHmaYLPEZdopaHb/xsrvnaArQ14AaRtCxqupzRZIKUZ651rRAMP9FIJv2iHga7iXuTb0oFoG9vDty0t68bxKrY+RWsGmloJc/KjmGyBXGT/Y3GSibpkZ/0iFhtN2uWAgmCo1rEl8YlGDURvg/S4V+D7bRId3/pZrh5aG77HJM6a3S8yJTl6Gd0MUUxalTX7dBvd9Im0HbfnLh5/2TXjA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(396003)(366004)(376002)(346002)(316002)(966005)(6486002)(76116006)(66476007)(64756008)(91956017)(66556008)(8676002)(66446008)(66946007)(71200400001)(8936002)(41300700001)(6916009)(54906003)(83380400001)(53546011)(2906002)(6506007)(6512007)(4326008)(478600001)(26005)(36756003)(186003)(2616005)(5660300002)(86362001)(33656002)(38070700005)(122000001)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E8C90D564CB3FA4598034F70D24A9278@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4295
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	18da8dc1-118d-4b51-75e2-08da8519821b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gSJZsq4wF0SBPQDa8o4PADFjCAHT4FLy9k2qreoECJVB3JtA84LOgXrK9pOII9E7xEp+u8MhgY1bS+9c3nwrsBUEtLLBUDauBsycib2UoFJIk9q513SzNAAiolnF52XvVZ4n97op86CKGZgOW6JbvchxLElN6kMYlyf182ZOQf5MwFx0iAuPKZDLPTpi70W/z8GluycmQI3xCq+EKxI5stShaBWCfIWYSEjmkxvcclwPlrXCMtUZ2+c88q5vNmDOgOxcTax5GAjU1t9TDLB0YMhyl3ttrtZ1TjY0Q2vlcJVQpoGpj8KxleXGqSDrfUAz4QXBmjv0wWxvjmnkiJOq//+frpcnv8IFdM3+z+J+VH52QsWPFBs2jfvTw21XfiqjuPgVESDKx01BqcD+yL+k5ptJR7eIIAVGrv1ETGTi32RmAGBN5lIvb02XPV6WgTmiPuYM4sHLIcQzPus3g5TdQu4FIvOc27SPDrdcRTO7wsZ6C2aXDM80smZgB7jPmWTIJ9PwlFzGh9jcwdnCGO3VZTVf9zb78aGkoc/AfuSqlNHFl94ZOnKiQjh1QJXYJ7xcgZB4Yibw/s417klCGLxGw1VgjJH6n5TWPpitEpCTGu1txoTaD2n3IwyQtTvlEmv4afAe9fq1E7S3GGk1sGhMoO4gmecMlDBExbgY1MbUMjNgz5h/FLlC4h7v3HG3+tkSB/sdXC+IXApEENwvKwJZCFu4sAcwpsKuBlGy5CBbtmSFhMVN7in1RGREBONYNkJDrwRvDBpJAd3GE0AMFBNxISH4nM7NeC8CP/w9LjR4rB83Jsqd8wcP9b6Mb5Xj2E91Ah+f2WSYdw+UxrZ+oIIqtQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(346002)(39860400002)(36840700001)(46966006)(40470700004)(6512007)(82310400005)(26005)(82740400003)(81166007)(40480700001)(6506007)(41300700001)(53546011)(5660300002)(36756003)(8936002)(6862004)(2906002)(70586007)(70206006)(4326008)(6486002)(966005)(2616005)(83380400001)(336012)(8676002)(86362001)(316002)(33656002)(40460700003)(54906003)(356005)(186003)(478600001)(47076005)(63350400001)(63370400001)(36860700001)(45980500001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 15:09:54.6963
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2330ccb6-83ff-4323-3833-08da85198922
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3223

SGksDQoNCj4gT24gMjMgQXVnIDIwMjIsIGF0IDE1OjQxLCBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0
cmFuZC5NYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPiANCj4gDQo+IA0KPj4gT24gMjMgQXVnIDIw
MjIsIGF0IDE1OjMxLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPj4g
DQo+PiBPbiAyMy4wOC4yMDIyIDE1OjM0LCBCZXJ0cmFuZCBNYXJxdWlzIHdyb3RlOg0KPj4+PiBP
biAyMyBBdWcgMjAyMiwgYXQgMTM6MzMsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4g
d3JvdGU6DQo+Pj4+IE9uIDIzLjA4LjIwMjIgMTI6MjQsIEJlcnRyYW5kIE1hcnF1aXMgd3JvdGU6
DQo+Pj4+PiAtLS0gYS90b29scy9saWJhY3BpL21rX2RzZHQuYw0KPj4+Pj4gKysrIGIvdG9vbHMv
bGliYWNwaS9ta19kc2R0LmMNCj4+Pj4+IEBAIC0xOCw2ICsxOCwxNiBAQA0KPj4+Pj4gI2luY2x1
ZGUgPHN0ZGxpYi5oPg0KPj4+Pj4gI2luY2x1ZGUgPHN0ZGJvb2wuaD4NCj4+Pj4+ICNpZiBkZWZp
bmVkKENPTkZJR19YODYpDQo+Pj4+PiArLyoNCj4+Pj4+ICsgKiBXaGVuIGJ1aWxkaW5nIG9uIG5v
biB4ODYgaG9zdCwgYXJjaC14ODYveGVuLmggd2lsbCBpbmNsdWRlIHhlbi5oIHdoaWNoIHdpbGwN
Cj4+Pj4+ICsgKiB0cnkgdG8gaW5jbHVkZSB0aGUgYXJjaCB4ZW4uaCAoZm9yIGV4YW1wbGUgaWYg
YnVpbHQgb24gYXJtLCB4ODYveGVuLmggd2lsbA0KPj4+Pj4gKyAqIGluY2x1ZGUgeGVuLmggd2hp
Y2ggd2lsbCBpbmNsdWRlIGFyY2gtYXJtLmgpLg0KPj4+Pj4gKyAqIFRvIHByZXZlbnQgdGhpcyBl
ZmZlY3QsIGRlZmluZSB4ODYgdG8gaGF2ZSB0aGUgcHJvcGVyIHN1YiBhcmNoIGluY2x1ZGVkIHdo
ZW4NCj4+Pj4+ICsgKiB0aGUgY29tcGlsZXIgZG9lcyBub3QgZGVmaW5lIGl0Lg0KPj4+Pj4gKyAq
Lw0KPj4+Pj4gKyNpZiAhKGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykp
DQo+Pj4+PiArI2RlZmluZSBfX3g4Nl82NF9fDQo+Pj4+PiArI2VuZGlmDQo+Pj4+IA0KPj4+PiBC
ZXNpZGVzIGJlaW5nIGNvbmZ1c2luZyB0aGlzIGRlcGVuZHMgb24gdGhlIG9yZGVyIG9mIGNoZWNr
cyBpbiB4ZW4uaC4NCj4+Pj4gDQo+Pj4+PiAjaW5jbHVkZSA8eGVuL2FyY2gteDg2L3hlbi5oPg0K
Pj4+Pj4gI2luY2x1ZGUgPHhlbi9odm0vaHZtX2luZm9fdGFibGUuaD4NCj4+Pj4+ICNlbGlmIGRl
ZmluZWQoQ09ORklHX0FSTV82NCkNCj4+Pj4gDQo+Pj4+IEF0IHRoZSB2ZXJ5IGxlYXN0IHlvdSB3
aWxsIHdhbnQgdG8gI3VuZGVmIHRoZSBhdXhpbGlhcnkgZGVmaW5lIGFzIHNvb24NCj4+Pj4gYXMg
cHJhY3RpY2FsbHkgcG9zc2libGUuDQo+Pj4gDQo+Pj4gQWNrDQo+Pj4gDQo+Pj4+IA0KPj4+PiBC
dXQgSSB0aGluayBhIGRpZmZlcmVudCBzb2x1dGlvbiB3aWxsIHdhbnQgZmluZGluZy4gRGlkIHlv
dSBjaGVjayB3aGF0DQo+Pj4+IHRoZSAjaW5jbHVkZSBpcyBuZWVkZWQgZm9yLCByZWFsbHk/IEkn
dmUgZ2xhbmNlZCB0aHJvdWdoIHRoZSBmaWxlDQo+Pj4+IHdpdGhvdXQgYmVpbmcgYWJsZSB0byBz
cG90IGFueXRoaW5nIC4uLiBBZnRlciBhbGwgdGhpcyBpcyBhIGJ1aWxkIHRvb2wsDQo+Pj4+IHdo
aWNoIGdlbmVyYWxseSBjYW4ndCBjb3JyZWN0bHkgdXNlIG1hbnkgb2YgdGhlIHRoaW5ncyBkZWNs
YXJlZCBpbiB0aGUNCj4+Pj4gaGVhZGVyLg0KPj4+IA0KPj4+IEFzIHN0YXRlZCBpbiB0aGUgY29t
bWVudCBhZnRlciB0aGUgY29tbWl0IG1lc3NhZ2UsIHRoaXMgaXMgbm90IGEgZ29vZA0KPj4+IHNv
bHV0aW9uIGJ1dCBhbiBoYWNrLg0KPj4+IA0KPj4+IE5vdyBJIGRvIG5vdCBjb21wbGV0ZWx5IGFn
cmVlIGhlcmUsIHRoZSB0b29sIGlzIG5vdCByZWFsbHkgdGhlIHByb2JsZW0NCj4+PiBidXQgdGhl
IGhlYWRlcnMgYXJlLg0KPj4gDQo+PiBXZWxsIC0gdGhlIGlzc3VlIGlzIHRoZSB0b29sIGRlcGVu
ZGluZyBvbiB0aGVzZSBoZWFkZXJzLg0KPiANCj4gWWVzIGJ1dCB0aGUgdG9vbCBpdHNlbGYgY2Fu
bm90IHNvbHZlIHRoZSBpc3N1ZSwgd2UgbmVlZCB0byBoYXZlIHRoZSB2YWx1ZXMNCj4gaW4gcHJv
cGVybHkgYWNjZXNzaWJsZSBoZWFkZXJzLg0KPiANCj4+IA0KPj4+IFRoZXJlIGlzIG5vdCBzdWNo
IGFuIGlzc3VlIG9uIGFybS4NCj4+IA0KPj4gVGhlbiB3aHkgZG9lcyB0aGUgdG9vbCBpbmNsdWRl
IHhlbi9hcmNoLWFybS5oIGZvciBBcm02ND8NCj4gDQo+IEJlY2F1c2UgdGhpcyBoZWFkZXIgZGVm
aW5lcyB0aGUgdmFsdWVzIHJlcXVpcmVkIGFuZCBhcyBubyBzdWNoIHRoaW5nIGFzIGluY2x1ZGUg
eGVuLmguDQo+IFRoZSBwb2ludCBpcyBvbiBhcm0sIHRoZSBhcmNoLWFybS5oIGhlYWRlciBkb2Vz
IG5vdCBkZXBlbmQgb24gcGVyIGNwdSBkZWZpbmVzLg0KPiANCj4+IA0KPj4+IFRoZSB0b29sIG5l
ZWRzIGF0IGxlYXN0Og0KPj4+IEhWTV9NQVhfVkNQVVMNCj4+PiBYRU5fQUNQSV9DUFVfTUFQDQo+
Pj4gWEVOX0FDUElfQ1BVX01BUF9MRU4NCj4+PiBYRU5fQUNQSV9HUEUwX0NQVUhQX0JJVA0KPj4+
IA0KPj4+IFdoaWNoIGFyZSBkZWZpbmVkIGluIGFyY2gteDg2L3hlbi5oIGFuZCBodm1faW5mb190
YWJsZS5oLg0KPj4+IA0KPj4+IEkgYW0gbm90IHF1aXRlIHN1cmUgaG93IHRvIGdldCB0aG9zZSB3
aXRob3V0IHRoZSBjdXJyZW50IGluY2x1ZGUNCj4+IA0KPj4gMSkgTW92ZSB0aG9zZSAjZGVmaW5l
LXMgdG8gYSBzdGFuZGFsb25lIGhlYWRlciwgd2hpY2ggdGhlIG9uZXMNCj4+IGN1cnJlbnRseSBk
ZWZpbmluZyB0aGVtIHdvdWxkIHNpbXBseSBpbmNsdWRlLiBUaGUgdG9vbCB3b3VsZCB0aGVuDQo+
PiBpbmNsdWRlIF9vbmx5XyB0aGlzIG9uZSBoZWFkZXIuDQo+IA0KPiBTaG91bGRu4oCZdCB3ZSB0
cnkgdG8gdW5pZnkgYSBsaXR0bGUgYml0IHdoYXQgaXMgZG9uZSBvbiBhcm0gYW5kIHg4NiBoZXJl
ID8NCj4gTm90IG9ubHkgZm9yIHRoaXMgdG9vbCBidXQgaW4gZ2VuZXJhbCBpbiB0aGUgcHVibGlj
IGhlYWRlcnMNCj4gDQo+IEkgd2lsbCB0cnkgdG8gcmVkdWNlIHRoZSBwcm9ibGVtIGEgYml0IG1v
cmUgdG8gZmluZCB3aGF0IHdlIHdvdWxkIG5lZWQgdG8NCj4gcHVsbCBvdXQgaW4gYSBzdGFuZGFs
b25lIGhlYWRlci4NCg0KT25seSB0aGUgMyBYRU5fQUNQSV8gYXJlIG5lZWRlZCBhbmQgdGhvc2Ug
YXJlIGluIGZhY3Qgb25seSB1c2VkIGJ5IG1rX2RzZHQuYy4NCkhvdyBhYm91dCBtb3ZpbmcgdGhv
c2UgdG8gYSB4ZW4tYWNwaS5oIGhlYWRlciBhbmQgaW5jbHVkZSB0aGF0IG9uZSBpbiB4ZW4uaCA/
DQoNCk90aGVyIHNvbHV0aW9uIGFzIHRob3NlIGFyZSBvbmx5IHVzZWQgaW4gbWtfZHNkdCwgSSBj
b3VsZCBqdXN0IGRlZmluZSB0aGVtIHRoZXJlIOKApg0KDQpUaGlzIGlzIHRoZSBjb21taXQgd2hp
Y2ggY3JlYXRlZCB0aGUgaXNzdWU6DQpodHRwczovL3hlbmJpdHMueGVuLm9yZy9naXR3ZWIvP3A9
eGVuLmdpdDthPWNvbW1pdDtoPWQ2YWM4ZTIyYzdjNTUyNWRiMWRhNzlmZDFkMWYwM2VlNmI1NTdm
MGQNCg0KQW55IG90aGVyIGlkZWEgaG93IHRvIHByb3Blcmx5IGZpeCB0aGlzID8NCg0KQ2hlZXJz
DQpCZXJ0cmFuZA0KDQo+IA0KPj4gDQo+PiAyKSBTZWRkZXJ5IG9uIHRoZSBoZWFkZXJzLCBwcm9k
dWNpbmcgYSBsb2NhbCBvbmUgdG8gYmUgdXNlZCBieSB0aGUNCj4+IHRvb2wuDQo+IA0KPiBZb3Ug
bWVhbiBhdXRvZ2VuZXJhdGluZyBzb21ldGhpbmcgPyBUaGlzIHdvdWxkIGp1c3QgbW92ZSB0aGUg
cHJvYmxlbS4NCj4gDQo+IEJlcnRyYW5kDQo+IA0KPj4gDQo+PiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 15:27:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 15:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392036.630156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQVoN-00028y-4f; Tue, 23 Aug 2022 15:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392036.630156; Tue, 23 Aug 2022 15:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQVoN-00028r-29; Tue, 23 Aug 2022 15:27:27 +0000
Received: by outflank-mailman (input) for mailman id 392036;
 Tue, 23 Aug 2022 15:27:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQVoM-00028g-AM; Tue, 23 Aug 2022 15:27:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQVoM-0006A0-8I; Tue, 23 Aug 2022 15:27:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQVoL-0006Z9-Pq; Tue, 23 Aug 2022 15:27:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQVoL-0002gp-PM; Tue, 23 Aug 2022 15:27:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3glNyp+Jz5x/hRZNj8ORQQQHx4JRv+SNJvIwXetVmTw=; b=w8CVSd/wPYxjgBmjm2+8ZLBa9A
	QMWCf7cTUDlcmOWBFkpHl51R35pvjysqsYIRG9Pu6enpaJWbEH5dpmzDLYVpJw+pN+X0tP9/iTwBK
	orpP4N9ysqCYBkbGC2GH3KJjo43QGBwjTICINmnLAze3iAjA0gCqd3GdZ+1wzC29urY4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172730-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172730: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=399bcbf281bd936d1eff7f7d1054ab49115c3a44
X-Osstest-Versions-That:
    xen=696ee5ca9f4e2256e76056cf72a72001a9748f4c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 15:27:25 +0000

flight 172730 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172730/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172708
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  399bcbf281bd936d1eff7f7d1054ab49115c3a44
baseline version:
 xen                  696ee5ca9f4e2256e76056cf72a72001a9748f4c

Last test of basis   172708  2022-08-22 12:01:53 Z    1 days
Testing same since   172730  2022-08-23 12:03:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   696ee5ca9f..399bcbf281  399bcbf281bd936d1eff7f7d1054ab49115c3a44 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 15:45:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 15:45:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392045.630167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQW5i-0004jz-KT; Tue, 23 Aug 2022 15:45:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392045.630167; Tue, 23 Aug 2022 15:45:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQW5i-0004js-Hk; Tue, 23 Aug 2022 15:45:22 +0000
Received: by outflank-mailman (input) for mailman id 392045;
 Tue, 23 Aug 2022 15:45:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQW5g-0004jm-OS
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 15:45:21 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00074.outbound.protection.outlook.com [40.107.0.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 962adf50-22fa-11ed-9250-1f966e50362f;
 Tue, 23 Aug 2022 17:45:17 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB4776.eurprd04.prod.outlook.com (2603:10a6:20b:f::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Tue, 23 Aug
 2022 15:45:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 15:45:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 962adf50-22fa-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GJbox1OU/GUAmEly7F68UVVCOpqyF1q20fcfzFB2O7TyWJRbiHLVSLsbw8Qw1OnLXzsAhzLea1dT1bQdGLhg+8aOEqY5My/7my13ssu7QSx4TEdCAa0KJLyrakI0lmp6n3aZClhQTWdmcxKKTKDzI+2NPqjppdoAMuVObqQPEj8QQs3/ofh47iknksQpQ7bIe3ZEUhrpP0+eqwWHdCJYVfBKW45ie/y9ySUcp8pXq1d58OV0a+0kzFX09iUNNmEcBsnFyuef2H3LsOPjhUa6+UktOOmoRJIeRrIpsWVLqK5oLK62LyT977brLjysC1OAs2J2dEphPLjQug5+ycYeCw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fFIesEOhJDnpoT0eqmVKnof/p1/Ej6WXm7rLsNC7Bh8=;
 b=eKWxzW2pmLtGtzZvufgzXkUMuwzT6uxOTOHe7xeJvrn/RYrnUdpv8O90x01RuSDh/CQZffoJGtzZnBDAZcTUSvGEfwyMr2El2YJ5NyrRkXYVk42qgIZZk1qlbb0eVpxwWEUg34IoEWIfeWbZCVDtuAL8nI61bqgdl/HewaHVGgcXaHcS+mwb6FJgco7o1iWY/oelZtHO93cutnd9aYMlEaDR9WgisZvBXmMVznFaHZ4P4LSDwPJ5efoJq5yCi2jVc30suwFZIVisZaOZ5pP5f6Ds9DssNujqvxMimSi3TBfjGpgeIpf4zIH8mYqCF3eSNC9QfJYL2ENYq0jF3WUA1Q==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fFIesEOhJDnpoT0eqmVKnof/p1/Ej6WXm7rLsNC7Bh8=;
 b=lOc3Gb+SNedoFOnqNB9DYXnZ9BhSl4ST/HOHPeKPgguwJnG9vBDknv/wNXtdD9FQyBBCP9J3/D1FiRS24JLJRZa2sjvBMEp9uWlACXUFgbB3x8DzIfhz0oe717zQbkmvKD5Gs1DOFPO0KUBWGESisDCYkcrBou3bbh1vQHwew83+vwB7UGRzlqIbQsQAvRm5jkfM+6tOLNVzwjxyRfQ69r6GJ4GeybN5Zrb/nhyItZSY4BXi+0VVfTIjqv7FVMc6QYK8errfWXAKnwzHVZGYVlySEv324onwnl1ZPcpP0OJivRBoKXQ5LKuyP59gzqxD29GbzED0HTbu4W+FhRESKA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <348e6d5c-d846-3d8a-e26c-316ba6a98938@suse.com>
Date: Tue, 23 Aug 2022 17:45:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
 <C7766EB8-B741-4443-99C3-EB14C1EA9804@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <C7766EB8-B741-4443-99C3-EB14C1EA9804@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 92a4aeab-dc8e-493a-53d7-08da851e7973
X-MS-TrafficTypeDiagnostic: AM6PR04MB4776:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	U7Zrntu8XAovvR2UQxgn5a3TzdwjKmjVV3uM7XIKXFRdGV64KgEsEw2i2hj2oC2ilUc0QU0fcxFaz1FqV3i2cXTbpJiHaIEzDt2G2ThDth0ykse/JJD8TRp+m7bZLbQLIsPRfCJSyw3aCdydi9fPZuLjoVykhYCLhCUgPhEGc+5DTs7xGSBruUF+BdvhB/mTyjZCnGn/W44wjVfSakoAnRM+CKzgkyJ8o10bLKW5L66HszH9b9R1RoN+EjjT27MYpcaYEUNvt4lRxnF5op4hpguN2+dfLBwBi5RmbO9Ea70QqqS+bSC6u3SFw4MFTt2awYSjXGhgInkHspYmr34cKE0o0tQaiPhEsLIOFqVqKQw26WxzAlojpkZPpyIS0EfB5tbh+esuBkvaBeBNXrIafwnFrsePCx5QE7ldEXPew9wNvQKbCNrO1LjCCkcL+JuVRnbHamRPDEOv0cBWidgS0l7vvwa1DdSy4pQSbTpnpMXn1988ZQgZcgdzDXqyDaHZbk3fScKFbzDiQR79/cW9/8OFm01cJfs4N/Wemia6mKftBQ7rMdtDB1y4fNQFwRgr/nsYmmLnObLbtXloD+2t20QLbjBGLZrA9W6EhhK2fS6RfKnf+f04TCrtfjCbyMvy+Cryiv3JC0cJnI7OnOhROTcBCirLpF8MIKZEeZyd1QEd9SVMuV5AQmxMoerFDF453lZeYReEiLk52BtkpiWcRO6dB6G6M3q+AyLEH8+uSRRJ6gSz9GmFrIdodSgGhu0vToYES86Jbr1+iyHWgjGqB2blU7+2zfeG0+WFPZQ9VNk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(396003)(136003)(39860400002)(366004)(8676002)(4326008)(26005)(478600001)(6512007)(6506007)(53546011)(186003)(38100700002)(6486002)(31686004)(5660300002)(36756003)(8936002)(41300700001)(83380400001)(2906002)(31696002)(86362001)(66946007)(66556008)(6916009)(2616005)(316002)(54906003)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TE9wdUM5UGpDWDBYcGkyWXZJZFowMFpLdk9SZTF1ZDkrdnNlYXB1OGdKZmVy?=
 =?utf-8?B?TTc1aG9HVDU4OTNUcXYzekIxSy9lU29nOG1jcHpLcjMyRnB3cXRWTk5JNlYr?=
 =?utf-8?B?Smg1TTFTQjFYNWRaMmdxbHhNWlB0NjZTdDEwU3ZISy9GSkR3cTR3eWpVWU5h?=
 =?utf-8?B?cjl0R3R2My9RemJEWU9HZDdrdE9BZnByb1k4WE9vQTZ4THFrVmc1T0krVzJI?=
 =?utf-8?B?a0hvZ2sxWk5mLzhqL1ozZnlUMmRxckNUMkdCdVhDbytDdlZmTmJhdXI4ekkr?=
 =?utf-8?B?QjVSUnNaK2lLVTd5azB5WXpKZ1dZRFBNcWdFSm1xcEU1ZEgyYXl2QWExZUd1?=
 =?utf-8?B?WndvWXZTM2xUdkNMV3MvckdaUGV6SUl1N0g2akozaS9FeXFIelp2OHExMDQv?=
 =?utf-8?B?OFJoY1hUWDhnVkVNZFE2bVlYWFB6WXNVSmUyMUFyTjZuSVdCU2REd0t3T25D?=
 =?utf-8?B?cGk5S0doUURzRzc4azhHYVpFQU81TytlVjRXKzZWZ1N6eWtIM1o4cHRTa2tH?=
 =?utf-8?B?cjhQMExaTmxneGtLZE4wOWJRaGV6OVpwYy81N2M2c204cU41TnVQQTQ4YWlm?=
 =?utf-8?B?MEsrZGhKektSbEhIWlQ3aVNkMTRGWmRzdlhNQW56RDUvdE9obXJ2RXFFQUJK?=
 =?utf-8?B?b2tzeXZZZVI1b3p2eWh5Wk9sL0E3RFpsTjZBam82KzdBWUxOdmIyejlHdVBG?=
 =?utf-8?B?cWt1bmtuVWJOaDhYQlEvZXp0MXZuRnZhSDZ4YkwxUHVzekRMUitWMzlsK3hl?=
 =?utf-8?B?YnMxQWM3Q0gwVEFqUSsxenNoNnhUODdEVW83ODkxV2Mxb0FCZ290enhjRUVB?=
 =?utf-8?B?VDdKRGw5UThiTmlwMmhjbnBIRWZJZFpzTlZ6b1BlWVJqNTVNNXRzdU52TDR6?=
 =?utf-8?B?VlN3SUlhMWFQTWJwV0ZHZm1iTzNOUHVKYzBuLzlSdlN1YW0yR05MWGIydGw2?=
 =?utf-8?B?TjFFbEhoTVBXWHRZeGQ3N1E3MnNoaDdRdnl0UmtvWGFFN1huV0xSZTdTL1J3?=
 =?utf-8?B?MWxCd1FJV0MrWVNJWmZxTzV3d0V6QXo1a29NeUVOWEVHLzd2MGJRc0NmUWZz?=
 =?utf-8?B?eTVBUDd0NGJaTW9wK0UwUTA0OFNnM2lvOXdOR09QTzgrYW9mNVNxVVR3WHhh?=
 =?utf-8?B?UytGQ0hZRGVzV1oxL3FwekJPdTFpSUJ4WXRxb3BybU9PRC9MQXpVWDZHMXRI?=
 =?utf-8?B?V1Z0MlJqakQ0QUNmUGZiTVNNclNMWVhqa0NGQldWcWdPMUI3NWRHeEMwbUph?=
 =?utf-8?B?eFdVNzFFOXc2VlZzUVhMem1WaElzWVNXandpb3Z5eUhXQzF1ZWJYTU1MMERB?=
 =?utf-8?B?L09KaDIvN1pIWStCWFhiYmRFeElMMDcxSU1YdHZMNkxjSWxISFg3cXV0eUxo?=
 =?utf-8?B?Q0szUWFwbVZ2RFhpZllmZFFtUjBvQ3JBMjJhYTBFa3Vsdi9ibXQ2K052cTRi?=
 =?utf-8?B?WElWc0FycTVYUHVZTW5qZUk0MkNId2dIWExtT0oyY3ZGM2V5Si8vc2FsR0RP?=
 =?utf-8?B?VXRNZG1mbWRRemh4Mll2U2xOdGtKNUtUWFlCYmUrdUltM0gzZzc1Wm9zOHFq?=
 =?utf-8?B?VHArSThOcnpXVWl2SWkzK014dm8wM0N2RzI0NGxVUVR0dmppT3RtWTdrMDYy?=
 =?utf-8?B?UVZacG9JbFo5UFdSMmxhZ0orYkM2RWJDR2h0NEFlNkdaRlVBRGw1SWxuOEs3?=
 =?utf-8?B?UUtIS3R5S3hMdXhxVFF5NVJkK3VXN2s5YWNTZjc0ZVRRQ0piM0p2bGVkN3JO?=
 =?utf-8?B?Y0dxWlYvbGt6Z0Yrc1A0OHJoa1QxRHdQTWlzM2RuVzc1YnQyZ0lIRXQ2ZkNx?=
 =?utf-8?B?aTVSalFtVU43Z0hLMXhMelJUSXl5S0JsSTJoMTlVNFVZR2ZZZjNJdUh2WUJ2?=
 =?utf-8?B?Y2c1QjRPUG1zSXhlVWxNbnZlN2JrQk9EWFZxd2ZOUWd0OFM5ZEdEOHNsa2dm?=
 =?utf-8?B?NWJyZlJrODZIL1ZQUTRabjhlUHFWbGpjUnZwNjNYNHZOankrY0s5MkRyMWlY?=
 =?utf-8?B?K0RMNi9oT0N5Y0xzY2FDc1ZEb21TRGlGem9tNGZ5cmgvdElmejNSTGN4bEpZ?=
 =?utf-8?B?eHRBVVBobExxZEoxQi9xNVRSWVluaTh2d2hmQVBQbzhrclVSM3FYNC9XaHNT?=
 =?utf-8?Q?Bik3El/RIGdEycyKp6z9G5RCg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 92a4aeab-dc8e-493a-53d7-08da851e7973
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 15:45:16.0242
 (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: xpTA1tk+bnrwpBFeHFEhzoVGwGTPhF3C7SknITDt3ZAT1N6n+58Evseo+q65BOmZCUtXMAGYQ5SQ/ASQVdftXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4776

On 23.08.2022 17:09, Bertrand Marquis wrote:
>> On 23 Aug 2022, at 15:41, Bertrand Marquis <Bertrand.Marquis@arm.com> wrote:
>>> On 23 Aug 2022, at 15:31, Jan Beulich <jbeulich@suse.com> wrote:
>>> On 23.08.2022 15:34, Bertrand Marquis wrote:
>>>>> On 23 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>>>>> On 23.08.2022 12:24, Bertrand Marquis wrote:
>>>>>> --- a/tools/libacpi/mk_dsdt.c
>>>>>> +++ b/tools/libacpi/mk_dsdt.c
>>>>>> @@ -18,6 +18,16 @@
>>>>>> #include <stdlib.h>
>>>>>> #include <stdbool.h>
>>>>>> #if defined(CONFIG_X86)
>>>>>> +/*
>>>>>> + * When building on non x86 host, arch-x86/xen.h will include xen.h which will
>>>>>> + * try to include the arch xen.h (for example if built on arm, x86/xen.h will
>>>>>> + * include xen.h which will include arch-arm.h).
>>>>>> + * To prevent this effect, define x86 to have the proper sub arch included when
>>>>>> + * the compiler does not define it.
>>>>>> + */
>>>>>> +#if !(defined(__i386__) || defined(__x86_64__))
>>>>>> +#define __x86_64__
>>>>>> +#endif
>>>>>
>>>>> Besides being confusing this depends on the order of checks in xen.h.
>>>>>
>>>>>> #include <xen/arch-x86/xen.h>
>>>>>> #include <xen/hvm/hvm_info_table.h>
>>>>>> #elif defined(CONFIG_ARM_64)
>>>>>
>>>>> At the very least you will want to #undef the auxiliary define as soon
>>>>> as practically possible.
>>>>
>>>> Ack
>>>>
>>>>>
>>>>> But I think a different solution will want finding. Did you check what
>>>>> the #include is needed for, really? I've glanced through the file
>>>>> without being able to spot anything ... After all this is a build tool,
>>>>> which generally can't correctly use many of the things declared in the
>>>>> header.
>>>>
>>>> As stated in the comment after the commit message, this is not a good
>>>> solution but an hack.
>>>>
>>>> Now I do not completely agree here, the tool is not really the problem
>>>> but the headers are.
>>>
>>> Well - the issue is the tool depending on these headers.
>>
>> Yes but the tool itself cannot solve the issue, we need to have the values
>> in properly accessible headers.
>>
>>>
>>>> There is not such an issue on arm.
>>>
>>> Then why does the tool include xen/arch-arm.h for Arm64?
>>
>> Because this header defines the values required and as no such thing as include xen.h.
>> The point is on arm, the arch-arm.h header does not depend on per cpu defines.
>>
>>>
>>>> The tool needs at least:
>>>> HVM_MAX_VCPUS
>>>> XEN_ACPI_CPU_MAP
>>>> XEN_ACPI_CPU_MAP_LEN
>>>> XEN_ACPI_GPE0_CPUHP_BIT
>>>>
>>>> Which are defined in arch-x86/xen.h and hvm_info_table.h.
>>>>
>>>> I am not quite sure how to get those without the current include
>>>
>>> 1) Move those #define-s to a standalone header, which the ones
>>> currently defining them would simply include. The tool would then
>>> include _only_ this one header.
>>
>> Shouldnâ€™t we try to unify a little bit what is done on arm and x86 here ?
>> Not only for this tool but in general in the public headers

Where possible I'm all for it.

>> I will try to reduce the problem a bit more to find what we would need to
>> pull out in a standalone header.
> 
> Only the 3 XEN_ACPI_ are needed

Yet XEN_ACPI_CPU_MAP_LEN drives from HVM_MAX_VCPUS.

> and those are in fact only used by mk_dsdt.c.

Well - that's the only thing we talk about here. Building target code
is fine to use the headers. Building code to run on the build system
is where the headers should not be used.

> How about moving those to a xen-acpi.h header and include that one in xen.h ?

In principle okay, if there wasn't the need for HVM_MAX_VCPUS. With a
suitable comment it may be okay to live there. I'd be curious what
others think.

> Other solution as those are only used in mk_dsdt, I could just define them there â€¦

Please let's try hard to avoid doing so.

>>> 2) Seddery on the headers, producing a local one to be used by the
>>> tool.
>>
>> You mean autogenerating something ? This would just move the problem.

Why?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 15:57:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 15:57:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392051.630179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQWHD-0006M3-Mx; Tue, 23 Aug 2022 15:57:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392051.630179; Tue, 23 Aug 2022 15:57:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQWHD-0006Lw-KB; Tue, 23 Aug 2022 15:57:15 +0000
Received: by outflank-mailman (input) for mailman id 392051;
 Tue, 23 Aug 2022 15:57:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jact=Y3=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQWHC-0006Lq-4E
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 15:57:14 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70089.outbound.protection.outlook.com [40.107.7.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40b97fe4-22fc-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 17:57:13 +0200 (CEST)
Received: from AM6P192CA0071.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:82::48)
 by AM0PR08MB3634.eurprd08.prod.outlook.com (2603:10a6:208:d6::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug
 2022 15:57:10 +0000
Received: from VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:82:cafe::fc) by AM6P192CA0071.outlook.office365.com
 (2603:10a6:209:82::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.17 via Frontend
 Transport; Tue, 23 Aug 2022 15:57:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT043.mail.protection.outlook.com (10.152.19.122) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Tue, 23 Aug 2022 15:57:09 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Tue, 23 Aug 2022 15:57:09 +0000
Received: from 6c31b2fb5787.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E70CE227-5BD4-43C9-8DF9-11C161DF4900.1; 
 Tue, 23 Aug 2022 15:57:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6c31b2fb5787.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Aug 2022 15:57:01 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB7441.eurprd08.prod.outlook.com (2603:10a6:102:2b9::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug
 2022 15:56:59 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022
 15:56:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40b97fe4-22fc-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=SgyZHESH59XX0bvdYwhFqGvhVN8dG9NQTr8yDemlZKw63rZTz/YpjEVbVNc2QwKxZ68YDi3+pasNQiwjnAMwnp46+SPcu87qxYP3gehgWwBnLaUc/5Rfm0VpfNTiZcoLZnSq3UeWVDRo268Xjpb/2jr7HSlwnUArDu7t4Cs2AG3TiIfmYbRKRLEFe3s7B/6XEvxY5s3Bgv2H2GsnIyBRi99FPgmlb5GbEqFmqE5qZOH138p4RaA8Jkdf7h9Wb649Ol/hO5VqTnw6X7Rs2H18jucDscKzIRbZ3UHFTBcAaIKgK1gHFyOwboloJInfZi+Dt96QLF3NunBBGpSjFXmtxA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lcZVFge0LIqYKORMto2zGpILYilLeRdPa+Ojl9VHZ7Y=;
 b=EHgbirSNFndimh423++p7TKh1eco6UepsrjmSFvY1TLQUC44duX7Tz2ptKduv39ufm5/sG2HL6X6YP78j+C8IU/sviyIqfW9uQ74Rv4PLKoCpZ6nAwjPGfZq7nfHSVaQ3VQb8nBPNbBc1g7vOVwYnHadFhBXlVHiteq5CyiaS9+588FG9IEEmrmV012TTs1GWL2KEgXoEyQZ9+f3Yw3TUQqteINcvvKplq2KGEs//x2lyCvhm/NCC1ilI86n3Jttu/EjJ8Q+Co2XEd2xwh5ZRiqvqFx5BX3CtJu50AATrBKO1YV6o8BCDdvFsHSzmvCj63jtHTXBFvodKo+4Khh37A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lcZVFge0LIqYKORMto2zGpILYilLeRdPa+Ojl9VHZ7Y=;
 b=uNrKRr3g7mIQHCcI5FlOoHWOjRS4twmXdlO1HfgtTzHX030RqmF9pYpbSSccauANFR/dBT01suotCzK3sVAhCCrwZk9u2UTrADEs5oaaPlFD+I/gJm4NGEUvPn4QBr6XiWbyPreLik/Xh4FghyIarebi0Qpckib35JxXo+qhVHE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ba356667759090da
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XwC/NQHbmml/8Xw9axxaLN9fq22ppCnLhgghddzdwETevoqhFiqoU2KJfqnTAxQhg7cZerXT/kXnGMKw1Gy84yATNJOB7l276Lk2666TYbx3RW/QVQPnFBtS2+Go52UFNIZXYo+sJ6cT0Mvj17wZcOhTCKKPz+k1LXpv5jFKBwVWcoGQ0HX6pVX+Ziphxbme17K80qYelx+MfZ4q7OfGYQfvz2pQmh8UvrbS7bR9HjzKCh/ImOhmhFLKSeUv/5NXPYr+UESif/9UvbCNqYtnZo8fkfIpL1ufVMJ5CvQiguHLl2/LIa8NgfTQQqIOZMsMmgGJTM2xGr7cHnFZKGqSBQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lcZVFge0LIqYKORMto2zGpILYilLeRdPa+Ojl9VHZ7Y=;
 b=PFO2XO4SD6PmN1F+f8abv6FHZXqdKcioMcOL0wRSr7x6BuwUXoVBy5xb7UOkqeQO7V2hS455JelWVtAdTGeXqKlJd89JZybTqkblffbV5KikydGD6OEGXkHUDC3/hfCyu2HqechacMTO/k3wmcg1a+M2bgilXYpy6E79aEHTGiWwz0ro7SoYB1oFevX4k5Io3ACBQAPkCXAK0wsH0rrYJxvONCBNLv9Oin8u4Aa2vR+JitOaSc2HdYRoLfmSWJ/5BfVGcURJF5sHrHxzs2GAXWUnu0KzVEowPlqcRYdjL21YuN6DKSxOd0o/1IHihLg3ejSTSE0VdAt86SglAqqMPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lcZVFge0LIqYKORMto2zGpILYilLeRdPa+Ojl9VHZ7Y=;
 b=uNrKRr3g7mIQHCcI5FlOoHWOjRS4twmXdlO1HfgtTzHX030RqmF9pYpbSSccauANFR/dBT01suotCzK3sVAhCCrwZk9u2UTrADEs5oaaPlFD+I/gJm4NGEUvPn4QBr6XiWbyPreLik/Xh4FghyIarebi0Qpckib35JxXo+qhVHE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Topic: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Index:
 AQHYttqU3r7Sk/IKHkKroerrTRS8F628a1KAgAARJACAABAJgIAAAokAgAAIAACAAAnuAIAAA0iA
Date: Tue, 23 Aug 2022 15:56:59 +0000
Message-ID: <F1E1B306-5C4C-44C1-B4BE-E546B0B67C97@arm.com>
References:
 <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
 <C7766EB8-B741-4443-99C3-EB14C1EA9804@arm.com>
 <348e6d5c-d846-3d8a-e26c-316ba6a98938@suse.com>
In-Reply-To: <348e6d5c-d846-3d8a-e26c-316ba6a98938@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 4e56af6c-4356-410c-9f3b-08da852022ee
x-ms-traffictypediagnostic:
	PAXPR08MB7441:EE_|VE1EUR03FT043:EE_|AM0PR08MB3634:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 IG5dyBx4byIGe6iM950914w8QA4j6xbbZz8/PJUpSQRbg8rQ2R0n7Lkq7bjARPplaPGGhMQhJmF22yvzmLaKETfu88E4rvn1nEFK/WW/BtIijSsG8taQpTM+doNoxxPFRwPANEzoEWUDxY98HMwPr62U0zA0CJkwzY22gTjb/KVdzyaDn5xIPUi+qIK/K5st9lmTvsZxA+TxPuXDxqCY05/cEhtQQLmaYvfNSagVViFf7PbdQiM4H5614OM/rKFAIZd1Lb+6u0DzCy5K2INZw2seUFnJC7CjbFrEQ5evEBav+xU+Y9w7ogexmnYKbY4uIJWQO+RIynplB6jjUiQzV18vgWel8Rzglj3zwAc5wsVAGjFbbyGEd7sO5Sp3IoV+ySHftdsCH3NlHMNk62Cljab0A2wWGWKNy7nTv2nCzVI+j32bZ2ImVvdEWrqaxX+oBRXUTXMmkVSWD7gjZkEDeetUIan8u7KjCZZWe446lJFVdw27oqeiJmNrM/37IcBpCdigMLdASUtAEFDLHl6hmcQiZclgqsKKUR4r/7gG18jHYydhCDpJEiuXuLtgoSOw/fLBMY9zU/bUbRNMND5C9olZzfQHvcHyqUX5djQiF0hKqEKeIHfb1m4uPTOxpQYGZ760rvTNtvo41IGdNFkaof8QcoaJbS4E6zbEtKHH0o8QDsr52JSEv3L1ezPApLkOF3jnoDKkQtJdT5ypc+cS7SGYl4bxx5ScnOUT4MMdsbqsH9HHytu5yVyVxTgu0TRD5geIdfaOVYu6DB/LlXdHehR0TJurwrB9YED1SgEuAy0=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(136003)(376002)(366004)(346002)(2906002)(6512007)(83380400001)(26005)(2616005)(6506007)(53546011)(186003)(33656002)(38070700005)(86362001)(38100700002)(122000001)(64756008)(6486002)(66946007)(8936002)(76116006)(41300700001)(316002)(66476007)(5660300002)(66556008)(66446008)(6916009)(54906003)(478600001)(36756003)(71200400001)(4326008)(8676002)(91956017)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0364A493FA7FA146A1933A9539151748@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7441
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	48be348a-809d-4bc2-6831-08da85201cfb
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Bfit6ZG8mbdj1NrD8qcwObCgDU4BBDLCY/XEhwn/9m7Ogws6EqW6t2cZAz40QtkbIMbXOVwO/UxDe8FycNCYnuGas33QTXpnScCs4THH3Q9fXEePE04LuC3Z6jNojXNeDGuN/j7Grn6rOhb6lJdNITrcPczK7ij0lWM2ZtKxBCCa+LqzcPwURomWkfzo896j45EhZpWfLVKYi6Zl4LYU7SzWIJoFXxPlEJ/1NOJhi5/oyd01eLqBnhsRQY6eV0Fo4lxmTeM/kYrb8omMhZSwyRO1I/Vx2+e5VwX19IqvRyJE5q0cwc2aZC3S2LHRz2k8/ZfSwnhu+mFE8yhhcO315rtTCm3eTELOeOr9AqFOqWxUxfF9XzoEU0qyNrHpcKAis9+X9/5G5UtL37UAT7unV+I0pyvBHYik2sGjCY8inx3latn+coETGx5hisTqFASyKxlIyI0/FoFcuYxCcW2+Hb8ibYQl+zq+Y08C04heOpKEuVvnu24RRPhpZ8pdjib+iCfSXJjxT0PfnlG0MyJlLqXA8X2LxilsP250pv99Hp3hb/mmsnjxosH1oD0s5niKpPCl/8nHX+UCQcLuSfjhGLjj2v8WUBK7fpjpoi4ZI6jGMBkCf1tnP4C2wLNnQZncuTVaMutTpFB1uUctSmzoXbaSRlbreaxGVK5PSsLymbZoCAevs6dIBF7I2HzRXOiX/0FFVpPFZnLm1W/e9XsV8T/uopjXHBEbx0PFU3GYi90x4/cIw1e/hNsrSsIV8PyfW+Nwzt2VVoPaCKRVYI/DRA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(136003)(39860400002)(396003)(40470700004)(36840700001)(46966006)(82310400005)(8936002)(70586007)(8676002)(4326008)(6862004)(5660300002)(70206006)(6486002)(6506007)(33656002)(53546011)(26005)(41300700001)(6512007)(36756003)(2906002)(336012)(2616005)(83380400001)(186003)(478600001)(47076005)(40480700001)(81166007)(40460700003)(356005)(86362001)(36860700001)(316002)(54906003)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 15:57:09.6451
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e56af6c-4356-410c-9f3b-08da852022ee
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3634

DQoNCj4gT24gMjMgQXVnIDIwMjIsIGF0IDE2OjQ1LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjMuMDguMjAyMiAxNzowOSwgQmVydHJhbmQgTWFycXVp
cyB3cm90ZToNCj4+PiBPbiAyMyBBdWcgMjAyMiwgYXQgMTU6NDEsIEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+Pj4+IE9uIDIzIEF1ZyAyMDIyLCBh
dCAxNTozMSwgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+Pj4gT24g
MjMuMDguMjAyMiAxNTozNCwgQmVydHJhbmQgTWFycXVpcyB3cm90ZToNCj4+Pj4+PiBPbiAyMyBB
dWcgMjAyMiwgYXQgMTM6MzMsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4gd3JvdGU6
DQo+Pj4+Pj4gT24gMjMuMDguMjAyMiAxMjoyNCwgQmVydHJhbmQgTWFycXVpcyB3cm90ZToNCj4+
Pj4+Pj4gLS0tIGEvdG9vbHMvbGliYWNwaS9ta19kc2R0LmMNCj4+Pj4+Pj4gKysrIGIvdG9vbHMv
bGliYWNwaS9ta19kc2R0LmMNCj4+Pj4+Pj4gQEAgLTE4LDYgKzE4LDE2IEBADQo+Pj4+Pj4+ICNp
bmNsdWRlIDxzdGRsaWIuaD4NCj4+Pj4+Pj4gI2luY2x1ZGUgPHN0ZGJvb2wuaD4NCj4+Pj4+Pj4g
I2lmIGRlZmluZWQoQ09ORklHX1g4NikNCj4+Pj4+Pj4gKy8qDQo+Pj4+Pj4+ICsgKiBXaGVuIGJ1
aWxkaW5nIG9uIG5vbiB4ODYgaG9zdCwgYXJjaC14ODYveGVuLmggd2lsbCBpbmNsdWRlIHhlbi5o
IHdoaWNoIHdpbGwNCj4+Pj4+Pj4gKyAqIHRyeSB0byBpbmNsdWRlIHRoZSBhcmNoIHhlbi5oIChm
b3IgZXhhbXBsZSBpZiBidWlsdCBvbiBhcm0sIHg4Ni94ZW4uaCB3aWxsDQo+Pj4+Pj4+ICsgKiBp
bmNsdWRlIHhlbi5oIHdoaWNoIHdpbGwgaW5jbHVkZSBhcmNoLWFybS5oKS4NCj4+Pj4+Pj4gKyAq
IFRvIHByZXZlbnQgdGhpcyBlZmZlY3QsIGRlZmluZSB4ODYgdG8gaGF2ZSB0aGUgcHJvcGVyIHN1
YiBhcmNoIGluY2x1ZGVkIHdoZW4NCj4+Pj4+Pj4gKyAqIHRoZSBjb21waWxlciBkb2VzIG5vdCBk
ZWZpbmUgaXQuDQo+Pj4+Pj4+ICsgKi8NCj4+Pj4+Pj4gKyNpZiAhKGRlZmluZWQoX19pMzg2X18p
IHx8IGRlZmluZWQoX194ODZfNjRfXykpDQo+Pj4+Pj4+ICsjZGVmaW5lIF9feDg2XzY0X18NCj4+
Pj4+Pj4gKyNlbmRpZg0KPj4+Pj4+IA0KPj4+Pj4+IEJlc2lkZXMgYmVpbmcgY29uZnVzaW5nIHRo
aXMgZGVwZW5kcyBvbiB0aGUgb3JkZXIgb2YgY2hlY2tzIGluIHhlbi5oLg0KPj4+Pj4+IA0KPj4+
Pj4+PiAjaW5jbHVkZSA8eGVuL2FyY2gteDg2L3hlbi5oPg0KPj4+Pj4+PiAjaW5jbHVkZSA8eGVu
L2h2bS9odm1faW5mb190YWJsZS5oPg0KPj4+Pj4+PiAjZWxpZiBkZWZpbmVkKENPTkZJR19BUk1f
NjQpDQo+Pj4+Pj4gDQo+Pj4+Pj4gQXQgdGhlIHZlcnkgbGVhc3QgeW91IHdpbGwgd2FudCB0byAj
dW5kZWYgdGhlIGF1eGlsaWFyeSBkZWZpbmUgYXMgc29vbg0KPj4+Pj4+IGFzIHByYWN0aWNhbGx5
IHBvc3NpYmxlLg0KPj4+Pj4gDQo+Pj4+PiBBY2sNCj4+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+IEJ1
dCBJIHRoaW5rIGEgZGlmZmVyZW50IHNvbHV0aW9uIHdpbGwgd2FudCBmaW5kaW5nLiBEaWQgeW91
IGNoZWNrIHdoYXQNCj4+Pj4+PiB0aGUgI2luY2x1ZGUgaXMgbmVlZGVkIGZvciwgcmVhbGx5PyBJ
J3ZlIGdsYW5jZWQgdGhyb3VnaCB0aGUgZmlsZQ0KPj4+Pj4+IHdpdGhvdXQgYmVpbmcgYWJsZSB0
byBzcG90IGFueXRoaW5nIC4uLiBBZnRlciBhbGwgdGhpcyBpcyBhIGJ1aWxkIHRvb2wsDQo+Pj4+
Pj4gd2hpY2ggZ2VuZXJhbGx5IGNhbid0IGNvcnJlY3RseSB1c2UgbWFueSBvZiB0aGUgdGhpbmdz
IGRlY2xhcmVkIGluIHRoZQ0KPj4+Pj4+IGhlYWRlci4NCj4+Pj4+IA0KPj4+Pj4gQXMgc3RhdGVk
IGluIHRoZSBjb21tZW50IGFmdGVyIHRoZSBjb21taXQgbWVzc2FnZSwgdGhpcyBpcyBub3QgYSBn
b29kDQo+Pj4+PiBzb2x1dGlvbiBidXQgYW4gaGFjay4NCj4+Pj4+IA0KPj4+Pj4gTm93IEkgZG8g
bm90IGNvbXBsZXRlbHkgYWdyZWUgaGVyZSwgdGhlIHRvb2wgaXMgbm90IHJlYWxseSB0aGUgcHJv
YmxlbQ0KPj4+Pj4gYnV0IHRoZSBoZWFkZXJzIGFyZS4NCj4+Pj4gDQo+Pj4+IFdlbGwgLSB0aGUg
aXNzdWUgaXMgdGhlIHRvb2wgZGVwZW5kaW5nIG9uIHRoZXNlIGhlYWRlcnMuDQo+Pj4gDQo+Pj4g
WWVzIGJ1dCB0aGUgdG9vbCBpdHNlbGYgY2Fubm90IHNvbHZlIHRoZSBpc3N1ZSwgd2UgbmVlZCB0
byBoYXZlIHRoZSB2YWx1ZXMNCj4+PiBpbiBwcm9wZXJseSBhY2Nlc3NpYmxlIGhlYWRlcnMuDQo+
Pj4gDQo+Pj4+IA0KPj4+Pj4gVGhlcmUgaXMgbm90IHN1Y2ggYW4gaXNzdWUgb24gYXJtLg0KPj4+
PiANCj4+Pj4gVGhlbiB3aHkgZG9lcyB0aGUgdG9vbCBpbmNsdWRlIHhlbi9hcmNoLWFybS5oIGZv
ciBBcm02ND8NCj4+PiANCj4+PiBCZWNhdXNlIHRoaXMgaGVhZGVyIGRlZmluZXMgdGhlIHZhbHVl
cyByZXF1aXJlZCBhbmQgYXMgbm8gc3VjaCB0aGluZyBhcyBpbmNsdWRlIHhlbi5oLg0KPj4+IFRo
ZSBwb2ludCBpcyBvbiBhcm0sIHRoZSBhcmNoLWFybS5oIGhlYWRlciBkb2VzIG5vdCBkZXBlbmQg
b24gcGVyIGNwdSBkZWZpbmVzLg0KPj4+IA0KPj4+PiANCj4+Pj4+IFRoZSB0b29sIG5lZWRzIGF0
IGxlYXN0Og0KPj4+Pj4gSFZNX01BWF9WQ1BVUw0KPj4+Pj4gWEVOX0FDUElfQ1BVX01BUA0KPj4+
Pj4gWEVOX0FDUElfQ1BVX01BUF9MRU4NCj4+Pj4+IFhFTl9BQ1BJX0dQRTBfQ1BVSFBfQklUDQo+
Pj4+PiANCj4+Pj4+IFdoaWNoIGFyZSBkZWZpbmVkIGluIGFyY2gteDg2L3hlbi5oIGFuZCBodm1f
aW5mb190YWJsZS5oLg0KPj4+Pj4gDQo+Pj4+PiBJIGFtIG5vdCBxdWl0ZSBzdXJlIGhvdyB0byBn
ZXQgdGhvc2Ugd2l0aG91dCB0aGUgY3VycmVudCBpbmNsdWRlDQo+Pj4+IA0KPj4+PiAxKSBNb3Zl
IHRob3NlICNkZWZpbmUtcyB0byBhIHN0YW5kYWxvbmUgaGVhZGVyLCB3aGljaCB0aGUgb25lcw0K
Pj4+PiBjdXJyZW50bHkgZGVmaW5pbmcgdGhlbSB3b3VsZCBzaW1wbHkgaW5jbHVkZS4gVGhlIHRv
b2wgd291bGQgdGhlbg0KPj4+PiBpbmNsdWRlIF9vbmx5XyB0aGlzIG9uZSBoZWFkZXIuDQo+Pj4g
DQo+Pj4gU2hvdWxkbuKAmXQgd2UgdHJ5IHRvIHVuaWZ5IGEgbGl0dGxlIGJpdCB3aGF0IGlzIGRv
bmUgb24gYXJtIGFuZCB4ODYgaGVyZSA/DQo+Pj4gTm90IG9ubHkgZm9yIHRoaXMgdG9vbCBidXQg
aW4gZ2VuZXJhbCBpbiB0aGUgcHVibGljIGhlYWRlcnMNCj4gDQo+IFdoZXJlIHBvc3NpYmxlIEkn
bSBhbGwgZm9yIGl0Lg0KPiANCj4+PiBJIHdpbGwgdHJ5IHRvIHJlZHVjZSB0aGUgcHJvYmxlbSBh
IGJpdCBtb3JlIHRvIGZpbmQgd2hhdCB3ZSB3b3VsZCBuZWVkIHRvDQo+Pj4gcHVsbCBvdXQgaW4g
YSBzdGFuZGFsb25lIGhlYWRlci4NCj4+IA0KPj4gT25seSB0aGUgMyBYRU5fQUNQSV8gYXJlIG5l
ZWRlZA0KPiANCj4gWWV0IFhFTl9BQ1BJX0NQVV9NQVBfTEVOIGRyaXZlcyBmcm9tIEhWTV9NQVhf
VkNQVVMuDQo+IA0KPj4gYW5kIHRob3NlIGFyZSBpbiBmYWN0IG9ubHkgdXNlZCBieSBta19kc2R0
LmMuDQo+IA0KPiBXZWxsIC0gdGhhdCdzIHRoZSBvbmx5IHRoaW5nIHdlIHRhbGsgYWJvdXQgaGVy
ZS4gQnVpbGRpbmcgdGFyZ2V0IGNvZGUNCj4gaXMgZmluZSB0byB1c2UgdGhlIGhlYWRlcnMuIEJ1
aWxkaW5nIGNvZGUgdG8gcnVuIG9uIHRoZSBidWlsZCBzeXN0ZW0NCj4gaXMgd2hlcmUgdGhlIGhl
YWRlcnMgc2hvdWxkIG5vdCBiZSB1c2VkLg0KPiANCj4+IEhvdyBhYm91dCBtb3ZpbmcgdGhvc2Ug
dG8gYSB4ZW4tYWNwaS5oIGhlYWRlciBhbmQgaW5jbHVkZSB0aGF0IG9uZSBpbiB4ZW4uaCA/DQo+
IA0KPiBJbiBwcmluY2lwbGUgb2theSwgaWYgdGhlcmUgd2Fzbid0IHRoZSBuZWVkIGZvciBIVk1f
TUFYX1ZDUFVTLiBXaXRoIGENCj4gc3VpdGFibGUgY29tbWVudCBpdCBtYXkgYmUgb2theSB0byBs
aXZlIHRoZXJlLiBJJ2QgYmUgY3VyaW91cyB3aGF0DQo+IG90aGVycyB0aGluay4NCg0KVGhlIHBy
b2JsZW0gd2l0aCB0aGlzIGFscmVhZHkgZXhpc3RzIGluIHRoZSBjdXJyZW50IHN0YXR1cyBhcyB0
aGlzIGlzIGRlZmluZWQgaW4NCmh2bV9pbmZvX3RhYmxlLmggd2hpY2ggaXMgbmV2ZXIgaW5jbHVk
ZWQgZnJvbSBhcmNoLXg4Ni94ZW4uaA0KDQpJbmNsdWRpbmcgaHZtX2luZm9fdGFibGUuaCBmcm9t
IHhlbi1hY3BpLmggY291bGQgY3JlYXRlIGluY2x1ZGUgcGF0aCBpc3N1ZXMuDQoNCkJ1dCBhcyB0
aG9zZSBhcmUgdXNlZCBub3doZXJlIGFwYXJ0IGZyb20gbWtfZHNkdCwgSSB3b3VsZCBwcm9iYWJs
eSBza2lwIHRoZQ0KaW5jbHVkZSBvZiB4ZW4tYWNwaS5oIGZyb20geGVuLmguDQoNCkFueSBjaGFu
Y2UgdGhhdCB0aG9zZSBYRU5fQUNQSV8gYXJlIG5lZWRlZCBieSBzb21lIGV4dGVybmFsIHRvb2xz
IHRoYXQNCmNvdWxkIGdldCBicm9rZW4gYnkgdGhpcyBtb2RpZmljYXRpb24gPw0KDQo+IA0KPj4g
T3RoZXIgc29sdXRpb24gYXMgdGhvc2UgYXJlIG9ubHkgdXNlZCBpbiBta19kc2R0LCBJIGNvdWxk
IGp1c3QgZGVmaW5lIHRoZW0gdGhlcmUg4oCmDQo+IA0KPiBQbGVhc2UgbGV0J3MgdHJ5IGhhcmQg
dG8gYXZvaWQgZG9pbmcgc28uDQoNCkFncmVlDQoNCj4gDQo+Pj4+IDIpIFNlZGRlcnkgb24gdGhl
IGhlYWRlcnMsIHByb2R1Y2luZyBhIGxvY2FsIG9uZSB0byBiZSB1c2VkIGJ5IHRoZQ0KPj4+PiB0
b29sLg0KPj4+IA0KPj4+IFlvdSBtZWFuIGF1dG9nZW5lcmF0aW5nIHNvbWV0aGluZyA/IFRoaXMg
d291bGQganVzdCBtb3ZlIHRoZSBwcm9ibGVtLg0KPiANCj4gV2h5Pw0KDQpZb3Ugd291bGQgaGF2
ZSB0byBoYW5kbGUgdGhlIGFyY2ggc3BlY2lmaWMgcGFydCB0aGVyZS4gSSB3b3VsZCByYXRoZXIg
cHJldmVudCBhbnkNCmF1dG8tZ2VuZXJhdGlvbiBoZXJlIGFuZCBzdGljayB3aXRoIGJldHRlciBk
ZWZpbmVkIGhlYWRlcnMuDQoNCj4gDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 16:15:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 16:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392058.630190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQWZ7-00018E-Bd; Tue, 23 Aug 2022 16:15:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392058.630190; Tue, 23 Aug 2022 16:15:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQWZ7-000187-8U; Tue, 23 Aug 2022 16:15:45 +0000
Received: by outflank-mailman (input) for mailman id 392058;
 Tue, 23 Aug 2022 16:15:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TRIX=Y3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQWZ5-000181-CU
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 16:15:43 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50049.outbound.protection.outlook.com [40.107.5.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d525404c-22fe-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 18:15:41 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DU0PR04MB9418.eurprd04.prod.outlook.com (2603:10a6:10:359::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.23; Tue, 23 Aug
 2022 16:15:38 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::d6e:b15e:4c8f:a907]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::d6e:b15e:4c8f:a907%4]) with mapi id 15.20.5546.021; Tue, 23 Aug 2022
 16:15:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d525404c-22fe-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cqp2Ks3I636Hgv+zj4cfxI66w6qFqaZ5cqD8dSx1mbNbnMJXmzoTe7g1D9Lu2rZIqoL7pY5FjK/Sh9UJ7w5W7SCFmTeg/GtFBR9eCP71UyW8uozauW5xL1vmnqtNWRSVwqTa1yJvnzQAhCveKr7AJJsq6Zm8xMZLNjYPhweEhelPSuloxrNA4FnUEhLTN2vFvjekGtjfubsGwV+2Ockxrs795H3lh+Fvgj5eoO+gvOGJT8x+O1OW4q5rWHDD12RtShiPw3MWCwqXoJ99pFxOEIA/QgupfqUM1c1RNG/t7pBVdMbfYujefWTb+d7Ht+dkM4PfcDoW1B7+7oFKD+jURQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xE+8Zf3Ld4qAW7RUD6s/LnYiLlHMrnTAEmP9qpLRDSE=;
 b=h/8XUs9BK6+RiR/EObF5AW0Swknzv4LBJNGH1duaZa6GUtWZA6KRIqPRwofHDlC0PxAFwjZIe31g8jIL2BnVfysFmr0Ti3b5rZJY1tvJQZkP/r2niUMMdcklVicpw69UBNSPI8IR7YZl9OYDL6abrDi1MIOjb11TO3PJnjurc340LWuB4ZxQg41fZYuaSN2bwbTDdWCDazRvL8scvFCD89Kk3sjLLQiPvqh5HMJ6e0qRwYcjy/VnVJUNBwK1zE2GN4eR6vAtOPCzBfBFAWiU0X7XPq9AUUzjsnu8YbUgiAdLyF/mDN5GUWqzBPO5UlR4OpVh32z17q6UXJJ7NMnxdw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xE+8Zf3Ld4qAW7RUD6s/LnYiLlHMrnTAEmP9qpLRDSE=;
 b=RhtxFsEjPcahx0E6AwpkE03MP49bgh31g6dxXnCrAJTvoEmrd88A9O90aklV+wvVpj0PTQIo5XRXWIGc0VkXJENrIAjckLQNq6SHXjX88/rHFJ8N/oH2+twaIKrJZZAttXTwOzdTXP6MBbzt9xZDBBK1osFRrmjG2cXS+bvNEfN41+/NNlglnjMcbnfKJIy0xJBm1aJSgqcnNxST6pYHMOABjhW6cveN3+XGGs3e9Dwss2ZGzI8gNmJMV7oOFufUJ0dnrWlvmA7iVqS72goQi+dXBA/Cni1ecYEm9Isx0ZinYJ6MUGyBXRA4r22hyNBAKqXog7EeEp7uW1NiU+rPsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <824f5b58-4a54-45a6-a5e9-bdc8532e89cc@suse.com>
Date: Tue, 23 Aug 2022 18:15:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0060.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::17) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6e799f92-bb4b-4916-7328-08da8522b79a
X-MS-TrafficTypeDiagnostic: DU0PR04MB9418:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mqjsPZzix/pZJ/s1newdZRxu0lSOMrr52uDQwMtm7pXJB94gPvci8fDfUcggATAOSsGAS5waZQO3njkxKnM1qS3iLXgWR8XpuFqUm0lXCaGgzdpvS7/KG79nWdRyLjrcBiplXzFt8Xw3D8rd0SIRv+zM4YhsypRWTud9Mas+COw4kOHo/CDctHrzLSYwyEAFeSLyBf0s6HwiKlsGKGu9tJjpgLPCwKcgyJH6h1krZd/jT0NBFM57+YW9bAAguZY5AwALhjoO1PZ0TpRoSQTtikD1ZGiKCOxT0dmHA3x8bOeChDVoEaIBzwazFflG6nA7z3j7jXTiTWI544rPb0ypHpFXMHHfNtvrzH00KHjEDhqcUrxkIvAT12Q8ZK5P4rzssiBEqKVUENF0fQkS/OPoZU6UMT/DntxhpruBVV9EcxiF4LyS+7RoyYH1KoWlviO0QH/S9bS2snJ7iqrruCdxc4KPpD+G6Yxv+4+LEGp6k0i6Ed6zh/CHyUdSNkhMAQnSSt7hpQodhlbXrY6MBQ0aLvySLLY+C/CKMjHRYEQX5PCeZpN9qLLPjPqRTdOrVi0Mt34b+B7UsDgXPurlHg7+cAiIKu6Wb7FRg59R6/P++ByfuXSDa55vfUJ34xkArVjkhNmTxIJMwetCwIUDfqQshVppuEQpyaZY0NseoWRSdn+7TOe2M5Hl9Mz1djhqoEBts1WmDwAJGFIHi1Nh2f93jSfoSpMQc29tesWTlZjUrNYpI6vUZQnls0I33sb/g2pxz+mEw2v9IbRuWMPgUc2xuvUk6fXDhpAdu/A5GFOkxQM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(396003)(136003)(39860400002)(366004)(86362001)(31696002)(38100700002)(316002)(6916009)(54906003)(8936002)(2906002)(4326008)(66476007)(5660300002)(66556008)(66946007)(83380400001)(8676002)(2616005)(186003)(478600001)(6486002)(53546011)(6506007)(41300700001)(6512007)(31686004)(36756003)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YTdGYytKb3FKN3pwbmE3TTM0Nk0wNUdtcjVJTDlCalBNL0Rlb1RhRkFTY3JJ?=
 =?utf-8?B?Vm1pc0ZlaU5kYnBaSlQwS3V4MDY4dnRuV2ZISlAzK3kvcjE3azZTQS9DTVk3?=
 =?utf-8?B?L21hd0VCdWRzVk9hTEh3WkRmektWekJ3aDJ6VkY2aGJ3cUhYcEJVQ2hIdDBs?=
 =?utf-8?B?QU9QS2RzT1JYbys1bXNIY3pJRmEzbEZIVmtYbzFMVUpVWG5yaUpuN25xcTdw?=
 =?utf-8?B?bU13NmNua25DVk1iUWl1ZTZXd3k2K0FlZzE5Q2NOQ3VqdnNJdnFOdFVFOExP?=
 =?utf-8?B?VVVsbitKZlFjQzBQbVdGbElDcy8wb3dWS0tab0MzZ3M4S2JIOEZ6M2l5a01p?=
 =?utf-8?B?YzhQbm52TW1hZ0licW95ak83ZWJEaFd0cFhNMVBXdWtnbnZnY3ovcXR4UTZh?=
 =?utf-8?B?ZElTSmZablhST3N3MXFUb2QzU0N5UDdINUpaTUlESTNsMk5icjNOVjJPUzBp?=
 =?utf-8?B?SmlVMWlwb1M4RTlXUXZiR3F0L0liOENyQVAxNWlFRzVpd0d0MHdaYXNJSGJ6?=
 =?utf-8?B?UmEwN0U1OEt3cVN3cHZ0OXJMMWhmN0NUY1ZHVkVMSW9xbU1mM0RISlE3UW91?=
 =?utf-8?B?cFNUSnZ0Z09XZjZCSjJpcGYxL3d6MlEyTWtCVkFKS2hGTlhrSWFRQ2FqQUhl?=
 =?utf-8?B?L3hvR0FpeGtUMjVnUzRtYzdwLzA4MzQ0L2Q1NWxDamMvOTFQMmRpSFlpWVUy?=
 =?utf-8?B?QnprRzNRSEloT1lKTHp0MTM4bkowMS9TNk4vamZoWHYwRG5JVDJaYkdCV09z?=
 =?utf-8?B?bnIrY21PNHJnWUJTMytWMmtHeHp3c1M3Y0NBNmY0ZWVTR09iL21nT3RuL1FQ?=
 =?utf-8?B?MmoycmEvNkM0VktBZXlhZ0p4VnkzWTVrZFRJTlhXem5TSzZYV2dnQnc0Q2Z0?=
 =?utf-8?B?N1lHc2xyQVRaY0NaVlVPczc3RWVmWCtwYTZ3bUhjWjdrdzRreVovVlVTNDA5?=
 =?utf-8?B?MjlidFdWMHpoL0VOTG1QM2FwU3kyNDFnVE9ZM3RqWmp5Tkl6NHRSNUFYSkVj?=
 =?utf-8?B?VlZCeXBNcjQrcjAwUWVTcHV5dmNrSSsrUDhnZktpWjkycTQ4bTFlOVNPY3VE?=
 =?utf-8?B?cFB6WTBqNWk2bGhLdzhPeG5zSEFpS2tHMW5oOWkzeHRnanMzaFpzR1VXWjZU?=
 =?utf-8?B?c2xXY1N2WWc5aXZZUkxVeENVc0lxeHNHS1dyMXByUWFDbWxGQkR0ZnpNL1Nt?=
 =?utf-8?B?YmdRa012MWFSM1RVbkkyRUJlSFN0cStNRy9UdUZEbDdaY1BTSUxKeUZhR3NZ?=
 =?utf-8?B?RHNibWhMbE92RExMaUFlOEt3S0VnWEdneTNMRFRxdXZKR1hYRmVOdDZCUys5?=
 =?utf-8?B?QXpZSHNoNWV5RjFBdWVXcFhuR056T3N6SzdMZHVBT0NZd1Z4SEVXdy9rSTdC?=
 =?utf-8?B?bHFoOWJQbHlwTzNpZ1RhNzNkcE5rRHdUNnp0My9FUnN3VWdoU3kxYXFaamo4?=
 =?utf-8?B?bVUzSmI3RC92U2pPMmR4cjhSL3VGd2g3cXRYODhicmlaOXQzNVowVHVZeC82?=
 =?utf-8?B?NGp1R1Fpd21zRzhHVnpsaUl6R1Z1UWlZMzMwT0FRQkgrOHpPY29vclRVbERy?=
 =?utf-8?B?UkIrRlRaS05oa1VvSUwwTWkwMnpWcnpYYWh5b0lZcmU1OFRGWldEcm9LMEQz?=
 =?utf-8?B?SXN2TWtaVEw4K2c5N0hjd2JHcnArM3ppWHZqZnc3QlIyN1lVR002Ym1SZXdy?=
 =?utf-8?B?L2NOZXpITDA1WTJ5cVV6YWkvZUVML0hxQ3o1UXh2R2c0Rk12Rm5JSkxVVE1h?=
 =?utf-8?B?dXJDclkzbVRnUWE5M0M0QTlQOEhib1RaUGI4UTNqMzh0bG5WNWpyMXpMTEYv?=
 =?utf-8?B?RDRHTmpsSmNxUGsrOFJnRnpCZ3VlREh2aGdIWUFKbS96MUtrV0FleVV4NWF3?=
 =?utf-8?B?c1JEaTg3WnVhU0VWQmZpZG1qNmw3b0VvanQ3WlZFL01PaGdUZzNqSnZERXVX?=
 =?utf-8?B?cWJUYm0yRGFQenZlaHhvTmdOckd0RXZTL2FIelZnUWpWT09rTStxMS9VclpV?=
 =?utf-8?B?alZROWxKOXlXU0hHOHh1ZUJVMzlGblFRejBFNWtaWEg5T2VuRC93T05pUFRh?=
 =?utf-8?B?N3VJOUhEOThTUUlvSUlDaWtKMFVqMVQrM0FSZjdlUVdXYXZncWtGTEo2SVdj?=
 =?utf-8?Q?CvvPbrtAYfVKl2Tpkyi76iDrR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e799f92-bb4b-4916-7328-08da8522b79a
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 16:15:38.3175
 (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: FsB0rJLQs4WwVVoP0pRap1Mv3Fqq0ihUeHDU/908SzY0K/am/dAQyPGX+3SVG3Hw+QqfLFINE77/XKQ30mdPQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9418

On 23.08.2022 16:41, Bertrand Marquis wrote:
> 
> 
>> On 23 Aug 2022, at 15:31, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 23.08.2022 15:34, Bertrand Marquis wrote:
>>>> On 23 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 23.08.2022 12:24, Bertrand Marquis wrote:
>>>>> --- a/tools/libacpi/mk_dsdt.c
>>>>> +++ b/tools/libacpi/mk_dsdt.c
>>>>> @@ -18,6 +18,16 @@
>>>>> #include <stdlib.h>
>>>>> #include <stdbool.h>
>>>>> #if defined(CONFIG_X86)
>>>>> +/*
>>>>> + * When building on non x86 host, arch-x86/xen.h will include xen.h which will
>>>>> + * try to include the arch xen.h (for example if built on arm, x86/xen.h will
>>>>> + * include xen.h which will include arch-arm.h).
>>>>> + * To prevent this effect, define x86 to have the proper sub arch included when
>>>>> + * the compiler does not define it.
>>>>> + */
>>>>> +#if !(defined(__i386__) || defined(__x86_64__))
>>>>> +#define __x86_64__
>>>>> +#endif
>>>>
>>>> Besides being confusing this depends on the order of checks in xen.h.
>>>>
>>>>> #include <xen/arch-x86/xen.h>
>>>>> #include <xen/hvm/hvm_info_table.h>
>>>>> #elif defined(CONFIG_ARM_64)
>>>>
>>>> At the very least you will want to #undef the auxiliary define as soon
>>>> as practically possible.
>>>
>>> Ack
>>>
>>>>
>>>> But I think a different solution will want finding. Did you check what
>>>> the #include is needed for, really? I've glanced through the file
>>>> without being able to spot anything ... After all this is a build tool,
>>>> which generally can't correctly use many of the things declared in the
>>>> header.
>>>
>>> As stated in the comment after the commit message, this is not a good
>>> solution but an hack.
>>>
>>> Now I do not completely agree here, the tool is not really the problem
>>> but the headers are.
>>
>> Well - the issue is the tool depending on these headers.
> 
> Yes but the tool itself cannot solve the issue, we need to have the values
> in properly accessible headers.
> 
>>
>>> There is not such an issue on arm.
>>
>> Then why does the tool include xen/arch-arm.h for Arm64?
> 
> Because this header defines the values required and as no such thing as include xen.h.
> The point is on arm, the arch-arm.h header does not depend on per cpu defines.

At first I was surprised you get away there without including xen.h -
this may change at any time, as soon as you grow a dependency.

But then the inclusion by arch-x86/xen.h looks suspicious, since xen.h
itself includes arch-x86/xen.h (first thing), so unless I'm missing
something arch-x86/xen.h can't really have a dependency on xen.h. So
maybe in the short term you could get away with removing that include
as a "fix"?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 17:31:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 17:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392064.630200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQXjo-0001Ea-TZ; Tue, 23 Aug 2022 17:30:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392064.630200; Tue, 23 Aug 2022 17:30:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQXjo-0001ET-Qq; Tue, 23 Aug 2022 17:30:52 +0000
Received: by outflank-mailman (input) for mailman id 392064;
 Tue, 23 Aug 2022 17:30:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQXjn-0001EG-R4; Tue, 23 Aug 2022 17:30:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQXjn-0000Sh-Ob; Tue, 23 Aug 2022 17:30:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQXjm-00052G-ST; Tue, 23 Aug 2022 17:30:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQXjm-00047I-S1; Tue, 23 Aug 2022 17:30:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=r9dtebdMGrNcW45kE923EWAjf4mwH/6Eo94ydWiEXh4=; b=qudiSE+BUmOsE9hUh/IkkRM8tH
	3ol9nP1HTtLOY0EqY5ZRysmeWnkxIjZwLh/5d5PRpcg+DQvmeq8ZC7wZpvcW8/Gozbdi+n3qqpC2A
	b2f8o/4ptJ+EolZT8k8TwSsTPQieezzcLdfyVz4MtZyfPTYB7Z90wQU9c3w+xQCXjYUc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172732-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172732: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=dfdba857a6b6a708e754ddb1a04086a3402acdef
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 17:30:50 +0000

flight 172732 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172732/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 dfdba857a6b6a708e754ddb1a04086a3402acdef
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   19 days
Failing since        172151  2022-08-05 02:40:28 Z   18 days  153 attempts
Testing same since   172726  2022-08-23 06:44:22 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 905 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 18:51:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 18:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392076.630212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQYzS-0001SS-21; Tue, 23 Aug 2022 18:51:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392076.630212; Tue, 23 Aug 2022 18:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQYzR-0001SL-Uz; Tue, 23 Aug 2022 18:51:05 +0000
Received: by outflank-mailman (input) for mailman id 392076;
 Tue, 23 Aug 2022 18:51:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQYzQ-0001SB-VB; Tue, 23 Aug 2022 18:51:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQYzQ-0001rV-SY; Tue, 23 Aug 2022 18:51:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQYzQ-0000A0-Aj; Tue, 23 Aug 2022 18:51:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQYzQ-0000Ze-AF; Tue, 23 Aug 2022 18:51:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rJQ2fl/JxqmX38PM9afe/TAnITQNL0IwK3eTuDWomyc=; b=sp4Ktq7qXELaMopSIN2MTbEcyR
	7oerVrO0Cwpd7a2t3KPMG5vPpw3wdCeIIl/v5C2qSd2/YrvC9Gq8nKOG3v6l731gw1e7IVOflBYK8
	yhnOdlB6xaaQZbwnO2iT+8n/lBoWC4CObUaiygx3tscjTCY2UHt0HKN4tA5pdITEeBhI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172724-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172724: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=072e51356cd5a4a1c12c1020bc054c99b98333df
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 18:51:04 +0000

flight 172724 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172724/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                072e51356cd5a4a1c12c1020bc054c99b98333df
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   19 days
Failing since        172152  2022-08-05 04:01:26 Z   18 days   43 attempts
Testing same since   172724  2022-08-23 04:30:04 Z    0 days    1 attempts

------------------------------------------------------------
1505 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 155387 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 18:53:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 18:53:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392085.630223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQZ2E-00028E-LK; Tue, 23 Aug 2022 18:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392085.630223; Tue, 23 Aug 2022 18:53:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQZ2E-000287-I9; Tue, 23 Aug 2022 18:53:58 +0000
Received: by outflank-mailman (input) for mailman id 392085;
 Tue, 23 Aug 2022 18:53:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gjr1=Y3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oQZ2C-00027x-Ne
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 18:53:56 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef4574f8-2314-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 20:53:55 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6BE156171D;
 Tue, 23 Aug 2022 18:53:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 745EBC433D6;
 Tue, 23 Aug 2022 18:53:51 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef4574f8-2314-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661280832;
	bh=h0ApSOlsf9T9zKu6ZTiXCxB2rqa+j0wYTLBQPs8yc1E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=L4paQS+QQ7raXDVXoyTKZpCiLDVw9nkYsrSoSlBx6TS/nJabgMqwZ9teIxe8yIjon
	 PLuWD50qSEa0mF6VnhJRjONjE2pysIPZp2+9aeysDpkuoXWrzqww4F3o20JKgHLlnW
	 x34Xw9cKgdp9wE8iU5ykfmcvW1XuOUnF3A3L5Rz/zweOsdqILMDWbslQNJAmtVHXHg
	 g2CPAd2KYVjQLWHkjOlCWOs7JqZx5modp9BiKkYxCiSZxHlXzRyeXgzCjXg2fekJkF
	 Kg7wZjTobE4UynrHg6j0kw32Dn5xqEDDxlVgDJ61X+IkyA9Q85IFoqqLHdGGKHqFA+
	 Eh6BjEOGF/QeA==
Date: Tue, 23 Aug 2022 11:53:50 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>, george.dunlap@citrix.com, 
    Bertrand.Marquis@arm.com
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "wl@xen.org" <wl@xen.org>, "jbeulich@suse.com" <jbeulich@suse.com>, 
    "george.dunlap@citrix.com" <george.dunlap@citrix.com>, 
    "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, 
    "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, 
    "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Removing "or later" from Xen license, Was: [PATCH v2 3/3] add SPDX
 to arch/arm/*.c
In-Reply-To: <d3c6c012-01fd-e4e6-9796-a8c19162c741@xen.org>
Message-ID: <alpine.DEB.2.22.394.2208231140140.15247@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop> <20220818220320.2538705-3-stefano.stabellini@amd.com> <61b01c8b-1f98-e559-f971-f081a25e0b93@xen.org> <alpine.DEB.2.22.394.2208191528050.3790@ubuntu-linux-20-04-desktop>
 <f235f6f8-d585-4e24-7fc8-3f2df9240c9d@xen.org> <AD1F6CD4-5679-4B2E-AA80-0DACD0F09709@arm.com> <d3c6c012-01fd-e4e6-9796-a8c19162c741@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

I changed the subject to reflect the discussion and moved George to
"to:" to get his attention.

Also, if we are going to make any chances as described below, I think
they should be a separate series from the SPDX series.


On Tue, 23 Aug 2022, Julien Grall wrote:
> > > I am putting some thoughts below (they can be split in a separate thread
> > > if you prefer).
> > > 
> > > This is not the first time this topic is brought up and probably not the
> > > last as long as we have file using GPLv2+.
> > > 
> > > IIRC from past discussion there are two broads concern with GPLv2+:
> > >   - We are leaving the choice of which license applies to the person
> > > copying the code. So if a new version is released that is less favorable
> > > to the initial contributor, then we have no leverage.
> > >   - Some companies are rather cautious to contribute code that my be
> > > licensed under GPLv3 (would be allowed with GPLv2+).
> > > 
> > > The later is particularly a problem because not many people realize that a
> > > fair part of Xen on Arm is GPLv2+. I never really understood why we chose
> > > that (this was before my time) but this got spread as the existing
> > > copyright was added to a new file. Admittely, the contributor should be
> > > more cautious. But I would not say this is trivial to spot the difference.
> > > 
> > > I would like to consider to re-license all the GPLv2+ files to GPLv2.
> > > AFAIU, this would mean we would need to ask the permission for every
> > > comapany that contributed to the file. Do you know if this was done before
> > > in Xen Project?
> > 
> > If I am understanding right, GPLv2+ means that someone could relicense the
> > files to GPLv3 if he wants which is more restrictive.
> > Why do you want to move those back to GPLv2 ?
> The main difference between GPLv2 and GPLv3 is the patent section. This has
> caused some concerns in the past when a stakeholder want to contribute to Xen
> Project.
>
> While looking through at previous discussion, I found the original discussion
> [1] which contains a lot more details.


I agree with Julien. Also, I don't think that having GPLv2-or-later on a
few source files is of benefit to anyone (if Xen was GPLv2-or-later as a
whole it would be a different discussion).

Moving from GPLv2-or-later to GPLv2-only is not a relicense. The "or
later" statement is not part of the license itself. It would be limiting
the choice of license to a subset of what is currently allowed: i.e.
from [GPLv2,GPLv3] to [GPLv2]. I don't think we need approval from the
original authors from that.

The original authors already stated: "my code can be either under GPLv2
or GPLv3". Now we are only offering it under GPLv2. Users can still get
the older version from a past Xen release under GPLv3 if they want to.

So I think we can drop "or later" any time as long as the maintainers
agree.

George, do you agree with the above?


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 19:00:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 19:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392091.630234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQZ8w-0003hh-CY; Tue, 23 Aug 2022 19:00:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392091.630234; Tue, 23 Aug 2022 19:00:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQZ8w-0003ha-95; Tue, 23 Aug 2022 19:00:54 +0000
Received: by outflank-mailman (input) for mailman id 392091;
 Tue, 23 Aug 2022 19:00:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQZ8v-0003hQ-8x; Tue, 23 Aug 2022 19:00:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQZ8v-00023b-6E; Tue, 23 Aug 2022 19:00:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQZ8u-0000US-Qo; Tue, 23 Aug 2022 19:00:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQZ8u-0006bH-QK; Tue, 23 Aug 2022 19:00:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dMViq9e9ga5EPj4gJxakJXO9AkfVHe1l35m09uAO9DU=; b=lUbOPki6FLSR3jYsqT0L8ZxNCJ
	E50odVA6W1ecc7YT0fNFz86spbLkDBAUZmHMVg5IEg8DlAqH8H0K0ZrKW16tOnxnCcOZK+CsV2pV5
	rXDPO3LFufsD4VEU8odjGv3jqF+PN5j5QVGwx23qWQkXw4YHNaCbzBZVRbhE6FiEXkM8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172727-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172727: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-5.4:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 19:00:52 +0000

flight 172727 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172727/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start   fail in 172716 pass in 172727
 test-armhf-armhf-examine      8 reboot           fail in 172716 pass in 172727
 test-amd64-i386-examine-bios  6 xen-install                fail pass in 172716

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172716 blocked in 172128
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172716 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172716 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   19 days
Testing same since   172384  2022-08-11 11:13:58 Z   12 days   25 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 19:28:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 19:28:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392099.630245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQZZ8-0006ML-Ig; Tue, 23 Aug 2022 19:27:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392099.630245; Tue, 23 Aug 2022 19:27:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQZZ8-0006ME-F2; Tue, 23 Aug 2022 19:27:58 +0000
Received: by outflank-mailman (input) for mailman id 392099;
 Tue, 23 Aug 2022 19:27:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQZZ7-0006M4-Bx; Tue, 23 Aug 2022 19:27:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQZZ7-0002VN-7y; Tue, 23 Aug 2022 19:27:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQZZ6-0001Yu-U7; Tue, 23 Aug 2022 19:27:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQZZ6-0008GS-Th; Tue, 23 Aug 2022 19:27:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jI6IXybQXaYxxpyY/gBNs833cUXEWNNaeO3qXFFk3HU=; b=ElhiQC6kwccpCUdDEUDz/Zxfwn
	iGLlYmRr10ggmRBi4XQ2/xd0tjDRWJwQuc2V/ibDZgXPUzlw4GK33fujgmCwTMMi7fKObP8WfxcEE
	4v30uvO54tKmLp+cWYstFttnsn0brI5LyaTxrTzDnObnfi0aBARyXloL7TgKMwRwQDow=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172734-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172734: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
X-Osstest-Versions-This:
    ovmf=dfdba857a6b6a708e754ddb1a04086a3402acdef
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 19:27:56 +0000

flight 172734 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172734/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install         fail pass in 172732

version targeted for testing:
 ovmf                 dfdba857a6b6a708e754ddb1a04086a3402acdef
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   19 days
Failing since        172151  2022-08-05 02:40:28 Z   18 days  154 attempts
Testing same since   172726  2022-08-23 06:44:22 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 905 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 20:58:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 20:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392108.630255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQayD-0007cA-4h; Tue, 23 Aug 2022 20:57:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392108.630255; Tue, 23 Aug 2022 20:57:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQayD-0007c3-27; Tue, 23 Aug 2022 20:57:57 +0000
Received: by outflank-mailman (input) for mailman id 392108;
 Tue, 23 Aug 2022 20:57:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQayB-0007bt-Vu; Tue, 23 Aug 2022 20:57:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQayB-00044o-Sh; Tue, 23 Aug 2022 20:57:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQayB-0006fi-El; Tue, 23 Aug 2022 20:57:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQayB-0006qF-Dw; Tue, 23 Aug 2022 20:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KStJvkExD1yY0MTR3JCP/0Z/5zmvBGZE451mkktj2+k=; b=XpcmPydZKKVXPRjCql0QaBTcE0
	jfLM6ZSoQ46rBu+RbtuGjAamwTD5q3ZBPjxOfA4G/GETJ/Dtal8JkGJkHHj5PjcXgROZJdw4Vlhyl
	Kyckonvh6mjjzOCdQ4aabjvREHCpInLIhgd/JOvDTtIHMDiOJIvSvSxI5oNwXauB+2Cs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172725-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172725: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ba58ccbef60338d0b7334c714589a6423a3e7f91
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 20:57:55 +0000

flight 172725 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172725/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172714 pass in 172725
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 172714

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                ba58ccbef60338d0b7334c714589a6423a3e7f91
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   20 days
Failing since        172148  2022-08-04 21:39:38 Z   18 days   44 attempts
Testing same since   172658  2022-08-20 03:51:49 Z    3 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2251 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 23 21:25:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 21:25:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392117.630270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQbOm-0002mn-DY; Tue, 23 Aug 2022 21:25:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392117.630270; Tue, 23 Aug 2022 21:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQbOm-0002mg-Aq; Tue, 23 Aug 2022 21:25:24 +0000
Received: by outflank-mailman (input) for mailman id 392117;
 Tue, 23 Aug 2022 21:25:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M9ll=Y3=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1oQbOl-0002ma-CG
 for xen-devel@lists.xenproject.org; Tue, 23 Aug 2022 21:25:23 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [2001:470:1f07:15ff::f7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 176b0746-232a-11ed-bd2e-47488cf2e6aa;
 Tue, 23 Aug 2022 23:25:21 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 27NLOXib058355
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 23 Aug 2022 17:24:39 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 27NLOXGr058354;
 Tue, 23 Aug 2022 14:24:33 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 176b0746-232a-11ed-bd2e-47488cf2e6aa
Date: Tue, 23 Aug 2022 14:24:33 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, george.dunlap@citrix.com,
        Bertrand.Marquis@arm.com,
        Stefano Stabellini <stefano.stabellini@amd.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "wl@xen.org" <wl@xen.org>, "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
        "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: Removing "or later" from Xen license, Was: [PATCH v2 3/3] add
 SPDX to arch/arm/*.c
Message-ID: <YwVFkaN/OoOzSsCO@mattapan.m5p.com>
References: <alpine.DEB.2.22.394.2208181453530.3790@ubuntu-linux-20-04-desktop>
 <20220818220320.2538705-3-stefano.stabellini@amd.com>
 <61b01c8b-1f98-e559-f971-f081a25e0b93@xen.org>
 <alpine.DEB.2.22.394.2208191528050.3790@ubuntu-linux-20-04-desktop>
 <f235f6f8-d585-4e24-7fc8-3f2df9240c9d@xen.org>
 <AD1F6CD4-5679-4B2E-AA80-0DACD0F09709@arm.com>
 <d3c6c012-01fd-e4e6-9796-a8c19162c741@xen.org>
 <alpine.DEB.2.22.394.2208231140140.15247@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2208231140140.15247@ubuntu-linux-20-04-desktop>
X-Spam-Status: No, score=-0.0 required=10.0 tests=KHOP_HELO_FCRDNS,
	T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no
	version=3.4.5
X-Spam-Checker-Version: SpamAssassin 3.4.5 (2021-03-20) on mattapan.m5p.com

On Tue, Aug 23, 2022 at 11:53:50AM -0700, Stefano Stabellini wrote:
> I changed the subject to reflect the discussion and moved George to
> "to:" to get his attention.
> 
> Also, if we are going to make any chances as described below, I think
> they should be a separate series from the SPDX series.

Also gets a second look from others who may have an opinion on the topic.

I second what is after the comma.  Adding SPDX tags and changing files
from GPLv2+ to GPLv2-only are distinct tasks and should be kept separate.


> On Tue, 23 Aug 2022, Julien Grall wrote:
> > > > I am putting some thoughts below (they can be split in a separate thread
> > > > if you prefer).
> > > > 
> > > > This is not the first time this topic is brought up and probably not the
> > > > last as long as we have file using GPLv2+.
> > > > 
> > > > IIRC from past discussion there are two broads concern with GPLv2+:
> > > >   - We are leaving the choice of which license applies to the person
> > > > copying the code. So if a new version is released that is less favorable
> > > > to the initial contributor, then we have no leverage.
> > > >   - Some companies are rather cautious to contribute code that my be
> > > > licensed under GPLv3 (would be allowed with GPLv2+).
> > > > 
> > > > The later is particularly a problem because not many people realize that a
> > > > fair part of Xen on Arm is GPLv2+. I never really understood why we chose
> > > > that (this was before my time) but this got spread as the existing
> > > > copyright was added to a new file. Admittely, the contributor should be
> > > > more cautious. But I would not say this is trivial to spot the difference.
> > > > 
> > > > I would like to consider to re-license all the GPLv2+ files to GPLv2.
> > > > AFAIU, this would mean we would need to ask the permission for every
> > > > comapany that contributed to the file. Do you know if this was done before
> > > > in Xen Project?
> > > 
> > > If I am understanding right, GPLv2+ means that someone could relicense the
> > > files to GPLv3 if he wants which is more restrictive.
> > > Why do you want to move those back to GPLv2 ?
> > The main difference between GPLv2 and GPLv3 is the patent section. This has
> > caused some concerns in the past when a stakeholder want to contribute to Xen
> > Project.
> >
> > While looking through at previous discussion, I found the original discussion
> > [1] which contains a lot more details.
> 
> 
> I agree with Julien. Also, I don't think that having GPLv2-or-later on a
> few source files is of benefit to anyone (if Xen was GPLv2-or-later as a
> whole it would be a different discussion).

I disagree here.  Having GPLv2+ on a few files hints at the contributor
community's views, though one must exercise care.

Notably if 50% of contributors prefer GPLv2+ less than 10% of files are
likely to be marked GPLv2+.  The reason being GPLv3 didn't exist until
2006 and a single GPLv2-only contributor would cause shared files to be
stuck as GPLv2-only.

So there could be a majority who prefer GPLv2+, just too many existing
files are GPLv2-only.


> Moving from GPLv2-or-later to GPLv2-only is not a relicense. The "or
> later" statement is not part of the license itself. It would be limiting
> the choice of license to a subset of what is currently allowed: i.e.
> from [GPLv2,GPLv3] to [GPLv2]. I don't think we need approval from the
> original authors from that.
> 
> The original authors already stated: "my code can be either under GPLv2
> or GPLv3". Now we are only offering it under GPLv2. Users can still get
> the older version from a past Xen release under GPLv3 if they want to.
> 
> So I think we can drop "or later" any time as long as the maintainers
> agree.
> 
> George, do you agree with the above?

I'm not an expert, but this matches my understanding as a (near-trivial)
contributor.


I'm not a significant contrbutor, but let it be hereby known my portions
are available under GPLv2+.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Tue Aug 23 23:16:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Aug 2022 23:16:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392124.630281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQd7x-0005yP-9n; Tue, 23 Aug 2022 23:16:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392124.630281; Tue, 23 Aug 2022 23:16:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQd7x-0005yI-6y; Tue, 23 Aug 2022 23:16:09 +0000
Received: by outflank-mailman (input) for mailman id 392124;
 Tue, 23 Aug 2022 23:16:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQd7v-0005y8-Sw; Tue, 23 Aug 2022 23:16:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQd7v-0006QN-Oh; Tue, 23 Aug 2022 23:16:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQd7v-0007Ff-A6; Tue, 23 Aug 2022 23:16:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQd7v-00047o-9f; Tue, 23 Aug 2022 23:16:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xasms6h5QY7GaG/TcyJWBnG8XmWO6QN5YH1PXRxLbdg=; b=RhlKiHaGtLXvsWn+Ifpds/c1Mt
	/4KPUbM5LV7zs8gnceJ15RwoslxfeBR1cgzHFQwtWX1IqG1PIrclw28JfHArNFBWFlfqJigbRqJ9h
	5kO9hsMhp35le+442JM/6qadKKlLl0VGBL/EU2r38J+jMwQ0Uo9X9HJsp7HbjJipid0I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172737-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172737: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=dfdba857a6b6a708e754ddb1a04086a3402acdef
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Aug 2022 23:16:07 +0000

flight 172737 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172737/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 dfdba857a6b6a708e754ddb1a04086a3402acdef
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   19 days
Failing since        172151  2022-08-05 02:40:28 Z   18 days  155 attempts
Testing same since   172726  2022-08-23 06:44:22 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 905 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 00:20:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 00:20:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392133.630291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQe8G-0005Lx-5Y; Wed, 24 Aug 2022 00:20:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392133.630291; Wed, 24 Aug 2022 00:20:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQe8G-0005Lq-2z; Wed, 24 Aug 2022 00:20:32 +0000
Received: by outflank-mailman (input) for mailman id 392133;
 Wed, 24 Aug 2022 00:20:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uXbF=Y4=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oQe8D-0005Lk-Vl
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 00:20:30 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8bf46310-2342-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 02:20:27 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id BB949320089C;
 Tue, 23 Aug 2022 20:20:22 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 23 Aug 2022 20:20:22 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 23 Aug 2022 20:20:21 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bf46310-2342-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661300422; x=
	1661386822; bh=jhqine6tioc9SRTTbs48FPG/6DmMx2nuU81ZJ+wYQm0=; b=L
	YpahCYQNZP7p1afFRcWAXtEnxo+IwgLGypPZBxkp0lbdqyZQPq0oDnYtknWvnbWx
	FhSMN6kXzdPsTtMVCzjDGmPyDqlqA8uX0d2yMbBZRi/GjNKGlmoZGo8F2bB8Jt3T
	RiBHy2rdO/bmIqVX9UmBTnUUOg+w/03R+MWYcJyushizQsQ4ADB+T4etZ36howfg
	g7UtwEbWLZa32nBMLdCMfb0SpLrHhZj26zZvAOYlweVzPnFBIOAG0+bmNExrVp8F
	5+VmRHZeL8rVZnLuVWG03Qb43CgiAx4OzJuvU6I3koPZHZqBntHTsHukmOBs8hFk
	DIDiwb/fLgVY/uWabFZhw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661300422; x=1661386822; bh=jhqine6tioc9SRTTbs48FPG/6DmM
	x2nuU81ZJ+wYQm0=; b=5U6bjsOqd/1PYhIIle05EjNnb/6g1zm7LH/j+8x6ynq0
	7yKmjPSixmnGH8uT3dCkY02QMbFLl/1HnsRQSXL3c3VT3cFijW6Sd8uJ4v8ZR3bn
	1MaAx/oqR5H14EqSZFNvU6oJfvqWAeS4rVldz9eezncfI92aagqpkVbgHyhdzluk
	LcIwBDCxRwgVpSuixAOWw897hhw4hA3cNLPjbXGtcNtjANNiPjlWX/u4OUQP6tqK
	H1zzh9rKkPuPpM+xVWLnnajB2uBCOgK6M//Kk9gUWOSWLzenbaJhyJL5axjFKp5b
	Ibxks67sl/usy01Ps9sL0/K3xL/e1vPHGPpyGxKuYg==
X-ME-Sender: <xms:xW4FY45Zn6qLPrI6nYrXevvjmMEisR3wOPlczup16EufaHvQgowAcA>
    <xme:xW4FY57RLMs-lxJTjU0KI-za6MXc9YDxb6hZOUNY2YwihZhPuLMrlezKmGay2BvIO
    KXNpVg0DxSZ7A>
X-ME-Received: <xmr:xW4FY3eMcf9mDEsq356xTG4e3rBhXSndW_NVKE-b7uIvLrggebba0MKNfjtfcmurlZNihThEz7_WHdW2GGjGkK3uv3sCvAQlvNtj>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejtddgfeegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:xm4FY9IkI7zyDkVO5uohVuANdkWBZPv2YUAEq40sz5QLUfq31ys9gQ>
    <xmx:xm4FY8Id5_c4iXNpSlavSJEEEZkJ1rM0BtCyGHZnu-5cwBPpVdX3gQ>
    <xmx:xm4FY-yT4l03HB0KTP5L49OW3jKNRlr6ERwtNHTSKeXocsHi4FUUxQ>
    <xmx:xm4FYzlakuRRPe0UBlheNaVjzYXZkZZhwAl4ThXkQAL68gy5rZqLjA>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 24 Aug 2022 02:20:17 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors
Message-ID: <YwVuwXOGoZX3pM7n@mail-itl>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="7Zc5vf7v04SCbLQ3"
Content-Disposition: inline
In-Reply-To: <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com>


--7Zc5vf7v04SCbLQ3
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 24 Aug 2022 02:20:17 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors

On Tue, Aug 23, 2022 at 09:48:57AM +0200, Juergen Gross wrote:
> On 23.08.22 09:40, Demi Marie Obenour wrote:
> > I recently had a VM=E2=80=99s /dev/xvdb stop working with a =E2=80=9Cba=
ckend has not
> > unmapped grant=E2=80=9D error.  Since /dev/xvdb was the VM=E2=80=99s pr=
ivate volume,
> > that rendered the VM effectively useless.  I had to kill it with
> > qvm-kill.
> >=20
> > The backend of /dev/xvdb is dom0, so a malicious backend is clearly not
> > the cause of this.  I believe the actual cause is a race condition, such
> > as the following:
> >=20
> > 1. GUI agent in VM allocates grant X.
> > 2. GUI agent tells GUI daemon in dom0 to map X.
> > 3. GUI agent frees grant X.
> > 4. blkfront allocates grant X and passes it to dom0.
> > 5. dom0=E2=80=99s blkback maps grant X.
> > 6. blkback unmaps grant X.
> > 7. GUI daemon maps grant X.
> > 8. blkfront tries to revoke access to grant X and fails.  Disaster
> >     ensues.
> >=20
> > What could be done to prevent this race?  Right now all of the
> > approaches I can think of are horribly backwards-incompatible.  They
> > require replacing grant IDs with some sort of handle, and requiring
> > userspace to pass these handles to ioctls.  It is also possible that
> > netfront and blkfront could race against each other in a way that causes
> > this, though I suspect that race would be much harder to trigger.
> >=20
> > This has happened more than once so it is not a fluke due to e.g. cosmic
> > rays or other random bit-flips.
> >=20
> > Marek, do you have any suggestions?
>=20
> To me that sounds like the interface of the GUI is the culprit.
>=20
> The GUI agent in the guest should only free a grant, if it got a message
> from the backend that it can do so. Just assuming to be able to free it
> because it isn't in use currently is the broken assumption here.

FWIW, I hit this issue twice already in this week CI run, while it never
happened before. The difference compared to previous run is Linux
5.15.57 vs 5.15.61. The latter reports persistent grants disabled. The
only related commits I see there are three commits indeed related to
persistent grants:

  c98e956ef489 xen-blkfront: Apply 'feature_persistent' parameter when conn=
ect
  ef26b5d530d4 xen-blkback: Apply 'feature_persistent' parameter when conne=
ct
  7304be4c985d xen-blkback: fix persistent grants negotiation

But none of the commit messages suggests intentional disabling it
without explicit request for doing so. I did not requested disabling it
in toolstack (although I have set backend as "trusted" - XSA-403).
I have confirmed it's the frontend version that matters. Running older
frontend kernel with 5.15.61 backend results in persistent grants
enabled (and both frontend and backend xenstore "feature-persistent"
entries are "1" in this case).

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--7Zc5vf7v04SCbLQ3
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmMFbsEACgkQ24/THMrX
1ywEeQf+Lq/bCZLrsZYLglFLm+l+FVIONbEShTaE+wdZ6ZwIJV+rmD01j3AVbfPD
McU42MuW+4t0oSIhhC/NTjcj9CGgCMNeORu2/Kiqg7D8WQ9ChW/yFYFMTRikRJda
SxjkPC5pc2kjgOpIOyiqT+RsElU1oXDAQ4cNiJeNOTs0Dbh+DY2tX5SEFZjOZi9Z
uL7MFtOr8WGz/dpFHtAvD3Brki0sOcxudetjmrFVi87M/JMKBST6C0HiQrNw+YkL
+P9wW5up/c1nvVK1hLKQg2wnUJZGvjQUW6CSgAEfHPUDht+EjdOYDVsun2ixURa1
9HrcA9kNFBCmoHUYkyAW20bhr9dQTQ==
=TTnc
-----END PGP SIGNATURE-----

--7Zc5vf7v04SCbLQ3--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 01:06:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 01:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392140.630303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQeqs-0007ph-Gb; Wed, 24 Aug 2022 01:06:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392140.630303; Wed, 24 Aug 2022 01:06:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQeqs-0007pa-Dc; Wed, 24 Aug 2022 01:06:38 +0000
Received: by outflank-mailman (input) for mailman id 392140;
 Wed, 24 Aug 2022 01:06:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQeqr-0007pQ-So; Wed, 24 Aug 2022 01:06:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQeqr-0007CE-Oc; Wed, 24 Aug 2022 01:06:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQeqr-0004tY-Fv; Wed, 24 Aug 2022 01:06:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQeqr-0007lm-FB; Wed, 24 Aug 2022 01:06:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8IGG4w9JSJqmHxfrQ6fb2ngQaH6IuXJPdgVwNAbyrdw=; b=0Wo4xkooqaYQnU/NLmpTCmxEsE
	zJSqKCMjksiONYRy2H4o6bufv8aO11KM7YvjCIJ9Hg+rrFkwNk5FyN9qYoz8KUsMfv8MXDt7eyNHc
	u/13IWWWGaYAD1Jgdx36wRQ/W2IctbAyb84rMQgY8ZUD3CBKH318t4k5/9N/jJfZ8RsA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172731-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172731: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=696ee5ca9f4e2256e76056cf72a72001a9748f4c
X-Osstest-Versions-That:
    xen=696ee5ca9f4e2256e76056cf72a72001a9748f4c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 01:06:37 +0000

flight 172731 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172731/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install         fail pass in 172720
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail pass in 172720

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172720
 build-i386-libvirt            6 libvirt-build                fail  like 172720
 build-arm64-libvirt           6 libvirt-build                fail  like 172720
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172720
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172720
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172720
 build-armhf-libvirt           6 libvirt-build                fail  like 172720
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172720
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172720
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172720
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  696ee5ca9f4e2256e76056cf72a72001a9748f4c
baseline version:
 xen                  696ee5ca9f4e2256e76056cf72a72001a9748f4c

Last test of basis   172731  2022-08-23 13:23:50 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 02:26:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 02:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392149.630314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQg5y-0007cm-EI; Wed, 24 Aug 2022 02:26:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392149.630314; Wed, 24 Aug 2022 02:26:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQg5y-0007cf-Aw; Wed, 24 Aug 2022 02:26:18 +0000
Received: by outflank-mailman (input) for mailman id 392149;
 Wed, 24 Aug 2022 02:26:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQg5x-0007cV-IY; Wed, 24 Aug 2022 02:26:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQg5x-0000WM-Gj; Wed, 24 Aug 2022 02:26:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQg5x-0002d2-3J; Wed, 24 Aug 2022 02:26:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQg5x-0004gz-2p; Wed, 24 Aug 2022 02:26:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fGHZKfrUcYdFr0Nf/Nx60IKrXfWcHymyi2L2Uv52WDI=; b=OL5x0k7Um5sI8WuJ59MuGMXrU+
	881hIxPfJ804ttXUJSQK16/ezv416NmE81NA7bNNCG4FZTMmfGhK/S+OFukyEKEFxqhqpqIcN7kao
	M5irYejS9UUy2DYyKdW6/Yd1gf+SU0ZtV3CvZiAmaWtCVlJIYjd1e0tf1H0hdl1Xp/fQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172740-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172740: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=dfdba857a6b6a708e754ddb1a04086a3402acdef
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 02:26:17 +0000

flight 172740 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172740/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 dfdba857a6b6a708e754ddb1a04086a3402acdef
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   19 days
Failing since        172151  2022-08-05 02:40:28 Z   18 days  156 attempts
Testing same since   172726  2022-08-23 06:44:22 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 905 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 03:25:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 03:25:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392157.630325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQh13-0005Bf-RT; Wed, 24 Aug 2022 03:25:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392157.630325; Wed, 24 Aug 2022 03:25:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQh13-0005BY-NM; Wed, 24 Aug 2022 03:25:17 +0000
Received: by outflank-mailman (input) for mailman id 392157;
 Wed, 24 Aug 2022 03:25:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQh12-0005BO-42; Wed, 24 Aug 2022 03:25:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQh12-0001XZ-0o; Wed, 24 Aug 2022 03:25:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQh11-0006Yk-HM; Wed, 24 Aug 2022 03:25:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQh11-0003Kt-Ga; Wed, 24 Aug 2022 03:25:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OPPOrrng0qFIT0uvexgH4zm4hFnGLHPiD+Bn0+uTmvY=; b=v1rvv3Wnow+0fbY0jxpdm7T2WK
	ngwLO3Ir3uIgZkf0N9W0QHDHbfAqiiHzY2lMYWdMe5guqikMTWnjiI3vO3dGO7CETgcRNku59C3gr
	1rJUHqFDpz61w8KHnsuHGYf/tc/xRMBliB3Jmyr84SM9wFnkdOcL6gzXs0IpIKhWvQrc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172735-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172735: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=072e51356cd5a4a1c12c1020bc054c99b98333df
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 03:25:15 +0000

flight 172735 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172735/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-rtds     17 guest-saverestore          fail pass in 172724

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                072e51356cd5a4a1c12c1020bc054c99b98333df
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   19 days
Failing since        172152  2022-08-05 04:01:26 Z   18 days   44 attempts
Testing same since   172724  2022-08-23 04:30:04 Z    0 days    2 attempts

------------------------------------------------------------
1505 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 155387 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 04:48:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 04:48:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392165.630336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQiJY-0004mZ-Td; Wed, 24 Aug 2022 04:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392165.630336; Wed, 24 Aug 2022 04:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQiJY-0004mS-QX; Wed, 24 Aug 2022 04:48:28 +0000
Received: by outflank-mailman (input) for mailman id 392165;
 Wed, 24 Aug 2022 04:48:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQiJX-0004mI-UK; Wed, 24 Aug 2022 04:48:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQiJX-00037U-Pk; Wed, 24 Aug 2022 04:48:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQiJX-00047w-Cn; Wed, 24 Aug 2022 04:48:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQiJX-0008V6-Bs; Wed, 24 Aug 2022 04:48:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=I8o2aB2aQk3+F4kEa2INwRuvuaBHeblIgSNFOAcDQ2M=; b=YE7Yp5efBZ5Tr2PWkdfkvUyqlz
	Q4NfLwzYf3ysp6yOghf64MOAS5JyuLBZUwTuWnjmlJL5ujJuZsy238h0tLyMbMdDvJV0QIa2eJ+hU
	iIpQ5tPZeGjY8WuZoAZV7xKuWTQ01qQwCmp3p6nkTG8rdyXaKbtdxMROkvqipJEEfQY8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172736-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172736: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 04:48:27 +0000

flight 172736 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172736/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   20 days
Testing same since   172384  2022-08-11 11:13:58 Z   12 days   26 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 05:19:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 05:19:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392174.630347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQinU-0008QJ-F4; Wed, 24 Aug 2022 05:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392174.630347; Wed, 24 Aug 2022 05:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQinU-0008QC-CC; Wed, 24 Aug 2022 05:19:24 +0000
Received: by outflank-mailman (input) for mailman id 392174;
 Wed, 24 Aug 2022 05:19:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQinT-0008Q2-2l; Wed, 24 Aug 2022 05:19:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQinT-0003wB-0u; Wed, 24 Aug 2022 05:19:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQinS-0006K1-Fl; Wed, 24 Aug 2022 05:19:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQinS-0005jT-FK; Wed, 24 Aug 2022 05:19:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/cKYUpVba1XF9wKxks0DlPjLWB9I+DBiHc0uC1/5tR0=; b=sN27E0OQmhXh+SyxTKHqpKxoMR
	eAJHAJTUNxjDRMSanaeNuLWiz3W7x7XiUD3lJxC1MZrDJgeb4OT5DSRBg6hNgaY9DyVxyt3L9Q6mM
	frdhq4LBGwI+u82YPxBqMzIcX0c87xtHSW81392Jwtgs4PgjeCkKbIOOvF8ikXBNBP8g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172742-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172742: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=dfdba857a6b6a708e754ddb1a04086a3402acdef
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 05:19:22 +0000

flight 172742 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172742/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 dfdba857a6b6a708e754ddb1a04086a3402acdef
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   19 days
Failing since        172151  2022-08-05 02:40:28 Z   19 days  157 attempts
Testing same since   172726  2022-08-23 06:44:22 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 905 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 06:01:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 06:01:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392182.630358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjRi-00051B-Lg; Wed, 24 Aug 2022 06:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392182.630358; Wed, 24 Aug 2022 06:00:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjRi-000514-Ig; Wed, 24 Aug 2022 06:00:58 +0000
Received: by outflank-mailman (input) for mailman id 392182;
 Wed, 24 Aug 2022 06:00:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQjRh-00050y-Px
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 06:00:58 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2067.outbound.protection.outlook.com [40.107.20.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e512464-2372-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 08:00:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4413.eurprd04.prod.outlook.com (2603:10a6:803:65::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 06:00:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 06:00:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e512464-2372-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FYDYdLS4esVpk36A1vxt8X9oXPBcmALBUd+l35UhbsKPlsK/+iOFUq0kQe6MDS/ZnhvdjzCVOcETexgwaFgicmFDOWqhK78+5B8za8BOcdIF63UKtt7mqGGoUlUPCITVQUBx0kA3i7EV5svH5Naf1I2bjeOIzxmkSAXg44n+1kp40QZUOL2N/5e34aJJWozSSK9+N65O4OjenSepNa+QOBZcsbsaG9DfH3cAATFXm66jV1073yjByh3uI7sKAHCZ5tYY4KbN6tfR8nTZ1DUUNPI4aM8Reg41CNZWnFHIOfZruxG5hC3bAZMutg7mQPU7awbXWKwQmsyvx3qmmD+16g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zt91lwIbbsksV0yTwfyBb2I1zskDDO/eRi+yZNFT4Y8=;
 b=XvyD5GIj2ECHKc107/fnFKy/vgBLW6T/BZWL4WaM0PkrZeRo0Jrwrk+LWpGI2thnRg5Jae3t3EpW6Ml8kgfFQU0yHQ47v7LrjkfSQnbQm7RyAkLf3N7HsVoNDF7T6q6n9+y10kLLWGUNkRxudXpKgnOprtiN+JqyWxg0GB5YyMrcCm6ADZ/GwzG1Nepdiy3zqARgdcMcPkXEKjvvYn4SIUZPPwuN/TWLpelrwpTtbgobv2mWRQo2jie/C46IaJ5r/y6RXgbC1quFFeBWQPOQMkgPCpaFdZwMVVeUe+NQYh8gOmRuR0d0Zft3WBKJqWYlvqS+5Xpg918J0q6ixz+yDg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zt91lwIbbsksV0yTwfyBb2I1zskDDO/eRi+yZNFT4Y8=;
 b=XbGuladkq5hMS84/qDKWmTyQ64kz2JH355090pXlDVEWiVkvevOl9SA2REX3mBSL95UkJYlqTrdvm43adNIvkVbhpb1KEOzVntyOWPxvknQrDfSdg10MtT/oYpFU+ru1Y4ONv7ovKoUCCp06/eSX4HEiDrYhGR2hQlSJVNbXTkA6YGxXo9b8vV3o6zqlhCBvftmhZ7A59u8Fod0ce5romrsbRUsq9MTF9p8sMFrcw10ZrwVeTljEBSuD5B7mb1sZ/DHVFs/2xgWuUIQOSd2bVRc/ivH3fMi2MpRkfjLfT/vA9GiyRos1TNP+qRjVL7YrDXI6xiDptGIuzcKKkjbSiQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0e846638-c23c-0ec7-54b8-e318527ffac5@suse.com>
Date: Wed, 24 Aug 2022 08:00:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
 <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
 <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
 <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6PR05CA0034.eurprd05.prod.outlook.com
 (2603:10a6:20b:2e::47) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9b664c90-3386-4170-8e63-08da859600af
X-MS-TrafficTypeDiagnostic: VI1PR04MB4413:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t96qKN2Zxo9L2+57XNrS2BdQqhvj6K3RmATGXnHeTxyF9AOz/pq952OjZGdvPiLkzEAq9vlO0dtGEFypSye+gKv3QT5XwjgtvjrWQ2cS4kArxN2e4dj09jrGfig/zO0xAkinLBftH4Jmdwz5HjCmVdXk07qMnuDRC7GrUMFzMQehujvx9Ma2M90QQUeDMjMuAlnDCfiD+OYcFhYi4VLlrI9bS3hc1N1zyJ8CI/uXPUy75pqX+hesOemo41w93Tv9HLt4hyXfZqGM50CWHc06SqAHrl0M339c9mKm37jlisoKMAU0nMnH/BQsg+aE7fxFGPyC1LjYSf/3KCFSfoXCQOFHTH5wt3Ph/pEFXN7RmIprHQj3I+x7jznx3wfukj5EC7978/2YEBQ0oxw9kBvlLZjAO5wOyqO3Cx3tNmXfLik+rSRDgiuxfdkiQSRdcyW/nCm8OjYb4pI/590Spj5aPjAmwfWgB7OKutzTBxvPmREVPt/rZIKd5IrP7ieSqJFKKCsIcjql6G/L2YbRn3oCMbKqP9H7Xy0J80Dj0TVkT6lPOh34/mS70WiZzExpv/xyyKBsy6YrvgRZDx+H0s48l53hgRt3pBSjf0L8u316ay8GNO5jkPXrqHL2Z7YTl8DzHDYleSOssYkYy6Ny/R5AkFj+R47uLvU7irAJPcyGGXNyuVsPtlXHTUYMmTrd4b4MgKU7g/UzFCEZukxTLMHrtpESSNAjmGsTvWT1NSKLIrzM7mj9ivm3hAHQtOhIMDSJYw7nH+AxboLIx06hPc0QV8LTI4vRk+p/05Wnk4kUBY8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(366004)(396003)(136003)(346002)(39860400002)(316002)(2906002)(6512007)(41300700001)(31696002)(86362001)(26005)(53546011)(6506007)(83380400001)(2616005)(38100700002)(66556008)(66476007)(8676002)(66946007)(8936002)(186003)(4326008)(5660300002)(6486002)(6916009)(36756003)(31686004)(478600001)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K0lRWmxlcEVoQmZReWFaOVkydy9qUGhhVE5HT1JNWlZtTlAzYVdXL3NTT09l?=
 =?utf-8?B?ZlBhK05SV2Npb256R1Qrb3doWnp3MnhpWXFaZW51aWpyM005enpYcmZXSTBL?=
 =?utf-8?B?eXNtMWZzTGtKUXlXQkM1SDZ3b1JkaHJHdVJ3UmlhU3VCZjZLS1F2b3F1bmFN?=
 =?utf-8?B?d1pQOEZna00xRjF2OTNkdS9Lak4xUWpYRnhnU0J1MlR3N2dvcVZyQzl4YzYy?=
 =?utf-8?B?V0dTU1VSMmhMZ3dKTFdVSGRlYjNIczA3OVlLZlgrV3paNHY1d0NYMi9sVFdI?=
 =?utf-8?B?QVIxN0VNamtLTDdQdmhMRThadVk3Q0xheEVjcVJjTmpDVlR2NVJ5REhGT1NE?=
 =?utf-8?B?V2pleXVkYm14VFYvdnBNYm1wdVdhNDE2dmgxVWRrQXZ4U3k0OW00bUpXaTJi?=
 =?utf-8?B?MnBhZ25uSnNHMnRUaGdTU3lJWGZKQ3FHay9ISFhSVCtMZ2E5ZTBqR2JvRjRK?=
 =?utf-8?B?WjU1dlllNFlDS0NoTzFTNnBkNXZtd0dQZUQxZEpZelVxL293WGh3dlkyZGcy?=
 =?utf-8?B?WmRrZFZQL3A4WjFNcUV0dWRoWEo1QmhhdmRtRStMRW9XZG80aWhyaVRSdHpW?=
 =?utf-8?B?ZHExMWY2cWxkdWVrVmI2RHRsZHdDRlBDVlJwazh3d2tOcXRuYVVuODE3RmlV?=
 =?utf-8?B?aXZMdDFva2NrUjR4dFZDcU5xbmRoUEoyMUUzN0R3MlhMVFZtMmt3MGRHWVJw?=
 =?utf-8?B?bHNhZ0M0c1NWV3l5MTZ3U09MRnoranNJbzU5K0NUVTFGREk0NjhvSFcvc3pr?=
 =?utf-8?B?VEtObEM3R3dZa3RrRzlOZkthWU51dTUrak1ZY29laC9hMHBVanp1a1lNZnIv?=
 =?utf-8?B?c2Y1RUVKenFBSkhhT2FNbWlWOFpkaWdzejBhT3FTL2RIWHErS28wM2QvWkcz?=
 =?utf-8?B?ZWVxYTEzSzRheC9IcnBVemMxNVF0dnJOcFp6bUI3MS81enFUZmtTUWhOdWho?=
 =?utf-8?B?TGU4OGpWL2YyUzFDeW9weTV2eGY0RDZuL3ZOaGs1ZTdHM1IvNThXazVDK3I3?=
 =?utf-8?B?dkhOWEZ4VzZ0Y2JqbEN1WVE5OHFTeGdSam5wOWo3Y054L2MraDA5cHo3a0Q0?=
 =?utf-8?B?Q3lCRkxrRnBWS2tJZ0d6c1d5VmhkRDFua25wZlJidkR1aGk3SEVQd3BJOVQ5?=
 =?utf-8?B?NlBrWHo3M2lzRDJHdlJqMXdwS2V6RXhLVHVHWWV4NTh2L01NekFWa1BnK1l3?=
 =?utf-8?B?Uk1WUEMvM013OWZwTmgxRGR4bEVXL1liQlR4a21GQXJreDVOa01hWmt0R05z?=
 =?utf-8?B?emVqcjVVb09hb2dJL1F4b2c4N0xvYVN5aDVVTUNNRlg2RWg4ZFZZWmZkV3NK?=
 =?utf-8?B?bU5VQjdmcmIvWC9JTHJYaHJ0ekFvTWxEWkp0NElYNDRXUGFxY2RlTUM2Tjhn?=
 =?utf-8?B?cG8vMlJYbTY3cTRUWm1Tck1KdjFvTTJGUVBJSjRuMWRINGNSSTRwa1dpUDA1?=
 =?utf-8?B?L0tURW1YeFAzdnF5ZmhTNmZOS0F2OEZMU2xhMnhkYW1uMk8wR0xJaUJoWGhm?=
 =?utf-8?B?UFIvRlBqQk9qaUtFYS9Jb3RHN2UxQWtpWkdaTVNla3lQZUo4VWtyeXJlUG5P?=
 =?utf-8?B?V3dYTUc5QlZtc1cxN0pZbUNZZTJXWVc1bEg2ZUlCMUNIbnZxdmJtQ3lGVEVC?=
 =?utf-8?B?L202S2Z2UGhzUmhTbTZpNXFUM2U2ZTVNZVRNajkvOE9sWjFiZy90TDI2MWg2?=
 =?utf-8?B?RWhLQ0dMcXl2U01jYi9GNVIzR0Zxdmw5cTNEamp0N3RYenlmQ3N3bEpEQnU0?=
 =?utf-8?B?RW02c3pRSjlhT2JWSDQzejcyTDNjNXlLdjdYa0thQ3BwSGI0dU5Hdms4ZTcr?=
 =?utf-8?B?d1BJZFhMcTU5dEhGUUFtanF5QUd6aHFSM29KeHdFRHc0NXc1VTd4aC9MeC9w?=
 =?utf-8?B?d2k5eGs1ZlZsQlh3YnptdU9BMFNQZTVCZVlsa01OK2NuSDNHdWhnUzVXV0N5?=
 =?utf-8?B?VTJOOC9vUnBlZ294eEozdzZsTC84MXUrOXJCMEQ0cjQ0aG84SFBFVUdxYnpR?=
 =?utf-8?B?Nml5Z01jM2tBNlM1TnhUNkQ0VWpCRDM5NVVTMlkvZFkzcGtoR29NK0lhRTBZ?=
 =?utf-8?B?VXhoWFpxZHFFWE5qc205eWtUYmY5VWVPbWlTZXo1Q3ViUDlmaXhSQVFNdUZK?=
 =?utf-8?Q?qQWtVZFZ4S6V01rc6Y6WyQSUr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b664c90-3386-4170-8e63-08da859600af
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 06:00:53.1315
 (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: njAVQokmB1p1vXI1AEMw0bbl8zaQ8Tbec3b5JQ8vavwvhZMTXb8MUy/K/nwz0Hb6Tm7557fPBlvj+OZrH7Q8FA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4413

On 23.08.2022 12:48, Andrew Cooper wrote:
> On 23/08/2022 10:27, Jan Beulich wrote:
>> On 23.08.2022 10:59, Andrew Cooper wrote:
>>> But this is going to further complicate my several-year-old series
>>> trying to get Xen's XSTATE handling into a position where we can start
>>> to offer supervisor states.
>> Where do you see further complication? The necessary fiddling with XSS
>> here would of course be dependent upon p->xstate.xsaves alone (or,
>> maybe better, on the set of enabled features in XSS being non-empty),
>> but that's simply another (inner) if().
>>
>> As an aside, I actually wonder what use the supplied size is to user
>> mode code when any XSS-controlled feature is enabled: They'd allocate
>> a needlessly large block of memory, as they would only be able to use
>> XSAVEC.
> 
> This field is an already known kernel=>user infoleak.Â  There are threads
> about it on LKML.
> 
> But it does highlight another problem.Â  This change does not fix Linux
> on AMD Zen3 hardware, where the kernel will find the CPUID value larger
> than it can calculate the size to be, because Xen's use of CET-SS will
> show up in the CPUID value.

Why would that be? We don't even have CET related defines for XCR0, so
we don't enable the states in XSS. And I don't see why we would. Even
for other XSTATE-managed but not XSTATE-enabled features we could
clear the respective bits around the CPUID invocation (just like we
may need to set some in XSS). We'd be in trouble only for any XSTATE-
enabled feature that we make use of ourselves.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 06:02:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 06:02:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392188.630369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjTQ-0005ZT-1W; Wed, 24 Aug 2022 06:02:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392188.630369; Wed, 24 Aug 2022 06:02:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjTP-0005ZM-V8; Wed, 24 Aug 2022 06:02:43 +0000
Received: by outflank-mailman (input) for mailman id 392188;
 Wed, 24 Aug 2022 06:02:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQjTO-0005Xd-LU
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 06:02:42 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d24349f-2372-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 08:02:41 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 25AFB1FABE;
 Wed, 24 Aug 2022 06:02:41 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id F3F8513AC0;
 Wed, 24 Aug 2022 06:02:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wR4AOgC/BWN0LQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 06:02:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d24349f-2372-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661320961; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=mafvYfqoLtZHFGvtg7BQCIOL3NsCDQGbyH/YP82WHqg=;
	b=ZtBPbNYueRmAkkHlpZINVmy8yXF3VBrtCD8nC2OgEhZNSp6b5qPG7v6l3pBSLf1QpRapKO
	GctzP89L0hs7HTUnlJ6LBbaMCDzxI3U8Ap8oqjVUCbfZVTzX+LhjGu0b8Y7yRM2xI+ZeCI
	L7DxdzvfOP4/AvBw1uPwf4ldUziWvp4=
Message-ID: <bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com>
Date: Wed, 24 Aug 2022 08:02:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 SeongJae Park <sjpark@amazon.com>, Maximilian Heyne <mheyne@amazon.de>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
From: Juergen Gross <jgross@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
In-Reply-To: <YwVuwXOGoZX3pM7n@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ONGoeztajscAkVbKVXRze9aQ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ONGoeztajscAkVbKVXRze9aQ
Content-Type: multipart/mixed; boundary="------------5DHypjZNay0yucANRmzkS2CS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 SeongJae Park <sjpark@amazon.com>, Maximilian Heyne <mheyne@amazon.de>
Message-ID: <bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
In-Reply-To: <YwVuwXOGoZX3pM7n@mail-itl>

--------------5DHypjZNay0yucANRmzkS2CS
Content-Type: multipart/mixed; boundary="------------F0h6w5KzViqJ04mYmyNibAQ6"

--------------F0h6w5KzViqJ04mYmyNibAQ6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMDI6MjAsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToN
Cj4gRldJVywgSSBoaXQgdGhpcyBpc3N1ZSB0d2ljZSBhbHJlYWR5IGluIHRoaXMgd2VlayBD
SSBydW4sIHdoaWxlIGl0IG5ldmVyDQo+IGhhcHBlbmVkIGJlZm9yZS4gVGhlIGRpZmZlcmVu
Y2UgY29tcGFyZWQgdG8gcHJldmlvdXMgcnVuIGlzIExpbnV4DQo+IDUuMTUuNTcgdnMgNS4x
NS42MS4gVGhlIGxhdHRlciByZXBvcnRzIHBlcnNpc3RlbnQgZ3JhbnRzIGRpc2FibGVkLiBU
aGUNCj4gb25seSByZWxhdGVkIGNvbW1pdHMgSSBzZWUgdGhlcmUgYXJlIHRocmVlIGNvbW1p
dHMgaW5kZWVkIHJlbGF0ZWQgdG8NCj4gcGVyc2lzdGVudCBncmFudHM6DQo+IA0KPiAgICBj
OThlOTU2ZWY0ODkgeGVuLWJsa2Zyb250OiBBcHBseSAnZmVhdHVyZV9wZXJzaXN0ZW50JyBw
YXJhbWV0ZXIgd2hlbiBjb25uZWN0DQo+ICAgIGVmMjZiNWQ1MzBkNCB4ZW4tYmxrYmFjazog
QXBwbHkgJ2ZlYXR1cmVfcGVyc2lzdGVudCcgcGFyYW1ldGVyIHdoZW4gY29ubmVjdA0KPiAg
ICA3MzA0YmU0Yzk4NWQgeGVuLWJsa2JhY2s6IGZpeCBwZXJzaXN0ZW50IGdyYW50cyBuZWdv
dGlhdGlvbg0KPiANCj4gQnV0IG5vbmUgb2YgdGhlIGNvbW1pdCBtZXNzYWdlcyBzdWdnZXN0
cyBpbnRlbnRpb25hbCBkaXNhYmxpbmcgaXQNCj4gd2l0aG91dCBleHBsaWNpdCByZXF1ZXN0
IGZvciBkb2luZyBzby4gSSBkaWQgbm90IHJlcXVlc3RlZCBkaXNhYmxpbmcgaXQNCj4gaW4g
dG9vbHN0YWNrIChhbHRob3VnaCBJIGhhdmUgc2V0IGJhY2tlbmQgYXMgInRydXN0ZWQiIC0g
WFNBLTQwMykuDQo+IEkgaGF2ZSBjb25maXJtZWQgaXQncyB0aGUgZnJvbnRlbmQgdmVyc2lv
biB0aGF0IG1hdHRlcnMuIFJ1bm5pbmcgb2xkZXINCj4gZnJvbnRlbmQga2VybmVsIHdpdGgg
NS4xNS42MSBiYWNrZW5kIHJlc3VsdHMgaW4gcGVyc2lzdGVudCBncmFudHMNCj4gZW5hYmxl
ZCAoYW5kIGJvdGggZnJvbnRlbmQgYW5kIGJhY2tlbmQgeGVuc3RvcmUgImZlYXR1cmUtcGVy
c2lzdGVudCINCj4gZW50cmllcyBhcmUgIjEiIGluIHRoaXMgY2FzZSkuDQoNClRoaXMgaXMg
YSBtZXNzLg0KDQpJIHRoaW5rIHRoZSBtYWluIHByb2JsZW0gc2VlbXMgdG8gYmUgdGhhdCB0
aGUgZmVhdHVyZSBuZWdvdGlhdGlvbiBwcm9jZXNzDQppc24ndCBzcGVjaWZpZWQgaW4gYSBz
YW5lIHdheS4NCg0KIEZyb20gdGhlIGJsa2lmLmggaGVhZGVyOg0KDQpCYWNrZW5kLXNpZGU6
DQogICogZmVhdHVyZS1wZXJzaXN0ZW50DQogICogICAgICBWYWx1ZXM6ICAgICAgICAgMC8x
IChib29sZWFuKQ0KICAqICAgICAgRGVmYXVsdCBWYWx1ZTogIDANCiAgKiAgICAgIE5vdGVz
OiA3DQogICoNCiAgKiAgICAgIEEgdmFsdWUgb2YgIjEiIGluZGljYXRlcyB0aGF0IHRoZSBi
YWNrZW5kIGNhbiBrZWVwIHRoZSBncmFudHMgdXNlZA0KICAqICAgICAgYnkgdGhlIGZyb250
ZW5kIGRyaXZlciBtYXBwZWQsIHNvIHRoZSBzYW1lIHNldCBvZiBncmFudHMgc2hvdWxkIGJl
DQogICogICAgICB1c2VkIGluIGFsbCB0cmFuc2FjdGlvbnMuIFRoZSBtYXhpbXVtIG51bWJl
ciBvZiBncmFudHMgdGhlIGJhY2tlbmQNCiAgKiAgICAgIGNhbiBtYXAgcGVyc2lzdGVudGx5
IGRlcGVuZHMgb24gdGhlIGltcGxlbWVudGF0aW9uLCBidXQgaWRlYWxseSBpdA0KICAqICAg
ICAgc2hvdWxkIGJlIFJJTkdfU0laRSAqIEJMS0lGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVT
VC4gVXNpbmcgdGhpcw0KICAqICAgICAgZmVhdHVyZSB0aGUgYmFja2VuZCBkb2Vzbid0IG5l
ZWQgdG8gdW5tYXAgZWFjaCBncmFudCwgcHJldmVudGluZw0KICAqICAgICAgY29zdGx5IFRM
QiBmbHVzaGVzLiBUaGUgYmFja2VuZCBkcml2ZXIgc2hvdWxkIG9ubHkgbWFwIGdyYW50cw0K
ICAqICAgICAgcGVyc2lzdGVudGx5IGlmIHRoZSBmcm9udGVuZCBzdXBwb3J0cyBpdC4gSWYg
YSBiYWNrZW5kIGRyaXZlciBjaG9vc2VzDQogICogICAgICB0byB1c2UgdGhlIHBlcnNpc3Rl
bnQgcHJvdG9jb2wgd2hlbiB0aGUgZnJvbnRlbmQgZG9lc24ndCBzdXBwb3J0IGl0LA0KICAq
ICAgICAgaXQgd2lsbCBwcm9iYWJseSBoaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHBlcnNp
c3RlbnRseSBtYXBwZWQgZ3JhbnRzDQogICogICAgICAoZHVlIHRvIHRoZSBmYWN0IHRoYXQg
dGhlIGZyb250ZW5kIHdvbid0IGJlIHJldXNpbmcgdGhlIHNhbWUgZ3JhbnRzKSwNCiAgKiAg
ICAgIGFuZCBmYWxsIGJhY2sgdG8gbm9uLXBlcnNpc3RlbnQgbW9kZS4gQmFja2VuZCBpbXBs
ZW1lbnRhdGlvbnMgbWF5DQogICogICAgICBzaHJpbmsgb3IgZXhwYW5kIHRoZSBudW1iZXIg
b2YgcGVyc2lzdGVudGx5IG1hcHBlZCBncmFudHMgd2l0aG91dA0KICAqICAgICAgbm90aWZ5
aW5nIHRoZSBmcm9udGVuZCBkZXBlbmRpbmcgb24gbWVtb3J5IGNvbnN0cmFpbnRzICh0aGlz
IG1pZ2h0DQogICogICAgICBjYXVzZSBhIHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9uKS4NCg0K
RnJvbnRlbmQtc2lkZToNCiAgKiBmZWF0dXJlLXBlcnNpc3RlbnQNCiAgKiAgICAgIFZhbHVl
czogICAgICAgICAwLzEgKGJvb2xlYW4pDQogICogICAgICBEZWZhdWx0IFZhbHVlOiAgMA0K
ICAqICAgICAgTm90ZXM6IDcsIDgsIDkNCiAgKg0KICAqICAgICAgQSB2YWx1ZSBvZiAiMSIg
aW5kaWNhdGVzIHRoYXQgdGhlIGZyb250ZW5kIHdpbGwgcmV1c2UgdGhlIHNhbWUgZ3JhbnRz
DQogICogICAgICBmb3IgYWxsIHRyYW5zYWN0aW9ucywgYWxsb3dpbmcgdGhlIGJhY2tlbmQg
dG8gbWFwIHRoZW0gd2l0aCB3cml0ZQ0KICAqICAgICAgYWNjZXNzIChldmVuIHdoZW4gaXQg
c2hvdWxkIGJlIHJlYWQtb25seSkuIElmIHRoZSBmcm9udGVuZCBoaXRzIHRoZQ0KICAqICAg
ICAgbWF4aW11bSBudW1iZXIgb2YgYWxsb3dlZCBwZXJzaXN0ZW50bHkgbWFwcGVkIGdyYW50
cywgaXQgY2FuIGZhbGxiYWNrDQogICogICAgICB0byBub24gcGVyc2lzdGVudCBtb2RlLiBU
aGlzIHdpbGwgY2F1c2UgYSBwZXJmb3JtYW5jZSBkZWdyYWRhdGlvbiwNCiAgKiAgICAgIHNp
bmNlIHRoZSB0aGUgYmFja2VuZCBkcml2ZXIgd2lsbCBzdGlsbCB0cnkgdG8gbWFwIHRob3Nl
IGdyYW50cw0KICAqICAgICAgcGVyc2lzdGVudGx5LiBTaW5jZSB0aGUgcGVyc2lzdGVudCBn
cmFudHMgcHJvdG9jb2wgaXMgY29tcGF0aWJsZSB3aXRoDQogICogICAgICB0aGUgcHJldmlv
dXMgcHJvdG9jb2wsIGEgZnJvbnRlbmQgZHJpdmVyIGNhbiBjaG9vc2UgdG8gd29yayBpbg0K
ICAqICAgICAgcGVyc2lzdGVudCBtb2RlIGV2ZW4gd2hlbiB0aGUgYmFja2VuZCBkb2Vzbid0
IHN1cHBvcnQgaXQuDQoNClRob3NlIGRlZmluaXRpb25zIGRvbid0IG1ha2UgY2xlYXIsIHdo
aWNoIHNpZGUgaXMgdGhlIG9uZSB0byBkZWNpZGUgd2hldGhlcg0KdGhlIGZlYXR1cmUgc2hv
dWxkIGJlIHVzZWQgb3Igbm90LiBJbiBteSB1bmRlcnN0YW5kaW5nIHRoZSByZWxhdGVkIGRy
aXZlcnMNCnNob3VsZCBqdXN0IGFkdmVydGlzZSB0aGVpciBzZXR0aW5nICh0aGUgX2FiaWxp
dHlfIHRvIHVzZSB0aGUgZmVhdHVyZSksIGFuZA0KaXQgc2hvdWxkIGJlIHVzZWQgb25seSBp
ZiBib3RoIHNpZGVzIGhhdmUgd3JpdHRlbiBhICIxIi4NCg0KV2l0aCBhYm92ZSBwYXRjaGVz
IGFwcGxpZWQsIHRoZSBmcm9udGVuZCB3aWxsIHNldCAnZmVhdHVyZS1wZXJzaXN0ZW50JyBp
bg0KWGVuc3RvcmUgb25seSwgaWYgdGhlIGJhY2tlbmQgaGFzIGRvbmUgc28sIGJ1dCB0aGUg
YmFja2VuZCB3aWxsIHNldCBpdA0Kb25seSwgaWYgdGhlIGZyb250ZW5kIGhhcyBkb25lIGl0
LiBUaGlzIHJlc3VsdHMgaW4gcGVyc2lzdGVudCBncmFudHMNCmFsd2F5cyBiZWluZyBkaXNh
YmxlZC4NCg0KVGhpcyBpcyB3cm9uZywgYXMgdGhlIHZhbHVlIHdyaXR0ZW4gc2hvdWxkIG5v
dCByZWZsZWN0IHRoZSBjdXJyZW50IHN0YXRlDQpvZiB0aGUgaW50ZXJmYWNlLiBUaGF0IHN0
YXRlIHNob3VsZCBiZSBzZXQgYWNjb3JkaW5nIHRvIGJvdGggc2lkZXMnIHZhbHVlLA0KcHJv
YmFibHkgYSBjYWNoZWQgb25lIG9uIHRoZSBibGtiYWNrIHNpZGUgKHVzaW5nIGEgbmV3IGZs
YWcgZm9yIGNhY2hpbmcgaXQsDQpub3QgdGhlIGN1cnJlbnQgc3RhdGUpLg0KDQpUaGUgYmxr
aWYuaCBjb21tZW50cyBzaG91bGQgYmUgdXBkYXRlZCB0byBtYWtlIGl0IGNsZWFyIHRoYXQg
dGhlIHZhbHVlcyBpbg0KWGVuc3RvcmUgZG9uJ3QgcmVmbGVjdCB0aGUgc3RhdGUgb2YgdGhl
IGNvbm5lY3Rpb24sIGJ1dCB0aGUgYXZhaWxhYmlsaXR5IG9mDQp0aGUgZmVhdHVyZSBpbiB0
aGUgcmVsYXRlZCBkcml2ZXIuDQoNCkNvbW1lbnRzPw0KDQoNCkp1ZXJnZW4NCg==
--------------F0h6w5KzViqJ04mYmyNibAQ6
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------F0h6w5KzViqJ04mYmyNibAQ6--

--------------5DHypjZNay0yucANRmzkS2CS--

--------------ONGoeztajscAkVbKVXRze9aQ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMFvwAFAwAAAAAACgkQsN6d1ii/Ey+a
eAf/Y+t0FciB+7OZ1N5ZXUnuwOlczfbvEQsAIlVH9J4n1qX33EXAXrBoalXMt3XHl9D34tONHojx
pecnh4RFvOvlYhxbWan5ysaOrKHDy2lNDhwcfKvUR6RMGXRLotyC5KLk+tlRiix0R26TaC20RKBb
BiLmJ8Fl8fhrgBHlvezq6tIqrH4yNzAk1G66qiedkdHuADS3MUKGQ+2h5agL0278EhAAdhXzrl8S
TJpx0QNblT6BNtfe8/+jynaocr8JXXzLjWDKenbxIx8jlN1PGq4R9ybd76n9wlpux1uge0QY3+yQ
C4xdbCpzsQJfzPTFDoyG3g+xuPsfOMhcJ1LfDYJq2A==
=Mp/V
-----END PGP SIGNATURE-----

--------------ONGoeztajscAkVbKVXRze9aQ--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 06:12:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 06:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392195.630380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjcP-00077x-25; Wed, 24 Aug 2022 06:12:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392195.630380; Wed, 24 Aug 2022 06:12:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjcO-00077q-U6; Wed, 24 Aug 2022 06:12:00 +0000
Received: by outflank-mailman (input) for mailman id 392195;
 Wed, 24 Aug 2022 06:11:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQjcN-00077k-6s
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 06:11:59 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8b81fe3-2373-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 08:11:58 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 52E401FAF0;
 Wed, 24 Aug 2022 06:11:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2079113AE9;
 Wed, 24 Aug 2022 06:11:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vrToBS3BBWOQMAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 06:11:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8b81fe3-2373-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661321517; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=/NGGdV5zlINSGciFWkZ1v2pxZa2EbaT7oJyJkBMZQxs=;
	b=ET7gOPF/evKbqB3wX6Zaqs/7RvydgHtx+91MqlrU+L4HDvIebjq5aZOdzyCuXSKJRUxt3F
	XY2ZKJEywxtydEctw6gIK/SKKqVA/mzQfRnuJKjxkQMMH0JV1ocCMbUfYwSphT833Vi30l
	5q9j4Eq16O/Gbe6cOEZsm+6zfQ8Ic2w=
Message-ID: <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com>
Date: Wed, 24 Aug 2022 08:11:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwVuwXOGoZX3pM7n@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5S6botwjJEwzBqS5v0I0jNkY"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5S6botwjJEwzBqS5v0I0jNkY
Content-Type: multipart/mixed; boundary="------------sHVZTISGKAXDPA8yDFm0XKeA";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Message-ID: <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
In-Reply-To: <YwVuwXOGoZX3pM7n@mail-itl>

--------------sHVZTISGKAXDPA8yDFm0XKeA
Content-Type: multipart/mixed; boundary="------------Ri0nBVFBWgKviEHToqM3cNRy"

--------------Ri0nBVFBWgKviEHToqM3cNRy
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMDI6MjAsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToN
Cj4gT24gVHVlLCBBdWcgMjMsIDIwMjIgYXQgMDk6NDg6NTdBTSArMDIwMCwgSnVlcmdlbiBH
cm9zcyB3cm90ZToNCj4+IE9uIDIzLjA4LjIyIDA5OjQwLCBEZW1pIE1hcmllIE9iZW5vdXIg
d3JvdGU6DQo+Pj4gSSByZWNlbnRseSBoYWQgYSBWTeKAmXMgL2Rldi94dmRiIHN0b3Agd29y
a2luZyB3aXRoIGEg4oCcYmFja2VuZCBoYXMgbm90DQo+Pj4gdW5tYXBwZWQgZ3JhbnTigJ0g
ZXJyb3IuICBTaW5jZSAvZGV2L3h2ZGIgd2FzIHRoZSBWTeKAmXMgcHJpdmF0ZSB2b2x1bWUs
DQo+Pj4gdGhhdCByZW5kZXJlZCB0aGUgVk0gZWZmZWN0aXZlbHkgdXNlbGVzcy4gIEkgaGFk
IHRvIGtpbGwgaXQgd2l0aA0KPj4+IHF2bS1raWxsLg0KPj4+DQo+Pj4gVGhlIGJhY2tlbmQg
b2YgL2Rldi94dmRiIGlzIGRvbTAsIHNvIGEgbWFsaWNpb3VzIGJhY2tlbmQgaXMgY2xlYXJs
eSBub3QNCj4+PiB0aGUgY2F1c2Ugb2YgdGhpcy4gIEkgYmVsaWV2ZSB0aGUgYWN0dWFsIGNh
dXNlIGlzIGEgcmFjZSBjb25kaXRpb24sIHN1Y2gNCj4+PiBhcyB0aGUgZm9sbG93aW5nOg0K
Pj4+DQo+Pj4gMS4gR1VJIGFnZW50IGluIFZNIGFsbG9jYXRlcyBncmFudCBYLg0KPj4+IDIu
IEdVSSBhZ2VudCB0ZWxscyBHVUkgZGFlbW9uIGluIGRvbTAgdG8gbWFwIFguDQo+Pj4gMy4g
R1VJIGFnZW50IGZyZWVzIGdyYW50IFguDQo+Pj4gNC4gYmxrZnJvbnQgYWxsb2NhdGVzIGdy
YW50IFggYW5kIHBhc3NlcyBpdCB0byBkb20wLg0KPj4+IDUuIGRvbTDigJlzIGJsa2JhY2sg
bWFwcyBncmFudCBYLg0KPj4+IDYuIGJsa2JhY2sgdW5tYXBzIGdyYW50IFguDQo+Pj4gNy4g
R1VJIGRhZW1vbiBtYXBzIGdyYW50IFguDQo+Pj4gOC4gYmxrZnJvbnQgdHJpZXMgdG8gcmV2
b2tlIGFjY2VzcyB0byBncmFudCBYIGFuZCBmYWlscy4gIERpc2FzdGVyDQo+Pj4gICAgICBl
bnN1ZXMuDQo+Pj4NCj4+PiBXaGF0IGNvdWxkIGJlIGRvbmUgdG8gcHJldmVudCB0aGlzIHJh
Y2U/ICBSaWdodCBub3cgYWxsIG9mIHRoZQ0KPj4+IGFwcHJvYWNoZXMgSSBjYW4gdGhpbmsg
b2YgYXJlIGhvcnJpYmx5IGJhY2t3YXJkcy1pbmNvbXBhdGlibGUuICBUaGV5DQo+Pj4gcmVx
dWlyZSByZXBsYWNpbmcgZ3JhbnQgSURzIHdpdGggc29tZSBzb3J0IG9mIGhhbmRsZSwgYW5k
IHJlcXVpcmluZw0KPj4+IHVzZXJzcGFjZSB0byBwYXNzIHRoZXNlIGhhbmRsZXMgdG8gaW9j
dGxzLiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0DQo+Pj4gbmV0ZnJvbnQgYW5kIGJsa2Zy
b250IGNvdWxkIHJhY2UgYWdhaW5zdCBlYWNoIG90aGVyIGluIGEgd2F5IHRoYXQgY2F1c2Vz
DQo+Pj4gdGhpcywgdGhvdWdoIEkgc3VzcGVjdCB0aGF0IHJhY2Ugd291bGQgYmUgbXVjaCBo
YXJkZXIgdG8gdHJpZ2dlci4NCj4+Pg0KPj4+IFRoaXMgaGFzIGhhcHBlbmVkIG1vcmUgdGhh
biBvbmNlIHNvIGl0IGlzIG5vdCBhIGZsdWtlIGR1ZSB0byBlLmcuIGNvc21pYw0KPj4+IHJh
eXMgb3Igb3RoZXIgcmFuZG9tIGJpdC1mbGlwcy4NCj4+Pg0KPj4+IE1hcmVrLCBkbyB5b3Ug
aGF2ZSBhbnkgc3VnZ2VzdGlvbnM/DQo+Pg0KPj4gVG8gbWUgdGhhdCBzb3VuZHMgbGlrZSB0
aGUgaW50ZXJmYWNlIG9mIHRoZSBHVUkgaXMgdGhlIGN1bHByaXQuDQo+Pg0KPj4gVGhlIEdV
SSBhZ2VudCBpbiB0aGUgZ3Vlc3Qgc2hvdWxkIG9ubHkgZnJlZSBhIGdyYW50LCBpZiBpdCBn
b3QgYSBtZXNzYWdlDQo+PiBmcm9tIHRoZSBiYWNrZW5kIHRoYXQgaXQgY2FuIGRvIHNvLiBK
dXN0IGFzc3VtaW5nIHRvIGJlIGFibGUgdG8gZnJlZSBpdA0KPj4gYmVjYXVzZSBpdCBpc24n
dCBpbiB1c2UgY3VycmVudGx5IGlzIHRoZSBicm9rZW4gYXNzdW1wdGlvbiBoZXJlLg0KPiAN
Cj4gRldJVywgSSBoaXQgdGhpcyBpc3N1ZSB0d2ljZSBhbHJlYWR5IGluIHRoaXMgd2VlayBD
SSBydW4sIHdoaWxlIGl0IG5ldmVyDQo+IGhhcHBlbmVkIGJlZm9yZS4gVGhlIGRpZmZlcmVu
Y2UgY29tcGFyZWQgdG8gcHJldmlvdXMgcnVuIGlzIExpbnV4DQo+IDUuMTUuNTcgdnMgNS4x
NS42MS4gVGhlIGxhdHRlciByZXBvcnRzIHBlcnNpc3RlbnQgZ3JhbnRzIGRpc2FibGVkLg0K
DQpJIHRoaW5rIHRoaXMgYWRkaXRpb25hbCBidWcgaXMganVzdCB0cmlnZ2VyaW5nIHRoZSBy
YWNlIGluIHRoZSBHVUkNCmludGVyZmFjZSBtb3JlIGVhc2lseSwgYXMgYmxrZnJvbnQgd2ls
bCBhbGxvY2F0ZSBuZXcgZ3JhbnRzIHdpdGggYQ0KbXVjaCBoaWdoZXIgZnJlcXVlbmN5Lg0K
DQpTbyBmaXhpbmcgdGhlIHBlcnNpc3RlbnQgZ3JhbnQgaXNzdWUgd2lsbCBqdXN0IHBhcGVy
IG92ZXIgdGhlIHJlYWwNCmlzc3VlLg0KDQoNCkp1ZXJnZW4NCg==
--------------Ri0nBVFBWgKviEHToqM3cNRy
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Ri0nBVFBWgKviEHToqM3cNRy--

--------------sHVZTISGKAXDPA8yDFm0XKeA--

--------------5S6botwjJEwzBqS5v0I0jNkY
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMFwSwFAwAAAAAACgkQsN6d1ii/Ey/8
RQf9FsZqJsJmQ9bjinApM8w9XKoKhXFn05pewOwD5rJoq6FsR/P68kXUI6UBlfz6zD0pXWaoONWS
CLUtxTg8T++ohqIzcduSDb9bM2fnhvrp4rLGB1tkhoTXxcLrBFceUIV6e/52WGhreyiZdbXnU4Mp
qvqppJxTNzhTXIf+MT3iiFg8JcuK+l8kFnSlrrUJJhlKm9xTi2odrbWaUI8WN4ed2Dm/Gg+u8JWR
Zpyqm0KzXCWhnnFNpLWH9H2JFAa9B+jNJMt7ffz+EACLI7EI2ipebOyTWwWEayzfg3LU2gvJ6xwR
wFqCqRxIlaECBRJOxgijXumXym9JtyA9WrU2tCbyhA==
=vpPS
-----END PGP SIGNATURE-----

--------------5S6botwjJEwzBqS5v0I0jNkY--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 06:28:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 06:28:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392201.630391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjsD-0000GI-Bl; Wed, 24 Aug 2022 06:28:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392201.630391; Wed, 24 Aug 2022 06:28:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjsD-0000G2-96; Wed, 24 Aug 2022 06:28:21 +0000
Received: by outflank-mailman (input) for mailman id 392201;
 Wed, 24 Aug 2022 06:28:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQjsB-0000Fs-OV; Wed, 24 Aug 2022 06:28:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQjsB-0005O1-K1; Wed, 24 Aug 2022 06:28:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQjsB-0001x7-5W; Wed, 24 Aug 2022 06:28:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQjsB-00078S-2L; Wed, 24 Aug 2022 06:28:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MQaUsRBW5HTJrRl9y0LQeKeSL1Xj+opJirrVGPJcBJA=; b=TAZcUFtUZsbyPjjNgSdokYg9ZA
	LyiKxfi4X8LtVI8nfwotY0XXHslRi5ydC1CxDbtxANwWSlSuoT3CfZTegI451fmwboYzK+bi7uljt
	rhB3EX1sj3Mi8ZJNwPDO1a09ukb+TWlXoHfsYuVw0G9fNVshBFzx5aZnfBczImZIwKE0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172738-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172738: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a8cc5842b5cb863e46a2d009151c6ccbdecadaba
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 06:28:19 +0000

flight 172738 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172738/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                a8cc5842b5cb863e46a2d009151c6ccbdecadaba
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   20 days
Failing since        172148  2022-08-04 21:39:38 Z   19 days   45 attempts
Testing same since   172738  2022-08-23 21:12:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2320 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 06:30:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 06:30:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392210.630401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjuP-0001gM-Sc; Wed, 24 Aug 2022 06:30:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392210.630401; Wed, 24 Aug 2022 06:30:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQjuP-0001gF-Pu; Wed, 24 Aug 2022 06:30:37 +0000
Received: by outflank-mailman (input) for mailman id 392210;
 Wed, 24 Aug 2022 06:30:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQjuO-0001g7-IL
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 06:30:36 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60048.outbound.protection.outlook.com [40.107.6.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42df1259-2376-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 08:30:35 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR0402MB3408.eurprd04.prod.outlook.com (2603:10a6:803:9::32)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Wed, 24 Aug
 2022 06:30:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 06:30:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42df1259-2376-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hHwkxSE15cBjwHAu4rPCoIsF5PEI/nViTXSnIagZhDkXuVl4GGcrIooxbaHo5x3CAke6MN9YeH/HjT26jLUoQS31O26hsW6E60Au6/2wFEuJjKGiY/YM9im9+8P4liHDiH4HFuqQ+Wnl2qUocv6O4tHXSZdKIAqCTVPKvqzU3XqES6kgumCwyYvAkAUJO1F0pO5WgeuFi2x/oSlSLZtDHn3v4t0pkAZTkuC3cSfDGgf4SAAYRGT2JqTe4yk5O71C12eZ6iCEuV53tGn+2EGC2kjlndNhJiZtwd4X4TR2tml/ujHxR4H46fKC4TU7UeK3Rpw9UOPtQocWeudc36oUJw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XdcHiNA0s7gRgW1pErjR4Q4Wi4Ympbh0cEEQ/hfafN4=;
 b=QoRf6AqXNmGnWH/BtVtFGqQH/rxvg+8Y10KnQWxRMbqc3uMCpM3r/Bra+IL37bz0Fz1hg4ggJ8e26PD0cS+kV7bjz0tBvXbZNvWJDXQ3x/xwpWNm+YekQSPz4LaEcIeM53nxsCRv/ITVnsTbrtRG4LBb7bo5m/w+njg6qtDjurihDj58W69NXEtW7q1/COubiwHgoMsHR5numT5pUf4LEZl9xEZ/LuQFj6lhczQWCGuBNyyi/OIEG1WKsgYgQZCUYvP6LflHRIQFRGZM7GpR8YC8Kfg5BqKWzCMGO7nepffI3rZM3sc22DPY+1Pkp5swskB29s4ZSo/EP8z5Qy8XDA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XdcHiNA0s7gRgW1pErjR4Q4Wi4Ympbh0cEEQ/hfafN4=;
 b=hanvSkUCInQZV+iECJsrdHoFIAnlQC8i4wNjzjSF78QXEC2IeDIRcxrnDFQeIfTMKgc0AIVl+2YSI4fPsKdfOVPU7A57GcTDTRdwrDH30DoF4F6tbGXF6vz1FDlx/1cmCJ8nt+fXZyWQcfYBAlMk/kMTPGygGjE7L9QiEeNDuzTs3Dyu8xyzs2zjLqLmp2HNpVzqZ0tE6a69OIjgr9KJDO2jOPA4TGMaoTczHLtnUEn3m99iQKoTnZ4jgstmBORhEQX8GSsvj2FgVxfm445YQiEvn+Dzm1fVP1JB2th/sQ+smQGSPEV5kCEfi5SmGysw5ivz1VDxMNfvC3kd84408Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <82fe9c20-2b6a-fb53-8ab2-84a955efe14e@suse.com>
Date: Wed, 24 Aug 2022 08:30:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 SeongJae Park <sjpark@amazon.com>, Maximilian Heyne <mheyne@amazon.de>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
 <bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR05CA0032.eurprd05.prod.outlook.com
 (2603:10a6:20b:2e::45) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 29ed7516-274c-46a5-cbd9-08da859a2505
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3408:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nhK/pBnY4LPru6WO8w6D06X7MaCTtT0Lgw8WrajjLnsWwIXYp1KRd3J4hVynTpfiZWa/NHHEWC8MqhajTlU9wZeIryqN0foPXtoiTbsyyh91ADAFfjxxndyzmPX2ROIZ/Rcg4ev1aQHKttO2aDvkSaqXESXyTHUWa3kH0HNxNdn+LWzNqSGBKQ+nMQlJVzr3a/rWANv57DVGB21GlagJh026k5n+HSuOFGbPHDH3ma2ARTyK67jRjc6XGBqo1dfTPTQY2mwI21pT9TEG19qzwSK8J6Sgh/i+YAjO797NvVXxXsWBlXrnK5V5rMuwe+nu2VXf0VugvkVN6iHAPteFaRQDZtiS0VF6/VyLEojKuHH1WZMiwleO0kCHSRSs7f5zZGAsMDgeQmkw4QayW9H+xusTUsm2iSJ1KP8zU38GPSFGeamCxuhWFuSDaXItQUTjntm0eigpK3ZQVWfccqGHbSTPXHFEWh2UAyffbZwvzBWGQKO+6yz1K+SpZ+/7dgJDhkjGqopYW6gFpA6+BpDlnr8GoudhYPU3mjGfg4o48pqXxE7LoK7uL4fscLUmsWao8eBuPzxtq3KSzsf4H82aqwkvzJdQvKQYVyIDbrX+IVEeanrRc/DeDoPYBSJjqBrmCXOs7tTWZKc3nmlVb/cb2S1GZwjOtawYf5N2WQzGPjM4WiZEAqtlLSGu+e5K3z9knE2q57aW+LIxzUPmRy2KcHYOfUZqe05d+KnoSpngcR9og7cV7tvxe/AVM6H9Tb4ZBLpCjTpTq6gdGjucwdmYT5z6T6Ndg7myWcv16kjwz8U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(396003)(366004)(39860400002)(346002)(6512007)(316002)(4326008)(2616005)(86362001)(186003)(31696002)(38100700002)(8936002)(83380400001)(5660300002)(6862004)(66946007)(66556008)(66476007)(31686004)(4744005)(36756003)(2906002)(478600001)(41300700001)(6486002)(54906003)(6666004)(26005)(6506007)(37006003)(53546011)(6636002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2owcm43WHIvWGVCUlZjV05aL2dFbTFQRHRKSzFWOTRKQ2d4SE0zMWo2ZTVU?=
 =?utf-8?B?RmlVMDczbG1YYUFkVnkxejVpNzJNWWFlalZpaklMc3dqdG4zWVpGYUJ4WStM?=
 =?utf-8?B?L1hWVUtRZ3p4M0hGVGNueEZvYitrOG1WWnZKVmpjNVpzODFsNDJBUzJDdCs2?=
 =?utf-8?B?MFU2Yk5vR0pUdUdRbFh1dWVrTzU2RC9neGpyM3ZwWmoyQUV3MjNUWnNieTI5?=
 =?utf-8?B?WlZ2bWl4TGROUVdBMFIxY3I3LzUvWk5rSEZBbXc1OTNKenJmTGFCSVJyMVM1?=
 =?utf-8?B?Q3orWms3OVdHWDZaZ0dzR0Rydnova1JxeFdIK3kxKzhaOGNFbDNNckpQdnRX?=
 =?utf-8?B?UFBVemQ2b3ZneCtUTHZwb1lYR2FUWEtHZUJ3MWU4Z1JGQzVwYXR3Q3ZPeTdM?=
 =?utf-8?B?eHdmNlg1L3dNanVndUMzOWY0bXNmTmVsSDdReUJkci9wZlljOHRQSUh6N3RG?=
 =?utf-8?B?TVVMUUtLN0FjT3R3K21JdTRPdXdoT2lyV1RkR3g1TVBZRStyb2RmVWY1ZXN2?=
 =?utf-8?B?ak9YR2VxaWdsRzJzT25jaGUwQXhTazdDSm51TmI0Y0FmaU5xR1V0WW1LdjNW?=
 =?utf-8?B?V2JNVmI2dVVBY3o2VFJsSVdZc3lxR0pnOGdiMC8xL3dsQzgyd28zVHlIZHV3?=
 =?utf-8?B?UHhwbDVHdkxBS0N1OURZeUh3T2lGR24zaGpyQ2ljWENreERzTUp3MGFEbWdD?=
 =?utf-8?B?NmFLTkY2cStxdkhOUUd0czM5cTFpQklLQVNhYWx1cUt0RStGVncrQWxBbjZS?=
 =?utf-8?B?UXdrQWRQMG1UdktSZjdhclJqd2xNaXN1VWYyUXB5Qjg0WmRaOVZNSWhrVFRv?=
 =?utf-8?B?QklrWnZGRTAzYk9HWWYvcjRaR1IvbUw2ampHTmVqMmF6bkpkcUtodng1YnlC?=
 =?utf-8?B?WDhpU1JmbHkzc2dHdVY2dkVGOFd3S2YvRjZ3M1RTNTlnVERvMTRqaTVBNnY3?=
 =?utf-8?B?SkhUeWlmZE5mWXBPL09tMTViQ0hnTzV1SFhaNW1yOXI1TXdJcXFhZEo1WFZ0?=
 =?utf-8?B?aGozL3JuN0JTNmtFSHRqSnZPSlNIRjlwT0ZjQmU1Q2R3V2M3aUoyY09Zd1or?=
 =?utf-8?B?R2JBWDVDcFlVam41UkZjVXRDcWsvWUgxSFZJVVMrUldNeURoZjR6TTM4M2FB?=
 =?utf-8?B?a0sxL3BzdTFFWlR4RVRya2F0M1ZWTy9mYjQ3U2RzWCtONnhhazFJMFcvbm5k?=
 =?utf-8?B?dlVESVdBNDlRNjJrVDFxeUMrSUJJNTJadnRLV2w4a0xVWnI1R3d5S3ZnMnNq?=
 =?utf-8?B?aEdZRnhkMjI3cDJ2cE9xa2RlMFh4NHg1MlY4cjdpUUhBREhkOEZmLzlDNk5a?=
 =?utf-8?B?eUNFa2YyV3BqRWVnWHZjVzVBeHVzbFl3OU9UdFgxbWhFRStuWlZnMlAxV0FC?=
 =?utf-8?B?dU45L3NyMkYxN0I5UEZ1NGNDRjZSQ3N2bHJicXc4eUhzZ3VSR0t4ZFZhRzd6?=
 =?utf-8?B?dGoxODRjakVNMndxSEk1NUtlc08rZjdQZlRpWXlzRTVJL0Urb1lWaGljYU84?=
 =?utf-8?B?K055R0ViNHBETmE5QWh5QjI0cHJLc0tOaWZ4SHhPTW1wYWJwT0RkZ1k3aEJB?=
 =?utf-8?B?bDNWZSs2WnpJVXBCZUloVitPVi9VOG1vQ3NqR1FKeGtUb0FCbUVzNFpZaFBt?=
 =?utf-8?B?YnpZcjBvUHpZNzBiZXY1dTVYSUxzLzMrekhrTzV2WWtqekpnb2RNMzVQa09l?=
 =?utf-8?B?Z0JxUjJUMWY3V3ZsajYyeXBWc2xzeEhwUWdtREppbkROcDFsM1JkOGsxM0lQ?=
 =?utf-8?B?RnZ4czdEN0oveS9iVTlZdGNTREhCK3krU1l6d1dObDV3aVEvdzd1bm1xbU9u?=
 =?utf-8?B?OXpwblFDdmJ3ZjdUNnYvR2VLVWFYMEFsR00vNTUvL1padDZ0SXFZT1l2S2hw?=
 =?utf-8?B?SUJUQ3p0ZERKNVMrVXA1WjdNeGxYTmtKWGorN2M5MEFaSmxXd2IyMnA5VTFk?=
 =?utf-8?B?bzlwL0tLRGwvejZRMlFpVWdRaDNLclU2ZXNNYWJkVFk2Tk15YXJYbXNkWTdN?=
 =?utf-8?B?SHJpR21MSzUzSEpxeGJnUmlmcWI3ckV2YTYyWUU2MEtqdFhLQkVVL05uY0ZE?=
 =?utf-8?B?YkRremd3YmFaSkpNKzJZakxUUzBDVkhQY1FlWXZZLzNOQTkvejdDczNza0kz?=
 =?utf-8?Q?KEY9ay0veKYNDcBb6zWGU9e7O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29ed7516-274c-46a5-cbd9-08da859a2505
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 06:30:32.0972
 (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: KmGhOn6qMf/uLIbUBeO9Epbr7oWPdADsGHvFOBY8LPUJBnc7sRgne7pFi6dGLUjrrCJqjkZMpoEXdctGTp6ixQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3408

On 24.08.2022 08:02, Juergen Gross wrote:
> The blkif.h comments should be updated to make it clear that the values in
> Xenstore don't reflect the state of the connection, but the availability of
> the feature in the related driver.

Isn't that implied for all the feature-* leaves? I certainly don't mind it
being spelled out, but I don't think there's any real ambiguity here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 06:36:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 06:36:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392216.630413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQk01-0002Kh-I9; Wed, 24 Aug 2022 06:36:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392216.630413; Wed, 24 Aug 2022 06:36:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQk01-0002Ka-FE; Wed, 24 Aug 2022 06:36:25 +0000
Received: by outflank-mailman (input) for mailman id 392216;
 Wed, 24 Aug 2022 06:36:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQk00-0002KU-NQ
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 06:36:24 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12272e93-2377-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 08:36:23 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E1D5D339C2;
 Wed, 24 Aug 2022 06:36:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B1EF013780;
 Wed, 24 Aug 2022 06:36:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id a9HVKebGBWPfOAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 06:36:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12272e93-2377-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661322982; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Ss0C8XmbDfzDAwkDpVgOHXI1U+Px+nKGfPKL6sPrYbM=;
	b=smzHhriikRZDpbdrZ7hNbc1Im1iCvXK2Yr9iRbn0t9nF+bfG8tPupLA/timtUmrqlhdrp/
	tZCKYKQaMYcl6mtsiQGWC/9V3K3ifmvJbopWsgMdZERM+LMNfwd0SFb7Hy08NdXZ5eqMxG
	5VI+DByYq0CczxQR0M9TqIPgPWFlyoc=
Message-ID: <81811b5a-7006-bae3-422b-81e38bcdaef3@suse.com>
Date: Wed, 24 Aug 2022 08:36:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 SeongJae Park <sjpark@amazon.com>, Maximilian Heyne <mheyne@amazon.de>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
 <bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com>
 <82fe9c20-2b6a-fb53-8ab2-84a955efe14e@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <82fe9c20-2b6a-fb53-8ab2-84a955efe14e@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------U9RAF6oDgfA05WxiWhiWvYvS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------U9RAF6oDgfA05WxiWhiWvYvS
Content-Type: multipart/mixed; boundary="------------7nKQHlGKmXNZX30uRfsUGSyL";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 SeongJae Park <sjpark@amazon.com>, Maximilian Heyne <mheyne@amazon.de>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Message-ID: <81811b5a-7006-bae3-422b-81e38bcdaef3@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
 <bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com>
 <82fe9c20-2b6a-fb53-8ab2-84a955efe14e@suse.com>
In-Reply-To: <82fe9c20-2b6a-fb53-8ab2-84a955efe14e@suse.com>

--------------7nKQHlGKmXNZX30uRfsUGSyL
Content-Type: multipart/mixed; boundary="------------buqb5wX3Bu2g7Bqpgu402uG9"

--------------buqb5wX3Bu2g7Bqpgu402uG9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMDg6MzAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNC4wOC4yMDIy
IDA4OjAyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gVGhlIGJsa2lmLmggY29tbWVudHMg
c2hvdWxkIGJlIHVwZGF0ZWQgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHRoZSB2YWx1ZXMgaW4N
Cj4+IFhlbnN0b3JlIGRvbid0IHJlZmxlY3QgdGhlIHN0YXRlIG9mIHRoZSBjb25uZWN0aW9u
LCBidXQgdGhlIGF2YWlsYWJpbGl0eSBvZg0KPj4gdGhlIGZlYXR1cmUgaW4gdGhlIHJlbGF0
ZWQgZHJpdmVyLg0KPiANCj4gSXNuJ3QgdGhhdCBpbXBsaWVkIGZvciBhbGwgdGhlIGZlYXR1
cmUtKiBsZWF2ZXM/IEkgY2VydGFpbmx5IGRvbid0IG1pbmQgaXQNCj4gYmVpbmcgc3BlbGxl
ZCBvdXQsIGJ1dCBJIGRvbid0IHRoaW5rIHRoZXJlJ3MgYW55IHJlYWwgYW1iaWd1aXR5IGhl
cmUuDQoNCkkgdGhpbmsgaXQgc2hvdWxkIHNwZWxsZWQgb3V0IGV4cGxpY2l0bHksIG1heWJl
IGluIHRoZSBnZW5lcmFsIHBhcmFncmFwaA0KYWJvdXQgZmVhdHVyZSBuZWdvdGlhdGlvbi4N
Cg0KVG8gbWUgZXNwZWNpYWxseSB0aGUgcGhyYXNpbmcgb24gdGhlIGZyb250ZW5kIHNpZGUg
d2FzIHJlYWRpbmcgYXMgaWYgYSAiMSINCndvdWxkIGluZGljYXRlIHRoZSBmZWF0dXJlIHRv
IGJlIGFjdGl2ZWx5IHVzZWQ6DQoNCiJBIHZhbHVlIG9mICIxIiBpbmRpY2F0ZXMgdGhhdCB0
aGUgZnJvbnRlbmQgd2lsbCByZXVzZSB0aGUgc2FtZSBncmFudHMgLi4uIg0KDQoNCkp1ZXJn
ZW4NCg==
--------------buqb5wX3Bu2g7Bqpgu402uG9
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------buqb5wX3Bu2g7Bqpgu402uG9--

--------------7nKQHlGKmXNZX30uRfsUGSyL--

--------------U9RAF6oDgfA05WxiWhiWvYvS
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMFxuYFAwAAAAAACgkQsN6d1ii/Ey9a
fwf6Aq/fqtep9emutnk3tQgTjLf4RiJUhxqR9xAecDyDLK4lzueJUI63rcN+Iz3K8SQXjD9BPxwN
CjSd2ENbpxFV9TfKzxT4DtCAG1JgmiF43TC5tqmEaFh2neoLpJYMwW8J6VvrEDcqQp284bMkp5Rb
sjQGYDJN9I5KJcaG/DjplBzUtTlQLGaYrLzOUL7aEvI5qNW60+QUi6mNFp14VDbevraml+oAS044
9ShxgeaBSuBZcp+XRRG+phKP9asQ7nPxZLZDTyEZF88XYVtZeskTBsg9UIKJUzP9WBYtZp4ebMAQ
6004PLAGp9P84D10AYHdc35pXfGgr5Ku5WJYnhgpTg==
=/M/z
-----END PGP SIGNATURE-----

--------------U9RAF6oDgfA05WxiWhiWvYvS--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 06:40:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 06:40:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392222.630423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQk3z-0003ke-26; Wed, 24 Aug 2022 06:40:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392222.630423; Wed, 24 Aug 2022 06:40:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQk3y-0003kX-Vd; Wed, 24 Aug 2022 06:40:30 +0000
Received: by outflank-mailman (input) for mailman id 392222;
 Wed, 24 Aug 2022 06:40:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQk3x-0003kR-Np
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 06:40:29 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20078.outbound.protection.outlook.com [40.107.2.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3d06287-2377-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 08:40:28 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7787.eurprd04.prod.outlook.com (2603:10a6:10:1e3::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 06:40:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 06:40:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3d06287-2377-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BePX4AbHxl+b27xqK0DAFoFdzYrG5rpizv0IYdF6A3lmhlf/Y3agyZa+z3saiTM0b24ovCFXwpY4kNXt6WmIjH7uiKkZWC3cT9RrOqKQ+OKpXZqs9DTFRCqHbcXe8PA77N7pgfZkC3g7GW2IbTsLCTCafX5arq37xHVgsLPLkXZI7ZeYlqCPBU47e3dVVXkXkEILzN9rBJCCwFUvj00ulHCrT89zbj42mklscoJG5wcryMR3MEzvwSQDT/YfVM5DhTit7FKjnALOKBg246nA8/Ik3SvvfrNmZMliOCaZrYeia5GGHRz9Fx1tBm3ZsoN8o2azvswA9oifcimtxSSpFA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=L2tASAJcbyeoJJNHMXYy+/pVjGHuvQF0cvFlbJWfWIk=;
 b=UoDYovgQHV2k1iKP0+PEGW3gvY+DdBmXGZQnhITzTAwdIfoJJaLZ7rxGon7k91Fybg4afD0jxFja2KS5b9L4ADRwwh9UkFyypz/cEYfjpguohExTsncfkMPLoADqFRmZG5V4qdbyiuCy5pB3LaNuQAEHKNTepKIbrS3tVpCgRwwy0n7KuluCGZPT4taShj0ia4vudGtcQ7+eEj08pYRUDYt83oNAavR26haUaFUO8VgNxCa1EEcnCQ5YpMZXQN/QcrBWN7U5wYABb9dFCAzRaAhaiqRtixJPIxmBhbLUYNSykP7DN84YbbADTgkdsm7Sck4Gnxpfr2QAOs2aFaMXJg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L2tASAJcbyeoJJNHMXYy+/pVjGHuvQF0cvFlbJWfWIk=;
 b=oXSpHJsnxWdyft7VAdKVNhxUpdOofbtxkzqQdP321FRZ/AI1XCrlSdQkgTYHXukO1Ecp6RzJ5uOoxNg6M0el012qXpXAitZ1OoB9InOeZ6pjbLF1pu6zL852F7g2mSmxtCilmi/Ee2q9QTjYWKjxk8OtTS19Op/3ZGySQhPKyS3m1lOlBDwpAHtXgmxOd7TD3+2WfoC0dMKekLdgEVtRStYptIMtNtwFoy0HkC805B0SrLahvyf7gbkMgYg/42isvbT5w6+IotQv8DYYhDPlEVcJCi/WSv5f6h47wJdi6muEQNzhwEt1zlgxrEZluPnuebrmJjKV6JvibV52YmFfIA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <42123645-19cf-ffde-8c7e-6e1445182b85@suse.com>
Date: Wed, 24 Aug 2022 08:40:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 SeongJae Park <sjpark@amazon.com>, Maximilian Heyne <mheyne@amazon.de>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
 <bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com>
 <82fe9c20-2b6a-fb53-8ab2-84a955efe14e@suse.com>
 <81811b5a-7006-bae3-422b-81e38bcdaef3@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <81811b5a-7006-bae3-422b-81e38bcdaef3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0087.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a086a4eb-95af-4c87-5e5b-08da859b85d7
X-MS-TrafficTypeDiagnostic: DBBPR04MB7787:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EqAyUL9q+jCH0eppNeTAcduzAzVxgzsOGfs6nRTxsHiQAM7ZEawexWIoD81bzA+LVaNeLIjLdG0eOZR4taphWDTFEAZa/Q5ImUmDurEmSUbP0GuKSL9VEOSvsusCCEMUnagZeSDLcJcdosIteDhpLS7uWkTGW1MGStQEmjTWZtVtkDLUNkm+LisFZOzIakuo/fjy9DNRDPV6RgmDhqWq3dIALQFXjUrH/s7PbAt/UNvZk3+sdtYN1RO1z8e1SQVBaQd4itiY/dvcY5Ujp07lkJM+CLVY45AXAi7XQ44aFyF/evNO6SAb57oWvnrjliuutiaJtqV5xd/Zt+luupSRfVKPkrFsXDM02N45cMCOWPQjrI2Ao/sHW3tqw9meLeNBmJW8l0J8jc6N2taDi4B57Fkgz5EdItdql+gx6YLa+iz2Hfza1HJLtPGNlHOo5D4ZaLIx3N+/SG+aLeLLTx0fh8ea5UT9cPdtbMguSfim/uZmCFpRKSckAcvRq0bPSggeavi0+ktU0kKEjPpJ8VpVFe4SX0Y0CIFMDrbUh9OIzdfkcpYZhpmjaqqNHevh+1A3zatPHGzsbn7q/RZVs2f52/GIJeCubKXEiticx/nb69qkI0zUUqpNIrcfRq6X5kZByvZBTkNcXi1bvaHd+4SJWimN+M92EYBmzA3bz4UouktfULm/FNjLiFTTx0qxPoz3FsPlE7KIxiv+B082CkImUxGlE5uQuOo8EjUo8dfF+sFHjVn9YNmlt7RZedJ2U8n39FldhLS2Pj/qpiedFE2fCBCEcAE9Oiu7drYSRIVzaRo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(346002)(396003)(376002)(39860400002)(4326008)(66556008)(66946007)(478600001)(6486002)(26005)(6512007)(66476007)(6506007)(2906002)(31696002)(53546011)(86362001)(5660300002)(6862004)(8936002)(41300700001)(83380400001)(316002)(37006003)(2616005)(4744005)(6636002)(54906003)(31686004)(38100700002)(36756003)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NGFvZEcvYlpGc29ydUc2RUcrZkxqUGNPUFZndjBpV0dyUDM2aE1IVE5wNVJ1?=
 =?utf-8?B?MjNBdUlOQUNobVFBeHZHL293MmJrT2puSzIyN095QjVHWHljZnkzQ0ZQbWRD?=
 =?utf-8?B?Y2VLek1jQzdwTkxIQzZCMWlFamZ4ckIxVEQ0NEt6NnZRalIzdkdxa2V1bHMw?=
 =?utf-8?B?SUx0N1pPZm5QNEs0d0o3Qlp4QWJDbDZabXpJa0MzRTJUa1Y5azlRQ05nR21r?=
 =?utf-8?B?RGNSQ0tkWExSTjA5SStQU2lidy9KZitUNytKbU1RL2h5NXJ6SVpqbUJyTTdT?=
 =?utf-8?B?TkZkZ0duQXlYUU80ZFQ4VEszOFFpSW5IM2pOUXUzaWMrc1ducExmM2ZSQXhV?=
 =?utf-8?B?NW1abUdkNFFaTERCeGpSdGdDdXQwNldtdkgyMVN6RUpPOGIxVm03UitqeWJn?=
 =?utf-8?B?aStBMEtEdGZ3aGlKNERjSVg4QXd2UktQMDQydlpaVVRabGRRWktmWVkvWFFS?=
 =?utf-8?B?OXNKM2xtcEJZUElGZmlFdllmMUs5TlJjdlBDc1FVdEllUGJqY0FGWFJJM2sr?=
 =?utf-8?B?K3RKOU1neTgyemk4STZ1MzZ3QU5PWjc4MFB1eStaN1htMUdvQTFnVTlIUG9j?=
 =?utf-8?B?WmZVU3YrSVBxUUtjVmdNTno0bHp1UXlXNkxsMHZJZnhvcDNHMVR2cktMY1Fj?=
 =?utf-8?B?WU5zWm9XRFNWQWN0M2cvd0d5Z28vN08yaTRVZUx2SVNBeTl4THd4elVZNEVZ?=
 =?utf-8?B?eXFtRktML3l0dkNHR09NZVFzSi9ISXpnaHRsdVFQMWlPbnBuQ3hjNW1CNXJx?=
 =?utf-8?B?dUNEUmkvcmlwSnFxNDRMM25sVGZ5WjBkNUVYNUExLy9vckpoVVd0dEpHVXZu?=
 =?utf-8?B?ODNvUVI0WEo5b1luVm9mTWdCdjFCaFVtNE8xQkt6NU5tOG05U21ib2k5czZu?=
 =?utf-8?B?RDhDQjE0TGFLWE1SS1dYK3pydlJjTFNXMU9SRk14cTdENFZOMEJia21BWmlD?=
 =?utf-8?B?MmU0dDQ1K3A5RERuQ1VrNFpIVFJjbUJkSlA3YmVTZGxTRUdSdDIyM1VzVjZa?=
 =?utf-8?B?WUl5QmdtbnhoWGUzU3hTTWNZYm16dGV0TnF5OUc0R0pFTXErL3ltUVJYVng1?=
 =?utf-8?B?R2RrRkQyMlNlVFpaVmpDaUFTVkp1MHpGVnZ2c0JQNUFsampubjZhR1RWeTQz?=
 =?utf-8?B?QTV6M250R3lJK2pJZU5lVS9BMU92TWRwUHNCWmpRZEtaVlFKb3lMNXY1TGY2?=
 =?utf-8?B?UTNjUjZ2YUU3NExRTm5Wc1VGOGwyYUtpQ0I2VVZaallZamE3MVRmQjhSTUlR?=
 =?utf-8?B?ZWVSQkltQkN5cCt5WmNBRDV5U3ZTNmNId1AvSC9idCtCNmg4c2hlM09XUytr?=
 =?utf-8?B?YmNCb1R4UmcwUUg1YTM4aWpmM2Jqdlc2UlMwSzA4MjZlcDZqcnZGR0hHSjJq?=
 =?utf-8?B?ZTR3RmhqYllSWThqRWZsYlJvWDk2S3FGUkJiRkppZ1BmNlBGcHBrWEhzdVl6?=
 =?utf-8?B?SkhwaGliRnhNZGsxVmJNOG9DSGxIelpYbjE2RjZvYk0xL3B4cnVkcEZRM2dL?=
 =?utf-8?B?eDhJNnAzak5RU2x4c2tVWjczVTRqeExPbjhZSmZUUEJFdFVwbTBTT0pkYzZ1?=
 =?utf-8?B?MGRrNkFFYXFXb0lCbjQ2dlU5ek5udGJDbUc3Q00xNDBBUVZaK3B2aXhZN05y?=
 =?utf-8?B?bFRBbENBQUNKNytBWlJqRmltRXg4YlNGQmIxZkNnYXk2Z0U2czhIOExFczZl?=
 =?utf-8?B?UjkwWVhrZnp1VkViREFWMXNWcXNkbVZUSWc2SExjV3EzNHlJUmZrbnRTTTlN?=
 =?utf-8?B?UGdJeGtWVWtra0tjc1kyWkFZYWxDM2tVV0kzaVhOTjQ0M2Nmclp3U09HWTQv?=
 =?utf-8?B?N09HZFQxakVRVWExZnA2NU9Cb2NFeTJocDY3RFczZGY4VEt6MUhrSzBTODBi?=
 =?utf-8?B?ZjE3a2JBd0YxVHBGVmNkc2ZvNUM0RlI5VE5BUEhxL3lnVytVUkJPYW5qRjZP?=
 =?utf-8?B?VUhhQ3hyQU5vejVGeGVLT1FUY2VzdXJGRVpuNHh6Z3FBTVdBSHhXejIyU3Yz?=
 =?utf-8?B?R3oxczJEeS9vRjFzUU5mc2VqOER1YkovQkJIaVRzV0p2ajJlUXIxZFN5aWFX?=
 =?utf-8?B?bTllVDBFdlZ3cXErckd3QmUvSXVwYjRwQ1ZVUXRVNkx4UUEwSVI4NE5xVnNo?=
 =?utf-8?Q?YXmG17toW+WAFk1u7Dh62Tiga?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a086a4eb-95af-4c87-5e5b-08da859b85d7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 06:40:23.9505
 (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: v8pOeqqOCNH9sR206pts4tfVJSO4f08wV4aZ2ovaVxgeMl31M47XKfrh/eE2YnRKwnn1dHasWvs0QV+meSYdAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7787

On 24.08.2022 08:36, Juergen Gross wrote:
> On 24.08.22 08:30, Jan Beulich wrote:
>> On 24.08.2022 08:02, Juergen Gross wrote:
>>> The blkif.h comments should be updated to make it clear that the values in
>>> Xenstore don't reflect the state of the connection, but the availability of
>>> the feature in the related driver.
>>
>> Isn't that implied for all the feature-* leaves? I certainly don't mind it
>> being spelled out, but I don't think there's any real ambiguity here.
> 
> I think it should spelled out explicitly, maybe in the general paragraph
> about feature negotiation.
> 
> To me especially the phrasing on the frontend side was reading as if a "1"
> would indicate the feature to be actively used:
> 
> "A value of "1" indicates that the frontend will reuse the same grants ..."

Hmm, yes, that's certainly wording worth of improving (regardless of any
addition to the general paragraph).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 07:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 07:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392229.630435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkrh-0000V1-Sy; Wed, 24 Aug 2022 07:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392229.630435; Wed, 24 Aug 2022 07:31:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkrh-0000Uu-Q8; Wed, 24 Aug 2022 07:31:53 +0000
Received: by outflank-mailman (input) for mailman id 392229;
 Wed, 24 Aug 2022 07:31:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pSDv=Y4=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oQkrg-0000Uo-7e
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 07:31:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d019c53c-237e-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 09:31:49 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C0E8C1063;
 Wed, 24 Aug 2022 00:31:51 -0700 (PDT)
Received: from entos-skylake.shanghai.arm.com (entos-skylake.shanghai.arm.com
 [10.169.212.207])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 71A013F718;
 Wed, 24 Aug 2022 00:31:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d019c53c-237e-11ed-bd2e-47488cf2e6aa
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <Wei.Chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/2] Introduce reserved heap
Date: Wed, 24 Aug 2022 07:31:25 +0000
Message-Id: <20220824073127.16762-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.17.1

The reserved heap, or statically configured heap, refers to parts
of RAM reserved in the beginning for heap. Like the static memory
allocation, such reserved heap regions are reserved by configuration
in the device tree using physical address ranges.

This feature is useful to run Xen on Arm MPU systems, where only a
finite number of memory protection regions are available. The limited
number of protection regions places requirement on planning the use of
MPU protection regions and one or more MPU protection regions needs to
be reserved only for heap.

The first patch introduces the reserved heap and the device tree parsing
code. The second patch adds the implementation of the reserved heap
pages handling in boot and heap allocator for Arm.

Changes from RFC to v1:
- Rename the terminology to reserved heap.
- Rebase on top of latest `setup_mm()` changes.
- Added Arm32 logic in `setup_mm()`.

Henry Wang (2):
  docs, xen/arm: Introduce reserved heap memory
  xen/arm: Handle reserved heap pages in boot and heap allocator

 docs/misc/arm/device-tree/booting.txt | 46 ++++++++++++++++
 xen/arch/arm/bootfdt.c                | 51 +++++++++++++----
 xen/arch/arm/domain_build.c           |  5 +-
 xen/arch/arm/include/asm/setup.h      |  3 +
 xen/arch/arm/setup.c                  | 79 +++++++++++++++++++++------
 5 files changed, 156 insertions(+), 28 deletions(-)

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 07:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 07:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392231.630457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkrw-00014c-ES; Wed, 24 Aug 2022 07:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392231.630457; Wed, 24 Aug 2022 07:32:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkrw-00014V-BX; Wed, 24 Aug 2022 07:32:08 +0000
Received: by outflank-mailman (input) for mailman id 392231;
 Wed, 24 Aug 2022 07:32:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pSDv=Y4=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oQkru-0000Uo-5m
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 07:32:06 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d9b55bcd-237e-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 09:32:04 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D67A0106F;
 Wed, 24 Aug 2022 00:32:07 -0700 (PDT)
Received: from entos-skylake.shanghai.arm.com (entos-skylake.shanghai.arm.com
 [10.169.212.207])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 867C23F718;
 Wed, 24 Aug 2022 00:32:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9b55bcd-237e-11ed-bd2e-47488cf2e6aa
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <Wei.Chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap allocator
Date: Wed, 24 Aug 2022 07:31:27 +0000
Message-Id: <20220824073127.16762-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20220824073127.16762-1-Henry.Wang@arm.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>

This commit firstly adds a global variable `reserved_heap`.
This newly introduced global variable is set at the device tree
parsing time if the reserved heap ranges are defined in the device
tree chosen node.

For Arm32, In `setup_mm`, if the reserved heap is enabled, we use
the reserved heap region for both domheap and xenheap allocation.

For Arm64, In `setup_mm`, if the reserved heap is enabled and used,
we make sure that only these reserved heap pages are added to the
boot allocator. These reserved heap pages in the boot allocator are
added to the heap allocator at `end_boot_allocator()`.

If the reserved heap is disabled, we stick to current page allocation
strategy at boot time.

Also, take the chance to correct a "double not" print in Arm32
`setup_mm()`.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
With reserved heap enabled, for Arm64, naming of global variables such
as `xenheap_mfn_start` and `xenheap_mfn_end` seems to be ambiguous,
wondering if we should rename these variables.
---
Changes from RFC to v1:
- Rebase on top of latest `setup_mm()` changes.
- Added Arm32 logic in `setup_mm()`.
---
 xen/arch/arm/bootfdt.c           |  2 +
 xen/arch/arm/include/asm/setup.h |  2 +
 xen/arch/arm/setup.c             | 79 +++++++++++++++++++++++++-------
 3 files changed, 67 insertions(+), 16 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 33704ca487..ab73b6e212 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -325,6 +325,8 @@ static int __init process_chosen_node(const void *fdt, int node,
                                      true);
         if ( rc )
             return rc;
+
+        reserved_heap = true;
     }
 
     printk("Checking for initrd in /chosen\n");
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index e80f3d6201..00536a6d55 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -92,6 +92,8 @@ extern struct bootinfo bootinfo;
 
 extern domid_t max_init_domid;
 
+extern bool reserved_heap;
+
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
 
 size_t estimate_efi_size(unsigned int mem_nr_banks);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 500307edc0..fe76cf6325 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -73,6 +73,8 @@ integer_param("xenheap_megabytes", opt_xenheap_megabytes);
 
 domid_t __read_mostly max_init_domid;
 
+bool __read_mostly reserved_heap;
+
 static __used void init_done(void)
 {
     /* Must be done past setting system_state. */
@@ -699,8 +701,10 @@ static void __init populate_boot_allocator(void)
 #ifdef CONFIG_ARM_32
 static void __init setup_mm(void)
 {
-    paddr_t ram_start, ram_end, ram_size, e;
-    unsigned long ram_pages;
+    paddr_t ram_start, ram_end, ram_size, e, bank_start, bank_end, bank_size;
+    paddr_t reserved_heap_start = ~0, reserved_heap_end = 0,
+            reserved_heap_size = 0;
+    unsigned long ram_pages, reserved_heap_pages = 0;
     unsigned long heap_pages, xenheap_pages, domheap_pages;
     unsigned int i;
     const uint32_t ctr = READ_CP32(CTR);
@@ -720,9 +724,9 @@ static void __init setup_mm(void)
 
     for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
     {
-        paddr_t bank_start = bootinfo.mem.bank[i].start;
-        paddr_t bank_size = bootinfo.mem.bank[i].size;
-        paddr_t bank_end = bank_start + bank_size;
+        bank_start = bootinfo.mem.bank[i].start;
+        bank_size = bootinfo.mem.bank[i].size;
+        bank_end = bank_start + bank_size;
 
         ram_size  = ram_size + bank_size;
         ram_start = min(ram_start,bank_start);
@@ -731,6 +735,25 @@ static void __init setup_mm(void)
 
     total_pages = ram_pages = ram_size >> PAGE_SHIFT;
 
+    if ( reserved_heap )
+    {
+        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+        {
+            if ( bootinfo.reserved_mem.bank[i].xen_heap )
+            {
+                bank_start = bootinfo.reserved_mem.bank[i].start;
+                bank_size = bootinfo.reserved_mem.bank[i].size;
+                bank_end = bank_start + bank_size;
+
+                reserved_heap_size += bank_size;
+                reserved_heap_start = min(reserved_heap_start, bank_start);
+                reserved_heap_end = max(reserved_heap_end, bank_end);
+            }
+        }
+
+        reserved_heap_pages = reserved_heap_size >> PAGE_SHIFT;
+    }
+
     /*
      * If the user has not requested otherwise via the command line
      * then locate the xenheap using these constraints:
@@ -743,7 +766,8 @@ static void __init setup_mm(void)
      * We try to allocate the largest xenheap possible within these
      * constraints.
      */
-    heap_pages = ram_pages;
+    heap_pages = !reserved_heap ? ram_pages : reserved_heap_pages;
+
     if ( opt_xenheap_megabytes )
         xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
     else
@@ -755,17 +779,21 @@ static void __init setup_mm(void)
 
     do
     {
-        e = consider_modules(ram_start, ram_end,
+        e = !reserved_heap ?
+            consider_modules(ram_start, ram_end,
                              pfn_to_paddr(xenheap_pages),
-                             32<<20, 0);
+                             32<<20, 0) :
+            reserved_heap_end;
+
         if ( e )
             break;
 
         xenheap_pages >>= 1;
     } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
 
-    if ( ! e )
-        panic("Not not enough space for xenheap\n");
+    if ( ! e ||
+         ( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )
+        panic("Not enough space for xenheap\n");
 
     domheap_pages = heap_pages - xenheap_pages;
 
@@ -810,9 +838,9 @@ static void __init setup_mm(void)
 static void __init setup_mm(void)
 {
     const struct meminfo *banks = &bootinfo.mem;
-    paddr_t ram_start = ~0;
-    paddr_t ram_end = 0;
-    paddr_t ram_size = 0;
+    paddr_t ram_start = ~0, bank_start = ~0;
+    paddr_t ram_end = 0, bank_end = 0;
+    paddr_t ram_size = 0, bank_size = 0;
     unsigned int i;
 
     init_pdx();
@@ -821,17 +849,36 @@ static void __init setup_mm(void)
      * We need some memory to allocate the page-tables used for the xenheap
      * mappings. But some regions may contain memory already allocated
      * for other uses (e.g. modules, reserved-memory...).
-     *
+     * If reserved heap regions are properly defined, (only) add these regions
+     * in the boot allocator.
+     */
+    if ( reserved_heap )
+    {
+        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+        {
+            if ( bootinfo.reserved_mem.bank[i].xen_heap )
+            {
+                bank_start = bootinfo.reserved_mem.bank[i].start;
+                bank_size = bootinfo.reserved_mem.bank[i].size;
+                bank_end = bank_start + bank_size;
+
+                init_boot_pages(bank_start, bank_end);
+            }
+        }
+    }
+    /*
+     * No reserved heap regions:
      * For simplicity, add all the free regions in the boot allocator.
      */
-    populate_boot_allocator();
+    else
+        populate_boot_allocator();
 
     total_pages = 0;
 
     for ( i = 0; i < banks->nr_banks; i++ )
     {
         const struct membank *bank = &banks->bank[i];
-        paddr_t bank_end = bank->start + bank->size;
+        bank_end = bank->start + bank->size;
 
         ram_size = ram_size + bank->size;
         ram_start = min(ram_start, bank->start);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 07:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 07:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392230.630446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkrr-0000mA-5S; Wed, 24 Aug 2022 07:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392230.630446; Wed, 24 Aug 2022 07:32:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkrr-0000m1-1n; Wed, 24 Aug 2022 07:32:03 +0000
Received: by outflank-mailman (input) for mailman id 392230;
 Wed, 24 Aug 2022 07:32:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pSDv=Y4=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oQkrp-0000ky-RQ
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 07:32:02 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id d62fdb6d-237e-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 09:31:58 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E9C4A1063;
 Wed, 24 Aug 2022 00:32:01 -0700 (PDT)
Received: from entos-skylake.shanghai.arm.com (entos-skylake.shanghai.arm.com
 [10.169.212.207])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5C0313F718;
 Wed, 24 Aug 2022 00:31:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d62fdb6d-237e-11ed-9250-1f966e50362f
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <Wei.Chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Date: Wed, 24 Aug 2022 07:31:26 +0000
Message-Id: <20220824073127.16762-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20220824073127.16762-1-Henry.Wang@arm.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>

This commit introduces the reserved heap memory, which is parts of RAM
reserved in the beginning of the boot time for heap.

A new boolean field `xen_heap` in `struct membank` is added to store the
configuration telling if the memory bank is reserved as heap through
`xen,static-mem` property in device tree `chosen` node.

Also, this commit introduces the logic to parse the reserved heap
configuation in device tree by reusing the device tree entry definition
of the static memory allocation feature:

- Add a boolean parameter `xen_heap` to `device_tree_get_meminfo` to
reflect whether the memory bank is reserved as heap.

- Use `device_tree_get_meminfo` to parse the reserved heap configuation
in `chosen` node of the device tree.

- In order to reuse the function `device_tree_get_meminfo`, the
return type of `process_chosen_node` is changed from void to int.

A documentation section is added, describing the definition of reserved
heap memory and the method of enabling the reserved heap memory through
device tree at boot time.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
The name of the device tree property was chosen because we want to
reuse as much as the device tree parsing helpers from the static
memory allocation feature, but we would like to hear the upstream
reviewers' opinion about if using "xen,static-heap" is better.
---
Changes from RFC to v1:
- Rename the terminology to reserved heap.
---
 docs/misc/arm/device-tree/booting.txt | 46 +++++++++++++++++++++++++
 xen/arch/arm/bootfdt.c                | 49 +++++++++++++++++++++------
 xen/arch/arm/domain_build.c           |  5 +--
 xen/arch/arm/include/asm/setup.h      |  1 +
 4 files changed, 89 insertions(+), 12 deletions(-)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 98253414b8..e064f64d9a 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -378,3 +378,49 @@ device-tree:
 
 This will reserve a 512MB region starting at the host physical address
 0x30000000 to be exclusively used by DomU1.
+
+
+Reserved Heap Memory
+====================
+
+The reserved heap memory (also known as the statically-configured heap) refers
+to parts of RAM reserved in the beginning for heap. The memory is reserved by
+configuration in the device tree using physical address ranges.
+
+The reserved heap memory declared in the device tree defines the memory areas
+that will be reserved to be used exclusively as heap.
+
+- For Arm32, since there can be seperated heaps, the reserved heap will be used
+for both domheap and xenheap.
+- For Arm64, since domheap and xenheap are the same, the defined reserved heap
+areas shall always go to the heap allocator.
+
+The reserved heap memory is an optional feature and can be enabled by adding a
+device tree property in the `chosen` node. Currently, this feature reuses the
+static memory allocation device tree configuration.
+
+The dtb property should look like as follows:
+
+- property name
+
+    "xen,static-mem" (Should be used in the `chosen` node)
+
+- cells
+
+    Specify the start address and the length of the reserved heap memory.
+    The number of cells for the address and the size should be defined
+    using the properties `#xen,static-mem-address-cells` and
+    `#xen,static-mem-size-cells` respectively.
+
+Below is an example on how to specify the reserved heap in device tree:
+
+    / {
+        chosen {
+            #xen,static-mem-address-cells = <0x2>;
+            #xen,static-mem-size-cells = <0x2>;
+            xen,static-mem = <0x0 0x30000000 0x0 0x40000000>;
+        };
+    };
+
+RAM at 0x30000000 of 1G size will be reserved as heap.
+
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index ec81a45de9..33704ca487 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -64,7 +64,8 @@ void __init device_tree_get_reg(const __be32 **cell, u32 address_cells,
 static int __init device_tree_get_meminfo(const void *fdt, int node,
                                           const char *prop_name,
                                           u32 address_cells, u32 size_cells,
-                                          void *data, bool xen_domain)
+                                          void *data, bool xen_domain,
+                                          bool xen_heap)
 {
     const struct fdt_property *prop;
     unsigned int i, banks;
@@ -96,6 +97,7 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
         mem->bank[mem->nr_banks].start = start;
         mem->bank[mem->nr_banks].size = size;
         mem->bank[mem->nr_banks].xen_domain = xen_domain;
+        mem->bank[mem->nr_banks].xen_heap = xen_heap;
         mem->nr_banks++;
     }
 
@@ -185,7 +187,7 @@ static int __init process_memory_node(const void *fdt, int node,
                                       void *data)
 {
     return device_tree_get_meminfo(fdt, node, "reg", address_cells, size_cells,
-                                   data, false);
+                                   data, false, false);
 }
 
 static int __init process_reserved_memory_node(const void *fdt, int node,
@@ -293,7 +295,7 @@ static void __init process_multiboot_node(const void *fdt, int node,
                      kind, start, domU);
 }
 
-static void __init process_chosen_node(const void *fdt, int node,
+static int __init process_chosen_node(const void *fdt, int node,
                                        const char *name,
                                        u32 address_cells, u32 size_cells)
 {
@@ -301,16 +303,40 @@ static void __init process_chosen_node(const void *fdt, int node,
     paddr_t start, end;
     int len;
 
+    if ( fdt_get_property(fdt, node, "xen,static-mem", NULL) )
+    {
+        u32 address_cells = device_tree_get_u32(fdt, node,
+                                                "#xen,static-mem-address-cells",
+                                                0);
+        u32 size_cells = device_tree_get_u32(fdt, node,
+                                             "#xen,static-mem-size-cells", 0);
+        int rc;
+
+        printk("Checking for reserved heap in /chosen\n");
+        if ( address_cells < 1 || size_cells < 1 )
+        {
+            printk("fdt: node `%s': invalid #xen,static-mem-address-cells or #xen,static-mem-size-cells\n",
+                   name);
+            return -EINVAL;
+        }
+
+        rc = device_tree_get_meminfo(fdt, node, "xen,static-mem", address_cells,
+                                     size_cells, &bootinfo.reserved_mem, false,
+                                     true);
+        if ( rc )
+            return rc;
+    }
+
     printk("Checking for initrd in /chosen\n");
 
     prop = fdt_get_property(fdt, node, "linux,initrd-start", &len);
     if ( !prop )
         /* No initrd present. */
-        return;
+        return 0;
     if ( len != sizeof(u32) && len != sizeof(u64) )
     {
         printk("linux,initrd-start property has invalid length %d\n", len);
-        return;
+        return -EINVAL;
     }
     start = dt_read_number((void *)&prop->data, dt_size_to_cells(len));
 
@@ -318,12 +344,12 @@ static void __init process_chosen_node(const void *fdt, int node,
     if ( !prop )
     {
         printk("linux,initrd-end not present but -start was\n");
-        return;
+        return -EINVAL;
     }
     if ( len != sizeof(u32) && len != sizeof(u64) )
     {
         printk("linux,initrd-end property has invalid length %d\n", len);
-        return;
+        return -EINVAL;
     }
     end = dt_read_number((void *)&prop->data, dt_size_to_cells(len));
 
@@ -331,12 +357,14 @@ static void __init process_chosen_node(const void *fdt, int node,
     {
         printk("linux,initrd limits invalid: %"PRIpaddr" >= %"PRIpaddr"\n",
                   start, end);
-        return;
+        return -EINVAL;
     }
 
     printk("Initrd %"PRIpaddr"-%"PRIpaddr"\n", start, end);
 
     add_boot_module(BOOTMOD_RAMDISK, start, end-start, false);
+
+    return 0;
 }
 
 static int __init process_domain_node(const void *fdt, int node,
@@ -358,7 +386,8 @@ static int __init process_domain_node(const void *fdt, int node,
                                      "#xen,static-mem-size-cells", 0);
 
     return device_tree_get_meminfo(fdt, node, "xen,static-mem", address_cells,
-                                   size_cells, &bootinfo.reserved_mem, true);
+                                   size_cells, &bootinfo.reserved_mem, true,
+                                   false);
 }
 
 static int __init early_scan_node(const void *fdt,
@@ -383,7 +412,7 @@ static int __init early_scan_node(const void *fdt,
               device_tree_node_compatible(fdt, node, "multiboot,module" )))
         process_multiboot_node(fdt, node, name, address_cells, size_cells);
     else if ( depth == 1 && device_tree_node_matches(fdt, node, "chosen") )
-        process_chosen_node(fdt, node, name, address_cells, size_cells);
+        rc = process_chosen_node(fdt, node, name, address_cells, size_cells);
     else if ( depth == 2 && device_tree_node_compatible(fdt, node, "xen,domain") )
         rc = process_domain_node(fdt, node, name, address_cells, size_cells);
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 3fd1186b53..6f97f5f06a 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1038,8 +1038,9 @@ static int __init make_memory_node(const struct domain *d,
     if ( mem->nr_banks == 0 )
         return -ENOENT;
 
-    /* find first memory range not bound to a Xen domain */
-    for ( i = 0; i < mem->nr_banks && mem->bank[i].xen_domain; i++ )
+    /* find first memory range not bound to neither a Xen domain nor heap */
+    for ( i = 0; i < mem->nr_banks &&
+                 (mem->bank[i].xen_domain || mem->bank[i].xen_heap); i++ )
         ;
     if ( i == mem->nr_banks )
         return 0;
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 2bb01ecfa8..e80f3d6201 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -27,6 +27,7 @@ struct membank {
     paddr_t start;
     paddr_t size;
     bool xen_domain; /* whether the memory bank is bound to a Xen domain. */
+    bool xen_heap;   /* whether the memory bank is reserved as heap. */
 };
 
 struct meminfo {
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 07:37:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 07:37:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392250.630468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkx7-0002Hd-1f; Wed, 24 Aug 2022 07:37:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392250.630468; Wed, 24 Aug 2022 07:37:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkx6-0002HW-V1; Wed, 24 Aug 2022 07:37:28 +0000
Received: by outflank-mailman (input) for mailman id 392250;
 Wed, 24 Aug 2022 07:37:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQkx5-0002H3-LM
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 07:37:27 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70059.outbound.protection.outlook.com [40.107.7.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99574a78-237f-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 09:37:26 +0200 (CEST)
Received: from DB6PR07CA0071.eurprd07.prod.outlook.com (2603:10a6:6:2a::33) by
 AM5PR0802MB2498.eurprd08.prod.outlook.com (2603:10a6:203:98::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Wed, 24 Aug
 2022 07:37:23 +0000
Received: from DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:2a:cafe::fb) by DB6PR07CA0071.outlook.office365.com
 (2603:10a6:6:2a::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Wed, 24 Aug 2022 07:37:23 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT037.mail.protection.outlook.com (100.127.142.208) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 07:37:23 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Wed, 24 Aug 2022 07:37:23 +0000
Received: from a41fd2944aec.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 44B471DD-7610-4FB2-B2BC-A290A86AB53A.1; 
 Wed, 24 Aug 2022 07:37:16 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a41fd2944aec.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 07:37:16 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by GVXPR08MB7896.eurprd08.prod.outlook.com (2603:10a6:150:16::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Wed, 24 Aug
 2022 07:37:14 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 07:37:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99574a78-237f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=nO7HzlnSOwAVkgF34gvnQ6ecGv3C09bAQM2FFep6WX5T/vCMDtZpN7nCVWR82iUhv57RPAe6EueEpxR1JdkWKYWcCiKbf4ZrYIq6gavDQJnQ/GgtaxnkVlsiVD7NIYigx6A8x4mVykLaDY+v86L1C3UL1+fkNNZvU/mPRZR1qVg8Grx2ULpOu92GZ1XWBFLT0N/JsxmIushcslXIDFVt3/2bW4KmmvEiN+plKacP9Biolm0zhAnErVuCQrakOhoQqCYidOI/nN32ysURqze+XMsfbAbmaVZ4dYXwa0mQuEtBlxaLuwGMUPBW4+qpoYV2lb+nrXs7WVXXOk5HoVoLdQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iZEq/e83HIzaNoHQR1mdMPPVp79HpUG1fmfaYpDeddY=;
 b=oAeZBcT+agxhrYMnjJIlcnHELHiK1243AKkF874ZYt5dfxjYdbRtqXjbTzB597QPeruMDlSMKI+S83d8e2+xi7T7cNpABvf2/zrzSlwN8LgslhZe9CFMOK8WFRueobZM6rxWSW5rkujr6LFI/C3ODALFu4Tl2CYrNCya9sMxYEKxD1NAHgrXMe4AxCWAxWIpJtHsqgzqxjO4ldm1c4MJgWSdz4T8KA7DB5bx7v4AwLj31sqKq0nXxpNVSDpVn4zuZIa+KISKwqzPwT0sa07w42580mZBL9vVJV8e1GXTY996d+Gyi0zEC1/fXQvabuDrhwiOFidSNerCYaefjchVXQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iZEq/e83HIzaNoHQR1mdMPPVp79HpUG1fmfaYpDeddY=;
 b=sl1llKPwzfAY6c0C+ISuA5kn/fJ2LvUYv0T1TkROoWXZ8WO/MT+iNBmg3rS9dnLhEEy7YG8MWC/rG6WRGea6zzGh3DZRRMrt0iaTbOqzDoNJ3//84KDg4Gj/B95UNYb4lJXHgsFFAfpsHrTANCmUBs2MizJmgLytM4rKfrLAnsk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d5de14eecf11269c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lyq8/iP6WKG2Om8myJXtOsN6KKS3BVLANt0dpq3lM+9fbOxEU0HCyxjWQClC/uq5O+UThVuyCZOL9C1kwCcsv4k5ibLePewUj66xFOBWE/gaied8ybgmuEKR21rRhwNvAfchmrHmJm4ZgaaOXveF9BYQYlDXufPTqkFHvUvQR3Kf/SdnunBFAgf7/xpdBiHPoiEeomqqAZOlr/5L4BEOgxzULeBFbwK911cE2iNAEllfTBhGGAF8BH0KyNBckIDL4240RUPOuFlDEW1uLk1g6rahp4WJzEV+EDoOyrR5KEEtZrtgf32umIub7tKh1o4wVwRASVetmTDY9bhKays6OQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iZEq/e83HIzaNoHQR1mdMPPVp79HpUG1fmfaYpDeddY=;
 b=XaD3MaPhZdBch/4I9brSHarHWQEzP1mh6RgSFysRbzHus4vQ/Fb6dE9iB6vPsRO1JueLdicVScOcZ8ESR0QWc7YCbWopSu3482RJb4H5FtZI8R+TyjNIwVdNxoHbTJwYXAun3G8gWD3mnM/2yWhrxJ4y+u+Zon123YqCBtqaP57HK/hHznksH5yESBmb21khL6uzsgaA46hhXKnsUzK13JzT0/57G9HaSzRrMMYhURIA3KzfY5uxV2TM6Agnjb6GF+xOnkwjIbUZaBt/M9JzOtIOx9hz6q/oV6wxig409c7nFJhtlhCK6PwBvICboN0q8YwNClvnYMlDQVCGvB0Ljg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iZEq/e83HIzaNoHQR1mdMPPVp79HpUG1fmfaYpDeddY=;
 b=sl1llKPwzfAY6c0C+ISuA5kn/fJ2LvUYv0T1TkROoWXZ8WO/MT+iNBmg3rS9dnLhEEy7YG8MWC/rG6WRGea6zzGh3DZRRMrt0iaTbOqzDoNJ3//84KDg4Gj/B95UNYb4lJXHgsFFAfpsHrTANCmUBs2MizJmgLytM4rKfrLAnsk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Topic: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Index:
 AQHYttqU3r7Sk/IKHkKroerrTRS8F628a1KAgAARJACAABAJgIAAAokAgAAaagCAAQF/gA==
Date: Wed, 24 Aug 2022 07:37:14 +0000
Message-ID: <60E47246-811B-4131-9B04-27DFB00BB0C5@arm.com>
References:
 <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
 <824f5b58-4a54-45a6-a5e9-bdc8532e89cc@suse.com>
In-Reply-To: <824f5b58-4a54-45a6-a5e9-bdc8532e89cc@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 34d6109e-688f-48ec-164f-08da85a37bf2
x-ms-traffictypediagnostic:
	GVXPR08MB7896:EE_|DBAEUR03FT037:EE_|AM5PR0802MB2498:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 LbDqmgfwLg8hlWyjrdb7xJagBqbi+A1iUtQRG4xCy+XZVzxnlDR4dRVO7j1uFJYIf2UR8f1Kh6JJ3+BFUFigi6fv+kOeRezAtX6qdf+blgount8MQDdeRq7bM6gxLuUCScZm/hSks8rsfDfFuQqoAtEDnAG17NN8tktGvzIcky1cix7EWWvTk6HDvXGMg+/YNrtw3db6vBQf177rN0qNbT885O4FRbEsELGNjxWjxyMiiZA/eBPMnndP7nb4whDQD+SCIeZPuFKuFdTU5i2s6hyIiD4/AmPUMiw7ssT7Y5drrCo1gpaHlbFPBYNybWg7up11sH5GnNfYd48cOPG+CfiTA60vaDxFiPVGw4RukIXq3x6e+7dQCV23EHLTE0GG7aGg31tFW5y0XEIpGMMtx/fm74/Cf7foLKVh7P4TuuHNo2vv28/XUa+y33P/XPGwrtNNR+3deXuR0b7ZSUNbYk34xXjFVN8IMwqJlEwCr+w3egsLVKD1BkJjoqGjgWsWrsqQRPp+CrQnoi08NiXPEjgOZXRRAO0TvK2laXAldK2B1jO7GN58PhUj5R/jzKnb6WNenu05JZ0SDepSXzZ3a5/eIIBzp5UtGahpLszL5SuNJL+bKAaR24njBHjOHn8WZhzIH/nZ78tvEOC/nnmmTKDDftoZNliwgWtyctegLvwkEiV+Q+KkoihjkhDz1QYOz99UBWjjrneJIhzZokELy579ge+L+y6EUihl0zhq+naaExahyBESP146/tJIaAIrE5SXOklxXqnXSJbFy3QyeVF4gqSTdY0FyUmW1v5QCMw=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(39860400002)(366004)(136003)(396003)(66556008)(8676002)(54906003)(66946007)(91956017)(76116006)(86362001)(6916009)(83380400001)(38070700005)(41300700001)(316002)(71200400001)(6512007)(26005)(2616005)(38100700002)(6486002)(6506007)(186003)(122000001)(478600001)(33656002)(64756008)(2906002)(36756003)(66446008)(53546011)(8936002)(5660300002)(4326008)(66476007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <B0C4D64E27ED964CACF46BC3CF2F5811@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7896
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6224922b-b301-4c33-cebf-08da85a3768e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zjGODJ6VlxnqFOi5k53EuqeFKtfAJ+mBuf7Nn2GqpnGLEb1l4MjWC36L2zhVlrg1IxTm2OB0Ojbo8mT68lDucopR/K3H1Lw+Hsvxom5A3dM8r7hX0LLQPlgeX+cJybf7h62hbwGkHF9lHQoD9LXyfjruyjnu10RL9+mkvsyu7aK3BKx6SROYwZFNIHmLgd0QJmWcr7d5hxm1f904HaxHiXbRfLqOOHZZ+dh9D2kfaraftyWK4OK/9WsTMNYJDsL4Ul6+gTAsqgNx5vgbjnO6xPRHoMIDoEBNsijkqFl71u8qglv3x8WE18jz7kR14HBahbblNcDiA38WLp9owSDErKHcg7EqxsnWhK3OsJ1jDl9vnoi31Z4cB7bPWauyW8E+dXFJJETR9KwQkD/tX2nT4lq+D7tVjtWsoYpa8xyX+DGxIdha9a1vKx0lz1OJ+RGzwNH6wYQ2U7udJc//P8VvdCGAEzHIVgGB5AbZYG6mD1HgAJSU694EIKPQWchsbj56xf8kdTEBj7/qN9cRkc6rNDscAFKSekdbCNBjzU0a8ux2KLyJnZWlSU6cjUbEoGLNhcniJuKpsrTYcMb88WIxlO1n60AZnYhkbf6t7ox963RpfTAsbe0EoWzuNE5XwBEAJAB/F94FKht0OevZFgIzSew1cXkXzQjlqaA708JOuU83jZRd8HTWEOxw9K58UoZGn0AX3DEcjS8A/rPGvqjQupNSGOvNjIrs2kUbit+OgVmWX2hmKNHAElz0lNyZ2IB3HWZy7n7s7qV6IOjIMnQS7A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(396003)(346002)(136003)(36840700001)(40470700004)(46966006)(26005)(47076005)(86362001)(2616005)(82740400003)(81166007)(356005)(336012)(4326008)(83380400001)(186003)(36860700001)(70206006)(70586007)(8676002)(82310400005)(40460700003)(33656002)(54906003)(8936002)(5660300002)(6862004)(36756003)(2906002)(316002)(41300700001)(53546011)(40480700001)(478600001)(6486002)(6512007)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 07:37:23.1972
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 34d6109e-688f-48ec-164f-08da85a37bf2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2498

Hi Jan,

> On 23 Aug 2022, at 17:15, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 23.08.2022 16:41, Bertrand Marquis wrote:
>>=20
>>=20
>>> On 23 Aug 2022, at 15:31, Jan Beulich <jbeulich@suse.com> wrote:
>>>=20
>>> On 23.08.2022 15:34, Bertrand Marquis wrote:
>>>>> On 23 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>>>>> On 23.08.2022 12:24, Bertrand Marquis wrote:
>>>>>> --- a/tools/libacpi/mk_dsdt.c
>>>>>> +++ b/tools/libacpi/mk_dsdt.c
>>>>>> @@ -18,6 +18,16 @@
>>>>>> #include <stdlib.h>
>>>>>> #include <stdbool.h>
>>>>>> #if defined(CONFIG_X86)
>>>>>> +/*
>>>>>> + * When building on non x86 host, arch-x86/xen.h will include xen.h=
 which will
>>>>>> + * try to include the arch xen.h (for example if built on arm, x86/=
xen.h will
>>>>>> + * include xen.h which will include arch-arm.h).
>>>>>> + * To prevent this effect, define x86 to have the proper sub arch i=
ncluded when
>>>>>> + * the compiler does not define it.
>>>>>> + */
>>>>>> +#if !(defined(__i386__) || defined(__x86_64__))
>>>>>> +#define __x86_64__
>>>>>> +#endif
>>>>>=20
>>>>> Besides being confusing this depends on the order of checks in xen.h.
>>>>>=20
>>>>>> #include <xen/arch-x86/xen.h>
>>>>>> #include <xen/hvm/hvm_info_table.h>
>>>>>> #elif defined(CONFIG_ARM_64)
>>>>>=20
>>>>> At the very least you will want to #undef the auxiliary define as soo=
n
>>>>> as practically possible.
>>>>=20
>>>> Ack
>>>>=20
>>>>>=20
>>>>> But I think a different solution will want finding. Did you check wha=
t
>>>>> the #include is needed for, really? I've glanced through the file
>>>>> without being able to spot anything ... After all this is a build too=
l,
>>>>> which generally can't correctly use many of the things declared in th=
e
>>>>> header.
>>>>=20
>>>> As stated in the comment after the commit message, this is not a good
>>>> solution but an hack.
>>>>=20
>>>> Now I do not completely agree here, the tool is not really the problem
>>>> but the headers are.
>>>=20
>>> Well - the issue is the tool depending on these headers.
>>=20
>> Yes but the tool itself cannot solve the issue, we need to have the valu=
es
>> in properly accessible headers.
>>=20
>>>=20
>>>> There is not such an issue on arm.
>>>=20
>>> Then why does the tool include xen/arch-arm.h for Arm64?
>>=20
>> Because this header defines the values required and as no such thing as =
include xen.h.
>> The point is on arm, the arch-arm.h header does not depend on per cpu de=
fines.
>=20
> At first I was surprised you get away there without including xen.h -
> this may change at any time, as soon as you grow a dependency.
>=20
> But then the inclusion by arch-x86/xen.h looks suspicious, since xen.h
> itself includes arch-x86/xen.h (first thing), so unless I'm missing
> something arch-x86/xen.h can't really have a dependency on xen.h. So
> maybe in the short term you could get away with removing that include
> as a "fix"?

Just removing the include is ending up in errors (I tried that first).
I will dig deeper to check if those are possible to solve but some files
including arch-x86/xen.h should actually including xen.h instead and
I think the amount of changes might get a bit bigger.
I will give it a try.

Bertrand

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 07:37:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 07:37:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392252.630479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkxR-0002jd-Dz; Wed, 24 Aug 2022 07:37:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392252.630479; Wed, 24 Aug 2022 07:37:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQkxR-0002jW-AK; Wed, 24 Aug 2022 07:37:49 +0000
Received: by outflank-mailman (input) for mailman id 392252;
 Wed, 24 Aug 2022 07:37:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQkxQ-0002fG-Ax
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 07:37:48 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10084.outbound.protection.outlook.com [40.107.1.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5692489-237f-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 09:37:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6929.eurprd04.prod.outlook.com (2603:10a6:208:181::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Wed, 24 Aug
 2022 07:37:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 07:37:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5692489-237f-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TQpczegMfgAd0pwY/xBGX+Mb/a7mQATVnPYbe3svtbBqTOnUM62VvPrvx6P7pFDFg+TrSRB+tLfB93RY0uuUO+WjJpIxrywqb1raOXeAhA7cus9yszgBB9OEenRwbIAL03VLDGTZCrj4VgVWC4u/pu0+CnkTGxkhEKQFw9KRWBPZ05nm2eCGewzlAe7mCbhZBCll3xQ+pgzs9NjGi9sAUKw2lxByciB6SNa6mgAe8t4QBe/QKt9KYc7rJUW/vpwN5g2cxpfjw65Rf4kwhFlb8kzYGYryNV1cYLByoR2nV2bvJU8vkeB20iUSMKbGrtKkBi/x+7gRr6/x5ejJIobiPQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hU5+3H1iUxR1K9573tw0Lom9BwwPLdGPI/yST3cfnpY=;
 b=BRU6OM+IvgcYheHbI2c2yqph3e9QrRsOANP54lUZoUovBAW+PNk9PU7688tVvAdRegGTymxIdWy8Asm9TvJ5il1Px3LmJu5WD3fyQk2P1yoEUYPfTePRpv2+3UmO8rSrQBK739tUh4TIShL6zgrU8KbgGDIw8hdZ0NJxHylfdzQpMtg7HVj/z8slxPEbYvgZVY7r30kG0mQPEHZt0/B6apHX5Z+txh2xFk1LpjhzRmJSidES4rx+KJMC12PdJS916JyBi1D62xF2V/ylk/ouJFGcaigk1/gNaoHSnIXj8eu1RsDuKAOPW876VvrtzmFUCxGeBuKkc1c4zIOrwUstog==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hU5+3H1iUxR1K9573tw0Lom9BwwPLdGPI/yST3cfnpY=;
 b=1UKuB/HrIQtidLbUdDJHvfXlOZHCTuOfbk7bv/VgDcCbqfdfzOAX0cBK5e19NyXxJZ7YxvE/3wmgbAKO0eMQJTvLAMg+LczbdbNYEhpg/sZK9Bag3rBnDC4oxoLvsMFQYOLa+98twqa0oNMmt5am4vuRyBebCM/HzSHvC0vYJu3gz/et4god9f6LmSeExIpaoDdNnMzPpzcdkOlqqbwcZMVMO8SxwsaHFmBr9ZDUAdzpGXDz+CfaTsb6Ly3f6Iusg/zIsQUqja+8x8EnZ094RnFqUfv5eBuZBNpPedLssiEWlWx51uFFTQnMjgJMPEFZ5jUhpXmHSqkDWrl9+eimXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3a4cbf36-ff90-bf7d-b7e6-5d8a49880f2d@suse.com>
Date: Wed, 24 Aug 2022 09:37:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
 <C7766EB8-B741-4443-99C3-EB14C1EA9804@arm.com>
 <348e6d5c-d846-3d8a-e26c-316ba6a98938@suse.com>
 <F1E1B306-5C4C-44C1-B4BE-E546B0B67C97@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <F1E1B306-5C4C-44C1-B4BE-E546B0B67C97@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0028.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:90::41) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9d742db1-3a68-4294-3e8b-08da85a388db
X-MS-TrafficTypeDiagnostic: AM0PR04MB6929:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yW6o1OePB9LMCWeNpwwNMx+vSvI8YqpsVCPpS0PiJYgcl8juBzxbTwhdguRjKMcN5d9vqiKZJt+EdN60mAwhhXudboXhKcWVZuFLRQ4YIpQ+2KtQuSA0Wi01LGgaBHuUcSWhthypnDBddPFD2b+C5eyz41PbBLtXre2kUV7NLodHpPKWhwhcWnpaItiZhvDUi5VE68MZ6BLc2vo+GLLzccDR3Dscp37+indRR6Dp9cxwr/hPU7LPyzKNEERUxgscyKMWDkO1HRi35Cx+BuGscd9a3YSH2eHdjqptbMk9BrcZ0PSEtiVzuXwPOnMuRf2CQzVdX9kOvdxWAfSI//CZgjF8EiT8aS9WvSCRnULgmqoUM2uwTrKW60cQN/R/Sa2CpnVcqlPueqXZrmSBBHakBf8AD+gVnUDH7fd6xrvIKbyi/ktN/1ddQPowOu31IuaSuUsHpksB8yTcjJsdAX38gZh/CcASDsCoRlQ2t580ZWhEQgkZBrAT+ko+GUFM1Mkig/1cQyEQfKHrE7HJGYcpKT15gotVL07y1fKwIRocvJwEiyZmNz8e62CkxGVZ+4vVQTsK7+z9zVzvezW9E72BhVcedrl3PcH/DgVp6Hn1mIGLxATqk1LlKp6MwKRWb4aNrOH8hvY4gaiO6EseATH9a4/HET2laDbwmN3Vuk6BCjf1lrPLUbZB7Vg+sXAlQIlwLfdIi+OzwKQ1YPpzMcAprZ/DS/glASQlBmvyefUKIwqeLH0lNttvOudpZnqvC3vNIkVWh4FhI5Sh4D9slunKrGnqlj2cY3CS9JTUu0S67rk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(376002)(136003)(366004)(39860400002)(6506007)(66476007)(54906003)(6916009)(66946007)(31696002)(8676002)(4326008)(316002)(66556008)(26005)(86362001)(6666004)(53546011)(6512007)(2616005)(186003)(478600001)(6486002)(36756003)(8936002)(41300700001)(2906002)(5660300002)(31686004)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K2NOZjNlQjNFUUZ0UzYvZmdXa2UyWnp3YTc5eHdBbmxQc0tsTk9hTjIydXB2?=
 =?utf-8?B?djZGTzdrUDc1ZDFBMXRBa1BheEJpYytaek1QR0o5WGludkhkZldXSy9ZbWlS?=
 =?utf-8?B?WkROUFNiZjd3L3UySThGTlRhODdPdzlPQXFibmtoUnJVaFpzK0xKM2xUd1hi?=
 =?utf-8?B?Q1R4YXR2eFJ4SVlYNXNUUHlVdFl4TVNBVlBMU3BOWTFUa0Q4ZFhVUVpDbVlv?=
 =?utf-8?B?aW5SVkg2TEZlZ3VBMGlRNDlkUXpJYUlTRDhjeEFQdVJEU0JHNXphMUZpbWlw?=
 =?utf-8?B?ampIVVNubDhRSHdETEtrWjVJUXAwUC85UzB2c25QWlkzMTZ6cXNFNHhoYWJt?=
 =?utf-8?B?STE3ckRWYWNWMDVyUTgva3g5YmdtKzVhOHZNZi9sK3FTVkJIS2kxOUw5bDhM?=
 =?utf-8?B?eUMxeHpDUE1ITUZmN3pFSHo3b1JyaERBS3lwZDcvK0VjcTg3QWdPVXJKUmYy?=
 =?utf-8?B?Y0tNTDZxdTlPd0czakl0Q2wyUUJjZ1dTLyt1d2VOZ2ZEWjN2dXRPTHFNNXJC?=
 =?utf-8?B?UkxZc1NMcFcySkN2N05YWHVUK1hkMGw3UmxUU2tJTHBhaTBQcWIvb3BQK3Fl?=
 =?utf-8?B?SThTOUlZd1E4MGwrTW4wLzEwakV2SHEzOC9yc1NHQ3BBZ0tTamNoeDhGMXB2?=
 =?utf-8?B?MXpEQVFyaXNUamNiNDNUdi9SZ05yZzJ6YjhhaTc1YWVFaDNadEo1emJ1RWI2?=
 =?utf-8?B?WkJyMDgwQmFNT3dDRDA1VGR1b2d5L3ZlaFZ1T2tVTnJGU0hWRTVMUkMvc0lZ?=
 =?utf-8?B?V0JhVmRrZmFZYlQ4Y1l4aGZ5SGlqYWZFSVl1bjNib2VDUWtaNVozNDArdXJY?=
 =?utf-8?B?T1p6Rk5YcDJZTVg5ZkN0a0NqcC9WZUxsbnpFQlpTTkxQTEFMK09rMFFDbHlS?=
 =?utf-8?B?dkczMXpJRTgrOXVTNS9vMGdUSWZlZ0xEQmVTNDArVVFKTlE4QW1rZDRsUjJz?=
 =?utf-8?B?WDdCVTA5Y096QTJtOWo3QXc1NHhrM1NNQklteHdYYlRXMVh2Sy9RUXRPZWJY?=
 =?utf-8?B?S01ERFR5aW0wT0FMZjRwZklONVVtSjZKNTArUEZkUkpBejJXeGlTb0JIZ016?=
 =?utf-8?B?L0hML0M1OE5LZHBYNk4wN3hjYUdFd3pYWnJtb2QydlByRzlpVkdZTStuMmg5?=
 =?utf-8?B?TkxXUC9yNFd1KytabG9VMkxnOC9NeERTdFFnVlZzMGJRa3NCOXUveUt5dXJR?=
 =?utf-8?B?czNsYnZYMFpJc055MWRSbU0vcnFpUkpidjJIbTdWWVMrMXhWWTFoMlVta2Jk?=
 =?utf-8?B?cm5QMWFCdE9la0NsU2RmVWdQbFlTaGJ1UXZKcUFYWlBzbFZINUxEempac0FT?=
 =?utf-8?B?d0k3dUl0ZVdSQ1F0RDc4OFh6NHlTclBYUkJiMHFFUUxZd0Z6NHJQMlV5U3p6?=
 =?utf-8?B?UTBNUWFjS2lLTXRRNjBlMFlpNUxteTZNbnlSaDUwdVgzZmQ1Y0ZiZlNQNC9N?=
 =?utf-8?B?MERrUGZPRXc2TUxNUHpNcHZqcDY1Wi9hS0NrZW82MWt4U1BHcFRTSE1zdFNW?=
 =?utf-8?B?UUlSdHIxWWZhN25hdDd4WEl6dGExczROZnlSTDczdTE4MUJPRGxDYXVDaFFz?=
 =?utf-8?B?MTRzYm1qcHR3dmFIRm5nemg2N2NtdUQ0L2loNm1sUmR5dzZIcHQrYncxb3p2?=
 =?utf-8?B?b0hxREhGQk03bDd5SWJGYzc3bStJdXhtZitTNmlXQVZhbWJoaWdkQWpEUjJj?=
 =?utf-8?B?RlRuUWpIU2NTNVd3aFhRT1ZqTGZJZHRneC9qa2xldC9WT0NpZ3A2V1I4eDAz?=
 =?utf-8?B?aCszcGtLT3hsOVZIclUzR28rSXdYWjViK2RkMzJpaWZWSmlnUHphdjBrZzdj?=
 =?utf-8?B?MUEvTXBWRURSNXk1WnBaU3NpSHJoYVVPTUVIRnlOTk84bWUzTjBVSXZWN0FH?=
 =?utf-8?B?bTlSd0xKMkdTQUhLdWlCeFB4b05TVGVNdE5JRXpOYXdqaDZuVDlnZmxqU2ww?=
 =?utf-8?B?TEUweXM0K0ZTejEyTnVhWGpqYXJmMXpmU04zM2g0aE0wR1hpUWpMTURjc0dU?=
 =?utf-8?B?dUZ1Qm42cXN4Tm5BVXR6T3JGTEZCekovYTBlam5mQkxkVHA5MnhkcE9Ic3Q4?=
 =?utf-8?B?eEo4WTN2U3h1RFY2ais2eWJTS2pGcWJteXg1M2NwYzlGUjlXL09zSCtWekYy?=
 =?utf-8?Q?QubGHPR2aID2lYTsaAGDtKrDD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d742db1-3a68-4294-3e8b-08da85a388db
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 07:37:44.9517
 (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: FzkIFomg0Q0DBVYHShbZm9sCQ09wqmG7j8Uq6w9QRGK5ScNaomt/jcaN2OCmhqagAYRNx+uVdQskScIqtO4XYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6929

On 23.08.2022 17:56, Bertrand Marquis wrote:
>> On 23 Aug 2022, at 16:45, Jan Beulich <jbeulich@suse.com> wrote:
>> On 23.08.2022 17:09, Bertrand Marquis wrote:
>>> How about moving those to a xen-acpi.h header and include that one in xen.h ?
>>
>> In principle okay, if there wasn't the need for HVM_MAX_VCPUS. With a
>> suitable comment it may be okay to live there. I'd be curious what
>> others think.
> 
> The problem with this already exists in the current status as this is defined in
> hvm_info_table.h which is never included from arch-x86/xen.h

You're referring to it being necessary to explicitly include both headers.
That's not what I'm referring to, though: The tool imo shouldn't include
hvm_info_table.h, and hence the HVM_MAX_VCPUS would need to move as well.

> Including hvm_info_table.h from xen-acpi.h could create include path issues.

Include path issues? Both are / would be public headers. But as said, I
don't think any new header introduced for the purpose at hand should
include _any_ other public header.

> But as those are used nowhere apart from mk_dsdt, I would probably skip the
> include of xen-acpi.h from xen.h.

Hmm, yes, that's reasonable I guess as far as XEN_ACPI_* go. Of course
HVM_MAX_VCPUS is a different matter.

> Any chance that those XEN_ACPI_ are needed by some external tools that
> could get broken by this modification ?

Requiring them to include another header is, I think, a tolerable form
of breakage, the more that such breakage isn't very likely anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 08:05:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 08:05:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392267.630490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQlNi-0006lQ-Qa; Wed, 24 Aug 2022 08:04:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392267.630490; Wed, 24 Aug 2022 08:04:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQlNi-0006lJ-Np; Wed, 24 Aug 2022 08:04:58 +0000
Received: by outflank-mailman (input) for mailman id 392267;
 Wed, 24 Aug 2022 08:04:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z3XY=Y4=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oQlNg-0006lD-U4
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 08:04:56 +0000
Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com
 [2607:f8b0:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ffa39dd-2383-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 10:04:55 +0200 (CEST)
Received: by mail-pg1-x533.google.com with SMTP id s206so14377866pgs.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Aug 2022 01:04:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ffa39dd-2383-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=CX7FcZmvoWqSFDSPgydIr1INXVpgZ/q9i60+ftlKLME=;
        b=gIrl2BMbamHbg8vUqbvd6MBWvidwjU5xVX0sHXnCiz5JVSw1iebHW+Y+pMUfG2AyvX
         6sKpr88ktvBQVuIsfCymbMjyRUgley1Zgwo2pkDuQLnCCyYcwVcQE8poxtbKPR2MIr0m
         GDJdwsEvFTp975+II1msSoorL0Z3VHFrmJ3wRLyZCAysZqD/13GXRkZqTD1l44iNJ5dz
         eznjf6WU2KtsiqpywfMxvmM1wNqrbC2OH3++gr/YOdz5XQguxxkJhcYIPNC1bhYQMJCm
         v6Iau4F5ZFprBC+RLlT9lsOUISmdJER7ct48ylfbi09ZOO99lvGv35GniB/JvlNasSTW
         Id3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=CX7FcZmvoWqSFDSPgydIr1INXVpgZ/q9i60+ftlKLME=;
        b=U4XaWS7+8zLNVCxtBdxGratcwyI+lVviAlOhU4zFwebRUwGzma9Y0rt/8JD7T+6e48
         +9IWz58NwOtvUKOJf1ZHzvprBrykuqLoLHDNo6pJug3EKpPF41peid3klLApc5pDdSHR
         FQwN9BDp1mI7zVJ7RJ4w8NQhz+WJ0BUQ3i8tdyVn9UXpDc+fCjxwgA+tKOHzOt+HUY4Q
         2INY1WtT6w5/skuRUze3VNdgfiYsnbVjJ/wqDZ8PLpP3+Z2F8kyKkuwEKkQtTUj8NbBx
         0K5OKLPwXxZ6PIgQnof+uTXmNfkiXgHA4Lt7kA9uGQUCp9RvCryNeUzwI6AOmIztTMic
         1CAw==
X-Gm-Message-State: ACgBeo3QznY3Xz+vqteALavuIw+qtt474Twhtl5Ihmy6A/MuFO3VSppv
	J8hTpXx64zrnhTGrVG/SjPyJ7YY1MfbCbwyCcAtzpQ==
X-Google-Smtp-Source: AA6agR70a6KVvePGe7dA+iB1xFnyXhPvMbUWUP9E+oXzT0jGjYtSY/wKKy/VpB4kU2MsqKyXBk2gMJ4UcopX2KlLfEo=
X-Received: by 2002:a63:224a:0:b0:41e:1d36:5063 with SMTP id
 t10-20020a63224a000000b0041e1d365063mr22926010pgm.568.1661328293670; Wed, 24
 Aug 2022 01:04:53 -0700 (PDT)
MIME-Version: 1.0
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
 <20220818105601.1896082-2-jens.wiklander@linaro.org> <EC23C48B-C9ED-4BD0-BD6D-4967A2509B2B@arm.com>
In-Reply-To: <EC23C48B-C9ED-4BD0-BD6D-4967A2509B2B@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 24 Aug 2022 10:04:42 +0200
Message-ID: <CAHUa44EF+aXgQcgAcBPwJSWAoSeejyAe_JJFXsKR2WbQCRVdPQ@mail.gmail.com>
Subject: Re: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2 extended
 input/output registers
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Anthony PERARD <anthony.perard@citrix.com>, 
	Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>, Luca Fancellu <Luca.Fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, Aug 18, 2022 at 3:45 PM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 18 Aug 2022, at 11:55, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >
> > SMCCC v1.2 [1] AArch64 allows x0-x17 to be used as both parameter
> > registers and result registers for the SMC and HVC instructions.
> >
> > Arm Firmware Framework for Armv8-A specification makes use of x0-x7 as
> > parameter and result registers.
> >
> > Let us add new interface to support this extended set of input/output
> > registers.
> >
> > This is based on 3fdc0cb59d97 ("arm64: smccc: Add support for SMCCCv1.2
> > extended input/output registers") by Sudeep Holla from the Linux kernel
> >
> > The SMCCC version reported to the VM is bumped to 1.2 in order to support
> > handling FF-A messages.
>
> With this patch, you add something so that you could call SMCCCv1.2 but in practice you are not using it anywhere.
> I do not think this patch should bump the version we present to guests.
>
> >
> > [1] https://developer.arm.com/documentation/den0028/c/?lang=en
> >
> > Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/arm64/asm-offsets.c |  9 +++++++
> > xen/arch/arm/arm64/smc.S         | 43 ++++++++++++++++++++++++++++++++
> > xen/arch/arm/include/asm/smccc.h | 40 +++++++++++++++++++++++++++++
> > xen/arch/arm/vsmc.c              |  2 +-
> > 4 files changed, 93 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
> > index 280ddb55bfd4..1721e1ed26e1 100644
> > --- a/xen/arch/arm/arm64/asm-offsets.c
> > +++ b/xen/arch/arm/arm64/asm-offsets.c
> > @@ -56,6 +56,15 @@ void __dummy__(void)
> >    BLANK();
> >    OFFSET(SMCCC_RES_a0, struct arm_smccc_res, a0);
> >    OFFSET(SMCCC_RES_a2, struct arm_smccc_res, a2);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X0_OFFS, struct arm_smccc_1_2_regs, a0);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X2_OFFS, struct arm_smccc_1_2_regs, a2);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X4_OFFS, struct arm_smccc_1_2_regs, a4);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X6_OFFS, struct arm_smccc_1_2_regs, a6);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X8_OFFS, struct arm_smccc_1_2_regs, a8);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X10_OFFS, struct arm_smccc_1_2_regs, a10);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X12_OFFS, struct arm_smccc_1_2_regs, a12);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X14_OFFS, struct arm_smccc_1_2_regs, a14);
> > +   OFFSET(ARM_SMCCC_1_2_REGS_X16_OFFS, struct arm_smccc_1_2_regs, a16);
> > }
> >
> > /*
> > diff --git a/xen/arch/arm/arm64/smc.S b/xen/arch/arm/arm64/smc.S
> > index 91bae62dd4d2..c546192e7f2d 100644
> > --- a/xen/arch/arm/arm64/smc.S
> > +++ b/xen/arch/arm/arm64/smc.S
> > @@ -27,3 +27,46 @@ ENTRY(__arm_smccc_1_0_smc)
> >         stp     x2, x3, [x4, #SMCCC_RES_a2]
> > 1:
> >         ret
> > +
> > +
>
> Please only add one line only here

OK, I'll fix.

Thanks,
Jens

>
> > +/*
> > + * void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
> > + *                        struct arm_smccc_1_2_regs *res)
> > + */
> > +ENTRY(arm_smccc_1_2_smc)
> > +    /* Save `res` and free a GPR that won't be clobbered */
>
> The comment here should be fixed, you are clobbering x19 hence you need to save it.
>
> > +    stp     x1, x19, [sp, #-16]!
> > +
> > +    /* Ensure `args` won't be clobbered while loading regs in next step */
> > +    mov      x19, x0
>
> You do not need to save args (and no code is restoring it).
>
> > +
> > +    /* Load the registers x0 - x17 from the struct arm_smccc_1_2_regs */
> > +    ldp      x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
> > +    ldp      x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
> > +    ldp      x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
> > +    ldp      x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
> > +    ldp      x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
> > +    ldp      x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
> > +    ldp      x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
> > +    ldp      x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
> > +    ldp      x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
> > +
> > +    smc #0
> > +
> > +    /* Load the `res` from the stack */
> > +    ldr      x19, [sp]
> > +
> > +    /* Store the registers x0 - x17 into the result structure */
> > +    stp      x0, x1, [x19, #ARM_SMCCC_1_2_REGS_X0_OFFS]
> > +    stp      x2, x3, [x19, #ARM_SMCCC_1_2_REGS_X2_OFFS]
> > +    stp      x4, x5, [x19, #ARM_SMCCC_1_2_REGS_X4_OFFS]
> > +    stp      x6, x7, [x19, #ARM_SMCCC_1_2_REGS_X6_OFFS]
> > +    stp      x8, x9, [x19, #ARM_SMCCC_1_2_REGS_X8_OFFS]
> > +    stp      x10, x11, [x19, #ARM_SMCCC_1_2_REGS_X10_OFFS]
> > +    stp      x12, x13, [x19, #ARM_SMCCC_1_2_REGS_X12_OFFS]
> > +    stp      x14, x15, [x19, #ARM_SMCCC_1_2_REGS_X14_OFFS]
> > +    stp      x16, x17, [x19, #ARM_SMCCC_1_2_REGS_X16_OFFS]
> > +
> > +    /* Restore original x19 */
> > +    ldp     xzr, x19, [sp], #16
>
> You should use ldr and just load x19 value here.
>
> > +    ret
> > diff --git a/xen/arch/arm/include/asm/smccc.h b/xen/arch/arm/include/asm/smccc.h
> > index b3dbeecc90ad..b5e3f67eb34e 100644
> > --- a/xen/arch/arm/include/asm/smccc.h
> > +++ b/xen/arch/arm/include/asm/smccc.h
> > @@ -33,6 +33,7 @@
> >
> > #define ARM_SMCCC_VERSION_1_0   SMCCC_VERSION(1, 0)
> > #define ARM_SMCCC_VERSION_1_1   SMCCC_VERSION(1, 1)
> > +#define ARM_SMCCC_VERSION_1_2   SMCCC_VERSION(1, 2)
> >
> > /*
> >  * This file provides common defines for ARM SMC Calling Convention as
> > @@ -265,6 +266,45 @@ void __arm_smccc_1_0_smc(register_t a0, register_t a1, register_t a2,
> >         else                                                    \
> >             arm_smccc_1_0_smc(__VA_ARGS__);                     \
> >     } while ( 0 )
> > +
> > +/**
> > + * struct arm_smccc_1_2_regs - Arguments for or Results from SMC call
> > + * @a0-a17 argument values from registers 0 to 17
> > + */
> > +struct arm_smccc_1_2_regs {
> > +    unsigned long a0;
> > +    unsigned long a1;
> > +    unsigned long a2;
> > +    unsigned long a3;
> > +    unsigned long a4;
> > +    unsigned long a5;
> > +    unsigned long a6;
> > +    unsigned long a7;
> > +    unsigned long a8;
> > +    unsigned long a9;
> > +    unsigned long a10;
> > +    unsigned long a11;
> > +    unsigned long a12;
> > +    unsigned long a13;
> > +    unsigned long a14;
> > +    unsigned long a15;
> > +    unsigned long a16;
> > +    unsigned long a17;
> > +};
> > +
> > +/**
> > + * arm_smccc_1_2_smc() - make SMC calls
> > + * @args: arguments passed via struct arm_smccc_1_2_regs
> > + * @res: result values via struct arm_smccc_1_2_regs
> > + *
> > + * This function is used to make SMC calls following SMC Calling Convention
> > + * v1.2 or above. The content of the supplied param are copied from the
> > + * structure to registers prior to the SMC instruction. The return values
> > + * are updated with the content from registers on return from the SMC
> > + * instruction.
> > + */
> > +void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
> > +                       struct arm_smccc_1_2_regs *res);
> > #endif /* CONFIG_ARM_64 */
> >
> > #endif /* __ASSEMBLY__ */
> > diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
> > index 676740ef1520..6f90c08a6304 100644
> > --- a/xen/arch/arm/vsmc.c
> > +++ b/xen/arch/arm/vsmc.c
> > @@ -93,7 +93,7 @@ static bool handle_arch(struct cpu_user_regs *regs)
> >     switch ( fid )
> >     {
> >     case ARM_SMCCC_VERSION_FID:
> > -        set_user_reg(regs, 0, ARM_SMCCC_VERSION_1_1);
> > +        set_user_reg(regs, 0, ARM_SMCCC_VERSION_1_2);
>
> As said for the commit message, I do not see what changes are making Xen providing 1.2 interface at this stage.
>
> Regards
> Bertrand
>
> >         return true;
> >
> >     case ARM_SMCCC_ARCH_FEATURES_FID:
> > --
> > 2.31.1
> >
>


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 08:11:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 08:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392273.630501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQlTq-0008BP-Ft; Wed, 24 Aug 2022 08:11:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392273.630501; Wed, 24 Aug 2022 08:11:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQlTq-0008BI-DB; Wed, 24 Aug 2022 08:11:18 +0000
Received: by outflank-mailman (input) for mailman id 392273;
 Wed, 24 Aug 2022 08:11:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z3XY=Y4=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oQlTp-0008BC-KK
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 08:11:17 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52f61366-2384-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 10:11:16 +0200 (CEST)
Received: by mail-pj1-x1034.google.com with SMTP id
 t11-20020a17090a510b00b001fac77e9d1fso782777pjh.5
 for <xen-devel@lists.xenproject.org>; Wed, 24 Aug 2022 01:11:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52f61366-2384-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc;
        bh=Hf0gns039x7m3a/JaKOcl+yPrkSAeRekxQMdB+IBJO8=;
        b=IOTAZCdOiSpZVKyCv3GbrWaKzL8BMrkvGAFOgQphDfDjACqEEPvbndE8yZnHv6RuEs
         8ifi5MtTZgXvMAIPUJG54Gj1KCT178j+sfrckSmwQGhgk43Rs0f1gSmtbD+BGC5NtDRP
         8J4PkM1uLU4/u/yf909zxKWupdbj1jwJCJvoLcbF/Sk/pl6TJNpxgg/5EGIGhJM3qnUB
         rBtRKkEOGqYnWoxZXA62XqHi3QCAVt+IbrJiHptbXL/sAXwqHIzC83KV5Y3id2wJkBsM
         BEwV7x8wXHLzuN6xa490RgZS6V2OFj3JbmXfrYxYVpFOY35oV5aHIBe8fHr+SGSXlG05
         uEYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc;
        bh=Hf0gns039x7m3a/JaKOcl+yPrkSAeRekxQMdB+IBJO8=;
        b=mDNAGL4gZ8Yvwz7Os14MLR74cVhOu2UNAO4+DM0hfVFIfoI1u5WER3n6lALqzW7JAN
         VUapUxb/hBKZ6UxQKrme8nxhH7vS+70Kr8wGvOcB4lkgb3Pj/pDgNo63IOpyJNr/L/4k
         bGLePNx0rkjiPtoerBFlaCb/zD1aI3FcCzGBXF0eJFcCyY7np/W6spH3VwaaVXZJ8plP
         3bu0OhWMqZ7y7gBikQZCM2FtUGcI0V05+/t2VMrBNiz3dZReZyvXvxlzPKrwjOfxDGNj
         f7/jGdGTL9Yd6p8g7vSbs660z5TIz7gFmDhy2aqLQ1OVlipwuX2jOOVUT4TgqR3m3kIE
         Ou3g==
X-Gm-Message-State: ACgBeo165Ao/0da4x66uvXXP4d6rG9wxnK1E7ab1TqFXfUVxVu/E3m73
	ht6CAzMsyi5EvFP0cccKEp0GXKLjKeqLZauhM8cJCw==
X-Google-Smtp-Source: AA6agR7pI1XHKEAyyk0M7HJ6lSREuDF+wcVThb2aGnqKYr8P5PaYZODH0cuxOXDoCuGqVg6u7KqdDcFKry1fNWttRpg=
X-Received: by 2002:a17:90a:304a:b0:1fa:d832:5aca with SMTP id
 q10-20020a17090a304a00b001fad8325acamr7035197pjl.16.1661328674687; Wed, 24
 Aug 2022 01:11:14 -0700 (PDT)
MIME-Version: 1.0
References: <20220818105601.1896082-1-jens.wiklander@linaro.org>
 <20220818105601.1896082-2-jens.wiklander@linaro.org> <EC23C48B-C9ED-4BD0-BD6D-4967A2509B2B@arm.com>
 <4613f385-b11e-6d4f-42df-2febac4440d1@xen.org> <D8557FC4-C3B1-4F40-A264-2D8DE68E71CD@arm.com>
 <1527cfdf-5018-d495-cff7-528a278e1f67@xen.org>
In-Reply-To: <1527cfdf-5018-d495-cff7-528a278e1f67@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 24 Aug 2022 10:11:03 +0200
Message-ID: <CAHUa44H5yM=GXEP7kSyB=esxDarSALC4iWd-rD-nHRjr=iB=AQ@mail.gmail.com>
Subject: Re: [PATCH v5 1/9] xen/arm: smccc: add support for SMCCCv1.2 extended
 input/output registers
To: Julien Grall <julien@xen.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>, 
	Luca Fancellu <Luca.Fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Aug 18, 2022 at 7:31 PM Julien Grall <julien@xen.org> wrote:
>
> Hi Bertrand,
>
> On 18/08/2022 16:55, Bertrand Marquis wrote:
> >> On 18 Aug 2022, at 15:31, Julien Grall <julien@xen.org> wrote:
> >>>> +/*
> >>>> + * void arm_smccc_1_2_smc(const struct arm_smccc_1_2_regs *args,
> >>>> + *                        struct arm_smccc_1_2_regs *res)
> >>>> + */
> >>>> +ENTRY(arm_smccc_1_2_smc)
> >>>> +    /* Save `res` and free a GPR that won't be clobbered */
> >>> The comment here should be fixed, you are clobbering x19 hence you ne=
ed to save it.
> >>
> >> The comment is correct. x19 is one of the few registers that will not =
be clobbered by the SMC call. But we still need a register below to store '=
args', so we need to free it (what you call clobber).
> >
> > Adding =E2=80=9Cby SMC call" would make this more clear
>
> I would be fine with that.

I'll update the comment.

Thanks,
Jens

>
> Cheers,
>
> --
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 08:23:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 08:23:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392279.630512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQlfN-0001GH-JT; Wed, 24 Aug 2022 08:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392279.630512; Wed, 24 Aug 2022 08:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQlfN-0001GA-Fm; Wed, 24 Aug 2022 08:23:13 +0000
Received: by outflank-mailman (input) for mailman id 392279;
 Wed, 24 Aug 2022 08:23:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jsFi=Y4=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oQlfM-0001G4-1X
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 08:23:12 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2088.outbound.protection.outlook.com [40.107.93.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc6d1969-2385-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 10:23:10 +0200 (CEST)
Received: from DS7PR03CA0239.namprd03.prod.outlook.com (2603:10b6:5:3ba::34)
 by BN8PR12MB3187.namprd12.prod.outlook.com (2603:10b6:408:69::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Wed, 24 Aug
 2022 08:23:06 +0000
Received: from DM6NAM11FT088.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3ba:cafe::6b) by DS7PR03CA0239.outlook.office365.com
 (2603:10b6:5:3ba::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Wed, 24 Aug 2022 08:23:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT088.mail.protection.outlook.com (10.13.172.147) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 08:23:05 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 24 Aug
 2022 03:23:04 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Wed, 24 Aug 2022 03:23:02 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc6d1969-2385-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WI9dfoEB9BWxPDyYPQPycfzzMneUT0R1P7Mg+Tq6GDo57iqK4Mii0cSxbsIfw3iww63pqIco57WAcHLFUK2A+DSaMVdZIQmSiiRuEDlO7VI5BEkejqLBgr6HGK3RJVlXEwZqxn2ty/CjTAiiV9XDhU8FVLMQUFc7PV1kVcEK2I9upWOzlE8KhHCCSoeQJYAH9AMjxlbcYcn/RfZjwni+dW071uyUYT7vIUIMwhAq8oKFh555oZ0uEijzJd5bKOrttF1rF4UDlKqvhmQJUoSnAVXW0+w5J9fqQMBxBNvwfmtMOpKXWYm8jUsQ9x6+ipLCKQwbZ/nPOkbR58/m10BP6A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pMMfRtpp13sv74mmBq5wbSAkHtO6JyVW2xw7VNixoYs=;
 b=VvAdsaSblUf0rttsAJCrh1X2zJKO1tJbVehTfpQdTfZXE+2LY0fAM1U+TBhLtc0oTGNUUfn/xpDecRE9MvcvRjrZq4znnwtTCTgMd9WpMX82gpC5Lw2/KfYTcSBGjvxnW4oSZH3DxursJqsaJtfdTfgPqZUI/z19XbI80M80sxN/0IX4DnmKEXxbBPNyI9AIWzkRSS0Fk1M4wNT4dZLd9z9Y3+NAKvkCArArPUeXm/dpVL9OypPvJ2q+oHLgVWOeqiUV52lIXjEybK8yfBnuPV4yzTK/QSF8s22ELQfPrwPrfMK9BPrNzavOQljoHt88vk3ET+n08SBnE5Pt2k185g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pMMfRtpp13sv74mmBq5wbSAkHtO6JyVW2xw7VNixoYs=;
 b=pMJbaicEBOo3bGn6ivhquaokzJxe3yazdpes74ZKQx0wJ+z/Fk+mrWyYrrBvxkYY0lzBaLhPDm7odO6qHkm0lNPgaGmg83nXa5ALf2VseMjqZfaD5PUKSNa64zwbCQNrxYTUSoP+ZFtV7BI51w1XaL4rsLlYaZ7xXK3AIUAa3QM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <c1a29c17-415c-89e3-6cce-30031c18b753@amd.com>
Date: Wed, 24 Aug 2022 10:23:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Content-Language: en-US
To: Jens Wiklander <jens.wiklander@linaro.org>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	<Bertrand.Marquis@arm.com>, Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v5 2/9] xen/arm: move regpair_to_uint64() and
 uint64_to_regpair() to regs.h
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fdee6141-8b8c-4a7d-8b7f-08da85a9de8c
X-MS-TrafficTypeDiagnostic: BN8PR12MB3187:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jMAfxdsxCnEG/XFPJY+uRTHKvHIPpt3onP69s2Mr3FeyxwKPbJXTGkruJ6aX6HzD6pVwzDJCymK+5ryvG4QIRAe9QZ70AMCDOMmsonuzm8ONrZFYE4sYfsnKnezDqK4o3am8MPs7nii/a53AuvIMUkPRo6cyExUAtclJtD4TC3OZunmb1hzWRwUAJSyB/hsIHQpzRuNEqh0r0krWKsRUaPaCMSHi+AtBwV2RAjSrVMOYlznlm5LEVhHT23FDNvysi7IEXmjIFyUYkRvZRssCv6v9RMf3lD2HHrR3Q10qOZx9VR3mk5AP77VdGADBBdacXn0gYurD7AuTFVtnfX833d0UoqIl0WfXT+I4BMQFneTiSfdzceY/5pQkhq0mZ4yWq0sjyXPHfiQHnAE/TO8VCCsVsoxxMTETAcMkxF9tq0iudeUiXB276j6rj/bBBCQ0nI+559ZGxS8vhOCP7jBHJ5M35W71EvOrEo4q+FlRVo307oNDcxCIifNCDOC7DelDRAo3c14tkTodsHC+vz50S757hRmysy3em1+7I/BfEH3ZRX7u7Ixfcv3ymfykGj3JkySbm6TbqOkScyEMcKwcoNTvqcZFYY9tNUqBTDw6zx32KnDDpweBCGvn6x62iqZ82d2tTnSaZ7wcAuqyARWxzLaKJkqPDitvWpejVykW+sXWBT35NC14YRaggNpqnP1hL54C997qYIO3rllQQyESTmwskhE2m0XeYBLS9XenGlDRJEHC7CsuDxeEyNCqBDn7Nu/JuDuaXcPoKU1dqQfYe0YPEizUihryMHgkS3tLBWI3r8d+QS1RWcmfeN1eo31nznNFxF6Ix4/PMw1xj94v1w==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(346002)(376002)(46966006)(36840700001)(40470700004)(2616005)(186003)(82310400005)(4326008)(8676002)(44832011)(336012)(5660300002)(41300700001)(40480700001)(36756003)(53546011)(478600001)(426003)(26005)(47076005)(4744005)(81166007)(36860700001)(356005)(40460700003)(86362001)(31696002)(16576012)(316002)(31686004)(54906003)(2906002)(8936002)(110136005)(70586007)(70206006)(82740400003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 08:23:05.5128
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fdee6141-8b8c-4a7d-8b7f-08da85a9de8c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT088.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR12MB3187

Hi Jens,

On 18/08/2022 12:55, Jens Wiklander wrote:
> Moves the two helper functions regpair_to_uint64() and
> uint64_to_regpair() from xen/arch/arm/tee/optee.c to the common arm
> specific regs.h.
> 
Would be good to add a justification that these helpers will be needed by subsequent patches.
Also I can see that you make use of them only in the last patch so it would be natural to
move this patch right before the one making use of these helpers.

> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

As for the patch itself:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 08:48:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 08:48:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392287.630527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQm3N-0003ky-QE; Wed, 24 Aug 2022 08:48:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392287.630527; Wed, 24 Aug 2022 08:48:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQm3N-0003kr-LO; Wed, 24 Aug 2022 08:48:01 +0000
Received: by outflank-mailman (input) for mailman id 392287;
 Wed, 24 Aug 2022 08:48:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQm3M-0003kl-2L
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 08:48:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQm3L-0008MN-Rl; Wed, 24 Aug 2022 08:47:59 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQm3L-0007h4-LV; Wed, 24 Aug 2022 08:47:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=y+l2UXUzZzyiExqKE9ZirkZLH1QDfV3Y+fad2+OSTTE=; b=Y6KojRwhSJK+kCVWa+D6cI5usd
	tDds0auJY/YB3kILOLW8g+vlghDC/DJbrcd/uuYDRCrvULH1GRCUEtzOFFuPHMoMNcjKvN9bn7fpw
	oAdt4ELeEm79ruJ7ljo9nfPMjpdGsjz2wrqJX1r8q35QYt5QHBkoFQiwrIg3Vpfg6iHQ=;
Message-ID: <dfb034eb-edd4-5489-f000-81a77b44c9e4@xen.org>
Date: Wed, 24 Aug 2022 09:47:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2] xen/arm: smmu: Set s2cr to type fault when the devices
 are deassigned
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Rahul Singh <Rahul.Singh@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <3d254f1c7045bc212c5700c1becde458174e5bf3.1660232299.git.rahul.singh@arm.com>
 <77f76e28-a397-ffc5-5e6e-e286878f4070@xen.org>
 <098BFF1B-DE23-4ACB-A968-12D0B96CB217@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <098BFF1B-DE23-4ACB-A968-12D0B96CB217@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 23/08/2022 11:34, Bertrand Marquis wrote:
> 
> 
>> On 12 Aug 2022, at 10:17, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Rahul,
>>
>> On 11/08/2022 16:42, Rahul Singh wrote:
>>> When devices are deassigned/assigned, SMMU global fault is observed
>>> because SMEs are freed in detach function and not allocated again when
>>> the device is assigned back to the guest.
>>> Don't free the SMEs when devices are deassigned, set the s2cr to type
>>> fault. This way the SMMU will generate a fault if a DMA access is done
>>> by a device not assigned to a guest.
>>> Remove the arm_smmu_master_free_smes() as this is not needed anymore,
>>> arm_smmu_write_s2cr will be used to set the s2cr to type fault.
>>
>> NIT: I would write arm_smmu_write_s2cr() so it is consistent with the line above.
>>
>>> Fixes: 0435784cc75d ("xen/arm: smmuv1: Intelligent SMR allocation")
>>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>>
>> Reviewed-by: Julien Grall <jgrall@amazon.com>
> 
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
> 
> @Julien: could you fix the NIT on commit ?

Yes. The patch is now committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:04:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:04:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392294.630541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmIe-0006As-2R; Wed, 24 Aug 2022 09:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392294.630541; Wed, 24 Aug 2022 09:03:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmId-0006Al-Vs; Wed, 24 Aug 2022 09:03:47 +0000
Received: by outflank-mailman (input) for mailman id 392294;
 Wed, 24 Aug 2022 09:03:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQmIb-0006Ac-TF
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 09:03:46 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQmIV-0000CM-P0; Wed, 24 Aug 2022 09:03:39 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQmIV-0008UG-GM; Wed, 24 Aug 2022 09:03:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=1jVz83rYLJJNBd4UiaOZDMda+bk4bZO2oOnYCy7X64Q=; b=eX2256g/u5jrmfnrcj+I7x1RM5
	VZzHjXuVuoy+uVUA859spHoR60ua39mK4JZUnlCPmsoPP8KPh0ZUGc5h2cL1s3O6L/8Npcv7EVJYe
	4VXqvpGtPkbH9RtjHEvXkCvDeF1DcLrt8ZeMh4ZJizcBN/OwA/HIe8VyuzwNpldvMILE=;
Message-ID: <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
Date: Wed, 24 Aug 2022 10:03:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v10 2/9] xen: do not free reserved memory into heap
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-3-Penny.Zheng@arm.com>
 <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 16/08/2022 07:40, Jan Beulich wrote:
> On 16.08.2022 04:36, Penny Zheng wrote:
>> +void free_domstatic_page(struct page_info *page)
>> +{
>> +    struct domain *d = page_get_owner(page);
>> +    bool drop_dom_ref;
>> +
>> +    if ( unlikely(!d) )
>> +    {
>> +        ASSERT_UNREACHABLE();
>> +        printk("The about-to-free static page %"PRI_mfn" must be owned by a domain\n",
>> +               mfn_x(page_to_mfn(page)));
>> +        return;
>> +    }
> 
> For the message to be useful as a hint if the assertion triggers, it
> wants printing ahead of the assertion. I also think it wants to be a
> XENLOG_G_* kind of log level, so it would be rate limited by default
> in release builds. Just to be on the safe side.

+1

> (I'm not in favor of
> the log message in the first place, but I do know that Julien had
> asked for one.)
TBH, I think all ASSERT_UNREACHABLE() paths should be accompanied with a 
printk(). This would also allow us to catch issue in production rather 
than in only in debug.

In particular, for the page allocator, I have seen issue that only 
happen very rarely. Although, this seems unlikely in this case.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:12:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:12:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392300.630552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmQm-0007bk-Tg; Wed, 24 Aug 2022 09:12:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392300.630552; Wed, 24 Aug 2022 09:12:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmQm-0007bd-Q7; Wed, 24 Aug 2022 09:12:12 +0000
Received: by outflank-mailman (input) for mailman id 392300;
 Wed, 24 Aug 2022 09:12:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQmQl-0007bX-Ed
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 09:12:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQmQl-0000O9-2O; Wed, 24 Aug 2022 09:12:11 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQmQk-0000eZ-Rg; Wed, 24 Aug 2022 09:12:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QiHRl3RIqzXnjebnN1ENkRNyAHOBjxUqBnDH+nC8cbA=; b=jtqvDVQPuVEUeLrmsQrgOnVZfK
	KsYOel7znTZw/pg2SR7PofLO8v0p7wce9mzElwd/4sqkrvmDPXSvhr8GCjVAy2O9CW+wN5++bEtsL
	LH43kgCIdsf0OKlXSnPpOeAyn00N9kVqtuoYOUYFVu5aYWoy9BCjkesmcpnTiZEssp6w=;
Message-ID: <e1742e37-78a3-8de8-6cf1-b16bc2bab91c@xen.org>
Date: Wed, 24 Aug 2022 10:12:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v10 6/9] xen: unpopulate memory when domain is static
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-7-Penny.Zheng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220816023658.3551936-7-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Penny,

On 16/08/2022 03:36, Penny Zheng wrote:
> Today when a domain unpopulates the memory on runtime, they will always
> hand the memory back to the heap allocator. And it will be a problem if domain
> is static.
> 
> Pages as guest RAM for static domain shall be reserved to only this domain
> and not be used for any other purposes, so they shall never go back to heap
> allocator.
> 
> This commit puts reserved pages on the new list resv_page_list only after
> having taken them off the "normal" list, when the last ref dropped.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

Other than Jan's comment:

Acked-by: Julien Grall <jgrall@amazon.com>

AFAICT, patch #2 needs some tweak. So I assuming this will need a 
respin. If not, I can possibly handle the change while committing if you 
provide a new version of the commit message.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:19:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392306.630563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmXl-0008JH-MJ; Wed, 24 Aug 2022 09:19:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392306.630563; Wed, 24 Aug 2022 09:19:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmXl-0008JA-Iz; Wed, 24 Aug 2022 09:19:25 +0000
Received: by outflank-mailman (input) for mailman id 392306;
 Wed, 24 Aug 2022 09:19:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ex+Y=Y4=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1oQmXk-0008Ia-NM
 for xen-devel@lists.xen.org; Wed, 24 Aug 2022 09:19:24 +0000
Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com
 [2607:f8b0:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d6b43916-238d-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 11:19:22 +0200 (CEST)
Received: by mail-pf1-x42f.google.com with SMTP id 83so10204053pfw.6
 for <xen-devel@lists.xen.org>; Wed, 24 Aug 2022 02:19:23 -0700 (PDT)
Received: from localhost ([122.171.18.80]) by smtp.gmail.com with ESMTPSA id
 r6-20020a634406000000b0042a6dde1d66sm7430131pga.43.2022.08.24.02.19.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Aug 2022 02:19:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6b43916-238d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=2yKVEzl32zJIBiFaKTktMQRB347BQAs/vumQW+vaaUk=;
        b=O0PYVV9YkUAbuUHpw071Bsaw8P7bRVM0EnCZkhhKPWopL6gWUJlnK2bMrpQ07ZgfET
         dWJbt9pGPSqGDztRJelUHuR9mpet6x/BsnsuDmNsMW+lgTP8rnfAlEfwwI4M2MNieDEe
         N0w+gvhkXtrqjEzvkCH/o7UFiu7sAzWz+CG8Dm7wicyXkaHYLjKzuQNBMwxNOTCXZC9P
         g+LaRrM6TAp+jvXPLej6+JZW/5Dmmf1/IIjVuVVO/Y2HKslsNZtv9yG5IPYQjjZz73DN
         vX8bGkPz2QMxdT7IW0vqNfstGhJ20oq1AHLan0vxOhJbXUPP/9+LktKClp7Ot37DMndc
         O49A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=2yKVEzl32zJIBiFaKTktMQRB347BQAs/vumQW+vaaUk=;
        b=ngM1g2kH/xN2GgFY0JkMX6nZG5nK85u4KCUX6z1JsQ6zySz0lzmqq7vVyY3uSJjewa
         BjZN9JE0qmRVDhK3fRzsJBqETF2B9ReKBgCaPJFxStu4UJIU08qmuiF2aIDcJp+6YEje
         mZE4K8ihTw3jCXrRdw8KLXsX5DRBTQI42hhZ84EPP+9dZcsXmxhMg6CUCDgzy7u8LaQT
         4gDsiwyGs90AkpopYbb73A2X0OGPdoitgfYsj5UAPMoHIu91DT9Mh4fr+7U7IaIW5OmE
         Nqv/cbkOOaAyCGCJ2YeR6X1eDTHJMkrg9ag1Pk1bVejVuzAAGmBfseW3Y+T5ILTGE2+K
         oZFw==
X-Gm-Message-State: ACgBeo3bCypPagAbF0MgdRJch+mZC+PBOF1UROXhrz53N6JEdjU9SQeI
	5gqgZujUymB/bk0sLa0RXseGUw==
X-Google-Smtp-Source: AA6agR6GwXeHfFFdESqUXfiilX1UrEfHcITfLQ4AfuM15Kvn4hlq5awrIDfA1iWRcjgKMmkilye4QA==
X-Received: by 2002:a05:6a00:99b:b0:536:754a:ab31 with SMTP id u27-20020a056a00099b00b00536754aab31mr15879381pfg.45.1661332761833;
        Wed, 24 Aug 2022 02:19:21 -0700 (PDT)
Date: Wed, 24 Aug 2022 14:49:18 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, alex.bennee@linaro.org,
	xen-devel@lists.xen.org, Stratos-dev@op-lists.linaro.org,
	mathieu.poirier@linaro.com, christopher.w.clark@gmail.com,
	boris.ostrovsky@oracle.com, gregkh@linuxfoundation.org,
	vincent.guittot@linaro.org, olekstysh@gmail.com
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
Message-ID: <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>

On 24-03-22, 06:12, Juergen Gross wrote:
> For a rather long time we were using "normal" user pages for this purpose,
> which were just locked into memory for doing the hypercall.
> 
> Unfortunately there have been very rare problems with that approach, as
> the Linux kernel can set a user page related PTE to invalid for short
> periods of time, which led to EFAULT in the hypervisor when trying to
> access the hypercall data.
> 
> In Linux this can avoided only by using kernel memory, which is the
> reason why the hypercall buffers are allocated and mmap()-ed through the
> privcmd driver.

Hi Juergen,

I understand why we moved from user pages to kernel pages, but I don't
fully understand why we need to make two separate calls to map the
guest memory, i.e. mmap() followed by ioctl(IOCTL_PRIVCMD_MMAPBATCH).

Why aren't we doing all of it from mmap() itself ? I hacked it up to
check on it and it works fine if we do it all from mmap() itself.

Aren't we abusing the Linux userspace ABI here ? As standard userspace
code would expect just mmap() to be enough to map the memory. Yes, the
current user, Xen itself, is adapted to make two calls, but it breaks
as soon as we want to use something that relies on Linux userspace
ABI.

For instance, in our case, where we are looking to create
hypervisor-agnostic virtio backends, the rust-vmm library [1] issues
mmap() only and expects it to work. It doesn't know it is running on a
Xen system, and it shouldn't know that as well.

Thanks.

-- 
viresh

[1] https://github.com/rust-vmm/vm-memory/blob/main/src/mmap_unix.rs#L170


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:27:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392312.630574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmfQ-0001M7-Dz; Wed, 24 Aug 2022 09:27:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392312.630574; Wed, 24 Aug 2022 09:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmfQ-0001M0-AS; Wed, 24 Aug 2022 09:27:20 +0000
Received: by outflank-mailman (input) for mailman id 392312;
 Wed, 24 Aug 2022 09:27:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQmfP-0001Lu-81
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 09:27:19 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1d978bc-238e-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 11:27:17 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2C80A2025A;
 Wed, 24 Aug 2022 09:27:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AF93513780;
 Wed, 24 Aug 2022 09:27:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2l1cKfTuBWOMAQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 09:27:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1d978bc-238e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661333237; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=NqorV2o3cAm6KW/WZYcuOig7YwnnMQJG6cFEbpXaXMw=;
	b=t9wKP7qowZUJIpUUCuhQ5gOB5EGh3hR3rqrWzATX6gpEP7+06Z3+9gk9Oj0brRXnk48y6p
	Zq88iUM50YQ+T2C62smh8Z5g5rFj0PTqsO/IYTsBW3s1ux7JJfD/NPoR/gRi8DmBU70H9X
	bVKtluqeCnDbIYf+lr7PWGXHXWglKlg=
Message-ID: <677b1763-7cd2-e867-9e28-db0779bb6785@suse.com>
Date: Wed, 24 Aug 2022 11:27:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v10 2/9] xen: do not free reserved memory into heap
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-3-Penny.Zheng@arm.com>
 <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
 <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------dWsQyMMwOfYb90F8g0l7pbKM"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dWsQyMMwOfYb90F8g0l7pbKM
Content-Type: multipart/mixed; boundary="------------cvaJCzThN0Q84027mmYizvrS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
Message-ID: <677b1763-7cd2-e867-9e28-db0779bb6785@suse.com>
Subject: Re: [PATCH v10 2/9] xen: do not free reserved memory into heap
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-3-Penny.Zheng@arm.com>
 <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
 <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
In-Reply-To: <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>

--------------cvaJCzThN0Q84027mmYizvrS
Content-Type: multipart/mixed; boundary="------------ENevu0fL4lNIIl3MdanTUFVl"

--------------ENevu0fL4lNIIl3MdanTUFVl
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTE6MDMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAxNi8wOC8yMDIyIDA3OjQwLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+IE9uIDE2LjA4LjIw
MjIgMDQ6MzYsIFBlbm55IFpoZW5nIHdyb3RlOg0KPj4+ICt2b2lkIGZyZWVfZG9tc3RhdGlj
X3BhZ2Uoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkNCj4+PiArew0KPj4+ICvCoMKgwqAgc3Ry
dWN0IGRvbWFpbiAqZCA9IHBhZ2VfZ2V0X293bmVyKHBhZ2UpOw0KPj4+ICvCoMKgwqAgYm9v
bCBkcm9wX2RvbV9yZWY7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgaWYgKCB1bmxpa2VseSghZCkg
KQ0KPj4+ICvCoMKgwqAgew0KPj4+ICvCoMKgwqDCoMKgwqDCoCBBU1NFUlRfVU5SRUFDSEFC
TEUoKTsNCj4+PiArwqDCoMKgwqDCoMKgwqAgcHJpbnRrKCJUaGUgYWJvdXQtdG8tZnJlZSBz
dGF0aWMgcGFnZSAlIlBSSV9tZm4iIG11c3QgYmUgb3duZWQgYnkgYSANCj4+PiBkb21haW5c
biIsDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWZuX3gocGFnZV90b19t
Zm4ocGFnZSkpKTsNCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPj4+ICvCoMKgwqAg
fQ0KPj4NCj4+IEZvciB0aGUgbWVzc2FnZSB0byBiZSB1c2VmdWwgYXMgYSBoaW50IGlmIHRo
ZSBhc3NlcnRpb24gdHJpZ2dlcnMsIGl0DQo+PiB3YW50cyBwcmludGluZyBhaGVhZCBvZiB0
aGUgYXNzZXJ0aW9uLiBJIGFsc28gdGhpbmsgaXQgd2FudHMgdG8gYmUgYQ0KPj4gWEVOTE9H
X0dfKiBraW5kIG9mIGxvZyBsZXZlbCwgc28gaXQgd291bGQgYmUgcmF0ZSBsaW1pdGVkIGJ5
IGRlZmF1bHQNCj4+IGluIHJlbGVhc2UgYnVpbGRzLiBKdXN0IHRvIGJlIG9uIHRoZSBzYWZl
IHNpZGUuDQo+IA0KPiArMQ0KPiANCj4+IChJJ20gbm90IGluIGZhdm9yIG9mDQo+PiB0aGUg
bG9nIG1lc3NhZ2UgaW4gdGhlIGZpcnN0IHBsYWNlLCBidXQgSSBkbyBrbm93IHRoYXQgSnVs
aWVuIGhhZA0KPj4gYXNrZWQgZm9yIG9uZS4pDQo+IFRCSCwgSSB0aGluayBhbGwgQVNTRVJU
X1VOUkVBQ0hBQkxFKCkgcGF0aHMgc2hvdWxkIGJlIGFjY29tcGFuaWVkIHdpdGggYSANCj4g
cHJpbnRrKCkuIFRoaXMgd291bGQgYWxzbyBhbGxvdyB1cyB0byBjYXRjaCBpc3N1ZSBpbiBw
cm9kdWN0aW9uIHJhdGhlciB0aGFuIGluIA0KPiBvbmx5IGluIGRlYnVnLg0KDQpXaGF0IGFi
b3V0IHNvbWV0aGluZyBsaWtlIHRoZSBmb2xsb3dpbmcgdGhlbj8NCg0KLS0tIGEveGVuL2lu
Y2x1ZGUveGVuL2xpYi5oDQorKysgYi94ZW4vaW5jbHVkZS94ZW4vbGliLmgNCkBAIC00MCw2
ICs0MCwxNiBAQA0KICAgICAgdW5saWtlbHkocmV0X3dhcm5fb25fKTsgICAgICAgICAgICAg
XA0KICB9KQ0KDQorI2RlZmluZSBXQVJOX09OQ0UoKSBkbyB7ICAgICAgICAgICAgICAgIFwN
CisgICAgc3RhdGljIGJvb2wgd2FybmVkID0gZmFsc2U7ICAgICAgICAgXA0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgIGlmICggIXdhcm5lZCAp
ICAgICAgICAgICAgICAgICAgICAgIFwNCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXA0KKyAgICAgICAgd2FybmVkID0gdHJ1ZTsgICAgICAgICAgICAgICAg
ICBcDQorICAgICAgICBXQVJOKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwNCisgICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KK30gd2hpbGUgKDApDQor
DQogIC8qIEFsbCBjbGFuZyB2ZXJzaW9ucyBzdXBwb3J0ZWQgYnkgWGVuIGhhdmUgX1N0YXRp
Y19hc3NlcnQuICovDQogICNpZiBkZWZpbmVkKF9fY2xhbmdfXykgfHwgXA0KICAgICAgKF9f
R05VQ19fID4gNCB8fCAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA+PSA2KSkN
CkBAIC02Myw3ICs3Myw3IEBADQogICNkZWZpbmUgQVNTRVJUX1VOUkVBQ0hBQkxFKCkgYXNz
ZXJ0X2ZhaWxlZCgidW5yZWFjaGFibGUiKQ0KICAjZWxzZQ0KICAjZGVmaW5lIEFTU0VSVChw
KSBkbyB7IGlmICggMCAmJiAocCkgKSB7fSB9IHdoaWxlICgwKQ0KLSNkZWZpbmUgQVNTRVJU
X1VOUkVBQ0hBQkxFKCkgZG8geyB9IHdoaWxlICgwKQ0KKyNkZWZpbmUgQVNTRVJUX1VOUkVB
Q0hBQkxFKCkgV0FSTl9PTkNFKCkNCiAgI2VuZGlmDQoNCiAgI2RlZmluZSBBQlMoX3gpICh7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KDQoNCkp1ZXJnZW4NCg==
--------------ENevu0fL4lNIIl3MdanTUFVl
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------ENevu0fL4lNIIl3MdanTUFVl--

--------------cvaJCzThN0Q84027mmYizvrS--

--------------dWsQyMMwOfYb90F8g0l7pbKM
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMF7vQFAwAAAAAACgkQsN6d1ii/Ey8t
+wf7BfS7/ntUMfo4rY0DaVElQsE8rZBxw0w2DubKqMg4ZFFicjhdBetJA3T5A52JBSvi7p4KQdXI
3/sBrg/fZfCSQegAE1EHpLZ3fsD7l3J7hyj2QVURnhIAccns6TjQiiGx/ohH6/62M6RQP8PrVcfm
lphnpWXvb/QQkY8iJg7iRDYqlsY/aUdFzuY6quzJtI3WJGUJm3z1iDmtPVsDebs3BLDMkap2iD1R
JhorGNj/LvT8k3a9UknWmrz0Xyu+bMQ7ezBoC59wUT8B4NUdiUPrng5uze9Z9MxNa9DxY4DvgsZP
rkJpY6KH+8qd4qyjc9ZVCf00fYw9eR4E8g2FNWnRfg==
=nG6J
-----END PGP SIGNATURE-----

--------------dWsQyMMwOfYb90F8g0l7pbKM--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:28:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:28:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392318.630585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmgG-0001v4-NX; Wed, 24 Aug 2022 09:28:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392318.630585; Wed, 24 Aug 2022 09:28:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmgG-0001ux-KQ; Wed, 24 Aug 2022 09:28:12 +0000
Received: by outflank-mailman (input) for mailman id 392318;
 Wed, 24 Aug 2022 09:28:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jsFi=Y4=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oQmgE-0001nJ-UU
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 09:28:11 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2067.outbound.protection.outlook.com [40.107.223.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1078390e-238f-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 11:28:09 +0200 (CEST)
Received: from DM6PR07CA0130.namprd07.prod.outlook.com (2603:10b6:5:330::22)
 by CH2PR12MB4119.namprd12.prod.outlook.com (2603:10b6:610:aa::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Wed, 24 Aug
 2022 09:28:06 +0000
Received: from DM6NAM11FT100.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:330:cafe::1a) by DM6PR07CA0130.outlook.office365.com
 (2603:10b6:5:330::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Wed, 24 Aug 2022 09:28:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT100.mail.protection.outlook.com (10.13.172.247) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 09:28:05 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 24 Aug
 2022 04:28:05 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 24 Aug
 2022 04:28:05 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Wed, 24 Aug 2022 04:28:03 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1078390e-238f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hmqpe5JdivjqHPwbA85Aen88JVRjxXs9QzFsa8lzSEn4cDFAqrGKvB7BrGF5cVdYQvD5BoiD4aG7AH802d+31Gr2FUDb8427B3ovOFC9ONBBPGeTyzwO5yAG8uvx2S2SqAXoMugfUfXudPU/LVhTHjUE1F4TgPgMSKsjxVZLBNSbOnnnJ1YLHqlzTHWYOHKVjqFQBwPYa+p2kyqDVmn0Jup0lup4EAYlBjrei62cJ5p1YWDW96bZLJBftWCOXuvR0BllqHyeTdsp+JtinmKcO/ykuo1oe4fEKQ+kmeynX70F4qRieoPICBJk55vn9xTUDIvW15A65ZdxBgriMhaZpA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IwrNcJmYDxM9OXJPJDeU2D+KtfWhHkER3BZrVbvjv2A=;
 b=RgBFIu6OQ/70cBIdWqzubvbzRlXbvV7Mhvx9S/xWGyFe+AflD7mH3eFaHpo3CsLVWiHiAlkEE5Nrt+uuuwtn+iySB3PZxqdrH+avA+xwr4vp59xyFRCGSF59BUfUyHo5XEv+4l2+arIe0oiY5ax4QMlnYmdNYcZVpclhvixlf9DGkT0zkRWQXoT4Wc2FRlWkg2pM/T15PuWTAUzwg2Qr1V9WVS88FqQ5HoWZoniylxqCTSEwaOKu4pCx6Z+4wHRoQRXn8p4sZ0jrvZ9WsGLI5Tiio+gUbMf7D92PBYJMaNyDO6eoxrMsOj6Oi3D7w5msluye3xb9A+uoFvg1CUojtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IwrNcJmYDxM9OXJPJDeU2D+KtfWhHkER3BZrVbvjv2A=;
 b=AcZV7CLUbTtMl1Bu5Mw8HYzEHrAX/AScwc9mZIqMmlARtz0PEKFCyJ/pDkfcGsVvAi+t2E0SxGZ78YTX+YTQmb2TsmPD6j4TfCBb0V+p5gKy2kRgs69gKUyEhblGy3mFkSz+9CpVARuNh3PYhWJCWoJcOCQEcA2x5CrMZOt92wU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <24ba49bb-66b5-a1e4-cef4-e30b438b3c04@amd.com>
Date: Wed, 24 Aug 2022 11:28:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Content-Language: en-US
To: Jens Wiklander <jens.wiklander@linaro.org>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	<Bertrand.Marquis@arm.com>, Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v5 3/9] xen/arm: add a primitive FF-A mediator
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 06021927-f0e5-48ac-afef-08da85b2f365
X-MS-TrafficTypeDiagnostic: CH2PR12MB4119:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pvyjcaR2tXTh3HkrAQYkxsF+mR6zrYv0YKxoFOf2n1HxB8viKSMJ7RPIgMb7hRZL1Ln89/3ToAhRHU7mcrJ+2WxxqbDw6fclnZRXItxZb0doLfAat4v3A9HGCxeHgaG+KN0mLC9LsJkS+Hayx9HZDH6mYlMCfhE7d7rk93eXvkN0uLKj1Rvq+L1YDteH38EE6zWybm1hRFe2RIbkK5t75l6h/OFNpPVxVJ8OvkcUcDeISdeZupAvkqQe+gcRCSaNbwkmSwYogDD2PWeXzvSYQReCBIAyM3Pb7wSj9xpxR8A/mTXu6Qikl20shQ5KJwFGrRI72Msi915r7LnN5tn4N/om4Rjs0ULiCpCbtnd/80Nz9mfaQG1Jq+NyGpnf2LYUyMms5oxG4ZwRtKj9kuqmmCYEb50HBTLuUyGcwuTtb3hUClQc+4yUbgD/Cn/rq2jdnGt20fykkc21w/PquLKX14uvdtPWOFYlzWg4gOoIxsz0NLbr6J/RJvld2vxR+BNue+jr7f2dBVY0vaL8O5TRyqRg6+Tul+r2TA/lKE2Qbch4nIFiNmDM2zBwAxVJg19pPs+O6by19mBso89C4LZGsVGIIbfdRrI8smsIbiGNRal6QirwLTeA4tLvM4GIZuQ92H1Tjq76qAFhV1qZ9WAkhYV7NMZaMdXf9lZ4kt69kQooceIFl0MXaNqg5qlBAuEUTVqX4rlpWnPfhwHb1WUIkUHLh2AyyuO9GOprC1MxDPZ00i8tDf7y2idPJojwkPL9zwGwoOqJNoqCCR7wbOIE/YJlW4/dYZKZsDs6zD5cYX1avy2KpZd9HhRvkKU5GSahIGtRVnJjFfgE7vvasN0XArpaJ+MR0mSPtgZjquF4qXY=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(39860400002)(346002)(136003)(36840700001)(40470700004)(46966006)(5660300002)(2906002)(53546011)(478600001)(82310400005)(86362001)(336012)(26005)(36860700001)(966005)(31696002)(41300700001)(356005)(8936002)(426003)(186003)(44832011)(47076005)(83380400001)(82740400003)(2616005)(316002)(16576012)(40460700003)(8676002)(4326008)(36756003)(70206006)(70586007)(54906003)(110136005)(31686004)(81166007)(40480700001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 09:28:05.9453
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 06021927-f0e5-48ac-afef-08da85b2f365
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT100.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4119

Hi Jens,

On 18/08/2022 12:55, Jens Wiklander wrote:
> Adds a FF-A version 1.1 [1] mediator to communicate with a Secure
> Partition in secure world.
> 
> This commit brings in only the parts needed to negotiate FF-A version
> number with guest and SPMC.
> 
> A guest configuration variable "ffa_enabled" is used to indicate if a guest
> is trusted to use FF-A.
> 
> This is loosely based on the TEE mediator framework and the OP-TEE
> mediator.
> 
> [1] https://developer.arm.com/documentation/den0077/latest
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
>  SUPPORT.md                        |   7 +
>  docs/man/xl.cfg.5.pod.in          |  15 ++
>  tools/include/libxl.h             |   6 +
>  tools/libs/light/libxl_arm.c      |   3 +
>  tools/libs/light/libxl_types.idl  |   1 +
>  tools/xl/xl_parse.c               |   3 +
>  xen/arch/arm/Kconfig              |  11 +
>  xen/arch/arm/Makefile             |   1 +
>  xen/arch/arm/domain.c             |  10 +
>  xen/arch/arm/domain_build.c       |   1 +
>  xen/arch/arm/ffa.c                | 354 ++++++++++++++++++++++++++++++
>  xen/arch/arm/include/asm/domain.h |   4 +
>  xen/arch/arm/include/asm/ffa.h    |  71 ++++++
>  xen/arch/arm/vsmc.c               |  17 +-
>  xen/include/public/arch-arm.h     |   2 +
>  15 files changed, 503 insertions(+), 3 deletions(-)
>  create mode 100644 xen/arch/arm/ffa.c
>  create mode 100644 xen/arch/arm/include/asm/ffa.h
> 
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 70e98964cbc0..215bb3c9043b 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -785,6 +785,13 @@ that covers the DMA of the device to be passed through.
>  
>  No support for QEMU backends in a 16K or 64K domain.
>  
> +### ARM: Firmware Framework for Arm A-profile (FF-A) Mediator
> +
> +    Status, Arm64: Tech Preview
> +
> +There are still some code paths where a vCPU may hog a pCPU longer than
> +necessary. The FF-A mediator is not yet implemented for Arm32.
> +
>  ### ARM: Guest Device Tree support
>  
>      Status: Supported
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index b98d1613987e..234c036aecb1 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -1616,6 +1616,21 @@ This feature is a B<technology preview>.
>  
>  =back
>  
> +=item B<ffa_enabled=BOOLEAN>
Looking at other config options, we usually have <feature>=BOOLEAN (without _enabled), so
I would just stick to "ffa". This would require changes in other places accordingly.

> +
> +B<Arm only.> Allow a guest to communicate via FF-A with Secure Partitions
> +(SP), default false.
> +
> +Currently is only a small subset of the FF-A specification supported. Just
Should be:
"Currently only a small subset of the FF-A specification is supported"

> +enough to communicate with OP-TEE. In general all the basic things and
"basic things" sounds a bit ambiguous.

> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index 2a42da2f7d78..bf4544bef399 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -646,6 +646,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
Applying this patch results in a failure here so you need to rebase it on top of latest status.

Also, FWICS (can be checked by the toolstack maintainers) you are missing the required
changes in:
 - tools/golang/xenlight/helpers.gen.go
 - tools/golang/xenlight/types.gen.go
 - tools/ocaml/libs/xc/xenctrl.ml
 - tools/ocaml/libs/xc/xenctrl.mli

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:31:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:31:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392325.630596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmjm-0003QT-Cb; Wed, 24 Aug 2022 09:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392325.630596; Wed, 24 Aug 2022 09:31:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmjm-0003QM-9Z; Wed, 24 Aug 2022 09:31:50 +0000
Received: by outflank-mailman (input) for mailman id 392325;
 Wed, 24 Aug 2022 09:31:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQmjl-0003QG-QU
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 09:31:49 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQmjh-0000jF-1L; Wed, 24 Aug 2022 09:31:45 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQmjg-0001DA-QU; Wed, 24 Aug 2022 09:31:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=URDNVEULvuO8FVqb8qmpd+UDlBSg5udN1317EIL/nVw=; b=T1qKc3IhKr6R+4b/LB1kD1iMSw
	+vMYXDR/cnFbk7ffozTcX+mTVkiKwgc00xGAu/eSZQEosy93ImSpN1nnpNVwWhkmZ8l1jL7LpWlcx
	3IBR/iBCTaN8jSG868r3XKnYCc+++iDy79A7Av+06WGKJQ3FSPkCLax67g3Q7BdWQWK0=;
Message-ID: <bea39396-43ba-9d21-7ada-00dd70614fd2@xen.org>
Date: Wed, 24 Aug 2022 10:31:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v10 2/9] xen: do not free reserved memory into heap
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
 Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-3-Penny.Zheng@arm.com>
 <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
 <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
 <677b1763-7cd2-e867-9e28-db0779bb6785@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <677b1763-7cd2-e867-9e28-db0779bb6785@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 24/08/2022 10:27, Juergen Gross wrote:
> On 24.08.22 11:03, Julien Grall wrote:
>> Hi,
>>
>> On 16/08/2022 07:40, Jan Beulich wrote:
>>> On 16.08.2022 04:36, Penny Zheng wrote:
>>>> +void free_domstatic_page(struct page_info *page)
>>>> +{
>>>> +Â Â Â  struct domain *d = page_get_owner(page);
>>>> +Â Â Â  bool drop_dom_ref;
>>>> +
>>>> +Â Â Â  if ( unlikely(!d) )
>>>> +Â Â Â  {
>>>> +Â Â Â Â Â Â Â  ASSERT_UNREACHABLE();
>>>> +Â Â Â Â Â Â Â  printk("The about-to-free static page %"PRI_mfn" must be 
>>>> owned by a domain\n",
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â  mfn_x(page_to_mfn(page)));
>>>> +Â Â Â Â Â Â Â  return;
>>>> +Â Â Â  }
>>>
>>> For the message to be useful as a hint if the assertion triggers, it
>>> wants printing ahead of the assertion. I also think it wants to be a
>>> XENLOG_G_* kind of log level, so it would be rate limited by default
>>> in release builds. Just to be on the safe side.
>>
>> +1
>>
>>> (I'm not in favor of
>>> the log message in the first place, but I do know that Julien had
>>> asked for one.)
>> TBH, I think all ASSERT_UNREACHABLE() paths should be accompanied with 
>> a printk(). This would also allow us to catch issue in production 
>> rather than in only in debug.
> 
> What about something like the following then?

That could be a first step. I still think a message like Penny has added 
in the patch is useful.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:38:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:38:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392331.630608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmpz-00045Y-4m; Wed, 24 Aug 2022 09:38:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392331.630608; Wed, 24 Aug 2022 09:38:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmpz-00045R-0A; Wed, 24 Aug 2022 09:38:15 +0000
Received: by outflank-mailman (input) for mailman id 392331;
 Wed, 24 Aug 2022 09:38:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQmpy-00045L-2R
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 09:38:14 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 789acd2e-2390-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 11:38:13 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 31F6F202A0;
 Wed, 24 Aug 2022 09:38:12 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B14E013AC0;
 Wed, 24 Aug 2022 09:38:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rbeJKYPxBWMzBgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 09:38:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 789acd2e-2390-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661333892; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=3g9xe+nMq5l74oQ4YrNdfkOkdaaNgceVbt4sMbG8vTI=;
	b=p1r35KLdNHaP7AVlCBge8M0nl/dcS5Rb30GmmvKsauREXFXGSnFGIZUOSKO8oMBx1hS1uE
	gHdsWV5CFC+ZRTX9K3jYO8/86xNeNfW/LB05IhVowszZzx1XEyTPSBelNITv8Z0fNyQY5D
	UdzaHSegF8GrmZcUGpaytXwF85rCFaY=
Message-ID: <fe3d72a7-7e85-1d53-df63-9315c38d63c5@suse.com>
Date: Wed, 24 Aug 2022 11:38:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v10 2/9] xen: do not free reserved memory into heap
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-3-Penny.Zheng@arm.com>
 <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
 <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
 <677b1763-7cd2-e867-9e28-db0779bb6785@suse.com>
 <bea39396-43ba-9d21-7ada-00dd70614fd2@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <bea39396-43ba-9d21-7ada-00dd70614fd2@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------sQkrZ96pLJlrKFp0xUORJY6D"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------sQkrZ96pLJlrKFp0xUORJY6D
Content-Type: multipart/mixed; boundary="------------RuZXevF4PVlAU0fNrsMwEkmr";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
Message-ID: <fe3d72a7-7e85-1d53-df63-9315c38d63c5@suse.com>
Subject: Re: [PATCH v10 2/9] xen: do not free reserved memory into heap
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-3-Penny.Zheng@arm.com>
 <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
 <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
 <677b1763-7cd2-e867-9e28-db0779bb6785@suse.com>
 <bea39396-43ba-9d21-7ada-00dd70614fd2@xen.org>
In-Reply-To: <bea39396-43ba-9d21-7ada-00dd70614fd2@xen.org>

--------------RuZXevF4PVlAU0fNrsMwEkmr
Content-Type: multipart/mixed; boundary="------------kBW3ES9X6zMf9BY0avKI05x0"

--------------kBW3ES9X6zMf9BY0avKI05x0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTE6MzEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDI0LzA4LzIwMjIgMTA6MjcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAyNC4wOC4yMiAxMTowMywgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpLA0KPj4+DQo+
Pj4gT24gMTYvMDgvMjAyMiAwNzo0MCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4+IE9uIDE2
LjA4LjIwMjIgMDQ6MzYsIFBlbm55IFpoZW5nIHdyb3RlOg0KPj4+Pj4gK3ZvaWQgZnJlZV9k
b21zdGF0aWNfcGFnZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQ0KPj4+Pj4gK3sNCj4+Pj4+
ICvCoMKgwqAgc3RydWN0IGRvbWFpbiAqZCA9IHBhZ2VfZ2V0X293bmVyKHBhZ2UpOw0KPj4+
Pj4gK8KgwqDCoCBib29sIGRyb3BfZG9tX3JlZjsNCj4+Pj4+ICsNCj4+Pj4+ICvCoMKgwqAg
aWYgKCB1bmxpa2VseSghZCkgKQ0KPj4+Pj4gK8KgwqDCoCB7DQo+Pj4+PiArwqDCoMKgwqDC
oMKgwqAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7DQo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcHJp
bnRrKCJUaGUgYWJvdXQtdG8tZnJlZSBzdGF0aWMgcGFnZSAlIlBSSV9tZm4iIG11c3QgYmUg
b3duZWQgYnkgDQo+Pj4+PiBhIGRvbWFpblxuIiwNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIG1mbl94KHBhZ2VfdG9fbWZuKHBhZ2UpKSk7DQo+Pj4+PiArwqDCoMKg
wqDCoMKgwqAgcmV0dXJuOw0KPj4+Pj4gK8KgwqDCoCB9DQo+Pj4+DQo+Pj4+IEZvciB0aGUg
bWVzc2FnZSB0byBiZSB1c2VmdWwgYXMgYSBoaW50IGlmIHRoZSBhc3NlcnRpb24gdHJpZ2dl
cnMsIGl0DQo+Pj4+IHdhbnRzIHByaW50aW5nIGFoZWFkIG9mIHRoZSBhc3NlcnRpb24uIEkg
YWxzbyB0aGluayBpdCB3YW50cyB0byBiZSBhDQo+Pj4+IFhFTkxPR19HXyoga2luZCBvZiBs
b2cgbGV2ZWwsIHNvIGl0IHdvdWxkIGJlIHJhdGUgbGltaXRlZCBieSBkZWZhdWx0DQo+Pj4+
IGluIHJlbGVhc2UgYnVpbGRzLiBKdXN0IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuDQo+Pj4N
Cj4+PiArMQ0KPj4+DQo+Pj4+IChJJ20gbm90IGluIGZhdm9yIG9mDQo+Pj4+IHRoZSBsb2cg
bWVzc2FnZSBpbiB0aGUgZmlyc3QgcGxhY2UsIGJ1dCBJIGRvIGtub3cgdGhhdCBKdWxpZW4g
aGFkDQo+Pj4+IGFza2VkIGZvciBvbmUuKQ0KPj4+IFRCSCwgSSB0aGluayBhbGwgQVNTRVJU
X1VOUkVBQ0hBQkxFKCkgcGF0aHMgc2hvdWxkIGJlIGFjY29tcGFuaWVkIHdpdGggYSANCj4+
PiBwcmludGsoKS4gVGhpcyB3b3VsZCBhbHNvIGFsbG93IHVzIHRvIGNhdGNoIGlzc3VlIGlu
IHByb2R1Y3Rpb24gcmF0aGVyIHRoYW4gDQo+Pj4gaW4gb25seSBpbiBkZWJ1Zy4NCj4+DQo+
PiBXaGF0IGFib3V0IHNvbWV0aGluZyBsaWtlIHRoZSBmb2xsb3dpbmcgdGhlbj8NCj4gDQo+
IFRoYXQgY291bGQgYmUgYSBmaXJzdCBzdGVwLiBJIHN0aWxsIHRoaW5rIGEgbWVzc2FnZSBs
aWtlIFBlbm55IGhhcyBhZGRlZCBpbiB0aGUgDQo+IHBhdGNoIGlzIHVzZWZ1bC4NCg0KQXMg
dGhlIFdBUk4oKSB3b3VsZCBzcGl0IG91dCBmaWxlIGFuZCBsaW5lLCBhIGNvbW1lbnQgbWln
aHQgYmUgZW5vdWdoLg0KDQpJbiB0aGUgZW5kIHRoYXQgaXMgc29tZXRoaW5nIHRoZSBtYWlu
dGFpbmVyIG9mIHRoZSByZWxhdGVkIGNvZGUgc2hvdWxkIGRlY2lkZS4NCg0KDQpKdWVyZ2Vu
DQo=
--------------kBW3ES9X6zMf9BY0avKI05x0
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------kBW3ES9X6zMf9BY0avKI05x0--

--------------RuZXevF4PVlAU0fNrsMwEkmr--

--------------sQkrZ96pLJlrKFp0xUORJY6D
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMF8YMFAwAAAAAACgkQsN6d1ii/Ey+o
3ggAhIGxxItPgxfkOjp9rOXCAO1DXWPM0/NyeHEXL6mdldbnORA/Z3Dd4IwXS6JbyKEkYeWbNEMk
PUOgzdRw0lIwOvNAxr4tW+7rJWVEwcSW/m6nAskvFCTtUTvTroA1XIECx8Ob7SRZl1uimMWYtU4A
j02bfSJz32IWFs9etO/jgtwj37fqxwRzszSJTbMJ7kkH86GjMK9JEgRp71GjFcVlWUpGFEflN9Fn
tPn5qu65qDx8H1Ry5jcLeFbz1ysyTebEcq3j2xH5J2TZ2isLMsPUzOfohSZb7pxRChh3aY2n/F/P
cPzMakquU67Wkp61X1e9BIx1RW6bTMqQ0ekV3pCVTg==
=6jZF
-----END PGP SIGNATURE-----

--------------sQkrZ96pLJlrKFp0xUORJY6D--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:44:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392337.630618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmwD-0005VZ-Rq; Wed, 24 Aug 2022 09:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392337.630618; Wed, 24 Aug 2022 09:44:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQmwD-0005VS-O4; Wed, 24 Aug 2022 09:44:41 +0000
Received: by outflank-mailman (input) for mailman id 392337;
 Wed, 24 Aug 2022 09:44:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQmwB-0005VM-RW
 for xen-devel@lists.xen.org; Wed, 24 Aug 2022 09:44:40 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cbcccbe-2391-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 11:44:37 +0200 (CEST)
Received: from mail-co1nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2022 05:44:33 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5369.namprd03.prod.outlook.com (2603:10b6:5:22b::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Wed, 24 Aug
 2022 09:44:31 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 09:44:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cbcccbe-2391-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661334277;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=kwbnY7ykDoyYsdByUWKkkankSyCOY4YGz+mW9LrjSwU=;
  b=OHtROl3bz0njcgAsRzx0MzFxVyAOoZklk9ZOH2o9uUSRsXsmmXB3+lOw
   ugrtBBDotsRsqzG4Vt6VDo2hoo9gEvSf5rKxT/l4QGmGsSIIynOPfHOzO
   OjWDlt7LLLMojLFUl+X7n6fG6q4JQ7V3BCg2wSGCulcs4p3ACyGqhPIwl
   c=;
X-IronPort-RemoteIP: 104.47.56.169
X-IronPort-MID: 78797272
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3A523pXKugh+VbnmtPQHT8wbKjAOfnOphVZkbc3?=
 =?us-ascii?q?cifNrXeuWXxXwvKv0XisSsq3Mm8OoGr1iCbPhvvLs5IgMKsczub7p1jDyG6W?=
 =?us-ascii?q?RXHpZgm8DeMTj8RQzKCDm8/0Oi1lX8DQW8eGMzZDMzyZTbtFikXqvUwKTCmG?=
 =?us-ascii?q?z/sfAgDUKlGl+WDhaQAD3LtuGdVdCmdqTiaXHOulgVdVa8LxE6s7ad6l+9S7?=
 =?us-ascii?q?IY2b2DGH+kJzw6e7Nd98uqBTAwe6+3NSq6kvUTDU4uDdlsCJRjJvWK4c2N64?=
 =?us-ascii?q?7gfwwKTrSJiYrEmSAaZVRznkjHuT8rOxo4fpx7gh6zU/aK3WPOl6BkYu2SVM?=
 =?us-ascii?q?dlMu2SsqwkWqjO2wWTOCAklNj8HyRe9x2J0WQuKkZ1+63ebyLY58X/8t2elp?=
 =?us-ascii?q?Fqj5rGDNNP4+8tHUS0SI58wqGvd+qUIiomxufrOGyo+ITs/mZxd3RmNqCL8s?=
 =?us-ascii?q?soEnfyFI1Z0Bbs2x+42lvnPaTCrGiZcccfjwnV1oGXG/YpOu1QMQ/ZhosZxt?=
 =?us-ascii?q?RrBU5qrGFh86aADrhP/pXkUM7u/JjOMIN6aG4DFngBC9Qx7eEbGCLNWmlhbS?=
 =?us-ascii?q?0S8IqzSnPyknaxKsGRbYQ3Me7g5ZvjGX+gPugBm83YQ2YvHa7EIuvEY3mvaW?=
 =?us-ascii?q?Xat6frpvVdp0BtLHZxb8d66KnRRjFbAu0+u9SOCJj9nO+5NMeojv8i3DrGLu?=
 =?us-ascii?q?mcB/NAx6I7HAcXNZZ8Qz30Dl+7GZv8WyRI/onTf0zPVQYCdYglslp8snsY6q?=
 =?us-ascii?q?lG0SX8C3krgyaBivuQpmO6lvUV57CIGcrbzi782OTwoSXs6IbHgNpBRaJKZC?=
 =?us-ascii?q?/uv2JJoE0XyWvGwaM+qA14x9gxJ381Y6f94eEGu+P2tiZpJ54oIYtJfZGuWV?=
 =?us-ascii?q?SiLVR8iX+2Uhd/bYriOyz7BCTVvLb7KplyGI+/lnyufxKbfkDrGB/C9TFzhw?=
 =?us-ascii?q?gdGdHW/9mbRmtIzQAU4oGyG+AISh71FxdQyGr8apfUlecyxG8AiLU4PaNXVS?=
 =?us-ascii?q?gfpWa1TeD1NiGYmS22vfbYwUvuPW+Z9EaEMZB8QPWhVPjxapF3QKTuoquKYW?=
 =?us-ascii?q?1EmVh2UwLx/CFvhy727Ha/kIB5rwPbxonagNSTJqrCH7EiHVOw5i+a019shR?=
 =?us-ascii?q?T4DhVaByF5PN502r7sdfs1RnWktpKFDUnuNZ2zbybdpVRPfEFiYDBhgBN7ki?=
 =?us-ascii?q?4v5LDg0ZgL85FeX70UqmvwHKpisMCY7rMVjzhB+kBahsQbjjEa51nJ+ILZNn?=
 =?us-ascii?q?/9zlRnV5KUPQHQJYIXKSsTtqYSsfMhkpSVuHgCX1WWmP8T4f/k8n5RJ8h5ZJ?=
 =?us-ascii?q?ZQ38BkT2W84upTj+UPf+/xc8D9jkZ+4Ga4NBLp1XFPZyZ8pYUEwuJNaiVNxM?=
 =?us-ascii?q?4t5W1rZoGNjtsozZaCX87xMHOpHxfNusjaE49nZBNXiUS8SyOekHKceOPkEg?=
 =?us-ascii?q?dJjOkjEo2i5hAGqrngcDdPC6V+oiD5jADGaPzlXJ59J1o50grGEQMVJNpNlk?=
 =?us-ascii?q?TOpazJf0SFu3Yjn0P8HoW+xbiW60lQBjGvLO4D+QPIdNe5XrZAlMIvK9KUlB?=
 =?us-ascii?q?EbpoASkroJYyr9CuzR0vXg0hp+ow0uWMCrtxfRowPXp7PS4l91+AHfVqkFm3?=
 =?us-ascii?q?taoaVF9jN+dEGEl5wBttQcikuK106Z3JMbUL4X31hp927IrNp1JjvU+pNGVu?=
 =?us-ascii?q?wOAVakdfcPMF/sORnXWjeMN7MDUquufy9s24HhhwgbdkXyw+LdIrGx+Z5ODV?=
 =?us-ascii?q?SkOjKdzZf9waFmUAL2S4JFhXf0tIY/SAMgXXYlfhhCgtsp/u4mmZUvMDiE56?=
 =?us-ascii?q?F5IbLL1VPdnOSUW+8UeTvfCHLdSHEKQyeFQp7qMX6E2qA2zpo42ImufVRs0P?=
 =?us-ascii?q?MUZTml1crXz+6JFlk8qK4/pxo1Mi50Uqs1s1BBJeeuMwxumsWTTscI1VMBfv?=
 =?us-ascii?q?bdor/iFeO7GOJt89zCm4FBoGgQlbF7NRoWhQ/2sRIoVkKZlYjJJNTOLACWnY?=
 =?us-ascii?q?K2bMmUvU+z1K/f6J/d9yZ0HKWdteP9i5dv12tTE53/229EZHqtJFD9tDDE6O?=
 =?us-ascii?q?8djwS846o+cbqdTWPJr2PNv6kdEcFa44D+n/CEyCOVv86fpnObFQjQ9YpYhI?=
 =?us-ascii?q?wtTX+ULGXz7otL98t2gRVzh+PF7faoBgFKPGtfaI/xGrBAmfdZ0OlrqYgqen?=
 =?us-ascii?q?ApBZWEqSBmrFtB686O8OP964Qz93z7HWaJ/2TXmKGoU3jctFazNDh0rewzbx?=
 =?us-ascii?q?CRXOwG3MCzZJz53aB8ZlnVO4i/oIEFj6GZe/o2QH+GbSBhghDMXI7w5EzPv8?=
 =?us-ascii?q?KsJcPbF8/5SAe+rrHefIUGfk7Jri5kKLBpbZIei8Z3XJ4tCmsk8FzjcmEhz7?=
 =?us-ascii?q?xo0E7PnsW6g206zpOTdVCgdF3e28caQoIq2xmBNmgCzfA9/g4Cbj8LmWffGN?=
 =?us-ascii?q?CRVvIYUhzNqIgbVkZT6ytvl5iZUmovhjGsIhwEUfRhHB9aEYeziASY+yZBd1?=
 =?us-ascii?q?iI66moTf3R6KERDWZLtExvvv6usrzPjL8F8oLNPg9ynDX9Y+XXFLCxubUd2a?=
 =?us-ascii?q?ZzgkeKocO2g9R8x4Q7Hr3i8yY+SN3F3F3TiIUCWQpMBWstSpGGRVCLey2iFY?=
 =?us-ascii?q?ndPghYYhe5vYNLfcjbGOme14cH2WZ5aBhgIrDn877YOODIvxHGEwdM2OJePH?=
 =?us-ascii?q?oXkvOPZEv3Ln8fSboOCt3eDPgC5Q6iJMMMGUEIU3YXEQnSS8KBT9lPbi3QyG?=
 =?us-ascii?q?uCGwgwz0tYC+xv6ap6oITDEG7nQx0A25JkWWIb+wZ8vx6+3rwOf/5g4Hiv4X?=
 =?us-ascii?q?T+Y8tczhv+Uc4JE5PMaewpvEh9tucjcVegclNftLZNL9xfzuwULfL2L1ZrFn?=
 =?us-ascii?q?i+kJabaGPTEetYSpEH3zKOq0+tpPORfcoK7LzGtTDBYTxqTn1Hsgg8M91hvf?=
 =?us-ascii?q?IZvQcIb5HMboHR5b+Vd5g1+zuhOy8Gb58sw/38TrX77IGXi3+G3E9yny+QoZ?=
 =?us-ascii?q?pLfwk2pXczHBOeXYHHna0GlDwALAAddhm+xAJ11pP3OOAGxt31pnw45vjLEh?=
 =?us-ascii?q?Zl2apjCnixuQF9byfulF/wzk0Vd8nCC38HbmhyJOWTYM6znFQjgSaeiknI8M?=
 =?us-ascii?q?cjEzzaxkNPJkBasUmG8LS+1/KdUCb5+N8P0uFvoDbOMFNnraNPhnHRfdLc28?=
 =?us-ascii?q?hUC4Ly5Job67cy4LHWW?=
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="78797272"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FTSNRJ3VVrImgS/BzKbpLDtzS+ArxBRxbaAfSEbcMvakgPWkjqkzZ728JYGZ6981O1hAZg2gpjsPHlFdkKkitxmy5rx5pTIgXzwFGkKkMW6BMCz/JiuCQAVkNY3xUrqYA2QvTdeUHglgvmWLOI9QCm7bwZY0SC14SKNrk2djYehWyPu2Fx2oRfmp+wBE0PRsL0nz02e0FFikYWgH28YX8VRaP27rl2r2SNnKYW6e1y/rwGrYe4qB9AZl4BbRbJgkO+zbiDRIDzJrYt00yP4hZMYSUGI6MxMf+8x3TNMy7ITe3DfKbI1csPGAlLeqR3/Dj+O5bz/yzvMj7zgj+qDUEQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kwbnY7ykDoyYsdByUWKkkankSyCOY4YGz+mW9LrjSwU=;
 b=WQTvZhlQ0Hog3XssOahvTsN3lsJdkdWV22cs60NE0pWgFzmuvq7SASsGEB2tAn8Xe44xrr1Omm0SMwswtZMgnThE8Js4vGX2Lys+Ou9OaQpceZxLQ8jyaJaauNxO1XlgVKSJzrA6RlxKLmrVxPTUxYNHLdJIOkH6RW3d04gGhqA/bwPbMX0NP+p8d2JIW/HQGpykouRpRZQMw8STQoI+gCP+uLsbc8U1HIl16SHYNCDmFVYXMOcUZOwbyFUSGUBIuqpYIZNZ5Gea31Cx8sZMAmG+Nf+grXvnIhudZj8G1EnL+WE5THv7eiGoxpFsbhhJSf8yOaZjDli+6gmaz8pYBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kwbnY7ykDoyYsdByUWKkkankSyCOY4YGz+mW9LrjSwU=;
 b=CmJtFZZghgllxJ3aCmmXPi59cyPfyYn5JKheYADHoJUP2L3ozniQNZhhS4J4VBrjJKr6AprsaWCuMKUfYOGK5bd51NcZbY9cxk/K1m9uA6phg74dlV/lh90k6vuaG4CxQT0TWmTKeS2kSek2KAtpfq9lHrGpsIWnoUU61gZYHuE=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>, Juergen Gross <jgross@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "alex.bennee@linaro.org"
	<alex.bennee@linaro.org>, "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>, "Stratos-dev@op-lists.linaro.org"
	<Stratos-dev@op-lists.linaro.org>, "mathieu.poirier@linaro.com"
	<mathieu.poirier@linaro.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>, "boris.ostrovsky@oracle.com"
	<boris.ostrovsky@oracle.com>, "gregkh@linuxfoundation.org"
	<gregkh@linuxfoundation.org>, "vincent.guittot@linaro.org"
	<vincent.guittot@linaro.org>, "olekstysh@gmail.com" <olekstysh@gmail.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
Thread-Topic: Understanding osdep_xenforeignmemory_map mmap behaviour
Thread-Index: AQHYPyB2MlnPWsZzkUKnVxqi+u89/6zN/SaAgPC5xQCAAAcKAA==
Date: Wed, 24 Aug 2022 09:44:30 +0000
Message-ID: <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com>
References:
 <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
In-Reply-To: <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: cf8a38b0-0d27-436a-a2fc-08da85b53e72
x-ms-traffictypediagnostic: DM6PR03MB5369:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Jo9nIun5HHk7jer8gcU+6raXxYsq/z7/gdWN4RiZhftrWsTmaDty4UNHkNjJ7mfcrB471b8NKJVpH3DwF1ogoqmhx58/7qsMq0dPPmmAYT5YnI6Yqg5ox4T2nqRuLGX4a5jnXb6c6ncB9m2IBSLMRG/T/bu6o6L32Nwv+rqAvMqt+RV/c7eOQ4dMmKnY9M/NZkVuVv85jCw40KHJfXXsHqbrzwaRLFefAYIuPUiU/RN4DV+fyqgjlQxhHBi7kWOS/la3+gQvdnMK41naU4vwo0pDlD/QRii1RzKRNojGcaS76ZmpZju3jpHTS0jqmCRI74Sxmn++n/7F+HTiJ2emdHiixfSOZTOKKuBzzLRlhDhQn4a6d5Jdc5arFg5ievrnhJAILbYE751QgmYVzXIdj9Tvok2yYn0mt86BM3IbJnc4+b88yVc1j8Cb9zzdJ6s7Gs0d3+RyJ7QcqPIcw1Y0bJIXvRjNJyPeLXuyMzrMqBFoMq2aR1awjRzyxZ4Tk4ZvVKxMyQFeANtYqSqcIWZ5CApRrrFSS+nJmVk0GJtjpo2o2wHVuSbMdH31Y75HjEoaTmQQuzP30v/xn2Doqa08dkRU5cBhIYor+LJxK6q3peLry1yzPbrH6YzQbEsn72TWI7KoYPPsIrcO+GY9FqFV8i1e4j+TZoOIHHtG5TKiQLCe9xf23kEXkihlVH9scKBeeWXa7hnlrm65Dw17X46JMIidYWTvuW75q9wh90QuvsPKvANLZjmMeyICyToU7bIUdTNpk1ElD6jGMjs9KsNVL3KFIyy9CnsomEkUY9LbNzajScLEEAA+ZLTHdlwPduU5Mr+z6o2sHI7/sxpEwetn5w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(346002)(396003)(39860400002)(366004)(66556008)(86362001)(8676002)(38100700002)(64756008)(66476007)(31696002)(31686004)(110136005)(66946007)(66446008)(76116006)(54906003)(91956017)(4326008)(36756003)(38070700005)(82960400001)(122000001)(83380400001)(186003)(26005)(71200400001)(6512007)(41300700001)(478600001)(8936002)(6486002)(6506007)(7416002)(5660300002)(316002)(2906002)(53546011)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dlA4MVhhTVpmQnUvVFg4M1ptUldZYmZLbmNqc0NyZHVhOXo3R1dhZDlqZjJ3?=
 =?utf-8?B?QjVwZnlkeG1sNXBLOFcwSzE2MnpjUlZWQXFpeFN1dkVIb3c4UWJHT05VckRP?=
 =?utf-8?B?MXVjOUxPb215d1BVc3d3aUp2UGFoZXJNVlV3VGNCZW1teW94dWJpMStlVzBo?=
 =?utf-8?B?cWFUY25VdkpkcXozQSt3RDkxS083SnE1Sk9VN3RxbXBveTJkTXFaSjFZWmlF?=
 =?utf-8?B?Z3dTOVRPZHl1M3J4blR6RG9JTjBCaGpSSkl4ZGd0UDIvZStZRWQyTzRHUWdm?=
 =?utf-8?B?cnlnakhtVGFMcmdhdjNZTEJjTWNxTUpjWmxFWWUwa0hpN1hSeTJud01ET1Fh?=
 =?utf-8?B?VnZjY1h0dTROcmZWVTFWeXpFNVR0Tk5yRUNIMTNLWGxsL1NuNDJmSWtmcmhr?=
 =?utf-8?B?MWh1U2NwL0NNckQ2Y3JlV3VWK1V5WklKOW5QWmJpa1ppYjByWHpzR3BGcWkz?=
 =?utf-8?B?NGdIU1hSSi9Gek9vSElMOXp5WVFOZG9kcXF0MFRzUzhRSHdMdy9Ucnpzc25u?=
 =?utf-8?B?SFAwZngxYkNrU2lCdVpBNittV0Jtb25TcXEvekY2ZHh4NXNKSmJKK01sQytW?=
 =?utf-8?B?aVcrTVArMExBdDJ2cWx3QldXSFhLMlNsRWhEQklUUnpJdm1jT3kwYzR6ZFlx?=
 =?utf-8?B?Z0Jza0dIK3BUTHNjWW15WTJSTlB1eWlVU1dqcmlRZXRWMGJxL2diYjFrbjlY?=
 =?utf-8?B?bUMvSStJWTl3S3l2Wmc4ZVdqTUJ3cG9maEtGNHJRTGFOUEtvYzMraDFxenRE?=
 =?utf-8?B?S0ZDcWZmWXpsMFJoSDZKN2Y0WmVkRlRRazZ3VW8zUVgxbG5zQlJsUmVGOUpr?=
 =?utf-8?B?N1lqS1QwNGlWM0VtV2RZdS9udjd0bFNqcVRhVExOSmpidUVIZkZNTWVJNlBV?=
 =?utf-8?B?MTVHcmdDZERsNi9DSmdGcmpvY3hLWFVRZm1ZTXJubHRjN1Z6NENKcFJhcGFa?=
 =?utf-8?B?aHpJMVhMNEI1UmtQSjQ0RHl5b2VRYk9SRXM2MUtlREtLeU5xTWI4Z2JsaTFy?=
 =?utf-8?B?QkpHMHk5djlEYVBDL3JyRWdKQlNMU25GaGNKY24reUJMTWk4YzFVbmJYZjFN?=
 =?utf-8?B?NFFHSnFjcm56Y01WNW52MUFkbXAyZHdEL09KTUxrNjlIZUtyR0h2RmNxdDU2?=
 =?utf-8?B?bEhsdVJsdVIyZWMvT1daWURzdzZaOTBBZWdrYllwZ0Fid2NXMUprMUN3ZFZz?=
 =?utf-8?B?K09qMnYwTVZxUEhpQktqTW9kNG5OeXVVYXdJWWt4WUh3QXdIUFlTRFA2dUI4?=
 =?utf-8?B?aGRsQTYySzBPbTlQOWJGL0JndEFNQlRTbG9hV0VMaDdyc28vTTFSaUhDOVJt?=
 =?utf-8?B?a1Q2Wkg2RFZwS2FkNjgvZmNpd3dUTERUZlFVb0VQdy83NlVyQmN6S2RGMW16?=
 =?utf-8?B?eGJYQUF1WWJ5dmtnVkVrR2k3YUY5UW9VTXFSazdJaC9zbVNaQ0ZpcjZGVUNl?=
 =?utf-8?B?ZC9iV0JPOE5MTEdQb2RiOXV3eVI2UFRDWVZRNm4rekxDdFJpc05Xbk94QUdj?=
 =?utf-8?B?WW1naytZbnJGUjZoQXIxbjlaL0N0d1pGL0hCSGxUdmZ4bCs3NFp4ZEZCcGtD?=
 =?utf-8?B?QWRmalhVeXZzZEZhOHgzVStBRmtpMVZobFR3UFIzcmp4WVNBSDJQS3ZkdEVE?=
 =?utf-8?B?R00wZ3YxVjNodUU2b3JrUWpZdXhGSmRiMGNhRENlZVk3UWxIdlpRUFBhYjYr?=
 =?utf-8?B?Vkx3SEFwVXdSQUpGSURRbUJyaXc1ZW5yYXRSaysrNFIyTkNhOXc2VnlHSHZl?=
 =?utf-8?B?TjRZeEF6ZFBhOGhiYTdNdnQvaHRuWlpQOGlFeHRPSjhwZ1c0N3dWUnJuc0ZH?=
 =?utf-8?B?cHMvZXl0YmFEenFQMStIREx1bElndjkwMkloNGcyeVpyRDdPL0Z5RWpPVldJ?=
 =?utf-8?B?L044OFlvVjA4RVRCYXgzUmlPU1BTaENadUdPK3JWaFNGV1BVT0JIdW9MTFEr?=
 =?utf-8?B?Z3FISXdxNVRPZnB3eEVrVTBkNjF6ZUhvMWM0djc3NTZjL2p5clRWT3Fmb3Nn?=
 =?utf-8?B?SkhyWE9jRVlvejN0bE1lNGx4NEpRVjByV2k1eDFsa2crVmUwOXh0WHV2NHF0?=
 =?utf-8?B?YkUyTVpvVkhydDRIcW1aZGdQdUdkYTV2OFhnV3VIVlltMkRGZUpnY2J2VEZv?=
 =?utf-8?Q?zHLewON7DqGd93HdpIb3CW6jE?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <74315D231B5698429328C3FFDDE01F9F@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf8a38b0-0d27-436a-a2fc-08da85b53e72
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2022 09:44:30.9465
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 83EdT6Swq4q2S5jI2Du9hfRCkPpLVNigjk7sH+fWebw2hlim7yWkU4Lj1Qy/qxMHxht41VvRVBD7PqCXtrobmtzF3ekk8vHhq43lo91o1IU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5369

T24gMjQvMDgvMjAyMiAxMDoxOSwgVmlyZXNoIEt1bWFyIHdyb3RlOg0KPiBPbiAyNC0wMy0yMiwg
MDY6MTIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBGb3IgYSByYXRoZXIgbG9uZyB0aW1lIHdl
IHdlcmUgdXNpbmcgIm5vcm1hbCIgdXNlciBwYWdlcyBmb3IgdGhpcyBwdXJwb3NlLA0KPj4gd2hp
Y2ggd2VyZSBqdXN0IGxvY2tlZCBpbnRvIG1lbW9yeSBmb3IgZG9pbmcgdGhlIGh5cGVyY2FsbC4N
Cj4+DQo+PiBVbmZvcnR1bmF0ZWx5IHRoZXJlIGhhdmUgYmVlbiB2ZXJ5IHJhcmUgcHJvYmxlbXMg
d2l0aCB0aGF0IGFwcHJvYWNoLCBhcw0KPj4gdGhlIExpbnV4IGtlcm5lbCBjYW4gc2V0IGEgdXNl
ciBwYWdlIHJlbGF0ZWQgUFRFIHRvIGludmFsaWQgZm9yIHNob3J0DQo+PiBwZXJpb2RzIG9mIHRp
bWUsIHdoaWNoIGxlZCB0byBFRkFVTFQgaW4gdGhlIGh5cGVydmlzb3Igd2hlbiB0cnlpbmcgdG8N
Cj4+IGFjY2VzcyB0aGUgaHlwZXJjYWxsIGRhdGEuDQo+Pg0KPj4gSW4gTGludXggdGhpcyBjYW4g
YXZvaWRlZCBvbmx5IGJ5IHVzaW5nIGtlcm5lbCBtZW1vcnksIHdoaWNoIGlzIHRoZQ0KPj4gcmVh
c29uIHdoeSB0aGUgaHlwZXJjYWxsIGJ1ZmZlcnMgYXJlIGFsbG9jYXRlZCBhbmQgbW1hcCgpLWVk
IHRocm91Z2ggdGhlDQo+PiBwcml2Y21kIGRyaXZlci4NCj4gSGkgSnVlcmdlbiwNCj4NCj4gSSB1
bmRlcnN0YW5kIHdoeSB3ZSBtb3ZlZCBmcm9tIHVzZXIgcGFnZXMgdG8ga2VybmVsIHBhZ2VzLCBi
dXQgSSBkb24ndA0KPiBmdWxseSB1bmRlcnN0YW5kIHdoeSB3ZSBuZWVkIHRvIG1ha2UgdHdvIHNl
cGFyYXRlIGNhbGxzIHRvIG1hcCB0aGUNCj4gZ3Vlc3QgbWVtb3J5LCBpLmUuIG1tYXAoKSBmb2xs
b3dlZCBieSBpb2N0bChJT0NUTF9QUklWQ01EX01NQVBCQVRDSCkuDQo+DQo+IFdoeSBhcmVuJ3Qg
d2UgZG9pbmcgYWxsIG9mIGl0IGZyb20gbW1hcCgpIGl0c2VsZiA/IEkgaGFja2VkIGl0IHVwIHRv
DQo+IGNoZWNrIG9uIGl0IGFuZCBpdCB3b3JrcyBmaW5lIGlmIHdlIGRvIGl0IGFsbCBmcm9tIG1t
YXAoKSBpdHNlbGYuDQo+DQo+IEFyZW4ndCB3ZSBhYnVzaW5nIHRoZSBMaW51eCB1c2Vyc3BhY2Ug
QUJJIGhlcmUgPyBBcyBzdGFuZGFyZCB1c2Vyc3BhY2UNCj4gY29kZSB3b3VsZCBleHBlY3QganVz
dCBtbWFwKCkgdG8gYmUgZW5vdWdoIHRvIG1hcCB0aGUgbWVtb3J5LiBZZXMsIHRoZQ0KPiBjdXJy
ZW50IHVzZXIsIFhlbiBpdHNlbGYsIGlzIGFkYXB0ZWQgdG8gbWFrZSB0d28gY2FsbHMsIGJ1dCBp
dCBicmVha3MNCj4gYXMgc29vbiBhcyB3ZSB3YW50IHRvIHVzZSBzb21ldGhpbmcgdGhhdCByZWxp
ZXMgb24gTGludXggdXNlcnNwYWNlDQo+IEFCSS4NCj4NCj4gRm9yIGluc3RhbmNlLCBpbiBvdXIg
Y2FzZSwgd2hlcmUgd2UgYXJlIGxvb2tpbmcgdG8gY3JlYXRlDQo+IGh5cGVydmlzb3ItYWdub3N0
aWMgdmlydGlvIGJhY2tlbmRzLCB0aGUgcnVzdC12bW0gbGlicmFyeSBbMV0gaXNzdWVzDQo+IG1t
YXAoKSBvbmx5IGFuZCBleHBlY3RzIGl0IHRvIHdvcmsuIEl0IGRvZXNuJ3Qga25vdyBpdCBpcyBy
dW5uaW5nIG9uIGENCj4gWGVuIHN5c3RlbSwgYW5kIGl0IHNob3VsZG4ndCBrbm93IHRoYXQgYXMg
d2VsbC4NCg0KVXNlIC9kZXYveGVuL2h5cGVyY2FsbCB3aGljaCBoYXMgYSBzYW5lIEFCSSBmb3Ig
Z2V0dGluZyAic2FmZSIgbWVtb3J5LsKgDQpwcml2Y21kIGlzIHZlcnkgbXVjaCBub3Qgc2FuZS4N
Cg0KSW4gcHJhY3RpY2UgeW91J2xsIG5lZWQgdG8gdXNlIGJvdGguwqAgL2Rldi94ZW4vaHlwZXJj
YWxsIGZvciBnZXR0aW5nDQoic2FmZSIgbWVtb3J5LCBhbmQgL2Rldi94ZW4vcHJpdmNtZCBmb3Ig
aXNzdWluZyBoeXBlcmNhbGxzIGZvciBub3cuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 09:54:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 09:54:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392345.630629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQn5l-00072P-Tm; Wed, 24 Aug 2022 09:54:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392345.630629; Wed, 24 Aug 2022 09:54:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQn5l-00072I-QP; Wed, 24 Aug 2022 09:54:33 +0000
Received: by outflank-mailman (input) for mailman id 392345;
 Wed, 24 Aug 2022 09:54:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQn5j-00072A-PR
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 09:54:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQn5g-00016v-Ty; Wed, 24 Aug 2022 09:54:28 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQn5g-0002D9-Ms; Wed, 24 Aug 2022 09:54:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=epns211f1sOY1OvTOeRzRdsWz6PFUMP6WOxXzXAEce0=; b=aVFHaU18A7YzpKQssOtyFKbMmw
	Tp7r3ziS9GQwlXXytVqSN+LzZt/4GggnIYO8zMDeuKKruzsSlE5OAjnFLhmYTXJT5+C6LPIMlQnIN
	nSIcdibh4YRqvL6ShC5hhoOgeJEiaMWXEaA57FdRyFvvviP2bmMOdIUbaxtniZ1s7Gxs=;
Message-ID: <509368c1-e0df-106f-8b15-e0536d19befe@xen.org>
Date: Wed, 24 Aug 2022 10:54:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v10 0/9] populate/unpopulate memory when domain on static
 allocation
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220816023658.3551936-1-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Penny,

On 16/08/2022 03:36, Penny Zheng wrote:
> Penny Zheng (9):
>    xen/arm: rename PGC_reserved to PGC_static

This was committed by Jan a week ago. And ...


>    xen: do not merge reserved pages in free_heap_pages()
>    xen: add field "flags" to cover all internal CDF_XXX

... I have committed those two.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:10:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:10:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392353.630648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnKl-0000V9-AY; Wed, 24 Aug 2022 10:10:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392353.630648; Wed, 24 Aug 2022 10:10:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnKl-0000UV-6Q; Wed, 24 Aug 2022 10:10:03 +0000
Received: by outflank-mailman (input) for mailman id 392353;
 Wed, 24 Aug 2022 10:10:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQnKj-0000IN-Mh
 for xen-devel@lists.xen.org; Wed, 24 Aug 2022 10:10:01 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9bfc386-2394-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 12:10:00 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id EE56820328;
 Wed, 24 Aug 2022 10:09:59 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 91F6A13AC0;
 Wed, 24 Aug 2022 10:09:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id M2ozIvf4BWPTEwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 10:09:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9bfc386-2394-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661335799; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=KWLZXSqqbETXnhg1B0DoveM8twDVIrd5rew0SzXELtU=;
	b=Y1ApWFRXF7taW4hY9R5F50XR+2AGVJ6L3IxHCi32e5QTGWlPgywOpRdv5AiLd16LKlv1EE
	JQs/XSa2FVDZrNBHMAc7oLqamMRGJtanH/cWBj7Gbzo4uYc68WGzGUNpT1TYyNSPdYXbTl
	LTz4t88H1ZttuekG4/RITcIWAPsaR2g=
Message-ID: <a04eebde-1ad4-b6d2-9867-caea88de0484@suse.com>
Date: Wed, 24 Aug 2022 12:09:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, alex.bennee@linaro.org,
 xen-devel@lists.xen.org, Stratos-dev@op-lists.linaro.org,
 mathieu.poirier@linaro.com, christopher.w.clark@gmail.com,
 boris.ostrovsky@oracle.com, gregkh@linuxfoundation.org,
 vincent.guittot@linaro.org, olekstysh@gmail.com
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
In-Reply-To: <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------yy6Rhlniyo7y0Od0wRsDT5mX"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------yy6Rhlniyo7y0Od0wRsDT5mX
Content-Type: multipart/mixed; boundary="------------cw0MrRYPza64sGLm7G6rrgrT";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, alex.bennee@linaro.org,
 xen-devel@lists.xen.org, Stratos-dev@op-lists.linaro.org,
 mathieu.poirier@linaro.com, christopher.w.clark@gmail.com,
 boris.ostrovsky@oracle.com, gregkh@linuxfoundation.org,
 vincent.guittot@linaro.org, olekstysh@gmail.com
Message-ID: <a04eebde-1ad4-b6d2-9867-caea88de0484@suse.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
In-Reply-To: <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>

--------------cw0MrRYPza64sGLm7G6rrgrT
Content-Type: multipart/mixed; boundary="------------0LD1sJ7zy340KEYFXzD0fSSi"

--------------0LD1sJ7zy340KEYFXzD0fSSi
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTE6MTksIFZpcmVzaCBLdW1hciB3cm90ZToNCj4gT24gMjQtMDMtMjIs
IDA2OjEyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gRm9yIGEgcmF0aGVyIGxvbmcgdGlt
ZSB3ZSB3ZXJlIHVzaW5nICJub3JtYWwiIHVzZXIgcGFnZXMgZm9yIHRoaXMgcHVycG9zZSwN
Cj4+IHdoaWNoIHdlcmUganVzdCBsb2NrZWQgaW50byBtZW1vcnkgZm9yIGRvaW5nIHRoZSBo
eXBlcmNhbGwuDQo+Pg0KPj4gVW5mb3J0dW5hdGVseSB0aGVyZSBoYXZlIGJlZW4gdmVyeSBy
YXJlIHByb2JsZW1zIHdpdGggdGhhdCBhcHByb2FjaCwgYXMNCj4+IHRoZSBMaW51eCBrZXJu
ZWwgY2FuIHNldCBhIHVzZXIgcGFnZSByZWxhdGVkIFBURSB0byBpbnZhbGlkIGZvciBzaG9y
dA0KPj4gcGVyaW9kcyBvZiB0aW1lLCB3aGljaCBsZWQgdG8gRUZBVUxUIGluIHRoZSBoeXBl
cnZpc29yIHdoZW4gdHJ5aW5nIHRvDQo+PiBhY2Nlc3MgdGhlIGh5cGVyY2FsbCBkYXRhLg0K
Pj4NCj4+IEluIExpbnV4IHRoaXMgY2FuIGF2b2lkZWQgb25seSBieSB1c2luZyBrZXJuZWwg
bWVtb3J5LCB3aGljaCBpcyB0aGUNCj4+IHJlYXNvbiB3aHkgdGhlIGh5cGVyY2FsbCBidWZm
ZXJzIGFyZSBhbGxvY2F0ZWQgYW5kIG1tYXAoKS1lZCB0aHJvdWdoIHRoZQ0KPj4gcHJpdmNt
ZCBkcml2ZXIuDQo+IA0KPiBIaSBKdWVyZ2VuLA0KPiANCj4gSSB1bmRlcnN0YW5kIHdoeSB3
ZSBtb3ZlZCBmcm9tIHVzZXIgcGFnZXMgdG8ga2VybmVsIHBhZ2VzLCBidXQgSSBkb24ndA0K
PiBmdWxseSB1bmRlcnN0YW5kIHdoeSB3ZSBuZWVkIHRvIG1ha2UgdHdvIHNlcGFyYXRlIGNh
bGxzIHRvIG1hcCB0aGUNCj4gZ3Vlc3QgbWVtb3J5LCBpLmUuIG1tYXAoKSBmb2xsb3dlZCBi
eSBpb2N0bChJT0NUTF9QUklWQ01EX01NQVBCQVRDSCkuDQo+IA0KPiBXaHkgYXJlbid0IHdl
IGRvaW5nIGFsbCBvZiBpdCBmcm9tIG1tYXAoKSBpdHNlbGYgPyBJIGhhY2tlZCBpdCB1cCB0
bw0KPiBjaGVjayBvbiBpdCBhbmQgaXQgd29ya3MgZmluZSBpZiB3ZSBkbyBpdCBhbGwgZnJv
bSBtbWFwKCkgaXRzZWxmLg0KDQpIeXBlcmNhbGwgYnVmZmVycyBhcmUgbmVlZGVkIGZvciBt
b3JlIHRoYW4ganVzdCB0aGUgIk1NQVBCQVRDSCIgaHlwZXJjYWxsLg0KT3IgYXJlIHlvdSBz
dWdnZXN0aW5nIG9uZSBkZXZpY2UgcGVyIHBvc3NpYmxlIGh5cGVyY2FsbD8NCg0KPiBBcmVu
J3Qgd2UgYWJ1c2luZyB0aGUgTGludXggdXNlcnNwYWNlIEFCSSBoZXJlID8gQXMgc3RhbmRh
cmQgdXNlcnNwYWNlDQo+IGNvZGUgd291bGQgZXhwZWN0IGp1c3QgbW1hcCgpIHRvIGJlIGVu
b3VnaCB0byBtYXAgdGhlIG1lbW9yeS4gWWVzLCB0aGUNCj4gY3VycmVudCB1c2VyLCBYZW4g
aXRzZWxmLCBpcyBhZGFwdGVkIHRvIG1ha2UgdHdvIGNhbGxzLCBidXQgaXQgYnJlYWtzDQo+
IGFzIHNvb24gYXMgd2Ugd2FudCB0byB1c2Ugc29tZXRoaW5nIHRoYXQgcmVsaWVzIG9uIExp
bnV4IHVzZXJzcGFjZQ0KPiBBQkkuDQoNCkkgdGhpbmsgeW91IGFyZSBzdGlsbCBtaXhpbmcg
dXAgdGhlIGh5cGVyY2FsbCBidWZmZXJzIHdpdGggdGhlIG1lbW9yeQ0KeW91IHdhbnQgdG8g
bWFwIHZpYSB0aGUgaHlwZXJjYWxsLiBBdCBsZWFzdCB0aGUgcmVmZXJlbmNlIHRvIGtlcm5l
bA0KbWVtb3J5IGFib3ZlIGlzIHN1Z2dlc3RpbmcgdGhhdC4NCg0KDQpKdWVyZ2VuDQo=
--------------0LD1sJ7zy340KEYFXzD0fSSi
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0LD1sJ7zy340KEYFXzD0fSSi--

--------------cw0MrRYPza64sGLm7G6rrgrT--

--------------yy6Rhlniyo7y0Od0wRsDT5mX
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMF+PcFAwAAAAAACgkQsN6d1ii/Ey+Q
Zwf9HkW0ou58HYKFDnENyhTgUwFqJNYFtPfH33igECvD6qz26+NzZKuoDFS3GyDuIWEWwAANrOdd
6TAGuMu9s1plgngxKu9wncY1fmlMFfpLg9sqjWcML9dpt5ldk/zKU1Ge9YlqqKiVl8vnNocsMsdv
z8pnR1Vwcj/W0Nmqt8VPEo6ND+AR47+evehJseLX4MvWUQGG2TxbLFYw5HaTC+Lf1EssJpGl5Rsx
RZFUu49hp3WFlS+Y1sv9zkCuCwdXSqGa0wQuiXu//Wzp/naO1PCQVcaXOM3AFiIbzRbfv+NUDrn1
JkSXPySOqpUyxnojJRhWraHUnh1u/PIi8D2Jh5tVDw==
=jgBh
-----END PGP SIGNATURE-----

--------------yy6Rhlniyo7y0Od0wRsDT5mX--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:12:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392360.630658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnNQ-0001f4-OC; Wed, 24 Aug 2022 10:12:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392360.630658; Wed, 24 Aug 2022 10:12:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnNQ-0001ex-LU; Wed, 24 Aug 2022 10:12:48 +0000
Received: by outflank-mailman (input) for mailman id 392360;
 Wed, 24 Aug 2022 10:12:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQnNP-0001ek-On; Wed, 24 Aug 2022 10:12:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQnNP-0001XA-IS; Wed, 24 Aug 2022 10:12:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQnNP-0001to-1w; Wed, 24 Aug 2022 10:12:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQnNP-0000PT-1N; Wed, 24 Aug 2022 10:12:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JeyZTPyw02g0OHE+o7MiSEGR3EDlN4yRxoOCPicgp84=; b=m4JnnQ129Mo6kEKQ/UgNcxTCmp
	lX85hfkIK441rCLRkjK5hhXJVCRX/29v7RYZVsiUYZhAk1irvwZkWBwDTusz56AIH1LdGVtEjIvvJ
	hRRsOlRtWzKRVHpEsPtoGMhiQeViF92ZNQ1tvJXilxsJB4A87ipLIvMSixEMPOpkpsN0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172746-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172746: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 10:12:47 +0000

flight 172746 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172746/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   20 days
Failing since        172151  2022-08-05 02:40:28 Z   19 days  158 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:22:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392368.630670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnWn-00039s-LY; Wed, 24 Aug 2022 10:22:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392368.630670; Wed, 24 Aug 2022 10:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnWn-00039l-Ir; Wed, 24 Aug 2022 10:22:29 +0000
Received: by outflank-mailman (input) for mailman id 392368;
 Wed, 24 Aug 2022 10:22:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQnWm-00039P-4i
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:22:28 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6d0ec8e-2396-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 12:22:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B7278203AB;
 Wed, 24 Aug 2022 10:22:26 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 69BBE13AC0;
 Wed, 24 Aug 2022 10:22:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id z1VqGOL7BWNCGQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 10:22:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6d0ec8e-2396-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661336546; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=/7EYD7Keid1p57myps4QR3QvxF3egN0T6fhaNudvLW0=;
	b=Vc4VIyX2sK0MlN5HoOs6QGgP7qxdRX1eTIKAMnFz3PdckVok5H88iTzSjA9UaMaEeUTwUb
	tUBwA8K17e2PkI5L1lrUwQABsF6TpWG8tBHKi58mKrjvqYoC1ilQbqtpEdiobe/wLCakYW
	gUW6IFi7xrCwtzLibB5gYT9IW+KTcvs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Date: Wed, 24 Aug 2022 12:22:25 +0200
Message-Id: <20220824102225.11431-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hitting an ASSERT_UNREACHABLE() is always wrong, so even in production
builds a warning seems to be appropriate when hitting one.

In order not to flood the console in reproducible cases, introduce
WARN_ONCE() to be used in this case.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
Notice for the release manager: this patch isn't really urgent for the
4.17 release, OTOH it is adding probably useful debug information for
the unlikely case of hitting an ASSERT_UNREACHABLE(). The risk for
taking the patch should be rather low, but you have the last saying,
of course.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/include/xen/lib.h | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e18af..b8472d753c 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -40,6 +40,16 @@
     unlikely(ret_warn_on_);             \
 })
 
+#define WARN_ONCE() do {                \
+    static bool warned = false;         \
+                                        \
+    if ( !warned )                      \
+    {                                   \
+        warned = true;                  \
+        WARN();                         \
+    }                                   \
+} while (0)
+
 /* All clang versions supported by Xen have _Static_assert. */
 #if defined(__clang__) || \
     (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
@@ -63,7 +73,7 @@
 #define ASSERT_UNREACHABLE() assert_failed("unreachable")
 #else
 #define ASSERT(p) do { if ( 0 && (p) ) {} } while (0)
-#define ASSERT_UNREACHABLE() do { } while (0)
+#define ASSERT_UNREACHABLE() WARN_ONCE()
 #endif
 
 #define ABS(_x) ({                              \
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:29:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:29:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392374.630681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQndc-0003qE-8n; Wed, 24 Aug 2022 10:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392374.630681; Wed, 24 Aug 2022 10:29:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQndc-0003q7-65; Wed, 24 Aug 2022 10:29:32 +0000
Received: by outflank-mailman (input) for mailman id 392374;
 Wed, 24 Aug 2022 10:29:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQnda-0003q1-HR
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:29:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQnda-0001nw-48; Wed, 24 Aug 2022 10:29:30 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQndZ-0003xd-Sv; Wed, 24 Aug 2022 10:29:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Xqq2fO9bEitK8GTSQry/JgnqyDwqpytyHuhXSLfrUQ0=; b=oeyNu4xFqiAvU32bMVLaPg6UcI
	wo+MFlsn+mJX3TNsrr7FrNFqoCl8xMeArUH0yXD6RCiK9RJRnMUC5OQYy9R2kRHaRMbur49bzi/or
	DPEX9Ks/UcahQkCM/T1UwZkM1nu4rtQTx3GnjU0rdkO/eQda0ZnZbmgy1RCAxS9Mj0D8=;
Message-ID: <384d4ac1-9652-390c-2750-1cf628b887f0@xen.org>
Date: Wed, 24 Aug 2022 11:29:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20220824102225.11431-1-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220824102225.11431-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

Thanks for sending the patch quickly :).

On 24/08/2022 11:22, Juergen Gross wrote:
> Hitting an ASSERT_UNREACHABLE() is always wrong, so even in production
> builds a warning seems to be appropriate when hitting one.
> 
> In order not to flood the console in reproducible cases, introduce
> WARN_ONCE() to be used in this case.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:35:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:35:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392380.630692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnj4-0005Hl-SO; Wed, 24 Aug 2022 10:35:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392380.630692; Wed, 24 Aug 2022 10:35:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnj4-0005He-P4; Wed, 24 Aug 2022 10:35:10 +0000
Received: by outflank-mailman (input) for mailman id 392380;
 Wed, 24 Aug 2022 10:35:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQnj2-0005HY-SP
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:35:09 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2046.outbound.protection.outlook.com [40.107.104.46])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c110aae-2398-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 12:35:07 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6369.eurprd04.prod.outlook.com (2603:10a6:208:169::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 10:35:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 10:35:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c110aae-2398-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FpTtecJW1cVut6dodSkBca8hCBvRgW1Gs2Zs5P/miZd/coXYqMZInHg4GHgvTVQJ0H8/+/8h2NSLmsjKqPJLpzNMlZhJusKjDG1wZsOBPTfMAN98l7K/x46v78KJbRjYmNee0q6QPjQ2fJx5bbUydGE8oR7yfNoOdGlO+6HXIZCYa2lXUgtBC6SsA0RW2HQREiDNa64LLnWbBx/IFWZeRCnIznq5t9ZlRr8IkRF14CTzjX7EN3LLjIAO/lITqHzvuvxPCqOGgkz02H7G413HH+jjC6KaN2BqsnuIxMyfDZBpWetuYjwYVVXwv8sK0oF4PFLbXhTdpDz49edI5HxstQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AGEKUeJzVOvF7VGb+YX3a3KvhIR3n0h0gLApfLqs+xc=;
 b=I5uhoHWZsKdTti6yvAOThXoNM/ZPWX989D/JtSSBc87ttkR0+Caedv3QIgMtoMBXWwS9DyZrI6uHL+JIlOOPSfe/xrMQUjFYoinPlNKU8qq4FB+s0Ov+2iiUJnqmeFg066z+bkNgGSpn17eegT6MxXfMd+Z3h0E6e+atkKavusMFU/l/Cg7dF2htow1iBW+9uknpGlUQX+1zBmjaMCktnusgzTHd1bXgdRQY1eilz1tE/HhgVVgr9bZ2QRBMWqn8p235RAZMPvO655/BVYM/PjkEh9GGMM1Lokh+x7iRm+C7qsmpg9amAIv+j3KZzu+QateFHZdPxnMMSgkjbFsymA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AGEKUeJzVOvF7VGb+YX3a3KvhIR3n0h0gLApfLqs+xc=;
 b=13c0cUZqNfNL/OyG6q4K1PrFzbQ8lppnxnKf/eTxnc0bFqBYNbEQtQVHhgRXQ++I295IE7U5H4WtemOz/xyCCB1o7zfqUKnmI1XH72HYY+agGhjSXkHVLYb0muET/X/+SjP1QWVBBSHQ4XyoJ4gI2SX2JULry5CTyk7bpt/ZjZzWLXedqaNOFsUn0IWtOXaW5yyr0uztMi8ByPbJDRDi95Ck4R4y/MtXE1dEw1BOOnb9aIedA4FJSfRPG914jlimEvkvbos7YtBFPgBqbL++eNMxUt6A/9ubCL8c6U89giKYN8cWOuaB1Gr3sR/XR3ti3nMZZ4RDyRAH0EQwVWD3Ww==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
Date: Wed, 24 Aug 2022 12:35:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Henry.Wang@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220824102225.11431-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220824102225.11431-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0073.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6b27fb34-746f-489f-66dd-08da85bc4eaf
X-MS-TrafficTypeDiagnostic: AM0PR04MB6369:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PwVo+jh+X++1+9+JYmrzlfAZX/w6cJFWfhwKoUmL7fHLLdorRu8t/ryz5Q6ZY7F8LVqVKIlhYKK5telxs5AJjNEKZUKfo/q4geFlpOhfhFNGK3/v8HsLFxt6F777bAf+0rlWMk09YFM5JTj8hwSj0NYWZyxHMZUqna2HFhgmHNmrFxbV7hoeU4UBpldvFv7g883VwYXN8dPJxZJaESgYVb/2exu4pIPlF4EDPo2iaD1Wv1UFs0d2eNzapYkEfy7pDVY8OIwUV0n87sXcoEQ4xp2IBnuiEVyPuIMz4gNRn+xXlxPMkJxC2Q+0T1h1iGhq8kSm16J7JmDiWPoMArzT4fdUarrgx0JlSMdLYqvS7ZJgokVaQVLxuIE9ychqmgSXenh9pFMZERmiNj4EkVUsoRfHWZ3BwPC/2O6CVIj4zFz/1coPD5sFIBHFOmBs2niqs0lFEONo9RUK+q9n12VN9WifTGdZzWZwUgFGrD2Isahv01pFDZaYxBV1zr3mIXq41BPagk3Ahuv3xkLYp68VWNR0iOTHwz59CkSQlYwAqLpB7W2JuMDZy188lXi7qiDDBzrM741EsX4DlzOCN7TyPFMf7BiWOdJYLziOMGS/w4UaE82Slgn8nsV8J+TNW+hLnWIn/cuLJqKihS21cbK/oi23XLn2AJssSNVoqUBg1zjtplBvaFafNbLIkrEuOd7yfxM3l0jUuI8vIdHHqlCuuD3QHpNTOBZbd0QOJVe8ukWRTRGdUpFJf+SCDVKl56PmGSy6M9axA0f0RsT+/GZ3UFZNmEHXISrpxTd6fdpFJ6s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(136003)(396003)(366004)(39860400002)(36756003)(5660300002)(4744005)(8936002)(6862004)(2906002)(316002)(6636002)(6486002)(37006003)(54906003)(6512007)(478600001)(6506007)(53546011)(26005)(41300700001)(31696002)(86362001)(2616005)(186003)(66556008)(66476007)(4326008)(66946007)(8676002)(31686004)(38100700002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?THVqeUVzVVE4MFE3NHhnV1JSbG1GZlZEYTVsRWNuRVdUVm9NVkIyMzhRUlZW?=
 =?utf-8?B?ZzlSSTVhVUk4UWtuTFN4N3hyazVOQ1VXSVlrYmpmTlAydmNWS2ZsOXZJZXk5?=
 =?utf-8?B?NmxzcmEzRWJxb2FneTlhYlErbnhSTTdDOWlJU2ZmbFYzRGQzWEhSeDZYSFBJ?=
 =?utf-8?B?YW1GanlBQ0g0a3l1VzY3TTZFWWVsQVRzVGpqR3Y1ei9iNTdwek9SQjBMNDR4?=
 =?utf-8?B?R3VsOFhIa01qaEhJRWlLRmhrN0pBSVV6Q0RJNnNQS2pTMFFGRDI4YzUzR3Rh?=
 =?utf-8?B?S1pEMkV1YUNUNU0rNEhQUlQzVVRTUVJQZTkvZjYvSS8vdEptMnJHV3lYZVVu?=
 =?utf-8?B?NTdHR3lZeFJxRG9aU3R3SGl0T0ZZYTRYdlpZd3RjSkFqOVpFeUNWbEV3OWpU?=
 =?utf-8?B?Qm9VYUNjU25IVEducHpTVDdkN0ZaUmdVdWNEc2dBYm85ZzZmNXRwUW1QMzkr?=
 =?utf-8?B?TGFTUHd1aUNBYTJWZFpicDM1YkxFQTN0YU1YRE9OMklVYW1yeVdWVG53eE5a?=
 =?utf-8?B?cDdNb2IybEV3NHUzbXRXVHJuZ08wcS94RStmR3FjQndwM0RqWXhueDlPRVN3?=
 =?utf-8?B?WXpCZVJ6TGM0UW1hNXZvTDE0eVNJNW4veERuM2huQ1BuamgvWWF5aTh6YUNo?=
 =?utf-8?B?NnpmNWNiQndQWlFPdy9mSm9XTkVKN2tOcFpwUjViRXlZTWRNT1haRzcreHBT?=
 =?utf-8?B?Z2t5TjRpUm9CbXFtNWljaURzVnJpckMxa1lpOWJPcGt5VzRrdUhERVZZVzhm?=
 =?utf-8?B?VTdHYkxqbGpPTU5TUXk5c3NHQm5TT3J0aTlvWmVqZXNJT0c0MU1LNWY4ZXVP?=
 =?utf-8?B?MXFRM0ZoZ2N5dW5rS3VmQ2s5a0tPL0dYRkdPUjVFSDh0dzFmcXBCWitleUZh?=
 =?utf-8?B?bjdlbmxZN3BaRi94enJweVpVRWxNUnJnZlIvRWZxYkZiU0RYK01kV0xOQzM5?=
 =?utf-8?B?Rk1FcVhDeFJiY0p1NWVCY1BhWjZnZ01NNXhaTGNSbzRKNCtGZWR5VmxkNFpJ?=
 =?utf-8?B?eXR2V3lWY2thbXE2QzM2Vngzd1Z6cU8xSE92ZytQU1BaVmJ1bjNzSlJIaXl5?=
 =?utf-8?B?Q1FsemRJZHpBTFNpUzNoaXpsYWRGaWkwK0xwamRIZERsdEUvNmxHc05BQWFX?=
 =?utf-8?B?Yk5JZ3JJckh6MWNPOFNxT0Q3c08zb3ZRQTJkMGNqcnBxRXlPazJZUUFlQU41?=
 =?utf-8?B?bThxUER3Y0dTZGdML3VPTXFCcHZubGpMcHl5UzArd0pYSzdjblZQa29NZFdT?=
 =?utf-8?B?bFlsZnJqQ0RQTFZUbWRoRWpWcXROK0R3Slgxa0l2dDVrL0dvR3JHdkFhUkx2?=
 =?utf-8?B?ek5FbnMybXVURTZtVVFSajZySDJIbk9Md2lNcEkyRXAxYmhxU0ZwaTg3U09x?=
 =?utf-8?B?REtra2dXNmpMK3NsL0RlN3NZZXBoVDBOVWxiOTNLRmxZRXBwelZyQThJNkMz?=
 =?utf-8?B?OU91UWI4NUNnL0lPbFEyZnJQSjhla1ByQkFHQnhpelZNRzdTbEZ6eFVta2Zv?=
 =?utf-8?B?akJrUUhOL3l5U1gvdnVNNlZYQVJ2MGticDlSZExjTVZIbzhpczdGbitJYUVv?=
 =?utf-8?B?WGN5ZWJpWVA2a01SNXp0ZXpjUkRhV1VnejRockN3aXVTaDl4K2NTeFNEZktQ?=
 =?utf-8?B?b2lCajBGMWFzSmxYVHlKd2lnY3ZaKy8zdjNBZkc5b21uV2xpWEhTZE83NjRE?=
 =?utf-8?B?NTY5a2RGSzR3dWttVHFFVWlyNm5VOTFSME1CTTYrVXV5Z1NvNmZjUkl4VGtY?=
 =?utf-8?B?L1RUN2RSaDNWdjlVWDVueEVubjFoSHZNS1dwVUVJWjdUdWEvWUI2Tld4eXBx?=
 =?utf-8?B?OGFkMjdkVkh4alRUb2JvY1oxZ3lUZFBFZzkzcXp5a0hxdkZtUGpOeTd4NFpH?=
 =?utf-8?B?Ymp6V3U0NStvZ3BNLytHZzc2N2xUQzlyZlVvSDg4djVuZmRtSk9Ucnk4bUNw?=
 =?utf-8?B?L3kvNHlQRDZ6M2czOE9HRWpOb1Zwb3l0ZWpnZGdXek9DamlYOTdEUVdhemVP?=
 =?utf-8?B?TFVka0tmdVpVRUpwa0EvbDZOelRiT3VHd3BNMG9MRTlNby9zQU80N1M2WFVr?=
 =?utf-8?B?N3daWXhjQit2cVJEblpuV1RZRkkwdXJjMWwvbnZ4cUgxbzJoeGozSlFOR290?=
 =?utf-8?Q?DiIHYM2VyUHEYjF0oaYspLzkg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b27fb34-746f-489f-66dd-08da85bc4eaf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 10:35:04.9153
 (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: +2gycTvR5pmu9wivOMRgZweH/J6MteJoHqRMMIOD3HUvbMmQMhgHJ+IV2NefNfqBb3DQ31MClIljEsoWdjOuNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6369

On 24.08.2022 12:22, Juergen Gross wrote:
> Hitting an ASSERT_UNREACHABLE() is always wrong, so even in production
> builds a warning seems to be appropriate when hitting one.

I disagree, for two reasons: This violates the implication of NDEBUG
meaning ASSERT() and friends expand to no actual code. Plus if doing so
for ASSERT_UNREACHABLE(), why would we not do the same for ASSERT()?
There's a reason we have ASSERT() and friends and, independently,
WARN_ON() / BUG_ON() et al.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:41:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:41:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392387.630703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnol-0006rl-N9; Wed, 24 Aug 2022 10:41:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392387.630703; Wed, 24 Aug 2022 10:41:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnol-0006re-JX; Wed, 24 Aug 2022 10:41:03 +0000
Received: by outflank-mailman (input) for mailman id 392387;
 Wed, 24 Aug 2022 10:41:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQnok-0006rV-IB
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:41:02 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140054.outbound.protection.outlook.com [40.107.14.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ea634d9-2399-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 12:41:01 +0200 (CEST)
Received: from AM5PR0301CA0014.eurprd03.prod.outlook.com
 (2603:10a6:206:14::27) by AM0PR08MB2978.eurprd08.prod.outlook.com
 (2603:10a6:208:66::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 10:40:57 +0000
Received: from AM7EUR03FT050.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:14:cafe::d2) by AM5PR0301CA0014.outlook.office365.com
 (2603:10a6:206:14::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Wed, 24 Aug 2022 10:40:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT050.mail.protection.outlook.com (100.127.141.27) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 10:40:56 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Wed, 24 Aug 2022 10:40:56 +0000
Received: from 0e21242dc0c3.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A17BB1C1-54ED-4A64-ADD0-0A5D1EA924F8.1; 
 Wed, 24 Aug 2022 10:40:41 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0e21242dc0c3.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 10:40:41 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB7188.eurprd08.prod.outlook.com (2603:10a6:102:20a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 10:40:38 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 10:40:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ea634d9-2399-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=BTSkJkj1NJ/LVFMLi56+uapV7JmaiAiOF/OTt4bjJGhpxJ6kByn/1LN95RitBJX6lYkYQLpUSo69cWOkvp/jmBAj8WFce3sK22R33H5p34a+9Ktd52E3WtMlOuXcAXwvwooqJkPDSiEptB86Pe9WExHsidL51vSQMjV3w0bdv4aU2bP2+JuVSlgkSj8l+lrh1dJJooC9iPdbD1l979qluEH6Bv6ZgAJQkVSU1hn2GnwBpuWe0oiOhn/B37pgoxepDTMcfzalTfyZvkALD0MLHRlcHTMTTfloS/JcNgEBg7tD+8R1C3QVUoNOUFv/OWrQKkxSDw0eEPo2pnpbjYTn3A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kwuAQpNcIRhn7bJZNrrmtgGwCaaN0+nBvbMogofl8EU=;
 b=iLVCWhEaXpJZv80fBzt8dtZRUXjbDu5HUIh9E4293XMSxfaPa+Og+EmLIUBbp/BjOPQZGCRRI59hf7zYwyvsxs+R6nUKQsZaj5e7yN0q3MyabeyWspR3I2paBNidMu+6g1OSJWtcXqbqdDKa6g7bfV+TXdL1DP5djOtzivPLo0LN+8gAMSE12TuKCR4zswvWRuES7T//0g36jo44LgrBVP254waYeLKneoHoaFmuY8m1zUdKot4frAZSZIfh7IMaWJkVICj2Xft+pvxmh5Y3BDcgCIfz0qQUpQUbwn1Enbad2ZRmEkJYw9DdZhzJwsi/5Iu4ak/WH0h4ZhnWWfNfFw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kwuAQpNcIRhn7bJZNrrmtgGwCaaN0+nBvbMogofl8EU=;
 b=n/qLoKPNWBtQRowWx/BRzkTB5EtQD1MqT856ijtFzM9KXhDJPcYSAhfSUDzlJt8fodhTWyw34EeGJKm+dWDkjlKH5CHhUPT4pOWiZPksSW623Ll+yydWcEY2GRaeKSSL5YoP7iSCODyujMfUMtY69W2n0i4ouMGoP/RoLcT8vTY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 8eba462976e05ba9
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ao+yoWlaRQB6qPJADNxYZpdx2Vrwr4VT8673cJTydQ6jvH5uPX7Na8RtpAq20BvYvkTuS8bXijKwwAmwkx5IONBQQPkIbwLCRDthka8WbirCQMac3LUZvpvr3K3IUgz6jUbPdSbm5AsaxTW5J/1gNrbCwJi/1jQn0cYXVri5RnUhAqy4STnK07Q6b9z5z5U9KrOezh0UWRjdOKt9NRTVKYXoZCFccUxGZaVmPwFKem6CrcNTlfgMukvVnRilahV8GcuRR/INrxwcHmxNsRaGzcHtihYGghC1X00Wzy3qNSioChlBgWnPYP4KJNUcGVvLwRcc9STNXWIN21qpD/X05Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kwuAQpNcIRhn7bJZNrrmtgGwCaaN0+nBvbMogofl8EU=;
 b=NgPFOXLrNeCEX4luCyAD8eri5E3QkWc2SbvdnL8CeUUT86sS7UWrWwZCyl9KhKAjyGAcJ+HDFlZP6HkF8nlTRi2iIwlHgGy27mqzV4yRJKGTR30NRSs4U3vgmxwzSlEps21x2laUe4VOeVMDNKNA6QoXY+qkUxJbvzyjJfdn7VilP/Abnp8rD4cijLYTwDTaY4qLWKKmRPE8tKMu/DEQY7GPulrzAi5ljiX4vBEgPZcDRG3bGcchW7oWaAusCj7akknU3rWxRCNvtJeBCfvaBqRX01npWebuQX7Id+Ho9C4vXt05PXchmmj1DiOGZ9P6CgpgNuitl2gCXDwXWYKJpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kwuAQpNcIRhn7bJZNrrmtgGwCaaN0+nBvbMogofl8EU=;
 b=n/qLoKPNWBtQRowWx/BRzkTB5EtQD1MqT856ijtFzM9KXhDJPcYSAhfSUDzlJt8fodhTWyw34EeGJKm+dWDkjlKH5CHhUPT4pOWiZPksSW623Ll+yydWcEY2GRaeKSSL5YoP7iSCODyujMfUMtY69W2n0i4ouMGoP/RoLcT8vTY=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Juergen Gross <jgross@suse.com>, Henry Wang <Henry.Wang@arm.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Thread-Topic: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Thread-Index: AQHYt6NyK7b3RgMjVkS3bZkU2qcg36292w4AgAABj4A=
Date: Wed, 24 Aug 2022 10:40:38 +0000
Message-ID: <09AA829A-6628-424F-AC87-49C47FCD0B9C@arm.com>
References: <20220824102225.11431-1-jgross@suse.com>
 <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
In-Reply-To: <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: c11bd0f1-f0ce-422c-7bf4-08da85bd206f
x-ms-traffictypediagnostic:
	PAXPR08MB7188:EE_|AM7EUR03FT050:EE_|AM0PR08MB2978:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 hFrgvhqCf2MJT40Wy3dN9mmeqWDxLeLWIoZmmJ5M2lRMzD1Fr0ZRJ7i2zGRJ3sqdu44IOERddDQHIhRmRTe6wbkqUebSY3VEtwqKUMk7aM4Eqq1VYabGd8L45i7JmV5YCi3o3eD/peeDoysrJvcF+6TUBIX5NcbqABC5E2Crp/FP8P3LS4wba6Ax6iXA7WmHI6pXOnnYgqtq1EzMBSOrxhGeCJXdgso8wEo9XksPRGgrV6jjOpccC8YgXyRjArxybugePh7YxWj6T7zfQoT/Dlq8/6WcwwDVnED9BgsWZIDOmcveTkoEp3CHHLZ3Uz4tlUNkcfdVFtF31DMK8k0JutNyEUf/BjpNoodqRkouic3/qVtWkdbfX2cmxHGCeOX9IG5dMeXBpZTQt3Z+GRFoxyZz7lGK1j956dITi8RCy3Givo6jMS/WeORvbQb3wZIeYLCOcYJQEnLI3xfluLGAGy1uOpTVYFfEO2SxsaUbw2KW4cSZNgSfgqwt1g20WnTj4G8YyB759nQg78874NHuGN6eAk65WTnTocUUSDLb1ZHfXHGSa84qC8jIt/r3ATnb/GhN9f0fM5uJIQObAcjtDXEz7aTDSZzD7sT7tRDRXem/wKNxM2ptvQDhYUOon6cPcziQ/LQANI1ho1PkgrcMmhvau8mhqSPxqGEbvAoAwId4+M5gYvF8dVSxVtNeL7uLRC4x6JXq7G6/MPLhb05QhrHcKZUyXLLT+b6o4rGze7Ll5wteVqEin26w4QKZf2RRTuR5yp91MIYiAr33g9vdO3pReMAqdxbFwc+EX9R+Q+s=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(346002)(366004)(376002)(136003)(64756008)(76116006)(66556008)(66946007)(66446008)(4326008)(91956017)(8676002)(8936002)(41300700001)(4744005)(38100700002)(122000001)(5660300002)(66476007)(478600001)(6486002)(316002)(6916009)(36756003)(71200400001)(54906003)(2616005)(53546011)(6506007)(6512007)(26005)(33656002)(186003)(2906002)(83380400001)(86362001)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4708A5BC4216C543B9F6FDB53E81EEE0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7188
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cd8b9670-916a-466b-ddee-08da85bd15b3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aOc+BFav7jW+BEsRSR/qQ+rLqjTYA46HmLhjOVWc+MwS8hCsa9Yxlzk2kgA8D2Q+71vhRgK1mwn6xn0Fm2u/pOTFmmqy/3yHURZ4PugyGFBysiTVmLJ8g8V0tv8ciHpHdzedfsrJBnyYETFq38rqfhNFM8MQe3meFwLhUEfRCV1wol7XIIOXY/fmiTZR5R6+FtxitVIIMWdI3ALCi6w1+1gG7+UxOiWhzXzSfTvUBK9k4a3t8aNRwEfCECcZJQxbKQfCj/B0zOLg7mfZfgM+/qjJeptJ8j2T+OjYp9jqGCMwJOfz/V5jR2zVhzkilRbwGP7vvGXtkqty/KSqE/S+NCfSzFVqJMwXj6i/grWT9Yw/fh+uhROoaE16HugyAakYBZismZHvRa9mQ3rP93l8qyrzBn/4uzDUJvTQpe4ZsiPnlxtmXwSv1Yl13+9xChC/g15+pb1BC02FD+h6CO1iQvS+TxJ8cQjpQkRT1VJKhbbVtFRqsZE/5IaIY2zwAbShbN6vONh0Gq1wSNNG2PzwyOV66VD4XV9oNHhIk/WYhMTC36mH70We5tnzPDBZi7DiP8Rt5Aap6wKUhWJQq8LYwDcAx9ccJxJZ66KLpXcKFDynszpg+tJFyf1cPy5UwaD6hfIMPqF8861EgIE3dInpJZ5GBGP4086LtHyh6W3x4GunloR3zBcpk8Sdimx4oKWM/OOW2dBET5Ierwde9bz1XhXOquwTtcS4b104RM/yPHvjSY2UxKWmYC7pLzRaUg9vye4+MIxuLqtN91fyxQX+Dw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(136003)(396003)(346002)(40470700004)(46966006)(36840700001)(4326008)(8936002)(356005)(5660300002)(8676002)(81166007)(2906002)(70206006)(70586007)(82740400003)(86362001)(82310400005)(33656002)(4744005)(6862004)(316002)(54906003)(40480700001)(83380400001)(6486002)(478600001)(41300700001)(336012)(186003)(47076005)(2616005)(6512007)(36756003)(40460700003)(36860700001)(53546011)(6506007)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 10:40:56.5211
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c11bd0f1-f0ce-422c-7bf4-08da85bd206f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB2978

Hi,

> On 24 Aug 2022, at 11:35, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 24.08.2022 12:22, Juergen Gross wrote:
>> Hitting an ASSERT_UNREACHABLE() is always wrong, so even in production
>> builds a warning seems to be appropriate when hitting one.
>=20
> I disagree, for two reasons: This violates the implication of NDEBUG
> meaning ASSERT() and friends expand to no actual code. Plus if doing so
> for ASSERT_UNREACHABLE(), why would we not do the same for ASSERT()?
> There's a reason we have ASSERT() and friends and, independently,
> WARN_ON() / BUG_ON() et al.

I agree with Jan here, this is introducing code in ASSERT which is not the =
intention
and will end up with dead code in production mode.

In NDEBUG those should appear.

If something is needed or we think there could be a situation where this is=
 reachable,
then the code should be modified to use something else then ASSERT[_UNREACH=
ABLE]().

Bertrand

>=20
> Jan
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:42:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:42:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392393.630714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnqB-0007Qf-2X; Wed, 24 Aug 2022 10:42:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392393.630714; Wed, 24 Aug 2022 10:42:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQnqA-0007QY-Vv; Wed, 24 Aug 2022 10:42:30 +0000
Received: by outflank-mailman (input) for mailman id 392393;
 Wed, 24 Aug 2022 10:42:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQnqA-0007QS-6t
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:42:30 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80082.outbound.protection.outlook.com [40.107.8.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7328811a-2399-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 12:42:29 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB5070.eurprd04.prod.outlook.com (2603:10a6:803:57::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 10:42:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 10:42:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7328811a-2399-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XGVOW/KBlGUGBOsNMEcN1LcDF8nUie208+t6cSopyu4v3MnyVSYw4EJ2BxIPNhXon1xMka9WR45pskh+e4WHZQ1sNKYDYGhGEu32KhSS4MgNp0sz1ddmx9YA+gxR2eY4pJ3ccDnZeIWxk/cA2B8TWTou4+1c4OjzmXpPHfXBdhDZuvFEj3cXT6fQyQ9uY2wsNIep/IC2OOvw2HVlaD7YJKS8AG8ciKeQJJ86VvNomQZMKQt/yt67kFfgppZ+L3S4op/W94dr84K6Uj1Rs4j8Ptn8RUMtX4HuRrg0P6RSdoccs/xTNxUBThFujuUORqbu01ars9UeHDqjSmHpp2A9Cg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bYcjVrWhIRhByjbAsj0XKTTuIp54RW0MRu/QBcwaDpM=;
 b=Jj0ke63y+31Ut4H3SMhvJNguMHDKCbS7KdBi/lxmGMlEaJix2nGpEyESTvUaEUfAOjlFVfSeegR7g2gq/ob/Q1BYKgtEOCQAs6xYrPRwY+4ioBFVqQD/BMBBcRziPw6N0upXfbKWHr/ZOHursYrPOBdS4CiN/DLDWpO1RcGF49U572KZSr6kaZo2K5rMwTbTxQ+cu7rgglBY1ricN9s4TjSy2zkAz5EgG7aJede9B8E2WlA18TYM6S4F/OHSCeBnhW3QiFgXeeOi47R1GRI56tMdWkt68m1Cc1JdAJVt6/aLi+NIm1yfflWNFdN/bUgs7o1x6x+CBKvbR1YnS5jdfg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bYcjVrWhIRhByjbAsj0XKTTuIp54RW0MRu/QBcwaDpM=;
 b=RauyGcgc9PFR2fYDs1wOBqrBzseI3Fy7+nTC/pGw5sPdnYMiJh2TivCc0NxFy5UBg41QZrzFLN5PXvaDbLuLrDe9uvq5GoOt4aDGzAmbidE+4vCuy+ct6JmmZqOQJXgBJyUSio+X2r++n31BZWZFIqJ9l+186ihx4NM/qrP4JfR/d2ePjG1VlVpPjzC0cHqifBXrQxUiWFtUhuiRzd9ZTEJV5W9rsInhFakgGKbKyJu65mtZDZTgnIkW1xr1/JiznoJk2+hArHQ22nwRCYI7JzWlAQeYYbTrgLR+lXGdbHSrXtg/FTWEyePgHXA8XbPcJm4P34mN3Npqo6gZ2ZlkTA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dd86cedc-30c3-3acb-c67e-313216ed98a3@suse.com>
Date: Wed, 24 Aug 2022 12:42:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v10 2/9] xen: do not free reserved memory into heap
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Penny Zheng <Penny.Zheng@arm.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20220816023658.3551936-1-Penny.Zheng@arm.com>
 <20220816023658.3551936-3-Penny.Zheng@arm.com>
 <6c2d0111-3ac3-83aa-145f-432f5fae0167@suse.com>
 <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8430ec87-bbd2-d074-b313-84d5f31def1e@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b08a99a3-66ff-4476-fbec-08da85bd55d4
X-MS-TrafficTypeDiagnostic: VI1PR04MB5070:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6M8ird98qI3xTPuFdTnVJym2fQmbN12Csd6c49jpX6XPRXTO/aLF62CGHpC72/DORgjNgIfCHfNOQtCeAKBizJTA77lG6nGZUbadQ7kHsNGwyppI40qBLGm7zaXjsrbAvWjXlPe8WqggANBr7Vv0lClI+YZLBNKAZONbtkZC0YatDfaDSwK1RO+tjcOj+NwwJC44fK35rpfz6OsGWwAnQQmTMV6NZ0So+xE6vnxh4LhopbPeLzTPqjXks1/tq0QGSVUKpQ8Ep7oKPdN9gfD0AXpFpHySPvAcIoVFrSstQtUJCRtokoEeWVfpYMNhTD3ZwkwtFqcTzMQ2XJiAnXrT8RxY/kl8G04djSIageYbJmW8IzMHcIs/INIymFTXCp6nyJgPxQuGY6XVaMSYVU2SNLQqPcc5fWt1xvRk7f74OO6sz6U1Q0WAUNijp1Jftn32s96bOrqvwseJVSW81RQcq7emmyM+2viH6aHe7DPcaBs/xS4rM3GwPCyefpXo9P08tWJmX7pzRkBS3y+yM+ch1TwQlJniMEZ/3/W9xyAJnWeeMtWJJIF2M22eP4iIahcS0haq84bObbyDRy7PQqhirjtkfXBgW+NtTw7TFfP5whMUKhqLmiZKXk6dp1Lu53R7K9uPdDhySGqQ5P87cwL8g3sh4W9OY81lLp9nsj5LpyrfkD2yE4rVy+c9FHFZvyDdATmRnnRpGfmZTUGBp2yD5gLdMMmISB3E1C4z1xP5K8tqKPmZlI5NphQCafltM09ZVSFj9bBi4e0/lWTt6Guaj2gY5XJF4Uy+lf7PJMiQIuc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(39860400002)(376002)(136003)(346002)(5660300002)(6486002)(478600001)(7416002)(8936002)(186003)(31696002)(2616005)(86362001)(41300700001)(6506007)(83380400001)(2906002)(53546011)(38100700002)(6512007)(26005)(36756003)(31686004)(54906003)(110136005)(316002)(8676002)(66556008)(4326008)(66476007)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Vk1LUnFDSUs3aSsrTjlaVzhJUWM1TTM5MG01MkozLzBhcE5mMGRqOGRIR0ds?=
 =?utf-8?B?dkE2TFNXZ28zNHZPMlpGVkhhVUVuakVnRlYyNzhFUW8rUjl6eE0rU3RCQWxn?=
 =?utf-8?B?Z2JlbDZucGEwNGlic2VvUFpqREwxSHNIeHowZ2V0MUgwcDBkUHlDSkVYbExp?=
 =?utf-8?B?U0xEd3JwTVQrT2V2WmlJOUVYNVE5RHRUWS9nWllweEkwUjdwS2M2VU1ac0lF?=
 =?utf-8?B?ekEyeFVvR0pUYTIzQmxDVTI0REtJcjVPSlVjQkFwaGZ6QkpKWjFWMzFuYXFZ?=
 =?utf-8?B?bENvbmRxazgxaTBqMExDeDRkUDNWTzIrMUZUMSs1eVQ5S3hCalF0VlFnS1g1?=
 =?utf-8?B?MXhGRW8xNWtRQ00xSGpkT21kUEVrUklEU2ZRUmU5Z1lPdnYxUGlkc0RkYm5o?=
 =?utf-8?B?MFBGN3h4R3d5WDZSYmpCZmVIcHhiY3BKRnU2Qkx2ZjJwQk8vNytpNERRN1Yz?=
 =?utf-8?B?RlZQSjhNRE4rVVdiOTAzVk41aGlCTTN3K3ZzY0Z6Z1Y0MmRhTVlKeGFCdmtl?=
 =?utf-8?B?TjhsRWdqcFZTUEgzdW5POVJnY25Ga2xJdkVzb1N2U3VXd3AyWDB5T3Q3VkNL?=
 =?utf-8?B?Q0dCOGw5ZTExQ1I3YXg5eVlSRHV2T2RoeDJUMStnKzJ0RkkzUDZLamlTdTJv?=
 =?utf-8?B?L0VYaUlLSHhrVUEva1FVWHhQaDhjNXgwdG9MYUw2ODBsaEFWbEJLSGl0YXBt?=
 =?utf-8?B?M3N3My84MkR2TEFoYWdEM2hHcGJHLzFYMjM3MXJKcjl1bmRJTW5aUHFIbU0r?=
 =?utf-8?B?d0V4SUJ5eVZoV2krOUJrS1QrYnYwN0lwYXkwSDM1Vm5kTjd1T0ZjU1pzREph?=
 =?utf-8?B?UmpuakhIaW9yYkFuTU1RV2VidXBnTW1aMEdvY1JHcDlQRlpUYUQvTy9pU1RE?=
 =?utf-8?B?bHNLUmtxRTAzV2xVeEhQRFE3QWx4ZVFGaE5nTzBxcDMxWDZzWkRYdzFtUzZm?=
 =?utf-8?B?TmdsSE43RFUvMGZrTENXeEgwTDRHcU80a2drQWJ5dzRVWEFzVjlWYkhzQVNK?=
 =?utf-8?B?ZENWU3FEODVmR1hMakNkS0lsZ1BlTzhFS0lwK25mMDlhNW9KV2JIQ2ZGNzhx?=
 =?utf-8?B?cEVaUC9FdFRRdVFNVXpBVnRsamhselk2cjAyaWJLbVpLdG1WSkdRRzdCcHlE?=
 =?utf-8?B?aVQxZjJCRFRmZUVEQ0QvTXZialJnUjREU0YvTGtVYVNvY1cyWnd3VmdXZkJC?=
 =?utf-8?B?L01SSVF3RGFFS0FkV05zK3FBUWpwZGZYWmNITXNENzExK21iNjcwWmlIY2gz?=
 =?utf-8?B?SkpGMXZBd0ZxQVR2TGNCd2xlTjdpbzhwU0tIN2NVK0E1QUt5OVZGbGJMS0Ns?=
 =?utf-8?B?VnNOYWlDMkIzcHF0RFBLNmRHSnlkMGNwT1cwWWxUWDh4NVo4VUx1V0Nic2Fa?=
 =?utf-8?B?TzZNMXJMNTh1bTN0K0RjYzl2bEtuRW5jb093WndIbE01dEtERHZjZnhqYVFa?=
 =?utf-8?B?aXEycllFcG9XdHlsV2NiTFZXOU1jMHVBb255Wlc3dnl3d3lBUEJmMURNUWQ5?=
 =?utf-8?B?ZTJ1Q1cxQzRpY1JTb3J1enlTZ0VCZk42M1U4ekRaY3g3SGtGOTA2SmdpNDR0?=
 =?utf-8?B?QVdNaFBIWG9LUFJlUGNWRlVCM3dPSVpSRjZyVmYzY25vaVI2UFA0Lzlkd1pi?=
 =?utf-8?B?OVRuazM3MnJkdWxFVmwvakZ6a0VJb2pQdmdIY0FkVTJ4K1lxUWltT3dCY1Q5?=
 =?utf-8?B?M3lZWThaNVYzOUhzdVhBZ1h4OWNDNENNaXFuKzVERk5VcmthUzF0NmMvSGFk?=
 =?utf-8?B?Q2ptMWZiNmJJbmNUZmxBazNiN0NqY3JtNnppSUgvKzM3WVpBcjN6TWFYVkZD?=
 =?utf-8?B?K0tVVzVuVU8rWSttZ3QwV0FrM29xT1ZZRC9uK1pIMlRzemIzdEFYdTF2Rk9a?=
 =?utf-8?B?aHlZREdPVEVGMGlnV2RYempoalBVc2czM3o0K0srclA1ZGEwQjdGQjljNXRn?=
 =?utf-8?B?ZTFtellSWkNHRXRhWG5lV1d2NGJ6RGt4OExZd2QwdnQvRWNYaWtRMzVkcGM2?=
 =?utf-8?B?U3VBZ3lpMXZKdzRiQWZzUU5WN0cwNzgrYXVEdnpxcnBCRkk5UnVONHhHdFBR?=
 =?utf-8?B?ZnpGZkVNUFRGVUN4Uk14cG9sZ2NsZ2RDeTdWRnpsK3J3VjU2cC9pK01iTTZB?=
 =?utf-8?Q?EEWZrxedw04EvpaguAuDjEYst?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b08a99a3-66ff-4476-fbec-08da85bd55d4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 10:42:26.2931
 (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: 1tA3UbyPcfMuojo2jdnlKsmpauxVGDH/kMLcuLel7llbhAKUsb3HnLgm4ufsWqvz5ZX7bUZUi26rNk6eUNlUzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5070

On 24.08.2022 11:03, Julien Grall wrote:
> Hi,
> 
> On 16/08/2022 07:40, Jan Beulich wrote:
>> On 16.08.2022 04:36, Penny Zheng wrote:
>>> +void free_domstatic_page(struct page_info *page)
>>> +{
>>> +    struct domain *d = page_get_owner(page);
>>> +    bool drop_dom_ref;
>>> +
>>> +    if ( unlikely(!d) )
>>> +    {
>>> +        ASSERT_UNREACHABLE();
>>> +        printk("The about-to-free static page %"PRI_mfn" must be owned by a domain\n",
>>> +               mfn_x(page_to_mfn(page)));
>>> +        return;
>>> +    }
>>
>> For the message to be useful as a hint if the assertion triggers, it
>> wants printing ahead of the assertion. I also think it wants to be a
>> XENLOG_G_* kind of log level, so it would be rate limited by default
>> in release builds. Just to be on the safe side.
> 
> +1
> 
>> (I'm not in favor of
>> the log message in the first place, but I do know that Julien had
>> asked for one.)
> TBH, I think all ASSERT_UNREACHABLE() paths should be accompanied with a 
> printk().

If you want more than just the line number, use ASSERT() with a meaningful
expression. That'll be easily a fair replacement for a separate printk().
And no, as said in reply to JÃ¼rgen's patch, ASSERT() and friends should
not leave any traces in non-debug builds. If you want such, use WARN_ON()
or BUG_ON().

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:46:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392399.630725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQntY-00084W-Ir; Wed, 24 Aug 2022 10:46:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392399.630725; Wed, 24 Aug 2022 10:46:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQntY-00084P-Ew; Wed, 24 Aug 2022 10:46:00 +0000
Received: by outflank-mailman (input) for mailman id 392399;
 Wed, 24 Aug 2022 10:45:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQntW-00084J-TI
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:45:58 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efce9acd-2399-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 12:45:58 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 922CF204AC;
 Wed, 24 Aug 2022 10:45:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5276F13780;
 Wed, 24 Aug 2022 10:45:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kDdzEmUBBmMQIwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 10:45:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efce9acd-2399-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661337957; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=kuU5JaL5xi1iBNEQCkhLsI2pfVugRqKVsbqhjzmKszc=;
	b=LRqI4QCpVN+w+tzj7JYl3GiC0AILI7gP7HL7Pn+2cojgNa+vO4KP6QNPwhP9sOxwN468DY
	kANdEIyZzw6QSh+m6Al6E/jyggTQMffKG3G6GP2pvp7U7kbHkt98mvL6q82IJWpktif+VS
	J3ggRkEuI/5Z/YytPKlIuRZfbe9XryI=
Message-ID: <de8a9208-0936-27db-e3ec-742254ff0525@suse.com>
Date: Wed, 24 Aug 2022 12:45:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Henry.Wang@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220824102225.11431-1-jgross@suse.com>
 <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
In-Reply-To: <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------je39ZVg13IGl03Uwr8hI94zb"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------je39ZVg13IGl03Uwr8hI94zb
Content-Type: multipart/mixed; boundary="------------M7cDwDd498D3D1wmODmd3Mju";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Henry.Wang@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Message-ID: <de8a9208-0936-27db-e3ec-742254ff0525@suse.com>
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
References: <20220824102225.11431-1-jgross@suse.com>
 <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
In-Reply-To: <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>

--------------M7cDwDd498D3D1wmODmd3Mju
Content-Type: multipart/mixed; boundary="------------Wcva10PB2wRob7VVvw0hXvXb"

--------------Wcva10PB2wRob7VVvw0hXvXb
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTI6MzUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNC4wOC4yMDIy
IDEyOjIyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gSGl0dGluZyBhbiBBU1NFUlRfVU5S
RUFDSEFCTEUoKSBpcyBhbHdheXMgd3JvbmcsIHNvIGV2ZW4gaW4gcHJvZHVjdGlvbg0KPj4g
YnVpbGRzIGEgd2FybmluZyBzZWVtcyB0byBiZSBhcHByb3ByaWF0ZSB3aGVuIGhpdHRpbmcg
b25lLg0KPiANCj4gSSBkaXNhZ3JlZSwgZm9yIHR3byByZWFzb25zOiBUaGlzIHZpb2xhdGVz
IHRoZSBpbXBsaWNhdGlvbiBvZiBOREVCVUcNCj4gbWVhbmluZyBBU1NFUlQoKSBhbmQgZnJp
ZW5kcyBleHBhbmQgdG8gbm8gYWN0dWFsIGNvZGUuIFBsdXMgaWYgZG9pbmcgc28NCg0KVGhp
cyBpcyBzb21ldGhpbmcgd2UgY2FuIGNoYW5nZSBJTUhPLg0KDQo+IGZvciBBU1NFUlRfVU5S
RUFDSEFCTEUoKSwgd2h5IHdvdWxkIHdlIG5vdCBkbyB0aGUgc2FtZSBmb3IgQVNTRVJUKCk/
DQoNClRoZXJlIGFyZSBtdWx0aXBsZSByZWFzb25zIHRvIGhhdmUgQVNTRVJUKClzLiBTb21l
IHNlcnZlIGFzIGEga2luZCBvZg0KZG9jdW1lbnRhdGlvbiAoZS5nLiB0byBkb2N1bWVudCB0
aGF0IHRoZSBwcm9ncmFtbWVyIHRob3VnaHQgb2YgYSBzcGVjaWFsDQpjYXNlIG5vdCBiZWlu
ZyBwb3NzaWJsZSksIG9yIHRoZXkgYXJlIG1lYW50IHRvIGNhdGNoIGhhcmQgdG8gZGlhZ25v
c2UNCmJ1Z3MgcmF0aGVyIGVhcmx5IGluc3RlYWQgb2YgbGV0dGluZyB0aGVtIGhpdCBsYXRl
ciBpbiBhIHNpdHVhdGlvbiB3aGVyZQ0KaXQgd291bGRuJ3QgYmUgY2xlYXIgd2hhdCBjYXVz
ZWQgdGhlbS4gQWRkaW5nIGEgV0FSTigpIGZvciBhbGwgb2YgdGhlc2UNCmNhc2VzIGlzbid0
IHJlYWxseSBhcHByb3ByaWF0ZSwgZXNwZWNpYWxseSBhcyB0aGlzIG1pZ2h0IGltcGFjdA0K
cGVyZm9ybWFuY2UgZHVlIHRvIGFkZGVkIHRlc3RzLCB3aGljaCBpc24ndCB0aGUgY2FzZSBm
b3IgdGhlb3JldGljYWxseQ0KdW5yZWFjaGFibGUgY29kZS4NCg0KPiBUaGVyZSdzIGEgcmVh
c29uIHdlIGhhdmUgQVNTRVJUKCkgYW5kIGZyaWVuZHMgYW5kLCBpbmRlcGVuZGVudGx5LA0K
PiBXQVJOX09OKCkgLyBCVUdfT04oKSBldCBhbC4NCg0KV2UgbWlnaHQgd2FudCB0byBpbnRy
b2R1Y2Ugc29tZXRoaW5nIGxpa2UgQVNTRVJUX09SX1dBUk4oKS4gSSdtIHN1cmUNCnRoaXMg
Y291bGQgYmUgdXNlZnVsIGluIHNvbWUgY2FzZXMuDQoNCg0KSnVlcmdlbg0K
--------------Wcva10PB2wRob7VVvw0hXvXb
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Wcva10PB2wRob7VVvw0hXvXb--

--------------M7cDwDd498D3D1wmODmd3Mju--

--------------je39ZVg13IGl03Uwr8hI94zb
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMGAWQFAwAAAAAACgkQsN6d1ii/Ey+4
3Af/RjDKspZoSwhWlaMii/aIEtXN8GNmf+Mxeo9wdxbnwod0Z8O5nVIclSec+TFQOibKYr1uKZhS
nbIHSTXKY08nI1gcoXeaClZFsHTBVJR7cWRCuKq7fiI5JZqo1nDFQSq292T4TYzNyGizusLKHQV4
ncPycVQKSQ92VJPOxtihNFeNiKYpXzFP0lgz8wjveRSDqkqm2vQUg02+RNTnr6OCJAZYXKamSGmn
8+lOnEhl56BHk4CARPuY+7BMsYoglWej60WUjBUKclBsWsrvnrZ8tKy13NHUdzGTilNIWV0uCzz3
9wd21YSlFzr2olnjDQ+I5/lv9d+xF1DlhCLg3rdy7w==
=jHjw
-----END PGP SIGNATURE-----

--------------je39ZVg13IGl03Uwr8hI94zb--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:59:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:59:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392409.630769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo72-00027y-KF; Wed, 24 Aug 2022 10:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392409.630769; Wed, 24 Aug 2022 10:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo72-00027l-Gb; Wed, 24 Aug 2022 10:59:56 +0000
Received: by outflank-mailman (input) for mailman id 392409;
 Wed, 24 Aug 2022 10:59:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQo70-0001Gd-Pf
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:59:54 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e0e3da7d-239b-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 12:59:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0e3da7d-239b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661338793;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Hh19WK2pWTvwywXOkao9tOq09kUC7LQDI65VpWZ9804=;
  b=RV3jqLA0ubkB21wHe3K2hgYvGnBGXtVWuFrmKNbQ2oQUzyQMBXWQoH5p
   +zCS+Hkua9BF2Lr4XgN3TnQo2ohgl7O1hHQc+9U2mNyze8QYoDdHEBOEH
   x+xlou2KzflruSAj0lBcZlola1Bq6BVcDfpvdEBSBVLgmkiI7d74ui81p
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 79232773
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:sDPgIqhcTr5B3pebbTS1dzapX161AxAKZh0ujC45NGQN5FlHY01je
 htvW2GAa6uMajP0etolOYrk/B8HupfRm9FrTlQ5/isyRiMb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0
 T/Ii5S31GSNhnglaQr414rZ8Ek15KSo5GtB1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ
 fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4
 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eH48kxfxtQkR0z
 vU8JBs2Sh6upfrtz+fuIgVsrpxLwMjDOYoevjdrzC3DDOZgSpfGK0nIzYYGhnFq3JkIRKuAI
 ZpCAdZsRE2ojxlnE1EbEp8h2syvgWHyaWZwo1OJv6snpWPUyWSd1ZCyYYCOIIPVHq25mG6Jr
 zjm0mCnWSocC8aAmDaMqlmhtvDAyHaTtIU6S+Tjq68CbEeo7nMXIA0bUx28u/bRomyUVs9bK
 kcU0jEztqV0/0uuJvHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3pWWkQyoI2swF1QLQSMvdi8Lzvv7+45m23ojUe1f/L6JYszdQG+um
 mrT/Xhi2t3/nuZQifzloAmvbyaE48GQE1Vrvli/sneNtFsRWWKzW2C/BbE3B95kJZ3RcFSOt
 WNsdyO2vLFXVsHleMBgrYww8FCVCxWtamS0baZHRcVJythU0yfLkXpsyD9/Plx1Fc0PZCXkZ
 kTe0SsIusEKZiT7PPUpONLhYyjP8UQHPYWNaxwpRoAWPsgZmPGvpkmCmnJ8L0iyyRNxwMnTy
 L+QcNq2DGZyNJmLOAGeHr5FuYLHMwhkmgs/s7inkEn8uVdfDVbJIYo43KymNLlis/jZ+l2Mq
 r6y9aKikn1ibQE3WQGPmaZ7ELzABSFT6UzewyCPStO+Hw==
IronPort-HdrOrdr: A9a23:Lj+IwqNsuaWczMBcTvujsMiBIKoaSvp037Eqv3oRdfUzSL3hqy
 nOpoVj6faaskdzZJhNo7+90ey7MBfhHP1OkO8s1NWZLWvbUQKTRekIh+aP/9SjIVyYygc079
 YaT0EUMr3N5DZB4/oSmDPIduod/A==
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="79232773"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 2/4] x86/hvmloader: Don't build as PIC/PIE
Date: Wed, 24 Aug 2022 11:59:13 +0100
Message-ID: <20220824105915.32127-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220824105915.32127-1-andrew.cooper3@citrix.com>
References: <20220824105915.32127-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

HVMLoader is not relocatable in memory, and 32bit PIC code has a large
overhead.  Build it as non-relocatable.

Bloat-o-meter reports a net:
  add/remove: 0/0 grow/shrink: 3/107 up/down: 14/-3370 (-3356)

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/firmware/hvmloader/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile
index 4f31c881613c..eb757819274b 100644
--- a/tools/firmware/hvmloader/Makefile
+++ b/tools/firmware/hvmloader/Makefile
@@ -23,7 +23,8 @@ include $(XEN_ROOT)/tools/firmware/Rules.mk
 # SMBIOS spec requires format mm/dd/yyyy
 SMBIOS_REL_DATE ?= $(shell date +%m/%d/%Y)
 
-CFLAGS += $(CFLAGS_xeninclude)
+CFLAGS += $(CFLAGS_xeninclude) -fno-pic
+$(call cc-option-add,CFLAGS,-no-pie)
 
 # We mustn't use tools-only public interfaces.
 CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:59:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392407.630747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo6u-0001WE-3q; Wed, 24 Aug 2022 10:59:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392407.630747; Wed, 24 Aug 2022 10:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo6u-0001W7-0b; Wed, 24 Aug 2022 10:59:48 +0000
Received: by outflank-mailman (input) for mailman id 392407;
 Wed, 24 Aug 2022 10:59:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQo6s-0001Gd-Sv
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:59:47 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dcc85200-239b-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 12:59:45 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dcc85200-239b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661338785;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ckFon/A44dzmeOdZ3hprwgRwV7uXCMZYwDX4BIU05i0=;
  b=b4Bfkfrl/jJWUQcVUtsNW5lKO6VKNSdSxS82W41/gz+F9J7zt0ki1uzh
   j4At7B/X/xI01Mip26iWkvAZT+yQeHreoAzex7G4ABA6KLuiCh/FvrK6n
   1obx91Qms5/Ak3Oz1zVM25UcDYmL8soU3glsdU4dIuxUEZgXre5KbAl9q
   s=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78010165
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Vwk6qa/06gsRTngByeaiDrUD436TJUtcMsCJ2f8bNWPcYEJGY0x3m
 mVJXT+CMvqIYGqheth3OoTj9EIP78OEyYdnHVA+pC48E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM14Kyr0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGBkhnBqI49cROM15sx
 f0lGh0jRDymvrfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoShtDIFoITrk5m/+lnCLXeDxEslOF46Ew5gA/ySQugOC0aIOLJ7RmQ+0Ot1nfp
 W773ligH0snF9mO7yeZynSz07qncSTTB9tJSezQGuRRqEKX7nweDlsRT1TTiduTh1O6WtlfA
 1cJ4Sdopq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYXiUp4y7jTyQABoqD18DWB0pYyEpxuC29enfkSnzosZf/L+d14OrQGupk
 mDW8UDSlJ1I05dVivzTEUTvxmv1+8OXFlNdChD/BDrN0+9vWGKyi2VEA3D/5O0IEouWR0LpU
 JMsy5nHt7Bm4X1geUWwrAQx8FKBva/t3MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK510IvsACbSH0Nv8nC25UNyjN5fmIKDgYfqqMMoomjmZZLmdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMEv2/Z9PlWPuL9rxJJdxmUjSM0uPGs2gp/lmuJLCDEOopUAtagLVMbtktvvd+W04M
 b93bqO39vmWa8WmCgG/zGLZBQpiwaQTbXwul/FqSw==
IronPort-HdrOrdr: A9a23:xMyW762yg68Jun+FpUPvoAqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoVj6faUskd2ZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOcOEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="78010165"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 4/4] x86/hvmloader: Move various helpers to being static inlines
Date: Wed, 24 Aug 2022 11:59:15 +0100
Message-ID: <20220824105915.32127-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220824105915.32127-1-andrew.cooper3@citrix.com>
References: <20220824105915.32127-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The IO port, MSR, IO-APIC and LAPIC accessors compile typically to single or
pairs of instructions, which is less overhead than even the stack manipulation
to call the helpers.

Move the implementations from util.c to being static inlines in util.h

In addition, turn ioapic_base_address into a constant as it is never modified
from 0xfec00000 (substantially shrinks the IO-APIC logic), and make use of the
"A" constraint for WRMSR/RDMSR like we already do for RDSTC.

Bloat-o-meter reports a net:
  add/remove: 0/13 grow/shrink: 1/19 up/down: 6/-743 (-737)

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/firmware/hvmloader/config.h    |  2 +-
 tools/firmware/hvmloader/hvmloader.c |  1 -
 tools/firmware/hvmloader/mp_tables.c |  2 +-
 tools/firmware/hvmloader/util.c      | 78 +-------------------------------
 tools/firmware/hvmloader/util.h      | 88 +++++++++++++++++++++++++++++++-----
 5 files changed, 79 insertions(+), 92 deletions(-)

diff --git a/tools/firmware/hvmloader/config.h b/tools/firmware/hvmloader/config.h
index c82adf6dc508..b16fad300fbc 100644
--- a/tools/firmware/hvmloader/config.h
+++ b/tools/firmware/hvmloader/config.h
@@ -44,7 +44,7 @@ extern struct bios_config ovmf_config;
 #define PAGE_SHIFT 12
 #define PAGE_SIZE  (1ul << PAGE_SHIFT)
 
-extern uint32_t ioapic_base_address;
+#define IOAPIC_BASE_ADDRESS 0xfec00000
 extern uint8_t ioapic_version;
 
 #define IOAPIC_ID           0x01
diff --git a/tools/firmware/hvmloader/hvmloader.c b/tools/firmware/hvmloader/hvmloader.c
index c58841e5b556..f8af88fabf24 100644
--- a/tools/firmware/hvmloader/hvmloader.c
+++ b/tools/firmware/hvmloader/hvmloader.c
@@ -113,7 +113,6 @@ asm (
 
 unsigned long scratch_start = SCRATCH_PHYSICAL_ADDRESS;
 
-uint32_t ioapic_base_address = 0xfec00000;
 uint8_t ioapic_version;
 
 bool acpi_enabled;
diff --git a/tools/firmware/hvmloader/mp_tables.c b/tools/firmware/hvmloader/mp_tables.c
index d207ecbf00c9..77d3010406d0 100644
--- a/tools/firmware/hvmloader/mp_tables.c
+++ b/tools/firmware/hvmloader/mp_tables.c
@@ -229,7 +229,7 @@ static void fill_mp_ioapic_entry(struct mp_ioapic_entry *mpie)
     mpie->ioapic_id = IOAPIC_ID;
     mpie->ioapic_version = ioapic_version;
     mpie->ioapic_flags = 1; /* enabled */
-    mpie->ioapic_addr = ioapic_base_address;
+    mpie->ioapic_addr = IOAPIC_BASE_ADDRESS;
 }
 
 
diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 581b35e5cfb5..d1dcc2844a43 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -42,60 +42,6 @@ bool check_overlap(uint64_t start, uint64_t size,
             (start < reserved_start + reserved_size);
 }
 
-void wrmsr(uint32_t idx, uint64_t v)
-{
-    asm volatile (
-        "wrmsr"
-        : : "c" (idx), "a" ((uint32_t)v), "d" ((uint32_t)(v>>32)) );
-}
-
-uint64_t rdmsr(uint32_t idx)
-{
-    uint32_t lo, hi;
-
-    asm volatile (
-        "rdmsr"
-        : "=a" (lo), "=d" (hi) : "c" (idx) );
-
-    return (lo | ((uint64_t)hi << 32));
-}
-
-void outb(uint16_t addr, uint8_t val)
-{
-    asm volatile ( "outb %%al, %%dx" : : "d" (addr), "a" (val) );
-}
-
-void outw(uint16_t addr, uint16_t val)
-{
-    asm volatile ( "outw %%ax, %%dx" : : "d" (addr), "a" (val) );
-}
-
-void outl(uint16_t addr, uint32_t val)
-{
-    asm volatile ( "outl %%eax, %%dx" : : "d" (addr), "a" (val) );
-}
-
-uint8_t inb(uint16_t addr)
-{
-    uint8_t val;
-    asm volatile ( "inb %%dx,%%al" : "=a" (val) : "d" (addr) );
-    return val;
-}
-
-uint16_t inw(uint16_t addr)
-{
-    uint16_t val;
-    asm volatile ( "inw %%dx,%%ax" : "=a" (val) : "d" (addr) );
-    return val;
-}
-
-uint32_t inl(uint16_t addr)
-{
-    uint32_t val;
-    asm volatile ( "inl %%dx,%%eax" : "=a" (val) : "d" (addr) );
-    return val;
-}
-
 uint8_t cmos_inb(uint8_t idx)
 {
     outb(0x70, idx);
@@ -493,28 +439,6 @@ void *scratch_alloc(uint32_t size, uint32_t align)
     return (void *)(unsigned long)s;
 }
 
-uint32_t ioapic_read(uint32_t reg)
-{
-    *(volatile uint32_t *)(ioapic_base_address + 0x00) = reg;
-    return *(volatile uint32_t *)(ioapic_base_address + 0x10);
-}
-
-void ioapic_write(uint32_t reg, uint32_t val)
-{
-    *(volatile uint32_t *)(ioapic_base_address + 0x00) = reg;
-    *(volatile uint32_t *)(ioapic_base_address + 0x10) = val;
-}
-
-uint32_t lapic_read(uint32_t reg)
-{
-    return *(volatile uint32_t *)(LAPIC_BASE_ADDRESS + reg);
-}
-
-void lapic_write(uint32_t reg, uint32_t val)
-{
-    *(volatile uint32_t *)(LAPIC_BASE_ADDRESS + reg) = val;
-}
-
 #define PCI_CONF1_ADDRESS(bus, devfn, reg) \
     (0x80000000 | (bus << 16) | (devfn << 8) | (reg & ~3))
 
@@ -943,7 +867,7 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
 
     config->lapic_base_address = LAPIC_BASE_ADDRESS;
     config->lapic_id = acpi_lapic_id;
-    config->ioapic_base_address = ioapic_base_address;
+    config->ioapic_base_address = IOAPIC_BASE_ADDRESS;
     config->ioapic_id = IOAPIC_ID;
     config->pci_isa_irq_mask = PCI_ISA_IRQ_MASK; 
 
diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index ac7ff264e247..b6108a705eab 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -7,6 +7,7 @@
 #include <stdbool.h>
 #include <xen/xen.h>
 #include <xen/hvm/hvm_info_table.h>
+#include "config.h"
 #include "e820.h"
 
 /* Request un-prefixed values from errno.h. */
@@ -61,28 +62,91 @@ static inline int test_and_clear_bit(int nr, volatile void *addr)
 }
 
 /* MSR access */
-void wrmsr(uint32_t idx, uint64_t v);
-uint64_t rdmsr(uint32_t idx);
+static inline void wrmsr(uint32_t idx, uint64_t v)
+{
+    asm volatile ( "wrmsr" :: "c" (idx), "A" (v) : "memory" );
+}
+
+static inline uint64_t rdmsr(uint32_t idx)
+{
+    uint64_t res;
+
+    asm volatile ( "rdmsr" : "=A" (res) : "c" (idx) );
+
+    return res;
+}
 
 /* I/O output */
-void outb(uint16_t addr, uint8_t  val);
-void outw(uint16_t addr, uint16_t val);
-void outl(uint16_t addr, uint32_t val);
+static inline void outb(uint16_t addr, uint8_t val)
+{
+    asm volatile ( "outb %%al, %%dx" :: "d" (addr), "a" (val) );
+}
+
+static inline void outw(uint16_t addr, uint16_t val)
+{
+    asm volatile ( "outw %%ax, %%dx" :: "d" (addr), "a" (val) );
+}
+
+static inline void outl(uint16_t addr, uint32_t val)
+{
+    asm volatile ( "outl %%eax, %%dx" :: "d" (addr), "a" (val) );
+}
 
 /* I/O input */
-uint8_t  inb(uint16_t addr);
-uint16_t inw(uint16_t addr);
-uint32_t inl(uint16_t addr);
+static inline uint8_t inb(uint16_t addr)
+{
+    uint8_t val;
+
+    asm volatile ( "inb %%dx,%%al" : "=a" (val) : "d" (addr) );
+
+    return val;
+}
+
+static inline uint16_t inw(uint16_t addr)
+{
+    uint16_t val;
+
+    asm volatile ( "inw %%dx,%%ax" : "=a" (val) : "d" (addr) );
+
+    return val;
+}
+
+static inline uint32_t inl(uint16_t addr)
+{
+    uint32_t val;
+
+    asm volatile ( "inl %%dx,%%eax" : "=a" (val) : "d" (addr) );
+
+    return val;
+}
 
 /* CMOS access */
 uint8_t cmos_inb(uint8_t idx);
 void cmos_outb(uint8_t idx, uint8_t val);
 
 /* APIC access */
-uint32_t ioapic_read(uint32_t reg);
-void ioapic_write(uint32_t reg, uint32_t val);
-uint32_t lapic_read(uint32_t reg);
-void lapic_write(uint32_t reg, uint32_t val);
+static inline uint32_t ioapic_read(uint32_t reg)
+{
+    *(volatile uint32_t *)(IOAPIC_BASE_ADDRESS + 0x00) = reg;
+    return *(volatile uint32_t *)(IOAPIC_BASE_ADDRESS + 0x10);
+}
+
+static inline void ioapic_write(uint32_t reg, uint32_t val)
+{
+    *(volatile uint32_t *)(IOAPIC_BASE_ADDRESS + 0x00) = reg;
+    *(volatile uint32_t *)(IOAPIC_BASE_ADDRESS + 0x10) = val;
+}
+
+#define LAPIC_BASE_ADDRESS  0xfee00000
+static inline uint32_t lapic_read(uint32_t reg)
+{
+    return *(volatile uint32_t *)(LAPIC_BASE_ADDRESS + reg);
+}
+
+static inline void lapic_write(uint32_t reg, uint32_t val)
+{
+    *(volatile uint32_t *)(LAPIC_BASE_ADDRESS + reg) = val;
+}
 
 /* PCI access */
 uint32_t pci_read(uint32_t devfn, uint32_t reg, uint32_t len);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:59:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392408.630758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo6w-0001m2-Bl; Wed, 24 Aug 2022 10:59:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392408.630758; Wed, 24 Aug 2022 10:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo6w-0001lv-8L; Wed, 24 Aug 2022 10:59:50 +0000
Received: by outflank-mailman (input) for mailman id 392408;
 Wed, 24 Aug 2022 10:59:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQo6v-0001Gd-F5
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:59:49 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddf38264-239b-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 12:59:48 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddf38264-239b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661338788;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Ea/jZybnglsFeEUUogUtQhSeX6C4gXqXHZmw0VungnM=;
  b=HtyCeLI6lV2V58EgSV5c5dRbDNw4ZHHnMAh7hqufekUwqER9cN6mqlTr
   0OLWhd9O020mIeEEWYBiKKwSx5yaHE+1V1XD9PerCHCntVAHdf9wsyJca
   4O552hogsL+H4P1cNmoeS8nRu/g6fK1ELvEjehOiq/Cu1EhWXKRmvPyYQ
   M=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 81343715
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:znvxNq8b1l343a/kqLatDrUD436TJUtcMsCJ2f8bNWPcYEJGY0x3n
 GMWWj3XOKrZMTD2c9p2bdzjoE8Eu5LVmoMwGgBoryk8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM14Kyr0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGFwJmMaIy0f9LGCJEp
 dYHaz0KP0vEiLfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoShtDIFoITrk5m/+lnCLXeDxEslOF46Ew5gA/ySQhieOxa4WMJ7RmQ+0MpU+yl
 mnE/l2gGzUnKPiuw2Gv0y2F07qncSTTB9tJSezQGuRRqEKX7nweDlsRT1TTiduTh1O6WtlfA
 1cJ4Sdopq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYWnepru7hxirBTFWJz8oemwJSlpepNa29enfkSnzosZf/L+d14OrQGupk
 mDW8UDSlJ1I05dVivzTEUTvxmv1+8OXFlNdChD/BDrN0+9vWGKyi2VEA3D/5O0IEouWR0LpU
 JMsy5nHt7Bm4X1geUWwrAQx8FKBva/t3MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK510IvsACbSH0Nv8nC25UNyjN5fmIKDgYfqqMMoomjmZZLmdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMEv2/Z9PlWPuL9rxJJdxmUjSM0uPGs2gp/lmuJLCDEOopUAtagLVMbtktvvd+W04M
 b93bqO39vmWa8WmCgG/zGLZBQliwaQTbXwul/FqSw==
IronPort-HdrOrdr: A9a23:F4VgE67QtppRJbWfUwPXwPLXdLJyesId70hD6qhwISY1TiX+rb
 HXoB17726MtN9/YgBCpTntAsa9qDbnhPpICOoqTNGftWvdyQmVxehZhOOIqVCNJ8S9zJ876U
 4JSdkENDSaNzhHZKjBjjVQa+xQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="81343715"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 1/4] x86/hvmloader: SMP improvements
Date: Wed, 24 Aug 2022 11:59:12 +0100
Message-ID: <20220824105915.32127-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220824105915.32127-1-andrew.cooper3@citrix.com>
References: <20220824105915.32127-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

 * Use MOV CR instead of LMSW.  LMSW has no decode assist at all on AMD CPUs,
   forcing us to fully emulate the instruction.
 * Use __attribute__((used)) to fix the comment about ap_start().
 * Have ap_start() perform a self-INIT for APs, rather than having boot_cpu()
   do it.  This is marginally more parallel, and reduces the amount of remote
   vCPU management that Xen has to do on behalf of the guest.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/firmware/hvmloader/smp.c | 46 ++++++++++++++++++++++++++++--------------
 1 file changed, 31 insertions(+), 15 deletions(-)

diff --git a/tools/firmware/hvmloader/smp.c b/tools/firmware/hvmloader/smp.c
index 082b17f13818..80154950ac32 100644
--- a/tools/firmware/hvmloader/smp.c
+++ b/tools/firmware/hvmloader/smp.c
@@ -35,9 +35,9 @@ asm (
     "    mov   %cs,%ax               \n"
     "    mov   %ax,%ds               \n"
     "    lgdt  gdt_desr-ap_boot_start\n"
-    "    xor   %ax, %ax              \n"
-    "    inc   %ax                   \n"
-    "    lmsw  %ax                   \n"
+    "    mov   %cr0, %eax            \n"
+    "    or    $1, %al               \n"
+    "    mov   %eax, %cr0            \n"
     "    ljmpl $0x08,$1f             \n"
     "gdt_desr:                       \n"
     "    .word gdt_end - gdt - 1     \n"
@@ -50,8 +50,6 @@ asm (
     "    movl  $stack_top,%esp       \n"
     "    movl  %esp,%ebp             \n"
     "    call  ap_start              \n"
-    "1:  hlt                         \n"
-    "    jmp  1b                     \n"
     "                                \n"
     "    .align 8                    \n"
     "gdt:                            \n"
@@ -68,14 +66,37 @@ asm (
     "    .text                       \n"
     );
 
-void ap_start(void); /* non-static avoids unused-function compiler warning */
-/*static*/ void ap_start(void)
+static void __attribute__((used)) ap_start(void)
 {
-    printf(" - CPU%d ... ", ap_cpuid);
+    unsigned int cpu = ap_cpuid;
+
+    printf(" - CPU%d ... ", cpu);
     cacheattr_init();
     printf("done.\n");
-    wmb();
-    ap_callin = 1;
+
+    /*
+     * Call in to the BSP.  For APs, take ourselves offline.
+     *
+     * We must not use the stack after calling in to the BSP.
+     */
+    asm volatile (
+        "    movb $1, ap_callin          \n"
+
+        "    test %[icr2], %[icr2]       \n"
+        "    jz   .Lbsp                  \n"
+
+        "    movl %[icr2], %[ICR2]       \n"
+        "    movl %[init], %[ICR1]       \n"
+        "1:  hlt                         \n"
+        "    jmp  1b                     \n"
+
+        ".Lbsp:                          \n"
+        :
+        : [icr2] "r" (SET_APIC_DEST_FIELD(LAPIC_ID(cpu))),
+          [init] "i" (APIC_DM_INIT),
+          [ICR1] "m" (*(uint32_t *)(LAPIC_BASE_ADDRESS + APIC_ICR)),
+          [ICR2] "m" (*(uint32_t *)(LAPIC_BASE_ADDRESS + APIC_ICR2))
+        : "memory" );
 }
 
 static void lapic_wait_ready(void)
@@ -111,11 +132,6 @@ static void boot_cpu(unsigned int cpu)
      */
     while ( !ap_callin )
         cpu_relax();
-
-    /* Take the secondary processor offline. */
-    lapic_write(APIC_ICR2, icr2);
-    lapic_write(APIC_ICR, APIC_DM_INIT);
-    lapic_wait_ready();    
 }
 
 void smp_initialise(void)
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 10:59:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 10:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392406.630735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo6s-0001Gq-QU; Wed, 24 Aug 2022 10:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392406.630735; Wed, 24 Aug 2022 10:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo6s-0001Gj-Nt; Wed, 24 Aug 2022 10:59:46 +0000
Received: by outflank-mailman (input) for mailman id 392406;
 Wed, 24 Aug 2022 10:59:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQo6q-0001Gd-PE
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 10:59:44 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da23fefb-239b-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 12:59:42 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da23fefb-239b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661338782;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=ABomoh19Wg1mAKuT9rP25QYv1ZyWXr0F0Oa/lAWXCEQ=;
  b=FjFXnhrdF7P6YO+czhPBHIRst3IY4Tl/JHtHtOJ0rBlmHqOTI8BKG2X1
   /8JXRyW4TQ2d65Sz1VIte6+TqyfhRUTt6lb+U0Sl0gJ4nNWU3XuMXiQZX
   4uueRfG4TdyiCKBoZfg+3JnOziTjxiiVKR/P+jFDgiCzsFV5yd/LAP6+R
   k=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78010150
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:cecTRa9aLy6npovvCtezDrUD436TJUtcMsCJ2f8bNWPcYEJGY0x3m
 2QfXW7SPP2PNzOmeYt1a9i28EwOv5eAmNI2GwBoq308E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM14Kyr0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGLkQcM7IZ1spOWk5W6
 +A8MAIrKU3ZiLfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoShtDIFoITrk5m/+lnCLXeDxEslOF46Ew5gA/ySQugOC0aIOIIrRmQ+1foWXCo
 HD8vF3zQQMnHdm1mGvd4Huz07qncSTTB9tJSezQGuRRqEKX7nweDlsRT1TTiduTh1O6WtlfA
 1cJ4Sdopq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYVCY3LmrrB+eAHM6NXEeQTc2a0xYuda29enfkSnzosZf/L+d14OrQGupk
 mDW8UDSlJ1I05dVivzTEUTvxmv1+8OXFlNdChD/BDrN0+9vWGKyi2VEA3D/5O0IEouWR0LpU
 JMsy5nHt7Bm4X1geUWwrAQx8FKBva/t3MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK510IvsACbSH0Nv8nC25UNyjN5fmIKDgYfqqMMoomjmZZLmdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMEv2/Z9PlWPuL9rxJJdxmUjSM0uPGs2gp/lmuJLCDEOopUAtagLVMbtktvvd+W04M
 b93bqO39vmWa8WmCgG/zGLZBQliwaQTbXwul/FqSw==
IronPort-HdrOrdr: A9a23:BYahR6EWPz8lDEYTpLqE5MeALOsnbusQ8zAXP0AYc3Jom6uj5q
 eTdZUgpHvJYVkqOE3I9ertBEDiewK4yXcW2/hzAV7KZmCP0wHEEGgL1/qF/9SKIUzDH4Bmup
 uIC5IOauHNMQ==
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="78010150"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 0/4] x86/hvmloader: Fixes/improvements
Date: Wed, 24 Aug 2022 11:59:11 +0100
Message-ID: <20220824105915.32127-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

All encountered while debugging a regression in Xen 4.17.

They're all very trivial, and addressing low hanging fruit.

Andrew Cooper (4):
  x86/hvmloader: SMP improvements
  x86/hvmloader: Don't build as PIC/PIE
  x86/hvmloader: Don't override stddef.h
  x86/hvmloader: Move various helpers to being static inlines

 tools/firmware/hvmloader/Makefile    |  3 +-
 tools/firmware/hvmloader/config.h    |  2 +-
 tools/firmware/hvmloader/hvmloader.c |  1 -
 tools/firmware/hvmloader/mp_tables.c |  2 +-
 tools/firmware/hvmloader/smp.c       | 46 ++++++++++++------
 tools/firmware/hvmloader/util.c      | 78 +-----------------------------
 tools/firmware/hvmloader/util.h      | 94 +++++++++++++++++++++++++++++-------
 7 files changed, 112 insertions(+), 114 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 11:00:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 11:00:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392410.630780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo7E-0003Y7-Ui; Wed, 24 Aug 2022 11:00:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392410.630780; Wed, 24 Aug 2022 11:00:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQo7E-0003Xe-QT; Wed, 24 Aug 2022 11:00:08 +0000
Received: by outflank-mailman (input) for mailman id 392410;
 Wed, 24 Aug 2022 11:00:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQo7D-00037e-0D
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 11:00:07 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e720f3d0-239b-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 13:00:04 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e720f3d0-239b-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661338804;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+3yzR7H1mL4yzkhNJhzHDkUHVl2/a/svrgKmQFfjl8g=;
  b=YfMufqev0+WQ0VT4ib3RqkxJO0loxDykiylJGIffR9svGNlSfUNimuP5
   40F4et5unznJ+uVTApSEdviwFlVJopNM4IZ3Hh5Dsjl9Gri47CmrLx17g
   K2FGq2kKtd/4/uXet87Po5G2PrrdItrw3lXnadEmjIJUKHAUrHRdFbyz0
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 78524460
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:CG5Xqav4KO1Vsg2efdvwCc1eF+fnVDReMUV32f8akzHdYApBsoF/q
 tZmKW3UPPuCZjTwfIx+aY+z8RkD7ZTRmt9mGgI6rHwxRXsb+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4m9A5zTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FYgdweNxPE9nz
 8A/Di0vNTDf38Ks2ZvuH4GAhux7RCXqFIYWu3UmxjDFF/c2B5vERs0m5/cBgm123JoXW6+DO
 YxJMlKDbzyZC/FLEn4RBIgzg6GDgX7nficDgFmUubA28y7YywkZPL3Fb4qIIIDWG509ckCwl
 jLHxUn7BAkmHcHOzRnV1WOFgMbhtHauMG4VPOLhraM76LGJ/UQMDDUGWF39puO24maccd9CL
 00f+gI1sLM/skesS7HVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAOHKr+dvG2Zsj
 AXQ2Yq0W3o/69V5VE5x6J+RqAi3PxU7BFU+QgkZb1Alv4HDupga20enoslYLEKlsjHkMWiun
 WnQ9Xlu2+h7Yd0jjPviow2e6964jt2QF1NuuF2KNo6wxlkhDLNJcbBE/rQyARxoCI+CBmeMs
 3Ef8yR1xLBfVMrd/MBhrQhkIV1I2xpmGGeF6bKXN8N9nwlBAlb6FWyq3BlwJV1yLuEPciLzb
 UnYtGt5vcENZSH1PP4tPdnhW6zGKJQM8vy0Ps04k/IUOsQhHON51HsGibGsM5DFzxF3zPBX1
 WazesewF3cKYZlaIM6Nb75EidcWKtUWnzy7qWbTk0v6itJzpRe9Fd84Dbd5Rrpgt/zf/V+Nq
 o832gnj40w3bdASqxL/qeY7RW3m51BiXfgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:J+u2rqy7b51f+juquuryKrPwFr1zdoMgy1knxilNoRw8SK2lfq
 eV7YwmPH7P+U8ssR4b6LO90cW7Lk80sKQFhbX5Xo3SOjUO2lHYTr2KhLGKq1aLdkHDH6xmpM
 BdmsBFeabN5DNB7foSjjPXLz9Z+qjjzJyV
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="78524460"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 3/4] x86/hvmloader: Don't override stddef.h
Date: Wed, 24 Aug 2022 11:59:14 +0100
Message-ID: <20220824105915.32127-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220824105915.32127-1-andrew.cooper3@citrix.com>
References: <20220824105915.32127-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Since c/s 73b13705af7c ("firmware: provide a stand alone set of headers"),
we've had an implementation of offsetof() which isn't undefined behaviour.
Actually use it.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/firmware/hvmloader/util.h | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index 8d95eab28a65..ac7ff264e247 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -28,12 +28,6 @@ enum {
 #define SEL_DATA32          0x0020
 #define SEL_CODE64          0x0028
 
-#undef offsetof
-#define offsetof(t, m) ((unsigned long)&((t *)0)->m)
-
-#undef NULL
-#define NULL ((void*)0)
-
 void __assert_failed(const char *assertion, const char *file, int line)
     __attribute__((noreturn));
 #define ASSERT(p) \
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 11:03:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 11:03:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392441.630791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoAU-00055M-JR; Wed, 24 Aug 2022 11:03:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392441.630791; Wed, 24 Aug 2022 11:03:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoAU-00055F-GR; Wed, 24 Aug 2022 11:03:30 +0000
Received: by outflank-mailman (input) for mailman id 392441;
 Wed, 24 Aug 2022 11:03:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQoAT-000555-Gk; Wed, 24 Aug 2022 11:03:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQoAT-0002Rl-Da; Wed, 24 Aug 2022 11:03:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQoAT-0004a4-4E; Wed, 24 Aug 2022 11:03:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQoAT-00044o-3m; Wed, 24 Aug 2022 11:03:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gRvLCPLyUbUBwcCwz5xA4PbR3JUXVdcjKxMUJEZtT1I=; b=iaRjfvMxSK+NtZXfcvW8mbMGcI
	XBh5XD8SByWwZgRKiJhY6x7FpDA3dkl/1e1loeIYj7d+4hm7b0GJvBZR/8TT6YW7Q4lW5SmDrldbC
	Qozgv13Ef+QoYVzPT7Z/4MOwuQvRcWDdhjk5TQC4NHf1eAx2HnqnudikDpg1biPxmafw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172744-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172744: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=206b59a2965e9794ff80098bed8436acffc5ef3f
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 11:03:29 +0000

flight 172744 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172744/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              206b59a2965e9794ff80098bed8436acffc5ef3f
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  775 days
Failing since        151818  2020-07-11 04:18:52 Z  774 days  756 attempts
Testing same since   172744  2022-08-24 04:19:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 120827 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 11:13:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 11:13:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392450.630801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoJj-0006WS-HG; Wed, 24 Aug 2022 11:13:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392450.630801; Wed, 24 Aug 2022 11:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoJj-0006WL-E2; Wed, 24 Aug 2022 11:13:03 +0000
Received: by outflank-mailman (input) for mailman id 392450;
 Wed, 24 Aug 2022 11:13:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQoJi-0006WF-Qd
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 11:13:02 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10051.outbound.protection.outlook.com [40.107.1.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b758d725-239d-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 13:13:01 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7505.eurprd04.prod.outlook.com (2603:10a6:20b:285::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Wed, 24 Aug
 2022 11:12:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 11:12:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b758d725-239d-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AkyyevrtTAsiS6Pbn1aueBt0Oh7GmlTe14AHclI88RMIUUCP+OhGfPFG10G+zezwug33+Wg1sAhss67ndLoU4TWErYsIliGefp1JbnC0nv2iEkasme4eRDEQ1aGpdmy3sR7bm2bx1Sq0lqCKzhdqjiwzKh5TJahL5vmttYeZOOPPS+mxQH/8PwksK5ICTk4fV/mZX6PpjbAZYf4TYZLhDa49BuzqjgwP/d1dE0XRpmgT9vV35rbIG4yqhOuM/JiCxsAV9NXuu3XPM9Zlcxww/2hPtHTkxjn/vnzyK7q1TzsXHQdhXT/Iuc6lc68xgSoOamr85XPZLvm3p173RD5vzA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UMrf3yloA/3QfrN9lyiqU4EGCX0ikSHLqQ+S+QQd0R4=;
 b=kwQS5LojM1HuykIgWJOKt2hmQrNnrvBQ+akc//wrnOvZYDHKQfo7eFZ8eEO1VHWqkymfAqvySo6TxtNc8VXPGJiDlZMZU36tcQjYm6UVs6779N1HlyPCM8hWehSGqEsxYYFS4xR0TtFLl7Zj/XjdHzR1RlyZzVbtpwEWtcMe+0mYqWCtrI+mRf0g2OmQHKRAq6F+ImU4uMxpi4VHP+NeGCRp9nEFikjsbOdE8ewrrEbFeaJFSu4eRWQz0nIYiqd05QxS+GSNb2IJHMnAj3enjWVNpf9lBUVrLPW4ZDnueiJtjYOoefTu+55emkwcOICbYVb5VFqriOMh9ebHmNY/cQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UMrf3yloA/3QfrN9lyiqU4EGCX0ikSHLqQ+S+QQd0R4=;
 b=y58F5w3EDK8xrD7olgHJLHGcfzwvNGJSLtbQmzSwhaJxqVXMXbvL2CLOZKyKBY16EROtUTNsDnnwCnDIISrsD+rFAzfTcy8EQgtUWheb5VofAyK8Ga+TZoK8Wru5n0uhnRvieeVVQN3WHaYkcRX4DW2TEbSyOJXmW62AXK7SczmRGN609hDUa0ZYlooKRpwIqMcwZfFGOh80jUYK8fC+dsRVjOuJItQU0b+6mWGPJkxLwItEi1OWmCgVoM0kZxMn15ORvnC/CsEecZPNPbQRPkXlqciPItalMOoPsc5Lzidj6vykxeAOTt3k3vp+3cnaKbJM+ErT9sOxnYGUtocaXg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6c29aab9-2d8b-44a2-d6c8-3316ac437c1e@suse.com>
Date: Wed, 24 Aug 2022 13:12:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Henry.Wang@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220824102225.11431-1-jgross@suse.com>
 <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
 <de8a9208-0936-27db-e3ec-742254ff0525@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <de8a9208-0936-27db-e3ec-742254ff0525@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0095.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fee1b748-f1f8-4c76-e076-08da85c19aa1
X-MS-TrafficTypeDiagnostic: AM9PR04MB7505:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xJ2n2Jf2BlNcbniTYMqL9FmwZyzMQDK6793z0jo0ISVZ2+Q0ZKKKOgsR4mwrmoSVwAckyWlG2r/q+c2cRdbq0LokjlYvKf3K/4aYFqJLPgfTM2vYIexgZ/FPq3Ll9G5QKYWNHjWPakBS4tDrTBphA8TSkvigXoJqx9bue75QawGc6sie2KEvnVns65KpSMmyYEm13ABw6EIPYVORl4APuAVjiABsZ/qpf/4H/2jHezJfX/UfaaLfNKCbfVAuwSm7DzxQFIMpUBQPn1dljJDemOQoRwBH3R+lHF2hwjT9zvDgCYZ9rJawjOI7J79qX8d6VTw3GwuUEqRWM/MMm58wIJrBBZnQ5JNvuBtD1qfqSlljICR0wSc4m9WbQ+QD20UB74vFWNQYHoh04cdtmuNX3wZPsRfj636538z+RYLRu6rjmfF3jdxhZB8rkexLmLqWTUyEOmoxLIsLFPo1ojkQw4oBQChHkGe23pzKcEsUAHOjnKMuybxxcMKM0wIG1pBCxeRHxYxZmF1h5UQRGZnGT1l6sK1OA2sDfCUa7OoGxLIpBJlLC9QySKknK3f1HwIvQ+9UBmy4wAImv92XANeQuntdYiTQvXuA5VTobbmEtdGTPdmC9y9oAVcU4xtp0PBw7uHhWFsAq6W50raL8sdPUhZL0+1Mzo93Lj5Fg6Ao2HzpVfy0ghJLF0HJs5k/XEmPlBGPmkaQjoJ5Rvyddb9XiV3k6KA4DdrRRREnPD6Undi9liKIwSppeeJ0MYzb+SR6ydU2chUJoGjvpeTOwRQhPSGIylzHVNU2TtnlAtlJe8Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(376002)(39860400002)(366004)(136003)(5660300002)(41300700001)(31696002)(6862004)(8936002)(316002)(6486002)(66476007)(66946007)(478600001)(86362001)(186003)(26005)(8676002)(66556008)(4326008)(2616005)(53546011)(6512007)(6506007)(37006003)(2906002)(38100700002)(31686004)(83380400001)(6636002)(36756003)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NDFhemE4TStWRW5WU0NhN21GTVNKdE5NWDVDaFZibnljdklhZVZxaTNmVWRw?=
 =?utf-8?B?WkNXa0MwK2xlenh5S0Q2ZE95ajlCWVhPdHVqenViVHJIYllkc0dZMzRJZGZs?=
 =?utf-8?B?TUpKcGMzbmpWYVJrb2lKejNuaE92Qk1QSGR4Mmo2NmpicGVDTEp5L3gwNTlu?=
 =?utf-8?B?cWdqQWluNW5ON1VBbzU3Znc2K1RlS1c2Y2Q3eFlGc2thRVYxa2Z3R21ubVBo?=
 =?utf-8?B?bVZXQXJjS25hMHplRUQ1cm54Tk41Zk1GZDk4SXJheVozaGZzbHQ1U2orbmti?=
 =?utf-8?B?a0k3eW9oNUpjQWNQeXdZZW44QzVORzZWMnJQcVk0cG9qcitkSDRTbnErdlJT?=
 =?utf-8?B?RHlYSUhqSmZQc1ZUVEVTcXUrYkJER0FMaUJOQnJVdnp2QkRVQWY5MHkzVnNW?=
 =?utf-8?B?Ujh0ZWZlNUhpVmNpM2wxR1Z2d1AwbHlBYUJoQ3JxQXRNMTlTMmJ0V3Q2SGUr?=
 =?utf-8?B?Y21NZTNuSjNMaXNRa0dxUHlmY0tLS25Ia0hRZHJtK3BXcEdMSGhVVlc5bTRq?=
 =?utf-8?B?ekVMZXdyTUlrK3FkYlJzRXM3TTFGTTh1cmpsbmdJS2J1ZmgzRmJweUpVZ0lw?=
 =?utf-8?B?WFRDR1RnTWcrbjU0UnNTSFdQbHJ4bmttZCtDVS9Ba1kwYk1rVnRFTzA5TzRq?=
 =?utf-8?B?aEU5TUVzNi9oMkJXR3BlWW0xUzlBVHU3QTQ0NUU3MTgwY1ZzRk01Rkg2NTZL?=
 =?utf-8?B?NWZPT2lOalFnSTR3YStPVGdkMkVZck8zY3E2VDMwZnR6ZDdNU0pjU0NTTVM5?=
 =?utf-8?B?aCtrSFlUMGJzdnJ3dzF6cDBQb25WcHFTb1NyWUtBZ3cxQmYrU2pkaTF5ZHVJ?=
 =?utf-8?B?L3FwUlNMVzQ5ajZTd1JNZzZBRXhEZHFtblQ5cC81L1V4VFdOeFhuenFqOEtB?=
 =?utf-8?B?RWJNa2ExZzV1RmpWTnBYZ21JU2lkbjdXOFpHMDA2TFM1RnZIM0hOQm5mR0Iz?=
 =?utf-8?B?MWQ1ZG8rS2plRlpONXpmQ1BEMFBDSTN5bUkwbzl4WllqckRvQ09qYU9lV0Jh?=
 =?utf-8?B?Y3dhOFBLcFFvT0ZwdndqUldpREtaV2Q0R0pDOGlQSVRGMkpUdXRiMzJyMTBG?=
 =?utf-8?B?WkVGYXU1S1NYQlNqdmROL2dkZnZZZldzY04zT0NhbklUUGpNZThIREx3OUw0?=
 =?utf-8?B?YVNVeWZYUVBtTTkrUmdLVlBHQVRkbCtwWGFwRW5QRVBqeWhXZWRzMXpidzM5?=
 =?utf-8?B?cVIxeHdzSjljSlZFaW9kUlJUdmU5Um9JNnd3RUhIUzdZMzd0OFpqYzQ5bXZW?=
 =?utf-8?B?K09aSjhrRjl3Rm5PcGtodWZadFFKZ0xhNzhnemFhQTNMcDFLazYxeWhsV3g3?=
 =?utf-8?B?d3dqVnRmVDlnWXhLR3h3SmVFOHl0UC9sQ0sxQlF3UkJCUzBMODhyaUVsU21K?=
 =?utf-8?B?dXN2RFovSVlVYmlLNWdMaEZHSzVaeFNOb1p5c3hpTnBwUTZybWxTdlRrOWxO?=
 =?utf-8?B?MnJ5a1RkZlE4M1hHaVI2OWg0SWUzVnFVOEE5ZHppYUhCL0hKSnFRRkJSOWg1?=
 =?utf-8?B?LzA3c3VmQkhDQUt5UGJ1NVI5dWh6dVdvMEdUS2d1TWxLS0pNZVdSWGx5QXd2?=
 =?utf-8?B?ZWFwdTNtN2N6UzZHVXRkZjRFZGNWYjh5bzVqc2xxZkFoT0RHY1N5MnM3N3V1?=
 =?utf-8?B?dlF3eEFJelI5ZkpWMFJlbzlwTW1xUm9zM1VhMmUyZmVmd1V4b3pYUVBLbDEz?=
 =?utf-8?B?K3hGcW15bS9McldPMjhucWQ1aDM5cDgzZlhhY012cTNrRlRMcFAyWjJGbGFi?=
 =?utf-8?B?c0RGWWZwU04xbEFIWXlhT2hrLy82LzhnUFBXN2hTWnpHRTA4L0VpeXNGQ3VJ?=
 =?utf-8?B?c1FKWXlaRk94NHF2cUtBVnlqUjcrNUgxa0JUMW1sYUJzakZ5T3M5SEJIMFZm?=
 =?utf-8?B?d1k4UEpKdXA5b21pd2syZmozcWx4YTM3SWEwSWh0SHBjZnJpb2ExTkYxaHE5?=
 =?utf-8?B?bVlSR3l2THZyNWxFWThoY012ZVRZbTRkcXp4RjZ5TmxFUnFCT2hXUGNkd1Bl?=
 =?utf-8?B?b1d6cVV6SXFybWttbUJPdHBCdzN5Q1FudHEzZkhGUGpCdkowYmFxQzlwY3hn?=
 =?utf-8?B?NTIxSC9sMFo3MGViMU43eEZNNzkrUGlYTjBpS1ZrQWw5OG1DcHJTUHlRRjVG?=
 =?utf-8?Q?WgcEwTQro9u7ihAai4M2qGsT+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fee1b748-f1f8-4c76-e076-08da85c19aa1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 11:12:59.7078
 (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: DSmr78wwMBjYxF0f7KcYT4Sp4icora8dV4RRwxNWMk+tN6AEKBx7elfHEiAti5oMXoXGWKbJsNvA16LHwTeZpg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7505

On 24.08.2022 12:45, Juergen Gross wrote:
> On 24.08.22 12:35, Jan Beulich wrote:
>> On 24.08.2022 12:22, Juergen Gross wrote:
>>> Hitting an ASSERT_UNREACHABLE() is always wrong, so even in production
>>> builds a warning seems to be appropriate when hitting one.
>>
>> I disagree, for two reasons: This violates the implication of NDEBUG
>> meaning ASSERT() and friends expand to no actual code. Plus if doing so
> 
> This is something we can change IMHO.
> 
>> for ASSERT_UNREACHABLE(), why would we not do the same for ASSERT()?
> 
> There are multiple reasons to have ASSERT()s. Some serve as a kind of
> documentation (e.g. to document that the programmer thought of a special
> case not being possible), or they are meant to catch hard to diagnose
> bugs rather early instead of letting them hit later in a situation where
> it wouldn't be clear what caused them. Adding a WARN() for all of these
> cases isn't really appropriate, especially as this might impact
> performance due to added tests, which isn't the case for theoretically
> unreachable code.
> 
>> There's a reason we have ASSERT() and friends and, independently,
>> WARN_ON() / BUG_ON() et al.
> 
> We might want to introduce something like ASSERT_OR_WARN(). I'm sure
> this could be useful in some cases.

I'm curious why in such cases it can't just be WARN_ON().

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 11:20:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 11:20:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392456.630813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoQU-0007HE-9u; Wed, 24 Aug 2022 11:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392456.630813; Wed, 24 Aug 2022 11:20:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoQU-0007Ge-54; Wed, 24 Aug 2022 11:20:02 +0000
Received: by outflank-mailman (input) for mailman id 392456;
 Wed, 24 Aug 2022 11:20:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQoQR-0007CC-O8
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 11:20:00 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af08ce78-239e-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 13:19:58 +0200 (CEST)
Received: from mail-dm6nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2022 07:19:55 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5285.namprd03.prod.outlook.com (2603:10b6:610:9c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Wed, 24 Aug
 2022 11:19:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 11:19:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af08ce78-239e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661339998;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=PTS5kuBOwMjUM8JcMdoCxpXOFFv4M73EeI7k7a3z2nY=;
  b=X8niLj5evjjmlbPBtLBksz2wFVgPhIG2zJ/V++myRwJvbzsOybmfEWkg
   sEkZ4l6ztKR0A9h6nW/kYf+uVo+y2gSZLiI3i1CJJCYUn7T00EReMiEdo
   WCt3OfU3UwUG/cTLZnG1fb9LTX7ULYHms8gzL0jKpsOfmnfeKmNbMqBwo
   g=;
X-IronPort-RemoteIP: 104.47.59.175
X-IronPort-MID: 81345045
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JrayXKuMGXI4ka53TxGNYgpb6ufnVLpfMUV32f8akzHdYApBsoF/q
 tZmKTzVafrfajfzeNB+Ody19x5XupLWytVnTwc+qS0wEXhE+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwRgiAo
 rsemeWGULOe82MyYzl8B56r8ks15qyi4m9A5zTSWNgQ1LPgvyhNZH4gDfnZw0vQGuF8AuO8T
 uDf+7C1lkuxE8AFU47Nfh7TKyXmc5aKVeS8oiM+t5uK23CukhcawKcjXMfwXG8M49m/c3Kd/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FYApotdaIV9fz
 vFGcx4INxCq28Dq763uH4GAhux7RCXqFKU2nyg6iB38U7MhS52FRLjW79hF2jt2ntpJAfvVe
 8seb3xocQjEZBpMfFwQDfrSns/x3iW5L2Ie9QPT/PVqi4TQ5FUZPLzFGdzZYNGVA+5SmV6Vv
 Dnu9GXlGBAKcteYzFJp91r837STwHunBer+EpW5p9Vy3Q2D11BDAR8JD0rmjvLiqRKXDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8U45xuK0bH8+BuCCy4PSTspQPwrstUnAwMj0
 FChlsnsQzdotdW9S2+Z97qShSO/P24SN2BqTTQfUQIP7t3noYcyphHCVNBuFOiylNKdMS706
 yCHqm45nbp7pd4G0eC38E7Khxqop4PVVUgl6wPPRGWn4whlIom/aOSVBUPz6P9BKMOVSweHt
 X1dwcyGtrlRUNeKiTCHR/gLEPex/fGZPTbAgFlpWZ486zCq/H3ldodViN1jGHpU3g8/UWeBS
 CfuVcl5vfe/4FPCgXdLXr+M
IronPort-HdrOrdr: A9a23:jH0YkaAVhT5pVy7lHegPsceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEEZKUmsuKKdkrNhR4tKOzOW9FdATbsSp7cKpgeNJ8SQzJ876U
 4NSclD4ZjLfCBHZKXBkUaF+rQbsb+6GcmT7I+woUuFDzsaEp2IhD0JaDpzZ3cGIDWucqBJca
 Z0iPAmmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlml9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4gow3TX+0WVjbZaKvi/VQMO0aWSAZER4Z
 7xSiIbToZOArXqDyeISFXWqlDdOX0VmgLfIBej8AfeSIrCNXwH4oN69PxkmlGy0TtegPhslK
 1MxG6XrJxREFfJmzn8/cHBU1VwmlOzumdKq59bs5Vza/poVFZql/1owGpFVJMbWC7q4oEuF+
 djSMna+fZNaFufK3TUpHNmztCgVmk6Wk7ueDlIhuWFlzxN2HxpxUoRw8IS2n8G6ZImUpFBo+
 DJKL5hmr1CRtIfKah9GOACS82qDXGle2OFDEuCZVD8UK0XMXPErJD6pL0z+eGxYZQNiIA/nZ
 zQOWkowVLau3iefPFm8Kc7giwlGl/NLAgF4vsulKRRq/n7WKfhNzGFRRQnj9agys9vcPHmZw
 ==
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="81345045"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C4ZRaYYceal3WMKh00OV1qLUhAokbhd0vKzfkSEp58Q01lZQgETDjG4ShPXbRJ/OpvVbrN62sIKErV2SQh1zLraD9zABe0evtY6df2gphVn7mCC61yaXtuHO81wnCvFa5N9TVjZHjQn33ffcFzanvcEyVMMe/sRoioWl/I0T5hNvskbHvXVMmV03+X0A48l0ENyUOjy2ZrMJMxyoUFKq/2YJ2IbqYX2Lp8y7JeFgqFdziTYufvAk/IB+jwNqIAiCQLQfSQ+QGmHlNjgV/c/KAYTGL29p7b9Pbtswwr1Fk17f4E/QyxRZYrs+y9+q1sCnECj1c50G0ka8Geytg1YXmQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PTS5kuBOwMjUM8JcMdoCxpXOFFv4M73EeI7k7a3z2nY=;
 b=Lu7DIeNes2fRplLlNa+OJc10b/3/rmEISVWHKsdAkt7bSVNzgWBtgPOoq7kkjhOmkUude3d5FVV2bqQ1bPrLG9zp0zdLQ7qIUbt5u8uTMpfxtMmlna4m7Q7r2IX2EFXDhVwmhE8+0CSAsi7uI0vcXBpFrYp5LAhYrQsuhtfon2ls9IpzZCzJkqVanaiYaG4xemv+SK0S2WMX8c4aKkWJsXtGbn0dTbg5xrr+bKJEgdFkhrI8FxRRtwHGtKm+Coya/E4VVcepYyLUrOLKwJzd49/fQA133tnl68xwVHugKmkr9PGz24kpYs9zYS8IeV3eXlVj0+YKlt3b8HmQt7LXEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PTS5kuBOwMjUM8JcMdoCxpXOFFv4M73EeI7k7a3z2nY=;
 b=w9dYtulzvEuxQH/ZOmuWPAfwMEZ3YYdSAu64CpVBnGI5S9GZxaCzC1X11j+91n/l7VGxmB+zpvVwB5r6lvaLIR1OIPDfsXfUTgeKq1SeD989OPbboLfL6oSe01wkvNKgLYwmc2ec/ebLyCn/r9ZjETjA1W/tNfS9qkMlTK15XsI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>
CC: "Henry.Wang@arm.com" <Henry.Wang@arm.com>, George Dunlap
	<George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Thread-Topic: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Thread-Index: AQHYt6Nrm2AFVHMPaUulll9Nh94Tqq292w4AgAAMhAA=
Date: Wed, 24 Aug 2022 11:19:50 +0000
Message-ID: <4af028cf-0213-f0e8-76cb-69bd6f42fa9f@citrix.com>
References: <20220824102225.11431-1-jgross@suse.com>
 <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
In-Reply-To: <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 94c0f47d-941b-4b32-33c5-08da85c28fcb
x-ms-traffictypediagnostic: CH2PR03MB5285:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 uhemC58a6BlPXbRLwrT/gDU2xZfHdoU1Ocf4ZKDRUjN0e2DEqRbgxYjO4S8qgxcuaY9IDcVrdBl2zp/lckb7Sj5U+B96WHY+zlB0EP284phQZKv8tK/QpVW21WRpkthEBhzArsYkCHZnXxvJEKJ46W/jKfgQLRkSrDQps7nyXqQcY+nce5vmWRXCQkHl1m1ivZHBHoLpWQf9DOa3tBw1RmIhvYT5Hj9nNsFNQDhA8fNA+l+CQoFjw9JXIdlzc00knrTKcfwOuDHhVZCyIFgBC1PoQWtdN8KUpJBhLP+OJywOrU6ETWeFFOWOgi4O3vO2HxcrgJy/HcLQkBd1XGwY0LNGmn3+qdtaU5fORRuwv4xrY2iIpI/FfvUaUn2hSGbKGWvHn/+JjhIsbREzXo1nbXaN/BcSFDE0IRJj8ZaFIjeQg3TArVPAiD5L1tvhl7lAntBxHkl8m9TwELAJVDYogSJVhcnEE2yqfqsPAjoqY/zEk1TuoiTKuiL+uHyQPVeGfjcwPYroJR+pz546bxRNyAAe+ROHxU2ksDc8vqQqJn9HxBdnrReduJYt28jnCeeiCEDzPFy9GlWmvuMH7FLgQcJdLJbJwJG4ZAMIEg1i/75L6Ga4CEJEtKKX82+6YuB4cXH8eobbuTW3QReMjm4F2z1hgOZHj3sVdynWGP5QpqKpdhI29Gz3eqGETV9k6BKJSDsy+obxk5ns0ik80x1rddQhMglXqx7JziXFz3kyV6DNgmbxFrt630poiFQSrE2zidrBPon/z8BQwCgd3bFkFeWOwAVbG/zQuWIRnGZbCk4tSc2juaNtvf+g6oiOscV4VEaxodWI2+nyZVw1QuTEdw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(39860400002)(396003)(366004)(136003)(86362001)(31696002)(38070700005)(82960400001)(38100700002)(316002)(122000001)(91956017)(54906003)(110136005)(8936002)(66946007)(66556008)(4744005)(2906002)(64756008)(4326008)(76116006)(66476007)(8676002)(66446008)(5660300002)(83380400001)(71200400001)(2616005)(186003)(478600001)(26005)(53546011)(6506007)(6512007)(31686004)(36756003)(41300700001)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?OXM5cjlGVGxuNFQ1elQxWEF5YVBucWFnaElKOU1IS1E5UC9PazhtalRvZits?=
 =?utf-8?B?MUhrbEg4QTk4dmdyUnMzN2xxRjd2NGVFbC9jTEV5SExFMEQ4MDNEQXlnZ2VS?=
 =?utf-8?B?bVBrUVhHVkdkbzNUZzIxbE0rdmpzSHRIQmw0Vit5ZEVpZ1UrRnM2dnBGbmQy?=
 =?utf-8?B?b3VObzFHMGU5dE03aEo4QWwvUGswQTY5bnNCSlR2a1pSMVptMFgzMnVhMDJJ?=
 =?utf-8?B?T0tGS1E1VGxJS2xOdmdPR3p6eWNncFBBVW93a0pSWlBTWTBXR3JzQWRlN2p2?=
 =?utf-8?B?cXFiZHVwQ2lqbDJTUldmNlRrZjBHVXpDa3NlSCs2UWNRd1QvM3JYb01mWTZ1?=
 =?utf-8?B?L0xZcGVrbXpvNzhSaUQ4dDJvdE5DZERWa0ZEWU5pK050dmRSaTd5SlRubzJv?=
 =?utf-8?B?dnZvVk9Hc2lxM2QxTkNFZzN2Vzlqa2JUcU42OUxFV29NQWNia3B0SCt3K1ZN?=
 =?utf-8?B?WEFMVGpxYnZmaEFoT0ZsaTZOandOTXBDL0xwN3g3alBkL3ZUZXRETFFWTCtX?=
 =?utf-8?B?N0NuTDQ0Z1Z0VHpLWE9lME5WbkdDY1JaZ1dGTWFFUTNaM3YyQURDelQxMmZv?=
 =?utf-8?B?YlVDTnF1Ui9PSkhrTU9WMWwzVEVzeXBMeEJLWEVGYzVuaE0vS1E5MS9Mbmk5?=
 =?utf-8?B?OHowNnJFdFV4ZFJvaUc5VHNQS2Y3M2ZiNnRURFdXd3VCaHhtQ2hTb3R0WVhv?=
 =?utf-8?B?UExaS1dXQzB1TEpscVNTS3ZlV2ZrRk5tZmZsb2gwWG5LcWJqdW9rL0NMS3py?=
 =?utf-8?B?c2crZUJhWVR4RmxQQVhMeWhwa3dObnZKQ3NzWWZ5ZUUzdDNoZTZ5RGozb3Vv?=
 =?utf-8?B?dURhamVzZFM5eEZEZ1I0QkRXMHA2SWowNi8rRExJbjZXTnJYSVdYVXJhZ1lV?=
 =?utf-8?B?bm40Vzl1UUlLbHB6QUZxY2NqbStleTIzOUlka3p3L0t0UE9IUDhBeFhxL2NC?=
 =?utf-8?B?bVluMkpWQzBWK3hPb2pvc3hQSzFrUzU1aUhwZHNLMTh0RStqK0RyZjRBUHB2?=
 =?utf-8?B?VHB0UngwcXptNnRUa2wrMEFmQUY3U1Bia1ZvRnN5NHJUK0M0VnNhNEhSRGhJ?=
 =?utf-8?B?Sjh0Z2tHWUZpRFRZSkw1WVVkeHpzcGhtdE95UmNESFM0czhlVXB0NG5PN21T?=
 =?utf-8?B?OXArNkJxV1RQRzd0aEtNMml6aWdTRkIyQ0Q3THNIeHZRMkc2bWFab2N3b01v?=
 =?utf-8?B?VXlVYkd6Sk0vaGZWQVd1WE1nczZxaWp6YXhWaHJJYkhOVzFJb3VKNW5OVEFl?=
 =?utf-8?B?TnMwVXFHV2x4N1pqaHo3U0tyUkxEWjNlZzlCd3dCKzB1dmRlcnEzdUx5TEVV?=
 =?utf-8?B?K2d2L05rKzVleW5nL0hxRmE1NnNqRjVDSmxFUGFpYkh6OFBCTUhDVnlWUXVx?=
 =?utf-8?B?Tkd5ZmFZbENGS2NmL0RXdFJyUkRSajF6cmVMNXpLTFJuK1VaMDYrUkZJajhz?=
 =?utf-8?B?eXNHUFVmc2dFY0RIZDlpMnp5NURzVmFUY1p0TkExcUtWOXRIMnk0WTlGZm9v?=
 =?utf-8?B?SG1DQm0xakdqNktHUm1lMGxpTHhKVmtjSjlyZHZYQjlwZVB0ZXFRS3BvbjE1?=
 =?utf-8?B?elB4dHdLTzFoNHBEaVkweUxoUGYza3F0enFFOC93M2hUdWF1eTA3cGpWUzY5?=
 =?utf-8?B?UmMzK2pyTW4xeVRRMFRyS2JqRzZWd2ZJRW5WR1phclptN2hKNlVoWW5Kd2Ns?=
 =?utf-8?B?VDNIT3RPNVFVQmZhNTFlVTZnZG1CMUE1L3c3NjBpT0FTN1NFVzlnMkFNREJv?=
 =?utf-8?B?b0NPNjZ1Wi93NFFBRFZuNE1YaC9WZFJWdGc4ZUNkUHd5VkxuYjJJVUltSlox?=
 =?utf-8?B?aXFxa2xBMWloR2p3Y1NFN0RaRjliWllhTzVjdEozeUdlWlhaQUNaUGF1aTJv?=
 =?utf-8?B?SjZHbzU1VjZXTHNuOXFDcEtETkhUbVFLRmk5RjlLMFA0SVNocVV1eUR3ck10?=
 =?utf-8?B?SlRDemkrVkZjSVA1eEV4N1BldlZMMjg1VW5SaVVWTXVTSmw1ZWVvSDBqNENX?=
 =?utf-8?B?SXhyMjd3ZHVIcVV2bFRCbkNmUlBPUU91bW1RbGpqNVVYZ21aclowek9FSEpu?=
 =?utf-8?B?NitEVGVZUW1lcnQvdGxYV0xBU2hhWERzWWMwOUtyR2xQQ2JkZ3gxd2hyVHhJ?=
 =?utf-8?Q?4lCdQbpd0mJoHrBPogtTzrv6I?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <654A9D0FFC6C16478A75BB88FA250A6D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94c0f47d-941b-4b32-33c5-08da85c28fcb
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2022 11:19:50.8486
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: BHRO2bmgosEDTEVAlu9Vhnc/hfzo9gkI+4JviFiSdbaSyGT105nxMK5DOpsmdmeMwZnk59V0YgX3ofjJ37uLBuWBAruSowvVAXOrlQwbVOE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5285

T24gMjQvMDgvMjAyMiAxMTozNSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI0LjA4LjIwMjIg
MTI6MjIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBIaXR0aW5nIGFuIEFTU0VSVF9VTlJFQUNI
QUJMRSgpIGlzIGFsd2F5cyB3cm9uZywgc28gZXZlbiBpbiBwcm9kdWN0aW9uDQo+PiBidWlsZHMg
YSB3YXJuaW5nIHNlZW1zIHRvIGJlIGFwcHJvcHJpYXRlIHdoZW4gaGl0dGluZyBvbmUuDQo+IEkg
ZGlzYWdyZWUsIGZvciB0d28gcmVhc29uczogVGhpcyB2aW9sYXRlcyB0aGUgaW1wbGljYXRpb24g
b2YgTkRFQlVHDQo+IG1lYW5pbmcgQVNTRVJUKCkgYW5kIGZyaWVuZHMgZXhwYW5kIHRvIG5vIGFj
dHVhbCBjb2RlLg0KDQpJIGFncmVlLsKgIEFTU0VSVCgpIGFuZCBmcmllbmRzIHNob3VsZCBubyBj
b2RlIGluICFERUJVRyBidWlsZHMuDQoNCkZ1cnRoZXJtb3JlLCBpZiBhbiBBU1NFUlRfVU5SRUFD
SEFMQkUoKSBpcyBwcm92aW5nIHRvIGJlIHByb2JsZW1hdGljDQpldmVuIGF0IHJ1bnRpbWUsIHRo
ZW4gaXQncyBub3QgdGhlIGNvcnJlY3QgY29uc3RydWN0IGluIHRoZSBmaXJzdCBwbGFjZS4NCg0K
fkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 11:20:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 11:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392458.630824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoQr-0008Ra-Op; Wed, 24 Aug 2022 11:20:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392458.630824; Wed, 24 Aug 2022 11:20:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoQr-0008RT-L0; Wed, 24 Aug 2022 11:20:25 +0000
Received: by outflank-mailman (input) for mailman id 392458;
 Wed, 24 Aug 2022 11:20:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQoQq-0008K0-Bn
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 11:20:24 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf169d6b-239e-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 13:20:23 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 5CAA420571;
 Wed, 24 Aug 2022 11:20:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 22BA613780;
 Wed, 24 Aug 2022 11:20:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id FEFBBXcJBmMfMgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 11:20:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf169d6b-239e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661340023; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type;
	bh=AKuEjVYr13+g7ydKEzxK/KUmR2jVY9glKL3oNnq0MEI=;
	b=iValF1lRbDaksK1hapeQGFvlfmMtEt4P6B4+VXZMTLoPuG0AUowlJ6Dlf+EWQi8N+nqE7S
	FyQSkqnxgT8EYQ1KJBb5XPksbr2w3exDhouFJdePnBxoTJNq0Swky2v6Q55r36xayTEbEM
	VMuBdJApkXw/zE0KOQ/himsY47M4sIU=
Message-ID: <f02f8fb3-2e68-a405-aaef-adc769754bd3@suse.com>
Date: Wed, 24 Aug 2022 13:20:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 "stable@vger.kernel.org" <stable@vger.kernel.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Juergen Gross <jgross@suse.com>
Subject: Backport request
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------IXQavvdb25FEDZ76gY0TQPjx"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------IXQavvdb25FEDZ76gY0TQPjx
Content-Type: multipart/mixed; boundary="------------tf1I5KTNKqSuIc0cJ6tfzTGG";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 "stable@vger.kernel.org" <stable@vger.kernel.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <f02f8fb3-2e68-a405-aaef-adc769754bd3@suse.com>
Subject: Backport request

--------------tf1I5KTNKqSuIc0cJ6tfzTGG
Content-Type: multipart/mixed; boundary="------------alCt58FMc7bOXzUH0JanDgDJ"

--------------alCt58FMc7bOXzUH0JanDgDJ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

SGkgR3JlZywNCg0Kc3RhYmxlIGtlcm5lbHMgNS4xOCBhbmQgNS4xNSBzZWVtIHRvIGJlIG1p
c3NpbmcgdXBzdHJlYW0gcGF0Y2gNCmM2NGNjMjgwMmE3OCAoIng4Ni9lbnRyeTogTW92ZSBD
TEQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBpZHRlbnRyeSBtYWNybyIpLg0KVGhpcyBpcyBhIHBy
ZXJlcXVpc2l0ZSBwYXRjaCBmb3IgNjRjYmQwYWNiNTgyICgieDg2L2VudHJ5OiBEb24ndCBj
YWxsDQplcnJvcl9lbnRyeSgpIGZvciBYRU5QViIpLCB3aGljaCBpcyBpbmNsdWRlZCBpbiA1
LjE1LnkgYW5kIDUuMTgueS4NCg0KQ291bGQgeW91IHBsZWFzZSB0YWtlIGM2NGNjMjgwMmE3
OCBmb3IgNS4xNSBhbmQgNS4xOD8NCg0KDQpKdWVyZ2VuDQo=
--------------alCt58FMc7bOXzUH0JanDgDJ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------alCt58FMc7bOXzUH0JanDgDJ--

--------------tf1I5KTNKqSuIc0cJ6tfzTGG--

--------------IXQavvdb25FEDZ76gY0TQPjx
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMGCXYFAwAAAAAACgkQsN6d1ii/Ey90
XwgAkWhjSA4XaftfLce/IiJxeHYZ9zU+J2TtVSoWkWf825QrZU2i3MC9wB4bGVCH3I7q1Y0v+p2j
1wBUuM6iC5U/FifoOQQBB2F8fD0eyGdkUabqJGrT92aFlWUwbZ3TkukjVKJ0XjzsDD90/VrBF8JS
bEDuBXubeWlQQrieoce5wtW+NINeXCiGdycmzFhGyljIwJGKvdr6pZ9GyVUWiS45yTWn6yowy8fy
lbRWdphJSoMygGnSA7eDgR3BKeNYg8QfiOwXAovH4T9HeLXzcvu1WB7Xw1/t2ZOYzFrptOf+v4zb
dZJvFrrenqDF+m62iPLrlxaFW0KZQC4oxzGlYok1cQ==
=8uty
-----END PGP SIGNATURE-----

--------------IXQavvdb25FEDZ76gY0TQPjx--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 11:28:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 11:28:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392470.630835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoYX-0000rC-IJ; Wed, 24 Aug 2022 11:28:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392470.630835; Wed, 24 Aug 2022 11:28:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoYX-0000r5-Fh; Wed, 24 Aug 2022 11:28:21 +0000
Received: by outflank-mailman (input) for mailman id 392470;
 Wed, 24 Aug 2022 11:28:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQoYW-0000qz-Op
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 11:28:20 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da9c871a-239f-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 13:28:19 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E51A8336A7;
 Wed, 24 Aug 2022 11:28:18 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 918F113780;
 Wed, 24 Aug 2022 11:28:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4sscIlILBmNqNQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 11:28:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da9c871a-239f-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661340498; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=+pWZEMJHDDWvoypE91ZsNAUt0AldcHG+mqtHsHy8fwk=;
	b=cOjJQVrff3Gs74i4lr/D6Z+98mSt6h9a4w0tpdSEbshftcotbBsPm8mM1K6tWpxMOh9bGG
	rAuEQLgxCdpBjUwS5N775jyzPs1lwW6n78yVQAJy6ceAR6BjmNEvWTQfHUnMaeNIr7C/SO
	V0FiTjgfDOt7QjflYNfBVpcGROzPdHg=
Message-ID: <be746029-d140-78e2-5c67-2913236eadfb@suse.com>
Date: Wed, 24 Aug 2022 13:28:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Henry.Wang@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220824102225.11431-1-jgross@suse.com>
 <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
 <de8a9208-0936-27db-e3ec-742254ff0525@suse.com>
 <6c29aab9-2d8b-44a2-d6c8-3316ac437c1e@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <6c29aab9-2d8b-44a2-d6c8-3316ac437c1e@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------JW0Qn0KteBHamQA22KGnDhjT"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------JW0Qn0KteBHamQA22KGnDhjT
Content-Type: multipart/mixed; boundary="------------AIR7bT7dpPwi8GjpaQaqKiT0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Henry.Wang@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Message-ID: <be746029-d140-78e2-5c67-2913236eadfb@suse.com>
Subject: Re: [PATCH] xen: let ASSERT_UNREACHABLE() WARN() in non-debug builds
References: <20220824102225.11431-1-jgross@suse.com>
 <e611392b-7186-cf0a-96e0-4ea39b2bc151@suse.com>
 <de8a9208-0936-27db-e3ec-742254ff0525@suse.com>
 <6c29aab9-2d8b-44a2-d6c8-3316ac437c1e@suse.com>
In-Reply-To: <6c29aab9-2d8b-44a2-d6c8-3316ac437c1e@suse.com>

--------------AIR7bT7dpPwi8GjpaQaqKiT0
Content-Type: multipart/mixed; boundary="------------ftCogh8QRgrursOUE0LUxrk9"

--------------ftCogh8QRgrursOUE0LUxrk9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTM6MTIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNC4wOC4yMDIy
IDEyOjQ1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjQuMDguMjIgMTI6MzUsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDI0LjA4LjIwMjIgMTI6MjIsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IEhpdHRpbmcgYW4gQVNTRVJUX1VOUkVBQ0hBQkxFKCkgaXMgYWx3
YXlzIHdyb25nLCBzbyBldmVuIGluIHByb2R1Y3Rpb24NCj4+Pj4gYnVpbGRzIGEgd2Fybmlu
ZyBzZWVtcyB0byBiZSBhcHByb3ByaWF0ZSB3aGVuIGhpdHRpbmcgb25lLg0KPj4+DQo+Pj4g
SSBkaXNhZ3JlZSwgZm9yIHR3byByZWFzb25zOiBUaGlzIHZpb2xhdGVzIHRoZSBpbXBsaWNh
dGlvbiBvZiBOREVCVUcNCj4+PiBtZWFuaW5nIEFTU0VSVCgpIGFuZCBmcmllbmRzIGV4cGFu
ZCB0byBubyBhY3R1YWwgY29kZS4gUGx1cyBpZiBkb2luZyBzbw0KPj4NCj4+IFRoaXMgaXMg
c29tZXRoaW5nIHdlIGNhbiBjaGFuZ2UgSU1ITy4NCj4+DQo+Pj4gZm9yIEFTU0VSVF9VTlJF
QUNIQUJMRSgpLCB3aHkgd291bGQgd2Ugbm90IGRvIHRoZSBzYW1lIGZvciBBU1NFUlQoKT8N
Cj4+DQo+PiBUaGVyZSBhcmUgbXVsdGlwbGUgcmVhc29ucyB0byBoYXZlIEFTU0VSVCgpcy4g
U29tZSBzZXJ2ZSBhcyBhIGtpbmQgb2YNCj4+IGRvY3VtZW50YXRpb24gKGUuZy4gdG8gZG9j
dW1lbnQgdGhhdCB0aGUgcHJvZ3JhbW1lciB0aG91Z2h0IG9mIGEgc3BlY2lhbA0KPj4gY2Fz
ZSBub3QgYmVpbmcgcG9zc2libGUpLCBvciB0aGV5IGFyZSBtZWFudCB0byBjYXRjaCBoYXJk
IHRvIGRpYWdub3NlDQo+PiBidWdzIHJhdGhlciBlYXJseSBpbnN0ZWFkIG9mIGxldHRpbmcg
dGhlbSBoaXQgbGF0ZXIgaW4gYSBzaXR1YXRpb24gd2hlcmUNCj4+IGl0IHdvdWxkbid0IGJl
IGNsZWFyIHdoYXQgY2F1c2VkIHRoZW0uIEFkZGluZyBhIFdBUk4oKSBmb3IgYWxsIG9mIHRo
ZXNlDQo+PiBjYXNlcyBpc24ndCByZWFsbHkgYXBwcm9wcmlhdGUsIGVzcGVjaWFsbHkgYXMg
dGhpcyBtaWdodCBpbXBhY3QNCj4+IHBlcmZvcm1hbmNlIGR1ZSB0byBhZGRlZCB0ZXN0cywg
d2hpY2ggaXNuJ3QgdGhlIGNhc2UgZm9yIHRoZW9yZXRpY2FsbHkNCj4+IHVucmVhY2hhYmxl
IGNvZGUuDQo+Pg0KPj4+IFRoZXJlJ3MgYSByZWFzb24gd2UgaGF2ZSBBU1NFUlQoKSBhbmQg
ZnJpZW5kcyBhbmQsIGluZGVwZW5kZW50bHksDQo+Pj4gV0FSTl9PTigpIC8gQlVHX09OKCkg
ZXQgYWwuDQo+Pg0KPj4gV2UgbWlnaHQgd2FudCB0byBpbnRyb2R1Y2Ugc29tZXRoaW5nIGxp
a2UgQVNTRVJUX09SX1dBUk4oKS4gSSdtIHN1cmUNCj4+IHRoaXMgY291bGQgYmUgdXNlZnVs
IGluIHNvbWUgY2FzZXMuDQo+IA0KPiBJJ20gY3VyaW91cyB3aHkgaW4gc3VjaCBjYXNlcyBp
dCBjYW4ndCBqdXN0IGJlIFdBUk5fT04oKS4NCg0KSXQgd29uJ3QgcmVzdWx0IGluIHRlc3Qg
ZmFpbHVyZSBvZiBkZWJ1ZyBidWlsZHMuDQoNCkluIHRoZSBlbmQgSSdtIG5vdCBmZWVsaW5n
IHJlYWxseSBzdHJvbmcgaGVyZSwgc28gSSdtIGZpbmUgdG8gZHJvcCB0aGlzDQpwYXRjaC4N
Cg0KDQpKdWVyZ2VuDQo=
--------------ftCogh8QRgrursOUE0LUxrk9
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------ftCogh8QRgrursOUE0LUxrk9--

--------------AIR7bT7dpPwi8GjpaQaqKiT0--

--------------JW0Qn0KteBHamQA22KGnDhjT
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMGC1IFAwAAAAAACgkQsN6d1ii/Ey+T
bgf/fd6hhyh5Q4qCNd7BMHiY5uDftrQlnxaTwsynpxi/HNTTwWajB9y1tg1Y+EmQEKPrfpu7MCc0
1mboPQSCsd8rV/kF4LLjhcALTcetfqmJc43Xkm0DI8p+d6f+s3adOYi/Djhub8vHCwfmuLqHv9ex
eG0R4mx+uWJjuVg33XdzykADiMp/P4dXrgB8OeYYYDl6jXF4tlmPG7COma7h/VHQ4TZxVuMd7VOd
oE2RJ1h025NFC6hC404ON2JWywJZW2+agsYXITlsdBpcsrbAQ0kpRdoBnMdRgvXklukBuT2SknU1
nymZMWLlemzmmkK9HTAKuenoDM2YMHhgRjco+JcsfQ==
=cCZv
-----END PGP SIGNATURE-----

--------------JW0Qn0KteBHamQA22KGnDhjT--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 11:47:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 11:47:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392476.630845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoqJ-0003C5-27; Wed, 24 Aug 2022 11:46:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392476.630845; Wed, 24 Aug 2022 11:46:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQoqI-0003By-Vn; Wed, 24 Aug 2022 11:46:42 +0000
Received: by outflank-mailman (input) for mailman id 392476;
 Wed, 24 Aug 2022 11:46:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+X8Z=Y4=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1oQoqI-0003Bs-0u
 for xen-devel@lists.xen.org; Wed, 24 Aug 2022 11:46:42 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69dcbb30-23a2-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 13:46:40 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 k18-20020a05600c0b5200b003a5dab49d0bso690024wmr.3
 for <xen-devel@lists.xen.org>; Wed, 24 Aug 2022 04:46:38 -0700 (PDT)
Received: from zen.linaroharston ([185.81.254.11])
 by smtp.gmail.com with ESMTPSA id
 n3-20020a05600c3b8300b003a319b67f64sm8255516wms.0.2022.08.24.04.46.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Aug 2022 04:46:36 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id A8F601FFB7;
 Wed, 24 Aug 2022 12:46:35 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69dcbb30-23a2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc;
        bh=XxhKIjR8GaWVfm2736zYQHBVI04PuDH60V7gYHYS8cg=;
        b=ebZa0Scl5OyKn9ed+TB/PKDU3u7VG6fw1G31e/0LxGJG/Ws11BDGGt/q9DCOeSWbDR
         JBgKK5ejYli3GEWq9kSDUagi8Kmdyr+p22FjL/WReDws8n5U186cx5T225S/hrEcTIcP
         7UFTpI+pH6TbYyuXySxwW21cL4QFgZEa+NMA1Gn/zWOksnzQKaoeTuz3nmoUbZjjJckS
         x8KR/+KstXaZOU53bXkNqfW8tXvLwYJ7vl9m1l7uPvV+FXUVs4YPBQCrkTSMWmGkgpJV
         8czWEjtUpmiBFql9r4BFDKPnO9XF0LbALavhQ/xCKw6j+f4ggF2XFkBzruUOD3zL5MB4
         Ce8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc;
        bh=XxhKIjR8GaWVfm2736zYQHBVI04PuDH60V7gYHYS8cg=;
        b=BTF4om6r+xKXantwrw3jWNisLvngwhysIh+vvWCITa16d+yGvQnzDCis+baGrnjRDS
         KUCQrHI1PN/P5wNSRdVYI6FdUVvz+Jce6AIRB/wKevFtv0xcATCGK0AL12KX+ZEN+6ro
         yLn4N9QIvqNZy/fyKbFJ3JZCK3SLDqwT6j+3uv5V72ryRS1MXvrwnLzLgFRemGFFKGqI
         rAyWhWfgUCpz8fe7rQRZ83uGVMYchAgt637s3IqKmbm+irIraMb1teDYGF29t9RxP7OV
         wP7/sWGMYRzGLOOxaeOG0tobwvG2LG5F/8Qb9Ah40lPWg88ORIipbQ6KqMcBFjUmf6a/
         1m1w==
X-Gm-Message-State: ACgBeo0n32TY+dK3sZgLwxzWhyAnsvX4lCziVVVzmsHnsLt9/ls/h6oK
	n5ShVFZpK68dUB9LtO7EMq0HMw==
X-Google-Smtp-Source: AA6agR5Zv6eNrWbFYJ+TFCnhBh0Jo/cioog7snDtr10vWjAp26CGn/rodkkROJFz7XRaZGCjMjKl/Q==
X-Received: by 2002:a05:600c:4f49:b0:3a6:1cc6:afba with SMTP id m9-20020a05600c4f4900b003a61cc6afbamr5125967wmq.80.1661341598215;
        Wed, 24 Aug 2022 04:46:38 -0700 (PDT)
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com>
User-agent: mu4e 1.9.0; emacs 28.1.91
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xen.org"
 <xen-devel@lists.xen.org>, "Stratos-dev@op-lists.linaro.org"
 <Stratos-dev@op-lists.linaro.org>, "mathieu.poirier@linaro.com"
 <mathieu.poirier@linaro.com>, "christopher.w.clark@gmail.com"
 <christopher.w.clark@gmail.com>, "boris.ostrovsky@oracle.com"
 <boris.ostrovsky@oracle.com>, "gregkh@linuxfoundation.org"
 <gregkh@linuxfoundation.org>, "vincent.guittot@linaro.org"
 <vincent.guittot@linaro.org>, "olekstysh@gmail.com" <olekstysh@gmail.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
Date: Wed, 24 Aug 2022 12:22:44 +0100
In-reply-to: <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com>
Message-ID: <877d2xj23o.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Andrew Cooper <Andrew.Cooper3@citrix.com> writes:

> On 24/08/2022 10:19, Viresh Kumar wrote:
>> On 24-03-22, 06:12, Juergen Gross wrote:
>>> For a rather long time we were using "normal" user pages for this purpo=
se,
>>> which were just locked into memory for doing the hypercall.
>>>
>>> Unfortunately there have been very rare problems with that approach, as
>>> the Linux kernel can set a user page related PTE to invalid for short
>>> periods of time, which led to EFAULT in the hypervisor when trying to
>>> access the hypercall data.
>>>
>>> In Linux this can avoided only by using kernel memory, which is the
>>> reason why the hypercall buffers are allocated and mmap()-ed through the
>>> privcmd driver.
>> Hi Juergen,
>>
>> I understand why we moved from user pages to kernel pages, but I don't
>> fully understand why we need to make two separate calls to map the
>> guest memory, i.e. mmap() followed by ioctl(IOCTL_PRIVCMD_MMAPBATCH).
>>
>> Why aren't we doing all of it from mmap() itself ? I hacked it up to
>> check on it and it works fine if we do it all from mmap() itself.

As I understand it the MMAPBATCH ioctl is being treated like every other
hypercall proxy through the ioctl interface. Which makes sense from the
point of view of having a consistent interface to the hypervisor but not
from point of view of providing a consistent userspace interface for
mapping memory which doesn't care about the hypervisor details.

The privcmd_mmapbatch_v2 interface is slightly richer than what you
could expose via mmap() because it allows the handling of partial
mappings with what I presume is a per-page *err array. If you issued the
hypercall directly from the mmap() and one of the pages wasn't mapped by
the hypervisor you would have to unwind everything before returning
EFAULT to the user.

>> Aren't we abusing the Linux userspace ABI here ? As standard userspace
>> code would expect just mmap() to be enough to map the memory. Yes, the
>> current user, Xen itself, is adapted to make two calls, but it breaks
>> as soon as we want to use something that relies on Linux userspace
>> ABI.
>>
>> For instance, in our case, where we are looking to create
>> hypervisor-agnostic virtio backends, the rust-vmm library [1] issues
>> mmap() only and expects it to work. It doesn't know it is running on a
>> Xen system, and it shouldn't know that as well.
>
> Use /dev/xen/hypercall which has a sane ABI for getting "safe" memory.=C2=
=A0
> privcmd is very much not sane.
>
> In practice you'll need to use both.=C2=A0 /dev/xen/hypercall for getting
> "safe" memory, and /dev/xen/privcmd for issuing hypercalls for now.

I'm unsure what is meant by safe memory here. privcmd_buf_mmap() looks
like it just allocates a bunch of GFP_KERNEL pages rather than
interacting with the hypervisor directly. Are these the same pages that
get used when you eventually call privcmd_ioctl_mmap_batch()?

The fact that /dev/xen/hypercall is specified by xen_privcmdbuf_dev is a
little confusing TBH.

Anyway the goal here is to provide a non-xen aware userspace with
standard userspace API to access the guests memory. Perhaps messing
around with the semantics of the /dev/xen/[hypercall|privcmd] devices
nodes is too confusing.

Maybe we could instead:

 1. Have the Xen aware VMM ask to make the guests memory visible to the
    host kernels address space.
 2. When this is done explicitly create a device node to represent it (/dev=
/xen/dom-%d-mem?)
 3. Pass this new device to the non-Xen aware userspace which uses the
    standard mmap() call to make the kernel pages visible to userspace

Does that make sense?

--=20
Alex Benn=C3=A9e


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 11:47:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 11:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392482.630857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQorW-0003jA-DP; Wed, 24 Aug 2022 11:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392482.630857; Wed, 24 Aug 2022 11:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQorW-0003j3-9z; Wed, 24 Aug 2022 11:47:58 +0000
Received: by outflank-mailman (input) for mailman id 392482;
 Wed, 24 Aug 2022 11:47:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+X8Z=Y4=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1oQorU-0003it-HK
 for xen-devel@lists.xen.org; Wed, 24 Aug 2022 11:47:56 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 979a3878-23a2-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 13:47:55 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 k6-20020a05600c1c8600b003a54ecc62f6so691117wms.5
 for <xen-devel@lists.xen.org>; Wed, 24 Aug 2022 04:47:55 -0700 (PDT)
Received: from zen.linaroharston ([185.81.254.11])
 by smtp.gmail.com with ESMTPSA id
 j27-20020a05600c1c1b00b003a5ce167a68sm1904338wms.7.2022.08.24.04.47.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Aug 2022 04:47:54 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id 870E31FFB7;
 Wed, 24 Aug 2022 12:47:53 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 979a3878-23a2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc;
        bh=kv6MSDgrqc8RobeBOkbfaxVuprh9CpQpHYry2ThHKr8=;
        b=h9pb1oR04ZF95kY6jBIMvgc8xrDkRTzcPYb5a2adG6QUCcb0MG0laAAySG0CXfDnig
         yXTYO+bUdWnI56/sYHFdQ+yLmT5D2N3DPgp7nZ8aDd1Li7ukowZ6aeXs2peuC7jMjYBK
         VCd6GuN83kidzbQr/F1SdKhKSZ9j4/a05ztsoJQjAJFNqc9i0tp9ui2mnZPNWHM4vQYw
         JlU4DLRWmLu0vOuiDDR79MuajK3DcP96HENGtcOqMOsrcEPCbaNErCChMgBzlt5rhHve
         pIjIN1oc7cJuoAYdi6wK+XsWsCJDA0buFgg5hav/8I9MDxN2Zy0+l+gsgcMnI6cSr2cX
         6/9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc;
        bh=kv6MSDgrqc8RobeBOkbfaxVuprh9CpQpHYry2ThHKr8=;
        b=7kz7MsDpBmX3YzCMPtLdmwvMSi6xxnfxhrrOmJEdD6oTAiOIEOLaf7NyZAPQh2Pdpo
         P4j7DTaSw7t8DDWsDVq6cGQ3ioabMWq/ZEPqUdZX1ieiom0fwupwDO2zIZ/xkW4vF0Lk
         Zvg2ADLw7hsjEVefUKCMuhs1zwtQi+7a7q8WzjehB/hfF8wO2+fu++suXVNwDS3j/JMD
         1IHMeJTY+q1Ogc4RqDZlU2K2cwoGuD2alxRNOweBh1pH3H1TP8qOlP2TI903Ntmg+fVU
         PKsdxQF8pGvGJogjRuqiIpR2pykYQTDIyXCpj7MN4x8eY+M1xd8v8o3bEzNHXou9bP8J
         m7YA==
X-Gm-Message-State: ACgBeo24Jt6DxtNTM8MKfqENMBS/XeD2ayyeXtp6UN3gsUHeztRvPmjt
	kWUbh+QvaFccbMzfvnkpcgna+Q==
X-Google-Smtp-Source: AA6agR5OzyL0PrRHXkxR0p1iv1i7iftCNzeUEeMySUhhzecIdFAxSM+HSsIcqFeLVxWTs+s8NIA5cQ==
X-Received: by 2002:a1c:770f:0:b0:3a5:ef7f:2973 with SMTP id t15-20020a1c770f000000b003a5ef7f2973mr5067511wmi.111.1661341675005;
        Wed, 24 Aug 2022 04:47:55 -0700 (PDT)
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <a04eebde-1ad4-b6d2-9867-caea88de0484@suse.com>
User-agent: mu4e 1.9.0; emacs 28.1.91
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Juergen Gross <jgross@suse.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>, Stefano Stabellini
 <sstabellini@kernel.org>, xen-devel@lists.xen.org,
 Stratos-dev@op-lists.linaro.org, mathieu.poirier@linaro.com,
 christopher.w.clark@gmail.com, boris.ostrovsky@oracle.com,
 gregkh@linuxfoundation.org, vincent.guittot@linaro.org,
 olekstysh@gmail.com
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
Date: Wed, 24 Aug 2022 12:47:08 +0100
In-reply-to: <a04eebde-1ad4-b6d2-9867-caea88de0484@suse.com>
Message-ID: <8735dlj21i.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Juergen Gross <jgross@suse.com> writes:

> [[PGP Signed Part:Undecided]]
> On 24.08.22 11:19, Viresh Kumar wrote:
>> On 24-03-22, 06:12, Juergen Gross wrote:
>>> For a rather long time we were using "normal" user pages for this purpo=
se,
>>> which were just locked into memory for doing the hypercall.
>>>
>>> Unfortunately there have been very rare problems with that approach, as
>>> the Linux kernel can set a user page related PTE to invalid for short
>>> periods of time, which led to EFAULT in the hypervisor when trying to
>>> access the hypercall data.
>>>
>>> In Linux this can avoided only by using kernel memory, which is the
>>> reason why the hypercall buffers are allocated and mmap()-ed through the
>>> privcmd driver.
>> Hi Juergen,
>> I understand why we moved from user pages to kernel pages, but I
>> don't
>> fully understand why we need to make two separate calls to map the
>> guest memory, i.e. mmap() followed by ioctl(IOCTL_PRIVCMD_MMAPBATCH).
>> Why aren't we doing all of it from mmap() itself ? I hacked it up to
>> check on it and it works fine if we do it all from mmap() itself.
>
> Hypercall buffers are needed for more than just the "MMAPBATCH" hypercall.
> Or are you suggesting one device per possible hypercall?
>
>> Aren't we abusing the Linux userspace ABI here ? As standard userspace
>> code would expect just mmap() to be enough to map the memory. Yes, the
>> current user, Xen itself, is adapted to make two calls, but it breaks
>> as soon as we want to use something that relies on Linux userspace
>> ABI.
>
> I think you are still mixing up the hypercall buffers with the memory
> you want to map via the hypercall. At least the reference to kernel
> memory above is suggesting that.

Aren't the hypercall buffers all internal to the kernel/hypervisor
interface or are you talking about the ioctl contents?

>
>
> Juergen
>
> [2. OpenPGP public key --- application/pgp-keys; OpenPGP_0xB0DE9DD628BF13=
2F.asc]...
>
> [[End of PGP Signed Part]]


--=20
Alex Benn=C3=A9e


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:02:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:02:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392489.630868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQp5i-0006Ac-Rd; Wed, 24 Aug 2022 12:02:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392489.630868; Wed, 24 Aug 2022 12:02:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQp5i-0006AV-Oy; Wed, 24 Aug 2022 12:02:38 +0000
Received: by outflank-mailman (input) for mailman id 392489;
 Wed, 24 Aug 2022 12:02:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQp5g-0006AP-LU
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:02:36 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a28ba1da-23a4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 14:02:34 +0200 (CEST)
Received: from mail-bn1nam07lp2045.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2022 08:02:25 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN8PR03MB5122.namprd03.prod.outlook.com (2603:10b6:408:da::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 12:02:23 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 12:02:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a28ba1da-23a4-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661342554;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=j/g7Vsf/B17xYcTUDMcLj8uV9rv3tD9EyRScQdKjd8Y=;
  b=FP5G6hW98bg6ICuXFh9tqkNm4rCZliPuc0lSxQ1jZEDiS44mgDA4gkk+
   26QaAVTo4J3uI6ZgbeZCrmmNvuqLzh/WIjqS7ACAqywG2mw/JsOaPNPcj
   TKHJCq6P7bHy87/sXviNMeAXdHdbkkcW+X1SrUFngQZj0tW9JieR33Olt
   4=;
X-IronPort-RemoteIP: 104.47.51.45
X-IronPort-MID: 78013639
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:0A7CPa6pu5zMXdpL+uU/5AxRtO3GchMFZxGqfqrLsTDasY5as4F+v
 mFOUDuObPveYzfzeNAjPI+x80gFscKBnII1GVY/pSFhHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuVGuG96yM6jclkf5KkYMbcICd9WAR4fykojBNnioYRj5VhxNO0GGthg
 /uryyHkEALjimUc3l48sfrZ8ks/5qiq4Vv0g3RlDRx1lA6G/5UqJMp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VSKlLgFVHmZkl+AsBOtiNqtC0qupvXAdJHAathZ5dlqPgqo
 DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYriJVw2CCe5xSuTpfi/xlhJG9uJLMp5bhwOl5tz
 8EBEmtUMDashf3jldpXSsE07igiBO/CGdtF/1tGlHTeB/tgRo3fSaLX49MexC03ms1FAffZY
 YwedCZraxPDJRZIPz/7CrpnxLvu2ia5LmQe9A/9SakfugA/yCRY1rT3PcWTUduNXchPxW6Tp
 37c/nS/CRYfXDCa4WXVqiv32LSe9c/9cLsjMqXo6/Jyu1C0/WFCWQEfZwK2hPbs3yZSXPoac
 ST44BEGr6I/6UiqRdnVRACjrTiPuRt0c8VUO/037keK0KW8ywOQHG0NVDNCQN0gqs4tRDYu2
 0OJntXmHjhmuvueTnf13qubqSOaPSkTMHMYYikFXU0J7rHLsIw1yx7CUNtnOKq0lcHuXyH9x
 SiQqyozjKlVitQEv5hX5njCijOo45LPFwg8412IWnr/tl8kIom4e4av9F7Xq+5aK5qURUWAu
 35CnNWC6OcJDteGkynlrPgxIYxFLs2taFX06WOD1bF4n9hx0xZPpbxt3Qw=
IronPort-HdrOrdr: A9a23:Qcp8v6FrwgcR4gGwpLqFS5HXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskdrZJkh8erwW5Vp2RvnhNNICPoqTM2ftW7dySeVxeBZnMHfKljbdxEWmdQtsp
 uIH5IeNDS0NykDsS+Y2nj2Lz9D+qjgzEnAv463oBlQpENRGthdBmxCe2Sm+zhNNW177O0CZf
 +hD6R8xwaISDAyVICWF3MFV+/Mq5ngj5T9eyMLABYh9U2nkS6owKSSKWnY4j4uFxd0hZsy+2
 nMlAL0oo+5teug9xPa32jPq7xLhdrazMdZDsDksLlUFtyssHfqWG1SYczGgNkHmpDq1L/sqq
 iKn/4UBbUw15oWRBDynfKi4Xi47N9k0Q6e9bbRuwqenSW+fkN1NyMJv/MmTvOSgXBQw+1Uwe
 ZF2XmUuIFQCg6FlCPh58LQXxUvjUasp2E++NRjxkC3fLFuH4O5l7Zvin99AdMFBmb3+YonGO
 5hAIXV4+tXa0qTazTcsnN0yNKhU3wvFlPeK3Jy8fC9wnxThjR03kEYzMsQkjMJ8488UYBN46
 DBPr5znL9DQ8cKZeZ2BfsHQ8GwFmvRKCi8eF66MBDiDuUKKnjNo5n47PE84/yrYoUByN8olJ
 HIQDpjxBoPkoLVeLizNbFwg2DwqT+GLEXQI+lllutEk6y5Qqb3OiueT11rm9e8opwkc7/mZ8
 o=
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="78013639"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bgytx6zfNl/8vj+50AWhlj24lwt7G38fI7VCcR1935Dp7WsLRs2moXIAbpCg9Ul92/DVZ1kqv/NFoV5VVP6gn2P/PN1hqmGrAaWbvXHuuIoxLVdBaAYxZh1J6M/zG0S6ps8h45teSC0eehMTYZyKDWohsYECFHom1s126mNNiqZb6aL4Xg9QKCwahUYcEE/VX77Hwt8wr4jtOiGt9BuVRwJPiBA3/24ygzBDm3qcFMkA1t8Hq38i1VcRWhyEY0SAz1WGDt0miezhfwQ04wrQh9Pa9QehUFNZNxHJZbwKTSM+wTQiNYcaYoWTtSsuMlQBnx+BogfVjbhGJ/1xK6SSuw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j/g7Vsf/B17xYcTUDMcLj8uV9rv3tD9EyRScQdKjd8Y=;
 b=nce+o7ivD7dhtdarSOp/ASfHABfDjIjeXBWn5iaUmw2OaaF18hhMk2yx72xHkReKjeKPIqMKaHmuEqfoYIetS6AJy3/p1KUPZ4oaUSCBhh4ndzo0Yx2mfQ6Vg2nsp3etFO3XAk2TcszeYrQR8Lkqdr2MHkM3jK1Tusvo/xYKZG+MDEIlgsuHEE0Qc7UBhX57zjWZdnSG9b1Fw3PL+RaAMdbOobuD0MTA+zMWa2OEBgZ2Uw8/ixsUre+eF6oWh/lRZ/xie9nwqOInUO5pfkOek4yCoddCrfGSxQm2aD0Bx/6F3nlhgviqG4F4oD98G4l8TTs7cK7yKxd3wRND7HJl3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j/g7Vsf/B17xYcTUDMcLj8uV9rv3tD9EyRScQdKjd8Y=;
 b=IYPXryCM5axMnU/jxStkExdeys/3xp9cPRrY0gyeo8C6CBnRz7WEYxFI3PB4nGQgk/RIFJBuMDx+Ui3UBfkHEpNtE1k6LRUKYe/j6cYsTse87axJts8b45IPbrNWvyyng11yITvPNWH0+zc6S5yEnYQslU1SY2x9umvFSdYK0TE=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Topic: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Index: AQHYtrt8/1v0WOY/4kiCtfQ8qrAcS628L8cAgAAH3wCAABa0AIAAFEkAgAGSoQA=
Date: Wed, 24 Aug 2022 12:02:23 +0000
Message-ID: <0a4c3091-cb52-161a-e281-477889f202fe@citrix.com>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
 <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
 <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
 <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
 <e9de03a3-77cf-bc90-be48-ef6b1f133661@suse.com>
In-Reply-To: <e9de03a3-77cf-bc90-be48-ef6b1f133661@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3e1381d8-168b-4456-7462-08da85c88121
x-ms-traffictypediagnostic: BN8PR03MB5122:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Hlnp3wp1p3yWjnpMdZEULe7yhkO7MPuEbAueE34HV1T8Wag9Cisj+DK5DKUdgUmL/3PC1R2t6cDr7F651poJ4SANH6hGF+ZwdEsRRUGgOXgxbQF9TYohHY8dFGPeTZXIzJeYAaZ10coZaQFDm3buG6G6LutnTZ+biQ7Jnt2N6P8f8l3U+NDyfQUGYrOp1Pjc+9/Ow8SMUf7XWM2VXvfXztfjWC1DFwfghTETbunkub42Xc6RzZfOXIDsfo0jPrldpJXLre6+xE8INIlpmZ1T7URJZBqr4WaAENX16XHEsTYBqRG5erulO0PhahW0+Pz3cRewqJVKKD57MXCnvVCmpaDWlhFe0WqiLzWyRQqB9luKGyHOGiIIbGlzDzns3nLnEgoi1GpoCyYYApYiPqdTapPuvsYF5kSw71ddxqZKRaRUzuzWld7zNczg54iljM+LsZY61lI3J42FZFi6Ci13g65w0Xnd4ioDjGNhzz3yYwk+HbMhp5cocGwMa3SJerVi4Z30eR4QAvec1vocX3+pKeK+G+yhh7VWn/gIOP8eayGI4PFC4rNNUKQE/6Jloji7UDvZlZn7vhsiLPPwnx6WrJS72xY/YJte3dNnH6YLxWEka9zk5tu0YveXRd3DVcYc0s8qksmZqnLOK+Mfzu1SXeEkig2u9a78zPEG9gpGuPu3dJ3gNI+O4wZajL61i9ME76hu++KJzWuCMfq3fWv2zPjdOMoWydWLNrvAFZT2cDBx6V6vuwTPvZRz9vp2V9rIWKexWWQOw9CdMx23B9eIXPXOK8rYkLUXwKv7rBamrx6a9U1GK7v6cGVMS7Ec/0n5H9weyoZhNjRamZvPhaafZA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(366004)(136003)(346002)(376002)(478600001)(6486002)(38070700005)(316002)(71200400001)(82960400001)(6916009)(54906003)(2616005)(186003)(83380400001)(122000001)(53546011)(6506007)(41300700001)(38100700002)(6512007)(26005)(31686004)(2906002)(36756003)(4326008)(86362001)(8936002)(31696002)(8676002)(5660300002)(66556008)(66946007)(66476007)(76116006)(64756008)(91956017)(66446008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cmFTYzFHL29xMy9LbVg2MVFJa1pqUjVrbTJaZEIyQ293K1hVSHRmdWhVTTht?=
 =?utf-8?B?NUVaTDZXSmh0elZDQ1o0RFFEWnRLQlU3emdINm5yYkkzbHFPOG1iYzZmbEF2?=
 =?utf-8?B?UnN2a0J3ZDJHU3dGQWdJeE1rMHZlSDkwdFZUZXN1dWNhWW1hSlExOE1XMW15?=
 =?utf-8?B?bEdkOHUwZmVsTGV2UkZBOTZ6S0ZaWXhBUXpSck9NTEsxbFBpb2haanlkdXJr?=
 =?utf-8?B?bHFzczNYUjNTV3lacEh4cjY1UXoyRlVQajVvUG5rV1hPMUswUWp4YndnYWwy?=
 =?utf-8?B?SE1OR1ltZks5NWZTRFhtTzF2TEZLOExHR2p4MWk1ZHl3NFhoMmtMUmxKUUZo?=
 =?utf-8?B?bXFXd25lYXkrQzRCOGpjT3ZKcE1QbzZNcm85UlY2MU0vN0M1WUxmNS9ZaEpZ?=
 =?utf-8?B?aE5OUkZiWldGaVlXMTRnOTRwcWFVSTltaFIwMFpWU0NBQ01DOStGOGszNmtW?=
 =?utf-8?B?WkZRcGFrcitGYy9rK3RHTjFqL3E1V3lDVEt1TUJCVDZzWk9BVTQzWE4vRjZp?=
 =?utf-8?B?MWRtNW9WRy9CbllKLys5Y0s1VFdvd1BBckJhU0FZNkd1RDd1Y2FoQmFXTGMw?=
 =?utf-8?B?ajVPRjFYMy9Bd2Q5NWxNSVBJcE5GMmowTkJPaVdxaHpaRVQ3MEJZYkJhbkh5?=
 =?utf-8?B?enRwa0w0TXhWWG5qMFVZblBCbkwxNHVYdlR2S05ycVBUWFFUREJuRU5SS2Vh?=
 =?utf-8?B?QWtFa0lsd1gxYlNGdW1rWWlDbS9MVnRjYmxlUzNLdThDdHJPTk1KRWtwMkZW?=
 =?utf-8?B?TmJ0YUJxVURvYTNiM2NxNVNibEduSE9rdnhWY2U3ZVpPNXYxcHVDS2pUaFcy?=
 =?utf-8?B?ak11Vm9RTGE3YVkrUmdWaThIaGZZZVFlN3dzWFl1SmlGSFF1VGhQbWFtenl5?=
 =?utf-8?B?L2hFTERRSXJKcFh1NDcwRys5VkdkdzN0eGRtMnptTkdJdCtvNzk3K3kvVC9Q?=
 =?utf-8?B?WFRZVG1ta1BTeStBNGFTRjJhVEF3endCY1V3dVgzMTlUWlg3RjhXVmYwcWo4?=
 =?utf-8?B?QkJ1MjNXdkQyYmVxQnVLZDR0aGJBQjlDOVdQYlhaUEVtK2F5a1A3Y0JBZkpl?=
 =?utf-8?B?b0doV1l2cDJLT0x1UVR0RFMzSU5rV3NwWTFOZlROb1pNckNxbEFCRmRKK2Ns?=
 =?utf-8?B?REExTHFoYi9CREJ3dzkzTXFzc3RiRG5VNEppOXZDQUVJT3cra081UHJoMXVK?=
 =?utf-8?B?VVFrTlJyaWxJK0lseDc5Ykplb0lXWE0rR2RuR21MOXE0V3lwUmcxUjIvY2FY?=
 =?utf-8?B?QnVBSEtkb2xKY1ZuTjB6d2prOG9uNjZpcGpmalNQUWdLVnc3a2NHZVZOKzJS?=
 =?utf-8?B?NEQzTWYrcjc4UURyOGc0S1NqcXVqaW5oV3FjWXNLNGZlQXFUdk5SQitMT2tn?=
 =?utf-8?B?eHpRL2xFTDBwSFFDNE4vbnNaUFpETC9MbVdCTHAvTWlhOXpCTmhQczBvNEpT?=
 =?utf-8?B?TmplR3dTekhtTGFNYjYwYTNmODBpd2g5ejRhVU44Y214N2NNYUR6SkVVZUwr?=
 =?utf-8?B?UjY2MVU5WGJkM3dsOGN0bVVWdDdNbDZNZkFTaGFoblVLZmt0MCtlOEVUckZS?=
 =?utf-8?B?UHRmSjVOMGhKTmw4Y0QyZVUyY2ZEdXA1UWZJSmVSVGJlWFRjQkpUZld6RGk4?=
 =?utf-8?B?Z3JEOTZSeVlmdVZ1Mm5RYTNmd0xUYWh0ei8xbVg2MTVicGtCYWxtcXAreE5z?=
 =?utf-8?B?MG5neWdDTFdKM2s0SS9tcHIyL0Rla1VWeHoxWmJ1MjBjQU15OEl4WGFRZmlx?=
 =?utf-8?B?aTNHZ1JWbUtBMFJLMG8xemVYVWxkbmd0R0NZay9tcnNSZGppaUw5b0lmeUpF?=
 =?utf-8?B?VzhoaGtZKzd0SEd6OHBoK3Y4TTlGNW5aTm1aYkJkeFVFVFU3TE8zZmxGdFJK?=
 =?utf-8?B?WHB5cE12ekN3V2pkaGdGMDFyZ3NjQmdneit0T3M2Mmh2VDM5dkFVeExJeS9w?=
 =?utf-8?B?dTR0ZjBlSWc2eUJIUjVYSTAxME8xUmphNmt0S3Eyc0xiOVV1YjRlc3l0OVRl?=
 =?utf-8?B?QUZkQzQ0cnN6dnpsSEFEL3IvMURCMlV1RHpUZSt1ZDhrQ3ZUb1JyMys3UDFZ?=
 =?utf-8?B?NUV1bmNxVEd4ZzlHMjJZdXlGc3NDK0RQaWx3RDlESHdNUjkvOU5Vbk1tWk4y?=
 =?utf-8?Q?1v41xThGajOyo3+7fVQ+IPwe1?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EABB8E6D0CB4C54EB1EEA809F39C8EB2@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e1381d8-168b-4456-7462-08da85c88121
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2022 12:02:23.2284
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7TELAbpSgEXUr/9hUjewJKHlb1MKO0eIKOY/b1NCCnY/+1ifjrIc5kPc8ZQLOXune1/pXaazaEhOrQl48gGaFynuWNvQXLeX6sE1Mmd0ZeY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5122

T24gMjMvMDgvMjAyMiAxMzowMSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDIzLjA4LjIwMjIg
MTI6NDgsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAyMy8wOC8yMDIyIDEwOjI3LCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBPbiAyMy4wOC4yMDIyIDEwOjU5LCBBbmRyZXcgQ29vcGVyIHdy
b3RlOg0KPj4+PiBPbiAyMy8wOC8yMDIyIDA3OjQyLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+Pj4+
ICsrKyBiL3hlbi9hcmNoL3g4Ni9jcHVpZC5jDQo+Pj4+PiBAQCAtMTE0Miw3ICsxMTQyLDcgQEAg
dm9pZCBndWVzdF9jcHVpZChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdQ0KPj4+Pj4gICAgICAgICAg
c3dpdGNoICggc3VibGVhZiApDQo+Pj4+PiAgICAgICAgICB7DQo+Pj4+PiAgICAgICAgICBjYXNl
IDE6DQo+Pj4+PiAtICAgICAgICAgICAgaWYgKCBwLT54c3RhdGUueHNhdmVzICkNCj4+Pj4+ICsg
ICAgICAgICAgICBpZiAoIHAtPnhzdGF0ZS54c2F2ZWMgfHwgcC0+eHN0YXRlLnhzYXZlcyApDQo+
Pj4+IElmIHdlJ3JlIGRvaW5nIHRoaXMsIHRoZW4gaXQgd2FudHMgdG8gYmUgeHNhdmVjIG9ubHks
IHdpdGggdGhlIGNvbW1lbnQNCj4+Pj4gYmVpbmcgZXh0ZW5kZWQgdG8gZXhwbGFpbiB3aHkuDQo+
Pj4gV2h5IHdvdWxkIHRoYXQgYmU/IEJvdGggaW5zbnMgdXNlIGNvbXBhY3RlZCBmb3JtYXQsIGFu
ZCBuZWl0aGVyIGlzDQo+Pj4gZGVwZW5kZW50IHVwb24gdGhlIG90aGVyIGluIHRlcm1zIG9mIGJl
aW5nIHN1cHBvcnRlZC4gSU9XIFhTQVZFUyBhbG9uZQ0KPj4+IGFuZCBYU0FWRUMgYWxvbmUgZW5h
YmxlZCBmb3IgYSBkb21haW4gc2hvdWxkIHN0aWxsIGxlYWQgdGhyb3VnaCB0aGlzDQo+Pj4gcGF0
aC4NCj4+IEhtbS7CoCBCZWNhdXNlIG15IGZpeGVzIHRvIGNvbXBhY3Rpb24gaGFuZGxpbmcgaGF2
ZW4ndCBiZWVuIGNvbW1pdHRlZA0KPj4geWV0LCBhbmQgaW4gcGFydGljdWxhciBvbmUgdGhlIG9u
ZSB3aGljaCBtYWtlcyBYU0FWRVMgc3RyaWN0bHkgZGVwZW5kIG9uDQo+PiBYU0FWRUMuDQo+Pg0K
Pj4gSW4gd2hpY2ggY2FzZSB0aGlzIGh1bmsgaXMgY29ycmVjdCBmb3IgWGVuIGFzIGl0IGN1cnJl
bnRseSBpcywgYW5kIHdpbGwNCj4+IGJlIG5lZWQgdG8gYmUgYWRqdXN0ZWQgd2hlbiBJIHJlYmFz
ZSB0aGUgY29tcGFjdGlvbiBzZXJpZXMuDQo+IE1heSBJIHRyYW5zbGF0ZSB0aGlzIHRvIGFuIEFj
ayB0aGVuPyBJaXJjIHRoZXJlIHdlcmUgbm8gb3RoZXIgY2hhbmdlDQo+IHJlcXVlc3RzLg0KDQpJ
IHdhcyBob3BpbmcgdGhhdCBNYXJlayB3b3VsZCBoYXZlIHRpbWUgdG8gdGVzdCBpdCB0b28sIHNl
ZWluZyBhcyBoZQ0KcmVwb3J0ZWQgdGhlIGJ1ZyBmaXJzdC7CoCBCdXQgc2VlaW5nIGFzIGhlJ3Mg
YnVzeS4uLg0KDQpBY2tlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4
LmNvbT4gKHdpdGggdGhlIHR5cG8gaW4NCnRoZSBjb21taXQgbWVzc2FnZSBmaXhlZC4pDQoNCn5B
bmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:10:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:10:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392496.630879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpD8-0007cI-JC; Wed, 24 Aug 2022 12:10:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392496.630879; Wed, 24 Aug 2022 12:10:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpD8-0007cB-Gd; Wed, 24 Aug 2022 12:10:18 +0000
Received: by outflank-mailman (input) for mailman id 392496;
 Wed, 24 Aug 2022 12:10:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZILy=Y4=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1oQpD7-0007c5-RZ
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:10:17 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6c6d14b-23a5-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 14:10:16 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 3C44BB823B5;
 Wed, 24 Aug 2022 12:10:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C901C433C1;
 Wed, 24 Aug 2022 12:10:13 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6c6d14b-23a5-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1661343013;
	bh=F2YLkXUGAvRl48RIOlzNr8FE+/+6p1ERwGx5pTSE3VE=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=1pH/UocznpjiCps8ensqsYUuh19qmlT006/eMPQ3gvPUu6eOHTHt0zXjoqQvngdD1
	 niBCxTh988+N28oSV/So4zv6nyfX8NiycP73fCS0AecxtnvX02Yf5+GG8MTmwTntKu
	 AxiHCRRSpKqRutyAOpKguKlgTG/b9rUhKchZ8Kh4=
Date: Wed, 24 Aug 2022 14:10:10 +0200
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Juergen Gross <jgross@suse.com>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Backport request
Message-ID: <YwYVIgnHnKUnoChu@kroah.com>
References: <f02f8fb3-2e68-a405-aaef-adc769754bd3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f02f8fb3-2e68-a405-aaef-adc769754bd3@suse.com>

On Wed, Aug 24, 2022 at 01:20:22PM +0200, Juergen Gross wrote:
> Hi Greg,
> 
> stable kernels 5.18 and 5.15 seem to be missing upstream patch
> c64cc2802a78 ("x86/entry: Move CLD to the start of the idtentry macro").
> This is a prerequisite patch for 64cbd0acb582 ("x86/entry: Don't call
> error_entry() for XENPV"), which is included in 5.15.y and 5.18.y.
> 
> Could you please take c64cc2802a78 for 5.15 and 5.18?

5.18 is end-of-life, so that's impossible to do now :(

For 5.15.y, the commit does not apply cleanly, can you provide a working
backport?

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:11:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:11:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392502.630890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpEE-0008AZ-TD; Wed, 24 Aug 2022 12:11:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392502.630890; Wed, 24 Aug 2022 12:11:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpEE-0008AS-QT; Wed, 24 Aug 2022 12:11:26 +0000
Received: by outflank-mailman (input) for mailman id 392502;
 Wed, 24 Aug 2022 12:11:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQpED-0008A9-KJ
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:11:25 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd8fc05f-23a5-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 14:11:23 +0200 (CEST)
Received: from mail-co1nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2022 08:11:19 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5167.namprd03.prod.outlook.com (2603:10b6:208:1e0::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Wed, 24 Aug
 2022 12:11:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 12:11:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd8fc05f-23a5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661343083;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=M+YZMYKtFtRpfMd4m+iQkjBRlTaZdDf6L0x1ytM5/iY=;
  b=NxxBoreAi8vACThmYGCT1zT3yuxz58y6FF0ob9hC4fLt7ZYQuFMuZy9c
   vbu10qepjq+Ty8cpfQ1bW7HD/0CsJCNDEpQXa1nR9eN4UA9jp6hkRa2NR
   B8ZGfwvDfLb0E17Ir2RHiZVDuCm+ArWz9xyISk4wln+/eMX9TQ0ve3EOy
   Y=;
X-IronPort-RemoteIP: 104.47.56.168
X-IronPort-MID: 78798913
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jY8HBK/v6U3RgxmRB896DrUDVH+TJUtcMsCJ2f8bNWPcYEJGY0x3x
 zcbDG+APqvcZ2T3Ko9/aIni9B5U6JXXyt9qSQFl+Hg8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM14Kyr0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGNRA5Mqs33r1MK2Rxz
 dMBCRIiU0uSvrfjqF67YrEEasULCuDOZdpakVY5iDbTALAhXIzJRLjM6ZlAxjAsi8tSHPHYI
 c0EdT5oaxeGaBpKUrsVIMtmwKH02T+iLXsB9gL9SakfugA/yCRY1rT3PcWTUduNXchPxW6Tp
 37c/nS/CRYfXDCa4WXVrSP817aU9c/9cKEoL7206KZMu1m8/VUPSyxHVEeCrcDs3yZSXPoac
 ST44BEGr6I/6UiqRdnVRACjrTiPuRt0c8VUO/037keK0KW8ywOQHG0NVDNCQN0gqs4tRDYu2
 0OJntXmHjhmuvueTnf13qubqSOaPSkTMHMYYikFXU0J7rHLsIw1yx7CUNtnOKq0lcHuXyH9x
 SiQqyozjKlVitQEv5hX5njCijOo45POFwg841yOWnr/t10pIom4e4av9F7Xq+5aK5qURUWAu
 35CnNWC6OcJDteGkynlrPgxIYxFLs2taFX06WOD1bF7n9hx0xZPpbxt3Qw=
IronPort-HdrOrdr: A9a23:gSwIxKPM7BD5V8BcT2L155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90DHpewKQyXcH2/hqAV7EZnirhILIFvAp0WKG+VHd8kLFh4lgPM
 tbEpSWTeeAdWSS7vyKrzVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH
 Pz3Kp6jgvlXU5SQtWwB3EDUeSGjcbMjojabRkPAANiwBWSjBuzgYSKUiSw71M7aXdi0L0i+W
 /Kn0jS/aO4qcy2zRfayiv684lWot380dFObfb8yvT9aw+cyTpAVr4RHoFqjwpF5N1HL2xa1+
 Ukli1QffibLUmhOF1d7yGdgjUImwxelkMKgWXo/UcL5/aJCg7SQvAx+76wOHHimjUdlcA536
 RR022DsZ1LSRvGgSTm/tDNEwpnj0yuvBMZ4KcuZlFkIPwjgYVq3Poi1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwM/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFrxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kI
 SpaiItiYfzQTOaNSSj5uw6zvmWehTNYd3E8LAs27Fp/rvhWbHsLSqPDFgzjsrImYRsPvHm
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="78798913"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GgeN/tPhnT0VJrbGIIf0Q5A61OzHiGlgTSDN1A2CIaqSITDkMpoKGmxARTtTZf0PffSwQTABe+CNOulMoKtDYw2Rx+rvLXlxl4uMQRK+ssQKq5DwyH8ZmSzMR6N4EjjF4/k1Tj7xiZ/xL3lYb3nN7wIp5/nx7xGpF7xDTO5qUxGo1Iu0lUuEhclVHycE9HPlAS0Pkcf0MM2bDREDq/ctcwsWP7xCL+rn+LOWh/bHMYYhsDeO8UHjOcMlyZUOlbp+YekeI3+yz+le2Lu/JYNDGHM/h4cxFABVhBws9NVXSkKo0kdFI1O51xpaitV0Eq8LHCiS0LcpOtA6edgAqYnlMA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M+YZMYKtFtRpfMd4m+iQkjBRlTaZdDf6L0x1ytM5/iY=;
 b=Ia04B7VAwcjHzC+Oxz743PDqUlL87uY223B9u/r33nji/1FGe5AYku4JDx6XCwlCaIZkDNiaZLDkczvrP81NNt0CUGgORUbRpAzhE8c0sU42SssWqxGRVbv2Qud/G2QUZkKpJvrbSg6IFFOxRxfSbwci1LXyBv0xJqdjLdjMsvGV2RvxBaknesY4bRe5tnPZ+eU0SkVW7kVPigAXG/r7H5ps2b0RQmF0FcSo14EUw1DRofdXw338/wmom4n0PwZ5RMsYd5pBUVFOe2WFMtzo05cuSCR3kZi+lSZZOrvgHPGe/FJH4qegKVSLQxpfNvLlZeoVkzLMo8OY93/f3We6aQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M+YZMYKtFtRpfMd4m+iQkjBRlTaZdDf6L0x1ytM5/iY=;
 b=O4B5EOuPjdbeU6gLcMuQSXXKduGcOYALJEafDcjeiLMGxBy+J2PGiI0HNwsDEcbRWSrZjo30IIUOz7P2y1iqioP0191BOreJpMyvxkf1Of15FGMmmXNBf6USOo7P3V/Dy4WNW7KIMInkY5nB/WTyLnuRuT6pXx/batLtCPoB9Ro=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Topic: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Index: AQHYtrt8/1v0WOY/4kiCtfQ8qrAcS628L8cAgAAH3wCAABa0AIAAFEkAgAGVHgA=
Date: Wed, 24 Aug 2022 12:11:17 +0000
Message-ID: <61e209ea-4369-09b1-a26c-ff2aa28e5656@citrix.com>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
 <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
 <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
 <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
 <e9de03a3-77cf-bc90-be48-ef6b1f133661@suse.com>
In-Reply-To: <e9de03a3-77cf-bc90-be48-ef6b1f133661@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 99faf367-2c93-45a1-daef-08da85c9bf73
x-ms-traffictypediagnostic: MN2PR03MB5167:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 uV8VMcwqodldW/1T8exAJjdS1OLINcWbUD2hIi6/abdtmu7PN7vA6kAqbg+N73yIe3leHoHYp9eg71UbwpnCwhakcmFpfVbh9Owv3bXuDzsOR5T7JdSDFlibakGq46Yq2wJ6ChZCPzXeI56J2Ibl+j2wB/XPojSP91OF4B4guolNaAaLsydwambv/sMm2wDEs8rt6MpG3xGNYrmd04KTmOTIPX8IGYGfZvb+uK3X4dcKHtm9/0Ae/wVfQJjt+21GJbMWr1GKHBlsmb8Qlvm4VMXg39RstA01G023ByML8VDajaP/5dWae7EmxhaIFpKcDDZ0L+n15PuMgewf884D3fnUQ+U7JVmGXE5ihkJrc4Z9qY3OXNIGPGWEyZ3At3Ll6RyWNhLjwm7HHCc1IVvn/Ru5KHWxYsOiX8ym1C4DTCYiSVT00e97Vy5lYOD+da1neaWfBTqQUZV3dm51GbgQFkaltbMGk3Z4pT77Vy1ukufrdQK6FAEcCvZalaXuUdNG8pesv6NMr9rADrZZsOBi1SEKDaWkUOH+rsx5tK7ZYsKSzKw9U0QsGXd1q2ALGGfWoUqZi6uFH7tAcELepkTuiw2Apr2EyIUgT/vtBIX2rX9hX0RPhFJRXURbxgP4cm+sQmoM+YHujDuSS2SE+/PRaChDbV3/SYJTPds1KjjEM3uEy5UwDVc9hkZVYsthHfX/nK9M4Vwui4y4OuVh1lUvtsWXcr5m9Br4ABZdOFBg5SzD8TdEXaF8tx1QsSezcXp4Hk1G2mSfOL1L02uE5Q5Ak5yBrbHZAwGM4jOmiZnSA+uKxksq3oVIIwDGS9CtyajZjq/SnaDij1kBmovpIbtzcQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(366004)(39860400002)(376002)(136003)(478600001)(71200400001)(83380400001)(316002)(26005)(6512007)(6486002)(6916009)(54906003)(36756003)(2616005)(31686004)(186003)(64756008)(66556008)(8676002)(38100700002)(38070700005)(76116006)(122000001)(4326008)(66476007)(66446008)(66946007)(41300700001)(53546011)(31696002)(2906002)(6506007)(5660300002)(82960400001)(86362001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ajBBSHFid2RNSjlERFZ1YVVTRVJNSXMzNFR0SkVFWnpXRDViRFp0RDdKTVU3?=
 =?utf-8?B?K2NORWNnNGkydzQremxXOEZmRkFOMUdEU1BmOHRCWWFpS3V0cVdkZzIzRy8w?=
 =?utf-8?B?cEpHMzJ2c1ZuMmdEdkNqc213Zkx6UTZHMTI3VC94c1hoQzh5UlNVVW1vWXk1?=
 =?utf-8?B?R1NmYkxwQmwxRTJFQk9lb2RkaERZMS9Md01hU1p1eUd5YnYyZzh2alFrS29M?=
 =?utf-8?B?VSt3aDVCQTR1QldlVmx4N1dlNmNKSXhUbUd5Rk9uYlVKc1EybkJhd0NzT25y?=
 =?utf-8?B?WkNBS2dOTXAxaE5xdHVKdkRTb0dpVjYwYzBIbm80T0s1T0p1UForSEN5WDAr?=
 =?utf-8?B?QXMwalZuZmw3anhhMGtueTV5cDBZcEduSFQrUUdqWFY2eFA4aGlXTXN4K2di?=
 =?utf-8?B?Q0kyTzJuU05ZdVVWUkU2UzFZREZ0eDNrZDB4akVVeXJ6UTVHcmpodTFIbVVS?=
 =?utf-8?B?SE01bXMyYVJlTmRWSitKb1BqNE1kNXhMUlVEUDFxUGF3MVAvYno0b1JVUmVL?=
 =?utf-8?B?WURXSEZ6K1BsVmJJN0hnS0lmWkF2bEFEaU1HVzl3cWNSYlplN2g5MHNOT3Ji?=
 =?utf-8?B?anVJNWo1Z04wZmdIWGZRUFRDOHBLU1BxTEhoSFZEUUxvUk0wTUtpT01HK0Z0?=
 =?utf-8?B?ZHJPS01taG1pS0gyTnpHWXc2S3Q2RHpHbjdJK01HZWNuN1lQOFNHL1J4NTJa?=
 =?utf-8?B?VjhiQUF6V0RScjNTTkJFS2dlVjJoZUZ4UXo2cHhCa2czRnY3cmdjYUt0bTJX?=
 =?utf-8?B?ZXpHSE9ZSXlNc0M3MkdmeEs2RXl4MEc0S0lFMlQzQy9yUmEvanNDdEJkekE4?=
 =?utf-8?B?cEpFYWJNa3lHNVNqTlM0ZWRPQTlhMUxrc0h3Y3VkaHgzNGZRcSs3OFNBNDVB?=
 =?utf-8?B?QVE2bEtwejBuSnlnajkyd3NJOHdzUzJqU1VoZkw4dmptc1FYbjh5ZFZyQUQ2?=
 =?utf-8?B?d3hoNjRHWGJFOGlaeE9IcUtuTm1GT3ZqeFZabklPcnJSU0gxRlQ1MDFzNFpE?=
 =?utf-8?B?dVpBU0RNS25ZVWdVQzJTOUhCSEc0Y2xTSW0zWjhLdFJPM0wvN1JuRlhTZjNx?=
 =?utf-8?B?UzJ6NGFmTVNkL2t6TkluUGV0eUd1WksrSUUxclpDeDlOSG90cjJmK0QwaFJw?=
 =?utf-8?B?YTNsZGVTYkFFYmdXa3p6aVpzYS9jYkNsVlJQU01NQWRIUnZNclVnK09OYWMr?=
 =?utf-8?B?N2o5cXJlbWhpd0pzN096M1dReUwxTHB5VU5ROHlvb1prZFJXSkRJaUhuenM2?=
 =?utf-8?B?L1U1UTNlMkphcU9YZ0ZnemgwR2hFRFp3b0QrRUFjMjBLOW1pMWdQdmluN01M?=
 =?utf-8?B?dEVoeEJPNldsRzdZUEF5NGM5VDJBdFh3TlQ5bmVSSGZtcS9qMGVFbldoY09x?=
 =?utf-8?B?c2lBd3NCcWFQRTB2angvb2V2RUJCbUFzRUZIcWN5NTZ2L292U0IweUdyMlkz?=
 =?utf-8?B?VFdXMnJXVWlaMUlnYjMvODZtQzQ3WjRlUzU5VGhXQVlUdVBiRGM1Y2s3NlBX?=
 =?utf-8?B?NklmNVUxN1d2NHZWZnpUc3lHQjRFMGZFWWVBSkxIMndhdXFPczNicEI4bGpN?=
 =?utf-8?B?YlhsRHBDWUZvU1JWR0FWSHNlb3ZHempWYy9CR1lCWk4vMC94SkZUV05iZjZS?=
 =?utf-8?B?WkVkVVRsTE9yZTBvbnBQbWcrRGs1UWtyK3gwNWtqTUkyTGF6UFgxeG4rcjFJ?=
 =?utf-8?B?L0s4L0pYRVgzWWcrVWxUa0wvUWVtQmt2Q3Excy9DY1htSk5ET3E0NTZ0T2hQ?=
 =?utf-8?B?ZkJtc2xQQk5ZTVd4SCtUQ3RmRDJBcjA4Und1L21pbDdpWUJoWENYcEJ2am9P?=
 =?utf-8?B?WUdjd0d5R0IyeXF1bzZBK09HdmtVUEkxVlpJYzlrak95ckNuL01pWjc0di9k?=
 =?utf-8?B?Vm5zejVYd2Z6MXVUMkppRlZ6amQ4L0wzUGY1TDFEVFJVdXFtVnBtRkNLQnUw?=
 =?utf-8?B?N2pzV1YyY2dtVUdQK3lZMDB4NEJpaWFQbEhoNzROK2UyVEFnRGQzNCtBdnNo?=
 =?utf-8?B?Y3RCMTZIdmdyci9iL2cvY1I2R0pxNEY2RlY4QSt6dUFXRnVseW1IWTcrQVU4?=
 =?utf-8?B?eVdYV05lMW9tZklCdHppQ2UrN09NcjFZZ3BmL0t5ODE2N04yTXpDK1FwdmxB?=
 =?utf-8?Q?d4pSVkHFD/z7kpQTNN43rudce?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1774341D56E48241881D11F68E01614C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 99faf367-2c93-45a1-daef-08da85c9bf73
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2022 12:11:17.2683
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7cL65JnPmeO+kr7LK7eNV51FPijdrG2HtR6jcbvSrnlZFF5r4U3L0om+fEFublF1byaVtgkxDIQsiV8RNeWwvqJ/V8+7tt31TedTy2VmEtw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5167

T24gMjMvMDgvMjAyMiAxMzowMSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDIzLjA4LjIwMjIg
MTI6NDgsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAyMy8wOC8yMDIyIDEwOjI3LCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBPbiAyMy4wOC4yMDIyIDEwOjU5LCBBbmRyZXcgQ29vcGVyIHdy
b3RlOg0KPj4+PiBPbiAyMy8wOC8yMDIyIDA3OjQyLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+Pj4g
QnV0IHRoaXMgaXMgZ29pbmcgdG8gZnVydGhlciBjb21wbGljYXRlIG15IHNldmVyYWwteWVhci1v
bGQgc2VyaWVzDQo+Pj4+IHRyeWluZyB0byBnZXQgWGVuJ3MgWFNUQVRFIGhhbmRsaW5nIGludG8g
YSBwb3NpdGlvbiB3aGVyZSB3ZSBjYW4gc3RhcnQNCj4+Pj4gdG8gb2ZmZXIgc3VwZXJ2aXNvciBz
dGF0ZXMuDQo+Pj4gV2hlcmUgZG8geW91IHNlZSBmdXJ0aGVyIGNvbXBsaWNhdGlvbj8gVGhlIG5l
Y2Vzc2FyeSBmaWRkbGluZyB3aXRoIFhTUw0KPj4+IGhlcmUgd291bGQgb2YgY291cnNlIGJlIGRl
cGVuZGVudCB1cG9uIHAtPnhzdGF0ZS54c2F2ZXMgYWxvbmUgKG9yLA0KPj4+IG1heWJlIGJldHRl
ciwgb24gdGhlIHNldCBvZiBlbmFibGVkIGZlYXR1cmVzIGluIFhTUyBiZWluZyBub24tZW1wdHkp
LA0KPj4+IGJ1dCB0aGF0J3Mgc2ltcGx5IGFub3RoZXIgKGlubmVyKSBpZigpLg0KPj4+DQo+Pj4g
QXMgYW4gYXNpZGUsIEkgYWN0dWFsbHkgd29uZGVyIHdoYXQgdXNlIHRoZSBzdXBwbGllZCBzaXpl
IGlzIHRvIHVzZXINCj4+PiBtb2RlIGNvZGUgd2hlbiBhbnkgWFNTLWNvbnRyb2xsZWQgZmVhdHVy
ZSBpcyBlbmFibGVkOiBUaGV5J2QgYWxsb2NhdGUNCj4+PiBhIG5lZWRsZXNzbHkgbGFyZ2UgYmxv
Y2sgb2YgbWVtb3J5LCBhcyB0aGV5IHdvdWxkIG9ubHkgYmUgYWJsZSB0byB1c2UNCj4+PiBYU0FW
RUMuDQo+PiBUaGlzIGZpZWxkIGlzIGFuIGFscmVhZHkga25vd24ga2VybmVsPT51c2VyIGluZm9s
ZWFrLsKgIFRoZXJlIGFyZSB0aHJlYWRzDQo+PiBhYm91dCBpdCBvbiBMS01MLg0KPj4NCj4+IEJ1
dCBpdCBkb2VzIGhpZ2hsaWdodCBhbm90aGVyIHByb2JsZW0uwqAgVGhpcyBjaGFuZ2UgZG9lcyBu
b3QgZml4IExpbnV4DQo+PiBvbiBBTUQgWmVuMyBoYXJkd2FyZSwgd2hlcmUgdGhlIGtlcm5lbCB3
aWxsIGZpbmQgdGhlIENQVUlEIHZhbHVlIGxhcmdlcg0KPj4gdGhhbiBpdCBjYW4gY2FsY3VsYXRl
IHRoZSBzaXplIHRvIGJlLCBiZWNhdXNlIFhlbidzIHVzZSBvZiBDRVQtU1Mgd2lsbA0KPj4gc2hv
dyB1cCBpbiB0aGUgQ1BVSUQgdmFsdWUuDQo+Pg0KPj4gTGludXggbmVlZHMgYW4gYWRqdXN0bWVu
dCBmcm9tICE9IHRvIDw9IGZvciB0aGlzIGNoZWNrLg0KPiBJIHdhcyB3b25kZXJpbmcgYWJvdXQg
dGhhdCB0b28sIGJ1dCBpZiBJJ20gbm90IG1pc3Rha2VuIHRoZSBjaGFuZ2UgeW91DQo+IHN1Z2dl
c3QgaXMgdGhlIG9wcG9zaXRlIG9mIHdoYXQgd291bGQgYmUgYXBwYXJlbnRseSBzYWZlIHRoZXJl
IChhZ2FpbnN0DQo+IG92ZXJydW5uaW5nIGJ1ZmZlcnMpLiBIZW5jZSBpdCBtYXkgdGFrZSBtb3Jl
IHRoYW4ganVzdCB0aGUgY29tcGFyaXNvbg0KPiB0eXBlIHRvIGJlIG1vZGlmaWVkLg0KDQpUaGUg
aXNzdWUgaXMgdGhhdCB0aGUgQ1BVSUQgbGVhZiByZXBvcnRzIHRoZSBjb21wcmVzc2VkIHNpemUg
b2YNClhDUjB8WFNTLCB3aGljaCBpcyA+PSB3aGF0IHRoZSBYU0FWRUMgaW5zdHJ1Y3Rpb24gd2ls
bCB3cml0ZSB3aGVuIGl0J3MNCm9ubHkgb3BlcmF0aW5nIG9uIFhDUjAgc3RhdGVzLg0KDQpTbyBl
aXRoZXIgTGludXggdHJ1c3RzIHdoYXQgaXQgY2FsY3VsYXRlcyBmcm9tIHRoZSBvdGhlciBDUFVJ
RCBsZWF2ZXMsDQphbmQgZ2V0cyB0aGUgY29tcHJlc3NlZCBzaXplIHJpZ2h0LCBvciBpdCBuZWVk
cyB0byBhY2NvdW50IGZvciB0aGUgZmFjdA0KdGhhdCBpbiBYZW5QViBhdCBsZWFzdCAocHJvYmFi
bHkgVU1MIHRvbyksIHRoYXQgdGhlIENQVUlEIGxlYWYgb3Zlci1yZXBvcnRzLg0KDQp+QW5kcmV3
DQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:16:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392510.630901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpIi-0000Sw-L1; Wed, 24 Aug 2022 12:16:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392510.630901; Wed, 24 Aug 2022 12:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpIi-0000Sp-HR; Wed, 24 Aug 2022 12:16:04 +0000
Received: by outflank-mailman (input) for mailman id 392510;
 Wed, 24 Aug 2022 12:16:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQpIg-0000Sg-Nm
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:16:02 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2054.outbound.protection.outlook.com [40.107.20.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83a411fe-23a6-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 14:16:00 +0200 (CEST)
Received: from DB6PR0801CA0043.eurprd08.prod.outlook.com (2603:10a6:4:2b::11)
 by DB9PR08MB6940.eurprd08.prod.outlook.com (2603:10a6:10:2a6::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Wed, 24 Aug
 2022 12:15:56 +0000
Received: from DBAEUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:2b:cafe::92) by DB6PR0801CA0043.outlook.office365.com
 (2603:10a6:4:2b::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Wed, 24 Aug 2022 12:15:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT031.mail.protection.outlook.com (100.127.142.173) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 12:15:55 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Wed, 24 Aug 2022 12:15:55 +0000
Received: from 00a2fc007262.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 09EB3F46-BB5A-4E6E-9C7D-38586CA56C0E.1; 
 Wed, 24 Aug 2022 12:15:43 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 00a2fc007262.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 12:15:43 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DBBPR08MB5224.eurprd08.prod.outlook.com (2603:10a6:10:f1::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Wed, 24 Aug
 2022 12:15:41 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Wed, 24 Aug 2022
 12:15:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83a411fe-23a6-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=crTqqbctWnmSPO8eE8HlOliA27Umsm2hnL5kQYfZL5W8FvPeT8kCE5NGxW0hcmZtU2D5llN2n0u23AmEi/g3v57A66zIQ1SkYchVjjk4fx/ZCe8LYaOiaiWKY7EGDYqIM7itjSdHIO61nLffEFeQzflOz0bHAePKGOHS3HDxYScfUWoDdl+KmG/aaqIKeGk8v5Kal3lPR1CHUdGuYW7p/eZNJk0Gcd/YAycWfqI99l/kGRis3V15KxSOSw6ONb8pv72JntiQB5qIwWFIuWHynCC2XTA5TmngvanR5gtuv3D5F/ZaIGUziDnjVGHeq3oZx2wQavsyMYbxsB0dL5KGWw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NHVb2HoZR+iufNqRpb5CiYE87ICXq8OgVwbteZuDL3g=;
 b=hr38Ydum+ixhiVCYfRzeYEvXZz/MblSHZDGZ0H9XC6GTsHHnRcyzQIiN0xRzyAM97zrmB8IQt+gaKiI7dL/SceSLzhqf1aFDzWYoCEpf6VAyxmDbU7zikUd8o1n04K/4sdk9cMqEiEwyu7b1R7NlGa6a2SQ1NYAQ8wxi0NqD7lPoq16IHim4uAndGyZRkOD8+o99ggiwB+i9pAcH10gUG05Z+d+dFYaRVMq5ndaXbwLu+bYbAdHYBIDfkgy7j0OC352i3p7mGsc7Vo744O5lgH3I/uc2b6BMxw2xfX/UV5Shh4NDsK4E0BI+aSyg8zTHInoz2PQQTkrqsUCQ7uaYJA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NHVb2HoZR+iufNqRpb5CiYE87ICXq8OgVwbteZuDL3g=;
 b=fh+rE19vnIhAKhU5P1FRn89rTUoRpkRgipnOdYbES+R5s58WDCJj/cBiHXWRMadvOtJRcF5HyiZuaNlTp9g0GkapR9OfIVGOF3iSrek6cH57+nCT4ctyV1NiphVQDx0LbXkWmP1wcPHcTjenAsUF8FPin/BgpBkSXWlW8URdZ5Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 2ad0b40c3ce7735c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jKEjk0/8im6sA/bPuJXGyEJoixe4TvpMjqPJU5ffrAn0LMF3PFw0ymnWB2tGKXZZ43cLjvoADFmsIrDlJIBa+FOZtbhM1wM8RKIfQFqooYa3ZaNa2SfCqC0sGJvrQ+u5Tvd8diLrkUJPAnxa/O62WF1Q82WhZ5fwMtXHHWAcO9XucOVZgLOHSoBTjAJjqZIDUBnGlPlaYxdM0Ah6VyRs58xoBF5uCbxJpX6SQSo7aCMKpzZJwShwyRnvZztz2oORGsQiDhrBMdqJFzE6hvyRM8e8JiGnw4m9zhxWvjYxnX5AA5fw6xKTboxB3L56f1OFs00yOFIwKNFCO3vtvWFBhw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NHVb2HoZR+iufNqRpb5CiYE87ICXq8OgVwbteZuDL3g=;
 b=LgHrsajQvdRlPUK44BtXV2FDih+DkyevMs1EWdJe3VjO6n+zjIxBfcGjjpiB4obwHGkrLm50kS+JyFeBieyFp8JvQ7wlcB46PueOyc5XprTAbryWgDdhJAL0Vva5owUtzhpT8DJ+dvlZOFX4F4BWIJxVcnY5sGRxE6Ree1TUqua5Mrk+hZ+O6pfQWfh35wVuQVq6S1XdDNEsuRW1t+89EH+btgshgCMOvcUoDDu+UfWgm/KRZhve7pfN5nppVtL8Jymbge/+p73S78kArI8FbTyCgRUaYwc0HIGmZFqif4oXTcCticSou0mu3HxgI4eEt1xrOJJtV4I73goKpaP/3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NHVb2HoZR+iufNqRpb5CiYE87ICXq8OgVwbteZuDL3g=;
 b=fh+rE19vnIhAKhU5P1FRn89rTUoRpkRgipnOdYbES+R5s58WDCJj/cBiHXWRMadvOtJRcF5HyiZuaNlTp9g0GkapR9OfIVGOF3iSrek6cH57+nCT4ctyV1NiphVQDx0LbXkWmP1wcPHcTjenAsUF8FPin/BgpBkSXWlW8URdZ5Q=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Thread-Topic: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
Thread-Index: AQHYs7NVSZ6RtK1DJkmDvOUuzqeVhq28SEyAgAG2wAA=
Date: Wed, 24 Aug 2022 12:15:41 +0000
Message-ID: <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
In-Reply-To: <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 0cd9977e-261c-443b-569d-08da85ca6561
x-ms-traffictypediagnostic:
	DBBPR08MB5224:EE_|DBAEUR03FT031:EE_|DB9PR08MB6940:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Te/UloZVB3G4i0HbY4aJTAFKpcyzPKcx8PwTkR8PSBau3Uuv1S1M6ZGml7/zvccoV5J91gNIhcpKGC3rbPMD2YFpEYBHjhmoNZAZvu1eWrnDMElF2ta+j/p1pZ9seqmU3agtkSo0eSoE5adQSmW3KjUAxr1crkGtkwNkLfwKeF4sCxU3Bzv+Pl51BhBPj7e09RkHGJdp2u8IJTox+HxL32NbWWY2lT51hSb7fvPTMLXrQIbYJMQ/vtH8Cv6ncJ5SoHIxUJVSUoBig8MRkr1u6V2J5ZsbTJxBmw3pASEuR/OvlCv70M7hCA0YlmPuLf65Q+BV7C6lkWuUpIZBoXxt9K8Tg6jfg1I9eiFsPmJgmm0pHw0+vBs1OKS7D5qbXg9MdE1r9WdChpdGLQVrFalNcrk+k8Trcke5N9VhWE3Ob5x3csar+hgPZq4b9YUPt2jMpK46GILnLkCancDSAnt42cU01tSrdtcjD0p8Ml/248HhrHtzbcNSNymJJ1Ir8sDuZG1Hj1ifyqVw0G1+hiUyWQFB9dvw8yD1emn3y4RPVc818ljizwuxnYjn2c7qmq8OofCOOHBqMyh5m6Zhr28WmI3A+QndlerDn5BBnncmhbQAHVDlxXUVcOpOZX7937UgR3zX2V1KOxibPoSr67JKBuDjVh9ImjV2dL+YxinimnMgFMTYz98fUk8Vs91XztXDDzsu8Q8C7rK/4Mn69z8RTq89EtspAxgv3MBNz9s2f/ze3hLjyFOQhhcCAyP5/JYCgNC9nBZFLjhBlo9siPvMLvz5sfjId8PFFU9LRoe0XUQ=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(376002)(346002)(396003)(39860400002)(36756003)(38100700002)(2906002)(122000001)(83380400001)(5660300002)(33656002)(8936002)(41300700001)(54906003)(4326008)(91956017)(66446008)(66476007)(64756008)(8676002)(71200400001)(76116006)(66946007)(38070700005)(6512007)(66556008)(26005)(2616005)(186003)(6916009)(316002)(53546011)(86362001)(6486002)(478600001)(6506007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <001690B7CB30AE43A0FF240FD15DDBCD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5224
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ba4210f0-a2e6-48c9-623b-08da85ca5cd8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QF2sUucGibySMCAeY1Dw4R7GOmKIfFW180eF+mWqk0uoNzxyQgy0LK2cxQsql8S6bOC4cJohcY7W7xGid+SNuQfMzvYCgK1vEwXJebKWbXc2gmZwhoxdtDU8R49TC5RrKYqP/IaX7mHDo8jbPUnwtWob+qka6gyqP+TqwjNfwIzAQsxmrCyk5ChNflBXRBhpgnKdaJAeZiEOkTklDC/vCvNJnx7m14my/ryrICtrAL2DtB7KESuCWBuoHYdGCJbv7egvRWqY8tolvy0HHMAoAcdeIAWV3cOWdvx8EI1Fx982qQainW3xWXJxr73A4e+4I4skQ2dr76Vy0Yt1S2uBXW9pobILMPoKb8i7nPipTyIt5cEWzc0bnWNaoMEugEVtFP0umezTgBWuMr9Msx+dAVUpdHv8t0vT8jGruJOo+D+LKaqQqfkPc8MbFo7uCHhHILb5eWgwHqbKrPSCxyuxlcP8RO4URN8w0m2RPmjsG9+B3wNzlVcIGODy0f9Vd+zSJ0Hlcv+t7GMMG41zLv/olPfRob0xaQR8cvo8mFw5gFgxsgD/DkpzZESEDHP6c4MFE8UlZKjBjHGrjRnHTN22TJ/Pim/fgoNHBdG7hldE+ukP1N1s+B7a5KW9pqV9L9QgpIVwTn74K2qHONwAqc3zynmhdFT3be4EEngoMCdBeKG/NA29d1SntAkwFGFXGYXTCjodULE6lGSVr7R7T4lhc1TU8WZbb4VkMByOWanr/KF6nHF+p9+FPdCFF2Z9Lae7qn+KiFTWhiNZvgZvoW2xCg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(136003)(39860400002)(346002)(40470700004)(46966006)(36840700001)(82310400005)(2906002)(82740400003)(6506007)(41300700001)(107886003)(6512007)(26005)(36756003)(83380400001)(40480700001)(36860700001)(356005)(316002)(54906003)(33656002)(81166007)(6486002)(478600001)(8936002)(5660300002)(6862004)(47076005)(53546011)(336012)(186003)(70586007)(86362001)(70206006)(8676002)(4326008)(2616005)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 12:15:55.7112
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0cd9977e-261c-443b-569d-08da85ca6561
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6940

SGkgSnVsaWVuLA0KDQo+IE9uIDIzIEF1ZyAyMDIyLCBhdCAxMTowNSBhbSwgSnVsaWVuIEdyYWxs
IDxqdWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSwNCj4gDQo+IE9uIDE5LzA4LzIwMjIg
MTE6MDIsIFJhaHVsIFNpbmdoIHdyb3RlOg0KPj4gSW50cm9kdWNlIGEgbmV3ICJ4ZW4sZW5oYW5j
ZWQiIGRvbTBsZXNzIHByb3BlcnR5IHZhbHVlICJldnRjaG4iIHRvDQo+PiBlbmFibGUvZGlzYWJs
ZSBldmVudC1jaGFubmVsIGludGVyZmFjZXMgZm9yIGRvbTBsZXNzIGd1ZXN0cy4NCj4gDQo+IFRo
ZSBkb2N1bWVudGF0aW9uIGluIGRvY3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvYm9vdGluZy50eHQg
aXMgbWlzc2luZy4gQWxzbywgeW91IHByb2JhYmx5IHdhbnRzIHRvIHVwZGF0ZSBkb2NzL2ZlYXR1
cmUvZG9tMGxlc3MucGFuZG9jIGJlY2F1c2UgdGhlIHNlY3Rpb24gIlBWIGRyaXZlcnMiIHN1Z2dl
c3RzIHRoYXQgaWYgdGhlIHByb3BlcnR5ICJ4ZW4sZW5oYW5jZWQiIGlzIHNwZWNpZmllZCwgdGhl
biB3ZSB3b3VsZCBlbmQgdXAgdG8gYWxsb2NhdGUgaW5mb3JtYXRpb24gZm9yIFBWIGRyaXZlcnMu
DQo+IA0KPiBBRkFJVSwgdGhpcyBpcyBub3QgdGhlIGNhc2Ugd2hlbiAiZXZ0Y2huIiBpcyBzcGVj
aWZpZWQuDQo+IA0KPj4gVGhlIGNvbmZpZ3VyYWJsZSBvcHRpb24gaXMgZm9yIGRvbVVzIG9ubHku
IEZvciBkb20wIHdlIGFsd2F5cyBzZXQgdGhlDQo+PiBjb3JyZXNwb25kaW5nIHByb3BlcnR5IGlu
IHRoZSBYZW4gY29kZSB0byB0cnVlLg0KPj4gU2lnbmVkLW9mZi1ieTogUmFodWwgU2luZ2ggPHJh
aHVsLnNpbmdoQGFybS5jb20+DQo+PiAtLS0NCj4+IENoYW5nZXMgaW4gdjI6DQo+PiAgLSBubyBj
aGFuZ2UNCj4+IC0tLQ0KPj4gLS0tDQo+PiAgeGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jICAg
ICAgIHwgMTQ5ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQ0KPj4gIHhlbi9hcmNoL2Fy
bS9pbmNsdWRlL2FzbS9rZXJuZWwuaCB8ICAgMyArDQo+PiAgMiBmaWxlcyBjaGFuZ2VkLCA4MiBp
bnNlcnRpb25zKCspLCA3MCBkZWxldGlvbnMoLSkNCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9h
cm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMNCj4+IGluZGV4
IDUxMDFiY2E5NzkuLmJkOGI4NDc1YjcgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9t
YWluX2J1aWxkLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KPj4gQEAg
LTEzOTYsODUgKzEzOTYsOTIgQEAgc3RhdGljIGludCBfX2luaXQgbWFrZV9oeXBlcnZpc29yX25v
ZGUoc3RydWN0IGRvbWFpbiAqZCwNCj4+ICAgICAgaWYgKCByZXMgKQ0KPj4gICAgICAgICAgcmV0
dXJuIHJlczsNCj4+ICANCj4gDQo+IA0KPiBUaGUgZGlmZiBiZWxvdyBpcyBxdWl0ZSBkaWZmaWN1
bHQgdG8gcmVhZC4gSSBoYXZlIGFwcGxpZWQgdG8gaGF2ZSBhIGxvb2suIFlvdSBzZWVtIHRvIGhh
dmUgc2ltcGx5IGluZGVudGVkIHRoZSBjb2RlIGFuZCBub3cgc29tZSBvZiB0aGUNCj4gbGluZXMg
YXJlIG92ZXIgdGhlIDgwIGNoYXJhY3RlcnMgbWFyay4NCj4gDQo+IElkZWFsbHksIEkgd291bGQg
bGlrZSB0byBhdm9pZCBsYXJnZSAnaWYnLiBTbyBJIHdvdWxkIHN1Z2dlc3QgdG8gZWl0aGVyDQo+
IHJlLW9yZGVyaW5nIHRoZSBjb2RlIG9yIHNwbGl0IGluIG11bHRpcGxlIGZ1bmN0aW9ucy4NCj4g
DQo+IEhvd2V2ZXIsIHJlYWRpbmcgdGhlIGJpbmRpbmcgb2YgInhlbix4ZW4iLCB0aGUgcHJvcGVy
dHkgInJlZyIgYW5kICJpbnRlcnJ1cHRzIiBhcmUgbm90IG9wdGlvbmFsLg0KPiANCj4gSSBhbHNv
IGRvbid0IHRoaW5rIGNhbiBtYWtlIHRoZW0gb3B0aW9uYWwgYmVjYXVzZSBzb21lIE9TZXMgbWF5
IG5vdCBib290IGlmIGl0IGNhbid0IGZpbmQgb25lIG9mIHRoZSBwcm9wZXJ0eS4NCj4gDQo+IElu
IGFueSBjYXNlLCBhdCBtaW5pbXVtIHlvdSBzaG91bGQgZXhwbGFpbiB3aHkgdGhpcyBpcyBmaW5l
IHRvIG1ha2UgdGhlbSBvcHRpb25hbC4NCj4gDQo+IFsuLi5dDQoNCklmIHdlIHdhbnQgdG8gZXhw
b3NlIHRoZSAicmVn4oCdIGFuZCDigJxpbnRlcnJ1cHRz4oCdIHByb3BlcnR5IGFsd2F5cyB0byBn
dWVzdHMgYW5kIHRoZXNlIHByb3BlcnRpZXMgYXJlIG5vdCANCm9wdGlvbmFsIHRoZW4gd2UgY2Fu
IGRpc2NhcmQgdGhpcyBwYXRjaCBhbmQgYWRkIHN1cHBvcnQgZm9yICJ4ZW4sZW5oYW5jZWTigJ0g
cHJvcGVydHkgZm9yIGRvbVVzIGZvcg0Kc3RhdGljIGV2dGNobiB0byB3b3JrIGZvciBkb21Vcw0K
DQpQbGVhc2UgbGV0IG1lIGtub3cgeW91ciB2aWV3IG9uIHRoaXMuDQoNCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMN
CmluZGV4IGJmZTdiYzZiMzYuLmExZTIzZWVlNTkgMTAwNjQ0DQotLS0gYS94ZW4vYXJjaC9hcm0v
ZG9tYWluX2J1aWxkLmMNCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KQEAgLTM1
NjIsMTIgKzM1NjIsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tVShzdHJ1Y3Qg
ZG9tYWluICpkLA0KICAgaWYgKCByYyA9PSAtRUlMU0VRIHx8DQogICAgIHJjID09IC1FTk9EQVRB
IHx8DQogICAgIChyYyA9PSAwICYmICFzdHJjbXAoZG9tMGxlc3NfZW5oYW5jZWQsIOKAnGVuYWJs
ZWTigJ0pKSApDQotICB7DQotICAgIGlmICggaGFyZHdhcmVfZG9tYWluICkNCiAgICAgICBraW5m
by5kb20wbGVzc19lbmhhbmNlZCA9IHRydWU7DQotICAgIGVsc2UNCi0gICAgICBwYW5pYyjigJxU
cmllZCB0byB1c2UgeGVuLGVuaGFuY2VkIHdpdGhvdXQgZG9tMFxu4oCdKTsNCi0gIH0NCiAgIGlm
ICggdmNwdV9jcmVhdGUoZCwgMCkgPT0gTlVMTCApDQogICAgIHJldHVybiAtRU5PTUVNOw0KIA0K
IA0KUmVnYXJkcywNClJhaHVs


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:19:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:19:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392516.630912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpLs-00014m-3N; Wed, 24 Aug 2022 12:19:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392516.630912; Wed, 24 Aug 2022 12:19:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpLs-00014f-0f; Wed, 24 Aug 2022 12:19:20 +0000
Received: by outflank-mailman (input) for mailman id 392516;
 Wed, 24 Aug 2022 12:19:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebS+=Y4=citrix.com=prvs=22883313c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oQpLp-00014Z-UN
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:19:18 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7ac5369-23a6-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 14:19:16 +0200 (CEST)
Received: from mail-bn1nam07lp2048.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2022 08:19:13 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5543.namprd03.prod.outlook.com (2603:10b6:5:2cb::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Wed, 24 Aug
 2022 12:19:10 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 12:19:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7ac5369-23a6-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661343556;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=IGcd5ZcjbmRQhx5gbt2DI9DYDAOyLUw4qv6d3xNMfm8=;
  b=WZMq7sbPSbjxBqSmqN+sbbt8pmLEOmMzJxG3SoY6Dgtd/cmHpH8KpEph
   RgcpQzJUmT74KTn2M/Mt6PcgMJnOJtzsqysZUE/xJ+oWvc+7q0VH4BNfW
   ClCQxmPWg/ScrlbmJN/PuJZ08mjadrfwqidewJGCN+HAeFH1VsK53sgpZ
   w=;
X-IronPort-RemoteIP: 104.47.51.48
X-IronPort-MID: 78014791
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:w+3W16PXc58xIyzvrR1wlsFynXyQoLVcMsEvi/4bfWQNrUor0zcPz
 DQWC2qDMvvZazHyfNB1aY2+80NQvpPWmoc2Tgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/jf8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPn6MVOMhoHILQ64/x+Wk9C1
 dc+BGACO0Xra+KemNpXS8FKr+F7dozBGtpavXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rrxwCWvG9FbgAv9Sa4fym7f1gFulpPqN8LYYIeiTsRJhEeI4
 GnB+gwVBzlFZITGlWXUqxpAgMfDuXK4eKQ5EYGi8/06x2yU2UIMMhAJAA7TTf6RzxTWt8hkA
 04e9zcqrKMy3Fe2VdS7VBq9yFabujYMVtwWFPc1gCmIw7DR6hyUBUAFSCBAc90ssMIqRT0s2
 USNltmvDjtq2JWJRnaN3rOVqy6uIy8TLH9EaSJsZRsI5ZzvrZ8+ijrLT81/C+ilg9vtAzbyz
 juW6i8kiN0uYdUj0qy6+RXNhWuqr52REQotvF2LDiSi8x9zY5Oja8qw81/H4P1cLYGfCF6co
 HwDnMvY5+cLZX2QqBGwrCw2NOnBz5643Pf02zaDw7FJG+yRxkOe
IronPort-HdrOrdr: A9a23:L+3vKqn0aGQnSR7xDRKvEueKTa/pDfOPimdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WGIVY3SETUOy1HYVr2KirGSjwEIeheOvNK1sJ
 0NT0EQMqyWMbEXt6fHCUyDYq4dKbq8ge+VbIXlvhFQpGhRAskOgTuRSDzra3GeLzM2Z6bRYa
 Dsgvav0ADQHEj/AP7aOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPYf2F
 mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFcRcsvy5zXMISdOUmRMXee
 r30lMd1gNImjTsl1SO0FnQMs/boXATAjHZuAalaDDY0LHErXoBerZ8bMRiA1XkAgMbza9BOO
 gg5RPni7NHSRzHhyjz/N7OSlVjkVe1u2MrlaoJg2VYSpZ2Us4ZkWUzxjIjLH47JlON1Kk3VO
 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGcl2E+pgEz82IIgMgE2nsQ/pM0TJdJo+
 zCL6RzjblLCssbd7h0CusNSda+TmbNXRXPOmSPJkmPLtBOB1vd75rspLkl7uCjf5IFiJM0hZ
 TaSVtd8XU/fkr/YPf+qKGjMiq9NVlVcQ6duv22vaIJy4EUbICbQhGrWRQpj9aqpekZD4nSR+
 uzUagmccPeEQ==
X-IronPort-AV: E=Sophos;i="5.93,260,1654574400"; 
   d="scan'208";a="78014791"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fgrWfAO5JlBcc9yHNuxbnrnbOblvGxP158DWaX56gic52nCnYLDLKC4cHgf4yFv9arGt1dyXgeeOaFK0a4sXCDK64nHRlRrAzcp4FzE+SgZy5tc9kp5t63lvdHIV/gRgSLFcWdPtRtjQjwviRDqzShHc2z0o3r1a3JaqO3e/sFWp6YwDm+FnVbIXmEOppJQVnoL7CD6+5I1CiWGvQwiIHKnC1SdgNXLnpeGdoyyWvQbBwXNaYndn0ukrPemfpelqNhk5msJ9/Q9I2gNeEvTZ3HXltGFbWbM1UsYQu7baTxSnfBUUlJWJlnv1FNpwtehWNbcyA4V8rTYxBphul16UEw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IGcd5ZcjbmRQhx5gbt2DI9DYDAOyLUw4qv6d3xNMfm8=;
 b=U1JxJ7c+duAGIHMS2e5teQ2dZQMmdCyOXpAyYqHZ7STIDEGTN5rq6de9XCQB8tWJw6l1a/d8Qp2+DgqBwmYFLbX+ErjpVGHVlxxynVuZuYD01lG0h/TjQG/7dSBwFJiK1RGCBImftr6ZMG00XDyfBscelIPJ5hfBjLRc5IYBb0apFFQmJHcSiDaHGIk6zf9DRHmbrKmIzskZhi5jo9i0eex+YIdRH2cDABeid1bCv7vdMPw3j69qX02Xowbig7hGqBSocOsew5iA4zBUsG8tLkSUlebdOgIDeW1NCowGAn+Wpf5OSeMh0lgcC+jDYRCnY4HeuxWr8QfRJOOFX0+F4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IGcd5ZcjbmRQhx5gbt2DI9DYDAOyLUw4qv6d3xNMfm8=;
 b=cCsej18/Qv1VDJ7dglGSssHh/hI4YaQ5c0qzSNZOrDOKFKnJqtg6v4nb4QM6dh/HV4u8zZ4ujwRD+nAU0WZQVVUwFNco1257j7BPqGREfEl42rq7Kkuim4ULnce90hBdgdGq9rrq/oU/FDFnQp3j69AEUinmihYB5PF2Oe3YHsc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Topic: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Thread-Index: AQHYtrt8/1v0WOY/4kiCtfQ8qrAcS628L8cAgAAH3wCAABa0AIABQecAgABptQA=
Date: Wed, 24 Aug 2022 12:19:10 +0000
Message-ID: <fa15c1a4-8f28-d2f6-6582-e49af6ebf74e@citrix.com>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
 <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
 <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
 <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
 <0e846638-c23c-0ec7-54b8-e318527ffac5@suse.com>
In-Reply-To: <0e846638-c23c-0ec7-54b8-e318527ffac5@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e0e85b32-7f31-4c64-ab0d-08da85cad9a6
x-ms-traffictypediagnostic: DS7PR03MB5543:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 e+hAi2gi2/nF+yr8w81g5XACXkvhPTWbd1pp6hOaDHSo2XFf99HA9iQnUXYU+wW+JKqraYZa/9GUBUAc+plmVWrLbMnMnvoBJihG2rtV7j613kCqT2+QdJva81/U7m8COJ1dBWQoJwFuOKumFRU98MVZ/srVU4cjwbJFPB3vMiW/+kVpeM9hOisCa9VIZEOgT1ovlKGcYGVAK0tzwbRoxU63oOj+8DSu1xZnbWjsb6BtLJajzgu1dOZeLH6yQ+obhDKBywI/rOTXstZR2T9o1MhHI7b1UeQUK1natyXn6p7IGzRFSMuNeikohJ7sAsrQKfck/NkGvNooAETYB0yJyy9mH5Nf2tgtF73EESz88VuxLssQzmqRb9iDL+Tzl/kZN92tRVI+RIziFysC6Eh/nzTjwgMFWuTVpydXjikMu998jRm9JveC4mkfZoQIe8r1HfBUSnse9MVFu0J9M7R1eqVVLOpJkgyFXNYBMrFvPM/hpddBQjzX5N4C/7zLG+pDJx3zNZE4UjFelSJcSVzZc5VbbyLti0IzBtCRZPm6JBkDqQ0ELn9moSmss0MU0i2H1lK1/OcTtPSSO7a0hAaUz/3GHd267kkQ9c50gDXnZZAnpUUpHg+x/k16La8vmfxyKraSg5ui6vfy/2fgkcYmVaelsUgXZYfn74DtKczhma1iIidIz02ia9aPpzyGrra12og/Bvyc5yiZ5xwuhNJnSIhzwJyvJKvk+hLL94jcxpkIzoG0Aqi+/88pHgH/rWi89It0SWNLgPbzGeycZgNUuRw0bQeLzYHFNuh/AvaXTFtlN63KQQm3tLLzeQAQ4NiOWrmTMooLBP6lRNe/qjYdhw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(39860400002)(366004)(346002)(136003)(2906002)(36756003)(66556008)(91956017)(64756008)(66946007)(4326008)(8676002)(66446008)(66476007)(76116006)(5660300002)(316002)(6506007)(54906003)(6916009)(53546011)(6512007)(6486002)(71200400001)(31686004)(41300700001)(478600001)(26005)(38100700002)(38070700005)(82960400001)(31696002)(86362001)(186003)(8936002)(122000001)(2616005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aXNTK0FweU5jRkFEejY1Qzk5Z3RIWDhXR1pGNFlzSzhsc1p2V05LZUpWUnBZ?=
 =?utf-8?B?S0tPcGFTVnQ4eFZWTFZHRVRYL1BZY2hjUHo5UXJNOUcwY3k5a014MUk0MHVo?=
 =?utf-8?B?L1ZhUFY2MEd5MC9WT3BVYUdpVU1nVmg2dmRDLzBmOUJFVHFncjlnVGR5SFg1?=
 =?utf-8?B?ZkdhTEI3Mjl4b2VsM1EvYi9CNFBORng4TnpaUHU5dURXK2ZQSVozWDJDY2xN?=
 =?utf-8?B?TC9tU2ZkV2RzWE43K0dsMGtZeFpQMFNlWEdvaTJuaTl2SXIvaldlQUNFNlpU?=
 =?utf-8?B?eElsWUw4Qy9saDVudjF3Z3M4VTZ2QWNMVkQ4YmFoOFFjMjZaMDNnald6c0Zk?=
 =?utf-8?B?dUdEUDl1Rm0rNDV3b0dMcWFFWkErci9yU1Q2eE9zcjRzT0pFNzliY1JlckJ3?=
 =?utf-8?B?TExpcVI1cUVRQWFBdGtGcnJCL3RScnhiSEpOa1Z3VnNVOTBSdlNwYmJUdmpv?=
 =?utf-8?B?R2s1T0s0K1VvdzdRUHoxVzVKY3dCT2Exc2QrV2ZxZXpqYnVkVkl0ZjUxcVVK?=
 =?utf-8?B?MU1EY3dSTTBhS1dYaFY5cUQyMGFhT0RGOGlIbHFGcHZrVmJ3cmg2bXNOeVhw?=
 =?utf-8?B?V21jU0ZBekN5aGNzRGhibXd3eVRGUC9VcFpLK05lY2gwL2Y1UEQrTjdady9i?=
 =?utf-8?B?dmhoanNFaDdKMHgrVzM1RFgvektvVFRXY1Ntb3hRVmRIUkROU1R6QlYwdmJD?=
 =?utf-8?B?d25xS0d4T0VmQlpwb0xFQWs0eXBzSW5tZ041d3o3eDZpU2VkeTY1MVlLeFVu?=
 =?utf-8?B?RUpyT3NXVm93MEJWMVNNcjJub3NrbGpEaFFIMDFOODdjaWxxU0VhYWszTUU5?=
 =?utf-8?B?Nko4RW9nNE1JODNyVVpNQ2VJQklvZjRZeUNONWRKS1BlQmxSRktGV2VXYXNF?=
 =?utf-8?B?Z1FmcnpLWXFsY0VCT0dvYlF6UHZtNnM5ZkJPU0dNR0VQSkVzRTdhZCtCczc4?=
 =?utf-8?B?V0RNZUNKM2FNSEQwZGpYYlJRanU0cVgxdDhEQjd3dHcwYXhWcW9BMS9WOEJn?=
 =?utf-8?B?VEhRYkNBTzZRNW82Y1RvWlZiaGE4c3QzenIzU0toZkdUbjVvQmtiSmNra29E?=
 =?utf-8?B?YWxXRWgwNHZSb2QzdmQ1TWsxQUcyUmNUajVqWW5LY1d3cGNPQzJkVGdBZlp2?=
 =?utf-8?B?WUMvc0VVWmF3bkt0VnZGb0c4eEh6RE1wZVBPOElXZ1BSYXMwWnBRbVFhbE9V?=
 =?utf-8?B?cTJ1WC9YY3JsaDVpOXFmVHdZR0xiVVZHMktHWVBGcFZPMnN3TW1DV2VWNlF3?=
 =?utf-8?B?QWt4S0lyWEF1Mk51dGx5WWN5TnBLNGJZK3Z0N3lIaVBvck9Wa1VqWGU2MUtW?=
 =?utf-8?B?V2hBSTM3bk9WOGRyRnZRNGQ5V3V2T0FyWFRqRXVvTkZMZ3pTRTlvc1l4Szk3?=
 =?utf-8?B?YW40aS8vOXlMWC81cXJrQjlVZnJaam94UmFPVzdHUWN5N0tXMGdwQlJsczcx?=
 =?utf-8?B?YXNUa2RxZ0pZWStNcXVSb1RuZk9PdVIvSE1ycTQwdUg5OXJOcXdISTc0ZFdX?=
 =?utf-8?B?WE5YcjJuVkRxbC9YL2hVckgreHFUK3Y3dlZobGMrcndHK1A3SExZNGRaYzRk?=
 =?utf-8?B?OHVzbkV0WWhjUk8xd3dzUHM5Ym5FekVmNVlLdEVvMUkvSmRBWGVLNlFuYjJS?=
 =?utf-8?B?U3BSK21kUVF5L2c0ejl3NUdNVzA0YncvSmo3K3ZYcDlZZW1xZWQ5Z0VReGhV?=
 =?utf-8?B?UnpWVCtnam9jTDdpYTZBVzRkTmFaS1RmTGh5Q2tWTXNMNmc5dlozY240RHZh?=
 =?utf-8?B?cjM1Ry9NdFloQU1rOXJSajEycy84TlFEWHo3R21aZG5XZFF1cFVZNmZOT0ZF?=
 =?utf-8?B?K0VqWldTb2lNVWpENDczNmZROUw3V0N4UVdSeC9kNUp4a2VhVktocmt0QnMz?=
 =?utf-8?B?bVB6RnVMWWhpVHVpODJvVkJWUTFtUGs2NUZRQ2VIakQvTDU4d0lYOS9oYnFD?=
 =?utf-8?B?elR0akFkN0gwNDRPcnFIb1pLendXYXhBNCtNaFQvVVcyL2NwcVZhdkRTMXBT?=
 =?utf-8?B?NkxMeFhuQnVHTnY0QTg5cmg3b3lhTEZwblkvaVF2N3NVS2ZzLy9qdEFBdy9F?=
 =?utf-8?B?bTdxSDNzbjI5Y2hlQjVJMnFabWo1Tk0rYTNjNHVSZCtTWTdDUkFySWRBU1B0?=
 =?utf-8?Q?PeDwIEKG0mB9bZdz56yy2QpUi?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <78135FE27946FA42A64151BECAA39D21@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e0e85b32-7f31-4c64-ab0d-08da85cad9a6
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2022 12:19:10.7344
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3R6U8ldXB+EU9MYqh9V8cEDd6h6qh/MRRT2aCkEXkePWqGbb/NzS4FRzpiGnpYyzg6gDiRatuBwQJ05yTBsOp019f9qGbhgLMyNgbfkza5w=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5543

T24gMjQvMDgvMjAyMiAwNzowMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDIzLjA4LjIwMjIg
MTI6NDgsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAyMy8wOC8yMDIyIDEwOjI3LCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBPbiAyMy4wOC4yMDIyIDEwOjU5LCBBbmRyZXcgQ29vcGVyIHdy
b3RlOg0KPj4+PiBCdXQgdGhpcyBpcyBnb2luZyB0byBmdXJ0aGVyIGNvbXBsaWNhdGUgbXkgc2V2
ZXJhbC15ZWFyLW9sZCBzZXJpZXMNCj4+Pj4gdHJ5aW5nIHRvIGdldCBYZW4ncyBYU1RBVEUgaGFu
ZGxpbmcgaW50byBhIHBvc2l0aW9uIHdoZXJlIHdlIGNhbiBzdGFydA0KPj4+PiB0byBvZmZlciBz
dXBlcnZpc29yIHN0YXRlcy4NCj4+PiBXaGVyZSBkbyB5b3Ugc2VlIGZ1cnRoZXIgY29tcGxpY2F0
aW9uPyBUaGUgbmVjZXNzYXJ5IGZpZGRsaW5nIHdpdGggWFNTDQo+Pj4gaGVyZSB3b3VsZCBvZiBj
b3Vyc2UgYmUgZGVwZW5kZW50IHVwb24gcC0+eHN0YXRlLnhzYXZlcyBhbG9uZSAob3IsDQo+Pj4g
bWF5YmUgYmV0dGVyLCBvbiB0aGUgc2V0IG9mIGVuYWJsZWQgZmVhdHVyZXMgaW4gWFNTIGJlaW5n
IG5vbi1lbXB0eSksDQo+Pj4gYnV0IHRoYXQncyBzaW1wbHkgYW5vdGhlciAoaW5uZXIpIGlmKCku
DQo+Pj4NCj4+PiBBcyBhbiBhc2lkZSwgSSBhY3R1YWxseSB3b25kZXIgd2hhdCB1c2UgdGhlIHN1
cHBsaWVkIHNpemUgaXMgdG8gdXNlcg0KPj4+IG1vZGUgY29kZSB3aGVuIGFueSBYU1MtY29udHJv
bGxlZCBmZWF0dXJlIGlzIGVuYWJsZWQ6IFRoZXknZCBhbGxvY2F0ZQ0KPj4+IGEgbmVlZGxlc3Ns
eSBsYXJnZSBibG9jayBvZiBtZW1vcnksIGFzIHRoZXkgd291bGQgb25seSBiZSBhYmxlIHRvIHVz
ZQ0KPj4+IFhTQVZFQy4NCj4+IFRoaXMgZmllbGQgaXMgYW4gYWxyZWFkeSBrbm93biBrZXJuZWw9
PnVzZXIgaW5mb2xlYWsuwqAgVGhlcmUgYXJlIHRocmVhZHMNCj4+IGFib3V0IGl0IG9uIExLTUwu
DQo+Pg0KPj4gQnV0IGl0IGRvZXMgaGlnaGxpZ2h0IGFub3RoZXIgcHJvYmxlbS7CoCBUaGlzIGNo
YW5nZSBkb2VzIG5vdCBmaXggTGludXgNCj4+IG9uIEFNRCBaZW4zIGhhcmR3YXJlLCB3aGVyZSB0
aGUga2VybmVsIHdpbGwgZmluZCB0aGUgQ1BVSUQgdmFsdWUgbGFyZ2VyDQo+PiB0aGFuIGl0IGNh
biBjYWxjdWxhdGUgdGhlIHNpemUgdG8gYmUsIGJlY2F1c2UgWGVuJ3MgdXNlIG9mIENFVC1TUyB3
aWxsDQo+PiBzaG93IHVwIGluIHRoZSBDUFVJRCB2YWx1ZS4NCj4gV2h5IHdvdWxkIHRoYXQgYmU/
IFdlIGRvbid0IGV2ZW4gaGF2ZSBDRVQgcmVsYXRlZCBkZWZpbmVzIGZvciBYQ1IwLCBzbw0KPiB3
ZSBkb24ndCBlbmFibGUgdGhlIHN0YXRlcyBpbiBYU1MuIEFuZCBJIGRvbid0IHNlZSB3aHkgd2Ug
d291bGQuIEV2ZW4NCj4gZm9yIG90aGVyIFhTVEFURS1tYW5hZ2VkIGJ1dCBub3QgWFNUQVRFLWVu
YWJsZWQgZmVhdHVyZXMgd2UgY291bGQNCj4gY2xlYXIgdGhlIHJlc3BlY3RpdmUgYml0cyBhcm91
bmQgdGhlIENQVUlEIGludm9jYXRpb24gKGp1c3QgbGlrZSB3ZQ0KPiBtYXkgbmVlZCB0byBzZXQg
c29tZSBpbiBYU1MpLiBXZSdkIGJlIGluIHRyb3VibGUgb25seSBmb3IgYW55IFhTVEFURS0NCj4g
ZW5hYmxlZCBmZWF0dXJlIHRoYXQgd2UgbWFrZSB1c2Ugb2Ygb3Vyc2VsdmVzLg0KDQpJdCdzIG5v
dCBYZW4ncyBDUFVJRCBpbnZvY2F0aW9uIHdoaWNoIGlzIHJlbGV2YW50LsKgIEl0J3MgdGhlIGd1
ZXN0DQprZXJuZWxzLCB3aGljaCBnb2VzIHN0cmFpZ2h0IHRvIGhhcmR3YXJlIGJlY2F1c2UgQU1E
IHN0aWxsIGRvZXNuJ3QgaGF2ZQ0KQ1BVSUQgZmF1bHRpbmcuDQoNCkFuZCB5ZXMsIHJpZ2h0IG5v
dyBub25lIG9mIFhlbidzIENFVCBzdGF0ZSBzaG93cyB1cCBpbiBYU1RBVEUsIGJ1dCB0aGF0DQpu
ZWVkcyB0byBjaGFuZ2UgaW4gb3JkZXIgdG8gc3VwcG9ydCBDRVQgaW4gSFZNIGd1ZXN0cyBpZiB3
ZSBkb24ndCB3YW50DQphbiBlbm9ybW91cyBleHRyYSBvdmVyaGVhZCBpbiB0aGUgZ2VuZXJhbCBj
b250ZXh0IHN3aXRjaCBwYXRoLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:36:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:36:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392528.630939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpcB-0003eR-Oy; Wed, 24 Aug 2022 12:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392528.630939; Wed, 24 Aug 2022 12:36:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpcB-0003eK-M5; Wed, 24 Aug 2022 12:36:11 +0000
Received: by outflank-mailman (input) for mailman id 392528;
 Wed, 24 Aug 2022 12:36:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQpcA-0003eE-Hi
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:36:10 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150081.outbound.protection.outlook.com [40.107.15.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51eccc4c-23a9-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 14:36:05 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9297.eurprd04.prod.outlook.com (2603:10a6:10:354::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Wed, 24 Aug
 2022 12:36:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 12:36:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51eccc4c-23a9-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BM65PopIy3fjoTxYYJ/Gvba3T/KzN5fL7b/uLDRtKNxmvggXT4kmySd6d7gf96QGQwr/f1uZwqHW2DcEnUDI6/T2k2DA1bIa1/IetylcD8TZgK5DtfoLze1/xVRkCZGIKIitQyc8xplPaVIoFjW04qiZP+K0201zN7aINoCTr4qDgjB+VwzV3GNpXu58Mvd8IyiezBAmkh0Kch8oMBwnz/KcCCFwH6muv3rhpWETYNvYVGUUKlgA1RLk8GsjmXHKJ8TOTOBraYHYl64QFFKJgT97hO8olRa235DaL1HPkgzgT7hj+7RDtWE4DCi/CqiWeETlmGdsdMAD5DTcnNIyAA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9SBi/QAeVC+RyyzPvwa4UwQ9YIK4Ue1QN8J+f3w0pQs=;
 b=EHdzc/Pn6SBoIKklw8FIwTiiVt35u8VQxqCUqTPQ0Gmq3VbkEMOxgfWAxG8kLOfyRXk866JGT8jVM5sKQaUz7s4wwVplWeMTmj9x7d0FCeoGwEU/KzxPk0nc1gyIH91BAamIi6e3dDTvViQjnNYGO887qYGail1EMcv6QZaXSUncbPRWP1P/blij5szTOfu2nS6xY5DhH0Oe+VksztDftfI5kLFLDc4LXNki1M6F33coegTlOABnrHCl564oaiuehVRlfRGJUgTVVlF3CAW/AkNVuBMOEbQTNRpmDTw46lSdQIGCIe0aLc/4cu1YMAaNiy+8nOEQHFxP3LqGQO1y9w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9SBi/QAeVC+RyyzPvwa4UwQ9YIK4Ue1QN8J+f3w0pQs=;
 b=h128c6bAdkWw5JIqz3ZQKDnfW1zMXK/0Z81pjwUyv4/6P84Iz/tXaqSAkecIe8vm+4BxjaYbrRc3O3QeqlAAKitUdrIwJp6RRIRhdHAXgn1lnrZIfqLP+cH4+AhLFkpjkXqBDmugUCYojvXc/yxGvjvv7XC7jS6f6SvULgwHIB9A5h9lkCzj/mvuFR6zJ5TztnyLkxdNQj0intkLeVUtpKBfNK1Dib2A/jt4HRZ0gigG+VCv/Zh8yZi+AfEsGEY/+lyn38cipf3pOAGw5uMTO39IfWlxh3mQ5qSKbrjdXsi8rvLxQF6T1b3EwFt6xlmB7Xt29bgg4nMbWRfiP//L9A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <945542c5-539c-c3fa-6be7-efa1af5cd2ae@suse.com>
Date: Wed, 24 Aug 2022 14:36:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] x86/CPUID: surface suitable value in EBX of XSTATE
 subleaf 1
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Thomas Gleixner <tglx@linutronix.de>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a4ec41e6-16cd-4452-19c1-5d6d9e3bddf8@suse.com>
 <27f97ef0-148d-a0c3-ae13-0ed4d640a10c@citrix.com>
 <b3873ba1-f2f5-2f64-9bf6-d819f614019d@suse.com>
 <d5188b0d-43d9-44f1-2aae-e8ca0350a911@citrix.com>
 <0e846638-c23c-0ec7-54b8-e318527ffac5@suse.com>
 <fa15c1a4-8f28-d2f6-6582-e49af6ebf74e@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fa15c1a4-8f28-d2f6-6582-e49af6ebf74e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0149.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9ba1ddbc-8e4f-4b1d-6766-08da85cd354e
X-MS-TrafficTypeDiagnostic: DU0PR04MB9297:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qDp5UUKfiTmI+JooEl1P9cGWdGrysIiAy20ExUXBfOmJQWJ4i/HC0eeZ0ccsQAE9vXRs0t+XtmuzJPPuv/drty0W/RQlOgBj5+x+xHz62lOfd84KZIGFF0aVH5LWDILfw1q+88m1eVqHnpwGaLo2OrxNpZfJBylx5+nBU5RXH3p7kujsNElANyhteMPbziWZSyQUXZWuDYpGaYyM/QxMcefcui8yfPvOO/uOxkyxzPR/2mu1/K8hBVMwYMncIjdnA7m5zhGKN8/HKrnPH7+ZaUzOjQqMqi9TvYvzxXrszjwzULwrCwEpiqqq9Ykdjt+Q5aNfyZWwiBilCWxuWkW93UaMlAiI24Ks/wZgPpkuPigJ/idGWLrfDPKgcwOpEQQ/W5OwHexiQkLH1ISwvKZe+RaVwplxAhrFoxr9jfB7JEC2sEZCJqHvCNc8kXBA0I5eyETCM9QrZ5tDghLI2CLkNQAVbgtY6xsfcdWq6vYMO7N4rbwWB0EWfWg3rgB3sgv42Gujw1fdet2L3gJcBADpfftNTbIYiS870bAxK+QJL/hMKYL91zV04vBR2it5r17UhAUG+rsl+pdQcdj/0ozi5lu3Yv8AuYn/WARxRAzQbIScI0Zf9p9Rj3RhaD3M7DuIY1Y2uQngecLu9UwovFWjnEShnluGRx5cOEZvu4weyBYVVBPORv0CJr2NAKAtjGvi2UJllFar5Ruiuryjt4SYxKeI0lfabf5EBP7Q0ZX8ZKLwzwu0ETwm1VVd54MQK+q5eyVNAJpE+gKIACCCu9JQdMjXPpiiNmuLmsLaTTiuuOo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(396003)(376002)(346002)(39860400002)(136003)(316002)(8676002)(2906002)(8936002)(5660300002)(6916009)(36756003)(54906003)(6486002)(478600001)(6512007)(4326008)(6506007)(66946007)(66476007)(41300700001)(26005)(53546011)(66556008)(86362001)(31696002)(2616005)(186003)(83380400001)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RS9sTUlZbWRTMDdwVVF2K2V1OXowWmd1MnA2VC9TUy9yczVLTFFnR3FKb28x?=
 =?utf-8?B?SWlDZDkyTTZJS3FTMVV4RkcrVThrdUhDWXdVMEFyU01pNmYyOWpYYWNia3Bi?=
 =?utf-8?B?VkRXYStONzVoSVdDcktxYU5XMlArM0VWNkxhcCs3MUd4VFhwem1ZT081L1h4?=
 =?utf-8?B?SlVKTjNaZWZuVjl5Y2ZVQjEya09pY3k1bWZZd1h6ME40ckQ1dzdHbFBuTWFC?=
 =?utf-8?B?dk1OOGtsOEp0c2p6NEZJaTZRNTJKekVxN21ZT3ZUelBwSVc2ckhZT1pUNElG?=
 =?utf-8?B?WGFTK2doMExxQ1Frd0dXaFV4ZXc4SnlCK09oeXNyWFByYlBaOThmYk9SK1dS?=
 =?utf-8?B?UW5xT1lvbnA3bTZEYkFNU1RpOXk4VmdaRTFPVDEvUVpzOHhLQU9LbGtNYzQ3?=
 =?utf-8?B?VGZxTTREMmdETDdIOVQ0TWlLUW9iemNNMmRGWGhFSmNVbG9XdkNGM1dOZGM1?=
 =?utf-8?B?YUdwRDZVOWUzWEdUUGpKNFhraHVqMkh4SGlUZ0lISVZjQ1lZZGg4VVpNZmls?=
 =?utf-8?B?ZnF1SGdxQzVhVWNuaExHQ280ai96TlRiT3d2VTNNRHpTVTZuYVlUSFNCaVdK?=
 =?utf-8?B?b1EyanIzdlQ0bzE5eVAyUFZPVldvWFA5VElRSlRoTG1FcTRFN3FnalNKZ0ps?=
 =?utf-8?B?b1dmSWJINzdreU9ZbEVmd3RBeFVBUVdMcTU3anhBT2s0bS9IQ09xWVRjejJu?=
 =?utf-8?B?a0wwa21Md3JzSUtGWDJuTTdpVm9TOEtQaGFXYkZqakRZWnJURzFxeFd0elFo?=
 =?utf-8?B?TFRMMHQ2a3B6UUFMNkNyRm9uRm1QU0VTZEVScGFSRzQ2VFM3Q1RITGlKNHBm?=
 =?utf-8?B?Mmx6T1NWWm4xVWlnWlNqdmVaLytHN0hFTTRRbHEvTlQxaEowTldZL3JrVlBO?=
 =?utf-8?B?OEpNNWJnc1lZZ0tJSkFoR3hYMmtEaEt2enQ1RnBtV1BNckJ1ZjFOY083WU9F?=
 =?utf-8?B?eTRzRmNtd3RGd1Y2VTYyN2hoVGJ1L2dQT0plRjN2bUVQRG9YSVdVSGpmcFhq?=
 =?utf-8?B?U3FMaVB5Y3djN245YVFlWjBPdElrOGpIaW1JcXZCMnFYanpiWjU1OWlHRSsx?=
 =?utf-8?B?L1ZGSjRJbTg1Qy82enhoTmZjeERHY3hrdWM1ZG80aDZrUDNNNWxkMDR6TU1U?=
 =?utf-8?B?TG5tZ0dxUGQ3TngwK0huOUo0c2dpbjZTbHNxVy95czJSd0o4YlFlajdSZG82?=
 =?utf-8?B?T1pvVjk1dDVyWm9LL3VkRVh6SEZNTXlzbnJWVVY5SDRzKzdzM09OTEdFS1Jr?=
 =?utf-8?B?eXM5V1I5T0pyWGJCeXJRbEZyb3JaRmNTUno0bm0weU55NmR5N2UvSEVObmor?=
 =?utf-8?B?cUU1TGFXODlzSlZOZEtEWWQwVzdMR0RGbFZaTWNiL0hSSFQ4eG1pWS83UXVw?=
 =?utf-8?B?UXF1Wko0eHB5enptazI1TmpydUpuZGhreVErOE96ZXFBdW5vMXVGVDRnbG1O?=
 =?utf-8?B?SE5rRlk5YzBEU080Rk15anN2K1V3c3hIOU1KR0F2L3UwZ25WN0RUZFpBdCt4?=
 =?utf-8?B?Q0o0RGZrakphZHJVQ2MvVGhoUlJWOHFxSHRuRnlEb3Q2bmxyc00xUnVaUHdX?=
 =?utf-8?B?MmJHM09lbXo4NyttNkF3UzVCNUxVN1piT1FtSWd4TFZSS1pLRzhMbjZVMVR2?=
 =?utf-8?B?NWRhc1QrVmQ2ZzU2Q0ZYTHVpYlR2R2lLT2lFMDlhOUZuY3h3cXQ1N1ZXTFd0?=
 =?utf-8?B?eVZ6Sm9iQThJNUlqaWlHNjVpYkQ0b2p6TDJ3cCtvQVNBZ3NycnVwck56Z1FG?=
 =?utf-8?B?V25ONW1iVFdlNWNkZWZMQXl3QjBTZ09xMzVKdlQ2K1l3a3Z2c0VoODBDMzZp?=
 =?utf-8?B?azRaZ2VLZlJSU3VrNTc3UkIwaDRSSi9Vd2tLbnlYR2NpUGFUaXpFTVFhckRs?=
 =?utf-8?B?amgvUGdYa29FNXJZNkdPVHpjM3ozTHR0Z1c0V2xEZDJxOFYzTkZJR2ZTVE96?=
 =?utf-8?B?dDQ3MGZ5TDRYNngybkdqcEtiSUd0YnFnS1NLYUNKUHBoeTFtZ0t1UGpqU3R4?=
 =?utf-8?B?RkxBMFF2KzE3MExtK1pXNmdGODFNNEpyVGdJUlBiTjgyTmhROUwxQzZ2U2tJ?=
 =?utf-8?B?UnRqQ2JGTXBzaGkwSjFEU0Rlb3BEVC9mM1F0eEJNd0VCeEMrcUxVZ0p2ZWww?=
 =?utf-8?Q?53cd0iRbHkGCiT40Q6Bpoa/9u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ba1ddbc-8e4f-4b1d-6766-08da85cd354e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 12:36:03.7654
 (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: OWMprpWcOFfuD6NKNxzHTcwhIUGajzBrgx+Wy1Sbo2boTU9Ip59BPEvKsUTAopcFXTCYEn/wdHRDzO5WCW60kw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9297

On 24.08.2022 14:19, Andrew Cooper wrote:
> On 24/08/2022 07:00, Jan Beulich wrote:
>> On 23.08.2022 12:48, Andrew Cooper wrote:
>>> On 23/08/2022 10:27, Jan Beulich wrote:
>>>> On 23.08.2022 10:59, Andrew Cooper wrote:
>>>>> But this is going to further complicate my several-year-old series
>>>>> trying to get Xen's XSTATE handling into a position where we can start
>>>>> to offer supervisor states.
>>>> Where do you see further complication? The necessary fiddling with XSS
>>>> here would of course be dependent upon p->xstate.xsaves alone (or,
>>>> maybe better, on the set of enabled features in XSS being non-empty),
>>>> but that's simply another (inner) if().
>>>>
>>>> As an aside, I actually wonder what use the supplied size is to user
>>>> mode code when any XSS-controlled feature is enabled: They'd allocate
>>>> a needlessly large block of memory, as they would only be able to use
>>>> XSAVEC.
>>> This field is an already known kernel=>user infoleak.Â  There are threads
>>> about it on LKML.
>>>
>>> But it does highlight another problem.Â  This change does not fix Linux
>>> on AMD Zen3 hardware, where the kernel will find the CPUID value larger
>>> than it can calculate the size to be, because Xen's use of CET-SS will
>>> show up in the CPUID value.
>> Why would that be? We don't even have CET related defines for XCR0, so
>> we don't enable the states in XSS. And I don't see why we would. Even
>> for other XSTATE-managed but not XSTATE-enabled features we could
>> clear the respective bits around the CPUID invocation (just like we
>> may need to set some in XSS). We'd be in trouble only for any XSTATE-
>> enabled feature that we make use of ourselves.
> 
> It's not Xen's CPUID invocation which is relevant.Â  It's the guest
> kernels, which goes straight to hardware because AMD still doesn't have
> CPUID faulting.
> 
> And yes, right now none of Xen's CET state shows up in XSTATE, but that
> needs to change in order to support CET in HVM guests if we don't want
> an enormous extra overhead in the general context switch path.

Right. HVM guests, though, aren't affected by the CPUID limitation you
name for AMD. And PV guests could continue to be run with the bits off
in XSS (we need to context switch XSS and XCR0 anyway).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:38:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:38:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392534.630950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQper-0004GC-6R; Wed, 24 Aug 2022 12:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392534.630950; Wed, 24 Aug 2022 12:38:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQper-0004G5-3v; Wed, 24 Aug 2022 12:38:57 +0000
Received: by outflank-mailman (input) for mailman id 392534;
 Wed, 24 Aug 2022 12:38:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQpeq-0004Fv-35; Wed, 24 Aug 2022 12:38:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQpeq-00047d-1I; Wed, 24 Aug 2022 12:38:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQpep-0003N5-FG; Wed, 24 Aug 2022 12:38:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQpep-0005an-Ei; Wed, 24 Aug 2022 12:38:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IuvmsHv8uYW+CnIXzFjYyhWSq920ODEfVgpPZX5SMcY=; b=yzVKTJAeNoDwMnV2So9eQEipff
	TfzvIF1MHa2xH8Gxqkme1VkdRsC5Hvsp7WA5tlBhkh1AuD4QWzv875vh2/FB8Eu49oGfTofojI2x/
	VD63qaYgjemcr87lRLP35Bjj99NpzeCKbM5B1qvtX3oP+jAWuweIEVuVmXs+g7Qj8MNM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172749-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172749: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=fc151829bac48f05a307bfd5ad450b3c0ae2a808
X-Osstest-Versions-That:
    xen=399bcbf281bd936d1eff7f7d1054ab49115c3a44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 12:38:55 +0000

flight 172749 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172749/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172730
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  fc151829bac48f05a307bfd5ad450b3c0ae2a808
baseline version:
 xen                  399bcbf281bd936d1eff7f7d1054ab49115c3a44

Last test of basis   172730  2022-08-23 12:03:30 Z    1 days
Testing same since   172749  2022-08-24 09:01:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rahul Singh <rahul.singh@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   399bcbf281..fc151829ba  fc151829bac48f05a307bfd5ad450b3c0ae2a808 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:43:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392541.630961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpjR-0005gJ-Os; Wed, 24 Aug 2022 12:43:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392541.630961; Wed, 24 Aug 2022 12:43:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpjR-0005gC-MB; Wed, 24 Aug 2022 12:43:41 +0000
Received: by outflank-mailman (input) for mailman id 392541;
 Wed, 24 Aug 2022 12:43:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQpjP-0005g6-Vk
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:43:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2078.outbound.protection.outlook.com [40.107.21.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60661c60-23aa-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 14:43:39 +0200 (CEST)
Received: from AS9PR06CA0306.eurprd06.prod.outlook.com (2603:10a6:20b:45b::15)
 by DU0PR08MB7737.eurprd08.prod.outlook.com (2603:10a6:10:3bf::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 12:43:35 +0000
Received: from AM7EUR03FT009.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45b:cafe::67) by AS9PR06CA0306.outlook.office365.com
 (2603:10a6:20b:45b::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21 via Frontend
 Transport; Wed, 24 Aug 2022 12:43:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT009.mail.protection.outlook.com (100.127.140.130) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 12:43:34 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Wed, 24 Aug 2022 12:43:34 +0000
Received: from b5120e51fbc7.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AB6E430F-7F5B-49D1-B52C-BC8ECF07B328.1; 
 Wed, 24 Aug 2022 12:43:28 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b5120e51fbc7.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 12:43:28 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB7063.eurprd08.prod.outlook.com (2603:10a6:20b:34b::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 12:43:25 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 12:43:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60661c60-23aa-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=P7NZQkUbQ6h4/YGW1aB2/C3J5teNdG/CDI4cHp7hFHAvIzmsIDuH+6vChGA2lWUEPQOPVx4UaE0366GLaepzZeWO+c3VBo50OdUChpU918k0gWjCTVNu1DMZwUUE6Uc6AriJFlCOLiU4ZMdmzaSZbBlzofnZJZ1Fv01aNrFhTH7yjhZMpMUfSNSHIMcenozjbFQhtTRJEglkFyNMuePEOTqxcrlMO+fKYjND3a6dOLVDm5KZLv/RR+KxL7ZSSl4FeqBD+iDEXfJdXWOfAzNrMXqpo+zPGs59sRLxmGhCW7bUEbQ1L05yvPR9soqQne5XMdW2LjdTZUdLVA1GePzZiA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O9MI+PVZgQEw8wLHxna5/MS9fcGtnjZIqZi//fxtens=;
 b=VLag+RbPntCSsqhMmkVf8MK4XWV9GGzeKP2BbY61tjuwXzcjH/NEPhLqCH5gD3LCCVai6kD6Keb5cz5Ww68kRaIQldqgmc3FvNmNrfa4zQLwN1F0vQ7hw4p8p5DEkbCnPWOtCML5d3kf0pcDUZvubQk5gAhAtMFZYK/GIa4z+b2KFm9vLPnSzY30PgYRTVtB79ii6eVLNhFckMorRMhQNmdKksNGlyNtpJ60owadtcbFi376jLn93SDI8ClH6PM3Sb/iVHeK36Nb1q3AQ5uht5pOCxecwJ+iIklAbsLpaGrV1GOSICTM5JcexdJLxxMfV+mZb5yrTfFI8fFr4lWs3g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O9MI+PVZgQEw8wLHxna5/MS9fcGtnjZIqZi//fxtens=;
 b=BTMoyBRh/pttVf+TqYQc1ETHerxEG0rw+NfwsUItezLF2NxPr4l0xzu7yMznqxPQH7SReD3FGJ3d+2RBKrIIRbIJawYgRhWqoljpF0bbJ6JeLIMzO91jfNF5bcjEdbWj+u49SO0rzMQQXGYZpSD5t6CpYPYmqh16GxvcS+Jqu1o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4a1f1d0425805cf6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dcIe5dBmKcIX+0vYT4JEHuRqjMaRUs7+0yR1W1quYoaI39rr03JRIBB7zMu6jvtvVVAxDjWrMeQBqipg1uTVlghPAUhYWD9DVjfWHZnE/Rvei90+05yd0muFpBax5hTGmqqEP9YdQntR6H27rwrAFvTAlAiWEWsJlIsiSkyDNmQTdDYA23owsIYZhURG2clV3qFO4r3JGk3DBWGs71Pl2SdJcPtbrViGVC/jL+IG+z7eFLX0p0G89FvrTM0yWPiKU6GIL5cpOdl2/jExYk3acBsDfz6TdDVucyBEY1587TAxbmqVHij3UzWpZDDjf1EClJ7czpqWanWRA3tQpWserg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O9MI+PVZgQEw8wLHxna5/MS9fcGtnjZIqZi//fxtens=;
 b=dBrtUb477s+4qljmNzkt6++XR19P1IzoyCQgl2ngWe6Gcp4/9V1L/1lShx4XKA0BO1YlH6UCM1HHq/9/B+3dY7VuMQqUZCLAqsi2aHuSqEKjUyDukv8N/nk+71M+2n/lGrEfOQbO2hBRQIo0I1oj5sC0wDlhs2kaIhsNwFvxKxDj0ZjPrBz/MCOL8nm5eJaL9DBrlHaTjzIIdJWlwsPDm8fCCOzt+d1rPs1fI/5kdO7v4LZfyjZN8smgt9aNwrM55xaYc9Iahiknvm6SiXq6Yz9Ybt0l2vmFIEPmOMfaOcELZEu/lYOHcu1CBa1mFwSSScYiPFLySgDlfxQJ0b7Zlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O9MI+PVZgQEw8wLHxna5/MS9fcGtnjZIqZi//fxtens=;
 b=BTMoyBRh/pttVf+TqYQc1ETHerxEG0rw+NfwsUItezLF2NxPr4l0xzu7yMznqxPQH7SReD3FGJ3d+2RBKrIIRbIJawYgRhWqoljpF0bbJ6JeLIMzO91jfNF5bcjEdbWj+u49SO0rzMQQXGYZpSD5t6CpYPYmqh16GxvcS+Jqu1o=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Topic: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Index:
 AQHYttqU3r7Sk/IKHkKroerrTRS8F628a1KAgAARJACAABAJgIAAAokAgAAIAACAAAnuAIAAA0iAgAEG1gCAAFVqgA==
Date: Wed, 24 Aug 2022 12:43:25 +0000
Message-ID: <6692B919-268F-461C-B5CE-DF07914DAFCF@arm.com>
References:
 <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
 <C7766EB8-B741-4443-99C3-EB14C1EA9804@arm.com>
 <348e6d5c-d846-3d8a-e26c-316ba6a98938@suse.com>
 <F1E1B306-5C4C-44C1-B4BE-E546B0B67C97@arm.com>
 <3a4cbf36-ff90-bf7d-b7e6-5d8a49880f2d@suse.com>
In-Reply-To: <3a4cbf36-ff90-bf7d-b7e6-5d8a49880f2d@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: ae8b3c5e-9a9a-413d-c804-08da85ce4236
x-ms-traffictypediagnostic:
	AS8PR08MB7063:EE_|AM7EUR03FT009:EE_|DU0PR08MB7737:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 HsrMf5YsZJiKpuXSWP4woAU7H+33pDjMTDyfiHikpEi20PJWzjmHp/zD3fmSfyW6xCRTpX0lbaCf5SZOvjmPwOLFl0MhYLmtGx3p0YcsLmUfnFlxbUGjTTME7N9Amci+isdTzgLJHFiyYmMbW5CzXlZ8zEXrVdqJ1MWHHYbGTp8jjpGdz6GhLZDIqLqq8023+9Dg+lo9eEr9LYuuRN7krl4oEe8rMlxMRKR91DrjxapaX+9HC8Mvm8rilf9AG0lLJXY8TwuOcEfkTyPg/xeyG5zS1/yv6V3y4eTbE1NtEsHTFkN8n4arUzvZNKBLtqVdAK7A2kxlz3zTPap13xFiEnDLDf7GHOjztzDkbKCOdEcPIBYirmw0TdmK8QjGuF8H12Z8g5WmEg2NbBdw/tk64PEvWKxpoeOmN7Vd3hCnuOp/hvMTEx6zszXEzqdjuS3G2Sm/wb5MWfBhNxYGGUrYLbfUkLRzD3HK46yUfJlRJW97XPwHO+CsZYGLOBLFreRKF8H93KdKxmsWoSUvnStK7FkHmIjqH1nD7AN+2LRosu8QUNsYyB881KXvyYqxNd5xDpcalBAXEI9eRa7NGk7GYWgdiuUdZnsmjhuxbpPPqX4ox4VkCGukvRYWrLcZp5WkyqMjQiaAw3cTvToHjsT4smXwLtLbStmlH3HaGVa9Ohs+ROpQMpzgwHXPCn/100vJsf3+9WfORAwza80XwVJ/h/aBPuKEAcSf22zUY4fPd1CCOX0UFiBDuAaVzeOS/JP6+Dfmh8E2vVhoOyTSWy9HCQtA9tRXzxvOzo11PybH2CI=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(346002)(396003)(376002)(136003)(39860400002)(76116006)(91956017)(66946007)(66446008)(8676002)(38100700002)(36756003)(122000001)(66556008)(64756008)(66476007)(4326008)(86362001)(33656002)(38070700005)(26005)(6512007)(186003)(83380400001)(71200400001)(53546011)(6506007)(478600001)(6486002)(41300700001)(2616005)(54906003)(6916009)(316002)(2906002)(5660300002)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <ACA1D15AB032AD45A1B22DFF20128FCA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7063
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9ea2d351-d8ef-4931-f0d4-08da85ce3ce7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HBOx4T3vWXIbWwKa5GxnJWHLkujgtOMJ1IsHF4r1zr+9iXKKsj53mWLaL4ZIGayToCh7+DM/EA8tcTZp+eM2udFRH4IL9YuUA6Bx+AkurQCkrcaFgv8/0C8iSpb3wAEXoA0+ujYo4y9TR94X4scxGm5xyrwP2mIU82LrSj/CDvGcCxj6VSg4OMsYyDdYS6KMnQgFS5bmuGkZJLxX8MdCqz+XXiUpOg9eoER/Du+6ROIJPf3hoeltK1k3iqw7446FJECqGWpf9q4EyL2bqsiRVp1m4BllbdyIz59aVRWUX/i1dLLOZ5baToS1ziQNryae7sS3d/7aMMCqv4GelC3C+j3dDBMboDdvOWD60xX5sE1ccH56s1WQCXMhl7r0wE71CeaM0d33YPzyCFR1J/BF1C/xSOqmkuLSSv43BcbwdDRjEJPAqfSjRzPJ4xmo+tgGeirzMTX18VluKN5KSriHq/03xiwo61IaEGGZBXG9MEbNZ5rGprO27KCOLlI9lug270j+HuO5JaC1hUUHZPZYQkmpHVC1d2xpTIb0e4wp0amaDeu55smDH7M54OAz0mPlCzU3AT29VckexITT2mc3aNdjCoDeet/aHlrAwtakhsYJDIkRfJPtT6QhfSIY8X7soxBIke99ERdT8OTjR9MLz+Tdeo2Shw9EU0D4TxaMY+kW7RWKffQ7wzmGpGHtaWgui9U5M0eVQOkjH7mNVOlI1TIGm521zfmpkMWziXVb1Fqi3L1DJrelU0ndZu1jnrhGWpYWnhKFnj551CokQQmICg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(39860400002)(346002)(396003)(40470700004)(46966006)(36840700001)(53546011)(186003)(6506007)(41300700001)(26005)(82310400005)(8676002)(4326008)(86362001)(6862004)(8936002)(6512007)(36860700001)(70586007)(83380400001)(70206006)(336012)(33656002)(6486002)(40480700001)(2616005)(5660300002)(47076005)(36756003)(356005)(81166007)(478600001)(40460700003)(82740400003)(316002)(2906002)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 12:43:34.6365
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ae8b3c5e-9a9a-413d-c804-08da85ce4236
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7737



> On 24 Aug 2022, at 08:37, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 23.08.2022 17:56, Bertrand Marquis wrote:
>>> On 23 Aug 2022, at 16:45, Jan Beulich <jbeulich@suse.com> wrote:
>>> On 23.08.2022 17:09, Bertrand Marquis wrote:
>>>> How about moving those to a xen-acpi.h header and include that one in =
xen.h ?
>>>=20
>>> In principle okay, if there wasn't the need for HVM_MAX_VCPUS. With a
>>> suitable comment it may be okay to live there. I'd be curious what
>>> others think.
>>=20
>> The problem with this already exists in the current status as this is de=
fined in
>> hvm_info_table.h which is never included from arch-x86/xen.h
>=20
> You're referring to it being necessary to explicitly include both headers=
.
> That's not what I'm referring to, though: The tool imo shouldn't include
> hvm_info_table.h, and hence the HVM_MAX_VCPUS would need to move as well.

Any suggestion where ?
The more I dig, the more I find that everything is including xen.h and goin=
g round.
Arch-x86_*.h headers are including arch-x86/xen.h including xen.h

>=20
>> Including hvm_info_table.h from xen-acpi.h could create include path iss=
ues.
>=20
> Include path issues? Both are / would be public headers. But as said, I
> don't think any new header introduced for the purpose at hand should
> include _any_ other public header.

For now I can create a arch-x86/xen-acpi.h and move there the XEN_ACPI_*
definitions and include that one instead in mk_dsdt.h.
The change will be small and should not have much impact.

Modifying HVM_MAX_VCPUS is not per say needed and I think would not be
enough to make the situation cleaner.

>=20
>> But as those are used nowhere apart from mk_dsdt, I would probably skip =
the
>> include of xen-acpi.h from xen.h.
>=20
> Hmm, yes, that's reasonable I guess as far as XEN_ACPI_* go. Of course
> HVM_MAX_VCPUS is a different matter.
>=20
>> Any chance that those XEN_ACPI_ are needed by some external tools that
>> could get broken by this modification ?
>=20
> Requiring them to include another header is, I think, a tolerable form
> of breakage, the more that such breakage isn't very likely anyway.

Then if you are ok with it, I will just submit the xen-acpi.h creation patc=
h and fix
mk_dsdt compilation for x86 on arm.

The rest would require more thinking and I do not think it should be done n=
ow.

Can you confirm you agree ?

Cheers
Bertrand

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:44:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392546.630972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpkU-0006Hk-6W; Wed, 24 Aug 2022 12:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392546.630972; Wed, 24 Aug 2022 12:44:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpkU-0006Hd-3c; Wed, 24 Aug 2022 12:44:46 +0000
Received: by outflank-mailman (input) for mailman id 392546;
 Wed, 24 Aug 2022 12:44:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQpkS-0006HL-16
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:44:44 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80045.outbound.protection.outlook.com [40.107.8.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86beb82b-23aa-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 14:44:43 +0200 (CEST)
Received: from AM6P191CA0006.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::19)
 by AS8PR08MB6978.eurprd08.prod.outlook.com (2603:10a6:20b:349::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 12:44:41 +0000
Received: from VE1EUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8b:cafe::a8) by AM6P191CA0006.outlook.office365.com
 (2603:10a6:209:8b::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Wed, 24 Aug 2022 12:44:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT051.mail.protection.outlook.com (10.152.19.75) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Wed, 24 Aug 2022 12:44:40 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Wed, 24 Aug 2022 12:44:39 +0000
Received: from 02d7f403576c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 60C8B15B-D624-45C6-B6BB-F0F97BB3723A.1; 
 Wed, 24 Aug 2022 12:44:32 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 02d7f403576c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 12:44:32 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by GV1PR08MB7940.eurprd08.prod.outlook.com (2603:10a6:150:9f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Wed, 24 Aug
 2022 12:44:30 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 12:44:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86beb82b-23aa-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=oQ6Vy0XmPUr2ObCkMBtOmpYHamacD+ZJOl67Kd7dGSDkwzo9YNozZEtQ51orLrlEyKO6Bph4ZJVtioY4WjzK6MZN+oLbEOSX2qLq/on5DQ3OBX0v6Ucr5d3R5dAxBML6XYvOp866hOz7xJpFZBkc2p1eMLLg0uNKJ4Q/33cCbDb5otf6ILAAai0lIJT94iHMaub5a2rpfvIB6j7GeTNmAcC70Vq6d9GCWcoYAS3awdqJkbTB9BzfJEL7sQOsdXoujgbe2jO45V5gz29F8o/gperqcw/lBKrG6daFrzoSmhSLnPb8mV1kNW/pM2te1cmWZdXdDdbrtTKhRNnMnOOTtg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O7PuElJJfoj36hJl9Mz4yfwLddxvbytqe2alZtSlzcI=;
 b=hommLWrvURSt7a1FrR2Bda6hG3AghIXyKMhF6t9TL9uJkwKlfptYaPqEkMm2Lxo8mxkp+XtKj0kHfc3TUorPzga0FOKn4OrV7rwMR//ZzgCgwzD6UhjWm30bqDJzk3RoA+y+jSQ92mFwhiQoCRR7AprEPSIa80RejQ4cj8jzbULuHfK0JFt5JdVg6WzvS7ERv1jKRdtv1cBdbEWLr5pF6dM1K7RFkkCPs6QsCjOEzj2Ks8RhdcOtiDOI+Kb3/geD1jdv4WWvCEQhwjpY5Nsc+/NnhbvlDFXTLNrK7DN46XUZMR3n4IXsGC9SqofctEUpSsjkn7xsYScmfcNjXN3aMw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O7PuElJJfoj36hJl9Mz4yfwLddxvbytqe2alZtSlzcI=;
 b=7UdLrYUxgbaZsxHwjR3uPe0uvh0lzOzpxRb1vtMS3LQvXHdaYAAuo0eVW7ppo9TlrZYgUoJHu6zNmVHtRgb8YOLH0vz/LIOyECzBoc8n8V9qVSuuERR6ffhdaLzKpfnRoOoVhVzH0oZ3mLl8r8yigI4x5wAvBfIj9PpTfXjs2Os=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b64df25fa5e86590
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QJg06trULLtWw5/IWimYORM5pmNpgzKOzDU1wQnUurLD8Klbq8GTbzaGiw6nJ45oBDOkjpQ1pe3jU9WchmtXIj1xwa9NZOoZoOxDIQ5lfcgZl7xJV5h19rb8fNwyVzZjBgVUoke4HytTvNo4bPW4LykEZJuoWgdcg5iOK7Kaz6V4iaRN27iI0BycBZ++uHMNOSZMG1aI4NZ/tO1h6R9imx2+nQCWnKg6rwjd66JJ7mGpTkL6YdtwdyA249CVtGlIMzxghuOK8KNkfH9K172rBdn7U/GIdo6UyhG7CmGrJxQmbnlRcFD6eyUx4cyAjy4GDm8bcHpK0Ctb4AMIhPo4Wg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O7PuElJJfoj36hJl9Mz4yfwLddxvbytqe2alZtSlzcI=;
 b=VrSmUPfiLjfwkcHt209w5VGNWgCAWUCDHNXJ9BN7AgkqqKWH1w5FmwHUsTZEJDQi9QnDs9FVi6Di/99nCdekJ/LR5gGnBhhE1OIjxcoyz6qA5BA74nInPlukqA0HVK6WIG/u6Wvs8ahdzvchCM0CIa2JJ8YNjoQLHv1R/AfqzftsgQNeOGpK5TNi+ygFlSxlOLWRYRWdRrldq5Ef9NbNoSerTRyLgpNL/B5mvBd4LFRXRPyKXDFXdRWbDrFxRkWnF24/5i/iIdxNLahdX3DJe6IIa0PUPV35fU4h6rbenP6MOeJmYoywL1e3p29Ahra0yqZOiwLKcPaOgf2VsCdLlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O7PuElJJfoj36hJl9Mz4yfwLddxvbytqe2alZtSlzcI=;
 b=7UdLrYUxgbaZsxHwjR3uPe0uvh0lzOzpxRb1vtMS3LQvXHdaYAAuo0eVW7ppo9TlrZYgUoJHu6zNmVHtRgb8YOLH0vz/LIOyECzBoc8n8V9qVSuuERR6ffhdaLzKpfnRoOoVhVzH0oZ3mLl8r8yigI4x5wAvBfIj9PpTfXjs2Os=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: Re: [PATCH v2] Arm32: correct string.h functions for "int" ->
 "unsigned char" conversion
Thread-Topic: [PATCH v2] Arm32: correct string.h functions for "int" ->
 "unsigned char" conversion
Thread-Index: AQHYt7WvGsqPX36ID06vL1k4SyhAUK29/xSA
Date: Wed, 24 Aug 2022 12:44:30 +0000
Message-ID: <43F406AE-988F-4429-B8CB-F47DBD599B43@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <031ce9f6-ede4-f371-da04-ff8c2df209dc@suse.com>
In-Reply-To: <031ce9f6-ede4-f371-da04-ff8c2df209dc@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 144e0f11-0005-4a1b-188b-08da85ce6959
x-ms-traffictypediagnostic:
	GV1PR08MB7940:EE_|VE1EUR03FT051:EE_|AS8PR08MB6978:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Z6UZQ+iuhIoZxP1/U2zNKkEhyRivWohXtRZkeqB9CC1mqv7oN+hukLCJkT+3sGwy9aTEWPkNPrq2HW5e9HP5JBwUgvx7/dZP2U5WkEbiI26/eTAhHLrluRhQ2HvWwHU79fAeEmDy6B3Vz8lp59wuXPQVxWmdlRObOn9dUog/plgZ//TnwOg8A87XX/fG8NFtexZLnV5Nj5r7YINMWkqQ7E7U0uoCpbqb+Qo9/y/Ed61hxCaMjkbI+58At9BNJeFv+rQv5bqmIb0blgxq+UB8L2ca6unSONo7hHgv4wjHOq3oOMxEBKvaehgwsX8lUO08aLT6fgX00W1h7/2rlX2ycc9jTKlihX5Tl9v3nKY8OlSgONWzFAVGupE6XI7Oens4ifXI0GVBSfvxZ4rIO9t37jWWOs/aWLt9NSCS2JkFSJNPRcV5BcUUTEMMBq/8CMdEY6+OxFVmR5qtvspdt89ewVIEHxtC6xRx1cyF2W7HuemI/lwSQ3sg6Mq6EdLblGPSHdJz754F3ocQZFNKk+mpFU7Yur6ZMv9ZdzTWEmA6bOloLptpl8JVeozNmqajCiDOAicMS52lNnXf05i4YC/mi3ToFsF0r1lHHxr9rZ23Kqbcsbeausac3ZgtHXJfypSsE/duKGyYRRi1C0w8+3ZEEZPWduj0qM2xlK+kyAuXQqSU4FLbegyuSWHInkKSzEakxDYN+pBown/wVmXQNnmFQ8cW2vG9V1X/AKZU5Zj/SuWFEadoMsqq4wC11ySp6GkfQMOEPqE3znn+2+8fIkgnyZ7piP2K9fX+NRnxWFXOz8g=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(39860400002)(396003)(136003)(376002)(346002)(36756003)(86362001)(53546011)(41300700001)(64756008)(76116006)(71200400001)(4326008)(66946007)(66556008)(8676002)(2616005)(66476007)(91956017)(26005)(38070700005)(6506007)(186003)(6512007)(478600001)(6486002)(54906003)(6916009)(316002)(38100700002)(8936002)(66446008)(122000001)(33656002)(2906002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F4EB3ADD534EDA4A9D0C6A4BA3F78113@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7940
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	dfbabdbb-0eed-449f-8405-08da85ce634d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jYpu7nDPwxtHIFPViMXgm4n5hCK3+GNUNP7K2ADOAmHxAPVF7N8U0yYYW0Ylgw1DvExuz5RdG4NHG0BHHEDqDz8M9F/own4rk4PGQ+3jcIsGbt4pAsLdGQCQK6Vgeic1Kld6l7RzRv/2mEuTjeFXxSTIFgzPJrgy5e24vMr8GN+TGF0g/qv90pILRuSJGxk0ngeYxZw1SC5gJDgXHLk9EywZNrQtU+VJiSTHU+MWAJBB2D8NvLiT+uzG0xpDZqww23TA/Zc98RpdkOzmj9TdXMF9eXtUp9MD8SxXQ39akkB+UZVIDPMsD+slWAKXTxc143Y0+lJ/bGiF6kHIYT2zptUuYNN/v4QvbAMiwXiT1idzP6R8KLhSdgv9h2a5Q47z9uOs1TiQGLhabPbonGwkPThnPka2DfICyFB8E07o/XaSbUqdqIF2yp7o8QuZkfi0Ai4op4wrcTirXHcdu6I3H0zA6pFrXfBjH7fADZkiCh326JRJZskHAm5WtuvvAqJCAxiuvG2pM/QXg0fgYUZ+k/IJcRT/Ll/xcEB5RLlWiQziGIa+5gbdi4aBm3wI2TtBMKzkqk+T6d8StK7Z+3eswbXoEnvWKVXmKDLNXzPtrEMtLALTfp1aZhAXJZa5wis6xVOvGj8aFaEdYe3uqH0FItKwYk4Xfs1quStrqcoEjWoTYtdK2LKRHstLEXbAUFgcbu/Q3UW48P+UUj+fkWOnqsCjLVypWlgc1Dcad5oeP7j/mGRr7nc/ZyX/JgiL9F+fJYfWua/tw/d+SO0sEqVoGA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(136003)(396003)(39860400002)(36840700001)(46966006)(40470700004)(82740400003)(5660300002)(6512007)(33656002)(86362001)(6506007)(53546011)(6486002)(47076005)(82310400005)(81166007)(36756003)(8936002)(478600001)(356005)(6862004)(26005)(2616005)(54906003)(70206006)(336012)(316002)(186003)(107886003)(8676002)(4326008)(40460700003)(70586007)(40480700001)(2906002)(41300700001)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 12:44:40.2612
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 144e0f11-0005-4a1b-188b-08da85ce6959
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6978

Hi Jan,

> On 24 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> While Arm64 does so uniformly, for Arm32 only strchr() currently handles
> this properly. Add the necessary conversion also to strrchr(), memchr(),
> and memset().
>=20
> As to the placement in memset(): Putting the new insn at the beginning
> of the function is apparently deemed more "obvious". It could be placed
> later, as the code reachable without ever making it to the "1" label
> only ever does byte stores.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand
> ---
> v2: For memset() use the "more obvious" adjustment.
>=20
> --- a/xen/arch/arm/arm32/lib/memchr.S
> +++ b/xen/arch/arm/arm32/lib/memchr.S
> @@ -14,6 +14,7 @@
> 	.text
> 	.align	5
> ENTRY(memchr)
> +	and	r1, r1, #0xff
> 1:	subs	r2, r2, #1
> 	bmi	2f
> 	ldrb	r3, [r0], #1
> --- a/xen/arch/arm/arm32/lib/memset.S
> +++ b/xen/arch/arm/arm32/lib/memset.S
> @@ -15,6 +15,7 @@
> 	.align	5
>=20
> ENTRY(memset)
> +	and	r1, r1, #0xff
> 	ands	r3, r0, #3		@ 1 unaligned?
> 	mov	ip, r0			@ preserve r0 as return value
> 	bne	6f			@ 1
> --- a/xen/arch/arm/arm32/lib/strrchr.S
> +++ b/xen/arch/arm/arm32/lib/strrchr.S
> @@ -14,6 +14,7 @@
> 		.text
> 		.align	5
> ENTRY(strrchr)
> +		and	r1, r1, #0xff
> 		mov	r3, #0
> 1:		ldrb	r2, [r0], #1
> 		teq	r2, r1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:47:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:47:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392556.630993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpmg-00079z-Sj; Wed, 24 Aug 2022 12:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392556.630993; Wed, 24 Aug 2022 12:47:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpmg-00079s-Pa; Wed, 24 Aug 2022 12:47:02 +0000
Received: by outflank-mailman (input) for mailman id 392556;
 Wed, 24 Aug 2022 12:47:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQpmg-000796-1o
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:47:02 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2086.outbound.protection.outlook.com [40.107.22.86])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8ece830-23aa-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 14:47:01 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR0402MB3796.eurprd04.prod.outlook.com (2603:10a6:208:11::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 12:33:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 12:33:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8ece830-23aa-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DK7OsHg7XeVqS303vF+WcYzgYVEN1+OW8X7I64+XE4X+6EfsvNPOmt8BFe3TRnPcac8rsYnDRdjDA1ON3+Hr/GX41CEXdzbYaauBXOpcQA3Bu2c266/QzmA+njKVm1O9nKwcFdHIHHHFzjp+wzMEDZifTCUL31++KjJw2njGeSQ6Bch/Joc0V7hBTZhjuwjOr7ud3v9wk/gLSEK/Of9ylVKWjhFQ9fSEOPN1JJLuFGr/oaXPYjioBbTUPW7/V5nzuQdYaWaBp4ocoSlDH3TiSOPMrxXaBNc5L6SsryYubub6aO0QopL+qLyWmdNA8zvoDq3lN9WG9Id49l9UnSCZhQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YjiSw0+oR37MnXYpyF2iC1Q6ey9w7qhXBSA03B3hZe0=;
 b=DOaRJet8uaj5sFVuxX799DFfeK63r8VcmbQQ8TU6hdt5LhU2xZy9QkVLJmA8Xteoz7pb96qUX+0KKzXvb4GebzlHTYPNXSHypBdyiAHWV0tYJj79R/ep3G+nY784Lxsc88wwH2qM3TkRozpbnqHFbhgFLZDbK76IGeNOl4ZEgeZhq9PCAI0u4dl79BYv7I2viCkR1Tr4npYoG/jqODb3nZzGBTnBIZXNx8djqWOglWwumFkozDWVB6/a1BZAiWjYxWx0qICta1q7apPMhW76WGlEHh4UWPzBevy+qxFe92HkYHOlkmiPXApKuplSu2/GJOBDxC+Ia/p8NaRqvci+lQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YjiSw0+oR37MnXYpyF2iC1Q6ey9w7qhXBSA03B3hZe0=;
 b=G9afci9qJl1UE2i27LsYTv0JrKmrfYnk586UcRa84zBV/IY+syFjZO40GSrJPMG8b5mvdSmltG3kFmqz9ibQp9cMQ6iZLwBB83gmNOKr3yzR6x2jHpxry/7Sbo55kAjoi/yYGZ8Gh9hNd33PUy1IiPEVyOxVOgcwPV6cQwT/iExOXg/KLYaDoAd3yidNm++XCC4q6L/J1sWPxmJ6pW2aT9f1IAz5bP/HkEC8AVm1PSrINuT3Bhm5wSLwMMd9aOfpEkVj13E4jZ/xJtQ/9612a3qOyodZh6ykRdxUj0qZKB4FqCBMpaYlE6bCr5JW0jcmHggvI1J2UYaVL4ypirWhvw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <031ce9f6-ede4-f371-da04-ff8c2df209dc@suse.com>
Date: Wed, 24 Aug 2022 14:33:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] Arm32: correct string.h functions for "int" -> "unsigned
 char" conversion
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
Content-Language: en-US
In-Reply-To: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3db1b082-9be0-4b84-2ce5-08da85ccccb0
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3796:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n3ON2sBECBSAppuV5NoYCf4/kHIc5w8F6ZJhbYctbWnlJwHryLCG5Oy+nDgHl08VzozK/I7RQhmYXfW++DCFybOClStJDUj5+W0Eb4qaJNk4nlkKITSqw3Hk+TTHNkQPqusPd5uGwLSh54YD83yLEyJFozRvjSazGyxDahR8yiPkzK5PaVP0iFz35ZwOrPh3xwcve+scUCBvjU8Suey16Jcsq1ijvvSHgedZPpCgOvQ80Nhm8TD5RdtRcJUgA6ibxGolYDGUQVqheOqPAaIjCXTLhzk/MhChmGNlxG7flqJJnugB3PvV07bg50qOLkkvipf+tE5fYn4nh5YgN0L0RinuyHxtL5UvEFKvehrd073VyK13MAvK41jrPmChFYkYlmGwiya1uD3ro1HGg7Azsfe7J/8qcHpOGn5pZlnaaB7TQl3L12mxW5ONXAmCcyxvQ/IJ6Ug7powTWF4I2ywh8+DZ6iBxhAXa1ujBRzG9IyEQxJS8Cf+jWfyHUi5JDJ4AmPHuRqZ+oGziMVrMNIQPJw+xy+DywR+AE87HN9hO97mPSZ/AML65mwY6vPz9gkovvhNMC3SWcQrxDgW0disBg27BXE3VkoZX1cdy3sAUZGr6zvHRKxV8s+2R90B/m7tbgg/7YsrE0hG270pZH5JqNsDkpJa9qQhRBWRoICEfh6K4Z5Ne3tah8OBWJmESEv9+btqMYPWBKdMvBWpjaxw4n3/p145ONFV4uxAMoDFWinMp61+3pIOyimD7mk/D4Ow8QS4u54dt/rWYqdWVD43BYxBFxCsdeacpSaMqAlek2/8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(396003)(366004)(346002)(376002)(54906003)(38100700002)(6916009)(6512007)(31696002)(31686004)(316002)(86362001)(6506007)(36756003)(5660300002)(66476007)(66556008)(8676002)(66946007)(186003)(2906002)(26005)(2616005)(8936002)(4326008)(41300700001)(6486002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEFOTmUycy9XY2pNK1ZyVjZwcUZ3ekV0ZjdUdG13M0tGUUd1ejJoTmZYQU02?=
 =?utf-8?B?RGpMbVI5ZEhjTFBlRGN5RUJabng1dzBSOEJSdTRCM0FRalZEQWVXWmV6Um96?=
 =?utf-8?B?d0RvNHRBRDNWdXB1ZXpqMlIwZkN0UndYNVR2NWt6a05aaERaa1RBcnVKTCtF?=
 =?utf-8?B?aGJpTzRFdlJFYUxwVHJXSmNzWkwwMHhXeHBjVDNFam9RRmhCV01wd1VUN1dr?=
 =?utf-8?B?MHhhcUx5T1g5UmJhYUNhYlNzRFVqR0I3UjVtYkR3LzNUWjEwL3gzaU8wK1Bp?=
 =?utf-8?B?all0VzFQQmZIM283L081d3ZFU3R6cWQwVzBhZlNFTlB0V3FJL2lrWjVjRG9I?=
 =?utf-8?B?dFRsLzU2aVg2TklSUFhxd3ViMkRIUHJyTUlLN1djWFlYMVlOTWZEYTJ5OW9F?=
 =?utf-8?B?RE9UZ3p6OENGOG9EQ3A1MjdzeU9DV1VkaXkzM2lEQ2xwbzMyNjVQUWVna0VU?=
 =?utf-8?B?RkprNkxlbFVMUWxaV0R1WUp3ZjcwbEw2OE1wa2lFaUJhYllrR0NUenZ2R1FJ?=
 =?utf-8?B?NEZpNHRPTVhud0dGcmJib1dzT1Z5S0F2eGlQckd5bnZ2N0MrSDgyNWFPNDlV?=
 =?utf-8?B?Nk0wMzJER2ViYllaZDJrbFNleHF6UFBCMnVMaFlaLzNNdDlmSVAwU3pxd2VS?=
 =?utf-8?B?bUIwQjcvZThHdXNjYVM1VDNLdTFOZkVJb3ZMbGVCMzh4Mm5OTC9yVjI2aXhn?=
 =?utf-8?B?KzE5Szl0dDVGZHJ0ODFKODF1U2g1ak9MVWdKYzZHbHhRWWtSYWdTc1Ryak83?=
 =?utf-8?B?T0NkbGZRQ3ZDMWhKTEdZRzZWTEpJREgwQlRvTGV5c1B6MDBmUldGU2UyRC9m?=
 =?utf-8?B?OE0rQkR5YVdLR284TFI0c2ZQY1VzdU5laFZwNFFmL1dZMlVPWm9yZlRnTmFG?=
 =?utf-8?B?N1kwdEpPQ0NVK21ZZjNRdHNzbEJ1N3lqTDNYZUxEOWZoa2ZnRXlyTElOTFFD?=
 =?utf-8?B?QnZPeVpkSEs2MUlWN3hESzBwUGExY0pBRW5BSzBFUk5MOXVkVWR3ZXhKVXNQ?=
 =?utf-8?B?dkk4WTRzNUhEaEx4Z08xeE5HZHczUWx3dmRmT2gvTEpicnNsOEp5OWhWWkJQ?=
 =?utf-8?B?SHlKODlRZXcxV1NxMzZGTnBNbktQMi83ZHdXY2N6NFZWRDRxZWJOMTVRbGxC?=
 =?utf-8?B?M0dnRjJTcVQyTzJCcTI1aTlZeVpnOXJRNmlFUEdadkhBR0xua0JzV25jNmt1?=
 =?utf-8?B?aU9JT2w2NHZYZDM1U3lKQUF6cEN1bktqd1ZWajlDOUtzNGdkaUQ3d3phZkQ5?=
 =?utf-8?B?RGozb2pITW0xVVVUWER2aWwyYkRjOGtJTzBaU0lUaTlHZFlxbXJTTmNML2xy?=
 =?utf-8?B?dzA5QWMxcFkxMXdaMGFQQlc2UkdNY1ZqZG52ZkxndzdiU0dHcCtMOGNlT2pV?=
 =?utf-8?B?V1NkcmljWEJhVUI2RmU4b0lZdG1OUkc5cDBxbVhtZEVsbTl6b2N4eS9UbTJF?=
 =?utf-8?B?YzExYTh5TXZFSGlKaktrWElSWkQvenBUc21DNDduaW1QU2l6eklDM1NDY0Q1?=
 =?utf-8?B?bksrM1ovVTRESWFGb0FkMHJmNmpObERzaUVlVHp5YmtSOUFlVmxTN3J1SmRs?=
 =?utf-8?B?QjFjV0RPRmVBQ01YU2N0aktnbHFGTGl4c0NZZWpVYzFhV3NTOWRZekg0NVlm?=
 =?utf-8?B?SGJYdFRtb1ZudU1zellGd0w2b2llc2tTbmtQVEFBRGlDbVN6bFVJQTVoazBD?=
 =?utf-8?B?UllDdlNrUExaUWUyNnlKWmtBRkQ4SWJMODhUc296T2pQbmJKR3lKN1dad2ZH?=
 =?utf-8?B?SmZGWEhzSHhLVG5nUVZTVUYyM3dkcFVyM2psME1xY2R3Z3Y0L3BXS0lUT25Z?=
 =?utf-8?B?VFZJR1h4cEtCaXdPOXBFUmdzZDFrNUhGUy9IQU1nRndjV21vUEVXMVY3eWda?=
 =?utf-8?B?VlVFSHhBZVU4QlM0R29BMUplK2pIend1VWRCUXp3T3ZjVUJjM25aR0Vqc05D?=
 =?utf-8?B?QXgrQUYzTHh1d1g0QXI1dnBvYitjdytuTSs4MWdpSndxUW04Q1JSaTRkZVMv?=
 =?utf-8?B?bS9ta0wzVEE0dEdjZzR5NEpCMkthTHNCMzFUTndVclpkSE91cmgyWEZJbHI4?=
 =?utf-8?B?cHJick10M1lmdmFmamFXYUluOWcrS1FDck9iUGY2QThndlpNc3ZuM0l5TFRW?=
 =?utf-8?Q?eT/1wz8glDcNDe49vQl8eHLQV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3db1b082-9be0-4b84-2ce5-08da85ccccb0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 12:33:08.1985
 (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: mF1W2hznHrKFtbcEwgBkC+BFcleXJNkU9XvbVPdpnlKM/D5DFMub5g2QDyNypUDb6CPuf5LkVv7VTaNgpEcGGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3796

While Arm64 does so uniformly, for Arm32 only strchr() currently handles
this properly. Add the necessary conversion also to strrchr(), memchr(),
and memset().

As to the placement in memset(): Putting the new insn at the beginning
of the function is apparently deemed more "obvious". It could be placed
later, as the code reachable without ever making it to the "1" label
only ever does byte stores.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: For memset() use the "more obvious" adjustment.

--- a/xen/arch/arm/arm32/lib/memchr.S
+++ b/xen/arch/arm/arm32/lib/memchr.S
@@ -14,6 +14,7 @@
 	.text
 	.align	5
 ENTRY(memchr)
+	and	r1, r1, #0xff
 1:	subs	r2, r2, #1
 	bmi	2f
 	ldrb	r3, [r0], #1
--- a/xen/arch/arm/arm32/lib/memset.S
+++ b/xen/arch/arm/arm32/lib/memset.S
@@ -15,6 +15,7 @@
 	.align	5
 
 ENTRY(memset)
+	and	r1, r1, #0xff
 	ands	r3, r0, #3		@ 1 unaligned?
 	mov	ip, r0			@ preserve r0 as return value
 	bne	6f			@ 1
--- a/xen/arch/arm/arm32/lib/strrchr.S
+++ b/xen/arch/arm/arm32/lib/strrchr.S
@@ -14,6 +14,7 @@
 		.text
 		.align	5
 ENTRY(strrchr)
+		and	r1, r1, #0xff
 		mov	r3, #0
 1:		ldrb	r2, [r0], #1
 		teq	r2, r1


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:47:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:47:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392553.630983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpme-0006tk-Kg; Wed, 24 Aug 2022 12:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392553.630983; Wed, 24 Aug 2022 12:47:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpme-0006td-H6; Wed, 24 Aug 2022 12:47:00 +0000
Received: by outflank-mailman (input) for mailman id 392553;
 Wed, 24 Aug 2022 12:46:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQpmd-0006tP-BD; Wed, 24 Aug 2022 12:46:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQpmd-0004Ji-6j; Wed, 24 Aug 2022 12:46:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQpmc-0003ph-OH; Wed, 24 Aug 2022 12:46:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQpmc-0005DN-Nt; Wed, 24 Aug 2022 12:46:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oveTJtvpXpPa2o1eO7nEbKTsJbQITjP3LnKN55LBc0I=; b=kTGPHi1YCwZXmXwgjTGXKY2ar8
	te1MsJjTEeHQ4z1DcCF5VmqRr0tSegoXJXXF4ENQb/JENArLBWQTXVgbUsy/boi6g/a5HHchmlUwC
	FipLqUOsi/QeseFBAV+R9RnPafVhgf7iOs0QrnHHgJN7mWEV/3/w/TnFlpd8lWjOOPpo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172750-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172750: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 12:46:58 +0000

flight 172750 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172750/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   20 days
Failing since        172151  2022-08-05 02:40:28 Z   19 days  159 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 12:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 12:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392570.631004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpyp-0000de-83; Wed, 24 Aug 2022 12:59:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392570.631004; Wed, 24 Aug 2022 12:59:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQpyp-0000dX-5O; Wed, 24 Aug 2022 12:59:35 +0000
Received: by outflank-mailman (input) for mailman id 392570;
 Wed, 24 Aug 2022 12:59:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQpyn-0000dR-RF
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 12:59:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQpyn-0004VW-GN; Wed, 24 Aug 2022 12:59:33 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQpyn-0002jv-8Y; Wed, 24 Aug 2022 12:59:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=jVRbZi4gCLpevPSV5bHidy9TBmcS6mn/Sxzue6M7BAE=; b=lZvL8Jw3Wk/0yfEu5E19/DJIuI
	X9Bgl1hwvIDPMvZxSvbSzYZFZCc2qti1NjIl7zrlRrRDMyHWsBNhXuy2Q3AuOOZpqtGK2KoGcQkUf
	4nCUroYEof9dUJS19Yeq4hW4/OCuSmLoEBjtTm4D8Bh+YwHA/6CvrZyxLwACXGJy0UWM=;
Message-ID: <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
Date: Wed, 24 Aug 2022 13:59:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 24/08/2022 13:15, Rahul Singh wrote:
> Hi Julien,

Hi Rahul,

> Please let me know your view on this.
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index bfe7bc6b36..a1e23eee59 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3562,12 +3562,7 @@ static int __init construct_domU(struct domain *d,
>     if ( rc == -EILSEQ ||
>       rc == -ENODATA ||
>       (rc == 0 && !strcmp(dom0less_enhanced, â€œenabledâ€)) )
> -  {
> -    if ( hardware_domain )
>         kinfo.dom0less_enhanced = true;
> -    else
> -      panic(â€œTried to use xen,enhanced without dom0\nâ€);
> -  }

You can't use "xen,enhanced" without dom0. In fact, you will end up to 
dereference NULL in alloc_xenstore_evtchn(). That's because 
"xen,enhanced" means the domain will be able to use Xenstored.

Now if you want to support your feature without a dom0. Then I think we 
want to introduce an option which would be the same as "xen,enhanced" 
but doesn't expose Xenstored.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:05:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392576.631015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQq4F-00024X-RY; Wed, 24 Aug 2022 13:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392576.631015; Wed, 24 Aug 2022 13:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQq4F-00024Q-Ow; Wed, 24 Aug 2022 13:05:11 +0000
Received: by outflank-mailman (input) for mailman id 392576;
 Wed, 24 Aug 2022 13:05:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQq4E-00024K-Bt
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:05:10 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20073.outbound.protection.outlook.com [40.107.2.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 60dcea9a-23ad-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:05:08 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8419.eurprd04.prod.outlook.com (2603:10a6:20b:3fc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 13:05:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 13:05:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60dcea9a-23ad-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HdwtNxCFDtnFIuZST8uW/RQqwmoilrhc4aRJIU+hBpL8w2kcf+C6kOKfXIXMbxRrWqmfPwbj+XskAAlnwlpLXM3Emtg8zDEmutgvQjYpEyPjM4/wiBJL1L2pdYd2SsUnD7t6GuUskTAopPtICdn99r5AgmvKmQL/IjhCUYjDISpfQpATvADHCDGloYVrvXhldpw4HVtHYn6EjwNNqm3RzbhBKs2Efqi8lcCFGmAGY1ujsqHJ4yPiHlYb45QBpws7/vg1leKGULza6L2YVMJStVkSrOcfka5qNo4JBs8iqgkaQR23qQ7b5crkznqs/5JNGcnjNghvmmdniGob2XxlpA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ie6dxQve/Zt2WSnieDcVoP0CEePnw5LG9pR8riFSqzE=;
 b=DuP1Kgm/BFJm3pdVvcP3/paSerap0i6ljCht9pwS8Y5ZvjrpCjE4KNyB/GlsQeJrsbLrUtoxqw0EYo8VO8LbtT1HyywAs8QcJ1OoiWeBYJU52KLa9Cm0ZmQOnoSlusDfZVt/BOOmsz5r0GT0CPDngwLcJPKuO2g/Ku69SeN2jwdNcUQ1++RKWEB5Adqdg0zcJJmL2iLaO0BEgcd/QT6fStbBYRaGL3HcPvJih2/pbvf0cxa30J1XxOiu/H130+vbK3RmejESEkxGi8zfnGlcg9Sk/IKv3gSdTVjeY2VGsGU93zmNWlrzqIh4oPjL7ODeaFoIoWaejmh8Lg5IXm4eAg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ie6dxQve/Zt2WSnieDcVoP0CEePnw5LG9pR8riFSqzE=;
 b=uTogo49sz9yBRT2M4cbXwsAhRsyx5r3kJSy0pmR9CasE0Jb0YX0hQa0T1y7hD3f3jeVkZwscjfBh9hY7HWsTmLHxGUbhX4HLVt4Nw25rbBG9Xa8XE5TB06C2wQHVGnKlVIOWpvuif/zpaEbjFmFNaRDNMrDRDC7uUWqvxTDNCFvWQ1K7eNXQA4pptnv2EAZvKKdXEemCBjSDpV9vTe4SFxGtLkO6/LpOnZntNWDGnD22QyDb3v5ut42LScOJJJfZO4slkg66o++JflxUXzTJntstPxqckXPDmHGyEdw6vExYGhAtnnuRc982CXmp4y1ONLS0UBzGPP5YCK7HF7WmTQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <df2790eb-c4c0-9fdd-b0fe-f98810fe6741@suse.com>
Date: Wed, 24 Aug 2022 15:05:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
 <C7766EB8-B741-4443-99C3-EB14C1EA9804@arm.com>
 <348e6d5c-d846-3d8a-e26c-316ba6a98938@suse.com>
 <F1E1B306-5C4C-44C1-B4BE-E546B0B67C97@arm.com>
 <3a4cbf36-ff90-bf7d-b7e6-5d8a49880f2d@suse.com>
 <6692B919-268F-461C-B5CE-DF07914DAFCF@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6692B919-268F-461C-B5CE-DF07914DAFCF@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9cc3acda-9c4a-4e1f-a900-08da85d143bf
X-MS-TrafficTypeDiagnostic: AS8PR04MB8419:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2mpRNchtDf9ZMRyTLNGo4IU3SbG5RE1zTtKGq6ORRyDT7/rP7YppB6ZVl0AK5nB99QKq0zq9J++KIn5l/Ylvi6DrWpFDQT+jNEnJMr1QNkypdR3x+MlPfBSyP6v/LrIaKcraX30USQD28u3yTXwRaqDuxJzR3prwyBb+JgvVKNvbjgnNHUeKhz1f7ibTaTfgjgO5cHCShtlncn6V5PqanNtrUBBlDoEX5zTEjQJW/JM6JRbn8CYWKvxUON3/+Wo9kEZ/YeZ+tkKnhhmHKpf4Ih3K1aFHmEupiZAUGzGtHkfDix70LcV4MFKrXOssuqn96Q6eBrfGmc1l1S/v1EWMosT/R35ME+s3WYDQD5byj1M295N40QK77ZmZPD2y9DI8Ycnr+XOqcUn7btYrR808AZANvHZlloxbTk1M0zno1PfchIs1IBsQGfcT3WSxBfRdf9GJKwXbO5Sf49cX/uLu2VyCl2DsqTSUiQJx+ySAgkPfUD85IRehJzWPIJiDDdOXrNnAknyvoV3Nkb6hmRxHQbKo26/w/LV8cbJrQQr4v4woaewtz02//bEU+EO0Jp2qNi5SJ+mxvEIJoAZ61Iz/J8zyyU1H7bv3phZ4u0US23P6j3b8pfc+3BBdjb1OjCLjcbiOUWm5L6NaeDWOiOnJgFm57Sk7453OjQ0z1Ve/RgD1CJ4U3Yg8caO5ZzgdorSEE8Tf6ld6eo8xOgi3vjoUEDkb4wg/noEch6vCjOyGs0fYqVS9vU1ifDfIgy4DKaR7w+1QDrZg/zBiFYVSH4PI55toLlP4Gb98zVk3KjyN/ls=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(366004)(396003)(376002)(39860400002)(6486002)(38100700002)(66946007)(66476007)(316002)(8676002)(4326008)(66556008)(31686004)(2616005)(186003)(2906002)(36756003)(86362001)(53546011)(31696002)(83380400001)(478600001)(8936002)(6916009)(5660300002)(54906003)(41300700001)(6512007)(6506007)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cTlueFlBa0FNUnlWdzVSb0xIY2ZxUHZDQjRZUW5tSXV1TkVpY25obHgwUzZV?=
 =?utf-8?B?MlZNaGx2TWNrZm5sZzBmL3BBVTRrWTIwTG16QVJuZjRTdkVEVVJZcHZLQm9P?=
 =?utf-8?B?YnkzY1RiUHVObVdMTnZFSjdWTWdGQmpFZkFLNHA3VE9XZ2tOWDlVckZQaVJY?=
 =?utf-8?B?MVZ3NGNVWXlSdHBEZGxBUTYwWFVXemw4VzY3dHVXU1lOSWVreWRRaFU1bW5k?=
 =?utf-8?B?Q2llN1N6cDlsN1RtL09XRGV0cW5XcC9qVWN2dWxQRk50a2tZbEk5ZDJwZGRX?=
 =?utf-8?B?MkdFYnhyVFJVNU1VRURqTlNqa05PQkZyU2lIa0tUekIyclprTTdtenl4RGtn?=
 =?utf-8?B?RDR6aFhJdEtSbC90V2tDQmd1VGlQdlB3OGNGRUg2enJXb0Y5ZFQwT0pnU1VJ?=
 =?utf-8?B?S1hncVJRVnNlMERzYVVzSXE5SFhYZ25BbjEva2RabXpLUUdGRDNhR2Z1UXVR?=
 =?utf-8?B?T0w2aDNQaVRTU1lWUDZoY2FCY2ZkWEU0YVhuY1U4LzRJOGJpbEhPajVpVEIy?=
 =?utf-8?B?NE8vL1Y0ZDBDVXM5RjhSUnB2UlBta3BEa2FsWlVHUHNBbHc5WDlFQTR3RWZ1?=
 =?utf-8?B?c3BEZWlFaDRzR3dySVJTbzRXVC8yVjUwNGZ1RUJoM0NJWG8vS0R4R2tiVTlL?=
 =?utf-8?B?SFNDci9WWGhxUmdIZHJNTXRhWmM1RXdkUVlNTWZmdHFrUFJQQzdZQmNMTXYy?=
 =?utf-8?B?b0JCWTJiRzR6Q1duTENFY0o0OVA4VkpXbm1oM3lXZXZoTnA3QjZtRTlTLy9Z?=
 =?utf-8?B?cHVtclJKMG5SYTZ6dGhGTDRBMDJHTlcrVEN3WFB3TG1ZeXByVzErSDV6d2Nm?=
 =?utf-8?B?Q2RYWUVYNEVlU2p3aE9yVENLUlhRMkdWQnRjUEZlMzZTV1I3SEhYWUVMdHJz?=
 =?utf-8?B?U1AwRHhkOHlJN1JoRHZUSmdpNFh3S21mUFhIblltcjFkSHRKYjdZRWtLQmdY?=
 =?utf-8?B?VFB3NGRXcXNDWVBYcEZSczJUeHZsVWcwYy9EU0Ntc0dZNk5hajQ4dFJNRStM?=
 =?utf-8?B?dWdsNlFSRHpVdTdTS0hTQkk1WjVudkxzb01HSUtxdnlqd0NWenlscjlFYVhC?=
 =?utf-8?B?a2ZFWmJ3cDFzVW1teGhyQTJlNm5GVWw2cnE2eU53dXMwSFdmQTdNd3lWTTA2?=
 =?utf-8?B?LytNMjFmcnY0ZlR3bDVQR0J0aFVqYnpmMXNkWDFOVzRPQnRQbTlKZmdPdG5R?=
 =?utf-8?B?ZDdIRDduM1JOT2RiVWc0S2Qra0VDQy9xWW1zQXRxT1VnNWdhQkNTenZPLzBh?=
 =?utf-8?B?Z0VUaEJMbUpFM1E3MUdNMVF3RnFVVmRhd2ErU2V4c3BpNkhBbHVHQnovbGE3?=
 =?utf-8?B?SHBtL293M2lsUVJWNDgvWlBKYktqR3kvVlB2WE4rbWtZYUZ6Z01NY3pIMVky?=
 =?utf-8?B?d05hUWx2MDlHSVhUR1M3emxOUEVXdTk3WWZJOFdCd0M3WGFpdzJIVlVEczBw?=
 =?utf-8?B?c3QzcWFGY2dubFdoMFR4Nm5qWU13T05jK0tETGVjOEswa1R0RDFXb1hUNUZy?=
 =?utf-8?B?RWs4OURMUko1cFZrSEtDcFVvVmlSRGQySHlpSXVWWkVXdXpIQ08zYlNWQmtM?=
 =?utf-8?B?THFNUVlDRjdwcjQvdTBiU1hvRGZ2V2dWUlFWMmVkWmczcVA4c2ZnbjlFSmpJ?=
 =?utf-8?B?OG9NMFMvOEo2T3V3aG9Vd242UXBFSk44UWg1UDN6RGpxTGdaSndISHNvNzQr?=
 =?utf-8?B?clJrR1JlelliTGxJLzhnWERoNkRsK3QxUWMyK3ZxRmJFYlR2ZGpabzRwSE9D?=
 =?utf-8?B?TC9JT0g2UXI5NFN1WXdVZlRBb3JrRW5sd1N3cWF6ZStSc0FadUVhTjV1NlBX?=
 =?utf-8?B?a21TSERLa3YrOFNsd3dSTnBPdGJFOUZIdEY5eDdtRVM0RHdTOGRRUGhJc2Zv?=
 =?utf-8?B?dGsyMFlTRm4xVzFIdmFwYndvTDRHZkZCM2lsL2xsRU9IckN6Zk9zRmY3S3py?=
 =?utf-8?B?OUxoampPNVBpRmplczhmSkdlY3dURnFkZTA2TFlLVDRKOHhyYkhhVExUYTZt?=
 =?utf-8?B?UEVmY1B0ZHZSdGZZZXJabzdGRjB0elFtQkh4K2lTUnBsUHhEcGdqSWl5b1B1?=
 =?utf-8?B?UGhEZmkzTC83WENmcVQrYlNhM2hxajdFcHBqbmdtUFMrOUgxK3hRN0VMVURX?=
 =?utf-8?Q?BhSjhoNIoKE7xdnhNd/aZMeMQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cc3acda-9c4a-4e1f-a900-08da85d143bf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 13:05:05.9045
 (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: TQqleUj0DmR+9pcCjG6LWj3ovJx+r12QTu3P9V5u5haSCJZjRAkfq0bDkX+uLGOygFIJpQmna73U7GhE6T4a5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8419

On 24.08.2022 14:43, Bertrand Marquis wrote:
> 
> 
>> On 24 Aug 2022, at 08:37, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 23.08.2022 17:56, Bertrand Marquis wrote:
>>>> On 23 Aug 2022, at 16:45, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 23.08.2022 17:09, Bertrand Marquis wrote:
>>>>> How about moving those to a xen-acpi.h header and include that one in xen.h ?
>>>>
>>>> In principle okay, if there wasn't the need for HVM_MAX_VCPUS. With a
>>>> suitable comment it may be okay to live there. I'd be curious what
>>>> others think.
>>>
>>> The problem with this already exists in the current status as this is defined in
>>> hvm_info_table.h which is never included from arch-x86/xen.h
>>
>> You're referring to it being necessary to explicitly include both headers.
>> That's not what I'm referring to, though: The tool imo shouldn't include
>> hvm_info_table.h, and hence the HVM_MAX_VCPUS would need to move as well.
> 
> Any suggestion where ?

Not really, no. That's why I said this is the one part where improvement
is more difficult. Otoh hvm_info_table.h is self-contained right now and
doesn't even produce potentially misleading struct layout for the one
struct it declares. So perhaps not too bad if left alone.

> The more I dig, the more I find that everything is including xen.h and going round.
> Arch-x86_*.h headers are including arch-x86/xen.h including xen.h

Indeed, all quite odd.

>>> Including hvm_info_table.h from xen-acpi.h could create include path issues.
>>
>> Include path issues? Both are / would be public headers. But as said, I
>> don't think any new header introduced for the purpose at hand should
>> include _any_ other public header.
> 
> For now I can create a arch-x86/xen-acpi.h and move there the XEN_ACPI_*
> definitions and include that one instead in mk_dsdt.h.
> The change will be small and should not have much impact.
> 
> Modifying HVM_MAX_VCPUS is not per say needed and I think would not be
> enough to make the situation cleaner.
> 
>>
>>> But as those are used nowhere apart from mk_dsdt, I would probably skip the
>>> include of xen-acpi.h from xen.h.
>>
>> Hmm, yes, that's reasonable I guess as far as XEN_ACPI_* go. Of course
>> HVM_MAX_VCPUS is a different matter.
>>
>>> Any chance that those XEN_ACPI_ are needed by some external tools that
>>> could get broken by this modification ?
>>
>> Requiring them to include another header is, I think, a tolerable form
>> of breakage, the more that such breakage isn't very likely anyway.
> 
> Then if you are ok with it, I will just submit the xen-acpi.h creation patch and fix
> mk_dsdt compilation for x86 on arm.
> 
> The rest would require more thinking and I do not think it should be done now.
> 
> Can you confirm you agree ?

Almost - I don't like xen-acpi.h as the name of the new header. Just
arch-x86/acpi.h would likely be too generic, so I'd like to suggest
arch-x86/hvm-acpi.h or arch-x86/guest-acpi.h. I have a slight
preference to the latter, because "hvm" also covers "pvh", yet PVH
Dom0 is dealt with entirely differently ACPI-wise. Plus "guest"
isn't misleading as to PV, because PV guests don't have ACPI anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:06:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:06:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392582.631027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQq5u-0002dA-7P; Wed, 24 Aug 2022 13:06:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392582.631027; Wed, 24 Aug 2022 13:06:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQq5u-0002d3-3y; Wed, 24 Aug 2022 13:06:54 +0000
Received: by outflank-mailman (input) for mailman id 392582;
 Wed, 24 Aug 2022 13:06:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQq5s-0002cr-V1
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:06:53 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140084.outbound.protection.outlook.com [40.107.14.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95ff2e65-23ad-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:06:37 +0200 (CEST)
Received: from AS8PR04CA0004.eurprd04.prod.outlook.com (2603:10a6:20b:310::9)
 by AS8PR08MB7337.eurprd08.prod.outlook.com (2603:10a6:20b:444::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 13:06:50 +0000
Received: from AM7EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:310:cafe::9a) by AS8PR04CA0004.outlook.office365.com
 (2603:10a6:20b:310::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Wed, 24 Aug 2022 13:06:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT049.mail.protection.outlook.com (100.127.140.234) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.15 via Frontend Transport; Wed, 24 Aug 2022 13:06:49 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Wed, 24 Aug 2022 13:06:49 +0000
Received: from 79e433202d9e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E558ED0E-4ABB-4782-A2D8-E57E247F3D96.1; 
 Wed, 24 Aug 2022 13:06:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 79e433202d9e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 13:06:42 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB3PR08MB8988.eurprd08.prod.outlook.com (2603:10a6:10:429::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Wed, 24 Aug
 2022 13:06:41 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 13:06:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95ff2e65-23ad-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=FaTtV9kBnUAAF5p95ZQY8m+Jy78PP6VfjSG+yFfy2XyYghmSaCP7zhoL5fpO/igk8vqA9kiyE/XHLpALRl8r3npOQhumSVoRR0akQS1wkWVl7L/EwlPADo7MVRY9t7vuf82RYQQ9SrdOPPaLNrGhthXJxgoU3v+GcUtR6bOA9+1OcvQhkq0LAf09coeJBtc0PQdBu3EF6bJWtH6RRAjT/KcrEzhM1OfV1Zy/8diBZVKQhtupQCvGM51TeFcOc7VeBJQqE6UoDVk/wpCRi2MuceciFXxAYMUxxn0bsLPai6lRPoeBvGDCaGCcQ4t5p6H91P1VYPtAZbFvWFSZedIWcw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3raGd76o1NP2IcUITPH2CDyFYfz8nI6wAZ6M1ha4QmQ=;
 b=ONp/cc6oH/ezoem01DnD5yzh8ETnLDCu1BJT2x93T4l+Ku8R8A7oTrrw/TlfgFNrVPe29UFzpxO1OFSqjtQGU8rBIvtoLCBj+SM4v7HCvB58OcFS65frLeqypRQVm6wYnkuut1CoKzChSVRCsnXFC2R54LSXlulUYFpw5Q+sVB2bwspqunZnVdEfa1ZeoDAELanOeW0Pj18P5HBUXLjkwQ5TWza+TfUkr2uWlfw1+R2gQwxuGXjOQIMw0qGqZ3Z1E4rjBQGL3v+gD+r4A6qka2dkbvfPmNPt0JRSOS896KTdoPbZdODqyW1f0yB1G6txWN7Bb71gU7IBtPyIgXA1AA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3raGd76o1NP2IcUITPH2CDyFYfz8nI6wAZ6M1ha4QmQ=;
 b=K1WhTBBAF3AN7q9zS5zWetKYNL8ja31LHHagWjVDFfyRC2GTIarHX89L8lyb3LJHTOsjuxAE0UR/lJKOZcYEM3cZcNAXM6nbb6GuN0Qr1VGRjWkAqD4hlezBKjrJjWUZ/k9vVhUNU+mVZIqHvB1M6zRprc+BJ8xAVCpb2neviKc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 509f3fca146c4551
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MfOXdkrCnR4YGWyZqPVkDFOw/vHMNHe5VGm88P4Fp4LtJ+36DpYDHx11DlFN0Tq/nYSIGDdZMXmUp+z9tt8Ua8Cm6s7euiWBmkROaDaBLEgXe1l7OEHggFjQUC0LlXcFIB7xlOCIlte5Q37Q96R9C3L3+medgvoxR0tlkyUvhDfLDS72ud1wC6wKs/h69fu1U4/1nafcizntYefIjwCIYsjooHiOHByYP8ztJQFOFdrB738L0m80U2zV2bGPWuf9AXvCfZIMimA9lQi7hYWeuMWlmRQgfefPYavk2dOLiSe6KYgshD0RvDwqySO3FqAvYCbORKPdjDR+fNwXYBF7fA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3raGd76o1NP2IcUITPH2CDyFYfz8nI6wAZ6M1ha4QmQ=;
 b=esKCUktAfmpaH0Eu6CyPQyJ8E6SsVvJW69BkJo4wUN+LWWq24Q/vjLLb43oLSjA4lTcVHH5igyCc6gtprlG2MR1Ym4D4WTLolBROiJHAVDWaM2ZtYIEjuT5dSsXiDfaHv07yLTw/kO5hC9nR5DEg9TJHZwuzoa9uiMlm3krlxXnmjcUWKHQXdGMXbgVPMbPo65S50mYOSS1YTyQmiSx0lZqEgqq2b0kmOe/jQ/ZSoanH+ZOhameoV+J92nUbhZXRLWdTYYeBw0ycsQrpUII8PFJDzvhyeL+jqAbV6YQQm1P/E2Fr3SFdIAbomACJVhbdIYMUIVLjqdPOm8avrMKdJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3raGd76o1NP2IcUITPH2CDyFYfz8nI6wAZ6M1ha4QmQ=;
 b=K1WhTBBAF3AN7q9zS5zWetKYNL8ja31LHHagWjVDFfyRC2GTIarHX89L8lyb3LJHTOsjuxAE0UR/lJKOZcYEM3cZcNAXM6nbb6GuN0Qr1VGRjWkAqD4hlezBKjrJjWUZ/k9vVhUNU+mVZIqHvB1M6zRprc+BJ8xAVCpb2neviKc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Topic: [RFC PATCH] libacpi: Fix cross building x86 on arm
Thread-Index:
 AQHYttqU3r7Sk/IKHkKroerrTRS8F628a1KAgAARJACAABAJgIAAAokAgAAIAACAAAnuAIAAA0iAgAEG1gCAAFVqgIAABgyAgAAAcwA=
Date: Wed, 24 Aug 2022 13:06:41 +0000
Message-ID: <5680F534-E62B-4F35-A13E-8FC73D3A98FC@arm.com>
References:
 <c3d431217010f669de809a76c2f1c15a0313ae53.1661246753.git.bertrand.marquis@arm.com>
 <844e0164-96b1-8a56-a9c0-0f432b9e648a@suse.com>
 <B2DC2AC4-E59C-4C96-8993-D4812D73E799@arm.com>
 <74994bdd-8c70-7f5c-2146-157a36c843a0@suse.com>
 <87AD61AE-5C50-4F04-AF60-300C6A113A85@arm.com>
 <C7766EB8-B741-4443-99C3-EB14C1EA9804@arm.com>
 <348e6d5c-d846-3d8a-e26c-316ba6a98938@suse.com>
 <F1E1B306-5C4C-44C1-B4BE-E546B0B67C97@arm.com>
 <3a4cbf36-ff90-bf7d-b7e6-5d8a49880f2d@suse.com>
 <6692B919-268F-461C-B5CE-DF07914DAFCF@arm.com>
 <df2790eb-c4c0-9fdd-b0fe-f98810fe6741@suse.com>
In-Reply-To: <df2790eb-c4c0-9fdd-b0fe-f98810fe6741@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 006c615b-81ed-4561-4f8a-08da85d181ba
x-ms-traffictypediagnostic:
	DB3PR08MB8988:EE_|AM7EUR03FT049:EE_|AS8PR08MB7337:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 xZJBnj6Nut2Cyir/jM9Ccc8bT9+H23ht6+hxtgjVZV+QRNiqrBWECOUaUVI+ibGtGKsmsuZNfbcwX+D4pZkrf0AJvN6/zH5FLhtBJw7tkPLinwdqW2IilT26y7dcIEz0RPonRauaQ0H1HIzBhG0nk/0uwtJa3HioLk1mrXqfH2xbNwjV4Fsc3/YPemjcTQAwOBbPxkjocscRRSSizPBfsHDHyJoGt07BOzKFx5Ef+DzMkjY9nEfK2IAR/p51qr0LTUQT/yR7TE+A75S4Qfgxg6EWPgGyiSZoNxrhd48fJNccYKlTxVVYh+GkuI5ggRJPpTryYPrSX3MuQBdLazvu1HBKDzbFj5urk0Fr4wyJTlthuuFB3eVpmxDs+o2k4ZSyJm7u/jBZDgIBu3KwTatGPCmzLEdCMof9Nbk0HqKzKpDJfYIYnQLLmtib0Urjc+YwnAV6TYE7eCSZMt3qHoyrT9XxD0h2RQHPOAfjvYucIjIA8+44EbJd3gehSI5+CDJSwf8EZr9GsFag/KGnN2FWWT0meY9Qf7T/xHbJ9ELvPJgu7WEq+3AttnS1jVTgOoxjdFX64bCUiict7CnrrUMlzNiFhPcThCQkpmztK5cDS5RPz5pZB8Va29pRmy30Ixgw56DszaLMR4LCEMeYca8VORed6fY/gQWLDexgvzKGGPKFN8d2kIHScaAlFVI8wD6N1qqEa873KIi/bqeNl4oS9xlTBBOaRhJokqTV4CivOaE2tuB2kR5qLiX6gYIY/xIVo/rH21coxj8/sbdBvz+gWVN7Hkmc2FfpxPY6JQXm8E0=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(136003)(396003)(376002)(346002)(39860400002)(6506007)(36756003)(6512007)(53546011)(5660300002)(26005)(8936002)(478600001)(6486002)(33656002)(86362001)(186003)(2616005)(71200400001)(41300700001)(2906002)(83380400001)(54906003)(38070700005)(316002)(66946007)(8676002)(4326008)(66446008)(64756008)(66476007)(66556008)(76116006)(6916009)(122000001)(38100700002)(91956017)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <14BC15E3965B8E42BF8A884546B15E6C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8988
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fab7506c-042d-4f48-75c7-08da85d17cae
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3fT1e4893tD0YZviTDKRtCpOVnmARdC831Wwz5+lox9tPFwkwtOw2iQFusOUVwHdfvN1nmLFARy+e4NIy9LjcUVEKBtvAd2WiAUO59nyCsg1bI7ojrwrWRRC8Rw7EQfd9R5WU0aiNRWlKM9MbuOIRoU5yCYKCJR7QSA/Efj+k/UGPpTYUv+rurgm7nRb02o3wmwy9NeddB7mu+phqk8r4ZDfQL8zHTrhYRqPUr/b4eujKbZzLUP55bpoGJX+AXNXbYK1RPEdnMsbCmB+6DjtuN/DGRTqwn6FX8klcAHmWh2z6W7apE6cre+OX8DjLL7NXtcZiOxRKQDqJtOFuz/gINP2Eyy2ZgSAoXuI5bUM222Vvz6uWdY/bCT4TPJJtDMqWi/bysQ/EnLfJPRtOjldZEC3rykMN3XEeVRCruOaAYRU7Mofgj1GhsUyMPpf28zkHrxyJylvi/oCRtXEcLJbs/CjXe7SprGWOeqlU2CGUqiNEa3ef/ENSkR6L/n66vmd3wGaxytpvKyd9G+LmoTujRGlmvqQvE6xKwcF2JrqdBIxR6vLAKLMhv/dozmeO97obS6zwPcViNpmEMBOzKQebcq3cbuuQW9bS2reXm6eIZ46YgvnAlOIIsPa4hXTkxyLjJPI09nGMog9rllZgjss2NJz+uz7cRhBJ8e5BhklKR3jpfnp+IyVy6NUJ5qr83glEfqyfhY970he8iPdFL6E91WfvsD5qKLJwmaCLaMwe/9gEy7nYi/82cfn7yEovEEzFXU4X3qCSnzJCX7wWiHvgg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(396003)(376002)(40470700004)(46966006)(36840700001)(40480700001)(356005)(81166007)(6486002)(70586007)(8676002)(70206006)(33656002)(316002)(4326008)(82740400003)(47076005)(2616005)(336012)(186003)(2906002)(36756003)(8936002)(86362001)(53546011)(83380400001)(40460700003)(478600001)(82310400005)(36860700001)(6862004)(5660300002)(41300700001)(26005)(6512007)(6506007)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 13:06:49.6851
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 006c615b-81ed-4561-4f8a-08da85d181ba
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7337

Hi Jan,

> On 24 Aug 2022, at 14:05, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 24.08.2022 14:43, Bertrand Marquis wrote:
>>=20
>>=20
>>> On 24 Aug 2022, at 08:37, Jan Beulich <jbeulich@suse.com> wrote:
>>>=20
>>> On 23.08.2022 17:56, Bertrand Marquis wrote:
>>>>> On 23 Aug 2022, at 16:45, Jan Beulich <jbeulich@suse.com> wrote:
>>>>> On 23.08.2022 17:09, Bertrand Marquis wrote:
>>>>>> How about moving those to a xen-acpi.h header and include that one i=
n xen.h ?
>>>>>=20
>>>>> In principle okay, if there wasn't the need for HVM_MAX_VCPUS. With a
>>>>> suitable comment it may be okay to live there. I'd be curious what
>>>>> others think.
>>>>=20
>>>> The problem with this already exists in the current status as this is =
defined in
>>>> hvm_info_table.h which is never included from arch-x86/xen.h
>>>=20
>>> You're referring to it being necessary to explicitly include both heade=
rs.
>>> That's not what I'm referring to, though: The tool imo shouldn't includ=
e
>>> hvm_info_table.h, and hence the HVM_MAX_VCPUS would need to move as wel=
l.
>>=20
>> Any suggestion where ?
>=20
> Not really, no. That's why I said this is the one part where improvement
> is more difficult. Otoh hvm_info_table.h is self-contained right now and
> doesn't even produce potentially misleading struct layout for the one
> struct it declares. So perhaps not too bad if left alone.
>=20
>> The more I dig, the more I find that everything is including xen.h and g=
oing round.
>> Arch-x86_*.h headers are including arch-x86/xen.h including xen.h
>=20
> Indeed, all quite odd.
>=20
>>>> Including hvm_info_table.h from xen-acpi.h could create include path i=
ssues.
>>>=20
>>> Include path issues? Both are / would be public headers. But as said, I
>>> don't think any new header introduced for the purpose at hand should
>>> include _any_ other public header.
>>=20
>> For now I can create a arch-x86/xen-acpi.h and move there the XEN_ACPI_*
>> definitions and include that one instead in mk_dsdt.h.
>> The change will be small and should not have much impact.
>>=20
>> Modifying HVM_MAX_VCPUS is not per say needed and I think would not be
>> enough to make the situation cleaner.
>>=20
>>>=20
>>>> But as those are used nowhere apart from mk_dsdt, I would probably ski=
p the
>>>> include of xen-acpi.h from xen.h.
>>>=20
>>> Hmm, yes, that's reasonable I guess as far as XEN_ACPI_* go. Of course
>>> HVM_MAX_VCPUS is a different matter.
>>>=20
>>>> Any chance that those XEN_ACPI_ are needed by some external tools that
>>>> could get broken by this modification ?
>>>=20
>>> Requiring them to include another header is, I think, a tolerable form
>>> of breakage, the more that such breakage isn't very likely anyway.
>>=20
>> Then if you are ok with it, I will just submit the xen-acpi.h creation p=
atch and fix
>> mk_dsdt compilation for x86 on arm.
>>=20
>> The rest would require more thinking and I do not think it should be don=
e now.
>>=20
>> Can you confirm you agree ?
>=20
> Almost - I don't like xen-acpi.h as the name of the new header. Just
> arch-x86/acpi.h would likely be too generic, so I'd like to suggest
> arch-x86/hvm-acpi.h or arch-x86/guest-acpi.h. I have a slight
> preference to the latter, because "hvm" also covers "pvh", yet PVH
> Dom0 is dealt with entirely differently ACPI-wise. Plus "guest"
> isn't misleading as to PV, because PV guests don't have ACPI anyway.

Guest-acpi.h it will be.

Bertrand

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:07:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:07:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392586.631037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQq6V-0003B3-Jq; Wed, 24 Aug 2022 13:07:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392586.631037; Wed, 24 Aug 2022 13:07:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQq6V-0003Aw-H1; Wed, 24 Aug 2022 13:07:31 +0000
Received: by outflank-mailman (input) for mailman id 392586;
 Wed, 24 Aug 2022 13:07:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQq6U-000365-2U
 for xen-devel@lists.xen.org; Wed, 24 Aug 2022 13:07:30 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4e4d7df-23ad-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:07:29 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 029B21FE23;
 Wed, 24 Aug 2022 13:07:28 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 71E0313780;
 Wed, 24 Aug 2022 13:07:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HKoxGY8iBmOGYgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 13:07:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4e4d7df-23ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661346448; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=TTOuJVSaKOoDF6k/vUv6tDOWmHgpNVF5tDHHDdmp9uo=;
	b=arj6lEz+4pcIiQaBHyPthrbVDU75AI9wOICIvIJcIdZcph6NYOTEhxSQ5gOSAlslnfvTsR
	qQpfzdvigFjbBn6dSaCVOsD9mrAvmT99oMVpR409XpFb/MRiu2E73EdAOcDzdjfSfaUarw
	wmqkGzFOEh7dxGrjWcThhDdQOvT7F1c=
Message-ID: <edc33ca4-135e-111a-e198-38b9bae53005@suse.com>
Date: Wed, 24 Aug 2022 15:07:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
 "Stratos-dev@op-lists.linaro.org" <Stratos-dev@op-lists.linaro.org>,
 "mathieu.poirier@linaro.com" <mathieu.poirier@linaro.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
 "vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
 "olekstysh@gmail.com" <olekstysh@gmail.com>
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com> <877d2xj23o.fsf@linaro.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
In-Reply-To: <877d2xj23o.fsf@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------MpJZX2ld0j0gIOVsGyyHovhq"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------MpJZX2ld0j0gIOVsGyyHovhq
Content-Type: multipart/mixed; boundary="------------efGMsH72wo5zNuNTvk5XkPzr";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
 "Stratos-dev@op-lists.linaro.org" <Stratos-dev@op-lists.linaro.org>,
 "mathieu.poirier@linaro.com" <mathieu.poirier@linaro.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
 "vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
 "olekstysh@gmail.com" <olekstysh@gmail.com>
Message-ID: <edc33ca4-135e-111a-e198-38b9bae53005@suse.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com> <877d2xj23o.fsf@linaro.org>
In-Reply-To: <877d2xj23o.fsf@linaro.org>

--------------efGMsH72wo5zNuNTvk5XkPzr
Content-Type: multipart/mixed; boundary="------------GktwBuYoZ7oHkRXKPGX0zmPh"

--------------GktwBuYoZ7oHkRXKPGX0zmPh
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTM6MjIsIEFsZXggQmVubsOpZSB3cm90ZToNCj4gDQo+IEFuZHJldyBD
b29wZXIgPEFuZHJldy5Db29wZXIzQGNpdHJpeC5jb20+IHdyaXRlczoNCj4gDQo+PiBPbiAy
NC8wOC8yMDIyIDEwOjE5LCBWaXJlc2ggS3VtYXIgd3JvdGU6DQo+Pj4gT24gMjQtMDMtMjIs
IDA2OjEyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+PiBGb3IgYSByYXRoZXIgbG9uZyB0
aW1lIHdlIHdlcmUgdXNpbmcgIm5vcm1hbCIgdXNlciBwYWdlcyBmb3IgdGhpcyBwdXJwb3Nl
LA0KPj4+PiB3aGljaCB3ZXJlIGp1c3QgbG9ja2VkIGludG8gbWVtb3J5IGZvciBkb2luZyB0
aGUgaHlwZXJjYWxsLg0KPj4+Pg0KPj4+PiBVbmZvcnR1bmF0ZWx5IHRoZXJlIGhhdmUgYmVl
biB2ZXJ5IHJhcmUgcHJvYmxlbXMgd2l0aCB0aGF0IGFwcHJvYWNoLCBhcw0KPj4+PiB0aGUg
TGludXgga2VybmVsIGNhbiBzZXQgYSB1c2VyIHBhZ2UgcmVsYXRlZCBQVEUgdG8gaW52YWxp
ZCBmb3Igc2hvcnQNCj4+Pj4gcGVyaW9kcyBvZiB0aW1lLCB3aGljaCBsZWQgdG8gRUZBVUxU
IGluIHRoZSBoeXBlcnZpc29yIHdoZW4gdHJ5aW5nIHRvDQo+Pj4+IGFjY2VzcyB0aGUgaHlw
ZXJjYWxsIGRhdGEuDQo+Pj4+DQo+Pj4+IEluIExpbnV4IHRoaXMgY2FuIGF2b2lkZWQgb25s
eSBieSB1c2luZyBrZXJuZWwgbWVtb3J5LCB3aGljaCBpcyB0aGUNCj4+Pj4gcmVhc29uIHdo
eSB0aGUgaHlwZXJjYWxsIGJ1ZmZlcnMgYXJlIGFsbG9jYXRlZCBhbmQgbW1hcCgpLWVkIHRo
cm91Z2ggdGhlDQo+Pj4+IHByaXZjbWQgZHJpdmVyLg0KPj4+IEhpIEp1ZXJnZW4sDQo+Pj4N
Cj4+PiBJIHVuZGVyc3RhbmQgd2h5IHdlIG1vdmVkIGZyb20gdXNlciBwYWdlcyB0byBrZXJu
ZWwgcGFnZXMsIGJ1dCBJIGRvbid0DQo+Pj4gZnVsbHkgdW5kZXJzdGFuZCB3aHkgd2UgbmVl
ZCB0byBtYWtlIHR3byBzZXBhcmF0ZSBjYWxscyB0byBtYXAgdGhlDQo+Pj4gZ3Vlc3QgbWVt
b3J5LCBpLmUuIG1tYXAoKSBmb2xsb3dlZCBieSBpb2N0bChJT0NUTF9QUklWQ01EX01NQVBC
QVRDSCkuDQo+Pj4NCj4+PiBXaHkgYXJlbid0IHdlIGRvaW5nIGFsbCBvZiBpdCBmcm9tIG1t
YXAoKSBpdHNlbGYgPyBJIGhhY2tlZCBpdCB1cCB0bw0KPj4+IGNoZWNrIG9uIGl0IGFuZCBp
dCB3b3JrcyBmaW5lIGlmIHdlIGRvIGl0IGFsbCBmcm9tIG1tYXAoKSBpdHNlbGYuDQo+IA0K
PiBBcyBJIHVuZGVyc3RhbmQgaXQgdGhlIE1NQVBCQVRDSCBpb2N0bCBpcyBiZWluZyB0cmVh
dGVkIGxpa2UgZXZlcnkgb3RoZXINCj4gaHlwZXJjYWxsIHByb3h5IHRocm91Z2ggdGhlIGlv
Y3RsIGludGVyZmFjZS4gV2hpY2ggbWFrZXMgc2Vuc2UgZnJvbSB0aGUNCj4gcG9pbnQgb2Yg
dmlldyBvZiBoYXZpbmcgYSBjb25zaXN0ZW50IGludGVyZmFjZSB0byB0aGUgaHlwZXJ2aXNv
ciBidXQgbm90DQo+IGZyb20gcG9pbnQgb2YgdmlldyBvZiBwcm92aWRpbmcgYSBjb25zaXN0
ZW50IHVzZXJzcGFjZSBpbnRlcmZhY2UgZm9yDQo+IG1hcHBpbmcgbWVtb3J5IHdoaWNoIGRv
ZXNuJ3QgY2FyZSBhYm91dCB0aGUgaHlwZXJ2aXNvciBkZXRhaWxzLg0KPiANCj4gVGhlIHBy
aXZjbWRfbW1hcGJhdGNoX3YyIGludGVyZmFjZSBpcyBzbGlnaHRseSByaWNoZXIgdGhhbiB3
aGF0IHlvdQ0KPiBjb3VsZCBleHBvc2UgdmlhIG1tYXAoKSBiZWNhdXNlIGl0IGFsbG93cyB0
aGUgaGFuZGxpbmcgb2YgcGFydGlhbA0KPiBtYXBwaW5ncyB3aXRoIHdoYXQgSSBwcmVzdW1l
IGlzIGEgcGVyLXBhZ2UgKmVyciBhcnJheS4gSWYgeW91IGlzc3VlZCB0aGUNCj4gaHlwZXJj
YWxsIGRpcmVjdGx5IGZyb20gdGhlIG1tYXAoKSBhbmQgb25lIG9mIHRoZSBwYWdlcyB3YXNu
J3QgbWFwcGVkIGJ5DQo+IHRoZSBoeXBlcnZpc29yIHlvdSB3b3VsZCBoYXZlIHRvIHVud2lu
ZCBldmVyeXRoaW5nIGJlZm9yZSByZXR1cm5pbmcNCj4gRUZBVUxUIHRvIHRoZSB1c2VyLg0K
PiANCj4+PiBBcmVuJ3Qgd2UgYWJ1c2luZyB0aGUgTGludXggdXNlcnNwYWNlIEFCSSBoZXJl
ID8gQXMgc3RhbmRhcmQgdXNlcnNwYWNlDQo+Pj4gY29kZSB3b3VsZCBleHBlY3QganVzdCBt
bWFwKCkgdG8gYmUgZW5vdWdoIHRvIG1hcCB0aGUgbWVtb3J5LiBZZXMsIHRoZQ0KPj4+IGN1
cnJlbnQgdXNlciwgWGVuIGl0c2VsZiwgaXMgYWRhcHRlZCB0byBtYWtlIHR3byBjYWxscywg
YnV0IGl0IGJyZWFrcw0KPj4+IGFzIHNvb24gYXMgd2Ugd2FudCB0byB1c2Ugc29tZXRoaW5n
IHRoYXQgcmVsaWVzIG9uIExpbnV4IHVzZXJzcGFjZQ0KPj4+IEFCSS4NCj4+Pg0KPj4+IEZv
ciBpbnN0YW5jZSwgaW4gb3VyIGNhc2UsIHdoZXJlIHdlIGFyZSBsb29raW5nIHRvIGNyZWF0
ZQ0KPj4+IGh5cGVydmlzb3ItYWdub3N0aWMgdmlydGlvIGJhY2tlbmRzLCB0aGUgcnVzdC12
bW0gbGlicmFyeSBbMV0gaXNzdWVzDQo+Pj4gbW1hcCgpIG9ubHkgYW5kIGV4cGVjdHMgaXQg
dG8gd29yay4gSXQgZG9lc24ndCBrbm93IGl0IGlzIHJ1bm5pbmcgb24gYQ0KPj4+IFhlbiBz
eXN0ZW0sIGFuZCBpdCBzaG91bGRuJ3Qga25vdyB0aGF0IGFzIHdlbGwuDQo+Pg0KPj4gVXNl
IC9kZXYveGVuL2h5cGVyY2FsbCB3aGljaCBoYXMgYSBzYW5lIEFCSSBmb3IgZ2V0dGluZyAi
c2FmZSIgbWVtb3J5Lg0KPj4gcHJpdmNtZCBpcyB2ZXJ5IG11Y2ggbm90IHNhbmUuDQo+Pg0K
Pj4gSW4gcHJhY3RpY2UgeW91J2xsIG5lZWQgdG8gdXNlIGJvdGguwqAgL2Rldi94ZW4vaHlw
ZXJjYWxsIGZvciBnZXR0aW5nDQo+PiAic2FmZSIgbWVtb3J5LCBhbmQgL2Rldi94ZW4vcHJp
dmNtZCBmb3IgaXNzdWluZyBoeXBlcmNhbGxzIGZvciBub3cuDQo+IA0KPiBJJ20gdW5zdXJl
IHdoYXQgaXMgbWVhbnQgYnkgc2FmZSBtZW1vcnkgaGVyZS4gcHJpdmNtZF9idWZfbW1hcCgp
IGxvb2tzDQo+IGxpa2UgaXQganVzdCBhbGxvY2F0ZXMgYSBidW5jaCBvZiBHRlBfS0VSTkVM
IHBhZ2VzIHJhdGhlciB0aGFuDQo+IGludGVyYWN0aW5nIHdpdGggdGhlIGh5cGVydmlzb3Ig
ZGlyZWN0bHkuIEFyZSB0aGVzZSB0aGUgc2FtZSBwYWdlcyB0aGF0DQo+IGdldCB1c2VkIHdo
ZW4geW91IGV2ZW50dWFsbHkgY2FsbCBwcml2Y21kX2lvY3RsX21tYXBfYmF0Y2goKT8NCg0K
cHJpdmNtZF9idWZfbW1hcCgpIGlzIGFsbG9jYXRpbmcga2VybmVsIHBhZ2VzIHdoaWNoIGFy
ZSB1c2VkIGZvciBkYXRhIGJlaW5nDQphY2Nlc3NlZCBieSB0aGUgaHlwZXJ2aXNvciB3aGVu
IGRvaW5nIHRoZSBoeXBlcmNhbGwgbGF0ZXIuIFRoaXMgaXMgYSBnZW5lcmljDQppbnRlcmZh
Y2UgYmVpbmcgdXNlZCBmb3IgYWxsIGh5cGVyY2FsbHMsIG5vdCBvbmx5IGZvcg0KcHJpdmNt
ZF9pb2N0bF9tbWFwX2JhdGNoKCkuDQoNCj4gVGhlIGZhY3QgdGhhdCAvZGV2L3hlbi9oeXBl
cmNhbGwgaXMgc3BlY2lmaWVkIGJ5IHhlbl9wcml2Y21kYnVmX2RldiBpcyBhDQo+IGxpdHRs
ZSBjb25mdXNpbmcgVEJILg0KPiANCj4gQW55d2F5IHRoZSBnb2FsIGhlcmUgaXMgdG8gcHJv
dmlkZSBhIG5vbi14ZW4gYXdhcmUgdXNlcnNwYWNlIHdpdGgNCj4gc3RhbmRhcmQgdXNlcnNw
YWNlIEFQSSB0byBhY2Nlc3MgdGhlIGd1ZXN0cyBtZW1vcnkuIFBlcmhhcHMgbWVzc2luZw0K
DQpUaGlzIGlzIHdoYXQgdGhlIFhlbiByZWxhdGVkIGxpYnJhcmllcyBhcmUgbWVhbnQgZm9y
LiBZb3VyIGRlY2lzaW9uIHRvDQppZ25vcmUgdGhvc2UgaXMgZmlyaW5nIGJhY2sgbm93Lg0K
DQo+IGFyb3VuZCB3aXRoIHRoZSBzZW1hbnRpY3Mgb2YgdGhlIC9kZXYveGVuL1toeXBlcmNh
bGx8cHJpdmNtZF0gZGV2aWNlcw0KPiBub2RlcyBpcyB0b28gY29uZnVzaW5nLg0KPiANCj4g
TWF5YmUgd2UgY291bGQgaW5zdGVhZDoNCj4gDQo+ICAgMS4gSGF2ZSB0aGUgWGVuIGF3YXJl
IFZNTSBhc2sgdG8gbWFrZSB0aGUgZ3Vlc3RzIG1lbW9yeSB2aXNpYmxlIHRvIHRoZQ0KPiAg
ICAgIGhvc3Qga2VybmVscyBhZGRyZXNzIHNwYWNlLg0KDQpVcmdoLiBUaGlzIHdvdWxkIGJl
IGEgbWFqb3IgYnJlYWNoIG9mIHRoZSBYZW4gc2VjdXJpdHkgY29uY2VwdC4NCg0KPiAgIDIu
IFdoZW4gdGhpcyBpcyBkb25lIGV4cGxpY2l0bHkgY3JlYXRlIGEgZGV2aWNlIG5vZGUgdG8g
cmVwcmVzZW50IGl0ICgvZGV2L3hlbi9kb20tJWQtbWVtPykNCj4gICAzLiBQYXNzIHRoaXMg
bmV3IGRldmljZSB0byB0aGUgbm9uLVhlbiBhd2FyZSB1c2Vyc3BhY2Ugd2hpY2ggdXNlcyB0
aGUNCj4gICAgICBzdGFuZGFyZCBtbWFwKCkgY2FsbCB0byBtYWtlIHRoZSBrZXJuZWwgcGFn
ZXMgdmlzaWJsZSB0byB1c2Vyc3BhY2UNCj4gDQo+IERvZXMgdGhhdCBtYWtlIHNlbnNlPw0K
DQpNYXliZSBmcm9tIHlvdXIgcG9pbnQgb2YgdmlldywgYnV0IG5vdCBmcm9tIHRoZSBYZW4g
YXJjaGl0ZWN0dXJhbCBwb2ludA0Kb2YgdmlldyBJTUhPLiBZb3UgYXJlIHJlbW92aW5nIGJh
c2ljYWxseSB0aGUgbWFpbiBzZWN1cml0eSBhZHZhbnRhZ2VzIG9mDQpYZW4gYnkgZ2VuZXJh
dGluZyBhIGtlcm5lbCBpbnRlcmZhY2UgZm9yIG1hcHBpbmcgYXJiaXRyYXJ5IGd1ZXN0IG1l
bW9yeQ0KZWFzaWx5Lg0KDQoNCkp1ZXJnZW4NCg==
--------------GktwBuYoZ7oHkRXKPGX0zmPh
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------GktwBuYoZ7oHkRXKPGX0zmPh--

--------------efGMsH72wo5zNuNTvk5XkPzr--

--------------MpJZX2ld0j0gIOVsGyyHovhq
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMGIo4FAwAAAAAACgkQsN6d1ii/Ey/O
OQf/fDOdg5RkrXQaZUkI3opgwnM54hLT6R566jqb2mA5FoZaoFWkZKER2DIO5PkFJaYgQbvs3kLz
B2Ar1eF4P0x/i5Mr790A66WEarLlQEGdLiSqcmPY4FDkeNrvsyCAngShEjEQ58OYgOJ7hplWmmZx
kg6XKBDqnbptSvM0P/ui+mLV/rLVLf/tdE8Jjb5HQgUYh+IOSe+rmkAO3f34LiVdHdv2MrIIFlz7
EPUdNf4SjGP+zT1s/r0aDr48qPOz0EaTdEzxRm407fXVpd6tOEWptQZdxLP7D7dbv5VCYO3HeDdu
GMCkg85jalClcv7L7GEwFuF61kWZsNspTaqXmA/sVQ==
=wSP1
-----END PGP SIGNATURE-----

--------------MpJZX2ld0j0gIOVsGyyHovhq--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:14:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:14:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392597.631049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqDS-0004lO-Cd; Wed, 24 Aug 2022 13:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392597.631049; Wed, 24 Aug 2022 13:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqDS-0004lH-9q; Wed, 24 Aug 2022 13:14:42 +0000
Received: by outflank-mailman (input) for mailman id 392597;
 Wed, 24 Aug 2022 13:14:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQqDQ-0004lB-KG
 for xen-devel@lists.xen.org; Wed, 24 Aug 2022 13:14:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6a82a32-23ae-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:14:14 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C3F3D3434E;
 Wed, 24 Aug 2022 13:14:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 63D3813780;
 Wed, 24 Aug 2022 13:14:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id qz/aFj4kBmOkZQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 13:14:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6a82a32-23ae-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661346878; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=w/sYw3NcoWYwrXF2/kOec+46M1ET5zP7UlMCgtAkMZE=;
	b=D4ordXch++qfNjU/Dlb7N+ZIfsYYp81ljBLkpeQe8yUe78LYvwSSWNlAhHXSxfWU2HsjvR
	zmEOt8s18F6P3ydfcknCzyqmx74euuLbh0QMPKvOmoKi3LOM9SMPNBrvGLru7ej0LqHOzn
	ggY+r3RxI3+R52wI8wJi4YDPEsMSeXo=
Message-ID: <497dd97e-eea1-b4a9-6a04-cd2575e1d41c@suse.com>
Date: Wed, 24 Aug 2022 15:14:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xen.org,
 Stratos-dev@op-lists.linaro.org, mathieu.poirier@linaro.com,
 christopher.w.clark@gmail.com, boris.ostrovsky@oracle.com,
 gregkh@linuxfoundation.org, vincent.guittot@linaro.org, olekstysh@gmail.com
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <a04eebde-1ad4-b6d2-9867-caea88de0484@suse.com> <8735dlj21i.fsf@linaro.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
In-Reply-To: <8735dlj21i.fsf@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3Kk0FH6Pkn0GtpNzzKaGyUd9"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3Kk0FH6Pkn0GtpNzzKaGyUd9
Content-Type: multipart/mixed; boundary="------------40aVjlAsTu8qjT1mpc3GDoj2";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xen.org,
 Stratos-dev@op-lists.linaro.org, mathieu.poirier@linaro.com,
 christopher.w.clark@gmail.com, boris.ostrovsky@oracle.com,
 gregkh@linuxfoundation.org, vincent.guittot@linaro.org, olekstysh@gmail.com
Message-ID: <497dd97e-eea1-b4a9-6a04-cd2575e1d41c@suse.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <a04eebde-1ad4-b6d2-9867-caea88de0484@suse.com> <8735dlj21i.fsf@linaro.org>
In-Reply-To: <8735dlj21i.fsf@linaro.org>

--------------40aVjlAsTu8qjT1mpc3GDoj2
Content-Type: multipart/mixed; boundary="------------UAtCoOcISWxF16gw2inHgbg8"

--------------UAtCoOcISWxF16gw2inHgbg8
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTM6NDcsIEFsZXggQmVubsOpZSB3cm90ZToNCj4gDQo+IEp1ZXJnZW4g
R3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4gd3JpdGVzOg0KPiANCj4+IFtbUEdQIFNpZ25lZCBQ
YXJ0OlVuZGVjaWRlZF1dDQo+PiBPbiAyNC4wOC4yMiAxMToxOSwgVmlyZXNoIEt1bWFyIHdy
b3RlOg0KPj4+IE9uIDI0LTAzLTIyLCAwNjoxMiwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+
Pj4gRm9yIGEgcmF0aGVyIGxvbmcgdGltZSB3ZSB3ZXJlIHVzaW5nICJub3JtYWwiIHVzZXIg
cGFnZXMgZm9yIHRoaXMgcHVycG9zZSwNCj4+Pj4gd2hpY2ggd2VyZSBqdXN0IGxvY2tlZCBp
bnRvIG1lbW9yeSBmb3IgZG9pbmcgdGhlIGh5cGVyY2FsbC4NCj4+Pj4NCj4+Pj4gVW5mb3J0
dW5hdGVseSB0aGVyZSBoYXZlIGJlZW4gdmVyeSByYXJlIHByb2JsZW1zIHdpdGggdGhhdCBh
cHByb2FjaCwgYXMNCj4+Pj4gdGhlIExpbnV4IGtlcm5lbCBjYW4gc2V0IGEgdXNlciBwYWdl
IHJlbGF0ZWQgUFRFIHRvIGludmFsaWQgZm9yIHNob3J0DQo+Pj4+IHBlcmlvZHMgb2YgdGlt
ZSwgd2hpY2ggbGVkIHRvIEVGQVVMVCBpbiB0aGUgaHlwZXJ2aXNvciB3aGVuIHRyeWluZyB0
bw0KPj4+PiBhY2Nlc3MgdGhlIGh5cGVyY2FsbCBkYXRhLg0KPj4+Pg0KPj4+PiBJbiBMaW51
eCB0aGlzIGNhbiBhdm9pZGVkIG9ubHkgYnkgdXNpbmcga2VybmVsIG1lbW9yeSwgd2hpY2gg
aXMgdGhlDQo+Pj4+IHJlYXNvbiB3aHkgdGhlIGh5cGVyY2FsbCBidWZmZXJzIGFyZSBhbGxv
Y2F0ZWQgYW5kIG1tYXAoKS1lZCB0aHJvdWdoIHRoZQ0KPj4+PiBwcml2Y21kIGRyaXZlci4N
Cj4+PiBIaSBKdWVyZ2VuLA0KPj4+IEkgdW5kZXJzdGFuZCB3aHkgd2UgbW92ZWQgZnJvbSB1
c2VyIHBhZ2VzIHRvIGtlcm5lbCBwYWdlcywgYnV0IEkNCj4+PiBkb24ndA0KPj4+IGZ1bGx5
IHVuZGVyc3RhbmQgd2h5IHdlIG5lZWQgdG8gbWFrZSB0d28gc2VwYXJhdGUgY2FsbHMgdG8g
bWFwIHRoZQ0KPj4+IGd1ZXN0IG1lbW9yeSwgaS5lLiBtbWFwKCkgZm9sbG93ZWQgYnkgaW9j
dGwoSU9DVExfUFJJVkNNRF9NTUFQQkFUQ0gpLg0KPj4+IFdoeSBhcmVuJ3Qgd2UgZG9pbmcg
YWxsIG9mIGl0IGZyb20gbW1hcCgpIGl0c2VsZiA/IEkgaGFja2VkIGl0IHVwIHRvDQo+Pj4g
Y2hlY2sgb24gaXQgYW5kIGl0IHdvcmtzIGZpbmUgaWYgd2UgZG8gaXQgYWxsIGZyb20gbW1h
cCgpIGl0c2VsZi4NCj4+DQo+PiBIeXBlcmNhbGwgYnVmZmVycyBhcmUgbmVlZGVkIGZvciBt
b3JlIHRoYW4ganVzdCB0aGUgIk1NQVBCQVRDSCIgaHlwZXJjYWxsLg0KPj4gT3IgYXJlIHlv
dSBzdWdnZXN0aW5nIG9uZSBkZXZpY2UgcGVyIHBvc3NpYmxlIGh5cGVyY2FsbD8NCj4+DQo+
Pj4gQXJlbid0IHdlIGFidXNpbmcgdGhlIExpbnV4IHVzZXJzcGFjZSBBQkkgaGVyZSA/IEFz
IHN0YW5kYXJkIHVzZXJzcGFjZQ0KPj4+IGNvZGUgd291bGQgZXhwZWN0IGp1c3QgbW1hcCgp
IHRvIGJlIGVub3VnaCB0byBtYXAgdGhlIG1lbW9yeS4gWWVzLCB0aGUNCj4+PiBjdXJyZW50
IHVzZXIsIFhlbiBpdHNlbGYsIGlzIGFkYXB0ZWQgdG8gbWFrZSB0d28gY2FsbHMsIGJ1dCBp
dCBicmVha3MNCj4+PiBhcyBzb29uIGFzIHdlIHdhbnQgdG8gdXNlIHNvbWV0aGluZyB0aGF0
IHJlbGllcyBvbiBMaW51eCB1c2Vyc3BhY2UNCj4+PiBBQkkuDQo+Pg0KPj4gSSB0aGluayB5
b3UgYXJlIHN0aWxsIG1peGluZyB1cCB0aGUgaHlwZXJjYWxsIGJ1ZmZlcnMgd2l0aCB0aGUg
bWVtb3J5DQo+PiB5b3Ugd2FudCB0byBtYXAgdmlhIHRoZSBoeXBlcmNhbGwuIEF0IGxlYXN0
IHRoZSByZWZlcmVuY2UgdG8ga2VybmVsDQo+PiBtZW1vcnkgYWJvdmUgaXMgc3VnZ2VzdGlu
ZyB0aGF0Lg0KPiANCj4gQXJlbid0IHRoZSBoeXBlcmNhbGwgYnVmZmVycyBhbGwgaW50ZXJu
YWwgdG8gdGhlIGtlcm5lbC9oeXBlcnZpc29yDQo+IGludGVyZmFjZSBvciBhcmUgeW91IHRh
bGtpbmcgYWJvdXQgdGhlIGlvY3RsIGNvbnRlbnRzPw0KDQpUaGUgaHlwZXJjYWxsIGJ1ZmZl
cnMgYXJlIGZpbGxlZCBieSB0aGUgWGVuIGxpYnJhcmllcyBpbiB1c2VyIG1vZGUuIFRoZQ0K
aW9jdGwoKSBpcyByZWFsbHkgb25seSBhIHBhc3N0aHJvdWdoIG1lY2hhbmlzbSBmb3IgZG9p
bmcgaHlwZXJjYWxscywgYXMNCmh5cGVyY2FsbHMgYXJlIGFsbG93ZWQgb25seSBmcm9tIHRo
ZSBrZXJuZWwuIEluIG9yZGVyIG5vdCBoYXZpbmcgdG8NCmFkYXB0IHRoZSBrZXJuZWwgZHJp
dmVyIGZvciBlYWNoIG5ldyBoeXBlcmNhbGwsIGFsbCBwYXJhbWV0ZXJzIGZvciB0aGUNCmh5
cGVyY2FsbCwgaW5jbHVkaW5nIHRoZSBpbiBtZW1vcnkgb25lcywgYXJlIHByZXBhcmVkIGJ5
IHRoZSBYZW4NCmxpYnJhcmllcyBhbmQgdGhlbiBnaXZlbiB0byB0aGUgaHlwZXJ2aXNvciB2
aWEgdGhlIGlvY3RsKCkuIFRoaXMgYWxsb3dzDQp0byB1c2UgZXhpc3Rpbmcga2VybmVscyB3
aXRoIG5ldyBYZW4gdmVyc2lvbnMuDQoNCllvdXIgZGVjaXNpb24gdG8gaWdub3JlIHRoZSBY
ZW4gbGlicmFyaWVzIG1pZ2h0IGZpcmUgYmFjayBpbiBjYXNlIGENCmRvbTAtb25seSBoeXBl
cmNhbGwgaXMgYmVpbmcgY2hhbmdlZCBpbiBhIG5ldyBYZW4gdmVyc2lvbiBvciBldmVuIGlu
IGENClhlbiB1cGRhdGU6IGFzIFhlbiB0b29scyBhbmQgdGhlIGh5cGVydmlzb3IgYXJlIGNv
dXBsZWQsIHRoZSB1cGRhdGVkDQpYZW4gbGlicmFyaWVzIHdpbGwgd29yayB3aXRoIHRoZSBu
ZXcgaHlwZXJ2aXNvciwgd2hpbGUgeW91ciBWTU0gd2lsbA0KcHJvYmFibHkgYnJlYWssIHVu
bGVzcyB5b3UgYXJlIGJ1aWxkaW5nIGl0IGZvciBlYWNoIFhlbiB2ZXJzaW9uLg0KDQoNCkp1
ZXJnZW4NCg==
--------------UAtCoOcISWxF16gw2inHgbg8
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------UAtCoOcISWxF16gw2inHgbg8--

--------------40aVjlAsTu8qjT1mpc3GDoj2--

--------------3Kk0FH6Pkn0GtpNzzKaGyUd9
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMGJD0FAwAAAAAACgkQsN6d1ii/Ey/1
9wf/fjOOvwJB2ZYsCX1zVqqH2EvTFT5gxsMbg3FPyZTcBflNQ5+hGuPvedUg4Hsd22Ao2b4Szeaf
nZMIvrYduq0yrhcDRxW1NNVP5FIzLl/CgHEMuTg1qypO7ICllDIrDldM+qBSF+khWSM0zHswq+U/
6mrrujq15pvu14B/SeisxP6VVXXgIndzXklYk2w++DiAFdiWEkZHmnNIC+y/DhiTccs0W9nJmlAb
BaMYs5OzDsZEQSjT1m85IxPS9XCaW8SzEm9FTetI6+faiMIfpIEm8RovnSd1HanV4t1dUcJLD1V8
OWm9PYpPnsHikuPylhwML7t68b9L7j/oH37KC1Uk2A==
=e2UW
-----END PGP SIGNATURE-----

--------------3Kk0FH6Pkn0GtpNzzKaGyUd9--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:27:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:27:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392603.631059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqQA-0006FW-IL; Wed, 24 Aug 2022 13:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392603.631059; Wed, 24 Aug 2022 13:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqQA-0006FP-EQ; Wed, 24 Aug 2022 13:27:50 +0000
Received: by outflank-mailman (input) for mailman id 392603;
 Wed, 24 Aug 2022 13:27:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GaRE=Y4=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1oQqQ9-0006FJ-19
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:27:49 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b556486-23b0-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:27:47 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id u14so20761529wrq.9
 for <xen-devel@lists.xenproject.org>; Wed, 24 Aug 2022 06:27:47 -0700 (PDT)
Received: from localhost.localdomain ([2a01:e0a:19f:35f0:dde5:d55a:20f5:7ef5])
 by smtp.gmail.com with ESMTPSA id
 j27-20020a05600c1c1b00b003a5ce167a68sm2220599wms.7.2022.08.24.06.27.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Aug 2022 06:27:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b556486-23b0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=MQ76z2RkJ45qSARjKSsWQ3ZN8VnrkP5t6FlN2hWTOcg=;
        b=eqoxRd/h2+bOxnX4+2fWJ5WDzutXt089x+RPixlqVTrAazOAl8GuiTAlO6lLEr+qcp
         3iovfGilUdRnBdcSXYEz/TENP50yARXXPiM0bZ0992Sg9mBb4RhPkfUQ/7n9uKM22M4y
         h4heWWBMUJLpnEFQqpQ0Mu/tW0drmiNFHSTPNPrJRTrtHqKTBuE9GvkzKIdBU0t7Xrnk
         Pz/JBcb/3siDPaS/yFOmkFB3t21MxoOaY3+/qW4y110Yjiz9iiJ3Xptpb0Oh0e7beSyt
         w69qhQ9HUKkfluVZUvbvOZZvWQJo4KE87HbpW4q5WB8qq1mx0NKZG20s31//bXvgr9u6
         i16Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=MQ76z2RkJ45qSARjKSsWQ3ZN8VnrkP5t6FlN2hWTOcg=;
        b=iC8qhoqpJibtEuE6RQvSHpEieVFH1T024ftOOyJhnTX1IHNGyiHjFEPkSfiaP6HknF
         AW4QF1KtXkz8+/UNInaD/4qRbx/0yM2f47xF9DqsXbNslu3lk6cO7UQu7kPWjZFEBth4
         N/bj+cfBj/XiOqMlMRddM2CI6gNuK/7tlbNAfMbz/vwVMjXhXDUZgfA84Gjgi3MK7r0a
         gTo66nTambcA76VlwlWaOjo8v3YSSB9yht3RMgHFvUtD857bIb93AiLzYcL7Hf3UynqF
         /COH/sRvEirVNagXX9WHcIY3YJH6xPboSVjR/H6t/jc5bVJCF80LkJ5xcrnDENUTJreE
         /Ojg==
X-Gm-Message-State: ACgBeo39j8OhcXJ3uH7S/VcasrhxV4Fepbaox7kVh49M06uqpxLz/jrS
	4tadlQRk5HUJLpRCKXWOLm0OAkLTwAN+oA==
X-Google-Smtp-Source: AA6agR7IIC710B5KcisxEyO8KWjM79v60u2k1cRF4yNhQNEy00nRs+jNS4mnnEwkTWHL1p2QRPcSGA==
X-Received: by 2002:adf:eb8e:0:b0:223:a1f6:26b2 with SMTP id t14-20020adfeb8e000000b00223a1f626b2mr16169237wrn.216.1661347667087;
        Wed, 24 Aug 2022 06:27:47 -0700 (PDT)
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
X-Google-Original-From: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
To: xen-devel@lists.xenproject.org
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [RFC PATCH v1 0/2] Add a new acquire resource to query vcpu statistics
Date: Wed, 24 Aug 2022 15:27:29 +0200
Message-Id: <cover.1661330065.git.matias.vara@vates.fr>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello all,

The purpose of this RFC is to get feedback about a new acquire resource that
exposes vcpu statistics for a given domain. The current mechanism to get those
statistics is by querying the hypervisor. This mechanism relies on a hypercall
and holds the domctl spinlock during its execution. When a pv tool like xcp-rrdd
periodically samples these counters, it ends up affecting other paths that share
that spinlock. By using acquire resources, the pv tool only requires a few
hypercalls to set the shared memory region and samples are got without issuing
any other hypercall. The original idea has been suggested by Andrew Cooper to
which I have been discussing about how to implement the current PoC. You can
find the RFC patch series at [1]. The series is rebased on top of stable-4.15.

I am currently a bit blocked on 1) what to expose and 2) how to expose it. For
1), I decided to expose what xcp-rrdd is querying, e.g., XEN_DOMCTL_getvcpuinfo.
More precisely, xcp-rrd gets runstate.time[RUNSTATE_running]. This is a uint64_t
counter. However, the time spent in other states may be interesting too.
Regarding 2), I am not sure if simply using an array of uint64_t is enough or if
a different interface should be exposed. The remaining question is when to get
new values. For the moment, I am updating this counter during
vcpu_runstate_change().

The current series includes a simple pv tool that shows how this new interface is
used. This tool maps the counter and periodically samples it.

Any feedback/help would be appreciated.

Thanks, Matias.

[1] https://github.com/MatiasVara/xen/tree/feature_stats

Changes in v1:
- rework how the resource is allocated and released
- rework when the resource is allocated that happens only when the resource is
  requested 
- rework the structure shared between the tool and Xen to make it extensible to
  new counters and declare it in a public header

There are still the following questions:
   - consumer may fetch inconsistency data
   - resource shall be released when there are no more readers otherwise we keep
     updating it during a hot path
   - one frame can host up to 512 vcpus. Should I check to this limit when
     updating? Should it be possible to allocate more than one frame for vcpu
     counters?  

Matias Ezequiel Vara Larsen (2):
  xen/memory : Add a stats_table resource type
  tools/misc: Add xen-vcpus-stats tool

 tools/misc/Makefile          |  6 +++
 tools/misc/xen-vcpus-stats.c | 76 +++++++++++++++++++++++++++++
 xen/arch/x86/hvm/hvm.c       |  2 +
 xen/common/memory.c          | 94 ++++++++++++++++++++++++++++++++++++
 xen/common/sched/core.c      |  7 +++
 xen/include/public/memory.h  |  3 ++
 xen/include/public/vcpu.h    | 10 ++++
 xen/include/xen/mm.h         |  2 +
 xen/include/xen/sched.h      |  5 ++
 9 files changed, 205 insertions(+)
 create mode 100644 tools/misc/xen-vcpus-stats.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:27:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:27:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392604.631071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqQI-0006YU-VF; Wed, 24 Aug 2022 13:27:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392604.631071; Wed, 24 Aug 2022 13:27:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqQI-0006YL-SP; Wed, 24 Aug 2022 13:27:58 +0000
Received: by outflank-mailman (input) for mailman id 392604;
 Wed, 24 Aug 2022 13:27:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GaRE=Y4=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1oQqQH-0006FJ-8N
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:27:57 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 90548926-23b0-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:27:56 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 v7-20020a1cac07000000b003a6062a4f81so931829wme.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Aug 2022 06:27:56 -0700 (PDT)
Received: from localhost.localdomain ([2a01:e0a:19f:35f0:dde5:d55a:20f5:7ef5])
 by smtp.gmail.com with ESMTPSA id
 j27-20020a05600c1c1b00b003a5ce167a68sm2220599wms.7.2022.08.24.06.27.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Aug 2022 06:27:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90548926-23b0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=pw5RzS4fR34yGT1sriXGAKDAXLaP3XNaTymjtCTCC0c=;
        b=UDFGJewEWl9ca+suNsoGL6+nTE8+RxeJ72gEJZN+GcV0lSndo8BkNZgMzAoY+EOXAt
         Kr0onwPpbWLOlnzB2skDBaq9c0n2FO24QF4jEtWbqoczRdZlua3qH8UMMiMKdc5nqto3
         o81pVlxYn+UQiAgfz4LkS8+hh8IU9IfvExhE8GeXeZxZFj3Df3/1WRklWFh/vAEv7p3+
         3aFXZXGfafwJweWqgM7G2qxZQOP39e+fcWMDJ3w0tPPzDGK109o1ZYTQGPwoosojSeya
         QDDdhvfxZC9+h7c9axos9eROtMB676H8EqhCa/yDPNGb3bzF/kRDiSavRRGQfWsD59ag
         ex7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=pw5RzS4fR34yGT1sriXGAKDAXLaP3XNaTymjtCTCC0c=;
        b=Mmq7tfwBdPTnC64gYB0wocUogxR/Ai2t4vL8zcytAI7Q6XnrQf876JstSqZg6VzRxa
         wGu4hTgb2a03mATnObsA4bQk5gkrSJ6M8zFP3y0fnxqaZ1YEs/4GTHtbM47TKxhMAXjk
         3q6lLNE46rgCY+vhGD3Q4Ap13W2npScMP1pSIeFTWyVkgomTfMNjtNvHXV+9M4eUN0rP
         mr8WOvfahuZsym1XDGw9rN8qn9QnnEDUbv2d0ap1en1myAU8CByOXlZ5ht1c/ul80GpN
         atTfWjo/bjVwgTO6st9LTC8qCv1GiRrVl1L4FDsDODHRez2Po4sO+S4HNd7sqpr8Gpxu
         PWdA==
X-Gm-Message-State: ACgBeo08olokhjMqkj+wyDzeMKt8mG+XHPUnATNQxfg6hNIlAOzy6VVF
	sdD8bAQ2tGPBdckrW7/XUBt6lBYHLZ592g==
X-Google-Smtp-Source: AA6agR7wuEdoPj++WDlmOddN8eWXOKj8NW3I34cKii9XYP87GsZwwoY6VRNNR2dVk8yMKRxF+AvQxA==
X-Received: by 2002:a05:600c:350:b0:3a5:3473:1c23 with SMTP id u16-20020a05600c035000b003a534731c23mr5448443wmd.9.1661347675214;
        Wed, 24 Aug 2022 06:27:55 -0700 (PDT)
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
X-Google-Original-From: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
To: xen-devel@lists.xenproject.org
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [RFC PATCH v1 1/2] xen/memory : Add a stats_table resource type
Date: Wed, 24 Aug 2022 15:27:30 +0200
Message-Id: <c36dc94e11dc8529f489bbbd4e8079b10f298625.1661330065.git.matias.vara@vates.fr>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661330065.git.matias.vara@vates.fr>
References: <cover.1661330065.git.matias.vara@vates.fr>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit proposes a new mechanism to query the RUNSTATE_running counter for
a given vcpu from a dom0 userspace application. This commit proposes to expose
that counter by using the acquire_resource interface. The current mechanism
relies on the XEN_DOMCTL_getvcpuinfo and holds a single global domctl_lock for
the entire hypercall; and iterate over every vcpu in the system for every
update thus impacting operations that share that lock.

This commit proposes to expose vcpu RUNSTATE_running via the
xenforeignmemory interface thus preventing to issue the hypercall and holding
the lock. For that purpose, a new resource type named stats_table is added. The
first frame of this resource stores per-vcpu counters. The frame has one entry
of type struct vcpu_stats per vcpu. The allocation of this frame only happens
if the resource is requested. The frame is released after the domain is
destroyed.

Note that the updating of this counter is in a hot path, thus, in this commit,
copying only happens if it is specifically required.

Note that the exposed structure is extensible in two ways. First, the structure
vcpu_stats can be extended with new per-vcpu counters while it fits in a frame.
Second, new frames can be added in case new counters are required.

Signed-off-by: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
---
Changes in v1:
- rework the allocation and releasing of the frames
- use the zero frame for per-vcpu counters that are listed as an array
- allocate vcpu stats frames only when the resource is requested
- rewrite commit message
- add the vcpu_stats structure to keep per-vcpu counters
- add the shared_vcpustatspage to keep an array of per-vcpu counters for a
  given domain
- declare the structures in a public header 
- define the vcpustats_page in the domain structure
---
 xen/arch/x86/hvm/hvm.c      |  2 +
 xen/common/memory.c         | 94 +++++++++++++++++++++++++++++++++++++
 xen/common/sched/core.c     |  7 +++
 xen/include/public/memory.h |  3 ++
 xen/include/public/vcpu.h   | 10 ++++
 xen/include/xen/mm.h        |  2 +
 xen/include/xen/sched.h     |  5 ++
 7 files changed, 123 insertions(+)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index ddd001a6ad..1ef6cb5ff0 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -741,6 +741,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
 
     ioreq_server_destroy_all(d);
 
+    stats_free_vcpu_mfn(d);
+
     msixtbl_pt_cleanup(d);
 
     /* Stop all asynchronous timer actions. */
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 297b98a562..749486d5d4 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1078,6 +1078,12 @@ unsigned int ioreq_server_max_frames(const struct domain *d)
     return nr;
 }
 
+unsigned int stats_table_max_frames(const struct domain *d)
+{
+    /* One frame per 512 vcpus. */
+    return 1;
+}
+
 /*
  * Return 0 on any kind of error.  Caller converts to -EINVAL.
  *
@@ -1099,6 +1105,9 @@ static unsigned int resource_max_frames(const struct domain *d,
     case XENMEM_resource_vmtrace_buf:
         return d->vmtrace_size >> PAGE_SHIFT;
 
+    case XENMEM_resource_stats_table:
+        return stats_table_max_frames(d);
+
     default:
         return -EOPNOTSUPP;
     }
@@ -1162,6 +1171,88 @@ static int acquire_vmtrace_buf(
     return nr_frames;
 }
 
+void stats_free_vcpu_mfn(struct domain * d)
+{
+    struct page_info *pg = d->vcpustats_page.pg;
+
+    if ( !pg )
+        return;
+
+    d->vcpustats_page.pg = NULL;
+
+    if ( d->vcpustats_page.va )
+        unmap_domain_page_global(d->vcpustats_page.va);
+
+    d->vcpustats_page.va = NULL;
+
+    put_page_alloc_ref(pg);
+    put_page_and_type(pg);
+}
+
+static int stats_vcpu_alloc_mfn(struct domain *d)
+{
+    struct page_info *pg;
+
+    pg = alloc_domheap_page(d, MEMF_no_refcount);
+
+    if ( !pg )
+        return -ENOMEM;
+
+    if ( !get_page_and_type(pg, d, PGT_writable_page) ) {
+        put_page_alloc_ref(pg);
+        return -ENODATA;
+    }
+
+    d->vcpustats_page.va = __map_domain_page_global(pg);
+    if ( !d->vcpustats_page.va )
+        goto fail;
+
+    d->vcpustats_page.pg = pg;
+    clear_page(d->vcpustats_page.va);
+    return 1;
+
+fail:
+    put_page_alloc_ref(pg);
+    put_page_and_type(pg);
+
+    return -ENOMEM;
+}
+
+static int acquire_stats_table(struct domain *d,
+                                unsigned int id,
+                                unsigned int frame,
+                                unsigned int nr_frames,
+                                xen_pfn_t mfn_list[])
+{
+    mfn_t mfn;
+    int rc;
+    unsigned int i;
+
+    if ( !d )
+        return -ENOENT;
+
+    for ( i = 0; i < nr_frames; i++ )
+    {
+        switch ( i )
+        {
+        case XENMEM_resource_stats_frame_vcpustats:
+            if ( !d->vcpustats_page.pg ) {
+                rc = stats_vcpu_alloc_mfn(d);
+                if ( rc < 1 )
+                    return rc;
+            }
+            mfn = page_to_mfn(d->vcpustats_page.pg);
+            mfn_list[i] = mfn_x(mfn);
+            break;
+
+        default:
+            return -EINVAL;
+        }
+    }
+
+    return nr_frames;
+}
+
 /*
  * Returns -errno on error, or positive in the range [1, nr_frames] on
  * success.  Returning less than nr_frames contitutes a request for a
@@ -1182,6 +1273,9 @@ static int _acquire_resource(
     case XENMEM_resource_vmtrace_buf:
         return acquire_vmtrace_buf(d, id, frame, nr_frames, mfn_list);
 
+    case XENMEM_resource_stats_table:
+        return acquire_stats_table(d, id, frame, nr_frames, mfn_list);
+
     default:
         return -EOPNOTSUPP;
     }
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 8f4b1ca10d..87cfa172ad 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -264,6 +264,8 @@ static inline void vcpu_runstate_change(
 {
     s_time_t delta;
     struct sched_unit *unit = v->sched_unit;
+    shared_vcpustatspage_t * vcpustats_va;
+    struct domain *d = v->domain;
 
     ASSERT(spin_is_locked(get_sched_res(v->processor)->schedule_lock));
     if ( v->runstate.state == new_state )
@@ -287,6 +289,11 @@ static inline void vcpu_runstate_change(
     }
 
     v->runstate.state = new_state;
+
+    vcpustats_va = (shared_vcpustatspage_t*)d->vcpustats_page.va;
+    if ( vcpustats_va )
+        memcpy(&vcpustats_va->vcpu_info[v->vcpu_id].runstate_running_time,
+               &v->runstate.time[RUNSTATE_running], sizeof(v->runstate.time[RUNSTATE_running]));
 }
 
 void sched_guest_idle(void (*idle) (void), unsigned int cpu)
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 50e73eef98..e1a10b8b97 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -626,6 +626,7 @@ struct xen_mem_acquire_resource {
 #define XENMEM_resource_ioreq_server 0
 #define XENMEM_resource_grant_table 1
 #define XENMEM_resource_vmtrace_buf 2
+#define XENMEM_resource_stats_table 3
 
     /*
      * IN - a type-specific resource identifier, which must be zero
@@ -683,6 +684,8 @@ struct xen_mem_acquire_resource {
 typedef struct xen_mem_acquire_resource xen_mem_acquire_resource_t;
 DEFINE_XEN_GUEST_HANDLE(xen_mem_acquire_resource_t);
 
+#define XENMEM_resource_stats_frame_vcpustats 0
+
 /*
  * XENMEM_get_vnumainfo used by guest to get
  * vNUMA topology from hypervisor.
diff --git a/xen/include/public/vcpu.h b/xen/include/public/vcpu.h
index 3623af932f..57a5ca777c 100644
--- a/xen/include/public/vcpu.h
+++ b/xen/include/public/vcpu.h
@@ -235,6 +235,16 @@ struct vcpu_register_time_memory_area {
 typedef struct vcpu_register_time_memory_area vcpu_register_time_memory_area_t;
 DEFINE_XEN_GUEST_HANDLE(vcpu_register_time_memory_area_t);
 
+struct vcpu_stats{
+   uint64_t runstate_running_time;
+};
+
+struct shared_vcpustatspage {
+   struct vcpu_stats vcpu_info[1];
+};
+
+typedef struct shared_vcpustatspage shared_vcpustatspage_t;
+
 #endif /* __XEN_PUBLIC_VCPU_H__ */
 
 /*
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 667f9dac83..d1ca8b9aa8 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -134,6 +134,8 @@ int assign_pages(
 /* Dump info to serial console */
 void arch_dump_shared_mem_info(void);
 
+void stats_free_vcpu_mfn(struct domain * d);
+
 /*
  * Extra fault info types which are used to further describe
  * the source of an access violation.
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 5485d08afb..d9551ce35f 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -577,6 +577,11 @@ struct domain
         struct ioreq_server     *server[MAX_NR_IOREQ_SERVERS];
     } ioreq_server;
 #endif
+    /* Page that hosts vcpu stats */
+    struct {
+        struct page_info *pg;
+        void *va;
+    } vcpustats_page;
 };
 
 static inline struct page_list_head *page_to_list(
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:28:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:28:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392605.631082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqQT-0006xJ-6c; Wed, 24 Aug 2022 13:28:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392605.631082; Wed, 24 Aug 2022 13:28:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqQT-0006xA-3G; Wed, 24 Aug 2022 13:28:09 +0000
Received: by outflank-mailman (input) for mailman id 392605;
 Wed, 24 Aug 2022 13:28:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GaRE=Y4=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1oQqQR-0006FJ-On
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:28:07 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96bb7103-23b0-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:28:07 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 ay39-20020a05600c1e2700b003a5503a80cfso860701wmb.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Aug 2022 06:28:07 -0700 (PDT)
Received: from localhost.localdomain ([2a01:e0a:19f:35f0:dde5:d55a:20f5:7ef5])
 by smtp.gmail.com with ESMTPSA id
 j27-20020a05600c1c1b00b003a5ce167a68sm2220599wms.7.2022.08.24.06.28.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Aug 2022 06:28:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96bb7103-23b0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=59izKsatWx93ZlS9Q48JeXcPM/kkJK4lT2iqQF0AUr8=;
        b=li+lc8LIPUN0y7KhIgvxw2Bp602rvWMjswmCVPydIJo1NS3XJKnMY8HJsvYuoj3JMZ
         nbO6IMp4JNK+kDCc/ei9BjBa8+gEvgaEBbaA+cGc2czklox+3m6H1U8awwq2hAWeX99x
         0oU4HbE4akgfQuWuoqVgidlPpEtEApdpYFqQSgzS8m+MmYPm0/duKEjn5NMDyZMyF0bS
         JmaXSfYOHXA5yhUR2p1bVC/wW54a2Anch17u8A6ulLLe2EbF0uGUzLzyXLumYzCkzLMu
         AjrjKjN456qPfoqEkXDfV9ODshm6n9Ut1SWXBJs+rPTqiFXdOzLB48cFzakhowQ2xwm6
         XALQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=59izKsatWx93ZlS9Q48JeXcPM/kkJK4lT2iqQF0AUr8=;
        b=q1D0kBBf1uFlmr2IgYm246otj90quHb79740jzH+Uy4e4KOZUddIInYFWlS3SxcQgI
         BuiKlspAqnVb+VyD7yiOZFd3UaEPl7MemawAe6rhwKjNpzfBpY0KIUNaOxgOfqCPKl0r
         y6vbm0O/qn+99810rRcygh4h8hfI396c/7/8r3XpcEeaJ2RIZvGHyKqKlQ4yKVUZfqeI
         3p8TgbQW6CIIJD4e5D5vXXdFlcoMxbSAzgPfkU2be51XJ5md7AgsqZRL6Y0DsIp9tFay
         ovtSOHTVCJkIULF7f83dHw92Fr22oFDfbXj2LAGmCEzioyOD+dWowKr9wElE1kanCGsv
         2LSA==
X-Gm-Message-State: ACgBeo0T2uUAYeyNERd23gi6HnzJY9wFH3SuiysbmpTcSDmNp7yBHWfJ
	QEhJCxbBTBpNYP6+Tkww+eCWbCjXt0rVJQ==
X-Google-Smtp-Source: AA6agR7ndbWxAHEobxliUdBG3EnIJEGWqWn/Wx4e+XiZTaMrK+K4/Y6YLhUNj5Kbxta/z/L32dD0dQ==
X-Received: by 2002:a05:600c:5023:b0:3a6:3f9:a031 with SMTP id n35-20020a05600c502300b003a603f9a031mr5091369wmr.131.1661347686216;
        Wed, 24 Aug 2022 06:28:06 -0700 (PDT)
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
X-Google-Original-From: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
To: xen-devel@lists.xenproject.org
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [RFC PATCH v1 2/2] tools/misc: Add xen-vcpus-stats tool
Date: Wed, 24 Aug 2022 15:27:31 +0200
Message-Id: <c17fc1382cdf0b5975573759c790eed5d4a16192.1661330065.git.matias.vara@vates.fr>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661330065.git.matias.vara@vates.fr>
References: <cover.1661330065.git.matias.vara@vates.fr>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a demostration tool that uses the stats_table resource to
query vcpus' RUNSTATE_running counter for a DomU.

Signed-off-by: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
---
Changes in v1:
- change the name of the tool to xen-vcpus-stats
- set command line parameters in the same order that are passed
- remove header libs.h
- build by default
- remove errno, strerrno, "\n", and identation
- use errx when errno is not needed
- address better the number of pages requested and error msgs
- use the shared_vcpustatspage_t structure
- use the correct frame id when requesting the resource
---
 tools/misc/Makefile          |  6 +++
 tools/misc/xen-vcpus-stats.c | 76 ++++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+)
 create mode 100644 tools/misc/xen-vcpus-stats.c

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 2b683819d4..837e4b50da 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -49,6 +49,7 @@ TARGETS_COPY += xenpvnetboot
 
 # Everything which needs to be built
 TARGETS_BUILD := $(filter-out $(TARGETS_COPY),$(TARGETS_ALL))
+TARGETS_BUILD += xen-vcpus-stats
 
 # ... including build-only targets
 TARGETS_BUILD-$(CONFIG_X86)    += xen-vmtrace
@@ -135,4 +136,9 @@ xencov: xencov.o
 xen-ucode: xen-ucode.o
 	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
 
+xen-vcpus-stats.o: CFLAGS += $(CFLAGS_libxenforeginmemory)
+
+xen-vcpus-stats: xen-vcpus-stats.o
+	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenforeignmemory) $(APPEND_LDFLAGS)
+
 -include $(DEPS_INCLUDE)
diff --git a/tools/misc/xen-vcpus-stats.c b/tools/misc/xen-vcpus-stats.c
new file mode 100644
index 0000000000..d56d1493e4
--- /dev/null
+++ b/tools/misc/xen-vcpus-stats.c
@@ -0,0 +1,76 @@
+#include <err.h>
+#include <errno.h>
+#include <error.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/mman.h>
+#include <signal.h>
+
+#include <xenctrl.h>
+#include <xenforeignmemory.h>
+#include <xen/vcpu.h>
+
+static sig_atomic_t interrupted;
+static void close_handler(int signum)
+{
+    interrupted = 1;
+}
+
+int main(int argc, char **argv)
+{
+    xenforeignmemory_handle *fh;
+    xenforeignmemory_resource_handle *res;
+    size_t size;
+    int rc, domid, frec, vcpu;
+    shared_vcpustatspage_t * info;
+    struct sigaction act;
+
+    if (argc != 4 ) {
+        fprintf(stderr, "Usage: %s <domid> <vcpu> <period>\n", argv[0]);
+        return 1;
+    }
+
+    domid = atoi(argv[1]);
+    vcpu = atoi(argv[2]);
+    frec = atoi(argv[3]);
+
+    act.sa_handler = close_handler;
+    act.sa_flags = 0;
+    sigemptyset(&act.sa_mask);
+    sigaction(SIGHUP,  &act, NULL);
+    sigaction(SIGTERM, &act, NULL);
+    sigaction(SIGINT,  &act, NULL);
+    sigaction(SIGALRM, &act, NULL);
+
+    fh = xenforeignmemory_open(NULL, 0);
+
+    if ( !fh )
+        err(1, "xenforeignmemory_open");
+
+    rc = xenforeignmemory_resource_size(
+        fh, domid, XENMEM_resource_stats_table,
+        0, &size);
+
+    if ( rc )
+        err(1, "Fail: Get size");
+
+    res = xenforeignmemory_map_resource(
+        fh, domid, XENMEM_resource_stats_table,
+        0, XENMEM_resource_stats_frame_vcpustats, size >> XC_PAGE_SHIFT,
+        (void **)&info, PROT_READ, 0);
+
+    if ( !res )
+        err(1, "Fail: Map");
+
+    while ( !interrupted ) {
+        sleep(frec);
+        printf("running cpu_time: %ld\n", info->vcpu_info[vcpu].runstate_running_time);
+    }
+
+    rc = xenforeignmemory_unmap_resource(fh, res);
+    if ( rc )
+        err(1, "Fail: Unmap");
+
+    return 0;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:47:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392623.631092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqiw-0001PP-Ph; Wed, 24 Aug 2022 13:47:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392623.631092; Wed, 24 Aug 2022 13:47:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqiw-0001PI-Mx; Wed, 24 Aug 2022 13:47:14 +0000
Received: by outflank-mailman (input) for mailman id 392623;
 Wed, 24 Aug 2022 13:47:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jsFi=Y4=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oQqiu-0001PC-Et
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:47:12 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2066.outbound.protection.outlook.com [40.107.223.66])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f7c9d78-23b3-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:47:10 +0200 (CEST)
Received: from DS7PR03CA0160.namprd03.prod.outlook.com (2603:10b6:5:3b2::15)
 by BL1PR12MB5109.namprd12.prod.outlook.com (2603:10b6:208:309::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 13:47:06 +0000
Received: from DM6NAM11FT004.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b2:cafe::9b) by DS7PR03CA0160.outlook.office365.com
 (2603:10b6:5:3b2::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Wed, 24 Aug 2022 13:47:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT004.mail.protection.outlook.com (10.13.172.217) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 13:47:06 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 24 Aug
 2022 08:47:04 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 24 Aug
 2022 06:46:56 -0700
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Wed, 24 Aug 2022 08:46:55 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f7c9d78-23b3-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QnvYDfvjJ8gNvVWcg0kyRp32nKDwxnW8oZGU+QFVM66pIs2OiUBZhxf/qxcQS8YCe0YTRu8+cXV4drNOmvIRNC8EWjUXNCH7Gsqv2SnOnmRUZZQwIpgIDNl85UOc94NtPceBcOowBhhULl5a390DY1LEonuOkitPTg/3U/MUr2NrciAVYn2xem0MXuY28c/4bGgGrnelic48/pO0cPVXf/6Qbq5dBl4fdtrqbxzinsXXl7p+VOE43za6PdhsIlf8+SPOiLS6GeGefgvmrmnq+RKM5bkHOKhtmlvgDbKU5HljbNXld4Os6KkaNgxje0FJCUEPeG0tT5EHdtltNEfs8g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ithhV0Zw5thfr7KB14KDGpgEJBLaYAqZ2ogToDYa2H8=;
 b=h3nIxZpE3yrNobemlN/V87BYbwb7RNKUKG9RrOyTZVWIldnyA89zBefa6Arq+XLADAWyOT9ecovDzDwu//NFvQkRxGOVi0PDYS40C53zZHkPaUccDD/XDrpqa1ZufovbTkM6biSyY/fxZUO4WIVH3MqTJzP8v3FxdexT+KoA6C5qPobxjwAviYX8b7KmluKw57kP2/14y2L6mCc1jWNgUAXef58ANzsUdgq2Tza8NxSBJDbJIe/izrRCmspu1fTkKH/7Dkk+IFnHZd/4qYHWo9uvbhcaZhz1KscEt2nehmSjfZ+a8Okg2TmmKKqwK4JKSW59+3dP7Zu2PbXFdVzQQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ithhV0Zw5thfr7KB14KDGpgEJBLaYAqZ2ogToDYa2H8=;
 b=PeU7myESq1slqgUAUegd+UtEyXqEMZJKiQex23GGPEvk4kdGrGZ5YpBG8RqgpC1X8FG54NMvTcEAPkEda1XeojY++bbLmnDABbC5dtVHWG+xuW8GJ2Q8OEBUDV+wEIDiAhELVZYb7tY36QhtAVsvbW0HH6CuarpSl0hVPju4nn0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <af2f8888-7223-429e-cc7e-b0950f759608@amd.com>
Date: Wed, 24 Aug 2022 15:46:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Penny
 Zheng" <penny.zheng@arm.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-2-Henry.Wang@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20220824073127.16762-2-Henry.Wang@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4b5b4708-56b5-4bcf-f4c1-08da85d72239
X-MS-TrafficTypeDiagnostic: BL1PR12MB5109:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QmHQifyx2efAcTJBK2QqeDfSxvrdSD/YGXCVRO0j63qR+NVUCo6/88KPtQtfk9UabFOsHzqFkofxSWZ/4aLUQTxSZmfuGaseEw3Awn0MI2IH/Kgj8LCtIslpE6e4feVifpqcd3fVyXUPza3+pQtHXm3Ryye6bJF+lVn4qBMySw2I/AxW+KZG4ODaReEk4o3HALPOfQ2pe/6Z6MznI+fEBeFPMppbq2ue4djGekNA225fZhHShIB28VnfUTG6ui1oyXPN1tELfays2BX43I1TBG5/jTC8r6MDR/kvzesjGOyxKnSrNjRCjwXpkKdYVluhapWqW/YY2eyapakhlfGvivcC3KazCByZJhomfxtGXKHL0eWWLldRX45/KeQzhxdSmh6Qhim5bIM7E7sx/+v9t2ZlMaZkgUnXI+UKql7shLGv/flNaIsOhoz87YzWdzzpsOINvSs9W51IjTOyr5NGpfpPsHj0TkRSovGJ36/wyDrLvUBAS/XANj+zYoT3bh4pKd2q1vupBkIa3/WbIXRH09PSutl1VL37uHIbAwcjfVubww8gr5QPkoi8LcJit96jtLoLLMjTvCIyBmMUWkEPJHdRbgP0iF+b6u6F9CGisi2A/nEIVSzlaXwrd1XA4+CAYujshGmKF317/D2EuIQR33HWXlLXcavIVDHXKO0QgisdMDOD5LaFDceYKh4mWcbvK3bL7PSZQ8YsNLu56VL9H++nhtTc2uuxovAkmjbqQr9UsOUFfVt/IwcE/83F6fvQxAxC+XiZ7QM0ADQPjahgl8DLc5T21810zpT1uHoew78X0Mok7evkB0atft/FeagMfEP2S8MkggJQ0YaWvCPuEQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(376002)(396003)(346002)(40470700004)(36840700001)(46966006)(81166007)(54906003)(356005)(2906002)(40480700001)(110136005)(82310400005)(36860700001)(53546011)(36756003)(31686004)(26005)(16576012)(316002)(478600001)(5660300002)(186003)(83380400001)(2616005)(44832011)(41300700001)(336012)(8676002)(82740400003)(70206006)(40460700003)(4326008)(70586007)(426003)(31696002)(47076005)(8936002)(86362001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 13:47:06.4095
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b5b4708-56b5-4bcf-f4c1-08da85d72239
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT004.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5109

Hi Henry,

On 24/08/2022 09:31, Henry Wang wrote:
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 98253414b8..e064f64d9a 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -378,3 +378,49 @@ device-tree:
> 
>  This will reserve a 512MB region starting at the host physical address
>  0x30000000 to be exclusively used by DomU1.
> +
> +
> +Reserved Heap Memory
> +====================
> +
> +The reserved heap memory (also known as the statically-configured heap) refers
> +to parts of RAM reserved in the beginning for heap. The memory is reserved by
I think we are missing "... in the beginning" of what.

> +configuration in the device tree using physical address ranges.
> +
> +The reserved heap memory declared in the device tree defines the memory areas
> +that will be reserved to be used exclusively as heap.
> +
> +- For Arm32, since there can be seperated heaps, the reserved heap will be used
Maybe "there are" instead of "there can be" as we do define for Arm32:
#define CONFIG_SEPARATE_XENHEAP 1
and I do not think we have some flexibility to change this.

> +for both domheap and xenheap.
> +- For Arm64, since domheap and xenheap are the same, the defined reserved heap
Instead of writing "since domheap and xenheap are the same" maybe it'd be better to write:
"For Arm64, as there is a single heap..."

> +areas shall always go to the heap allocator.
> +
> +The reserved heap memory is an optional feature and can be enabled by adding a
> +device tree property in the `chosen` node. Currently, this feature reuses the
> +static memory allocation device tree configuration.
> +
> +The dtb property should look like as follows:
> +
> +- property name
> +
> +    "xen,static-mem" (Should be used in the `chosen` node)
> +
> +- cells
> +
> +    Specify the start address and the length of the reserved heap memory.
> +    The number of cells for the address and the size should be defined
> +    using the properties `#xen,static-mem-address-cells` and
> +    `#xen,static-mem-size-cells` respectively.
> +
> +Below is an example on how to specify the reserved heap in device tree:
> +
> +    / {
> +        chosen {
> +            #xen,static-mem-address-cells = <0x2>;
> +            #xen,static-mem-size-cells = <0x2>;
> +            xen,static-mem = <0x0 0x30000000 0x0 0x40000000>;
Please add "..." here as this does not represent the complete working chosen node.

> +        };
> +    };
> +
> +RAM at 0x30000000 of 1G size will be reserved as heap.
> +
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index ec81a45de9..33704ca487 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -64,7 +64,8 @@ void __init device_tree_get_reg(const __be32 **cell, u32 address_cells,
>  static int __init device_tree_get_meminfo(const void *fdt, int node,
>                                            const char *prop_name,
>                                            u32 address_cells, u32 size_cells,
> -                                          void *data, bool xen_domain)
> +                                          void *data, bool xen_domain,
> +                                          bool xen_heap)
>  {
>      const struct fdt_property *prop;
>      unsigned int i, banks;
> @@ -96,6 +97,7 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
>          mem->bank[mem->nr_banks].start = start;
>          mem->bank[mem->nr_banks].size = size;
>          mem->bank[mem->nr_banks].xen_domain = xen_domain;
> +        mem->bank[mem->nr_banks].xen_heap = xen_heap;
>          mem->nr_banks++;
>      }
> 
> @@ -185,7 +187,7 @@ static int __init process_memory_node(const void *fdt, int node,
>                                        void *data)
>  {
>      return device_tree_get_meminfo(fdt, node, "reg", address_cells, size_cells,
> -                                   data, false);
> +                                   data, false, false);
>  }
> 
>  static int __init process_reserved_memory_node(const void *fdt, int node,
> @@ -293,7 +295,7 @@ static void __init process_multiboot_node(const void *fdt, int node,
>                       kind, start, domU);
>  }
> 
> -static void __init process_chosen_node(const void *fdt, int node,
> +static int __init process_chosen_node(const void *fdt, int node,
You do not really need to change the return type of this function.
Currently process_chosen_node just returns on an error condition so you could do the same.

>                                         const char *name,
>                                         u32 address_cells, u32 size_cells)
>  {
> @@ -301,16 +303,40 @@ static void __init process_chosen_node(const void *fdt, int node,
>      paddr_t start, end;
>      int len;
> 
> +    if ( fdt_get_property(fdt, node, "xen,static-mem", NULL) )
> +    {
> +        u32 address_cells = device_tree_get_u32(fdt, node,
> +                                                "#xen,static-mem-address-cells",
> +                                                0);
> +        u32 size_cells = device_tree_get_u32(fdt, node,
> +                                             "#xen,static-mem-size-cells", 0);
> +        int rc;
> +
> +        printk("Checking for reserved heap in /chosen\n");
> +        if ( address_cells < 1 || size_cells < 1 )
address_cells and size_cells cannot be negative so you could just check if there are 0.

> +        {
> +            printk("fdt: node `%s': invalid #xen,static-mem-address-cells or #xen,static-mem-size-cells\n",
> +                   name);
> +            return -EINVAL;
> +        }
> +
> +        rc = device_tree_get_meminfo(fdt, node, "xen,static-mem", address_cells,
> +                                     size_cells, &bootinfo.reserved_mem, false,
> +                                     true);
> +        if ( rc )
> +            return rc;
> +    }
> +
>      printk("Checking for initrd in /chosen\n");
> 
>      prop = fdt_get_property(fdt, node, "linux,initrd-start", &len);
>      if ( !prop )
>          /* No initrd present. */
> -        return;
> +        return 0;
>      if ( len != sizeof(u32) && len != sizeof(u64) )
>      {
>          printk("linux,initrd-start property has invalid length %d\n", len);
> -        return;
> +        return -EINVAL;
This change breaks the current behavior and will result in triggering the printk in early_scan_node for parsing failure.
Is this intended? If so, you could mention this in the commit msg.

>      }
>      start = dt_read_number((void *)&prop->data, dt_size_to_cells(len));
> 
> @@ -318,12 +344,12 @@ static void __init process_chosen_node(const void *fdt, int node,
>      if ( !prop )
>      {
>          printk("linux,initrd-end not present but -start was\n");
> -        return;
> +        return -EINVAL;
>      }
>      if ( len != sizeof(u32) && len != sizeof(u64) )
>      {
>          printk("linux,initrd-end property has invalid length %d\n", len);
> -        return;
> +        return -EINVAL;
>      }
>      end = dt_read_number((void *)&prop->data, dt_size_to_cells(len));
> 
> @@ -331,12 +357,14 @@ static void __init process_chosen_node(const void *fdt, int node,
>      {
>          printk("linux,initrd limits invalid: %"PRIpaddr" >= %"PRIpaddr"\n",
>                    start, end);
> -        return;
> +        return -EINVAL;
>      }
> 
>      printk("Initrd %"PRIpaddr"-%"PRIpaddr"\n", start, end);
> 
>      add_boot_module(BOOTMOD_RAMDISK, start, end-start, false);
> +
> +    return 0;
>  }
> 
>  static int __init process_domain_node(const void *fdt, int node,
> @@ -358,7 +386,8 @@ static int __init process_domain_node(const void *fdt, int node,
>                                       "#xen,static-mem-size-cells", 0);
> 
>      return device_tree_get_meminfo(fdt, node, "xen,static-mem", address_cells,
> -                                   size_cells, &bootinfo.reserved_mem, true);
> +                                   size_cells, &bootinfo.reserved_mem, true,
> +                                   false);
>  }
> 
>  static int __init early_scan_node(const void *fdt,
> @@ -383,7 +412,7 @@ static int __init early_scan_node(const void *fdt,
>                device_tree_node_compatible(fdt, node, "multiboot,module" )))
>          process_multiboot_node(fdt, node, name, address_cells, size_cells);
>      else if ( depth == 1 && device_tree_node_matches(fdt, node, "chosen") )
> -        process_chosen_node(fdt, node, name, address_cells, size_cells);
> +        rc = process_chosen_node(fdt, node, name, address_cells, size_cells);
>      else if ( depth == 2 && device_tree_node_compatible(fdt, node, "xen,domain") )
>          rc = process_domain_node(fdt, node, name, address_cells, size_cells);
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 3fd1186b53..6f97f5f06a 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1038,8 +1038,9 @@ static int __init make_memory_node(const struct domain *d,
>      if ( mem->nr_banks == 0 )
>          return -ENOENT;
> 
> -    /* find first memory range not bound to a Xen domain */
> -    for ( i = 0; i < mem->nr_banks && mem->bank[i].xen_domain; i++ )
> +    /* find first memory range not bound to neither a Xen domain nor heap */
> +    for ( i = 0; i < mem->nr_banks &&
> +                 (mem->bank[i].xen_domain || mem->bank[i].xen_heap); i++ )
>          ;
Could you please add an empty line here to improve readability?

>      if ( i == mem->nr_banks )
>          return 0;
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index 2bb01ecfa8..e80f3d6201 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -27,6 +27,7 @@ struct membank {
>      paddr_t start;
>      paddr_t size;
>      bool xen_domain; /* whether the memory bank is bound to a Xen domain. */
> +    bool xen_heap;   /* whether the memory bank is reserved as heap. */
>  };
> 
>  struct meminfo {
> --
> 2.17.1
> 
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:52:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392630.631103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqo2-0002tr-GN; Wed, 24 Aug 2022 13:52:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392630.631103; Wed, 24 Aug 2022 13:52:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqo2-0002tk-D2; Wed, 24 Aug 2022 13:52:30 +0000
Received: by outflank-mailman (input) for mailman id 392630;
 Wed, 24 Aug 2022 13:52:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQqo1-0002te-Jg
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:52:29 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fddd1917-23b3-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:52:28 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2D3933438E;
 Wed, 24 Aug 2022 13:52:28 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 068A613780;
 Wed, 24 Aug 2022 13:52:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bWMbABwtBmNcdgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 13:52:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fddd1917-23b3-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661349148; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=UBVLAYB9K4zmo9TpX8miaAEpcH8Dab5FCfyS14SUX24=;
	b=oBaa3LMpCYpvXveNcirVOlKG1B4rTnR0gIGEeC/lIsgWpqZn/bte0Yt7y861AGbqJghUVk
	beVaZ84sxNnhb0GpPnMgmg9Sf2HBQbSusz08bX9b6gkopfyGzEbSO7qzJBKJeHDNZzkPGO
	AcmDsdftBlEA/wwF4S5QBI9R4Qr9Cyc=
Message-ID: <1199e064-3311-09cd-283f-d74d5f5c48e3@suse.com>
Date: Wed, 24 Aug 2022 15:52:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: Backport request
Content-Language: en-US
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>,
 Lai Jiangshan <jiangshanlai@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f02f8fb3-2e68-a405-aaef-adc769754bd3@suse.com>
 <YwYVIgnHnKUnoChu@kroah.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwYVIgnHnKUnoChu@kroah.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0Ho7txo44F4Pz1EBqHbGrKoo"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0Ho7txo44F4Pz1EBqHbGrKoo
Content-Type: multipart/mixed; boundary="------------tUyxgDTQAqmIJA8oEnyUuwpp";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>,
 Lai Jiangshan <jiangshanlai@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <1199e064-3311-09cd-283f-d74d5f5c48e3@suse.com>
Subject: Re: Backport request
References: <f02f8fb3-2e68-a405-aaef-adc769754bd3@suse.com>
 <YwYVIgnHnKUnoChu@kroah.com>
In-Reply-To: <YwYVIgnHnKUnoChu@kroah.com>

--------------tUyxgDTQAqmIJA8oEnyUuwpp
Content-Type: multipart/mixed; boundary="------------3Prv0lK3oZQzkdrsP0xjOYXj"

--------------3Prv0lK3oZQzkdrsP0xjOYXj
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTQ6MTAsIEdyZWcgS3JvYWgtSGFydG1hbiB3cm90ZToNCj4gT24gV2Vk
LCBBdWcgMjQsIDIwMjIgYXQgMDE6MjA6MjJQTSArMDIwMCwgSnVlcmdlbiBHcm9zcyB3cm90
ZToNCj4+IEhpIEdyZWcsDQo+Pg0KPj4gc3RhYmxlIGtlcm5lbHMgNS4xOCBhbmQgNS4xNSBz
ZWVtIHRvIGJlIG1pc3NpbmcgdXBzdHJlYW0gcGF0Y2gNCj4+IGM2NGNjMjgwMmE3OCAoIng4
Ni9lbnRyeTogTW92ZSBDTEQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBpZHRlbnRyeSBtYWNybyIp
Lg0KPj4gVGhpcyBpcyBhIHByZXJlcXVpc2l0ZSBwYXRjaCBmb3IgNjRjYmQwYWNiNTgyICgi
eDg2L2VudHJ5OiBEb24ndCBjYWxsDQo+PiBlcnJvcl9lbnRyeSgpIGZvciBYRU5QViIpLCB3
aGljaCBpcyBpbmNsdWRlZCBpbiA1LjE1LnkgYW5kIDUuMTgueS4NCj4+DQo+PiBDb3VsZCB5
b3UgcGxlYXNlIHRha2UgYzY0Y2MyODAyYTc4IGZvciA1LjE1IGFuZCA1LjE4Pw0KPiANCj4g
NS4xOCBpcyBlbmQtb2YtbGlmZSwgc28gdGhhdCdzIGltcG9zc2libGUgdG8gZG8gbm93IDoo
DQo+IA0KPiBGb3IgNS4xNS55LCB0aGUgY29tbWl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHks
IGNhbiB5b3UgcHJvdmlkZSBhIHdvcmtpbmcNCj4gYmFja3BvcnQ/DQoNCkF0dGFjaGVkLg0K
DQoNCkp1ZXJnZW4NCg0K
--------------3Prv0lK3oZQzkdrsP0xjOYXj
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-x86-entry-Move-CLD-to-the-start-of-the-idtentry-macr.patch"
Content-Disposition: attachment;
 filename*0="0001-x86-entry-Move-CLD-to-the-start-of-the-idtentry-macr.pa";
 filename*1="tch"
Content-Transfer-Encoding: base64

RnJvbSAwODJmNDBlODBjMTVjN2IxMTczYzA4NTcwMTRlMzBlZWYxNDcxYWZkIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMYWkgSmlhbmdzaGFuIDxqaWFuZ3NoYW4ubGpzQGFu
dGdyb3VwLmNvbT4KRGF0ZTogVGh1LCAyMSBBcHIgMjAyMiAyMjoxMDo1MSArMDgwMApTdWJq
ZWN0OiBbUEFUQ0hdIHg4Ni9lbnRyeTogTW92ZSBDTEQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBp
ZHRlbnRyeSBtYWNybwoKY29tbWl0IGM2NGNjMjgwMmE3ODRlY2ZkMjVkMzk5NDVlNTdlN2Ex
NDc4NTRhNWIgdXBzdHJlYW0uCgpNb3ZlIGl0IGFmdGVyIENMQUMuCgpTdWdnZXN0ZWQtYnk6
IFBldGVyIFppamxzdHJhIDxwZXRlcnpAaW5mcmFkZWFkLm9yZz4KU2lnbmVkLW9mZi1ieTog
TGFpIEppYW5nc2hhbiA8amlhbmdzaGFuLmxqc0BhbnRncm91cC5jb20+ClNpZ25lZC1vZmYt
Ynk6IEJvcmlzbGF2IFBldGtvdiA8YnBAc3VzZS5kZT4KTGluazogaHR0cHM6Ly9sb3JlLmtl
cm5lbC5vcmcvci8yMDIyMDUwMzAzMjEwNy42ODAxOTAtNS1qaWFuZ3NoYW5sYWlAZ21haWwu
Y29tClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0t
CiBhcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TIHwgOCArKysrKy0tLQogMSBmaWxlIGNoYW5n
ZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNo
L3g4Ni9lbnRyeS9lbnRyeV82NC5TIGIvYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUwppbmRl
eCA3NjNmZjI0M2FlY2EuLmEzYWYyYTkxNTliMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvZW50
cnkvZW50cnlfNjQuUworKysgYi9hcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TCkBAIC0zNzMs
NiArMzczLDcgQEAgU1lNX0NPREVfRU5EKHhlbl9lcnJvcl9lbnRyeSkKIFNZTV9DT0RFX1NU
QVJUKFxhc21zeW0pCiAJVU5XSU5EX0hJTlRfSVJFVF9SRUdTIG9mZnNldD1caGFzX2Vycm9y
X2NvZGUqOAogCUFTTV9DTEFDCisJY2xkCiAKIAkuaWYgXGhhc19lcnJvcl9jb2RlID09IDAK
IAkJcHVzaHEJJC0xCQkJLyogT1JJR19SQVg6IG5vIHN5c2NhbGwgdG8gcmVzdGFydCAqLwpA
QCAtNDQwLDYgKzQ0MSw3IEBAIFNZTV9DT0RFX0VORChcYXNtc3ltKQogU1lNX0NPREVfU1RB
UlQoXGFzbXN5bSkKIAlVTldJTkRfSElOVF9JUkVUX1JFR1MKIAlBU01fQ0xBQworCWNsZAog
CiAJcHVzaHEJJC0xCQkJLyogT1JJR19SQVg6IG5vIHN5c2NhbGwgdG8gcmVzdGFydCAqLwog
CkBAIC00OTUsNiArNDk3LDcgQEAgU1lNX0NPREVfRU5EKFxhc21zeW0pCiBTWU1fQ09ERV9T
VEFSVChcYXNtc3ltKQogCVVOV0lORF9ISU5UX0lSRVRfUkVHUwogCUFTTV9DTEFDCisJY2xk
CiAKIAkvKgogCSAqIElmIHRoZSBlbnRyeSBpcyBmcm9tIHVzZXJzcGFjZSwgc3dpdGNoIHN0
YWNrcyBhbmQgdHJlYXQgaXQgYXMKQEAgLTU1Nyw2ICs1NjAsNyBAQCBTWU1fQ09ERV9FTkQo
XGFzbXN5bSkKIFNZTV9DT0RFX1NUQVJUKFxhc21zeW0pCiAJVU5XSU5EX0hJTlRfSVJFVF9S
RUdTIG9mZnNldD04CiAJQVNNX0NMQUMKKwljbGQKIAogCS8qIHBhcmFub2lkX2VudHJ5IHJl
dHVybnMgR1MgaW5mb3JtYXRpb24gZm9yIHBhcmFub2lkX2V4aXQgaW4gRUJYLiAqLwogCWNh
bGwJcGFyYW5vaWRfZW50cnkKQEAgLTg3Niw3ICs4ODAsNiBAQCBTWU1fQ09ERV9FTkQoeGVu
X2ZhaWxzYWZlX2NhbGxiYWNrKQogICovCiBTWU1fQ09ERV9TVEFSVF9MT0NBTChwYXJhbm9p
ZF9lbnRyeSkKIAlVTldJTkRfSElOVF9GVU5DCi0JY2xkCiAJUFVTSF9BTkRfQ0xFQVJfUkVH
UyBzYXZlX3JldD0xCiAJRU5DT0RFX0ZSQU1FX1BPSU5URVIgOAogCkBAIC0xMDEyLDcgKzEw
MTUsNiBAQCBTWU1fQ09ERV9FTkQocGFyYW5vaWRfZXhpdCkKICAqLwogU1lNX0NPREVfU1RB
UlRfTE9DQUwoZXJyb3JfZW50cnkpCiAJVU5XSU5EX0hJTlRfRlVOQwotCWNsZAogCiAJUFVT
SF9BTkRfQ0xFQVJfUkVHUyBzYXZlX3JldD0xCiAJRU5DT0RFX0ZSQU1FX1BPSU5URVIgOApA
QCAtMTE1NSw2ICsxMTU3LDcgQEAgU1lNX0NPREVfU1RBUlQoYXNtX2V4Y19ubWkpCiAJICov
CiAKIAlBU01fQ0xBQworCWNsZAogCiAJLyogVXNlICVyZHggYXMgb3VyIHRlbXAgdmFyaWFi
bGUgdGhyb3VnaG91dCAqLwogCXB1c2hxCSVyZHgKQEAgLTExNzQsNyArMTE3Nyw2IEBAIFNZ
TV9DT0RFX1NUQVJUKGFzbV9leGNfbm1pKQogCSAqLwogCiAJc3dhcGdzCi0JY2xkCiAJRkVO
Q0VfU1dBUEdTX1VTRVJfRU5UUlkKIAlTV0lUQ0hfVE9fS0VSTkVMX0NSMyBzY3JhdGNoX3Jl
Zz0lcmR4CiAJbW92cQklcnNwLCAlcmR4Ci0tIAoyLjM1LjMKCg==
--------------3Prv0lK3oZQzkdrsP0xjOYXj
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------3Prv0lK3oZQzkdrsP0xjOYXj--

--------------tUyxgDTQAqmIJA8oEnyUuwpp--

--------------0Ho7txo44F4Pz1EBqHbGrKoo
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMGLRsFAwAAAAAACgkQsN6d1ii/Ey+8
Dgf/YIZjCyYdv3wDl6Dn2odZQG5UsbRNCx3ISZvCtQ2xGAGU+OBjtc3sBDnWYIniEkjHTrGT3HhV
wfDuDBQzM3L0HzTnEuAbvLTejKAFKw4qTejCrQxhmbBK0DrHAHt2uRSIJn5sXq37U6DPk6SMeTnC
IPZDovExn6RUUg0Vlfyw+Maq0YGF1ESnoLRFIZfYQ1z6KSGVOpXhUKfLAMirpRH5Q1uozSA98UFs
9iexxQe0kDW6TFSzdejWHJzHaVVzlAv1Ev3gmots012A9/ZjzQ3IksOqREZFhUJuWt04eLkkrZ/6
fF8SAhkhcSqhQuYjVSoaslmWGbbD8Gdu92o1PbtooA==
=W4tC
-----END PGP SIGNATURE-----

--------------0Ho7txo44F4Pz1EBqHbGrKoo--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:52:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:52:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392631.631114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqoS-0003L7-Nx; Wed, 24 Aug 2022 13:52:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392631.631114; Wed, 24 Aug 2022 13:52:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqoS-0003L0-LJ; Wed, 24 Aug 2022 13:52:56 +0000
Received: by outflank-mailman (input) for mailman id 392631;
 Wed, 24 Aug 2022 13:52:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQqoR-0003Km-Ma; Wed, 24 Aug 2022 13:52:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQqoR-0005TF-J7; Wed, 24 Aug 2022 13:52:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQqoR-0007ls-1t; Wed, 24 Aug 2022 13:52:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQqoR-0005uQ-0t; Wed, 24 Aug 2022 13:52:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=L+48tszijyNKVxhL6O6UHrnvUS/mDQdoNsf/EDLBDbQ=; b=4J3+pvD2IT3gqv1eZckofEOCJi
	qBBo2cdP6Ab5ccSuriDaXm3qp64X3OGE4mL3iHVGoRRhrz/ove5H0OWyRpLOHKMr7M57IDlxIgkdp
	0n2YdSxeM9qTyieZX5S+/MprLwrqW3FTOpkWsPTKZdRp9Urhe3j4isHzivcGrE2+5jqc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172741-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172741: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=399bcbf281bd936d1eff7f7d1054ab49115c3a44
X-Osstest-Versions-That:
    xen=696ee5ca9f4e2256e76056cf72a72001a9748f4c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 13:52:55 +0000

flight 172741 xen-unstable real [real]
flight 172751 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172741/
http://logs.test-lab.xenproject.org/osstest/logs/172751/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172751-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172731
 build-i386-libvirt            6 libvirt-build                fail  like 172731
 build-arm64-libvirt           6 libvirt-build                fail  like 172731
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172731
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172731
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172731
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172731
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172731
 build-armhf-libvirt           6 libvirt-build                fail  like 172731
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172731
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172731
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172731
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172731
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  399bcbf281bd936d1eff7f7d1054ab49115c3a44
baseline version:
 xen                  696ee5ca9f4e2256e76056cf72a72001a9748f4c

Last test of basis   172731  2022-08-23 13:23:50 Z    1 days
Testing same since   172741  2022-08-24 01:41:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   696ee5ca9f..399bcbf281  399bcbf281bd936d1eff7f7d1054ab49115c3a44 -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:53:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:53:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392641.631127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqoz-000421-6J; Wed, 24 Aug 2022 13:53:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392641.631127; Wed, 24 Aug 2022 13:53:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqoz-00041u-1b; Wed, 24 Aug 2022 13:53:29 +0000
Received: by outflank-mailman (input) for mailman id 392641;
 Wed, 24 Aug 2022 13:53:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqox-0003fz-PA
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:53:27 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 11544bd4-23b4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:53:01 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 693EA1042;
 Wed, 24 Aug 2022 06:53:29 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 81CC93FAF5;
 Wed, 24 Aug 2022 06:53:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11544bd4-23b4-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 00/10] xen/arm: smmuv3: Merge Linux fixes to Xen
Date: Wed, 24 Aug 2022 14:53:04 +0100
Message-Id: <cover.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series merge the applicable Linux fixes to Xen.

Rahul Singh (10):
  xen/arm: smmuv3: Fix l1 stream table size in the error message
  xen/arm: smmuv3: Fix endianness annotations
  xen/arm: smmuv3: Ensure queue is read after updating prod pointer
  xen/arm: smmuv3: Move definitions to a header
  xen/arm: smmuv3: Remove the page 1 fixup
  xen/arm: smmuv3: Remove the unused fields for PREFETCH_CONFIG command
  xen/arm: smmuv3: Change *array into *const array
  xen/arm: smmuv3: Remove unnecessary oom message
  xen/arm: smmuv3: Fix fall-through warning for Clang
  xen/arm: smmuv3: Avoid open coded arithmetic in memory allocation

 xen/drivers/passthrough/arm/smmu-v3.c | 452 ++------------------------
 xen/drivers/passthrough/arm/smmu-v3.h | 386 ++++++++++++++++++++++
 2 files changed, 420 insertions(+), 418 deletions(-)
 create mode 100644 xen/drivers/passthrough/arm/smmu-v3.h

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:53:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:53:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392645.631137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqp3-0004Lf-Bf; Wed, 24 Aug 2022 13:53:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392645.631137; Wed, 24 Aug 2022 13:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqp3-0004LY-8o; Wed, 24 Aug 2022 13:53:33 +0000
Received: by outflank-mailman (input) for mailman id 392645;
 Wed, 24 Aug 2022 13:53:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqp2-0003gl-26
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:53:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 22bd5aac-23b4-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:53:30 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D85C61F02;
 Wed, 24 Aug 2022 06:53:33 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F29243FAF5;
 Wed, 24 Aug 2022 06:53:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22bd5aac-23b4-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 01/10] xen/arm: smmuv3: Fix l1 stream table size in the error message
Date: Wed, 24 Aug 2022 14:53:05 +0100
Message-Id: <bd9bd6a259b99d4a0ebbfa914f54d8091b1865f5.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit dc898eb84b25c39ea46f28c48a169bdbd0e2c7e0
iommu/arm-smmu-v3: Fix l1 stream table size in the error message

Original commit message:
    iommu/arm-smmu-v3: Fix l1 stream table size in the error message
    The actual size of level-1 stream table is l1size. This looks like
    an oversight on commit d2e88e7c081ef ("iommu/arm-smmu: Fix LOG2SIZE
    setting for 2-level stream tables") which forgot to update the @size
    in error message as well.

    As memory allocation failure is already bad enough, nothing worse
    would happen. But let's be careful.

    Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
    Link: https://lore.kernel.org/r/20200826141758.341-1-yuzenghui@huawei.com
    Signed-off-by: Will Deacon <will@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index f2562acc38..340609264d 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -2348,7 +2348,7 @@ static int arm_smmu_init_strtab_2lvl(struct arm_smmu_device *smmu)
 	if (!strtab) {
 		dev_err(smmu->dev,
 			"failed to allocate l1 stream table (%u bytes)\n",
-			size);
+			l1size);
 		return -ENOMEM;
 	}
 	cfg->strtab = strtab;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:54:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392656.631148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqpe-00059I-JF; Wed, 24 Aug 2022 13:54:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392656.631148; Wed, 24 Aug 2022 13:54:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqpe-000599-GF; Wed, 24 Aug 2022 13:54:10 +0000
Received: by outflank-mailman (input) for mailman id 392656;
 Wed, 24 Aug 2022 13:54:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqpd-0003fz-AX
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:54:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 2a850166-23b4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:53:43 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A10911042;
 Wed, 24 Aug 2022 06:54:11 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BB2633FAF5;
 Wed, 24 Aug 2022 06:54:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a850166-23b4-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 02/10] xen/arm: smmuv3: Fix endianness annotations
Date: Wed, 24 Aug 2022 14:53:06 +0100
Message-Id: <505fe7cc3523eb79d3401eb66fded94fecab2131.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit 376cdf66f62444a1b4ebb393bab9fc44966f9b49
"iommu/arm-smmu-v3: Fix endianness annotations"

Original commit message:
    When building with C=1, sparse reports some issues regarding
    endianness annotations:

    arm-smmu-v3.c:221:26: warning: cast to restricted __le64
    arm-smmu-v3.c:221:24: warning: incorrect type in assignment (different base types)
    arm-smmu-v3.c:221:24:    expected restricted __le64 [usertype]
    arm-smmu-v3.c:221:24:    got unsigned long long [usertype]
    arm-smmu-v3.c:229:20: warning: incorrect type in argument 1 (different base types)
    arm-smmu-v3.c:229:20:    expected restricted __le64 [usertype] *[assigned] dst
    arm-smmu-v3.c:229:20:    got unsigned long long [usertype] *ent
    arm-smmu-v3.c:229:25: warning: incorrect type in argument 2 (different base types)
    arm-smmu-v3.c:229:25:    expected unsigned long long [usertype] *[assigned] src
    arm-smmu-v3.c:229:25:    got restricted __le64 [usertype] *
    arm-smmu-v3.c:396:20: warning: incorrect type in argument 1 (different base types)
    arm-smmu-v3.c:396:20:    expected restricted __le64 [usertype] *[assigned] dst
    arm-smmu-v3.c:396:20:    got unsigned long long *
    arm-smmu-v3.c:396:25: warning: incorrect type in argument 2 (different base types)
    arm-smmu-v3.c:396:25:    expected unsigned long long [usertype] *[assigned] src
    arm-smmu-v3.c:396:25:    got restricted __le64 [usertype] *
    arm-smmu-v3.c:1349:32: warning: invalid assignment: |=
    arm-smmu-v3.c:1349:32:    left side has type restricted __le64
    arm-smmu-v3.c:1349:32:    right side has type unsigned long
    arm-smmu-v3.c:1396:53: warning: incorrect type in argument 3 (different base types)
    arm-smmu-v3.c:1396:53:    expected restricted __le64 [usertype] *dst
    arm-smmu-v3.c:1396:53:    got unsigned long long [usertype] *strtab
    arm-smmu-v3.c:1424:39: warning: incorrect type in argument 1 (different base types)
    arm-smmu-v3.c:1424:39:    expected unsigned long long [usertype] *[assigned] strtab
    arm-smmu-v3.c:1424:39:    got restricted __le64 [usertype] *l2ptr

    While harmless, they are incorrect and could hide actual errors during
    development. Fix them.

    Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Link: https://lore.kernel.org/r/20200918141856.629722-1-jean-philippe@linaro.org
    Signed-off-by: Will Deacon <will@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 340609264d..64d39bb4d3 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1037,7 +1037,7 @@ static int queue_insert_raw(struct arm_smmu_queue *q, u64 *ent)
 	return 0;
 }
 
-static void queue_read(__le64 *dst, u64 *src, size_t n_dwords)
+static void queue_read(u64 *dst, __le64 *src, size_t n_dwords)
 {
 	int i;
 
@@ -1436,7 +1436,7 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_master *master, u32 sid,
 		arm_smmu_cmdq_issue_cmd(smmu, &prefetch_cmd);
 }
 
-static void arm_smmu_init_bypass_stes(u64 *strtab, unsigned int nent)
+static void arm_smmu_init_bypass_stes(__le64 *strtab, unsigned int nent)
 {
 	unsigned int i;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:56:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392666.631167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrf-0005y1-0W; Wed, 24 Aug 2022 13:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392666.631167; Wed, 24 Aug 2022 13:56:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqre-0005xu-Tj; Wed, 24 Aug 2022 13:56:14 +0000
Received: by outflank-mailman (input) for mailman id 392666;
 Wed, 24 Aug 2022 13:56:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqrd-0005xm-Ej
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:56:13 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7461594b-23b4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:55:47 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9E2951042;
 Wed, 24 Aug 2022 06:56:15 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B76963FAF5;
 Wed, 24 Aug 2022 06:56:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7461594b-23b4-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 05/10] xen/arm: smmuv3: Remove the page 1 fixup
Date: Wed, 24 Aug 2022 14:53:09 +0100
Message-Id: <a7cff0c347f1ce75960938afee95a7a174f1b9fa.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit 86d2d9214880c1879cb0ff466cce2fcd9c853e44
"iommu/arm-smmu-v3: Remove the page 1 fixup"

Original commit message:
    iommu/arm-smmu-v3: Remove the page 1 fixup

    Since we now keep track of page 1 via a separate pointer that
    already encapsulates aliasing to page 0 as necessary, we can remove
    the clunky fixup routine and simply use the relevant bases directly.
    The current architecture spec (IHI0070D.a) defines
    SMMU_{EVENTQ,PRIQ}_{PROD,CONS} as offsets relative to page 1, so the
    cleanup represents a little bit of convergence as well as just
    lines of code saved.

    Signed-off-by: Robin Murphy <robin.murphy@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 42 ++++++++++-----------------
 xen/drivers/passthrough/arm/smmu-v3.h |  8 ++---
 2 files changed, 20 insertions(+), 30 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 6a63fcfd04..86f4cb7514 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -525,15 +525,6 @@ static struct arm_smmu_option_prop arm_smmu_options[] = {
 	{ 0, NULL},
 };
 
-static inline void __iomem *arm_smmu_page1_fixup(unsigned long offset,
-						 struct arm_smmu_device *smmu)
-{
-	if (offset > SZ_64K)
-		return smmu->page1 + offset - SZ_64K;
-
-	return smmu->base + offset;
-}
-
 static struct arm_smmu_domain *to_smmu_domain(struct iommu_domain *dom)
 {
 	return container_of(dom, struct arm_smmu_domain, domain);
@@ -1868,6 +1859,7 @@ static int arm_smmu_dt_xlate(struct device *dev,
 /* Probing and initialisation functions */
 static int arm_smmu_init_one_queue(struct arm_smmu_device *smmu,
 				   struct arm_smmu_queue *q,
+				   void __iomem *page,
 				   unsigned long prod_off,
 				   unsigned long cons_off,
 				   size_t dwords, const char *name)
@@ -1896,8 +1888,8 @@ static int arm_smmu_init_one_queue(struct arm_smmu_device *smmu,
 			 1 << q->llq.max_n_shift, name);
 	}
 
-	q->prod_reg	= arm_smmu_page1_fixup(prod_off, smmu);
-	q->cons_reg	= arm_smmu_page1_fixup(cons_off, smmu);
+	q->prod_reg	= page + prod_off;
+	q->cons_reg	= page + prod_off;
 	q->ent_dwords	= dwords;
 
 	q->q_base  = Q_BASE_RWA;
@@ -1914,16 +1906,16 @@ static int arm_smmu_init_queues(struct arm_smmu_device *smmu)
 
 	/* cmdq */
 	spin_lock_init(&smmu->cmdq.lock);
-	ret = arm_smmu_init_one_queue(smmu, &smmu->cmdq.q, ARM_SMMU_CMDQ_PROD,
-				      ARM_SMMU_CMDQ_CONS, CMDQ_ENT_DWORDS,
-				      "cmdq");
+	ret = arm_smmu_init_one_queue(smmu, &smmu->cmdq.q, smmu->base,
+					  ARM_SMMU_CMDQ_PROD, ARM_SMMU_CMDQ_CONS,
+					  CMDQ_ENT_DWORDS, "cmdq");
 	if (ret)
 		return ret;
 
 	/* evtq */
-	ret = arm_smmu_init_one_queue(smmu, &smmu->evtq.q, ARM_SMMU_EVTQ_PROD,
-				      ARM_SMMU_EVTQ_CONS, EVTQ_ENT_DWORDS,
-				      "evtq");
+	ret = arm_smmu_init_one_queue(smmu, &smmu->evtq.q, smmu->page1,
+					  ARM_SMMU_EVTQ_PROD, ARM_SMMU_EVTQ_CONS,
+					  EVTQ_ENT_DWORDS, "evtq");
 	if (ret)
 		return ret;
 
@@ -1931,9 +1923,9 @@ static int arm_smmu_init_queues(struct arm_smmu_device *smmu)
 	if (!(smmu->features & ARM_SMMU_FEAT_PRI))
 		return 0;
 
-	return arm_smmu_init_one_queue(smmu, &smmu->priq.q, ARM_SMMU_PRIQ_PROD,
-				       ARM_SMMU_PRIQ_CONS, PRIQ_ENT_DWORDS,
-				       "priq");
+	return arm_smmu_init_one_queue(smmu, &smmu->priq.q, smmu->page1,
+					   ARM_SMMU_PRIQ_PROD, ARM_SMMU_PRIQ_CONS,
+					   PRIQ_ENT_DWORDS, "priq");
 }
 
 static int arm_smmu_init_l1_strtab(struct arm_smmu_device *smmu)
@@ -2377,10 +2369,8 @@ static int arm_smmu_device_reset(struct arm_smmu_device *smmu)
 
 	/* Event queue */
 	writeq_relaxed(smmu->evtq.q.q_base, smmu->base + ARM_SMMU_EVTQ_BASE);
-	writel_relaxed(smmu->evtq.q.llq.prod,
-		       arm_smmu_page1_fixup(ARM_SMMU_EVTQ_PROD, smmu));
-	writel_relaxed(smmu->evtq.q.llq.cons,
-		       arm_smmu_page1_fixup(ARM_SMMU_EVTQ_CONS, smmu));
+	writel_relaxed(smmu->evtq.q.llq.prod, smmu->page1 + ARM_SMMU_EVTQ_PROD);
+	writel_relaxed(smmu->evtq.q.llq.cons, smmu->page1 + ARM_SMMU_EVTQ_CONS);
 
 	enables |= CR0_EVTQEN;
 	ret = arm_smmu_write_reg_sync(smmu, enables, ARM_SMMU_CR0,
@@ -2395,9 +2385,9 @@ static int arm_smmu_device_reset(struct arm_smmu_device *smmu)
 		writeq_relaxed(smmu->priq.q.q_base,
 			       smmu->base + ARM_SMMU_PRIQ_BASE);
 		writel_relaxed(smmu->priq.q.llq.prod,
-			       arm_smmu_page1_fixup(ARM_SMMU_PRIQ_PROD, smmu));
+			       smmu->page1 + ARM_SMMU_PRIQ_PROD);
 		writel_relaxed(smmu->priq.q.llq.cons,
-			       arm_smmu_page1_fixup(ARM_SMMU_PRIQ_CONS, smmu));
+			       smmu->page1 + ARM_SMMU_PRIQ_CONS);
 
 		enables |= CR0_PRIQEN;
 		ret = arm_smmu_write_reg_sync(smmu, enables, ARM_SMMU_CR0,
diff --git a/xen/drivers/passthrough/arm/smmu-v3.h b/xen/drivers/passthrough/arm/smmu-v3.h
index 3a63cd6678..01e7979016 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.h
+++ b/xen/drivers/passthrough/arm/smmu-v3.h
@@ -130,15 +130,15 @@
 #define ARM_SMMU_CMDQ_CONS		0x9c
 
 #define ARM_SMMU_EVTQ_BASE		0xa0
-#define ARM_SMMU_EVTQ_PROD		0x100a8
-#define ARM_SMMU_EVTQ_CONS		0x100ac
+#define ARM_SMMU_EVTQ_PROD		0xa8
+#define ARM_SMMU_EVTQ_CONS		0xac
 #define ARM_SMMU_EVTQ_IRQ_CFG0		0xb0
 #define ARM_SMMU_EVTQ_IRQ_CFG1		0xb8
 #define ARM_SMMU_EVTQ_IRQ_CFG2		0xbc
 
 #define ARM_SMMU_PRIQ_BASE		0xc0
-#define ARM_SMMU_PRIQ_PROD		0x100c8
-#define ARM_SMMU_PRIQ_CONS		0x100cc
+#define ARM_SMMU_PRIQ_PROD		0xc8
+#define ARM_SMMU_PRIQ_CONS		0xcc
 #define ARM_SMMU_PRIQ_IRQ_CFG0		0xd0
 #define ARM_SMMU_PRIQ_IRQ_CFG1		0xd8
 #define ARM_SMMU_PRIQ_IRQ_CFG2		0xdc
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:56:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392667.631178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrl-0006Gj-7Y; Wed, 24 Aug 2022 13:56:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392667.631178; Wed, 24 Aug 2022 13:56:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrl-0006Ga-4S; Wed, 24 Aug 2022 13:56:21 +0000
Received: by outflank-mailman (input) for mailman id 392667;
 Wed, 24 Aug 2022 13:56:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqrk-0006Fu-FX
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:56:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8776f6da-23b4-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:56:19 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F41521042;
 Wed, 24 Aug 2022 06:56:22 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 19DA43FAF5;
 Wed, 24 Aug 2022 06:56:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8776f6da-23b4-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 06/10] xen/arm: smmuv3: Remove the unused fields for PREFETCH_CONFIG command
Date: Wed, 24 Aug 2022 14:53:10 +0100
Message-Id: <4b6d7c257f7138d6055e76b2023e6eb1f5423c7b.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit e0bb4b73540495111ff2723e41cf5add2f031021

Original commit message:
    iommu/arm-smmu-v3: Remove the unused fields for PREFETCH_CONFIG
    command

    Per SMMUv3 spec, there is no Size and Addr field in the
    PREFETCH_CONFIG command and they're not used by the driver.
    Remove them.

    We can add them back if we're going to use PREFETCH_ADDR in the
    future.

    Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
    Link: https://lore.kernel.org/r/20210407084448.1838-1-yuzenghui@huawei.com
    Signed-off-by: Will Deacon <will@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 86f4cb7514..c0ec5f1525 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -299,8 +299,6 @@ struct arm_smmu_cmdq_ent {
 		#define CMDQ_OP_PREFETCH_CFG	0x1
 		struct {
 			u32			sid;
-			u8			size;
-			u64			addr;
 		} prefetch;
 
 		#define CMDQ_OP_CFGI_STE	0x3
@@ -692,8 +690,6 @@ static int arm_smmu_cmdq_build_cmd(u64 *cmd, struct arm_smmu_cmdq_ent *ent)
 		break;
 	case CMDQ_OP_PREFETCH_CFG:
 		cmd[0] |= FIELD_PREP(CMDQ_PREFETCH_0_SID, ent->prefetch.sid);
-		cmd[1] |= FIELD_PREP(CMDQ_PREFETCH_1_SIZE, ent->prefetch.size);
-		cmd[1] |= ent->prefetch.addr & CMDQ_PREFETCH_1_ADDR_MASK;
 		break;
 	case CMDQ_OP_CFGI_STE:
 		cmd[0] |= FIELD_PREP(CMDQ_CFGI_0_SID, ent->cfgi.sid);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:56:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392668.631189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrn-0006YK-FT; Wed, 24 Aug 2022 13:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392668.631189; Wed, 24 Aug 2022 13:56:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrn-0006Y4-Cb; Wed, 24 Aug 2022 13:56:23 +0000
Received: by outflank-mailman (input) for mailman id 392668;
 Wed, 24 Aug 2022 13:56:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqrm-0006Fu-F4
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:56:22 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 88d175d7-23b4-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:56:21 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 41B341F02;
 Wed, 24 Aug 2022 06:56:25 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5B8B03FAF5;
 Wed, 24 Aug 2022 06:56:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88d175d7-23b4-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 07/10] xen/arm: smmuv3: Change *array into *const array
Date: Wed, 24 Aug 2022 14:53:11 +0100
Message-Id: <f1d26c8463dcc672f3126727da36e2a822f1c8c5.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit d56d5162e31760ab5b6ffe592aea8494d5567220
"iommu/arm-smmu-v3: Change *array into *const array"

Original commit message:
    iommu/arm-smmu-v3: Change *array into *const array

    Fix checkpatch warning in arm-smmu-v3.c:
    static const char * array should probably be static const char
    * const

    Signed-off-by: Bixuan Cui <cuibixuan@huawei.com>
    Signed-off-by: Will Deacon <will@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index c0ec5f1525..0ade8f51c6 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -755,7 +755,7 @@ static int arm_smmu_cmdq_build_cmd(u64 *cmd, struct arm_smmu_cmdq_ent *ent)
 
 static void arm_smmu_cmdq_skip_err(struct arm_smmu_device *smmu)
 {
-	static const char *cerror_str[] = {
+	static const char * const cerror_str[] = {
 		[CMDQ_ERR_CERROR_NONE_IDX]	= "No error",
 		[CMDQ_ERR_CERROR_ILL_IDX]	= "Illegal command",
 		[CMDQ_ERR_CERROR_ABT_IDX]	= "Abort on command fetch",
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:56:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:56:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392669.631200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqro-0006py-S1; Wed, 24 Aug 2022 13:56:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392669.631200; Wed, 24 Aug 2022 13:56:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqro-0006pf-LH; Wed, 24 Aug 2022 13:56:24 +0000
Received: by outflank-mailman (input) for mailman id 392669;
 Wed, 24 Aug 2022 13:56:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqrn-0005xm-NZ
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:56:23 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7aca287d-23b4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:55:58 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 71B191042;
 Wed, 24 Aug 2022 06:56:26 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8BB6D3FAF5;
 Wed, 24 Aug 2022 06:56:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7aca287d-23b4-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 08/10] xen/arm: smmuv3: Remove unnecessary oom message
Date: Wed, 24 Aug 2022 14:53:12 +0100
Message-Id: <f9314c330d4ac0690bc648708f03a6a7b554099d.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit affa909571b0036b5d46aeff940ad4358f4abe1d
"iommu/arm-smmu-v3: Remove unnecessary oom message"

Original commit message:
    iommu/arm-smmu-v3: Remove unnecessary oom message

    Fixes scripts/checkpatch.pl warning:
    WARNING: Possible unnecessary 'out of memory' message

    Remove it can help us save a bit of memory.

    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Link: https://lore.kernel.org/r/20210609125438.14369-1-thunder.leizhen@huawei.com
    Signed-off-by: Will Deacon <will@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 0ade8f51c6..df39b8ae37 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1932,10 +1932,8 @@ static int arm_smmu_init_l1_strtab(struct arm_smmu_device *smmu)
 	void *strtab = smmu->strtab_cfg.strtab;
 
 	cfg->l1_desc = _xzalloc(size, sizeof(void *));
-	if (!cfg->l1_desc) {
-		dev_err(smmu->dev, "failed to allocate l1 stream table desc\n");
+	if (!cfg->l1_desc)
 		return -ENOMEM;
-	}
 
 	for (i = 0; i < cfg->num_l1_ents; ++i) {
 		arm_smmu_write_strtab_l1_desc(strtab, &cfg->l1_desc[i]);
@@ -2720,10 +2718,8 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	struct arm_smmu_device *smmu;
 
 	smmu = xzalloc(struct arm_smmu_device);
-	if (!smmu) {
-		dev_err(pdev, "failed to allocate arm_smmu_device\n");
+	if (!smmu)
 		return -ENOMEM;
-	}
 	smmu->dev = pdev;
 
 	if (pdev->of_node) {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:56:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392671.631211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrr-0007Dm-7r; Wed, 24 Aug 2022 13:56:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392671.631211; Wed, 24 Aug 2022 13:56:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrr-0007Df-3t; Wed, 24 Aug 2022 13:56:27 +0000
Received: by outflank-mailman (input) for mailman id 392671;
 Wed, 24 Aug 2022 13:56:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqrp-0005xm-2T
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:56:25 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7ba3b258-23b4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:55:59 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C4BEB1F02;
 Wed, 24 Aug 2022 06:56:27 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DE7413FAF5;
 Wed, 24 Aug 2022 06:56:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ba3b258-23b4-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 09/10] xen/arm: smmuv3: Fix fall-through warning for Clang
Date: Wed, 24 Aug 2022 14:53:13 +0100
Message-Id: <40b97fa321d1b9689aaf92f12c50a8fe8330ef48.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit 5a1ab5c0299a7b3b9e7ec52c327f44d98b8e001d
"iommu/arm-smmu-v3: Fix fall-through warning for Clang"

Original commit message:
    iommu/arm-smmu-v3: Fix fall-through warning for Clang
    Fix the following fallthrough warning (arm64-randconfig with Clang):

    drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:382:2: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]

    Reported-by: kernel test robot <lkp@intel.com>
    Link: https://lore.kernel.org/lkml/60edca25.k00ut905IFBjPyt5%25lkp@intel.com/
    Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index df39b8ae37..900149d0fa 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -777,6 +777,7 @@ static void arm_smmu_cmdq_skip_err(struct arm_smmu_device *smmu)
 	switch (idx) {
 	case CMDQ_ERR_CERROR_ABT_IDX:
 		dev_err(smmu->dev, "retrying command fetch\n");
+		return;
 	case CMDQ_ERR_CERROR_NONE_IDX:
 		return;
 	case CMDQ_ERR_CERROR_ATC_INV_IDX:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:56:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:56:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392672.631222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrs-0007Vy-JR; Wed, 24 Aug 2022 13:56:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392672.631222; Wed, 24 Aug 2022 13:56:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqrs-0007Vm-DR; Wed, 24 Aug 2022 13:56:28 +0000
Received: by outflank-mailman (input) for mailman id 392672;
 Wed, 24 Aug 2022 13:56:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqrr-0005xm-9r
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:56:27 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7cf531a8-23b4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:56:01 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0DCA11042;
 Wed, 24 Aug 2022 06:56:30 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 27DA83FAF5;
 Wed, 24 Aug 2022 06:56:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cf531a8-23b4-11ed-9250-1f966e50362f
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 10/10] xen/arm: smmuv3: Avoid open coded arithmetic in memory allocation
Date: Wed, 24 Aug 2022 14:53:14 +0100
Message-Id: <077dda72f2e43ae0ea5794f4d403eddd225c87e4.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit 98b64741d61124a12fb05a7595acb1fd6c1dc55d
"iommu/arm-smmu-v3: Avoid open coded arithmetic in memory allocation"

Original commit message:
    iommu/arm-smmu-v3: Avoid open coded arithmetic in memory allocation
    kmalloc_array()/kcalloc() should be used to avoid potential overflow
    when a multiplication is needed to compute the size of the requested
    memory.

    So turn a devm_kzalloc()+explicit size computation into an
    equivalent devm_kcalloc().

    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Acked-by: Robin Murphy <robin.murphy@arm.com>
    Link: https://lore.kernel.org/r/3f7b9b202c6b6f5edc234ab7af5f208fbf8bc944.1644274051.git.christophe.jaillet@wanadoo.fr
    Signed-off-by: Will Deacon <will@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 900149d0fa..e074d7806f 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1929,10 +1929,10 @@ static int arm_smmu_init_l1_strtab(struct arm_smmu_device *smmu)
 {
 	unsigned int i;
 	struct arm_smmu_strtab_cfg *cfg = &smmu->strtab_cfg;
-	size_t size = sizeof(*cfg->l1_desc) * cfg->num_l1_ents;
 	void *strtab = smmu->strtab_cfg.strtab;
 
-	cfg->l1_desc = _xzalloc(size, sizeof(void *));
+	cfg->l1_desc = _xzalloc_array(sizeof(*cfg->l1_desc), sizeof(void *),
+								  cfg->num_l1_ents);
 	if (!cfg->l1_desc)
 		return -ENOMEM;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:59:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:59:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392709.631244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqup-0001O9-8j; Wed, 24 Aug 2022 13:59:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392709.631244; Wed, 24 Aug 2022 13:59:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqup-0001O2-5Q; Wed, 24 Aug 2022 13:59:31 +0000
Received: by outflank-mailman (input) for mailman id 392709;
 Wed, 24 Aug 2022 13:59:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqqS-0003gl-NH
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:55:00 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 575b70f1-23b4-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:54:58 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 390851042;
 Wed, 24 Aug 2022 06:55:02 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1DB393FAF5;
 Wed, 24 Aug 2022 06:54:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 575b70f1-23b4-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 04/10] xen/arm: smmuv3: Move definitions to a header
Date: Wed, 24 Aug 2022 14:53:08 +0100
Message-Id: <e8ad3eed5474f2f09ef4fcca1ce0d1a669baca2b.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allow sharing structure definitions with the upcoming virtual
smmuv3 support for Arm SMMUv3, by moving them to a separate header.

Code was imported from Linux source code so keep the Linux syntax.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 376 +------------------------
 xen/drivers/passthrough/arm/smmu-v3.h | 386 ++++++++++++++++++++++++++
 2 files changed, 387 insertions(+), 375 deletions(-)
 create mode 100644 xen/drivers/passthrough/arm/smmu-v3.h

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 93891a0704..6a63fcfd04 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -90,6 +90,7 @@
 #include <asm/iommu_fwspec.h>
 #include <asm/platform.h>
 
+#include "smmu-v3.h"
 
 #define ARM_SMMU_VTCR_SH_IS		3
 #define ARM_SMMU_VTCR_RGN_WBWA		1
@@ -157,12 +158,6 @@ typedef unsigned int		gfp_t;
 #define readl_relaxed_poll_timeout(addr, val, cond, delay_us, timeout_us)	\
 	readx_poll_timeout(readl_relaxed, addr, val, cond, delay_us, timeout_us)
 
-#define FIELD_PREP(_mask, _val)			\
-	(((typeof(_mask))(_val) << (ffs64(_mask) - 1)) & (_mask))
-
-#define FIELD_GET(_mask, _reg)			\
-	((typeof(_mask))(((_reg) & (_mask)) >> (ffs64(_mask) - 1)))
-
 /*
  * Helpers for DMA allocation. Just the function name is reused for
  * porting code, these allocation are not managed allocations
@@ -259,367 +254,6 @@ static int platform_get_irq_byname_optional(struct device *dev,
 }
 
 /* Start of Linux SMMUv3 code */
-/* MMIO registers */
-#define ARM_SMMU_IDR0			0x0
-#define IDR0_ST_LVL			GENMASK(28, 27)
-#define IDR0_ST_LVL_2LVL		1
-#define IDR0_STALL_MODEL		GENMASK(25, 24)
-#define IDR0_STALL_MODEL_STALL		0
-#define IDR0_STALL_MODEL_FORCE		2
-#define IDR0_TTENDIAN			GENMASK(22, 21)
-#define IDR0_TTENDIAN_MIXED		0
-#define IDR0_TTENDIAN_LE		2
-#define IDR0_TTENDIAN_BE		3
-#define IDR0_CD2L			(1 << 19)
-#define IDR0_VMID16			(1 << 18)
-#define IDR0_PRI			(1 << 16)
-#define IDR0_SEV			(1 << 14)
-#define IDR0_MSI			(1 << 13)
-#define IDR0_ASID16			(1 << 12)
-#define IDR0_ATS			(1 << 10)
-#define IDR0_HYP			(1 << 9)
-#define IDR0_COHACC			(1 << 4)
-#define IDR0_TTF			GENMASK(3, 2)
-#define IDR0_TTF_AARCH64		2
-#define IDR0_TTF_AARCH32_64		3
-#define IDR0_S1P			(1 << 1)
-#define IDR0_S2P			(1 << 0)
-
-#define ARM_SMMU_IDR1			0x4
-#define IDR1_TABLES_PRESET		(1 << 30)
-#define IDR1_QUEUES_PRESET		(1 << 29)
-#define IDR1_REL			(1 << 28)
-#define IDR1_CMDQS			GENMASK(25, 21)
-#define IDR1_EVTQS			GENMASK(20, 16)
-#define IDR1_PRIQS			GENMASK(15, 11)
-#define IDR1_SSIDSIZE			GENMASK(10, 6)
-#define IDR1_SIDSIZE			GENMASK(5, 0)
-
-#define ARM_SMMU_IDR5			0x14
-#define IDR5_STALL_MAX			GENMASK(31, 16)
-#define IDR5_GRAN64K			(1 << 6)
-#define IDR5_GRAN16K			(1 << 5)
-#define IDR5_GRAN4K			(1 << 4)
-#define IDR5_OAS			GENMASK(2, 0)
-#define IDR5_OAS_32_BIT			0
-#define IDR5_OAS_36_BIT			1
-#define IDR5_OAS_40_BIT			2
-#define IDR5_OAS_42_BIT			3
-#define IDR5_OAS_44_BIT			4
-#define IDR5_OAS_48_BIT			5
-#define IDR5_OAS_52_BIT			6
-#define IDR5_VAX			GENMASK(11, 10)
-#define IDR5_VAX_52_BIT			1
-
-#define ARM_SMMU_CR0			0x20
-#define CR0_ATSCHK			(1 << 4)
-#define CR0_CMDQEN			(1 << 3)
-#define CR0_EVTQEN			(1 << 2)
-#define CR0_PRIQEN			(1 << 1)
-#define CR0_SMMUEN			(1 << 0)
-
-#define ARM_SMMU_CR0ACK			0x24
-
-#define ARM_SMMU_CR1			0x28
-#define CR1_TABLE_SH			GENMASK(11, 10)
-#define CR1_TABLE_OC			GENMASK(9, 8)
-#define CR1_TABLE_IC			GENMASK(7, 6)
-#define CR1_QUEUE_SH			GENMASK(5, 4)
-#define CR1_QUEUE_OC			GENMASK(3, 2)
-#define CR1_QUEUE_IC			GENMASK(1, 0)
-/* CR1 cacheability fields don't quite follow the usual TCR-style encoding */
-#define CR1_CACHE_NC			0
-#define CR1_CACHE_WB			1
-#define CR1_CACHE_WT			2
-
-#define ARM_SMMU_CR2			0x2c
-#define CR2_PTM				(1 << 2)
-#define CR2_RECINVSID			(1 << 1)
-#define CR2_E2H				(1 << 0)
-
-#define ARM_SMMU_GBPA			0x44
-#define GBPA_UPDATE			(1U << 31)
-#define GBPA_ABORT			(1 << 20)
-
-#define ARM_SMMU_IRQ_CTRL		0x50
-#define IRQ_CTRL_EVTQ_IRQEN		(1 << 2)
-#define IRQ_CTRL_PRIQ_IRQEN		(1 << 1)
-#define IRQ_CTRL_GERROR_IRQEN		(1 << 0)
-
-#define ARM_SMMU_IRQ_CTRLACK		0x54
-
-#define ARM_SMMU_GERROR			0x60
-#define GERROR_SFM_ERR			(1 << 8)
-#define GERROR_MSI_GERROR_ABT_ERR	(1 << 7)
-#define GERROR_MSI_PRIQ_ABT_ERR		(1 << 6)
-#define GERROR_MSI_EVTQ_ABT_ERR		(1 << 5)
-#define GERROR_MSI_CMDQ_ABT_ERR		(1 << 4)
-#define GERROR_PRIQ_ABT_ERR		(1 << 3)
-#define GERROR_EVTQ_ABT_ERR		(1 << 2)
-#define GERROR_CMDQ_ERR			(1 << 0)
-#define GERROR_ERR_MASK			0xfd
-
-#define ARM_SMMU_GERRORN		0x64
-
-#define ARM_SMMU_GERROR_IRQ_CFG0	0x68
-#define ARM_SMMU_GERROR_IRQ_CFG1	0x70
-#define ARM_SMMU_GERROR_IRQ_CFG2	0x74
-
-#define ARM_SMMU_STRTAB_BASE		0x80
-#define STRTAB_BASE_RA			(1UL << 62)
-#define STRTAB_BASE_ADDR_MASK		GENMASK_ULL(51, 6)
-
-#define ARM_SMMU_STRTAB_BASE_CFG	0x88
-#define STRTAB_BASE_CFG_FMT		GENMASK(17, 16)
-#define STRTAB_BASE_CFG_FMT_LINEAR	0
-#define STRTAB_BASE_CFG_FMT_2LVL	1
-#define STRTAB_BASE_CFG_SPLIT		GENMASK(10, 6)
-#define STRTAB_BASE_CFG_LOG2SIZE	GENMASK(5, 0)
-
-#define ARM_SMMU_CMDQ_BASE		0x90
-#define ARM_SMMU_CMDQ_PROD		0x98
-#define ARM_SMMU_CMDQ_CONS		0x9c
-
-#define ARM_SMMU_EVTQ_BASE		0xa0
-#define ARM_SMMU_EVTQ_PROD		0x100a8
-#define ARM_SMMU_EVTQ_CONS		0x100ac
-#define ARM_SMMU_EVTQ_IRQ_CFG0		0xb0
-#define ARM_SMMU_EVTQ_IRQ_CFG1		0xb8
-#define ARM_SMMU_EVTQ_IRQ_CFG2		0xbc
-
-#define ARM_SMMU_PRIQ_BASE		0xc0
-#define ARM_SMMU_PRIQ_PROD		0x100c8
-#define ARM_SMMU_PRIQ_CONS		0x100cc
-#define ARM_SMMU_PRIQ_IRQ_CFG0		0xd0
-#define ARM_SMMU_PRIQ_IRQ_CFG1		0xd8
-#define ARM_SMMU_PRIQ_IRQ_CFG2		0xdc
-
-#define ARM_SMMU_REG_SZ			0xe00
-
-/* Common MSI config fields */
-#define MSI_CFG0_ADDR_MASK		GENMASK_ULL(51, 2)
-#define MSI_CFG2_SH			GENMASK(5, 4)
-#define MSI_CFG2_MEMATTR		GENMASK(3, 0)
-
-/* Common memory attribute values */
-#define ARM_SMMU_SH_NSH			0
-#define ARM_SMMU_SH_OSH			2
-#define ARM_SMMU_SH_ISH			3
-#define ARM_SMMU_MEMATTR_DEVICE_nGnRE	0x1
-#define ARM_SMMU_MEMATTR_OIWB		0xf
-
-#define Q_IDX(llq, p)			((p) & ((1 << (llq)->max_n_shift) - 1))
-#define Q_WRP(llq, p)			((p) & (1 << (llq)->max_n_shift))
-#define Q_OVERFLOW_FLAG			(1U << 31)
-#define Q_OVF(p)			((p) & Q_OVERFLOW_FLAG)
-#define Q_ENT(q, p)			((q)->base +			\
-					 Q_IDX(&((q)->llq), p) *	\
-					 (q)->ent_dwords)
-
-#define Q_BASE_RWA			(1UL << 62)
-#define Q_BASE_ADDR_MASK		GENMASK_ULL(51, 5)
-#define Q_BASE_LOG2SIZE			GENMASK(4, 0)
-
-/* Ensure DMA allocations are naturally aligned */
-#ifdef CONFIG_CMA_ALIGNMENT
-#define Q_MAX_SZ_SHIFT			(PAGE_SHIFT + CONFIG_CMA_ALIGNMENT)
-#else
-#define Q_MAX_SZ_SHIFT			(PAGE_SHIFT + MAX_ORDER - 1)
-#endif
-
-/*
- * Stream table.
- *
- * Linear: Enough to cover 1 << IDR1.SIDSIZE entries
- * 2lvl: 128k L1 entries,
- *       256 lazy entries per table (each table covers a PCI bus)
- */
-#define STRTAB_L1_SZ_SHIFT		20
-#define STRTAB_SPLIT			8
-
-#define STRTAB_L1_DESC_DWORDS		1
-#define STRTAB_L1_DESC_SPAN		GENMASK_ULL(4, 0)
-#define STRTAB_L1_DESC_L2PTR_MASK	GENMASK_ULL(51, 6)
-
-#define STRTAB_STE_DWORDS		8
-#define STRTAB_STE_0_V			(1UL << 0)
-#define STRTAB_STE_0_CFG		GENMASK_ULL(3, 1)
-#define STRTAB_STE_0_CFG_ABORT		0
-#define STRTAB_STE_0_CFG_BYPASS		4
-#define STRTAB_STE_0_CFG_S1_TRANS	5
-#define STRTAB_STE_0_CFG_S2_TRANS	6
-
-#define STRTAB_STE_0_S1FMT		GENMASK_ULL(5, 4)
-#define STRTAB_STE_0_S1FMT_LINEAR	0
-#define STRTAB_STE_0_S1FMT_64K_L2	2
-#define STRTAB_STE_0_S1CTXPTR_MASK	GENMASK_ULL(51, 6)
-#define STRTAB_STE_0_S1CDMAX		GENMASK_ULL(63, 59)
-
-#define STRTAB_STE_1_S1DSS		GENMASK_ULL(1, 0)
-#define STRTAB_STE_1_S1DSS_TERMINATE	0x0
-#define STRTAB_STE_1_S1DSS_BYPASS	0x1
-#define STRTAB_STE_1_S1DSS_SSID0	0x2
-
-#define STRTAB_STE_1_S1C_CACHE_NC	0UL
-#define STRTAB_STE_1_S1C_CACHE_WBRA	1UL
-#define STRTAB_STE_1_S1C_CACHE_WT	2UL
-#define STRTAB_STE_1_S1C_CACHE_WB	3UL
-#define STRTAB_STE_1_S1CIR		GENMASK_ULL(3, 2)
-#define STRTAB_STE_1_S1COR		GENMASK_ULL(5, 4)
-#define STRTAB_STE_1_S1CSH		GENMASK_ULL(7, 6)
-
-#define STRTAB_STE_1_S1STALLD		(1UL << 27)
-
-#define STRTAB_STE_1_EATS		GENMASK_ULL(29, 28)
-#define STRTAB_STE_1_EATS_ABT		0UL
-#define STRTAB_STE_1_EATS_TRANS		1UL
-#define STRTAB_STE_1_EATS_S1CHK		2UL
-
-#define STRTAB_STE_1_STRW		GENMASK_ULL(31, 30)
-#define STRTAB_STE_1_STRW_NSEL1		0UL
-#define STRTAB_STE_1_STRW_EL2		2UL
-
-#define STRTAB_STE_1_SHCFG		GENMASK_ULL(45, 44)
-#define STRTAB_STE_1_SHCFG_INCOMING	1UL
-
-#define STRTAB_STE_2_S2VMID		GENMASK_ULL(15, 0)
-#define STRTAB_STE_2_VTCR		GENMASK_ULL(50, 32)
-#define STRTAB_STE_2_VTCR_S2T0SZ	GENMASK_ULL(5, 0)
-#define STRTAB_STE_2_VTCR_S2SL0		GENMASK_ULL(7, 6)
-#define STRTAB_STE_2_VTCR_S2IR0		GENMASK_ULL(9, 8)
-#define STRTAB_STE_2_VTCR_S2OR0		GENMASK_ULL(11, 10)
-#define STRTAB_STE_2_VTCR_S2SH0		GENMASK_ULL(13, 12)
-#define STRTAB_STE_2_VTCR_S2TG		GENMASK_ULL(15, 14)
-#define STRTAB_STE_2_VTCR_S2PS		GENMASK_ULL(18, 16)
-#define STRTAB_STE_2_S2AA64		(1UL << 51)
-#define STRTAB_STE_2_S2ENDI		(1UL << 52)
-#define STRTAB_STE_2_S2PTW		(1UL << 54)
-#define STRTAB_STE_2_S2R		(1UL << 58)
-
-#define STRTAB_STE_3_S2TTB_MASK		GENMASK_ULL(51, 4)
-
-/*
- * Context descriptors.
- *
- * Linear: when less than 1024 SSIDs are supported
- * 2lvl: at most 1024 L1 entries,
- *       1024 lazy entries per table.
- */
-#define CTXDESC_SPLIT			10
-#define CTXDESC_L2_ENTRIES		(1 << CTXDESC_SPLIT)
-
-#define CTXDESC_L1_DESC_DWORDS		1
-#define CTXDESC_L1_DESC_V		(1UL << 0)
-#define CTXDESC_L1_DESC_L2PTR_MASK	GENMASK_ULL(51, 12)
-
-#define CTXDESC_CD_DWORDS		8
-#define CTXDESC_CD_0_TCR_T0SZ		GENMASK_ULL(5, 0)
-#define CTXDESC_CD_0_TCR_TG0		GENMASK_ULL(7, 6)
-#define CTXDESC_CD_0_TCR_IRGN0		GENMASK_ULL(9, 8)
-#define CTXDESC_CD_0_TCR_ORGN0		GENMASK_ULL(11, 10)
-#define CTXDESC_CD_0_TCR_SH0		GENMASK_ULL(13, 12)
-#define CTXDESC_CD_0_TCR_EPD0		(1ULL << 14)
-#define CTXDESC_CD_0_TCR_EPD1		(1ULL << 30)
-
-#define CTXDESC_CD_0_ENDI		(1UL << 15)
-#define CTXDESC_CD_0_V			(1UL << 31)
-
-#define CTXDESC_CD_0_TCR_IPS		GENMASK_ULL(34, 32)
-#define CTXDESC_CD_0_TCR_TBI0		(1ULL << 38)
-
-#define CTXDESC_CD_0_AA64		(1UL << 41)
-#define CTXDESC_CD_0_S			(1UL << 44)
-#define CTXDESC_CD_0_R			(1UL << 45)
-#define CTXDESC_CD_0_A			(1UL << 46)
-#define CTXDESC_CD_0_ASET		(1UL << 47)
-#define CTXDESC_CD_0_ASID		GENMASK_ULL(63, 48)
-
-#define CTXDESC_CD_1_TTB0_MASK		GENMASK_ULL(51, 4)
-
-/*
- * When the SMMU only supports linear context descriptor tables, pick a
- * reasonable size limit (64kB).
- */
-#define CTXDESC_LINEAR_CDMAX		ilog2(SZ_64K / (CTXDESC_CD_DWORDS << 3))
-
-/* Command queue */
-#define CMDQ_ENT_SZ_SHIFT		4
-#define CMDQ_ENT_DWORDS			((1 << CMDQ_ENT_SZ_SHIFT) >> 3)
-#define CMDQ_MAX_SZ_SHIFT		(Q_MAX_SZ_SHIFT - CMDQ_ENT_SZ_SHIFT)
-
-#define CMDQ_CONS_ERR			GENMASK(30, 24)
-#define CMDQ_ERR_CERROR_NONE_IDX	0
-#define CMDQ_ERR_CERROR_ILL_IDX		1
-#define CMDQ_ERR_CERROR_ABT_IDX		2
-#define CMDQ_ERR_CERROR_ATC_INV_IDX	3
-
-#define CMDQ_0_OP			GENMASK_ULL(7, 0)
-#define CMDQ_0_SSV			(1UL << 11)
-
-#define CMDQ_PREFETCH_0_SID		GENMASK_ULL(63, 32)
-#define CMDQ_PREFETCH_1_SIZE		GENMASK_ULL(4, 0)
-#define CMDQ_PREFETCH_1_ADDR_MASK	GENMASK_ULL(63, 12)
-
-#define CMDQ_CFGI_0_SSID		GENMASK_ULL(31, 12)
-#define CMDQ_CFGI_0_SID			GENMASK_ULL(63, 32)
-#define CMDQ_CFGI_1_LEAF		(1UL << 0)
-#define CMDQ_CFGI_1_RANGE		GENMASK_ULL(4, 0)
-
-#define CMDQ_TLBI_0_VMID		GENMASK_ULL(47, 32)
-#define CMDQ_TLBI_0_ASID		GENMASK_ULL(63, 48)
-#define CMDQ_TLBI_1_LEAF		(1UL << 0)
-#define CMDQ_TLBI_1_VA_MASK		GENMASK_ULL(63, 12)
-#define CMDQ_TLBI_1_IPA_MASK		GENMASK_ULL(51, 12)
-
-#define CMDQ_ATC_0_SSID			GENMASK_ULL(31, 12)
-#define CMDQ_ATC_0_SID			GENMASK_ULL(63, 32)
-#define CMDQ_ATC_0_GLOBAL		(1UL << 9)
-#define CMDQ_ATC_1_SIZE			GENMASK_ULL(5, 0)
-#define CMDQ_ATC_1_ADDR_MASK		GENMASK_ULL(63, 12)
-
-#define CMDQ_PRI_0_SSID			GENMASK_ULL(31, 12)
-#define CMDQ_PRI_0_SID			GENMASK_ULL(63, 32)
-#define CMDQ_PRI_1_GRPID		GENMASK_ULL(8, 0)
-#define CMDQ_PRI_1_RESP			GENMASK_ULL(13, 12)
-
-#define CMDQ_SYNC_0_CS			GENMASK_ULL(13, 12)
-#define CMDQ_SYNC_0_CS_NONE		0
-#define CMDQ_SYNC_0_CS_IRQ		1
-#define CMDQ_SYNC_0_CS_SEV		2
-#define CMDQ_SYNC_0_MSH			GENMASK_ULL(23, 22)
-#define CMDQ_SYNC_0_MSIATTR		GENMASK_ULL(27, 24)
-#define CMDQ_SYNC_0_MSIDATA		GENMASK_ULL(63, 32)
-#define CMDQ_SYNC_1_MSIADDR_MASK	GENMASK_ULL(51, 2)
-
-/* Event queue */
-#define EVTQ_ENT_SZ_SHIFT		5
-#define EVTQ_ENT_DWORDS			((1 << EVTQ_ENT_SZ_SHIFT) >> 3)
-#define EVTQ_MAX_SZ_SHIFT		(Q_MAX_SZ_SHIFT - EVTQ_ENT_SZ_SHIFT)
-
-#define EVTQ_0_ID			GENMASK_ULL(7, 0)
-
-/* PRI queue */
-#define PRIQ_ENT_SZ_SHIFT		4
-#define PRIQ_ENT_DWORDS			((1 << PRIQ_ENT_SZ_SHIFT) >> 3)
-#define PRIQ_MAX_SZ_SHIFT		(Q_MAX_SZ_SHIFT - PRIQ_ENT_SZ_SHIFT)
-
-#define PRIQ_0_SID			GENMASK_ULL(31, 0)
-#define PRIQ_0_SSID			GENMASK_ULL(51, 32)
-#define PRIQ_0_PERM_PRIV		(1UL << 58)
-#define PRIQ_0_PERM_EXEC		(1UL << 59)
-#define PRIQ_0_PERM_READ		(1UL << 60)
-#define PRIQ_0_PERM_WRITE		(1UL << 61)
-#define PRIQ_0_PRG_LAST			(1UL << 62)
-#define PRIQ_0_SSID_V			(1UL << 63)
-
-#define PRIQ_1_PRG_IDX			GENMASK_ULL(8, 0)
-#define PRIQ_1_ADDR_MASK		GENMASK_ULL(63, 12)
-
-/* High-level queue structures */
-#define ARM_SMMU_POLL_TIMEOUT_US	100
-#define ARM_SMMU_CMDQ_SYNC_TIMEOUT_US	1000000 /* 1s! */
-#define ARM_SMMU_CMDQ_SYNC_SPIN_COUNT	10
-
 static bool disable_bypass = 1;
 
 enum pri_resp {
@@ -861,14 +495,6 @@ struct arm_smmu_master {
 	bool				ats_enabled;
 };
 
-/* SMMU private data for an IOMMU domain */
-enum arm_smmu_domain_stage {
-	ARM_SMMU_DOMAIN_S1 = 0,
-	ARM_SMMU_DOMAIN_S2,
-	ARM_SMMU_DOMAIN_NESTED,
-	ARM_SMMU_DOMAIN_BYPASS,
-};
-
 struct arm_smmu_domain {
 	struct arm_smmu_device		*smmu;
 	struct mutex			init_mutex; /* Protects smmu pointer */
diff --git a/xen/drivers/passthrough/arm/smmu-v3.h b/xen/drivers/passthrough/arm/smmu-v3.h
new file mode 100644
index 0000000000..3a63cd6678
--- /dev/null
+++ b/xen/drivers/passthrough/arm/smmu-v3.h
@@ -0,0 +1,386 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * IOMMU API for ARM architected SMMUv3 implementations.
+ *
+ * Copyright (C) 2022 ARM Limited
+ */
+
+#ifndef _ARM_SMMU_V3_H
+#define _ARM_SMMU_V3_H
+
+/* MMIO registers */
+#define ARM_SMMU_IDR0			0x0
+#define IDR0_ST_LVL			GENMASK(28, 27)
+#define IDR0_ST_LVL_2LVL		1
+#define IDR0_STALL_MODEL		GENMASK(25, 24)
+#define IDR0_STALL_MODEL_STALL		0
+#define IDR0_STALL_MODEL_FORCE		2
+#define IDR0_TTENDIAN			GENMASK(22, 21)
+#define IDR0_TTENDIAN_MIXED		0
+#define IDR0_TTENDIAN_LE		2
+#define IDR0_TTENDIAN_BE		3
+#define IDR0_CD2L			(1 << 19)
+#define IDR0_VMID16			(1 << 18)
+#define IDR0_PRI			(1 << 16)
+#define IDR0_SEV			(1 << 14)
+#define IDR0_MSI			(1 << 13)
+#define IDR0_ASID16			(1 << 12)
+#define IDR0_ATS			(1 << 10)
+#define IDR0_HYP			(1 << 9)
+#define IDR0_COHACC			(1 << 4)
+#define IDR0_TTF			GENMASK(3, 2)
+#define IDR0_TTF_AARCH64		2
+#define IDR0_TTF_AARCH32_64		3
+#define IDR0_S1P			(1 << 1)
+#define IDR0_S2P			(1 << 0)
+
+#define ARM_SMMU_IDR1			0x4
+#define IDR1_TABLES_PRESET		(1 << 30)
+#define IDR1_QUEUES_PRESET		(1 << 29)
+#define IDR1_REL			(1 << 28)
+#define IDR1_CMDQS			GENMASK(25, 21)
+#define IDR1_EVTQS			GENMASK(20, 16)
+#define IDR1_PRIQS			GENMASK(15, 11)
+#define IDR1_SSIDSIZE			GENMASK(10, 6)
+#define IDR1_SIDSIZE			GENMASK(5, 0)
+
+#define ARM_SMMU_IDR5			0x14
+#define IDR5_STALL_MAX			GENMASK(31, 16)
+#define IDR5_GRAN64K			(1 << 6)
+#define IDR5_GRAN16K			(1 << 5)
+#define IDR5_GRAN4K			(1 << 4)
+#define IDR5_OAS			GENMASK(2, 0)
+#define IDR5_OAS_32_BIT			0
+#define IDR5_OAS_36_BIT			1
+#define IDR5_OAS_40_BIT			2
+#define IDR5_OAS_42_BIT			3
+#define IDR5_OAS_44_BIT			4
+#define IDR5_OAS_48_BIT			5
+#define IDR5_OAS_52_BIT			6
+#define IDR5_VAX			GENMASK(11, 10)
+#define IDR5_VAX_52_BIT			1
+
+#define ARM_SMMU_CR0			0x20
+#define CR0_ATSCHK			(1 << 4)
+#define CR0_CMDQEN			(1 << 3)
+#define CR0_EVTQEN			(1 << 2)
+#define CR0_PRIQEN			(1 << 1)
+#define CR0_SMMUEN			(1 << 0)
+
+#define ARM_SMMU_CR0ACK			0x24
+
+#define ARM_SMMU_CR1			0x28
+#define CR1_TABLE_SH			GENMASK(11, 10)
+#define CR1_TABLE_OC			GENMASK(9, 8)
+#define CR1_TABLE_IC			GENMASK(7, 6)
+#define CR1_QUEUE_SH			GENMASK(5, 4)
+#define CR1_QUEUE_OC			GENMASK(3, 2)
+#define CR1_QUEUE_IC			GENMASK(1, 0)
+/* CR1 cacheability fields don't quite follow the usual TCR-style encoding */
+#define CR1_CACHE_NC			0
+#define CR1_CACHE_WB			1
+#define CR1_CACHE_WT			2
+
+#define ARM_SMMU_CR2			0x2c
+#define CR2_PTM				(1 << 2)
+#define CR2_RECINVSID			(1 << 1)
+#define CR2_E2H				(1 << 0)
+
+#define ARM_SMMU_GBPA			0x44
+#define GBPA_UPDATE			(1 << 31)
+#define GBPA_ABORT			(1 << 20)
+
+#define ARM_SMMU_IRQ_CTRL		0x50
+#define IRQ_CTRL_EVTQ_IRQEN		(1 << 2)
+#define IRQ_CTRL_PRIQ_IRQEN		(1 << 1)
+#define IRQ_CTRL_GERROR_IRQEN		(1 << 0)
+
+#define ARM_SMMU_IRQ_CTRLACK		0x54
+
+#define ARM_SMMU_GERROR			0x60
+#define GERROR_SFM_ERR			(1 << 8)
+#define GERROR_MSI_GERROR_ABT_ERR	(1 << 7)
+#define GERROR_MSI_PRIQ_ABT_ERR		(1 << 6)
+#define GERROR_MSI_EVTQ_ABT_ERR		(1 << 5)
+#define GERROR_MSI_CMDQ_ABT_ERR		(1 << 4)
+#define GERROR_PRIQ_ABT_ERR		(1 << 3)
+#define GERROR_EVTQ_ABT_ERR		(1 << 2)
+#define GERROR_CMDQ_ERR			(1 << 0)
+#define GERROR_ERR_MASK			0xfd
+
+#define ARM_SMMU_GERRORN		0x64
+
+#define ARM_SMMU_GERROR_IRQ_CFG0	0x68
+#define ARM_SMMU_GERROR_IRQ_CFG1	0x70
+#define ARM_SMMU_GERROR_IRQ_CFG2	0x74
+
+#define ARM_SMMU_STRTAB_BASE		0x80
+#define STRTAB_BASE_RA			(1UL << 62)
+#define STRTAB_BASE_ADDR_MASK		GENMASK_ULL(51, 6)
+
+#define ARM_SMMU_STRTAB_BASE_CFG	0x88
+#define STRTAB_BASE_CFG_FMT		GENMASK(17, 16)
+#define STRTAB_BASE_CFG_FMT_LINEAR	0
+#define STRTAB_BASE_CFG_FMT_2LVL	1
+#define STRTAB_BASE_CFG_SPLIT		GENMASK(10, 6)
+#define STRTAB_BASE_CFG_LOG2SIZE	GENMASK(5, 0)
+
+#define ARM_SMMU_CMDQ_BASE		0x90
+#define ARM_SMMU_CMDQ_PROD		0x98
+#define ARM_SMMU_CMDQ_CONS		0x9c
+
+#define ARM_SMMU_EVTQ_BASE		0xa0
+#define ARM_SMMU_EVTQ_PROD		0x100a8
+#define ARM_SMMU_EVTQ_CONS		0x100ac
+#define ARM_SMMU_EVTQ_IRQ_CFG0		0xb0
+#define ARM_SMMU_EVTQ_IRQ_CFG1		0xb8
+#define ARM_SMMU_EVTQ_IRQ_CFG2		0xbc
+
+#define ARM_SMMU_PRIQ_BASE		0xc0
+#define ARM_SMMU_PRIQ_PROD		0x100c8
+#define ARM_SMMU_PRIQ_CONS		0x100cc
+#define ARM_SMMU_PRIQ_IRQ_CFG0		0xd0
+#define ARM_SMMU_PRIQ_IRQ_CFG1		0xd8
+#define ARM_SMMU_PRIQ_IRQ_CFG2		0xdc
+
+#define ARM_SMMU_REG_SZ			0xe00
+
+/* Common MSI config fields */
+#define MSI_CFG0_ADDR_MASK		GENMASK_ULL(51, 2)
+#define MSI_CFG2_SH			GENMASK(5, 4)
+#define MSI_CFG2_MEMATTR		GENMASK(3, 0)
+
+/* Common memory attribute values */
+#define ARM_SMMU_SH_NSH			0
+#define ARM_SMMU_SH_OSH			2
+#define ARM_SMMU_SH_ISH			3
+#define ARM_SMMU_MEMATTR_DEVICE_nGnRE	0x1
+#define ARM_SMMU_MEMATTR_OIWB		0xf
+
+#define Q_IDX(llq, p)			((p) & ((1 << (llq)->max_n_shift) - 1))
+#define Q_WRP(llq, p)			((p) & (1 << (llq)->max_n_shift))
+#define Q_OVERFLOW_FLAG			(1 << 31)
+#define Q_OVF(p)			((p) & Q_OVERFLOW_FLAG)
+#define Q_ENT(q, p)			((q)->base +			\
+					 Q_IDX(&((q)->llq), p) *	\
+					 (q)->ent_dwords)
+
+#define Q_BASE_RWA			(1UL << 62)
+#define Q_BASE_ADDR_MASK		GENMASK_ULL(51, 5)
+#define Q_BASE_LOG2SIZE			GENMASK(4, 0)
+
+/* Ensure DMA allocations are naturally aligned */
+#ifdef CONFIG_CMA_ALIGNMENT
+#define Q_MAX_SZ_SHIFT			(PAGE_SHIFT + CONFIG_CMA_ALIGNMENT)
+#else
+#define Q_MAX_SZ_SHIFT			(PAGE_SHIFT + MAX_ORDER - 1)
+#endif
+
+/*
+ * Stream table.
+ *
+ * Linear: Enough to cover 1 << IDR1.SIDSIZE entries
+ * 2lvl: 128k L1 entries,
+ *       256 lazy entries per table (each table covers a PCI bus)
+ */
+#define STRTAB_L1_SZ_SHIFT		20
+#define STRTAB_SPLIT			8
+
+#define STRTAB_L1_DESC_DWORDS		1
+#define STRTAB_L1_DESC_SPAN		GENMASK_ULL(4, 0)
+#define STRTAB_L1_DESC_L2PTR_MASK	GENMASK_ULL(51, 6)
+
+#define STRTAB_STE_DWORDS		8
+#define STRTAB_STE_0_V			(1UL << 0)
+#define STRTAB_STE_0_CFG		GENMASK_ULL(3, 1)
+#define STRTAB_STE_0_CFG_ABORT		0
+#define STRTAB_STE_0_CFG_BYPASS		4
+#define STRTAB_STE_0_CFG_S1_TRANS	5
+#define STRTAB_STE_0_CFG_S2_TRANS	6
+
+#define STRTAB_STE_0_S1FMT		GENMASK_ULL(5, 4)
+#define STRTAB_STE_0_S1FMT_LINEAR	0
+#define STRTAB_STE_0_S1FMT_64K_L2	2
+#define STRTAB_STE_0_S1CTXPTR_MASK	GENMASK_ULL(51, 6)
+#define STRTAB_STE_0_S1CDMAX		GENMASK_ULL(63, 59)
+
+#define STRTAB_STE_1_S1DSS		GENMASK_ULL(1, 0)
+#define STRTAB_STE_1_S1DSS_TERMINATE	0x0
+#define STRTAB_STE_1_S1DSS_BYPASS	0x1
+#define STRTAB_STE_1_S1DSS_SSID0	0x2
+
+#define STRTAB_STE_1_S1C_CACHE_NC	0UL
+#define STRTAB_STE_1_S1C_CACHE_WBRA	1UL
+#define STRTAB_STE_1_S1C_CACHE_WT	2UL
+#define STRTAB_STE_1_S1C_CACHE_WB	3UL
+#define STRTAB_STE_1_S1CIR		GENMASK_ULL(3, 2)
+#define STRTAB_STE_1_S1COR		GENMASK_ULL(5, 4)
+#define STRTAB_STE_1_S1CSH		GENMASK_ULL(7, 6)
+
+#define STRTAB_STE_1_S1STALLD		(1UL << 27)
+
+#define STRTAB_STE_1_EATS		GENMASK_ULL(29, 28)
+#define STRTAB_STE_1_EATS_ABT		0UL
+#define STRTAB_STE_1_EATS_TRANS		1UL
+#define STRTAB_STE_1_EATS_S1CHK		2UL
+
+#define STRTAB_STE_1_STRW		GENMASK_ULL(31, 30)
+#define STRTAB_STE_1_STRW_NSEL1		0UL
+#define STRTAB_STE_1_STRW_EL2		2UL
+
+#define STRTAB_STE_1_SHCFG		GENMASK_ULL(45, 44)
+#define STRTAB_STE_1_SHCFG_INCOMING	1UL
+
+#define STRTAB_STE_2_S2VMID		GENMASK_ULL(15, 0)
+#define STRTAB_STE_2_VTCR		GENMASK_ULL(50, 32)
+#define STRTAB_STE_2_VTCR_S2T0SZ	GENMASK_ULL(5, 0)
+#define STRTAB_STE_2_VTCR_S2SL0		GENMASK_ULL(7, 6)
+#define STRTAB_STE_2_VTCR_S2IR0		GENMASK_ULL(9, 8)
+#define STRTAB_STE_2_VTCR_S2OR0		GENMASK_ULL(11, 10)
+#define STRTAB_STE_2_VTCR_S2SH0		GENMASK_ULL(13, 12)
+#define STRTAB_STE_2_VTCR_S2TG		GENMASK_ULL(15, 14)
+#define STRTAB_STE_2_VTCR_S2PS		GENMASK_ULL(18, 16)
+#define STRTAB_STE_2_S2AA64		(1UL << 51)
+#define STRTAB_STE_2_S2ENDI		(1UL << 52)
+#define STRTAB_STE_2_S2PTW		(1UL << 54)
+#define STRTAB_STE_2_S2R		(1UL << 58)
+
+#define STRTAB_STE_3_S2TTB_MASK		GENMASK_ULL(51, 4)
+
+/*
+ * Context descriptors.
+ *
+ * Linear: when less than 1024 SSIDs are supported
+ * 2lvl: at most 1024 L1 entries,
+ *       1024 lazy entries per table.
+ */
+#define CTXDESC_SPLIT			10
+#define CTXDESC_L2_ENTRIES		(1 << CTXDESC_SPLIT)
+
+#define CTXDESC_L1_DESC_DWORDS		1
+#define CTXDESC_L1_DESC_V		(1UL << 0)
+#define CTXDESC_L1_DESC_L2PTR_MASK	GENMASK_ULL(51, 12)
+
+#define CTXDESC_CD_DWORDS		8
+#define CTXDESC_CD_0_TCR_T0SZ		GENMASK_ULL(5, 0)
+#define CTXDESC_CD_0_TCR_TG0		GENMASK_ULL(7, 6)
+#define CTXDESC_CD_0_TCR_IRGN0		GENMASK_ULL(9, 8)
+#define CTXDESC_CD_0_TCR_ORGN0		GENMASK_ULL(11, 10)
+#define CTXDESC_CD_0_TCR_SH0		GENMASK_ULL(13, 12)
+#define CTXDESC_CD_0_TCR_EPD0		(1ULL << 14)
+#define CTXDESC_CD_0_TCR_EPD1		(1ULL << 30)
+
+#define CTXDESC_CD_0_ENDI		(1UL << 15)
+#define CTXDESC_CD_0_V			(1UL << 31)
+
+#define CTXDESC_CD_0_TCR_IPS		GENMASK_ULL(34, 32)
+#define CTXDESC_CD_0_TCR_TBI0		(1ULL << 38)
+
+#define CTXDESC_CD_0_AA64		(1UL << 41)
+#define CTXDESC_CD_0_S			(1UL << 44)
+#define CTXDESC_CD_0_R			(1UL << 45)
+#define CTXDESC_CD_0_A			(1UL << 46)
+#define CTXDESC_CD_0_ASET		(1UL << 47)
+#define CTXDESC_CD_0_ASID		GENMASK_ULL(63, 48)
+
+#define CTXDESC_CD_1_TTB0_MASK		GENMASK_ULL(51, 4)
+
+/*
+ * When the SMMU only supports linear context descriptor tables, pick a
+ * reasonable size limit (64kB).
+ */
+#define CTXDESC_LINEAR_CDMAX		ilog2(SZ_64K / (CTXDESC_CD_DWORDS << 3))
+
+/* Command queue */
+#define CMDQ_ENT_SZ_SHIFT		4
+#define CMDQ_ENT_DWORDS			((1 << CMDQ_ENT_SZ_SHIFT) >> 3)
+#define CMDQ_MAX_SZ_SHIFT		(Q_MAX_SZ_SHIFT - CMDQ_ENT_SZ_SHIFT)
+
+#define CMDQ_CONS_ERR			GENMASK(30, 24)
+#define CMDQ_ERR_CERROR_NONE_IDX	0
+#define CMDQ_ERR_CERROR_ILL_IDX		1
+#define CMDQ_ERR_CERROR_ABT_IDX		2
+#define CMDQ_ERR_CERROR_ATC_INV_IDX	3
+
+#define CMDQ_0_OP			GENMASK_ULL(7, 0)
+#define CMDQ_0_SSV			(1UL << 11)
+
+#define CMDQ_PREFETCH_0_SID		GENMASK_ULL(63, 32)
+#define CMDQ_PREFETCH_1_SIZE		GENMASK_ULL(4, 0)
+#define CMDQ_PREFETCH_1_ADDR_MASK	GENMASK_ULL(63, 12)
+
+#define CMDQ_CFGI_0_SSID		GENMASK_ULL(31, 12)
+#define CMDQ_CFGI_0_SID			GENMASK_ULL(63, 32)
+#define CMDQ_CFGI_1_LEAF		(1UL << 0)
+#define CMDQ_CFGI_1_RANGE		GENMASK_ULL(4, 0)
+
+#define CMDQ_TLBI_0_VMID		GENMASK_ULL(47, 32)
+#define CMDQ_TLBI_0_ASID		GENMASK_ULL(63, 48)
+#define CMDQ_TLBI_1_LEAF		(1UL << 0)
+#define CMDQ_TLBI_1_VA_MASK		GENMASK_ULL(63, 12)
+#define CMDQ_TLBI_1_IPA_MASK		GENMASK_ULL(51, 12)
+
+#define CMDQ_ATC_0_SSID			GENMASK_ULL(31, 12)
+#define CMDQ_ATC_0_SID			GENMASK_ULL(63, 32)
+#define CMDQ_ATC_0_GLOBAL		(1UL << 9)
+#define CMDQ_ATC_1_SIZE			GENMASK_ULL(5, 0)
+#define CMDQ_ATC_1_ADDR_MASK		GENMASK_ULL(63, 12)
+
+#define CMDQ_PRI_0_SSID			GENMASK_ULL(31, 12)
+#define CMDQ_PRI_0_SID			GENMASK_ULL(63, 32)
+#define CMDQ_PRI_1_GRPID		GENMASK_ULL(8, 0)
+#define CMDQ_PRI_1_RESP			GENMASK_ULL(13, 12)
+
+#define CMDQ_SYNC_0_CS			GENMASK_ULL(13, 12)
+#define CMDQ_SYNC_0_CS_NONE		0
+#define CMDQ_SYNC_0_CS_IRQ		1
+#define CMDQ_SYNC_0_CS_SEV		2
+#define CMDQ_SYNC_0_MSH			GENMASK_ULL(23, 22)
+#define CMDQ_SYNC_0_MSIATTR		GENMASK_ULL(27, 24)
+#define CMDQ_SYNC_0_MSIDATA		GENMASK_ULL(63, 32)
+#define CMDQ_SYNC_1_MSIADDR_MASK	GENMASK_ULL(51, 2)
+
+/* Event queue */
+#define EVTQ_ENT_SZ_SHIFT		5
+#define EVTQ_ENT_DWORDS			((1 << EVTQ_ENT_SZ_SHIFT) >> 3)
+#define EVTQ_MAX_SZ_SHIFT		(Q_MAX_SZ_SHIFT - EVTQ_ENT_SZ_SHIFT)
+
+#define EVTQ_0_ID			GENMASK_ULL(7, 0)
+
+/* PRI queue */
+#define PRIQ_ENT_SZ_SHIFT		4
+#define PRIQ_ENT_DWORDS			((1 << PRIQ_ENT_SZ_SHIFT) >> 3)
+#define PRIQ_MAX_SZ_SHIFT		(Q_MAX_SZ_SHIFT - PRIQ_ENT_SZ_SHIFT)
+
+#define PRIQ_0_SID			GENMASK_ULL(31, 0)
+#define PRIQ_0_SSID			GENMASK_ULL(51, 32)
+#define PRIQ_0_PERM_PRIV		(1UL << 58)
+#define PRIQ_0_PERM_EXEC		(1UL << 59)
+#define PRIQ_0_PERM_READ		(1UL << 60)
+#define PRIQ_0_PERM_WRITE		(1UL << 61)
+#define PRIQ_0_PRG_LAST			(1UL << 62)
+#define PRIQ_0_SSID_V			(1UL << 63)
+
+#define PRIQ_1_PRG_IDX			GENMASK_ULL(8, 0)
+#define PRIQ_1_ADDR_MASK		GENMASK_ULL(63, 12)
+
+/* High-level queue structures */
+#define ARM_SMMU_POLL_TIMEOUT_US	100
+#define ARM_SMMU_CMDQ_SYNC_TIMEOUT_US	1000000 /* 1s! */
+#define ARM_SMMU_CMDQ_SYNC_SPIN_COUNT	10
+
+#define FIELD_PREP(_mask, _val)			\
+	(((typeof(_mask))(_val) << (ffs64(_mask) - 1)) & (_mask))
+
+#define FIELD_GET(_mask, _reg)			\
+	((typeof(_mask))(((_reg) & (_mask)) >> (ffs64(_mask) - 1)))
+
+/* SMMU private data for an IOMMU domain */
+enum arm_smmu_domain_stage {
+	ARM_SMMU_DOMAIN_S1 = 0,
+	ARM_SMMU_DOMAIN_S2,
+	ARM_SMMU_DOMAIN_NESTED,
+	ARM_SMMU_DOMAIN_BYPASS,
+};
+
+#endif /* _ARM_SMMU_V3_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:59:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:59:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392700.631232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqul-000164-12; Wed, 24 Aug 2022 13:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392700.631232; Wed, 24 Aug 2022 13:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQquk-00015x-Uk; Wed, 24 Aug 2022 13:59:26 +0000
Received: by outflank-mailman (input) for mailman id 392700;
 Wed, 24 Aug 2022 13:59:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1oQqqC-0003gl-K6
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:54:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 4e7af42d-23b4-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 15:54:43 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4FF1D1042;
 Wed, 24 Aug 2022 06:54:47 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6A1FA3FAF5;
 Wed, 24 Aug 2022 06:54:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e7af42d-23b4-11ed-bd2e-47488cf2e6aa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 03/10] xen/arm: smmuv3: Ensure queue is read after updating prod pointer
Date: Wed, 24 Aug 2022 14:53:07 +0100
Message-Id: <b6051a32c515da23ed2d83467e43e59fd55127dc.1661331102.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661331102.git.rahul.singh@arm.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Backport Linux commit a76a37777f2c936b1f046bfc0c5982c958b16bfe
"Ensure queue is read after updating prod pointer"

Original commit message:
    iommu/arm-smmu-v3: Ensure queue is read after updating prod pointer
    Reading the 'prod' MMIO register in order to determine whether or
    not there is valid data beyond 'cons' for a given queue does not
    provide sufficient dependency ordering, as the resulting access is
    address dependent only on 'cons' and can therefore be speculated
    ahead of time, potentially allowing stale data to be read by the
    CPU.

    Use readl() instead of readl_relaxed() when updating the shadow copy
    of the 'prod' pointer, so that all speculated memory reads from the
    corresponding queue can occur only from valid slots.

    Signed-off-by: Zhou Wang <wangzhou1@hisilicon.com>
    Link: https://lore.kernel.org/r/1601281922-117296-1-git-send-email-wangzhou1@hisilicon.com
    [will: Use readl() instead of explicit barrier. Update 'cons' side to match.]
    Signed-off-by: Will Deacon <will@kernel.org>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 64d39bb4d3..93891a0704 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -963,8 +963,15 @@ static void queue_inc_cons(struct arm_smmu_ll_queue *q)
 
 static int queue_sync_prod_in(struct arm_smmu_queue *q)
 {
+	u32 prod;
 	int ret = 0;
-	u32 prod = readl_relaxed(q->prod_reg);
+
+	/*
+	 * We can't use the _relaxed() variant here, as we must prevent
+	 * speculative reads of the queue before we have determined that
+	 * prod has indeed moved.
+	 */
+	prod = readl(q->prod_reg);
 
 	if (Q_OVF(prod) != Q_OVF(q->llq.prod))
 		ret = -EOVERFLOW;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 13:59:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 13:59:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392717.631255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqvA-000233-LO; Wed, 24 Aug 2022 13:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392717.631255; Wed, 24 Aug 2022 13:59:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqvA-00022w-I2; Wed, 24 Aug 2022 13:59:52 +0000
Received: by outflank-mailman (input) for mailman id 392717;
 Wed, 24 Aug 2022 13:59:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQqv9-0001uD-7j
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 13:59:51 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70081.outbound.protection.outlook.com [40.107.7.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f599a67a-23b4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 15:59:24 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7232.eurprd04.prod.outlook.com (2603:10a6:800:1af::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 13:59:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 13:59:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f599a67a-23b4-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W6j4DEEBKGQBwjMUWhsCme0JAusCufS1yI4MIwc3Rr5ynugbP31vTmr40/+qXVDHGnN/HZMmDsK8lJz4P8TLCSZdNtZHdynLtA2iIaBe2k8pTXJDyFi/VQCY/9GRBpiblRDUvAfYnLYmmqjxmIUwdvSVRr4sdZJEQm0fde1BoNYOL6JK7X4gP4EQ/wyfYpCu5qrrgIH3wbt0yGldbHVG4WlcqBowvot/lAgr9K2opRxVNlqtvBZom4+oC1UvXXf0bXrS7OFsnzo9rcO4dPhr9J/Ogsay6ZCQAyzdYc69VJPZp3elRyKvPiMFz5hjinJRAzMI6luRJ7tmjUoFHM45zA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+gyS8vcRNt2Q2fHYVTJKCjJ6wmddKHar1KBJzE7SeP4=;
 b=EADJFdKeYfh27prNSXXzySymhHtDxc9J+Uu02nauGKUcCnuOhoAaZuOakNsCQIhnpf+OVe6+f8HuBpQyRVKj4nW6wCHoWCHI2kdc5dGHFamsyWPJrGv8l/7xlEHDkATTYqRJ25S7DHMc1gvTU3lXWXDA6kTDNP833o4TRJco+eFwp6V+Q1A1FAjtHW9GC8Y5XibvATOmVHVLb/4wG+zddL48E8S1uuHbf+71gWhQcgnxibV4bAr/72pznFyNvHLSl3nkmNvFrrp0OiFh1GIntVBok3gvL/jFzRAQYRCGsL+254v7nlVaxyOdfnlwH5j101R0VVUCdlKHKDpvh02tFQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+gyS8vcRNt2Q2fHYVTJKCjJ6wmddKHar1KBJzE7SeP4=;
 b=WubMojU4uQM0JwD1ZpLX1QgUBJIi/gZdAcolmWfKU/NGmBXs7Kqtw9Tp9bj8ukp4pbpDA+cTNyVVe/H0Hxmj/NK4PALp8nvWX9Yqa0l5Y66QzKNY6R7eFD9NFY51zCYY2ZsB2WUPwqjuhVgIxJ58FC7RpYajukYYymfetV1Tdu9V0CGdop3QdHuOVIZV1Phs+MbK2/dcZpJNAtuoA/B4sh2GAoq6hasnT5ErABEkCHkQCzqLS3q9P1mAz0J8fcGALnHD5pqj/t0nwZcbkWvqA0wSquhTHcoKb3eVRefIkl44D0den+uNwrG8jHNj0nyCElaToWQZGp56Xp8t6f2jsQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0f5f26d2-2b22-2a0d-8bb2-ee2e729ada3f@suse.com>
Date: Wed, 24 Aug 2022 15:59:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [POSSIBLE BUG] Dereferencing of NULL pointer
Content-Language: en-US
To: Rustam Subkhankulov <subkhankulov@ispras.ru>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Alexey Khoroshilov <khoroshilov@ispras.ru>, ldv-project@linuxtesting.org,
 Juergen Gross <jgross@suse.com>
References: <6228a437bb9d7f677f5e97973518bcd555bc2a07.camel@ispras.ru>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6228a437bb9d7f677f5e97973518bcd555bc2a07.camel@ispras.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0158.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 557de305-f93f-424e-0c9b-08da85d8e705
X-MS-TrafficTypeDiagnostic: VE1PR04MB7232:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IDLTcvT0oucbinoHDL9l8WFrE8+oRIlqu4Nba1aVr06sXqpG6kxKDQA7PT6EFrDhu4EYg/D+agjUvIk8tbJebv+b86RVZWPHOCZvJXK7iqe86NyN/fH14UPf/IwE+Zlo+dPmkhLhYe8Dgp3kt+DevaXKFBsmQdehtwZg9fXL0OmYoFo/2KkjdVjjq5Ve226FgKsAh5E2ldu6McCQwGrRCOxe8sQKMugIlQzeuDnfUUhKQ3CKEL2hTBsvX8OcIhy96BFq+WdRoVZTznR0rX4NUQWNDelhvmAutxV2cMu7ybCbF4SrtJm4bqxQiUkgo1XQ7xj50IZ8IGT9/rxheTlsbuKr6ukbhdD8ZpZVCKhO0NwUeTWcdw5h+AgjHgvrnJSI/OShEIjJfSyyIgA+G751cy8+z2+I8YVS9q//bca99z15PRuOfOitkCKZrct+AprlANDTvpakfSUwCs83+kMgpF2BtecMNmzk2/DSbKCaOQmlzU1zYq7TURy9ctPLcO6r8aseRd0NHaENkxlVnoCypdKLr8crPrVw0vI78wSQI6gQmFzA/mvtKJhJiwz+wgTb824oEbBcl78XKwBUOJcyVJXAcOKzLxKjfjubYv5kGip1UB/oesi9KfCDP4dW6mvMxlwbb1E1A/zdeEaZsbIY38o0Jxh8MIewAFUYmoF69VfZwbSzVpvtO14RpU5tDwctC+vaovaesRIDgaVcEQcwTZx+B9T9TwYOZxssd0R5vFYOwbOk95J2abBBDR6rrwadc/wNIsOC0C9Np7ClnTh76wY4wp3QJIKxRYivgpWLZsE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(346002)(396003)(136003)(39860400002)(376002)(6512007)(8936002)(6916009)(83380400001)(26005)(36756003)(316002)(5660300002)(2616005)(2906002)(31686004)(186003)(478600001)(6486002)(6506007)(4326008)(38100700002)(54906003)(8676002)(66556008)(66476007)(66946007)(107886003)(41300700001)(31696002)(86362001)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVUzL3pwNFNaYlpTb3FwY0kyN1ZxVlJGYjl5em5aalRMTjY3QjJmRkhmdUkw?=
 =?utf-8?B?dlhmdjFzeDR4eEpULzVka1l3SExjSUFieENlWWZSYkhYTE1UcUwyejFDVUZL?=
 =?utf-8?B?RzJqb1VTdkx1QkQ3emd2Qm9kdGNDSEl5cllUdjY2c0grM0wwaFNkbjVySFFG?=
 =?utf-8?B?c0FwNDdWakd3bTdXcUdUSkU3RUs4WFJiRVEzTUlpVGEyT0JoeG9vZmVpbFBm?=
 =?utf-8?B?STc3YlYxa1VoZUg4bG9vZDh3YXRDQUFQZEpPekRrdjdOTVJra3dXWjljWDIx?=
 =?utf-8?B?ZkdHSWNRZGRDK3dqVEFZc2J3amoxWU1OV3gvclJSeHU3b2tXUThEMXZneXFp?=
 =?utf-8?B?bndqYlFJK2xaeHlwaGJLV0ZGQVUvTlUrWXloU3RnSVJJRXVoOFA3c0NTdU5M?=
 =?utf-8?B?TXhmNlpXbUc2YXEzdEYwbGdEcyt5Z0hUWldHcm5qeGJxZk53bWRrTndHWEsx?=
 =?utf-8?B?MEtXM24zcTlHT1pqcHBSV3lzVVJ1QjUyVytobWFYZWFoc2NZYzFJMUp3WDZF?=
 =?utf-8?B?dWRObVQ3SFZMYklUYVdNVW94OUxzL3dhQTFVZHRtV0UzRXkySHBlVUI2WmJ2?=
 =?utf-8?B?Q0ZpQitvdlB1QjJZVmd4cG0wa1BOWXZOUmtCRkxVRE1vZGhjdWpKbHZndWVY?=
 =?utf-8?B?VUZPeWxLRVYxN1VnSUlHcTJKMnlMQWRCQXNiaWJzbHJQTzBNTEtUSkc1cE1K?=
 =?utf-8?B?aTJoNkJ4UkxSaXFsMlpSZGowN2sxNlBwMlNYWTVRdXdjcTcxTzNNRnpNaGNh?=
 =?utf-8?B?VGhMaTJlZEY4T09XSGhObnM4V09OUEhNUDI4eUtaVG80NjNjc1JNUVR4cUZO?=
 =?utf-8?B?b1puNjUwbmdSUENMMzY4d09KVWlHMVNiQWROR0dTdVlOVjUyemU3QkdUMXFO?=
 =?utf-8?B?Vk14bWhoYzVpOVFORkxsYnZTOFNEWHNuODZhZlhaaCtwZnFaVFNMQlAvdUtL?=
 =?utf-8?B?S1JadEFCRGxIeVMyWVhwczNFOFVHdVk0L05XaXNpaVlKRUNxWld1Sk1CY2w3?=
 =?utf-8?B?L3BQOGcxZEd4Tno2U0NGQmZSS2x5SElqV3VMakVpV3FxTVdXM0I5eXhjSk9P?=
 =?utf-8?B?cjRWTGErbzhlSXl2Q093RWtjM25JRjJPbEhOL0Roay9UNWd3RDUyWWEvSW5n?=
 =?utf-8?B?MGZiMDBWOThSdm5LdmxWOUNxOUFBOEwzQnJnZVBiamdTdTF4SlE3WG1WbzYv?=
 =?utf-8?B?clBXSm90SGR1VzZ6Z3FiMTN3UEVZRzlQSHdkdDBRZlFITEQrSW9UT3l6U0FL?=
 =?utf-8?B?TkJiaDRjZEJoSXNhN0dERXVkKzErUzF3YW4zVkVaQTlEWFNCamdVRDVveHVC?=
 =?utf-8?B?S0FQR0dxMUdmUnZ1SjZrV3R6REpUaWlzL0kyd1VhdmptZytraGZSeHFMOWFM?=
 =?utf-8?B?dytNNzdXMGtKRzllckhDNHRLQmI5ZDgrcXAzOTNZWDNqYXU5L1F6TXFLMFhF?=
 =?utf-8?B?TjBsdnZkb01ROUlNbG1xekdvU09iVGpLdldMOVpTWkFpUWxWT29SVlkrd05L?=
 =?utf-8?B?SnJzRDRLUHB1WU03SHZic3JTWEJnT3lTTjZWcUVzUjZQaE5YQWg2c2szNkdy?=
 =?utf-8?B?OXhsWDRXU2dvTkx0anovVUFhbXVydXp4b0Y4NDd4Njl6azlkd3Z5MlpOd2Q2?=
 =?utf-8?B?ZEJ5aHZpWUIrUGNTT1pCb1JwUnhHZnBTMkc1bld0UGlabG1CMkhzVGVzZUxQ?=
 =?utf-8?B?UDAxMHFTRUNzaXIxckR6OG1mMVplYnA2eXkzdHI3bFJxa05mYkRhcWtoNTlV?=
 =?utf-8?B?bUh4MkQxM3FLS3hCRlJOajkwdnhFQ1lZMEpSMDNrUWlPbEQvVmY1NnlhUkxK?=
 =?utf-8?B?dkoxZ3AvWmttWEI3S2c2bDFZRnllaUkvaEpDZTMzc0lzU0EzckdYcTVFL2hp?=
 =?utf-8?B?VlhBUm00Wmxkdmt5bklDT3h2MXJPdzlKalFKMU9QUnBkZkRhSlljZW9PaU9z?=
 =?utf-8?B?enNPL0dIR0hOWWgwaDR2eTYxWEJPekx6Y2V3Nkk3Q3RyUnZHVWNXUXF1VHlx?=
 =?utf-8?B?bVZYUDIyNlhrdGxoNFZVTjdyRzhSck02MmEybEw3YWlZVVc5bmZJSHlCR05I?=
 =?utf-8?B?cCtaU1NhWGptMTludTNZUHA3NkpGNEZQbVg4V0lMUHpWTDMxTjJ6RjZmTVJj?=
 =?utf-8?Q?EYQYt8EutlPT3hnkkmpwN9n/9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 557de305-f93f-424e-0c9b-08da85d8e705
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 13:59:46.7112
 (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: laUzecwno7AHgBsL9KII5YE9eWTNCQhQNhwN88Gkg2bDspMTe0UgdWNV5eW8aGbFZqBn5czwoPAikj84/l8olA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7232

On 20.08.2022 19:30, Rustam Subkhankulov wrote:
> Version: 6.0-rc1
> 
> Description: 
> 
> In function 'privcmd_ioctl_dm_op' (drivers/xen/privcmd.c: 615)return
> value of 'kcalloc' with GFP_KERNEL flag is assigned to "pages"
> variable. GFP_KERNEL flag does not guarantee, that the return value
> will not be NULL. In that case, there is a jump to the "out" label. 

The problem is wider than that, because earlier errors would also
lead to "out" (e.g. after copy_from_user() failed). Plus I guess
unlock_pages() shouldn't be called at all (or with its 2nd arg set
to zero) before lock_pages() was actually called. But I agree with
the further analysis below. Would you mind sending a patch?

Jan

> ---------------------------------------------------------------------
> 667	pages = kcalloc(nr_pages, sizeof(*pages), GFP_KERNEL);
> 668	if (!pages) {
> 669		rc = -ENOMEM;
> 670		goto out;
> 671	}
> ---------------------------------------------------------------------
> 
> Variable 'pages' is passed to function 'unpin_user_pages_dirty_lock' as
> 1st parameter at [drivers/xen/privcmd.c: 695].
> 
> ---------------------------------------------------------------------
> 694	out:
> 695		unlock_pages(pages, nr_pages);
> ---------------------------------------------------------------------
> 
> Then, variable 'pages' is passed to function
> 'unpin_user_pages_dirty_lock' as 1st parameter at
> [drivers/xen/privcmd.c: 612].
> 
> ---------------------------------------------------------------------
> 610	static void unlock_pages(struct page *pages[], unsigned int
> nr_pages)
> 611	{
> 612		unpin_user_pages_dirty_lock(pages, nr_pages, true);
> 613	}
> ---------------------------------------------------------------------
> 
> 'pages' and 'npages' are passed as parameters to function
> 'sanity_check_pinned_pages' at [mm/gup.c: 311].
> 
> ---------------------------------------------------------------------
> 299	void unpin_user_pages_dirty_lock(struct page **pages, unsigned
> long npages,
> 300					 bool make_dirty)
> 301	{
> 302		unsigned long i;
> 303     struct folio *folio;
> 304     unsigned int nr;
> 305		
> 306		if (!make_dirty) {
> 307			unpin_user_pages(pages, npages);
> 308			return;
> 309		}
> 310
> 311		sanity_check_pinned_pages(pages, npages);
> ---------------------------------------------------------------------
> 
> In function 'sanity_check_pinned_pages', if
> (IS_ENABLED(CONFIG_DEBUG_VM)) and (npages > 0), NULL pointer 'pages' is
> dereferenced at [mm/gup.c: 51].
> 
> ---------------------------------------------------------------------
> 32	static inline void sanity_check_pinned_pages(struct page
> **pages,
> 33						     unsigned long
> npages)
> 34	{
> 35		if (!IS_ENABLED(CONFIG_DEBUG_VM))
> 36			return;
> ..
> 50		for (; npages; npages--, pages++) {
> 51			struct page *page = *pages;
> 								^^^^^^
> ^
> ---------------------------------------------------------------------
> 
> Else if (!IS_ENABLED(CONFIG_DEBUG_VM)) and (npages > 0) function
> 'gup_folio_next' is called with 'pages' and 'npages' as parameters at
> [mm/gup.c: 311].
> 
> ---------------------------------------------------------------------
> 312		for (i = 0; i < npages; i += nr) {
> 313			folio = gup_folio_next(pages, npages, i, &nr);
> ---------------------------------------------------------------------
> 
> In function 'gup_folio_next' NULL pointer 'list' is dereferenced at
> [mm/gup.c: 263].
> 
> ---------------------------------------------------------------------
> 262	static inline struct folio *gup_folio_next(struct page **list,
> 263			unsigned long npages, unsigned long i,
> unsigned int *ntails)
> 264	{
> 265		struct folio *folio = page_folio(list[i]);
> 								
> 		^^^^^^^^^
> ---------------------------------------------------------------------
> 
> 



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:00:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392731.631265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqwD-0003iP-Vi; Wed, 24 Aug 2022 14:00:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392731.631265; Wed, 24 Aug 2022 14:00:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQqwD-0003iI-SU; Wed, 24 Aug 2022 14:00:57 +0000
Received: by outflank-mailman (input) for mailman id 392731;
 Wed, 24 Aug 2022 14:00:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQqwC-0003hy-F8
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:00:56 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2bf8e712-23b5-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 16:00:55 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E7FE4343AF;
 Wed, 24 Aug 2022 14:00:54 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9F15113780;
 Wed, 24 Aug 2022 14:00:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fh9KJRYvBmN0egAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 14:00:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bf8e712-23b5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661349654; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=EMwlVtQt2OIfrSiPHzl8Gk7eSfWyMsUviH2UaB+i6K0=;
	b=iT0PrH5W2FmGkokq5MNwvycNd872PXNFYC3I3HWHP8KBZArLOJg+OSy3hKwoygleg1tGys
	/9KQlrJB++eVotJqU1St2rH0jtPcyvxtv9Qy4sqyiwj1JgiIhMv2vYfJa8XTzEFyPCQHAe
	0T3EFSoNFXFEzMop/1VDYR3xtJjj+AY=
Message-ID: <0fcf74d8-774f-1999-d508-b8349096d83e@suse.com>
Date: Wed, 24 Aug 2022 16:00:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [POSSIBLE BUG] Dereferencing of NULL pointer
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Rustam Subkhankulov <subkhankulov@ispras.ru>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Alexey Khoroshilov <khoroshilov@ispras.ru>, ldv-project@linuxtesting.org
References: <6228a437bb9d7f677f5e97973518bcd555bc2a07.camel@ispras.ru>
 <0f5f26d2-2b22-2a0d-8bb2-ee2e729ada3f@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <0f5f26d2-2b22-2a0d-8bb2-ee2e729ada3f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------vAC30YhXUtP7gZKpLqbO92pV"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------vAC30YhXUtP7gZKpLqbO92pV
Content-Type: multipart/mixed; boundary="------------q7angtWVae4m26mvtfP6b0Ey";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Rustam Subkhankulov <subkhankulov@ispras.ru>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Alexey Khoroshilov <khoroshilov@ispras.ru>, ldv-project@linuxtesting.org
Message-ID: <0fcf74d8-774f-1999-d508-b8349096d83e@suse.com>
Subject: Re: [POSSIBLE BUG] Dereferencing of NULL pointer
References: <6228a437bb9d7f677f5e97973518bcd555bc2a07.camel@ispras.ru>
 <0f5f26d2-2b22-2a0d-8bb2-ee2e729ada3f@suse.com>
In-Reply-To: <0f5f26d2-2b22-2a0d-8bb2-ee2e729ada3f@suse.com>

--------------q7angtWVae4m26mvtfP6b0Ey
Content-Type: multipart/mixed; boundary="------------ASs8fx3CAUGuN4DNwsAWzQb6"

--------------ASs8fx3CAUGuN4DNwsAWzQb6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTU6NTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMC4wOC4yMDIy
IDE5OjMwLCBSdXN0YW0gU3Via2hhbmt1bG92IHdyb3RlOg0KPj4gVmVyc2lvbjogNi4wLXJj
MQ0KPj4NCj4+IERlc2NyaXB0aW9uOg0KPj4NCj4+IEluIGZ1bmN0aW9uICdwcml2Y21kX2lv
Y3RsX2RtX29wJyAoZHJpdmVycy94ZW4vcHJpdmNtZC5jOiA2MTUpcmV0dXJuDQo+PiB2YWx1
ZSBvZiAna2NhbGxvYycgd2l0aCBHRlBfS0VSTkVMIGZsYWcgaXMgYXNzaWduZWQgdG8gInBh
Z2VzIg0KPj4gdmFyaWFibGUuIEdGUF9LRVJORUwgZmxhZyBkb2VzIG5vdCBndWFyYW50ZWUs
IHRoYXQgdGhlIHJldHVybiB2YWx1ZQ0KPj4gd2lsbCBub3QgYmUgTlVMTC4gSW4gdGhhdCBj
YXNlLCB0aGVyZSBpcyBhIGp1bXAgdG8gdGhlICJvdXQiIGxhYmVsLg0KPiANCj4gVGhlIHBy
b2JsZW0gaXMgd2lkZXIgdGhhbiB0aGF0LCBiZWNhdXNlIGVhcmxpZXIgZXJyb3JzIHdvdWxk
IGFsc28NCj4gbGVhZCB0byAib3V0IiAoZS5nLiBhZnRlciBjb3B5X2Zyb21fdXNlcigpIGZh
aWxlZCkuIFBsdXMgSSBndWVzcw0KPiB1bmxvY2tfcGFnZXMoKSBzaG91bGRuJ3QgYmUgY2Fs
bGVkIGF0IGFsbCAob3Igd2l0aCBpdHMgMm5kIGFyZyBzZXQNCj4gdG8gemVybykgYmVmb3Jl
IGxvY2tfcGFnZXMoKSB3YXMgYWN0dWFsbHkgY2FsbGVkLiBCdXQgSSBhZ3JlZSB3aXRoDQo+
IHRoZSBmdXJ0aGVyIGFuYWx5c2lzIGJlbG93LiBXb3VsZCB5b3UgbWluZCBzZW5kaW5nIGEg
cGF0Y2g/DQoNCkp1c3Qgc3RhcnRlZCB3cml0aW5nIGl0LiA6LSkNCg0KDQpKdWVyZ2VuDQo=

--------------ASs8fx3CAUGuN4DNwsAWzQb6
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------ASs8fx3CAUGuN4DNwsAWzQb6--

--------------q7angtWVae4m26mvtfP6b0Ey--

--------------vAC30YhXUtP7gZKpLqbO92pV
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMGLxYFAwAAAAAACgkQsN6d1ii/Ey+T
sAf/Uy/hpnBgQFLaiHGSNN/9BbmPjRgoUL6VxejEEYHJa7Dk/fpezDK4E1Q2gz6b651PzoeXuGfX
Y86Y5Tc2qsbvtXmxZCDZ6se6Qw+Nmdj/AeDKYmx+E+o19FXzmqofyN0NsiPhHHSOlT17WaneYQ2D
z7MkTmKGRZx+xRs2CbwFV2DwYZ9neOhu95xTPGxE8/eL4RVUe5Dd/xLV8rdJBSTyWpBH3b1r/yJr
58ws8gv5VELkKm9VeXQOhwe72XOVQCHtScHqyOIUGLidu653hJ1zhl7qQ0LdyjCL34M2X2/3z/20
dRPAtCekld8FQ0HJiu1EW395YCubiyL0y0SzBSJtoA==
=Eily
-----END PGP SIGNATURE-----

--------------vAC30YhXUtP7gZKpLqbO92pV--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:19:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392738.631277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrE7-0005QD-JV; Wed, 24 Aug 2022 14:19:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392738.631277; Wed, 24 Aug 2022 14:19:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrE7-0005Q6-Fu; Wed, 24 Aug 2022 14:19:27 +0000
Received: by outflank-mailman (input) for mailman id 392738;
 Wed, 24 Aug 2022 14:17:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QLoP=Y4=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1oQrBo-0005Mq-H1
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:17:04 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e3e00e4-23b7-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 16:16:38 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id gb36so33778467ejc.10
 for <xen-devel@lists.xenproject.org>; Wed, 24 Aug 2022 07:17:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e3e00e4-23b7-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc;
        bh=7QHuSojGFQRvWl2p78e2Ua+ZUBeqHobkB6L/jbtO/AU=;
        b=kgLOVa2NrvMvbgip0JZOHUgtXOpxzfrGo0VX8djfrfIeCJiatszPPt8USdglbGoLde
         lnLTKw+QtUexotyKbYGSLyUb+PBJNMTnAdOgXRD5Xrg6Xv2c25cJ943t4b4HnIZudX8/
         jIBsM7x0D3gG7qGcylzfOfdXIv3JWUkXsVOJtH+WuKEHnwc/+8ZCx/yG0pIGrwFKM1nV
         RmjSJybZjbL+eKUDaEU72VZWqhiQKWfUjUU2lJkMUeN7M8m+7sn6KPMfI27ECOyO/S7i
         F/LG94jBCk1fBli7gW+VbeTnCSYH7bzd2z43n4VtwMQfBTu8GUIHmnaEvTXxD99SGh2k
         +oYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc;
        bh=7QHuSojGFQRvWl2p78e2Ua+ZUBeqHobkB6L/jbtO/AU=;
        b=rMD/FRKyesRBK8P39HVhD64Asmcs2PF9Tlb93ufxNHmxXX7PCOAc4+/tvhrCA5bL7O
         NrJ+a0gcITNJEi6YT8ii9Z2AtDOiEpBvhpTrTLCciTWs1fK2y6KJIBfedXS3h9SA432+
         IAZhQmEUfXcEhQ1UXmaCqFeju449tS0TQesCnEzrduIMdegPiPTrn4vd5MmeaPsYylEg
         hmkBfhrzLYpa1ahodPVl3kZTQp6y8VywujSVyNgm0t+ESp1fN373aE/1pGUUfhuVAySK
         d18geaWaWX+TX3J94fZD1o2HHVdKO9qIErxIWj0kwo4oFFH0cZskwzua4Bo8x5Qcsq9q
         K0/Q==
X-Gm-Message-State: ACgBeo3lkS3ZMF+3H0Qk2PdtcMh4NRsBDM5+YL0jxQo9x76ZGd15AhQ1
	h30Pt6YgoMPpleb+WNzJxYsDHFc95OotIvtOkkOHOHncZ39LyQ==
X-Google-Smtp-Source: AA6agR6uHrlibcygtAfyfid9cXZ7bd8Z5jmly6ygn7BznzG7WY0OWhbmbL9KwXIkMM+yqS1mSCVsWb+6K/j+8yNiDLM=
X-Received: by 2002:a17:907:2d23:b0:730:acf0:4907 with SMTP id
 gs35-20020a1709072d2300b00730acf04907mr3126627ejc.700.1661350622388; Wed, 24
 Aug 2022 07:17:02 -0700 (PDT)
MIME-Version: 1.0
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Wed, 24 Aug 2022 19:46:50 +0530
Message-ID: <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
Subject: Porting xen on rpi4
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, julien@xen.org
Content-Type: multipart/alternative; boundary="000000000000b1e5de05e6fd556e"

--000000000000b1e5de05e6fd556e
Content-Type: text/plain; charset="UTF-8"

Hi,

I am porting xen hypervisor on rpi4 with yocto kirkstone sources. Followed
the basic steps to build xen-image-minimal & xen-guest-image-minimal. I
could flash sd card with xen minimal image & could see dom0 up. I copied
"Image", "xen-guest-image-minimal" .ext3 file & guest.cfg to "/home/root".
After that created a bridge with below step:

killall -SIGUSR2 udhcpc
brctl addbr xenbr0
brctl addif xenbr0 eth0
killall udhcpc
udhcpc -R -b -p /var/run/udhcpc.xenbr0.pid -i xenbr0

Could see the xenbr0 interface up.
After that while mounting the guest file system it shows no such file or
directory but the file is already there.


*[23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l**[23:40:15]
<Guest9046> -rw-r--r--    1 root     root      24652288 Mar  9 12:36 Image*















*[23:40:15] <Guest9046> -rw-r--r--    1 root     root           247 Mar  9
12:37 guest1.cfg[23:40:15] <Guest9046> -rw-r--r--    1 root     root
868220928 Mar  9 12:39
xen-guest-image-minimal-raspberrypi4-64.ext3[23:40:15] <Guest9046>
root@raspberrypi4-64:~# chmod 0777
xen-guest-image-minimal-raspberrypi4-64.ext3[23:40:15] <Guest9046>
root@raspberrypi4-64:~# ls -l[23:40:15] <Guest9046> -rw-r--r--    1 root
  root      24652288 Mar  9 12:36 Image[23:40:15] <Guest9046> -rw-r--r--
 1 root     root           247 Mar  9 12:37 guest1.cfg[23:40:15]
<Guest9046> -rwxrwxrwx    1 root     root     868220928 Mar  9 12:39
xen-guest-image-minimal-raspberrypi4-64.ext3[23:40:15] <Guest9046>
root@raspberrypi4-64:~# losetup /dev/loop0
xen-guest-image-minimal-raspberrypi4-64.ext3[23:40:15] <Guest9046> losetup:
xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
directory[23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup /dev/loop0
/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3[23:40:15]
<Guest9046> losetup:
/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
directory[23:40:15] <Guest9046> root@raspberrypi4-64:~#[23:40:15]
<Guest9046> root@raspberrypi4-64:~#[23:40:15] <Guest9046>
root@raspberrypi4-64:~#[23:40:15] <Guest9046> root@raspberrypi4-64:~#
losetup /dev/loop0
/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3[23:40:15]
<Guest9046> losetup:
/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
directory*

*Any input on this issue will be really helpful, expecting your response.*

Thanks & Regards,
Vipul Kumar

--000000000000b1e5de05e6fd556e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I am porting xen hypervisor on rpi4=
 with yocto=20
kirkstone sources. Followed the basic steps to build xen-image-minimal=20
&amp; xen-guest-image-minimal. I could flash sd card with xen minimal=20
image &amp; could see dom0 up. I copied &quot;Image&quot;,=20
&quot;xen-guest-image-minimal&quot; .ext3 file &amp; guest.cfg to &quot;/ho=
me/root&quot;.=20
After that created a bridge with below step:</div><div><br></div>killall -S=
IGUSR2 udhcpc<br>brctl addbr xenbr0<br>brctl addif xenbr0 eth0<br>killall u=
dhcpc<br><div>udhcpc -R -b -p /var/run/udhcpc.xenbr0.pid -i xenbr0=C2=A0</d=
iv><div><br></div><div>Could see the xenbr0 interface up.</div><div>After t=
hat while mounting the guest file system it shows no such file or directory=
 but the file is already there.</div><div><b><br></b></div><div><b>[23:40:1=
5] &lt;Guest9046&gt; root@raspberrypi4-64:~# ls -l<br></b><b>[23:40:15] &lt=
;Guest9046&gt; -rw-r--r-- =C2=A0 =C2=A01 root =C2=A0 =C2=A0 root =C2=A0 =C2=
=A0 =C2=A024652288 Mar =C2=A09 12:36 Image</b><b><br></b></div><div><b>[23:=
40:15] &lt;Guest9046&gt; -rw-r--r-- =C2=A0 =C2=A01 root =C2=A0 =C2=A0 root =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 247 Mar =C2=A09 12:37 guest1.cfg<br>[23:=
40:15] &lt;Guest9046&gt; -rw-r--r-- =C2=A0 =C2=A01 root =C2=A0 =C2=A0 root =
=C2=A0 =C2=A0 868220928 Mar =C2=A09 12:39 xen-guest-image-minimal-raspberry=
pi4-64.ext3<br>[23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~# chmod 0=
777 xen-guest-image-minimal-raspberrypi4-64.ext3<br>[23:40:15] &lt;Guest904=
6&gt; root@raspberrypi4-64:~# ls -l<br>[23:40:15] &lt;Guest9046&gt; -rw-r--=
r-- =C2=A0 =C2=A01 root =C2=A0 =C2=A0 root =C2=A0 =C2=A0 =C2=A024652288 Mar=
 =C2=A09 12:36 Image<br>[23:40:15] &lt;Guest9046&gt; -rw-r--r-- =C2=A0 =C2=
=A01 root =C2=A0 =C2=A0 root =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 247 Mar =C2=
=A09 12:37 guest1.cfg<br>[23:40:15] &lt;Guest9046&gt; -rwxrwxrwx =C2=A0 =C2=
=A01 root =C2=A0 =C2=A0 root =C2=A0 =C2=A0 868220928 Mar =C2=A09 12:39 xen-=
guest-image-minimal-raspberrypi4-64.ext3<br>[23:40:15] &lt;Guest9046&gt; ro=
ot@raspberrypi4-64:~# losetup /dev/loop0 xen-guest-image-minimal-raspberryp=
i4-64.ext3<br>[23:40:15] &lt;Guest9046&gt; losetup: xen-guest-image-minimal=
-raspberrypi4-64.ext3: No such file or directory<br>[23:40:15] &lt;Guest904=
6&gt; root@raspberrypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image=
-minimal-raspberrypi4-64.ext3<br>[23:40:15] &lt;Guest9046&gt; losetup: /hom=
e/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or direct=
ory<br>[23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~#<br>[23:40:15] &=
lt;Guest9046&gt; root@raspberrypi4-64:~#<br>[23:40:15] &lt;Guest9046&gt; ro=
ot@raspberrypi4-64:~#<br>[23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:=
~# losetup /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ex=
t3<br>[23:40:15] &lt;Guest9046&gt; losetup: /home/root/xen-guest-image-mini=
mal-raspberrypi4-64.ext3: No such file or directory</b><br></div><div><b><b=
r></b></div><div><b>Any input on this issue will be really helpful, expecti=
ng your response.</b></div><div><b><br></b></div><div>Thanks &amp; Regards,=
</div><div>Vipul Kumar</div></div>

--000000000000b1e5de05e6fd556e--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:21:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392746.631288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrGK-0006pu-3l; Wed, 24 Aug 2022 14:21:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392746.631288; Wed, 24 Aug 2022 14:21:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrGK-0006pn-0p; Wed, 24 Aug 2022 14:21:44 +0000
Received: by outflank-mailman (input) for mailman id 392746;
 Wed, 24 Aug 2022 14:21:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M3pU=Y4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oQrGI-0006pd-7w
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:21:42 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140040.outbound.protection.outlook.com [40.107.14.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12545b56-23b8-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 16:21:41 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM5PR0402MB2931.eurprd04.prod.outlook.com (2603:10a6:203:95::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.24; Wed, 24 Aug
 2022 14:21:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Wed, 24 Aug 2022
 14:21:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12545b56-23b8-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fk7jG52bFImnqjOd0z58SHaaqbnq6yVpjziX1LPcAYzeLWBBszX4TLECquVR7szZVptJwR4O7Brw1iUaEGjQnfNX72ZKoofN7ect/0CEJ/gCAzkpdnEwuxY36QqnpsxJzfuYOWASjThWPx+tGG0K3lIJ2uRlOLqJE8tsZ88p3OI84Fz5LUHFixWG0RNrDeRrHk5+qbXijyExEpow1mmmHwQ+w4uaVTQ6h3ZOynunCTp822+vY1dkDsLudV2KUr5ghSJ1zyYnAjoouVFYQGWM3o6FMaOUtgUN7f/qlO0wHmMErda90e0QnCNZa6NhI7inKqBbNXMP77WrvZcCUI9xgA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8HncmoGUauMg1q5GHgJGhFLsoqjjbYYa2O7UT1hOvxA=;
 b=VWm8+mv3eAYylLjSCDIYLDB/c0qqgfM7w7svbLwhBFsQGfbzQKb3hav6DlcQqDu0Y3UXrQHDfWKw8XAGKxv+BXwdj3PdGtu9BbVXV5v0J22aYflRCsdwPq0A8ribM0vHhNidEYtHfaTyH+QI356YFnHv+RpN3uX5UTIX0VEKVoRzC8mpr6LGyFhO76o69I4YcNZLBw1vP4HTGShSw3bY79m7FQpSsKNbz3bNFLKDS7H+H8XhF9awrPJwta3kbvVBM3Lt3jmBGhXPsXqPw1/M+MA9R3gK97HG6iRxlBqUOtyAlVelNEymlfexBYgjL6z9Ah3jAbLXkccVZHAOMuA0Lw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8HncmoGUauMg1q5GHgJGhFLsoqjjbYYa2O7UT1hOvxA=;
 b=HysIbsmUnU8Pm05HEq9Q7iq8ctjvUvJa0zlAjG/l6Vf8GMsrSnPvdY6KnweXFSRWaI41nUoHnDKuoDiJxgYdVP4fxoOC6DEys+7bZIvxj424uKv7mdHOlyW9NaBlnIreZ9J5g8yQW/IlkUjLcl10jJlGBNZJ+Xv6DN97o1QcGOhXV5PmTPPZOCn3yXrIQ/2Uw4PfDtHVrKsSlo2VuHb6BQGhB1FFqE2kk7G46yoBWnm8aRwr95P1Nv03KWFJNu4RmsRm8BgEzhRXLCaBFQ8JUVYpKXw2qeA5PKXaiZJgknwyAVPaOnChpPnWgSgTIpVutE6rQqIBOq20Am2OorIWSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a27627e8-9f26-eff3-c94f-0ffc7108914b@suse.com>
Date: Wed, 24 Aug 2022 16:21:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 1/4] x86/hvmloader: SMP improvements
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220824105915.32127-1-andrew.cooper3@citrix.com>
 <20220824105915.32127-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220824105915.32127-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0150.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 772ac891-bcaf-4d1a-50bc-08da85dbf59b
X-MS-TrafficTypeDiagnostic: AM5PR0402MB2931:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	reUrMC0V2U0hMjMGG9n77lajTIaSatRWSgYQmp/S1P6C0pq84YihzOju7vi+G0V1FnBwZzyT9KR8Ri5O9XZUkDfp/Fua/5V5YYwmD3il0z76cKkTpRdbn44POn51oAR29NZqT7r+S4780yTuwwHlr40ZhBqm1s7NV2gkKcndPqaNY/ACR7DJyPp8Z+2u5v5GMyHLSOjxTKYAuIfkJgh+AZyvmWJUG5utoNiWqgdmJXegbr/Kv8VVx5O3UAAKBL0eqjcIq1p+U2QYxnsqE7r2J6KYgs3360OVUz+Z+hcKDDuz9O+jZiRvs8nKB7i7VoRHElp2e2KiRhrBFa0Fck3T+Iqid0NEUGdALw6cmt6OFe+AE4t4IdlVpd0yt3ElYPQLT0LJX8U9JKH+j5qXw4NvB3h+zZWaiMGFwzSFPtIEkr34flxFKbxbuSTqJtJGcHrhqiA/N/iqtBGwvQSfoyoelz6utVbiKjklDWfHJ6q91CDL/AzVd0hxppm9eoRDBOWzpz5wWeauUoeIrzVCf10vybJUNA4f8p3EJSzuXqyZXzNnqc9hB/y1uQH4IrYR4oPbXB1ENocUnSvgFgCG2nMYXQlOmWCOX0C9P3dJGCz7AWYBexGhdAv0UWhweMaHi9cxZptDTDLmfZjg1rTN3jwO8DdLEXSNTO29B154q3HmLegM1JUc7ipFloak2IENrHb4qsVSB4X0JC3SBzhblL6sfTlzVTgmZ0Yu1uPNctdZ5/fm0YUqjVoo8jEIuguecS5Y0JqTfQIG7pa8RXVycUtN0Rq0K+ZRwCZdqFLrioUvpzA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(396003)(346002)(136003)(366004)(8676002)(4326008)(66476007)(38100700002)(66556008)(86362001)(31696002)(5660300002)(8936002)(66946007)(2906002)(53546011)(6506007)(41300700001)(26005)(6512007)(478600001)(6486002)(316002)(83380400001)(186003)(2616005)(6916009)(36756003)(54906003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWlBNHJYVTBkL2ZBYkk3cVROckpobVhhbXdoVlNicUVNTUd3RVNIc1ZpMWN2?=
 =?utf-8?B?QlZhaXlQaXgwNlBvR0Jzdk95ZXBQckNxeGVhRlYvdTdOMHVIUWhsM0hmL05D?=
 =?utf-8?B?MU9EMUFCcUkvbm5pOFRqQzNkUEFkd1NManFUT1VIYnJFRFZLK3pHaEZvOFBn?=
 =?utf-8?B?NTVYeVhWWVczU1VLUzJOT1RKdzlZWGk3YVcrVDNXazRQaEw4bnVMMDl5bHJx?=
 =?utf-8?B?MzIxOVZ1TkJoSVgvckkrdlJhYWMvNlYzMVJ5UmJMV3FDSGRqM3ErQ1VCUDda?=
 =?utf-8?B?RnQvSnVDRTZwQTZJOEV1Vi9BT1lDTnphcS9FRUp5T29oaGE3RC9DYmJHUzBU?=
 =?utf-8?B?Und4VldLNXloS1FQaGllenpaSDY2aEVPUmdsZ0RxeXQ4QzlMY01pSkpmelFo?=
 =?utf-8?B?MzNwVml1S3dWeTcrdVNQbE5IbFNLMkg3djZpeDgxcmFWaXBnTHB1R1Q1WDVI?=
 =?utf-8?B?MThXMGJlVHBGbTlrakZ2eW5EYUE1aEJRZGlyTjJCMjJWNW9MMHZqeGo3NFJr?=
 =?utf-8?B?R0taOS9GYnlmUVRoN2hTRi9FaTRwem5EZTdQU1g2SXRCNFdJRjlaK3Z1VmlQ?=
 =?utf-8?B?ZlZrOUNXUDM3RnVqUmhPcitDTjJQckRzTUVVa21ubVdzanhNR3FrVXRQWmVH?=
 =?utf-8?B?WlE3YUQ5enNkSERlVVY2QXdiQWNwbTFySE1OMlhkczlIcU1lbUxrZGE4K09E?=
 =?utf-8?B?UjlZN0g5emlid2FWaEEvcHZsSmhabFhXeU1LdS9iWlVQLzFRVjhSV05YMXVI?=
 =?utf-8?B?NWFmYVM5OVBXbllXRUNHQ0Fyd0Zqd3BxS1M3V05OODdqd3MxY2pOSlJucTJS?=
 =?utf-8?B?RHVHN204d0VEd216TDQyOGxJOE14akRISDB6T0VvZ21xRmxGbEdGSlVIMVVp?=
 =?utf-8?B?cFMydEF1R01UMEhHTUxlVkd6VFdyZGVwL2Yzc0NSNlloTGI2cDkxMjBGVGpN?=
 =?utf-8?B?ZnVmaG5OOFFMdHpJQ1ZzZHRkVDBubi90YmNlOGtvUFZuZnYyTmNzajhaYUgw?=
 =?utf-8?B?SDBPSjJYUDR2L0JhYWdHeUhBNDNRNjZWNTJraE1CQjFVUGc3LzJCOXhSTnBm?=
 =?utf-8?B?V052THlRMk1IMFI0dXRTS1l4TGJ3cW1GV3RCZDNhUVM4UmtaR3RicllwaHQ3?=
 =?utf-8?B?UXNvTmEwWkRpM09yK2JVWVJtUmR2ZUhTMzZrcEZ2N3FZVmJheFh3RXlVYkFz?=
 =?utf-8?B?ZGVpelZJMFZPSG1uamkyQkdYZWFadmIyS1RMSCtYOEpSdFBkb3RtbFd0M3k5?=
 =?utf-8?B?NHl1WEJIdlRTbGFWcW44VVZUaVRTK0g4YXdhdmxYb0JlRlJZWGVrek9hTkw1?=
 =?utf-8?B?VUU0L3J4MWdaa1BubUFxSnNURDljS1lCSEZTejZnSGtab29zYm8xNDZYUm91?=
 =?utf-8?B?NWtxcUdHSkZCLzk0ZDNHOHNoZEx3UkxzUDg5ZmlyZ0pEZ2MvQ3g1elVyL2dN?=
 =?utf-8?B?K1UyVzQyaDNMSHRkemY0cFp3U0xOTDFxS0ZLekpIVkh3NHl2djBmQ0k4R2dZ?=
 =?utf-8?B?YjgraE5XU3VEelZSdGN4dFMva002ckRoNFBXVEJwQ1pOVGRRNG01OVJMVHUy?=
 =?utf-8?B?bmpGT01YWXRXMVRBYlBTRnVTUUxqNno0Y3hiS1Y2VGxvcTlmeDhZaUpmZUto?=
 =?utf-8?B?UmRRRGJ1MWkvRWZJK1B4ZnJEU0l0ZTVCT1dNc0hLdmpDWFRrV1QzbFM2YkZO?=
 =?utf-8?B?eVpkNy8xZnduRVlVVGpzK1IxcHZiMkV3ajhzNGdrRm9JSGxmTlVCbmpMdEo4?=
 =?utf-8?B?Q25KVDM2Mk5VWG5EaFVOTXNSR3dhcFdYV1hseEg4TVgzMzhqeGVPWGt2WTJK?=
 =?utf-8?B?ZFArMld5eHJ3RVdXVE1lclRYYzBaL3hLamZseXNvajZGc3hQbjV0WEw3UU1s?=
 =?utf-8?B?bnF5V1ZHYWE0cEI2dUN1SjF1Q2c3VGFqSzFNMnNTVUxsL045d2xwWTBPTFhu?=
 =?utf-8?B?RkE2RWlpMkRzdjNXaEJMNGVUOWZ0RGxWWmN4TGZ5UHJEMGd3TEV4VngwbCtG?=
 =?utf-8?B?RjVwN0U5VmFJOE8vU3pQeDBJdTRvcklxSTFlZUFIaTBNUUgrNmwwV0prMGto?=
 =?utf-8?B?VExrd3h3eHNObXNYdzlObGxwclRJV0lSeGg4OUIwU1VoOGprV1g4UjZGSHZH?=
 =?utf-8?Q?h6ZuUPHT2e5fWEqx/8JTCD32I?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 772ac891-bcaf-4d1a-50bc-08da85dbf59b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 14:21:39.2056
 (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: +lrxuR78bfuvYwg+fC/hlAm8nTH/Irta17QkNuI3IzYvIgndyEz6FR0iFoSvSXGKFOSe6bN/8UNB94dZGQS3bA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0402MB2931

On 24.08.2022 12:59, Andrew Cooper wrote:
> --- a/tools/firmware/hvmloader/smp.c
> +++ b/tools/firmware/hvmloader/smp.c
> @@ -35,9 +35,9 @@ asm (
>      "    mov   %cs,%ax               \n"
>      "    mov   %ax,%ds               \n"
>      "    lgdt  gdt_desr-ap_boot_start\n"
> -    "    xor   %ax, %ax              \n"
> -    "    inc   %ax                   \n"
> -    "    lmsw  %ax                   \n"
> +    "    mov   %cr0, %eax            \n"
> +    "    or    $1, %al               \n"
> +    "    mov   %eax, %cr0            \n"

Hmm, yes, read-modify-write should probably have been used from
the beginning, irrespective of using 286 or 386 insns.

> @@ -68,14 +66,37 @@ asm (
>      "    .text                       \n"
>      );
>  
> -void ap_start(void); /* non-static avoids unused-function compiler warning */
> -/*static*/ void ap_start(void)
> +static void __attribute__((used)) ap_start(void)
>  {
> -    printf(" - CPU%d ... ", ap_cpuid);
> +    unsigned int cpu = ap_cpuid;
> +
> +    printf(" - CPU%d ... ", cpu);
>      cacheattr_init();
>      printf("done.\n");
> -    wmb();

Is there a reason you remove this barrier but not the one in boot_cpu()?

> -    ap_callin = 1;
> +
> +    /*
> +     * Call in to the BSP.  For APs, take ourselves offline.
> +     *
> +     * We must not use the stack after calling in to the BSP.
> +     */
> +    asm volatile (
> +        "    movb $1, ap_callin          \n"
> +
> +        "    test %[icr2], %[icr2]       \n"
> +        "    jz   .Lbsp                  \n"

Are we intending to guarantee going forward that the BSP always has
APIC ID zero?

> +        "    movl %[icr2], %[ICR2]       \n"
> +        "    movl %[init], %[ICR1]       \n"
> +        "1:  hlt                         \n"
> +        "    jmp  1b                     \n"

The use of the function for the BSP is questionable anyway. What is
really needed is the call to cacheattr_init(). I'm inclined to
suggest to move to something like

void smp_initialise(void)
{
    unsigned int i, nr_cpus = hvm_info->nr_vcpus;

    cacheattr_init();

    if ( nr_cpus <= 1 )
        return;

    memcpy((void *)AP_BOOT_EIP, ap_boot_start, ap_boot_end - ap_boot_start);

    printf("Multiprocessor initialisation:\n");
    for ( i = 1; i < nr_cpus; i++ )
        boot_cpu(i);
}

thus eliminating bogus output when there's just one vCPU. 

Then the function here can become noreturn (which I was about to suggest
until spotting that for the BSP the function actually does return).

> +        ".Lbsp:                          \n"
> +        :
> +        : [icr2] "r" (SET_APIC_DEST_FIELD(LAPIC_ID(cpu))),
> +          [init] "i" (APIC_DM_INIT),
> +          [ICR1] "m" (*(uint32_t *)(LAPIC_BASE_ADDRESS + APIC_ICR)),
> +          [ICR2] "m" (*(uint32_t *)(LAPIC_BASE_ADDRESS + APIC_ICR2))
> +        : "memory" );

Can't you use APIC_DEST_SELF now, avoiding the need to fiddle
with ICR2?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:27:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392752.631299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrLy-0007Um-OS; Wed, 24 Aug 2022 14:27:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392752.631299; Wed, 24 Aug 2022 14:27:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrLy-0007Uf-Lp; Wed, 24 Aug 2022 14:27:34 +0000
Received: by outflank-mailman (input) for mailman id 392752;
 Wed, 24 Aug 2022 14:27:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jRce=Y4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oQrLy-0007UV-2L
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:27:34 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4431c91-23b8-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 16:27:33 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8A88F20447;
 Wed, 24 Aug 2022 14:27:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 45DB313AC0;
 Wed, 24 Aug 2022 14:27:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HPKUD1Q1BmN+BgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 24 Aug 2022 14:27:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4431c91-23b8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661351252; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=Yi2ZNad6kgMz/6PldXnNjKbyPX0uHyJxaAqhAA//dfo=;
	b=FUHgHgR1V9zX7w8l+rS/yI6QH5Cqpo1omm+unoLQLUz1Agf/U8G0GH+Rst0xcKAH7lzsjk
	WW2yUOBSNUBidc8jsqDa2505hNaY1Y3VQdrrVrKa3yfUZ9TqhJkdRLZZWorEiDi7CjwLT/
	/fUsx7qp6AbarPHI8pxMGwt7b3Yzc/U=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	stable@vger.kernel.org,
	Rustam Subkhankulov <subkhankulov@ispras.ru>
Subject: [PATCH] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Date: Wed, 24 Aug 2022 16:26:34 +0200
Message-Id: <20220824142634.20966-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The error exit of privcmd_ioctl_dm_op() is calling unlock_pages()
potentially with pages being NULL, leading to a NULL dereference.

Fix that by calling unlock_pages only if lock_pages() was at least
partially successful.

Cc: <stable@vger.kernel.org>
Fixes: ab520be8cd5d ("xen/privcmd: Add IOCTL_PRIVCMD_DM_OP")
Reported-by: Rustam Subkhankulov <subkhankulov@ispras.ru>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/privcmd.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 3369734108af..ec87968b4459 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -679,7 +679,7 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
 	rc = lock_pages(kbufs, kdata.num, pages, nr_pages, &pinned);
 	if (rc < 0) {
 		nr_pages = pinned;
-		goto out;
+		goto unlock;
 	}
 
 	for (i = 0; i < kdata.num; i++) {
@@ -691,8 +691,9 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
 	rc = HYPERVISOR_dm_op(kdata.dom, kdata.num, xbufs);
 	xen_preemptible_hcall_end();
 
-out:
+ unlock:
 	unlock_pages(pages, nr_pages);
+ out:
 	kfree(xbufs);
 	kfree(pages);
 	kfree(kbufs);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:36:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:36:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392758.631310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrUE-0000Xt-Iy; Wed, 24 Aug 2022 14:36:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392758.631310; Wed, 24 Aug 2022 14:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrUE-0000Xm-Fg; Wed, 24 Aug 2022 14:36:06 +0000
Received: by outflank-mailman (input) for mailman id 392758;
 Wed, 24 Aug 2022 14:36:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oQrUD-0000Xg-Cg
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:36:05 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2088.outbound.protection.outlook.com [40.107.22.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14fb6039-23ba-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 16:36:04 +0200 (CEST)
Received: from DB6PR07CA0013.eurprd07.prod.outlook.com (2603:10a6:6:2d::23) by
 DBBPR08MB4411.eurprd08.prod.outlook.com (2603:10a6:10:cb::17) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5546.19; Wed, 24 Aug 2022 14:36:01 +0000
Received: from DBAEUR03FT024.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:2d:cafe::1f) by DB6PR07CA0013.outlook.office365.com
 (2603:10a6:6:2d::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Wed, 24 Aug 2022 14:36:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT024.mail.protection.outlook.com (100.127.142.163) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 14:36:00 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Wed, 24 Aug 2022 14:36:00 +0000
Received: from 4e1c201872db.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1142A714-E4A1-4120-A2A0-1CDF8D592FBF.1; 
 Wed, 24 Aug 2022 14:35:53 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4e1c201872db.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 14:35:53 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM8PR08MB6625.eurprd08.prod.outlook.com (2603:10a6:20b:357::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 14:35:46 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Wed, 24 Aug 2022
 14:35:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14fb6039-23ba-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=J2MJKd5fWKrCqZl2t7F2nogZS3OrYGLYHhVCFcb5eNQhVle4gvOTS1riPJ6Sz95bKgeWtC0tKRTdf90r2hoeZiybrkRBwcvmgat4gGHhFcH4ZGTUUnEfMv9melOub3sqQiSp3wQkwlBzNLr/B74N2G23wJGUSJdrA8hXEbYKStgWjltdLUOGbjjz+CCdYY6vsutRq+wdlyfQCyQOct7vjiNN9BfDntCbjDuXIKD0a6hpD/iYKX0UI8N/+3WLaS5rRIQmFxrD2+NbihCBI+BjCuEpRMV2QnyqJxb8G12CzRL9h4vCRFCYgCSW8SBfyPO/zj+2PmIY4aR/BREUaJIn1g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OmB7EnF6gTxsol9oyR8+nGZ90B+sbww2CPO0d3E1iSQ=;
 b=WAbY9RPvTQF2fvu3YCLDTJfxOO9h3YIYhc9kcP3LA5DevT474iaSHPl4OmKUQYoHLHyWUt2OuDTYK73Q3X0sDema+PsmvZPcYGrGzeQfQQcWkuzOJIYzztIcm/G+no3X4BjKIMMX99HuCUK1yMoxtGQyaZsCvzYZuB8EBPvAt9XZfvaDyeLgmyVkWjoc3WH/TYYgQ1aE06PIbjzn2Dt3wyCbAkm/Kt1y0mspdKKdtvOe7GUB2148cJZ1DGV+wSIWBMdurOs3yeAqZ2dAwVwzhppzfg9SLbm5+ScLWyjD9B3+XbrE8bKINz237ipMl1oZGpL3EYXtv4RBx8bxHMRLng==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OmB7EnF6gTxsol9oyR8+nGZ90B+sbww2CPO0d3E1iSQ=;
 b=VIfFKsoCRQLXSCVonvSdUBeO50fH7p9y5EOnVYK6rhWDQ2g3l8znFj9RfHsfukz3fPCzPMc/G3fWBi7HxhF6SPGcL6SMXV53lzXnxfJnx8BwArJSKoiKeETk5mugoB+r1tGpayRg9y5O+f2vcuoRGM2k5FdtGOXFQMxsz4uMNWA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: bac1b0e91aefa273
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mrwq+j50pKQDtQqEiZ5B18ahfQw19QUiHJhyB0eWRKcZX9cKm1obg0MBX6YVSuidrcV6Tpuab5Z4hOKAp6j67QRSOUG2kD4c6y2gfnOhL9fcrwOObaMuG34GFiQ2D4Y9fRlqwKEU3pumbdd3fAhCJ704OL3XPiSMIPHUDQCIpMT8EX9jB0Z0QDvMnoDgR6RsrjPju3t+RszJNjQgfy6ZU0aSNNgzPlJsBq8p5d8BBW0y4DUHgEQCVar12Ueu9WDwp/qI73cz/3Yp0r6IqgTj3VjbmSTh97OQ9F8nfofDLcfPbk6aqReMT3yAPyMPkB0cZ6hE4sNF/3yvZw8g1rLJ0g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OmB7EnF6gTxsol9oyR8+nGZ90B+sbww2CPO0d3E1iSQ=;
 b=aMNP8WC1ICxEezbN0kYWsIW5ciWzvQxcJKAVDuG6oT5zekaLpHARRQXZkweOT9QycFu//YLpBiYJMrBHLqMSqXwfkdWYjtl75lDKExBBGrvrdIiA/K6b8D9XUnc15cfes2CB2PwgkUff1RstyaJLw7WNwdmWAzJ2ivDu/0c4cmK7SrympHmyUhOjsCLifxFf7hpJNSXtpfUj30D1UyXffVPHSXqAbDlDj8Kj7ymLjjhtzRtOQTo/IniAM4ztUqbOybPj62bBbtjL1YYAdxvIYyUpaQdcStfTKSUzMRhIOER3VQtmggpAx+Y5G3nM2I2u5H8Epb3giKHrAMpY/B+gQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OmB7EnF6gTxsol9oyR8+nGZ90B+sbww2CPO0d3E1iSQ=;
 b=VIfFKsoCRQLXSCVonvSdUBeO50fH7p9y5EOnVYK6rhWDQ2g3l8znFj9RfHsfukz3fPCzPMc/G3fWBi7HxhF6SPGcL6SMXV53lzXnxfJnx8BwArJSKoiKeETk5mugoB+r1tGpayRg9y5O+f2vcuoRGM2k5FdtGOXFQMxsz4uMNWA=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Vipul Suneja <vsuneja63@gmail.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>
Subject: Re: Porting xen on rpi4
Thread-Topic: Porting xen on rpi4
Thread-Index: AQHYt8SgkyOonJ7Wl0ezDHN7orB+v62+Hg2A
Date: Wed, 24 Aug 2022 14:35:46 +0000
Message-ID: <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com>
References:
 <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
In-Reply-To:
 <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 35b7abd2-3230-4ed6-94f3-08da85ddf709
x-ms-traffictypediagnostic:
	AM8PR08MB6625:EE_|DBAEUR03FT024:EE_|DBBPR08MB4411:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 TAZEgTDK/TYgvujakBhkXH6U3Wn/qSzOh95o0aJYfkaSlCdhiK0lmOdXY8kmvZ501y2Rtw0/2wztee2kSV8ddiygx56dC5Uh3JXg47NrN+lefm3L5pksBovW6AoM4amAYjN22vBqV8ehjZk439o0GpSJX0KV1v+uZ3KDS4jF9Sl0kDNFgo8aW2tT3nSwPm9riEJKzviTaelAxpITWNVfYnT4BZH1/iZq7oKT3R2oGV6kbLgWt3KoRVs/0ISAxCZoEh3O8MeXKZKLejiIyY2lqdqDPhI2eqF/pCWt/iGEjDwtkTmA9hiceZQX9Nd1jpF7hiR3VwTSjs6VtCrfbM3Gi2LkRThsPUvMjDhNM7JIlqE+j4Krh7UmqVlqRhkaUyC59pJufA8AxLkRIIrkf0Xv+nikajvUhRjq8IhmZnofnbOM9dYvrHFflMNVPm4lGPPGB3XFP8fIrQkKn22ug3c+L+RK/js8DGUly3PcSNEmN0bF6pz2d+wY+CNeChH7XBGVIBZR+YqF3IyKqLzLU0D9t8E+LPUs7Alsa6FCtmHrwpWbByQUEZTkOaRnpUyzhjZ1O5nyOYQSR75pTSQYXlyiSoHSuVKdBLAJ3gUnq+ytVOHAo0vNZhU3eekH7pGm40PPOfm38ey9YWWZZ7saPwWka/bAORR1JV0k5usudRYo1D2EqZk5uyyDBZ4a8BkD3fk/QOjcomiMSY4wRf8IN1sOxHu3AdS/EaeVILQHyffR4x+Ou97cqENR2vOTBy+3Ro/2byjaVEXC0ufqiSrpebfBvp/Wi9poH3ktjXf/vsN+3WI=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(39860400002)(366004)(136003)(346002)(6486002)(38070700005)(86362001)(66556008)(66476007)(66946007)(91956017)(76116006)(4326008)(8676002)(64756008)(8936002)(66446008)(2616005)(5660300002)(41300700001)(33656002)(478600001)(186003)(316002)(6506007)(26005)(36756003)(53546011)(38100700002)(6916009)(54906003)(6512007)(122000001)(71200400001)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9DC13989748EC642835EBE91B82A1440@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6625
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c1a099b8-33f9-4e3d-80df-08da85ddee7a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jtFi2dZW3MEyCa8XQwE2mEQ2AOECxCcJgJ9c3wyNvcP9/2geYYwLZ/ldqegVx2S5pnIsLaNOLfG51VQnT8lMp3CkMeWoY0o/BpvqsrbwpCTdhuRXURBaBnYO8j454DWxv6zU/WzcM1soUJlFcPeTC4xTUxWv+3FpWA6nJNfWpbsX3dx1QjG3x4QHesiu/JgZm8/rlQA/S00HDuGpZwFuzAzkJKPB0JmpDa0L3rm8/H1oezcgeYLm09+52/CkRLgZeLEwVjL7lv99543KCpDHC2bILR4Sd15hv0GUyk5R163FUtME3lCbqoa8fc5/rOD0DZA34lHB2pIx5r+ibv1daCyevav/q3j5CL1Cpik/wWBZr9Kl1om2CFa4WKTNN26B4eJsES2NI8C3JZ/YhHW2ENYgr0b6SMt1Wj1NhT98eYTa+yEc07M8WOTUPX9PmOwkLtiEZt2+tBPxHs8P+LdGAsZYUn5S8vJyoYtILhz2a/mY1nMZDt23tQs5Ybyo89NpkNmvTRAtq+QPZg7IlfJF04leTNeCdM2rNShWLA6BKfodgj/tgAH0do3Uesz0t222spXaWVG3+hZs2IOBgxeGujFZThioEhJSTvGyp230be4NnQ9uNJAPNeuIqMmlfUn9tzfCEU0D5HyyO9jy6o51+DcZ4UfUsTwGLx9kSEtklcRWZ3EtW6SU63+jz5zV7YOdsSK4zq6zbh8gf+DUzWu7eiokSoqzpTp9aYfeNQV7rI886YOzcopfQ/RSWXhDRCMcCp/HocOWx9HkPP53kmJykw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(136003)(396003)(376002)(46966006)(36840700001)(40470700004)(70586007)(4326008)(8936002)(8676002)(70206006)(82740400003)(86362001)(36756003)(54906003)(81166007)(33656002)(36860700001)(356005)(82310400005)(186003)(6512007)(26005)(47076005)(478600001)(41300700001)(6506007)(6486002)(5660300002)(40460700003)(336012)(316002)(40480700001)(53546011)(2616005)(2906002)(6862004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 14:36:00.5213
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 35b7abd2-3230-4ed6-94f3-08da85ddf709
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4411

SGkgVmlwdWwsDQoNCj4gT24gMjQgQXVnIDIwMjIsIGF0IDE1OjE2LCBWaXB1bCBTdW5lamEgPHZz
dW5lamE2M0BnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gSGksDQo+IA0KPiBJIGFtIHBvcnRpbmcg
eGVuIGh5cGVydmlzb3Igb24gcnBpNCB3aXRoIHlvY3RvIGtpcmtzdG9uZSBzb3VyY2VzLiBGb2xs
b3dlZCB0aGUgYmFzaWMgc3RlcHMgdG8gYnVpbGQgeGVuLWltYWdlLW1pbmltYWwgJiB4ZW4tZ3Vl
c3QtaW1hZ2UtbWluaW1hbC4gSSBjb3VsZCBmbGFzaCBzZCBjYXJkIHdpdGggeGVuIG1pbmltYWwg
aW1hZ2UgJiBjb3VsZCBzZWUgZG9tMCB1cC4gSSBjb3BpZWQgIkltYWdlIiwgInhlbi1ndWVzdC1p
bWFnZS1taW5pbWFsIiAuZXh0MyBmaWxlICYgZ3Vlc3QuY2ZnIHRvICIvaG9tZS9yb290Ii4gQWZ0
ZXIgdGhhdCBjcmVhdGVkIGEgYnJpZGdlIHdpdGggYmVsb3cgc3RlcDoNCj4gDQo+IGtpbGxhbGwg
LVNJR1VTUjIgdWRoY3BjDQo+IGJyY3RsIGFkZGJyIHhlbmJyMA0KPiBicmN0bCBhZGRpZiB4ZW5i
cjAgZXRoMA0KPiBraWxsYWxsIHVkaGNwYw0KPiB1ZGhjcGMgLVIgLWIgLXAgL3Zhci9ydW4vdWRo
Y3BjLnhlbmJyMC5waWQgLWkgeGVuYnIwIA0KPiANCj4gQ291bGQgc2VlIHRoZSB4ZW5icjAgaW50
ZXJmYWNlIHVwLg0KPiBBZnRlciB0aGF0IHdoaWxlIG1vdW50aW5nIHRoZSBndWVzdCBmaWxlIHN5
c3RlbSBpdCBzaG93cyBubyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IGJ1dCB0aGUgZmlsZSBpcyBh
bHJlYWR5IHRoZXJlLg0KPiANCj4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJy
eXBpNC02NDp+IyBscyAtbA0KPiBbMjM6NDA6MTVdIDxHdWVzdDkwNDY+IC1ydy1yLS1yLS0gICAg
MSByb290ICAgICByb290ICAgICAgMjQ2NTIyODggTWFyICA5IDEyOjM2IEltYWdlDQo+IFsyMzo0
MDoxNV0gPEd1ZXN0OTA0Nj4gLXJ3LXItLXItLSAgICAxIHJvb3QgICAgIHJvb3QgICAgICAgICAg
IDI0NyBNYXIgIDkgMTI6MzcgZ3Vlc3QxLmNmZw0KPiBbMjM6NDA6MTVdIDxHdWVzdDkwNDY+IC1y
dy1yLS1yLS0gICAgMSByb290ICAgICByb290ICAgICA4NjgyMjA5MjggTWFyICA5IDEyOjM5IHhl
bi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQzDQo+IFsyMzo0MDoxNV0g
PEd1ZXN0OTA0Nj4gcm9vdEByYXNwYmVycnlwaTQtNjQ6fiMgY2htb2QgMDc3NyB4ZW4tZ3Vlc3Qt
aW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0Mw0KPiBbMjM6NDA6MTVdIDxHdWVzdDkw
NDY+IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jIGxzIC1sDQo+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0
Nj4gLXJ3LXItLXItLSAgICAxIHJvb3QgICAgIHJvb3QgICAgICAyNDY1MjI4OCBNYXIgIDkgMTI6
MzYgSW1hZ2UNCj4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiAtcnctci0tci0tICAgIDEgcm9vdCAg
ICAgcm9vdCAgICAgICAgICAgMjQ3IE1hciAgOSAxMjozNyBndWVzdDEuY2ZnDQo+IFsyMzo0MDox
NV0gPEd1ZXN0OTA0Nj4gLXJ3eHJ3eHJ3eCAgICAxIHJvb3QgICAgIHJvb3QgICAgIDg2ODIyMDky
OCBNYXIgIDkgMTI6MzkgeGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4
dDMNCj4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBpNC02NDp+IyBsb3Nl
dHVwIC9kZXYvbG9vcDAgeGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4
dDMNCj4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiBsb3NldHVwOiB4ZW4tZ3Vlc3QtaW1hZ2UtbWlu
aW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KPiBb
MjM6NDA6MTVdIDxHdWVzdDkwNDY+IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jIGxvc2V0dXAgL2Rl
di9sb29wMCAvaG9tZS9yb290L3hlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02
NC5leHQzDQo+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gbG9zZXR1cDogL2hvbWUvcm9vdC94ZW4t
Z3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MzogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQ0KPiBbMjM6NDA6MTVdIDxHdWVzdDkwNDY+IHJvb3RAcmFzcGJlcnJ5cGk0LTY0
On4jDQo+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gcm9vdEByYXNwYmVycnlwaTQtNjQ6fiMNCj4g
WzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBpNC02NDp+Iw0KPiBbMjM6NDA6
MTVdIDxHdWVzdDkwNDY+IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jIGxvc2V0dXAgL2Rldi9sb29w
MCAvaG9tZS9yb290L3hlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQz
DQo+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gbG9zZXR1cDogL2hvbWUvcm9vdC94ZW4tZ3Vlc3Qt
aW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MzogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQ0KDQpXaHkgZG8geW91IHdhbnQgdG8gbW91bnQgdGhlIGZpbGUgc3lzdGVtID8NCg0KQW55
d2F5IHRoaXMgaXMgbm90IHJlbGF0ZWQgdG8gWGVuLCBJIGd1ZXNzIHlvdSBjb3VsZCBzdGFydCB3
aXRob3V0IHhlbiBhbmQgc3RpbGwgbm90IG1hbmFnZSB0byBtb3VudCB0aGUgZmlsZSBsaWtlIHRo
YXQgKGxpbnV4IGNvbmZpZ3VyYXRpb24gaXNzdWUgPykNCg0KV2hhdCBpcyB0aGUgY29udGVudCBv
ZiB5b3UgZ3Vlc3QuY2ZnDQpIb3cgZG8geW91IHdhbnQgdG8gcGFzcyB0aGUgZ3Vlc3Qgcm9vdCBm
aWxlIHN5c3RlbSA/DQoNCllvY3RvIHNob3VsZCBhY3R1YWxseSBnZW5lcmF0ZSBhbiBpbWcgZmls
ZSBhbmQgeW91IGNvdWxkIHVzZSBpdCBieSBoYXZpbmcgc29tZXRoaW5nIGxpa2UgdGhpcyBpbiB5
b3VyIGd1ZXN0LmNmZzoNCmRpc2s9WyJmaWxlOi9ob21lL3Jvb3QvZ3Vlc3QxLmltZyx4dmRhLHfi
gJ1dDQoNCkNoZWVycw0KQmVydHJhbmQNCg0KPiANCj4gQW55IGlucHV0IG9uIHRoaXMgaXNzdWUg
d2lsbCBiZSByZWFsbHkgaGVscGZ1bCwgZXhwZWN0aW5nIHlvdXIgcmVzcG9uc2UuDQo+IA0KPiBU
aGFua3MgJiBSZWdhcmRzLA0KPiBWaXB1bCBLdW1hcg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:42:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:42:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392765.631321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQraO-000221-Cb; Wed, 24 Aug 2022 14:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392765.631321; Wed, 24 Aug 2022 14:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQraO-00021u-9e; Wed, 24 Aug 2022 14:42:28 +0000
Received: by outflank-mailman (input) for mailman id 392765;
 Wed, 24 Aug 2022 14:42:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQraM-00021n-J4
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:42:26 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2040.outbound.protection.outlook.com [40.107.105.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f8108d8d-23ba-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 16:42:25 +0200 (CEST)
Received: from AM5P194CA0003.EURP194.PROD.OUTLOOK.COM (2603:10a6:203:8f::13)
 by DB6PR08MB2853.eurprd08.prod.outlook.com (2603:10a6:6:1d::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 14:42:20 +0000
Received: from AM7EUR03FT063.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:8f:cafe::5) by AM5P194CA0003.outlook.office365.com
 (2603:10a6:203:8f::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Wed, 24 Aug 2022 14:42:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT063.mail.protection.outlook.com (100.127.140.221) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 14:42:19 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Wed, 24 Aug 2022 14:42:19 +0000
Received: from 74c934ce890e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8BC39B87-501B-4D53-9FBA-5F9625FE7711.1; 
 Wed, 24 Aug 2022 14:42:09 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 74c934ce890e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 14:42:09 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DU0PR08MB8495.eurprd08.prod.outlook.com (2603:10a6:10:404::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 14:42:07 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Wed, 24 Aug 2022
 14:42:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8108d8d-23ba-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AE0+CoKLyl04h3hplP/Nx516XiS2/DTy2GrG8JYMVtqjflGOkgJid6IXiQxi5fclBVzKseCuKOLcP3AdIgqk0h6ci79RWrpLN8IweMq5/QSR7WErD6yjwU1fDp5PmL4iuK0pml1QsHYjqKufBZPmQHXnPCaaYBmm2v5CShxyTN2NmchTpgyVIVVugtSqStH8NqMRyBZyFIc014Pb2VZ7/TluZQ+U22k7VpPdtLb4aKefYcj2mjovpo+vCOPPAzbYzNhlA83I1bHROAL4ayp62APbr77y4oHsOJ/13HGLPhU8xJtLoHf6C1PA+aY3kFA22Wxrl3OJ8ZMoEjRH7CHChw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UYzLOy85i8ksr3gQDKRbA4+ll4/deoogWansLh9DBs8=;
 b=hG/EpiCuQ/6BpvV+q2tVB+cYHkoN9ggSvM36AJUIdlD36DmjQUmsCIdb40g4Z+xKbQP0A3wwE6He4eWz2XFUY8kyxXOUk4GX7jNIwlR4+Wvy1r/R2XLBn7UVzcD77eM4MGGNRL2oksCUiiHCK00favpTvgz7wkWPvsWkGoI7buDxyKpP28gz6NgbjfM7D2E7RWTntlF/sz6Oh7kQ5wC3lsoClKJsmsuwSiZmqQvv+WMPwpRX37V2MTNb4zY0dzouHxfHnKy+sSlUwfFmvxueToOin8Zg6Ndmt3EgnbHYlRn0RE9oBJrW0SkaFvIvSfqen9vUTQYIKcgf4ocvdEGNDg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UYzLOy85i8ksr3gQDKRbA4+ll4/deoogWansLh9DBs8=;
 b=LIZFhnWEC3AlFSWndU6LWaKVs5wYTshxLfGa/s6ovIY0qearGrVM7naiPgI/u49HNZALLjzU1IEJlgCZ5K2GHbKRFuX9Gbw6nYni5uRhcOIGe+1uW9GKIga1uOaUlIwJpSxnpVPkevk7ydtPxwebCeGsmhrokjnS5W3cJ4BK9Hk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 216334c9318a0ab5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hNUmm52Xg/4Fs/W0bhChQ659+bUYvn+sg+8kkZ/96OcRLJWvyHgUP/2HdkFZHru+kRy3ghGPcDzk1vIzYpoeCYhIJP98AEE/6G7lOAQOxH+4cL7h7AZTiGukZFFnhWw91itN/U9X70U+M19R3j8Bktvj5ZStcjmxNMlBGB1DT/EZ0JIIpWGS2i2GodrQgh1JbjETLCltgXiRVxQtBQUIDaC0ek7NCbSoUcfR5//syRyQs4e9DlgdrZKOktVEDr3GWAa8TKMAuyD9dnE1sNkH14FTbzDR55gthzjBdaZ16HAYHuEog8MaZG7OXw8sT+VTPAcvnFmd4W+evVcG+P0HRg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UYzLOy85i8ksr3gQDKRbA4+ll4/deoogWansLh9DBs8=;
 b=IIgqD9fT476/rVG0+0b5GwtzKZJg14rmlbrOBC/13zyPpd/yCPv+3dbZtKpXCEEQm8wu6fEbso+YuV1U8KmJHv+IZFUMrRYjf734nyBlsG10895HvCM58IZhbAnBDleZrd43yIVz3FIo4DK5iEGtpc/u7VhjQHozDcMLGCnIkiGElaKc9y+jyNHion0Li/JrejgPNsgsxZG070p00rkkpiBiH56s/Nc/VmNpWUotMLsPYl2oMOOAEzEvyGzKlQ6IRVUOwgYj4g6jDvZ4cVAYyU92bnoVPZdYgF3NAeMbjp2dwpAMqTd63BT16lrK6ZS27n4icp1trexaShKx40w90Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UYzLOy85i8ksr3gQDKRbA4+ll4/deoogWansLh9DBs8=;
 b=LIZFhnWEC3AlFSWndU6LWaKVs5wYTshxLfGa/s6ovIY0qearGrVM7naiPgI/u49HNZALLjzU1IEJlgCZ5K2GHbKRFuX9Gbw6nYni5uRhcOIGe+1uW9GKIga1uOaUlIwJpSxnpVPkevk7ydtPxwebCeGsmhrokjnS5W3cJ4BK9Hk=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Thread-Topic: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
Thread-Index: AQHYs7NVSZ6RtK1DJkmDvOUuzqeVhq28SEyAgAG2wACAAAxAgIAAHKoA
Date: Wed, 24 Aug 2022 14:42:07 +0000
Message-ID: <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
 <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
In-Reply-To: <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8cd32e5f-7385-4359-dc47-08da85ded937
x-ms-traffictypediagnostic:
	DU0PR08MB8495:EE_|AM7EUR03FT063:EE_|DB6PR08MB2853:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 e2nJCpPWMZ2OQ79tZPmNodVwN2bMDYzUZcDhNnODjIE+muc0cZt4p1HYTQeJslGxeNsXh1w12jHoLmDDUheGu84DGRobuavDRp8walAsi96GX+EPZQzd2nPtCwPODwmaKlvMU8JiJabXKRcGCNwGyhiz/TbUFrdkyxXAouF6KLuhpYouBtLSf1JRWwMvSxjAjjVz7Vjiy6tyPqU8vGu6RhDHvHpupPJtus0Go7uVVUVAMyqvG05H3Z90OaPZnxzk+EgeUGqhKbnqDELZs5SovBdMZ1LsvJj5LNqeyc4ay48nq9IMPL7928xHhXhJ1iOKfP7uduFJZykjUzByzTesRNLdhFTWzZqaZYHnwCf3faJWpjqQvHZGx/pbuLdZwz4BCwNAdNSzBpOJQenyVidywobKrOk4KYtuO9OqrO1JCSU2AavduTQw9iLxEAX28nexmO2tL2xt9pWgfTsxPfZ5f22jGy40lB/ktuW0xeMC118vPSznav/z9AC3HaHl/E4iofo6Hl9n4L+lQPPHKwUdAytF6GPjs8KqmcYcHm6S0VGEDL+pD9VerCcvCdNFNg8up35wdm7us13OwUWdk3QVog9vtydXfH/Wz4AMljEm8H2oA15ZbPwaKP/sD/XFdfEQ9Zb+zYJI6xqxFYmiFy83KIXwH9cRpQrj2/dkkiBe88XJ6+g8PnQEjr9tZWBC/NDU3AaQ+QUkZXe0p5EVPvzxCVE1MDdKhvyPswfq9mPx6iCIJDibx5zYKmzNj6Ik3ToGzVPDeIN+sbEksbLg3543lxebk6tTn28DZFEc56KxpXk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(376002)(396003)(39860400002)(346002)(136003)(36756003)(66476007)(316002)(2616005)(6506007)(38070700005)(186003)(2906002)(6916009)(54906003)(71200400001)(91956017)(76116006)(38100700002)(8676002)(4326008)(66556008)(64756008)(122000001)(6486002)(66946007)(66446008)(8936002)(26005)(86362001)(478600001)(53546011)(41300700001)(5660300002)(33656002)(6512007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <CD210A6CC80F24449073BAA9108738B5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8495
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e7d1e706-93d7-422a-6901-08da85ded194
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DwYmwshbMud1jC78vmKqNtReBa3tFWWs2DYDfo2w90Cq+dSz7MQJZjkU8fnMXSttRvsTDsljAX/TIQi5ihn1HzQSUk1tt9bUIzx2EWJxqmTemZ5Dgf3GTdtJlsoOoRyaX/T9axPU5QA18ptjgbbg0a2KY1ebZCS+yG2ZVDVC+8FP6uBzq+cAlWHic0uYXooNhotIAsJ32dfdQ3RMc4ZEXmrgMpj4uALKGWI1FBQWGPDqs4MN1D2wqdTdC0uvbvmEPXa6BxAH/7GGDhZOqUZxIxKTOojV2dEmEUlJskVXeepSxXexSRvhC/PBNOdNxPyHceVZiFDUvh8Vhgi0N6oIgOdref1du/5WJuwcqI4P3Eh/GVx22F6wWOXWa3w4G6h0AcmrTHOj/tIjFLVZB+O4aRwgvllT/gz8aZNiuxoxtSiDSdBIr2Ulo3eLaSmmb+PErg0ZBLrQ6g6tY2GgIQfeEOEmtD/yG/XTirLcgbvkH1uwHdw9xw3kt0cTww5RhxURqQKNzxYN7g/ei87jpXPSXwKjIgpK5z/DgGBJ6NSm0M4qXBGll9wtQiu/PXe6gntDOtcGShbFeh3gNf5Tku4auiSCOLXg1ycC6A0nSdNsEFUoKcqgNKgXlMCDUb0p+MWU3xXZuEYXlnIjB9+p357gVN+udYpf8NJOwvJLTDu3jft16Y+U0snSYGPd0oN9VvefAYmkPhxRfQWwQ4MOEk9Z0RLQY+q75blnFzUDpSFu57juIksiB7JxDIy6X1BqVCYoLrZlQww9QXi4svj/i4GFaw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(376002)(396003)(36840700001)(40470700004)(46966006)(2616005)(5660300002)(36756003)(40480700001)(47076005)(33656002)(6486002)(316002)(82740400003)(54906003)(2906002)(81166007)(478600001)(356005)(40460700003)(8936002)(41300700001)(53546011)(4326008)(8676002)(82310400005)(26005)(186003)(6512007)(6506007)(107886003)(336012)(70206006)(6862004)(86362001)(70586007)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 14:42:19.9272
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8cd32e5f-7385-4359-dc47-08da85ded937
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2853

SGkgSnVsaWVuLA0KDQo+IE9uIDI0IEF1ZyAyMDIyLCBhdCAxOjU5IHBtLCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4gDQo+IA0KPiANCj4gT24gMjQvMDgvMjAyMiAxMzox
NSwgUmFodWwgU2luZ2ggd3JvdGU6DQo+PiBIaSBKdWxpZW4sDQo+IA0KPiBIaSBSYWh1bCwNCj4g
DQo+PiBQbGVhc2UgbGV0IG1lIGtub3cgeW91ciB2aWV3IG9uIHRoaXMuDQo+PiBkaWZmIC0tZ2l0
IGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWls
ZC5jDQo+PiBpbmRleCBiZmU3YmM2YjM2Li5hMWUyM2VlZTU5IDEwMDY0NA0KPj4gLS0tIGEveGVu
L2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1
aWxkLmMNCj4+IEBAIC0zNTYyLDEyICszNTYyLDcgQEAgc3RhdGljIGludCBfX2luaXQgY29uc3Ry
dWN0X2RvbVUoc3RydWN0IGRvbWFpbiAqZCwNCj4+ICAgIGlmICggcmMgPT0gLUVJTFNFUSB8fA0K
Pj4gICAgICByYyA9PSAtRU5PREFUQSB8fA0KPj4gICAgICAocmMgPT0gMCAmJiAhc3RyY21wKGRv
bTBsZXNzX2VuaGFuY2VkLCDigJxlbmFibGVk4oCdKSkgKQ0KPj4gLSAgew0KPj4gLSAgICBpZiAo
IGhhcmR3YXJlX2RvbWFpbiApDQo+PiAgICAgICAga2luZm8uZG9tMGxlc3NfZW5oYW5jZWQgPSB0
cnVlOw0KPj4gLSAgICBlbHNlDQo+PiAtICAgICAgcGFuaWMo4oCcVHJpZWQgdG8gdXNlIHhlbixl
bmhhbmNlZCB3aXRob3V0IGRvbTBcbuKAnSk7DQo+PiAtICB9DQo+IA0KPiBZb3UgY2FuJ3QgdXNl
ICJ4ZW4sZW5oYW5jZWQiIHdpdGhvdXQgZG9tMC4gSW4gZmFjdCwgeW91IHdpbGwgZW5kIHVwIHRv
IGRlcmVmZXJlbmNlIE5VTEwgaW4gYWxsb2NfeGVuc3RvcmVfZXZ0Y2huKCkuIFRoYXQncyBiZWNh
dXNlICJ4ZW4sZW5oYW5jZWQiIG1lYW5zIHRoZSBkb21haW4gd2lsbCBiZSBhYmxlIHRvIHVzZSBY
ZW5zdG9yZWQuDQo+IA0KPiBOb3cgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB5b3VyIGZlYXR1cmUg
d2l0aG91dCBhIGRvbTAuIFRoZW4gSSB0aGluayB3ZSB3YW50IHRvIGludHJvZHVjZSBhbiBvcHRp
b24gd2hpY2ggd291bGQgYmUgdGhlIHNhbWUgYXMgInhlbixlbmhhbmNlZCIgYnV0IGRvZXNuJ3Qg
ZXhwb3NlIFhlbnN0b3JlZC4NCg0KSWYgd2UgbW9kaWZ5IHRoZSBwYXRjaCBhcyBiZWxvdyB3ZSBj
YW4gdXNlIHRoZSAieGVuLGVuaGFuY2VkIiBmb3IgZG9tVXMgd2l0aG91dCBkb20wLg0KSSB0ZXN0
ZWQgdGhlIHBhdGNoIGFuZCBpdHMgd29ya3MgZmluZS4gRG8geW91IHNlZSBhbnkgaXNzdWUgd2l0
aCB0aGlzIGFwcHJvYWNoPw0KDQoNCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1
aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMNCmluZGV4IGNmZmQ1MDhhZjIuLjg3
MDg0NmI3NDIgMTAwNjQ0DQotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMNCisrKyBi
L3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KQEAgLTM1NjgsMTIgKzM1NjgsNyBAQCBzdGF0
aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tVShzdHJ1Y3QgZG9tYWluICpkLA0KICAgICBpZiAo
IHJjID09IC1FSUxTRVEgfHwNCiAgICAgICAgICByYyA9PSAtRU5PREFUQSB8fA0KICAgICAgICAg
IChyYyA9PSAwICYmICFzdHJjbXAoZG9tMGxlc3NfZW5oYW5jZWQsICJlbmFibGVkIikpICkNCi0g
ICAgew0KLSAgICAgICAgaWYgKCBoYXJkd2FyZV9kb21haW4gKQ0KICAgICAgICAgICAgIGtpbmZv
LmRvbTBsZXNzX2VuaGFuY2VkID0gdHJ1ZTsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBw
YW5pYygiVHJpZWQgdG8gdXNlIHhlbixlbmhhbmNlZCB3aXRob3V0IGRvbTBcbiIpOw0KLSAgICB9
DQogDQogICAgIGlmICggdmNwdV9jcmVhdGUoZCwgMCkgPT0gTlVMTCApDQogICAgICAgICByZXR1
cm4gLUVOT01FTTsNCkBAIC0zNjEzLDkgKzM2MDgsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBjb25z
dHJ1Y3RfZG9tVShzdHJ1Y3QgZG9tYWluICpkLA0KICAgICBpZiAoIHJjIDwgMCApDQogICAgICAg
ICByZXR1cm4gcmM7DQogDQotICAgIGlmICgga2luZm8uZG9tMGxlc3NfZW5oYW5jZWQgKQ0KKyAg
ICBpZiAoIGtpbmZvLmRvbTBsZXNzX2VuaGFuY2VkICYmIGhhcmR3YXJlX2RvbWFpbiApDQogICAg
IHsNCi0gICAgICAgIEFTU0VSVChoYXJkd2FyZV9kb21haW4pOw0KICAgICAgICAgcmMgPSBhbGxv
Y194ZW5zdG9yZV9ldnRjaG4oZCk7DQogICAgICAgICBpZiAoIHJjIDwgMCApDQogICAgICAgICAg
ICAgcmV0dXJuIHJjOw0KIA0KDQpSZWdhcmRzLA0KUmFodWwNCg0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:52:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:52:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392771.631331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrk4-0003We-96; Wed, 24 Aug 2022 14:52:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392771.631331; Wed, 24 Aug 2022 14:52:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrk4-0003WX-6Q; Wed, 24 Aug 2022 14:52:28 +0000
Received: by outflank-mailman (input) for mailman id 392771;
 Wed, 24 Aug 2022 14:52:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQrk2-0003WQ-5o
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:52:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2056.outbound.protection.outlook.com [40.107.20.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ceb5618-23bc-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 16:52:24 +0200 (CEST)
Received: from AM5PR04CA0036.eurprd04.prod.outlook.com (2603:10a6:206:1::49)
 by DB7PR08MB3242.eurprd08.prod.outlook.com (2603:10a6:5:1a::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.20; Wed, 24 Aug
 2022 14:52:21 +0000
Received: from AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:1:cafe::53) by AM5PR04CA0036.outlook.office365.com
 (2603:10a6:206:1::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Wed, 24 Aug 2022 14:52:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT056.mail.protection.outlook.com (100.127.140.107) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 14:52:21 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Wed, 24 Aug 2022 14:52:21 +0000
Received: from a1bfca9c5104.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9F33994A-3A78-4113-B58E-A36B25028053.1; 
 Wed, 24 Aug 2022 14:52:10 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a1bfca9c5104.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 14:52:10 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB7PR08MB3355.eurprd08.prod.outlook.com (2603:10a6:5:18::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Wed, 24 Aug
 2022 14:52:08 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Wed, 24 Aug 2022
 14:52:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ceb5618-23bc-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=eUzTYZjzLNdK69KA3irg9qAvUheINscadPK7dosoPpTt6JjKOJXfKiEOly761TRe87um7R9v1hod0Qeimv978ZIDXNmWTTvZ+XFGr4DuA9I0q930SEIsx7wgdCrD2C3e1x1AaqnNt2TyG1cpfFUk+7hWMSfU5E7JVg464Fqs/DDuZ5jKOt1LpV+YoAORAS8hShJxBNur0L5kqlP58xSEQu8M7Ex5CUPPptUF3fZ3sjwW7Tnc9fVEAVv1Bz1uzJTZf9Gr81dPW8lzgcFnY6rL+jHfRVm05QhbzfGG6g8v2Fl78DSW6sSvSRO4ZVsRKRGLnhyq2cnNANqiQaHswsMDoA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fkIUcqbjCVYCOAy3IWm5Zxq0DUuSXQLG5q/JJnWDQek=;
 b=hxvXghiG19KlUIxbzXm7vgN0bJBLy44ydtTjT7nWj3SVhWmnjWYDSXc0A6Hyj5MW0atQ7yojkwaVGtGbTwY8gRArNmkWuYsWP1gs/VZtgJ0YyqLxr8kLz7PdF/dYeB/m7dSUwa8bHTlS/EZoaxFKpz88FlDjnnfzki6fKouw4OSlMuUTDBggTpPU6dFnKdvBC2U+rL9dgZTJzckLOg+EOEioa0+LZV+nbg0RVuI2xflxxFORUq6Ry3yAWrG9mL8ckLnWwRaGuJUHrnFglVzsHVwj4Wk37blYdffBQA9mdla670Q1ZVBECJjKgI1F/MSAxpKHi1VVv5mq2PiQJU0foQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fkIUcqbjCVYCOAy3IWm5Zxq0DUuSXQLG5q/JJnWDQek=;
 b=2kPEz4i1uypdo18Cnn2H00g0bctW3i9qaROpes/4hX8hSfW74T1ZxXqGgUAvMVb6xIPogFpMDCfU/LD8VzrAVPO4DHV9ebdKjPonZnI9Aug1tJ8p+XE3+2uFPQa3aldODqc0acF+/WEtsEtxmBHWmN8w77FM2Rx227KPlnarCis=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: dc80505c56781ba5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FNkrQ68juaByQo6Mb6X291EZ80eSgLuay1DURc6PA6v3MGnUv6qnFOuRk5vmAaR9aPT17nNib1+5IUV5rbjewLTiTsw1EwJzp4b5I1sIwSXEGUJZwPuWBZDvjm+Uc7cJrmSbC3eLKI0XJd26JrJHIMJWmwGw60uLNWlbeBjYu0rl7j8XuejUmH6C81TDcjC5XjYsrf3xr22GHp+VmCsfVbYsKbIn/N5eNHbPnKTgGnBCemk0I+wNmIL3YDbbELYWZH4F7lyjgOB3aR8LXcoNKs9VTusx6S3fnSgzlCuJo0zRoqaZZYmgPQ0JMLj5ovbOW8iNmwdKBI75afd2CYIdIQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fkIUcqbjCVYCOAy3IWm5Zxq0DUuSXQLG5q/JJnWDQek=;
 b=QxFzAY/bx/CpaGxCAZJ3rPbn3wL/sjkHqk4iB/aVYBjRnyjkRVpKZuWDbU0W6TbtNajQ4QmrsD8bJqX+f04nIiP4GEYenh989cujFNr0wkh5G0oelP2KeBcV3RwrU6dKLv4t7ye5yA/arwo2pBxnTG/rzQpsUDQj3CE3gSMTKr6soL+/5nmhHVECPwv9EHtl5ZJs91wxYq7F2lKGCQMYJTMgDG2kUulxE5RaA+1mkALR2sWvSMyH9ZURx9b8AvTYxbuNT1I+XeHOMHUUs2acJCvbDe0XRCetkuu5mXG4ERhYDovDh8NzAVK4VB//O9f9Ij4eT0mFHD5LkSMdjgzRSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fkIUcqbjCVYCOAy3IWm5Zxq0DUuSXQLG5q/JJnWDQek=;
 b=2kPEz4i1uypdo18Cnn2H00g0bctW3i9qaROpes/4hX8hSfW74T1ZxXqGgUAvMVb6xIPogFpMDCfU/LD8VzrAVPO4DHV9ebdKjPonZnI9Aug1tJ8p+XE3+2uFPQa3aldODqc0acF+/WEtsEtxmBHWmN8w77FM2Rx227KPlnarCis=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 6/7] xen: introduce xen-evtchn dom0less property
Thread-Topic: [PATCH v2 6/7] xen: introduce xen-evtchn dom0less property
Thread-Index: AQHYs7NW3+Fahvka9EWQJqDFDZ/aKq28Pz0AgAHrhYA=
Date: Wed, 24 Aug 2022 14:52:07 +0000
Message-ID: <42597D19-443F-4A04-84B5-937EB3596893@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <02993cf398573adf9e9bad62aa8d6e753b2c6ab9.1660902588.git.rahul.singh@arm.com>
 <f8ced254-85d0-ee2b-4f90-2c58926ec75f@xen.org>
In-Reply-To: <f8ced254-85d0-ee2b-4f90-2c58926ec75f@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: ab76912b-8297-424d-f357-08da85e03f9e
x-ms-traffictypediagnostic:
	DB7PR08MB3355:EE_|AM7EUR03FT056:EE_|DB7PR08MB3242:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 9EhpkO25wB+dkPVbL9ZIziU6sywBsiKYbPVabxKEnUJPq/Sy7gaKu/u/WWXPlSOpgWkBPoRMrMqpaBpvfBOn33feFyt46dPBLg8mVAoycX4w7MOHvvB52zTlGMd00svOYCAu2c+uKGGNk+qbnX0eN9XQp4oaJK2DHUlrtT2UEyE7gn+axaqGZoumghv+Ua/2NwQk21u7NSkp0cUTb4IcvBi12BTTjVMbwlPgz78asM/nq2ZD6QrdhwnU57ry9lXDbYdZ9QavyDbcZcrB6g4TzU0YAFFC5cdUPg5Hn4gblsNpjPj/re8TnLOISzKA12YvrgKe9Fj3tiAnllCMEfHuJ6UnF/yvym41GNG1pVWGcfDQ9fGwdxl2TDz/D6EM9qDd9/mKQ5BBJwpoRM1ov/82XB0QhJ//b0D5HqF4Frl4jyPkNas3yTUHBEqkL93R3fjNrMb2jf9hBo24xMV8FNMh5B2BB67h4CopC45CSXASVShwTyI8O9ozuiLGIetOA4UQLgNryLcQldfGDTXOHPgtgp6TNsTxb0KQvJRG5Qorm1QfR7IOg8tzztfQ+LJ6/OlbwVdtJcLJtlzSOGbOV6LdxvrR1zA2lvuJTiVhLoEZqSx7zzoI9z1hXebxpiUfjqfUddX6jHs2emPZnYw4D20niThYRQUQigMnfhZ6cBKcyqZdBMFnKw77iYJuPaPv336wIJSPBUUrYuQ8evzvxrxUTe0Rvk6TZJlKaOqbX5T9RtO5pFtt8POK0DAITJIEOCN6mHe+Cb0nH0jymoUu8tAud9exFr+WgMJ3ndeTuDDjif8OmOh3kVgpExgyuu6B714Ld+kG/h/FyqMXabm31c3CSw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(366004)(346002)(39860400002)(2906002)(64756008)(8676002)(30864003)(8936002)(5660300002)(66446008)(66556008)(66476007)(4326008)(53546011)(66946007)(76116006)(91956017)(6486002)(36756003)(26005)(33656002)(41300700001)(2616005)(71200400001)(186003)(478600001)(6512007)(86362001)(6506007)(83380400001)(54906003)(316002)(122000001)(38100700002)(6916009)(38070700005)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <BE9FB2D9BC9E3D4CA3D174A21782AF89@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3355
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7f5da007-72c3-42ab-575b-08da85e037a5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	euJe6Qs5Eph0I3VfLWct6DPCZza9mqJO4FPVk8fREwq7GDbseZyXozfgb0Wh+LagsjoedG0ADMyBDJu1ZAMYEPDmdKSlDzepib+KtNhPWQtrHkSvl01TKKavF2zQGQVow6Qinjm8SEIGWqokNrnvnEn6LT/UAjEtM8gW4ja7jRaKMR1o9py8mANud8njJA7/BLKJFzGw5txRixRT62+z/LkXeXEiUwrPz2gq20zLt+TSONKGtcuqATOzr6/xr1O/bIJ/9OlLsXlSJgErU74gav2UqLxHOYFVkH9aRwxGIcc/XM4V5ow5CD0ZPNbv+GZbarsn0SoN959xZliGAN2Sx61eMjZtk+gE6UIy9tueUGnWC2Z1qPq5rjm44dAQjQDRzSnE0mk+fvvCFfkTPXKkkOhuDEwTQlx0x+GctQKCjBBdKVuDBeLrB7FDj2PwQzscvbqIL8VaCeBywo42MjYv97Do1/N4RfxtPStqD5dY2+SA/nsmuax5Ug4CS2gWqXdFMweL50gk9jYwOjp1U1hHnSSshzKsd6hgYUhQVz69ae6Ir0TAiMS5bO8ALHWb3oceJmps5/lFm056AWWsc8hKloEpwrTIx6e7h31oG/iV4RjjnB+ePO1rGmT8XdBRJfhFvGMB6TZkkrEzVVuJzrgkzusviRuA068yuUYiYueLrgvQ2oyHFctgo/rXAB4W7mdGmFqESVSF/GvaalURVwNbcFqao3h5K+xDrUyDJ9k4yZyT/+mIpJfNjBOOUX6QK8QpEuzPCYMcO0edyI2v595FIh42DSfvnsrzs2Gs01MowZM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(39860400002)(376002)(346002)(46966006)(36840700001)(40470700004)(6486002)(6512007)(70206006)(5660300002)(8676002)(70586007)(107886003)(30864003)(41300700001)(8936002)(316002)(54906003)(6506007)(2906002)(26005)(83380400001)(478600001)(186003)(53546011)(47076005)(36756003)(2616005)(4326008)(336012)(40480700001)(86362001)(33656002)(356005)(40460700003)(82310400005)(6862004)(36860700001)(81166007)(82740400003)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 14:52:21.2271
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ab76912b-8297-424d-f357-08da85e03f9e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3242

SGkgSnVsaWVuLA0KDQo+IE9uIDIzIEF1ZyAyMDIyLCBhdCAxMDozMiBhbSwgSnVsaWVuIEdyYWxs
IDxqdWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBSYWh1bCwNCj4gDQo+IE9uIDE5LzA4
LzIwMjIgMTE6MDIsIFJhaHVsIFNpbmdoIHdyb3RlOg0KPj4gSW50cm9kdWNlIGEgbmV3IHN1Yi1u
b2RlIHVuZGVyIC9jaG9zZW4gbm9kZSB0byBlc3RhYmxpc2ggc3RhdGljIGV2ZW50DQo+PiBjaGFu
bmVsIGNvbW11bmljYXRpb24gYmV0d2VlbiBkb21haW5zIG9uIGRvbTBsZXNzIHN5c3RlbXMuDQo+
PiBBbiBldmVudCBjaGFubmVsIHdpbGwgYmUgY3JlYXRlZCBiZWZvcmVoYW5kIHRvIGFsbG93IHRo
ZSBkb21haW5zIHRvDQo+PiBzZW5kIG5vdGlmaWNhdGlvbnMgdG8gZWFjaCBvdGhlci4NCj4+IFNp
Z25lZC1vZmYtYnk6IFJhaHVsIFNpbmdoIDxyYWh1bC5zaW5naEBhcm0uY29tPg0KPj4gLS0tDQo+
PiBDaGFuZ2VzIGluIHYyOg0KPj4gIC0gbm8gY2hhbmdlDQo+PiAtLS0NCj4+IC0tLQ0KPj4gIGRv
Y3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvYm9vdGluZy50eHQgfCAgNjMgKysrKysrKysrKystDQo+
PiAgeGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jICAgICAgICAgICB8IDEzNiArKysrKysrKysr
KysrKysrKysrKysrKysrKw0KPj4gIHhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb21haW4uaCAg
ICAgfCAgIDEgKw0KPj4gIHhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9zZXR1cC5oICAgICAgfCAg
IDEgKw0KPj4gIHhlbi9hcmNoL2FybS9zZXR1cC5jICAgICAgICAgICAgICAgICAgfCAgIDIgKw0K
Pj4gIDUgZmlsZXMgY2hhbmdlZCwgMjAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4+
IGRpZmYgLS1naXQgYS9kb2NzL21pc2MvYXJtL2RldmljZS10cmVlL2Jvb3RpbmcudHh0IGIvZG9j
cy9taXNjL2FybS9kZXZpY2UtdHJlZS9ib290aW5nLnR4dA0KPj4gaW5kZXggOTgyNTM0MTRiOC4u
ZWM3ZGJjYWY4ZiAxMDA2NDQNCj4+IC0tLSBhL2RvY3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvYm9v
dGluZy50eHQNCj4+ICsrKyBiL2RvY3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvYm9vdGluZy50eHQN
Cj4+IEBAIC0yMTIsNyArMjEyLDcgQEAgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6DQo+
PiAgICAgIGVuYWJsZSBvbmx5IHNlbGVjdGVkIGludGVyZmFjZXMuDQo+PiAgICBVbmRlciB0aGUg
Inhlbixkb21haW4iIGNvbXBhdGlibGUgbm9kZSwgb25lIG9yIG1vcmUgc3ViLW5vZGVzIGFyZSBw
cmVzZW50DQo+PiAtZm9yIHRoZSBEb21VIGtlcm5lbCBhbmQgcmFtZGlzay4NCj4+ICtmb3IgdGhl
IERvbVUga2VybmVsLCByYW1kaXNrIGFuZCBzdGF0aWMgZXZlbnQgY2hhbm5lbC4NCj4+ICAgIFRo
ZSBrZXJuZWwgc3ViLW5vZGUgaGFzIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoNCj4+ICBAQCAt
MjU0LDExICsyNTQsNDMgQEAgVGhlIHJhbWRpc2sgc3ViLW5vZGUgaGFzIHRoZSBmb2xsb3dpbmcg
cHJvcGVydGllczoNCj4+ICAgICAgcHJvcGVydHkgYmVjYXVzZSBpdCB3aWxsIGJlIGNyZWF0ZWQg
YnkgdGhlIFVFRkkgc3R1YiBvbiBib290Lg0KPj4gICAgICBUaGlzIG9wdGlvbiBpcyBuZWVkZWQg
b25seSB3aGVuIFVFRkkgYm9vdCBpcyB1c2VkLg0KPj4gICtUaGUgc3RhdGljIGV2ZW50IGNoYW5u
ZWwgc3ViLW5vZGUgaGFzIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoNCj4+ICsNCj4+ICstIGNv
bXBhdGlibGUNCj4+ICsNCj4+ICsgICAgInhlbixldnRjaG4iDQo+PiArDQo+PiArLSB4ZW4sZXZ0
Y2huDQo+PiArDQo+PiArICAgIFRoZSBwcm9wZXJ0eSBpcyB0dXBsZXMgb2YgdHdvIG51bWJlcnMN
Cj4+ICsgICAgKGxvY2FsLWV2dGNobiBsaW5rLXRvLWZvcmVpZ24tZXZ0Y2huKSB3aGVyZToNCj4+
ICsNCj4+ICsgICAgbG9jYWwtZXZ0Y2huIGlzIGFuIGludGVnZXIgdmFsdWUgdGhhdCB3aWxsIGJl
IHVzZWQgdG8gYWxsb2NhdGUgbG9jYWwgcG9ydA0KPj4gKyAgICBmb3IgYSBkb21haW4gdG8gc2Vu
ZCBhbmQgcmVjZWl2ZSBldmVudCBub3RpZmljYXRpb25zIHRvL2Zyb20gdGhlIHJlbW90ZQ0KPj4g
KyAgICBkb21haW4uIE1heGltdW0gc3VwcG9ydGVkIHZhbHVlIGlzIDJeMTcgZm9yIEZJRk8gQUJJ
IGFuZCA0MDk2IGZvciAyTCBBQkkuDQo+PiArICAgIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBs
b3cgZXZlbnQgY2hhbm5lbCBJRC4NCj4gDQo+IEkgdGhpbmsgeW91IGFyZSBlaXRoZXIgbWlzc2lu
ZyBhICdhJyBvciAnSUQnIHNob3VsZCBiZSAnSURzJw0KDQpBY2suIA0KPiANCj4+ICsNCj4+ICsg
ICAgbGluay10by1mb3JlaWduLWV2dGNobiBpcyBhIHNpbmdsZSBwaGFuZGxlIHRvIGEgcmVtb3Rl
IGV2dGNobiB0byB3aGljaA0KPj4gKyAgICBsb2NhbC1ldnRjaG4gd2lsbCBiZSBjb25uZWN0ZWQu
DQo+PiAgICBFeGFtcGxlDQo+PiAgPT09PT09PQ0KPj4gICAgY2hvc2VuIHsNCj4+ICsNCj4+ICsg
ICAgbW9kdWxlQDAgew0KPj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtdWx0aWJvb3Qsa2VybmVs
IiwgIm11bHRpYm9vdCxtb2R1bGUiOw0KPj4gKyAgICAgICAgeGVuLHVlZmktYmluYXJ5ID0gIi4u
LiI7DQo+PiArICAgICAgICBib290YXJncyA9ICIuLi4iOw0KPj4gKw0KPj4gKyAgICAgICAgLyog
b25lIHN1Yi1ub2RlIHBlciBsb2NhbCBldmVudCBjaGFubmVsICovDQo+PiArICAgICAgICBlYzE6
IGV2dGNobkAxIHsNCj4+ICsgICAgICAgICAgICBjb21wYXRpYmxlID0gInhlbixldnRjaG4tdjEi
Ow0KPj4gKyAgICAgICAgICAgIC8qIGxvY2FsLWV2dGNobiBsaW5rLXRvLWZvcmVpZ24tZXZ0Y2hu
ICovDQo+PiArICAgICAgICAgICAgeGVuLGV2dGNobiA9IDwweGEgJmVjMj47DQo+PiArICAgICAg
ICB9Ow0KPiANCj4gQUZBSVUsIHRoaXMgaXMgbWVhbnQgdG8gZGVzY3JpYmUgdGhlIHN0YXRpYyBl
dmVudCBjaGFubmVscyBmb3IgZG9tMC4gSSBjYW4ndCBmaW5kIHRoZSBkb2N1bWVudGF0aW9uIGZv
ciBpdC4gRG8gdGhleSBhbHdheXMgbmVlZCB0byBiZSBhIHN1Ym5vZGUgdGhlIG5vZGUgIm11bHRp
Ym9vdCxrZXJuZWwiPw0KPiANCj4gVGhlIHJlYXNvbiBJIGFtIGFza2luZyBpcyBpdCBmZWVscyBz
dHJhbmdlIHRvIGRlZmluZSB0aGVtIGJlbG93IHRoYXQgc3Vibm9kZSB3aGVuIGZvciBkb21Vcywg
Ym90aCBub2RlcyBoYXZlIHRoZSBzYW1lIHBhcmVudC4gU28gSSB0aGluayBpdCB3b3VsZCBtYWtl
IG1vcmUgc2Vuc2UgdG8gZGVmaW5lIHRoZW0gaW4gY2hvc2VuLg0KDQpPay4gSSB3aWxsIG1vdmUg
dGhlIGRvbTAgZXZ0Y2huIG5vZGUgdW5kZXIgY2hvc2VuIGRvbmUuDQo+IA0KPj4gKyAgICB9Ow0K
Pj4gKw0KPj4gICAgICBkb21VMSB7DQo+PiAgICAgICAgICBjb21wYXRpYmxlID0gInhlbixkb21h
aW4iOw0KPj4gICAgICAgICAgI2FkZHJlc3MtY2VsbHMgPSA8MHgyPjsNCj4+IEBAIC0yNzcsNiAr
MzA5LDIzIEBAIGNob3NlbiB7DQo+PiAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJtdWx0aWJv
b3QscmFtZGlzayIsICJtdWx0aWJvb3QsbW9kdWxlIjsNCj4+ICAgICAgICAgICAgICByZWcgPSA8
MHgwIDB4NGIwMDAwMDAgMHhmZmZmZmY+Ow0KPj4gICAgICAgICAgfTsNCj4+ICsNCj4+ICsgICAg
ICAgIC8qIG9uZSBzdWItbm9kZSBwZXIgbG9jYWwgZXZlbnQgY2hhbm5lbCAqLw0KPj4gKyAgICAg
ICAgZWMyOiBldnRjaG5AMiB7DQo+PiArICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJ4ZW4sZXZ0
Y2huLXYxIjsNCj4+ICsgICAgICAgICAgICAvKiBsb2NhbC1ldnRjaG4gbGluay10by1mb3JlaWdu
LWV2dGNobiAqLw0KPj4gKyAgICAgICAgICAgIHhlbixldnRjaG4gPSA8MHhhICZlYzE+Ow0KPj4g
KyAgICAgICAgfTsNCj4+ICsNCj4+ICsgICAgICAgIGVjMzogZXZ0Y2huQDMgew0KPj4gKyAgICAg
ICAgICAgIGNvbXBhdGlibGUgPSAieGVuLGV2dGNobi12MSI7DQo+PiArICAgICAgICAgICAgeGVu
LGV2dGNobiA9IDwweGIgJmVjNT47DQo+PiArICAgICAgICB9Ow0KPj4gKw0KPj4gKyAgICAgICAg
ZWM0OiBldnRjaG5ANCB7DQo+PiArICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJ4ZW4sZXZ0Y2hu
LXYxIjsNCj4+ICsgICAgICAgICAgICB4ZW4sZXZ0Y2huID0gPDB4YyAmZWM2PjsNCj4+ICsgICAg
ICAgIH07DQo+PiAgICAgIH07DQo+PiAgICAgICAgZG9tVTIgew0KPj4gQEAgLTI5Niw2ICszNDUs
MTggQEAgY2hvc2VuIHsNCj4+ICAgICAgICAgICAgICBjb21wYXRpYmxlID0gIm11bHRpYm9vdCxy
YW1kaXNrIiwgIm11bHRpYm9vdCxtb2R1bGUiOw0KPj4gICAgICAgICAgICAgIHJlZyA9IDwweDAg
MHg0ZDAwMDAwMCAweGZmZmZmZj47DQo+PiAgICAgICAgICB9Ow0KPj4gKw0KPj4gKyAgICAgICAg
Lyogb25lIHN1Yi1ub2RlIHBlciBsb2NhbCBldmVudCBjaGFubmVsICovDQo+PiArICAgICAgICBl
YzU6IGV2dGNobkA1IHsNCj4+ICsgICAgICAgICAgICBjb21wYXRpYmxlID0gInhlbixldnRjaG4t
djEiOw0KPj4gKyAgICAgICAgICAgIC8qIGxvY2FsLWV2dGNobiBsaW5rLXRvLWZvcmVpZ24tZXZ0
Y2huICovDQo+PiArICAgICAgICAgICAgeGVuLGV2dGNobiA9IDwweGIgJmVjMz47DQo+PiArICAg
ICAgICB9Ow0KPj4gKw0KPj4gKyAgICAgICAgZWM2OiBldnRjaG5ANiB7DQo+PiArICAgICAgICAg
ICAgY29tcGF0aWJsZSA9ICJ4ZW4sZXZ0Y2huLXYxIjsNCj4+ICsgICAgICAgICAgICB4ZW4sZXZ0
Y2huID0gPDB4ZCAmZWM0PjsNCj4+ICsgICAgICAgIH07DQo+PiAgICAgIH07DQo+PiAgfTsNCj4+
ICBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gvYXJt
L2RvbWFpbl9idWlsZC5jDQo+PiBpbmRleCAxMWE4YzZiOGI1Li41MTAxYmNhOTc5IDEwMDY0NA0K
Pj4gLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+PiArKysgYi94ZW4vYXJjaC9h
cm0vZG9tYWluX2J1aWxkLmMNCj4+IEBAIC0zMDUyLDYgKzMwNTIsMTQxIEBAIHZvaWQgX19pbml0
IGV2dGNobl9hbGxvY2F0ZShzdHJ1Y3QgZG9tYWluICpkKQ0KPj4gICAgICBkLT5hcmNoLmh2bS5w
YXJhbXNbSFZNX1BBUkFNX0NBTExCQUNLX0lSUV0gPSB2YWw7DQo+PiAgfQ0KPj4gICtzdGF0aWMg
Y29uc3Qgdm9pZCAqX19pbml0IGdldF9ldnRjaG5fZHRfcHJvcGVydHkoDQo+PiArICAgICAgICBj
b25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5wKQ0KPj4gK3sNCj4+ICsgICAgY29uc3Qgdm9p
ZCAqcHJvcCA9IE5VTEw7DQo+PiArICAgIHVpbnQzMl90IGxlbjsNCj4+ICsNCj4+ICsgICAgcHJv
cCA9IGR0X2dldF9wcm9wZXJ0eShucCwgInhlbixldnRjaG4iLCAmbGVuKTsNCj4+ICsgICAgaWYg
KCAhcHJvcCApDQo+PiArICAgICAgICByZXR1cm4gTlVMTDsNCj4+ICsNCj4+ICsgICAgaWYgKCAh
bGVuICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgInhlbixldnRj
aG4gcHJvcGVydHkgY2Fubm90IGJlIGVtcHR5LlxuIikNCj4gDQo+IExvb2tpbmcgYXQgdGhlIGNh
bGxlcnMsIHRoZXkgYWxsIGFzc3VtZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBjZWxscyBpbiB0aGUg
cHJvcGVydHkuIFNvIEkgdGhpbmsgeW91IHNob3VsZCBjaGVjayB0aGUgc2l6ZSBhcyB3ZWxsLg0K
DQpBY2ssIA0KPiANCj4+ICsgICAgICAgIHJldHVybiBFUlJfUFRSKC1FSU5WQUwpOw0KPj4gKyAg
ICB9DQo+PiArDQo+PiArICAgIHJldHVybiBwcm9wOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMg
aW50IF9faW5pdCBhbGxvY2F0ZV9kb21haW5fZXZ0Y2huKGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vf
bm9kZSAqbm9kZSkNCj4+ICt7DQo+PiArICAgIGNvbnN0IHZvaWQgKnByb3AgPSBOVUxMOw0KPj4g
KyAgICBjb25zdCBfX2JlMzIgKmNlbGw7DQo+PiArICAgIHVpbnQzMl90IGRvbVUxX3BvcnQsIGRv
bVUyX3BvcnQsIHJlbW90ZV9waGFuZGxlOw0KPj4gKyAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNl
X25vZGUgKmV2dGNobl9ub2RlLCAqcmVtb3RlX25vZGU7DQo+PiArICAgIHN0cnVjdCBldnRjaG5f
YWxsb2NfdW5ib3VuZCBhbGxvY191bmJvdW5kOw0KPj4gKyAgICBzdHJ1Y3QgZXZ0Y2huX2JpbmRf
aW50ZXJkb21haW4gYmluZF9pbnRlcmRvbWFpbjsNCj4+ICsgICAgaW50IHJjOw0KPj4gKw0KPj4g
KyAgICBkdF9mb3JfZWFjaF9jaGlsZF9ub2RlKG5vZGUsIGV2dGNobl9ub2RlKQ0KPj4gKyAgICB7
DQo+PiArICAgICAgICBzdHJ1Y3QgZG9tYWluICpkLCAqZDEgPSBOVUxMLCAqZDIgPSBOVUxMOw0K
Pj4gKw0KPj4gKyAgICAgICAgaWYgKCAhZHRfZGV2aWNlX2lzX2NvbXBhdGlibGUoZXZ0Y2huX25v
ZGUsICJ4ZW4sZXZ0Y2huLXYxIikgKQ0KPj4gKyAgICAgICAgICAgIGNvbnRpbnVlOw0KPj4gKw0K
Pj4gKyAgICAgICAgcHJvcCA9IGdldF9ldnRjaG5fZHRfcHJvcGVydHkoZXZ0Y2huX25vZGUpOw0K
Pj4gKyAgICAgICAgLyogSWYgdGhlIHByb3BlcnR5IGlzIG5vdCBmb3VuZCwgcmV0dXJuIHdpdGhv
dXQgZXJyb3JzICovDQo+IA0KPiBGcm9tIHRoZSBiaW5kaW5nIGRlc2NyaXB0aW9uLCB0aGUgcHJv
cGVydHkgaXMgbm90IG9wdGlvbmFsLiBTbyBkbyB3ZSB3YW50IHRvIGlnbm9yZSB0aGUgZXJyb3I/
IElmIHlvdSB0cmVhdCBpdCBhcyBhbiBlcnJvciwgdGhlbiAuLi4NCg0KT2suIEkgd2lsbCB0cmVh
dCBpdCBhcyBlbiBlcnJvci4NCj4gDQo+PiArICAgICAgICBpZiAoICFwcm9wIHx8IElTX0VSUihw
cm9wKSApDQo+PiArICAgICAgICAgICAgcmV0dXJuIElTX0VSUihwcm9wKSA/IFBUUl9FUlIocHJv
cCkgOiAwOw0KPiANCj4gLi4uIHlvdSBjb3VsZCByZXR1cm4gRVJSX1BUUigtRU5PTUVNKSBpbnN0
ZWFkIG9mIE5VTEwgYW5kIHRoZW4gc2ltcGxpZnkgdGhpcyBjb2RlIHdpdGg6DQoNCkFjay4gDQo+
IA0KPj4gKw0KPj4gKyAgICAgICAgY2VsbCA9IChjb25zdCBfX2JlMzIgKilwcm9wOw0KPiANCj4g
cHJvcCBpcyBhIHZvaWQgcG9pbnRlci4gU28gdGhlIGNhc3QgaXMgdW5uZWNlc3NhcnkuDQoNCkFj
ay4gDQo+IA0KPj4gKyAgICAgICAgZG9tVTFfcG9ydCA9IGR0X25leHRfY2VsbCgxLCAmY2VsbCk7
DQo+PiArICAgICAgICByZW1vdGVfcGhhbmRsZSA9IGR0X25leHRfY2VsbCgxLCAmY2VsbCk7DQo+
IFRoZSBjb2RlIGlzIGFsc28gZHVwbGljYXRlZCBiZWxvdyBmb3IgdGhlIHJlbW90ZSBwb3J0LiBJ
IHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlciBpZiB0aGlzIGlzIHBhcnQgb2YgeW91ciBoZWxwZXIg
Z2V0X2V2dGNobl9kdF9wcm9wZXJ0eSgpLg0KDQpBY2sgLg0KPiANCj4+ICsNCj4+ICsgICAgICAg
IHJlbW90ZV9ub2RlID0gZHRfZmluZF9ub2RlX2J5X3BoYW5kbGUocmVtb3RlX3BoYW5kbGUpOw0K
Pj4gKyAgICAgICAgaWYgKCAhcmVtb3RlX25vZGUgKQ0KPj4gKyAgICAgICAgew0KPj4gKyAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfRVJSDQo+PiArICAgICAgICAgICAgICAgICAgICJldnRjaG46
IGNvdWxkIG5vdCBmaW5kIHJlbW90ZSBldnRjaG4gcGhhbmRsZVxuIik7DQo+PiArICAgICAgICAg
ICAgcmV0dXJuIC1FSU5WQUw7DQo+PiArICAgICAgICB9DQo+PiArDQo+PiArICAgICAgICBwcm9w
ID0gZ2V0X2V2dGNobl9kdF9wcm9wZXJ0eShyZW1vdGVfbm9kZSk7DQo+PiArICAgICAgICAvKiBJ
ZiB0aGUgcHJvcGVydHkgaXMgbm90IGZvdW5kLCByZXR1cm4gd2l0aG91dCBlcnJvcnMgKi8NCj4+
ICsgICAgICAgIGlmICggIXByb3AgfHwgSVNfRVJSKHByb3ApICkNCj4+ICsgICAgICAgICAgICBy
ZXR1cm4gSVNfRVJSKHByb3ApID8gUFRSX0VSUihwcm9wKSA6IDA7DQo+PiArDQo+PiArICAgICAg
ICBjZWxsID0gKGNvbnN0IF9fYmUzMiAqKXByb3A7DQo+PiArICAgICAgICBkb21VMl9wb3J0ID0g
ZHRfbmV4dF9jZWxsKDEsICZjZWxsKTsNCj4+ICsgICAgICAgIHJlbW90ZV9waGFuZGxlID0gZHRf
bmV4dF9jZWxsKDEsICZjZWxsKTsNCj4+ICsNCj4+ICsgICAgICAgIGlmICggZXZ0Y2huX25vZGUt
PnBoYW5kbGUgIT0gcmVtb3RlX3BoYW5kbGUgKQ0KPj4gKyAgICAgICAgew0KPj4gKyAgICAgICAg
ICAgIHByaW50ayhYRU5MT0dfRVJSICJ4ZW4sZXZ0Y2huIHByb3BlcnR5IGlzIG5vdCBzZXR1cCBj
b3JyZWN0bHkuXG4iKTsNCj4+ICsgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICsgICAg
ICAgIH0NCj4+ICsNCj4+ICsgICAgICAgIGZvcl9lYWNoX2RvbWFpbiAoIGQgKQ0KPj4gKyAgICAg
ICAgew0KPj4gKyAgICAgICAgICAgIGlmICggZC0+YXJjaC5ub2RlID09IG5vZGUgKQ0KPj4gKyAg
ICAgICAgICAgIHsNCj4+ICsgICAgICAgICAgICAgICAgZDEgPSBkOw0KPj4gKyAgICAgICAgICAg
ICAgICBjb250aW51ZTsNCj4+ICsgICAgICAgICAgICB9DQo+PiArICAgICAgICAgICAgaWYgKCBk
LT5hcmNoLm5vZGUgPT0gZHRfZ2V0X3BhcmVudChyZW1vdGVfbm9kZSkgKQ0KPj4gKyAgICAgICAg
ICAgICAgICBkMiA9IGQ7DQo+PiArICAgICAgICB9DQo+IA0KPiBUaGUgbG9vcCBjb3VsZCBiZSBh
dm9pZGVkIGlmIHlvdSBzdGFzaCB0aGUgZG9taWQgaW4gdGhlIGZpZWxkICd1c2VkX2J5JyBvZiB0
aGUgZGV2aWNlLXRyZWUgbm9kZSB3aGVuIHRoZSBkb21haW4gaXMgY3JlYXRlZC4NCg0KT2suIEkg
d2lsbCB1c2VkIHRoZSDigJx1c2VkX2J54oCdIHRvIHN0b3JlIHRoZSBkb21pZC4NCj4gDQo+PiAr
DQo+PiArICAgICAgICBpZiAoICFkMSAmJiBkdF9kZXZpY2VfaXNfY29tcGF0aWJsZShub2RlLCAi
bXVsdGlib290LGtlcm5lbCIpICkNCj4+ICsgICAgICAgICAgICBkMSA9IGhhcmR3YXJlX2RvbWFp
bjsNCj4+ICsNCj4+ICsgICAgICAgIGlmICggIWQyICYmIGR0X2RldmljZV9pc19jb21wYXRpYmxl
KGR0X2dldF9wYXJlbnQocmVtb3RlX25vZGUpLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm11bHRpYm9vdCxrZXJuZWwiKSApDQo+PiArICAgICAgICAg
ICAgZDIgPSBoYXJkd2FyZV9kb21haW47DQo+IA0KPiBBbnkgcGFydGljdWxhciByZWFzb24gdG8g
aGFuZGxlIHRoZSBoYXJkd2FyZSBkb21haW4gZGlmZmVyZW50bHk/DQoNCkFzIEkgaGF2ZSBub3Qg
c2V0IHRoZSAiZC0+YXJjaC5ub2Rl4oCdIGZvciBod2RvbSB0aGF0IHdoeSB0aGVyZSBpcyBkaWZm
ZXJlbnRseSBoYW5kbGluZyBmb3IgaHdkb20uDQpJIHdpbGwgdHJ5IHRvIHVzZSB0aGUg4oCcdXNl
ZF9ieeKAnSBhbmQgd2lsbCBhdm9pZCB0aGlzIGhhbmRsaW5nLg0KDQo+IA0KPj4gKw0KPj4gKyAg
ICAgICAgaWYgKCAhZDEgfHwgIWQyICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAgICAgICBw
cmludGsoWEVOTE9HX0VSUiAiZXZ0Y2huOiBjb3VsZCBub3QgZmluZCBkb21haW5zXG4iICk7DQo+
PiArICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiArICAgICAgICB9DQo+PiArDQo+PiAr
ICAgICAgICBhbGxvY191bmJvdW5kLmRvbSA9IGQxLT5kb21haW5faWQ7DQo+PiArICAgICAgICBh
bGxvY191bmJvdW5kLnJlbW90ZV9kb20gPSBkMi0+ZG9tYWluX2lkOw0KPj4gKw0KPj4gKyAgICAg
ICAgcmMgPSBldnRjaG5fYWxsb2NfdW5ib3VuZCgmYWxsb2NfdW5ib3VuZCwgZG9tVTFfcG9ydCk7
DQo+PiArICAgICAgICBpZiAoIHJjIDwgMCAmJiByYyAhPSAtRUJVU1kgKQ0KPiANCj4gUGxlYXNl
IGV4cGxhaW4gaW4gYSBjb21tZW50IHdoeSB5b3Ugd2FudCB0byBoYW5kbGUgLUVCVVNZIGRpZmZl
cmVudGx5Lg0KDQotRUJVU1kgaXMgdXNlZCB0byBjaGVjayBpZiBldnRjaG4gaXMgbm90IGFscmVh
ZHkgY3JlYXRlZCB3aGlsZSB3ZSBzY2FubmluZw0KdGhlIGV2dGNobiBkdCBub2Rlcy4NCg0KPiAN
Cj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUg0KPj4gKyAg
ICAgICAgICAgICAgICAgICAiZXZ0Y2huX2FsbG9jX3VuYm91bmQoKSBmYWlsdXJlIChFcnJvciAl
ZCkgXG4iLCByYyk7DQo+PiArICAgICAgICAgICAgcmV0dXJuIHJjOw0KPj4gKyAgICAgICAgfQ0K
Pj4gKw0KPj4gKyAgICAgICAgYmluZF9pbnRlcmRvbWFpbi5yZW1vdGVfZG9tICA9IGQxLT5kb21h
aW5faWQ7DQo+PiArICAgICAgICBiaW5kX2ludGVyZG9tYWluLnJlbW90ZV9wb3J0ID0gZG9tVTFf
cG9ydDsNCj4+ICsNCj4+ICsgICAgICAgIHJjID0gZXZ0Y2huX2JpbmRfaW50ZXJkb21haW4oJmJp
bmRfaW50ZXJkb21haW4sIGQyLCBkb21VMl9wb3J0KTsNCj4+ICsgICAgICAgIGlmICggcmMgPCAw
ICYmIHJjICE9IC1FQlVTWSApDQo+IA0KPiBBRkFJVSwgRUJVU1kgb25seSB0ZWxscyB5b3UgdGhl
IHBvcnQgaXMgYmVlbiB1c2VkLiBJdCBkb2Vzbid0IHRlbGwgeW91IHRoZSBsaW5rIGlzIHRoZSBz
YW1lLiBTbyBJIHRoaW5rIHlvdSB3YW50IHRvIGFsc28gY29uZmlybSB0aGF0IHRvIGF2b2lkIHRv
IGNvbnRpbnVpbmcgd2l0aCB0aGUgd3Jvbmcgc2V0dXAuDQoNCkFjay4gDQo+IA0KPj4gKyAgICAg
ICAgew0KPj4gKyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSDQo+PiArICAgICAgICAgICAg
ICAgICAgICJldnRjaG5fYmluZF9pbnRlcmRvbWFpbigpIGZhaWx1cmUgKEVycm9yICVkKSBcbiIs
IHJjKTsNCj4+ICsgICAgICAgICAgICByZXR1cm4gcmM7DQo+PiArICAgICAgICB9DQo+PiArICAg
IH0NCj4+ICsNCj4+ICsgICAgcmV0dXJuIDA7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQgX19pbml0
IGFsbG9jYXRlX3N0YXRpY19ldnRjaG4odm9pZCkNCj4+ICt7DQo+PiArICAgIHN0cnVjdCBkdF9k
ZXZpY2Vfbm9kZSAqbm9kZTsNCj4gDQo+IEFGQUlDVCwgYWxsIHRoZSB1c2VycyBiZWxvdyBjYW4g
ZGVhbCB3aXRoIGNvbnN0aXNmaWVkIG5vZGUuIFNvIEkgdGhpbmsgeW91IHdhbnQgdG8gYWRkICdj
b25zdCcgaGVyZS4NCg0KQWNrLg0KPiANCj4+ICsgICAgY29uc3Qgc3RydWN0IGR0X2RldmljZV9u
b2RlICpjaG9zZW4gPSBkdF9maW5kX25vZGVfYnlfcGF0aCgiL2Nob3NlbiIpOw0KPj4gKw0KPj4g
KyAgICBCVUdfT04oY2hvc2VuID09IE5VTEwpOw0KPj4gKyAgICBkdF9mb3JfZWFjaF9jaGlsZF9u
b2RlKGNob3Nlbiwgbm9kZSkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgaWYgKCBkdF9kZXZpY2Vf
aXNfY29tcGF0aWJsZShub2RlLCAieGVuLGRvbWFpbiIpIHx8DQo+PiArICAgICAgICAgICAgIGR0
X2RldmljZV9pc19jb21wYXRpYmxlKG5vZGUsICJtdWx0aWJvb3Qsa2VybmVsIikgKQ0KPj4gKyAg
ICAgICAgew0KPj4gKyAgICAgICAgICAgIGlmICggYWxsb2NhdGVfZG9tYWluX2V2dGNobihub2Rl
KSAhPSAwICkNCj4+ICsgICAgICAgICAgICAgICAgcGFuaWMoIkNvdWxkIG5vdCBzZXQgdXAgZG9t
YWlucyBldnRjaG5cbiIpOw0KPj4gKyAgICAgICAgfQ0KPj4gKyAgICB9DQo+PiArfQ0KPj4gKw0K
Pj4gIHN0YXRpYyB2b2lkIF9faW5pdCBmaW5kX2dudHRhYl9yZWdpb24oc3RydWN0IGRvbWFpbiAq
ZCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJu
ZWxfaW5mbyAqa2luZm8pDQo+PiAgew0KPj4gQEAgLTMzNTgsNiArMzQ5Myw3IEBAIHZvaWQgX19p
bml0IGNyZWF0ZV9kb21Vcyh2b2lkKQ0KPj4gICAgICAgICAgICAgIHBhbmljKCJFcnJvciBjcmVh
dGluZyBkb21haW4gJXNcbiIsIGR0X25vZGVfbmFtZShub2RlKSk7DQo+PiAgICAgICAgICAgIGQt
PmlzX2NvbnNvbGUgPSB0cnVlOw0KPj4gKyAgICAgICAgZC0+YXJjaC5ub2RlID0gbm9kZTsNCj4g
DQo+IElmIHlvdSBmb2xsb3cgbXkgc3VnZ2VzdGlvbiBhYm92ZSwgdGhpcyBzaG91bGQgbm90IGJl
IG5lY2Vzc2FyeS4gSG93ZXZlciwgaWYgdGhpcyBpcyBzdGlsbCBuZWVkZWQgZm9yIHNvbWUgcmVh
c29uLCB0aGVuIEkgdGhpbmsgd2Ugc2hvdWxkIGFsc28gc2V0IGQtPmFyY2gubm9kZSBmb3IgdGhl
IEhhcmR3YXJlIERvbWFpbiBhbmQgLi4uDQoNCkFjay4gDQo+IA0KPj4gICAgICAgICAgICBpZiAo
IGNvbnN0cnVjdF9kb21VKGQsIG5vZGUpICE9IDAgKQ0KPj4gICAgICAgICAgICAgIHBhbmljKCJD
b3VsZCBub3Qgc2V0IHVwIGRvbWFpbiAlc1xuIiwgZHRfbm9kZV9uYW1lKG5vZGUpKTsNCj4+IGRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZG9tYWluLmggYi94ZW4vYXJjaC9h
cm0vaW5jbHVkZS9hc20vZG9tYWluLmgNCj4+IGluZGV4IGNkOWNlMTliNGIuLjUxMTkyYjI4ZWUg
MTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZG9tYWluLmgNCj4+ICsr
KyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb21haW4uaA0KPj4gQEAgLTEwNSw2ICsxMDUs
NyBAQCBzdHJ1Y3QgYXJjaF9kb21haW4NCj4+ICAjZW5kaWYNCj4+ICAgICAgICBib29sIGRpcmVj
dG1hcDsNCj4+ICsgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlOw0KPiANCj4gLi4uIHRo
aXMgc2hvdWxkIGJlIGNvbnN0IGFzIHRoZSBub2RlIHNob3VsZG4ndCBiZSBtb2RpZmlhYmxlLg0K
DQpBY2suIA0KDQpSZWdhcmRzLA0KUmFodWw=


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:57:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392778.631343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrp8-0004EU-1D; Wed, 24 Aug 2022 14:57:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392778.631343; Wed, 24 Aug 2022 14:57:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrp7-0004EN-To; Wed, 24 Aug 2022 14:57:41 +0000
Received: by outflank-mailman (input) for mailman id 392778;
 Wed, 24 Aug 2022 14:57:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oQrp6-0004EH-M0
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:57:40 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 189d22c0-23bd-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 16:57:39 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5A7F2106F;
 Wed, 24 Aug 2022 07:57:42 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1E3F83F67D;
 Wed, 24 Aug 2022 07:57:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 189d22c0-23bd-11ed-9250-1f966e50362f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v1 0/4] Yocto Gitlab CI
Date: Wed, 24 Aug 2022 15:57:16 +0100
Message-Id: <cover.1661352827.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series is a first attempt to check if we could use Yocto in
gitlab ci to build and run xen on qemu for arm, arm64 and x86.

The first patch is making sure build-yocto.sh is not catched by
gitignore.

The second patch is creating a container with all elements required to
build Yocto, a checkout of the yocto layers required and an helper
script to build and run xen on qemu with yocto.

The third patch is creating containers with a first build of yocto done
so that susbsequent build with those containers would only rebuild what
was changed and take the rest from the cache.

The fourth patch is adding a way to easily clean locally created
containers.

This is is mainly for discussion and sharing as there are still some
issues/problem to solve:
- building the qemu* containers can take several hours depending on the
  network bandwith and computing power of the machine where those are
  created
- produced containers containing the cache have a size between 8 and
  12GB depending on the architecture. We might need to store the build
  cache somewhere else to reduce the size. If we choose to have one
  single image, the needed size is around 20GB and we need up to 40GB
  during the build, which is why I splitted them.
- during the build and run, we use a bit more then 20GB of disk which is
  over the allowed size in gitlab

Once all problems passed, this can be used to build and run dom0 on qemu
with a modified Xen on the 3 archs in less than 10 minutes.

This has been tested on a x86 host machine and on an arm host machine
(with mk_dsdt.c fix).

Bertrand Marquis (4):
  automation: Only filter build-*/ in gitignore
  automation: Add elements for Yocto test and run
  automation: Add yocto containers with cache
  automation: Add a clean rule for containers

 .gitignore                                    |   2 +-
 automation/build/Makefile                     |  19 +-
 automation/build/yocto/build-yocto.sh         | 328 ++++++++++++++++++
 .../build/yocto/kirkstone-qemuarm.dockerfile  |  28 ++
 .../yocto/kirkstone-qemuarm64.dockerfile      |  28 ++
 .../yocto/kirkstone-qemux86-64.dockerfile     |  28 ++
 automation/build/yocto/kirkstone.dockerfile   | 100 ++++++
 7 files changed, 531 insertions(+), 2 deletions(-)
 create mode 100755 automation/build/yocto/build-yocto.sh
 create mode 100644 automation/build/yocto/kirkstone-qemuarm.dockerfile
 create mode 100644 automation/build/yocto/kirkstone-qemuarm64.dockerfile
 create mode 100644 automation/build/yocto/kirkstone-qemux86-64.dockerfile
 create mode 100644 automation/build/yocto/kirkstone.dockerfile

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:57:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:57:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392780.631354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrpK-0004Yr-7a; Wed, 24 Aug 2022 14:57:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392780.631354; Wed, 24 Aug 2022 14:57:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrpK-0004Yi-4t; Wed, 24 Aug 2022 14:57:54 +0000
Received: by outflank-mailman (input) for mailman id 392780;
 Wed, 24 Aug 2022 14:57:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oQrpI-0004Xz-M6
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:57:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 1fab54b6-23bd-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 16:57:51 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4E44911FB;
 Wed, 24 Aug 2022 07:57:54 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2C9823F67D;
 Wed, 24 Aug 2022 07:57:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1fab54b6-23bd-11ed-bd2e-47488cf2e6aa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v1 1/4] automation: Only filter build-*/ in gitignore
Date: Wed, 24 Aug 2022 15:57:17 +0100
Message-Id: <b51e0e7682cf45e5844de8e0f1ef1593049b6c05.1661352827.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661352827.git.bertrand.marquis@arm.com>
References: <cover.1661352827.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

...because there are some script in automation corresponding to the
build-* filter (build-test.sh and build-each-commit.sh)

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v1:
- instead of removing build-*, replace it by build-*/ (suggested by Jan)
- rename patch accordingly
---
 .gitignore | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index e3fe06cd13ed..27881c976432 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,13 +38,13 @@ dist
 stubdom/*.tar.gz
 
 autom4te.cache/
+build-*/
 config.log
 config.status
 config.cache
 config/Toplevel.mk
 config/Paths.mk
 
-build-*
 dist/*
 docs/tmp.*
 docs/html/
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:57:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:57:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392781.631359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrpK-0004bm-JU; Wed, 24 Aug 2022 14:57:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392781.631359; Wed, 24 Aug 2022 14:57:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrpK-0004al-DR; Wed, 24 Aug 2022 14:57:54 +0000
Received: by outflank-mailman (input) for mailman id 392781;
 Wed, 24 Aug 2022 14:57:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oQrpJ-0004EH-7f
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:57:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 20b1e5c8-23bd-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 16:57:52 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EDA451596;
 Wed, 24 Aug 2022 07:57:55 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 43B0A3F67D;
 Wed, 24 Aug 2022 07:57:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20b1e5c8-23bd-11ed-9250-1f966e50362f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 3/4] automation: Add yocto containers with cache
Date: Wed, 24 Aug 2022 15:57:19 +0100
Message-Id: <4d0141062aaec36a7c74182729c2dcef95deded3.1661352827.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661352827.git.bertrand.marquis@arm.com>
References: <cover.1661352827.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create yocto containers for kirkstone with a builder step to fill the
yocto cache by running the build script once.
Those containers depend on the kirkstone.dockerfile container to be
created and use it as base image.

To run a build test on one image the following command must be called
inside the container:
build-yocto.sh --xen-dir=XENSRC TARGET where
- XENSRC is the directory where xen sources are available in the
container
- TARGET is the build target (qemuarm64, qemuarm or qemux86_64)

In case of error, the script will return an error code and the logs will
be in /home/docker-build/logs.

!!!
The build of each container can take several hours depending on the
network bandwith (for downloading all sources) and the amount of
computing power on the machine where the docker images are created.
!!!

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v1:
- fix dependency in Makefile
---
 automation/build/Makefile                     |  2 ++
 .../build/yocto/kirkstone-qemuarm.dockerfile  | 28 +++++++++++++++++++
 .../yocto/kirkstone-qemuarm64.dockerfile      | 28 +++++++++++++++++++
 .../yocto/kirkstone-qemux86-64.dockerfile     | 28 +++++++++++++++++++
 4 files changed, 86 insertions(+)
 create mode 100644 automation/build/yocto/kirkstone-qemuarm.dockerfile
 create mode 100644 automation/build/yocto/kirkstone-qemuarm64.dockerfile
 create mode 100644 automation/build/yocto/kirkstone-qemux86-64.dockerfile

diff --git a/automation/build/Makefile b/automation/build/Makefile
index a4b2b85178cf..b0dc68f00b70 100644
--- a/automation/build/Makefile
+++ b/automation/build/Makefile
@@ -16,5 +16,7 @@ help:
 		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
 	fi
 
+$(subst .dockerfile,,$(wildcard yocto/kirkstone-*)): yocto/kirkstone
+
 .PHONY: all
 all: $(CONTAINERS)
diff --git a/automation/build/yocto/kirkstone-qemuarm.dockerfile b/automation/build/yocto/kirkstone-qemuarm.dockerfile
new file mode 100644
index 000000000000..e3cdc4dcf333
--- /dev/null
+++ b/automation/build/yocto/kirkstone-qemuarm.dockerfile
@@ -0,0 +1,28 @@
+# Docker file to populate the initial sstate and download cache for yocto
+# for a specific target
+#
+# This requires the build-yocto.sh script to be in the same directory as this
+# dockerfile during the image creation
+#
+# Arguments that can be passed during image creation using --build-arg:
+# "from_image=img" to select the docker image and tag to start from
+# "target=qemuxxx": to select which target to build in this image
+
+ARG from_image=registry.gitlab.com/xen-project/xen/yocto:kirkstone
+
+FROM $from_image AS builder
+
+ARG target=qemuarm
+
+# This step can take one to several hours depending on your download bandwith
+# and the speed of your computer
+RUN /home/$USER_NAME/bin/build-yocto.sh $target
+
+FROM $from_image
+
+# Only copy the cache status
+COPY --from=builder /home/$USER_NAME/yocto-cache /home/$USER_NAME/yocto-cache/.
+
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
diff --git a/automation/build/yocto/kirkstone-qemuarm64.dockerfile b/automation/build/yocto/kirkstone-qemuarm64.dockerfile
new file mode 100644
index 000000000000..6045b6ac249f
--- /dev/null
+++ b/automation/build/yocto/kirkstone-qemuarm64.dockerfile
@@ -0,0 +1,28 @@
+# Docker file to populate the initial sstate and download cache for yocto
+# for a specific target
+#
+# This requires the build-yocto.sh script to be in the same directory as this
+# dockerfile during the image creation
+#
+# Arguments that can be passed during image creation using --build-arg:
+# "from_image=img" to select the docker image and tag to start from
+# "target=qemuxxx": to select which target to build in this image
+
+ARG from_image=registry.gitlab.com/xen-project/xen/yocto:kirkstone
+
+FROM $from_image AS builder
+
+ARG target=qemuarm64
+
+# This step can take one to several hours depending on your download bandwith
+# and the speed of your computer
+RUN /home/$USER_NAME/bin/build-yocto.sh $target
+
+FROM $from_image
+
+# Only copy the cache status
+COPY --from=builder /home/$USER_NAME/yocto-cache /home/$USER_NAME/yocto-cache/.
+
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
diff --git a/automation/build/yocto/kirkstone-qemux86-64.dockerfile b/automation/build/yocto/kirkstone-qemux86-64.dockerfile
new file mode 100644
index 000000000000..35e2fdeb1e82
--- /dev/null
+++ b/automation/build/yocto/kirkstone-qemux86-64.dockerfile
@@ -0,0 +1,28 @@
+# Docker file to populate the initial sstate and download cache for yocto
+# for a specific target
+#
+# This requires the build-yocto.sh script to be in the same directory as this
+# dockerfile during the image creation
+#
+# Arguments that can be passed during image creation using --build-arg:
+# "from_image=img" to select the docker image and tag to start from
+# "target=qemuxxx": to select which target to build in this image
+
+ARG from_image=registry.gitlab.com/xen-project/xen/yocto:kirkstone
+
+FROM $from_image AS builder
+
+ARG target=qemux86-64
+
+# This step can take one to several hours depending on your download bandwith
+# and the speed of your computer
+RUN /home/$USER_NAME/bin/build-yocto.sh $target
+
+FROM $from_image
+
+# Only copy the cache status
+COPY --from=builder /home/$USER_NAME/yocto-cache /home/$USER_NAME/yocto-cache/.
+
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:57:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:57:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392782.631365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrpL-0004gw-01; Wed, 24 Aug 2022 14:57:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392782.631365; Wed, 24 Aug 2022 14:57:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrpK-0004gC-N5; Wed, 24 Aug 2022 14:57:54 +0000
Received: by outflank-mailman (input) for mailman id 392782;
 Wed, 24 Aug 2022 14:57:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oQrpJ-0004Xz-FB
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:57:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 2042d4a4-23bd-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 16:57:51 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 316F4139F;
 Wed, 24 Aug 2022 07:57:55 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 60E8D3F67D;
 Wed, 24 Aug 2022 07:57:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2042d4a4-23bd-11ed-bd2e-47488cf2e6aa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 2/4] automation: Add elements for Yocto test and run
Date: Wed, 24 Aug 2022 15:57:18 +0100
Message-Id: <bca2a15a980b371a8c6ff346d1d0731ed7bbadb5.1661352827.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661352827.git.bertrand.marquis@arm.com>
References: <cover.1661352827.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a container suitable to run yocto kirkstone build based on ubuntu
22.04. It contains all packages required by Yocto and a checkout of the
layers required to build Xen with Yocto.

Add a build script to build and run xen on qemu using Yocto.
The script supports arm32, arm64 and x86_64 and checks that dom0 is
properly booting. At this stage this does not run any guest on top of
dom0.

The build script is currently in the same directory than the docker
files so that it can be included directly in the image. This is required
for the next step which creates images with an initial cache content to
speed up testing.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v1:
- add --image command line argument to build-yocto.sh to allow building
something different than xen-image-minimal.
- modify dockerfile to have one layer per line and make it easier to add
other. I kept the for loop to keep the number of docker steps lower
- update commit message to warn that no guest are tested.
- fix build-yocto script to properly return with an error if expect
script ends up in timeout or EOF.
---
 automation/build/yocto/build-yocto.sh       | 328 ++++++++++++++++++++
 automation/build/yocto/kirkstone.dockerfile | 100 ++++++
 2 files changed, 428 insertions(+)
 create mode 100755 automation/build/yocto/build-yocto.sh
 create mode 100644 automation/build/yocto/kirkstone.dockerfile

diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh
new file mode 100755
index 000000000000..669359daa52e
--- /dev/null
+++ b/automation/build/yocto/build-yocto.sh
@@ -0,0 +1,328 @@
+#!/bin/bash
+#
+# Yocto meta virtualization build and run script
+#
+# This script is building Yocto xen-image-minimal for qemu targets and run
+# them using runqemu inside yocto to check that dom0 is booting properly
+# The build is using a local xen source tree so that specific patches can be
+# tested.
+# In order to optimize the build time, a build cache is used so that only xen
+# packages and its dependencies are rebuilt (qemu and final image mainly).
+#
+
+# Directories
+YOCTODIR="$HOME/yocto-layers"
+CACHEDIR="$HOME/yocto-cache"
+LOGDIR="$HOME/logs"
+XENDIR="$HOME/xen"
+BUILDDIR="$HOME/build"
+
+# what yocto bsp we support
+TARGET_SUPPORTED="qemuarm qemuarm64 qemux86-64"
+VERBOSE="n"
+TARGETLIST=""
+
+# actions to do
+do_clean="n"
+do_build="y"
+do_run="y"
+do_localsrc="n"
+build_result=0
+
+# layers to include in the project
+build_layerlist="poky/meta poky/meta-poky poky/meta-yocto-bsp \
+                 meta-openembedded/meta-oe meta-openembedded/meta-python \
+                 meta-openembedded/meta-filesystems \
+                 meta-openembedded/meta-networking meta-virtualization"
+
+# yocto image to build
+build_image="xen-image-minimal"
+
+function print_progress() {
+    echo -n "$(date +%T) $*"
+}
+
+function run_task() {
+    local task_name="$1"
+    local task_target="$2"
+
+    task_log="${task_name//project_}-${task_target}"
+
+    mkdir -p "${LOGDIR}"
+    print_progress
+    echo -n "${task_name//project_} ${task_target}: "
+    if [ "${VERBOSE}" = "n" ]; then
+        $@ > "${LOGDIR}/${task_log}.log" 2>&1
+    else
+        $@ 2>&1 | tee "${LOGDIR}/${task_log}.log"
+    fi
+
+    if [ ${?} -ne 0 ]; then
+        echo "Error"
+        build_result=$((build_result+1))
+        return 1
+    else
+        echo "OK"
+        return 0
+    fi
+}
+
+function project_create() {
+    target="${1:?}"
+    destdir="${BUILDDIR}/${target}"
+
+    (
+        # init yocto project
+        source ${YOCTODIR}/poky/oe-init-build-env "${destdir}"
+
+        # add needed layers
+        for layer in ${build_layerlist}; do
+            bitbake-layers add-layer ${YOCTODIR}/${layer} || exit 1
+        done
+    ) || return 1
+
+    # customize project configuration
+    cat <<EOF >> "${destdir}/conf/local.conf"
+# Yocto BSP
+MACHINE = "${target}"
+
+# Use local cache to reuse previous builds results
+SSTATE_DIR = "${CACHEDIR}/sstate-cache"
+DL_DIR = "${CACHEDIR}/downloads"
+
+# Enable xen and virtualization
+DISTRO_FEATURES = " virtualization xen ipv4"
+
+# Speed up run by not generating ssh host keys
+IMAGE_INSTALL:append:pn-xen-image-minimal = " ssh-pregen-hostkeys"
+
+# Save some disk space
+INHERIT += "rm_work"
+
+EOF
+
+    if [ "${do_localsrc}" = "y" ]; then
+        XENVERS=$(grep -e "^XEN_REL" \
+            "${YOCTODIR}"/meta-virtualization/recipes-extended/xen/xen_*.bb \
+            2> /dev/null | tr -d ' ' | tr -d '?' | tr -d '"' \
+            | sed -e "s/.*=//" | sort -V | tail -n 1)
+
+        XENBASE=$(dirname "$(realpath -m "${XENDIR}")")
+        XENSUB=$(basename "$(realpath -m "${XENDIR}")")
+
+        cat <<EOF >> "${destdir}/conf/local.conf"
+# Use local sources for xen and xen-tools
+FILESEXTRAPATHS:prepend:pn-xen := "${XENBASE}:"
+FILESEXTRAPATHS:prepend:pn-xen-tools := "${XENBASE}:"
+
+SRC_URI:pn-xen = "file://${XENSUB}/;subdir=local-xen/"
+SRC_URI:pn-xen-tools = "file://${XENSUB}/;subdir=local-xen/"
+
+PREFERRED_VERSION:pn-xen = "${XENVERS}%"
+PREFERRED_VERSION:pn-xen-tools = "${XENVERS}%"
+
+S:pn-xen = "\${WORKDIR}/local-xen/${XENSUB}"
+S:pn-xen-tools = "\${WORKDIR}/local-xen/${XENSUB}"
+
+SRCREV:pn-xen = "\${AUTOREV}"
+SRCREV:pn-xen-tools = "\${AUTOREV}"
+
+SRCPV:pn-xen = "1"
+SRCPV:pn-xen-tools = "1"
+
+# Disable all QA errors as the recipe is not up to date with changes in Xen
+# when we use local sources
+ERROR_QA:pn-xen = "arch"
+ERROR_QA:pn-xen-tools = "arch"
+
+EOF
+    fi
+}
+
+function project_build() {
+    target="${1:?}"
+    destdir="${BUILDDIR}/${target}"
+
+    (
+        source ${YOCTODIR}/poky/oe-init-build-env "${destdir}"
+
+        bitbake "${build_image}" || exit 1
+    ) || return 1
+}
+
+function project_clean() {
+    target="${1:?}"
+    destdir="${BUILDDIR}/${target}"
+
+    rm -rf "${destdir}"
+}
+
+function project_run() {
+    target="${1:?}"
+    destdir="${BUILDDIR}/${target}"
+    (
+        source ${YOCTODIR}/poky/oe-init-build-env "${destdir}" > /dev/null 2>&1
+
+        /usr/bin/expect <<EOF
+set timeout 100
+spawn bash -c "runqemu serialstdio nographic slirp"
+
+expect_after {
+    -re "(.*)\r" {
+        exp_continue
+    }
+    timeout {send_user "ERROR-Timeout!\n"; exit 1}
+    eof {send_user "ERROR-EOF!\n"; exit 1}
+}
+
+# wait initial login
+expect -re ".* login: "
+send "root\r"
+expect -re "root@.*# "
+
+EOF
+    exit $?
+    ) || return 1
+}
+
+function help() {
+    cat <<EOF
+Usage: ${0} [TARGET1] [TARGET2]
+
+This script is build the yocto xen-image-minimal for different qemu targets
+and is running it after.
+Without any target specified, all supported targets are done.
+
+Options:
+  -h, --help       Print this help
+  -v, --verbose    Verbose build
+  --list-target    List supported targets
+  --clean          Clean existing project before starting
+  --no-build       Do not build (to run an already built project)
+  --no-run         Do not run
+  --image=IMG      Yocto image or package to build
+                   Default: xen-image-minimal
+  --xen-dir=DIR    path to xen hypervisor source tree
+                   if not provide, normal yocto version of xen is built
+                   Default: ${XENDIR}
+  --out-dir=DIR    directory where to create the projectss
+                   Default: ${BUILDDIR}
+  --log-dir=DIR    directory to store logs
+                   Default: ${LOGDIR}
+  --cache-dir=DIR  directory where to take and store build cache
+                   Default: ${CACHEDIR}
+  --layer-dir=DIR  directory containing the checkout of yocto layers
+                   Default: ${YOCTODIR}
+EOF
+}
+
+for OPTION in "$@"
+do
+    case ${OPTION} in
+        -h|--help)
+            help
+            exit 0
+            ;;
+        -v|--verbose)
+            VERBOSE="y"
+            ;;
+        --list-targets)
+            echo "${TARGET_SUPPORTED}"
+            exit 0
+            ;;
+        --clean)
+            do_clean="y"
+            ;;
+        --no-build)
+            do_build="n"
+            ;;
+        --no-run)
+            do_run="n"
+            ;;
+        --image=*)
+            build_image="${OPTION#*=}"
+            ;;
+        --xen-dir=*)
+            XENDIR="${OPTION#*=}"
+            if [ ! -e "${XENDIR}/xen/Makefile" ]; then
+                echo "No Xen source tree in ${XENDIR}"
+                exit 1
+            fi
+            do_localsrc="y"
+            ;;
+        --out-dir=*)
+            BUILDDIR="${OPTION#*=}"
+            ;;
+        --log-dir=*)
+            LOGDIR="${OPTION#*=}"
+            ;;
+        --cache-dir=*)
+            CACHEDIR="${OPTION#*=}"
+            ;;
+        --layer-dir=*)
+            YOCTODIR="${OPTION#*=}"
+            ;;
+        --*)
+            echo "Invalid option ${OPTION}"
+            help
+            exit 1
+            ;;
+        *)
+            if echo "${TARGET_SUPPORTED}" | grep -q -w "${OPTION}"; then
+                TARGETLIST="${TARGETLIST} ${OPTION}"
+            else
+                echo "Unsupported target ${OPTION}"
+                exit 1
+            fi
+            ;;
+    esac
+done
+
+# if no target is specified build all targets
+if [ -z "${TARGETLIST}" ]; then
+    TARGETLIST="${TARGET_SUPPORTED}"
+fi
+
+mkdir -p "${CACHEDIR}"
+mkdir -p "${LOGDIR}"
+mkdir -p "${BUILDDIR}"
+
+# Make sure we have an absolute path
+YOCTODIR=$(realpath -m "${YOCTODIR}")
+CACHEDIR=$(realpath -m "${CACHEDIR}")
+BUILDDIR=$(realpath -m "${BUILDDIR}")
+LOGDIR=$(realpath -m "${LOGDIR}")
+if [ "${do_localsrc}" = "y" ]; then
+    XENDIR=$(realpath -m "${XENDIR}")
+fi
+
+# Check that we have all the layers we need
+for f in ${build_layerlist}; do
+    if [ ! -f "${YOCTODIR}/${f}/conf/layer.conf" ]; then
+        echo "Layer ${f} missing in ${YOCTODIR}"
+        exit 1
+    fi
+done
+
+for f in ${TARGETLIST}; do
+    if [ "${do_clean}" = "y" ]; then
+        run_task project_clean ${f}
+    fi
+    if [ ! -f ${BUILDDIR}/${f}/conf/local.conf ]; then
+        run_task project_create ${f}
+    fi
+    if [ -f ${BUILDDIR}/${f}/conf/local.conf ]; then
+        if [ "${do_build}" = "y" ]; then
+            run_task project_build ${f}
+        fi
+        if [ "${do_run}" = "y" ]; then
+            run_task project_run ${f}
+        fi
+
+    fi
+done
+
+print_progress "Build Complete (${build_result} errors)"
+echo
+exit ${build_result}
+
diff --git a/automation/build/yocto/kirkstone.dockerfile b/automation/build/yocto/kirkstone.dockerfile
new file mode 100644
index 000000000000..367a7863b685
--- /dev/null
+++ b/automation/build/yocto/kirkstone.dockerfile
@@ -0,0 +1,100 @@
+# Docker file to create an environment to build yocto with virtualization
+#
+# Arguments that can be passed during image creation using --build-arg:
+# "host_uid=$(id -u)": to use current user uid for build user in the image
+# "host_gid=$(id -g)": to use current user gid for build user in the image
+# "yocto_version=VERS": to select the Yocto version (branch name)
+
+# Use standard ubuntu minimal
+From ubuntu:22.04
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+# Install minimal ubuntu requirements for yocto and other tools we need
+# See https://docs.yoctoproject.org/4.0.1/brief-yoctoprojectqs/index.html#build-host-packages
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        gawk \
+        wget \
+        git \
+        diffstat \
+        unzip \
+        texinfo \
+        gcc \
+        build-essential \
+        chrpath \
+        socat \
+        cpio \
+        python3 \
+        python3-pip \
+        python3-pexpect \
+        xz-utils \
+        debianutils \
+        iputils-ping \
+        python3-git \
+        python3-jinja2 \
+        libegl1-mesa \
+        libsdl1.2-dev \
+        python3-subunit \
+        mesa-common-dev \
+        zstd \
+        liblz4-tool \
+        file \
+        vim \
+        bison \
+        expect \
+        locales \
+        liblz4-tool \
+        zstd \
+        openssl \
+        libssl3 \
+        ca-certificates \
+        && \
+        apt-get autoremove -y && \
+        apt-get clean && \
+        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
+
+# Use bash as shell
+RUN rm /bin/sh && ln -s bash /bin/sh
+
+# Fix local for yocto
+RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 \
+    LANG=en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LC_ALL en_US.UTF-8
+
+# Create a user for the build (we don't want to build as root)
+ENV USER_NAME docker-build
+ARG host_uid=1000
+ARG host_gid=1000
+RUN groupadd -g $host_gid $USER_NAME && \
+    useradd -g $host_gid -m -s /bin/bash -u $host_uid $USER_NAME
+
+# Switch to our user instead of root and start in its home
+USER $USER_NAME
+WORKDIR /home/$USER_NAME
+
+# Create needed directories
+RUN mkdir -p /home/$USER_NAME/yocto-layers \
+             /home/$USER_NAME/yocto-cache \
+             /home/$USER_NAME/logs \
+             /home/$USER_NAME/bin \
+             /home/$USER_NAME/xen && \
+    chown $USER_NAME.$USER_NAME /home/$USER_NAME/*
+
+# Copy the build script
+COPY build-yocto.sh /home/$USER_NAME/bin/
+
+# clone yocto repositories we need
+ARG yocto_version="kirkstone"
+RUN for rep in \
+                https://github.com/openembedded/meta-openembedded \
+                https://git.yoctoproject.org/poky \
+                https://git.yoctoproject.org/meta-virtualization \
+            ; do \
+        git -C /home/$USER_NAME/yocto-layers \
+            clone -b $yocto_version --single-branch $rep; \
+    done
+
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:57:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:57:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392783.631385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrpM-0005JV-Hd; Wed, 24 Aug 2022 14:57:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392783.631385; Wed, 24 Aug 2022 14:57:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrpM-0005Gy-Bf; Wed, 24 Aug 2022 14:57:56 +0000
Received: by outflank-mailman (input) for mailman id 392783;
 Wed, 24 Aug 2022 14:57:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oQrpK-0004Xz-FP
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:57:54 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 212b727c-23bd-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 16:57:53 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B546415A1;
 Wed, 24 Aug 2022 07:57:56 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0B8A53F67D;
 Wed, 24 Aug 2022 07:57:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 212b727c-23bd-11ed-bd2e-47488cf2e6aa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 4/4] automation: Add a clean rule for containers
Date: Wed, 24 Aug 2022 15:57:20 +0100
Message-Id: <3942d90afde0714a7c4d28d92ed31624773cb933.1661352827.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1661352827.git.bertrand.marquis@arm.com>
References: <cover.1661352827.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add make clean support to remove the containers from the local docker
registry:
- make clean: remove all images
- clean-yocto/kirkstone-qemuarm: remove yocto kirkstone for qemuarm
image

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v1:
- patch added
---
 automation/build/Makefile | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/automation/build/Makefile b/automation/build/Makefile
index b0dc68f00b70..9fbb49c8717e 100644
--- a/automation/build/Makefile
+++ b/automation/build/Makefile
@@ -4,6 +4,17 @@ REGISTRY := registry.gitlab.com/xen-project/xen
 CONTAINERS = $(subst .dockerfile,,$(wildcard */*.dockerfile))
 DOCKER_CMD ?= docker
 
+define CLEAN_RULE
+.PHONY: clean-$(1)
+clean-$(1):
+ifneq ($$(shell docker image ls -q $(REGISTRY)/$(subst /,:,$(1))),)
+	docker image rm $(REGISTRY)/$(subst /,:,$(1))
+endif
+
+clean: clean-$(1)
+
+endef
+
 help:
 	@echo "Builds containers for building Xen based on different distros"
 	@echo "To build one run 'make DISTRO/VERSION'. Available containers:"
@@ -18,5 +29,9 @@ help:
 
 $(subst .dockerfile,,$(wildcard yocto/kirkstone-*)): yocto/kirkstone
 
-.PHONY: all
+.PHONY: all clean
 all: $(CONTAINERS)
+
+clean:
+
+$(eval $(foreach img,$(CONTAINERS),$(call CLEAN_RULE,$(img))))
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 14:58:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 14:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392808.631398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrqJ-00075F-Tf; Wed, 24 Aug 2022 14:58:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392808.631398; Wed, 24 Aug 2022 14:58:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrqJ-000758-Pc; Wed, 24 Aug 2022 14:58:55 +0000
Received: by outflank-mailman (input) for mailman id 392808;
 Wed, 24 Aug 2022 14:58:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQrqI-00074Y-Au
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 14:58:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQrqH-0006lY-4m; Wed, 24 Aug 2022 14:58:53 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQrqG-0008MC-Uq; Wed, 24 Aug 2022 14:58:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=MrPMlo5iJyYxGji08VPI5Kq6oFWDYXvdpdlIMue3GcM=; b=u1zYhw+dzJ2+Rmmm1o99EKAyQr
	IpaZ/0SYiQGDMNLs0xDR4KCOTlouIUNwdizLB+BZxn6l6ma2pZqEfxEMnc05gDjAMg4er91JpgBU1
	OgDgLpejmRGabluf7DVYTmWuAwXY3DfOETrtfHKpxTd46ATgNlwduEPT9I/s6U5chRJo=;
Message-ID: <a8675747-d445-173b-2e1d-f06577303371@xen.org>
Date: Wed, 24 Aug 2022 15:58:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 01/10] xen/arm: smmuv3: Fix l1 stream table size in the
 error message
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
 <bd9bd6a259b99d4a0ebbfa914f54d8091b1865f5.1661331102.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bd9bd6a259b99d4a0ebbfa914f54d8091b1865f5.1661331102.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 24/08/2022 14:53, Rahul Singh wrote:
> Backport Linux commit dc898eb84b25c39ea46f28c48a169bdbd0e2c7e0
> iommu/arm-smmu-v3: Fix l1 stream table size in the error message

We have a tag for this (see Origin). If you use it, then...

> 
> Original commit message:

You don't need to add "original commit message" here and the content is 
exactly the same.

>      iommu/arm-smmu-v3: Fix l1 stream table size in the error message
>      The actual size of level-1 stream table is l1size. This looks like
>      an oversight on commit d2e88e7c081ef ("iommu/arm-smmu: Fix LOG2SIZE
>      setting for 2-level stream tables") which forgot to update the @size
>      in error message as well.
> 
>      As memory allocation failure is already bad enough, nothing worse
>      would happen. But let's be careful.
> 
>      Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>

AFAICT, you didn't make any change to this patch. So the "From:" should 
still be from Zenghui Yu. For an example how to do backport, see
9c432b876bf518866d431bda73f2be1250f688eb "x86/mwait-idle: add SPR support".

Also, it would be good to clarify whether they are clean backport and 
required some changes (other than context changes). I assume they are 
clean backports?

The same applies for all the patches in this series.

>      Link: https://lore.kernel.org/r/20200826141758.341-1-yuzenghui@huawei.com
>      Signed-off-by: Will Deacon <will@kernel.org>
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>   xen/drivers/passthrough/arm/smmu-v3.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
> index f2562acc38..340609264d 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -2348,7 +2348,7 @@ static int arm_smmu_init_strtab_2lvl(struct arm_smmu_device *smmu)
>   	if (!strtab) {
>   		dev_err(smmu->dev,
>   			"failed to allocate l1 stream table (%u bytes)\n",
> -			size);
> +			l1size);
>   		return -ENOMEM;
>   	}
>   	cfg->strtab = strtab;

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 15:01:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 15:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392820.631409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrsq-0000Ag-A5; Wed, 24 Aug 2022 15:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392820.631409; Wed, 24 Aug 2022 15:01:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQrsq-0000AZ-6f; Wed, 24 Aug 2022 15:01:32 +0000
Received: by outflank-mailman (input) for mailman id 392820;
 Wed, 24 Aug 2022 15:01:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQrso-0000A0-4w
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 15:01:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQrsn-0006rw-Ui; Wed, 24 Aug 2022 15:01:29 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQrsn-0000FB-OA; Wed, 24 Aug 2022 15:01:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=85vYf+BEEqubasSHdQXzaUUUYVxS/rgG4MhODPLo7JU=; b=upafYz2dUuXf6DANDA3tgOaaCv
	YyIRelYHrcNSt6DzXqvaI1oUC9dg7QIz+qeAe/nN2JeTx4aKoUja2tX14MGQbEz9Wcllu3mkqYxCr
	WvyVPnU0D0dwEM1Tu0Tfj6S0mcIQhfnowjJUkMlmHJP1oqL5OERrPhe1YXMRpbWxc0fQ=;
Message-ID: <0a057b2d-a9e9-af47-a48d-511b31208ccc@xen.org>
Date: Wed, 24 Aug 2022 16:01:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH 04/10] xen/arm: smmuv3: Move definitions to a header
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1661331102.git.rahul.singh@arm.com>
 <e8ad3eed5474f2f09ef4fcca1ce0d1a669baca2b.1661331102.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e8ad3eed5474f2f09ef4fcca1ce0d1a669baca2b.1661331102.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/08/2022 14:53, Rahul Singh wrote:
> Allow sharing structure definitions with the upcoming virtual
> smmuv3 support for Arm SMMUv3, by moving them to a separate header.

I haven't seen this feature posted yet. So I can't tell how this will 
allow sharing. I guess you will introduce a new file?

In any case, I would suggest to either delay this patch until you send 
your work or find a different reason to split it (I can't think of one yet).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 15:23:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 15:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392826.631420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQsEI-0002cT-2V; Wed, 24 Aug 2022 15:23:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392826.631420; Wed, 24 Aug 2022 15:23:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQsEH-0002cM-VI; Wed, 24 Aug 2022 15:23:41 +0000
Received: by outflank-mailman (input) for mailman id 392826;
 Wed, 24 Aug 2022 15:23:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQsEH-0002cC-G7; Wed, 24 Aug 2022 15:23:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQsEH-0007EF-Dd; Wed, 24 Aug 2022 15:23:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQsEG-0003w1-VM; Wed, 24 Aug 2022 15:23:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQsEG-0004Jk-Ux; Wed, 24 Aug 2022 15:23:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FgB+IZLSA1t2ROF/FLP2JKvI0S2cUD4aTobq+4vOw4A=; b=ZhZa6vvLZbtuaqhf3mGm3yKuNx
	0MQ+hOdCpT5NSDiztu05wLYkTP4FSXplW1O2CKYMXB5yciQq6Py1sLtXXO0i4zlIcLhGgPD6w5dSH
	ImqKkNZTQmVVBNDQuezdpExNAZaqnEgFKIKVtd784+1Ee4O7htdKa1Ra4BFENc2b4Ukw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172753-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172753: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 15:23:40 +0000

flight 172753 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172753/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   20 days
Failing since        172151  2022-08-05 02:40:28 Z   19 days  160 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 15:28:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 15:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392834.631431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQsJ5-0003HM-Lm; Wed, 24 Aug 2022 15:28:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392834.631431; Wed, 24 Aug 2022 15:28:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQsJ5-0003HF-Ii; Wed, 24 Aug 2022 15:28:39 +0000
Received: by outflank-mailman (input) for mailman id 392834;
 Wed, 24 Aug 2022 15:28:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQsJ4-0003H3-Bc; Wed, 24 Aug 2022 15:28:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQsJ4-0007JK-9r; Wed, 24 Aug 2022 15:28:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQsJ3-00047P-Pz; Wed, 24 Aug 2022 15:28:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQsJ3-0000rj-ME; Wed, 24 Aug 2022 15:28:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Do/Hlj6Pi1JDc4nI1/nvVC5hO7BF+lbVgQOJ68VDbAQ=; b=fPQ8+Zi03dPKsqEjXL7pLz8FX/
	hncezlWY38V+se6JAbkaEImIXM2qgPcXM8L4oe0vKYki/9+nRAyiamMUEnMBeC1C5NRHnglep2OfZ
	bCBdmy4dCD70fZSRE3qB4lTQ6NtYgzLO5PfeAcaqqap8AGbvnVCoIMvxb0dE/eiUXb6M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172743-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172743: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c40e8341e3b3bb27e3a65b06b5b454626234c4f0
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 15:28:37 +0000

flight 172743 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172743/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                c40e8341e3b3bb27e3a65b06b5b454626234c4f0
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   20 days
Failing since        172152  2022-08-05 04:01:26 Z   19 days   45 attempts
Testing same since   172743  2022-08-24 03:29:51 Z    0 days    1 attempts

------------------------------------------------------------
1512 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 156709 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 15:30:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 15:30:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392841.631441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQsKQ-0003wO-70; Wed, 24 Aug 2022 15:30:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392841.631441; Wed, 24 Aug 2022 15:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQsKQ-0003vo-42; Wed, 24 Aug 2022 15:30:02 +0000
Received: by outflank-mailman (input) for mailman id 392841;
 Wed, 24 Aug 2022 15:30:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DC3Q=Y4=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oQsKO-0003uF-Pa
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 15:30:00 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 9d7a1889-23c1-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 17:29:59 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5A6B6106F;
 Wed, 24 Aug 2022 08:30:03 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4EE3E3F67D;
 Wed, 24 Aug 2022 08:29:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d7a1889-23c1-11ed-bd2e-47488cf2e6aa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1] x86/public: move XEN_ACPI_ in a new header
Date: Wed, 24 Aug 2022 16:29:45 +0100
Message-Id: <b79164d207113af05417536438b786850875edb1.1661353272.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When Xen is compiled for x86 on an arm machine, libacpi build is failing
due to a wrong include path:
- arch-x86/xen.h includes xen.h
- xen.h includes arch-arm.h (as __i386__ and __x86_64__ are not defined
but arm ones are).

To solve this issue move XEN_ACPI_ definitions in a new header
guest-acpi.h that can be included cleanly by mk_dsdt.c

Previous users needing any of the XEN_ACPI_ definitions will now need to
include arch-x86/guest-acpi.h instead of arch-x86/xen.h

Fixes: d6ac8e22c7c5 ("acpi/x86: define ACPI IO registers for PVH
guests")
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
The x86 header is including ../xen.h before the ifndef/define so that it
gets included back by xen.h. This is wrongly making the assumption that
we are using an x86 compiler which is not the case when building the
tools for x86 on an arm host.
Moving the definitions to an independent header is making things cleaner
but some might need to include a new header but the risk is low.

For the release manager:
- risk: very low, the definitions moved are only used in mk_dsdt and
external users would just have to include the new header.
- advantage: we can now compile xen for x86 on arm build machines
---
Changes in v1:
- was "libacpi: Fix cross building x86 on arm"
- move XEN_ACPI_ definitions in a new header guest-acpi.h
- adapt mk_dsdt.c
- remove todo in public header
---
 tools/libacpi/mk_dsdt.c                  |  2 +-
 xen/include/public/arch-x86/guest-acpi.h | 50 ++++++++++++++++++++++++
 xen/include/public/arch-x86/xen.h        |  6 ---
 3 files changed, 51 insertions(+), 7 deletions(-)
 create mode 100644 xen/include/public/arch-x86/guest-acpi.h

diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
index c5ba4c0b2fd3..1176da80ef44 100644
--- a/tools/libacpi/mk_dsdt.c
+++ b/tools/libacpi/mk_dsdt.c
@@ -18,7 +18,7 @@
 #include <stdlib.h>
 #include <stdbool.h>
 #if defined(CONFIG_X86)
-#include <xen/arch-x86/xen.h>
+#include <xen/arch-x86/guest-acpi.h>
 #include <xen/hvm/hvm_info_table.h>
 #elif defined(CONFIG_ARM_64)
 #include <xen/arch-arm.h>
diff --git a/xen/include/public/arch-x86/guest-acpi.h b/xen/include/public/arch-x86/guest-acpi.h
new file mode 100644
index 000000000000..eb288faf7bba
--- /dev/null
+++ b/xen/include/public/arch-x86/guest-acpi.h
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * arch-x86/xen-acpi.h
+ *
+ * XEN ACPI interface to x86 Xen.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__
+#define __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__
+
+#if defined(__XEN__) || defined(__XEN_TOOLS__)
+
+/* Location of online VCPU bitmap. */
+#define XEN_ACPI_CPU_MAP             0xaf00
+#define XEN_ACPI_CPU_MAP_LEN         ((HVM_MAX_VCPUS + 7) / 8)
+
+/* GPE0 bit set during CPU hotplug */
+#define XEN_ACPI_GPE0_CPUHP_BIT      2
+
+#endif
+
+#endif /* __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index 58a1e87ee971..546dd4496ac6 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -325,12 +325,6 @@ struct xen_arch_domainconfig {
 /* Max  XEN_X86_* constant. Used for ABI checking. */
 #define XEN_X86_MISC_FLAGS_MAX XEN_X86_ASSISTED_X2APIC
 
-/* Location of online VCPU bitmap. */
-#define XEN_ACPI_CPU_MAP             0xaf00
-#define XEN_ACPI_CPU_MAP_LEN         ((HVM_MAX_VCPUS + 7) / 8)
-
-/* GPE0 bit set during CPU hotplug */
-#define XEN_ACPI_GPE0_CPUHP_BIT      2
 #endif
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 15:37:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 15:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392858.631457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQsR7-0005R1-0L; Wed, 24 Aug 2022 15:36:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392858.631457; Wed, 24 Aug 2022 15:36:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQsR6-0005Qu-U4; Wed, 24 Aug 2022 15:36:56 +0000
Received: by outflank-mailman (input) for mailman id 392858;
 Wed, 24 Aug 2022 15:36:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQsR5-0005Qo-Ld
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 15:36:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQsR5-0007T2-9E; Wed, 24 Aug 2022 15:36:55 +0000
Received: from [54.239.6.185] (helo=[192.168.29.89])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQsR5-0001oN-2z; Wed, 24 Aug 2022 15:36:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FT86BBlkB/8YqApABrhf3exntKJZ8d6SowYFvEjWfRg=; b=Hn2Dmyr36XjXmuwliXUDK+kTyL
	+CRwMf4bgD0+S5i+eMvyiODFhNKVSvRfdYyX4XFMQmlSkJzzqpEGDhHxjs5XTeKAEpPiwZjz4+ekv
	RadGQCz8srQrhiQ2SjVBuplLmeiIseAPrcAKj+TSVo0a9cOFv3JXZzKpp5G5WX/M0wLA=;
Message-ID: <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org>
Date: Wed, 24 Aug 2022 16:36:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.1.2
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
 <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/08/2022 15:42, Rahul Singh wrote:
>> On 24 Aug 2022, at 1:59 pm, Julien Grall <julien@xen.org> wrote:
>>
>>
>>
>> On 24/08/2022 13:15, Rahul Singh wrote:
>>> Hi Julien,
>>
>> Hi Rahul,
>>
>>> Please let me know your view on this.
>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>> index bfe7bc6b36..a1e23eee59 100644
>>> --- a/xen/arch/arm/domain_build.c
>>> +++ b/xen/arch/arm/domain_build.c
>>> @@ -3562,12 +3562,7 @@ static int __init construct_domU(struct domain *d,
>>>     if ( rc == -EILSEQ ||
>>>       rc == -ENODATA ||
>>>       (rc == 0 && !strcmp(dom0less_enhanced, â€œenabledâ€)) )
>>> -  {
>>> -    if ( hardware_domain )
>>>         kinfo.dom0less_enhanced = true;
>>> -    else
>>> -      panic(â€œTried to use xen,enhanced without dom0\nâ€);
>>> -  }
>>
>> You can't use "xen,enhanced" without dom0. In fact, you will end up to dereference NULL in alloc_xenstore_evtchn(). That's because "xen,enhanced" means the domain will be able to use Xenstored.
>>
>> Now if you want to support your feature without a dom0. Then I think we want to introduce an option which would be the same as "xen,enhanced" but doesn't expose Xenstored.
> 
> If we modify the patch as below we can use the "xen,enhanced" for domUs without dom0.
> I tested the patch and its works fine. Do you see any issue with this approach?

Yes. For two reasons:
  1) It is muddying the meaning of "xen,enhanced". In particular a user 
may not realize that Xenstore is not available if dom0 is not present.
  2) It would be more complicated to handle the case where Xenstored 
lives in a non-dom0 domain. I am not aware of anyone wanting this on Arm 
yet, but I don't want to close the door.

So if you want to support create "xen,xen" without all the rest. Then I 
think we need a different property value. I don't have a good suggestion 
for the name.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 16:36:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 16:36:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392864.631468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtMU-0003Vk-BE; Wed, 24 Aug 2022 16:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392864.631468; Wed, 24 Aug 2022 16:36:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtMU-0003Vd-8S; Wed, 24 Aug 2022 16:36:14 +0000
Received: by outflank-mailman (input) for mailman id 392864;
 Wed, 24 Aug 2022 16:36:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EISj=Y4=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1oQtMS-0003VX-Vz
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 16:36:13 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2064.outbound.protection.outlook.com [40.107.21.64])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d92c95c1-23ca-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 18:36:05 +0200 (CEST)
Received: from AM6P195CA0105.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::46)
 by PR2PR08MB4860.eurprd08.prod.outlook.com (2603:10a6:101:20::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Wed, 24 Aug
 2022 16:36:02 +0000
Received: from VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:86:cafe::d6) by AM6P195CA0105.outlook.office365.com
 (2603:10a6:209:86::46) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Wed, 24 Aug 2022 16:36:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT041.mail.protection.outlook.com (10.152.19.163) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 16:36:02 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Wed, 24 Aug 2022 16:36:01 +0000
Received: from 2bf9aedde708.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 93BEAA61-5851-4F66-B541-A8AF890CA317.1; 
 Wed, 24 Aug 2022 16:35:50 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2bf9aedde708.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Aug 2022 16:35:50 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM6PR08MB5078.eurprd08.prod.outlook.com (2603:10a6:20b:e7::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Wed, 24 Aug
 2022 16:35:48 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::f5fa:7206:9197:6ba2%3]) with mapi id 15.20.5546.022; Wed, 24 Aug 2022
 16:35:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d92c95c1-23ca-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=gm37RKRHN94aowyBJ7cl7oGsQfgb0xwpHNBWa++ILQBp6XjW5+WCXlOLaPl9MDzBDOPkVXIARMOFJsrrazzYf7DYk067zyeUjE9ehULcZBhNCkUWQVV8fphMhmZm/K+3KtjOqD03Ryjvm0BjXeHQ39Pkx68W6jHuC0BO/dp/+lrfXlgx9rGdAtITDLciLoNniz097ESz7zxXWwF0VNiSNDaWrXkwLwSSHSeDOySbsgtJ9mAA+ac2cx59zmQausL7Y0vyL9fKmRlzA9ApVEnaEyBMUkgR22kFl2cm5jpf2EFNGLT3YYDQ+RSxDEShGIGtaEMX9Ixu1ceYYfDDNomLOQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0niOUQVCBZIIyutWexX4tLjOMCiDYws5zD9S8C5rUnE=;
 b=UGTASAf28+iqKIIJTipwUf/c1vjga6gwiGdfx/MYW8F52FIbfdVNODTXTW88mum1APH0yNY6fAZXcTo/3AWsmObPpiqs/uYzpGJfjIyZHczCoUbyhIi/Q1IrlJGt3JXLVm3SvygO35v8CBH1lWygmE9HyuoqTUotPA07Te9mK/WoLmyYrbxExB8W3zSLlJcI5WxFM2oueDo9KwCd+VkqAzU+4Z9Ie2TI0AHs495aj7AJgbFV/lezp7yktWt93ub21KOxSd4bWpukUWqk3CC1Ugx3MnmkBpdQOnNT1CmAgkLMUTOFtHKDI26sP2Afo2Dv2C1u0RNCleg5NcBleeZk2A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0niOUQVCBZIIyutWexX4tLjOMCiDYws5zD9S8C5rUnE=;
 b=gKlWeDKN9nOIv4p5lDoeH0fPhPdT3bi7dZzkJqx7YcXzzrz/hIsd8Yzfq8un7cgJirGQie2znvhPhAL3/e7fKj/RsoUuspNtTnVWAAc/Kn3BYs2m/I/TcERmYVxVhbqM8/S9+DHWMm7At0WV/z8y9dM7OTMZ6kd5we9esr+qnlY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3b4331e5bf44e06b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Niz7DjKnrQPPhlZhpk8Axmuq5lK1PBQ0B3sOoAtNQrPCS3vgT18oHt20g0KhBNPSQVv/ydOvORbHjfnRB6r7TAGSsOfhD6HgXIt9lJwr0sxqdssCMZ1BqNghqsay7OUFGi+ZJLXZnVGHBttmq9IZv8zYMSV3pc/lwGH/HCwr6WMpYT/P1tteI8MXsE034gqbkjBMFgpbpmoPzP4tam67jePTTF9XyARA50PbAxz/cQMa6XSmlkVC5lExkjKWU4Mtp6B22URhGgKV704RccZjlyqbbvzWycdcmf/VWN14hFfxWwHt+A3Bv2mrW/2MSMy39RU9l0BpeiagKEGUwa0Grg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0niOUQVCBZIIyutWexX4tLjOMCiDYws5zD9S8C5rUnE=;
 b=UFpfZbtmK5mMyYc/rkbmwg7NbVYM0EwfKQHYcaEDL/GFpG8yPnBA8pWiwoa+sjl/xl25m3Tjl98aKzwJGIkP5TrBQJPyoLySacDIxlCd8yNPhyzPTYdXNR+qKkgZ3FFE8K0GyiOt+tfAX8PnX4wGWEDfqA9EI7KgC6FjmtLvl/QxzUHpF/eB0Wh5bjdL6rXSUcOL5laDJBPSwvZxJ9wAfsMo6v75AYULbUMMq87iNXiRupKr+xC6oZo7KP3VMkUVsTOOM/DD16VkUR+Fmv69MAL+nyUYfe3ubkO2QPvobfPBpQIDrFpt4aU9OKYVhBrM6shMdIIUvkD23XE9MTTETg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0niOUQVCBZIIyutWexX4tLjOMCiDYws5zD9S8C5rUnE=;
 b=gKlWeDKN9nOIv4p5lDoeH0fPhPdT3bi7dZzkJqx7YcXzzrz/hIsd8Yzfq8un7cgJirGQie2znvhPhAL3/e7fKj/RsoUuspNtTnVWAAc/Kn3BYs2m/I/TcERmYVxVhbqM8/S9+DHWMm7At0WV/z8y9dM7OTMZ6kd5we9esr+qnlY=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Thread-Topic: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
Thread-Index:
 AQHYs7NVSZ6RtK1DJkmDvOUuzqeVhq28SEyAgAG2wACAAAxAgIAAHKoAgAAPToCAABB1gA==
Date: Wed, 24 Aug 2022 16:35:48 +0000
Message-ID: <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
 <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
 <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org>
In-Reply-To: <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 96217c4a-c47f-4da0-5f10-08da85eebb8d
x-ms-traffictypediagnostic:
	AM6PR08MB5078:EE_|VE1EUR03FT041:EE_|PR2PR08MB4860:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 DYqhWBvU6+eCgMke3Mo8zdHI7BKTXPFfOLt4jkjmBH/uGA61j58zrtXNmD9EPTNCfSc0doViZxJaRPCbKlHRsbEx8l9NqE6GowvrG6dMMFgEGPdTJTifK2KoiNFUnvOAeDuqsc73oxPR7ZSysYHB4A371rPkZGWV6N6GaEsdlCoGJbw0WKXfQfy213lPfWZhhnPF9ac0gYB6ex6ClEK6X8ZcI5XbxBSt18yESMCpVdCcKL1TZNRwPnAiRsGC25JKxyt6UPw93+HiUBaBiDbqnIEGlFhCpJsyGdlSKwmK/cyGokl4Odwn+FhBL4wZeefkQhGXVl3OsoU3DMal3O1jkgUpAylhzUtkIJXxuNGypO6ehYaDw2oupGhE36lGCqFAcmcdX7nNCZaEBSA//U5TqJxagnQuj5RnOMWa6JLUqyuGJstWOyFEbWkVkBYZ5Qw/gEHPbucnmt076mquOvrXGPF2z45puXAvxUftpNQJOUSslXOSsRFCI6vKoURDTWY0YXOfHdo6wdqDYvhDMXXq2QZIMX3dhLrtH8QrshL1ZcuiW2LDqtlLbwb87m9MagPbAnKk9MJgnvi7bnMeg7v7+pWYkx1oG6AE/24zHZPhNt8nrNnX0eAMdpCwSTBkA/0ZCx45hzkAUHr1JVmiV+c3JkUi89e38zUPHewM1RpH03JSDxiTMLAPF1Ad4yAffwEDlnMua7nrzMyMZCcjj83/tvTTRroTV42ZkOyjypAF6UEj7z8gIAURpc2d9seBtHRxPx62V5b/tIByCa8SGoMw/56tuR13ZioRuNsEtnHsd+4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(91956017)(36756003)(86362001)(76116006)(66946007)(8676002)(66556008)(66446008)(66476007)(4326008)(64756008)(122000001)(38100700002)(38070700005)(33656002)(6486002)(26005)(6512007)(2616005)(41300700001)(71200400001)(53546011)(83380400001)(8936002)(478600001)(54906003)(6506007)(6916009)(316002)(186003)(2906002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <89EFD628C03B3C4ABA71305C492CB006@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5078
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	934d451a-014e-4d51-25a7-08da85eeb348
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wLV4P/AVWQpvo4KcHz9uwj1wWU7tqEMZj/hWZ3RpG1LAq4Sjtgi1bAbvmqDTML1exsQ4uY89NQqR4a/ulkXtR7FTqUSPjmUNMGH4fYt5ApOdR0xrlpRIfzxivTK7sMd8g7CGJ3+7E0OMjrQNui66WWeKDOUqcy8NVEhTPhcuvvlIbJe3UxzPe7iH/u/C7DndGGFElM08PGLtpk6Ii5Cmx0PUjaI8z/65Js9/AhOjhXTu5kXc1nzgecVu5LaUW1P8dsKR+vPRadJd+yu101BS8VV5VU3Zyp+lkwh20eQ5cJXsl4gPMnj3lcmcnkkDFKGHpBlECIvedEQZwc8KCGewae97jbS3Pe301ddqL9kvkLV4EUTTxfCQNGlhHGdQJdyOuYeUmrgKgr5XEjr9TEi7Kub9bF6NTxeppW3UZhmby7++U73jJa8jr7hqSt/1bEW07P1FEUIxTFzy+lv/xis94k9l/S404YYqgy873Js+WoCsCDfbrN9q6WIu8PTM97Sgo+ldLH39fKjwSZdPdpaVJf6h21A/oHHv+MJbF9USKjwDKD9KDru8Zw8SH6XS5+j8jqxYrkBTAddZD89sBqe/x60sD0RvbZ2jpRnpDtpvifWER9/XZpfw+uSI2a4dVWI6/FFt4LrPBjiOXK+RSSdX5yleKMIQ3VspRJ2H2hdayC7sTRoFFrpi9aHhm5EJcWgbfZntkZfmotkoH3PHkiraysDIBDqD2620QvMQ7SQfdb32fvrhs0TYZsctlOl7Rj1Uems2sjfxHg3y4WIA5U9b5w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(39860400002)(396003)(346002)(46966006)(40470700004)(36840700001)(83380400001)(40460700003)(81166007)(356005)(40480700001)(36756003)(82740400003)(36860700001)(70206006)(70586007)(82310400005)(33656002)(4326008)(8676002)(6862004)(6486002)(5660300002)(6506007)(478600001)(316002)(26005)(6512007)(54906003)(53546011)(86362001)(47076005)(186003)(2616005)(107886003)(336012)(2906002)(8936002)(41300700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 16:36:02.0478
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 96217c4a-c47f-4da0-5f10-08da85eebb8d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4860

SGkgSnVsaWVuDQoNCj4gT24gMjQgQXVnIDIwMjIsIGF0IDQ6MzYgcG0sIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gT24gMjQvMDgvMjAyMiAxNTo0MiwgUmFodWwg
U2luZ2ggd3JvdGU6DQo+Pj4gT24gMjQgQXVnIDIwMjIsIGF0IDE6NTkgcG0sIEp1bGllbiBHcmFs
bCA8anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPj4+IA0KPj4+IA0KPj4+IA0KPj4+IE9uIDI0LzA4
LzIwMjIgMTM6MTUsIFJhaHVsIFNpbmdoIHdyb3RlOg0KPj4+PiBIaSBKdWxpZW4sDQo+Pj4gDQo+
Pj4gSGkgUmFodWwsDQo+Pj4gDQo+Pj4+IFBsZWFzZSBsZXQgbWUga25vdyB5b3VyIHZpZXcgb24g
dGhpcy4NCj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hl
bi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KPj4+PiBpbmRleCBiZmU3YmM2YjM2Li5hMWUyM2Vl
ZTU5IDEwMDY0NA0KPj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMNCj4+Pj4g
KysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+Pj4+IEBAIC0zNTYyLDEyICszNTYy
LDcgQEAgc3RhdGljIGludCBfX2luaXQgY29uc3RydWN0X2RvbVUoc3RydWN0IGRvbWFpbiAqZCwN
Cj4+Pj4gICAgaWYgKCByYyA9PSAtRUlMU0VRIHx8DQo+Pj4+ICAgICAgcmMgPT0gLUVOT0RBVEEg
fHwNCj4+Pj4gICAgICAocmMgPT0gMCAmJiAhc3RyY21wKGRvbTBsZXNzX2VuaGFuY2VkLCDigJxl
bmFibGVk4oCdKSkgKQ0KPj4+PiAtICB7DQo+Pj4+IC0gICAgaWYgKCBoYXJkd2FyZV9kb21haW4g
KQ0KPj4+PiAgICAgICAga2luZm8uZG9tMGxlc3NfZW5oYW5jZWQgPSB0cnVlOw0KPj4+PiAtICAg
IGVsc2UNCj4+Pj4gLSAgICAgIHBhbmljKOKAnFRyaWVkIHRvIHVzZSB4ZW4sZW5oYW5jZWQgd2l0
aG91dCBkb20wXG7igJ0pOw0KPj4+PiAtICB9DQo+Pj4gDQo+Pj4gWW91IGNhbid0IHVzZSAieGVu
LGVuaGFuY2VkIiB3aXRob3V0IGRvbTAuIEluIGZhY3QsIHlvdSB3aWxsIGVuZCB1cCB0byBkZXJl
ZmVyZW5jZSBOVUxMIGluIGFsbG9jX3hlbnN0b3JlX2V2dGNobigpLiBUaGF0J3MgYmVjYXVzZSAi
eGVuLGVuaGFuY2VkIiBtZWFucyB0aGUgZG9tYWluIHdpbGwgYmUgYWJsZSB0byB1c2UgWGVuc3Rv
cmVkLg0KPj4+IA0KPj4+IE5vdyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHlvdXIgZmVhdHVyZSB3
aXRob3V0IGEgZG9tMC4gVGhlbiBJIHRoaW5rIHdlIHdhbnQgdG8gaW50cm9kdWNlIGFuIG9wdGlv
biB3aGljaCB3b3VsZCBiZSB0aGUgc2FtZSBhcyAieGVuLGVuaGFuY2VkIiBidXQgZG9lc24ndCBl
eHBvc2UgWGVuc3RvcmVkLg0KPj4gSWYgd2UgbW9kaWZ5IHRoZSBwYXRjaCBhcyBiZWxvdyB3ZSBj
YW4gdXNlIHRoZSAieGVuLGVuaGFuY2VkIiBmb3IgZG9tVXMgd2l0aG91dCBkb20wLg0KPj4gSSB0
ZXN0ZWQgdGhlIHBhdGNoIGFuZCBpdHMgd29ya3MgZmluZS4gRG8geW91IHNlZSBhbnkgaXNzdWUg
d2l0aCB0aGlzIGFwcHJvYWNoPw0KPiANCj4gWWVzLiBGb3IgdHdvIHJlYXNvbnM6DQo+IDEpIEl0
IGlzIG11ZGR5aW5nIHRoZSBtZWFuaW5nIG9mICJ4ZW4sZW5oYW5jZWQiLiBJbiBwYXJ0aWN1bGFy
IGEgdXNlciBtYXkgbm90IHJlYWxpemUgdGhhdCBYZW5zdG9yZSBpcyBub3QgYXZhaWxhYmxlIGlm
IGRvbTAgaXMgbm90IHByZXNlbnQuDQo+IDIpIEl0IHdvdWxkIGJlIG1vcmUgY29tcGxpY2F0ZWQg
dG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIFhlbnN0b3JlZCBsaXZlcyBpbiBhIG5vbi1kb20wIGRv
bWFpbi4gSSBhbSBub3QgYXdhcmUgb2YgYW55b25lIHdhbnRpbmcgdGhpcyBvbiBBcm0geWV0LCBi
dXQgSSBkb24ndCB3YW50IHRvIGNsb3NlIHRoZSBkb29yLg0KPiANCj4gU28gaWYgeW91IHdhbnQg
dG8gc3VwcG9ydCBjcmVhdGUgInhlbix4ZW4iIHdpdGhvdXQgYWxsIHRoZSByZXN0LiBUaGVuIEkg
dGhpbmsgd2UgbmVlZCBhIGRpZmZlcmVudCBwcm9wZXJ0eSB2YWx1ZS4gSSBkb24ndCBoYXZlIGEg
Z29vZCBzdWdnZXN0aW9uIGZvciB0aGUgbmFtZS4NCg0KSXMgdGhhdCBva2F5IGlmIHdlIHVzZSB0
aGUgZWFybGllciBhcHByb2FjaCwgd2hlbiB1c2VyIHNldCAgInhlbixlbmhhbmNlZCA9IGV2dGNo
buKAnSB3ZSB3aWxsIG5vdCBjYWxsIGFsbG9jX3hlbnN0b3JlX2V2dGNobigpICANCmJ1dCB3ZSBj
cmVhdGUgaHlwZXJ2aXNvciBub2RlIHdpdGggYWxsIGZpZWxkcy4NCiANCg0KUmVnYXJkcywNClJh
aHVs


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 16:39:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 16:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392870.631478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtPR-00047B-Pv; Wed, 24 Aug 2022 16:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392870.631478; Wed, 24 Aug 2022 16:39:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtPR-000472-NK; Wed, 24 Aug 2022 16:39:17 +0000
Received: by outflank-mailman (input) for mailman id 392870;
 Wed, 24 Aug 2022 16:39:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQtPQ-00046s-VW; Wed, 24 Aug 2022 16:39:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQtPQ-0000cs-T7; Wed, 24 Aug 2022 16:39:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQtPQ-0007Ad-Fy; Wed, 24 Aug 2022 16:39:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQtPQ-0005Lp-FV; Wed, 24 Aug 2022 16:39:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MRx/bVOyhWJla3IDfTPCB7TxBW6ghMJAXogx8pRC7MM=; b=fTLflZuRJgtJC0DPKBEvEXs02P
	79kLoshhODsbx2YBxLB/N0oBhceWY4BHtzR8JUPIHgSH9cq3IYsHVc9av0Hsc3M0lp7V7O/iPeLe0
	5zx9SVkP+QpiBhSjqVV2GKKOrGvU9JgeD1VNmis1ZWyAshHjynjsVGsn9df/Pbw5YVhI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172752-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172752: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c3bd0b83ea5b7c0da6542687436042eeea1e7909
X-Osstest-Versions-That:
    xen=fc151829bac48f05a307bfd5ad450b3c0ae2a808
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 16:39:16 +0000

flight 172752 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172752/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172749
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c3bd0b83ea5b7c0da6542687436042eeea1e7909
baseline version:
 xen                  fc151829bac48f05a307bfd5ad450b3c0ae2a808

Last test of basis   172749  2022-08-24 09:01:53 Z    0 days
Testing same since   172752  2022-08-24 13:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Penny Zheng <penny.zheng@arm.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fc151829ba..c3bd0b83ea  c3bd0b83ea5b7c0da6542687436042eeea1e7909 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 16:45:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 16:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392879.631490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtVh-0005cj-LF; Wed, 24 Aug 2022 16:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392879.631490; Wed, 24 Aug 2022 16:45:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtVh-0005cc-Ia; Wed, 24 Aug 2022 16:45:45 +0000
Received: by outflank-mailman (input) for mailman id 392879;
 Wed, 24 Aug 2022 16:45:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+X8Z=Y4=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1oQtVg-0005cW-63
 for xen-devel@lists.xen.org; Wed, 24 Aug 2022 16:45:44 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 314022f7-23cc-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 18:45:42 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id z2so22832527edc.1
 for <xen-devel@lists.xen.org>; Wed, 24 Aug 2022 09:45:42 -0700 (PDT)
Received: from zen.linaroharston ([185.81.254.11])
 by smtp.gmail.com with ESMTPSA id
 q5-20020aa7da85000000b0043cc66d7accsm3378590eds.36.2022.08.24.09.45.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Aug 2022 09:45:41 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id E9BB71FFB7;
 Wed, 24 Aug 2022 17:45:40 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 314022f7-23cc-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc;
        bh=UgjvIqrQtNcadbWeHjfBrKm6JtfttRT4rLl7T5Ad7HA=;
        b=vzszSV3O4uOM9Q1FmqmjXpFK4yAwJf7GRmxdV1IxNqMg4Cnh/obMfWeYBkzOkMx+R8
         XVauv0cHJpCxUQbXhAZdkY4M9xS9PJdi7d1PpolHp2u9Zl8AUbrPxqYSDrQr865RQbCN
         jPf3EskE/Kll0v5PmxESgQ445LRU3i4IUbJiyPuZzu/wI8AIFEsew6YdhhvxHhGTE000
         RzVNWxLXeGXGjd/LOpMJkq49Rq6W/tqLJuincmPYdDSccCxwagad7cL+DB1NNC8e4pYB
         czjXr+pWLgTkFeEr0Ot6yw30s3P57lc64h9sKRhlAMp+CeolMYCIHv9GRnAHzNhqkORH
         IF8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc;
        bh=UgjvIqrQtNcadbWeHjfBrKm6JtfttRT4rLl7T5Ad7HA=;
        b=4ADQ6SlY9r/tfVMBLyUrpIE0uIuISJbdi/1SPxg/qidFUZJWqBEyWhQDAysL/FgjwW
         Dm46mtMNeSYxUFawt2xFMtQ5WQ6fje6PglqaDATmPYphMcrvB+FP2Su4pj88rpwe98cV
         QdOI/X+EUopO7cx3lybNHVhleU+u5pW0zKwud+DBsZH6fOoUh2wRTdVtTkcL95652aIS
         1C4RC3wFcovBzWe8LkCYE58U/oJ5m/B683esI210QXP+QsqwJcMRk/vtjJonkMIN3DCq
         PIky2uG7eyVsHu4obFaCmADbGgHBp5PDPZ3BrpsEZjtEyTaRLb1r2cRp5ljNOLE3P/Oj
         49xw==
X-Gm-Message-State: ACgBeo1xrSyXMCyYJhg70O0EA2HxycXpILE8It97u1spnymszy9j7pj6
	5JHTJEz1nh0z6oq618Xk/fIZSg==
X-Google-Smtp-Source: AA6agR5U1eg5th4kiv4RzrvNQ23r/owNL+FRAAesd+J0ChtKZObJOnlmK80hBv5SiqUyL8aK6amf6w==
X-Received: by 2002:a05:6402:2813:b0:447:2be4:a5d0 with SMTP id h19-20020a056402281300b004472be4a5d0mr6399583ede.104.1661359542145;
        Wed, 24 Aug 2022 09:45:42 -0700 (PDT)
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com>
 <877d2xj23o.fsf@linaro.org>
 <edc33ca4-135e-111a-e198-38b9bae53005@suse.com>
User-agent: mu4e 1.9.0; emacs 28.1.91
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>, Viresh Kumar
 <viresh.kumar@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
 "Stratos-dev@op-lists.linaro.org" <Stratos-dev@op-lists.linaro.org>,
 "mathieu.poirier@linaro.com" <mathieu.poirier@linaro.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
 "vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
 "olekstysh@gmail.com" <olekstysh@gmail.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
Date: Wed, 24 Aug 2022 16:58:03 +0100
In-reply-to: <edc33ca4-135e-111a-e198-38b9bae53005@suse.com>
Message-ID: <87y1vdh9or.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Juergen Gross <jgross@suse.com> writes:

> [[PGP Signed Part:Undecided]]
> On 24.08.22 13:22, Alex Benn=C3=A9e wrote:
>> Andrew Cooper <Andrew.Cooper3@citrix.com> writes:
>>=20
>>> On 24/08/2022 10:19, Viresh Kumar wrote:
>>>> On 24-03-22, 06:12, Juergen Gross wrote:
>>>>> For a rather long time we were using "normal" user pages for this pur=
pose,
>>>>> which were just locked into memory for doing the hypercall.
>>>>>
>>>>> Unfortunately there have been very rare problems with that approach, =
as
>>>>> the Linux kernel can set a user page related PTE to invalid for short
>>>>> periods of time, which led to EFAULT in the hypervisor when trying to
>>>>> access the hypercall data.
>>>>>
>>>>> In Linux this can avoided only by using kernel memory, which is the
>>>>> reason why the hypercall buffers are allocated and mmap()-ed through =
the
>>>>> privcmd driver.
>>>> Hi Juergen,
>>>>
>>>> I understand why we moved from user pages to kernel pages, but I don't
>>>> fully understand why we need to make two separate calls to map the
>>>> guest memory, i.e. mmap() followed by ioctl(IOCTL_PRIVCMD_MMAPBATCH).
>>>>
>>>> Why aren't we doing all of it from mmap() itself ? I hacked it up to
>>>> check on it and it works fine if we do it all from mmap() itself.
>> As I understand it the MMAPBATCH ioctl is being treated like every
>> other
>> hypercall proxy through the ioctl interface. Which makes sense from the
>> point of view of having a consistent interface to the hypervisor but not
>> from point of view of providing a consistent userspace interface for
>> mapping memory which doesn't care about the hypervisor details.
>> The privcmd_mmapbatch_v2 interface is slightly richer than what you
>> could expose via mmap() because it allows the handling of partial
>> mappings with what I presume is a per-page *err array. If you issued the
>> hypercall directly from the mmap() and one of the pages wasn't mapped by
>> the hypervisor you would have to unwind everything before returning
>> EFAULT to the user.
>>=20
>>>> Aren't we abusing the Linux userspace ABI here ? As standard userspace
>>>> code would expect just mmap() to be enough to map the memory. Yes, the
>>>> current user, Xen itself, is adapted to make two calls, but it breaks
>>>> as soon as we want to use something that relies on Linux userspace
>>>> ABI.
>>>>
>>>> For instance, in our case, where we are looking to create
>>>> hypervisor-agnostic virtio backends, the rust-vmm library [1] issues
>>>> mmap() only and expects it to work. It doesn't know it is running on a
>>>> Xen system, and it shouldn't know that as well.
>>>
>>> Use /dev/xen/hypercall which has a sane ABI for getting "safe" memory.
>>> privcmd is very much not sane.
>>>
>>> In practice you'll need to use both.=C2=A0 /dev/xen/hypercall for getti=
ng
>>> "safe" memory, and /dev/xen/privcmd for issuing hypercalls for now.
>> I'm unsure what is meant by safe memory here. privcmd_buf_mmap()
>> looks
>> like it just allocates a bunch of GFP_KERNEL pages rather than
>> interacting with the hypervisor directly. Are these the same pages that
>> get used when you eventually call privcmd_ioctl_mmap_batch()?
>
> privcmd_buf_mmap() is allocating kernel pages which are used for data bei=
ng
> accessed by the hypervisor when doing the hypercall later. This is a gene=
ric
> interface being used for all hypercalls, not only for
> privcmd_ioctl_mmap_batch().
>
>> The fact that /dev/xen/hypercall is specified by xen_privcmdbuf_dev is a
>> little confusing TBH.
>> Anyway the goal here is to provide a non-xen aware userspace with
>> standard userspace API to access the guests memory. Perhaps messing
>
> This is what the Xen related libraries are meant for. Your decision to
> ignore those is firing back now.

We didn't ignore them - the initial version of the xen-vhost-master
binary was built with the rust and linking to the Xen libraries. We are
however in the process of moving to more pure rust (with the xen-sys
crate being a pure rust ioctl/hypercall wrapper).

However I was under the impression there where two classes of
hypercalls. ABI stable ones which won't change (which is all we are
planning to implement for xen-sys) and non-stable ABIs which would need
mediating by the xen libs. We are hoping we can do all of VirtIO with
just the stable ABI.

>> around with the semantics of the /dev/xen/[hypercall|privcmd] devices
>> nodes is too confusing.
>> Maybe we could instead:
>>   1. Have the Xen aware VMM ask to make the guests memory visible to
>> the
>>      host kernels address space.
>
> Urgh. This would be a major breach of the Xen security concept.
>
>>   2. When this is done explicitly create a device node to represent it (=
/dev/xen/dom-%d-mem?)
>>   3. Pass this new device to the non-Xen aware userspace which uses the
>>      standard mmap() call to make the kernel pages visible to userspace
>> Does that make sense?
>
> Maybe from your point of view, but not from the Xen architectural point
> of view IMHO. You are removing basically the main security advantages of
> Xen by generating a kernel interface for mapping arbitrary guest memory
> easily.

We are not talking about doing an end-run around the Xen architecture.
The guest still has to instruct the hypervisor to grant access to its
memory. Currently this is a global thing (i.e. whole address space or
nothing) but obviously more fine grained grants can be done on a
transaction by transaction basis although we are exploring more
efficient mechanisms for this (shared pools and carve outs).

This does raise questions for the mmap interface though - each
individually granted region would need to be mapped into the dom0
userspace virtual address space or perhaps a new flag for mmap() so we
can map the whole address space but expect SIGBUS faults if we access
something that hasn't been granted.

>
>
> Juergen
>
> [2. OpenPGP public key --- application/pgp-keys; OpenPGP_0xB0DE9DD628BF13=
2F.asc]...
>
> [[End of PGP Signed Part]]


--=20
Alex Benn=C3=A9e


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 16:53:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 16:53:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392885.631501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtdO-000756-Ds; Wed, 24 Aug 2022 16:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392885.631501; Wed, 24 Aug 2022 16:53:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtdO-00074z-Ai; Wed, 24 Aug 2022 16:53:42 +0000
Received: by outflank-mailman (input) for mailman id 392885;
 Wed, 24 Aug 2022 16:53:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQtdN-00074p-A7; Wed, 24 Aug 2022 16:53:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQtdN-0000t4-5r; Wed, 24 Aug 2022 16:53:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQtdM-00089j-QT; Wed, 24 Aug 2022 16:53:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQtdM-0007ps-Q2; Wed, 24 Aug 2022 16:53:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=j1M6xHw7DuDyPtwSaG3aiAAYSvNsYaAghCPz4p5tr6U=; b=VhvAIJTnXAezE7p+pNmbjMjtFZ
	BiUgHOBeY9QTR+9h98rlFEvwePPHY3k/XKvXd2JPNnSdBMETHhiMuWqAUyd5tOqVD8fHutzH0ADnj
	j0f3r2xGlcKnGYlbBResdSi/bCNoeyyrH3riD8Y3FwdNc6Pz1YzfrsUyFsvRTTZ+tjnA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172745-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172745: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 16:53:40 +0000

flight 172745 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172745/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd      13 guest-start                fail pass in 172736
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 172736

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-vhd      13 guest-start         fail in 172736 like 172108
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172736 like 172128
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 172736 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 172736 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   20 days
Testing same since   172384  2022-08-11 11:13:58 Z   13 days   27 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 16:58:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 16:58:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392894.631512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtiJ-0007mN-8t; Wed, 24 Aug 2022 16:58:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392894.631512; Wed, 24 Aug 2022 16:58:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQtiJ-0007mG-5X; Wed, 24 Aug 2022 16:58:47 +0000
Received: by outflank-mailman (input) for mailman id 392894;
 Wed, 24 Aug 2022 16:58:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QLoP=Y4=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1oQtiH-0007mA-Oy
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 16:58:45 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03424e19-23ce-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 18:58:44 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id a22so22836521edj.5
 for <xen-devel@lists.xenproject.org>; Wed, 24 Aug 2022 09:58:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03424e19-23ce-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=lvoSgRhX/hM984Dpk6jU2OyZt21ntG02d4eiR1/0+VA=;
        b=phMP3IztTh8uDiEacRA41+PFn2bxHyxl6Gke5lBz2zyktfJo8ZeRa/dbd6hO9VFwji
         QnE3uMfh7JiRfS0NYzVAZiyv/8W5z1QkrpbNHQNQI69um2KkU/mv3/kt97Qpkge6im80
         DfC/YQs3EOG+vnevdneMFbJ14M2/eQlRiQSnCbEo0Jnbp7SFULygeCW6rChI63f7oSaF
         QJLUFY44iIC69tLUwDvWJ/XWbS6ZaTIRbRum3L+dST7+apUJgY+BljjzAUAipDVyQAdL
         Br8sdlhbt8h7OQiSGDXTDQERcuHxSvMb3knUQhi4sGbcK9657Zh+gVfMKtlo0RTadXAI
         rgiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=lvoSgRhX/hM984Dpk6jU2OyZt21ntG02d4eiR1/0+VA=;
        b=kVKOCpa3djEHiO4ohhcPlse3lN6638Jxy5bqNsZa/d9H1Yp45LYcIoSV3/gDgH3Fba
         GoodZIMx6QtVDD2dKarPh55komF0Y8GqQNKv1iPL7N8fzpc4IAAztWwNPRE4ok4oH9gf
         H12Ak/4uJr7ZzdLXQGQmbKXfyFkUdlDHOyehZwrYvljvn2aGvd8zUxoReEqnnjWNBHIs
         9Y49IDqXT5PMfabXTP3V/YhExVrjNGktKmwlJEfXeWzliqNEsT1tdhbMxIwFCAlO6TXT
         JE4bUy9nkarzY1hq3v+jsXEOY7Ra/Lkl9pm6I0qnaODk1iLRgHu1Y/z/MdtbQEfBIK39
         UMDA==
X-Gm-Message-State: ACgBeo2ZdOyDG2pgbFLFlWcOHU/IEnwwGo1yCytyU2Y8BGcw4hI4i/Dz
	yjUxMNmJUw9/mEY9yLp7FDrYyWB+c5gDlEw9+0s=
X-Google-Smtp-Source: AA6agR73vvdhz2gioDBacL1TKdnge0n2f8pz2jsTiUqzMnL6cb6dveCeu9yvnr4XrGbm3kcFmSWbOzOlIO1Oo8kRkfk=
X-Received: by 2002:a05:6402:5388:b0:435:71b:5d44 with SMTP id
 ew8-20020a056402538800b00435071b5d44mr8029327edb.364.1661360323963; Wed, 24
 Aug 2022 09:58:43 -0700 (PDT)
MIME-Version: 1.0
References: <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
 <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com>
In-Reply-To: <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Wed, 24 Aug 2022 22:27:30 +0530
Message-ID: <CALAP8f_=NztOC9FKYnrCyknOM4jf27cRqjJ9+7UqOEH6qCAD8Q@mail.gmail.com>
Subject: Re: Porting xen on rpi4
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org" <julien@xen.org>
Content-Type: multipart/alternative; boundary="000000000000f42f0305e6ff97ed"

--000000000000f42f0305e6ff97ed
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

Thanks for your response!

I builded the guest image on yocto kirkstone source which has FSTYPE ext3.
Guest image generated is xen-guest-image-minimal-raspberrypi4-64.ext3.
Below is the content of guest.cfg file

*   kernel =3D "/home/root/Image" *
*   cmdline =3D "console=3Dhvc0 earlyprintk=3Dxen sync_console root=3D/dev/=
xvda" *
*   memory =3D "256" *
*   name =3D "guest1" *
*   vcpus =3D 1 *
*   serial=3D"pty" *
*   disk =3D [ 'phy:/dev/loop0,xvda,w' ] *
*   vif=3D[ 'mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront', ]*

I am trying to mount xen-guest-image-minimal-raspberrypi4-64.ext3 to a
virtual device & then will run the guest VM by command "xl create -c
guest.cfg". But facing issue while trying to mount.

Regards,
Vipul Kumar

On Wed, Aug 24, 2022 at 8:06 PM Bertrand Marquis <Bertrand.Marquis@arm.com>
wrote:

> Hi Vipul,
>
> > On 24 Aug 2022, at 15:16, Vipul Suneja <vsuneja63@gmail.com> wrote:
> >
> > Hi,
> >
> > I am porting xen hypervisor on rpi4 with yocto kirkstone sources.
> Followed the basic steps to build xen-image-minimal &
> xen-guest-image-minimal. I could flash sd card with xen minimal image &
> could see dom0 up. I copied "Image", "xen-guest-image-minimal" .ext3 file=
 &
> guest.cfg to "/home/root". After that created a bridge with below step:
> >
> > killall -SIGUSR2 udhcpc
> > brctl addbr xenbr0
> > brctl addif xenbr0 eth0
> > killall udhcpc
> > udhcpc -R -b -p /var/run/udhcpc.xenbr0.pid -i xenbr0
> >
> > Could see the xenbr0 interface up.
> > After that while mounting the guest file system it shows no such file o=
r
> directory but the file is already there.
> >
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
> > [23:40:15] <Guest9046> -rw-r--r--    1 root     root      24652288 Mar
> 9 12:36 Image
> > [23:40:15] <Guest9046> -rw-r--r--    1 root     root           247 Mar
> 9 12:37 guest1.cfg
> > [23:40:15] <Guest9046> -rw-r--r--    1 root     root     868220928 Mar
> 9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~# chmod 0777
> xen-guest-image-minimal-raspberrypi4-64.ext3
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
> > [23:40:15] <Guest9046> -rw-r--r--    1 root     root      24652288 Mar
> 9 12:36 Image
> > [23:40:15] <Guest9046> -rw-r--r--    1 root     root           247 Mar
> 9 12:37 guest1.cfg
> > [23:40:15] <Guest9046> -rwxrwxrwx    1 root     root     868220928 Mar
> 9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup /dev/loop0
> xen-guest-image-minimal-raspberrypi4-64.ext3
> > [23:40:15] <Guest9046> losetup:
> xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup /dev/loop0
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
> > [23:40:15] <Guest9046> losetup:
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
> directory
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup /dev/loop0
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
> > [23:40:15] <Guest9046> losetup:
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
> directory
>
> Why do you want to mount the file system ?
>
> Anyway this is not related to Xen, I guess you could start without xen an=
d
> still not manage to mount the file like that (linux configuration issue ?=
)
>
> What is the content of you guest.cfg
> How do you want to pass the guest root file system ?
>
> Yocto should actually generate an img file and you could use it by having
> something like this in your guest.cfg:
> disk=3D["file:/home/root/guest1.img,xvda,w=E2=80=9D]
>
> Cheers
> Bertrand
>
> >
> > Any input on this issue will be really helpful, expecting your response=
.
> >
> > Thanks & Regards,
> > Vipul Kumar
>
>

--000000000000f42f0305e6ff97ed
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Bertrand,<div><br></div><div>Thanks for your response!<=
/div><div><br></div><div>I builded the guest image on yocto kirkstone sourc=
e which has FSTYPE ext3. Guest image generated is xen-guest-image-minimal-r=
aspberrypi4-64.ext3.</div><div>Below is the content of guest.cfg file</div>=
<div><br></div><div><b>=C2=A0 =C2=A0kernel =3D &quot;/home/root/Image&quot;=
=C2=A0</b></div><div><b>=C2=A0 =C2=A0cmdline =3D &quot;console=3Dhvc0 early=
printk=3Dxen sync_console root=3D/dev/xvda&quot;=C2=A0</b></div><div><b>=C2=
=A0 =C2=A0memory =3D &quot;256&quot;=C2=A0</b></div><div><b>=C2=A0 =C2=A0na=
me =3D &quot;guest1&quot;=C2=A0</b></div><div><b>=C2=A0 =C2=A0vcpus =3D 1=
=C2=A0</b></div><div><b>=C2=A0 =C2=A0serial=3D&quot;pty&quot;=C2=A0</b></di=
v><div><b>=C2=A0 =C2=A0disk =3D [ &#39;phy:/dev/loop0,xvda,w&#39; ]=C2=A0</=
b></div><div><b>=C2=A0 =C2=A0vif=3D[ &#39;mac=3D00:11:22:66:88:22,bridge=3D=
xenbr0,type=3Dnetfront&#39;, ]</b><br></div><div><br></div><div>I am trying=
 to mount xen-guest-image-minimal-raspberrypi4-64.ext3 to a virtual device =
&amp; then will run the guest VM by command &quot;xl create -c guest.cfg&qu=
ot;. But facing issue while trying to mount.=C2=A0</div><div><br></div><div=
>Regards,</div><div>Vipul Kumar</div></div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr" class=3D"gmail_attr">On Wed, Aug 24, 2022 at 8:06 PM Bertra=
nd Marquis &lt;<a href=3D"mailto:Bertrand.Marquis@arm.com">Bertrand.Marquis=
@arm.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">Hi Vipul,<br>
<br>
&gt; On 24 Aug 2022, at 15:16, Vipul Suneja &lt;<a href=3D"mailto:vsuneja63=
@gmail.com" target=3D"_blank">vsuneja63@gmail.com</a>&gt; wrote:<br>
&gt; <br>
&gt; Hi,<br>
&gt; <br>
&gt; I am porting xen hypervisor on rpi4 with yocto kirkstone sources. Foll=
owed the basic steps to build xen-image-minimal &amp; xen-guest-image-minim=
al. I could flash sd card with xen minimal image &amp; could see dom0 up. I=
 copied &quot;Image&quot;, &quot;xen-guest-image-minimal&quot; .ext3 file &=
amp; guest.cfg to &quot;/home/root&quot;. After that created a bridge with =
below step:<br>
&gt; <br>
&gt; killall -SIGUSR2 udhcpc<br>
&gt; brctl addbr xenbr0<br>
&gt; brctl addif xenbr0 eth0<br>
&gt; killall udhcpc<br>
&gt; udhcpc -R -b -p /var/run/udhcpc.xenbr0.pid -i xenbr0 <br>
&gt; <br>
&gt; Could see the xenbr0 interface up.<br>
&gt; After that while mounting the guest file system it shows no such file =
or directory but the file is already there.<br>
&gt; <br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~# ls -l<br>
&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=
=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 24652288 Mar=C2=A0 9 12:36 Image<br>
&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=
=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0247 Mar=C2=A0 9 12:3=
7 guest1.cfg<br>
&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=
=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0868220928 Mar=C2=A0 9 12:39 xen-guest-ima=
ge-minimal-raspberrypi4-64.ext3<br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~# chmod 0777 xen-gu=
est-image-minimal-raspberrypi4-64.ext3<br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~# ls -l<br>
&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=
=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 24652288 Mar=C2=A0 9 12:36 Image<br>
&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=
=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0247 Mar=C2=A0 9 12:3=
7 guest1.cfg<br>
&gt; [23:40:15] &lt;Guest9046&gt; -rwxrwxrwx=C2=A0 =C2=A0 1 root=C2=A0 =C2=
=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0868220928 Mar=C2=A0 9 12:39 xen-guest-ima=
ge-minimal-raspberrypi4-64.ext3<br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~# losetup /dev/loop=
0 xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt; [23:40:15] &lt;Guest9046&gt; losetup: xen-guest-image-minimal-raspberr=
ypi4-64.ext3: No such file or directory<br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~# losetup /dev/loop=
0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt; [23:40:15] &lt;Guest9046&gt; losetup: /home/root/xen-guest-image-minim=
al-raspberrypi4-64.ext3: No such file or directory<br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~#<br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~#<br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~#<br>
&gt; [23:40:15] &lt;Guest9046&gt; root@raspberrypi4-64:~# losetup /dev/loop=
0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt; [23:40:15] &lt;Guest9046&gt; losetup: /home/root/xen-guest-image-minim=
al-raspberrypi4-64.ext3: No such file or directory<br>
<br>
Why do you want to mount the file system ?<br>
<br>
Anyway this is not related to Xen, I guess you could start without xen and =
still not manage to mount the file like that (linux configuration issue ?)<=
br>
<br>
What is the content of you guest.cfg<br>
How do you want to pass the guest root file system ?<br>
<br>
Yocto should actually generate an img file and you could use it by having s=
omething like this in your guest.cfg:<br>
disk=3D[&quot;file:/home/root/guest1.img,xvda,w=E2=80=9D]<br>
<br>
Cheers<br>
Bertrand<br>
<br>
&gt; <br>
&gt; Any input on this issue will be really helpful, expecting your respons=
e.<br>
&gt; <br>
&gt; Thanks &amp; Regards,<br>
&gt; Vipul Kumar<br>
<br>
</blockquote></div>

--000000000000f42f0305e6ff97ed--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 17:45:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 17:45:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392900.631522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQuQx-0004Ne-PK; Wed, 24 Aug 2022 17:44:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392900.631522; Wed, 24 Aug 2022 17:44:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQuQx-0004NX-Mm; Wed, 24 Aug 2022 17:44:55 +0000
Received: by outflank-mailman (input) for mailman id 392900;
 Wed, 24 Aug 2022 17:44:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8soK=Y4=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oQuQw-0004NR-Ej
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 17:44:54 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73b6f64b-23d4-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 19:44:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5C92161528;
 Wed, 24 Aug 2022 17:44:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 546FAC433C1;
 Wed, 24 Aug 2022 17:44:48 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73b6f64b-23d4-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661363088;
	bh=umo1O/ZghnceXqQ1qpVYaFZemPO33EDuodemYwMiPy0=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=BVKUIhTf6OhXV4INuNnDni6cMxttTGrj5M+lywS4IUZEtYKLO03+2ngwttxirlEW2
	 0HS9vu7Se4D4lmWfsowCJTCNc9lvk7jiT0zT1xjK6MqahwMO1IqYcxzdCnvvaJZtpE
	 6sIZw52ZB67O/xAlHqGJAumgZHwlW24Z2v2JgJqBAqaWWQ4W+ePjakR8kfJSOo0x4w
	 Ht9z8TGIPd5rNvOhkfKbEhab35umcEM+Vea/d+gKERhCF0o1D4coa6NIqQNpq4RwK1
	 v8BbakmxYBsPXldYea5zObXHbOWG68hTZkBJAzdKqF/luKDnNIY6mGXDMnGvXKX7+X
	 w8PmxBxCBVDmA==
From: SeongJae Park <sj@kernel.org>
To: Juergen Gross <jgross@suse.com>
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>,
	SeongJae Park <sjpark@amazon.com>,
	Maximilian Heyne <mheyne@amazon.de>
Subject: =?UTF-8?q?Re=3A=20=E2=80=9CBackend=20has=20not=20unmapped=20grant=E2=80=9D=20errors?=
Date: Wed, 24 Aug 2022 17:44:42 +0000
Message-Id: <20220824174442.105245-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com>
References: 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

On Wed, 24 Aug 2022 08:02:40 +0200 Juergen Gross <jgross@suse.com> wrote:

> 
> [-- Attachment #1.1.1: Type: text/plain, Size: 4312 bytes --]
> 
> On 24.08.22 02:20, Marek Marczykowski-GÃ³recki wrote:
> > FWIW, I hit this issue twice already in this week CI run, while it never
> > happened before. The difference compared to previous run is Linux
> > 5.15.57 vs 5.15.61. The latter reports persistent grants disabled. The
> > only related commits I see there are three commits indeed related to
> > persistent grants:
> > 
> >    c98e956ef489 xen-blkfront: Apply 'feature_persistent' parameter when connect
> >    ef26b5d530d4 xen-blkback: Apply 'feature_persistent' parameter when connect
> >    7304be4c985d xen-blkback: fix persistent grants negotiation
> > 
> > But none of the commit messages suggests intentional disabling it
> > without explicit request for doing so. I did not requested disabling it
> > in toolstack (although I have set backend as "trusted" - XSA-403).
> > I have confirmed it's the frontend version that matters. Running older
> > frontend kernel with 5.15.61 backend results in persistent grants
> > enabled (and both frontend and backend xenstore "feature-persistent"
> > entries are "1" in this case).
> 
> This is a mess.
> 
> I think the main problem seems to be that the feature negotiation process
> isn't specified in a sane way.
> 
>  From the blkif.h header:
> 
> Backend-side:
>   * feature-persistent
>   *      Values:         0/1 (boolean)
>   *      Default Value:  0
>   *      Notes: 7
>   *
>   *      A value of "1" indicates that the backend can keep the grants used
>   *      by the frontend driver mapped, so the same set of grants should be
>   *      used in all transactions. The maximum number of grants the backend
>   *      can map persistently depends on the implementation, but ideally it
>   *      should be RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST. Using this
>   *      feature the backend doesn't need to unmap each grant, preventing
>   *      costly TLB flushes. The backend driver should only map grants
>   *      persistently if the frontend supports it. If a backend driver chooses
>   *      to use the persistent protocol when the frontend doesn't support it,
>   *      it will probably hit the maximum number of persistently mapped grants
>   *      (due to the fact that the frontend won't be reusing the same grants),
>   *      and fall back to non-persistent mode. Backend implementations may
>   *      shrink or expand the number of persistently mapped grants without
>   *      notifying the frontend depending on memory constraints (this might
>   *      cause a performance degradation).
> 
> Frontend-side:
>   * feature-persistent
>   *      Values:         0/1 (boolean)
>   *      Default Value:  0
>   *      Notes: 7, 8, 9
>   *
>   *      A value of "1" indicates that the frontend will reuse the same grants
>   *      for all transactions, allowing the backend to map them with write
>   *      access (even when it should be read-only). If the frontend hits the
>   *      maximum number of allowed persistently mapped grants, it can fallback
>   *      to non persistent mode. This will cause a performance degradation,
>   *      since the the backend driver will still try to map those grants
>   *      persistently. Since the persistent grants protocol is compatible with
>   *      the previous protocol, a frontend driver can choose to work in
>   *      persistent mode even when the backend doesn't support it.
> 
> Those definitions don't make clear, which side is the one to decide whether
> the feature should be used or not. In my understanding the related drivers
> should just advertise their setting (the _ability_ to use the feature), and
> it should be used only if both sides have written a "1".
> 
> With above patches applied, the frontend will set 'feature-persistent' in
> Xenstore only, if the backend has done so, but the backend will set it
> only, if the frontend has done it. This results in persistent grants
> always being disabled.

Sorry for making the mess, and thank you for the kind report and detailed
explanation of the problem.

> 
> This is wrong, as the value written should not reflect the current state
> of the interface. That state should be set according to both sides' value,
> probably a cached one on the blkback side (using a new flag for caching it,
> not the current state).

Agreed.  So, I think the issue comes from the fact that we are using one field,
which was a place for saving only the negotiation result, for yet another
purpose: caching of the parameter value.  As a result, the advertisement, which
should follow only the parameter value, becomes inconsistent.

How about simply adding another field for the caching purpose, so that the
advertisation could be done regardless of the negotiation?  For example:

diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index bda5c815e441..a28473470e66 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -226,6 +226,9 @@ struct xen_vbd {
 	sector_t		size;
 	unsigned int		flush_support:1;
 	unsigned int		discard_secure:1;
+	/* Connect-time cached feature_persistent parameter value */
+	unsigned int		feature_gnt_persistent_parm:1;
+	/* Persistent grants feature negotiation result */
 	unsigned int		feature_gnt_persistent:1;
 	unsigned int		overflow_max_grants:1;
 };
diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index ee7ad2fb432d..c0227dfa4688 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -907,7 +907,7 @@ static void connect(struct backend_info *be)
 	xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support);
 
 	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
-			be->blkif->vbd.feature_gnt_persistent);
+			be->blkif->vbd.feature_gnt_persistent_parm);
 	if (err) {
 		xenbus_dev_fatal(dev, err, "writing %s/feature-persistent",
 				 dev->nodename);
@@ -1085,7 +1085,9 @@ static int connect_ring(struct backend_info *be)
 		return -ENOSYS;
 	}
 
-	blkif->vbd.feature_gnt_persistent = feature_persistent &&
+	blkif->vbd.feature_gnt_persistent_parm = feature_persistent;
+	blkif->vbd.feature_gnt_persistent =
+		blkif->vbd.feature_gnt_persistent_parm &&
 		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
 
 	blkif->vbd.overflow_max_grants = 0;
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 8e56e69fb4c4..dfae08115450 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -213,6 +213,9 @@ struct blkfront_info
 	unsigned int feature_fua:1;
 	unsigned int feature_discard:1;
 	unsigned int feature_secdiscard:1;
+	/* Connect-time cached feature_persistent parameter */
+	unsigned int feature_persistent_parm:1;
+	/* Persistent grants feature negotiation result */
 	unsigned int feature_persistent:1;
 	unsigned int bounce:1;
 	unsigned int discard_granularity;
@@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
 		goto abort_transaction;
 	}
 	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
-			info->feature_persistent);
+			info->feature_persistent_parm);
 	if (err)
 		dev_warn(&dev->dev,
 			 "writing persistent grants feature to xenbus");
@@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
 	if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
 		blkfront_setup_discard(info);
 
-	if (feature_persistent)
+	info->feature_persistent_parm = feature_persistent;
+	if (info->feature_persistent_parm)
 		info->feature_persistent =
 			!!xenbus_read_unsigned(info->xbdev->otherend,
 					       "feature-persistent", 0);


Thanks,
SJ

> 
> The blkif.h comments should be updated to make it clear that the values in
> Xenstore don't reflect the state of the connection, but the availability of
> the feature in the related driver.
> 
> Comments?
> 
> 
> Juergen


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 17:51:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 17:51:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392906.631534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQuXE-0005nM-F8; Wed, 24 Aug 2022 17:51:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392906.631534; Wed, 24 Aug 2022 17:51:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQuXE-0005nF-C9; Wed, 24 Aug 2022 17:51:24 +0000
Received: by outflank-mailman (input) for mailman id 392906;
 Wed, 24 Aug 2022 17:51:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MeM+=Y4=epam.com=prvs=0235cd059d=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1oQuXD-0005n7-8p
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 17:51:23 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c5d0d60-23d5-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 19:51:21 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27OE4FHY028505;
 Wed, 24 Aug 2022 17:50:47 GMT
Received: from eur02-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2059.outbound.protection.outlook.com [104.47.6.59])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3j5jafj76j-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 24 Aug 2022 17:50:47 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by DB6PR0301MB2455.eurprd03.prod.outlook.com (2603:10a6:4:5a::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug
 2022 17:50:43 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387%2]) with mapi id 15.20.5546.022; Wed, 24 Aug 2022
 17:50:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c5d0d60-23d5-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oFcw82MWSTnzXyi831dlFU//cr7Day3lJTLWqCdInZnJIJ/azHX6xFX3b7pIMLHOKtKzp1qxE8howkK4jTUD5RfsZIiTGvzT+FT7ktgC9BYp59J6TNUFphLvK2mjExZ1+MlEkduEnWughJ5IBbBUGUw6USGHebXO0orU/Sbobed7gibzBDHKNH1hhj6mLY0JsltTkvD9/7LMvuhWHmGyaytET8ISEjutGMESxx9CisemRD96cNGy/GSJcOhG+c+mKFRZCSqOKVdEHxwHWqJ1sovHcPkTkNhulZtF3moXRBojYBSmBIK71qdhylmKvdV03hHjibZN8S9sa3aYEB11vg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LM8kc3a0fmuHvGUBGoYLxN9QFvztpogZ8mFPitAQs/U=;
 b=ik3RoHnLl/Rz0US9u4ALdbDQAJQF5Iqg7Sf9SyN+ZLepj0scXpbG/lwzzmPnXFztA3hvqVs8NAleWLghAG0uxqAvKkbcvPb3vcu1MT5RXW2dT8FJTNVJ6INohVp7Kd7wnezzCIr+il+dkKio6Od0OD9tXzl+cC85/qxO0UQPI92Hrj81k9MMp3YH/QvvLV6OQIsimGGP21/56kSEnMMPbwOJSGT2QT2WN6CvaL0IWAJ+VVff97W+6fYz2BNFkU4D1ZJ1gEKKHRdvYFkogT4AvWrBIIrCcG9TY6+JgJzzaUrRdcLywqZctORJyrmjaJaqolCIlxalcWPJDmnBdicZ4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LM8kc3a0fmuHvGUBGoYLxN9QFvztpogZ8mFPitAQs/U=;
 b=n1p2mRKJZU+3TDm5vq4rbL1wyLyLB2KOl0HHRwY7gntgFCAvxC15i9BQapf3kh7sKxAEJoV6p5ISmCP9QuGh0jR/muGFQ61UuuHfjqMhUS4bWuPqx+tu7bM7onTh35uMYjzXvkwJFvvUIe4cPLAbux4kqkOCgehRE0cVfYG92HQo1W3vHGrS2XeDNzQviMJjvYoV2uqoZi8Cx4tqk0EajgL+wPnbrvOFJQgdtDc9qeUDHWlTdFmSzGOhDHR/kvVtPv+UmNZhidvTm7DZR2PKBM7ChhL+7fn7cZdr/eL+L3u1X3/TMkOd4+ZNEuFMt5GEH5vKhiE3bqRYA38EV91Xpg==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "stable@vger.kernel.org"
	<stable@vger.kernel.org>,
        Rustam Subkhankulov <subkhankulov@ispras.ru>
Subject: Re: [PATCH] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Thread-Topic: [PATCH] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Thread-Index: AQHYt8WobNhf1hcK4Em8o6Kwco0uKK2+VHwA
Date: Wed, 24 Aug 2022 17:50:43 +0000
Message-ID: <ea8e2e7d-cfbd-08a5-7ba3-a51e4e3d3294@epam.com>
References: <20220824142634.20966-1-jgross@suse.com>
In-Reply-To: <20220824142634.20966-1-jgross@suse.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b44ef4fa-1c54-4e0a-b6b4-08da85f92aaa
x-ms-traffictypediagnostic: DB6PR0301MB2455:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 MrQf2deX1ZlLXediEgndyWk520xjSCyXgE78RudOyTia3FJea7kJy+Qb4asTfwyY3Xq4IMny+el9NdGeCNWvyC7XFrIr0keDSjcq23b50EXhy90Dpa0KO/GpzAH+E1Pb4AbnoFOGeM1UCUzuNN02kOGiGL+NV1DbRt+7gEaMJ00N/r99nyJtRtucOi7k1umE1gWSJY6DWv3GzxRaLlNKBNlI9EA28gtllvjvfJjjvBy9G1ysUkUd5IDtGbBXAzZqjB8yGsQ/+tAfw/xDoAtZBYrXOZ7QfmAFxdYl31ND4zGTBAaHG82NFT01Iy7rT0Zp4+zisyA6dbGfTOdJDNpqwA4eIPjmYG3yhZVhlH1LObog4cHIhCsE+c5NNSDddKiBlC4yoxgGf6S923h3N7Z5oD6d5zihkNav60IQ1b/G1CEQSqtJAtbyCSgnempg6UftGIJ/+FohbTOzL0I5Ri9e6rIw+o2SuvK52T5L9jXrTJB7QfQU3cx7Fio2Bf9oW13sh0k6SxxSfnTMRsQVBu57tEXXC0LwLpRq/xIixoowURGzHAuE2agzvxs88qdt9CfrSJYfUjFfpWN89tG12lJGi5QfQr6+AKuGOlWJAGDmwWWwQ4+58ZZoCN+zXvfbFEEeSO4rc6oV8JBI+Uo/nxlzc+WW+7UJ25ZNkPiFYLNOnm+RzIrD3t+SQBJChyTJtUBvDc5zqYA3+/Tu3VtMZuJgui+JuJkyTPzRcv0Uq3ZLsl+gUSbzzm9uSdE1S0YVEcEkc5y0Ux5xbElbwuYOuBxmnnFfA0RdPK2wofNMUcsN0w0=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR03MB6108.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(376002)(346002)(39860400002)(136003)(91956017)(83380400001)(76116006)(4326008)(66946007)(8676002)(66476007)(66556008)(5660300002)(64756008)(66446008)(38070700005)(2616005)(478600001)(41300700001)(2906002)(6486002)(26005)(71200400001)(186003)(38100700002)(55236004)(54906003)(31686004)(6512007)(31696002)(53546011)(122000001)(110136005)(36756003)(8936002)(316002)(86362001)(6506007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?U0cwMlhVaDdlZHljV2pjOG5YdXNGa3dJTVBsQ2Z4c1M5OW1Rd2VsQXVYNmo1?=
 =?utf-8?B?RFNMajdaU0tDUE13WDlUQmN5SkJuM0dCejFVSUlWd2RiVWllaks5YWtSaExD?=
 =?utf-8?B?bTUzcjhhUTJhYVZVWnlKRjNTMXN3aU9STkY5eGVZdnZZT2NjbkZuTmhuTzNE?=
 =?utf-8?B?dzFhYXR2Um5icUdEaDhJcldxY1Y0NTlYbDNDNUxnMThGYXp0Sld5QWNIYjJ1?=
 =?utf-8?B?d1VwczN4VXlVbVhpRVhWcFVHK1NYaG1pZGQ1cGxUb01rR1I4N1c5TjFCUzN0?=
 =?utf-8?B?Z2ozR0hRbk5NSFdwTUVqTWtmYTRpekpyVG5RcDZXWGh1aWxFTzlGakdCQ21W?=
 =?utf-8?B?LzlsNEZ3aURhcmNKRFhtVkxaMWFJRFlWWk9SOEk5dGpEbEpneGtuVGQ5Y1Bq?=
 =?utf-8?B?Mjlqb1B4YUM4cTFCclVockprb3pqM0VrczNaMy9xQy96QkRuczVXSEtPM0xo?=
 =?utf-8?B?M1NYOGJQbUR0MU83QWY4N2xCU3MrMnd2ODZxU0hpcE5XM3JlT3R1OUs4MGtT?=
 =?utf-8?B?VHZ0MHgvcitKT2VwOVZsUmZWS0ZNQ01vdmEydldNZEJ3amhONUhmMjl3V0VZ?=
 =?utf-8?B?RWRCclU3a3p6NURYWlRGYUdNRGpZeEFYWkpyZTNCMnVISFpXT3hxWCtCRHAx?=
 =?utf-8?B?dDNBbytzOWN0TGk2QjdGUzU2ZnUyZ2NMNW9nZytvd2Q3WVFXYUxmSnFsdGkr?=
 =?utf-8?B?WTF3ZjhoL1h1aUZPYSttS3Q2cHpSUVNHa2JyczA0bzRjZ1FMRlVWRjNnQnAz?=
 =?utf-8?B?a3g3MFR0NkU3MTl6YVhmYkFMbXRLQUlWL2FHbEhWU050a1YzTXJXaDdkZ0xB?=
 =?utf-8?B?QVNOSW9IY1BqNlp4UmpmdDg4OGdrV255Mm5FZnJNdlEyR0lzL21tYkxseUJI?=
 =?utf-8?B?WnY5SnFGOFlwbEVJbjMxbWFERkJ2UC91a1Rhdnd5ZXZjNlZsZnp2emRVNDF1?=
 =?utf-8?B?a3hGOGx0NTVUOG9UWTB0T2NSUEdNRS9abTJuUVRpQlRSK1dlN05keXVqWHBK?=
 =?utf-8?B?b2k1NUJBZDlDV2ZZMXNSanhPbDBpRDAzTHZmT0JTbUNWV05lZTVndVQwcDh0?=
 =?utf-8?B?c0JYelYreUdndWlrZTZIL2g2b1BoQ1RRcm1GVGF6OEk1U1BvclVabWRQNFp1?=
 =?utf-8?B?ckRXSE5XYWk4ejF4Si9GVXV4YVovUkJVRVJ3djBTeHIxY2lSRGxqZU0yQVdq?=
 =?utf-8?B?c3ppV3k0UVRrbGJmYS9RZVo5aGlyMy85STl0QlR5by95ZE1DakVQU3V6SjQ5?=
 =?utf-8?B?RHVpN0dUWnV3OStnSXF5bjJnUDlrSVRpT2JPcG9PcXJwVDFvNU9uTWxrTGV3?=
 =?utf-8?B?K1VjNjkrQkJEVi9zYUg3UTQ1VXV6akVDWG5TbkRPNmV2Q2lDNk5JWHVUNUpv?=
 =?utf-8?B?T2lhb28rcm9adEhLa0twNHpjMVJ0YkRtSWJ6M0dwanJUZTJzSUpEUlZ3TGw4?=
 =?utf-8?B?a09ya1BHa2FZTWlzZ2Rxckp2ek4rTVpOdzZ2Z3NSbkYzRy85MGNJSmc0VWM2?=
 =?utf-8?B?WGtrZTd4Z2l4UWNUZ3BDK1RpQmY1aEN1YWQvOXNEaGx2OWZoaG5GaHBLWjNG?=
 =?utf-8?B?MnFYazRKQ0MweDk1Zk4zU1hFL1ZIMGllVC96K2hIQnlPWU5JbmliSUlsS21p?=
 =?utf-8?B?SXhUeVQyVXpKSjZrNERuOTAvQWlZVFN0R0c5UnJ1Rk1rQUt4Qlc5cVpFbCtU?=
 =?utf-8?B?MjVIZDlxTFNFU0djdmozekdTOUxoaU1HMnJ5M1F6MFhYa1BoUUc3YndMSTF6?=
 =?utf-8?B?OHRFN1VVdCtmd2NpTHZrN1k2RWx3a0lhOXNFdFVBbUVmZFpyTE5QMmxCNGsz?=
 =?utf-8?B?eTladlVab0dCZlZVQzFVTmF2ZjlLTGlwbEdNT0FmWkZFKzJQZWoxaEFXTGd2?=
 =?utf-8?B?dW1pcFVMSkI1dnhqM0REK3BmZmlpYmRiRkZoS3JsVzQvSS9oUkxmRVQ2SG5x?=
 =?utf-8?B?U3RJNzZYVUo4WGpEY1c1TUxyMmwvWmlWclpORTBzZDJaNkwvSmpGK1VjSzhT?=
 =?utf-8?B?clBaeDJtQnJUTEJlc3RpUitWbURPeFExQ0djcmZIOTcrblE0OGRNOUxuWGVQ?=
 =?utf-8?B?QjRlZlQweUtSMHpOZ2h6MGhiNUJ5dDh4YXd6S3FpZ29Lb20yallNYXp5TDU0?=
 =?utf-8?B?c3dkRi9XczVkSEhOaTBtWS83ejVyNzFONDBvTkZCM1VlQXZIMDFvZ3ZuZlRs?=
 =?utf-8?Q?qESbD96I5JqNNoPVhZlZc7E=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E741A59A6DF1D24489F3BBDF2A9FA77A@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR03MB6108.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b44ef4fa-1c54-4e0a-b6b4-08da85f92aaa
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2022 17:50:43.5215
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: kfJgHuXAgXWc+hZNj2fwR5DWNYdVxyRvEaI6Ruh+6rG7k5VttgMyzkQuLcCbXQ8oqjygAX8IKOnSL2a7jMbLk6gWYkl+VKmf69UOFSK9n5w=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0301MB2455
X-Proofpoint-GUID: kBSriJtv2AQv97Cs2bmXBywe4CnN86_X
X-Proofpoint-ORIG-GUID: kBSriJtv2AQv97Cs2bmXBywe4CnN86_X
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-24_10,2022-08-22_02,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxscore=0
 malwarescore=0 suspectscore=0 bulkscore=0 impostorscore=0 clxscore=1011
 spamscore=0 priorityscore=1501 adultscore=0 phishscore=0 mlxlogscore=999
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208240065

DQpPbiAyNC4wOC4yMiAxNzoyNiwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCg0KSGVsbG8gSnVlcmdl
bg0KDQo+IFRoZSBlcnJvciBleGl0IG9mIHByaXZjbWRfaW9jdGxfZG1fb3AoKSBpcyBjYWxsaW5n
IHVubG9ja19wYWdlcygpDQo+IHBvdGVudGlhbGx5IHdpdGggcGFnZXMgYmVpbmcgTlVMTCwgbGVh
ZGluZyB0byBhIE5VTEwgZGVyZWZlcmVuY2UuDQo+DQo+IEZpeCB0aGF0IGJ5IGNhbGxpbmcgdW5s
b2NrX3BhZ2VzIG9ubHkgaWYgbG9ja19wYWdlcygpIHdhcyBhdCBsZWFzdA0KPiBwYXJ0aWFsbHkg
c3VjY2Vzc2Z1bC4NCj4NCj4gQ2M6IDxzdGFibGVAdmdlci5rZXJuZWwub3JnPg0KPiBGaXhlczog
YWI1MjBiZThjZDVkICgieGVuL3ByaXZjbWQ6IEFkZCBJT0NUTF9QUklWQ01EX0RNX09QIikNCj4g
UmVwb3J0ZWQtYnk6IFJ1c3RhbSBTdWJraGFua3Vsb3YgPHN1YmtoYW5rdWxvdkBpc3ByYXMucnU+
DQo+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpS
ZXZpZXdlZC1ieTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVw
YW0uY29tPg0KDQoNCj4gLS0tDQo+ICAgZHJpdmVycy94ZW4vcHJpdmNtZC5jIHwgNSArKystLQ0K
PiAgIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+DQo+
IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wcml2Y21kLmMgYi9kcml2ZXJzL3hlbi9wcml2Y21k
LmMNCj4gaW5kZXggMzM2OTczNDEwOGFmLi5lYzg3OTY4YjQ0NTkgMTAwNjQ0DQo+IC0tLSBhL2Ry
aXZlcnMveGVuL3ByaXZjbWQuYw0KPiArKysgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4gQEAg
LTY3OSw3ICs2NzksNyBAQCBzdGF0aWMgbG9uZyBwcml2Y21kX2lvY3RsX2RtX29wKHN0cnVjdCBm
aWxlICpmaWxlLCB2b2lkIF9fdXNlciAqdWRhdGEpDQo+ICAgCXJjID0gbG9ja19wYWdlcyhrYnVm
cywga2RhdGEubnVtLCBwYWdlcywgbnJfcGFnZXMsICZwaW5uZWQpOw0KPiAgIAlpZiAocmMgPCAw
KSB7DQo+ICAgCQlucl9wYWdlcyA9IHBpbm5lZDsNCj4gLQkJZ290byBvdXQ7DQo+ICsJCWdvdG8g
dW5sb2NrOw0KPiAgIAl9DQo+ICAgDQo+ICAgCWZvciAoaSA9IDA7IGkgPCBrZGF0YS5udW07IGkr
Kykgew0KPiBAQCAtNjkxLDggKzY5MSw5IEBAIHN0YXRpYyBsb25nIHByaXZjbWRfaW9jdGxfZG1f
b3Aoc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgX191c2VyICp1ZGF0YSkNCj4gICAJcmMgPSBIWVBF
UlZJU09SX2RtX29wKGtkYXRhLmRvbSwga2RhdGEubnVtLCB4YnVmcyk7DQo+ICAgCXhlbl9wcmVl
bXB0aWJsZV9oY2FsbF9lbmQoKTsNCj4gICANCj4gLW91dDoNCj4gKyB1bmxvY2s6DQo+ICAgCXVu
bG9ja19wYWdlcyhwYWdlcywgbnJfcGFnZXMpOw0KPiArIG91dDoNCj4gICAJa2ZyZWUoeGJ1ZnMp
Ow0KPiAgIAlrZnJlZShwYWdlcyk7DQo+ICAgCWtmcmVlKGtidWZzKTsNCg0KLS0gDQpSZWdhcmRz
LA0KDQpPbGVrc2FuZHIgVHlzaGNoZW5rbw0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 18:16:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 18:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392913.631545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQuv5-0008Nl-Hz; Wed, 24 Aug 2022 18:16:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392913.631545; Wed, 24 Aug 2022 18:16:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQuv5-0008Ne-EU; Wed, 24 Aug 2022 18:16:03 +0000
Received: by outflank-mailman (input) for mailman id 392913;
 Wed, 24 Aug 2022 18:16:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u3dn=Y4=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oQuv3-0008NV-Io
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 18:16:02 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce0a8582-23d8-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 20:16:00 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce0a8582-23d8-11ed-9250-1f966e50362f
Date: Wed, 24 Aug 2022 18:15:50 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1661364958; x=1661624158;
	bh=/mpj7qEHeAJKaYNyyI1sDjogU+Qn85rht5EB0Ew2s4w=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=PzLJ0RPJ4bZGKwAewTeIlLnMd5v6ZtkUpTBqpfPrKnamale7pmyXe06/znTEVTQbp
	 yT421XBvRoRfR+S62B9ai/AFCxJNB0KDDoCCOU2TU4WsloxvG0TeSZh6Zvo9YAEBS6
	 SpiNZKK7n+qzU5Xbi9meWWE0GYIht6fpn2oyoJ45PaY0sA3VJEjzT50sXsZvhCSQTN
	 gnTrWqvP8BkwtrlWdE2yxWFO9DNVRg7z7/ogDd6PUg5Vwi8k0+uaGVVVRsCqxEt9x5
	 8w06YBKQqXFKf1Fsk1Dn5xna7N0O1O7EnZ34UA0+fJUoTgM7DpCjMj6IH2Eurwzsuz
	 JRDVawKhqecAQ==
To: jbeulich@suse.com
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <Zz_iE6KdPdkQ_TjUf-W2ODPIXo2WwXz0JxF5vgPjVuz8uWfJyto5S_nYRzSNrE0jC3r4ILhjkLH_PtW_fmIeTQIQtI6wTZxnUvOl0pr6ne4=@protonmail.com>
In-Reply-To: <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com> <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com> <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com> <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com> <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com> <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com> <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com> <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="b1_gfbjpSg081swf3rbsythQlC9EC5wpuPu2Az2qRBA8"

This is a multi-part message in MIME format.

--b1_gfbjpSg081swf3rbsythQlC9EC5wpuPu2Az2qRBA8
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLAoKSSdtIHNvcnJ5IEkgZGlkbid0IGdldCB3aGVyZSBpbiAvc3lzL2Zpcm13YXJlIHlv
dSdkIGxpa2UgdG8gdGFrZSBhIGxvb2sgYXQuCgpTb21ldGltZXMgd2hlbiBJIHBvd2VyIHRoZSBs
YXB0b3Agb2ZmIEkgY2FuIHNlZSBpdCdzIGNyYXNoaW5nIHNvbWV3aGVyZSBpbiBBQ1BJL3dlaXJk
IGFkZHJlc3MgaXNzdWUKCklzIHRoZXJlIGFueW9uZSBlbHNlIHN0cnVnZ2xpbmcgd2l0aCBBTUQg
Unl6ZW4gNjAwMCBvbiBYZW4/

--b1_gfbjpSg081swf3rbsythQlC9EC5wpuPu2Az2qRBA8
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLDxicj48YnI+SSdtIHNvcnJ5IEkgZGlkbid0IGdldCB3aGVyZSBpbiAvc3lzL2Zpcm13
YXJlIHlvdSdkIGxpa2UgdG8gdGFrZSBhIGxvb2sgYXQuPGJyPjxicj5Tb21ldGltZXMgd2hlbiBJ
IHBvd2VyIHRoZSBsYXB0b3Agb2ZmIEkgY2FuIHNlZSBpdCdzIGNyYXNoaW5nIHNvbWV3aGVyZSBp
biBBQ1BJL3dlaXJkIGFkZHJlc3MgaXNzdWU8YnI+PGJyPklzIHRoZXJlIGFueW9uZSBlbHNlIHN0
cnVnZ2xpbmcgd2l0aCBBTUQgUnl6ZW4gNjAwMCBvbiBYZW4/


--b1_gfbjpSg081swf3rbsythQlC9EC5wpuPu2Az2qRBA8--



From xen-devel-bounces@lists.xenproject.org Wed Aug 24 18:52:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 18:52:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392920.631556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQvUT-000448-BD; Wed, 24 Aug 2022 18:52:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392920.631556; Wed, 24 Aug 2022 18:52:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQvUT-000441-6g; Wed, 24 Aug 2022 18:52:37 +0000
Received: by outflank-mailman (input) for mailman id 392920;
 Wed, 24 Aug 2022 18:52:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQvUR-00043r-Am; Wed, 24 Aug 2022 18:52:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQvUR-0003D5-7A; Wed, 24 Aug 2022 18:52:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQvUQ-0008L9-Ms; Wed, 24 Aug 2022 18:52:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQvUQ-0007ka-M1; Wed, 24 Aug 2022 18:52:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/kWwOAxCCdXrUGEsUEkhu7fi1visr/y4KbzpnIk5Ep8=; b=FGAHTNLWnmSfuA1E1wH4XvHhz1
	YWO2Rc5NSfZADad6NrrS/FLqljuRnnNl7WYErqz0Otck1mTBTePwDvCegapVBewNL3fa1el/C5Moq
	vwiwv9fKJK9X7Hds19rTjayu9e69lsmvqdHGJz9K69LuCaufXgY9lLPZTXYjp3JmmzGU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172747-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172747: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a8cc5842b5cb863e46a2d009151c6ccbdecadaba
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 18:52:34 +0000

flight 172747 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172747/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                a8cc5842b5cb863e46a2d009151c6ccbdecadaba
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   21 days
Failing since        172148  2022-08-04 21:39:38 Z   19 days   46 attempts
Testing same since   172738  2022-08-23 21:12:55 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2320 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 19:24:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 19:24:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392928.631567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQvyy-0007R8-NV; Wed, 24 Aug 2022 19:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392928.631567; Wed, 24 Aug 2022 19:24:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQvyy-0007R1-Jz; Wed, 24 Aug 2022 19:24:08 +0000
Received: by outflank-mailman (input) for mailman id 392928;
 Wed, 24 Aug 2022 19:24:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQvyx-0007Qn-49; Wed, 24 Aug 2022 19:24:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQvyx-0003l4-1C; Wed, 24 Aug 2022 19:24:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQvyw-00024t-N6; Wed, 24 Aug 2022 19:24:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQvyw-0003V3-Mh; Wed, 24 Aug 2022 19:24:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aJ+IdIUFEDEOdk83RL8L/ryim7f9YFjIFd9WneYa5ik=; b=Zm5vpNnv21+cQ8siTLGkTWGrzS
	MvVsR1/u0RQQFM6518Pkq0VbesMOJvtnU3STESbx70tiCEUD9L85arykN2QNTvxHdYJM0YzVX/3p6
	yhljpeJh3txGt/g1VNQKXd4rE0fOgzPFrYnpeso/vgxTE6lE4ptBb2raY2RiPIuI3FZk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172756-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172756: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 19:24:06 +0000

flight 172756 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172756/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   20 days
Failing since        172151  2022-08-05 02:40:28 Z   19 days  161 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 20:38:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 20:38:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392939.631578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQx8y-0006My-98; Wed, 24 Aug 2022 20:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392939.631578; Wed, 24 Aug 2022 20:38:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQx8y-0006Mr-6R; Wed, 24 Aug 2022 20:38:32 +0000
Received: by outflank-mailman (input) for mailman id 392939;
 Wed, 24 Aug 2022 20:38:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8soK=Y4=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oQx8w-0006Ml-PJ
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 20:38:30 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b58bd674-23ec-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 22:38:28 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id AD30BB8268C;
 Wed, 24 Aug 2022 20:38:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F0B89C433D6;
 Wed, 24 Aug 2022 20:38:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b58bd674-23ec-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661373506;
	bh=XihCPIS6YrdZnaCle62Bk4g/miGhnfeNX9R5qRWDzpY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=qs5qomFyR5Ym9AlAg+P3Z/DsfGcWt+oWqmo6cfCHe7sye4MhWIzhxk9IH54SsZu6B
	 K84pURI3OHdRn+Gj5AiXG4BWLDk1Cynp4BtP+AbroeAwAggJ4avQRkbIHYYQAH26e0
	 ZVkKxEcbMl7RgP3HtHwjI+alVXVhSRYUK5VuY7fCXI1tJk8gR2GA4thksr4eHRmEun
	 kmmWp5SrWcv3KSXBA5Ovog9j4L+OZ2Xd5FAutt9eR6HDauCwZ2CGVJ7J60vRwvpEez
	 ohh5mPQo7vxY/GNcfvhL+JrzYqIp+sZW822l/R5DPmK0Ok5LWMOqFP2N4Arlu300zx
	 W+JOgpR2kCzVA==
From: SeongJae Park <sj@kernel.org>
To: SeongJae Park <sj@kernel.org>
Cc: Juergen Gross <jgross@suse.com>,
	roger.pau@citrix.com,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	"Xen developer discussion" <xen-devel@lists.xenproject.org>,
	"SeongJae Park" <sjpark@amazon.com>,
	"Maximilian Heyne" <mheyne@amazon.de>
Subject: =?UTF-8?q?Re=3A=20=E2=80=9CBackend=20has=20not=20unmapped=20grant=E2=80=9D=20errors?=
Date: Wed, 24 Aug 2022 20:38:23 +0000
Message-Id: <20220824203823.105991-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220824174442.105245-1-sj@kernel.org>
References: 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

+ Roger

On Wed, 24 Aug 2022 17:44:42 +0000 SeongJae Park <sj@kernel.org> wrote:

> Hello,
> 
> On Wed, 24 Aug 2022 08:02:40 +0200 Juergen Gross <jgross@suse.com> wrote:
> 
> > 
> > [-- Attachment #1.1.1: Type: text/plain, Size: 4312 bytes --]
> > 
> > On 24.08.22 02:20, Marek Marczykowski-GÃ³recki wrote:
> > > FWIW, I hit this issue twice already in this week CI run, while it never
> > > happened before. The difference compared to previous run is Linux
> > > 5.15.57 vs 5.15.61. The latter reports persistent grants disabled. The
> > > only related commits I see there are three commits indeed related to
> > > persistent grants:
> > > 
> > >    c98e956ef489 xen-blkfront: Apply 'feature_persistent' parameter when connect
> > >    ef26b5d530d4 xen-blkback: Apply 'feature_persistent' parameter when connect
> > >    7304be4c985d xen-blkback: fix persistent grants negotiation
> > > 
> > > But none of the commit messages suggests intentional disabling it
> > > without explicit request for doing so. I did not requested disabling it
> > > in toolstack (although I have set backend as "trusted" - XSA-403).
> > > I have confirmed it's the frontend version that matters. Running older
> > > frontend kernel with 5.15.61 backend results in persistent grants
> > > enabled (and both frontend and backend xenstore "feature-persistent"
> > > entries are "1" in this case).
> > 
> > This is a mess.
> > 
> > I think the main problem seems to be that the feature negotiation process
> > isn't specified in a sane way.
> > 
> >  From the blkif.h header:
> > 
> > Backend-side:
> >   * feature-persistent
> >   *      Values:         0/1 (boolean)
> >   *      Default Value:  0
> >   *      Notes: 7
> >   *
> >   *      A value of "1" indicates that the backend can keep the grants used
> >   *      by the frontend driver mapped, so the same set of grants should be
> >   *      used in all transactions. The maximum number of grants the backend
> >   *      can map persistently depends on the implementation, but ideally it
> >   *      should be RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST. Using this
> >   *      feature the backend doesn't need to unmap each grant, preventing
> >   *      costly TLB flushes. The backend driver should only map grants
> >   *      persistently if the frontend supports it. If a backend driver chooses
> >   *      to use the persistent protocol when the frontend doesn't support it,
> >   *      it will probably hit the maximum number of persistently mapped grants
> >   *      (due to the fact that the frontend won't be reusing the same grants),
> >   *      and fall back to non-persistent mode. Backend implementations may
> >   *      shrink or expand the number of persistently mapped grants without
> >   *      notifying the frontend depending on memory constraints (this might
> >   *      cause a performance degradation).
> > 
> > Frontend-side:
> >   * feature-persistent
> >   *      Values:         0/1 (boolean)
> >   *      Default Value:  0
> >   *      Notes: 7, 8, 9
> >   *
> >   *      A value of "1" indicates that the frontend will reuse the same grants
> >   *      for all transactions, allowing the backend to map them with write
> >   *      access (even when it should be read-only). If the frontend hits the
> >   *      maximum number of allowed persistently mapped grants, it can fallback
> >   *      to non persistent mode. This will cause a performance degradation,
> >   *      since the the backend driver will still try to map those grants
> >   *      persistently. Since the persistent grants protocol is compatible with
> >   *      the previous protocol, a frontend driver can choose to work in
> >   *      persistent mode even when the backend doesn't support it.
> > 
> > Those definitions don't make clear, which side is the one to decide whether
> > the feature should be used or not. In my understanding the related drivers
> > should just advertise their setting (the _ability_ to use the feature), and
> > it should be used only if both sides have written a "1".
> > 
> > With above patches applied, the frontend will set 'feature-persistent' in
> > Xenstore only, if the backend has done so, but the backend will set it
> > only, if the frontend has done it. This results in persistent grants
> > always being disabled.
> 
> Sorry for making the mess, and thank you for the kind report and detailed
> explanation of the problem.
> 
> > 
> > This is wrong, as the value written should not reflect the current state
> > of the interface. That state should be set according to both sides' value,
> > probably a cached one on the blkback side (using a new flag for caching it,
> > not the current state).
> 
> Agreed.  So, I think the issue comes from the fact that we are using one field,
> which was a place for saving only the negotiation result, for yet another
> purpose: caching of the parameter value.  As a result, the advertisement, which
> should follow only the parameter value, becomes inconsistent.
> 
> How about simply adding another field for the caching purpose, so that the
> advertisation could be done regardless of the negotiation?  For example:
> 
> diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
> index bda5c815e441..a28473470e66 100644
> --- a/drivers/block/xen-blkback/common.h
> +++ b/drivers/block/xen-blkback/common.h
> @@ -226,6 +226,9 @@ struct xen_vbd {
>  	sector_t		size;
>  	unsigned int		flush_support:1;
>  	unsigned int		discard_secure:1;
> +	/* Connect-time cached feature_persistent parameter value */
> +	unsigned int		feature_gnt_persistent_parm:1;
> +	/* Persistent grants feature negotiation result */
>  	unsigned int		feature_gnt_persistent:1;
>  	unsigned int		overflow_max_grants:1;
>  };
> diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> index ee7ad2fb432d..c0227dfa4688 100644
> --- a/drivers/block/xen-blkback/xenbus.c
> +++ b/drivers/block/xen-blkback/xenbus.c
> @@ -907,7 +907,7 @@ static void connect(struct backend_info *be)
>  	xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support);
>  
>  	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> -			be->blkif->vbd.feature_gnt_persistent);
> +			be->blkif->vbd.feature_gnt_persistent_parm);
>  	if (err) {
>  		xenbus_dev_fatal(dev, err, "writing %s/feature-persistent",
>  				 dev->nodename);
> @@ -1085,7 +1085,9 @@ static int connect_ring(struct backend_info *be)
>  		return -ENOSYS;
>  	}
>  
> -	blkif->vbd.feature_gnt_persistent = feature_persistent &&
> +	blkif->vbd.feature_gnt_persistent_parm = feature_persistent;
> +	blkif->vbd.feature_gnt_persistent =
> +		blkif->vbd.feature_gnt_persistent_parm &&
>  		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
>  
>  	blkif->vbd.overflow_max_grants = 0;
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index 8e56e69fb4c4..dfae08115450 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -213,6 +213,9 @@ struct blkfront_info
>  	unsigned int feature_fua:1;
>  	unsigned int feature_discard:1;
>  	unsigned int feature_secdiscard:1;
> +	/* Connect-time cached feature_persistent parameter */
> +	unsigned int feature_persistent_parm:1;
> +	/* Persistent grants feature negotiation result */
>  	unsigned int feature_persistent:1;
>  	unsigned int bounce:1;
>  	unsigned int discard_granularity;
> @@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
>  		goto abort_transaction;
>  	}
>  	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> -			info->feature_persistent);
> +			info->feature_persistent_parm);
>  	if (err)
>  		dev_warn(&dev->dev,
>  			 "writing persistent grants feature to xenbus");
> @@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
>  	if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
>  		blkfront_setup_discard(info);
>  
> -	if (feature_persistent)
> +	info->feature_persistent_parm = feature_persistent;
> +	if (info->feature_persistent_parm)
>  		info->feature_persistent =
>  			!!xenbus_read_unsigned(info->xbdev->otherend,
>  					       "feature-persistent", 0);
> 
> 
> Thanks,
> SJ
> 
> > 
> > The blkif.h comments should be updated to make it clear that the values in
> > Xenstore don't reflect the state of the connection, but the availability of
> > the feature in the related driver.
> > 
> > Comments?
> > 
> > 
> > Juergen


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 21:05:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 21:05:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392945.631592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQxYf-0001D7-Dh; Wed, 24 Aug 2022 21:05:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392945.631592; Wed, 24 Aug 2022 21:05:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQxYf-0001D0-Aw; Wed, 24 Aug 2022 21:05:05 +0000
Received: by outflank-mailman (input) for mailman id 392945;
 Wed, 24 Aug 2022 21:05:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YMFn=Y4=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oQxYd-0001Cu-UW
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 21:05:04 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69e17ddc-23f0-11ed-bd2e-47488cf2e6aa;
 Wed, 24 Aug 2022 23:05:01 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id C54143200959;
 Wed, 24 Aug 2022 17:04:57 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Wed, 24 Aug 2022 17:04:58 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 24 Aug 2022 17:04:56 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69e17ddc-23f0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1661375097; x=1661461497; bh=yE/a49KCDC/wAg21Ynv+sCjtM31EEPC4C76
	5bis3j/g=; b=kZO7wjDNGYf9uWymjyupq6f+U+MYCAetEv9DeFYeLrHZ8eTJUhW
	vRY++HEiFm6EBVZxLaUJAZCAgiVolePolcDfXjnAiplGCgd5/LvbY24yGohR+tcn
	udM/C2fTHY0xVym2BiDJbc9v06hb8P2InGdsdbzOZC/9MC5N5aFCow9HMThAOpQx
	cGK7dycmN4m53ST2g1Guj82Kkl1jURUYqr8xGuZTo9zp0KRQHpmTVejPz/4Tt/ka
	LH0Zumd+zIhkSw5fAhY+a6VUqIoNsqzy8Y5o04JjOKtFmjtzascJn5iZHtG5kknK
	faAacLI9cP0J7UwsVA6B5B45X0LxL+cE+jg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1661375097; x=1661461497; bh=yE/a49KCDC/wA
	g21Ynv+sCjtM31EEPC4C765bis3j/g=; b=WgpGHq4CuC7CJD6ShkOfng5Oozv7D
	8HtBkWEHeEVvb8364x84L3RN7iiHXK85bT+5jtM+qkKDqx6XjWImeWXYtWV1tbCI
	y75T2VgnnW4tTvdBMR8IQjzTaSO6Tj1WCQZJKRVIpIr1V/QX8YwtPQTMHxKP08jb
	/NHPlFZSlMqTsvrJLFMpkajfS1iurGzL+Zyi0Uj9YXHAhJ2bzZWg2m6JDrRAb2nQ
	3OSOeUaYwuPGZo5uEIqJDL8ElLOegrq3sgTHkKDZgaRbYnSMlK7/CLpH7LzyQdhE
	94I7CVYeXnhFEuY/5p1IuchAiebYQ9I4pdIDBY3LkS2QIFrZ55EYng3Yw==
X-ME-Sender: <xms:eZIGY6QXwd8BPKEqvr2qjVLLg-MMzICxM2h__-Aolcd2Y-xBqOwQoA>
    <xme:eZIGY_yEmguTJ8iP1xCIWRfp0X55-ib_LOmaTQoLmIj4yPgNZhqpzdZ8WDVf2RbpZ
    nKZ9STr0vb5igo>
X-ME-Received: <xmr:eZIGY31f9ds9o9gEyFp_nkr032QXXfL65rl9tyRYRJsRktGHz7WBnk5D9rTHANZovius_usQWl9M>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejuddgudeitdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhephfeggfeiiedtieejgedutdekgfet
    geehheegteekvefhfefgudehtdevleegueegnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:eZIGY2BiY81HHZXk8ujuFvGSjNZo9xp4CU6GTvlR7xJEFNbBXS3rrg>
    <xmx:eZIGYzjnduqudKkmN09PYUV_eM0Z5oM1b9mcsMIaR_vqabpNCLZCxw>
    <xmx:eZIGYypf4-BBOfwDLLpeauBrho49wp2OHttuaaPC0uAJ6nrpeWmIsQ>
    <xmx:eZIGY7ZZICd4H97seje80nyj8C4Cfw0QEE8va33gT94V4qKz6VtFmg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH] Make XEN_FW_EFI_MEM_INFO easier to use
Date: Wed, 24 Aug 2022 17:04:52 -0400
Message-Id: <20220824210452.3089-1-demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The XEN_FW_EFI_MEM_INFO platform op has very surprising behavior: it
only sets info->mem.size if the initial value was *larger* than the size
of the memory region.  This is not particularly useful and cost me most
of a day of debugging.  It also has some integer overflow problems,
though as the data comes from dom0 or the firmware (both of which are
trusted) these are not security issues.

Fix both of these problems by unconditionally setting the memory region
size and by computing it in a way that is immune to integer overflow.
The new code is slightly longer, but it is much easier to understand and
use.
---
 xen/common/efi/runtime.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index a8fc2b99ae098d74af1978bdf58212eb99cce70f..a086850c9b0bbb6e4dd3ccca647c09d346f87c55 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -269,19 +269,21 @@
     case XEN_FW_EFI_MEM_INFO:
         for ( i = 0; i < efi_memmap_size; i += efi_mdesc_size )
         {
+            uint64_t len;
             EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
-            u64 len = desc->NumberOfPages << EFI_PAGE_SHIFT;
+
+            if ( desc->NumberOfPages > (UINT64_MAX >> EFI_PAGE_SHIFT) )
+                len = UINT64_MAX;
+            else
+                len = desc->NumberOfPages << EFI_PAGE_SHIFT;
 
             if ( info->mem.addr >= desc->PhysicalStart &&
-                 info->mem.addr < desc->PhysicalStart + len )
+                 info->mem.addr - desc->PhysicalStart < len )
             {
                 info->mem.type = desc->Type;
                 info->mem.attr = desc->Attribute;
-                if ( info->mem.addr + info->mem.size < info->mem.addr ||
-                     info->mem.addr + info->mem.size >
-                     desc->PhysicalStart + len )
-                    info->mem.size = desc->PhysicalStart + len -
-                                     info->mem.addr;
+                info->mem.size = len - (info->mem.addr - desc->PhysicalStart);
+
                 return 0;
             }
         }
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 21:06:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 21:06:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392952.631602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQxaD-0001nG-PF; Wed, 24 Aug 2022 21:06:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392952.631602; Wed, 24 Aug 2022 21:06:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQxaD-0001n9-MR; Wed, 24 Aug 2022 21:06:41 +0000
Received: by outflank-mailman (input) for mailman id 392952;
 Wed, 24 Aug 2022 21:06:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NROC=Y4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oQxaC-0001n1-No
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 21:06:40 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a547744f-23f0-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 23:06:39 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 6E945B825EE;
 Wed, 24 Aug 2022 21:06:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8078FC433D6;
 Wed, 24 Aug 2022 21:06:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a547744f-23f0-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661375197;
	bh=jbAXo48ccPs9T0sKvcpPPfTDFKLUxIWCa7gTYyvthR8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nFP2PGj/Zkk25Vp3qUI8heI093dgaVF+qk8DHsVm90/sWcJukdMAHpnmWow/WWCUL
	 +7pHwDmza0O2620lJObODGjmwtlb2gHdPWDXQp2bGz4vQ/lyvazsfca6uF3pUlBRlP
	 C/sLSYyZIyiZkRGIJgCUFXVo8GtVYiTnzzsgHWTfv5aLzYM9ESz39z5tIN0uZ3xt/7
	 a60ivjr6QOqll9fK1vhu+71eXJDOgJ8winWPlhO6+9/a67jf+6dy6ZGznKALo9i3W8
	 fAO3S6OBokee6Cdn0+ALdW6uq8eZsQTk8szSNlamscXRwQBbPKdQIgbjISn03yt36g
	 nzB+hRyImyWtA==
Date: Wed, 24 Aug 2022 14:06:34 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vipul Suneja <vsuneja63@gmail.com>
cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "sstabellini@kernel.org" <sstabellini@kernel.org>, 
    "julien@xen.org" <julien@xen.org>
Subject: Re: Porting xen on rpi4
In-Reply-To: <CALAP8f_=NztOC9FKYnrCyknOM4jf27cRqjJ9+7UqOEH6qCAD8Q@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208241401110.15247@ubuntu-linux-20-04-desktop>
References: <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com> <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com> <CALAP8f_=NztOC9FKYnrCyknOM4jf27cRqjJ9+7UqOEH6qCAD8Q@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-994484074-1661374995=:15247"
Content-ID: <alpine.DEB.2.22.394.2208241403220.15247@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-994484074-1661374995=:15247
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2208241403221.15247@ubuntu-linux-20-04-desktop>

On Wed, 24 Aug 2022, Vipul Suneja wrote:
> Hi Bertrand,
> Thanks for your response!
> 
> I builded the guest image on yocto kirkstone source which has FSTYPE ext3. Guest image generated is
> xen-guest-image-minimal-raspberrypi4-64.ext3.
> Below is the content of guest.cfg file
> 
> Â  Â kernel = "/home/root/Image"Â 
> Â  Â cmdline = "console=hvc0 earlyprintk=xen sync_console root=/dev/xvda"Â 
> Â  Â memory = "256"Â 
> Â  Â name = "guest1"Â 
> Â  Â vcpus = 1Â 
> Â  Â serial="pty"Â 
> Â  Â disk = [ 'phy:/dev/loop0,xvda,w' ]Â 
> Â  Â vif=[ 'mac=00:11:22:66:88:22,bridge=xenbr0,type=netfront', ]
> 
> I am trying to mount xen-guest-image-minimal-raspberrypi4-64.ext3 to a virtual device & then will run the guest VM by command "xl create -c
> guest.cfg". But facing issue while trying to mount.Â 

You don't actually need to mount
xen-guest-image-minimal-raspberrypi4-64.ext3 anywhere to use it to run
your guest VM with "xl create". 

It is enough to do this instead, as Bertrand suggested:

disk=["file:/path/to/file/xen-guest-image-minimal-raspberrypi4-64.ext3,xvda,w"]

No need to call losetup or mount. Just xl create -c.

More answers below.


> Regards,
> Vipul Kumar
> 
> On Wed, Aug 24, 2022 at 8:06 PM Bertrand Marquis <Bertrand.Marquis@arm.com> wrote:
>       Hi Vipul,
> 
>       > On 24 Aug 2022, at 15:16, Vipul Suneja <vsuneja63@gmail.com> wrote:
>       >
>       > Hi,
>       >
>       > I am porting xen hypervisor on rpi4 with yocto kirkstone sources. Followed the basic steps to build xen-image-minimal &
>       xen-guest-image-minimal. I could flash sd card with xen minimal image & could see dom0 up. I copied "Image",
>       "xen-guest-image-minimal" .ext3 file & guest.cfg to "/home/root". After that created a bridge with below step:
>       >
>       > killall -SIGUSR2 udhcpc
>       > brctl addbr xenbr0
>       > brctl addif xenbr0 eth0
>       > killall udhcpc
>       > udhcpc -R -b -p /var/run/udhcpc.xenbr0.pid -i xenbr0
>       >
>       > Could see the xenbr0 interface up.
>       > After that while mounting the guest file system it shows no such file or directory but the file is already there.
>       >
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
>       > [23:40:15] <Guest9046> -rw-r--r--Â  Â  1 rootÂ  Â  Â rootÂ  Â  Â  24652288 MarÂ  9 12:36 Image
>       > [23:40:15] <Guest9046> -rw-r--r--Â  Â  1 rootÂ  Â  Â rootÂ  Â  Â  Â  Â  Â 247 MarÂ  9 12:37 guest1.cfg
>       > [23:40:15] <Guest9046> -rw-r--r--Â  Â  1 rootÂ  Â  Â rootÂ  Â  Â 868220928 MarÂ  9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# chmod 0777 xen-guest-image-minimal-raspberrypi4-64.ext3
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
>       > [23:40:15] <Guest9046> -rw-r--r--Â  Â  1 rootÂ  Â  Â rootÂ  Â  Â  24652288 MarÂ  9 12:36 Image
>       > [23:40:15] <Guest9046> -rw-r--r--Â  Â  1 rootÂ  Â  Â rootÂ  Â  Â  Â  Â  Â 247 MarÂ  9 12:37 guest1.cfg
>       > [23:40:15] <Guest9046> -rwxrwxrwxÂ  Â  1 rootÂ  Â  Â rootÂ  Â  Â 868220928 MarÂ  9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup /dev/loop0 xen-guest-image-minimal-raspberrypi4-64.ext3
>       > [23:40:15] <Guest9046> losetup: xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
>       > [23:40:15] <Guest9046> losetup: /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
>       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
>       > [23:40:15] <Guest9046> losetup: /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory

It looks like either
/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3 doesn't exist or
/dev/loop0 doesn't exist

 
>       Why do you want to mount the file system ?
> 
>       Anyway this is not related to Xen, I guess you could start without xen and still not manage to mount the file like that (linux
>       configuration issue ?)
> 
>       What is the content of you guest.cfg
>       How do you want to pass the guest root file system ?
> 
>       Yocto should actually generate an img file and you could use it by having something like this in your guest.cfg:
>       disk=["file:/home/root/guest1.img,xvda,wâ€]
> 
>       Cheers
>       Bertrand
> 
>       >
>       > Any input on this issue will be really helpful, expecting your response.
>       >
>       > Thanks & Regards,
>       > Vipul Kumar
> 
> 
> 
--8323329-994484074-1661374995=:15247--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 21:59:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 21:59:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392959.631617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQyPP-0006x3-P7; Wed, 24 Aug 2022 21:59:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392959.631617; Wed, 24 Aug 2022 21:59:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQyPP-0006ww-MF; Wed, 24 Aug 2022 21:59:35 +0000
Received: by outflank-mailman (input) for mailman id 392959;
 Wed, 24 Aug 2022 21:59:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NROC=Y4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oQyPN-0006wq-Jk
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 21:59:33 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07c6d2ac-23f8-11ed-9250-1f966e50362f;
 Wed, 24 Aug 2022 23:59:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 6A490B8256B;
 Wed, 24 Aug 2022 21:59:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64CFFC433D6;
 Wed, 24 Aug 2022 21:59:28 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07c6d2ac-23f8-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661378369;
	bh=ktgXbAcGHo/wdVZcX56uHkh+2VfTILJr43kDfUbT0sM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tCcAbC5KZ3Dm5/BOWbiIEpjMz6TjGCJh/qUnb0BpqHsqUHDNrEHWMvd3/GoxtzquX
	 +8Ag1DLrt3B/yFCyj6NYjB+Bz2f1+hFaJNuBC0dKmf8kPbjJ+tNAGLFx+31aE2M6am
	 eTbpWqSndDFl98vBlFf1xaoJjeIxJg3qq6uebaYRaGUvfvnnHuuI+Ho+7j6pKQ59mm
	 ypmndC01wbcI0m/GlUf5yhqQNmp0/9Tv0yxp7lKk0G9Ymb8/nPxMDEGyZGxCAmEekK
	 UEHUyvrMPxnqEVCo7/EqBzwFgthkd/xGvsDLzcZ7Rq/IBx+x1kpzzyG4GeRkDeS5+C
	 oNo6blsIrXYJQ==
Date: Wed, 24 Aug 2022 14:59:26 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Rahul Singh <Rahul.Singh@arm.com>
cc: Julien Grall <julien@xen.org>, xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
In-Reply-To: <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com>
Message-ID: <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop>
References: <cover.1660902588.git.rahul.singh@arm.com> <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com> <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org> <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com> <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com> <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org> <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-317901848-1661377239=:15247"
Content-ID: <alpine.DEB.2.22.394.2208241440580.15247@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-317901848-1661377239=:15247
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2208241440581.15247@ubuntu-linux-20-04-desktop>

On Wed, 24 Aug 2022, Rahul Singh wrote:
> > On 24 Aug 2022, at 4:36 pm, Julien Grall <julien@xen.org> wrote:
> > On 24/08/2022 15:42, Rahul Singh wrote:
> >>> On 24 Aug 2022, at 1:59 pm, Julien Grall <julien@xen.org> wrote:
> >>> 
> >>> 
> >>> 
> >>> On 24/08/2022 13:15, Rahul Singh wrote:
> >>>> Hi Julien,
> >>> 
> >>> Hi Rahul,
> >>> 
> >>>> Please let me know your view on this.
> >>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> >>>> index bfe7bc6b36..a1e23eee59 100644
> >>>> --- a/xen/arch/arm/domain_build.c
> >>>> +++ b/xen/arch/arm/domain_build.c
> >>>> @@ -3562,12 +3562,7 @@ static int __init construct_domU(struct domain *d,
> >>>>    if ( rc == -EILSEQ ||
> >>>>      rc == -ENODATA ||
> >>>>      (rc == 0 && !strcmp(dom0less_enhanced, â€œenabledâ€)) )
> >>>> -  {
> >>>> -    if ( hardware_domain )
> >>>>        kinfo.dom0less_enhanced = true;
> >>>> -    else
> >>>> -      panic(â€œTried to use xen,enhanced without dom0\nâ€);
> >>>> -  }
> >>> 
> >>> You can't use "xen,enhanced" without dom0. In fact, you will end up to dereference NULL in alloc_xenstore_evtchn(). That's because "xen,enhanced" means the domain will be able to use Xenstored.
> >>> 
> >>> Now if you want to support your feature without a dom0. Then I think we want to introduce an option which would be the same as "xen,enhanced" but doesn't expose Xenstored.
> >> If we modify the patch as below we can use the "xen,enhanced" for domUs without dom0.
> >> I tested the patch and its works fine. Do you see any issue with this approach?
> > 
> > Yes. For two reasons:
> > 1) It is muddying the meaning of "xen,enhanced". In particular a user may not realize that Xenstore is not available if dom0 is not present.
> > 2) It would be more complicated to handle the case where Xenstored lives in a non-dom0 domain. I am not aware of anyone wanting this on Arm yet, but I don't want to close the door.
> > 
> > So if you want to support create "xen,xen" without all the rest. Then I think we need a different property value. I don't have a good suggestion for the name.
> 
> Is that okay if we use the earlier approach, when user set  "xen,enhanced = evtchnâ€ we will not call alloc_xenstore_evtchn()  
> but we create hypervisor node with all fields.

Thinking more about this, today xen,enhanced has the implication that:

- the guest will get a regular and complete "xen,xen" node in device tree
- xenstore and PV drivers will be available (full Xen interfaces support)

We don't necessarely imply that dom0 is required (from a domU point of
view) but we do imply that xenstore+evtchn+gnttab will be available to
the domU.

Now, static event channels are different. They don't require xenstore
and they don't require gnttab.

It is as if the current xen,enhanced node actually meant:

  xen,enhanced = "xenstore,gnttab,evtchn";

and now we are only enabling a subset:

  xen,enhanced = "evtchn";

Is that a correct understanding?


If so, we can clarify that:

  xen,enhanced;

it is a convenient shortend for:

  xen,enhanced = "xenstore,gnttab,evtchn";

and that other combinations are also acceptable, e.g.:

  xen,enhanced = "gnttab";
  xen,enhanced = "evtchn";
  xen,enhanced = "evtchn,gnttab";

It is OK to panic if the user specifies an option that is currently
unsupported (e.g. "gnttab").

In practice xenstore requires both gnttab and evtchn, I don't know if we
want to write that down in the device tree bindings. We could panic if
the user specifies: xen,enhanced = "xenstore,evtchn";

What do you guys think?
--8323329-317901848-1661377239=:15247--


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 22:25:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 22:25:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392966.631628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQyof-0001oW-2j; Wed, 24 Aug 2022 22:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392966.631628; Wed, 24 Aug 2022 22:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQyoe-0001oP-W5; Wed, 24 Aug 2022 22:25:40 +0000
Received: by outflank-mailman (input) for mailman id 392966;
 Wed, 24 Aug 2022 22:25:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQyod-0001oF-D9; Wed, 24 Aug 2022 22:25:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQyod-0006wf-BN; Wed, 24 Aug 2022 22:25:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oQyoc-0006k5-RW; Wed, 24 Aug 2022 22:25:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oQyoc-0003Lw-R5; Wed, 24 Aug 2022 22:25:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pHlvWaVyCtsgF2518XU21ykD1oeASbTODzd+kP7jy74=; b=F80fE/nxOeHjlkB6cSD0NyneJE
	TfAzdIa2R2Vc6epDefhpUTAQRdEZ46mKXV7mC6nYzxufeejfmZnUMj9KKFrjDhWDXreyG59mH33kG
	p+BeeRsqOHDhfU5T4G1fXDsoNrkY40OmuQBQo+NDVLZtqCvllDTnbZjJ2EBXGXtlyTUU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172759-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172759: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Aug 2022 22:25:38 +0000

flight 172759 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172759/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   20 days
Failing since        172151  2022-08-05 02:40:28 Z   19 days  162 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 24 22:42:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Aug 2022 22:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392974.631638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQz4k-000493-G7; Wed, 24 Aug 2022 22:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392974.631638; Wed, 24 Aug 2022 22:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oQz4k-00048w-DA; Wed, 24 Aug 2022 22:42:18 +0000
Received: by outflank-mailman (input) for mailman id 392974;
 Wed, 24 Aug 2022 22:42:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oQz4j-00048q-5w
 for xen-devel@lists.xenproject.org; Wed, 24 Aug 2022 22:42:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQz4i-0007E6-Ul; Wed, 24 Aug 2022 22:42:16 +0000
Received: from home.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oQz4i-0000Hn-PQ; Wed, 24 Aug 2022 22:42:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=iwClHts53PQAYIIvihr43DMzSNuAgtMMDTVZNPzleEA=; b=mD49E1+c9EEkhB7PBGP0BI7TYL
	JEccHXD2t4lWcJeFRgxPtuI5+HzP0R2PVmTnbuqV4RUGcW3eYDZEcwqFGyK9ATCtVvOyEpsyLM5mX
	+XHXqhzMHAxAdpB7EnqAxk60QYBBXK6XVOg+MK/asYIQQVqGNtVNkcqDH9rHIv7uxctw=;
Message-ID: <da07bb5d-98c3-9c94-a1f0-6021e398f898@xen.org>
Date: Wed, 24 Aug 2022 23:42:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
To: Stefano Stabellini <sstabellini@kernel.org>,
 Rahul Singh <Rahul.Singh@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
 <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
 <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org>
 <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com>
 <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
In-Reply-To: <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 24/08/2022 22:59, Stefano Stabellini wrote:
> On Wed, 24 Aug 2022, Rahul Singh wrote:
>>> On 24 Aug 2022, at 4:36 pm, Julien Grall <julien@xen.org> wrote:
>>> On 24/08/2022 15:42, Rahul Singh wrote:
>>>>> On 24 Aug 2022, at 1:59 pm, Julien Grall <julien@xen.org> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On 24/08/2022 13:15, Rahul Singh wrote:
>>>>>> Hi Julien,
>>>>>
>>>>> Hi Rahul,
>>>>>
>>>>>> Please let me know your view on this.
>>>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>>>>> index bfe7bc6b36..a1e23eee59 100644
>>>>>> --- a/xen/arch/arm/domain_build.c
>>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>>> @@ -3562,12 +3562,7 @@ static int __init construct_domU(struct domain *d,
>>>>>>     if ( rc == -EILSEQ ||
>>>>>>       rc == -ENODATA ||
>>>>>>       (rc == 0 && !strcmp(dom0less_enhanced, â€œenabledâ€)) )
>>>>>> -  {
>>>>>> -    if ( hardware_domain )
>>>>>>         kinfo.dom0less_enhanced = true;
>>>>>> -    else
>>>>>> -      panic(â€œTried to use xen,enhanced without dom0\nâ€);
>>>>>> -  }
>>>>>
>>>>> You can't use "xen,enhanced" without dom0. In fact, you will end up to dereference NULL in alloc_xenstore_evtchn(). That's because "xen,enhanced" means the domain will be able to use Xenstored.
>>>>>
>>>>> Now if you want to support your feature without a dom0. Then I think we want to introduce an option which would be the same as "xen,enhanced" but doesn't expose Xenstored.
>>>> If we modify the patch as below we can use the "xen,enhanced" for domUs without dom0.
>>>> I tested the patch and its works fine. Do you see any issue with this approach?
>>>
>>> Yes. For two reasons:
>>> 1) It is muddying the meaning of "xen,enhanced". In particular a user may not realize that Xenstore is not available if dom0 is not present.
>>> 2) It would be more complicated to handle the case where Xenstored lives in a non-dom0 domain. I am not aware of anyone wanting this on Arm yet, but I don't want to close the door.
>>>
>>> So if you want to support create "xen,xen" without all the rest. Then I think we need a different property value. I don't have a good suggestion for the name.
>>
>> Is that okay if we use the earlier approach, when user set  "xen,enhanced = evtchnâ€ we will not call alloc_xenstore_evtchn()
>> but we create hypervisor node with all fields.
> 
> Thinking more about this, today xen,enhanced has the implication that:
> 
> - the guest will get a regular and complete "xen,xen" node in device tree
> - xenstore and PV drivers will be available (full Xen interfaces support)
> 
> We don't necessarely imply that dom0 is required (from a domU point of
> view) but we do imply that xenstore+evtchn+gnttab will be available to
> the domU.
> 
> Now, static event channels are different. They don't require xenstore
> and they don't require gnttab.
> 
> It is as if the current xen,enhanced node actually meant:
> 
>    xen,enhanced = "xenstore,gnttab,evtchn";

Correct.

> 
> and now we are only enabling a subset:
> 
>    xen,enhanced = "evtchn";
> 
> Is that a correct understanding?

Yes with some cavears (see below).

> 
> 
> If so, we can clarify that:
> 
>    xen,enhanced;
> 
> it is a convenient shortend for:
> 
>    xen,enhanced = "xenstore,gnttab,evtchn";
> 
> and that other combinations are also acceptable, e.g.:
> 
>    xen,enhanced = "gnttab";
>    xen,enhanced = "evtchn";
>    xen,enhanced = "evtchn,gnttab";
> 
> It is OK to panic if the user specifies an option that is currently
> unsupported (e.g. "gnttab").

So today, if you create the node "xen,xen", the guest will expect to be 
able to use both grant-table and event channel.

Therefore, in the list above, the only configuration we can sensibly 
support without any major rework is "evtchn,gnttab".

If we want to support "evtchn" or "gnttab" only. Then we likely need to 
define a new binding (or new version) because neither "regs" nor 
"interrupts" are optional (although a guest OS is free to ignore them).

> 
> In practice xenstore requires both gnttab and evtchn, I don't know if we
> want to write that down in the device tree bindings. We could panic if
> the user specifies: xen,enhanced = "xenstore,evtchn";

I think the interface for dom0less domUs is quite messy at the moment. 
Even if we don't advertise the support for event channel and 
grant-table, hypercalls. They are still accessible if the guest wish to 
do so.

If we decide to introduce "evtchn", "gnttab" & co then we should also 
make sure that if "evtchn" is not specified then we are not allowing the 
guest to allocate any event channel (or map the grant-table).

Otherwise, this is pointless if we try to tell the user "evtchn", 
"gnttab"...

And just to be clear, I would be perfectly happy to break anyone trying
to use event channel without "xen,enanced" because we didn't advertise 
the feature. So they should not use it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 00:32:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 00:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392980.631650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR0mi-0006li-Ee; Thu, 25 Aug 2022 00:31:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392980.631650; Thu, 25 Aug 2022 00:31:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR0mi-0006lb-C5; Thu, 25 Aug 2022 00:31:48 +0000
Received: by outflank-mailman (input) for mailman id 392980;
 Thu, 25 Aug 2022 00:31:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR0mg-0006lR-J6; Thu, 25 Aug 2022 00:31:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR0mg-0001HG-EY; Thu, 25 Aug 2022 00:31:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR0mf-0007CD-VF; Thu, 25 Aug 2022 00:31:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oR0mf-0006B8-Un; Thu, 25 Aug 2022 00:31:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6AXdwEuFabgn3a63628+QXDpASVbldmIiOMaTar66Jc=; b=YBL8ii623Lm498d/jKwg6ORy18
	m6uwh0fT2AS6n6+IXiB4Ikn31ysPZEMysaNdi4gchQ27k4JVCp/BiODgxYfZ/L6u7x7B0FURhakkD
	FsYQzZjvBEuQrY9yviz8AWKSJQgNsy6bkNdG/7BmvBV+/GRkuSnpUeBxbFdYHi53HzT8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172754-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172754: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=fc151829bac48f05a307bfd5ad450b3c0ae2a808
X-Osstest-Versions-That:
    xen=399bcbf281bd936d1eff7f7d1054ab49115c3a44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 00:31:45 +0000

flight 172754 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172754/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172741
 build-i386-libvirt            6 libvirt-build                fail  like 172741
 build-arm64-libvirt           6 libvirt-build                fail  like 172741
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172741
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172741
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172741
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172741
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172741
 build-armhf-libvirt           6 libvirt-build                fail  like 172741
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172741
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172741
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172741
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172741
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  fc151829bac48f05a307bfd5ad450b3c0ae2a808
baseline version:
 xen                  399bcbf281bd936d1eff7f7d1054ab49115c3a44

Last test of basis   172741  2022-08-24 01:41:36 Z    0 days
Testing same since   172754  2022-08-24 13:55:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rahul Singh <rahul.singh@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   399bcbf281..fc151829ba  fc151829bac48f05a307bfd5ad450b3c0ae2a808 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 01:05:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 01:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392989.631665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR1Iy-0008Ru-9F; Thu, 25 Aug 2022 01:05:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392989.631665; Thu, 25 Aug 2022 01:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR1Iy-0008Rn-62; Thu, 25 Aug 2022 01:05:08 +0000
Received: by outflank-mailman (input) for mailman id 392989;
 Thu, 25 Aug 2022 01:05:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CXX7=Y5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oR1Iw-0008Rh-8M
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 01:05:06 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140077.outbound.protection.outlook.com [40.107.14.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2ae8d82-2411-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 03:05:03 +0200 (CEST)
Received: from DB6PR07CA0049.eurprd07.prod.outlook.com (2603:10a6:6:2a::11) by
 AS4PR08MB8117.eurprd08.prod.outlook.com (2603:10a6:20b:589::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 01:04:50 +0000
Received: from DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:2a:cafe::3d) by DB6PR07CA0049.outlook.office365.com
 (2603:10a6:6:2a::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.3 via Frontend
 Transport; Thu, 25 Aug 2022 01:04:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT059.mail.protection.outlook.com (100.127.142.102) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Thu, 25 Aug 2022 01:04:49 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Thu, 25 Aug 2022 01:04:49 +0000
Received: from 515c51ad4efe.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 57175A83-283A-4585-A4EF-4989D9E6B8C1.1; 
 Thu, 25 Aug 2022 01:04:43 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 515c51ad4efe.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 25 Aug 2022 01:04:43 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM5PR0801MB1618.eurprd08.prod.outlook.com (2603:10a6:203:37::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 01:04:41 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 01:04:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2ae8d82-2411-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=KimXK6ZVQLXrGXRSHuub1Ra/x9NV5QOvz7PQ4PLMZE56K0kztvXLH+HmXPgoQO2Rq9YvDhh40NsNACrCen4afijX1iOHftZeTaD4v6L4XYnAPgGy7JJ18MZiwkSY2h3dMneVfZjSLld7tIveIFYey1Fz6IhhboQ+wmuLblBd0G8Ws1FdeUidF0KldokADBcwaMLkevCJVpc9xL3wCtTleXmA/JVZlzjlEc6gp379D6p2/hGh3I+M8YjQ+/PZYnFFni39t3yY7CNOS5lyRREwI+7DERxC2J2TV3z9MNfq3LuTdSb0hPcYPzDDsEaCYkEklb2eYI1LdgfzRu3P9ShIpg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5uxMi8NdCFS6azrqEu/MbtKTnWjYBCx3Q2X5WXhIB9k=;
 b=MoyA5G1Kk8+NhyYI567/3eUX15UaSof0WuGqPV0eXCxuJNy8Is7SAyqkrxKKQVFGAlGgw0Jlto63lanAEtqjo7OGp0JPLlGdBjRLgBlE3nv8/nEsq8DnFOD0r2uidZsKfPLvgMHze42BdA4hWoRJKRxiUhFC4KdBdCpLhQqvVNRtBSFCMCRPiNkcYGuxLVtORCgbNwzjLO804aZF5FVrZRDXtsqn56asMN1NRfgtR2QkUTuvwNLiScwqhBZGXsXlt/KZIks2prBTg05pyYXXZXmPrpCI8w82A1eV1yZen48VQJXWejFnZSG3aD6ek8VHdROp0hUZlqqSgasHGZqiig==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5uxMi8NdCFS6azrqEu/MbtKTnWjYBCx3Q2X5WXhIB9k=;
 b=j6+YMJA362ppaEzZfWJ8Rvy1YNiitsMnPtfXBYiPX/5yktP6GcVkJboplj2oSbwMLTt7fx2Fj2HGeD8N8gRCZO9kDYW2FB+DJEWWX5NvsqJgeUQg6GQkHCZZAWTynmdVUdqnuS2YfrE0tgi39i57Q4DxPHWOv2dZa+iR5F2GRU4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l1f9HXdySdkYxmQLRlPLnXyWG3yy3W1cWAXU16maoID5x/6qzHZNgFQnnWDI0v00hrm2HnWccFgIexLG4esJZn8msHRpG631UpuweLLdAjwCxkkM/z4GbzzENtC1ayefT5R20p8WtMQ5HyZgw/aPOnm1toGK2rYMJmXKwbHP2f3Z3prZrG0w3q8F9ykGCNKs56MCngHTWuFhbkLsRGEZiL/v2hLsN7mzXWR/Pf/Mr6hV3u7BDLTXMe7lJyxlyljCQPk3s7/mdPBF9nY89cJT8rYtbTXFjDt2n8gdueTp9+t3PXAqQXzDTi0O0a1nqNtMGmx42+AaNY9qDDx44Eru2Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5uxMi8NdCFS6azrqEu/MbtKTnWjYBCx3Q2X5WXhIB9k=;
 b=b25IcSQl1QaA2RzwJXg1R9NMYEZ/adpqBq8796A4Ml2zFGDKx79i9Opq6DNODc/oKVVL59dMtz0LzTQZznOh/EbR2Zty+JQ21g+1AGMh3JaHgR+zkxZyYx4tbeo6KXsUWKrmRuNmrsav0XffH6aDcogheX/c0tVhLxHkxPD2QcHFGb85TyAPuB6KERsz4bldI8jzIkrt5D/8z8EqmX1EVfNTXcKWQ8xAUyov2UfBoFl30VumrzAm2nHXHjmc8bmuT0p6ucsUsZHDVSerxfFcBKL+0qeUmCjq1HykmNn3r9B+8AjzbQ4OtY7C+vERQsWKs2tLotyYu/hj4DcsuGMN3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5uxMi8NdCFS6azrqEu/MbtKTnWjYBCx3Q2X5WXhIB9k=;
 b=j6+YMJA362ppaEzZfWJ8Rvy1YNiitsMnPtfXBYiPX/5yktP6GcVkJboplj2oSbwMLTt7fx2Fj2HGeD8N8gRCZO9kDYW2FB+DJEWWX5NvsqJgeUQg6GQkHCZZAWTynmdVUdqnuS2YfrE0tgi39i57Q4DxPHWOv2dZa+iR5F2GRU4=
From: Henry Wang <Henry.Wang@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Penny
 Zheng <Penny.Zheng@arm.com>
Subject: RE: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Thread-Topic: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Thread-Index: AQHYt4ueuuTQX+2f5E69518db+C55q2+ENkAgAC6AOA=
Date: Thu, 25 Aug 2022 01:04:38 +0000
Message-ID:
 <AS8PR08MB7991A2A6EF808136FBF090F392729@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-2-Henry.Wang@arm.com>
 <af2f8888-7223-429e-cc7e-b0950f759608@amd.com>
In-Reply-To: <af2f8888-7223-429e-cc7e-b0950f759608@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: B3889E599FA8374890B8DAA01DF24BA1.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 49d22368-2abb-4cd9-95ce-08da8635cf35
x-ms-traffictypediagnostic:
	AM5PR0801MB1618:EE_|DBAEUR03FT059:EE_|AS4PR08MB8117:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 A2FSpuvwvs4ZaCw3/KyMcsujd1xczBjPpCxXZj2L2k8/b5Fr6oFyCDufsncpqJT9sfbcCV9+4uUBYKwvIoDBb6d/Ky8du2x9fWcoheWLG/JACmzXUomPYXUJJyYw4BcdCgEqsW/ruuzxPuz3jhkwu1lh61NUO0uGiZClSHuJiJVf+kogfHFZ+j4YTYE4v2xgNOl7O81eDlP+KOqRCkU69OkqxIZEQMjqcACYIw6GnYugjVMRChog2dm/3LzLdSI9IOeB44+c9c6Z8cyTia470NAjoAtb2HT8zItdPF8BAGisHr+aWFyN7kEXx2xLlciAVJjYDtYWt4wf0OQ4wEj2z01TjG82WkFYmsxQsxK7bOuAr/9bb+gB+ENoqFJFp/LDdMPAPAwHLrXBeJSTu7gcqIgUTW5UlpUjwgtatCXaHn7vBuSjvYH+a9flBhV8dyPUNJ7PPdKI09F1bvUc+gOpeWD4cu5gNPFUW4L1hJdR67aDQljn4dbebMX48w9N1gw7g7dRVNJQhZvf3BFCfbRu93Iea7ZTt3rMCxPf/G4yFN18WiRMYpZn/fwbHeZ9Ncvwv5CUcoI0xjMv7/s5tVVS7ayP10gMmwKB2DpNwV6QaYp+tCArPwvSPWMGoGk3GhuU3rH4I1qwQKU7V6Vsd/8lM8ZGkWDxNbbXfYzZ4ho0iNqZxHk32xzlEXPzslRs1E8Fw7hswTfT/GIMJ7+IJ9slg8l5Q5jYCy71mWSHOPu3eX7z5AsaapaQbtE4zMuZS9Ck9sbUGMg0VeUq8YHjLMWY0w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(376002)(136003)(366004)(396003)(83380400001)(38070700005)(186003)(54906003)(4326008)(8676002)(66476007)(71200400001)(66446008)(66556008)(64756008)(110136005)(76116006)(316002)(66946007)(26005)(7696005)(6506007)(41300700001)(33656002)(9686003)(8936002)(52536014)(478600001)(5660300002)(55016003)(38100700002)(122000001)(86362001)(2906002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1618
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	29925d53-47a8-4a2d-16a7-08da8635c8cf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	szV8db7NY3RfQQIXXdX4CYYQAlgCbStgvWBoByUSrvpYbEgo0NwIXQBX+mEmhKFc5DNxrmTtu3eJZIWfI/77UwBWCVUDcKoFI7Y3GHAkUctYGh8pna98seD8zLJiFilFr+AYN8gxUjTroh68YrnmSzsrlMwwsproROEo1N8C7AK85YCf300VxL/brdtjOgloOY84+zckGJYKfKQXLB0ql3BTEais2jbzCMbk7Bid9hG9nfGWuFcICIHYnIosIKZJABk1erC2w1Qszq7xTaYoszCMenUr7GQaYthQiinDReDYP8f2xg/qeg4VUDJoPsczkRmz3NMAR36Tk2j4ctJlukpdjW9LFaOP4cMX0aNCqDi9AU+mpk9scWzBqSzZtLQPWTQvU/vP72GGqq5zVPZcUEVmlkhv9Cu9F4JQ5dJR9bBSTBciSlL0T/5Bq7AAiIhiVpmJD43Yuq25x3Hqtt1C6WWfKqsvZJfKcrIaMeRlXlTRJ0R3KybZdt5NKdBfupNja1di6vQ4Dpr7b3u3pZ6pnpLohWlWENZ8BopQ6KUNNPfPNzFbrWZfslZWkAmUKruDJujVhcONOQVfxfVdlmdHKBXGAi+iqeh3xF+FOSSCc3Z6RO406Iig89rn9KWp7psIDmhDY+x+rDn4Rq9zZdRdBsDtuYXi9xQvCjEVY7OmU+Z8+K+bemcAejkwaV4fq7goSL+2KkyKyGUNBtvkcPnPUtsyEGPJ4LAH4Ju3t1mttiHUvmFP7zrb5QgPCyLRMaGgMnTy3lGE4+gKBDDDNJQuPQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(396003)(376002)(346002)(46966006)(36840700001)(40470700004)(86362001)(54906003)(82310400005)(316002)(110136005)(336012)(41300700001)(4326008)(70586007)(55016003)(70206006)(40480700001)(9686003)(356005)(6506007)(7696005)(26005)(8676002)(83380400001)(186003)(5660300002)(8936002)(81166007)(47076005)(478600001)(40460700003)(82740400003)(2906002)(33656002)(52536014)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 01:04:49.3974
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 49d22368-2abb-4cd9-95ce-08da8635cf35
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8117

SGkgTWljaGFsLA0KDQpJdCBpcyBncmVhdCB0byBoZWFyIGZyb20geW91ISBIb3BlIHlvdSBhcmUg
ZG9pbmcgd2VsbC4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNaWNo
YWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDEv
Ml0gZG9jcywgeGVuL2FybTogSW50cm9kdWNlIHJlc2VydmVkIGhlYXAgbWVtb3J5DQo+IEhpIEhl
bnJ5LA0KPiA+ICt0byBwYXJ0cyBvZiBSQU0gcmVzZXJ2ZWQgaW4gdGhlIGJlZ2lubmluZyBmb3Ig
aGVhcC4gVGhlIG1lbW9yeSBpcw0KPiByZXNlcnZlZCBieQ0KPiBJIHRoaW5rIHdlIGFyZSBtaXNz
aW5nICIuLi4gaW4gdGhlIGJlZ2lubmluZyIgb2Ygd2hhdC4NCg0KQ29ycmVjdCwgSSB3aWxsIGNo
YW5nZSBpdCB0byAiLi4uIGluIHRoZSBiZWdpbm5pbmcgb2YgYm9vdCB0aW1lIi4NCg0KPiANCj4g
PiArY29uZmlndXJhdGlvbiBpbiB0aGUgZGV2aWNlIHRyZWUgdXNpbmcgcGh5c2ljYWwgYWRkcmVz
cyByYW5nZXMuDQo+ID4gKw0KPiA+ICtUaGUgcmVzZXJ2ZWQgaGVhcCBtZW1vcnkgZGVjbGFyZWQg
aW4gdGhlIGRldmljZSB0cmVlIGRlZmluZXMgdGhlDQo+IG1lbW9yeSBhcmVhcw0KPiA+ICt0aGF0
IHdpbGwgYmUgcmVzZXJ2ZWQgdG8gYmUgdXNlZCBleGNsdXNpdmVseSBhcyBoZWFwLg0KPiA+ICsN
Cj4gPiArLSBGb3IgQXJtMzIsIHNpbmNlIHRoZXJlIGNhbiBiZSBzZXBlcmF0ZWQgaGVhcHMsIHRo
ZSByZXNlcnZlZCBoZWFwIHdpbGwNCj4gYmUgdXNlZA0KPiBNYXliZSAidGhlcmUgYXJlIiBpbnN0
ZWFkIG9mICJ0aGVyZSBjYW4gYmUiIGFzIHdlIGRvIGRlZmluZSBmb3IgQXJtMzI6DQo+ICNkZWZp
bmUgQ09ORklHX1NFUEFSQVRFX1hFTkhFQVAgMQ0KPiBhbmQgSSBkbyBub3QgdGhpbmsgd2UgaGF2
ZSBzb21lIGZsZXhpYmlsaXR5IHRvIGNoYW5nZSB0aGlzLg0KDQpBY2suDQoNCj4gDQo+ID4gK2Zv
ciBib3RoIGRvbWhlYXAgYW5kIHhlbmhlYXAuDQo+ID4gKy0gRm9yIEFybTY0LCBzaW5jZSBkb21o
ZWFwIGFuZCB4ZW5oZWFwIGFyZSB0aGUgc2FtZSwgdGhlIGRlZmluZWQNCj4gcmVzZXJ2ZWQgaGVh
cA0KPiBJbnN0ZWFkIG9mIHdyaXRpbmcgInNpbmNlIGRvbWhlYXAgYW5kIHhlbmhlYXAgYXJlIHRo
ZSBzYW1lIiBtYXliZSBpdCdkIGJlDQo+IGJldHRlciB0byB3cml0ZToNCj4gIkZvciBBcm02NCwg
YXMgdGhlcmUgaXMgYSBzaW5nbGUgaGVhcC4uLiINCg0KWWVwLCB3aWxsIGNoYW5nZSBpbiB2Mi4N
Cg0KPiANCj4gPiArYXJlYXMgc2hhbGwgYWx3YXlzIGdvIHRvIHRoZSBoZWFwIGFsbG9jYXRvci4N
Cj4gPiArDQo+ID4gK1RoZSByZXNlcnZlZCBoZWFwIG1lbW9yeSBpcyBhbiBvcHRpb25hbCBmZWF0
dXJlIGFuZCBjYW4gYmUgZW5hYmxlZCBieQ0KPiBhZGRpbmcgYQ0KPiA+ICtkZXZpY2UgdHJlZSBw
cm9wZXJ0eSBpbiB0aGUgYGNob3NlbmAgbm9kZS4gQ3VycmVudGx5LCB0aGlzIGZlYXR1cmUgcmV1
c2VzDQo+IHRoZQ0KPiA+ICtzdGF0aWMgbWVtb3J5IGFsbG9jYXRpb24gZGV2aWNlIHRyZWUgY29u
ZmlndXJhdGlvbi4NCj4gPiArDQo+ID4gK1RoZSBkdGIgcHJvcGVydHkgc2hvdWxkIGxvb2sgbGlr
ZSBhcyBmb2xsb3dzOg0KPiA+ICsNCj4gPiArLSBwcm9wZXJ0eSBuYW1lDQo+ID4gKw0KPiA+ICsg
ICAgInhlbixzdGF0aWMtbWVtIiAoU2hvdWxkIGJlIHVzZWQgaW4gdGhlIGBjaG9zZW5gIG5vZGUp
DQo+ID4gKw0KPiA+ICstIGNlbGxzDQo+ID4gKw0KPiA+ICsgICAgU3BlY2lmeSB0aGUgc3RhcnQg
YWRkcmVzcyBhbmQgdGhlIGxlbmd0aCBvZiB0aGUgcmVzZXJ2ZWQgaGVhcCBtZW1vcnkuDQo+ID4g
KyAgICBUaGUgbnVtYmVyIG9mIGNlbGxzIGZvciB0aGUgYWRkcmVzcyBhbmQgdGhlIHNpemUgc2hv
dWxkIGJlIGRlZmluZWQNCj4gPiArICAgIHVzaW5nIHRoZSBwcm9wZXJ0aWVzIGAjeGVuLHN0YXRp
Yy1tZW0tYWRkcmVzcy1jZWxsc2AgYW5kDQo+ID4gKyAgICBgI3hlbixzdGF0aWMtbWVtLXNpemUt
Y2VsbHNgIHJlc3BlY3RpdmVseS4NCj4gPiArDQo+ID4gK0JlbG93IGlzIGFuIGV4YW1wbGUgb24g
aG93IHRvIHNwZWNpZnkgdGhlIHJlc2VydmVkIGhlYXAgaW4gZGV2aWNlIHRyZWU6DQo+ID4gKw0K
PiA+ICsgICAgLyB7DQo+ID4gKyAgICAgICAgY2hvc2VuIHsNCj4gPiArICAgICAgICAgICAgI3hl
bixzdGF0aWMtbWVtLWFkZHJlc3MtY2VsbHMgPSA8MHgyPjsNCj4gPiArICAgICAgICAgICAgI3hl
bixzdGF0aWMtbWVtLXNpemUtY2VsbHMgPSA8MHgyPjsNCj4gPiArICAgICAgICAgICAgeGVuLHN0
YXRpYy1tZW0gPSA8MHgwIDB4MzAwMDAwMDAgMHgwIDB4NDAwMDAwMDA+Ow0KPiBQbGVhc2UgYWRk
ICIuLi4iIGhlcmUgYXMgdGhpcyBkb2VzIG5vdCByZXByZXNlbnQgdGhlIGNvbXBsZXRlIHdvcmtp
bmcgY2hvc2VuDQo+IG5vZGUuDQoNClN1cmUsIHdpbGwgYWRkIGluIHYyLg0KDQo+IA0KPiA+ICsg
ICAgICAgIH07DQo+ID4gKyAgICB9Ow0KPiA+ICsNCj4gPiArUkFNIGF0IDB4MzAwMDAwMDAgb2Yg
MUcgc2l6ZSB3aWxsIGJlIHJlc2VydmVkIGFzIGhlYXAuDQo+ID4gKw0KPiA+IGRpZmYgLS1naXQg
YS94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jIGIveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYw0KPiA+IGlu
ZGV4IGVjODFhNDVkZTkuLjMzNzA0Y2E0ODcgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gvYXJt
L2Jvb3RmZHQuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9ib290ZmR0LmMNCj4gPiBAQCAtNjQs
NyArNjQsOCBAQCB2b2lkIF9faW5pdCBkZXZpY2VfdHJlZV9nZXRfcmVnKGNvbnN0IF9fYmUzMiAq
KmNlbGwsDQo+IHUzMiBhZGRyZXNzX2NlbGxzLA0KPiA+ICBzdGF0aWMgaW50IF9faW5pdCBkZXZp
Y2VfdHJlZV9nZXRfbWVtaW5mbyhjb25zdCB2b2lkICpmZHQsIGludCBub2RlLA0KPiA+ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwcm9wX25h
bWUsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBh
ZGRyZXNzX2NlbGxzLCB1MzIgc2l6ZV9jZWxscywNCj4gPiAtICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwgYm9vbCB4ZW5fZG9tYWluKQ0KPiA+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhLCBib29s
IHhlbl9kb21haW4sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgeGVuX2hlYXApDQo+ID4gIHsNCj4gPiAgICAgIGNvbnN0IHN0cnVjdCBmZHRfcHJv
cGVydHkgKnByb3A7DQo+ID4gICAgICB1bnNpZ25lZCBpbnQgaSwgYmFua3M7DQo+ID4gQEAgLTk2
LDYgKzk3LDcgQEAgc3RhdGljIGludCBfX2luaXQgZGV2aWNlX3RyZWVfZ2V0X21lbWluZm8oY29u
c3Qgdm9pZA0KPiAqZmR0LCBpbnQgbm9kZSwNCj4gPiAgICAgICAgICBtZW0tPmJhbmtbbWVtLT5u
cl9iYW5rc10uc3RhcnQgPSBzdGFydDsNCj4gPiAgICAgICAgICBtZW0tPmJhbmtbbWVtLT5ucl9i
YW5rc10uc2l6ZSA9IHNpemU7DQo+ID4gICAgICAgICAgbWVtLT5iYW5rW21lbS0+bnJfYmFua3Nd
Lnhlbl9kb21haW4gPSB4ZW5fZG9tYWluOw0KPiA+ICsgICAgICAgIG1lbS0+YmFua1ttZW0tPm5y
X2JhbmtzXS54ZW5faGVhcCA9IHhlbl9oZWFwOw0KPiA+ICAgICAgICAgIG1lbS0+bnJfYmFua3Mr
KzsNCj4gPiAgICAgIH0NCj4gPg0KPiA+IEBAIC0xODUsNyArMTg3LDcgQEAgc3RhdGljIGludCBf
X2luaXQgcHJvY2Vzc19tZW1vcnlfbm9kZShjb25zdCB2b2lkDQo+ICpmZHQsIGludCBub2RlLA0K
PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEpDQo+
ID4gIHsNCj4gPiAgICAgIHJldHVybiBkZXZpY2VfdHJlZV9nZXRfbWVtaW5mbyhmZHQsIG5vZGUs
ICJyZWciLCBhZGRyZXNzX2NlbGxzLA0KPiBzaXplX2NlbGxzLA0KPiA+IC0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIGZhbHNlKTsNCj4gPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkYXRhLCBmYWxzZSwgZmFsc2UpOw0KPiA+ICB9DQo+ID4NCj4g
PiAgc3RhdGljIGludCBfX2luaXQgcHJvY2Vzc19yZXNlcnZlZF9tZW1vcnlfbm9kZShjb25zdCB2
b2lkICpmZHQsIGludCBub2RlLA0KPiA+IEBAIC0yOTMsNyArMjk1LDcgQEAgc3RhdGljIHZvaWQg
X19pbml0IHByb2Nlc3NfbXVsdGlib290X25vZGUoY29uc3QNCj4gdm9pZCAqZmR0LCBpbnQgbm9k
ZSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAga2luZCwgc3RhcnQsIGRvbVUpOw0KPiA+ICB9
DQo+ID4NCj4gPiAtc3RhdGljIHZvaWQgX19pbml0IHByb2Nlc3NfY2hvc2VuX25vZGUoY29uc3Qg
dm9pZCAqZmR0LCBpbnQgbm9kZSwNCj4gPiArc3RhdGljIGludCBfX2luaXQgcHJvY2Vzc19jaG9z
ZW5fbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLA0KPiBZb3UgZG8gbm90IHJlYWxseSBu
ZWVkIHRvIGNoYW5nZSB0aGUgcmV0dXJuIHR5cGUgb2YgdGhpcyBmdW5jdGlvbi4NCj4gQ3VycmVu
dGx5IHByb2Nlc3NfY2hvc2VuX25vZGUganVzdCByZXR1cm5zIG9uIGFuIGVycm9yIGNvbmRpdGlv
biBzbyB5b3UNCj4gY291bGQgZG8gdGhlIHNhbWUuDQoNClRoYW5rcyBmb3IgcG9pbnRpbmcgdGhp
cyBvdXQsIHdpbGwgZG8gaW4gdjIuDQoNCj4gDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsDQo+ID4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHUzMiBhZGRyZXNzX2NlbGxzLCB1MzIgc2l6ZV9jZWxscykN
Cj4gPiAgew0KPiA+IEBAIC0zMDEsMTYgKzMwMyw0MCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcHJv
Y2Vzc19jaG9zZW5fbm9kZShjb25zdA0KPiB2b2lkICpmZHQsIGludCBub2RlLA0KPiA+ICAgICAg
cGFkZHJfdCBzdGFydCwgZW5kOw0KPiA+ICAgICAgaW50IGxlbjsNCj4gPg0KPiA+ICsgICAgaWYg
KCBmZHRfZ2V0X3Byb3BlcnR5KGZkdCwgbm9kZSwgInhlbixzdGF0aWMtbWVtIiwgTlVMTCkgKQ0K
PiA+ICsgICAgew0KPiA+ICsgICAgICAgIHUzMiBhZGRyZXNzX2NlbGxzID0gZGV2aWNlX3RyZWVf
Z2V0X3UzMihmZHQsIG5vZGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICIjeGVuLHN0YXRpYy1tZW0tYWRkcmVzcy1jZWxscyIsDQo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOw0KPiA+ICsg
ICAgICAgIHUzMiBzaXplX2NlbGxzID0gZGV2aWNlX3RyZWVfZ2V0X3UzMihmZHQsIG5vZGUsDQo+
ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIjeGVuLHN0
YXRpYy1tZW0tc2l6ZS1jZWxscyIsIDApOw0KPiA+ICsgICAgICAgIGludCByYzsNCj4gPiArDQo+
ID4gKyAgICAgICAgcHJpbnRrKCJDaGVja2luZyBmb3IgcmVzZXJ2ZWQgaGVhcCBpbiAvY2hvc2Vu
XG4iKTsNCj4gPiArICAgICAgICBpZiAoIGFkZHJlc3NfY2VsbHMgPCAxIHx8IHNpemVfY2VsbHMg
PCAxICkNCj4gYWRkcmVzc19jZWxscyBhbmQgc2l6ZV9jZWxscyBjYW5ub3QgYmUgbmVnYXRpdmUg
c28geW91IGNvdWxkIGp1c3QgY2hlY2sgaWYNCj4gdGhlcmUgYXJlIDAuDQoNCkluIGJvb3RmZHQu
YyBmdW5jdGlvbiBkZXZpY2VfdHJlZV9nZXRfbWVtaW5mbygpLCB0aGUgYWRkcmVzcyBhbmQgc2l6
ZSBjZWxscw0KYXJlIGNoZWNrZWQgdXNpbmcgPDEgaW5zdGVhZCBvZiA9MC4gSSBhZ3JlZSB0aGV5
IGNhbm5vdCBiZSBuZWdhdGl2ZSwgYnV0IEkgYW0NCm5vdCB2ZXJ5IHN1cmUgaWYgdGhlcmUgd2Vy
ZSBvdGhlciByZWFzb25zIHRvIGRvIHRoZSAiPDEiIGNoZWNrIGluDQpkZXZpY2VfdHJlZV9nZXRf
bWVtaW5mbygpLiBBcmUgeW91IGZpbmUgd2l0aCB3ZSBkb24ndCBrZWVwIHRoZSBjb25zaXN0ZW5j
eQ0KaGVyZT8NCg0KPiANCj4gPiArICAgICAgICB7DQo+ID4gKyAgICAgICAgICAgIHByaW50aygi
ZmR0OiBub2RlIGAlcyc6IGludmFsaWQgI3hlbixzdGF0aWMtbWVtLWFkZHJlc3MtY2VsbHMgb3IN
Cj4gI3hlbixzdGF0aWMtbWVtLXNpemUtY2VsbHNcbiIsDQo+ID4gKyAgICAgICAgICAgICAgICAg
ICBuYW1lKTsNCj4gPiArICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICAgICAg
fQ0KPiA+ICsNCj4gPiArICAgICAgICByYyA9IGRldmljZV90cmVlX2dldF9tZW1pbmZvKGZkdCwg
bm9kZSwgInhlbixzdGF0aWMtbWVtIiwNCj4gYWRkcmVzc19jZWxscywNCj4gPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfY2VsbHMsICZib290aW5mby5yZXNlcnZl
ZF9tZW0sIGZhbHNlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJ1ZSk7DQo+ID4gKyAgICAgICAgaWYgKCByYyApDQo+ID4gKyAgICAgICAgICAgIHJldHVybiBy
YzsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gICAgICBwcmludGsoIkNoZWNraW5nIGZvciBpbml0
cmQgaW4gL2Nob3NlblxuIik7DQo+ID4NCj4gPiAgICAgIHByb3AgPSBmZHRfZ2V0X3Byb3BlcnR5
KGZkdCwgbm9kZSwgImxpbnV4LGluaXRyZC1zdGFydCIsICZsZW4pOw0KPiA+ICAgICAgaWYgKCAh
cHJvcCApDQo+ID4gICAgICAgICAgLyogTm8gaW5pdHJkIHByZXNlbnQuICovDQo+ID4gLSAgICAg
ICAgcmV0dXJuOw0KPiA+ICsgICAgICAgIHJldHVybiAwOw0KPiA+ICAgICAgaWYgKCBsZW4gIT0g
c2l6ZW9mKHUzMikgJiYgbGVuICE9IHNpemVvZih1NjQpICkNCj4gPiAgICAgIHsNCj4gPiAgICAg
ICAgICBwcmludGsoImxpbnV4LGluaXRyZC1zdGFydCBwcm9wZXJ0eSBoYXMgaW52YWxpZCBsZW5n
dGggJWRcbiIsIGxlbik7DQo+ID4gLSAgICAgICAgcmV0dXJuOw0KPiA+ICsgICAgICAgIHJldHVy
biAtRUlOVkFMOw0KPiBUaGlzIGNoYW5nZSBicmVha3MgdGhlIGN1cnJlbnQgYmVoYXZpb3IgYW5k
IHdpbGwgcmVzdWx0IGluIHRyaWdnZXJpbmcgdGhlDQo+IHByaW50ayBpbiBlYXJseV9zY2FuX25v
ZGUgZm9yIHBhcnNpbmcgZmFpbHVyZS4NCj4gSXMgdGhpcyBpbnRlbmRlZD8gSWYgc28sIHlvdSBj
b3VsZCBtZW50aW9uIHRoaXMgaW4gdGhlIGNvbW1pdCBtc2cuDQoNCkkgdGhpbmsgSSB3aWxsIGZv
bGxvdyB5b3VyIGFkdmljZSBhYm92ZSBmb3IgdGhlIHJldHVybiB0eXBlIHNvIGhlcmUgd2Ugd29u
J3QNCmhhdmUgYW55IGNoYW5nZXMgaW4gdjIuDQoNCj4gDQo+ID4gICAgICB9DQo+ID4gICAgICBz
dGFydCA9IGR0X3JlYWRfbnVtYmVyKCh2b2lkICopJnByb3AtPmRhdGEsIGR0X3NpemVfdG9fY2Vs
bHMobGVuKSk7DQo+ID4NCj4gPiBAQCAtMzE4LDEyICszNDQsMTIgQEAgc3RhdGljIHZvaWQgX19p
bml0IHByb2Nlc3NfY2hvc2VuX25vZGUoY29uc3QNCj4gdm9pZCAqZmR0LCBpbnQgbm9kZSwNCj4g
PiAgICAgIGlmICggIXByb3AgKQ0KPiA+ICAgICAgew0KPiA+ICAgICAgICAgIHByaW50aygibGlu
dXgsaW5pdHJkLWVuZCBub3QgcHJlc2VudCBidXQgLXN0YXJ0IHdhc1xuIik7DQo+ID4gLSAgICAg
ICAgcmV0dXJuOw0KPiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICAgICAgfQ0KPiA+
ICAgICAgaWYgKCBsZW4gIT0gc2l6ZW9mKHUzMikgJiYgbGVuICE9IHNpemVvZih1NjQpICkNCj4g
PiAgICAgIHsNCj4gPiAgICAgICAgICBwcmludGsoImxpbnV4LGluaXRyZC1lbmQgcHJvcGVydHkg
aGFzIGludmFsaWQgbGVuZ3RoICVkXG4iLCBsZW4pOw0KPiA+IC0gICAgICAgIHJldHVybjsNCj4g
PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiAgICAgIH0NCj4gPiAgICAgIGVuZCA9IGR0
X3JlYWRfbnVtYmVyKCh2b2lkICopJnByb3AtPmRhdGEsIGR0X3NpemVfdG9fY2VsbHMobGVuKSk7
DQo+ID4NCj4gPiBAQCAtMzMxLDEyICszNTcsMTQgQEAgc3RhdGljIHZvaWQgX19pbml0IHByb2Nl
c3NfY2hvc2VuX25vZGUoY29uc3QNCj4gdm9pZCAqZmR0LCBpbnQgbm9kZSwNCj4gPiAgICAgIHsN
Cj4gPiAgICAgICAgICBwcmludGsoImxpbnV4LGluaXRyZCBsaW1pdHMgaW52YWxpZDogJSJQUklw
YWRkciIgPj0gJSJQUklwYWRkciJcbiIsDQo+ID4gICAgICAgICAgICAgICAgICAgIHN0YXJ0LCBl
bmQpOw0KPiA+IC0gICAgICAgIHJldHVybjsNCj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsN
Cj4gPiAgICAgIH0NCj4gPg0KPiA+ICAgICAgcHJpbnRrKCJJbml0cmQgJSJQUklwYWRkciItJSJQ
UklwYWRkciJcbiIsIHN0YXJ0LCBlbmQpOw0KPiA+DQo+ID4gICAgICBhZGRfYm9vdF9tb2R1bGUo
Qk9PVE1PRF9SQU1ESVNLLCBzdGFydCwgZW5kLXN0YXJ0LCBmYWxzZSk7DQo+ID4gKw0KPiA+ICsg
ICAgcmV0dXJuIDA7DQo+ID4gIH0NCj4gPg0KPiA+ICBzdGF0aWMgaW50IF9faW5pdCBwcm9jZXNz
X2RvbWFpbl9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsDQo+ID4gQEAgLTM1OCw3ICsz
ODYsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwcm9jZXNzX2RvbWFpbl9ub2RlKGNvbnN0IHZvaWQN
Cj4gKmZkdCwgaW50IG5vZGUsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiI3hlbixzdGF0aWMtbWVtLXNpemUtY2VsbHMiLCAwKTsNCj4gPg0KPiA+ICAgICAgcmV0
dXJuIGRldmljZV90cmVlX2dldF9tZW1pbmZvKGZkdCwgbm9kZSwgInhlbixzdGF0aWMtbWVtIiwN
Cj4gYWRkcmVzc19jZWxscywNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplX2NlbGxzLCAmYm9vdGluZm8ucmVzZXJ2ZWRfbWVtLCB0cnVlKTsNCj4gPiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX2NlbGxzLCAmYm9vdGluZm8ucmVzZXJ2
ZWRfbWVtLCB0cnVlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh
bHNlKTsNCj4gPiAgfQ0KPiA+DQo+ID4gIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X3NjYW5fbm9k
ZShjb25zdCB2b2lkICpmZHQsDQo+ID4gQEAgLTM4Myw3ICs0MTIsNyBAQCBzdGF0aWMgaW50IF9f
aW5pdCBlYXJseV9zY2FuX25vZGUoY29uc3Qgdm9pZCAqZmR0LA0KPiA+ICAgICAgICAgICAgICAg
IGRldmljZV90cmVlX25vZGVfY29tcGF0aWJsZShmZHQsIG5vZGUsICJtdWx0aWJvb3QsbW9kdWxl
IiApKSkNCj4gPiAgICAgICAgICBwcm9jZXNzX211bHRpYm9vdF9ub2RlKGZkdCwgbm9kZSwgbmFt
ZSwgYWRkcmVzc19jZWxscywgc2l6ZV9jZWxscyk7DQo+ID4gICAgICBlbHNlIGlmICggZGVwdGgg
PT0gMSAmJiBkZXZpY2VfdHJlZV9ub2RlX21hdGNoZXMoZmR0LCBub2RlLCAiY2hvc2VuIikgKQ0K
PiA+IC0gICAgICAgIHByb2Nlc3NfY2hvc2VuX25vZGUoZmR0LCBub2RlLCBuYW1lLCBhZGRyZXNz
X2NlbGxzLCBzaXplX2NlbGxzKTsNCj4gPiArICAgICAgICByYyA9IHByb2Nlc3NfY2hvc2VuX25v
ZGUoZmR0LCBub2RlLCBuYW1lLCBhZGRyZXNzX2NlbGxzLCBzaXplX2NlbGxzKTsNCj4gPiAgICAg
IGVsc2UgaWYgKCBkZXB0aCA9PSAyICYmIGRldmljZV90cmVlX25vZGVfY29tcGF0aWJsZShmZHQs
IG5vZGUsDQo+ICJ4ZW4sZG9tYWluIikgKQ0KPiA+ICAgICAgICAgIHJjID0gcHJvY2Vzc19kb21h
aW5fbm9kZShmZHQsIG5vZGUsIG5hbWUsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMpOw0KPiA+
DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNo
L2FybS9kb21haW5fYnVpbGQuYw0KPiA+IGluZGV4IDNmZDExODZiNTMuLjZmOTdmNWYwNmEgMTAw
NjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+ID4gKysrIGIveGVu
L2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+ID4gQEAgLTEwMzgsOCArMTAzOCw5IEBAIHN0YXRp
YyBpbnQgX19pbml0IG1ha2VfbWVtb3J5X25vZGUoY29uc3Qgc3RydWN0DQo+IGRvbWFpbiAqZCwN
Cj4gPiAgICAgIGlmICggbWVtLT5ucl9iYW5rcyA9PSAwICkNCj4gPiAgICAgICAgICByZXR1cm4g
LUVOT0VOVDsNCj4gPg0KPiA+IC0gICAgLyogZmluZCBmaXJzdCBtZW1vcnkgcmFuZ2Ugbm90IGJv
dW5kIHRvIGEgWGVuIGRvbWFpbiAqLw0KPiA+IC0gICAgZm9yICggaSA9IDA7IGkgPCBtZW0tPm5y
X2JhbmtzICYmIG1lbS0+YmFua1tpXS54ZW5fZG9tYWluOyBpKysgKQ0KPiA+ICsgICAgLyogZmlu
ZCBmaXJzdCBtZW1vcnkgcmFuZ2Ugbm90IGJvdW5kIHRvIG5laXRoZXIgYSBYZW4gZG9tYWluIG5v
ciBoZWFwDQo+ICovDQo+ID4gKyAgICBmb3IgKCBpID0gMDsgaSA8IG1lbS0+bnJfYmFua3MgJiYN
Cj4gPiArICAgICAgICAgICAgICAgICAobWVtLT5iYW5rW2ldLnhlbl9kb21haW4gfHwgbWVtLT5i
YW5rW2ldLnhlbl9oZWFwKTsgaSsrICkNCj4gPiAgICAgICAgICA7DQo+IENvdWxkIHlvdSBwbGVh
c2UgYWRkIGFuIGVtcHR5IGxpbmUgaGVyZSB0byBpbXByb3ZlIHJlYWRhYmlsaXR5Pw0KDQpTdXJl
Lg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 01:10:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 01:10:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392995.631676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR1OM-0001RH-TT; Thu, 25 Aug 2022 01:10:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392995.631676; Thu, 25 Aug 2022 01:10:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR1OM-0001RA-Q4; Thu, 25 Aug 2022 01:10:42 +0000
Received: by outflank-mailman (input) for mailman id 392995;
 Thu, 25 Aug 2022 01:10:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR1OL-0001R0-3C; Thu, 25 Aug 2022 01:10:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR1OK-0000HO-Uc; Thu, 25 Aug 2022 01:10:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR1OK-0000cu-GB; Thu, 25 Aug 2022 01:10:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oR1OK-0001lt-Fj; Thu, 25 Aug 2022 01:10:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=b5EfZYc9dSJfZ9qHvflXNRqsi1kSyOn1TEVVBFX2PuU=; b=fAjiHr5PPYYGbEtw8JQyG/8JoH
	jX25HWhIO213kog77/0oNRguKNloLH6/1x1pv4YQkPfqEXAyn2mB6GHQ+qsSO7D+zBJ1yAa8n5oj1
	B519KJwbfSeYtDvWORMWmqJ1O5fCipzWDF+VzPii5nGMMB9rLw2sq5R4pF2hth1QkeRM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172761-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172761: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 01:10:40 +0000

flight 172761 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172761/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   20 days
Failing since        172151  2022-08-05 02:40:28 Z   19 days  163 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 01:10:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 01:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.392998.631687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR1OW-0001lM-A9; Thu, 25 Aug 2022 01:10:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 392998.631687; Thu, 25 Aug 2022 01:10:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR1OW-0001lF-5Q; Thu, 25 Aug 2022 01:10:52 +0000
Received: by outflank-mailman (input) for mailman id 392998;
 Thu, 25 Aug 2022 01:10:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SRxw=Y5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oR1OU-0001kK-Ry
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 01:10:50 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0dd07c2-2412-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 03:10:49 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A7F0A61AC0;
 Thu, 25 Aug 2022 01:10:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BEB99C433C1;
 Thu, 25 Aug 2022 01:10:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0dd07c2-2412-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661389847;
	bh=IW58bnoT+ISjkhWRCgoI4VIxvwyqKqmLdyO9QUhxxIM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=G+5iByfzlQzre+9kdeIbk/+YG/yjc6F7fhVo6DdRA1ihXJRQtDmoHWzxJdyRrA6pw
	 ZW6wTUmfI0z+UHvezClPi08uSKfW1t2GuiljcLrMzyyAGtSsuXxzL/ae0+23dVBYC6
	 /PwdfaSUEtnZsBaBVUzQNQ+ZTAtKVN7gLjmHox77ec9HLnXrYTtImxoHCaotQahtcH
	 JhMQHdcnLkXku3Gg+2WPVwuN6hQt4So0Bg0VZe7y5Phtf3H483USuz8SbZusxmlurc
	 8Fjp2uJhGRbKwT9GgSD0n6eT9n5Rt3mFnMAKdxlEqu2Gm80quib5tedwVBzncxU8Hy
	 9cxesPxn7zRoQ==
Date: Wed, 24 Aug 2022 18:10:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Rahul Singh <Rahul.Singh@arm.com>, 
    xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
In-Reply-To: <da07bb5d-98c3-9c94-a1f0-6021e398f898@xen.org>
Message-ID: <alpine.DEB.2.22.394.2208241810390.15247@ubuntu-linux-20-04-desktop>
References: <cover.1660902588.git.rahul.singh@arm.com> <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com> <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org> <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com> <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com> <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org> <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com> <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop>
 <da07bb5d-98c3-9c94-a1f0-6021e398f898@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-140747958-1661389024=:15247"
Content-ID: <alpine.DEB.2.22.394.2208241758310.15247@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-140747958-1661389024=:15247
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2208241758311.15247@ubuntu-linux-20-04-desktop>

On Wed, 24 Aug 2022, Julien Grall wrote:
> On 24/08/2022 22:59, Stefano Stabellini wrote:
> > On Wed, 24 Aug 2022, Rahul Singh wrote:
> > > > On 24 Aug 2022, at 4:36 pm, Julien Grall <julien@xen.org> wrote:
> > > > On 24/08/2022 15:42, Rahul Singh wrote:
> > > > > > On 24 Aug 2022, at 1:59 pm, Julien Grall <julien@xen.org> wrote:
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On 24/08/2022 13:15, Rahul Singh wrote:
> > > > > > > Hi Julien,
> > > > > > 
> > > > > > Hi Rahul,
> > > > > > 
> > > > > > > Please let me know your view on this.
> > > > > > > diff --git a/xen/arch/arm/domain_build.c
> > > > > > > b/xen/arch/arm/domain_build.c
> > > > > > > index bfe7bc6b36..a1e23eee59 100644
> > > > > > > --- a/xen/arch/arm/domain_build.c
> > > > > > > +++ b/xen/arch/arm/domain_build.c
> > > > > > > @@ -3562,12 +3562,7 @@ static int __init construct_domU(struct
> > > > > > > domain *d,
> > > > > > >     if ( rc == -EILSEQ ||
> > > > > > >       rc == -ENODATA ||
> > > > > > >       (rc == 0 && !strcmp(dom0less_enhanced, â€œenabledâ€)) )
> > > > > > > -  {
> > > > > > > -    if ( hardware_domain )
> > > > > > >         kinfo.dom0less_enhanced = true;
> > > > > > > -    else
> > > > > > > -      panic(â€œTried to use xen,enhanced without dom0\nâ€);
> > > > > > > -  }
> > > > > > 
> > > > > > You can't use "xen,enhanced" without dom0. In fact, you will end up
> > > > > > to dereference NULL in alloc_xenstore_evtchn(). That's because
> > > > > > "xen,enhanced" means the domain will be able to use Xenstored.
> > > > > > 
> > > > > > Now if you want to support your feature without a dom0. Then I think
> > > > > > we want to introduce an option which would be the same as
> > > > > > "xen,enhanced" but doesn't expose Xenstored.
> > > > > If we modify the patch as below we can use the "xen,enhanced" for
> > > > > domUs without dom0.
> > > > > I tested the patch and its works fine. Do you see any issue with this
> > > > > approach?
> > > > 
> > > > Yes. For two reasons:
> > > > 1) It is muddying the meaning of "xen,enhanced". In particular a user
> > > > may not realize that Xenstore is not available if dom0 is not present.
> > > > 2) It would be more complicated to handle the case where Xenstored lives
> > > > in a non-dom0 domain. I am not aware of anyone wanting this on Arm yet,
> > > > but I don't want to close the door.
> > > > 
> > > > So if you want to support create "xen,xen" without all the rest. Then I
> > > > think we need a different property value. I don't have a good suggestion
> > > > for the name.
> > > 
> > > Is that okay if we use the earlier approach, when user set  "xen,enhanced
> > > = evtchnâ€ we will not call alloc_xenstore_evtchn()
> > > but we create hypervisor node with all fields.
> > 
> > Thinking more about this, today xen,enhanced has the implication that:
> > 
> > - the guest will get a regular and complete "xen,xen" node in device tree
> > - xenstore and PV drivers will be available (full Xen interfaces support)
> > 
> > We don't necessarely imply that dom0 is required (from a domU point of
> > view) but we do imply that xenstore+evtchn+gnttab will be available to
> > the domU.
> > 
> > Now, static event channels are different. They don't require xenstore
> > and they don't require gnttab.
> > 
> > It is as if the current xen,enhanced node actually meant:
> > 
> >    xen,enhanced = "xenstore,gnttab,evtchn";
> 
> Correct.
> 
> > 
> > and now we are only enabling a subset:
> > 
> >    xen,enhanced = "evtchn";
> > 
> > Is that a correct understanding?
> 
> Yes with some cavears (see below).
> 
> > 
> > 
> > If so, we can clarify that:
> > 
> >    xen,enhanced;
> > 
> > it is a convenient shortend for:
> > 
> >    xen,enhanced = "xenstore,gnttab,evtchn";
> > 
> > and that other combinations are also acceptable, e.g.:
> > 
> >    xen,enhanced = "gnttab";
> >    xen,enhanced = "evtchn";
> >    xen,enhanced = "evtchn,gnttab";
> > 
> > It is OK to panic if the user specifies an option that is currently
> > unsupported (e.g. "gnttab").
> 
> So today, if you create the node "xen,xen", the guest will expect to be able
> to use both grant-table and event channel.
> 
> Therefore, in the list above, the only configuration we can sensibly support
> without any major rework is "evtchn,gnttab".
> 
> If we want to support "evtchn" or "gnttab" only. Then we likely need to define
> a new binding (or new version) because neither "regs" nor "interrupts" are
> optional (although a guest OS is free to ignore them).

Yes I think you are right. I also broadly agree with the rest of your
reply.

Thinking about it and given the above, we only need 2 "levels" of
enhancement:

1) everything: xenstore, gnttab, evtchn
2) gnttab, evtchn, but not xenstore

Nothing else is really possible because, as Julien pointed out,
"xen,enhanced" implies the xen,xen node in the domU device tree and in
turn that node implies both evtchn and gnttab.

xenstore is separate and is detected using HVM_PARAM_STORE_EVTCHN and
HVM_PARAM_STORE_PFN anyway.

So I think we just need to add a way to express 2). We could do
something like:

  xen,enhanced = "evtchn,gnttab";

Or we could use a new separate option like Julien initially suggested,
e.g.:

  xen,enhanced-no-xenstore;

"xen,enhanced-no-xenstore" is a terrible name actually, but just to
explain what I am thinking :-)
--8323329-140747958-1661389024=:15247--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 02:12:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 02:12:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393010.631698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR2Lu-0008Ob-SJ; Thu, 25 Aug 2022 02:12:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393010.631698; Thu, 25 Aug 2022 02:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR2Lu-0008OU-N7; Thu, 25 Aug 2022 02:12:14 +0000
Received: by outflank-mailman (input) for mailman id 393010;
 Thu, 25 Aug 2022 02:12:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR2Lu-0008OK-BK; Thu, 25 Aug 2022 02:12:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR2Lu-0001mb-4W; Thu, 25 Aug 2022 02:12:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR2Lt-0004hI-EJ; Thu, 25 Aug 2022 02:12:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oR2Lt-00051P-DF; Thu, 25 Aug 2022 02:12:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=W/30KqPWI2+vsNuGUUWm9fKuvXml+SH8fVgZPaaJbr0=; b=SEDBEi5C0KIiBbJN5hehn5u2vF
	FKKDY9VzBbI7b0Qh9wswI3C1Tn/Q5OVgE3c31XnorfaaLK438cWxph+1p3GK0C+6pNIuJLDQV3WQg
	oYwc+E5t6iZG+F2l5ohgbH/q5jRfTM1E6Q9Tj8Dq8FEaO2ERSCy2qnymbrMIKCA7GMBc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172755-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172755: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c40e8341e3b3bb27e3a65b06b5b454626234c4f0
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 02:12:13 +0000

flight 172755 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172755/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-seattle   8 xen-boot                   fail pass in 172743

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 172743 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 172743 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                c40e8341e3b3bb27e3a65b06b5b454626234c4f0
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   20 days
Failing since        172152  2022-08-05 04:01:26 Z   19 days   46 attempts
Testing same since   172743  2022-08-24 03:29:51 Z    0 days    2 attempts

------------------------------------------------------------
1512 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 156709 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 04:53:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 04:53:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393018.631709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR4rz-000701-HR; Thu, 25 Aug 2022 04:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393018.631709; Thu, 25 Aug 2022 04:53:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR4rz-0006zu-E1; Thu, 25 Aug 2022 04:53:31 +0000
Received: by outflank-mailman (input) for mailman id 393018;
 Thu, 25 Aug 2022 04:53:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR4rx-0006zk-Ox; Thu, 25 Aug 2022 04:53:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR4rx-0004og-BZ; Thu, 25 Aug 2022 04:53:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR4rw-0006yM-Nm; Thu, 25 Aug 2022 04:53:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oR4rw-0003w8-N5; Thu, 25 Aug 2022 04:53:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=prj/IFHVD5iEJudAPeIDFJD+NU38xsZR7u7iA/knmhQ=; b=INTTDrG9SiBRt5XWaxRoLelwfZ
	WpLLokYAjE9SC/EIe/PmQOBxDeJSgc4v1U3c3MhLT82ezAjGkn23Xw9vQvNpRvcERojz1+1aB5BZX
	cDsJksqPZ+DN0JaweCkNPKlvEWkcZhis4z3/TzDuihK4bseyMhXZrIHOexqroazJhnT0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172757-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172757: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-examine:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 04:53:28 +0000

flight 172757 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172757/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd      13 guest-start      fail in 172745 pass in 172757
 test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail in 172745 pass in 172757
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install    fail pass in 172745
 test-amd64-i386-examine       6 xen-install                fail pass in 172745
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172745

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172745 blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172745 like 172108
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172745 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172745 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172745 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172745 never pass
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   21 days
Testing same since   172384  2022-08-11 11:13:58 Z   13 days   28 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 05:19:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 05:19:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393027.631720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR5HJ-0001O3-Os; Thu, 25 Aug 2022 05:19:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393027.631720; Thu, 25 Aug 2022 05:19:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR5HJ-0001Nw-M4; Thu, 25 Aug 2022 05:19:41 +0000
Received: by outflank-mailman (input) for mailman id 393027;
 Thu, 25 Aug 2022 05:19:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR5HI-0001NT-Nv; Thu, 25 Aug 2022 05:19:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR5HI-0005iq-HD; Thu, 25 Aug 2022 05:19:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR5HI-0000fC-4B; Thu, 25 Aug 2022 05:19:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oR5HI-0008OS-3g; Thu, 25 Aug 2022 05:19:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BjVisM0Aj0WScFXoe8oBe/fiN9EFq4tdu4R5FP1kGbE=; b=Af1UqDhVU0RCpYgVH5WwskKqBc
	e/TQ6MH1hRUsobowO16see25FvfXm3UcMVHCz3PePWURzAsQ2kF/Ery9Opg2hHRdoQyWljxHl2Kzs
	ne6A2VbDp1p2JcEVfXWuteA7eChZm/w+BkT/yUao5a7XXnNSoEItjSHfbWY0b/WUEdKU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172763-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172763: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 05:19:40 +0000

flight 172763 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172763/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   20 days
Failing since        172151  2022-08-05 02:40:28 Z   20 days  164 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 06:03:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 06:03:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393035.631731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR5x6-0006QA-1U; Thu, 25 Aug 2022 06:02:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393035.631731; Thu, 25 Aug 2022 06:02:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR5x5-0006Q3-UK; Thu, 25 Aug 2022 06:02:51 +0000
Received: by outflank-mailman (input) for mailman id 393035;
 Thu, 25 Aug 2022 06:02:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oR5x4-0006Pw-Qo
 for xen-devel@lists.xen.org; Thu, 25 Aug 2022 06:02:51 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a93b2ea-243b-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 08:02:49 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 3FF305C797;
 Thu, 25 Aug 2022 06:02:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BD89E13A89;
 Thu, 25 Aug 2022 06:02:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id v9RJLIUQB2OwLwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 06:02:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a93b2ea-243b-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661407366; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=0TKO6tdS6WQAG7ojQIv0U+TP7vtCujKz80myrNFUI+g=;
	b=G5K6g60T0DmKnRTcpcuK90tm33ex04IAA2U8fscLRD93BBwqfAusZqtBrW2OZTC6ArRDxU
	UoRfrnoqpP/tTDb5WqLmimTDc2EX8HS6tMI7npoi8DZr22pqAMVptptlu8ssrfGzBPvlh5
	C9p65E3INDFqW3V6lRDAo3JLHTcB4dA=
Message-ID: <9697a559-fe42-3efb-5715-1f6bc631f57d@suse.com>
Date: Thu, 25 Aug 2022 08:02:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
 "Stratos-dev@op-lists.linaro.org" <Stratos-dev@op-lists.linaro.org>,
 "mathieu.poirier@linaro.com" <mathieu.poirier@linaro.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
 "vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
 "olekstysh@gmail.com" <olekstysh@gmail.com>
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com> <877d2xj23o.fsf@linaro.org>
 <edc33ca4-135e-111a-e198-38b9bae53005@suse.com> <87y1vdh9or.fsf@linaro.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
In-Reply-To: <87y1vdh9or.fsf@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------6Yuq9Nn5vXhfEPScyNd0DknY"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------6Yuq9Nn5vXhfEPScyNd0DknY
Content-Type: multipart/mixed; boundary="------------yfoQ3Sh26c1MJD97wG8G5gti";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
 "Stratos-dev@op-lists.linaro.org" <Stratos-dev@op-lists.linaro.org>,
 "mathieu.poirier@linaro.com" <mathieu.poirier@linaro.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
 "vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
 "olekstysh@gmail.com" <olekstysh@gmail.com>
Message-ID: <9697a559-fe42-3efb-5715-1f6bc631f57d@suse.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com> <877d2xj23o.fsf@linaro.org>
 <edc33ca4-135e-111a-e198-38b9bae53005@suse.com> <87y1vdh9or.fsf@linaro.org>
In-Reply-To: <87y1vdh9or.fsf@linaro.org>

--------------yfoQ3Sh26c1MJD97wG8G5gti
Content-Type: multipart/mixed; boundary="------------mFNoxFDyl8M5L3UPa4Gn5wW8"

--------------mFNoxFDyl8M5L3UPa4Gn5wW8
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMTc6NTgsIEFsZXggQmVubsOpZSB3cm90ZToNCj4gDQo+IEp1ZXJnZW4g
R3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4gd3JpdGVzOg0KPiANCj4+IFtbUEdQIFNpZ25lZCBQ
YXJ0OlVuZGVjaWRlZF1dDQo+PiBPbiAyNC4wOC4yMiAxMzoyMiwgQWxleCBCZW5uw6llIHdy
b3RlOg0KPj4+IEFuZHJldyBDb29wZXIgPEFuZHJldy5Db29wZXIzQGNpdHJpeC5jb20+IHdy
aXRlczoNCj4+Pg0KPj4+PiBPbiAyNC8wOC8yMDIyIDEwOjE5LCBWaXJlc2ggS3VtYXIgd3Jv
dGU6DQo+Pj4+PiBPbiAyNC0wMy0yMiwgMDY6MTIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+
Pj4+Pj4gRm9yIGEgcmF0aGVyIGxvbmcgdGltZSB3ZSB3ZXJlIHVzaW5nICJub3JtYWwiIHVz
ZXIgcGFnZXMgZm9yIHRoaXMgcHVycG9zZSwNCj4+Pj4+PiB3aGljaCB3ZXJlIGp1c3QgbG9j
a2VkIGludG8gbWVtb3J5IGZvciBkb2luZyB0aGUgaHlwZXJjYWxsLg0KPj4+Pj4+DQo+Pj4+
Pj4gVW5mb3J0dW5hdGVseSB0aGVyZSBoYXZlIGJlZW4gdmVyeSByYXJlIHByb2JsZW1zIHdp
dGggdGhhdCBhcHByb2FjaCwgYXMNCj4+Pj4+PiB0aGUgTGludXgga2VybmVsIGNhbiBzZXQg
YSB1c2VyIHBhZ2UgcmVsYXRlZCBQVEUgdG8gaW52YWxpZCBmb3Igc2hvcnQNCj4+Pj4+PiBw
ZXJpb2RzIG9mIHRpbWUsIHdoaWNoIGxlZCB0byBFRkFVTFQgaW4gdGhlIGh5cGVydmlzb3Ig
d2hlbiB0cnlpbmcgdG8NCj4+Pj4+PiBhY2Nlc3MgdGhlIGh5cGVyY2FsbCBkYXRhLg0KPj4+
Pj4+DQo+Pj4+Pj4gSW4gTGludXggdGhpcyBjYW4gYXZvaWRlZCBvbmx5IGJ5IHVzaW5nIGtl
cm5lbCBtZW1vcnksIHdoaWNoIGlzIHRoZQ0KPj4+Pj4+IHJlYXNvbiB3aHkgdGhlIGh5cGVy
Y2FsbCBidWZmZXJzIGFyZSBhbGxvY2F0ZWQgYW5kIG1tYXAoKS1lZCB0aHJvdWdoIHRoZQ0K
Pj4+Pj4+IHByaXZjbWQgZHJpdmVyLg0KPj4+Pj4gSGkgSnVlcmdlbiwNCj4+Pj4+DQo+Pj4+
PiBJIHVuZGVyc3RhbmQgd2h5IHdlIG1vdmVkIGZyb20gdXNlciBwYWdlcyB0byBrZXJuZWwg
cGFnZXMsIGJ1dCBJIGRvbid0DQo+Pj4+PiBmdWxseSB1bmRlcnN0YW5kIHdoeSB3ZSBuZWVk
IHRvIG1ha2UgdHdvIHNlcGFyYXRlIGNhbGxzIHRvIG1hcCB0aGUNCj4+Pj4+IGd1ZXN0IG1l
bW9yeSwgaS5lLiBtbWFwKCkgZm9sbG93ZWQgYnkgaW9jdGwoSU9DVExfUFJJVkNNRF9NTUFQ
QkFUQ0gpLg0KPj4+Pj4NCj4+Pj4+IFdoeSBhcmVuJ3Qgd2UgZG9pbmcgYWxsIG9mIGl0IGZy
b20gbW1hcCgpIGl0c2VsZiA/IEkgaGFja2VkIGl0IHVwIHRvDQo+Pj4+PiBjaGVjayBvbiBp
dCBhbmQgaXQgd29ya3MgZmluZSBpZiB3ZSBkbyBpdCBhbGwgZnJvbSBtbWFwKCkgaXRzZWxm
Lg0KPj4+IEFzIEkgdW5kZXJzdGFuZCBpdCB0aGUgTU1BUEJBVENIIGlvY3RsIGlzIGJlaW5n
IHRyZWF0ZWQgbGlrZSBldmVyeQ0KPj4+IG90aGVyDQo+Pj4gaHlwZXJjYWxsIHByb3h5IHRo
cm91Z2ggdGhlIGlvY3RsIGludGVyZmFjZS4gV2hpY2ggbWFrZXMgc2Vuc2UgZnJvbSB0aGUN
Cj4+PiBwb2ludCBvZiB2aWV3IG9mIGhhdmluZyBhIGNvbnNpc3RlbnQgaW50ZXJmYWNlIHRv
IHRoZSBoeXBlcnZpc29yIGJ1dCBub3QNCj4+PiBmcm9tIHBvaW50IG9mIHZpZXcgb2YgcHJv
dmlkaW5nIGEgY29uc2lzdGVudCB1c2Vyc3BhY2UgaW50ZXJmYWNlIGZvcg0KPj4+IG1hcHBp
bmcgbWVtb3J5IHdoaWNoIGRvZXNuJ3QgY2FyZSBhYm91dCB0aGUgaHlwZXJ2aXNvciBkZXRh
aWxzLg0KPj4+IFRoZSBwcml2Y21kX21tYXBiYXRjaF92MiBpbnRlcmZhY2UgaXMgc2xpZ2h0
bHkgcmljaGVyIHRoYW4gd2hhdCB5b3UNCj4+PiBjb3VsZCBleHBvc2UgdmlhIG1tYXAoKSBi
ZWNhdXNlIGl0IGFsbG93cyB0aGUgaGFuZGxpbmcgb2YgcGFydGlhbA0KPj4+IG1hcHBpbmdz
IHdpdGggd2hhdCBJIHByZXN1bWUgaXMgYSBwZXItcGFnZSAqZXJyIGFycmF5LiBJZiB5b3Ug
aXNzdWVkIHRoZQ0KPj4+IGh5cGVyY2FsbCBkaXJlY3RseSBmcm9tIHRoZSBtbWFwKCkgYW5k
IG9uZSBvZiB0aGUgcGFnZXMgd2Fzbid0IG1hcHBlZCBieQ0KPj4+IHRoZSBoeXBlcnZpc29y
IHlvdSB3b3VsZCBoYXZlIHRvIHVud2luZCBldmVyeXRoaW5nIGJlZm9yZSByZXR1cm5pbmcN
Cj4+PiBFRkFVTFQgdG8gdGhlIHVzZXIuDQo+Pj4NCj4+Pj4+IEFyZW4ndCB3ZSBhYnVzaW5n
IHRoZSBMaW51eCB1c2Vyc3BhY2UgQUJJIGhlcmUgPyBBcyBzdGFuZGFyZCB1c2Vyc3BhY2UN
Cj4+Pj4+IGNvZGUgd291bGQgZXhwZWN0IGp1c3QgbW1hcCgpIHRvIGJlIGVub3VnaCB0byBt
YXAgdGhlIG1lbW9yeS4gWWVzLCB0aGUNCj4+Pj4+IGN1cnJlbnQgdXNlciwgWGVuIGl0c2Vs
ZiwgaXMgYWRhcHRlZCB0byBtYWtlIHR3byBjYWxscywgYnV0IGl0IGJyZWFrcw0KPj4+Pj4g
YXMgc29vbiBhcyB3ZSB3YW50IHRvIHVzZSBzb21ldGhpbmcgdGhhdCByZWxpZXMgb24gTGlu
dXggdXNlcnNwYWNlDQo+Pj4+PiBBQkkuDQo+Pj4+Pg0KPj4+Pj4gRm9yIGluc3RhbmNlLCBp
biBvdXIgY2FzZSwgd2hlcmUgd2UgYXJlIGxvb2tpbmcgdG8gY3JlYXRlDQo+Pj4+PiBoeXBl
cnZpc29yLWFnbm9zdGljIHZpcnRpbyBiYWNrZW5kcywgdGhlIHJ1c3Qtdm1tIGxpYnJhcnkg
WzFdIGlzc3Vlcw0KPj4+Pj4gbW1hcCgpIG9ubHkgYW5kIGV4cGVjdHMgaXQgdG8gd29yay4g
SXQgZG9lc24ndCBrbm93IGl0IGlzIHJ1bm5pbmcgb24gYQ0KPj4+Pj4gWGVuIHN5c3RlbSwg
YW5kIGl0IHNob3VsZG4ndCBrbm93IHRoYXQgYXMgd2VsbC4NCj4+Pj4NCj4+Pj4gVXNlIC9k
ZXYveGVuL2h5cGVyY2FsbCB3aGljaCBoYXMgYSBzYW5lIEFCSSBmb3IgZ2V0dGluZyAic2Fm
ZSIgbWVtb3J5Lg0KPj4+PiBwcml2Y21kIGlzIHZlcnkgbXVjaCBub3Qgc2FuZS4NCj4+Pj4N
Cj4+Pj4gSW4gcHJhY3RpY2UgeW91J2xsIG5lZWQgdG8gdXNlIGJvdGguwqAgL2Rldi94ZW4v
aHlwZXJjYWxsIGZvciBnZXR0aW5nDQo+Pj4+ICJzYWZlIiBtZW1vcnksIGFuZCAvZGV2L3hl
bi9wcml2Y21kIGZvciBpc3N1aW5nIGh5cGVyY2FsbHMgZm9yIG5vdy4NCj4+PiBJJ20gdW5z
dXJlIHdoYXQgaXMgbWVhbnQgYnkgc2FmZSBtZW1vcnkgaGVyZS4gcHJpdmNtZF9idWZfbW1h
cCgpDQo+Pj4gbG9va3MNCj4+PiBsaWtlIGl0IGp1c3QgYWxsb2NhdGVzIGEgYnVuY2ggb2Yg
R0ZQX0tFUk5FTCBwYWdlcyByYXRoZXIgdGhhbg0KPj4+IGludGVyYWN0aW5nIHdpdGggdGhl
IGh5cGVydmlzb3IgZGlyZWN0bHkuIEFyZSB0aGVzZSB0aGUgc2FtZSBwYWdlcyB0aGF0DQo+
Pj4gZ2V0IHVzZWQgd2hlbiB5b3UgZXZlbnR1YWxseSBjYWxsIHByaXZjbWRfaW9jdGxfbW1h
cF9iYXRjaCgpPw0KPj4NCj4+IHByaXZjbWRfYnVmX21tYXAoKSBpcyBhbGxvY2F0aW5nIGtl
cm5lbCBwYWdlcyB3aGljaCBhcmUgdXNlZCBmb3IgZGF0YSBiZWluZw0KPj4gYWNjZXNzZWQg
YnkgdGhlIGh5cGVydmlzb3Igd2hlbiBkb2luZyB0aGUgaHlwZXJjYWxsIGxhdGVyLiBUaGlz
IGlzIGEgZ2VuZXJpYw0KPj4gaW50ZXJmYWNlIGJlaW5nIHVzZWQgZm9yIGFsbCBoeXBlcmNh
bGxzLCBub3Qgb25seSBmb3INCj4+IHByaXZjbWRfaW9jdGxfbW1hcF9iYXRjaCgpLg0KPj4N
Cj4+PiBUaGUgZmFjdCB0aGF0IC9kZXYveGVuL2h5cGVyY2FsbCBpcyBzcGVjaWZpZWQgYnkg
eGVuX3ByaXZjbWRidWZfZGV2IGlzIGENCj4+PiBsaXR0bGUgY29uZnVzaW5nIFRCSC4NCj4+
PiBBbnl3YXkgdGhlIGdvYWwgaGVyZSBpcyB0byBwcm92aWRlIGEgbm9uLXhlbiBhd2FyZSB1
c2Vyc3BhY2Ugd2l0aA0KPj4+IHN0YW5kYXJkIHVzZXJzcGFjZSBBUEkgdG8gYWNjZXNzIHRo
ZSBndWVzdHMgbWVtb3J5LiBQZXJoYXBzIG1lc3NpbmcNCj4+DQo+PiBUaGlzIGlzIHdoYXQg
dGhlIFhlbiByZWxhdGVkIGxpYnJhcmllcyBhcmUgbWVhbnQgZm9yLiBZb3VyIGRlY2lzaW9u
IHRvDQo+PiBpZ25vcmUgdGhvc2UgaXMgZmlyaW5nIGJhY2sgbm93Lg0KPiANCj4gV2UgZGlk
bid0IGlnbm9yZSB0aGVtIC0gdGhlIGluaXRpYWwgdmVyc2lvbiBvZiB0aGUgeGVuLXZob3N0
LW1hc3Rlcg0KPiBiaW5hcnkgd2FzIGJ1aWx0IHdpdGggdGhlIHJ1c3QgYW5kIGxpbmtpbmcg
dG8gdGhlIFhlbiBsaWJyYXJpZXMuIFdlIGFyZQ0KPiBob3dldmVyIGluIHRoZSBwcm9jZXNz
IG9mIG1vdmluZyB0byBtb3JlIHB1cmUgcnVzdCAod2l0aCB0aGUgeGVuLXN5cw0KPiBjcmF0
ZSBiZWluZyBhIHB1cmUgcnVzdCBpb2N0bC9oeXBlcmNhbGwgd3JhcHBlcikuDQoNCkFoLCBv
a2F5LCBJIHdhc24ndCBhd2FyZSBvZiB0aGlzLg0KDQo+IEhvd2V2ZXIgSSB3YXMgdW5kZXIg
dGhlIGltcHJlc3Npb24gdGhlcmUgd2hlcmUgdHdvIGNsYXNzZXMgb2YNCj4gaHlwZXJjYWxs
cy4gQUJJIHN0YWJsZSBvbmVzIHdoaWNoIHdvbid0IGNoYW5nZSAod2hpY2ggaXMgYWxsIHdl
IGFyZQ0KPiBwbGFubmluZyB0byBpbXBsZW1lbnQgZm9yIHhlbi1zeXMpIGFuZCBub24tc3Rh
YmxlIEFCSXMgd2hpY2ggd291bGQgbmVlZA0KPiBtZWRpYXRpbmcgYnkgdGhlIHhlbiBsaWJz
LiBXZSBhcmUgaG9waW5nIHdlIGNhbiBkbyBhbGwgb2YgVmlydElPIHdpdGgNCj4ganVzdCB0
aGUgc3RhYmxlIEFCSS4NCg0KT2theS4NCg0KPiANCj4+PiBhcm91bmQgd2l0aCB0aGUgc2Vt
YW50aWNzIG9mIHRoZSAvZGV2L3hlbi9baHlwZXJjYWxsfHByaXZjbWRdIGRldmljZXMNCj4+
PiBub2RlcyBpcyB0b28gY29uZnVzaW5nLg0KPj4+IE1heWJlIHdlIGNvdWxkIGluc3RlYWQ6
DQo+Pj4gICAgMS4gSGF2ZSB0aGUgWGVuIGF3YXJlIFZNTSBhc2sgdG8gbWFrZSB0aGUgZ3Vl
c3RzIG1lbW9yeSB2aXNpYmxlIHRvDQo+Pj4gdGhlDQo+Pj4gICAgICAgaG9zdCBrZXJuZWxz
IGFkZHJlc3Mgc3BhY2UuDQo+Pg0KPj4gVXJnaC4gVGhpcyB3b3VsZCBiZSBhIG1ham9yIGJy
ZWFjaCBvZiB0aGUgWGVuIHNlY3VyaXR5IGNvbmNlcHQuDQo+Pg0KPj4+ICAgIDIuIFdoZW4g
dGhpcyBpcyBkb25lIGV4cGxpY2l0bHkgY3JlYXRlIGEgZGV2aWNlIG5vZGUgdG8gcmVwcmVz
ZW50IGl0ICgvZGV2L3hlbi9kb20tJWQtbWVtPykNCj4+PiAgICAzLiBQYXNzIHRoaXMgbmV3
IGRldmljZSB0byB0aGUgbm9uLVhlbiBhd2FyZSB1c2Vyc3BhY2Ugd2hpY2ggdXNlcyB0aGUN
Cj4+PiAgICAgICBzdGFuZGFyZCBtbWFwKCkgY2FsbCB0byBtYWtlIHRoZSBrZXJuZWwgcGFn
ZXMgdmlzaWJsZSB0byB1c2Vyc3BhY2UNCj4+PiBEb2VzIHRoYXQgbWFrZSBzZW5zZT8NCj4+
DQo+PiBNYXliZSBmcm9tIHlvdXIgcG9pbnQgb2YgdmlldywgYnV0IG5vdCBmcm9tIHRoZSBY
ZW4gYXJjaGl0ZWN0dXJhbCBwb2ludA0KPj4gb2YgdmlldyBJTUhPLiBZb3UgYXJlIHJlbW92
aW5nIGJhc2ljYWxseSB0aGUgbWFpbiBzZWN1cml0eSBhZHZhbnRhZ2VzIG9mDQo+PiBYZW4g
YnkgZ2VuZXJhdGluZyBhIGtlcm5lbCBpbnRlcmZhY2UgZm9yIG1hcHBpbmcgYXJiaXRyYXJ5
IGd1ZXN0IG1lbW9yeQ0KPj4gZWFzaWx5Lg0KPiANCj4gV2UgYXJlIG5vdCB0YWxraW5nIGFi
b3V0IGRvaW5nIGFuIGVuZC1ydW4gYXJvdW5kIHRoZSBYZW4gYXJjaGl0ZWN0dXJlLg0KPiBU
aGUgZ3Vlc3Qgc3RpbGwgaGFzIHRvIGluc3RydWN0IHRoZSBoeXBlcnZpc29yIHRvIGdyYW50
IGFjY2VzcyB0byBpdHMNCj4gbWVtb3J5LiBDdXJyZW50bHkgdGhpcyBpcyBhIGdsb2JhbCB0
aGluZyAoaS5lLiB3aG9sZSBhZGRyZXNzIHNwYWNlIG9yDQo+IG5vdGhpbmcpIGJ1dCBvYnZp
b3VzbHkgbW9yZSBmaW5lIGdyYWluZWQgZ3JhbnRzIGNhbiBiZSBkb25lIG9uIGENCj4gdHJh
bnNhY3Rpb24gYnkgdHJhbnNhY3Rpb24gYmFzaXMgYWx0aG91Z2ggd2UgYXJlIGV4cGxvcmlu
ZyBtb3JlDQo+IGVmZmljaWVudCBtZWNoYW5pc21zIGZvciB0aGlzIChzaGFyZWQgcG9vbHMg
YW5kIGNhcnZlIG91dHMpLg0KDQpIYXBweSB0byBoZWFyIHRoYXQuDQoNCj4gVGhpcyBkb2Vz
IHJhaXNlIHF1ZXN0aW9ucyBmb3IgdGhlIG1tYXAgaW50ZXJmYWNlIHRob3VnaCAtIGVhY2gN
Cj4gaW5kaXZpZHVhbGx5IGdyYW50ZWQgcmVnaW9uIHdvdWxkIG5lZWQgdG8gYmUgbWFwcGVk
IGludG8gdGhlIGRvbTANCj4gdXNlcnNwYWNlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSBvciBw
ZXJoYXBzIGEgbmV3IGZsYWcgZm9yIG1tYXAoKSBzbyB3ZQ0KPiBjYW4gbWFwIHRoZSB3aG9s
ZSBhZGRyZXNzIHNwYWNlIGJ1dCBleHBlY3QgU0lHQlVTIGZhdWx0cyBpZiB3ZSBhY2Nlc3MN
Cj4gc29tZXRoaW5nIHRoYXQgaGFzbid0IGJlZW4gZ3JhbnRlZC4NCg0KRG8gSSB1bmRlcnN0
YW5kIHRoYXQgY29ycmVjdGx5PyBZb3Ugd2FudCB0aGUgZ3Vlc3QgdG8gZ3JhbnQgYSBtZW1v
cnkNCnJlZ2lvbiB0byB0aGUgYmFja2VuZCwgYW5kIHRoZSBiYWNrZW5kIHNob3VsZCBiZSBh
YmxlIHRvIG1hcCB0aGlzIHJlZ2lvbg0Kbm90IHVzaW5nIGdyYW50cywgYnV0IHRoZSBndWVz
dCBwaHlzaWNhbCBhZGRyZXNzZXM/DQoNCg0KSnVlcmdlbg0K
--------------mFNoxFDyl8M5L3UPa4Gn5wW8
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------mFNoxFDyl8M5L3UPa4Gn5wW8--

--------------yfoQ3Sh26c1MJD97wG8G5gti--

--------------6Yuq9Nn5vXhfEPScyNd0DknY
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHEIUFAwAAAAAACgkQsN6d1ii/Ey9h
fQgAhKiWU17tUH2Wq36HTwRFVnermd8FRCSrxNbYnSw/DmXxcrK5RyuaB4TDjUAlMZzaRKMmXaqG
TYqxpD9+eOL2E4gkPOXDI7b718gRt1y2CvPjbBbymgBJ9Py2B+4SUQJwjaToRACrBYjEtT0yZupX
RAd41p9kJefJSszw+DQfp8uSAsqIdTP1oKMOnC+VhDAIY2J85hUwvTjWPb4vUoggyqj1V/xedPWK
y9MXkZIrLW9pVwmL0JdY2VdbFwcr3dzVTKI7rKxv75hcI0X9q159bKT/cWsL/JEdodG2MMQGO/dk
ig7yyH9ExgnVDXsNFY8ikMo0dHi4rNoV3WkMhE5rKg==
=VOKh
-----END PGP SIGNATURE-----

--------------6Yuq9Nn5vXhfEPScyNd0DknY--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 06:20:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 06:20:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393041.631742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR6EI-0000N1-Gx; Thu, 25 Aug 2022 06:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393041.631742; Thu, 25 Aug 2022 06:20:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR6EI-0000Mu-Dp; Thu, 25 Aug 2022 06:20:38 +0000
Received: by outflank-mailman (input) for mailman id 393041;
 Thu, 25 Aug 2022 06:20:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oR6EH-0000Mo-K4
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 06:20:37 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0748f170-243e-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 08:20:36 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5B86637A6F;
 Thu, 25 Aug 2022 06:20:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 117C713A89;
 Thu, 25 Aug 2022 06:20:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HPm6ArIUB2M9NQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 06:20:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0748f170-243e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661408434; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=woDWFRzsYASJx1IpLKRaNlUVASWKC/b4WJBz1i1/koM=;
	b=jMeeKOnzyPOI+Y4bhJxH+6gxunNC+JqGhjdWI4FnsI+hFZPTh9r30rdmiMFcKhlvFJmaQk
	BZK1NJikEl6DWQiOLWDb2ImXEh55dulNg5y/ggINOMX7Sw14Hd8PdWBoiSy16U/qN2v9qc
	+PbNsNb+u4GqmgrPLh+EHDLTLqG8jY0=
Message-ID: <70d931c9-2c3c-40f5-4e93-93a1aba1b76c@suse.com>
Date: Thu, 25 Aug 2022 08:20:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
Content-Language: en-US
To: SeongJae Park <sj@kernel.org>
Cc: roger.pau@citrix.com,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>,
 SeongJae Park <sjpark@amazon.com>, Maximilian Heyne <mheyne@amazon.de>
References: <20220824203823.105991-1-sj@kernel.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220824203823.105991-1-sj@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------J5Bc0c7F02yY9NPxKjJpiScO"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------J5Bc0c7F02yY9NPxKjJpiScO
Content-Type: multipart/mixed; boundary="------------0kbNjlZ0sVh0GS3KzF0mKqNr";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: SeongJae Park <sj@kernel.org>
Cc: roger.pau@citrix.com,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>,
 SeongJae Park <sjpark@amazon.com>, Maximilian Heyne <mheyne@amazon.de>
Message-ID: <70d931c9-2c3c-40f5-4e93-93a1aba1b76c@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
References: <20220824203823.105991-1-sj@kernel.org>
In-Reply-To: <20220824203823.105991-1-sj@kernel.org>

--------------0kbNjlZ0sVh0GS3KzF0mKqNr
Content-Type: multipart/mixed; boundary="------------HRmtDdowqUHadCmtO0MAn1ln"

--------------HRmtDdowqUHadCmtO0MAn1ln
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjIgMjI6MzgsIFNlb25nSmFlIFBhcmsgd3JvdGU6DQo+ICsgUm9nZXINCj4g
DQo+IE9uIFdlZCwgMjQgQXVnIDIwMjIgMTc6NDQ6NDIgKzAwMDAgU2VvbmdKYWUgUGFyayA8
c2pAa2VybmVsLm9yZz4gd3JvdGU6DQo+IA0KPj4gSGVsbG8sDQo+Pg0KPj4gT24gV2VkLCAy
NCBBdWcgMjAyMiAwODowMjo0MCArMDIwMCBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5j
b20+IHdyb3RlOg0KPj4NCj4+Pg0KPj4+IFstLSBBdHRhY2htZW50ICMxLjEuMTogVHlwZTog
dGV4dC9wbGFpbiwgU2l6ZTogNDMxMiBieXRlcyAtLV0NCj4+Pg0KPj4+IE9uIDI0LjA4LjIy
IDAyOjIwLCBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kgd3JvdGU6DQo+Pj4+IEZXSVcs
IEkgaGl0IHRoaXMgaXNzdWUgdHdpY2UgYWxyZWFkeSBpbiB0aGlzIHdlZWsgQ0kgcnVuLCB3
aGlsZSBpdCBuZXZlcg0KPj4+PiBoYXBwZW5lZCBiZWZvcmUuIFRoZSBkaWZmZXJlbmNlIGNv
bXBhcmVkIHRvIHByZXZpb3VzIHJ1biBpcyBMaW51eA0KPj4+PiA1LjE1LjU3IHZzIDUuMTUu
NjEuIFRoZSBsYXR0ZXIgcmVwb3J0cyBwZXJzaXN0ZW50IGdyYW50cyBkaXNhYmxlZC4gVGhl
DQo+Pj4+IG9ubHkgcmVsYXRlZCBjb21taXRzIEkgc2VlIHRoZXJlIGFyZSB0aHJlZSBjb21t
aXRzIGluZGVlZCByZWxhdGVkIHRvDQo+Pj4+IHBlcnNpc3RlbnQgZ3JhbnRzOg0KPj4+Pg0K
Pj4+PiAgICAgYzk4ZTk1NmVmNDg5IHhlbi1ibGtmcm9udDogQXBwbHkgJ2ZlYXR1cmVfcGVy
c2lzdGVudCcgcGFyYW1ldGVyIHdoZW4gY29ubmVjdA0KPj4+PiAgICAgZWYyNmI1ZDUzMGQ0
IHhlbi1ibGtiYWNrOiBBcHBseSAnZmVhdHVyZV9wZXJzaXN0ZW50JyBwYXJhbWV0ZXIgd2hl
biBjb25uZWN0DQo+Pj4+ICAgICA3MzA0YmU0Yzk4NWQgeGVuLWJsa2JhY2s6IGZpeCBwZXJz
aXN0ZW50IGdyYW50cyBuZWdvdGlhdGlvbg0KPj4+Pg0KPj4+PiBCdXQgbm9uZSBvZiB0aGUg
Y29tbWl0IG1lc3NhZ2VzIHN1Z2dlc3RzIGludGVudGlvbmFsIGRpc2FibGluZyBpdA0KPj4+
PiB3aXRob3V0IGV4cGxpY2l0IHJlcXVlc3QgZm9yIGRvaW5nIHNvLiBJIGRpZCBub3QgcmVx
dWVzdGVkIGRpc2FibGluZyBpdA0KPj4+PiBpbiB0b29sc3RhY2sgKGFsdGhvdWdoIEkgaGF2
ZSBzZXQgYmFja2VuZCBhcyAidHJ1c3RlZCIgLSBYU0EtNDAzKS4NCj4+Pj4gSSBoYXZlIGNv
bmZpcm1lZCBpdCdzIHRoZSBmcm9udGVuZCB2ZXJzaW9uIHRoYXQgbWF0dGVycy4gUnVubmlu
ZyBvbGRlcg0KPj4+PiBmcm9udGVuZCBrZXJuZWwgd2l0aCA1LjE1LjYxIGJhY2tlbmQgcmVz
dWx0cyBpbiBwZXJzaXN0ZW50IGdyYW50cw0KPj4+PiBlbmFibGVkIChhbmQgYm90aCBmcm9u
dGVuZCBhbmQgYmFja2VuZCB4ZW5zdG9yZSAiZmVhdHVyZS1wZXJzaXN0ZW50Ig0KPj4+PiBl
bnRyaWVzIGFyZSAiMSIgaW4gdGhpcyBjYXNlKS4NCj4+Pg0KPj4+IFRoaXMgaXMgYSBtZXNz
Lg0KPj4+DQo+Pj4gSSB0aGluayB0aGUgbWFpbiBwcm9ibGVtIHNlZW1zIHRvIGJlIHRoYXQg
dGhlIGZlYXR1cmUgbmVnb3RpYXRpb24gcHJvY2Vzcw0KPj4+IGlzbid0IHNwZWNpZmllZCBp
biBhIHNhbmUgd2F5Lg0KPj4+DQo+Pj4gICBGcm9tIHRoZSBibGtpZi5oIGhlYWRlcjoNCj4+
Pg0KPj4+IEJhY2tlbmQtc2lkZToNCj4+PiAgICAqIGZlYXR1cmUtcGVyc2lzdGVudA0KPj4+
ICAgICogICAgICBWYWx1ZXM6ICAgICAgICAgMC8xIChib29sZWFuKQ0KPj4+ICAgICogICAg
ICBEZWZhdWx0IFZhbHVlOiAgMA0KPj4+ICAgICogICAgICBOb3RlczogNw0KPj4+ICAgICoN
Cj4+PiAgICAqICAgICAgQSB2YWx1ZSBvZiAiMSIgaW5kaWNhdGVzIHRoYXQgdGhlIGJhY2tl
bmQgY2FuIGtlZXAgdGhlIGdyYW50cyB1c2VkDQo+Pj4gICAgKiAgICAgIGJ5IHRoZSBmcm9u
dGVuZCBkcml2ZXIgbWFwcGVkLCBzbyB0aGUgc2FtZSBzZXQgb2YgZ3JhbnRzIHNob3VsZCBi
ZQ0KPj4+ICAgICogICAgICB1c2VkIGluIGFsbCB0cmFuc2FjdGlvbnMuIFRoZSBtYXhpbXVt
IG51bWJlciBvZiBncmFudHMgdGhlIGJhY2tlbmQNCj4+PiAgICAqICAgICAgY2FuIG1hcCBw
ZXJzaXN0ZW50bHkgZGVwZW5kcyBvbiB0aGUgaW1wbGVtZW50YXRpb24sIGJ1dCBpZGVhbGx5
IGl0DQo+Pj4gICAgKiAgICAgIHNob3VsZCBiZSBSSU5HX1NJWkUgKiBCTEtJRl9NQVhfU0VH
TUVOVFNfUEVSX1JFUVVFU1QuIFVzaW5nIHRoaXMNCj4+PiAgICAqICAgICAgZmVhdHVyZSB0
aGUgYmFja2VuZCBkb2Vzbid0IG5lZWQgdG8gdW5tYXAgZWFjaCBncmFudCwgcHJldmVudGlu
Zw0KPj4+ICAgICogICAgICBjb3N0bHkgVExCIGZsdXNoZXMuIFRoZSBiYWNrZW5kIGRyaXZl
ciBzaG91bGQgb25seSBtYXAgZ3JhbnRzDQo+Pj4gICAgKiAgICAgIHBlcnNpc3RlbnRseSBp
ZiB0aGUgZnJvbnRlbmQgc3VwcG9ydHMgaXQuIElmIGEgYmFja2VuZCBkcml2ZXIgY2hvb3Nl
cw0KPj4+ICAgICogICAgICB0byB1c2UgdGhlIHBlcnNpc3RlbnQgcHJvdG9jb2wgd2hlbiB0
aGUgZnJvbnRlbmQgZG9lc24ndCBzdXBwb3J0IGl0LA0KPj4+ICAgICogICAgICBpdCB3aWxs
IHByb2JhYmx5IGhpdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGVyc2lzdGVudGx5IG1hcHBl
ZCBncmFudHMNCj4+PiAgICAqICAgICAgKGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoZSBmcm9u
dGVuZCB3b24ndCBiZSByZXVzaW5nIHRoZSBzYW1lIGdyYW50cyksDQo+Pj4gICAgKiAgICAg
IGFuZCBmYWxsIGJhY2sgdG8gbm9uLXBlcnNpc3RlbnQgbW9kZS4gQmFja2VuZCBpbXBsZW1l
bnRhdGlvbnMgbWF5DQo+Pj4gICAgKiAgICAgIHNocmluayBvciBleHBhbmQgdGhlIG51bWJl
ciBvZiBwZXJzaXN0ZW50bHkgbWFwcGVkIGdyYW50cyB3aXRob3V0DQo+Pj4gICAgKiAgICAg
IG5vdGlmeWluZyB0aGUgZnJvbnRlbmQgZGVwZW5kaW5nIG9uIG1lbW9yeSBjb25zdHJhaW50
cyAodGhpcyBtaWdodA0KPj4+ICAgICogICAgICBjYXVzZSBhIHBlcmZvcm1hbmNlIGRlZ3Jh
ZGF0aW9uKS4NCj4+Pg0KPj4+IEZyb250ZW5kLXNpZGU6DQo+Pj4gICAgKiBmZWF0dXJlLXBl
cnNpc3RlbnQNCj4+PiAgICAqICAgICAgVmFsdWVzOiAgICAgICAgIDAvMSAoYm9vbGVhbikN
Cj4+PiAgICAqICAgICAgRGVmYXVsdCBWYWx1ZTogIDANCj4+PiAgICAqICAgICAgTm90ZXM6
IDcsIDgsIDkNCj4+PiAgICAqDQo+Pj4gICAgKiAgICAgIEEgdmFsdWUgb2YgIjEiIGluZGlj
YXRlcyB0aGF0IHRoZSBmcm9udGVuZCB3aWxsIHJldXNlIHRoZSBzYW1lIGdyYW50cw0KPj4+
ICAgICogICAgICBmb3IgYWxsIHRyYW5zYWN0aW9ucywgYWxsb3dpbmcgdGhlIGJhY2tlbmQg
dG8gbWFwIHRoZW0gd2l0aCB3cml0ZQ0KPj4+ICAgICogICAgICBhY2Nlc3MgKGV2ZW4gd2hl
biBpdCBzaG91bGQgYmUgcmVhZC1vbmx5KS4gSWYgdGhlIGZyb250ZW5kIGhpdHMgdGhlDQo+
Pj4gICAgKiAgICAgIG1heGltdW0gbnVtYmVyIG9mIGFsbG93ZWQgcGVyc2lzdGVudGx5IG1h
cHBlZCBncmFudHMsIGl0IGNhbiBmYWxsYmFjaw0KPj4+ICAgICogICAgICB0byBub24gcGVy
c2lzdGVudCBtb2RlLiBUaGlzIHdpbGwgY2F1c2UgYSBwZXJmb3JtYW5jZSBkZWdyYWRhdGlv
biwNCj4+PiAgICAqICAgICAgc2luY2UgdGhlIHRoZSBiYWNrZW5kIGRyaXZlciB3aWxsIHN0
aWxsIHRyeSB0byBtYXAgdGhvc2UgZ3JhbnRzDQo+Pj4gICAgKiAgICAgIHBlcnNpc3RlbnRs
eS4gU2luY2UgdGhlIHBlcnNpc3RlbnQgZ3JhbnRzIHByb3RvY29sIGlzIGNvbXBhdGlibGUg
d2l0aA0KPj4+ICAgICogICAgICB0aGUgcHJldmlvdXMgcHJvdG9jb2wsIGEgZnJvbnRlbmQg
ZHJpdmVyIGNhbiBjaG9vc2UgdG8gd29yayBpbg0KPj4+ICAgICogICAgICBwZXJzaXN0ZW50
IG1vZGUgZXZlbiB3aGVuIHRoZSBiYWNrZW5kIGRvZXNuJ3Qgc3VwcG9ydCBpdC4NCj4+Pg0K
Pj4+IFRob3NlIGRlZmluaXRpb25zIGRvbid0IG1ha2UgY2xlYXIsIHdoaWNoIHNpZGUgaXMg
dGhlIG9uZSB0byBkZWNpZGUgd2hldGhlcg0KPj4+IHRoZSBmZWF0dXJlIHNob3VsZCBiZSB1
c2VkIG9yIG5vdC4gSW4gbXkgdW5kZXJzdGFuZGluZyB0aGUgcmVsYXRlZCBkcml2ZXJzDQo+
Pj4gc2hvdWxkIGp1c3QgYWR2ZXJ0aXNlIHRoZWlyIHNldHRpbmcgKHRoZSBfYWJpbGl0eV8g
dG8gdXNlIHRoZSBmZWF0dXJlKSwgYW5kDQo+Pj4gaXQgc2hvdWxkIGJlIHVzZWQgb25seSBp
ZiBib3RoIHNpZGVzIGhhdmUgd3JpdHRlbiBhICIxIi4NCj4+Pg0KPj4+IFdpdGggYWJvdmUg
cGF0Y2hlcyBhcHBsaWVkLCB0aGUgZnJvbnRlbmQgd2lsbCBzZXQgJ2ZlYXR1cmUtcGVyc2lz
dGVudCcgaW4NCj4+PiBYZW5zdG9yZSBvbmx5LCBpZiB0aGUgYmFja2VuZCBoYXMgZG9uZSBz
bywgYnV0IHRoZSBiYWNrZW5kIHdpbGwgc2V0IGl0DQo+Pj4gb25seSwgaWYgdGhlIGZyb250
ZW5kIGhhcyBkb25lIGl0LiBUaGlzIHJlc3VsdHMgaW4gcGVyc2lzdGVudCBncmFudHMNCj4+
PiBhbHdheXMgYmVpbmcgZGlzYWJsZWQuDQo+Pg0KPj4gU29ycnkgZm9yIG1ha2luZyB0aGUg
bWVzcywgYW5kIHRoYW5rIHlvdSBmb3IgdGhlIGtpbmQgcmVwb3J0IGFuZCBkZXRhaWxlZA0K
Pj4gZXhwbGFuYXRpb24gb2YgdGhlIHByb2JsZW0uDQo+Pg0KPj4+DQo+Pj4gVGhpcyBpcyB3
cm9uZywgYXMgdGhlIHZhbHVlIHdyaXR0ZW4gc2hvdWxkIG5vdCByZWZsZWN0IHRoZSBjdXJy
ZW50IHN0YXRlDQo+Pj4gb2YgdGhlIGludGVyZmFjZS4gVGhhdCBzdGF0ZSBzaG91bGQgYmUg
c2V0IGFjY29yZGluZyB0byBib3RoIHNpZGVzJyB2YWx1ZSwNCj4+PiBwcm9iYWJseSBhIGNh
Y2hlZCBvbmUgb24gdGhlIGJsa2JhY2sgc2lkZSAodXNpbmcgYSBuZXcgZmxhZyBmb3IgY2Fj
aGluZyBpdCwNCj4+PiBub3QgdGhlIGN1cnJlbnQgc3RhdGUpLg0KPj4NCj4+IEFncmVlZC4g
IFNvLCBJIHRoaW5rIHRoZSBpc3N1ZSBjb21lcyBmcm9tIHRoZSBmYWN0IHRoYXQgd2UgYXJl
IHVzaW5nIG9uZSBmaWVsZCwNCj4+IHdoaWNoIHdhcyBhIHBsYWNlIGZvciBzYXZpbmcgb25s
eSB0aGUgbmVnb3RpYXRpb24gcmVzdWx0LCBmb3IgeWV0IGFub3RoZXINCj4+IHB1cnBvc2U6
IGNhY2hpbmcgb2YgdGhlIHBhcmFtZXRlciB2YWx1ZS4gIEFzIGEgcmVzdWx0LCB0aGUgYWR2
ZXJ0aXNlbWVudCwgd2hpY2gNCj4+IHNob3VsZCBmb2xsb3cgb25seSB0aGUgcGFyYW1ldGVy
IHZhbHVlLCBiZWNvbWVzIGluY29uc2lzdGVudC4NCj4+DQo+PiBIb3cgYWJvdXQgc2ltcGx5
IGFkZGluZyBhbm90aGVyIGZpZWxkIGZvciB0aGUgY2FjaGluZyBwdXJwb3NlLCBzbyB0aGF0
IHRoZQ0KPj4gYWR2ZXJ0aXNhdGlvbiBjb3VsZCBiZSBkb25lIHJlZ2FyZGxlc3Mgb2YgdGhl
IG5lZ290aWF0aW9uPyAgRm9yIGV4YW1wbGU6DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZl
cnMvYmxvY2sveGVuLWJsa2JhY2svY29tbW9uLmggYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGti
YWNrL2NvbW1vbi5oDQo+PiBpbmRleCBiZGE1YzgxNWU0NDEuLmEyODQ3MzQ3MGU2NiAxMDA2
NDQNCj4+IC0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svY29tbW9uLmgNCj4+ICsr
KyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svY29tbW9uLmgNCj4+IEBAIC0yMjYsNiAr
MjI2LDkgQEAgc3RydWN0IHhlbl92YmQgew0KPj4gICAJc2VjdG9yX3QJCXNpemU7DQo+PiAg
IAl1bnNpZ25lZCBpbnQJCWZsdXNoX3N1cHBvcnQ6MTsNCj4+ICAgCXVuc2lnbmVkIGludAkJ
ZGlzY2FyZF9zZWN1cmU6MTsNCj4+ICsJLyogQ29ubmVjdC10aW1lIGNhY2hlZCBmZWF0dXJl
X3BlcnNpc3RlbnQgcGFyYW1ldGVyIHZhbHVlICovDQo+PiArCXVuc2lnbmVkIGludAkJZmVh
dHVyZV9nbnRfcGVyc2lzdGVudF9wYXJtOjE7DQo+PiArCS8qIFBlcnNpc3RlbnQgZ3JhbnRz
IGZlYXR1cmUgbmVnb3RpYXRpb24gcmVzdWx0ICovDQo+PiAgIAl1bnNpZ25lZCBpbnQJCWZl
YXR1cmVfZ250X3BlcnNpc3RlbnQ6MTsNCj4+ICAgCXVuc2lnbmVkIGludAkJb3ZlcmZsb3df
bWF4X2dyYW50czoxOw0KPj4gICB9Ow0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2sv
eGVuLWJsa2JhY2sveGVuYnVzLmMgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL3hlbmJ1
cy5jDQo+PiBpbmRleCBlZTdhZDJmYjQzMmQuLmMwMjI3ZGZhNDY4OCAxMDA2NDQNCj4+IC0t
LSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2sveGVuYnVzLmMNCj4+ICsrKyBiL2RyaXZl
cnMvYmxvY2sveGVuLWJsa2JhY2sveGVuYnVzLmMNCj4+IEBAIC05MDcsNyArOTA3LDcgQEAg
c3RhdGljIHZvaWQgY29ubmVjdChzdHJ1Y3QgYmFja2VuZF9pbmZvICpiZSkNCj4+ICAgCXhl
bl9ibGtia19iYXJyaWVyKHhidCwgYmUsIGJlLT5ibGtpZi0+dmJkLmZsdXNoX3N1cHBvcnQp
Ow0KPj4gICANCj4+ICAgCWVyciA9IHhlbmJ1c19wcmludGYoeGJ0LCBkZXYtPm5vZGVuYW1l
LCAiZmVhdHVyZS1wZXJzaXN0ZW50IiwgIiV1IiwNCj4+IC0JCQliZS0+YmxraWYtPnZiZC5m
ZWF0dXJlX2dudF9wZXJzaXN0ZW50KTsNCj4+ICsJCQliZS0+YmxraWYtPnZiZC5mZWF0dXJl
X2dudF9wZXJzaXN0ZW50X3Bhcm0pOw0KPj4gICAJaWYgKGVycikgew0KPj4gICAJCXhlbmJ1
c19kZXZfZmF0YWwoZGV2LCBlcnIsICJ3cml0aW5nICVzL2ZlYXR1cmUtcGVyc2lzdGVudCIs
DQo+PiAgIAkJCQkgZGV2LT5ub2RlbmFtZSk7DQo+PiBAQCAtMTA4NSw3ICsxMDg1LDkgQEAg
c3RhdGljIGludCBjb25uZWN0X3Jpbmcoc3RydWN0IGJhY2tlbmRfaW5mbyAqYmUpDQo+PiAg
IAkJcmV0dXJuIC1FTk9TWVM7DQo+PiAgIAl9DQo+PiAgIA0KPj4gLQlibGtpZi0+dmJkLmZl
YXR1cmVfZ250X3BlcnNpc3RlbnQgPSBmZWF0dXJlX3BlcnNpc3RlbnQgJiYNCj4+ICsJYmxr
aWYtPnZiZC5mZWF0dXJlX2dudF9wZXJzaXN0ZW50X3Bhcm0gPSBmZWF0dXJlX3BlcnNpc3Rl
bnQ7DQo+PiArCWJsa2lmLT52YmQuZmVhdHVyZV9nbnRfcGVyc2lzdGVudCA9DQo+PiArCQli
bGtpZi0+dmJkLmZlYXR1cmVfZ250X3BlcnNpc3RlbnRfcGFybSAmJg0KPj4gICAJCXhlbmJ1
c19yZWFkX3Vuc2lnbmVkKGRldi0+b3RoZXJlbmQsICJmZWF0dXJlLXBlcnNpc3RlbnQiLCAw
KTsNCj4+ICAgDQo+PiAgIAlibGtpZi0+dmJkLm92ZXJmbG93X21heF9ncmFudHMgPSAwOw0K
Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMgYi9kcml2ZXJz
L2Jsb2NrL3hlbi1ibGtmcm9udC5jDQo+PiBpbmRleCA4ZTU2ZTY5ZmI0YzQuLmRmYWUwODEx
NTQ1MCAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMNCj4+
ICsrKyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMNCj4+IEBAIC0yMTMsNiArMjEz
LDkgQEAgc3RydWN0IGJsa2Zyb250X2luZm8NCj4+ICAgCXVuc2lnbmVkIGludCBmZWF0dXJl
X2Z1YToxOw0KPj4gICAJdW5zaWduZWQgaW50IGZlYXR1cmVfZGlzY2FyZDoxOw0KPj4gICAJ
dW5zaWduZWQgaW50IGZlYXR1cmVfc2VjZGlzY2FyZDoxOw0KPj4gKwkvKiBDb25uZWN0LXRp
bWUgY2FjaGVkIGZlYXR1cmVfcGVyc2lzdGVudCBwYXJhbWV0ZXIgKi8NCj4+ICsJdW5zaWdu
ZWQgaW50IGZlYXR1cmVfcGVyc2lzdGVudF9wYXJtOjE7DQo+PiArCS8qIFBlcnNpc3RlbnQg
Z3JhbnRzIGZlYXR1cmUgbmVnb3RpYXRpb24gcmVzdWx0ICovDQo+PiAgIAl1bnNpZ25lZCBp
bnQgZmVhdHVyZV9wZXJzaXN0ZW50OjE7DQo+PiAgIAl1bnNpZ25lZCBpbnQgYm91bmNlOjE7
DQo+PiAgIAl1bnNpZ25lZCBpbnQgZGlzY2FyZF9ncmFudWxhcml0eTsNCj4+IEBAIC0xODQ4
LDcgKzE4NTEsNyBAQCBzdGF0aWMgaW50IHRhbGtfdG9fYmxrYmFjayhzdHJ1Y3QgeGVuYnVz
X2RldmljZSAqZGV2LA0KPj4gICAJCWdvdG8gYWJvcnRfdHJhbnNhY3Rpb247DQo+PiAgIAl9
DQo+PiAgIAllcnIgPSB4ZW5idXNfcHJpbnRmKHhidCwgZGV2LT5ub2RlbmFtZSwgImZlYXR1
cmUtcGVyc2lzdGVudCIsICIldSIsDQo+PiAtCQkJaW5mby0+ZmVhdHVyZV9wZXJzaXN0ZW50
KTsNCj4+ICsJCQlpbmZvLT5mZWF0dXJlX3BlcnNpc3RlbnRfcGFybSk7DQo+PiAgIAlpZiAo
ZXJyKQ0KPj4gICAJCWRldl93YXJuKCZkZXYtPmRldiwNCj4+ICAgCQkJICJ3cml0aW5nIHBl
cnNpc3RlbnQgZ3JhbnRzIGZlYXR1cmUgdG8geGVuYnVzIik7DQo+PiBAQCAtMjI4MSw3ICsy
Mjg0LDggQEAgc3RhdGljIHZvaWQgYmxrZnJvbnRfZ2F0aGVyX2JhY2tlbmRfZmVhdHVyZXMo
c3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8pDQo+PiAgIAlpZiAoeGVuYnVzX3JlYWRfdW5z
aWduZWQoaW5mby0+eGJkZXYtPm90aGVyZW5kLCAiZmVhdHVyZS1kaXNjYXJkIiwgMCkpDQo+
PiAgIAkJYmxrZnJvbnRfc2V0dXBfZGlzY2FyZChpbmZvKTsNCj4+ICAgDQo+PiAtCWlmIChm
ZWF0dXJlX3BlcnNpc3RlbnQpDQo+PiArCWluZm8tPmZlYXR1cmVfcGVyc2lzdGVudF9wYXJt
ID0gZmVhdHVyZV9wZXJzaXN0ZW50Ow0KPj4gKwlpZiAoaW5mby0+ZmVhdHVyZV9wZXJzaXN0
ZW50X3Bhcm0pDQo+PiAgIAkJaW5mby0+ZmVhdHVyZV9wZXJzaXN0ZW50ID0NCj4+ICAgCQkJ
ISF4ZW5idXNfcmVhZF91bnNpZ25lZChpbmZvLT54YmRldi0+b3RoZXJlbmQsDQo+PiAgIAkJ
CQkJICAgICAgICJmZWF0dXJlLXBlcnNpc3RlbnQiLCAwKTsNCj4+DQoNClllcywgdGhpcyBp
cyBtdWNoIGJldHRlciBJTU8uDQoNCkNvdWxkIHlvdSBwbGVhc2Ugc2VuZCBpdCBhcyB0d28g
cHJvcGVyIHBhdGNoZXMgKG9uZSBmb3IgZWFjaCBkcml2ZXIpIHdpdGgNCnRoZSBjb3JyZWN0
ICJGaXhlczoiIHRhZ3M/DQoNCg0KSnVlcmdlbg0K
--------------HRmtDdowqUHadCmtO0MAn1ln
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------HRmtDdowqUHadCmtO0MAn1ln--

--------------0kbNjlZ0sVh0GS3KzF0mKqNr--

--------------J5Bc0c7F02yY9NPxKjJpiScO
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHFLEFAwAAAAAACgkQsN6d1ii/Ey9i
BQf/Wxo6/Z18Vx3vtzev8H2mRo3ylDvTZmVeWOqrnd7MlPd7TsNEefa+9b05JWs3u+HEWbvBWPG8
WKaH8NbZjwxuhGk/0wBXsygVKZadsZvfthn4jV33eMLml8XQJjIFYU0VJMpHNGIAio7AnUpcwCBg
3JmoBgN7rRj5854KoZXYXPorFvYD7FKWk90vx1b7WDfu12kiDkDQu19+tnxF1x+9xQGU0UUonXrk
7ydyGo7QySSl+5phUoGF7QEmmMh9C/ilWYw44HqFBO3G0YSglzffmMRmVFe3rtuJHaGOn6FXEg6b
uGatJomICe7q6dkTv+nrbAKO0BglKEk7W2j+pWX+3w==
=DxaA
-----END PGP SIGNATURE-----

--------------J5Bc0c7F02yY9NPxKjJpiScO--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:00:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:00:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393048.631752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR6r8-0004df-Lz; Thu, 25 Aug 2022 07:00:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393048.631752; Thu, 25 Aug 2022 07:00:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR6r8-0004dY-JM; Thu, 25 Aug 2022 07:00:46 +0000
Received: by outflank-mailman (input) for mailman id 393048;
 Thu, 25 Aug 2022 07:00:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR6r6-0004dO-Me; Thu, 25 Aug 2022 07:00:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR6r6-0007ZA-Ff; Thu, 25 Aug 2022 07:00:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR6r5-00088R-Tm; Thu, 25 Aug 2022 07:00:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oR6r5-0003hw-TQ; Thu, 25 Aug 2022 07:00:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8S+QNCl8Ej2UDI1FJgwR6vwvv7lsHRao4xLPdihrxw8=; b=vmx1dmR1B0YBTsNs1JNoeX9uwL
	TXSKHwQRqOfrXcwAF6URwXPqlppBdM8629oxWM3+f9de/b96jQbGRHoVTVkLz5rBbRXIid5YO+1u0
	ofgT0d1KbMq9Puz8t78RSmEEFMNzs30NTDKrCCE3XTgA8YNQpZh+83P4/iyIynPKfw1k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172758-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172758: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=1f6a638cee087b1be4f464e44a9311e19a79c50e
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 07:00:43 +0000

flight 172758 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172758/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 qemuu                1f6a638cee087b1be4f464e44a9311e19a79c50e
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   21 days
Failing since        172148  2022-08-04 21:39:38 Z   20 days   47 attempts
Testing same since   172758  2022-08-24 19:08:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2487 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:17:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393056.631764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR77H-0006DB-5J; Thu, 25 Aug 2022 07:17:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393056.631764; Thu, 25 Aug 2022 07:17:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR77H-0006D4-1u; Thu, 25 Aug 2022 07:17:27 +0000
Received: by outflank-mailman (input) for mailman id 393056;
 Thu, 25 Aug 2022 07:17:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR77E-0006Cv-VZ
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:17:25 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2058.outbound.protection.outlook.com [40.107.21.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5e5dea0-2445-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 09:17:23 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR0402MB3526.eurprd04.prod.outlook.com (2603:10a6:209:c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 07:17:19 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 07:17:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5e5dea0-2445-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YF2uT2UreNVnEoznTOiUgr3rESFlcsOCJczzORX3Hz2hv/nF45UAnumLQlTqly0gxUTYAPrOUYZ8+hZodRJ/DEsBFmG3E/58HMLCG5PNExleSK8JUd14E9m8AeTOyE30nH4o+QVEHFIX4hrFIos5KE7FsqoeD/FLTug/ALo/M/eDnUWKqQ9r28ajCScS25bOqM/FjWzWpDW0ox1KtQrjOJk87FylxLJ89dzE/oDgURii/39x6UycRSzx/zRgvtLwXl1iZtqMwm9yuVI//XuYd9c7ynO6WN0vd/+zVNWvtZRq4w7RpI40Hiduuezld9Kc8gvOwtr20DUlT704talv5A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jKQFD5eJeOjQplpILH0QuBIfBksxrwb519Rg1xYssig=;
 b=M721cdQPPI7Jn2kMUd3FL5UVJ5hvwb5ypowhFpdjGS5CtAEveuaYIxwooZ2MISBg4EHGekJR8cmav4ZIConufFtb/s+eMTdz0cEbwj//dgOF0WTddGtMg6BBL1bXikEgYuOc3jbimU2Ll+oOwicDixmAZvY9kHGUAzl46PQjnfK389mkgpdbgJtLV6+q5smYQ1XIxpdPNrRQ11AooVu3YYWe+gFUbqo25silvbPQCucETPldC6pm5CEszP7WZ1dK9H4/TNlW8/jwuxsSqa866J7JyGKtHFXZ/uR5UL483bFhj7e2J/4SGbyqKTrgmv4gdd+TYtuz74ai6Rwe6OpfQg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jKQFD5eJeOjQplpILH0QuBIfBksxrwb519Rg1xYssig=;
 b=suTP+w/7lDft1YJXFaZausIfiNeDDcxZs2xRMIZX01Hl5c6Pkt2pLv0hZe46NFFdOkS6z/oJ10MfjGUCYMXWFxjTumoNrbJGEelF2v/5GZOkFQXeLGslLCwx9ANQu5L1ffs97kgkOKpsI3a1kcF4mt4fK4y2CDxMXDwO5ui9ne2j43JNON21Jly9Lc0mq0/h0hllm5utaTzo3tOe9ueln+sgNes93t7ZtlZAxxAyaYfrsd57aAAx9vPCDuMsZ+mTtV4retYyQ+/KfMZ2lDAdChwOiMg52lOpw4j+TvGHfcPXoHUoQuTM/wgM5R+HybaI/HG/NV8Di4r30G05xjQFqw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <68173fe3-b3dc-224b-c30f-719efa48fcdf@suse.com>
Date: Thu, 25 Aug 2022 09:17:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] Config.mk: correct PIE-related option(s) in
 EMBEDDED_EXTRA_CFLAGS
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR04CA0009.eurprd04.prod.outlook.com
 (2603:10a6:20b:110::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 76fd192e-54c6-48d9-04f4-08da8669d8f1
X-MS-TrafficTypeDiagnostic: AM6PR0402MB3526:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ql4Q+BathP3jfXbiWwQAEogOI6brI7yfbOWtOfk+/g5C7w7N1skNqqpd0eyoQdLAn8faWRBqu5ZsP+VwR+KdXf714wUQ/w34rEMPSgkgnn6iGgGmal/3bz3WyW9jfV9b0LgGypDFD6PtqAhUjJuwYCuWIKmmOCDaS5P4/2NKKQRAlors740/DjPx9iuVhqICLoSdGgwpudP+HUOXHFFSd1JMR/9k9eQx2LebD8NlMVqUmdrBW0FLl4LI4Ck+JPsPniwyglBRKzWzHmpCHTX6XhJwYG59R/Ysg5GsZKdEPmvzeB+yreFhLVWA97xs2fre1k1X6rkg8JaOyLk2d1TPswQi6hE7cDIBltk04r0Bf8AopAnZwdNv2n617nwtMQumCLGKUlVv1xCvS1nMcXhDdFwrq13zhfJKv2S1RfyFCK+onquO4QvFHZsP9UWMAu0Z+SIz7D5QNk6dhlU9xnGW6bQNlzNTwt9DkyVEmKNbjGH5IQNlrJ5A2FgVfiboEGvurNVQ1ANMbCyjs7VzG24aYiO/KFmQsvqTXRmycmQOKfEE1N871zXaJeOT+7suXoAMtzRU2nXz0B66aGuMcTnYJ2Xrkw1y3x1m7sG5fNCgAls+/aS9WDwk8WwAnyRKIQrMZGqao2c9aJCJ8u99TN2wqEalY5zwvXgXUkc9TBV4egAKFEoiQ4b6noHkem9VpA5kqZYQjM9yKwkHtqjTEzaI4R+Sxhdk3cOrumLid7PyRxJu8kBhYQKNyJiiEvGZP8xTc18oYeiw8MRxt4c3Ot4aOJ6kEyw4akjqCIrQemcy3z/GXS4Jy1tsUEFkNRQhD/YYu/bs4byRHXn1BlrBmFBSSQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(39860400002)(366004)(376002)(346002)(41300700001)(6506007)(966005)(6486002)(186003)(2616005)(478600001)(6512007)(26005)(5660300002)(2906002)(8936002)(316002)(6916009)(54906003)(4326008)(8676002)(66946007)(66476007)(66556008)(38100700002)(84970400001)(36756003)(31686004)(31696002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tkd6eFY1Q2FXRytJUTB2NWoyRFRVV1ZGR3ByVCs0bXIzcHFhcmFKMVF0Sk9B?=
 =?utf-8?B?Y0FhVWZFdGFVZjREeDBrbFpsY3FJc08xbjV6ZUNWcHZDWG45QzF6a1d0bnEw?=
 =?utf-8?B?ZEZkVzRiUkhESTY5QnpSdldsUWJ4U1lobU1nNzg3NUpvcjljSXBqM1NhNk4w?=
 =?utf-8?B?K2tHdkl1T1VEMTJScHRjdldwTEpKZE80eVM4Q1FPUjdlT3BubENMUVN5REpl?=
 =?utf-8?B?blEwYk1lc3NUQTcybUE1OTM2NWlEcjhoQ0lrNG5naVRUT2t0U1lwSEFTSHIz?=
 =?utf-8?B?TkZnK1NweURkak5xV3loTUZOaUJaOTBKSFVLamdhb2pZUTVjbnhyV1hoSGZF?=
 =?utf-8?B?bERibU02d2NIOExuMTMxMEhJL0ZJRkZBOUxrRjhYL0hBSHkrTko0bTRCaklG?=
 =?utf-8?B?WEYwdlpDM3MvaXdKY1AwZGRVa1Y2bVJManZJcTdZYUpJZVdsNUJaVmtMUmFD?=
 =?utf-8?B?enl1YmYyNTFBN1VwS2FMVW9nWHBWbDFwZ2dYcjZ5R2xsa25rSWFOU28xQTRp?=
 =?utf-8?B?VFVRUE14R0JNUUMwNDVqNUpBMjlNSW1EblFtVHduU1VQRDFxUkl3V3V3N01l?=
 =?utf-8?B?d3hzRXkxVldtS3E2ZUlOMmZ4c1FkMjFiQlh3Mk9YVE9aTlYxVk9xUlg4MFpW?=
 =?utf-8?B?TFZEVXNIaW5odWRsZ3dYMTZwdGJZSDdaanpKRkhkQmhGeUdYQnM5WitHaWVm?=
 =?utf-8?B?bUxDc1cxRGFyY0t3c2Jma1R5L09DMUpqYlZRbm9wL2JzMXVKdjVlS3B2aVY1?=
 =?utf-8?B?WDgxS2FTUkRHQkUzQzdHT0R5bXQzMUVHOFJWYjdGUGgwdEJmS2RZMjRYZUNP?=
 =?utf-8?B?V012U2grem1ndXNLWEQ2OVQrbDd5bENpbEdoVzJvellXVUlKcytJTGVEalNm?=
 =?utf-8?B?eWpNNFhDYkt0OGltOHVwZXVuMlk5VjlsS3VOZjhsSVpaeEQzc1hZcy9PZEZN?=
 =?utf-8?B?L2J6TU9QLzdRdlkvRjZTYjhBUzFSMmR3YUJIY0owbjJiRWl5KzJXMUpNOVdj?=
 =?utf-8?B?emJnTitCcjlDTC9ZRkhhUHQxZlcxa1hDWk1XYnF2bWFHVHBEYnp0Yy9GaUZV?=
 =?utf-8?B?ZmsveXhyRGw5RmE3ekcyL0FiOGNFUThOOGt5dUZScGhRckphelRNajJvRC9H?=
 =?utf-8?B?UmlmV3BPYi9kS2hFajU1cGJOaUtqM2pNUEF2ZWJiMnNLVGZxVHZEcGNYSWZS?=
 =?utf-8?B?NDBIbUJsdEdYQ3M3SHo5M2RoNFlUN3dnVGp4Smp6a2lrRDdOQU1Edm96ZFRp?=
 =?utf-8?B?aTI0WDZ0SUhhVHFGMnlkcldnT2w5UTF5ZkVBZXR2Mld1RWVRdjFMcU42T2JX?=
 =?utf-8?B?SmFBZjBRSGowbHM4TUZJUEZla3h5NkdZaUlVb3dReEQ5VHVzMWdiNGlkRmFi?=
 =?utf-8?B?RjdjMmlKdnRhdTJ6M0hSRnJRTWM2L0VCRG94RlpqaTkvT0kzMXBOVW5DUGUy?=
 =?utf-8?B?Y2I4aEdEMFEvWXN6MGJ5R0IvNXlISzJDQ3hWcnNoT3dCT25CbHo0ejhkVTds?=
 =?utf-8?B?K3E2NmtvTk1LeUh3aURpN1RPdFRwUHRXMDFsNDIxWTZQdkNtb3pCcCtIcW5C?=
 =?utf-8?B?UFFLaTY0bkFNbjJmM1dZU3RPNEUyL1F0Sm5yWmRGMy9OM0JvTXY1RmVDVkYr?=
 =?utf-8?B?OVFsWHlDZ0Mxbno5UHE4anBOWjZvc0pMMGN1Tzl4ZGJ0NjZwcVpBMC80ZHFN?=
 =?utf-8?B?bVp3Z1JvcTZJei9NT01YaGFXTzFySHQxWGZyRFJjRFk0NS9mOVVvU1hMbnBq?=
 =?utf-8?B?VlNvSXhOMmlLQVZPMi9VOTFEVXd1U3NOK0V1eC8yZFNjcEJtVlQ3Kzk0Qmto?=
 =?utf-8?B?UWxUaTNuajhvRExYdWwxbG1SRm1Obld6N0xCWjVHOVdZbjkxd3hYRjYydi9n?=
 =?utf-8?B?L3JDdmkvUUIzdFhneDZLREJPYnVIWTh0aW1hTmFVSldCSm8wOU9zZVRCQjRi?=
 =?utf-8?B?U2NMNXMzWkdJVWlVUWhsVEI1a0xsNXcybTVFeC9SbkRxUGU4V2tud0ZrRXJz?=
 =?utf-8?B?T1YxU1Y2TkREVGVNWTlycWFqMUswMjRJMmI4REVWTFdmSE5JbzdJS0JrV3Zm?=
 =?utf-8?B?R1cvVDFuaWNhM0I0VkIzSEE0cUwza2hCbGppM0psM3ROaGpOVG1uMXBsS0Q0?=
 =?utf-8?Q?AwB2llg4nKVhsHCSn8p/S5xbo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 76fd192e-54c6-48d9-04f4-08da8669d8f1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 07:17:19.6958
 (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: k5qyTLfcT8ZAO3kNWLiz4z7BnOD5+EfDyn4PJ6Stk3VkE36JDqHh/TN7jFtD/fNGEe0smlIrFCRyxfdZp5kplg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3526

I haven't been able to find evidence of "-nopie" ever having been a
supported compiler option. The correct spelling is "-no-pie".
Furthermore like "-pie" this is an option which is solely passed to the
linker. The compiler only recognizes "-fpie" / "-fPIE" / "-fno-pie", and
it doesn't infer these options from "-pie" / "-no-pie".

Add the compiler recognized form, but for the possible case of the
variable also being used somewhere for linking keep the linker option as
well (with corrected spelling).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- unstable.orig/Config.mk	2022-04-07 12:23:27.000000000 +0200
+++ unstable/Config.mk	2022-08-25 08:58:00.044287451 +0200
@@ -188,7 +188,7 @@ endif
 APPEND_LDFLAGS += $(foreach i, $(APPEND_LIB), -L$(i))
 APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i))
 
-EMBEDDED_EXTRA_CFLAGS := -nopie -fno-stack-protector -fno-stack-protector-all
+EMBEDDED_EXTRA_CFLAGS := -fno-pie -no-pie -fno-stack-protector -fno-stack-protector-all
 EMBEDDED_EXTRA_CFLAGS += -fno-exceptions -fno-asynchronous-unwind-tables
 
 XEN_EXTFILES_URL ?= http://xenbits.xen.org/xen-extfiles


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:21:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393063.631775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7Al-0007g7-Ol; Thu, 25 Aug 2022 07:21:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393063.631775; Thu, 25 Aug 2022 07:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7Al-0007g0-Kn; Thu, 25 Aug 2022 07:21:03 +0000
Received: by outflank-mailman (input) for mailman id 393063;
 Thu, 25 Aug 2022 07:21:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR7Ak-0007fs-Rl
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:21:02 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70080.outbound.protection.outlook.com [40.107.7.80])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 792aa7dc-2446-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 09:21:01 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR0402MB3526.eurprd04.prod.outlook.com (2603:10a6:209:c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 07:21:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 07:21:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 792aa7dc-2446-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=a+Ty4xvXOFS5zFjP2VMcdJjO7uiISYnm3jkY0LZxUpBkKW/9yw2bPFTSSMEB/azNlWougGZmYAMOHqwbBBBOYQhkiyOy9Guc7a43/iMPu7/ZRCa+naVO9qSGVpkZ8g8ZUGIMK7krHEzT1YwMaYUrUtnThLOCvwaSy83WljftCN05W9HV/jJMw/SXpl0+bR0Ohm1GGg+tfq8BS/eJwv9LyqtisWeBOa9Ps3g4dDcunLL53eFu6SOmH/DglyZ8vlv0K53T03kkonO5n7KD811qj8oYXF3TdHZEEJ7r22HEJr87kH005I26S5jlRkj+h8XgaXAyBtFrlbkE5SpqlDqvGQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WIOCOVhm6SwhzfTV6ARkOvTh0o+gBDrXK5PAE8jgfy8=;
 b=fbrgw2NmxNDxNo8BBwVta2d35ywIUDy3l2LD+Q9M7WK9aIrAlBfC38oJxcre/o+n0QNcE3Yiyul0WaZyU2ZJbQUBVxuzkMPe4gaaeXDYKJ4P442KLj81T9rqaL7i18TvR+geyrdmKYuL7IMj+X1Doi0WsQ/HF9+pQx55uIjyjKIJUFxP1i/Pc5wIbllRYgvm9jVQdo2aDVYdWobEnPQInDrdhABcuMtwdXhYN4+o6EmmlUFDOzKf/ISYRinzkE/zFPmqOPVYFtV4GXG85dh6KfXKNEfN2r05Dlw0EFvuHyRApQU1nU8TkUiFegz9VUtB7w/nIlTbTUjsHA95LCCdLA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WIOCOVhm6SwhzfTV6ARkOvTh0o+gBDrXK5PAE8jgfy8=;
 b=BdnS9VOn2XyKHsPnrsfiNtnSuVoywyDpGYoIZDFRjZOEyjaMyzz7t6gBjBsLhGOYitz44E4PejYb2J3HrhRZxM0623t88Wye10fDMxyKbgRTq6WjUfx/fXyDjCj7ic6BdYA6uNADFdUx2TbLSDZx5IQsxhRfp+OXKR2J2NIFB2gOyUwl9STTs8xyhJ9iXcADCfP1rSH7FGVnpX1Y3rbZHOFvpq5jY7lg9FYbpfcIYWPcwu6WVakglTNjaQhPw38RL3CTXmMPS28wXoo0GoNtUDsPPemzNn0FD1HrqsvGH3V0lnjFIks5tZJDo77AojDc33e0tYYDRi95F3lI1hwjtQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5a69da9c-5b91-2c79-c5a5-7a5335295d86@suse.com>
Date: Thu, 25 Aug 2022 09:20:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/4] x86/hvmloader: Don't build as PIC/PIE
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220824105915.32127-1-andrew.cooper3@citrix.com>
 <20220824105915.32127-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220824105915.32127-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6PR10CA0005.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:89::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 860ef8c9-e485-4bd5-4433-08da866a5c80
X-MS-TrafficTypeDiagnostic: AM6PR0402MB3526:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/FSUwik2dxIG9bVsRmbLmFiy044YE9siz1cyTISBYgiJYZA8svqBEzG6fNTC+WokAlyKVI7AVCrAqHhVDiawSpovkEHJeqnJ/g3lieXMLSyk5hpyv4AUDTCLJ4iaPdQO77A1kHSUDwrFQvAoeiO9ChQFKpX/UR0efzKCqen2DWuiw6IBjs95y9Ldf6V5L9WupRNHiilyKpidStKZ7hzmVxC+PDWIEuTv/tCa65I/uf4Z12gBEg3iq9zgGY/o2TQIv/IqifwNGJj3318vygyyt3Dj5MI2sJFH+8fu34lc9sAS9bUvCWqCDQBA2j9t8Nm7fK1dS7sxvQX/Csnzeo4mXgLGEHl2DAwTIj5aaqD54WrT0q4KCZL7fvxiEzcTn1/R7nmYgA09KAtJvhV8QN+pcR27D5YH4zB2g5+5TnbvP1FOPCzJ89ywYm+kSkaVK+JcVpaa5uZbsSmGraY7ptpEEoZhtZ07YHq+E1gqJWJ+87uCz+3EjtCDQ7Gu0aCNoKyvm1oVSqqaOHwN7R7Na61XTTyuZlmtzSB66KJvwTPwNzTf6y0naU+JVFOkNX+odKRx3tOVGBPtykcdbo51RhhovO1vR650OQbiRug0CR45GhIl7VFc2ZEIStzO9ApidkTFmdaxWb7E+cKNTswt9+3a7g9/w0F2fFGkGwEHIkAdTkndtkz3/l6JzpFjxNcLOxGI9gBgYvM1f4PVZS6xt9WKsv+t3jj9fbXN/Tx60eYwO2kAGW6rz74rpnCeIG1FPHM4bWNEwBf31NiDtpRcSEytypB5iza0RwW5zi6BsQQI2rg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(39860400002)(366004)(376002)(346002)(41300700001)(6506007)(83380400001)(6486002)(186003)(2616005)(478600001)(53546011)(6512007)(26005)(5660300002)(2906002)(8936002)(316002)(6916009)(54906003)(4326008)(8676002)(66946007)(66476007)(66556008)(38100700002)(36756003)(31686004)(31696002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S09Db0Zuck1CZWJvTkxTNmpKZzdaTktMaGpBN01iaFhMNm05Mjh4TDZML2dq?=
 =?utf-8?B?TXRMRHBla0o4bDhyejRxR3NyRG51WURJUEFvUGQ0YVZWWTVVaEZwbTl0MGta?=
 =?utf-8?B?N3JFek0vSnJoL0c5S0FMcGVXQkU4alNvQWxmZlZIWVo5MVBxaUNrempVS1pR?=
 =?utf-8?B?UDdSSzRjd1g1NC9GNHFkL0x1a1BZalA1Q1B1T0N4U1FJTFo1bUNkc3pJSEg1?=
 =?utf-8?B?SDg0U2N3UEVuNTQ3eURXQ1JqYnlBWUhobEh4YW80bmRDY3JYU041NFpiNjZK?=
 =?utf-8?B?YW5Tc01pck5waHNxVnUxVjBkR0Z6aFVVc2pSNGN1SnMyb1dpQjlRbnhjVjJY?=
 =?utf-8?B?L0xGaXdlYWJ0bC9rNWVqVFZNalVaMmVCUzYvbEkvQkppRUdUc0VIdXBxRWRr?=
 =?utf-8?B?c0N4VkF1NlI4dlI0Z0NVKzBEL0plckovL1ZuQ3UzcVpYcGhZTkhvNFJ3eDdD?=
 =?utf-8?B?azhEWDUwWFRjTkd4UzRMSlhXOUI0enZqTVFZeHlqbk5hNkxOUjVCMHJzQXQ3?=
 =?utf-8?B?Y3lybHRUWis3ZldTNVJsTTREakdBWW1DNVBoNzFYN01teFRGcEx0L1FjN3lh?=
 =?utf-8?B?MFI5c1NDcndPbnZ6NUJ0NmpoMGFqTkdOb3NMNGxGUHl3b3dQM0tvZVJ5dTlh?=
 =?utf-8?B?cVFuVmhibnhEcS9ad28xRzVJOGtFcDR4Qjl0NjFPZzhWNHZpWlk4eTZhU1BG?=
 =?utf-8?B?VGZGajFwVXg0N2czVGJ5SExacVBzbUhjTmJ6azdjM3JkLy9MdjdMSk9pdytH?=
 =?utf-8?B?T3N0Z2N0NTVGMjJMbG52bno2cXZjZ202TmRSQlJqZ3luR0pSa3AvRFhRV3Uw?=
 =?utf-8?B?UmlHVmRXUVluUWUrY1NLY1pnOHNsUERJcjRsUHB6aWRnamJ4TW16c3NFL2g2?=
 =?utf-8?B?TkFGVGdXMnVKUVlhK3U3ZDNRMk9ReVRYV2hDRk5LN0ZyT0Y1b21ET2FzR082?=
 =?utf-8?B?TGdhdHNuNmhOeWNBVTJGMmhVK0k5WFpBSExzenc3TGN4Y04vdnNqQ2ZtSlRo?=
 =?utf-8?B?b0NWSEI1bHdoOGJ2YnJWU0xSUlByWmNsS3NUVVRNY1J4T2wzcWg2QWt1TlRI?=
 =?utf-8?B?ZUg5MFo3SENacWxTT0svY09GQUVMS2tVaFVyWjdabjZhbzNIUHJJUUJnSm9y?=
 =?utf-8?B?SlZPTjVKUWtUL2JKOThUWWFUMzlhS00va1R5YmRhMXBXNFBoQ3dHYkZ1THhP?=
 =?utf-8?B?NngwSlZKOURiS3FFTndtQ2l3RVBTZFI0Z3VOVDRkakxMZ0xQZ2NHOFlicm5l?=
 =?utf-8?B?M3g3c2xQRVZXWFQ3RjhmVzYyWTI3SGxRK3RFREVvclRuWHdBWXQxNDB6SVVX?=
 =?utf-8?B?RTBBekU5b3N5L1U2NkZCeHRVTEZtWWZsaG4vc1h1cnZxQ3dCQU41OGJxTDNU?=
 =?utf-8?B?OU1laTZpVmZITnJhRE9oS3NEOVRDaGtzQUQxdFBxWEhUYWFVd0IzT3BBVHp6?=
 =?utf-8?B?WThZVk0yNFZwYUtHMkRFQS9MY1dSaTJaNUp5YmdSYzJLQ3V6bWVKOGpHZHJH?=
 =?utf-8?B?cTU2NjJldmtCNlFDeDk4T2dTNVVMTUVteHkzV1g4emoxc3V1ZjZuZ0lWRVND?=
 =?utf-8?B?RTFKUkVrL2FkYnkvS3NQQU9XME5ObW1lbnpuOTlVY1d5UzM0TDZGcU9RMzJ0?=
 =?utf-8?B?aVNTTUc3VWFObllRblM4cWY1c0E0VFZseUtlOEd6cExPYlZUZTBBRHVmazJi?=
 =?utf-8?B?ZUhrRVNPaG0wNTR3cUZHbWdBcGRMMUZtS0NQRE13VWlrTWFZUkxMb2JSQ0pp?=
 =?utf-8?B?c3JZUUFuRzg0VUNXVE9VL3FMWVd6Y1MzU0wvQytPNEY0VG5pVno0WXFUWFZX?=
 =?utf-8?B?djI1bVRrRHRSQmdOQzQwQ284VWVZSTI4TGw1N3RDSkloeUN3a09TakJIY0lG?=
 =?utf-8?B?dXpFQlRBbFNQN0FERHFpN0I5RjFaK1U5NHRnSHJweE10dzFLa0RxWG41RTdq?=
 =?utf-8?B?dHRzWXVobktjd24zblZJclRpM1RRbUtCeUM4YTJEYktiVWhPbld3dmlBUVQ3?=
 =?utf-8?B?YnA2ekVKMG0xeDRzVXJEbUp0SHRZaVFvVU1WVklUa3lDTTNkdHNzZ2hINkhS?=
 =?utf-8?B?ek9ieWEzeCtCWFYxbWhaalBnK2Q2QlRUUUpxVzBxK0hJcXlmL2lORlA5UEhl?=
 =?utf-8?Q?Oz6Fx5aGTKGlfVuMflhWvuTQn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 860ef8c9-e485-4bd5-4433-08da866a5c80
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 07:21:00.4161
 (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: 4R/KBAhdWmttmZxc0MczERDivaFhBoZmx9MKrBuDdN4OttDnstvUWUjqAkE+IRcklV/zPkv9zfmCpbOqXuHrIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3526

On 24.08.2022 12:59, Andrew Cooper wrote:
> HVMLoader is not relocatable in memory, and 32bit PIC code has a large
> overhead.  Build it as non-relocatable.
> 
> Bloat-o-meter reports a net:
>   add/remove: 0/0 grow/shrink: 3/107 up/down: 14/-3370 (-3356)
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>  tools/firmware/hvmloader/Makefile | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile
> index 4f31c881613c..eb757819274b 100644
> --- a/tools/firmware/hvmloader/Makefile
> +++ b/tools/firmware/hvmloader/Makefile
> @@ -23,7 +23,8 @@ include $(XEN_ROOT)/tools/firmware/Rules.mk
>  # SMBIOS spec requires format mm/dd/yyyy
>  SMBIOS_REL_DATE ?= $(shell date +%m/%d/%Y)
>  
> -CFLAGS += $(CFLAGS_xeninclude)
> +CFLAGS += $(CFLAGS_xeninclude) -fno-pic
> +$(call cc-option-add,CFLAGS,-no-pie)

This is supposed to be coming from EMBEDDED_EXTRA_CFLAGS, if only
it was spelled correctly there. See the patch just sent. This line
(see that other patch) is meaningless anyway, as we don't use
$(CFLAGS) for linking here. So with it dropped
Reviewed-by: Jan Beulich <jbeulich@suse.com>

I do think though that the description could do with some expanding,
as I don't think -fpic or -fPIC is the default normally. I suppose
it's only specific distros which make this the default.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:32:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:32:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393070.631785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7Lj-0000jf-Nw; Thu, 25 Aug 2022 07:32:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393070.631785; Thu, 25 Aug 2022 07:32:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7Lj-0000jY-LC; Thu, 25 Aug 2022 07:32:23 +0000
Received: by outflank-mailman (input) for mailman id 393070;
 Thu, 25 Aug 2022 07:32:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xLAc=Y5=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1oR7Li-0000jS-CP
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:32:22 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0dc9e6a6-2448-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 09:32:20 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id gb36so37801742ejc.10
 for <xen-devel@lists.xenproject.org>; Thu, 25 Aug 2022 00:32:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0dc9e6a6-2448-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=u/qA2tV35RVq25oPLoYqCodfJI6BuBt8yC6t0sX7xXE=;
        b=PF83ekluY1s6uYNNL7wqyQjNluOQOGqW6JA4nDUyLVNnuk22T7808YpaeXxsmvWX/E
         vZiOoSjtPHmen1yqNkEGFXclsvXYvIFcvet6owjkqf2sgJRy6pUokZM1ef492MyQblY4
         r84PBxiW7dRTzZ5qC0nxt5/xQXxaPJKnnI7wQ5oQSYiaN4tdUUABstG4Hz/bf8u/qv5H
         uD9wQoJK8ugdfjctdwMQvOCct8lf99ncE0QsdMcZEKT+p1CjMR25lt39Udq6YLqqOSnK
         rPrD2Ma2DpO4wwdVs/gbnTiAPa+v4s0+erH0Teg8Q2bXmEFKMIIeDrKtyjEvCE/co7kQ
         0xIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=u/qA2tV35RVq25oPLoYqCodfJI6BuBt8yC6t0sX7xXE=;
        b=eSNDPuxfYaHCXsy3Au95Bh7gyOY8DSuBt4eUbgxg79l0rGnSbArv3mb4RFAZyV3vBd
         RlJGtnUOpJVFFuCVAi4JZADgmeSoX/oahuyzTpacPn2OCqhcze/pTrzc3VSUYvNNYNpx
         4NFqieL5MnRWQGx17gsSkdzthwAOWIFn7BC7ekdHvWOj+hxgfmCPZk5CjGTHjWkFUJ9A
         zRXGO3WYgEux2PlqTJRFmYgSJ4Pfmu6sp4Q1+1hymgdVM1aoXmRs1ekU1tO64PQlWGld
         9GOOUtw6kjUmVYMPNGB6A+q9or4BDNk+giD0dTppQk8a6drK/i4XbiSZV2VrBqvnIeg3
         piPg==
X-Gm-Message-State: ACgBeo0qDurFJ5GLK+VtDkECvFTDThV9HQLxxdakB858bAwLU1k21UhR
	/IdNxTBPUBB+4PurP4pVwb7ryusYj/Z1jqI93gY=
X-Google-Smtp-Source: AA6agR5ExTqPChK1RsSr5t4lzjJwH2KLOYp09F/z5MSEIDtIWTXMwaP5pl/ruF7vk9AEYjGHugt379nsLDKP+zCfZEc=
X-Received: by 2002:a17:906:9b0a:b0:73d:c29e:cc87 with SMTP id
 eo10-20020a1709069b0a00b0073dc29ecc87mr1581122ejc.118.1661412740288; Thu, 25
 Aug 2022 00:32:20 -0700 (PDT)
MIME-Version: 1.0
References: <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
 <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com> <CALAP8f_=NztOC9FKYnrCyknOM4jf27cRqjJ9+7UqOEH6qCAD8Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2208241401110.15247@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2208241401110.15247@ubuntu-linux-20-04-desktop>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Thu, 25 Aug 2022 13:01:07 +0530
Message-ID: <CALAP8f-3jcGen82DaVrxRTF3TMDVMkLJA5Nsxu=HDYFDqTOOdQ@mail.gmail.com>
Subject: Re: Porting xen on rpi4
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "julien@xen.org" <julien@xen.org>
Content-Type: multipart/alternative; boundary="00000000000035d4a505e70bccfc"

--00000000000035d4a505e70bccfc
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Stefano,

Thanks!

As suggested, I changed the guest1.cfg file. Below are the contents of
config file








*kernel =3D "/home/root/Image"cmdline =3D "console=3Dhvc0 earlyprintk=3Dxen
sync_console root=3D/dev/xvda"memory =3D "1024"name =3D "guest1"vcpus =3D
1serial=3D"pty"disk =3D [
'file:/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3,xvda,w'
]vif=3D[ 'mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront', ]*

Its failing with below logs:












*root@raspberrypi4-64:~# xl create -c guest1.cfg Parsing config from
guest1.cfgInvalid parameter `type'.libxl: error:
libxl_exec.c:117:libxl_report_child_exitstatus: /etc/xen/scripts/block add
[742] exited with error status 1libxl: error:
libxl_device.c:1265:device_hotplug_child_death_cb: script: losetup
/dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
failedlibxl: error: libxl_create.c:1643:domcreate_launch_dm: Domain
1:unable to add disk deviceslibxl: error:
libxl_exec.c:117:libxl_report_child_exitstatus: /etc/xen/scripts/block
remove [793] exited with error status 1libxl: error:
libxl_device.c:1265:device_hotplug_child_death_cb: script:
/etc/xen/scripts/block failed; error detected.libxl: error:
libxl_domain.c:1183:libxl__destroy_domid: Domain 1:Non-existant
domainlibxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain
1:Unable to destroy guestlibxl: error:
libxl_domain.c:1064:domain_destroy_cb: Domain 1:Destruction of domain
failed*

Even after removing 'type=3Dnetfront' from vif it's failing.
One more doubt here, could this mac address be a dummy or actual here?

Regards,
Vipul Kumar

On Thu, Aug 25, 2022 at 2:36 AM Stefano Stabellini <sstabellini@kernel.org>
wrote:

> On Wed, 24 Aug 2022, Vipul Suneja wrote:
> > Hi Bertrand,
> > Thanks for your response!
> >
> > I builded the guest image on yocto kirkstone source which has FSTYPE
> ext3. Guest image generated is
> > xen-guest-image-minimal-raspberrypi4-64.ext3.
> > Below is the content of guest.cfg file
> >
> >    kernel =3D "/home/root/Image"
> >    cmdline =3D "console=3Dhvc0 earlyprintk=3Dxen sync_console root=3D/d=
ev/xvda"
> >    memory =3D "256"
> >    name =3D "guest1"
> >    vcpus =3D 1
> >    serial=3D"pty"
> >    disk =3D [ 'phy:/dev/loop0,xvda,w' ]
> >    vif=3D[ 'mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront', ]
> >
> > I am trying to mount xen-guest-image-minimal-raspberrypi4-64.ext3 to a
> virtual device & then will run the guest VM by command "xl create -c
> > guest.cfg". But facing issue while trying to mount.
>
> You don't actually need to mount
> xen-guest-image-minimal-raspberrypi4-64.ext3 anywhere to use it to run
> your guest VM with "xl create".
>
> It is enough to do this instead, as Bertrand suggested:
>
>
> disk=3D["file:/path/to/file/xen-guest-image-minimal-raspberrypi4-64.ext3,=
xvda,w"]
>
> No need to call losetup or mount. Just xl create -c.
>
> More answers below.
>
>
> > Regards,
> > Vipul Kumar
> >
> > On Wed, Aug 24, 2022 at 8:06 PM Bertrand Marquis <
> Bertrand.Marquis@arm.com> wrote:
> >       Hi Vipul,
> >
> >       > On 24 Aug 2022, at 15:16, Vipul Suneja <vsuneja63@gmail.com>
> wrote:
> >       >
> >       > Hi,
> >       >
> >       > I am porting xen hypervisor on rpi4 with yocto kirkstone
> sources. Followed the basic steps to build xen-image-minimal &
> >       xen-guest-image-minimal. I could flash sd card with xen minimal
> image & could see dom0 up. I copied "Image",
> >       "xen-guest-image-minimal" .ext3 file & guest.cfg to "/home/root".
> After that created a bridge with below step:
> >       >
> >       > killall -SIGUSR2 udhcpc
> >       > brctl addbr xenbr0
> >       > brctl addif xenbr0 eth0
> >       > killall udhcpc
> >       > udhcpc -R -b -p /var/run/udhcpc.xenbr0.pid -i xenbr0
> >       >
> >       > Could see the xenbr0 interface up.
> >       > After that while mounting the guest file system it shows no suc=
h
> file or directory but the file is already there.
> >       >
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
> >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
> 24652288 Mar  9 12:36 Image
> >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>  247 Mar  9 12:37 guest1.cfg
> >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>  868220928 Mar  9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# chmod 0777
> xen-guest-image-minimal-raspberrypi4-64.ext3
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
> >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
> 24652288 Mar  9 12:36 Image
> >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>  247 Mar  9 12:37 guest1.cfg
> >       > [23:40:15] <Guest9046> -rwxrwxrwx    1 root     root
>  868220928 Mar  9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 xen-guest-image-minimal-raspberrypi4-64.ext3
> >       > [23:40:15] <Guest9046> losetup:
> xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
> >       > [23:40:15] <Guest9046> losetup:
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
> directory
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
> >       > [23:40:15] <Guest9046> losetup:
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
> directory
>
> It looks like either
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3 doesn't exist or
> /dev/loop0 doesn't exist
>
>
> >       Why do you want to mount the file system ?
> >
> >       Anyway this is not related to Xen, I guess you could start withou=
t
> xen and still not manage to mount the file like that (linux
> >       configuration issue ?)
> >
> >       What is the content of you guest.cfg
> >       How do you want to pass the guest root file system ?
> >
> >       Yocto should actually generate an img file and you could use it b=
y
> having something like this in your guest.cfg:
> >       disk=3D["file:/home/root/guest1.img,xvda,w=E2=80=9D]
> >
> >       Cheers
> >       Bertrand
> >
> >       >
> >       > Any input on this issue will be really helpful, expecting your
> response.
> >       >
> >       > Thanks & Regards,
> >       > Vipul Kumar
> >
> >
> >

--00000000000035d4a505e70bccfc
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Stefano,<div><br></div><div>Thanks!</div><div><br></div=
><div>As suggested, I changed the guest1.cfg file. Below are the contents o=
f config file</div><div><br></div><div><b>kernel =3D &quot;/home/root/Image=
&quot;<br>cmdline =3D &quot;console=3Dhvc0 earlyprintk=3Dxen sync_console r=
oot=3D/dev/xvda&quot;<br>memory =3D &quot;1024&quot;<br>name =3D &quot;gues=
t1&quot;<br>vcpus =3D 1<br>serial=3D&quot;pty&quot;<br>disk =3D [ &#39;file=
:/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3,xvda,w&#39; ]<br>v=
if=3D[ &#39;mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront&#39;, ]=
</b><br></div><div><br></div><div>Its failing with below logs:</div><div><b=
><br></b></div><div><b>root@raspberrypi4-64:~# xl create -c guest1.cfg <br>=
Parsing config from guest1.cfg<br>Invalid parameter `type&#39;.<br>libxl: e=
rror: libxl_exec.c:117:libxl_report_child_exitstatus: /etc/xen/scripts/bloc=
k add [742] exited with error status 1<br>libxl: error: libxl_device.c:1265=
:device_hotplug_child_death_cb: script: losetup /dev/loop0 /home/root/xen-g=
uest-image-minimal-raspberrypi4-64.ext3 failed<br>libxl: error: libxl_creat=
e.c:1643:domcreate_launch_dm: Domain 1:unable to add disk devices<br>libxl:=
 error: libxl_exec.c:117:libxl_report_child_exitstatus: /etc/xen/scripts/bl=
ock remove [793] exited with error status 1<br>libxl: error: libxl_device.c=
:1265:device_hotplug_child_death_cb: script: /etc/xen/scripts/block failed;=
 error detected.<br>libxl: error: libxl_domain.c:1183:libxl__destroy_domid:=
 Domain 1:Non-existant domain<br>libxl: error: libxl_domain.c:1137:domain_d=
estroy_callback: Domain 1:Unable to destroy guest<br>libxl: error: libxl_do=
main.c:1064:domain_destroy_cb: Domain 1:Destruction of domain failed<br></b=
></div><div><b><br></b></div><div>Even after removing &#39;type=3Dnetfront&=
#39; from vif it&#39;s failing.=C2=A0</div><div>One more doubt here, could =
this mac address be a dummy or actual here?</div><div><br></div><div>Regard=
s,</div><div>Vipul Kumar</div></div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr" class=3D"gmail_attr">On Thu, Aug 25, 2022 at 2:36 AM Stefano Stabe=
llini &lt;<a href=3D"mailto:sstabellini@kernel.org">sstabellini@kernel.org<=
/a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">O=
n Wed, 24 Aug 2022, Vipul Suneja wrote:<br>
&gt; Hi Bertrand,<br>
&gt; Thanks for your response!<br>
&gt; <br>
&gt; I builded the guest image on yocto kirkstone source which has FSTYPE e=
xt3. Guest image generated is<br>
&gt; xen-guest-image-minimal-raspberrypi4-64.ext3.<br>
&gt; Below is the content of guest.cfg file<br>
&gt; <br>
&gt; =C2=A0 =C2=A0kernel =3D &quot;/home/root/Image&quot;=C2=A0<br>
&gt; =C2=A0 =C2=A0cmdline =3D &quot;console=3Dhvc0 earlyprintk=3Dxen sync_c=
onsole root=3D/dev/xvda&quot;=C2=A0<br>
&gt; =C2=A0 =C2=A0memory =3D &quot;256&quot;=C2=A0<br>
&gt; =C2=A0 =C2=A0name =3D &quot;guest1&quot;=C2=A0<br>
&gt; =C2=A0 =C2=A0vcpus =3D 1=C2=A0<br>
&gt; =C2=A0 =C2=A0serial=3D&quot;pty&quot;=C2=A0<br>
&gt; =C2=A0 =C2=A0disk =3D [ &#39;phy:/dev/loop0,xvda,w&#39; ]=C2=A0<br>
&gt; =C2=A0 =C2=A0vif=3D[ &#39;mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=
=3Dnetfront&#39;, ]<br>
&gt; <br>
&gt; I am trying to mount xen-guest-image-minimal-raspberrypi4-64.ext3 to a=
 virtual device &amp; then will run the guest VM by command &quot;xl create=
 -c<br>
&gt; guest.cfg&quot;. But facing issue while trying to mount.=C2=A0<br>
<br>
You don&#39;t actually need to mount<br>
xen-guest-image-minimal-raspberrypi4-64.ext3 anywhere to use it to run<br>
your guest VM with &quot;xl create&quot;. <br>
<br>
It is enough to do this instead, as Bertrand suggested:<br>
<br>
disk=3D[&quot;file:/path/to/file/xen-guest-image-minimal-raspberrypi4-64.ex=
t3,xvda,w&quot;]<br>
<br>
No need to call losetup or mount. Just xl create -c.<br>
<br>
More answers below.<br>
<br>
<br>
&gt; Regards,<br>
&gt; Vipul Kumar<br>
&gt; <br>
&gt; On Wed, Aug 24, 2022 at 8:06 PM Bertrand Marquis &lt;<a href=3D"mailto=
:Bertrand.Marquis@arm.com" target=3D"_blank">Bertrand.Marquis@arm.com</a>&g=
t; wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Hi Vipul,<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; On 24 Aug 2022, at 15:16, Vipul Suneja =
&lt;<a href=3D"mailto:vsuneja63@gmail.com" target=3D"_blank">vsuneja63@gmai=
l.com</a>&gt; wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Hi,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; I am porting xen hypervisor on rpi4 wit=
h yocto kirkstone sources. Followed the basic steps to build xen-image-mini=
mal &amp;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0xen-guest-image-minimal. I could flash sd ca=
rd with xen minimal image &amp; could see dom0 up. I copied &quot;Image&quo=
t;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&quot;xen-guest-image-minimal&quot; .ext3 fi=
le &amp; guest.cfg to &quot;/home/root&quot;. After that created a bridge w=
ith below step:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; killall -SIGUSR2 udhcpc<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; brctl addbr xenbr0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; brctl addif xenbr0 eth0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; killall udhcpc<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; udhcpc -R -b -p /var/run/udhcpc.xenbr0.=
pid -i xenbr0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Could see the xenbr0 interface up.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; After that while mounting the guest fil=
e system it shows no such file or directory but the file is already there.<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~# ls -l<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=
=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 24652288 M=
ar=C2=A0 9 12:36 Image<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=
=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0247 Mar=C2=A0 9 12:37 guest1.cfg<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=
=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0868220928 M=
ar=C2=A0 9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~# chmod 0777 xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~# ls -l<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=
=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 24652288 M=
ar=C2=A0 9 12:36 Image<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r--r--=
=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0247 Mar=C2=A0 9 12:37 guest1.cfg<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rwxrwxrwx=
=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0868220928 M=
ar=C2=A0 9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~# losetup /dev/loop0 xen-guest-image-minimal-raspberrypi4-64.ex=
t3<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; losetup: x=
en-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image-minimal-raspber=
rypi4-64.ext3<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; losetup: /=
home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or dir=
ectory<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~#<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~#<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~#<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@raspb=
errypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image-minimal-raspber=
rypi4-64.ext3<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; losetup: /=
home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or dir=
ectory<br>
<br>
It looks like either<br>
/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3 doesn&#39;t exist o=
r<br>
/dev/loop0 doesn&#39;t exist<br>
<br>
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Why do you want to mount the file system ?<b=
r>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Anyway this is not related to Xen, I guess y=
ou could start without xen and still not manage to mount the file like that=
 (linux<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0configuration issue ?)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0What is the content of you guest.cfg<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0How do you want to pass the guest root file =
system ?<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Yocto should actually generate an img file a=
nd you could use it by having something like this in your guest.cfg:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0disk=3D[&quot;file:/home/root/guest1.img,xvd=
a,w=E2=80=9D]<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Cheers<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Bertrand<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Any input on this issue will be really =
helpful, expecting your response.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Thanks &amp; Regards,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Vipul Kumar<br>
&gt; <br>
&gt; <br>
&gt; </blockquote></div>

--00000000000035d4a505e70bccfc--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:39:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:39:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393077.631796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7S7-0001Sz-HE; Thu, 25 Aug 2022 07:38:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393077.631796; Thu, 25 Aug 2022 07:38:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7S7-0001Ss-Ea; Thu, 25 Aug 2022 07:38:59 +0000
Received: by outflank-mailman (input) for mailman id 393077;
 Thu, 25 Aug 2022 07:38:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR7S6-0001Sm-25
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:38:58 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2069.outbound.protection.outlook.com [40.107.105.69])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f9ef7001-2448-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 09:38:57 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8570.eurprd04.prod.outlook.com (2603:10a6:20b:435::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 07:38:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 07:38:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9ef7001-2448-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=a/AKPh8Hk1ifObUG3hELu5YepjSW4zGG3CTra13N1BWu2hRl+rKaLtMLx1w9Y7r5GDYVggMN8msCrN5xcljzbzTSyvqeQOX+j46JwdNMBa2ofemWkW6CGbcEOPCQuIhejVGqLOJfyF3HJyrdBXC4S1K0AldGUb5pZTYmfzdk/QgQ7G+7Mw7lWpH9N3mfiHD3hviQl3IvOVC99ZFZn8cPIRDPKXqek8rT6k36oNi/uOuPs4JMVOxNGMmSekSGLVwQrBw+4drAsgHH6vWz95F8JW3XYem5GSKTvK5IUg5JuMTIX4odhqhW84QUDmUYNkIPyinjZKGA2Os6PtHYntW5Qw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3O6AAcG197ZLgdwKvrbRJiihxehoeIAjIb3c4a1ELTU=;
 b=RkQ5PqP+bz2F2eCJAr3MYdHe96zh+TCCW0mvZux58xK1o4B2dfqAt9At9VPT/BomORaD7YPRDMk+U319LU7dF3cM3wc2rn6lKd30UZok4imWvHagU7oJCxkEn37jUepmwFh4fFyeER2kjQFABZQa9ZNEljj1A4kWNIgjfwtYMtbM7NbBVDZQ5NB/fYv2QE/2pUu4mbcLJjwMqBpHpYu7VqPEM7RIOmR5r63MPOnHRqCK2oJbo9pap+nrQ5hc+9L69ylZl8dWzn+Oad1PMmu60tDfBf4CUtvD7Z6tGlCrt3L8ta21mANUGyPH0jIcXl+RSHSJte9y4LvuZbmnMw+PqQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3O6AAcG197ZLgdwKvrbRJiihxehoeIAjIb3c4a1ELTU=;
 b=vf9NS6Ga7v1c7jK3yPAtelBAj2Lb28p6KJzN/zqhy7otPu8IAGRSQJHqBsZ3rtNcyOHCTK8NI5XR5+3EeRS1MYOrN0YFn+x77/62iWiQ9NwGEF9FpRAbCYUEqDLAezqHxqij6o07dTsJSPTwJLkziZ6B8gTqt9CfzvH9TBw9ShnRPrMI/93BCV4mXHqZRXBXEufJh+VWOS+fb1fbHXjTlI3DWxOlEM7OTBOy9Biknx4jMsjlDxPOg8Chv8lUWDcnuoKnB8AOI2/m6XqAEAcEXBuYmb/sqkS+aKWfYqNhHqj/6/g0EdtoNhALQjX8rZlbUa+6Kp0vPZZaRB2hNIrjHQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <396156e8-304e-ed68-8596-ee544dce0373@suse.com>
Date: Thu, 25 Aug 2022 09:38:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220824142634.20966-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220824142634.20966-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0108.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7bad9774-940f-40f5-b5ec-08da866cdcf0
X-MS-TrafficTypeDiagnostic: AM9PR04MB8570:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FTx4ZfBQUcMkev47/i3T1EZHb7kyLto6H/hkaQTmn/fhyaIq4uxsQEnWcW9TUfQrrSe09GKb+4KjkJbvFITgliu2eVQAz5IyNyKj1NUBc/aWJuOWyoQgjbcQqOD5mQ4TXn+aQHlt9LJ8Fd4gqC5CeGoNsJsk3QvJVWZ7NLaLBIcqzOVJ1/BXcOE3uP0fznF5WRsbbRmLONAmRM+a7X3CGYHtH/H8ZO6hU3GUv7HzdPJhQ94KOtGZwA30neIMqFqBq6M+YTzbzz0QJ3CfZGk6Gd+ZqTXgIdvIzbnzky1J9qu4kgk2DGXLmS8EprXnwEBKWbaLcU/GC7t1wLBWoYXoSlRpE/3SkWjWwBm2gFIdFiff/O1SDPnnGuOtx/JNUJW/Eg20N/ubjMUjSt7DuQ/X1JZod7xKa5JjXwLpOlkq5M5CN9Zt34YErcyEExU22hF4BDy5KUCxyBc9rgOGAtIOIdlVhaL24H8wudiLlYI3oxPjSl9zt9dH+c+3UZ1XSdGFsZYoEIq4xgGz8U8SRzMjDiBFEXv3hsF3A/OUiyADFDpvfhz1lBqUtm2WPjYYTG+tTY6eI7sfuMBKLk35YdA3milaox2n9mEdG8JHc8c+8lZVv/BHVH6wlxlgr0lBJYqWv8O+oM8A+bPahbw5YA0U4MLFX4HwNTNIXioKvEZUu0IdljVDwZrI1V0gNc0XpXc+Lp610sVLLHslb1u1HO7zjKWchg7FT3kqPbNk5HScRNgBXUPUznQK8/4jl61iSu+ec7cRPo1vtLiSpO8TmDIs/n9wIEf0t/mpr92JBYDG14E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(376002)(346002)(396003)(366004)(54906003)(6506007)(38100700002)(86362001)(31696002)(53546011)(66556008)(66946007)(66476007)(8676002)(36756003)(4326008)(41300700001)(37006003)(316002)(6512007)(26005)(6636002)(5660300002)(8936002)(6862004)(83380400001)(6486002)(186003)(2906002)(31686004)(478600001)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0tVVXBqRllHRzdKRGs5UXpyS3JSN2pZcldESk1Db3ZSSER5NEt0L1R3emtI?=
 =?utf-8?B?SmlMeEJ0YXBMTUt6QTRpM1FHOXFnNGtabEZVVTJ3cWdqdTJHaFRrQk9kU2xt?=
 =?utf-8?B?cmZRQmRhc2luVHdDalFpRmpBTnE4clROK3VabDMyQ2MwUExRNjZVczJnak1L?=
 =?utf-8?B?TlltVGpoNGpla1RjQkNVcG5JSGlHeExNSWpRT3l6OVdqOVlQekVLMDc3NDN0?=
 =?utf-8?B?WHJMcCtYVmFxWm41L2lMaE1HcVF3OUJRR0RwTlEzaEhuakxBSEg4UnA4a0JG?=
 =?utf-8?B?bDBrRWNWcmJhaWwvZjk3bzNWZmptektpMWN6a1VqR3NJK21qaUgyU21rbzFl?=
 =?utf-8?B?bW5OdmVyMUI4UXJ3VTJhMHFkMk1UcFVOV0hzVDBJdVBpMTZDR29ON3AySVFS?=
 =?utf-8?B?cnVjU0F6T2VjUFhwd0plT1crVmVCVXEwZ1Y0UWNTeXdneFljVVhpM2xhUStP?=
 =?utf-8?B?bUhXVkdSSTVUdnJKeDNnZG0rbHZDdzJtMXZOREFNSkdhY2JZZEp0VDZjU0RR?=
 =?utf-8?B?MzU3d0dXcU9IUTMvUWt3akI3a0c1cUN0aC9iaHVCK0xpQ0lnbHJ2azNEakxh?=
 =?utf-8?B?R1lNT2xCMGdiRjNvWkgweE9GdzN1ckx5VWRiY2Z5ZmJZRnBoTnB3TkV2NUdk?=
 =?utf-8?B?SW9GYjlBTlZ3WEhwMDVKVE1ONVREbXJUMjhuekRJNmk1NDVQYk9reEYzdG9J?=
 =?utf-8?B?S2tqalRLL1BjY3plZkJRVHNtQXB1RjE2NDRMeUVEeEkvUVNIZGpXbldRYkxq?=
 =?utf-8?B?MHhzSlAwVE55OXhyMlhjaW02bFc4NXM2eVFwVW15Q1hQYWRDdllQYmRVNytS?=
 =?utf-8?B?eDRQVFIwTWRuZUFKTVpPeDlJc3JGL0lFRWRDN3RIYWpqdDRQNDk1UFBQMnBs?=
 =?utf-8?B?SXJKTEMrVHdjMnpsZGJkaTlRazAzQXVzdmx1STRVOEF5endZVjREMTJhdytH?=
 =?utf-8?B?RlhXSWFYS3IwTWdsQk1CY29QcGlFd2ZYdzdqTXVFOVo2RlNxL1hORmdENVRz?=
 =?utf-8?B?dEY2RkQ1TGJQM2NWL0VWN3YweW83ZjFhcEtvMytsbFFZdVIyR3RPTzQxbDJl?=
 =?utf-8?B?ZkRsRmVmUlBJbnRsMkhCWGl1MEdKSDl2VTJIaGFzZGNoNkhZOUNCOWEwdS9j?=
 =?utf-8?B?bkZzM0pQMGd3K0ZneW84Y2Y1RHFKL1NHOFY0NUtEN2hvNTZUcnFYc2JpcXMz?=
 =?utf-8?B?Zmp5SFlSOGFiazdkMnB0MnJsZzJ0ZUZ6MWY0eXBkL2NRYm9jWkdOZ3E5SHBz?=
 =?utf-8?B?Sk5PelluUG9VL0lUUEM2RWxhWGRuT0JXanZUZy93aHZJU2xzSmhZNlJ3Z2x5?=
 =?utf-8?B?Q1kvOWtkQ0cxcEJzdTZNRHg4YU54cFNuRHRRaWhBWWpSREVFMXUxYmFjdDJu?=
 =?utf-8?B?dWNwN2NyQ0FpUldaUFVkbjRSZmczVG9jVTlRU0k3dE9pMmJlWUFNSTY5Yk9I?=
 =?utf-8?B?UmhRR3N4VllQV3dDRGwzbmN1TFBneUxMV0owNlYxWFk0U0tmQ044b1ZjUHFa?=
 =?utf-8?B?S0dnRUJGK0V2MzRBczVMWHdCbXdlREhBOTM0RVJEYkJVZlBsSWIzWXA2bEZY?=
 =?utf-8?B?K0wzT2NmYm53MXFEL213SXBWc3ZGMW8zWmxBcko2ZTVCV1dERnNqN1U2TmtV?=
 =?utf-8?B?K2NHbzJBeDRGcWRqRVpkN25ZYnRHRjJhaFBIVE0yV3JZNnlhSGdSTjBkN3I0?=
 =?utf-8?B?OEppN3M0WVFEZ1BDa0xnK3pKTW0wclRHZUJuT044cHBrd0UvYmptakdlTVlL?=
 =?utf-8?B?Z0JFRTZzWDhLL25TYkNTUDN2WnBOcmh1L1RiWlR3WmVtdXFwUmNBMTMvY0F6?=
 =?utf-8?B?OXBsbTZiMnJwRWlpSnpsdEZMUmVRV3VlanJTd2JmZnNDTUtRTDFjRUE0K0lI?=
 =?utf-8?B?dFJ1am95OHd0N1B5TzhVWUQwcUJEbU82MVBnNDkzYlRlQVFHRHRmM3J6a25a?=
 =?utf-8?B?TGM0K1JBbmthK2tzbmRtS0ZzTEVFV1JQUDdjYTNzb1R3LzZtWDYwYXhNQ1gy?=
 =?utf-8?B?UXpCVXRkMmwyNTZrZnYvNzlrTjROSzRpMXd6TGZ1TGVYcVFYR3FsWmtPM3Q3?=
 =?utf-8?B?d2xPKzY2WnlpSFVVai9BZHBkdklYSEpXMUNvN1BmSGdOVG1TTVQ1VVlVdEtG?=
 =?utf-8?Q?gTaT8fju26GCldIoDXNZLJQ58?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7bad9774-940f-40f5-b5ec-08da866cdcf0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 07:38:54.8949
 (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: mhgaF4GDiDz+ocX2zMfE5eAmVYzm84xYRF2G2GXErcTwkPRzLveCgzinKAC9k8y0INx+jZiV3SstSxXfRHtp2w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8570

On 24.08.2022 16:26, Juergen Gross wrote:
> The error exit of privcmd_ioctl_dm_op() is calling unlock_pages()
> potentially with pages being NULL, leading to a NULL dereference.
> 
> Fix that by calling unlock_pages only if lock_pages() was at least
> partially successful.
> 
> Cc: <stable@vger.kernel.org>
> Fixes: ab520be8cd5d ("xen/privcmd: Add IOCTL_PRIVCMD_DM_OP")
> Reported-by: Rustam Subkhankulov <subkhankulov@ispras.ru>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit I wonder whether you did consider the variant actually
reducing code size (and avoiding the need for yet another label),
...

> --- a/drivers/xen/privcmd.c
> +++ b/drivers/xen/privcmd.c
> @@ -679,7 +679,7 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
>  	rc = lock_pages(kbufs, kdata.num, pages, nr_pages, &pinned);
>  	if (rc < 0) {
>  		nr_pages = pinned;

... dropping this line and ...

> -		goto out;
> +		goto unlock;
>  	}
>  
>  	for (i = 0; i < kdata.num; i++) {
> @@ -691,8 +691,9 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
>  	rc = HYPERVISOR_dm_op(kdata.dom, kdata.num, xbufs);
>  	xen_preemptible_hcall_end();
>  
> -out:
> + unlock:
>  	unlock_pages(pages, nr_pages);

... passing "pinned" here.

Jan

> + out:
>  	kfree(xbufs);
>  	kfree(pages);
>  	kfree(kbufs);



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:40:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:40:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393083.631808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7TQ-0002nq-Ry; Thu, 25 Aug 2022 07:40:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393083.631808; Thu, 25 Aug 2022 07:40:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7TQ-0002nj-Ov; Thu, 25 Aug 2022 07:40:20 +0000
Received: by outflank-mailman (input) for mailman id 393083;
 Thu, 25 Aug 2022 07:40:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M9hs=Y5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oR7TP-0002nM-2G
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:40:19 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60041.outbound.protection.outlook.com [40.107.6.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29f287fa-2449-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 09:40:17 +0200 (CEST)
Received: from DB7PR02CA0026.eurprd02.prod.outlook.com (2603:10a6:10:52::39)
 by AM4PR08MB2643.eurprd08.prod.outlook.com (2603:10a6:205:5::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Thu, 25 Aug
 2022 07:40:08 +0000
Received: from DBAEUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:52:cafe::31) by DB7PR02CA0026.outlook.office365.com
 (2603:10a6:10:52::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Thu, 25 Aug 2022 07:40:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT029.mail.protection.outlook.com (100.127.142.181) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Thu, 25 Aug 2022 07:40:08 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Thu, 25 Aug 2022 07:40:08 +0000
Received: from b8d8d8c02ecd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FC3F851C-5CF0-41F5-ADE5-97F042FACCB6.1; 
 Thu, 25 Aug 2022 07:39:57 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b8d8d8c02ecd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 25 Aug 2022 07:39:57 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by VI1PR0802MB2509.eurprd08.prod.outlook.com (2603:10a6:800:b7::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Thu, 25 Aug
 2022 07:39:54 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Thu, 25 Aug 2022
 07:39:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29f287fa-2449-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mmOUK54y23vRBi0TmJSjHMTTfLWYLfFKHBpxJxqQzLXYfw65jH90+u9XC0y7vXMPr5GJWFD2n2a+CnCHt/t5VYJpCaRjFFzE/0/pNl7wx3ajoIUO5KJiwzIRPmfMOY89hzFofr0d/XYEHMOOWvvoD+R+DXfP4N+Vj8/84rmp7dLJOlATXW54XDGb28jRevsgGkWP0F7vRxA4BFSL6cw7WtX9ofRrJZoaIbhlo2xWeJXxJRUi80hSke/jjQekN9eVYXbzq2Cn+f28NI9scoOX+UUhflc5rqVUzXBnvtlQC3GAPxFPOTNxD0P9MbWO2rxqymkCZ7YYnx0SlYLCNLwBQA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/tjVRQOdm17mtgT+xDzAWMwGlC4HBPkOmQspog7aYTI=;
 b=RXheFQf1DrjY6vTNuoIh5yCPH7THEJZnQHtH7BrHQv2ToE8wXnhMTHbGqnFC+/G4EREuk6p4ocnJbqkTqzHcCR5nbuwz6H4pWlnyrBNYI9Je4yakwJ8ly1U4T19DMhQrGhzRs8DsvDIPPbRNQ4/TopNY1mYOdlLBEsH+kfBTmFd/fmaeyMjlXGDJZc2dAC6uRbkhXfjQBqEHUVFHjZHt7WmfCPlfkuvg++3iP2c2I8+hE4etWl56wSm3G9vCml8ROjun5HTx8XuVYW38y2Gh6nKukywX4VG7FfCGkVc6BKpNfMjtH/frdqEjSpVrfc6uKib4pUCuzYxUnUJwtRwiMA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/tjVRQOdm17mtgT+xDzAWMwGlC4HBPkOmQspog7aYTI=;
 b=T6nB+VeyGt4pQKxuuRrrdE3/8ysgSvlw39NIBiblC3jH+RQGhWHr03rq5bTZ91tjS6UP4aZQ2TSUnSOEzfg5bCdXmqcjoVhzbV50FHVf39SoJEdoLwlbBcXp/JXQyzJFNiSuyV5sG4Vx7AzXslJnGFsM+JVH46YTWRXbPtmUiRg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: eaba17f8f8fae1a0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BunVZBNFbMv/i7ivSD3dsJXF7gUemKGPPqfKTa3e1HuLMYNOjFnBlf+vBGPmJeFnG7QFUikA+oqfQ3IMpy4pwMh+Fvi14oXAzYWo9t2c5n4b7hFH7eLDEheLvqZvSGA/PGa4/bS1U9BhkfNWduds0IO2/dXjMce+dYj2JWKrQC5j50nhs6dE64UtijLSSDOm0FP+N2DMYRxIqWevSRrcoSWYdo6szRdcomU/xPvNcYCx20IgWvkzTpNPpQW/VP74EnuDpnljLCSSOakL8K/q9CuDuXHlOh01McyctcpZOS6o9tuU6Jfvrtja38QJpEGJ5+Q+jZqzhICJ4LiQHfzRcw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/tjVRQOdm17mtgT+xDzAWMwGlC4HBPkOmQspog7aYTI=;
 b=n975dy9HwMd4axxxQNURZnBLgl+HZVaiXxMNY3O8bkDpKi7nBQ4dl7Hqo2uDFiXbvTv4vfnOqlRQPD/pexUzHQ3UY5BqO7KQ2rZsWN9n2+PTA48Ve5lG8ssgFVaGZdRIB73YLmawvtKOuMy4McKQNwGdGLWQiIetwuEhp7tG5Ks7MUGPTBUKoTG6eurrxvR9LztI44FWwUgEpNrfXEyRztVuDZwFlkkvR4hRkxm6LhZnEZfmi+OGXWwwMFJXR2AHlcOfmgAF8S/GX//vL37mQlFB4TPTIKp1DnnJAaXoVe/JWYZJXu84RTSC4KMWaf8ADOcjF74WMO+oeNPg4td1DQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/tjVRQOdm17mtgT+xDzAWMwGlC4HBPkOmQspog7aYTI=;
 b=T6nB+VeyGt4pQKxuuRrrdE3/8ysgSvlw39NIBiblC3jH+RQGhWHr03rq5bTZ91tjS6UP4aZQ2TSUnSOEzfg5bCdXmqcjoVhzbV50FHVf39SoJEdoLwlbBcXp/JXQyzJFNiSuyV5sG4Vx7AzXslJnGFsM+JVH46YTWRXbPtmUiRg=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>, Rahul Singh <Rahul.Singh@arm.com>,
	xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Thread-Topic: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
Thread-Index:
 AQHYs7NVsywB9ZS1YkG+gj2FUNdLeq28SEyAgAG2wYCAAAw/gIAAHKuAgAAPTYCAABB2AIAAWmwAgAAL9QCAACl/gIAAbLmA
Date: Thu, 25 Aug 2022 07:39:54 +0000
Message-ID: <646CFFC2-9259-45C8-89AB-D59AA5B0DBC1@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
 <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
 <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org>
 <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com>
 <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop>
 <da07bb5d-98c3-9c94-a1f0-6021e398f898@xen.org>
 <alpine.DEB.2.22.394.2208241810390.15247@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2208241810390.15247@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: c6638358-e31a-44c5-0f25-08da866d08f5
x-ms-traffictypediagnostic:
	VI1PR0802MB2509:EE_|DBAEUR03FT029:EE_|AM4PR08MB2643:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 oN/fGcDmhqQyPQt+RTnWO2e5sPfD4PcDCGf1N5DG9+w+UNolpkhY/KqncOEDfaLpjsE8XwZCXNmrUVIBjOxPuxWU0hkAD+yuEEqjWGHJKzND9P4QEaHO+Ot0N2e4y6CAMMBmFZPXsAjwlxsVpo8YX02epgq3HY+HgNPnDiFA30gq6VBWuyI+2YMpl2V4MMvdszfg+J/i9vx0xjlpTLltfAtbrqP0OvbLxIZc7vjdQHmOkzjMv+SriChyXrZqKkd3h7XJUua+pnuxcJRnjRdCt23ZmE7K7aK5AbwJJ4uaimXqmM+4A65C7rfBPuX8nqRVN3huEVIkcCq5+JqglHYsjkYoFwhldPhY4pZOIsInFL9FRQinPnJGWUbEGb3RYkjKtx4r1U7pIREtSygnW7QorT7VInpYvpcuXvWegIuvkdsq1kKYoIeQDpxOBiH+Ny/Bi1F8t1oRYNAiwYq/D6O6KJx3WqITQAH1u86vkabqRbwAC1XexuAmsCZhEY6zBtCSgMERpRvhyrltDd2O/FTXqNrV6S1HIYCkpmXJ7CyxVMBH+jnNDgFhRHeL00GZcOorh7I10F1PUwU426ICwbx7YiJEtBCXD+8E7FQASnkgQTIcKVquW+/VF0zy+zcZ/f8CmL8dJJ9UeK67y2cDT/vcUXP0/+DtUbUACZVoNvuAkJVwce2ROQ00rk/0E8FXz4mNwxA2/4qWhk9LpVR955KFFFPxKPcQ5e2WukZ9b6SBIS5R4Pcq9Ve+uO60HpiFZVF2aCHmkcyeXQMjFl203GCuRduSdpWt2CDxxS/WjXo/UuY=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(366004)(396003)(346002)(39860400002)(38070700005)(2906002)(53546011)(478600001)(122000001)(6486002)(66476007)(316002)(91956017)(6916009)(26005)(4326008)(6512007)(66556008)(66446008)(33656002)(64756008)(66946007)(8676002)(76116006)(83380400001)(41300700001)(36756003)(186003)(38100700002)(6506007)(86362001)(8936002)(54906003)(2616005)(71200400001)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C450A6B7C7B151429CD07D139B105471@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2509
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	eddcf5ea-0341-423f-076d-08da866d00be
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6nxmGL2UFT3pNHjrTSK2ImqYJp4Q1Q+gHLpapJ62uqDOiL5H5AKBBqudTyXYvkSJB2GvkRi62xLEzeUSYA9FKWe1BL+AtrM1oiipJFjflBzas/VB2jChOUUWBUTalk9dl3wvxSV0ExuzfvLvGwkwALEXxl9GsTGJgndDF2I1raONodkTPJVXl8JK7i+P8NKXdPNKjauZH9SZH3a8X2f9BXASihjZ1dlvnSSbvMnh41Kwu48yNCcKMpnuIzmkHVkM9gGNbcwrQxGN81nAI5n7I4rQybat/ERqZd/qn7n06TsWYIOqgVJYtZdpUDaihNW3WY8YTf5I139aa9JkGS1vfAILdL71H/wJgTHNQyFEfl0WFIy8ZpNt/vnx+FHfrlxAnHFBrGdaMofsn8ygWKZ7gE/qfI9gxLvlV5OtRlkgg9CJZzWFhSkvqU9u5WqQnwJOpoJouQB4v5Retd53f+oIeI3vcPZbN6YTN2Dve1tqQKRkgp7/IImc5R4tomWeYzAwE1yySq56WgG4fCcDrxmDCJsIH569Sb4UoNMALuynkV3sep2xkaJ77NUfbvYvstLPurMzAaplXrEkwqN1mQXrlCt0d47GE3wcTPiG8gPlKS7X1xDWgP1M3o8gS0n7pJX5I+jSDrJMfuvRk12vNSU2kjyyknJHkKGDO+2oQnehTb6g1XArtgCVUg7WgebIBhPYS8kxc1WxENoUn6OyQc5DFNOtdPhm/bF/XtpUHonB/w3YSgcfvOcMWWRWyqW08FipSt8fpbMtWiJnDyqOZwFVHQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(39860400002)(136003)(346002)(46966006)(40470700004)(36840700001)(33656002)(70586007)(2616005)(6486002)(6862004)(4326008)(83380400001)(70206006)(478600001)(81166007)(8936002)(8676002)(26005)(82740400003)(5660300002)(6506007)(186003)(336012)(82310400005)(54906003)(6512007)(107886003)(356005)(2906002)(53546011)(86362001)(47076005)(36756003)(36860700001)(41300700001)(40480700001)(40460700003)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 07:40:08.6025
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c6638358-e31a-44c5-0f25-08da866d08f5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2643

SGksDQoNCj4gT24gMjUgQXVnIDIwMjIsIGF0IDAyOjEwLCBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz
dGFiZWxsaW5pQGtlcm5lbC5vcmc+IHdyb3RlOg0KPiANCj4gT24gV2VkLCAyNCBBdWcgMjAyMiwg
SnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4gT24gMjQvMDgvMjAyMiAyMjo1OSwgU3RlZmFubyBTdGFi
ZWxsaW5pIHdyb3RlOg0KPj4+IE9uIFdlZCwgMjQgQXVnIDIwMjIsIFJhaHVsIFNpbmdoIHdyb3Rl
Og0KPj4+Pj4gT24gMjQgQXVnIDIwMjIsIGF0IDQ6MzYgcG0sIEp1bGllbiBHcmFsbCA8anVsaWVu
QHhlbi5vcmc+IHdyb3RlOg0KPj4+Pj4gT24gMjQvMDgvMjAyMiAxNTo0MiwgUmFodWwgU2luZ2gg
d3JvdGU6DQo+Pj4+Pj4+IE9uIDI0IEF1ZyAyMDIyLCBhdCAxOjU5IHBtLCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4+Pj4+Pj4gDQo+Pj4+Pj4+IA0KPj4+Pj4+PiANCj4+
Pj4+Pj4gT24gMjQvMDgvMjAyMiAxMzoxNSwgUmFodWwgU2luZ2ggd3JvdGU6DQo+Pj4+Pj4+PiBI
aSBKdWxpZW4sDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBIaSBSYWh1bCwNCj4+Pj4+Pj4gDQo+Pj4+Pj4+
PiBQbGVhc2UgbGV0IG1lIGtub3cgeW91ciB2aWV3IG9uIHRoaXMuDQo+Pj4+Pj4+PiBkaWZmIC0t
Z2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+Pj4+Pj4+PiBiL3hlbi9hcmNoL2Fy
bS9kb21haW5fYnVpbGQuYw0KPj4+Pj4+Pj4gaW5kZXggYmZlN2JjNmIzNi4uYTFlMjNlZWU1OSAx
MDA2NDQNCj4+Pj4+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KPj4+Pj4+
Pj4gKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+Pj4+Pj4+PiBAQCAtMzU2Miwx
MiArMzU2Miw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGNvbnN0cnVjdF9kb21VKHN0cnVjdA0KPj4+
Pj4+Pj4gZG9tYWluICpkLA0KPj4+Pj4+Pj4gICAgaWYgKCByYyA9PSAtRUlMU0VRIHx8DQo+Pj4+
Pj4+PiAgICAgIHJjID09IC1FTk9EQVRBIHx8DQo+Pj4+Pj4+PiAgICAgIChyYyA9PSAwICYmICFz
dHJjbXAoZG9tMGxlc3NfZW5oYW5jZWQsIOKAnGVuYWJsZWTigJ0pKSApDQo+Pj4+Pj4+PiAtICB7
DQo+Pj4+Pj4+PiAtICAgIGlmICggaGFyZHdhcmVfZG9tYWluICkNCj4+Pj4+Pj4+ICAgICAgICBr
aW5mby5kb20wbGVzc19lbmhhbmNlZCA9IHRydWU7DQo+Pj4+Pj4+PiAtICAgIGVsc2UNCj4+Pj4+
Pj4+IC0gICAgICBwYW5pYyjigJxUcmllZCB0byB1c2UgeGVuLGVuaGFuY2VkIHdpdGhvdXQgZG9t
MFxu4oCdKTsNCj4+Pj4+Pj4+IC0gIH0NCj4+Pj4+Pj4gDQo+Pj4+Pj4+IFlvdSBjYW4ndCB1c2Ug
InhlbixlbmhhbmNlZCIgd2l0aG91dCBkb20wLiBJbiBmYWN0LCB5b3Ugd2lsbCBlbmQgdXANCj4+
Pj4+Pj4gdG8gZGVyZWZlcmVuY2UgTlVMTCBpbiBhbGxvY194ZW5zdG9yZV9ldnRjaG4oKS4gVGhh
dCdzIGJlY2F1c2UNCj4+Pj4+Pj4gInhlbixlbmhhbmNlZCIgbWVhbnMgdGhlIGRvbWFpbiB3aWxs
IGJlIGFibGUgdG8gdXNlIFhlbnN0b3JlZC4NCj4+Pj4+Pj4gDQo+Pj4+Pj4+IE5vdyBpZiB5b3Ug
d2FudCB0byBzdXBwb3J0IHlvdXIgZmVhdHVyZSB3aXRob3V0IGEgZG9tMC4gVGhlbiBJIHRoaW5r
DQo+Pj4+Pj4+IHdlIHdhbnQgdG8gaW50cm9kdWNlIGFuIG9wdGlvbiB3aGljaCB3b3VsZCBiZSB0
aGUgc2FtZSBhcw0KPj4+Pj4+PiAieGVuLGVuaGFuY2VkIiBidXQgZG9lc24ndCBleHBvc2UgWGVu
c3RvcmVkLg0KPj4+Pj4+IElmIHdlIG1vZGlmeSB0aGUgcGF0Y2ggYXMgYmVsb3cgd2UgY2FuIHVz
ZSB0aGUgInhlbixlbmhhbmNlZCIgZm9yDQo+Pj4+Pj4gZG9tVXMgd2l0aG91dCBkb20wLg0KPj4+
Pj4+IEkgdGVzdGVkIHRoZSBwYXRjaCBhbmQgaXRzIHdvcmtzIGZpbmUuIERvIHlvdSBzZWUgYW55
IGlzc3VlIHdpdGggdGhpcw0KPj4+Pj4+IGFwcHJvYWNoPw0KPj4+Pj4gDQo+Pj4+PiBZZXMuIEZv
ciB0d28gcmVhc29uczoNCj4+Pj4+IDEpIEl0IGlzIG11ZGR5aW5nIHRoZSBtZWFuaW5nIG9mICJ4
ZW4sZW5oYW5jZWQiLiBJbiBwYXJ0aWN1bGFyIGEgdXNlcg0KPj4+Pj4gbWF5IG5vdCByZWFsaXpl
IHRoYXQgWGVuc3RvcmUgaXMgbm90IGF2YWlsYWJsZSBpZiBkb20wIGlzIG5vdCBwcmVzZW50Lg0K
Pj4+Pj4gMikgSXQgd291bGQgYmUgbW9yZSBjb21wbGljYXRlZCB0byBoYW5kbGUgdGhlIGNhc2Ug
d2hlcmUgWGVuc3RvcmVkIGxpdmVzDQo+Pj4+PiBpbiBhIG5vbi1kb20wIGRvbWFpbi4gSSBhbSBu
b3QgYXdhcmUgb2YgYW55b25lIHdhbnRpbmcgdGhpcyBvbiBBcm0geWV0LA0KPj4+Pj4gYnV0IEkg
ZG9uJ3Qgd2FudCB0byBjbG9zZSB0aGUgZG9vci4NCj4+Pj4+IA0KPj4+Pj4gU28gaWYgeW91IHdh
bnQgdG8gc3VwcG9ydCBjcmVhdGUgInhlbix4ZW4iIHdpdGhvdXQgYWxsIHRoZSByZXN0LiBUaGVu
IEkNCj4+Pj4+IHRoaW5rIHdlIG5lZWQgYSBkaWZmZXJlbnQgcHJvcGVydHkgdmFsdWUuIEkgZG9u
J3QgaGF2ZSBhIGdvb2Qgc3VnZ2VzdGlvbg0KPj4+Pj4gZm9yIHRoZSBuYW1lLg0KPj4+PiANCj4+
Pj4gSXMgdGhhdCBva2F5IGlmIHdlIHVzZSB0aGUgZWFybGllciBhcHByb2FjaCwgd2hlbiB1c2Vy
IHNldCAgInhlbixlbmhhbmNlZA0KPj4+PiA9IGV2dGNobuKAnSB3ZSB3aWxsIG5vdCBjYWxsIGFs
bG9jX3hlbnN0b3JlX2V2dGNobigpDQo+Pj4+IGJ1dCB3ZSBjcmVhdGUgaHlwZXJ2aXNvciBub2Rl
IHdpdGggYWxsIGZpZWxkcy4NCj4+PiANCj4+PiBUaGlua2luZyBtb3JlIGFib3V0IHRoaXMsIHRv
ZGF5IHhlbixlbmhhbmNlZCBoYXMgdGhlIGltcGxpY2F0aW9uIHRoYXQ6DQo+Pj4gDQo+Pj4gLSB0
aGUgZ3Vlc3Qgd2lsbCBnZXQgYSByZWd1bGFyIGFuZCBjb21wbGV0ZSAieGVuLHhlbiIgbm9kZSBp
biBkZXZpY2UgdHJlZQ0KPj4+IC0geGVuc3RvcmUgYW5kIFBWIGRyaXZlcnMgd2lsbCBiZSBhdmFp
bGFibGUgKGZ1bGwgWGVuIGludGVyZmFjZXMgc3VwcG9ydCkNCj4+PiANCj4+PiBXZSBkb24ndCBu
ZWNlc3NhcmVseSBpbXBseSB0aGF0IGRvbTAgaXMgcmVxdWlyZWQgKGZyb20gYSBkb21VIHBvaW50
IG9mDQo+Pj4gdmlldykgYnV0IHdlIGRvIGltcGx5IHRoYXQgeGVuc3RvcmUrZXZ0Y2huK2dudHRh
YiB3aWxsIGJlIGF2YWlsYWJsZSB0bw0KPj4+IHRoZSBkb21VLg0KPj4+IA0KPj4+IE5vdywgc3Rh
dGljIGV2ZW50IGNoYW5uZWxzIGFyZSBkaWZmZXJlbnQuIFRoZXkgZG9uJ3QgcmVxdWlyZSB4ZW5z
dG9yZQ0KPj4+IGFuZCB0aGV5IGRvbid0IHJlcXVpcmUgZ250dGFiLg0KPj4+IA0KPj4+IEl0IGlz
IGFzIGlmIHRoZSBjdXJyZW50IHhlbixlbmhhbmNlZCBub2RlIGFjdHVhbGx5IG1lYW50Og0KPj4+
IA0KPj4+ICAgeGVuLGVuaGFuY2VkID0gInhlbnN0b3JlLGdudHRhYixldnRjaG4iOw0KPj4gDQo+
PiBDb3JyZWN0Lg0KPj4gDQo+Pj4gDQo+Pj4gYW5kIG5vdyB3ZSBhcmUgb25seSBlbmFibGluZyBh
IHN1YnNldDoNCj4+PiANCj4+PiAgIHhlbixlbmhhbmNlZCA9ICJldnRjaG4iOw0KPj4+IA0KPj4+
IElzIHRoYXQgYSBjb3JyZWN0IHVuZGVyc3RhbmRpbmc/DQo+PiANCj4+IFllcyB3aXRoIHNvbWUg
Y2F2ZWFycyAoc2VlIGJlbG93KS4NCj4+IA0KPj4+IA0KPj4+IA0KPj4+IElmIHNvLCB3ZSBjYW4g
Y2xhcmlmeSB0aGF0Og0KPj4+IA0KPj4+ICAgeGVuLGVuaGFuY2VkOw0KPj4+IA0KPj4+IGl0IGlz
IGEgY29udmVuaWVudCBzaG9ydGVuZCBmb3I6DQo+Pj4gDQo+Pj4gICB4ZW4sZW5oYW5jZWQgPSAi
eGVuc3RvcmUsZ250dGFiLGV2dGNobiI7DQo+Pj4gDQo+Pj4gYW5kIHRoYXQgb3RoZXIgY29tYmlu
YXRpb25zIGFyZSBhbHNvIGFjY2VwdGFibGUsIGUuZy46DQo+Pj4gDQo+Pj4gICB4ZW4sZW5oYW5j
ZWQgPSAiZ250dGFiIjsNCj4+PiAgIHhlbixlbmhhbmNlZCA9ICJldnRjaG4iOw0KPj4+ICAgeGVu
LGVuaGFuY2VkID0gImV2dGNobixnbnR0YWIiOw0KPj4+IA0KPj4+IEl0IGlzIE9LIHRvIHBhbmlj
IGlmIHRoZSB1c2VyIHNwZWNpZmllcyBhbiBvcHRpb24gdGhhdCBpcyBjdXJyZW50bHkNCj4+PiB1
bnN1cHBvcnRlZCAoZS5nLiAiZ250dGFiIikuDQo+PiANCj4+IFNvIHRvZGF5LCBpZiB5b3UgY3Jl
YXRlIHRoZSBub2RlICJ4ZW4seGVuIiwgdGhlIGd1ZXN0IHdpbGwgZXhwZWN0IHRvIGJlIGFibGUN
Cj4+IHRvIHVzZSBib3RoIGdyYW50LXRhYmxlIGFuZCBldmVudCBjaGFubmVsLg0KPj4gDQo+PiBU
aGVyZWZvcmUsIGluIHRoZSBsaXN0IGFib3ZlLCB0aGUgb25seSBjb25maWd1cmF0aW9uIHdlIGNh
biBzZW5zaWJseSBzdXBwb3J0DQo+PiB3aXRob3V0IGFueSBtYWpvciByZXdvcmsgaXMgImV2dGNo
bixnbnR0YWIiLg0KPj4gDQo+PiBJZiB3ZSB3YW50IHRvIHN1cHBvcnQgImV2dGNobiIgb3IgImdu
dHRhYiIgb25seS4gVGhlbiB3ZSBsaWtlbHkgbmVlZCB0byBkZWZpbmUNCj4+IGEgbmV3IGJpbmRp
bmcgKG9yIG5ldyB2ZXJzaW9uKSBiZWNhdXNlIG5laXRoZXIgInJlZ3MiIG5vciAiaW50ZXJydXB0
cyIgYXJlDQo+PiBvcHRpb25hbCAoYWx0aG91Z2ggYSBndWVzdCBPUyBpcyBmcmVlIHRvIGlnbm9y
ZSB0aGVtKS4NCj4gDQo+IFllcyBJIHRoaW5rIHlvdSBhcmUgcmlnaHQuIEkgYWxzbyBicm9hZGx5
IGFncmVlIHdpdGggdGhlIHJlc3Qgb2YgeW91cg0KPiByZXBseS4NCj4gDQo+IFRoaW5raW5nIGFi
b3V0IGl0IGFuZCBnaXZlbiB0aGUgYWJvdmUsIHdlIG9ubHkgbmVlZCAyICJsZXZlbHMiIG9mDQo+
IGVuaGFuY2VtZW50Og0KPiANCj4gMSkgZXZlcnl0aGluZzogeGVuc3RvcmUsIGdudHRhYiwgZXZ0
Y2huDQo+IDIpIGdudHRhYiwgZXZ0Y2huLCBidXQgbm90IHhlbnN0b3JlDQo+IA0KPiBOb3RoaW5n
IGVsc2UgaXMgcmVhbGx5IHBvc3NpYmxlIGJlY2F1c2UsIGFzIEp1bGllbiBwb2ludGVkIG91dCwN
Cj4gInhlbixlbmhhbmNlZCIgaW1wbGllcyB0aGUgeGVuLHhlbiBub2RlIGluIHRoZSBkb21VIGRl
dmljZSB0cmVlIGFuZCBpbg0KPiB0dXJuIHRoYXQgbm9kZSBpbXBsaWVzIGJvdGggZXZ0Y2huIGFu
ZCBnbnR0YWIuDQoNClNvIHdlIGNvdWxkIHNheSB0aGF0IHhlbixlbmhhbmNlZCBhbHdheXMgaW5j
bHVkZXMgZ250dGFiIGFuZCBYZW5zdG9yZSBpcyBvcHRpb25hbC4NCg0KPiANCj4geGVuc3RvcmUg
aXMgc2VwYXJhdGUgYW5kIGlzIGRldGVjdGVkIHVzaW5nIEhWTV9QQVJBTV9TVE9SRV9FVlRDSE4g
YW5kDQo+IEhWTV9QQVJBTV9TVE9SRV9QRk4gYW55d2F5Lg0KDQpBY2ssIG5vdCBoYXZpbmcgWGVu
c3RvcmUgc2hvdWxkIGJlIGhhbmRsZWQgcHJvcGVybHkgdXNpbmcgdGhlIHBhcmFtcy4NCg0KPiAN
Cj4gU28gSSB0aGluayB3ZSBqdXN0IG5lZWQgdG8gYWRkIGEgd2F5IHRvIGV4cHJlc3MgMikuIFdl
IGNvdWxkIGRvDQo+IHNvbWV0aGluZyBsaWtlOg0KPiANCj4gIHhlbixlbmhhbmNlZCA9ICJldnRj
aG4sZ250dGFiIjsNCg0KSSBhbSBhIGJpdCBwdXp6bGVkIGhlcmUgYXMgZ250dGFiIGlzIGFsd2F5
cyB0aGVyZS4NCg0KPiANCj4gT3Igd2UgY291bGQgdXNlIGEgbmV3IHNlcGFyYXRlIG9wdGlvbiBs
aWtlIEp1bGllbiBpbml0aWFsbHkgc3VnZ2VzdGVkLA0KPiBlLmcuOg0KPiANCj4gIHhlbixlbmhh
bmNlZC1uby14ZW5zdG9yZTsNCj4gDQo+ICJ4ZW4sZW5oYW5jZWQtbm8teGVuc3RvcmUiIGlzIGEg
dGVycmlibGUgbmFtZSBhY3R1YWxseSwgYnV0IGp1c3QgdG8NCj4gZXhwbGFpbiB3aGF0IEkgYW0g
dGhpbmtpbmcgOi0pDQoNCkkgdGhpbmsgbW9zdCBjb21tb24gdXNlIGNhc2Ugd2lsbCBiZSB0byBo
YXZlIGFsbCwgc28gbWFrZSBzZW5zZSB0byBhbGxvdyB0byBkaXNhYmxlIFhlbnN0b3JlLg0KDQpI
b3cgYWJvdXQ6DQp4ZW4sZW5oYW5jZWQgPSDigJxuby14ZW5zdG9yZeKAnSA/DQoNCkFuIG90aGVy
IHNvbHV0aW9uIGlzIHRvIGtlZXAgeGVuLGVuaGFuY2VkIGFzIGl0IGlzIGFuZCBpbnRyb2R1Y2Ug
YSBuZXcgb3B0aW9uOg0KWGVuLG5vLXhlbnN0b3JlDQoNCkF0IHRoZSBlbmQgWGVuc3RvcmUgY2Fu
bm90IGJlIHVzZWQgaWYgdGhlcmUgaXMgbm8gRG9tMCBhbmQgdGhhdCB3ZSBjYW4gZGV0ZWN0IGVh
c2lseS4NCkFsc28gdGhlcmUgaXMgbm8gc29sdXRpb24gYXQgdGhpcyBzdGFnZSB0byBoYXZlIGFu
IG90aGVyIGRvbWFpbiB0aGVuIERvbTAgcHJvdmlkaW5nDQpYZW5zdG9yZSAobWF5YmUgaW4gdGhl
IGxvbmcgdGVybSBzb21lb25lIHdpbGwgd2FudCB0byBpbnRyb2R1Y2UgdGhhdCBhbmQgd2Ugd2ls
bCBuZWVkDQphIHdheSB0byBzcGVjaWZ5IHdoaWNoIGRvbWFpbiBpcyBoYW5kbGluZyBpdCkuDQoN
ClNvIEkgc3RpbGwgdGhpbmsgdGhhdCB3ZSBjb3VsZCBqdXN0IHNheSB0aGF0IFhlbnN0b3JlIGNh
biBvbmx5IGJlIGFjdGl2ZSBpZiB0aGVyZSBpcyBhIERvbTANCmFuZCBqdXN0IGRpc2FibGUgWGVu
c3RvcmUgYXV0b21hdGljYWxseSBpZiBpdCBpcyBub3QgdGhlIGNhc2UuDQpJZiB0aGVyZSBpcyBh
IGRvbTAgYW5kIHNvbWVvbmUgd2FudHMgYSBndWVzdCB3aXRob3V0IFhlbnN0b3JlLCB0aGVuIHdl
IHdvdWxkIG5lZWQgdG8NCmhhdmUgdGhlIG5vLXhlbnN0b3JlIHN1cHBvcnQuDQpCdXQgaXMgaXQg
YSB1c2UgY2FzZSA/DQoNCkFsbCBpbiBhbGwsIGVuaGFuY2UgZG9tMGxlc3Mgd2FzIG5vdCBzdXBw
b3J0ZWQgYmVmb3JlIDQuMTcgc28gd2Ugd2lsbCBub3QgY3JlYXRlIGFueQ0KYmFja3dhcmQgY29t
cGF0aWJpbGl0eSBpc3N1ZS4NCg0KV2hhdCBkbyB5b3UgZ3V5cyB0aGluayA/DQoNCkNoZWVycw0K
QmVydHJhbmQNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:48:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393090.631819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7b2-0003Zv-QS; Thu, 25 Aug 2022 07:48:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393090.631819; Thu, 25 Aug 2022 07:48:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7b2-0003Zo-ND; Thu, 25 Aug 2022 07:48:12 +0000
Received: by outflank-mailman (input) for mailman id 393090;
 Thu, 25 Aug 2022 07:48:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR7b1-0003Zi-Uw
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:48:11 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70057.outbound.protection.outlook.com [40.107.7.57])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43ef7c17-244a-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 09:48:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB5784.eurprd04.prod.outlook.com (2603:10a6:20b:a6::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 07:48:07 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 07:48:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43ef7c17-244a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fteRZ6e9KseCJtCQd2S/Rzq7VNEALFJVYVRnNsqRqHuCeErCKpZKVZ+cx0UBq8CkDWXOkhhHGDuXFSHd1+LS14luknxhwELo+DwjpGf+UO8tgR/IXldhOYqMTJnXlaWEcdnQ3+ULKsOhXM7sri+rV5I4W9yvdH6KAILUYFnhjkrUDoBUB9yPtSHmq8WCOeamWZOJCuumY5jBVwYG/E7/nO1sPiiLkZG0czp1ROF3PNBSNV+mMtrUSGUX6lKZAacTG9qXe97TB23c4N6G338L2NfKKmZQyqnVUUInBNzUWmVZVCY57XC5Adh15YeWdfVnZQK3twd7iRcmCXaALpqngA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m4KgRdZWB3BvL7dBULa8P94RhAonouJLWj4ZnCKt2VE=;
 b=eaY9Ryi00V6RrvqYk0kRuIhfzbru4f1J+K0nGIFA7FXWrjc0RBXSsJetjG0BheC/ttsWnoQ4xRPCHrk3IrmE31xZg4vSp2nYkBWNNp1JBukCvGSJnzIZpmYHI9wGb0OkVkEu5e3iKuzNN9QpY7S0xKH39NlV/j5tdr2m/itB/PEEjLNN59YeyqUmDWlY7TZrODs7X+qICVSJXknKC9OjvvNQoavyPXyTe7LpbsFY1Ms4X8jkBKaxV1mcwPzlpSYh53qd/PWbFnfdkgDtU14Es5twxqGuUOsrE+WI+nbw7y0uje90lkcDIObUN4L0t3LvZTAu0gx9ZhCzdB0HRdEYnw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m4KgRdZWB3BvL7dBULa8P94RhAonouJLWj4ZnCKt2VE=;
 b=tI+NX7lH4oKTe/DCp1GEmyMEnXb4ZrTDAItA80+7tk79wu2NZYbqWZ7HXgSl+AOxv9NBWq9m/dmrvRXp0khvH4J3UM9o9BdYcDhBs+JLHQ6d5sxFq+86CIGTEdtR1UVHGN2WpcsX3+RRsxGBmFh7eD8pgw0/HtuyotTEIZ9wVhmoHMfNyCD7OK3/7FAyMBBs3df+363oCsysFLp+XeXFHItBwC1pCOIzOV0gi+55M8DtrFPS5k4wa7uQO5DOTJMDp3j6R/LsFtY5u67ub2VRX7HNmuMvpAAnDNnGJw+n7wuaxRWOZ0ljTwg7YkEpdWmXJhH4keJG5Sx9ksPgXO/eUQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <17557d6d-8c07-915c-ed01-1e7d81891023@suse.com>
Date: Thu, 25 Aug 2022 09:47:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH v1] x86/public: move XEN_ACPI_ in a new header
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <b79164d207113af05417536438b786850875edb1.1661353272.git.bertrand.marquis@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b79164d207113af05417536438b786850875edb1.1661353272.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0102.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cf1cc600-1a9b-4129-26b0-08da866e261d
X-MS-TrafficTypeDiagnostic: AM6PR04MB5784:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1cwESE5Zmx3S9UCIxjhPnSBhTWAit+LJuXsIBQ6yNGxpCfsy9biv9RcK0/p7qJsug7fBZRhFl01b4WLbjFQmmL/n11QsrWCLR0mijUiQF9XggxKbrfDalnPA/yn1T9/b6vPCipBxXodDS3tzDe7Cfj6Qn0CIv5cWEMNxYPVmlMRftbAO1sQfvll1zov7mN9puoy9FCBT1jzFHDzWG9Ml4jTSkJFMgyes3Dtxk9Gqk+7/JMU4nnl1sJKA77CKmKb8ApM6aMYKUeJ5hXv8JyGCpGzB605l6xu+d7oC6gCN4qyKSuur+2Qjyb1VC1TBKB1L2Uh15BvMTeH5BJZqEyd1eoMB9jdvqn79eaVuKU5vk02UBrnF5St82ik/W266Ih8PPNAWevm2ggVR4G6PELTq3UXnE/zj9kKxTdi0ggD4A7/Whfoke7vls3m/Ky9xuUsuiSeklYTKydmWxptPOZeEQR8rgOXemP0b7cVAWVnkOK+ANDFvAYkJFEXi7zG3a9uaFWiQMyMIy5+JlqhZEZWxB+R4HUOCvE+9cAZf2FJTVWbMlpQLJWwgpk6q7TcWg03j0IpGuDPM2zTMG24lfCqWCXBOiFhm4orz1+Cj8KQm4vCEXDyYd7U8kCGDSOk8bDCTLCu2pRUznGyjVVk2oldjHhagJSLyR631X2VjYcaGeepbukeT/sfDodZ9fMua+jcJhYSNo0Y1D1ZPGGJxwc9xPGfiUsAw8F4rInTFtjkmxAPX1S1iL3/4H+4rqSt0MJOJaNPjj4tu1MgVh7xvLZmzNtcuj4mT7qkuf+XsNZFktBM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(346002)(366004)(376002)(136003)(66556008)(41300700001)(6506007)(2616005)(26005)(53546011)(6666004)(86362001)(36756003)(6512007)(83380400001)(31686004)(31696002)(186003)(6486002)(478600001)(6916009)(54906003)(66476007)(66946007)(316002)(4326008)(8676002)(8936002)(38100700002)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NGdqMkhYWDNnWHVuMERaV0Vlc3V3QTRYRjYrdU1xOWpIRGdjdVlDT0Q5NkE5?=
 =?utf-8?B?S0VkZFI1TE1IdXo5VW5PdVhMY3g2eUpCdDlDWHJFWWo2K0pscFJ6ZzFya2xo?=
 =?utf-8?B?eFhPY0thejZZS1JkbWVYMVZVNmZ6UWVGYUgzcU9OSmNEcHVjZmovV0QwN0ZE?=
 =?utf-8?B?RUpqUjB0NlRJc1F4T0JFazd6UGY5K0J4WmtmaE4wOS9zMnRmRjlmUStYNE51?=
 =?utf-8?B?QmtGT1JtZTlqKzNNN1Y2YWd4cHR2akF4YkloeFRvYkJ0bGZlZXg2eHo4Wm5o?=
 =?utf-8?B?d3l3OWkwU1ZUaGFwYXV3RHh2aXFkbUszVEp6L21DNEVxZ0dsRVo2VFdpb1FZ?=
 =?utf-8?B?cXVGazVvM1l1dFVBUXhHa3hrWkZZZVVGTTRtOEpKSVFpdFNxUk9Md3ltV2Rp?=
 =?utf-8?B?OW53QnhnVGtTYjRadUExWitqdGxkTjNUVDM2SjNEOTRMTld1Tk5ObHhkSjA5?=
 =?utf-8?B?MEZ0OEx6S1FDeVFDSXVRVUxzd0toZ1hOSTNQNzdEWFdXRi9EcEFNbUJGdUpN?=
 =?utf-8?B?bDVYM0NKWkFCRTdXazNxZGMrMmZwbncvMVlsTWZjbXhBbTFFOHVWY0VEMyt5?=
 =?utf-8?B?RUdZTmsyc0x2NTRRREdpSzNBbTF4cFdWY0xYUVFZbEdsVHFpRy9La1grTmN2?=
 =?utf-8?B?Z1k1ZU9DS3lVNlluaE9keXZiQ09Ubmk1MnhuSkY5Z01XYUlLQVVvNEk0Ymxo?=
 =?utf-8?B?b2UwaEFnOEcyWUQxbCsxZDZ1UVgvZEoxd2NTV1ZXRklPTW4vY0N4bkRwVVBR?=
 =?utf-8?B?VVZ1Mk5nQ1FuQU9RczdoQkNFdzVPTmxZUDRXRzUvdkhkOFNwNitudkp3T1Z5?=
 =?utf-8?B?dlNjclFjZ3NmNUhGdXkxRndPV0dCREpqUVpYdExwR1IxMlpZZEM2ck9pbjdU?=
 =?utf-8?B?NXBDcVY2c3NmQlVGVHE0bXlVT0xURnAyQkV5NjFjQjQydHYraitOVlI4RmtX?=
 =?utf-8?B?ZGxkZWZzM0cvM1o0TUw3VlFJZTRoMlZUcjlueVVTblVUZXFVTUpQajcxeGZR?=
 =?utf-8?B?R2NQQUtxeCtDZEoxc3h3N0s1T1NFVERFSFdBWWlYK1ZyQWdCdnZ6eUtWS3Ni?=
 =?utf-8?B?QkhjREltdjdLZDFUMEZQNThNQTZ0OXlXR2lFdlhGcDY3VU9NUE9IVG5YM1N4?=
 =?utf-8?B?VHRwdmhvVnpTb09LLzF0V2VreWhEa05SWWlWSC9WSVBVKy9JNUM2UlllbHhZ?=
 =?utf-8?B?MGVYUllMN3JIOXJ5bFVhMzc0WTE3Z29IVGFFN2dGczAvRzBXUTdxWXQyUXBt?=
 =?utf-8?B?QUpGSmVKOHZtZFc5eGJqcE5YSWRSdmFyWDFibmRoVEI2R1phK01leUN2N2ZF?=
 =?utf-8?B?bkF1WjQxQWxLaGEzdnRzQ09lK3hLNEJsVjlpMFFvcG11QjZTcVJmajBZK3Nt?=
 =?utf-8?B?WFM1QmYvNzFRWG03cytVc2xPa3J5M1YzRHk1cGhVWlMrdHd5OTNNa2E4dUFP?=
 =?utf-8?B?MzJ5MllnUEloaWJHR0p3d1luSDljNnRweldYOTlkRnNIdUZBbS9NTk00Zkpm?=
 =?utf-8?B?WFhIMHFKQkJ6anAxY3ZGdStiTTRvcFYrM2s0UFVxU1NndmtTZTdDcDdUVnhC?=
 =?utf-8?B?V0tOVG1iMlNKVElJanRzTEFTalFpZnFKODVINS9TbXN3dWJCUU04R2g2cW1W?=
 =?utf-8?B?WWd2bk52N0N4UTJzb3k4K2xKK1Rhb2xDMm80TG1HcHFlWE54WmRMVU9oR3BZ?=
 =?utf-8?B?VFdLQ0lOSjJQYUt3WlNFdWtlWDlsZmZId3RqZDE3MXduNW82a1ZyVmNtM0VZ?=
 =?utf-8?B?SVNUVU50RGJ3UDR3cHJaajZXL2xVVVBTUU1EVmhKWVdzUGpUMTUvRVNQTHZt?=
 =?utf-8?B?U0dZdndsOGdyNFozWjhFbUVrUVlSVy9oWi8xSy94azRaOUliYjdxOGZjZUE4?=
 =?utf-8?B?QUU2RTJMTU1UMXgyQjR5cVFuUVlFVzhzaHlrTEwvRXdaRjRCelc1ZTJZaFli?=
 =?utf-8?B?TGFFTXd0UDEvWG5YV3VERWErSmRWSms0Rzg0eFlMVXh3NlZSZjVpOGlkenN6?=
 =?utf-8?B?a1Bxdk1ZaVk4Z0pFVTlQUmtyTkdHZlVnb2tLWVVFbXo4am91R1VHUCtEK3lO?=
 =?utf-8?B?UXJUcmdNTGVIczBVaVFYd0NUR0NOM2tuTXY5THRwcTZnZldOWlRzbU9vNjQr?=
 =?utf-8?Q?POo/riXYKiqkZAsflmGwc6yAn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf1cc600-1a9b-4129-26b0-08da866e261d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 07:48:07.1721
 (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: sckDbVwwYLttGGyi2whaPH9BAAQL9gc0292SxuRh3NRcHg7RThuoEQaIhodgJ3FKDTQYqpPAdSi9qnL1odS7KA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5784

On 24.08.2022 17:29, Bertrand Marquis wrote:
> When Xen is compiled for x86 on an arm machine, libacpi build is failing
> due to a wrong include path:
> - arch-x86/xen.h includes xen.h
> - xen.h includes arch-arm.h (as __i386__ and __x86_64__ are not defined
> but arm ones are).
> 
> To solve this issue move XEN_ACPI_ definitions in a new header
> guest-acpi.h that can be included cleanly by mk_dsdt.c
> 
> Previous users needing any of the XEN_ACPI_ definitions will now need to
> include arch-x86/guest-acpi.h instead of arch-x86/xen.h
> 
> Fixes: d6ac8e22c7c5 ("acpi/x86: define ACPI IO registers for PVH
> guests")

Nit: Please don't wrap this line.

> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> The x86 header is including ../xen.h before the ifndef/define so that it
> gets included back by xen.h. This is wrongly making the assumption that
> we are using an x86 compiler which is not the case when building the
> tools for x86 on an arm host.
> Moving the definitions to an independent header is making things cleaner
> but some might need to include a new header but the risk is low.
> 
> For the release manager:
> - risk: very low, the definitions moved are only used in mk_dsdt and
> external users would just have to include the new header.
> - advantage: we can now compile xen for x86 on arm build machines

You will want to actually Cc him on v2, so he can ack the change (or
not).

> --- /dev/null
> +++ b/xen/include/public/arch-x86/guest-acpi.h
> @@ -0,0 +1,50 @@
> +/******************************************************************************
> + * arch-x86/xen-acpi.h

Stale file name.

> + * XEN ACPI interface to x86 Xen.

Perhaps also here s/XEN/Guest/.

> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to
> + * deal in the Software without restriction, including without limitation the
> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
> + * sell copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + *
> + */
> +
> +#ifndef __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__
> +#define __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__

Please make the guard match the file name.

> +#if defined(__XEN__) || defined(__XEN_TOOLS__)

While separating it out, may I suggest to limit this to just the tool
stack? There's no use of these #define-s in the hypervisor, and none
is to be expected. (Of course this will want justifying this way in
the description.)

Jan

> +/* Location of online VCPU bitmap. */
> +#define XEN_ACPI_CPU_MAP             0xaf00
> +#define XEN_ACPI_CPU_MAP_LEN         ((HVM_MAX_VCPUS + 7) / 8)
> +
> +/* GPE0 bit set during CPU hotplug */
> +#define XEN_ACPI_GPE0_CPUHP_BIT      2
> +
> +#endif
> +
> +#endif /* __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__ */


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:56:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:56:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393096.631830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7iV-00050F-Ko; Thu, 25 Aug 2022 07:55:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393096.631830; Thu, 25 Aug 2022 07:55:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7iV-000508-HR; Thu, 25 Aug 2022 07:55:55 +0000
Received: by outflank-mailman (input) for mailman id 393096;
 Thu, 25 Aug 2022 07:55:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M9hs=Y5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oR7iU-000502-NF
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:55:54 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70041.outbound.protection.outlook.com [40.107.7.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5813a121-244b-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 09:55:54 +0200 (CEST)
Received: from AM5PR0701CA0056.eurprd07.prod.outlook.com (2603:10a6:203:2::18)
 by AM6PR08MB4102.eurprd08.prod.outlook.com (2603:10a6:20b:ab::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 07:55:45 +0000
Received: from VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:2:cafe::9c) by AM5PR0701CA0056.outlook.office365.com
 (2603:10a6:203:2::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.3 via Frontend
 Transport; Thu, 25 Aug 2022 07:55:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT003.mail.protection.outlook.com (10.152.18.108) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Thu, 25 Aug 2022 07:55:44 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Thu, 25 Aug 2022 07:55:44 +0000
Received: from b73197688268.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 64E661B5-FDD0-4CF7-985E-0CC53B0B64DD.1; 
 Thu, 25 Aug 2022 07:55:38 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b73197688268.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 25 Aug 2022 07:55:38 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB9PR08MB8724.eurprd08.prod.outlook.com (2603:10a6:10:3d0::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 07:55:31 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Thu, 25 Aug 2022
 07:55:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5813a121-244b-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=BL4G0o4cVf0zr5pUNRQ+g9OHieOKJoTBnHzDLnc0M4u32y9y8M/8jx4E0uu5uHezjcCLX5RPf0Siw5C8MSpLYECn0U5DGcWBxQU9nBZ4X4FRAS0Qm0iNrRPju58sNc8xJKTHYCJ3lKl5yta6+JTrUhdINE/XPsg16N9OX3PXn98iXj0nQWx7EArdlfHoEZIAefheBz/UgLh/NqEvw9i4/7OZrokSLROwBT3Ex2o5skthoBaz5fBZupfoGM+BGl8U76x6KIAFy2h4YQjlEa0/OPfoWmngO7Boq4IbCmCO+ptknJSxmp1ShJKz86Qk1mhgqbxVu3Md3CeQBbMM+qQZ/g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XdWdyRBvfmdHOjNP/F1jUYFUCOtG1q74gWW9vvBO+kk=;
 b=ZSyjZnw8PVjHf3WmNH/cMNqJhjv1ux9VJ8MUo1XFd/+HJHDyLmlpXF4gZhtjWbgU9EZ/ezAPl71WTCKPzbQPjJdpygJqRriwA/qLBuDYASnnCKRO59JUb+HI5gmiWUXTrnxif1RkdU5s/hXSTcIFqJunE+s3S38Qa+kuQ0XmQOjjlIzr7j4AmspKR//kyeYj4k0ABfyKtFuyUIUEUtFynGhdkMtQz0yRHuvz8cAA/iD6yOsZI0NmoiGJ/EHiQUurPVZ29v/NJR7oww8ozyduO0LXUPPVqWr5UDbO+aNM1kC4QAXr0bQOo8QW3R7nvj6MOgS7JBFxKSoF19liOkq3ug==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XdWdyRBvfmdHOjNP/F1jUYFUCOtG1q74gWW9vvBO+kk=;
 b=V8aqCrdTXcjhbMssJGSKO41rcMMxgvSONDDdj5GKrSJJk/1cr34hUsXQs8AoikB6ub55IxcQp+xtyOnRzaR01sSuYABqC3rziwuaj7mWNd5jObqCfq9h/+l7FqlwIzwOJjhCOqXZv7dV42aWWrqte5oZEZCQpT9PzXGjAkAlJBY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 8ae6b5a9d581259f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WEFWbMybWeHxg2rC9CtHGia8raCEnhnBWNImTiRNNbBmV4jfYbu0BpB0sJpvU4AanV0niup+B2OQMOfE/t5ZNGyURYCPS3aY6qEKmlS+KVp82AfoKy4xrSx0DhEkOtm+NCk9Q4G8TNi8PjGhLSbLcHhSU95tKgfxBj4rKwTOGeJLZOOfcn4d5F5morg9HikvXJm+rqlBjOCKcVHZT9+ocpQx9aocwmhZ8QuaphV+O+we1t69Gsh/BQnvMkBJXlhejVb9fjWAejdQOOHVrQjM87Ol7MXYf9C/BPlsMgzWuHQmnOQBoK6BoCtBClLRiwuQxRVIdj5Nru/0mX229kCfiw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XdWdyRBvfmdHOjNP/F1jUYFUCOtG1q74gWW9vvBO+kk=;
 b=g4glGQiTHdaJ6gG7HROZ9E1/0KdKa3NygFpBozgZ/cIMy2OewswtZrMCMZld+wn0CKOsOwUDwUuNutTZjLTbYeSMfMvL6FRrCGiHd/wR98UTuO+GgDtXssgpfRbiE5NnygYfkNEeXFhgPGpwnTofw2UcHV/rlCKc6hA5+CUqgGUgMVH3WI1KhZcSv1aAsMk+lugyALunUWfhx4PfH/08rxLGEDGI4XaPT8ATA9q3r4gOJzN8s/pvAmX6VwXuOfU6ic5Oh/ekpQNmqc0K9meepTweOq72PBFf9ZCvf3ZZuWSXqW6eC1cffO/oC3yOLZD6iCHNgqArCGKyYYBlCh1LhQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XdWdyRBvfmdHOjNP/F1jUYFUCOtG1q74gWW9vvBO+kk=;
 b=V8aqCrdTXcjhbMssJGSKO41rcMMxgvSONDDdj5GKrSJJk/1cr34hUsXQs8AoikB6ub55IxcQp+xtyOnRzaR01sSuYABqC3rziwuaj7mWNd5jObqCfq9h/+l7FqlwIzwOJjhCOqXZv7dV42aWWrqte5oZEZCQpT9PzXGjAkAlJBY=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Vipul Suneja <vsuneja63@gmail.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>
Subject: Re: Porting xen on rpi4
Thread-Topic: Porting xen on rpi4
Thread-Index: AQHYt8SgkyOonJ7Wl0ezDHN7orB+v62+Hg2AgAAnmwCAAEWWAIAAroCAgAAG0YA=
Date: Thu, 25 Aug 2022 07:55:31 +0000
Message-ID: <62627CF0-8594-4DEB-9F6C-37AECDE6B77B@arm.com>
References:
 <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
 <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com>
 <CALAP8f_=NztOC9FKYnrCyknOM4jf27cRqjJ9+7UqOEH6qCAD8Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2208241401110.15247@ubuntu-linux-20-04-desktop>
 <CALAP8f-3jcGen82DaVrxRTF3TMDVMkLJA5Nsxu=HDYFDqTOOdQ@mail.gmail.com>
In-Reply-To:
 <CALAP8f-3jcGen82DaVrxRTF3TMDVMkLJA5Nsxu=HDYFDqTOOdQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8c04ffee-240e-408f-9adb-08da866f3702
x-ms-traffictypediagnostic:
	DB9PR08MB8724:EE_|VE1EUR03FT003:EE_|AM6PR08MB4102:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 O8IwciKWcRO/31uekI+aXm8mbD918wEN050YJeTX2Lw2ZQ8Eb3+EiIPSgFYGAqLuqjZX1sJ9n8H6hrIFaXLBtVGSmkgdnH1jNAv1l+dY+HIMhxz8kCB99EtxuXiEgL4IJZ/2bpc1LMex7rtZDTmC6l2LoUQ5jflXpm+jei63S9evnvWrUOv1hw/EfNVGz7VmhjEjSxVu5ILWtLzeF9m5NRHUjDJtG2L13/B8o4eWeXLrnjhXqSImuhnzg0dKJ9NoEpA57WYmYrJqqKwHv9NpKScpgRfNkQvRmF5YjyBsEbTx89xNDWLCnG3UG7Zxhgb/tC2yL2BHBbXaSexP5qlfaD5QJLm4GHqGgF/+a69QCOQr3mnreS4KGu2b8DgXoycSJOJAB2Cc7Sku1BRG6Yow6BrE+Os/3II7kwqrcngwp6E570bbU+yLOvjyKywnU9XeZEHy3Cey93Jm/vrX5jmWkjGqti/OP6AR1UZLWspNx76rdf9Vw6MJ3jm+clAfWYZoOCPuv7JlwFou4QG3vF6+Q6MH0ShO4S0RXRsvNNQjlZzd5ep2u9l1+z/18mxJ057ufcyh2paFCIwInsd3gF0iSk3wzQh+C+SrCxBSl1SlSZdNAoBuukNodKfPhXIX5ZHUjG/miba8KRrBX6YWEbaBoNS1QhK7YDY2CRxLCfyFPcMxlMrLGvg8s+CibzGgkl3T+2ahFAKWY7YzSeJNgaRjR6gK3z8Ilph1FcVyNpvfVzxNnDO/x59PWTP9AI2/RsY7EG+n4CgNu6LKtXaMk9Zff2D3HKPQ6jZ1uweaSMSLjw8=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(376002)(366004)(136003)(346002)(36756003)(2616005)(316002)(41300700001)(38070700005)(8936002)(83380400001)(6916009)(54906003)(38100700002)(186003)(71200400001)(122000001)(4326008)(64756008)(66476007)(8676002)(76116006)(91956017)(66946007)(33656002)(478600001)(6506007)(2906002)(66446008)(86362001)(6486002)(5660300002)(66556008)(26005)(53546011)(6512007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <29052BCF26C30E47AEC0535077785C79@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8724
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b305cc7b-0614-4d5f-6907-08da866f2f47
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mZK6hA/dM8jS2EzChqSduTsk4uJbCc/PJe+5QUYRSdPCyveNVGfb1C0aHqnANW2eBsJyptKnbacBXkkx4lcw9QN95WFQ6/Z884VEy7hJvgSPwCPSUekeP3Y9paKh72bKtd/pt+A2BdJXySrgSa2VIugFagdhy8ARbKDNzr/mqOaz2CL7em7VFRanTKhmIOhAWXTD9x0ZQmT4/fmdUAxEz/Xln2o3nr15TIGPqw35gudOjCwQu84G0Rk4thQvKw+CgtqzDKixlibErMeqsJQd4Ffjmt+HLA5tqQOoRVkVw7SCcF53ClHC4QJppCjlMHjmyREHgJmkuaKT8F5AMFm/kwpzxZcwXWrBD5CqxwzLCiRdv6xx3l1ZSw9AROoMjZ6CjtKwlhl9Dz1TnLJOlj959TADfTunt7pifMf6yqtHmpoZvxZbyLIbuemL74oYe2jeCHlCO9I3Y6rz10bLEUHU2y0xlukzx8hN+2bw1+uW7K8gajrQC0q/XXpJnzxyRoIjEF4JGq5O/fo+DqVQR/hC7N7yxIHx3a7mDP+05DGnkXdaCwlpjLjpvzeBSkeWm3Rz26sXTgYEfCiZZeTDbbIynKsjmmP01L7n5KgpbILR/19AOVrOgxfZEbM2Lma3pYyY2jOFhv65M/PEDVBU73+zvQwF66c+UwAq6O5Dxnn4pCYfY2CsYPf/sYcCZ0Dm8+C+Krg8w+lKxVOk1JeDxcp4K+lhwxNzgKN7kKbHJuFgSsxVR8lOiXBiu6qAvyLgXNrqgAeZei34Rahw9ptGSwioxQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(136003)(39860400002)(396003)(46966006)(36840700001)(40470700004)(8936002)(81166007)(36860700001)(86362001)(82740400003)(33656002)(40480700001)(40460700003)(2616005)(5660300002)(478600001)(47076005)(186003)(53546011)(336012)(6506007)(41300700001)(6512007)(26005)(6486002)(6862004)(36756003)(83380400001)(8676002)(82310400005)(4326008)(2906002)(70206006)(356005)(316002)(54906003)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 07:55:44.7037
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c04ffee-240e-408f-9adb-08da866f3702
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4102

SGkgVmlwdWwsDQoNCj4gT24gMjUgQXVnIDIwMjIsIGF0IDA4OjMxLCBWaXB1bCBTdW5lamEgPHZz
dW5lamE2M0BnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gSGkgU3RlZmFubywNCj4gDQo+IFRoYW5r
cyENCj4gDQo+IEFzIHN1Z2dlc3RlZCwgSSBjaGFuZ2VkIHRoZSBndWVzdDEuY2ZnIGZpbGUuIEJl
bG93IGFyZSB0aGUgY29udGVudHMgb2YgY29uZmlnIGZpbGUNCj4gDQo+IGtlcm5lbCA9ICIvaG9t
ZS9yb290L0ltYWdlIg0KPiBjbWRsaW5lID0gImNvbnNvbGU9aHZjMCBlYXJseXByaW50az14ZW4g
c3luY19jb25zb2xlIHJvb3Q9L2Rldi94dmRhIg0KPiBtZW1vcnkgPSAiMTAyNCINCj4gbmFtZSA9
ICJndWVzdDEiDQo+IHZjcHVzID0gMQ0KPiBzZXJpYWw9InB0eSINCj4gZGlzayA9IFsgJ2ZpbGU6
L2hvbWUvcm9vdC94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0Myx4
dmRhLHcnIF0NCj4gdmlmPVsgJ21hYz0wMDoxMToyMjo2Njo4ODoyMixicmlkZ2U9eGVuYnIwLHR5
cGU9bmV0ZnJvbnQnLCBdDQo+IA0KPiBJdHMgZmFpbGluZyB3aXRoIGJlbG93IGxvZ3M6DQo+IA0K
PiByb290QHJhc3BiZXJyeXBpNC02NDp+IyB4bCBjcmVhdGUgLWMgZ3Vlc3QxLmNmZyANCj4gUGFy
c2luZyBjb25maWcgZnJvbSBndWVzdDEuY2ZnDQo+IEludmFsaWQgcGFyYW1ldGVyIGB0eXBlJy4N
Cj4gbGlieGw6IGVycm9yOiBsaWJ4bF9leGVjLmM6MTE3OmxpYnhsX3JlcG9ydF9jaGlsZF9leGl0
c3RhdHVzOiAvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrIGFkZCBbNzQyXSBleGl0ZWQgd2l0aCBlcnJv
ciBzdGF0dXMgMQ0KPiBsaWJ4bDogZXJyb3I6IGxpYnhsX2RldmljZS5jOjEyNjU6ZGV2aWNlX2hv
dHBsdWdfY2hpbGRfZGVhdGhfY2I6IHNjcmlwdDogbG9zZXR1cCAvZGV2L2xvb3AwIC9ob21lL3Jv
b3QveGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4dDMgZmFpbGVkDQo+
IGxpYnhsOiBlcnJvcjogbGlieGxfY3JlYXRlLmM6MTY0Mzpkb21jcmVhdGVfbGF1bmNoX2RtOiBE
b21haW4gMTp1bmFibGUgdG8gYWRkIGRpc2sgZGV2aWNlcw0KPiBsaWJ4bDogZXJyb3I6IGxpYnhs
X2V4ZWMuYzoxMTc6bGlieGxfcmVwb3J0X2NoaWxkX2V4aXRzdGF0dXM6IC9ldGMveGVuL3Njcmlw
dHMvYmxvY2sgcmVtb3ZlIFs3OTNdIGV4aXRlZCB3aXRoIGVycm9yIHN0YXR1cyAxDQo+IGxpYnhs
OiBlcnJvcjogbGlieGxfZGV2aWNlLmM6MTI2NTpkZXZpY2VfaG90cGx1Z19jaGlsZF9kZWF0aF9j
Yjogc2NyaXB0OiAvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrIGZhaWxlZDsgZXJyb3IgZGV0ZWN0ZWQu
DQo+IGxpYnhsOiBlcnJvcjogbGlieGxfZG9tYWluLmM6MTE4MzpsaWJ4bF9fZGVzdHJveV9kb21p
ZDogRG9tYWluIDE6Tm9uLWV4aXN0YW50IGRvbWFpbg0KPiBsaWJ4bDogZXJyb3I6IGxpYnhsX2Rv
bWFpbi5jOjExMzc6ZG9tYWluX2Rlc3Ryb3lfY2FsbGJhY2s6IERvbWFpbiAxOlVuYWJsZSB0byBk
ZXN0cm95IGd1ZXN0DQo+IGxpYnhsOiBlcnJvcjogbGlieGxfZG9tYWluLmM6MTA2NDpkb21haW5f
ZGVzdHJveV9jYjogRG9tYWluIDE6RGVzdHJ1Y3Rpb24gb2YgZG9tYWluIGZhaWxlZA0KDQpJIHRo
aW5rIHlvdSBoYXZlIGEgbG9vcCBpc3N1ZS4NCg0KQ291bGQgeW91IGNoZWNrIGlmIC9kZXYvbG9v
cDAgZXhpc3RzID8NCg0KRGlkIHlvdSBjaGFuZ2Ugc29tZXRoaW5nIG9uIHRoZSBkb20wIGxpbnV4
IGNvbmZpZ3VyYXRpb24gZ2VuZXJhdGVkIGJ5IFlvY3RvID8NCg0KV2UgYXJlIHVzaW5nIFlvY3Rv
IG9uIFJQSTQgaGVyZSB3aXRob3V0IGFueSBpc3N1ZSBsaWtlIHRoYXQsIG9ubHkgZGlmZmVyZW5j
ZSB3aXRoDQp5b3VyIHNldHVwIGlzIHRoYXQgd2UgZ2VuZXJhdGUgYSB3aWMgaW1hZ2UgdG8gaGF2
ZSBhIHJlYWwgZGlzayBpbWFnZSBpbnN0ZWFkIG9mDQp1c2luZyB0aGUgZXh0My9leHQ0IG9uZS4N
Cg0KU2hvdWxkIGJlIHBvc3NpYmxlIHRvIGRvIHRoZSBzYW1lIG9uIHlvdXIgc2lkZSBieSBhZGRp
bmcgdGhlIGZvbGxvd2luZyBpbiBsb2NhbC5jb25mOg0KSU1BR0VfRlNUWVBFUzphcHBlbmQgPSAi
IHdpYy5neuKAnQ0KDQo+IA0KPiBFdmVuIGFmdGVyIHJlbW92aW5nICd0eXBlPW5ldGZyb250JyBm
cm9tIHZpZiBpdCdzIGZhaWxpbmcuIA0KDQpUaGlzIG9wdGlvbiBpcyBvbmx5IGZvciBodm0gb24g
eDg2LCBzbyB5b3UgY2FuIHJlbW92ZSBpdCBmcm9tIHlvdXIgY29uZmlndXJhdGlvbi4NCg0KPiBP
bmUgbW9yZSBkb3VidCBoZXJlLCBjb3VsZCB0aGlzIG1hYyBhZGRyZXNzIGJlIGEgZHVtbXkgb3Ig
YWN0dWFsIGhlcmU/DQoNClRoaXMgaXMgYSBkdW1teSBvbmUgeW91IHNldCBmb3IgdGhlIGd1ZXN0
IG5ldHdvcmsgaW50ZXJmYWNlIGFuZCB0aGlzIGlzIHRoZSBNYWMNCiBhZGRyZXNzIG90aGVyIGRl
dmljZXMgb24geW91ciBuZXR3b3JrIHdpbGwgc2VlIHNvIGl0IG11c3QgYmUgZnVsbHkgdmFsaWQg
KGFuZA0KIG5vdCBjb25mbGljdGluZyB3aXRoIG90aGVyIGRldmljZXMgb24geW91ciBuZXR3b3Jr
KS4NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQo+IA0KPiBSZWdhcmRzLA0KPiBWaXB1bCBLdW1hcg0K
PiANCj4gT24gVGh1LCBBdWcgMjUsIDIwMjIgYXQgMjozNiBBTSBTdGVmYW5vIFN0YWJlbGxpbmkg
PHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+IHdyb3RlOg0KPiBPbiBXZWQsIDI0IEF1ZyAyMDIyLCBW
aXB1bCBTdW5lamEgd3JvdGU6DQo+ID4gSGkgQmVydHJhbmQsDQo+ID4gVGhhbmtzIGZvciB5b3Vy
IHJlc3BvbnNlIQ0KPiA+IA0KPiA+IEkgYnVpbGRlZCB0aGUgZ3Vlc3QgaW1hZ2Ugb24geW9jdG8g
a2lya3N0b25lIHNvdXJjZSB3aGljaCBoYXMgRlNUWVBFIGV4dDMuIEd1ZXN0IGltYWdlIGdlbmVy
YXRlZCBpcw0KPiA+IHhlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQz
Lg0KPiA+IEJlbG93IGlzIHRoZSBjb250ZW50IG9mIGd1ZXN0LmNmZyBmaWxlDQo+ID4gDQo+ID4g
ICAga2VybmVsID0gIi9ob21lL3Jvb3QvSW1hZ2UiIA0KPiA+ICAgIGNtZGxpbmUgPSAiY29uc29s
ZT1odmMwIGVhcmx5cHJpbnRrPXhlbiBzeW5jX2NvbnNvbGUgcm9vdD0vZGV2L3h2ZGEiIA0KPiA+
ICAgIG1lbW9yeSA9ICIyNTYiIA0KPiA+ICAgIG5hbWUgPSAiZ3Vlc3QxIiANCj4gPiAgICB2Y3B1
cyA9IDEgDQo+ID4gICAgc2VyaWFsPSJwdHkiIA0KPiA+ICAgIGRpc2sgPSBbICdwaHk6L2Rldi9s
b29wMCx4dmRhLHcnIF0gDQo+ID4gICAgdmlmPVsgJ21hYz0wMDoxMToyMjo2Njo4ODoyMixicmlk
Z2U9eGVuYnIwLHR5cGU9bmV0ZnJvbnQnLCBdDQo+ID4gDQo+ID4gSSBhbSB0cnlpbmcgdG8gbW91
bnQgeGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4dDMgdG8gYSB2aXJ0
dWFsIGRldmljZSAmIHRoZW4gd2lsbCBydW4gdGhlIGd1ZXN0IFZNIGJ5IGNvbW1hbmQgInhsIGNy
ZWF0ZSAtYw0KPiA+IGd1ZXN0LmNmZyIuIEJ1dCBmYWNpbmcgaXNzdWUgd2hpbGUgdHJ5aW5nIHRv
IG1vdW50LiANCj4gDQo+IFlvdSBkb24ndCBhY3R1YWxseSBuZWVkIHRvIG1vdW50DQo+IHhlbi1n
dWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQzIGFueXdoZXJlIHRvIHVzZSBp
dCB0byBydW4NCj4geW91ciBndWVzdCBWTSB3aXRoICJ4bCBjcmVhdGUiLiANCj4gDQo+IEl0IGlz
IGVub3VnaCB0byBkbyB0aGlzIGluc3RlYWQsIGFzIEJlcnRyYW5kIHN1Z2dlc3RlZDoNCj4gDQo+
IGRpc2s9WyJmaWxlOi9wYXRoL3RvL2ZpbGUveGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJl
cnJ5cGk0LTY0LmV4dDMseHZkYSx3Il0NCj4gDQo+IE5vIG5lZWQgdG8gY2FsbCBsb3NldHVwIG9y
IG1vdW50LiBKdXN0IHhsIGNyZWF0ZSAtYy4NCj4gDQo+IE1vcmUgYW5zd2VycyBiZWxvdy4NCj4g
DQo+IA0KPiA+IFJlZ2FyZHMsDQo+ID4gVmlwdWwgS3VtYXINCj4gPiANCj4gPiBPbiBXZWQsIEF1
ZyAyNCwgMjAyMiBhdCA4OjA2IFBNIEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNA
YXJtLmNvbT4gd3JvdGU6DQo+ID4gICAgICAgSGkgVmlwdWwsDQo+ID4gDQo+ID4gICAgICAgPiBP
biAyNCBBdWcgMjAyMiwgYXQgMTU6MTYsIFZpcHVsIFN1bmVqYSA8dnN1bmVqYTYzQGdtYWlsLmNv
bT4gd3JvdGU6DQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4gSGksDQo+ID4gICAgICAgPg0KPiA+
ICAgICAgID4gSSBhbSBwb3J0aW5nIHhlbiBoeXBlcnZpc29yIG9uIHJwaTQgd2l0aCB5b2N0byBr
aXJrc3RvbmUgc291cmNlcy4gRm9sbG93ZWQgdGhlIGJhc2ljIHN0ZXBzIHRvIGJ1aWxkIHhlbi1p
bWFnZS1taW5pbWFsICYNCj4gPiAgICAgICB4ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC4gSSBjb3Vs
ZCBmbGFzaCBzZCBjYXJkIHdpdGggeGVuIG1pbmltYWwgaW1hZ2UgJiBjb3VsZCBzZWUgZG9tMCB1
cC4gSSBjb3BpZWQgIkltYWdlIiwNCj4gPiAgICAgICAieGVuLWd1ZXN0LWltYWdlLW1pbmltYWwi
IC5leHQzIGZpbGUgJiBndWVzdC5jZmcgdG8gIi9ob21lL3Jvb3QiLiBBZnRlciB0aGF0IGNyZWF0
ZWQgYSBicmlkZ2Ugd2l0aCBiZWxvdyBzdGVwOg0KPiA+ICAgICAgID4NCj4gPiAgICAgICA+IGtp
bGxhbGwgLVNJR1VTUjIgdWRoY3BjDQo+ID4gICAgICAgPiBicmN0bCBhZGRiciB4ZW5icjANCj4g
PiAgICAgICA+IGJyY3RsIGFkZGlmIHhlbmJyMCBldGgwDQo+ID4gICAgICAgPiBraWxsYWxsIHVk
aGNwYw0KPiA+ICAgICAgID4gdWRoY3BjIC1SIC1iIC1wIC92YXIvcnVuL3VkaGNwYy54ZW5icjAu
cGlkIC1pIHhlbmJyMA0KPiA+ICAgICAgID4NCj4gPiAgICAgICA+IENvdWxkIHNlZSB0aGUgeGVu
YnIwIGludGVyZmFjZSB1cC4NCj4gPiAgICAgICA+IEFmdGVyIHRoYXQgd2hpbGUgbW91bnRpbmcg
dGhlIGd1ZXN0IGZpbGUgc3lzdGVtIGl0IHNob3dzIG5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnkg
YnV0IHRoZSBmaWxlIGlzIGFscmVhZHkgdGhlcmUuDQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4g
WzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBpNC02NDp+IyBscyAtbA0KPiA+
ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiAtcnctci0tci0tICAgIDEgcm9vdCAgICAg
cm9vdCAgICAgIDI0NjUyMjg4IE1hciAgOSAxMjozNiBJbWFnZQ0KPiA+ICAgICAgID4gWzIzOjQw
OjE1XSA8R3Vlc3Q5MDQ2PiAtcnctci0tci0tICAgIDEgcm9vdCAgICAgcm9vdCAgICAgICAgICAg
MjQ3IE1hciAgOSAxMjozNyBndWVzdDEuY2ZnDQo+ID4gICAgICAgPiBbMjM6NDA6MTVdIDxHdWVz
dDkwNDY+IC1ydy1yLS1yLS0gICAgMSByb290ICAgICByb290ICAgICA4NjgyMjA5MjggTWFyICA5
IDEyOjM5IHhlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQzDQo+ID4g
ICAgICAgPiBbMjM6NDA6MTVdIDxHdWVzdDkwNDY+IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jIGNo
bW9kIDA3NzcgeGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4dDMNCj4g
PiAgICAgICA+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gcm9vdEByYXNwYmVycnlwaTQtNjQ6fiMg
bHMgLWwNCj4gPiAgICAgICA+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gLXJ3LXItLXItLSAgICAx
IHJvb3QgICAgIHJvb3QgICAgICAyNDY1MjI4OCBNYXIgIDkgMTI6MzYgSW1hZ2UNCj4gPiAgICAg
ICA+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gLXJ3LXItLXItLSAgICAxIHJvb3QgICAgIHJvb3Qg
ICAgICAgICAgIDI0NyBNYXIgIDkgMTI6MzcgZ3Vlc3QxLmNmZw0KPiA+ICAgICAgID4gWzIzOjQw
OjE1XSA8R3Vlc3Q5MDQ2PiAtcnd4cnd4cnd4ICAgIDEgcm9vdCAgICAgcm9vdCAgICAgODY4MjIw
OTI4IE1hciAgOSAxMjozOSB4ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQu
ZXh0Mw0KPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBp
NC02NDp+IyBsb3NldHVwIC9kZXYvbG9vcDAgeGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJl
cnJ5cGk0LTY0LmV4dDMNCj4gPiAgICAgICA+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gbG9zZXR1
cDogeGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4dDM6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkNCj4gPiAgICAgICA+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gcm9v
dEByYXNwYmVycnlwaTQtNjQ6fiMgbG9zZXR1cCAvZGV2L2xvb3AwIC9ob21lL3Jvb3QveGVuLWd1
ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4dDMNCj4gPiAgICAgICA+IFsyMzo0
MDoxNV0gPEd1ZXN0OTA0Nj4gbG9zZXR1cDogL2hvbWUvcm9vdC94ZW4tZ3Vlc3QtaW1hZ2UtbWlu
aW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KPiA+
ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBpNC02NDp+Iw0K
PiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBpNC02NDp+
Iw0KPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBpNC02
NDp+Iw0KPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBp
NC02NDp+IyBsb3NldHVwIC9kZXYvbG9vcDAgL2hvbWUvcm9vdC94ZW4tZ3Vlc3QtaW1hZ2UtbWlu
aW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0Mw0KPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5
MDQ2PiBsb3NldHVwOiAvaG9tZS9yb290L3hlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJy
eXBpNC02NC5leHQzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQo+IA0KPiBJdCBsb29rcyBs
aWtlIGVpdGhlcg0KPiAvaG9tZS9yb290L3hlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJy
eXBpNC02NC5leHQzIGRvZXNuJ3QgZXhpc3Qgb3INCj4gL2Rldi9sb29wMCBkb2Vzbid0IGV4aXN0
DQo+IA0KPiANCj4gPiAgICAgICBXaHkgZG8geW91IHdhbnQgdG8gbW91bnQgdGhlIGZpbGUgc3lz
dGVtID8NCj4gPiANCj4gPiAgICAgICBBbnl3YXkgdGhpcyBpcyBub3QgcmVsYXRlZCB0byBYZW4s
IEkgZ3Vlc3MgeW91IGNvdWxkIHN0YXJ0IHdpdGhvdXQgeGVuIGFuZCBzdGlsbCBub3QgbWFuYWdl
IHRvIG1vdW50IHRoZSBmaWxlIGxpa2UgdGhhdCAobGludXgNCj4gPiAgICAgICBjb25maWd1cmF0
aW9uIGlzc3VlID8pDQo+ID4gDQo+ID4gICAgICAgV2hhdCBpcyB0aGUgY29udGVudCBvZiB5b3Ug
Z3Vlc3QuY2ZnDQo+ID4gICAgICAgSG93IGRvIHlvdSB3YW50IHRvIHBhc3MgdGhlIGd1ZXN0IHJv
b3QgZmlsZSBzeXN0ZW0gPw0KPiA+IA0KPiA+ICAgICAgIFlvY3RvIHNob3VsZCBhY3R1YWxseSBn
ZW5lcmF0ZSBhbiBpbWcgZmlsZSBhbmQgeW91IGNvdWxkIHVzZSBpdCBieSBoYXZpbmcgc29tZXRo
aW5nIGxpa2UgdGhpcyBpbiB5b3VyIGd1ZXN0LmNmZzoNCj4gPiAgICAgICBkaXNrPVsiZmlsZTov
aG9tZS9yb290L2d1ZXN0MS5pbWcseHZkYSx34oCdXQ0KPiA+IA0KPiA+ICAgICAgIENoZWVycw0K
PiA+ICAgICAgIEJlcnRyYW5kDQo+ID4gDQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4gQW55IGlu
cHV0IG9uIHRoaXMgaXNzdWUgd2lsbCBiZSByZWFsbHkgaGVscGZ1bCwgZXhwZWN0aW5nIHlvdXIg
cmVzcG9uc2UuDQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4gVGhhbmtzICYgUmVnYXJkcywNCj4g
PiAgICAgICA+IFZpcHVsIEt1bWFyDQo+ID4gDQo+ID4gDQo+ID4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:58:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393103.631841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7l7-0005fY-4T; Thu, 25 Aug 2022 07:58:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393103.631841; Thu, 25 Aug 2022 07:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7l7-0005fR-1l; Thu, 25 Aug 2022 07:58:37 +0000
Received: by outflank-mailman (input) for mailman id 393103;
 Thu, 25 Aug 2022 07:58:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M9hs=Y5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oR7l5-0005fL-5V
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:58:35 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60069.outbound.protection.outlook.com [40.107.6.69])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7bc3634-244b-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 09:58:34 +0200 (CEST)
Received: from FR3P281CA0139.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::13)
 by DB9PR08MB8673.eurprd08.prod.outlook.com (2603:10a6:10:3d3::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Thu, 25 Aug
 2022 07:58:21 +0000
Received: from VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:95:cafe::ef) by FR3P281CA0139.outlook.office365.com
 (2603:10a6:d10:95::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Thu, 25 Aug 2022 07:58:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT025.mail.protection.outlook.com (10.152.18.74) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Thu, 25 Aug 2022 07:58:20 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Thu, 25 Aug 2022 07:58:20 +0000
Received: from 26b10ea0a974.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B8B2203B-FB8A-49DD-9C0B-186A781FEA29.1; 
 Thu, 25 Aug 2022 07:58:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 26b10ea0a974.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 25 Aug 2022 07:58:14 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM9PR08MB6707.eurprd08.prod.outlook.com (2603:10a6:20b:305::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 07:58:12 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Thu, 25 Aug 2022
 07:58:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7bc3634-244b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=I+ZaA0hXkJCtuXwz+SY6LP3wdkgkn9eoo7t6qmtR7jG6msSIJyMGgh4coOlaKvHQYFgcVZNJ0LOxRQzK9T52pQR9IbdfkgkpiBHhDSelr5qAdfng+rAZd0FuGWxBJzIOY4PAPrssGR8n7cznTeyizwI1BhMXYkJnRrf59DzzA9wspteSBjg0a7C4iP/Y/rIUEo2vNWVMRflikRxaw/lpwjDnjgUf/IKQ6qNPeUNKOYDq1fWa3gjGsvkpCfP+zHmq9gKEzoKeue7PP9B5q4vWvvBZsSwL0w+UgnTSVoBjAU+TIrXJgeM287LKmS9P9Njt+ebwhcI/5hC7wW1uuyoMaQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VgxjvsqUBOR+VIg2/5AwJlSAj2MGOyolHuS+MJJofw8=;
 b=TiC7iW/D/BR0MD+3bQc5YC7LFHKwSWOjo1qYViXWTgmlip4fDudZ1a6jR6U0I21I0Sh6tQK/AdbsDf73LAc1eqgDwB+x0wfDW5w7aVLCtdHxdIRPD89qacKqTTA79zuFzXXgJBzYKMQ8E1pntZsUut8lSQKqRzuvI01c9Hw0wZXkbZRtcZ8x3FFCMSXh+GrRtpREn3253DRgEZQxGjPEkPMAplCEfek10rQGauxnafVs5vYaVu7MPb2caLXz6oabNpKcSRifryXQygYBJH1r6Z0V57a6popmZXXAiCTXWzRmS5hyxQ274PQfX1eSJF7Nzfmo5cyYb4M2iXo/4BwyMw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VgxjvsqUBOR+VIg2/5AwJlSAj2MGOyolHuS+MJJofw8=;
 b=nr+3gDunA0cpD7I/Jx3ccFuOFpCQFkeSccScp97D9nkkLfdsxZRwUwRjeZswXw3/d3DggLCEawWD1nyRRvp/9JFQe5vDiVa8uZDFx7q21vI0eSKhbJ5h17BUxIJ24UvX1waGFYfoWVxV67wLyYeLxPhSSmETbIAPRcoRiysa7xI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0e32806c04b2d39f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TAYqLtisd/NLPus7mrOA60o3f6nHPudhomKoOdmMG8BDQpp6OHRq6tr+QLeATkE3Th99JLmHYUYoSJSicru7pUOjeISH9Kum5ueWwUAcsUW0v0TH9ifMJ4FwWfXuZMHBMJ1iA04r5NZXMyjG1F0guz3jwbOlwVMxzfB8dr1ghpKGAPiI4ACaD4yKOPPdmAXl1oG/by7K5h3DqyMaIkNxKayYE19IuGzL94Fq0dEmeyHG6WPqT8OCZLxrvYJUSCj4jJXuarCzEEiGgXgrC+HV15YmYZb9q0Kre+g4TKDiQ6YPSVM+K5TbTUMPPqy7ONgM4bVf69x6DkmfAPM19Th6kg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VgxjvsqUBOR+VIg2/5AwJlSAj2MGOyolHuS+MJJofw8=;
 b=jr7vsyziG7Qivfahcdu+29fRalWXcof0NjRa0iSNEMq/fHP0qSYaku+5UoviJSsx5pUGccW1Dbpx5GirJcz4VkNofY0IJZRCfrLUhHIJmhGQbQobUlQzIBYyJ9XW54PdfMm/TAXCxLXuCcCt2dgnXJ9DfoEkexS7ac91SkT4XqdkgB6OPiMNwVx+4Xn01+leEL9MIPjj2JICzYwNyjtvVfEWZc3EVHuZm1rL4J+hUy/cXT2s+wNVrI/1niCueQn8uIrda70kvQXDDhb1lI5kMRj28aKPe0VOKz9Is8lO4AuvgKxFurOCXq4HzNpsWrjebJgqCBDrmnptU9iMkBuAgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VgxjvsqUBOR+VIg2/5AwJlSAj2MGOyolHuS+MJJofw8=;
 b=nr+3gDunA0cpD7I/Jx3ccFuOFpCQFkeSccScp97D9nkkLfdsxZRwUwRjeZswXw3/d3DggLCEawWD1nyRRvp/9JFQe5vDiVa8uZDFx7q21vI0eSKhbJ5h17BUxIJ24UvX1waGFYfoWVxV67wLyYeLxPhSSmETbIAPRcoRiysa7xI=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1] x86/public: move XEN_ACPI_ in a new header
Thread-Topic: [PATCH v1] x86/public: move XEN_ACPI_ in a new header
Thread-Index: AQHYt85ufd+PwkI5IU+k+Lq2pSqnAK2/PlYAgAAC5QA=
Date: Thu, 25 Aug 2022 07:58:12 +0000
Message-ID: <C3C2E05C-94CD-4A6C-87FF-E7943A6829C9@arm.com>
References:
 <b79164d207113af05417536438b786850875edb1.1661353272.git.bertrand.marquis@arm.com>
 <17557d6d-8c07-915c-ed01-1e7d81891023@suse.com>
In-Reply-To: <17557d6d-8c07-915c-ed01-1e7d81891023@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 5c35386a-248a-4db3-019a-08da866f9415
x-ms-traffictypediagnostic:
	AM9PR08MB6707:EE_|VE1EUR03FT025:EE_|DB9PR08MB8673:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Por2NLli0UODuxdGQyZ5P276p7RSztbTOuRe+9txWNzmXnC/3pf4XPXWeXK6K+3pvn6+f0MUk6b3l7gg25OopULI2zNqSogN6dsJHRW0XTs/i1HK5uD3mal3gznZ230odGPUef8lKnBiekkGmvPRxX7eIMPqxXkWQJBxgb/4B4P9V+HZnnYrtkPYnaL6w1c7bz+y4vf0n7E0F14KtCD95IgwIf7w9NwUaj38d7HmOW3ukjbboaQ9sE0UIVf/wjD0/NlubAupl+1gOTayAen3qY6jDyuaUyEAHV47WMpf/B+XwAsHfDBhTzaHpHQQzMxu370Iw+O/2FFyreGFhhvoSio0pIR9A54KkJCGvO8zUaCszHFX27zini8X94gYExfTLj3CnazUaUJcDKARTE8vRop0V6eQkiAkevc3eooslRbDibEDOl1HtFHkkTkJbi3CdiZEY895Nn3S4T5YtHEzVoBK6lJLeMpphhGxPucGziuy6Xhooe8z7JkVJbfeJ2fJIET2bR9l3l5mlXTQJFUlWKBkrnww1TOsWXD1WCeyG2VUccY/ZMY9d8K/9OQF2kVkobgPb2cZ1b3gQG5b+2IHB1CgMHv11ibEquJGdijig3dXQPBOhoPWxTJcNkL8G8QbZA3MAasAtnZNzyvACK4VyI/ItZi0kBQLcRq/I13V0eTVm1spQh49enmlSSoHj6skya8m/NUt5zoY7d8L2nz4wiDE9IeqGtDDB7f4WWgvv3c+t1NX/wwqmMHMkU+c8SPRYEhEM8Ojk4VQXS2bVntdMPJLlZb2k2nrrUFYSWYeOlU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(396003)(346002)(366004)(136003)(36756003)(83380400001)(2616005)(41300700001)(54906003)(6512007)(6916009)(186003)(26005)(6506007)(2906002)(33656002)(38100700002)(71200400001)(316002)(86362001)(478600001)(4326008)(38070700005)(6486002)(91956017)(66476007)(66446008)(64756008)(76116006)(53546011)(122000001)(8936002)(5660300002)(8676002)(66946007)(66556008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <DA54B7D1A03E754E8C77FE644C5C3A50@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6707
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	00fe655e-ecf1-45fd-04cd-08da866f8eff
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CDrBEToCWzQbGHB3jViYQG0o7ZzF2GM+JXjye2THCVG61FqHZBuQG+AiopSo0sA4cknf133glCR3M87zPic5XZUkAanRuqV965KiA76IbVaumACpqcaXUGvYlqJIHheMHftfP1cCZUSuJZzz1ITsBsdlBeAh7ePyK1JvygT7VPoDG3zhcoUxAHauTnEY1ZW4PYZiYGn2ft8ncqK38DhZQNq4vi/4W/ROwTIPZS6OrElpfNtIuJyE42e1KgTxlYcTSW77F+hvCAW6qSNJP0FMzuD0JhcgzLdiT3QhwH0TOCif4oGanuwuyuYFhBfcBHWfVZ03u+e/c83MBnzPldSC8IrYoAjFXfu085E3aw0XRc4tPT6K/ZwAKGa7bOED2LCCvNiSJKO0zbYcNllt621/0uC+BlrXbDb1nrd3kYUmG+LwgvguR2kbHOFSZC6te0eIfNtgEpT5FZ5iSmhELSShWZrXhfb1vrXBAYkQ/em5N6FTJB+bSVD77Oru2so7Jg6NFkWRaxJcrgzJp7qR9Yv23lrg2N6OFAtwmcmaqTmyF4Yyqr3Jf0MgjyjoI1kSyAbh1VJw0n3yFBhddp7j51n4aou0f1B7N8C2c/TaSpDi7zbF4lWTM3fs9QEtpk/2ZVIcH9SniuIU00vhVcYO6orRXyrSuEVUvmqfYzPik3T5kLESKLUBinIj/8Ibp8XtVFeHu/0N3Idf53Ty2uyeYEBzPt8R0p4sUspYlVpc0B+li/V8GzoQkbDiY6rD1sM1aCNH8yfL10PYAz5WVWPI00fs5Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(136003)(346002)(396003)(46966006)(40470700004)(36840700001)(82740400003)(86362001)(40460700003)(81166007)(356005)(2906002)(36860700001)(316002)(54906003)(4326008)(5660300002)(8676002)(82310400005)(8936002)(70206006)(70586007)(40480700001)(47076005)(2616005)(41300700001)(6862004)(478600001)(36756003)(83380400001)(26005)(6512007)(6486002)(336012)(186003)(6506007)(33656002)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 07:58:20.9149
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c35386a-248a-4db3-019a-08da866f9415
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8673

Hi Jan,

> On 25 Aug 2022, at 08:47, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 24.08.2022 17:29, Bertrand Marquis wrote:
>> When Xen is compiled for x86 on an arm machine, libacpi build is failing
>> due to a wrong include path:
>> - arch-x86/xen.h includes xen.h
>> - xen.h includes arch-arm.h (as __i386__ and __x86_64__ are not defined
>> but arm ones are).
>>=20
>> To solve this issue move XEN_ACPI_ definitions in a new header
>> guest-acpi.h that can be included cleanly by mk_dsdt.c
>>=20
>> Previous users needing any of the XEN_ACPI_ definitions will now need to
>> include arch-x86/guest-acpi.h instead of arch-x86/xen.h
>>=20
>> Fixes: d6ac8e22c7c5 ("acpi/x86: define ACPI IO registers for PVH
>> guests")
>=20
> Nit: Please don't wrap this line.

Ok

>=20
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>> The x86 header is including ../xen.h before the ifndef/define so that it
>> gets included back by xen.h. This is wrongly making the assumption that
>> we are using an x86 compiler which is not the case when building the
>> tools for x86 on an arm host.
>> Moving the definitions to an independent header is making things cleaner
>> but some might need to include a new header but the risk is low.
>>=20
>> For the release manager:
>> - risk: very low, the definitions moved are only used in mk_dsdt and
>> external users would just have to include the new header.
>> - advantage: we can now compile xen for x86 on arm build machines
>=20
> You will want to actually Cc him on v2, so he can ack the change (or
> not).

Ack

>=20
>> --- /dev/null
>> +++ b/xen/include/public/arch-x86/guest-acpi.h
>> @@ -0,0 +1,50 @@
>> +/**********************************************************************=
********
>> + * arch-x86/xen-acpi.h
>=20
> Stale file name.

Right, forgot to change the content after renaming, will fix.

>=20
>> + * XEN ACPI interface to x86 Xen.
>=20
> Perhaps also here s/XEN/Guest/.

Ok.

>=20
>> + * Permission is hereby granted, free of charge, to any person obtainin=
g a copy
>> + * of this software and associated documentation files (the "Software")=
, to
>> + * deal in the Software without restriction, including without limitati=
on the
>> + * rights to use, copy, modify, merge, publish, distribute, sublicense,=
 and/or
>> + * sell copies of the Software, and to permit persons to whom the Softw=
are is
>> + * furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice shall be inclu=
ded in
>> + * all copies or substantial portions of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPR=
ESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL=
ITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SH=
ALL THE
>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH=
ER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARIS=
ING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> + * DEALINGS IN THE SOFTWARE.
>> + *
>> + */
>> +
>> +#ifndef __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__
>> +#define __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__
>=20
> Please make the guard match the file name.

Yes

>=20
>> +#if defined(__XEN__) || defined(__XEN_TOOLS__)
>=20
> While separating it out, may I suggest to limit this to just the tool
> stack? There's no use of these #define-s in the hypervisor, and none
> is to be expected. (Of course this will want justifying this way in
> the description.)

Ok

Thanks for the review
Cheers
Bertrand

>=20
> Jan
>=20
>> +/* Location of online VCPU bitmap. */
>> +#define XEN_ACPI_CPU_MAP             0xaf00
>> +#define XEN_ACPI_CPU_MAP_LEN         ((HVM_MAX_VCPUS + 7) / 8)
>> +
>> +/* GPE0 bit set during CPU hotplug */
>> +#define XEN_ACPI_GPE0_CPUHP_BIT      2
>> +
>> +#endif
>> +
>> +#endif /* __XEN_PUBLIC_ARCH_X86_XEN_ACPI_H__ */



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:58:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:58:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393105.631851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7lT-00066q-CU; Thu, 25 Aug 2022 07:58:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393105.631851; Thu, 25 Aug 2022 07:58:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7lT-00066j-9u; Thu, 25 Aug 2022 07:58:59 +0000
Received: by outflank-mailman (input) for mailman id 393105;
 Thu, 25 Aug 2022 07:58:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR7lR-00066R-6g; Thu, 25 Aug 2022 07:58:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR7lR-00008z-4e; Thu, 25 Aug 2022 07:58:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oR7lQ-000365-Pd; Thu, 25 Aug 2022 07:58:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oR7lQ-0003Vf-PD; Thu, 25 Aug 2022 07:58:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rxMXqB/sK4+9c74dX8/vAstmdPyzgJNU+hAxrwMAue0=; b=RNMo03dwJuULC6ysx/wRistLyh
	GnQgj3niqiorHYN/Bn2LIQhMXM2B0l3/E11RPiK4XjxqZJSAiPIHrkWwL5OMQRQ0o0xp1nGibLQdV
	722A0aYBvbBMLiLwW0Elnh/6ZHyZKzxc6gUekjSMYCh5O3NIkCvWBSjcC0otD2XU/iqw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172767-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172767: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 07:58:56 +0000

flight 172767 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172767/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   21 days
Failing since        172151  2022-08-05 02:40:28 Z   20 days  165 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    1 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 07:59:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 07:59:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393117.631863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7m0-0006jf-MU; Thu, 25 Aug 2022 07:59:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393117.631863; Thu, 25 Aug 2022 07:59:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7m0-0006jY-JR; Thu, 25 Aug 2022 07:59:32 +0000
Received: by outflank-mailman (input) for mailman id 393117;
 Thu, 25 Aug 2022 07:59:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=azg/=Y5=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oR7m0-0006QW-1T
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 07:59:32 +0000
Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com
 [2607:f8b0:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8e550ac-244b-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 09:59:30 +0200 (CEST)
Received: by mail-pf1-x42b.google.com with SMTP id y141so18939587pfb.7
 for <xen-devel@lists.xenproject.org>; Thu, 25 Aug 2022 00:59:30 -0700 (PDT)
Received: from leoy-huanghe
 (ec2-54-219-84-159.us-west-1.compute.amazonaws.com. [54.219.84.159])
 by smtp.gmail.com with ESMTPSA id
 g15-20020a62520f000000b00537a6c78ef1sm8237pfb.190.2022.08.25.00.59.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Aug 2022 00:59:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8e550ac-244b-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=8cPd58fdF3BRGtoM3aKoXRGgpUDR5p/UVDEMSS73694=;
        b=AhrdBJA6WLLXtz7SNL9Qkn+F3+h3ZHu9KpeCjQm0QimcBxOr0nRgPRdPJVK4zwxvBZ
         fj6PszZfx5IlNLKMtezUUuVfCVLY1Bs9u/BcKTOsXVysNeWokBNwcUChSrPSvqexIiVC
         NnmTjVVeulKa4rS0BK7ELIjpEo0QSpbhEQynClGildiZgjIlglaJVDARZEawhHRzgwgO
         BG5Lm2sNk7qXDfwz/jJ8JAA8BsvmcXGeX/Oczbhi1g8edk/lnTvoWIRSjWwl8A325MbY
         eUXpV7l7Kg+yG4q6NV6FzXXMxAR6YX8/gWy/Tm6hLVTbtcyiBc5kaHlZ/TFwUPIc6O/b
         R64g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=8cPd58fdF3BRGtoM3aKoXRGgpUDR5p/UVDEMSS73694=;
        b=7s/aTwzHD0GV6eygmYrWTbVNW8XoTQKyBbhPwL0zg/e8HRHOqYxHjx8jP0GFgfFepq
         nozHhWYfIXsE6O8m/J/zrpCFEOFA9jHrnVn8EkZHS68Mxuewq8jsXeV+zYw/ayI0HDsw
         OBiUAuZz91qWcgQmXyWBc+n+0Q5UwYiw97ILnC9587nxwElFK5ASo12w3G90KWQw1MT3
         nppCPCl/ruwqvU1VAths1UB/4Tq5DNrOf0+R8Lu3tLf+1R+5ZM4y3c3fpJVX/ls8dVVq
         ZZmkHqX52tFUqR6Y+eqszjCMT7E7wbEjgcQCAhtOFj1VWauu6fKKqaWiHkikXtdqvVtw
         hqqA==
X-Gm-Message-State: ACgBeo2biWYWOvlJtA0Jbqs4j+XPpKWcP6O5L986b+TN+21ZeHFc6Kbp
	GO1F5CqQvaOdPDkIZZtJffG6bw==
X-Google-Smtp-Source: AA6agR4hoFzYMfOwaaYdkJKDUHUdrlJ89qSeX86OSkaM1lPS65DCjMhywDBo3x2Se6E7RhqrReYI2A==
X-Received: by 2002:a63:e011:0:b0:42a:1c12:17a9 with SMTP id e17-20020a63e011000000b0042a1c1217a9mr2232450pgh.557.1661414369130;
        Thu, 25 Aug 2022 00:59:29 -0700 (PDT)
Date: Thu, 25 Aug 2022 15:59:19 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Marc Zyngier <maz@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>, Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <Ywcr1849LiEHezd3@leoy-huanghe>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
 <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
 <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
 <871qtcsacd.wl-maz@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <871qtcsacd.wl-maz@kernel.org>

On Fri, Aug 19, 2022 at 01:10:10PM +0100, Marc Zyngier wrote:

[...]

> > > > In the context of Xen, dom0 doesn't have direct access to the host ITS
> > > > because we are emulating it. So I think it doesn't matter for us because we
> > > > can fix our implementation if it is affected.
> > > >
> > > > That said, kexec-ing dom0 (or any other domain) on Xen on Arm would require
> > > > some work to be supported. OOI, @leo is it something you are investigating?
> > >
> > >
> > > Now I am working on automative reference platform; the first thing for
> > > me is to resolve the kernel oops.
> > >
> > > For long term, I think the kexec/kdump would be important to be
> > > supported, to be clear, so far supporting kexec/kdump for Xen/Linux is
> > > not priority for my work.
> > >
> > > Also thanks a lot for Ard and Mark's replying. To be honest, I missed
> > > many prerequisites (e.g. redistributor configurations for GIC in
> > > hypervisor) and seems Xen uses a different way by emulating GICv3
> > > controller for guest OS.  So now I am bit puzzle what's for next step
> > > or just keep as it is?
> > >
> > 
> > If i understand Julien's remark correctly, the dom0 GICv3 is emulated,
> > and so it should not suffer from the issue that we are working around
> > here.

Before proceeding discussion, I would like step back to get clear for
the GIC implementation in Xen, otherwise, it's really hard for me to
catch up the dicussion :)

For me it's clear that Xen emulates GICv3 for DomU, but I am still
confused how GICv3 works for Dom0.

Xen directly passes ACPI MADT table from UEFI to Linux kernel to Dom0,
(see functions acpi_create_madt() and gic_make_hwdom_madt()), which
means the Linux kernel Dom0 uses the same ACPI table to initialize GICv3
driver, but since Linux kernel Dom0 accesses GIC memory region as IPA,
it still trap to Xen in EL2 for stage 2 translation, so finally Xen
can emulate the GICv3 device for Dom0.

This is quite different from DomU.  Xen prepares a DT node for GICv3
rather than directly passing ACPI table, so DomU kernel initializes
GICv3 driver based on the DT binding.

Simply to say, no matter Dom0 using ACPI table or DomU using DT
binding, at the end Xen emulates GICv3 device for all of them.

Another thing is not clear for me is that I can see Xen allocates
redistributor pending page (see gicv3_lpi_set_pendtable()), after Dom0
or DomU kernel boots up, kernel allocates another RD pending page; so
the question is how these two different pending pages co-work
together.

In other words, let's assume the Dom0 kernel panic and its secondary
kernel is launched by kexec, is it necessarily for the secondary
kernel to reuse the primary kernel's RD pending page?  Or in this case
it's no matter for the RD pending page in Dom0 and it's safe for Xen
always maintains its own RD pending page in EL2?

> The problem is that there is no way to distinguish a system that
> suffers from GICR LPI tables being immutable from one that allows the
> LPI configuration being changed (either because the HW allows it or
> because the hypervisor plays other games).

Let me ask a stupid question.  Seems to me, GICR LPI tables can be
configured as below options

- The hypervisor pre-allocates GICR LPI tables and pass the memory
  region info to Dom0 kernel;

- The hypervisor doesn't allocate GICR LPI tables, and then Dom0
  kernel allocates GICR LPI tables for the virtual GICv3, and Dom0
  directly write data to the GICR LPI tables and the table is used by
  physical GICv3;

- The hypervisor pre-allocates GICR LPI tables for phycial GICv3 and
  Dom0 kernel allocates another GICR LPI tables for virtual GICv3,
  and Xen needs to sync between these two tables.

To be clear, all of above three options are hypothesis.  So please
correct me if anything is wrong (or even total are wrong?!).

Thanks a lot for suggestions!

Leo

P.s. sorry for truncating Marc's following comments, just want to
focus on above questions.


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 08:00:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 08:00:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393122.631874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7mU-0007Kg-3J; Thu, 25 Aug 2022 08:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393122.631874; Thu, 25 Aug 2022 08:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7mT-0007KD-Vc; Thu, 25 Aug 2022 08:00:01 +0000
Received: by outflank-mailman (input) for mailman id 393122;
 Thu, 25 Aug 2022 08:00:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR7mS-0007Ic-Qc
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 08:00:00 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2082.outbound.protection.outlook.com [40.107.104.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eaa8f59f-244b-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 10:00:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR0402MB3856.eurprd04.prod.outlook.com (2603:10a6:803:21::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 07:59:57 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 07:59:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eaa8f59f-244b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FlcEWzvxHL3TDxRPsnd4ChBdM/XDq+QDIrevurVokNZlYVWyjb2gYXfm+PA04fKrGOQ8t5vhbnKN/nr/M3PI/cvXBqKM0fv2GMNLCIM1DWxEzGVMNRBkYssXktP2XEK9/07Fi4OyhN9eCqnm/rvetV9hPha/pIoQO5gj+g6uADQ15h05G9qfQJ1iAVmgGHXuO5HUlgTZ4Al1WKGOz7FhimAwBOOhOF+572/rGH+P9+SGG8Mpt2dXUWNDgOBt78CD8miROu2n6pXvEOQ2DGFWbwCL4alRPsf8znbKGvn/oyDqyibsg89iy3G8/cSRkLMdzE1RlTeMxdzR6o+cQNAX6w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y1GnXrSlW4jdUJvT7zuXPcyu4grolSnLUsThau2VI3E=;
 b=bnZZNwMz7wpmNKVAx5WcDUWNolGDwF5p6FLs2c7jiraCO15KJc2pLlBnFpg8UiGL4k3JDTRmgQIswfcig0tCUeWD/H9+tqI/sR6uhMGuIexNh6EFJ+7cygI6nRvZE5gVKPhg9ZGGsbBsBRsWDs7koHgkbzQ2RmIjjW0XGA8w3v+LBhGEb8MRc2uHQo+3UBL+rh8czclINSzWWgZ4wgAyxUgEcwGVwsXLm8RfbW2JyNPk8c99FodUgTtqnAl/WzeA3T5oOXh9yjTQwNVcec/yQIPh3wybwUNz5mbdNJoZJyQbRFR5n4/wnIjceFEnuQG0IFGOWrwlh5j1gXLGWt8UOg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y1GnXrSlW4jdUJvT7zuXPcyu4grolSnLUsThau2VI3E=;
 b=JkwX1pkG9mCgH7PjoJuY4NLhAHJHHRdNvAaP81w7nNAJjKOP0SAtgEGdRpMed8yN9e82giFAOcrX0zB0/Oigt+jceDJ4j6T7OX0Sh75mMEom6Mtb/+M6XMvZlvoe9lGh965X6wRxrn/jEI5xQGvmWT2Q+jzqhF5u/eBCKpvB+vctgDYBgSzKy6qvDWXbDuYtYRL19lT2YsJETQ9fg6qX8E5KCp47cfetWB8Bh9iy3u2ZlF22WD06JJThBh0BzKCM/lzEVtTs7U4+6QoVSVVGdmNqTcnn6hG7hVMcPUkd66uTzYaH4mUb3SVg6g/lwS0kAoirmP2rYB7LBEy/2qsbag==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <df443aab-a2eb-75c2-3a4d-df6d093b5788@suse.com>
Date: Thu, 25 Aug 2022 09:59:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH] Make XEN_FW_EFI_MEM_INFO easier to use
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
References: <20220824210452.3089-1-demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220824210452.3089-1-demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ae1a309f-2184-497a-2eef-08da866fcdba
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3856:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	R3wzdTIgAX/6NQaEILlCT3GLiHb5rJiFXiQ/7AdxuS1Th+WsJZZwCMlwCB1CgRaYbtY30kBxxXqOUbg084imSa5fL6rKhMELopNW9160jsW9AzB9Ncc7IxmeZL1IvzeLBcBHaELq6tZcdmFA8lMg9/3ah9ck+RTzBk8q3q0ZJptyjUQSa2zimvyXUoRkigFeTIL+e5HwXmcvUK6Hlysd0Y4S3S0cpRyGQCZOX753Anbqg7/m47cmQfpIFwa9LSOpcdv701KIx613rz4XdN8FlMhtNEEFBSVaepY0SCFNAU8f1VT3eKXmrk/xBjskh/Vi4iw2LiH1X74OwugM1jCHXCjOtBXUHn7z0zhGva0xFR9JITnT6drNeWJlKMG19+4BnL+GgaJOwafKgzgXMIvZyESNf4JVgveYSya8Yg6hxOOIHVxmGTm2F+SViEDcx9+8AA0BbWyV5IQhuBNbDk6olm+fhS5dU4NgMYA7NdpiFcGGYLDaBknD+fhST3P63vy2FmkYA0WkQzWy8ldpPsQUnNUYaWY/Lf02juc7ZUtkkNLNXN7xQvfT6x9RSsxgdtiMYBvN/U+Gu2aPXSML8qPrvcz1E+kx5SF2ava/DLhLjLxOngwCqMEbrLDnb48ezcJMAI7fHeIEG58LDkCOzOsabqeappo1W6cVV7tfpHOWxyC7Xv2dpt6KasWUk+JHyeSQXTFq3u6KaTQJI+YZY7VxnG3gl2EDrExgSUxGp4LhHEPagYd1+I7t/UY618ToA5Hrzfvz6ijEW32WSYjsJCRr6BjalKczMwbAdIxfGVCAD9E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(366004)(396003)(136003)(346002)(38100700002)(316002)(2616005)(186003)(6916009)(2906002)(66946007)(31696002)(66556008)(66476007)(41300700001)(8676002)(4326008)(36756003)(54906003)(86362001)(83380400001)(6486002)(31686004)(53546011)(6506007)(5660300002)(6512007)(478600001)(8936002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MlZWcHN3ektzMDhyT2hwQnBORXJLeUFwVWFzTFFHZWpDcGIzYzFKMWRKRjdR?=
 =?utf-8?B?WGtzY2JVLzhWKzBuYW5La1d2dnNkL1ZPeEtIRXlVMEJNNENvQ2o5ZCtGQmNS?=
 =?utf-8?B?NWpDSDUzaDlWS1hjTjRZZnRsNC9oNytSVC9BWVhESXVvVVRNcjgwWXFMNEU2?=
 =?utf-8?B?amp4bnNGcFpjbW5pTHJEL1B5MmVQeWlLSCsydWZoZkZBMkdPeEFRclNUVTNZ?=
 =?utf-8?B?ZG5QVVFnZHV2VWhOSWRYc29XbGhWQXg2dFFOOGZDS2VZaDlka2owOGZzN2t0?=
 =?utf-8?B?cmx3TURSaHBPV0FyUlZuQUl4VnJaTi9OQjVpM1VSczJsN0FMOGpDVmVJbXIx?=
 =?utf-8?B?OUtPNUtsekVRa1pxd1F1Z3MrSXhnSzNTaUpNaVF5SkdRbnhHRHBGcnZCT3gw?=
 =?utf-8?B?L20waE1WYlNCTy9rS3hpdlZBbkl6d2U5SDdJWE5LdmVObTNNTHBHekozTTdQ?=
 =?utf-8?B?UGQ5czQwamxoUDVqZU9Mell6N0dVc3VZVVd4VlhXRjE0S1UvQXpleVdwVXY2?=
 =?utf-8?B?SnZYcDFvdGQ1VEZYVTBvT3ZkTUpQcTRxTDErNlFQRnRKcThnYXVrOExhTDlr?=
 =?utf-8?B?ekVsbWtVd1JLZFE3WGxJZmtuM3pyZ1h2N0dhYllZWHIySkZKRUgwbGVKampa?=
 =?utf-8?B?ckFlNGE3L3Z0eDhLWnJQN0dmZEpSZHhZM3pVNTVYK2ZaWUlnSTRjdkg1d21H?=
 =?utf-8?B?WVRNNVhMaVpvcDg0a0FNdkZQOVlLUGtCejRtSkprQ0tJNjFWc3E1ejN4WUlG?=
 =?utf-8?B?NU1Pc2pjUmlNZHg5cHhXM2hpYWZNWTZYKzNaV1dpWXhSMjJFTjRySElCUDI5?=
 =?utf-8?B?eDRKMUU2TlpMQjVaTWo2OXVucmRYeDk0TkkvRGNZU0l2WEhEd3U1QTZ2M2o2?=
 =?utf-8?B?TVVuQy9nRmVtMDJkaW1OQWMya05KeE05SGswMXBidWpzZGQ4MHM2Vmp2MVhG?=
 =?utf-8?B?OC9pRldWZUh4QzF2ZHA1V3lrSkxoNFk0VUZHZVVuSVpocDZjc1VmeCtwSEkv?=
 =?utf-8?B?K2JPblg0Z05aRWVNWE1BM1dHMGEwTllNLzFVMTE4TGZHcEIvSURwbGZxS2ZW?=
 =?utf-8?B?VHBleEJlZFBjcnBTNUFFVVptMm1nN0ZWSUxpY0NOQnNzUkw4b1ZGTTJZTDM2?=
 =?utf-8?B?OHQ4Nmc3Qi9HR0trNm8reW1DTTlsSGp1Y2toTkpucnFQSmJrbGNpVVJQQTZO?=
 =?utf-8?B?bkpEV2N3T29QUHZQY2NHZFEwWlUzRllOUkc3M3hQVi9URDUyeVpTRUNDbXY5?=
 =?utf-8?B?bkdrMHdFVUdxSWtMTlRyMEZTUG1wcXR5aEdmcFlCWHVIdUxha3lGWjJuSjFK?=
 =?utf-8?B?TU5sSlpQbzkvRnNneUQzREQwaXRqT3NjaVd0aXdyMExTTFhxdXVZYlBISlpC?=
 =?utf-8?B?VEt6c2YzeFRncENlZlQyM291TStBVEVvNGFBNGhuTlpEQUR6UGVUcERTZXNu?=
 =?utf-8?B?TmlML1pDdWJZR1ViMzYrQU0zUkVraXFDYXpWYzVBZDhMRVk3bDlyWGd5UzZ4?=
 =?utf-8?B?QzZiK1d0ZS9mZUZ0T3ZTY2FudFZOOFFqU00vWXZDczZPVU9CSkE4Z29wczhW?=
 =?utf-8?B?ZitkWnVtVTJCNVBNelVXODVMaWdvM3hmamx6K1RXb2dQOVFLeENURFNuQzNy?=
 =?utf-8?B?aDAvc3BCMVdTWjEwdXhmZUxOUzJqUXh4N1FQR016OXRWd2NhNVpGRURIek42?=
 =?utf-8?B?S3A0dXA5YUcxM3hsMi90N0x4QzY1U2tJemJBUnpWaXhmQnFzN1FqTlY0TE1i?=
 =?utf-8?B?YlFvR3dIa2pQMHI0blJQdjJlREZMYS9rR1FGZUdyY0pnSUZZSmwrYk1JTktn?=
 =?utf-8?B?S1BHMWFKRElwclRmZ0VCVzNSU3VtSFRpOGxIMVVTRkxKTmxmN01zWFBPQmRp?=
 =?utf-8?B?TUVENVVYbFZqMWtuR1ZBaThCSmNFeTBrWHdycHBZT09wT2FrTEFmelc5R3I4?=
 =?utf-8?B?WEhSSThjS05SZnFaUzB2YUpJUEFkOVBWZlV0Z05tWGFQcDNkNVVWaFh6blZ3?=
 =?utf-8?B?Zy9jSjI5OXlXaDludytCbTJPL0RFYm1EOTM2alJ3QjJscnVtTTFXZlAzczVk?=
 =?utf-8?B?TXBpYjNlQmR6SzZITHAwd2s0WmVaM05kTk9aaXJYSjFlM3ZvOGdMMHhnVlAw?=
 =?utf-8?Q?4qT4nMNpaIpxr8P2nxgb1vrqb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae1a309f-2184-497a-2eef-08da866fcdba
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 07:59:57.8775
 (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: v5p5zM5WXtVzYUV3+V39mBXx/2X2dHV6vlnuZrHsGqeGySiTdKLUsmWX6i0qMqeMzHWOno9cjNg+SMzibUod2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3856

On 24.08.2022 23:04, Demi Marie Obenour wrote:
> The XEN_FW_EFI_MEM_INFO platform op has very surprising behavior: it
> only sets info->mem.size if the initial value was *larger* than the size
> of the memory region.

And intentionally so - the caller didn't ask for any bigger region,
after all.

>  This is not particularly useful and cost me most
> of a day of debugging.  It also has some integer overflow problems,
> though as the data comes from dom0 or the firmware (both of which are
> trusted) these are not security issues.

I'm afraid we're trusting the firmware in this regard elsewhere as
well. So if there was a need to change that, I guess it would need
changing everywhere, not just here. But we trust the E820 map as
well, when on non-EFI platforms, so I don't see why we would need
to change that. In any event such would want to be a separate
change imo.

> Fix both of these problems by unconditionally setting the memory region
> size

If you were to report a larger ending address, why would you not also
report a smaller starting address?

But before you go that route - I don't think we can change the API
now that it has been in use this way for many years. If a "give me
the full enclosing range" variant is wanted, it will need to be
fully separate.

Jan

> and by computing it in a way that is immune to integer overflow.
> The new code is slightly longer, but it is much easier to understand and
> use.


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 08:02:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 08:02:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393132.631885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7oX-0000wq-Qn; Thu, 25 Aug 2022 08:02:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393132.631885; Thu, 25 Aug 2022 08:02:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7oX-0000wj-Nl; Thu, 25 Aug 2022 08:02:09 +0000
Received: by outflank-mailman (input) for mailman id 393132;
 Thu, 25 Aug 2022 08:02:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XMKu=Y5=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oR7oV-0000wb-S0
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 08:02:07 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 363e3211-244c-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 10:02:06 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id sd33so16612562ejc.8
 for <xen-devel@lists.xenproject.org>; Thu, 25 Aug 2022 01:02:06 -0700 (PDT)
Received: from [192.168.1.10] (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.gmail.com with ESMTPSA id
 t8-20020a056402240800b0043cf2e0ce1csm4381580eda.48.2022.08.25.01.02.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Aug 2022 01:02:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 363e3211-244c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=17t4r+C7HgtqVECb30UP025RgnWcuV6rBOetB8h9X0M=;
        b=Id6x+4fYlPW/sgN+/0qbbJgK7LJ0jioa96QrFe0AGgka6dVvRPLVuvFTPTVQ5zNHg+
         iHNQ26etP0ieCWF4KfP/klCfag1kw2Aa9DEHnjsegzkihRxKPCVBaESu1w5VF8KSi1eK
         h7ff87J0g/721HfsmpBZJvcKYeCLLhu1dg5GLWgSKDshZiX8rOZitpIY7kivG74+x7Xd
         2JrZugf1eOAWPV2TEJOwsk66/88WQFL/d8mNIIvrimnf/RkdGqGvitOCZ02uhpK0V8w4
         tArq/pjNOdi9301r7dpZcOtHPSAX38iNAOWkiU5+wvTu6x6u8FTRZ3iu80IaJDEr10gh
         NkuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=17t4r+C7HgtqVECb30UP025RgnWcuV6rBOetB8h9X0M=;
        b=CqwX3u7Uzhm9u5sya0HKvsdElECBRS31trgIVPBEUtDPNTvqrvIke+NYu8z8NVEsxm
         LlZ026l6kDEhBn4lrgji3BBHCU5HZFUNIxkEvteSVorZGf3qKJMjGjqJr1ZXb8KQ9rn5
         VE0TNTJGlsmUJ/zAf9oPb53PH52tLSde5zpefwjrSYTs92ny/GKqA9mjUzX/Jiy/tc37
         tFaIlqP5waaYsaRwkgq8KR8yHW4BgyK4yMzEHadvII9i9wz0wXZoVW80oqtvfvLvKCvT
         8UpQZ3m6o2B6EjHAU+0UghNyB8d79bwK+kHA4ewVk/dFvtD4l4Cq7AFwnhZnjbf6K7VE
         3otA==
X-Gm-Message-State: ACgBeo02myRgg+D/73pY4hwicrtF35KDLvYDHav2bkN2+XmKhQ2hPA8e
	yDHFQitX3FOO/XE8Qq4EkiOHEgl1xRQ=
X-Google-Smtp-Source: AA6agR4U7qIjbcNYTV8VlD87TzK84xze9ZEbg7vggYJU8UIYcOo0La0eC/yFcPKdUTeWOrhm+vIzxQ==
X-Received: by 2002:a17:907:eaa:b0:73d:9d0a:702f with SMTP id ho42-20020a1709070eaa00b0073d9d0a702fmr1678806ejc.713.1661414526274;
        Thu, 25 Aug 2022 01:02:06 -0700 (PDT)
Message-ID: <852c68d0-bda1-e56e-85c0-500c498054a0@gmail.com>
Date: Thu, 25 Aug 2022 11:02:04 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-8-burzalodowa@gmail.com>
 <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
 <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com>
 <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 8/22/22 14:48, Jan Beulich wrote:
> On 22.08.2022 12:43, Xenia Ragiadakou wrote:
>> On 8/22/22 12:59, Jan Beulich wrote:
>>> On 19.08.2022 21:43, Xenia Ragiadakou wrote:
>>>> In macros dt_for_each_property_node(), dt_for_each_device_node() and
>>>> dt_for_each_child_node(), add parentheses around the macro parameters that
>>>> have the arrow operator applied, to prevent against unintended expansions.
>>>
>>> Why is this relevant only when -> is used? For comparisons and the rhs of
>>> assignments it's as relevant, ad even for the lhs of assignments I doubt
>>> it can be generally omitted.
>>
>> Yes, I agree with you but some older patches that I sent that were
>> adding parentheses around the lhs of the assignments were not accepted
>> and I thought that the rhs of the assignments as well these comparisons
>> fall to the same category.
>>
>> Personally, I would expect to see parentheses, also, around the macro
>> parameters that are used as the lhs or the rhs of assignments, the
>> operands of comparison or the arguments of a function.
>> Not only because they can prevent against unintentional bugs but because
>> the parentheses help me to identify more easily the macro parameters
>> when reading a macro definition. I totally understand that for other
>> people parentheses may reduce readability.
> 
> Afair Julien's comments were very specific to the lhs of assignments.
> So at the very least everything else ought to be parenthesized imo.
> 

So, IIUC, the only deviations from the MISRA C 2012 Rule 20.7 will be 
for macro parameters used as the lhs of assignments and function arguments?

This feels a bit of a hack to parenthesize the macro parameters that are 
used as the rhs of an assignment but not those used as the lhs.
 From previous discussions on the topic, I understood that the 
parentheses are considered needed only when they eliminate operator 
precedence problems, while for the wrong parameter format bugs we can 
rely on the reviewers.

I think we need to decide if the rule will be applied as is and if not 
which will be the deviations along with their justification and add it 
to the document.

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 08:03:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 08:03:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393138.631896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7px-0001Z1-5y; Thu, 25 Aug 2022 08:03:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393138.631896; Thu, 25 Aug 2022 08:03:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7px-0001Yu-1y; Thu, 25 Aug 2022 08:03:37 +0000
Received: by outflank-mailman (input) for mailman id 393138;
 Thu, 25 Aug 2022 08:03:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR7pw-0001Ym-JZ
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 08:03:36 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60067.outbound.protection.outlook.com [40.107.6.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b3b2091-244c-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 10:03:35 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR04MB5078.eurprd04.prod.outlook.com (2603:10a6:20b:5::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 08:03:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 08:03:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b3b2091-244c-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hySA7tHzDvtQT+t6f7Osu+kpFenRQOyjFZjrVHvX6Hg71nBHQgFy1UrS1S1hbFPBkXWtmlDcsOCMuS9qdiBf77jADHbHnkzZfycLEWTDN0aAEATNLjB5pzUOR4oBxQ/c6GakclIvviCB3ktS2KexizjPdOmnSq3BkVNXD0iXp35QTgQj7BzXOwMLQ671el+rIQJCKkQN/0Mpox5/p49FDFW6nRysrJfQzbcCxuigsFcuNr6Acjmq9MwDmoU9eEaJGtBfmV4Z3W+BFDgL/qur0zSmWfWOeQQPn8Qt+GpJQasE0CBzP1gtUDUWd80yVAuDAFwL7Av8OedFWfrLlTlHAg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=plS9lmhZI5vtsso6Q/XXBn9LZGERv3DFL8yWAe4rZYs=;
 b=dsQ9IBbQFYErKQdArxEXjB7PjNSzC65214kGAjtoeyXzmL+a37cRRc9pb9o8WalR57hS738ftbg2UGx2QOh2z/Vv02fGjfm6TfJ3sCU5KX5a0CcaJBm6dC7C1e2y44hUxCZW1OFlebKEFDimSUccRAO5+oAgQgnXZsFvjMbzSRoRPJXuVEoJkkQpLl4ysOUrXZGg3xppf6Rsurn8DdpivqwGNlSQWtQpfKiLEXk0wFhYot6VVf6HAFKn/CQQjWM/c2qxfDnIN2tsBA3I2I+bImbcXLYKcUfWN0eQllHXHpvawnNcP2YVz1mtbwq2V4GiRS1t3iZBE/EC+9EvCy5Oag==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=plS9lmhZI5vtsso6Q/XXBn9LZGERv3DFL8yWAe4rZYs=;
 b=1x3ROrs3LZ+Sk+H1asOiUpJJbpgbWL+IzaWqCLLfbpjrFH2agxulC8mSRDEvqVsE5l/SaUqWBhaWe4lcbGHZKYh8Md4eYdzesBHmmAWCIVh4Qj+ZUq1AO4xQXvJj6xZH++ahAQp54hYe7qoF4Vh/Zsdofamsdk/jy/NohW29ovsjn66uRitfHq2XUlpIS41OTpXSl4s3bHoQqTUn1RkAdRqS3kTke0NEl1c0Uj58nxltAa3y3vZW3IkgEc3XLcX6WSZkdNnINxUBhMAKI1pmTgBnqHF69OE8ol1wXbSGScel17mhbjJEI0uMhjQ/m6H43abnFQFZwbk8R1DsWPCCrw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <22690eb0-9ed0-df88-b510-d3024ccee501@suse.com>
Date: Thu, 25 Aug 2022 10:03:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 3/4] x86/hvmloader: Don't override stddef.h
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220824105915.32127-1-andrew.cooper3@citrix.com>
 <20220824105915.32127-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220824105915.32127-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0090.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a100cd7c-455c-41c0-7bdb-08da86704dde
X-MS-TrafficTypeDiagnostic: AM6PR04MB5078:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oLSbb/FdEx2Z2/pgO1hOkQLXNMRZClxK1gDQ7heubGgZ9b1OPIvLW0CfZcyz2zfgvNYXlKI7wvEdnFRftCpZM7ZavXiayJb2tAnrmx7UaIkJ50hf/KfcQY8E8KEp2PeTu8Cy2cH5FzPId0F4Lakb9xVKVquwzdB4hxKCG3bAWlSim8KhUj73y0DMZjHNi/B0rD17QBPvhH+1onN6NTtcc8t7mYBEkLzD/Gvln7lnOg0tn8QKbPOXngmbsVjGhK8tTztSKgdT8N+JCmJNRP5l17Y+375TP3Q8t+Rv/rYdrZSxpaJvY2bQvBslQR0OEbU1E01ChsVUCC0SrnKblO1etPnNf/nlVK1BfHFjPG24DaG+bfjqety58PVqXHxfs/3Qh+520avYQsqTkhs8ubVFt7PUt+STm9QtePH4LSnfam+hylThX5al4RX3YsU5xmo0F8vt31ZzFu9aRnK2MhYpmFJqXlFKXisKezELLGhCeu2v27663rmdmDzYYBfjIFcW0nylSZ1u4KtWs2eokldZprRCjhql/KNJS7WCnNhphzLgFCp3YDOSUqOgKCKHx43ilQ8wNpT+913Bt5awjiL1rKEK1KGdQZpY0XCzCbNjpxAiZIc84m/Lxo9W4n3GSNfyKkzhFAxFRRykBNE3G1SYiLbpRXXeCjhbaee41TeNjntQD5AMaqjlfipkZTHO8fpa3V4BMa6KseQiYY6lsPHtk4Bw1ELfFxeZXitMQCDwjPPYEEdsZW3dwqsQkrufvHF95i9EMnX0xWM+PKKAxh/mXFX6DaD7jrdimA6SJw69Gq4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(136003)(346002)(366004)(396003)(38100700002)(54906003)(66556008)(66476007)(8676002)(36756003)(478600001)(6916009)(66946007)(6486002)(4326008)(31686004)(316002)(8936002)(5660300002)(2616005)(4744005)(41300700001)(31696002)(86362001)(186003)(26005)(6512007)(53546011)(6506007)(2906002)(6666004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnM3d1MrRnJ3M0lDQUxkSXdLNWw3U3NnQlU3V28zeklGWGk2MlhyL2NjWThW?=
 =?utf-8?B?aDA4cXhZeDJlTElxMUNSTHNwbXpSb2IwNWRSMllaTzZFbk83VXRxcDA2dUVB?=
 =?utf-8?B?WTR4c1BHMWlsQVVHcWhYOVFOL1lIZGpBQ3kvVTUwY0ozOVFNaklVNm1neStx?=
 =?utf-8?B?bWkzajhBQ3pHNmlCTG9DUTZsR0VVajVFSWkzWm10M3BZTGM5cWRVOTFaU0Mw?=
 =?utf-8?B?QWx1RFF6QkpxM0JGYVNIWTQydk9uU2oxdzhZVlp5dnUyMmdvU0lKZURmNUsr?=
 =?utf-8?B?b2dab2RoaHlFM0RRTGo5cnlIZkpFS0hzL0ZjcUNxbDRDdTNZVTBWRlNROVlx?=
 =?utf-8?B?VUREMjJZRm1nOG1VMENlSytxWWJacUFTdndmQjZJbVkwVzFuVUxRR1BWSXVn?=
 =?utf-8?B?SkhwOUowUEJFNDlZN1FESjNkRXFudkZQdGhDY2NDVWFRMEdkbmloVEJ4MGZw?=
 =?utf-8?B?UGVpSEZzNHNaVlpkc29kRGR3VXVMczVlbTRlNWZwZWVyd21reHExTnN3VmhR?=
 =?utf-8?B?WUFmaXp6Vm5vKzQrdWFoaG54dGZxb0RQUERQVElkREtTVS9Ba2Vpc2EvaEcw?=
 =?utf-8?B?Z3R5eWZ4QjBrK0ZwU1JRMjJGczNoYTVMVE0xZm4zMElnVVlTR2kxQ3dYb3ov?=
 =?utf-8?B?bVVxZE01aFZNbmdSTkE4akNIWnZNaEdkY00wWE1IU1BtZ2dicDJQUDhUZ1du?=
 =?utf-8?B?UGtBc0xHMDdMS3h4VG84eGk3dXZqenNjcGl0T1NwSlJDdnVVK05qRVhvUCtn?=
 =?utf-8?B?WkxBS0V5b2hiQlNJVjEyWnVBNFVGWWQ4bjVHcXAwNTY1SWw0eTkwQ1MvUzZC?=
 =?utf-8?B?aTZYc1VmdXRDK0NZdkxiakczdlpoZDRxZlozMEdmVWROcFVFU1FiWkVkYVl1?=
 =?utf-8?B?cEpjS25BWkYzV3VReHM1alFUWkJiSXF4cjhNUmtWZjhrNGhWZFBzQnIreW9o?=
 =?utf-8?B?eVhKZmovWFZ5QkphdHhES0VPcDNrQytNRkVuWWg0MHQ2cnZVMS81Wnc2U1B3?=
 =?utf-8?B?VkV0UDlaMWlVSGNOa3JCbitNalRLYk05UzNoMkJUTUZ5Ung1YnVIZ1A5OGVR?=
 =?utf-8?B?azhmT25DQ3h6T01mY1ZvTWpETDdsRGVzRUY3ekg1VXZCTTNrdzBaNVlWV01S?=
 =?utf-8?B?bUU0MDloYldYWFJjem9TekRDcHRSTjA5TFdTNTlESHVOZWFlQk01aTNKdXV4?=
 =?utf-8?B?bUZ3VVJsNHAvOTRLQmd0OVk0UU9NTWVKb25HZnFMcXlLVHpmRHFOMUhJMTFH?=
 =?utf-8?B?a3ZYc1A5Sng4UmQzRXNac3JTYkpmZ21NQ3FERTdIRjZyQjYraFcvcGxJNkJ1?=
 =?utf-8?B?NU1YTWt4ZHBaKzhrakQ0QUJGMGVZZXM1d0ZocENaelVHTEgvV1hjNE95dkVT?=
 =?utf-8?B?Tit0bXptaGVZN3NhMkN0SWlvaEtBa2tqRmZ3R0kwRkFBU2lDV2dKSWFuSHpz?=
 =?utf-8?B?ZUlrdFFnOFdSaXRFTjJKd1hZOXJ1MU1NTUNFWS9kbURibEo1M3o0cjA2YTFr?=
 =?utf-8?B?UXpGTXdlcm53M3Z3ODdDQ1lHREhDWVFPam43QUQzMW05SHdFdy9UN2dGZHFY?=
 =?utf-8?B?QzZQVDhhYk9KekVod29WeElaSG9QZGJEYUR1Vit3akVYMkQ2NmpZQzlXa0tH?=
 =?utf-8?B?N2VlZGVOcjl4K0JMdVp0ZkFocTVzeFlBTE53bGVrc3NGOUJJQmRDRGZkejFa?=
 =?utf-8?B?ZURRQ0VJZWFkUjdaSjZoV3VCMTdjNHB1MDIvL3VZUW94SWFxMnp5QU1QY01D?=
 =?utf-8?B?QTBJdDJRajFWN3d0S1ZON0syQUtkU1VMbHl2Ym9zc3BLNUlHZkRoSHpoSWYw?=
 =?utf-8?B?QUEzVlpPS0U0S0ZIS1hKYndFTUVTVm5BT2tna0lEMWo2OCt2ekszZjdSQjY5?=
 =?utf-8?B?V3k1N2JnNVZCT2VXQnptMlh6ZVVNb0d2aWYyK1Nwb0NLQ2RzT2xNVnpWWUZF?=
 =?utf-8?B?dEdXSHJZa3hUdnFuUWJZWUFkVEFuV1dteCtXTVFaZnlvTkhEKy9ENHV4VGhW?=
 =?utf-8?B?dDlRTm51SXhXSWhkSTJsQ3AreU1LNVR3dDd1WFBPWFpoUzBaajduVDdudXo5?=
 =?utf-8?B?dEZuY3FlcEhFWnphdlZRU2JrOURwUmFtUmhpOGduMVhCa0VibDBQNWx3ZkEr?=
 =?utf-8?Q?PvMCFBpwCNLHp18c8QBD/kKzn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a100cd7c-455c-41c0-7bdb-08da86704dde
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 08:03:32.8950
 (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: O10ic5QpUmad3iNeNCd8eOisd2wUziiQG9uGKkXb6/HeZO4B2UcT4sF+d+/hlXZpBwwIah3p1qEOGaEaJq97ZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5078

On 24.08.2022 12:59, Andrew Cooper wrote:
> Since c/s 73b13705af7c ("firmware: provide a stand alone set of headers"),
> we've had an implementation of offsetof() which isn't undefined behaviour.
> Actually use it.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 08:07:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 08:07:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393144.631906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7u2-0002C8-MM; Thu, 25 Aug 2022 08:07:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393144.631906; Thu, 25 Aug 2022 08:07:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR7u2-0002C1-JQ; Thu, 25 Aug 2022 08:07:50 +0000
Received: by outflank-mailman (input) for mailman id 393144;
 Thu, 25 Aug 2022 08:07:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oR7u1-0002Bv-9X
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 08:07:49 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01b9db74-244d-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 10:07:48 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B0133337D2;
 Thu, 25 Aug 2022 08:07:47 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6AA3413A8E;
 Thu, 25 Aug 2022 08:07:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GJOiF9MtB2McJAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 08:07:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01b9db74-244d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661414867; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=VSnJsW614eoN98hwUcGZAIUy0ZpD071hooa/76ULZt8=;
	b=r8i1qdeeaSAmHmUcueXLXw+qALbH0UYbew0hSHlqMd0V8yfjVydX4FjPnh32JCI5pZuXpB
	S4CYREAPO3G1MP1MFKxX5fAy8k6b6GAQ/am3JEg2Rl+K1aAJOn+vr+9KBOCqdcmudZ4ad+
	05VQBeWa/9h5YuDjEJGEsK0EHZUbcVg=
Message-ID: <7d7af96c-5373-b23c-3d89-faf9c9d4ecb6@suse.com>
Date: Thu, 25 Aug 2022 10:07:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220824142634.20966-1-jgross@suse.com>
 <396156e8-304e-ed68-8596-ee544dce0373@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <396156e8-304e-ed68-8596-ee544dce0373@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------b6b0qdBxOtbEO4tXkfZJViOt"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------b6b0qdBxOtbEO4tXkfZJViOt
Content-Type: multipart/mixed; boundary="------------zWOJ3PCd3WjMk9LP2KcU87s9";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <7d7af96c-5373-b23c-3d89-faf9c9d4ecb6@suse.com>
Subject: Re: [PATCH] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
References: <20220824142634.20966-1-jgross@suse.com>
 <396156e8-304e-ed68-8596-ee544dce0373@suse.com>
In-Reply-To: <396156e8-304e-ed68-8596-ee544dce0373@suse.com>

--------------zWOJ3PCd3WjMk9LP2KcU87s9
Content-Type: multipart/mixed; boundary="------------MdFpeP08AYCMR9QQClmKfH70"

--------------MdFpeP08AYCMR9QQClmKfH70
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDguMjIgMDk6MzgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNC4wOC4yMDIy
IDE2OjI2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gVGhlIGVycm9yIGV4aXQgb2YgcHJp
dmNtZF9pb2N0bF9kbV9vcCgpIGlzIGNhbGxpbmcgdW5sb2NrX3BhZ2VzKCkNCj4+IHBvdGVu
dGlhbGx5IHdpdGggcGFnZXMgYmVpbmcgTlVMTCwgbGVhZGluZyB0byBhIE5VTEwgZGVyZWZl
cmVuY2UuDQo+Pg0KPj4gRml4IHRoYXQgYnkgY2FsbGluZyB1bmxvY2tfcGFnZXMgb25seSBp
ZiBsb2NrX3BhZ2VzKCkgd2FzIGF0IGxlYXN0DQo+PiBwYXJ0aWFsbHkgc3VjY2Vzc2Z1bC4N
Cj4+DQo+PiBDYzogPHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmc+DQo+PiBGaXhlczogYWI1MjBi
ZThjZDVkICgieGVuL3ByaXZjbWQ6IEFkZCBJT0NUTF9QUklWQ01EX0RNX09QIikNCj4+IFJl
cG9ydGVkLWJ5OiBSdXN0YW0gU3Via2hhbmt1bG92IDxzdWJraGFua3Vsb3ZAaXNwcmFzLnJ1
Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0K
PiANCj4gUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4g
YWxiZWl0IEkgd29uZGVyIHdoZXRoZXIgeW91IGRpZCBjb25zaWRlciB0aGUgdmFyaWFudCBh
Y3R1YWxseQ0KPiByZWR1Y2luZyBjb2RlIHNpemUgKGFuZCBhdm9pZGluZyB0aGUgbmVlZCBm
b3IgeWV0IGFub3RoZXIgbGFiZWwpLA0KPiAuLi4NCj4gDQo+PiAtLS0gYS9kcml2ZXJzL3hl
bi9wcml2Y21kLmMNCj4+ICsrKyBiL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPj4gQEAgLTY3
OSw3ICs2NzksNyBAQCBzdGF0aWMgbG9uZyBwcml2Y21kX2lvY3RsX2RtX29wKHN0cnVjdCBm
aWxlICpmaWxlLCB2b2lkIF9fdXNlciAqdWRhdGEpDQo+PiAgIAlyYyA9IGxvY2tfcGFnZXMo
a2J1ZnMsIGtkYXRhLm51bSwgcGFnZXMsIG5yX3BhZ2VzLCAmcGlubmVkKTsNCj4+ICAgCWlm
IChyYyA8IDApIHsNCj4+ICAgCQlucl9wYWdlcyA9IHBpbm5lZDsNCj4gDQo+IC4uLiBkcm9w
cGluZyB0aGlzIGxpbmUgYW5kIC4uLg0KPiANCj4+IC0JCWdvdG8gb3V0Ow0KPj4gKwkJZ290
byB1bmxvY2s7DQo+PiAgIAl9DQo+PiAgIA0KPj4gICAJZm9yIChpID0gMDsgaSA8IGtkYXRh
Lm51bTsgaSsrKSB7DQo+PiBAQCAtNjkxLDggKzY5MSw5IEBAIHN0YXRpYyBsb25nIHByaXZj
bWRfaW9jdGxfZG1fb3Aoc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgX191c2VyICp1ZGF0YSkN
Cj4+ICAgCXJjID0gSFlQRVJWSVNPUl9kbV9vcChrZGF0YS5kb20sIGtkYXRhLm51bSwgeGJ1
ZnMpOw0KPj4gICAJeGVuX3ByZWVtcHRpYmxlX2hjYWxsX2VuZCgpOw0KPj4gICANCj4+IC1v
dXQ6DQo+PiArIHVubG9jazoNCj4+ICAgCXVubG9ja19wYWdlcyhwYWdlcywgbnJfcGFnZXMp
Ow0KPiANCj4gLi4uIHBhc3NpbmcgInBpbm5lZCIgaGVyZS4NCg0KTG9va2luZyBpbnRvIHRo
aXMgSSBmb3VuZCBhbm90aGVyIHByb2JsZW06IE5PVCB1c2luZyBwaW5uZWQgaXMgd3Jvbmcs
IGFzDQpsb2NrX3BhZ2VzKCkgZG9lc24ndCBndWFyYW50ZWUgdGhhdCBhbGwgcGFnZXMgd2Vy
ZSByZWFsbHkgbG9ja2VkLiBJIHRoaW5rDQpsb2NrX3BhZ2VzKCkgc2hvdWxkIHJldHVybiBh
biBlcnJvciwgaW4gY2FzZSBwaW5fdXNlcl9wYWdlc19mYXN0KCkgZGlkbid0DQpsb2NrIGFz
IG1hbnkgcGFnZXMgZXMgZXhwZWN0ZWQuDQoNCg0KSnVlcmdlbg0K
--------------MdFpeP08AYCMR9QQClmKfH70
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------MdFpeP08AYCMR9QQClmKfH70--

--------------zWOJ3PCd3WjMk9LP2KcU87s9--

--------------b6b0qdBxOtbEO4tXkfZJViOt
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHLdIFAwAAAAAACgkQsN6d1ii/Ey8F
vQf/begmdo9vfeilma7NyHZ1wW3LxiRrHtCaaxdCE4ertLAiYkgr4vogWsa0S6zgwKCQjGT/Hruv
Iu74RiOrlXh9qHVGSbpiVZYfh23xqL4lk9uV4ytPV7s8b9im0a6R0pahV5jrvQKVRpsSQmjaiX6Q
+rPgoVMp97W/m6f4EnT4/Tk+PXH6l2i75yZmzVzO/x45awG7IwNC0dWYAMFZ4J5XaIkWMEDDS4Gz
T0QBj5uD8l1//44SnuKvw1u/rM3VRHH0/t7uW7A5iGX0QvWAG935SgTexijlg8JjHy3nEyLg2Foc
6RpYii6bSHAYO4oB0pT3Cy2erShbQ431UnML9MY6zQ==
=Px2J
-----END PGP SIGNATURE-----

--------------b6b0qdBxOtbEO4tXkfZJViOt--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 08:14:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 08:14:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393151.631918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR80f-0003iD-Ge; Thu, 25 Aug 2022 08:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393151.631918; Thu, 25 Aug 2022 08:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR80f-0003i6-Dn; Thu, 25 Aug 2022 08:14:41 +0000
Received: by outflank-mailman (input) for mailman id 393151;
 Thu, 25 Aug 2022 08:14:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR80d-0003i0-Ne
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 08:14:39 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20089.outbound.protection.outlook.com [40.107.2.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6449419-244d-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 10:14:38 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB6107.eurprd04.prod.outlook.com (2603:10a6:10:cf::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 08:14:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 08:14:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6449419-244d-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lghoL2N8hnMOkcRQ5R54XsMiX+aaqXOtheDkhUBAgACDn6cuwwWMTLxgxMK84Zqi+ur4uqPqd2e++bi8oLOVeIgtVFWlWn5CFbUBYAGOSk/bvLHvXZIlzhqZFQU3ro7P3p31eyGPc/SLIkO69L2HbahPvdGtomKqxGnt0ei/3rv4sfR8Tej4G1vT5W85dqWSve3QldvEdSdhoSaFGGG4jKoqS9t5R+4OWd8bjanwJXrgYcFc4RFuI06UyFJ6sTRFzbLGqREwTaFkjSJ5vK6gzkIK+R0jpdKH+HG7y8kRtwpKZwMKlEL5VcwufVbf6oM8lWP7RUHdE/8coanK3ZmJTA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2laNYOefkGXFCHtfdxjEd+AXI4VePAMxNeB9REsqUno=;
 b=KZrskn3FNr9+ZK/O0bLO0+SIXVXF0nzB+FA+QBLIE3/WGOKvm4jXgra/P7o9ONHjKDq42rypEv5GVsD+SlsseBU+pnhmz9lWfqdwL978eGgOPmi+Tl9afsFTcQ71ltIUAndWXM99rziy+K2pp3hB+qKoO5Hoyr/z/bulyCoct+qjiW8SWGxl0OtlIkQ5KX5E2rnnkB4YMuiJL/XUl+PfuAVwfJoowVH7ud8zgj2im2tC83xph6ZpTdcNem0Be6ikv06+thXicdwOhf9Kz3NGYOVSsRolfZYVoqI3GQzGC63KCU8tsRYzIDBUxvQ0QL+BFMq44AB6s2IExVDWlQFakg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2laNYOefkGXFCHtfdxjEd+AXI4VePAMxNeB9REsqUno=;
 b=ssXdRBBw32XDrN1/bWlA+G1R88Lm3fYqiEb0BybtX2DZlp1NZzzt4waOaKqwXhOk9PX0FurX5rXyd+CYiTMfUzsPbAICRmDiF3PUE7C+QAeQySNXoLvO1Ol1D3+uopfxI688rEdpt49TM/Aojh9zfubMVuhhXQlBJbvtorqk+Iut+OW3UJpZJp8BTgBkXEsdVfW758kXedJcQKa4eCSkmsV3PqtSRII0vKb7LCFM+cSn3pyvJO0VHcizUzg8k2CsjTZBH3kAcv04GRMnMGogTxJdHUPFWlr4EscaHJyhi+zRsOU7ejyLYwxQ3d/+yEfSi0RatoWp1rdiTd4Y0n7NMQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <481a93ea-fddc-2a76-0833-2d6f07495313@suse.com>
Date: Thu, 25 Aug 2022 10:14:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 4/4] x86/hvmloader: Move various helpers to being static
 inlines
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220824105915.32127-1-andrew.cooper3@citrix.com>
 <20220824105915.32127-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220824105915.32127-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0152.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 63781705-d85d-4035-e430-08da8671d8c7
X-MS-TrafficTypeDiagnostic: DBBPR04MB6107:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nUki57TAbQwtOxA3FmhT4FXEIh9zfyPs+tAfSM8sVqOQX9DHEibeCLM3QQiGEEiPbz1b3EE8J857+d0BO3A0M6AyfVl/+dBqhqHJYrqCgCSDb1TNsKuGLYR9sZh87alvFiLfOnJGM3D9ucazDO6VeabNQGT2wSUwAFRXjaK4hm+49B4eecg8zia1Gx87IKRSCq12mbndf4/786/eoRmzJ7V+RgqE8gjD2eR4fgjPetP4yiRmBSeRVkQeJUxhZR4tKha2m0wUjXpXYNKdxNTnabfRiDOzZomk033aloUb02RDvyNV524QMCcG213sdqsdXQL/N1RnBk6GlaT5yW5hrhDdVYwYxagT+ZgKL20yo9P/Jv5oi1vo4ad0gideNpDhR0p6qX1V/WHHsQ8/cm5CLG+PbtXfp+lILdZQ788/X1lXgG/6sTGRzdNWKrqCaO8CCM0D88dJpUcEqIwoD5g94L6YyEIhu/Dy8YxOTfBBsSfrjRw1oQeDRWaPSE7AMK1Oq/e+9WbDzAVLTvx158VQsTuskUSF8QYLIO/y5zzJM5hdHJ92gaXh/YXBsTrp5kYrnK6PhEYUWfLaNvvfIlP1Ifpczm70E9xZV3nJWoH52YQ3eVHyR1oFKowZopVr89Y2jwBzZSpQ7a+PsQgY+gvUf2/VYVunKr+2q1bpilhmPMbp5QbPh+52QPKOlO/bH3qjln1FQ3Cm2JWdOQ3wfNUv6wnDw+OHsn4s2OEQVMscblVf6pNOJNLHmzaVRdzFF3Hy7Bjf0VJ54hozmUeGMCdWeBRaB5gLMJm9ub87O0ju0ks=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(136003)(376002)(346002)(366004)(2616005)(38100700002)(186003)(4326008)(8936002)(83380400001)(66476007)(66556008)(5660300002)(66946007)(8676002)(41300700001)(2906002)(6506007)(53546011)(26005)(6916009)(6512007)(54906003)(316002)(6486002)(478600001)(36756003)(31696002)(31686004)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MC9tRk83UTVMMDJvWTlWSVJmQmVCVUFya1YycHVPRDhHSzRlZkxHOE5mNllT?=
 =?utf-8?B?SSsvSzd2YVFIWmtMUHliNWptaUpyQTBpZjY0ME55bk1CcDVRZ2dPS29HN2ZW?=
 =?utf-8?B?RzNVYnFiYXlSYjlGZmF4U2w0SU16TE1XWUF5RGJtV3lZaTVGUXRvQ1FOMFZn?=
 =?utf-8?B?aUR3Y3BwV3V5NldlTVdDUG1TcWpCbTV5NG04R1ZIRi9SRXZiemZscnp1NGR2?=
 =?utf-8?B?ZThNTXhnS0FzYzVYeW9jTDlmU1dMb0k5Mk9tZVdVaU1kN09XNmJCSGpYcUdi?=
 =?utf-8?B?MUF2Kzg5c3FuWlNJU05hQ2NKYnBEVmlqMEEzdFBKOVZIK3NOaDVZa0ZTSWxt?=
 =?utf-8?B?YTRBY25jV3ZmZkFEZ1B4am9tUGtrVXlIUXZCblJjQ0o2ZktoMks1eUpkQUw1?=
 =?utf-8?B?VXlwYjJqaER4eWRXNzBCRHNoQUxUMGxCODN2QXBMTHlSdlV0WTBxUUJYTUFQ?=
 =?utf-8?B?bGZRalhUL0h0SzIxMnpWNlVrczl6cTRQZzJ6d0htb3BBR2JsUHczSjhMS2F5?=
 =?utf-8?B?MXljaEdTQnhmdEZtRGhJRmo5d0JOQkoxMWZHeEF5VjZ4c2RneEsrWXFjdlNS?=
 =?utf-8?B?WExISDJuQ0ZDTXE3cVgybGd3UlVGRHBBNkFScXZJMGpPT1JUd2s2Vy9pSkRi?=
 =?utf-8?B?VnVOSGdsTFJrZkhhWXNLMU5abUp4WC9aRnhOdHlHRGpCYjAxOUdKSDFJZlYw?=
 =?utf-8?B?YkYzc0hYeStIcDh0aXBkSTYxdy9pRnpVR2RVanc0a0JwODdTcVRqNEVGYUR6?=
 =?utf-8?B?dUdrbG9hQnM0dGNaZUxzSVd4aHdNSVdLYnRmTjBvZkN0YVdVemM3SzdwSEtF?=
 =?utf-8?B?Mkw2eUFCbzNveTJ6WGt1TjRmbjRqUldJaFM2YVkrVFQyVjNQOGxvaXgxUzVR?=
 =?utf-8?B?eE9BRzh5SWx2ZFJ3eWVWQkN2MHpqYUFmWGtuQlczT0RTT0lnOFAveTZJZ1dq?=
 =?utf-8?B?NW9zQU8zbktIczZqRVoxWnFKOUVwOHNIY2ZqMHVXRk9UVWFETXcvOXc4RjJa?=
 =?utf-8?B?SjNhSFhoYkpQOEx1Zi84TUU1bnJtZGx6a1hnelVxUi9hSGxISC9VQWxvRVlZ?=
 =?utf-8?B?VTJHalIrRWxuc3FwcmFMYmNwTUZ3ZGtsYjZFTzYyUXE0Yk1WYzFPdmJkM2Ni?=
 =?utf-8?B?ZlNvV3BvT25sV3k1aTVrUSszdHFOUFo3biswcXNxNFAybzJsY216NmdGaVo3?=
 =?utf-8?B?bkNvNlFNKzA1U1BPdnJENVV5dHZhZDQ1c2VBNTdpR2g2WDZWOGlnOGdjTVBx?=
 =?utf-8?B?ZWVuNVEyUFQrdlJTSlZ1cmlPL1hJODk0c1EvZVFyWUl3OWZydFBLd3dsN1lw?=
 =?utf-8?B?UHFGbC96US93a3l5S1RXb3hOTFlPcytjeGpVbEtiZHFoY0lQQUptTWluc2Fi?=
 =?utf-8?B?R0pnKzJNVDB3NkhnT3hrNXhscUdCK2c1M214QU1KaVBmWGhCMWYrTUZsT0px?=
 =?utf-8?B?S1JyM1Uza3M3S1Z0UnlwbTFtUWU3V09EM2FCVGRMdURjTDV1MURNblZSVVdE?=
 =?utf-8?B?bngyT2l1WUtEdzdhcVZqNHN6djhYU1pURUhTcUNhNm14M3Q0Ykk1d01FYlBQ?=
 =?utf-8?B?SkliRnJROTlkQk1tZmZHL3VyekdrdEo3S2RxSng1QWt6OXVzWFVVMWtObHJh?=
 =?utf-8?B?bHF1N3RwSktCYmM2RU00M0VzaTFWVFo5ZjVOM1dVaVRsazhMZlpmSnZxWDBI?=
 =?utf-8?B?b0JnVk9jNlRzRDVnOCtMcHBnaVhKZTZwdVQ1VmxaL1hVam9BY0xPb0taSldY?=
 =?utf-8?B?a3lVV0FOMXlObGp0UlZTbTJZdnBXeXFXd0YzUWk5SjVMV0ZoTXdkTWlBeUo0?=
 =?utf-8?B?QysrZGFPS2hjd29ySUpta0F0bWEreDc3UGZhUDBNd1VoeFM4YWpUNnBVZUUv?=
 =?utf-8?B?WlV3blBBMk44NTF2aGlJNWZ3VUc1UGZDV3h6SFlzbnR5ZTJzQWlLbzR2cHhC?=
 =?utf-8?B?QmcwKzJldWVYVlJ3QzZibHNtbkFMTG4yMVhGK3ZNbTlsWTdVTnEyY1ZBTUJw?=
 =?utf-8?B?QXBmdFRSVDl5RnY2MkI0QUZwRVVFR0h0d0c0V2MzM2w1eHk2enVuazRsa3FD?=
 =?utf-8?B?QUVjSjBjaENTZzdwTGhJUWpjNnVXVFNtTm9HSEsxQzAvTlBHd1Z1aXR1UWcw?=
 =?utf-8?Q?pMAmfquVdwN1EMJeZtXw5fQ1S?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63781705-d85d-4035-e430-08da8671d8c7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 08:14:35.4001
 (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: LOg9kVSBYCFz1Z/c8TaW0m8mwLRhbi91IAIXwrPNmoGky7Tm4g2cwWKi8tT02CmqZULmyW1SUj8EpNqJSATaAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB6107

On 24.08.2022 12:59, Andrew Cooper wrote:
> The IO port, MSR, IO-APIC and LAPIC accessors compile typically to single or
> pairs of instructions, which is less overhead than even the stack manipulation
> to call the helpers.
> 
> Move the implementations from util.c to being static inlines in util.h
> 
> In addition, turn ioapic_base_address into a constant as it is never modified
> from 0xfec00000 (substantially shrinks the IO-APIC logic), and make use of the
> "A" constraint for WRMSR/RDMSR like we already do for RDSTC.

Nit: RDTSC

> Bloat-o-meter reports a net:
>   add/remove: 0/13 grow/shrink: 1/19 up/down: 6/-743 (-737)
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit with several further nits/suggestions:

> --- a/tools/firmware/hvmloader/util.h
> +++ b/tools/firmware/hvmloader/util.h
> @@ -7,6 +7,7 @@
>  #include <stdbool.h>
>  #include <xen/xen.h>
>  #include <xen/hvm/hvm_info_table.h>
> +#include "config.h"
>  #include "e820.h"
>  
>  /* Request un-prefixed values from errno.h. */
> @@ -61,28 +62,91 @@ static inline int test_and_clear_bit(int nr, volatile void *addr)
>  }
>  
>  /* MSR access */
> -void wrmsr(uint32_t idx, uint64_t v);
> -uint64_t rdmsr(uint32_t idx);
> +static inline void wrmsr(uint32_t idx, uint64_t v)
> +{
> +    asm volatile ( "wrmsr" :: "c" (idx), "A" (v) : "memory" );

The addition of the "memory" clobber imo wants mentioning in the
description, so it's clear that it's intentional (and why).

> +}
> +
> +static inline uint64_t rdmsr(uint32_t idx)
> +{
> +    uint64_t res;
> +
> +    asm volatile ( "rdmsr" : "=A" (res) : "c" (idx) );
> +
> +    return res;
> +}
>  
>  /* I/O output */
> -void outb(uint16_t addr, uint8_t  val);
> -void outw(uint16_t addr, uint16_t val);
> -void outl(uint16_t addr, uint32_t val);
> +static inline void outb(uint16_t addr, uint8_t val)
> +{
> +    asm volatile ( "outb %%al, %%dx" :: "d" (addr), "a" (val) );

I'm inclined to ask to use "outb %1, %0" here (and similarly below).
I also wonder whether at least all the OUTs shouldn't also gain a
"memory" clobber.

> +}
> +
> +static inline void outw(uint16_t addr, uint16_t val)
> +{
> +    asm volatile ( "outw %%ax, %%dx" :: "d" (addr), "a" (val) );
> +}
> +
> +static inline void outl(uint16_t addr, uint32_t val)
> +{
> +    asm volatile ( "outl %%eax, %%dx" :: "d" (addr), "a" (val) );
> +}
>  
>  /* I/O input */
> -uint8_t  inb(uint16_t addr);
> -uint16_t inw(uint16_t addr);
> -uint32_t inl(uint16_t addr);
> +static inline uint8_t inb(uint16_t addr)
> +{
> +    uint8_t val;
> +
> +    asm volatile ( "inb %%dx,%%al" : "=a" (val) : "d" (addr) );

Would you mind adding blanks after the comma here and below?

> +
> +    return val;
> +}
> +
> +static inline uint16_t inw(uint16_t addr)
> +{
> +    uint16_t val;
> +
> +    asm volatile ( "inw %%dx,%%ax" : "=a" (val) : "d" (addr) );
> +
> +    return val;
> +}
> +
> +static inline uint32_t inl(uint16_t addr)
> +{
> +    uint32_t val;
> +
> +    asm volatile ( "inl %%dx,%%eax" : "=a" (val) : "d" (addr) );
> +
> +    return val;
> +}
>  
>  /* CMOS access */
>  uint8_t cmos_inb(uint8_t idx);
>  void cmos_outb(uint8_t idx, uint8_t val);
>  
>  /* APIC access */
> -uint32_t ioapic_read(uint32_t reg);
> -void ioapic_write(uint32_t reg, uint32_t val);
> -uint32_t lapic_read(uint32_t reg);
> -void lapic_write(uint32_t reg, uint32_t val);
> +static inline uint32_t ioapic_read(uint32_t reg)
> +{
> +    *(volatile uint32_t *)(IOAPIC_BASE_ADDRESS + 0x00) = reg;
> +    return *(volatile uint32_t *)(IOAPIC_BASE_ADDRESS + 0x10);
> +}
> +
> +static inline void ioapic_write(uint32_t reg, uint32_t val)
> +{
> +    *(volatile uint32_t *)(IOAPIC_BASE_ADDRESS + 0x00) = reg;
> +    *(volatile uint32_t *)(IOAPIC_BASE_ADDRESS + 0x10) = val;
> +}
> +
> +#define LAPIC_BASE_ADDRESS  0xfee00000

Seeing this #define here, does there anything stand in the way of
putting IOAPIC_BASE_ADDRESS next to the inline functions as well?

Jan

> +static inline uint32_t lapic_read(uint32_t reg)
> +{
> +    return *(volatile uint32_t *)(LAPIC_BASE_ADDRESS + reg);
> +}
> +
> +static inline void lapic_write(uint32_t reg, uint32_t val)
> +{
> +    *(volatile uint32_t *)(LAPIC_BASE_ADDRESS + reg) = val;
> +}
>  
>  /* PCI access */
>  uint32_t pci_read(uint32_t devfn, uint32_t reg, uint32_t len);



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 08:25:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 08:25:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393158.631929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR8An-0005Bq-G6; Thu, 25 Aug 2022 08:25:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393158.631929; Thu, 25 Aug 2022 08:25:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR8An-0005Bj-DM; Thu, 25 Aug 2022 08:25:09 +0000
Received: by outflank-mailman (input) for mailman id 393158;
 Thu, 25 Aug 2022 08:25:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR8Ak-0005Bd-Uh
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 08:25:07 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150087.outbound.protection.outlook.com [40.107.15.87])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bf3f608-244f-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 10:25:05 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9113.eurprd04.prod.outlook.com (2603:10a6:10:2f4::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 08:25:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 08:25:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bf3f608-244f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JiBwCMALjDEEeY/xh6JUVugeb5l50zKRpoWwN04XkADs+D2EDUV0UXUGnWauQSmukNjTs7rh/xWWOJ2ojmEF2kLKCjUCQF6BOgU+MgG0TOrlJXlKUo7AoCts9hxXjheHNm2Rv79cORqfzO4i3kIZQgC/y9Y9PcYYDOLHNlHxqCwRpnfOEGh4YJDx5y0yGEjJsxqF9wMsz6kd6qvHqsGdjdp33mJ9L0px6KL0HyRVWWSFPsEbw1LEA94XQn8/np5enDehNPidhzQgCHTe67ZJQSBZtla7XoC1GgN/lQGUvmbN4faP5QQWqUqX0m2bVzOeXGTs7eLIjlZmCcdNUMKIww==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hU8b9h4Pm5djiD1yho7zHS4U7eIBozg9RB4hpeNkgeU=;
 b=fhM+j9lajQYXoMg8HY1Av2l+/U1Z9w2xP4ihEoAOPZaE6GSGoxT7D3oXgsUScyONCh7jS1WNuAiDLa9s7RE6o65abxWEZh+aMMCoKNdyj9o8wCS8s1W4CK5pTHvKH9jvTO46XAlP/X8FZ9r+meUJWPwNrcAMLBkYTWa8Lz+DDtlLEWUf99oheOC49+DgS98rTCoS/stRu3HzlY3KBp/vdcEHyVRQT3LE7ABMJrBIU2igAP2sc4LvyZQ2RtdZ98JIzVG0xkADiBTqEuznHlECU/z+/DH3QFQ9ePJyf5Y+uTnZJk78lMYuSSv44PBGARFJK/YBtZOIgPKyjM35JV7IaQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hU8b9h4Pm5djiD1yho7zHS4U7eIBozg9RB4hpeNkgeU=;
 b=Mc9tK6no7UWIXEbQ2X/FkulUggb061lRz71xnS5CYA2cgFZ2eJZLX1vF9bow+MRbfdNqcZ3Erf27vhkXDEJFnZvXCehlTRrboMDkqyz1OSoCStf+IcZAcHQpWmu9Wq8pFdt/IRyvuCRD17QECWA5joot5ooFM/d40y+aqKZFhBBCro6Zy3N3acNIHlHcHt5YxNsA4UC2lcJwovAPee18IqfO6SGXeCd8VUv0/clIsHqMSvQtsk8m+bFmbp5Ayjegyyw802tre6aq+k3cYLCPn9/FAFzLCRK5ZRBzB5+UAf2NFk5pEWW5w7i2ptkvroFBPpDQy6eZu2Qm3GGOgdvMpQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2ff949e4-5f02-f476-7b14-252252d1b8b5@suse.com>
Date: Thu, 25 Aug 2022 10:25:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-8-burzalodowa@gmail.com>
 <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
 <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com>
 <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
 <852c68d0-bda1-e56e-85c0-500c498054a0@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <852c68d0-bda1-e56e-85c0-500c498054a0@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0088.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d9e42a2c-15f5-4c62-7532-08da86734e8d
X-MS-TrafficTypeDiagnostic: DU2PR04MB9113:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+mSzylx7JlU3AktNtzj0KCDEqTJjbpbKimmRcDvH2/T4mNfwDVGrHVXS5s+7TJIRrEB1gMmXOPJNIyexWfc8Yo3Oicjfq0a4GOA6k9NsgYZOJL0ywCwbdhXgGuS6m6YSwYBLbkp7RC7jBUIcXp2La7OxRvzd7F+pvr187EfxHisTwQO0FffByMfWEgZl5Mf1WhDM3nInPh8ezln3wF4JTfE0XvsXjUHw9+8t9mDXOZH27lQiQpq+JD7BGtqIojk8MOVR1/8Mw/JvhZEVQiIWE3+qzaKoY5jA6lKO1qFSQniZm/Zgr1ulpnZ+dkzSkLEwIasQYyz4DDR5YLl7DSUijG2M/ziAqBniONd30TnMum2hRPpJzq6QKaH2/paq1yxw6yHZhXyUFalzGymfXCojshONdc7q5s+4r23qbZ3V3BH5VImY29Sl1dDtgFM/ZmYkCvVf8JruqGWX+apnVSR3xC2c2VvCOB1Ito55wOyFTYHB4m90J9rBGPJVv8urhK54xhdReF9FR7DKbYsKHK+fjGqPOPd2nmHQ7dMOYoDTCdYteeR/Vafyu1fJxxZ7oLJ2T3CoTbujdjIWdxbphvREU01QXbw/MBBWqeiORwP9XLI9G51dQQS0M6K1GmuZiVGZ5DnLANDWFMq4DG6Mqj3I269lGjE6vKeF2pUgs6AS4InmI3GMymrlSi/TwKwsqg6vpWjbULd+f+tn9H0Iy0FAy/7gytfdS/8j/IgIXp+qXnP3qEnoOFglYcEX+LTkJEfESrdodDt5Xe4UoeIzfXRZLxkz3Gooi0xa0OYT/1qubss=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(136003)(366004)(346002)(396003)(38100700002)(54906003)(53546011)(86362001)(4326008)(31696002)(41300700001)(6506007)(66476007)(8676002)(66556008)(66946007)(316002)(26005)(6512007)(5660300002)(8936002)(36756003)(6916009)(478600001)(31686004)(186003)(2616005)(6486002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEI2dWRMS2NmaUd0enJTdndHWEJHdmpmUFRFdzRTL2ZXSVZqd3NCWWVTbHkr?=
 =?utf-8?B?dzZRN0JHNHBGV2dmZmVGcmRHUW1XVnF0UUJmbmwvSUZQQmYxSkF4aWc1TWtr?=
 =?utf-8?B?bUVQZ0NVZjBXN0VIZmZMWitPNm9yd00va0ZkWkE5RWtyQk9qdHQvV2VKZGEv?=
 =?utf-8?B?YUxSYmZ3a3J5d2VKbFVrckxJRFM0L1lvcW5mWjV2eit5N1lsQVFySS8vUlNh?=
 =?utf-8?B?dUNLejl3QUlLczdVZEp1SUsrV1I3N0g2Qkh4VzVTZVlmTkJTUmNuYU1sRGVz?=
 =?utf-8?B?cWEzRXgxanVPdVByamhpcnQvekZBdjl4WEtQN3dHdnJpSWw0T3FUK1doQTJT?=
 =?utf-8?B?TmhDcjlFLy9YZEpSTGJxWDlRU0hzSWxuY1ZjZTV0R0xHOWRQWDNmaW1URVZX?=
 =?utf-8?B?L2RXNkJ3S2xRejl6NDZ2L1FlOTlsK3dGUjZnbTlpSW5wNDBWSW9xbElkWCtN?=
 =?utf-8?B?bzd3bHVoM29WVWM5S1g1OWU5amVGRHJFSnlBL3ZJZnB2bXc0SlBIZnYvazV3?=
 =?utf-8?B?YWQ4MGliUTZtNk02OVFTZk9IQ25jSUZSQ2ZZOVRaN2RaWFIrcElYd2xUc01j?=
 =?utf-8?B?dFB6bksxZTEyVUl5OHRjWkNwOWtjQTNwcmRqbUxwVVpjWGQrM0RPb0xqV3E3?=
 =?utf-8?B?bVViWi95aTdwZGhvRlJaN2VWaTJONzUxeDNzYmY0RHp6QlgyN0ZTY0Ezajc0?=
 =?utf-8?B?bDNxZGFyQ3cyTmFDdG9iNGFmVFNwZ2hmWHdoVThQc3JkMk00N0xaZDV4RkJU?=
 =?utf-8?B?NjRsazFuaFF2SjN2N2pGSEdFYVJyOXNvOGVkb2FiWitONithL29IYmJNaGZF?=
 =?utf-8?B?c1R1djRyTFVrZDBTbzBxbnJqTmJNQ3h6UHZaQ2o1T3J0OEZNWTB1bXJHNTd5?=
 =?utf-8?B?MUFBekdkUXBvSW1GTXZkM21CbUZpM05pUUlNWWhhZ3ExZGtYN2hiaHhMWTd2?=
 =?utf-8?B?UmVIOThjWnZkN3VXOVArclU0amJ6TjJPd2xRVHJZOXFEUGdCLzc0bXl0YXBr?=
 =?utf-8?B?NW1jWk5zZlljdVY3clpMZXExNENzYkl4eEVYTmxIYUxjWlpmWnN0M3V5Y3Vr?=
 =?utf-8?B?emdkVTRpSUk1Y1lwOVQ0L056OXZQb1VRbDlSUTU4dm5pNzFvRnM0SEhaSm1u?=
 =?utf-8?B?TCtRL1c0cFEyZlJzci81SGJVWVc5N0dkNzZieTBPYnlHL29tcCtnS3gwY0ZQ?=
 =?utf-8?B?VDdHNnB4U0pHSUVXb0NDVEQ3TE1admc2TlUwRDhBZEhqczk1M0pPcjNoU2lM?=
 =?utf-8?B?SzFUaEd5b0wxeGNJeVZEdThtMzd2dGZQSHFrZjFTZXBiUWtqTS90RjFDLzFG?=
 =?utf-8?B?UVVHakZqNUc3dklKMGpYd2l3cXZiZ3FrWllneUg1SHVpVG42QWMxVWFoZlM2?=
 =?utf-8?B?bHRFNFo0RTJUcGZtV1JNTFpoeEFYa3ZOSG05SDdScm1RNXF1dWhCUWJ5Um9G?=
 =?utf-8?B?L3NyWUFYVVc3TXNVT3dobjNyekI4OTU0SkFoUmdEb1ZGR01QWVFkL2tjRENM?=
 =?utf-8?B?eDUrN0c0V0RhWTQraENJUGdxVDBGMW1WUUV5RlJIMjR1bEdEa251WVJFZlJj?=
 =?utf-8?B?NVN3VGxzMGJFRHVoQWptMWc5MXFXRTloZVRNVXRTbU5FVkVVanptUEwrLzRO?=
 =?utf-8?B?Mk8yaERLaG54Q05EYjBJNEt3d0tnaFJLejNncFR0Z1J6SU5nUU44d1l1KzhF?=
 =?utf-8?B?VUFxQ1hZdmE1cjVGeXUxTkVySW90SjUyemhZL3N3c1VNbVpJWUFiUWJFeEdS?=
 =?utf-8?B?MnJMWHlyeHNIalUxaWZKSlMwZjYwZ1FwT1BYL1VHamxvcGJSVG02dm9kTVJR?=
 =?utf-8?B?THlYclFCSHhHb0FBNHJNaGNzcEVoUWZ1aTBKSlVtSkdOVkhvYW9ZYmlZZHZL?=
 =?utf-8?B?OUZxZUo2WENiNlZaT3RCZVhIZFdyLzlvR3hXV2Y3R0liNEp0dDRmOW1LNkZP?=
 =?utf-8?B?WkxlbHFOcXJCemUzdGIrZnVnRE02ZWpuMnhRTHJDclVLOEYrMnJsS0tlUE5q?=
 =?utf-8?B?RW9NdUNSRUxSN0VVUDZweXdFNnFpbFVKdjJObXl2cnVpTXUyTE9MN3V2czJn?=
 =?utf-8?B?eWNFSzhrS0NBazBEZWVKSk9aTkYrOTVjRi9GU3R6aEd2bHNkeVl0cTBEWFBU?=
 =?utf-8?Q?AY0hZkZYSDRm+WsANz7kRQu8e?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d9e42a2c-15f5-4c62-7532-08da86734e8d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 08:25:02.5007
 (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: 8VndNdtAAMOxVgTwoVO8CFtyY4YxaVlzJdkqTHH5cYvHIeC4qO/Np0tQZDR6KhiDFWU2Xr4Y3puEOZYbq7ZyBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9113

On 25.08.2022 10:02, Xenia Ragiadakou wrote:
> On 8/22/22 14:48, Jan Beulich wrote:
>> On 22.08.2022 12:43, Xenia Ragiadakou wrote:
>>> On 8/22/22 12:59, Jan Beulich wrote:
>>>> On 19.08.2022 21:43, Xenia Ragiadakou wrote:
>>>>> In macros dt_for_each_property_node(), dt_for_each_device_node() and
>>>>> dt_for_each_child_node(), add parentheses around the macro parameters that
>>>>> have the arrow operator applied, to prevent against unintended expansions.
>>>>
>>>> Why is this relevant only when -> is used? For comparisons and the rhs of
>>>> assignments it's as relevant, ad even for the lhs of assignments I doubt
>>>> it can be generally omitted.
>>>
>>> Yes, I agree with you but some older patches that I sent that were
>>> adding parentheses around the lhs of the assignments were not accepted
>>> and I thought that the rhs of the assignments as well these comparisons
>>> fall to the same category.
>>>
>>> Personally, I would expect to see parentheses, also, around the macro
>>> parameters that are used as the lhs or the rhs of assignments, the
>>> operands of comparison or the arguments of a function.
>>> Not only because they can prevent against unintentional bugs but because
>>> the parentheses help me to identify more easily the macro parameters
>>> when reading a macro definition. I totally understand that for other
>>> people parentheses may reduce readability.
>>
>> Afair Julien's comments were very specific to the lhs of assignments.
>> So at the very least everything else ought to be parenthesized imo.
>>
> 
> So, IIUC, the only deviations from the MISRA C 2012 Rule 20.7 will be 
> for macro parameters used as the lhs of assignments and function arguments?

Afaic I don't consider that discussion settled.

> This feels a bit of a hack to parenthesize the macro parameters that are 
> used as the rhs of an assignment but not those used as the lhs.

lhs and rhs of assignments are quite different, and hence making such a
distinction wouldn't look to be a "hack" to me. In fact I've always
considered this part of the language somewhat strange: To me
parenthesizing e.g. an identifier already makes it (visually) an
rvalue. Leaving aside odd (and easy to spot as odd) uses at the call
sizes, I don't think I can come up with a case where parentheses are
really needed. Anything needing parenthesizing actually yields an
rvalue afaics, thus causing a diagnostic anyway.

>  From previous discussions on the topic, I understood that the 
> parentheses are considered needed only when they eliminate operator 
> precedence problems, while for the wrong parameter format bugs we can 
> rely on the reviewers.
> 
> I think we need to decide if the rule will be applied as is and if not 
> which will be the deviations along with their justification and add it 
> to the document.

Yes. But this shouldn't hinder adjustments for all other, non-
controversial cases.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 08:35:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 08:35:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393168.631940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR8L6-0006gT-L3; Thu, 25 Aug 2022 08:35:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393168.631940; Thu, 25 Aug 2022 08:35:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR8L6-0006gM-Hg; Thu, 25 Aug 2022 08:35:48 +0000
Received: by outflank-mailman (input) for mailman id 393168;
 Thu, 25 Aug 2022 08:35:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR8L5-0006gG-Vg
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 08:35:47 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80070.outbound.protection.outlook.com [40.107.8.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea455ed4-2450-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 10:35:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6410.eurprd04.prod.outlook.com (2603:10a6:10:3d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 08:35:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 08:35:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea455ed4-2450-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fbEskmgw16jA8EJk5cUtmisAZCzqDCGVNW+A0kJO9iVMl590rDWIwl3Wbo8N4rr3ToW7y9NFaliMpJdmfqMFj6Nbaxi03Xxz1QOT7etEYqiwWNcDtBN1+pbRquFdVEjBSNvKdfFCz4oqF6N7oOwq12hL6mGg6H06YJ2yLnAIc802V0QLjDNrF/RuJ28JgFMV80hbnwB/DvjMTio/s2Z2bWKYOK4kB1SITh9d1DFnRCSGJ/yCJur4RRdrJ7b/RUS+M2axol3yUk4hy+n9p/uHiHPHbJoj4+Pw+/fNYJeIDKWdjoM3/NVhcUHicHHgDBWLwtxD1ejDaRb/pHCCjYOWgg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hscJ+ul5cgr57+yhUVg2raL3XL5c5yz7Eqw4EEQmS7I=;
 b=ks2UDkC+xQf/AN4sKiHGTdz96NF2MzeHcR4Q/784BSGdw/iAo4vDB5pNGYywtKF6OIrHHe+NqOYN4CtMC0mZVovTAjQ75j8w+FNeD4UXmv/VaSoEptISYxTpPxBzrdoYrTkYWjwBZfrvIOA5f4Ig5rgLdJbbUN/54Ptir0OMpdmO/pkw4PfqZ0LAA4CMU0SeIAcPq2zkKeUbhntS7ZXlYNKhwhahg7+U2s+kUFQRFtQ2wlzBd56KjSG12ipVsoNutI4Xaotf9uw2L2AhDxjOuhmxt1zw1t07P+MsFr8VsZUN2A7dmpqO3FjaoneRnOWAKFLXNaPK0KJe/qBC/tyjkg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hscJ+ul5cgr57+yhUVg2raL3XL5c5yz7Eqw4EEQmS7I=;
 b=tNZSDwUNxNpYmMR7R23RFORP9E0Qv/t8IxrxpJglCR1FX2D6AHf8BOkpKwAIej8uIG8XySFoRR6T4Elgf8BkAURTdFOKbe4s4SmHnQTY2rr7COiof8vkyF4XQWiLtmBTnx20FsXwV35v0VHLk4OpH+LF27VrPJBB9ygy+aj/KDZjpWU1lYlv0jYw4wMDJFh/0bUh38H5lTim3dx9F9ioH0D2Moo8bweKTo1J28lOx5Hn43FItSZolC1DfpZcqTmoip73JUslIQ7rqALn6PKHiWZG8eguDGHNfUT0xR9r2nEDYnx8ZEnlBbqDaWUxHNPPqYAhSzpHDs0hKO+r3VOxsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3b2ad2ca-3c6c-4dcb-c603-bd5440350f20@suse.com>
Date: Thu, 25 Aug 2022 10:35:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <b3e00f33-527e-e29c-87fb-0773344aa1f6@suse.com>
 <a485f128-6caf-4f4a-3d61-423e2ee67121@suse.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
 <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
 <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
 <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
 <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
 <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com>
 <Zz_iE6KdPdkQ_TjUf-W2ODPIXo2WwXz0JxF5vgPjVuz8uWfJyto5S_nYRzSNrE0jC3r4ILhjkLH_PtW_fmIeTQIQtI6wTZxnUvOl0pr6ne4=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Zz_iE6KdPdkQ_TjUf-W2ODPIXo2WwXz0JxF5vgPjVuz8uWfJyto5S_nYRzSNrE0jC3r4ILhjkLH_PtW_fmIeTQIQtI6wTZxnUvOl0pr6ne4=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3766d36e-957f-43d2-5d7c-08da8674cd92
X-MS-TrafficTypeDiagnostic: DB8PR04MB6410:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	imYglwqvwTbv6qxUjmsreejfqHoMXlGHyHzQnBsFnZjSa+TVFoxAOztPoe/cB18dMxZXZivPpWaErYp0MOawL8FJMAxhKVFQMzo64+dCWMTP/kxiKVd+qUl4Zkc/SC6arujtdC1he1AvIPQXGSxlASYEgiAOfzSVX1U4eFud6Wm/hYwr2UbCLB3yHHbYDbs3Vy21+o6JrC/Z+3Am8F650d51JIc6QG9pZzn8aziDZgVfImzKs84PmndpP/8u+ZJ/7PsY8rPaoaw4RlDuDijHf01h7UN0XkQQAVF77Rxi65u2d94GbewWkCXN+VJuF1sZ0o++Ejtgu0MrmodeDQcunAT2hzYhDgikF2mqRVyyCzBU5O9dD96zZIKiH/f22eqKcdizh4rc7mY29Z+azdV8Z3aysgIB4J1BkmfpeuuDdM4q44Q2tsSBlBkUWZMZ6DK3RgLByiZkaQt2y8gLvh+2rdxVGz+U+wKNI+Ci0IAmz2Kd+lbxWXdrHOv2jT3zkMZXQp93tOt12JXSCbI1WMkcSUBVc0a+39IjW8CqDJso/FrZsiL74hxFRQHtN2rkZf5AFguQHbwQWyDOp5wQ9oIhD+fxgHs+GjniuTMZ5l3a9G6HiVPwOdwJthZYmxLTR/wms564YTLbOaLzWisImug2mJQcnq6okQGkJo3GWk242fMIPMWba7+FuHe+H9FjroBeQUM+hOcNp2LZ6TmO/YhJ2RsNrF+g4qEAGvCqYXSBNAojb/TtnB7B0mwHX6GKhee2ZP1kF1vD/3WfPDf6D/vA+cymBrDf+GyUzzN22gBjX2k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(396003)(346002)(366004)(136003)(53546011)(6916009)(6506007)(41300700001)(31686004)(26005)(186003)(4326008)(8676002)(31696002)(86362001)(6512007)(66556008)(66946007)(66476007)(8936002)(6486002)(83380400001)(5660300002)(4744005)(36756003)(2616005)(478600001)(38100700002)(316002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SDNhQUNaY0F6OE9YY2hHMXhLTG02K1phWGdOWTBSMGMwVFZWaHlpTnM5SElO?=
 =?utf-8?B?VzhReE56Ylpnb2tmaG4vc0t5aDNab3ZzbDBHTG5leCt3amZTWDIyR1ZiU0Zk?=
 =?utf-8?B?d1lGVWllU2o3Zm44VjZadVlQSXlHKytkRmI1UGZRc3VCU2dlOCszWUViaXY4?=
 =?utf-8?B?ZUhLMEVSeFVWUC9OTkZFZWhlc1hKVGVhazNUamZRNUR4ZmFnRUlmcTh6YVdJ?=
 =?utf-8?B?c3QyNHd4UmN5MmdBdkVzOVJRUklhcUlBbnoyQXNoWldnbExxYmFKcGFKQURG?=
 =?utf-8?B?U3ZQL3k5NnR4L3dFR3JHclIvY1NLbzFUOTZTVUMyUW9XbTBhdDdWU25TUWRr?=
 =?utf-8?B?RXBQb1R6dUJLK1drWXd4WTY3VWE5OHhPZnB4bmlXdk1NODZKTTRUckJjZTMv?=
 =?utf-8?B?UkZTUVZLMk1MOHcrOThKVmViSnlJb1BTdFFCTmVMRk10QVRENllsYk56L3Ft?=
 =?utf-8?B?NzZyckJLS1ZEU3VBdlQ1NXlacWNqQ3N0MmVTOGNIeTY2azIwMmJlMlhXU1A2?=
 =?utf-8?B?ZmpEM29vcHBBZFZ2YzFKODluSmxhcGcyeTlGUTRUaVczL3laaUVUL2dDT1Qy?=
 =?utf-8?B?dFRiT3pYcnlyZ05HL01VZjd0ZmptRmJtUW5UTXMrRjNzd0VwS2ttdE4zbE9v?=
 =?utf-8?B?VnZTTmUrZDN3L3lzc0Q3TXgyb2lnNHhDZk1iZm5GOFpheWs3R3pxbDZZQkFn?=
 =?utf-8?B?ODdCdmI3UHhHMUNIWUk5UXQ4RG9IY0IreU83MUhpRHV6SXAveXFQKzhhbFNG?=
 =?utf-8?B?VXNSMHcrYXhJU1FramVsNWZIQTJwZzdIc21McnlIbTNUaTJiQ1Q3VFM2bzZB?=
 =?utf-8?B?YUZXYlQyUVJZZDQwT2FMS3B6eUdPL09LVjErUkpPOGlBVTU2cVNtUzlFRUJP?=
 =?utf-8?B?YjNOakFmWXdLWTlBS3NJcXczRVR5RmdlaGc0ZWdnQ2ZRM3dRT0Z1YUFyQWU0?=
 =?utf-8?B?TVJESUluZ3ZLZUlmclFpWUpkRjJTYVJoWkxDaE5wVElVWURhWjFBZVJPZSsw?=
 =?utf-8?B?ak51bHMva3gycnJsdUVvRVFJdFZEd0MrbzJ5YTd5TjF1RFFYZXZJZytETDVq?=
 =?utf-8?B?WWo4RXpPQ1JXVzNFVGM3bWVoWHh3U3VIVUhtNlBCYnQwYUg4bzNFQUpoWjhr?=
 =?utf-8?B?TjZSN1kwOWl4TW9JMFNsNkpzenowMUFHcUVYeG45c1lQYWJzZWs4RmpyS3F3?=
 =?utf-8?B?SmwrZjdvb21HdFhKK1BRdktNTnpqVGJKOC9mWTFFVUFuM2N1WXE5NzJMQlJQ?=
 =?utf-8?B?elBSTnM2Nk9haVJ6blhkakVGNjBFcTNzN0pCT1pUdFBLN3VZdWlwNU82T2E3?=
 =?utf-8?B?T0F1WFE2R0w2WkFIbUwvL3RTNTkzYXFVbUp6dDFsZDlCZEpkSXA5ZE5aMUtu?=
 =?utf-8?B?cnlON21neGEvcG9sRHA3YlZaQ2VnUjFzZ2pETTNsYjRMU3R3VmYyalNmaWFS?=
 =?utf-8?B?djh6cTF5U3A4T1BrMHRHTDdHOHMxZmJUSUNrN0ZQbUp6Z3VIUldtYWdYamhN?=
 =?utf-8?B?NWxBSUNhNkk1R0p5aDhPSkNUZ0s2ckZWZWVzN3FwK1hKak16Y2NicThlUDFk?=
 =?utf-8?B?RjIrN2xOdk4vT3o4cUdRRDhSZTdXcnpwaXZXSGRrUktkS2wwcTlaRU0vakts?=
 =?utf-8?B?c1lUYUlKNzV5SVVULzZZMnUyS2VZNTUxeUtwRHR5azVUTzZGSkRJSDhuZmgx?=
 =?utf-8?B?dTROVngzMm41b0FjWmEvRjJTZSttOFdBRjRIZ2JOSGNKWFUzRnVUdXUvcHVO?=
 =?utf-8?B?R3Nmalp2VkxsZFQ5UkF2alFvNjRBN3hoU0NWVEZHaDhscW0rcDczSnlrc0NB?=
 =?utf-8?B?UUI3ZXc3Yjg1RC83M0taZTJWVWk2ZnpSN09RV0JjVmZlS2w0QmdISUhTRTY4?=
 =?utf-8?B?cGYwTWtpV1ZweHN6bG95OHB4K05qK0xsa0YvZGl5TFNISnBIN09wSXdNYXRR?=
 =?utf-8?B?UFhydGxTVmdMejA2QVFramovSm9VeE1qemFYQ25oMjFuWVpNQkUva2dLbVhn?=
 =?utf-8?B?Rk9Ia2xualp6V3N4dEFKbUtkaTBGNHpjOXpUaWx0M3c4MXZubm05VFg2N2dy?=
 =?utf-8?B?U21SMldXZUg5dVJTSTZUSlVYMVpDWUZLRWNZZ1lMYzNaOHk3OXU1ZTd6bXdV?=
 =?utf-8?Q?aIuq5/u2woQqbCOqnVsAr3OHZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3766d36e-957f-43d2-5d7c-08da8674cd92
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 08:35:45.1002
 (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: BxCQb3h41nqrX2ebFk6yIJXSwL97B5eCpAheD3UKee1nudhuZPTZBkWGoc0F1/0jzxKp1AKneHj9yFWoIRii9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6410

On 24.08.2022 20:15, Dylanger Daly wrote:
> I'm sorry I didn't get where in /sys/firmware you'd like to take a look at.

It's been a long time since I last needed to access that, when it
was still /proc/mem and/or /proc/kmem. Their modern equivalents might
be /sys/devices/virtual/mem/{,k}mem ... But if that's not usable to
get at the needed data, perhaps we should go with logging it by way
of a patch to Xen. Please let me know if I need to hand you a patch
to do so.

> Sometimes when I power the laptop off I can see it's crashing somewhere in ACPI/weird address issue

In ACPI or in EFI? In the latter case suppressing the use of the EFI
runtime service for shutdown/reboot may help ("efi=no-rs" to disable
all runtime services use might be a good first try).

> Is there anyone else struggling with AMD Ryzen 6000 on Xen?

Don't know.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 08:57:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 08:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393176.631954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR8g3-0000jp-Hk; Thu, 25 Aug 2022 08:57:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393176.631954; Thu, 25 Aug 2022 08:57:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR8g3-0000ji-F4; Thu, 25 Aug 2022 08:57:27 +0000
Received: by outflank-mailman (input) for mailman id 393176;
 Thu, 25 Aug 2022 08:57:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xLAc=Y5=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1oR8g1-0000jb-U7
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 08:57:26 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef9beeae-2453-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 10:57:24 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id r4so25196755edi.8
 for <xen-devel@lists.xenproject.org>; Thu, 25 Aug 2022 01:57:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef9beeae-2453-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=t7NbUbLs7KUV82WeXlCEUvoWqgq30ykZRNuQB6PRvK4=;
        b=C3VpZ8IAMdFYFMoxyjuT18Deg71IBEEmO9UXvqVKNUC9D5f3iHOdMT9dTjKAvH00DI
         StlEfBIKy0FZ5RtStAtCKlaTt5bumEfLuPYPeVCdjcwZ3SC2049FHnacmkzKgHvWCbfw
         Zar2PBGjxMHY/jhb9amk7d/jw4tWXii1gSniJAUJaKi2syrIZL+PGDiTtClJxB5uFnwg
         J+9BcIEhoNkjE3uqFCrw7DPUm1FNw/KRCkJu+ehVsH2LLbLzbdgTM6a5kCqhTOaodDVK
         MKtKHP25Z8/HuXWe8v9xUv4IDcEc/kTLsBHtwihdWZM8b9AZ4dEXk3rMrfQ7kzeyeOLJ
         QSiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=t7NbUbLs7KUV82WeXlCEUvoWqgq30ykZRNuQB6PRvK4=;
        b=bJr11qso1NPQ4S9sadmM6uAGPW4jjtBP2lY6P6k2BQ+f3KYs7JhXURo+IfUlORYpw7
         Z3XnrAFDk4T1o6ssLEtGkPSBf5PuDO1RbOR9SqsYIbE879Gn8UEhYwTxi1mAV0sbc2Z9
         MrmPHpY06Xh8Zo5PkknZv1w11RNf/JgpbQyq1XRwnf9i2a1FDVyhK9s1CeO+JHks39SB
         A1NWA0cN0Gzp5LxGekRxrxtGy4GMVrA7FVuwRsmaq34yBHy2/ioqnpcg7fJaOEPj+n1V
         XqHNIer0bJ9nYgfAkd8cEAdKAzksFwuRTkcHcMbYtlhlhYVLN90eZoyN156MS1HavXS6
         ASYg==
X-Gm-Message-State: ACgBeo0k6gJ2AKbD+Q25BJGg0yFm+4zKCrBgAVi3hdbRwl0d5nXMICYx
	XpC9ocJTxKbUGoyaPpDHR7wTuO5LqA6qBpgj4TQ=
X-Google-Smtp-Source: AA6agR5QlAJhNj/TG7uam5q5vYDfA9a5KKnv479zcoZRYCBHwJYYFEy1MLCYHt/itjS4wdVQ2mEM789UM2RN5T/Auaw=
X-Received: by 2002:a05:6402:5508:b0:43a:896e:8edd with SMTP id
 fi8-20020a056402550800b0043a896e8eddmr2291403edb.203.1661417843791; Thu, 25
 Aug 2022 01:57:23 -0700 (PDT)
MIME-Version: 1.0
References: <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
 <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com> <CALAP8f_=NztOC9FKYnrCyknOM4jf27cRqjJ9+7UqOEH6qCAD8Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2208241401110.15247@ubuntu-linux-20-04-desktop>
 <CALAP8f-3jcGen82DaVrxRTF3TMDVMkLJA5Nsxu=HDYFDqTOOdQ@mail.gmail.com> <62627CF0-8594-4DEB-9F6C-37AECDE6B77B@arm.com>
In-Reply-To: <62627CF0-8594-4DEB-9F6C-37AECDE6B77B@arm.com>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Thu, 25 Aug 2022 14:26:10 +0530
Message-ID: <CALAP8f_JqwRcPM9_xLT6U6xeHLDVNO5itA0ELC_pZ-xyUyKqtQ@mail.gmail.com>
Subject: Re: Porting xen on rpi4
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "julien@xen.org" <julien@xen.org>
Content-Type: multipart/alternative; boundary="0000000000006718c105e70cfc46"

--0000000000006718c105e70cfc46
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

Thanks!

No, I couldn't see /dev/loop0. Can you please guide me to create it?

I didn't change dom0 configurations, it's default generated by yocto.

I will append this "IMAGE_FSTYPES:append =3D " wic.gz=E2=80=9D" in local.co=
nf & will
update you.

Regards,
Vipul Kumar

On Thu, Aug 25, 2022 at 1:25 PM Bertrand Marquis <Bertrand.Marquis@arm.com>
wrote:

> Hi Vipul,
>
> > On 25 Aug 2022, at 08:31, Vipul Suneja <vsuneja63@gmail.com> wrote:
> >
> > Hi Stefano,
> >
> > Thanks!
> >
> > As suggested, I changed the guest1.cfg file. Below are the contents of
> config file
> >
> > kernel =3D "/home/root/Image"
> > cmdline =3D "console=3Dhvc0 earlyprintk=3Dxen sync_console root=3D/dev/=
xvda"
> > memory =3D "1024"
> > name =3D "guest1"
> > vcpus =3D 1
> > serial=3D"pty"
> > disk =3D [
> 'file:/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3,xvda,w' ]
> > vif=3D[ 'mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront', ]
> >
> > Its failing with below logs:
> >
> > root@raspberrypi4-64:~# xl create -c guest1.cfg
> > Parsing config from guest1.cfg
> > Invalid parameter `type'.
> > libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus:
> /etc/xen/scripts/block add [742] exited with error status 1
> > libxl: error: libxl_device.c:1265:device_hotplug_child_death_cb: script=
:
> losetup /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext=
3
> failed
> > libxl: error: libxl_create.c:1643:domcreate_launch_dm: Domain 1:unable
> to add disk devices
> > libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus:
> /etc/xen/scripts/block remove [793] exited with error status 1
> > libxl: error: libxl_device.c:1265:device_hotplug_child_death_cb: script=
:
> /etc/xen/scripts/block failed; error detected.
> > libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain
> 1:Non-existant domain
> > libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain
> 1:Unable to destroy guest
> > libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain
> 1:Destruction of domain failed
>
> I think you have a loop issue.
>
> Could you check if /dev/loop0 exists ?
>
> Did you change something on the dom0 linux configuration generated by
> Yocto ?
>
> We are using Yocto on RPI4 here without any issue like that, only
> difference with
> your setup is that we generate a wic image to have a real disk image
> instead of
> using the ext3/ext4 one.
>
> Should be possible to do the same on your side by adding the following in
> local.conf:
> IMAGE_FSTYPES:append =3D " wic.gz=E2=80=9D
>
> >
> > Even after removing 'type=3Dnetfront' from vif it's failing.
>
> This option is only for hvm on x86, so you can remove it from your
> configuration.
>
> > One more doubt here, could this mac address be a dummy or actual here?
>
> This is a dummy one you set for the guest network interface and this is
> the Mac
>  address other devices on your network will see so it must be fully valid
> (and
>  not conflicting with other devices on your network).
>
> Cheers
> Bertrand
>
> >
> > Regards,
> > Vipul Kumar
> >
> > On Thu, Aug 25, 2022 at 2:36 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> > On Wed, 24 Aug 2022, Vipul Suneja wrote:
> > > Hi Bertrand,
> > > Thanks for your response!
> > >
> > > I builded the guest image on yocto kirkstone source which has FSTYPE
> ext3. Guest image generated is
> > > xen-guest-image-minimal-raspberrypi4-64.ext3.
> > > Below is the content of guest.cfg file
> > >
> > >    kernel =3D "/home/root/Image"
> > >    cmdline =3D "console=3Dhvc0 earlyprintk=3Dxen sync_console
> root=3D/dev/xvda"
> > >    memory =3D "256"
> > >    name =3D "guest1"
> > >    vcpus =3D 1
> > >    serial=3D"pty"
> > >    disk =3D [ 'phy:/dev/loop0,xvda,w' ]
> > >    vif=3D[ 'mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront',=
 ]
> > >
> > > I am trying to mount xen-guest-image-minimal-raspberrypi4-64.ext3 to =
a
> virtual device & then will run the guest VM by command "xl create -c
> > > guest.cfg". But facing issue while trying to mount.
> >
> > You don't actually need to mount
> > xen-guest-image-minimal-raspberrypi4-64.ext3 anywhere to use it to run
> > your guest VM with "xl create".
> >
> > It is enough to do this instead, as Bertrand suggested:
> >
> >
> disk=3D["file:/path/to/file/xen-guest-image-minimal-raspberrypi4-64.ext3,=
xvda,w"]
> >
> > No need to call losetup or mount. Just xl create -c.
> >
> > More answers below.
> >
> >
> > > Regards,
> > > Vipul Kumar
> > >
> > > On Wed, Aug 24, 2022 at 8:06 PM Bertrand Marquis <
> Bertrand.Marquis@arm.com> wrote:
> > >       Hi Vipul,
> > >
> > >       > On 24 Aug 2022, at 15:16, Vipul Suneja <vsuneja63@gmail.com>
> wrote:
> > >       >
> > >       > Hi,
> > >       >
> > >       > I am porting xen hypervisor on rpi4 with yocto kirkstone
> sources. Followed the basic steps to build xen-image-minimal &
> > >       xen-guest-image-minimal. I could flash sd card with xen minimal
> image & could see dom0 up. I copied "Image",
> > >       "xen-guest-image-minimal" .ext3 file & guest.cfg to
> "/home/root". After that created a bridge with below step:
> > >       >
> > >       > killall -SIGUSR2 udhcpc
> > >       > brctl addbr xenbr0
> > >       > brctl addif xenbr0 eth0
> > >       > killall udhcpc
> > >       > udhcpc -R -b -p /var/run/udhcpc.xenbr0.pid -i xenbr0
> > >       >
> > >       > Could see the xenbr0 interface up.
> > >       > After that while mounting the guest file system it shows no
> such file or directory but the file is already there.
> > >       >
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
> > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
> 24652288 Mar  9 12:36 Image
> > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>  247 Mar  9 12:37 guest1.cfg
> > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>  868220928 Mar  9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# chmod 0777
> xen-guest-image-minimal-raspberrypi4-64.ext3
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
> > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
> 24652288 Mar  9 12:36 Image
> > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>  247 Mar  9 12:37 guest1.cfg
> > >       > [23:40:15] <Guest9046> -rwxrwxrwx    1 root     root
>  868220928 Mar  9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 xen-guest-image-minimal-raspberrypi4-64.ext3
> > >       > [23:40:15] <Guest9046> losetup:
> xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
> > >       > [23:40:15] <Guest9046> losetup:
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
> directory
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
> > >       > [23:40:15] <Guest9046> losetup:
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
> directory
> >
> > It looks like either
> > /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3 doesn't exist o=
r
> > /dev/loop0 doesn't exist
> >
> >
> > >       Why do you want to mount the file system ?
> > >
> > >       Anyway this is not related to Xen, I guess you could start
> without xen and still not manage to mount the file like that (linux
> > >       configuration issue ?)
> > >
> > >       What is the content of you guest.cfg
> > >       How do you want to pass the guest root file system ?
> > >
> > >       Yocto should actually generate an img file and you could use it
> by having something like this in your guest.cfg:
> > >       disk=3D["file:/home/root/guest1.img,xvda,w=E2=80=9D]
> > >
> > >       Cheers
> > >       Bertrand
> > >
> > >       >
> > >       > Any input on this issue will be really helpful, expecting you=
r
> response.
> > >       >
> > >       > Thanks & Regards,
> > >       > Vipul Kumar
> > >
> > >
> > >
>
>

--0000000000006718c105e70cfc46
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Bertrand,<div><br></div><div>Thanks!</div><div><br></di=
v><div>No, I couldn&#39;t see /dev/loop0. Can you please guide me to create=
 it?</div><div><br></div><div>I didn&#39;t change dom0 configurations, it&#=
39;s default generated by yocto.</div><div>=C2=A0</div><div>I will append t=
his &quot;IMAGE_FSTYPES:append =3D &quot; wic.gz=E2=80=9D&quot; in local.co=
nf &amp; will update you.</div><div><br></div><div>Regards,</div><div>Vipul=
 Kumar</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"=
gmail_attr">On Thu, Aug 25, 2022 at 1:25 PM Bertrand Marquis &lt;<a href=3D=
"mailto:Bertrand.Marquis@arm.com">Bertrand.Marquis@arm.com</a>&gt; wrote:<b=
r></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Vipul,<br>
<br>
&gt; On 25 Aug 2022, at 08:31, Vipul Suneja &lt;<a href=3D"mailto:vsuneja63=
@gmail.com" target=3D"_blank">vsuneja63@gmail.com</a>&gt; wrote:<br>
&gt; <br>
&gt; Hi Stefano,<br>
&gt; <br>
&gt; Thanks!<br>
&gt; <br>
&gt; As suggested, I changed the guest1.cfg file. Below are the contents of=
 config file<br>
&gt; <br>
&gt; kernel =3D &quot;/home/root/Image&quot;<br>
&gt; cmdline =3D &quot;console=3Dhvc0 earlyprintk=3Dxen sync_console root=
=3D/dev/xvda&quot;<br>
&gt; memory =3D &quot;1024&quot;<br>
&gt; name =3D &quot;guest1&quot;<br>
&gt; vcpus =3D 1<br>
&gt; serial=3D&quot;pty&quot;<br>
&gt; disk =3D [ &#39;file:/home/root/xen-guest-image-minimal-raspberrypi4-6=
4.ext3,xvda,w&#39; ]<br>
&gt; vif=3D[ &#39;mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront&#=
39;, ]<br>
&gt; <br>
&gt; Its failing with below logs:<br>
&gt; <br>
&gt; root@raspberrypi4-64:~# xl create -c guest1.cfg <br>
&gt; Parsing config from guest1.cfg<br>
&gt; Invalid parameter `type&#39;.<br>
&gt; libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus: /etc/xen=
/scripts/block add [742] exited with error status 1<br>
&gt; libxl: error: libxl_device.c:1265:device_hotplug_child_death_cb: scrip=
t: losetup /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ex=
t3 failed<br>
&gt; libxl: error: libxl_create.c:1643:domcreate_launch_dm: Domain 1:unable=
 to add disk devices<br>
&gt; libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus: /etc/xen=
/scripts/block remove [793] exited with error status 1<br>
&gt; libxl: error: libxl_device.c:1265:device_hotplug_child_death_cb: scrip=
t: /etc/xen/scripts/block failed; error detected.<br>
&gt; libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 1:Non-e=
xistant domain<br>
&gt; libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain 1:Un=
able to destroy guest<br>
&gt; libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 1:Destruct=
ion of domain failed<br>
<br>
I think you have a loop issue.<br>
<br>
Could you check if /dev/loop0 exists ?<br>
<br>
Did you change something on the dom0 linux configuration generated by Yocto=
 ?<br>
<br>
We are using Yocto on RPI4 here without any issue like that, only differenc=
e with<br>
your setup is that we generate a wic image to have a real disk image instea=
d of<br>
using the ext3/ext4 one.<br>
<br>
Should be possible to do the same on your side by adding the following in l=
ocal.conf:<br>
IMAGE_FSTYPES:append =3D &quot; wic.gz=E2=80=9D<br>
<br>
&gt; <br>
&gt; Even after removing &#39;type=3Dnetfront&#39; from vif it&#39;s failin=
g. <br>
<br>
This option is only for hvm on x86, so you can remove it from your configur=
ation.<br>
<br>
&gt; One more doubt here, could this mac address be a dummy or actual here?=
<br>
<br>
This is a dummy one you set for the guest network interface and this is the=
 Mac<br>
=C2=A0address other devices on your network will see so it must be fully va=
lid (and<br>
=C2=A0not conflicting with other devices on your network).<br>
<br>
Cheers<br>
Bertrand<br>
<br>
&gt; <br>
&gt; Regards,<br>
&gt; Vipul Kumar<br>
&gt; <br>
&gt; On Thu, Aug 25, 2022 at 2:36 AM Stefano Stabellini &lt;<a href=3D"mail=
to:sstabellini@kernel.org" target=3D"_blank">sstabellini@kernel.org</a>&gt;=
 wrote:<br>
&gt; On Wed, 24 Aug 2022, Vipul Suneja wrote:<br>
&gt; &gt; Hi Bertrand,<br>
&gt; &gt; Thanks for your response!<br>
&gt; &gt; <br>
&gt; &gt; I builded the guest image on yocto kirkstone source which has FST=
YPE ext3. Guest image generated is<br>
&gt; &gt; xen-guest-image-minimal-raspberrypi4-64.ext3.<br>
&gt; &gt; Below is the content of guest.cfg file<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 kernel =3D &quot;/home/root/Image&quot; <br>
&gt; &gt;=C2=A0 =C2=A0 cmdline =3D &quot;console=3Dhvc0 earlyprintk=3Dxen s=
ync_console root=3D/dev/xvda&quot; <br>
&gt; &gt;=C2=A0 =C2=A0 memory =3D &quot;256&quot; <br>
&gt; &gt;=C2=A0 =C2=A0 name =3D &quot;guest1&quot; <br>
&gt; &gt;=C2=A0 =C2=A0 vcpus =3D 1 <br>
&gt; &gt;=C2=A0 =C2=A0 serial=3D&quot;pty&quot; <br>
&gt; &gt;=C2=A0 =C2=A0 disk =3D [ &#39;phy:/dev/loop0,xvda,w&#39; ] <br>
&gt; &gt;=C2=A0 =C2=A0 vif=3D[ &#39;mac=3D00:11:22:66:88:22,bridge=3Dxenbr0=
,type=3Dnetfront&#39;, ]<br>
&gt; &gt; <br>
&gt; &gt; I am trying to mount xen-guest-image-minimal-raspberrypi4-64.ext3=
 to a virtual device &amp; then will run the guest VM by command &quot;xl c=
reate -c<br>
&gt; &gt; guest.cfg&quot;. But facing issue while trying to mount. <br>
&gt; <br>
&gt; You don&#39;t actually need to mount<br>
&gt; xen-guest-image-minimal-raspberrypi4-64.ext3 anywhere to use it to run=
<br>
&gt; your guest VM with &quot;xl create&quot;. <br>
&gt; <br>
&gt; It is enough to do this instead, as Bertrand suggested:<br>
&gt; <br>
&gt; disk=3D[&quot;file:/path/to/file/xen-guest-image-minimal-raspberrypi4-=
64.ext3,xvda,w&quot;]<br>
&gt; <br>
&gt; No need to call losetup or mount. Just xl create -c.<br>
&gt; <br>
&gt; More answers below.<br>
&gt; <br>
&gt; <br>
&gt; &gt; Regards,<br>
&gt; &gt; Vipul Kumar<br>
&gt; &gt; <br>
&gt; &gt; On Wed, Aug 24, 2022 at 8:06 PM Bertrand Marquis &lt;<a href=3D"m=
ailto:Bertrand.Marquis@arm.com" target=3D"_blank">Bertrand.Marquis@arm.com<=
/a>&gt; wrote:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Hi Vipul,<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; On 24 Aug 2022, at 15:16, Vipul Su=
neja &lt;<a href=3D"mailto:vsuneja63@gmail.com" target=3D"_blank">vsuneja63=
@gmail.com</a>&gt; wrote:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Hi,<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; I am porting xen hypervisor on rpi=
4 with yocto kirkstone sources. Followed the basic steps to build xen-image=
-minimal &amp;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0xen-guest-image-minimal. I could flash =
sd card with xen minimal image &amp; could see dom0 up. I copied &quot;Imag=
e&quot;,<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&quot;xen-guest-image-minimal&quot; .ex=
t3 file &amp; guest.cfg to &quot;/home/root&quot;. After that created a bri=
dge with below step:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; killall -SIGUSR2 udhcpc<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; brctl addbr xenbr0<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; brctl addif xenbr0 eth0<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; killall udhcpc<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; udhcpc -R -b -p /var/run/udhcpc.xe=
nbr0.pid -i xenbr0<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Could see the xenbr0 interface up.=
<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; After that while mounting the gues=
t file system it shows no such file or directory but the file is already th=
ere.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~# ls -l<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r=
--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 24652=
288 Mar=C2=A0 9 12:36 Image<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r=
--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0247 Mar=C2=A0 9 12:37 guest1.cfg<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r=
--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0868220=
928 Mar=C2=A0 9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~# chmod 0777 xen-guest-image-minimal-raspberrypi4-64.ext3<=
br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~# ls -l<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r=
--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 24652=
288 Mar=C2=A0 9 12:36 Image<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rw-r=
--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0247 Mar=C2=A0 9 12:37 guest1.cfg<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; -rwxr=
wxrwx=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0868220=
928 Mar=C2=A0 9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~# losetup /dev/loop0 xen-guest-image-minimal-raspberrypi4-=
64.ext3<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; loset=
up: xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory=
<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image-minimal-ra=
spberrypi4-64.ext3<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; loset=
up: /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file o=
r directory<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~#<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~#<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~#<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; root@=
raspberrypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image-minimal-ra=
spberrypi4-64.ext3<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; loset=
up: /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file o=
r directory<br>
&gt; <br>
&gt; It looks like either<br>
&gt; /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3 doesn&#39;t ex=
ist or<br>
&gt; /dev/loop0 doesn&#39;t exist<br>
&gt; <br>
&gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Why do you want to mount the file syste=
m ?<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Anyway this is not related to Xen, I gu=
ess you could start without xen and still not manage to mount the file like=
 that (linux<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0configuration issue ?)<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0What is the content of you guest.cfg<br=
>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0How do you want to pass the guest root =
file system ?<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Yocto should actually generate an img f=
ile and you could use it by having something like this in your guest.cfg:<b=
r>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0disk=3D[&quot;file:/home/root/guest1.im=
g,xvda,w=E2=80=9D]<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Cheers<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Bertrand<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Any input on this issue will be re=
ally helpful, expecting your response.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Thanks &amp; Regards,<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Vipul Kumar<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt;<br>
<br>
</blockquote></div>

--0000000000006718c105e70cfc46--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 09:07:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 09:07:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393182.631964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR8ph-0002Eg-Gf; Thu, 25 Aug 2022 09:07:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393182.631964; Thu, 25 Aug 2022 09:07:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR8ph-0002EZ-E6; Thu, 25 Aug 2022 09:07:25 +0000
Received: by outflank-mailman (input) for mailman id 393182;
 Thu, 25 Aug 2022 09:07:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oR8pg-0002ET-DI
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 09:07:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oR8pd-0001y0-Ue; Thu, 25 Aug 2022 09:07:21 +0000
Received: from [54.239.6.188] (helo=[192.168.11.158])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oR8pd-0003oe-O9; Thu, 25 Aug 2022 09:07:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=WgM2SLMASiTtPzx/1gmlV6cUDfaK7DdlYGvcHC5lYvs=; b=OgjbIw8A+sdPByjT/bjOy3xNl9
	KgJ/zg0sdMzrGFyp8Z4tiBs6heGTo5xnoNFQThWrfZiK2BKXMP4EomZDwKLgxcvjNhzJd4QfanVKf
	qvwtK0CgGZelwb2KgQWFwOSit/DGuDv7U4PB0t3UU/Nzx73DuKBBCf/YolPm8YuIESPc=;
Message-ID: <12a8c169-55aa-5e9f-19f8-acd77ea2a8fe@xen.org>
Date: Thu, 25 Aug 2022 10:07:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Content-Language: en-US
To: Leo Yan <leo.yan@linaro.org>, Marc Zyngier <maz@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>, Jan Beulich <jbeulich@suse.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Peter Griffin <peter.griffin@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
 <jgrall@amazon.com>, Mathieu Poirier <mathieu.poirier@linaro.org>
References: <20220817105720.111618-1-leo.yan@linaro.org>
 <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
 <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
 <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
 <871qtcsacd.wl-maz@kernel.org> <Ywcr1849LiEHezd3@leoy-huanghe>
From: Julien Grall <julien@xen.org>
In-Reply-To: <Ywcr1849LiEHezd3@leoy-huanghe>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 25/08/2022 08:59, Leo Yan wrote:
> On Fri, Aug 19, 2022 at 01:10:10PM +0100, Marc Zyngier wrote:
> 
> [...]
> 
>>>>> In the context of Xen, dom0 doesn't have direct access to the host ITS
>>>>> because we are emulating it. So I think it doesn't matter for us because we
>>>>> can fix our implementation if it is affected.
>>>>>
>>>>> That said, kexec-ing dom0 (or any other domain) on Xen on Arm would require
>>>>> some work to be supported. OOI, @leo is it something you are investigating?
>>>>
>>>>
>>>> Now I am working on automative reference platform; the first thing for
>>>> me is to resolve the kernel oops.
>>>>
>>>> For long term, I think the kexec/kdump would be important to be
>>>> supported, to be clear, so far supporting kexec/kdump for Xen/Linux is
>>>> not priority for my work.
>>>>
>>>> Also thanks a lot for Ard and Mark's replying. To be honest, I missed
>>>> many prerequisites (e.g. redistributor configurations for GIC in
>>>> hypervisor) and seems Xen uses a different way by emulating GICv3
>>>> controller for guest OS.  So now I am bit puzzle what's for next step
>>>> or just keep as it is?
>>>>
>>>
>>> If i understand Julien's remark correctly, the dom0 GICv3 is emulated,
>>> and so it should not suffer from the issue that we are working around
>>> here.
> 
> Before proceeding discussion, I would like step back to get clear for
> the GIC implementation in Xen, otherwise, it's really hard for me to
> catch up the dicussion :)
> 
> For me it's clear that Xen emulates GICv3 for DomU, but I am still
> confused how GICv3 works for Dom0.
> 
> Xen directly passes ACPI MADT table from UEFI to Linux kernel to Dom0,
> (see functions acpi_create_madt() and gic_make_hwdom_madt()), which
> means the Linux kernel Dom0 uses the same ACPI table to initialize GICv3
> driver, but since Linux kernel Dom0 accesses GIC memory region as IPA,
> it still trap to Xen in EL2 for stage 2 translation, so finally Xen
> can emulate the GICv3 device for Dom0.

In the default setup, dom0 is also the hardware domain. So it owns all 
of the devices but the ones used by Xen (e.g. interrupt controller, SMMU).

Therefore, dom0 will use the same memory layout as the host. At which 
point, it is a lot more convenient to re-use the host ACPI tables and 
rewrite only what's necessary.

> 
> This is quite different from DomU.  Xen prepares a DT node for GICv3
> rather than directly passing ACPI table, so DomU kernel initializes
> GICv3 driver based on the DT binding.

DomUs memory layout is defined by Xen. So we need to create the 
Device-Tree and ACPI tables (both are supported) from scrartch.

> 
> Simply to say, no matter Dom0 using ACPI table or DomU using DT
> binding, at the end Xen emulates GICv3 device for all of them.

Correct. In both situations the GICv3 will be owned by Xen and we will 
emulate the bits that are not virtualized by the CPUs (e.g. 
re-distributors).

> 
> Another thing is not clear for me is that I can see Xen allocates
> redistributor pending page (see gicv3_lpi_set_pendtable()), after Dom0
> or DomU kernel boots up, kernel allocates another RD pending page; so
> the question is how these two different pending pages co-work
> together.

Xen allocates the pending pages that will be used by the host. Dom0/DomU 
will be allocating pending pages that will be used by the virtual GICv3.

> 
> In other words, let's assume the Dom0 kernel panic and its secondary
> kernel is launched by kexec, is it necessarily for the secondary
> kernel to reuse the primary kernel's RD pending page?

No.

>  Or in this case
> it's no matter for the RD pending page in Dom0 and it's safe for Xen
> always maintains its own RD pending page in EL2?

Dom0 doesn't have direct access to the host GICv3 (this will be 
controlled by Xen). What we expose to dom0 is a virtual GICv3.

So effectively we have two different GICv3 and each of them will require 
their own set of pending table.

> 
>> The problem is that there is no way to distinguish a system that
>> suffers from GICR LPI tables being immutable from one that allows the
>> LPI configuration being changed (either because the HW allows it or
>> because the hypervisor plays other games).
> 
> Let me ask a stupid question.  Seems to me, GICR LPI tables can be
> configured as below options
> 
> - The hypervisor pre-allocates GICR LPI tables and pass the memory
>    region info to Dom0 kernel;
> 
> - The hypervisor doesn't allocate GICR LPI tables, and then Dom0
>    kernel allocates GICR LPI tables for the virtual GICv3, and Dom0
>    directly write data to the GICR LPI tables and the table is used by
>    physical GICv3;
> 
> - The hypervisor pre-allocates GICR LPI tables for phycial GICv3 and
>    Dom0 kernel allocates another GICR LPI tables for virtual GICv3,
>    and Xen needs to sync between these two tables.
> 
> To be clear, all of above three options are hypothesis.  So please
> correct me if anything is wrong (or even total are wrong?!).

I will defer this question to Marc.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 09:26:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 09:26:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393189.631976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR97q-0004fY-6C; Thu, 25 Aug 2022 09:26:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393189.631976; Thu, 25 Aug 2022 09:26:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR97q-0004fR-3I; Thu, 25 Aug 2022 09:26:10 +0000
Received: by outflank-mailman (input) for mailman id 393189;
 Thu, 25 Aug 2022 09:26:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oR97o-0004fL-Lk
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 09:26:08 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0989845-2457-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 11:26:05 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4081E5BCEF;
 Thu, 25 Aug 2022 09:26:03 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 059DC13517;
 Thu, 25 Aug 2022 09:26:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id luA+OypAB2M1RgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 09:26:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0989845-2457-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661419563; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=BYfTZFURvyLCFYVU3ltFgIRHLc50Lkg36j+xzInhtWI=;
	b=qrtmchGnpdx4Li2CexVjMJHXy+6yN4kZSUZagt6K/wEDzX6fbtPxLO/TYsa0ADZmPk6Dkt
	K0+ZYizhPYlyPeCuLO6HdEAkq3cpYHG7QUUP+BVo8f0nR91Gcn3E9LNVZPgqPttUFJTOUk
	uepJ+vC6hOLcHab0OG+L32V3qNARRgs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	stable@vger.kernel.org,
	Rustam Subkhankulov <subkhankulov@ispras.ru>
Subject: [PATCH v2] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Date: Thu, 25 Aug 2022 11:26:00 +0200
Message-Id: <20220825092600.7188-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The error exit of privcmd_ioctl_dm_op() is calling unlock_pages()
potentially with pages being NULL, leading to a NULL dereference.

Additionally lock_pages() doesn't check for pin_user_pages_fast()
having been completely successful, resulting in potentially not
locking all pages into memory. This could result in sporadic failures
when using the related memory in user mode.

Fix all of that by calling unlock_pages() always with the real number
of pinned pages, which will be zero in case pages being NULL, and by
checking the number of patches pinned by pin_user_pages_fast()
matching the expected number of pages.

Cc: <stable@vger.kernel.org>
Fixes: ab520be8cd5d ("xen/privcmd: Add IOCTL_PRIVCMD_DM_OP")
Reported-by: Rustam Subkhankulov <subkhankulov@ispras.ru>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- use "pinned" as parameter for unlock_pages() (Jan Beulich)
- drop label "unlock" again (Jan Beulich)
- add check for complete success of pin_user_pages_fast()
---
 drivers/xen/privcmd.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 3369734108af..7dc62510635e 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -602,6 +602,10 @@ static int lock_pages(
 		*pinned += page_count;
 		nr_pages -= page_count;
 		pages += page_count;
+
+		/* Exact reason isn't known, EFAULT is one possibility. */
+		if (page_count < requested)
+			return -EFAULT;
 	}
 
 	return 0;
@@ -677,10 +681,8 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
 	}
 
 	rc = lock_pages(kbufs, kdata.num, pages, nr_pages, &pinned);
-	if (rc < 0) {
-		nr_pages = pinned;
+	if (rc < 0)
 		goto out;
-	}
 
 	for (i = 0; i < kdata.num; i++) {
 		set_xen_guest_handle(xbufs[i].h, kbufs[i].uptr);
@@ -692,7 +694,7 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
 	xen_preemptible_hcall_end();
 
 out:
-	unlock_pages(pages, nr_pages);
+	unlock_pages(pages, pinned);
 	kfree(xbufs);
 	kfree(pages);
 	kfree(kbufs);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 09:28:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 09:28:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393195.631987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR99r-0005GJ-I1; Thu, 25 Aug 2022 09:28:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393195.631987; Thu, 25 Aug 2022 09:28:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR99r-0005GC-FC; Thu, 25 Aug 2022 09:28:15 +0000
Received: by outflank-mailman (input) for mailman id 393195;
 Thu, 25 Aug 2022 09:28:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M9hs=Y5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oR99q-0005G2-5P
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 09:28:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2063.outbound.protection.outlook.com [40.107.21.63])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3dd23d0f-2458-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 11:28:13 +0200 (CEST)
Received: from AS9PR06CA0567.eurprd06.prod.outlook.com (2603:10a6:20b:485::35)
 by VI1PR08MB4176.eurprd08.prod.outlook.com (2603:10a6:803:ec::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 09:28:07 +0000
Received: from VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:485:cafe::8b) by AS9PR06CA0567.outlook.office365.com
 (2603:10a6:20b:485::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Thu, 25 Aug 2022 09:28:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT021.mail.protection.outlook.com (10.152.18.117) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Thu, 25 Aug 2022 09:28:07 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Thu, 25 Aug 2022 09:28:06 +0000
Received: from 9ad9db476ed8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 83EA18E2-E3CB-4FBE-88FC-7335259BF02B.1; 
 Thu, 25 Aug 2022 09:27:59 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9ad9db476ed8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 25 Aug 2022 09:27:59 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM6PR08MB4024.eurprd08.prod.outlook.com (2603:10a6:20b:a5::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Thu, 25 Aug
 2022 09:27:57 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Thu, 25 Aug 2022
 09:27:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dd23d0f-2458-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=OdfM/OZoPGl/JDW9YYdWSvMW3uOHJ0Pl2XDZ3dVxgeXeXuPouy3rQCdI65XStWF/8duoQdJ7wBtngKqzrCWyjFxMd9Jnu7xSg9UrxC5gduVCRUAVx+hI4h5SwhCTHvS4h0tGXxR8Kp18AdtGEd5+Bz/+eZZ/cUzK2yunO0/KyVkjqs34GeN0MuUdU5jvDEFlqeHE7mN3OzjUT1CsO6VopQQ4sa+vwHuQX/lABdyIDwKfrrGY0BKwpktLPK0anQZC+ecY5gTpooTsw5pGp/Q8HsiRPp75hW6K0ZqYtFFNR1K2zL7/Sfo+S8LjpicLf2s+hK33VSDhO9ETtZiyYvmZ8Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ps/y4odxhD3VMf6tdbhYqnEv3+K9+UvqJJejb3aM18M=;
 b=IkajBnt/mIj6oTOQvZnD4aMIpq8p+o/FtequSl41tPN6yej+0dkPKlBkJXGfyFc/lNre3jv2hUlU3hOnAxIwb4nmKjl09JO1GxJBKwlwAh6wr5+1ypYkQ/30uamo0Mnb7wPeQ4ySh+TnafPA+oCSUQNqojJHNqLdibo3kzIUctd3DWWrI8iOAxFO/2/uZGYMuvIiMh8uFH1orSdxGiO1C6rq7ZY5zT441jptkXx99PT9XIupEyLu44JfSVC44I/et+w88+y3nxrujVXMJRrwAJvPzgcgHi/P7vSZrr6D1C8CBH50DmtDgIs0rB1VxOOILQWecgoMNU/dbH9OpfpSCA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ps/y4odxhD3VMf6tdbhYqnEv3+K9+UvqJJejb3aM18M=;
 b=kh8QCwjXyCxjt3E3ta917eg2La90J6lyNHkfhMr937NRPdCFd4HpVY5Amty5jnVBzw6lQu0TTnicblG7DAtyoI56BFgEdea/3mFOuLXSfcW9U5VkDiYI9Y6x+dFv0GCtbiEfAbH6uQVjn8zcmb3Ge5u7e7AiFroy1K/t0hjchLA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: fb1c888219e141f5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DTEGGkhCis4cwRjD7aS5vtUqsFWHFekdH35Mjbgw1f/qdUEZgK5UvSLJVcyDzDRGpDHr3rkI/X/ZyThJbw3VijnhXVvFOC8UdWXWFXO+XKVJONDCrdn0UbJNxKHC0glucI8H6vcPCSuIFSXpSJKOrnqP9Ki1ORZOWC+tGeJOz7gQeBC1UslPYG/aWl3Drd2LNxVk41mlxV/rVmFTOT+/9mmVmBYd0A4uvbr6KvvGGyG67fLfjFxLjw3b76MistbSHkP/8OaH5fa96X9Tx7vZr3hlM1tjM75XT5PEJgyXFSAnpbUiHDVb9qD0SvzjUM4iTDeDpzxCvgMVLJAudcHIWw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ps/y4odxhD3VMf6tdbhYqnEv3+K9+UvqJJejb3aM18M=;
 b=HWk19TXqueb0RHmYXQsN3DcdakgN+omBmp0tD7/BPsA8I2NT60Ncap1x/PFVeJf/oGuJWZfOZwHFB8yHJ/LYOPVYks7YUzWy5TL8j8bRu5Oyd9Zsyr27nG8k1T0FaG2w6HFt7VvesJTmoxDpic7LPw5n13Dsf/Dz6oAl7P1kBsnfdTyMBeBEkoSh1xZ+SEGcnqkZHE91VWEeY0NjZOZyj32egfAuBlbNB5r88ExY6+/ymobUFwHeCKWcqyFMV0dMdIuoldihl8OuaeMPYycIEHRD7c0lqm64rDbNC6xulcFEVITaZYQRTzBLXRjwxGoATlJS6YUMdNiX42rT814Lfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ps/y4odxhD3VMf6tdbhYqnEv3+K9+UvqJJejb3aM18M=;
 b=kh8QCwjXyCxjt3E3ta917eg2La90J6lyNHkfhMr937NRPdCFd4HpVY5Amty5jnVBzw6lQu0TTnicblG7DAtyoI56BFgEdea/3mFOuLXSfcW9U5VkDiYI9Y6x+dFv0GCtbiEfAbH6uQVjn8zcmb3Ge5u7e7AiFroy1K/t0hjchLA=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Vipul Suneja <vsuneja63@gmail.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>
Subject: Re: Porting xen on rpi4
Thread-Topic: Porting xen on rpi4
Thread-Index:
 AQHYt8SgkyOonJ7Wl0ezDHN7orB+v62+Hg2AgAAnmwCAAEWWAIAAroCAgAAG0YCAABDyAIAACN+A
Date: Thu, 25 Aug 2022 09:27:56 +0000
Message-ID: <E9EE3632-4591-4A2F-BF28-E69A961F1E5E@arm.com>
References:
 <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
 <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com>
 <CALAP8f_=NztOC9FKYnrCyknOM4jf27cRqjJ9+7UqOEH6qCAD8Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2208241401110.15247@ubuntu-linux-20-04-desktop>
 <CALAP8f-3jcGen82DaVrxRTF3TMDVMkLJA5Nsxu=HDYFDqTOOdQ@mail.gmail.com>
 <62627CF0-8594-4DEB-9F6C-37AECDE6B77B@arm.com>
 <CALAP8f_JqwRcPM9_xLT6U6xeHLDVNO5itA0ELC_pZ-xyUyKqtQ@mail.gmail.com>
In-Reply-To:
 <CALAP8f_JqwRcPM9_xLT6U6xeHLDVNO5itA0ELC_pZ-xyUyKqtQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a232e8b5-7ed6-4068-6c0c-08da867c1e83
x-ms-traffictypediagnostic:
	AM6PR08MB4024:EE_|VE1EUR03FT021:EE_|VI1PR08MB4176:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 IRiaxIzOtrOjBWvNp8rSk+mtEZdN0Hs7gu5UBxHFOMOw0I/FNca9cm5TyJ/3ND+2+DXH5OMdvRtbFg2p9lQircRNT626cZ1JbjGbB49MbJIvWPvpw+p1NtTVgpUnzQLuB0Zf6U1eCRvW2OJ8jJ8dyU6YDIV5y9aYbN3ARPAJ0J2X0dObAqsik3C3cft5LfSUVixD/6HqSeWPgjkmJqFyA+tn9Zni5XPyRgwTLuoUvCHnV5DSLQUaan27yQfEzj+b7xHXXAMRPuoIGkOMJN7NQ9IZ68T3yCIWBY+7igoXKGoalYk/KNQ+IaQ3p5OUaZjVrRGZ2VUQ6NVDEOKwpZM5rNs+R+dlvMW/BhgZDKOjRrt5WINvjrpqLkAmFM3iHQJynnEN2mkQXoIpckAor5sa/55OtJG/vQLT81G95fS86xsAemxriMqidQ4FLIBiY2NjFh9+M4HntppuZKBjRNwlt2XT8jpQK1g3AWsrN7r8CMBqSOLhyoa0S7hkTlA+vJP1tHx8LuymbuPKBKU9K4ncNaa4Qa0529y/b9u08+H9VYARIdYQkjUWBcsOfr5YNPxTAA6wnQC3gZehpQq4p34uYNQS5XRDuX3jB4M5YtQgl47wGT4HDMFIgyR915VPTJ41HZ6Kpi5cniznsrWnd+WQOQQe4g0JNMzVAIec2fyOL7pZrT0t1IvLUYoIOZB/6Ng+Lagv6L9bAiN+Snjub5/9kV+wH5r8SN+gmN66NZk3jEF4TEpfKLb0AAo3OQQwOYc3xyLG470jaYjikAfUsr35Lwpf1gDZfmq9dcp+sHxSSB4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(136003)(346002)(396003)(366004)(478600001)(6486002)(316002)(6916009)(6506007)(71200400001)(5660300002)(8936002)(2616005)(6512007)(54906003)(2906002)(186003)(53546011)(26005)(86362001)(41300700001)(83380400001)(8676002)(76116006)(66446008)(38070700005)(33656002)(4326008)(122000001)(64756008)(66556008)(66476007)(38100700002)(66946007)(36756003)(91956017)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <48C9023EB255B740A7F1D6355EBF59F7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4024
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c8df3493-01f8-4c1c-6a39-08da867c1809
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9vp1NCWOjY7bRLRU+VNiTVEqBYuSjfTFDYYRjcrrGDIm5rqEE6rOOlTd9zWe6OdWP5JxqyIIOrKhwHmBGyqvMNeGQSl8lnXASiP0uXyCMdZqd2GKMzzxXblrJNO5ZzOpMkvxpiCKnUAQ5lY3od4qLNaMhrBuYfS4/89qrhnBe9nSJhlrMyn91eob77mO3rnqfxCh3eEXSeacYBjF6shQ3bCmjVqvnJZljwNBuLYQrvCvzJbFLCxPTcoG/UiPjjGXhVZhnJUrLzaAwnEn8ZNcQS65WdCN2IQm3JfYUhSecgXjhTLULbEZilIm9T7fXtCgUR7VM5A3xFTWinnErgrPAPHs17j1FSz/dyrYLeWnKZmedKyJIFvA/4Eivox4Vgc09LCKHPR0MuBciaZ03tlnIdSbKGPUnuj6T9sVJV2WaRmkHeRhAxgV5xapdi6AB3wUfG5vwgRpfPbXGEVRp6bsQZoXhR9DSBWkhl8QYpaBrrp/NIWBflvE1J+oAWOL0P77GJRavSwoBqPaIPKqQp1V/XKsV9+O3qkJ516gWZCkzFl1ok3vX3ZLsExpIaQm8r3+rFIg73W97wrpv6YF3s7T5e0W5yU6ZgQvEv6yQaN1W5Vh/icT4lgwl1/sXe0KyTNUTtdXLTEVECDSUYzZrVrNbN9dVDYx9LiW6VRR4L73qdjIeCs5cFMxya5D1LyLw+C6HY//VC6fNt10cjDcVzM4W0rxMGkhsUsCLRVBC5NgS7RlsbnbvsitSJ4MU3nUmlkrxUSTErWskHsqPS+RgWOJsw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(346002)(39860400002)(376002)(40470700004)(46966006)(36840700001)(81166007)(5660300002)(6512007)(83380400001)(47076005)(82310400005)(6506007)(86362001)(33656002)(53546011)(36756003)(6486002)(356005)(478600001)(26005)(6862004)(82740400003)(8936002)(40480700001)(2616005)(316002)(54906003)(336012)(2906002)(186003)(8676002)(4326008)(70586007)(41300700001)(40460700003)(36860700001)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 09:28:07.0780
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a232e8b5-7ed6-4068-6c0c-08da867c1e83
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4176

SGkgVmlwdWwsDQoNCj4gT24gMjUgQXVnIDIwMjIsIGF0IDA5OjU2LCBWaXB1bCBTdW5lamEgPHZz
dW5lamE2M0BnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gSGkgQmVydHJhbmQsDQo+IA0KPiBUaGFu
a3MhDQo+IA0KPiBObywgSSBjb3VsZG4ndCBzZWUgL2Rldi9sb29wMC4gQ2FuIHlvdSBwbGVhc2Ug
Z3VpZGUgbWUgdG8gY3JlYXRlIGl0Pw0KDQpGaXJzdCB0aGluZyB0byB0cnkgaXMg4oCcbW9kcHJv
YmUgbG9vcCINCg0KSXQgdGhhdCBkb2VzIG5vdCB3b3JrIChpZSBtb2R1bGUgbm90IGZvdW5kKSB5
b3Ugc2hvdWxkIGNoZWNrIGluIHlvdXIgbGludXggY29uZmlnIGlmIEJMS19ERVZfTE9PUCBpcyBl
bmFibGVkLg0KDQo+IA0KPiBJIGRpZG4ndCBjaGFuZ2UgZG9tMCBjb25maWd1cmF0aW9ucywgaXQn
cyBkZWZhdWx0IGdlbmVyYXRlZCBieSB5b2N0by4NCj4gIA0KPiBJIHdpbGwgYXBwZW5kIHRoaXMg
IklNQUdFX0ZTVFlQRVM6YXBwZW5kID0gIiB3aWMuZ3rigJ0iIGluIGxvY2FsLmNvbmYgJiB3aWxs
IHVwZGF0ZSB5b3UuDQo+IA0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCj4gUmVnYXJkcywNCj4gVmlw
dWwgS3VtYXINCj4gDQo+IE9uIFRodSwgQXVnIDI1LCAyMDIyIGF0IDE6MjUgUE0gQmVydHJhbmQg
TWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPiB3cm90ZToNCj4gSGkgVmlwdWwsDQo+
IA0KPiA+IE9uIDI1IEF1ZyAyMDIyLCBhdCAwODozMSwgVmlwdWwgU3VuZWphIDx2c3VuZWphNjNA
Z21haWwuY29tPiB3cm90ZToNCj4gPiANCj4gPiBIaSBTdGVmYW5vLA0KPiA+IA0KPiA+IFRoYW5r
cyENCj4gPiANCj4gPiBBcyBzdWdnZXN0ZWQsIEkgY2hhbmdlZCB0aGUgZ3Vlc3QxLmNmZyBmaWxl
LiBCZWxvdyBhcmUgdGhlIGNvbnRlbnRzIG9mIGNvbmZpZyBmaWxlDQo+ID4gDQo+ID4ga2VybmVs
ID0gIi9ob21lL3Jvb3QvSW1hZ2UiDQo+ID4gY21kbGluZSA9ICJjb25zb2xlPWh2YzAgZWFybHlw
cmludGs9eGVuIHN5bmNfY29uc29sZSByb290PS9kZXYveHZkYSINCj4gPiBtZW1vcnkgPSAiMTAy
NCINCj4gPiBuYW1lID0gImd1ZXN0MSINCj4gPiB2Y3B1cyA9IDENCj4gPiBzZXJpYWw9InB0eSIN
Cj4gPiBkaXNrID0gWyAnZmlsZTovaG9tZS9yb290L3hlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJh
c3BiZXJyeXBpNC02NC5leHQzLHh2ZGEsdycgXQ0KPiA+IHZpZj1bICdtYWM9MDA6MTE6MjI6NjY6
ODg6MjIsYnJpZGdlPXhlbmJyMCx0eXBlPW5ldGZyb250JywgXQ0KPiA+IA0KPiA+IEl0cyBmYWls
aW5nIHdpdGggYmVsb3cgbG9nczoNCj4gPiANCj4gPiByb290QHJhc3BiZXJyeXBpNC02NDp+IyB4
bCBjcmVhdGUgLWMgZ3Vlc3QxLmNmZyANCj4gPiBQYXJzaW5nIGNvbmZpZyBmcm9tIGd1ZXN0MS5j
ZmcNCj4gPiBJbnZhbGlkIHBhcmFtZXRlciBgdHlwZScuDQo+ID4gbGlieGw6IGVycm9yOiBsaWJ4
bF9leGVjLmM6MTE3OmxpYnhsX3JlcG9ydF9jaGlsZF9leGl0c3RhdHVzOiAvZXRjL3hlbi9zY3Jp
cHRzL2Jsb2NrIGFkZCBbNzQyXSBleGl0ZWQgd2l0aCBlcnJvciBzdGF0dXMgMQ0KPiA+IGxpYnhs
OiBlcnJvcjogbGlieGxfZGV2aWNlLmM6MTI2NTpkZXZpY2VfaG90cGx1Z19jaGlsZF9kZWF0aF9j
Yjogc2NyaXB0OiBsb3NldHVwIC9kZXYvbG9vcDAgL2hvbWUvcm9vdC94ZW4tZ3Vlc3QtaW1hZ2Ut
bWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyBmYWlsZWQNCj4gPiBsaWJ4bDogZXJyb3I6IGxp
YnhsX2NyZWF0ZS5jOjE2NDM6ZG9tY3JlYXRlX2xhdW5jaF9kbTogRG9tYWluIDE6dW5hYmxlIHRv
IGFkZCBkaXNrIGRldmljZXMNCj4gPiBsaWJ4bDogZXJyb3I6IGxpYnhsX2V4ZWMuYzoxMTc6bGli
eGxfcmVwb3J0X2NoaWxkX2V4aXRzdGF0dXM6IC9ldGMveGVuL3NjcmlwdHMvYmxvY2sgcmVtb3Zl
IFs3OTNdIGV4aXRlZCB3aXRoIGVycm9yIHN0YXR1cyAxDQo+ID4gbGlieGw6IGVycm9yOiBsaWJ4
bF9kZXZpY2UuYzoxMjY1OmRldmljZV9ob3RwbHVnX2NoaWxkX2RlYXRoX2NiOiBzY3JpcHQ6IC9l
dGMveGVuL3NjcmlwdHMvYmxvY2sgZmFpbGVkOyBlcnJvciBkZXRlY3RlZC4NCj4gPiBsaWJ4bDog
ZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjExODM6bGlieGxfX2Rlc3Ryb3lfZG9taWQ6IERvbWFpbiAx
Ok5vbi1leGlzdGFudCBkb21haW4NCj4gPiBsaWJ4bDogZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjEx
Mzc6ZG9tYWluX2Rlc3Ryb3lfY2FsbGJhY2s6IERvbWFpbiAxOlVuYWJsZSB0byBkZXN0cm95IGd1
ZXN0DQo+ID4gbGlieGw6IGVycm9yOiBsaWJ4bF9kb21haW4uYzoxMDY0OmRvbWFpbl9kZXN0cm95
X2NiOiBEb21haW4gMTpEZXN0cnVjdGlvbiBvZiBkb21haW4gZmFpbGVkDQo+IA0KPiBJIHRoaW5r
IHlvdSBoYXZlIGEgbG9vcCBpc3N1ZS4NCj4gDQo+IENvdWxkIHlvdSBjaGVjayBpZiAvZGV2L2xv
b3AwIGV4aXN0cyA/DQo+IA0KPiBEaWQgeW91IGNoYW5nZSBzb21ldGhpbmcgb24gdGhlIGRvbTAg
bGludXggY29uZmlndXJhdGlvbiBnZW5lcmF0ZWQgYnkgWW9jdG8gPw0KPiANCj4gV2UgYXJlIHVz
aW5nIFlvY3RvIG9uIFJQSTQgaGVyZSB3aXRob3V0IGFueSBpc3N1ZSBsaWtlIHRoYXQsIG9ubHkg
ZGlmZmVyZW5jZSB3aXRoDQo+IHlvdXIgc2V0dXAgaXMgdGhhdCB3ZSBnZW5lcmF0ZSBhIHdpYyBp
bWFnZSB0byBoYXZlIGEgcmVhbCBkaXNrIGltYWdlIGluc3RlYWQgb2YNCj4gdXNpbmcgdGhlIGV4
dDMvZXh0NCBvbmUuDQo+IA0KPiBTaG91bGQgYmUgcG9zc2libGUgdG8gZG8gdGhlIHNhbWUgb24g
eW91ciBzaWRlIGJ5IGFkZGluZyB0aGUgZm9sbG93aW5nIGluIGxvY2FsLmNvbmY6DQo+IElNQUdF
X0ZTVFlQRVM6YXBwZW5kID0gIiB3aWMuZ3rigJ0NCj4gDQo+ID4gDQo+ID4gRXZlbiBhZnRlciBy
ZW1vdmluZyAndHlwZT1uZXRmcm9udCcgZnJvbSB2aWYgaXQncyBmYWlsaW5nLiANCj4gDQo+IFRo
aXMgb3B0aW9uIGlzIG9ubHkgZm9yIGh2bSBvbiB4ODYsIHNvIHlvdSBjYW4gcmVtb3ZlIGl0IGZy
b20geW91ciBjb25maWd1cmF0aW9uLg0KPiANCj4gPiBPbmUgbW9yZSBkb3VidCBoZXJlLCBjb3Vs
ZCB0aGlzIG1hYyBhZGRyZXNzIGJlIGEgZHVtbXkgb3IgYWN0dWFsIGhlcmU/DQo+IA0KPiBUaGlz
IGlzIGEgZHVtbXkgb25lIHlvdSBzZXQgZm9yIHRoZSBndWVzdCBuZXR3b3JrIGludGVyZmFjZSBh
bmQgdGhpcyBpcyB0aGUgTWFjDQo+ICBhZGRyZXNzIG90aGVyIGRldmljZXMgb24geW91ciBuZXR3
b3JrIHdpbGwgc2VlIHNvIGl0IG11c3QgYmUgZnVsbHkgdmFsaWQgKGFuZA0KPiAgbm90IGNvbmZs
aWN0aW5nIHdpdGggb3RoZXIgZGV2aWNlcyBvbiB5b3VyIG5ldHdvcmspLg0KPiANCj4gQ2hlZXJz
DQo+IEJlcnRyYW5kDQo+IA0KPiA+IA0KPiA+IFJlZ2FyZHMsDQo+ID4gVmlwdWwgS3VtYXINCj4g
PiANCj4gPiBPbiBUaHUsIEF1ZyAyNSwgMjAyMiBhdCAyOjM2IEFNIFN0ZWZhbm8gU3RhYmVsbGlu
aSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6DQo+ID4gT24gV2VkLCAyNCBBdWcgMjAy
MiwgVmlwdWwgU3VuZWphIHdyb3RlOg0KPiA+ID4gSGkgQmVydHJhbmQsDQo+ID4gPiBUaGFua3Mg
Zm9yIHlvdXIgcmVzcG9uc2UhDQo+ID4gPiANCj4gPiA+IEkgYnVpbGRlZCB0aGUgZ3Vlc3QgaW1h
Z2Ugb24geW9jdG8ga2lya3N0b25lIHNvdXJjZSB3aGljaCBoYXMgRlNUWVBFIGV4dDMuIEd1ZXN0
IGltYWdlIGdlbmVyYXRlZCBpcw0KPiA+ID4geGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJl
cnJ5cGk0LTY0LmV4dDMuDQo+ID4gPiBCZWxvdyBpcyB0aGUgY29udGVudCBvZiBndWVzdC5jZmcg
ZmlsZQ0KPiA+ID4gDQo+ID4gPiAgICBrZXJuZWwgPSAiL2hvbWUvcm9vdC9JbWFnZSIgDQo+ID4g
PiAgICBjbWRsaW5lID0gImNvbnNvbGU9aHZjMCBlYXJseXByaW50az14ZW4gc3luY19jb25zb2xl
IHJvb3Q9L2Rldi94dmRhIiANCj4gPiA+ICAgIG1lbW9yeSA9ICIyNTYiIA0KPiA+ID4gICAgbmFt
ZSA9ICJndWVzdDEiIA0KPiA+ID4gICAgdmNwdXMgPSAxIA0KPiA+ID4gICAgc2VyaWFsPSJwdHki
IA0KPiA+ID4gICAgZGlzayA9IFsgJ3BoeTovZGV2L2xvb3AwLHh2ZGEsdycgXSANCj4gPiA+ICAg
IHZpZj1bICdtYWM9MDA6MTE6MjI6NjY6ODg6MjIsYnJpZGdlPXhlbmJyMCx0eXBlPW5ldGZyb250
JywgXQ0KPiA+ID4gDQo+ID4gPiBJIGFtIHRyeWluZyB0byBtb3VudCB4ZW4tZ3Vlc3QtaW1hZ2Ut
bWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyB0byBhIHZpcnR1YWwgZGV2aWNlICYgdGhlbiB3
aWxsIHJ1biB0aGUgZ3Vlc3QgVk0gYnkgY29tbWFuZCAieGwgY3JlYXRlIC1jDQo+ID4gPiBndWVz
dC5jZmciLiBCdXQgZmFjaW5nIGlzc3VlIHdoaWxlIHRyeWluZyB0byBtb3VudC4gDQo+ID4gDQo+
ID4gWW91IGRvbid0IGFjdHVhbGx5IG5lZWQgdG8gbW91bnQNCj4gPiB4ZW4tZ3Vlc3QtaW1hZ2Ut
bWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyBhbnl3aGVyZSB0byB1c2UgaXQgdG8gcnVuDQo+
ID4geW91ciBndWVzdCBWTSB3aXRoICJ4bCBjcmVhdGUiLiANCj4gPiANCj4gPiBJdCBpcyBlbm91
Z2ggdG8gZG8gdGhpcyBpbnN0ZWFkLCBhcyBCZXJ0cmFuZCBzdWdnZXN0ZWQ6DQo+ID4gDQo+ID4g
ZGlzaz1bImZpbGU6L3BhdGgvdG8vZmlsZS94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVy
cnlwaTQtNjQuZXh0Myx4dmRhLHciXQ0KPiA+IA0KPiA+IE5vIG5lZWQgdG8gY2FsbCBsb3NldHVw
IG9yIG1vdW50LiBKdXN0IHhsIGNyZWF0ZSAtYy4NCj4gPiANCj4gPiBNb3JlIGFuc3dlcnMgYmVs
b3cuDQo+ID4gDQo+ID4gDQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4gVmlwdWwgS3VtYXINCj4gPiA+
IA0KPiA+ID4gT24gV2VkLCBBdWcgMjQsIDIwMjIgYXQgODowNiBQTSBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPiA+ID4gICAgICAgSGkgVmlwdWws
DQo+ID4gPiANCj4gPiA+ICAgICAgID4gT24gMjQgQXVnIDIwMjIsIGF0IDE1OjE2LCBWaXB1bCBT
dW5lamEgPHZzdW5lamE2M0BnbWFpbC5jb20+IHdyb3RlOg0KPiA+ID4gICAgICAgPg0KPiA+ID4g
ICAgICAgPiBIaSwNCj4gPiA+ICAgICAgID4NCj4gPiA+ICAgICAgID4gSSBhbSBwb3J0aW5nIHhl
biBoeXBlcnZpc29yIG9uIHJwaTQgd2l0aCB5b2N0byBraXJrc3RvbmUgc291cmNlcy4gRm9sbG93
ZWQgdGhlIGJhc2ljIHN0ZXBzIHRvIGJ1aWxkIHhlbi1pbWFnZS1taW5pbWFsICYNCj4gPiA+ICAg
ICAgIHhlbi1ndWVzdC1pbWFnZS1taW5pbWFsLiBJIGNvdWxkIGZsYXNoIHNkIGNhcmQgd2l0aCB4
ZW4gbWluaW1hbCBpbWFnZSAmIGNvdWxkIHNlZSBkb20wIHVwLiBJIGNvcGllZCAiSW1hZ2UiLA0K
PiA+ID4gICAgICAgInhlbi1ndWVzdC1pbWFnZS1taW5pbWFsIiAuZXh0MyBmaWxlICYgZ3Vlc3Qu
Y2ZnIHRvICIvaG9tZS9yb290Ii4gQWZ0ZXIgdGhhdCBjcmVhdGVkIGEgYnJpZGdlIHdpdGggYmVs
b3cgc3RlcDoNCj4gPiA+ICAgICAgID4NCj4gPiA+ICAgICAgID4ga2lsbGFsbCAtU0lHVVNSMiB1
ZGhjcGMNCj4gPiA+ICAgICAgID4gYnJjdGwgYWRkYnIgeGVuYnIwDQo+ID4gPiAgICAgICA+IGJy
Y3RsIGFkZGlmIHhlbmJyMCBldGgwDQo+ID4gPiAgICAgICA+IGtpbGxhbGwgdWRoY3BjDQo+ID4g
PiAgICAgICA+IHVkaGNwYyAtUiAtYiAtcCAvdmFyL3J1bi91ZGhjcGMueGVuYnIwLnBpZCAtaSB4
ZW5icjANCj4gPiA+ICAgICAgID4NCj4gPiA+ICAgICAgID4gQ291bGQgc2VlIHRoZSB4ZW5icjAg
aW50ZXJmYWNlIHVwLg0KPiA+ID4gICAgICAgPiBBZnRlciB0aGF0IHdoaWxlIG1vdW50aW5nIHRo
ZSBndWVzdCBmaWxlIHN5c3RlbSBpdCBzaG93cyBubyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IGJ1
dCB0aGUgZmlsZSBpcyBhbHJlYWR5IHRoZXJlLg0KPiA+ID4gICAgICAgPg0KPiA+ID4gICAgICAg
PiBbMjM6NDA6MTVdIDxHdWVzdDkwNDY+IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jIGxzIC1sDQo+
ID4gPiAgICAgICA+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gLXJ3LXItLXItLSAgICAxIHJvb3Qg
ICAgIHJvb3QgICAgICAyNDY1MjI4OCBNYXIgIDkgMTI6MzYgSW1hZ2UNCj4gPiA+ICAgICAgID4g
WzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiAtcnctci0tci0tICAgIDEgcm9vdCAgICAgcm9vdCAgICAg
ICAgICAgMjQ3IE1hciAgOSAxMjozNyBndWVzdDEuY2ZnDQo+ID4gPiAgICAgICA+IFsyMzo0MDox
NV0gPEd1ZXN0OTA0Nj4gLXJ3LXItLXItLSAgICAxIHJvb3QgICAgIHJvb3QgICAgIDg2ODIyMDky
OCBNYXIgIDkgMTI6MzkgeGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4
dDMNCj4gPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiByb290QHJhc3BiZXJyeXBp
NC02NDp+IyBjaG1vZCAwNzc3IHhlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02
NC5leHQzDQo+ID4gPiAgICAgICA+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0Nj4gcm9vdEByYXNwYmVy
cnlwaTQtNjQ6fiMgbHMgLWwNCj4gPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiAt
cnctci0tci0tICAgIDEgcm9vdCAgICAgcm9vdCAgICAgIDI0NjUyMjg4IE1hciAgOSAxMjozNiBJ
bWFnZQ0KPiA+ID4gICAgICAgPiBbMjM6NDA6MTVdIDxHdWVzdDkwNDY+IC1ydy1yLS1yLS0gICAg
MSByb290ICAgICByb290ICAgICAgICAgICAyNDcgTWFyICA5IDEyOjM3IGd1ZXN0MS5jZmcNCj4g
PiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiAtcnd4cnd4cnd4ICAgIDEgcm9vdCAg
ICAgcm9vdCAgICAgODY4MjIwOTI4IE1hciAgOSAxMjozOSB4ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1h
bC1yYXNwYmVycnlwaTQtNjQuZXh0Mw0KPiA+ID4gICAgICAgPiBbMjM6NDA6MTVdIDxHdWVzdDkw
NDY+IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jIGxvc2V0dXAgL2Rldi9sb29wMCB4ZW4tZ3Vlc3Qt
aW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0Mw0KPiA+ID4gICAgICAgPiBbMjM6NDA6
MTVdIDxHdWVzdDkwNDY+IGxvc2V0dXA6IHhlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJy
eXBpNC02NC5leHQzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQo+ID4gPiAgICAgICA+IFsy
Mzo0MDoxNV0gPEd1ZXN0OTA0Nj4gcm9vdEByYXNwYmVycnlwaTQtNjQ6fiMgbG9zZXR1cCAvZGV2
L2xvb3AwIC9ob21lL3Jvb3QveGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0
LmV4dDMNCj4gPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiBsb3NldHVwOiAvaG9t
ZS9yb290L3hlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQzOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5DQo+ID4gPiAgICAgICA+IFsyMzo0MDoxNV0gPEd1ZXN0OTA0
Nj4gcm9vdEByYXNwYmVycnlwaTQtNjQ6fiMNCj4gPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vl
c3Q5MDQ2PiByb290QHJhc3BiZXJyeXBpNC02NDp+Iw0KPiA+ID4gICAgICAgPiBbMjM6NDA6MTVd
IDxHdWVzdDkwNDY+IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jDQo+ID4gPiAgICAgICA+IFsyMzo0
MDoxNV0gPEd1ZXN0OTA0Nj4gcm9vdEByYXNwYmVycnlwaTQtNjQ6fiMgbG9zZXR1cCAvZGV2L2xv
b3AwIC9ob21lL3Jvb3QveGVuLWd1ZXN0LWltYWdlLW1pbmltYWwtcmFzcGJlcnJ5cGk0LTY0LmV4
dDMNCj4gPiA+ICAgICAgID4gWzIzOjQwOjE1XSA8R3Vlc3Q5MDQ2PiBsb3NldHVwOiAvaG9tZS9y
b290L3hlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQzOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5DQo+ID4gDQo+ID4gSXQgbG9va3MgbGlrZSBlaXRoZXINCj4gPiAv
aG9tZS9yb290L3hlbi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQzIGRv
ZXNuJ3QgZXhpc3Qgb3INCj4gPiAvZGV2L2xvb3AwIGRvZXNuJ3QgZXhpc3QNCj4gPiANCj4gPiAN
Cj4gPiA+ICAgICAgIFdoeSBkbyB5b3Ugd2FudCB0byBtb3VudCB0aGUgZmlsZSBzeXN0ZW0gPw0K
PiA+ID4gDQo+ID4gPiAgICAgICBBbnl3YXkgdGhpcyBpcyBub3QgcmVsYXRlZCB0byBYZW4sIEkg
Z3Vlc3MgeW91IGNvdWxkIHN0YXJ0IHdpdGhvdXQgeGVuIGFuZCBzdGlsbCBub3QgbWFuYWdlIHRv
IG1vdW50IHRoZSBmaWxlIGxpa2UgdGhhdCAobGludXgNCj4gPiA+ICAgICAgIGNvbmZpZ3VyYXRp
b24gaXNzdWUgPykNCj4gPiA+IA0KPiA+ID4gICAgICAgV2hhdCBpcyB0aGUgY29udGVudCBvZiB5
b3UgZ3Vlc3QuY2ZnDQo+ID4gPiAgICAgICBIb3cgZG8geW91IHdhbnQgdG8gcGFzcyB0aGUgZ3Vl
c3Qgcm9vdCBmaWxlIHN5c3RlbSA/DQo+ID4gPiANCj4gPiA+ICAgICAgIFlvY3RvIHNob3VsZCBh
Y3R1YWxseSBnZW5lcmF0ZSBhbiBpbWcgZmlsZSBhbmQgeW91IGNvdWxkIHVzZSBpdCBieSBoYXZp
bmcgc29tZXRoaW5nIGxpa2UgdGhpcyBpbiB5b3VyIGd1ZXN0LmNmZzoNCj4gPiA+ICAgICAgIGRp
c2s9WyJmaWxlOi9ob21lL3Jvb3QvZ3Vlc3QxLmltZyx4dmRhLHfigJ1dDQo+ID4gPiANCj4gPiA+
ICAgICAgIENoZWVycw0KPiA+ID4gICAgICAgQmVydHJhbmQNCj4gPiA+IA0KPiA+ID4gICAgICAg
Pg0KPiA+ID4gICAgICAgPiBBbnkgaW5wdXQgb24gdGhpcyBpc3N1ZSB3aWxsIGJlIHJlYWxseSBo
ZWxwZnVsLCBleHBlY3RpbmcgeW91ciByZXNwb25zZS4NCj4gPiA+ICAgICAgID4NCj4gPiA+ICAg
ICAgID4gVGhhbmtzICYgUmVnYXJkcywNCj4gPiA+ICAgICAgID4gVmlwdWwgS3VtYXINCj4gPiA+
IA0KPiA+ID4gDQo+ID4gPg0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 09:38:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 09:38:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393201.631997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9JE-0006j8-G9; Thu, 25 Aug 2022 09:37:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393201.631997; Thu, 25 Aug 2022 09:37:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9JE-0006j1-DT; Thu, 25 Aug 2022 09:37:56 +0000
Received: by outflank-mailman (input) for mailman id 393201;
 Thu, 25 Aug 2022 09:37:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oR9JC-0006iv-QZ
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 09:37:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oR9JA-0002Uh-BK; Thu, 25 Aug 2022 09:37:52 +0000
Received: from [54.239.6.188] (helo=[192.168.11.158])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oR9JA-00053j-4w; Thu, 25 Aug 2022 09:37:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=vCnSeX9d2yB9eluMaqM9GZROTv76SFSd5RREFmXmFh0=; b=p8CddktxHCak6smZJVTzonl4JL
	qCSn/H44SRI6y1BJyO+MBNYcCoTS4oxASPvnwMb/C8rOXO1CvaaJDGl1XltLKn6898c80VXPxuP3N
	0j1QRxuMiFYpeqcoYTKDvyGjOLLLvELN7+fM8KlvojviGSyG9WCEvPLwI5VUge4joXdw=;
Message-ID: <32a74a0a-9f4f-7b3a-622b-6fb5e9a097b0@xen.org>
Date: Thu, 25 Aug 2022 10:37:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Rahul Singh <Rahul.Singh@arm.com>,
 xen-devel <xen-devel@lists.xenproject.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
 <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
 <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org>
 <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com>
 <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop>
 <da07bb5d-98c3-9c94-a1f0-6021e398f898@xen.org>
 <alpine.DEB.2.22.394.2208241810390.15247@ubuntu-linux-20-04-desktop>
 <646CFFC2-9259-45C8-89AB-D59AA5B0DBC1@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <646CFFC2-9259-45C8-89AB-D59AA5B0DBC1@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 25/08/2022 08:39, Bertrand Marquis wrote:
> Hi,
> 
>> On 25 Aug 2022, at 02:10, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>
>> On Wed, 24 Aug 2022, Julien Grall wrote:
>>> On 24/08/2022 22:59, Stefano Stabellini wrote:
>>>> On Wed, 24 Aug 2022, Rahul Singh wrote:
>>>>>> On 24 Aug 2022, at 4:36 pm, Julien Grall <julien@xen.org> wrote:
>>>>>> On 24/08/2022 15:42, Rahul Singh wrote:
>>>>>>>> On 24 Aug 2022, at 1:59 pm, Julien Grall <julien@xen.org> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 24/08/2022 13:15, Rahul Singh wrote:
>>>>>>>>> Hi Julien,
>>>>>>>>
>>>>>>>> Hi Rahul,
>>>>>>>>
>>>>>>>>> Please let me know your view on this.
>>>>>>>>> diff --git a/xen/arch/arm/domain_build.c
>>>>>>>>> b/xen/arch/arm/domain_build.c
>>>>>>>>> index bfe7bc6b36..a1e23eee59 100644
>>>>>>>>> --- a/xen/arch/arm/domain_build.c
>>>>>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>>>>>> @@ -3562,12 +3562,7 @@ static int __init construct_domU(struct
>>>>>>>>> domain *d,
>>>>>>>>>     if ( rc == -EILSEQ ||
>>>>>>>>>       rc == -ENODATA ||
>>>>>>>>>       (rc == 0 && !strcmp(dom0less_enhanced, â€œenabledâ€)) )
>>>>>>>>> -  {
>>>>>>>>> -    if ( hardware_domain )
>>>>>>>>>         kinfo.dom0less_enhanced = true;
>>>>>>>>> -    else
>>>>>>>>> -      panic(â€œTried to use xen,enhanced without dom0\nâ€);
>>>>>>>>> -  }
>>>>>>>>
>>>>>>>> You can't use "xen,enhanced" without dom0. In fact, you will end up
>>>>>>>> to dereference NULL in alloc_xenstore_evtchn(). That's because
>>>>>>>> "xen,enhanced" means the domain will be able to use Xenstored.
>>>>>>>>
>>>>>>>> Now if you want to support your feature without a dom0. Then I think
>>>>>>>> we want to introduce an option which would be the same as
>>>>>>>> "xen,enhanced" but doesn't expose Xenstored.
>>>>>>> If we modify the patch as below we can use the "xen,enhanced" for
>>>>>>> domUs without dom0.
>>>>>>> I tested the patch and its works fine. Do you see any issue with this
>>>>>>> approach?
>>>>>>
>>>>>> Yes. For two reasons:
>>>>>> 1) It is muddying the meaning of "xen,enhanced". In particular a user
>>>>>> may not realize that Xenstore is not available if dom0 is not present.
>>>>>> 2) It would be more complicated to handle the case where Xenstored lives
>>>>>> in a non-dom0 domain. I am not aware of anyone wanting this on Arm yet,
>>>>>> but I don't want to close the door.
>>>>>>
>>>>>> So if you want to support create "xen,xen" without all the rest. Then I
>>>>>> think we need a different property value. I don't have a good suggestion
>>>>>> for the name.
>>>>>
>>>>> Is that okay if we use the earlier approach, when user set  "xen,enhanced
>>>>> = evtchnâ€ we will not call alloc_xenstore_evtchn()
>>>>> but we create hypervisor node with all fields.
>>>>
>>>> Thinking more about this, today xen,enhanced has the implication that:
>>>>
>>>> - the guest will get a regular and complete "xen,xen" node in device tree
>>>> - xenstore and PV drivers will be available (full Xen interfaces support)
>>>>
>>>> We don't necessarely imply that dom0 is required (from a domU point of
>>>> view) but we do imply that xenstore+evtchn+gnttab will be available to
>>>> the domU.
>>>>
>>>> Now, static event channels are different. They don't require xenstore
>>>> and they don't require gnttab.
>>>>
>>>> It is as if the current xen,enhanced node actually meant:
>>>>
>>>>    xen,enhanced = "xenstore,gnttab,evtchn";
>>>
>>> Correct.
>>>
>>>>
>>>> and now we are only enabling a subset:
>>>>
>>>>    xen,enhanced = "evtchn";
>>>>
>>>> Is that a correct understanding?
>>>
>>> Yes with some cavears (see below).
>>>
>>>>
>>>>
>>>> If so, we can clarify that:
>>>>
>>>>    xen,enhanced;
>>>>
>>>> it is a convenient shortend for:
>>>>
>>>>    xen,enhanced = "xenstore,gnttab,evtchn";
>>>>
>>>> and that other combinations are also acceptable, e.g.:
>>>>
>>>>    xen,enhanced = "gnttab";
>>>>    xen,enhanced = "evtchn";
>>>>    xen,enhanced = "evtchn,gnttab";
>>>>
>>>> It is OK to panic if the user specifies an option that is currently
>>>> unsupported (e.g. "gnttab").
>>>
>>> So today, if you create the node "xen,xen", the guest will expect to be able
>>> to use both grant-table and event channel.
>>>
>>> Therefore, in the list above, the only configuration we can sensibly support
>>> without any major rework is "evtchn,gnttab".
>>>
>>> If we want to support "evtchn" or "gnttab" only. Then we likely need to define
>>> a new binding (or new version) because neither "regs" nor "interrupts" are
>>> optional (although a guest OS is free to ignore them).
>>
>> Yes I think you are right. I also broadly agree with the rest of your
>> reply.
>>
>> Thinking about it and given the above, we only need 2 "levels" of
>> enhancement:
>>
>> 1) everything: xenstore, gnttab, evtchn
>> 2) gnttab, evtchn, but not xenstore
>>
>> Nothing else is really possible because, as Julien pointed out,
>> "xen,enhanced" implies the xen,xen node in the domU device tree and in
>> turn that node implies both evtchn and gnttab.
> 
> So we could say that xen,enhanced always includes gnttab and Xenstore is optional.

Not really, Xenstore has always been part of the story in Xen. So I 
think making it optional for "xen,enhanced" is going to make more 
difficult for user to understand what the meaning of the option (in 
particular that in the future we may want to support Xenstored in a 
separate domain).

>> So I think we just need to add a way to express 2). We could do
>> something like:
>>
>>   xen,enhanced = "evtchn,gnttab";
> 
> I am a bit puzzled here as gnttab is always there.

What do you mean?

> 
>>
>> Or we could use a new separate option like Julien initially suggested,
>> e.g.:
>>
>>   xen,enhanced-no-xenstore;
>>
>> "xen,enhanced-no-xenstore" is a terrible name actually, but just to
>> explain what I am thinking :-)
> 
> I think most common use case will be to have all, so make sense to allow to disable Xenstore.
> 
> How about:
> xen,enhanced = â€œno-xenstoreâ€ ?

I would be fine with it.

> 
> An other solution is to keep xen,enhanced as it is and introduce a new option:
> Xen,no-xenstore

I don't like the idea of introducing yet another option.

> 
> At the end Xenstore cannot be used if there is no Dom0 and that we can detect easily.
> Also there is no solution at this stage to have an other domain then Dom0 providing
> Xenstore (maybe in the long term someone will want to introduce that and we will need
> a way to specify which domain is handling it).
> 
> So I still think that we could just say that Xenstore can only be active if there is a Dom0
> and just disable Xenstore automatically if it is not the case.

See above about disabling Xenstore automatically.

> If there is a dom0 and someone wants a guest without Xenstore, then we would need to
> have the no-xenstore support.
> But is it a use case ?

Do you mean when "xen,enhanced" is specified? If yes, this could be 
useful if one want to limit the interface exposed to the guest.

> 
> All in all, enhance dom0less was not supported before 4.17 so we will not create any
> backward compatibility issue.

I agree we still have the flexibility to change.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 09:48:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 09:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393208.632009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9Tg-0008I9-Lg; Thu, 25 Aug 2022 09:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393208.632009; Thu, 25 Aug 2022 09:48:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9Tg-0008I2-Ir; Thu, 25 Aug 2022 09:48:44 +0000
Received: by outflank-mailman (input) for mailman id 393208;
 Thu, 25 Aug 2022 09:48:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M9hs=Y5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oR9Tf-0008Hg-8T
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 09:48:43 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a5a51e5-245b-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 11:48:42 +0200 (CEST)
Received: from DBBPR09CA0032.eurprd09.prod.outlook.com (2603:10a6:10:d4::20)
 by AM5PR0801MB2033.eurprd08.prod.outlook.com (2603:10a6:203:4c::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Thu, 25 Aug
 2022 09:48:34 +0000
Received: from DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::ba) by DBBPR09CA0032.outlook.office365.com
 (2603:10a6:10:d4::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Thu, 25 Aug 2022 09:48:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT053.mail.protection.outlook.com (100.127.142.121) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Thu, 25 Aug 2022 09:48:33 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Thu, 25 Aug 2022 09:48:33 +0000
Received: from 4fccc3fc328b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B026A8B8-1B82-4997-AF7F-3F4AAA0406BF.1; 
 Thu, 25 Aug 2022 09:48:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4fccc3fc328b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 25 Aug 2022 09:48:22 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PR2PR08MB4841.eurprd08.prod.outlook.com (2603:10a6:101:27::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Thu, 25 Aug
 2022 09:48:19 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5546.024; Thu, 25 Aug 2022
 09:48:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a5a51e5-245b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=KDoB7M4BqeEMfybHr1e0O2Oh7OibLaKmwlIHH13G3u6ncY9AYleoWv7F9SCMGbzKFcCxwglnU/PZ7SgnZ42u/cnYDNVAFGR/EemYw487+5lgrFvLDUsI8J2e2olX0zHPWO/nL5+wLPwW5PizO0n77XM9F+eXk0onoJiACcm8tbaMKfUrPSnBU6LKZxqGU37XP3MPZAaFQA79Fg/FXyR5NVE50PCOUkDkP99gcS9swR/o6JEJR6UPbsrpsqoGBu7vvEHzfO2BW2P5owGYu1LWHIWBA0rWZMQ+NrQHalC0qPya/f7MZdT2ggVAq4Hu4M836OOq6aHKGeOqoiu1Cjs8EQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gLCXELMOwsk2k7Sk5WrT4UcdkjlSSCOUF7vBXp8cMwA=;
 b=iORxbl1YSW9wEIU7ZlXBF4o1o64PGlNolponZHIL6GSDa+cnQvralcc8QNPVYcSLfv8y6hOmZpXsPsqvsH9GNzkadoEtlDF7MB7zMB5pFaWL0it1Jw7TCZ6I5YW4nPAHqXpfTNYGIpN8+2QA88xQJvEAcFAR4kn3e6Go541h8JUTutj6pKnV/mDRWgcQDcFtv5Oh8Zd5iloXQZlue7SVdkJJfLV12I24bLfFag2VG5D5abADlHFOqZzyYkMLNooDpQ9k3KcPT53VEtpnFmu+p2u3zfKKbmb1/JwvP6NpO+v1uTGi+Y59vUYoqDvUVusqnF6ZjINTmETqUc4ouuvYOg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gLCXELMOwsk2k7Sk5WrT4UcdkjlSSCOUF7vBXp8cMwA=;
 b=56Hq6O5yaytAilkV0D8gKdRj276kRhdSJMq2gIKUcSDPiUx0l0edSh03bp3y0cAnLDnSZZNhKcQW4WQOFhgtEbVbm75rtfmhT9igcEGtkCZXMmWoVfqfaXg2foVGjWGMOZBkUMQSi/WqqBu41zgiDJdQcriJeW0ZLmgr66y6KNM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: a72839cd45d07110
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WRAhPLxSNTyB5IFhjRs1Y+ubtQr7rs652BeJ+lFx2bjDn31B9p9wiaTCkL9GY6N8SQgNxsq2yYZBxPKS6J7SAOkP0xaIeuQ5PF80AVZ4/DgQO+QcNRlxdd+1LGHzFlK1d4dsXVS3ujAbhkk1KZd6SfgQTsMZ/r1rTkb9VDYZ/OSFjL/grvPSXB7Anx3rwQHkUFIixzKKuzzsRjqYrpP8h0Tau1ALts3K64G7kpBB1+VN0qFnwFkOZJg8g+MoA0R7COaKdRGbAb+ZbZ5s0kLktk88SS1SkJyAeoTaojslQxtlKS683nzI3XtxCl5dDFoMlSQFmyeOZMgdzOUJeocSMQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gLCXELMOwsk2k7Sk5WrT4UcdkjlSSCOUF7vBXp8cMwA=;
 b=fPQw6xOuBuOZiFrBqTZEOr96siquRRl9KbyjEMy6LJyg8AVqiduRrmZBAQ28ptNft2u7Aig+bBokrB5AuTOXvwW2K4zMI7jrvx/uutwFuCggF7u4eI8ah/ctIyaozGOpAnQpSGFyYWDkXOqG5FP8kk8tnW+nxbJHDnH+qf4UqoDKsx9mD0RIwiELH1PG3D+UqB/fZwxcrN67yMOJZJvaxpMOeky97hCYi9BGlj5F/tohZYCT8osvGFCldtgClBLV0X0fpaoOMHhDnkEnZ+r/T1r6WukmWSGOQO2f12RLmE4WQf+Tj3wAHrvIfODMlnRnSqBcxeZILqjNVJl4QFmLWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gLCXELMOwsk2k7Sk5WrT4UcdkjlSSCOUF7vBXp8cMwA=;
 b=56Hq6O5yaytAilkV0D8gKdRj276kRhdSJMq2gIKUcSDPiUx0l0edSh03bp3y0cAnLDnSZZNhKcQW4WQOFhgtEbVbm75rtfmhT9igcEGtkCZXMmWoVfqfaXg2foVGjWGMOZBkUMQSi/WqqBu41zgiDJdQcriJeW0ZLmgr66y6KNM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Rahul Singh
	<Rahul.Singh@arm.com>, xen-devel <xen-devel@lists.xenproject.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Thread-Topic: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
Thread-Index:
 AQHYs7NVsywB9ZS1YkG+gj2FUNdLeq28SEyAgAG2wYCAAAw/gIAAHKuAgAAPTYCAABB2AIAAWmwAgAAL9QCAACl/gIAAbLmAgAAg9QCAAALsAA==
Date: Thu, 25 Aug 2022 09:48:19 +0000
Message-ID: <35C21FDE-5648-425A-9399-1C5E2B9A37FB@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
 <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
 <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org>
 <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com>
 <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop>
 <da07bb5d-98c3-9c94-a1f0-6021e398f898@xen.org>
 <alpine.DEB.2.22.394.2208241810390.15247@ubuntu-linux-20-04-desktop>
 <646CFFC2-9259-45C8-89AB-D59AA5B0DBC1@arm.com>
 <32a74a0a-9f4f-7b3a-622b-6fb5e9a097b0@xen.org>
In-Reply-To: <32a74a0a-9f4f-7b3a-622b-6fb5e9a097b0@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: dc9e1e28-30ef-46b6-1ee3-08da867ef995
x-ms-traffictypediagnostic:
	PR2PR08MB4841:EE_|DBAEUR03FT053:EE_|AM5PR0801MB2033:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 jloCpGqy7LUbw1EBuXyuX85bkA/V9wNOmlyOKgXodIW0ZzrDDSbdictt0h8c8nmCPYxnBS9NhNlbbDAi8D2O+KEq8jkr88ZVP3taMlRSDkLAsD/yH/WyP9p4oEy+rtRLxZ5cS0Bkvlef55LmUgfj7lAbH7JKGGGGnAG9ROAOYXXKsKrPZlCCZm7M+r3YaVE+AEKtnOfQ2YCm+tuTB/6mdMTgiFaxcDG1u/u42tW2e3KawOX4fLJh0YekfaX5/Tx4eI/wz9xAqwDYPB8bfcUJc6cUiFd7kUzP5DBgHEP8DsYXrJF8mbicG6D+1KVFSw/z2/aLlcMveLTPxXkXkFDDhOJU2mfWjcIkur1Yh3kUE4eLdfinpj8YkjszxmwPVg8VY7oY3xRVhfp23ZiR+5Pzm5p5YG8tRMgcSTZXI7bsfu299z1Q6rSmdY3TNUbM2IGlt7uc9joU7b/tE2eKNpX5RsroGFq2xQWpRGZ/rvA+Gdbt0IC5CXMGKYOxkDOL40xM4q5cHunP3TXk479pW+TiES2S5lavAcR6H+5JP/fcX4WDPmYfnDP8RX+NLm2c7XD/cDkjUFmuZ4KZzb8H06smqItm46apWUVRUxT1nEQLcoG7zJ5zzdMsZZssnhjKzqqcLsgcMssXYtRlZgh13HtLAkr4ICCmt2yP7V4jDvZw43qgU3VV67qyo6kUmvCjg9zy0w3fP9mLHxncyTTgNjCyJn89+JnoWfoydRkOatejZzX3Bwi6aoEaS5hjGWmKOZAIhIGD9g7S6vD4ehN1UJY86QwVE17lNzn6Bxx0wc6jrqU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(39860400002)(346002)(366004)(396003)(6486002)(41300700001)(71200400001)(6506007)(186003)(478600001)(6512007)(83380400001)(5660300002)(26005)(2906002)(53546011)(2616005)(316002)(91956017)(6916009)(54906003)(36756003)(66476007)(66946007)(66446008)(86362001)(76116006)(8676002)(4326008)(122000001)(64756008)(8936002)(38070700005)(33656002)(66556008)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <FCB81E4DA274B74EB15100F1E54DDB2A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4841
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9699e267-ccdf-45d9-7bb3-08da867ef0f3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pfpGgiGdpm1wlYZYELRLBQ7FpvJuMyAya5dglJbHyIxvB0B7xbiaX+bGXnF7Q6yUOVrSorymtH9ga05vQ/45ovaOWRyPz373j3xYG5AJ8s9bZ0sDTh1cmnkstZmH82RAxir9tg/TzQiiSSWFRd8+vyAqbW4wxgoR22cvOmArxWsFHHYSsx2bIHb6kFNDb1UuHJ7M1TVDALiyQmHiEly459npw5ULc1ltrKvXOjNpDV2smckAcsKJzHmht/wp40ITLwWBMnDhqqpiIv0FI9B6NxxrpSuikoqZI4kVuT3AB8OM8DqtTu05ayDJ6cI/Fzslw73wst/+jyXDCPmFxbI5/piiD9pzSbQrIMBp4tiEj8Lw3MYtDOsCXXngUgfm/pNWuqAFUSbSosoL+Q54ZwJDQWnkZ57TicyPfnBD38O4iaKQsiP8TkfN8NuOYs48DKxZ1fsOlxHlzzGhFXpfAvAcvbJ7DwOLG8ezOuSwGZkqpMMtEoKmJHq8BTXX2QIT3Au4xh7kz7DX3vudDIm4hSnv8CtCjUkq0qubCZF3d9Oy0LqeH1d1upZgDLYdUyAu+tps3CZbgvnZpA/wQAUTyvIJuGwdr4sl/iXj37Vpppm/t6Pp1B6DBRp+9YVrC1op41V/slnmcubtcraA5t9NHIduAXqRoQmW1y6Us5EWY+XyvYeYh4UxHmUFOB00bv2wWcKGrmjeWPwpvgK55OIsv2dMmT9slT8JjQoE5tzB+qHoWOQJ/ARsbnARFNkleQLZdFe4JkLuGB5sJALQEfXKOTZ0jg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(136003)(376002)(396003)(46966006)(36840700001)(40470700004)(8936002)(6512007)(41300700001)(6862004)(40460700003)(316002)(5660300002)(70206006)(6486002)(70586007)(40480700001)(478600001)(2616005)(336012)(107886003)(86362001)(26005)(4326008)(186003)(36860700001)(8676002)(47076005)(33656002)(81166007)(83380400001)(356005)(6506007)(82310400005)(53546011)(2906002)(82740400003)(54906003)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 09:48:33.7647
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dc9e1e28-30ef-46b6-1ee3-08da867ef995
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2033

SGkgSnVsaWVuLA0KDQo+IE9uIDI1IEF1ZyAyMDIyLCBhdCAxMDozNywgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiANCj4gDQo+IE9uIDI1LzA4LzIwMjIgMDg6Mzks
IEJlcnRyYW5kIE1hcnF1aXMgd3JvdGU6DQo+PiBIaSwNCj4+PiBPbiAyNSBBdWcgMjAyMiwgYXQg
MDI6MTAsIFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6
DQo+Pj4gDQo+Pj4gT24gV2VkLCAyNCBBdWcgMjAyMiwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+
PiBPbiAyNC8wOC8yMDIyIDIyOjU5LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+Pj4+PiBP
biBXZWQsIDI0IEF1ZyAyMDIyLCBSYWh1bCBTaW5naCB3cm90ZToNCj4+Pj4+Pj4gT24gMjQgQXVn
IDIwMjIsIGF0IDQ6MzYgcG0sIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0K
Pj4+Pj4+PiBPbiAyNC8wOC8yMDIyIDE1OjQyLCBSYWh1bCBTaW5naCB3cm90ZToNCj4+Pj4+Pj4+
PiBPbiAyNCBBdWcgMjAyMiwgYXQgMTo1OSBwbSwgSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9y
Zz4gd3JvdGU6DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4g
T24gMjQvMDgvMjAyMiAxMzoxNSwgUmFodWwgU2luZ2ggd3JvdGU6DQo+Pj4+Pj4+Pj4+IEhpIEp1
bGllbiwNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBIaSBSYWh1bCwNCj4+Pj4+Pj4+PiANCj4+Pj4+
Pj4+Pj4gUGxlYXNlIGxldCBtZSBrbm93IHlvdXIgdmlldyBvbiB0aGlzLg0KPj4+Pj4+Pj4+PiBk
aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+Pj4+Pj4+Pj4+IGIveGVu
L2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+Pj4+Pj4+Pj4+IGluZGV4IGJmZTdiYzZiMzYuLmEx
ZTIzZWVlNTkgMTAwNjQ0DQo+Pj4+Pj4+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVp
bGQuYw0KPj4+Pj4+Pj4+PiArKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMNCj4+Pj4+
Pj4+Pj4gQEAgLTM1NjIsMTIgKzM1NjIsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3Rf
ZG9tVShzdHJ1Y3QNCj4+Pj4+Pj4+Pj4gZG9tYWluICpkLA0KPj4+Pj4+Pj4+PiAgICBpZiAoIHJj
ID09IC1FSUxTRVEgfHwNCj4+Pj4+Pj4+Pj4gICAgICByYyA9PSAtRU5PREFUQSB8fA0KPj4+Pj4+
Pj4+PiAgICAgIChyYyA9PSAwICYmICFzdHJjbXAoZG9tMGxlc3NfZW5oYW5jZWQsIOKAnGVuYWJs
ZWTigJ0pKSApDQo+Pj4+Pj4+Pj4+IC0gIHsNCj4+Pj4+Pj4+Pj4gLSAgICBpZiAoIGhhcmR3YXJl
X2RvbWFpbiApDQo+Pj4+Pj4+Pj4+ICAgICAgICBraW5mby5kb20wbGVzc19lbmhhbmNlZCA9IHRy
dWU7DQo+Pj4+Pj4+Pj4+IC0gICAgZWxzZQ0KPj4+Pj4+Pj4+PiAtICAgICAgcGFuaWMo4oCcVHJp
ZWQgdG8gdXNlIHhlbixlbmhhbmNlZCB3aXRob3V0IGRvbTBcbuKAnSk7DQo+Pj4+Pj4+Pj4+IC0g
IH0NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBZb3UgY2FuJ3QgdXNlICJ4ZW4sZW5oYW5jZWQiIHdp
dGhvdXQgZG9tMC4gSW4gZmFjdCwgeW91IHdpbGwgZW5kIHVwDQo+Pj4+Pj4+Pj4gdG8gZGVyZWZl
cmVuY2UgTlVMTCBpbiBhbGxvY194ZW5zdG9yZV9ldnRjaG4oKS4gVGhhdCdzIGJlY2F1c2UNCj4+
Pj4+Pj4+PiAieGVuLGVuaGFuY2VkIiBtZWFucyB0aGUgZG9tYWluIHdpbGwgYmUgYWJsZSB0byB1
c2UgWGVuc3RvcmVkLg0KPj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+IE5vdyBpZiB5b3Ugd2FudCB0byBz
dXBwb3J0IHlvdXIgZmVhdHVyZSB3aXRob3V0IGEgZG9tMC4gVGhlbiBJIHRoaW5rDQo+Pj4+Pj4+
Pj4gd2Ugd2FudCB0byBpbnRyb2R1Y2UgYW4gb3B0aW9uIHdoaWNoIHdvdWxkIGJlIHRoZSBzYW1l
IGFzDQo+Pj4+Pj4+Pj4gInhlbixlbmhhbmNlZCIgYnV0IGRvZXNuJ3QgZXhwb3NlIFhlbnN0b3Jl
ZC4NCj4+Pj4+Pj4+IElmIHdlIG1vZGlmeSB0aGUgcGF0Y2ggYXMgYmVsb3cgd2UgY2FuIHVzZSB0
aGUgInhlbixlbmhhbmNlZCIgZm9yDQo+Pj4+Pj4+PiBkb21VcyB3aXRob3V0IGRvbTAuDQo+Pj4+
Pj4+PiBJIHRlc3RlZCB0aGUgcGF0Y2ggYW5kIGl0cyB3b3JrcyBmaW5lLiBEbyB5b3Ugc2VlIGFu
eSBpc3N1ZSB3aXRoIHRoaXMNCj4+Pj4+Pj4+IGFwcHJvYWNoPw0KPj4+Pj4+PiANCj4+Pj4+Pj4g
WWVzLiBGb3IgdHdvIHJlYXNvbnM6DQo+Pj4+Pj4+IDEpIEl0IGlzIG11ZGR5aW5nIHRoZSBtZWFu
aW5nIG9mICJ4ZW4sZW5oYW5jZWQiLiBJbiBwYXJ0aWN1bGFyIGEgdXNlcg0KPj4+Pj4+PiBtYXkg
bm90IHJlYWxpemUgdGhhdCBYZW5zdG9yZSBpcyBub3QgYXZhaWxhYmxlIGlmIGRvbTAgaXMgbm90
IHByZXNlbnQuDQo+Pj4+Pj4+IDIpIEl0IHdvdWxkIGJlIG1vcmUgY29tcGxpY2F0ZWQgdG8gaGFu
ZGxlIHRoZSBjYXNlIHdoZXJlIFhlbnN0b3JlZCBsaXZlcw0KPj4+Pj4+PiBpbiBhIG5vbi1kb20w
IGRvbWFpbi4gSSBhbSBub3QgYXdhcmUgb2YgYW55b25lIHdhbnRpbmcgdGhpcyBvbiBBcm0geWV0
LA0KPj4+Pj4+PiBidXQgSSBkb24ndCB3YW50IHRvIGNsb3NlIHRoZSBkb29yLg0KPj4+Pj4+PiAN
Cj4+Pj4+Pj4gU28gaWYgeW91IHdhbnQgdG8gc3VwcG9ydCBjcmVhdGUgInhlbix4ZW4iIHdpdGhv
dXQgYWxsIHRoZSByZXN0LiBUaGVuIEkNCj4+Pj4+Pj4gdGhpbmsgd2UgbmVlZCBhIGRpZmZlcmVu
dCBwcm9wZXJ0eSB2YWx1ZS4gSSBkb24ndCBoYXZlIGEgZ29vZCBzdWdnZXN0aW9uDQo+Pj4+Pj4+
IGZvciB0aGUgbmFtZS4NCj4+Pj4+PiANCj4+Pj4+PiBJcyB0aGF0IG9rYXkgaWYgd2UgdXNlIHRo
ZSBlYXJsaWVyIGFwcHJvYWNoLCB3aGVuIHVzZXIgc2V0ICAieGVuLGVuaGFuY2VkDQo+Pj4+Pj4g
PSBldnRjaG7igJ0gd2Ugd2lsbCBub3QgY2FsbCBhbGxvY194ZW5zdG9yZV9ldnRjaG4oKQ0KPj4+
Pj4+IGJ1dCB3ZSBjcmVhdGUgaHlwZXJ2aXNvciBub2RlIHdpdGggYWxsIGZpZWxkcy4NCj4+Pj4+
IA0KPj4+Pj4gVGhpbmtpbmcgbW9yZSBhYm91dCB0aGlzLCB0b2RheSB4ZW4sZW5oYW5jZWQgaGFz
IHRoZSBpbXBsaWNhdGlvbiB0aGF0Og0KPj4+Pj4gDQo+Pj4+PiAtIHRoZSBndWVzdCB3aWxsIGdl
dCBhIHJlZ3VsYXIgYW5kIGNvbXBsZXRlICJ4ZW4seGVuIiBub2RlIGluIGRldmljZSB0cmVlDQo+
Pj4+PiAtIHhlbnN0b3JlIGFuZCBQViBkcml2ZXJzIHdpbGwgYmUgYXZhaWxhYmxlIChmdWxsIFhl
biBpbnRlcmZhY2VzIHN1cHBvcnQpDQo+Pj4+PiANCj4+Pj4+IFdlIGRvbid0IG5lY2Vzc2FyZWx5
IGltcGx5IHRoYXQgZG9tMCBpcyByZXF1aXJlZCAoZnJvbSBhIGRvbVUgcG9pbnQgb2YNCj4+Pj4+
IHZpZXcpIGJ1dCB3ZSBkbyBpbXBseSB0aGF0IHhlbnN0b3JlK2V2dGNobitnbnR0YWIgd2lsbCBi
ZSBhdmFpbGFibGUgdG8NCj4+Pj4+IHRoZSBkb21VLg0KPj4+Pj4gDQo+Pj4+PiBOb3csIHN0YXRp
YyBldmVudCBjaGFubmVscyBhcmUgZGlmZmVyZW50LiBUaGV5IGRvbid0IHJlcXVpcmUgeGVuc3Rv
cmUNCj4+Pj4+IGFuZCB0aGV5IGRvbid0IHJlcXVpcmUgZ250dGFiLg0KPj4+Pj4gDQo+Pj4+PiBJ
dCBpcyBhcyBpZiB0aGUgY3VycmVudCB4ZW4sZW5oYW5jZWQgbm9kZSBhY3R1YWxseSBtZWFudDoN
Cj4+Pj4+IA0KPj4+Pj4gICB4ZW4sZW5oYW5jZWQgPSAieGVuc3RvcmUsZ250dGFiLGV2dGNobiI7
DQo+Pj4+IA0KPj4+PiBDb3JyZWN0Lg0KPj4+PiANCj4+Pj4+IA0KPj4+Pj4gYW5kIG5vdyB3ZSBh
cmUgb25seSBlbmFibGluZyBhIHN1YnNldDoNCj4+Pj4+IA0KPj4+Pj4gICB4ZW4sZW5oYW5jZWQg
PSAiZXZ0Y2huIjsNCj4+Pj4+IA0KPj4+Pj4gSXMgdGhhdCBhIGNvcnJlY3QgdW5kZXJzdGFuZGlu
Zz8NCj4+Pj4gDQo+Pj4+IFllcyB3aXRoIHNvbWUgY2F2ZWFycyAoc2VlIGJlbG93KS4NCj4+Pj4g
DQo+Pj4+PiANCj4+Pj4+IA0KPj4+Pj4gSWYgc28sIHdlIGNhbiBjbGFyaWZ5IHRoYXQ6DQo+Pj4+
PiANCj4+Pj4+ICAgeGVuLGVuaGFuY2VkOw0KPj4+Pj4gDQo+Pj4+PiBpdCBpcyBhIGNvbnZlbmll
bnQgc2hvcnRlbmQgZm9yOg0KPj4+Pj4gDQo+Pj4+PiAgIHhlbixlbmhhbmNlZCA9ICJ4ZW5zdG9y
ZSxnbnR0YWIsZXZ0Y2huIjsNCj4+Pj4+IA0KPj4+Pj4gYW5kIHRoYXQgb3RoZXIgY29tYmluYXRp
b25zIGFyZSBhbHNvIGFjY2VwdGFibGUsIGUuZy46DQo+Pj4+PiANCj4+Pj4+ICAgeGVuLGVuaGFu
Y2VkID0gImdudHRhYiI7DQo+Pj4+PiAgIHhlbixlbmhhbmNlZCA9ICJldnRjaG4iOw0KPj4+Pj4g
ICB4ZW4sZW5oYW5jZWQgPSAiZXZ0Y2huLGdudHRhYiI7DQo+Pj4+PiANCj4+Pj4+IEl0IGlzIE9L
IHRvIHBhbmljIGlmIHRoZSB1c2VyIHNwZWNpZmllcyBhbiBvcHRpb24gdGhhdCBpcyBjdXJyZW50
bHkNCj4+Pj4+IHVuc3VwcG9ydGVkIChlLmcuICJnbnR0YWIiKS4NCj4+Pj4gDQo+Pj4+IFNvIHRv
ZGF5LCBpZiB5b3UgY3JlYXRlIHRoZSBub2RlICJ4ZW4seGVuIiwgdGhlIGd1ZXN0IHdpbGwgZXhw
ZWN0IHRvIGJlIGFibGUNCj4+Pj4gdG8gdXNlIGJvdGggZ3JhbnQtdGFibGUgYW5kIGV2ZW50IGNo
YW5uZWwuDQo+Pj4+IA0KPj4+PiBUaGVyZWZvcmUsIGluIHRoZSBsaXN0IGFib3ZlLCB0aGUgb25s
eSBjb25maWd1cmF0aW9uIHdlIGNhbiBzZW5zaWJseSBzdXBwb3J0DQo+Pj4+IHdpdGhvdXQgYW55
IG1ham9yIHJld29yayBpcyAiZXZ0Y2huLGdudHRhYiIuDQo+Pj4+IA0KPj4+PiBJZiB3ZSB3YW50
IHRvIHN1cHBvcnQgImV2dGNobiIgb3IgImdudHRhYiIgb25seS4gVGhlbiB3ZSBsaWtlbHkgbmVl
ZCB0byBkZWZpbmUNCj4+Pj4gYSBuZXcgYmluZGluZyAob3IgbmV3IHZlcnNpb24pIGJlY2F1c2Ug
bmVpdGhlciAicmVncyIgbm9yICJpbnRlcnJ1cHRzIiBhcmUNCj4+Pj4gb3B0aW9uYWwgKGFsdGhv
dWdoIGEgZ3Vlc3QgT1MgaXMgZnJlZSB0byBpZ25vcmUgdGhlbSkuDQo+Pj4gDQo+Pj4gWWVzIEkg
dGhpbmsgeW91IGFyZSByaWdodC4gSSBhbHNvIGJyb2FkbHkgYWdyZWUgd2l0aCB0aGUgcmVzdCBv
ZiB5b3VyDQo+Pj4gcmVwbHkuDQo+Pj4gDQo+Pj4gVGhpbmtpbmcgYWJvdXQgaXQgYW5kIGdpdmVu
IHRoZSBhYm92ZSwgd2Ugb25seSBuZWVkIDIgImxldmVscyIgb2YNCj4+PiBlbmhhbmNlbWVudDoN
Cj4+PiANCj4+PiAxKSBldmVyeXRoaW5nOiB4ZW5zdG9yZSwgZ250dGFiLCBldnRjaG4NCj4+PiAy
KSBnbnR0YWIsIGV2dGNobiwgYnV0IG5vdCB4ZW5zdG9yZQ0KPj4+IA0KPj4+IE5vdGhpbmcgZWxz
ZSBpcyByZWFsbHkgcG9zc2libGUgYmVjYXVzZSwgYXMgSnVsaWVuIHBvaW50ZWQgb3V0LA0KPj4+
ICJ4ZW4sZW5oYW5jZWQiIGltcGxpZXMgdGhlIHhlbix4ZW4gbm9kZSBpbiB0aGUgZG9tVSBkZXZp
Y2UgdHJlZSBhbmQgaW4NCj4+PiB0dXJuIHRoYXQgbm9kZSBpbXBsaWVzIGJvdGggZXZ0Y2huIGFu
ZCBnbnR0YWIuDQo+PiBTbyB3ZSBjb3VsZCBzYXkgdGhhdCB4ZW4sZW5oYW5jZWQgYWx3YXlzIGlu
Y2x1ZGVzIGdudHRhYiBhbmQgWGVuc3RvcmUgaXMgb3B0aW9uYWwuDQo+IA0KPiBOb3QgcmVhbGx5
LCBYZW5zdG9yZSBoYXMgYWx3YXlzIGJlZW4gcGFydCBvZiB0aGUgc3RvcnkgaW4gWGVuLiBTbyBJ
IHRoaW5rIG1ha2luZyBpdCBvcHRpb25hbCBmb3IgInhlbixlbmhhbmNlZCIgaXMgZ29pbmcgdG8g
bWFrZSBtb3JlIGRpZmZpY3VsdCBmb3IgdXNlciB0byB1bmRlcnN0YW5kIHdoYXQgdGhlIG1lYW5p
bmcgb2YgdGhlIG9wdGlvbiAoaW4gcGFydGljdWxhciB0aGF0IGluIHRoZSBmdXR1cmUgd2UgbWF5
IHdhbnQgdG8gc3VwcG9ydCBYZW5zdG9yZWQgaW4gYSBzZXBhcmF0ZSBkb21haW4pLg0KDQpTb3Jy
eSB3cm9uZyBmb3JtdWxhdGlvbiwgaGVyZSBJIHdhcyBtZWFuaW5nIHRoYXQgd2UganVzdCBuZWVk
IGEgc29sdXRpb24gdG8gZGlzYWJsZSBYZW5zdG9yZSAoc2hvdWxkIHN0aWxsIGJlIGhlcmUgYnkg
ZGVmYXVsdCB3aGVuIHN1cHBvcnRlZCkuDQoNCj4gDQo+Pj4gU28gSSB0aGluayB3ZSBqdXN0IG5l
ZWQgdG8gYWRkIGEgd2F5IHRvIGV4cHJlc3MgMikuIFdlIGNvdWxkIGRvDQo+Pj4gc29tZXRoaW5n
IGxpa2U6DQo+Pj4gDQo+Pj4gIHhlbixlbmhhbmNlZCA9ICJldnRjaG4sZ250dGFiIjsNCj4+IEkg
YW0gYSBiaXQgcHV6emxlZCBoZXJlIGFzIGdudHRhYiBpcyBhbHdheXMgdGhlcmUuDQo+IA0KPiBX
aGF0IGRvIHlvdSBtZWFuPw0KDQpBc2tpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBnbnR0YWIgaW4g
dGhlIGxpc3QgZXZlbiB0aG91Z2ggaXQgaXMgbm90IHN1cHBvcnRlZCB0byBub3QgaGF2ZSBpdCBp
biB0aGUgbGlzdC4NCg0KPiANCj4+PiANCj4+PiBPciB3ZSBjb3VsZCB1c2UgYSBuZXcgc2VwYXJh
dGUgb3B0aW9uIGxpa2UgSnVsaWVuIGluaXRpYWxseSBzdWdnZXN0ZWQsDQo+Pj4gZS5nLjoNCj4+
PiANCj4+PiAgeGVuLGVuaGFuY2VkLW5vLXhlbnN0b3JlOw0KPj4+IA0KPj4+ICJ4ZW4sZW5oYW5j
ZWQtbm8teGVuc3RvcmUiIGlzIGEgdGVycmlibGUgbmFtZSBhY3R1YWxseSwgYnV0IGp1c3QgdG8N
Cj4+PiBleHBsYWluIHdoYXQgSSBhbSB0aGlua2luZyA6LSkNCj4+IEkgdGhpbmsgbW9zdCBjb21t
b24gdXNlIGNhc2Ugd2lsbCBiZSB0byBoYXZlIGFsbCwgc28gbWFrZSBzZW5zZSB0byBhbGxvdyB0
byBkaXNhYmxlIFhlbnN0b3JlLg0KPj4gSG93IGFib3V0Og0KPj4geGVuLGVuaGFuY2VkID0g4oCc
bm8teGVuc3RvcmXigJ0gPw0KPiANCj4gSSB3b3VsZCBiZSBmaW5lIHdpdGggaXQuDQo+IA0KPj4g
QW4gb3RoZXIgc29sdXRpb24gaXMgdG8ga2VlcCB4ZW4sZW5oYW5jZWQgYXMgaXQgaXMgYW5kIGlu
dHJvZHVjZSBhIG5ldyBvcHRpb246DQo+PiBYZW4sbm8teGVuc3RvcmUNCj4gDQo+IEkgZG9uJ3Qg
bGlrZSB0aGUgaWRlYSBvZiBpbnRyb2R1Y2luZyB5ZXQgYW5vdGhlciBvcHRpb24uDQo+IA0KPj4g
QXQgdGhlIGVuZCBYZW5zdG9yZSBjYW5ub3QgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBEb20wIGFu
ZCB0aGF0IHdlIGNhbiBkZXRlY3QgZWFzaWx5Lg0KPj4gQWxzbyB0aGVyZSBpcyBubyBzb2x1dGlv
biBhdCB0aGlzIHN0YWdlIHRvIGhhdmUgYW4gb3RoZXIgZG9tYWluIHRoZW4gRG9tMCBwcm92aWRp
bmcNCj4+IFhlbnN0b3JlIChtYXliZSBpbiB0aGUgbG9uZyB0ZXJtIHNvbWVvbmUgd2lsbCB3YW50
IHRvIGludHJvZHVjZSB0aGF0IGFuZCB3ZSB3aWxsIG5lZWQNCj4+IGEgd2F5IHRvIHNwZWNpZnkg
d2hpY2ggZG9tYWluIGlzIGhhbmRsaW5nIGl0KS4NCj4+IFNvIEkgc3RpbGwgdGhpbmsgdGhhdCB3
ZSBjb3VsZCBqdXN0IHNheSB0aGF0IFhlbnN0b3JlIGNhbiBvbmx5IGJlIGFjdGl2ZSBpZiB0aGVy
ZSBpcyBhIERvbTANCj4+IGFuZCBqdXN0IGRpc2FibGUgWGVuc3RvcmUgYXV0b21hdGljYWxseSBp
ZiBpdCBpcyBub3QgdGhlIGNhc2UuDQo+IA0KPiBTZWUgYWJvdmUgYWJvdXQgZGlzYWJsaW5nIFhl
bnN0b3JlIGF1dG9tYXRpY2FsbHkuDQoNClJpZ2h0IG5vdyBYZW5zdG9yZSBjYW4gb25seSB3b3Jr
IHdpdGggYSBkb20wIGFuZCBpZiBzb21lb25lIHdhbnRzIHRvIGhhdmUgYW4gb3RoZXIgZG9tYWlu
IHRvIHByb3ZpZGUgaXQgd2Ugd291bGQgbmVlZCBhIHdheSB0byBzcGVjaWZ5IHdoaWNoIG9uZSBp
biB0aGUgY29uZmlndXJhdGlvbi4NClNvIGluIGEgY29uZmlndXJhdGlvbiB3aXRob3V0IGRvbTAs
IEkgc3RpbGwgdGhpbmsgdGhhdCBub3QgZW5hYmxpbmcgWGVuc3RvcmUgYXV0b21hdGljYWxseSBp
cyBvay4NCg0KPiANCj4+IElmIHRoZXJlIGlzIGEgZG9tMCBhbmQgc29tZW9uZSB3YW50cyBhIGd1
ZXN0IHdpdGhvdXQgWGVuc3RvcmUsIHRoZW4gd2Ugd291bGQgbmVlZCB0bw0KPj4gaGF2ZSB0aGUg
bm8teGVuc3RvcmUgc3VwcG9ydC4NCj4+IEJ1dCBpcyBpdCBhIHVzZSBjYXNlID8NCj4gDQo+IERv
IHlvdSBtZWFuIHdoZW4gInhlbixlbmhhbmNlZCIgaXMgc3BlY2lmaWVkPyBJZiB5ZXMsIHRoaXMg
Y291bGQgYmUgdXNlZnVsIGlmIG9uZSB3YW50IHRvIGxpbWl0IHRoZSBpbnRlcmZhY2UgZXhwb3Nl
ZCB0byB0aGUgZ3Vlc3QuDQoNCkhvdyBhYm91dCB0aGUgZm9sbG93aW5nOg0KWGVuLGVuaGFuY2Vk
OiBnbnR0YWIsIGV2ZW50cyBhbmQgWGVuc3RvcmUgaWYgdGhlcmUgaXMgYSBkb20wDQpYZW4sZW5o
YW5jZWQgPSDigJxbbm8tXXhlbnN0b3JlLFtuby1dZXZ0Y2huLFtuby1dZ250dGFi4oCdIGZvciB3
aGVuIHRoZSB1c2VyIHdhbnRzIHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB3aGF0IGhlIHdhbnRzIChh
bmQgWGVuIHN0b3BwaW5nIG9uIHVuc3VwcG9ydGVkIGNvbmZpZ3VyYXRpb24pLg0KICAgSW4gdGhp
cyBJIHdvdWxkIGFsbG93IHRvIHByb3ZpZGUgYW55IGNvbWJpbmF0aW9ucyBvZiB0aGUgMw0KDQpC
ZXJ0cmFuZA0KDQo+IA0KPj4gQWxsIGluIGFsbCwgZW5oYW5jZSBkb20wbGVzcyB3YXMgbm90IHN1
cHBvcnRlZCBiZWZvcmUgNC4xNyBzbyB3ZSB3aWxsIG5vdCBjcmVhdGUgYW55DQo+PiBiYWNrd2Fy
ZCBjb21wYXRpYmlsaXR5IGlzc3VlLg0KPiANCj4gSSBhZ3JlZSB3ZSBzdGlsbCBoYXZlIHRoZSBm
bGV4aWJpbGl0eSB0byBjaGFuZ2UuDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLSANCj4gSnVsaWVu
IEdyYWxsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 09:49:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 09:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393209.632020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9Ty-0000Cg-UQ; Thu, 25 Aug 2022 09:49:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393209.632020; Thu, 25 Aug 2022 09:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9Ty-0000CV-Qn; Thu, 25 Aug 2022 09:49:02 +0000
Received: by outflank-mailman (input) for mailman id 393209;
 Thu, 25 Aug 2022 09:49:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M9hs=Y5=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1oR9Tw-0000AM-QW
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 09:49:00 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 243634cf-245b-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 11:48:59 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6C1C2D6E;
 Thu, 25 Aug 2022 02:49:03 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E3AE33FAF5;
 Thu, 25 Aug 2022 02:48:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 243634cf-245b-11ed-9250-1f966e50362f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: henry.wang@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2] x86/public: move XEN_ACPI_ in a new header
Date: Thu, 25 Aug 2022 10:48:43 +0100
Message-Id: <c869f79901968de2d71ab56e1bbb5d43048baf5d.1661420219.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When Xen is compiled for x86 on an arm machine, libacpi build is failing
due to a wrong include path:
- arch-x86/xen.h includes xen.h
- xen.h includes arch-arm.h (as __i386__ and __x86_64__ are not defined
but arm ones are).

To solve this issue move XEN_ACPI_ definitions in a new header
guest-acpi.h that can be included cleanly by mk_dsdt.c.
Inside this header, only protect the definitions using ifdef
__XEN_TOOLS__ as the defines are not used anywhere in the hypervisor and
are not expected to be.

Previous users needing any of the XEN_ACPI_ definitions will now need to
include arch-x86/guest-acpi.h instead of arch-x86/xen.h

Fixes: d6ac8e22c7c5 ("acpi/x86: define ACPI IO registers for PVH guests")
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
The x86 header is including ../xen.h before the ifndef/define so that it
gets included back by xen.h. This is wrongly making the assumption that
we are using an x86 compiler which is not the case when building the
tools for x86 on an arm host.
Moving the definitions to an independent header is making things cleaner
but some might need to include a new header but the risk is low.

For the release manager:
- risk: very low, the definitions moved are only used in mk_dsdt and
external users would just have to include the new header.
- advantage: we can now compile xen for x86 on arm build machines
---
Changes in v2:
- fix commit message
- remove ifdef __XEN__ protecting the definitions
- fix name in description and ifdef guards of the file
- fix description
Changes in v1:
- was "libacpi: Fix cross building x86 on arm"
- move XEN_ACPI_ definitions in a new header guest-acpi.h
- adapt mk_dsdt.c
- remove todo in public header
---
 tools/libacpi/mk_dsdt.c                  |  2 +-
 xen/include/public/arch-x86/guest-acpi.h | 50 ++++++++++++++++++++++++
 xen/include/public/arch-x86/xen.h        |  6 ---
 3 files changed, 51 insertions(+), 7 deletions(-)
 create mode 100644 xen/include/public/arch-x86/guest-acpi.h

diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
index c5ba4c0b2fd3..1176da80ef44 100644
--- a/tools/libacpi/mk_dsdt.c
+++ b/tools/libacpi/mk_dsdt.c
@@ -18,7 +18,7 @@
 #include <stdlib.h>
 #include <stdbool.h>
 #if defined(CONFIG_X86)
-#include <xen/arch-x86/xen.h>
+#include <xen/arch-x86/guest-acpi.h>
 #include <xen/hvm/hvm_info_table.h>
 #elif defined(CONFIG_ARM_64)
 #include <xen/arch-arm.h>
diff --git a/xen/include/public/arch-x86/guest-acpi.h b/xen/include/public/arch-x86/guest-acpi.h
new file mode 100644
index 000000000000..3d79a31fd865
--- /dev/null
+++ b/xen/include/public/arch-x86/guest-acpi.h
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * arch-x86/guest-acpi.h
+ *
+ * Guest ACPI interface to x86 Xen.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_GUEST_ACPI_H__
+#define __XEN_PUBLIC_ARCH_X86_GUEST_ACPI_H__
+
+#ifdef __XEN_TOOLS__
+
+/* Location of online VCPU bitmap. */
+#define XEN_ACPI_CPU_MAP             0xaf00
+#define XEN_ACPI_CPU_MAP_LEN         ((HVM_MAX_VCPUS + 7) / 8)
+
+/* GPE0 bit set during CPU hotplug */
+#define XEN_ACPI_GPE0_CPUHP_BIT      2
+
+#endif /* __XEN_TOOLS__ */
+
+#endif /* __XEN_PUBLIC_ARCH_X86_GUEST_ACPI_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index 58a1e87ee971..546dd4496ac6 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -325,12 +325,6 @@ struct xen_arch_domainconfig {
 /* Max  XEN_X86_* constant. Used for ABI checking. */
 #define XEN_X86_MISC_FLAGS_MAX XEN_X86_ASSISTED_X2APIC
 
-/* Location of online VCPU bitmap. */
-#define XEN_ACPI_CPU_MAP             0xaf00
-#define XEN_ACPI_CPU_MAP_LEN         ((HVM_MAX_VCPUS + 7) / 8)
-
-/* GPE0 bit set during CPU hotplug */
-#define XEN_ACPI_GPE0_CPUHP_BIT      2
 #endif
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 09:50:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 09:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393222.632030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9VP-0001p6-Cf; Thu, 25 Aug 2022 09:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393222.632030; Thu, 25 Aug 2022 09:50:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9VP-0001oz-9n; Thu, 25 Aug 2022 09:50:31 +0000
Received: by outflank-mailman (input) for mailman id 393222;
 Thu, 25 Aug 2022 09:50:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR9VO-0001ot-4S
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 09:50:30 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2084.outbound.protection.outlook.com [40.107.22.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59fe1615-245b-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 11:50:29 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM5PR0402MB2737.eurprd04.prod.outlook.com (2603:10a6:203:95::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 09:50:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 09:50:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59fe1615-245b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ss9MezrMRiy9KviHtIlLuACS85pEn3ZY0dmHYBmXZtVTpirhKEo8b3XuQjzzlfj/ogvxT8sADksLVMLcHp1hIZdEurOx3HXI2ma4V5XvhUESujI9XqbYQCHz4Ua0/X62l42s81PBWBWpmpy8Ba4ZvyjKVLelgM05xA039OYCa2N2Q2gE/A67rN5vxGYIxrmi3OTNNF47f6BGhEpuScLcyHBoSRNW2uRcq0UmzfBEyoKVMkbT/SxKxufHtkZQOTR6Vx6RlicOtSu6zwJrJxrnVVv82S/flb3veGwYBbSuu5rIz8atmpwobnLAMRnssIYMwEvlTgNZk93AdgxCeD7qoA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LxT+5NAiXocn1FHo46V4cbpVzJwy9brM9OUlwqFBq0s=;
 b=YQEDVx+aOMm3MrTQUVb/ovJo8qyMDZaO6GxXa4VcTdEvO+c0lqMGJaNJQ/o3PZGt3sSyFV0dxYTNPBIyBKDFa5xbEsye3JHrgKqqiqjxLWOIYECPrb2lLc6BueH8wkxEI9j5eFQZivXXJey3sXkaYNB4A7IYVeDTTZyNlCQgVmmkPFX8KcVXUqJjP6/VqCiSK8n1KGx1Luj6lo0V9tpEBHQtL8A4TTT/JWx9VSXc+OU6KbQAaAYMQ88bi5LhUD7W4J+GRnKtzDsD1npy96vOqF0M5Z7i9p+jf/Arnz7UM2Ie1J28T/F837uD21C2mrF+gbvtF3RUqcQaxCil9bap1g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LxT+5NAiXocn1FHo46V4cbpVzJwy9brM9OUlwqFBq0s=;
 b=Fz+atXaDGjk63vVpQpZGqT2w4JajL49PnfnJANRudVtQ/wWi7nU5GBiqErsbFBHv2qXVhDICYp6XGkfsFz/E4dAShpBEh6kugiyzZWoC9huDj3EuyO21egVB/jJ/fALzsbR2X9jlPU7DPQRcRiLez1YqS7O+Nq1fodghQX6gl2fhZ5+2deVpgYC3fb6V76y7tYML80L8+kChiRvwLiookRUAB1L1r7ta1dega5EZP650EjQ4KIB27NtoqGQcccDfrhmHk1Lq1xWAgebehbx2MKlpayzB3IG7v6V4DZair22am+7P5U9nPI7KDcUQ/7+noo9iaaeXFofXjjWyk3P2tw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2c762b15-fd7e-f14e-fcc9-a083af683e4f@suse.com>
Date: Thu, 25 Aug 2022 11:50:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v2] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220825092600.7188-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220825092600.7188-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f97a8ffe-43bb-448f-282c-08da867f3d60
X-MS-TrafficTypeDiagnostic: AM5PR0402MB2737:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SrjBX1g7hR85KPEdSEI6Sl54n7xgh217Djq5wgtLKURnP2TDlyPvHv7ZJHo7o9xaAK7HWYpE4YCTDKaziPoz8uf7QT2JRByJ0GbaPmmLQvqfE+4U32GVegJTPoXL7eI7sXaUwVvkc0q2yCpvKco7KEpN+Sj/QZv6xUoPXdUOyrPmnCUoam6XPLkGZyf06s9i01N/0awWjgfDsUo6jfOFNFUH/tLpGyKDe4XYT68cRyMga4RFKatLnCFRDB8jMeA091vb8M6MbCiVo/gwTVUAyNRkwJSlYAsFfYbSWXTzGQq3Cxy8nLmg0CrxDzicr6rmdKpbn6V/5HCEJTAleAPs458inQnZmF0BLlnf5ydUKI2SzOfyXeYpl2w/yfdYkX7no3e2UhbGP+P/PWqFJ4yUl0sY337DoG/E+hcXPbKv/hOr3Bq8Fysp41qPUOZnyMPsksWkgTY1DjE0tKy3wWIFn7c41YXXd80TqIxn/+0zrjjjLhV5CuN2Ouv4NkKiqkt2ld+B5hiBAEZwzm/xRQU5NFCRj6ChsNLCQQXXoGM9CDNmnhdgMDDW/bXCjRPUtdHYklk72MctJPtt/SR/2BJD6H/DJ9/hLgsz41eh+f5dJeFXcidISNjOkMxRoQZZzc8RtIDw7kccfgHjEKdMnx918aS0b/yBC+w0sp1CipbH6cf2kQ02Yy4TYMDebxtsL/3PCdJLPA95yrkj9N5VUGmSCb0sir82ZiNgL2dIkrCU+FJc7KCVBPWDMe6C7h5Qpdxcu5yD7d0ljUsv2pgAF/LndIyfHfvLVwCf8MnHGN5gJaI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(396003)(39860400002)(376002)(366004)(66556008)(38100700002)(4326008)(6486002)(66946007)(66476007)(8676002)(5660300002)(41300700001)(26005)(6862004)(8936002)(86362001)(53546011)(478600001)(6512007)(6506007)(316002)(83380400001)(31696002)(36756003)(31686004)(37006003)(6636002)(54906003)(2616005)(2906002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ekVOb1ArYUxRZFpFa1dYNnQwclBoeDlSSlcxSXNaOWZWV3BQOTAxN2xzZ3Ez?=
 =?utf-8?B?cUgxd2ZUUFB0NnhDRzlzOHd4MllYaUVpZWRmd3ZnRnZCbXFBa29ZbTJuNEhz?=
 =?utf-8?B?RWM1RjVXQ1daMzRVWm1aNEFkeDlsaUFEbjhOYmRRYm1wRDN5TnRrdksxRElF?=
 =?utf-8?B?VTdwV0hiSldNeTFYR3RDRDBxODYrZnV5Yk5HVG80N2NrdFFHZkFOSWdpOTRD?=
 =?utf-8?B?bGR2dkVUeVE5Q3IrV1RQTmVZK2drenNhek1UOEw4eHlCdHZ3RHFVNHRKR0FE?=
 =?utf-8?B?Zy9Va1dmQWZqSTBEVEdkL1ExMGdoeFlQWDBpOVg4S1lBczN5V0REQm92VFhp?=
 =?utf-8?B?cEVaQjFyVXBmem9HYitmRm1vUGtabFI5SmQrS2JYWGpPenkxbkRwZlJHcUtL?=
 =?utf-8?B?NHg0RGk5WUYvRlhiTU1PWnRXL3psdWtEL3VIWDdXaTNyVFN3UXBlOSszRkU1?=
 =?utf-8?B?V2xxUVY2am9MME4vTUoyT0FLd1J6UDVYS21wclhpWmtGWjE4SFprN2xPM1ZH?=
 =?utf-8?B?ODRueXp1TnJlWWVtNlRXVUZGR1JFTlBVYUVoRng3WXM5akVpRTd6aFNraDM0?=
 =?utf-8?B?aFc0cTlvaGNmbUxjOTh0a0k3OXJNWStGV291NzNJUlNHdnBZZWFPb3pzUno1?=
 =?utf-8?B?Q1R0TktCclJPNDRqVTNSUk90UXNxaTJNZXlaT1pmQVhpS2xQK1dOaHdjQU9s?=
 =?utf-8?B?TCtEUlJVcTZEZmpHSWZKMWVxc1JYYTNBdUZkN0dXNGFQbWo3RGhIL3BrQmRu?=
 =?utf-8?B?eVEzWjRyZjlRSmZIbi9OSHhIaVZtYXp5NmpneGcxQm5kRmN5RDM0NFYwTmJT?=
 =?utf-8?B?Nzg5eGJ5UkVuTXpzZmVNbnMxL0J5UlI2M2dCSVI2TnpCTk5ZeW5yZ1g1UVJK?=
 =?utf-8?B?bDh5SFZRdnpaZDYyOThnYVozUFo0a1BibkVFOE1jSENxcjQzMzhrejUrZEgr?=
 =?utf-8?B?OEdjWmRNOTNrWElINngrS2kzZU04dTFkVWg5NDYzWnE2bGE5QmY3dnRqUi9D?=
 =?utf-8?B?RG5BcWJMNnRBK3NBTWR0alg0REdWMVdhSGRHVTVSSTg4bGE3YkNoWEt0UC82?=
 =?utf-8?B?SW5sam55RGVXYmxnNHcvbE1CS3VBNVpqQm93YnZGd3FySVUrdTJJN1RZLzhZ?=
 =?utf-8?B?aXJTUzJNTDJjcHRSNytjWkxwSmUzWExBaVJtRkcyejI1QnFqSEF4YUJwQ0xL?=
 =?utf-8?B?T0pwZUVMOUlGcjRFTnhLWXBEYUVGY0tkV3J6VDZMYnRjMS9QdmNnd0pLUXNx?=
 =?utf-8?B?ZjNXT1hraXV6ZWQySzhZbG9ZSnJoODlKTUpQenMxTlowL0JSL0hJTm1yZWt4?=
 =?utf-8?B?akMxNWhEbXJUMk11WDVTSDdJWXZLbXVxbW9yV096T0pEVjR0R3VxVmZLcWMw?=
 =?utf-8?B?b2UxRXlXVFlEdHFCajduL3BlNklvOStBWDRGZE50UjJxdDAxeUEvNXNPL0FH?=
 =?utf-8?B?RG1NZGlIL3JWZGdkSG82YysxK25Eb2t5Um9aR0prNzh4ZFdZdkRFNFVJNnpM?=
 =?utf-8?B?VHNQamJ1NzdWNDF1RFptcWsydHJUbWEzOGFzelpOWGlmTTAreFN1Umpla1o0?=
 =?utf-8?B?Yk01RURoYmg4N3k0SzhrTER5ZHJXaUxpbmRBWk9wSHBlbUZpUTNSRjlPb3Ir?=
 =?utf-8?B?MGJPQitlNnd0Mk9FQUMxdzJabUNQTTF6dHVpSmRUMkVaNk9BaXloRnNjM3M4?=
 =?utf-8?B?WXRRTG1rS1lPcC9lZndRSndabnpBUGxaNGpYOEdGS3RWUzZvYjZPOUNxZ0xq?=
 =?utf-8?B?Z3VGS2RBN3FTYXEzVU9XdWdMWFowcUJMWE40MDNNNWtqZ1UvR3ZmUVM0ZGZ4?=
 =?utf-8?B?cGk2RCtJSnJHeE9rYjZGbFkzWnAzYS8vcllZVCtKbTd5VzlPOWhyY251T3Iw?=
 =?utf-8?B?N0wzcDF4SDFZWDVKVjhUYVN5d080TVk5SGxRci9MZWc2T1VudzNvZEZUZTU4?=
 =?utf-8?B?cVFRSjZnN1QreVRHcFJ4dVppd09ybnd5ZFFFWmZLem1kWU4yK2dWeHR0a0hn?=
 =?utf-8?B?bHU4OHBhaGY4MTRhQW5ZblM2dUh4V2ZaZi9iUkcybll2SzVoWkhZQitDdnoz?=
 =?utf-8?B?aElzWnkrKzk4L09xWmZEdFl3TmxPYzRoMVJlTkk3OE5zUXZmUDFqME96MFMy?=
 =?utf-8?Q?09A5vrtdjHtnoyIGp8OitZJno?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f97a8ffe-43bb-448f-282c-08da867f3d60
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 09:50:27.7058
 (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: eFseiJNM2EyK04kOXO0WoAMstTmnVQX2gsWzdHdjngHzKgBJslyU5kW8Xq6gUmOapOvZaT1t1WRrO/212h9zEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0402MB2737

On 25.08.2022 11:26, Juergen Gross wrote:
> The error exit of privcmd_ioctl_dm_op() is calling unlock_pages()
> potentially with pages being NULL, leading to a NULL dereference.
> 
> Additionally lock_pages() doesn't check for pin_user_pages_fast()
> having been completely successful, resulting in potentially not
> locking all pages into memory. This could result in sporadic failures
> when using the related memory in user mode.
> 
> Fix all of that by calling unlock_pages() always with the real number
> of pinned pages, which will be zero in case pages being NULL, and by
> checking the number of patches pinned by pin_user_pages_fast()

Nit: s/patches/pages/

> matching the expected number of pages.
> 
> Cc: <stable@vger.kernel.org>
> Fixes: ab520be8cd5d ("xen/privcmd: Add IOCTL_PRIVCMD_DM_OP")
> Reported-by: Rustam Subkhankulov <subkhankulov@ispras.ru>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

I have a question / suggestion, though:

> --- a/drivers/xen/privcmd.c
> +++ b/drivers/xen/privcmd.c
> @@ -602,6 +602,10 @@ static int lock_pages(
>  		*pinned += page_count;
>  		nr_pages -= page_count;
>  		pages += page_count;
> +
> +		/* Exact reason isn't known, EFAULT is one possibility. */
> +		if (page_count < requested)
> +			return -EFAULT;
>  	}

I don't really know the inner workings of pin_user_pages_fast()
nor what future plans there are with it. To be as independent of
its behavior as possible, how about bailing here only when
page_count actually is zero (i.e. no forward progress)?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 09:55:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 09:55:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393228.632042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9Zs-0002WX-Ua; Thu, 25 Aug 2022 09:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393228.632042; Thu, 25 Aug 2022 09:55:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9Zs-0002WQ-Rx; Thu, 25 Aug 2022 09:55:08 +0000
Received: by outflank-mailman (input) for mailman id 393228;
 Thu, 25 Aug 2022 09:55:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR9Zr-0002WK-V0
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 09:55:07 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00063.outbound.protection.outlook.com [40.107.0.63])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff2daf55-245b-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 11:55:06 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9428.eurprd04.prod.outlook.com (2603:10a6:10:368::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.24; Thu, 25 Aug
 2022 09:55:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 09:55:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff2daf55-245b-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jUSaBbDRE9clxi3ukGMVjwPxYhE4lxTMX6VklDIMx09WykrvsAjoOvfVBfaTB0VIHpIAgmCK6DNAQutb6kFC/jNoNFZA57TkcoZ8LWi0lWOu3G0p+Ejgp8nuAW5EVWbvqf4u1zHV+ysl4xSXTvygVx0EfxbLrC55DoGptdPvXB7An59wYlOa4v5PA/wbF+bP6lIGH33oDIBQj2hxQWYSWwAHvG1JGjt+WWKqr1tA3irViknrvtBS/rgSjSeFF4mn5wmMI63WA6RRUae6RmgrHQfmlbjHUqlAr16PjvUAcm8usplvqHGo9I1at1OCDysI24yB22cPY5Yq6QacZrKYyQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sorpqu1Nu9cBh6zKWGDFGrO6MrpfPV8fPiBj7r8wJAU=;
 b=KcSyuIN7h2P9hmrpwAz1l3fVy8IUO0CHffJNjPTsQXTGow6JMocz4iO+C89YSW82nuE9kWtRNZsDpiMV9f0YqjuZZslUMnYlo/U4srnAqkQy9nYDxq3egpvgE3wDL2sSY6TZWkx5IE62AMKMLl/3RGfd+QJm6brSTylCtSZT0xRnqLevKIalbmL7myMDhWzXZXM9MYPLzFP6qerfkSViDRgRgej5wx8K63Pve7uAMKsZl6cDyEsKFyv+4Yn6VfN2+uBYkkphUMvLXC4rPAIlE4lsVFXVRUEaZwSa65FJmNdu0a3NggPHBFlkdUSeNBg8FRIhZKtlco2uSqaBCJMchA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sorpqu1Nu9cBh6zKWGDFGrO6MrpfPV8fPiBj7r8wJAU=;
 b=LUEYN/aBOnhA4tm0OcqHK6u2ucHidbK6HbpjG2HR0fvwXrWxDzfA1v5kOFdpPTwx2/WpokmoPq9TkycL4saIvjwWKTqf9SWDAmTsZlZBvDc0jzIQjKVr0uXcGr7IEWxmBf7gwi0lOH0Oeu3plWm9+CXusB0NSIJ/mEJwxy7pcCuNswJPuAEHwOnX5/fp7tH+zhXHmDig2QPMGu56gqiyQ6LNNjAalXpOHxKqo9c1Qw5Wye0adevO5G9k6EOO96xOccs0cCNDHdOwRaRXWWHdIBXg3seF7bUei3rTyEHzB9eaAKzvZRsYAg07Dk/HfSWXgQxJx/wGY63bLJioW6iUiw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7dbef184-7e55-51d7-27e1-93153b5f0bc9@suse.com>
Date: Thu, 25 Aug 2022 11:55:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v2] x86/public: move XEN_ACPI_ in a new header
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: henry.wang@arm.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <c869f79901968de2d71ab56e1bbb5d43048baf5d.1661420219.git.bertrand.marquis@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c869f79901968de2d71ab56e1bbb5d43048baf5d.1661420219.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0121.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f6dec042-d4f9-4d32-4a85-08da867fe2d5
X-MS-TrafficTypeDiagnostic: DB9PR04MB9428:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	r1dbXpUrZOjkXtVlbCzpRJulwh455qoQj0EofuYM2sBdp1UR1qL/8Xsro9b+CPMtGruGg5daxrFWAYeI4BbITuaQmGXfB5DfdcVOtrKikk3BVRnJoka1/IYMcOv4EpzbezfeSoerWsAWpKkKWRe7NjfaZ/32jTPHQ9BteHXqAjZr+tMAJQMPIyrVg59uogsx522tlUEJPunrUGqECjsWaWFB+F5PAYcHmxAGbiDpNvyNr2CIffo58yIyfN22pkSYeoRV6G+qebOg2owvby69sBQ6k8lLlWnjIzSNW41lXq7Ysk6SaFbCPYx1lLMlrBSc81bNBGZ97wCwNOWEZDSzuHaYPIvcWX61wgAQh6UQxGO7OSfhKsiS9pG0Z56XUigGmcCkSwKqu6i9ZTcT6q+9KNgvVpBeL7A4ICV1LEyxx5MTGNWc0KReVjXtzW+8A8Nzoa2wHYFIXFbGHFFFtiOprukY7jUFqSZvHI1c0DKWgvfI0P0QAQcO0BfoXEMC1jlsccZRIxKDD6Fr0wb1f9GkEhVMyiHAwMFka1PUeBbg1iq9DAd8AeFfexNWcYbo4iVJrttQk3OrFtRvBCQw3CLHvU+tFK7s8dqoVHS9TEVTlDMzD3Wot0pmxQiZe3t2xZA13npgloKmILPoA3+Y5VKZz1HvMltw5NtXR3bSqgS8Hc6GsmSffqAMNLMqkzEjXvdNtRiXvZSyKWTHnFKAuQRxeErLp9f/nDQR/JvjcGN/ElR4z03AnLsESkiRs7RuTiu/PCVa4D3+p0fpqSBBlnD2CG7GmlNADnu2xIWJhe6jLd8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(376002)(39860400002)(346002)(396003)(2906002)(36756003)(31686004)(66556008)(4326008)(66946007)(66476007)(53546011)(54906003)(6486002)(6506007)(478600001)(316002)(41300700001)(6512007)(26005)(6916009)(186003)(31696002)(83380400001)(38100700002)(2616005)(86362001)(5660300002)(8676002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFhOZEY4WERTTWVuZUZ3U1VUc2FrbG4raFpJVTNBZFlCaUZrVGdjMDhqeDdS?=
 =?utf-8?B?UEFOMUlUVG80WjhoTlZ5aUJhYnRYMEhPY3hqeFdscStaNE1hTHJYb20zNzJh?=
 =?utf-8?B?dlpTZC9ncFFCSHgvYVJ1Yi9oZ3NUeVg4SEMrZFR2emVOcWNkU0ZPOForWVlk?=
 =?utf-8?B?ak91ZVI0ZUJZWis4SFJJOU9MdFh6OGtoZDdRYlNJMGJQS2ZqTituaFpLOVFI?=
 =?utf-8?B?SnlTcU5VOUlqSlRLcTFCN3JRNWhkQmpiRXFxRG83aUhQSVNLVlkvWE8yMGxh?=
 =?utf-8?B?VzllOEp1S0VWY0NmYkVMTzBFYXpGV2dOVXovY0NpMXNpcU1JL2xvbTRkVnlH?=
 =?utf-8?B?VWlYOEdGeFRnYUJYM1I4a3cwbTJNeCtRTThhUFluNjBmUDNhcHRTMlZrNzhL?=
 =?utf-8?B?cjQ4eU9UWEJiTlh1QWljNFhZWDNha25oYkZ6aVB1dCs1YjluT2FuYmZOcEcy?=
 =?utf-8?B?L09KUTZsZmJtSUhRSDRmcXg3b3JSK2RCK2NqcXlORnhrbTVLNklZQk9GRnhM?=
 =?utf-8?B?ZW5wSm55RHoyZVBpdHU4WU1BeXp1anJoNzNxODR2Lzk5ak4zczV3OWpvZUV4?=
 =?utf-8?B?Tm9KRFRwbWtLOTduNjdBNGlXbEgyYkVDYWg1dzh0VmN2eGxscW9SOWlkSXRT?=
 =?utf-8?B?NkQzcHJ4eUg4dk1mZkZIb052Z0xaWVJjN2JZSU9ZaHB3akdBQjZnTURIbkZ3?=
 =?utf-8?B?YmQxcjlUYzJIVWZMSW05SmJKQ3grMkp6QVJydXBBRGtDdVdIY0xOQi9rMzhD?=
 =?utf-8?B?b3JyM1ZVV3VwQU9PNWF4NkJybFdwMUs4bFpGU09jZVN6eDZ4NXZ2U1lEaks1?=
 =?utf-8?B?WXhIRGhCeUczRkdWRXZzcXNNNGZ4UlpjV2tvNG1JZFNLY2hSeXNWWDI1ckhK?=
 =?utf-8?B?ZmZFU21URHlBYlQ3MTJGc1RlVmppK1JVYU5wdHlEQTJYMUpJTlhUN1pJaFhS?=
 =?utf-8?B?VXh0TEpXdXZwa3ZERHJXamQ0MG5wRTRGN2t3Qmh5dVBlSWdwOEcxVEJDczYv?=
 =?utf-8?B?RDlhbUFWaGpubWNlREdIS3o1ajUwcGp2UU9nT05pckk0RVZHZFNlZkxMMlBK?=
 =?utf-8?B?blR6TWo1RjRwNGZJSVV6ZkZ3MVhlS25FeDFrNG5zUlBuVCtRMmNka2k4UG8x?=
 =?utf-8?B?S3QySk9vcG5iV0pNODNvc2k1cXZGWEVpRkVYOEd5MGg1OUFhSmJKRW1uKzl1?=
 =?utf-8?B?bzZ6MlByT3hNMnFJMG5RRVprQWplemN2Z004elVhejNwbHBTV25Md1lwYjhC?=
 =?utf-8?B?SGd5TlYzSFBOdzRXZTR1NGpJRkROMEFCU0YrRXFjU0pZVjd4SDBVNzJFT2gz?=
 =?utf-8?B?dE40Mkt6c0hlSyt2K2RjaUU4c1o4dDg3ZHpTS2pTVktLSGFWZ3JBN1QzVGRp?=
 =?utf-8?B?Q0NyVTJLTDZnSThBalJYVHIva0R5V0E1a1dFTjVWa2t0RXB5WHZCaDBIQkpX?=
 =?utf-8?B?WStvdkJTZk1XeXM2MUoxOFo3d0dLSi9SWnNOMHBXNVdkeHJ1aDNmbnYzbits?=
 =?utf-8?B?MjhnMFAxUk9MRzhpdEMwSTVwUUNScXVSOE9KR1hkR3crcXg4cUowekFOOE1s?=
 =?utf-8?B?b0Jsa1AzWUthRXFtY2FITGpjLzVocFZRZHRpSmg1M2JseDJlYlFIOTVkeGRn?=
 =?utf-8?B?cDM1aDBLSlhmZ2JRdE9NenJURE9vTitvVHkyZnVoZlhTQUNXVWp3eGp3aGxM?=
 =?utf-8?B?RWVLbG5qZzQ3d3hHTllkeWh6RTVmQkJDOW5RUU9DeW04eFRLaVBuZk5JRVc3?=
 =?utf-8?B?ZWdXekNGN1BkSGpxRE1FeGgrR2lubi8rTDFHY1VaMW1Bay9Qd2phcllueDZR?=
 =?utf-8?B?cWQyd1J5REE4N0psaWRsLytmb014TzJaUjg5dHlZVGp1d2tFNjIrWFpXMWtX?=
 =?utf-8?B?NG1jem5BU0lvQmd0Y1BtNy9HQjUrMmVpVHVxaG9aRlVtYUppall6elIyZkpF?=
 =?utf-8?B?WXZUdjkrbmRQREVIYU91K0NlY2VoZ1pISEx5ejJ2NWlSRXN6RkpXOEV1RkZC?=
 =?utf-8?B?RXd3UmZwVUZCOFFZN0NIOGtjVUhJNS8yV3NhcUQrck0yclppSllKc3RoNThU?=
 =?utf-8?B?YTdrNFBZelVRM1B3cjkzTjQ0VFhoU1lMelFKQ3hhekpVQ0J6dlc3Qm5DdTMr?=
 =?utf-8?Q?SzG195yp4h7j/1uaXwWZoYSlH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f6dec042-d4f9-4d32-4a85-08da867fe2d5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 09:55:05.2194
 (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: IC3V8RmM86gGteSQsOzMCqgnzPBIrRXzhEDNXu/xaiqmfI4rPAa1ksspgvMnts0QOgT06jQuLXlaej3o16KGRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9428

On 25.08.2022 11:48, Bertrand Marquis wrote:
> When Xen is compiled for x86 on an arm machine, libacpi build is failing
> due to a wrong include path:
> - arch-x86/xen.h includes xen.h
> - xen.h includes arch-arm.h (as __i386__ and __x86_64__ are not defined
> but arm ones are).
> 
> To solve this issue move XEN_ACPI_ definitions in a new header
> guest-acpi.h that can be included cleanly by mk_dsdt.c.
> Inside this header, only protect the definitions using ifdef
> __XEN_TOOLS__ as the defines are not used anywhere in the hypervisor and
> are not expected to be.
> 
> Previous users needing any of the XEN_ACPI_ definitions will now need to
> include arch-x86/guest-acpi.h instead of arch-x86/xen.h
> 
> Fixes: d6ac8e22c7c5 ("acpi/x86: define ACPI IO registers for PVH guests")
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> For the release manager:
> - risk: very low, the definitions moved are only used in mk_dsdt and
> external users would just have to include the new header.
> - advantage: we can now compile xen for x86 on arm build machines

I'll give it a little for Henry to possibly release-ack this, but since
strictly speaking this is a bug fix, I think it could also go in without
(as long as not actually objected to, of course).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 10:13:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 10:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393234.632053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9ra-00054n-FC; Thu, 25 Aug 2022 10:13:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393234.632053; Thu, 25 Aug 2022 10:13:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9ra-00054g-CE; Thu, 25 Aug 2022 10:13:26 +0000
Received: by outflank-mailman (input) for mailman id 393234;
 Thu, 25 Aug 2022 10:13:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oR9rY-00054W-EJ
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 10:13:24 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8cae9706-245e-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 12:13:23 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 7D67C20CD3;
 Thu, 25 Aug 2022 10:13:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 34C6113A8E;
 Thu, 25 Aug 2022 10:13:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ZmMBC0JLB2OPWgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 10:13:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cae9706-245e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661422402; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=LJmOV5LiY1KYUXbDC8A5IR7Cc7SbhG/OU/aTO8TfXMY=;
	b=dFttVLtj9rqNQBQbpAsXk6Dj9hHfEWmgB1XDWgTf8xmlp+uRrKRdfW0Le29aUjC1a5p49z
	GK/ZQqjBX5k/mFI3/j0tsZ1t3M1PrJGbr0rAxkCH1Oc/QOoi1IRq8IC2wtGwHKelRphF/e
	B6dXFPqUJyObQGuGduZk2MDhMZY0MNk=
Message-ID: <a69d7917-daae-c8d9-5f4b-2300c99168b8@suse.com>
Date: Thu, 25 Aug 2022 12:13:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220825092600.7188-1-jgross@suse.com>
 <2c762b15-fd7e-f14e-fcc9-a083af683e4f@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
In-Reply-To: <2c762b15-fd7e-f14e-fcc9-a083af683e4f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------AdXZj2y0QB0pOHSuVWpP4yNL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------AdXZj2y0QB0pOHSuVWpP4yNL
Content-Type: multipart/mixed; boundary="------------xHGVdcwthKYZTnCMqQXGfptV";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <a69d7917-daae-c8d9-5f4b-2300c99168b8@suse.com>
Subject: Re: [PATCH v2] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
References: <20220825092600.7188-1-jgross@suse.com>
 <2c762b15-fd7e-f14e-fcc9-a083af683e4f@suse.com>
In-Reply-To: <2c762b15-fd7e-f14e-fcc9-a083af683e4f@suse.com>

--------------xHGVdcwthKYZTnCMqQXGfptV
Content-Type: multipart/mixed; boundary="------------0vWVYWt8rO1HxuGNXWjBbHy9"

--------------0vWVYWt8rO1HxuGNXWjBbHy9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDguMjIgMTE6NTAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNS4wOC4yMDIy
IDExOjI2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gVGhlIGVycm9yIGV4aXQgb2YgcHJp
dmNtZF9pb2N0bF9kbV9vcCgpIGlzIGNhbGxpbmcgdW5sb2NrX3BhZ2VzKCkNCj4+IHBvdGVu
dGlhbGx5IHdpdGggcGFnZXMgYmVpbmcgTlVMTCwgbGVhZGluZyB0byBhIE5VTEwgZGVyZWZl
cmVuY2UuDQo+Pg0KPj4gQWRkaXRpb25hbGx5IGxvY2tfcGFnZXMoKSBkb2Vzbid0IGNoZWNr
IGZvciBwaW5fdXNlcl9wYWdlc19mYXN0KCkNCj4+IGhhdmluZyBiZWVuIGNvbXBsZXRlbHkg
c3VjY2Vzc2Z1bCwgcmVzdWx0aW5nIGluIHBvdGVudGlhbGx5IG5vdA0KPj4gbG9ja2luZyBh
bGwgcGFnZXMgaW50byBtZW1vcnkuIFRoaXMgY291bGQgcmVzdWx0IGluIHNwb3JhZGljIGZh
aWx1cmVzDQo+PiB3aGVuIHVzaW5nIHRoZSByZWxhdGVkIG1lbW9yeSBpbiB1c2VyIG1vZGUu
DQo+Pg0KPj4gRml4IGFsbCBvZiB0aGF0IGJ5IGNhbGxpbmcgdW5sb2NrX3BhZ2VzKCkgYWx3
YXlzIHdpdGggdGhlIHJlYWwgbnVtYmVyDQo+PiBvZiBwaW5uZWQgcGFnZXMsIHdoaWNoIHdp
bGwgYmUgemVybyBpbiBjYXNlIHBhZ2VzIGJlaW5nIE5VTEwsIGFuZCBieQ0KPj4gY2hlY2tp
bmcgdGhlIG51bWJlciBvZiBwYXRjaGVzIHBpbm5lZCBieSBwaW5fdXNlcl9wYWdlc19mYXN0
KCkNCj4gDQo+IE5pdDogcy9wYXRjaGVzL3BhZ2VzLw0KPiANCj4+IG1hdGNoaW5nIHRoZSBl
eHBlY3RlZCBudW1iZXIgb2YgcGFnZXMuDQo+Pg0KPj4gQ2M6IDxzdGFibGVAdmdlci5rZXJu
ZWwub3JnPg0KPj4gRml4ZXM6IGFiNTIwYmU4Y2Q1ZCAoInhlbi9wcml2Y21kOiBBZGQgSU9D
VExfUFJJVkNNRF9ETV9PUCIpDQo+PiBSZXBvcnRlZC1ieTogUnVzdGFtIFN1YmtoYW5rdWxv
diA8c3Via2hhbmt1bG92QGlzcHJhcy5ydT4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4g
R3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gDQo+IFJldmlld2VkLWJ5OiBKYW4gQmV1bGlj
aCA8amJldWxpY2hAc3VzZS5jb20+DQo+IA0KPiBJIGhhdmUgYSBxdWVzdGlvbiAvIHN1Z2dl
c3Rpb24sIHRob3VnaDoNCj4gDQo+PiAtLS0gYS9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+
ICsrKyBiL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPj4gQEAgLTYwMiw2ICs2MDIsMTAgQEAg
c3RhdGljIGludCBsb2NrX3BhZ2VzKA0KPj4gICAJCSpwaW5uZWQgKz0gcGFnZV9jb3VudDsN
Cj4+ICAgCQlucl9wYWdlcyAtPSBwYWdlX2NvdW50Ow0KPj4gICAJCXBhZ2VzICs9IHBhZ2Vf
Y291bnQ7DQo+PiArDQo+PiArCQkvKiBFeGFjdCByZWFzb24gaXNuJ3Qga25vd24sIEVGQVVM
VCBpcyBvbmUgcG9zc2liaWxpdHkuICovDQo+PiArCQlpZiAocGFnZV9jb3VudCA8IHJlcXVl
c3RlZCkNCj4+ICsJCQlyZXR1cm4gLUVGQVVMVDsNCj4+ICAgCX0NCj4gDQo+IEkgZG9uJ3Qg
cmVhbGx5IGtub3cgdGhlIGlubmVyIHdvcmtpbmdzIG9mIHBpbl91c2VyX3BhZ2VzX2Zhc3Qo
KQ0KPiBub3Igd2hhdCBmdXR1cmUgcGxhbnMgdGhlcmUgYXJlIHdpdGggaXQuIFRvIGJlIGFz
IGluZGVwZW5kZW50IG9mDQo+IGl0cyBiZWhhdmlvciBhcyBwb3NzaWJsZSwgaG93IGFib3V0
IGJhaWxpbmcgaGVyZSBvbmx5IHdoZW4NCj4gcGFnZV9jb3VudCBhY3R1YWxseSBpcyB6ZXJv
IChpLmUuIG5vIGZvcndhcmQgcHJvZ3Jlc3MpPw0KDQpUaGlzIHdvdWxkIHJlcXVpcmUgdG8g
cmV3b3JrIHRoZSBsb29wIGluIGxvY2tfcGFnZXMoKSB0byBiZSBhYmxlIHRvDQpoYW5kbGUg
b25seSBhIHBhcnRpYWwgYnVmZmVyLg0KDQpUaGlzIHdvdWxkIGFkZCBzb21lIGNvbXBsZXhp
dHksIGJ1dCBPVE9IIEknZCBnZXQgYW4gZXhhY3QgZXJyb3IgY29kZQ0KYmFjayBpbiBjYXNl
IG9mIGZhaWx1cmUuDQoNCkknbGwgaGF2ZSBhIHRyeSBhbmQgc2VlIGhvdyB0aGUgcmVzdWx0
IHdvdWxkIGxvb2sgbGlrZS4NCg0KDQpKdWVyZ2VuDQo=
--------------0vWVYWt8rO1HxuGNXWjBbHy9
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0vWVYWt8rO1HxuGNXWjBbHy9--

--------------xHGVdcwthKYZTnCMqQXGfptV--

--------------AdXZj2y0QB0pOHSuVWpP4yNL
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHS0EFAwAAAAAACgkQsN6d1ii/Ey9w
3wf/Wz1Qu1f2S4SqkU5O6dvi4gWS9VayII/dOUzq0eRxnp2ehO5TAdqj++Wb8rI2MiIPNdWCK4y9
WZvU8kOUejVUwkWeFGdnRWxDZgwDLJDQ4LAdf6eFraTwHJwMmHL1zKKEvdTeDz7Un/yNMkyJVKKD
h0JIRfCYZY1yhD6esTTbjrfKRwyTSRFJ69t/44ycRwgV8zCyGCRvHG6UIzpndmF8lzvIQQzxoPQS
hdjCzsjaMepOZRqLBhAx+gKWcZy4x+jsRcgDXp0KGVmUhtCqoNHm7uHRJUR8dcgg7epKJN6YzKC3
NVftYuY7j9iA9B4OKzkDezi+WHRmnKLk0484GNQnTg==
=Vp5U
-----END PGP SIGNATURE-----

--------------AdXZj2y0QB0pOHSuVWpP4yNL--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 10:18:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 10:18:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393241.632064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9wS-0005nb-4F; Thu, 25 Aug 2022 10:18:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393241.632064; Thu, 25 Aug 2022 10:18:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oR9wS-0005nU-1H; Thu, 25 Aug 2022 10:18:28 +0000
Received: by outflank-mailman (input) for mailman id 393241;
 Thu, 25 Aug 2022 10:18:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oR9wQ-0005nO-Q0
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 10:18:26 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2077.outbound.protection.outlook.com [40.107.104.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 412e5b9f-245f-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 12:18:25 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB6PR0401MB2600.eurprd04.prod.outlook.com (2603:10a6:4:30::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Thu, 25 Aug
 2022 10:18:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 10:18:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 412e5b9f-245f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b7klRiHomUrrkXe402LUPnh67//x7FXTdI6S+uGCXkH//lyw7a4FDYbcOkYhKUN+xZzwe7wMJT/Z2yJinBbutDtAHjcpNduHMB30h/0inM83c1LnZtc6NaMjLWhjVvLf1G24GJqc6doHw28MC8PJkLcdvgrGmt/MaMDzNlKXddypo/NNDB02EtZWOJwvBsbjp+GgBd10RkjB7HR52qlQb/XCoV1t4KdUpiKAO71sNJmrDgOghPBzqj6tH49tiSwYMsXIs5UuB0qYPwfVKbzYnlZRQUOsk35TPMClB/+T5gB5WYN3tNc41S0msWledW8qtN0aUkNDMzPQVwX7y+Jteg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2TO/Wkl9OWTNErk2uogj+5BpYOVrbr1YzUDiHC8McFM=;
 b=TGKow0jEWzvaDSPmuttNIi9es3t4KX0OmZ4I2Gb7LVAYwZ7le8nLhimWcn64AGsXT+NLSC/Klg+SqkDJDcTbS4MoXHT4ClGa3Nfhosi+GrGT15EpbX/o9C8IrtUtFyYWp3ooWN2A/LmSpYn9L3Tr9z/V/Khbc16q1jOK5Zo1TpSRPvufZr+oOfnfcA14pyGX5SdLpHXMBDLxU/EoSnQrIkwMpq+tgLFLst589EIlR8eIJ+9GKreyyFDdJbQc5KMIftFVz5MNPGDVVIUFwgoS2OJlhgjj4eZdULf+iReZmLi3FwXXKtaW8SB5j7hshrm+T2AiljEAzOrHiR7vL+D57A==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2TO/Wkl9OWTNErk2uogj+5BpYOVrbr1YzUDiHC8McFM=;
 b=eSSLUoE38uLNy2smdfWkbu0pXfSL+nYlEXQ7++Ix4mJzsLtWH0SUlkWZNo/Jy5sXuc9bayJNnXyIyYqZWpqUK9Aya4uK3W+tziZ1t8/fx7y8nqNGIjCiGX17E+UaWuwrMvtH9TobNgBf9HBS9KQyeUGYVLjgJ3g/9IpgmXBj/OCu4VIfrfi79Cwqm6l0zu87f1+riQZe3zyTHK/RpFtvG6mRhCDh70CKRj2PqCqtGkN0qzRSjbKTY0RPawf/B6uLrYHPBeqnvEJv6Ebquf+TeUmKNedx6ZauLfgTV4+vQBS7/nXQr3usN3dmSTf/2tdTub++YBHsaWknUXjE5avy0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <784c1d55-be94-eef9-eb96-fd8fd902db12@suse.com>
Date: Thu, 25 Aug 2022 12:18:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v3 1/6] xen/x86: Provide helpers for common code to access
 acpi_numa
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: nd@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-2-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220822025810.2240707-2-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 51cf03ef-7dd3-4316-a986-08da86832452
X-MS-TrafficTypeDiagnostic: DB6PR0401MB2600:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9WSHdDCF9azJSN9I2uhcGdKe1n7kizUV1dYd7zQL33fgrw2Qxp6/hAqULLfxPFCz2RznnQKEBk9YQj/t0DVbXTkx1lyjdyQCM2nJWHNkoYwd5wgvqWdkgcefaFvprasGn+AAX9fC9CPFd0MoGo2Fm/iUkysnXMe0MLijXnBQG6E8IN7OiotOvM/zSe+7ZVKtRDBi6q0AcKbttObuX0itYPcMO/jjhYC8YRGkfE4M7xRi1/7Ntyz/NQlmivJEkPm4ze4aKrMKlj0Y5+1WKkKVvBDH6aNWaYIXRdpjly43+BtV3W+WJFoQ8KvcrP1h23IyraHMvD0PSoeuwBvSLIMaZkq5VRXjne0ckCw98t+5msBSFNj8h6fGAa0vv9TD9UoZ6o9mOfeUMX7XfPK46XD6C0YHsyXZdj2Y4tLdKdCEi2bLJkeBAQgWdOXO2JF4IUeOFJmroHCtKMNvK5WuVZGiSYmty4YAEAisCe4nsqyhLvN+Yl1tGwFgvU07nejxwsjujzQx5kVnCS29pLIIecq7PycpvJmpN7cp6bj1q55n/hrSHZGw/KhsTLOSzTkNiVZn9nknbAtd1Ty+6S6zbqwbg7mMZDp5tlTlTZ7ie2dKcZTnaE6KHr5u/yQt3t7ddUYW71B+wf4zw3RnQs+wt4MrabzwipjknAHmhB83kIaalZf97m20EWY4jgx1PRPOwsA23rLz+dSamWuAg2JagAhCSSfAHVW3NuNbXrg368PkXP9sLGJqb72pAFNHn/5oNJKLmolUz9IILS84rhtl6q6i8OHOslWggB7rBOngR4b5+R4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(346002)(396003)(39860400002)(366004)(136003)(31696002)(86362001)(316002)(38100700002)(6916009)(54906003)(478600001)(8936002)(4326008)(66476007)(5660300002)(66556008)(8676002)(66946007)(83380400001)(186003)(2906002)(6506007)(2616005)(6486002)(26005)(6512007)(53546011)(41300700001)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Yll4dUtiQXRCSXk4VzIwY0xMNU1vM1c3aDNCdWFocGg1em5DUWlZcDJqUVYr?=
 =?utf-8?B?YmpGUWtNcm00SCtkeEFWM1RNZFdET2hoOUluYWV6UXVFenBYcjgvMmhtSXhE?=
 =?utf-8?B?Sy9VMTZUMTNNQnY3clBhbmRqZVVRWUo2d2t0QzNFeEY3SUJZWmRxU1g0Mlpq?=
 =?utf-8?B?ZWZWRXJIMzQ1Qjk3S2ZvaVQ5SHl2ZW5Sc3RuUC9BMDBNOGs1dXhHNEtPcytI?=
 =?utf-8?B?NzZKVll6dFdNeUEzbmFrRWErenQ1bmdwVmZhUlE5UlpXcjA1OStDaWNsNXNV?=
 =?utf-8?B?N295bGNIRnZ4K1Q4ajVoeFlrTU9WYS9zUVlPQzVRcVgzK20reGVkZkZRZ2VI?=
 =?utf-8?B?cXd3dkpIbWFERW1Ha01vT2gxcHBZUzVUeElXZWhWUTJIcCtUTnIrQU5aZFV0?=
 =?utf-8?B?TUFTb2xKajlRL3RlbnprenQ3dDkyY21FRm5hVmQ3VG1jeW9uazROcVBFbGhp?=
 =?utf-8?B?NVR2Rys1YWVXclZhTlJiN2NEWElMMFZRcEFvd2VpNmZVMU5PTXc2ODQ3bmV5?=
 =?utf-8?B?dEZENTU5bW13L2JXblJBSWhSL0l4WG9pdHZuY0htN1hwYWNwaWZpK2E4QXRW?=
 =?utf-8?B?bHNQYytVdisydVlOanVUTEVkNmxyanhKNmYvSS9mVzd4YkF4anJGS0Zzc2lx?=
 =?utf-8?B?WVAwZVBjMHB2NEFlcXhJZGg4c1FaTHVsY0Y4UWZQcGkybklIbUYwLzA2Zzlw?=
 =?utf-8?B?Vmx6RVc2ZFRpQXl4aHVlakp5NlhWZllreUIzaE9nMEJ1bEZTaVZRVk84WjVw?=
 =?utf-8?B?QUlMRFFZb1ozZFFrKy9XekRGR1BWQzNJVnZ0V1hkMDhsV1VDSXFTZEVCeTB4?=
 =?utf-8?B?NlpNRzdZcmdoN0Z6QXZ3UGpFbTVUOGVUMm9memdmZlk3VlVYNlJMQnNKMDBW?=
 =?utf-8?B?anU1amovNmR4T0JORFJ3S09xY0thblhtRDZmRldobzdaOVVJUGREUDI4bHRE?=
 =?utf-8?B?SnI0bURtcWcyamxIcFFESzFyVDAvY3l4cUh0RmprS253cnhiY2kzNzFtT0NY?=
 =?utf-8?B?SUhSZFZ1clNDUTVGTUtYSXRYaHdBNFJJQXhzNXZqd1EvQWxjWUplNktSbmtV?=
 =?utf-8?B?aSt3RzBwZ21kN0o4Y0xrdGk2RTZ4SHBMeVFvcGtxdWJaVWFORWIvbGZtdC9D?=
 =?utf-8?B?WFNtU3ZZZ3NJMHRETCtZY2tjQmRmUHo5SjdMd05rL2o3Nzlrb1hYRm53clRj?=
 =?utf-8?B?YXN4dnJyMWxPaGN2aTNqR2dhSndKQ0tQVW93cFh4Skh6d3J6Y2JlT0d6QVVV?=
 =?utf-8?B?T0IzSG9wV1hxMmVlMU5LSGNqb25mT0dZNDliOUp6VUJIZmVIMjFvdEJQUXgz?=
 =?utf-8?B?cjlwVER6RUdTbGpXTTRtUVF2dHUrRVBnOEladmM1WnZ2QVhOQ25sTDJLNmRH?=
 =?utf-8?B?RHJRSEFYZCszVjI5OE9KUFNHMC93Z3YwQTRWYjFuWExUbUFwdmNkS1Z2YTIz?=
 =?utf-8?B?a0dYS1RnQjNEN0VWSHpCYUpmTGQyL09URmJWSnZYcFg2bGJ6Y0sxM0FDZXBP?=
 =?utf-8?B?YzhMN1h6aDg1S0VWa2MyWG9YTU10MTJtRjJBbFY0RHBBU09LcU9Qb0hNZFBp?=
 =?utf-8?B?OS9LZW9GVWdDQjRmWlV1WXV5TEd1cTcwVWZOYVp1Q1M2T3BxWlJzMGtxSnVI?=
 =?utf-8?B?NVE0U0FsMWczZDRjOWpXNlBxTCtISWJ3WVhLNk1xOW1VTzE0TWFHTkozU0Ew?=
 =?utf-8?B?UmVLVkJLVUs5UXRCeHdqdGIrWnpESGJCYTBWNEl4b0FCdmk3ZjNOTFdSMXd4?=
 =?utf-8?B?bExMTndGYUtmWVZzZXFFY1ZoeDFnQnN3YXRwaHU1TkhYUFlzNmJWYTdocS9V?=
 =?utf-8?B?TXZGLzBla1dqd25YWW9LZk9xTEJyMk5Wb3BZQkFYN2RGdjhRdURETnNQeTBj?=
 =?utf-8?B?eEtKd1QyQWF5cEdjcTJSU3F6emQxMHpvQ2MxRXhBYmtDdGNUbDhZc2tXbzZP?=
 =?utf-8?B?bkk4Y2RDMENnZG90c2sxaDVqV0h0dmVzY3RrdWxydk56ZmRKbFlDenZLaUhX?=
 =?utf-8?B?KzQrWVBGS1lvODZ3dGJTdHNDWjNRejN2QThaNVFpckpyMnFqeitWSVZHQkw2?=
 =?utf-8?B?dDh0d1pWSWRhZktmSnE5eWpLTmZTam42ZUtuQ0d2RnFvZXpVSGtpZy9RdUJj?=
 =?utf-8?Q?F44suLnjBxOfuVB9W6niW93Dk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51cf03ef-7dd3-4316-a986-08da86832452
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 10:18:23.5831
 (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: /WlHwgIR56n2XTJXq85ymyzbWkIbtoxbDfS+k2RPMLQcBJRKMZGnlM6W2vF2B8E9V3DwfBjxTys9J9A+51w2SQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0401MB2600

On 22.08.2022 04:58, Wei Chen wrote:
> --- a/xen/arch/x86/include/asm/numa.h
> +++ b/xen/arch/x86/include/asm/numa.h
> @@ -32,8 +32,9 @@ extern void numa_add_cpu(int cpu);
>  extern void numa_init_array(void);
>  extern bool numa_off;
>  
> -
> -extern int srat_disabled(void);
> +extern int arch_numa_setup(const char *opt);
> +extern bool arch_numa_disabled(bool init_as_disable);

What is the parameter name intended to mean? Since the only caller
passes "false", this also isn't really possible to guess from the
use(s) in this patch. In any event perhaps best for the parameter
to be introduced only once it's actually needed.

> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -50,9 +50,31 @@ nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
>  bool numa_off;
>  s8 acpi_numa = 0;
>  
> -int srat_disabled(void)
> +int __init arch_numa_setup(const char *opt)
>  {
> -    return numa_off || acpi_numa < 0;
> +#ifdef CONFIG_ACPI_NUMA
> +    if ( !strncmp(opt, "noacpi", 6) )
> +    {
> +        numa_off = false;
> +        acpi_numa = -1;
> +        return 0;

With this "return" ...

> +    }
> +    else

... this "else" is unnecessary and hence would better be dropped,
not the least to ...

> +#endif
> +    return -EINVAL;

... avoid the otherwise ambiguous indentation of this line.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 10:22:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 10:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393247.632075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRA0f-0007BY-M4; Thu, 25 Aug 2022 10:22:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393247.632075; Thu, 25 Aug 2022 10:22:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRA0f-0007BR-JM; Thu, 25 Aug 2022 10:22:49 +0000
Received: by outflank-mailman (input) for mailman id 393247;
 Thu, 25 Aug 2022 10:22:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRA0e-0007BL-Rr
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 10:22:48 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20040.outbound.protection.outlook.com [40.107.2.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd4e68d2-245f-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 12:22:47 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7124.eurprd04.prod.outlook.com (2603:10a6:208:1a0::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 10:22:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 10:22:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd4e68d2-245f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eeF3s78Ogze5P3J6XslqYE/mXjeELvZOOXHRiZ/wRROs4NH2HvJqA/gEL55IPiY6wbOURemtbeoW3gEsR/OfWYsLw9DCZz5otLqmk7BY3hTQB6fkLkKpCxYY7FpunqLFBqsf12motA00v/hv+QLkLfbCMaenhbmu4/IVPFaFlg/IqUD8KDsEx8UEc20RJ7K4AVogGoN3DsheHeNHyV3UU5ovC8pKwHun+3XfvEZHOJ/RjafLS7CTqSbIlsy7C2ZoUgbVd1mtjddDIc/xp1xS5gywiwDfUIlibTsO+VDSpdGsU3txmDk/d4f9dncM/eiWHoVA8VexVoJfsa1ZXNT1Lw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qRydoAkaKXOhDms5UqmA8zzHTIkqILjL7ZD8DZsJqW4=;
 b=DQqjg92XeytlI9RBA5fRp9glP6AjRCnNLteQYN4ZJsr1rarDwXqWg2mahsGyMFnFVoiBaiedh27N3kWBJXvJyjT3/65KZH4Bf5wfrYouTl/ArflPVJPXGzbNcLEWvW8Jrc2cv7I0OLcKnY1AR8CkPOO2IE94myi62jJNtjOEf0hZIwSYb8XUg5KZ2BUoqDSTIBMtAiQ/nl5v5TJQ1CgMk0wZo/QnTp7JHnGozc50DokWOlgHuYpxAT2501YkkroCBZGBag9CW3KL74l6b56iUROw4JRVya4tdpmMVGQmsm8xuKKnBHY+HGxuEHb/LEHCrmKWvy7hNILppIPRdomuTQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qRydoAkaKXOhDms5UqmA8zzHTIkqILjL7ZD8DZsJqW4=;
 b=cR0Oof2W/dlwz1MFoqbX463pI7cTlj28SPuwQFclHkbqh4WkmKjLUInXSThsALt1rYg+LmKSwXq8fSl+ES2ikeXq2wHJfdKtAnT3mgkmbF+GhMb1fsCAVMMG1aqFMIEjUlGMFNbbkRWWPDE0j8CPo/Vx/bnSiq0OffeTM4ukfvIR14y/Ut/bs1fcHEP40IC8VT8eBATAzKx52OIgOs56EaM76miHEUINneNkkFGf+I/mZ5dfB3vVk+QnNHYKFp6zTtRFjUtZnU5//En7NcTPEJCwDZkpsO8osxSQxldEfm2ooS7NTCZDiSOMgjCu3p6OWp2C4vAxC7a2Rhk++zKFHA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d0ef9b45-9730-c9d5-a57e-9b7860d84a13@suse.com>
Date: Thu, 25 Aug 2022 12:22:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v2] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220825092600.7188-1-jgross@suse.com>
 <2c762b15-fd7e-f14e-fcc9-a083af683e4f@suse.com>
 <a69d7917-daae-c8d9-5f4b-2300c99168b8@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a69d7917-daae-c8d9-5f4b-2300c99168b8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2ae7c851-065a-480f-8959-08da8683c07c
X-MS-TrafficTypeDiagnostic: AM0PR04MB7124:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5+fnR6aq7kfvJz4MiGA+i7TtEu+wEa08wnRBua12KsYxmzx+0Dz2HpzeTO5TfFrVVkpOTBGXi3bOI6aw3eUcln8PdEfwc8BjfLsOedxjbI+kBcCeYNumpTmWpGkgM+F/nqCh9xd6z0AwtrEV6GC6Db+FYUrm6VjOm4QCCmIribWJqaf2fwZIWPDpZmul7uDXP7j4ZJIlk2iuy/2I55qJt67saNl0jWHN/Vd91hvmIMP6Z4o9ZWs4oSMMzK/7Sh32k5dgSrYYyLdfDpc11ophTk7DOJ1XNNVGZSF1ZnxiPx+0CPbf2eGsDJdw+0JJl7OuYDeQxuliD766QlCzSRhxbUzooS5Rz0/Mg/XIDBPl6UEpAbFQrctqxhAFQV5asZPIJf1fqdXJ6kG5PEGm2CYaHvsuO2pqiS3MndDiSRJwWvTBICF7aJ7bBVaR9t4HeF78RraDK63CTbe/lU9RKYtaGFOPuLJr/oeRF6m8mPhRA6nuGDWeX/QTdIhsbBH2t8Jjc5N3xzCXLvdukFNAaiWU4fVWQHHslZhOL7rKdhaZDH48LfEEK9Qfox/UZU7/NcCeBLlGtbhJuOTwJwU46CndYiHSzWRFu4teGsrhLFxQTocLztiAr5nJBrQ4bjFyYHca5D3qz0SFTbdBKhIxCjnpi4ymimZeYvSe+elMqmG9N93+uURwUUWQeoGX05COFthcDbw0JBIu5ot5TVKcEvgFfApP1woKuVUioVwX9qE6u/wttEzkMafIIaAXujJWpnWt+ruEK6B4wbbxYd4cAllfYrLSLQtJ67seRv5FAvzc1Hw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(376002)(366004)(136003)(39860400002)(86362001)(6666004)(8936002)(41300700001)(38100700002)(37006003)(478600001)(6486002)(6862004)(66946007)(316002)(6636002)(54906003)(66556008)(8676002)(66476007)(4326008)(31696002)(36756003)(31686004)(186003)(2616005)(83380400001)(5660300002)(26005)(2906002)(6506007)(6512007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmJ5eml3Z2VUOVcvK0NpU3NtL0lMdXFZVEg0akNDSzk1L2xURGlISFVWRSs1?=
 =?utf-8?B?aGpGMGxURXNGMFYrbzcyVjBYUDRwQ3N4dWhSRW53M1lLZjVnS0VzU3E4eUpZ?=
 =?utf-8?B?RStxZldIZ3FWNTBUN0Q5c0R0QW9JWDdpTmxnZkFGRnFMejlaWXU3UjRpcVlv?=
 =?utf-8?B?ajNkOFAyMVM0T21QTWhZenZvMVVLQlgvaGhVdVErVDU0UDJuSldGdGk2Q0s3?=
 =?utf-8?B?OUd2c1cyWHd2QU1HdUN4cURFSVJHbUM2TVhmczZUaWhaKzZjYllnWkI4TC9z?=
 =?utf-8?B?R0lSZ1g0dnRTRUU3NHJYVXdlSHViVkp2L3hxSW02c3VUeWJNbmNSR29LaE1T?=
 =?utf-8?B?dGhIbisvNXhnaW92T0tzRmI0UG1zanBveGJCZlJ3dXFXSVNUZkVWTjBKT1dE?=
 =?utf-8?B?SVRQdDJOby9UUi9iS1k1dXg3OTIzeURCTjJyZmptK1pNZDdkZHdIUGcrTVRi?=
 =?utf-8?B?TFFQR1hSNjgrOTU3M2w3YlNrZ2QyOFhEMFpiKzNXendHWE45UzhuYWpuQU1Y?=
 =?utf-8?B?RGRzb3k0RkJ4OFdCM2JwalZjVGthZUh5OTFQTGpmRDNyV3ZYa1c5bklaOXNu?=
 =?utf-8?B?c3JBdENtSmhxNTg1cG85U3V1UUxqV1lDeVF1cnFnYmIvSzJleVdjWXRPZmY3?=
 =?utf-8?B?ZFR0MWhHcGRFOFNMRU41YzRSbzRKR2hLVlFRVHBMMWd5cUM2Q2lRUys0cHVT?=
 =?utf-8?B?YitESXZsUzVhZ3pxMStjblRkNkwxQnlaZmlCYzYvMmdGc3VUZ2ptT3RnZ05o?=
 =?utf-8?B?ZHFIN3lEUFhTMGlaNHZtY3lZa3B6T2ROMFRqZmNiNWdqZ2tjMGE1a2diN3RQ?=
 =?utf-8?B?U1BjVkhPaHMrbG1VSnFJKzJSM2tsbGlkVmgvOXFla0tJc2Y1emNrTXpWNVht?=
 =?utf-8?B?R3preGpwekVLSGwrZzNEVGNscks4SzRSVXZlTUYzYXNKYkZaV3BDUVZBOW9S?=
 =?utf-8?B?QXl6c1A2ZEhmdTdLWDZRU2hBYzhzZWFXbGdyeGlIOGhPemU3dC9DVW02eXZ4?=
 =?utf-8?B?Z0laaVpVQUQzaGx4bDBkcnFvdmVCOW1pQmNTbW05T1U4WDliRkEyTTRIZGhy?=
 =?utf-8?B?SlROY0JYUFkyNXBBMlBKMEgxTUVlY2pHSjZQWXNTS1EyK2tMNzc2TG1zZlFz?=
 =?utf-8?B?NnFHcFBHcWRHMk84QTdhMVp0YURFWW5QOEFGZDByV29KN2E3QytmSFBrRVFF?=
 =?utf-8?B?enZiTThyMjNyYkd5SHpxNTRNaS83aHB5YXE0VDFEdTFtSHBpaWRCYXRMMEFR?=
 =?utf-8?B?UkdXRTkwMjdpTTJGSEpZeEdONjc0R2MvNGluZFg0eDVOMEpxNFpGcktkTlFa?=
 =?utf-8?B?V2FtM242TWM1SkplSXdscFdFTmFSbFZ0cGhyYkRjWlJnS1diaHAwelhQY2xz?=
 =?utf-8?B?SmhCK3ZIWmQwTmFsN1QzRjNPNGJPZEFnSzgyUFY0MmQ2VGxKWWo0QUNycTVw?=
 =?utf-8?B?SFB5ZGY5TzkzWC9ETkpWbTJkN1d1ZHIwQlY1a2FRU3E3eStqa1pRd3JVcHlW?=
 =?utf-8?B?VDQwbm1NVU4yZ25KZnhhbmxqMEtuWm9JTktOUGJFTENHTEptRjYxT3lXUzI1?=
 =?utf-8?B?UFBXYis0cE5Vdmk0ZjJ1b0RQOFVISkoyUDBzU3VKWFQzNDN0bXZZSDFldk1K?=
 =?utf-8?B?OHM4K2VpbTBmbkp3ZzFhbGZ5ZzRCRzJBVjlybFN4NkR3UllsNTRCSUJQT2pT?=
 =?utf-8?B?MHBDZkxCZldzK0lOeTB1Y2U3TTNWMFl1SW9Gb3g3QTA3bm9NU25JWnVpTTAx?=
 =?utf-8?B?bHRXdys3L215K21JR1R3d2g4VE9rajVFTGFkNUhUU0RBa1loRXkzbkI2USt0?=
 =?utf-8?B?bk9sMU1xTmFBSlVpSWNxNzNJaVhwMEFaS1JNcDZ4dFZPcWtncThyTTBXNmd5?=
 =?utf-8?B?cVJRWEZ6Q1EzTzRMYU5wcXEvekNNV2Z1Ri9kMUtvM2xVSmw2NTdjSWZNSjhy?=
 =?utf-8?B?Z0FoREFncmkxOXE1aVRFZWMxVEJiRGQwRFd2WlJjdXg0QWlveDczRDM2Y1Rv?=
 =?utf-8?B?ajA3bExBS1g4SXU0OGVZNU50L3JQV1dkb3pzU0s1SXNFZVRtNUhwS0dibUdZ?=
 =?utf-8?B?TGJBZDZDa3kwVnlHVkViU0RFQkNRenlSaTV2RHJKMzUyVTNuYUdDYXdhQUk3?=
 =?utf-8?Q?9a62fMMxxZwRqcDhSTnEb/iPq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ae7c851-065a-480f-8959-08da8683c07c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 10:22:45.5977
 (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: 5foEZJRthTkIv3RiE6Mux4Dov3CPRIxaRWwSWAG1xqxErITfGIWwAEnt1YVp60+2bFZCqPl5n4dw7pSRTo7n1g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7124

On 25.08.2022 12:13, Juergen Gross wrote:
> On 25.08.22 11:50, Jan Beulich wrote:
>> On 25.08.2022 11:26, Juergen Gross wrote:
>>> --- a/drivers/xen/privcmd.c
>>> +++ b/drivers/xen/privcmd.c
>>> @@ -602,6 +602,10 @@ static int lock_pages(
>>>   		*pinned += page_count;
>>>   		nr_pages -= page_count;
>>>   		pages += page_count;
>>> +
>>> +		/* Exact reason isn't known, EFAULT is one possibility. */
>>> +		if (page_count < requested)
>>> +			return -EFAULT;
>>>   	}
>>
>> I don't really know the inner workings of pin_user_pages_fast()
>> nor what future plans there are with it. To be as independent of
>> its behavior as possible, how about bailing here only when
>> page_count actually is zero (i.e. no forward progress)?
> 
> This would require to rework the loop in lock_pages() to be able to
> handle only a partial buffer.

Oh, I see - I've misread the code as if the loop was capping each
iteration's count to the capacity of some internal buffer (as iirc
is being done elsewhere). So ...

> This would add some complexity, but OTOH I'd get an exact error code
> back in case of failure.

... perhaps not worth it then, ...

> I'll have a try and see how the result would look like.

... unless you think this might be relevant in certain cases.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 10:31:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 10:31:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393253.632086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRA91-0000DP-G9; Thu, 25 Aug 2022 10:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393253.632086; Thu, 25 Aug 2022 10:31:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRA91-0000DH-DN; Thu, 25 Aug 2022 10:31:27 +0000
Received: by outflank-mailman (input) for mailman id 393253;
 Thu, 25 Aug 2022 10:31:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kueA=Y5=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1oRA8x-0000D6-5v
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 10:31:26 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f2063d4-2461-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 12:31:20 +0200 (CEST)
Received: from zn.tnic (p200300ea971b98f5329c23fffea6a903.dip0.t-ipconnect.de
 [IPv6:2003:ea:971b:98f5:329c:23ff:fea6:a903])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 09D131EC0657;
 Thu, 25 Aug 2022 12:31:16 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f2063d4-2461-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1661423476;
	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:in-reply-to:in-reply-to:  references:references;
	bh=zK9NbDDerkx+CYip96QcRVUldGtE2iU26G30xCp9mcs=;
	b=CQvToHdRh10wL0hNduhRHenIAoBSCFKnudfnEHA7E496ePGgQTBicqQpC4b7DYdm0t9dve
	rs0QKTGLlkgbz/oLxD0um5n6blHxFIND65bz8sT5S+mpVP9lwY85movY9jI+knWEQAtrgS
	N1Z9T8z6WgoJvzYa6LjJLY6GCpGLqxQ=
Date: Thu, 25 Aug 2022 12:31:11 +0200
From: Borislav Petkov <bp@alien8.de>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
Message-ID: <YwdPb4pWqppgzIpm@zn.tnic>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20220820092533.29420-3-jgross@suse.com>

On Sat, Aug 20, 2022 at 11:25:25AM +0200, Juergen Gross wrote:
> The Cyrix cpu specific MTRR function cyrix_set_all() will never be
> called, as the struct mtrr_ops set_all() callback will only be called
> in the use_intel() case, which would require the use_intel_if member
> of struct mtrr_ops to be set, which isn't the case for Cyrix.

Doing some git archeology:

So the commit which added mtrr_aps_delayed_init is

  d0af9eed5aa9 ("x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init")

from 2009.

The IPI callback before it, looked like this:

static void ipi_handler(void *info)
{
#ifdef CONFIG_SMP
	struct set_mtrr_data *data = info;
	unsigned long flags;

	local_irq_save(flags);

	atomic_dec(&data->count);
	while (!atomic_read(&data->gate))
		cpu_relax();

	/*  The master has cleared me to execute  */
	if (data->smp_reg != ~0U) {
		mtrr_if->set(data->smp_reg, data->smp_base,
			     data->smp_size, data->smp_type);
	} else {
		mtrr_if->set_all();
		^^^^^^^^^

and that else branch would call ->set_all() on Cyrix too.

Suresh's patch changed it to do:

-	} else {
+	} else if (mtrr_aps_delayed_init) {
+		/*
+		 * Initialize the MTRRs inaddition to the synchronisation.
+		 */
 		mtrr_if->set_all();

BUT below in the set_mtrr() call, it did:

        /*
         * HACK!
         * We use this same function to initialize the mtrrs on boot.
         * The state of the boot cpu's mtrrs has been saved, and we want
         * to replicate across all the APs.
         * If we're doing that @reg is set to something special...
         */
        if (reg != ~0U)
                mtrr_if->set(reg, base, size, type);
        else if (!mtrr_aps_delayed_init)
                mtrr_if->set_all();
		^^^

and that would be the Cyrix case.

But then

  192d8857427d ("x86, mtrr: use stop_machine APIs for doing MTRR rendezvous")

came and "cleaned" all up by removing the "HACK" and doing ->set_all()
only in the rendezvous handler:

+       } else if (mtrr_aps_delayed_init || !cpu_online(smp_processor_id())) {
                mtrr_if->set_all();
        }

Which begs the question: why doesn't the second part of the else test
match on Cyrix? The "|| !cpu_online(smp_processor_id())" case.

If only we had a Cyrix machine somewhere...

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 10:38:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 10:38:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393258.632097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAFR-0000tD-62; Thu, 25 Aug 2022 10:38:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393258.632097; Thu, 25 Aug 2022 10:38:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAFR-0000t6-2m; Thu, 25 Aug 2022 10:38:05 +0000
Received: by outflank-mailman (input) for mailman id 393258;
 Thu, 25 Aug 2022 10:38:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRAFP-0000rT-GR
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 10:38:03 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe15a22d-2461-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 12:38:02 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 294845C01C;
 Thu, 25 Aug 2022 10:38:01 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D96EC13A8E;
 Thu, 25 Aug 2022 10:38:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XFwlMwhRB2PVZAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 10:38:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe15a22d-2461-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661423881; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=zVooGo/u4Pk/Y4UICYKWqNxEcySE1V85AFIIpjlyVcg=;
	b=jpxtBHxjNJ/f0ScRlWpQzXtfRx3Efx4XKDLzPijfX6VmOq0jhsLHJ1bRktRxJha9xMwkbk
	hKtegVT1Ti6B8bG+D4N4UqMjyB+yEgOyF/UO4t/Uxcn52+e006IkkBK7ylPcYO2Pzb21Mi
	OmOaIpz+H3onYQgdAft5r0WPBi+C2Hs=
Message-ID: <58570869-aab7-027b-36ff-0ad0a7b7c0b1@suse.com>
Date: Thu, 25 Aug 2022 12:38:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
Content-Language: en-US
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-3-jgross@suse.com> <YwdPb4pWqppgzIpm@zn.tnic>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwdPb4pWqppgzIpm@zn.tnic>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5MI5OPek0PfQQs18g2pOrbCT"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5MI5OPek0PfQQs18g2pOrbCT
Content-Type: multipart/mixed; boundary="------------jpd0SAsHH1ObS6hv80kdCW4f";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <58570869-aab7-027b-36ff-0ad0a7b7c0b1@suse.com>
Subject: Re: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-3-jgross@suse.com> <YwdPb4pWqppgzIpm@zn.tnic>
In-Reply-To: <YwdPb4pWqppgzIpm@zn.tnic>

--------------jpd0SAsHH1ObS6hv80kdCW4f
Content-Type: multipart/mixed; boundary="------------PjCPhfSirSTLxUNCaJ2VWZRg"

--------------PjCPhfSirSTLxUNCaJ2VWZRg
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDguMjIgMTI6MzEsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToNCj4gT24gU2F0LCBB
dWcgMjAsIDIwMjIgYXQgMTE6MjU6MjVBTSArMDIwMCwgSnVlcmdlbiBHcm9zcyB3cm90ZToN
Cj4+IFRoZSBDeXJpeCBjcHUgc3BlY2lmaWMgTVRSUiBmdW5jdGlvbiBjeXJpeF9zZXRfYWxs
KCkgd2lsbCBuZXZlciBiZQ0KPj4gY2FsbGVkLCBhcyB0aGUgc3RydWN0IG10cnJfb3BzIHNl
dF9hbGwoKSBjYWxsYmFjayB3aWxsIG9ubHkgYmUgY2FsbGVkDQo+PiBpbiB0aGUgdXNlX2lu
dGVsKCkgY2FzZSwgd2hpY2ggd291bGQgcmVxdWlyZSB0aGUgdXNlX2ludGVsX2lmIG1lbWJl
cg0KPj4gb2Ygc3RydWN0IG10cnJfb3BzIHRvIGJlIHNldCwgd2hpY2ggaXNuJ3QgdGhlIGNh
c2UgZm9yIEN5cml4Lg0KPiANCj4gRG9pbmcgc29tZSBnaXQgYXJjaGVvbG9neToNCj4gDQo+
IFNvIHRoZSBjb21taXQgd2hpY2ggYWRkZWQgbXRycl9hcHNfZGVsYXllZF9pbml0IGlzDQo+
IA0KPiAgICBkMGFmOWVlZDVhYTkgKCJ4ODYsIHBhdC9tdHJyOiBSZW5kZXp2b3VzIGFsbCB0
aGUgY3B1cyBmb3IgTVRSUi9QQVQgaW5pdCIpDQo+IA0KPiBmcm9tIDIwMDkuDQo+IA0KPiBU
aGUgSVBJIGNhbGxiYWNrIGJlZm9yZSBpdCwgbG9va2VkIGxpa2UgdGhpczoNCj4gDQo+IHN0
YXRpYyB2b2lkIGlwaV9oYW5kbGVyKHZvaWQgKmluZm8pDQo+IHsNCj4gI2lmZGVmIENPTkZJ
R19TTVANCj4gCXN0cnVjdCBzZXRfbXRycl9kYXRhICpkYXRhID0gaW5mbzsNCj4gCXVuc2ln
bmVkIGxvbmcgZmxhZ3M7DQo+IA0KPiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOw0KPiANCj4g
CWF0b21pY19kZWMoJmRhdGEtPmNvdW50KTsNCj4gCXdoaWxlICghYXRvbWljX3JlYWQoJmRh
dGEtPmdhdGUpKQ0KPiAJCWNwdV9yZWxheCgpOw0KPiANCj4gCS8qICBUaGUgbWFzdGVyIGhh
cyBjbGVhcmVkIG1lIHRvIGV4ZWN1dGUgICovDQo+IAlpZiAoZGF0YS0+c21wX3JlZyAhPSB+
MFUpIHsNCj4gCQltdHJyX2lmLT5zZXQoZGF0YS0+c21wX3JlZywgZGF0YS0+c21wX2Jhc2Us
DQo+IAkJCSAgICAgZGF0YS0+c21wX3NpemUsIGRhdGEtPnNtcF90eXBlKTsNCj4gCX0gZWxz
ZSB7DQo+IAkJbXRycl9pZi0+c2V0X2FsbCgpOw0KPiAJCV5eXl5eXl5eXg0KPiANCj4gYW5k
IHRoYXQgZWxzZSBicmFuY2ggd291bGQgY2FsbCAtPnNldF9hbGwoKSBvbiBDeXJpeCB0b28u
DQo+IA0KPiBTdXJlc2gncyBwYXRjaCBjaGFuZ2VkIGl0IHRvIGRvOg0KPiANCj4gLQl9IGVs
c2Ugew0KPiArCX0gZWxzZSBpZiAobXRycl9hcHNfZGVsYXllZF9pbml0KSB7DQo+ICsJCS8q
DQo+ICsJCSAqIEluaXRpYWxpemUgdGhlIE1UUlJzIGluYWRkaXRpb24gdG8gdGhlIHN5bmNo
cm9uaXNhdGlvbi4NCj4gKwkJICovDQo+ICAgCQltdHJyX2lmLT5zZXRfYWxsKCk7DQo+IA0K
PiBCVVQgYmVsb3cgaW4gdGhlIHNldF9tdHJyKCkgY2FsbCwgaXQgZGlkOg0KPiANCj4gICAg
ICAgICAgLyoNCj4gICAgICAgICAgICogSEFDSyENCj4gICAgICAgICAgICogV2UgdXNlIHRo
aXMgc2FtZSBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBtdHJycyBvbiBib290Lg0KPiAg
ICAgICAgICAgKiBUaGUgc3RhdGUgb2YgdGhlIGJvb3QgY3B1J3MgbXRycnMgaGFzIGJlZW4g
c2F2ZWQsIGFuZCB3ZSB3YW50DQo+ICAgICAgICAgICAqIHRvIHJlcGxpY2F0ZSBhY3Jvc3Mg
YWxsIHRoZSBBUHMuDQo+ICAgICAgICAgICAqIElmIHdlJ3JlIGRvaW5nIHRoYXQgQHJlZyBp
cyBzZXQgdG8gc29tZXRoaW5nIHNwZWNpYWwuLi4NCj4gICAgICAgICAgICovDQo+ICAgICAg
ICAgIGlmIChyZWcgIT0gfjBVKQ0KPiAgICAgICAgICAgICAgICAgIG10cnJfaWYtPnNldChy
ZWcsIGJhc2UsIHNpemUsIHR5cGUpOw0KPiAgICAgICAgICBlbHNlIGlmICghbXRycl9hcHNf
ZGVsYXllZF9pbml0KQ0KPiAgICAgICAgICAgICAgICAgIG10cnJfaWYtPnNldF9hbGwoKTsN
Cj4gCQleXl4NCj4gDQo+IGFuZCB0aGF0IHdvdWxkIGJlIHRoZSBDeXJpeCBjYXNlLg0KPiAN
Cj4gQnV0IHRoZW4NCj4gDQo+ICAgIDE5MmQ4ODU3NDI3ZCAoIng4NiwgbXRycjogdXNlIHN0
b3BfbWFjaGluZSBBUElzIGZvciBkb2luZyBNVFJSIHJlbmRlenZvdXMiKQ0KPiANCj4gY2Ft
ZSBhbmQgImNsZWFuZWQiIGFsbCB1cCBieSByZW1vdmluZyB0aGUgIkhBQ0siIGFuZCBkb2lu
ZyAtPnNldF9hbGwoKQ0KPiBvbmx5IGluIHRoZSByZW5kZXp2b3VzIGhhbmRsZXI6DQo+IA0K
PiArICAgICAgIH0gZWxzZSBpZiAobXRycl9hcHNfZGVsYXllZF9pbml0IHx8ICFjcHVfb25s
aW5lKHNtcF9wcm9jZXNzb3JfaWQoKSkpIHsNCj4gICAgICAgICAgICAgICAgICBtdHJyX2lm
LT5zZXRfYWxsKCk7DQo+ICAgICAgICAgIH0NCj4gDQo+IFdoaWNoIGJlZ3MgdGhlIHF1ZXN0
aW9uOiB3aHkgZG9lc24ndCB0aGUgc2Vjb25kIHBhcnQgb2YgdGhlIGVsc2UgdGVzdA0KPiBt
YXRjaCBvbiBDeXJpeD8gVGhlICJ8fCAhY3B1X29ubGluZShzbXBfcHJvY2Vzc29yX2lkKCkp
IiBjYXNlLg0KPiANCj4gSWYgb25seSB3ZSBoYWQgYSBDeXJpeCBtYWNoaW5lIHNvbWV3aGVy
ZS4uLg0KPiANCg0KWW91IGFyZSBtaXNzaW5nIG9uZSBhc3BlY3QgaGVyZTogdGhlcmUgaXMg
bm8gY2FsbCBwYXRoIGZvciBDeXJpeCBDUFVzIHVzaW5nDQpyZWcgPT0gfjBVLg0KDQpTbyB0
aGUgY29uZGl0aW9uIG9mIHRoZSAiZWxzZSBpZiIgd2lsbCBuZXZlciBiZSBldmFsdWF0ZWQg
d2l0aCBDeXJpeC4NCg0KDQpKdWVyZ2VuDQo=
--------------PjCPhfSirSTLxUNCaJ2VWZRg
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------PjCPhfSirSTLxUNCaJ2VWZRg--

--------------jpd0SAsHH1ObS6hv80kdCW4f--

--------------5MI5OPek0PfQQs18g2pOrbCT
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHUQgFAwAAAAAACgkQsN6d1ii/Ey9I
CQf/TSMOy3rnTUMTUnucyEp1W0Ac42eY6AnA3h7wcpen+iKn6lorIzwov3AOe9Tv9QB5vAXf04hw
sKreuZpITWn/iX6Fu3WIUKHyEVukqxj5ogfEEdngkiiq9k5nIrjuGYa8orxqItSV8G8F2rAruQ/z
AHMtqS46ZIqkj0TliRGs1sIuYEm+aydHlyv/JNUB7gT9Uhzs/GxscLalHGXFR2jo8X4xtAhzjAro
9G46pNMuL54N+ae/2zy6UfaJjLEvH7KLQ9k6t5nv7Onn6lblLWrVqJEdiw0lx/R49zuCkx3w41zq
N4DvoZdllQGUJ5yk7Z+UbNz39yKNgMBgHxqV3c1zrg==
=0xeN
-----END PGP SIGNATURE-----

--------------5MI5OPek0PfQQs18g2pOrbCT--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 10:41:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 10:41:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393262.632108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAIR-0002Kp-Oj; Thu, 25 Aug 2022 10:41:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393262.632108; Thu, 25 Aug 2022 10:41:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAIR-0002Ki-LL; Thu, 25 Aug 2022 10:41:11 +0000
Received: by outflank-mailman (input) for mailman id 393262;
 Thu, 25 Aug 2022 10:41:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRAIP-0002Kc-TQ
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 10:41:09 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c4ef620-2462-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 12:41:06 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id EF66A5C187;
 Thu, 25 Aug 2022 10:41:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AFA3B13517;
 Thu, 25 Aug 2022 10:41:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Er11KcFRB2MwZgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 10:41:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c4ef620-2462-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661424065; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=CEVSRI9+O+pZRknFID66CerYtS8o2E1m6hHCv/aV+uw=;
	b=Y+GEzFmNSh7gKRKoo6Bg5k4J4Z7D+ge7Vp9Rg+iqgHZFvF5jflO68kpxGgYNVBRNWQaEpE
	iDhvcFh1ip11waIFFfH8hcuR7KfISqqbvSQBSu5yzr8jr32JhB34J3TVOTsV8MzXuolvKZ
	QZjdnnkZopA8CKUU7Sw130/iYKlvtIY=
Message-ID: <aff049cb-ebdd-68ad-5597-d22f87026297@suse.com>
Date: Thu, 25 Aug 2022 12:41:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
Content-Language: en-US
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-3-jgross@suse.com> <YwdPb4pWqppgzIpm@zn.tnic>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwdPb4pWqppgzIpm@zn.tnic>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------S95tpyEx0wJ1btdqyQ5gJi7k"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------S95tpyEx0wJ1btdqyQ5gJi7k
Content-Type: multipart/mixed; boundary="------------iTrUJKTUNhlCbrkkwuXRQP7T";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <aff049cb-ebdd-68ad-5597-d22f87026297@suse.com>
Subject: Re: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-3-jgross@suse.com> <YwdPb4pWqppgzIpm@zn.tnic>
In-Reply-To: <YwdPb4pWqppgzIpm@zn.tnic>

--------------iTrUJKTUNhlCbrkkwuXRQP7T
Content-Type: multipart/mixed; boundary="------------UHXB2KjXMx2f2bX5WUQCvkHp"

--------------UHXB2KjXMx2f2bX5WUQCvkHp
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDguMjIgMTI6MzEsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToNCj4gT24gU2F0LCBB
dWcgMjAsIDIwMjIgYXQgMTE6MjU6MjVBTSArMDIwMCwgSnVlcmdlbiBHcm9zcyB3cm90ZToN
Cj4+IFRoZSBDeXJpeCBjcHUgc3BlY2lmaWMgTVRSUiBmdW5jdGlvbiBjeXJpeF9zZXRfYWxs
KCkgd2lsbCBuZXZlciBiZQ0KPj4gY2FsbGVkLCBhcyB0aGUgc3RydWN0IG10cnJfb3BzIHNl
dF9hbGwoKSBjYWxsYmFjayB3aWxsIG9ubHkgYmUgY2FsbGVkDQo+PiBpbiB0aGUgdXNlX2lu
dGVsKCkgY2FzZSwgd2hpY2ggd291bGQgcmVxdWlyZSB0aGUgdXNlX2ludGVsX2lmIG1lbWJl
cg0KPj4gb2Ygc3RydWN0IG10cnJfb3BzIHRvIGJlIHNldCwgd2hpY2ggaXNuJ3QgdGhlIGNh
c2UgZm9yIEN5cml4Lg0KPiANCj4gRG9pbmcgc29tZSBnaXQgYXJjaGVvbG9neToNCj4gDQo+
IFNvIHRoZSBjb21taXQgd2hpY2ggYWRkZWQgbXRycl9hcHNfZGVsYXllZF9pbml0IGlzDQo+
IA0KPiAgICBkMGFmOWVlZDVhYTkgKCJ4ODYsIHBhdC9tdHJyOiBSZW5kZXp2b3VzIGFsbCB0
aGUgY3B1cyBmb3IgTVRSUi9QQVQgaW5pdCIpDQo+IA0KPiBmcm9tIDIwMDkuDQo+IA0KPiBU
aGUgSVBJIGNhbGxiYWNrIGJlZm9yZSBpdCwgbG9va2VkIGxpa2UgdGhpczoNCj4gDQo+IHN0
YXRpYyB2b2lkIGlwaV9oYW5kbGVyKHZvaWQgKmluZm8pDQo+IHsNCj4gI2lmZGVmIENPTkZJ
R19TTVANCj4gCXN0cnVjdCBzZXRfbXRycl9kYXRhICpkYXRhID0gaW5mbzsNCj4gCXVuc2ln
bmVkIGxvbmcgZmxhZ3M7DQo+IA0KPiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOw0KPiANCj4g
CWF0b21pY19kZWMoJmRhdGEtPmNvdW50KTsNCj4gCXdoaWxlICghYXRvbWljX3JlYWQoJmRh
dGEtPmdhdGUpKQ0KPiAJCWNwdV9yZWxheCgpOw0KPiANCj4gCS8qICBUaGUgbWFzdGVyIGhh
cyBjbGVhcmVkIG1lIHRvIGV4ZWN1dGUgICovDQo+IAlpZiAoZGF0YS0+c21wX3JlZyAhPSB+
MFUpIHsNCj4gCQltdHJyX2lmLT5zZXQoZGF0YS0+c21wX3JlZywgZGF0YS0+c21wX2Jhc2Us
DQo+IAkJCSAgICAgZGF0YS0+c21wX3NpemUsIGRhdGEtPnNtcF90eXBlKTsNCj4gCX0gZWxz
ZSB7DQo+IAkJbXRycl9pZi0+c2V0X2FsbCgpOw0KPiAJCV5eXl5eXl5eXg0KPiANCj4gYW5k
IHRoYXQgZWxzZSBicmFuY2ggd291bGQgY2FsbCAtPnNldF9hbGwoKSBvbiBDeXJpeCB0b28u
DQo+IA0KPiBTdXJlc2gncyBwYXRjaCBjaGFuZ2VkIGl0IHRvIGRvOg0KPiANCj4gLQl9IGVs
c2Ugew0KPiArCX0gZWxzZSBpZiAobXRycl9hcHNfZGVsYXllZF9pbml0KSB7DQo+ICsJCS8q
DQo+ICsJCSAqIEluaXRpYWxpemUgdGhlIE1UUlJzIGluYWRkaXRpb24gdG8gdGhlIHN5bmNo
cm9uaXNhdGlvbi4NCj4gKwkJICovDQo+ICAgCQltdHJyX2lmLT5zZXRfYWxsKCk7DQo+IA0K
PiBCVVQgYmVsb3cgaW4gdGhlIHNldF9tdHJyKCkgY2FsbCwgaXQgZGlkOg0KPiANCj4gICAg
ICAgICAgLyoNCj4gICAgICAgICAgICogSEFDSyENCj4gICAgICAgICAgICogV2UgdXNlIHRo
aXMgc2FtZSBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBtdHJycyBvbiBib290Lg0KPiAg
ICAgICAgICAgKiBUaGUgc3RhdGUgb2YgdGhlIGJvb3QgY3B1J3MgbXRycnMgaGFzIGJlZW4g
c2F2ZWQsIGFuZCB3ZSB3YW50DQo+ICAgICAgICAgICAqIHRvIHJlcGxpY2F0ZSBhY3Jvc3Mg
YWxsIHRoZSBBUHMuDQo+ICAgICAgICAgICAqIElmIHdlJ3JlIGRvaW5nIHRoYXQgQHJlZyBp
cyBzZXQgdG8gc29tZXRoaW5nIHNwZWNpYWwuLi4NCj4gICAgICAgICAgICovDQo+ICAgICAg
ICAgIGlmIChyZWcgIT0gfjBVKQ0KPiAgICAgICAgICAgICAgICAgIG10cnJfaWYtPnNldChy
ZWcsIGJhc2UsIHNpemUsIHR5cGUpOw0KPiAgICAgICAgICBlbHNlIGlmICghbXRycl9hcHNf
ZGVsYXllZF9pbml0KQ0KPiAgICAgICAgICAgICAgICAgIG10cnJfaWYtPnNldF9hbGwoKTsN
Cj4gCQleXl4NCj4gDQo+IGFuZCB0aGF0IHdvdWxkIGJlIHRoZSBDeXJpeCBjYXNlLg0KPiAN
Cj4gQnV0IHRoZW4NCj4gDQo+ICAgIDE5MmQ4ODU3NDI3ZCAoIng4NiwgbXRycjogdXNlIHN0
b3BfbWFjaGluZSBBUElzIGZvciBkb2luZyBNVFJSIHJlbmRlenZvdXMiKQ0KPiANCj4gY2Ft
ZSBhbmQgImNsZWFuZWQiIGFsbCB1cCBieSByZW1vdmluZyB0aGUgIkhBQ0siIGFuZCBkb2lu
ZyAtPnNldF9hbGwoKQ0KPiBvbmx5IGluIHRoZSByZW5kZXp2b3VzIGhhbmRsZXI6DQo+IA0K
PiArICAgICAgIH0gZWxzZSBpZiAobXRycl9hcHNfZGVsYXllZF9pbml0IHx8ICFjcHVfb25s
aW5lKHNtcF9wcm9jZXNzb3JfaWQoKSkpIHsNCj4gICAgICAgICAgICAgICAgICBtdHJyX2lm
LT5zZXRfYWxsKCk7DQo+ICAgICAgICAgIH0NCj4gDQo+IFdoaWNoIGJlZ3MgdGhlIHF1ZXN0
aW9uOiB3aHkgZG9lc24ndCB0aGUgc2Vjb25kIHBhcnQgb2YgdGhlIGVsc2UgdGVzdA0KPiBt
YXRjaCBvbiBDeXJpeD8gVGhlICJ8fCAhY3B1X29ubGluZShzbXBfcHJvY2Vzc29yX2lkKCkp
IiBjYXNlLg0KPiANCj4gSWYgb25seSB3ZSBoYWQgYSBDeXJpeCBtYWNoaW5lIHNvbWV3aGVy
ZS4uLg0KPiANCg0KTWF5YmUgdGhlIGFsdGVybmF0aXZlIHJlYXNvbmluZyBpcyBtdWNoIGZh
c3RlciB0byB1bmRlcnN0YW5kOiBpZiB0aGUNCkN5cml4IHNldF9hbGwoKSBjb3VsZCBiZSBj
YWxsZWQsIHRoZSBBTUQgYW5kIENlbnRhdXIgb25lcyB3b3VsZCBiZSBjYWxsYWJsZSwNCnRv
by4gVGhvc2UgYmVpbmcgY2FsbGVkIHdvdWxkIHJlc3VsdCBpbiBhIE5VTEwgZGVyZWYsIHNv
IHdoeSBzaG91bGQgd2Uga2VlcA0KdGhlIEN5cml4IG9uZT8NCg0KDQpKdWVyZ2VuDQo=
--------------UHXB2KjXMx2f2bX5WUQCvkHp
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------UHXB2KjXMx2f2bX5WUQCvkHp--

--------------iTrUJKTUNhlCbrkkwuXRQP7T--

--------------S95tpyEx0wJ1btdqyQ5gJi7k
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHUcEFAwAAAAAACgkQsN6d1ii/Ey+C
6gf/REf0ALrA0RYVuEGmN5aE+ZzrlP4dr1c29VAaaYjufuLsFgxNKcWtTvREg4F2sdbkxRCU+NCS
jTB+67ojCeCAbGx399W3pd2vTTv9yED8/X77xj+vtGgYvLiVDg0TWdbyTb9S5IiMArVNwp7+uZwr
5WEVvcVi3kmXWSvahB7yPkiUdgn6ItojE+lLM8FMC7v5QVh+LAKOnnQIF+PAmO/WEyx64rPsdpEC
Lh2JC8KmuE/1ArdB+qj7f6c4EZBXroNJeqPxt6wD3MS9eQGtTyR3Z5zfeJUQfnXEIor4GJMNqyox
CJjSXaeMtBseUPeRaRtdgcivLWsxL8gaE/vYx4QBQQ==
=GFHs
-----END PGP SIGNATURE-----

--------------S95tpyEx0wJ1btdqyQ5gJi7k--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 10:47:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 10:47:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393270.632119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAOA-0002yi-CZ; Thu, 25 Aug 2022 10:47:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393270.632119; Thu, 25 Aug 2022 10:47:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAOA-0002yb-9e; Thu, 25 Aug 2022 10:47:06 +0000
Received: by outflank-mailman (input) for mailman id 393270;
 Thu, 25 Aug 2022 10:47:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRAO9-0002yR-V0; Thu, 25 Aug 2022 10:47:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRAO9-0003sF-TC; Thu, 25 Aug 2022 10:47:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRAO9-00060I-Bh; Thu, 25 Aug 2022 10:47:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRAO9-0008Er-BE; Thu, 25 Aug 2022 10:47:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2nkArGG87mE5UwOtOYplmWqRosKI8CLf6h4A2+bPWIo=; b=nSiY2oMquVRFDF+IIRW+1SvCKw
	EZ5JDxHvrwamTUruOkuwg1OMs4BB/kZMnEYCX9p2HrbkbKDuIbbH8R77mA+PZ/wxnRmFcmW5LP8Cv
	4gENrezmXV4o2M2LiNEZABtoa7ITjAXA5UnTGPyq48JYQnWAvEHO3LeImBW5UljBiscY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172769-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172769: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 10:47:05 +0000

flight 172769 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172769/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   21 days
Failing since        172151  2022-08-05 02:40:28 Z   20 days  166 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    1 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 10:58:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 10:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393280.632130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAYy-0004VG-Cx; Thu, 25 Aug 2022 10:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393280.632130; Thu, 25 Aug 2022 10:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAYy-0004V9-9I; Thu, 25 Aug 2022 10:58:16 +0000
Received: by outflank-mailman (input) for mailman id 393280;
 Thu, 25 Aug 2022 10:58:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRAYx-0004V3-Et
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 10:58:15 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10063.outbound.protection.outlook.com [40.107.1.63])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0baeaf7-2464-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 12:58:14 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB4690.eurprd04.prod.outlook.com (2603:10a6:208:c8::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 10:58:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 10:58:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0baeaf7-2464-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JOf1WFivHEUjCVLkzk7adBI3nlvYvO4wrk4X3pX96bPbH+oTRYU0hMM4x0JB5qUZUm0+RdfS1aGtzsURmLW0wgB67Klo7ztstnRIPU2eH/zPgSXRRvLxwJrUp3MHtRB2aeFNxzfVCc7hp2uuCpf7UFArxqeG1lh46NU6WfxO5uFcOOyB8TdWfGUsfCYKG+3vOqUdSj41kJd3KXUDKfX3a1CBSGbjQJ1ICK/0gacEV9YmwAXquGIDL6UgEfURWkPsqtJgiIjHCsbBrjioCWNyPigGKBtzlzPhLCvXvS+AZiM8bZeu83nmswqFirdf5bsHZP60lZwb4dvtNcxIEkJkMA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kVcDTDa4xb0OK4+x7pmNUaClrXv5F5u4nG3dDHNIolU=;
 b=CPqK/FBDVZd2KblkHO/ISjtRXM41bbWVDjGbcjQiTj1Rqimn0bdMd9WUp4O2k7Xc8moRlL0zj24lRkNmt49kX6DoWCK4MWnoXEJP+vhoaNG/pDsn4KprTx6WgPVEYVzHBdJ2UksBjUrPswcEndiUj74FWyHM59AbPbzdp7kL8hL7aPZkTNhi3zprkEY7WmJh5uoOO0lCMPhAYoGsv+/9sMxJaI3yNQ/BoYKH5Qani1+HJrN/l4BUmzR58JZlZaXz4INjnygdKAmM9Hs3ZOW5AbZdi8r0+5fqpZccUlYDNppw6BPsWaYL4jYY7T8Hfu5mPNoOtIOUQ8lBNEPnxL7LCQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kVcDTDa4xb0OK4+x7pmNUaClrXv5F5u4nG3dDHNIolU=;
 b=D8BxvZftcmY9mQB77j3v6ug5RZd6/546J3ZjhFj0Ht47WPK4LQAKgMKnFjexSeMwvsCXMvfFRgd12Weu2+i2SQBvFpIvU983LdMPwfBCwDmNsg6ga78rLAUXhywAG9i2Sw68D6rxJ+/CSlna8F6HleOjaUEE6MkZsuz8HQed8EUUrsA+8Nfg9kEUacvOdv6Mr5lb7diyJdD8g9nIPf8melInKVax3DmhQzU2zyTGQMImzPrswYZSg2kJNJNnQEbQEY5vmB4qRTjW4AGXlQsztZIiih22CX44E+hTmxQ5oWmbs6COog2SbkzlSy5n8tUIsGDvhaM4il77l7uaq+RWFA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <15c1de02-efa3-5d2d-db3f-1b04de8a1ba4@suse.com>
Date: Thu, 25 Aug 2022 12:58:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v3 2/6] xen/x86: move generically usable NUMA code from
 x86 to common
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: nd@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-3-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220822025810.2240707-3-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 567b214b-2aa6-49f4-031e-08da8688b395
X-MS-TrafficTypeDiagnostic: AM0PR04MB4690:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JUHus6EhNbmtlBTlZHmLxRosIQuBjGwfH7EM/qttNsPBI00HuXA3WOmMWYzEKow6t4fGsDjsmm3B6Me08LKywooJxoaq/ui1+lxs/H3znTuV/6FJGhxT9TkDGzuWNo/9/hd+KwTZ4vnC9RzugbvfFniAuhXOQ6jSPbiSNnvt+AJOi/MU9SZc45VKWu12HwxGx12EWnxmIqYkbhEqJz+xgSjn+wui1JvjbiHRTzpguAicdoQP0V3QLwPSPqUmNoBjrgoG91zIEkMwd/1U3ojVXi0FW24iXv1yO7wh04En+VHNG0hIxrpOie/uGKuVMIg+Frw56jrGeGfMph8+GGRsDJfNk4Fi0XyNUGM2FTRN8RafO1pHzLEjv+zW7LkPcZMjRXLXJQurR6eT+q/RSGxZaoxUCDLxfEN1ySEaNe15+gSSVg6CgXBZ4ovsDei9fbZOOPykPjoRuNV+vDWOpK15JZA0Y5ef1Ga9A1ljHprDBT0T7u49sDa2I4VASrm7ebXholCNv7I5bGfKfm25ylGf65CGOUMvALBNUR5n2b5SFUgtrh+Sof6sMtIIAdoDk9uWUAvLuzwZSvHF5gl6gq9O+w2eVZYoLvP4rrNbFZrkUJIjO80NhslPFOQz/gNIRfSkd0pdzt/VkOCoaTuTYEuM4BzU5DUGCc2npzMt1D3Qn4YoVln/SM6AvMAsu+h3uvuviihghMCP+sTrnbAbkJLcIXRKLxw8jzHgVev3ocepvUteLEg+hpqffQpmvLMcNUD4elVwspAir/pIPZpSLiA/7pTUCG9TQJyWsBNjwO0mXbg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(39860400002)(366004)(396003)(346002)(6512007)(26005)(38100700002)(66556008)(8676002)(316002)(4326008)(66476007)(6506007)(53546011)(6916009)(41300700001)(54906003)(2616005)(186003)(5660300002)(6486002)(83380400001)(478600001)(31696002)(31686004)(66946007)(36756003)(86362001)(8936002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M0w0SGg2UGU2OHp6T1FITVhnL1ZLS1pZZVdEWEpQQjdBUG5kbDRUSllJVXg4?=
 =?utf-8?B?b2tZM2JJOGVneDE3eURzRUxuamdpSExPQ2Jwd3I0bmxJa0wxejc4RVMzTTZy?=
 =?utf-8?B?eVF3dWV1bVJTam5JTHdqWFQ0cy8rdmhmWEMwSFdJMGVDL042T3E2TDU5OTFP?=
 =?utf-8?B?eVhWd2FYcFlhaHJCajNrU2dNYTZXNFFROW9CY3N4cXhHZzlBbW1nMGFJWWhr?=
 =?utf-8?B?YWthRGJ6Z2ZvdDdQS0xNRjgxNFd5OERTZGFGYzV0YW9rb3BEYllOK00vblJI?=
 =?utf-8?B?Ty9pc1RJOG5Sc3lwT2hVTDJTcUV5MmJQSGMrcG5Cc245aW9XOU50MVFyQzgv?=
 =?utf-8?B?THJXcjl5MW8rb0haM1lnSURMOHc5QTVJVklucUxaSE55N2hVQ3BSMmxsc2hs?=
 =?utf-8?B?WnVpMjkvd1lBSmVUMko3bGh2VHpHQm5qMDRub0NGL0xySXVvSXFBcW9yV1VZ?=
 =?utf-8?B?NTI3UUVjWUtuMzRTV1ZLSGtUTnc3Y0Q2OFhlb0ZqNHlNNFZXOFpHdXp2b2Zo?=
 =?utf-8?B?eWlyNDl3b1pML0crL1hmMFYzMWpiTCtPYkdCSnM4K1pBZm9NM1lPeDF2RDgv?=
 =?utf-8?B?T1lBczNJdXB3Mi8zd0t2SjlZM29sUW1MM2RJdUZhNmY4MGM2TFh0Y2ZzUHpT?=
 =?utf-8?B?ZmpoNnhhT25jUlA5WDc4ZzN2QjZINEhYVHhBTU1IOUwyU0tSMlFsRDNOU1pH?=
 =?utf-8?B?aHhoSmFpazdOQTNaQ2ZNZjZVZkQydElaRHZ5TTc2eERqNStWYk1wMXhCejMz?=
 =?utf-8?B?Q3g1cUJ1R2VBVkhGQkFGakgvKzA3Zm8rU2Y1MnNmcWVybzlGRFpPOE8xREZZ?=
 =?utf-8?B?VDBqYTB1Z2paOHQzd0UrYktYUVdSQXR1T0VLVmpaMlYya2xZcUtWZTMvdWox?=
 =?utf-8?B?bE5ndzI5UkZIWWlsUTRQb0xTKzc4TjVpRE4ydm9LajVlZGduajVZQndYRG04?=
 =?utf-8?B?bDNiVk5qRjAzUTZ1QVZlRzZ6TTBqVVFpOGRLTE9lUjJ3STlqbGNLSjBBZkVX?=
 =?utf-8?B?ZnpBOGhKdEVVVmVUZXAyRGlzVjhVRXZkc2dDTGUrM3NoOTZydDFiRi9tUks2?=
 =?utf-8?B?ZnFtRXJidHRnSVZtdGxGQjk1ZDF1bXVDdVZyTnVvWVVWYkNMRlpocVlHb2tk?=
 =?utf-8?B?WHJ2MmUyZmNRMU5yQW43UlV6Y2k2Tm9CeVZWWUY2eUhjaWJTZnhTWHpFYmtG?=
 =?utf-8?B?dVkvUmRBV1V1eEJaejlsNTljeEZkU29KazdsMit2TnZYa3liOHk4Ni9zN1BY?=
 =?utf-8?B?R0prMThkelUrRkIySWJXZFJSUTZPRDlBT2lIemZmUWxlejdwdkZDcWVyVmdU?=
 =?utf-8?B?M3lZcndKVXo5YjgyYWJWYytJUVh5MU1YVEJqa293YkFOQkE2NXRLbkphYWRa?=
 =?utf-8?B?Nm5ycFM1ZnVUSU5aNWZQRmZPM0pmd3FQNy9IZTFkbjRVY3ZiOThuU3ViSEhX?=
 =?utf-8?B?aURLNTMvdi9rNDJEeDM4OGRaK1R1VGtmVVNSc1dhRWtwSFNYMFZ5QmdqMXBV?=
 =?utf-8?B?OTBOTm45bjF5NERjMWhobVZlSkxYTG9pZTBpUTdJSGN3UGFKand4VUhiS1g0?=
 =?utf-8?B?Uk1xL0RCdThCcHpuQi9CUkw3b0NhV24rMFJiTDN2dGg0VDJ2K1lQR00wK1B1?=
 =?utf-8?B?dU56cDJlb1dxZDZlOCtzNjNWeTZZY1lQeFVKVXlIR1VpZXdCSDRWK3R0T1Zj?=
 =?utf-8?B?TFk3b0tIRi85R0NXUEN3K0lmVVpKbFFoY3JrMGdZSnBsSVNZTlZXaU00RjBv?=
 =?utf-8?B?SDJHUVNhaDg2ZzRuR2ZpQkpiTzVORVJDMnNmamVmQVVyVGlmeHcwS0t2K0hK?=
 =?utf-8?B?S0haaWs2WTRQZ0MrRDZ5QzFmTHpyV3Y0S2YrWnB0VU1ucndTZktrM2VTZFFp?=
 =?utf-8?B?UzVXOThqUVhkOWRKVnN5Z1ZMeWpGN21NNDBRRGtQOG8wRm9JUW1SUmcwTm14?=
 =?utf-8?B?ZFNGRFoxcWw5VjBtQVhJb3p1Q3hQVGRoN2ROKytnQkhvRUl2RFMzN2pONVRZ?=
 =?utf-8?B?dFRMYldpdlNYYlM1SVE3WVBLQjVmb1A2TlN0TjVtM2RRL3FCUi9lYXJ1cmE3?=
 =?utf-8?B?QlptNVppWHExTVJDcmRnWWdHVjVURDhabEgxYm9hVnRHckd1NHlYelA2RWpP?=
 =?utf-8?Q?VrhH3z+zxwarFuynk9wNZ3sSp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 567b214b-2aa6-49f4-031e-08da8688b395
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 10:58:11.4157
 (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: xsXnYpqk1sJF3c69QhzEh1/neOy/c5tZk55JI3m84IqS0fReS1MrneeGFp/vSeB7G2LgqklVg0//UOfiQLGjvQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4690

On 22.08.2022 04:58, Wei Chen wrote:
> --- /dev/null
> +++ b/xen/common/numa.c
> @@ -0,0 +1,440 @@
> +/*
> + * Generic VM initialization for NUMA setups.
> + * Copyright 2002,2003 Andi Kleen, SuSE Labs.
> + * Adapted for Xen: Ryan Harper <ryanh@us.ibm.com>
> + */
> +
> +#include <xen/init.h>
> +#include <xen/keyhandler.h>
> +#include <xen/mm.h>
> +#include <xen/nodemask.h>
> +#include <xen/numa.h>
> +#include <xen/param.h>
> +#include <xen/sched.h>
> +#include <xen/softirq.h>
> +
> +struct node_data __ro_after_init node_data[MAX_NUMNODES];
> +
> +/* Mapping from pdx to node id */
> +unsigned int __ro_after_init memnode_shift;
> +unsigned long __ro_after_init memnodemapsize;
> +uint8_t *__ro_after_init memnodemap;
> +static uint8_t __ro_after_init _memnodemap[64];
> +
> +nodeid_t __ro_after_init cpu_to_node[NR_CPUS] = {

I don't think this can be __ro_after_init, or you'll break CPU
hotplug.

> +    [0 ... NR_CPUS-1] = NUMA_NO_NODE
> +};
> +
> +cpumask_t __ro_after_init node_to_cpumask[MAX_NUMNODES];

Same here.

> +nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
> +
> +bool __read_mostly numa_off;

This, otoh, can be, or have I missed a place where it's written by a
non-__init function?

> +bool numa_disabled(void)
> +{
> +    return numa_off || arch_numa_disabled(false);
> +}
> +
> +/*
> + * Given a shift value, try to populate memnodemap[]
> + * Returns :
> + * 1 if OK
> + * 0 if memnodmap[] too small (of shift too small)
> + * -1 if node overlap or lost ram (shift too big)
> + */
> +static int __init populate_memnodemap(const struct node *nodes,
> +                                      nodeid_t numnodes, unsigned int shift,

I don't think you can use nodeid_t for a variable holding a node count.
Think of what would happen if there were 256 nodes, the IDs of which
all fit in nodeid_t. (Same again further down.)

> +                                      nodeid_t *nodeids)
> +{
> +    unsigned long spdx, epdx;
> +    nodeid_t i;

This is likely inefficient for a loop counter variable. Note how you
use "unsigned int" in e.g. extract_lsb_from_nodes().

> +unsigned int __init compute_hash_shift(const struct node *nodes,
> +                                       nodeid_t numnodes, nodeid_t *nodeids)
> +{
> +    unsigned int shift;
> +
> +    shift = extract_lsb_from_nodes(nodes, numnodes);
> +    if ( memnodemapsize <= ARRAY_SIZE(_memnodemap) )
> +        memnodemap = _memnodemap;
> +    else if ( allocate_cachealigned_memnodemap() )
> +        return -1;

With this the function can't very well have "unsigned int" return type.

> +void __init numa_init_array(void)
> +{
> +    int rr, i;

"unsigned int" for i and perhaps nodeid_t for rr?

> +static int __init numa_emulation(unsigned long start_pfn,
> +                                 unsigned long end_pfn)
> +{
> +    unsigned int i;
> +    struct node nodes[MAX_NUMNODES];
> +    uint64_t sz = pfn_to_paddr(end_pfn - start_pfn) / numa_fake;
> +
> +    /* Kludge needed for the hash function */
> +    if ( hweight64(sz) > 1 )
> +    {
> +        u64 x = 1;

uint64_t and a blank line between declaration(s) and statement(s)
please.

> +        while ( (x << 1) < sz )
> +            x <<= 1;
> +        if ( x < sz / 2 )
> +            printk(KERN_ERR "Numa emulation unbalanced. Complain to maintainer\n");
> +        sz = x;
> +    }
> +
> +    memset(&nodes, 0, sizeof(nodes));
> +    for ( i = 0; i < numa_fake; i++ )
> +    {
> +        nodes[i].start = pfn_to_paddr(start_pfn) + i * sz;
> +        if ( i == numa_fake - 1 )
> +            sz = pfn_to_paddr(end_pfn) - nodes[i].start;
> +        nodes[i].end = nodes[i].start + sz;
> +        printk(KERN_INFO "Faking node %u at %"PRIx64"-%"PRIx64" (%"PRIu64"MB)\n",
> +               i, nodes[i].start, nodes[i].end,
> +               (nodes[i].end - nodes[i].start) >> 20);
> +        node_set_online(i);
> +    }
> +    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
> +    if ( memnode_shift < 0 )

Does the compiler not warn here, comparing an unsigned value for being
negative?

> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -18,4 +18,70 @@
>    (((d)->vcpu != NULL && (d)->vcpu[0] != NULL) \
>     ? vcpu_to_node((d)->vcpu[0]) : NUMA_NO_NODE)
>  
> +/* The following content can be used when NUMA feature is enabled */
> +#ifdef CONFIG_NUMA
> +
> +extern nodeid_t      cpu_to_node[NR_CPUS];
> +extern cpumask_t     node_to_cpumask[];
> +
> +#define cpu_to_node(cpu)        (cpu_to_node[cpu])
> +#define parent_node(node)       (node)
> +#define node_to_first_cpu(node) (__ffs(node_to_cpumask[node]))
> +#define node_to_cpumask(node)   (node_to_cpumask[node])

Please could you take the opportunity and drop unnecessary parentheses
from here? Afaict only parent_node() need them to be kept.

> +struct node {
> +    paddr_t start, end;
> +};
> +
> +extern unsigned int compute_hash_shift(const struct node *nodes,
> +                                       nodeid_t numnodes, nodeid_t *nodeids);
> +
> +#define VIRTUAL_BUG_ON(x)
> +
> +extern bool numa_off;
> +extern void numa_add_cpu(unsigned int cpu);

Please can you have variable and function declarations visually separated,
by adding a blank line between them?

> +extern void numa_init_array(void);
> +extern void numa_set_node(unsigned int cpu, nodeid_t node);
> +extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
> +extern int  numa_scan_nodes(paddr_t start, paddr_t end);
> +
> +extern int arch_numa_setup(const char *opt);
> +extern bool arch_numa_disabled(bool init_as_disable);
> +extern void setup_node_bootmem(nodeid_t nodeid, paddr_t start, paddr_t end);
> +
> +static inline void clear_node_cpumask(unsigned int cpu)
> +{
> +    cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
> +}
> +
> +/* Simple perfect hash to map pdx to node numbers */
> +extern unsigned int memnode_shift;
> +extern unsigned long memnodemapsize;
> +extern uint8_t *memnodemap;
> +
> +struct node_data {
> +    unsigned long node_start_pfn;
> +    unsigned long node_spanned_pages;
> +};
> +
> +extern struct node_data node_data[];
> +
> +static inline __attribute_pure__ nodeid_t phys_to_nid(paddr_t addr)

Nit: The conventional place for attributes is between return type
and function (or object) name.

> +{
> +    nodeid_t nid;
> +    VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
> +    nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
> +    VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
> +    return nid;
> +}
> +
> +#define NODE_DATA(nid)          (&(node_data[nid]))

Again please take the opportunity and drop the unnecessary inner
parentheses.

> +#define node_start_pfn(nid)     (NODE_DATA(nid)->node_start_pfn)
> +#define node_spanned_pages(nid) (NODE_DATA(nid)->node_spanned_pages)
> +#define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
> +                                NODE_DATA(nid)->node_spanned_pages)

Pleae correct indentation here - it was correct originally (except
for the fact that it was using hard tabs).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:10:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:10:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393287.632141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAl8-0006sd-Kv; Thu, 25 Aug 2022 11:10:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393287.632141; Thu, 25 Aug 2022 11:10:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAl8-0006sW-IE; Thu, 25 Aug 2022 11:10:50 +0000
Received: by outflank-mailman (input) for mailman id 393287;
 Thu, 25 Aug 2022 11:10:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+Q4t=Y5=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oRAl6-0006sQ-Tf
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:10:49 +0000
Received: from mail-40134.protonmail.ch (mail-40134.protonmail.ch
 [185.70.40.134]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91cef14b-2466-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 13:10:47 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91cef14b-2466-11ed-9250-1f966e50362f
Date: Thu, 25 Aug 2022 11:10:33 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1661425846; x=1661685046;
	bh=p4OJpb4cYPRa7OxofFBxkn2ZTIMcoEBsoOMYbzpZfjo=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=sB9WuKaSsNadLaM65WWoxAbuJAA/9AbL7bH8o4c6UG2T3Brp2Iz06Io++VYeptEg8
	 bBFWhXjZZ7JzewzwE2Mf+UN/aOiAcKeNFMTBo0DdoPECoaU68DbsQ22Cz4qBrsMFVq
	 yTBjqZpnW2uBT/mKSglQUtV/ef8X5sFKJ/Zwb2PVwMcfUhXzleG7uptAN4vYRKwH5g
	 8F/qZaPT25S3IXLrjqcSvVI5R4d6lmnnmKJ2FPjkC4fPCE0IZbaqZ4OLe6AJqnIlBY
	 /L4SxLuaa3t57HTIOBU3dnHnHO/GKTg4S8b/d8+K7JWZ3PgUO3L5GVrxaFgN7K/zoB
	 3adNtBYf3rJ7A==
To: jbeulich@suse.com
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <2dHPPtixTlkUXYEzNPFRI4ezKHSe1A2VaThMjBpd1aM3NFkZQuyRdfmNWCigm1oXfdKhOwDJGoPBBIMLYtYhQlENV2eFVZ0G9EMOMj5e6UE=@protonmail.com>
In-Reply-To: <3b2ad2ca-3c6c-4dcb-c603-bd5440350f20@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com> <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com> <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com> <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com> <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com> <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com> <Zz_iE6KdPdkQ_TjUf-W2ODPIXo2WwXz0JxF5vgPjVuz8uWfJyto5S_nYRzSNrE0jC3r4ILhjkLH_PtW_fmIeTQIQtI6wTZxnUvOl0pr6ne4=@protonmail.com> <3b2ad2ca-3c6c-4dcb-c603-bd5440350f20@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="b1_FbE9jUJUaD7yIEcdOhYBtclPJvelqbklNavjDGszI"

This is a multi-part message in MIME format.

--b1_FbE9jUJUaD7yIEcdOhYBtclPJvelqbklNavjDGszI
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLAoKWWVzIHBsZWFzZSwgSSBoYXZlIFF1YmVzJ3MgQnVpbGQgU3lzdGVtIHNldHVwIHdp
dGggc291cmNlaHV0IHNvIEkgY2FuIGFkZCBwYXRjaGVzIGF0IHdpbGwsIGhvd2V2ZXIgcGxlYXNl
IGJlIGF3YXJlIFF1YmVzIGN1cnJlbnRseSB1c2VzIFhlbiA0LjE0LgoKSSdsbCB0YWtlIGEgbG9v
ayBhbmQgc2VlIGlmIEkgY2FuIGFjY2VzcyB0aGF0IGxvY2F0aW9uCgpXaXRoIHRoZSBhZGRlZCBs
b2dnaW5nIEkgc2hvdWxkIGJlIGFibGUgdG8gdHJpZ2dlciB0aGUgY3Jhc2ggYW5kIGdldCB0byB0
aGUgYm90dG9tIG9mIGl0CgpUaGFuayB5b3UgZm9yIHlvdXIgaGVscCBKYW4=

--b1_FbE9jUJUaD7yIEcdOhYBtclPJvelqbklNavjDGszI
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLDxicj48YnI+WWVzIHBsZWFzZSwgSSBoYXZlIFF1YmVzJ3MgQnVpbGQgU3lzdGVtIHNl
dHVwIHdpdGggc291cmNlaHV0IHNvIEkgY2FuIGFkZCBwYXRjaGVzIGF0IHdpbGwsIGhvd2V2ZXIg
cGxlYXNlIGJlIGF3YXJlIFF1YmVzIGN1cnJlbnRseSB1c2VzIFhlbiA0LjE0Ljxicj48YnI+SSds
bCB0YWtlIGEgbG9vayBhbmQgc2VlIGlmIEkgY2FuIGFjY2VzcyB0aGF0IGxvY2F0aW9uPGJyPjxi
cj5XaXRoIHRoZSBhZGRlZCBsb2dnaW5nIEkgc2hvdWxkIGJlIGFibGUgdG8gdHJpZ2dlciB0aGUg
Y3Jhc2ggYW5kIGdldCB0byB0aGUgYm90dG9tIG9mIGl0PGJyPjxicj5UaGFuayB5b3UgZm9yIHlv
dXIgaGVscCBKYW4gPGJyPg==


--b1_FbE9jUJUaD7yIEcdOhYBtclPJvelqbklNavjDGszI--



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:14:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393293.632152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAoa-0007Vo-54; Thu, 25 Aug 2022 11:14:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393293.632152; Thu, 25 Aug 2022 11:14:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAoa-0007Vh-2G; Thu, 25 Aug 2022 11:14:24 +0000
Received: by outflank-mailman (input) for mailman id 393293;
 Thu, 25 Aug 2022 11:14:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRAoY-0007Vb-Vk
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:14:22 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 11de0c1c-2467-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 13:14:22 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 7919B1FCEA;
 Thu, 25 Aug 2022 11:14:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3F6FD13517;
 Thu, 25 Aug 2022 11:14:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HrgpDo1ZB2MbdAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 11:14:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11de0c1c-2467-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661426061; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=z35KMlerkRAb1QPM9B9Nt7oMwL4KBkeeO16KJo1wur8=;
	b=jJmfRG3qhJrnsML4CmH5TaLWPejI9IiWbDK63yaFfO1jRjILr4dqRwJpgVNYCb+0r4iTw8
	SCTNeRCzd/mWvV3hiy4+DUlhnON3dyIKLh+ApGR812+oZTX3IZQzxw77CiorK9IgqEAeJC
	x840pCqI1T5RMa9yXjHIQZtSMZ1K8/I=
Message-ID: <1f460b58-2cf7-306f-60a5-14badf53ca70@suse.com>
Date: Thu, 25 Aug 2022 13:14:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220825092600.7188-1-jgross@suse.com>
 <2c762b15-fd7e-f14e-fcc9-a083af683e4f@suse.com>
 <a69d7917-daae-c8d9-5f4b-2300c99168b8@suse.com>
 <d0ef9b45-9730-c9d5-a57e-9b7860d84a13@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <d0ef9b45-9730-c9d5-a57e-9b7860d84a13@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------W6dlOTs8h0LU1RtKHyq845NT"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------W6dlOTs8h0LU1RtKHyq845NT
Content-Type: multipart/mixed; boundary="------------nXAny4FCzKzm0QAZid0dKaJH";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <1f460b58-2cf7-306f-60a5-14badf53ca70@suse.com>
Subject: Re: [PATCH v2] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
References: <20220825092600.7188-1-jgross@suse.com>
 <2c762b15-fd7e-f14e-fcc9-a083af683e4f@suse.com>
 <a69d7917-daae-c8d9-5f4b-2300c99168b8@suse.com>
 <d0ef9b45-9730-c9d5-a57e-9b7860d84a13@suse.com>
In-Reply-To: <d0ef9b45-9730-c9d5-a57e-9b7860d84a13@suse.com>

--------------nXAny4FCzKzm0QAZid0dKaJH
Content-Type: multipart/mixed; boundary="------------C00gpXn6jKI00aJcMFNIFEth"

--------------C00gpXn6jKI00aJcMFNIFEth
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDguMjIgMTI6MjIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNS4wOC4yMDIy
IDEyOjEzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjUuMDguMjIgMTE6NTAsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDI1LjA4LjIwMjIgMTE6MjYsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IC0tLSBhL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPj4+PiArKysg
Yi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+Pj4gQEAgLTYwMiw2ICs2MDIsMTAgQEAgc3Rh
dGljIGludCBsb2NrX3BhZ2VzKA0KPj4+PiAgICAJCSpwaW5uZWQgKz0gcGFnZV9jb3VudDsN
Cj4+Pj4gICAgCQlucl9wYWdlcyAtPSBwYWdlX2NvdW50Ow0KPj4+PiAgICAJCXBhZ2VzICs9
IHBhZ2VfY291bnQ7DQo+Pj4+ICsNCj4+Pj4gKwkJLyogRXhhY3QgcmVhc29uIGlzbid0IGtu
b3duLCBFRkFVTFQgaXMgb25lIHBvc3NpYmlsaXR5LiAqLw0KPj4+PiArCQlpZiAocGFnZV9j
b3VudCA8IHJlcXVlc3RlZCkNCj4+Pj4gKwkJCXJldHVybiAtRUZBVUxUOw0KPj4+PiAgICAJ
fQ0KPj4+DQo+Pj4gSSBkb24ndCByZWFsbHkga25vdyB0aGUgaW5uZXIgd29ya2luZ3Mgb2Yg
cGluX3VzZXJfcGFnZXNfZmFzdCgpDQo+Pj4gbm9yIHdoYXQgZnV0dXJlIHBsYW5zIHRoZXJl
IGFyZSB3aXRoIGl0LiBUbyBiZSBhcyBpbmRlcGVuZGVudCBvZg0KPj4+IGl0cyBiZWhhdmlv
ciBhcyBwb3NzaWJsZSwgaG93IGFib3V0IGJhaWxpbmcgaGVyZSBvbmx5IHdoZW4NCj4+PiBw
YWdlX2NvdW50IGFjdHVhbGx5IGlzIHplcm8gKGkuZS4gbm8gZm9yd2FyZCBwcm9ncmVzcyk/
DQo+Pg0KPj4gVGhpcyB3b3VsZCByZXF1aXJlIHRvIHJld29yayB0aGUgbG9vcCBpbiBsb2Nr
X3BhZ2VzKCkgdG8gYmUgYWJsZSB0bw0KPj4gaGFuZGxlIG9ubHkgYSBwYXJ0aWFsIGJ1ZmZl
ci4NCj4gDQo+IE9oLCBJIHNlZSAtIEkndmUgbWlzcmVhZCB0aGUgY29kZSBhcyBpZiB0aGUg
bG9vcCB3YXMgY2FwcGluZyBlYWNoDQo+IGl0ZXJhdGlvbidzIGNvdW50IHRvIHRoZSBjYXBh
Y2l0eSBvZiBzb21lIGludGVybmFsIGJ1ZmZlciAoYXMgaWlyYw0KPiBpcyBiZWluZyBkb25l
IGVsc2V3aGVyZSkuIFNvIC4uLg0KPiANCj4+IFRoaXMgd291bGQgYWRkIHNvbWUgY29tcGxl
eGl0eSwgYnV0IE9UT0ggSSdkIGdldCBhbiBleGFjdCBlcnJvciBjb2RlDQo+PiBiYWNrIGlu
IGNhc2Ugb2YgZmFpbHVyZS4NCj4gDQo+IC4uLiBwZXJoYXBzIG5vdCB3b3J0aCBpdCB0aGVu
LCAuLi4NCj4gDQo+PiBJJ2xsIGhhdmUgYSB0cnkgYW5kIHNlZSBob3cgdGhlIHJlc3VsdCB3
b3VsZCBsb29rIGxpa2UuDQo+IA0KPiAuLi4gdW5sZXNzIHlvdSB0aGluayB0aGlzIG1pZ2h0
IGJlIHJlbGV2YW50IGluIGNlcnRhaW4gY2FzZXMuDQoNCk5vdCBzdXJlLCBidXQgdGhlIHJl
c3VsdGluZyBjb2RlIGlzIGxvb2tpbmcgZmluZSBJTU8uDQoNCg0KSnVlcmdlbg0K
--------------C00gpXn6jKI00aJcMFNIFEth
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------C00gpXn6jKI00aJcMFNIFEth--

--------------nXAny4FCzKzm0QAZid0dKaJH--

--------------W6dlOTs8h0LU1RtKHyq845NT
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHWYwFAwAAAAAACgkQsN6d1ii/Ey8D
xgf+In2o2qkHGeqAJuA7sthy6tQ3U+J4yEynEukvFx8Cuua4he7i53JZztPMf1mWmc3uOJbdgiJT
8BO61dzqphxvhugyqWwl1Sfq9TU2C4WRCZ9lfpY3gJQKs8puIJyyhNA6Y7Ektj61NJpHWLNnNPga
IWz4lrKm0koCZammZmonXJZ4aeqqTa28Zry0hzqegTJE+YHXE7PFSeXtrLR+qFegVT3kQzAZwFGl
kpTwptbXqiGhMsSDWeGGt+D0/IrdIBklNuWSbmstm18iQtaSbMHQxaujAcn4Ph7l3gPT0i77wKrr
34rdxiDxjkZIh7K/Wsl34ejFRBiZq1ryxCMoKNuIWw==
=hDRi
-----END PGP SIGNATURE-----

--------------W6dlOTs8h0LU1RtKHyq845NT--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:24:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:24:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393300.632162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAy7-0000Zw-2g; Thu, 25 Aug 2022 11:24:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393300.632162; Thu, 25 Aug 2022 11:24:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAy6-0000Zp-WF; Thu, 25 Aug 2022 11:24:15 +0000
Received: by outflank-mailman (input) for mailman id 393300;
 Thu, 25 Aug 2022 11:24:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=X+v2=Y5=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oRAy5-0000Zj-94
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:24:13 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1anam02on2073.outbound.protection.outlook.com [40.107.96.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c998aaa-2468-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 13:24:04 +0200 (CEST)
Received: from BN0PR03CA0014.namprd03.prod.outlook.com (2603:10b6:408:e6::19)
 by BN6PR12MB1362.namprd12.prod.outlook.com (2603:10b6:404:1a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Thu, 25 Aug
 2022 11:24:07 +0000
Received: from BN8NAM11FT095.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e6:cafe::75) by BN0PR03CA0014.outlook.office365.com
 (2603:10b6:408:e6::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Thu, 25 Aug 2022 11:24:07 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT095.mail.protection.outlook.com (10.13.176.206) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Thu, 25 Aug 2022 11:24:06 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 25 Aug
 2022 06:24:06 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 25 Aug
 2022 06:24:06 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Thu, 25 Aug 2022 06:24:04 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c998aaa-2468-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JzUnSck22Yq8boBHjtZDQpQ0rMuZoj0KdvyjoxjZS8lvQ2QqmwANTtHxMjnLcFhVNCgj3r/teRC9EZOJx3iTfr5NqEHpXid+pODH0HjWBA5K2ySjFr1RDHQZQdzFMUbi+f/0ML/Jm2ujkHp+HT6Lf5Gxj8UE3GT0T4teGmqHL3AZGQEIzW1Pq12+QG4AbknTL5NjBUHNs4j9m8x5xNvb5fl/jwcnRxGWPzNoHJ3w6LLQL5DDTd5tsDHK+rCdNPYaZBE85GEKr0RIA6MZV/otUntsZqaWfPeEtZzNF6soW5/plyWFTmSLI04MDjNR+aeV8W88IcrUREe+VPy5uQd7Cg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/EleFUZaldsREiB/SUM4a3yWw7WoyF7PF887c81c57g=;
 b=iuznSleCpB9VH7iw0uRIvHPq6DUxE8GZjAVV90RR/hK1ffX1CiGNpduQbeBE2Dsn69w/KJFkwWLFDnxDeSkHrDkaXb46gjaidf39Jc2qHs/Pm8qDwlLEhb97GuEr3wyPjk4s+dbDdFnWO7tnHDbOLO9Ol13yYM0azQdbrdU9ciCzuHaM86M5tXJGBXJ4wyMNuuw3FgKDsUYQ/w3MKz0HZElgAeRGxvi+kO31UroUHjsAxl3SycEam+Qjko4QFkvaMfsbo87sgJr8J4kzSsEfHs4ggZIbjr0Eg3921l6D7DOaHW5zW0pAK/MZk7VZtBC8rF6SKp8Q+MrWso17AVsF6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/EleFUZaldsREiB/SUM4a3yWw7WoyF7PF887c81c57g=;
 b=fJp6bQTWPfxWiX7Gbsy4w0XgJHTwee7s01Yi3j3CckQKXF7+z3vrJAun4CBDqBlsKh8VtZ3DlVDW8amzsWqQHLPm+UsD8J7eYhgfzYPgXRBY6ntXFSRGBbyMrVbGzVL5qK51C6x5y/NQ9jEXx4OXLzsoiK8Y6AtdZ8JFbptWzo4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
Date: Thu, 25 Aug 2022 13:24:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
To: Henry Wang <Henry.Wang@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20220824073127.16762-3-Henry.Wang@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 520c8f1f-7b60-427c-e077-08da868c52bf
X-MS-TrafficTypeDiagnostic: BN6PR12MB1362:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ldINv7Enke1sfGQLuuX9ZXiTertpqXn9EWGluG2kmuFgEUtWiL66AvuREeosjIK3mkwwZDYWGHAIB5EFNkOVVXzixWK+4HJRNDtCXQNqDaKK2jw44QxhouyIAgz47zov7gP8qQTRhaEhTu5pkxpjoorQTFJlLuYEowIyhaPYjF432G3KAlpUdB/4ZBlqgxh7PBwVh2XZa5NEZjKSOyBV5dcjAXNYJfSlr0FcyX05Q3h/iOxuoATUf0KqM2tVHHFvD6BmXGuPtwITXZsI3z2om95SEC8UrIj0Jk5sd13hggaeoXq8dVi8aNO0KV18Xt1BsQ649XRBm5pNPYwC23AZ+AJp5Sx3X69vDjlrpHBMx/8Y2nYH91TodA2uMkuzZPCtF+9k6Hltgz4ut2BufNzu7fzcVcbsVaG6Xo+h5Tsb9Mf8E/QRZvjgJmP64mH0NgGQ7HVtqkaqX9wY3F53p4kNbY8z7KfYDAeGpenD1CKFmD04EZVDmpFE61bhAKnG5BTY9zdutJfCMM+zYSEI3ssoB/g65IlvbwRpKORa/kgZ32SRBtlIQ39Hav+xPrW8LqTDqiqb0rx/ptvLG8SJmy5drSr8DsEeyQSNj5+YnJWnYXs9Zta4wqoRkrQhLMM/VhhpkR7+SJNuYSmv5+FEc0/pe5CLTU7U/y16RfP6U8WP8t2i+EYjsJ6SYP83qMGRy8WKHdsnoqSba1ECUPCdqB00455ljOOq4CJSdKUFYsBSEx7ioRU5uLLGijMQPcyG/epc3zyV1b7tO4qCMlZ/yfH/NnFjA6bXuaiu6Z0uDooKzGHBV0QGVobWbzk0lEV7bHfRdtinEDTGfkhaUtSQ8yf7uQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(396003)(39860400002)(376002)(36840700001)(40470700004)(46966006)(5660300002)(356005)(2906002)(36756003)(70206006)(26005)(186003)(4326008)(8676002)(40480700001)(82310400005)(70586007)(316002)(54906003)(53546011)(16576012)(110136005)(478600001)(41300700001)(31686004)(86362001)(81166007)(31696002)(47076005)(426003)(83380400001)(336012)(82740400003)(36860700001)(44832011)(2616005)(40460700003)(8936002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 11:24:06.7571
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 520c8f1f-7b60-427c-e077-08da868c52bf
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT095.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1362

Hi Henry,

On 24/08/2022 09:31, Henry Wang wrote:
> 
> This commit firstly adds a global variable `reserved_heap`.
> This newly introduced global variable is set at the device tree
> parsing time if the reserved heap ranges are defined in the device
> tree chosen node.
> 
Did you consider putting reserved_heap into bootinfo structure?
It would help to avoid introducing new global variables that are only used
in places making use of the bootinfo anyway.

> For Arm32, In `setup_mm`, if the reserved heap is enabled, we use
> the reserved heap region for both domheap and xenheap allocation.
> 
> For Arm64, In `setup_mm`, if the reserved heap is enabled and used,
> we make sure that only these reserved heap pages are added to the
> boot allocator. These reserved heap pages in the boot allocator are
> added to the heap allocator at `end_boot_allocator()`.
> 
> If the reserved heap is disabled, we stick to current page allocation
> strategy at boot time.
> 
> Also, take the chance to correct a "double not" print in Arm32
> `setup_mm()`.
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> With reserved heap enabled, for Arm64, naming of global variables such
> as `xenheap_mfn_start` and `xenheap_mfn_end` seems to be ambiguous,
> wondering if we should rename these variables.
> ---
> Changes from RFC to v1:
> - Rebase on top of latest `setup_mm()` changes.
> - Added Arm32 logic in `setup_mm()`.
> ---
>  xen/arch/arm/bootfdt.c           |  2 +
>  xen/arch/arm/include/asm/setup.h |  2 +
>  xen/arch/arm/setup.c             | 79 +++++++++++++++++++++++++-------
>  3 files changed, 67 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 33704ca487..ab73b6e212 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -325,6 +325,8 @@ static int __init process_chosen_node(const void *fdt, int node,
>                                       true);
>          if ( rc )
>              return rc;
> +
> +        reserved_heap = true;
>      }
> 
>      printk("Checking for initrd in /chosen\n");
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index e80f3d6201..00536a6d55 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -92,6 +92,8 @@ extern struct bootinfo bootinfo;
> 
>  extern domid_t max_init_domid;
> 
> +extern bool reserved_heap;
> +
>  void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
> 
>  size_t estimate_efi_size(unsigned int mem_nr_banks);
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 500307edc0..fe76cf6325 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -73,6 +73,8 @@ integer_param("xenheap_megabytes", opt_xenheap_megabytes);
> 
>  domid_t __read_mostly max_init_domid;
> 
> +bool __read_mostly reserved_heap;
> +
>  static __used void init_done(void)
>  {
>      /* Must be done past setting system_state. */
> @@ -699,8 +701,10 @@ static void __init populate_boot_allocator(void)
>  #ifdef CONFIG_ARM_32
>  static void __init setup_mm(void)
>  {
> -    paddr_t ram_start, ram_end, ram_size, e;
> -    unsigned long ram_pages;
> +    paddr_t ram_start, ram_end, ram_size, e, bank_start, bank_end, bank_size;
> +    paddr_t reserved_heap_start = ~0, reserved_heap_end = 0,
> +            reserved_heap_size = 0;
> +    unsigned long ram_pages, reserved_heap_pages = 0;
>      unsigned long heap_pages, xenheap_pages, domheap_pages;
>      unsigned int i;
>      const uint32_t ctr = READ_CP32(CTR);
> @@ -720,9 +724,9 @@ static void __init setup_mm(void)
> 
>      for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
>      {
> -        paddr_t bank_start = bootinfo.mem.bank[i].start;
> -        paddr_t bank_size = bootinfo.mem.bank[i].size;
> -        paddr_t bank_end = bank_start + bank_size;
> +        bank_start = bootinfo.mem.bank[i].start;
> +        bank_size = bootinfo.mem.bank[i].size;
> +        bank_end = bank_start + bank_size;
> 
>          ram_size  = ram_size + bank_size;
>          ram_start = min(ram_start,bank_start);
> @@ -731,6 +735,25 @@ static void __init setup_mm(void)
> 
>      total_pages = ram_pages = ram_size >> PAGE_SHIFT;
> 
> +    if ( reserved_heap )
> +    {
> +        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
> +        {
> +            if ( bootinfo.reserved_mem.bank[i].xen_heap )
> +            {
> +                bank_start = bootinfo.reserved_mem.bank[i].start;
> +                bank_size = bootinfo.reserved_mem.bank[i].size;
> +                bank_end = bank_start + bank_size;
> +
> +                reserved_heap_size += bank_size;
> +                reserved_heap_start = min(reserved_heap_start, bank_start);
You do not need reserved_heap_start as you do not use it at any place later on.
In your current implementation you just need reserved_heap_size and reserved_heap_end.

> +                reserved_heap_end = max(reserved_heap_end, bank_end);
> +            }
> +        }
> +
> +        reserved_heap_pages = reserved_heap_size >> PAGE_SHIFT;
> +    }
> +
>      /*
>       * If the user has not requested otherwise via the command line
>       * then locate the xenheap using these constraints:
> @@ -743,7 +766,8 @@ static void __init setup_mm(void)
>       * We try to allocate the largest xenheap possible within these
>       * constraints.
>       */
> -    heap_pages = ram_pages;
> +    heap_pages = !reserved_heap ? ram_pages : reserved_heap_pages;
I must say that the reverted logic is harder to read. This is a matter of taste but
please consider the following:
heap_pages = reserved_heap ? reserved_heap_pages : ram_pages;
The same applies to ...

> +
>      if ( opt_xenheap_megabytes )
>          xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
>      else
> @@ -755,17 +779,21 @@ static void __init setup_mm(void)
> 
>      do
>      {
> -        e = consider_modules(ram_start, ram_end,
> +        e = !reserved_heap ?
... here.

> +            consider_modules(ram_start, ram_end,
>                               pfn_to_paddr(xenheap_pages),
> -                             32<<20, 0);
> +                             32<<20, 0) :
> +            reserved_heap_end;
> +
>          if ( e )
>              break;
> 
>          xenheap_pages >>= 1;
>      } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
> 
> -    if ( ! e )
> -        panic("Not not enough space for xenheap\n");
> +    if ( ! e ||
> +         ( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )
I'm not sure about this. You are checking if the size of the reserved heap is less than 32MB
and this has nothing to do with the following panic message.

> +        panic("Not enough space for xenheap\n");
> 
>      domheap_pages = heap_pages - xenheap_pages;
> 
> @@ -810,9 +838,9 @@ static void __init setup_mm(void)
>  static void __init setup_mm(void)
>  {
>      const struct meminfo *banks = &bootinfo.mem;
> -    paddr_t ram_start = ~0;
> -    paddr_t ram_end = 0;
> -    paddr_t ram_size = 0;
> +    paddr_t ram_start = ~0, bank_start = ~0;
> +    paddr_t ram_end = 0, bank_end = 0;
> +    paddr_t ram_size = 0, bank_size = 0;
>      unsigned int i;
> 
>      init_pdx();
> @@ -821,17 +849,36 @@ static void __init setup_mm(void)
>       * We need some memory to allocate the page-tables used for the xenheap
>       * mappings. But some regions may contain memory already allocated
>       * for other uses (e.g. modules, reserved-memory...).
> -     *
> +     * If reserved heap regions are properly defined, (only) add these regions
How can you say at this stage whether the reserved heap regions are defined properly?

> +     * in the boot allocator.
> +     */
> +    if ( reserved_heap )
> +    {
> +        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
> +        {
> +            if ( bootinfo.reserved_mem.bank[i].xen_heap )
> +            {
> +                bank_start = bootinfo.reserved_mem.bank[i].start;
> +                bank_size = bootinfo.reserved_mem.bank[i].size;
> +                bank_end = bank_start + bank_size;
> +
> +                init_boot_pages(bank_start, bank_end);
> +            }
> +        }
> +    }
> +    /*
> +     * No reserved heap regions:
>       * For simplicity, add all the free regions in the boot allocator.
>       */
> -    populate_boot_allocator();
> +    else
> +        populate_boot_allocator();
> 
>      total_pages = 0;
> 
>      for ( i = 0; i < banks->nr_banks; i++ )
>      {
>          const struct membank *bank = &banks->bank[i];
> -        paddr_t bank_end = bank->start + bank->size;
> +        bank_end = bank->start + bank->size;
> 
>          ram_size = ram_size + bank->size;
>          ram_start = min(ram_start, bank->start);
> --
> 2.17.1
> 
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:25:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:25:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393313.632174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAyt-0001BG-LL; Thu, 25 Aug 2022 11:25:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393313.632174; Thu, 25 Aug 2022 11:25:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRAyt-0001B9-Hv; Thu, 25 Aug 2022 11:25:03 +0000
Received: by outflank-mailman (input) for mailman id 393313;
 Thu, 25 Aug 2022 11:25:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=azg/=Y5=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oRAys-00017o-Dc
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:25:02 +0000
Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com
 [2607:f8b0:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e59b86a-2468-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 13:25:01 +0200 (CEST)
Received: by mail-pf1-x435.google.com with SMTP id 142so318287pfu.10
 for <xen-devel@lists.xenproject.org>; Thu, 25 Aug 2022 04:25:00 -0700 (PDT)
Received: from leoy-huanghe
 (ec2-54-176-161-147.us-west-1.compute.amazonaws.com. [54.176.161.147])
 by smtp.gmail.com with ESMTPSA id
 s17-20020a63e811000000b00429ffc18e5csm12606291pgh.59.2022.08.25.04.24.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Aug 2022 04:24:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e59b86a-2468-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=+i6O62x+X+PNyCsytiy4KbtqPpRQcPQh69I2f6GYTeo=;
        b=Cs/11/vTKdD/X6bmnN5OIgEfyihzp7TZbfnNb9L/tJbLDMF3qHfz81z0LLEGNGvPrq
         wimSyuaWOzd4sEBomBf0gCfNnjWLoGzDg+EAbZsLAOCGhAgOXealBaJXb89F2rZQhSEU
         in8nsgsFsm0DxXqnIlGiAmIl3h3ekGtW+Kz7E/V4Yw+eM015WVth56rzpV9cAAe2WZrw
         //AlvfJHBFF69RL4rcmvrt0q6NTYdtbzf74uuAxsMWME40a/xcn6uhMcn6CSyvwuVJLe
         leJmxnzX4epL5+AcpM3qXJ3LgXXZaT/XZDLf5ufImB1KPnFaW5ZQZP+f/HU9TyGuT90o
         Sfxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=+i6O62x+X+PNyCsytiy4KbtqPpRQcPQh69I2f6GYTeo=;
        b=oY61OuxLop20cyq3RR0VBJyO+ehJWaf1d9h/xbIb9SKEMH5v25HDg6vn61u/1jNYz4
         Ev3QRAWrOwkC5zhfopju4cVZe2g8WkMmxvZpSTEvVOuWC2b15xtUynwT0G5dUwTDZQfL
         EG3s2n0potos7ZcjlXUURBvQ8kG0lRbTNyiJZNdL0WQxttr+m+8kP5XZNv4rPTdIbjqW
         EOoM99mK75j6ol8PDmoXZXq/34uF27Dds+fusWcPQtFHykEJKTR1WVMy/wKZ25OF6+90
         zsrnNGK7R/cex+8yusilyLEeLQ9pWHKMJ95tq6bTnZLA0u72HfYtWiSROVhah0sypxVv
         i81A==
X-Gm-Message-State: ACgBeo3mzV9lDh059GQGxJWrx4yZHJ8ooplcbfM0gXN56sSbJCk4XQZS
	YUnM+cH5SyG8062oHAOxcjv0vQ==
X-Google-Smtp-Source: AA6agR4g/zBuDcyR8N+sSt/wb+FpIVe8DzFAPplbgic7m0KMrXY3F+lPmTC8wl6tYJCClGOYuGxYWw==
X-Received: by 2002:a63:1853:0:b0:41d:70c0:978e with SMTP id 19-20020a631853000000b0041d70c0978emr2994200pgy.32.1661426699459;
        Thu, 25 Aug 2022 04:24:59 -0700 (PDT)
Date: Thu, 25 Aug 2022 19:24:52 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <YwdcBFmCQ4pU1kDi@leoy-huanghe>
References: <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
 <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
 <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
 <871qtcsacd.wl-maz@kernel.org>
 <Ywcr1849LiEHezd3@leoy-huanghe>
 <12a8c169-55aa-5e9f-19f8-acd77ea2a8fe@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <12a8c169-55aa-5e9f-19f8-acd77ea2a8fe@xen.org>

Hi Julien,

On Thu, Aug 25, 2022 at 10:07:18AM +0100, Julien Grall wrote:

[...]

> > In other words, let's assume the Dom0 kernel panic and its secondary
> > kernel is launched by kexec, is it necessarily for the secondary
> > kernel to reuse the primary kernel's RD pending page?
> 
> No.

If the answer is no, then I think it's feasible to pass the same ACPI
table or DT binding for virtual GICv3 from primary kernel to secondary
kernel, then the second kernel can initialize the VGIC and allocate a
new RD tables (and trap to Xen in EL2 to handle the new allocated RD
tables).  How about you think for this?

Thanks a lot for quick response.

Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:40:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:40:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393319.632185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBDX-0003c9-0I; Thu, 25 Aug 2022 11:40:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393319.632185; Thu, 25 Aug 2022 11:40:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBDW-0003c2-T2; Thu, 25 Aug 2022 11:40:10 +0000
Received: by outflank-mailman (input) for mailman id 393319;
 Thu, 25 Aug 2022 11:40:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRBDV-0003bw-Ao
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:40:09 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a710a0de-246a-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 13:40:00 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2240D33FAB;
 Thu, 25 Aug 2022 11:40:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D754213517;
 Thu, 25 Aug 2022 11:40:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wBBAM5VfB2OhfwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 11:40:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a710a0de-246a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661427606; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=dwYP6pNMJ0bm8xlxtVpMlGoTLHlcq559EPLF7XX0wWg=;
	b=C+MPh8mLFnN9CLM7FjKQOWdgVZYRDFXFB5CoDv9yeClqcY0jYdkWN9NppQSYqOGtsFRPo9
	llIVVfYKHqCMkvMFoXXzJLHOUxQsCIuE1TSrgfoXYc80a6jPEMgghctgM2MdCM7R3fZLqu
	fsBv5JQ9zYRfGwnkpB3TE73sX55oOoM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	stable@vger.kernel.org,
	Rustam Subkhankulov <subkhankulov@ispras.ru>
Subject: [PATCH v3] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Date: Thu, 25 Aug 2022 13:40:04 +0200
Message-Id: <20220825114004.24843-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The error exit of privcmd_ioctl_dm_op() is calling unlock_pages()
potentially with pages being NULL, leading to a NULL dereference.

Additionally lock_pages() doesn't check for pin_user_pages_fast()
having been completely successful, resulting in potentially not
locking all pages into memory. This could result in sporadic failures
when using the related memory in user mode.

Fix all of that by calling unlock_pages() always with the real number
of pinned pages, which will be zero in case pages being NULL, and by
checking the number of pages pinned by pin_user_pages_fast() matching
the expected number of pages.

Cc: <stable@vger.kernel.org>
Fixes: ab520be8cd5d ("xen/privcmd: Add IOCTL_PRIVCMD_DM_OP")
Reported-by: Rustam Subkhankulov <subkhankulov@ispras.ru>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- use "pinned" as parameter for unlock_pages() (Jan Beulich)
- drop label "unlock" again (Jan Beulich)
- add check for complete success of pin_user_pages_fast()
V3:
- continue after partial success of pin_user_pages_fast() (Jan Beulich)
---
 drivers/xen/privcmd.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 3369734108af..1ca7e3ea6fd4 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -581,7 +581,7 @@ static int lock_pages(
 	struct privcmd_dm_op_buf kbufs[], unsigned int num,
 	struct page *pages[], unsigned int nr_pages, unsigned int *pinned)
 {
-	unsigned int i;
+	unsigned int i, off = 0;
 
 	for (i = 0; i < num; i++) {
 		unsigned int requested;
@@ -589,19 +589,23 @@ static int lock_pages(
 
 		requested = DIV_ROUND_UP(
 			offset_in_page(kbufs[i].uptr) + kbufs[i].size,
-			PAGE_SIZE);
+			PAGE_SIZE) - off;
 		if (requested > nr_pages)
 			return -ENOSPC;
 
 		page_count = pin_user_pages_fast(
-			(unsigned long) kbufs[i].uptr,
+			(unsigned long)kbufs[i].uptr + off * PAGE_SIZE,
 			requested, FOLL_WRITE, pages);
-		if (page_count < 0)
-			return page_count;
+		if (page_count <= 0)
+			return page_count ? : -EFAULT;
 
 		*pinned += page_count;
 		nr_pages -= page_count;
 		pages += page_count;
+
+		off = requested - page_count;
+		if (off)
+			i--;
 	}
 
 	return 0;
@@ -677,10 +681,8 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
 	}
 
 	rc = lock_pages(kbufs, kdata.num, pages, nr_pages, &pinned);
-	if (rc < 0) {
-		nr_pages = pinned;
+	if (rc < 0)
 		goto out;
-	}
 
 	for (i = 0; i < kdata.num; i++) {
 		set_xen_guest_handle(xbufs[i].h, kbufs[i].uptr);
@@ -692,7 +694,7 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
 	xen_preemptible_hcall_end();
 
 out:
-	unlock_pages(pages, nr_pages);
+	unlock_pages(pages, pinned);
 	kfree(xbufs);
 	kfree(pages);
 	kfree(kbufs);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:42:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393325.632196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBFl-0004Bg-B8; Thu, 25 Aug 2022 11:42:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393325.632196; Thu, 25 Aug 2022 11:42:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBFl-0004BZ-8K; Thu, 25 Aug 2022 11:42:29 +0000
Received: by outflank-mailman (input) for mailman id 393325;
 Thu, 25 Aug 2022 11:42:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kueA=Y5=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1oRBFj-0004BP-U0
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:42:27 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd7f2cb0-246a-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 13:42:25 +0200 (CEST)
Received: from zn.tnic (p200300ea971b98f5329c23fffea6a903.dip0.t-ipconnect.de
 [IPv6:2003:ea:971b:98f5:329c:23ff:fea6:a903])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 3CAC01EC050F;
 Thu, 25 Aug 2022 13:42:21 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd7f2cb0-246a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1661427741;
	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:in-reply-to:in-reply-to:  references:references;
	bh=vh+yXND8jbqs07msgUgEfuD6EdfdarrOdj9azKZ93v4=;
	b=koVZ3WzX+coXmWuagCZ7A8QrddQqqwpUDOeKr40npBAQboceootNSjcsAzr0pEAXw4lDw9
	5VpOzdHcnyYMY/80uuoArWZA/m195ycE8cDnn4jx/3lRI8xKhJdFycHBSetEeSG/lU+xm0
	vEfnoVvR1SE0PfWH84erqcR76X4O0rQ=
Date: Thu, 25 Aug 2022 13:42:16 +0200
From: Borislav Petkov <bp@alien8.de>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
Message-ID: <YwdgGFJWTV1YF3n2@zn.tnic>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-3-jgross@suse.com>
 <YwdPb4pWqppgzIpm@zn.tnic>
 <aff049cb-ebdd-68ad-5597-d22f87026297@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <aff049cb-ebdd-68ad-5597-d22f87026297@suse.com>

On Thu, Aug 25, 2022 at 12:41:05PM +0200, Juergen Gross wrote:
> Maybe the alternative reasoning is much faster to understand: if the
> Cyrix set_all() could be called, the AMD and Centaur ones would be callable,
> too.

Right.

> Those being called would result in a NULL deref, so why should we keep
> the Cyrix one?

I know you're eager to remove dead code - I'd love that too. But before
we do that, we need to find out whether some Cyrix hw out there would
not need this.

I know, I know, they should've complained by now ... maybe they have but
we haven't heard about it.

What it most likely looks like is that those machines - a commit from
before git

commit 8fbdcb188e31ac901e216b466b97e90e8b057daa
Author: Dave Jones <davej@suse.de>
Date:   Wed Aug 14 21:14:22 2002 -0700

    [PATCH] Modular x86 MTRR driver.

talks about

+/*
+ * On Cyrix 6x86(MX) and M II the ARR3 is special: it has connection
+ * with the SMM (System Management Mode) mode. So we need the following:
+ * Check whether SMI_LOCK (CCR3 bit 0) is set
+ *   if it is set, write a warning message: ARR3 cannot be changed!
+ *     (it cannot be changed until the next processor reset)

which sounds like old rust. And which no one uses or such machines are
long dead already.

Wikipedia says:

https://en.wikipedia.org/wiki/Cyrix_6x86

"The Cyrix 6x86 is a line of sixth-generation, 32-bit x86
microprocessors designed and released by Cyrix in 1995..."

So I'm thinking removing it would be ok...

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:51:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:51:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393331.632207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBNq-0005vF-4D; Thu, 25 Aug 2022 11:50:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393331.632207; Thu, 25 Aug 2022 11:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBNq-0005v8-1G; Thu, 25 Aug 2022 11:50:50 +0000
Received: by outflank-mailman (input) for mailman id 393331;
 Thu, 25 Aug 2022 11:50:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=azg/=Y5=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oRBNo-0005v2-VW
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:50:49 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28388815-246c-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 13:50:47 +0200 (CEST)
Received: by mail-pj1-x102d.google.com with SMTP id
 x63-20020a17090a6c4500b001fabbf8debfso4650606pjj.4
 for <xen-devel@lists.xenproject.org>; Thu, 25 Aug 2022 04:50:47 -0700 (PDT)
Received: from leoy-huanghe
 (ec2-54-176-161-147.us-west-1.compute.amazonaws.com. [54.176.161.147])
 by smtp.gmail.com with ESMTPSA id
 o15-20020aa7978f000000b00536aa488062sm8463597pfp.163.2022.08.25.04.50.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Aug 2022 04:50:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28388815-246c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=f6U4ammSmk7a8LknE/FKPUrZWZSZeyaoY6LMD8M2AuQ=;
        b=sTxS4aJAs5ZbNygSe/5NCyx8Os9LZZeBBaIe4iGFVyt7xlFGdOt9yrim8PBPZsQQQq
         S2dY4D7WLcnRrAd2dOs1NmgrpLeQGkpBgHVNnEz3XelIsA/Ed+H8Y81p/0ZuhoWN/+By
         NhlEcbQ4nCthLhL9w4P0/5neKkl1QDxqysg5KVwX5H7p+FnKhR3xLTHr9Gz/klXRMLVJ
         32ov/FxMWoO1FFvWnU2hjrIiH261HqR0fx+VAfkY4NLGCxYAuLgP5kTdoKWDZq9Yxznc
         z3KQl8xPzKOsSQRhRyunBrhFVbaHnKCFoiljAzLfDGsGRGCIL0jH2h+uXPIuiyL5lqnv
         b1OQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=f6U4ammSmk7a8LknE/FKPUrZWZSZeyaoY6LMD8M2AuQ=;
        b=hNIvSJwPJvnRo7XeWwj6a/aydcyFnEFmegvCeOqwvY8lKuVltN7890JFN5hPwWV8hi
         WtpM98mXBeh46Qmhet3a/JBQwTkOlZyQ+x+fpsNfF2XrSqJFCxLaiMimX5QGq03l2PXx
         bZIkG7He7Iblft83I4NtwTKxYUh0hnDXiOro89O6XypW7fgqLSER14QsfZs7hKMRr4Xh
         HFKbMix4/idQFYuTy8PY9tkb40qzpg1Jpa+Sxoev1p1i/Pl6Q4dFIvvUvv2273YrAjAr
         AOCv2eWJrdATA5EtRUafWZMpTIP1g7aetYdY8J0DnhGIJxPnfxG9McaNvvEYWC7gwMSu
         FPMw==
X-Gm-Message-State: ACgBeo14G+dxqUgDiNTmmXufFBdJgpNdfN8YCD7wIkUIodX5e0mS7BCc
	xMtO6XL8p8jZW2+Ce2oP2fCrpQ==
X-Google-Smtp-Source: AA6agR4ZvRRlyiaivdt6hGkSvLwVGJPP+UGM9W2sbJ2wtHEPVdD8BRdB6kQZPAUzMWDFZ0Hs4WGcyw==
X-Received: by 2002:a17:902:d4c9:b0:172:f480:bdd with SMTP id o9-20020a170902d4c900b00172f4800bddmr3402683plg.170.1661428246047;
        Thu, 25 Aug 2022 04:50:46 -0700 (PDT)
Date: Thu, 25 Aug 2022 19:50:38 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <YwdiDr2uLXGEl2TC@leoy-huanghe>
References: <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
 <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
 <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
 <871qtcsacd.wl-maz@kernel.org>
 <Ywcr1849LiEHezd3@leoy-huanghe>
 <12a8c169-55aa-5e9f-19f8-acd77ea2a8fe@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <12a8c169-55aa-5e9f-19f8-acd77ea2a8fe@xen.org>

On Thu, Aug 25, 2022 at 10:07:18AM +0100, Julien Grall wrote:

[...]

> > Xen directly passes ACPI MADT table from UEFI to Linux kernel to Dom0,
> > (see functions acpi_create_madt() and gic_make_hwdom_madt()), which
> > means the Linux kernel Dom0 uses the same ACPI table to initialize GICv3
> > driver, but since Linux kernel Dom0 accesses GIC memory region as IPA,
> > it still trap to Xen in EL2 for stage 2 translation, so finally Xen
> > can emulate the GICv3 device for Dom0.
> 
> In the default setup, dom0 is also the hardware domain. So it owns all of
> the devices but the ones used by Xen (e.g. interrupt controller, SMMU).
> 
> Therefore, dom0 will use the same memory layout as the host. At which point,
> it is a lot more convenient to re-use the host ACPI tables and rewrite only
> what's necessary.

We cannot purely talk about interrupt handling without connecting with
device driver model.

Seems to me, to support para virtualization driver model (like virtio),
Dom0 needs to provide the device driver backend, and DomUs enables
the forend device drivers.  In this case, the most hardware interrupts
(SPIs) are routed to Dom0.

To support passthrough driver model (VFIO), Xen needs to configure the
hardware GICv3 to directly route hardware interrupt to the virtual CPU
interface.

But here I still cannot create the concept that how GIC RD tables play
roles to support the para virtualization or passthrough mode.

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:59:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:59:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393337.632218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBVs-0006e4-Uc; Thu, 25 Aug 2022 11:59:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393337.632218; Thu, 25 Aug 2022 11:59:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBVs-0006dx-RH; Thu, 25 Aug 2022 11:59:08 +0000
Received: by outflank-mailman (input) for mailman id 393337;
 Thu, 25 Aug 2022 11:59:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRBVq-0006dr-Tu
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:59:07 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2065.outbound.protection.outlook.com [40.107.22.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e00745b-246d-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 13:59:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by HE1PR0402MB3370.eurprd04.prod.outlook.com (2603:10a6:7:7e::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Thu, 25 Aug
 2022 11:59:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 11:59:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e00745b-246d-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ljN0+Em1UOClojHW31c913QJDSwXBhtcRu4C2CWAHPj+pivzp9SBrB6rWO++HAtTqawUicjTue+FoURNHHxuvhGFjw7nHJCXlri31BfYHzjSuLk3JQHseJWvW/dtau3gS83EpkH5A1r/aZfsq3fG0QNRX6oTkkhlmFAu4rs+W+YDlCSuTz/TbN3c2WWkxGEsFe8TDQpENLwPwDJTaCoZhhmS3B/DPlLfMbVa5C/vCa6bgMCWC3o5aCAvoxZs5XTsO2x2Dv+pVxjl/mPQhyyYgx+gBfT2AlH0/ZnJ/us70V98vI8nSA30lNpACwu1sXs0y0/7kXnlICHJTmQfHm3WaA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bgLqNjkKvx54cavOvEZwb4BeesXYydDkDbr6VRLbW1U=;
 b=eftEawJHCc+7OmpwTVHx0WKNPR9L7IWsh3ldhUn657vvZwzgAzB32kfEsx3bF/hTu6XRddL1e+ld8vwjcISIbj9qX5aMhFcIzY7bf0YSxJPwWjV80+vfL0pfuLPzcFHSiNkPPEK/jjGvulWlZi/oMMVw2VLrtXgjh7RoC9irbGKg8ZXJKHiOjDcPJIIrquTrdSyU7ckngELvmYseDHQN8wgi7DwDq3ZUhXpky1BY+jaRuJGazF6/nGKfB/KzlScKLAJbIbtwg0x6BHzXDT9Q196RVTb6ckF01aJldC/VrvM6arMPLnJiTrTEmp/qCVeQLlvcP1rELeC2EX7bJxOu/w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bgLqNjkKvx54cavOvEZwb4BeesXYydDkDbr6VRLbW1U=;
 b=irckHCB8kXS+pTF7hgKkKO/YLNk+2a7h8ODBHa4bte2Yk24MUCSe3E8g7yKzY3rXaBFqxoaoUGvb+YxLUIyON378zToBW+orVfqjH0aQ+jnVMirtIByiPvbBQYSZJ3lgt/N1/Ck4eMKUCeCCemO5q3GHvYShMJUvWYb9fcgseg2MhC2RtMilg7bdt155OEw0uFZWKIU7ZIU1HYeWQ6Z9HT515CBY3AZr+ZyEBk/ZojfiaakCDXESAFuvwqLiArTXLpgSh7Z8/4ggCX5kmasiwn6cn4MH1hrXrfHSOC7RMbwn6edHBwLFnsgZPFhaxGe/6hHOabige8dN0wvtrJ+h2w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <744be7c4-8e00-7876-5819-a1d07d3d423f@suse.com>
Date: Thu, 25 Aug 2022 13:58:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v3] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220825114004.24843-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220825114004.24843-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0067.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 14ccf690-428b-4e31-aa92-08da86913362
X-MS-TrafficTypeDiagnostic: HE1PR0402MB3370:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uMTQjNGWVcBJY4XRKEUqZl3fqjYMF3pFTlVFrrePrnOX4RvtBjAvU5WilbqPy4RQ+y6B+2hYHmeqEJr5t8ZcBwZroyIFkxW++I22lEj6xoLzbIExwrHZEisoFJQCY46DE3up0YasF4P1ZGOVDELIkY2YGtAP4jeWy7dzPgyjkGILJhERJkP7n2PidQg2UsIJE5CZ07810BFFJMC7hCYCKOn77LCv/9C4liKwYs3lOXkkYDw42NqcVTuR+J3WmLiO54GxFX8L6aXlRZoJm0Hn5xR12187G6Jf5+L6wudNykgvr1A5AJ/a8fVGZtnl7dqTsObciNQeK09x7YkGTwrpxhtS+7vfeGBm5oS4cUGri8zUX8Tka8bNXPwcXBbVq6RCmk1tHAA8j9/5cbYfLjXtng97W3/klYUuEOg/S+tTeFbOE4pGZyZ008+03w97a/AXASPn97WHSw7azITsDxGbUcsp92Jozej1bc2cRRFcYcvwU5s6RqYlcK5DvpIwX2FNQFs+KuL/u0oAzTzlbOKBxk9XWAHgg3mMzdl/jMZZE8uY6rSWL9l3/OS27WpX8CyzEZooq+lHu/PfaUM1A62f7Sioejzj4BduCTVPAjeuc8lMWGj62BMJnyubCp97F9rRoKzwDjLYUBala9uKsMNQqZTVJuXsP/aJ+zzXoLpH62eQMVpljw26PXLRB0s7lBofQz5CVRg7YmaJNxjd7H/bHFHUKTPEm2R2UDlpqIXIdtdfafeBC5I9T1JeS0jwZf22zEwrpRPtOOAdlpqAvUuFoKknT26yUJsuNZWQIgL5xLY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(376002)(39860400002)(366004)(396003)(4326008)(66556008)(66476007)(66946007)(8676002)(38100700002)(31686004)(86362001)(31696002)(36756003)(26005)(83380400001)(2616005)(478600001)(6506007)(6486002)(53546011)(41300700001)(6512007)(316002)(37006003)(6636002)(54906003)(2906002)(6862004)(186003)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?REs5MW4wcTRnNEpQUGFsbG5WMmJoWEtqWVFKblVoQzlpNHF5VHFQN2tOWkZZ?=
 =?utf-8?B?bDFpakx0RTlCeGZaRG1RVWRqZTJvb2l1TCt0WE9jMVJMTEgveXYvS2h4eSs2?=
 =?utf-8?B?bGNCK0pkbDhFL2p1d1QvaGErcStSU2JHa0FoTy82L3pGYzVMdnFyaWwrRVA1?=
 =?utf-8?B?R1ljZWhCN0VrdzBpd3V4RE16dmI0dmhmMWwvUU1YZ3d2c1QxODN6eTJ5WmJp?=
 =?utf-8?B?K1BzcTlaTzVEMEpCMFRLTlE1aC9QS1d2R28yek5xS245KzRhT2thbEFQVHFY?=
 =?utf-8?B?QWtKTktCSTcrOVNCbVlBR3BIT21xRWhMWTB6eXVpZXByMkozYjFIMnBQN1VW?=
 =?utf-8?B?WU5CYXlzaWd5eWVqZ2pSSXRNdG9JQ2JhWk5JNWxJbmdKRWlNYmFIaXZRZ2RP?=
 =?utf-8?B?dVo2UXVDY2NxSFNYQ0xJYkYrYkNJVjZ5Q0lGSUp3aVE2YUVPN1dtQ1JsUVh4?=
 =?utf-8?B?UzZhd2JtL2ZtMlAzakF6dk1NY2xRYWhsQXg4aE1Wd0xCUmRpam9rczJhVEZO?=
 =?utf-8?B?S012NGFNMjE3dW5tQllFRUVFeWdFUGRXVjRMRjRwRWttS3krUkpYNDNSTVNO?=
 =?utf-8?B?RmNxU25TYnB3Yko5czA0RzFLc0lTSG1WblBWWHFzeDhRbUJDZkVlNy9MVmVi?=
 =?utf-8?B?R3VFMGlsclhWY21kVnJhWWZjTit3VkhQV2FTU3cxbmRKNjhiRGovRGY1aDQ3?=
 =?utf-8?B?dHVsd1FJZkFOUGN3cVhCMFVYVXlabEFQS1VwT2xka1IzL2I4Tjd5YWNKWitF?=
 =?utf-8?B?UURvVHFaZjczblNWSVA1UHFINVI4bFQ2YnBGeU5yN29STlNyUlI4cnZMaHky?=
 =?utf-8?B?WmxabmozR1VHWDNBVXhmNWJkN2JuMzBaY3JUb1JIRlRWRVppNzVoeFdjcmM2?=
 =?utf-8?B?Q2N2TGcwdlFBb3JEQzFRUlJva3FNTHdNMXlLK2kyUVI3NG5aQ21BT203cytp?=
 =?utf-8?B?NzQ3VGc4RGFRTzJYWXdWaG0xRW5zV2FIMmRLaVh2cWRqTkx1YVpQNzZRekdN?=
 =?utf-8?B?RHdZSG92NnNQYVJTclpsOVN6WE80OE5DN25TSHJzZjU1emNxYUdzMFNYaEMz?=
 =?utf-8?B?K1JhR09PYlJmTWQ0T0RpWEJDbUUvRE42R3lKeS9GWmh5dFkvZFNVeFVuWkpC?=
 =?utf-8?B?ckdpSlZOOXZnYkxjL3ZKajZpT1dHVGxwbUFrcWJnL29QcGdoSGo0SkFzUXh3?=
 =?utf-8?B?cUY0dlZtMW13RVdWUHhGTG5FMGVvRUhzRVBwZ3I5TkJMdGVJV1lIMTZWYnlv?=
 =?utf-8?B?ZGRCcy9RbW8xSE1PSC93NFA3bDR3YlJBMFVlUzlHdXpmTzZEc1plOGlYZCtN?=
 =?utf-8?B?WGx3b05xMFRzMkE1OU5lcmxydllQOUNYaGxlWTRySkp6aHU0Zi9NR1lLY2ZT?=
 =?utf-8?B?dWZHOUY2VUY0b0FTay9Md1JtUGVaTmdPTXJMUzZuNzQ1N1JGbG5raHZMRUE2?=
 =?utf-8?B?b2xobFdIRk9vRGhVMzVjMWFLRytYb21uVm9PV2NpdUFXc2dRQWlwTncwbEhW?=
 =?utf-8?B?d0IrWVM4bytENXdTYTJBRTFyT0YzTGxFcWVJRG1ER0RNWDVRTFFzemhoRHp0?=
 =?utf-8?B?RHpMTVByYkw2dlBWUnAxUkhNZEhBc0w5aGw5bWtsekZkdnFobzJOMTFjUVFX?=
 =?utf-8?B?cmxJekRjMW5kMTQraVhSdEgweHFEMmJTd1NGWi9mWVhYYzJpMmFVLytiN0lX?=
 =?utf-8?B?djJud0F1ZE9EOENlWEQzUDA0RFZIRG9ramRKNW1NY2dOSXNpNGRsS0JnTlpj?=
 =?utf-8?B?RHloQnJNMnNVK0ExbkUrcVl3b3NYUWZxbTZWSVBLNkFqRXJhMk5VMi8rWjh3?=
 =?utf-8?B?RkFVZFBuTUZ2Mmd3aUtDdVdSd3NNMjhZV25sMlJXVTBzcGFBVWc5eDNPUDhq?=
 =?utf-8?B?NU5BdVpLTTIxL0NvTG1YT3FzZDZHeXRNOVFmdmNyL2VRczUxYlp1Szc0d1B1?=
 =?utf-8?B?Y0d2MkIrcUwyaEZWK3U0eldHVEl6YS9Wbml1c1pPdlFFcktYRldRUDJsb05C?=
 =?utf-8?B?WjNxdy9zSGRHc1lxWkVSaWQrWC9UQ29paUViUG5MV1FsZ3BpTjRIR2k0b2No?=
 =?utf-8?B?VkdmUXIwR2hjL1Z0RkNESFMrMndRbzVxdjZhQitIWkpqYlNRRjYraGFHUXcr?=
 =?utf-8?Q?HcqZsymcYqNC3dvhDqY7OZANN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14ccf690-428b-4e31-aa92-08da86913362
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 11:59:01.8393
 (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: pEB7r9IoTbm9jjMhgTGqSUrd/gi8QRX5XwJL331qlFBpxSmE7I4b7VAa40Bwxfq67EobPomMjVqCMlTQY2oRxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB3370

On 25.08.2022 13:40, Juergen Gross wrote:
> --- a/drivers/xen/privcmd.c
> +++ b/drivers/xen/privcmd.c
> @@ -581,7 +581,7 @@ static int lock_pages(
>  	struct privcmd_dm_op_buf kbufs[], unsigned int num,
>  	struct page *pages[], unsigned int nr_pages, unsigned int *pinned)
>  {
> -	unsigned int i;
> +	unsigned int i, off = 0;
>  
>  	for (i = 0; i < num; i++) {
>  		unsigned int requested;
> @@ -589,19 +589,23 @@ static int lock_pages(
>  
>  		requested = DIV_ROUND_UP(
>  			offset_in_page(kbufs[i].uptr) + kbufs[i].size,
> -			PAGE_SIZE);
> +			PAGE_SIZE) - off;
>  		if (requested > nr_pages)
>  			return -ENOSPC;
>  
>  		page_count = pin_user_pages_fast(
> -			(unsigned long) kbufs[i].uptr,
> +			(unsigned long)kbufs[i].uptr + off * PAGE_SIZE,
>  			requested, FOLL_WRITE, pages);
> -		if (page_count < 0)
> -			return page_count;
> +		if (page_count <= 0)
> +			return page_count ? : -EFAULT;
>  
>  		*pinned += page_count;
>  		nr_pages -= page_count;
>  		pages += page_count;
> +
> +		off = requested - page_count;
> +		if (off)
> +			i--;
>  	}

Initially I thought this would go wrong only on the 3rd iteration, but
meanwhile I think it's wrong already on the 2nd. What I think you need
is

		if (page_count < requested)
			i--;
		off += page_count;

or with the i++ from the loop header absorbed here

		if (page_count == requested)
			i++;
		off += page_count;

Plus of course off needs resetting to zero whenever i advances. I.e.

		if (page_count == requested) {
			i++;
			off = 0;
		} else {
			off += page_count;
		}

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 11:59:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 11:59:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393343.632229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBWc-0007Gt-CA; Thu, 25 Aug 2022 11:59:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393343.632229; Thu, 25 Aug 2022 11:59:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBWc-0007Gm-9F; Thu, 25 Aug 2022 11:59:54 +0000
Received: by outflank-mailman (input) for mailman id 393343;
 Thu, 25 Aug 2022 11:59:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Rn/X=Y5=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1oRBWb-00077o-6i
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 11:59:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c47d217-246d-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 13:59:52 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0239761B0E;
 Thu, 25 Aug 2022 11:59:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F096DC433C1;
 Thu, 25 Aug 2022 11:59:48 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c47d217-246d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1661428789;
	bh=Un8QnMW2xwfYHDUa3vuOblHRI1W6EfXD97D4I8mMKG0=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=RbHjAyygp05xLVbWlk4Zv9bxHJVeH0d7atxdq/XfODGtCl8HFJ4WGGTCEHk+KRL05
	 qqVWWx6nObT5+C88q65frzELhv0R/0/Bhx63UWuFWqMNusIekMm2WYasFvuEHeEWdE
	 /JtIP+P1pHdSm0eCawcVkBNFsZjiKUVdW+ulygK4=
Date: Thu, 25 Aug 2022 13:59:46 +0200
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Juergen Gross <jgross@suse.com>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Backport request
Message-ID: <YwdkMkAPC4tzsoT2@kroah.com>
References: <f02f8fb3-2e68-a405-aaef-adc769754bd3@suse.com>
 <YwYVIgnHnKUnoChu@kroah.com>
 <1199e064-3311-09cd-283f-d74d5f5c48e3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1199e064-3311-09cd-283f-d74d5f5c48e3@suse.com>

On Wed, Aug 24, 2022 at 03:52:27PM +0200, Juergen Gross wrote:
> On 24.08.22 14:10, Greg Kroah-Hartman wrote:
> > On Wed, Aug 24, 2022 at 01:20:22PM +0200, Juergen Gross wrote:
> > > Hi Greg,
> > > 
> > > stable kernels 5.18 and 5.15 seem to be missing upstream patch
> > > c64cc2802a78 ("x86/entry: Move CLD to the start of the idtentry macro").
> > > This is a prerequisite patch for 64cbd0acb582 ("x86/entry: Don't call
> > > error_entry() for XENPV"), which is included in 5.15.y and 5.18.y.
> > > 
> > > Could you please take c64cc2802a78 for 5.15 and 5.18?
> > 
> > 5.18 is end-of-life, so that's impossible to do now :(
> > 
> > For 5.15.y, the commit does not apply cleanly, can you provide a working
> > backport?
> 
> Attached.

Thanks, now queued up.

greg k-h


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:01:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:01:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393359.632264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBXs-0000Zo-8X; Thu, 25 Aug 2022 12:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393359.632264; Thu, 25 Aug 2022 12:01:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBXs-0000Zh-4R; Thu, 25 Aug 2022 12:01:12 +0000
Received: by outflank-mailman (input) for mailman id 393359;
 Thu, 25 Aug 2022 12:01:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRBXp-0000ZI-Vn; Thu, 25 Aug 2022 12:01:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRBXp-0005Gc-TP; Thu, 25 Aug 2022 12:01:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRBXp-0000iv-G1; Thu, 25 Aug 2022 12:01:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRBXp-0000MZ-FY; Thu, 25 Aug 2022 12:01:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lMYznA/XnvDZ8Er+22Kt11gpRlrHAkgMUZcXKLHb9hc=; b=TMD/x4a9UpuYG1LqcnkHf0M6Rw
	DPejz9WBpoq+Bg5ztOa/m21/xZj9Nt1XXbCiEqY8YpREd4Uy3Ob2Y0EmCkXr6GQIyMqb0WslmqdGb
	0kp26/HUkEwrdN4kuq7yfd2+ietHOmpdcSCR8yWu+QKHfjtLQ9xYq/jAtWYsOOwJnqMY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172762-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172762: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c3bd0b83ea5b7c0da6542687436042eeea1e7909
X-Osstest-Versions-That:
    xen=fc151829bac48f05a307bfd5ad450b3c0ae2a808
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 12:01:09 +0000

flight 172762 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172762/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172754

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172754
 build-i386-libvirt            6 libvirt-build                fail  like 172754
 build-arm64-libvirt           6 libvirt-build                fail  like 172754
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172754
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172754
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172754
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172754
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172754
 build-armhf-libvirt           6 libvirt-build                fail  like 172754
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172754
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172754
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172754
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172754
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c3bd0b83ea5b7c0da6542687436042eeea1e7909
baseline version:
 xen                  fc151829bac48f05a307bfd5ad450b3c0ae2a808

Last test of basis   172754  2022-08-24 13:55:12 Z    0 days
Testing same since   172762  2022-08-25 00:39:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Penny Zheng <penny.zheng@arm.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fc151829ba..c3bd0b83ea  c3bd0b83ea5b7c0da6542687436042eeea1e7909 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:11:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393368.632275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBhJ-00025r-6d; Thu, 25 Aug 2022 12:10:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393368.632275; Thu, 25 Aug 2022 12:10:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBhJ-00025k-38; Thu, 25 Aug 2022 12:10:57 +0000
Received: by outflank-mailman (input) for mailman id 393368;
 Thu, 25 Aug 2022 12:10:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRBhI-00025e-6S
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 12:10:56 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4161d38-246e-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 14:10:49 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6044B3480C;
 Thu, 25 Aug 2022 12:10:53 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2619213A8E;
 Thu, 25 Aug 2022 12:10:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0L3jB81mB2MWDgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 12:10:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4161d38-246e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661429453; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=gjck09GQI4/RaYuhjuwwBeaI4hqXSu+XeL5m6dAYpFc=;
	b=WpUb363DxrBIRbbQT601taWKmO/0CR8uuaQFr1SARlGEvo2QFZQIulAYIvUrN1NDnUcIWh
	a1HTGjqIRhDvu9ek3OYG1wPqY4JC2S62uSDGxyz2ziYDVuPsdKlfY3XRIbp1JXoNcpxogD
	ZDqSzubKMdkSDBt4rD/lAm1GXzJdnVc=
Message-ID: <6aa83215-49fe-56c7-1a77-0a63a663c99f@suse.com>
Date: Thu, 25 Aug 2022 14:10:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v3] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220825114004.24843-1-jgross@suse.com>
 <744be7c4-8e00-7876-5819-a1d07d3d423f@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <744be7c4-8e00-7876-5819-a1d07d3d423f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------iSKAdZWHzUA9FdVfw77QHvqS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------iSKAdZWHzUA9FdVfw77QHvqS
Content-Type: multipart/mixed; boundary="------------ovfRKwRSMlhgiL0jip1tzA2l";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <6aa83215-49fe-56c7-1a77-0a63a663c99f@suse.com>
Subject: Re: [PATCH v3] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
References: <20220825114004.24843-1-jgross@suse.com>
 <744be7c4-8e00-7876-5819-a1d07d3d423f@suse.com>
In-Reply-To: <744be7c4-8e00-7876-5819-a1d07d3d423f@suse.com>

--------------ovfRKwRSMlhgiL0jip1tzA2l
Content-Type: multipart/mixed; boundary="------------8f0RsFBjRSls6W1rX9O9Ak31"

--------------8f0RsFBjRSls6W1rX9O9Ak31
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDguMjIgMTM6NTgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNS4wOC4yMDIy
IDEzOjQwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvZHJpdmVycy94ZW4vcHJp
dmNtZC5jDQo+PiArKysgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+IEBAIC01ODEsNyAr
NTgxLDcgQEAgc3RhdGljIGludCBsb2NrX3BhZ2VzKA0KPj4gICAJc3RydWN0IHByaXZjbWRf
ZG1fb3BfYnVmIGtidWZzW10sIHVuc2lnbmVkIGludCBudW0sDQo+PiAgIAlzdHJ1Y3QgcGFn
ZSAqcGFnZXNbXSwgdW5zaWduZWQgaW50IG5yX3BhZ2VzLCB1bnNpZ25lZCBpbnQgKnBpbm5l
ZCkNCj4+ICAgew0KPj4gLQl1bnNpZ25lZCBpbnQgaTsNCj4+ICsJdW5zaWduZWQgaW50IGks
IG9mZiA9IDA7DQo+PiAgIA0KPj4gICAJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7DQo+
PiAgIAkJdW5zaWduZWQgaW50IHJlcXVlc3RlZDsNCj4+IEBAIC01ODksMTkgKzU4OSwyMyBA
QCBzdGF0aWMgaW50IGxvY2tfcGFnZXMoDQo+PiAgIA0KPj4gICAJCXJlcXVlc3RlZCA9IERJ
Vl9ST1VORF9VUCgNCj4+ICAgCQkJb2Zmc2V0X2luX3BhZ2Uoa2J1ZnNbaV0udXB0cikgKyBr
YnVmc1tpXS5zaXplLA0KPj4gLQkJCVBBR0VfU0laRSk7DQo+PiArCQkJUEFHRV9TSVpFKSAt
IG9mZjsNCj4+ICAgCQlpZiAocmVxdWVzdGVkID4gbnJfcGFnZXMpDQo+PiAgIAkJCXJldHVy
biAtRU5PU1BDOw0KPj4gICANCj4+ICAgCQlwYWdlX2NvdW50ID0gcGluX3VzZXJfcGFnZXNf
ZmFzdCgNCj4+IC0JCQkodW5zaWduZWQgbG9uZykga2J1ZnNbaV0udXB0ciwNCj4+ICsJCQko
dW5zaWduZWQgbG9uZylrYnVmc1tpXS51cHRyICsgb2ZmICogUEFHRV9TSVpFLA0KPj4gICAJ
CQlyZXF1ZXN0ZWQsIEZPTExfV1JJVEUsIHBhZ2VzKTsNCj4+IC0JCWlmIChwYWdlX2NvdW50
IDwgMCkNCj4+IC0JCQlyZXR1cm4gcGFnZV9jb3VudDsNCj4+ICsJCWlmIChwYWdlX2NvdW50
IDw9IDApDQo+PiArCQkJcmV0dXJuIHBhZ2VfY291bnQgPyA6IC1FRkFVTFQ7DQo+PiAgIA0K
Pj4gICAJCSpwaW5uZWQgKz0gcGFnZV9jb3VudDsNCj4+ICAgCQlucl9wYWdlcyAtPSBwYWdl
X2NvdW50Ow0KPj4gICAJCXBhZ2VzICs9IHBhZ2VfY291bnQ7DQo+PiArDQo+PiArCQlvZmYg
PSByZXF1ZXN0ZWQgLSBwYWdlX2NvdW50Ow0KPj4gKwkJaWYgKG9mZikNCj4+ICsJCQlpLS07
DQo+PiAgIAl9DQo+IA0KPiBJbml0aWFsbHkgSSB0aG91Z2h0IHRoaXMgd291bGQgZ28gd3Jv
bmcgb25seSBvbiB0aGUgM3JkIGl0ZXJhdGlvbiwgYnV0DQo+IG1lYW53aGlsZSBJIHRoaW5r
IGl0J3Mgd3JvbmcgYWxyZWFkeSBvbiB0aGUgMm5kLiBXaGF0IEkgdGhpbmsgeW91IG5lZWQN
Cj4gaXMNCj4gDQo+IAkJaWYgKHBhZ2VfY291bnQgPCByZXF1ZXN0ZWQpDQo+IAkJCWktLTsN
Cj4gCQlvZmYgKz0gcGFnZV9jb3VudDsNCj4gDQo+IG9yIHdpdGggdGhlIGkrKyBmcm9tIHRo
ZSBsb29wIGhlYWRlciBhYnNvcmJlZCBoZXJlDQo+IA0KPiAJCWlmIChwYWdlX2NvdW50ID09
IHJlcXVlc3RlZCkNCj4gCQkJaSsrOw0KPiAJCW9mZiArPSBwYWdlX2NvdW50Ow0KPiANCj4g
UGx1cyBvZiBjb3Vyc2Ugb2ZmIG5lZWRzIHJlc2V0dGluZyB0byB6ZXJvIHdoZW5ldmVyIGkg
YWR2YW5jZXMuIEkuZS4NCj4gDQo+IAkJaWYgKHBhZ2VfY291bnQgPT0gcmVxdWVzdGVkKSB7
DQo+IAkJCWkrKzsNCj4gCQkJb2ZmID0gMDsNCj4gCQl9IGVsc2Ugew0KPiAJCQlvZmYgKz0g
cGFnZV9jb3VudDsNCj4gCQl9DQoNClllYWgsIG9yOg0KDQoJCW9mZiA9IChwYWdlX2NvdW50
ID09IHJlcXVlc3RlZCkgPyAwIDogb2ZmICsgcGFnZV9jb3VudDsNCgkJaSArPSAhb2ZmOw0K
DQoNCkp1ZXJnZW4NCg==
--------------8f0RsFBjRSls6W1rX9O9Ak31
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------8f0RsFBjRSls6W1rX9O9Ak31--

--------------ovfRKwRSMlhgiL0jip1tzA2l--

--------------iSKAdZWHzUA9FdVfw77QHvqS
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHZswFAwAAAAAACgkQsN6d1ii/Ey+K
Jwf+K7DBL4ZFeDZlNrJb+wJtI7ThM4gfEYFahdARD65OSY4stNqUn+zsmOFbypGBoy+4F1BL81mv
rvGlZSBKPrOLil9IBD2Bdf7a1XWQ5yKn/D9X0qjdrC8L7pT6eY+mQeotJ6vz8XiER0QGP7aIrerP
aZlUEi9EvLlVt688oHQtBGQ+XH6tgj9UVyO3NY+GpupZrM0DJ3gGKYmaWEEk77xQ4x2shuV5c/j2
23msZUJXr6w52hTXtRMUzBUKEir5oz7/H5yIsx/SLWOrSRuEKDb9YRusoCyqQUUbdLMRvEHslcz4
brUPmfRMe/JGtCD0lOGdMhbEfJgDTSIuhzAad2OYsQ==
=Wmmb
-----END PGP SIGNATURE-----

--------------iSKAdZWHzUA9FdVfw77QHvqS--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:13:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:13:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393373.632286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBjO-0002mT-Lk; Thu, 25 Aug 2022 12:13:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393373.632286; Thu, 25 Aug 2022 12:13:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBjO-0002mM-IR; Thu, 25 Aug 2022 12:13:06 +0000
Received: by outflank-mailman (input) for mailman id 393373;
 Thu, 25 Aug 2022 12:13:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRBjN-0002mG-S9
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 12:13:05 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 458f2d37-246f-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 14:13:04 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4EFF21FDF5;
 Thu, 25 Aug 2022 12:13:04 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EA28A13A8E;
 Thu, 25 Aug 2022 12:13:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wobRNk9nB2PyDgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 12:13:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 458f2d37-246f-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661429584; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=JdJxAPoA2WJkOjRSESc7wPCa+hS4lUCOlOuMq9PfJn4=;
	b=rUTt9cOAcD8YLMR46rQRGFYzWzHk6PcLKJPbFL6ID/tcwuSOSb/TmVWzhOIep1BGxdqKvO
	RMk/rl99LYAtTXiE9tiUpWe8qzvn727HAjW7GjSg52ci5bp5a9mNee+Nl3DbIz0Z1EyoQw
	8+QcfsdS4u4e/iVH2IADgtyRKJK1Ckg=
Message-ID: <6b830ad8-1406-b740-27ba-f1161df99b0f@suse.com>
Date: Thu, 25 Aug 2022 14:13:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
Content-Language: en-US
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-3-jgross@suse.com> <YwdPb4pWqppgzIpm@zn.tnic>
 <aff049cb-ebdd-68ad-5597-d22f87026297@suse.com> <YwdgGFJWTV1YF3n2@zn.tnic>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <YwdgGFJWTV1YF3n2@zn.tnic>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------w8yUqS6oV0V6m9JR6coCENwL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------w8yUqS6oV0V6m9JR6coCENwL
Content-Type: multipart/mixed; boundary="------------601I3US8zQXjktOjXHqfW5oJ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>
Cc: xen-devel@lists.xenproject.org, x86@kernel.org,
 linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <6b830ad8-1406-b740-27ba-f1161df99b0f@suse.com>
Subject: Re: [PATCH v2 02/10] x86/mtrr: remove unused cyrix_set_all() function
References: <20220820092533.29420-1-jgross@suse.com>
 <20220820092533.29420-3-jgross@suse.com> <YwdPb4pWqppgzIpm@zn.tnic>
 <aff049cb-ebdd-68ad-5597-d22f87026297@suse.com> <YwdgGFJWTV1YF3n2@zn.tnic>
In-Reply-To: <YwdgGFJWTV1YF3n2@zn.tnic>

--------------601I3US8zQXjktOjXHqfW5oJ
Content-Type: multipart/mixed; boundary="------------8Abn2UA0vYr3cGM5R7ZnpIVF"

--------------8Abn2UA0vYr3cGM5R7ZnpIVF
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDguMjIgMTM6NDIsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToNCj4gT24gVGh1LCBB
dWcgMjUsIDIwMjIgYXQgMTI6NDE6MDVQTSArMDIwMCwgSnVlcmdlbiBHcm9zcyB3cm90ZToN
Cj4+IE1heWJlIHRoZSBhbHRlcm5hdGl2ZSByZWFzb25pbmcgaXMgbXVjaCBmYXN0ZXIgdG8g
dW5kZXJzdGFuZDogaWYgdGhlDQo+PiBDeXJpeCBzZXRfYWxsKCkgY291bGQgYmUgY2FsbGVk
LCB0aGUgQU1EIGFuZCBDZW50YXVyIG9uZXMgd291bGQgYmUgY2FsbGFibGUsDQo+PiB0b28u
DQo+IA0KPiBSaWdodC4NCj4gDQo+PiBUaG9zZSBiZWluZyBjYWxsZWQgd291bGQgcmVzdWx0
IGluIGEgTlVMTCBkZXJlZiwgc28gd2h5IHNob3VsZCB3ZSBrZWVwDQo+PiB0aGUgQ3lyaXgg
b25lPw0KPiANCj4gSSBrbm93IHlvdSdyZSBlYWdlciB0byByZW1vdmUgZGVhZCBjb2RlIC0g
SSdkIGxvdmUgdGhhdCB0b28uIEJ1dCBiZWZvcmUNCj4gd2UgZG8gdGhhdCwgd2UgbmVlZCB0
byBmaW5kIG91dCB3aGV0aGVyIHNvbWUgQ3lyaXggaHcgb3V0IHRoZXJlIHdvdWxkDQo+IG5v
dCBuZWVkIHRoaXMuDQoNCkJhY2sgdG8gcmVhc29uaW5nICMxLiBPbmx5IHRoZSB1c2VfaW50
ZWwoKSBjYXNlIGNhbGxzIHRoZSBjb2RlIGluIHF1ZXN0aW9uDQp3aXRoIHJlZyA9PSB+MC4g
QW5kIHVzZV9pbnRlbCgpIGlzIGNsZWFybHkgbm90IEN5cml4Lg0KDQoNCkp1ZXJnZW4NCg==

--------------8Abn2UA0vYr3cGM5R7ZnpIVF
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------8Abn2UA0vYr3cGM5R7ZnpIVF--

--------------601I3US8zQXjktOjXHqfW5oJ--

--------------w8yUqS6oV0V6m9JR6coCENwL
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMHZ08FAwAAAAAACgkQsN6d1ii/Ey8h
oQf+NdIM3QfdjUwtclr315py/S0njAMRYAei4Faif5dIXVBhpTTF920lnZrhWewTBtXW82mbQY6q
OljsoBGY9jyMIxRBZERqqeX1sWC36MxmMyAE7cXnKzGXZC16x17JMiSZMgPX6Thf6XpcAYT38OuZ
Cormn1SpaYzYQIzeU55M8G3L8hhN8TW0tJGYJTPbVKWN7oIHhZdPtA3D9/JVZ0HSzNO7PXz3zAzr
jBStRutX5nYhXhPBKYRThust4AFH/ka+bhC9ZuOtQFseT8Tz6sXxJuMOcYw2tNlnrBOCCYm8xLxm
Bc+952fe+jOppzdOVmgtbOe38H+rnslT1x8yr3Fvgw==
=/0ma
-----END PGP SIGNATURE-----

--------------w8yUqS6oV0V6m9JR6coCENwL--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:14:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:14:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393381.632297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBkj-0003N1-0q; Thu, 25 Aug 2022 12:14:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393381.632297; Thu, 25 Aug 2022 12:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBki-0003Mu-Td; Thu, 25 Aug 2022 12:14:28 +0000
Received: by outflank-mailman (input) for mailman id 393381;
 Thu, 25 Aug 2022 12:14:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRBkh-0003Mh-O1
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 12:14:27 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80077.outbound.protection.outlook.com [40.107.8.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72ea209e-246f-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 14:14:21 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB7PR04MB4761.eurprd04.prod.outlook.com (2603:10a6:10:23::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 12:14:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 12:14:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72ea209e-246f-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mXKAH+1ExCvZIFRpLbJP7QWQaUTHrd1X7N9Eor36bskhyEvlaJb6v92Nd9TwRexK8OsUWiIWPkj7W2aYHVXGyd9hhHHt+XRHYhDqRK4+F2ttFdqD5aAOnCxb547ITXyTBBSN6xUdymAJaz5yNNcDhGMVkprcHg0FNu0eEtm24n2uy0PKhY3lucfseFftaoTdb8sxetjoq4JnTvRlJ9yZ84xCVUVVYOB545DArPr39GDqRjcprYB2TbswB/dvPBS8J0FnE8Zvcb7UQys0Gftg2DiFh5JfeEwv1EHl0YgjTMINQWpC4UyvZhcRiLZGV54GIHE4ECjcXLJK6I24TARmJw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4AmoUbQ6pH/b51sOzjlF0OcJwOkkHcGX4j2xUzL2BQI=;
 b=FvOqMBvrb91W/v1c7zC8txe98Ud9WqT9bp5PjDqJNzAB7F0RhyX8sg7oXaWS07dP9sgG0yO+SF7ZH4tS+w3Lnu4qGmujOwBFpf7mk6siNDArAH1mylNB79vC+ehDh5+ZyRbsSERpBBunAHzb6iy2dH56sYIJUaK0/LbpniFOrGlUiI3b8v3QrWlsybKrjNAmvgi6Oxn4Ozj7baVzyb8JilsJHfc5bj9Q+8d0+CnnQxcEINGHkOgDVDHh1BNDztujqE+K9rWLbwF4I5kxQAbBK6dGj5LdIexgfo8cz9Fc7mBoLha4VXEOlYsTXY1EZz8BT5Vd4l1lAji6rpLZqrAGfA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4AmoUbQ6pH/b51sOzjlF0OcJwOkkHcGX4j2xUzL2BQI=;
 b=f8KZvOtuH+5mffhFBCm3QAYzrUPNInn5ugJn/zJ/CRbO1LE01xRjbc9BtATFg7O2BjmWyo9i+EiqLAc6F5gbLCDxZCg0EpjuLp4Q5WNz7M+jpkJWegzd20KL1Cf5Ye0encwAvr2mzgRpTrsU/Vuu6lUY2/wsS2d1X1HBPVB7OpNFiUQzMt6dHscTSaRr+I3nhX5Pr2DXvWQL/nhuMrwiWqgG5OJWNpu6CYyOpR0s1Kya6d/i/irUYgj69EEX3QtJXT8rThYq2N9L1AEU7ARqIh+GX/iqkLEMRjGcssKOk5dUkz6dIJwfLA+yQj04x82B2Cohz3zrt3jSRTi0Iy435Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <392cae07-d8da-8ecf-4356-cd5c6f983629@suse.com>
Date: Thu, 25 Aug 2022 14:14:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v3 4/6] xen/x86: use arch_get_ram_range to get information
 from E820 map
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: nd@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-5-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220822025810.2240707-5-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0d1b1df9-6b01-4e31-1eba-08da86935966
X-MS-TrafficTypeDiagnostic: DB7PR04MB4761:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YZD5Zki7JPEevc5HNj2fDtYVnEXTNOMobIOvpZA3DLMtN6BAoLu8g47nGwa41ZgF0P0eqcoalEQ3Seeyt7Odk1e0wYyvxXiH7IDXDDsc/5uYBWKGacmS7kPVqGDmSH+uRtls/Xg84El3uRker69wWXo+fGMWfTlAIidx++fWtzpdNvmVMRn8EKJKFhplnqNTMVihOC7Fr5b1CZweaGf5YxdIYArTpMTThYGtJ3vGsjg9aOlp3pC2v1EbZOadXd5gFOVgC5cXZD+Fia7xp1O+LqN4t4Q4NMCS1ix5B3HtQj1Wp8WlAGv6o+3s+rBsus5SugEngVe+9lob6ZMFl163y8ARhbVy+HuSmj1peK3P0ILnG5ewSEiGJ7xkATjnRMBlzNfx21KqhC9lMmZva2yMWUrwWeILR82rTd0WTdrDgDdlKgry+thKtaxlP/twvQouyPvjeWdfiNdIfUvC/q+ysH4fMoGg5wbN3D3a8M+hgkG44XHt8DrF2diKWHEcmHs6E8Lq0HFfxg0orf7zpt745ogzKPbDwxoLLG39hnPxpgdeD8qr+APK5sYqko9Ofh3vQkoR4qD/tNeSQz25Y+QtZcERmwmKYROfxfEr7qiT9eS1T8/VaHDA9S0fZcXAL5cU6k8gNeJ+sinkViO/q2OWVzCnB24NJAxFkzAeIRX+w/ZLDcAz8akZCwWIZqlhUJxoegOuK1cbj2siqyhC1drOakPG9PlDhuJ7lTeF5YHgLgRlpxj9GNSNGJeWwwgbx4T73KTKSwkEV0E+GlcrIlcq0QiOXtQxKH3o6JnOLo2UtJ8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(136003)(366004)(346002)(396003)(54906003)(8936002)(41300700001)(6916009)(36756003)(5660300002)(6486002)(31686004)(4326008)(478600001)(316002)(66946007)(66476007)(66556008)(8676002)(2616005)(6506007)(26005)(6512007)(53546011)(2906002)(86362001)(38100700002)(186003)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bk1wamhLNzZ5cW96MkEwS0JFSXUxRm9lTk41c0JGTHA5N3V3eG4wT1ovVm9I?=
 =?utf-8?B?emJzZnk0ZVJoU1pxR3hTKytqNkkwSitRck5nTUxlaUEzbjdjd1FDakNUZStO?=
 =?utf-8?B?M00rL2xaYm8rYjdiU2w4b2dzT3BNcGZxQllKRUhrU1VsU2ZHZDlHOS9mL3RL?=
 =?utf-8?B?UnBYV1hKbkRHL3kwTDdaZzBLUE1McXRPQVFreVVHMGhvb1ZFeWMvQVRpOGpN?=
 =?utf-8?B?ZERsWm1ERENNR0VleTI2THlFNHJUSmFPM0VHM1lDamlqZlVLdmE1c3BERzNZ?=
 =?utf-8?B?K2NyN1QyeHlYTDArd2JtditOUEFhaGpxU0J6azF6bjRWS3Y0bXhNU282Q3pX?=
 =?utf-8?B?Qkx5Rk91TWZObnAwM1I2N0Q2WGhZRy9wQWF5amVKcmMzUExnR25HVmozd3F1?=
 =?utf-8?B?OC83VnNaYzlvWkRvR1JoK3dZbWh3Tk1OVGFGa3dnREZVc3dvMGtyaFRmekx0?=
 =?utf-8?B?c2g2b0QrMG42cmN1d29SRlNYcjRBS3VnREk5R2VvcVp4WkJMNXhzT004SEhV?=
 =?utf-8?B?bG1pb0J1RThGa3NRSGs3b1RNbThZN1BmbUQxdGVheXZoQzVUUmMyKzF3R2s3?=
 =?utf-8?B?dlM1cFUxTzljZUtUMnQ0ODJ1T094T0pwRlRwMWNPUktuN0NsOEJXd2FxQVYz?=
 =?utf-8?B?K3NUeThwTlZsZVlldk56SlpOdElxMzBaTjZ0UUwxZ0w2czhEVloraXNVMXZx?=
 =?utf-8?B?ZXJOMnpMTGNJVWJualBVVVVPVEkvbkhEY0cvdFJ3ZkhXbG80Znd0SmsxQnVM?=
 =?utf-8?B?UVNhTEY5djBEOGdCbE9EeUcvOWZ4VythamlQZlJvWUVZR2RtUzNkSmNvYWNk?=
 =?utf-8?B?WmUvT21jd21keFk0cTFnMGhpQ1puNjNadnZSeExDSTZkTkxwaFBUZU5zS3ps?=
 =?utf-8?B?VGR5K0JwMEN2U1VoUjFMWlRoQnRreHlqTXBGaUJoUHF0WjFSemZJeCsxMWJY?=
 =?utf-8?B?c0wxY29GeGpFWFNwVzJaamdQT2IxSjNjSU1Cd3lVbmxUb2d1bWZFRE9jbW1p?=
 =?utf-8?B?RUttaGVIdHp3dlFPa01rdUpnNDJ1Q0pNZmZKRGtQTkVMZGpkYitOR1hnb25j?=
 =?utf-8?B?dnM0ZDMxOWZYT0Fmb0pEdW1aRmI5NlZWaUdYa2V1WTNHSHEyN0dkdUpGWWg5?=
 =?utf-8?B?NHE4MDBOTzhQU1Q0Rzk1N0ZRUG16Q0ZmcGd3V0Q4MTlPL1NkeGdVdWFHcUY2?=
 =?utf-8?B?Wnc3aXhVb2pBSGVCUE92aXNVaVY0cE1ZRG53QnhqZGlwN1hQUlBjY3NUSlpa?=
 =?utf-8?B?VkJhbkJrYXNERzAxT204bml1aHlBWitnMUtyUkc2VllGVWxpU0hac3Zmd3h1?=
 =?utf-8?B?U0VIeTZpRVRXZGU5ZjgzUUNjUWI5SzczSWNaTkliaTBLRWVOTnJUb2VkcElq?=
 =?utf-8?B?cTVMWVAwR0grZytlV1FOazk3Zk80WkV5R1JCbmVEWGNVRVRYUzVDMkRrNmJu?=
 =?utf-8?B?ZTFDSkZUVE94TDl4WnRaaU9CNGpDakFna3Q3K1lnRFY2WkVJbGUvaUVnd1R2?=
 =?utf-8?B?dk80anEyc3dOUG9mOU5Oc1B0d3hLQlJYblh0ckJOY3MxbzY0SEt5TEdDckZN?=
 =?utf-8?B?c2RJS2FXTnlDb1krNkdSU205ZElrS2dmZUJLV2JtOEZYcEdtY0hxOGE1Z1dZ?=
 =?utf-8?B?dHFwRmxCQzFTeFVLWXhXSEtRS1dOZ0t5dDBoVXNlUVJYNjkxenduRURTTSsx?=
 =?utf-8?B?eUE2d2V1RkRqQnkzdjd1TGJNYUY2TDJkZHlvU3ZQU05UQUlKT3pyMEZIMTRm?=
 =?utf-8?B?N2hPVHZXRlRxVk9oZzJRZ2tZSFA0VmdLU25MMGRrMnlDN0QxY2xrdlMyemhP?=
 =?utf-8?B?NGpLMytHQ0dLaTNXYzY4YTN3WC9QNXhjeHI0Q0tyS2h3b2xmZUwzNVBKK1hB?=
 =?utf-8?B?ODhCbjJ6cjdONUVqenNqUUlLenZOUnEwd3o2Kzk3MGdJckRvbXZubDBQRTRI?=
 =?utf-8?B?U0FCRXc4ajNsMm8yT1ZsR24rbjVGemRDemY3ZEhDNDBmWm1QaWZvRDBqa3Fi?=
 =?utf-8?B?aUJCSlkxWUhLcUJhUmllV3RMUzlCOFZuVmpJU1JDdU8xZTFUeXFDSENPVkll?=
 =?utf-8?B?NEphbVQxRmVvVHBYM3cwZFplNWU3NDB0UTg4aVVvSldZeE1NbE9uTDBrbE5K?=
 =?utf-8?Q?cA2uudc4D917TM3Rot8VyC79E?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d1b1df9-6b01-4e31-1eba-08da86935966
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 12:14:24.5619
 (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: q6jyOfeFQ+cCgGMZ8VRrLf+1JOtnddZGeu3rWWyaZ7bgqvOaJ8V8/seeqwx4RBAZ2xWRRtPXEF0TyLI9RKY8Sw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4761

On 22.08.2022 04:58, Wei Chen wrote:
> @@ -96,3 +97,27 @@ unsigned int __init arch_get_dma_bitsize(void)
>                   flsl(node_start_pfn(node) + node_spanned_pages(node) / 4 - 1)
>                   + PAGE_SHIFT, 32);
>  }
> +
> +/*
> + * This function provides the ability for caller to get one RAM entry
> + * from architectural memory map by index.
> + *
> + * This function will return zero if it can return a proper RAM entry.
> + * otherwise it will return -ENOENT for out of scope index, or return
> + * -EINVAL for non-RAM type memory entry.
> + *
> + * Note: the range is exclusive at the end, e.g. [start, end).
> + */
> +int __init arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)

Since the comment is intended to apply to all architectures providing,
I think it should go with the declaration (once) rather than the
definition (at least one instance per arch).

> +{
> +    if ( idx >= e820.nr_map )
> +        return -ENOENT;
> +
> +    if ( e820.map[idx].type != E820_RAM )
> +        return -EINVAL;

EINVAL is so heavily (over)loaded that I'm inclined to ask to use e.g.
-ENODATA here.

> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -428,18 +428,22 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
>     Make sure the PXMs cover all memory. */
>  static int __init nodes_cover_memory(void)
>  {
> -	int i;
> +	unsigned int i;
>  
> -	for (i = 0; i < e820.nr_map; i++) {
> +	for (i = 0; ; i++) {
>  		int j, found;
>  		paddr_t start, end;
>  
> -		if (e820.map[i].type != E820_RAM) {
> +		/* Try to loop memory map from index 0 to end to get RAM ranges. */
> +		found = arch_get_ram_range(i, &start, &end);
> +
> +		/* Index relate entry is not RAM, skip it. */
> +		if (found == -EINVAL)
>  			continue;
> -		}
>  
> -		start = e820.map[i].addr;
> -		end = e820.map[i].addr + e820.map[i].size;
> +		/* Reach the end of arch's memory map */
> +		if (found == -ENOENT)
> +			break;

What if an arch returns a 3rd error indicator? The way you've written
it code below would assume success and use uninitialized data. I'd
like to suggest to only special-case -ENOENT and treat all other
errors the same. But of course the variable (re)used doesn't really
fit that:

		/* Reach the end of arch's memory map */
		if (found == -ENOENT)
			break;

		/* Index relate entry is not RAM, skip it. */
		if (found)
			continue;

because here really you mean "not found". Since in fact "found" would
want to be of "bool" type in the function, and "j" would want to be
"unsigned int" just like "i" is, I recommend introducing a new local
variable, e.g. "err".

Jan

>  		do {
>  			found = 0;


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:16:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:16:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393387.632308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBmZ-0003yP-D3; Thu, 25 Aug 2022 12:16:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393387.632308; Thu, 25 Aug 2022 12:16:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBmZ-0003yI-9o; Thu, 25 Aug 2022 12:16:23 +0000
Received: by outflank-mailman (input) for mailman id 393387;
 Thu, 25 Aug 2022 12:16:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRBmX-0003y4-Bw
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 12:16:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2076.outbound.protection.outlook.com [40.107.20.76])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b094a424-246f-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 14:16:04 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB4608.eurprd04.prod.outlook.com (2603:10a6:803:72::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 12:16:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 12:16:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b094a424-246f-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JxoLbjgY4+FKTcPca2QvY5N6LOAPJuPXGIu4PlkydHdZUEZ6YkYmVlKSDia3IlZS7104tH69sF4ZtRfPRsl1GGgbGrtej5FaAINArbkIRK/LBOqysZO+2hhpvdS4AfEkfu4d3xjbCKu4IvjdJgiiFihzkYDSvTn+VhAtrb3xegJCkyBCbZ4WDQQwg6xSfQ50uQcpr3Ce+ptKXAxMkK7Ii27AiVpfH3agqkEGI/RQTVF22K8FBHXa0cOfdf/x33Wkg/OzW2NzlMyCjC3b+BzEevCTlP0vyL7M4A07mAt+IHAIibk1XNY1rwJj1Wpvxp/bNJOE2zP9Z0sOfy0IJ92iww==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XXr/kIxs5MFrdfZ0vbIbMooer7uXNe3YgL3e1rWZLJo=;
 b=he9xbj4L1S8MjntZ7lNgPUjbHiy+a/tbJJEihxpy+XJni5oVgzaZYOPSneTSRnYsFLj0vUPbl1LXPGPWJPnZrgXAjiiPADko+/632S9qISeblxljTzaJ91b6xJ3eXr4xehDuW4l7A1A8gDjpy+scrEBivyO4kVwOtU60LCSQP6yjqZOhgUlg16Z2dTCJHrXrr7jcHN5uEXRWBQ3dOE+99tlzCcHnUuxBoOW+cXSV2C8K/KWoTDq62sXnFJhUlciCFmpRrgFcPvLL5BPG7NqKBBHpXlRjiOuZ4RsnSbRIRLAo0hed9HsG5gIRbmhyToCjEqxMWK66vMVcyretdri9GA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XXr/kIxs5MFrdfZ0vbIbMooer7uXNe3YgL3e1rWZLJo=;
 b=PUL9A3YWUdeG+AEvy73kEN5JgLtSpwfOUWdGa0HBSx00WphNDSjR6Sv6qHQD0g3u7MABP27Ij+CrOA1rHF8tebN3sbkpWrqTZxcW8GLmFd0udu9od3mSnwjaS9sGGpsF0I3twkW/WHeEJED49ykIquUwzUIzqVS2DPhoNtU+ggZviNI/+WU6XqUtaEvykCESiYaGmk/D+4dBm5KJxx5bDC5+I/xh27mHuakBtkMRA5NrtVRNIk81PS1r79AgXR+8nKotOVOWRgkYxCiNt/catjpvs/UbKjuFa/bMpeJ5aepJOeM9C/HMHhC52z6wJYoqhbUbNulNZKeUv0p3MF6YnQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ffb0d35-c1cc-69a9-b42b-e183756e0f03@suse.com>
Date: Thu, 25 Aug 2022 14:16:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v3] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220825114004.24843-1-jgross@suse.com>
 <744be7c4-8e00-7876-5819-a1d07d3d423f@suse.com>
 <6aa83215-49fe-56c7-1a77-0a63a663c99f@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6aa83215-49fe-56c7-1a77-0a63a663c99f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0014.eurprd04.prod.outlook.com
 (2603:10a6:20b:92::27) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 008a4a19-faf4-4006-c41b-08da86939b65
X-MS-TrafficTypeDiagnostic: VI1PR04MB4608:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	R6hZREYf93e8JKx8t3JwgEyN3YwGN/qgDpqHqgrA+9LHMcU3JRkrf6s7K/T5DTf7cpJ+s6SDsSy7wKpWYRT7mK/OwJUI6tY/EDtpYlOYAM5nAjzChWLTS3bXySYpTbmDT2Wjyf197Gt9GCP1kigH62C6JkmwicOG8yjUfrkcjWIfidjIStqsnQvudmc1g7XRbo+pqGLwjV27+/EIKPRWtP01zNjQevMbe/+ohRDqI7iZYDOotfe/JXwK8eM5kWldom7pSTYx2Kpe47ZIA4f6Q/9TZ8wQsfxdzdhCZXB+gQWJFO81wzXA0uF8SMjli/H3F8kLdwmHshODdOYiwi2TSIguuuyNvaiRTaE08u1KTtfeFljiGyS99bKwBrlsX+qZJXvi5FbWnykGwWecoRrhOeullNbDos7oS2topnyQM8GD6eUPV2wAMBaKR1LCC9fKBlL0hyKpXENDdKD9ySoPQVIoDbdkXWYfKSGGMgKr3NP1prMb5CyW6hVaVqdVoCw0TStR2Lvi3rQWXl7PUT+B8/4zIC48z/9w4qP0SJGN3tA6JYvPx7MxAo3RJlxp+oPFrvG9kAJggnkubMqxf0MPkI2WPAVEzwCgvCuD9EqdMpTfgzg3MI656C6fuDHC8UAdFlknbIq7DqD0N+CuCUk0zX2p/8KDeZiaXMo6wtFsfSGQuRu40Yd5i5VE6CG0lJlHCyWdIZ57BS5tLZa+oEovvuPWZUA1zVbtTCPcoOf9uYq877rKs7OohY2pTbAMRDn+hZZLeTt264tQX21vxdKlG+1ZFBJqR3CzLXnUdha/Hgk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(136003)(346002)(376002)(366004)(39860400002)(66556008)(38100700002)(86362001)(31686004)(66946007)(36756003)(31696002)(8676002)(66476007)(4326008)(186003)(83380400001)(53546011)(26005)(2616005)(6512007)(6506007)(41300700001)(478600001)(6486002)(316002)(37006003)(6636002)(54906003)(2906002)(5660300002)(6862004)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHliTFNiMzloMjdwYWt6S1ZkSkdUTzZqd2FjM0E5akh3UlBlUXZhdVBMRDlN?=
 =?utf-8?B?L1htS2xKQVB1Z1V1enh0dmcvK1RXOUphOVRLVGNtYm83aW9yRk1pNGNIanhj?=
 =?utf-8?B?cDd3dWlLWnhpVGU1R2FYMGUzU0ZvU1UzRmY3S1h6c0h2cEltbzh6OVBwWlk3?=
 =?utf-8?B?dTRGcDBhUVR0aDRrQlk4S3FwM3ZXSWFjRC94NG11aWNiR3UzZ09walhQMHh6?=
 =?utf-8?B?eGx4UkNqUFJEN3cwTEdEY1ZZS0NJdDIvUEdWRDNUU1B2aE5lNmg3K0x3emRI?=
 =?utf-8?B?aW5leEFIK01TTE1FZ3RhbzhvMnFwUEpSUU85TVJibWVPdmdOSDh3cld3Rjl2?=
 =?utf-8?B?dHBVVTNqaHlDUkdTNmJWSTdHd0N5bkRLNktZTTdWSmc4ZVBUYXpOU0F0aUV3?=
 =?utf-8?B?V0dyRHhIVmNCVWlnNkhockpJOFlPeEJQdXhzMktSS2hwN1JJSkhWMHR4clB1?=
 =?utf-8?B?eGpZaFZzdDZUZDQ4NW8rWDA2K3ErZXFBVjBDUE1BRzhXcUlHMnF2cXlDbFRm?=
 =?utf-8?B?alBQWHZQTVRlSFdlTTAvdGhYeENXVWFJQmVGUVc0VEdnZjU1cnduVkJ3U3d6?=
 =?utf-8?B?K0d0S2dEM3FOQ3VhcEpKamI3ekJnMkJPeUxlcFJNK1RFT210Z01MNHNZd0Na?=
 =?utf-8?B?RjhZaC83ZUhoVis2UVJodXNkeFZsY0tpWVF2UUN5a2lnaHlXUm9hNFM1OW9E?=
 =?utf-8?B?RitqVFJqVFJVbVlvUERPUzBLcitSMllZVUV5U3JFeHd1WDc5YW1mOFFRU05w?=
 =?utf-8?B?SElKY2YyQW5lRkhTM2wzTm41bmg2cTJsSnpzR3BvSGdLT28rUHREbWlGRCtC?=
 =?utf-8?B?bHhVMmdIZGY2dXJWQjlyVFhCZUtLSDdLU2Q3eXpxV1JJZHhCcGgxaEtuQnYx?=
 =?utf-8?B?TVVSTUZhLzNLVk9mVjVwOHk1djhuZjZjU2RydGM3Y2N5VW8zSXZHYWIxaW5S?=
 =?utf-8?B?alBhcStBSzh2aTNZanBHS0pKamc2bExsNHN5Rll0d2k3TXNQTzVVMlpqQjhB?=
 =?utf-8?B?RU1CeTZqcElOTVVlOWlpb3V5OTh3Q3d2dkR4dFFyR2RGRTlHcnI0cnppNTRP?=
 =?utf-8?B?MkkzQjkwR2E0dTBnQnFsdFVsZEhvb3pUK2s1ZkYyaGZFREprVWlOZXBaUUxW?=
 =?utf-8?B?dmhSNVBkemdWaTJFMGNmcjE3MGRoUi9USlBOV0JmM3lFaVNnbDk5T0pSdzdQ?=
 =?utf-8?B?WGV0ZHBrY0JaWEtVa3Rtakk5SGQ0VUZXK3hmaGFvVW1hdmZtYVEzUE10dnF2?=
 =?utf-8?B?ekw2ZjBja0F3Ny9jK3M2K285TThKbDdtRkZ2ZlloKytPaVRwVlNvRWhmd3BN?=
 =?utf-8?B?bkpJeEtPZ3RHamRJNGhrSDQ5QVppSnZVWDhtRk9LVjhOOGpoRWVXdm5qNmlY?=
 =?utf-8?B?c1dNSTl1UW9ZNEs3VDdiaXArWWFhTVV6SGc3QVNwRjRYcm5uSmNYa0JqV0Qv?=
 =?utf-8?B?ZnNKKzk0SEF6TXM0dmJEeUM4bG5UTnBQQk5KUGgzb3B2bDZKNS9obURhWXJm?=
 =?utf-8?B?WUd0RzVwOVhmRXpXV3k3OFU2am1hU0VYWlArNjNBV0tCT2RxZS9hczhQdVNu?=
 =?utf-8?B?ZFdDT2kwdEk2REtMYXZwSnE4cmhNUzBSZlJIRkJRQ1dPSS9hSFRCOWpSNnk5?=
 =?utf-8?B?TEJRQ1licHNBTFcrTzM0OXllbEl2bnJyL21melB6UnE2cTRPYUJOa3lTbmt0?=
 =?utf-8?B?ckNKUFdJeVlBN3MwVmU2T3BJT3BtMG43MzZQeDlITjZWdi9GdnphZ2RBMmFa?=
 =?utf-8?B?RTVGQ3NrZGtEOENzMStmTHJoKzMrYXFLTlBCUWFjMkIybnNheFpTZUdQeHdF?=
 =?utf-8?B?eXdDTVlLVmJXeHVScVIxamxlUFhYdlZ5Z000REhIK0c1KzNQOHdKTU5pZU9a?=
 =?utf-8?B?djFtOWVoSE5wcTdDeHAzQWorWHdkTEF4UG1VQUQxQTQyOHQ3VlBWbVZaakVR?=
 =?utf-8?B?eUViZXBhK1lDYWQ0NGczTVhTNVdURmlodnFnWm5TNXAvVFptWGRuT0RqY2Vv?=
 =?utf-8?B?MXZ3aGZ2TGVkSUR6QTI5M3pSMGJqMmE3eWx3bEhLTytkMUYxTkYycmRwZmN5?=
 =?utf-8?B?OGl5NXNNVnFhcEhBYmIwckhxWitxK0lVQ2c3ZGlvYzNhMTY2ZGxaeXd3NWpW?=
 =?utf-8?Q?Sv22AYramazmBlV4OmPeRzlbn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 008a4a19-faf4-4006-c41b-08da86939b65
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 12:16:15.2892
 (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: 9IByAxW6AbYr5u+SYrSp5ovdjNjMPCOKdLvqMOTBCWBe/ZbBm+MVdgsK0iFiqMvK8Fz6DzvmIFTVJ0buBfYccA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4608

On 25.08.2022 14:10, Juergen Gross wrote:
> On 25.08.22 13:58, Jan Beulich wrote:
>> On 25.08.2022 13:40, Juergen Gross wrote:
>>> --- a/drivers/xen/privcmd.c
>>> +++ b/drivers/xen/privcmd.c
>>> @@ -581,7 +581,7 @@ static int lock_pages(
>>>   	struct privcmd_dm_op_buf kbufs[], unsigned int num,
>>>   	struct page *pages[], unsigned int nr_pages, unsigned int *pinned)
>>>   {
>>> -	unsigned int i;
>>> +	unsigned int i, off = 0;
>>>   
>>>   	for (i = 0; i < num; i++) {
>>>   		unsigned int requested;
>>> @@ -589,19 +589,23 @@ static int lock_pages(
>>>   
>>>   		requested = DIV_ROUND_UP(
>>>   			offset_in_page(kbufs[i].uptr) + kbufs[i].size,
>>> -			PAGE_SIZE);
>>> +			PAGE_SIZE) - off;
>>>   		if (requested > nr_pages)
>>>   			return -ENOSPC;
>>>   
>>>   		page_count = pin_user_pages_fast(
>>> -			(unsigned long) kbufs[i].uptr,
>>> +			(unsigned long)kbufs[i].uptr + off * PAGE_SIZE,
>>>   			requested, FOLL_WRITE, pages);
>>> -		if (page_count < 0)
>>> -			return page_count;
>>> +		if (page_count <= 0)
>>> +			return page_count ? : -EFAULT;
>>>   
>>>   		*pinned += page_count;
>>>   		nr_pages -= page_count;
>>>   		pages += page_count;
>>> +
>>> +		off = requested - page_count;
>>> +		if (off)
>>> +			i--;
>>>   	}
>>
>> Initially I thought this would go wrong only on the 3rd iteration, but
>> meanwhile I think it's wrong already on the 2nd. What I think you need
>> is
>>
>> 		if (page_count < requested)
>> 			i--;
>> 		off += page_count;
>>
>> or with the i++ from the loop header absorbed here
>>
>> 		if (page_count == requested)
>> 			i++;
>> 		off += page_count;
>>
>> Plus of course off needs resetting to zero whenever i advances. I.e.
>>
>> 		if (page_count == requested) {
>> 			i++;
>> 			off = 0;
>> 		} else {
>> 			off += page_count;
>> 		}
> 
> Yeah, or:
> 
> 		off = (page_count == requested) ? 0 : off + page_count;
> 		i += !off;

I wasn't daring to suggest something like that ;-)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:24:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:24:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393394.632319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBud-0005Xi-CJ; Thu, 25 Aug 2022 12:24:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393394.632319; Thu, 25 Aug 2022 12:24:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRBud-0005Xb-9a; Thu, 25 Aug 2022 12:24:43 +0000
Received: by outflank-mailman (input) for mailman id 393394;
 Thu, 25 Aug 2022 12:24:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRBuc-0005XR-FV; Thu, 25 Aug 2022 12:24:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRBuc-0005hG-C2; Thu, 25 Aug 2022 12:24:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRBuc-0002Ms-2O; Thu, 25 Aug 2022 12:24:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRBuc-0006Gr-1v; Thu, 25 Aug 2022 12:24:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Nw3gCvHnAKmEvbsDQWXJn4ZUe7WwpKLsmGUmykDy38s=; b=pC/Fa7iWRDAz4udIiWfstmn3Dd
	Ebxd2VR9MopQdjxUAAxx+UtpHFhZIY9Q5GZbOR2DUd/hRWHhoogo2Rx68HGkZqIywRL/5K5swElLf
	8fOWf/Zi7BrVrox/MUp7UP2UlxKEyD32ml8cJhPamXDBY8v3qbuGyGenKdUvIHyTanXs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172765-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172765: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=4c0310677a48fe3a64d560737b07469725e40ae4
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 12:24:42 +0000

flight 172765 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172765/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              4c0310677a48fe3a64d560737b07469725e40ae4
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  776 days
Failing since        151818  2020-07-11 04:18:52 Z  775 days  757 attempts
Testing same since   172765  2022-08-25 04:20:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121043 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:50:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:50:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393402.632329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCJS-0000R4-F7; Thu, 25 Aug 2022 12:50:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393402.632329; Thu, 25 Aug 2022 12:50:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCJS-0000Qx-Bn; Thu, 25 Aug 2022 12:50:22 +0000
Received: by outflank-mailman (input) for mailman id 393402;
 Thu, 25 Aug 2022 12:50:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRCJQ-0000Qr-UU
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 12:50:21 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60071.outbound.protection.outlook.com [40.107.6.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 703ae2ec-2474-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 14:50:04 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6336.eurprd04.prod.outlook.com (2603:10a6:803:f2::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 12:50:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 12:50:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 703ae2ec-2474-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jeG4ufI1MJuAiKqhK60mWctCCis9JRc8VIM1x2JmxyJDGgS2KKy3qVFM1bbvnE0PK+13Bliw4jg/VK/Gok1sGyT7s+TDudFMV/Q9cn9A58CbwgSnbKwJwtCEJp2hRAdfx5XT6gtQbvofgVlEByUnOhTeMg32pspKmAaqHuI+GdsobuJTerGh1LqZi6LMMl8ZOSY0mLcoO+IJ2AXd3hBuf63qeQZKzSAzQtfataNWC/EK34e4ow4erqaTQLPJHpZH0RNbocsM5lWc931v0c+KunWNhdbYkPnDaNni1fSprOYOZvRNTmNtMtwWv//eNOlBtxG4nl6WiB5dvuSBGMOPKg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zfcUUSmjuBQL2clpKn7sZv66CIzJz2MxVSwK4vScXJs=;
 b=RT7PO3d6kLotsKU1yNiUP/O4y9maf47mhu+mkVFR45/BQOAagQR0fuDUfTLMDpDXt6Y33VLeaXLvLH/aAVJO2oh0TZsUdEJAPvvX7iMQBGCnbvK3D0ZWRZHsShXM/B4KshkIsIvwus08vsw08ERPjAGYcBBmzmku3IASutVcKDYrV+Y6ySl0SlN0vFOuF8F9htHenOP6a4e0K+1EjbeZlZtLB4Fp4eAkthJwLyEs17xBp0Pt1rf2niqwO4Esw2mt8DS+s2vGblzdYcoZIttFutJ+Q+X10KNR3P9MQBtvy0TkuecouS+WRzSQacDqd5kzALzm/g18PNQWqW0Lw7SVDA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zfcUUSmjuBQL2clpKn7sZv66CIzJz2MxVSwK4vScXJs=;
 b=r5Tf1R4dMp3CmCsIiF0uXeK72H3sbiqCviLMQJX5BPGae8eoMDRR/myHkX6M5c556yUsu9gvQfdA0uYW4XT2/80yUdlRoWReeZHmF25iP4qNZKA/4NYjkIuc15tq2nNvSpVTr0+LEfqw0bZCyikIBNoMjYiw702ugZLV2+BZdiOnPYCBjFFjPA6l1eZ98RgUjmREj34P/TSMiqCf4EYQWgzAU4bwCpA3NGX9lKqIhKRB5mrMUb6vhFJlnNcOeDev144K9DmVSm2QAIvDh3o1EwV0zX/s9uOuNpZG8qd/w3kZwQjeFlQWcaHXRRN6A2M5wHzIniR15dh3xJzo3p49jg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <67d9e7bf-8e0c-9290-5ac5-30d8cd8b9177@suse.com>
Date: Thu, 25 Aug 2022 14:50:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v3 5/6] xen/x86: move NUMA scan nodes codes from x86 to
 common
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: nd@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-6-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220822025810.2240707-6-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0034.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 281510cc-58d1-43e4-3e3f-08da86985bd0
X-MS-TrafficTypeDiagnostic: VI1PR04MB6336:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iNXcsH1Vqryt7nckcc3YL2FpIrFV3CLR/3O3XaICPjPq52s3qHtPf2vj8KgfQwWpEoImg/KXXAB0vnr7VDgyaJu8gpAv3PHDfxT4fxZyP6JD5BXx8TsrSfynI7Tdcp/WEdezRDG3RULRoykKibX3pLXIwmftwh2Xr5XwsYcw7Ai1Gy1zUI/viMtWU8S6I2TPT1PN22VsjceDfAkPbpcmjrOskFYzWWvTzbURUHNAOvnOCldTyIp/qzydr19YZmM//7T4TWDeU0jloWWMD6NUL3miyIPaMP0Nz1A7KakzXwIDi21rI9C80leSIztB8svWk8B/7M648xgQSQyCrhqm6dQLSL+wtfAHbivk9sW68xjE3omi6StU7XdMghebqLXIQS8//aZP+KX4zOsWcn7rdiAZGdTLZ9vfm/gTNqla/N8y8eX0fr7jT7DolGpRLI1tn05YTJbLWFiyR+FNcZFQkCmIXvvERtvq6pSPyn88J2mxPbsLysBCGDUnDB23w2dKWjQmnfRLcghclYLkGgvgbbWdkxS7J0M4sDtkk4Z7X9Z9u5sgdO7IuMRkSJu5HK9UlMTUPrQW4aml9AE03iMAoElO1gANBeMnhwykcnRSlU67TR7Nfivi3g1unaXJBS+g72dBvauzwhm3YmLNcFnunlxE8WFSp42GJoXNsVJpEZczdfaUbCXA9LxpfnaVvYR0oCkTW+p+r4SmHtaSZEjoIgpH9fU+JAKHwwuB75WGm/CbjVYpOt4xxNBYlNv7PHNR4WCVILcp+ZbY8atBf9uHmBK4tlt3dmnRQw+zhL+07jk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(376002)(136003)(39860400002)(396003)(366004)(316002)(66946007)(31696002)(8676002)(66556008)(86362001)(4326008)(26005)(38100700002)(66476007)(2906002)(6506007)(53546011)(6512007)(31686004)(83380400001)(186003)(6486002)(478600001)(36756003)(6916009)(5660300002)(2616005)(54906003)(8936002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ckdOT25wVUd2V0RJV3U1c3VQT0NPOEZOczFvYWs3MjBMZUl2Q2dadUVNWHV6?=
 =?utf-8?B?bm1aOWRUQlBUNGdUaFRvUGNYRUF6aXFjSlp6N2thbkZKd2dHczhHaFNKOFFz?=
 =?utf-8?B?a3hicnBQZUhoRkFCc1N6bTdSNjdzSXpwQ3RKZ1UydERJQmdiWDdpbUNjTU10?=
 =?utf-8?B?dmJlbVhtKys0Sk9yRy9kM1pNaFZQajhMeFh0RGltUHBrWkdzQTRGYmFWMHB4?=
 =?utf-8?B?MCtXYmYvVGdHWlhnVFY1OFhZSmIwNFp4MjVySmluRVRuN0g5NXVpcjJ5WFJF?=
 =?utf-8?B?NHNDWFUrTXl4SXFvNjA5QUg2b3dtbDZOZjQzRXlmcFJuSC9xRWpkNTlvRkp5?=
 =?utf-8?B?S3VmQmZmNE0wM09uSklmZ2RLM2tiL05zeCtlY2FtbC8wNjcrclgwOG9BbEVQ?=
 =?utf-8?B?dGV4TDBPK1Baem16MnF6WWRGSjBXc05GZ2x3d3V5ek5rbDIrQlFNeENGSE1k?=
 =?utf-8?B?VmlmdnFXWldiaHp1UWhBWTU4WXRiUk54eTgxbW8vMkVpdDJUcU91WVBOdmtR?=
 =?utf-8?B?dlhNeUJsNW03ay81M1dZVVNTbWk3bEhHeDUydHFLNXd2azI5b3VJanVKcUE1?=
 =?utf-8?B?ZXZGVU53ZWVLRXV2azdmZ0xBQXRVaVF4TnhQSXhnaEZkaTZZTmY2ekdyVlk3?=
 =?utf-8?B?SlFLeU1CZi94eCtaTWdnV1hvQ1RKNEtVMTBHVURyNis3SGhnUkNuOGxwNS8z?=
 =?utf-8?B?bFRGWmZub3NjTWlGSTVjV0ZKZ2toSCtmazJaT2JZcE1GL2hkVGUwYnZ2OXFS?=
 =?utf-8?B?Z0Qvd0hhbEd2RG1zUnlBUUFSbGo5eDlVeHkxUUZZT1ZNaGFZZzNGOVlPYndj?=
 =?utf-8?B?SEVxOGt3aEpIdUZ2WEhwNXRrYk1iWkFVSCtiVzJjMWh5ei9RcytEMUdmbHY4?=
 =?utf-8?B?L2RUNitlTlFWQWd2Qk1EeER5Rm83WDlEQ3lRQ3AyQmpJYXdwcm53NlArTE4w?=
 =?utf-8?B?NjhjMmFzODd0UlNkQkFUdFplQ0pHeDZXREo5cmhsWGlPTXpVSCtVVHd4SldW?=
 =?utf-8?B?d1psbWNsdjJrUkZ6WE5UeENQaTI5R1kzM3hCZGJGVkQycUx4bi9DSldubnBH?=
 =?utf-8?B?LzdYZG0zT2JpdUZVVFZuNGJJMm9ISUJaL2pVVjIwWlRpcHhNeXl4eTZGbjQ4?=
 =?utf-8?B?VXNxeUpUMlFoRCtHNFBsbWJ2T2FDNk9VNWk2UzYvSy9SZUcrN1VpUzRoV29E?=
 =?utf-8?B?YXNlTUJsdy82d1AzRGQ0MHJWR1AraVZKZXBET0Z5NVU5YW1PL0xmRDVKemZH?=
 =?utf-8?B?NmRVcFQ4MmhSam9KeVhQOFVEVVBiOWhMdU9BRS9HcG0zWHphUU9aREZ5b0tr?=
 =?utf-8?B?b2J6NWNyMkFONHM4SEpRbDJOZHVOdDRkMFBzVGFIMlE5ZHN1Ti9uNlV1YzBC?=
 =?utf-8?B?VGxWdXpNRXJabGFWczYrSHJpZ2dvZnhGUnJRSnhLRzI2WlJLZDVFQ09OSkl0?=
 =?utf-8?B?Ymc0UDJlMEdqbW5vdzdpazZRUHpCUUlVb2tla2ZTclgyVGo1d1k5SkE4ZWV3?=
 =?utf-8?B?Tm1uZlhFYjB4c3ZYVXhpN29KWjRGalUyN3E4elBydUNVNXp2cTNkUG9zMmUw?=
 =?utf-8?B?MU5CM21sM1JnZ2c3SkhqVXRkWnB6SzNQa2R3dExyS1RkY1g3UEdOUExtTjBQ?=
 =?utf-8?B?VjZjTU1xcFBLVDB3b1lVWlBVTFdCcms0dk5YSjYwd21CMEttUDIxc2xlS2hF?=
 =?utf-8?B?K1d1WHJ0TWdVeGlVaTIzcEJVd3J4T1c4bGZFMGFHWmh6S3JTd0VFSFRCV3My?=
 =?utf-8?B?LzRBL01DTEIrRFNZbUdxV1ptSGNTKy9WVmlZaFQ2bGNwTm5xMkR0OE9WSnR6?=
 =?utf-8?B?bHloRUdYUWI1QVpmUVBQdzJaN0toWEo2OGdOOXFUNWQ0RUhaSDUwNEszL0Ry?=
 =?utf-8?B?UXc1bng5ZVFCSDRGVGFzOHJDVnJKYWVlMXhNbFEwL2FJYmNFeEg3bGgwNWxM?=
 =?utf-8?B?ejFpOFJyNi85UEJDUTFOT3AzRi9wY2xZRVc2ZWk0ZmlhRjc1Q1VzOE4xTjdX?=
 =?utf-8?B?U3pYTmhKVm1leVJSclB6RFNmSzVRdk9CMkdjc3BNYzQwYkxhN3VEUW05eWxF?=
 =?utf-8?B?NzFDVzFoZnNEa0tidXBtMDJqUjRWQUVIdTBjaVhZeWE5bi9rVGNzYnVmY3Vp?=
 =?utf-8?Q?x6M5spuSWfLSeYmQo66+vgfu2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 281510cc-58d1-43e4-3e3f-08da86985bd0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 12:50:16.1121
 (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: lL+VTGMJCl436rbAA7bem/pW2JrB08IFGy3D3bDSXDMlfCdSnQOCc4xOOAuqLtp6poCPgGRK7XhpJcPfPyujIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6336

On 22.08.2022 04:58, Wei Chen wrote:
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -13,6 +13,21 @@
>  #include <xen/sched.h>
>  #include <xen/softirq.h>
>  
> +static nodemask_t __initdata processor_nodes_parsed;
> +static nodemask_t __initdata memory_nodes_parsed;
> +static struct node __initdata nodes[MAX_NUMNODES];
> +
> +static int __ro_after_init num_node_memblks;

unsigned int?

> @@ -36,6 +51,308 @@ bool numa_disabled(void)
>      return numa_off || arch_numa_disabled(false);
>  }
>  
> +void __init numa_set_processor_nodes_parsed(nodeid_t node)
> +{
> +    node_set(node, processor_nodes_parsed);
> +}
> +
> +unsigned int valid_numa_range(paddr_t start, paddr_t end, nodeid_t node)

bool (and then true/false below)?

> +{
> +    unsigned int i;
> +
> +    for ( i = 0; i < num_node_memblks; i++ )
> +    {
> +        struct node *nd = &node_memblk_range[i];

const?

> +        if ( nd->start <= start && nd->end >= end &&
> +             memblk_nodeid[i] == node )
> +            return 1;
> +    }
> +
> +    return 0;
> +}
> +
> +static
> +enum conflicts __init conflicting_memblks(nodeid_t nid, paddr_t start,

May I ask that you re-flow this to either

static enum conflicts __init
conflicting_memblks(nodeid_t nid, paddr_t start,

or

static enum conflicts __init conflicting_memblks(
    nodeid_t nid, paddr_t start,

?

> +                                          paddr_t end, paddr_t nd_start,
> +                                          paddr_t nd_end, unsigned int *mblkid)
> +{
> +    unsigned int i;
> +
> +    /*
> +     * Scan all recorded nodes' memory blocks to check conflicts:
> +     * Overlap or interleave.
> +     */
> +    for ( i = 0; i < num_node_memblks; i++ )
> +    {
> +        struct node *nd = &node_memblk_range[i];

const?

> +bool __init numa_memblks_available(void)
> +{
> +    return num_node_memblks < NR_NODE_MEMBLKS;
> +}

This is kind of clumsy, but I have no better suggestion.

> +/*
> + * This function will be called by NUMA memory affinity initialization to
> + * update NUMA node's memory range. In this function, we assume all memory
> + * regions belonging to a single node are in one chunk. Holes (or MMIO
> + * ranges) between them will be included in the node.
> + *
> + * So in numa_update_node_memblks, if there are multiple banks for each
> + * node, start and end are stretched to cover the holes between them, and
> + * it works as long as memory banks of different NUMA nodes don't interleave.
> + */
> +int __init numa_update_node_memblks(nodeid_t node, unsigned int arch_nid,

The function only ever returns 0 or -EINVAL - please consider switching
to "bool" return type.

> +                                    paddr_t start, paddr_t size,
> +                                    const char *prefix,
> +                                    bool hotplug)
> +{
> +    unsigned int i;
> +    paddr_t end = start + size;
> +    paddr_t nd_start = start;
> +    paddr_t nd_end = end;
> +    struct node *nd = &nodes[node];
> +
> +    /*
> +     * For the node that already has some memory blocks, we will
> +     * expand the node memory range temporarily to check memory
> +     * interleaves with other nodes. We will not use this node
> +     * temp memory range to check overlaps, because it will mask
> +     * the overlaps in same node.
> +     *
> +     * Node with 0 bytes memory doesn't need this expandsion.
> +     */
> +    if ( nd->start != nd->end )
> +    {
> +        if ( nd_start > nd->start )
> +            nd_start = nd->start;
> +
> +        if ( nd_end < nd->end )
> +            nd_end = nd->end;
> +    }
> +
> +    /* It is fine to add this area to the nodes data it will be used later*/

Please adjust style here.

> +    switch ( conflicting_memblks(node, start, end, nd_start, nd_end, &i) )
> +    {
> +    case OVERLAP:
> +        if ( memblk_nodeid[i] == node )
> +        {
> +            bool mismatch = !(hotplug) != !test_bit(i, memblk_hotplug);
> +
> +            printk("%sNUMA: %s %u [%"PRIpaddr", %"PRIpaddr"] overlaps with itself [%"PRIpaddr", %"PRIpaddr"]\n",
> +                   mismatch ? KERN_ERR : KERN_WARNING, prefix,
> +                   arch_nid, start, end - 1,
> +                   node_memblk_range[i].start, node_memblk_range[i].end - 1);
> +            if ( mismatch )
> +                return -EINVAL;
> +            break;
> +        }
> +
> +        printk(KERN_ERR
> +               "NUMA: %s %u [%"PRIpaddr", %"PRIpaddr"] overlaps with %s %u [%"PRIpaddr", %"PRIpaddr"]\n",
> +               prefix, arch_nid, start, end - 1, prefix,
> +               numa_node_to_arch_nid(memblk_nodeid[i]),
> +               node_memblk_range[i].start, node_memblk_range[i].end - 1);
> +        return -EINVAL;
> +
> +
> +    case INTERLEAVE:
> +        printk(KERN_ERR
> +               "NUMAï¼š %s %u: [%"PRIpaddr", %"PRIpaddr"] interleaves with %s %u memblk [%"PRIpaddr", %"PRIpaddr"]\n",
> +               prefix, arch_nid, nd_start, nd_end - 1,
> +               prefix, numa_node_to_arch_nid(memblk_nodeid[i]),
> +               node_memblk_range[i].start, node_memblk_range[i].end - 1);
> +        return -EINVAL;
> +
> +    case NO_CONFLICT:
> +        break;
> +    }
> +
> +    if ( !hotplug )
> +    {
> +        node_set(node, memory_nodes_parsed);
> +        nd->start = nd_start;
> +        nd->end = nd_end;
> +    }
> +
> +    if ( strcasecmp("Node", prefix) )
> +        printk(KERN_INFO "NUMA: Node %u %s %u [%"PRIpaddr", %"PRIpaddr"]%s\n",
> +               node, prefix, arch_nid, start, end - 1,
> +               hotplug ? " (hotplug)" : "");
> +    else
> +        printk(KERN_INFO "NUMA: Node %u [%"PRIpaddr", %"PRIpaddr"]%s\n",
> +               node, start, end - 1, hotplug ? " (hotplug)" : "");

Hmm, if I'm not mistaken one of the two printk()s and hence also one of
the two format strings will be dead code / data on every archiecture.
I wonder if we don't want to have a HAS_NUMA_FW_NODE_ID (name subject
to improvment) Kconfig setting to avoid such. I could imagine this to
become relevant also in other code.

> +static int __init numa_scan_nodes(paddr_t start, paddr_t end)

This function returns only 0 or -1, i.e. is even more of a candidate
for having "bool" return type than numa_update_node_memblks().

> +{
> +    unsigned int i;
> +    nodemask_t all_nodes_parsed;
> +
> +    /* First clean up the node list */
> +    for ( i = 0; i < MAX_NUMNODES; i++ )
> +        cutoff_node(i, start, end);
> +
> +    /* When numa is on with good firmware, we can do numa scan nodes. */
> +    if ( arch_numa_disabled(true) )
> +        return -1;
> +
> +    if ( !nodes_cover_memory() )
> +    {
> +        numa_fw_bad();
> +        return -1;
> +    }
> +
> +    memnode_shift = compute_hash_shift(node_memblk_range, num_node_memblks,
> +                                       memblk_nodeid);
> +
> +    if ( memnode_shift < 0 )
> +    {
> +        printk(KERN_ERR
> +               "NUMA: No NUMA node hash function found. Contact maintainer\n");
> +        numa_fw_bad();
> +        return -1;
> +    }
> +
> +    nodes_or(all_nodes_parsed, memory_nodes_parsed, processor_nodes_parsed);
> +
> +    /* Finally register nodes */
> +    for_each_node_mask( i, all_nodes_parsed )
> +    {
> +        paddr_t size = nodes[i].end - nodes[i].start;
> +
> +        if ( size == 0 )
> +            printk(KERN_INFO "NUMA: node %u has no memory\n", i);
> +
> +        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
> +    }

May I suggest to eliminate "size" at this occasion, for being used
only once and rather not helping readability (imo at least)?

> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -58,6 +58,8 @@
>  #include <xen/perfc.h>
>  #include <public/memory.h>
>  
> +extern paddr_t mem_hotplug;
> +
>  struct page_info;
>  
>  void put_page(struct page_info *);

I'm sorry, but I guess this may go about anywhere in the file, but not
right at the top. I would probably have put it ahead of npfec_kind_t
or right after dom_cow.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:51:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393409.632341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCKe-00011q-U0; Thu, 25 Aug 2022 12:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393409.632341; Thu, 25 Aug 2022 12:51:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCKe-00011j-Qt; Thu, 25 Aug 2022 12:51:36 +0000
Received: by outflank-mailman (input) for mailman id 393409;
 Thu, 25 Aug 2022 12:51:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oRCKd-00011X-GZ
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 12:51:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRCKb-0006Bc-2b; Thu, 25 Aug 2022 12:51:33 +0000
Received: from [54.239.6.188] (helo=[192.168.11.158])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRCKa-0005bm-RK; Thu, 25 Aug 2022 12:51:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=TMrDtxAxd+IHdjS5xxag23FyxG3EAvQzyhKefPKc+kM=; b=XBFA/PsPHsnfLI5J6Jxvb3di2k
	oeX0IvLiLaM6u393RHi/9wn61LTSM4Oew7q7Drw47OXifUrq7uFLexMHPSYVYJ+xvT/34RsvcdVzj
	szSfA2etS9+3pSd9WuZNdck2KuMQtH0YiAMGgWlTAbqgVt/TMkaihPvIqrmqALQD+rqM=;
Message-ID: <f26ff59b-0a55-2bc4-9933-480c09e1587d@xen.org>
Date: Thu, 25 Aug 2022 13:51:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
To: Leo Yan <leo.yan@linaro.org>
Cc: Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,
 Jan Beulich <jbeulich@suse.com>, Bertrand Marquis
 <Bertrand.Marquis@arm.com>, Rahul Singh <Rahul.Singh@arm.com>,
 Peter Griffin <peter.griffin@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
 <jgrall@amazon.com>, Mathieu Poirier <mathieu.poirier@linaro.org>
References: <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
 <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
 <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
 <871qtcsacd.wl-maz@kernel.org> <Ywcr1849LiEHezd3@leoy-huanghe>
 <12a8c169-55aa-5e9f-19f8-acd77ea2a8fe@xen.org>
 <YwdcBFmCQ4pU1kDi@leoy-huanghe>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <YwdcBFmCQ4pU1kDi@leoy-huanghe>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Leo,

On 25/08/2022 12:24, Leo Yan wrote:
> On Thu, Aug 25, 2022 at 10:07:18AM +0100, Julien Grall wrote:
> 
> [...]
> 
>>> In other words, let's assume the Dom0 kernel panic and its secondary
>>> kernel is launched by kexec, is it necessarily for the secondary
>>> kernel to reuse the primary kernel's RD pending page?
>>
>> No.
> 
> If the answer is no, then I think it's feasible to pass the same ACPI
> table or DT binding for virtual GICv3 from primary kernel to secondary
> kernel, then the second kernel can initialize the VGIC and allocate a
> new RD tables (and trap to Xen in EL2 to handle the new allocated RD
> tables).  How about you think for this?

I think that would work.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 12:59:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 12:59:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393415.632352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCS1-0001kn-Lh; Thu, 25 Aug 2022 12:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393415.632352; Thu, 25 Aug 2022 12:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCS1-0001kg-Id; Thu, 25 Aug 2022 12:59:13 +0000
Received: by outflank-mailman (input) for mailman id 393415;
 Thu, 25 Aug 2022 12:59:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oRCRz-0001ka-Ow
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 12:59:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRCRx-0006JQ-Dg; Thu, 25 Aug 2022 12:59:09 +0000
Received: from [54.239.6.188] (helo=[192.168.11.158])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRCRx-0005ug-6b; Thu, 25 Aug 2022 12:59:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=1W5cHvocTj7Me4hvwGKn/z120yXd+PWnCH9VCqtfyQY=; b=qkPXQlYRBQJPtYkzFTNKyqg3lp
	G3MeazDILm6vqmEnbqMT0wBVEKVeldIrfgt+4mMapb7HmKtq4XKTmF5z9eTyiZAakLQPurx6FDgJI
	+3bRXGUpQ662J9QAA55+rATGOpWXauXZTjppARztpET5slG4irLUfJ1CptId6paH8DW8=;
Message-ID: <52f24132-ba2b-d4ab-ebd0-613f673b5658@xen.org>
Date: Thu, 25 Aug 2022 13:59:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Content-Language: en-US
To: Leo Yan <leo.yan@linaro.org>
Cc: Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,
 Jan Beulich <jbeulich@suse.com>, Bertrand Marquis
 <Bertrand.Marquis@arm.com>, Rahul Singh <Rahul.Singh@arm.com>,
 Peter Griffin <peter.griffin@linaro.org>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
 <jgrall@amazon.com>, Mathieu Poirier <mathieu.poirier@linaro.org>
References: <fd24b049-abf2-34e8-e0b0-2c2d2d1e1b0f@suse.com>
 <CAMj1kXEDxHC6RgKfcmpXGDxwQ0mTKG146D8dJnrwJ1cWWXZ=3g@mail.gmail.com>
 <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
 <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
 <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
 <871qtcsacd.wl-maz@kernel.org> <Ywcr1849LiEHezd3@leoy-huanghe>
 <12a8c169-55aa-5e9f-19f8-acd77ea2a8fe@xen.org>
 <YwdiDr2uLXGEl2TC@leoy-huanghe>
From: Julien Grall <julien@xen.org>
In-Reply-To: <YwdiDr2uLXGEl2TC@leoy-huanghe>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Leo,

On 25/08/2022 12:50, Leo Yan wrote:
> On Thu, Aug 25, 2022 at 10:07:18AM +0100, Julien Grall wrote:
> 
> [...]
> 
>>> Xen directly passes ACPI MADT table from UEFI to Linux kernel to Dom0,
>>> (see functions acpi_create_madt() and gic_make_hwdom_madt()), which
>>> means the Linux kernel Dom0 uses the same ACPI table to initialize GICv3
>>> driver, but since Linux kernel Dom0 accesses GIC memory region as IPA,
>>> it still trap to Xen in EL2 for stage 2 translation, so finally Xen
>>> can emulate the GICv3 device for Dom0.
>>
>> In the default setup, dom0 is also the hardware domain. So it owns all of
>> the devices but the ones used by Xen (e.g. interrupt controller, SMMU).
>>
>> Therefore, dom0 will use the same memory layout as the host. At which point,
>> it is a lot more convenient to re-use the host ACPI tables and rewrite only
>> what's necessary.
> 
> We cannot purely talk about interrupt handling without connecting with
> device driver model.
> 
> Seems to me, to support para virtualization driver model (like virtio),
> Dom0 needs to provide the device driver backend, and DomUs enables
> the forend device drivers.  In this case, the most hardware interrupts
> (SPIs) are routed to Dom0.

That's correct. Most of the shared interrupts will be routed to dom0.
> To support passthrough driver model (VFIO), Xen needs to configure the
> hardware GICv3 to directly route hardware interrupt to the virtual CPU
> interface.

Do you mean GICv4 rather than GICv3? In the latter, all the interrupts 
will be received in Xen and then routed to the domain by updating the LRs.

> 
> But here I still cannot create the concept that how GIC RD tables play
> roles to support the para virtualization or passthrough mode.

I am not sure what you are actually asking. The pending tables are just 
memory you give to the GICv3 to record the state of the interrupts.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 13:06:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 13:06:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393421.632363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCYc-0003FZ-9b; Thu, 25 Aug 2022 13:06:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393421.632363; Thu, 25 Aug 2022 13:06:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCYc-0003FS-6Z; Thu, 25 Aug 2022 13:06:02 +0000
Received: by outflank-mailman (input) for mailman id 393421;
 Thu, 25 Aug 2022 13:06:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRCYa-0003FM-8I
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 13:06:00 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20048.outbound.protection.outlook.com [40.107.2.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0cbc0b0-2476-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 15:05:44 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM6PR0402MB3768.eurprd04.prod.outlook.com (2603:10a6:209:1c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 13:05:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 13:05:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0cbc0b0-2476-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C4p/nXoxSUPg5jxmSxRIoAnguYv6gUmErl3BbaYTqCduHtSjQD56kbxru5uXKHwmtBc3fpSJDYuT8556V6G6TlJjaq2AKx0uy6xX23KE8IpWrGVrWRyL5Me0q7GNBtZOYPoaEVc1fA5rncKnSwjDp8MW92owyj3wx4SDtoAm00wVNASPrlFRbh8dnN+ONdm3IdanGT157V+gBiogPQ2YLvthrAmb59I99MCBwO/+sGZkxqOxuT2Sstvz4LwtdpO20Ja/akq1uDjLp6vbkitjN/WBXDyXIx97BA+HNKm6qURKOTTpobG3QKarIgF1s+DrVHl57wwoKaU68O4sgGQnvg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z4reuZxpKOygi2C/hkQSeef4QCTSg1PQqAAC+tDXQJo=;
 b=Mr2VlZKoBRu/9M3nGcyXL7ja+3cGJ4F+wfdPhRKsMPTlVzuvcUWOB93ZXJocBbkFViCVl20kg8sjqnnwUa8km+DjqJzO+5c72yuO9FVVc6niX02pxj70nA3YgACDCRAu/s/+dG+wwrsOcytaWbUf1duoJWczguiJ6/a+hqfx7gw4jCcpcUckAebaaIa+PUPrWee9yvSTLtaVaFReFdCOYlpGfCy0Syr7nTSerAYA8xGMWyN3ajNZHAuVhk/YLEIZ+cGmsaQNchokX0YBUcKnoPf3e5fBtjYJE2SX9qpW4OxoKsYc+aBSw3NZ32NiNgT0yww23J5dmCBxpY6VbI5Nag==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z4reuZxpKOygi2C/hkQSeef4QCTSg1PQqAAC+tDXQJo=;
 b=zGsvl/MWGvu+6W0R4nJYnUili0cdTBdAJjcpkLfa3DjukH7C7IrcJTh810VJzgzANTyHOvjgnX2lOMg6zaX1dOWjh6mExGDmcXFly7Vr8UL8pjYdvpvYj7mvOBhk2BHsE464OYJ2ImVBJUN1NRDf8F+V6cBwomh+OSB8tG4C0n2nwhMoEMC9s2TOZv57vUARzbcY/YtW/C2GAhvx6oBbcCtd2yivD6S0VOvFPpKSLDYu6TWEqwo1DuwU8Dp4c6cDKIh9xwdLEGLQSgE9ZqGnuPSXDT1bMOC1s3WjT81bQPEfbSDDApBedqIrgtr7/4w95piGD8woNxaPSm7IoZYZIg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <33d061fb-5bb9-f9a6-458e-23909d306580@suse.com>
Date: Thu, 25 Aug 2022 15:05:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v3 6/6] xen: introduce a Kconfig option to configure NUMA
 nodes number
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: nd@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-7-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220822025810.2240707-7-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P191CA0076.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8a::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 507a6206-3377-459a-53be-08da869a8c4b
X-MS-TrafficTypeDiagnostic: AM6PR0402MB3768:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nAahYj0Sn6O5D4JBsHDrvkgnT3l9qWJr9G8iKBje92DB7HwX2QDdQZqshDiGrhzANzFDULuMt4n+l/L+5AJ0ACs2oqKEL3nPXGF78QnGz/Oruq5iNt6AjnXLIFqYBrNj4JiALAYU1lGJbljqXkEo3ZeR5aS9p4J4vDRKfTFEK8sk9yCXHEwBBaxEW03hHC7t5NHa5WvSGGfZI+6VHBC4CtWh0LXn01m5FFB70K0jjfYw1w7jsrzLh282LSPV5JK+rPLgH8W4ApyaGoyC5AmtVqC8yHn5CzMjAoc0pZQiFkX9fka5uJupSpoKg3M+jIi35fiYclT9wUEZ5effNBxzRH+zRXzKJtDrJ8Bj9h8Cq6x2kqZspWFONIXVOa5+kPYBJfXUM+RmVOtq8/fNkoXTKsywWU5iJP8MyPpKicABlZz3qrqQpWpnkYHZ3qWleIdtyyeqeOTYjQGDxGwUFMAIXwkctsMYhRcLYpOgvZiEoK+pzx4eJT8njfwacdPnA2y4mqkWetTVNMMPYUjc5myfGtqg0srOPUw8MDL4edeW6wVfh+q1gmRB2eP3sUo3ZLu1CD6aCmrFBZ6lY6/LJ8KnSzSJyLefSO9PkwGWZ+Ote+c6hhevEFhQZj+WJLLGZjSRbOqkSBunx6f68fUXP9TKs63or68MuxgflfWzdnC8jl3kP6zkXb/a+92FKRiYvocnEXlU1fCnU6LiSJ/MEEg9hCS1TEGavl8GaToViB21sagS7DxGmKUjfxs4IDrHoIi8qS1DS1Ke7ZQ9tE0Axx7QeCnygyOtl/FzZrhXS03GLqI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(39860400002)(136003)(366004)(376002)(346002)(38100700002)(54906003)(53546011)(86362001)(4326008)(31696002)(41300700001)(6506007)(66476007)(8676002)(66556008)(66946007)(6512007)(316002)(26005)(5660300002)(8936002)(36756003)(6916009)(83380400001)(478600001)(31686004)(186003)(2616005)(6486002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZElreGhETXFyLzB0TlFXUE15WkxyK2NiQklWbm1Pbm1wdm5iNk0yRW1PQ0la?=
 =?utf-8?B?cTdaRWViWjNDR25LTEQzY1NHR0xVazRUN1RLVERnUjdmeXdBQlBjYXZQd29Z?=
 =?utf-8?B?SDAxYzI3Vlp6dHhESERIai8wRmJjQlRZUnkzdW5QbFplSzI4L01Bb1kxcVJL?=
 =?utf-8?B?NXFud3A4ZmNQYVBZays0R3hzcHpOYVlrSXVjUWM2eFJUUFRVL0dzc2VRUzlz?=
 =?utf-8?B?WVNkYkRwY1ZDME1OclhVTHpmOXVHOGI0ZmNhOVBlUmRQTi9DUnlROVA3bkVa?=
 =?utf-8?B?elZTTHlPb2tvUktXdVB1ZjRKUmJSdDVvKzJ4Y2xBc2ZxaGtwVXVmTnJEVHhP?=
 =?utf-8?B?bXZUK2FPRUl3WWZPQzZWR2QxR3lQY2RRZmdOSUordWlkL0JSdVRtZWZKSit1?=
 =?utf-8?B?S0szdFZzbGdPSnIwQzU1c2owSko4SXQrQVFELzlCVmExYllseUw4N2RLTkRR?=
 =?utf-8?B?SVNRUng3cW8ydGtGUGV0QXhPTVJVWm00SWRYNXp6TnZhaHBTakR6V1U4YmM3?=
 =?utf-8?B?YktQcS9CWVNxSE5XeXpqY1pyMlEySWJxeWUzVGU0TDVzbHZCZXhONjdQY1Bl?=
 =?utf-8?B?dVVLdm53dTdydEJScjBISHd5QVpPUmdjZkI2amVoQkFHMXU4WVA0N0tIY3Zr?=
 =?utf-8?B?OVhPTnZ5a1E4TnppazFXSzEvNG1lS3VKb1laUnpkYUVuN0s4RytTYTdWbmlz?=
 =?utf-8?B?TzFHNTdiVG5JKzVmVGlQZHVYV2VaYjQzbTVOZzIva2lDRHJkR01hcGNoek9M?=
 =?utf-8?B?d25wdWM3WHpKcGovcFhrcjk3L2dLelUyVlltdlEzVEF5VHFRYnREZGtrb21u?=
 =?utf-8?B?UmJVYXBVZ3I1TGhyRHowVWliY2s4ZGthYVhyQ2pEcnFyQWR1eVBHa2dpNVVm?=
 =?utf-8?B?bytxcEp4RnJFR01vYmdYSTZEZzhya0JMZ0IybE5xOVUvdklaL0s2VDBlMmVN?=
 =?utf-8?B?ZmJBU0hGOFhSOHpvL0xxeGxuSExxZE1EVU1DbndJMDhuOHFrVms0SFUwblo2?=
 =?utf-8?B?c0RaUTBVcldhNUhCN2t6NmM4TFBKU0ZtUzBYSkh2LzJWYnF2WGUrMG5hU0Jq?=
 =?utf-8?B?a2VFMEZhNUFYN0YxWWlRR2w4YXFQYUFlazlPWWllaU5aTklkeXNwdEgybFlh?=
 =?utf-8?B?Yk1peGhjczRQbEVjYWV4eStmV09zMFJUY09HaXo5Y1dIV1h4akx1K0J3ZmRZ?=
 =?utf-8?B?Q3N0RHJMVk8zSTJuZmp0VmVJaHN4Vm1RTkxEN0c4YXVaUnVVSTNzdmc4SDF6?=
 =?utf-8?B?SnFXSEc2WUJhdnovOU84ZHgrREI2QnJLSW94azVYRTZUakV1VmdEa21pM3JE?=
 =?utf-8?B?QUxKa0xNU1AyRkpyanN5alhFZ0tFVG12RHhYdHpXT29WTHJpQVlBVVBGUHFG?=
 =?utf-8?B?WW4wMEVHcXJvdC92cGZ6c2xCZTNHTlNiRUhpYnJITnNwdVplYWd2a0p0VS9O?=
 =?utf-8?B?bWQyZ3ZDZE1mOS85T0pFYktZMVNwT1JteWNHUkpja2RaMnBBWkhaWHFHVXdK?=
 =?utf-8?B?T3IxQjB6N2dOUzRSQjQwYVVoUG9uZFJrMG9EaUZBc2pCQnBWZ2M5NkFkOG9Q?=
 =?utf-8?B?UUsxT3M4SmlsakpXcnNFVUIvNEhkaUZ6UU55SkwrakJoakxqbzhqL1o1VGdv?=
 =?utf-8?B?bDc4MUxwYWgxd1M5dklEU2YxU0t4VFVlUlFJckpTTnlQMkFzUFFCZTAxa0p2?=
 =?utf-8?B?WEg5aWVsc3BPM1lUYUdjKzFpT2tuOVE5YVZ0TitTUFg3UE0rSG9FVkh4Q0Rs?=
 =?utf-8?B?ck84TjF6bHRUbm1iZGxwRFQ1U1pqWEVtVDM5aG1vOGhTbHYyZE10QlBpSURm?=
 =?utf-8?B?bFZyYmFicnRjN0NMeWsvMk90VWowQVVRcm5DbitKZ0p4cEVjVmlVS3daS05V?=
 =?utf-8?B?Y2JJRmIrZWNEdjZOWTdjNGg3M0UyekRmTFFtR1AvRmNUM3liMVNSUGxnUHRN?=
 =?utf-8?B?S0tuU2JMcmJGZXVEVno5Q3dCQmpsQkoxeTBJVDRiVlN6Y1JSdGdSTXIva0Er?=
 =?utf-8?B?NVYzaFNpZnBzZDZFTVRhTVdNOG1xZDBobUFQeWNBL1JqajFtMmo1S3BrUEh2?=
 =?utf-8?B?U2tZelNEQlI4SUVuYUFVaGw4TzJORXpQdUkrNWQyYkozcnF6RndrWm9qbUhB?=
 =?utf-8?Q?uRJtNKIVErpDHo8J8lbaXKEfs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 507a6206-3377-459a-53be-08da869a8c4b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 13:05:56.4116
 (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: 0SOxGeBo3mbex91M2Se4+tq4H5T5VCSgj4i6Hj28x/nZy22YG01IzCvw9e9bBzJYYuFxAIDYSzxpAa+HnTpgQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3768

On 22.08.2022 04:58, Wei Chen wrote:
> Current NUMA nodes number is a hardcode configuration. This
> configuration is difficult for an administrator to change
> unless changing the code.
> 
> So in this patch, we introduce this new Kconfig option for
> administrators to change NUMA nodes number conveniently.
> Also considering that not all architectures support NUMA,
> this Kconfig option only can be visible on NUMA enabled
> architectures. Non-NUMA supported architectures can still
> use 1 as MAX_NUMNODES.

Especially the uses of "NUMA nodes number" make this read somewhat
odd. If I was to re-write all of this, it would become something
like:

Currently the maximum number of NUMA nodes is a hardcoded value.
This provides little flexibility unless changing the code.

Introduce a new Kconfig option to change the maximum number of
NUMA nodes conveniently. Also considering that not all
architectures support NUMA, this Kconfig option is only visible
on NUMA enabled architectures. Architectures not supporting NUMA
still use 1 for MAX_NUMNODES.

> As NODES_SHIFT is currently unused, we're taking this
> opportunity to remove it.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Note that there's an alternative with less #ifdef-ary:

config NR_NUMA_NODES
	int "Maximum number of NUMA nodes supported" if NUMA
	range 2 64 if NUMA
	default "1" if !NUMA
	default "64"

But I can see reasons why one might deem it better for there to
not be any CONFIG_NR_NUMA_NODES in the resulting .config when
!NUMA.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 13:13:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 13:13:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393427.632373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCfs-0004l8-2x; Thu, 25 Aug 2022 13:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393427.632373; Thu, 25 Aug 2022 13:13:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRCfs-0004l1-0I; Thu, 25 Aug 2022 13:13:32 +0000
Received: by outflank-mailman (input) for mailman id 393427;
 Thu, 25 Aug 2022 13:13:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRCfr-0004kr-2P; Thu, 25 Aug 2022 13:13:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRCfr-0006dD-06; Thu, 25 Aug 2022 13:13:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRCfq-00053c-Kd; Thu, 25 Aug 2022 13:13:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRCfq-0006LP-K8; Thu, 25 Aug 2022 13:13:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EFj8wUcBgzn8Mdp+Y4L8yl/E6Nz3a2avsxbtDmeezck=; b=z7kmafEAatwNcGy/yChRMx9G5C
	K6/YlL7ipPGshOqODbvpg/xcvIEPdDJHZ7UTtaVU1p06ow/4KjvLh53aWD/bkJPdE2zsVccOQUuLG
	cvzxVF26O5D+e+Ijk0HjiYBuUW4WzFSZI3XovS1w/Ij+Nua/m6Gi8JwtFF9uEl+dPSaQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172771-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172771: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4d83ee04f44a8dc9e6425a719b39c9d378730ca1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 13:13:30 +0000

flight 172771 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172771/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4d83ee04f44a8dc9e6425a719b39c9d378730ca1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   21 days
Failing since        172151  2022-08-05 02:40:28 Z   20 days  167 attempts
Testing same since   172746  2022-08-24 05:42:04 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 926 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 14:19:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 14:19:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393435.632384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDhc-0002ib-Vc; Thu, 25 Aug 2022 14:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393435.632384; Thu, 25 Aug 2022 14:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDhc-0002iU-T3; Thu, 25 Aug 2022 14:19:24 +0000
Received: by outflank-mailman (input) for mailman id 393435;
 Thu, 25 Aug 2022 14:19:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K3TS=Y5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRDhb-0002iO-3W
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 14:19:23 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0e6d7e5-2480-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 16:19:06 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C8D465BE56;
 Thu, 25 Aug 2022 14:19:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8E14413517;
 Thu, 25 Aug 2022 14:19:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XCoxIeiEB2M8SAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 25 Aug 2022 14:19:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0e6d7e5-2480-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661437160; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=sNKQlGDAZqQferZnNmp0WSqatXflduAzkdFeb31EiP0=;
	b=sZhw/MifAZ9FmVNdpEIeJr63FRoVAiv5dCw037wAAehLMI2JBd1YOH7DY7jAQvDEFppZS5
	Zutm6Gs1TXuG7MekvCt8ADUq28/EbOU5OjEgnfDVPV583ehUMykLGYu14gmz/0EDjqm8kR
	R7km1sxINwFnA7KxTi+0X0MlcG9X2l8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	stable@vger.kernel.org,
	Rustam Subkhankulov <subkhankulov@ispras.ru>
Subject: [PATCH v4] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Date: Thu, 25 Aug 2022 16:19:18 +0200
Message-Id: <20220825141918.3581-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The error exit of privcmd_ioctl_dm_op() is calling unlock_pages()
potentially with pages being NULL, leading to a NULL dereference.

Additionally lock_pages() doesn't check for pin_user_pages_fast()
having been completely successful, resulting in potentially not
locking all pages into memory. This could result in sporadic failures
when using the related memory in user mode.

Fix all of that by calling unlock_pages() always with the real number
of pinned pages, which will be zero in case pages being NULL, and by
checking the number of pages pinned by pin_user_pages_fast() matching
the expected number of pages.

Cc: <stable@vger.kernel.org>
Fixes: ab520be8cd5d ("xen/privcmd: Add IOCTL_PRIVCMD_DM_OP")
Reported-by: Rustam Subkhankulov <subkhankulov@ispras.ru>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- use "pinned" as parameter for unlock_pages() (Jan Beulich)
- drop label "unlock" again (Jan Beulich)
- add check for complete success of pin_user_pages_fast()
V3:
- continue after partial success of pin_user_pages_fast() (Jan Beulich)
V4:
- fix case of multiple partial successes for one buffer (Jan Beulich)
---
 drivers/xen/privcmd.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 3369734108af..e88e8f6f0a33 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -581,27 +581,30 @@ static int lock_pages(
 	struct privcmd_dm_op_buf kbufs[], unsigned int num,
 	struct page *pages[], unsigned int nr_pages, unsigned int *pinned)
 {
-	unsigned int i;
+	unsigned int i, off = 0;
 
-	for (i = 0; i < num; i++) {
+	for (i = 0; i < num; ) {
 		unsigned int requested;
 		int page_count;
 
 		requested = DIV_ROUND_UP(
 			offset_in_page(kbufs[i].uptr) + kbufs[i].size,
-			PAGE_SIZE);
+			PAGE_SIZE) - off;
 		if (requested > nr_pages)
 			return -ENOSPC;
 
 		page_count = pin_user_pages_fast(
-			(unsigned long) kbufs[i].uptr,
+			(unsigned long)kbufs[i].uptr + off * PAGE_SIZE,
 			requested, FOLL_WRITE, pages);
-		if (page_count < 0)
-			return page_count;
+		if (page_count <= 0)
+			return page_count ? : -EFAULT;
 
 		*pinned += page_count;
 		nr_pages -= page_count;
 		pages += page_count;
+
+		off = (requested == page_count) ? 0 : off + page_count;
+		i += !off;
 	}
 
 	return 0;
@@ -677,10 +680,8 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
 	}
 
 	rc = lock_pages(kbufs, kdata.num, pages, nr_pages, &pinned);
-	if (rc < 0) {
-		nr_pages = pinned;
+	if (rc < 0)
 		goto out;
-	}
 
 	for (i = 0; i < kdata.num; i++) {
 		set_xen_guest_handle(xbufs[i].h, kbufs[i].uptr);
@@ -692,7 +693,7 @@ static long privcmd_ioctl_dm_op(struct file *file, void __user *udata)
 	xen_preemptible_hcall_end();
 
 out:
-	unlock_pages(pages, nr_pages);
+	unlock_pages(pages, pinned);
 	kfree(xbufs);
 	kfree(pages);
 	kfree(kbufs);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 14:32:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 14:32:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393442.632396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDto-00059O-5h; Thu, 25 Aug 2022 14:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393442.632396; Thu, 25 Aug 2022 14:32:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDto-00059H-2t; Thu, 25 Aug 2022 14:32:00 +0000
Received: by outflank-mailman (input) for mailman id 393442;
 Thu, 25 Aug 2022 14:31:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oRDtm-00059B-2y
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 14:31:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRDtk-00086H-Gp; Thu, 25 Aug 2022 14:31:56 +0000
Received: from [54.239.6.188] (helo=[192.168.11.158])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRDtk-0002C0-AK; Thu, 25 Aug 2022 14:31:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=GrjSGEHegGmhgEV2ArvhYIxbRPJYzfXsAF02yXUp4P4=; b=YaDW9Ug/F0MdvVS1pT5RJKHgsQ
	xvcqlvCs3hsFmZJR5AxC9UI8plsyo7BC6N0NdjkxovNMyrbP6DZ+mAy//+sJcS1TOJe7tVRL8vWdV
	emVK8MNd0DkpduuBBpwvIBn6wZZLHh1RcV5egDeHkywuQCeueX1QQ4ck5TZNiiQqoimk=;
Message-ID: <6c14c923-0ab1-5a07-0e3b-4df2956d7ec4@xen.org>
Date: Thu, 25 Aug 2022 15:31:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH v2] Arm32: correct string.h functions for "int" ->
 "unsigned char" conversion
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <031ce9f6-ede4-f371-da04-ff8c2df209dc@suse.com>
 <43F406AE-988F-4429-B8CB-F47DBD599B43@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <43F406AE-988F-4429-B8CB-F47DBD599B43@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 24/08/2022 13:44, Bertrand Marquis wrote:
>> On 24 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> While Arm64 does so uniformly, for Arm32 only strchr() currently handles
>> this properly. Add the necessary conversion also to strrchr(), memchr(),
>> and memset().
>>
>> As to the placement in memset(): Putting the new insn at the beginning
>> of the function is apparently deemed more "obvious". It could be placed
>> later, as the code reachable without ever making it to the "1" label
>> only ever does byte stores.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

It is now committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 14:32:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 14:32:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393447.632407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDuM-0005f4-GR; Thu, 25 Aug 2022 14:32:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393447.632407; Thu, 25 Aug 2022 14:32:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDuM-0005ex-C7; Thu, 25 Aug 2022 14:32:34 +0000
Received: by outflank-mailman (input) for mailman id 393447;
 Thu, 25 Aug 2022 14:32:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRDuL-0005db-Dn; Thu, 25 Aug 2022 14:32:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRDuL-000877-C1; Thu, 25 Aug 2022 14:32:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRDuK-0002BQ-SE; Thu, 25 Aug 2022 14:32:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRDuK-0005lq-Rj; Thu, 25 Aug 2022 14:32:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kySqD+3yXgl+vZFy/ji8GNK3lLybSm9AZZl6PCuNj80=; b=POcr3BuNGMvqL15pe8jjlesa77
	JHW8jgituHMmd7//Q0jypBXJhp9N6adYqOGKWPXZF1VmwVGOz71Gnsg3QhkzbPVgzolhhFSpkjMxR
	tebKIobgSyjjSMPsFWSXryisRznU8Y+zArWdtLQBiw4yN23dlIDPV9Kl2vE87QmzAQjc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172764-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172764: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c40e8341e3b3bb27e3a65b06b5b454626234c4f0
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 14:32:32 +0000

flight 172764 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172764/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                c40e8341e3b3bb27e3a65b06b5b454626234c4f0
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   21 days
Failing since        172152  2022-08-05 04:01:26 Z   20 days   47 attempts
Testing same since   172743  2022-08-24 03:29:51 Z    1 days    3 attempts

------------------------------------------------------------
1512 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 156709 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 14:34:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 14:34:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393456.632418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDwY-0006LN-SR; Thu, 25 Aug 2022 14:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393456.632418; Thu, 25 Aug 2022 14:34:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDwY-0006LG-Pd; Thu, 25 Aug 2022 14:34:50 +0000
Received: by outflank-mailman (input) for mailman id 393456;
 Thu, 25 Aug 2022 14:34:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRDwX-0006L8-K7
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 14:34:49 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2089.outbound.protection.outlook.com [40.107.21.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 098a1744-2483-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 16:34:34 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7188.eurprd04.prod.outlook.com (2603:10a6:208:192::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 14:34:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 14:34:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 098a1744-2483-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W/Ujo5F0SJ7rfyfW1dzj/F04AN3+NanzscAcneB0XWGoQt6xy6sNEyDZoS2RyTKvRImyoHPUDkNMfVGNUYLPb41xuseyoG8J00umXCLzCR+7VBlVLJ+z65E0hB9GVH3gvI2PEYOXtp3twGbou7GHW+rDjlMZzrIyTjM4dZXdeQnH4g2y9hzsSkBQ/arrqVtklvUPKneyB/hhoJzGeq/vwpJXuVpZwl++ZsmNFCJr4pq+lbMcK1DKxNqdI5rT+C2BU54LI3FhVU5vkbbBRON5dISAGt+gplEuW23MkuWLanfSpFAObfzjkazdgTQmmcqrHIJm34l4AHffWNFJDYAS8A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WTa2VvAIxWdy0E5BCcQlqrQpKNAMUNm6p8bVe8gBT5s=;
 b=iOfnyXhqfnzMD77gHOA7+YwkIN8gqpJsn7GueBxpyaPgvydSQ03grk8AjWjrKbDO6NHB+QvkvE2Ex4MpoS38s3pe9M68FFTDq8XAp4JcloRZbqtpckVX3fvo8qpG9wtiwvx57ctmUf7VCu4zAphpT2LeYsTMxwNsJDK5/v1iGQ98cHf2EvMLGK2n5GwR5vJKG1LJfNNaZJtg8TVHHH2idg2yUi171DiVT0GIoJ0uBdWnw72sO6NE0MKg3nSIhoKBKEk9UCnSC1aVr8pQ/YtWprbvmjBMj6GxP/1xQEQTcTlimIz8XrWfbFx+XKlu5ixdO0sbnin2Zp+Xr9WjN2XnOw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WTa2VvAIxWdy0E5BCcQlqrQpKNAMUNm6p8bVe8gBT5s=;
 b=XHowSKIAmVzMBqCjpCood9wanPm4VW9dm6N5T5iYKrLORNZUG98FCgq+QdBr2MSDjxfEpBO96AdBPrX0v9aJ7fffaunB5aOknDYyADLhnFEeX/qvEzYPEhuBmkjLbQ7RuLHsaLpXE5pQQ+OKAAcsjrn5406H+2ENX+N+JCGUtoxywcSdoLYQcEgCOvBcIlWQ9PugYkiJIkAEuJGn6bDGgHyBBnWSJdkCwvLr7VhQ7D4+zuvuN4CLUVxeVdj19OOBstNsVdnCrhsBRdsxpLfVf2ftlD4P0wgdWgzKaJADez0BHwrECPUlin8+/4aA62hltglm4YMAJH+KpTO9qnT3OQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4919c645-1724-e6af-1db9-33a3214a24f7@suse.com>
Date: Thu, 25 Aug 2022 16:34:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v2] Arm32: correct string.h functions for "int" ->
 "unsigned char" conversion
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <031ce9f6-ede4-f371-da04-ff8c2df209dc@suse.com>
 <43F406AE-988F-4429-B8CB-F47DBD599B43@arm.com>
 <6c14c923-0ab1-5a07-0e3b-4df2956d7ec4@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6c14c923-0ab1-5a07-0e3b-4df2956d7ec4@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0088.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 15e9da68-3317-4a27-8a0c-08da86a6f4d0
X-MS-TrafficTypeDiagnostic: AM0PR04MB7188:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2zuiJ2vMMSutC6Y4/jEZOA7fyFFKxyp/A4eeGHMl+X+/gZUpOFdAirlJhIuunLuaPwKQShoO8kR/Uy+HUMX1RthjTpvCf3B+oCTQRkw+n5eq3psQh0mpc7LpsCgaeU12AmiQTEJZ7UlkhxMZ8iZNBjz0nDndE9CDxQ+NNZlfqC3dnwFwUAvG4Z3lfa4pdioW446JKrjKEurUfrpw3k8+uFgcXTfO3Q7pChjJg+OBkjaTUQgOutyTvaj1juCwW3KrlE9f8X34B6eniQg81RU2klXVOFuZFbTxLFnc8qevjiYmYPNlICVQDuAUXDEEtl/VNsQShMGV5k4zZzq5SVJwPtVvMiOCCI48sWgtujftQNbiYjey853zhNbJv87SluHxPgjdbHrbAhwNb4+h8RfYVmA8dR73zH+9yG3KgDRNT3cyikVbZY10HHqRQjQrgp1sp0VlfgP/tIgArMDHuEiDJdlMH7ZCtl4A2EoJsNFv/eV9HtCwR36nh9Uesggms8cBam761EqGQ7XVgxerbaX+ezePZDkZEDGPMnCJXlOu9cgiMu8ODX6I+C4zBynKSJPrFvrpukAu5suBxw6R6syaF5XsHZak+/IK2R6VTzMlZxqmWTHR6EWrA5DieY3Sya73Aets1O8kbQHc5yHz4ArMZQub3chFXqbFsgfTucrdQGUnrJzwxmyplpQ5OVJhzaVCELU4qgCEEiLONRCiFilBiyJ7vpTY2VjEyATHUm96qVxGt1yhilN/oda6toi0icYP3ZkLuyUPxbPlNVGbR5DgXl5FkK0vutwjRAjHeb7fMQM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(136003)(39860400002)(396003)(376002)(346002)(54906003)(6916009)(316002)(31696002)(86362001)(6486002)(478600001)(186003)(2616005)(6506007)(38100700002)(41300700001)(53546011)(66946007)(6512007)(4326008)(4744005)(8676002)(26005)(5660300002)(66556008)(2906002)(31686004)(8936002)(66476007)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MnBuQ2M5ZTFENWh2NmhzVitoM3NNcU11dlpiZEJHNHlPQXBqbVJkOG1Db1py?=
 =?utf-8?B?bzhQcmtaMmJYand0SkZ5aVdmMnZhK0dlUzcwajhXUDZqMWVUcXUrUUtSOVRy?=
 =?utf-8?B?bHNXcldKNXkwOG1CYlNRMlhVMXJKOC9mU3BtSzBvMlBVU1pFdDVwTUMvdzg1?=
 =?utf-8?B?b3pQSjdUeGF3d0xyRW5wajM4amllTURjeUJCVXpJbXZwbXVmSHpuRkR4U25p?=
 =?utf-8?B?OGgrOGNSU3dEZFlHa204L1hPREN6cDFqVTlDdFdjYnNkVzBaNlpxQUpEQ2JI?=
 =?utf-8?B?TTcveEJGTGNocGcvY2tLaU01SHVPSVArQ0kxOEZpMklvK1pYWmRHcEtWU3B0?=
 =?utf-8?B?Mmg1Y2hVeGIxWm1xSmEvTDgwSkNCU1ZwNW9VbzBwQ3diUEJWSnFqUFJKaTFu?=
 =?utf-8?B?bGdYcFE5VVBsL1pFNEF0R3pVT0F2dHlQNW42M1RhSDhpWlYzdjd0NE9SQWl3?=
 =?utf-8?B?a2VsanA4aFp0cXVyTGV5OTRlbGtGdDJiYytTYzNDN25mdGRldEZ0SDV4RGlh?=
 =?utf-8?B?VStyWlU0eFYxSkpmRHh4bXdxK0VicGVGVG82b2F0RVd6Q0FQTEFjMjNTWHdQ?=
 =?utf-8?B?NERIVUR4dmZhTnl3YlNtc2podFVreFhMOGZwK21TSXVJb0svSUFIajl0blUr?=
 =?utf-8?B?czJqSmdrczkwemN2Tkh6b005VkZ5c201TWQ1aDdGZnJUV3RaWHZMVnM3VDNp?=
 =?utf-8?B?VC9SdEhMMjBVSG55S2FOa3V2VlBOdG1iODBXSjN5YlNjVkJ1cnB1eFhDQUZQ?=
 =?utf-8?B?OVB3S01veVBaR2EwQ1VIcUNhRHZnUys5NXdOWktCZ0VaUUtJMlVnU2dEVlV3?=
 =?utf-8?B?OEQ3cGc5Rkd3ay9wbXRHNVcvcHdRbGtTR2pPWVZvNXhmN0FSelNYMkh1SlZj?=
 =?utf-8?B?NjZvdjRuUFY0d1hVVlVmY0M5dHA2NzNHV3lJc1FSQjJoRGNlV29qdTYwVjdk?=
 =?utf-8?B?anNmNTV5TG1kUVhwODlIN0ZQb0Z2MzBEVUV1TndLdXpReVBJMDVZRTZ0YTc5?=
 =?utf-8?B?c2h1MldTWCtieTJNckMvZGxtTER3bHAxekZXbWhrd2srSGNPaGlGOXF5a2s0?=
 =?utf-8?B?ZXAvbitUVjAraUxXOU9TWUpJNU81Nkk5RXZDb0Y2b2lkai9UWk9BdWptWEZt?=
 =?utf-8?B?end2VEl1WkJ3anlVVHhsanllSXFrd3RSWEtIVTBaVlNnN2hSWmRQc3RGb0Jy?=
 =?utf-8?B?SVlwdlZjM2xvVEFFVldMZWZvTE9JODFlMDZmQ1E1NGkwZ2hOeTYyNzNTZ3Bi?=
 =?utf-8?B?NjRwVjcyUEVoVjZvUDhkZ01HK0F6NmNUOS9ZRllidzdYVjhybzJmR1Q5QU9K?=
 =?utf-8?B?TWd5RXk3YTlSQndKM0hsdVpzdEg5emxBLytiRnlNZStkN2ZDa2VTL29JY1Rt?=
 =?utf-8?B?VyswWGJ1NXQxVE9oTXhMT3dOUUJNdG96NWhZdnpUOG9DQTF2d05XS2k5dkVR?=
 =?utf-8?B?VXZENFNuRlRTVWphdkZ3QzJEM0FpVE9KdkJSTjNPZThmRWIvWTlNT1laOHYx?=
 =?utf-8?B?ZEJRQklBM3FqcGczdXZTOEJRTWZ5eHZoVUF1NXFieVBYZlRKQWtTZm41bUhB?=
 =?utf-8?B?L3hHOWNTdERycnY0b21XRlFOTjJnVGtFQ2xhWkRqQ0VLeE11dUY2bWtVeVM2?=
 =?utf-8?B?c21mQW1jMlZXZ2hHbWN0K1lqYVQ1K0cvdFlFbDE3bnFkTmQrcmVRZ0N3Z3k5?=
 =?utf-8?B?cHl5T1MrTDExOHBoRG5oV2dXTmQrRmxTcjBMWE1yblJXSk9lZElVN2Zza08w?=
 =?utf-8?B?YVZnbk1xeFpiUkJDMGtoVUFFSVB2Rk9PWGJoR2hmV1VYKzNEczdOTXRwMDZD?=
 =?utf-8?B?MWUzVFZoT0l3T0hLOVV1RmZOdmlNZXNxaXJlbFpzUEY3S2t1aEtFeCtUcVFh?=
 =?utf-8?B?OVh0K093Z2ViTS9ZYWZiZjZaUEZ0WnNZcHM5ZXJzdTJmM0R0WktpQmhsSlRD?=
 =?utf-8?B?akZmTmxQWjVHVTBEbjlnNWh5bnJnaW9EeXg1Nnc5UlZqQkxxQU9XR010Rk5B?=
 =?utf-8?B?ZEJaTStuRmxacloxQ21UVDhzWHhGbHIyUlVXZzRZM09PWkxxVEpkZDZRUVp1?=
 =?utf-8?B?SS9vMldHSkpObDZibWh6MVVJSWM4aFJKQ3dzUUhFSS9iTzdrOXJhVHdGRFpJ?=
 =?utf-8?Q?qr1ZRv3quevX3ie3Io3WX8ngR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15e9da68-3317-4a27-8a0c-08da86a6f4d0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 14:34:45.8222
 (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: t5nK0g7IbOhkVPsi1LhMKdZWGMYo4YU8fIX6nYpyo4aUs6cLsqjWCvC/Hr8oG924AOPYBgqqEkmsK1F4eGMMKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7188

On 25.08.2022 16:31, Julien Grall wrote:
> On 24/08/2022 13:44, Bertrand Marquis wrote:
>>> On 24 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>>>
>>> While Arm64 does so uniformly, for Arm32 only strchr() currently handles
>>> this properly. Add the necessary conversion also to strrchr(), memchr(),
>>> and memset().
>>>
>>> As to the placement in memset(): Putting the new insn at the beginning
>>> of the function is apparently deemed more "obvious". It could be placed
>>> later, as the code reachable without ever making it to the "1" label
>>> only ever does byte stores.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
> 
> It is now committed.

But then perhaps not pushed yet?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 14:36:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 14:36:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393463.632429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDxw-0006yo-DF; Thu, 25 Aug 2022 14:36:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393463.632429; Thu, 25 Aug 2022 14:36:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDxw-0006yh-8q; Thu, 25 Aug 2022 14:36:16 +0000
Received: by outflank-mailman (input) for mailman id 393463;
 Thu, 25 Aug 2022 14:36:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oRDxv-0006yV-5q
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 14:36:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRDxu-0008CF-VG; Thu, 25 Aug 2022 14:36:14 +0000
Received: from [54.239.6.188] (helo=[192.168.11.158])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRDxu-0002Yv-Pc; Thu, 25 Aug 2022 14:36:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=M7isopoYGEgRfjyflOyDCuw9v+/A4LACWVM/dnwf6pM=; b=pGCCF19/g9G7/wvp4gC82HLb1K
	qEvL64mRT35WTMt//23Ht0ZkpJN+A/9ME2Al3nHJGev2NX5pbaibaCU4p+rZQ3azLLxkn2wnMOC1g
	Z85/JuecMvICnLDPNa0lw7PUXsVedcGUs0edFgecGALkDNbktQgKcfg2VCDOivvZv0mQ=;
Message-ID: <2a520490-dd84-686e-ee1f-f84581314320@xen.org>
Date: Thu, 25 Aug 2022 15:36:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH v2] Arm32: correct string.h functions for "int" ->
 "unsigned char" conversion
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <8e5df72f-2ed8-3bec-18ff-3da228ab9ee0@suse.com>
 <031ce9f6-ede4-f371-da04-ff8c2df209dc@suse.com>
 <43F406AE-988F-4429-B8CB-F47DBD599B43@arm.com>
 <6c14c923-0ab1-5a07-0e3b-4df2956d7ec4@xen.org>
 <4919c645-1724-e6af-1db9-33a3214a24f7@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <4919c645-1724-e6af-1db9-33a3214a24f7@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 25/08/2022 15:34, Jan Beulich wrote:
> On 25.08.2022 16:31, Julien Grall wrote:
>> On 24/08/2022 13:44, Bertrand Marquis wrote:
>>>> On 24 Aug 2022, at 13:33, Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> While Arm64 does so uniformly, for Arm32 only strchr() currently handles
>>>> this properly. Add the necessary conversion also to strrchr(), memchr(),
>>>> and memset().
>>>>
>>>> As to the placement in memset(): Putting the new insn at the beginning
>>>> of the function is apparently deemed more "obvious". It could be placed
>>>> later, as the code reachable without ever making it to the "1" label
>>>> only ever does byte stores.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
>>
>> It is now committed.
> 
> But then perhaps not pushed yet?

Yes. I tend to send the message just after I apply it. I will push when 
I am done with a batch (in this case, this is the only patch I pushed).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 14:37:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 14:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393469.632439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDzB-0007Z4-N0; Thu, 25 Aug 2022 14:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393469.632439; Thu, 25 Aug 2022 14:37:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRDzB-0007Yx-Jf; Thu, 25 Aug 2022 14:37:33 +0000
Received: by outflank-mailman (input) for mailman id 393469;
 Thu, 25 Aug 2022 14:37:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRDzA-0007Yp-1l
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 14:37:32 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70049.outbound.protection.outlook.com [40.107.7.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a7f0023-2483-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 16:37:16 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7330.eurprd04.prod.outlook.com (2603:10a6:20b:1c4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 14:37:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 14:37:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a7f0023-2483-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QmBzdAv7W2gE+J1G4lCAN2AyZSBgWGplJW9VZRbHvLrfFNtovlnOeESeNuVj5GZl2NSNwDvZst2LvaOtsz6VVKIu6w/mxevDIgEEgRDDC0L3am7rw8B8/FdYVZOfce9sesjC4osUfPHfR68JA7yKunfjaORKYDsnJVdsbbQ2phbnMTcIFsBKeXA5HwAHVaRrBlEIBaWeKAOi3+khjiM1H4QCN5K2Y6GXKpGIjaXbMYmQuT5GFfxVQdtUnyIThO6Y3JweaZYyEO/8fWPPDiEnc7r52L4ySwtw8Q3ZoeHJbsUNNC//r2N2VgZTJFpCu9H3ESclCt0AZEePYmM+uQ691g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pIQleB1AFrnW7iHGEWMyVGryaLFdWb/L1obCm6gJ8cw=;
 b=YAlbwnSzSLgFeW5Nxswt1f8Q0glc5J4m8a+wTzDZefX7w2Ao64HmO2ZpItaNq3FHZj93DpR89cWv4q7WHwbf2PXED0K3XoDq15LzteLw/Hh5aHVYJDwQ8X+fX3TkRJP1zHtz84OD82LXDIAAt4H3y9grXvniB2G104p2lzVb5IiY+2akjAqWCeBDMEA5dS7rvG41iothI92sWyqnmxh6bkbntHfoiE+htxE46ZaYM+R/grH8g29eK3F/mJnmSnQgvMy5+DB/J+u/uGNwmz3cgzE9SIhUZENll3mX04pbJ91ZOK9iffjZzxUkS1JBIOUs5wZrmnamIixxiqiotsqZKg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pIQleB1AFrnW7iHGEWMyVGryaLFdWb/L1obCm6gJ8cw=;
 b=K50h+AbwGR+Yw/K6n7/nBFKfi4aq32U6LdsZMGv6Iv9TPqr4idbnK1tRJAXb89fCp2SGuQ4bXCNhkekD3OxJzGJQMnXEOYK4Ng2FQIT80SNVtvoi+hUvKvSpKs4db5ArW5L9oB3jX+lIO/uDgLLY86AuSFhhmQkDiqOdS4A/dORtt5p2EnQVD/Ofz4wooXYdlVUtSp/XZ+IBw81qtKlan0GT7sFgpig0RYn9OQyp6q7shEcI16oiHjzMCd3uLiqI+ucXhiBigrAjt8qJLGh/Yrwz/1n+jkqAwq1NjnUQ7da2CSiTXdNSLz8uGWl8XjRod/YqWk42do5rNVNsi5MkDg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5a331923-e645-9265-75aa-dcca7e57a312@suse.com>
Date: Thu, 25 Aug 2022 16:37:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v4] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 stable@vger.kernel.org, Rustam Subkhankulov <subkhankulov@ispras.ru>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20220825141918.3581-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220825141918.3581-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0116.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 040b75bf-055c-45df-5d03-08da86a75670
X-MS-TrafficTypeDiagnostic: AM8PR04MB7330:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	806O5ZtevzZK+AM55UtLMstZmRVjrdWHksUiBUiz37d9Y1DJEfya0d04GgKrMoniV4xqSxQSlhiITrxi8ksJkxrmdd7p7b8Q/93yLeAHg89FQ5z4XaKcZltuDKi1zdauAMeZ/z45uSogHTaLe46BT/VVZNWjA+13T6VZ1ACp/6riFuAViCy1H3DTC5tIQPdAsBdBSOOjE3Pj6wivbw64Q5p3dY9k0cV0wTgPOSMTqFllIO22EuYZHLJ6mjRaOCXADnDvqoLJqH04xJhjW/MB2UA+Bw8xQkg3ODtF5aa9JFDi+8ojTvvlEv/qzSS6aXL/pb4yrgrVp2vvfN8JxJi0u8HOQ5ocb6YBHN0dbdEJAs90hbR0f7/cxn+QOWZTemsCsqf7GAm4OKBGIyse9kvR/xL/+93u3WazV7VxNNch/fMjsoBSsfm70BqaRst08XtjM1PDxwBvB28yrxke/eGKwJ4ZcY9YCSdlw/ycfXyMSTaTYU9drmV53i9/ATwG5d1LY1tBSmpCQnzB6hZrQwX54MUPIKDs0LMMq22FUEGX1UKj/X0W7iYa1isAujdOn6bHt8Du/FHr++iKYJPVaGGatRacIuuPQhxq9zIgnyDA4eGSjMz92MHx8e+wyNLo48VSjD31RBAPGRsv1ur/ZtlOP7ANIvWAcV24s+bNscgHN7xfy0SBQSGZ0vsukNbEQuawaU8+LRuJuzPFAgLRjVQJ3ochCSwAAn10F68epnGVpFNPaOUg0aK0VCbsKXs7KOyECHITkRPD1jf8ck4YgTgy58z3tX53uBjhnb7NVU1ut2E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(39860400002)(376002)(346002)(136003)(38100700002)(54906003)(31696002)(2906002)(37006003)(6636002)(31686004)(6506007)(36756003)(186003)(316002)(6862004)(6512007)(8936002)(6486002)(41300700001)(66946007)(5660300002)(26005)(83380400001)(8676002)(4744005)(66556008)(4326008)(478600001)(53546011)(2616005)(66476007)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmRtc0RqVW1HRDY3QytCbkdYdzBKNWtRRm9xbHZaSnV4Skk1WGNBdDloYmI0?=
 =?utf-8?B?RncycXZsSlNNOUE0NTdhejNLMzFPTlRtQ2lEYUN1ckFuVGxxaDVHbUIvc2My?=
 =?utf-8?B?dndiaVk4SVhSMUNwZFh5ZUtlRFI1R3lRR1k4clphU3gwamlwWW1BMm1GZ1o1?=
 =?utf-8?B?cE9zQUZPSEs2SHFIY0xZY3dMcXJhci81RkdURVdWeHFOYlY3NmRYb2RKTWJy?=
 =?utf-8?B?ejhyelpRTmZJQ1JlZDBRSGRSN29MNUtlZ3lvTThQTGNyTUdXd3NITnpwM3FT?=
 =?utf-8?B?OUJYajVoSzRBMkovMGV5U0drRnVjUG4yRUlYMEdWTFBEQWtVOVdydVBFWURD?=
 =?utf-8?B?aVAvN3F6czQybTQ5WDR5WnE5b1dPSUd5YlNGeVNPS3RBZTBZZGJ5ckJSRWM1?=
 =?utf-8?B?VkxvUmxGUkJLdVNXamtoZFRqdDRYdnhDU1V6NU5SUGhXR3FzSEVuTFJUZFl4?=
 =?utf-8?B?UmhpRUNCaVVPU0lMdHljeWlGb0lLVllROFBFdzA5QkRhWEp0MzBEaEJmYW83?=
 =?utf-8?B?SE54MWt3dUUzaWtUQVJaa245T3ZxUmRhTU5ic090SGlqaWFhWVFEZzFpVXdz?=
 =?utf-8?B?QnFiUnpUMkIrK2xJd0lUdEZXTnZFM3NUL1FjU1RTbjRIY1ZLWFJaM2JmZi9S?=
 =?utf-8?B?NVRhUEo3SWhwY1p3RU9WMHFjUFVMRTVCczJsdWZJSmd5eUV3NEFkRWNybFlF?=
 =?utf-8?B?MDRsNVlxRkF2WTRzbHZDMlFHZXYwSTBIUkduUnlIWUtBNUFpR216Vzg4U29T?=
 =?utf-8?B?cllxMHU0SWhqVmFqQzVPcXBzQ2krVmN5VTdwNHprSFBQaHhoRFZOb1JwaXdS?=
 =?utf-8?B?RkZXbXNMTElUNlhYVDJxTDMzMTVabTZtWU5FcERNYUJFNzVhZjFaaCsvK3Vu?=
 =?utf-8?B?dWNySG1HWkhQdlM3Rkl4dEoyOVdlVStsRDhoZ2hXM2ltWnM5QVd4Uisva3pP?=
 =?utf-8?B?dURBY3NQaFZTa1BvYWJieWVNOVc4Yy95VkJ2UDA3bUhId0psb3d0UVFNN21P?=
 =?utf-8?B?ZXNlUjE1SlcrL1phNVI2djdLbWJuMXlNdXZlR0E4aExEMWduRnJSditlRnJy?=
 =?utf-8?B?NWhuVWlQY2xjb0tuWit0R3NIWWg3a2tjKzRzWTFaL0MrdTh0dC9TZDRvSDN1?=
 =?utf-8?B?NnloZXRwNDgxcDRINzRVUW8wZDhzUmhKbDg3T2I4dWUwZUU0WEp4SVkvRVNX?=
 =?utf-8?B?SEdMb3llc2xFNFZEWGJRTGw4VUxkTmx6Z0xmZ1VGRXQyZWltUDZoSHRUR0VJ?=
 =?utf-8?B?UVVLd2NZNnRacURoS0NQK0dlc1NQMWhKREJ0ZGx6MmN5MFY0cHc0Nzc5VnRJ?=
 =?utf-8?B?bzc4OHpha0wzb0wwZ2xleDRWZHEyalBvY1NrT01pczc5VHJqMDcvcExCM3hX?=
 =?utf-8?B?Y1hxK2RZdXdLa2h2VWVtUDgySVZmWDNyc0JwNnQ3TWZEWHNHSDNuZWxKa3Nr?=
 =?utf-8?B?enNvTExnWmlGOE9QbmZPRC9xWml5b1dqQlN5eGRHcmNqcmJxVDZESStoMjVH?=
 =?utf-8?B?Mk9RS3VsVGZ2N3FrUzd6S1JjZW9ScjVFU0lFd2dmcC9McG5GdlphNytpR2hh?=
 =?utf-8?B?S1gzL2ZlTzU2dng3SkY0emZWWk5xK0RIN1lJV2NwRU5FOG1VZjNSTVU1cjZW?=
 =?utf-8?B?QlFXMkcwVldCSk1LZ2dSRE5vU0U2djdaNVhNaUI1YWp4VmkxSmlnMUR6UmZY?=
 =?utf-8?B?aXdmbWtYeWFTaFJ0a3I1NHRXMU1rVDE3NVVDQndxLzVMandaUjF4Yktpdm5v?=
 =?utf-8?B?Y05QUTNnNitOQi9tVEJmbVlQM1Jha0IxZnppY1RJcGw1VWRiMThqTmhtK29q?=
 =?utf-8?B?OTRhZHBqRzF0ZmJYK1FwRm1FWmNJN2RmWFdVcGUvWUtBTDl0TkFVcStVN1dG?=
 =?utf-8?B?ZHNsR0ozTkJGUHVnY3FSUFJxdVFrSnRld2RSTnF6MEhLRklLUk8rc3c0Ymd2?=
 =?utf-8?B?YldHT3JwZjI0NnRxK1pQci9hQkJhZHV3NEs0YUgrNUlsOTFYVHVsaFJnbnlq?=
 =?utf-8?B?OGZzZG0xTkhRWUkxbTl6UE85OGZmZ3pmbHFXMXNvMTB0SkRUMTUvVGNRZDFQ?=
 =?utf-8?B?Y1FWZW9OdU1LQmtYbEE0akxYRUxwMEp5OG9SNGlKN1lZeXBuOHBONUxOZlFH?=
 =?utf-8?Q?Hhf6I0hyuY2i5p/LQYI4Jeo17?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 040b75bf-055c-45df-5d03-08da86a75670
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 14:37:29.5305
 (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: H2Mdk89Q+rrRTNaFCI/Z97lF7E9cgDWXDtojCcs2EDN/r33kLSX2DCkAiRdUNUkKLpqwXw0Yo20iMCzyuhzJ9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7330

On 25.08.2022 16:19, Juergen Gross wrote:
> The error exit of privcmd_ioctl_dm_op() is calling unlock_pages()
> potentially with pages being NULL, leading to a NULL dereference.
> 
> Additionally lock_pages() doesn't check for pin_user_pages_fast()
> having been completely successful, resulting in potentially not
> locking all pages into memory. This could result in sporadic failures
> when using the related memory in user mode.
> 
> Fix all of that by calling unlock_pages() always with the real number
> of pinned pages, which will be zero in case pages being NULL, and by
> checking the number of pages pinned by pin_user_pages_fast() matching
> the expected number of pages.
> 
> Cc: <stable@vger.kernel.org>
> Fixes: ab520be8cd5d ("xen/privcmd: Add IOCTL_PRIVCMD_DM_OP")
> Reported-by: Rustam Subkhankulov <subkhankulov@ispras.ru>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 14:40:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 14:40:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393473.632451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRE2Q-0000bu-7F; Thu, 25 Aug 2022 14:40:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393473.632451; Thu, 25 Aug 2022 14:40:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRE2Q-0000bn-3D; Thu, 25 Aug 2022 14:40:54 +0000
Received: by outflank-mailman (input) for mailman id 393473;
 Thu, 25 Aug 2022 14:40:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=azg/=Y5=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1oRE2O-0000be-Cd
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 14:40:52 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9f344e3-2483-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 16:40:51 +0200 (CEST)
Received: by mail-pl1-x62a.google.com with SMTP id g8so14808917plq.11
 for <xen-devel@lists.xenproject.org>; Thu, 25 Aug 2022 07:40:51 -0700 (PDT)
Received: from leoy-yangtze.lan
 (ec2-54-176-161-147.us-west-1.compute.amazonaws.com. [54.176.161.147])
 by smtp.gmail.com with ESMTPSA id
 s185-20020a625ec2000000b0052e82c7d91bsm15222367pfb.135.2022.08.25.07.40.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Aug 2022 07:40:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9f344e3-2483-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc;
        bh=ckMPMlpw+5RknIDJBZ4xeMdrfHGeqfhClarfCfz7NQk=;
        b=W0a7/ynfyWCYwfmx8T73GuKyM/AD6XO0uoFMeL7DkKEHziZsfHMihmBRzj0kKSHKt2
         1b1PtwgYhvXFC4fZGi5xaqOg0EwbOS9+jT8/yVXgPrq+cgBZBzf5Njq+N7/m50MNy8ms
         li4DC1Hk6OT1qvfVWGBZFNMbQyxcpZIrEGU/CFvcmVL9Z+jzlv5KywrHGzLqadhh9Up5
         41gBh5SZ9pu+jm0jXZvOENl2ITc/ODEIyk4CR7p8PuUOL6CE2tQ74V2KYSzcAGGTrk/x
         F52zZc0xjUOp2YicIUavTN36UG7riY+IbrqYr4OLG2aaSNK52r84wIZL8f5SB/yR0Xd9
         UDKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc;
        bh=ckMPMlpw+5RknIDJBZ4xeMdrfHGeqfhClarfCfz7NQk=;
        b=QL/gTZ+UrLoRxCyDmjJgpeiZHLCQLP3YRAETw57vmrkZSgStTt7DS6m8pXm/BQH7gY
         aVKWdNFM+Kvwdmb1D9kC0b/ssl8XnBQNZ/Qav1pmqJNwVJ8pSvlwV/uBSeY92+GRoxvh
         69CJK1sd5qKhmmWylUFmqFHg9ZFfyZ2GbltMnCMIpVZ+elTL9rQ7vJFyMuv74dQAVbPX
         DSZ76qoxCxaw5y5ukgbnkz/GKYqPpyJKVLsKlZzVVMmnfaoK9NR/6cN3Xf5OzIOxRQ+u
         rlsRc6NpCpUlMNT9Fv+87HkwQfl2VigjCnPZPK/XtZppLqg1bZC+CdsYXCzj8OcZELtz
         zl3g==
X-Gm-Message-State: ACgBeo2tDz6PNfBsAVY+0f/MOsROJz8sPMSTIWs3ohuCyDuMffbT7oLD
	gabhbt9lgMiMQkDG5xlSlreqDKhMYod103td
X-Google-Smtp-Source: AA6agR7cz+JQ6otQP7fcQWnUexMB/QPRqJA/hX0izpcR0q4K2GLXdgKPl9dA7N4Z8c4ofZfadB7e3A==
X-Received: by 2002:a17:902:ec8d:b0:172:f3c7:97a9 with SMTP id x13-20020a170902ec8d00b00172f3c797a9mr4236200plg.40.1661438449489;
        Thu, 25 Aug 2022 07:40:49 -0700 (PDT)
Date: Thu, 25 Aug 2022 22:40:41 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Marc Zyngier <maz@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>,
	Peter Griffin <peter.griffin@linaro.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <jgrall@amazon.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH] xen/arm: acpi: Support memory reserve configuration table
Message-ID: <YweJ6ZpRhMkT5bab@leoy-yangtze.lan>
References: <Yv4DMuQHbGNhqAP4@leoy-yangtze.lan>
 <CAMj1kXHkWH7tkpuPLLjWszOVTQ-Cr3Zcbj8w0bogSd0Y_hso0g@mail.gmail.com>
 <99e460f1-ca5f-b520-69e0-b250915fd591@xen.org>
 <Yv5fii2GvIeHEHZX@leoy-yangtze.lan>
 <CAMj1kXGZ0ThmPT2FU4M07waB=Q9tXxs81TGTysV5dG5fm0D0Gw@mail.gmail.com>
 <871qtcsacd.wl-maz@kernel.org>
 <Ywcr1849LiEHezd3@leoy-huanghe>
 <12a8c169-55aa-5e9f-19f8-acd77ea2a8fe@xen.org>
 <YwdiDr2uLXGEl2TC@leoy-huanghe>
 <52f24132-ba2b-d4ab-ebd0-613f673b5658@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <52f24132-ba2b-d4ab-ebd0-613f673b5658@xen.org>

Hi Julien,

On Thu, Aug 25, 2022 at 01:59:06PM +0100, Julien Grall wrote:

[...]

> > Seems to me, to support para virtualization driver model (like virtio),
> > Dom0 needs to provide the device driver backend, and DomUs enables
> > the forend device drivers.  In this case, the most hardware interrupts
> > (SPIs) are routed to Dom0.
> 
> That's correct. Most of the shared interrupts will be routed to dom0.

Thanks for confirmation.

> > To support passthrough driver model (VFIO), Xen needs to configure the
> > hardware GICv3 to directly route hardware interrupt to the virtual CPU
> > interface.
> 
> Do you mean GICv4 rather than GICv3? In the latter, all the interrupts will
> be received in Xen and then routed to the domain by updating the LRs.

Thanks for clarification.

So GICv3 relies on hypervisor to set LR, and VM can use virtural
interface to response (ACK/EOI) the interrupt.  GICv4 can directly
forward the SPI to the CPU virtual interface (without hypervisor's
interfering).

> > But here I still cannot create the concept that how GIC RD tables play
> > roles to support the para virtualization or passthrough mode.
> 
> I am not sure what you are actually asking. The pending tables are just
> memory you give to the GICv3 to record the state of the interrupts.

For more specific, Xen has its own RD pending table, and we can use
this pending table to set state for SGI/PPI/LPI for a specific CPU
interface.  Xen works as hypervisor, it saves and restores the pending
table according to switched in VM context, right?

On the other hand, what's the purpose for Linux kernel's GIC RD
pending table?  Is it only used for nested virtulisation?  I mean if
Linux kernel's GIC RD pending table is not used for the drivers in
Dom0 or DomU, then it's useless to pass it from the primary kernel to
secondary kernel; as result, we don't need to reserve the persistent
memory for the pending table in this case.

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 14:55:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 14:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393483.632466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oREGm-0002Dd-II; Thu, 25 Aug 2022 14:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393483.632466; Thu, 25 Aug 2022 14:55:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oREGm-0002DW-Ew; Thu, 25 Aug 2022 14:55:44 +0000
Received: by outflank-mailman (input) for mailman id 393483;
 Thu, 25 Aug 2022 14:55:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oREGl-0002DQ-HI
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 14:55:43 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2056.outbound.protection.outlook.com [40.107.104.56])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd6e916f-2485-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 16:55:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6285.eurprd04.prod.outlook.com (2603:10a6:803:fc::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 14:55:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 14:55:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd6e916f-2485-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e4xTZ5+GpfW609YWFF5CFdekAeBQvz2TJbuFQOKHwftjMXucBB9gcH1RSLYZOZt//ztX9Obm43q6cwSiakpf3/YNdHIwQi+6JjVYu2YaB1sXKV9GMLcTPvH8LeCqJRpjQti4JG251AdEiUEM0DuvnlyIncVADG/fFTl7go1kITmHR1Wd7LsTDXvRc+665WHK2yfhOUImjFbanjwAT30A/J2nM9a9NZ5R4z0mEMoT+1aThBpDKeaVzkh/ekA4pjTSNZlYtLL5uq4JMIKN/iByT3JKeMFvynH2NLyjQTcTC0khdxcvtEA+PF8Kn+wsioH1WFBA5AMzXnDpP8XVBQgURQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZuTKIXNqDPf21qQmXvGRzRTOuc2XmKPLghP6ySECl14=;
 b=X45/loYs2k3OtQTBpIW0MiONjUhVl+uDDC/W+fgYWSOdq7djPwjoo23CEjv+b9zdwsJ2fpfXdOJrBXNZeYa5F4zM2f8I+jnWEJ+AXIs3JW3v+xiU0stZic3D9fJ8bh7oWjRhyYm/JnAzLCAlhGQ2wbZVaMp45yAOJ4gtDIiG1a4g9EI0GgaCeO9vSh0d/SHy3YqCJhmEej4wYgGQ2b6vyImNleJv38Px0Asa+SMJm5XieGMwj3ZfPQ+2xJszyz1AVZT4W5Ssv/XLnYYunjGuoTPWnrtVbEXfeaqVByS05+7/H5Vy0EgCWin6IsuExF77zrT4CtV7HmAVIBKQqZdTeA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZuTKIXNqDPf21qQmXvGRzRTOuc2XmKPLghP6ySECl14=;
 b=FhH4c7UytV0QzmcB8PEQBgUYlekZ1cgPRKdpuTjDFO0dLEJHWXvp3JViryXoZwOgJBBgpA+8gkrmd/ypAX3HaeZX0ooQouvSJF8Iz0qUIP4IF1CQTJ2Ccsptsoe/uvbjt9cdI5dKBs6s44h/lb7PoyREn4uFJWO8ZpqAT6scqzTKWI46kqyq0ymoMAqCIcplJmXrZnxn8gtvX+jiQjP1EkeZKC+BMgmErcvH2JjzQfu5WKUdWAd2el4q3tJTAOFjXIP39JmvmEwlKuhbArfFd8RGh4MVrGpCvYJHIOXEBfZLMhyadzXYmOiN9hI2A2PaB8KqowMu+/mks28z5qiFuA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <941ccb01-adf6-d2ef-9a8a-ea8fdfe69ceb@suse.com>
Date: Thu, 25 Aug 2022 16:55:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: Ryzen 6000 (Mobile)
Content-Language: en-US
To: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com>
 <uGB9M0prJ1uFQ4e4SWvoe_jFXgjpBlNr1C8q90DWeR6CtiSzXBUQ1nGLD6tl1dTeYvqP6347vsu-MVKu7P17KH4QU8GFSkeuOCcQCyslSMY=@protonmail.com>
 <c24c469a-e0e9-6162-b8d3-07c1707fc2d8@citrix.com>
 <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com>
 <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com>
 <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com>
 <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com>
 <Zz_iE6KdPdkQ_TjUf-W2ODPIXo2WwXz0JxF5vgPjVuz8uWfJyto5S_nYRzSNrE0jC3r4ILhjkLH_PtW_fmIeTQIQtI6wTZxnUvOl0pr6ne4=@protonmail.com>
 <3b2ad2ca-3c6c-4dcb-c603-bd5440350f20@suse.com>
 <2dHPPtixTlkUXYEzNPFRI4ezKHSe1A2VaThMjBpd1aM3NFkZQuyRdfmNWCigm1oXfdKhOwDJGoPBBIMLYtYhQlENV2eFVZ0G9EMOMj5e6UE=@protonmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2dHPPtixTlkUXYEzNPFRI4ezKHSe1A2VaThMjBpd1aM3NFkZQuyRdfmNWCigm1oXfdKhOwDJGoPBBIMLYtYhQlENV2eFVZ0G9EMOMj5e6UE=@protonmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0063.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 581244ab-f0f9-43a6-15b0-08da86a9e07d
X-MS-TrafficTypeDiagnostic: VI1PR04MB6285:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Mv1Ws71H/Kn1gGTHpIy7GMZed0JFmDKqcXrdgx3CjNoiYTJIMeIJt1zifQWkAp7dqTHz/Fuhb1FSq8sP9oGOHdiNpBz0MIqz11xE0EnFz58RMB8blWFSPtxAxeJe6vzXwjGH0y/Pq4QHeqEt99pFgcy96beuHjA8huY8q5mITCI5agCRGp6YOXyiq4TS2eBsQsFk/+3t8m6xKCH+krvSnP++Ia/YbCqEViGo15nFVoGEYhXJ08GV66aisVLXTRGfSVyETCf5kG+mGoUgiZbW/W45C50KuLm0sQj/aYYUNptRSDkKWKiQeIDcD0NCgeA8Duf66TZjWP4fKHyiBut213XNzRhoCG7ucXCAWIxqn7jmcf3ygsYt4gfh0ZLiabzAvtqsL6mAj1PfVXYzQntS8VBd6fYrRcmKf+oASJUFkpN3VSb4ZRcWG2EcJSr7vOrybHH6R8fRf+a1qtHyPo47k0MTG3EaBlX/6OyVpzZddLwthVt9+X2LvVipBUXoCXKEHwyuG5TPH8H1lqcRaDieUKfmtGtagecEQqJpSLkpUFH+hQWJ8op5cLefiuOUbazxpL3KXiBQpCGh6jlKimGgMaau0TO5oQ6dJx1o41y7XRaucmFxI7NQ3DVLPWVh0b+szoJ3TSNdTlkhWC7TAUdaoGwx3nQJST1M6q7IpM1feXaR+QiSN5/Coxx38SvQI5ypjbMJxEmnN+amROPGd9QomMag9pIOD/u67dlJ812lPMOiK2NFZhPMz62ghuvt0HFN
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(366004)(136003)(39860400002)(376002)(86362001)(186003)(2616005)(5660300002)(8936002)(41300700001)(31696002)(26005)(6506007)(53546011)(6512007)(2906002)(38100700002)(83380400001)(6916009)(66946007)(316002)(31686004)(4326008)(6486002)(8676002)(66476007)(66556008)(478600001)(36756003)(84970400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d2p1Vm1zbmVQQUhBR2pRNU9XRzZiSHhnV0txdTRpeVowMVVKakhWN3ZUdGxF?=
 =?utf-8?B?R2tYL2dJSTVHZ0V1Z2lvdi9pd21wRDNhMThBQTBmUmh6KzUwbW9QWWhVaktX?=
 =?utf-8?B?UFRubzhTTGdscURsVTloeTNMVWg3ZjlkSUtsNGdjRGl5U0VOTzV3NnAxelFH?=
 =?utf-8?B?YkFDTVM2N0FEWlloTG90T25zblZ5TFhNaXZqdWxvdG10aFhFQ2hEaThXcTBW?=
 =?utf-8?B?WVN6U0U0SFRvblVPWVFxRTBYWTBNTDJISW8wTzZtQzBLL0lRV3VYZjg3b3Er?=
 =?utf-8?B?cnhWVTN5dDBFdDVVaGlwOTNvQzVjcTU2dDhOQWdRdTBkL0Z2ZEtTY21PUVVl?=
 =?utf-8?B?emZkSXFyVUJZc1ZpSmhaUWFhN1JmOUZlSXlwMUIzdE82S0hoVWI0RjJ4Vllq?=
 =?utf-8?B?dis2QXBqaFhRSmttaVhvbkRCWjZGazQxalQ1SjhBMmhnSHVDZjdyZ21oVjhJ?=
 =?utf-8?B?MDgzaG1FNTl2aXVkL1RkaUdoWXFENHREZTNhNXE1eFB3N0l5NDJQSjdRV3dq?=
 =?utf-8?B?Y1g0T0NLNDB6TzcwT0FLbVFhN2pUdTZCN2RlQmNXQnJscUtacW1MekpSVDFY?=
 =?utf-8?B?WHJkbi84N3pCSkVzK1ZxV2hpNE9sKzVyNXZUK1dCSXZ6dmZ4SDExMUVtU0hl?=
 =?utf-8?B?NFpVbG1BRXQ0MytuWC80Y1RrVzQzSno2UFI5QzlWenBERzE5Mnh6Rk1UdTZJ?=
 =?utf-8?B?akRjbHlkUFU1RE9Dd2xRejVYTXJubHBDOVFpREwwdFk4Z1ZWYnh1bG16Qmxv?=
 =?utf-8?B?Sms5akVBNDYwUVAwKzJXc0xxU3hsY1BPTkxzMnV3WFJ0UjB2ckluNXFSeW9P?=
 =?utf-8?B?REZiZng3TjZYbVZHdDBONlpYelVCSTRZVFFIcTR6T2JRUWN0VXFPREFsNzF2?=
 =?utf-8?B?NVhHVGVXUWFTak9Ic0Z2WWVyOXZEMkdGSm55c3BrcmpDYmlRdnRXdUNHcXZ1?=
 =?utf-8?B?M2dSc3pobHZkOFhuSjQwVUo1SUlpRlN3bnlKU3c3Yld4OThXeVdGbnRIK1Yz?=
 =?utf-8?B?WEFzbWFmK0xBVzZtMUl2VEZDM2J6N3hoSVhTcEtDblVISWZUcFgzY0dHTHNw?=
 =?utf-8?B?VFFIa3dIS04yMTVYcTdpTGFnUG1xUFhSMENlWW1yVGtNb3o1N3RXaW1sV05Y?=
 =?utf-8?B?NTRKaW5kTkFEWC81aHZ4UUJGOFBuTXA3dWcxNElPQ01ldThWdjdzUGRDZGNj?=
 =?utf-8?B?NXQxZjM4eGJpdTEvVFoxeVZ3TkIwMWdWSW1WMjJvTVpXaTNPVHRJZ2U5Sllh?=
 =?utf-8?B?dTc5TlBVTDRUVk91MWFVSGJ2d3Q5TVVGcDNVaE9mUFdTZzZ0MHNmWHExV1NN?=
 =?utf-8?B?MG4vMVlSZG5FVHA0U1RlOFRDZXllNmt4ZWpMUFp4NnlqTkNWOUlkUUtHN3Nu?=
 =?utf-8?B?VFQ4NHpBbFh1eWZsT2tHcUwwQThJMUh1Q0l4bHB5cTFSdEtIclM3dDc4UmRB?=
 =?utf-8?B?bE9wMlBKSlFxZjJ6eUJJRkdYcFU2VE41anZzNlFZRGU1aE1rWHh5empINUR3?=
 =?utf-8?B?QWJGLzE3UW9qSGM4QUtuQ3N6RmhvSkI3bi9QOU0xNm42VlNTOHkvazFIdHVz?=
 =?utf-8?B?WTFBZnd4ZXFPeHZZS2F0ZTdtNzh2alNEa29PR0ErSTJDV0dtdVJybDdsbHY3?=
 =?utf-8?B?R2tHb0VObmtWMFpSc2lzb0xUYmJGbWJSSFcyVU1vTndJcGxqNVRuRGJkRUJK?=
 =?utf-8?B?SXhxS0htaFM4Z0VHSEZRVGxYWEZNNU9OVDF1dTF3YUNrT1FZd1ZZeGtvT254?=
 =?utf-8?B?OFlFbzVzWHA4SXJ1azYwbUVFK0xaZUwwdEdaZm8zYXJOWFdhRHJGdEZPaGhp?=
 =?utf-8?B?VnYrWVcvUWlGZVJ2QktabGxEeEFhQjMyTUR2KzZRWFV3bVB2UllScUVtVEVs?=
 =?utf-8?B?LzFBRkJCUFRZNUFPZlJ3ZDV3S3ZuVUVLeGJzY09Ha0FCdUduN3pwZU1WNnJH?=
 =?utf-8?B?eUIzY0RtWFg0VndqbyswV3VMR1dRekFscUtmRU9JdUZ6cFo0RzNXMVRzVlly?=
 =?utf-8?B?N0IvdDVhbWsydnJESWxndS9NNGIwdnpwMTdKUjh1WHJVbURHMUtoblh4WHg2?=
 =?utf-8?B?RU4wbUhyYk9vQzF1TXE0OEFKZnBId0ptWC9MVk9Jeko2RGJFMVFET1hUTkRL?=
 =?utf-8?Q?klT6xyH5wpsd4xCLDAhlZ51yW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 581244ab-f0f9-43a6-15b0-08da86a9e07d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 14:55:40.2422
 (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: hgEuJR0riyhY12rPo/50jO1AMJyW5bOOthteU6mlxZMfQxwtnlxlAtIiHNmkE1rVwf5n5PengILK29nIJVY0jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6285

On 25.08.2022 13:10, Dylanger Daly wrote:
> Yes please, I have Qubes's Build System setup with sourcehut so I can add patches at will, however please be aware Qubes currently uses Xen 4.14.
> 
> I'll take a look and see if I can access that location
> 
> With the added logging I should be able to trigger the crash and get to the bottom of it

Here's the (trivial) patch. It's against out version of 4.14, but I expect
to apply fine. Further logging would likely need to go in the kernel,
since - if my analysis+guessing is right - we wouldn't even see a mapping
attempt in Xen.

Jan

--- sle15sp3.orig/xen/arch/x86/e820.c
+++ sle15sp3/xen/arch/x86/e820.c
@@ -700,3 +700,15 @@ unsigned long __init init_e820(const cha
 
     return find_max_pfn();
 }
+
+#include <xen/domain_page.h>//temp
+static int __init ryzen6000_init(void) {//temp
+ if(e820_all_mapped(0x7AF67000, 0x7AF68000, E820_NVS)) {
+  const uint32_t*p = map_domain_page(_mfn(0x7AF67));
+  printk("0x7AF67000: %08x %08x %08x %08x\n", p[0], p[1], p[2], p[3]);
+  printk("0x7AF67010: %08x %08x %08x %08x\n", p[4], p[5], p[6], p[7]);
+  unmap_domain_page(p);
+ }
+ return 0;
+}
+__initcall(ryzen6000_init);



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 15:45:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 15:45:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393490.632476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRF2V-0007Ye-Cd; Thu, 25 Aug 2022 15:45:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393490.632476; Thu, 25 Aug 2022 15:45:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRF2V-0007YX-9X; Thu, 25 Aug 2022 15:45:03 +0000
Received: by outflank-mailman (input) for mailman id 393490;
 Thu, 25 Aug 2022 15:45:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRF2U-0007YR-3r
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 15:45:02 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70072.outbound.protection.outlook.com [40.107.7.72])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e00f6957-248c-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 17:44:59 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9177.eurprd04.prod.outlook.com (2603:10a6:10:2f4::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 15:44:57 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 15:44:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e00f6957-248c-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HJCvlaKe97pLnEUrGOWFpFBtLVPWVDcUnqclEqk1mwLx2TYWjgibQkwAIzpuTT91BM9YSuz4DWJMGKK+1zUVQQYtSmP3+yoMCK7/1UZKEaGua804YLbbNT8mZbyDZBueS30MFvixiZvaOaDeVIMVrcn9+Udn0KR0Ik2OJG7Bkfz+9Q0oZ4bDuVB83E4fQk88dS8Z3hHZzal4/RdfVtevB4qfKpctFbhbJdh7hhz9iPePicWTsVf/VhSZA+iz7vloBB+EMRe+Xx5Gchzh3Lk9i9eDBj7Lsov4bqMRjFg9KyTuK9wHc3pPfXoKTZaF2PoY+6ld3DqCU3AQQI0Z0o81IA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AOvEdHyZ5rTZoc1MJBHnVG7KzKZdD5hwPoXSmyAdY+M=;
 b=HdnIvP/w4pvX8FYMSkPFBG9JI/gJTEGLihfub2Dra3WeojZCr/lgMlWgX7KX7fYK7k40RTX38uqEMfZ0PgvsSGSGKo0q33XfjlzvSXVsTAgHKVt2qSFozSoqdi7o6USGPvc757YNoHIVeEYrtu/8dEw5KKNx2CmAoGh6zTzP+gZdp/G8FWAX6MsenIYuZYIJxwOgurZX6W2L0CMVl0NqnYy61523jc/S6/vhxsGykCN4kqOUSKGa5/EODA3HlAHTziPRBnJJBzjui+867HPmHaxDz/NCQ1qUr9A3s/CQwmUQhdSNiGDFyj1HOzS8ZBTJztk65J6W4zhQQB+cLTCBiw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AOvEdHyZ5rTZoc1MJBHnVG7KzKZdD5hwPoXSmyAdY+M=;
 b=rIaegAscN6PDtUxuAwFr0RSF/krjycWdLP1HrpamCPB6dSUoS4kLH0XKAPYRgo3RL7cFC21hstkWxi0hN9otLraq3ussZ/TmgAT1v3eb98sKrgCJWVav2lo6g4zm9/MpCJ9VemUPFH9davu3SihMcO2JUISpzANTxt0ddu5I3P5nAxkA95wPDNXuRWU5yNynIyoMSsUqGZ//UuuWgcUOPYTcSjrLov2hvZ8jymJoxUBLAnfBAxu/Ye9R8aYmpNu7NkKRx343Il3eP+xGqDn3uY0+ZO8QCPrftPUTejfHP+YfcCG6KvKkp9TOC3UODhYg5EWCIxbdcvQ3cKMjEk6rHw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b323ebc3-68fc-f6e1-b9ac-d508855a605b@suse.com>
Date: Thu, 25 Aug 2022 17:44:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <edff5ba0d286a41b94a6b4bb332b63228f7faebe.1661181584.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <edff5ba0d286a41b94a6b4bb332b63228f7faebe.1661181584.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM5PR0701CA0006.eurprd07.prod.outlook.com
 (2603:10a6:203:51::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 626b76bf-769a-44f2-2f84-08da86b0c2bf
X-MS-TrafficTypeDiagnostic: DU2PR04MB9177:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zC57F94HySqBtqD3Vg1ghgW6DG4tNZU6VX1cRSi0Xt1oimpL6RS1ctDcyuqnM6xAyezky/tDDNi2uBTdMJGSLnZnuV1/3xVcLkcWzDMBw6/8G+Q6paMTJ903qokUEIkao6A6PdE3rK9yrErFdjb9LghWm/cB0tu1xxea3DI4M7SQmsSr1KEne9DmXfR/q13UuPFdN/jyRGC5BK8eEP9jxqnZhAkiSVtTDRZsH8w5WrR5KFJH8VoSQInrNbasBRjfG4JQBFCd/FEgqcJu66uTS0o/M31XipW6khtwqpAEiIaB3Hm8pWnxkGIfOO9C32j5gI3/t7Rh6ANWVn/DE208P6im2YRQYSshYUNTR/iI5IJ2YY0QRTZPqO9PLlZFvOgBIJQBEr+FKRQwTCJaTh9aP4bi68Pv0IAxHlN8F7k0c6WR2vZyy90FE2zoR5ibSOG3yrxA1vPEWAAgpUqf/GwSGZvk6lcAbkiKvOqGLdX6PRzaCxgSbADTooyUyjBpeOxbByXOIK2jXSQmJnwaHqZiATpWv0vhAXMktqYbxxHld4Hohnlizt7FBn7u2uUbu4in4GZdUh5LWBO2zS4lmssTR9mukJFaMjb77XnTcdTmuLdOQqyB83QbIVqiOtKigYuQM8Dpztvm2tRnP81mZuzhH7hg209Ic541ohXH23dll+LVnznwL54q0upJU+hOwUjT4QnsF7wT4OEeC+BMVKrv1nkgmkPOxXiioIaIrLhx+oS3WHjPTwX45o6aOb0S9M9YH1Nbt6ax2jTp66Mvc41JrrI0KaDHuhJQZb+0T5z7OmI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(366004)(136003)(376002)(39860400002)(36756003)(86362001)(38100700002)(4326008)(31686004)(5660300002)(2906002)(66946007)(8676002)(2616005)(66476007)(66574015)(66556008)(83380400001)(6512007)(53546011)(26005)(6506007)(41300700001)(8936002)(6486002)(6916009)(54906003)(31696002)(316002)(186003)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z3dpY2pFMFE3WVhHN0hXNy9VSUkyZ2dQaGN2U1ZpUmRISVVoT3ZTRDNRNk9n?=
 =?utf-8?B?SWdLd1E1QThPa01FQi9zVldHMWM5UVFqd0laU0tGbGZ1TUFYMUdGTTdkZGlZ?=
 =?utf-8?B?b1BIVndVYkVQOUVObjVUUCtSUmNSampGYU9hOUkyWWxPNVFweFVUMWg2VDEx?=
 =?utf-8?B?LzNDaUo2ejRyQTd3a1g5N0NNMUZBNmp6UzVrbTBGa3RDa0JKRy9wdnM0OXo0?=
 =?utf-8?B?M2RhVXlRcDFTM0ZjcHhDYUtuTnlERGVJZ1FUeTdQQStZeHRDSnNDZlY0T0RB?=
 =?utf-8?B?Rlg5d00rTmpabEdYaUhNcmtNRVJXdVBYTWMxNWttWnBCRi9oTzQxbjNoTUgr?=
 =?utf-8?B?R2Y4S2lKTmxXQkxxcDkwd1RZNm1IMG02RmFQUkFUSUtScEhNeUxLRk5vZGZP?=
 =?utf-8?B?Ti9TZXJLM3hRTEd1aUdFY0tTWDBTaGR0VkRHdE1TOHJ1YnZ4OWdGZkxZMUY3?=
 =?utf-8?B?d2VlMExDb1o2QjRHR20zUVh5MXAxdGtQYkNQdnVlMU1UQ2NaU2pTUVpieWpt?=
 =?utf-8?B?Ump5VEFGWHR4VUxmWGFqQkVHdlEya3NZamptMUJVMjE3ME1HYW1sUnI0Wm4y?=
 =?utf-8?B?c0dOeFExNDQrSXdMLzBRQzAxRFlZYU1PSmNtUEwwTmJpVHlRZDloUkdhOEpx?=
 =?utf-8?B?clhGL1daQXBXOVMwL1c3YzJ1MkV5QUNxd0x0NGVpb0NLaDZ6cUdnRGNybXh4?=
 =?utf-8?B?TFYyMVFpd2plVTBwOVprcVl1akJWYzMxTkNMZXluczg1Q2o0RW5ROEM0c3Nx?=
 =?utf-8?B?Wm9GaWFVUzJUK3VSN0ZIL3grTTZ1dlE5VnZqcWZwejFJbnFlL1d3MFhEbzZ3?=
 =?utf-8?B?eTBWc1k0b241OU0zU3liL3BnSE9zWjNNVS9aZkJ6b0c3S3BweDRibHl5VUFl?=
 =?utf-8?B?bXY1bXBWaTFLTXFxWjZPR0ZLMExoTkF5OVZ1bTJjNGdMdnJUTXdtNXkxN2Uw?=
 =?utf-8?B?TlFtNVlScWFLMkNoZ3pKeit3WVRvZTc5YXg2OGgvbzBrd2Iva1dEbklBQmh5?=
 =?utf-8?B?b1I4cWlVbkM3Uy9SL3JEM2Q0WHZWOUlTRTRyOGJ0WXdid1VpeXdIQXJ2d1V0?=
 =?utf-8?B?S1lHWmVIT2FkNlUyaTM1d0dlZVlSVHg0b3R3MVlGdEtLa2hGUGVkLzc3dDhY?=
 =?utf-8?B?ZnNEaVlJVUZzdVVaUndQbmNmQ1hMVDZ5QUtXMGdPcC9QVnlneHVSMXU5OFll?=
 =?utf-8?B?TnZOSEM1RkRMMDhpOTFHZE8zRlgvdWw0MlJ4VzZYVFlITjUycEJ0bmdwUjFs?=
 =?utf-8?B?QlVlUWcySFZiT3ZmSGMwT0JkSnl6bUxUdWx4T2w5NE00UldiWXdGbDV1MU5G?=
 =?utf-8?B?SEtlK2ZRRE42bHRsaVowWFJWZ1o3eXlXTW9tcTVpclN6NWtpTmxzTmROd0FM?=
 =?utf-8?B?endwTDBVNVpBcDhlRkdvZDJuaVZQcWV2SkE2TjdkWUo0ZGxZUnRGamRjcStB?=
 =?utf-8?B?YUtsdUR6TWZ2emVtNXFQZUErU2g2TURES1RUM2xucTVFcWgyVkN2NERmSUhP?=
 =?utf-8?B?WTdzWHMzNlFlTEJ1NWQzeVhPZVZZYXpPb3ovVnp1TWhKcXo5RFRTYXNTNzJi?=
 =?utf-8?B?d1I5U1QxazUzWENNVmUybnJJVnoxSWltT1ZtbWtGOENWc2h2QUZZeTBBYzlx?=
 =?utf-8?B?cEcvalJlYmFDWHZRUXFuN0l1emEwaU5FaXZucFhvSkVDNVMxZHVHeUZaaVBX?=
 =?utf-8?B?Z2orNlJCbWVMeGFYZERRRjM0czBVbkhkbVdOcFZkZjF3UlVVeWRGckhzOTB6?=
 =?utf-8?B?blo0Ymw3Yk5XemJOM0M3RTUwUzg1U2szc2NkVkw5Wm5ha1F4TTU0TThZeHlL?=
 =?utf-8?B?d0FUdWFpTCt3V1phSHFwcUw5RDRMbStDaWlObU45eWhwb0pYa25UNTg1dmpS?=
 =?utf-8?B?UkIrTGs0YWI2Mm1uc0hkYmMyMTM3bW1na3pxNDlmN2ljRmJUdE9McWdRSlFu?=
 =?utf-8?B?Y1MxSTBJVGpYSlRxWG4xcGhRRWpINnR2dFFMU3Uxb1BvaGZBNnZHSVJjR2FN?=
 =?utf-8?B?MElOdTFTMTBWZEswRHg4QlZrbjA5VzJEWENkM1lUenlJWnlhdXVUV2ZON3RE?=
 =?utf-8?B?N2F5RW1IYUZKR0tpYk9KdnF5TTJVbzVVSkh0ejNMVnk3emVBemQ5QUxtSW9j?=
 =?utf-8?Q?By7q2oHm9c23vIr3T7Qpsbz6R?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 626b76bf-769a-44f2-2f84-08da86b0c2bf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 15:44:56.7896
 (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: g08KR7rVRmlP2ttSStduJvpHtzSWIAcMkyq9jh5CgQwXXiFgEDdiGhPDIgJwdoV+BCkkCUo/4CwOOV7Pbvb7ZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9177

On 22.08.2022 17:27, Marek Marczykowski-GÃ³recki wrote:
> This allows configuring EHCI and XHCI consoles separately,
> simultaneously.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>

But was I maybe confused, and much less of a change would suffice? After
all ...

> --- a/xen/drivers/char/xhci-dbc.c
> +++ b/xen/drivers/char/xhci-dbc.c
> @@ -1058,9 +1058,9 @@ static struct xhci_dbc_ctx ctx __aligned(16);
>  static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
>  static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
>  
> -static char __initdata opt_dbgp[30];
> +static char __initdata opt_dbc[30];
>  
> -string_param("dbgp", opt_dbgp);
> +string_param("dbc", opt_dbc);
>  
>  void __init xhci_dbc_uart_init(void)
>  {
> @@ -1068,25 +1068,25 @@ void __init xhci_dbc_uart_init(void)
>      struct dbc *dbc = &uart->dbc;
>      const char *e;
>  
> -    if ( strncmp(opt_dbgp, "xhci", 4) )
> +    if ( strncmp(opt_dbc, "xhci", 4) )
>          return;

... this already avoids mixing up who's going to parse what. So right
now I think that ...

> @@ -1102,7 +1102,7 @@ void __init xhci_dbc_uart_init(void)
>      dbc->dbc_str = str_buf;
>  
>      if ( dbc_open(dbc) )
> -        serial_register_uart(SERHND_DBGP, &dbc_uart_driver, &dbc_uart);
> +        serial_register_uart(SERHND_DBC, &dbc_uart_driver, &dbc_uart);
>  }

... this and other SERHND_* related changes are enough, and there's no
need for a separate "dbc=" option.

> --- a/xen/include/xen/serial.h
> +++ b/xen/include/xen/serial.h
> @@ -95,6 +95,7 @@ struct uart_driver {
>  # define SERHND_COM1    (0<<0)
>  # define SERHND_COM2    (1<<0)
>  # define SERHND_DBGP    (2<<0)
> +# define SERHND_DBC     (3<<0)

Please also update the comment just out of context.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 15:46:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 15:46:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393496.632488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRF3f-00085I-NY; Thu, 25 Aug 2022 15:46:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393496.632488; Thu, 25 Aug 2022 15:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRF3f-00085B-Kn; Thu, 25 Aug 2022 15:46:15 +0000
Received: by outflank-mailman (input) for mailman id 393496;
 Thu, 25 Aug 2022 15:46:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRF3d-00082l-Ue
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 15:46:14 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70051.outbound.protection.outlook.com [40.107.7.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0bda8f0c-248d-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 17:46:12 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9177.eurprd04.prod.outlook.com (2603:10a6:10:2f4::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 15:46:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 15:46:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bda8f0c-248d-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iCqEcw5sj86CAujPiDTLuevHNdJe15ue5XmbeGjdZlTQOm5DO8POY1vlrhipdOYHMdGC14kUV8bLLeBu0TPU/RbZ0XpOEiDyVZWZ28HkZnh8EZrG/ZpFYFTzTsTrRY6Cl89THVU1wCYPMcnTVkZlvdNTZbTmb6mdtj52PcSpGBWXBoT5ky3BkH9V2We/6XNTsjpldiUJCxMDkWy6NeEjamE83ZteTi5VCux14LGJ2r6N7uBmumJxCTHWdSAFmPsFU3uLflvrj0PWkdlZRL8kRI6kZopYm7hKU2HrR4KRBMNT6EoUzVoI/LunVEpzPOirEt+WE95sVFtWuFnfNhN3yA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ocOKdxcbMaMPkZz7smLBr+blruA5J4R6RDHZZYPG5Jo=;
 b=GRPFJHOg46caSl3wEzRZLdi61qdTCfM8pXPalLu01ADRFNQxw4PJHmJkdpvpIyuRuFipmxvzJIeiDZp+hQCkFN6M2Em/Trz0AP5cd/WoXi8/fOCFO2uIR2HBgLWm5Ug2Ws4plYQTljIOiDxfaHvduwJ3E7WK6ai+qt3k/t9sCeb+O2tctkC6FLSCj20uh3Qylpk5smUEcOvsUI1+l78NDsPWQkGrmBJ1lQ/r5QKK9+r+Tr53X4nCR4OOTLn2knj4EERJ01I8ErkCBCyC7Ghn08n7W8blbO2/WS+oSDQaG25E988hag/nPgLiwolo378UBSnqjNsa4DwvavOgOFjjfA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ocOKdxcbMaMPkZz7smLBr+blruA5J4R6RDHZZYPG5Jo=;
 b=wQPd6y1YCveLc2rtMOTtzEmWim54gOu5kzCwtCn9ymiuk03PwKrUHvNURJcMfglt9iEwXkrVlG51taOclYp/9KDsIr5C6oaNlH1GiMinrnrJZ6+Yj0Xg805IwiZYs0JdyWqt69sdu9gdIbMDzw/HnekPgnaacMve4PC66xIY5NPznRcRyLlhnZmyei7ESnbScbxGUUlInAooNGdpLfIfnn4cFd8wIyZu1Git51wCtJTL3UBgPbRQN4BJNsDH95L9dD2q2Pr51dQZ7v9bTNRQFtm4KR25a6IgIXkdTbCcsUXnnSge0KYedbuQf1j5O8jFaixwRoavAWoXAkG5r+JSlw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e0ffbfb6-6cf0-329c-fc97-ecc4ccb2697e@suse.com>
Date: Thu, 25 Aug 2022 17:46:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v5 3/9] IOMMU: add common API for device reserved memory
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <3ee5187c066ad12e3717df6fed41de99172271b0.1661181584.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3ee5187c066ad12e3717df6fed41de99172271b0.1661181584.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4ceac2de-9e89-4a51-2d6e-08da86b0ef51
X-MS-TrafficTypeDiagnostic: DU2PR04MB9177:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3RCMh6ESsMN2U76Lcx3Zt/TYs3PPiyK/623aRkgc8uEaQvnGPSFU9waAHS5h5y3/WekWu5Cxw8QqfWXfm/tp15pTzvfLwdRnHgExbIAeAX2Gt5bErYbY9PY4+5Zu28RcOGGHREY0RW8vCZ/hHy3McSnd/khtg/ieImzLtaHsB9J6vcuwinDeoyZxp5Z12mcMVfEbDnDD/swBtebKXxeDd6gP4QC2XKeejG032cVHy+ock7hKO/PWJXvg+fjpU44gK9Fa4mnyQ3kKR3lIfVq8T8qMbfiDg6Zcl7HkyaIkCSCIiSxMCgSeOnADnbwclLLDTOkdonPDCJ1QqKfqy56X34XaZQaIz308gOkBLKZ2RIkrS4+EFEvsrgLHzH0KEcm+BodXjsOhidVdZYcqKxpVCNel9JbxEQdv0shd6SsVfLRY0+8CVB3fFia3U/t/wgryi8Cr/lZB+Ve8sAJn8BC2JQP/kTSHOrZDv1aeuGQANo/0BDzZD3OFHmlBW1e1ugifcd2e84wDXuwY288oSbSoB1QOBHgCcLMorXak7OPf5sLt8XKaeoo64cKHjgqowaL2Q0oeCT8hARUYqu0l9anOk8+o7SZreJ636M+Zyn2JKuT3ddl3x3WXgHcAATxFJChvPJLYsWGpziO0yBQeY1NTCIOMVuKh9607sUGyNZi7/mC567blcu/nvUh5fpnCpX9+PzdVqSwG2wOj+vS/zytirzrelkG+vPbNLRimCVJfadzgAm7dD+Z0kc8FRgx+rPnJDXYfUMpj4UlqIwobbHCuR1pontN69BFd6rUgpPjxQYc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(366004)(136003)(376002)(39860400002)(36756003)(86362001)(38100700002)(4326008)(31686004)(5660300002)(2906002)(66946007)(8676002)(2616005)(66476007)(66556008)(6512007)(53546011)(26005)(6506007)(41300700001)(8936002)(4744005)(6486002)(6916009)(54906003)(31696002)(316002)(186003)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d2pGMkp1ZW1HbHFzMnpXU2lDOXZ2dWFRT3BUQTk4UEppc0M4K3V6djAxcDRm?=
 =?utf-8?B?L2hlZFZ1NW1uV3c0ZGN4aUptMUluMEdPcUNYbkE4N2QvSkhuNGdXK0xsQnhH?=
 =?utf-8?B?T3F5YXFlNWRDSC9rSE51d2VWeVkyT1BOSVM3YWVIckpIQmhxYUU4YXBsOStV?=
 =?utf-8?B?ZTdZMGl5S05OTnF3RXdsdW82bitLZUV4dS81aFJIT2tQNHJGbUxUSjlOUWNJ?=
 =?utf-8?B?d1NJM2NDaThxcWxJaWhyajNLbVNIRjBxd1FYRFdKNWM3V1JDNjhKQnJzTm5M?=
 =?utf-8?B?L05CZUEwZDM2cVNFYlNCZTF1VDM0MGx3NkNxbmRmVFRBSWhyUThzZjNvN0JK?=
 =?utf-8?B?WEUvaTZnbXBENm1IUWZacFNVOGE4cDFMSDgwc2c4MERaQkFrRWxBRDdTNkt3?=
 =?utf-8?B?M0dONnJGM0xhRVI4K0ZiY2JsOGZ2MFIrcENmWHYraDVvdGVGcUNEMTRIUG44?=
 =?utf-8?B?TjIyZkJ0c0lsU0g0WnJmSEpaeTdSaVVsc0NpQ3lHY1hmVXBLTzlRVm9PTllV?=
 =?utf-8?B?Z01ieTV2SHFXeXZmcWRBMjYrZ0N3ekhOTGJNbVVXd0ZQUGRBbUNOaWVxYWZ2?=
 =?utf-8?B?Nkt4bm9oTVlLdSsreXNFTjBxdnRyaitvYjZzSjVPZTNNcEpIRkltZE5zTldP?=
 =?utf-8?B?d3RIN3h1MXRJbjRoOE5YRENURDdvK0F1Ky8xZENXay9wM3J6aGRqQ1pGaXVx?=
 =?utf-8?B?UnRwWklPclNZbmp1QVNpMDUxdlArVzhOQjdQK3FjcnJDMlhIRE1sam1hM3JJ?=
 =?utf-8?B?ZFQ3Q1Jad0hRL2xSQnA0NEpvSnF2K2ZyS3NScmdCeHRiMEUzeDh4SDZhZ2Yz?=
 =?utf-8?B?VlpsQzE4NTlyZDdxd1VRVisweVhnazJ1RG40QmZ4dFVNdW9wZkVGRk50SjBr?=
 =?utf-8?B?eVc2NzhCU0ovOGd0YVVycForZFdEUXRXM1RON2dPQU82T3c3RitrOXMxVm5Q?=
 =?utf-8?B?OVRjWFVTdklDc1lCSkNDYjZXbzdhZUs1ajhNeEtsZWpxaFFrM2JXcU9RcjJm?=
 =?utf-8?B?VHZndlVBQldwMjREcWIrVUIwTFZNa3ZVMkVnV3p3R2cwb0gwVjdWZEhtTm80?=
 =?utf-8?B?Z3BlbzhHQnEyYnJlcnhlZ0dWQkJ4VHJ2YnUyOW04aEMxZElXWDBnTlh5aXAy?=
 =?utf-8?B?bm5UOVE2djM1N3phdzBlUHdtL3R3aUx2amQ3amhkN1BvMGVtcnN2M0FrRHU5?=
 =?utf-8?B?aENIemFLKzZ0M3FpZWgyckNCaVhnRnpuY3haakdwVHhlc21BeFplbW9OQVpq?=
 =?utf-8?B?NUt2UkpvS3I0RDhXZzVqRlVRRENDNGJMbXRHajdrMzE5L1h2YUJGQ01od1BN?=
 =?utf-8?B?Ykg1K3JaZ3B4M2d1VXlqMkVhYVlWd1kwOGhOeTVxb3ZJL252TXNZd3A4TXZo?=
 =?utf-8?B?cmExaFRqbXN2V2g1S3ZaTjBTNCtKajA3OWNNN2N6RlRnYzM2ZkxBalFhRU1l?=
 =?utf-8?B?ZWxka2c0NDNIN2pwRTNDNFhvR0RvUk1DWFZGcm9CTDY0ZXZtaXIvNEx0d0ll?=
 =?utf-8?B?N0w4ZzJsaEdnSkVZYXhWTnRUVG4rZzUrWnB1YkZjaEc4ZmczaG5nUW92MFVJ?=
 =?utf-8?B?SCtNbGJia2wyNjljR1BwVEFKNkM5MVdXQW16SGlEVXZPOWU1V290KzZzdjBz?=
 =?utf-8?B?NlhXcVl3dTB2enVBSS9rVXFhZ1hGZUM1SjE3M2lGZmxQeGN6elFGelFEVFpR?=
 =?utf-8?B?Y2drcHZYeHdWUWtVcXBxYXlnUkgvVG1KT25jbHNNazFkMHJZcXdNeVpMQ1lI?=
 =?utf-8?B?UmlnRjNyRTQ4cDlEd3VJcjRGeDJqTW1hbm01UzBNd0c4VkxEa3Qyc3VXT29I?=
 =?utf-8?B?cHlzT3BKWExXWlRaYU56a0xnYXdXYW9OQStsMlZ4Vjh4d2lCbFczRzA4RVNu?=
 =?utf-8?B?YklDTXlTVWN5a0s2MExwK0FSUmRIQU44RTgrZkdDQ3lReGZGOUlLUzgzK05y?=
 =?utf-8?B?NGZ0MllYYndOektIRWRWYlFKcVVYTkRGdkNvaGtLbERkQ1pYUHN1YS9FT2xF?=
 =?utf-8?B?ZE42WGJ3U2hBYW4xQ3VUL2kxbEthYkRHbmZUTDZ6WmNXbXpDR3BuWWdZRVJF?=
 =?utf-8?B?aGdCa1kxL2xQeHAvaDZ4aTVhdTNqWnZjL0Q3MjhLVU5xQi9paDdjZW9xV1Nh?=
 =?utf-8?Q?+uEMjdSlphKSQyYm2Lb3C5RuV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ceac2de-9e89-4a51-2d6e-08da86b0ef51
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 15:46:11.4880
 (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: lyJ9CzaD7aLK0UUBWpIeIvjcCGjobk3iNsZcBsKUKfLoADUyNNFpZTfcSIOfAr5pVB0lJ0SQ83Ni/1z0tQl/cA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9177

On 22.08.2022 17:27, Marek Marczykowski-GÃ³recki wrote:
> Add API similar to rmrr= and ivmd= arguments, but in a common code. This
> will allow drivers to register reserved memory regardless of the IOMMU
> vendor.
> The direct reason for this API is xhci-dbc console driver (aka xue),
> that needs to use DMA. But future change may unify command line
> arguments for user-supplied reserved memory, and it may be useful for
> other drivers in the future too.
> 
> This commit just introduces an API, subsequent patches will plug it in
> appropriate places. The reserved memory ranges needs to be saved
> locally, because at the point when they are collected, Xen doesn't know
> yet which IOMMU driver will be used.
> 
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 15:47:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 15:47:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393502.632499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRF4a-0000DS-2B; Thu, 25 Aug 2022 15:47:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393502.632499; Thu, 25 Aug 2022 15:47:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRF4Z-0000DK-UL; Thu, 25 Aug 2022 15:47:11 +0000
Received: by outflank-mailman (input) for mailman id 393502;
 Thu, 25 Aug 2022 15:47:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2f78=Y5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRF4Z-0008RG-5u
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 15:47:11 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70089.outbound.protection.outlook.com [40.107.7.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e275fd1-248d-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 17:47:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9177.eurprd04.prod.outlook.com (2603:10a6:10:2f4::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Thu, 25 Aug
 2022 15:47:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Thu, 25 Aug 2022
 15:47:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e275fd1-248d-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l9AYSOIvD6NZ1M9gf+i/tOqL7QsRfWl8Iu9yCDwEPp2o6RK5OcZZsN5YpzCuXug3oEv6S8ord8JvLbDJ4VD3v0fPEze2BLfTor7IUTqAx2sUtDiRXK1dcvZtKbSKfotR5wb35trAn4/whc2Yp+6a15Gfh3fWK+DukZSuHiv4YfseNddnklymdKLnEyJZx6btzgOYWmoPmexdTl/KFcXQsGo5p5J+4m9ICJOZcoaH4ZEpTxkHoxN3zWoiuyb5r8B0uJhEEMHhST55fWRKqsqpw9vBCKT92tRs2b85f4ZRCfGdknEwh2hAFJWnZ4cNGFyF3gXj707ME5KsRv6dMQsvLA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qp0148i+b4LAtKctqL7Y19z+aFNUs+PjAlvN6SH+0OQ=;
 b=EiKnpfQ8kanRj6xxwyXiYA961lO/grJVJuz8aStoE5lsu1Tm0jA72oKDEkz7JsiGeMQ03pmN1DA5mPdAqsYnyGiGKHwLdXTcKVW0/L7nN/wcwtI+Zhy1mARrILCVd9lG+z2qECr0kisF4s1Uxcds31SvfTEOBxdAp7ltos2T87wjeTVN9ngY4BMgsvgr4jlkpHPNofa7JqKBzl8gVemt1dFKwD0TjjB2tInyan5jtrT1xa1Lo6qt+815AqcKVMbuasGCBdcx9Evu2vmfMZrk/1kU8a1I7lFZQK8EBRjH8jRkeHPa42BZ/r4RjkzkrFYp/cAAvtB3csWVlvN/ucbmrA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qp0148i+b4LAtKctqL7Y19z+aFNUs+PjAlvN6SH+0OQ=;
 b=xMEcXPfUIyV9WgFcgtkV1sp3sfESvqmgxtpWrxkFbABvWAZODP2kX+B871fzbh2L15Yso0vkaq4EdpLLAHR6JPJzsIGrCSdPr9qCUa25ncE/YO7ABztrZQ0kvl13gU0ZMLky+nrDd8l4B/hx0KEopxwYFNE2gdPXhFg/+4Ho9mGl+faM8N+44J/Fcr6kbm9QEMr0JgU1IUkUUOLGBbJgO3+Zgm78XAV5MKGGAgeFkdldvCh1hVlXXWVnP1icZcIlFDRx5/E62mqEthWixNCjFmh7zbNQiDDuRHAM/QkXMkaX4Uvn3rMhevSAo+2HCIW9XNHbnP3Wa0iiS2LjJRPt3g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <13aaa923-3a54-ea89-4fc8-b639c204a76a@suse.com>
Date: Thu, 25 Aug 2022 17:47:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v5 6/9] drivers/char: mark DMA buffers as reserved for the
 XHCI
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <58476e4d0ce2b819050393f137603d2a9294d40a.1661181584.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <58476e4d0ce2b819050393f137603d2a9294d40a.1661181584.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 039a3c21-b804-4549-374c-08da86b1117c
X-MS-TrafficTypeDiagnostic: DU2PR04MB9177:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nD5pQOjihnF2301hF7QHnIcHCcqnH0tkIhD/4bHSpqsjaZLqZOUWWSHzLiWxz/wxxR0sgnfmEbxxPoBGcdjKg+UEzkNnEqudngWGiUIWJFfqBaB8L83iX5nPL5XUFUqynT1liERyFZ2kIJiYThp60mA93I28eGnzCrWVuLydL3nRXH8DwNsaCtAqczVyqgX8/4lmge/ByYrV8RcQsdl+doJ5g7VcpMW+Z+yel+ItyElq3ggDApfmdpl5/uq4mh5qxMQhzy7jqT+ydI/yFik+j9FJxCNpUb1YW3XWxs/iaoLGamuIzovAb10rPX3J58HATL4YAiqBZ1ziXH1XEt/1QVyDr1yN32FepRQ2cOOeEYY61sxO70G/2H0M3qfo1B+JvvnfATUpUoY1GTJLVgFLZG/9w2+0VTZfdKHDXdCbBIjtstRTOpShtuoIrxXuzEQS6T86XW3t6fhqpnX0KgGeVEDT763zGJJsdnnhzFfnyTr7O7EMF/k31AvXD7g4ugVaaHaXr0y1DSQb4aeo9v8JQp9EHvB6GuEh8PF2q/JAv0F9t0tjBIpvAoMWju6uwJD74Neps17ssRQ3oPOYVz5+sXKJ9KurVM7qyMWkEKor8UT5cS2mrWe/z4B1QRo1/BVR6lGkEaa3PsusJ63YkvM1MnSOW8Q7YqrxKx6L5lwx3EjWrp420msVr2g/22871RHHCQ2qbZdMswofK6G6KfBRUJrVkLCB3j4WAS+CJvE+2Bibrc0z75jTQg8v60XqQnv2vyhYqhhSAe3kYNELqxbC7tq6IePSO6uQSXH3wiOb+2o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(366004)(136003)(376002)(39860400002)(36756003)(86362001)(38100700002)(4326008)(31686004)(5660300002)(2906002)(66946007)(8676002)(2616005)(66476007)(66574015)(66556008)(83380400001)(6512007)(53546011)(26005)(6506007)(41300700001)(8936002)(4744005)(6486002)(6916009)(54906003)(31696002)(316002)(186003)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aWZNUU12ZWhCdXVmRjVSMWJQd09mdFJyT0xvdk5aVThmK3Y5RkFzVGtVTWFh?=
 =?utf-8?B?cit0QnFtV0dKWG5SRzMybEJrRm9YMWxyeHE4U25UelFvVXBrUU9aOUpBdW8v?=
 =?utf-8?B?Z3FTWGEzaXBheC91bzZZRm9pb0FiTlBwOVdGZUVHOXN6aWVCM3JvQ2p3OGVo?=
 =?utf-8?B?RmIvbjQ5N0NjWnl0OVR5elU2VVBYcitZRURQb29YWGlZYm5mblF4RHg1dVFL?=
 =?utf-8?B?YlpmYjVNQVR3bVhpQUJQdHhjWUZ2dXRwMGVyclhlZXlUOHMyWHNxeXQvS01o?=
 =?utf-8?B?WStJNm5saHhMcDkyalB6SGFNeEpqVlNvSlJpSi8yUXJmMlRNVDNOclhIN1l3?=
 =?utf-8?B?d0piWmQzcUhOSld0SHVJdUFjMUpocWxKYktibWIzZmFJSVRRdkVWWEV5L0Zv?=
 =?utf-8?B?K2hCVjJKQmhhbTZJK3hwb1hKUk1Gb01ndjRzbzM4UCtuSmhsYi9tMUswb0du?=
 =?utf-8?B?NC9yVk4xc09PaDFzSm5QVEVGZ3B2eU5YcGdaQmxxMGRLTllsZm51cjNsRUhM?=
 =?utf-8?B?TW5ENGFIUktXdTRJQ3RSRWhHWlYyWDhzNmNqZHo3NFJSM0FuTmc1bkp0TmJC?=
 =?utf-8?B?cklFT2paOWhhVUl0VGs5VUNjSVlmaXlORXUvWXdtZUZJeUlVZGhrRlR0djlB?=
 =?utf-8?B?dWJzVHhBbHNDOHZQMlNXRzhOS3ptNEQycytnRnNBVTRKMGN6am52UmxwU1FE?=
 =?utf-8?B?WHNUNWVhdGc5OUtrN2NIeTBVWFpxVnZlTDNyZ0JZcCtkTGxLU0trOUNSR25h?=
 =?utf-8?B?NDVDOUlocFZ0Nmx1SGJKSWNXaHl6ZVROdXYvanJnWmhVaU5LV3p4TkFiTVpF?=
 =?utf-8?B?QmtVTFV1VXg3bmIxbFFBWGVpWHhLSjl6SExHMnRqS3ZRQ3FZL0pKTVRnNEp2?=
 =?utf-8?B?LytabkFzVFk1N0xPNWVNOEpWVHlTU0NHa1I2R3RPdXdSWmRXNU9xM0RRaGxL?=
 =?utf-8?B?bmdXSHZPa1VPVFRtYWxkeGd3bDcycndsWVNSSUZZS2lzT1NYSDBQcHY5TXVm?=
 =?utf-8?B?Q3R6R1lNMCtCaTZKTDVMNHNGcDB1NVdkNmpqM3ZLNGJRYjk2VkZNc3FkRFFY?=
 =?utf-8?B?cWdRNk1Rdk1yVlVUMzNXaTlqOUtJRG8zbjc3K3dHSHZEMWVUNDg5VDRqQ2hr?=
 =?utf-8?B?ZnN6U2dET3N1WCtpOHlaTitBQzNzTU5Kek1BcUNkVTY0R05IWkFJNXpiOEh3?=
 =?utf-8?B?WXJTZGJuMkxmMFpBaDZudlkwN1N1UXJYbGhTUFUxbXQ5ei9mZjBHOGxoSWlo?=
 =?utf-8?B?bWV2cVM1dTNXNHZPWTNPOTRTWkhUVis1b1ppdzJBZFkycmMxeUc4WHRtS2x6?=
 =?utf-8?B?aTMzUDdsMHZuZ3p1aWZvdHhGcEVHSGhaeDBTbnhpWTdOTmVqNmZLRWpYbkxv?=
 =?utf-8?B?WW1YYXI5eitWZE1VMHc1NWlMSGpPcGJMOTg1RG9BOXl0Y0hWY005KzZhbkds?=
 =?utf-8?B?cjFERXVwdFFrYURqMmJ2RE9jWFVHSUJVWmJPblVWVUNFV1BQTUVuT2JPL2Mv?=
 =?utf-8?B?azdRaFcxUVB6VC9YSFFZeVl6clM5RXhmRDMzTlluNUQ4cUQveHloNWdxcXdn?=
 =?utf-8?B?R2tBcGRCUEpDN3FnTnFmVnB6ZENUM1hJMFZIRTJaWlIwUklOcHJYcjNJeERj?=
 =?utf-8?B?TmNxSXJ5aFREZXZtdC9DaDIrMW5DdThrc3F2L0p3NER6ZXhuSVE4b2dGc25h?=
 =?utf-8?B?cy9tZnI1RmxodFpLUnJOTG01RTlFVWNEMDNrWGxIQk5NMVZPZG0va2dwSWFW?=
 =?utf-8?B?VW5iUlZpQzJhWDdaZlZONlhMY3o2TUdHV2pCQWtJelBXaGY4Rnp5SVNXWlF5?=
 =?utf-8?B?QThLaEU1RUlDaFR2SlpNbEVuYTkwb0V3dWYvOW5vdUtQSDcvUUVkeVN4UmlI?=
 =?utf-8?B?ckd3c0xRWGt2WVRpb2d3cXc5TnVqeFg0a29oZUtEa1hJdDZrd0tsSDNkYzlq?=
 =?utf-8?B?TG5KaG41TjErKzNSdWpyODhQaDRyZWI4VVR3TlQ0RFpXMDQ4QSsrSHBheGpB?=
 =?utf-8?B?Ylc2TUtMQTVMM0hwRkNGOFdPblIxNFVLRjFod05OQ3JMK1NkdmNBOGRvczY1?=
 =?utf-8?B?RlUwSXVxc3VZbVNjdVVETU9wR042ckh1M0NjNGpVT1RLVlJYOTBsZkIyVTBO?=
 =?utf-8?Q?VYC2ohiVUkYdmSJd46Sr9ra/n?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 039a3c21-b804-4549-374c-08da86b1117c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 15:47:08.7970
 (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: MT9PcEzPuKIkqff9wC9AIK05v4ucx/SUQ+5WY5X3tcTrmBfPNCSeqGFNkwLsoiNctWEDzCNX0DmSLru6fkcymA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9177

On 22.08.2022 17:27, Marek Marczykowski-GÃ³recki wrote:
> The important part is to include those buffers in IOMMU page table
> relevant for the USB controller. Otherwise, DbC will stop working as
> soon as IOMMU is enabled, regardless of to which domain device assigned
> (be it xen or dom0).
> If the device is passed through to dom0 or other domain (see later
> patches), that domain will effectively have access to those buffers too.
> It does give such domain yet another way to DoS the system (as is the
> case when having PCI device assigned already), but also possibly steal
> the console ring content. Thus, such domain should be a trusted one.
> In any case, prevent anything else being placed on those pages by adding
> artificial padding.
> 
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 16:15:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 16:15:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393511.632521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRFVu-0004Ut-Hj; Thu, 25 Aug 2022 16:15:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393511.632521; Thu, 25 Aug 2022 16:15:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRFVu-0004Um-Em; Thu, 25 Aug 2022 16:15:26 +0000
Received: by outflank-mailman (input) for mailman id 393511;
 Thu, 25 Aug 2022 16:15:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iKVJ=Y5=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oRFVs-0004FH-Sw
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 16:15:25 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f62252d-2491-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 18:15:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 83B73B82A24;
 Thu, 25 Aug 2022 16:15:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 91680C433B5;
 Thu, 25 Aug 2022 16:15:21 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f62252d-2491-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661444122;
	bh=u9Ghl7TkYlx4h5gPcy/Fm5vU59cOedqmjOD4pBXghVs=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=A/SGhxfqDYpB5hPxz6UxiRs26o01eLebUwupK8kC+Wfe4eXrDPazt/PWA21wO9gtm
	 i99aqOcn854/pfR80H9iXYQd9TJlocti7VxnBsfc81u6Py04Dmh+lMaqGxsyehtr0x
	 GaqCcykcCTIukviFErXZOEgCZdt4W2eEyGpemvdajzA3mJ6SzOoTiXC34y9H+xJiWe
	 owqLy+vIw8Kw5hDA2FjYa98H8110kbsfwoTu2qAvzZ+xy4xgh4piRMrqq/PfNStXa7
	 BMSUKZTY9g4FezHMxcYcisXMN3XGWJZ2YxiNfuZ78qGaaqBL1YliAzueKZ6WgtBVpv
	 D1Qke13oXPM5w==
From: SeongJae Park <sj@kernel.org>
To: jgross@suse.com,
	roger.pau@citrix.com
Cc: marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	SeongJae Park <sj@kernel.org>,
	stable@vger.kernel.org
Subject: [PATCH 1/2] xen-blkback: Advertise feature-persistent as user requested
Date: Thu, 25 Aug 2022 16:15:10 +0000
Message-Id: <20220825161511.94922-2-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220825161511.94922-1-sj@kernel.org>
References: <20220825161511.94922-1-sj@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
when connect") made blkback to advertise its support of the persistent
grants feature only if the user sets the 'feature_persistent' parameter
of the driver and the frontend advertised its support of the feature.
However, following commit 402c43ea6b34 ("xen-blkfront: Apply
'feature_persistent' parameter when connect") made the blkfront to work
in the same way.  That is, blkfront also advertises its support of the
persistent grants feature only if the user sets the 'feature_persistent'
parameter of the driver and the backend advertised its support of the
feature.

Hence blkback and blkfront will never advertise their support of the
feature but wait until the other advertises the support, even though
users set the 'feature_persistent' parameters of the drivers.  As a
result, the persistent grants feature is disabled always regardless of
the 'feature_persistent' values[1].

The problem comes from the misuse of the semantic of the advertisement
of the feature.  The advertisement of the feature should means only
availability of the feature not the decision for using the feature.
However, current behavior is working in the wrong way.

This commit fixes the issue by making the blkback advertises its support
of the feature as user requested via 'feature_persistent' parameter
regardless of the otherend's support of the feature.

[1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/

Fixes: e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter when connect")
Cc: <stable@vger.kernel.org> # 5.10.x
Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Suggested-by: Juergen Gross <jgross@suse.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
---
 drivers/block/xen-blkback/common.h | 3 +++
 drivers/block/xen-blkback/xenbus.c | 6 ++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index bda5c815e441..a28473470e66 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -226,6 +226,9 @@ struct xen_vbd {
 	sector_t		size;
 	unsigned int		flush_support:1;
 	unsigned int		discard_secure:1;
+	/* Connect-time cached feature_persistent parameter value */
+	unsigned int		feature_gnt_persistent_parm:1;
+	/* Persistent grants feature negotiation result */
 	unsigned int		feature_gnt_persistent:1;
 	unsigned int		overflow_max_grants:1;
 };
diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index ee7ad2fb432d..c0227dfa4688 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -907,7 +907,7 @@ static void connect(struct backend_info *be)
 	xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support);
 
 	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
-			be->blkif->vbd.feature_gnt_persistent);
+			be->blkif->vbd.feature_gnt_persistent_parm);
 	if (err) {
 		xenbus_dev_fatal(dev, err, "writing %s/feature-persistent",
 				 dev->nodename);
@@ -1085,7 +1085,9 @@ static int connect_ring(struct backend_info *be)
 		return -ENOSYS;
 	}
 
-	blkif->vbd.feature_gnt_persistent = feature_persistent &&
+	blkif->vbd.feature_gnt_persistent_parm = feature_persistent;
+	blkif->vbd.feature_gnt_persistent =
+		blkif->vbd.feature_gnt_persistent_parm &&
 		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
 
 	blkif->vbd.overflow_max_grants = 0;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 16:15:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 16:15:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393512.632531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRFVx-0004li-Q8; Thu, 25 Aug 2022 16:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393512.632531; Thu, 25 Aug 2022 16:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRFVx-0004lb-NE; Thu, 25 Aug 2022 16:15:29 +0000
Received: by outflank-mailman (input) for mailman id 393512;
 Thu, 25 Aug 2022 16:15:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iKVJ=Y5=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oRFVw-0004kL-Gm
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 16:15:28 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20b03748-2491-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 18:15:27 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id AEE3361B75;
 Thu, 25 Aug 2022 16:15:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 66BC6C433C1;
 Thu, 25 Aug 2022 16:15:23 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20b03748-2491-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661444124;
	bh=MyefAg5QMtTe9G45OGJvSLHtJDZ6Nxt+B/36e/BGodU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=cGocOxtCF6njlitkxhkDCLXDSTKPiSMqazH+G1pz6yicN6AahRiMXMtEEEItK9Qps
	 uvEEG/uCqhiG/RwFdvrNko811/8cLvyGfmpy1ojf+3AXVPH2hpliJyoO7iOxClLoBk
	 K6O74IL6AwOcRc0FvC+xt/E9jl47eJxh+RcCeLEIN8KpOoup7KuTLNbKlHQxgsQxb8
	 iF3PzTnEfbM+yyKWhqi8QHd258xLUYf0ewS8f7eOBhaEzcd8fSr2AGMBvk/zP3HBWO
	 JEJNoOAziB0la4PaewpTu4OZy6jMHBUl/q9GzmgZj9BbpKC8upnBJRDlyJHD/MOrLt
	 5nNKZoV2FGXrQ==
From: SeongJae Park <sj@kernel.org>
To: jgross@suse.com,
	roger.pau@citrix.com
Cc: marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	SeongJae Park <sj@kernel.org>,
	stable@vger.kernel.org
Subject: [PATCH 2/2] xen-blkfront: Advertise feature-persistent as user requested
Date: Thu, 25 Aug 2022 16:15:11 +0000
Message-Id: <20220825161511.94922-3-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220825161511.94922-1-sj@kernel.org>
References: <20220825161511.94922-1-sj@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
when connect") made blkback to advertise its support of the persistent
grants feature only if the user sets the 'feature_persistent' parameter
of the driver and the frontend advertised its support of the feature.
However, following commit 402c43ea6b34 ("xen-blkfront: Apply
'feature_persistent' parameter when connect") made the blkfront to work
in the same way.  That is, blkfront also advertises its support of the
persistent grants feature only if the user sets the 'feature_persistent'
parameter of the driver and the backend advertised its support of the
feature.

Hence blkback and blkfront will never advertise their support of the
feature but wait until the other advertises the support, even though
users set the 'feature_persistent' parameters of the drivers.  As a
result, the persistent grants feature is disabled always regardless of
the 'feature_persistent' values[1].

The problem comes from the misuse of the semantic of the advertisement
of the feature.  The advertisement of the feature should means only
availability of the feature not the decision for using the feature.
However, current behavior is working in the wrong way.

This commit fixes the issue by making the blkfront advertises its
support of the feature as user requested via 'feature_persistent'
parameter regardless of the otherend's support of the feature.

[1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/

Fixes: 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter when connect")
Cc: <stable@vger.kernel.org> # 5.10.x
Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Suggested-by: Juergen Gross <jgross@suse.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
---
 drivers/block/xen-blkfront.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 8e56e69fb4c4..dfae08115450 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -213,6 +213,9 @@ struct blkfront_info
 	unsigned int feature_fua:1;
 	unsigned int feature_discard:1;
 	unsigned int feature_secdiscard:1;
+	/* Connect-time cached feature_persistent parameter */
+	unsigned int feature_persistent_parm:1;
+	/* Persistent grants feature negotiation result */
 	unsigned int feature_persistent:1;
 	unsigned int bounce:1;
 	unsigned int discard_granularity;
@@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
 		goto abort_transaction;
 	}
 	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
-			info->feature_persistent);
+			info->feature_persistent_parm);
 	if (err)
 		dev_warn(&dev->dev,
 			 "writing persistent grants feature to xenbus");
@@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
 	if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
 		blkfront_setup_discard(info);
 
-	if (feature_persistent)
+	info->feature_persistent_parm = feature_persistent;
+	if (info->feature_persistent_parm)
 		info->feature_persistent =
 			!!xenbus_read_unsigned(info->xbdev->otherend,
 					       "feature-persistent", 0);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 16:15:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 16:15:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393510.632511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRFVt-0004FZ-CI; Thu, 25 Aug 2022 16:15:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393510.632511; Thu, 25 Aug 2022 16:15:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRFVt-0004FS-7A; Thu, 25 Aug 2022 16:15:25 +0000
Received: by outflank-mailman (input) for mailman id 393510;
 Thu, 25 Aug 2022 16:15:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iKVJ=Y5=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oRFVs-0004FH-4H
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 16:15:24 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e75133b-2491-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 18:15:22 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 78C08B82A1E;
 Thu, 25 Aug 2022 16:15:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7C59FC433C1;
 Thu, 25 Aug 2022 16:15:19 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e75133b-2491-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661444120;
	bh=XyBLgn4uCh2rzAZM0VjsQj/nGaK5vZjLuP0BYgrnjyM=;
	h=From:To:Cc:Subject:Date:From;
	b=grFS/aMrCjdFegM+Ml+ScBgzeRNF4Xyvl1oPuxKLCoLPjMk6M3mKMe1zkZliXk/fr
	 mltiLJUpC7/eM61LfFLCM9XlvZuzU+5fzI+NVz36p8nhj4S6cssk6SHODopLV/SlA/
	 nW36rVQ/WTj80LXFyiNBVJKU8n+9q4m/jWQBPItuS239gW0bmW5T8vPSRgjFlet32R
	 iTiCUuP6cgTi7kxNUmHNTOXyiZY64V1KYu3ZJ5P/D5XMLiNVereZROTcmTor8ygLBs
	 WekZG7relWUBrdvm0mgicofCNSm5g2vlQrGOEb+b7rKTc/D50xwlaVBbRmHCH027gF
	 oMZ/eSvVlXgaw==
From: SeongJae Park <sj@kernel.org>
To: jgross@suse.com,
	roger.pau@citrix.com
Cc: marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	SeongJae Park <sj@kernel.org>
Subject: [PATCH 0/2] xen-blk{front,back}: Advertise feature-persistent as user requested
Date: Thu, 25 Aug 2022 16:15:09 +0000
Message-Id: <20220825161511.94922-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
when connect") made blkback to advertise its support of the persistent
grants feature only if the user sets the 'feature_persistent' parameter
of the driver and the frontend advertised its support of the feature.
However, following commit 402c43ea6b34 ("xen-blkfront: Apply
'feature_persistent' parameter when connect") made the blkfront to work
in the same way.  That is, blkfront also advertises its support of the
persistent grants feature only if the user sets the 'feature_persistent'
parameter of the driver and the backend advertised its support of the
feature.

Hence blkback and blkfront will never advertise their support of the
feature but wait until the other advertises the support, even though
users set the 'feature_persistent' parameters of the drivers.  As a
result, the persistent grants feature is disabled always regardless of
the 'feature_persistent' values[1].

The problem comes from the misuse of the semantic of the advertisement
of the feature.  The advertisement of the feature should means only
availability of the feature not the decision for using the feature.
However, current behavior is working in the wrong way.

This patchset fixes the issue by making both blkback and blkfront
advertise their support of the feature as user requested via
'feature_persistent' parameter regardless of the otherend's support of
the feature.

[1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/

SeongJae Park (2):
  xen-blkback: Advertise feature-persistent as user requested
  xen-blkfront: Advertise feature-persistent as user requested

 drivers/block/xen-blkback/common.h | 3 +++
 drivers/block/xen-blkback/xenbus.c | 6 ++++--
 drivers/block/xen-blkfront.c       | 8 ++++++--
 3 files changed, 13 insertions(+), 4 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 25 16:23:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 16:23:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393529.632543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRFdC-0006rk-Jq; Thu, 25 Aug 2022 16:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393529.632543; Thu, 25 Aug 2022 16:22:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRFdC-0006rd-GO; Thu, 25 Aug 2022 16:22:58 +0000
Received: by outflank-mailman (input) for mailman id 393529;
 Thu, 25 Aug 2022 16:22:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iKVJ=Y5=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oRFdC-0006rX-2f
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 16:22:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d471050-2492-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 18:22:57 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 975B161828;
 Thu, 25 Aug 2022 16:22:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7B726C433D6;
 Thu, 25 Aug 2022 16:22:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d471050-2492-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661444575;
	bh=EjI4+VNhnr0SQiEvNEQ7VCRCiI+uNu1bxaC7anwph6Q=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=vEVcG5o/4x2ldnFxAZQNsybfdDBVhCILEevxTjSmgRCql8FsoU58VT2+CM4GgB3J6
	 aXRPBja8+vMqtB3fNlqFfMY1+LVjiEsFhNhIe+4hPWv/VqaFgHOH8hfYUvz/nE840o
	 E/LBkDQSBzYc1savkk2y6ThG9OgFtNAO+UO5qeT3reeD2VipGg7/iFCz6ZKJz0NDnG
	 tqv66JXVEJdvc8BEVSLvMuxyLpSmoj40hOrSpH/GDHXqEYbKEvdJQYsgZif2CC7/ch
	 ywpDjXfc+C4IwbupX/RHTtRMDL3f6uiaKimxE7SHGR6+Kf3ycWqf0I/abBlN+ZvsHZ
	 VowNk3HlYpVpQ==
From: SeongJae Park <sj@kernel.org>
To: Juergen Gross <jgross@suse.com>
Cc: SeongJae Park <sj@kernel.org>,
	roger.pau@citrix.com,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	"Xen developer discussion" <xen-devel@lists.xenproject.org>,
	"SeongJae Park" <sjpark@amazon.com>,
	"Maximilian Heyne" <mheyne@amazon.de>
Subject: =?UTF-8?q?Re=3A=20=E2=80=9CBackend=20has=20not=20unmapped=20grant=E2=80=9D=20errors?=
Date: Thu, 25 Aug 2022 16:22:52 +0000
Message-Id: <20220825162252.94991-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <70d931c9-2c3c-40f5-4e93-93a1aba1b76c@suse.com>
References: 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hi Juergen,


Thank you for the quick and nice reply!

On Thu, 25 Aug 2022 08:20:33 +0200 Juergen Gross <jgross@suse.com> wrote:

> 
[...]
> 
> Could you please send it as two proper patches (one for each driver) with
> the correct "Fixes:" tags?

Sure, just posted:
https://lore.kernel.org/xen-devel/20220825161511.94922-2-sj@kernel.org/


Thanks,
SJ

> 
> 
> Juergen


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 17:14:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 17:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393535.632554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRGQw-0003jo-Eg; Thu, 25 Aug 2022 17:14:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393535.632554; Thu, 25 Aug 2022 17:14:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRGQw-0003jh-AR; Thu, 25 Aug 2022 17:14:22 +0000
Received: by outflank-mailman (input) for mailman id 393535;
 Thu, 25 Aug 2022 17:14:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRGQu-0003jX-T1; Thu, 25 Aug 2022 17:14:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRGQu-0003AQ-Ot; Thu, 25 Aug 2022 17:14:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRGQu-0002Bg-F0; Thu, 25 Aug 2022 17:14:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRGQu-0006zs-Ea; Thu, 25 Aug 2022 17:14:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JJ7SroDabKdFNi+rmm1/djpbe9E0dKULn+VMdJ3Sc0w=; b=JLpQMN4lsXV7WeSS3ZGqNZtyRI
	rWu/wstGlG5k8yDwJTIjCePFrkYJlyBOODAH4XZcWVR7KLscofvRkL/b+qXL8ePyRyGyOHpAXRbhj
	TN1pgx/Rm1TQasLMzixXQaVAYqz0LOTOec8oaFO7Vxx4d+ypQKT1gf86S6crCOV0enkc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172766-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172766: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-examine:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 17:14:20 +0000

flight 172766 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172766/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64 7 xen-install fail in 172757 pass in 172766
 test-amd64-i386-examine       6 xen-install      fail in 172757 pass in 172766
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172757 pass in 172766
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172757

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172757 like 172128
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172757 like 172128
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172757 like 172128
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172757 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172757 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 172757 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 172757 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                de0cd3ea700d1e8ed76705d02e33b524cbb84cf3
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   21 days
Testing same since   172384  2022-08-11 11:13:58 Z   14 days   29 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Borislav Petkov <bp@suse.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Ning Qiang <sohu0106@126.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raghavendra Rao Ananta <rananta@google.com>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stanislav Fomichev <sdf@google.com>
  Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tony Luck <tony.luck@intel.com>
  Werner Sembach <wse@tuxedocomputers.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 612 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 17:33:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 17:33:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393544.632565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRGj2-0006Cd-5X; Thu, 25 Aug 2022 17:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393544.632565; Thu, 25 Aug 2022 17:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRGj2-0006CW-1R; Thu, 25 Aug 2022 17:33:04 +0000
Received: by outflank-mailman (input) for mailman id 393544;
 Thu, 25 Aug 2022 17:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRGj0-0006Bb-P8; Thu, 25 Aug 2022 17:33:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRGj0-0003TK-L1; Thu, 25 Aug 2022 17:33:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRGj0-0004Im-1B; Thu, 25 Aug 2022 17:33:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRGj0-0007Cz-0j; Thu, 25 Aug 2022 17:33:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kSn28GHxY8iU0jnpbpAsTbWpKYg9AoVPBKx/VHqe/dE=; b=4882MDIFCjbaYeKJXT8Dr5nq0V
	uJJzpaIQBb/9e6mOfWzO/HV3mDZrKlrIAnwx/mlYtaUStEhdde7lziivx0ONZpJXmchAN1MW/Nesr
	J9Wh5etwMStkORP7yzuivh2y0vLztenyTrnNiOyb/zRMWq3GjGFAW9DZbjDmkpXxXTzg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172773-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172773: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    ovmf:build-amd64-xsm:<job status>:broken:regression
    ovmf:build-amd64-xsm:host-install(4):broken:regression
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 17:33:02 +0000

flight 172773 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172773/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-xsm                 <job status>                 broken
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 172136
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   21 days
Failing since        172151  2022-08-05 02:40:28 Z   20 days  168 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              broken  
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-amd64-xsm broken
broken-step build-amd64-xsm host-install(4)

Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 17:45:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 17:45:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393552.632576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRGuX-0007jQ-6R; Thu, 25 Aug 2022 17:44:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393552.632576; Thu, 25 Aug 2022 17:44:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRGuX-0007jJ-3B; Thu, 25 Aug 2022 17:44:57 +0000
Received: by outflank-mailman (input) for mailman id 393552;
 Thu, 25 Aug 2022 17:44:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SRxw=Y5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oRGuV-0007jD-FP
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 17:44:55 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9fe740ff-249d-11ed-9250-1f966e50362f;
 Thu, 25 Aug 2022 19:44:53 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6E8E161CD7;
 Thu, 25 Aug 2022 17:44:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 10ACDC433C1;
 Thu, 25 Aug 2022 17:44:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fe740ff-249d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661449491;
	bh=J4BIvOm5MbO5BSvg9puoqzgmrBzXqpZu3oUs+H5B2RA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rEPyQhvpvjUXZ3RwoUUDagQ3XejfmOsSEG6jWJZlCLcwa79dRRqyw/uEDt52ZkHxW
	 RmE8H5cZKIv13+xH0G5bYYR9HIA5U83LjJ7NpfPFbDh4/pEKGagERcB6/3vmtUu9d8
	 KVHFIRhF6X6mRYAqYAZHl0esk7DI8Vop2aYJj3Mh4Cxh0Ij6CzClyHQr6ETWXSpsVq
	 pbnzGdkGntRmWXyyFwhfGxHND9JeJeBLolbmlCewmQ8giLKrUk4JIU/NX+4vb5eu+O
	 vDuKLyunyKBs2FMoPIivUJcu8pFyJiuOYujJoda/7yarNcJA01nyl0+ui6+IH8JFbc
	 +80KMIHAJmxsw==
Date: Thu, 25 Aug 2022 10:44:37 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
cc: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Rahul Singh <Rahul.Singh@arm.com>, 
    xen-devel <xen-devel@lists.xenproject.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
In-Reply-To: <35C21FDE-5648-425A-9399-1C5E2B9A37FB@arm.com>
Message-ID: <alpine.DEB.2.22.394.2208251042040.733916@ubuntu-linux-20-04-desktop>
References: <cover.1660902588.git.rahul.singh@arm.com> <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com> <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org> <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com> <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com> <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org> <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com> <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop> <da07bb5d-98c3-9c94-a1f0-6021e398f898@xen.org>
 <alpine.DEB.2.22.394.2208241810390.15247@ubuntu-linux-20-04-desktop> <646CFFC2-9259-45C8-89AB-D59AA5B0DBC1@arm.com> <32a74a0a-9f4f-7b3a-622b-6fb5e9a097b0@xen.org> <35C21FDE-5648-425A-9399-1C5E2B9A37FB@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-2015273853-1661449491=:733916"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-2015273853-1661449491=:733916
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 25 Aug 2022, Bertrand Marquis wrote:
> > On 25 Aug 2022, at 10:37, Julien Grall <julien@xen.org> wrote:
> > On 25/08/2022 08:39, Bertrand Marquis wrote:
> >> Hi,
> >>> On 25 Aug 2022, at 02:10, Stefano Stabellini <sstabellini@kernel.org> wrote:
> >>> 
> >>> On Wed, 24 Aug 2022, Julien Grall wrote:
> >>>> On 24/08/2022 22:59, Stefano Stabellini wrote:
> >>>>> On Wed, 24 Aug 2022, Rahul Singh wrote:
> >>>>>>> On 24 Aug 2022, at 4:36 pm, Julien Grall <julien@xen.org> wrote:
> >>>>>>> On 24/08/2022 15:42, Rahul Singh wrote:
> >>>>>>>>> On 24 Aug 2022, at 1:59 pm, Julien Grall <julien@xen.org> wrote:
> >>>>>>>>> 
> >>>>>>>>> 
> >>>>>>>>> 
> >>>>>>>>> On 24/08/2022 13:15, Rahul Singh wrote:
> >>>>>>>>>> Hi Julien,
> >>>>>>>>> 
> >>>>>>>>> Hi Rahul,
> >>>>>>>>> 
> >>>>>>>>>> Please let me know your view on this.
> >>>>>>>>>> diff --git a/xen/arch/arm/domain_build.c
> >>>>>>>>>> b/xen/arch/arm/domain_build.c
> >>>>>>>>>> index bfe7bc6b36..a1e23eee59 100644
> >>>>>>>>>> --- a/xen/arch/arm/domain_build.c
> >>>>>>>>>> +++ b/xen/arch/arm/domain_build.c
> >>>>>>>>>> @@ -3562,12 +3562,7 @@ static int __init construct_domU(struct
> >>>>>>>>>> domain *d,
> >>>>>>>>>>    if ( rc == -EILSEQ ||
> >>>>>>>>>>      rc == -ENODATA ||
> >>>>>>>>>>      (rc == 0 && !strcmp(dom0less_enhanced, â€œenabledâ€)) )
> >>>>>>>>>> -  {
> >>>>>>>>>> -    if ( hardware_domain )
> >>>>>>>>>>        kinfo.dom0less_enhanced = true;
> >>>>>>>>>> -    else
> >>>>>>>>>> -      panic(â€œTried to use xen,enhanced without dom0\nâ€);
> >>>>>>>>>> -  }
> >>>>>>>>> 
> >>>>>>>>> You can't use "xen,enhanced" without dom0. In fact, you will end up
> >>>>>>>>> to dereference NULL in alloc_xenstore_evtchn(). That's because
> >>>>>>>>> "xen,enhanced" means the domain will be able to use Xenstored.
> >>>>>>>>> 
> >>>>>>>>> Now if you want to support your feature without a dom0. Then I think
> >>>>>>>>> we want to introduce an option which would be the same as
> >>>>>>>>> "xen,enhanced" but doesn't expose Xenstored.
> >>>>>>>> If we modify the patch as below we can use the "xen,enhanced" for
> >>>>>>>> domUs without dom0.
> >>>>>>>> I tested the patch and its works fine. Do you see any issue with this
> >>>>>>>> approach?
> >>>>>>> 
> >>>>>>> Yes. For two reasons:
> >>>>>>> 1) It is muddying the meaning of "xen,enhanced". In particular a user
> >>>>>>> may not realize that Xenstore is not available if dom0 is not present.
> >>>>>>> 2) It would be more complicated to handle the case where Xenstored lives
> >>>>>>> in a non-dom0 domain. I am not aware of anyone wanting this on Arm yet,
> >>>>>>> but I don't want to close the door.
> >>>>>>> 
> >>>>>>> So if you want to support create "xen,xen" without all the rest. Then I
> >>>>>>> think we need a different property value. I don't have a good suggestion
> >>>>>>> for the name.
> >>>>>> 
> >>>>>> Is that okay if we use the earlier approach, when user set  "xen,enhanced
> >>>>>> = evtchnâ€ we will not call alloc_xenstore_evtchn()
> >>>>>> but we create hypervisor node with all fields.
> >>>>> 
> >>>>> Thinking more about this, today xen,enhanced has the implication that:
> >>>>> 
> >>>>> - the guest will get a regular and complete "xen,xen" node in device tree
> >>>>> - xenstore and PV drivers will be available (full Xen interfaces support)
> >>>>> 
> >>>>> We don't necessarely imply that dom0 is required (from a domU point of
> >>>>> view) but we do imply that xenstore+evtchn+gnttab will be available to
> >>>>> the domU.
> >>>>> 
> >>>>> Now, static event channels are different. They don't require xenstore
> >>>>> and they don't require gnttab.
> >>>>> 
> >>>>> It is as if the current xen,enhanced node actually meant:
> >>>>> 
> >>>>>   xen,enhanced = "xenstore,gnttab,evtchn";
> >>>> 
> >>>> Correct.
> >>>> 
> >>>>> 
> >>>>> and now we are only enabling a subset:
> >>>>> 
> >>>>>   xen,enhanced = "evtchn";
> >>>>> 
> >>>>> Is that a correct understanding?
> >>>> 
> >>>> Yes with some cavears (see below).
> >>>> 
> >>>>> 
> >>>>> 
> >>>>> If so, we can clarify that:
> >>>>> 
> >>>>>   xen,enhanced;
> >>>>> 
> >>>>> it is a convenient shortend for:
> >>>>> 
> >>>>>   xen,enhanced = "xenstore,gnttab,evtchn";
> >>>>> 
> >>>>> and that other combinations are also acceptable, e.g.:
> >>>>> 
> >>>>>   xen,enhanced = "gnttab";
> >>>>>   xen,enhanced = "evtchn";
> >>>>>   xen,enhanced = "evtchn,gnttab";
> >>>>> 
> >>>>> It is OK to panic if the user specifies an option that is currently
> >>>>> unsupported (e.g. "gnttab").
> >>>> 
> >>>> So today, if you create the node "xen,xen", the guest will expect to be able
> >>>> to use both grant-table and event channel.
> >>>> 
> >>>> Therefore, in the list above, the only configuration we can sensibly support
> >>>> without any major rework is "evtchn,gnttab".
> >>>> 
> >>>> If we want to support "evtchn" or "gnttab" only. Then we likely need to define
> >>>> a new binding (or new version) because neither "regs" nor "interrupts" are
> >>>> optional (although a guest OS is free to ignore them).
> >>> 
> >>> Yes I think you are right. I also broadly agree with the rest of your
> >>> reply.
> >>> 
> >>> Thinking about it and given the above, we only need 2 "levels" of
> >>> enhancement:
> >>> 
> >>> 1) everything: xenstore, gnttab, evtchn
> >>> 2) gnttab, evtchn, but not xenstore
> >>> 
> >>> Nothing else is really possible because, as Julien pointed out,
> >>> "xen,enhanced" implies the xen,xen node in the domU device tree and in
> >>> turn that node implies both evtchn and gnttab.
> >> So we could say that xen,enhanced always includes gnttab and Xenstore is optional.
> > 
> > Not really, Xenstore has always been part of the story in Xen. So I think making it optional for "xen,enhanced" is going to make more difficult for user to understand what the meaning of the option (in particular that in the future we may want to support Xenstored in a separate domain).
> 
> Sorry wrong formulation, here I was meaning that we just need a solution to disable Xenstore (should still be here by default when supported).
> 
> > 
> >>> So I think we just need to add a way to express 2). We could do
> >>> something like:
> >>> 
> >>>  xen,enhanced = "evtchn,gnttab";
> >> I am a bit puzzled here as gnttab is always there.
> > 
> > What do you mean?
> 
> Asking the user to specify gnttab in the list even though it is not supported to not have it in the list.
> 
> > 
> >>> 
> >>> Or we could use a new separate option like Julien initially suggested,
> >>> e.g.:
> >>> 
> >>>  xen,enhanced-no-xenstore;
> >>> 
> >>> "xen,enhanced-no-xenstore" is a terrible name actually, but just to
> >>> explain what I am thinking :-)
> >> I think most common use case will be to have all, so make sense to allow to disable Xenstore.
> >> How about:
> >> xen,enhanced = â€œno-xenstoreâ€ ?
> > 
> > I would be fine with it.

We have agreement on this, so I would say let's keep it simple and go
with this option.


> >> An other solution is to keep xen,enhanced as it is and introduce a new option:
> >> Xen,no-xenstore
> > 
> > I don't like the idea of introducing yet another option.
> > 
> >> At the end Xenstore cannot be used if there is no Dom0 and that we can detect easily.
> >> Also there is no solution at this stage to have an other domain then Dom0 providing
> >> Xenstore (maybe in the long term someone will want to introduce that and we will need
> >> a way to specify which domain is handling it).
> >> So I still think that we could just say that Xenstore can only be active if there is a Dom0
> >> and just disable Xenstore automatically if it is not the case.
> > 
> > See above about disabling Xenstore automatically.
> 
> Right now Xenstore can only work with a dom0 and if someone wants to have an other domain to provide it we would need a way to specify which one in the configuration.
> So in a configuration without dom0, I still think that not enabling Xenstore automatically is ok.
> 
> > 
> >> If there is a dom0 and someone wants a guest without Xenstore, then we would need to
> >> have the no-xenstore support.
> >> But is it a use case ?
> > 
> > Do you mean when "xen,enhanced" is specified? If yes, this could be useful if one want to limit the interface exposed to the guest.
> 
> How about the following:
> Xen,enhanced: gnttab, events and Xenstore if there is a dom0
> Xen,enhanced = â€œ[no-]xenstore,[no-]evtchn,[no-]gnttabâ€ for when the user wants to explicitly specify what he wants (and Xen stopping on unsupported configuration).
>    In this I would allow to provide any combinations of the 3

I am OK with what you wrote as well, but considering the additional
complexity that no-gnttab and no-evtchn entail given that they cannot be
actually disabled today, I suggest to keep it simple and go with:

xen,enhanced = "no-xenstore"

--8323329-2015273853-1661449491=:733916--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 18:09:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 18:09:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393558.632587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRHI6-0001rO-4i; Thu, 25 Aug 2022 18:09:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393558.632587; Thu, 25 Aug 2022 18:09:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRHI6-0001rH-1M; Thu, 25 Aug 2022 18:09:18 +0000
Received: by outflank-mailman (input) for mailman id 393558;
 Thu, 25 Aug 2022 18:09:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SRxw=Y5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oRHI4-0001rB-2q
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 18:09:16 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 067a0d0e-24a1-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 20:09:14 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0F9DD61CBF;
 Thu, 25 Aug 2022 18:09:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6221AC43140;
 Thu, 25 Aug 2022 18:09:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 067a0d0e-24a1-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661450952;
	bh=aIGgYcs1PlaJZMkE8Y3/dAoZJGGRaqoCWcaaKdwhScg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CfhbH//vOq7dzlEWQ/UTOnzItNHh3V1i8NGi/8YeT+sJ0fkLeb7t5+50K53VkUty6
	 x7NI1wzkEMRMkioACKl3XdSPLLubUs05ueit3Ii68KUHex6NXNwoIDU7vtzrCwbT06
	 6HBKawxktjzR+SSYNY5WcShCTEy/UhMXFJn+KwN8EoM2on2sy92GC254JVWkuG2gzc
	 +x4QGYFWU4tgYGQlBsCGvBnBTlj9j3znlVW/3I1v9OEFZG36ty4+ZdLPGLzdhyHdeX
	 TVmCBE5HEiEnlIvlODW8wdKu55tG2Hjx3Nj2qLNka8vFHEKZlYSin9QMv6VMDeHPUl
	 fYh2sVwcgHXjw==
Date: Thu, 25 Aug 2022 11:09:10 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Xenia Ragiadakou <burzalodowa@gmail.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>, 
    andrew.cooper3@citrix.com, bertrand.marquis@arm.com, roger.pau@citrix.com, 
    roberto.bagnara@bugseng.com
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
In-Reply-To: <2ff949e4-5f02-f476-7b14-252252d1b8b5@suse.com>
Message-ID: <alpine.DEB.2.22.394.2208251045380.733916@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-8-burzalodowa@gmail.com> <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com> <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com> <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
 <852c68d0-bda1-e56e-85c0-500c498054a0@gmail.com> <2ff949e4-5f02-f476-7b14-252252d1b8b5@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

CC MISRA C working group

Short summary: we are discussing whether the following is sufficient to
address MISRA C Rule 20.7, and also in general for safety:


 #define dt_for_each_property_node(dn, pp)                   \
-    for ( pp = dn->properties; pp != NULL; pp = pp->next )
+    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )


as you can see "dn" has been parenthesizing because is used as a rhs,
while "pp" has *not* because it is used as lhs.

More below.


On Thu, 25 Aug 2022, Jan Beulich wrote:
> On 25.08.2022 10:02, Xenia Ragiadakou wrote:
> > On 8/22/22 14:48, Jan Beulich wrote:
> >> On 22.08.2022 12:43, Xenia Ragiadakou wrote:
> >>> On 8/22/22 12:59, Jan Beulich wrote:
> >>>> On 19.08.2022 21:43, Xenia Ragiadakou wrote:
> >>>>> In macros dt_for_each_property_node(), dt_for_each_device_node() and
> >>>>> dt_for_each_child_node(), add parentheses around the macro parameters that
> >>>>> have the arrow operator applied, to prevent against unintended expansions.
> >>>>
> >>>> Why is this relevant only when -> is used? For comparisons and the rhs of
> >>>> assignments it's as relevant, ad even for the lhs of assignments I doubt
> >>>> it can be generally omitted.
> >>>
> >>> Yes, I agree with you but some older patches that I sent that were
> >>> adding parentheses around the lhs of the assignments were not accepted
> >>> and I thought that the rhs of the assignments as well these comparisons
> >>> fall to the same category.
> >>>
> >>> Personally, I would expect to see parentheses, also, around the macro
> >>> parameters that are used as the lhs or the rhs of assignments, the
> >>> operands of comparison or the arguments of a function.
> >>> Not only because they can prevent against unintentional bugs but because
> >>> the parentheses help me to identify more easily the macro parameters
> >>> when reading a macro definition. I totally understand that for other
> >>> people parentheses may reduce readability.
> >>
> >> Afair Julien's comments were very specific to the lhs of assignments.
> >> So at the very least everything else ought to be parenthesized imo.
> >>
> > 
> > So, IIUC, the only deviations from the MISRA C 2012 Rule 20.7 will be 
> > for macro parameters used as the lhs of assignments and function arguments?
> 
> Afaic I don't consider that discussion settled.
> 
> > This feels a bit of a hack to parenthesize the macro parameters that are 
> > used as the rhs of an assignment but not those used as the lhs.
> 
> lhs and rhs of assignments are quite different, and hence making such a
> distinction wouldn't look to be a "hack" to me. In fact I've always
> considered this part of the language somewhat strange: To me
> parenthesizing e.g. an identifier already makes it (visually) an
> rvalue. Leaving aside odd (and easy to spot as odd) uses at the call
> sizes, I don't think I can come up with a case where parentheses are
> really needed. Anything needing parenthesizing actually yields an
> rvalue afaics, thus causing a diagnostic anyway.

Although I can see where you are coming from, parenthesizing an
identifier doesn't actually make it an rvalue. Also it is a lot simpler
to understand, review, and apply a policy that says:

"all macro parameters are parenthesized"

compared to a policy that says:

"most macro paremeters are parenthesized, let's go into the details of
which ones are parenthesized and which ones are not, including examples
and corner cases"

For simplicity, I would go with the simplest version, the MISRA version.

I am assuming that the MISRA Rule 20.7 requires that "pp" is also
parenthesized. Roberto, is that correct?


> >  From previous discussions on the topic, I understood that the 
> > parentheses are considered needed only when they eliminate operator 
> > precedence problems, while for the wrong parameter format bugs we can 
> > rely on the reviewers.
> > 
> > I think we need to decide if the rule will be applied as is and if not 
> > which will be the deviations along with their justification and add it 
> > to the document.
> 
> Yes. But this shouldn't hinder adjustments for all other, non-
> controversial cases.

It looks like we need a discussion and see where the majority of the
team is on this issue. I prefer the original MISRA version for
simplicity, but I also think it is OK if we make a small customization
to it. In that case, we would add the extra explanation and details to
docs/misra/rules.rst.

However, as we make the decision we also need to take into account that
if we don't go with the vanilla MISRA rule, there is a price to pay: all
the MISRA scanners, including cppcheck, Eclair, Coverity and others would
probably still flag these issues as violations polluting the results
and making the scanners less useful. We might have to mark each
"deviation" with a one-line in-code comment on top, or we would have to
disable automatic scanning for Rule 20.7 altogether. Either option is
not great.

This is actually the main reason why I prefer the vanillay MISRA
version: even if the resulting style might not be as good the the custom
version, we don't need to worry about reviewing this rule because we can
easily get automatic scans for it.


But first, let's confirm whether this change:


 #define dt_for_each_property_node(dn, pp)                   \
-    for ( pp = dn->properties; pp != NULL; pp = pp->next )
+    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )


is sufficient to make the violation go away in Eclair or cppcheck.  I am
assuming it is not sufficient, but let's confirm.


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 18:35:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 18:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393564.632598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRHgs-0005B6-6R; Thu, 25 Aug 2022 18:34:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393564.632598; Thu, 25 Aug 2022 18:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRHgs-0005Az-1v; Thu, 25 Aug 2022 18:34:54 +0000
Received: by outflank-mailman (input) for mailman id 393564;
 Thu, 25 Aug 2022 18:34:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRHgq-0005Ap-Q2; Thu, 25 Aug 2022 18:34:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRHgq-0004cC-OF; Thu, 25 Aug 2022 18:34:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRHgq-0007ns-08; Thu, 25 Aug 2022 18:34:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRHgp-0001rP-Vr; Thu, 25 Aug 2022 18:34:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lhtMYxkuroCJ3gHTlz8+CPjX55WXZ1XEzwtpfNwx884=; b=5RgJPNL+nY+7k5Hj9sXHqmFVwv
	pZF9WhdkFAcUexprjXKafkHB38vOtbI8owb3PmqIH4rm/8AGZ7tTY74Z2ZHVi4vgzH0oQF734q2Iz
	ZzMf/B39hVyQfn8om9cEmCAd6nQUlPraYwqxYqVIKlNh5cz1pV+sOkgUWVIu+/wMSW/s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172775-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172775: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
X-Osstest-Versions-That:
    xen=c3bd0b83ea5b7c0da6542687436042eeea1e7909
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 18:34:51 +0000

flight 172775 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172775/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172752
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f
baseline version:
 xen                  c3bd0b83ea5b7c0da6542687436042eeea1e7909

Last test of basis   172752  2022-08-24 13:00:27 Z    1 days
Testing same since   172775  2022-08-25 15:01:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c3bd0b83ea..cbb35e7280  cbb35e72802f3a285c382a995ef647b59e5caf2f -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 19:29:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 19:29:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393574.632609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRIXk-0002BZ-Ed; Thu, 25 Aug 2022 19:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393574.632609; Thu, 25 Aug 2022 19:29:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRIXk-0002BS-Bs; Thu, 25 Aug 2022 19:29:32 +0000
Received: by outflank-mailman (input) for mailman id 393574;
 Thu, 25 Aug 2022 19:29:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRIXi-0002BI-Oq; Thu, 25 Aug 2022 19:29:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRIXi-0005be-La; Thu, 25 Aug 2022 19:29:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRIXi-0002uq-9S; Thu, 25 Aug 2022 19:29:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRIXi-0008BQ-8w; Thu, 25 Aug 2022 19:29:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CJNq/vCyBTCz4LDi7YTM+uJw1HlhyTCxHUyv/W2Xs4E=; b=KJlr4EUpZjKjpEsDomXLNXfW0o
	l82RQ2TQvoGfBzqSVVAXH5eghz+IWMhksklDeYwQfg9xguKDZlEwepkkeoXUUi2AF6/MC+DNHdZ9D
	3kDuQjm/x2673SrRpEDzjpv5SaXa14SK/kWWpbZkpaCCtdvzoRLpp8ldrJ0z19UG3NdE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172768-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172768: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 19:29:30 +0000

flight 172768 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172768/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   22 days
Failing since        172148  2022-08-04 21:39:38 Z   20 days   48 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 20:38:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 20:38:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393582.632620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRJcC-0000sl-8Y; Thu, 25 Aug 2022 20:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393582.632620; Thu, 25 Aug 2022 20:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRJcC-0000se-5R; Thu, 25 Aug 2022 20:38:12 +0000
Received: by outflank-mailman (input) for mailman id 393582;
 Thu, 25 Aug 2022 20:38:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tRsu=Y5=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oRJcA-0000sY-Sq
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 20:38:11 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d17291ca-24b5-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 22:38:07 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 9F1E85C0098;
 Thu, 25 Aug 2022 16:38:03 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 25 Aug 2022 16:38:03 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 25 Aug 2022 16:38:03 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d17291ca-24b5-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661459883; x=
	1661546283; bh=esGFAPYjiaVZuPYDgBvYwDMkwCO3JhvARQcK6N2i5HA=; b=J
	Za5H8a46AtEKYqBq8lCRk2coLkTmgcXvSWG45cbSc+V/35iYc4y9zt4pI4U5n2r0
	Ox+zJgIn91VSpP6u4v0IjWVxDoyjHopd+WfumdLrKrj3ifBx2mfM30I8sPhl5dnM
	nEbXc2t4yjFmTTJ2XTQJayp++AWgCIxCehzq9JpyXkIEyeuaI7nQzwzCGLGh/P8S
	0TsXKUZQiBzqOer6On8qiM58ZNWNgw4sFBke+kJZzvsGmwGoKrpm++oxIFreJfsJ
	DQRrJKMwytF0Zqww0LLw1zZqpCQsqBz1FJmymzUr79VAqIUYRJgESdU/JIXD7Ua3
	J6cKQfGjA4fZWX5OprS1g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661459883; x=1661546283; bh=esGFAPYjiaVZuPYDgBvYwDMkwCO3
	JhvARQcK6N2i5HA=; b=fa1RVP0WEfn00QEKWZRZAEN03lz0l49n1n6KetTFs5um
	bizMsTnU3whNFqr6CHfSzog8Z1QmuZK5+S1Ur0PYZnyPTwpblQ1dQlo5PgC3VQL8
	zUXxll5rqq7Trs8vQuN6c/smFnR5PhWcczFHeJgD8XoFkTZwPI/77ROpcW/+X5+k
	YKhDrfH2aT34SKJ2GOYyQvUP72qhJKCEuMHA06JlGwfwcvZAPg9BjJ12t/kI47oY
	LqKyIsyu3wgo5unjKF0rcdhprKvYpKjL6vYhN9SVEVKEBgy21V/VIH8XjT84W4lJ
	kGoi/BpXMFjmVyQ0rUcc9MbN0dx0JSiDDdMJoGbAMw==
X-ME-Sender: <xms:q90HY5W3KbddFkr7dIPVXSm5meC769corEzIvCUwaGwuwdc_V_QYAQ>
    <xme:q90HY5kkBTMv_h52ZQuszILUBLSz54T-LFc8nhy7gxxKU5StQFJGanBMCJs1oZi6c
    8YeqyYLbFeC9W0>
X-ME-Received: <xmr:q90HY1ZjfrqwacyPvd-MS15Qnf78kOvqTyUUOekQowFALHt5jnJg33tcszc9>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejfedgudehudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffej
    geejgeffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtne
    curfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhg
    shhlrggsrdgtohhm
X-ME-Proxy: <xmx:q90HY8X7OmHwq5_4bhOxd3K5iFdfVVD_vnhGZ3koiJC2yWMpkwqcFA>
    <xmx:q90HYzn1L5A6NfkcsVCyaW2oY4FAx8xfDzSgoQl3SSk_iUkNU3P-qg>
    <xmx:q90HY5c7L3p6JFHsiHh53EMx9SaSKkiZGyIXM9ZniTPLCqN6417-wQ>
    <xmx:q90HYytVuHf1hrfk5thsdCNbH546NWuM3FPObqNzb6dcbV2HQWIeNA>
Feedback-ID: iac594737:Fastmail
Date: Thu, 25 Aug 2022 16:36:55 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Make XEN_FW_EFI_MEM_INFO easier to use
Message-ID: <YwfdpPH9PyPXlMAa@itl-email>
Mail-Followup-To: Jan Beulich <jbeulich@suse.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
References: <20220824210452.3089-1-demi@invisiblethingslab.com>
 <df443aab-a2eb-75c2-3a4d-df6d093b5788@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="T8hDfOfGMj5RUCiT"
Content-Disposition: inline
In-Reply-To: <df443aab-a2eb-75c2-3a4d-df6d093b5788@suse.com>


--T8hDfOfGMj5RUCiT
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 25 Aug 2022 16:36:55 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Make XEN_FW_EFI_MEM_INFO easier to use

On Thu, Aug 25, 2022 at 09:59:56AM +0200, Jan Beulich wrote:
> On 24.08.2022 23:04, Demi Marie Obenour wrote:
> > The XEN_FW_EFI_MEM_INFO platform op has very surprising behavior: it
> > only sets info->mem.size if the initial value was *larger* than the size
> > of the memory region.
>=20
> And intentionally so - the caller didn't ask for any bigger region,
> after all.

That needs to be documented, then.  I thought it provided the full
region that contained the address.

> >  This is not particularly useful and cost me most
> > of a day of debugging.  It also has some integer overflow problems,
> > though as the data comes from dom0 or the firmware (both of which are
> > trusted) these are not security issues.
>=20
> I'm afraid we're trusting the firmware in this regard elsewhere as
> well. So if there was a need to change that, I guess it would need
> changing everywhere, not just here. But we trust the E820 map as
> well, when on non-EFI platforms, so I don't see why we would need
> to change that. In any event such would want to be a separate
> change imo.

That is valid.

> > Fix both of these problems by unconditionally setting the memory region
> > size
>=20
> If you were to report a larger ending address, why would you not also
> report a smaller starting address?
>=20
> But before you go that route - I don't think we can change the API
> now that it has been in use this way for many years. If a "give me
> the full enclosing range" variant is wanted, it will need to be
> fully separate.

Does anyone use this API?

--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--T8hDfOfGMj5RUCiT
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmMH3aMACgkQsoi1X/+c
IsH5/g//ZG7ez1Ej3gqZvCu1lopA98OkG3Z6Z18HZzfrpKLY0PsAmJ9FhYZ6rIHx
DDEjJnY+b9bDQMheh72Gv4nlbz497E2QLcbpTwDC4iXSZ3HN4SJEb9+SHlatCLQq
zf6fiHiLMSKVKWDf0S+8XuQhzc1tUn24F2PnCksJ8LeNv7cA7ULFf5836f/BPRMy
RhuIdYhfbvF0ZixrEyPFZuOIbLmy6P8b3HW8b0eFWq7bbdJsQ4g+JGjUrkLkXQww
EBkyT7DrFteR9gPAUiWjSq8hJ8hcWe0byujOFByVPW30wnCRIpZcficInqpBTQCL
TGENBtJvhPCXRuGtE1VPQsjDu7/WKfzrM8vBB6u+VqjUb5dtdWDk87tLgqj1U8Lk
S6uyRprZMMRVanpKROYf1ERGEz6Giz13Y1QsqLsZx4HGqDE/zFdTZN9QvFPDakGe
valcafzo45OqrqSSNHijOg3DpurlCcFAaeSoiFOFP36EFnT43FwjY8ZchAi+tcqu
QuNJJdFRc/hUmBPTtLsomY0yl46zOfmMLpJcVApbSJTRnxavV8JZsn7eRI+AkY+7
grP2CKw+2hkS4pk0zx/NfFhkA2m0h8bNBJZ2D8gC7XjGN6mhKJAD26NHwdEQ3Ykx
dZ6yymLCKl5p3p9Oa4vdrhRNte/BHvOt8q11UXwwkKKWLi8Xf6o=
=lxYd
-----END PGP SIGNATURE-----

--T8hDfOfGMj5RUCiT--


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 21:18:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 21:18:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393589.632631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRKFD-0005Dc-D8; Thu, 25 Aug 2022 21:18:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393589.632631; Thu, 25 Aug 2022 21:18:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRKFD-0005DV-9V; Thu, 25 Aug 2022 21:18:31 +0000
Received: by outflank-mailman (input) for mailman id 393589;
 Thu, 25 Aug 2022 21:18:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRKFC-0005DL-AO; Thu, 25 Aug 2022 21:18:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRKFC-0007g5-7k; Thu, 25 Aug 2022 21:18:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRKFB-0001JZ-So; Thu, 25 Aug 2022 21:18:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRKFB-0005Fv-SJ; Thu, 25 Aug 2022 21:18:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XuZyazqDmpT6XDh8AAVgJExF38X9iNaWsrrbPn6FT1Q=; b=DMmHtKjVp1Hk2EXiVq/LJ70puj
	o8/nhtMqv9r1/Lr1XkvHqoH6+zbdfqKY70yc2dA85kgf3mwcrPF3Sbc2UVVK3Pit6+AdyP9Rqf1ov
	ZYjL6eTj21NX/ILfPusa+aCCq1Yw+to8p4lWJ6a3jM1I2eofv7PZx+gnhip2sp3cLo2s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172777-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172777: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 21:18:29 +0000

flight 172777 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172777/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   21 days
Failing since        172151  2022-08-05 02:40:28 Z   20 days  169 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 21:53:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 21:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393599.632645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRKmP-0000vB-4S; Thu, 25 Aug 2022 21:52:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393599.632645; Thu, 25 Aug 2022 21:52:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRKmP-0000v4-0F; Thu, 25 Aug 2022 21:52:49 +0000
Received: by outflank-mailman (input) for mailman id 393599;
 Thu, 25 Aug 2022 21:52:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tRsu=Y5=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oRKmM-0000uy-Mm
 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2022 21:52:47 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f2ea921-24c0-11ed-bd2e-47488cf2e6aa;
 Thu, 25 Aug 2022 23:52:44 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id B0EDE5C00CC;
 Thu, 25 Aug 2022 17:52:42 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 25 Aug 2022 17:52:42 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 25 Aug 2022 17:52:41 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f2ea921-24c0-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:message-id:mime-version:reply-to
	:sender:subject:subject:to:to; s=fm1; t=1661464362; x=
	1661550762; bh=eBngPYnfwnG7xoaliE8DTL2MsPUwU79rcGpexwV7yhc=; b=I
	Qv+VEfqWoMJSeXEJKz9mlw+liRX+kwS0KfUwr//FEqHDRFOqqXoq9HfvDU7BCD1l
	jvDVyRXuD+6AtdHrVVbvwByaRfNt02T39TZPdKYGmVYLYciUax7qM8ymMgPVSoGr
	hk2ithZtmxxGbccUjqmBPbumYsghNpjXNbeWfxZNa3XIPGrQztu3h5BYcu5PZsf+
	au72SEgMvM9M8vGJepWKiMsulIXUzalXI6m3gcA9f6vQ4zG39FbZFAXrthEdaqI7
	TqQb99KZf5JduQq4+Zm6Jr8CyiDXlk4nnLrrqRhG3FnUrxsOBt/DSc25stRNp3/h
	RW0ZCeDqrQPPhuKUW6Nkg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
	1661464362; x=1661550762; bh=eBngPYnfwnG7xoaliE8DTL2MsPUwU79rcGp
	exwV7yhc=; b=mmC5tWwroJgSQYu2gkGeMV/y51x3OfwAamKO4j4HCo0vcVTudC/
	cIZiNoD4Uf27/wKCEvVMFFx8YtePSwtA2EtgB5DtoqsdmvCEtwq0GFZMIeqHtDCm
	Mr2RhS1yhF3xFd2sGoLUQf6ptVgVxIctM3VnM/tp1kBm67pcF4KWJY8+LMc5+kUg
	0n0NG2NM+K7sJyo6cdaAPgL+kYyD6KkeU8fluXtLDqQed1awrJYtAD9QruDuf948
	OV+sOtGZYJexoCCe5NDxXvg66yA9jzNpGhKaWWGTBtCis96C3mf15R1F7uiW9+4n
	IsQcZjhRekFOb6o/Dhp5BvigAmsRlb3yO/w==
X-ME-Sender: <xms:Ku8HY4gj65wKTqjemlajD_Ebj4vytPzJ0dsaaDxXCvmBkhjXb2Cmyw>
    <xme:Ku8HYxBtYAsoSnaLu6ajPQSbBI-tHWG6_bmQBe9lU6pjhfTKzY2LC5_FaWdoknD3q
    Q7rpC-aaqKY_js>
X-ME-Received: <xmr:Ku8HYwEoK9yftMbiTDydef6DHDhF9CwzCgCk2SY4KkkGX0Opogi6Pghm-cUJpIhDeLQJT3TfG9jU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejgedgtdegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhepvdefgeekvdekgfffgeekhfeijedtffek
    hefhleehfeejueetgfelgefgtdevieelnecuvehluhhsthgvrhfuihiivgeptdenucfrrg
    hrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgr
    sgdrtghomh
X-ME-Proxy: <xmx:Ku8HY5RaIIiChllvjYcE9wmb7n0BRLJGuHeQ5YBIpwhJf5JcnynSBg>
    <xmx:Ku8HY1xN2xv8rl6MdQz4PW0JJ0UkRv8N_igbAmjBadi9dHO3CWU7Eg>
    <xmx:Ku8HY340l31EG99I5ec2oQF-cg43TIpBfvsr-TjS5hcjBVD3v-zi3Q>
    <xmx:Ku8HY4oHwYGzrxb6opYh1x49lls8TWNIyzOTpLVVHS6sVQKTpOy4UQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Ard Biesheuvel <ardb@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	linux-efi@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH] Add support for ESRT loading under Xen
Date: Thu, 25 Aug 2022 17:52:18 -0400
Message-Id: <20220825215218.1606-1-demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is needed for fwupd to work in Qubes OS.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 drivers/firmware/efi/esrt.c | 34 ++++++++++++++++++++++++----------
 drivers/xen/efi.c           | 33 +++++++++++++++++++++++++++++++++
 include/linux/efi.h         | 10 ++++++++++
 3 files changed, 67 insertions(+), 10 deletions(-)

diff --git a/drivers/firmware/efi/esrt.c b/drivers/firmware/efi/esrt.c
index 2a2f52b017e736dd995c69e8aeb5fbd7761732e5..c0fc149a838044cc16bb08a374a0c8ea6b7dcbff 100644
--- a/drivers/firmware/efi/esrt.c
+++ b/drivers/firmware/efi/esrt.c
@@ -244,22 +244,36 @@ void __init efi_esrt_init(void)
 	struct efi_system_resource_table tmpesrt;
 	size_t size, max, entry_size, entries_size;
 	efi_memory_desc_t md;
-	int rc;
 	phys_addr_t end;
 
-	if (!efi_enabled(EFI_MEMMAP))
-		return;
-
 	pr_debug("esrt-init: loading.\n");
 	if (!esrt_table_exists())
 		return;
 
-	rc = efi_mem_desc_lookup(efi.esrt, &md);
-	if (rc < 0 ||
-	    (!(md.attribute & EFI_MEMORY_RUNTIME) &&
-	     md.type != EFI_BOOT_SERVICES_DATA &&
-	     md.type != EFI_RUNTIME_SERVICES_DATA)) {
-		pr_warn("ESRT header is not in the memory map.\n");
+	if (efi_enabled(EFI_MEMMAP)) {
+		if (efi_mem_desc_lookup(efi.esrt, &md) < 0 ||
+		    (!(md.attribute & EFI_MEMORY_RUNTIME) &&
+		     md.type != EFI_BOOT_SERVICES_DATA &&
+		     md.type != EFI_RUNTIME_SERVICES_DATA)) {
+			pr_warn("ESRT header is not in the memory map.\n");
+			return;
+		}
+	} else if (IS_ENABLED(CONFIG_XEN_EFI) && efi_enabled(EFI_PARAVIRT)) {
+		if (!xen_efi_mem_desc_lookup(efi.esrt, &md)) {
+			pr_warn("Failed to lookup ESRT header in Xen memory map\n");
+			return;
+		}
+
+		/* Recent Xen versions relocate the ESRT to memory of type
+		 * EfiRuntimeServicesData, which Xen will not reuse.  If the ESRT
+		 * is not in EfiRuntimeServicesData memory, it has not been reserved
+		 * by Xen and might be allocated to other guests, so it cannot
+		 * safely be used. */
+		if (md.type != EFI_RUNTIME_SERVICES_DATA) {
+			pr_warn("Xen did not reserve ESRT, ignoring it\n");
+			return;
+		}
+	} else {
 		return;
 	}
 
diff --git a/drivers/xen/efi.c b/drivers/xen/efi.c
index d1ff2186ebb48a7c0981ecb6d4afcbbb25ffcea0..b313f213822f0fd5ba6448f6f6f453cfda4c7e23 100644
--- a/drivers/xen/efi.c
+++ b/drivers/xen/efi.c
@@ -26,6 +26,7 @@
 
 #include <xen/interface/xen.h>
 #include <xen/interface/platform.h>
+#include <xen/page.h>
 #include <xen/xen.h>
 #include <xen/xen-ops.h>
 
@@ -40,6 +41,38 @@
 
 #define efi_data(op)	(op.u.efi_runtime_call)
 
+static_assert(XEN_PAGE_SHIFT == EFI_PAGE_SHIFT,
+              "Mismatch between EFI_PAGE_SHIFT and XEN_PAGE_SHIFT");
+
+bool xen_efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *md)
+{
+	struct xen_platform_op op = {
+		.cmd = XENPF_firmware_info,
+		.u.firmware_info = {
+			.type = XEN_FW_EFI_INFO,
+			.index = XEN_FW_EFI_MEM_INFO,
+			.u.efi_info.mem.addr = phys_addr,
+			.u.efi_info.mem.size = ((u64)-1ULL) - phys_addr,
+		}
+	};
+	union xenpf_efi_info *info = &op.u.firmware_info.u.efi_info;
+	int rc;
+
+	memset(md, 0, sizeof(*md)); /* initialize md even on failure */
+	rc = HYPERVISOR_platform_op(&op);
+	if (rc) {
+		pr_warn("Could not obtain information on address %llu from Xen: "
+			"error %d\n", phys_addr, rc);
+		return false;
+	}
+
+	md->attribute = info->mem.attr;
+	md->type = info->mem.type;
+	md->num_pages = info->mem.size >> XEN_PAGE_SHIFT;
+	md->phys_addr = info->mem.addr;
+	return true;
+}
+
 static efi_status_t xen_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc)
 {
 	struct xen_platform_op op = INIT_EFI_OP(get_time);
diff --git a/include/linux/efi.h b/include/linux/efi.h
index d2b84c2fec39f0268324d1a38a73ed67786973c9..0598869cdc924aef0e2b9cacc4450b728e1a98c7 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1327,1 +1327,11 @@ struct linux_efi_coco_secret_area {
+#if IS_ENABLED(CONFIG_XEN_EFI)
+extern bool xen_efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md);
+#else
+static inline bool xen_efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md)
+{
+	BUILD_BUG();
+	return false;
+}
+#endif
+
 #endif /* _LINUX_EFI_H */
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Aug 25 23:57:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Aug 2022 23:57:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393606.632655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRMj9-0003uB-VH; Thu, 25 Aug 2022 23:57:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393606.632655; Thu, 25 Aug 2022 23:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRMj9-0003u4-Sf; Thu, 25 Aug 2022 23:57:35 +0000
Received: by outflank-mailman (input) for mailman id 393606;
 Thu, 25 Aug 2022 23:57:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRMj7-0003tu-TK; Thu, 25 Aug 2022 23:57:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRMj7-00024F-Mc; Thu, 25 Aug 2022 23:57:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRMj7-0002tP-9H; Thu, 25 Aug 2022 23:57:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRMj7-0006IN-8i; Thu, 25 Aug 2022 23:57:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rgh+ELuwLMZyLWIUfgmu/HBi3VR5ReDIZTTy+ZyxiHg=; b=SXLfK3eeeCesbxqqWqVJSezx8k
	kPT+YMQvoED7RQybLKTJzal/zFpmz5NSif8GB8m/HcBax6oQV4HfOOUQP9D+9VjQnGTgifenrMr4I
	VgNH60MG5+Gf4D/7bZPJMm1U2FJEBWu/MEuXnqZG1FI/bBUS1x8J5ltGIA1ya4YabuXQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172772-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172772: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c3bd0b83ea5b7c0da6542687436042eeea1e7909
X-Osstest-Versions-That:
    xen=c3bd0b83ea5b7c0da6542687436042eeea1e7909
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Aug 2022 23:57:33 +0000

flight 172772 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172772/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172762
 build-i386-libvirt            6 libvirt-build                fail  like 172762
 build-arm64-libvirt           6 libvirt-build                fail  like 172762
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172762
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172762
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172762
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172762
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172762
 build-armhf-libvirt           6 libvirt-build                fail  like 172762
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172762
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172762
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172762
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172762
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172762
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c3bd0b83ea5b7c0da6542687436042eeea1e7909
baseline version:
 xen                  c3bd0b83ea5b7c0da6542687436042eeea1e7909

Last test of basis   172772  2022-08-25 12:03:32 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 00:40:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 00:40:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393615.632667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRNOB-0000Ka-RM; Fri, 26 Aug 2022 00:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393615.632667; Fri, 26 Aug 2022 00:39:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRNOB-0000KT-OX; Fri, 26 Aug 2022 00:39:59 +0000
Received: by outflank-mailman (input) for mailman id 393615;
 Fri, 26 Aug 2022 00:39:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRNO9-0000KJ-MU; Fri, 26 Aug 2022 00:39:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRNO9-0003SB-Kk; Fri, 26 Aug 2022 00:39:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRNO9-00052l-44; Fri, 26 Aug 2022 00:39:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRNO9-0006Er-3e; Fri, 26 Aug 2022 00:39:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2k0j+9DxmqzrBk9e+S5Ntu1bUzJam0syrJiBf+c4WPY=; b=rYlQNPsH9J3IOgYQdmxJQ+FF1b
	5n6iiVEm/b2sK/ERJyqvpVEQrPJBzykriA/UL3fDwUdPMD17DnNy4r88t0fG9HMknP/b94IWZs0x2
	Vfm7/HFaOUF+/9Pxigi3OckW/uap01k/0cV4D8vP9MJ1BShXJGQdu/0qPPzFmr6U4Kdw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172780-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172780: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 00:39:57 +0000

flight 172780 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172780/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   21 days
Failing since        172151  2022-08-05 02:40:28 Z   20 days  170 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 02:16:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 02:16:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393624.632678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oROst-0008Pc-Vp; Fri, 26 Aug 2022 02:15:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393624.632678; Fri, 26 Aug 2022 02:15:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oROst-0008PC-Ou; Fri, 26 Aug 2022 02:15:47 +0000
Received: by outflank-mailman (input) for mailman id 393624;
 Fri, 26 Aug 2022 02:15:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oROss-0008P2-U0; Fri, 26 Aug 2022 02:15:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oROss-0003xG-RN; Fri, 26 Aug 2022 02:15:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oROss-0002fv-65; Fri, 26 Aug 2022 02:15:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oROss-0005Es-5d; Fri, 26 Aug 2022 02:15:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1t2XBPsc9wJji1YYW8njvLZCfBs23hg1EGnR/9sH18w=; b=JO3TaYhVLxZg+R14ZX7rdeO0nT
	HLzQi9bSjKZ6LOXimI88qDE38IXjpWtWlygMbx4CRgYuYuqeqB5FCCTRyzgzV/oe3TC0mOZhtRBfH
	O/HmQXTwjC0RcmzDK5Zja2EPRUkU5ljK7zqAMRXea8vPazA4Kjl5RBxhHC2iyaSGaWtE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172774-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172774: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c40e8341e3b3bb27e3a65b06b5b454626234c4f0
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 02:15:46 +0000

flight 172774 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172774/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pygrub      12 debian-di-install          fail pass in 172764

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                c40e8341e3b3bb27e3a65b06b5b454626234c4f0
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   21 days
Failing since        172152  2022-08-05 04:01:26 Z   20 days   48 attempts
Testing same since   172743  2022-08-24 03:29:51 Z    1 days    4 attempts

------------------------------------------------------------
1512 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 156709 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 04:42:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 04:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393632.632689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRRAa-0005nb-74; Fri, 26 Aug 2022 04:42:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393632.632689; Fri, 26 Aug 2022 04:42:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRRAa-0005nU-2q; Fri, 26 Aug 2022 04:42:12 +0000
Received: by outflank-mailman (input) for mailman id 393632;
 Fri, 26 Aug 2022 04:42:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRRAY-0005nK-Qv; Fri, 26 Aug 2022 04:42:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRRAY-0006fO-Mg; Fri, 26 Aug 2022 04:42:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRRAY-0003zj-73; Fri, 26 Aug 2022 04:42:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRRAY-0003hi-3D; Fri, 26 Aug 2022 04:42:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=m7rkeYW0LZAK+9b5BTQqlhBjolW30MgQ7StjloqoMys=; b=oZMEKA3IAvT1ycTwpgbC/JbK5X
	9i9GASxC209vNynUdMjTetzcfrzke4rChcPkjdc5Ok7PileNJzykfPlSAGzIOkAsXZoZv5/uNgyrc
	HXPnDg96jfL5ex4S+uYQpMwRAgqGyOi46MYExwwvjAfYN9opI5ss+C2MOaWp0e/Zh8+c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172776-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172776: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 04:42:10 +0000

flight 172776 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172776/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128
 test-armhf-armhf-xl         18 guest-start/debian.repeat fail REGR. vs. 172128

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   22 days
Failing since        172384  2022-08-11 11:13:58 Z   14 days   30 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    0 days    1 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 04:43:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 04:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393641.632700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRRBX-0006Ou-KS; Fri, 26 Aug 2022 04:43:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393641.632700; Fri, 26 Aug 2022 04:43:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRRBX-0006On-HN; Fri, 26 Aug 2022 04:43:11 +0000
Received: by outflank-mailman (input) for mailman id 393641;
 Fri, 26 Aug 2022 04:43:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRRBW-0006Ob-TD; Fri, 26 Aug 2022 04:43:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRRBW-0006g7-SQ; Fri, 26 Aug 2022 04:43:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRRBW-000467-HA; Fri, 26 Aug 2022 04:43:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRRBW-0004VA-Ge; Fri, 26 Aug 2022 04:43:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/FsZShUc98PUVaH34fhSB6LYOLNb9W02TnMBcGqrSNw=; b=JZuBm20RIHu93ybdGmoDxattR+
	F1v5br2j13JuqGDnwjMIKxURNq+VXIx5ZwcNsWNEipLl5MVDg5qfyzopJChuJwjzGxZKDgo/wIgz/
	wctPbrveDig4doJlE2QjAt+YBfEDxYzS/0OWYChtACjMgo87uF60OKEwzYLeSyxcYals=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172782-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172782: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 04:43:10 +0000

flight 172782 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172782/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   21 days
Failing since        172151  2022-08-05 02:40:28 Z   21 days  171 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 06:21:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 06:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393650.632713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRSig-0007x9-Ru; Fri, 26 Aug 2022 06:21:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393650.632713; Fri, 26 Aug 2022 06:21:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRSig-0007x2-PE; Fri, 26 Aug 2022 06:21:30 +0000
Received: by outflank-mailman (input) for mailman id 393650;
 Fri, 26 Aug 2022 06:21:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cVPj=Y6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRSie-0007ww-VS
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 06:21:29 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2053.outbound.protection.outlook.com [40.107.21.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 500aabca-2507-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 08:21:27 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB5219.eurprd04.prod.outlook.com (2603:10a6:208:cf::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.16; Fri, 26 Aug
 2022 06:21:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 06:21:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 500aabca-2507-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NUbiepFhIM6XCrfy+Rc062ZSAmtLvvT/YKja7TdwJtXdnW1eOkV5TxS2rxEZPxhTPjL7bqaG5+etfhOKVM0G2Bq8AoRj+tSjzPWVqqBQtIfUZkdVLuqFt/f/Bv8KYv21CmZB9eW65yr/c/rxcPpc0K1QXV4Ei16CK1Gg2hOnMg+Z8+WG3uhLlxgO4P9SD+F4mBOzkMvr/pvjrJM3AP/vAxp7m8lAHcU4/8goJjRLvoBcF644EHvG2seqPucgRHxkr+TZArsTC509QXXgmAzZU7+wtYfZ1g+25m+jsooIf3JAvbseHL+URcuRMXg4GiN4U1GUNupdZQfU8FYUcS+q3g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SpK1CWdht56f3Et5zwxZbuOxDAvRX4YCrhwcKoo0vkk=;
 b=fbhumtDeWcGyHih+LH6GUbj4dtzTrioEWiSlFAvKUrvMLxINOzcAf8JsiVCKlmMpZ9sWJRh7XYfwsylYEIQtrhfsYM+3eq4JEHEJULA0cHCROH0XU+HTaT18lk3yxitPzKC/X7Y24x+Wc64IHkVLU7N9kj3fYiCbeZ2qCLO6eEB8hfGPv/eoLOLWpNa6Y0IleMNJNY5HNuCNJnH3b007YeBDy6FSZcBLo7BIWRTEC2DKyrnLhOQemWqUFLHi7x8ztiNtBI5bQRvA3b0MGF91oQp/UFxWQvS/ZrQ6huknQa+6mRQ/4HuesYazzoLnMQjndhaiYtB5uAp7XiYeP+srXQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SpK1CWdht56f3Et5zwxZbuOxDAvRX4YCrhwcKoo0vkk=;
 b=hI5Nnm4lmaG4EHCaczfwhRT/FbN0Hn33WzoKDllaUKlxMAXtKRmfoVT5N1v9sZ2oV35klDDNBxNFilCjy2DdIajNjZOlWGekpHdxj8LHAnUSAchMmsI9X9p0xAy1FGj/1nnYjWTvLZf4sWCx8U+GIF6GST17KMPWYMpGRhJuNaah3v9u0HeWOv8skUrmalPqR4R7JDq9pXoMKlS7O46kTe/AibfyBeFSRSNBjXycKOAuqO1VYasAVEJuK/RVXVS08XdO7UVAgNqNMgHZ9tF5Hxqa8bRRMOP1M9t4Yd0mPasw4wTfk824a0392SgxtWnWEVNpEfS9BlWmMgthXiJHKg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <11fc391d-f53b-1bc0-19ec-168ec827a1c0@suse.com>
Date: Fri, 26 Aug 2022 08:21:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, roger.pau@citrix.com, roberto.bagnara@bugseng.com
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-8-burzalodowa@gmail.com>
 <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
 <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com>
 <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
 <852c68d0-bda1-e56e-85c0-500c498054a0@gmail.com>
 <2ff949e4-5f02-f476-7b14-252252d1b8b5@suse.com>
 <alpine.DEB.2.22.394.2208251045380.733916@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2208251045380.733916@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0079.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 48c8f5db-0b1d-47e6-73fb-08da872b32f6
X-MS-TrafficTypeDiagnostic: AM0PR04MB5219:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pPDoyl2ZyGX6VCf95DZtRep0+A7DQpCHNnJCm+2QxgN0bk5bHO1FIWa2IiyICX+XYjE7qFp4nnyRX00e2GFSGPNMH+CnleWBPYW2e+fxJb3AkH8DnL2/9s8ZdJUUMVQtxtjaNj15m9k1iPxqZwJvPALoZoqEVAU+dYSoIEkJkHM5TFGBu9UFGXsFt7k3OZ1CpMmuQb+oNl3Ky9a31nEyTCGjiLj7IFdXgBhZW1MDOMVj2aboEhpwqv/Jt7e7ksLjJp0e0LXN+volV5YiX65KfNCusHQbkXLEl8dF0y/vY3ScxDVO0xoQvnM2jiMPjNXlt9sYEML9h7OARL1LciSQnjhTAccKficWBsfdXhaI7PYlfP6WHVtZxBFr8Kgp4zbRos9zaKvIpt+6EIvwp9ShEMld9dDi0p8+hj64GJfCKy4Emq42tr0/sRpgTwCLcCB+Z63fJ/rqzmce1cQwbi8Ezwh6FgZrGd4yyxkbASaZjQk1AbJDT4tvAVrhpvs25h77LVlJQlOqbG3WhKZrx2+7YTu4h1ddGvyFTBLqMVHgq0BmluKv2vBJPJDdnVAiXozTG/19zs6i1SeRTzhwy4AqxHAkka5ZkAeUT+Nnoro3dD/QajT+BqM1klnTrsGg6cBmqZ75CktO4KI9HTmY+4tKjaYMBrWNQS89LMEt9kUloojwa9NuKrgaCGBkpkfDFFKlhTyOZIed3+4F4rjxgDPyTJbhMsSxKUxVUaXu1EX84+oxldEEyveIxDoWBUB0gzFobUrTgECGqpR9nasHou+eFsxP8noeVuyozFZacqgqnnY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(346002)(39860400002)(366004)(136003)(376002)(38100700002)(6512007)(2906002)(53546011)(6506007)(26005)(83380400001)(2616005)(186003)(8676002)(66476007)(66556008)(66946007)(4326008)(36756003)(6486002)(478600001)(31686004)(6916009)(54906003)(316002)(5660300002)(31696002)(8936002)(86362001)(4744005)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YzhwdzZrdXFYT28yRVMxRUtPejZsSWUwaUZqdnU2QXFSL0Zpd3hEa3d1L0dr?=
 =?utf-8?B?MmtFZHNvTVRub2FzaDJmdkw3NHdsMXpQMU8xNTE5TEsydjlrNmhoMFVxYm5P?=
 =?utf-8?B?Vmg1eVJGV0I4VVJPTFlKcnIwL0RQY0Z4b3lwYUxWYWFXK1NWdFVyTEZHSnRr?=
 =?utf-8?B?ajBvdFpCYVNUZGxTcnkzOVBla1U1dWZpcExsM1F5cUhUNm82T3FYVHcvR0tm?=
 =?utf-8?B?a3Q3c3R2UHFIVWdZSEx5REhwT3dpb1R3QVpuZmVaMjNsOUV5MEg1T0VRZEp1?=
 =?utf-8?B?aHZFdzlsV3l0d01ZWkYrK01YU2xRTFRScVo5VWR5bFpGSGppQkc0UGY4TU0r?=
 =?utf-8?B?dDVKWDlEbnk3OGhLMVYzRHpsaWNFYnJZandzRDA1UG9QZG1Pd0hlUHZCWm9S?=
 =?utf-8?B?ckQ4YnN0QzBycjRpQ1NsMTIzM0pia0ZwdlZ2RDlueUJUNUlLY2ppNHlJdFlp?=
 =?utf-8?B?aWxLelNkcmF0VTUvMHZOWkczNytWL0VUN3FKazhER2dseCtFak9TQzFLVEJI?=
 =?utf-8?B?c21MN2Y3S0J2TTdaRkFkem85UVNONkc0MWJ5UzhTeTAybzhsMVRhQmhtSUNq?=
 =?utf-8?B?eVJ5R1VaOHh5aWVpOVh6cS9LbDFmTHRMQTNRbGliR1U0djdHR3lLZENvNHdo?=
 =?utf-8?B?M2tnS0NMZk9hOHM0ajhUYk8raTArSjZ5NmxyeWtJQy9DdXZhQnptUU9CK2I5?=
 =?utf-8?B?TGpYRG9DcXFjOFBuTDhiNEZ0NWtMQW8ycWs0WW01clp1Y3NHeVZHVUk4ME5X?=
 =?utf-8?B?QXpZRnh0WlNaR2hJZ3NDYTZnS29ka1BNSzRkUEJJWkNXblNkemdUeVRJWVdG?=
 =?utf-8?B?dXNxbU1rOVk1bU5FOGVPb2dkdWtnbnJJbC9rRG1XT3JHdjA1Uk1SdzNrZU14?=
 =?utf-8?B?MGQySStJVlIxQk43Vm9XaDhxN295Mkt0M1VveFF5VG9vZmtHU1EvS0VLazVy?=
 =?utf-8?B?dXdqSGxSenF2QWRTNUFLMzhDd3hHWFRuZDdyUWFDMUFCTXJ2MHNBejY1b2hS?=
 =?utf-8?B?UkVISkFHQXp6WlhlazJUd05kWVZVSVJ5cXAyVDdoaXlrU3NzQ0dhNXRqRFdG?=
 =?utf-8?B?RlVWeVZYYUNxT0N2cjJSekw2MU5qc2V0Ty9EWEs3NENHOW9NbEpwZ3FmSjJ3?=
 =?utf-8?B?cjdzOGNrUGE3RGtna0o1cU1RS2w4Z29uK28wcWtMOGhLTHR5eDFEN1VCSE5S?=
 =?utf-8?B?d0RQdDNRLzl0cWhkWlM5T3N3emUyeG9mWTYycWNpM0lPT3FzcDRvaDhTTmEx?=
 =?utf-8?B?TkQxTmEvOGMyUHljR21iNU42T2pmRENTUmd6VmM1M3l5UlZCcytqOWZ3NUdS?=
 =?utf-8?B?V1c4SlpQSyt6TkR2WDhUTDkxL2JVbVU3ZXAyZkJXQVkzYS9lUElCV25kUkgy?=
 =?utf-8?B?Q0hCL2VsMUNaRFlxek1ocGFsZ0ZTRCtyeVVlYmJTUW1YV1N6dTkrdFpXTUlY?=
 =?utf-8?B?dC9uUXl1RDNLdmpjSW1Kc3pDVkdSZ1FUMzlYTGhDSkRLeXd1MUUrT1JwS00r?=
 =?utf-8?B?SWZNVTFxeFdFU0V3bFlDMGwzS2xCQUdFTEFVMDMyaTkvWXBYSzhrdkVzU3ZC?=
 =?utf-8?B?OEZzR3h4MlB0ZTh2aDZvR05Qak1Kd3R6ZmJ4T2N5NnJHcmVKZElRczdkZHdP?=
 =?utf-8?B?Uk4yOXBUWkFkblg1WTQ1Nkxnc3dpajhJeitCL0JucEdiQy94VTRYRVdDTUV6?=
 =?utf-8?B?NVhhbGFlRk03T1FhVE1LVWZHZmVGemhKaXFocElYN05wekFDNG9MVDlDNUF3?=
 =?utf-8?B?eUJZVVhobDFEQ3diUThlZTAxNWpZUExFWHM4MlhkRVRyeTRGUGJTYzZqdURy?=
 =?utf-8?B?V2taUXRXajlNblk3VTFPMlB2LzM4blc3RW1CRGdVTjRxUDYvR3hEMXdpYWpG?=
 =?utf-8?B?eUEzS1BIU1JrNTlvQytqOUlnYzRjc3p6aDBjSjA2WHB1RDRNd0dGR2NIYXBV?=
 =?utf-8?B?QWd4cWdYYU1MS0ZxQkVhZ1V4VmdXSWFnSW5KOEdzQlZjVE9RV1JpcXBsZWN1?=
 =?utf-8?B?YTRXT2J1Sm5DbFlQenZ6bUgxbXJUcDV6U21SaVdGaXJSbDlvT2NyZk5FZHJN?=
 =?utf-8?B?MCt6VjJtYVcxb01vQlVvWitFNUZURllwRWxDb1lhYTZtM1hpeVhDbmtkYWZv?=
 =?utf-8?Q?U2iiY1MqyJVMMVvGwpe+5fDBG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48c8f5db-0b1d-47e6-73fb-08da872b32f6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 06:21:23.6108
 (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: T4SO1fhfjDcFjjELzgr3OqEJfZEOjD1SVCU8GXHlHAcw3HLg3pcgvOgVsLKCToF0ZTzXSppzgAtEjrRH9+5XaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5219

On 25.08.2022 20:09, Stefano Stabellini wrote:
> But first, let's confirm whether this change:
> 
> 
>  #define dt_for_each_property_node(dn, pp)                   \
> -    for ( pp = dn->properties; pp != NULL; pp = pp->next )
> +    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )
> 
> 
> is sufficient to make the violation go away in Eclair or cppcheck.  I am
> assuming it is not sufficient, but let's confirm.

Well, even if for the lhs of assignments there was an exception, this
still wouldn't be sufficient. The minimum needed is

#define dt_for_each_property_node(dn, pp)                   \
    for ( pp = (dn)->properties; (pp) != NULL; pp = (pp)->next )

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 07:15:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 07:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393656.632725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRTZ3-0004g1-Rc; Fri, 26 Aug 2022 07:15:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393656.632725; Fri, 26 Aug 2022 07:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRTZ3-0004fu-Nc; Fri, 26 Aug 2022 07:15:37 +0000
Received: by outflank-mailman (input) for mailman id 393656;
 Fri, 26 Aug 2022 07:15:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Jb55=Y6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRTZ2-0004fo-3F
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 07:15:36 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e0942568-250e-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 09:15:34 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2FF361F88B;
 Fri, 26 Aug 2022 07:15:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D0F1713421;
 Fri, 26 Aug 2022 07:15:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id D+OmMBVzCGPFBwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 26 Aug 2022 07:15:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0942568-250e-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661498134; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=q+VtdprIdX5j7vYhY4afKBuH8G+2k+l9bdEFnhWupFo=;
	b=pRPIfu3wmz2tTo7Se6XGW4O2VOSjwptgAL+Xhz9x1PhxhsvOALUJFe0HirSXC6UtkIryaj
	JxybLbIeqdBOJzonIQWexbtEcJRGHFiZzsoemtIrP9vwr0ygrFVCKdQ2G8mWc56hlNAKay
	/5WdiQiJDIapB/fNhjLjB1wnAUknA9k=
Message-ID: <6f65961a-c276-d04f-385e-4146a752cfe9@suse.com>
Date: Fri, 26 Aug 2022 09:15:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 0/2] xen-blk{front,back}: Advertise feature-persistent as
 user requested
Content-Language: en-US
To: SeongJae Park <sj@kernel.org>, roger.pau@citrix.com
Cc: marmarek@invisiblethingslab.com, mheyne@amazon.de,
 xen-devel@lists.xenproject.org, axboe@kernel.dk,
 linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20220825161511.94922-1-sj@kernel.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220825161511.94922-1-sj@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------fjBDY0LDDqqnuMH0vcGKV0Cn"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------fjBDY0LDDqqnuMH0vcGKV0Cn
Content-Type: multipart/mixed; boundary="------------0ZLY9A3bVywvYvgIb7De0oMJ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: SeongJae Park <sj@kernel.org>, roger.pau@citrix.com
Cc: marmarek@invisiblethingslab.com, mheyne@amazon.de,
 xen-devel@lists.xenproject.org, axboe@kernel.dk,
 linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <6f65961a-c276-d04f-385e-4146a752cfe9@suse.com>
Subject: Re: [PATCH 0/2] xen-blk{front,back}: Advertise feature-persistent as
 user requested
References: <20220825161511.94922-1-sj@kernel.org>
In-Reply-To: <20220825161511.94922-1-sj@kernel.org>

--------------0ZLY9A3bVywvYvgIb7De0oMJ
Content-Type: multipart/mixed; boundary="------------JqQwhu5J102EPuO9zkcBy5Z1"

--------------JqQwhu5J102EPuO9zkcBy5Z1
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDguMjIgMTg6MTUsIFNlb25nSmFlIFBhcmsgd3JvdGU6DQo+IENvbW1pdCBlOTRj
NjEwMWUxNTEgKCJ4ZW4tYmxrYmFjazogQXBwbHkgJ2ZlYXR1cmVfcGVyc2lzdGVudCcgcGFy
YW1ldGVyDQo+IHdoZW4gY29ubmVjdCIpIG1hZGUgYmxrYmFjayB0byBhZHZlcnRpc2UgaXRz
IHN1cHBvcnQgb2YgdGhlIHBlcnNpc3RlbnQNCj4gZ3JhbnRzIGZlYXR1cmUgb25seSBpZiB0
aGUgdXNlciBzZXRzIHRoZSAnZmVhdHVyZV9wZXJzaXN0ZW50JyBwYXJhbWV0ZXINCj4gb2Yg
dGhlIGRyaXZlciBhbmQgdGhlIGZyb250ZW5kIGFkdmVydGlzZWQgaXRzIHN1cHBvcnQgb2Yg
dGhlIGZlYXR1cmUuDQo+IEhvd2V2ZXIsIGZvbGxvd2luZyBjb21taXQgNDAyYzQzZWE2YjM0
ICgieGVuLWJsa2Zyb250OiBBcHBseQ0KPiAnZmVhdHVyZV9wZXJzaXN0ZW50JyBwYXJhbWV0
ZXIgd2hlbiBjb25uZWN0IikgbWFkZSB0aGUgYmxrZnJvbnQgdG8gd29yaw0KPiBpbiB0aGUg
c2FtZSB3YXkuICBUaGF0IGlzLCBibGtmcm9udCBhbHNvIGFkdmVydGlzZXMgaXRzIHN1cHBv
cnQgb2YgdGhlDQo+IHBlcnNpc3RlbnQgZ3JhbnRzIGZlYXR1cmUgb25seSBpZiB0aGUgdXNl
ciBzZXRzIHRoZSAnZmVhdHVyZV9wZXJzaXN0ZW50Jw0KPiBwYXJhbWV0ZXIgb2YgdGhlIGRy
aXZlciBhbmQgdGhlIGJhY2tlbmQgYWR2ZXJ0aXNlZCBpdHMgc3VwcG9ydCBvZiB0aGUNCj4g
ZmVhdHVyZS4NCj4gDQo+IEhlbmNlIGJsa2JhY2sgYW5kIGJsa2Zyb250IHdpbGwgbmV2ZXIg
YWR2ZXJ0aXNlIHRoZWlyIHN1cHBvcnQgb2YgdGhlDQo+IGZlYXR1cmUgYnV0IHdhaXQgdW50
aWwgdGhlIG90aGVyIGFkdmVydGlzZXMgdGhlIHN1cHBvcnQsIGV2ZW4gdGhvdWdoDQo+IHVz
ZXJzIHNldCB0aGUgJ2ZlYXR1cmVfcGVyc2lzdGVudCcgcGFyYW1ldGVycyBvZiB0aGUgZHJp
dmVycy4gIEFzIGENCj4gcmVzdWx0LCB0aGUgcGVyc2lzdGVudCBncmFudHMgZmVhdHVyZSBp
cyBkaXNhYmxlZCBhbHdheXMgcmVnYXJkbGVzcyBvZg0KPiB0aGUgJ2ZlYXR1cmVfcGVyc2lz
dGVudCcgdmFsdWVzWzFdLg0KPiANCj4gVGhlIHByb2JsZW0gY29tZXMgZnJvbSB0aGUgbWlz
dXNlIG9mIHRoZSBzZW1hbnRpYyBvZiB0aGUgYWR2ZXJ0aXNlbWVudA0KPiBvZiB0aGUgZmVh
dHVyZS4gIFRoZSBhZHZlcnRpc2VtZW50IG9mIHRoZSBmZWF0dXJlIHNob3VsZCBtZWFucyBv
bmx5DQo+IGF2YWlsYWJpbGl0eSBvZiB0aGUgZmVhdHVyZSBub3QgdGhlIGRlY2lzaW9uIGZv
ciB1c2luZyB0aGUgZmVhdHVyZS4NCj4gSG93ZXZlciwgY3VycmVudCBiZWhhdmlvciBpcyB3
b3JraW5nIGluIHRoZSB3cm9uZyB3YXkuDQo+IA0KPiBUaGlzIHBhdGNoc2V0IGZpeGVzIHRo
ZSBpc3N1ZSBieSBtYWtpbmcgYm90aCBibGtiYWNrIGFuZCBibGtmcm9udA0KPiBhZHZlcnRp
c2UgdGhlaXIgc3VwcG9ydCBvZiB0aGUgZmVhdHVyZSBhcyB1c2VyIHJlcXVlc3RlZCB2aWEN
Cj4gJ2ZlYXR1cmVfcGVyc2lzdGVudCcgcGFyYW1ldGVyIHJlZ2FyZGxlc3Mgb2YgdGhlIG90
aGVyZW5kJ3Mgc3VwcG9ydCBvZg0KPiB0aGUgZmVhdHVyZS4NCj4gDQo+IFsxXSBodHRwczov
L2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvYmQ4MThhYmEtNDg1Ny1iYzA3LWRjOGEtZTli
MmY4YzVmN2NkQHN1c2UuY29tLw0KPiANCj4gU2VvbmdKYWUgUGFyayAoMik6DQo+ICAgIHhl
bi1ibGtiYWNrOiBBZHZlcnRpc2UgZmVhdHVyZS1wZXJzaXN0ZW50IGFzIHVzZXIgcmVxdWVz
dGVkDQo+ICAgIHhlbi1ibGtmcm9udDogQWR2ZXJ0aXNlIGZlYXR1cmUtcGVyc2lzdGVudCBh
cyB1c2VyIHJlcXVlc3RlZA0KPiANCj4gICBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL2Nv
bW1vbi5oIHwgMyArKysNCj4gICBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL3hlbmJ1cy5j
IHwgNiArKysrLS0NCj4gICBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jICAgICAgIHwg
OCArKysrKystLQ0KPiAgIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNCBk
ZWxldGlvbnMoLSkNCj4gDQoNCkZvciB0aGUgc2VyaWVzOg0KDQpSZXZpZXdlZC1ieTogSnVl
cmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg==
--------------JqQwhu5J102EPuO9zkcBy5Z1
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------JqQwhu5J102EPuO9zkcBy5Z1--

--------------0ZLY9A3bVywvYvgIb7De0oMJ--

--------------fjBDY0LDDqqnuMH0vcGKV0Cn
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMIcxUFAwAAAAAACgkQsN6d1ii/Ey/g
3wf+OJr/i0zfnUeR3mjAZDR9O8xj5QGwWPh59g9u9vwDTfHSHwpxU+VL9UN7Es523YSCZXi4bxiB
Tm6Wvj+xz3jtTXAZ0Mf6XvnicTdOWA1Ul9zOmw7taxW3y3EL+QWvFqEKi42H1zDD5DtfJcnOydoq
F/hh4Nofl7FRSrBGDrDgagxtZHKfjLur8x6F6wi1Eink7e49NYnCP2FZ/MgftutuThyggwYwx1Mk
f5iW0aVFFM9+QqyDO56+d/9WZIpEiDyOdLPiXzWUa3UwBZ6SewyIq5MYIrLRgWlnz8s1E6MCufOO
twJzR7pzZo7IOPbhqNVy0OD6pF2XdnytfMx97Ahu7g==
=fuFC
-----END PGP SIGNATURE-----

--------------fjBDY0LDDqqnuMH0vcGKV0Cn--


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 07:18:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 07:18:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393662.632736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRTcH-0005Im-9t; Fri, 26 Aug 2022 07:18:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393662.632736; Fri, 26 Aug 2022 07:18:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRTcH-0005If-79; Fri, 26 Aug 2022 07:18:57 +0000
Received: by outflank-mailman (input) for mailman id 393662;
 Fri, 26 Aug 2022 07:18:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cVPj=Y6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRTcG-0005IJ-Jb
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 07:18:56 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130041.outbound.protection.outlook.com [40.107.13.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57c79da8-250f-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 09:18:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8743.eurprd04.prod.outlook.com (2603:10a6:10:2e1::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug
 2022 07:18:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 07:18:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57c79da8-250f-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y6R2EsmKOB6pWg9ht8BhV8C8nZR26S65VVvlZZeJnd23lmv2rBKajkDaRXESd8QL9lyZfWp0osgYfcpZSCRTcRB59HB1z8i7PgX0nLxMJBddyhh5j3XBnLa5GA6mMUL11eq/jG5QUOuemGutb7X4IBMQDqSvZpcwD+oxF16AirkAkdMMcpVA1vaWDU8zzse+Jt9KNaPtYk8+4NEG3MjnHhMSfduqJI4agWfizqendB0TBeUqZPhPFbu6bE45UMnSCxRjhIzoCk3fSKUdLTIJiWomtxXZiRooOzx7PLAbXw/jN+rlCtSB5UWZhgrG7eOgvyzUBrjklb4HrQsoUmEX4w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fERJhCbW7Qhz8g7gxHu9+eACuNs4lGe0G2DrDRCF94c=;
 b=bvzQE0veLxgWzs/lN9WpnczQKAEzWzC+HRjxBVGES5fKY6PWayUtPE7cJESmwN/tRsdFwotIR1ssZzn1XI2pZmbYSFVDK6+XS8a9d6IRSmmblzqalpau6XY3pl/UDwdM+Ibcxa0itseBFyzVwLuf696JH6fYVnAo3jSiOMQxzdktI8e7i4+deP/ND2PFpKV/BoUYMnkbW6d7uVCWFw34KYlHJNlyfpLrVHDXXZtVidBqibndpxbkp96FSxMW4ITW44ORfApbPdvg6IMvYUW1evzcklqEVu+9C14SgZ07PiHDzl2a7BrUtkRXSdx2oKAQdoa1B6ec2h0Pd4MWEJklAw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fERJhCbW7Qhz8g7gxHu9+eACuNs4lGe0G2DrDRCF94c=;
 b=gj0S8PUSEdkpnj1haGI9ly78yLt3z52mgVazs92P8E47iBsjOhMYNcPmvY2GeGYn0r25dnMkq56BidgWZ9VUhMk/PBe7NxhnSbiY00r8D3hJ21vsp6m3S0PRlBYjyrNv6zIlEwhwU1n7CZyOEyfXE3Z7ZeQ/Tw1YYVBa0Ft8bp8AFJE6K0eRPeDeE2BrJYbXULS1Wk+VS6gSy7l5BFnJmQ2idRhlc3exBa2XQtp+ph8Re6cbRxRNjtXdOm6mjzUfjeRyBpau1lHC4DwTezStaB2OYpZzyjZgUSDj6kS/MFp6hODs1ykOG4HQAFpFQGuvZFM7q8s5F81Bt6sRrvqlIw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ab973fa7-85db-af53-9d4c-cfb8c2099135@suse.com>
Date: Fri, 26 Aug 2022 09:18:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH] Make XEN_FW_EFI_MEM_INFO easier to use
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
References: <20220824210452.3089-1-demi@invisiblethingslab.com>
 <df443aab-a2eb-75c2-3a4d-df6d093b5788@suse.com> <YwfdpPH9PyPXlMAa@itl-email>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YwfdpPH9PyPXlMAa@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0045.eurprd06.prod.outlook.com
 (2603:10a6:20b:463::30) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8b86099a-b649-4b87-d03b-08da87333af0
X-MS-TrafficTypeDiagnostic: DU2PR04MB8743:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZLn2vNlb8DlXkkIrW7gXdCcR/nuqnjP1O+bb8KtDk/e/NC0fOMvfNIkBLHaD5FvbLMRtWIwqC3EuLLypDrQQNNjwN3xUPo5RLfRIhJ7iDp0iJKDfF0LqrUIhjySYBwkHJsAIiZrkfzSnqgcGKHQ0ia47rIjGwAoJXzfILCaGQbEk0FcvF25wuc1uCDgpDEiCcC89BwbE8X3r55lXmcgPj//OoXluovvUk66SwXbiPiE4RFqjK6R+gy6c0nnD1I15m20l6zOlwfpMHHnReiDZZyBZMWeytfoIQEN3TPueG3LI7sXinpIkkESDMMCpwy6uBsV16NYzPJhLBGLGKkYAY0dtWTbNqoDIzjhhEUJ3G00+rl9fdBWZ8LF0YnjmC6cVhJsIEXV/jXqYpyn/uMPwkHcyrzttuCoK7/7wfgRJGJuHdZQge8Wdw+Rs/SRZFZ78qX9M7gAf4ohVFKNn1i4ap1KQ0EcvLhmFP5ZLgrrYcpGbdm+nm0808E29gFaCaFl/iyUZ1lMLvLJl7QxogjHDTiApeXmc/I8y07tYEVuG7KbSP/IZCe5e/gY+/3HrU42PdYAe+XoQ59UZ8gfzOR+ZCCs+rUBJtl+vQF0oMbKcQuuzlDcJnlzSyKQopywqk7/ppCiIUUtlj9cVXI3WMGUhVXS6BUMiU63QRf17hFtgU4sE15alINe4lIjd6aiqVNEbRCPa8vHtY0gQ+I+u057kXJF2L+aLZPUuBlD/PGHMkAVqNNnpB5vMyDF4LejfKwUZKcJCxqrYXR6L8E896lSNMnhMlruMgqDtFJxwdJhjRH0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(136003)(39860400002)(396003)(346002)(376002)(6916009)(54906003)(6506007)(2616005)(6512007)(26005)(31686004)(2906002)(6486002)(53546011)(36756003)(86362001)(5660300002)(8936002)(31696002)(316002)(38100700002)(66556008)(41300700001)(478600001)(186003)(4326008)(66476007)(8676002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZWRsd1AwS2dpVjBqYXgxbGFDTTI0YjhkaktYRG5kdWliaDZwSzBrRi9EcDl6?=
 =?utf-8?B?bko3ZGhORlp2Q21VczgzVjFJc202MXJVY0RBYy92eTVLZFJPMlp5NWE4ZzZz?=
 =?utf-8?B?eW94LzlvV0hlRm9iZzFpSXdwK2ZOejd6eVFZMUdhNEFvR2dtWlcxcncyOXBH?=
 =?utf-8?B?c2RlNU0wMkJZWk9sUi9PalFHUXFmeTBXYTZBQ1F0SXBab2c5M2VHdWtsUEZi?=
 =?utf-8?B?L2dQTUxnR0tSbUFIeTE3OHJlbkVuMHhJSFlSUitIWGNmZkJUbFlJcVROUTlD?=
 =?utf-8?B?dXpDRGtVL2tvQUtLQWVNM3FraGhiemJFVnpqNC96L1hrWWlsRDRtUkUxOEJr?=
 =?utf-8?B?VnJtZ3BzV1AvSmhxd3prQjlSMVh5WFRMWU0zekhrZm9US2ZDSDIxQjFTb3Fs?=
 =?utf-8?B?Tmw1Zng4WlRaOTA3R3NDTGcrLzR4aURFODIya3QyUE1CNlZVSlpkQTZJSXA1?=
 =?utf-8?B?MWZWSWc1NlhmRklQYXVZQjFMdVF3czBwVHhkMTVrN295dFVwN0lNc2EyT2RS?=
 =?utf-8?B?NGl2QXdTRGdGb2dHV0xGclo4Y09IMzdlMHk5Z0JsWmdHdld2NVk4K2Y1WlNs?=
 =?utf-8?B?dTcvd1ZnZDVaaVVJVyt3OHpkaUVtMnN4VDBycVZjQ25tTkJEVHZ0UDZMSmEr?=
 =?utf-8?B?aFdtUDhyN290VHZtNkQwbzVBdGVYUzlrTlMxMitPVkZtNDI0MDA2OFVGMFhq?=
 =?utf-8?B?SUhoRnAyZ1BMRFFqN1E4akFCdkJFbUZRZ1QyQVQ4NmM4V1dUdSs1WDJTK2wr?=
 =?utf-8?B?YUNHeU5vd0JaSHZlYURzZDl5NHBrcS9DZXk3bkVQYzY1WFhWdENabTR4MHZN?=
 =?utf-8?B?UU1jcTdKdnZjUHpyNjdYb21LYXFaZW1KWkl0bzF5VjlVQTFIcjN5R0hIbEdi?=
 =?utf-8?B?Sk1FVm0yWWQzL1MzQUE5RXlINWFYYWF4ZzFaSWp2d0xyWkxheWNLMDU5YUlF?=
 =?utf-8?B?bHhZNGxyK3F6ZzJNVUd5K0xNcFVPdnV5OHZMQUdDalMvdHRRVFZ1cUhyT0Rt?=
 =?utf-8?B?SjBPMDN2eFNUc1g4VW9JSUhjalU5QmF4cnVkYjUwRFN2WDV1aWRmdHI5OEZ2?=
 =?utf-8?B?VHUxNm4rQ3lqQU5nNThLZm5GVHlxZnhIbER3Ly9aalNRTFhXMkZNbGwrRnZm?=
 =?utf-8?B?b0s5ZDRHOWlwUlNlVCswQ1liNHl5dnZMdVd0OXlWWnRrbkh1L2JLQXhCdFRN?=
 =?utf-8?B?UkdqZGNHY1pDbTVKbTJTTU5vTUJ3bld5S0FKaEFtZnh4dDBFZmgrS2hiU2Jt?=
 =?utf-8?B?WUZmaEtGeDZPNlZldWJ2TUNsWE5BSFNUL29XWStyWkVyM01meUFCZXR6WS9H?=
 =?utf-8?B?azVLbUxJNm94WlhnT1NrUy8rVllkRkw0ZFVuM2hId1M5enhPa0NsN1YyYW1K?=
 =?utf-8?B?Rkk3aDMyaklXNUJsK2VaNlJSdExzYnFIOWxIZEFjRWNVdmQ2QkhtY2pCc2Rw?=
 =?utf-8?B?SHRObXNrL1l0NTh3NmN3dDB2YUE2S2NUalhOOUxXTTJycVJMOTJ0SUF4d3dl?=
 =?utf-8?B?MkJKQzBKazJOVzBXRllNS1lpdDF0cjZqTEF3UkdGbEtqRzZ4dm9xQ1Mxei9p?=
 =?utf-8?B?cFZyWGpOeCtLNlZZdzBBM0U0WlZOS2N1YVd0Qk9teFpMVFBoRnloK1hLSnVJ?=
 =?utf-8?B?OW1RRElrU0VPdTNQMEQzRUhjWDltbDR1czVkMEJmRjBYUWhZM1E3MmovWkpV?=
 =?utf-8?B?QkI1S0IvcEpZdzVIOTVUZkJYZjNzNDRBV2I0YkpRSFNRYUh3dWQwNXlVcExv?=
 =?utf-8?B?UU1GNEtFN3J5Tjg2cG5DMlpZbEFZRHhLVTh4ZnNBc3RDaXhERUVxNFF0cHBk?=
 =?utf-8?B?MUJlTFg2UUtmWHgwaEFSbnlTVmt3ZGVaQ3pEVUFvM1hpSXIyb0xSdTV6Nkk2?=
 =?utf-8?B?Mk1pSTd3Z3YzT3JqdFhFL1hFNWFaNWFacWFZMVJUVGNRRUtNUlNaRUVRWXQw?=
 =?utf-8?B?aGtOeHArM3Azb0hhVkpCK3oybTZKMzlwRklKaDA1V2gwUmlrL0hBZEJPM0JY?=
 =?utf-8?B?emZPaFpjaGFzeExSSVZLK2lpeXplR0VVSTZJWGRUMkVZU0pCV3lteWxtSHpD?=
 =?utf-8?B?NnlRUytWb2hlL2xTcjVqb1FydlRrRXFMVWd5d2Y3MkVzVElNMU42NERRMita?=
 =?utf-8?Q?biWcAJv5y3PdeYGD14xdJfYQs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b86099a-b649-4b87-d03b-08da87333af0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 07:18:52.9694
 (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: pyWgaqJ4oGjZ2B6vxPCVCnjZo44+ZkdwCiUu+rUAEs9bmudMu0XdlKBgN+z5jnvnO505wL+TxWzL4KkmTdTjdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8743

On 25.08.2022 22:36, Demi Marie Obenour wrote:
> On Thu, Aug 25, 2022 at 09:59:56AM +0200, Jan Beulich wrote:
>> On 24.08.2022 23:04, Demi Marie Obenour wrote:
>>> Fix both of these problems by unconditionally setting the memory region
>>> size
>>
>> If you were to report a larger ending address, why would you not also
>> report a smaller starting address?
>>
>> But before you go that route - I don't think we can change the API
>> now that it has been in use this way for many years. If a "give me
>> the full enclosing range" variant is wanted, it will need to be
>> fully separate.
> 
> Does anyone use this API?

The XenoLinux forward port of ours did, and upstream Linux still wrongly
doesn't. The two functions efi_mem_type() and efi_mem_attributes() still
wrongly fail there when running on Xen.

But how does this matter? Even if we were unaware of any users of the API,
we can't know there are none.

As an aside: Something's odd with your reply. When I opened the window to
write this reply, Marek and the list were put into To: (instead of Cc:)
and you were dropped altogether. I can only guess that this is what
Thunderbird made of the Mail-Followup-To: tag which your mail has.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 07:21:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 07:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393669.632747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRTet-0006jH-T1; Fri, 26 Aug 2022 07:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393669.632747; Fri, 26 Aug 2022 07:21:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRTet-0006jA-Od; Fri, 26 Aug 2022 07:21:39 +0000
Received: by outflank-mailman (input) for mailman id 393669;
 Fri, 26 Aug 2022 07:21:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=99fA=Y6=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oRTes-0006j4-NB
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 07:21:38 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2056.outbound.protection.outlook.com [40.107.244.56])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b78995ed-250f-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 09:21:36 +0200 (CEST)
Received: from DS7PR03CA0195.namprd03.prod.outlook.com (2603:10b6:5:3b6::20)
 by DM6PR12MB4202.namprd12.prod.outlook.com (2603:10b6:5:219::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Fri, 26 Aug
 2022 07:21:30 +0000
Received: from DM6NAM11FT059.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b6:cafe::be) by DS7PR03CA0195.outlook.office365.com
 (2603:10b6:5:3b6::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Fri, 26 Aug 2022 07:21:30 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT059.mail.protection.outlook.com (10.13.172.92) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Fri, 26 Aug 2022 07:21:30 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Fri, 26 Aug
 2022 02:21:28 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Fri, 26 Aug
 2022 02:21:05 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Fri, 26 Aug 2022 02:21:03 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b78995ed-250f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dGbyH7muvHEoipQEAtq3d/hIBfCxRF0hXs4oPo1qwvfZ46QdbE/lFuCMXkBSUJ+X9nqH8p/ToPkAA1JJTVlT2NV4TMVrTioUhrLGuCQbk+zGhQIRmYvHaJLeefx5ngbpA2LeievgEP5LTklLbFqJetgwH8CamKgsaabVaehh8ZKgXKbhV4Y6HfEOw3GrAgYTXBP/95+iWfyMRPFrFImeaoIqVv4Gkdd7SJlaDRxmfbGxJmcZ6wnAO4mFUkSOyNosz4FlXhVupYl4E25nGXK77OGBxFNiAbyVoDTgdd0wJRdPAQG6tpa1nYMtb/D+Qi5yvF6Mip9o273cHeuNfuWOAw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6KrnwC0SCNLFnWNsAStGDcCTg/7K8NzqtDx8qy8n6uQ=;
 b=C61+Dpg4Z5IbViH83PNCrykR6f/L/XeQpHt1WbDWgLlq4SkWq3cGr4QrXpLzPMUQ+g72PzAR7KxzlJk0OkoxbfF67WW598+6ScvM0ysCoR1oQHgUSZ0Vx4GeQDGw5kZyAFjCQ903ISG6qURHO+W087IHLjZaJ43YdO5zVfWv/RUd6HyjcIqoKYgSyDPWDGkAxoCPZYonY2ERygnWwOYi5BZRnYsO0DSJam+a3rPEFFJot5xm3e9ekIfu3D9z6EdhDgg1xOxnCa6661AbBlQb1y0GorhqLtoP16/q2eQpfCuvW74u8DWgbZz2zaAcw+/G8IlZZ9BjE0QFhg6IpwCpVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6KrnwC0SCNLFnWNsAStGDcCTg/7K8NzqtDx8qy8n6uQ=;
 b=m0rShWp6xKQsMgjIF1oNxmQd1sIPGxQlkcbmyNMUYbt1eSF0guBjFEDiOaQVMQLDa/ilHaCNTOzSHB+iiTY40WDUcWiCTgwofICq4TbRede9G25wg3jJP4gF9iGiRGxJmbr4kJhxDzEmWIWXHRWEpKqnjCVEBh3aqRUoqscsgAo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <aeaa3649-33f6-e934-822a-47a982978a37@amd.com>
Date: Fri, 26 Aug 2022 09:21:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.0
Subject: Re: [PATCH v6 9/9] xen: Add static memory sharing in SUPPORT.md
To: Penny Zheng <Penny.Zheng@arm.com>, <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
References: <20220721132115.3015761-1-Penny.Zheng@arm.com>
 <20220721132115.3015761-10-Penny.Zheng@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20220721132115.3015761-10-Penny.Zheng@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 39a711da-562a-4216-91ec-08da873398d8
X-MS-TrafficTypeDiagnostic: DM6PR12MB4202:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s1uesiAnZJdTYZADCkjrpsRgALNKHS+wWbkLxL0yeMe5jhDG175RcGZmQJQfTKM0+pYjsniE5CKOgugjpV1mxvGwMXJL9iieLntF5qbK8woSaLIuHwIEiCznjUlFp0dIDx80+ZcoPG5H8ziRMiK1QO+5rvhNPP0E2TP02f8kwj/g+BSFSYw/GER5dDmjutTWolNhSm1oODWBEdt/eBchBZeeIE02E7Bvpn7DuZwchDYJ7dFkdF5M5RTV+7tfJyUzP++oXy9AP1X1Zn/Man11WLUM18PoYRcIf+caFrpEtRDmA+7NGrHllfDvnYt7sidpCbGbbtomBzdo3NBpiIajJKJLMrnXmjVis4MXpSCp7acm1W688Glm/am1YykVb4bJGtiiUM08qn6qJrGsX5kw7Wez1uiQzP/NqWGJMLIPDIi1zPd6csV5C+XQD2RvJyQnDvy0Ga1MyAxM8kqakH/jUkQQ5tfCOXd22wTPlKJ0K9Rw2pHkoN13cmMG8MbbAkrmiawbGtEYHXUEOlikDvkOGiHUUHSlrJQ8uwmGi7BJZ3PnZm8MthGrSHlZuzujdiuZW68vb0XmHfx6MuUULtj8XHxrdvYvNfCEsmxYwwMJQLrZi28vaNlLOgCXBL+r+MXcdFi1GeuC2gojgrQCXXooowx813Q6/R3NNBppc5WNnU+wHdh3F1hcCbnBksLirgXt0SUktDNZu2QTjm2esyHHlujP2tex2Ghe0gjAiRzkwF/Ay+nP2bLpwR0iI//djM/U8ifrzDtqFRDKOFV0tmVjDHpk1rs3I03HtVPC/1BwphJGQz4/02CpiV639XwM/8MgmJKtio+X/UVOE3CG19GHXQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(346002)(39860400002)(136003)(46966006)(40470700004)(36840700001)(36860700001)(81166007)(40460700003)(356005)(86362001)(31696002)(82740400003)(16576012)(316002)(54906003)(110136005)(70586007)(2906002)(44832011)(4326008)(5660300002)(8936002)(70206006)(8676002)(82310400005)(47076005)(426003)(2616005)(336012)(186003)(478600001)(53546011)(26005)(41300700001)(40480700001)(31686004)(36756003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 07:21:30.2664
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 39a711da-562a-4216-91ec-08da873398d8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT059.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4202

Hi Penny,

On 21/07/2022 15:21, Penny Zheng wrote:
> on ARM, static memory sharing is tech preview, which shall be documented
NIT: missing 'a' before 'tech preview'.

> in SUPPORT.md
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
> v6 change:
> - new commit
> ---
>  SUPPORT.md | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 8e040d1c1e..3dfe6d2fbe 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -299,6 +299,12 @@ Allow sharing of identical pages between guests
>  
>      Status, x86 HVM: Experimental
>  
> +### Static Memory Sharing
> +
> +Allow memory pre-shared among multiple domains at boot time through device tree configuration
This does not explicitly state that this feature is for dom0less only.
How about taking what you wrote in booting.txt:
"Allow to statically set up shared memory on dom0less system, enabling domains to do shm-based communication".

> +
> +    Status, ARM: Tech Preview
> +
>  ### Memory Paging
>  
>  Allow pages belonging to guests to be paged to disk

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 07:26:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 07:26:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393675.632757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRTjh-0007N1-Dl; Fri, 26 Aug 2022 07:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393675.632757; Fri, 26 Aug 2022 07:26:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRTjh-0007Mu-B7; Fri, 26 Aug 2022 07:26:37 +0000
Received: by outflank-mailman (input) for mailman id 393675;
 Fri, 26 Aug 2022 07:26:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRTjf-0007Mk-Ci; Fri, 26 Aug 2022 07:26:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRTjf-000204-AA; Fri, 26 Aug 2022 07:26:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRTje-0006eA-PY; Fri, 26 Aug 2022 07:26:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRTje-000642-P2; Fri, 26 Aug 2022 07:26:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vxxIUgYd+2BVOZsxvmHNXZ4F/tZe8Nrmmp3SstRKtbA=; b=2rmSTrDBFt381rTIR5csNC4hsl
	Qwo33rAO335SL6oUWIACwLZYEgHu6qZpp2CapxkU9xCcKvFLijsmULoYvTGqwFoPF9coIEZX7J+zz
	fI6Js+Ubygs9W4Vx4nDgJYU57UZ4UQoCGZEPMVDHLB3koSK1sg56pl61OlQvUG2jW+Os=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172786-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172786: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 07:26:34 +0000

flight 172786 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172786/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   22 days
Failing since        172151  2022-08-05 02:40:28 Z   21 days  172 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 07:53:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 07:53:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393683.632769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRU9s-0002Am-F4; Fri, 26 Aug 2022 07:53:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393683.632769; Fri, 26 Aug 2022 07:53:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRU9s-0002Af-Bt; Fri, 26 Aug 2022 07:53:40 +0000
Received: by outflank-mailman (input) for mailman id 393683;
 Fri, 26 Aug 2022 07:53:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cVPj=Y6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRU9r-0002AZ-0M
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 07:53:39 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2084.outbound.protection.outlook.com [40.107.22.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 302fd0ff-2514-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 09:53:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB3167.eurprd04.prod.outlook.com (2603:10a6:802:8::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug
 2022 07:53:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 07:53:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 302fd0ff-2514-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DZ+EGh0/1polVxEtbGjIWbltRlOk8UNxdpnohf4PxoJj5qA0bA+V4oLLLqhEMVqVvQflN4XferrXv9/8UUpIVF6gw3xnLVYpX5hjrAMyL2mG2hAHbaw6CWKPgQJzM1xOE+2tGq0UyfU9YoWAIqoojeZNSlKWSI+tIPLO6JGC+4xtfWCaVNsOI2HUGEqQuJrw/LgxrcCFQqL8UWPfuxE7tPoRyW3QKl88Dw9qMi7gGe60ZxeDRBWccBPX6LFoTMOZFCh+gsMzp9+dbR+icyqbbP6NMUJgr6jkC6oha10/0cOQ1/GdIt25YYqIke4CIFadt+o4x8PO/MvHSa4C1/VS1Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q8CAIP1LbzZfdOfsH4p172fNfYeWMO79MKYu4mbRFYo=;
 b=NwzVLcLYTXNhpZCAWOl5fdhe9ZUrf1logQ8HrIgmMPpZe376PP7ZI+bfKFbwIo2w2YjzcbNFwpoqeF+SXok7H6yAVYBBaaRdp8fG9zwRC3eZ3zjadAwndD8dIs4w28iJJNca7LEFIu3fMVA6HUumOFBBxzDLyGnQPDsD6/qpMufFgTsvjP6yH193OEMH6kH5FYsmUTggoL3E7O59Z5sp4caADFJkkAuefzSNqhKzhBlZXNHOVJ1iG1h7Ucqz561F6LnIf/wL1EuUrCWnzSZ9N+frLNo7+f3qJaID3DyLjxyvsLBJ3oIUIhg/BgRwcUurLF0wSpliQOrOJaXzMvmbGA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q8CAIP1LbzZfdOfsH4p172fNfYeWMO79MKYu4mbRFYo=;
 b=XoZMv3LwyA1xogPB4mj7Iaw89ylqN8/lcynhZs3zlbhc0F29Lkoejkye7CBy3bVCVJk/0FPvCXc7zt2wTxMyJGKHrvsxt9vfhP4iTCPtKcZrKe4tVYlQz+F85bSYyKZlvhM7hVm3mkjf8vNo9+4+AUwmSHLh+2ncMG4fVhTjKvAh3wwoGJ2uT1UUG8TuO916ec34yI8mRI5RPqtvxZL2KXEbzhMBNXbjfSQJg99CFjqq5vZk1qjTl+VZUxFnliDddqbJSw+Ul6GgXK9bHvvffpNKO1B5qAquaKP05H1ajkio6uoRGyHf903ZExn1dGXomztbDSIlgXe3h7eOOx6e4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c2a22672-b9dd-7aa4-b61e-ccb0faaa3b01@suse.com>
Date: Fri, 26 Aug 2022 09:53:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH] Add support for ESRT loading under Xen
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, Ard Biesheuvel <ardb@kernel.org>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20220825215218.1606-1-demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220825215218.1606-1-demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0035.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:89::48) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2023826e-6da9-4207-8a70-08da873812b6
X-MS-TrafficTypeDiagnostic: VI1PR04MB3167:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	luVbnwBHuA3Ju0iVGWgquCHV23HKwvhdcB7yn3mfvG/szoZJ7iWI9Wt84vdPAEGjC222Nctzpv6dTqUDYehsquSfdxcAQEZhQ45Z7zydSyeaIuGmcXMfHGj6vFya4ZkOMBBi6oT8eu2VGoPdEOm/hj+LqdNoVdALWjxt4R7siK5WzGAnzYCyydfrr+khJ/DOPNu0RrTuk6mccBVpBvtXHbqHhXrIW7anyFgJ0mUE7HK8QzA0QWZ8jce9rFBnPPpQ2lPCLdJEyr2YQwhXg33OHdoFKWpMkLWMNi7FJvB4ZbcOJokSTFVj2oo6kwhRniTgqzPOMMaQ/4GhQRCcFjFWF+W59B15mVOHN/abtMXw2/BEfFGAc1wIHf6u8M2FDYdp0fDvI54hPK+6LyUFRqFqQRIN3A4zIphWiDbpcV5p/U3oQ0bh1b/vPhuQzQrozKrTfjTQaz8NEEeEw64uNV/5Ai6Tc9PBFnUw0GRduQd23oM7aV5dgOpFj/NH69e50qZuxm0xaugdUb/L7OuuuXWUD5dH8LnK0yVJrjhe+Gm0V3GfTME2BbKMrRvXYIFZ7GkWg58LRg5fxF9bUjJoXtDdAFsDFZc2ta9f60Gn+hL8t4ZNMP8h4nZxfnjNOzOX8xmLmBc+rhA1DltHrMB0Th4/cxqQIY9eKsz0zO3casUA0MYD6J8S0LWsohMe1F8x5foPkwWuuOYrkiLkKW9+riPSg96viZp/Ib6bajQnhxt+XSRo7fVc0s91gIc6RGnBiXDtzN0x9WKa0o6Ewdrvsk/DfjuN8eVWnySmcSgFQivODRE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(396003)(376002)(346002)(136003)(66476007)(8936002)(5660300002)(4326008)(66556008)(41300700001)(31686004)(36756003)(478600001)(66946007)(38100700002)(316002)(6666004)(8676002)(54906003)(6916009)(53546011)(86362001)(6512007)(2616005)(186003)(2906002)(26005)(6506007)(6486002)(83380400001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a3pwSjB6SUtrdnQvODNmS1BoWFMrKzFNbTlTVkMvWnlZZDluc0ZZZjJ3QnYw?=
 =?utf-8?B?ME5HYlpBWVY0K2NnTXIweG9CMGdXRlIzOU5vbGtJRnpkUE5rdjlScW1oMnpM?=
 =?utf-8?B?OW9nL1FzODBHdlJQMk5jWjE3aHZkQjhTQ0JvTVZIZys5dG1NWksyV2o3ZFZR?=
 =?utf-8?B?V3F1WU1vVXRmQ202TWQrUHdnMW1TYmpEQ2oybnZGaURwSFZJSDhTNDhibFBO?=
 =?utf-8?B?RWc4VDhQd3lWWmNTN3hTcGthSW9hNUR6dUx5dUM3K3NJYVVIZ0hKZEVaRVhh?=
 =?utf-8?B?V2w3UWdaV0NFVTkrUmdlNDk0MGhTUU5PaHdBVFpRRGFLTHE2V3Y0QlY0T3ox?=
 =?utf-8?B?NEZtem0yMUd0QXlCSUdmZ0NFS0V1ditoRUFxQ015OVlFM0hscHYwNTdZL3Jh?=
 =?utf-8?B?Y2NIaEtrclZ0bjNacXR2N2laQTNZWG8wS2dVdGxGSnQrVUNDNHpDZEJOWGpp?=
 =?utf-8?B?S1NmOUM2R2ViQ2lObHhwLzFmd2VFbndZclYvN0xFRVAzWko1UGVTS2FIWFFa?=
 =?utf-8?B?d0E0MlBGVmZFcS9sTXhNd2FOVjkzZVVZQmQ3UTlEdkVJMCsyc0VWOHhkbm1C?=
 =?utf-8?B?S2tJTncxTmFxc2xxdk5Db3A0TnBka1hWak9OejRSQXB1QU9JVWcwRzlwQnRY?=
 =?utf-8?B?RE8xMEN5TGJ0aWFtU21Pc3dXazBObXFRaXc5bTdBRUovdHgwcjJXWlB0TVA1?=
 =?utf-8?B?bEN5WnNnOXZPRFBwZTlCUWJyUG5OWFBSempsMWV0ZnhZSzJuZmVoLzBZVVdB?=
 =?utf-8?B?VkZ3alphdGlZQUVNQnc0SFc5eE5zOVp2aTBBUW9nUmh1S2ZocUdETXBBZXpF?=
 =?utf-8?B?YnpwTmw5ZG9qMmFJV1dPSHFyMGUxRUd4RFdoVndVV3pDUXpEcHpGcFl0ZlZB?=
 =?utf-8?B?VFYyOEpielVZYkdMeHV6cVNBbUs2b3NNQnhqT3pOQmZ0SFROd2xsZnNaVFVa?=
 =?utf-8?B?VkVLbnhRMHFEb2d5UEIwSGhRNTR6S0JxbkVxRDRvaG5mWmFzMkZLVmhDaG1X?=
 =?utf-8?B?d3Y1L1pIc0dsWm1oZEJ5ajFqSEN2SXpvUFlpODQyUmZmT0EzdVRqYmVpOXgw?=
 =?utf-8?B?Y2ozN2pvYmVTRTBaT05Rd3NSVVNvTmhyNUFqaVVXMUh6NDhwaFF0TFJubVNN?=
 =?utf-8?B?N1dGMTFVMEtVUVlSUVBodWRNT2Jnb1ZZU2lCR0xvSzczSm1EWTVPNjBKZDEv?=
 =?utf-8?B?M3VVY1dVK1B0Vnk4ZlVrbGUvMUE0dndJWGZkZ3N1Qmwwb3lZSjNmYmtiTTJ4?=
 =?utf-8?B?Z3R1S1dnbVNNVi8zTG9JRDQ0MjlRTHFYMURXTjFEWXdReXdzekpwaExiN0RV?=
 =?utf-8?B?SGJ6UEc5eS9xUTJBbThZYll1NEEvdWFSeU8vVGkxK1ZyUDA1dDY5VmlqbUtj?=
 =?utf-8?B?TldjVi8zOWt5OThGSlZ5dDByenpwVjdaaysza2VXbWZyNE9YRDQ5T2t1dHlC?=
 =?utf-8?B?TGVUOFpsT3ZvSXlaZVVkRFFtem8vNmxMTGdiZFAxa0VPdFhZSVhMbHpybDZO?=
 =?utf-8?B?ZDkxQ25uWDlXWkpMQldCTmNvUnc5bk5BZkJFWkFmejBIRUREZGpTT24yeW96?=
 =?utf-8?B?WVVzNlJ5MW0zZEF5YlhsNk1ZdUN2c0VKazlUMHljekg0dTY1bFNDK29FcnBM?=
 =?utf-8?B?UlE0U0ZpejZvOEpXbUpqQ0hlSCtBTWxNL0RqUVN1c0JteHFLNjFUdXhUd01K?=
 =?utf-8?B?eFNvcW9qNE5aeXZacHFFV1hnWUk2bnNGT05EajZ6NytrWDMyZUdwTzhTUlNS?=
 =?utf-8?B?VTN4MlVTa091RXNBcWdRTHlnWTFSOUI5aU5rbnhDeU8zQ1BQVXd2N2g4cURy?=
 =?utf-8?B?bFNScFVXNDRPWjBtR052N29xK3k0STQ3d1JJQ29iM0xJYkZwZm1nc0ZHQzZs?=
 =?utf-8?B?UG50cVVyVVBqZWVERTdheVJpS21pUDU1N0cwZVg3d0pocFNLU3ArOEF0dHZW?=
 =?utf-8?B?bHlMYmlPY0lUMVdVM1JYUTVOLytKNmJIUEdyK0ROakNqeVM3eUkyWmFiUjI0?=
 =?utf-8?B?clVGb0NuSW9MV0FTN3dpbVFsK3J0VXJRMG5aV1pQaFhEMkJvRWlJdHNaVnFz?=
 =?utf-8?B?OWlBaXNYOFRSRWxpRXo3cnl4RTRKWFBhVW5QV2Joa3RxbW40UjlTWG14cWlT?=
 =?utf-8?Q?meoYQlR26cGXiwI7YZkplOsYb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2023826e-6da9-4207-8a70-08da873812b6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 07:53:32.9623
 (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: /FObfbRoKPmfmcn04nk79CyXzrWRzEe1yOdjtBwFpAf9PzZv76569YIkPmEUBCYHkN7oUf5L01w71qC7sorDRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3167

On 25.08.2022 23:52, Demi Marie Obenour wrote:
> @@ -40,6 +41,38 @@
>  
>  #define efi_data(op)	(op.u.efi_runtime_call)
>  
> +static_assert(XEN_PAGE_SHIFT == EFI_PAGE_SHIFT,
> +              "Mismatch between EFI_PAGE_SHIFT and XEN_PAGE_SHIFT");
> +
> +bool xen_efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *md)
> +{
> +	struct xen_platform_op op = {
> +		.cmd = XENPF_firmware_info,
> +		.u.firmware_info = {
> +			.type = XEN_FW_EFI_INFO,
> +			.index = XEN_FW_EFI_MEM_INFO,
> +			.u.efi_info.mem.addr = phys_addr,
> +			.u.efi_info.mem.size = ((u64)-1ULL) - phys_addr,
> +		}
> +	};
> +	union xenpf_efi_info *info = &op.u.firmware_info.u.efi_info;
> +	int rc;
> +
> +	memset(md, 0, sizeof(*md)); /* initialize md even on failure */
> +	rc = HYPERVISOR_platform_op(&op);
> +	if (rc) {
> +		pr_warn("Could not obtain information on address %llu from Xen: "
> +			"error %d\n", phys_addr, rc);
> +		return false;
> +	}
> +
> +	md->attribute = info->mem.attr;
> +	md->type = info->mem.type;
> +	md->num_pages = info->mem.size >> XEN_PAGE_SHIFT;
> +	md->phys_addr = info->mem.addr;

As indicated in reply to your patch changing XEN_FW_EFI_MEM_INFO in
the hypervisor: While this may fit the ESRT purpose, the address you
return here is not necessarily the start of the region, and hence
this function is not a general Xen replacement for the non-Xen
function. Therefore I think it also shouldn't give the impression of
doing so.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 07:59:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 07:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393689.632780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRUF0-0002oc-3b; Fri, 26 Aug 2022 07:58:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393689.632780; Fri, 26 Aug 2022 07:58:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRUF0-0002oV-0O; Fri, 26 Aug 2022 07:58:58 +0000
Received: by outflank-mailman (input) for mailman id 393689;
 Fri, 26 Aug 2022 07:58:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rHiH=Y6=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oRUEz-0002o7-1f
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 07:58:57 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef10ddd9-2514-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 09:58:56 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id h22so1668843ejk.4
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 00:58:56 -0700 (PDT)
Received: from [192.168.1.10] (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.gmail.com with ESMTPSA id
 14-20020a170906300e00b0073ae9ba9ba8sm593063ejz.3.2022.08.26.00.58.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Aug 2022 00:58:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef10ddd9-2514-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc;
        bh=uwON+J0KicNZiomyFSukDkJggnZdAe5BWTs1bDIfC/U=;
        b=KGU/haig9RbUtm8XViHjLfivSH2b23EFUm+NXGrpBhXzoadGq/KRpKjbzXW6mCYgqq
         Tav5xEg5do/ZuCjiYEc8gj1fJdy02Z7Kf80gp+2sY8YPzNPFH5gCSx2pjmY629BkSTdN
         PQeBqOwhasgp/GpI8wtv6cMmE6Q8hxf2YMszm8i1zIcKwEfrsaxUV7LqFrx2xIV7kQAV
         XgeWLmD3ccMHEUuTzPz/kWNX3X4sGQoJXL+axNcLxpPtuVTj/WroRZbaq1vqJgKsA+0w
         TosH3xUDWtaPtCcpdpS7boeE5DWYjnb/+d/hoIVyCnCE43UF6KXTLLSiTKyddPkAJmMD
         nQMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc;
        bh=uwON+J0KicNZiomyFSukDkJggnZdAe5BWTs1bDIfC/U=;
        b=O3Tw+I4BeM7a7Dv9gVmNzjJ1wRzp7NGBMP6wU9Rb1kq6FB1tK7Xr2kj7i3BDACCnSk
         divm8GAPG2tlDxkhdmLRfOyWlRTTxSIYWPnfIIikOUzq7ZFsW8Vl1j8/sYrx6uUo+Gbo
         Blr/ECb4gSQbH3BOfrymNdPFV5XNaMQf0/cut2MZ4DXPznTxtAADHFoEfYWYUPwM5Nf4
         I1YOciyvWK4B1xZ6QtqGxozn9zsqT98zrNR1UhlJJSPMldn+YUYSiEh3RPfEcih0oytr
         QbgxUatSdeQucADnqU4eEpGr6jKRsRzUD5PY2XqfNaTShCP1+2k/TOMF+4fSBZ5MpHIX
         u2Gw==
X-Gm-Message-State: ACgBeo3APZB6HpIB6A+Z6owYPzjgd90MTspynIuq7jeR0InUVE/qZ3rO
	NqDs3K9pE9k0C9wliEFfMNA=
X-Google-Smtp-Source: AA6agR5FvrnGcTJbVd6lnt+qz65DRUCHDq8BTfMahrDuHi7iaq/Uwz9HxPLBVhQnD2JuUOfBL9cy2Q==
X-Received: by 2002:a17:906:fe0b:b0:730:3646:d177 with SMTP id wy11-20020a170906fe0b00b007303646d177mr4550304ejb.688.1661500735573;
        Fri, 26 Aug 2022 00:58:55 -0700 (PDT)
Message-ID: <7348b3d9-4ab3-743f-252d-0441cd25dfa7@gmail.com>
Date: Fri, 26 Aug 2022 10:58:53 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 andrew.cooper3@citrix.com, bertrand.marquis@arm.com, roger.pau@citrix.com,
 roberto.bagnara@bugseng.com
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-8-burzalodowa@gmail.com>
 <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
 <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com>
 <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
 <852c68d0-bda1-e56e-85c0-500c498054a0@gmail.com>
 <2ff949e4-5f02-f476-7b14-252252d1b8b5@suse.com>
 <alpine.DEB.2.22.394.2208251045380.733916@ubuntu-linux-20-04-desktop>
 <11fc391d-f53b-1bc0-19ec-168ec827a1c0@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <11fc391d-f53b-1bc0-19ec-168ec827a1c0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 8/26/22 09:21, Jan Beulich wrote:
> On 25.08.2022 20:09, Stefano Stabellini wrote:
>> But first, let's confirm whether this change:
>>
>>
>>   #define dt_for_each_property_node(dn, pp)                   \
>> -    for ( pp = dn->properties; pp != NULL; pp = pp->next )
>> +    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )
>>
>>
>> is sufficient to make the violation go away in Eclair or cppcheck.  I am
>> assuming it is not sufficient, but let's confirm.
> 
> Well, even if for the lhs of assignments there was an exception, this
> still wouldn't be sufficient. The minimum needed is
> 
> #define dt_for_each_property_node(dn, pp)                   \
>      for ( pp = (dn)->properties; (pp) != NULL; pp = (pp)->next )
> 

If pp is assumed to be a valid lvalue, then why it is needed to add 
parentheses here (pp) != NULL ?

For the violations to go away, parentheses should be placed around all 
macro parameters that represent expressions, that is
#define dt_for_each_property_node(dn, pp)                   \
       for ( (pp) = (dn)->properties; (pp) != NULL; (pp) = (pp)->next )

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 08:01:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 08:01:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393700.632792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRUH2-0004n0-TX; Fri, 26 Aug 2022 08:01:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393700.632792; Fri, 26 Aug 2022 08:01:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRUH2-0004mt-OQ; Fri, 26 Aug 2022 08:01:04 +0000
Received: by outflank-mailman (input) for mailman id 393700;
 Fri, 26 Aug 2022 08:01:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRUH1-0004mj-7k; Fri, 26 Aug 2022 08:01:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRUH1-0003Bs-1T; Fri, 26 Aug 2022 08:01:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRUH0-00007Z-Kv; Fri, 26 Aug 2022 08:01:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRUH0-0008WB-KP; Fri, 26 Aug 2022 08:01:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dmHMalZUL6AuA0QYnotjkg2hfVfN6yUZEQ/naCKfqho=; b=tlepkBzxiLdMYQ+ac/sTwkICp6
	eF3zcAya9G5DAFXFdhCLtC9VRKjrKeRMldEXqrUh9SCzxwIuRQ8mhWa9mmw3NdiP2QvIJFSulFNzt
	zU2fctgr8w0RynoHOLp6fX6BX2I52FnbtkP6c4liwhsQj2IM8i3u+L0d3m240jXxTJFs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172778-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172778: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 08:01:02 +0000

flight 172778 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172778/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 172768

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   22 days
Failing since        172148  2022-08-04 21:39:38 Z   21 days   49 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 08:01:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 08:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393704.632801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRUHL-00059D-4R; Fri, 26 Aug 2022 08:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393704.632801; Fri, 26 Aug 2022 08:01:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRUHL-000594-1m; Fri, 26 Aug 2022 08:01:23 +0000
Received: by outflank-mailman (input) for mailman id 393704;
 Fri, 26 Aug 2022 08:01:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cVPj=Y6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRUHJ-00058Z-Nx
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 08:01:21 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2043.outbound.protection.outlook.com [40.107.105.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4549f6fb-2515-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 10:01:20 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB3214.eurprd04.prod.outlook.com (2603:10a6:802:6::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug
 2022 08:01:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 08:01:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4549f6fb-2515-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kj5Uo8eWLkS7YVGpudRfo1XXCGHZYOwQi5kq7Gu1P+jh0eE4PQkFO0fSW5jY+GXs5sJbRcw6PVgcx4BUJgHRoR3f8UvFM+G0/xCtsRLTm96SYDzxrX6HxpsgVO1RPKqeAciA/lLFlUyAcC+PwapuRivhQCrbSjSjyzi+L9Gh/izSvJmdaSuyCtxyHpv28/j2+dP6tQfhWYDrI9j8+wspTr6Sg0TYg7KxEiopq5zOEckXLcZfAB9GEaoAxL3o4hqDOJDg+4yhSxQhQUN7l1Zvtu8AEy749YQaJZBL9eMarnd/ySPIGSXgrfkUqaBMhWxbvW/FPFRZcMPAmUX+ZlLfTQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KtpTCoOMpnhczrpSIGOvpOg2fd+K2Iz3qYZ2LBR1pAA=;
 b=YD8zjEY16kBDKCJVvE9VElvDdVejd5EJvDOIkkBFfLgz4xyQMu8IipfOiaVeGRpG/dLaLNCwZ9Hon44Xcvs3O8+FqlQCUlCkDUf07GtONKBHU/3w2fPTHfyyxmksqZ1Yu5EnwEYTyXZmcnL2hm5idg/BOl0caz42IeEtNH0f1Qp7+1vVJeD7xY2RbavGQUGagqRGt1IPfxvOZ1++coc1vlfGE66qdVj7yoM+V22Q9vj0ge4GLOcbA8m8T7i3MiNTSwscHFfchukVXe9jH8iNR0k2X8BDowZTVIRQ4p4K9qnvDSQpps/m9uDDKWWNFftDdf2xQIzCXUAmZUKKKZvFqg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KtpTCoOMpnhczrpSIGOvpOg2fd+K2Iz3qYZ2LBR1pAA=;
 b=qPlYg7PALdxwjllirwLua7CuHtHdq1vcp53SwjAgVo9WWP699Y/hnF/3uqkyCUl5HuPfpIO47ttB0Ki49xWNS1awrOQJxDVX45WmaWZjfRJkRvvq8kA0dgi1axs8G+iMvCeRjVinYAkO0UVHHOPnI2XoxD2ekxye69g3dTCkbWUXqlwhSKxuu8Wy3lPZY8mw7Qh3xm4rhROgxfaeLFora7qerqUPmHcOIxiScrOLTyoltULXnx0g1VDR5L2RyQdg6aXf8VNdTSrmH46f3VDM2M9Ctt582L+3+OPQtI39nAYRasF+CItKgERAN8Grq4458gSZhCnISNG73JUo6NFXDg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bfe91fc2-c3a4-3361-509e-28493bdb958b@suse.com>
Date: Fri, 26 Aug 2022 10:01:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 andrew.cooper3@citrix.com, bertrand.marquis@arm.com, roger.pau@citrix.com,
 roberto.bagnara@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-8-burzalodowa@gmail.com>
 <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com>
 <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com>
 <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
 <852c68d0-bda1-e56e-85c0-500c498054a0@gmail.com>
 <2ff949e4-5f02-f476-7b14-252252d1b8b5@suse.com>
 <alpine.DEB.2.22.394.2208251045380.733916@ubuntu-linux-20-04-desktop>
 <11fc391d-f53b-1bc0-19ec-168ec827a1c0@suse.com>
 <7348b3d9-4ab3-743f-252d-0441cd25dfa7@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7348b3d9-4ab3-743f-252d-0441cd25dfa7@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 83ec3401-3913-4f50-284c-08da8739281e
X-MS-TrafficTypeDiagnostic: VI1PR04MB3214:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JGrPlqgOrMtS2NHq125rxqexA4pB+QwsL7ugMy5iG75guThUvGJrzMX44wkKTbcQTvAuWtgJljOw1b92qJgGATY1k7Gtk/UE1Cjq8hnbdMIFldvDxD8TPFM6FAgZZp1TmIs2uGDU0VvzDo1v6C7iHFz1rv1Vqg3yOSTSEhXG0KkukJ13+5dqteutCvBE1NucgHoX+PHWqH36dF8NKIakMXG3idoymNty1MKGmA1hCOr3F5bIDYoCgJIseQW3U/G5Bo02MF0HFgAiOul7dsi0y0OmpfkjN5jYywb/fAqo8BfBWI3B+/5dYhwfmNo2YKRLKh9MkEjWGF1SMU65VvH4FhfacLcLFumTglelLpDsoXiL6BMgxYHUyXKUz03wB1uqb5s5ajmXYWmCnOgC8bW4u6vmAbTxHn/u9vm3z/teJE7602h0YP/fif/vQtSnHznA2f11ULdQ7+z4/AosLvGUpcoyWxzkAP/5OR6Z2NcYYcx/FbOCOivKUqJ8pYkldJIw4c4A8ch1D/vDjxfLeqHN/ljWlPbwGMI7T1edgq+alkEXn5q0+LscEioV6DXRDQsCuNozJW/o9VxpVj+sE4ChPLuYosOjzQU1//Zam/+HUaD5GUeb03/UU6MzLlCFWEi9pkuhtgpW3kWb9wW08Eh2K2Ft0fuPUjvoJqtbcYSDW9T3wAEeYo7ZqaPAe3KaqZDp1KaBlK8gyPQWqcYD5xMb04El+KL3LqM8DD2b3SFjsRh6j/JixT/uK0jlFPlXEQHOei2+liY2+xMKc55vs+ITwCuoFAzCGD4KiukGOwGw8hU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(396003)(376002)(366004)(136003)(39860400002)(66556008)(66476007)(66946007)(6512007)(8676002)(478600001)(26005)(6486002)(8936002)(4326008)(41300700001)(5660300002)(86362001)(2616005)(53546011)(83380400001)(2906002)(31696002)(54906003)(6666004)(38100700002)(36756003)(186003)(316002)(31686004)(6506007)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFZERTc5TVVwc0Q0Q2FwdHZrZGV4RVVvYVRSQUdVcDZYbjNzbWllVUZMMU82?=
 =?utf-8?B?YXluMm5hTzVMNjFjVlp4WHhKTmtWWDNadEJTOXpabjhGTXVPWlJGdmxjSjg0?=
 =?utf-8?B?dVhsdEIzZHZhUTBtUUpSSDd6ZmNXSGpxdFRNMDhEUnkzN0wvdVZKbXd2aEJH?=
 =?utf-8?B?K2c5UENQVUdMRHZadEdLRzV6WFN1YzJjV2hDSHZtWWNLTytucTdXRS9Iekov?=
 =?utf-8?B?MnlLcnpVY21COXh1YldTdmZHMG9wUFk3UFhZQ21kaXAwdUtPUkg1dWNGWHhB?=
 =?utf-8?B?d2xsVGpiN3cxZThwem5LR09ZVUVqZ1dxd3JXa0hOdkhoV2NPUmgwYlgzT3Fy?=
 =?utf-8?B?bkhUdTdEQk5DV3Y4LzVoV0hhV2NFWG51d0tTMHQwWXRXTjArOVp6ZFhlM2V1?=
 =?utf-8?B?TUxkS2FuYXJlaEUwWnZ5VHhwQlYyMHlNa0ZaMkFVTWp5VEJybE1IOWhTL3Bv?=
 =?utf-8?B?bXloL3ZOTWtMcHU3YzRVL0lKcUtXR3J1N2huUTFxOHhUQnpMUFRpSDBLd1Vy?=
 =?utf-8?B?T2VTT01yT2VsaGFhcDZVcVBYV1ZrMzE5NG1aMmEvQkV4M2hYYzBwUkJEc2k3?=
 =?utf-8?B?QVQ4OFgydVR2UnBNRU1ZU3JDSStwM2FxODhabDdRcDM5by8xNXFDeU8xdTg2?=
 =?utf-8?B?REJHVzJmc0llL21Iam1YMVV0VFE2Sk9QWS9FNU1JSDdOemFBdzZhOHRTNm5Q?=
 =?utf-8?B?WXZWZlI0dDRlZWRmcnpKcm13Nk1DcHJrU1FZNGx5MkVBeWkrMzJrUW1ZMzk3?=
 =?utf-8?B?ZFdqemh0WUN3Vm1NekJ1UWN1WFNTUFRWQ1h3UXFhejc4eFBGRUNmcHZ3VHNp?=
 =?utf-8?B?dFNJUytNbmhNdDFqZ051MExJYjcxT2xFbUVKYXI0TXQ1dDQvQkQ1WGpFNU0y?=
 =?utf-8?B?OW5FQ3hxS3NlWGZadFFHbWpYL3QwK2s2VE95UGsrY2o0Q0VqcXlNcDVSYTVM?=
 =?utf-8?B?WmVlNDFBbVBKWFA2enNydFhja2tteVF5ZWZCRGpweFY1Vm4yaFpNSnB2YTYz?=
 =?utf-8?B?aVlkOHJDN3U2QlU4M2RsdnF2aHQ4YjUwTGM2VHIxaDI3by9kbEtTL0k2dGRn?=
 =?utf-8?B?MHpZVXdoTWxyV09VNTVITXJpbitSYnBGdWh3NWQrTld2aThWb09PcE0wSnJU?=
 =?utf-8?B?SU9ib1lENkZUWEJqYlBySzZuK2FSeml1VVhYQjRxOVEyRjJyL3lpZGZKY1U0?=
 =?utf-8?B?T2dINXY2UzZSSEFSNHltcnB0bjRZRktucTBBOVZUQ0Y0OGhuWVE2MmVySzM3?=
 =?utf-8?B?M1NlYXFwOU16YXI2emdnR2xMS0d6WHd2SnhtWkN1dWdlSHN3TVhYYkRmL1ZC?=
 =?utf-8?B?S2ozRU5yTkpNd21HUURyenBwajJyRjJIaTYyUWFoKzN5VmJ2S3VkK2drZHBz?=
 =?utf-8?B?TjZqSkVRT2xmT1hyMzE0eXFYd0s1UFBCVW5Sa3M1WTVzTnRONnhBZU5sN1ll?=
 =?utf-8?B?YjRLT3B0aktLUVZVZUpTOHp1SzBWNW1xdE9uSStya05xRFNuVDJFdFk2QVl4?=
 =?utf-8?B?M25QcUxYeW9WcW1PM1AwV2djZFB5QlNtSGRBS2Q4TEMyd0xyUGxJa29MYXN2?=
 =?utf-8?B?M2t2NzdoQUZNdi9uYlVDMDg4ZjRBNHA5L2dPTDlOa3JYSForWlBFRDUrNVBI?=
 =?utf-8?B?U1EwL2h6R0VBaUpzbnMvRFB1cGlKRkFTN2p0MjRZRWw0dUVxcnRxL1YxYjQr?=
 =?utf-8?B?blhEWUYzZVFQL0g1M3FMUFZTL2tZTlB1RTh0Z2NaZU5iRGxxZ2RoT24wNjZh?=
 =?utf-8?B?bGtQaWtDbTdnZTlESythVUx0ckVNeGorZ015QzZKcWMzcVpFczczZkNUMC9s?=
 =?utf-8?B?S1Zxa2NFZXZUQzlVSDQ1UHZCeHlYYVZOQVEvNWgrTWFUUXBMeGc4SjZzbjFi?=
 =?utf-8?B?eFIreXRuZFZPdmdEUS9sSURDMVJJRm9haDRSbXo4dUcvVFovWVdpMGZzNTNy?=
 =?utf-8?B?bjlyVVp0UG9yMEYvWC9FekIzdy9xejZ0MU41MGlNb1N2cWUrZU42dy85dUly?=
 =?utf-8?B?VmRLTWRMU1d1anY3MXAyN1l3YmsxWHhiQkFIbkRTUG56bStNWUpkUTlXSE5M?=
 =?utf-8?B?T2p3eE9GdlFJWUJMeFg5dTI5ZER1NUdQMHpQWXZNQTZKM2luWndaZXRaL0tl?=
 =?utf-8?Q?Q5xQ6TNC0sUwMajHpZuxliIXc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83ec3401-3913-4f50-284c-08da8739281e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 08:01:18.3390
 (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: nof3spKrxX135zgfl+eoCKPZaHR2/Y4jPo02MtDG8qDR1TlTjWOX+wm/cGJ85Ihh1sLp2hmXyF2azVqOPRctHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3214

On 26.08.2022 09:58, Xenia Ragiadakou wrote:
> On 8/26/22 09:21, Jan Beulich wrote:
>> On 25.08.2022 20:09, Stefano Stabellini wrote:
>>> But first, let's confirm whether this change:
>>>
>>>
>>>   #define dt_for_each_property_node(dn, pp)                   \
>>> -    for ( pp = dn->properties; pp != NULL; pp = pp->next )
>>> +    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )
>>>
>>>
>>> is sufficient to make the violation go away in Eclair or cppcheck.  I am
>>> assuming it is not sufficient, but let's confirm.
>>
>> Well, even if for the lhs of assignments there was an exception, this
>> still wouldn't be sufficient. The minimum needed is
>>
>> #define dt_for_each_property_node(dn, pp)                   \
>>      for ( pp = (dn)->properties; (pp) != NULL; pp = (pp)->next )
>>
> 
> If pp is assumed to be a valid lvalue, then why it is needed to add 
> parentheses here (pp) != NULL ?

Because in one expression is doesn't matter that in another expression
the same identifier is used as the lhs of an assignment. Whether
parentheses are needed should solely depend on the operators in use,
not any further context.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 09:09:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 09:09:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393716.632813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRVKg-00038b-Cc; Fri, 26 Aug 2022 09:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393716.632813; Fri, 26 Aug 2022 09:08:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRVKg-00038U-9j; Fri, 26 Aug 2022 09:08:54 +0000
Received: by outflank-mailman (input) for mailman id 393716;
 Fri, 26 Aug 2022 09:08:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Flvy=Y6=epam.com=prvs=02375a7fa5=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1oRVKe-00038O-Na
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 09:08:53 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1e6875d-251e-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 11:08:22 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27Q7vUbP014249;
 Fri, 26 Aug 2022 09:08:16 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2057.outbound.protection.outlook.com [104.47.13.57])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3j6d18t84y-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 26 Aug 2022 09:08:15 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AM6PR03MB4167.eurprd03.prod.outlook.com (2603:10a6:20b:c::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug
 2022 09:08:12 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::f575:76e9:4a40:7387%2]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 09:08:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1e6875d-251e-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q+lBCX+K76r1gj86Vxv9aUPG8VBISZ/RzKFvyxC3QLYduO8chi4K+qmq56zBuUdcvTOn0yEshfYQMJlT/S/hcneR/L967mJ7pyB3h3dltAF34t5C4SB8qENfo3SyQ1ky4oAsE/an+qBF4imSyhK9IHwrmOdLfbnAWOere6VB0gYTu66eaZqcUiCRseRqjZJfFXw3PrEPG2PaRP+EX4ccl3zC/qJ9Gd5nuSh9Vx/hpO3Aj+KpSvjLwZXBHH5mhPohJrDuWZPmMpuGCLqH7bxidwTW3x45rr5F1TXI8T5H4AI+S++tt30uX5pDq7YYCRIBVUI661xKCjB6YCqi1IqjRg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7+v6F7o1w8tZ0293ls0TtvsGKk5yh5v4EQ8kxpZt+3E=;
 b=TdUO1D89CxRp/Yj1K+awk1tqYFL0KciHAvr90K3Z7DGAEXfKBcKiNIOk/YgSri2CkKKWxiQWX96ENyfOZvBP/Xy4mMEWTFMnQiwQupCj12ag8nhSEzq1bWo5SqVuV3sbtH6mk7T5bDxPUtj2coCQwkYSQT0FY/kBmoRz+DE3WHwCOCVDX9fMk6dCgWZEE5mhTDikh8RoD73xb332fVc5K72eYMnLdy2xYfwxZWqulg+AKqCyflAaB0I5/+wvsrO95TlUCYVw431nVdrM9MunObxaLbLf1wMaQJvsJEluKZ8nTsa8xJ3znCZEWIW8Yd++2x/68gE0GRoICeeWXKkLXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7+v6F7o1w8tZ0293ls0TtvsGKk5yh5v4EQ8kxpZt+3E=;
 b=WbXT9htnImU64tvevHo9IQ4d0p0EEti12GwKCqP/FQkuqu4DK8/0RpDNLz9x7D7OanIcn7IhunGa9BHthViggmYJtHG4/JhKqlOU7iPSC7zWu78d1rDHDtYSwMrFenl1SzN3dOGof/ikJzt8gt92AI2Fbnj6549g0ANSVXiJlcdc+PpKgLBgZezRJzQuemP5pdAvDXWBZW/ZLzjGnYXE9OjOcYYieL6d3RnCS6IjDyqBLUMMwjvDDRhV9naJ3HACTAIeqRgFbctyTxfTXR0fGu9/Apluez+DrrLEbGqDYRnCIcwaCNTGCjOeGArDmYlYn++LylZ8IhqDpGOdD/H51w==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "stable@vger.kernel.org"
	<stable@vger.kernel.org>,
        Rustam Subkhankulov <subkhankulov@ispras.ru>
Subject: Re: [PATCH v4] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Thread-Topic: [PATCH v4] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Thread-Index: AQHYuI2vvcV5ZmaCZ02coOJc6eyXM63A5Z4A
Date: Fri, 26 Aug 2022 09:08:11 +0000
Message-ID: <5e749d5e-08d9-81c9-0f46-a06be2d752ce@epam.com>
References: <20220825141918.3581-1-jgross@suse.com>
In-Reply-To: <20220825141918.3581-1-jgross@suse.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 46d43a07-18b9-4e19-ebec-08da87428034
x-ms-traffictypediagnostic: AM6PR03MB4167:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 WGmNOb1e8MXpgZnLPHIKXD5XCv83b2nZwvbcvnjLp4v0m/w5bOxtKg63UFTXjx+AQsWtud6rIvOPjZTIXkwpA2+5SL0o+ri2dhfwmPMpgaxIdflIeS2A8O3JRQAULx4Tx1ZhJbnci7fOYrkiKcbs+YUdLlf4yeOYRhIdlS1Kmv7sdncDSfth9HPWssUO0u8qcmTzlMhaZSfId2GrNd/9GKiJmrdaIJRKcDjNtL1wQBqiU8fRgcwbEefSIbIxJAxdDs3JZiUrdOIrUB2hmW63aNu0wSl+0iG9pbQ57WIaYqq5MRBuQX138H2hL29BVLhSTJnPl3rV2yftoESUtZWJm8//gNFcFq/p3vxUXFyU6Un1dDn5KSYZvaOCWO1qR2Sbr5/8v0xK/ELqvgZycwoTg4RHKM9f4moWSweoNPONK+5O8WwYlQd/ZzPVD5Y/lL/rN3+cPjZsshPxCquY0W9Ry8RemplFvrbc5BysxYpubaY+yTabUjBSVaZAGK2FFTUVFKhdpYVrLKmaaH9dForAhVrye0BeTpwjdQy0yrBsiZ4FGPpJmHlYhRWm1ItXtZbsUQYgntkS+6HmaWdc/16e3t1R1/REk2p1/E/QblFwx/y6ToDIDw6+h89GgoTuW966MfsIPOCWlNW/zKnv7rnfeQO5DDCVY2VU+ETqNAgQABSr3M1djh+NaVivz4PQlxivsHiatCZSpMu6W9Epdb3B/dtYVT0JEJxeyKpvFopPu3BNovhA3tfXdKzYjJpzBI48C5fTYIZw29m4gVKTNOrJ2amUgmIPtbbrazePlo+gY/0=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR03MB6108.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(366004)(396003)(376002)(5660300002)(66556008)(66946007)(66446008)(31686004)(316002)(66476007)(38100700002)(110136005)(122000001)(4326008)(91956017)(8676002)(64756008)(71200400001)(76116006)(41300700001)(478600001)(54906003)(8936002)(6486002)(36756003)(26005)(2616005)(31696002)(55236004)(2906002)(6506007)(186003)(6512007)(53546011)(83380400001)(38070700005)(86362001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?dlNrbllMVzVIOXpTTUZaWlJjSkU4ZFo2RHdEcWV5eTFoazE1VWpVNTRqT2Q2?=
 =?utf-8?B?MGhwOWI4L2tZS25uaVA2NVNWc0hpOVNVUzdkYldWSnYvQXZZb1JUQkYrNFBz?=
 =?utf-8?B?anFrcldlOUU2U1NIcUpqNklWY0FLRFc4SlFKa3pPbmg3dkZJWXhUbnV0KzB0?=
 =?utf-8?B?V0tYdU1QOUVkRU51aWNBdUEyZDFlbUlwaXRBNElValhnMTRBbEUvdXJtcXFJ?=
 =?utf-8?B?MEhFeTRtVEZOekFkRk52eHBhMDA0YU4wYXFwT0RLTXVlWVFJVzYwejFtQnJI?=
 =?utf-8?B?K3JjcURGRE9GNGlXT3F1aXZPRVJVZTBMNVEwS2U2Um9teEo4ZXdLVVR5MDhS?=
 =?utf-8?B?UUM1bWpZVURtbG4ycGwvYk56Qm5NVWhjazRWdU52RDM1cFdCUnFsTUFGMkEy?=
 =?utf-8?B?MnJWd3pIV0tLN2dTUVNZZlZSNVBZR2VCZFZLT2xFN0RKVUlTUkNZYWNZWnN5?=
 =?utf-8?B?MkowWEJIY2x3YmxvWVE2RXFHcGl2Z011L0c1ZmNlSU93NC8wcFVUKzhydGlY?=
 =?utf-8?B?Rk5PVHBmMUNsd25FTTdkRjBUazE0c1d1TDBwVUFBYmVEU01hdWlaaWJEdmFt?=
 =?utf-8?B?cEpBWFM4cjFGenRYZXNLN0lPQVFQNnJiaW9nY1FSQnMxeEE0bnF4VTIybTV0?=
 =?utf-8?B?a0d5cURBZDg0VDhNQSt3M0NodHQ4SnZDVnNiKzlGU1dkdGZJaTR2blB0Y0VY?=
 =?utf-8?B?TWRtTHJFSy9QZ3AyUjd4RFFkSzZHR0dYS2xSTXRES0RuZjZKNit1aCtna1Bm?=
 =?utf-8?B?N3h6dDlEMStodFdiaU0ybVJsbFRkMFF0QWVSQkdLWjIwSUZablJlSE1tVEpu?=
 =?utf-8?B?bFVtMWVxbEVmY20xb2ZpeG04TEZ6cjRSRlVtUUZ1UTlEaEhldnZOY2hRZThz?=
 =?utf-8?B?Rkx6UFZkZHlWa0Z4d0R1bVV6dWppaUNkK2JZRGJmTmVoTTRXSGpKZVdmaEM0?=
 =?utf-8?B?RVhoSCtzSi81OHg4Qmp1bjN5TWgvQ3pFd2R4OTM2TVpuSXlCcXNmVHJlSlhG?=
 =?utf-8?B?bURrczlCeHRmcVdEeVkxaC9lVC91STk5Vkpna3FLVzZ4TnFRUVhEWFhGNVdo?=
 =?utf-8?B?Rjk0dUduSURmbmZGaEMzQXR3dW5LTnA1RjJZM0pEN01WTnVNNVVNempGNFlW?=
 =?utf-8?B?c1BHdlZUSktvRjUwN2FxMUd4RTI1VWttWjZqMlRocDJvZUJIc0NzdHlSVGtt?=
 =?utf-8?B?ZXp1cm5VOUpsUzN2TjhXM0RZRlNJaHRkL3RPWlNuTkg4TnZJdWkxOFZoc003?=
 =?utf-8?B?MUFiU0JZTWs4eUhpQkhZK0ZQUG8ybXpDK3JrSEp0TnllSThINm9oNnFwZ2ow?=
 =?utf-8?B?bnN3cnNaOVFGdDBZK2o5QzM4ZE94dTVSNkx5SVMvUVB4ZFJ3UzNURDZVR3NT?=
 =?utf-8?B?U25lRWMwTkZoRFZYYU11Q0s3MXFBMnZLVWwvZGtld3hyaU8xTkltd2hZbmgy?=
 =?utf-8?B?ME9PaGRWWTJsK1dORnVnTkVJOEUvWDcxcW9vNGIrNmw4QlhuYVV5cUJYY3M2?=
 =?utf-8?B?RHlOMXhQcWlVNmk5dDBBT3UyVkZWVVhQbWExaENaNzFLdW5seTBmY2VJcGlz?=
 =?utf-8?B?QWZFNHNRTXRDQ0tBRUNjZHFnMHlWaUVWVDZxYURqT0NsdkFqMDRWbDFxZzE1?=
 =?utf-8?B?Yi9Qa3BPZlNQSmJkcC8rcmp4VXNNaVg4bWRwZWxnMFZpWkZiNTN2eEowNXlz?=
 =?utf-8?B?THVCaGFXVHV4L0Jyd2lmQldRbWx2a1h0Vm1KY1hlNk9wNC9JK1kxb3gzc3Z0?=
 =?utf-8?B?UndqdXdrbFNhNGZQVzNpUGt3QmxjbDBGSVU4Y2RSUkFDMFF5ZVQxTGZQNVlN?=
 =?utf-8?B?UXllZGQxVDhsWERTSm9xczJoMWQ3ZE9lSnZEajBvTEhNVW9CV1NIM2hGVEg4?=
 =?utf-8?B?WXRjSXdiNVNmVTV4eHcwYThrbHVTaHB0Qi91NEw5cHhGTG1Pdk9QUjJwM2k3?=
 =?utf-8?B?MFo2SVMyQVIyb1YzR3lVR3N5RUxud3BHdGgvbm1Id1RjbnE0eG9KcHBvUDRK?=
 =?utf-8?B?YmtFbU80bTFiUHAyMXc4ZmlOQzNBb0VGb1kzMXZKSEhDeHlxYjlXMXBkT0ZC?=
 =?utf-8?B?cDNvTVozcWVXd0l3Q3BkdjVwaERtaHFSNllZa29zUmVqZWFnZFp2eDVXUWln?=
 =?utf-8?B?YTJXR0x4aXZVdG5kYy9rVUhKYTl5ZUUrTHFhcXI0K0RzdGtWaHdudXVJcm5a?=
 =?utf-8?Q?/+v6+yvqbbqDlVe+tPTq6Bo=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <34495C8E6CAF4748A67A82ED599BA9FA@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR03MB6108.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46d43a07-18b9-4e19-ebec-08da87428034
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2022 09:08:11.4733
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YKBeVOt41cUJofHr0TpryZQJ/7jQjOwhnIa7TbSHZQafVobbg1NmgOlfZyHjW95fBMeLwrDYr0hTlF09/jNCGjm6ugD2BkUCMi5aDUXL2yo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB4167
X-Proofpoint-GUID: IAEABwg7PFarVHJLh8kgXK89RxMT2wzU
X-Proofpoint-ORIG-GUID: IAEABwg7PFarVHJLh8kgXK89RxMT2wzU
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-26_04,2022-08-25_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 clxscore=1015 spamscore=0 mlxlogscore=999 phishscore=0 adultscore=0
 lowpriorityscore=0 mlxscore=0 suspectscore=0 bulkscore=0 malwarescore=0
 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2207270000 definitions=main-2208260035

DQpPbiAyNS4wOC4yMiAxNzoxOSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCg0KSGVsbG8gSnVlcmdl
bg0KDQo+IFRoZSBlcnJvciBleGl0IG9mIHByaXZjbWRfaW9jdGxfZG1fb3AoKSBpcyBjYWxsaW5n
IHVubG9ja19wYWdlcygpDQo+IHBvdGVudGlhbGx5IHdpdGggcGFnZXMgYmVpbmcgTlVMTCwgbGVh
ZGluZyB0byBhIE5VTEwgZGVyZWZlcmVuY2UuDQo+DQo+IEFkZGl0aW9uYWxseSBsb2NrX3BhZ2Vz
KCkgZG9lc24ndCBjaGVjayBmb3IgcGluX3VzZXJfcGFnZXNfZmFzdCgpDQo+IGhhdmluZyBiZWVu
IGNvbXBsZXRlbHkgc3VjY2Vzc2Z1bCwgcmVzdWx0aW5nIGluIHBvdGVudGlhbGx5IG5vdA0KPiBs
b2NraW5nIGFsbCBwYWdlcyBpbnRvIG1lbW9yeS4gVGhpcyBjb3VsZCByZXN1bHQgaW4gc3BvcmFk
aWMgZmFpbHVyZXMNCj4gd2hlbiB1c2luZyB0aGUgcmVsYXRlZCBtZW1vcnkgaW4gdXNlciBtb2Rl
Lg0KPg0KPiBGaXggYWxsIG9mIHRoYXQgYnkgY2FsbGluZyB1bmxvY2tfcGFnZXMoKSBhbHdheXMg
d2l0aCB0aGUgcmVhbCBudW1iZXINCj4gb2YgcGlubmVkIHBhZ2VzLCB3aGljaCB3aWxsIGJlIHpl
cm8gaW4gY2FzZSBwYWdlcyBiZWluZyBOVUxMLCBhbmQgYnkNCj4gY2hlY2tpbmcgdGhlIG51bWJl
ciBvZiBwYWdlcyBwaW5uZWQgYnkgcGluX3VzZXJfcGFnZXNfZmFzdCgpIG1hdGNoaW5nDQo+IHRo
ZSBleHBlY3RlZCBudW1iZXIgb2YgcGFnZXMuDQo+DQo+IENjOiA8c3RhYmxlQHZnZXIua2VybmVs
Lm9yZz4NCj4gRml4ZXM6IGFiNTIwYmU4Y2Q1ZCAoInhlbi9wcml2Y21kOiBBZGQgSU9DVExfUFJJ
VkNNRF9ETV9PUCIpDQo+IFJlcG9ydGVkLWJ5OiBSdXN0YW0gU3Via2hhbmt1bG92IDxzdWJraGFu
a3Vsb3ZAaXNwcmFzLnJ1Pg0KPiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NA
c3VzZS5jb20+DQoNCg0KSSBoYXZlbid0IHNwb3R0ZWQgYW55IGlzc3VlczoNCg0KUmV2aWV3ZWQt
Ynk6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4N
Cg0KDQo+IC0tLQ0KPiBWMjoNCj4gLSB1c2UgInBpbm5lZCIgYXMgcGFyYW1ldGVyIGZvciB1bmxv
Y2tfcGFnZXMoKSAoSmFuIEJldWxpY2gpDQo+IC0gZHJvcCBsYWJlbCAidW5sb2NrIiBhZ2FpbiAo
SmFuIEJldWxpY2gpDQo+IC0gYWRkIGNoZWNrIGZvciBjb21wbGV0ZSBzdWNjZXNzIG9mIHBpbl91
c2VyX3BhZ2VzX2Zhc3QoKQ0KPiBWMzoNCj4gLSBjb250aW51ZSBhZnRlciBwYXJ0aWFsIHN1Y2Nl
c3Mgb2YgcGluX3VzZXJfcGFnZXNfZmFzdCgpIChKYW4gQmV1bGljaCkNCj4gVjQ6DQo+IC0gZml4
IGNhc2Ugb2YgbXVsdGlwbGUgcGFydGlhbCBzdWNjZXNzZXMgZm9yIG9uZSBidWZmZXIgKEphbiBC
ZXVsaWNoKQ0KPiAtLS0NCj4gICBkcml2ZXJzL3hlbi9wcml2Y21kLmMgfCAyMSArKysrKysrKysr
Ky0tLS0tLS0tLS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTAgZGVs
ZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wcml2Y21kLmMgYi9kcml2
ZXJzL3hlbi9wcml2Y21kLmMNCj4gaW5kZXggMzM2OTczNDEwOGFmLi5lODhlOGY2ZjBhMzMgMTAw
NjQ0DQo+IC0tLSBhL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPiArKysgYi9kcml2ZXJzL3hlbi9w
cml2Y21kLmMNCj4gQEAgLTU4MSwyNyArNTgxLDMwIEBAIHN0YXRpYyBpbnQgbG9ja19wYWdlcygN
Cj4gICAJc3RydWN0IHByaXZjbWRfZG1fb3BfYnVmIGtidWZzW10sIHVuc2lnbmVkIGludCBudW0s
DQo+ICAgCXN0cnVjdCBwYWdlICpwYWdlc1tdLCB1bnNpZ25lZCBpbnQgbnJfcGFnZXMsIHVuc2ln
bmVkIGludCAqcGlubmVkKQ0KPiAgIHsNCj4gLQl1bnNpZ25lZCBpbnQgaTsNCj4gKwl1bnNpZ25l
ZCBpbnQgaSwgb2ZmID0gMDsNCj4gICANCj4gLQlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsN
Cj4gKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyApIHsNCj4gICAJCXVuc2lnbmVkIGludCByZXF1ZXN0
ZWQ7DQo+ICAgCQlpbnQgcGFnZV9jb3VudDsNCj4gICANCj4gICAJCXJlcXVlc3RlZCA9IERJVl9S
T1VORF9VUCgNCj4gICAJCQlvZmZzZXRfaW5fcGFnZShrYnVmc1tpXS51cHRyKSArIGtidWZzW2ld
LnNpemUsDQo+IC0JCQlQQUdFX1NJWkUpOw0KPiArCQkJUEFHRV9TSVpFKSAtIG9mZjsNCj4gICAJ
CWlmIChyZXF1ZXN0ZWQgPiBucl9wYWdlcykNCj4gICAJCQlyZXR1cm4gLUVOT1NQQzsNCj4gICAN
Cj4gICAJCXBhZ2VfY291bnQgPSBwaW5fdXNlcl9wYWdlc19mYXN0KA0KPiAtCQkJKHVuc2lnbmVk
IGxvbmcpIGtidWZzW2ldLnVwdHIsDQo+ICsJCQkodW5zaWduZWQgbG9uZylrYnVmc1tpXS51cHRy
ICsgb2ZmICogUEFHRV9TSVpFLA0KPiAgIAkJCXJlcXVlc3RlZCwgRk9MTF9XUklURSwgcGFnZXMp
Ow0KPiAtCQlpZiAocGFnZV9jb3VudCA8IDApDQo+IC0JCQlyZXR1cm4gcGFnZV9jb3VudDsNCj4g
KwkJaWYgKHBhZ2VfY291bnQgPD0gMCkNCj4gKwkJCXJldHVybiBwYWdlX2NvdW50ID8gOiAtRUZB
VUxUOw0KDQoNCltub3QgcmVsYXRlZCB0byB0aGUgY3VycmVudCBwYXRjaF0NCg0KSSBqdXN0IHdv
bmRlciwgd2hldGhlciBkcml2ZXJzL3hlbi9nbnRkZXYuYzpnbnRkZXZfZ2V0X3BhZ2UoKSByZWFs
bHkgDQp3YW50cyB0byBnYWluIHRoZSBzYW1lIGNoZWNrPw0KDQppbmRleCA1OWZmZWE4MDAwNzku
LjQ1ZTE2MDMxMjA0ZCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMveGVuL2dudGRldi5jDQorKysgYi9k
cml2ZXJzL3hlbi9nbnRkZXYuYw0KQEAgLTc0MCw4ICs3NDAsOCBAQCBzdGF0aWMgaW50IGdudGRl
dl9nZXRfcGFnZShzdHJ1Y3QgZ250ZGV2X2NvcHlfYmF0Y2ggDQoqYmF0Y2gsIHZvaWQgX191c2Vy
ICp2aXJ0LA0KIMKgwqDCoMKgwqDCoMKgIGludCByZXQ7DQoNCiDCoMKgwqDCoMKgwqDCoCByZXQg
PSBwaW5fdXNlcl9wYWdlc19mYXN0KGFkZHIsIDEsIGJhdGNoLT53cml0ZWFibGUgPyANCkZPTExf
V1JJVEUgOiAwLCAmcGFnZSk7DQotwqDCoMKgwqDCoMKgIGlmIChyZXQgPCAwKQ0KLcKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCivCoMKgwqDCoMKgwqAgaWYgKHJldCA8
PSAwKQ0KK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldCA/IDogLUVGQVVM
VDsNCg0KIMKgwqDCoMKgwqDCoMKgIGJhdGNoLT5wYWdlc1tiYXRjaC0+bnJfcGFnZXMrK10gPSBw
YWdlOw0KDQoNCg0KPiAgIA0KPiAgIAkJKnBpbm5lZCArPSBwYWdlX2NvdW50Ow0KPiAgIAkJbnJf
cGFnZXMgLT0gcGFnZV9jb3VudDsNCj4gICAJCXBhZ2VzICs9IHBhZ2VfY291bnQ7DQo+ICsNCj4g
KwkJb2ZmID0gKHJlcXVlc3RlZCA9PSBwYWdlX2NvdW50KSA/IDAgOiBvZmYgKyBwYWdlX2NvdW50
Ow0KPiArCQlpICs9ICFvZmY7DQo+ICAgCX0NCj4gICANCj4gICAJcmV0dXJuIDA7DQo+IEBAIC02
NzcsMTAgKzY4MCw4IEBAIHN0YXRpYyBsb25nIHByaXZjbWRfaW9jdGxfZG1fb3Aoc3RydWN0IGZp
bGUgKmZpbGUsIHZvaWQgX191c2VyICp1ZGF0YSkNCj4gICAJfQ0KPiAgIA0KPiAgIAlyYyA9IGxv
Y2tfcGFnZXMoa2J1ZnMsIGtkYXRhLm51bSwgcGFnZXMsIG5yX3BhZ2VzLCAmcGlubmVkKTsNCj4g
LQlpZiAocmMgPCAwKSB7DQo+IC0JCW5yX3BhZ2VzID0gcGlubmVkOw0KPiArCWlmIChyYyA8IDAp
DQo+ICAgCQlnb3RvIG91dDsNCj4gLQl9DQo+ICAgDQo+ICAgCWZvciAoaSA9IDA7IGkgPCBrZGF0
YS5udW07IGkrKykgew0KPiAgIAkJc2V0X3hlbl9ndWVzdF9oYW5kbGUoeGJ1ZnNbaV0uaCwga2J1
ZnNbaV0udXB0cik7DQo+IEBAIC02OTIsNyArNjkzLDcgQEAgc3RhdGljIGxvbmcgcHJpdmNtZF9p
b2N0bF9kbV9vcChzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCBfX3VzZXIgKnVkYXRhKQ0KPiAgIAl4
ZW5fcHJlZW1wdGlibGVfaGNhbGxfZW5kKCk7DQo+ICAgDQo+ICAgb3V0Og0KPiAtCXVubG9ja19w
YWdlcyhwYWdlcywgbnJfcGFnZXMpOw0KPiArCXVubG9ja19wYWdlcyhwYWdlcywgcGlubmVkKTsN
Cj4gICAJa2ZyZWUoeGJ1ZnMpOw0KPiAgIAlrZnJlZShwYWdlcyk7DQo+ICAgCWtmcmVlKGtidWZz
KTsNCg0KLS0gDQpSZWdhcmRzLA0KDQpPbGVrc2FuZHIgVHlzaGNoZW5rbw0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 09:29:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 09:29:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393724.632829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRVeH-0005Yk-30; Fri, 26 Aug 2022 09:29:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393724.632829; Fri, 26 Aug 2022 09:29:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRVeG-0005Yd-Vt; Fri, 26 Aug 2022 09:29:08 +0000
Received: by outflank-mailman (input) for mailman id 393724;
 Fri, 26 Aug 2022 09:29:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Jb55=Y6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRVeF-0005YX-Sf
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 09:29:07 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 780a778b-2521-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 11:28:39 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 30ED21F899;
 Fri, 26 Aug 2022 09:29:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D45DA13421;
 Fri, 26 Aug 2022 09:29:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id pIayMGGSCGMZQQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 26 Aug 2022 09:29:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 780a778b-2521-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661506146; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=FfcCFtkfDcYPIDq2ZP7yv9qy/D1i2BMmbbUfbOxhjCA=;
	b=JmLvkBsUASdHRrnDtIkr0CfZfwONubrN2KcXaFtugqIcqdIRqrn7bdi3FTvkyTHEoZCmpd
	BTzCdCmk+SAhkl48KjbOYUW585jrj1sby3lQhc5m2g97/ZlZfGkuCqjDCDQd02uSEvqzQa
	HOuBRc9eRE4pDw6bmvf7Xxp88N3ZLm8=
Message-ID: <df018a26-d81b-7785-6deb-1721cf7f4530@suse.com>
Date: Fri, 26 Aug 2022 11:29:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Subject: Re: [PATCH v4] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
Content-Language: en-US
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "stable@vger.kernel.org" <stable@vger.kernel.org>,
 Rustam Subkhankulov <subkhankulov@ispras.ru>
References: <20220825141918.3581-1-jgross@suse.com>
 <5e749d5e-08d9-81c9-0f46-a06be2d752ce@epam.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <5e749d5e-08d9-81c9-0f46-a06be2d752ce@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3ZehxU7Kxog0RUTYx1upyhdH"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3ZehxU7Kxog0RUTYx1upyhdH
Content-Type: multipart/mixed; boundary="------------LXd8SIJhQ6wEjyb0DFez00ic";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "stable@vger.kernel.org" <stable@vger.kernel.org>,
 Rustam Subkhankulov <subkhankulov@ispras.ru>
Message-ID: <df018a26-d81b-7785-6deb-1721cf7f4530@suse.com>
Subject: Re: [PATCH v4] xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
References: <20220825141918.3581-1-jgross@suse.com>
 <5e749d5e-08d9-81c9-0f46-a06be2d752ce@epam.com>
In-Reply-To: <5e749d5e-08d9-81c9-0f46-a06be2d752ce@epam.com>

--------------LXd8SIJhQ6wEjyb0DFez00ic
Content-Type: multipart/mixed; boundary="------------0g0dy3cM1Rn8cvW5XvCx2EFw"

--------------0g0dy3cM1Rn8cvW5XvCx2EFw
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjYuMDguMjIgMTE6MDgsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdyb3RlOg0KPiANCj4g
T24gMjUuMDguMjIgMTc6MTksIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IA0KPiBIZWxsbyBK
dWVyZ2VuDQo+IA0KPj4gVGhlIGVycm9yIGV4aXQgb2YgcHJpdmNtZF9pb2N0bF9kbV9vcCgp
IGlzIGNhbGxpbmcgdW5sb2NrX3BhZ2VzKCkNCj4+IHBvdGVudGlhbGx5IHdpdGggcGFnZXMg
YmVpbmcgTlVMTCwgbGVhZGluZyB0byBhIE5VTEwgZGVyZWZlcmVuY2UuDQo+Pg0KPj4gQWRk
aXRpb25hbGx5IGxvY2tfcGFnZXMoKSBkb2Vzbid0IGNoZWNrIGZvciBwaW5fdXNlcl9wYWdl
c19mYXN0KCkNCj4+IGhhdmluZyBiZWVuIGNvbXBsZXRlbHkgc3VjY2Vzc2Z1bCwgcmVzdWx0
aW5nIGluIHBvdGVudGlhbGx5IG5vdA0KPj4gbG9ja2luZyBhbGwgcGFnZXMgaW50byBtZW1v
cnkuIFRoaXMgY291bGQgcmVzdWx0IGluIHNwb3JhZGljIGZhaWx1cmVzDQo+PiB3aGVuIHVz
aW5nIHRoZSByZWxhdGVkIG1lbW9yeSBpbiB1c2VyIG1vZGUuDQo+Pg0KPj4gRml4IGFsbCBv
ZiB0aGF0IGJ5IGNhbGxpbmcgdW5sb2NrX3BhZ2VzKCkgYWx3YXlzIHdpdGggdGhlIHJlYWwg
bnVtYmVyDQo+PiBvZiBwaW5uZWQgcGFnZXMsIHdoaWNoIHdpbGwgYmUgemVybyBpbiBjYXNl
IHBhZ2VzIGJlaW5nIE5VTEwsIGFuZCBieQ0KPj4gY2hlY2tpbmcgdGhlIG51bWJlciBvZiBw
YWdlcyBwaW5uZWQgYnkgcGluX3VzZXJfcGFnZXNfZmFzdCgpIG1hdGNoaW5nDQo+PiB0aGUg
ZXhwZWN0ZWQgbnVtYmVyIG9mIHBhZ2VzLg0KPj4NCj4+IENjOiA8c3RhYmxlQHZnZXIua2Vy
bmVsLm9yZz4NCj4+IEZpeGVzOiBhYjUyMGJlOGNkNWQgKCJ4ZW4vcHJpdmNtZDogQWRkIElP
Q1RMX1BSSVZDTURfRE1fT1AiKQ0KPj4gUmVwb3J0ZWQtYnk6IFJ1c3RhbSBTdWJraGFua3Vs
b3YgPHN1YmtoYW5rdWxvdkBpc3ByYXMucnU+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiANCj4gSSBoYXZlbid0IHNwb3R0ZWQg
YW55IGlzc3VlczoNCj4gDQo+IFJldmlld2VkLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8
b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQo+IA0KPiANCj4+IC0tLQ0KPj4gVjI6
DQo+PiAtIHVzZSAicGlubmVkIiBhcyBwYXJhbWV0ZXIgZm9yIHVubG9ja19wYWdlcygpIChK
YW4gQmV1bGljaCkNCj4+IC0gZHJvcCBsYWJlbCAidW5sb2NrIiBhZ2FpbiAoSmFuIEJldWxp
Y2gpDQo+PiAtIGFkZCBjaGVjayBmb3IgY29tcGxldGUgc3VjY2VzcyBvZiBwaW5fdXNlcl9w
YWdlc19mYXN0KCkNCj4+IFYzOg0KPj4gLSBjb250aW51ZSBhZnRlciBwYXJ0aWFsIHN1Y2Nl
c3Mgb2YgcGluX3VzZXJfcGFnZXNfZmFzdCgpIChKYW4gQmV1bGljaCkNCj4+IFY0Og0KPj4g
LSBmaXggY2FzZSBvZiBtdWx0aXBsZSBwYXJ0aWFsIHN1Y2Nlc3NlcyBmb3Igb25lIGJ1ZmZl
ciAoSmFuIEJldWxpY2gpDQo+PiAtLS0NCj4+ICAgIGRyaXZlcnMveGVuL3ByaXZjbWQuYyB8
IDIxICsrKysrKysrKysrLS0tLS0tLS0tLQ0KPj4gICAgMSBmaWxlIGNoYW5nZWQsIDExIGlu
c2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2
ZXJzL3hlbi9wcml2Y21kLmMgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+IGluZGV4IDMz
Njk3MzQxMDhhZi4uZTg4ZThmNmYwYTMzIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy94ZW4v
cHJpdmNtZC5jDQo+PiArKysgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+IEBAIC01ODEs
MjcgKzU4MSwzMCBAQCBzdGF0aWMgaW50IGxvY2tfcGFnZXMoDQo+PiAgICAJc3RydWN0IHBy
aXZjbWRfZG1fb3BfYnVmIGtidWZzW10sIHVuc2lnbmVkIGludCBudW0sDQo+PiAgICAJc3Ry
dWN0IHBhZ2UgKnBhZ2VzW10sIHVuc2lnbmVkIGludCBucl9wYWdlcywgdW5zaWduZWQgaW50
ICpwaW5uZWQpDQo+PiAgICB7DQo+PiAtCXVuc2lnbmVkIGludCBpOw0KPj4gKwl1bnNpZ25l
ZCBpbnQgaSwgb2ZmID0gMDsNCj4+ICAgIA0KPj4gLQlmb3IgKGkgPSAwOyBpIDwgbnVtOyBp
KyspIHsNCj4+ICsJZm9yIChpID0gMDsgaSA8IG51bTsgKSB7DQo+PiAgICAJCXVuc2lnbmVk
IGludCByZXF1ZXN0ZWQ7DQo+PiAgICAJCWludCBwYWdlX2NvdW50Ow0KPj4gICAgDQo+PiAg
ICAJCXJlcXVlc3RlZCA9IERJVl9ST1VORF9VUCgNCj4+ICAgIAkJCW9mZnNldF9pbl9wYWdl
KGtidWZzW2ldLnVwdHIpICsga2J1ZnNbaV0uc2l6ZSwNCj4+IC0JCQlQQUdFX1NJWkUpOw0K
Pj4gKwkJCVBBR0VfU0laRSkgLSBvZmY7DQo+PiAgICAJCWlmIChyZXF1ZXN0ZWQgPiBucl9w
YWdlcykNCj4+ICAgIAkJCXJldHVybiAtRU5PU1BDOw0KPj4gICAgDQo+PiAgICAJCXBhZ2Vf
Y291bnQgPSBwaW5fdXNlcl9wYWdlc19mYXN0KA0KPj4gLQkJCSh1bnNpZ25lZCBsb25nKSBr
YnVmc1tpXS51cHRyLA0KPj4gKwkJCSh1bnNpZ25lZCBsb25nKWtidWZzW2ldLnVwdHIgKyBv
ZmYgKiBQQUdFX1NJWkUsDQo+PiAgICAJCQlyZXF1ZXN0ZWQsIEZPTExfV1JJVEUsIHBhZ2Vz
KTsNCj4+IC0JCWlmIChwYWdlX2NvdW50IDwgMCkNCj4+IC0JCQlyZXR1cm4gcGFnZV9jb3Vu
dDsNCj4+ICsJCWlmIChwYWdlX2NvdW50IDw9IDApDQo+PiArCQkJcmV0dXJuIHBhZ2VfY291
bnQgPyA6IC1FRkFVTFQ7DQo+IA0KPiANCj4gW25vdCByZWxhdGVkIHRvIHRoZSBjdXJyZW50
IHBhdGNoXQ0KPiANCj4gSSBqdXN0IHdvbmRlciwgd2hldGhlciBkcml2ZXJzL3hlbi9nbnRk
ZXYuYzpnbnRkZXZfZ2V0X3BhZ2UoKSByZWFsbHkNCj4gd2FudHMgdG8gZ2FpbiB0aGUgc2Ft
ZSBjaGVjaz8NCj4gDQo+IGluZGV4IDU5ZmZlYTgwMDA3OS4uNDVlMTYwMzEyMDRkIDEwMDY0
NA0KPiAtLS0gYS9kcml2ZXJzL3hlbi9nbnRkZXYuYw0KPiArKysgYi9kcml2ZXJzL3hlbi9n
bnRkZXYuYw0KPiBAQCAtNzQwLDggKzc0MCw4IEBAIHN0YXRpYyBpbnQgZ250ZGV2X2dldF9w
YWdlKHN0cnVjdCBnbnRkZXZfY29weV9iYXRjaA0KPiAqYmF0Y2gsIHZvaWQgX191c2VyICp2
aXJ0LA0KPiAgIMKgwqDCoMKgwqDCoMKgIGludCByZXQ7DQo+IA0KPiAgIMKgwqDCoMKgwqDC
oMKgIHJldCA9IHBpbl91c2VyX3BhZ2VzX2Zhc3QoYWRkciwgMSwgYmF0Y2gtPndyaXRlYWJs
ZSA/DQo+IEZPTExfV1JJVEUgOiAwLCAmcGFnZSk7DQo+IC3CoMKgwqDCoMKgwqAgaWYgKHJl
dCA8IDApDQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+
ICvCoMKgwqDCoMKgwqAgaWYgKHJldCA8PSAwKQ0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCByZXR1cm4gcmV0ID8gOiAtRUZBVUxUOw0KPiANCj4gICDCoMKgwqDCoMKgwqDC
oCBiYXRjaC0+cGFnZXNbYmF0Y2gtPm5yX3BhZ2VzKytdID0gcGFnZTsNCg0KSSBkb24ndCB0
aGluayB0aGlzIGlzIG5lZWRlZCBoZXJlLCBhcyBwaW5fdXNlcl9wYWdlc19mYXN0KCkgY2Fu
J3QNCnJldHVybiAwIHdoZW4gY2FsbGVkIGZvciBhIHNpbmdsZSBwYWdlLg0KDQoNCkp1ZXJn
ZW4NCg==
--------------0g0dy3cM1Rn8cvW5XvCx2EFw
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0g0dy3cM1Rn8cvW5XvCx2EFw--

--------------LXd8SIJhQ6wEjyb0DFez00ic--

--------------3ZehxU7Kxog0RUTYx1upyhdH
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMIkmEFAwAAAAAACgkQsN6d1ii/Ey9F
vQgAgpiT4qJaY9fkhEvt04XcDlwwR0APCP+KFd7oXoHTRCu1mer7oiWcnpNHKbtDeSFouaMaulBC
3hfNAxj0QSmXK9CEeI5PgfjqPW8QkZlNXaHOKPJr6Lvzmb9Gilvs3k6XcdQYS6VSYfuOACpn6NlZ
Yp3x8dIM6yPBT/ERzM86tzxAD3lxPx7BGoK/8xo8hAMpjrA8gPpINxfuc7ofWpIMy96FSwmm41SB
99eFVhF04M7WPk620po00+G8oXhT8ozPXumNTQvD028btNVMkssiy9ciTwZy+nZ92V/Q+EvSAA5g
+9kMSeHC4ORVjhGphn4U+Q/cEuA7VDBFMzSxf1Re+w==
=weEA
-----END PGP SIGNATURE-----

--------------3ZehxU7Kxog0RUTYx1upyhdH--


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 10:18:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 10:18:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393732.632841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRWPr-0002Fy-P6; Fri, 26 Aug 2022 10:18:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393732.632841; Fri, 26 Aug 2022 10:18:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRWPr-0002Fr-La; Fri, 26 Aug 2022 10:18:19 +0000
Received: by outflank-mailman (input) for mailman id 393732;
 Fri, 26 Aug 2022 10:18:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRWPq-0002Fd-4F; Fri, 26 Aug 2022 10:18:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRWPq-0005rq-2R; Fri, 26 Aug 2022 10:18:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRWPp-0001GU-NV; Fri, 26 Aug 2022 10:18:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRWPp-0002Zy-N3; Fri, 26 Aug 2022 10:18:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1NpohQoCfB+zePHont3ng9L8gqmEnWduvKjpBUn5x2o=; b=S3x72tfc9grTzrCO3xB/HyHEQv
	5K8ElmspBHKJ67+Kt2HIcmH2bxr6eVakkncJnX3iN4O9Oy0xbyKZdyscjzUF8AFqZxlKp58jdY+C4
	gLnOceatbeNNjS481p+ykzWnKcJSkbntN0eXjfv9UM9gE/MLGIhTUDqD/uMsAv6sl8BA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172788-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172788: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 10:18:17 +0000

flight 172788 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172788/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   22 days
Failing since        172151  2022-08-05 02:40:28 Z   21 days  173 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 11:46:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 11:46:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393744.632860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRXn8-0002d2-9b; Fri, 26 Aug 2022 11:46:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393744.632860; Fri, 26 Aug 2022 11:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRXn8-0002cv-6q; Fri, 26 Aug 2022 11:46:26 +0000
Received: by outflank-mailman (input) for mailman id 393744;
 Fri, 26 Aug 2022 11:46:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=f/ol=Y6=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oRXn6-0002cn-3B
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 11:46:24 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1b825e4-2534-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 13:46:21 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 0DF4A32009BA;
 Fri, 26 Aug 2022 07:46:14 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Fri, 26 Aug 2022 07:46:15 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Aug 2022 07:46:13 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1b825e4-2534-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661514374; x=
	1661600774; bh=yhS27Ab1W8mIUyTQLj+wS32fp2GXOTqJpSeJR/gvLbo=; b=n
	Ny1m2vKz6pgUQMS+9WOx7sU/zTVqO2NzW4BxKjT2vwltSdWaID5mePKsuFj63x5g
	AcNjRySxglkeGVcG+gHOnfjb8MR5e45QDpRNXsjh3cldKbNzee9Qz810LWfzRUtO
	wn9U0o/u5YRnDDMSdbElcApWCxkTO1juKaVxSBc1NhpfiTLR/PZkJ3LYOopHtLHG
	JMbIK2gqaYUw6iTZvjf1w7IWpPJsb9ZS+jdkM1ZxAt1+Z+hmNLN6Q/ybrURbZj8q
	Fa2LHIVbDBAzXO43X3IxxqYoc68ztFuXPxnc+AnB4hFclnppS0/vcfvLoYpS892T
	tEX4OCveMRKD3vOzdli6A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661514374; x=1661600774; bh=yhS27Ab1W8mIUyTQLj+wS32fp2GX
	OTqJpSeJR/gvLbo=; b=Wdp0DpT2ER+eitMUds5Yo2xqzIxI3Um+czjLVCtVKqcA
	i3KHliQf8DsYN3UsDVoxNjQFbaGDPZS+Qqy73A8AcFG8TZ3UkyUME6EeOje51Jw5
	3HLdZE2iHefyK9cIvkIIkk/seo+5LIPpHZnOud7sOOMSKi4xk7r2qKXwGdxBV1xe
	RsboDJxujoTo3+1UY92Bv2X7l5kIwrbqWkLpTTdxLECWFszpSKVfGNJ85Ie99YQi
	VCHBxCp3z42gwnLyPifmD5/rspZr8bBWnJR65+tu33cBfL7sQlBkW6L360gnW+3y
	Cs6k/Lxif5a/pvVzZkn2xSKnHHCon5KMHqk6bsZosQ==
X-ME-Sender: <xms:hrIIYzNdMaqNpK5WVz6RIko7NDp-hhfVijorDxcERZeDz35eD5jAWA>
    <xme:hrIIY9-cuj1PyiZk_Wk9rb0b5gDPZkkQ_0nL9Ta5yPmjxvUQDyUXebeheJWwgQqSE
    yY694zwECxSfw>
X-ME-Received: <xmr:hrIIYyR9Wegr8iRw-2Cl75zEDO5wcB3Ri7ReBmjVjLOtk6jYV5-3K2pD_pcgIDkQM5PMXA-83O8veLvMwtFOsIxxra91HxPVBTto>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejhedggeefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:hrIIY3sMnC6ZmJgMa_AHKBTgaVup9by6B1bHAGqHL-5KqRvWrAI1IA>
    <xmx:hrIIY7eWT3Mm9hudY0FAIXwroc5h4tzEgYEltA0mdAYhEe8gEnx64Q>
    <xmx:hrIIYz0y5r3v1p4pxFmvKPUYpBSZHdCrJz3Jakkx4ypl3o8C7NfXSQ>
    <xmx:hrIIYy6jsEaS5m3bW8K1uyavrtN8Rm5rbFGArxQkknLwuVOGhIy-qg>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 26 Aug 2022 13:46:09 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option
Message-ID: <YwiygukKUUqiAke9@mail-itl>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <edff5ba0d286a41b94a6b4bb332b63228f7faebe.1661181584.git-series.marmarek@invisiblethingslab.com>
 <b323ebc3-68fc-f6e1-b9ac-d508855a605b@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Li+cuNswEYNZshdT"
Content-Disposition: inline
In-Reply-To: <b323ebc3-68fc-f6e1-b9ac-d508855a605b@suse.com>


--Li+cuNswEYNZshdT
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 26 Aug 2022 13:46:09 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option

On Thu, Aug 25, 2022 at 05:44:54PM +0200, Jan Beulich wrote:
> On 22.08.2022 17:27, Marek Marczykowski-G=C3=B3recki wrote:
> > This allows configuring EHCI and XHCI consoles separately,
> > simultaneously.
> >=20
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
>=20
> But was I maybe confused, and much less of a change would suffice? After
> all ...
>=20
> > --- a/xen/drivers/char/xhci-dbc.c
> > +++ b/xen/drivers/char/xhci-dbc.c
> > @@ -1058,9 +1058,9 @@ static struct xhci_dbc_ctx ctx __aligned(16);
> >  static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
> >  static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> > =20
> > -static char __initdata opt_dbgp[30];
> > +static char __initdata opt_dbc[30];
> > =20
> > -string_param("dbgp", opt_dbgp);
> > +string_param("dbc", opt_dbc);
> > =20
> >  void __init xhci_dbc_uart_init(void)
> >  {
> > @@ -1068,25 +1068,25 @@ void __init xhci_dbc_uart_init(void)
> >      struct dbc *dbc =3D &uart->dbc;
> >      const char *e;
> > =20
> > -    if ( strncmp(opt_dbgp, "xhci", 4) )
> > +    if ( strncmp(opt_dbc, "xhci", 4) )
> >          return;
>=20
> ... this already avoids mixing up who's going to parse what. So right
> now I think that ...
>=20
> > @@ -1102,7 +1102,7 @@ void __init xhci_dbc_uart_init(void)
> >      dbc->dbc_str =3D str_buf;
> > =20
> >      if ( dbc_open(dbc) )
> > -        serial_register_uart(SERHND_DBGP, &dbc_uart_driver, &dbc_uart);
> > +        serial_register_uart(SERHND_DBC, &dbc_uart_driver, &dbc_uart);
> >  }
>=20
> ... this and other SERHND_* related changes are enough, and there's no
> need for a separate "dbc=3D" option.

But then you wouldn't be able to configure "dbgp=3Dehci dbgp=3Dxhci" as
one would override the other, no?

>=20
> > --- a/xen/include/xen/serial.h
> > +++ b/xen/include/xen/serial.h
> > @@ -95,6 +95,7 @@ struct uart_driver {
> >  # define SERHND_COM1    (0<<0)
> >  # define SERHND_COM2    (1<<0)
> >  # define SERHND_DBGP    (2<<0)
> > +# define SERHND_DBC     (3<<0)
>=20
> Please also update the comment just out of context.
>=20
> Jan

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--Li+cuNswEYNZshdT
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmMIsoIACgkQ24/THMrX
1yzW+AgAhFh2Zfp7PGtgXSy9OUqvvWr3e2+HvaUqGY867L+BYFq14TxSKaGX2Qcr
OTJZ1d8X1CcMpyfAjAyA1hD2GT568lXM9oh5EdHEOriczLPrKsVfSIK/K3zj8j1s
X9DGYC92lAQ1dRW9HQDnNZXY9QJGcUCu5GKvb2xjnPqfbD6XwW1Zy4AS7dIEsRXk
ey5oCEmhH5OGah6RNxB8IMFRSIrZ1sBOtipZXlgtDtnGSwNOgDfK9pCjHOna1MFP
aad2p6m+enIutyrfdNJhOEaBDQ2lnr1rPqRhQjleqxEBkrRaFc7hkZJVh8vj/hSr
u1PCLSKjGCF3WTXGtxl2+BXFv09dWg==
=qJoS
-----END PGP SIGNATURE-----

--Li+cuNswEYNZshdT--


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393754.632894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYo9-0001dx-Mn; Fri, 26 Aug 2022 12:51:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393754.632894; Fri, 26 Aug 2022 12:51:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYo9-0001dm-Jz; Fri, 26 Aug 2022 12:51:33 +0000
Received: by outflank-mailman (input) for mailman id 393754;
 Fri, 26 Aug 2022 12:51:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYo8-00013M-1N
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:32 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cecce6e8-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:31 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id y3so3005428ejc.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:31 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cecce6e8-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=9CmOaXef3+3nQfZH6p8WWc7HRYLw9F9JZ6/dhzECsOk=;
        b=KFuWujFYJ5dgTKPPCnzmD+VtTxeGNekYvjc0hraXCXgwwHPGOR0lPxIZ/bKLjBSqnz
         YlY6tluzv9kLzG+R5MO1ztwcPjiRsQ0oXTKPAv9TBIrRLOBSExgS8Ne8oBoSWRHuRuuR
         tZCrdZQpmd/U8mgZsUCI/9OgbLVDHJPxDu/YKyf12YKy3hgkqAw/7WNXcVaAYuMMDde1
         qBflC8Tk4J1+nRVd6kiWTVH3BRP2kFdYKJLOZXr+HrwSLdKhhw0BhFE4t4zhxlY4GUVi
         snpo5KGQOu3m3Qa6U+e2sXcc5f6IeHifAKlZLQbaxtM2/qOSGOOHEbYsY+F61O7CnvTv
         7Hsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=9CmOaXef3+3nQfZH6p8WWc7HRYLw9F9JZ6/dhzECsOk=;
        b=wJEJbAtCS4r5Oj07y/0xsLpWX2Hwz2PB5fRWpDYW2qYs+fcLtv0jaW65jYwk6U4ZS5
         xptiCDYMBe7+2MXUuO48DE3jn0NOF3Mfu85tZLcX+lMYZWiRFbx1DSzu8LJTe/i0hA8I
         We1ZXp0GqeZfoJ2dPlXxSQ0tiN8cAlV9CgSb7yWX+g3ISONOlSfbQra7fwEo6AdkykZY
         Qr6Oxd6a4Ttohn6/cjR79dhK8rtAPNMs5smXyovDo3O1S7eQB1+vgtEjD0E+mmO6xqY9
         1A9yKwuVKm9dEUaENpV8VmE40qREHrgAScPskA1Sd0k/2So5F8wYx86zphrSgme4YkFI
         Hukg==
X-Gm-Message-State: ACgBeo1vfFEcXiTp88s9VocQg+ra/QHjdhEoGPkkQ/WmxOxjfTlBZx5Y
	Mmf8LOqgipHeToGYxWD4Non0MgNr28Gh/w==
X-Google-Smtp-Source: AA6agR4edpTZbwf/2AWI2wKj6vWtkwXyIccMd+6PdS55TRkhiMGoNOkpBV7wA4W9G9GoWIzDM5IIRA==
X-Received: by 2002:a17:907:7619:b0:73e:28d8:eca9 with SMTP id jx25-20020a170907761900b0073e28d8eca9mr2086999ejc.490.1661518290452;
        Fri, 26 Aug 2022 05:51:30 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 02/12] xen/arm: add cache coloring initialization for domains
Date: Fri, 26 Aug 2022 14:51:01 +0200
Message-Id: <20220826125111.152261-3-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit adds array pointers to domains as well as to the hypercall
and configuration structure employed in domain creation. The latter is used
both by the toolstack and by Xen itself to pass configuration data to the
domain creation function, so the XEN_GUEST_HANDLE macro must be adopted to be
able to access guest memory in the first case. This implies special care for
the copy of the configuration data into the domain data, meaning that a
discrimination variable for the two possible code paths (coming from Xen or
from the toolstack) is needed.

The initialization and free functions for colored domains are also added.
The former is responsible for allocating and populating the color array
of the domain and it also checks for configuration issues. One of those
issues is enabling both coloring and directmap for the domain because they
contradicts one another. Since that, Dom0 must not be created with the
directmap flag.
The latter instead frees allocated memory.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 docs/misc/arm/cache-coloring.rst    |  7 ++--
 xen/arch/arm/coloring.c             | 56 +++++++++++++++++++++++++++++
 xen/arch/arm/domain.c               | 11 ++++++
 xen/arch/arm/domain_build.c         | 13 +++++--
 xen/arch/arm/include/asm/coloring.h |  7 ++++
 xen/arch/arm/include/asm/domain.h   |  4 +++
 xen/include/public/arch-arm.h       |  8 +++++
 7 files changed, 102 insertions(+), 4 deletions(-)

diff --git a/docs/misc/arm/cache-coloring.rst b/docs/misc/arm/cache-coloring.rst
index c7adcb0f1f..345d97cb56 100644
--- a/docs/misc/arm/cache-coloring.rst
+++ b/docs/misc/arm/cache-coloring.rst
@@ -13,7 +13,7 @@ In order to enable and use it, few steps are needed.
   (refer to menuconfig help for value meaning and when it should be changed).
 
         CONFIG_MAX_CACHE_COLORS=<n>
-- Assign colors to Dom0 using the `Color selection format`_ (see
+- Assign colors to domains using the `Color selection format`_ (see
   `Coloring parameters`_ for more documentation pointers).
 
 Background
@@ -109,4 +109,7 @@ Coloring parameters
 
 LLC way size (as previously discussed) and Dom0 colors can be set using the
 appropriate command line parameters. See the relevant documentation in
-"docs/misc/xen-command-line.pandoc".
\ No newline at end of file
+"docs/misc/xen-command-line.pandoc".
+
+Note that if no color configuration is provided for domains, they fallback to
+the default one, which corresponds simply to all available colors.
\ No newline at end of file
diff --git a/xen/arch/arm/coloring.c b/xen/arch/arm/coloring.c
index c010ebc01b..2b37cda067 100644
--- a/xen/arch/arm/coloring.c
+++ b/xen/arch/arm/coloring.c
@@ -22,6 +22,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 #include <xen/errno.h>
+#include <xen/guest_access.h>
 #include <xen/keyhandler.h>
 #include <xen/param.h>
 #include <xen/types.h>
@@ -211,6 +212,61 @@ bool __init coloring_init(void)
     return true;
 }
 
+int domain_coloring_init(struct domain *d,
+                         const struct xen_arch_domainconfig *config)
+{
+    if ( is_domain_direct_mapped(d) )
+    {
+        printk(XENLOG_ERR
+               "Can't enable coloring and directmap at the same time for %pd\n",
+               d);
+        return -EINVAL;
+    }
+
+    if ( is_hardware_domain(d) )
+    {
+        d->arch.colors = dom0_colors;
+        d->arch.num_colors = dom0_num_colors;
+    }
+    else if ( config->num_colors == 0 )
+    {
+        printk(XENLOG_WARNING
+               "Color config not found for %pd. Using default\n", d);
+        d->arch.colors = xzalloc_array(unsigned int, max_colors);
+        d->arch.num_colors = set_default_domain_colors(d->arch.colors);
+    }
+    else
+    {
+        d->arch.colors = xzalloc_array(unsigned int, config->num_colors);
+        d->arch.num_colors = config->num_colors;
+        if ( config->from_guest )
+            copy_from_guest(d->arch.colors, config->colors, config->num_colors);
+        else
+            memcpy(d->arch.colors, config->colors.p,
+                   sizeof(unsigned int) * config->num_colors);
+    }
+
+    if ( !d->arch.colors )
+    {
+        printk(XENLOG_ERR "Colors allocation failed for %pd\n", d);
+        return -ENOMEM;
+    }
+
+    if ( !check_colors(d->arch.colors, d->arch.num_colors) )
+    {
+        printk(XENLOG_ERR "Bad color config for %pd\n", d);
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+void domain_coloring_free(struct domain *d)
+{
+    if ( !is_hardware_domain(d) )
+        xfree(d->arch.colors);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 2d6253181a..c6fa8adc99 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -23,6 +23,9 @@
 #include <xen/wait.h>
 
 #include <asm/alternative.h>
+#ifdef CONFIG_CACHE_COLORING
+#include <asm/coloring.h>
+#endif
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
 #include <asm/current.h>
@@ -712,6 +715,11 @@ int arch_domain_create(struct domain *d,
     ioreq_domain_init(d);
 #endif
 
+#ifdef CONFIG_CACHE_COLORING
+    if ( (rc = domain_coloring_init(d, &config->arch)) )
+        goto fail;
+#endif
+
     /* p2m_init relies on some value initialized by the IOMMU subsystem */
     if ( (rc = iommu_domain_init(d, config->iommu_opts)) != 0 )
         goto fail;
@@ -807,6 +815,9 @@ void arch_domain_destroy(struct domain *d)
                        get_order_from_bytes(d->arch.efi_acpi_len));
 #endif
     domain_io_free(d);
+#ifdef CONFIG_CACHE_COLORING
+    domain_coloring_free(d);
+#endif
 }
 
 void arch_domain_shutdown(struct domain *d)
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 3fd1186b53..4d4cb692fc 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -33,6 +33,12 @@
 #include <xen/grant_table.h>
 #include <xen/serial.h>
 
+#ifdef CONFIG_CACHE_COLORING
+#define XEN_DOM0_CREATE_FLAGS CDF_privileged
+#else
+#define XEN_DOM0_CREATE_FLAGS CDF_privileged | CDF_directmap
+#endif
+
 static unsigned int __initdata opt_dom0_max_vcpus;
 integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
 
@@ -3399,7 +3405,10 @@ static int __init construct_dom0(struct domain *d)
     /* type must be set before allocate_memory */
     d->arch.type = kinfo.type;
 #endif
-    allocate_memory_11(d, &kinfo);
+    if ( IS_ENABLED(CONFIG_CACHE_COLORING) )
+        allocate_memory(d, &kinfo);
+    else
+        allocate_memory_11(d, &kinfo);
     find_gnttab_region(d, &kinfo);
 
     /* Map extra GIC MMIO, irqs and other hw stuffs to dom0. */
@@ -3455,7 +3464,7 @@ void __init create_dom0(void)
     if ( iommu_enabled )
         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
 
-    dom0 = domain_create(0, &dom0_cfg, CDF_privileged | CDF_directmap);
+    dom0 = domain_create(0, &dom0_cfg, XEN_DOM0_CREATE_FLAGS);
     if ( IS_ERR(dom0) || (alloc_dom0_vcpu0(dom0) == NULL) )
         panic("Error creating domain 0\n");
 
diff --git a/xen/arch/arm/include/asm/coloring.h b/xen/arch/arm/include/asm/coloring.h
index dd7eff5f07..60c8b1f079 100644
--- a/xen/arch/arm/include/asm/coloring.h
+++ b/xen/arch/arm/include/asm/coloring.h
@@ -25,7 +25,14 @@
 #define __ASM_ARM_COLORING_H__
 
 #include <xen/init.h>
+#include <xen/sched.h>
+
+#include <public/arch-arm.h>
 
 bool __init coloring_init(void);
 
+int domain_coloring_init(struct domain *d,
+                         const struct xen_arch_domainconfig *config);
+void domain_coloring_free(struct domain *d);
+
 #endif /* !__ASM_ARM_COLORING_H__ */
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 26a8348eed..291f7c375d 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -58,6 +58,10 @@ struct arch_domain
 #ifdef CONFIG_ARM_64
     enum domain_type type;
 #endif
+#ifdef CONFIG_CACHE_COLORING
+    unsigned int *colors;
+    unsigned int num_colors;
+#endif
 
     /* Virtual MMU */
     struct p2m_domain p2m;
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index c8b6058d3a..adf843a7a1 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -314,6 +314,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 #define XEN_DOMCTL_CONFIG_TEE_NONE      0
 #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
 
+__DEFINE_XEN_GUEST_HANDLE(color_t, unsigned int);
+
 struct xen_arch_domainconfig {
     /* IN/OUT */
     uint8_t gic_version;
@@ -335,6 +337,12 @@ struct xen_arch_domainconfig {
      *
      */
     uint32_t clock_frequency;
+    /* IN */
+    uint8_t from_guest;
+    /* IN */
+    uint16_t num_colors;
+    /* IN */
+    XEN_GUEST_HANDLE(color_t) colors;
 };
 #endif /* __XEN__ || __XEN_TOOLS__ */
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393756.632911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoC-0001z0-AF; Fri, 26 Aug 2022 12:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393756.632911; Fri, 26 Aug 2022 12:51:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoC-0001xz-2p; Fri, 26 Aug 2022 12:51:36 +0000
Received: by outflank-mailman (input) for mailman id 393756;
 Fri, 26 Aug 2022 12:51:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoB-00013M-4u
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:35 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d09a1530-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:34 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id w19so2977028ejc.7
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:34 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d09a1530-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=bZOFiRTK3AMcZ6w41ZvyaJ0FkDlksPHygOjR3JNEJS4=;
        b=Jrd6pcEvA4VcGAsJwfRsDl5iFff89wJMQ4W9lsCt7f6IMzpMhm5mccRbrgvXgs9wwu
         fjOdOZ/2zz1SHBdQibqKtOKu1wnBL4K0G3zvs06pjb8CMBQrlYcmQX8S8EXM3r9JyNWH
         w5z3VO1PqarkUxX4Kt+vcIJ6pmz2QKFgV/jtDegaKIcmx9ubSsg21vnRcMUoZlkIMco+
         RjBcoPn+zUq5Nyw63jXCgRVNpqz7uvHmHDsQ8AT0gbBP1pYDeSmmh4Ov3cKDcR8hgey2
         vNfurPBBnIHlF4dzmp4IXZwHrJFb/h2NEcKRI7itJPxrW7wwsFfH86rZXudrws3j4YL8
         iELQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=bZOFiRTK3AMcZ6w41ZvyaJ0FkDlksPHygOjR3JNEJS4=;
        b=foH09KNW9IAhjyd7Lajeh7MwIa6HycojNzpt0WdiMgSGFA1VDfJH9o0YXVmv6fV5I4
         oYNAMN0hGtFB61qRHU/aVxuJIBBEZ6xqyof5huSz+AvQa7sFOITcOx6m1NmCixI+TDJc
         7xeUOViDbo/uVgLlzdxo7isX3vHSXAa84pG0w0OmM7kTsFbjCjS7vDvmj/DidSkY1coc
         BA007DVh49JyOIMCbwjigbkxFHdg0/1f3bynWvlLr+7i//2WrXuAUbCp1OxK1pOctq6+
         n2mzkB/QVEovGuNXFcNtjyYVlGYqPIsD/PMgctZUVVHbRXr89pmjSIsv31xPeoDqAbOc
         RMFw==
X-Gm-Message-State: ACgBeo3XwSZ/L6EWcjOD0mNkUR1reke7mYL/D6VIWL5jmTuWYDPUBLdc
	oXh/DwNyZD928Lg6CeQhQ/6FxVw+ULQvnA==
X-Google-Smtp-Source: AA6agR4PY0LYOzsFP/Yrv5FTmaf90sA8wSXjYW4UD83WIUhZVW78+R8x0XRaGcnoZtNujSu7OiYwIg==
X-Received: by 2002:a17:907:a046:b0:730:9c7a:eab3 with SMTP id gz6-20020a170907a04600b007309c7aeab3mr5648959ejc.285.1661518293597;
        Fri, 26 Aug 2022 05:51:33 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 04/12] tools/xl: add support for cache coloring configuration
Date: Fri, 26 Aug 2022 14:51:03 +0200
Message-Id: <20220826125111.152261-5-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a new "colors" parameter that defines the color assignment for a
domain. The user can specify one or more color ranges using the same
syntax used everywhere else for color config described in the documentation.
The parameter is defined as a list of strings that represent the
color ranges.
Also documentation is added.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 docs/man/xl.cfg.5.pod.in         | 10 ++++++
 tools/libs/light/libxl_create.c  | 12 ++++++++
 tools/libs/light/libxl_types.idl |  1 +
 tools/xl/xl_parse.c              | 52 ++++++++++++++++++++++++++++++--
 4 files changed, 73 insertions(+), 2 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index b2901e04cf..5f53cec8bf 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2880,6 +2880,16 @@ Currently, only the "sbsa_uart" model is supported for ARM.
 
 =back
 
+=over 4
+
+=item B<colors=[ "COLORS_RANGE", "COLORS_RANGE", ...]>
+
+Specify the LLC color configuration for the guest. B<COLORS_RANGE> can be either
+a single color value or a hypen-separated closed interval of colors
+(such as "0-4").
+
+=back
+
 =head3 x86
 
 =over 4
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index b9dd2deedf..94c511912c 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -615,6 +615,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
     struct xs_permissions rwperm[1];
     struct xs_permissions noperm[1];
     xs_transaction_t t = 0;
+    DECLARE_HYPERCALL_BUFFER(unsigned int, colors);
 
     /* convenience aliases */
     libxl_domain_create_info *info = &d_config->c_info;
@@ -676,6 +677,16 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
             goto out;
         }
 
+        if (d_config->b_info.num_colors) {
+            size_t bytes = sizeof(unsigned int) * d_config->b_info.num_colors;
+            colors = xc_hypercall_buffer_alloc(ctx->xch, colors, bytes);
+            memcpy(colors, d_config->b_info.colors, bytes);
+            set_xen_guest_handle(create.arch.colors, colors);
+            create.arch.num_colors = d_config->b_info.num_colors;
+            create.arch.from_guest = 1;
+            LOG(DEBUG, "Setup %u domain colors", d_config->b_info.num_colors);
+        }
+
         for (;;) {
             uint32_t local_domid;
             bool recent;
@@ -922,6 +933,7 @@ retry_transaction:
     rc = 0;
  out:
     if (t) xs_transaction_end(ctx->xsh, t, 1);
+    if (colors) xc_hypercall_buffer_free(ctx->xch, colors);
     return rc;
 }
 
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index d634f304cd..642173af1a 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -557,6 +557,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("ioports",          Array(libxl_ioport_range, "num_ioports")),
     ("irqs",             Array(uint32, "num_irqs")),
     ("iomem",            Array(libxl_iomem_range, "num_iomem")),
+    ("colors",           Array(uint32, "num_colors")),
     ("claim_mode",	     libxl_defbool),
     ("event_channels",   uint32),
     ("kernel",           string),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 1b5381cef0..7f8fbbfb4c 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1220,8 +1220,9 @@ void parse_config_data(const char *config_source,
     XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms,
                    *usbctrls, *usbdevs, *p9devs, *vdispls, *pvcallsifs_devs;
     XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian, *dtdevs,
-                   *mca_caps;
-    int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, num_mca_caps;
+                   *mca_caps, *colors;
+    int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, num_mca_caps,
+        num_colors;
     int pci_power_mgmt = 0;
     int pci_msitranslate = 0;
     int pci_permissive = 0;
@@ -1370,6 +1371,53 @@ void parse_config_data(const char *config_source,
     if (!xlu_cfg_get_long (config, "maxmem", &l, 0))
         b_info->max_memkb = l * 1024;
 
+    if (!xlu_cfg_get_list(config, "colors", &colors, &num_colors, 0)) {
+        int k, p, cur_index;
+
+        b_info->num_colors = 0;
+        /* Get number of colors based on ranges */
+        for (i = 0; i < num_colors; i++) {
+            uint32_t start = 0, end = 0;
+
+            buf = xlu_cfg_get_listitem(colors, i);
+            if (!buf) {
+                fprintf(stderr,
+                    "xl: Unable to get element %d in colors range list\n", i);
+                exit(1);
+            }
+
+            if (sscanf(buf, "%u-%u", &start, &end) != 2) {
+                if (sscanf(buf, "%u", &start) != 1) {
+                    fprintf(stderr, "xl: Invalid color range: %s\n", buf);
+                    exit(1);
+                }
+                end = start;
+            }
+            else if (start > end) {
+                fprintf(stderr,
+                        "xl: Start color is greater than end color: %s\n", buf);
+                exit(1);
+            }
+
+            /* Check for overlaps */
+            for (k = start; k <= end; k++) {
+                for (p = 0; p < b_info->num_colors; p++)
+                    if (b_info->colors[p] == k) {
+                        fprintf(stderr, "xl: Overlapped ranges not allowed\n");
+                        exit(1);
+                    }
+            }
+
+            cur_index = b_info->num_colors;
+            b_info->num_colors += (end - start) + 1;
+            b_info->colors = (uint32_t *)realloc(b_info->colors,
+                                sizeof(*b_info->colors) * b_info->num_colors);
+
+            for (k = start; k <= end; k++)
+                b_info->colors[cur_index++] = k;
+        }
+    }
+
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         vcpus = l;
         if (libxl_cpu_bitmap_alloc(ctx, &b_info->avail_vcpus, l)) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393753.632883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYo2-0001JS-Bt; Fri, 26 Aug 2022 12:51:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393753.632883; Fri, 26 Aug 2022 12:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYo2-0001JL-7m; Fri, 26 Aug 2022 12:51:26 +0000
Received: by outflank-mailman (input) for mailman id 393753;
 Fri, 26 Aug 2022 12:51:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYo0-00013M-UW
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:25 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9c21691-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:22 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id y3so3004762ejc.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:22 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9c21691-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=aWH5gx2xp10ySHfdsvtnv1tD2H4ADCtjpsnLlxSTmxQ=;
        b=n0Y4VIuhNdCrMLYsWkQhovINm/dmz/Ubo2HjYP3jqBflKwFX6BirFqgGmEaxrHfXi/
         L5cFO+ZyED3AUKS1j5G8vRl6gk9LAt6xFeN4eckIxWoNhXcPnJYKaB8oXJOTskCxE1B1
         ByrFI6ADZT9aWWGV2gSbbO42Yhiuj4uRXni5BH1CQBJl+DOjtpvOSPtm010y43UByOLy
         z+x2j3EGNFnoBrxYh41MK0V2LXiUxw2OFyVnwBLiMiRo7aM82CLOGdaLvdxzkmbbEizJ
         NG80NR4gxkLbOjVoyDExpYHuxf9rDod3BhwHOOiAue1L6qU/0QZ6NR5Uu5+ZHr/gZcex
         LzNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=aWH5gx2xp10ySHfdsvtnv1tD2H4ADCtjpsnLlxSTmxQ=;
        b=T8ZHbqGZuRNEkv/B9qHALcF5AWUhjVPYDk/EqT7tOIlm3GmxsUbPQDW2crgJ+PikWt
         J9Xu4exkAb4cpOPKxSCkUneVb8p2KqUG8CwXCi/rkBogEgfkDX+RuLB3P8YCwIP8jPrl
         oj/EVNifEvuXt14Po/tB0e0sEtFzIRv8iSEN2Pta69i7betV8wyQURV3kV+lPU/lk9Kp
         sjvuPl5RF8c/r01BLxeQF6Y7XVBZPgeHGj5HjqnJfS3mj7KHUeAhoDwDjWcD/gfeq4kK
         gqhVJOwKDtORSVruM9nmOzBH2ZykjUFr5EgPhD52+QHczXMwntlC/ptYnJgglV/RgogQ
         JREQ==
X-Gm-Message-State: ACgBeo3VRaZrv6d3f3iCGZIHKekbTsGm8sgXsUvv/OUEo2xpA/x02ry/
	te+rAncrxoa9tfF5UD7h0tx8d+hfY6uYDQ==
X-Google-Smtp-Source: AA6agR5bs31ZxnvWb7Z3Ny3oGCQhWwPkMkD6rpoRzw3TIro4406Gijt4Q4cc52VEb7SLIejmx1/r3Q==
X-Received: by 2002:a17:906:58ca:b0:73d:c7d5:bb39 with SMTP id e10-20020a17090658ca00b0073dc7d5bb39mr5432088ejs.305.1661518281780;
        Fri, 26 Aug 2022 05:51:21 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 01/12] xen/arm: add cache coloring initialization
Date: Fri, 26 Aug 2022 14:51:00 +0200
Message-Id: <20220826125111.152261-2-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit adds the cache coloring support initialization, Kconfig options,
command line parameters and the initial documentation.
The initialization consists of an auto probing of the cache layout
necessary to retrieve the LLC way size which is used to compute the
number of available colors. The Dom0 colors are then initialized with default
colors (all available ones) if not provided from the command line, and
they are checked for bad configuration.

It also adds a debug-key to dump general cache coloring info.
This includes LLC way size, total available colors and the mask used to
extract colors from physical addresses.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 docs/misc/arm/cache-coloring.rst     | 112 ++++++++++++++
 docs/misc/xen-command-line.pandoc    |  22 +++
 xen/arch/arm/Kconfig                 |  16 ++
 xen/arch/arm/Makefile                |   1 +
 xen/arch/arm/coloring.c              | 222 +++++++++++++++++++++++++++
 xen/arch/arm/include/asm/coloring.h  |  31 ++++
 xen/arch/arm/include/asm/processor.h |  16 ++
 xen/arch/arm/setup.c                 |   8 +
 8 files changed, 428 insertions(+)
 create mode 100644 docs/misc/arm/cache-coloring.rst
 create mode 100644 xen/arch/arm/coloring.c
 create mode 100644 xen/arch/arm/include/asm/coloring.h

diff --git a/docs/misc/arm/cache-coloring.rst b/docs/misc/arm/cache-coloring.rst
new file mode 100644
index 0000000000..c7adcb0f1f
--- /dev/null
+++ b/docs/misc/arm/cache-coloring.rst
@@ -0,0 +1,112 @@
+Xen cache coloring user guide
+=============================
+
+The cache coloring support in Xen allows to reserve Last Level Cache (LLC)
+partition for Dom0, DomUs and Xen itself. Currently only ARM64 is supported.
+
+In order to enable and use it, few steps are needed.
+
+- Enable cache coloring in Xen configuration file.
+
+        CONFIG_CACHE_COLORING=y
+- If needed, change the maximum number of colors in Xen configuration file
+  (refer to menuconfig help for value meaning and when it should be changed).
+
+        CONFIG_MAX_CACHE_COLORS=<n>
+- Assign colors to Dom0 using the `Color selection format`_ (see
+  `Coloring parameters`_ for more documentation pointers).
+
+Background
+**********
+
+Cache hierarchy of a modern multi-core CPU typically has first levels dedicated
+to each core (hence using multiple cache units), while the last level is shared
+among all of them. Such configuration implies that memory operations on one
+core (e.g. running a DomU) are able to generate interference on another core
+(e.g .hosting another DomU). Cache coloring allows eliminating this
+mutual interference, and thus guaranteeing higher and more predictable
+performances for memory accesses.
+The key concept underlying cache coloring is a fragmentation of the memory
+space into a set of sub-spaces called colors that are mapped to disjoint cache
+partitions. Technically, the whole memory space is first divided into a number
+of subsequent regions. Then each region is in turn divided into a number of
+subsequent sub-colors. The generic i-th color is then obtained by all the
+i-th sub-colors in each region.
+
+.. raw:: html
+
+    <pre>
+                            Region j            Region j+1
+                .....................   ............
+                .                     . .
+                .                       .
+            _ _ _______________ _ _____________________ _ _
+                |     |     |     |     |     |     |
+                | c_0 | c_1 |     | c_n | c_0 | c_1 |
+           _ _ _|_____|_____|_ _ _|_____|_____|_____|_ _ _
+                    :                       :
+                    :                       :...         ... .
+                    :                            color 0
+                    :...........................         ... .
+                                                :
+          . . ..................................:
+    </pre>
+
+There are two pragmatic lesson to be learnt.
+
+1. If one wants to avoid cache interference between two domains, different
+   colors needs to be used for their memory.
+
+2. Color assignment must privilege contiguity in the partitioning. E.g.,
+   assigning colors (0,1) to domain I  and (2,3) to domain  J is better than
+   assigning colors (0,2) to I and (1,3) to J.
+
+How to compute the number of colors
+***********************************
+
+To compute the number of available colors for a specific platform, the size of
+a LLC way and the page size used by Xen must be known. The first parameter can
+be found in the processor manual or can be also computed dividing the total
+cache size by the number of its ways. The second parameter is the minimum amount
+of memory that can be mapped by the hypervisor, thus dividing the way size by
+the page size, the number of total cache partitions is found. So for example,
+an Arm Cortex-A53 with a 16-ways associative 1 MiB LLC, can isolate up to 16
+colors when pages are 4 KiB in size.
+
+Cache layout is probed automatically by Xen itself, but a possibility to
+manually set the way size it's left to the user to overcome failing situations
+or for debugging/testing purposes. See `Coloring parameters`_ section for more
+information on that.
+
+Colors selection format
+***********************
+
+Regardless of the memory pool that has to be colored (Xen, Dom0/DomUs),
+the color selection can be expressed using the same syntax. In particular a
+comma-separated list of colors or ranges of colors is used.
+Ranges are hyphen-separated intervals (such as `0-4`) and are inclusive on both
+sides.
+
+Note that:
+ - no spaces are allowed between values.
+ - no overlapping ranges or duplicated colors are allowed.
+ - values must be written in ascending order.
+
+Examples:
+
++---------------------+-----------------------------------+
+|**Configuration**    |**Actual selection**               |
++---------------------+-----------------------------------+
+|  1-2,5-8            | [1, 2, 5, 6, 7, 8]                |
++---------------------+-----------------------------------+
+|  4-8,10,11,12       | [4, 5, 6, 7, 8, 10, 11, 12]       |
++---------------------+-----------------------------------+
+|  0                  | [0]                               |
++---------------------+-----------------------------------+
+
+Coloring parameters
+*******************
+
+LLC way size (as previously discussed) and Dom0 colors can be set using the
+appropriate command line parameters. See the relevant documentation in
+"docs/misc/xen-command-line.pandoc".
\ No newline at end of file
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 9a79385a37..910ebeb2eb 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -889,6 +889,14 @@ Controls for the dom0 IOMMU setup.
 
     Incorrect use of this option may result in a malfunctioning system.
 
+### dom0-colors (arm64)
+> `= List of [ <integer> | <integer>-<integer> ]`
+
+> Default: `All available colors`
+
+Specify dom0 color configuration. If the parameter is not set, all available
+colors are chosen and the user is warned on Xen's serial console.
+
 ### dom0_ioports_disable (x86)
 > `= List of <hex>-<hex>`
 
@@ -1631,6 +1639,20 @@ This option is intended for debugging purposes only.  Enable MSR_DEBUGCTL.LBR
 in hypervisor context to be able to dump the Last Interrupt/Exception To/From
 record with other registers.
 
+### llc-way-size (arm64)
+> `= <size>`
+
+> Default: `Obtained from the hardware`
+
+Specify the way size of the Last Level Cache. This parameter is only useful with
+cache coloring support enabled. It is an optional, expert-only parameter and it
+is used to calculate the number of available colors on the platform. It can be
+obtained by dividing the total LLC size by the number of its associative ways.
+By default, the value is automatically computed by probing the hardware, but in
+case of specific needs, it can be manually set. Those include failing probing
+and debugging/testing purposes so that it's possibile to emulate platforms with
+different number of supported colors.
+
 ### loglvl
 > `= <level>[/<rate-limited level>]` where level is `none | error | warning | info | debug | all`
 
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 33e004d702..8acff9682c 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -131,6 +131,22 @@ config ARM64_BTI
 	  Branch Target Identification support.
 	  This feature is not supported in Xen.
 
+config CACHE_COLORING
+	bool "Last Level Cache (LLC) coloring" if EXPERT
+	default n
+	depends on ARM_64
+
+config MAX_CACHE_COLORS
+	int "Maximum number of cache colors"
+	default 128
+	range 0 65536
+	depends on CACHE_COLORING
+	help
+	  This config value is an upper bound for the actual number of cache colors
+	  supported by the architecture. Xen preallocates this amount of cache
+	  colors at boot. Note that if, at any time, a color configuration with more
+	  colors than the maximum will be employed an error will be produced.
+
 config TEE
 	bool "Enable TEE mediators support (UNSUPPORTED)" if UNSUPPORTED
 	default n
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 4d076b278b..12940ba761 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -67,6 +67,7 @@ obj-$(CONFIG_SBSA_VUART_CONSOLE) += vpl011.o
 obj-y += vsmc.o
 obj-y += vpsci.o
 obj-y += vuart.o
+obj-$(CONFIG_CACHE_COLORING) += coloring.o
 
 extra-y += xen.lds
 
diff --git a/xen/arch/arm/coloring.c b/xen/arch/arm/coloring.c
new file mode 100644
index 0000000000..c010ebc01b
--- /dev/null
+++ b/xen/arch/arm/coloring.c
@@ -0,0 +1,222 @@
+/*
+ * xen/arch/arm/coloring.c
+ *
+ * Coloring support for ARM
+ *
+ * Copyright (C) 2019 Xilinx Inc.
+ *
+ * Authors:
+ *    Luca Miccio <lucmiccio@gmail.com>
+ *    Carlo Nonato <carlo.nonato@minervasys.tech>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#include <xen/errno.h>
+#include <xen/keyhandler.h>
+#include <xen/param.h>
+#include <xen/types.h>
+
+#include <asm/coloring.h>
+#include <asm/processor.h>
+#include <asm/sysregs.h>
+
+/* Size of a LLC way */
+static unsigned int llc_way_size;
+/* Number of colors available in the LLC */
+static unsigned int max_colors;
+/* Mask to retrieve coloring relevant bits */
+static uint64_t addr_col_mask;
+
+#define addr_to_color(addr) (((addr) & addr_col_mask) >> PAGE_SHIFT)
+#define addr_set_color(addr, color) (((addr) & ~addr_col_mask) \
+                                     | ((color) << PAGE_SHIFT))
+
+static unsigned int dom0_colors[CONFIG_MAX_CACHE_COLORS];
+static unsigned int dom0_num_colors;
+
+/*
+ * Parse the coloring configuration given in the buf string, following the
+ * syntax below.
+ *
+ * COLOR_CONFIGURATION ::= COLOR | RANGE,...,COLOR | RANGE
+ * RANGE               ::= COLOR-COLOR
+ *
+ * Example: "0,2-6,15-16" represents the set of colors: 0,2,3,4,5,6,15,16.
+ */
+static int parse_color_config(const char *buf, unsigned int *colors,
+                              unsigned int *num_colors)
+{
+    const char *s = buf;
+
+    if ( !colors || !num_colors )
+        return -EINVAL;
+
+    while ( *s != '\0' )
+    {
+        if ( *s != ',' )
+        {
+            unsigned int color, start, end;
+
+            start = simple_strtoul(s, &s, 0);
+
+            if ( *s == '-' )    /* Range */
+            {
+                s++;
+                end = simple_strtoul(s, &s, 0);
+            }
+            else                /* Single value */
+                end = start;
+
+            if ( start > end ||
+                 *num_colors + end - start >= CONFIG_MAX_CACHE_COLORS )
+                return -EINVAL;
+            for ( color = start; color <= end; color++ )
+                colors[(*num_colors)++] = color;
+        }
+        else
+            s++;
+    }
+
+    return *s ? -EINVAL : 0;
+}
+
+size_param("llc-way-size", llc_way_size);
+
+static int __init parse_dom0_colors(const char *s)
+{
+    return parse_color_config(s, dom0_colors, &dom0_num_colors);
+}
+custom_param("dom0-colors", parse_dom0_colors);
+
+/* Return the LLC way size by probing the hardware */
+static unsigned int get_llc_way_size(void)
+{
+    register_t ccsidr_el1;
+    register_t clidr_el1 = READ_SYSREG(CLIDR_EL1);
+    register_t csselr_el1 = READ_SYSREG(CSSELR_EL1);
+    register_t id_aa64mmfr2_el1 = READ_SYSREG(ID_AA64MMFR2_EL1);
+    uint32_t ccsidr_numsets_shift = CCSIDR_NUMSETS_SHIFT;
+    uint32_t ccsidr_numsets_mask = CCSIDR_NUMSETS_MASK;
+    unsigned int n, line_size, num_sets;
+
+    for ( n = CLIDR_CTYPEn_LEVELS;
+          n != 0 && !((clidr_el1 >> CLIDR_CTYPEn_SHIFT(n)) & CLIDR_CTYPEn_MASK);
+          n-- );
+
+    if ( n == 0 )
+        return 0;
+
+    WRITE_SYSREG(((n - 1) & CCSELR_LEVEL_MASK) << CCSELR_LEVEL_SHIFT,
+                 CSSELR_EL1);
+    isb();
+
+    ccsidr_el1 = READ_SYSREG(CCSIDR_EL1);
+
+    /* Arm ARM: (Log2(Number of bytes in cache line)) - 4 */
+    line_size = 1 << ((ccsidr_el1 & CCSIDR_LINESIZE_MASK) + 4);
+
+    /* If FEAT_CCIDX is enabled, CCSIDR_EL1 has a different bit layout */
+    if ( (id_aa64mmfr2_el1 >> ID_AA64MMFR2_CCIDX_SHIFT) & 0x7 )
+    {
+        ccsidr_numsets_shift = CCSIDR_NUMSETS_SHIFT_FEAT_CCIDX;
+        ccsidr_numsets_mask = CCSIDR_NUMSETS_MASK_FEAT_CCIDX;
+    }
+    /* Arm ARM: (Number of sets in cache) - 1 */
+    num_sets = ((ccsidr_el1 >> ccsidr_numsets_shift) & ccsidr_numsets_mask) + 1;
+
+    printk(XENLOG_INFO "LLC found: L%u (line size: %u bytes, sets num: %u)\n",
+           n, line_size, num_sets);
+
+    /* Restore value in CSSELR_EL1 */
+    WRITE_SYSREG(csselr_el1, CSSELR_EL1);
+    isb();
+
+    return line_size * num_sets;
+}
+
+static bool check_colors(unsigned int *colors, unsigned int num_colors)
+{
+    int i;
+
+    if ( num_colors > max_colors )
+        return false;
+
+    for ( i = 0; i < num_colors; i++ )
+        if ( colors[i] >= max_colors )
+            return false;
+
+    return true;
+}
+
+static unsigned int set_default_domain_colors(unsigned int *colors)
+{
+    unsigned int i;
+
+    if ( !colors )
+        return 0;
+
+    for ( i = 0; i < max_colors; i++ )
+        colors[i] = i;
+    return max_colors;
+}
+
+static void dump_coloring_info(unsigned char key)
+{
+    printk("'%c' pressed -> dumping coloring general info\n", key);
+    printk("LLC way size: %u KiB\n", llc_way_size >> 10);
+    printk("Number of LLC colors supported: %u\n", max_colors);
+    printk("Address color mask: 0x%lx\n", addr_col_mask);
+}
+
+bool __init coloring_init(void)
+{
+    if ( !llc_way_size && !(llc_way_size = get_llc_way_size()) )
+    {
+        printk(XENLOG_ERR
+               "Probed LLC way size is 0 and no custom value provided\n");
+        return false;
+    }
+
+    max_colors = llc_way_size / PAGE_SIZE;
+    /* The maximum number of colors must be a power of 2 in order to correctly
+       map colors to bits of an address. */
+    ASSERT((max_colors & (max_colors - 1)) == 0);
+    addr_col_mask = (max_colors - 1) << PAGE_SHIFT;
+
+    if ( !dom0_num_colors )
+    {
+        printk(XENLOG_WARNING
+               "Dom0 color config not found. Using default (all colors)\n");
+        dom0_num_colors = set_default_domain_colors(dom0_colors);
+    }
+
+    if ( !check_colors(dom0_colors, dom0_num_colors) )
+    {
+        printk(XENLOG_ERR "Bad color config for Dom0\n");
+        return false;
+    }
+
+    register_keyhandler('K', dump_coloring_info, "dump coloring info", 1);
+
+    return true;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/coloring.h b/xen/arch/arm/include/asm/coloring.h
new file mode 100644
index 0000000000..dd7eff5f07
--- /dev/null
+++ b/xen/arch/arm/include/asm/coloring.h
@@ -0,0 +1,31 @@
+/*
+ * xen/arm/include/asm/coloring.h
+ *
+ * Coloring support for ARM
+ *
+ * Copyright (C) 2019 Xilinx Inc.
+ *
+ * Authors:
+ *    Luca Miccio <lucmiccio@gmail.com>
+ *    Carlo Nonato <carlo.nonato@minervasys.tech>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef __ASM_ARM_COLORING_H__
+#define __ASM_ARM_COLORING_H__
+
+#include <xen/init.h>
+
+bool __init coloring_init(void);
+
+#endif /* !__ASM_ARM_COLORING_H__ */
diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index 1dd81d7d52..85ff0caf1e 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -18,6 +18,22 @@
 #define CTR_IDC_SHIFT       28
 #define CTR_DIC_SHIFT       29
 
+/* CCSIDR Current Cache Size ID Register */
+#define CCSIDR_LINESIZE_MASK            0x7
+#define CCSIDR_NUMSETS_SHIFT            13
+#define CCSIDR_NUMSETS_MASK             0x3FFF
+#define CCSIDR_NUMSETS_SHIFT_FEAT_CCIDX 32
+#define CCSIDR_NUMSETS_MASK_FEAT_CCIDX  0xFFFFFF
+
+/* CCSELR Cache Size Selection Register */
+#define CCSELR_LEVEL_MASK  0x7
+#define CCSELR_LEVEL_SHIFT 1
+
+/* CLIDR Cache Level ID Register */
+#define CLIDR_CTYPEn_SHIFT(n) (3 * (n - 1))
+#define CLIDR_CTYPEn_MASK     0x7
+#define CLIDR_CTYPEn_LEVELS   7
+
 #define ICACHE_POLICY_VPIPT  0
 #define ICACHE_POLICY_AIVIVT 1
 #define ICACHE_POLICY_VIPT   2
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 500307edc0..c02f21c0e6 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -53,6 +53,9 @@
 #include <asm/setup.h>
 #include <xsm/xsm.h>
 #include <asm/acpi.h>
+#ifdef CONFIG_CACHE_COLORING
+#include <asm/coloring.h>
+#endif
 
 struct bootinfo __initdata bootinfo;
 
@@ -930,6 +933,11 @@ void __init start_xen(unsigned long boot_phys_offset,
     printk("Command line: %s\n", cmdline);
     cmdline_parse(cmdline);
 
+#ifdef CONFIG_CACHE_COLORING
+    if ( !coloring_init() )
+        panic("Xen Coloring support: setup failed\n");
+#endif
+
     setup_mm();
 
     /* Parse the ACPI tables for possible boot-time configuration */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393755.632905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoB-0001v6-U8; Fri, 26 Aug 2022 12:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393755.632905; Fri, 26 Aug 2022 12:51:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoB-0001uz-R9; Fri, 26 Aug 2022 12:51:35 +0000
Received: by outflank-mailman (input) for mailman id 393755;
 Fri, 26 Aug 2022 12:51:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoA-0001dl-AC
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:34 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfbe9594-253d-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 14:51:33 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id kk26so2943049ejc.11
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:32 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfbe9594-253d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=KUUG3oBu2sZvqX2D9rJkuOuQmnOvyHH8GrWoUzfp3Co=;
        b=Oiy1yctzwOMWIvwKtGoMgkuywg12OKtQRBp9V+oUGbkP/OXN7ECgN0PcUiosnp39xk
         /hgkpd+VH3OPLhRyzwyyQfy6VhWw/bykqd+5GJ8Gc/YB34VHcUGPRNT5goTnsyioXAw4
         rHxUti3ck5WigE+xhLWiEYYNBrlM/GwWrT5/z6XFBLy6rmg7Og85MgPoJ4nfQbv3x8XG
         GnafJ3xgf4DsFIPTWukH+c5G5odiQekl5fN4SST9uA2cUY/HgfspAG142jEKFkmpZ5rl
         w2DFEV0Qdo9omlVTeCoLSWbxCAX3IhP1LgyyXkGPNj0gXSYEKBegK01YZYXf7yLNbvpb
         rdog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=KUUG3oBu2sZvqX2D9rJkuOuQmnOvyHH8GrWoUzfp3Co=;
        b=cB4tl5RAoEHWYBGcDbXWbzw1SVqEyxhHpA03CCbgu3xqYNKd06Pq7e9tSdGhFBIJiQ
         4MhrpZ5L35jZY/qiftctXXkQLaiJSthd1IPWtrNJa2eyG/W4VlGULH08iNEA3PTMIT3f
         3zzCyfNq0bOZfv2hk+W7FYeIm4bbGWMDd8Iaia/rEBzK7oQLcaW7A5e0awiBjiVkWY9I
         CAmRFA/WXq+Jklxwa4CcP0WjZQl50nUrmJsiRP4UOkGXiF7oRG+Wf3B0L6YNFsFkl1xj
         Bt+GwLXg38txx7V4O5wPhjKh0gJgZZgOotOtAdiuFy5JtiOg1pdkMzLcECnV0cceIDfi
         to5g==
X-Gm-Message-State: ACgBeo0zbLn6L6R5XVLCATRBPe+EumM6izMbKDh35MlqE+1i09qYZl2j
	Li5nXs+p97ZgIRuQ5DeOo+SPKFrkn7VS/g==
X-Google-Smtp-Source: AA6agR4y4ZyBsKL9yN9HoaM+dJZ6Zq+gSYvqaQ/rT0daG/uYAEbT6gfIkKZ1U8JUKMq3hulYOlOALw==
X-Received: by 2002:a17:907:7e8c:b0:73d:85ec:46c with SMTP id qb12-20020a1709077e8c00b0073d85ec046cmr5080773ejc.257.1661518292192;
        Fri, 26 Aug 2022 05:51:32 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 03/12] xen/arm: dump cache colors in domain info debug-key
Date: Fri, 26 Aug 2022 14:51:02 +0200
Message-Id: <20220826125111.152261-4-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit adds cache colors to the information dumped with the domain info
debug-key.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 xen/arch/arm/coloring.c             | 16 ++++++++++++++++
 xen/arch/arm/domain.c               |  3 +++
 xen/arch/arm/include/asm/coloring.h |  1 +
 3 files changed, 20 insertions(+)

diff --git a/xen/arch/arm/coloring.c b/xen/arch/arm/coloring.c
index 2b37cda067..40a07617cc 100644
--- a/xen/arch/arm/coloring.c
+++ b/xen/arch/arm/coloring.c
@@ -171,6 +171,16 @@ static unsigned int set_default_domain_colors(unsigned int *colors)
     return max_colors;
 }
 
+static void print_colors(unsigned int *colors, unsigned int num_colors)
+{
+    unsigned int i;
+
+    printk("[ ");
+    for ( i = 0; i < num_colors; i++ )
+        printk("%u ", colors[i]);
+    printk("]\n");
+}
+
 static void dump_coloring_info(unsigned char key)
 {
     printk("'%c' pressed -> dumping coloring general info\n", key);
@@ -267,6 +277,12 @@ void domain_coloring_free(struct domain *d)
         xfree(d->arch.colors);
 }
 
+void domain_dump_coloring_info(struct domain *d)
+{
+    printk("Domain %pd has %u colors: ", d, d->arch.num_colors);
+    print_colors(d->arch.colors, d->arch.num_colors);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index c6fa8adc99..bca418e374 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -1087,6 +1087,9 @@ int domain_relinquish_resources(struct domain *d)
 void arch_dump_domain_info(struct domain *d)
 {
     p2m_dump_info(d);
+#ifdef CONFIG_CACHE_COLORING
+    domain_dump_coloring_info(d);
+#endif
 }
 
 
diff --git a/xen/arch/arm/include/asm/coloring.h b/xen/arch/arm/include/asm/coloring.h
index 60c8b1f079..967031ae04 100644
--- a/xen/arch/arm/include/asm/coloring.h
+++ b/xen/arch/arm/include/asm/coloring.h
@@ -34,5 +34,6 @@ bool __init coloring_init(void);
 int domain_coloring_init(struct domain *d,
                          const struct xen_arch_domainconfig *config);
 void domain_coloring_free(struct domain *d);
+void domain_dump_coloring_info(struct domain *d);
 
 #endif /* !__ASM_ARM_COLORING_H__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393752.632872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYnx-00013Z-3Y; Fri, 26 Aug 2022 12:51:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393752.632872; Fri, 26 Aug 2022 12:51:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYnx-00013S-0O; Fri, 26 Aug 2022 12:51:21 +0000
Received: by outflank-mailman (input) for mailman id 393752;
 Fri, 26 Aug 2022 12:51:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYnv-00013M-PJ
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:20 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c67fd842-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:17 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id fy31so2560692ejc.6
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:17 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c67fd842-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=w7anbcV2QZVfbnCBeif33zndmcQWCVi7jrhRxxDTd2w=;
        b=28VylTgOU+Mpmo+Hb/iPi/LwRDDdA2OhFuBEUQNte0g05tF63c+5EpqiXwQXgjAIdT
         IXeVcezUY1Cw+v/UDJrmgtVr9ABwxbdBLPDLnLwj3fkRPAdYEDw0S4T0wl6Dsy+l3aO4
         vAVZtfUdG4kfdVV69utj3pIaIjSe/PhGkWC8/uo0bVeDS7eeh9wi3fvzXHdIioV4HiMx
         J71uag3QesnZ4B/gVPD+vmfB8lDs7BQyW0b50VQvOcX8wJ9CKRwTj1HzyCXYx/fSyymW
         cHEHu96DxLUAa17+DYLCzRPefj2SiQSH4vjAYp9GYjIHWe5sQmvkIxUXkdhfj4Lz8oUs
         8p4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=w7anbcV2QZVfbnCBeif33zndmcQWCVi7jrhRxxDTd2w=;
        b=N7rAcsFvfajRqrHOpQEGRkxCBYMEmDZOOa8wBz0+vlnDQJ13exRZiNTwNDuuw2BFh7
         hEw9yszNhY6vXfpg3NJH+1JNSWyK+iBe3cbjFKgxBj7MuLGON+kp1MX6ddLEO5+UCKWK
         ZyBqxZ5gq91EiQ9YeDhMb3MC7RCH8xoDNf3gxMszVHMeNIC1nsFDhtJgfzDzPfXyZI0b
         Pi19fYa3HnX4XPTDMGNcpygMkjcrbrVX+qJGgnW8GaHP920axUEMPPgOL8ez+Qz6Srmu
         DaGcwSIGC4/R1XxRwq5DveelF9uwWD7k9AlNIroCL6CQ+9pNz+Nn1XOVkUO/uWe0CJ1y
         Uacg==
X-Gm-Message-State: ACgBeo1nL1RK4TV1L4lFdsvB4QrM8R1tf4ljw4mbd1+l3JB4c0yZzlmR
	+6mLtAoCKjtP/krC6SbQ7LeljyxzRYVVzA==
X-Google-Smtp-Source: AA6agR6Q4jLj1soCau8I2FiNjMEeWkJM8yAsxOwp9jUGBOFIO7FMXZuAttZXA6htMGAxjkrYNHoEDA==
X-Received: by 2002:a17:906:7950:b0:73d:6cda:939e with SMTP id l16-20020a170906795000b0073d6cda939emr5507492ejo.148.1661518276056;
        Fri, 26 Aug 2022 05:51:16 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>
Subject: [PATCH 00/12] Arm cache coloring
Date: Fri, 26 Aug 2022 14:50:59 +0200
Message-Id: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Shared caches in multi-core CPU architectures represent a problem for
predictability of memory access latency. This jeopardizes applicability
of many Arm platform in real-time critical and mixed-criticality
scenarios. We introduce support for cache partitioning with page
coloring, a transparent software technique that enables isolation
between domains and Xen, and thus avoids cache interference.

When creating a domain, a simple syntax (e.g. `0-3` or `4-11`) allows
the user to define assignments of cache partitions ids, called colors,
where assigning different colors guarantees no mutual eviction on cache
will ever happen. This instructs the Xen memory allocator to provide
the i-th color assignee only with pages that maps to color i, i.e. that
are indexed in the i-th cache partition.

The proposed implementation supports the dom0less feature.
The solution has been tested in several scenarios, including Xilinx Zynq
MPSoCs.

Overview of implementation and commits structure
------------------------------------------------

- [1-3] Coloring initialization, cache layout auto-probing and coloring
  data for domains are added.
- [4-5] xl and Device Tree support for coloring is addedd.
- [6-7] A new page allocator for domain memory that implement the cache
  coloring mechanism is introduced.
- [8-12] Coloring support is added for Xen .text region.

Changes in v2
-------------

Lot of things changed between the two versions, mainly I tried to follow
all the comments left by the maintainers after the previous version review.
Here is a brief list of the major points (even if, imho, it's easier to
repeat all the review process):

 - One of the easiest change to spot is the reduced number of patches in the
   series. A lot of problems of bad splitting of commits where present before
   (documentation only in last commits, functionalities firstly introduced
   and later used in other commits, etc).
 - Definition of LLC (Last Level Cache) as the place where coloring applies
   should be more consistent throughout all the series (documentation and
   cache layout auto-probing code).
 - Kconfig option to let configure the maximum number of cache colors.
 - Only one kind of syntax to specify color configurations.
 - Only arrays to store colors (no more need for bitmaps).
 - No more limitations on the max number of colors (previously, because of
   a static assert failure, it was limited to 64).
 - Kconfig option to let configure the buddy allocator reserved size.
 - Removed the duplicated version of setup_pagetables.
 - No more need to expose vm_alloc function as non-static.

Open points and possible problems
---------------------------------

- The way xl passes user space memory to Xen it's adapted from various 
  points of the xl code itself (e.g. xc_domain_node_setaffinity) and it
  works, but it really needs attention from expert maintainers since 
  I'm not completely sure this is the correct way of doing things.
- We still need to bring back the relocation feature (part of) in order
  to move Xen memory to a colored space where the hypervisor could be
  isolated from VMs interference (see the revert commit #10 and the
  get_xen_paddr function in #12).
- Revert commits #8 and #9 are needed because coloring has the command
  line parsing as a prerequisite for its initialization and
  setup_pagetables must be called after it in order to color the Xen
  mapping. The DTB mapping is then added to the boot page tables instead
  of the Xen ones. Probably the way this is done is a bit simplistic.
  Looking forward for comments on the subject.
- A temporary mapping of the old Xen code (old here means non-colored)
  is used to reach variables in the old physical space so that secondary
  CPUs can boot. There were some comments in the previous version on that
  because the mapping is available for all the CPUs while only CPU0 is
  the one supposed to access it. I'm not sure how to temporarily mapping
  things only for the master CPU.
- A lot of #ifdef for cache coloring are introduced because I prefer to
  define functions only if they are actually needed. Let me know if you
  prefer a different approach.
- Julien posted an RFC to address a problem with the switch_ttbr function.
  For the moment I haven't considered it since it's still a work in progress.

Acknowledgements
----------------

This work is sponsored by Xilinx Inc., and supported by University of
Modena and Reggio Emilia and Minerva Systems.


Carlo Nonato (10):
  xen/arm: add cache coloring initialization
  xen/arm: add cache coloring initialization for domains
  xen/arm: dump cache colors in domain info debug-key
  tools/xl: add support for cache coloring configuration
  xen/arm: add support for cache coloring configuration via device-tree
  xen/common: add cache coloring allocator for domains
  xen/common: add colored heap info debug-key
  Revert "xen/arm: Remove unused BOOT_RELOC_VIRT_START"
  xen/arm: add Xen cache colors command line parameter
  xen/arm: add cache coloring support for Xen

Luca Miccio (2):
  Revert "xen/arm: setup: Add Xen as boot module before printing all
    boot modules"
  Revert "xen/arm: mm: Initialize page-tables earlier"

 docs/man/xl.cfg.5.pod.in              |  10 +
 docs/misc/arm/cache-coloring.rst      | 201 ++++++++++++++
 docs/misc/arm/device-tree/booting.txt |   4 +
 docs/misc/xen-command-line.pandoc     |  45 ++++
 tools/libs/light/libxl_create.c       |  12 +
 tools/libs/light/libxl_types.idl      |   1 +
 tools/xl/xl_parse.c                   |  52 +++-
 xen/arch/arm/Kconfig                  |  28 ++
 xen/arch/arm/Makefile                 |   1 +
 xen/arch/arm/alternative.c            |   5 +
 xen/arch/arm/coloring.c               | 367 ++++++++++++++++++++++++++
 xen/arch/arm/domain.c                 |  14 +
 xen/arch/arm/domain_build.c           |  22 +-
 xen/arch/arm/include/asm/coloring.h   |  60 +++++
 xen/arch/arm/include/asm/config.h     |   4 +-
 xen/arch/arm/include/asm/domain.h     |   4 +
 xen/arch/arm/include/asm/mm.h         |  22 +-
 xen/arch/arm/include/asm/processor.h  |  16 ++
 xen/arch/arm/mm.c                     | 144 ++++++++--
 xen/arch/arm/psci.c                   |   4 +-
 xen/arch/arm/setup.c                  |  90 ++++++-
 xen/arch/arm/smpboot.c                |   3 +-
 xen/arch/arm/xen.lds.S                |   2 +-
 xen/common/page_alloc.c               | 237 ++++++++++++++++-
 xen/common/vmap.c                     |  25 ++
 xen/include/public/arch-arm.h         |   8 +
 xen/include/xen/vmap.h                |   4 +
 27 files changed, 1333 insertions(+), 52 deletions(-)
 create mode 100644 docs/misc/arm/cache-coloring.rst
 create mode 100644 xen/arch/arm/coloring.c
 create mode 100644 xen/arch/arm/include/asm/coloring.h

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393757.632927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoE-0002VN-IK; Fri, 26 Aug 2022 12:51:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393757.632927; Fri, 26 Aug 2022 12:51:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoE-0002V7-Cg; Fri, 26 Aug 2022 12:51:38 +0000
Received: by outflank-mailman (input) for mailman id 393757;
 Fri, 26 Aug 2022 12:51:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoD-00013M-3t
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:37 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1c65ce9-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:36 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id h22so2987366ejk.4
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:36 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1c65ce9-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=/k6VvB3GlpUbTg4zEznZ7s2FszL8KBjsUm71X4Idjuk=;
        b=TkjcBMbK5k+ifi9o1Ju2dmUOhDYdZocxEf3v1aJeONp3N/Qm9YFiXb/9q9AMinR2kl
         YhnGZb95x3BQtTbpDeqkH491kkSW2V1K6ZdKXZyY4S6hG1GRen613zzRtrGgY059aQ5M
         B7phPR0z0xvb+U5Xhiy44RXY0MSCmhb/zAYbas8hb48iLI7ypAlslyI+sb3EnmhrBXhZ
         6G+XFBtOmFB/vn3axX4wWZfiLzGMe2KM6RzDlcvmK/UZNWyV+EjDY3Mv05EAMmJr84a0
         lWf3mbjvsxt7dgNILST3Br5ATKgl4Y86pALj2BQpIg9PsVZv0PB9XeZz0vFnHV0rqpa/
         qycw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=/k6VvB3GlpUbTg4zEznZ7s2FszL8KBjsUm71X4Idjuk=;
        b=NM6vVkUnhW6fHQ+4YYx+9ufLwBgcv9NoT/YYEbFBbNMpk/4fuzSRv4H5yoQzIWkH9R
         /03G2KiYWsIXzeig+WGmzoznjkQATC7kCRjkd1BfZO4RxrFwwDsQtA02vQX57StOdhEG
         meG8ZuIhFh3dtLX6WOHOoOzH6bwk1AyIpYHC9cuX1IMRopwrSFLRWNVNrEZMclVDUEP6
         poxbWxs5dw44ZEkAHqe8BUAKWqqeaQTgSN+lQ+6KwVIXQ7nt9Rw/dN/3z9kainnLwqV9
         nu9dPDz8XONrvPuo8iE/GyashnwKUpGtar1Erw78rt/dFgc/GQi6k2UdkQ78rUeRo67R
         aqJA==
X-Gm-Message-State: ACgBeo1QHgVqHXqzc7rTTxeY7LNBsfrRYnO4gEAxBeCXMZCz66VtIS23
	hwtvbQheCDvwh2FPwysZyN1CIo1a7tsNRw==
X-Google-Smtp-Source: AA6agR4cmYT6GhJBqHIWhFgE6ZHbq+wC+jPgGthC2iv6Rv7beNG7K5JqPb+y3XB5NXs2nrKOgup5Rw==
X-Received: by 2002:a17:907:9484:b0:738:6f9f:6032 with SMTP id dm4-20020a170907948400b007386f9f6032mr5437827ejc.602.1661518295433;
        Fri, 26 Aug 2022 05:51:35 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 05/12] xen/arm: add support for cache coloring configuration via device-tree
Date: Fri, 26 Aug 2022 14:51:04 +0200
Message-Id: <20220826125111.152261-6-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit adds the "colors" Device Tree attribute that can be used for
DomUs and Dom0less color configurations. The syntax is the same used
for every color config.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 docs/misc/arm/cache-coloring.rst      | 45 +++++++++++++++++++++++++++
 docs/misc/arm/device-tree/booting.txt |  4 +++
 xen/arch/arm/coloring.c               | 17 ++++++++++
 xen/arch/arm/domain_build.c           |  9 ++++++
 xen/arch/arm/include/asm/coloring.h   |  3 ++
 5 files changed, 78 insertions(+)

diff --git a/docs/misc/arm/cache-coloring.rst b/docs/misc/arm/cache-coloring.rst
index 345d97cb56..763acd2d3f 100644
--- a/docs/misc/arm/cache-coloring.rst
+++ b/docs/misc/arm/cache-coloring.rst
@@ -111,5 +111,50 @@ LLC way size (as previously discussed) and Dom0 colors can be set using the
 appropriate command line parameters. See the relevant documentation in
 "docs/misc/xen-command-line.pandoc".
 
+DomUs colors can be set either in the xl configuration file (relative
+documentation at "docs/man/xl.cfg.pod.5.in") or via Device Tree, also for
+Dom0less configurations, as in the following example:
+
+.. raw:: html
+
+    <pre>
+        xen,xen-bootargs = "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=1 sched=null llc-way-size=64K xen-colors=0-1 dom0-colors=2-6";
+        xen,dom0-bootargs "console=hvc0 earlycon=xen earlyprintk=xen root=/dev/ram0"
+
+        dom0 {
+            compatible = "xen,linux-zimage" "xen,multiboot-module";
+            reg = <0x0 0x1000000 0x0 15858176>;
+        };
+
+        dom0-ramdisk {
+            compatible = "xen,linux-initrd" "xen,multiboot-module";
+            reg = <0x0 0x2000000 0x0 20638062>;
+        };
+
+        domU0 {
+            #address-cells = <0x1>;
+            #size-cells = <0x1>;
+            compatible = "xen,domain";
+            memory = <0x0 0x40000>;
+            colors = "4-8,10,11,12";
+            cpus = <0x1>;
+            vpl011 = <0x1>;
+
+            module@2000000 {
+                compatible = "multiboot,kernel", "multiboot,module";
+                reg = <0x2000000 0xffffff>;
+                bootargs = "console=ttyAMA0";
+            };
+
+            module@30000000 {
+                compatible = "multiboot,ramdisk", "multiboot,module";
+                reg = <0x3000000 0xffffff>;
+            };
+        };
+    </pre>
+
+Please refer to the relative documentation in
+"docs/misc/arm/device-tree/booting.txt".
+
 Note that if no color configuration is provided for domains, they fallback to
 the default one, which corresponds simply to all available colors.
\ No newline at end of file
diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 98253414b8..82e8dd89c8 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -162,6 +162,10 @@ with the following properties:
 
     An integer specifying the number of vcpus to allocate to the guest.
 
+- colors
+    A string specifying the color configuration for the guest. Refer to
+    "docs/misc/arm/cache_coloring.rst" for syntax.
+
 - vpl011
 
     An empty property to enable/disable a virtual pl011 for the guest to
diff --git a/xen/arch/arm/coloring.c b/xen/arch/arm/coloring.c
index 40a07617cc..87e20b952e 100644
--- a/xen/arch/arm/coloring.c
+++ b/xen/arch/arm/coloring.c
@@ -252,8 +252,11 @@ int domain_coloring_init(struct domain *d,
         if ( config->from_guest )
             copy_from_guest(d->arch.colors, config->colors, config->num_colors);
         else
+        {
             memcpy(d->arch.colors, config->colors.p,
                    sizeof(unsigned int) * config->num_colors);
+            xfree(config->colors.p);
+        }
     }
 
     if ( !d->arch.colors )
@@ -283,6 +286,20 @@ void domain_dump_coloring_info(struct domain *d)
     print_colors(d->arch.colors, d->arch.num_colors);
 }
 
+void prepare_color_domain_config(struct xen_arch_domainconfig *config,
+                                 const char *colors_str)
+{
+    unsigned int num;
+
+    config->colors.p = xzalloc_array(unsigned int, max_colors);
+    if ( !config->colors.p )
+        panic("Unable to allocate cache colors\n");
+
+    if ( parse_color_config(colors_str, config->colors.p, &num) )
+        panic("Error parsing the color configuration\n");
+    config->num_colors = (uint16_t)num;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 4d4cb692fc..979b9c8906 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -34,6 +34,7 @@
 #include <xen/serial.h>
 
 #ifdef CONFIG_CACHE_COLORING
+#include <asm/coloring.h>
 #define XEN_DOM0_CREATE_FLAGS CDF_privileged
 #else
 #define XEN_DOM0_CREATE_FLAGS CDF_privileged | CDF_directmap
@@ -3275,6 +3276,7 @@ void __init create_domUs(void)
     struct dt_device_node *node;
     const struct dt_device_node *cpupool_node,
                                 *chosen = dt_find_node_by_path("/chosen");
+    const char * __maybe_unused colors_str;
 
     BUG_ON(chosen == NULL);
     dt_for_each_child_node(chosen, node)
@@ -3354,6 +3356,13 @@ void __init create_domUs(void)
             d_cfg.cpupool_id = pool_id;
         }
 
+#ifdef CONFIG_CACHE_COLORING
+        if ( dt_find_property(node, "xen,static-mem", NULL) )
+            panic("static-mem is not valid when cache coloring is enabled\n");
+        if ( !dt_property_read_string(node, "colors", &colors_str) )
+            prepare_color_domain_config(&d_cfg.arch, colors_str);
+#endif
+
         /*
          * The variable max_init_domid is initialized with zero, so here it's
          * very important to use the pre-increment operator to call
diff --git a/xen/arch/arm/include/asm/coloring.h b/xen/arch/arm/include/asm/coloring.h
index 967031ae04..b7fa323870 100644
--- a/xen/arch/arm/include/asm/coloring.h
+++ b/xen/arch/arm/include/asm/coloring.h
@@ -36,4 +36,7 @@ int domain_coloring_init(struct domain *d,
 void domain_coloring_free(struct domain *d);
 void domain_dump_coloring_info(struct domain *d);
 
+void prepare_color_domain_config(struct xen_arch_domainconfig *config,
+                                 const char *colors_str);
+
 #endif /* !__ASM_ARM_COLORING_H__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393758.632938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoH-0002r6-4p; Fri, 26 Aug 2022 12:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393758.632938; Fri, 26 Aug 2022 12:51:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoG-0002qw-Vv; Fri, 26 Aug 2022 12:51:40 +0000
Received: by outflank-mailman (input) for mailman id 393758;
 Fri, 26 Aug 2022 12:51:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoF-00013M-E0
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:39 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d36904fd-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:38 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id fy31so2562260ejc.6
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:38 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d36904fd-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=8q8cSK0/ZbUuwajE+w5sunrFXcqx/YGVTD9wQaToEI0=;
        b=nbqKRXAqk2Udr8kI/SUFCexCVkpyFcD7/XcAuGIl8cue6/F+BzHuaCCJkXY4RWOYs0
         ZshlxV4FtJIKeJ9rTD+AG9T7olxSOwbPRR1Qp1okXYmUJCxous0RgjYSD6CLBmrfv+Go
         P9HVDtkKvMOtfhdbFk5Qh1Cf2CQ5VVDV4qzm/LQjNaxaAK5Glnv1Ku+UjXOlU5XC/ZWT
         3Zcv6QEBbmjf/wSbprs9Tnazd3U1wt1goOn1essPXdpbipZE9lCJIw6kVmmA9f4XivUx
         tzhUkDTCLTBFV5vXKmXUD5BeRPY83McAzK/okdxy7TYZoIRdR7Uguh//rjthiLTBdIPE
         Qoxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=8q8cSK0/ZbUuwajE+w5sunrFXcqx/YGVTD9wQaToEI0=;
        b=PSLRuQT+2sg8GFcPeibLTNhdQgHcvC199NT3KSNuP3HePvd6FTwX21j7FpzFEN1yIX
         1MwukTNVxd2cAI+6KF8C0bGAGDGV/JALVn7gC4RIsCEfiFTsN30Nrv8/CUwnXFoHfs11
         inVRGspGwAjeJ+khiD5+82mZPfcZuz06N0Q80jPHPvKfZW/eLhC23S4f2KUae+CP2prj
         N8zQpG2jUOp2XCaOnwmiqP3G0D0cEeozA4sChh9gCyn9Z1rbB3h44vFj5dfwEtrwCSRc
         pr7QxiLOZVh/GXyW57r7E0h3Vd5Y2jTypxet5da10gXKoI7+d9Z6LnDmym9JXjYUM3Q4
         ZIeA==
X-Gm-Message-State: ACgBeo3wpcbzgKf8Mkd3s3Qkjq1rpzM1SLj4qrbu+EnvIbcVBh7jX4yr
	OhOmdXn7kM+Vo8naTfLMfxdDFE2Cm6sZ7g==
X-Google-Smtp-Source: AA6agR5U5N1r4qkF/3vBc7BJpuniwJiwk4Drng/nfaijetjjGomI6h419PBY2XUs+KbJ4yUPlFIPgw==
X-Received: by 2002:a17:907:d08:b0:72f:b107:c07a with SMTP id gn8-20020a1709070d0800b0072fb107c07amr5492067ejc.340.1661518298352;
        Fri, 26 Aug 2022 05:51:38 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 07/12] xen/common: add colored heap info debug-key
Date: Fri, 26 Aug 2022 14:51:06 +0200
Message-Id: <20220826125111.152261-8-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit adds a debug-key to let the user inspect the colored heap
information. The number of pages stored for each available color is dumped.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 xen/common/page_alloc.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 4ae3cfe9a7..be6bb2b9a1 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -605,6 +605,27 @@ static struct page_info *alloc_col_domheap_page(struct domain *d,
     return pg;
 }
 
+static void dump_col_heap(unsigned char key)
+{
+    struct page_info *pg;
+    unsigned long pages;
+    unsigned int color;
+
+    printk("'%c' pressed -> dumping coloring heap info\n", key);
+
+    for ( color = 0; color < get_max_colors(); color++ )
+    {
+        printk("Heap[%u]: ", color);
+        pages = 0;
+        page_list_for_each( pg, colored_pages(color) )
+        {
+            BUG_ON(!(page_to_color(pg) == color));
+            pages++;
+        }
+        printk("%lu pages\n", pages);
+    }
+}
+
 size_param("buddy-alloc-size", buddy_alloc_size);
 #else
 static void free_col_domheap_page(struct page_info *pg)
@@ -2853,6 +2874,9 @@ static void cf_check dump_heap(unsigned char key)
 static __init int cf_check register_heap_trigger(void)
 {
     register_keyhandler('H', dump_heap, "dump heap info", 1);
+#ifdef CONFIG_CACHE_COLORING
+    register_keyhandler('k', dump_col_heap, "dump coloring heap info", 1);
+#endif
     return 0;
 }
 __initcall(register_heap_trigger);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393759.632945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoH-0002vW-Lc; Fri, 26 Aug 2022 12:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393759.632945; Fri, 26 Aug 2022 12:51:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoH-0002v8-Bm; Fri, 26 Aug 2022 12:51:41 +0000
Received: by outflank-mailman (input) for mailman id 393759;
 Fri, 26 Aug 2022 12:51:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoF-0001dl-O1
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:39 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2ca2647-253d-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 14:51:38 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id gb36so2951283ejc.10
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:37 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2ca2647-253d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=U19EH6QAwxhEkTeWIxszhQ+InALJqVaMoD+q8dGRBDI=;
        b=OEhuXHKa4EUgvKnKCL3I/lh2E1gm1vyFuhpuNyjQ4SQW8XEvAJiTpZcR3rL+fYvWF4
         piNtjknBvC7gIarGTq3b8Nqjq8v2o2jaxC/k8RHqzLkVA1swbQbmFVSWZAomIB4ZbOrX
         HytBtYHb+A2jVS89INTytidDiDvaGYmDZJXZwSy5ka+s+BJBxdwqAXn4SEc4D1jlTxn/
         1tYSaWiW53syvxttlnp2KGjhV9mq088djluFtJ1YhClWsdEVkoRDFcbGDGhh4L/Y1SSM
         laxqDbkNUCwYywEd1TfzT1rHVVgr1JOfuLawIdPZjDWdvNJ0hOaZ6l4mBVA/S5cljkST
         7eWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=U19EH6QAwxhEkTeWIxszhQ+InALJqVaMoD+q8dGRBDI=;
        b=S2i09H0tjZfAQchdiEtCJDpS2GqsH54gd22H3wPFVPalYPG7G2BjzRz8ZcaTVy3jku
         O3coM5UyLCkHXmqxBaKCxyoIMtRBEIfjB5jTZjHAqxepydMZ2SZoi7wcdkA7RnL0zEe0
         J9j2H9Wwi6xMBU5gVEggp491zCBOHMKRAD+sDZsRZ08jwjweSMUa2BtQAyS+2qjMjN4P
         qpHhl0tJ8x2eTAwjZ3sr8kQ6ueS1LATmcyLPPf5j0vz2g2x4CDG9OoegDtkrxqGY3SPn
         AjsvcLMi76k9FN6sz0ctupsccvyJU6kfsXy0Ddlpr2pWP4vDmgj7MYzcdBz6q0mak1hF
         olKA==
X-Gm-Message-State: ACgBeo2au8rF59MP5vO5Yx/ovXGp78RbpvgofmqxPFqJ9a3osGsZgrSI
	5cqcbISptZJu3Wny2JOyU+eS0a2d1LiEEA==
X-Google-Smtp-Source: AA6agR6zOQOOy13zYcedLOKfh3IPynjNphh93x6YWFOqV7oY0e9XjPwMdznT5ZczJ9Glh7H8uM4zRg==
X-Received: by 2002:a17:906:8cb0:b0:730:d6f3:279e with SMTP id qr48-20020a1709068cb000b00730d6f3279emr5705871ejc.25.1661518296990;
        Fri, 26 Aug 2022 05:51:36 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 06/12] xen/common: add cache coloring allocator for domains
Date: Fri, 26 Aug 2022 14:51:05 +0200
Message-Id: <20220826125111.152261-7-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit adds a new memory page allocator that implements the cache
coloring mechanism. The allocation algorithm follows the given color
configuration of the domain and maximizes contiguity in the page selection.

Pages are stored in a color-indexed data structure of lists, sorted by their
machine addresses, that are collectively called the colored heap. A simple
initialization function computes the color of any available page and inserts
it in the corresponding list. When a domain requests a page, the allocator
takes one from the subset of lists whose colors equals the domain
configuration. It chooses the page with the highest machine address such that
contiguous pages are sequentially allocated, if this is made possible by a
color assignment which includes adjacent colors.

The allocator can handle only requests with order equals to 0 since the
single color granularity is represented in memory by one page.

The buddy allocator must coexist with the colored one because the Xen heap
isn't colored. For this reason a new Kconfig option and a command line
parameter are added to let the user set the amount of memory reserved for
the buddy allocator. Even when cache coloring is enabled, this memory isn't
managed by the colored allocator.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 docs/misc/arm/cache-coloring.rst    |  43 +++++-
 docs/misc/xen-command-line.pandoc   |  14 ++
 xen/arch/arm/Kconfig                |  12 ++
 xen/arch/arm/coloring.c             |  10 ++
 xen/arch/arm/include/asm/coloring.h |   6 +
 xen/arch/arm/include/asm/mm.h       |   3 +
 xen/common/page_alloc.c             | 213 ++++++++++++++++++++++++++--
 7 files changed, 290 insertions(+), 11 deletions(-)

diff --git a/docs/misc/arm/cache-coloring.rst b/docs/misc/arm/cache-coloring.rst
index 763acd2d3f..5f9132e525 100644
--- a/docs/misc/arm/cache-coloring.rst
+++ b/docs/misc/arm/cache-coloring.rst
@@ -13,6 +13,9 @@ In order to enable and use it, few steps are needed.
   (refer to menuconfig help for value meaning and when it should be changed).
 
         CONFIG_MAX_CACHE_COLORS=<n>
+- If needed, change the amount of memory reserved for the buddy allocator either
+  from the Xen configuration file, via the CONFIG_BUDDY_ALLOCATOR_SIZE value,
+  or with the command line option. See `Colored allocator and buddy allocator`.
 - Assign colors to domains using the `Color selection format`_ (see
   `Coloring parameters`_ for more documentation pointers).
 
@@ -157,4 +160,42 @@ Please refer to the relative documentation in
 "docs/misc/arm/device-tree/booting.txt".
 
 Note that if no color configuration is provided for domains, they fallback to
-the default one, which corresponds simply to all available colors.
\ No newline at end of file
+the default one, which corresponds simply to all available colors.
+
+Colored allocator and buddy allocator
+*************************************
+
+The colored allocator distributes pages based on color configurations of
+domains so that each domains only gets pages of its own colors.
+The colored allocator is meant as an alternative to the buddy allocator because
+its allocation policy is by definition incompatible with the generic one. Since
+the Xen heap systems is not colored yet, we need to support the coexistence of
+the two allocators and some memory must be left for the buddy one.
+The buddy allocator memory can be reserved from the Xen configuration file or
+with the help of a command-line option.
+
+Known issues and limitations
+****************************
+
+Colored allocator can only make use of order-0 pages
+####################################################
+
+The cache coloring technique relies on memory mappings and on the smallest
+amount of memory that can be mapped to achieve the maximum number of colors
+(cache partitions) possible. This amount is what is normally called a page and,
+in Xen terminology, the order-0 page is the smallest one. The fairly simple
+colored allocator currently implemented, makes use only of such pages.
+It must be said that a more complex one could, in theory, adopt higher order
+pages if the colors selection contained adjacent colors. Two subsequent colors,
+for example, can be represented by a order-1 page, four colors correspond to
+a order-2 pages, etc.
+
+Fail to boot colored DomUs with large memory size
+#################################################
+
+If the Linux kernel used for Dom0 does not contain the upstream commit
+3941552aec1e04d63999988a057ae09a1c56ebeb and uses the hypercall buffer device,
+colored DomUs with memory size larger then 127 MB cannot be created. This is
+caused by the default limit of this buffer of 64 pages. The solution is to
+manually apply the above patch, or to check if there is an updated version of
+the kernel in use for Dom0 that contains this change.
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 910ebeb2eb..4e85c4dfe4 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -299,6 +299,20 @@ can be maintained with the pv-shim mechanism.
     cause Xen not to use Indirect Branch Tracking even when support is
     available in hardware.
 
+### buddy-alloc-size (arm64)
+> `= <size>`
+
+> Default: `64M`
+
+Amount of memory reserved for the buddy allocator when colored allocator is
+active. This options is parsed only when cache coloring support is enabled.
+The colored allocator is meant as an alternative to the buddy allocator,
+because its allocation policy is by definition incompatible with the
+generic one. Since the Xen heap systems is not colored yet, we need to
+support the coexistence of the two allocators for now. This parameter, which is
+optional and for expert only, it's used to set the amount of memory reserved to
+the buddy allocator.
+
 ### clocksource (x86)
 > `= pit | hpet | acpi | tsc`
 
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 8acff9682c..abce4bfc25 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -147,6 +147,18 @@ config MAX_CACHE_COLORS
 	  colors at boot. Note that if, at any time, a color configuration with more
 	  colors than the maximum will be employed an error will be produced.
 
+config BUDDY_ALLOCATOR_SIZE
+	string "Buddy allocator reserved memory size" if CACHE_COLORING
+	default "64M" if CACHE_COLORING
+	default "0M" if !CACHE_COLORING
+	help
+	  Amount of memory reserved for the buddy allocator to work alongside
+	  the colored one. The colored allocator is meant as an alternative to the
+	  buddy allocator because its allocation policy is by definition
+	  incompatible with the generic one. Since the Xen heap systems is not
+	  colored yet, we need to support the coexistence of the two allocators and
+	  some memory must be left for the buddy one.
+
 config TEE
 	bool "Enable TEE mediators support (UNSUPPORTED)" if UNSUPPORTED
 	default n
diff --git a/xen/arch/arm/coloring.c b/xen/arch/arm/coloring.c
index 87e20b952e..3fb86043d1 100644
--- a/xen/arch/arm/coloring.c
+++ b/xen/arch/arm/coloring.c
@@ -300,6 +300,16 @@ void prepare_color_domain_config(struct xen_arch_domainconfig *config,
     config->num_colors = (uint16_t)num;
 }
 
+unsigned int page_to_color(struct page_info *pg)
+{
+    return addr_to_color(page_to_maddr(pg));
+}
+
+unsigned int get_max_colors(void)
+{
+    return max_colors;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/coloring.h b/xen/arch/arm/include/asm/coloring.h
index b7fa323870..0982bc9853 100644
--- a/xen/arch/arm/include/asm/coloring.h
+++ b/xen/arch/arm/include/asm/coloring.h
@@ -29,6 +29,8 @@
 
 #include <public/arch-arm.h>
 
+struct page_info;
+
 bool __init coloring_init(void);
 
 int domain_coloring_init(struct domain *d,
@@ -39,4 +41,8 @@ void domain_dump_coloring_info(struct domain *d);
 void prepare_color_domain_config(struct xen_arch_domainconfig *config,
                                  const char *colors_str);
 
+unsigned int page_to_color(struct page_info *pg);
+
+unsigned int get_max_colors(void);
+
 #endif /* !__ASM_ARM_COLORING_H__ */
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index da25251cda..a59fc3791a 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -143,6 +143,9 @@ struct page_info
 #define PGC_count_width   PG_shift(10)
 #define PGC_count_mask    ((1UL<<PGC_count_width)-1)
 
+#define _PGC_colored      PG_shift(11)
+#define PGC_colored       PG_mask(1, 11)
+
 /*
  * Page needs to be scrubbed. Since this bit can only be set on a page that is
  * free (i.e. in PGC_state_free) we can reuse PGC_allocated bit.
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index bfd4150be7..4ae3cfe9a7 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -150,6 +150,9 @@
 #define p2m_pod_offline_or_broken_hit(pg) 0
 #define p2m_pod_offline_or_broken_replace(pg) BUG_ON(pg != NULL)
 #endif
+#ifdef CONFIG_CACHE_COLORING
+#include <asm/coloring.h>
+#endif
 
 #ifndef PGC_static
 #define PGC_static 0
@@ -231,6 +234,9 @@ static bool __read_mostly scrub_debug;
 #define scrub_debug    false
 #endif
 
+/* Memory required for buddy allocator to work with colored one */
+static unsigned long __initdata buddy_alloc_size;
+
 /*
  * Bit width of the DMA heap -- used to override NUMA-node-first.
  * allocation strategy, which can otherwise exhaust low memory.
@@ -440,7 +446,172 @@ mfn_t __init alloc_boot_pages(unsigned long nr_pfns, unsigned long pfn_align)
     BUG();
 }
 
+static DEFINE_SPINLOCK(heap_lock);
 
+/* Initialise fields which have other uses for free pages. */
+static void init_free_page_fields(struct page_info *pg)
+{
+    pg->u.inuse.type_info = PGT_TYPE_INFO_INITIALIZER;
+    page_set_owner(pg, NULL);
+}
+
+static bool is_page_colored(struct page_info *pg)
+{
+    return pg->count_info & PGC_colored;
+}
+
+#ifdef CONFIG_CACHE_COLORING
+/*************************
+ * COLORED SIDE-ALLOCATOR
+ *
+ * Pages are stored by their color in separate lists. Each list defines a color
+ * and it is initialized during end_boot_allocator, where each page's color
+ * is calculated and the page itself is put in the correct list.
+ * After initialization there will be N lists where N is the number of maximum
+ * available colors on the platform.
+ */
+typedef struct page_list_head colored_pages_t;
+static colored_pages_t __ro_after_init *color_heap;
+
+#define colored_pages(color) &color_heap[(color)]
+
+static void color_heap_insert_page(struct page_info *pg)
+{
+    struct page_info *pos;
+    struct page_list_head *head = colored_pages(page_to_color(pg));
+
+    pg->count_info |= PGC_colored;
+
+    /* Insert page in list in ascending machine address order */
+    page_list_for_each( pos, head )
+    {
+        if ( page_to_maddr(pos) < page_to_maddr(pg) )
+        {
+            head = &pos->list;
+            break;
+        }
+    }
+
+    page_list_add_tail(pg, head);
+}
+
+static void color_heap_remove_page(struct page_info *pg)
+{
+    page_list_del(pg, colored_pages(page_to_color(pg)));
+}
+
+static void __init init_col_heap_pages(struct page_info *pg,
+                                       unsigned long nr_pages)
+{
+    unsigned int i;
+
+    if ( !color_heap )
+    {
+        unsigned int max_colors = get_max_colors();
+        color_heap = xmalloc_array(colored_pages_t, max_colors);
+        BUG_ON(!color_heap);
+
+        for ( i = 0; i < max_colors; i++ )
+            INIT_PAGE_LIST_HEAD(colored_pages(i));
+
+        if ( !buddy_alloc_size )
+            buddy_alloc_size = parse_size_and_unit(CONFIG_BUDDY_ALLOCATOR_SIZE,
+                                                   NULL);
+    }
+
+    printk(XENLOG_INFO "Init color heap with %lu pages\n", nr_pages);
+    printk(XENLOG_INFO "Paging starting from: 0x%"PRIx64"\n",
+           page_to_maddr(pg));
+
+    for ( i = 0; i < nr_pages; i++ )
+        color_heap_insert_page(pg++);
+}
+
+/* Alloc one page based on domain color configuration */
+static struct page_info *alloc_col_heap_page(unsigned int memflags,
+                                             const unsigned int *colors,
+                                             unsigned int num_colors)
+{
+    struct page_info *pg = NULL;
+    unsigned int i;
+    bool need_tlbflush = false;
+    uint32_t tlbflush_timestamp = 0;
+
+    spin_lock(&heap_lock);
+
+    for ( i = 0; i < num_colors; i++ )
+    {
+        struct page_info *tmp;
+
+        if ( page_list_empty(colored_pages(colors[i])) )
+            continue;
+
+        tmp = page_list_first(colored_pages(colors[i]));
+        if ( !pg || page_to_maddr(tmp) > page_to_maddr(pg) )
+            pg = tmp;
+    }
+
+    if ( !pg )
+    {
+        spin_unlock(&heap_lock);
+        return NULL;
+    }
+
+    pg->count_info = PGC_state_inuse;
+
+    if ( !(memflags & MEMF_no_tlbflush) )
+        accumulate_tlbflush(&need_tlbflush, pg, &tlbflush_timestamp);
+
+    init_free_page_fields(pg);
+    flush_page_to_ram(mfn_x(page_to_mfn(pg)),
+                      !(memflags & MEMF_no_icache_flush));
+    color_heap_remove_page(pg);
+
+    spin_unlock(&heap_lock);
+
+    if ( need_tlbflush )
+        filtered_flush_tlb_mask(tlbflush_timestamp);
+
+    return pg;
+}
+
+static void free_col_domheap_page(struct page_info *pg)
+{
+    pg->count_info = PGC_state_free;
+    page_set_owner(pg, NULL);
+    color_heap_insert_page(pg);
+}
+
+static struct page_info *alloc_col_domheap_page(struct domain *d,
+                                                unsigned int memflags)
+{
+    struct page_info *pg;
+
+    ASSERT(!in_irq());
+
+    pg = alloc_col_heap_page(memflags, d->arch.colors, d->arch.num_colors);
+    if ( !pg )
+    {
+        printk(XENLOG_ERR "Colored page is null for domain %pd\n", d);
+        return NULL;
+    }
+
+    if ( d && !(memflags & MEMF_no_owner) && assign_page(pg, 0, d, memflags) )
+    {
+        free_col_domheap_page(pg);
+        return NULL;
+    }
+
+    return pg;
+}
+
+size_param("buddy-alloc-size", buddy_alloc_size);
+#else
+static void free_col_domheap_page(struct page_info *pg)
+{
+    return;
+}
+#endif /* CONFIG_CACHE_COLORING */
 
 /*************************
  * BINARY BUDDY ALLOCATOR
@@ -462,7 +633,6 @@ static unsigned long node_need_scrub[MAX_NUMNODES];
 static unsigned long *avail[MAX_NUMNODES];
 static long total_avail_pages;
 
-static DEFINE_SPINLOCK(heap_lock);
 static long outstanding_claims; /* total outstanding claims by all domains */
 
 unsigned long domain_adjust_tot_pages(struct domain *d, long pages)
@@ -1027,10 +1197,7 @@ static struct page_info *alloc_heap_pages(
             accumulate_tlbflush(&need_tlbflush, &pg[i],
                                 &tlbflush_timestamp);
 
-        /* Initialise fields which have other uses for free pages. */
-        pg[i].u.inuse.type_info = PGT_TYPE_INFO_INITIALIZER;
-        page_set_owner(&pg[i], NULL);
-
+        init_free_page_fields(&pg[i]);
     }
 
     spin_unlock(&heap_lock);
@@ -1926,6 +2093,7 @@ static unsigned long avail_heap_pages(
 void __init end_boot_allocator(void)
 {
     unsigned int i;
+    unsigned long buddy_pages = PFN_DOWN(buddy_alloc_size);
 
     /* Pages that are free now go to the domain sub-allocator. */
     for ( i = 0; i < nr_bootmem_regions; i++ )
@@ -1939,11 +2107,24 @@ void __init end_boot_allocator(void)
             break;
         }
     }
-    for ( i = nr_bootmem_regions; i-- > 0; )
+
+    for ( i = 0; i < nr_bootmem_regions; i++ )
     {
         struct bootmem_region *r = &bootmem_region_list[i];
+
+        if ( buddy_pages && (r->s < r->e) )
+        {
+            unsigned long pages = MIN(r->e - r->s, buddy_pages);
+            init_heap_pages(mfn_to_page(_mfn(r->s)), pages);
+            r->s += pages;
+            buddy_pages -= pages;
+        }
         if ( r->s < r->e )
+#ifdef CONFIG_CACHE_COLORING
+            init_col_heap_pages(mfn_to_page(_mfn(r->s)), r->e - r->s);
+#else
             init_heap_pages(mfn_to_page(_mfn(r->s)), r->e - r->s);
+#endif
     }
     nr_bootmem_regions = 0;
 
@@ -2429,6 +2610,17 @@ struct page_info *alloc_domheap_pages(
 
     ASSERT_ALLOC_CONTEXT();
 
+#ifdef CONFIG_CACHE_COLORING
+    /* Only domains are supported for coloring */
+    if ( d )
+    {
+        /* Colored allocation must be done on 0 order */
+        if ( order )
+            return NULL;
+        return alloc_col_domheap_page(d, memflags);
+    }
+#endif
+
     bits = domain_clamp_alloc_bitsize(memflags & MEMF_no_owner ? NULL : d,
                                       bits ? : (BITS_PER_LONG+PAGE_SHIFT));
 
@@ -2546,7 +2738,10 @@ void free_domheap_pages(struct page_info *pg, unsigned int order)
             scrub = 1;
         }
 
-        free_heap_pages(pg, order, scrub);
+        if ( is_page_colored(pg) )
+            free_col_domheap_page(pg);
+        else
+            free_heap_pages(pg, order, scrub);
     }
 
     if ( drop_dom_ref )
@@ -2759,9 +2954,7 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
          * to PGC_state_inuse.
          */
         pg[i].count_info = PGC_static | PGC_state_inuse;
-        /* Initialise fields which have other uses for free pages. */
-        pg[i].u.inuse.type_info = PGT_TYPE_INFO_INITIALIZER;
-        page_set_owner(&pg[i], NULL);
+        init_free_page_fields(&pg[i]);
     }
 
     spin_unlock(&heap_lock);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393760.632958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoJ-0003Lz-1R; Fri, 26 Aug 2022 12:51:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393760.632958; Fri, 26 Aug 2022 12:51:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoI-0003L2-Rf; Fri, 26 Aug 2022 12:51:42 +0000
Received: by outflank-mailman (input) for mailman id 393760;
 Fri, 26 Aug 2022 12:51:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoH-0001dl-6a
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:41 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d448dcee-253d-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 14:51:40 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id c93so1988472edf.5
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:40 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d448dcee-253d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=mumtEpYDzsfqqrj/UQbqekiy0HKBQR3otaMx18E1gBE=;
        b=xF6d3CycQqSXZr5mXMfex5FSMUku5QfnDhd1tcf6hVs4Oi+ZNAeDUydlhx8f0CfXyq
         dkaXsxCUrFBFNPJ7e6aPQciKup8yB72BgamDmYUhJjaH6XslapKtwA04Il5BUOxRFiYU
         PuHPim2R870aUIlOiBurGNfPxumFp/gBY0dwT1d3G+LxcUKIy2ItfJJ0JWIbrt3iqBNd
         zU1FPTnDmSJQ1L5ZFxQmEkfLpj29qa92k4Z0R84HswIdCQAObOc3whqV3XmRxPHrvKaE
         yTB23z2fUcfxiA6C8OVMaxOQDWx+GA+N1zrmqC5Ux4GQ4b0dFoLRJOaPkpQy4GiGN9OJ
         15Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=mumtEpYDzsfqqrj/UQbqekiy0HKBQR3otaMx18E1gBE=;
        b=wNe7fNzriQgrKXp3aKEzb+16kSyeUU1PJbAcCCiWHMXpu6IMu+v6gYxfdcJSbhavos
         fa/ajXEUc+NSPhF5l5HvOLZDcsN4zVk1kjokiSpjZTkODD4SGs14T70gxQYxzx7dHA6H
         pd1G7YEsVuocUoBzExFinYLxNLssWY6poorr7E87jIzcIuydHMG3Ww/MEaT7dFr5i07P
         GHeNsVOum8lC8azIziIyzq0ZUuctq8V2269Sl/6NuOLhHblS3NxVuOucUD+Ctw3eSQzv
         b3LbflMZH3fOECpqtygfg97LQnx9hbc+AUkfSXYLjzbGJecgcpgxV5HnYnZPqsCq8qpj
         2CIg==
X-Gm-Message-State: ACgBeo0ki/0NUR0fzG+68lwB9CGUrF0ozrT96baYCkUsE80zikjiteiW
	FuG1UsPw+ujfkYPezOWPcEmRqRxhm6Gbqg==
X-Google-Smtp-Source: AA6agR7lZPkiAL9EKsSHYPBtWPKEClMLiQYt9tN+2HJKmX5UBmoBaXeFRyLfatr9kwkHX1bebvJ6kQ==
X-Received: by 2002:a05:6402:5292:b0:446:80b0:4a5d with SMTP id en18-20020a056402529200b0044680b04a5dmr6771606edb.285.1661518299763;
        Fri, 26 Aug 2022 05:51:39 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 08/12] Revert "xen/arm: setup: Add Xen as boot module before printing all boot modules"
Date: Fri, 26 Aug 2022 14:51:07 +0200
Message-Id: <20220826125111.152261-9-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

This reverts commit 48fb2a9deba11ee48dde21c5c1aa93b4d4e1043b.

The cache coloring support has the command line parsing as a prerequisite
because of the color configurations passed in this way. Also, the Xen boot
module will be placed at an address that depends on the coloring
initialization. This commit moves the Xen boot module after the coloring
initialization to allow the order of operations previously described to
take place.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 xen/arch/arm/setup.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index c02f21c0e6..611c93ad7d 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -921,12 +921,6 @@ void __init start_xen(unsigned long boot_phys_offset,
               "Please check your bootloader.\n",
               fdt_paddr);
 
-    /* Register Xen's load address as a boot module. */
-    xen_bootmodule = add_boot_module(BOOTMOD_XEN,
-                             (paddr_t)(uintptr_t)(_start + boot_phys_offset),
-                             (paddr_t)(uintptr_t)(_end - _start), false);
-    BUG_ON(!xen_bootmodule);
-
     fdt_size = boot_fdt_info(device_tree_flattened, fdt_paddr);
 
     cmdline = boot_fdt_cmdline(device_tree_flattened);
@@ -938,6 +932,12 @@ void __init start_xen(unsigned long boot_phys_offset,
         panic("Xen Coloring support: setup failed\n");
 #endif
 
+    /* Register Xen's load address as a boot module. */
+    xen_bootmodule = add_boot_module(BOOTMOD_XEN,
+                             (paddr_t)(uintptr_t)(_start + boot_phys_offset),
+                             (paddr_t)(uintptr_t)(_end - _start + 1), false);
+    BUG_ON(!xen_bootmodule);
+
     setup_mm();
 
     /* Parse the ACPI tables for possible boot-time configuration */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393761.632966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoJ-0003WU-Qp; Fri, 26 Aug 2022 12:51:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393761.632966; Fri, 26 Aug 2022 12:51:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoJ-0003U6-Hg; Fri, 26 Aug 2022 12:51:43 +0000
Received: by outflank-mailman (input) for mailman id 393761;
 Fri, 26 Aug 2022 12:51:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoI-00013M-H9
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:42 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5106182-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:41 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id w20so1965831edd.10
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:41 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5106182-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=5ZYX74i6LNybppj1kPT1aVudjHbJkWqFfMxF9yVRhVY=;
        b=O5sRob496fZhG2BZn4uIt5GZ3ja7k1UqYhko8MlIjEUtXueOnpsv2F1pQFcbOF21vZ
         o4EYz5MBaf6XzranrszO0sqEhgTv1T9KU+fWWk1v6dYI09ydgcfOAnY1UPLYGeSxZYYn
         dz9MvRNFShUbxZW4x2310DD4jfKF7oZumLS0VBfTHIKwzIN48Xi2Xd7kRBtiB+4z3rsU
         P40X+M14muXCGKd+0PGo/3YMol84t3/2xoMtwuUrnZe5rnTXlB6wQ98vJWTZqLTN4RIQ
         3BhKh66ooKHwZ6wIc7Cy01dPbbZ3UIdaVvw2/XQEiZkF3HT/Z99x5+Usoz8edjxl5n0N
         kmsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=5ZYX74i6LNybppj1kPT1aVudjHbJkWqFfMxF9yVRhVY=;
        b=nMQ0f1sqF7uhPtW9U3ubBAZL+yw5Xd96a9Gmyr7vjePGYH1eMMv7mhDMLsUhXQNdlL
         nMleuO5dgAH368l/xX71dvMM31eYSmlGa8yqO1JOymmOM/j9ml7HRyFN7Uqzn6k7I2zt
         FvKQlKyTb+vydn7UDGdjfnavWpJAkm7Kv9xsDRAEn14NxWJerz/o+khQK9D9cgkoyiH8
         /MCkWF0ASFtp2275Iq57xqIutoQDl/CpZ9K1zPMFuOYPc/cSvJGUY5kbR0PoSaHTa3ZE
         F/Vq8BzgiPHj+LUdeM5QKlgd/aP+KwQEP0RksZDxGL8TxnyLB14LFcEs/VZSgVpImL0N
         YQUg==
X-Gm-Message-State: ACgBeo2ZDlVNHd6JOj8hi3GNUrMsFVLVAiiGWYhbdhR51SNmmgJXU2nH
	sbB053hHfydN/ivOQW6flmUT+UFxc1cdAA==
X-Google-Smtp-Source: AA6agR53Q+BBK6cYj+MeqnJJqd2wgmTW0fOIWt3YkTx7Ek4v3VbQAc0emVnvQhW665dRlaNdmqwq9g==
X-Received: by 2002:a05:6402:1d51:b0:41f:cf6c:35a5 with SMTP id dz17-20020a0564021d5100b0041fcf6c35a5mr6911189edb.25.1661518301097;
        Fri, 26 Aug 2022 05:51:41 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 09/12] Revert "xen/arm: mm: Initialize page-tables earlier"
Date: Fri, 26 Aug 2022 14:51:08 +0200
Message-Id: <20220826125111.152261-10-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

This reverts commit 3a5d341681af650825bbe3bee9be5d187da35080.

The cache coloring support will be configurable within the Xen command line,
but it will be initialized before the page-tables; this is necessary
for coloring the hypervisor itself beacuse we will create a specific
mapping for it that could be configured using some command line options.
In order to parse all the needed information from the device tree, we
need to revert the above commit and restore the previous order for
page-tables initialization.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 xen/arch/arm/mm.c    | 33 ++++++++++++++++++++-------------
 xen/arch/arm/setup.c |  4 ++--
 2 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b42cddb1b4..1afa02b4af 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -368,6 +368,17 @@ static inline lpae_t pte_of_xenaddr(vaddr_t va)
     return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
 }
 
+static void __init create_boot_mappings(unsigned long virt_offset,
+                                        mfn_t base_mfn)
+{
+    lpae_t pte;
+
+    pte = mfn_to_xen_entry(base_mfn, MT_NORMAL);
+    write_pte(&boot_second[second_table_offset(virt_offset)], pte);
+    flush_xen_tlb_local();
+}
+
+/* Map the FDT in the early boot page table */
 void * __init early_fdt_map(paddr_t fdt_paddr)
 {
     /* We are using 2MB superpage for mapping the FDT */
@@ -375,7 +386,6 @@ void * __init early_fdt_map(paddr_t fdt_paddr)
     paddr_t offset;
     void *fdt_virt;
     uint32_t size;
-    int rc;
 
     /*
      * Check whether the physical FDT address is set and meets the minimum
@@ -391,12 +401,7 @@ void * __init early_fdt_map(paddr_t fdt_paddr)
     /* The FDT is mapped using 2MB superpage */
     BUILD_BUG_ON(BOOT_FDT_VIRT_START % SZ_2M);
 
-    rc = map_pages_to_xen(BOOT_FDT_VIRT_START, maddr_to_mfn(base_paddr),
-                          SZ_2M >> PAGE_SHIFT,
-                          PAGE_HYPERVISOR_RO | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to map the device-tree.\n");
-
+    create_boot_mappings(BOOT_FDT_VIRT_START, maddr_to_mfn(base_paddr));
 
     offset = fdt_paddr % SECOND_SIZE;
     fdt_virt = (void *)BOOT_FDT_VIRT_START + offset;
@@ -410,12 +415,8 @@ void * __init early_fdt_map(paddr_t fdt_paddr)
 
     if ( (offset + size) > SZ_2M )
     {
-        rc = map_pages_to_xen(BOOT_FDT_VIRT_START + SZ_2M,
-                              maddr_to_mfn(base_paddr + SZ_2M),
-                              SZ_2M >> PAGE_SHIFT,
-                              PAGE_HYPERVISOR_RO | _PAGE_BLOCK);
-        if ( rc )
-            panic("Unable to map the device-tree\n");
+        create_boot_mappings(BOOT_FDT_VIRT_START + SZ_2M,
+                             maddr_to_mfn(base_paddr + SZ_2M));
     }
 
     return fdt_virt;
@@ -514,6 +515,12 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
     pte.pt.table = 1;
     xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
 
+    /* ... DTB */
+    pte = boot_second[second_table_offset(BOOT_FDT_VIRT_START)];
+    xen_second[second_table_offset(BOOT_FDT_VIRT_START)] = pte;
+    pte = boot_second[second_table_offset(BOOT_FDT_VIRT_START + SZ_2M)];
+    xen_second[second_table_offset(BOOT_FDT_VIRT_START + SZ_2M)] = pte;
+
 #ifdef CONFIG_ARM_64
     ttbr = (uintptr_t) xen_pgtable + phys_offset;
 #else
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 611c93ad7d..bdfc05bf61 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -910,8 +910,6 @@ void __init start_xen(unsigned long boot_phys_offset,
     /* Initialize traps early allow us to get backtrace when an error occurred */
     init_traps();
 
-    setup_pagetables(boot_phys_offset);
-
     smp_clear_cpu_maps();
 
     device_tree_flattened = early_fdt_map(fdt_paddr);
@@ -938,6 +936,8 @@ void __init start_xen(unsigned long boot_phys_offset,
                              (paddr_t)(uintptr_t)(_end - _start + 1), false);
     BUG_ON(!xen_bootmodule);
 
+    setup_pagetables(boot_phys_offset);
+
     setup_mm();
 
     /* Parse the ACPI tables for possible boot-time configuration */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393763.632982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoM-00049L-Ag; Fri, 26 Aug 2022 12:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393763.632982; Fri, 26 Aug 2022 12:51:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoM-00048l-5M; Fri, 26 Aug 2022 12:51:46 +0000
Received: by outflank-mailman (input) for mailman id 393763;
 Fri, 26 Aug 2022 12:51:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoK-00013M-Th
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:44 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5e4340f-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:43 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id w19so2977774ejc.7
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:42 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5e4340f-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=R2LVk/C6PM+sPeAhFE7BODzOKtHorLP8l5p0UCGQm08=;
        b=emY69uwkApgKgI11ZNEMUZfM+vPFPj8VxmWLvHqsCDAzj7eG5APZ7dBucJ/tr1t/j1
         lXsQgOOwIb7jfg/+lT68jTUaX9AS+t3pD6CgvC0osp6Ij7XsOydAto4TNnZAKblA/nSL
         ZmEDzGQz08dbpLSgSMd/DdpupS2amd+8elAVUE2Iv+qEUxiCYquAAYLoxb7v066zkMIU
         jl+C0ngg1198wx/o8i2Rs1B4TXYZQ2C+N29zA+U9R5Et/z6aqzeFcH4kIfKR3j4/iV8n
         8fQWFMkHpidqp0UoBwPfURfC8C/o3/SGA8d090aVtD/pbpISHGWqKGvgylnlc5ma0SfB
         9KFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=R2LVk/C6PM+sPeAhFE7BODzOKtHorLP8l5p0UCGQm08=;
        b=sZN3EE8VedAqkJh6lF+Yvc7geT2eIIAXcb9yU/DFAbfCbCCL0AwdPGhJUXhX04OSbb
         hL922qxz6HN8R11kzatm+/DYqny3ZOwPtVptbbYrRreIOeanMzuPgWgEmVkQRElCNl2X
         kRn0djCYGCe0bTSWW5DUTfQOtCljgP/ESlXBkndpVNQvqU9xyEI6w0C8IilYI5fHEtok
         huWHsr2Pva8JYfVdl7Jz6AXf8uq8J0IKsUcgU4CWaBaGbbuACmvi5aCG+fRgtiJ/B/iU
         GxA/gpUV9qJkLLc5q5oQggPU6WWqPOW8INi1KYM+iRzSSYFczu9ZnD1Wsju57DLCKX1O
         BhBg==
X-Gm-Message-State: ACgBeo0de5z8yD3LyelUcUW75Ni2eKtt/z6f2DLx7dhN0LQDsdg6msW9
	FKLvPtQPh8tNJAnip5BOwHvHZo5D6lo8aw==
X-Google-Smtp-Source: AA6agR7eTkdARncmnhdOdZxvLR4fOboOR7KBRJv/rWA3iHYAfq7JqmX+pifCMOVdeXbxFzx6X68nIw==
X-Received: by 2002:a17:906:fd8d:b0:73a:7424:6c0d with SMTP id xa13-20020a170906fd8d00b0073a74246c0dmr5478138ejb.425.1661518302466;
        Fri, 26 Aug 2022 05:51:42 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>
Subject: [PATCH 10/12] Revert "xen/arm: Remove unused BOOT_RELOC_VIRT_START"
Date: Fri, 26 Aug 2022 14:51:09 +0200
Message-Id: <20220826125111.152261-11-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This reverts commit 0c18fb76323bfb13615b6f13c98767face2d8097.

Cache coloring support for Xen needs to relocate Xen code and data in a new
colored physical space. The BOOT_RELOC_VIRT_START will be used as the virtual
base address for a temporary mapping to this new space.
---
 xen/arch/arm/include/asm/config.h | 4 +++-
 xen/arch/arm/mm.c                 | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 2fafb9f228..c8c1095d70 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -77,7 +77,8 @@
  *   2M -   4M   Xen text, data, bss
  *   4M -   6M   Fixmap: special-purpose 4K mapping slots
  *   6M -  10M   Early boot mapping of FDT
- *   10M - 12M   Livepatch vmap (if compiled in)
+ *   10M - 12M   Early relocation address (used when relocating Xen)
+ *               and later for livepatch vmap (if compiled in)
  *
  * ARM32 layout:
  *   0  -  12M   <COMMON>
@@ -113,6 +114,7 @@
 #define BOOT_FDT_VIRT_START    _AT(vaddr_t,0x00600000)
 #define BOOT_FDT_VIRT_SIZE     _AT(vaddr_t, MB(4))
 
+#define BOOT_RELOC_VIRT_START  _AT(vaddr_t,0x00a00000)
 #ifdef CONFIG_LIVEPATCH
 #define LIVEPATCH_VMAP_START   _AT(vaddr_t,0x00a00000)
 #define LIVEPATCH_VMAP_SIZE    _AT(vaddr_t, MB(2))
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 1afa02b4af..efc0dd75d1 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -154,6 +154,7 @@ static void __init __maybe_unused build_assertions(void)
     /* 2MB aligned regions */
     BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK);
     BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK);
+    BUILD_BUG_ON(BOOT_RELOC_VIRT_START & ~SECOND_MASK);
     /* 1GB aligned regions */
 #ifdef CONFIG_ARM_32
     BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:51:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:51:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393764.632987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoN-0004EI-Aw; Fri, 26 Aug 2022 12:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393764.632987; Fri, 26 Aug 2022 12:51:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYoM-0004Bj-My; Fri, 26 Aug 2022 12:51:46 +0000
Received: by outflank-mailman (input) for mailman id 393764;
 Fri, 26 Aug 2022 12:51:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoL-00013M-HW
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:45 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d6cc40dc-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:44 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id u9so2993938ejy.5
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:44 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6cc40dc-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=dZ3qv2o8Z5R8iaRWPpU2jN0ZDcc6sdXYlyjmn+N7fqM=;
        b=rmeyh6Filnzt+/RKgIchnVdgT0CM2K8b5Y1fMOcCTG7gdtnfy8xPkinC7mDfEpoVJP
         QFVDPe1HXyOshMooxclN2PDL8GhGUUDt1gGx0+FwCCkoesgPTHNpuEeUyr/tC07blIAP
         hmGqJ+hAz43s/2tIDsSBNONjNQ86JYz/y4yFT6TelWvwWkAoC+D9Lfs6fn/jYTZzIvDe
         GkayLPdo1q9PnCuoeUTAvFfpfq3bndlDWg1YKhx9yCUQWfxuqKju4YYHPlo1dDO6Tlup
         V2Cyza3aWxtMrgGzAJrud/32d57ueRuKnpUSi1EmsI6zx6NAGXC2ANoL9CkqQjLhBM5j
         /BRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=dZ3qv2o8Z5R8iaRWPpU2jN0ZDcc6sdXYlyjmn+N7fqM=;
        b=HeJGGFRIUKYaXdKuiUgOHo6LBrTo/j4AyLTOGnYn1E50/UF2Kj0aC6JC04U0v/EKWJ
         GJbW2W7jkDAJ1TaHsPVPqwWE/GdZGWW3cu+6DQsTeCKMFhHnQ1/7NPE3bnk4iF5J0RSA
         dqGMJ5g6Zj/TRzdChF3GwZXfrxcisxnPoc4LbKwtR3/xg2IrTP8JmaULFhdt0WhZqWLd
         idOe3iFfUln47UYCxC+nZTM4kZT7oyN/kSfZ1MQGDnAT0PQ6gTun6A7O9AjD2AGj+FIP
         C5GDt3tO1REmQsRaQDwrkpRCWEzRuFuaHqsMBQukXefzoJIB7uQX16PrLwBQepIiA+6V
         5tsg==
X-Gm-Message-State: ACgBeo1et4XhrnmAILGctgE4rmMITI2eQhYvJVzj1yllvqmA0kArhTkT
	rrWJ18ttqzU1FR7iRI8dFx2S21h9kFvcsw==
X-Google-Smtp-Source: AA6agR5OtsLrD0ECCjgz0yMmObcumL1gAUFhYfipVmPy1FhcCjfV6DVPgweww28OtGAQbO4ZhnuyaQ==
X-Received: by 2002:a17:907:6d8c:b0:731:6c60:eced with SMTP id sb12-20020a1709076d8c00b007316c60ecedmr5513987ejc.266.1661518303914;
        Fri, 26 Aug 2022 05:51:43 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 11/12] xen/arm: add Xen cache colors command line parameter
Date: Fri, 26 Aug 2022 14:51:10 +0200
Message-Id: <20220826125111.152261-12-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit adds a new command line parameter to configure Xen cache colors.
These colors can be dumped with the cache coloring info debug-key.

By default, Xen uses the first color.
Benchmarking the VM interrupt response time provides an estimation of
LLC usage by Xen's most latency-critical runtime task. Results on Arm
Cortex-A53 on Xilinx Zynq UltraScale+ XCZU9EG show that one color, which
reserves 64 KiB of L2, is enough to attain best responsiveness.

More colors are instead very likely to be needed on processors whose L1
cache is physically-indexed and physically-tagged, such as Cortex-A57.
In such cases, coloring applies to L1 also, and there typically are two
distinct L1-colors. Therefore, reserving only one color for Xen would
senselessly partitions a cache memory that is already private, i.e.
underutilize it. The default amount of Xen colors is thus set to one.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 docs/misc/arm/cache-coloring.rst  |  8 ++++----
 docs/misc/xen-command-line.pandoc |  9 +++++++++
 xen/arch/arm/coloring.c           | 30 ++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/docs/misc/arm/cache-coloring.rst b/docs/misc/arm/cache-coloring.rst
index 5f9132e525..f347245093 100644
--- a/docs/misc/arm/cache-coloring.rst
+++ b/docs/misc/arm/cache-coloring.rst
@@ -16,8 +16,8 @@ In order to enable and use it, few steps are needed.
 - If needed, change the amount of memory reserved for the buddy allocator either
   from the Xen configuration file, via the CONFIG_BUDDY_ALLOCATOR_SIZE value,
   or with the command line option. See `Colored allocator and buddy allocator`.
-- Assign colors to domains using the `Color selection format`_ (see
-  `Coloring parameters`_ for more documentation pointers).
+- Assign colors to each memory pool (Xen, Dom0/DomUs) using the
+  `Color selection format`_ for `Coloring parameters`_ configuration.
 
 Background
 **********
@@ -110,8 +110,8 @@ Examples:
 Coloring parameters
 *******************
 
-LLC way size (as previously discussed) and Dom0 colors can be set using the
-appropriate command line parameters. See the relevant documentation in
+LLC way size (as previously discussed), Xen colors and Dom0 colors can be set
+using the appropriate command line parameters. See the relevant documentation in
 "docs/misc/xen-command-line.pandoc".
 
 DomUs colors can be set either in the xl configuration file (relative
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 4e85c4dfe4..3b4f7d54a7 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2736,6 +2736,15 @@ In the case that x2apic is in use, this option switches between physical and
 clustered mode.  The default, given no hint from the **FADT**, is cluster
 mode.
 
+### xen-colors (arm64)
+> `= List of [ <integer> | <integer>-<integer> ]`
+
+> Default: `0: the lowermost color`
+
+Specify Xen color configuration.
+Two colors are most likely needed on platforms where private caches are
+physically indexed, e.g. the L1 instruction cache of the Arm Cortex-A57.
+
 ### xenheap_megabytes (arm32)
 > `= <size>`
 
diff --git a/xen/arch/arm/coloring.c b/xen/arch/arm/coloring.c
index 3fb86043d1..7ae4095dba 100644
--- a/xen/arch/arm/coloring.c
+++ b/xen/arch/arm/coloring.c
@@ -31,6 +31,10 @@
 #include <asm/processor.h>
 #include <asm/sysregs.h>
 
+/* By default Xen uses the lowestmost color */
+#define XEN_DEFAULT_COLOR       0
+#define XEN_DEFAULT_NUM_COLORS  1
+
 /* Size of a LLC way */
 static unsigned int llc_way_size;
 /* Number of colors available in the LLC */
@@ -42,6 +46,9 @@ static uint64_t addr_col_mask;
 #define addr_set_color(addr, color) (((addr) & ~addr_col_mask) \
                                      | ((color) << PAGE_SHIFT))
 
+static unsigned int xen_colors[CONFIG_MAX_CACHE_COLORS];
+static unsigned int xen_num_colors;
+
 static unsigned int dom0_colors[CONFIG_MAX_CACHE_COLORS];
 static unsigned int dom0_num_colors;
 
@@ -93,6 +100,12 @@ static int parse_color_config(const char *buf, unsigned int *colors,
 
 size_param("llc-way-size", llc_way_size);
 
+static int __init parse_xen_colors(const char *s)
+{
+    return parse_color_config(s, xen_colors, &xen_num_colors);
+}
+custom_param("xen-colors", parse_xen_colors);
+
 static int __init parse_dom0_colors(const char *s)
 {
     return parse_color_config(s, dom0_colors, &dom0_num_colors);
@@ -187,6 +200,8 @@ static void dump_coloring_info(unsigned char key)
     printk("LLC way size: %u KiB\n", llc_way_size >> 10);
     printk("Number of LLC colors supported: %u\n", max_colors);
     printk("Address color mask: 0x%lx\n", addr_col_mask);
+    printk("Xen colors: ");
+    print_colors(xen_colors, xen_num_colors);
 }
 
 bool __init coloring_init(void)
@@ -204,6 +219,21 @@ bool __init coloring_init(void)
     ASSERT((max_colors & (max_colors - 1)) == 0);
     addr_col_mask = (max_colors - 1) << PAGE_SHIFT;
 
+    if ( !xen_num_colors )
+    {
+        printk(XENLOG_WARNING
+               "Xen color config not found. Using default color: %u\n",
+               XEN_DEFAULT_COLOR);
+        xen_colors[0] = XEN_DEFAULT_COLOR;
+        xen_num_colors = XEN_DEFAULT_NUM_COLORS;
+    }
+
+    if ( !check_colors(xen_colors, xen_num_colors) )
+    {
+        printk(XENLOG_ERR "Bad color config for Xen\n");
+        return false;
+    }
+
     if ( !dom0_num_colors )
     {
         printk(XENLOG_WARNING
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:57:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:57:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393797.633004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYtZ-0008A9-LU; Fri, 26 Aug 2022 12:57:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393797.633004; Fri, 26 Aug 2022 12:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYtZ-0008A2-I4; Fri, 26 Aug 2022 12:57:09 +0000
Received: by outflank-mailman (input) for mailman id 393797;
 Fri, 26 Aug 2022 12:57:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRYtY-00089s-Hn; Fri, 26 Aug 2022 12:57:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRYtY-0000Ml-Ej; Fri, 26 Aug 2022 12:57:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRYtX-0002hi-VD; Fri, 26 Aug 2022 12:57:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRYtX-00056O-Uh; Fri, 26 Aug 2022 12:57:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FunKAzaXgU1UEyMTHhg87tj27jBQ3Dqg4ricqYm8ZgM=; b=0R6XZG1RnPsTiimt143d1ul+1G
	sczCGErP8MDAiCu1CfCcFD12wwBYpnEVgpV5S/mVOzw+Jb65ULlr/ky62VwDo/Qs+Q0qKWLio+Bqy
	ExhQ0V27t21ccURiimeJHCxi2QJ/kLCd/d6a119GOx3pNYvO8AZAEx6Pr28XSGiYD8O0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172791-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172791: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 12:57:07 +0000

flight 172791 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172791/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   22 days
Failing since        172151  2022-08-05 02:40:28 Z   21 days  174 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 12:59:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 12:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393805.633015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYvo-0000LN-3r; Fri, 26 Aug 2022 12:59:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393805.633015; Fri, 26 Aug 2022 12:59:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRYvn-0000LG-W5; Fri, 26 Aug 2022 12:59:27 +0000
Received: by outflank-mailman (input) for mailman id 393805;
 Fri, 26 Aug 2022 12:59:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRYoO-00013M-Qu
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 12:51:49 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d897abc7-253d-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 14:51:47 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id w20so1966146edd.10
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 05:51:47 -0700 (PDT)
Received: from carlo-ubuntu.. (hipert-gw1.mat.unimo.it. [155.185.5.1])
 by smtp.gmail.com with ESMTPSA id
 b18-20020a1709063cb200b006ff0b457cdasm888812ejh.53.2022.08.26.05.51.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Aug 2022 05:51:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d897abc7-253d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc;
        bh=MAcCYgLuW2JN1CdLnlsHkZM9+Svr9dDqHhzmUix4b28=;
        b=aQvtU6aY3GOOMBSLSs3py6Mtgu1qvnSKmxihgWB4BhPWlA2Mc9lOtyFFXBVlKUgHdx
         25/+zuVeVsB1w6YpBKcF14YFoVBX2URFz5L7KzJoHEQt+hEhh+0qTBr7E0J4L1RanJOo
         lbhmEvQPHGFh/+P4jTjggXFn1ctwJJGUmUHBpu4ndUvGLJzU011J+tJdbwwX7LFcxO5C
         10QcecvM/M9cavXSLSokG33KsWIHyJ3jX6i0zO26k+198Of79a4SEE+7gReOmYS1F8/T
         5p7nqBo3A4Fp29TIq7FW1tnX1vqp8wS1s/66PHsou2f2C7+7Qkq9y+jiLhqYLHN0zv3a
         hPMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;
        bh=MAcCYgLuW2JN1CdLnlsHkZM9+Svr9dDqHhzmUix4b28=;
        b=NASuXMoa+YbVxGgk05iNhMg+A0C1TnJtbNrjwkn0rt7xdjKF5jSsS+DvE8KeW5VmAh
         3Fo8O3duh7kZ0Nt85TE0IUhFNaNl+rZbZdV6kT/wFD0wp6ih27NxzFGe++JSAmrBDasR
         GHLXmjYCilb0cEsGGJG5K8+k3gTslOr3SQ93WgsYV09HYqsYW4ni8EXiHRiKCnofn7jz
         mAGtwKNXbf27j1bC24Sb36N+iPO0XzKMKnf3OekSmIIkWvfIsT1c/GVJ1KAnF2+twcwl
         QZ6I5u+aDhM2dyD2ZezFLD1tQ1AVQqUeZNWgONVLAOpesNlr1g3vBFT9TW7hzu7fTC6s
         wssg==
X-Gm-Message-State: ACgBeo1x1JN4jvXwjoL1aYdLZIyP7fD0mcl6mqODsS97gfJ003QDXv3D
	Xx+dd/Q3o/y4GwN4EfkAzTHhfFbfD8CIog==
X-Google-Smtp-Source: AA6agR6D6V0v6j+wVNZ1pvQb0K+SKpKrJSiV8IaWDMo5bmX4t6jn3eMM9/AeOAPNQO/NvW26sf1qgQ==
X-Received: by 2002:aa7:cdcc:0:b0:447:bac0:4c20 with SMTP id h12-20020aa7cdcc000000b00447bac04c20mr5659135edw.183.1661518306779;
        Fri, 26 Aug 2022 05:51:46 -0700 (PDT)
From: Carlo Nonato <carlo.nonato@minervasys.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	jbeulich@suse.com,
	julien@xen.org,
	stefano.stabellini@amd.com,
	wl@xen.org,
	marco.solieri@unimore.it,
	andrea.bastoni@minervasys.tech,
	lucmiccio@gmail.com,
	Carlo Nonato <carlo.nonato@minervasys.tech>,
	Marco Solieri <marco.solieri@minervasys.tech>
Subject: [PATCH 12/12] xen/arm: add cache coloring support for Xen
Date: Fri, 26 Aug 2022 14:51:11 +0200
Message-Id: <20220826125111.152261-13-carlo.nonato@minervasys.tech>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit adds the cache coloring support for Xen own physical space.

It extends the implementation of setup_pagetables to make use of Xen cache
coloring configuration. Page tables construction is essentially the same
except for the fact that the physical addresses, in case of cache coloring,
are taken from the translation of a new, temporary, virtual space that is
physically colored.

The temporary mapping is also used to relocate Xen to the new physical space
starting at the address taken from the old get_xen_paddr() function which
is brought back for the occasion.
The temporary mapping is finally converted to a mapping of the "old" (meaning
the original physical space) Xen code, so that the boot CPU can actually
address the variables and functions used by secondary CPUs.
This happens when the boot CPU needs to bring up other CPUs (psci.c and
smpboot.c) and when the TTBR value is passed to them
(init_secondary_pagetables).

Finally, since the alternative framework needs to remap the Xen text and
inittext sections, this operation must be done in a coloring-aware way.
The function __vmap_colored is introduced for that. It actually is really
similar to the original __vmap, with the exception that it doesn't take for
granted that the physical memory is contiguous.

Signed-off-by: Carlo Nonato <carlo.nonato@minervasys.tech>
Signed-off-by: Marco Solieri <marco.solieri@minervasys.tech>
---
 xen/arch/arm/alternative.c          |   5 ++
 xen/arch/arm/coloring.c             |  16 ++++
 xen/arch/arm/include/asm/coloring.h |  12 +++
 xen/arch/arm/include/asm/mm.h       |  19 ++++-
 xen/arch/arm/mm.c                   | 118 +++++++++++++++++++++++++---
 xen/arch/arm/psci.c                 |   4 +-
 xen/arch/arm/setup.c                |  74 +++++++++++++++--
 xen/arch/arm/smpboot.c              |   3 +-
 xen/arch/arm/xen.lds.S              |   2 +-
 xen/common/vmap.c                   |  25 ++++++
 xen/include/xen/vmap.h              |   4 +
 11 files changed, 258 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
index f03cd943c6..fcecd3fec8 100644
--- a/xen/arch/arm/alternative.c
+++ b/xen/arch/arm/alternative.c
@@ -220,8 +220,13 @@ void __init apply_alternatives_all(void)
      * The text and inittext section are read-only. So re-map Xen to
      * be able to patch the code.
      */
+#ifdef CONFIG_CACHE_COLORING
+    xenmap = __vmap_colored(&xen_mfn, 1U << xen_order, 1, PAGE_HYPERVISOR,
+                            VMAP_DEFAULT);
+#else
     xenmap = __vmap(&xen_mfn, 1U << xen_order, 1, 1, PAGE_HYPERVISOR,
                     VMAP_DEFAULT);
+#endif
     /* Re-mapping Xen is not expected to fail during boot. */
     BUG_ON(!xenmap);
 
diff --git a/xen/arch/arm/coloring.c b/xen/arch/arm/coloring.c
index 7ae4095dba..946b21b826 100644
--- a/xen/arch/arm/coloring.c
+++ b/xen/arch/arm/coloring.c
@@ -340,6 +340,22 @@ unsigned int get_max_colors(void)
     return max_colors;
 }
 
+paddr_t next_xen_colored(paddr_t phys)
+{
+    unsigned int i, color = addr_to_color(phys);
+
+    for( i = 0; i < xen_num_colors; i++ )
+    {
+        if ( color == xen_colors[i] )
+            return phys;
+        else if ( color < xen_colors[i] )
+            return addr_set_color(phys, xen_colors[i]);
+    }
+
+    /* Jump to next color space (llc_way_size bytes) and use the first color */
+    return addr_set_color(phys + llc_way_size, xen_colors[0]);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/coloring.h b/xen/arch/arm/include/asm/coloring.h
index 0982bc9853..374fef9278 100644
--- a/xen/arch/arm/include/asm/coloring.h
+++ b/xen/arch/arm/include/asm/coloring.h
@@ -25,10 +25,20 @@
 #define __ASM_ARM_COLORING_H__
 
 #include <xen/init.h>
+#include <xen/lib.h>
 #include <xen/sched.h>
 
 #include <public/arch-arm.h>
 
+/*
+ * Amount of memory that we need to map in order to color Xen. The value
+ * depends on the maximum number of available colors of the hardware. The
+ * memory size is pessimistically calculated assuming only one color is used,
+ * which means that any pages belonging to any other color has to be skipped.
+ */
+#define XEN_COLOR_MAP_SIZE \
+    ROUNDUP((_end - _start) * get_max_colors(), XEN_PADDR_ALIGN)
+
 struct page_info;
 
 bool __init coloring_init(void);
@@ -45,4 +55,6 @@ unsigned int page_to_color(struct page_info *pg);
 
 unsigned int get_max_colors(void);
 
+paddr_t next_xen_colored(paddr_t phys);
+
 #endif /* !__ASM_ARM_COLORING_H__ */
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index a59fc3791a..00351ee014 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -192,11 +192,15 @@ extern unsigned long total_pages;
 #define PDX_GROUP_SHIFT SECOND_SHIFT
 
 /* Boot-time pagetable setup */
-extern void setup_pagetables(unsigned long boot_phys_offset);
+extern void setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr);
 /* Map FDT in boot pagetable */
 extern void *early_fdt_map(paddr_t fdt_paddr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
+#ifdef CONFIG_CACHE_COLORING
+/* Remove early coloring mappings */
+extern void remove_coloring_mappings(void);
+#endif
 /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
  * new page table */
 extern int init_secondary_pagetables(int cpu);
@@ -398,6 +402,19 @@ static inline void page_set_xenheap_gfn(struct page_info *p, gfn_t gfn)
     } while ( (y = cmpxchg(&p->u.inuse.type_info, x, nx)) != x );
 }
 
+#ifdef CONFIG_CACHE_COLORING
+#define virt_boot_xen(virt)\
+    (vaddr_t)(virt - XEN_VIRT_START + BOOT_RELOC_VIRT_START)
+#define set_value_for_secondary(var, val) \
+    *(typeof(var) *)(virt_boot_xen((vaddr_t)&var)) = val; \
+    clean_dcache(var);
+#else
+#define virt_boot_xen(virt) virt
+#define set_value_for_secondary(var, val) \
+    var = val;
+    clean_dcache(var);
+#endif
+
 #endif /*  __ARCH_ARM_MM__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index efc0dd75d1..951e1796af 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -33,6 +33,9 @@
 
 #include <xsm/xsm.h>
 
+#ifdef CONFIG_CACHE_COLORING
+#include <asm/coloring.h>
+#endif
 #include <asm/fixmap.h>
 #include <asm/setup.h>
 
@@ -105,6 +108,9 @@ DEFINE_BOOT_PAGE_TABLE(boot_third);
 static DEFINE_PAGE_TABLE(xen_pgtable);
 static DEFINE_PAGE_TABLE(xen_first);
 #define THIS_CPU_PGTABLE xen_pgtable
+#ifdef CONFIG_CACHE_COLORING
+static DEFINE_PAGE_TABLE(xen_colored_temp);
+#endif
 #else
 #define HYP_PT_ROOT_LEVEL 1
 /* Per-CPU pagetable pages */
@@ -362,13 +368,6 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
-static inline lpae_t pte_of_xenaddr(vaddr_t va)
-{
-    paddr_t ma = va + phys_offset;
-
-    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
-}
-
 static void __init create_boot_mappings(unsigned long virt_offset,
                                         mfn_t base_mfn)
 {
@@ -460,9 +459,79 @@ static void clear_table(void *table)
     clean_and_invalidate_dcache_va_range(table, PAGE_SIZE);
 }
 
-/* Boot-time pagetable setup.
- * Changes here may need matching changes in head.S */
-void __init setup_pagetables(unsigned long boot_phys_offset)
+#ifdef CONFIG_CACHE_COLORING
+/*
+ * Translate a Xen (.text) virtual address to the colored physical one
+ * depending on the hypervisor configuration.
+ * N.B: this function must be used only when migrating from non colored to
+ * colored pagetables since it assumes to have the temporary mappings created
+ * during setup_pagetables that starts from BOOT_RELOC_VIRT_START.
+ * After the migration we have to use virt_to_maddr.
+ */
+static paddr_t virt_to_maddr_colored(vaddr_t virt)
+{
+    unsigned int va_offset;
+
+    va_offset = virt - XEN_VIRT_START;
+    return __pa(BOOT_RELOC_VIRT_START + va_offset);
+}
+
+static void __init create_coloring_temp_mappings(paddr_t xen_paddr)
+{
+    lpae_t pte;
+    unsigned int i;
+
+    for ( i = 0; i < (_end - _start) / PAGE_SIZE; i++ )
+    {
+        xen_paddr = next_xen_colored(xen_paddr);
+        pte = mfn_to_xen_entry(maddr_to_mfn(xen_paddr), MT_NORMAL);
+        pte.pt.table = 1; /* level 3 mappings always have this bit set */
+        xen_colored_temp[i] = pte;
+        xen_paddr += PAGE_SIZE;
+    }
+
+    pte = mfn_to_xen_entry(virt_to_mfn(xen_colored_temp), MT_NORMAL);
+    pte.pt.table = 1;
+    write_pte(&boot_second[second_table_offset(BOOT_RELOC_VIRT_START)], pte);
+}
+
+void __init remove_coloring_mappings(void)
+{
+    int rc;
+
+    /* destroy the _PAGE_BLOCK mapping */
+    rc = modify_xen_mappings(BOOT_RELOC_VIRT_START,
+                             BOOT_RELOC_VIRT_START + SZ_2M,
+                             _PAGE_BLOCK);
+    BUG_ON(rc);
+}
+#endif /* !CONFIG_CACHE_COLORING */
+
+static inline lpae_t pte_of_xenaddr(vaddr_t va)
+{
+#ifdef CONFIG_CACHE_COLORING
+    paddr_t ma = virt_to_maddr_colored(va);
+#else
+    paddr_t ma = va + phys_offset;
+#endif
+
+    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
+}
+
+/*
+ * Boot-time pagetable setup with coloring support
+ * Changes here may need matching changes in head.S
+ *
+ * The coloring support consists of:
+ * - Create a temporary colored mapping that conforms to Xen color selection.
+ * - pte_of_xenaddr takes care of translating the virtual addresses to the
+ *   new colored physical space and the returns the pte, so that the page table
+ *   initialization can remain the same.
+ * - Copy Xen to the new colored physical space by exploiting the temporary
+ *   mapping.
+ * - Update TTBR0_EL2 with the new root page table address.
+ */
+void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
 {
     uint64_t ttbr;
     lpae_t pte, *p;
@@ -470,6 +539,10 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 
     phys_offset = boot_phys_offset;
 
+#ifdef CONFIG_CACHE_COLORING
+    create_coloring_temp_mappings(xen_paddr);
+#endif
+
 #ifdef CONFIG_ARM_64
     p = (void *) xen_pgtable;
     p[0] = pte_of_xenaddr((uintptr_t)xen_first);
@@ -522,7 +595,14 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
     pte = boot_second[second_table_offset(BOOT_FDT_VIRT_START + SZ_2M)];
     xen_second[second_table_offset(BOOT_FDT_VIRT_START + SZ_2M)] = pte;
 
-#ifdef CONFIG_ARM_64
+#ifdef CONFIG_CACHE_COLORING
+    /* Copy Xen to the new location */
+    memcpy((void *)BOOT_RELOC_VIRT_START, (const void *)XEN_VIRT_START,
+           (_end - _start));
+    clean_dcache_va_range((void *)BOOT_RELOC_VIRT_START, (_end - _start));
+
+    ttbr = virt_to_maddr_colored((vaddr_t)xen_pgtable);
+#elif CONFIG_ARM_64
     ttbr = (uintptr_t) xen_pgtable + phys_offset;
 #else
     ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
@@ -530,6 +610,18 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 
     switch_ttbr(ttbr);
 
+#ifdef CONFIG_CACHE_COLORING
+    /*
+     * Keep original Xen memory mapped because secondary CPUs still point to it
+     * and a few variables needs to be accessed by the master CPU in order to
+     * let them boot. This mapping will also replace the one created at the
+     * beginning of setup_pagetables.
+     */
+    map_pages_to_xen(BOOT_RELOC_VIRT_START,
+                     maddr_to_mfn(XEN_VIRT_START + phys_offset),
+                     SZ_2M >> PAGE_SHIFT, PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+#endif
+
     xen_pt_enforce_wnx();
 
 #ifdef CONFIG_ARM_32
@@ -559,8 +651,8 @@ int init_secondary_pagetables(int cpu)
 
     /* Set init_ttbr for this CPU coming up. All CPus share a single setof
      * pagetables, but rewrite it each time for consistency with 32 bit. */
-    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
-    clean_dcache(init_ttbr);
+    set_value_for_secondary(init_ttbr, virt_to_maddr(xen_pgtable));
+
     return 0;
 }
 #else
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index 0c90c2305c..d25325d28f 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -49,8 +49,8 @@ int call_psci_cpu_on(int cpu)
 {
     struct arm_smccc_res res;
 
-    arm_smccc_smc(psci_cpu_on_nr, cpu_logical_map(cpu), __pa(init_secondary),
-                  &res);
+    arm_smccc_smc(psci_cpu_on_nr, cpu_logical_map(cpu),
+                  __pa(virt_boot_xen((vaddr_t)init_secondary)), &res);
 
     return PSCI_RET(res);
 }
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index bdfc05bf61..4917ac84ab 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -453,7 +453,7 @@ static void * __init relocate_fdt(paddr_t dtb_paddr, size_t dtb_size)
     return fdt;
 }
 
-#ifdef CONFIG_ARM_32
+#if defined (CONFIG_ARM_32) || (CONFIG_CACHE_COLORING)
 /*
  * Returns the end address of the highest region in the range s..e
  * with required size and alignment that does not conflict with the
@@ -581,6 +581,60 @@ static paddr_t __init next_module(paddr_t s, paddr_t *end)
     return lowest;
 }
 
+#ifdef CONFIG_CACHE_COLORING
+/**
+ * get_xen_paddr - get physical address to relocate Xen to
+ *
+ * Xen is relocated to as near to the top of RAM as possible and
+ * aligned to a XEN_PADDR_ALIGN boundary.
+ */
+static paddr_t __init get_xen_paddr(uint32_t xen_size)
+{
+    struct meminfo *mi = &bootinfo.mem;
+    paddr_t min_size;
+    paddr_t paddr = 0;
+    int i;
+
+    min_size = (xen_size + (XEN_PADDR_ALIGN-1)) & ~(XEN_PADDR_ALIGN-1);
+
+    /* Find the highest bank with enough space. */
+    for ( i = 0; i < mi->nr_banks; i++ )
+    {
+        const struct membank *bank = &mi->bank[i];
+        paddr_t s, e;
+
+        if ( bank->size >= min_size )
+        {
+            e = consider_modules(bank->start, bank->start + bank->size,
+                                 min_size, XEN_PADDR_ALIGN, 0);
+            if ( !e )
+                continue;
+
+#ifdef CONFIG_ARM_32
+            /* Xen must be under 4GB */
+            if ( e > 0x100000000ULL )
+                e = 0x100000000ULL;
+            if ( e < bank->start )
+                continue;
+#endif
+
+            s = e - min_size;
+
+            if ( s > paddr )
+                paddr = s;
+        }
+    }
+
+    if ( !paddr )
+        panic("Not enough memory to relocate Xen\n");
+
+    printk("Placing Xen at 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           paddr, paddr + min_size);
+
+    return paddr;
+}
+#endif
+
 static void __init init_pdx(void)
 {
     paddr_t bank_start, bank_size, bank_end;
@@ -900,6 +954,8 @@ void __init start_xen(unsigned long boot_phys_offset,
     struct bootmodule *xen_bootmodule;
     struct domain *d;
     int rc, i;
+    paddr_t xen_paddr = (paddr_t)(uintptr_t)(_start + boot_phys_offset);
+    paddr_t xen_size = (paddr_t)(uintptr_t)(_end - _start + 1);
 
     dcache_line_bytes = read_dcache_line_bytes();
 
@@ -928,15 +984,15 @@ void __init start_xen(unsigned long boot_phys_offset,
 #ifdef CONFIG_CACHE_COLORING
     if ( !coloring_init() )
         panic("Xen Coloring support: setup failed\n");
+    xen_size = XEN_COLOR_MAP_SIZE;
+    xen_paddr = get_xen_paddr((uint32_t)xen_size);
 #endif
 
     /* Register Xen's load address as a boot module. */
-    xen_bootmodule = add_boot_module(BOOTMOD_XEN,
-                             (paddr_t)(uintptr_t)(_start + boot_phys_offset),
-                             (paddr_t)(uintptr_t)(_end - _start + 1), false);
+    xen_bootmodule = add_boot_module(BOOTMOD_XEN, xen_paddr, xen_size, false);
     BUG_ON(!xen_bootmodule);
 
-    setup_pagetables(boot_phys_offset);
+    setup_pagetables(boot_phys_offset, xen_paddr);
 
     setup_mm();
 
@@ -1052,6 +1108,14 @@ void __init start_xen(unsigned long boot_phys_offset,
 
     setup_virt_paging();
 
+#ifdef CONFIG_CACHE_COLORING
+    /*
+     * The removal is done earlier than discard_initial_modules beacuse the
+     * livepatch init uses a virtual address equal to BOOT_RELOC_VIRT_START.
+     * Remove coloring mappings to expose a clear state to the livepatch module.
+     */
+    remove_coloring_mappings();
+#endif
     do_initcalls();
 
     /*
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index f7bda3a18b..e7166ad79b 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -470,8 +470,7 @@ int __cpu_up(unsigned int cpu)
     init_data.cpuid = cpu;
 
     /* Open the gate for this CPU */
-    smp_up_cpu = cpu_logical_map(cpu);
-    clean_dcache(smp_up_cpu);
+    set_value_for_secondary(smp_up_cpu, cpu_logical_map(cpu));
 
     rc = arch_cpu_up(cpu);
 
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 1e986e211f..4cdead1c4f 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -203,7 +203,7 @@ SECTIONS
        . = ALIGN(POINTER_ALIGN);
        __bss_end = .;
   } :text
-  _end = . ;
+  _end = ALIGN(PAGE_SIZE);
 
   /* Section for the device tree blob (if any). */
   .dtb : { *(.dtb) } :text
diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index 4fd6b3067e..58818ddfe1 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -8,6 +8,9 @@
 #include <xen/types.h>
 #include <xen/vmap.h>
 #include <asm/page.h>
+#ifdef CONFIG_CACHE_COLORING
+#include <asm/coloring.h>
+#endif
 
 static DEFINE_SPINLOCK(vm_lock);
 static void *__read_mostly vm_base[VMAP_REGION_NR];
@@ -218,6 +221,28 @@ void *__vmap(const mfn_t *mfn, unsigned int granularity,
     return va;
 }
 
+#ifdef CONFIG_CACHE_COLORING
+void * __vmap_colored(const mfn_t *mfn, unsigned int nr, unsigned int align,
+                      unsigned int flags, enum vmap_region type)
+{
+    void *va = vm_alloc(nr, align, type);
+    unsigned long cur = (unsigned long)va;
+    paddr_t pa = mfn_to_maddr(*mfn);
+
+    for ( ; va && nr-- ; cur += PAGE_SIZE )
+    {
+        pa = next_xen_colored(pa);
+        if ( map_pages_to_xen(cur, maddr_to_mfn(pa), 1, flags) )
+        {
+            vunmap(va);
+            return NULL;
+        }
+        pa += PAGE_SIZE;
+    }
+    return va;
+}
+#endif
+
 void *vmap(const mfn_t *mfn, unsigned int nr)
 {
     return __vmap(mfn, 1, nr, 1, PAGE_HYPERVISOR, VMAP_DEFAULT);
diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
index b0f7632e89..9bdc9db70b 100644
--- a/xen/include/xen/vmap.h
+++ b/xen/include/xen/vmap.h
@@ -14,6 +14,10 @@ void vm_init_type(enum vmap_region type, void *start, void *end);
 
 void *__vmap(const mfn_t *mfn, unsigned int granularity, unsigned int nr,
              unsigned int align, unsigned int flags, enum vmap_region);
+#ifdef CONFIG_CACHE_COLORING
+void *__vmap_colored(const mfn_t *mfn, unsigned int nr, unsigned int align,
+                     unsigned int flags, enum vmap_region);
+#endif
 void *vmap(const mfn_t *mfn, unsigned int nr);
 void vunmap(const void *);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 13:05:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 13:05:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393853.633027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZ1M-0001wg-Tc; Fri, 26 Aug 2022 13:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393853.633027; Fri, 26 Aug 2022 13:05:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZ1M-0001wZ-Om; Fri, 26 Aug 2022 13:05:12 +0000
Received: by outflank-mailman (input) for mailman id 393853;
 Fri, 26 Aug 2022 13:05:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRZ1M-0001wP-12; Fri, 26 Aug 2022 13:05:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRZ1L-0000Xj-Tw; Fri, 26 Aug 2022 13:05:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRZ1L-00032w-EG; Fri, 26 Aug 2022 13:05:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRZ1L-0000yt-Dm; Fri, 26 Aug 2022 13:05:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/fyHsQTMRL744nyHvMHmEjfxWwXo+RbIYIIMpTxt234=; b=dL394uKvDKQJMsElaMcYpf3r13
	ZugMTIPivUb7stVbOCrqxVFb+PgO6a3q46N5aAaykFTKz2omKXQ3DOX9EB/HjHxtMxScQCjilEjvH
	Jv5T2y5wL8Zu4MXajodJZrzMD3lmS34NoyJnXu+Y/8Fnsy2mwkYYV4g+WsMxkKEuPk+I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172784-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172784: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=b2dce59302762c181509c4ac879ab8641dcc3ea3
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 13:05:11 +0000

flight 172784 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172784/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              b2dce59302762c181509c4ac879ab8641dcc3ea3
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  777 days
Failing since        151818  2020-07-11 04:18:52 Z  776 days  758 attempts
Testing same since   172784  2022-08-26 04:20:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Carlos Bilbao <carlos.bilbao@amd.com>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121132 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 13:08:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 13:08:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393861.633037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZ4H-0002Y2-BC; Fri, 26 Aug 2022 13:08:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393861.633037; Fri, 26 Aug 2022 13:08:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZ4H-0002Xv-7j; Fri, 26 Aug 2022 13:08:13 +0000
Received: by outflank-mailman (input) for mailman id 393861;
 Fri, 26 Aug 2022 13:08:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Irr=Y6=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1oRZ4G-0002Xn-An
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 13:08:12 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2050.outbound.protection.outlook.com [40.107.237.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 223aa10a-2540-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 15:08:11 +0200 (CEST)
Received: from MN2PR12MB4192.namprd12.prod.outlook.com (2603:10b6:208:1d5::15)
 by SN7PR12MB6790.namprd12.prod.outlook.com (2603:10b6:806:269::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Fri, 26 Aug
 2022 13:08:08 +0000
Received: from MN2PR12MB4192.namprd12.prod.outlook.com
 ([fe80::462:7fe:f04f:d0d5]) by MN2PR12MB4192.namprd12.prod.outlook.com
 ([fe80::462:7fe:f04f:d0d5%8]) with mapi id 15.20.5566.016; Fri, 26 Aug 2022
 13:08:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 223aa10a-2540-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LiboU76lwv6bBWspChORjr5UknFui6h1jet/US0Q4IB+6fTcyah4yN24NIklVXYHVWnlzICVuFDo9DOi8B/ip+qQU3mKyPhXPhvmQLvMJf9q4cCKQxWydzpwa+XC2yt/LGca2Zitlz1IK4hBoZw0zJ8RUK1+TpZgkEfCq3iFnjUuYLvs5PmE7xgxzcOhwTQhCWa7UcgtdntMsGbgviEAUXLm5fQ9MoK98IfFNmvWaJ9ir7kHWWHradpOMQsvkcp5yf59y3FxxFh0yZ258hZgvBSM8hpLBJGkkmWaMuXflduPhOHVGJq5iaplZsoW4hgTKUGpp8iQn2DAKMUOfkUXUg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M/8n98CMxmz/bmwz0MtNmyJWUA3xeKmajjzTiSoX+50=;
 b=kRsjUk5Y8RNCCL4ocSUMOW01JTxyLT/cRAFce5e84P/hVGKwofxBl7ptoxTO9bxktZBHGoLTO/wusZrbAuz6t/80NYWYi4J804Oxt9Jl/TkqVZRuGV5xSKjyhtboduMUGr1tI3xbNzcDpSOFTaS3MGMXBGCNxQwp/8DO9YaE8YFa0V/i/wneQByAs9u8b4R3n65otuvdecHmqtjMVLSmE+ot0PMPLHvSe9WqLViLX7SLZIvNM3w77KRetqZzM8WLdR+vK9zztrpqcy60mzig8cG/BFNjR4Z0tvNvinVGjI+6qSzKno62rWWyuzPHcJ2MN1WFbmr6iIKXaUtZHvfJaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M/8n98CMxmz/bmwz0MtNmyJWUA3xeKmajjzTiSoX+50=;
 b=pEE6Wx987veava8O50BGRo6jZaPyT4DxgjitqOvHW4YolI630KcGECMNNGNd/vs3VT3jEmmXKNi8QL3oIyW5kKnHJ50406UDyD8Vn4tjcwzgEzmHx0/tubSS3Xkf9504bjuiew6ZGljYxUtkJMvh6R/B7gL9Kxc5XY3URurKqZNoXQxIwLrurvypUDYme7/ZLG5ex/L2+7EomTi05TK1EYu82Bk9WRTJ8gKTvPJ1QQ97Lp3BG6yj8hJydV2HALCelJy9UW6HEuGXGkm93pXQLWEnLnBXtgqSu+kTmtBIRHnQqEZbvfHIHfPgkMQ8WthQl4anfVrDFmQQ3ek9qS+cCg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 26 Aug 2022 10:08:06 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Josef Johansson <josef@oderland.se>,
	Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
Message-ID: <YwjFttmi09hTrQTu@nvidia.com>
References: <Yu0IwZXyTIhdALMb@nvidia.com>
 <20220805155336.GA1005417@bhelgaas>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220805155336.GA1005417@bhelgaas>
X-ClientProxiedBy: BL1PR13CA0191.namprd13.prod.outlook.com
 (2603:10b6:208:2be::16) To MN2PR12MB4192.namprd12.prod.outlook.com
 (2603:10b6:208:1d5::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e833fa6f-0a90-4fb3-098c-08da87640506
X-MS-TrafficTypeDiagnostic: SN7PR12MB6790:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UlnQer6N5mjX9hQPmmKwcITzfUt3ABUG/hS9FLXa97plwcyvpJPzZes+qCkw6YgkA32AoEPUjtGUPs1DxEmk5minl6qvfIB95YdToPfI4XlV0m3vdg2rDdRrnDGAz6DKvkeVTiv/G3yHHMD/rLDiRP5QeGiK/CIzQHWdP019mjEn6kVBIQnef5xTBdlK0OiH9YYUa0LDYwOLBQlSbbZsEuvdJ0TwTMY0yeWEEruVCrJASyQzVu64KPP8kWNz05ssqfluB6L0HfzgnJZyefCH0uwsGmn8T2b9QYT5W2c2ebq+a5j4fDgfEt0xUZ35XjzsEZSwZPORsjvUXIXQO8zIKHYVOfYpEbsjZp+Q8PamXphtzO2nIHGp6QX/ohs3QZdfvBoYFf4vK4zy7HNRpzRNRYaEE9KoYR9x6BrxMaOKhU+tF6xr2GQL8HiFYfTkWvjZS3Ksybb/uKCRItRfqTxivPgfAAVDPysLwReWSFTPvtRtIAWPasnvk0RBJG53vVeUb6+uXUPKGrICxm2y0GhcFlACiyO7CJAOm789iF8uXNjBRMYj08pYSfgzpyDSebFhbmbgkjEmFfd/5IzOIyU0lYbor2tVswdm9lhVL5YqmlHpQL4Wh/LJ/f6+j3IkBjIeBCMCf4PI695ez/w9UccA/2aTWuw45jTYcyzznCjwHrNlxYRf4S1L78++sfz1MD/Y7RW1fsBngsmOxnxgT4eEQg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB4192.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(396003)(366004)(376002)(39860400002)(478600001)(41300700001)(6506007)(6512007)(53546011)(2906002)(26005)(6486002)(316002)(36756003)(6916009)(54906003)(86362001)(8936002)(186003)(2616005)(38100700002)(5660300002)(8676002)(66476007)(4326008)(66556008)(83380400001)(66946007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?NK4BJa6HKBJIrjS2Wuox7jhJK2DDs0rPlCsopYEr+DkmDioRiE6Kk8IKWQE0?=
 =?us-ascii?Q?ytZ+gMjLvEsuOZDXAjbCaalcoWc8YfhRXZ/t3EfWg5KbQtgZp7fs8ds3t6vq?=
 =?us-ascii?Q?l40+AB+R7Lux/TxsbyLIPPZEcQtMl6wgLhG6Jz0M6K8uXcHcOgcFRyZaoh4J?=
 =?us-ascii?Q?vyBhEWB8HZxUCFQSnb4xEpznAU+F/J2T7Lei0nFfWxbpNh5SC29O457nVtGS?=
 =?us-ascii?Q?J8mdVAJg98QsMWgDcyk0yBuExZchJ09oo/eEs9P7wB3jh/GBznc6UqRzSx2G?=
 =?us-ascii?Q?J7EHTe9UAZsJFdyXLhsCy5t6bzDIm20BXbhLII7y1vzlmTvFMQSYVIeNNNTP?=
 =?us-ascii?Q?nrgqEWPlENspeOv+93z2Qg6/6q7BLBbY5YS34y3knMSRh81q/rxIwCzFL0Fz?=
 =?us-ascii?Q?0W9YioZqPfStlsFiW/xE0N9euwP5XawXWuP7GhBzqIQA2VZOmheKTxBV3qQ/?=
 =?us-ascii?Q?XAJVeGT75Y4x+GcdTEZNzG7qVnu5m+kBSE2OvZPkmz7WJ8WtDBqasErr9i8h?=
 =?us-ascii?Q?QzDm3PIrF5BR8F3DfLFAByUbUgL1ba/NCNuSCGlA5lnbjsfAeohbNvEbC8HK?=
 =?us-ascii?Q?Xnf/wA16DBKJ3HZFo2vTxfnH1i0UNmnabnXOzd4GWlB2HzfXuFHUEiCZgFXW?=
 =?us-ascii?Q?qJQMrGv1M4dplFZZhKa0/wel+BHC9i8VCN+B+B7W0hETFgNTBjCnySDBaVAY?=
 =?us-ascii?Q?wlFCqxh2O2DnxTxd83yGRTh7sN5/nGns0qgVGnQa/BmCimP4in0qh2OpB6dg?=
 =?us-ascii?Q?m4yyJpLBHy7ufi5d815Z038BAOsDaXYTb0UuKuS/o5eT0uSlCSQaRm27Q8tM?=
 =?us-ascii?Q?w971E+Z8QQ4pM7c5vfk5p8i4PYpIMAqvcOEbuwWItbu1dcEiA3sqTzu7hete?=
 =?us-ascii?Q?SOnRe9A8NBZb73CJXBJwrobrPsHaXrhYK/3EHTzqRdvPoBvyL9Y9kFqL2Jao?=
 =?us-ascii?Q?zauel0dHYQq0ITa3zcmMHgcUJJrpn27tSSsMS7Stfd6GKr1ZrvB7oT/oIdf+?=
 =?us-ascii?Q?w0cVtAniI++bPYGfQLDE3/6pL+pZeyKE2d+yXjLPN1C8rW6rea7eIeoJD3uS?=
 =?us-ascii?Q?4GQyh6361zz8VoEtO8x44qbfaKKQZtoRYArvtf1gowEXeDZ+Or2X6+akBRQX?=
 =?us-ascii?Q?zbVNl+8imRgual8PfSRS4vDtGxlRvqWSAYpuMGQuAu/pXkeZnoKfld9dLVCU?=
 =?us-ascii?Q?LxFf3wgsPm8c5eC9jx5SfJHpPyrtgQPMDriCP8+7a6JZfYAcDWktX1v15xKw?=
 =?us-ascii?Q?P2AoEiVqgoMSTMhxP/FPdixO87twle9IhUyH71sUb1oAW5+ZaSdBwxxo3/v2?=
 =?us-ascii?Q?6WZEdMm0EHJsTAH7bann7YTe/TO3ads60MAvGFx+l7tYMqTjXHYK9qrFEuOS?=
 =?us-ascii?Q?RmnM71KoP/gX2hFAqhXFj40dFUpwiIGfCL4Nz0ZLze3nYbAsJIXB5gIrGmwu?=
 =?us-ascii?Q?d3iYc/Ii/mghf5NwfcCIeJcr7654mZYDq8JPMQ36b5BWBu6iPeT4pln2me5n?=
 =?us-ascii?Q?nf5kfSg9i5gGbEmTVQrheK1YBRK0z5ub6ukDi0mZjmOn6m7l59GsCkGWUWL5?=
 =?us-ascii?Q?2cFh1Ma2wdhkLsKe7GfTurc/H5rCAj7bKI+lL6HT?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e833fa6f-0a90-4fb3-098c-08da87640506
X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB4192.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 13:08:08.0244
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AA+6DWejeRfKMTi+2/f8/Rirgdty0Wf2YwxsKnWG1UNazaQsLSZiKuLPQzo9XlBl
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6790

On Fri, Aug 05, 2022 at 10:53:36AM -0500, Bjorn Helgaas wrote:
> On Fri, Aug 05, 2022 at 09:10:41AM -0300, Jason Gunthorpe wrote:
> > On Fri, Aug 05, 2022 at 12:03:15PM +0200, Josef Johansson wrote:
> > > On 2/14/22 11:07, Josef Johansson wrote:
> > > > From: Josef Johansson <josef@oderland.se>
> > > > 
> > > > PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
> > > > Commit 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") modifies
> > > > the logic of checking msi_attrib.can_mask, without any reason.
> > > > This commits restores that logic.
> > > >
> > > > Fixes: 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()")
> > > > Signed-off-by: Josef Johansson <josef@oderland.se>
> > > > 
> > > > ---
> > > > v2: Changing subject line to fit earlier commits.
> > > > 
> > > > Trying to fix a NULL BUG in the NVMe MSIX implementation I stumbled upon this code,
> > > > which ironically was what my last MSI patch resulted into.
> > > > 
> > > > I don't see any reason why this logic was change, and it did not break anything
> > > > correcting the logic.
> > > > 
> > > > CC xen-devel since it very much relates to Xen kernel (via pci_msi_ignore_mask).
> > > > ---
> > > > 
> > > > diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> > > > index c19c7ca58186..146e7b9a01cc 100644
> > > > --- a/drivers/pci/msi/msi.c
> > > > +++ b/drivers/pci/msi/msi.c
> > > > @@ -526,7 +526,7 @@ static int msix_setup_msi_descs(struct pci_dev *dev, void __iomem *base,
> > > >   		desc.pci.msi_attrib.can_mask = !pci_msi_ignore_mask &&
> > > >   					       !desc.pci.msi_attrib.is_virtual;
> > > > -		if (!desc.pci.msi_attrib.can_mask) {
> > > > +		if (desc.pci.msi_attrib.can_mask) {
> > > >   			addr = pci_msix_desc_addr(&desc);
> > > >   			desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
> > > >   		}
> > > > 
> > 
> > Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
> > 
> > Bjorn, please take it?
> 
> Thanks for the ping.  Since 71020a3c0dff4 is by Thomas, and he merged
> that along with a whole series of MSI work, I think I probably
> expected him to take care of this.
> 
> This looks like a simple typo, so I think the commit log should be
> reworded along that line, e.g., something like:
> 
>   71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") inadvertently
>   reversed the sense of "msi_attrib.can_mask" in one use:
> 
>     - if (entry->pci.msi_attrib.can_mask) {
>     -         addr = pci_msix_desc_addr(entry);
>     -         entry->pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
>     + if (!desc.pci.msi_attrib.can_mask) {
>     +         addr = pci_msix_desc_addr(&desc);
>     +         desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
> 
>   Restore the original test.
> 
> Thomas, do you want to take this?  I'm happy to merge it, but would
> like your reviewed-by or ack first.

At this point I think you should take it Bjorn..

Jason


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 13:13:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 13:13:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393869.633047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZ98-00040f-UK; Fri, 26 Aug 2022 13:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393869.633047; Fri, 26 Aug 2022 13:13:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZ98-00040Y-RJ; Fri, 26 Aug 2022 13:13:14 +0000
Received: by outflank-mailman (input) for mailman id 393869;
 Fri, 26 Aug 2022 13:13:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oRZ97-00040S-QE
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 13:13:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRZ97-0000ks-I8; Fri, 26 Aug 2022 13:13:13 +0000
Received: from [54.239.6.187] (helo=[192.168.16.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRZ97-0003Hk-BL; Fri, 26 Aug 2022 13:13:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=JAjJdt2xrNUeq1Q+U0pGaalzUH16vIO9tOhNCNoO/9A=; b=yPxN+1/jp9NZg/PDeEYALjU4rd
	+3T6OhiUZg9kkIv7QYvJOSNthoq+MhTHZSWJLOEdSIOm/4dq9UebTZnaJJgMBLN7q2W6hDSU78Ws6
	AhFde71m9SFzvP+3SrRU5Wj/+vRqwhFCyFzB3pyiTvbVLQOZsq+nqN5v8UKVt2KLYX/4=;
Message-ID: <9426d1de-a4b7-6cf6-9392-9817fbd99a56@xen.org>
Date: Fri, 26 Aug 2022 14:13:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH v6 7/9] xen/arm: create shared memory nodes in guest
 device tree
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220721132115.3015761-1-Penny.Zheng@arm.com>
 <20220721132115.3015761-8-Penny.Zheng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220721132115.3015761-8-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Penny,

On 21/07/2022 14:21, Penny Zheng wrote:
> +#ifdef CONFIG_STATIC_SHM
> +static int __init make_shm_memory_node(const struct domain *d,
> +                                       void *fdt,
> +                                       int addrcells, int sizecells,
> +                                       const struct meminfo *mem)
> +{
> +    unsigned int i = 0;
> +    int res = 0;
> +
> +    if ( mem->nr_banks == 0 )
> +        return -ENOENT;
> +
> +    /*
> +     * For each shared memory region, a range is exposed under
> +     * the /reserved-memory node as a child node. Each range sub-node is
> +     * named xen-shmem@<address>.
> +     */
> +    dt_dprintk("Create xen-shmem node\n");
> +
> +    for ( ; i < mem->nr_banks; i++ )
> +    {
> +        uint64_t start = mem->bank[i].start;
> +        uint64_t size = mem->bank[i].size;
> +        /* Placeholder for xen-shmem@ + a 64-bit number + \0 */
> +        char buf[27];
> +        const char compat[] = "xen,shared-memory-v1";
> +        __be32 reg[addrcells + sizecells];

This doesn't build for me:

arch/arm/domain_build.c: In function â€˜make_shm_memory_nodeâ€™:
arch/arm/domain_build.c:1380:9: error: ISO C90 forbids variable length 
array â€˜regâ€™ [-Werror=vla]
          __be32 reg[addrcells + sizecells];
          ^~~~~~

I haven't yet review the patch. But I think we would want to dynamically 
allocate 'reg' like we do in other places unless it is possible to know 
the maximum size of the array.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 13:17:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 13:17:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393876.633059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZCy-0004gE-Hw; Fri, 26 Aug 2022 13:17:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393876.633059; Fri, 26 Aug 2022 13:17:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZCy-0004g7-Eo; Fri, 26 Aug 2022 13:17:12 +0000
Received: by outflank-mailman (input) for mailman id 393876;
 Fri, 26 Aug 2022 13:17:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oRZCw-0004g1-Tz
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 13:17:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRZCw-0000pr-NE; Fri, 26 Aug 2022 13:17:10 +0000
Received: from [54.239.6.187] (helo=[192.168.16.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRZCw-0003OS-D1; Fri, 26 Aug 2022 13:17:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=TwziuoZ2Tquc/OoLUWuF1x7NUGZaFT1iIuhtbuC+UZw=; b=hJz7hf/uyGLOIKUiJBmTKmE1FW
	D5FDEFPrClGTHwiaX7+J1wzAdM9VNfap7/1U9aQkrM2CWRqjEKhXUbshl7cur3/4dLlx4aSN4Q6aC
	JyRskTjDzngWN2ayHxfqf+qPHwQ9kcc4nvKJB9z5bw01oVVSJIi8ZLXeusuJm6e8Rnac=;
Message-ID: <ce6c2e20-2d5f-dccc-e4d0-0e8ce92caeb4@xen.org>
Date: Fri, 26 Aug 2022 14:17:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH v6 1/9] xen/arm: introduce static shared memory
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220721132115.3015761-1-Penny.Zheng@arm.com>
 <20220721132115.3015761-2-Penny.Zheng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220721132115.3015761-2-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Penny,

On 21/07/2022 14:21, Penny Zheng wrote:
> From: Penny Zheng <penny.zheng@arm.com>
> 
> This patch series introduces a new feature: setting up static
> shared memory on a dom0less system, through device tree configuration.
> 
> This commit parses shared memory node at boot-time, and reserve it in
> bootinfo.reserved_mem to avoid other use.
> 
> This commits proposes a new Kconfig CONFIG_STATIC_SHM to wrap
> static-shm-related codes, and this option depends on static memory(
> CONFIG_STATIC_MEMORY). That's because that later we want to reuse a few
> helpers, guarded with CONFIG_STATIC_MEMORY, like acquire_staticmem_pages, etc,
> on static shared memory.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
> v6 change:
> - when host physical address is ommited, output the error message since
> xen doesn't support it at the moment
> - add the following check: 1) The shm ID matches and the region exactly match
> 2) The shm ID doesn't match and the region doesn't overlap
> - change it to "unsigned int" to be aligned with nr_banks
> - check the len of the property to confirm is it big enough to
> contain "paddr", "size", and "gaddr"
> - shm_id defined before nr_shm_domain, so we could re-use the existing hole and
> avoid increasing the size of the structure.
> - change "nr_shm_domain" to "nr_shm_borrowers", to not increment if the role
> is owner in parsing code
> - make "xen,shm_id" property as arbitrary string, with a strict limit on
> the number of characters, MAX_SHM_ID_LENGTH
> ---
> v5 change:
> - no change
> ---
> v4 change:
> - nit fix on doc
> ---
> v3 change:
> - make nr_shm_domain unsigned int
> ---
> v2 change:
> - document refinement
> - remove bitmap and use the iteration to check
> - add a new field nr_shm_domain to keep the number of shared domain
> ---
>   docs/misc/arm/device-tree/booting.txt | 124 ++++++++++++++++++++
>   xen/arch/arm/Kconfig                  |   6 +
>   xen/arch/arm/bootfdt.c                | 157 ++++++++++++++++++++++++++
>   xen/arch/arm/include/asm/setup.h      |   9 ++
>   4 files changed, 296 insertions(+)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 98253414b8..8013fb98fe 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -378,3 +378,127 @@ device-tree:
>   
>   This will reserve a 512MB region starting at the host physical address
>   0x30000000 to be exclusively used by DomU1.
> +
> +Static Shared Memory
> +====================
> +
> +The static shared memory device tree nodes allow users to statically set up
> +shared memory on dom0less system, enabling domains to do shm-based
> +communication.
> +
> +- compatible
> +
> +    "xen,domain-shared-memory-v1"
> +
> +- xen,shm-id
> +
> +    An arbitrary string that represents the unique identifier of the shared
> +    memory region, with a strict limit on the number of characters(\0 included),
> +    `MAX_SHM_ID_LENGTH(16)`. e.g. "xen,shm-id = "my-shared-mem-1"".
> +
> +- xen,shared-mem
> +
> +    An array takes a physical address, which is the base address of the
> +    shared memory region in host physical address space, a size, and a guest
> +    physical address, as the target address of the mapping.
> +    e.g. xen,shared-mem = < [host physical address] [size] [guest address] >

Your implementation below is checking for overlap and also have some 
restriction. Can they be documented in the binding?

> +
> +    The number of cells for the host address (and size) is the same as the
> +    guest pseudo-physical address and they are inherited from the parent node.

In v5, we discussed to have the host address optional. However, the 
binding has not been updated to reflect that. Note that I am not asking 
to implement, but instead request that the binding can be used for such 
setup.

> +
> +
> +- role (Optional)
> +
> +    A string property specifying the ownership of a shared memory region,
> +    the value must be one of the following: "owner", or "borrower"
> +    A shared memory region could be explicitly backed by one domain, which is
> +    called "owner domain", and all the other domains who are also sharing
> +    this region are called "borrower domain".
> +    If not specified, the default value is "borrower" and owner is
> +    DOMID_IO, a system domain.
> +
> +As an example:
> +
> +chosen {
> +    #address-cells = <0x1>;
> +    #size-cells = <0x1>;
> +    xen,xen-bootargs = "console=dtuart dtuart=serial0 bootscrub=0";
> +
> +    ......
> +
> +    /* this is for Dom0 */
> +    dom0-shared-mem@10000000 {
> +        compatible = "xen,domain-shared-memory-v1";
> +        role = "owner";
> +        xen,shm-id = "my-shared-mem-0";
> +        xen,shared-mem = <0x10000000 0x10000000 0x10000000>;
> +    }
> +
> +    domU1 {
> +        compatible = "xen,domain";
> +        #address-cells = <0x1>;
> +        #size-cells = <0x1>;
> +        memory = <0 131072>;
> +        cpus = <2>;
> +        vpl011;
> +
> +        /*
> +         * shared memory region identified as 0x0(xen,shm-id = <0x0>)
> +         * is shared between Dom0 and DomU1.
> +         */
> +        domU1-shared-mem@10000000 {
> +            compatible = "xen,domain-shared-memory-v1";
> +            role = "borrower";
> +            xen,shm-id = "my-shared-mem-0";
> +            xen,shared-mem = <0x10000000 0x10000000 0x50000000>;
> +        }
> +
> +        /*
> +         * shared memory region identified as 0x1(xen,shm-id = <0x1>)
> +         * is shared between DomU1 and DomU2.
> +         */
> +        domU1-shared-mem@50000000 {
> +            compatible = "xen,domain-shared-memory-v1";
> +            xen,shm-id = "my-shared-mem-1";
> +            xen,shared-mem = <0x50000000 0x20000000 0x60000000>;
> +        }
> +
> +        ......
> +
> +    };
> +
> +    domU2 {
> +        compatible = "xen,domain";
> +        #address-cells = <0x1>;
> +        #size-cells = <0x1>;
> +        memory = <0 65536>;
> +        cpus = <1>;
> +
> +        /*
> +         * shared memory region identified as 0x1(xen,shm-id = <0x1>)
> +         * is shared between domU1 and domU2.
> +         */
> +        domU2-shared-mem@50000000 {
> +            compatible = "xen,domain-shared-memory-v1";
> +            xen,shm-id = "my-shared-mem-1";
> +            xen,shared-mem = <0x50000000 0x20000000 0x70000000>;
> +        }
> +
> +        ......
> +    };
> +};
> +
> +This is an example with two static shared memory regions.
> +
> +For the static shared memory region identified as "my-shared-mem-0", host
> +physical address starting at 0x10000000 of 256MB will be reserved to be
> +shared between Dom0 and DomU1. It will get mapped at 0x10000000 in Dom0 guest
> +physical address space, and at 0x50000000 in DomU1 guest physical address space.
> +Dom0 is explicitly defined as the owner domain, and DomU1 is the borrower domain.
> +
> +For the static shared memory region identified as "my-shared-mem-1", host
> +physical address starting at 0x50000000 of 512MB will be reserved to be
> +shared between DomU1 and DomU2. It will get mapped at 0x60000000 in DomU1 guest
> +physical address space, and at 0x70000000 in DomU2 guest physical address space.
> +DomU1 and DomU2 are both the borrower domain, the owner domain is the default
> +owner domain DOMID_IO.
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index be9eff0141..7321f47c0f 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -139,6 +139,12 @@ config TEE
>   
>   source "arch/arm/tee/Kconfig"
>   
> +config STATIC_SHM
> +	bool "Statically shared memory on a dom0less system" if UNSUPPORTED
> +	depends on STATIC_MEMORY
> +	help
> +	  This option enables statically shared memory on a dom0less system.
> +
>   endmenu
>   
>   menu "ARM errata workaround via the alternative framework"
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index ec81a45de9..c62d8867ec 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -13,6 +13,7 @@
>   #include <xen/init.h>
>   #include <xen/efi.h>
>   #include <xen/device_tree.h>
> +#include <xen/lib.h>
>   #include <xen/libfdt/libfdt.h>
>   #include <xen/sort.h>
>   #include <xsm/xsm.h>
> @@ -361,6 +362,158 @@ static int __init process_domain_node(const void *fdt, int node,
>                                      size_cells, &bootinfo.reserved_mem, true);
>   }
>   
> +#ifdef CONFIG_STATIC_SHM
> +static int __init process_shm_node(const void *fdt, int node,
> +                                   u32 address_cells, u32 size_cells)
> +{
> +    const struct fdt_property *prop, *prop_id, *prop_role;
> +    const __be32 *cell;
> +    paddr_t paddr, size;
> +    struct meminfo *mem = &bootinfo.reserved_mem;
> +    unsigned int i;
> +    int len;
> +    bool owner = false;
> +    const char *shm_id;
> +
> +    if ( address_cells < 1 || size_cells < 1 )
> +    {
> +        printk("fdt: invalid #address-cells or #size-cells for static shared memory node.\n");
> +        return -EINVAL;
> +    }
> +
> +    /*
> +     * "xen,shm-id" property holds an arbitrary string with a strict limit
> +     * on the number of characters, MAX_SHM_ID_LENGTH
> +     */
> +    prop_id = fdt_get_property(fdt, node, "xen,shm-id", NULL);
> +    if ( !prop_id )
> +        return -ENOENT;
> +    shm_id = (const char *)prop_id->data;
> +    if ( strnlen(shm_id, MAX_SHM_ID_LENGTH) == MAX_SHM_ID_LENGTH )
> +    {
> +        printk("fdt: invalid xen,shm-id %s, it must be limited to %d characters\n",

NIT: s/%d/%u/ as MAX_SHM_ID_LENGTH can not be negative.

> +               shm_id, MAX_SHM_ID_LENGTH);
> +        return -EINVAL;
> +    }
> +
> +    /*
> +     * "role" property is optional and if it is defined explicitly,
> +     * it must be either `owner` or `borrower`.
> +     */
> +    prop_role = fdt_get_property(fdt, node, "role", NULL);
> +    if ( prop_role )
> +    {
> +        if ( !strcmp(prop_role->data, "owner") )
> +            owner = true;
> +        else if ( strcmp(prop_role->data, "borrower") )
> +        {
> +            printk("fdt: invalid `role` property for static shared memory node.\n");
> +            return -EINVAL;
> +        }
> +    }
> +
> +    /*
> +     * xen,shared-mem = <paddr, size, gaddr>;
> +     * Memory region starting from physical address #paddr of #size shall
> +     * be mapped to guest physical address #gaddr as static shared memory
> +     * region.
> +     */
> +    prop = fdt_get_property(fdt, node, "xen,shared-mem", &len);
> +    if ( !prop )
> +        return -ENOENT;
> +
> +    if ( len != dt_cells_to_size(address_cells + size_cells + address_cells) )
> +    {
> +        /* TODO: physical address is optional. */

NIT: I would drop this comment because the printk() clearly indicate 
what's unsupported.

> +        if ( len == dt_cells_to_size(size_cells + address_cells) )
> +            printk("fdt: host physical address must be chosen by users at the moment.\n");
> +
> +        printk("fdt: invalid `xen,shared-mem` property.\n");
> +        return -EINVAL;
> +    }
> +
> +    cell = (const __be32 *)prop->data;
> +    device_tree_get_reg(&cell, address_cells, size_cells, &paddr, &size);
> +
> +    if ( !size )
> +    {
> +        printk("fdt: the size for static shared memory region can not be zero\n");
> +        return -EINVAL;
> +    }
> +
> +    for ( i = 0; i < mem->nr_banks; i++ )
> +    {
> +        /*
> +         * Meet the following check:
> +         * 1) The shm ID matches and the region exactly match
> +         * 2) The shm ID doesn't match and the region doesn't overlap
> +         * with an existing one
> +         */
> +        if ( paddr == mem->bank[i].start && size == mem->bank[i].size )
> +        {
> +            if ( strncmp(shm_id, mem->bank[i].shm_id, MAX_SHM_ID_LENGTH) == 0 )
> +                break;
> +            else
> +            {
> +                printk("fdt: xen,shm-id %s does not match for all the nodes using the same region.\n",
> +                       shm_id);
> +                return -EINVAL;
> +            }
> +        }
> +        else
> +        {
> +            paddr_t end = paddr + size;
> +            paddr_t bank_end = mem->bank[i].start + mem->bank[i].size;

In both cases, end/bank_end may end up to be lower than 
paddr/mem->bank[i].start. So I think we also want to check that they 
don't overflow.

> +
> +            if ( (end <= mem->bank[i].start) || (paddr >= bank_end) )
> +            {
> +                if ( strncmp(shm_id, mem->bank[i].shm_id,
> +                             MAX_SHM_ID_LENGTH) != 0 )

You have already validate the string. So you could use strcmp() here. 
Otherwise, it seems...

> +                    continue;
> +                else
> +                {
> +                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
> +                           shm_id);

... odd to print the value if you don't trust it :).

> +                    return -EINVAL;
> +                }
> +            }
> +            else
> +            {
> +                printk("fdt: shared memory region overlap with an existing entry %#"PRIpaddr" - %#"PRIpaddr"\n",
> +                        mem->bank[i].start, bank_end);
> +                return -EINVAL;
> +            }
> +        }
> +    }
> +
> +    if ( i == mem->nr_banks )
> +    {
> +        if ( i < NR_MEM_BANKS )
> +        {
> +            /* Static shared memory shall be reserved from any other use. */
> +            safe_strcpy(mem->bank[mem->nr_banks].shm_id, shm_id);
> +            mem->bank[mem->nr_banks].start = paddr;
> +            mem->bank[mem->nr_banks].size = size;
> +            mem->bank[mem->nr_banks].xen_domain = true;
> +            mem->nr_banks++;
> +        }
> +        else
> +        {
> +            printk("Warning: Max number of supported memory regions reached.\n");
> +            return -ENOSPC;
> +        }
> +    }
> +    /*
> +     * keep a count of the number of borrowers, which later may be used
> +     * to calculate the reference count.
> +     */
> +    if ( !owner )
> +        mem->bank[i].nr_shm_borrowers++;
> +
> +    return 0;
> +}
> +#endif
> +
>   static int __init early_scan_node(const void *fdt,
>                                     int node, const char *name, int depth,
>                                     u32 address_cells, u32 size_cells,
> @@ -386,6 +539,10 @@ static int __init early_scan_node(const void *fdt,
>           process_chosen_node(fdt, node, name, address_cells, size_cells);
>       else if ( depth == 2 && device_tree_node_compatible(fdt, node, "xen,domain") )
>           rc = process_domain_node(fdt, node, name, address_cells, size_cells);
> +#ifdef CONFIG_STATIC_SHM
> +    else if ( depth <= 3 && device_tree_node_compatible(fdt, node, "xen,domain-shared-memory-v1") )
> +        rc = process_shm_node(fdt, node, address_cells, size_cells);
> +#endif
I would prefer if we provide a dummy helper for process_shm_node() when 
!CONFIG_STATIC_SHM. This would also have the advantage to let the user 
know that they are trying to use shared memory with a Xen that doesn't 
support it.

>   
>       if ( rc < 0 )
>           printk("fdt: node `%s': parsing failed\n", name);
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index 2bb01ecfa8..39d4e93b8b 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -23,10 +23,19 @@ typedef enum {
>   }  bootmodule_kind;
>   
>   
> +#ifdef CONFIG_STATIC_SHM
> +/* Indicates the maximum number of characters(\0 included) for shm_id */
> +#define MAX_SHM_ID_LENGTH 16
> +#endif

Is the #ifdef really needed?

> +
>   struct membank {
>       paddr_t start;
>       paddr_t size;
>       bool xen_domain; /* whether the memory bank is bound to a Xen domain. */
> +#ifdef CONFIG_STATIC_SHM
> +    char shm_id[MAX_SHM_ID_LENGTH];
> +    unsigned int nr_shm_borrowers;
> +#endif
>   };

If I calculated right, the structure will grow from 24 to 40 bytes. At 
the moment, this is protected with CONFIG_STATIC_SHM which is 
unsupported. However, I think we will need to do something as we can't 
continue to grow 'membank' like that.

I don't have a quick suggestion for 4.17 (the feature freeze is in a 
week). Long term, I think we will want to consider to move the shm ID in 
a separate array that could be referenced here.

The other solution would be to have the shared memory regions in a 
separate array. They would have their own structure which would either 
embedded "membank" or contain a pointer/index to the bank.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 13:19:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 13:19:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393882.633069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZEh-0005HS-U7; Fri, 26 Aug 2022 13:18:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393882.633069; Fri, 26 Aug 2022 13:18:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZEh-0005HL-RI; Fri, 26 Aug 2022 13:18:59 +0000
Received: by outflank-mailman (input) for mailman id 393882;
 Fri, 26 Aug 2022 13:18:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRZEg-0005H9-MZ; Fri, 26 Aug 2022 13:18:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRZEg-0000rQ-Gk; Fri, 26 Aug 2022 13:18:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRZEg-0003T8-5O; Fri, 26 Aug 2022 13:18:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRZEg-0005Dj-4s; Fri, 26 Aug 2022 13:18:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=y+NAbaxZpVM34EdF7zJPDGmNn63mR8BebKjPSFTko6c=; b=yu+0ax1Ewd1AwGr3sR0XToidog
	zgpFci3xeaZV78MESRAfaX9oFbrgpJXSRtGTkOoHms4/bCRMYzDonHvoBhZbDmtstncmZhfN9edzA
	5CmdIB07KaEgC7po0dfp+IUakQDNaN9mq6yHecP/NGXcgBDlf9vq21BfEUBstHcYhmoI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172781-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172781: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
X-Osstest-Versions-That:
    xen=c3bd0b83ea5b7c0da6542687436042eeea1e7909
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 13:18:58 +0000

flight 172781 xen-unstable real [real]
flight 172793 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/172781/
http://logs.test-lab.xenproject.org/osstest/logs/172793/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172793-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172772
 build-i386-libvirt            6 libvirt-build                fail  like 172772
 build-arm64-libvirt           6 libvirt-build                fail  like 172772
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172772
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172772
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172772
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172772
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172772
 build-armhf-libvirt           6 libvirt-build                fail  like 172772
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172772
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172772
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172772
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172772
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f
baseline version:
 xen                  c3bd0b83ea5b7c0da6542687436042eeea1e7909

Last test of basis   172772  2022-08-25 12:03:32 Z    1 days
Testing same since   172781  2022-08-26 00:09:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c3bd0b83ea..cbb35e7280  cbb35e72802f3a285c382a995ef647b59e5caf2f -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 13:41:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 13:41:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393892.633086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZaV-00009s-U7; Fri, 26 Aug 2022 13:41:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393892.633086; Fri, 26 Aug 2022 13:41:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZaV-00009k-PG; Fri, 26 Aug 2022 13:41:31 +0000
Received: by outflank-mailman (input) for mailman id 393892;
 Fri, 26 Aug 2022 13:41:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ooZY=Y6=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1oRZaT-00009e-Oj
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 13:41:29 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6e8892e-2544-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 15:41:27 +0200 (CEST)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1661521277809115.91390181082215;
 Fri, 26 Aug 2022 06:41:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6e8892e-2544-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; t=1661521282; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=mX0clpkTlQEnrqNiJ4ouPPs/DO812uqEVflmjGNaso3sKzQuD9Ju98We85BekS8emQwhtenVKVRCypqX2TlvtO9lrE7/CIsy9EL/7PsVfkRod0M0l5XV6u+FFhI1vVRl/1j7ZDY7KYckq9aunvoifL1834u1hC0Xl7+wUsoTqi4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1661521282; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=g5CkyHHy4HTk2CiBzhtk6AvN1dey5wMabu9AKWDtSdM=; 
	b=UjC4x6KdfCjCvVhX7XOyUbqkbj+h8P4uuRT2hGB2MaPNtiK0VnvnVRGxX8yLN1wJ5YyzQZUTBD5vgGsG3Le2HXjYmdOGa4Gl6Vz2REurxxYX3ZP/XZWJ9OWab1lYZtV/vLJvDJt+a0d35nA3+L6UcZftClz9k7P2b87vBHpckPQ=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1661521282;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To:Cc;
	bh=g5CkyHHy4HTk2CiBzhtk6AvN1dey5wMabu9AKWDtSdM=;
	b=uIVImSWAFNroGAdBkmmHC+d1oYgIJ4bBjY/V6UssVWapbprHov7AOhop8JRnN5X/
	LJujxWYIWkjdeTP1l1qsVDGllSW3Xbv8DyR2JDmglkK7ftLP2qvR4X3iL4cskJ2Du9p
	sJzVsUgT4EPwg81uxaOs2x/dnbfJo4Z9HQCGIEOY=
Message-ID: <12862a73-770c-f320-bcff-fc3a46e0663f@apertussolutions.com>
Date: Fri, 26 Aug 2022 09:41:16 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Subject: Re: [PATCH 2/7] xsm/flask: sidtab: Fix MISRA C 2012 Rule 20.7
 violations
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
 <20220819194359.1196539-3-burzalodowa@gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220819194359.1196539-3-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External


On 8/19/22 15:43, Xenia Ragiadakou wrote:
> In macros SIDTAB_HASH(), INIT_SIDTAB_LOCK(), SIDTAB_LOCK() and SIDTAB_UNLOCK(),
> add parentheses around the macro parameter to prevent against unintended
> expansions.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
> ---
>  xen/xsm/flask/ss/sidtab.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/xsm/flask/ss/sidtab.c b/xen/xsm/flask/ss/sidtab.c
> index 74babfac9c..69fc3389b3 100644
> --- a/xen/xsm/flask/ss/sidtab.c
> +++ b/xen/xsm/flask/ss/sidtab.c
> @@ -14,11 +14,11 @@
>  #include "security.h"
>  #include "sidtab.h"
>  
> -#define SIDTAB_HASH(sid) (sid & SIDTAB_HASH_MASK)
> +#define SIDTAB_HASH(sid) ((sid) & SIDTAB_HASH_MASK)
>  
> -#define INIT_SIDTAB_LOCK(s) spin_lock_init(&s->lock)
> -#define SIDTAB_LOCK(s) spin_lock(&s->lock)
> -#define SIDTAB_UNLOCK(s) spin_unlock(&s->lock)
> +#define INIT_SIDTAB_LOCK(s) spin_lock_init(&(s)->lock)
> +#define SIDTAB_LOCK(s) spin_lock(&(s)->lock)
> +#define SIDTAB_UNLOCK(s) spin_unlock(&(s)->lock)
>  
>  int sidtab_init(struct sidtab *s)
>  {

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 13:59:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 13:59:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393898.633096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZs7-0001kg-BP; Fri, 26 Aug 2022 13:59:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393898.633096; Fri, 26 Aug 2022 13:59:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRZs7-0001kZ-8Z; Fri, 26 Aug 2022 13:59:43 +0000
Received: by outflank-mailman (input) for mailman id 393898;
 Fri, 26 Aug 2022 13:59:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oRZs6-0001kT-Gw
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 13:59:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRZs6-0001ZY-1h; Fri, 26 Aug 2022 13:59:42 +0000
Received: from [54.239.6.187] (helo=[192.168.16.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oRZs5-00059X-Q3; Fri, 26 Aug 2022 13:59:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=gPqyOPs2qnF6T77KS0SX79FEZfQKiJqON1mv7r57apU=; b=1VHgvhBcVHjQvE+gx/rWnU8TPR
	Zm88HK/L906HVkrVdq+JxahLQUqvBUy5d+s3j/4l/vDskZJtFrOjUpw6sOnTpL/acZqS5cKzB1507
	T8BRT6/WUQj4UyfVZxndihpALw7RNG9K/6B3GDzdveE+xQZzFrB6mUH7Nb5yL6h4gfFk=;
Message-ID: <b5d92f89-4231-e4e8-b219-80fd2911a944@xen.org>
Date: Fri, 26 Aug 2022 14:59:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.2.0
Subject: Re: [PATCH v6 2/9] xen/arm: allocate static shared memory to the
 default owner dom_io
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20220721132115.3015761-1-Penny.Zheng@arm.com>
 <20220721132115.3015761-3-Penny.Zheng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220721132115.3015761-3-Penny.Zheng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Penny,

On 21/07/2022 14:21, Penny Zheng wrote:
> From: Penny Zheng <penny.zheng@arm.com>
> 
> This commit introduces process_shm to cope with static shared memory in
> domain construction.
> 
> DOMID_IO will be the default owner of memory pre-shared among multiple domains
> at boot time, when no explicit owner is specified.
> 
> This commit only considers allocating static shared memory to dom_io
> when owner domain is not explicitly defined in device tree, all the left,
> including the "borrower" code path, the "explicit owner" code path, shall
> be introduced later in the following patches.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
> v6 change:
> - use if-array to check psize, pbase and gbase are suitably aligned and
> valid
> - use mfn_valid to check (pbase, pbase + psize)
> - check d->max_pages will not overflow
> - refine acquire_shared_memory_bank to not reuse acquire_static_memory_bank,
> then input pbase and psize do not need to be used as a pointer.
> - use if-array to check if page owner is dom_io
> - in-code comment refinement
> ---
> v5 change:
> - refine in-code comment
> ---
> v4 change:
> - no changes
> ---
> v3 change:
> - refine in-code comment
> ---
> v2 change:
> - instead of introducing a new system domain, reuse the existing dom_io
> - make dom_io a non-auto-translated domain, then no need to create P2M
> for it
> - change dom_io definition and make it wider to support static shm here too
> - introduce is_shm_allocated_to_domio to check whether static shm is
> allocated yet, instead of using shm_mask bitmap
> - add in-code comment
> ---
>   xen/arch/arm/domain_build.c | 155 ++++++++++++++++++++++++++++++++++++
>   xen/common/domain.c         |   3 +
>   2 files changed, 158 insertions(+)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 3fd1186b53..ff2aebaf28 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -759,6 +759,155 @@ static void __init assign_static_memory_11(struct domain *d,
>       panic("Failed to assign requested static memory for direct-map domain %pd.",
>             d);
>   }
> +
> +#ifdef CONFIG_STATIC_SHM
> +/*
> + * This function checks whether the static shared memory region is
> + * already allocated to dom_io.
> + */
> +static bool __init is_shm_allocated_to_domio(paddr_t pbase)
> +{
> +    struct page_info *page;
> +
> +    page = maddr_to_page(pbase);
> +    if ( page_get_owner(page) == NULL )

Sorry, I should have stopped the issue with the call before. 
page_get_owner() can only be called for pages that are marked inuse. 
This is because the field "domain" is part of an union.

So I think you want to use page_get_owner_and_reference() here. The 
reference will have to be dropped using put_page(). I think it should be 
fine to do within the same function because we are still at init and 
therefore the page owner shouldn't change. I would explain that in a 
comment.

> +        return false;
> +
> +    if ( page_get_owner(page) != dom_io )

Let's not duplicate the call to page_get_owner(). You can use the result 
from the caller above and drop the reference afterwards (see above).

> +    {
> +        printk(XENLOG_ERR
> +               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
> +               page_get_owner(page));
> +        return false;
> +    }
> +
> +    return true;
> +}
> +
> +static mfn_t __init acquire_shared_memory_bank(struct domain *d,
> +                                               paddr_t pbase, paddr_t psize)
> +{
> +    mfn_t smfn;
> +    unsigned long nr_pfns;
> +    int res;
> +
> +    /*
> +     * Pages of statically shared memory shall be included
> +     * into domain_tot_pages().
> +     */
> +    nr_pfns = PFN_DOWN(psize);
> +    if ( (UINT_MAX - d->max_pages) < nr_pfns )
> +    {
> +        printk(XENLOG_ERR "%pd: Over-allocation for d->max_pages: %lu.\n",
> +               d, nr_pfns);
> +        return INVALID_MFN;
> +    }
> +    d->max_pages += nr_pfns;
> +
> +    smfn = maddr_to_mfn(pbase);
> +    res = acquire_domstatic_pages(d, smfn, nr_pfns, 0);
> +    if ( res )
> +    {
> +        printk(XENLOG_ERR
> +               "%pd: failed to acquire static memory: %d.\n", d, res);

Should not we adjust "d->max_pages" if acquire_domstatic_pages() fails?

> +        return INVALID_MFN;
> +    }
> +
> +    return smfn;
> +}
> +
> +static int __init allocate_shared_memory(struct domain *d,
> +                                         u32 addr_cells, u32 size_cells,
> +                                         paddr_t pbase, paddr_t psize)
> +{
> +    mfn_t smfn;
> +
> +    dprintk(XENLOG_INFO,
> +            "%pd: allocate static shared memory BANK %#"PRIpaddr"-%#"PRIpaddr".\n",
> +            d, pbase, pbase + psize);
> +
> +    smfn = acquire_shared_memory_bank(d, pbase, psize);
> +    if ( mfn_eq(smfn, INVALID_MFN) )
> +        return -EINVAL;
> +
> +    /*
> +     * DOMID_IO is the domain, like DOMID_XEN, that is not auto-translated.

It is not quite clear why DOMID_XEN is mentioned here. Yes, it is 
auto-translated like DOMID_IO, but code doesn't care about that here.

> +     * It sees RAM 1:1 and we do not need to create P2M mapping for it
> +     */

The overall comment reads a bit odd without the implement for non-dom0. 
I don't have a good suggestion other than have a different comment for 
now and rewording it. But that's just churn.

Regarding the current comment I would suggest the following:

DOMID_IO is auto-translated (i.e. it seems RAM 1:1). So we do not need 
to create mapping in the P2M.

> +    ASSERT(d == dom_io);
> +    return 0;
> +}
> +
> +static int __init process_shm(struct domain *d,
> +                              const struct dt_device_node *node)
> +{
> +    struct dt_device_node *shm_node;
> +
> +    dt_for_each_child_node(node, shm_node)
> +    {
> +        const struct dt_property *prop;
> +        const __be32 *cells;
> +        uint32_t addr_cells, size_cells;
> +        paddr_t gbase, pbase, psize;
> +        int ret = 0;
> +        unsigned int i;
> +
> +        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
> +            continue;
> +
> +        /*
> +         * xen,shared-mem = <pbase, psize, gbase>;
> +         * TODO: pbase is optional.
> +         */
> +        addr_cells = dt_n_addr_cells(shm_node);
> +        size_cells = dt_n_size_cells(shm_node);
> +        prop = dt_find_property(shm_node, "xen,shared-mem", NULL); > +        ASSERT(prop);

I would suggest to switch to BUG_ON() because this is init code. So 
better to be obvious.

> +        cells = (const __be32 *)prop->value;
> +        device_tree_get_reg(&cells, addr_cells, size_cells, &pbase, &psize);
> +        gbase = dt_read_number(cells, addr_cells);
> +        if ( !IS_ALIGNED(pbase, PAGE_SIZE) || !IS_ALIGNED(gbase, PAGE_SIZE) )
> +        {
> +            printk("%pd: physical address 0x%"PRIpaddr", or guest address 0x%"PRIpaddr" is not suitably aligned.\n",
> +                   d, pbase, gbase);
> +            return -EINVAL;
> +        }
> +        if ( !IS_ALIGNED(psize, PAGE_SIZE) )
> +        {
> +            printk("%pd: size 0x%"PRIpaddr" is not suitably aligned\n",
> +                   d, psize);
> +            return -EINVAL;
> +        }
> +
> +        for ( i = 0; i < PFN_DOWN(psize); i++ )
> +            if ( !mfn_valid(mfn_add(maddr_to_mfn(pbase), i)) )
> +            {
> +                printk("%pd: invalid physical address 0x%"PRI_mfn"\n",
> +                       d, mfn_x(mfn_add(maddr_to_mfn(pbase), i)));
> +                return -EINVAL;
> +            }
> +
> +        /* TODO: Consider owner domain is not the default dom_io. */
> +        /*
> +         * Per static shared memory region could be shared between multiple
> +         * domains.

Well, it would not be shared memory otherwise :). I think here you are 
referring to the fact that the owner may be DOMID_IO *and* the area 
still shared with multiple borrower.

> +         * In case re-allocating the same shared memory region, we check
> +         * if it is already allocated to the default owner dom_io before
> +         * the actual allocation.
> +         */

I think it would be worth explaining in the commit message that DOMID_IO 
is not a "real" domain. This is why you need to check whether the shared 
area has been reserved. So how about replacing the two paragraphs with:

"DOMID_IO is a fake domain and is not described in the Device-Tree. 
Therefore When the owner of the shared region is DOMID_IO, we will only 
find the borrowers."

> +        if ( !is_shm_allocated_to_domio(pbase) )
> +        {
> +            /* Allocate statically shared pages to the default owner dom_io. */

This is mostly repeating the line below. How about:

"We found the first borrower of the region, the owner was not specified 
so they should be assign to dom0".

> +            ret = allocate_shared_memory(dom_io, addr_cells, size_cells,
> +                                         pbase, psize);

While proposing some comments above, I realized that this function is 
not really allocating memory. It is assigning a set of pages to domain.

So may I suggest to rename it to assign_shared_memory()? Or maybe 
acquire_shared_memory()?

> +            if ( ret )
> +                return ret;
> +        }
> +    }
> +
> +    return 0;
> +}
> +#endif /* CONFIG_STATIC_SHM */
>   #else
>   static void __init allocate_static_memory(struct domain *d,
>                                             struct kernel_info *kinfo,
> @@ -3236,6 +3385,12 @@ static int __init construct_domU(struct domain *d,
>       else
>           assign_static_memory_11(d, &kinfo, node);
>   
> +#ifdef CONFIG_STATIC_SHM
> +    rc = process_shm(d, node);
> +    if ( rc < 0 )
> +        return rc;
> +#endif
> +
>       /*
>        * Base address and irq number are needed when creating vpl011 device
>        * tree node in prepare_dtb_domU, so initialization on related variables
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 618410e3b2..c8564113e9 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -780,6 +780,9 @@ void __init setup_system_domains(void)
>        * This domain owns I/O pages that are within the range of the page_info
>        * array. Mappings occur at the priv of the caller.
>        * Quarantined PCI devices will be associated with this domain.
> +     *
> +     * DOMID_IO is also the default owner of memory pre-shared among multiple
> +     * domains at boot time.
>        */
>       dom_io = domain_create(DOMID_IO, NULL, 0);
>       if ( IS_ERR(dom_io) )

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 14:13:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 14:13:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393904.633107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRa5g-00048q-J4; Fri, 26 Aug 2022 14:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393904.633107; Fri, 26 Aug 2022 14:13:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRa5g-00048j-GA; Fri, 26 Aug 2022 14:13:44 +0000
Received: by outflank-mailman (input) for mailman id 393904;
 Fri, 26 Aug 2022 14:13:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cVPj=Y6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRa5e-00048d-Rc
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 14:13:43 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70084.outbound.protection.outlook.com [40.107.7.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49782364-2549-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 16:13:41 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB6PR0402MB2934.eurprd04.prod.outlook.com (2603:10a6:4:9b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug
 2022 14:13:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 14:13:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49782364-2549-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PqPrZF0xzWAPn09+pZIhij8Jo08cjhtdouZ4oGYJ9L5G31MXiMFV3zRcNM9MpiZVh4uxKKMylw4/eYPr9fYU99/rq4fKDwzWOFC3s+3iCxRIABHY8dNBShyxURpdsbGwOc+xeW72y75x8K4QGB1pWm6vtPmszj6b1agYt2o2u1olnptU60Keaw5McAmkkdpHBwmNk/nZLG/f/8cvRA7var+SyY19gVLZQHLNnC/0Sr6zPT/TeIODSvmhjKso9mkHs1AizMI1EPXZD1RtiNUY4SBsEwN0V1pz0P6Kf1pe95UBTlJU6WMIO/YRiwVe65qAJ+r8hxPWHG1sd9Li0Qfgjw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oDSqoc/kHXcDb3Zoc/tNtgIufqo0db/FBmvIaxl2+OI=;
 b=fBmkR8tnbUWarl6NtWDB/S8vSz+l8zj++Ec9Xir4vbigfCjv0UOB/N7Hdn3TYxPQNVtQJl1OwcWBIqjMS2nxogGrf264s0ubn0UVGHwZhwnM8QWLcH5ajTDvDfCJvswq4Rt5qQjlSAV6uOATQJ6UhYxgkU6jWwNWnnnxnpDwxvAHTQIchNvCNSBr1b8oNovVdV/g/A/A+Kx2QzGOVeANjcMlULSnO6X6eyzT2ZEZ0eHnOGEgEqPfyNN29aRvh5mzNLqR8WLVdC0o5b7z/N6MatCcI9nYUT2MqmoCTm7Vb/coVpzqTtnKyKOfjtCEUFKwvB+4NDqqQILKCk89qUdHnA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oDSqoc/kHXcDb3Zoc/tNtgIufqo0db/FBmvIaxl2+OI=;
 b=bUEhMrUnQ1RQ1FN5EmrWQgdaGPRXASWoqzpbDS/yXQpfOXaRmxOFMpIcKvoTUdNM7ViI5HKGArdhlocQmRlixmfWPv/FdYwilsPa+1sYP+F0YcKCFSm5iwefGX0+2PHjWDn37NxptH5eBCNrsMmmUYWYXap6bPJRUw4oaVTsa4ckBtAccpxJwoVFjR5v2hQo+sHd4JdYfZ/5CK2JsdJ6rrTYvBD1FVcV9NeT20gJaOLMpN1/JsvaKQhsIna6iJkh5029ows/InKpMECFQB7j24mevK9VqmTMW15qZEpQLjK77GQtn4OoXZeV+J5l/sTur/kldaiPON7Yd31uki/XEw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5da3c51d-a43b-a967-6f0f-22c1d3ba497d@suse.com>
Date: Fri, 26 Aug 2022 16:13:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH 07/12] xen/common: add colored heap info debug-key
Content-Language: en-US
To: Carlo Nonato <carlo.nonato@minervasys.tech>
Cc: andrew.cooper3@citrix.com, george.dunlap@citrix.com, julien@xen.org,
 stefano.stabellini@amd.com, wl@xen.org, marco.solieri@unimore.it,
 andrea.bastoni@minervasys.tech, lucmiccio@gmail.com,
 Marco Solieri <marco.solieri@minervasys.tech>, xen-devel@lists.xenproject.org
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
 <20220826125111.152261-8-carlo.nonato@minervasys.tech>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220826125111.152261-8-carlo.nonato@minervasys.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0148.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fa2861ed-3295-4a3e-6dfd-08da876d2bda
X-MS-TrafficTypeDiagnostic: DB6PR0402MB2934:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3ShuyUDIiKZjHl7sRCrSOpv0MEas1ZFGIP3J0nlcDDZPO6dUb5DA2ARTqB1FYuInYOcBc4nGCMT6zZQ5CcWuc588fzgmwq7zhA4xZ5WdcHi42MlF3N3ZWQB3SqHSlWcv4ls1qmUXXUXpMIqDa7ngJsky4Z+GGnros+MNSRT732TSVOXt8QO5vpda4po/Lh3f6RxsCEu4KCOPkC5Uz0vRJHMdsucvu7LtB56wt3JCphY1n4dzIpf8BtVxhl9lrSMOg6b+n0mD2ExoZFLru27BLEp5QrmqOZKSaB1Q2Nu5JzgdMP4nZmq+3drOEIWEJtJPS0DfmCweXKComS+gDDFXW9FFgyvnN/+F7KyBE2zedc/xhVgjMSf4KVn+cqt0zpPw0nECOpGP+XrEDs0qxAu3sDYKOChpQ1N/xa+/NMVmVoyRgT0VQVuW6u7srEqQlag4TLSAIZlgbkjcIQE8aspnGENwAHR3vkCdq0Djk5ZaAuisMy2lVpmRycHLsU84t6MMiPAJf7UEvlSo/Hhr+AhdBPSDKtgqYI9MxTjCRuZsjXxmycTULsrPinTRM7mO54eyxut4texadJ0F4Ib0opb9XFBQN6cNAUSDO8C6jl8QF4uH1F2uW6A/AoLatYG2UkDuTti4b+ig6UkWu+f4a6vBc1nQWXyr+GpKHqjSdGvrZ6yXWeoL6oDHnXGL98LJP5BMNkVOkY2B+GkU0MdhHymDefgfJRDf0t/l320j/9+Ztf3nRbnZoTaSb4PJIhs8/U3bAh4u3+kdXpcA9O1CN8OlxZhrfG3irzecPXt7coBxxC0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(39860400002)(376002)(136003)(396003)(346002)(31696002)(38100700002)(66476007)(66556008)(6916009)(316002)(4326008)(2906002)(66946007)(53546011)(8936002)(26005)(5660300002)(7416002)(6512007)(2616005)(186003)(6666004)(86362001)(31686004)(6506007)(478600001)(6486002)(8676002)(36756003)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1JMMUdHODR1ZGdWWFNoeEdvSHVNVXdjSGYxTFFSYVBwd0pXYUxRdE1BRlBL?=
 =?utf-8?B?aHlHL0J2TThTZnYwMm9Cc1ZlWXdNcmVCNUxRY09DWTdHTnBMMktuR1NPV3k4?=
 =?utf-8?B?cXh3Mk4zTm9peDdyZjVzY1doK3FkUnRJV2VnU2srSlVNRDZRQU5xZFBWaGRR?=
 =?utf-8?B?VUVwTnpoVEFhbXJwNCthb0diWlBZU0MxTUltTUlrdjBMcjBIaU1ud1hWODVS?=
 =?utf-8?B?ZTZCaE8yajhmY3dwRlVuMTlGUmhsWlhvUWh5ditOOWIxMEdUNzNJQW9GcEF0?=
 =?utf-8?B?SGRPeWFlRE9XYnlSMHNaczhxS01VVk1STzRUR1d4amNkK2l6dFJ3b3psdkNn?=
 =?utf-8?B?dzQ3MjdiY0RzWUIyQTB0U2dKYU81Q0UwVENkREdwbk85VThPZmZiMlpYbWtk?=
 =?utf-8?B?WVhsMGNmSGEwdjljNHd4RWNDaGxrOEViVUpHbGF6WmlpUTdlQlM0L08rYXl3?=
 =?utf-8?B?T1p5dERORy91Z1JiUlV6VjF5VEVhUUg3YVVkcUwxdVZhMytJRDErZG91aHdT?=
 =?utf-8?B?UUZPcnJFVHVxQUtoYUIyNENiT3VLczBIRjhQaURtdzV5QTd5OHZodm5JNHFR?=
 =?utf-8?B?Ui9CZG9oWlR4UFBIdHlmSk8yRElRbERpUG5OUFhBdEdLdUZHOVFnUGVYaEpk?=
 =?utf-8?B?b2w4dHV6c2k0NjZUUVUwU3E1cUtQeTFGSlNPMnIvU2QrYld4a2VLOFBlT3Rz?=
 =?utf-8?B?OHVjYkkxMC9WbTNsUXVONktIMHJBMjRqVHBUTWtqWXJYZlVmM08vQldTUjA2?=
 =?utf-8?B?azdHU1cyN0VMZzU4RnVYTXhpRVhFUnoxN3NkRHVmSjVXZXRBNjBFNnJxK1BG?=
 =?utf-8?B?cUVBOVRzcVBaVS9laUpYVmFBOFNvSFFtSVRYSEtZbHVDcFROWHI0eDM5UnZL?=
 =?utf-8?B?NzU1RmhsRTl2Z28yeENJZWpVZlY0d3ZwclRrdWlMbkxCNXdnRGl5RGx4OFhG?=
 =?utf-8?B?NG1IbU13Rmt1ejdLQmNhNVpVS25ob1JYMHVkU3M3aXlvazYrK2NLUEVyaGVl?=
 =?utf-8?B?WDFQNEN3MHBDb2kxQm1YKzRZSmVsT0J1ZmNONWRBbWtwZUxyeWNvc2gvVDJs?=
 =?utf-8?B?UjA3RWVMVlAzWlVGNXE3S251T0YzTEZhTzQ2NkdRL3JUb0Q0SnpLQ3BQWUdv?=
 =?utf-8?B?NGZ1c1BLNWY2MFhwcXRPK1F2RDlIZFViOUhEaEdYYy8zM01CWTVXS0h5Rm02?=
 =?utf-8?B?WnhGeDY3QUtqRTJqTm56T3VGa1F2a0FmUDRRWXNVSXNXVmd0NXZhQ3laOGFE?=
 =?utf-8?B?VzdjRk9GL1RxTTVmTnBCU2gzOWIydi9ieDdaM01UV0d1UmNqVENvUURWMFRS?=
 =?utf-8?B?T3RWbTl0UWhMdk94MlJGUlo4d2g2NzhLRkQ5WWdudU5nWkorckxTVzBXVWN4?=
 =?utf-8?B?TkVUYVlFSEd6aGVxYSt0THJnYWN2RzVxSm1uYk0xKy84aVJiRzAxNE93eDBP?=
 =?utf-8?B?VjEvQzd2Sng1a0dsNTdqK0JmaHlWVFhoS0hxYzUvaUlJR3VhVDUwU1BLZUpK?=
 =?utf-8?B?N25OZEN3OEViaXkyZ3lRcFlRNFFBd2ROdDJCbDdvVWFub0JxV2ppOGFyNHlj?=
 =?utf-8?B?QTBZWjcvRU02aUhhTVdDUlEvZ2VlcndtZkdvd294RDc1MzU3WGVGVVhCaUJz?=
 =?utf-8?B?RE9WMzRabGdiK0R1enhMeWlLZnFSZzBaNmlxQ2F4UVBBNmdtWVM0cFBmZ0I0?=
 =?utf-8?B?d1pCaVdVMnRHUGxhVkJYeXJPOFJXUmJjZ2lkRk9Reno2YmVUOXFISEc5bXNG?=
 =?utf-8?B?Y1hXWkxGanZyZzdSZnozRTNwUHZHMGtxV3VqOTlRdlhyN2ZxNGNNTjFnVFVH?=
 =?utf-8?B?WmhkZTNENWhOUkJDL3A4WlU4ZkM2YjJFM3BRTGZMQ0d0UGQ4UEJlbDdnK2ZZ?=
 =?utf-8?B?TXN1OXdwZFM5VmQ1Z2xRSVlvN3NoeVJaaXdvYlh4OTB4bWsvZ1JwTjlBQW8w?=
 =?utf-8?B?b2pKbDVuNXA0WThQZG4renJ3VTBsaFZWRjUwTUx6WjhSOHJvVVFZdi9GblJM?=
 =?utf-8?B?VCs1MnkwdncraFo5M01YRGlrd2ZwZ0NnZFFkaXBTTTQ2U2RoeDFWNlVxYWRN?=
 =?utf-8?B?MUhlamc4bnhtSklCODZFUko5NlZTQU85cFA0NjJqVytLRGtLR0V1d25NWUF4?=
 =?utf-8?Q?xgMvXgShnueuZLVPM3saL/IFx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa2861ed-3295-4a3e-6dfd-08da876d2bda
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 14:13:39.2485
 (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: 0WQ2No1HfixBX90dwjMiaI+x+N1MPPIXHTzF+dKJRcsdXJDMMP6QW09JMNt3viK2I7H+3hClaRyP63G3qk7N9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2934

On 26.08.2022 14:51, Carlo Nonato wrote:
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -605,6 +605,27 @@ static struct page_info *alloc_col_domheap_page(struct domain *d,
>      return pg;
>  }
>  
> +static void dump_col_heap(unsigned char key)
> +{
> +    struct page_info *pg;

const and perhaps move into the loop's scope?

> +    unsigned long pages;
> +    unsigned int color;
> +
> +    printk("'%c' pressed -> dumping coloring heap info\n", key);
> +
> +    for ( color = 0; color < get_max_colors(); color++ )
> +    {
> +        printk("Heap[%u]: ", color);
> +        pages = 0;
> +        page_list_for_each( pg, colored_pages(color) )
> +        {
> +            BUG_ON(!(page_to_color(pg) == color));
> +            pages++;
> +        }

This is a very inefficient way for obtaining a count. On a large
system this loop is liable to take excessively long. I'm inclined
to say that even adding a call to process_pending_softirqs() isn't
going to make this work reasonably.

I'm also not convinced of having BUG_ON() in keyhandler functions
which are supposed to only dump state.

> @@ -2853,6 +2874,9 @@ static void cf_check dump_heap(unsigned char key)
>  static __init int cf_check register_heap_trigger(void)
>  {
>      register_keyhandler('H', dump_heap, "dump heap info", 1);
> +#ifdef CONFIG_CACHE_COLORING
> +    register_keyhandler('k', dump_col_heap, "dump coloring heap info", 1);
> +#endif

I question the consuming of a separate key for this purpose: What's
wrong with adding the functionality to dump_heap()?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 14:21:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 14:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393910.633118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRaCh-0005a7-CZ; Fri, 26 Aug 2022 14:20:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393910.633118; Fri, 26 Aug 2022 14:20:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRaCh-0005a0-9L; Fri, 26 Aug 2022 14:20:59 +0000
Received: by outflank-mailman (input) for mailman id 393910;
 Fri, 26 Aug 2022 14:20:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cVPj=Y6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRaCf-0005Zu-JI
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 14:20:57 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00067.outbound.protection.outlook.com [40.107.0.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c8da630-254a-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 16:20:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7247.eurprd04.prod.outlook.com (2603:10a6:800:1a2::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.16; Fri, 26 Aug
 2022 14:20:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 14:20:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c8da630-254a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cnRp3NtBRD4wn1+sYDeTsqYws/LH8HwdwER27yTJqVmoj5mmg6dV/4k5qkp3gE/pMeqrdsHV6QJBinx2940BYq+yhsnrDeeXrq8st4M/F4dh4WPCXpuOK3cmYCKiTWjwgBp3m1x5IEgloUkw6ot7xBhcZ4tEm61eclN/hbXlEU6/hUPXQmjLZmu0W08UfXcTg8HOn+8QXVRaq2ekjUxA6Rl1lOtravYqG7b3IncH+uMCSBKSsQLfNftXWOM8vxZ9XgTQXldb2YYMOdQsoTzbLw91r36ZRCwgOIVU/KD5RRtfidzvkYvZKcIH8vSLw1T/YK6hgzbZV7L72wqVYKB06A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ih1Hv3IMS6Rbb5dYKNA+5UooZq3X83Pxpj6Zg7tMwaI=;
 b=MVDGOvYRhlY2vx8My1ZFoicTIJblbY6ey8jnEbWvjTPx+dwqa7sx8pxRezFVQsJ12Qd1zDYsjMTMOgVzPeD+kWdJUJqGJxxeG78ToIPrRzkW8b3mCvWPpURSPZK6NHrELao50fDdEMXAtJ6NuP0jLMub7aAuDhKKaTOgbRa+xnhncMuTURLA5l2docyfSnpjARBdJPhYqmLtJzkLDX0XG7YBgrXjGBQjaHsgRQ/LSpGf+wc93BjtMAjZZ0FbW7LHgYsFeoyYOyyNW6ooTsvuXZ6dADr0DzBITC2c+iN+QG2ClC6d2UBf+7JhPV1/LUlZW+RpiBdNw/TdlFEoRTTjRw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ih1Hv3IMS6Rbb5dYKNA+5UooZq3X83Pxpj6Zg7tMwaI=;
 b=i2ZFXSe5mutilUH07RAs20zsmu9JxJmH3X2ZS4k8teearDD0RytOCqgAWlIMoT2XB3UvnUeDdt5LyFOMhEvP8ghgx1ylVQV4Dunt6MX03GMimASlULiF6TwlSQsxN5A/zGLmBY/y07Em0j4E58RzxppZnbpBArv+I27K7qPyfX3QD0hsVsCSYPzltK907eT+PwM/WWaK1/k2KSxymCGK8wV++2pP3/9ycycZTXtp7QZn/M5Iog0sAdryPepJuRBVXyFCAnoJHId8uSwm+dQ1gpF/o4XiLVrFOEuprvI7lVnk23OLNnrTl0O0R5IAGm7jmrFQGHMv0ib7RTdZ0H3wTA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2fc50656-24bb-414f-4f39-3b23c4c3aa0f@suse.com>
Date: Fri, 26 Aug 2022 16:20:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <edff5ba0d286a41b94a6b4bb332b63228f7faebe.1661181584.git-series.marmarek@invisiblethingslab.com>
 <b323ebc3-68fc-f6e1-b9ac-d508855a605b@suse.com> <YwiygukKUUqiAke9@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YwiygukKUUqiAke9@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d4f1e1ef-a0b2-4793-2bef-08da876e2fe6
X-MS-TrafficTypeDiagnostic: VE1PR04MB7247:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GeXRBZ86L21xnVW5SY8X5fUoyVNQB5tYpORhPqtFnAJuiwsdll0dhmGfBpAFlTnlllkRZ7pzUqM3drls7oNMcYh2KKMUAU16cp9++jV4vYZD2KYIKTSdVmpG5075Q3IADapVMHzjD5mQ5nVKnYtISAy1PTICZ4uAfuLZ8gHw9ua4/nbrEnUOySz5f7V8P9pQSWOnA3fYgZ9+9g4QmVePjmWHZcDvwvfxN/+fLfTAoITUER0XyWfawWOq6mMx4mgQeYf/XP8CZ6VRyE4M4HCD1MHjI60JM5poK7uO0RhC8sN15gEW4zH4zCqvTjbvNBCbj22e7Gt0qneG8tEfRh0e6rE9yczxkAnIdJkXW4y6Y89I4vh2VXFszfnT6VhIWLp6tW8/zCSOSdXKltrtFwEp7HqZVsZu/JBUGDKgW7jVC6Cx2XWcnAimKiymmDbmu6JFk89M8mPwETglaAh9q+XO1pEr53Euz/g1q4fO8h2Z/x2cydC6clgWOZQLWRd1FWsWpOzMgp4ePFa15K83pn44QBJzXLgY7WlLrqywqiShYHbwzx5lEicM4E0Zd1fYFaVmcUFMAyWz9BsHG3+LkUqsblIM4EGT7XYOJ1yp/OKZCJv5Xc4Hy2dP5z0hExFli8A1BNu8d0mLndLV4ldHO7aeDxsbWq4ppVM63IU96lGlAE0eDynCoiuXurYlAvgguW/W495bS25N5+LobcN9tRJKoCigZzmrHKR+6cF/Zv6ysqqNJCefbxEpNVcpdGQ5Rxy62ccS36/v/XGwmTQ6D3iEfhyu0PzqN3monjPyUsdzXfA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(376002)(136003)(346002)(366004)(396003)(2906002)(53546011)(6506007)(316002)(6512007)(26005)(54906003)(6916009)(86362001)(31696002)(4326008)(8676002)(6486002)(66946007)(66556008)(478600001)(41300700001)(66476007)(8936002)(5660300002)(31686004)(2616005)(186003)(38100700002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V1RpenVBK1FpTktEZ1pxb2cxUHNuWUZGT1dsQlorVXZmZ1JuSWNDSCt4TWlu?=
 =?utf-8?B?cm8raXRmUHAvRmpDQk9ocTY0clhMcnZjenFjbkZLMm1kV0lEcUFJeEJWcmVw?=
 =?utf-8?B?MGhPZFR6OGI2NDNPai9JeXI0K3Z4akxlRjlTaE1LeXVNUDBxTkJQNmpsd1Fl?=
 =?utf-8?B?L0RDSFp1aHpncXIrR3QvdzdXZEEzYm9USUhIYld4THpQZDZUMkNkUDhzTk1Q?=
 =?utf-8?B?UlpuV2JnUmZPZGx3VXYrZU5BOTNCREFkbVVGc3BWSGJrQmNvMnNRbWU2MGF3?=
 =?utf-8?B?QkdOdW9GekdiSDY3OGZoMEo5SlBvVk4zTzRYNGpKcG9DSDMrYVZIVlNMVHc1?=
 =?utf-8?B?YWJoMjJRZWhxa210OVBpaVMrWnRLaFZDdWQ5YmVtc1dkcXppc2F3S0lVQmYy?=
 =?utf-8?B?TmdIVmd4Rnp6RDZKdm1yWWROVWs2bmxjTnJTR2dvemcxcE9TY3BpSlV0RnV3?=
 =?utf-8?B?bzRhVzdjLyszTmNlWDdISS92eHAvd2xTUVQrbW14a0grd3Y2N0VLc2U5VmJs?=
 =?utf-8?B?bGVnZVUwQnhEQTkwOVBMN1Y2ZGhrZ0RBWk5WNnFEMGF4SHFpNHNvVHBMR2JS?=
 =?utf-8?B?bzVxNFRFM01xYWZsTGRVTUNZd2wvdWJBaVYvZHY4RTU3aG8vU3lQVXEyc1BR?=
 =?utf-8?B?elhBekk2Wlc5VlgyOW5CY3AycVA5dDZpdUppTXBrNktJYTIyRTVOeExlMm1I?=
 =?utf-8?B?SnlVWFQwZ1FFNFJDNkluTVFoTHRzZUcybnZQYkFwNkdDQzIxczhRR0pHOWE1?=
 =?utf-8?B?QXFUUkxkZk9UMnhCbmI4c29peTkyVnJBTm5XbDVibkdPU2tvSnNZZWpiOEI0?=
 =?utf-8?B?aU9iaTVpTkh3NGUvZHVFbUhxMWI0bXZMcWJiYzVuMWNURUcxVzN6a1BvcTRX?=
 =?utf-8?B?d2pOTGF6Y1d4cUhMNWMrYjdBQ084UXl3NU1rd05pYzdkNnR2Ny9uSXhOMVAv?=
 =?utf-8?B?QjRpMm0vZTRNcUtkRi9jcmFmZlhFalZnMEhmVHl3TW5zYW1zelBHT3JxUjcr?=
 =?utf-8?B?aUJiNDA4RDhrRVlHQUxCbWtsaGwzRk1IVGw5OFJEMnFyc09ORU9xYjJiclVu?=
 =?utf-8?B?cHRsZGpiZ3g3dGVWTlp6aWsxVWV5VUQwRytGZ2hMZ3VGNWZ3Y2psU2JPdWlZ?=
 =?utf-8?B?Z3RJQ0dFdlN5aUlzWWpxZVVPU2xjL21XNlRPWHg4TU5ZSHgzU205eFc2Sndv?=
 =?utf-8?B?Tm1vZGhoaTU3M1hLVFMrNjJjbFB2TTRCblREMXdzVHBJTDFjUlVxTlpJNEpa?=
 =?utf-8?B?dGhiT3ZlY3BPQ1RrS0VvdW9rSmFkUkdOL2RXM1c0S3RLN1pBcXNQWnhmL09N?=
 =?utf-8?B?NEFrR3NzajlaL0UxZlBQdUV1UXUrY2xFeGl6RGs2YXlrTzRNU1dMRXV1MTgw?=
 =?utf-8?B?MExoNWZZV0hpSjJvcU82K1U4YU9tRXZNaldYa1k3eG8ydVViT21jQjB6OWVF?=
 =?utf-8?B?QWRTQzJ6VyszMGFwTjFzQ3BZT2NNMmVwemxndWU0d2pFakJOOERnQmtMNUp2?=
 =?utf-8?B?bjJqV2pmanBxM05sam5jKzdVb2pmWWNQR3JNWWRWcGVmcXNqdno5MWpxcDRp?=
 =?utf-8?B?ME5uODYrdFJvQ1h6YkJuYXYrbS94aFdmK3phNStmeTdCMTdyY2ZMSG5mV3Z1?=
 =?utf-8?B?cEZCRERIMXNwb3I4b0tMajdVZWVSNGp1a1VPVWhQZnlTcHdnUy9XNHdyWEJw?=
 =?utf-8?B?Rlkra1hKblJqYWtBVkVkbWdxWW5lR0xPWnErQk1QWmJEellJQTY3QldlK1k5?=
 =?utf-8?B?UkI1TktNVS9wRlZmbTVjL3NvMGlpV3hmLzFBNk0zWjRVWFJzbXVkY0EwSm85?=
 =?utf-8?B?WVFEWWtqekRaQklWdTlvYllIdC9lb0dtbUdkWU5Xbi93YldVRzVMOFdVdGJD?=
 =?utf-8?B?TDFJRHU3c0pNTWtUMDN6RmlXSFhPNGViM0Q3R2czcnF5eG9RR2IzMSs0UjFv?=
 =?utf-8?B?UVY5d2lVdkJzeHFac0JjcEYwb3pSTVNxbVhGVkI5Q20wazc1S0ZBZ2g2Rk1p?=
 =?utf-8?B?cWd2YVh4SUNyWi9WNFYvazIzemJCNWQ4akRDSVd6ZHRLUFRqQUlZTUkwQnNL?=
 =?utf-8?B?UERycnFvelRZcE42WGZoVG9JNkZpS2hmM3lmeHVJRXV2UXdzelZhWE9vNXYz?=
 =?utf-8?Q?Uwxh+69mLSCPtQJTRSJlMeCjA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d4f1e1ef-a0b2-4793-2bef-08da876e2fe6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 14:20:54.7518
 (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: vuju1GZ8u5lrNe6nEjXNXO2xgIG8jY2G0jNOiNhz7uUv8BBsT1JCj/SMVnS1MdewQVbf67BszzvrOrSM0nbF2w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7247

On 26.08.2022 13:46, Marek Marczykowski-GÃ³recki wrote:
> On Thu, Aug 25, 2022 at 05:44:54PM +0200, Jan Beulich wrote:
>> On 22.08.2022 17:27, Marek Marczykowski-GÃ³recki wrote:
>>> This allows configuring EHCI and XHCI consoles separately,
>>> simultaneously.
>>>
>>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>>
>> But was I maybe confused, and much less of a change would suffice? After
>> all ...
>>
>>> --- a/xen/drivers/char/xhci-dbc.c
>>> +++ b/xen/drivers/char/xhci-dbc.c
>>> @@ -1058,9 +1058,9 @@ static struct xhci_dbc_ctx ctx __aligned(16);
>>>  static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
>>>  static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
>>>  
>>> -static char __initdata opt_dbgp[30];
>>> +static char __initdata opt_dbc[30];
>>>  
>>> -string_param("dbgp", opt_dbgp);
>>> +string_param("dbc", opt_dbc);
>>>  
>>>  void __init xhci_dbc_uart_init(void)
>>>  {
>>> @@ -1068,25 +1068,25 @@ void __init xhci_dbc_uart_init(void)
>>>      struct dbc *dbc = &uart->dbc;
>>>      const char *e;
>>>  
>>> -    if ( strncmp(opt_dbgp, "xhci", 4) )
>>> +    if ( strncmp(opt_dbc, "xhci", 4) )
>>>          return;
>>
>> ... this already avoids mixing up who's going to parse what. So right
>> now I think that ...
>>
>>> @@ -1102,7 +1102,7 @@ void __init xhci_dbc_uart_init(void)
>>>      dbc->dbc_str = str_buf;
>>>  
>>>      if ( dbc_open(dbc) )
>>> -        serial_register_uart(SERHND_DBGP, &dbc_uart_driver, &dbc_uart);
>>> +        serial_register_uart(SERHND_DBC, &dbc_uart_driver, &dbc_uart);
>>>  }
>>
>> ... this and other SERHND_* related changes are enough, and there's no
>> need for a separate "dbc=" option.
> 
> But then you wouldn't be able to configure "dbgp=ehci dbgp=xhci" as
> one would override the other, no?

Not as long as both use string_param(), true. They'd need to both become
custom_param(), doing at least some basic parsing right away.

But using two such options at the same time isn't of interest anyway
without your multiple-serial-consoles change, so possibly not of
immediate need (unless someone comes forward expressing interest and
actually approving that change of yours).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 14:27:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 14:27:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393922.633132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRaIo-0006Lf-5o; Fri, 26 Aug 2022 14:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393922.633132; Fri, 26 Aug 2022 14:27:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRaIo-0006LY-38; Fri, 26 Aug 2022 14:27:18 +0000
Received: by outflank-mailman (input) for mailman id 393922;
 Fri, 26 Aug 2022 14:27:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/wu6=Y6=amazon.de=prvs=230e9f9c6=mheyne@srs-se1.protection.inumbo.net>)
 id 1oRaIm-0006LS-Hj
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 14:27:17 +0000
Received: from smtp-fw-6002.amazon.com (smtp-fw-6002.amazon.com [52.95.49.90])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ddbf04a-254b-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 16:27:15 +0200 (CEST)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2c-b09ea7fa.us-west-2.amazon.com) ([10.43.8.6])
 by smtp-border-fw-6002.iad6.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Aug 2022 14:27:00 +0000
Received: from EX13MTAUWA001.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198])
 by email-inbound-relay-pdx-2c-b09ea7fa.us-west-2.amazon.com (Postfix) with
 ESMTPS id A73F044E7B; Fri, 26 Aug 2022 14:26:59 +0000 (UTC)
Received: from EX19D048UWA004.ant.amazon.com (10.13.139.40) by
 EX13MTAUWA001.ant.amazon.com (10.43.160.58) with Microsoft SMTP Server (TLS)
 id 15.0.1497.38; Fri, 26 Aug 2022 14:26:59 +0000
Received: from EX13MTAUWA001.ant.amazon.com (10.43.160.58) by
 EX19D048UWA004.ant.amazon.com (10.13.139.40) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.12;
 Fri, 26 Aug 2022 14:26:58 +0000
Received: from dev-dsk-mheyne-1b-c1362c4d.eu-west-1.amazon.com (10.15.57.183)
 by mail-relay.amazon.com (10.43.160.118) with Microsoft SMTP Server
 id
 15.0.1497.38 via Frontend Transport; Fri, 26 Aug 2022 14:26:58 +0000
Received: by dev-dsk-mheyne-1b-c1362c4d.eu-west-1.amazon.com (Postfix,
 from userid 5466572)
 id 4069E26EF; Fri, 26 Aug 2022 14:26:58 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ddbf04a-254b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1661524035; x=1693060035;
  h=date:from:to:cc:message-id:references:mime-version:
   in-reply-to:content-transfer-encoding:subject;
  bh=3KHfG9pE5vUtzEuAuE175SucQTfUj+3os4tgSI5rGug=;
  b=BRujo0VQI/jE021v/Pr+D8b+4umEbqrJymmEKBT5I+QeBZKawQPKG46g
   fNF/Ga7YIcFCRT2sV7x4XRdSoiquhGdkSgW3i5PJBn9hMKeDkGwYpWts3
   Iw1X8lIYOY4udkNRmzaxvyBqpc8YKwZNeGBIUHUC3mdX7sA2Y9nFjGscg
   w=;
X-IronPort-AV: E=Sophos;i="5.93,265,1654560000"; 
   d="scan'208";a="237815397"
Subject: Re: [PATCH 2/2] xen-blkfront: Advertise feature-persistent as user requested
Date: Fri, 26 Aug 2022 14:26:58 +0000
From: Maximilian Heyne <mheyne@amazon.de>
To: SeongJae Park <sj@kernel.org>
CC: <jgross@suse.com>, <roger.pau@citrix.com>,
	<marmarek@invisiblethingslab.com>, <xen-devel@lists.xenproject.org>,
	<axboe@kernel.dk>, <linux-block@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <stable@vger.kernel.org>
Message-ID: <20220826142658.GA77627@dev-dsk-mheyne-1b-c1362c4d.eu-west-1.amazon.com>
References: <20220825161511.94922-1-sj@kernel.org>
 <20220825161511.94922-3-sj@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
In-Reply-To: <20220825161511.94922-3-sj@kernel.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
Precedence: Bulk
Content-Transfer-Encoding: quoted-printable

On Thu, Aug 25, 2022 at 04:15:11PM +0000, SeongJae Park wrote:
> CAUTION: This email originated from outside of the organization. Do not c=
lick links or open attachments unless you can confirm the sender and know t=
he content is safe.
> =

> =

> =

> Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
> when connect") made blkback to advertise its support of the persistent
> grants feature only if the user sets the 'feature_persistent' parameter
> of the driver and the frontend advertised its support of the feature.
> However, following commit 402c43ea6b34 ("xen-blkfront: Apply
> 'feature_persistent' parameter when connect") made the blkfront to work
> in the same way.  That is, blkfront also advertises its support of the
> persistent grants feature only if the user sets the 'feature_persistent'
> parameter of the driver and the backend advertised its support of the
> feature.
> =

> Hence blkback and blkfront will never advertise their support of the
> feature but wait until the other advertises the support, even though
> users set the 'feature_persistent' parameters of the drivers.  As a
> result, the persistent grants feature is disabled always regardless of
> the 'feature_persistent' values[1].
> =

> The problem comes from the misuse of the semantic of the advertisement
> of the feature.  The advertisement of the feature should means only
> availability of the feature not the decision for using the feature.
> However, current behavior is working in the wrong way.
> =

> This commit fixes the issue by making the blkfront advertises its
> support of the feature as user requested via 'feature_persistent'
> parameter regardless of the otherend's support of the feature.
> =

> [1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7c=
d@suse.com/
> =

> Fixes: 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter =
when connect")
> Cc: <stable@vger.kernel.org> # 5.10.x
> Reported-by: Marek Marczykowski-G=F3recki <marmarek@invisiblethingslab.co=
m>
> Suggested-by: Juergen Gross <jgross@suse.com>
> Signed-off-by: SeongJae Park <sj@kernel.org>
> ---
>  drivers/block/xen-blkfront.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> =

> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index 8e56e69fb4c4..dfae08115450 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -213,6 +213,9 @@ struct blkfront_info
>         unsigned int feature_fua:1;
>         unsigned int feature_discard:1;
>         unsigned int feature_secdiscard:1;
> +       /* Connect-time cached feature_persistent parameter */
> +       unsigned int feature_persistent_parm:1;
> +       /* Persistent grants feature negotiation result */
>         unsigned int feature_persistent:1;
>         unsigned int bounce:1;
>         unsigned int discard_granularity;
> @@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *de=
v,
>                 goto abort_transaction;
>         }
>         err =3D xenbus_printf(xbt, dev->nodename, "feature-persistent", "=
%u",
> -                       info->feature_persistent);
> +                       info->feature_persistent_parm);
>         if (err)
>                 dev_warn(&dev->dev,
>                          "writing persistent grants feature to xenbus");
> @@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct=
 blkfront_info *info)
>         if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard"=
, 0))
>                 blkfront_setup_discard(info);
> =

> -       if (feature_persistent)
> +       info->feature_persistent_parm =3D feature_persistent;

I think setting this here is too late because "feature-persistent" was alre=
ady
written to xenstore via talk_to_blkback but with default 0. So during the
connect blkback will not see that the guest supports the feature and falls =
back
to no persistent grants.

Tested only this patch with some hacky dom0 kernel that doesn't have the pa=
tch
from your series yet. Will do more testing next week.

> +       if (info->feature_persistent_parm)
>                 info->feature_persistent =3D
>                         !!xenbus_read_unsigned(info->xbdev->otherend,
>                                                "feature-persistent", 0);
> --
> 2.25.1
> =




Amazon Development Center Germany GmbH
Krausenstr. 38
10117 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss
Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B
Sitz: Berlin
Ust-ID: DE 289 237 879





From xen-devel-bounces@lists.xenproject.org Fri Aug 26 14:31:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 14:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393931.633144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRaMb-0007kq-N8; Fri, 26 Aug 2022 14:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393931.633144; Fri, 26 Aug 2022 14:31:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRaMb-0007kj-Jn; Fri, 26 Aug 2022 14:31:13 +0000
Received: by outflank-mailman (input) for mailman id 393931;
 Fri, 26 Aug 2022 14:31:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vie8=Y6=citrix.com=prvs=230ac0225=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oRaMa-0007kd-KG
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 14:31:12 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b65304b5-254b-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 16:31:04 +0200 (CEST)
Received: from mail-mw2nam10lp2106.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.106])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 26 Aug 2022 10:30:54 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6168.namprd03.prod.outlook.com (2603:10b6:208:319::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug
 2022 14:30:48 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 14:30:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b65304b5-254b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661524265;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=ptR4FedCuu5NV8CQRVy79FFuLP9AKf6nZyNMA1jqltY=;
  b=eOwUMkNOMTZk6MUS3mgNkwKEjd/802WB1o6DvSlZtyBx82eCnaf3vw+7
   +VtDfa3MU+2/O5aDUYXIYYwtXJVyATQ95dEv3xo3NAQVcxc17BA/OnHY3
   eGT28pBD+mrD0meRYZV1McQzvRK+VHFXaza80kFn9TAAf5Q5sCgtXklTX
   I=;
X-IronPort-RemoteIP: 104.47.55.106
X-IronPort-MID: 78786966
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:QtnB2Kr0llOLXHJ2KGud9ahbP8VeBmL4ZBIvgKrLsJaIsI4StFCzt
 garIBnVMvbfNmXweo0kYYm+/U0H6peAyt81GgQ/rCxgEXkQoJuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt
 MiaT/f3YTdJ4BYpdDNPg06/gEk35q6q6GlG5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q
 e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ
 OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqUSwsxaKF1J6
 cc5KWsIcUrbqfqPnLaSH7wEasQLdKEHPas5k1Q5lXT8MqxjRprOBaLX+dVfwTE8wNhUGurTb
 NYYbjwpawncZxpIOREcD5dWcOWA3yGjNWEH7g/I4/NvvQA/zyQouFTpGPPTdsaHWoN+mUGAq
 3id12/4HgsbJJqUzj/tHneE2b+QzX2qBtx6+LuQ18w6n1CumVEoCBA9VFSG8NyehWjkRIcKQ
 6AT0m90xUQoz2SpRNTgWxyzoFafowURHdFXFoUS7QiXz6PO7gWxB24aTyVAYtgrqM83QzMx0
 laD2djuAFRHsqCRSH+b3qeZq3W1Iyd9BXQZeSYOQA8B4t/iiII+lBTCSpBkCqHdpsLxMSH9x
 XaNtidWr6Uei4sH2ru2+XjDgimwvd7ZQwgt/ALVU2m5qARja+aYi5eA7FHa6bNFM9yfR1zY5
 HwcwZHGsqYJEI2HkzGLTKMVBra16v2ZMTrax1lyA50m8Dfr8HmmFWxN3AxDyI5SGp5sUVfUj
 IX742u9OLc70KOWUJJK
IronPort-HdrOrdr: A9a23:UbqF26CvVW0LXSrlHegPsceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEEZKUmsuKKdkrNhR4tKOzOW9FdATbsSp7cKpgeNJ8SQzJ876U
 4NSclD4ZjLfCBHZKXBkUaF+rQbsb+6GcmT7I+woUuFDzsaEp2IhD0JaDpzZ3cGIDWucqBJca
 Z0iPAmmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlml9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4gow3TX+0WVjbZaKvi/VQMO0aWSAZER4Z
 7xSiIbToZOArXqDyeISFXWqlDdOX0VmgLfIBej8AfeSIrCNXwH4oN69PxkmlGy0TtegPhslK
 1MxG6XrJxREFfJmzn8/cHBU1VwmlOzumdKq59bs5Vza/poVFZql/1owGpFVJMbWC7q4oEuF+
 djSMna+fZNaFufK3TUpHNmztCgVmk6Wk7ueDlIhuWFlzxN2HxpxUoRw8IS2n8G6ZImUpFBo+
 DJKL5hmr1CRtIfKah9GOACS82qDXGle2OFDEuCZVD8UK0XMXPErJD6pL0z+eGxYZQNiIA/nZ
 zQOWkowVLau3iefPFm8Kc7giwlGl/NLAgF4vsulKRRq/n7WKfhNzGFRRQnj9agys9vcPHmZw
 ==
X-IronPort-AV: E=Sophos;i="5.93,265,1654574400"; 
   d="scan'208";a="78786966"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AtExuAwgGfUHpdSxkE0RLWRHhrytN1NXWDoh1jFAsDXNqFpX7fZpex6386l8b7JnLt5e0aKWuzzFlS/fhk7L4p2e7yNEGxvfBvf9bi2jlZyVmAun9HEeE+HKizFCTMLIvNnp3Hz96FRp998867F6TjTN5LcDMfopgUe6gTp3kTLI1QYQlh0GOWuSg/c1N+CXXFcFMATZ1FhIrA710GnoSfrVyfuJCYxUO3WwdeofRo+Qw7XMK/T0HB/HT86S9tEtMAWkFoYtoC+D1FB5vR+K8VV70SZ48R/n29hlKiKPrivB7IS6Z19iy8lsMBNSw+yZ+Yxo/lvjA5Da9mKlA/a9FQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ptR4FedCuu5NV8CQRVy79FFuLP9AKf6nZyNMA1jqltY=;
 b=CUafkeq2Hn7aWkvFL0ysdanleOa5KmoH+bjIIPIVIwW045VQXTGNB+kXMAunWmTbz4QFDRmhI6rm63jytOCTODOppOp0ofTa57TCDz4EixUEn0IM5ZRv/e2kpXlZcEyoSMN72Z2odPn26eBDzdNsbZxbW2Zhieh4ObfgG9RIf35CetyGdkHIr0Vx9kibeDuXJztB6SQ2xrarGdDFKwAD9aILFNyqY/VEsuhLZ5yhPC45nE9wc8fR3pcmqLMXZJvqx0snydRLooZ9/P3KPHr66eh95eDSdktlVH2Roc4+h28HyCSKAVJsXXRHfpji/eqOXVPgrVM+rp2nESda3FsW9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ptR4FedCuu5NV8CQRVy79FFuLP9AKf6nZyNMA1jqltY=;
 b=jspOy4cynAj61MIhtMxO4czcJ3PhQ+grEE7D64S2vt8B4Zxb7GOxFNyPjoSBuCcoQShq8DBlPvBB0cMm58wZyo50Ek7/VSq1yVzYtQZ2yF9ah0mOIMyk6ilIECjkilsRrPy+hoHbiaCrIlDZyjF2voebTgWvU1Lou6vDE8BdZWM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option
Thread-Topic: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option
Thread-Index: AQHYtjuy5TV728PIfkyn34xYcrxlPK2/xsYAgAFPoICAACs6AIAAAsWA
Date: Fri, 26 Aug 2022 14:30:48 +0000
Message-ID: <f4fa6f4e-1cff-99eb-c826-5271d772af4d@citrix.com>
References:
 <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <edff5ba0d286a41b94a6b4bb332b63228f7faebe.1661181584.git-series.marmarek@invisiblethingslab.com>
 <b323ebc3-68fc-f6e1-b9ac-d508855a605b@suse.com> <YwiygukKUUqiAke9@mail-itl>
 <2fc50656-24bb-414f-4f39-3b23c4c3aa0f@suse.com>
In-Reply-To: <2fc50656-24bb-414f-4f39-3b23c4c3aa0f@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 255d41b1-d4a7-499b-1628-08da876f91a3
x-ms-traffictypediagnostic: BL1PR03MB6168:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 2zYloJR3ULa+iE9QUVC/cabNv3JE4zkqEG69hWlqZdwGpsCj7lE3EyeSiSw9XrhyykiByvc7viCU4jC+oPV1fBnN+/dSwbflaTsX/aoYBVmMLloXLOh9o5x6roA2rdHFJLAgORiH4c2z6NQaLkXYTpmNud8C0oZhuEOT/uxV4Q6CwjktWXj64Y0AddMwSGt76aD4U2pfRCbqmQY6bR5ZeoHGztKYIpDGy5hYQ5NUP8Z+QeWlWWFTKrxLKHhP38pKqOG6RSPar7tUG2BMkNz210mQmdY1Yzg6JVZvx8R4D0/y4ry1zdbsNtKpVx3dCZzzI/k9Ot3Mc7towOkFIkdQiO98KhB9tgvXhg0zMO+KwUgE4BdKWZ6X6K2yFZZku8grrWxok966fMlC9JXv4QvOhyMmWo3hPbc8jYgMkEflDNFsNnTQKVZon3zBgosuVLw83E0WvgWatYeoFsJTRx2s7HDWLcLKW8hiLw4FZhgPWxf6aTQYJoADlLzL9G9gL02En0ccb3OonZrJcbhSEKUJpt7a/9F9Er9kONOFwu4t7ealmJCVdWfVDhwNAYKk6nfc8sLqSd1gMSTxqiWBmbsHmC7qs+IPdqxyw/w1JqUxT8Q8S0xINv1y7JTZkChSukm9doswShRHORSl3IB4vEZoi0OYHpk2Grbl3xrDJYuwn9Zh2y4bUaOW9Wqh6kFE1UufwtNaZNLvgB2HHP8gljinJ4VFrMOpqmJJ4YP6c5nNh73wNWt98yWj6KdvYBnKfQrLJs+nOhhgt/jQ7tND7MT/zHmhUAtFYm7hwCxHloT1wNl+cZTE5lVshOcj2Nr7h0iXomYQOPCmj2DemuO65+oMlw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(346002)(366004)(396003)(39860400002)(2906002)(316002)(31686004)(76116006)(91956017)(8676002)(64756008)(66446008)(66476007)(66556008)(66946007)(54906003)(4326008)(6506007)(110136005)(71200400001)(41300700001)(478600001)(53546011)(6512007)(6486002)(26005)(2616005)(122000001)(86362001)(38100700002)(31696002)(186003)(8936002)(5660300002)(36756003)(38070700005)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?d0pzZWlPNmJYWGhmK3pSNGRvVjR6WC9VZnBxNUR4amZZdEJ3SnlReldnUW1O?=
 =?utf-8?B?dWMzcjhOdjZLSUdON3Vhc3AyN3JYUEV2bGVrVDFtek9QWU9QMFJPVy93NHNF?=
 =?utf-8?B?QTJxVTNuZldBVFNIZG5GM1AyWDVzc3ZyZHNVUnlKYXlTWU14Rk82Q1djR3Zp?=
 =?utf-8?B?elVGNkZ3bHFMckdpYzBjVzZWbUorZ1drYzZ5RVVaemxvT0ltK3JERXFqamhJ?=
 =?utf-8?B?eWF4TGdoT1p1L1A0RXJzNXZvem1WbllTYXMwNG9oczRwK1o3SW9kallZVlBX?=
 =?utf-8?B?dURZRVFoT2UvTzhCWGdvMm1qeXFJc3pQOFVVbHBYcnpXcmxXRVljbGp2K0Nj?=
 =?utf-8?B?Q2xnUTA3NFdod3pTcTFIVEhDK25lNzljNTVUR3BTSkVhYnVySlBqbXVBSExO?=
 =?utf-8?B?N3VhYVlzODR2NE11MlhoeGZ6a2xSM1hwaVVUR3Jxa0ZUaW1JMFF6MkFieW02?=
 =?utf-8?B?N1J1Tm9ZOXUrUDNKYTBFaExKak5qSUZoSncvNndWbE5ZUi9ya0pLNmt2VTI1?=
 =?utf-8?B?M25Sb2Z1Y0hsTVczOVh2aUZBbFJXdzBLcGVxeU1GMlZyb1BFaHpSTWZFV01N?=
 =?utf-8?B?S1JkTC9Xa01BVlNYL3dMOUVsTlBhWHhMUjU0VFFJMTNYSDZFYktlY1NNcHRC?=
 =?utf-8?B?QzU4ZWljcTZhS0Q2cjNOcWdxa2g4TU5sOFlzR1c3K0ZscUVuSEs1a2xrSW1X?=
 =?utf-8?B?UFlLV2NqclhCSW45dzROcmpzVW9aUDQ5RUhmcGJMQmFtZWcwaTBQdnkrb3Fq?=
 =?utf-8?B?YXgxWHo1NzJBTjdMYXcwTW5KL0g0Q01SWkZhaGhxcGVaVGFRMWtRaTIybzdL?=
 =?utf-8?B?MVd6RERneTRsdWdrVDBDTXdyM2Y1QnNJbnE0QkZEQVRNM0tKS25aVkNFVnBF?=
 =?utf-8?B?YVFkQ3U1c0VyUnBadEZZUU9WcWQ3bWNZRUVWU0pwaksxb0UrRDRjYnovZ0xt?=
 =?utf-8?B?U1c0Q1hiMHVvT3Fvb3pybGFMZnFLd204UkVCOGlCam13K1BHVEVPV1JtdytU?=
 =?utf-8?B?Vy9zTklVMFYwR1MzZVRlOGZjQVFMc0dFMnNhUXZ2YlB2eE5jR1g5eTJYeEw2?=
 =?utf-8?B?Uk5GaE8zcm1SMkpsQ1MwOU5GVFNJems2eHpSQzliZkduakdtU3ZLL3loc3lT?=
 =?utf-8?B?Tkc5M1RmcUM2cUJaVDlSOE1YbGVoOGFRNnpXb1dKbHBweEQ1Y2M4TnVvRk5G?=
 =?utf-8?B?TEJCNjZINWhNMTFLbU1LdHBFNWljaGNBdGRJM083MkxGRi9scm5LcjZobGg1?=
 =?utf-8?B?cldaWlgwYlFIVk8zUVBQaGdRTGxmK3Y3M1k1OUFOS002VUZSdW4rNlFCYzFl?=
 =?utf-8?B?Y0FaWUQ0MU1RdHFMZUM4aUFlTHJyYXI5QTEwMEJ3MVJYc0EvUWcyc3JzK0FH?=
 =?utf-8?B?Qzl0UUdTRGpUWEJycCtBY3BlYTZldHd4OU1XRDI0SWpabkNnYnpLMFQrdi9s?=
 =?utf-8?B?aWgyUWp2RUN5SVBrM2RncnNiQTVITUhHQ0pwS2lhMitWYzlTNnFEdm1panY5?=
 =?utf-8?B?MktObVJtdnMzQnliMzBqQi9JbVdCZnBCbjlkQWV5NkRGU0xqcEM5dXU2Ym5P?=
 =?utf-8?B?TEFLT0JhRGxCeTFMd2dmVGw3U3JGN0V1VWZxYWU3cERHbytqeVhUak9IejhY?=
 =?utf-8?B?UWM5d09wbzkvaEd0bHlQcGZsZ2d6NU4rZ0dPbTJCcDNrTENmZURiMzVKbWRF?=
 =?utf-8?B?Mk9lR1BxcTJ6Q2p1L29WV25PWFpoME1DbjRaWlorRU9paTZBblRub2ZHZ3Zi?=
 =?utf-8?B?L1BRdGg3WFFldElVUCs5OHllUlJ4Nk9CUmszc3VHVUFtMThaZWFFQTk0c2xG?=
 =?utf-8?B?VUhhNFdnQWtEODYvc1NuMGVWNXo5ZmpxbkpPVDRQQmxhODNRMysrZXd1eVVF?=
 =?utf-8?B?dW0rVG1GcFEwZlR1Q0h3YmFSZWRYL0R4OStTdDQvSm95M3FHZzlKOVFlVzNv?=
 =?utf-8?B?TXVWVkc0dXc5VjZZdTVrTGlpOU9STnBmVTl5NEdnbGRwNHQ2alZuWkVCbDhv?=
 =?utf-8?B?L2Q1ckV1Qk5OeUVnM1dxeUhPWWY1QUc2akhXcEc1cWRML2FMd1JXK2ZRZkh0?=
 =?utf-8?B?ZWowWm5uOEdIZ2dMRmc2VU9QOHN2VXY5cGFCcUQxbUZCUVJlRk9XOVNqOHY5?=
 =?utf-8?Q?BvNp/D4sMiTWKUE7HErlCR1gB?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <FFBE486622854D4AA2CAD6E55D8C3E25@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 255d41b1-d4a7-499b-1628-08da876f91a3
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2022 14:30:48.0694
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: P4chjAYAcxyeLtApZB7ebzmpz+d9dR3aSMobAVYf/am/gKI1gF1nOrQ3EacPsoAyrHLVn0udyz5iU95OkLyEbQP26BFQ9OAw5Q3582sQHWw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6168

T24gMjYvMDgvMjAyMiAxNToyMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI2LjA4LjIwMjIg
MTM6NDYsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToNCj4+IE9uIFRodSwgQXVn
IDI1LCAyMDIyIGF0IDA1OjQ0OjU0UE0gKzAyMDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+IE9u
IDIyLjA4LjIwMjIgMTc6MjcsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToNCj4+
Pj4gVGhpcyBhbGxvd3MgY29uZmlndXJpbmcgRUhDSSBhbmQgWEhDSSBjb25zb2xlcyBzZXBhcmF0
ZWx5LA0KPj4+PiBzaW11bHRhbmVvdXNseS4NCj4+Pj4NCj4+Pj4gU3VnZ2VzdGVkLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+Pj4gQnV0IHdhcyBJIG1heWJlIGNvbmZ1c2Vk
LCBhbmQgbXVjaCBsZXNzIG9mIGEgY2hhbmdlIHdvdWxkIHN1ZmZpY2U/IEFmdGVyDQo+Pj4gYWxs
IC4uLg0KPj4+DQo+Pj4+IC0tLSBhL3hlbi9kcml2ZXJzL2NoYXIveGhjaS1kYmMuYw0KPj4+PiAr
KysgYi94ZW4vZHJpdmVycy9jaGFyL3hoY2ktZGJjLmMNCj4+Pj4gQEAgLTEwNTgsOSArMTA1OCw5
IEBAIHN0YXRpYyBzdHJ1Y3QgeGhjaV9kYmNfY3R4IGN0eCBfX2FsaWduZWQoMTYpOw0KPj4+PiAg
c3RhdGljIHVpbnQ4X3Qgb3V0X3dya19idWZbREJDX1dPUktfUklOR19DQVBdOw0KPj4+PiAgc3Rh
dGljIHN0cnVjdCB4aGNpX3N0cmluZ19kZXNjcmlwdG9yIHN0cl9idWZbREJDX1NUUklOR1NfQ09V
TlRdOw0KPj4+PiAgDQo+Pj4+IC1zdGF0aWMgY2hhciBfX2luaXRkYXRhIG9wdF9kYmdwWzMwXTsN
Cj4+Pj4gK3N0YXRpYyBjaGFyIF9faW5pdGRhdGEgb3B0X2RiY1szMF07DQo+Pj4+ICANCj4+Pj4g
LXN0cmluZ19wYXJhbSgiZGJncCIsIG9wdF9kYmdwKTsNCj4+Pj4gK3N0cmluZ19wYXJhbSgiZGJj
Iiwgb3B0X2RiYyk7DQo+Pj4+ICANCj4+Pj4gIHZvaWQgX19pbml0IHhoY2lfZGJjX3VhcnRfaW5p
dCh2b2lkKQ0KPj4+PiAgew0KPj4+PiBAQCAtMTA2OCwyNSArMTA2OCwyNSBAQCB2b2lkIF9faW5p
dCB4aGNpX2RiY191YXJ0X2luaXQodm9pZCkNCj4+Pj4gICAgICBzdHJ1Y3QgZGJjICpkYmMgPSAm
dWFydC0+ZGJjOw0KPj4+PiAgICAgIGNvbnN0IGNoYXIgKmU7DQo+Pj4+ICANCj4+Pj4gLSAgICBp
ZiAoIHN0cm5jbXAob3B0X2RiZ3AsICJ4aGNpIiwgNCkgKQ0KPj4+PiArICAgIGlmICggc3RybmNt
cChvcHRfZGJjLCAieGhjaSIsIDQpICkNCj4+Pj4gICAgICAgICAgcmV0dXJuOw0KPj4+IC4uLiB0
aGlzIGFscmVhZHkgYXZvaWRzIG1peGluZyB1cCB3aG8ncyBnb2luZyB0byBwYXJzZSB3aGF0LiBT
byByaWdodA0KPj4+IG5vdyBJIHRoaW5rIHRoYXQgLi4uDQo+Pj4NCj4+Pj4gQEAgLTExMDIsNyAr
MTEwMiw3IEBAIHZvaWQgX19pbml0IHhoY2lfZGJjX3VhcnRfaW5pdCh2b2lkKQ0KPj4+PiAgICAg
IGRiYy0+ZGJjX3N0ciA9IHN0cl9idWY7DQo+Pj4+ICANCj4+Pj4gICAgICBpZiAoIGRiY19vcGVu
KGRiYykgKQ0KPj4+PiAtICAgICAgICBzZXJpYWxfcmVnaXN0ZXJfdWFydChTRVJITkRfREJHUCwg
JmRiY191YXJ0X2RyaXZlciwgJmRiY191YXJ0KTsNCj4+Pj4gKyAgICAgICAgc2VyaWFsX3JlZ2lz
dGVyX3VhcnQoU0VSSE5EX0RCQywgJmRiY191YXJ0X2RyaXZlciwgJmRiY191YXJ0KTsNCj4+Pj4g
IH0NCj4+PiAuLi4gdGhpcyBhbmQgb3RoZXIgU0VSSE5EXyogcmVsYXRlZCBjaGFuZ2VzIGFyZSBl
bm91Z2gsIGFuZCB0aGVyZSdzIG5vDQo+Pj4gbmVlZCBmb3IgYSBzZXBhcmF0ZSAiZGJjPSIgb3B0
aW9uLg0KPj4gQnV0IHRoZW4geW91IHdvdWxkbid0IGJlIGFibGUgdG8gY29uZmlndXJlICJkYmdw
PWVoY2kgZGJncD14aGNpIiBhcw0KPj4gb25lIHdvdWxkIG92ZXJyaWRlIHRoZSBvdGhlciwgbm8/
DQo+IE5vdCBhcyBsb25nIGFzIGJvdGggdXNlIHN0cmluZ19wYXJhbSgpLCB0cnVlLiBUaGV5J2Qg
bmVlZCB0byBib3RoIGJlY29tZQ0KPiBjdXN0b21fcGFyYW0oKSwgZG9pbmcgYXQgbGVhc3Qgc29t
ZSBiYXNpYyBwYXJzaW5nIHJpZ2h0IGF3YXkuDQoNCkkndmUgbG9va2VkIHRocm91Z2ggb3VyIHN0
cmluZyBwYXJhbXMsIGFuZCBub25lIG9mIHRoZW0gbG9vayBsaWtlIHRoZXkNCnNob3VsZCBiZSBz
dHJpbmcgcGFyYW1zLg0KDQpJIGhhdmUgaGFsZiBhIG1pbmQgdG8gdHJhbnNmb3JtIHRoZW0gYWxs
LCBvbmUgYXQgYSB0aW1lLCBhbmQgcmVtb3ZlDQpzdHJpbmdfcGFyYW0oKSB0byBwcmV2ZW50IHBy
b2JsZW1zIGxpa2UgdGhpcyBpbiB0aGUgZnV0dXJlLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 14:48:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 14:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393947.633162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRad0-0000yI-7m; Fri, 26 Aug 2022 14:48:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393947.633162; Fri, 26 Aug 2022 14:48:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRad0-0000yB-4H; Fri, 26 Aug 2022 14:48:10 +0000
Received: by outflank-mailman (input) for mailman id 393947;
 Fri, 26 Aug 2022 14:48:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cVPj=Y6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRacz-0000y5-B6
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 14:48:09 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2052.outbound.protection.outlook.com [40.107.22.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19391b8c-254e-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 16:48:08 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB6PR0401MB2248.eurprd04.prod.outlook.com (2603:10a6:4:48::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.16; Fri, 26 Aug
 2022 14:48:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 14:48:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19391b8c-254e-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lb3wH+Fr+/vqaRxE/WuuSTY/IPdtzarpCPpNMna2oDCbjD7JIhooc62Jqu1Fu6uhuIjyzhVaZiJytVQEhxQyhdmU600mQG7dFPQ1apPKzL2u31vxC0udFfQpAMYDW765pAGiOzDFT7NVrZ1Uw04SFy8sh/Q2CDhNPPP7z7HdNWMPCujEMU/izFyGtXXQXz05wOMKKXlBqeDB1Qz3ufpYXnV+ubR2BRoMmpjd2dY3g22HzTseNdVbcMLKBM9aItwQ5Nu4Ib9m6dsMC2dRBMHzJ4HSdOxe26q+p7Wv8ypKdIibZmGT3qOOSSY+EmI3a/5wIPC8ARpPQcwIYFF59amgIw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dO9FGP/EYRfnfrVNrdFmXZmjyntIVXSBFVzAaIOAvaU=;
 b=SmtRQ05sFjnvPNw8knudp8AuyxNUy+q9qcn+mJ6FHlkR1gs6pCBYk/EkmDvpy19QXrT1afbGNF4o7DUdp6dtiHszTdiZFn0u/wbfDJMR2Ke9PxahFPII+C+yN7hE180BaGsVut82Ynj+7MSIrzTJi7ibR/5ImhVVnjSJjiiTMnxAHtSnDrLCCio6ZYLo9/tBZm/FVZMrhJdi2wSRPMvCHPlerODmVl34rey9jLwzx4suyUSq7o4i0M/3e2xINhXyMB/kRiUO+jULe+jJqupVC8Vz/oUs8FLoIQZcjttCmYXp+C/sMy0g80s0x2pnCQ/mdghfWDnY/y32moybUQlJiQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dO9FGP/EYRfnfrVNrdFmXZmjyntIVXSBFVzAaIOAvaU=;
 b=ev/jJr0tg3CVkzvKDs/3DT3s520J9n7/pcKnalv282b7xJQawPG52TIUDyS6IP/8cfdN+IV09TNa+K7FLe+122LpIFsKAb1EEyu35xDGJd5wOVvlQKiwzK9cDVdB+sIUUxYVAggjJlgOvDbWo6xCUme7wW0vDUdoWvENmYfr1A1a87ed0wDj2DbKUw1CB5eky25Pkw0APSc8LpzCgMFXTY+/pMANEdB8BLVYBUNyhbGiKappnJ940/vFRDs1eEAIxmMeK4v30/LASftP5fpmi7DPMBQphcO1UvYyUXWEKcmT0oJ6pG+1hh9HpdJnHUfvXYhN0Z/hnE3kZxQZavUX1A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <edbab1af-427b-b20f-2fb8-b1e196330089@suse.com>
Date: Fri, 26 Aug 2022 16:48:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v5 8/9] drivers/char: allow driving the rest of XHCI by a
 domain while Xen uses DbC
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <1e2e4177eecc1da762d519926fa206971a9997a0.1661181584.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1e2e4177eecc1da762d519926fa206971a9997a0.1661181584.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0125.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 30450025-4d9a-46c6-e3da-08da8771fb7e
X-MS-TrafficTypeDiagnostic: DB6PR0401MB2248:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lJciB3j/gN0QxNnRC0U7o2rVMMhzoFo73Y5wdzQMS1+0kk2+oeERaEedfhISqiem8/NpS+XkJpXn75cxKKfScnlzuY9KpVnyVskvaBIRCIkf6pRGHcJ0yfzucG4uy00G9Ow567045V2TOC/VKAYZEmtzMxfXDxtZthxWG7Q7mrBlkH4sFIgQubuEX+kyrzMohWWQrhkkQ3G87/y0Wm2qMd8G5RJy8d7vHqRkjrNdtOnFSpSIMlRnOrNrV14bFCLHJO22UkY1cKJTpAh7NeNAKBcCTLOhoeeOz20LpPnP+dqF48Xz+EEfHde99sMGVSB6DSXcTUZcasyf08AhsfZizVDzgEdJ5IO+tqGB6ZTSVcVVZeR2pxLbAcplzRnIe/pc9Qn4Qk0VwWUeAQmw/Fq57zN7XvWwPX00eV4InIveLT+edpMosqcdbZoUZFg5oykPnaAfNQQLzPYujjuTZ79vFqEpRv7dpyHyINbQ7ikQY6h0/wjFmietDPoS3/lYzUVUMFNDHaMcrXFxoZQQ8BSkRNgGx3vhSQZ954j+DrKn847CfYvl8tXMPVsU6whUd/OtdiVE9d+YbtPA8XlqKVmgPhdNiWYl7VwWe3psKVGB891CNySuS05NQh6ao265aD60NlMJSxaFhMZ6UUXYu31MOGf9d3Zy0uBBNgDjMH+DXuxSyVSGQvucIYYeTQcycTISoK05IB1WK+mFhVRb1A/c5DGo8O1PlQc80AveW3SOvG0j9zy1CNPWMzJibI5KquuyuS/9/nXOGD3crPfOgFxYWlyMjd6ELaWcrhZ2/k/mO5k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(366004)(396003)(136003)(346002)(376002)(41300700001)(8936002)(66946007)(66556008)(66476007)(36756003)(6486002)(8676002)(31686004)(4326008)(478600001)(5660300002)(6916009)(54906003)(316002)(2906002)(31696002)(86362001)(2616005)(186003)(6512007)(26005)(6506007)(53546011)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejJURFRNWnVYY2xaclBZa2NZQ2xRUnoycGE4UzVSSWF1Y2ZRTnViQ0hmbnUv?=
 =?utf-8?B?Tm5BZFlYK3dnTklEcysrODBHTXRxSU5EbFhFVmczNmZDN2Jpa1RKRndpK0Iw?=
 =?utf-8?B?Y1NFdnBNVHdIQXhwRjZXMmV2UVdSaXZPZUxzcGJGdlNxclJZZEFDdU1kMXBN?=
 =?utf-8?B?RTBGekFSM3pMbTRvMm5oMDJIbUNLZEsxdFdYREcvc3N1UUR3WktoQ0ZPS2Qx?=
 =?utf-8?B?dGgxVTNpQ2pscE9CS2RrVGZ1VlllMW9nVkcxODBRakpqL3NlL01MVUkrNlBk?=
 =?utf-8?B?Ymtsb1loQ3BjcWwwazV6R0htVUNNNXJiaWh1NE5Ya1gvQ0NBTnFRSXg1VDJH?=
 =?utf-8?B?YWpGT1dNYzI1TkxEa3pPa3ZsNjRDOG1PeEFoQXNLRXpKekExVzdRejgzdDM1?=
 =?utf-8?B?aGZMS1lwc2NPUmVqc3o0RTh1ZDZwN29NZndRZks4bDBpUmVSNGFSV1VwamJK?=
 =?utf-8?B?cFFkUS96Qm9pWjRVR3gxWlNvVlBKbGJwS3ZXa0RCWVdncCtka1ljWkZZR2tx?=
 =?utf-8?B?NERBK2JIOUdyQ0ZzZEtpVjkzSkJ1SENtWGhKeXpMYmw4SmN4c0pFWDY2UmFq?=
 =?utf-8?B?bFAvZVlqZ0tmSmZqa0E5RngyS2lTNDByR3dLUjRhNmpaUG55Ti9Fb3FVTEtB?=
 =?utf-8?B?VXAzVnV3bCt2c1cvME9oLzNObUZzK2JVT0Rlam9ubFluQ3JNRDhSdzV0aFdE?=
 =?utf-8?B?OEZNY1dlbU4yQWtoSnJ6WGNjNDRaeDJlWUZGYXN3NU4zcmttU244NkdwcnVL?=
 =?utf-8?B?T0NUcWpCNjBPa1RzRFpaUFJ0M1VZOXJjQ3ZRWnZTZGxGbkw2cGxRK3JoWXpI?=
 =?utf-8?B?aXhsa1NGdHBxWGdmaTY0YVZZYlZOSXlLdkhEc05Gb21lK3JHUm04eHJTc3dN?=
 =?utf-8?B?WnlDMHdPOTE5ems2ajJjN1MzRk1zRGdHYUlhSnNRc3pGRnpwUnV6UEZNZlZ6?=
 =?utf-8?B?TUk2WUtTOVZHZVFCeFIwYmVMTGxjaUdnNXJGVlR3ajNSYVhTaFhxRDNYK2N3?=
 =?utf-8?B?RFRPUHpCdExhTk8xWnNpQUdQcEJJa2FNeXE5NDREdzIvSTRHdThlL1B4SUxD?=
 =?utf-8?B?UUpjbGZadTdZcCtZV3B6ZlkyVjA4UllzNDd6WGFwUjB3UUtmeHpsRWFVVnpY?=
 =?utf-8?B?WWg2UnBnSUtGQzIvQU5oNlpJemlCZlI5aDVZM3NzRHVZNUphRlU0cHJxWVhK?=
 =?utf-8?B?Ym0zSHdvUWJoVDB5djFxYVY5ZXVzUzhlZm1LbDFDL2ZDQk13WGlTNmdjT0hz?=
 =?utf-8?B?QUhkTDQ0MjAwV1pFU2lGY0pCaG0zR3dBU3lnR2ZTM0FpeDltak5FWEYwYk10?=
 =?utf-8?B?T2FieWg3eW0xcWVIdXFkV0hDc0VXN2xjWGtLc20zVU83QnFWWFNaaEhIVFYr?=
 =?utf-8?B?MThySVcxN3NPbTl6V0cvdWpzMnhUSitFQlVvNnQxOG04eXNuTlBqZXQ2d0Za?=
 =?utf-8?B?UVRoc0tURVZkMkwzM29XTGdCQmJYU0xGZ1dtbS80eXk3amFOK2w2eHZDTU5j?=
 =?utf-8?B?a0NndkRSTVNaaHZQU0NwTkZtTDBLM2hQNmt6QWdjQit3cnZhQmdyQU9ZVUxO?=
 =?utf-8?B?UHpQdnArbGJmdk1GMk1IemwzMFFMNzhoU3JoY04veU5SQnBabkpZd3lWNldo?=
 =?utf-8?B?OXh3VG1kK21oc3piYTBGeW52SG85M0NjbFh5ZEJreDhEU3VYaDZPaCtMdUNG?=
 =?utf-8?B?NEZVZ25yT05YUmVMWndWdEdLOTBuUzRvTXh3LzBva2xJZ3hPcCtncHN5OW5i?=
 =?utf-8?B?TlNuUkxMSUdDdVVtVURwdFFPYW9Ia3MzSDNjWHhHVjNMc1VVMkFFQ2NkNTFi?=
 =?utf-8?B?TlRmV1hjZ282NmNQeHJiRDVOREZyVXZGQ1lUYnIweldzS0M2QjJSRGkxL2Ir?=
 =?utf-8?B?UTB3SWliZEhpMGhTaUxFTm9wQVJkSzljK1IvdVNVbG95enBreXRDNlVBNWl4?=
 =?utf-8?B?TDRZVndvbG5pYzVrbEordThndVFTNnJFSURrcVdYWnNSc3B2WWlrU1VRZWNU?=
 =?utf-8?B?SXFUNkNxcHVsZmlsakJYL3JZTGxCYlJMZjgrL3NyRDl6T0hjVmZqTzNuTXR2?=
 =?utf-8?B?S25oZ1VtMEYzYTA3RzJvNWNvNTc2ckVEcDg5RTQvaDlXY0FoKzBQZDZIbUZk?=
 =?utf-8?Q?X85QgjfnYZRhJI21gU3eJEBQw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30450025-4d9a-46c6-e3da-08da8771fb7e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 14:48:04.8047
 (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: eOkH3SPDjEKv0W/9f7g8um4Opsh92DqnRhjA8MGjCnTBoVVa4F2jaZQJrWyeY29pI/JXkL/qcfizuxcQ0VpihQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0401MB2248

On 22.08.2022 17:27, Marek Marczykowski-GÃ³recki wrote:
> That's possible, because the capability was designed specifically to
> allow separate driver handle it, in parallel to unmodified xhci driver
> (separate set of registers, pretending the port is "disconnected" for
> the main xhci driver etc). It works with Linux dom0, although requires
> an awful hack - re-enabling bus mastering behind dom0's backs.
> Linux driver does similar thing - see
> drivers/usb/early/xhci-dbc.c:xdbc_handle_events().
> 
> When controller sharing is enabled in kconfig (option marked as
> experimental), dom0 is allowed to use the controller even if Xen uses it
> for debug console. Additionally, option `dbgp=xhci,share=` is available
> to either prevent even dom0 from using it (`no` value), or allow any
> domain using it (`any` value).
> 
> In any case, to avoid Linux messing with the DbC, mark this MMIO area as
> read-only. This might cause issues for Linux's driver (if it tries to
> write something on the same page - like anoter xcap), but makes Xen's
> use safe. In practice, as of Linux 5.18, it seems to work without
> issues.
> 
> Signed-off-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Aug 26 14:50:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 14:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393953.633173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRafO-0002NY-Lq; Fri, 26 Aug 2022 14:50:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393953.633173; Fri, 26 Aug 2022 14:50:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRafO-0002NR-J3; Fri, 26 Aug 2022 14:50:38 +0000
Received: by outflank-mailman (input) for mailman id 393953;
 Fri, 26 Aug 2022 14:50:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cVPj=Y6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1oRafN-0002NL-8V
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 14:50:37 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2055.outbound.protection.outlook.com [40.107.22.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 717e535a-254e-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 16:50:36 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB6PR0401MB2248.eurprd04.prod.outlook.com (2603:10a6:4:48::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.16; Fri, 26 Aug
 2022 14:50:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::2d5d:bae0:430f:70ad%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 14:50:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 717e535a-254e-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BNBtdj5ZHWXSf0sepLm1glhkGjgrnxgTFsS5pmi5qwB28jQvBh3wDcK6buhdXx1L3z0vvBam+hLywvU6e4nuTfKWSzv75N8mhSpIeqkLCYdkM5d9bo9I+qpNYuPtA7bUuSeCcxU/5L5boquRg/LWCc+U6uZuTAMqp+Qh6wafreO4XH/VhSRv3RD3DFMRvCCCRo65apiBxjNfxP2pRAq8OERj27rvNMAKdTTNBIxOGRiRAEZyanfdJpbqFfuI2mtc/Kn+WOLr3lbsRyvlbsk12jX036hJ5NgF4K+nqrWjdzOPx2ySNplMWiYW/qil9bcv/1WLTh4415J3h+QhHi+B9w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9y+9qvpLZ+uq+TokBkXXxZhPz9jvRbgrRkHbxowYDoY=;
 b=b0tF4BUMl6dofdn1H/F5zbNHBxTs0A415+CCmVhx1vsG3KMl1V/n8+JJeyy2PFy9PSEjPL2SRkMqIKJCrhH6TDx0xvYMH4aNbJ04KmBbV7vh/24k1HQcMzVU6ycHjCxXIQeeNcrJh5rJl8kgLba/TnzoWciHU94hksmyHRuctrQPVqTVnEgVk1cNU2SpEIV2PRg0PDjQFC7s+r0G0nPK2SmfCRUut3bk4pKoQlM2Wu+8vCM7P2+L6RyIJi8I7firo7QbpNoo59W1Q1AqqYn8iXaOcOaphTonD/eJ2oVmFQxY+WzV2Ht7osiz2w2RsVv69JBpTpywD14N0K/qxWXwlA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9y+9qvpLZ+uq+TokBkXXxZhPz9jvRbgrRkHbxowYDoY=;
 b=FI3q5ztisL2af9YxYNddruGxnt6tjDS1f2E7ls1i3KnjAuytQwnpH+ClKDCckYRLPxyJThtgQEFlD8kfDJgTyEkNMlstx24W4qhXtxCOEUZ06R7eI7RJZu429PDIZWgtKZYTJ7zlGjunD0VlXKzjMrkUaK0LHAjKcGze+eweJwTrDs/mmVt0QuXxEk5Lxx6zJ4aF9X5ZXyhDrhsRWJO82CkuhYYADeobrmQsSvjmdsK80klD/hSepd5reKjEFDetepR/SkGAqUf9c7cYkqih22lN41QPczmr8Eg0ezkZMadl2NYYhq2I1DShzDo1U5FC/5JRx4vqkhLt2C8fbTd+lw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cdbe1100-0a28-cb4d-6a89-5efc5838f4c4@suse.com>
Date: Fri, 26 Aug 2022 16:50:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v5 9/9] drivers/char: fix handling cable re-plug in XHCI
 console driver
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <bf26655295d0d85b1718d60f2e4390da7ec62b93.1661181584.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <bf26655295d0d85b1718d60f2e4390da7ec62b93.1661181584.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM6P194CA0050.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:84::27) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fc6e542f-561c-4372-154b-08da877254dc
X-MS-TrafficTypeDiagnostic: DB6PR0401MB2248:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0xD53b7Mc0ao+P1XwiNsAyAqpGZSF2A3tCYoDVoHAf4yltZMi2ViycwX/6j9vz43ZdPUg3rE1n6PyHZifscKdxuBLDwLgTq3lxMilJXpVZ9E33vqFiib23Am3DtovQXYUtOEfUX4xq/IqbvgNcnVDN8yrta2sYecpvxuiXMphVw0ti7grEkjhyC5KgCHP/EpjqI3ZdsGqDOiFMZf7nt3thCNCnlpC0D/7v/OsqnXGsM28YcnQZmNxsvweSpcfBOqO84unW57RE++3Dzg+ShTnzmMGepgWqEKiI6hORG1aJrjHc+UEYCOXocLHNT3/3CDABuvTg68f0kcW0MwmSMZgXJG1gtpkMgamFiQyiaJ5N0IKYaz/hmzLYOGxWfgEVvSjgqVj2XWEYaC7UAEn0NqfaoHor8+785btJqkmRDHdBzJ7jJjM0SL4hAqiDK2jN9unxr5Tlm+TP63+VF+UxERP9lWpsup3mkWtfCrjL97YKit0j2QJAZAjkLoYOuGgSIHfrLvQYlYHF/JGHY5AToRTauzEPebxY+EdKEagizeLyRQ3y+mczvSYgI47+kkB0wrpxOknPOjwhWiiw4FLss1a7Uog6F3mpsKgUmZx59gNWJ0BzihdvlCcaYtCurCkTmOfGzBIVCqaduGcxuM9gfq9QHcZykvff8vrTZJmuZgx5B5ec/BWhcyPaYQX3faogV1X9o3LXX3Lahv7BuotwudSPwiEIrrIbUEpZWyqb8Lh6JlRHfS3pT4x1GCrJF3N8VxyQW0iE7Xe4fIfXpcF6q+4Qc4MX9nFlpNKh6VQpK04Ak=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(376002)(346002)(136003)(366004)(39860400002)(26005)(6512007)(186003)(53546011)(6506007)(31696002)(86362001)(2906002)(2616005)(38100700002)(6486002)(4326008)(478600001)(8676002)(31686004)(66946007)(66476007)(66556008)(41300700001)(8936002)(36756003)(54906003)(316002)(6916009)(4744005)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VzJVdzZTSGFTNFJSc0krWFNkZHpvNjFtNTJPRm9yUEZ4ZWVpMzVmUEliVTRt?=
 =?utf-8?B?ck9iQjNNZ2cxeVdLbVRUb29ZSGZWK3J3a2krbmFhYkk3SVY0NFZtOXM5Z0dC?=
 =?utf-8?B?OWppZncwb0plLy84dWk2MHd6UHJqL0oxazNGRWt5WUVDRXBEUFh5U2JSd25H?=
 =?utf-8?B?OWNteWtINEU1ckJMRW9TYy8zbnFFU0VZWi9Sako0MHpJM1FlZVFmNkRmVnZj?=
 =?utf-8?B?VVBNMURCRGp0eHREQjBSdVhDLzlMcHFmQmo5ZzZDU1Z0MG5iUVJkeWxDNFdi?=
 =?utf-8?B?K05GbUJrS1ZSMFV4aEMxSWZ0TUJWT3JxQ1gxTEZyVEk0aS9HaWJYeHU3ZEdE?=
 =?utf-8?B?czVpdWNMSHhxNnZIbU9wK0t0Z0hjWmNWdFN5NHBSQjVrdFVPejFNd2dKbVN2?=
 =?utf-8?B?WTFiSklVdWdBUXdnc3dLR25rMXZxRStPQXV4UzArazBGZWNHOTRUM1RZaGF6?=
 =?utf-8?B?bzBzVDFleFpSbmRXODFiWnA4bFBZRjJMNjZkWUZKTHlKenFXMzZkMkF5N2Np?=
 =?utf-8?B?TzV3bkVWNjRQNElnamUzSzc3MlhtWWo0am9vMXdlZFJJeCtsL2RNTXk4SzBX?=
 =?utf-8?B?dHROWGVjVzZOZ040MnVYcDhkL2haeTFmZS9TRi9pMjNIV3RqSEZrWGllbUJu?=
 =?utf-8?B?S1loS2N2WW1yNC9XMmlrUzVOTGtMeDBQN3RGV1BrYi9rUXA1dE1ZZEdTUldt?=
 =?utf-8?B?blZFZUVXU3ZrUzFTSE1ialdlamd4YUNyekg4L210K3ZKOEpXdVVhUzA2dHg2?=
 =?utf-8?B?aVhJRFJIWDluYlRVK0NWWTlFQU9WVEtaZ0NzUUtZN2FZM2wyWStuam9DdGNQ?=
 =?utf-8?B?U2kvSUtYaFFSNnZTRWVhSWJlQVQ0ZitVN0UvZUdVVTFXVHlMQzg1S2FWTnB6?=
 =?utf-8?B?dGFrbnNTQmg0REljRHVibjltSXJTc3p3TFRtOHh0Q2ttdEl2RzVOYVc1TzVE?=
 =?utf-8?B?TmxDV1dINW1UYjNNYlp3U2RZeGZvMGgzOUFGM3J3Zjl5Q21iLzh5RUZWbVJW?=
 =?utf-8?B?aEtZWnB2cVh6RTVHQ081NXdpQVYya1FpWUFRRTEvN3FTdE15OXMraWMyeTEr?=
 =?utf-8?B?LzVQWGRDT3N1WVlSa1lOTUhKRFBFSDZOTGdqWEhnQW9xK3NZczhwY210eXVn?=
 =?utf-8?B?ajlYcmhPTnpMakhTOXU4ZG9LUU01RWZibmZHZkdhT2kva29WczN3T2dDemhM?=
 =?utf-8?B?UFlYTmVucXl5WW01citUK1FYTC9UZFhaaVVrL2k0V1d3ZHF5eENXeGdTdmNy?=
 =?utf-8?B?OXd0YUVXa1I2am9oYWlRNXIxekZXbXRPQmd1NzE1bVNLOGF2MVFMWWtaa3Bu?=
 =?utf-8?B?eEEwT2lnM0hOUERXUFZ2cjB5RDErK2NEaUZxa1pHYURNOTBRTHNuYzFpUWVr?=
 =?utf-8?B?RUd0TFc3SW9SakxVTmVTbzl6TDNjempLNGFpMExPMlpIV1MyMWhEdldZdDU0?=
 =?utf-8?B?aUUwbUt4L3FKN2djK0J1WnZPV3Zlb1A3cXNBeVpBQ2FtVG1EekxYZlNqV0Iv?=
 =?utf-8?B?R1F1RjZSclUzejFLOWZIaDNUakZwNkNLSlh3eDN6UjhreFRQYms1V2FVeVdZ?=
 =?utf-8?B?SmdOTmRiVnJHeFYydzU1bWhCY0pvRHVDZHVLVmQ2T2grU0xMSytWQWhiWGdu?=
 =?utf-8?B?eEUvdDl6dHgwNVBESTRkOVdqeXd1Q0tWbnVKVzhiRUFhNSs4YmdxT2NIMVpu?=
 =?utf-8?B?TldHajlDWEZLSzlFYTVkNWRseUFlYnMzK1cvckMvZHVBYTAxY09wREJzUWda?=
 =?utf-8?B?WkFPRWN6K3ZqeVgxMGVHT1FOSGV1N1dYV0d3UGFpVWVKeUtKTldSWlE3bjBv?=
 =?utf-8?B?RThtMUZVWUFpTGV3a250MVJDMm50ZWRwY1J2MXF6N2Q3QVI1N0Q3eWxHMlJt?=
 =?utf-8?B?Q0k5b0lYNTJ2SjdVU3dDZ1pMNVBZZC9ZQURSMjVPM3cvQUNpdTUrd0I4a1ls?=
 =?utf-8?B?MEozTnhocnFOSjJHQkZ6ejhZc0NxMzJlU1k5Zjl1NkNoVkhxcGJ6ZEgvREtD?=
 =?utf-8?B?SkdHMm5qeWRYeDVJUUUvSUYxa2orWjJlcWNtNTExUEVwems0alZreW1mQW4x?=
 =?utf-8?B?N3pILzRMbVNHaXRvbURXc1pYc3hyalBYUU5wZjRtY0QyZXM4OWsxMThnUTRp?=
 =?utf-8?Q?YOghD82MwuB9tQK7Qh0/U0ndB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fc6e542f-561c-4372-154b-08da877254dc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 14:50:34.7327
 (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: E9vrSl6s6L/BwLLi3bg5ZFDgrocJd8rCpm1sB3lLiljQbBaAa9WKYu08l2lLCTElgVt5/6YgAckOPITCiCqj+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0401MB2248

On 22.08.2022 17:27, Marek Marczykowski-GÃ³recki wrote:
> @@ -1023,6 +1032,8 @@ static bool dbc_ensure_running(struct dbc *dbc)
>          writel(ctrl | (1U << DBC_CTRL_DRC), &reg->ctrl);
>          writel(readl(&reg->portsc) | (1U << DBC_PSC_PED), &reg->portsc);
>          wmb();
> +        dbc_ring_doorbell(dbc, dbc->dbc_iring.db);
> +        dbc_ring_doorbell(dbc, dbc->dbc_oring.db);
>      }

You retain the wmb() here, but ...

> @@ -1066,8 +1073,7 @@ static void dbc_flush(struct dbc *dbc, struct xhci_trb_ring *trb,
>          }
>      }
>  
> -    wmb();
> -    writel(db, &reg->db);
> +    dbc_ring_doorbell(dbc, trb->db);
>  }

... you drop it here. Why the difference?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 14:55:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 14:55:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393960.633184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRak4-00031v-7i; Fri, 26 Aug 2022 14:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393960.633184; Fri, 26 Aug 2022 14:55:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRak4-00031o-4h; Fri, 26 Aug 2022 14:55:28 +0000
Received: by outflank-mailman (input) for mailman id 393960;
 Fri, 26 Aug 2022 14:55:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRak2-00031e-Ju; Fri, 26 Aug 2022 14:55:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRak2-0002kt-GW; Fri, 26 Aug 2022 14:55:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRak2-0008OD-4E; Fri, 26 Aug 2022 14:55:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRak2-0001mC-3l; Fri, 26 Aug 2022 14:55:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/BzmzPn1z/EpBPt5WN+XUL20Mu82ZbiDWqs/RQgrqHE=; b=wsH1iE41OXIDm0s5EzVoEPaoWa
	hM7qWef5YFxZMop1cIxQiadECKffC2qlJJ8ePREj6WTYJ44MfP0CHLkskjSpeC8wXouwAM28Nq4AA
	AyU6Me8vZxF6h/aC1avQJcnXRo6AnZw1bD3wka94PYYRrY58olu6XUELHzUVmAGliKa4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172783-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172783: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-localmigrate/x10:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4c612826bec1441214816827979b62f84a097e91
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 14:55:26 +0000

flight 172783 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172783/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-amd64-amd64-dom0pvh-xl-amd 20 guest-localmigrate/x10 fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                4c612826bec1441214816827979b62f84a097e91
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   22 days
Failing since        172152  2022-08-05 04:01:26 Z   21 days   49 attempts
Testing same since   172783  2022-08-26 02:20:14 Z    0 days    1 attempts

------------------------------------------------------------
1543 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 159574 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 15:20:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 15:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393968.633195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRb7v-0006GE-4g; Fri, 26 Aug 2022 15:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393968.633195; Fri, 26 Aug 2022 15:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRb7v-0006Fj-25; Fri, 26 Aug 2022 15:20:07 +0000
Received: by outflank-mailman (input) for mailman id 393968;
 Fri, 26 Aug 2022 15:20:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRb7s-00060q-Qd; Fri, 26 Aug 2022 15:20:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRb7s-0003Ep-Mi; Fri, 26 Aug 2022 15:20:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRb7s-0001rs-Ck; Fri, 26 Aug 2022 15:20:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRb7s-0006xn-CE; Fri, 26 Aug 2022 15:20:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8+Gzw78LTkE0MQ6/S9T5iwfGyHht7sQIEdvmQalkKls=; b=Pt5l/nFGR99bYqQgMwrw+vwqC8
	j5yOJI5Ardy1tNlA+Q5HdG88W1dWmh4b+7b9iVJkyfZLSgBWYU0zzZOU72SDyYndIIPnubxWyIioW
	dzcEp6ak/D0OmqtjdHmGgqkmLvGq6S76Wc81YMydYZSVjroMuA+NpOkVCOqifTe3Pwkw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172794-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172794: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 15:20:04 +0000

flight 172794 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172794/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   22 days
Failing since        172151  2022-08-05 02:40:28 Z   21 days  175 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    1 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 15:45:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 15:45:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393977.633206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRbW0-0000J2-7O; Fri, 26 Aug 2022 15:45:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393977.633206; Fri, 26 Aug 2022 15:45:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRbW0-0000Ie-4b; Fri, 26 Aug 2022 15:45:00 +0000
Received: by outflank-mailman (input) for mailman id 393977;
 Fri, 26 Aug 2022 15:44:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vie8=Y6=citrix.com=prvs=230ac0225=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oRbVy-0000IY-V1
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 15:44:59 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0749a04b-2556-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 17:44:56 +0200 (CEST)
Received: from mail-dm6nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 26 Aug 2022 11:44:47 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW4PR03MB6490.namprd03.prod.outlook.com (2603:10b6:303:121::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug
 2022 15:44:45 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022
 15:44:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0749a04b-2556-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661528696;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=byebvgocJ0SMH0ecrkrZWg/Wg9uIkCbiymzNClGtrJs=;
  b=cnFxXQj8w7VsTV820v4EoJU1mXcBo7GJMUycCNfC3UF/RdFUq1j7mbxH
   YOYzqaGSgyFQ1F6U1EqYZEHZ83h7pjTalXbPkitYq0iZ88kzLq9m1uaqq
   uf/ItQVfgJBd7x08jUzfx/5kMwE5jOtRFKMdH6ExNINigwMGqMdjgRsky
   o=;
X-IronPort-RemoteIP: 104.47.57.169
X-IronPort-MID: 78278439
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:HxaCT6nmDbBEDNZMm/DV99no5gxhJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIfWTvTO63bY2b0e9knPtjgpB8CuZ6Dm98yGwY5/Hg9HiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV
 ena+qUzA3f4nW8vWo4ow/jb8kk37K6s4GlwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W
 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk
 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2kZY6NFpehFHltA5
 KNBJD09TSmjnuSflefTpulE3qzPLeHNFaZG4zRM6G+cCvwrB5feX6/N+NlUmi8qgdxDFurfY
 MxfbidzaBPHYFtEPVJ/5JAWxb/0wCWgNWAH7gvL9MLb4ECKpOB1+JHrPMDYZZqhQsJNk1zDj
 mnH4374ElcRM9n3JT+trSL22b+TxnKTtIQ6NuG0x/1wrVyp+jINIiQmTWG0kMLmsxvrMz5YA
 wlOksY0loAw/kG2Stj2XzWjvWWJ+BUbXrJ4FuQg7QiXx6n84gCHB3MFRDpMdNwnssAtQTUgk
 FSOmrvBByFrsbCTYWKQ8PGTtzzaETMOMWYIaCsATA0Ey9ruuoc+ilTIVNkLOLGxps34H3f32
 T/ihDgzgfAfgNAG042//EvbmHS8q57RVAk36w7LGGW/4WtEiJWNYoWp7R3X6KhGJYPAF12Z5
 iFayo6Z8fwECoyLmGqVWuIREbq15vGDdjrBnVpoGJpn/DOok5K+Qb1tDPhFDB8BGq45lfXBO
 yc/ZSs5CEdvAUaX
IronPort-HdrOrdr: A9a23:EqPHfqPL6jQ5jMBcT2L155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90DHpewKQyXcH2/hqAV7EZnirhILIFvAp0WKG+VHd8kLFh4lgPM
 tbEpSWTeeAdWSS7vyKrzVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH
 Pz3Kp6jgvlXU5SQtWwB3EDUeSGjcbMjojabRkPAANiwBWSjBuzgYSKUiSw71M7aXdi0L0i+W
 /Kn0jS/aO4qcy2zRfayiv684lWot380dFObfb8yvT9aw+cyTpAVr4RHoFqjwpF5N1HL2xa1+
 Ukli1QffibLUmhOF1d7yGdgjUImwxelkMKgWXo/UcL5/aJCg7SQvAx+76wOHHimjUdlcA536
 RR022DsZ1LSRvGgSTm/tDNEwpnj0yuvBMZ4KcuZlFkIPwjgYVq3Poi1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwM/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFrxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kI
 SpaiItiYfzQTOaNSSj5uw6zvmWehTNYd3E8LAs27Fp/rvhWbHsLSqPDFgzjsrImYRsPvHm
X-IronPort-AV: E=Sophos;i="5.93,265,1654574400"; 
   d="scan'208";a="78278439"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cNy1GaIGB0hxzeEmdUGbYLwyQDPzs161ddwPczIofomhsVUQctO3Lgtif9aYlYLq0IeDOoH+7DGfQGkyQdsI9dTR6pmb3fnAsjk0HlXdx6VsXGu1zDXwf4jJ0P/6XUWje0Ua+AlgnviV5NjYyz+QQqpsJ5yYNg3x+i1ZOM2c+CshnQBKPAGV9N3T06/FhbI6t5lbPNWy+z1zHNlajt4A7+eroABTvZTM/qt2qJErkTwmPM5fi0aihoFESCsWoCo8UjlwRvKiYkZwGLzTZUP3y4JYU8kgZDxdblntgu2IyM7nnQdGLvF8ISi0fSKZKY2X0ncu6w7OuCTWlMFZ2IUzJQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=byebvgocJ0SMH0ecrkrZWg/Wg9uIkCbiymzNClGtrJs=;
 b=GOBdW1tMi3qF0xEppuOSyN51AN4UzYR5/TeTW0R4poolfV7xYkiPjNt4wDhEfdk/LPJfeucgYchz/0cOVfSoVwWeQnTNN8beA6RPkfW9F2RWnqUy0Zce60JWuMjX+C5d7B3/wvmBNOMk/qN9pqx7sZuuNaXwDy+SiX/fYQasHvfmyGJvvgX6R9Tbu0vJVcDV+yLhA1LZdtvIHbI0zqSqvLHiw+bTzVUcDdnZ/bfODv0odCQBHPB4+poURuIyWetI1LpFE5brTf72FCItHywN46d+q+7OsUf7/aLpbrK23PcbQe0xeloY03gqADXo6roHe6ezEogLQUD24jUs9jxjlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=byebvgocJ0SMH0ecrkrZWg/Wg9uIkCbiymzNClGtrJs=;
 b=NADJO0LPDzAopnsIxxolGwoN2OrJQ/j1NtIRBMvvC3mMKQdot4Jwra3Kgw3DWgvgKxOOt0B8lNMq7wvpZxXBNCrE25AS2vgiAl6OvcmUzTof3zq3ctHdGIELjwRavhR5L6TZblcjQ7N32VrX9fONT88mnBkHATAFtYD5sSHO+Xg=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 9/9] drivers/char: fix handling cable re-plug in XHCI
 console driver
Thread-Topic: [PATCH v5 9/9] drivers/char: fix handling cable re-plug in XHCI
 console driver
Thread-Index: AQHYtju+MGvvHxrE+0SJmR6WoIYDR63BSeoAgAAPJAA=
Date: Fri, 26 Aug 2022 15:44:44 +0000
Message-ID: <6ab5ac63-becb-3635-20f5-dd0f03188003@citrix.com>
References:
 <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <bf26655295d0d85b1718d60f2e4390da7ec62b93.1661181584.git-series.marmarek@invisiblethingslab.com>
 <cdbe1100-0a28-cb4d-6a89-5efc5838f4c4@suse.com>
In-Reply-To: <cdbe1100-0a28-cb4d-6a89-5efc5838f4c4@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: daa774e4-f0d0-47da-ec6e-08da8779e634
x-ms-traffictypediagnostic: MW4PR03MB6490:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 VEAchxnsHVYMFX9s6kQs5wEzvX2ZXBvgJUykCtYFx2xAMGLvg49nljHLlkKt8Q8IJ4GjV9rWMi8Nk4b9YbFZKBM+4OInsCDac/eNJIP5Zu9kHq4kKnZoawn5uHDkQz1utEQOgXdXWZn0915C8W+u+D1/+wUYcGvYOwZU/B0Kd7y8t8pspys6jEeQL0dlb7cF9Xkrm9p9e4lrLUgOm8ReJkNjlGa8fXd4CSD4TlgE5YvK+PcfkWobR3Ix7cRF5EMT+UA+FUGFX4gFRWPcLvNRPMf2OKc3HzXRJGwjxFyEeArKDJtU5XkNO11tEKw24DYgTKmCTT2ylVx+tBReD2/J9ikg5y8qlsE93/6BlcTwxjjEuTbrDJ28GPXL/XLJ5C0dhuLKJ9MvF8rHEeYrjCNT5oCTjVsJ4NQXpbIFI7omtBuAc/63j2Ev9cvwzkom9zbd40V2hIa9MXRxe9vwIZve0s8hYJ85WjwAXZpEafZxt6+B+UQHmH3swwf9OpiqL5c831msLohRdPSbL+GUhTCzJt/AUXiGmNtDU+L4r6J9+PAkETY7TyWd7A/sNhOklkWRKjbRNTLf6lgRmmoaZXOZlXe8bjQwkSD6/AwISwbAtILxgqNM/H0Jjtb/GMyfeBxPRx/1k8AB1S+cz2CPmn2BF4gelZxLwThkphV3EfHN/jo4Srj9Hj/xtrAn+QIUPnHFKAmSzGV1QN1gxOeb+ea0EXEGS/7KueZD8Y0WydXDv3QT3rePqmZqGoOskWK7izIuQSQLU2Bej+BWrxOwMKrvf6fHyx0my/0dyhvAFAoRWNbpp1IPeRllU2ZLlvLfw+dVQjyPvxpbPvXc5FUaFBHgaQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(396003)(346002)(136003)(376002)(66946007)(91956017)(38100700002)(122000001)(38070700005)(82960400001)(66556008)(66476007)(66446008)(64756008)(8676002)(4326008)(31696002)(86362001)(31686004)(36756003)(83380400001)(6512007)(478600001)(6486002)(6506007)(53546011)(71200400001)(41300700001)(54906003)(110136005)(316002)(76116006)(2616005)(2906002)(186003)(4744005)(5660300002)(26005)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YS9hUzZoWDZUM3dJUStOTHZFWXV1U3cyOGt0WHBBOEMrS2U2M0pUREFLeWNB?=
 =?utf-8?B?aHdMNklxaFF6bkJiQ0oxVEd6YzZ1VFN2VHlDcUJCS2xzbXR3WURITmFCNlQ3?=
 =?utf-8?B?RVZHZ3d1QlcrRGkvL3ZUNk1SQWora1VLUnc4aHFnWnk4SlFlcGdtc1JrcnU3?=
 =?utf-8?B?RTVkWlpYK1ZkWmc2MmY5MXBlMWVBR0hwZWhaZGVtUUcySnJXeE1rZXd0TmJD?=
 =?utf-8?B?Q2Z1OU03RlkySGR2cFJLR1l1VmFlbmNwVVBhU0VLRkpTY295YWJFMld3VFow?=
 =?utf-8?B?OWg3a3dCeEZQcjRpWjJIZ2FKSlZEc1BsRFY4aHlmUFkzV3RUTklyOFFnN3B5?=
 =?utf-8?B?Z1dzajRVajlSOEhnMWh6d3BucUpRUU0xcmhPQVBNT0NWTTBaUlphOUl2WHkr?=
 =?utf-8?B?N1NWeUJyOEdnbE5ZQmZ1T1ZtRCtqcXZOWXZpdG5POXZTeUd0dmFsQnVJbExY?=
 =?utf-8?B?eVVEc3Z2R0JTQ0NqV3FTVnVsdzNSejRoT1pqYWlqTm85ZWFrMW5QY2s0UUUy?=
 =?utf-8?B?RU1NK1VtVFU5N1ZWNlFsYWxhbzArMldiMUd4TXh0MitFYzdFU29Dbk9kdStR?=
 =?utf-8?B?QStlUlJlVkZPVXBPRGx4MFpobFBTTFJxdXBrS0hnZWRsZDRrVUdRd1hrLzg0?=
 =?utf-8?B?Vnp6bkdrNGY4WDVvdUxlQTdTd1QvYzVQd2t5U2RxWVg2THpaTU5CU3lBQW5o?=
 =?utf-8?B?MEtpRURMQ0gyYzg3ZXBQTDlLYk1Dc1ZDUmozeTgvbk9nRWdMK1h6RC82a1pM?=
 =?utf-8?B?SURpTHFkL1pTOXcxVkkvbHZvUi9LWGtPS2Y4dk1TN3lidDFySmh4dXlRSkRH?=
 =?utf-8?B?U2FXaExrcExmNittM1l0Rmd5R3oxdlRWaFEvVUsyT2FQdHRlR09mTWExQkE4?=
 =?utf-8?B?RjNwOVp0Y1BMcFQwZGlKek5jWUJJajFuektWa2hyd2FDdFNlQi9wOHpucVpi?=
 =?utf-8?B?dmhhS1RuOGNNWDUwMHJ5dTVJTmc2dHA1V3laMUJDTUIxcDlvWkQ2QUUxRTBy?=
 =?utf-8?B?MTRaY1EzRnA0NnhpcGxjbjJJVm1MVFJuNFBEblBhNlVsUjF6eDROMEo2NTdV?=
 =?utf-8?B?TW1NVkNZdUhUV3NRQXhyTUsycE1Ua3NIcGI3dlMzc1M4VXltUzVoZzVDSFJN?=
 =?utf-8?B?cjdiRFMzckVmbDJVV1NHY3gxYysrS2kyYmp5Ync3cU52VEROWlRUejBUdEpm?=
 =?utf-8?B?dG1TbG03c0ExTE5oMy9TZ3RxaVdrd3hZMWs2Qjg4VWt6REliSXowSFJTN3pt?=
 =?utf-8?B?Mnk5MmtUd3pKSFl1VWpybFYvRlJSMHM4SEpvZk4wWmF4Mm9YL0FhWXB0TW9G?=
 =?utf-8?B?Qzd2bEVQU2QreW1yZ2hpRVhQeXVxNXdLdE0yaW0xbUNWOEtWYVJjVTk5ODRW?=
 =?utf-8?B?Y1VKeC81MGIvaFg1TzNLOU9Ga0Vha1ZhWHJHb3c1RXdXcFBUOVNBVElXcDFr?=
 =?utf-8?B?Q2U0YnRDT3hLZU95emNJWmIvdWlld00zZWovRVNsKzN6UDl1aWl6U1ZUQ1pV?=
 =?utf-8?B?TXZxTlBmR2FleFllRnpuTG9LZHcxUzlXSWRwM3gzUThFdGlqeW40dFVlUlp1?=
 =?utf-8?B?VDNRRzdBdFhGVXNOeVlDV2x3K1V5emdRYUJNbjlINGVsNHplWDVkYmk5VlRC?=
 =?utf-8?B?Vkh1OEdLZjd4WFgvUjROU29VQzgraTRWMklsTFJZTFk5eXRDS1JsQ21QVEhZ?=
 =?utf-8?B?aGZUVnJNTzE1eDFOZ1dNRG5Kd0NPWHVaQjhYM0VUemQwYzhvYmdmTDgxMm5V?=
 =?utf-8?B?cnFPb05XL3pJV2M0RGdiNUZ5b3QzMWUzVkFhUWh2VDgyME1MUUYvMTcvQXE4?=
 =?utf-8?B?YSt6Z0NJMFl6dTliUXRBK00xcTVWOHRDQXhTaG9LMlNESGEwK091cTB5MUxS?=
 =?utf-8?B?cnZWRHcxMWh6YW1qRkpSSThIVEtrYXZHeS9tcjVsNHE1ditFeng3NW1yOCs5?=
 =?utf-8?B?anhKN2IyYlhPay9rUUpCcythbHlsaHk0T0FONWE0VFNnTml0VzJ0b3hnMzJj?=
 =?utf-8?B?T0FYclhNNjY1SEhpNER6TEg3TEx5OXlNTXhQdDBlZEtZODVlS2JHc1VOK2Vs?=
 =?utf-8?B?NTFUVmFDQk5LeFkrSGhVbHk5RWxEMkVONklCRGtqUHJwcmNuc0d1VTZFb21D?=
 =?utf-8?Q?vFL+8U8jNGXAAd1aN8srJQU0p?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8DFB37839C502F4CBCB62E829965F49C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: daa774e4-f0d0-47da-ec6e-08da8779e634
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2022 15:44:44.9210
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 0CHn8r6I79wqDN5TCt89eUtlnZdN4hqLCY/o2vpo2D9XdhPUWCDMTpl7w76r8Cio3PCkKyr6iG2dx830+p1NFqKVQDOdEeR6oSQoS6KGfJU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6490

T24gMjYvMDgvMjAyMiAxNTo1MCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDIyLjA4LjIwMjIg
MTc6MjcsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToNCj4+IEBAIC0xMDIzLDYg
KzEwMzIsOCBAQCBzdGF0aWMgYm9vbCBkYmNfZW5zdXJlX3J1bm5pbmcoc3RydWN0IGRiYyAqZGJj
KQ0KPj4gICAgICAgICAgd3JpdGVsKGN0cmwgfCAoMVUgPDwgREJDX0NUUkxfRFJDKSwgJnJlZy0+
Y3RybCk7DQo+PiAgICAgICAgICB3cml0ZWwocmVhZGwoJnJlZy0+cG9ydHNjKSB8ICgxVSA8PCBE
QkNfUFNDX1BFRCksICZyZWctPnBvcnRzYyk7DQo+PiAgICAgICAgICB3bWIoKTsNCj4+ICsgICAg
ICAgIGRiY19yaW5nX2Rvb3JiZWxsKGRiYywgZGJjLT5kYmNfaXJpbmcuZGIpOw0KPj4gKyAgICAg
ICAgZGJjX3JpbmdfZG9vcmJlbGwoZGJjLCBkYmMtPmRiY19vcmluZy5kYik7DQo+PiAgICAgIH0N
Cj4gWW91IHJldGFpbiB0aGUgd21iKCkgaGVyZSwgYnV0IC4uLg0KPg0KPj4gQEAgLTEwNjYsOCAr
MTA3Myw3IEBAIHN0YXRpYyB2b2lkIGRiY19mbHVzaChzdHJ1Y3QgZGJjICpkYmMsIHN0cnVjdCB4
aGNpX3RyYl9yaW5nICp0cmIsDQo+PiAgICAgICAgICB9DQo+PiAgICAgIH0NCj4+ICANCj4+IC0g
ICAgd21iKCk7DQo+PiAtICAgIHdyaXRlbChkYiwgJnJlZy0+ZGIpOw0KPj4gKyAgICBkYmNfcmlu
Z19kb29yYmVsbChkYmMsIHRyYi0+ZGIpOw0KPj4gIH0NCj4gLi4uIHlvdSBkcm9wIGl0IGhlcmUu
IFdoeSB0aGUgZGlmZmVyZW5jZT8NCg0KQXMgYSB0YW5nZW50LCBldmVyeSBzaW5nbGUgYmFycmll
ciBpbiB0aGlzIGZpbGUgaXMgYnVnZ3kuwqAgU2hvdWxkIGJlDQpzbXBfKigpIHZhcmlhbnRzLCBu
b3QgbWFuZGF0b3J5IHZhcmlhbnRzLg0KDQpBbGwgKGludGVyZXN0aW5nKSBkYXRhIGlzIGluIHBs
YWluIFdCIGNhY2hlZCBtZW1vcnksIGFuZCB0aGUgZmV3IEJBUg0KcmVnaXN0ZXJzIHdoaWNoIGFy
ZSBjb25maWd1cmVkIGhhdmUgYSBVQyBtYXBwaW5nIHdoaWNoIG9yZGVycyBwcm9wZXJseQ0KV1JU
IG90aGVyIHdyaXRlcyBvbiB4ODYuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 15:51:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 15:51:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393984.633216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRbcD-0001j3-Ti; Fri, 26 Aug 2022 15:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393984.633216; Fri, 26 Aug 2022 15:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRbcD-0001iw-Qz; Fri, 26 Aug 2022 15:51:25 +0000
Received: by outflank-mailman (input) for mailman id 393984;
 Fri, 26 Aug 2022 15:51:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cYJx=Y6=kernel.org=helgaas@srs-se1.protection.inumbo.net>)
 id 1oRbcC-0001io-92
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 15:51:24 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef2f08cd-2556-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 17:51:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 4610DB831C4;
 Fri, 26 Aug 2022 15:51:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF9ACC433D6;
 Fri, 26 Aug 2022 15:51:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef2f08cd-2556-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661529081;
	bh=O/y28TF/cUc/1ZIQvc0DnYy+2d6TDwpxl4xZ14O/Wkk=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=Xh+Xa5sfnMq9bcour0b1JBqGR8NAwLHqtPlON3ae1tBXbK3i3e5h//diO+JBaONtf
	 TUZyVM2aB122aOut3vfLqJr0ROF8JDyJS6wcy9wf+BzrLZgV7yuS3ElUXzdnddbTWb
	 DXUkVqN9Hl0JYG5EcN6HVmWvYWep4vJo9z6HJnK0fVfQ6F9NneiUmNQvGttmQSNKGl
	 u7JF8WcU+pMTdX85ctPYJXYZQmFD0mzVPaf2H1k2oVPUhVe7nG5yieWeLtgRxGwAoh
	 TH1PCejkt0bdebsOPhTYIamNq6U7epZT6tHpjfgnv1Kf03pLp/KGiKYk6W2sR5fCTw
	 e7Qg4q4PMWH8g==
Date: Fri, 26 Aug 2022 10:51:19 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Josef Johansson <josef@oderland.se>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,
	Jason Gunthorpe <jgg@nvidia.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
Message-ID: <20220826155119.GA2933552@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d818f9c9-a432-213e-4152-eaff3b7da52e@oderland.se>

On Mon, Feb 14, 2022 at 11:07:47AM +0100, Josef Johansson wrote:
> From: Josef Johansson <josef@oderland.se>
> 
> PCI/MSI: Correct use of can_mask in msi_add_msi_desc()
>     
> Commit 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") modifies
> the logic of checking msi_attrib.can_mask, without any reason.
>     
> This commits restores that logic.
> 
> Fixes: 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()")
> Signed-off-by: Josef Johansson <josef@oderland.se>

Applied to pci/misc for v6.1 with commit log below, thanks!

  PCI/MSI: Correct 'can_mask' test in msi_add_msi_desc()

  71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") inadvertently reversed
  the sense of "msi_attrib.can_mask" in one use:

    - if (entry->pci.msi_attrib.can_mask) {
    -         addr = pci_msix_desc_addr(entry);
    -         entry->pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
    + if (!desc.pci.msi_attrib.can_mask) {
    +         addr = pci_msix_desc_addr(&desc);
    +         desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);

  Restore the original test.

> ---
> v2: Changing subject line to fit earlier commits.
> 
> Trying to fix a NULL BUG in the NVMe MSIX implementation I stumbled upon this code,
> which ironically was what my last MSI patch resulted into.
> 
> I don't see any reason why this logic was change, and it did not break anything
> correcting the logic.
> 
> CC xen-devel since it very much relates to Xen kernel (via pci_msi_ignore_mask).
> ---
> 
> diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> index c19c7ca58186..146e7b9a01cc 100644
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -526,7 +526,7 @@ static int msix_setup_msi_descs(struct pci_dev *dev, void __iomem *base,
>  		desc.pci.msi_attrib.can_mask = !pci_msi_ignore_mask &&
>  					       !desc.pci.msi_attrib.is_virtual;
>  
> -		if (!desc.pci.msi_attrib.can_mask) {
> +		if (desc.pci.msi_attrib.can_mask) {
>  			addr = pci_msix_desc_addr(&desc);
>  			desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
>  		}
> 
> --
> 2.31.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 16:05:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 16:05:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393990.633228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRbpZ-0003m3-4g; Fri, 26 Aug 2022 16:05:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393990.633228; Fri, 26 Aug 2022 16:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRbpZ-0003lw-19; Fri, 26 Aug 2022 16:05:13 +0000
Received: by outflank-mailman (input) for mailman id 393990;
 Fri, 26 Aug 2022 16:05:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z28m=Y6=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1oRbpX-0003lq-G6
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 16:05:11 +0000
Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com
 [2607:f8b0:4864:20::833])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db8a17f0-2558-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 18:05:09 +0200 (CEST)
Received: by mail-qt1-x833.google.com with SMTP id g14so1561883qto.11
 for <xen-devel@lists.xenproject.org>; Fri, 26 Aug 2022 09:05:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db8a17f0-2558-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=i/CTip9WpY/X3hgrFN+bpar2NlA1mc50bbWCDCA7Mbs=;
        b=c1BUn2JRbfsk1OP41soU2ptJAh/gOaYSHCCK+v3PU5A/oWYheIoA7F2UruASOdJ7kA
         K6JT0oAbLt30fMHzAWomX9VLPaP1n5t50ueZgg46BVRnWYWABjhpujCRCUba6UYH0Iks
         UOpTzFiB8A+FFtRIL9Lacj8vQ04u1/PWGLkdL+INzznQIMS/0YUT8yMEfkX3vMzmwaUN
         o7b+MWO20CeL8/ivoaGVv9wjHbtIZi3+TJ85W3mXyZeaU8vpH8g4LxCN0e60OxgmP8Wd
         4vwADWpgReiLX56pq2QoxcpGijRA5SmPylrpwLHMrhwdMbF9x6ebYgf7y9ullGOQOKp7
         Qb7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=i/CTip9WpY/X3hgrFN+bpar2NlA1mc50bbWCDCA7Mbs=;
        b=Z4QCPNqw2gBrm0xh4DPQAzaC6HXcmlr9vQfHDNd41JUnMH3UpEnSfu4tvNNe50Fc9n
         DzqRhTteq5nMf00jlpEy1COzUMRdgHeS3rOZoPzuzMduom/xSs/+3KjuPMgnqWwyrPZd
         +pSKep2T+fxYEVYgDyeAQI2kxI9EYxkFodZuK2J79LxURRqM/rXZceEoFv9WNOsafGWv
         xoHjTQffnfZoNLWjCbU4yfWdVqsMADd3bLRRrbrzUHBFTiiuJ8qPd2R960Wr7o7edIkN
         RqzdnY4CJIdWKdrDnEayh++MVJTUeY/lskbjCr9Idu0UBoy8nukIJyZ6gO0Ocrq9Qwbs
         Elnw==
X-Gm-Message-State: ACgBeo0b7RYKcLajynAZzzRdJwdw6omBziNh4kFo+t3Mw1HJkPrRAYyf
	G6a5xOAQL9xN+mbp+Ab2ZTgbB0r5mugvu04GXgcq6w==
X-Google-Smtp-Source: AA6agR5aBvfAw78sVTKOqX7gOj9tEqFiWe7rcoCTAxAdbkgVJMGcdkSvfJKoaq+EphgpfA+bafx4MECxcOZK9eoij5w=
X-Received: by 2002:a05:622a:287:b0:343:6e93:ac49 with SMTP id
 z7-20020a05622a028700b003436e93ac49mr356339qtw.75.1661529908412; Fri, 26 Aug
 2022 09:05:08 -0700 (PDT)
MIME-Version: 1.0
References: <20220826125111.152261-1-carlo.nonato@minervasys.tech>
 <20220826125111.152261-8-carlo.nonato@minervasys.tech> <5da3c51d-a43b-a967-6f0f-22c1d3ba497d@suse.com>
In-Reply-To: <5da3c51d-a43b-a967-6f0f-22c1d3ba497d@suse.com>
From: Carlo Nonato <carlo.nonato@minervasys.tech>
Date: Fri, 26 Aug 2022 18:04:57 +0200
Message-ID: <CAG+AhRWxdxsHu=g2cg-c6NX=Kzisyq9TABh8YwPhN6S1JB_hUg@mail.gmail.com>
Subject: Re: [PATCH 07/12] xen/common: add colored heap info debug-key
To: Jan Beulich <jbeulich@suse.com>
Cc: andrew.cooper3@citrix.com, george.dunlap@citrix.com, julien@xen.org, 
	stefano.stabellini@amd.com, wl@xen.org, marco.solieri@unimore.it, 
	andrea.bastoni@minervasys.tech, lucmiccio@gmail.com, 
	Marco Solieri <marco.solieri@minervasys.tech>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000f9992a05e72713b8"

--000000000000f9992a05e72713b8
Content-Type: text/plain; charset="UTF-8"

On Fri, Aug 26, 2022 at 4:13 PM Jan Beulich <jbeulich@suse.com> wrote:

> On 26.08.2022 14:51, Carlo Nonato wrote:
> > --- a/xen/common/page_alloc.c
> > +++ b/xen/common/page_alloc.c
> > @@ -605,6 +605,27 @@ static struct page_info
> *alloc_col_domheap_page(struct domain *d,
> >      return pg;
> >  }
> >
> > +static void dump_col_heap(unsigned char key)
> > +{
> > +    struct page_info *pg;
>
> const and perhaps move into the loop's scope?
>
> > +    unsigned long pages;
> > +    unsigned int color;
> > +
> > +    printk("'%c' pressed -> dumping coloring heap info\n", key);
> > +
> > +    for ( color = 0; color < get_max_colors(); color++ )
> > +    {
> > +        printk("Heap[%u]: ", color);
> > +        pages = 0;
> > +        page_list_for_each( pg, colored_pages(color) )
> > +        {
> > +            BUG_ON(!(page_to_color(pg) == color));
> > +            pages++;
> > +        }
>
> This is a very inefficient way for obtaining a count. On a large
> system this loop is liable to take excessively long. I'm inclined
> to say that even adding a call to process_pending_softirqs() isn't
> going to make this work reasonably.
>

We can definitely add a dynamic array of counters that get updated when
inserting a page in the colored heap so that we don't need to compute
anything here.

I'm also not convinced of having BUG_ON() in keyhandler functions
> which are supposed to only dump state.


You're right. I'll remove that.

> @@ -2853,6 +2874,9 @@ static void cf_check dump_heap(unsigned char key)
> >  static __init int cf_check register_heap_trigger(void)
> >  {
> >      register_keyhandler('H', dump_heap, "dump heap info", 1);
> > +#ifdef CONFIG_CACHE_COLORING
> > +    register_keyhandler('k', dump_col_heap, "dump coloring heap info",
> 1);
> > +#endif
>
> I question the consuming of a separate key for this purpose: What's
> wrong with adding the functionality to dump_heap()?
>

We didn't want to weigh on that functionality so much, but probably
having a separate key is even worse. If it's not a problem I'll merge
it in the dump_heap() function.

Thanks.

- Carlo Nonato

--000000000000f9992a05e72713b8
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Fri, Aug 26, 2022 at 4:13 PM Jan Beuli=
ch &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote=
:<br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi=
ng-left:1ex">On 26.08.2022 14:51, Carlo Nonato wrote:<br>
&gt; --- a/xen/common/page_alloc.c<br>
&gt; +++ b/xen/common/page_alloc.c<br>
&gt; @@ -605,6 +605,27 @@ static struct page_info *alloc_col_domheap_page(s=
truct domain *d,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 return pg;<br>
&gt;=C2=A0 }<br>
&gt;=C2=A0 <br>
&gt; +static void dump_col_heap(unsigned char key)<br>
&gt; +{<br>
&gt; +=C2=A0 =C2=A0 struct page_info *pg;<br>
<br>
const and perhaps move into the loop&#39;s scope?<br>
<br>
&gt; +=C2=A0 =C2=A0 unsigned long pages;<br>
&gt; +=C2=A0 =C2=A0 unsigned int color;<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 printk(&quot;&#39;%c&#39; pressed -&gt; dumping colorin=
g heap info\n&quot;, key);<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 for ( color =3D 0; color &lt; get_max_colors(); color++=
 )<br>
&gt; +=C2=A0 =C2=A0 {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 printk(&quot;Heap[%u]: &quot;, color);<br=
>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 pages =3D 0;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 page_list_for_each( pg, colored_pages(col=
or) )<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 BUG_ON(!(page_to_color(pg) =
=3D=3D color));<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 pages++;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
<br>
This is a very inefficient way for obtaining a count. On a large<br>
system this loop is liable to take excessively long. I&#39;m inclined<br>
to say that even adding a call to process_pending_softirqs() isn&#39;t<br>
going to make this work reasonably.<br></blockquote><div><br></div><div>We =
can definitely add a dynamic array of counters that get updated when</div><=
div>inserting a page in the colored heap so that we don&#39;t need to compu=
te</div><div>anything here.</div><div><br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex">
I&#39;m also not convinced of having BUG_ON() in keyhandler functions<br>
which are supposed to only dump state.</blockquote><div><br></div><div>You&=
#39;re right. I&#39;ll remove that.=C2=A0</div><div><br></div><blockquote c=
lass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px soli=
d rgb(204,204,204);padding-left:1ex">
&gt; @@ -2853,6 +2874,9 @@ static void cf_check dump_heap(unsigned char key=
)<br>
&gt;=C2=A0 static __init int cf_check register_heap_trigger(void)<br>
&gt;=C2=A0 {<br>
&gt;=C2=A0 =C2=A0 =C2=A0 register_keyhandler(&#39;H&#39;, dump_heap, &quot;=
dump heap info&quot;, 1);<br>
&gt; +#ifdef CONFIG_CACHE_COLORING<br>
&gt; +=C2=A0 =C2=A0 register_keyhandler(&#39;k&#39;, dump_col_heap, &quot;d=
ump coloring heap info&quot;, 1);<br>
&gt; +#endif<br>
<br>
I question the consuming of a separate key for this purpose: What&#39;s<br>
wrong with adding the functionality to dump_heap()?<br></blockquote><div><b=
r></div><div>We didn&#39;t want to weigh on that functionality so much, but=
 probably</div><div>having a separate key is even worse. If it&#39;s not a =
problem I&#39;ll merge</div><div>it in the dump_heap() function.</div><div>=
<br></div><div>Thanks.</div><div><br></div><div>- Carlo Nonato</div></div><=
/div>

--000000000000f9992a05e72713b8--


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 16:36:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 16:36:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.393997.633239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRcJG-00074O-Dt; Fri, 26 Aug 2022 16:35:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 393997.633239; Fri, 26 Aug 2022 16:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRcJG-00074H-Aj; Fri, 26 Aug 2022 16:35:54 +0000
Received: by outflank-mailman (input) for mailman id 393997;
 Fri, 26 Aug 2022 16:35:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRcJF-000747-BU; Fri, 26 Aug 2022 16:35:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRcJF-00058a-5u; Fri, 26 Aug 2022 16:35:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRcJE-0006g5-Jv; Fri, 26 Aug 2022 16:35:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRcJE-0006xO-JO; Fri, 26 Aug 2022 16:35:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZNq7C/FrxyLe6yOA2tHXL1v3oPtIiIjbVWjQk2hvuwQ=; b=CeNpB0dBrj81+2gpVZBab/mdzV
	0Jfb7X3YbkXZGFNQIcrsedjsyn/BzjPoewkaDoQDlMBttMtsvJXYqctQ5mo4unQztkoAFMT+yfWRc
	Gcf+aOolEEX7cuFWjdMFVq4oeTLvDcXS+FTUzIHFM6KUhSU9CyKwxnSXgutti9cuRVIQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172787-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172787: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:regression
    linux-5.4:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 16:35:52 +0000

flight 172787 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172787/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128
 test-armhf-armhf-xl         18 guest-start/debian.repeat fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine-bios  6 xen-install                fail pass in 172776

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172776 like 172108
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172776 like 172128
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172776 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172776 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   22 days
Failing since        172384  2022-08-11 11:13:58 Z   15 days   31 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    0 days    2 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 18:02:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 18:02:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394006.633249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRdeT-0007RO-PP; Fri, 26 Aug 2022 18:01:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394006.633249; Fri, 26 Aug 2022 18:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRdeT-0007RH-Md; Fri, 26 Aug 2022 18:01:53 +0000
Received: by outflank-mailman (input) for mailman id 394006;
 Fri, 26 Aug 2022 18:01:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmTq=Y6=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oRdeS-0007RB-As
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 18:01:52 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2748229f-2569-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 20:01:49 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 83D115C005A;
 Fri, 26 Aug 2022 14:01:47 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 26 Aug 2022 14:01:47 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Aug 2022 14:01:46 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2748229f-2569-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661536907; x=
	1661623307; bh=4ZXRyN/6PHKsITnMYINhCH0rT/aFKu8us2ywc2yLlP8=; b=r
	lN/Qgp4Ox4hRkAMkIleMZWd3BQFtE22obvxFQz6e5uIHUX2Qhc9onokA6JNj6i37
	qUUWf3061ZOc6dPK6xruRt4U0tI7mis4iaEoMJgOaT9i7pl2694VUoLC6XlpAq9C
	Fe7rBunn4SRpRMg87pcsOi/ZNUQna17Y9u/SDugETJsQFhh9S7pI3F4B+sF6crDK
	DAuMHFS1KEg4omYJjmTMkDbklI1DbGVL3OFC7WbnMGY5+NsQwYadn08lyYQeXcKz
	eF13MnTyW58glKdS1JR9Oo1M6kmrD8/NdEIouAWs5me6TKFty7b36H1wOczQhOo1
	vrM6W5RrSbb0Sc5AWwjWQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661536907; x=1661623307; bh=4ZXRyN/6PHKsITnMYINhCH0rT/aF
	Ku8us2ywc2yLlP8=; b=L9FlE9ul12nEuEC58bhyKNhS70s04eTVfzKbu4p/fN4N
	Ihz9P298WwGN/bYbzFmBnqz02kby9wy3LeupppoB5houwB8GPiLZQQX2FLyvhVFF
	zVJPb3W5UZFnWQAmQ/cdOYDL9qhZjwmNzJzhlsVo+BS+67btWEF4DLoSeb4+E3SH
	QZBB5mlYiF6GKgwapsFcQ/Hy9XN0bMh2Sodsx35PP6uTsDuRiw9JvmSzqg6Qi06H
	SOa0V6BZPIA4JMgBiMJS0BTTWj6iWu1GijZEIhpeVYHRgRLJs4PvQQXi7ksw73iP
	3RSCs1TsspiazogWnaSp+pQL1IoaUzUE655xyE1YDw==
X-ME-Sender: <xms:iwoJY55NzO8Vt9zEuykAJRZlnv7zeV4duwcK0GW3taDfvF4vlKO_hQ>
    <xme:iwoJY24cV4H7r1Lmx02voPSX555_C0SVuOFbP5_GxhMn2ep3SHZj0wOEn73HLqKYs
    2E2aoV-To5156Y>
X-ME-Received: <xmr:iwoJYwdHauY1-FaOTKVRAGqXvtDlhXpGro8ICoR6WzuK0FxJYqC-0ztxajVF>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejhedguddulecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffej
    geejgeffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtne
    curfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhg
    shhlrggsrdgtohhm
X-ME-Proxy: <xmx:iwoJYyL0Z2gideEIq_sT4AwxbVgTaYLdWbKW0X84Gxy1o2C7AS6rBQ>
    <xmx:iwoJY9JCNaE2sHJZgMNW8CA340lq3V7MrULGmCet7SaGn3ewacXl-A>
    <xmx:iwoJY7y7NLQA0_lINcm6kXi-oxe1mMLLqfER1GzRakvkTmM3ZvCeQA>
    <xmx:iwoJY7jLSEODOCfwPCe0qwbeRCAk6ucGspsO12s6KnVTiAt9yDUamQ>
Feedback-ID: iac594737:Fastmail
Date: Fri, 26 Aug 2022 14:01:44 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, Ard Biesheuvel <ardb@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH] Add support for ESRT loading under Xen
Message-ID: <YwkKiFIKHG4IcCmH@itl-email>
Mail-Followup-To: Jan Beulich <jbeulich@suse.com>,
	linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, Ard Biesheuvel <ardb@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20220825215218.1606-1-demi@invisiblethingslab.com>
 <c2a22672-b9dd-7aa4-b61e-ccb0faaa3b01@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="ADaG3VrA093Bc+/S"
Content-Disposition: inline
In-Reply-To: <c2a22672-b9dd-7aa4-b61e-ccb0faaa3b01@suse.com>


--ADaG3VrA093Bc+/S
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 26 Aug 2022 14:01:44 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, Ard Biesheuvel <ardb@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH] Add support for ESRT loading under Xen

On Fri, Aug 26, 2022 at 09:53:29AM +0200, Jan Beulich wrote:
> On 25.08.2022 23:52, Demi Marie Obenour wrote:
> > @@ -40,6 +41,38 @@
> > =20
> >  #define efi_data(op)	(op.u.efi_runtime_call)
> > =20
> > +static_assert(XEN_PAGE_SHIFT =3D=3D EFI_PAGE_SHIFT,
> > +              "Mismatch between EFI_PAGE_SHIFT and XEN_PAGE_SHIFT");
> > +
> > +bool xen_efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *md)
> > +{
> > +	struct xen_platform_op op =3D {
> > +		.cmd =3D XENPF_firmware_info,
> > +		.u.firmware_info =3D {
> > +			.type =3D XEN_FW_EFI_INFO,
> > +			.index =3D XEN_FW_EFI_MEM_INFO,
> > +			.u.efi_info.mem.addr =3D phys_addr,
> > +			.u.efi_info.mem.size =3D ((u64)-1ULL) - phys_addr,
> > +		}
> > +	};
> > +	union xenpf_efi_info *info =3D &op.u.firmware_info.u.efi_info;
> > +	int rc;
> > +
> > +	memset(md, 0, sizeof(*md)); /* initialize md even on failure */
> > +	rc =3D HYPERVISOR_platform_op(&op);
> > +	if (rc) {
> > +		pr_warn("Could not obtain information on address %llu from Xen: "
> > +			"error %d\n", phys_addr, rc);
> > +		return false;
> > +	}
> > +
> > +	md->attribute =3D info->mem.attr;
> > +	md->type =3D info->mem.type;
> > +	md->num_pages =3D info->mem.size >> XEN_PAGE_SHIFT;
> > +	md->phys_addr =3D info->mem.addr;
>=20
> As indicated in reply to your patch changing XEN_FW_EFI_MEM_INFO in
> the hypervisor: While this may fit the ESRT purpose, the address you
> return here is not necessarily the start of the region, and hence
> this function is not a general Xen replacement for the non-Xen
> function. Therefore I think it also shouldn't give the impression of
> doing so.

Is this just a matter of renaming the function?  Is it possible to
implement the original function with the current hypervisor?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--ADaG3VrA093Bc+/S
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmMJCogACgkQsoi1X/+c
IsEOXA/+KcxojsYfgCdCpNKkR9XEwx/tYKqs5TYjfEtdS8+dyEV3WCb90RA95rJf
nPCqsC3lqKs1xKCZCVQ9Qnsk0PtD+NBfjUnPDNZxSXOanSrfHTlqCE5v73Wsx3U9
vDOgx8fpvsR7pLQJ1nD56zKgomKkHJw1sv+Ac+y85CdZDkCB4JHPnobHx7cRsrg7
7+ZQbU3HdHQc655XDIK6a5HisFsLDvwHHCAPFUeyq3VEfFIWTuXBnYxVRgb2VGF8
uwfuQ13QaS8yu+yTQ444X4N/vwTj0ZGwjHdwS8UGM1skUcW4NSig5ymt4MAlIfnr
SdHutMhenm0+JuKwg9QNTbNb2q3XRKH+9FJ1tCX3fFirqz6H07PNLVKMJKM4VHbz
DAREFZtuFRtxxeymiSmrxJkNNByDXOwx5JdxEPZYAHhHOT13NCpv4M/I0UihEkXU
0Z6sUYHKam/XhYUtC08K9KQWt/65f7PjouulEp60cL7U14yZKi/yHzhGugWzPUUl
/6lXXaICO9JohvISVWlnfvYDyMrzXgo3MSGBk3ByUDzNaaby+xPyS4aTsmOHW91G
Jr5JUFNVRR6gAJO1UX5ZzH7b64ybpCzBC/DRMtTyhZnBkuv9dG0E8G45zyw06BoZ
ltToA0VyXeJcPm2hpB6RqtcPT+ZacoRO9vE/D4ihNruF+9cw1pg=
=t2WL
-----END PGP SIGNATURE-----

--ADaG3VrA093Bc+/S--


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 18:16:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 18:16:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394013.633261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRdsP-0000X6-1f; Fri, 26 Aug 2022 18:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394013.633261; Fri, 26 Aug 2022 18:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRdsO-0000Wz-V9; Fri, 26 Aug 2022 18:16:16 +0000
Received: by outflank-mailman (input) for mailman id 394013;
 Fri, 26 Aug 2022 18:16:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmTq=Y6=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oRdsN-0000Wt-SH
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 18:16:15 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c41081c-256b-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 20:15:22 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 4B1CF5C04C2;
 Fri, 26 Aug 2022 14:15:21 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Fri, 26 Aug 2022 14:15:21 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Aug 2022 14:15:20 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c41081c-256b-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661537721; x=
	1661624121; bh=L1ltJ2hOmX5IYfZVtSYNVObad6mBdP3ftS5EqeH6HsM=; b=s
	5mYwyctMqZFI1drS2qYXkrf4FvW6MikYWwEZTGKxx3rd9EsF6eUDM7BSdXPG/cv+
	BNBB/sTCMmBZMdpUB2rs3CHP6N3CfqRXC/VAhWQ87gxPEIs4K0aFdsW8sqMxxSqY
	1D76ODepsbOirsf3tREG8W+KX3+ZD3CW0gXFudRXyx6NaWbhh/DBi9Jq4cy/b3Zj
	XK2qJsX7xglCkx9e69IUkgfebtLjnRSK89VH9wKdu+OQL12YEghDN2vesUbgZOoV
	0Om8up/OhF1a3Ul2AZ6yfU/W8T65h0p0eCNqli+UlRtdt/b0svt/xGm9JHLPGYBh
	RvErjLRRcqNII2aJZLkaA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661537721; x=1661624121; bh=L1ltJ2hOmX5IYfZVtSYNVObad6mB
	dP3ftS5EqeH6HsM=; b=WZCa8vg93LC8nwZZ9C64/oAWUMz6qqvo/xJC5ymRirQB
	eWZmFtgAdVLEdrnXuj1ge+qzVtvUJAg9tYnujgb+E1qAV1XWegV8z9/1xMuMHZfS
	vqaE1jzI8c/GmZFl240h+GSond7djkwsDsa5Am9o03DhuCcfaAJ6PfiR334YGmWY
	azyQ8S0NnBv0zXRDP1zmH5lKmxO2MC3DvMQqU0DZvcgl5MAd499B1UkBCycmhspU
	mNghjq7l+gnMUQ0WJhOpd86gxh8D0EkSODNo2UycRuEfQpW1FtCoYuIyoZeFX6J7
	X5q8/MeBvJM4YnXXd8ejP1mFmJx35998f/cq30gaCg==
X-ME-Sender: <xms:uQ0JY87g7FuCfT6g4yqQizVQmFoc0rilkObLFyZUWbYtfcuu7zyZ8g>
    <xme:uQ0JY97nsh_2QdszWOiY0P8DtXH-Vv-oEuxkqpobvKJBWG2Ewf1d9hAl6EhprPYTi
    jGbRlLkPJYgmJg>
X-ME-Received: <xmr:uQ0JY7eFhnc1RttVI4GuA5kznqzlNjVDmLKUAO2Xg53nLBafnCR_gOhtpDC1>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejhedguddvudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffej
    geejgeffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtne
    curfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhg
    shhlrggsrdgtohhm
X-ME-Proxy: <xmx:uQ0JYxLFAPxWgvMdWmGhmSWX3gnNKPd--ME2IDp4U5QB0Ura7yGfEg>
    <xmx:uQ0JYwLZPYKnCXzI1pxf7JU4iShLc8-hQyemKX6eacaZtgQFYQmlAw>
    <xmx:uQ0JYyzOC1C2lj7IEzgG2hJNVbUKY0KcnCgnrAB-YFWEryDuGDHRjQ>
    <xmx:uQ0JY6wCJBpbcOV9Fr3pediq9NpWcV_sVPLOch3EpCEaxFRYaENYDQ>
Feedback-ID: iac594737:Fastmail
Date: Fri, 26 Aug 2022 14:15:18 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Make XEN_FW_EFI_MEM_INFO easier to use
Message-ID: <YwkNt9w4T3H38D8K@itl-email>
References: <20220824210452.3089-1-demi@invisiblethingslab.com>
 <df443aab-a2eb-75c2-3a4d-df6d093b5788@suse.com>
 <YwfdpPH9PyPXlMAa@itl-email>
 <ab973fa7-85db-af53-9d4c-cfb8c2099135@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="2bklL058a8q/yZrL"
Content-Disposition: inline
In-Reply-To: <ab973fa7-85db-af53-9d4c-cfb8c2099135@suse.com>


--2bklL058a8q/yZrL
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 26 Aug 2022 14:15:18 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Make XEN_FW_EFI_MEM_INFO easier to use

On Fri, Aug 26, 2022 at 09:18:50AM +0200, Jan Beulich wrote:
> On 25.08.2022 22:36, Demi Marie Obenour wrote:
> > On Thu, Aug 25, 2022 at 09:59:56AM +0200, Jan Beulich wrote:
> >> On 24.08.2022 23:04, Demi Marie Obenour wrote:
> >>> Fix both of these problems by unconditionally setting the memory regi=
on
> >>> size
> >>
> >> If you were to report a larger ending address, why would you not also
> >> report a smaller starting address?
> >>
> >> But before you go that route - I don't think we can change the API
> >> now that it has been in use this way for many years. If a "give me
> >> the full enclosing range" variant is wanted, it will need to be
> >> fully separate.
> >=20
> > Does anyone use this API?
>=20
> The XenoLinux forward port of ours did, and upstream Linux still wrongly
> doesn't. The two functions efi_mem_type() and efi_mem_attributes() still
> wrongly fail there when running on Xen.
>=20
> But how does this matter? Even if we were unaware of any users of the API,
> we can't know there are none.
>=20
> As an aside: Something's odd with your reply. When I opened the window to
> write this reply, Marek and the list were put into To: (instead of Cc:)
> and you were dropped altogether. I can only guess that this is what
> Thunderbird made of the Mail-Followup-To: tag which your mail has.

Probably?  Mutt generated the header because I had (incorrectly)
told it that I am subscribed to xen-devel.  Is it best to leave this
header unset?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--2bklL058a8q/yZrL
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmMJDbcACgkQsoi1X/+c
IsHiChAAsvOn4zFvCNKwO7CyAHNveQa6jZDW5QdBS+nK95hdoffrGJ7uLz5FRocq
yGzwtSPDfOJKJ62z/5dFZUqPvHbm6mUCFAwWYRW4O2deeNsvK+rnonJQUqFCjzwF
HntNBb+LfsrpmlYqpG/oHxJucb8VzFbx9I+eMtzY+Ao/RbVqZu9xXK0DqdGhA3my
t6FkURZt3NhAJ+1UW7huPPVLItRqGrkem4r72eFCjJ5quweeB+LueuCEqetqcP1s
w6jX4brkMObChcd0tMONpSLoeEWo3i1rZz/2HlqG+4VZGgVy1XqXb8BDlnr7t8Xa
iq7XmtKB1cGSgCO2kBn73EJt1ZeFjCb1ipHF+f/BqXKC0DDLb3PzxwS+sOoLzVeR
K7Yddq2ZKZZOABYy5SVEhbB4v94T/JsVTtP4WIGL6TALIfxhyHByrm6JXQmi2TZI
xu/972ULagC7iB6xVvjIORQuAVFWEkmVDXM96dzrJbvb1Tlw/BDrXqNC2HslyAD7
jbMaRmxatSD3xcyX15gYIvNw78ZrmQEDRajTerWHp7rE8Uff5bRl/h6jnCkYl/dj
+rEhv7lO0x52GKxcP9D6IYYnOlAAmWCP0g8alrtvT39Qemdeai5aG6O6+A0UwNsd
7VlVSE3TL9lls0YxydcUHJ5e7MlsX+2hiEFXmxaVl/Vy3oQqMgs=
=3kbp
-----END PGP SIGNATURE-----

--2bklL058a8q/yZrL--


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 19:13:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 19:13:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394020.633272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRelZ-0006UU-CI; Fri, 26 Aug 2022 19:13:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394020.633272; Fri, 26 Aug 2022 19:13:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRelZ-0006UN-8u; Fri, 26 Aug 2022 19:13:17 +0000
Received: by outflank-mailman (input) for mailman id 394020;
 Fri, 26 Aug 2022 19:13:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRelX-0006UD-W1; Fri, 26 Aug 2022 19:13:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRelX-00087E-U7; Fri, 26 Aug 2022 19:13:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRelX-0000vX-HD; Fri, 26 Aug 2022 19:13:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRelX-0006cF-Gj; Fri, 26 Aug 2022 19:13:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GDCvMzToWRDCEcxYvAX4uh5m6EDmB+dR7jwsSx3BGfE=; b=FawNqomjNAoNV84nfj4vUtQbiu
	SwzofWzvoEX1H2Poct6OtrC6XUdbGiorkcPn7bIqY/HpUGXDnS4VkL9sfWE4lj8cuJzXXQMvYICLb
	qmy94rMjw4DkYpnCsWHy++fj6IBYGHTToJ68o3aR1Mfkon2q3xQT3S2ADWDP6JE3cWqc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172789-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172789: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-stop:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 19:13:15 +0000

flight 172789 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172789/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 172778 pass in 172789
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail pass in 172778
 test-armhf-armhf-xl-rtds     17 guest-stop                 fail pass in 172778

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   23 days
Failing since        172148  2022-08-04 21:39:38 Z   21 days   50 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 19:17:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 19:17:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394029.633283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRepx-00079t-3O; Fri, 26 Aug 2022 19:17:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394029.633283; Fri, 26 Aug 2022 19:17:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRepx-00079m-0B; Fri, 26 Aug 2022 19:17:49 +0000
Received: by outflank-mailman (input) for mailman id 394029;
 Fri, 26 Aug 2022 19:17:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRepv-00079b-Jn; Fri, 26 Aug 2022 19:17:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRepv-0008CF-Iu; Fri, 26 Aug 2022 19:17:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRepv-0001Mn-82; Fri, 26 Aug 2022 19:17:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRepv-0008Jd-7b; Fri, 26 Aug 2022 19:17:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=D27XKTmrbdpNBQLgUhNiDvUy3gSABXi8NliJ3/tTA/A=; b=AqDP2mxLtoto+gSMlPZIlnU2ee
	4QF9irNYtuBW/DvaOxzMPOrVpuP3qXNet8y4z8B6RCPic8mvljftzS+A5QEtBq+amJAYBVDidsx4r
	zrItveVG7AIEYh04pXPGShqoud6P1Vj08SGePHEXgVdZTYtvHp9ejddjsGrt1fvgBRy8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172797-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172797: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 19:17:47 +0000

flight 172797 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172797/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   22 days
Failing since        172151  2022-08-05 02:40:28 Z   21 days  176 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    1 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 21:21:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 21:21:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394038.633297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRgl1-0002Yx-07; Fri, 26 Aug 2022 21:20:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394038.633297; Fri, 26 Aug 2022 21:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRgl0-0002Yq-T9; Fri, 26 Aug 2022 21:20:50 +0000
Received: by outflank-mailman (input) for mailman id 394038;
 Fri, 26 Aug 2022 21:20:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nG/A=Y6=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oRgky-0002Yk-TT
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 21:20:49 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2699afa-2584-11ed-bd2e-47488cf2e6aa;
 Fri, 26 Aug 2022 23:20:46 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 0C893CE3147;
 Fri, 26 Aug 2022 21:20:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 82C48C433D6;
 Fri, 26 Aug 2022 21:20:41 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2699afa-2584-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661548842;
	bh=zDVwVvEz5cYYLi/EBJNO2sYvyri0aAIP70HkgcMjqnk=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=WKT07LmZtYErAiiJ9Tm1cdjtABt72S8nnGKXhNRa5LxwOZy+aHV19commDHWAW6al
	 d5Z7d+6BuIMa2/RSstIZVnjA158bVCu6DFKFgaKosx7xfDaJV0ozsr/l3RePhXEgEv
	 eh/d8Q/jlFn7ucMsKc0t8GABxxo+Nrrr0yJT+uQzJfW3ZT8BnYTQGrvIxzujuVA1Pc
	 zpXKRpjFD2Y3kRNzcny480fCNxTxyfDaP7G/9YJAUovY3Bmn63dzmyBT9xZP37SaE/
	 hrD5w82TRDxe4MDafSHR1JCxrDS4msMBeJeyG7REFcLnJosijRfob2++xLzCEY4ln2
	 AFeflr6GG6L4w==
From: SeongJae Park <sj@kernel.org>
To: Maximilian Heyne <mheyne@amazon.de>
Cc: SeongJae Park <sj@kernel.org>,
	jgross@suse.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH 2/2] xen-blkfront: Advertise feature-persistent as user requested
Date: Fri, 26 Aug 2022 21:20:39 +0000
Message-Id: <20220826212039.50736-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220826142658.GA77627@dev-dsk-mheyne-1b-c1362c4d.eu-west-1.amazon.com>
References: 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hi Max,

On Fri, 26 Aug 2022 14:26:58 +0000 Maximilian Heyne <mheyne@amazon.de> wrote:

> On Thu, Aug 25, 2022 at 04:15:11PM +0000, SeongJae Park wrote:
> > 
> > Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
> > when connect") made blkback to advertise its support of the persistent
> > grants feature only if the user sets the 'feature_persistent' parameter
> > of the driver and the frontend advertised its support of the feature.
> > However, following commit 402c43ea6b34 ("xen-blkfront: Apply
> > 'feature_persistent' parameter when connect") made the blkfront to work
> > in the same way.  That is, blkfront also advertises its support of the
> > persistent grants feature only if the user sets the 'feature_persistent'
> > parameter of the driver and the backend advertised its support of the
> > feature.
> > 
> > Hence blkback and blkfront will never advertise their support of the
> > feature but wait until the other advertises the support, even though
> > users set the 'feature_persistent' parameters of the drivers.  As a
> > result, the persistent grants feature is disabled always regardless of
> > the 'feature_persistent' values[1].
> > 
> > The problem comes from the misuse of the semantic of the advertisement
> > of the feature.  The advertisement of the feature should means only
> > availability of the feature not the decision for using the feature.
> > However, current behavior is working in the wrong way.
> > 
> > This commit fixes the issue by making the blkfront advertises its
> > support of the feature as user requested via 'feature_persistent'
> > parameter regardless of the otherend's support of the feature.
> > 
> > [1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/
> > 
> > Fixes: 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter when connect")
> > Cc: <stable@vger.kernel.org> # 5.10.x
> > Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> > Suggested-by: Juergen Gross <jgross@suse.com>
> > Signed-off-by: SeongJae Park <sj@kernel.org>
> > ---
> >  drivers/block/xen-blkfront.c | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> > index 8e56e69fb4c4..dfae08115450 100644
> > --- a/drivers/block/xen-blkfront.c
> > +++ b/drivers/block/xen-blkfront.c
> > @@ -213,6 +213,9 @@ struct blkfront_info
> >         unsigned int feature_fua:1;
> >         unsigned int feature_discard:1;
> >         unsigned int feature_secdiscard:1;
> > +       /* Connect-time cached feature_persistent parameter */
> > +       unsigned int feature_persistent_parm:1;
> > +       /* Persistent grants feature negotiation result */
> >         unsigned int feature_persistent:1;
> >         unsigned int bounce:1;
> >         unsigned int discard_granularity;
> > @@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
> >                 goto abort_transaction;
> >         }
> >         err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> > -                       info->feature_persistent);
> > +                       info->feature_persistent_parm);
> >         if (err)
> >                 dev_warn(&dev->dev,
> >                          "writing persistent grants feature to xenbus");
> > @@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
> >         if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
> >                 blkfront_setup_discard(info);
> > 
> > -       if (feature_persistent)
> > +       info->feature_persistent_parm = feature_persistent;
> 
> I think setting this here is too late because "feature-persistent" was already
> written to xenstore via talk_to_blkback but with default 0. So during the
> connect blkback will not see that the guest supports the feature and falls back
> to no persistent grants.
> 
> Tested only this patch with some hacky dom0 kernel that doesn't have the patch
> from your series yet. Will do more testing next week.

Appreciate for your test!  And you're right, this patch is not fixing the issue
completely.  That is, commit 402c43ea6b34 ("xen-blkfront: Apply
'feature_persistent' parameter when connect") introduced two bugs.  One is the
misuse of the semantic of the advertisement.  It's fixed by this patch.  The
second bug, which you found here, is caching the parameter in a wrong place.

In detail, blkfront does the advertisement before connect (for init and resume)
and then negotiation after connected.  And the blkback does the negotiation
first, and then the advertisement during the establishing the connection.
Hence, blkback should cache the parameter just before the negotiation logic
while blkfront should do that just before the advertisement logic.

The blkback behavior change commit (e94c6101e151) did the work in the right
place, but the blkfront behavior change commit didn't.

So, I guess below change would fix the issue entirely when applied together
with this patch.  Any opinion, please?


diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index dfae08115450..7d3bde271e69 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -1850,6 +1850,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
                message = "writing protocol";
                goto abort_transaction;
        }
+       info->feature_persistent_parm = feature_persistent;
        err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
                        info->feature_persistent_parm);
        if (err)
@@ -2284,7 +2285,6 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
        if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
                blkfront_setup_discard(info);

-       info->feature_persistent_parm = feature_persistent;
        if (info->feature_persistent_parm)
                info->feature_persistent =
                        !!xenbus_read_unsigned(info->xbdev->otherend,


Thanks,
SJ


> 
> > +       if (info->feature_persistent_parm)
> >                 info->feature_persistent =
> >                         !!xenbus_read_unsigned(info->xbdev->otherend,
> >                                                "feature-persistent", 0);
> > --
> > 2.25.1
> > 
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 21:59:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 21:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394044.633308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRhMQ-0005vP-SE; Fri, 26 Aug 2022 21:59:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394044.633308; Fri, 26 Aug 2022 21:59:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRhMQ-0005vI-PO; Fri, 26 Aug 2022 21:59:30 +0000
Received: by outflank-mailman (input) for mailman id 394044;
 Fri, 26 Aug 2022 21:59:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nG/A=Y6=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oRhMQ-0005vC-92
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 21:59:30 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b3e6ea4-258a-11ed-9250-1f966e50362f;
 Fri, 26 Aug 2022 23:59:28 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id E56A6B8321A;
 Fri, 26 Aug 2022 21:59:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F0B3DC433D6;
 Fri, 26 Aug 2022 21:59:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b3e6ea4-258a-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661551166;
	bh=5xR3EC5MWZoN0OXGdyuL9WrQBUm1gv5VQ3OGVer9NL8=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=fnKGIUyipaVboyQ8u4/rlhxDe0P+rbyGQEJuzGfBPJFpXkh6wENXpFpYyZwKDVwPk
	 NKcpT3VxV6YTynepeMmkTIdN0lshrk7tEOr2vXbD/Yg+cGwaYzQYG22xdTDPwcXzb5
	 MfKASkYhoOxm7xzZ1T4dDce00BjoIeDwo5Skh0Wdma6erSawLtpDttiTvMItG5PYhV
	 A7SqGCPkZJVC4t81aAVx1UWhL/grl8YV5fynpZ5y6t/LsFgJD/V0L4or15tcHRQpN6
	 addZA9KMTMc5ZZQjZfPA2sI9INIVJNw80lKjG6zwv4WHxD33r67mZk9trURh/tZh7b
	 kOgaYqsURBkBw==
From: SeongJae Park <sj@kernel.org>
To: SeongJae Park <sj@kernel.org>
Cc: Maximilian Heyne <mheyne@amazon.de>,
	jgross@suse.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH 2/2] xen-blkfront: Advertise feature-persistent as user requested
Date: Fri, 26 Aug 2022 21:59:24 +0000
Message-Id: <20220826215924.50813-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220826212039.50736-1-sj@kernel.org>
References: 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On Fri, 26 Aug 2022 21:20:39 +0000 SeongJae Park <sj@kernel.org> wrote:

> Hi Max,
> 
> On Fri, 26 Aug 2022 14:26:58 +0000 Maximilian Heyne <mheyne@amazon.de> wrote:
> 
> > On Thu, Aug 25, 2022 at 04:15:11PM +0000, SeongJae Park wrote:
> > > 
> > > Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
> > > when connect") made blkback to advertise its support of the persistent
> > > grants feature only if the user sets the 'feature_persistent' parameter
> > > of the driver and the frontend advertised its support of the feature.
> > > However, following commit 402c43ea6b34 ("xen-blkfront: Apply
> > > 'feature_persistent' parameter when connect") made the blkfront to work
> > > in the same way.  That is, blkfront also advertises its support of the
> > > persistent grants feature only if the user sets the 'feature_persistent'
> > > parameter of the driver and the backend advertised its support of the
> > > feature.
> > > 
> > > Hence blkback and blkfront will never advertise their support of the
> > > feature but wait until the other advertises the support, even though
> > > users set the 'feature_persistent' parameters of the drivers.  As a
> > > result, the persistent grants feature is disabled always regardless of
> > > the 'feature_persistent' values[1].
> > > 
> > > The problem comes from the misuse of the semantic of the advertisement
> > > of the feature.  The advertisement of the feature should means only
> > > availability of the feature not the decision for using the feature.
> > > However, current behavior is working in the wrong way.
> > > 
> > > This commit fixes the issue by making the blkfront advertises its
> > > support of the feature as user requested via 'feature_persistent'
> > > parameter regardless of the otherend's support of the feature.
> > > 
> > > [1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/
> > > 
> > > Fixes: 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter when connect")
> > > Cc: <stable@vger.kernel.org> # 5.10.x
> > > Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> > > Suggested-by: Juergen Gross <jgross@suse.com>
> > > Signed-off-by: SeongJae Park <sj@kernel.org>
> > > ---
> > >  drivers/block/xen-blkfront.c | 8 ++++++--
> > >  1 file changed, 6 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> > > index 8e56e69fb4c4..dfae08115450 100644
> > > --- a/drivers/block/xen-blkfront.c
> > > +++ b/drivers/block/xen-blkfront.c
> > > @@ -213,6 +213,9 @@ struct blkfront_info
> > >         unsigned int feature_fua:1;
> > >         unsigned int feature_discard:1;
> > >         unsigned int feature_secdiscard:1;
> > > +       /* Connect-time cached feature_persistent parameter */
> > > +       unsigned int feature_persistent_parm:1;
> > > +       /* Persistent grants feature negotiation result */
> > >         unsigned int feature_persistent:1;
> > >         unsigned int bounce:1;
> > >         unsigned int discard_granularity;
> > > @@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
> > >                 goto abort_transaction;
> > >         }
> > >         err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> > > -                       info->feature_persistent);
> > > +                       info->feature_persistent_parm);
> > >         if (err)
> > >                 dev_warn(&dev->dev,
> > >                          "writing persistent grants feature to xenbus");
> > > @@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
> > >         if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
> > >                 blkfront_setup_discard(info);
> > > 
> > > -       if (feature_persistent)
> > > +       info->feature_persistent_parm = feature_persistent;
> > 
> > I think setting this here is too late because "feature-persistent" was already
> > written to xenstore via talk_to_blkback but with default 0. So during the
> > connect blkback will not see that the guest supports the feature and falls back
> > to no persistent grants.
> > 
> > Tested only this patch with some hacky dom0 kernel that doesn't have the patch
> > from your series yet. Will do more testing next week.
> 
> Appreciate for your test!  And you're right, this patch is not fixing the issue
> completely.  That is, commit 402c43ea6b34 ("xen-blkfront: Apply
> 'feature_persistent' parameter when connect") introduced two bugs.  One is the
> misuse of the semantic of the advertisement.  It's fixed by this patch.  The
> second bug, which you found here, is caching the parameter in a wrong place.

To be fair, I think we should say the misuse of the semantic issue came from
the initial commit[1] that uses only one field for the two different
information (availability of the feature and decision to use the feature), and
the mis-placed caching has introduced by the behavior change commit[2].

[1] 74a852479c68 ("xen-blkfront: add a parameter for disabling of persistent grants")
[2] 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter when connect")


Thanks,
SJ

> 
> In detail, blkfront does the advertisement before connect (for init and resume)
> and then negotiation after connected.  And the blkback does the negotiation
> first, and then the advertisement during the establishing the connection.
> Hence, blkback should cache the parameter just before the negotiation logic
> while blkfront should do that just before the advertisement logic.
> 
> The blkback behavior change commit (e94c6101e151) did the work in the right
> place, but the blkfront behavior change commit didn't.
> 
> So, I guess below change would fix the issue entirely when applied together
> with this patch.  Any opinion, please?
> 
> 
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index dfae08115450..7d3bde271e69 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -1850,6 +1850,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
>                 message = "writing protocol";
>                 goto abort_transaction;
>         }
> +       info->feature_persistent_parm = feature_persistent;
>         err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
>                         info->feature_persistent_parm);
>         if (err)
> @@ -2284,7 +2285,6 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
>         if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
>                 blkfront_setup_discard(info);
> 
> -       info->feature_persistent_parm = feature_persistent;
>         if (info->feature_persistent_parm)
>                 info->feature_persistent =
>                         !!xenbus_read_unsigned(info->xbdev->otherend,
> 
> 
> Thanks,
> SJ
> 
> 
> > 
> > > +       if (info->feature_persistent_parm)
> > >                 info->feature_persistent =
> > >                         !!xenbus_read_unsigned(info->xbdev->otherend,
> > >                                                "feature-persistent", 0);
> > > --
> > > 2.25.1
> > > 
> > 


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 22:56:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 22:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394050.633318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRiF9-0003O6-0S; Fri, 26 Aug 2022 22:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394050.633318; Fri, 26 Aug 2022 22:56:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRiF8-0003Nz-T3; Fri, 26 Aug 2022 22:56:02 +0000
Received: by outflank-mailman (input) for mailman id 394050;
 Fri, 26 Aug 2022 22:56:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cNs+=Y6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oRiF8-0003Nq-BM
 for xen-devel@lists.xenproject.org; Fri, 26 Aug 2022 22:56:02 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f5d6444-2592-11ed-9250-1f966e50362f;
 Sat, 27 Aug 2022 00:55:58 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E4BFA61B4D;
 Fri, 26 Aug 2022 22:55:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D80BFC433C1;
 Fri, 26 Aug 2022 22:55:55 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f5d6444-2592-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661554556;
	bh=S1D3IYIzMJ2jRjBuR9XSrNV/GKRpZlg+ZSuJ5HA9Pck=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bj1ZD3NFF/5p26I7QIft7QCxiicLUGkMotJtMMjqSadLhHfC6+iQ3ZsCIidViImkz
	 RjOCISbHZFYm+BPblCRsV9BVDSb8XWh1vd/M3i66nmSZ4H+qW8+DYJy19Cmh0SAQ+k
	 d+C0jVUBOD+IZS4r3OzL3fg4Yw9i3QhhdHSDSIT9kjmdFCBJ7cz6/aBZXYPnSFuE4d
	 9t2S3fVBQR7okfyb8/TQFvItWgkuMXVFj5VdBJWNns8UhUxFpsSI8zK5IF1e6+5FxT
	 qZcp9Neanxeiwa+6aobqYtOznYvFbOeiDlULcvcaKxpR+yqlK/iVT2oQNNEaW06joQ
	 79oPz0LeJ9tcQ==
Date: Fri, 26 Aug 2022 15:55:54 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Xenia Ragiadakou <burzalodowa@gmail.com>, xen-devel@lists.xenproject.org, 
    Julien Grall <julien@xen.org>, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, roger.pau@citrix.com, 
    roberto.bagnara@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 7/7] xen/device_tree: Fix MISRA C 2012 Rule 20.7
 violations
In-Reply-To: <bfe91fc2-c3a4-3361-509e-28493bdb958b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2208261552370.733916@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com> <20220819194359.1196539-8-burzalodowa@gmail.com> <9b053c3f-0274-a63b-2a6b-a1715c639092@suse.com> <25e4c770-9b97-a96d-5f5a-fea815bf9737@gmail.com> <7d32d3d3-daa6-5492-02fb-db6ca5f154c9@suse.com>
 <852c68d0-bda1-e56e-85c0-500c498054a0@gmail.com> <2ff949e4-5f02-f476-7b14-252252d1b8b5@suse.com> <alpine.DEB.2.22.394.2208251045380.733916@ubuntu-linux-20-04-desktop> <11fc391d-f53b-1bc0-19ec-168ec827a1c0@suse.com> <7348b3d9-4ab3-743f-252d-0441cd25dfa7@gmail.com>
 <bfe91fc2-c3a4-3361-509e-28493bdb958b@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 26 Aug 2022, Jan Beulich wrote:
> On 26.08.2022 09:58, Xenia Ragiadakou wrote:
> > On 8/26/22 09:21, Jan Beulich wrote:
> >> On 25.08.2022 20:09, Stefano Stabellini wrote:
> >>> But first, let's confirm whether this change:
> >>>
> >>>
> >>>   #define dt_for_each_property_node(dn, pp)                   \
> >>> -    for ( pp = dn->properties; pp != NULL; pp = pp->next )
> >>> +    for ( pp = (dn)->properties; pp != NULL; pp = (pp)->next )
> >>>
> >>>
> >>> is sufficient to make the violation go away in Eclair or cppcheck.  I am
> >>> assuming it is not sufficient, but let's confirm.
> >>
> >> Well, even if for the lhs of assignments there was an exception, this
> >> still wouldn't be sufficient. The minimum needed is
> >>
> >> #define dt_for_each_property_node(dn, pp)                   \
> >>      for ( pp = (dn)->properties; (pp) != NULL; pp = (pp)->next )

Thank you for noticing this


> > If pp is assumed to be a valid lvalue, then why it is needed to add 
> > parentheses here (pp) != NULL ?
> 
> Because in one expression is doesn't matter that in another expression
> the same identifier is used as the lhs of an assignment. Whether
> parentheses are needed should solely depend on the operators in use,
> not any further context.

This is the problem with going with a more sophisticated version of the
rule: it is not immediately obvious any longer. I have to read this
explanation three times to appreciate what it means, I don't think a new
contributor would really have any chances of getting this right,
especially as cppcheck/Eclair wouldn't be able to help them either.


From xen-devel-bounces@lists.xenproject.org Fri Aug 26 22:59:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Aug 2022 22:59:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394056.633330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRiIh-00040W-Ga; Fri, 26 Aug 2022 22:59:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394056.633330; Fri, 26 Aug 2022 22:59:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRiIh-00040P-DY; Fri, 26 Aug 2022 22:59:43 +0000
Received: by outflank-mailman (input) for mailman id 394056;
 Fri, 26 Aug 2022 22:59:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRiIg-00040F-L0; Fri, 26 Aug 2022 22:59:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRiIg-0003sA-G8; Fri, 26 Aug 2022 22:59:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRiIg-0005eu-8N; Fri, 26 Aug 2022 22:59:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRiIg-0005SY-7s; Fri, 26 Aug 2022 22:59:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RUTACa1zgh3quUaQjL3JOIbk0iG3IsEJrRlY678sX2s=; b=hZkIu3lWonheyQxwD1NcHgxvQO
	ipA0mkemdujHVaMO8JXfCuqiGYf+1Jy+WR7p4yjaaHG+JRZsnBOMDX52rJLttHKnH2yaSEpLMrDLH
	qrx8G43nCskqW+KQ1jhAa64JRxKJBVyYibBvLgK9NzEsJS1aX8b6wHy5EmP/fdh4EHUg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172800-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172800: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Aug 2022 22:59:42 +0000

flight 172800 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172800/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   22 days
Failing since        172151  2022-08-05 02:40:28 Z   21 days  177 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 00:16:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 00:16:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394065.633341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRjUL-0003xy-DE; Sat, 27 Aug 2022 00:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394065.633341; Sat, 27 Aug 2022 00:15:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRjUL-0003xr-A3; Sat, 27 Aug 2022 00:15:49 +0000
Received: by outflank-mailman (input) for mailman id 394065;
 Sat, 27 Aug 2022 00:15:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRjUJ-0003xh-QZ; Sat, 27 Aug 2022 00:15:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRjUJ-0005u7-KQ; Sat, 27 Aug 2022 00:15:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRjUJ-0002lR-3i; Sat, 27 Aug 2022 00:15:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRjUJ-0000SB-3F; Sat, 27 Aug 2022 00:15:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hOmtj3b1TPB5reQkJL6cfpHgTckfFnqmQjFPMTNfNbk=; b=VpyfPEL8ZFQjRBr9ers0TP75YQ
	stvNRg44DUyvS7h9ClkvVhbe8/Z62axq7WO/lhsRw0EMoffrNZw7BXWAHOfquzSyc3nbDU9FGXlmB
	FxRvQMSV+rUTIp5GLWhVfghv8wnMp+2AWk8HB0Jzxg7mwgb9b3kCzNGFsRYcvTlc23Tg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172795-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172795: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
X-Osstest-Versions-That:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 00:15:47 +0000

flight 172795 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172795/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 172781 pass in 172795
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 172781

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172781
 build-i386-libvirt            6 libvirt-build                fail  like 172781
 build-arm64-libvirt           6 libvirt-build                fail  like 172781
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172781
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172781
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172781
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172781
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172781
 build-armhf-libvirt           6 libvirt-build                fail  like 172781
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172781
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172781
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172781
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172781
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f
baseline version:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f

Last test of basis   172795  2022-08-26 13:21:29 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Aug 27 00:27:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 00:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394073.633352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRjfI-0005SU-Gm; Sat, 27 Aug 2022 00:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394073.633352; Sat, 27 Aug 2022 00:27:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRjfI-0005SN-CQ; Sat, 27 Aug 2022 00:27:08 +0000
Received: by outflank-mailman (input) for mailman id 394073;
 Sat, 27 Aug 2022 00:27:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jSpV=Y7=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oRjfH-0005SH-FH
 for xen-devel@lists.xenproject.org; Sat, 27 Aug 2022 00:27:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa17dfd0-259e-11ed-9250-1f966e50362f;
 Sat, 27 Aug 2022 02:27:05 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6219861C3F;
 Sat, 27 Aug 2022 00:27:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A274C433B5;
 Sat, 27 Aug 2022 00:27:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa17dfd0-259e-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661560023;
	bh=g6Fczq+e4vFz11SSps3NqjieFBOu+DQYPjNgDy5r3lw=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=ImkjkNubGAUiWTVWzvfUdrzLtU2ouJrgeCmEeKKIawAKqALjnZVjuPGICQoLTKwYu
	 Zn+yPUgXfE7VWwMLI2PVmEdBQWK71Lqrrlds08eiz5LsN6e7efwPxEcKEEGh3XiucX
	 DX+YRkSRC4m3S7AIY6//ZoyYQ0b3M+CR9g8WCHSEYxLGgXwfA5Wuwp/ZzXJQynpenl
	 pfod1mRgIt3S7e8q/d37DfNN8lmDfG69vznxec8M3iMt8CQa+v4//EK77YzO7phuQT
	 eMqD4rzJNmMdZfdCNwosLNo+xFlxkxRXUCYMSDtrqnlo7erw+YKmaGAglRvCZ3477Q
	 K6hrE2LwT3zEg==
From: SeongJae Park <sj@kernel.org>
To: SeongJae Park <sj@kernel.org>
Cc: Maximilian Heyne <mheyne@amazon.de>,
	jgross@suse.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH 2/2] xen-blkfront: Advertise feature-persistent as user requested
Date: Sat, 27 Aug 2022 00:27:00 +0000
Message-Id: <20220827002700.54181-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220826212039.50736-1-sj@kernel.org>
References: 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On Fri, 26 Aug 2022 21:20:39 +0000 SeongJae Park <sj@kernel.org> wrote:

> Hi Max,
> 
> On Fri, 26 Aug 2022 14:26:58 +0000 Maximilian Heyne <mheyne@amazon.de> wrote:
> 
> > On Thu, Aug 25, 2022 at 04:15:11PM +0000, SeongJae Park wrote:
> > > 
> > > Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
> > > when connect") made blkback to advertise its support of the persistent
> > > grants feature only if the user sets the 'feature_persistent' parameter
> > > of the driver and the frontend advertised its support of the feature.
> > > However, following commit 402c43ea6b34 ("xen-blkfront: Apply
> > > 'feature_persistent' parameter when connect") made the blkfront to work
> > > in the same way.  That is, blkfront also advertises its support of the
> > > persistent grants feature only if the user sets the 'feature_persistent'
> > > parameter of the driver and the backend advertised its support of the
> > > feature.
> > > 
> > > Hence blkback and blkfront will never advertise their support of the
> > > feature but wait until the other advertises the support, even though
> > > users set the 'feature_persistent' parameters of the drivers.  As a
> > > result, the persistent grants feature is disabled always regardless of
> > > the 'feature_persistent' values[1].
> > > 
> > > The problem comes from the misuse of the semantic of the advertisement
> > > of the feature.  The advertisement of the feature should means only
> > > availability of the feature not the decision for using the feature.
> > > However, current behavior is working in the wrong way.
> > > 
> > > This commit fixes the issue by making the blkfront advertises its
> > > support of the feature as user requested via 'feature_persistent'
> > > parameter regardless of the otherend's support of the feature.
> > > 
> > > [1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/
> > > 
> > > Fixes: 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter when connect")
> > > Cc: <stable@vger.kernel.org> # 5.10.x
> > > Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> > > Suggested-by: Juergen Gross <jgross@suse.com>
> > > Signed-off-by: SeongJae Park <sj@kernel.org>
> > > ---
> > >  drivers/block/xen-blkfront.c | 8 ++++++--
> > >  1 file changed, 6 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> > > index 8e56e69fb4c4..dfae08115450 100644
> > > --- a/drivers/block/xen-blkfront.c
> > > +++ b/drivers/block/xen-blkfront.c
> > > @@ -213,6 +213,9 @@ struct blkfront_info
> > >         unsigned int feature_fua:1;
> > >         unsigned int feature_discard:1;
> > >         unsigned int feature_secdiscard:1;
> > > +       /* Connect-time cached feature_persistent parameter */
> > > +       unsigned int feature_persistent_parm:1;
> > > +       /* Persistent grants feature negotiation result */
> > >         unsigned int feature_persistent:1;
> > >         unsigned int bounce:1;
> > >         unsigned int discard_granularity;
> > > @@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
> > >                 goto abort_transaction;
> > >         }
> > >         err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> > > -                       info->feature_persistent);
> > > +                       info->feature_persistent_parm);
> > >         if (err)
> > >                 dev_warn(&dev->dev,
> > >                          "writing persistent grants feature to xenbus");
> > > @@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
> > >         if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
> > >                 blkfront_setup_discard(info);
> > > 
> > > -       if (feature_persistent)
> > > +       info->feature_persistent_parm = feature_persistent;
> > 
> > I think setting this here is too late because "feature-persistent" was already
> > written to xenstore via talk_to_blkback but with default 0. So during the
> > connect blkback will not see that the guest supports the feature and falls back
> > to no persistent grants.
> > 
> > Tested only this patch with some hacky dom0 kernel that doesn't have the patch
> > from your series yet. Will do more testing next week.
> 
> Appreciate for your test!  And you're right, this patch is not fixing the issue
> completely.  That is, commit 402c43ea6b34 ("xen-blkfront: Apply
> 'feature_persistent' parameter when connect") introduced two bugs.  One is the
> misuse of the semantic of the advertisement.  It's fixed by this patch.  The
> second bug, which you found here, is caching the parameter in a wrong place.
> 
> In detail, blkfront does the advertisement before connect (for init and resume)
> and then negotiation after connected.  And the blkback does the negotiation
> first, and then the advertisement during the establishing the connection.
> Hence, blkback should cache the parameter just before the negotiation logic
> while blkfront should do that just before the advertisement logic.
> 
> The blkback behavior change commit (e94c6101e151) did the work in the right
> place, but the blkfront behavior change commit didn't.
> 
> So, I guess below change would fix the issue entirely when applied together
> with this patch.  Any opinion, please?
> 
> 
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index dfae08115450..7d3bde271e69 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -1850,6 +1850,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
>                 message = "writing protocol";
>                 goto abort_transaction;
>         }
> +       info->feature_persistent_parm = feature_persistent;
>         err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
>                         info->feature_persistent_parm);
>         if (err)
> @@ -2284,7 +2285,6 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
>         if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
>                 blkfront_setup_discard(info);
> 
> -       info->feature_persistent_parm = feature_persistent;
>         if (info->feature_persistent_parm)
>                 info->feature_persistent =
>                         !!xenbus_read_unsigned(info->xbdev->otherend,

FWIW, 'feature_persistent' variable definition should be moved to above of
'talk_to_blkback()'.  Otherwise, build would fail.


Thanks,
SJ

> 
> 
> Thanks,
> SJ
> 
> 
> > 
> > > +       if (info->feature_persistent_parm)
> > >                 info->feature_persistent =
> > >                         !!xenbus_read_unsigned(info->xbdev->otherend,
> > >                                                "feature-persistent", 0);
> > > --
> > > 2.25.1
> > > 
> > 


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 01:31:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 01:31:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394080.633362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRkfC-00025n-7J; Sat, 27 Aug 2022 01:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394080.633362; Sat, 27 Aug 2022 01:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRkfC-00025g-3o; Sat, 27 Aug 2022 01:31:06 +0000
Received: by outflank-mailman (input) for mailman id 394080;
 Sat, 27 Aug 2022 01:31:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRkfB-00025W-46; Sat, 27 Aug 2022 01:31:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRkfB-0005Y0-1d; Sat, 27 Aug 2022 01:31:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRkfA-0006sI-7Z; Sat, 27 Aug 2022 01:31:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRkfA-00044K-6v; Sat, 27 Aug 2022 01:31:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Q7tjW/0BPYDnPyIj86ceXEDmUQKjkWIGuECrmtpn0BE=; b=2yDj9MPSFRxkqW0hKb2UZ5j7Hy
	x08y1cPL6qFUT3qMRvsTvgrjhc/6fcw8vEMrtbjizxWfmUrqm8bNy4HD29cq3gRN47GW9W+5ve2zg
	k/b9bG0uprR/hPEJ68OYeyR/oIBVZK1JazyWumgR8ticmk2EiyfFxANZmQMBoUMJh82k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172802-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172802: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 01:31:04 +0000

flight 172802 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172802/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   22 days
Failing since        172151  2022-08-05 02:40:28 Z   21 days  178 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    1 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 02:50:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 02:50:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394088.633374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRltp-0001mV-10; Sat, 27 Aug 2022 02:50:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394088.633374; Sat, 27 Aug 2022 02:50:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRlto-0001mO-Ts; Sat, 27 Aug 2022 02:50:16 +0000
Received: by outflank-mailman (input) for mailman id 394088;
 Sat, 27 Aug 2022 02:50:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRltn-0001mE-M4; Sat, 27 Aug 2022 02:50:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRltn-0007Rl-JO; Sat, 27 Aug 2022 02:50:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRltn-00032g-2H; Sat, 27 Aug 2022 02:50:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRltn-0006lR-1W; Sat, 27 Aug 2022 02:50:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uJC96Fk3DS9T0jMF3qQ8UTJSpTBQ7xl2Ofhexc+H26Q=; b=PONhwo9BB98IhWR27AuNmygLwx
	v10JoVQiK8xBOkmGD3iy0XxxYzErQrHpPnK/4Rkb5Ie4taORFcE1CHUaW7AKY0DEOUuIE9BMtNV7W
	UPkmPwVBhwBXUuy1zBix6DCv4GnysEIuIY38+UzXUdVA0f0gh2cE0HIannnZVSSRo93Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172796-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172796: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4c612826bec1441214816827979b62f84a097e91
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 02:50:15 +0000

flight 172796 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172796/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 20 guest-localmigrate/x10 fail in 172783 pass in 172796
 test-amd64-amd64-xl-qemuu-win7-amd64 18 guest-localmigrate/x10 fail pass in 172783

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 172783 like 172133
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                4c612826bec1441214816827979b62f84a097e91
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   22 days
Failing since        172152  2022-08-05 04:01:26 Z   21 days   50 attempts
Testing same since   172783  2022-08-26 02:20:14 Z    1 days    2 attempts

------------------------------------------------------------
1543 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 159574 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 04:16:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 04:16:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394096.633384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRnF6-0001Ff-AN; Sat, 27 Aug 2022 04:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394096.633384; Sat, 27 Aug 2022 04:16:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRnF6-0001FY-7k; Sat, 27 Aug 2022 04:16:20 +0000
Received: by outflank-mailman (input) for mailman id 394096;
 Sat, 27 Aug 2022 04:16:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRnF5-0001FO-Bx; Sat, 27 Aug 2022 04:16:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRnF5-0000ec-AE; Sat, 27 Aug 2022 04:16:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRnF4-0008PF-Sq; Sat, 27 Aug 2022 04:16:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRnF4-0005lF-SO; Sat, 27 Aug 2022 04:16:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+ApSxYj+0jR6/3Suxfjp2wElcvUbB419pPbZR1bMTWY=; b=Bb+48albHInt2UZ3eOFIKD7mLl
	/usvU5g4W8PDtRCk3uRsRe320AW6jfFv0tGvqZDqHTANrxdnykWCJEyq3h8QOkxzpehdVH12Coxrn
	RADUvM+TWYoRdyiTZj9Ak4STRZq4rw+1yX3sxiII9IJNjMKURd81LJbAinSkLokN26oU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172803-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172803: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 04:16:18 +0000

flight 172803 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172803/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   22 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  179 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    1 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 05:09:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 05:09:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394104.633396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRo4M-0006nc-6h; Sat, 27 Aug 2022 05:09:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394104.633396; Sat, 27 Aug 2022 05:09:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRo4M-0006nV-3s; Sat, 27 Aug 2022 05:09:18 +0000
Received: by outflank-mailman (input) for mailman id 394104;
 Sat, 27 Aug 2022 05:09:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRo4L-0006nL-0a; Sat, 27 Aug 2022 05:09:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRo4K-0001yW-TR; Sat, 27 Aug 2022 05:09:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRo4K-0003Wr-Gm; Sat, 27 Aug 2022 05:09:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRo4K-0004O9-G5; Sat, 27 Aug 2022 05:09:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=p50V1toF5eqj7Edsjm+1yRT8gEVu4/x167mLzKvmlGg=; b=6kR1F/lWGla1RgTHrRYAsum1lS
	78e/vBL+le56XNpbTnx9y3SQehBhwGaVmBBs1S5jwKx1MQJrgFrJVbsGzJmG0Komz9rgUGRZW0mYb
	px/tob1cuwuQ3xPSrvrPMmCABupItRbvRwZi16MwnswUHTIwlYOEJVSdJUwAeSX+npqc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172798-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172798: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-credit1:xen-boot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 05:09:16 +0000

flight 172798 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172798/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine-bios  6 xen-install      fail in 172787 pass in 172798
 test-armhf-armhf-xl 18 guest-start/debian.repeat fail in 172787 pass in 172798
 test-arm64-arm64-xl-credit1   8 xen-boot                   fail pass in 172787

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172787 blocked in 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172787 like 172128
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 172787 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 172787 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172787 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172787 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   23 days
Failing since        172384  2022-08-11 11:13:58 Z   15 days   32 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    1 days    3 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 07:22:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 07:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394113.633407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRq8Z-0003F6-RJ; Sat, 27 Aug 2022 07:21:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394113.633407; Sat, 27 Aug 2022 07:21:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRq8Z-0003Ez-Ob; Sat, 27 Aug 2022 07:21:47 +0000
Received: by outflank-mailman (input) for mailman id 394113;
 Sat, 27 Aug 2022 07:21:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRq8Y-0003Ep-Es; Sat, 27 Aug 2022 07:21:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRq8Y-0004Ra-Cs; Sat, 27 Aug 2022 07:21:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRq8X-00043G-Tm; Sat, 27 Aug 2022 07:21:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRq8X-0007Jq-TR; Sat, 27 Aug 2022 07:21:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XFp9jcs/q3f5l+m7ghYLF4o0NUOWYtLB0jzJtHkQQ3E=; b=gxvE/Y6tjb0k+gsQOAurGeyCD4
	ovqs1bEha2LtObuMwcZcf5mn1iu+xaC0iD4woqb/OHWjziDpPIrLag5QoUi8xdwv5s5w5Z9rtPs5R
	xYCZKxT1hpMZoQknxoU6s6ljlCSjPXedhQrUTc2QnGU0pBGZKAby0ZkKTSnUvu8eVW1o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172806-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172806: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 07:21:45 +0000

flight 172806 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172806/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   23 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  180 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    1 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 08:31:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 08:31:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394125.633417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRrDM-0002AY-9G; Sat, 27 Aug 2022 08:30:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394125.633417; Sat, 27 Aug 2022 08:30:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRrDM-0002AR-6V; Sat, 27 Aug 2022 08:30:48 +0000
Received: by outflank-mailman (input) for mailman id 394125;
 Sat, 27 Aug 2022 08:30:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GKzt=Y7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oRrDL-0002AL-B9
 for xen-devel@lists.xenproject.org; Sat, 27 Aug 2022 08:30:47 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b768b07-25e2-11ed-bd2e-47488cf2e6aa;
 Sat, 27 Aug 2022 10:30:45 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id BA1E61FA82;
 Sat, 27 Aug 2022 08:30:44 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8F2FF1341F;
 Sat, 27 Aug 2022 08:30:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id TEqAITTWCWN+CgAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 27 Aug 2022 08:30:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b768b07-25e2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661589044; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=QFtJgi7SuZq8TP8XBsbv6JKb1wtY2N+Odb/y/cSybqg=;
	b=mUlKFSVIs4zmpbiR8nLXQSrIJVYUfgdHXWLxI8YOILZ3FHacm95z4rtxzMBf3+4M/r8nc+
	JWKkkTBls+8xHF1fOC5IdJUKlurBA+jvxvQ8WEkxXMwuT9koK3zPOFAF8GqdBFJNB42rrI
	IZLpiUZdd9EcK40/RUZgHn2zDTX2Mq0=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.0-rc3
Date: Sat, 27 Aug 2022 10:30:44 +0200
Message-Id: <20220827083044.5631-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc3-tag

xen: branch for v6.0-rc3

It contains the following patches:

- 2 minor cleanups

- a fix of the xen/privcmd driver avoiding a possible NULL dereference
  in an error case


Thanks.

Juergen

 arch/x86/configs/xen.config                |  1 -
 drivers/xen/privcmd.c                      | 21 +++++++++++----------
 drivers/xen/xen-scsiback.c                 |  2 +-
 drivers/xen/xenbus/xenbus_probe_frontend.c |  2 +-
 4 files changed, 13 insertions(+), 13 deletions(-)

Juergen Gross (1):
      xen/privcmd: fix error exit of privcmd_ioctl_dm_op()

Lukas Bulwahn (1):
      xen: x86: remove setting the obsolete config XEN_MAX_DOMAIN_MEMORY

Wolfram Sang (1):
      xen: move from strlcpy with unused retval to strscpy


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 08:53:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 08:53:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394132.633429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRrZS-0004Zy-3v; Sat, 27 Aug 2022 08:53:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394132.633429; Sat, 27 Aug 2022 08:53:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRrZS-0004Zr-0h; Sat, 27 Aug 2022 08:53:38 +0000
Received: by outflank-mailman (input) for mailman id 394132;
 Sat, 27 Aug 2022 08:53:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRrZQ-0004Zh-Pr; Sat, 27 Aug 2022 08:53:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRrZQ-0006be-JF; Sat, 27 Aug 2022 08:53:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRrZQ-0001L3-7t; Sat, 27 Aug 2022 08:53:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRrZQ-0001kA-7P; Sat, 27 Aug 2022 08:53:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t8Gc8IfCu/6+ANMr9ZBvojYY8OzggABe30aup+ySo5c=; b=WiAlJwpuTY7eQI7ZmR0KZKbpen
	0tTLmQ6/vlktcRtpTFrxqdRCB9LtDNmE2wkiVzFxaYggDwSuzF+H245wougXhT2LE1zjn7GjNZBMV
	hq7rXmzLe6ehq22iRIIF/am3m1ijaV3rlzGwZ3azheHtEWlF0GWMKSUSB0+Ir0ZcpOus=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172799-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172799: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 08:53:36 +0000

flight 172799 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172799/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   23 days
Failing since        172148  2022-08-04 21:39:38 Z   22 days   51 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 09:49:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 09:49:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394140.633440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRsR8-0001Fu-8m; Sat, 27 Aug 2022 09:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394140.633440; Sat, 27 Aug 2022 09:49:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRsR8-0001Fn-5P; Sat, 27 Aug 2022 09:49:06 +0000
Received: by outflank-mailman (input) for mailman id 394140;
 Sat, 27 Aug 2022 09:49:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRsR7-0001Fd-12; Sat, 27 Aug 2022 09:49:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRsR6-0007bK-QN; Sat, 27 Aug 2022 09:49:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRsR6-0004fL-Az; Sat, 27 Aug 2022 09:49:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRsR6-00041M-AU; Sat, 27 Aug 2022 09:49:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KVNELUnEjeZ0gc179ma9hMT2Qysy2+9LBUTigKEDiFw=; b=U3Nc/rHxQx/g/DNPSwtPrun7h5
	hd7UelVsh/5Ykj44qn0UhswJeRLLVhVYK1p6PA0WD1rwKj1yqV8UnKAR5zriGZG/ipGNLKLRVE1FI
	nhgKtVDlrm2d1C5tG4wY8NnnuerB4CyRG8vh6nJho99JJWeUQjLE4IqZsbL8cxUVWZVE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172809-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172809: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 09:49:04 +0000

flight 172809 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172809/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   23 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  181 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    1 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 11:05:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 11:05:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394150.633455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRtdF-0000g2-1s; Sat, 27 Aug 2022 11:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394150.633455; Sat, 27 Aug 2022 11:05:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRtdE-0000fv-SO; Sat, 27 Aug 2022 11:05:40 +0000
Received: by outflank-mailman (input) for mailman id 394150;
 Sat, 27 Aug 2022 11:05:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRtdD-0000fl-Tr; Sat, 27 Aug 2022 11:05:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRtdD-0000cM-Jk; Sat, 27 Aug 2022 11:05:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRtdD-0001TD-4f; Sat, 27 Aug 2022 11:05:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRtdD-0008QL-4B; Sat, 27 Aug 2022 11:05:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4Za9aNsS/p3aqs5aYr5O7w69LTOzbgUVN8nKn55QsaM=; b=2FxSe/FBDV/fQUzhr0RXJ/wesM
	f1QWmbXqkwpAQF9EGkNEBNwf4MY6kzG5QD69opQB/xaXD8ahArUyyhwK6pgb9OMkKURU1N8vgVWko
	/Hf1a2761yIUoJSMtHdlGUSjo1ivY6Ct5HFR5k1pazZmQgsSRpaM0dDUFA7ixXFNBpCA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172807-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172807: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=f3779e2bf835e5365cffde13dd73b2062980866d
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 11:05:39 +0000

flight 172807 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172807/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              f3779e2bf835e5365cffde13dd73b2062980866d
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  778 days
Failing since        151818  2020-07-11 04:18:52 Z  777 days  759 attempts
Testing same since   172807  2022-08-27 04:19:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Carlos Bilbao <carlos.bilbao@amd.com>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121163 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 13:13:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 13:13:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394161.633465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRvca-0004c0-Ci; Sat, 27 Aug 2022 13:13:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394161.633465; Sat, 27 Aug 2022 13:13:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRvca-0004bt-9w; Sat, 27 Aug 2022 13:13:08 +0000
Received: by outflank-mailman (input) for mailman id 394161;
 Sat, 27 Aug 2022 13:13:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRvcY-0004bj-R0; Sat, 27 Aug 2022 13:13:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRvcY-0002vf-JV; Sat, 27 Aug 2022 13:13:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRvcY-0000WO-5a; Sat, 27 Aug 2022 13:13:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRvcY-0000YB-57; Sat, 27 Aug 2022 13:13:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wOCgzEtr4Iq8pG+1oHw4pHzaF0tbUMgrdmf3cUbeD2g=; b=oPRYyQdHCzvI/EiKDs5MxYesXz
	OSWt4BwKM96+5Dh6NuC6SYDPOxUxQ7mHRxCMRbz0Rhlo3U2SmKzbdZ1Vt+RYuetlxkgDAv1wemGn8
	UcycRKlOSpLjaSx0ouq04kLSMO4EtRr4TwW0nDh0X/DdzakL/I9gafLwnIkVoxChOLuk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172804-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172804: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
X-Osstest-Versions-That:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 13:13:06 +0000

flight 172804 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172804/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 172795 pass in 172804
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail pass in 172795

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172795
 build-i386-libvirt            6 libvirt-build                fail  like 172795
 build-arm64-libvirt           6 libvirt-build                fail  like 172795
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172795
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172795
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172795
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172795
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172795
 build-armhf-libvirt           6 libvirt-build                fail  like 172795
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172795
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172795
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172795
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172795
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f
baseline version:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f

Last test of basis   172804  2022-08-27 01:52:08 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Aug 27 13:13:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 13:13:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394168.633476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRvdM-00056t-Mi; Sat, 27 Aug 2022 13:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394168.633476; Sat, 27 Aug 2022 13:13:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRvdM-00056m-JI; Sat, 27 Aug 2022 13:13:56 +0000
Received: by outflank-mailman (input) for mailman id 394168;
 Sat, 27 Aug 2022 13:13:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRvdL-00056Y-I2; Sat, 27 Aug 2022 13:13:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRvdL-0002w9-HB; Sat, 27 Aug 2022 13:13:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRvdK-0000an-Se; Sat, 27 Aug 2022 13:13:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRvdK-0000tW-SD; Sat, 27 Aug 2022 13:13:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tCDSHP+U0Z1JCJg/PlbM6vOO+JUUMpiagAfuYhgAFhM=; b=I6sbbz6gA1bGlKD2Tg4BMAgTdp
	5N5cJ/LpFeW6PqLfzv4oKXUhK702pVJSiZWwJuF5NkoWijkT+Fjp/opid5gj6iUelULhBbb8iaTt8
	Cbbfmk3lKwD6VR+7oyadt3iG8P8HnFzc6ja/KiSoRmo6CS9wa3O+HE+Yh5LdXlcIAlyY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172811-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172811: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 13:13:54 +0000

flight 172811 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172811/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   23 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  182 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    1 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 15:22:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 15:22:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394177.633487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRxd9-0000cV-1P; Sat, 27 Aug 2022 15:21:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394177.633487; Sat, 27 Aug 2022 15:21:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRxd8-0000cO-Ub; Sat, 27 Aug 2022 15:21:50 +0000
Received: by outflank-mailman (input) for mailman id 394177;
 Sat, 27 Aug 2022 15:21:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRxd6-0000cE-Rl; Sat, 27 Aug 2022 15:21:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRxd6-0005NB-O6; Sat, 27 Aug 2022 15:21:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRxd6-0007bM-9D; Sat, 27 Aug 2022 15:21:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRxd6-0002Vh-8n; Sat, 27 Aug 2022 15:21:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tPY8oR4QarWrx+rcxZEJbOQqTbxc+rxiE4wUOodCmd0=; b=p+1sJCq9xY+M3JJQ+2RYCIAcW3
	CANrHpZI8kvSprfG7l8nYLVZdIVYEksdltgtQiahNcw6VqwPe6m29emGPPzHI43foAl8MVW0jgRJU
	TB3WhJ1FMjP6PPqK0DzvphfdqpMwhRJV+yGRrPdaCD8MCwkKFqv89L+Eaxv84jLF5rYw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172805-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172805: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e022620b5d056e822e42eb9bc0f24fcb97389d86
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 15:21:48 +0000

flight 172805 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172805/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                e022620b5d056e822e42eb9bc0f24fcb97389d86
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   23 days
Failing since        172152  2022-08-05 04:01:26 Z   22 days   51 attempts
Testing same since   172805  2022-08-27 02:54:53 Z    0 days    1 attempts

------------------------------------------------------------
1560 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 161594 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 15:22:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 15:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394185.633498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRxds-0001Ad-F4; Sat, 27 Aug 2022 15:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394185.633498; Sat, 27 Aug 2022 15:22:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRxds-0001AW-Bv; Sat, 27 Aug 2022 15:22:36 +0000
Received: by outflank-mailman (input) for mailman id 394185;
 Sat, 27 Aug 2022 15:22:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRxdr-0001AM-5E; Sat, 27 Aug 2022 15:22:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRxdr-0005Nk-4M; Sat, 27 Aug 2022 15:22:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRxdq-0007ep-Qd; Sat, 27 Aug 2022 15:22:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRxdq-0003AX-QB; Sat, 27 Aug 2022 15:22:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2ddNzsosTa+kglZc0lM1PvSQ2oCj1N/0y1411bYDUz8=; b=p93+Tf0GPEx9z+mEyYTWuhDkhw
	6rHcFm/xN6pplshGwpFELIzDxD01aMoRAf1SuI2GUMY1ohqbbxPG1dUADYfiXRVm+H0piQ5atlyuR
	ilU1MbHCPxbnSFxTXYIYZTbuyN+4dg4th+pj6jp05e5McNmqekuwSGyVxKxnZvKQaZDM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172813-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172813: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 15:22:34 +0000

flight 172813 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172813/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   23 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  183 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    2 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 17:33:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 17:33:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394194.633509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRzfs-0005al-J7; Sat, 27 Aug 2022 17:32:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394194.633509; Sat, 27 Aug 2022 17:32:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oRzfs-0005ae-GI; Sat, 27 Aug 2022 17:32:48 +0000
Received: by outflank-mailman (input) for mailman id 394194;
 Sat, 27 Aug 2022 17:32:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRzfr-0005aU-4B; Sat, 27 Aug 2022 17:32:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRzfr-00087n-0o; Sat, 27 Aug 2022 17:32:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oRzfq-0005La-JD; Sat, 27 Aug 2022 17:32:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oRzfq-0006xE-Ii; Sat, 27 Aug 2022 17:32:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YDFyf3+3Pgskw9bsKS0FWeePb5PUBzBKJ2XGpgHO3U8=; b=KFurh2mkEohDJsg4qgNi6MFLY7
	e4PxgIN9Vng6J7llYyQ0kSFanQsxeHAXEFAo+OxaOj9WUYOwqnNIKxLQlnIYkwQEPQFRcpTNNnr/8
	Sl5AvpKiJHQeeWCAHatMq+fYf3dfN/zuwktDVk65a1rV1JnZrpSy4vPFLUe+uc5ZV6nQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172808-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172808: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-arm64-arm64-xl-credit1:xen-boot:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 17:32:46 +0000

flight 172808 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172808/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit1   8 xen-boot         fail in 172798 pass in 172808
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 172798

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 172798 like 172108
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172798 like 172108
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 172798 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 172798 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172798 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172798 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 172798 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 172798 never pass
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   23 days
Failing since        172384  2022-08-11 11:13:58 Z   16 days   33 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    1 days    4 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 18:25:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 18:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394204.633519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS0V0-0002Lh-Di; Sat, 27 Aug 2022 18:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394204.633519; Sat, 27 Aug 2022 18:25:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS0V0-0002La-B6; Sat, 27 Aug 2022 18:25:38 +0000
Received: by outflank-mailman (input) for mailman id 394204;
 Sat, 27 Aug 2022 18:25:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS0Uy-0002LQ-S9; Sat, 27 Aug 2022 18:25:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS0Uy-0000h4-QP; Sat, 27 Aug 2022 18:25:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS0Uy-0007nU-BT; Sat, 27 Aug 2022 18:25:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oS0Uy-0006Oy-B2; Sat, 27 Aug 2022 18:25:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=B8zI5qD2P5sv/otBaHnT6JwD/I8ntpk5vfIMJsk7HDk=; b=U5AWWyan6IfsGaWdqhT2A3JzdO
	3m9E2yz1RMEbqJ5M9T/+/kdRPIoO1UtmUVeWQjO/HZAWw0zfAp1sryd991jKaYZKP49pLGEM6dLvV
	2DHSrpjBJAH73iJa2HT0f9AqoJ6OQCgFISsE65mVFI4tUbyiWSx9WKR6Hm2Q0QRCme0s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172815-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172815: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 18:25:36 +0000

flight 172815 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172815/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   23 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  184 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    2 days   17 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 20:08:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 20:08:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394214.633531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS26X-0003hN-T2; Sat, 27 Aug 2022 20:08:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394214.633531; Sat, 27 Aug 2022 20:08:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS26X-0003hG-Po; Sat, 27 Aug 2022 20:08:29 +0000
Received: by outflank-mailman (input) for mailman id 394214;
 Sat, 27 Aug 2022 20:08:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS26W-0003h6-Vl; Sat, 27 Aug 2022 20:08:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS26W-0002YY-SQ; Sat, 27 Aug 2022 20:08:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS26W-0005Ty-Bp; Sat, 27 Aug 2022 20:08:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oS26W-0003Ut-8t; Sat, 27 Aug 2022 20:08:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=agWVRMLAaja0pwOXHNkyyjieWUkobyDDo6BBoqc0EJc=; b=naml/Tub2ZxooAk6NboA+RXixy
	5zbsGlsyX4bKVofuLjbJimmVxQ5Ob+PIRvjzcKtCkkotOxKgR0xo0urYNDqOivsfMq0nnUNaKkWGJ
	qVHEP8WNTbXxVwL0hu3tA5H/c+RnG4O59znjd8e0yGPkyP8r7DcFVGKCft3zG2fJhcjo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172810-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172810: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 20:08:28 +0000

flight 172810 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172810/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 172799

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   24 days
Failing since        172148  2022-08-04 21:39:38 Z   22 days   52 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 21:07:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 21:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394222.633541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS31h-0001DD-9P; Sat, 27 Aug 2022 21:07:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394222.633541; Sat, 27 Aug 2022 21:07:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS31h-0001D6-6X; Sat, 27 Aug 2022 21:07:33 +0000
Received: by outflank-mailman (input) for mailman id 394222;
 Sat, 27 Aug 2022 21:07:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS31f-0001Cw-Q6; Sat, 27 Aug 2022 21:07:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS31f-0003az-LT; Sat, 27 Aug 2022 21:07:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS31f-0000vx-7I; Sat, 27 Aug 2022 21:07:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oS31f-0004yb-6o; Sat, 27 Aug 2022 21:07:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=X/k/CFwcYmpXF2RukuVnMchihQIO7VuPsp4wwKlw3ds=; b=6fu7qA1SWb/apb64dh3fLDN3Io
	cSL7iVIwkuxAwOrjkVVzwBHuXrC7GFT5QId3NsjvVDSd4fZwCmmA2DnFpe5J53Il5zFfpVkalWrm2
	u7by/1ZjU8wY31S/G39JPBAk9v8xeFk5PuIN4MFoDXxaBYnqHoGMMFDrSuQ6lSpUj33Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172817-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172817: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 21:07:31 +0000

flight 172817 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172817/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   23 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  185 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    2 days   18 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 23:07:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 23:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394231.633556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS4tk-00049m-Ny; Sat, 27 Aug 2022 23:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394231.633556; Sat, 27 Aug 2022 23:07:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS4tk-00049f-Ka; Sat, 27 Aug 2022 23:07:28 +0000
Received: by outflank-mailman (input) for mailman id 394231;
 Sat, 27 Aug 2022 23:07:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=chTz=Y7=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1oS4tj-00049Y-2f
 for xen-devel@lists.xenproject.org; Sat, 27 Aug 2022 23:07:27 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 035d47b5-265d-11ed-bd2e-47488cf2e6aa;
 Sun, 28 Aug 2022 01:07:25 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 52F05B80A3B;
 Sat, 27 Aug 2022 23:07:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 18246C433D6;
 Sat, 27 Aug 2022 23:07:23 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 F3747C04E59; Sat, 27 Aug 2022 23:07:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 035d47b5-265d-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661641643;
	bh=mvwtv0FEWGf6ATagIKJswwAtwI9gWccoZkOb0RV3LV0=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=LKvR/eqF8nhyiLiomaz+ylTlEvd8FnehBaYFzmhgGE326UFFEv0rb1rYiYYPQ5Ab1
	 Kj3L5+sA6yNiKTo1vsCNAY5CrjAJiVq5NLpn5anEhuxBcFvZboT1+Q8lY3DJVmzbGH
	 AmQ2OLW8fJs0z2Ey9FTS4X51ckrDqbLTvNODiw1HmeMtUdMZ79tYKehZPO5QVjvcn0
	 GsfT3LuJA3wbdARNXQto8qj6Ao5NeB0cgPLxh/Yuq8Oq15+qDnJcHELgHCVBB8UeYa
	 +vg53mqNGjtm9rAQ4blNR3lcom2MxKf82V96qREggaM6ac+VSIPLhDLCVie82Ucla3
	 lsFh+ooCfl3Ww==
Subject: Re: [GIT PULL] xen: branch for v6.0-rc3
From: pr-tracker-bot@kernel.org
In-Reply-To: <20220827083044.5631-1-jgross@suse.com>
References: <20220827083044.5631-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20220827083044.5631-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc3-tag
X-PR-Tracked-Commit-Id: c5deb27895e017a0267de0a20d140ad5fcc55a54
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 05519f2480a3e71053b892d4ea864e641949a77f
Message-Id: <166164164299.8591.10674223294345540484.pr-tracker-bot@kernel.org>
Date: Sat, 27 Aug 2022 23:07:22 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Sat, 27 Aug 2022 10:30:44 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.0-rc3-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/05519f2480a3e71053b892d4ea864e641949a77f

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Sat Aug 27 23:54:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Aug 2022 23:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394237.633567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS5d8-0000kN-5d; Sat, 27 Aug 2022 23:54:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394237.633567; Sat, 27 Aug 2022 23:54:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS5d8-0000kG-1Z; Sat, 27 Aug 2022 23:54:22 +0000
Received: by outflank-mailman (input) for mailman id 394237;
 Sat, 27 Aug 2022 23:54:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS5d6-0000k6-6x; Sat, 27 Aug 2022 23:54:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS5d6-0006RC-5L; Sat, 27 Aug 2022 23:54:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS5d5-0008K8-R2; Sat, 27 Aug 2022 23:54:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oS5d5-0007h4-QU; Sat, 27 Aug 2022 23:54:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=w/kHD29Z8tnHzePbKy2efPFKO037VQ+cg6IOxW/ivJc=; b=sOze6cdNgkvW+fOlssUzBTwUpl
	KFKlAXza2t5CVBnMrWjKKkhBzKkEYt77NqGXWrjU6cyYBTXEJ//zwvHx4DyaEAoNRDd4ap/UjMQDK
	Dd7nCJlHXiYWqh6v8uuAMkMSfZBGIS89ZSxnF7MaFc4onRpq3sCbsPtLuoJjsWHgimmA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172819-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172819: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Aug 2022 23:54:19 +0000

flight 172819 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172819/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   23 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  186 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    2 days   19 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 00:35:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 00:35:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394246.633577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS6H0-0005ZS-BI; Sun, 28 Aug 2022 00:35:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394246.633577; Sun, 28 Aug 2022 00:35:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS6H0-0005ZL-8n; Sun, 28 Aug 2022 00:35:34 +0000
Received: by outflank-mailman (input) for mailman id 394246;
 Sun, 28 Aug 2022 00:35:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS6Gy-0005ZB-Tf; Sun, 28 Aug 2022 00:35:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS6Gy-0007lx-Pd; Sun, 28 Aug 2022 00:35:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS6Gy-0003Iz-4I; Sun, 28 Aug 2022 00:35:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oS6Gy-0004Bw-3g; Sun, 28 Aug 2022 00:35:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fuNMMG8xaQawNPYgT1n6P3lelbuqMX4uXmeDt+oDtCA=; b=Lx+IlVo70vzewDwlFelB/B4E8I
	Xkc5iHw5PteoZV1i7mF/j0zJ/130PolF9T5dY8oR+ONuNm4TbC/RznzSY58okw2dpa43CuQqMFCH4
	FHDUTpda2JyMK3f+YdBYiyWjxsN5Uin1XlkH6LkipriRAKuKJcwKkJ3jDo1NbBzJfVQ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172814-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172814: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e022620b5d056e822e42eb9bc0f24fcb97389d86
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 00:35:32 +0000

flight 172814 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172814/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 172805

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                e022620b5d056e822e42eb9bc0f24fcb97389d86
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   23 days
Failing since        172152  2022-08-05 04:01:26 Z   22 days   52 attempts
Testing same since   172805  2022-08-27 02:54:53 Z    0 days    2 attempts

------------------------------------------------------------
1560 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 161594 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 02:34:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 02:34:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394254.633589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS87v-00076T-UC; Sun, 28 Aug 2022 02:34:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394254.633589; Sun, 28 Aug 2022 02:34:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS87v-00076L-Ok; Sun, 28 Aug 2022 02:34:19 +0000
Received: by outflank-mailman (input) for mailman id 394254;
 Sun, 28 Aug 2022 02:34:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS87u-00076B-Of; Sun, 28 Aug 2022 02:34:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS87u-00005g-Ii; Sun, 28 Aug 2022 02:34:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS87u-0001vj-5v; Sun, 28 Aug 2022 02:34:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oS87u-0004We-54; Sun, 28 Aug 2022 02:34:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7Fo0MVaMmv2urpy5T29TXyeSAAyvwvFODCIAB3P59gQ=; b=T2wmyf8nic31WZrjrxwXBxMUYw
	4L8fcSy45cmtWKICZXwVqYlaoW8GrZYzNiFBuGDw8rYM+fWSo2h0oHW0IS/3iK/Ph3GLnD116Ubew
	7hm0ZNxq9nGObL2aJ01T3tTLySJBLpxwzmnuUVwdHomTCJcsiR/Bdp3GuhprqJ8ld6o8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172816-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172816: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-pvshim:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 02:34:18 +0000

flight 172816 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172816/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 172808 pass in 172816
 test-amd64-amd64-xl-pvshim   20 guest-localmigrate/x10     fail pass in 172808
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172808

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-vhd      13 guest-start         fail in 172808 like 172108
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172808 like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172808 like 172128
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172808 like 172128
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172808 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172808 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   24 days
Failing since        172384  2022-08-11 11:13:58 Z   16 days   34 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    2 days    5 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 02:39:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 02:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394263.633600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS8Cx-0007oD-Ij; Sun, 28 Aug 2022 02:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394263.633600; Sun, 28 Aug 2022 02:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS8Cx-0007o6-GA; Sun, 28 Aug 2022 02:39:31 +0000
Received: by outflank-mailman (input) for mailman id 394263;
 Sun, 28 Aug 2022 02:39:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS8Cw-0007nw-Ah; Sun, 28 Aug 2022 02:39:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS8Cw-0000Bl-5t; Sun, 28 Aug 2022 02:39:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oS8Cv-000293-F9; Sun, 28 Aug 2022 02:39:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oS8Cv-0005d0-Ek; Sun, 28 Aug 2022 02:39:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aWxZDMT38qXdpulbhNZXft9Vp5jjM2WppKA3i46dbBU=; b=cpnhnhqKCTgsBUCxNvJhGaXDYc
	rXFeYEzpKOS4SR/rijUE160CB6zuPBRQ9cuYJZxEF1BNolyXTZcxnJHhD34iUtDgGZNFFZOn8eEuI
	W4TNQN4BKhVSb5dFvhzP8b/V7LLVdWfwwJYjIl3iBhryBomprVMtnF8VOtpsap1Nq59c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172821-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172821: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=0ede7cad73dda686afa2ea0eb2a787f48ec666aa
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 02:39:29 +0000

flight 172821 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172821/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 0ede7cad73dda686afa2ea0eb2a787f48ec666aa
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   23 days
Failing since        172151  2022-08-05 02:40:28 Z   22 days  187 attempts
Testing same since   172773  2022-08-25 13:41:54 Z    2 days   20 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 962 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 02:52:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 02:52:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394271.633611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS8PB-0001dt-Ny; Sun, 28 Aug 2022 02:52:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394271.633611; Sun, 28 Aug 2022 02:52:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oS8PB-0001dm-K8; Sun, 28 Aug 2022 02:52:09 +0000
Received: by outflank-mailman (input) for mailman id 394271;
 Sun, 28 Aug 2022 02:52:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=v2YP=ZA=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oS8PA-0001dg-5h
 for xen-devel@lists.xenproject.org; Sun, 28 Aug 2022 02:52:08 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65c1d989-267c-11ed-bd2e-47488cf2e6aa;
 Sun, 28 Aug 2022 04:52:05 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 020895C00A5;
 Sat, 27 Aug 2022 22:52:04 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Sat, 27 Aug 2022 22:52:04 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 27 Aug 2022 22:52:03 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65c1d989-267c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:message-id:mime-version:reply-to
	:sender:subject:subject:to:to; s=fm1; t=1661655123; x=
	1661741523; bh=G8lfY+HnYPQ+yHzLmohUyXRmKIDZHR6G1hUMBfrHJO4=; b=F
	9sv+8hYma89nPnIBgqE14qajzvG2iT24p/XcACk8xtcIg2kyz263vPY37ewp84Yc
	EU3O9j5UH7Q43aEbQiDQkSwGQ7k3CiQVA7R22g1kvriR5Ssgz9lgPhW/pI8qDDcT
	8xA16j0bcmVweJYl25+VNPH5cdUT4bmFey4N8JBKYToR2Q84HksRhesC9metNF+I
	3m1BkbY7osFWjB+9AHQ0sOIL1B9ie/uS4KUwhn/VJQxng/3LRMAs0bdeYFABybrF
	hNtW9eDyfnsBySSfH0OtBAnwhe5392m4L6Y8jUcmlMeWSTixFnhNAMzxZFryaWGu
	4q3Gq7pidm+03hzUrQmTQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
	1661655123; x=1661741523; bh=G8lfY+HnYPQ+yHzLmohUyXRmKIDZHR6G1hU
	MBfrHJO4=; b=yKesZYmxza4UdYJldlVths0Tj3MhSxCOxDHuaMib7E2ly+U7J3U
	MLF7f3d+mgitXPPyuCQEAd7QGlqptVR9MNQT0dzMEVmaGNfm/zTncLDC3I9ItKTD
	gJZI9LqUd9BvaoWpZiDHhqY+cSoKRr/kNlN21cAHQeaWdMDjwL2BD5g982RDUbwt
	SQ8uiECo4Pn5exJ0cWA+hP++58YTNaS1YUzW7a+HtQmlG78yFIwIVRhHUr1prM0d
	3GAoFC9vETaZtApC2x+U3xgAi7IUSV3AFtAtVtpVh/X4Dt3QwjhmV4sfl0nkuGnm
	V2KGsB1v8gKcelGhlDOGCkmceuU/iY50i3A==
X-ME-Sender: <xms:U9gKY0gZdOl7iv8oI0k0LvXRhgCNLPhkfNT7ZmgkgbIMnJeueFj9HQ>
    <xme:U9gKY9CPe7sXHpnetV76TZ17OrZ3l1V6-P3VvOxkEa9qQS5ELorEYOGJsmQuoHvxl
    KQt4KcdAT3EAzQ>
X-ME-Received: <xmr:U9gKY8Fz8cEPC2K0C1b_PT_3v9raqvF5tBIAZ1WU_4hKj56AyuC9FHnhfQslXYZFRA7NzHBEmhp_>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejkedgieeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhepvdefgeekvdekgfffgeekhfeijedtffek
    hefhleehfeejueetgfelgefgtdevieelnecuvehluhhsthgvrhfuihiivgeptdenucfrrg
    hrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgr
    sgdrtghomh
X-ME-Proxy: <xmx:U9gKY1Qbndr5VGvk6z2sVLY-XkgSAZMWNUqjn4rKPNsjyhWXwb2LHA>
    <xmx:U9gKYxzfJYESviD3mUJaDHuo-goheHNoGBl0BvHx5Uwz1dMx4EiudA>
    <xmx:U9gKYz7DSXoyWMidDzmfAtoMyZDSqOE_4ZgR2nPsEZo5fmKMNVUxbw>
    <xmx:U9gKY0rsPdIXTVuCyYOX5_9fkTLhBUU07YBb7_Vjs72y4op4CSEMhQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Ard Biesheuvel <ardb@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	linux-efi@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2] Add support for ESRT loading under Xen
Date: Sat, 27 Aug 2022 22:51:58 -0400
Message-Id: <20220828025158.1455-1-demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is needed for fwupd to work in Qubes OS.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v1:

- Use a different type (struct xen_efi_mem_info) for memory information
  provided by Xen, as Xen reports it in a different way than the
  standard Linux functions do.

 drivers/firmware/efi/esrt.c | 49 +++++++++++++++++++++++++++----------
 drivers/xen/efi.c           | 32 ++++++++++++++++++++++++++
 include/linux/efi.h         | 18 ++++++++++++++
 3 files changed, 86 insertions(+), 13 deletions(-)

diff --git a/drivers/firmware/efi/esrt.c b/drivers/firmware/efi/esrt.c
index 2a2f52b017e736dd995c69e8aeb5fbd7761732e5..c0fc149a838044cc16bb08a374a0c8ea6b7dcbff 100644
--- a/drivers/firmware/efi/esrt.c
+++ b/drivers/firmware/efi/esrt.c
@@ -243,27 +243,50 @@ void __init efi_esrt_init(void)
 	void *va;
 	struct efi_system_resource_table tmpesrt;
 	size_t size, max, entry_size, entries_size;
-	efi_memory_desc_t md;
-	int rc;
 	phys_addr_t end;
-
-	if (!efi_enabled(EFI_MEMMAP))
-		return;
+	uint32_t type;
 
 	pr_debug("esrt-init: loading.\n");
 	if (!esrt_table_exists())
 		return;
 
-	rc = efi_mem_desc_lookup(efi.esrt, &md);
-	if (rc < 0 ||
-	    (!(md.attribute & EFI_MEMORY_RUNTIME) &&
-	     md.type != EFI_BOOT_SERVICES_DATA &&
-	     md.type != EFI_RUNTIME_SERVICES_DATA)) {
-		pr_warn("ESRT header is not in the memory map.\n");
+	if (efi_enabled(EFI_MEMMAP)) {
+		efi_memory_desc_t md;
+
+		if (efi_mem_desc_lookup(efi.esrt, &md) < 0 ||
+		    (!(md.attribute & EFI_MEMORY_RUNTIME) &&
+		     md.type != EFI_BOOT_SERVICES_DATA &&
+		     md.type != EFI_RUNTIME_SERVICES_DATA)) {
+			pr_warn("ESRT header is not in the memory map.\n");
+			return;
+		}
+
+		type = md.type;
+		max = efi_mem_desc_end(&md);
+	} else if (IS_ENABLED(CONFIG_XEN_EFI) && efi_enabled(EFI_PARAVIRT)) {
+		struct xen_efi_mem_info info;
+
+		if (!xen_efi_mem_info_query(efi.esrt, &info)) {
+			pr_warn("Failed to lookup ESRT header in Xen memory map\n");
+			return;
+		}
+
+		type = info.type;
+		max = info.addr + info.size;
+
+		/* Recent Xen versions relocate the ESRT to memory of type
+		 * EfiRuntimeServicesData, which Xen will not reuse.  If the ESRT
+		 * is not in EfiRuntimeServicesData memory, it has not been reserved
+		 * by Xen and might be allocated to other guests, so it cannot
+		 * safely be used. */
+		if (type != EFI_RUNTIME_SERVICES_DATA) {
+			pr_warn("Xen did not reserve ESRT, ignoring it\n");
+			return;
+		}
+	} else {
 		return;
 	}
 
-	max = efi_mem_desc_end(&md);
 	if (max < efi.esrt) {
 		pr_err("EFI memory descriptor is invalid. (esrt: %p max: %p)\n",
 		       (void *)efi.esrt, (void *)max);
@@ -333,7 +356,7 @@ void __init efi_esrt_init(void)
 
 	end = esrt_data + size;
 	pr_info("Reserving ESRT space from %pa to %pa.\n", &esrt_data, &end);
-	if (md.type == EFI_BOOT_SERVICES_DATA)
+	if (type == EFI_BOOT_SERVICES_DATA)
 		efi_mem_reserve(esrt_data, esrt_data_size);
 
 	pr_debug("esrt-init: loaded.\n");
diff --git a/drivers/xen/efi.c b/drivers/xen/efi.c
index d1ff2186ebb48a7c0981ecb6d4afcbbb25ffcea0..b313f213822f0fd5ba6448f6f6f453cfda4c7e23 100644
--- a/drivers/xen/efi.c
+++ b/drivers/xen/efi.c
@@ -26,6 +26,7 @@
 
 #include <xen/interface/xen.h>
 #include <xen/interface/platform.h>
+#include <xen/page.h>
 #include <xen/xen.h>
 #include <xen/xen-ops.h>
 
@@ -40,6 +41,37 @@
 
 #define efi_data(op)	(op.u.efi_runtime_call)
 
+static_assert(XEN_PAGE_SHIFT == EFI_PAGE_SHIFT,
+              "Mismatch between EFI_PAGE_SHIFT and XEN_PAGE_SHIFT");
+
+bool xen_efi_mem_info_query(u64 phys_addr, struct xen_efi_mem_info *md)
+{
+	struct xen_platform_op op = {
+		.cmd = XENPF_firmware_info,
+		.u.firmware_info = {
+			.type = XEN_FW_EFI_INFO,
+			.index = XEN_FW_EFI_MEM_INFO,
+			.u.efi_info.mem.addr = phys_addr,
+			.u.efi_info.mem.size = ((u64)-1ULL) - phys_addr,
+		}
+	};
+	union xenpf_efi_info *info = &op.u.firmware_info.u.efi_info;
+	int rc;
+
+	memset(md, 0, sizeof(*md)); /* initialize md even on failure */
+	rc = HYPERVISOR_platform_op(&op);
+	if (rc) {
+		pr_warn("Could not obtain information on address %llu from Xen: "
+			"error %d\n", phys_addr, rc);
+		return false;
+	}
+	md->addr = info->mem.addr;
+	md->size = info->mem.size;
+	md->attr = info->mem.attr;
+	md->type = info->mem.type;
+	return true;
+}
+
 static efi_status_t xen_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc)
 {
 	struct xen_platform_op op = INIT_EFI_OP(get_time);
diff --git a/include/linux/efi.h b/include/linux/efi.h
index d2b84c2fec39f0268324d1a38a73ed67786973c9..0598869cdc924aef0e2b9cacc4450b728e1a98c7 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1327,1 +1327,19 @@ struct linux_efi_coco_secret_area {
+/* Result of a XEN_FW_EFI_MEM_INFO query */
+struct xen_efi_mem_info {
+    uint64_t addr; /* address queried */
+    uint64_t size; /* remaining bytes in memory region */
+    uint64_t attr; /* attributes */
+    uint32_t type; /* type */
+};
+
+#if IS_ENABLED(CONFIG_XEN_EFI)
+extern bool xen_efi_mem_info_query(u64 phys_addr, struct xen_efi_mem_info *out_md);
+#else
+static inline bool xen_efi_mem_info_query(u64 phys_addr, struct xen_efi_mem_info *out_md)
+{
+	BUILD_BUG();
+	return false;
+}
+#endif
+
 #endif /* _LINUX_EFI_H */
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 05:16:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 05:16:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394278.633621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSAeQ-0000Dk-Qr; Sun, 28 Aug 2022 05:16:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394278.633621; Sun, 28 Aug 2022 05:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSAeQ-0000Dd-Ny; Sun, 28 Aug 2022 05:16:02 +0000
Received: by outflank-mailman (input) for mailman id 394278;
 Sun, 28 Aug 2022 05:16:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=v2YP=ZA=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oSAeP-0000DR-7L
 for xen-devel@lists.xenproject.org; Sun, 28 Aug 2022 05:16:01 +0000
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7eeaeef6-2690-11ed-9250-1f966e50362f;
 Sun, 28 Aug 2022 07:15:58 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 322025C00CB;
 Sun, 28 Aug 2022 01:15:56 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Sun, 28 Aug 2022 01:15:56 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 28 Aug 2022 01:15:54 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7eeaeef6-2690-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661663756; x=
	1661750156; bh=QbI3nMCfAEAIkLCbLK6lBGyzYnOR/5l4uI4jb4UZa9M=; b=Z
	p4IcS/3tp+880an5O4Snl1gsExwqtuzV1J9+G2n9n3M4vSBNieLoqu0Fk20NbFoy
	500PihEHrQgBbpRHlKQLADKlP5U1+DTZTIJIYp+qScvHDr5ye8PUaQ3m2l5XOy4t
	r7G93pdGqMsJMf3ZILlkyxmGgpsNpfdixvNPR9OQViso3CYSWWLsZGipUEzv2zE0
	3AH2QLwNVT0XWl6PcF1XyO7TpazTGGZ0kAdwC1WOLivrD+VLPPxQ2jDQMXRJTDN8
	sXaqzNiwDbhhYlhS0uVJIiRwd8qrkNFwhw4Ooz83rlr/au5SSXdkMcsoY3+zQnPz
	qAtQHRz151Kx2GLJi2BFw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661663756; x=1661750156; bh=QbI3nMCfAEAIkLCbLK6lBGyzYnOR
	/5l4uI4jb4UZa9M=; b=xicgA8yrNETLyVTXkRykqePATc9hRHBQsqXJGf2cXxh2
	+eGtljA7DxCGmALKBp6k5/h6kHvbXdDjbZg2N80DSNWkV+7G/LDbH8w2wdCqU/+K
	1Veh08QlHdYOid9tek3WQ/M7Qi4rkL5BJO31QaXCDUPVcLVSPyohGiVTD8KIPBae
	B9lUHF7je2mgiVNeun+OXKNt7xsjq9ZUCpLPkalux7RShnbdRi1zzJyLvOKGedf/
	NtaP7dGp/tKY54IiVu/796EMLYTvMdUEouNsb4PDhTEnUUGcnQTSAfg37MdqMTp+
	v8kPjQ6zGrKyRUUhoVJHzaXPs7d6vRvUIdoxYLBhJQ==
X-ME-Sender: <xms:CvoKY-Mkt4Vw3zLQG0SteCkafB15xMswijGnDV84UsHBpouHlgNjqA>
    <xme:CvoKY8_CWJ3izMtKJ5xdvMVnfZpm-RBMzgJxY9qNwefp9_1-2SQQsproL5rJDuloI
    HrWv91mGyMJjxQ>
X-ME-Received: <xmr:CvoKY1REBc6CM6lGuHduDk4vZm0PUKiySgPrvpK4_MNe41sevV_Q-f3uxTu9>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdejkedgleehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:C_oKY-v79I0wu75A3KJlXiY_5_9A2c6VadvK1ua3eJiUOWLDuIfyMg>
    <xmx:C_oKY2cpjM7haH1X2j2HoV383bInmInurAkn3KUgGCX3Ws8LI_zshw>
    <xmx:C_oKYy3HutxfLAr3P6adFGQsQ6pv9oA4qduIXv8E9dxVJ5CWT4Mm1w>
    <xmx:DPoKY-kXjwhS00einBMVWxYZgcrVY1IyCFkNnNCp2Ve_G4-M2d9Dxw>
Feedback-ID: iac594737:Fastmail
Date: Sun, 28 Aug 2022 01:15:50 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors
Message-ID: <Ywr6CfxUZs4zRPYR@itl-email>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com>
 <YwVuwXOGoZX3pM7n@mail-itl>
 <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="jFhi5uLrMH7VjIo/"
Content-Disposition: inline
In-Reply-To: <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com>


--jFhi5uLrMH7VjIo/
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sun, 28 Aug 2022 01:15:50 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors

On Wed, Aug 24, 2022 at 08:11:56AM +0200, Juergen Gross wrote:
> On 24.08.22 02:20, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Aug 23, 2022 at 09:48:57AM +0200, Juergen Gross wrote:
> > > On 23.08.22 09:40, Demi Marie Obenour wrote:
> > > > I recently had a VM=E2=80=99s /dev/xvdb stop working with a =E2=80=
=9Cbackend has not
> > > > unmapped grant=E2=80=9D error.  Since /dev/xvdb was the VM=E2=80=99=
s private volume,
> > > > that rendered the VM effectively useless.  I had to kill it with
> > > > qvm-kill.
> > > >=20
> > > > The backend of /dev/xvdb is dom0, so a malicious backend is clearly=
 not
> > > > the cause of this.  I believe the actual cause is a race condition,=
 such
> > > > as the following:
> > > >=20
> > > > 1. GUI agent in VM allocates grant X.
> > > > 2. GUI agent tells GUI daemon in dom0 to map X.
> > > > 3. GUI agent frees grant X.
> > > > 4. blkfront allocates grant X and passes it to dom0.
> > > > 5. dom0=E2=80=99s blkback maps grant X.
> > > > 6. blkback unmaps grant X.
> > > > 7. GUI daemon maps grant X.
> > > > 8. blkfront tries to revoke access to grant X and fails.  Disaster
> > > >      ensues.
> > > >=20
> > > > What could be done to prevent this race?  Right now all of the
> > > > approaches I can think of are horribly backwards-incompatible.  They
> > > > require replacing grant IDs with some sort of handle, and requiring
> > > > userspace to pass these handles to ioctls.  It is also possible that
> > > > netfront and blkfront could race against each other in a way that c=
auses
> > > > this, though I suspect that race would be much harder to trigger.
> > > >=20
> > > > This has happened more than once so it is not a fluke due to e.g. c=
osmic
> > > > rays or other random bit-flips.
> > > >=20
> > > > Marek, do you have any suggestions?
> > >=20
> > > To me that sounds like the interface of the GUI is the culprit.
> > >=20
> > > The GUI agent in the guest should only free a grant, if it got a mess=
age
> > > from the backend that it can do so. Just assuming to be able to free =
it
> > > because it isn't in use currently is the broken assumption here.
> >=20
> > FWIW, I hit this issue twice already in this week CI run, while it never
> > happened before. The difference compared to previous run is Linux
> > 5.15.57 vs 5.15.61. The latter reports persistent grants disabled.
>=20
> I think this additional bug is just triggering the race in the GUI
> interface more easily, as blkfront will allocate new grants with a
> much higher frequency.
>=20
> So fixing the persistent grant issue will just paper over the real
> issue.

Indeed so, but making the bug happen much less frequently is still a
significant win for users.

In the long term, there is one situation I do not have a good solution
for: recovery from GUI agent crashes.  If the GUI agent crashes, the
kernel it is running under has two bad choices.  Either the kernel can
reclaim the grants, risking them being mapped at a later time by the GUI
daemon, or it can leak them, which is bad for obvious reasons.  I
believe the current implementation makes the former choice.

To fix this problem, I recommend the following changes:

1. Treat =E2=80=9Cbackend has not unmapped grant=E2=80=9D errors as non-fat=
al.  The most
   likely cause is buggy userspace software, not an attempt to exploit
   XSA-396.  Instead of disabling the device, just log a warning message
   and put the grant on the deferred queue.  Even leaking the grant
   would be preferable to the current behavior, as disabling a block
   device typically leaves the VM unusable.

2. Ensure that the same grant being mapped twice is handled correctly.
   At least Linux is known to have bugs in this regard.

3. Provide a means for a domain to be notified by Xen whenever one of
   its grants is unmapped.  Setting an event channel and writing to a
   shared ring would suffice.  This would allow eliminating the kludgy
   deferred freeing mechanism.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--jFhi5uLrMH7VjIo/
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmMK+ggACgkQsoi1X/+c
IsG+cQ/7BzwGSjViK054IMFa9MXvHS7Rews5K3hzGGZzEnQpljLiF4fHUl8bIpF8
/iSetiQYwrFnQJ2IbGOw5dBNN9pF2w1pok9Eiq7iy0TXs1AhNomKZA5xmHVj+i7Y
Sbeng6pLfFwkgotMT4QB46ZEOhwnuJ02+sMT8JdTqWEE7a0uFMKP5Eh/H09jfGY3
Pnfekvsg4moNkSllSejfGmJvI/uzo1t6AE19payXS8hdLMzxHhss31ZSAiuh4m+q
WDT8N0CZZBlZKk36NXMdHKp+u3qojrUY8Y1m9MDrv6yN+nAWn5d66gIvikA8Rwj8
TtE2xjHY61QCgjgsJLMpV+5n2jwEQ+kaqzN0FKtAPGez3KZKSwuhBNxn9rXzVn/J
DOTVTOPGsQBsy62tJfrOyR5quq+Dm1ElVky6MZLQ7KlZEK8MdnI+0BmueXig6FA9
GhZFXaVD0N81CLJKiUUBN3FWD5uq03hpW1xg6LI469VBsibcXUvw4PorYb0o849N
m2WrD/rv6X3zZTmINfjZX3HvoVXCa50UepTuUpqEm5DF+CQcfQrpv9gMvh1dYCgf
9dOJQ2oEkNx+q/ooKCV/GlVZxuarsW9NF6EybxhVZVwMUQEiN2cOocinstnAcOOy
rr9QyNXPjFChasEMl2ez2dLmaq+VGcE6z6jpI3QVI5csBr1s4bE=
=7NHB
-----END PGP SIGNATURE-----

--jFhi5uLrMH7VjIo/--


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 05:34:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 05:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394202.633633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSAvq-0002td-Pm; Sun, 28 Aug 2022 05:34:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394202.633633; Sun, 28 Aug 2022 05:34:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSAvq-0002tW-DO; Sun, 28 Aug 2022 05:34:02 +0000
Received: by outflank-mailman (input) for mailman id 394202;
 Sat, 27 Aug 2022 17:52:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LXX3=Y7=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oRzz5-0007wL-Cp
 for xen-devel@lists.xenproject.org; Sat, 27 Aug 2022 17:52:52 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 082dc954-2631-11ed-bd2e-47488cf2e6aa;
 Sat, 27 Aug 2022 19:52:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 082dc954-2631-11ed-bd2e-47488cf2e6aa
Date: Sat, 27 Aug 2022 17:52:25 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1661622754; x=1661881954;
	bh=cBkJOnh/vYQ/iCKoFUnLx9Cv1e0GFH6xViB2eqEXtfs=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=zJ+rdyh+TeNTBHXfO8PeyB45UWQ8+rtJ6aLMx0uFolGY73Eb4KRzTQPVa2o5gLjJS
	 Y//fNuYnF++OoR2/MTUNd29rAUQwpACZqW7y2FGD9aVQny4fMbv/YqVyw1ciAqycxM
	 5kboQ1wli6v29mYnmPT9cc2VNEOqCg59tcIQy3ywwZ+HdjM9BFSqZUO2HHUxlnIIbV
	 jIVnA5vl2WpZuTXHwnacy7w0bhjMLHD05M2hwJlohYowXtCQyKFstuoO5pKIEqfVTc
	 hQLRE29uLd9fyEShuubpd5/+vR70rkShZsdxcFoXR079wOICT86MIC8EpPYdNxHyAH
	 VyfHUeN42qsHQ==
To: jbeulich@suse.com
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <6JMvOsjmpWkAsnm6AXzNsjtj5_jy5vG_vG_PwTyDzX0z1buoX89r5UEpSGKf-H7CTBtg9gNlq4Icy7Q9OIDjfrxp2AqNMXbyKTCD0y_d0Hc=@protonmail.com>
In-Reply-To: <941ccb01-adf6-d2ef-9a8a-ea8fdfe69ceb@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com> <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com> <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com> <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com> <Zz_iE6KdPdkQ_TjUf-W2ODPIXo2WwXz0JxF5vgPjVuz8uWfJyto5S_nYRzSNrE0jC3r4ILhjkLH_PtW_fmIeTQIQtI6wTZxnUvOl0pr6ne4=@protonmail.com> <3b2ad2ca-3c6c-4dcb-c603-bd5440350f20@suse.com> <2dHPPtixTlkUXYEzNPFRI4ezKHSe1A2VaThMjBpd1aM3NFkZQuyRdfmNWCigm1oXfdKhOwDJGoPBBIMLYtYhQlENV2eFVZ0G9EMOMj5e6UE=@protonmail.com> <941ccb01-adf6-d2ef-9a8a-ea8fdfe69ceb@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_cwGK0Z5GSezCFNBEoBDUw9TA8joUsIwygMWThJAtI"

This is a multi-part message in MIME format.

--b1_cwGK0Z5GSezCFNBEoBDUw9TA8joUsIwygMWThJAtI
Content-Type: multipart/alternative;
 boundary="b2_cwGK0Z5GSezCFNBEoBDUw9TA8joUsIwygMWThJAtI"

--b2_cwGK0Z5GSezCFNBEoBDUw9TA8joUsIwygMWThJAtI
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLAoKVGhhbmsgeW91IGZvciB5b3VyIHJlcGx5LCBYZW4gYXBwZWFycyB0byBjcmFzaCBp
bW1lZGlhdGVseSBvbiBzdGFydHVwIGFuZCBhcHBlYXJzIHRvIGhpdCB0aGUgcGF0Y2gKClBsZWFz
ZSBzZWUgdGhlIGF0dGFjaGVkIFNjcmVlbnNob3Q=

--b2_cwGK0Z5GSezCFNBEoBDUw9TA8joUsIwygMWThJAtI
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLDxicj48YnI+VGhhbmsgeW91IGZvciB5b3VyIHJlcGx5LCBYZW4gYXBwZWFycyB0byBj
cmFzaCBpbW1lZGlhdGVseSBvbiBzdGFydHVwIGFuZCBhcHBlYXJzIHRvIGhpdCB0aGUgcGF0Y2g8
YnI+PGJyPlBsZWFzZSBzZWUgdGhlIGF0dGFjaGVkIFNjcmVlbnNob3Q=


--b2_cwGK0Z5GSezCFNBEoBDUw9TA8joUsIwygMWThJAtI--

--b1_cwGK0Z5GSezCFNBEoBDUw9TA8joUsIwygMWThJAtI
Content-Type: image/jpeg; name=PXL_20220827_174425170.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=PXL_20220827_174425170.jpg

/9j/4Y8xRXhpZgAASUkqAAgAAAANAAABAwABAAAA8A8AAAEBAwABAAAAAAwAAA8BAgAHAAAAqgAA
ABABAgAMAAAAsQAAABIBAwABAAAAAQAAABoBBQABAAAAvQAAABsBBQABAAAAxQAAACgBAwABAAAA
AgAAADEBAgAVAAAAzQAAADIBAgAUAAAA4gAAABMCAwABAAAAAQAAAGmHBAABAAAA9gAAACWIBAAB
AAAA2AMAAP4DAABHb29nbGUAUGl4ZWwgNiBQcm8ASAAAAAEAAABIAAAAAQAAAEhEUisgMS4wLjQ1
MDU5NDIwOHpkADIwMjI6MDg6MjcgMTg6NDQ6MjUAKwCaggUAAQAAAAADAACdggUAAQAAAAgDAAAi
iAMAAQAAAAIAAAAniAMAAQAAAIYCAAAAkAcABAAAADAyMzIDkAIAFAAAABADAAAEkAIAFAAAACQD
AAAQkAIABwAAADgDAAARkAIABwAAAD8DAAASkAIABwAAAEYDAAABkQcABAAAAAECAwABkgoAAQAA
AE0DAAACkgUAAQAAAFUDAAADkgoAAQAAAF0DAAAEkgoAAQAAAGUDAAAFkgUAAQAAAG0DAAAGkgUA
AQAAAHUDAAAHkgMAAQAAAAIAAAAJkgMAAQAAABAAAAAKkgUAAQAAAH0DAACQkgIABAAAADE3MACR
kgIABAAAADE3MACSkgIABAAAADE3MAAAoAcABAAAADAxMDABoAMAAQAAAAEAAAACoAMAAQAAAPAP
AAADoAMAAQAAAAAMAAAFoAQAAQAAALoDAAAXogMAAQAAAAIAAAABowcAAQAAAAEAAAABpAMAAQAA
AAEAAAACpAMAAQAAAAAAAAADpAMAAQAAAAAAAAAEpAUAAQAAAIUDAAAFpAMAAQAAABgAAAAGpAMA
AQAAAAAAAAAIpAMAAQAAAAAAAAAJpAMAAQAAAAAAAAAKpAMAAQAAAAAAAAAMpAMAAQAAAAEAAAAz
pAIABwAAAI0DAAA0pAIAJgAAAJQDAABgpAMAAQAAAAMAAAAAAAAAMiEAAEBCDwC5AAAAZAAAADIw
MjI6MDg6MjcgMTg6NDQ6MjUAMjAyMjowODoyNyAxODo0NDoyNQArMDE6MDAAKzAxOjAwACswMTow
MACwAgAAZAAAALIAAABkAAAAYAAAAGQAAAAAAAAABgAAALIAAABkAAAAAgEAAOgDAACaGgAA6AMA
APkAAABkAAAAR29vZ2xlAFBpeGVsIDYgUHJvIGJhY2sgY2FtZXJhIDYuODFtbSBmLzEuODUAAgAB
AAIABAAAAFI5OAACAAcABAAAADAxMDAAAAAAAgAQAAIAAgAAAE0AAAARAAUAAQAAAPYDAAAAAAAA
0QAAAAEAAAAJAAABAwABAAAA/gEAAAEBAwABAAAAgAEAAAMBAwABAAAABgAAABIBAwABAAAAAQAA
ABoBBQABAAAAcAQAABsBBQABAAAAeAQAACgBAwABAAAAAgAAAAECBAABAAAAgAQAAAICBAABAAAA
qYoAAAAAAABIAAAAAQAAAEgAAAABAAAA/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAA0QFAocBQMX
GAQEExcTBg4SFxcSESIfGBkaHiMsKCUlIyQnJyYqLSwqLjM1MjA4LyYoODk4NzxAPC40QDc4Nzf/
2wBDAQ4ODh0WGCYdHyc4LSgsOzg5OTg4Ojo6OTg5Ojs+PDs6Ozw8PD89PDs8PT4+PT0+Pj4+Pj0+
Pj4+Pj8+Pj4/Pj7/wAARCAGAAf4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF
BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS
0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4
eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi
4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl
8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImK
kpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP0
9fb3+Pn6/9oADAMBAAIRAxEAPwCkLyIlPnIq0s0TAfvUrjHcjPIpgumH/LJutFgO53R8/OtJ8vPz
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
hT9/MXy9uaAJf8KKi39flpwZP7xFAD+1A+8OaZuXn5xTgRn7w60ATduhpO55o7dRR68mpLE/u009
H+Y0Z5ppPPQUxDDjnjtUZ7U4nrTDnA570xDT1PFN9etOPTrTfwFMQflSevNL/wAANHcUCF9eB0o/
h6etHrR+FAB60nYdaX86T+91oAKPSj15o/CkAHtSHtRSfj2pgHduaPw7UoHzN8wFJ/e5oAO4+tLz
6Udh9aOwoEf/2f/hAWFodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADx4OnhtcG1ldGEgeG1s
bnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMS4wLWpjMDAz
Ij4KICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRm
LXN5bnRheC1ucyMiPgogICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICB4
bWxuczp4bXBOb3RlPSJodHRwOi8vbnMuYWRvYmUuY29tL3htcC9ub3RlLyIKICAgICAgeG1wTm90
ZTpIYXNFeHRlbmRlZFhNUD0iNEQ0NEQyOTREREMyMDhFNTIxREY4QzlFRTIyQTJFQjQiLz4KICA8
L3JkZjpSREY+CjwveDp4bXBtZXRhPgr/4f+0aHR0cDovL25zLmFkb2JlLmNvbS94bXAvZXh0ZW5z
aW9uLwA0RDQ0RDI5NEREQzIwOEU1MjFERjhDOUVFMjJBMkVCNAABqX8AAAAAPHg6eG1wbWV0YSB4
bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4xLjAtamMw
MDMiPgogIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1y
ZGYtc3ludGF4LW5zIyI+CiAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAg
IHhtbG5zOkdDYW1lcmE9Imh0dHA6Ly9ucy5nb29nbGUuY29tL3Bob3Rvcy8xLjAvY2FtZXJhLyIK
ICAgICAgR0NhbWVyYTpoZHJwX21ha2Vybm90ZT0iU0VSU1VBTHZaRFZ0WG5BZUxPcmpURmRtYUs1
VUNxZHFKTEdNVitLTmZCejZUSVlXNHBtSVJ6K2ZieG1aVFdOTkZXQTdhZHorT3p2Zk1uRXRFaHFH
VXp4eUIxb0JlNzR5eks2Tnl0Yk9uckEvakk4RHlHM1BLSFY2WktkQ1VpWjllL0k0akMwbFJFUy9X
aFBIUVN1VmxsOW9YV0RUZWFlb3c4RDZhREJTVXVKb0tlVEFoczFoMW1mZUVrUGlIbGl0RFdPYm1Y
QzluayszVTljWmM1eEF6cEhnVnVMY25LbGg3V3ZFb0FjQlJ2aHZwbllCbGZwcVFCVkxjaWVqMSt6
UU1QbHZoajZET0o3dG1jcGZCQURaQU9JUW56N2Vid29Oc0U4ZVV1cXFiRWZ6c1J4ODRLYkpaN2NH
bjlndk9KSzNaWGU2VHJRRzhoQ2pVbHIzam1QY2dqclZQNTdqN2FFUkhXd3ZYTytoSFltUjM2Z3ox
WkRHUmVmendUOVUyQ2FhazN1QWZ3aC9WYmhqNWVNTDFnaVZiSmJVR3IyS0lsa3JLd0NnbTlzLzlk
WUIzU2N4SlQyNzYxcUgvUmR3Q3QvdVJCVDRYWEx1YmhGdWhzRkpjanlDMTVoWmYwRnF3RnlJY1FI
Nm1zdWdCTkE3NjR3V1BzSTNoSkhrM2ZSQi91bzVDQzJ4eTlEbThoL0ozTDYzUjVDakYvTklTajRJ
KzB6VDEwNTA4M0ppaVBHL3AvNVZFZzlXQzZFVDRiaGpqcHRsNmw3RXZ6bU45NjZmcCtRYUJzYXJi
aU9uZGFzSzBhWUxNSll3T3VJMDFmVXFicHpobFhETGlSZGtyR1VBcjF5WUtXakRQcEY4NUhwYWF0
NVo5OFZxRE05WC8wWThJendJUU5lNHkxUUp1N3Q3UUFnc3I4S2ViT0l0OEQ0dkt2RmJlUUp6ZlhU
SXhJeHFtMlFHVnhGNjRDRDNtWDY1dTBpNmR1VXRHejFVQk5kbFJlQlUxdUlGS1h4dS9IK0thQ254
bUppMWdMS0tlS0tNbWt5VFpuYXYyeEFTcDRlbnRhOWRmQkdUdkhZWDdLUnh6aDExK0pEMUR4Wk0r
MTA2c082dTJ6YkVtc2FMcGMzYTNGMFBMVTRWUnhaamVxU2k1ZTdadldJVHlVMnpXenNVWERvc0F4
WGFLWVVTRG84cjFnOFJ2blo1UnBqUjQ4dnFkcmNYQ0lSVWtuOVJsaUNDU3ZkbDFGNEdoZ0dsa29q
ZnJCNTlWNFQvSXQxU091Zm1yTzZwc2RiYUZOUDZBWmtoaWdyUTQrbDZTcUx6SVpDcm1jSUVsVVFo
Skl3bzlaUzZYSXFuZklUK1RCUm5lQVRaSVEyTUtIUnhKdUI3b2NlZXhVM0M0bThmOE8zMEV0Rks2
YnhSMGhWV1Avb09TNmc3dGlTY3g3bVNGdDVGei9OanJ0MzR3VFpNa015dFNMVWptSXhEa0tiaWc2
U0FsN1RqcHo3WU1EakFKTk55b21sZUdoRktPQ3JVbnJkSUpDRU9leXN0UHJZWUY2UlhySXBsTllK
cGRKOFc2RjMwc2pyMFlLQU45blZnVDJ2T3lQOXcveVU2OXJYZHFqbGFOWHdUSGdoSDllZ2w3MzBw
R1lONG9YTzgwdVo0dXhWZ2hjRnlBM3M3YkRKd0xvZ0xVSDdHTlhjSUpZZ1NjZExVd3N6U2JDOG50
b2FjQ1F5czlKNzdJTnp2NE1DbEQ2RENUekxCOHZCWDFUVmNZbng0bHJkY3lTaFgrTlpuVzJnV2Qw
aVlqbnJUYUJ0RVAzQVgwZ29LNlg0dS9GU0tzTEdVR0Eva0RpdXMzVnM4ankrK1A2ejE2VkVoanZN
SEk0VFZTYmhuWHRiYXlPWWVqNzMwQ2VOcjcwUzhkMkNCTEZVbUFsNzNtTHQ1TFllL3pqM1BLYTN4
Y21QOUlCQ2pBR1NPdXFuRlBzVWlaVEJpYnEwaFZiMnFTYTZ1aHkyWDhIbkVBazUzdkpQanhQSUNK
QmY0eGtqK2RPZm96TFFFZWNTcEpzcEIza20wOXIrVzRkTzBoaXVVRURsTGFvQjdvV0txVGFVWUZY
aGdXOWJieE4yM1RkOWNvczlxTFpTbTdJNGQydHRhc2I4MUlDdWY0dlg0RnpJMTFkMGJGTFNaZ3lk
N0NkbEpIaVAvSUxrblZ4UVduSjlUNHE5WFcxN0lHWFpzUUJmQ1FOR1cwRVJYS2p5V2FXWHdxTzNJ
bllySVlSQ3d0SEZkUm4wSDVhd1Y2dmQ0Z0RSaHpDVVJFMWY1SklOcUxkd1g0aCtXSTU1TU9QVWd3
enl5TkRRN1V5Vk1rUDk5RUJYSXJjYVllMitLR0wzZ3J4YWhRSVJxWlBuVS94amNQaTNpYWlYd1Fr
SjdDMnZISXpEbExFWmFqeEsxYkZubG1ZVkZHcFRJQlZGMEZBRmYvQXQ0Ym5yeE0vTkx4clFTZTIy
a2t6Y3lraVJJaFNlMkxlTm1DTmJxVnJqeWcvVjh4MkZyTVUvUFBiaGRYeFVhZnMxclR1cCt4VHJZ
OS8wNllXcGwwTW5jVDdsSTVzTjRFcnYyTnpTUnQ1UUdoSzVhN2RqR3UyT2U1b0tYVlRSZ1JMRHpv
TEFOQTJZZWR1U3I0cVBTaGx1WGdUTXdOeFRqbjhEQUZ1bWlteWF0anlYdkVHbDVnQ3NLVFBFSTho
ek9WV0ZaL1MwclhYRWRVNWJxR090OE12OU81c25yK0xUWXFFcjl1Q2puR0xXNGZGaTEwMWpGaVJm
NzdVT1d1UUFvM0h2aytHNFBKVUQ4dlpQRVVpVmJ1cHVycnVkem1ZZ3FkSmNRdUIyRHlSSDFYL2xv
TGx0bFoxQkc5VkpCbWtiQ0VmVk0rdVlyVFMxR0lscnZnOVB3aHNFRzlmNEdzWVFhdG9RYWZDMzYv
WUhlRERrTnlyOUZkYzhwdWZ4Nk0wV3FqVDNCNm90R1hVaVE4VmtjWElwbEx1UkszNTF1c0c4a0hX
V2ZRbXdEWnZYOWMwekZ5bi95Y3IwNDR3a2w0aEZKTytmbHZkTVlrcHlrKzFWdTA0cDZPS1FyWE01
M2t2QU5PS3ArZ2o0c1FSSnA1dVdtaktsaTU2N3diV2hiTmd0Tm8zTGRYazdLYlM1MWUrYzRDS1dQ
eXBDbVZaWEhibzU0SUZDZFN3Uzc0WHpzRUVoeHVOUmhUM1ZJY0ZMaXMzUVY3TzQ0Y2RsZnE1NU9D
M0lWVUdoRVlSVDVnMjdSNU9YY1htUDFiQmNlTm80MjlzR29ZR2VERGYvd2gzeWZzZURZN2YrVDUz
U0tYRnEzU1J3a2RFcEk1dGFBTEpYN0VaZ0g2Yi9DM0E2cDVFUmhaRXBNZ2pheVJxTFltck4vaTFa
RHhROGY2MTVnbnJqUzZGL0E4RGZKcTZYT1lEZnhZOEFPOWJmOTVVczBhS2NYN1FVWDZIKzF4ZnVY
NWlNTjRZY2tZck5sVzZvTG5haTkwTThxRTl0NDdWdW80ME5DNVBRcFFobWNtVzVISEo0Rm1GdGM0
Um8valhzZ0pibUYwTzh0aXNYZk5ORzloRm5zbXNxYk9sSnVYOWE4aC9Hb2dFRU4wc0t6bDAxN0lZ
UzdYRGNqUUxqWU1kbHAzZ1VtOVo1cTdSQVkyZVpqMnhwTEZPUFhQbGtjRlJRc1J5YngxRC9oWVVR
V1FpVlNhQk14N2V4SE1rc0JwcW9IajFCS2NCQjU4V2VBR3BoWEFjZEUzdzNiVkJ3bTY4UEFNeUhJ
ZTliMlZFSlQwVUpnbTZWVkVjbHFDcEhTODJBUURVNGcwdUtqZFhBY0R0SkVnUXFiTUlaak9CbVZ3
clpvNnJ1V0x0R0I1TEVsOWhIKzltNUFQdjlzcUxKN3JqK3NBZm5BNGc4TnNITVY3STFZWGJ3cTFN
YVNpR05aUnkvc1hmMGMwVzZ6a3hVOGtQak5FckRQZnp2dHZCamx2WlF3MUJRQ2ZUVnFCVXBsL2Vk
alNFNHpLWEErNTBUb25HMWRHbUlCcXgyZkpMK20yamltYlZMQ0YvckRlcGo1cU9teXFpb1MxQjFu
cy8zd1hCdk9JSnIwS2owS3d5cGhubjNZcGh1enNpVmRid2ptaWpMb1RQQ24rdVpiSXRpQzVaOC9E
U1JKVStLWHBhN2c2RkUxRmlPNTlhWFZXS0FKWXNCQ3pIS05LSkxDMUpZWHVvR1h5WjU0WmsrKzZQ
NnRML2h0Ni9jeUhxV0JEL1RnUUU4dDFOWUsrK3MxSFVNV1c2NFhjdG1HM3hKOWxPNTR4WnVhZ0xt
ZGtzaUVHNXJkaGhYd1czR1g4UWt1Y0FuTjJVeDRsbmU0cm5Kc1hxN20weWF6Z3NSZWZpTFg3R2tE
akZvTXVJTTZoeTBrMW4wRDFBbExSUlVuUFZKNisrTkt4M0tlT1NSNFlxM05BbDljTi84c0lEVHVJ
UDdDWWkzY05LUWozT3htR3haR2xpL1E5T2pnL1Q5Yjh2VVhubWVkRlJwMjVGSlpQem9LWDlrKzBR
MGxOWTdpMUFqcm0veDVzUXRFMVdxcFAxSWlGMzVTZy9XdnRVQWtpVVNrQ09XZG1haitwMzVmT0V5
VXNzakx5SHJqdTYxV3FXUDNVN01XSlJCWE5UL2E0VzdhZ05RNENiRzFCN2xFTUxRd2xNKzBoZnZB
RVdVdThtU1RIamNGeVpWb2gvdm1CeGtibXN5dXpZZHk0UkZ4YjVMSjErQmt6VVF5SVJXSVZuS21S
dDhJYmkyYlpBalp0c2FhRWk0enFaTTFhY3ViQytkWlNMSmxEZVJ3bjR6UXRrUnZsKzVEd1ZxY3Jy
L2lsdCtvWEkzRzJHMVArc0JFc0lMUkJYNWtZY0dETG0rR3c3WkJlaG1pZmxwZzNJSklSYkFHMVNY
VHBuUmUzMThkUmZ4aFdZMWRBTi94MVh4N3J4TmNqRjQ4V3Z2ak56T0sxKzdNUmZoZHNLZExvSFJr
dW5Nd0lTMlJNRlp3MWR4SDhMelEyVk9lZmVkeWVRR1dsbnE1N3NZWWlaK1p5TjdMVEliQjBadDJn
NElleVFZMEtNYjJ2L21BRVpWeCsrQU9tLzBvcExBb1VYYjV3Y0swbXBjdGZBTWtZajhHVVBVdEZD
cTJZWGs1UmhVbjZ6NjJBcUNYZzVMSm5YUVVKTWNzclBOdWd3N3lSSmU2TnhNVDB3TVNnUHZWVGFk
VHdOY3RaUlBFZmFTZWZGSGhyNEEzeEhxbE1SUnk5UXMxTDJ1QStkSnZiSjR2Q0lRNThyZUxaSWMy
V3BVb3FCOWozL2NsWGRNMjhORG1IT01FU3dSMk1oNWpHQmxDWEYwbGJEcEIyNGZPVFlGZXA1OWY5
L1kwS0MrZlVLZUZ6Yjc5dE1hYUIzS3VqUmE4K01NQ0xMZGN1SWkvVTZydFc2YzRQTW1XMW45OXRJ
Mm41VGZ1QndOMUU3RFN6V29kNWdSSlJFNEJ6NnVyNGk2cDR6blRaTzVyck96VElnaG5mVW1Od0N4
ZURqVjVKRmhGZFdMTWh0ZW51UWVOaWgvWE8yZTB4bnVGTGE2cHhNbU4raFpSanlmeUpxWHFNY2E3
TjhWT21TZGd1Y1ZmYXphKzQ2NjNmWldKS3FxZWV1T2dMczM5eU1XZG4rMzNMQ09LYzJpbXJNUXZn
amlFdDJKTmtDZ0ZjN3ArMmpZQk5RVEhHZy9LRXM4RkdKeE5jSTdZK01rcHFLMkUrSU5lQmV6T2FY
YWp1aTZWNnB2MGtvSXNZaTU4YTczNmhXaElTbW0wRzhkZ284RERuWHgwR2F4dVFJcUJuNWFFNC9C
RysvdUhiOCt4b1BpakFLRmlEUFdlcnBFMS94MnlNVzY0d1JYR1c3aU9rcGFIeTdzYlBnbVVqV1RW
cjhIVm9XMWEvbnpPbitHZ2psa3dRcG1QTGNXVUNYSE56WllsZDNrY09KUnB6Q2ZTaDBUODZPbUtr
RmFXc2pjOWU3VW5IclA3L0Jnc20xbmd3WlhLK0c5bzBOeDQ0RzVBMHpuTlVwcUxKcldHYmxpM1A1
T1NUT0k5NWo3YXpFclkzMFVnNlY1bi9wUTBYSk9MRXNEb1hXd0x2WFpJcXJnQlpzTkJ5MnpVN3hl
UzhJanE0L3d0NkpKS0xHSG9yUlFEZVRJZ085MHY1YmpOZE9PRTlmeXlhRVM1Z0V4YjE4U1RreXFW
UmhuVFREYkxIUExsMkRlYUtjbTVHSUJYL1RyTUFUc0RZcTVUekgxeUdHcHB2bkl6bXhYVndmRmpv
WkJYaGJiWHdtZytvZWszaldTdWRNbGhrcUZXQTZjM1RhNW1DdUdDTldDeUM5VFN2N2E5S3YwV0lQ
a2FqTk5Qalc1d2hFT3F1SkdXSlAzNi9ZcjhDdkNQRFlsYng5bFNTTEJnMTZKdzAvU25lNEhkTkpU
Ykd0VDJaYmNVdGhqSDU1WFZqdThYdWltaTlPcmZxVnMxVjJ4NHRwK3FJbXl5Z1M2Rkl2clB6Ty8y
eFViYm10QTA5Y1hHMHJMTDY2bHRSNG80bzk3U05FTlMzbXRuN2hOa0s3dkVsUEZ3dHdBRXRMKzV4
OGZRSkpNSnNoL1FLM2NINDBBbjQ4dlVlaXZNeDMxK2crR2plc0VkaXhrOEZCVGNiQmZRb09kKzRk
S1ZEVVViTTAxWGhXamk1VU9RZzBhQ29wSitaZTgvWTFYWkpCbDFSaEVCOHZ3S0lsbGpWUHN3RUI2
U1FFTjVpb0VtYzE3azI4RWNEVW44bmNIb3JLT0JrUlNzRlJrZ3Z1MlZLUllwN210SGNXdVJTSEZm
WkprVnVpazNuU3h2REhOcGpsRVUxMXVaR3djT0E3OGNLdCt3UnRZN1VjdmVkSVlIRlh6eXlsTDdW
WWFqTGxNbko3OEpRNWdPelRDNWlkMnk5cnd5c09TVzVldTY0ckxKNzBwa3MxZkdDZjY3eTBvb1B4
YTRnUjhScmVrV0lMWlpxMEtVQzVXNE02V2F4TnNQdFdLTGltVTUzZjl1bURHM09aVncxR041bEta
a1hHanJ4R0VxMmlEWVFMYWFMZ2J1UDlFWEFrdEZCaC9ieXRDNzVzL2ozRUhhNnZrb1VNTUY0Qktu
NXpNRU16QjgvSTh2MTYydWtxbDR6enJrdnhCaVVZMVl5YVFjL2lzelR5eEoxMHVRNno4NDRUTFpG
aDljb09oc09zZ1liSnVVa3BZOUFQQlZRYkFHVHVVN0crQkpnWWIyZnkwaVRVblFyckUwN3I5MlJh
RE14anVONGdKa1BPSnFxc0R2eDdTa3p1WldKVktyM2tZTElVRm5rRzczR2U5bFVRVUlyTEQ2WEVO
UHl1alZyT0tKV0pwYzcwa3RiQzVmMFlMVXRnMWpxNW4wMXU2M3FXYkcwbjlNNEJLdDErM2kzeEFs
TEs4NnYrTzNKcnlvSkZBNm1ZYmNNWElyV0M0RnUzYzdsVzMzWUh0dnloVTFaVW1rTlBsc3JzYTll
TjFCa295ZGhCODhKQis4WmNxM3ZTZVczdEd0UC9tbkF6eWwzMm1NWnFiSEtuRlovWWNYRmxFZmhX
MVpxQTZMS0I4TzhQSzltdmxiVUVlSC8vOFVXdjFQbktvNnZEWndrV0RxMWpPeitJS3JBUVlzVFdN
alFuU1R2Nko0S0FEUWNaTUkxSzZ6SklqSFdQL2xLZHY2d2FrNDFrZzhSWmVjeGVxL0ZrWStFak1y
YWR6YXV3TUh4N0NNSm55YTcvdEQxTHoxYURnMGM2cHFkV2NVYThuR241b2RWbTZESGFxVHhsVUJD
K3o1Rk1OR1hPdkFjREsxQ0t2U0x6dlI2eWRKN0dqZlgwd25nVFVoaTdtampHV3czMVNHRUhCM0FQ
ZkpsMkhUbFh5eFN6Mm9OYmN3OXd2K1lKOFkyRlJobFNIMnFXNGhGa1pQbnpvbXFLOGRRWnc2OGtJ
b2hzTU0waFVxQVpPWXc4TWo4OW85YUJnSkJUcVhtOGdrR0RaSWJnL3pVYUcveXZXREk5cXNpdjEz
Q0QrVWhMRDJXR2plWVB6MnFpcFVsRFUybnB0MXA3Rm1seFhzVVRyeVZpTlY1QVFDRG1qOHA0alNz
V3ZhYUw2aVViV2FLRUc0RmNDUU5SdVZ2QzQwZmZNSEZUalNrTURKTFN2bmhoNUdjS0FOb0VJNVJp
cnBmZFB0ODJPZzRyUkEzODVBK3ROMXhnUDZiN2VRQXgyd2xveXZEZUY1MjVlWi9mYzVJQlU5M1ND
M2dZTk1GU2MwMHgrMUVjc0phWGtDM1RUNDlUdFpHUUlEVWtxRTdQaXp1NjBsTGFMRmdlS0FsbS85
ZVZySjU0SVFlZUcrbllZM1JtRjRkdm81UTV5TTVRR3ZuL1dEanhvQUZTM2pSYVkzb2xuYy9HMmFV
WGNSZGNobkQ2YjNiWmF4Y2ppYW9TVGg4bktjZ3lNbW9zOWcvZnhyUlNidWpwWU1FT0ZHZmx4R2xz
TGQ0WjlPZFl5NkNHaTZLZFp5VjIyOHBtRW51cEYwUzBBc0dDSDlNSHNLc1VjK1BoR1hNczZwVUhs
R0ozU25rV3gzRnd1ZEpqQ1V6K2J4V1F3R1FlR2NiUmtETGZ1TFE0SFM5N1FWbFFnZSt4OVRwV0xZ
UFFxeEhSUXZxRWN6b3NxYzg2R1pMK2Jja1UvQkFQazhRNEhFV2luTTFRdWJTajU3TDM1NDlNSmh6
ZlFkcUdZbjEyMndQTFRzNmxaOGZaTlFSS2N4SHovUzdPTVlCNTZ4OHdMSmJTaTdDMFlMSytvSmM4
NzB5YjIwT1RRMDNPU0lyL0pVdjFCN0d0Vyt5TmxnRzNhUWd4TlptZlVnbzArcUswZk4xRmsyUEt0
cXNMa3JBZUdWSW1RekZ0dXo3cWJueWhiUjJjVTVveEJCdUNkV1lXc1FLTUV1Njc0WTVFN2YvZmVr
VU01WkJzVnRFNGNrQXJrNVlScXNhQzNzRFlDbTFrTkJxREU5c1cwVzFQcGVGM3h5WHZrZ1ZyTzBW
QWVzSGdKRVZUYjh3SVBkUEtsV0wvOXIyQ0dWUWlWU0RkY09XRGFRMjRHUm1kaUxjcUxuUEpOV3gr
bVlMK2ZyVy9xTnhjZFhKS1ZRSml1K2JKZ0hHK1NCdHhudWdmbUdVYWpOc1FPUnlIQTg5V000Ylhk
VG05RWlia3VIekpydDJRL21TbkVwKzZjcS9JQzJ3b1UvdXdMRCtSVzFLckppckNIQXE0a1QzL2l2
UzhLM3FoV2VDblJ0KzAvMi9vcnhFOERzODJhNWRiRkZBRGtGMCtXL3NRMzN2MXJpenJLd1JEWkpG
NjhGM0tyUDg2b2NrK2RaQ0hDYnRkOVJoTjJIc3BPWE5oYkhqY1g4bzhlVkdoV3VIS2VvWC9vMkk1
TmJOK3pEaWJtTWJ1UmFiRW96MVA0cW1NMi8rVmJvOFptWnlwbVNzR3VsRVkxV0hRSGxkclFlV1NY
Q3ZkcjdjMk1FSDhnOWJqV3pxNmk2SWhmNnpKNUVMTCtOVHNSZW1EaUV1MFVheUJwdHQ0NGNpWndO
MURaODZnM0Z0WW5SM3FXNVgvUlRtVURHM0I0N2wzMWc3S20vUTh0MDdUdUQwaC9vYnd1cUU1Q2JY
bzZRWmRweEhhRWliSTQ4SHROd2UzZk5xUXVZR0hLT2xjUkYwakM1WUNvY3FIY241QU1pMW5VRkZY
VHVibWFEYkJPMmgwcW9BZHVTbk5RaldXQTI1N2NFSHBpTHBYYnl4dGFYeUtsZDdqODJWZEhrd05C
Lyt6UERWZ3NvZmwxZFJRMXVIbDVOQmxCR0lvR3VER1U1T1Z3aG45QjU2S2pLWmRzRkVWSE92WTNz
bk1leWx0LzhScVJVMUpXVE02WDlRbjFCZERVMUgxOU1Jd3ZnQjR2VVRZSFd6QW44WGtFQ2VkQTdp
SHpvRXo3SElSN05BTXBQRWptU2xNRDdEUDNZY0M4UmlVTTNJb3lLTVBOYU5pNlF4eXI0Q2hwT0ZX
QzB1N0lPWndYUkU1SkN5bGt0SFZmbWRubXRzcjVwT0g1dXV5eGtsc2pINHRsNzVvamhIWFlpZXV0
VytJMFJ6V0o5NnNIUUVkd0NvSDNOTldqS3FqRnhvR0NxU2FlY3VIa1hGMmN4WGhSWWNaNEgya1ZY
YXlnYkY0ZmZiUTl0ZWJyOHBvMlFleGN2UmNvMGFOcFBvUGNmZUUwNEx0MTRZaFd5UXRBaTJ0NXd0
YTN0UHdIR1R6SDNidlhiYTFuL29ucmJOYzdZMGFqREpKbEl4U0tCbUJaMXNYeERYZU9UYU1nNHg2
Tnh1bks1enRkN29pdXhkYkNKbWlmVWhOcEkram56OFVIY2xsRnRQZ2sxdDhFbDlNaC96S2VYT081
VU51MCtucG5wNlk5dm56bS9VQWFyTUpiRlFzdDJXMzFzYXpGYUhZV2wvT2Z4WCtUakR6cVljYmRh
ZE5kY1FRSXRxaGNuemd5Q3Bqam0wUklJdUNKMUN5a0NpcUE4OUYvWDNRQkNaUlJLRXJnYTIxWlZM
Qy9YdVRnNmFFZmxyTlFIZzBJUWZSWFl3K0hOUVBYNk1HaTRqWEpVQVZKbitZaU9lYkpvcmhEZ244
Vjd1cVhja3g3M2k0MFNVM25KVVVTdUdiTm9jbE42WWNQdjg4OVkyYStGdVZDVVdQdTNWOEVpNGxL
UjFhMytsbDh0WTQrSDEwYUFCMVhrL2xGTENoN09pdXBpakZydnZPMzFOMU9ZTHhDZVIzczZSbnoz
dnNwL1AvK2E0OUhNVHRyV2x6WGJMdnlYejFydjhYSlJjMDJUWDZqeFdYOFA3SkRmSzB1YjlQenlk
Rkd2WWtGdnlrazlBK0hDN2dvSUo3UXdiNG9zd0pERGJVTjR1ZEJ2bjNSeEtSNVRsZysxVHdUM0oz
emkzcVpqdkpZMmNDRkxHUDBvVUg2bzVVSDVYeHBJTzVkTVpvN3lqZjBBWGkzRzMxL1N1dnBWUFUz
cXNjcFlGRVZ0SzZyOTNEL2dpQjNpUFF4K21MclQxeTRZZlZBb1NHbTNjTlFoOEJIVWRFaVhsWUFp
V3ZDdXdOclRHTi83bitMQUVnTllZRGlQUkFYMTJlUW5QeEhLQlZYdjJjanlZSTIrM1BIeVpMOVdi
cjRwOW9IeEIrKzVnbzJkWXdXQ240R1JFM29QYU9abFJYa2Z4Z3ZIRUVwd3AvRkNDeW5ZR1d0TEFR
QmJlUXp1NWdCSVhQVGJIRzBYZUoyeXlIaFdLdEZXRXM5WHFjbGxmUXlLMzZuSG1IQmp5d1VVcWxu
Y1VjeDNPaWhacTZFdXlTNis0Q21zRjNaWVlQNHBYK2NaM2Z5MWczK3I5UHZZdUcyUXE1dFhnVGs0
czlZTzF5aXFhRUFZV3JpUG10Nkt2UklTc3NzTGUzbjRVbjRCcXd6OVB4WFYxbVlzbnFmRFB1a2p4
R0ZmdUVqc3o2MUtMZFdvdUVXZmFoc0thSjY3Q2xPZk5EMml5K1NUM0N3cVRKZ053c2xpNXkyRDVv
dHJvZWphYnpCb1pWWXRDMm5Od3JFR2lnZlJOSVUrdDVLWmR1dFRkR1VjalJYNnc2SHlwS1FteFR2
Zjc0WUJ4SXhDWVVFb3RCd013bWkyRGs2ZFhlTThNOFp5TmxhbUNNck1NVExxQ1ZzVGp5OEdKcUJ3
NzFZdndIQVdscEhWZ2U5WGVHZVJ2WEszWGJ2eFNDVjRPQUljckdSQWE0b3dIRDVzUmdoR2xXRzNV
ajF1aGJPVGRuR1FNSElrdS9OMzgyYnJKci9FZU1BTXZraGRHbExFTHBDeDE1ZFEyRFUzOCtFK3Nn
TVFJSnEzSktyWVg3eVJlUFpmOHJFUW41dUtUU0lySDYrbnRVcEVJRzJMc1dMaWNNQVFhZmJwdml0
NytJQVZ0SlBkenR4K3R3M0VwVTNHVGtVNU4wSDNlMXNCMHk4TmhzaUhBWTdHWUlJajUyeHdPSGE3
N3JtNnJrVmdqQUpmQWcvNzhSTG9RRE1YcGkraWk5ais2SjhnVmVNaXV6SExGdndnLzBlTi95QTky
VFVEMjhVbjdtMmhzVi8wN1IrWndzQi9wdFhFeks0QlhCMkZoYzg2cENJYmZYdmRZYmQ1QS9zZCts
NGZOWEUvNGIydUdjWDB5WTJDU2RyeVpwSGFCWmp1VmkvRWVhVER1aTdQcHZnYzJ0b2tRVmxQcTRl
Qlk2dFpPbmduWVBaVUp3TnRWWmFXdmNpd3k5WVdVU1FBZHBBZklEejIrRkJ0eTlTOU1yNlowcWdP
SmRIOG9wUTdVRWRvVGVLM1AxRWRxNnJzdGxXV3RHa0FqVE9XSmFBZWJ0OUkvekp5SDdJZ2pXZTkr
OG5VYlQzVm51a3d2MS81RGlEL1RubXNoMHRTYXlXUk1pWnN5Ym9JS3R4bXlxRTlGUmhhSURsSkNj
WExOT1dHRlZrckZ4Q0sxajdISlhvY0lBanNYNTYrWjl4MzBzbytDN3JUeU9HbzkyMUNlTjVmQVIz
WmhQNzVveFY1UEF2YUR5azNhR00xT3o4UklrQ2drbEVwY2NPTXpWSSs5ZktGZGdoNEJzT053Zk5L
OHVsemJXMjRKUHkycllXY21WWTVhV2ZQOUJ2UkJQY243cGVuQTNLaFpQSktjN3JRU094eHlaVnJP
YTBuWjFuYy9tbStNbHB1eHRBNVg4R0xYdXlKalB2cUh3NEJjdFFFQVZncm52djBINm5kSzN1VFZG
elEySDdUWktVM24yS3hKSUhaa1hEV2ZKNWVKbTJFdU5BeEdkR1NFT2NVZ2VybkFVR1lCMlpweEZh
NkVFWTNWT2Rxd0w3eDZkbDNLd0o5UEp4elo0UFNoYjZXSXV5anlmNEx0d1dUVDc4ZCtvT1QwTEFt
WkhOaUo3Tnl4SkN1czI5WnNGQSs3djd1LzRPcVdqeHhpeGJpdVVtMzJRVklNbE0wYWJaTHBZSENo
NWVGRks5Z1NJU0RXM011NXQ5MHBkOExmbmllRTg1aHZiZnVIdExsRitBSUtZRGxoNGc1TzNZaEli
M1BXWjg1bkYrNmJ0a0lLZ21NdTloUGw0dkt4cDQ2c0EwbStDWDVLd1J4c0xFQzBUMjlpR3lwZXRq
dG9lR1dFVmRnc1lRMjJwVm1hcU1xcm1nSDQ3VGFjOWZFc3o3TGV0NU1YNEZHb1dHZWJlejNtcDd5
SjZPUTZGUTcwUkxxS1dGc25YOHpjVElhc2kwOHNnTC95TnozRDBHQmwvTTBPekxQdnB5c0s0eWV2
Z0FwWVFKSVJFZUp4VUF0Q3VwUFlDdUp6ZnM5VzVXQ3pRcnUrZUE4VEJDWHNYdk5wSjRKcC9XVEND
SE84b1R6KzltYk1qNHltZWFWRU5WOHpJY3lXLzZhdHAvOTRUL0xjOVMybVhBMXVQa1lLTGZtL3Zy
eUdWb1JDbklIMzhZeEFqS1dTaFNITE9nbmJ3c2d3eThyMFlYY29vWEZ5a0JNVGozNmFyYnE5V1lz
UEZoWTJaSHlMa01NYTU1Vm4wdUtlRldLNWdFUTdPOUhVMUJ6RjlDdExWM2lNcE5IZTUvSjNFQzZO
TWUzblN4Q1A4UTVqVzRwZUlWOXFDNFRTMUVYU3p1b2puaHNBQmQwazVhb0dVNGJNM0pLbWI0NFdC
T1N4UnJxU1VuZlhBNlpNMHZWcUJWTmIrSk9ha1l1eVZZOEZ5bTZFVlpUb0NVa2pDNStFOGdTSyt6
L0lYZW9OQ3ExMG5PVFJtcDdCYmYrblBXU3UwdUMvQm9VelRGbGdVVkpZbVh1SklCM3JZQ3lyVVla
RlZ4SnNXVitvVUd2RWVBaDVEN1Fxa3c2aUxVZUtlOS9GVEY0YXpiZDFvVlExYkI4cGRVclJMWnM2
R210MldCNXZETkxLMEtDK1pvTFlONjhlN25kdXR2dVZRdVMzV3hwMGVTUzBaNGJHdlVpV1A0V0pr
UFh1MTdTU09OaE5nL0EzVVl6VWxTOW1rMTFQV1dDUTY3by9DdjZnd1JrMzdya2RiZHc5NXlCdlFL
SzBIWkQ4WG5IdSt4VmMwblJ4T2tTaWdQb2ZxREVkdHZoK3pPcEdXaEt0dW1MelhHTVpvM2h3bnZp
RnRUVE1BNy9RQU5XTmVhcVhpNVU5S05hOGxEcG44cFA3QlNuV1dQZy9JV3FWM1dxUi9pUnJJVWN1
eTlLclNDZlJLTXR3YUFQd09PTTUyUDM4alJZNVR4aUtlZ25tckJEYmcrVG50c2wwenBpTDFLQ1VL
TXh3RlJkVjZWNlI1YVlIeXI2b0NybExXS20wRXJzdzMyMU9QeGtKZFRGcWJlc2xwUzA4UDNkZ3cv
RGhxMnV3cTRwTTRXTVJQS1JIMDJwMC9QRC9sdjhka0EzQTZYMmNET2grMk5RSzAwcDJjbWd0akVQ
ZkkxdExXT3JyYlR2SXRQdHV1NzMxTW8wOGRnTmx3SXFwWm1kYTZBUnhwK2hpQTBNUWFmSVhTZm9U
VHk3OTBieC8yUDE1S29DM0g2NU1xb3prajJlQzVxUlB4bk0zNGovQzJvcU9HV1lZRGJzNTBxbE41
SjVSY0ZvWjYvMHRJd2NENTNIUjJzZmxjczBsdExGQWQwaU9VMEdhazhpeDRGRFc5MXRaelpYRmJF
eFBxeFNxOFY2b1RNZ3FaamxobXRFVFQ4NnJUbmhhUmcweHJ3Q1JMV3ljdi9Kdlp0SGZvYlRoKzFi
UUEvTlVOUFJNK0dmellyWHcrRmlGVm9RaEJ6cFZOS3d4N3RJdTRkbEc2UmhQN212eW9HYjV2dk9M
U1RmZWtJWE1sdFc5Y3RtMjJYMk5HMS9aN3RLeTZ5aVZHWklJYW83WnFUL08xWUViNkcrQTd0Z1NQ
TTI1KzlkbWkxN3I4T1lZTCs2TU4wNHBjWkk1NGFOWTVhM3FGS2xKWUtHZnpKaDZKQ3BOU2dDcXYy
NEFxTmFMb3BHaGZkTGdMc1hxU1U5OGZCOUNRVE0rWE5SK1dveEYwSFJXTTQ0WTRxYVVKS3I0alp4
cHdtdW9FSkUvVXhQZVUvU3pZYThhL2ZBbENwOElPQU4zUW5NdzVhNmpqSEdTa0FzWjNjQUlsbkh1
K3o5dmZrdDNlbmZHUWtVV0tQMWF0U3poSVk5NVlhYURGbWpEZUFoa1pGNEY1K2FXU2NuWVQxcUZJ
T2RyK2FCVWp0UVZ5WG1ndlR3dUhSZGIxR0JUQWVWQ2NyZ2h0bmtDOHNFOEpDdVVTYUdqTFFRK1lz
VGo3a0F2V25ydEtjeGFhaTlsODU1Sm1pQmRkRzhWUkw4cE1CdCtXeFRZS3FiNU1hRmJJK0RIRndF
QlBnc0xLVjg2MXhzeTE5M0grTjlwamZ2alFxUnBvNmVXMWFwcGUvNmtVd1ZtZGRESGV4MFpIUklv
a3NuQlZ2YjUrc3Vwd2kyaG5RSlZqTTVEdG1yQmFzdmt3VXFLYmd3NHhsUHlNUmhpZnVqZVlJVkRu
Tnp4NEVCQWp2SzJXQmhYTk4rVG05a0hqVXovSzdsMnBrOFlxcUtMalowZXJ4d3pONzhMUzdTYkFp
cmdQYlBSbWJUOWhMbWlkS3JmbHJnajJja2hrd3pncUo0c1E4ZE5BeTJIcGM3T244VGhrbkNWVVdG
Q1hER21zeHU0bllQUWRSNmhTSFQrb1lVTk5YZThURGxQVmxHbVRibnkxbWhUdGFnbE1YUGZVcndj
UlUrcXVNS1hpTyt3VHBydVk2N01YYWFrcEF2SVdYWUtpcW1QOGtVOEdidWZXSlE4TlEyWitGMnZv
TExlLzRidGZVTFFlUU1rYnlwSGswR0NWNXNtdDkrUjBidzQ5MHFjWVE1T3hnUmNtZlFJaVQ0ZTk1
aDlaY3M1NVdaQnBKUnBMMyswTnh0bU5Lc0VxLzVyOHBGaUlxNVRlQjZKKzNVZXpEQ1gwazhGNENa
bVNEdDdLUGQxdUFCcWpFR2F0NFlnODRHa2xUTitFK2dHcG5nRG52emIrKzYyN1o1UWd6MjgvVld5
dE9BeEorY1UyRHpPaXE1eGZENVZKeUljd2pLSk8xTzdHVUNiYkNBL0pFaStjMkczaHFxNVVmUmpw
cmg2c1pjZUdEUGtNaXpPY3dJdk1BMXh4YTVTSGh4NjNUZ3lzaCtIV1p3a3ZabEtScFc1elZMZVdh
aWo4QkhLZFhhZlg3REhuNElmS3JHL1haYVBVNDVhc2R3azdzZC8rSVZxTnBKNlBkU25rSU82R1JY
WVBPekFFajJidjZnVk1qNUl5U0hGR0QyQStibWdoaG5LQy9HeWVLSndNSWVuUmFjdmdiSWJoVGIz
NkhRNWpGbTRWK0NJZ0drdmhtUDdHdXVXTzJJYnhyWGVYa2IyWm5tV1hPSG9FaFh0SFRaVFFkQTdR
OFVsNEVlN2N5SjY3S0JSbXBqNUpwZ0drSWFROWtzRGJpSzlJV1hQMy9qdldQSU4rRkxXNXgzSmdn
OGhXOW01QjU1Wms4QUczRHhha1A3N3EwMWNYOC9nWG5QVi9xZFRxTVMvUEk4RHZERnUvalp2NTlw
L0VCclo3cGlLVlZVc0Vlb1c5VTRoTHB5cGdDRGE4bjl0cE43RTNucDA1aldDMlFIS3RHZjBPNUNh
ajRsdWZtNXBwZ3NmZEpDU21lbUZGRWQ3VmNmSnhCOXJTZVZtOG1IR3NMTzhBaUtTMGRaRGJrWDdW
TUd2U0t1eEFpMzRuL29jejFVUlAvTFFuL1NaMHlodnR6WWpSQ2ZxUzlXZkt3Q1dxcjNZM0FQWHNU
cDN0Zzkwa3hkWjRlZUhIUCtFRW84eFVuS0NJdGhwaHVaTVdOY0U2eTZVR3F4OEd0YWZDN2liK05J
aGhJKzk4OGlHRmNwMnExNERYRjhaMG9NcTJjYmEzelN5L3M0KzNhYXVLQys1RlVkNWNWYUdHa0Jx
b201MTJHS0xvODh1N1B5ZXcxaElVVXVwZ050d3lXK21JSDVOYkhGb3dEV0czNTUzeDUxVEdONFlN
dUdtb2dBNkxPRDkvY211bVZ5WUpHVWk2cVlIMUJ0eXdkOG9kYTRVMXZSc0R0Q2ppRTNCRHBycEJM
ekxKdWhQSzBzMGYxQ0N6bGM5T1JNcmRucGZYbTQxWGxacWt3Z01sY0ovbnQxMndFQUNKU1NVdXpD
WUVlRElkcFNqckR2YWtiakI0QjVIYUp4a01KQmw2QzMwMWo1OEtzWHZROHIyWVRWUlZTaGVqdXlW
eEpDNVh6SDV3dExEWU1hbmpNQTljb1BZZFk1bGV5b21GbzZVdURLUmR5c0w3bW1jVUxYc1pWNFBq
Umdtc29aN2M5TFJ2SGNDbkw3NVo0WVpwVHMrRG02UDdmZVpCYXgwSUNtWDAxeFk4UjY4MVZXWXlC
WkkybjhUbm1XekFJOVl5WEVUUVRjM3dnWnFXYzBaT0FyaDRCeE5rc3B6NmxZNjZxQ1pyMEpIRnpF
Q0p0ZHlmTWtoTU5KLzFuUnJwUHVHK3JQanFwQWRMdmRGMnY4Vml4aVFENGRFNk5ENEhHSnozSW9z
cVdINWRSa3BjMS9yaUd3WjVzOVFrQWo2TEVERktEVWRhSzl6MStheE8xVENBRVR2TXduSGplWEZv
cnBEOUZzWStiRHRSTk9aeENxM3JRcFJYVy9kaDJNbTJ3Q0Q5UDJCa280WHBmRGFuakhNeHI0blFS
cFJQeGFvMmJ2SEtwK1M4MExKVzNzYzFGVUVkQjVFVlBQY0l2TzBzd1ZZZldhYXJqd0xBaC80TDVt
TXNoNTNMcXJjTUEzbmU5a1dZeDdBemtkWVpsd3I4YmVGU3pNenNaWE9OTUNUZk1yQU9Qb3BaaWRQ
UHBKd3l0a3R2WUJMK1lkaW1Vd2Y0UXlZWU5HdVFsVm4wT3plWTZyUUVpa0hhY09UZCtadGgzTnp3
VVFQbnR3NDFZZyt2ZW9Bd3lXS3dCbm02a08wcW81UTVWcGdxbEs1Um4xb3lqWFB0SWIxVElMRi9Y
c0hQOWcvRmt6QmozTkpoNUpLUWMrRmtRbjlLZFBrakREWnQ1RGpxNXczWDFKTm94WFFHaXZYNHo4
bnJ3SEx2L2NSSzBwVFNvR2RuSWczWVlHTk9qVkVpUHZrYzBIYUNkSlZJT2g3TzdVL0VENnBLYXNO
TC95cFNGS0xiVGplTzJGQkJKMGZuWkZ3M0d6dVpwVEtvRWxBSW9ydk9VVFpjUnc4aERuK3kzWTFs
dzlEc3FOekFKNTdNTkZIbTVwaEZVdU9KM1IyY1Fha0kwNUU2TTZEZVprV1NtNzNIY0lQdU1FQUV3
MkwxSitoOGpmRm14Qk5pcU1oWXdTc1JOS3dLWVYvQzhzWUJJbW9HckZad0RhVGVyZHZvUzJzMHRS
REtsU3RJYW9ZTmZ6ZitEUHNUWHptaE95djlZem1WSHF5YnVJaXRqMHlIa1JMKzJ0aFZucjZwR3ov
TjN4dktUeWdMeXhYRFF6UmFXNnBvWEZqZGRUcHhnam91UmNLRmdHSmlEVVNzZzFqeXZMbzU3a04w
dFVleER1REUxN3FYb3pYMVh3eGUxS29WTmQ3dVd4ZWVLMi9xTWRqOE9YVTZIVzlkYk5ORVlEMlNP
SWJGOG00NVBpSmZ6Ym5RTmNoeXdMaVNYQWJuWTRHcFQwSThuTmN1NmNiSVdGMGF3NWhkWWxpa3Zl
a3VNU0ZGZ1FsS2JRS3hnbjBkV3hKeGdSV2UyT0daYkJwL2p5WDZXTWNud0N5WCtFQ3R4V08xMDVn
dHFmcExncDJEKzQzaWx5R2ZEdDMwSWQ3S3ZwVTZNazZwVTFBaEhWUmZTUHd3KzBvVTY0d1BWK0xz
ejVVY2NuMjBPYXZQSldzMHdYODhFZG01aUtObHlCeDFMWlF5Q1R2OUJFbUcxMHNyTEllL3p5bS8x
RTFXM0hCSlRxdHRJaC81MlhUNGY2NzljcU1NS2x5c2k0TUlpRDFyOTBpT1RuekViSFFvYlVXZnVt
ZnBqVmZqajhyL1hKZVpubWxCdEJ6NFZUdFhLTDhkZ3B0TVIraGJmVEVQTi8zQm54d3lib1BXRkdU
ZXVNWWZPK3pHSytpVlJQcG1YQnVIV21naE5NMlJPMkhtM1ZIQzdJSmNhYW1ZN0s0SUF0V3ZCZ200
eEpobk1QbENmK0QyeHduZ2hmUXgwWmNPMzYyYzJic0hyNEhMaXErN2dYMk9qcGdzUk82Vmw5ZDFH
eEtBWEJRdlg0aURPSlpSSEdidDZGbGpVQWpRR2xuRkJyeFpaSVVMWUVzdzBLL2tWZ3ZoY1duNHJY
dnJLT0syQVY2SGhiZmpuWjY5YVM1SVFTdDB0emZpbUtQc3ducFhGQjRiWW02TkZCSmoxWS9GMHZ1
dDlKSG80NDdJSG90eGVuaVViV0RyS2JFK2NjRjh4MmM4RGFPcmxZMno2OUVDVm94NXJOU01sVkUw
ckdjVzNRc3F3VUVCbkgvVm1vKzBtN1BCd25qdDYveVRISWc4SmE4SjlSU2VOdGloS3lUR0dMUmNl
ZE9LNWh4eGp4QU95cUozR1NkZGtKRnM0WERhUHh6WEdBcjBnNGtESVZGMDZlMk40STVvQXNlZy9w
RE04b1ByYjdXNlFFUnl2TFNBaGpjNGgyZmlwdjhSMmFaNDBVdndkcGVMejc2NXJDUWhFQmxvTTQz
RkwzMzRxeEVNK3c3OUNXTmd0N3R2d3cxQjYwVFc0ZHlpNHBGYTN3Qzg4SmIyWEVjS1hVdENQbmRN
Zmt6eEZ6ZWVDeHZLZG5PRGJaOVNoTk4ra1A2NVNxL0UvYVlYbTVPc0hBNDVnMkgrK3BmY000QnI1
VWVzc1p5T0lzWjRkSUJpcURQVGZyeU41ejlPRCt6WUltSkJOMEI1WWwzcTJ0bnhKWFlZc1ZhdDFJ
d1VST1ZmamJ6bTdqL3gxeDZoSkRWNHVSclkzRDdtNThVNkJOOW9KSHRLZ2tEZlE3TWI5RC9zQ2Q5
N1A3MHdqbVdTVEZ0UCtQSTdNbUh0VDJGdGF4QnFUczlVcWVXR0RYWkhMRDdNZlZLV0Y2TWFyK2VJ
VnJSU2pGdGhnWFB6UUtVdHZ2aksrVmRhY1QxUHdWMVZuRXpac3dOUElmT3JlQmNlMVVrQ1NRSjl6
WS92NzhKZ1NBdjhyLzRvTi9LTVdQRi9UTFNJcHJTYzhTUFhyaXB0UHpUZmlxczNJSVdEOGtLZnFz
VExSd3djK3paTnhBMW1MWnc4OUFMMHl6SG9rbFJGSHVtbEtyTXFoYjlEWFNEamlWZVlnNmhsb2ZT
UHBxTHlva3A1M3BVRkR6YjdNRXh3N2dJZEVKM3VnVmNDcUNnTytWektmVFQyZ29pVlJiWjFhTzIr
Myt2VXVrdjFWQTlVSHhuMUhkTys4MU1WeHUrMWxUS0tWTWZEaFROZks1dTg2NURjWE1XWXFycjRa
cnM1bTdyNjBpS0x0SEVqVG1CUXhjQk54bklOS21BamNKKzlPMnlVM1FBTEY2YXJ2d1I0dC9nVjhz
a3RBYkprb05jd1hYL1ZFdWJyTTlxbDdFTTVqSUJkVjN0RDl0OTlFNW5FRTNHNzVSTTE4eklFUFpa
R0czNFVPL1NLbGljSEZLUDBpYTRqakpudlVRTVVmamtWSU1SOHFrUFRDc2xlWUVieVM3eEtiUmhL
RW95ZjAvMVYyU1hNaHdQZE5UWmV3UVZNV1IvSE9acVBGbXJjY29JTFZnSVpWZ3pEVGh5emJJWFI3
WVFRWkZTMzlGTHRiNUxyQUc5bmViUDhzV0RKdDlQMk9IN1Z4eGZadDB1NlF0dlRtYkM4TFdPNUgz
dnhrNkROb0I4cDVaSS9WR1RPcDEvejdKU0VRMk5hMXlKQm9OZElDOStzazRiMHpQanlhc1pUajZ2
MXBtb0JiRTBINE9rZGRsaVBQZldDbGNsZW5QQS9oWjBuYzZKeUwwWGFKTmdQQThDSDg2ZVZSaWJH
aUxLTXlGMFdmbkxFQXFsUjUrdmsxZURmUmhiaEFxRmFLbHM5U2luTVdIWHkwcEJmd1NxZVFaSUVi
bktnbWRFYmQyaUp4aGpkRXh5eE1kSHI0UjlxL2xBT0sxaVNqN1dHWFRPTCtFeHVFSmFwK0RJWDhs
ZThrbjhscWRsSnpuTG5VU3hQUUlWYjVuUTVrVElEZjl6aHZIRmtPYm9yenYvb0sydUduZ0hyalBz
YTVLTk9hYjRvYnFWcVJ3RWhGTUhKOU1vRnd6cjhYUHZyR3FDU0hWcVhUZENNTlZvQmlDSmE2N1d2
VWlMQzg4RUovU0hNNUtHakV2VVdETE0xc3hYZm1iQWEvYXpnZjBiTW1Jb1hxNi9CMGo5a2lmOWxo
TWRDMFlqeFp6Y3VQdjZLWG5vRHp5Y05aK05EYTU5Z3BQZFJQbk8wZEJ0eW5KTjZqVlBUcmJrajB5
N1dxamVZZHZKaDN1MndnM3cwb0ZZQUo0Q0RKVVhLKzZoM05vVk1YY1lIYWVQQTRyZGNMbTMycFlD
b2ZIdzlueHNiazVxcWN4eWwwVVkrVE95alE1Sy9OdkpiNXBYbzJFTTZyWUtnajdESW4xVGZDV2sy
UWpVZ2t3R3JsM3Mvc1lIWG5pclVmUmpkWTBWMXUwUS8rY0JOaHdLK0s1VWpOYkZ2WElYSjl6cDZZ
NEphcVNNTitVdFFBbGxnci8xakNrdUhnNWRRbzJ5NDdwRkJXSlRQQjhSb3Y1Rm9mNU5wQTRkUjFU
MkxhV1d6RTYxNk5QeW5mYkczRGxOS2hOZVBaQzA4SUlRU0c4bURBdmNEaU9BNC85NEp4d2RhS2h1
MEQzV0hZQUF6RHBWYm96dnpsbkVBNGU2S0o3V0hOU0xtUTJaeEFucXZqVi9HdHlEV1JlSCtPaW42
S2dWTC82cUswcEpMSVVsNFpOY1N1eVZmaUd4TTZ3eXN6MTdBUHA0US9zSW1xczN4OUR3QlBJV3pB
Ymw3S00ycEFVZlN5L2FLWTh4UU9oSVliWTc2RytJb3ZYUys3NE0waDZldUkramVtc0p2UU5PTm91
bkhXM0NhcTM0YmtWUHZCd2I0MWlsTzU0UGpFVFNza1p3YnVMZndzSmtRbVh3WXpDblR1NlVVV2ww
N1Q4NE81SXB0OGlqc012aEY2eXF0eTlWS0JXZFc4a2tEVGJqUXZuM2R1cHp3aEIvYW94bVZDR1Nl
SERETnZtUmxlL0ViRkpBSHBCRGdJVTdXS3hBaXdydnkzWWlsMHpGZi9JRXdhVDRNVFIrZm9PWmNI
QXl0RjZYY09xb1UrTVBWakJqRG5qZUVVZEFwaWhwbTJhY1dWRXk0Wk1xR2l6WThsc29qbk42QTZX
YkZkUE5Nc0ZUcEVBUTROU0xPR3FpeWM1S0NXK2x1eUYyTjNjM2JnRWlBaTZ4bjkrakZVT1RCMEFU
SklsV1dwTERLM3ZEL3BvNG90emtHMW91R1BHdUdtSm5LMCtBRitHdENueTRoY2xRU0x5a3hBbUdi
azVFUVpOOVZjTk8wbzh2d2Jza0VHZUdkeTRWK3R2bGNHdnlpcklFblQxcnpVQ2RaRkxnRE9ZdDY2
anFwUVZXbFFuWGFDRXZDSXNtS3kxdDg1WWxGQ1lheTlBRUdMNkUxamJBSFNtMUJOWExSNEd2L2ly
RkpmYWhBRm1LY2F6em1XRlhwN0VUNG14YmtLM2MzVjZNSVlCYUptcXNxU0E4K2xSaERFdlAxWXZT
eFJ0TWpsL3I0cVVYQjlIZlVDdnYxdTVlNXpvMkVaVW5rMWsyVHJuMnk5eGlRd0lFbXpGeHdKWFZI
VXBGMG0ycWVvUkRFQ0R2OHpLb0dNVDlrMHZkMjNBLzFUdzBuMjgwSitwNkQ5bEpDandjcHAzRDBT
TFUzMnFqRjlCYzZYWXNsTXdqY1J1N00rMGVEbWtnbWdFQ1RwamZveEJoRG81WUh6RDN2VmVZZlYz
U2hvNXo2czR2cERIdEU4M2g3emN0b1kxQ0JKOTNaNlBmUGhGVkQyNjRhblloamdqcEdBUmpMaTI1
SXBxUlgwdm9DOTAybHNYblltU1J0NHpvamxGaSs4T1JFOTBETWdYMVJWejdLWnJSbjNyRFN4YXA5
VXpsOTBOR0lpSGNvRzhiTlZzdmhzMHF6OTE1R3JRcHRXeW1LRHh4SVFYd0xLc1RFZmNuMHh1Ymk0
L2o5dGgyeldHbFk4Smg5N2trYitmRERPSGR5MkdVWjVDdFZFUjQ5QnpXaEUxekFXWTE2enBVNDBH
cC9hclZLMDNlMzVPMEY1bTNJQTVUU1BUVkZUZWVuOTJnQ3hVYTllRTFKblJ5ZElpV0dSRUVuOGMz
MS9uVGtseW5raHNIL3VKY0NsVGFWemg2ODBTeFBONUo5ak5sN0hPaWhhZ2R1Mzk3VTNWZ1JYTHJv
WjJSSmthS3Q1NkxUb051VExLY0FJOHFpWVRPalVHVmgzUk11MGtDZEdZQ2xITVVTclJuTG1DVUlQ
V3BPSXB0MURuY3VnUnVkYVFSL1QzQUVObHVYQ1p3WkZrVDVZM3hTK0crT1pyQ2lQUmJqSytHV0cw
TXVYMVNUYzlWNC9YTDFPTzgyOWl5cGp1M3pyNDVqd09jNW9xOGpSaUEwWklwSjk4b2Iwd1ROVVhh
OG5wd1pmNVgxNGE2ZnQ3RnhGbXcxM0Y3ZVpxU1l6WTFyUDVaNU5VNXlTdnp4WXo1dk41VURMN0VX
cFRJN3NxdUE4UitmTHlzMElVY2VUWk9QbWZYSW9EVS8wdFVPRDlzb1FqVlMvWFhORlpNZXptRXVT
dVNtZXNwNVB5SUhoYmFMVFBibE0yU1V4cG85cDZ2Y1RNZmpDVDVKU1V0OTMrQXBHQmNyS1lBT1h3
UE5UVTRJV3pDSW4zMVpjaSttck5GaFNRNkloRVZKWURWcmZKMmw2Slhyck9lMW16NGFzbk82eldu
N0FoemF0Mno4djJlMWV0VytQZ1VZdEhUS0Iyd2VwR095WG45ZjNrTnN5ZjFlY1ZPMDgwR3k0dHht
UDV4eWYrZllkU0JmTTR5bmxJeDFzc1UyL0JFSjU0WFAvbUVLa09laUcvTGRHWW5LZElmUGFIMy9p
M0FyOTZOTjBjb2FiOG9yNDlEOUQxTlZkUmhRZmpIak1UQklPcDFhSnlxdGlSMFNmWXhIdm1yVkRX
NmlQcjNHVmN1TC96eVZ0QVBYVU81dzFIZkE3QjRWYnJ0VGJ2UVlYSEJBNjQzNTUycG93OFdicGtO
TTNubGhYVHRXSWxIaXVBSGtHUVlDNmdZckJyTkdvYitUN2I3VGVUVGJRbE1WS2h0bEFYZlZvd08r
bEhXUjgvR2I1YjZXNmlZMExoUGdCR0JhanJIVG03TUVUOFMvUDFERHdNNXZxOGFuWExWdW5IN0pC
TnBUdHZWd1pOR3Zrclc2bHNaMnFhVWY4amFDaTRrUUlIWTdZV2huSG9iNkgrU2tRN2N0UHJ5a0p2
VFRBRXF4bloxaUlIUHRnWnFHa2I1MVpWaFFteURHYXJsdmtxTGpuZU9lUEZyRkcva0YzOVBtZzFG
eUFYTGVHbGJVSFpUcWg1MCtyR0xpOER2ajlvd0phVUFNSjNqRUl0dGdnMzh3OFFNMDVCa0hXaHRv
UUVXSHhiMHF0VDUwRngvTFRxTkx1aUJmUXFiWlQxSERGdGExanVtelNPL295eG9udHNwMjZET3RJ
SEcxVWFmaEkxSHlYR2MxUHA3WGZYYVFzaFh6RFBVTXNxZEIyVmp3dnc3c3NGenlyNStLMk9vV3cz
L0VTdW4xS0VMb1ZOV0laTWlUdmdlWG1iMk5jU2dXU0Z4aU1PaXF1aE5lQzQ3cnpJdnNQRjJmOHRD
dng1V21uMjJsbDkvb2ZOY01CQThCZjI0QmZnMWRwclI1R3MzT3RQVzExNjhVMHNHbUFrV21CcU56
L2NaS2RTT25ObFFIVk04RFE2UlBJa1BBVDhDOWxzaVBMeWRBZFJORnVNQUtFbk1Yd2tKOGNvVUNv
WEV5SVd2SHg4ZCt4dDQyWTBJeWVOeTE3Z2NkSnhHc2NZbnpsR0g3Z2xBQkdaSFNpQkkrS2p0VWh5
dGQwdVRVYjhkYkZ6K0pOczFYVlNHUHZLWHBlM1NyWjlqb2U5WjdGWHdia1UvdEZBU09WMkN5SVYr
WkhkOXlCeWt6cTZLZUQzbnNjTGZtbktuaTZvdDVtTzV1U201TW40TlRRVlFQS2FzRTRRWUY1VVVo
RVZMa2xmUHhOdk15eC9SMkl3WUN0WmpWVnpDdU5qUGFtMUJQQXpuR2hESmI5UUZTYUFDc1FvclhE
UjZDcHdrVkI0ZCtva0JNTThmZnZ3SWFLdUhzbmNzY1ZjTmJvd0dQenFBL0NJbnh2NUNFRWpKS1da
ZFlRM0JybXA2SDg0QXI4NFhFTmVzVGFHRUN2dVI2Q3dabFA4Ry9BZENQQkdoUWo1OFdoeGxTKytQ
VDhmQ2dnK09FSExYOWt3REFtQ0RRU3dXUFNNblJxN2htS09RSjE1SnNDakdUQjdFK0doSHVDbjlt
dExOcjlGaE9nTEVScmxEd2ROM1RqRDlRR1h1RklnTm9OODdIUVdQbU5FTloyd3NnR1hwWVc2YkVw
dk9BdEE5RE1rZ0UrZ3RVMFJUQVNXK1YvTGlmZ01DNzlvMFpJTm52aFdjam5qMENKdHo0Q0F0NjZh
R0IxNFAvT1p5SXhNNTRPK256RDJmNVd0a0RVRUJNSjRKNmVza0VnS0xPV1FXOHZhbHc4aXI0MCsw
Y0IwWWJ0b3o1blpRRUUzTVN6SHYyb0hqQXNPdklET1ZXMEpIZndnU21GcHozVDNvU2djZ3RxSnF6
U1h0cWI0ZG0zWHlQQUVCdWFXdXZGaGdxKzU3bXBrTC91TlBiVEtXTVJTa3gwZC84U3Z5bnQ3OFVT
UEpmN09ZMzFWaWNuNkVVd3o1U2tLdWpNR3owWWRSRXRnY016R1RwRXBxazRyVHJhN2F4S0t0MDI3
cXpKMytjZVhwRHMvZnROTWJsYXJDd1JLT2hTbE00RE1DTUpsNEZ4YWV3cFlSVnJtZWdmUGpWUENR
ekpMb1RIWjljZkZiaE9JdTE1dklXTUdsZVRkS2dZUG1NNWVEL2p5NGwrUHlBRm5wcHZEVXJBRVdZ
VnZ0RWtob1dCS3k2UW1oL3REL3ZLMStYSzBXR2FMN2JMdWxJZ3FoS0R3dmo2UElPOXJYeG5XVDhE
blZad0FqV3FKellDN2VTeTQydjFKMmFFODFsZmxTVXRra2xSNWk4OG9KS3M2M05EUHN3OHR0QmZF
U2lNOTZoR1E5QkVpV21BMFgwYk9WZ1AxYWRXZGxpWGZMc0d0M0dld3NyeGYzZ2pJakZFZlFjb2h0
T1B6eEQ0cEd2TXVIV293NDQvOEgyZEJHSGlKSkl2Z2F5WUw4dWh4SmJpcTNuM2NsaUtqNXlacVlK
RVNtaE84UDc1cWxVQmZGcU5KTFhGd2RuQk42dlZLaW84aWpuWFh0QWtxaHN6QVhGeXpnTlVoR1hK
ZmxyMHhKbG90WVBKNERMaUl1cEtlbHZ6WE9RMnBTaFFRS0tYTldMMjk0dzVHUVJlazZhN1h1ZFJP
dFAzakZyUHI4RnBvaTNXcWt5ZnM3NWZhbUlRTFZkTkU3RC9FOVZrY0lnbnZxV0ZaRnBhc3VzdmtY
VDN1TjR0ZlBpNm12djBUMEMyTldyQ25Dd0tMVVJWQjc0RXBHZGxVVnduY2xJaVhXVkNBcVE4Snhx
K1hDclVPdTBoVzRKRlN2cTNPK05FcDdLYnF5ZENyTmxNb1hqOTM2TWF0L09qN2o1RTkvS05kd3Ft
dkF5RHd6SW9LN0l0NVE3aDM1UDROZGM5c1JlUHdoMTM1a2hiT1VpOXpRMlFGWlQ3TFZvOGhlcjVU
TWlkUVlEWEVtRnhQWHhDanFNRkNZWE1WNEhKUytENUdhZklJYytMbUVUMVhrQzhTekZjRW1TcjNx
UGdiUHFYemhuaVdFbFZFTlZVZDlGZVdMcnVzYWhheEduR0s4OU1IR1RQZlkrS2dETStkb1hVcGpS
aVZVbHlJZnhHT2dXaXkvU1laY0xhdXp1bGFDVHRXTTRLb3BEd2Z0UnBhWWlXK0J4NHA3eGdvNUlB
K0ZSQ0x5L2w1SzBvWDVMUWltdS9jbDVtVVkrdEhXNCtJUlhsUFZKNisyVEJ6ZTNvcngxckYxOHVY
bmJuaFZFb0xkKzZOcTlhSzljaFhTWHBpdVN4Z3dnZ0UycGdsU00yME9xeWJEV2hlNkh0VWhHTVdB
VndwUG9lZFVwVTlFeVhaYXVja1pWNURXUyt1NW5hbTBVc3htMW9qalpNQ3ZLYVVHakdjVllCaHVN
SXZSNXF2cHZZTzlsbDljZ3hRVjF3d2o4eER5VmlpT2Y3TE5PZXhTLzFpQ3VWbDNVWWFCeC9qSzBJ
b01xWmpMbFBndmg4bWQxTGlaRTBISlZKR1k0SHpFbks1RUJMUFZHV1Y5bzV2ZTluQ2tEeWJsTm1s
VU5lbFUzQlVYbVlzajY1UkFiVmtYL0VtNFg0ajRQK1hJNlpqdnNJZUNMZ1JGaXA2a01Gb0RiL0VL
S3JVcitjeUw1QnRSZzZ1MFduTnhXZ3ZXa2FLeXc3T0EzRmh0Si9aaDhNZElybHBJRFRIU2VHTVBh
M0p0RlJ0L2tnVWtTV3grbFBZbFVaTmpIMk9DT2tmemlNaEppcG5JdW55NC9CcG5HR2I3RVNpYWhN
bk9rVmROU3lzZTBTOUxseDR4N0ZYR2NNaW1UOTFQUmNrTnYrRTFHemxrZjR4SHZJWHFVaDVoNTQ3
ZWpJbWgrZTJiSHYybmJNWWtlWkovZFZRakZ3SkFzSnB6am0rbUNLNCtkVkxZR2FWdGRDT3NxWWpa
aWpSVDJ0NWxaM1BCM0NYaDdzbjlmUlRxR1pmY2NxYVB5U3Eya0piOG12aE1pcXBwN09zbTVZM21M
UmdtQmlicjgzOTJEMDQzQTRzcXBScUN6V2ZBL1gwU2llZlErZXZkdE9kZlFOTXlqWVZBUTFlWklJ
SmlTUkVUb1lxWVVBSzZGWEZRK1pscUorQTdOZlVlQzk1WEE5dlRPQnRMK0V6eDdIWEJmL2NIaEVN
cUNkSEMrTUo0cEZQL09xOXVWSmNJakJ5T2xhSG11MjRwaHNMRGFmRFdlM2o5czRBWjRVVk9nbzVl
cUE4WHk1THBOaC9aamF5cCs2bWdXLzNVWnQyZks3NGN2aTBQUkg4QkJoUWtKQmJjSENqUDBSd1dN
c0ZvQkpwc3N5YWNhcVlia2NqMDNjVENLeXNOaFpNWS95WTIrcm1KN05lZG9MRmFBZ3pZME1jdmti
YTlqODRtWnpnQzEyRWFDTFBEV2l0NG9PN0ZpNVcxNVNtZDBXWGczRitzWnlLSVkvUGwwU3l6Ti92
eHZheXVKeWNiSEpNb2pXcmlwWHRuSXkzWE5hZkxmMXNhcktZMzdrWDlTdFZGOTM4aStaMUNoZDhQ
TEUvSWlCbkp0bEJkUXhUQjNjR0Q1ckVoWlJ5WkxyUXhiWUVsS0wzRUlkQW5VR1dTNkcySTZmUDBs
REZielgrei9pdThQazBxOHNyL05tcTAzajZyRGMvaWgyV3FLOENGeXJhbDR3d21EcHlmZTl3cm9k
MWRXdytheG5vZGRxQ203WWM2TXhpL0RWcDBCNXA4Z0dDdkJyNjBpOWVUVjFGYWVDMVUvV2V2dnlU
YmxvckQ4OWFCL0lsdzYvY3FqTFlzNlN5SWFsZkU0dDcrQzAzUTltdFltb2E1bStHdnh5NjAvWW1G
MXA4bUs0aHoyUWFRSnBtL2xPUGxqcFU3Z01uVk1TQ3BGdmxaWXdrMllXYlFEUkt4ZjNBOHJvTzRu
QURmNWxWQUZ5WmdxR0c4UzVwMFN6ajh6MEQzbWtpTkdmQU5kejlKTVJKazlTQ0R6K2RFd21FdzEx
Qkp2ajlFOHRVOGdad09pbHEwdjJpYkNDNnlTM3BsTVdBZ1lwZ09FSWh1MHVGRUJ1L1R0andFcVI1
WlgxdTQ3aGdQZElIYjk0N1dUWGp3cHRCYVgyNVR0UUhkd2lST0RHK2wweFhVSTBpdFoyaCt0YWVD
NlY3M0p3YzBNWi94L0FINFVncitvTURrWHZIS0V3czJINDRLa0pQM3owcnZRZnMwc09MNHlTdVVW
dEhuWWJLTWNLNTF4SW80SFBaWExJc1lCOTBPWW84Z0lORHdJeFV3RlJmVDJrUzBJZ3VGQ2g0eVA4
UStyOUZid3NvU2JBNUc5S25XdUg0V3piTVFtZXE4eDNpWWZGdlVoUDFHWFVPdlltVkNmYUx0YU02
cDE1QkNqVnc4M1RtQnZFSGFIYjBvRUdDYXlyVGpwTnU1cWh1dHl4NEt0Q1RMU1VvK2E0cjdxM3pZ
Rmh1dTFSVTBVbkZxUkZCSDBEL3Rjbm94Slg1OUw4elNwV1I1VXMxUkpSeVMzVHl2ZGxUb3hEOTlq
M0ljVTRSL2M1SVNUMzNjUWY3Tnl3Q005RjA0N1ZLSm80K2QrdUxDeU5uYTVUUVFKS2EvblZNOXhP
WS90alQ1SlkvSUNTa05COHFsZDduc3hqUWRwek0wM0luaEtWaXMycW5JY2lQZk9XVDh2WHZIMTFq
aVJIUzd3SjR1ZDZ0VytlODFadm1tK0xJY2lsYW4vY3NPUHB6NE83dm5RdVZEYkRqSEpvNFZIR0dk
d0JEM3lsT0hKSEhDTnNsZ09MMStUNlZ5UHNiOWxpY0svZUlKaWlKVXVVZlZ3ZmxrSXh4YWFoWG9R
Y1V0QzlRNCt4OUcxRDVvV1JaSXA2c1B2NUt3UGRUUnN0Z05Mc0tTY29PVkludHpBVXZ2WXRTVjFq
WWZsTTI2K2lqSWowU3BMelFldWlLYUM4ZkZxcWs5cks3R2pXeG9lZG1QZUZ0VitGRnVLZERnUEho
NXowb0xiZVZWUFZBa1dheGNaOWpyb2pWbEtUbFFwUnFBSjBzMnRkZ2FrY2NVd1QyYmFVb2VVR0Zt
WHVUcEtHQ0hNcVpHWDZiZGRXMVNyK3BxR3V0VitoRGpNQnpCbGdXQ1FvSlRvbUttZG40NUowNUR1
V3JXZFFUS1JNNnpSZnFDaDN4UkxpRUxZZHpJU3BWVGpLeHg5c3RtSVZqWmtScDV0RWNOcGRQZGZx
eEM5TjhPWUJCZzJOM2pMa2pycXk0ZXJKeDZKdmJNVTh3WFlMY2lIY242em9Qanl6N3BFSXZ6SUhZ
WFRscDkyNWhhSkhaZ2krQWFhUmtiZTE0ZTlpcTJ4Vmg2Wm83T3Axb3l1TERQcEhvOTVmMjNsaDBK
VXZTQzBuQlgrMVpyem9iS1ZHWmFlQUlwVFZienExallWQ1hDeXlsT2I4RUlJSDNrMjd1Z0Z4UmV6
SHNKZUovSHJOMWFDTGVQdlU2YWFTOWk3TGtYWjZxbEFBTXRaTVNvSHZNaTFvWjFadWNJU2NhYXpW
T2lMUnpoTEdyT0M3bGRSWG1oZ1picDFwcndoOERpYUtOS2FXRlNMajE2NXY1NjFvMkRyK0NSNi9L
NnZJUUZJUDlTYU5GVDNDd25mZ0ttZ1NyZzhCaWIzRkNDNm5nNVhIR0k0RklGZ3gycUQxdERxTXNM
dVc2UlFRWjJJd294NXF2UUtJbXVvWVdKSU5PbkFHWkdnNTJLT3Q4WjZTVXpDaFhFWFVCTHg1VkZO
Nkp1eDVvbzZYRGhFUDQ4UVduL3ZCVTgzQjhvVGN6U2ZqWU5ZSHZqSEZxTWNrMnVnRWFsdzFpaGJa
ek1zRWpyTS9mTnMzaU8yRTZpSmZwR2lURmhEWE5lU05Zd3d6SVczS04xQ0MrTkFVMHpxOFl3UGJE
cll5Um9udkZWTjlFTTJYeTJpbTNyVTNoOTBBVm1KM3dJQTI5Z0syRXFTMjlJMWoveE5hTmcwS1Jh
dDhkTVZhVE91THRYd1F1U2pwc3FQdmRDR2JLR2RJZXNteEc2ZEM1Q1JlMFpLYUk2RWhuVEI2dFVE
MUtmUUljcnpndnNid0NKeEp4ZHk4bCtLVGc5MzRETHZWUVVkVk9vcURFTkRpOWp3WkR1L3hvYjBT
OVBwS29rckFMVkpNYlVaS09wRHVVM2lpeitHM1Z1czJSb2hHVytjZG5acHE5Y0RCNjFiQXNvY242
MmZxblBzbFFqVElGdDFUZGFaWWtkUEhJaHhWZ0N6VnNSM09jTUhHclIrQm13TmxzWnE3dm1UTk9J
VlRybGFnWnBUNnNmcGRKWFM4NlNiLzJXdzJCY0FPcnRLV2x4eXp1YUtQaWRGT2s0eURTK3ZOMUhO
UE5YRFN6cnFIV2o0QmJmS0ZFckErOWtWYTc2VEFDUGl0SGRMa3g5cjVLbkJWMEthMWVyeW0yVDdK
OStuazRSQ2gyZzRiOEJqNGJ4SXNhMGROdXFJWENzTjcrRHRSejRMMEFYNlV5Qlp5Y0hXZVNUNnp5
dEM1RWxtcW5qN0I0QVdWbGtIclNBU2hRY2xKa0JRRytOVzlQMU1vUFFQRG12UWkvd3V3R1pzQjVh
SUZ3WjZET0owb2M5d0ZCMjFINlRBZ0ZqTmhPRWQ0ZXQ5STQyY3BCVWJiU2Jnajl1R3FhNVlReEJC
ZUY2MThacmxLUS9pZHpHTEVzaGhpc3YrLzF6R2FnOGh2SlpPbGFJR0E5SFFCTVB1czc3dVdOeGdE
VE1xVzhNU3pFSmR4c3RmNVc2UUx5dXlzTHh5aytxM1dLL3RaRFBtYmNqR1ZzZVhPbzE4TXZvbE9p
Qzk0ZUlhYWJwUy9UdVVqWEFTU21hTE50bWdqM3VuZ0JHRmVBTkh1Ni8wM3pHSVhoYVhhK3J3dnpu
UzI0dzlqdElpd2tiUkM2K2wrUkh4UERBckttOTIybUJOSlhibklQT042MTBqdmRPUGptRnorTGNv
cG9jZUtoYTVMQXoyVE5uQ2pQRHpFd2VRTVJYMTk3MGFua3NFbjh6NlUzQ2ZEclJKcklOR0VaaWt6
L0ZUR3dydTlYa2llWGJ4NGkzNVl3RkRCOXRGdnRrc2tPMnhIWE1HaHc5RTFQUzZjWTlYaWlweUc5
Q3FNY0RLcVErWkx2aDhpSld5MXhsaG9xdTliMlJpYTVRcCt0RWRubS9MTS9seUtmNHl1Q1ByMkNu
bmRmNjhDVmNVNzYzWXpVdTJHdzltb0JCaWxOM2pSbXBtMjdkUnZmT3lvWUJQNE1SZkhNQUF6Q05p
dFFHWVkwVDB4NzFaSm44MFZNR3JHZGRLc09zaXNjb08yVzhKdWIvNWlXb0VxRXBYT1Rqd2tKS2Uv
VytXVjdMVHYwWHQrZnZqcklkNW5ta2pRaFJJUnhZam8ydkRDL0tMUDVqOFVhZ05kVEJSS3FKUjlP
dWZjZzZkb0ozazhERFMxVi91cmwzYkZ4M01qNGtPNjNjZEZWVkV1ZXVVMHJrdGpkR2E1S1VkbG5X
ZGFlZDA1cWxhb3FxSWpBamdZQkZjVkE2QVNSRUEzOXFhTk1FYnlNcHc3WUZETTlzWkRHQklaN1N0
b00xcTJTbU4rejhPcHBuQzltNVpxN3dSNzNzNzdnSmlPSnd2RlBWQ1RzTXM0Z3BDYmh0RlRKcE5Y
UkI5OTZMWkk4OTdFTzhsQVgreFJOcmtHNitZc3pUOXZwODQ5bkV3QlhvUDBLemIwTHEwTUxnQkMw
NU51dXRHdDljR0g5Y0NUdHhVNG10dC9HcEh6RDQ0U1hXRXVRTzdVa0RnNzlqVnU5NS9BSld0Wkwx
MlJiTm9JK3lqYTdwUmtuT2NNNVVqYlhZMDdHNWhWZzB3bFVENVFGeDh3OXpqcjJYc3lSWGZqSG5Q
Um5Nd1BXRUVGTDJjM2NBQ1lpN3Q0K0VoK2psVFArR3dKajIwdUhpcC9VZGgvbVBQVDFEejNFYzlI
RkJQenJBNEg0VWRQTERqYUp0SCtaKzRmdFpWL2M3bGZiaEIrcHd0c09qam85MG1rT1M4cDdETUla
M3U2VVVkcGh3RXpqb3lqeldlV1cvQm13M0hYWXpqMDlENjhIWmk5UmtseG90azIzdHV1Mng5bE5V
WG5Td01iWE1YNWp6OWRHUCtxM2V5Zk5kVHJMTEVLb1ozcTRjQ2d1OFpXaVBHc29xMmJFMFBFT3Qw
OGFDck1pbXEvMWc3STk1YW0rMm03aFNGUFJ5REV6dlJWTHZRMUlwNGVUbEhpcy9QSUZ3cFZweElO
TitrVy9HYzdBeU83ZEFTb3ZlQkhxUW96RlBMVnpEOEhTVENvTXo3dHhHSTQzL3owamVGakdmVFVN
WTJYZHBGS2UrM29BRkxqQnlWUXIwOURYczlwV09JTmdNU0xNWk1BK3pPN2VWdiswYldMK0ZyZXFE
dS9kaFRCNVhNWUMvT09jY3o0dVhNMGFYUW9VeFd3YmxKT2FpVmxIZ2xUeTVqQm1Obit4MG4wSTlW
SW1FdTd6bnFQK3AwdEFsSEc1OTZlS0dFK0luaXQzTnBrbDRyR0NEMUUwZWpaOGRzVUlHcG1pRnRx
T3VvMVM0WFRPaWlFYllRVEoxM1h6WlJOZUV4MVZPbS94ZmY4ZjR2RnE2RmhOM0xHV0xaN0NtYW10
Ukk2ajdaWkpVVXZ4cnFzUk5RVXNtcFVmNE5TRnZ4TW1qMllWejBGaTJpbE5NaUxKdmp5aEVLVXVx
M2oxUEEvSm1GTHRmQzhyem1BU3JXSDNxamYzTDZiY3daS2NPWWZiOHhObDJrZTFnN2Zwc3BwWjUv
eEcwUTR6b283VDBBU1hTc09DTEpNLzY2RGYydFFzdWVmOFBSVWNQRDJONDBOY1pzRGpVM0ttd2RM
cDU3d0hIQ0JZa0tReFE5TkdabzQ4UnM2ODNIMW9DYVR4ODR3RjJ2TDN2RmZoZFhtT0FmU081VWRX
OUszb0NKTk84d1UrUi9PN1BIODBBYjFRLzRJbWpER2s3QzJHTXROY2NFWDZ6OGREQ3hKSW1Tc0xo
VXVsVHhCTGsxVmdMWVFJcjR6b0k3enVhRmlST3ExMDlESFZ5Z2xacHVMZE55c0tOOG0wVTR1Ti9U
UkcySEpKUWhOSjgxM1I3NXdVMXEwOWpya3V2SlBhNVhTZHVNUEozUGowZ1NxL3JUTlpoRVpvVStE
YThqL09OMysxMzdFbXRubzNWQVZUSEpyRjhaK0FNQVJsUk5jYUZpbElkem9FYTFEaFlvbVRpNGVi
WU8weFAzN3M0ZGd2K2ZpVE4ra2hjZGpuR3lFTnpRcGxtQkFQNTZNVXpYZWszeVBWb1dldzdISlFS
RUUxTy9OTW9CMUJGVlhZYjcxYTlCQWpoeDZYS1psV0tDM3JpTGpVTnRzTktPOVl1SEd1alppaGNx
bDFiZnE2OE5FRGNlaG0yN1h5SlVCVXdFU2FEUGtWKzFxekY4QUQ0ZnUzT0JQdUliTmYrS0tQS25a
YW54UGVPSTI4aEtEVEpvRCtBZThla0I2Wi9Scm5Nb0FqVmUwUG56dEZqYzFUQkl2dFltS0FDOWQx
emw2THljRDcyRzY3RG42ckZLQ2xuSXJLbGFScUJtWVJZb2hUbStNRHE0S2lHUlVOa0NsN1d4cmN0
UWFEbGtrMUR0QUxZci82RUlVa3NwTW5jRVVXRERzeGxkekRuc1YrZCt1clFyWDNvdVZkcjZSaUg1
VDBHMlVOdVZGN0NjNDd6VlljVlprTGJMUUYrNzRyQTRDUkV6L2xwMHRmbmZiRC9TM1ZZbis3U1da
eGZMVFZ2UXVvanI0U3FGdm1zMm1DOGZFQ2FzbTlvMDA4WVpodk5jeitqdzJyQ2xQalpkeU1iU1BG
akJUV0dMUE9JMlFNcldrckdMRGZCcEwrRWFCbWJHaU5PYlZ2WmdpQUlCUUF1WENtNS9STnh5WmQx
NkFGcko2VGRONVUwSXFjMitwRWRBbU9EekpFOEU5WFFFWGxPZ1FrSUZRZ0lIN2tPT2kzdjAxb0Z6
c2pMa1o0SzE3ZTJCN3R4bDEzL2w1MjYyTGZMUnYzdXg0SXhINUNzZGpNVFhUdEU2RGI0T0FWN3N2
cG92cjd6ejJaREZvaTh0aVpLZW81VDhRaWE2VFdYSVdoYndyOHNQUk8yWDJhSU45VjlUYjZwZEFi
V0VsZForU0tuVTVvQWt5VytsMmFFWXhKNUJUNTlDODhQMWxhcTllWXZKMkNzWDZCN1U2QVhtcWhk
eGg3UjcxU1o0S281NWQzOGsrTEUxWHhRNlhCdUkwRmNpNHVpMFNCMEE3ZEE0SEQzWVU2SmhVVlQ1
cjZaK3pzOGJ5ZWttRmlqVFIvUkh2dEdyUTFNMWJUZG1Tdnh4bWtRQkNxVW10UUdybUV2T1hOWSti
Wk9FaHhzdFZDclNPdG4rZ0ZodXhkKzBObUlNUFVreFkrek1lanlJWXgybE1LVk5vczJITHNBU21Z
eDlBQ2xidm04ODZVcUJzeEdTL1ZJREpLWEtCT2lPR0hCU25kaGN1alhHcXNjZFJNaFQyOWMyZzhT
MVQybXRxbVVZNDdQNkdCTlRmVkhDNElEYkludUF1MmNQWVhWNXJSWjdFOS82eGpUMmVoeDZCeXNv
RlRHenhtRG9YR1RJL3NaVlU1SmV5VDlnd1ROTnl4cFNLdVhoOWNrZ3p1ODlWOEdrb0l4bStQK3Nn
NXl5RzVtbnJTUHZhVXpHbFk0d1ovYVpLczY5b2M0a0orSzAzU25iSTcxRTNPRjQwRVkxMTc5Qkt2
bXdJUVN3a1k1RFJRM2p0T0x4VFpOMHdJdFRzRnJsTzNCbzBXZFVFVHFTcFZ0M2tVYnRvQzdvd1NH
NDk0QmxIMWVyR3FIVEh2V2FWdVJMNXdIa29aYkNMUnNxMDNwSGNpUUg0ZUsrY3IrT2ZGRlRqRnls
a3FHeGI5akFTbTZkZ0hQbDhvQlk5ekR3dTltMTczUzZJVEMxaEtZTTJhVE9tbGxCT2lHQzNDNlVI
MzdrRGl3cmlIN2hKM253TzhhdmpJWUhSLy9nYmNOTXpvR0tRTTJ5dHEvMkQ5d216a1YxdHFKTnFS
M21ueWttSVRWYTRtb1p0ZVFYcGxVRWRiQ3JWaCtNUlFvU2ZpU0JULysvVFFQdnFqdnUvc0laSTJS
Z3JJWTFMWS8wV0t4ZkpZZlZTOUVhdjM2ek4zeThjMzRKUDhYTXhpSTNDR0tCaW9teGJGVmNXYWxJ
bi9aVDJZZ2JLL3ZiZG1aWUF1ZGxOMnY0T3ZxN3FRaXkzL1ZiaHlzVTg3ZGJxNzg0TUhwVExDV0J4
Z05Iam9QTzNFWG84cnZidG8raCtaSXdkbENQNzN0b3VjNUUybHVlSWRvaHlnZzRhYlNQOENNRXdO
VkJmMi9XWU9VRU9aN2c5ZmllOWNKQkZhb1h5VWRVbVZpNTdZR2p4eFJrVGhMTVo5ZXRSOUV2bk9h
Ui96dEtKMDlBcXE1Y0FCZTd4NThQOGRyV1kzRzdaMnR6ZVZlUndYcE9UeFZNM2V4M0c1d09mMUR2
YWhZVVhvSDZSMkxINmEvWWVRaGhycG1kbmxOcGlpZEp3Qzg1b3RsbzRHbk82OWU2SERLMEJGTFFk
eTFSMVZ4bUJJc0ZxTWVZMFA0SVA2VlhZanRJVWh3OVJ5TkVzTkVYeWpWbGJGNVlXU2ovY2llM0h4
V0o0WkVQS1FYRjZQa2ZpRlV5RlZ3WCtOcCs2M1JpY1paeGt4NVc2TlhVR21IdGE3VnkyUDZqNDBi
NU9xVTZDMFBkN3hkVWswK1l2VlRnV1VLbDUrZDBLRVBtZDNkNXNRbW1LT21WQ1J3ZjVzMTNudmtS
RHB0dmxyVlB4UTY1SngvNnVIZG5TWi94M2xZZDRzR055dTg3MEFOTHAzK1hHZ1A2WW1qc3M0akE1
UzJJRXdUY1BtZHFLc01aMVQ4OVFaWWxYWFcrWFJnSG1DazVJOFhldDkrS05Mdjc4bW5FTjRPZUtn
MlZkem9UejRSQytiU0JZVkVNRElRWGlWUEtvd1RGQU5EeENsSGc3akl1QWxQRFJJdkxBNG9aYmhB
aW5Wb240bXV4a1FXVHNCaldjNmlacXlaR3pwYTJ0d3lyNmlMa3RRMGxjTXFPbkFWRkJSc1JuS2xH
ZDJzTWE1ODdIWXp3ODltbkNZay94RlZQQXh4MnJsaVowZXB5cUFUMFFrcmdYU3VnbkNQRjdTYlJP
QTRkWW9hU0ZjMW9GMjFRYkdvaGg0NWc5bXZxSktMVzN2TWlZMmRBdXhmZ2g4bC8vb3VyS3NteDds
ZmloSFpLdGU0ZSswaEgzbmUxOW11S3h2Qk9PQmRHUTRFa2RDdmlIdXBDYmVsTXp1MGhVTGZ5eTRL
a2lTc0FSckhuNG81Q1J5Ris5TmFBR25ZNXpRWTBXWm5CWG14Tk9MZzk4Wk5pVlA2K1k2UDdBUFpN
S1ZFU1h4dmw4MmlYd3NpRitvRnZ2OU11NVRDMGExcVVHOEpCdWU1dytsdkxwQVkvL3NSK002bUF2
VFduaWN0RXk1ZWNkWFJDTG81M0V1a1MzZlpZNkEvQUdRNVJSVFlCRitla1BRdlRQV1RUVlJaQklX
TnBVRGxwcWNzZG9rZmN1d3VBdzVFOVBhMTRQVExGSDRBT1Q3WTNyU0FEWHBaMmRKanpjeVJMM3RM
WE0xZ0c2VDRJR3NFKzIrQ3U4V2o3OWxWRFNFaDA0cUdaMUJTUTRTZkYrRUJidW03VTQ2U2FBa1Y1
TkxvdDRVS1NtdW11Z2NjWkh4M0dFRzdqdnpVNFFkNGM5NVVOK3htRGZCVjlZNGtlTzZOOXhEbVJL
R0ZjUmRYb2FJcGh2ODFTVWJ2V0NpMFdJYjlLemExcldNMTdxbkdVd3d6aXpTL2FrZ1ltR1pCUVBu
Y0NYRTVnRHc0Y2t0MjNSc2pOb2pLR3VldHlYT2k2aXQzQnVXMWlDM2t6aTJxa0pTL1RKWGFFaWJ6
ZWVOSTFzMktJZkNoa2NNWU90cUFOQnQ1c3BhT2NzWWgxR1N6ZUFnMlJhc1lrcFYxSVNob25BQ0F2
N05nODduQTdNWUg2VDJJNXJORDZEVENDdzNFN2Y3UVNuYlU0a2NBS0lyWFJ2R1BWWVI3YzNBamdL
WDA0TFhtWXNsYlBVOW01K3pCb3QxOEVNb1BqbTExaUxIbTdCMHBZNmt0ZjZuSUNRVnkva3R2VEZY
L1F4ckRtTEtJUEw3eVVlRVJBbWMzUzc2S0VqSjE3WU0rU3FsUm1IWVZmenpHTG5WbFJTYkpJK2xP
a05haHJXK1k0ZWQ5UC9Hc0VRa3BzMDdpZ0RRekJ6bGh1TFNKU0xhdDJ2NEZkU1RuaTh0NE5aMm5t
bVBJQ1dKYUpIRlRUT3M0cWxGdTdTb3A0NFBLV1RxM0REODFydy8vWUprYlBaM01Cd3FFUHNERHIw
KzhYdUN4cTFZUmdrOUNrZGVCTFFVU1g3dmxrenduaUtBbXVuWndZcDdCSDQzL0FHdkp1VTh0VjB2
eEp5TlpGRHpqSDJjZkY0NmExZ1dXK1ZTa2NXbWlkWXZ2Ty8zRkxJcTZCdHppSW91ZnZqOUE3UGRB
djA1dXpsS0owdVhITnFCZ3lETFRVWlhFZzhRaUN1UlZTTjViQmhKbEE2eUtUZHYzTEVkd1NWT3lC
K3dEQkZ1ZTNGVVVaQVJsa0ZKcjBOaDN4cVp1SDVJQmd2UmZuSHlsZWtaUHBZWkJ4UkZCa2dhY3Fp
MlFSbWZ4Y21XWnF4aW1IMFdBdlJaYzhjbHdqUEQ0VVR5clpNZ1F6bDdVVVNEMXZYRWI3dUhpS1R4
aS96dkt0MXEyUzJ1LzJmRy96Zk4zWkROUGNyeVl0eFpnYzh2Uk1BbUNNeVNNTXBaZUZLVmRyck9F
NmdiOUtjM2VkVFNHMDV0d3VDNVEyVHpHRFRDRWlGcE1KVTQ1UmdzKzBNV3U3bVorLzAzUUt5SDQ5
UWJVS2RhVVRBbWtUYmFtd2ZFeDBPbVQxVEZGZDVKNHh6NTFqQ1Fvay9iOXJZSExvNzNlT3U3cWtV
MEUvckpic1d3TkU4YUxFVW56ODlGMUlDVlNtaGNJNFJZV0xTNFFHd1RLMkdjbTBkWG9uRHF2alBt
c3praXA0MnVtakhRQTFOd3NxUVdPaXJ0Vjk5T3RJOUJEZ0xzZ3ZIRHdVcUhIdWFIY2pVUGJhL2s2
MEkwM0V4cTY5YkJQVUwrWmNKRVJXZTNUNEEwOFlwbWx3SzdPRWcrZEpzTzcrRm5SVG9sUnZ4NVJh
VSs5dFpSK25mVzdjYnhpZVlaUDh5aWYvaHpDUi9zU2lnWmpWNXVZYjBrdlJQd2JWZWI2a1YwV2Fv
RksyOVFxYS9LSzZGSXNDT1FlTUxVaUxncmwrblkvU1EvOFk1dzRickp2WHV4cjhnMzhJNEh1anBY
dFYwdGN5eGpURlFBSGtReGVjdzZaUlVlc1paTncxaUVLNkMramo3dGdJaS8zSi85bnl6UHMzWEw0
UmZxbUNkWk1YVXRMQnVJeE5UZnkrVi9Xa0RMSHZlS1gzSEFxcXh5Z01zS2RtNnRHUE9GOUcwdjNR
V3Jsd1BlcXQ5cnZNekp5dVduWVhXR3U3cGRKWjRLaGg1T0lCbTU2WU5ZcDl2ZFBmVnhxd3g1YVpJ
NTQrczZ4Mmd1dmIzSWVHTExpWGkzNC90K3RGUnRBZ2VVL0JzUlRuZkI5bFRRdk80SThJVVE3aTZj
emJKcERMaHVJR0s4dmF4anF5KzF6UzB2WkxHZ2pCSEJLT1hGV1A4VHF0Njl4Z1pGZHM3RFdQS3BF
KzM4U1dBeTBuVjcya0tkTWpBMGYzZ1h4RDB5NEZKV1ZXQjBwR21HKzkwbU9GVmVJb0dYb1ZSVkwr
WjVFZmg3SllVTlkwT3pXQWQzcDVXTVpHMU1JWGI2dXpEdnVCbkN3OW1wc3pEUG9iby9EcHFNbnJi
QU1vWWZFV1Y2RmV4Y1h0VjBtT2Z0OUNVaW11TThKU0xzSFV5cGhnNU5EMW1BS3ZvQnQyZ2M1bmVu
SjlJY0RpZVNqUzF6Y0NpYnlaQnl5SDQwRmVTN0FnZElWc1h1aC9IU09XMlJPbnJTR3JhYnhnaVhE
ZVJBUXBKbWpCOFRLVHhNNkMyZmpaQ0s4VFFZd2JwbnhFYjFSTEFhZCtqL3BlV0EyeUwrejUwS0hj
d0dFcmRRdUc3T3J5K0lyS2V1bTVFZ253ZlBmREIxOElhOG9zUW5pdmdMYjVtNG52UEVaeGdFbDBj
aWhqK3ZtT04vc1pjVUkzc0FOV0tFcjY1c2tobUFGTDNrcFBSZ3JnazJ6OFpoelpkT3V1SjdnVzBE
aEdIdlhUcUxZb0J0U0VpRmNBK0x6ckFOVGRxTlo2d2dqaXZRV0tQZll0Mi9EWEliaGlCaVgrZ1Fq
RFRtOWdhSGxDbjJLMzFrMGhNWWZWMDJQU1lCRG50bVhXM3RleUE3STZ3VlpvTEpVK1IycUExSGNX
U08za0JSdDFYMEZ6dm1hUWlQMnJYODVnWnNjZzRHVk5hT2JJM1lxNEkxbXh2M3hlaTRBNVdNSlM2
dGszWEhFN3pzWGpNTTkzRmlEU3VGOWh3elZ6aWhBUm1DdjJ6SklUNitYN0Y1ZUFjbDlaa2oyeTJO
N3pld3JJNEpZY2Z0Zk9iWXJHamJSdENqS1pmY2ErNkdDcHhqbFVIU0FFdWhsNW9la1pVa3RkeENz
SEplcmRpWjhBSmpvKzNoK2MrSzFYUXlGME1XUVB4eTk0N3VKYnhnOGJMSDNFVmJ3cWlWZm4xQVpK
WExtY0R1Q2JoNGh0dHdLOG9SNnh6Z2czd0RBLzFPYU5jOW5DcnRMNGkwTkswSTg4RWExV00rMnVM
cmMxbko1UlVma2dhVzZNc2dSMk5nMEl1UHprTXpEQ0crV3BQbzdtWHpyb1lhZUZUUDhFUkpDS0Ir
N2w2TERpc0NJMHFkYlVhRGRqMzJKYnRtZkNXNW9zK1BpOFFsNllweDFkYVRNTnQvNTJFTXg2VE1S
YkgvSGVZRndaNUw5Tmt1djBvNXBKYUN4S0xxcy9ybldiMGFnOWJHeXo4WVZiWkFaK0IwU2hSWEhN
YVFJSE1XTGtXZ3BLTC9IcDJ0SGVxd2dRSzgzZ2hrZXdHTTN5UkpyVTdkUWZJeFJOUGtjU0VsaXA4
eFZPb1dMbTNKN2FyZ29RWUlBWW9hczZiOHRLTmFwYU5lM0ZNeEpHY20rVEh4VXBYNHM2Si9lNUsz
YmYwSjdkeEtwYW1SV0E3eGljYk14SjFHSG9TZVhpL3dNYkE5eVhFc0xqbjFBZlhrSGNUZENLdjBn
T2xmdlFCRENwQ2UzNGpuaTVLcjRmSklMMjBzUThmVDlFSnR3Z0MxWHd6TVUrOS9ubDgxMlhIK3k0
V1YxSnJFckpJUkk3SS9idnpDd0RkN0NPbHRTeS9LTm5SUjRVMUQ5YVl1ZHpCaXhGZFJ6YVduM0R1
QVlrZ0RTMmFqOUk1U0Y0VlJpd3p6ZFEweS96M2JSZFUrL0Y4L3FzaDV1bFZZaGJGZExqTDkwK05V
OEllMGlZNDVMU3dMT1JxT2FMQUl6djBHZmQ1TVIrdXQ2ZE1qdVlibG1hT0xxNDZ5dHVwRWdSZTJC
NktGYUJudWtOZlpJS0owcWQwRWxSbThXOWMxQlo3NUkrVjNMdmR0SUVWeVV1VlZKcW8rWUdHNGFM
aktTa0VsWU1JcHE0aVB6dnlGdk1PbW5uRWtIcDYyS1pveE9lYmNSVlNUOHY5NzNwcFRKUTluU29r
RVF6TERDQktxcmZ5eUxPb0JYcis2aWU0TUI3dTVrbDRGR2xzZkJObk81R2J5YlE0MzEybllIaGQ0
ZnBUa3JNd1grU2RlK3MyRFdGSFBzbzltNXlCS2ZTdDlWejVmRzhVZTdkbGpLeFhkVWkxSkJXcjk1
NWNYS2Q3S21JZmJHYjZVMEFWd0hXTUJXeVhxbFFMMzRXcG9hcExaNnNGNDdJUnNqbWQrbnA2Q1Jo
cnNNYmhmTDlqaHBRaERsZkthTDZRMDR3RjZ4WDhhNUExYVdmdnVUeFdsclBZOEVhMjVoZlg5QjJ0
aWtaSXFzaFVhNGEyZjk2bzE2TVMydVN3UHFJVWRlZHNFYmdKR2dPWEFlaFpkVG02VC9BZ2E5NTlG
Q3pVYzYzRTBsT0lVbGtSc0puNW53WDc3MExiVisxQTN2Wk5DZXkvampQOS81OURZZWJQZ1h0M2tK
dmFVUEFYWWxGY0Z2WEgrL0cvcVBPdlZyUEk3Q0tpblU5eVU0WDBDd3RSRmhBRFlEVkdtNGR1WE16
RU8vZ3JOd05pTGo1STVSL0ZSWUFtNld0d2R5dlVIV1B6bk9CUGw3L0JJRStQaXBpR2hzVDZCUk94
Rkk1a3pnYXEvWVdqUyt0WGJKVXdna2xjT1pPNnNuMlg5dyt0dlhPVlQ3Tml0Y3Z6anI2RjJLcE5Q
MG9EY3lpYmJGckNjSzVkMi9XZkJ0cFhVQ2pWYVl3Szk5Tkw0eUdiYktlUnJSTDBleGJoUXRNalNT
djgvV0NSSkdHMzV3bHRlMTMzUHZ0enVYNTA5SHorQ2pLbThmZ2VKMnpVNzdJU1E4bWVTdVFpMFlZ
N3lHa1VwZ2VRYkRHQkIwbHRRbVZPZ1pSTzhYK1dONmtuN0lBa2dFOVB4VlRsSHQyZ3VCaHVOOEl0
UXgwSFZXV1JuUXY2bXE5bmk0cVBDMnloTmdrZU5UL3lNQ3M5T2tpTTQrUXRJcEszb2dRajdKZjRZ
V0Y2STJnMmozV2dRbHBra3YyaVJseUJRRDRneHUweEhVcEY4T3FINWNrck5tSzI3bjBjSFlWZ2lr
QUkyQW81elpXZkhWMGY2dXB2SXdqbXlCVjRBN3ZxVStGVlpUZ0V4eWlhZDBZTVppRUtMdy9IZHpV
UGg4Q0JOUmE0UXVZNFRLYTNZSmhWZlNKczRuUW85Sk9EN0c1MnVVOVVQZjIrVUowa3ZBY2VBQ2ky
V21kQk9pc0pkZWJ3aWFWQ2Y5UTNMSmJiNU9RKzZFOHU0UGg3ck9PK3Y0OFdjdmp0cU92VWVIUEt2
OU1zOGo5eEt6MTR4QVVKajg3M2Z6bXVUbVE3eWwzRXY3LzVUYUt6STJOUmNQTklrc0pwN2UrcytF
d3B6SHNSN09aOEI5S2UvcS80b1p4Y2hYRlloMnJxVWNuMGZVYksxditZQWEzNmFZd3lRc2FZWUFY
eUJwSXhxZ3NvVmxTL1IwOG5NYzJ2Uis1cHRRNHJIRmJwVGpDNStqVm5maVBKVnB1NU94NzlYQlBk
djk4WjhJUUY2d1BocEtBQ1BBdWZ4SkVUc2NkRzErTXVNMGlDY21ybXYrdnZLMDhRS0UyZnkxcnFH
dGxOQ250cG1kMHVLRlcycUV0a3dYWEZwYy96Q3lhTFZGTjFhUE1IZDBJVDNkY250eFFWbXhvRkNV
VmVsYUlycjV2eEV3MVA0NGZHRGV0NDlGN013Y2dmNkdzenR6NkpuYzBNNHFrTHNkSE9kbU9LbG5h
ZHpIcVhrUEdSOUtsTFhqaWRueTlDR2JMQnlQekR1amY2NHhJRUR3V0xVNDM4Tlh6RmhuMUhkbGg2
WWJ1V1BKYmphTGpBUG1zYWM4QjdCTTYxNXg3LzVnaDc0TzFJb3BORFc5TVg2Z1FRYzNHWmRLcU5k
ZjlmRjROU2V6WklENmo5cFVPTTF4VzZaUVB2OWoxZmxTVTlpam9HOWpma1o5VCtwMjFEemRNYnI3
RDkrZnVmSUlhTkZQSHhhY3Z4ek0zQTZOdXBnNFVwSWtCcjM1c0JON1JLRmh2R08vTDJvM1VkUGlU
YWY1YmJkSFdsTTlHSTNFcEhudk8zeFoxbFk3Zk9jN0psZ0RFWUYwMm9pR1V4N1R2VlhXczhsTHlH
aE13REE5TmVOVXdEQ1NkQ2UydWpVbTlQdUV0U2pIY2xXSmgwb1pzQUlVd0xlQkpycDBMOHlGdlNX
bUt2NmtUQlJnYlZMdVcxU3ZBZTBvOE1HNGMyamFnQXFBaDFWQnZYTFRld0ZIZEZSU1BicXNZQkp2
TkRmRWo4QnRKZmJzQmN4dEwxRHBCbFlDZDF2WXNJSFgwZ3pLQUZzcVdCZHhxQ21wUEZiMk9Ockh6
TnJqNmZxWEVHV05ydkhWQTV1cWxoZFpSb256TzBJOHR4U1Uwakt5L3poQjJSTXAzSlk0VXlQY2JD
TVpFOFJJNk54SE1FS1QwMERZcjJlU3hlTExtYlkwcGV0bDE2eGROTitOSnBwYWxSUno0bXNRNzlX
RTRzQWEvaUhpbGFOVU1DVXRHYS9YcUVzYmljTkJEQzVLZGxJdHFuaHdtOVR1VjZ6bCthMERCOE9J
aWxxNGpMTXNYdzk2K2E3aWRuVVo2LzNCcmRERlROZEovYnhuVGxubWNOa2hMYWoxUmJHeTVycFBp
VEpuZjRtWEZUSllkSkNUUE1BQ0tPcmJjS240NGU2TG95VEZjcEMrVkZRTVlpMHI1Q1RTQTdLbms4
SHA0QS9TUE9IMndWSUxYWlVmWm1KczBBd0NYWlU1L2tMV0RNNHhvWmFsd0xsSFpjVWxOM0dCNUZo
S1hrRXhWNVd1ZndaWGFRejNFRnhwOThSbXR5VVZtRy9VMjJIeVBEdVdkSysyMWFaNnJPbHZpdzJP
TjU5NTZNejM2QVAvcXVJSUJNQzdFVHJIS2VYckJpY29MU3pWb2ZCb0pRbGN6NGdpUGt6eGRualR1
b0ZXYWdzOVh5aFQvR2c0dkEzQi8vL3k4MS82YllkMVNJa0dXRGlPOER4ZWlwT0sxN09VOWdPRy9X
MjRUSXk5bC9rMlllanU2TitqSG5pbThkZ3N2a1hZQ0NXS2VZVmdsL050dTh2M016bWxuRkVsTVBq
dWt0c3NuTWdhMTlNQ1EvOTFYZnkrNG9ESHhvN2VrY1NJVFlmbktXU0duTmlFUEJGN3QvdXZ6cFhE
MExsNnF6OVl4V3FLS3RBS01DUVRpbTZtc0ZSRlRncUMzRjk0c1VqT2YyR2tpeDRrK3V3WUxQWjZL
S1V2RzFVYVR0S0VrS1NUZVlLUW96TnVmT01oOExOc3A5cm1Ta2RJVTdudGIxV0Jmck93dEkySHda
c1R1aDVMeHRkRzZQdytYQi9nTTB5WnYyaEp0Y29zZFJ1dyt4R0xHOW5yQjJlTlZ0dS9MTmp2NGFX
R3NPWHcrTUdnMWZIN0VZNnk3V0JMdzE4MGpHZTd3bUpnTjRqc1R5SkR1NlVkc1FBQ3R5NnFxMUx6
VUd4Y2w5VHBmSmYxUlAvQzF6NXFwWVFOcGM3dUJLSk1CSEJ6anVhU3NTY2VBZ3dIMWUwM3R3enNj
OGtQNTV0V3VRODhpOUJIbHhFRzlNNDZ0TTJxTjJnLzdVdnNVQXlnUHh2UUgrRjlkMy9tMU9ONnZ6
bUx3Zm5XSkVveFNYNS9YQWFNQmZKcklmZW1TTWlWaEhzSnJJRHFEdDZ5WXVPcitURFpyU0NNUTE1
cU5MRUY5bWtsL29BYTZJN2ZHSEd1UzI5Q2d2ZE9GelhFUHF4N1NweUtVNHlsUU1wamFWMStRMzkx
RzZIZU1rV2pjWUc4ZTNHZDdrSE9zMTc5U3hTeVkyNllKR2pGVDFJWGIvUlFRa05NS05XQ1BKdTB4
MUkrd2RmdjR5SUcvZkhmcTFMelhna1ozK1hGVm5ucWgwdngrdlpDbDJSamJQeDBjeUNPRUc3b05y
UzZEMDZLTWZOVjlzT3YyeDRYWFRTdFE1Rnl4L09Pb2xHVU1BSExDd2pXZ20zTmQzS1M4SWVPVHAy
OEJHa1F5WHQwUHg4OTJabE9XMGxDODgxTFhtRXpsVkFnUWtlaUdqVjRiTzlzOVd1UHFTdlR1eWVU
MERZaHpkTFNxUDhoWTE2aVVkMDUraGpwYzZpajRSZFFObllkRWMrTWo0N1Bha3RKV3p4bGoxR0tO
cFo3M1FyaUhjb3Y4Q0xLRlZnbFkxcHJSL0grNU9lQXpId1FEUEk5NVBkMW5yUE4rMGdMcHpVMkwx
R1d5TEdkRXl5c2RlMUZSbU4rbUx6RDdEc2xLVDZGTHMvbGxhQ2ZFVG1EejJ5SFdNaUpoS0FBSTdV
cFJuSGZoQjZFRE1zMFptTXp6ZzlNS0theGJYTWpVS3JYbVJyYTIyQ1RFN3dTL0U0Y2NGMUl3Zy9m
LysxRGpqcFA1bWd0bzFRMmYwbC9TanB3eTVRZjFOcncrT1c1RUVYWGE0ektZS1BkTWZJSFpQOFFw
NEpGUXcwSVE1V21Rck1RY2hrRTZIOWZRUEh3TE5GakR5cGE2VDVjaXo4bHhpSXZPV1lCUXU2c3pQ
SjhiWlptZkF4VmlYbXZEUVB6QTdXZ2NFdjFaRDFXZG8ycTVNV2xVbytPcXVYaTkxSlpiVXdBY0Y2
eTNYSFA2RURLZlZRdEhzU1htWGxta2RUM0RldWx5QjZMMVBTSHMrU0RqeGJkS214K2o0RVpGRk9O
Rno2Nlp3UEFHR3Y2dFA1ckViTVRkNm9lNWgxUGhmQ3dwUEJXOWF1NzM1VXNPcU1zN0FJczhjbUpa
MEJnbnk0cmFmMlc1aklTbEYyS2ZEdjNiNmtIL2tkNzlPWWNqMWZtZ3pZTE9WU2llNno0bUsvdUpT
dmFFclpsQldtWmRXWXlUYWRnWWk0QkhPVHRwQndpSURCVW5qU0lXUk16ZUZjWUw2WklKMEZuM1Ro
S2Evb0kwNTh5SDRsR0d2TExYejR6WVRWc3R6R3FHYSs3ZndWemMvMjA0TUlFL3hScytkNjhGWmZH
bFBaWmdZclV2V3FoTWRlK3BFZnhEdFMxRlVneEdkRzVjSXdQSVgrU0o3WGFWTkVEclVxcWtGeFM1
Q2wwTzdadnNVdU9aODRtVS9aUkNpK3g2RWdDSVZsYlN3eEhJLzhhMkdKVCs3emZyMGpVSUxPZWth
YlA0UWNoTUtIc0k3b3FWS1RLMzljUzFLekJLR3QzeFE1ZlpreEp3L1BqN1Z4Wmp6b1pOR0VXUk9y
bnUyT1gvbmI5VkNqeXB1ZUltbW9zWGtvN1REYnhSZUIrUjdLQzlYamk3U0tFRVlnMWtuZy8wb1ky
VVZDMEpaaFNDZDgzYWlOcnNlSjNXL3E1T1l5Vy9RbFdjS0hYclo3bDZocm4zeDNNeVd5U3NBa3FC
eStEalNhclhnZGErSmJaaEhZa2xXaEpoMUg1Z2ZnZTRJVHNtZHhRNkRjd0hDcHV2WjRFUVJrNmU0
amVFbkJEdGpGdUdDems0aDRHY0N1b1ZUNWJBZEtKNkQxV2RZMlRiZzB4QmdhNjNwOHNLZDJSMUxq
VHpYbnRGNnZ4c1lKaTUxT0FpQmMrc2NVQnV2WHVvTWUwTWRqZnlxbk1raTJ0SnFxU0RmUFlEaHd0
ODB4cU96a3JIVURXbHVkd2ZOUnh1OHdvajFPRUlKcHBUWFdlaUx2OWVMQVJYd1U1M3BQWFBobW4r
TXFJOWRGTUJlZENQby9pTnhZd0N3Si9XcXZGamltYlZpU3V1Y0hDMmZvNGRWbjgwOHYySFBUQ1BB
Ti9UNEY5M3FCN2xubVpSekFoUVFLajhBc1VDYmJGMHpoWWV1UWtGd1hTakZ5MmIwb0d0a295ZHQx
K1hnQUZsWWtzYTgvWU4zTzJxZGZ2amxqNjRrc2kvUlN3QkFVY0dTQ3gxOXYrMHVrOUlYVmpBcnpq
cUVtVm5jQ0tVYTczNjhtbzBvcDNlbGd2YUZmUDJrcXgyL1UrNmFhQzg4RHRuSlE4bzhIeVNWWTJC
SXlIcnptYURNWmVHN3kxcVE5em1zTTQvSnBBNFNrM3EycHBnN0k5TjlvZkh0VkwzN2I1OXdleEhN
QnVCOVJFQVJtQnJXL1V2eEVpVzUwaExGWVFybjh1UXJYckJUTHdIaDdxNDBTb0dVbVNCMGRPMEty
MDhPTTYwVVM2aWtYa0V5NStmS09qMCtXcUVibCtsK09va0w2V3lTZ2kzRnQ4d1ZPcTh5eXhhUTdl
V3Y4bkg4NjFYdHdCeFFsR3JidTRoSDdQck8rVEg0c3RjYzYrQk5EN0tWYjg1Z2NhMU91MnpIQUtS
bGR2UGE0UkVJV3NYUVp6WEo5UGx6YXhvV28ydS9pblN6S2FZQlVkRUVqMkNzaE1ZL0Z2NksyMG5r
MGk0YmVNZ1MrdTJJaWJWbEQ3OXJ6M1cwc3Zja213WVNOMm1LYXVJVTUyT2M2MmVXREZ2NnhUemZJ
Z1JDOUJUSWk5WTNBYzQ2UXVMZGtydFVDNmxLTzM1bzVQZ0NrUU5ZTEY2ZFRSRzF4dEFuYndZVzlh
YWRiNzZSNHpXQUk4dDdocytTd3p0YlNIQ09yTStwUERiR3AvLzVJS3o4NTVXYTZ6RnNLY2xtR3RQ
TjBsMU5FemtUODhrYURoNzN6NHNUL1Jhc0prUTF3NjIrbmI1d0VTUEthdjRoNWprcTUxdkNwN1lO
RHoxQkhHand3YlhkSTZVZUpMS1FBOXJqUERTVVFWNjM3eWtBYzFqeVNxVy9IUlRGcmxIaXd0OTBz
dHlaTUk5eE0xdm9OcHFtVlpOQTNrV3l0MEF6REhDa2hCaDZ4cjFSNjdCaVlnRzRyQm1BY2xwNnVj
K3h5Wm14VE1IRTRsemdUWXoyNzd0bDFHam9ZZDZBWFhXeGlxcXl2RHVKV0tSSG9EMkQ0bkRUUzZx
OUpjdW9CRGo3K2ZkWnFLOHNHa0c4VW03TGhRYzRrUkNXUXhHa1YxaXhHTzg2N0hLNFo5ekt6c3Nr
akxxS2tPNS9sV29sZVBXKzlIaEFWN2RQckZoUDVuNEs5Y01lYU56bmVsd1p2ZitiVjRBK3hzaVNM
UXVmdVJyUXNvdmVSR1Q5cEtCQ3M5S2EzbUdZK3J6WXgyRVN2eXpTWVZQU0NNcFZKWnZGcjFTSHQx
SnpvcjNQYkFTbEJQZ2ZLUGVyQmRKdGZjcWw3SnVvaWlZTy9pUStZb0EzaGF1Vm90RTdRcjZOVGl5
bkI1dEFlUXVuSndpelFzbXlGRlhPc1plWjFUbVRmNXZTOTNLWHRDRjVscUxXa0ZSdVNhanBRb3lY
ekRMSkp3Y0Flb1RaeXg0cXlpWEQ4M090K2hhSG1zNXRDakl6Y0p2TXVSTitUMm1XdHVrdFpYdkJE
R2RSVVNjNVBLNkJ0Sk15cU5TeldJaENtVU04V3o0VFA1MTVaOEIvUDVFOHh4azV0T2JoUkJ5andK
UWppNGFvalhjR0NCcEREbVdLWFVnb01QZkxTOXZ5WlZRRXRSS3FXVXRTMU84TnpQYkwvMnRaZzRi
NnRFLzJNNE5IUmQ3WFo2NzM5TDNCcGQ4dGgyTkJPRXNnVTF3REFjSm5LRiszVmZ6R0VxV2xJVkxS
amx6SXora1JZT1E1L1NwV0t3Y2M0YVFLNURydkg1N1loUFZudlpFRjkyTjA5ckxIaG5NZzEwNDZ0
QTZGUkxTTWpKczRRMmZ0K21aMlpQdnBXU1UyUXpmSWdPZ1R3T2kwdCtjR3dDZGFMS2ZzTEZPSGpZ
R3hHZU1mdUZ0b3NybExYWXdXTEQ0Z3VpQlZQZjBQWm5uQkcvOEFZM3FMeUdtT2pEbTVFOTMxdDdD
MFhuZ09uV01BV09kYkxTV1pDQk9EQ3RhNUY5VTJxdFIzK0dCTENkaURkdWdGdGQxSjN6bkNPTjBR
Q200L0VabVdNRWxyN1RkTmpmbTFXTlVNLzdqMnVxa1Vmd3NkOEtOL1R2ME1EOEdxbWQ3VFgxRnQ4
cGxucmpnMUNpU0U0VTdjUmhKVHg5UWtKNWNHRzczWFVSa3E1MjUzY3A0MkFGemxkaGRDOGx3dmtF
dXNoMzNhTHE1S2l0MkpmWmlHTFVVUThZckUxTHpMRy9ZMS9pRlZ6K3NEUUdnYTYrdGtvVjc4clRZ
b1pPVUo5UFhrSmpFaUpXZzZRSXo1RXBrQnpLODBKVzh0NWZPL3loRnU1eW9DUjFqYmd6Sy85QURy
YjVCRFRtNE1DVXgrTnZ2OGNubUhxUDdQam5UYWZNV2U5N1dtdmtYbHVMNHlPRzRKWWVRK3p3ZlF3
Sythby85clRiTlpFaTQ1K1lLbmJ0a3VlaUNTYnZkbUI2VXh6NitIcWFGeXdHZExZTXZYMkJieWZt
cFZHK21kL01RZlJzRzE1aHBPZnNKQTYreU1Rck1McERQVzR0SEVmQUQ4S1ArbVA2VC9lOUthM05a
bk5DTFdFSG1QbGxENm9FeFdHRGxCd0lwbVFudDdMV1VIZnd1RisralRZN0V2aG4xUE5yMjkxUlQv
c1hRdm9CbjdxQXB2bkNHeWhoSDNyMnpRUUhDMDdDM1NyOEtsYi93M1RCMzZmK2gzaGVXTE4ydUx1
OWp6MGZnWGVaT1ZwSVRHR0FYSDhMbG1DZ3VwZmQrQi9vYnN2V2F1dnVCaG53QlZsOHdyYjlhY2tF
YWlONGwycGFxVHRrdVhqb2NQYU0zdXFFSzdpTUgraHgzeWtxbjZOWW0rQzF2T0ZHc1BpcGJzNzJV
RHFnTGgxRVI5Uk9KR0M0elM3Nklua2F1bGQ0RmtQdGlRZ3llc1YrTFlJL3ZNb0h1UVlxUCtTTmpu
cjdteU9Sc0MrM0dLODVsaUE1VjVqOVhkbVZMUFhCQnhkcHdMYS83T2RhYkV3blNybTVSVW02RlpF
RG0wSFpHYzJtYllWZ1BMUXo3SmV4eERRNkFJWWI3TEJ6WFRQR3l2SDJLRzBDQ0EwMTBlZFg5MzJC
ZCtsNWVrd1VFS1VmcnpRenJIU1k2WVp0MFdKcnlweTdBdzRkYlZOenE5ZlpaeUhVSVRCUjVKbDZT
dmtUdTdTUXFKM0xWdHpkdE5DalU5MFlVbC9scDV2QkJJYVFMR3huVnBSM2pyV1p3bUNXcGNBalZn
Q0xRcUp4NEVxL3hZTW4xTUdEaGRXTW9hK0RtWUFPYU03bTJONVlBejJhcFpXOStSSDk4MkFMdksx
dEw0RjZXczJ2dXpCOURQd3BPQlFJbU0rdXAzYnN5U08xeGl3REhpMitscDV5Ukxub3lRNFBUWStS
K281SmN1RWpIQ2UwOUdVeHpFeHhUS1JuMUsxVGpUcWM4QWpJYnJTcmxSR2c2L3NDUlU4SjR2Z0ZH
SHBsdVlkcm5HU0ZBbEtJeW5ScVFNMTlsNXIwaTFna2ZMRERJalRqZmhGeDRTTFRzUUhLaWdhSnli
YUFpZmZsSEdySSt1Y3Y3dzR0UGRBWU1MZXBET0xiaStQcDBreWw1WkhGMjJYQjI1Wnh4OEhVNFRy
VUJ2ZzdWOGEwMXlyZEhabmxjQWV2L250c0ZLa2g0OHYwRlE2ZzVRVCtONXlzVEN0R0hxTkYzaDRW
bmZPSWhtSDdGRUtoV2UyRy9HZjJrQUhFaFBrVktZUkdYNmFGY2xqaTFCU0NjczF3S3p3MVYyRUho
R2RwNHpwbGhQQTlEUVBoakdLa051dnRMUmdidE9Hb01yaTFvNFF0dk91NzlMUFRMVW9QTmVYdFhF
eGp3UlgzeGM0V2hyR21raG1EckUxVWNMdVdsbkVUSEM4aUdUWDNRbDFqZVlBWGpYeXVGdVh5Ri9D
S3I5cEZuMWxoQXF3Y21kOW1meGdWU1pSMk9PTTE4TVlaV2NiOWhSMmkrNi82dDZJTjJWOE8xUS9D
aGo2L3JqOUxnbDQzVDg5UUJqcEFzOUJBek95czBxUFB1cGQydGZ2YS9DS2ZJYnVpZ0ZHd09qU25r
MGFLOXM5c3M5RmVwUFowWW9OVG9yVWlMVnVVZ3FhenJESzhndjdSVU80dFJOUVpQME04Z294dllw
TlhBMUZ3U1NMVG5JQy9Tem40M0xEVUlGeG5uZERjKzhIV3kyZUZ1Y0RUWXcrZWZOaXpsQS9od0pr
aGh4eEN2RHhhRGhxRlF1Mzh3dDJlYlArdmw2VXJqUVg1UElNZFhoK0E0TjlYdU1acHpZVE1wMHB2
bzJPc2lXU3IrcmZtSFFaMnRTdlI0NFI5SzJmbDNodUFXWXhoTmdCaktBN05VL3hNM1dTNEZZYlg3
SmQ2RU16MUoyalBJNStUdmlZRVFpN3BmeWJrSGdQSnowRkRic2pVZzRiRUlvZWxralF2bDJjOHZw
NEI0VXgrbGp6ZVBSRDhJekpMTnkzQXZuM3J2TitDZjc5MzV2YTR4YzZnQ3c1VnFxejBXcndiSFB1
cnZKeUVCRDFmbERGUFFGVFZiVEJvRFR2STVDTUxYcDZtSnN4MmEzQVZEcUV3a0lIL0tZclNFc1Zt
QjhEQSsxaHZvK2FnSU5rNkpyeGtidEJYbDVjdW9FYi9VQTIwdkFxNndLbnFKUW5qL0lCVXlhcmRs
TWxFUEZxbWw5ZlFncThJY2xSSDBLTnd1ZUF4ZzlMTzhzYnpBekZuV0RZTWtGdzdYbWZ6eWhUUUpu
QWVwK29kVEhYYXJpeitmWXBNUTdLdENGWEN4bjQ5U2RDNWE0aTNuR1JHY1ZTRmJvcG1HNFBUc0ZI
TTI4NVkxTHNQMlZrU2lub0JDZmR4SDZKaE5EWm5yd1BGb3V1WWt4Z0FFY2pQQllabG9ReFE3Uitn
dFhYa2JmRkxwaFJpaUZuY0FkeE4vZ1krNjB5dzdnTDBQZnEyZk10bEVOeTJZV3pRWUhmS3VDZHUx
Z24raVorWlhWZ3loZktmN2xvWkV0N3FtemwwWDlmZjRwdHZ4RWtRNkUxM2dNZUJONGRuVUZoN0Fo
U0ZZSnlCUUs1NmE4TDhyZWRuaWZsNUVPMm1CQ01xOXdueCtkSmxpSEw5MUJIZ0kvSGpZSG81VVNk
MTlIN0JQWnBDV3cxS0loNHNoMWdmRTdoNGxTM29EU0JGNlRMR2VqZkdtdHA4Tm9VZ2NJdzArZnlN
OWZ5aWY3UGVEV3p1UzdrWmU4T2MxY3JWTDZyN2JXdHBCYXVtRG1zNEJ1T0FocTkrd0ZrMDYwVGo0
bkJ4bG43MzFUaGc4ankxYkVOMG5MQ2ROdEZnZmt3Rk9uWnQ5akUxcWVtdWYxeDgvK1FWWDQvTGF6
Rks2Ylp4TDZJcVRHM0ZnRjJaZFY2Tk5qVWhzQlZBRjRGL2wxdTJ2RElhb0ZvakhhamRmREo4TUxS
TVlkeS9OS1orell1bVl4ZHRmOWNtN0xWeVN0U3NYUkRyRlkvRldxT0cxbVU2d0RPVlA2YzRYc2g1
Wi9JNW9TMGlkemNyci9nZm5RRzBqN09aYjVYN2VNY3JrWmx2T0orODNTMEsrLzBlZURYS2pJbXlC
WWtOb0dwRlBFVWVHYVlwS3Yrcmh4RjNiRE9uYlVVQ0ZyY0g5WUUwa3I2K2ovdDhQRjcyaHg4eDRY
d1JGdmRhOGRVS3oxZ2IrS2s4dkNUUDJPeU9BdXRtYW15bmdTVzQ2cHd2bjYzUWFXVGVUb1ZyR1hl
OFZhelZ3cWE0MStCbjVLeTZEckhVUzZncmhLb3pQLzczV1B0a2REdFBIR2VkKzd5M3FjUGpmTWdY
TkNxc1JTa3B6LytKRFo2RTFNRUxCcDN5R2xvTmhUQUM5K2Zjb0QxR3JoMVFpTGZ1a2RFZEk0dEZv
QnUwVkNOdHpSR3RMRngwbHc3bVluanJvVWYzVlUrNlpvWERieVg1eWt6bnM2V1RBdmpic3NPcWRF
eGZyaWQ4WjRSYk9QTm5LaXo0Vm5GSXQrVDY5aVZQUXRQNkQvQzVqWFk3Mnl6cTZtVkM0V3U4dzJO
UDFiL0ZtTHJXK3lVY0FPTG8wZmpqVXZyeGp4NGlheVUySGZMNGhyYktrWXVYSXJVQ3k2UVRYU2xQ
aVhHSld2VlZuNmZoNE4ydVNaM01IQWFhQzBscVg0UFBNSWZQamFkV1N3WW1QUjI1RmowU0FsMC9l
VDhGeURrY3pkZEowN3N3SVZYSWc2Rk1xOVN1QkR3L005eWw5VGFuR2xRcW5aYnFxSUt6UFdDODBC
aE1DK01GVFA3TXdhaGRvNlhJYVlLYzhMd0RyZkdtNUo5OTY2K012cmphOXdpdlYzVXY3V2RLc1B6
S09vSkJMSUpwWjkya3UwZkRlRlVhRGVBZ0ZmSDFmc2NZcDRQSnFEVTdmOU9vK0ZTandqMXluS3hU
c3V5aUFGaW1UMFlMcUdsWkZrZGxTbjFILzFXWXlkeW5YdU4rZ1d4Tjl6c095eXpyQkc2b2FIQjEw
SzZ6WFo4Zy9YajErYnA2a1Y1VW54bkltdVlkcVlZMzljaERWU0RxRVJjYnRHWGxsYU8wMnQwaUlM
YlR4c2ZyVmI5Z0wzaXpsWEoyNFYzeE05ZURKa0g5MmJwR1duRUZZRWlHU0l0WUtrem4rV3FlSzB3
bkVxV3lQRkNwdjJEVFhGUTNIV3E4VURGelVXQjU3TlpiN0xZSFBaQlArLytWSm9Zak1UcGU3V1ls
WEQ4R2JzRXhkeWt6NERaN0h0NFZYeXZyN3VIcEtURENucHIrZE9HeHJpelFGcENDODhmSEJyV0lY
VWdXWDBnd290NU80YlFha1JET0dvS3BaOW9DdytGbTVZMW1qSVR0aTVYM3RXYWQ0S3BLaytnWTl6
dHNrRWpkS2ExNWp3NUpEYk9hbTlVVEZvRVFoNUtRaXcvRyt1MkcwZVdiR0FrS2l6Rml4N042NjZ3
VWphazRyblhSaisvY3o1eUZUdmJtWXc0V2xZdldqK2JKdGtvejNMU3BKdDduanhsRGRzdDUvVVFM
R2RZK3RnaWZyWkRVbllxdXNNSmhnL0trSVljeUprTnBPbnNVZ1ZVUzliWkpzWmhJeENvYU9tOE1G
aEhMWmk2VDFCSFFGN1VpdmtuL05IdjlJSmpFaFlLdHVacXhEa3FWSWR3enNCYUJ4NU1pT2ExTGpU
OE1Fd3pwME1mZXJmeGlQSExvVVM2SzI2TzRUWng5OWgwQW1sdzJWZHFVVCtjNTRyNmxoZHdoN0M1
b2RaWEt6MGw1NXhVR1FtZlpvVkZvbkhlOTRSaytyckpvMVl6K09jT25oNDBXT1Rvam5CUTh2d1Rt
ZUFsYUNlUFR1SFFPMlhlcnhWSHF3dU1VNzBYS2NHWWIvQU15eHNDejlXdVNYcm5XVFBFbWNZbUdv
MjRNTjBCL2R1ZEZqWFZNWkMrYWovVTIyRFQ3OWFXTFgvK0tKSk1QSUY3WTVUWmo1Y21qL1UxMm4r
Z0xnYlJ1UXZSWnFGVmlLdVVyRWdvRm9vQ25vZXBNaXIrNTllMFBUcXdBRnRJUUZKUGp5c1JERDNK
bU1abXhiOGlXaERLZXc4ZVVZWmZMam1EN1RDdDJEVFBSV3pOY3g1VDB3YTFISWRRYVlIVXZVTFdr
MVdIUzJUU0xOSzRTTjdkOHNkbm9QaEJQczlGU202TXBoSTF6amY1RDYwMFdrL3U2RFhpcms2WnZk
N2drUUVUMEZibHZrck5uR1RucUI1OTE2aFpsbE81UkdNMnlGTlFmM2lUSE1rODlvWE9RVmVDTHhi
VWw2aWVFMGNJdHV2TEZWQkIwSlpUTWdoL2taWUhTK291aTdsdWRibk1rR2xoeE1kZTVKcVlqNjBh
NE91SVYzeGp4N3RJVUZ5bG9OaytKLzFkRThLb0tLYXNIVWxNclY5VWovL2kxV2JSd1FBUyt6aW5t
THBPZ0NlT0hZQ2Y2bUxoQzdVMTZUS0FUaVpjbVNCZ2VRQXk1VjMzRGZnbEV5bnJpamE0dUpKK3JE
YXdFR2hwTDVyelZQTGZhMzJ1dkdtbnMxZWNsb2VMbitQcHFoelVzcnBGZHR0bmM0MHFyOUVGTnhZ
ZThtc3Z5ZzNOMm1DRzZ6RVZ0OFF2WTZrcjQ1eGg2eEVtNWNWeVloYXBwT0s5a2RnY3RwaXdpcWZK
MTZ3Z1FXMCtIdWtxeFZ6UjR4WVo1cGd4N1ZaS20xVE85ZVJVdnRxVG05WFJMaXpMY0xSN3FoVFQv
OXlRMHpMNlV2VENhOGxqVXdQTjVwMG9OZzg1bjZTbGdqQlRGaFhMeTBFZDUvK0FPZ0FmbzFJSEpS
aHVuTHpBUU5NZjl3MGJlNkdYWEoyUk5DY0FFR3BLTm03cTdtcUxRNUtVNUJteG9UVVJ5V01vSFZE
R3pFdTVhNkdoKy9qRm90QktJRGMzd1JJcE9odXk1SkpRMEVNOUN5Mm1EdzRibnhsclRVelU1WjVu
S0V5RXg5K1IwQTE1b3VlNlY0MnhxcnBZMXkyL21BbWlvZC9IVlB3NHc0MjM2blJISWx3aFBCRndu
ZWsxQ0xSYnlheXJiOTYxQ0U0TnZWQjJVcjJ3WjZudTFhajlQajRucmorMnVQTUo5bittWlJrNldS
dTRZM1hYZ3JVQm1DZFJ4alRxN0JTSWNxRmZtb2tZWmhmMTY4RlZCaXdSNm9tZU41VGM4RW5ya1p0
Q2cwcDZ4K3hRM0xrMFZSbWpRZlNpRC9CZ3lBUWhySDJMUjlndGRSTUk3dHZhZ00wUVFnb0owZTBs
VmM3aVZ6MEhVMEhwc3R1Yjd4UnJ4empSQWU0c3pPdHZTY2JDSUU5d2Y1cm85anVDVlQ4OGdRV01F
NlhmV2UwUi81cjNOejFheFBsS2VGaFQ5N2h6b1dTWC9NUWU4STUwclJuMFB1UkhXb2tZNWlIUGxt
TEdiV2ZVdks4ci9BWi9aWXBBeXU2Qnh2WE5BMVpwdVlXSjBjVm01QkpINW1xa3MyTFpIdWN3ck5W
cytGbW40RHhuUGVvY0lGM2gwQlgrMVVCVEUrSzRMdjRwRjJPNjhRVkhZYVorNUd0bkk1ZXlmRDNh
b1VMRndyNGdjczQrTEFQZ3IvSEhQSk1MTmFMWmtXbjdIMlVOcm1scVN4MUxrVWFZZ3psSnJ3TEpT
VDl3ZFJHQWttcDJZQ1d0bjBvbm9CWDR3N1hiTlBYblhvVVd5M2UzQkN6dDJBbmpjV0lxYVJ1bjM4
QUdLV24vR2xvQWF6cGhrUDlhUkdrVmFicTRCN29zT2xNMVhJVGwyRG1DVm5Qa1RwYU9UeXY2a2Q4
UjdLZTVHazVVVWRJcXBSOU9UR1h3SlVLZ1daZDRNNjFyMGdFR3pmNEZJbDcxMEFuVnpCZDFqK2po
S25FczJBb0RzTVpXM3k0eHVPZ1U3ZUlLZ01GLzE5SGJHK21zUFNrbFFnekJVY1V5UWcvYmlnQkpw
bFNDblliU3NlZkRSNXhkcWkyTy9jaHRPTkFMZG9ZL2VXY00yVW9ONFhoMjA3MGh1KzYwRjBCRTU4
bFRkSzBTYVcvbDJEWDRaTUVPUUhGWnE1aEdzS2ZHNGtITU4vWWJZbHJYc0M3L3dUM3E4S0JMMXcw
eGdFdkh1eW1uYzZDODB3aVMyNnU4MEt2cE5RODlMVHpZdHlDeU9VZnVvQ1hNZGlVS3ZLVVYydkNK
d05NWXc2TFBsWGJUbHdBZmlKMVhDSDQvMlJLRElEdVZjbDhGdFB4RVlSdzdsWVliN2ZrZml1TUM2
MlZncGFOb0pKNjZqeWZBenE5V045Z3ZYZ0ltendhTmhJajBJVlRBQVdnWDlFVTZZZVdoRkozYTJs
a0xlditZVTh4Q3hWekxtb1ZHRDZRd2RGTmpQT0wwSUJGbWkvZEVxMlQ5bzhyS3JPbEZqa1BPVjJC
RllIVVduUzZiZlc5elNYelRva2o1U3phaUhaa2h0enYzRXJwM1hWTGlncnNTbjhlelBBSzNPYmhr
Tnc5c1hCbG5laEVrWEs4OTFNZ0IrR2xBSWlNazY5cUJsTmpXQnptcmRhRWpqRUNwS1NMQzZjRUdP
dnhiSWVLZXlvNlhYU0dabkZ3T0pySE5XdXd1NWNqcnRkd1JIejRFb1hTWUFjNFR0VEJsZFo5TjZx
U0daWmVMVUlOUHlDdW9Yc3JCTmNHVThwUVJJYTZTT29qTXRicEs5VituM3BIL0ovMXZZbnJnbWxt
RHpXb1lOSWlYTEl2Mm5wWlUvT3E2WEUxM0tvZ2ZrVDdpZzRmdFgzKzlpUFVPWUpmaHhaY3ZvRmND
SXNhcWJpVUI4UW44RHlKZldiS09aN1psWitvc2x2ZlNJZ0ZxSWNzYWsxRnY1bjBKYjc1MUJUYklm
WGw5RU1HSENhUi9hZGp6Vzh1SFVoOHlDMDJsVTFlVUtoZlpjbWdwQXByL1BZVEVRUE54M2hGdGlU
T2pWQWl6ejBmVDJ0aTM3R1publcyRnZUWHZvWGZ5UjJVOGt6YTdGQllNcTZxUnVxOVNZRTNPSGgw
c3FWRzZiZWxRRWE3WnF1YjVSOUFJN25ldGQ2cXBBSjdiQ2wrR1dra0NvSXJMeWZWQjBjWXB3RzNT
SFMycFdBakpzZHRibWQrckU2UHU5VkkwLzh1ODRRR2VJekZreVordHlEN25rVWw0TmRDOUpkdHlZ
MVZEM2w4cDF2VCs2ek5LRUdKVXVZY3FsTExwcGQxdnBiNlNjbDVMN2N2MU13UjBSUWNValpyV29i
ZTBoVmVHYW9mK1RZRWFuVFRTQ3NVSlVNR2FSRVFzK0E2UzByRGpDVDV6bThhTHhNTzZxZC9KSWVq
N3dzdUpwcXY0bG50RGZQZnhLdDdaSFY5b0dEams5Y1o1ZnJXWU9udmN0Z24vMzR1dC9rL3pYZzNn
WDNzblR1VSt2QklrY2psMjRYaU1kZ1FDa0tJZHhIdGFQYmNBaWV4OHQ4dGt5V2REYXhNcGozN1JJ
WkVtcjd6SWRYVVhVeENsbGM3UER6anhLZXFyNU1lSlU1cUkxNHcrWDU1Mk9lamQxQ2NBb21La210
OUU5bHg0YU5zNGJvN2JXeVY1bE1Qei9aRHU4OTRRY3RlWmh6RW11eGowa1ZTcU9MQWVGRUJSUXFR
YXJQK0w0WTQ3NmdhVHlVQWg1RnUrMFdDc1hsdjJWMmp3RzJlUGliZ0ZLOFVMVjdjRSsyMzhmVjV5
b0FLN2Z2UFFDRC9ua3pXSlFudTlXZ09QTEllYzVpME80b0V3UFI1TlBLM2ZQMUNOTThRTG0yN042
dmVLM1A3Y3dqcUhJQktMQkl5cUc5NklQMXRsbXRuZU9XK1FiSUwxaXMxUkhSQjY2cUVZL1U1aG9M
WFRtUEdwMXljWG5yWS9CTVhSMU1ZU0J6eGZaZkgrS29uMXdmOWJLQmdUbTBpNllIT0cyeWsweVpN
dTl4OTN1bmJjOEFoeGZHVWlZTEYyUWdYRVBFdnhnZFh4SENYdW1FRHE2WFNSdmJvWUZpRmZtRWJv
S2dJMENHWlhuTjlEcFUvQjNLZTFpanBzbTNhWXFUbnlxbTR5OVM5dVB3K2U1SWpKVzd3UlAwYXA1
N2Vtb0dQdU9QNG1hWTlXSEJ3aWxPVmV4M0Z5YTdNemVIL0pyTW42ZlNGWlJjNjJ1TVU1TjNycE10
ME5oTzYyY29xbkt5Qk52Wkh3OVdnQmZTcklvS094UW84UlE0VHptelZMdmM5RHQ5SjNlSi9LZmEx
Q3g3VkNVWXZIc3JJYnhsNy9KMDNmUEJ4bUl6R0tTMlBPZWxLY1owWkw1SmdOQW5tUkI2SDFERi9U
RU9BRDFyV2xiRHp3aXFRait3dnJnVzA4WTkzZEpObk9lK0NHeUhKWlAyOEE0UkZHcmZQeXJHb3Nj
KzNXeWFPMzVyT0g5eVpnZUVaYjlvL3FURWcrQnpQbHM5aUpIR1h2K3BYelp5L0M0Yjh5WTNrazRF
OCs2OXBpMWFNTlZ5U2cxOHp1SkpZaUhxK2Q2ZVA5THJZUmVmY0RkNFlvWlFVZ2pGalo5MWdPRnNm
VXU5OEFheGI2YVlwVnZWWGJ6SnNzcHFMTUFyZjdCQXRqeVdtMUlscVNEYkMyd1hwb0NTZGRCeFNI
anVqKzl6eEl6SHoxZExOdGwvZ1lLeTVIRUE4a0RWZlFiNlluendIYjZUdU5LTU9kLzQ4QnRIN0RV
d2F0YWU4RGRFelBLNUJ2K2NwMzRYRzBONVB6ZFR6U1FYc2xwVEpCeE10ZjVWeUtEMEFxejU2cXIr
Z1ZjMUZQYmJERy81eVNqT0JxSm85RkI1NlZzR1lxdmNTUUM3REgvUk53TjJ1SEY1SlQ2OFJhUG44
cWpERnUxNzh4Sm83MUc4M1M3dTZnblp6U3JHZlhTcW9TejZkQnBlREYvT2xtOU5rNVgxcEhwWWNY
NDZnTjBLOTM0RHh1QWFwajNsY2djRTNmSXhiY2JmTkRSOWNvdDc2RUk0YW1abW16UjBhUURyZnNI
U3RMOFU0YUlaemZaUWRXbzFzd0daSGZLL3JtREdZSEdvY3RFNEhUT1JKV0dxTWlvSWQ4QS9pQWhG
RmhkTDBTYjcyVEh4cGtpdklJUVRVckh2Q0pXQkNDd0hhYjJ4S2Y3YXl3WGJSZjZUQkorRVFTclJX
MHFnMVFBWEdLbEN4b2x4Wnp2WkEyaGwrbkRBbk1VcEl0emxYckVBV3BZMjgzb2RMalJoSUxjMjFD
eGMrcXAxZHNKcGF2ZnhqcCtrdjkwc2pPVUN6N3BtTVpxQ0hJd3VFenhON2tnSm9Za1FsZlBpbEh1
ckdKSDBIekNaTFVjZnNGUGI0Sks2emFwcDJ2bDlUbmlQaWZSdlVnOUhCeW50bFh1NXZyVFhvS3h6
VjN3eG1KQUY5Rnl4U25aNkhmWE9Jd3dOd1IyUjNMbFlqUm5jNXAvenhlTFZXQVFRblhHaUJGOUkx
WTJJNFNvMTAvTHFISU5ZY2JSNEszOE9XNk55NXhQTTZqbVdycVE3b283dUw2NFB3dEpmelFFeVlp
YnVsWGdRRGNGbTBGSndXQkFkOTRxK2xMeTF0WWhBVE5YeUVrNHh1bEZWUGZMWElNWG03UnB4UDcz
N1FxVWsrMmNlS2VRYk8xNDN5dU4xWUdlSmExWXNHVVM3K3U3cU9MamJjNENpZVplZ2MrVStHQjdm
VFdza2Y5UHpuWWYrNEJJdnFBeXEwOTRzZTJmMmNVYTZSNVhVb04reEJKRm9pYUlJcVR4ZUNLS3ZS
d1dMS1lpdzdLRmFWZzkrSWdtY2VxcFdmWHZFVUZ2M3I5cUVXd0QzaUtEZkZOei9vbkFpWEp3cm9O
T2N1QXRZZGJaVC9uVmlZeSt4dkxyOG9KT1JsWXNLNlZOT28ycUhHUU5xL3A4RmRQNWlsTDBXa3RR
cS9lNEhYUGJ1TWJnalNwS0k4WHBZVE5IV3NybkRkSlBsNEVlNDd2ZmlZNXZGYk1Fb2U5UnpFVHp3
Nm03NGJuWWIyQmpJL1pEUy9jSmF2K2lWQU5jcHh1WW9OeWxsTXpUT3F6ZFF1RktiVHVqOU9sdWlH
M0dWY2pZcDA3L0hjWTF4N09vMzFQNkpjdkVxb3JpT3Y2YWc4am9TTFdHWFQ4elhRMnp0cVEyYmJU
eHNrMEpPdS9jZ2podUxFTlRoMUpXU0hSdU1BbXM5VW9DME1lY0FmdkEyTXBuZng0VmJGOWFYVHRR
VWFzeXV5dDNsc21Tb2svUjk3dEc1TmxucDVMQlozWGd2VnFYWVN4Y1h4MVRWbWxBMVBJZktDT3pZ
T2lLN1hGSVdud2FCdkwyb3Z2OVVQc1g5YmtPVlora2Z3TWNFajVOWHQxQkFzdUhreFpSV2ZvNU1O
QXl1ZFlwMTEzQTBkVGNxbGc0V291THV0UjFTZkM3TllnemRLUGFTRTZURVZwRmpTMGh2dlA1Q0Np
VVZGMWJ0UDVGak1XblNFRDZwT0p0VFFjbWNBMlc0a01UTzhwWElVSDBCTUFvLytWWHhkTVRvZVFW
dXQ2OUdxUldJVVkyVW1OY0lKV2FKemxKODBMeTluYUF4bitNaklnMDd1Si9jc1Z4M01QVndSTjlh
ZXhJUnVQTlJlQ21KNkoxUzV1amE0RVZvK0NCazU5SFlPaUpFVlJaUG5zUHFBTUxpN2V3SmREMXJQ
aGJ0ZDlaL3RzMWRNUkQ2cnM1L0hzeGdETm94aWVlVTAvM1lmRzZmWlV2WTR0MEJsd2RBN1A5cHlj
UU1lNUZuZDVVVERBY0xKcjNUSTgxb3ZtVlBkTFBKc2g3WjlYZy9qeFlJNGN0S1U0VGdBT1I5M09x
VkE0R2YyRE04YUdGNC9HS0FSV1cxMklQdnBwS2tUZnVFZ3lneG1NQXhlNTlJeTIrUnhYa2hYTktj
NU0zNCtXVHIwN0RsN0hPelA2dnhPbWhMKzl1VnZPS202Q3IrOXZBSE8ycWVHYnlMZVZiTzhZdjBU
UWQvZHB3VGt0UkxxazVvemRhR1FKbTNJNFMrRGxublNrcnRsS3lpQXJqVzlyb1N6bmk4eXQ5cjVT
TTVqcmhibktZbVVMZ3hIdUhSOXdwVHBiclZPenYxdFVhU1dyOWtJS0RyNzFwb0pVSyszUitUYUJW
eURoOXNWcjBjRXljUTF1QnN5T2VFblFxRThPcDNnb2poV2J3VEIvZFpsQTJpOTFWdU9vNThxSmhH
Wjc0ZWdWNm80VHl1Z1BKdEhQOTRJRzRROW5LS21MdmlWN0FUcXJBRnhScENVSkp4aE13eDY0UEo3
RjZPWWpDaG53SEtWYlRBVExyK0wxNW80cHl3OElMNS9kM2ZUZVlFRE5qR3VvcnZYWWE4ZFhXVWxE
RFZVVi83VGcvaTY3ZURKbFFubFJPeGlwTGROSVd1T2ljenhKNmxndkNCSVdpSmIzTUwzaHZscFZq
dDQ5UDZ4cUdKa3I1WDgrMkZibUQvbjF0UXB0eGNwMjViNmdpRWR1OUJtZzd0ZWV4OU16RE9mS2pC
QXJha3d1VVMrSGIxcXZHcHVMOXRpTVBXNXhielo3Y0MyR29pcTczWC80RFlTakVmU1U5ai8xeG9u
VUora2xWMWw3MTJaQ0d2MmdMdS9CSC9EN3oxRUlnOFozaE1Wb1JUR0E3akRkM1E4d2w2SWJYMjlC
aVQzcUhHcGV6OFYzL1pjSTRsZ0MyZEZNMEZ6U1hrazB5UHRpb2pSZUFVMlcrMk9qNVFpYmNiY01Y
UVZDZVpaaXBhamVTYXZva0NBQWJ0bzlqdEczVnUzK0tyN2dBQnBhc3AwcERWM1E5dTVSNWR3cUds
TDVnc3hKbGdvbEpmd01HUnVQQVpHYnRJaGozR1ZFQzVzYWxaZHp5TmtEaGFqVmhSTU1YWk1IOW1K
NTJ6WS9taEFRZVBOODEzNEhSTWp0TEFQYXhUQmtueEpmenhwSkFUL2wrdUhTTTMrZXUwQ0syQTUr
QU01a0c5YmdwR00xaE1KcXdoTmNTYXJ5ckRtS1MrdURRMjZRN1AreFB0MUNtMkM1MjV4YUN1WHhp
c3B6cDVFWlA0a3pXSXoxSXEwa3JFTk5qUFFXRzhmMjFwTzVXWXNVazE5SDRHQzF0NU83TUNJSFhT
NGtCN1dVRTRISFl2cmtCaWNnZDNwLzFTRHlWMitMNDRWY2FGcXl5bDBhblZEZnJWakx2enNob0Ux
bUN2eW01QWxwQ0RFbzcxVGlhM1U4YUxyS1QvZVpQdU9qa1E4bHZSdVAzZFR1VWZha0pSQ0orK0Jl
bkxYRS9UUnp6RGx0ODZoaUd0K05XbWNSS1VrRUY3bjZKeUtsK21CakcxYkRCVytaYnE4WUc0WE0v
NkVOTHNsUU92a2hFREN6R3Z5UWhyYXpjd0FKK0tUcXdNeS9lZkh6b0tQdkcwMjhlajVmclBURDcw
RzAwajdrTExnV0ZZMmN2R3dhT0FTd2NZVWZWNTRyK3pCVENpODlTbEVGQ0JONXNlbjN5U2tDTW5j
UlJ0c0sxMnRQYmdxYjN4aTNocm4yTGRqN1VHUXlrY2lEcWF0WFdoc25GYVFkci9ZSDVRUE1ZQUxq
T3JSN2tiUW1NRDFTamVldm11U3FORUttRGMwdXdQMjRDM0EwcEZWWUV1cU9XTkM4OERjczVUeHYv
bWVDM1FrYTdNTFIzMWVHM2dNZWRackFramdsL3I3TUN2S1FvcmhOdnB0SEFxYmI4b0dqYUFHWndZ
cUg0eml2eEZncnJRU3ZWazNzSmtUSEVvbXZtQnRLL0Z1STgwbzFZTlJoRmkzR0Nmc3VzQ0FmWVFY
dlI1UUxaVUJWOU1pT2dtdGUveitEMUlnNk5hK3hPYnlNR0NjOGJUbEtXaUJHeDN1VGdzNmVzMjcz
VWlTbEpJSWN0R216VUllMlNjSWx1K3J4V1UwUStJMzBhNXNxUzlqTlJjWGVSQjRtQlg2NElQdXY0
ajIxbFN6Z25Od0daMzA3S2lsd1RhSVY0TnRkbDc2dVRUdmlYT2ZwcWJPcGp3VVJZT1NQOFUyOGdk
NnQ1QklxNk1IUnptazgzbGtHbk5Ma0IxNkYzMjg1UjRvS2VXcnpVa1ZuS0FHOUZPK0NaQzdNaVBY
MU4xbHBmTlNrMWtONldTdVkwNG9ObVdFN0hPelNjVUFLdWRRZzJ0WUZDVU9mYUVjSUlzSTR3SjVl
T1ZzWmRHRDIxeCtOVE96NG4zNUZBbTJ3bDVHNWxWN0Zlb3hWQy9vSHFyOWJNbEdpcWhpajVXSjBI
YmNNSkdhUW9WcDNVYVR5OTNVVzNIUmV4QmlTNkN3My81eUUyNldQVCtNdEErWWVITkVCYzhPUHBT
czJURDRYQldTSEd2TGVjUzArWnVmT0FoWWxhOU5hK3NkZVVDejJWV1NOQUFMT1ZVNlYrZE1aSDd6
aXg4SzAxTkdqMmg2SE1WNGlJZEYyZkRrVHQ0eG5zSUdIVFA5bnBwWGVaU1U5aWZaZ1FUMHVLU0dm
TW8zaU9MdXVzOVAxdm1QMWNFbndjcmFBUVI5KzZUMWNMZUR3NU9kalZRUDN0UFpHUUQ5ZmZSdnJM
bm1MdnNPMGdrM1ZWZ3J3cDc4bXcwM0N1MGpzQlI4bGRsZFBRZ1A1OXhhNTlFcjdSWWNnU3JLd2Zl
THR0VUF3THRNUE5kU2tyMUJRTmkyN0VoWGFxTENSZkxYbW5uVDRBdTdTbElSaTlta1FKTmVYMmdv
MmhWc0lWVDNQRldNU0F4aCtZTU1xdm1zZlBOajIvbFRiTHNPRUpMay9SU2dCeit1R2VHZk03cTI4
SDc2Y0xJbHVYejR5RG8xc3FLYWgxK3dsZ1NNZW9mcDFvYVNsUVJJSGJxdlVDaWtaOHEzTW0weEdi
SEVsWlZ5SDNVTnVJQWhuQkRHRjZVdjRTaURLenhnM1BBTUdlSVcyOGsyR2tuZDlWZFYySzNGVXlI
QnVqa2xwZEtNYk52QmQ1SEVxTmNWd2YyOFg0eHlmU0NtNWRNMFh0YjQ3aDlMaVdWUVh4Q2V1d2NU
OWFwVDRkUmgyWEtDd28vLzRZMSt6NW1ZNjQ2Qk1ZckxKdWsrNFRWbmo1NjN0MktyMG5DYW1WOGlV
RGQvL3liNG81NnUyZUsyVUg1a2EvUC9hYVZEdXcvVmZIMW1vUVU1SzJqdStlTjFGVXJRMjRVc0Za
NTZReVdzT25Cd0dnSmdRWmFPMlpmK29YWEptdmFXdHZneXkzMW1QK1BvQWpsOFFpUi8wZVVzMjk1
S0JsMllJOFlNVFdNbTJBeTA3NzRGcE8xbVdreHJFVFp2WUszVzlPU1dGNTdweGRRL0ZlTzNNWGR0
RUJPWWpReUYxN255MXZGZzFzUDVqU1dvSHdYb0pxR1NjYU9zbko1dFlWOXQyT2g0WUN2NXpVdks2
S1NiOFhNa0ttS3Vkdk4yajlNL2VnUWZTLzFsVnVHKzNoWlpIQnVnRXNJdDBEd3ZrWjdhakxNMGpl
ejdiV2o3NUpyajBibEVuQnpkalF5VXVGOHhUMEFUc1ZrblMveDU1UWZIYTRua3FPd0FRN0pEUUdJ
VWVGeVZodkpNYlQ4QnU2T0JJaFh3a3o3R3FkWXVsNUFqNWRvS3MxVHlBU25MbUNwRCtuOVcvT0Fx
ZlRNTTVYZGNJSWcvMFBHWWRFYUYvQU9yQ1M0ZnRqUGxhSmVXN0hjdUR3RXFlMlJBRlhZQ3dlVnZu
aDZSSFpnTVkxZU9lVUxCWU12QlptQy81Q1gvUVVsNTBhbHI0ZTBGTEdQelU3bmhOcVVaRVVSVVNn
QWdxOG1Fc0JaUEFvVEEyMHJrSHlHZ3Zta1N5ZjU1UHM5c2pGRzZJaHF0WVhoRjZQR3VHTmhvdTJK
OW5pU0U1NlU3SHVBRHpZdlljZ3o2V25nTlV3aGNsUUtJcmJ3bjBvQ1dVcFl1Qm9WSFlQMTFNU2k2
T0ZHaTZyM3R3dmxYQW91U2gzbU9mcmZSMnBBRC9uZjdJWW11dmhOSWFrNGFjT3pFVUdEOFFuY2Y5
K3NrSTVxVXFiWEdOWllIRDY4NzRUUEg2WjZPeGY2TDg5ZWRrWUwzY3lOWitlaXhrZnFQdWxFYWk0
Q0tyaTkxNmpEZndHVkpsSXdJdlRlb0poa3E2dWZwVWVSdnVHcFhrdWh2VUM2aFYwUG5yUElzLzZx
THFwOVFFSUNqdUloYm5YRDRqQUxERnFDdGg3K0ZPSi91VUJxMWJWc2J6RnphdXNQa0doWlRWekFy
UG1saVRHd0RKQUNOQlBZYlJqdTNWMmtPMytGNUNwb2Z1cEpEL1p0UmZUU0lUVVJhQVQvNlljVjAw
VDZyekhlaGlQckF3RkdyNU95cjhUbWJiR2RpWi9YNGl5Z1F5K09iK05oa0JBZlFtUG1aVDNmcUpL
ZFMyd1F2SUxTTHVkMndsRkVzYVBremp3U1ZSZzBhVUMxTHdHbFdLTEJQUE5WSUdCMTNQN2I3U2V2
NWtxQVlJaGZTbnhyc1RzSTE0bE5GTU9LbTc2SjlMN1JCSnMvY0hyR2JUWWFueEsrVURKNTRaZUFN
Y0dBUUVpRTdPV0I4OW5RbmhyMXNIVVZXVG5RT3VSdFZERmNlZDA5NFpqWVFVdWJ1clRoM2NPOTI4
cXhaRjRiVFErRy9hWlhHSFM2NEphTENxVFFLVmZpN2N5b1AvUCtFUkZ1dzl0ZE1lVzJFQUFadURY
aWkrK29OWW0raXZ1bVlaZkFQTDdxZlJhMEVRMVdENUhiWlZ3ajBDK2U3Qm9EaFNpZ0R0cXg2UE5i
Y0JkY09jdVlReTdvYVQ0UXc4eG0ycmJNRUZSeDViOXpscXhMTHIxN1pOWkhaVExkclN3QUk4S2dx
RE5MNXcyMFZ0ZC9McmNoZk5YclE2NFc4cDFLRDNTNFFETUoxTkptdkxkT0xPKzVXZ05lbkJmL25G
WHZPMkdPOTV6K0ZFMDhhVTVndVF0eVROWCt5K3ljVWpzbXBQVTVjTTNTZlZsQ0o4QlRRMW9uV3V0
OVZxdi81UWhCdURwU0FuMmo5RnFQWkU0N25SNTN0UGtrWXcwczQzUkZ3bXo2WHRBQW1jQTI4dWIx
MjN3S2JjdERKc3JkbGloVzNjVkxkbXJ3dTlXRCtiZ25aeU02TUtWWU5kcXJuWS9zWHR3SHl6SEZB
UW42dnE2QjZLbUV0b1c2SWxCQXBqcUtHNU8vcS95Tld6YkREb01zTmcyaEdJTnBFRXJ5Y1pLMVA0
d3hibHl2MW1yNUdZMFFNdyt4cm1jbU9ld3VKaGdJbmdHNUhMcHBreGZpVGptL3B6OGhQczcyWnZR
Q2dmTmZUM3VHNzE0eHNoZ2dMS0ZoT2hLMFcwa1J5cXRLQzdvZG02cGhWRVZMV09nU0ZyVzdCdkRz
OTcwR1FENlh6Q3JaSTZrUWFOQ3hjNmlNOGFzYWFxbnVhQ1JTM2FzTW9LZUxuUlEyakl3Y0owa2V2
b1FCZWloMGFYY1Nsc2hWZUpQU3cvRGVCY2d3TnJSd3l1WGdSWjNIdWJBamZGSVZVaU5WU3JrWjh0
OWpERHYyb1Jmb3U0UmJDekcyYlI2ZS9HRzBjRXhhLy9FczVhS0ZMZVAyc2UxTldmZUVZSThLSDFv
VzJuaTkxZVhiUk5zbDNLT1J0RUtiYjBRblVtajRnakk1WHIwNEVLK0NTcTcwRzk5bmdkS3psbisr
NDllRlQ0UEdjTnVuNDVabDcyVVRQN1IvUm82MmFNSnV5bGJCamVZV0RUbHM3UnhwRlYxcE5lMjJh
Y1hQRGtLRUl3dmd0S0tNMHlFMG55OHRvUTB4R25qWlhiVW1Yc2s5eXhJWEVlK2xxMzlvYjJZSFhG
bkJVZ29ZbzFhUWNnUG8zYnJVdERHaG5uRjdKck56eEpkQzJ3SzFKQzNxWnpMTmovMSt6Q3lpTjhy
Z01sbFhLUmY4d0lWeTYzTVlXMTBxNzhIMTR2eW9CSVhHb1lqUlp6cnlFRWRWaTZjeWdmYVhxRS9u
dkV2N1EzNERGRUFIaUhwcUlsSDJHSXo4eG5CZmRxemx1dStPMHNhQ1UzbUk3WHFsQ0d4Wkk2b3Fj
dXplVGF1L1piWDUrM3JmeU1WSjBVQlExRzFPdUFSeERINnR3QjFRbllvWDY5YmVtRUFZMmdOYWgr
bWp6MHpmTEhKM1pLNDJFWnp5YlVLenNVOVBtUUVXQkZVWFRsLzhKcW5OSHJxT2diUTVLdjJEUjlD
VEFzUUcwUXkvYlptS1FqQ01qUVJEN1didGJ2Q3dobnh3Y1FyWXRmazE4azlPQlNQVXlxMnBYYW5T
M0hoazF1WXU4c2hyUlEwMFVoR0R0YkIxbFpNaTkyUWttTjN2d0VmOG1oWGJNRjJSeU5OdDV0ZmRZ
KytqYXdiR3I1a1JRZiswZGRWZFIycGk1akUrZjZUTnEwSkRsZkRmWXUvdEZQNitkcWVmSXo2WnZ1
T2JFWFNYdjg1Vis3VysrNE9HcFBoSy94ZzNoRVFJQzl2NWlXeXR3UXl0ZjdIZFZXdFo3Q1UrT0py
dVZPb2ZzRzFyU000eVZXK01QRWE0Y2FESHYwS1ZtMUJvbnpQNmpNMDdSR1Z1Smx5M1dac21uWTI2
WHltYXZGaHQ5R096YUlkRTBvbEFyRnZKWXRiMlFDbmZPbzc5K0krdFI4all6VG11MHh3MURhUXNE
MExVeVYrT0c1RjJXNjNiMnZ1Q1dsUnpOL0hhZUlHUnc0eHdmSlUrN3Z5NTdhME1YdEE2OEdzOHBh
N2pvSnJzSS92aXA0NE5YQVlqWlQwazZtcTJBajFtU2JFa1RqaVBnNC9TZE9xaXpnRDdIUGpjVkE1
MDBLa2hNYzFmQjg1M2kxRktrbjZyMTkwZWFBeWNRSkhpRTBDNVlhanp4K1NBVmRjQ1haK2cvUnFS
cW1FNmhYL1E5cFRFM0RKU0NYU2ptWEQwYWN0b1pKeUR2cWRHZ05KRXFyOGpic1J1WnNVUElqdVla
b2lYa1ZDcUZRTXh4YlZpdXNsckhYRFZFWmQzYWVKUkxFWUJXWjJlWG53SENTaytsY3oyYTcyNmRo
SWRoNk8vcENncmRibkpldkVmSm1hREV0SEwvc0ZOb3lTck45ZFYxZE9CZTdhaUhrOGt3VGNQbVRI
TDQ0MWNLdndteTlmUExlSFZDeThPWCtHTjVJbXcxUktFakI0ZXQrbWoxSUdVaTN4Zlg0RmRaaWVo
RkgzSytJK3ExbzJYM0VYbFhUR082UW1UaStkcVVlSG5aZzMydnl6RnE5NnVFTGJScDN4dUNKTnRq
NmVPc1E3NzFRNXpUWkhoc1lENDlteXJPKzdVZDQzMHh1SldXUHlDR1FyTzJBNzJOdHhKUHpBNVFy
cG9CcTZJcDFzOUlGendZSjJ3Lzg0QUtaa3pZbFFWZW5SQlVBd1dGSXBJU01BNW0xTVBjdWJORVlB
RjhYSkdJTGxOSlRSRzlDNkhjaS9lK24vc2tmRktkZjQ3NUNXTmI2NFhmekJqMHYyLzBQcFpaUkI4
SVlsc3kxMWR3aTJYMHY4WVFVWlpnT1NRZVFNckpOZ2k5K1BOcGlnMG1PSHdwbllRT21CK3JmZ1d3
UXZMME0rRGNwa0cwbXNZcEVQNm9xbWZpLzVKWmdNK1BXcVlIbmtRL2V5YzlWZTIzKzFSNjAvMTBR
d2c2Z0Jyd3BLNVpMeDhZYlBTc3h4dzgvbUxmOVhhVzIyaWN2cGEyVkZveXZNYlJ6RUhNaTRDUWVX
TzliUlU1eXEzVlVHcStyajVtaXdLSmlRcFJQTWo4a2UzbEtFbldnSDFKTzZqZnk5STVJZUxMWCs3
aThXSlVoWEhnTlp2QTJrOVlyVDZQYUZDT3Q5N0JTQTRnTzM1UDE4MzZXS1U4RVZXMS9oRVN5anNK
ZUloZmNEQjdHYXh2L1EzMStHaW5OQjBjaGIreTByNlQ2T1A5NVFIZ1JMZXVpT2tsb2lRWkpiSnAz
c1FKWlg1bi9KT0p0cHJYZld2dEYrR1FMSUY5SDQ1MlB0WC9Wc3YyYjVqajRXMTN5amp4ZUZFQVpW
dmt5M2hiV3h5Ylo2djl3Q081QmdDRlNiYlMyTlltWE82T01LZ3g4aDY4eEZwZEpDTitEOFgyK2Nn
ZjlYUUtLZ3AxRWhtVUwwYzUxbllaT3AvZ1BORkllNE9tNENlc2UxeDJRcUJYbWtqMEMzSU1FdEV0
MENHTDZxWmk0N3Rta0xHTUJXYlNCeGU0U3hpTEl2WGhuVGRib0tscUV1SHNBRGJNSWZoMTN4bC9U
Nys5SGo5RDlaUDNxeG1EM2VScTZObldWMEE0bDRoZEk0U3h0c0RDdG9aYW9XbWtMN3BBd1FzaXRz
WnJPMHcydE1VRTJJMlQ1OGlHZ21pUDUvTnBwNXVuVWpPZ011bmxWWHdEd1dtbHF6dHBsZ3VJaUh5
VFJrdVk0bGlCWG9sU28yNTlHSXIwRVpiVGlQQS9UZXNwelJBUER0LzZwNUpTcXZCZG5lbG9IQ0lD
bjlmb3N1T0IrZGN2WkdCU2ZFMVRITXM0VGNTcElST3ltWGVNS2loTkZlUzhhOW10ei8zbnpnRFhK
cVJSRjhlKzdKRFcyU3FVYUd1N0FLVW5sVmNUbHJqeFNZK0xRUCt0NnBnNXJMUWpaMlZwaUptZXJy
SGlKQkFXNHdIenZyVkNCeUpxcjJiMEVxVkprZFROcW5lUHpWSFNOKytyb29PSUtxL2lUSE4rcCti
YUJIckpBVVB6dndGTHFuOUZkNUc5c3ZzZ1NCY3p6ZE80cCs4VDJuTDBmTExmRGZQZDNINEV5WVhX
bTVZc0NYVEsrTmlLT1V1UmQzVXFlY0tOanpRbHhoT0FYL3IvL0NvbzgxNWFVMVZ0bVdGcTAvY0Mz
eVJEbEdhcEZwYkJ4VWg1aUlWa2xVY0lMSmRJZFU3T24yQkFrLzkxOVFVS3JLOFY0b284Sm1HUWZx
WmNuRTIxUDIrUm10RnJDZjFrVENsaW1rSkZHSDk2WWdXZ1V2cG0xdGNmRVRKUktkZDBYYlZwcndh
bTJvOVFzL2NFLzJlc0FoV20zMGc3b1ZuNXJYa0lUWWNqVktlZnVOc2JOWllTZXhhdkcxWklzVXYx
TzFMK2dvMzJXSHB0QlkxN0NiZDJzR0FoV1dZOVBsOEhsai9CbGFNOTVsdzZFeHI4cmE1UVRzeFpD
bzZXTWNNbnpUUkVPMDBxbXozZ2hyanZpaG91SUhZL0NvRVh0TEdPSndkcnB4bTNMNFM0NHkrRkVN
SmJvTFIzdFAvNHhYZkdzQTBxSy9KT2FiQXkxTVU2ME9xMnFLZFlOS3NNR09XYUNUSUo4NnRGRFQ4
Ynp3N0crc0Z0RjBoQ2YyWmV4TDBYTmx2R3JHZ3JZUXVtSlJNSStrRURteUNqOG0veTVseGdKdzV6
YzUyV1FkUXFNdFpyVTJudzh3dytrL3JIMGZlRThGc1d0MHdBR3h5aGVSNXRhcDNVNXl3Q3lXQ3Jt
S3A4QnBydy9nQ3NlVmpDYWRhdHB5eXNEc0lsc3UrUFVRNW8xSmxJbGdxd094d1BOdVROOWxJOFM1
M2l3Zkd3MmxvWjRsMlBzc2Nxd3hhV1JjRmVmeWV4UTlhZGJJa1Z6bFF6dHRmK0FMajlWeXdRMWFn
dnh2Q2VFajdSaGluSjBNWDFnVFdKQzFSeko5aWttbEVHUmF0eW9KSXk5ZStQTGprdHV5M3M1ODg0
bkVEdEpYemExallUcGVPUFdZcTBDQkUrSFI1MkZ4OWw3V0hYSy8zamQ5UkYzZUpQQzYzR001K0tZ
TXV1bWVRd1NKTi9vMFlxYWNJczV4Vy9Vc0FnRndHdG1NdlZMOXFmUnBRcnNZTTkvZmNUZk9iNThC
NXlET0tnbHJKUWM1OXkrYmM5RzdZK3lkTjVpa09ldXVhMGphYXdMc3dBZWR4OHNaMWZuWU90cnNx
V0tkUUhXbG9Qdmw1M3Z4SnpKcTU5RDlnTXhCN0ttS3RtZVI5MW1wOGw5RkRVWlBmZlZHUGlzdElC
dWtDUE5KSHhndWJvdFFnSExXT2xybjVPc1RrTkl2YXYzYUg2UmdjOEVWalNrQTR6ZWdNM29ZenFB
WkErd29KQVhySmNEeVc2Qk5CRkRsb2JVVGcxVnJGS2ZyekQwc09vMU1hK2p1dmpIVFVlME9QdDdW
QzZHclBXbFp5VWREYVpIK1RReHhud1pQenFpODUyclpiaVlMOTBENmQrS3dGWmxkV0k5RFltVWxQ
YVlpdG9rdGtldll3RTNxL1FyRU41WmUwVmtudm1jNWJ2RTk3Y3k2QjM3bVIzclR3UmRBRUM4SEZo
WFpNL01yWkRNdWl4UVlhbnlIOWk5dHFOZmxoeTVVdWFXNjdic2xYa3BaYUtuNFhyeG0xTHFRVXk0
TnFUMnEwQ2NucHplSlYwcDhUMVZVQVYvVGJSenRjMytjR1JCQWpZMi9jbFdFOUVJSkdYY3FsUmFp
UUxDaW9VVXJOcGFMNUw0ZjcweHhHVHlZRXlabDQ4cGNVOFQ3WHZISmtOT3RDOTY1MFgvY004cGI1
dGN4OU9VKzZkOUtaM3h4SmxkaHkrbDlvamEyazh5Z2tvcm5OdHQ1UHlBcDVCaXlHNyt2NzYxOFh5
TFk3YTdkYnlTNHZ3WU5jUnhFRW5MOGVad1FrYWg0NUoxdWd6S3M4VFR2VlJITHk5SzVQU2ZqcWQw
Qy9lL3c1WmRZYWJ3bVI3QzU0ZHdQd3IwbGM0RUM0bytDOEdtbzR0L3l1aklVUllZdlBYNEo4UUtR
K1hsdzl4RjlhZmpBODZkVFFlM25OZlR2SEVSTDV2T21PdXVhSHdFSmNxOUQyUkZ0ZXY1QmZGdmJs
bGIxa0V6VDM4QTEzMmk1RWptdmJoZkhjbnRkczlBM1lhSHhJc2gwb0pWL0lTYVRaV3loVU9SWkI5
bFR0VlpzOEdFTlFZTXdHU3J3NWJhRWE1aVRUTnZwZXpDdUxNUVd3Y28wa3hVdmxGNFdWdHpHN3Q0
WmlxUklzUFduN3lYdUxWOGFHTUZuZEtzT1lHVVI5aDZ2Mmp4bUZPT2dSeU9reHJqL1RUSDJNRDRi
VXlsajJBTDBDd1BUM1RpMUIvMjFlbnNLcUFxWmlPWENQai9Cb2NYM3o2dTFyNGRTbkJJTTRBSkZw
eFNYa25jdk85SExZaHFpSHFwbXpoeE9WVmFNalVvSERNT2MyWW5JakEwMDVIRzBWdVhmSEozZ0FW
d3dHOHo2YnoxSTZiYzVRazVsRVYyVHlrSEhycmJ1akt5d2JiTFh1MmxvUlJYbGx2eHpISGdOOGUx
dWRKYmdoeWtHU0V0S1ZBeFZ4K3J0c2poQ2dtZExrbzBSWGU4bzU0eTdBY3gvRXcwUWd1WjFPR0lK
NDBiTmprdnRnR2tYaTFDNmIrWTdHeU13cGNTOExpMDFhc3pzWnFpU3p3UW5oZTd6TVlROVIvSlFi
bDRkeXd4Yng0VkFaUmVUam9rU21DdUwzWDNpTms5a3BJK1RDTEdhaFZqUDJPS0Zvb0MzeVlKemVQ
NlhkdEpSVDVxYzUwYi8yT1pLQUgvNDBFNEhTcEpTK282MDUzMU8zZzZtbVhsNWk5T2FVSjRiTEhl
dnB1VGhNRTlNdUZZUlM1K1AvbnBKNmVoaUZZWVRFdFArV0FMSVY4ekR5MkkvMTMyeTdHQ0RwR0JT
c2VscmtWbGo3S3VTMVM5TjNCTHdmaTZuVlpqajdVUUY5aHNxaWdTSUpqV3UrQ1RCcWNYbTJoVFF6
aGVDMU4zWmFqZTJHaWVvRVRLWno1eHpVUEVMWjFNNzN5Mnh4ak81QmJmaWU3TE5vOVVZalFFQU1J
RDI3TUt5c3pGVXN2YUliRlhPOTB4c25tY3JLWDV4MElLQ0k5c0w5OFptNitMdEMzclJIMG9ZU1h0
RHRGTkdBbjVVczUza1VFQXZ5QVkxWE4wcmJhNXNLbFpwMVRRaEZvbUp3b0F2LzZRYW5LNjZJNE85
QW1xY1BKVk9HSTAxUVFtczlBRE9WVGNhRU9YanJxM1dtZEsvbGhnVmZCUG14a0ZZdEJpUkFNd25U
dHdkejh3Tys3VjNmMThDVEprMmNFR1VLYzh1ZWZKMzBkNDR0VWEzYWFxU21JSHNNNG1FQUdNczVv
QmRnTkZHS216bFlROTlBU3Y1V3F3SDV5VnhIanlQSEw0RlpmTkdLQUQ1Q0ZXYll2TmtKZGU4SVdw
bk8xQ3NQbjBuamdjcmN4V2NRR2VBcnBQYmxFZmlsN1JYNVpIREpCQ1J5d2ZLZ2Nqc2dZcDkvanRK
QWM4bmtta3dwc0E3TkJ0Y2FFbGVoN1FMN1FSeUZQVXN5ZzlXczJNZkhIcTh4OURUOW53ZHpmdzJN
cTBReWVIVTFlZDJWaDR6ZU0wVTNabXJzRjBzVlNKVW4vNXFyYmw3TUFSaGwzRzJwdHFZTjRSaVlw
YkpDMkNacTNlVVZXN0l0N2N5SGhTaUE5Rys2dFJTMFJTNTk0RzNhZjhLTGFOQlRsYytDZ2UzY1Y0
SENRQUZqODl2ZHo2bGR4U0h4N0NRT0hhbVpLbzA3S1RSOHk0YlpVSno1cFRhWXVubDNWSzlhWWdM
dXgvUmhZQ2JMK1VnTlQvZTQwVWhqRGdoWFl1ZjBwV0kyUXpoUFFTWXNSQnV3SkljUEtlMVU0ejNO
eUZJcVFKL2lBL2JPZUxrN1dVdDVMaWdEVVpyWGM1QURINnZzelJOWU8yZVc1c1FYTFE0VUc1dUZV
eXdKaktLMGxOK1RyQ0pLNUJTMldNZ1NaZWg1UGtmNXJVNndDNVp6SW1Bek40KzJJTitkbzRlc3F1
STdOY1N4R0JmcmRISkVvU0pxTG9BYjJJTlJtdmhKTmE4cnpwZytJSWdUT2laSDcxM2Z5OEVnODkw
c3loWTl0M09wbkRGTUY0RWJjaHpLdzVoaTdlNklXcHF5QnJvSFY0ZDk4NFQ1bjdXTmhqV25EM09j
M0wrNHY0SG53SUlvOHdxZDVYUEVkMktUZGFXTURsZDJhL3BoWEY1b2JYMEllejZmOGdjV2FwdGIy
VXJrNGJQUEVDK3lOSzd4ZFZZbTdMVWZpL1lwSXFIOVo3NlBxV0lFR3FpVlpnV1pkK2V1SjNxWmxV
Y1ZlU3VXZjlFcjd2aUhVS2d0REJSd0dOdERGQTlhTHQ2SmYxK1UxdGtFNk9HUllpNTBxeXU1ZFRV
OTVEd1kySGxML3diNEhuMTdoNXduOVVmZEdOcjAvZEgrdUtYcURoQ05oTHZJbEJ6U21lM3pFWHZE
aml3SjgraFhoM1pjRFFBejZBWjlpNnhNd1d2QmNTMWVNRTdzL3FaSmVJK2NRaW9Yb05uRzZ0Rm1t
Zk1uWUQ2N1VTTlUvYVU0V2kvQlBvMSswdGdBNjdJeUxucjh1aVUrMHFsa3Jvekh2TlU4cTA3MktF
TzZBamE1bklWT1RCUzBDZm5SU2FSb0dnSDZtYXl3NmV4L3RXY1A5Zy9kZTltYmNlU29qL2UyY1hv
QU8yUGgwZGhnYkVLVys2N1gwQ0hsVFh6S2hveVFiSzdkS3JqbDlQeWNPL0NxTy9BZStTWnN3dUZR
VVNlOUdwWVhMV0ZqdlVtbVJabXk4SmNsOWF0MHpzeVhNOFJEQXNsR3Z6M1cxNVFpWHFxT1djVVFY
c015TjdvSjJoVFNlTk50QkxqNnhjbWwxVUJZdURGV1RhQWZIR0Q0WHk3eW9LWFhzaitGaVhWM0hi
Zy95VUJRVWR3NDBDUmZpQTJueTdSZlpEOG55K04yVy9VZkxMVENkYkpYeHRUTG10bU9SWXhEZzBT
VEdIN0hTckt3cXE5bDVyVEdVd1gwK3RMTmFFdmJhU1J5VEc3SFFnMkJKVjNyYWp2ZzY2aXVGVlpJ
V3BwSE1qMngxODNOQ095Z29icXBjRzlBUWlwVDk2N0UxRTNZVXhJaXBRYWdNcS9WNnFESnZLWThk
L3RxWWtZODgvNlN5Z1RoYmtRNUxjVlQ1OUl4SThiQUtjR0l4SnR3NTdQbG8rbUNoY20vaWxxRFNS
Q0wrRXJZdngyRVNxck5pOWVjbmhwQmtNWFFHQWtLUHlyMkc3ekdiNTBmc1RqaEdkVThNeXQxOERq
ZU9uTWRQY3hSTEo3SkRYVVlCQnNvemxuQ1k0VHdZbncxRkxGaGIyYW4rTlhRSml1SVJqSmhYYmVH
Zm8rcUZvWjZWaFhVTFJwYU9yUWFFb1RMaWE1K1kzRFNyU2V6ZmNkU3VmMFBncGRUc3laWkJCN2g4
RzBJenZBbS9Qcjdsb0xFSkZuV1pqUjNzZWM5YWhCRUJoWEVLblpJdjhpUXFXZnBHcmJqL1h2Q2s1
UWduZWVYOWpIRGN2RGFraTd2Q2oxNUtzaFJYUzRvMW4vQnZXSDhPMW56ZkZTRGNoRSs4MkdMK0dS
QzZ5eUhtZENMV2FqaTRzZllTNEdvWU8xZkpYV3JSblpqc202bElpb2U4blhuWGF0UEs3UldpSkw2
UnhvVnFmdXEzVHNRVUluN1JIb3VzV0IyS0pib2lYZmoyUjY5NWhBaUZYNm9NYmNPZGhRM1RlMnA4
RkJBTnI3aGZFd1ZSZFU0d3N6UW50Yk5SQVdyY21oeGxpd2FHODBaRmZHWDl1Vmo4VHdpVmRFUjg4
L0o4MHNsdGhJSCt0bDBlRFlQVEVEbEdmdzIvSUxmeWMvNjRTOEppUm5vZnUwdkYxT1Y4a3ZlZGN4
SFhaeVBYaGZpZk9MN04rK2NjUTBOUFA2Q1FKSENaRElnQW9KdXB1MC90TXZKZ3phWTdaL2l0K05T
N3p1aGRPZ0lrVUR6bS85dnlHbW5TTEsxcHFFWHovVDRLZUZrMDE4cTRSYTI5RWVMTWJCSWJDcDlx
UmJyMk9EMHltYWs2S05ySHUvRU9Pc0RDUEE4aGhMOE1jQlh0NWR6RFBab2E4TUZmQVBFYldTK1RW
QmNjWDZ6N3dWRm1VWllWWFhraFdGeWczZEVWcDdRbnVhSytOTW1KcUhld3dMdnVmZ1pFVVNvTity
U2JlTG5GblJQb0tSUkozN0NYQTVtcDI5QUNtWlV5OTk4T0RtdUJ2K0ZOYmZRRnRlS3E5T2VWZ05z
b2V1UTVDRU1Wbzg1UDFqaUlUeUdCRlFJOGJRd0RsZUdobXAzNHMrUlFSU2VyaVF1Tm93V3FVSUZx
bmJKOElJcTcxWTFjMWVuYWVUb0hJL2UwaHl5K3NxalVQWlJBU2tvdFBjTHFNUGNOeHphS0U1TXJM
azEvYk1rRzhDcTd1UTdTVFVzVFcwWnhKZG5vREVKbHZWWDFsUnNxTWJDUkJkS2l1cy8zRUVUV0dV
T3MzWGdRWVI3Ym80L01mTkJaSUhzcXJ1Q3pWc1NqOVk2MnRRenEyRmdmd29aSFN0QWFuR2VuTWlM
azlydlRGYTdOYnk1UWpLdUFScDJhK3hKZXI1bkg3SDlMblg2TGtEaE81T0FKaWJWQUlyV01RMU16
c3JxdHBKTGlXMDRoMVMrcXAyVW9XRk02cXdRMHBUZVdEVWVMSzRITVRIY2lDdHpJVnlqSWJocFhn
cHVrak9Xa0FkZFJRMXNNRmFpa3RyQ3VOQmliMUd6eVRnZGk4cVNEaFNMY1N2M3djYkpvV0NSRFBG
T1J4aUx3cUcyejZqL2FaSlVET0ZyN045UTR2ZGRTZWpJV1J2MStwK3FINUw3R2F4eHZvam04dnZQ
QmsxVitNL2lPUyswQjhFdS8yNk0wUm8rWTFmL1ZYV21MRmV6ZlA5NXFMempxV1htdEdGakw2dWhC
NGZ4akJLWGY2ZEU1S2JlNS9TVUREdDdZWTBjKzFVRHBQVEgxUWt1VHQwblZLNXFodG4rMXhUdVVM
RnltZGZCbXZsaENOYVhzMmNWckRXK21zclg5YURzNlJHd3BZVHJXK0lueSt6UDZkblhTdWlLMU1V
MlZiZnpyZ3llZ3FEL3UwRGtXZENmUHZONmYvL3Q2djd2eHFwTkdQTFBWeXVleUQ3MmRUSm9Tcytv
TVl2ZUZFYmFpclZZVVJYc2dRL0x5cDlkVWZ5T0VZVERyRXJWM2JLQndHcGpsWStZeGt6TmdFd3o2
bmtTbGhybWZ6YXZtcTJaSTZuUERaK3FldHh6MHBaRzlYYVJvbU9FWUxDeHdQdTBJbXdZOFEvM3Ir
WEsrdVl2cnBCY3NUR1NqY3FlY3owNE45VnNlUFhONXdrL2FramE1ZDIzRVNHQjFXVTlmbWVUT2c5
RndRR0xadGhyVUlSUUNML3ZoTkxpeTdjRUhtZFlyb2E2a0FTWWdDUlg3cjB5VG5XMzdSZFJPbFBj
VGMySnFNbHNBMnYxTDFyaHJ3ajRHUnZEdGJETTFvcmlxRmE4UndWazA3cW1TSjJuZ1pNSWlCNVZR
RkNxcjdVZ0I2emRqb1JpZ2NmUTVTREUzajY0M3ptakQ2SmluYkNvUmF2dXoxNmxRUnBhajBheUFT
WU0yQTkrUVhWR25COHB4WG0xWUtFTnJFUGZlNHlaL1ZUcU5YYWZIajM0QjBjakdMalBHam9xVmdS
WkpENXdPQUpnNDRtTmxDT3poOE9TcUgvZ1VmYWFTeW4yc2tMOFJ1ai9BQWMyTStvdzNRM1FXa2pG
d2cwNVNIeTdMUDVNM1ROa0VhOXBYYWRhbmZnQmtNcHFma05QVmMyQkFiZWxNRzR1WUFKUGlJek1B
VHlYL0JIbXM2d1gzOEFxSERrVzd0M1cvaDBxcDV1eVloSzV5U2RrYzR3SGlmZDNDZko0ZWtOMERL
cFdHbkR6KzlLd0hYYTVGZERaVWcyWVE5N0hmRlJJNjZwS3pPQlpyTm94TUR3elRCZGpEMjVWVmdP
STkxMzhsQjZvZ1cvRzJSN1ZwSDE0QzNUSGxPcFZIam5QU0U3U0VuNmUxWGE2QWMyWEQ0ZkVTcEJy
azBienNpTkhXR0hheTRpWG1PVEJBVzFlbjVoeEw4dkcwNWJtb05jd2FmSUxmSEp0OEI4dXNyNjNE
UFFZQ1ZsREpDR3NDRmxibmErUFI1SnVwZDdFRzFXcHhoZmExN0FIeXFOVHdKQ1Z1Uzd2b2UrMkwz
TjlFR29GUmlHMnRDYUpLK2lJY0s5RGVGdTVWYmVub0FHMTZFVHlhSStTZEVuYkNBZFZrQkFyYTdF
ZGZQaXBmcDAvOHl1ZUtWaTNiRzR2aXBodzl4ZEFpOFdTVzk3MmlPTlpzTEdLYjNaY2RkR05hWE5E
TkFkOFRkNTJDSkFtaFlVTnVwTFFjMGFLY3pOMTV1Q1FZRUpxYzE5b0EzYmxOTDVXanRwaVhZd3JZ
NkRNVlBRSGt1TFpEamJkRXpwSEtjUk4wbXgwOVE0SDRGQ01IL09UMVV4TERHMElWMkd6ZHNpVjl6
a1pwTDJKY0p2cWd3d08yVU9MWnM2S2phZ2RNVExEZmpSV2ExR0RoNU9nRFBwKzgrNmI2V0dRQ3dk
QWE4YjROZDE2M1B4RG1OSGR1clY2SmxtRlZ4OUVTV25yVkFkcHpIQ0I1NkNrVG1uWkNEK1FmS0tU
Q3h1MXAwUnRNZmJkSHk1UzFhenUvUUVCWE1ZZTdWRXVqRGtxSE5GdjV0YlMxS0Q4ZStrejBUT3hw
NFJlSVZYcXdKcjRRUWs1TnpHczhKSVdtWktYcFRtb3ZwaTBDQ2NYL3I1SmZyU21iUldRR0lKWEdG
S3dlbDlRb3Nic09zeDI3QWR6WXdUZkNVL01jWmJhTHFJMXlUbUREZ05XU0dWMVZXUlNYR3RLSUFO
U0h1WGNXYStSTWtEWjBpNmIrMnN4TG9CTWl0UjAwWkxMVEhpclZWT2ZDVVk0UE5ZS0NWUjF1aTZV
RUxpNHN6NWc5WGtkYWNBbFp4MnUyK3FCWC9LaVByQjFiVXVEVVl0REx6cTF0UGZqdDlrZVZ2YWRJ
b1RSTW1ZN2xDRS9pVmNydy9DUk0vQ1ZVYzB2ZlJkNXdyY21qL2ZuempSWHpYUHdFNWlRd0NIdXRp
SHRTL0xKK3M0U2k5VzYxTUdLRVp5WjJ0T1ZtQmE4cHFrcU92VUdmUG1VZnNBWEN0VUV1ZTZVb09W
cFRVMmdPUnRBSGhTVERLMDQ1VzQ3NCt6NXFYN2NWU3pDRlhMUy9qdUR1K1pFcSt0NUFWVVU4VjR3
aVpYTkRUWjU5TVdnSHh5U0kxcG40K3RqYUxRNEhhb2VRTUFCUUdYUElNekQ2anZFWWFSTi9JZmh4
YzV1Z1FWMStJTjBBcVZySUlOZVYrNER2YmZmN3RkYWlRUHFKa0d6TFEwb21yV1NOaDhOdWphYVIv
Q2lUdzgzM0tINHdtRnNKWS93clNNRkhlVWR6NWVtQlh4N1ZsRlpHaUs0TzlrUDZqZ05pMkszc0Ri
ck00M1czQUNsNHpPYlV3U0lsRnJwcU5uT2NWYklidExBdWpzREpRbmtQbytFOFZtbkNRKzVMMGcv
bVpHOGlIS0kzaDBFTGlvVGVMZXpiNmJzMUNBOEs4dnZxNTd3R1VwQW93V2VVbWpPTU4vNDZXUTlh
RFB1dFd0a3IwaHNKNThFeFhiYkdHVUtrN01ZRFBWM3djT1Z5QWljcVJKRlMyTTFMTlgrRHdMYmVm
STdQRUdwQjNGVWx3T1ZwcnkvV1pEWURXdnVnbi95b2xOeG1YSFRYcUxaWHVhUWlqNzBVWERHVEdx
SW83eXd4c0QzVTA1WlNlS3hJM3laazdpSzF3TkxiOE9kVVByblQ1Y1JBeEtQcW1YdlF6M2NjTzhI
Y2EvVmx4WTBLUnZRNEFSUkF0ZTdFZG80eWRQUDBVSzY2Vi8rYWNBaG5DM1ZWZDRHV1NRUTVCMTNo
UWVmQ2NhL3JzSmx6TmhlODZoaUJrRnBkQlcwK2t3M2duYnd1b0hhQ3Z1VXJhNVgyemUxMm51VkdY
YmR2R1ZabmlMY1NEaDZNT0NZdXB0MkxVaTArZTBseEZBaDlMMmplVUxmenlyZkk1WFlRT29oRW9s
MVpsMnBOaFV0YStOQXZ4OVZNbHFsSldJR2NMVU5zOGxmTncxSFlnbnFJeFNkbms3aGlqK0J2RnNj
YWpDUzR4YzVERmJBbkh4VVhZRTUvQjVoS0x2amUwMEF5ZUV0dFlDaVc4MC9HL21SLzllQzBJZjh1
cVFQSFZpZUNVZnJqbHNUdXMvcTFZZ0NTY1VKaTlFVS94TGxORWNvUDQwWUJwazJmS2dzcGxMVGIw
Z3h3RExBOGZsNHcxYy9qVmdtUENhMEE4bG5yVDYycjNjWHIveWpPZU1FbXJ4SWpkWmx5dElQS014
RXZyRmVwWEJYMCt5b1FBSDkvTGhmd01yeWdWS04vam1xVWhvYU51VitoYlU0Z2hxSFNVVkFyaVZh
SkxUN1U0R1F3VzAyaUg3VDNBTkpjQURrNkFiOEp3bjRVVko0R21tQTgyazNwNUM3dDhWdVRWTW0w
Tjk5dyszQnlGVUZMZ0o4NHBPaWNlQ2g5akc2V2dHU0IrZ3VDSGpKcGpvcTBtQ0RGVkVZVEhIOFVm
Smx6a1JNb2IzSUR1UXNrNlMzMEViWERCWDU3d2ZFVDNmZ1k0RlZwQVNZYitNcVNRTllBbjVIdXQ2
Z3NqM0lPOTVZSnFJTUZnSG94WTVuTFJlNlVUTXdhNHMvMGhsRkdlV3JCZVczL0JZcTdsNWRiZytL
MUY0azBwTVRobVpRVmNlNlZWY1JRdXIrdCtZOXp5UDZBWUJhUml5aUhtTEUwTmpCL0VXejJJVW1L
VHlIVXJKTytkU3luNHFjSzV3eTR6eVA4ZmV6UDhaWG10bnY3Q0lhNjc3WXRhUEJKS3Y0OE5BelRM
VHFUOXlvSXByVVpTdDZqeEhCRkhCaGFlTnkzVVZra25OSjBSMGJmTWp6TW9EMjRkVHpiYXNSNzBs
SnAxd2xYL3JuRFNFMHcyMGtvd21IR1pwZ0RobEhFdW5WbEplRzczMDlRRnpuU1RlMjBMUGhiSGh5
aG1ISDNaU2w1OWF0dUJBc2lXKzNGV0tKMkM0Nm1WWmlRU0I4NHVxbEh3cWtjM2RyYndxMkp2c05y
bVUwYjBqekxXNFJPbTZkelVib1NLb1d4Nld5a3lUUjYyYzZhNXhnV3VhU09xMjB6SkZBYTE3ZkIx
ajY3eDFDTXhMK2pQN2JwcHltM2RiemQydmEzZG1kZlJDSnV4MVhiQ3M0TTJWUVFhVG9MUlFMZWpy
aGsxM092SEdnTkpkUHFKancyS0FmdG5HeWxpeWswemc1S3pZWW9hTzRtRVlvL1h3V2hXbDUvRWZC
cjlkMmRuZFhVQ293VDZ3QysxM1JyK3ZVNWVLL3RTTFAxSzRoeklITnJNeUp4N080eEpSdjYrcDc1
RFBRTStabUcyTnBFL0NYeDZYQUtsMEgrUDAzZWhRNG8rTTZJZi9nVWRPVUxjNDlGQVRaMXFQWUQ3
bVhQUEJYRklER2VhVk9VVjB5WHMvRGN5Tm5vYXpFV3hLdGp6VS9vcVhUNkhQVTV2a3dlRGxNQWFP
amxnSEhBZkF1c2VIeUtyZmpPNEMvNDdSNitmQ0dXdVorc3JQdjFnYy9tZXZOL2xyM3JiYVo4dDdP
YVhoaWtiMUFqejZTRnRKWFJTL2VCQURIOGRJT0pmVlJvdkduU0VSUVlNei9JUWYxaGdVdUdxeXRB
Qm9zenRzaGpNdzQyd0x4SG9OZmFaOE1SWVQ3cGNGbHhOS3QrQU5UaGdDcDliVTVkNWh1NFR0WlY4
KzgweWlmblM1V2lpREFBSG15dU50ZUtCR1NwNXFsZTFWRjF6cWgyb1pKaXJNRXJHMXcvTzM5ZVZK
NVpxQmVjNDdpeUNrRlp3eTc0WDM0bnpobnUvQmlvUU0ySmZoQkhBU2dieWlEUE1EbGJ3MTJ3Snd5
amVzSEhoK0dSNTJSSmRwTjNVdWhpaXF3bEd4QmQvem9PY3p6NDEzUDhjZmllbVVIcUU0d001K2dU
QndhR1d2ODVqRmRCWjJ1VVc5c0pMTDh2b09ka01lU00zbXFzNkNQZEpkakg0UEdIeklRaGRsYnc0
MlZrSjRwWEFKQzgvLzhSSWlDMkhZcFVlT0dKMmVGNk5LQ0VTRFNsNExLUlIrSjJVUnlsUStrbGtX
WmJtd1FrendraHRIQVpDYVlkMElUT1o4aE9JVWRQZFlidmJVMmdlQldsSk5EbjZTNzc3Y2lXV0or
MExtWDVoRCtYOXliMDYycnd3V3NMS2QvTUlEa3VtVWozMVByWU00S1U4YUVHNVlvck51WmltVEV0
a1l0MUcxMjhMTklzN0krQ25DNXRCeXhzcStsRXdkYWd3UjlidGVSVmxKajVPWWVGU0s1ZmMxTGYy
dEl2VnBoa1FYVmNPdEw1Y041UjMzY0dMV3FZQkRGWmhkODBncDBxdWg1MzlvRUJNMktnNVNJT2ND
UUlEWVZlM21wQXNBNk1UK2hGMWlGN1ZabCszN2hKdE1JaFdTSVhja3g4L3NkSVhHZ0VDUE5IZ29i
YWVOKzRKS0VTSHpQeWVLbWtuNkFHNkxPTXRTd1FNVDE4LytmMll5cE9Cem43aUZ3WWVaYXNqbkJk
dis1Y01GeFlaZjROcFova0h5MHpLQlN2NVVtZU5yS0xlN1d3NkFheUJTdU5aT2lOdUtQcXhEanBB
V2RETDR4VWFFdThpTTZNUnJBTy9OSVJ1U3pINFdpUU5nNGduN0xSbnVuV1kxeVNONFRicEZhcG1q
VEFpMHVNWkVSbzZLRVdzcEU5WUZxM0JlYmJ4WE5ZcjVIbElFOEdqNWNLM3RxQy9ZemZwUVZXQmQw
VHlYcGRJMXBQNURJSXI0dERQdnVyc3JQZlZTSUgwM1p0b2JBdWQzZGV6K2kvZjBzdEFyUG9GMzhG
Vkd2Z0pxQXd2dnBOUWpTT1pMc01DRktzdTFWZStPR1ZiMiszYTdhZ2QyaXlqZURmUHZyRFo5dkFr
SFJxeG85em9FTy9RejZDbFR6MDhnNEJMY0RJemVwSG85RGpiUjVTWHRuYUZoTEFwM2pBazg2NDVR
bFNNVW1zWXg1QmlaanhSVmVwUkp5Y0dvNFp0NVVTTlJvMm9TVlU5TytSdXovMitoZjUybS8vcTcw
cWtGalhVOFN0eXh4czIwb3NYL0FCUktYQVhWalpXaEQwVHQzNXRQaFp4UWFoVXlFQVhSR0p2QWxm
bWpmTTlnakNLOWFqYXdnTnlCWFpMU0tkYmFndHFnZGllR3Y3Y3hacGRJckEvTm5UZkFCL2hsOTQx
VkFTQmdhRENHWU1USTYraU16NGVzTkJkTlFlQ0svN2xGNENrcXVsSFlPejlVQzRDZ2pSUWJqQ0ZW
dFRrOUhmU3hqb3ovRUxRZnQ2d0VGbEJWRzZ2WkFFVzhsOHMxblIwRDNlM0grTUhTbFdVbXJURjFM
S0NDa0l0ZkliNlM0ZHVkdVJtdkxteUtXT284ajd6MWxGNkRpTndsVksxYzBGL3E4Q3dJK1U3TVFx
NU5neCtWMFZEdHBhZzJKc2RYQzk5eGZoN3M1ckFkbVRiQVZvTHBIQ0lxb0JrdXhXeVdORUg5OGxo
Mm9YM2FXbDdQYjZXSTFLb0NFRGhkVlpiWllna1BlV20xWThZOEgwMktMdk5rOXhmRC9xMGs1SlNK
WmQzVDFwanN1R0FFTUdIejJLeGdJYlZQVXp4UExUam5FTFEwN1U4Vi9HbGRRQi9CVzRlZ2wva2J2
b3RCT3ExTE4zalEyYjlZOUdCZ293Ui84My9YOXJ4dDM4dTJoTWlSZ3FXcEZJNklkSzRzOUk3NEpD
V1lqZ0JrOUxDNFR4UDVxdDc1K0t0d1BKVDdpR1dGMUtJbGxvUExBYnd6dTFaMDRhd29sQ002Y2cr
dEtTWTBoU3YzemdHcmI4eGwvMzJ4ZUJXVDNSM1BMV2RySjNXME9haHMwVlNqMHY3dk9CdmI3S3Yw
RjAzdk5KR1NKek5pMi9wTWtlVkVXaXc5TytHTDVDU0x1eGJSN3VCN3F0eVFJUUxXbElMclUyUjMx
Z3k5QWNqL3B5cXhORTFGZGxpdUNuU2JWcW1kR3NCSHhvWWxpSHlJWnlza0RHT2pDTzlCT0dVc2dY
bXB6M2h0VUlUamJ0d3NFUHJrMXpxcklINTMwb3JKa1NnTTBvRTNML0VSQXRNRlpFdGJ3S2g4UkpY
MS95NExzYWFpMDBiWnpmclQ5cUV3T2ovVmh6UC95Z0FCdC9iZkdyczlQakxzdzIwUHdVQ05tMkxQ
QlBhTzNhalpLU3FYTVFvcGMvaHBMYi9VaGU3Q3JMWStsK3F1VEk5OUh5WlB1UzVGOTRMS0Jla1BR
Yk9jYTRYY1VTWll1ZXpHaUpLdlorUk9vSThnVlhyWXRoYlRVaEV4bHJSenB4aHh6dUxhMTRIK0I5
T1VRSTF5S0xLL3FsQ2xBa2VHMzErRVVaeDc5eUg4M1JCek96YmgvNlBWN1dGVnpHdXNlL0dZU3l3
MGxQNE14WXJNV1M1VElmM3g4NHg4c29qUmpUZU5abmF1UTdHcm8rSXgyU1J4bGFvWVJmRUNhY0lh
WGt0Y1RsM2VYNitMMmwrV1BNOUZiSDcwZm4rYzJ4MGxJZE1saDRYWXB6TjBOSDBBSjI5QmMwVWF6
K3YydFRMVzRiOXlQL1NORUxidnFDY1MrTnhSaXNjYlJOdkd2WnlHSkRQdWJ1RmRXT2R2SlozRzB5
UEZnc3M2UXhlVXFCWWlReUFZTXl0N25mTGhFY2VDREgxK084Z1Y2Y000SUJQZmFMQTdneWpEbWI3
V05UNjl3elIwZ1o5Z0JuUGFBVnBwa2dva2RmMVI4VVhsMVhJTGlkOGFRRmFENzNvSTZwOGdHOGta
OEhpQVZSRkFmYUhFZjNBOFNNcTBuK2VGTk50dmZBeWkwSUIyZFE5M2NVT01UNGxGTXpNbnhoNFFX
YXlDb0FJTUJaYXpPaTRNSU90Y05Qa29oYnV3NlRRL2N6dWNoR0RFSGxtc1V0emg4OGlsajRSOVAz
azFmSi9yT3EzS043V3FhbzNLRHVFZmRxWmtBaTNXZiszMDdiU1RwZW5qemNVdVFWREdqaVAwaHFR
QnZ5VWtIY01VZWNuK20xc0NDcHd3bU93U2t6R0FLN0ZQMG14WFlnYlNEZ3RQOVB4b1VpY3hURE15
VEhYWWc0MmxUUVJ1YkVBRzVObzAvVjI1NlpHejhCOHNCSjRzVUVqbXhya051cVlKRDVETTROMW1m
NFNMMllGQzIxeVRXaFR2MWg1YkJoeThDL2dZNHV6ZVFhOWVLeE0xU2QwZW9SY2hZUk9MY2txWmc5
eUs3cWJrOWZrWFUwcy9vVENhRHB5SUZvd0ZUQWlVR0VON0tJTWRTdmNVcHlEM3liazhmcncvcGgz
SGYvcGxVbzRSbTN3eHJQQ2pGQStXdDNGbnhHY1dIQU56dU1UTTJ1bDc0MnJSazhydTlJNXE4SkNP
OGNjQ1gwMXJWZEdPWElXTldSQ0szdndFNjMzY1VjNEdjQWdQWkR1eXhtNGExVjlVK2JweDVLcDll
TTNzU0VlNmZVL2M0T1pxMGFNc1psQWR6R3dLZk9VU2FrdEYrRU9VcWFxcWNyQVkwT1YreTZJSUJj
b2xJY25RTGkrSEk3cWM4eGYzalBIVmJOZXpSK01HeUhDTFNhbWtDaW1QNHdmOXNKa3dRUUltYjBi
NjFTci9aR3VmWHZXQ0d4TlMyL3h6NFk4MVZkV2p3MFBNOHlVa0J1UDRCN0ttTTVvL//hqmVodHRw
Oi8vbnMuYWRvYmUuY29tL3htcC9leHRlbnNpb24vADRENDREMjk0RERDMjA4RTUyMURGOEM5RUUy
MkEyRUI0AAGpfwAA/2c2Z0NLWmNiMGQ1cFZsWFNhUjVja2paZXpVTVFJZjBBQXJnYjNveUNUSDFZ
WjVNanJ1QWp2d2dFY2ZJc2k4ZWxGZVZ2N21hWGNNUFhaalA0Q3ZJM0NDSU1odnIxYUhTRDlTZlI1
TlZ4UDljMHA4ZlRMZzVLSGhtMzJ6WVVlcVRZbW9yZ1ZZaWgxVUhhVXVnTmx3ZGdYcFVUMDdHdHd2
NVJvVlNQVTJZTVdPeDJCSm0vT2dGMGtDQTBsYnF3dHlRd3huclZDRnpObDd1Wms0TVF6V0FIV0VG
Wk8yTnhBNWpqeG8rdUo2T0lGelRFeGtDTis1QUJtNVVVVTJpQ05yME1zN2xZVDRZV0l1SDM3cFBw
S0JtV1JSLzFDY0NSaTI2ZGpwbHpKU3g3Mms2dU10bTZVTnZjdjlGOWRCUUdrOSt5Z0EvTThNcGpF
UjFYQXo3TkhXV3hRSmFrNVVJK0dNeVY2Z3R0VHRXbDVsZlNPNnR0K3V4M3ptT0VYdHg0QUtMTVlU
YlBKYlNnY3g3NnlFWDdIZmxxREJYWERxN0c3Q1NmdmZMaTJaUU9TQ0tCTURjcXNJNWV6WVRkZHU5
OUVqTWRzUnBwbFU4d2VHZVpveTNIQUxRaVJnQWU5NlQvSjlmdVdiWFpIQ2NMdnJicVo2dGNabVRB
RTBFekxyUTZEWUVLcDhjV3kvajVOL1RBQVRrYXIvSXQ3Z1NWTWJ0eDBzN1lDT29IblpaeGJ6ZGN6
bXlva054dHlEMEVTdjZDMGYvam1TaXlKOFJhUzZPMFVpV29iblZaeUJSNUp6VjdUeTJMbDB4Mmsw
UG1jVmF6aVBmeG1iSUJOT3ByeTA4T0ppa09KVEtJWmxzWkdiTHUvNncvVmgrb1FTMkc5WkU0TVk3
KzhuWThRMk5KTUt5NW1VZExvM3JtbDFZemo5L3BNTkNRNXpWSHFTeVdmdTM2Zk84MlF1TzJzQURh
cktUT0Zvcm9EN2xIS1c5YkpyUHpTdHVzbzgvR09XbHRtdForWjdlQ3RpekFjWkdPb0VISjdscy9N
bzVzdFpPNnhmQUYzcnRYL2hyck81aXM3THJXSlJhV1F0cjUzN25DMlVlSzh5ZVVwQW4rRTkyT0R0
UCs0TjBwRWdvRlo4RU03dnd6bGd0V1htODlhcXBhMFcxQjF2SEtjQjIrQmpoZjVHeEdnckhKVHd4
VndQS0U3Rno2YUpkMHZxeTJvcFlWelI1RjFLVFVBa1dvc2dWVHlOcEJ2MWMvOFR3VXBocUlEbVlk
YzgyTWlyWnZWRFRMVU56VGllY290K3M3ZmhVc2NNL2s2cEl3MVFPUE9MeEx1NE5vLzJXZFpSbTJv
azNMNkRyc3R4ZHVINzYzK3BHRU4rVGs4N2VKVm56Qk9SSmhMbGZSL0VHU1RRWkJFUDh0aDl4ZWdG
N0swQStQSzNtVVNuRHFna2xRTTgyTFV1cnh2V3JTdnU3SEZ2andDRU93WGNhdkJIQm9xc0o2NkJX
d1dOZFhYbXA5SlRtMC9DcTM0bWVpMVVGVTdDeGlEVjVXYmlCNFd1ek5RcEtkSTZVNjZDajNkdGdL
S1dDUEVESFA1MmtzNVpGc1UwZUg2clNGU2NGYmZUOUJsNjZ6TGFPVytHWWk2VUN6MGRadU5hejRm
RXdOdVZzeTJFK2VhVUNOa0RHcm1ocjNoQ1lta2k1RERVazduQ3VuNnQya0lsWWQxT0k3Z3dPOE1V
MWwrampJRm5UY2JzRTNyeit5a2RpMFlTcXZIWnVORTZlWUtYa2Y4NmFMVHFUdkJZdCswbVJkd0VK
VmVSWEhkRHB5bVlSbHA4bDZSWFBiK0l1OFZ6Vi9SaVJzZ1hMQzBqSDd3RmtLbFZEUUg2Ujhub2Nk
cVBkWkswYWJVWENnUm53NkM4K3RYaTRxdTM5emJVSFoxKy9laWpna21sRkhyOE4ySVJIWFd1YUlv
Tk0rNVV1bHp6Q1VPUFdIblpSOVRDVTBiUnViTXZ3Si90TWI2UG0zdXJGNnd1SE5KYlYrd1ZJYzky
L1M4OHplQnlRWEtDNitKNlVWQUtMcnJaVGg0UVJxUm1GMVBoRis1SHBoV0ZJYThiN21ZNlE2Y0tO
Z0hRYWUyWk1mVUV1V2o5SGovTUg0ZDlBNG5VWURIZU9wRFJUK0dseTdRWTYyVTdPRklZdnhNNGlm
N1E4TElrMC84RzBnV0NoUS9wRTNxcUYwZ3EyYzNsRlRrUnk1RElKRFR4QXhxR2dNUTdoWkNkZ2g1
bi9VVmM5cTdzMmVXRkJ1N1VFOXlKUEhwdXJUTXp3VUEvWkhZU3JVamNsVi9MYjBzMmM2Q0tqWGh2
a29ySE5nNXdNMkVINVF1U0paZ3I3VlVzUmJvUHVLcGIxMHFKQUV4dmhWQkd2SkVzUnNvWjJuWUlZ
cG13TTBBbEtIQjFNUUtHa1JCUmJ1SzRsZ2FIeGZYbTVjNW5ubnhQdjA0OE5oSDEweDJQN0VDQ3p6
TC9adkU4aGNsSmlTMUF1VUNaWUc0Qm51ZlJWWjNFb01nV2gyam9JR1pCMU9VK0NXQ1F2ODNYRWhl
SE5CYzNoUUFKeWV3OGdMczIvMGFUS3AvS1RKZU1pTHBBUW9LOFdwZHNBb0VxNVkyR01pR203UWM0
YkI3a1V1UnVzK3pVV0c3VG9WcFZTVTUxaE9NMGdNRVFzT2g4eHN5UDcvK2JpM1pqSUNHUzdsR3dL
enUxTmI5ekR0U2lRZ0EwbkZGaHdKQkVVT2NNdFc3cTlQN2M2aWRMNlc4MHBHMTNSOVhYQTJrUHFI
MTlvV29IUnJ0SENreFJVem1SWXFVZVduZjU3cGh4VEtvMStHdHkyOGJ2NzIzd2h6cEg0dmV2U0JQ
RTREeTlCWnAzN1JxMDdBNWJUZkczWWY1U0l4cWZveVdZOWJuME1aU2Y3WHBFTjN4cERiVjRUSTF1
Z2hNUHlaZ09MSXJHTXFnM3daa3g4NisxcDc3MmJlRmlNMzhrTkhJUmx0bFhkVWZIbFcwWUxiQkhx
WTJwcWNGUnVQUUh0ankzQkxEKzllQXQ3azhBbVpSVzNqVkJDTnZRQVNPQWdyQkZBYkl0SjZwUG5j
YktINEg5cDI4cFY3dG9uTWU4ay8wNThpbHFuelREbFdoMk1RL2dBQWZRY1FUYTdnY1Iwd20rOW5H
aU4zZUVQYk0wOG1mdXlvS2dVcTdHSnIxR2VZa1NXdzJnVTJVWGZlVHo2NU1mRTdGWWJHbW9oeXdR
MXV0WXVOMHY3NG1FaWlGY2s1eE95T1AybGc2TW1KbTVKQi81Sm5CVW9oUEZ6dDk3MlM4aE5SRXla
dEVOaXZVWjVDellkS2tLM2x5ZHhTNzV4bnc4SGtJYkExUWt0Q0s0T1ZxNXMwbGRwSDhaUVhxOFhX
VUZjTGM1aG84MUJOYkdDczdBb3dyUmZuTU9TN1Q5Mmp5WUowbGJvS3pWbW42OVJKVzBBV096NmRh
Z1FITzIybGt4VmkyNStOMzdzbEhmSTM2djM4MkNjRmxxV1BhZ1F4WHIyR3dKLzNsQWNjWC83dTRU
M1ltaGF6akNqNXkyR01FRk1pcVYwQzhUZ2lIM0hudmp5RGgxZU9yK3VSSG1FQVdQUGJWR0hQbkcv
MCtsVVh0Ti80VExiNmJONG5VRHVZU3QzV1A2aUovcG50VkxiYS9zcU1Hc2hQT3dReitYV0tnV3R4
M2xuWkFaOWpXa3F1NE5wQXVHT0tmZy92UlF5TG9qc0U4QklnNHk1S1J3cTlWSGdiTCs1V1dqMlIv
SEVoN05mUUhVb1pEQzZ2Z3k4ZU5KMTRhelczcEpseGUzekZZREgwM2hMWFNJam9DcTFucE9QOWVn
RG8wWkRrSEF2WDdhOGlNWDA4ang5OWdpbFZXNG5RbzlhU25va1V5Qzk2M2VUbWdRRUs3QzVWd2FV
MEk2TkJ6WmdQcUljRTRNL0hZVDZGb1dqc1RaeXRIcVR4YlRWRTMyUmhKMFR4Z09JTnhCMVBHOSt0
ZHpEU0M1TTRZaVRPWmQwZjdOaitUUjdvMUcwMlcwQ3VYdDEvYUZFQ09MR2NWbEFNNFM0RUJZNm9I
cFBkNkplTjAyalRPdnV3VDQ3SHJLZGd5MTJ4S1kxSVhucXdLZGdVZThObnIyUHRUUGdsV1lTSnVT
K2tsZ2R2OGJXRWwyeVgzL01tc1ptL0lZeDFrVGFmTlcwQ1Rwekgrc2Jja0I5SXdJR04vVTUxS0Ez
aWNVMGdBVWc0ZGZQaEZGRUhyYktWSVQyR0pUT1JiampmSlBUemE0dksrTTZhci85TGJpSlZSMlox
dEtXZWRMMExTQ1RXMGM5clBtcGdOdjRiZFZGdE5BREUyTTZIRmxtaUpDQUszNGxIaHBxYUcvZzNE
ZGxHZENBUUNabTlVS2FzVVYxbUdobW1MKy9ZNlFZNmdxWDQ1cU0xRUVtS1lBVmlWR1ZBMkFHcU0z
RlVoTXhrdytzeCthV1VjM1B1UGNYZVkvLy9wc01FbDhmVzhhSFBaVHc1VWd2UGV5OXhvSHNCYkJS
NnUzVmlwMTNvbUNpQ3phNU0veitSWTA5YmhxTGF1WFBISjFCaG4wbmc1YmtZeDFIbUdoTUtjYzhR
ZkpJS2hJZTVmdEJoWDlhSzRMUlBZOStwenVSaklCdEc1K0FMY0tUZk9vbXFlZXJWWm1BWXZteDVC
dlNxZGIxNER5Q1RLaW9iREVMRUl3WVh1dWlUTG1BQUhzTnZnT3l2RVFnSjVjVTNyL3gyZ3k5K0pw
VHo1bHhGc2NHTVlOOXRIWVRmVWRWQ0pET0NXZ0ZDWXViUkJiTWpzSm9TZVRmUGxYdnc1UnlyQjhw
NWFEcXNPVGFHR0dnOWcwZkNFd1hIeVo4UFZ5a1BZaUFBZWtIeUZHdzZVczhvWHVGalRBeG96M3Bo
QW5mUkN4TFlBQlJIc0tQQlBEVnp5b1VwUjZRMGxhd3ZPVzQxOUdKU2F1dHM0T3RrUG8yN0NpTWJu
YStWK0RYTm9DQnIrMWRNOFlVV3AyeDMzWkxEcGFFTFgwa21pM0o5TGtMRG01SkRDVkFtUWRMSUJD
aUVTOHFHRGRSZGlLTFBRNzF0aFQrRVVtODNZa3FpSnhVZ2hYZVhGN3FaNjZpMm9JM0g5M0FDZWVx
eUMvSDZBWVZzUkgvekxPYXZZY0lScmNqV1ZJcDV4UjZqby9DRnRsR1pVbnNQSEhGN0wxeXNYQkh5
Kys4OFFFdkJaNU9GUldWc1FYQUR6Mkdncjk3Zm9meFdkemtzYjBGYWJ4bEdZVjBuZ0FtNWZ5OHZO
YWRUOVFqWmJybDB3bHR4bjFhTjJBa2krOU56VWlIbmpFK0U0eXY1VWk0RzV5eVRIN1NDZytLYlM3
dlA5QlluMzUvVUlLTk0xUjBzQkVIM0NTQ1E2RVBEMWNCdUZad2p0ZkhJb2t3amRoWHhLY0pNOHRx
d1hCVUR5N0k5K2dEWUZiRWlzeStSTnY1K05IejdBK1l2bFlUZVZlZ0Q4Zk1ycGZyOGZHL1ovcVQz
eFdBeWw2S0NOcGtsdmJSRGNZMDBIWGI5VTNwV1Q0SElOVFJkSUhwTHpvdVNqQWU0ZFV3d2NLTHZU
Y3JLYUNjNmszdTZlNm01eFZ3T0dUSlZFdE5scDJiWnpnMExwa1hmNFcyYllrQjZBcHM3cCtTUzk5
R0RYTGd5emFEc0hRZk9uS0xzRmE3N1BPUGljbnVWV3AwZGdnbnI0eDhuaUJaZTgrMVZZWWIwKzYx
NjBnUVY3K2pqbHNCRHlYT2ZMSWhmMU5VWlA0L3F6UGhlYmZ4VzR0Z3ZEUmVjUnl6a3pFZnEwOXpN
NW12OWJNS0JpMEZhMEJYY0FHb0xxamtRZUtrQXVIbm5wQmJ5NHN0Uk93aEdTYkdPL3UxN2w3SEdR
QkpzYVkzdU5ldUYrdmpPOEx2ZEc1REtDaDg0Y1BsVlE2bzltaXhURG1DWW5wc2d0NmpCUmVIdG92
d1dwWElNWWZKUVIzWUppc3d5WW1aUXhCOVFwWGNydjJwZFE3cVhnTno3ejBXUDhXUnk2M2pKanlr
RHF2bUdreDI5ZENEcmJVY1puTVo2Q2g2WjF4VTV6bEl4S0M5MGErTjh2dktHQmEwNkxPWmpCMUE3
MzdJU0JudmxwRy9WNkovd0xvMGNRaGlOYlc1MlpqZEI5cytEWnBEU0tCaVRTaERha1ZCL0lnZ1Vt
NFlVY0g3YXdnMzcwSnJQMDJtTTRINTl1RDB3S3RCQlJ0YVMvbnZKMUFNK3NDN3FDak5NWFVsck4x
MGlYR1FaMmVMVjRTcExYUVdpQU9JTGQvVFUrRWtYUzArdVMzekVCcUU5NjlISEJjN3BhVk1lZ0Q0
TVM0d3hpbWVMeEp0NEtQc0RUQ3ZIMDNrWmZhSEFlYXc4anlVNjZNUE5aa1UrYldaMUloWkllczVB
enpoWnpqenlEN1FLeEFSYXBKMlNzb3BsNkI5ZGl1T0t1QWxRTm1POHV4VlJYSzYwUWdFQmp2dEs4
Rnh3aXhwNHFGUUxNWFlYT2tyQUo1NE1QV3ZPSWNwM0dTbzNURTlmYWhKcGppOTMybVJjRGl6R2JC
WnhsOUg3cWZieWFaN2E2V0x6Q3FIS1JQSm4vSkVyZGFGTWRBN1B5c2xTYTBnakpJcHQ4cGxLK1lV
UXRRY1ZwWHY4YTJGUnEvSFIva2VHZ0tucDA2eTB0UmRCNUdRZzRheEUxK0hBaFBMLy9xMU9VZUZN
T3JVVm1EZG5oMTNDTVhMUTBidEpDY3FIVm85WXRSSy9vUWdwc3Z4Um13bTdhZkhsV251ek4rYUpr
V2p4THdmajdMSHQwNVlna2NpVWN6VUtyaDFNb0w1QUFlT2FPM0J4d2RJVHgrZDNQb2E0UFlzOWhV
dVpneGF0M1B6MTQ2Q1c4RmI2UFVKNHVjY2xQKzh0Y2tmdEVuUFpYbUVrM2JoUzc2WmFvSjZrNWhp
cC8rZ210dEkwL25Bb0FzbjVNREdrRjNGWm1BZnJ4Qms1SlFhZzNKTlpRNGh6NUpKclNnbC9FQmds
aFZURXFZa2ZROWxBSHFIMU03RkpicFU3RGt0ZlBjMDN3MDlYc3I2VXF0QWs4UlV3MkJUWExZZEVZ
UW5EK1dHblBLQS9BNTA1c1RlSXkweTBZQU1PVDExQ1dOVmF5eUR1TFRwRE9Sc3JSV1lkNHJKNDlX
MFpPREF0OHhEV0s2eG9oTHN1WXliZ3pDVlJtTDkvYS9zR3UyWGh1L3ZCc3AycjNKcVBROVF1cHZr
VHJGSlpLeDJOMExkd2FGcXgxNjY5ZENZdDNYeGVtME1oUzFaNi94ZkJiOTAwZ3JhemY1dUN1Z0dx
YTV6VkxNaVJNb2VUMkRKUWxubEY0c1ZQckpBdm5NM1NXZGt6aTl4aUZieGRRVTVsSU11dzR4SXlr
aW16eUpJeUJnbmtudG9QVVZ3VVZWVnJTODBpbmk5Qm5TdmU4NXFGTC9lTlZmczNPcUdUUTcwaGVU
L2JsUVBRcDZ5dEZGdzR4TjQ1ZEgxVkUyVUZjYmRjV1d0dG5aTW5FaHVsN1NwRE9ibjJ2NDBieE9V
ZkY1dkMrS1NOVDZhNDR0cU9jZnJzYVk0MTZXanlEbGtDTFdMTjZGUEMrMi91VTlGekhhN2VUeXlE
M0tnaVdsQ2g0UXp1NzF0Vk5mckptcmxxT2JMdWpSOFBBM3dUb1I0WG0zRFdsNFNuMDVkc1hQY3Iv
S3YrWHB3NlluSU5pTzZIcUVvTHVIaVpPK2F4OVpvL3VZZitOVmpwV3RveXhYSGRZblVXQW5jL2k5
cnFuSXVBTzAxQVZ2Vis1VTZFb3QvN3N2YURzaHRSaW9qcHFhS0VhQ0EvRXpxZkhjcjZCN0srOU1m
WDRhTWIrS05YZUxBMWVqZ3RCcFU3MFNWbUplVStLcFlybm5pYStFMnMyYVZvdXBFdThlOVdUVm5a
bDhSdXM1Mk9NVHlpK3pxSUM4WUNOZTJINk9vbEhFc05VR2c3WXNTL3FUUEdwWVVEaWpiQWZ5R2hJ
WFYvL1pWYWJPYVUwYXJyUHRERVVqcVh1b1RSckFUWnMyUUNvNmg5VkE2MURFbXpzQTRwZjNLNkZQ
azhwZ3RhL2Q1NHFLRDYzUFlFSGFWQnA3QUFJS3lrZWwyNmU2bTBjVTlqNkVvU1BrUmc2bjJNZWhk
c1VRaUFjV3dySTd0c1dsZnZuNmRFK2RmakJQRTJvMnM3amFkSFVzMDhDTEJwanR0WXA5WCtPTTdu
NitjWG5iQjlTSG1vZ3RIWG9ybkY3MXZtWnBBVytHR1dqTjlWejVKZDFnTG1GWWhCMFFvc3RkVENo
S1pNd0xIc296MkFsSzF2NHBDM0d4OHhtSTNuYlpzZnB5UUhGUVpsMGxRQmpjd0JKdjNkYXBxVjNl
Rkk3M0FZUjBTR2lxM2V2aDNiL2plSUdvMm1LMUlWakJsSFBha3JSMVdoMXVpaEVyTlRxYitYTVVF
enB6cDdlZGltVEtHaENVKzBKbEUybWpZT0pqR2w4Z3VRbDI4MjluWXZuTkxPbWNMZ1Z0ZnlES0xM
Unk2bis1L01ENnczWi9wczdiajhVYVh1YTk5dWZvSHBHeit1enByNDVDNHUvU0YrVW13aUpFMXhH
MGVBSDkycVROb0VkOENDRStDSGwzWHcveDRCTXEyVzdlSmtVanF1aFM5NmwzRUFlWWNOUlduQVVN
MEJGZEJxazhIZE5UVlVQT2diaktKZHFHbngzMEQwNDNFSGxVNHFwcXhJTUhwck96d2xqTDJaTlVW
T3pNVkJzendQSGZhWXBtWVBLOUVQd0x0QVMyTW9IcnRMZGJ1VlJQYnlOTEdqZEJaT2ZjRGk3UHh1
cXB5eiszUlI5elBBdmV1c29oTTNEUkRvUjRIZlJoSVNOK0JNNDRGcEZ5OXZDQmo4eExWdzd4cXMv
Tm55SEVEc2lvbHIyNnJsTkVYWTI3ZVIxQlR2MktWWDZteUVrMVhwZ1RVOXREaEZvb2Z0Yjdmb0dM
QkVhU3NCUnlTUHRlYnJXajZFSUpWQk1xUGJUTldoV3FSKzBJYnpYeVY2TmtQb3llSFpXSWVQMHdv
MEFFaUFxMmpUUVZyNllpWUllWVZJSDVCZHFpVU1ZTDRHaC9GcnUzTHdicGtFdGdvTS9LUExIdzJV
M21WZlJockpMS1pXRk5NMDZVSkVlZTBZanR0anppQUlQa3FmUkQwanBYTm9CeHFuTEhlbjRoWjVP
UlZOR0RxTy9wRjVNUlNjMmNGai9RcGJ6SHFOWTBHbzNIRlJJeFhQMFM2TDBBUCtleVZFellBMkpU
YnFYSFdJSXVCN2VST1p5UEJEZFhNNkFvYnRpcEVGU2tsRW9KWk1zRHg0WVVESVlPc0t3Mlp5VVhT
U3JFcklzWU5BaU9nTFlKVEFCVXkzVnczdE8xYXJSancwQWdGUE9LQnZIT0JvNEtKQWJ3dy96K0tx
Zm5tZnVSRHNjc0NMV1Z5enE1OGI0TkVSY0lmRHg5WnUyTkxaRC9KVS83clVRbDlvckgvZGhDL0R3
UHVka0k2eXUwVzZJQlBkdTZLZCtUZlpmOTE0NllJdlo2MFhuUkh6ZitaeHdoay9idlZ6OEFOd2Ni
dnFvNkZQMFU5eThheHYxMmkrQ091dmJuWnBiT3ZQc1IwQ0h1Y2lGQTRuYnM4dWh0WW9HV3Qxcktk
YW1MTlRSL3RzRVluTVU1Y2NJZCtsNStwemFaY1c5aUFYbU5zMUFyc09YS3BEVnk2QWJDWFhvcTVS
THV4OEVVMjBtWEErUEhHZTVJdllWZWtaRWg1c0pVc2NoSUdCbTRpY3Z6UE1wZE10dXhmMHdkQ1lY
bkR6R3VYWXY1T2l4Tk11cHRvZEFpbk1lNElLNk56d3h2RUlySkVVRkxlL1ZzOXFaNy94U3dlWU9u
N2dhUHZlaTJ3enoyaFVObG5TeG41b0s4TnlOcm9jajE1M08yRG1STXozQ3piRXFXTWpUVG91TTJU
OG9YVXB2RTRXRGhDb25CL28wa2krOW9kV2ZjQXlkRFAxNm5lOEkzNGhoYmpvTXdHQm5UbU5DaGdw
RkJxaWRFMHZoTllCZmxKenloY2VGTlFXdWg1KzRHUDE3L0RCK1kzYUhNaUhZWXhxekdaUHcvVmtm
UE9EWFJRZ2d6aWJlclRhL2NnQjdwUzNxSDI3aFpLNVM5ZE5idjRxT3FKRDB1Tk5pVjkzTDNtYUVw
QjlXVEtHZ2pDT2ZiamNMVlNvQk8xSnpDTlZxTHZXNzZVTzdaUExETG5xTlZ1VjdVTmtUeThnaWVR
VmVHU2xCV1o0UEQrU3BjSndPOWxMT1lmRTFVODRzK0RGQVFsdnJmWFkwbFNPNlp2NXhvWmdYQ25o
M1IvT2FFU0xyVDBtamx6aDdFMWQvNHFVbVltelNYWmJiSlRXaEhyeHA4bi9ZSjlFby9OdEIwcGRD
c2ZNN3dtdTF4d1lEZHBDQTd1c1NFK1NHb0N5OFdpWUhubVpSdW9lN3lZNkozeGhkT2o3SC9QeUM5
aERMZjJhUExwb0ZpZUpBL0RVSitUYTNlUmUwWGhDVDhsQ3dHMFZpeFE3RURhRm11RUdoU1pVZ0tD
UDg3bHRWM0oySEFicENBam5EYmxENVdKWUlteUJvcDBibllhb0hIWDlFNS80aXpMdmhJc0Q5dUlu
N0E0eXg4Mm9xdTdMOGVnakdiNytqaDVKREl0YXhkdWsrNEJ6eUptQ0NaamhrUStlUC81aFFyTWJN
b1IwYmN6YU8wS242YjVSQ09oc2xycXhMeHFZbFkrZGw1Y0hBV2lDaUJxUFVBNDVjOTkweG1YRkcr
OXdjbGRlSVJBcEZ1MHpXM2JVYzFubGVWZ1dUSzlZVGprdGlEOFFwUnZHamhMRDluV205bU1LZGRE
RzI2VnZWVDFaZldDcDEwNG9wVXFhQ0s3S1EwQnh1K0xFL1BIdGpGbXJMZDU4TDFDUEttM3BsOTht
c2NFMndmM1dwVUltM1dldzBkbDIrUGNISEU0TXg0NzRNVDJ3L2luU1FjMFIyMHZ6U2VadWQ3OGRS
WGx2bXN6TU1NWlNKelJKTE5aWTRCbkJITlN1d3dUYlZPVTNaNnVpR25wMFpWSFJSR2RsYTIxZEQz
VzBIRkhoVEFCelZDeG9hb1VMdlA0WG0vcmowQkE2T3hHVTlDWTlpcnBObEtYYkZ0YnlITHJCZzd5
bHROUnBQa1I1a24wdFB3d0djWUFVK296NGFUOEFLTk9OT2xMcDZXMGJaOEtpZ3JxbGxKbUxXT3lV
bEkyL01hcGxRWG1lS0ZHNnBHUmR1T1VUVng3WTJybENDY01RYndQcVRyZCszMlMvQ05PeXU5Yi9a
MXhPTHRPK1JoeEZlVWZDQ3NtT1JMSVgrTURsSlBETEhOeVNCR0psL05CRTh2SHNQVGNlSk12bnBm
bkhUU1ZCTUs5SUQ0MHEwcGEzYTVjazgzVWRjVVU2SG9XQkNmM2xROFFLMmNldmJXYVpCK09ONEZG
WGFvWERWS2N3VkVjTC9nOFZGZnRPUndFWjRtdXBRTW9iNGF0MXNUem5ySEJ3c2dyTm9vSDMwQ0NQ
blJwWC9wbFNIR3ZocmMxQStIMHAwZTRSRWJCTVdjaWJsaHRMMFJ2OVprR3U0NWFuQ3MzRnpyOWhR
TzNOWDZCRXNYVm1tY0Q1TE81Kzd2NXl4alJuZHBTOVdZbUxMRjdTVFg3UWtYMWNRWjJrdVpnZXVL
bWVaU082UzVkL3RIYWdxcDRveEVCWWF2UW1VeU1uWS9YSUlPdkFwclI0NU0yMVphUUJHQXlURjZ0
QzBGdHFhek5TaHp4dHhmdXhVZzNxZmNGVFQ2bWx3Y0h2Rnc0aUVFR0c2cWlzSzVqbkFsSlRvekhD
MVJDWEhmQnNpQ2hOTDFJbFRJK1pJeXM2QWNNblloRVhhZEZRZnNTNG1ma0MrcVVOWS9DR29ZSFI2
RmhYeVV0dy93VmY1M0ZaRFJadWRJOUJZQVRFK1VCYVpQZTBXNzFWWGJEVkhNZ3J6RjhHNHRvUW1T
SUI1SnBmM2x5UnozS0xjYnQ2YU9nSzFlcnNzeFR3cmtscmU5UkRPbGxhWEF4aGs4ald3eDRjOFBW
QmIrYldsWEZiWEI1UCs1d0ZLZHQxN2QyUjlqRTZULzA1SlUvSnA0NGVwcUNHTENWdldIVzl2TStD
UUpHMW5SaHN4ODY4QWxuQi9WSzQzdHJrZnE4djdNYXJaYkpwbDFxb3lVVklIdGJPWVBaQVkzQVZ5
aXlRN2xTVmdEU09YMjJsU1VqOW50M25VV05wUnNMWXArclV2V054RDZPYnNDRWVBQ2UvZGVSWSs2
ZEllZlpiTFdCUVV6Q05iKzVjY0F6TlhtWTlOaWN2S3lack1ueFcvSlBFUXhnbi91MCt4ay91SDhM
TTBwazdUZk9OZjBKMWJjWnpPL3ZGREFVUkx5amVucjdnK0ZxM2thWnZwbGUzWk9IMUsyWFAxTVdU
UjZESkNVQ0FZbno5UjUvUDAxYjlOYmlkOTVMTXZrTzlYendZRmtiUytrS1JIRWJyaEd4YjNKbjJR
WHExY0VXQ0xTYXo3Rm9sbzhEUjhkU3dQQ3lxd3h4L0hRV2FWais5WVNnc0QvZ2xHanZYb0pZSFlJ
dEx6VTVwS21tbFQ3YWROUVJOUEExQXNKYnl2dmRBVGZPZ2pENERaSmVYbk45aUxnSDNNRktRMlpE
Y29KUzBIWmVMRmp0TkFkUVN6VUFwWm03R20ySHdYaWk2NUdQSVhZMGw2cHpxUDBid2V1N2dwZHFu
VHdxZDNOSU84dUE5L1Y5anRKV2JRN2kxR3AydEVSQllvNlVha3RsT0I2cktzZFBKamZETEZpRUlq
SGNwV05PbFlJZ1d2WVpWb09uUHFzOS9PYW9LemR3Q0ZKM2xTREFsaVdweUh2dXRzT1Zka3FwNDJr
R3hvZ1FwcWpaZHlkakZMek9FZE14bnd0VWRmVlJ6b0xGR0h6RmZ4YzlkSTBIUWlTdXVkZGQyUXpT
NnU2NkxMWEJaY05meENFV2liVHRHSURYVE5Zd1pqK1hJQ0RaUEgrNGJESUNZUXFIYXdEcGgyQVN4
bkFsclZqUUJiYzFUb1dYb3dubGo1bXo2cGRYOXZpQjJXNHpFNzRDMnR4bnVoY2NaVHVWMFNxcDdm
QTh0WEJJdTloUzRISEg4UFJUSGhVVWl3bW5xeFpHUEZyYi9rWG9ud29pdTExcE9uTFFoWTRoNkJv
aGFhcWhvNFovdGVvN1FlNFZMTHNYejltUXdvd3U1VzF2T05lcnVIb2VnYlRDTnVpTXZ3c05iYk50
M2ZDV2d5eEM1czIxMjlzYXQ1NnY2OXVpdWdNbktyMFprdGtPNnFxRUJNK1MyZW9Ma1JmSkZVRlBJ
MUlGZVRpQmszQ0xocVRJNDNHcFhvcTRVVjdDOUZYd2RPWlB2OGFvREJJZnBhZXl0dWhzMm1ROGlw
Wmt6UENCSzVGK3EwdjFLcHVEaDc2dDZ4dHJoSlhMWDF1Tm5tcEVXOGtDN3ZBVW1OaHNMdm5rbGVS
dnlVMW0vSFBFV0VZUWZZVWVPdTNoUnJsbkIwYnNrYTcwYnpkOVk3T0JVVnNCMWN0ZkZudHR3cXR3
WXozMmtjdDlDazQ5azZMbXAvRDQ2UjdSQm5xMHpva2NUR3pDZ2kvSU1qN1B6ZzhNOHBFYWtBaVVY
eWVkL3NURDBoYnlPbHd4aWtjeWpVQ0VLZkpsMWQrTW5PZWEremJQcFRvSlNLNVlqb2ZpUUJPaUp1
c2o1d1VQdlRFc3RCbUZjUllrQjRGN2I2dmxzVjgzWTkyN0M0YzFXU2wxS3doSVNWKzV4ZlNxbVdu
Nmk4YzI3dWxrNk9lWjZQMmlHejhvMHE2aGUwK0JxWnFtc3k2WmFpUjY0TFVtTnFpeUxRQmNpOFJZ
eS9teXUvYkY3K0pGYWVqY2RGWHVuR1V3RzJ2MzBwdHFVbXQ2MjB1MTZQQ0o4QUlnbGsrdTFhUkly
SHlTUGMvckJoenJld29ZMGMrZkJkRlVkMFJZUEFjL0llYkFUM2lPaXJ0S1BTWWVSNHBpTWY4N0pK
Rlk2UHVzWEZKTit3Y0FtYjZiMzFkbFowelJwTG9mRG0weVREOTRGZzdMNzFiWHUrSEYxMndNalhB
TW9HVHhvK3lQdFcxMkdmSHkyOWJqdWdQZ0FwVmgraVhqaU1xTzByUFZ4ZUZkVGpmRXp2cXZScjR6
eWN0T2FQNzdzSjA0N2I5bUpicmhwYUk0T1YzbGhiTm9FYmRyOStOSmN4MlhDMEIzb25yQkNXMmtp
U0l2Q2N4b0FjYjJjcWduNVJzZ1YvK0tqT202bHdENW8vNHRDMnRCdHJjMWlFcVdZdWdqSDhBM2Zo
bHQ1NDFWQnRQK3NnYjltOTlmd3RZUWluWVZSLzNzRnhudUxkMFgzVkYxdTB6eVlpcUlBMWRHSXJ4
NS9weG5FU2FwQW5WYnVNeXArMzZwSGZpVUovTjduVFk0WUxlYmVGNFc4Qjk1SExlM2Exb04rYkNp
QUh1eTdFdmphZ1dEK3JaWGEzbUtqWmFKNzA3ZXViODdpQnduaVA2MVMwOVhEZ29qWnVkNURuUDB4
bG1hSFNlOFNnVmRVQnM2eUZHUi81MjVxS2RNNkZMUlc1TzRvUGYyT21tbGdkTUE4UGxXSkdJYklB
S2xpVUdEZm82ejJuZTlNVU1zbDlrZ0UwUzBNUWNsSURkVWNDeU92eFFlS2owb1BOelc0b0hzSjhh
c010UlRCMXQrQy9mQnQzNWRQK0g3em9LaUxKc3FKVEI1WEEyeUpES2lIcnhQaXAwZGNwRlJ0V1ZW
eDdXM3MwZnA3aEZDa3VJbTJSMGg5OGc0TUN2dEIrNzVHakZFL3lOYlliOFBDejFJOEYzYmxPTFJE
YWJ5d1dDU0syVmwzVE9oRHNRTzFjSkdaVi9pcTdxbjJKV0RZamhGZkwxK3dobW83K0M2d3VEUGRR
dmVKRG4zbzEvWTNsM3dkOWxVZmZYSGROR2dsOVIwRVlqdFJ6ZmxiYWd6NzBRMVhQbjFpYUlnZ2Za
Tng0cEMwN2ZFTW0ydlpyaitRSlU5Y2FJdVlUZFVPSGJ6SVljd0sraGxxZWU4ZGVFZW4rNDRSTEs2
K2Z5dE1HMTBpckRCR09XRENaL3d2RE9ubXBxd2dRaE91Ukd1eWxSOWZYMGQ0ejdkSlBhai9seER0
NkdkTnhuajBMeWx3L1JRVFlnVmU1RlBoREFwcVlHSHhmWUlOWVNRbzhHNnZ3VlFnSEMxWHRMS3JU
NEFZTHpvUk5peW9NTXBhREY4TzdEdk5MLzlmWEZCVVVLeEpCNEFDMXlzNUc3MWRDUkFBOWt6ZWlT
TzRRbFlzTjVuaFVtaWxab0dnYnZRcldqcFFUVHh2dllBS2dZQzNYOEtFZVN2Qmc4OXMxYkhvWFF2
cFY4Y3FWaXQ2U2g1R3IzUGZZWHhTOGRBWXlBQk5yNmhjNVh6L2VBTzNzMjVMWVVEeUo2TjdkUXF6
U3RIc3I2Z0pJUDFQVm43R2JaUm84VGx5YzJlRXhxTVBUbmV0NG5HV2ZXUWExQjBPNlVjdXZTSXBM
V0lkZ0JZUnhsMmUxSUhFRUdyTE1FbE00OGd2OGxOc2N5RGk5d2V0bC81dXR6aldVVy9lbUxBVHlQ
UkNoYUhiQzJCcGdBYzJuYmszenFlR0RsaGlUeGUwNmwrUTg2MDhqVm1oaDN1c0ZaUG9BQklhQlVh
ODAxUUdmVHFhRmcxM3N5NFFsV0dsbWl2eGJSeWJyOUFZMFRudkQybEJ6YUd3cFdNQkN6TnFkT0hr
TFF2dHlxSFIrT2NyY3kydHRCTXo2N3hKQ0w3dFhhL2EvWWtPaEN0V01qS0cvSHViZnp2K1hyZEpP
M3EzTWJRTDBNT0c5ZVNERGsxRVhJcG95MVdSUldTV1owU1Zxdy9BSXNsc0FWUTdhVzdTSFgvb1Fo
TVJXK2pzejRGenlSN0pEMFh2blhmUGZSZ3FjWGdFeE9QR0NCOE9ManJpbWNqb3Jra3JKUHQydmR2
NExwM21sUHJYdmlqN0NXaWMzTHdhU0EvR1prQVR0dUFwZEwxaC9GK2d5U3IxVnlHRVZZRnk1TDVV
eWFEWmx0by9rQmtaU1JJVENPQTVjN21UdUxHbE9YNTRHOFowZ3NMcE52Zjk1Wmk4MEgraXVibUlk
bWJEV2lPdkRZeHF4WnNLVXB5NXJaa2xhMEdnbk1icE1JNG9CNTVBNlFoSGJKUDJGa29UUEw1VlI4
T0t4RUtLMUNPZEJ4T1E5UWQ1ZDVFT1lLVC9Cc3M2QkdBbFBFMHY3WE1GeldLSkhKa1YxeFo3eVlr
Rkd6QjQ3bWRpbTdMbHRpTCtYSFJPWTRUekZHTlorYkhiU1NnUFdoblhsN3VWaXd0TUNKeGg2dnY3
czVlN1NHblZFUlZEQnV2Q1YrWXNxSWNCRjhoajdQb2V3czU2VlR0Y3BNOXdtUXNtZGRwNS9XWGJ4
dHlJREdjS1lYblBrY1h6NHZzb0ZjRUpjRjZ2NWFiNUh3azY2WHNDU1FIWDMxM01IMm50bnlPZjRW
OVpyMDFpdi8zZzlPRVJ4WjRia2ZzMkF4ZUdtcW9JSk5IeVQ0QVFHVnpkamZNeWtJempCZ21oM2NW
WUxPWGdTdVhhZWliSzdidkdOY08zMEtXbTMzaVM0eXVWTndzdHQ2NnhnRVRxT0RYL3pRU0toc0tX
S09SNzc1UjY0QWdzdHB3OGtza1QvVGkyV21oSWU2TFE3YmtBS0hyZGhsRWdCTkZrZ1B6SS8rZkxa
bkJlbzRlSHB6MktWQ3hxSDg5a3FReW1tZGZsc3RxMmc3K0VkZWFxTk9xRUxkb3VaOUIybHE3Wml0
S0tCOUladmVuNFYxTFBxY0VVVUU3MXFhQ2lPNW9VdVEzRFY3US9ycXJCcndMMHNGRjY4R3haMnFw
bjVsTzVpdmo1QlBaU0prQUdzbHl0Zll1UzErYkd3WG11Q3BtdkQ0RzJkUWJIOURmSkpKZG5CTUls
UjdCTDdMcE1XMGRvVkxxaUFHTUVhVEZpOG9Sb2hMaUUvMkpoOUpOTXRSb3NIRThnSjJFRXlZU01B
SzhwOVpSSG5mZThCYlFjMHYzN2txejVIcG9XYU5EdGJjNDZvZlZJR0ZPb3VOK0pSVFljS0pJTjBx
QVgrZUdBeUNJU2E5ZFFIcnNBVis1OE1zVHkzYXJYcTArQUpmSVdzT2RMdTVKNW96WkM0czUvekVH
K1JSQnE2VUFwTklYcFVsMjE2SUdsYkRRU0FOU3J6SFAyU1V1alVUa2ZHeHNzT05UVlpiVUNSeWc1
THI3N096V1IveUxGaENsV0k3dzBBMDhNTitIQzlleEU4TmNGSVhHUE05eXNJVExXbkhuOXVtWUQw
Q21mcDRkb01oUnVjd2p0ckszR0l2TVZmRmpidW9WZUVEUFVEVjNOVnBYNVNObmhMN3VOdHRkU1FU
bVdMak8xNEhJakFtT2E0Wk1KR3NURUhnNHgwMXlWMGt6SHNnMUJETlZGVm5tZDRvaGovSkt6emlm
Z04vL0NKNUdjUytUblFtUU9FRXpaTkhHYnVWelA2dEduKy8rWnRMbm90am9xeVpwTFRvVExjcmE3
bG4vWFhkNHcvZ21QS0RwVU0zbzNaY1ZLZGw0cUV3R09obmNvUmt3QTB6NzVkRW5ITWdCa2Y2b1ZH
STRROGhHaTdMNTNWeG94dTNBL0p1eDNQQlFZL0xGSGY5Z2tlU1pVRHNNcXhXS09BU3I5dCtMMmZY
T2Y3RnlJeUVXT1VlMFZQOEpjNU5sanNleE5hSk1MNUdOOVRTblhYWk5tNFRLZnpvOEZON3lYU2lT
UE5XK1ZZNFhkbFNLRlNRMWJ5U1hYMjBmZW55K0w0VDVFTkpIdVF2MjNuMFFNalY4bTFKMTZGZnlh
OW0xMS9sTFR6VnB2U1B0QU03YTlHRVNTVWFzZ25FVWYwMjNtRmxKL2lLamlnbEk2RHpDYWYwS2RD
emNvNWtXTTdHd29qeWhSZWJxUXB2QURlQWYxSk5ScUJCeWNUTCsvcDEveVpKUHJVazVFVWpyUnJx
NFI3YjVoWitvelZUMThTcTFidk45eUhxWHo3a21uQjhQYzQ3S1c3U05Dd2JVWG5aMEdlN25RcUVn
ME5BY3lMKzUvQ3dBVnNySXkxYnl5bUpveFJtUUVnY3p4b1ExdXdPd0Q0NWU5TzBOY1JwN09JcFdT
cGR5YkNaWGxwMnhpMzM5dXdnNk9zVjJ5R1JUSFdLWlNYREk5bENONkt1QU1KY1ptK05GRGRwVSsx
UFFHYy8xMWNxK2RTQThOWVhhN1ZKK0ZleE53WjhDMDk2R1oxSkhwSUZkeFY1UUpWY3RFTjNDQXhP
dzZjdklJZFJwSW9mV0tUYkNNR1VoOGlocms4RmdqZ01lR2pOWXdYVVhWclBYNGY5UzFMK1BKNytF
WG5xdi9mVXdVbmZESjJtNnRKWUN2UVdGWVpBc00wcE41U2UxYmQvTzRCTlg5S21EY1B0YnFmT0g4
cEJ5UG5FdGxFRnZTOTRLN2hEMG1zNmxsR2FBcTUxM2VtMzVVU21KV09GZEZvbmF0c0lMbHhHWTYz
bk5zK0lVKzhaVEIyNVFWbmNnQU1FOGpmMUtGOHMyQWhOQXNLV1kyMytLLzgwZE42OW5TZWRUUmt0
YzU3Q0NWaW5mU0hwNTBmNE1xNlBWa1p1WEFKR1pCVm56ZzFJdDVIYnFJbzc2b2RTSmtNRlBJNktr
VFNkZ2FLWWN6dUFuYUY1amZWVzIzK2ZUWVR5MVJVRkhBcWFpdEgyTXRzcjg5dVhnMTFaSlR4OW5U
Zmgzb3djMENRcVR5d3plNDl6VmNya0lsaVVZSHQyNE0rdFcrZUt1YlRCc0JmY3kwZ1dKTE1ZditE
THVMTGxPTm9VYkFRamg1VHkwc1JaNU5qdTF1Vm1rNk9rclpPYTBZTktONFU0ZGErV1BZOFk4SlJi
anAxdFhWM3pYSG53RmJiQm5leFJQSDZZT05Qby93VjVtMHlsaS9IaVcwRk1kVjNUYlh5bWF2OGVR
SXBxR2RiakRBT3pkYzZQSDUyM0hlVDAxd2JtUDlTdVY4NVRPYnR6dDVHL0laU3ZuTE5kM0xxdCtR
T3pwVm8ydVhFKzRXNXVmWUFMSXhkYlZ2SzQrOW9odHhXMS9JY254RmhHL0kxQVhlMHB4YlZDZHlr
UXBQdElHSTRtcWh2Yk9WNFFWRVQrOGdYMmJVWmQzcW4yVEtlYjFEVmJkLzBKSlVFc2RadzQwanc5
Rk1va0Y2dVArMDIra21HUGcxSzJFU0dCSFRvZjJ4NFFQSHd4aXArSGpHbjJLOHQ1M3pGODVnRU5i
bmpKR0ZDenJnakwwWE1rZ2JjRVp5VUlqaW5wRS90WFkyMjBFSjk1TTZYMWNFeFBjTFZhajVIaFF2
c2JMZXdPSDVmSVVXc09vZE1VL0VaSzlnQklaRHVDMnBHM2VrUnZLV1lzZWFOOTlYcVRJZTlGZzhm
WmVWN1paQ0ZjWFhNOTN6d0VVT0RaanlhSmRycFFvNSt0UjFmTi9uWEc4ajUzRVM0OGR6NGlNZSt1
WndxRng2enhkY0M5cVkrc1E3ZGZCK3VGSzFpUjFIK1hpa0MzSWNmNU04ZEgxc0Y0amVtVi9pOFFB
eFRZcFNFOFNOSHRoTjQ5cWFOeGlCWEFCQm9QZmZmWUFUZ1FRTWlxcmYxZURFMGpjMCtaV0xuWDNw
b3BhMXg5c1dFTjNUelJWaVBTWUVKclpZWlFYaUY4WkFoQ2J3aDh3VVg4VFNOanRVQUFkU1dFRjAz
bHF6ejZtU1A1VE8xYlg0NFd1M0h2eFhWNUl1clB2LzRlQTdtZ29FLzlKeFM0aSsyWHhlVzdNNUN0
T29oTlNRSlZsVy9UTHNNdTU2QkxFUHcvWUVacTZOVGU0Vnl0N0lqUjUrL1FDR3Z3bWNYR0lpbFpi
Mk9sU1N6NnZjSnZEQmhMZmRhWFRGNWF1K1BaU201VnpnOFdXa0piUThxdmY1Qy93d3NPMHFBZVdB
UUl2S0I5T0U4Z0Nla2FnUkR5UVA1MUw0N1M1eENYSE8zY0N1Yi9lYUNnSEF2Yi9HeHJBTmtTWlky
dWdsamVjVTExSWlIQkpvMkpHRlBMYlFNZzc4MmtWNmVEQTRRMmg4SGRtSjh0WHhaUExjOWNPT0pw
L3ZQMXBiVDFQSW56a2tjMExjT0VubUh3Qyt1aHB2RHJpdFI0bFhPTjczNEI0emlicENzcWJVWkU4
TTZGc0NyRlljTTQzMHlKdzNXNnRYRkFveGU3anhkbmdSZW5OUEtvRHNGRFVFNVJoNnlnSG1telBV
MW9TWWszc3REWWtBK0x3dlhUVi9wYjNsK0w2STY4ZnZBRWE2VUx4MHBMSm9ld2crVVEyV05CYzd6
RlFFQ2JlRHFXVHdIcll6VDBBM043ZUtKSlVReWY1ZlQzd2VQVTVVK2tDeHpNRUE3R2ZnOG5SdFU2
OGc2RzVOUXBUUXk0eHovTzN6QTFsczFvVURZVkRMWFp3VjRUZjZycmpmR2xzcmlIbjVvME9icFVT
MlRFTDN1cG9YTm1FVHNWK3Y2eXNnN1FVdzRoMHhhcmpqTytieVZmcmRsSnVzTkYzbHl2TTMrRHdm
aXdKSHVUQlprZFhveTdDbEF3R3JRMWlwUU5KY0oyaXNqNmlOY0o1dGxqdHp6THdHREpjV2xEcDN4
dXNySUlYNGdVTVZNZlR6SGhJNGVIV2g4TXgvWmtiSDFDMTY1MHJJMWxWaVN0VUw2N21yaWpjcGFB
d0h3MUpWZVdpRlJOQzZsaG9Bdm5lUHFleTRHd3Z4cjBlYjFSTEo0TmhyOS81eEg0aGR4Z0s4Zko3
L0d2Q2o2ZjRnd0xkMlI5dmFESlRwTUVqcEJZNzlhemc5T0c5VnpjVHBPR256QnkrcFR6Nmk5bUJW
dHlZVU1HZ1p5SHpyck1tSU9xUnNEbjNiR1FjT3JuekNybWdSd09aVC9SWnEzb1hTQ2Rvekp2V05y
VStseTlZaG9GM3c4MlkzYjlER3pxT0ErcWNCQjhXTldsRGVScnl2QlZqZ2VzVmhTWlZQcUFBRlJ5
M1p3TEtEUWFHbkY5cTZlU0gzRVRSMVd5MzVIYnAwamFJTCt2T3RTeng5M1ljVDVJUFZQakdtNi9j
aXR2blhrSGxpb0IxSjZZenFraUhEakdpL1lGc3pLNE1CQkhmNHRtMDMvdWI3ZEtIZ1pFSlFlb1hC
TDF1L1dzWHNhV3BRbWJBMWZDbFg3a2NLOTZwaSswWnR1Qkp2bm1hYWdBWDJLRHNaTHM0eHN5aVJG
MGFjUThjU09DMElWT0c0UGVLTkFVK25tLzlpVEZyL01aeUg5dEJRd2RXVHloMlJaYXpMMGJCajk1
a043STBoRGdnampNQjA3RFlUOVZIL21vdXhoOU9xdDQrT3NiN0FRK3B0aytRTy9oTHVnTkdubS9U
aHBySzZsTm5QTWR4L2hOTCsxUXR5ZjZBNTkwcm1zcDFSRmxGQTZmUUNhTmVMbkxWVXk5eW9yQzBM
cVM1ekptMU9MSW12UDlNbzlyanhYUFAvbE9TaU9KTFdXTUpleUhvNnA0d09naVV1dmhRL1d2TGdV
cHdXWXI2WG5IRkxIaGtuWGlKbDhBaGkrQWZCaTRrTXlobDhwbkNqcVVlZzJ3M3MyMXlORTBGTDhj
RktpUGRZbDFQdW1lOUQzaHkxamJHUytIYlQ0UXk1L2Fzc25lcDJFQlVtMlpzekw3b1lDc2lDeGlP
MkJpRzZJeGVIeDRmYzB5TTFROCs3bkVkUDdPOEE5d2NOTGpmOXpzb2dxYU1vOVpudDdWbTJpb2Z5
blFWYW1HcnZDRkNPQUMwdFNPaW42REo3eUN2angwV3dSVlhzMDVCejBuUUgvSHlOb2oxTlBqUUZR
WTdINDlIYWRPci9kaTJvdmlOS1BvOVF2dHRFT0xBdHdpUExUb2hLU0dNVzhlaG1kSG12Mm9XSFlX
OEN1QVRDYWR2NHdmSWdQWkl6NFprVnZQcWF5OGw5OVkvcTg5dG5zc3Q5aDdPUVM5V2d1V1FCYi9K
K3hLZVR4UmtOOVpVTWRlNWhHVjJ2cVJoWWxCUHpqc2VvWC90dUxaYjRZaUp2cVVLbEhEd1UxY1Qw
NGl2QkZ6NFB2K3pzd01JR3pmcFN2dGNzbUo2OW94dndDNjdaNFU1N1NKbGNDTk9yZDF3L0xaSExj
ZjA2L0U4L3c0ZHF1c1ZCdElqT2NYOTM1NDBSRHd6bDRQY3NwQWhlakNqUkN5cHZIMXBmWU5oMTlL
Rm9vbExqOElnSTNNS203cU9ONy9sdTJWVUhzK3dJZElmVTVhbDliT1FCdzkrNnZJcDJBRjFqVXp3
SW8wZjdtV0dpWDhFWDJQN3FqcEhERFEvbCtiRVpvLy9nUWljdmZFYVV6TlRRYkNVV1owTnRNbzVP
T3pnanI3QzRVbDhoOXA4VTFxUHQxT2ZONW1pcHpydkxaeERZMnMrTGFCcm15ekNMMUs5T1pDeDU1
Q2E2TGxwbEpSNlJGTzFnSjVBcFFZWmhNRkU1TW9sTllvbjVZNzVtUUdkUCtzNmloUTdyMjQrb0lN
ckpYZjNXYjhqYkFGMk9IZnNBTG01clBvSUc0b3F3Zk4vcW15dTlqdUdPTjl3bS95a3BzbDRUVWVP
M3o4dkxZOU54V05CV1VJU2llNThURlhscGlWVUt6bmhVb05ycDEwbzlDbWx4Tk82cFEzZ0hseW05
NFdyL3F1VjhCQ2w3U2dJVHlJbHFGbVpxVnY4aVFqR2pORmtUcWVWV0d1OUxKdDFLOEVleG5SRGpR
d2tIcEgyOGZUcUQzTGMwRFNZaHV1dDk5cGVEcHRlZmg0cDhUOWVvY3FBTW1iMzZhWXl0dHJncVlX
MlNIOWhsUHVla2JaaUpOTkNTZllOMEJvczl6NXEzeStHb3Z0V3N5QVBiZ1FXZlpJZlZzR012bFlt
UVlpOVFwUlNMQUhLU0dKaTk5ZXBmQUo2UDl4ZFg3eS9YZnRyWm83TGxSMzZuRDhKUlF2aVM4UlJQ
dUFjakxEQVczSnpBbmNuOFY2TlB1MnZnV0dUZ2tqQjN5SUpEaXZUREpoZmNJVy9kdHF4U0dxS1J2
QStmeWN3ckw1TkFyZEV3TUg1cFFPdmlFcHdmREZKN0N0eis2MnQ3WllPWW16TlYydE9IWllQVVR5
MXhWOEtaRXhnamFXK2ZGdXhoYmpiT2NQOENsMTV6engyVFVTNTQ3ckUxODJaTjk0bThjbG9lZGNq
SS81RlYrL3ZOeDhocE1uT1p4QW1rV2JTU3VZRlBlYTNUeS92a0gzZVdqQm16bDBXYmgrWjB4MjVz
T2p1NStDMGdmNmpwMG10OHdyNEwwQ3kzQ2tKK2U3RU9ldVB1VFFJWllGUGQwb2xpYWw0aDhMZWRx
ZnR3cE0yVzRIWFhnYW0xWjM0THVFWmF0SmdrdVo5OG04L0tiZUQ3S2NuOXM3R1I1ajZvMmZpL1BZ
QXhMWG5sdW1BUVpDd2JHN1p1WXRFY3NUWUQySU5xdHlmM0RJVi9oQVJBYmZ4NkJFVE9xQTB1SEd4
aDZLZmZwcElFc2NCdHR2UWNLM3pnUzFlT3RNOGhkbGovcEJPNGdvWjg1ajd3QXZ5WWdrQ1orVkFi
VlNzazRock5BY0RYOThJYUIwN1hhRlVlVmV1Tkx2bkJGREN4TUk1a2ZaRXRFTXlJOThrTkx0T2pM
NEJOdnJjVWlhRDRvdXcweTlLTUhqNlF3aE5SdG8wS3dYenhHTS91TmZEajA0ZHk0dHZheHJRdjIy
RFh6UWhzdEFvWGhkenZndE1NK1dNUE50UDlXb0RDLzRHSG40VGhrUDVPbXlUdXppU2pncUxmZ1BS
MzRTWldsMWJLSlIrMXVNYlYrZUd3UnRybzJBYTQxcFhtL3NXbzM2NWU5WWIzZThFcW9jYWpNckxm
RURMeU5BazZBb09keFA0b3JFcFNxY3ZjSjBmRDdIVVVob1pFV255RG1yTDRRM2kvemJGVVNIeFpa
dlAwM2xEZy9CVU9YZU9mYTdZdGtKd0pDL01yWlRTdGdIUzdZa09kT0NNZWJiczBOZUxFVERIQllT
OUJ2YWhsTjJ0TjZidXV4Zk9QZm80bzlsOGthNW10dm1BYnlxekljN2h1aWhiV0ZkZHNOZnFsMm14
VnV2NnJ2QlAvK3hhdnFDdDNuY09lVi9TUTF0Nno3UzZkZ0Jua0p1VFFJeVg1Q2VJcy82S3NBbkpw
cUhFOFUyNXRIUERrQXdZaSs3WVBobDNtQmpYUG10eXc1ZXJnWC8yUTNHbCtQSXdBdW9HUit5RDYr
eTIrcVk4Y0hGa1BHT3UvRTVyVjMwaC80eFVRMk9HeHpFMCtiZHRWR2FmWUJwNnZRY0FhRTB3NEpB
T2d0eGhjZHAxMC9VbTBZdFAwcnJHdG1jdnVQd3ArVDE2M1pTTVdlNnI0RzYzdHBtS3lWU1owVmRl
blVtaGtVSWswOExmWDBjM2cvMTVaRmlXMGlMbDNjSzAwTTdVS3VaRVc5Q1h2NVNBV3FNdStzLyta
ODZ5STBnU0N6MnZYYllvOXovaGNSUmZOdjNyM2EyQWtldi9PZU9RaEFrSklsQkF4cG4yenN5Uno3
b1JhUnNkZEpTOTdLSkNoL0dTWk5NU2NORG9zTytFbHpsMTZBWHBvbU1IanMyZGpGY1NIM05meVFE
R2ttQjJheHJoM2M4VWlNUW1talVzQjVrWHp4MFV2TmxBSWUrSTR1bHJhOXFtMVFsS2tWMUVjK1Zn
QjVoSVY3TThnTThnQUlWUGUyT29tbGc2RE9uSXRpUm1kVU5vaklLT2Z5Y3lnSy82UzZPZmhLOHFQ
Q043NVMvRllraGMwcGlKOFVOWEYyYUxDVzVhVlJhVUE2RVEwTTkyaHA3SXUwTGZqVzI0TENET253
djdvQSsvQ29TNnl5TjFXd1VRdUplZWlYV2ppN3gxd1FpQ0N4OVVRanRlUFNjbHhIK0UzdmVla2dq
LzRyWFhaOGVTNTNOeENlTDY0WGU5cWx3RUZudmt6NmRHNUFKQlE2YVdFNVluS1ZDTXNSUWdmb0dW
TGtLclZrSjUvdWk1bXZTa2hiV0hhMW1SeTM3NXZrM3ZWcU8yNjN4azV3SjJjZ1RsQ3IyQU50dVhw
TGNkVURXbFFocEdYQnlpaUVRTHdUWVI0THZaUGt5MVhQempzUmNlSWtOWWtDVlhpS2E5RnUvL0hW
VGNRMFh0MFVjZXNQMG1PNlIzMUZQL2M3eDFwU3p5OE94bThmUUt2QzY5ZXJJZ21rbFF4U0JScHBi
Q0tSYkJFQWdvdlhVYjByWVdIMnZVdSthUFV0L1lQYy9HdWhZQjRvcXBEOGxFZU92OU5QUVh4TFFV
anA2L3BtZzZybEpDL2Q3c2lJdVhhQjlDWEpIdHMyVzZ6aEpwNTIweVIxSmdyL1ppaUhIcjUyMnMz
VE12RjNHUHNnVHRzMDYwOHdUZVZ5TzFVOElKOFNtQkhIRkwwcjk5THRqWUQ2NGYzQlQ5b0MveVMw
bjNZOE1yNTVyd1JDSnJIVmVVMlB3MFgwSkU0cmFXZ0ROa1l3UEZMcEhHVUxKeTFCd3R4QWFKVXB4
NHBtbUlvRmZDRlFIc0E0NVBuaVZ2amJjYnB1ZkJLZGhjSnZzd0RqYzhCMnkvWHlCL0FoZzZkRUZ2
cXhyZzFyT0FDS25yeERUSlBxZ3oyc1BIN0NWSlhnVHJLSnI3MjM2Rytnd0ZpYThwU3RBc291NkNy
K1VMdzZwc2xqeSt4UGNhY3ozTksyS2JJcTh4MmcrdkoyTWtKQUJhbkIwa0tieVNvNjlBWG1XdUE5
WExtcmlBS0FiNDFxTklTMURIY1BMaXZQRkdMZE42b2NMWC9qWEhrNzMrS0dZTzlQYmFsRXRFNUJ4
TkZod0pkaW1ldDh2N2Y2SVZtb0JNQmVtcCswNkRpTmNnYUFoNFBmempPQkJuVWxGS1l1TkNQZGlk
QThpaDJyMDdDN2pzTWNNa3pweVRnY3NNSnhWdS9jMFZaR1p5ODhNZm81c3ozODB4SmdySXNiRHNp
cGRkMmJHaTN0bXVqSWZ3eWFkbWw1Zm1nNk42V0tnR2hNM015bmVXc3ZobGNpRHgwTGk1VW45VGY3
RnJYTkVjczczNTMvTjJVMzZvYXVMZXRsQklPYkN6dTI5WkVFOWp6YnBGb1dTdVZzRXZDOEt5SWND
Y3ZwQUpjZkNUZE1xWW1ZNmQrRWRma0tZemFaQm9LdVFSUlhDMGlMNlJOQ2tKMHh3VEQ2MWtWNFVR
ZEVxSDN1QVIvU1FwU0p3cDErOFNhS3dmRmpXWXZjeVgwSUlYdGkzRlJ2S2xKQ2svT3lOV0x2amdE
eGx0Tmw3bms1UVkrKzk5R0kzRW42ejFXNzY4eUNHMFlndkpxL2hVOUNCaUhBRUdpU3hEN0ZrY2I1
aCtGN3RzdG84MHdmdHM3YnVoQWdvVmVkS05pMW90TlI3YkhmL2h2ZmRXZFNybkxUcWZINFhJMWh0
YklWWUlDSDRscmhvM1prSk9zZWNrSGpBYnpkU3hpZGxoL0lXOEhWdW5PNXU4c2cvTG1HQjI5ckhq
MUhsMVdoUUU4YWRiUzJZY0pLMXNHR1hic2NNNXlpNUhDU3FUKzh2NFV1NUhYWDV6dDBWVGovR3ZR
VzAvM0g4TitPQU5NNkhnRW9qc1lOeXpaLzd3ZjdpbTF1QlBySzF1Rngzb3NMTFdhYk1JUW9SR0Fa
cXl3NUFvODlKUUlGVnBPVUNkZVdIaVhGRkhzVE9WQVVwOTZJN3hJR1htMHhrNzZNZFpBL0VrVWg0
TVp0czFrQVBUN05aOUFKSU1GVm5qMEZ2d0xaV0hkc3NxM3FBRjJtRlU4VmxpTmRSYWlrQThrSW94
bXdlOEx3czBOQXhvRnVuaUtMMnA4SkV5Z2VUQ0FKQThEN3A0NFltckE0MjdKbzIwUTE4R0dJSHBk
MmNiUUIyVnJoQzNUWnZjalZJczQ1YUhMWGhmUFEyMU1kYkFuUnpsR3EyelRVMkE3VmhSS0FpRmIy
LzNrbWY3UU5aQ0wrOXlrVEE5ckpKNnM0ekhBT1FhUFdBcFRkTG1USnRud01SSk9tME1kenc1UjJY
MXNVY3dvUzl5aVpMMDBFZ0tIdFpBZFhlRHZBaGFLVzd5Yk1taUxyNVBnMEowcklES3hhRXdSYVAr
UFNXeGJ6QTFOc3BwMnhqVkgxTUJQVEExV3FuSGRjZHc5NEZ2elZCbXd3UW5EMzFTbFZjSmxIQUNx
TUJoRG1uYTZkbXlRWm1oUlphdjJNTStJekhaQ0kvSk9tOWgxQlhuMjJjVmh2RWVuM01WZXVReW8y
aWlhSWZ0RmpoeXBMMkg3dHdubDUzcnlRWnQ3N2t1aUtoSkozQ1ZhL3ZnM3UrRTk4ZmJ6R0JLNTlq
dGx2TmRNRnRIbnp6SUVSMVhveGx5MXgvbjRYendmRHN2RmszN0ZuV1l1b3M0cFhFTEhTRE1yK0dT
dFVPcWFSb2p2aDRQQmhPaGJ0WG5pRTNkOC8zVHJBZXA2QkdOQWU3MHVQZFRxTERxV0tycjBBbU9n
aUJLNXV6dFZLT0tuVmxvbGlWYmYzTVFrSHd6Tk5BRVdXMTY1dnZTN0hnWVhhUjRqVzhSakZVTGQ0
QjlqVDk1T0grMzFPbTdadTlXck5yMFBVaCtFN3NPM1psS1Fac1BWTTEyRk5YeWMxZ1EvRHYxby9r
Q0FHKzA0a3JBZXk5Tll2VGxsYXJXMGtqS3ZTQnNQL3pkTnFNcU56by9WSHUwN3NOcHFHd3FXMEpZ
N3NIWDRUUGRlcmFkVnZqOVQrZWxHeUdnWE5rQnBwc2xGMkhGTFBhSzhiTUNDWmdCeTh4Vmo2TmhO
SDFwZy9rMzlIY3RyN3hpMS9tWkZZb3hTcUlXOHhCTEZUWDJqaHVtSThibE9JRlIwSXpEdHhOZ3pk
U3hVY2JSYm9CYmkzb1BPTXFFYmV6YXl5amErYmRWbGViMk5Hb0w3YUU4Uks0cDdEeGx4ank0Z3E5
b0xYRkt6M0ZVbnNlR2drb2VWclNXL0tRT1FaYUM5Rml6VDNJTTB2VlFLWmplRmhEb0ZqSElZUTZn
WmxNN0toODdrV0x0ZkNWdmxEZ3V5REErYlhGY0dSN2NlUjVqdEV0MjFDSFQ3a0FaYmYxQ1IvaEFj
cUV6enplcDVpSDBLODZPdnluSk8xSnZUaTR5c1pxR0kyek5sT1NOcHBnb3pCbUhRc3hVM2VTeHU3
MFVlRHBjTEdRcUg2VWgzZFRkeFNzMy9ZZGVya1dCcUw1UmpHYU1kVU5tOHJ6TDJmdFMwdjBRNW01
WGFNTkFLRStyejhDRDlybnFvSEcydUNsRmEreFFENXlTSTdYM2cxUXprWDl0dlpCMTlsRGRvSzV6
YkhGSUlZYWFUQ0VFd0tJVHRCSzl2My91M1pidHBldkw3RU5SVlRINHoxT1paeTVSNFJocU1Falk3
Rzl2MWJ2SFQrRmVtTW1GZHg1RExnMzJmN3l5Z05GTFYzRGJlTkdhZmRrcDE3VExEUVJwcGxZa3V4
dUdNSGxOMmplV214VHRmUEwxQkVHTkFiRjhtSndoT3E1ZmtId2pOTDhBQk1MbEo3eDRHM1F2enhI
Qm4xMk54aTF3aW9VZ2JJUC9LZ1cvbGwzclRCSVhLbVVLb2ZobHJ1UVk0UUx3L1Z3SUxERjlxYW1l
b0ljdXl3cVNKeXR6TVJLK29ZaUNBSk5IcjIzbG1IbG9ud2VrOFNnaVRRc0RwVldKVWJnUmVyVjBB
Ymt2bld0K1JJbkVzcTA1bytLc1hJMUhtYVRndkJFSWo5Q1M5dW9CZXVmaGZvamZiK0JGa3NnZFJl
WUZFd3VEK2tvd0Z4R1o2cjJsVnpqZGgvNjdIYnppRjh3TjE5azA4dUk2bk9XKzJFS1ArUHNVSnFT
NkY2Q1BiMnZBREZRMzBkUDU2NEE0L2dER20yNzRmWG0yVVc3cjBsV0JYNkZxRjFQdCthSndVVnB6
RGZXQVptbVdiTjEwWEUrZ0h0SUZ6b0VNaFNLU0RBMGdFVHRjRk8zd0FvTnVEbnJBdDhyVHk3RVNF
RmNMMXlxMzQvb0s1QUViaDBqbWQ1ZUVjV1BDVmJ6L3p5NWRHSWpyMG9zMTlYYzBmSUtsR2FKeFV3
Nktwenc5T2VMdlI3cGJMUDA0ekxUUjZCdVZnK292RmVVWUQyUkRTWVpUTGlDc0tObjlHRW9hVjAx
THFMN0FoQUMzZWppU3I1RUxGUmtHTjJvcTlObEwwY210eCtMNUtzd3l6cTRGWjhQbUxTeE5sUWhI
dHVVM1p2Uzh1WE5WQTFyQnpwdm1kTlRJOTdCZE9JdW1HaTlLRW9raDdhajFlTmk2VWprT2xqQzBT
MUYvYm4wcDllbU5lblgyQ1Vpa2JUNHIzYkYvSkl1UUt3WHU3OUVpQzFDSDQ5YXF4dnR0cjJvMHp3
ZjhwcnQrQmJJVHJoa1daSDhiODU4NHBYa2NRVmZaTjkyNnUxRWF5ZjhndmNoRnZjQ3dIZXNLaXpz
VVR6Vng2V2tCdDNiQ1FhTXluK1VNNmdPV1lmN2xLSTRRWDhhalg0RFd6elRBbXk3ejBHdGp6K3Vy
aytia29xbXRveTJDbjkvMDRCekM2NE5ld1Q1NTFlZytLRnNMUU12eUFxQVl2NkFZY25SakF0Wmsw
bEJ1dzlhSjBrQXVGNCtxOWNwRjF0SEQzdXpnQTBEbHptQVB5am96aWZ4V0laMnNDVUw1WFlMUVF4
S3BvSzQyV0x1QkZaVmhiMVF2YlBOemFFbUNlVVNyME9oekJWQ0RCWEFwTWw3NDArTm00bFkyMGRR
NHlBd3VseHpSNnR1QWc5YVZGTllEeE9sYWJ1N2hadys0Tkxtei9BZU5vZGhheDdrQktQUjRvK25r
dDJRQ2t5cEZDMzhEZmJZTW5ZY29CMzVGeHc0UFcwdWZTZnkvdjVtUlpXeW5wQkhza0tPYjZDclFT
VVljbmxDVUdrQXV1V1RhaitpSXdiUm9Zcm55ZXF5bDdFU09KM0d6VnUwaVQ1NmlLUm5RS3lFcWdY
RzlieHU5eVpodnRqTXd1NE5HcHpCTFJwU2tySE5yQkN6U1RldUFZd3VCakNjZitka2w5VW1SbHQ4
UmlLNmc5K0JHa2xCbHhITWdvV0p3Mnd2clFiZ2lFbzN6MDdweUsvLzhyMkdYWjN0OUdYUzlDTGNS
SmM4eVdtWlJNUlE3REhyK2tIZGNxcDd5dFJzNjZnTTg5ckVFbmtWY1FjclNyNnFqanEySit1Ylpn
WmNDU3lvbnh5akVzbHFIWWR2SGxTWEFiK0xscTViWHpka1BwRi9NbEFtOWNwUzR4VnNhYXhyN3hT
eGNORjFSY2lmd0F0YlNSbUE1SHBxWVhaNWlrUDhCNGtEcnJZaHhYa1RvWXRjeVcvVFNuQis0TzVU
Z2xoWGRQMlJab1RTZjdmNGFJeTluTlh3NGIxMTN5UFRleTY2V0J5QjI3dDV2YnBpNjNFbWEyUFhL
b1ZvN1VpUWRuUDcyL0s3cWFOQk9jekRtT1FSVE5EaktCUVpGdlBrWWNoV2lJT0VaSUlIcEEwMXRZ
VFp1SCtFNFp5QkhJanh3amJoNEYrSU1nQXlzSTJhSEZlalg2V0o1THozRDhUZkFZeVhnYnVWU0hP
YVBiS3psbytCdVhabERYNS9hbmpuMkNHYlVYT0tZclRQbDlqaXc2M0F1dnhTd25HbXFmamcxY21k
N0kwL0VYUUxiN0JINnZ6aTNVZTl4TTVHSVBIUmVxVmtnZkpGWFg3Ni9mUGNwc0diQVJ1WXMvT0t3
cjB2L3JWSDZZL24zSnd4aThaK21WYVIvRTNUd2J6RVJ0dldoZG9VV1lNNDlUUU5waEFWV1JHOEQv
MzdZZlUzT3JXakVuQWVlSC9BOGxENjAzNHhRQWpXcm45QnpLY0QyeTg1Wk1DRzdYYjh6bTV4Skg0
eHp0N0JzOFlvVFlpN1A3bXdWWnJINXhoNlZIVyswdWJSUTJvS0hvdGhmeWwyeVF2NGx2dzFjM2hm
MnhWRzhRSDlhdXJhYjZFUmUyY0ZyeVlSTWYrYUQ2U1RERDB3SVRnWnVmcVJ5NW1FMTlUZU9IVTlW
cHltRVNzc2FudTkzK1YraUtBejRySGJ5em9uV2lBb3A5NURtTmNIVDJ6aVJKb1RQYkZPWk9CcXlp
Rmg5SHYwUURwb0V1cE9McVc0QmJkdmsxOVpMZmtnVSt3WjFCSUNvUFJuVEdDSUtJQjBWRUtVQlp2
R2E1bDZUbTZZc1FZNUxqTXhNNFNOMkp1ZWFkQUpTSTZIRHREazNHaEhueTZKTHVUbGlTdjFYRDhP
SDc3V2RjOC92bE5IbEovOU51cjBHRVBzNW52ZnA0TkcvbXRldGVhSW9QMVFEdGlKRzdleW5MUFN0
c0VmQU5RQmVvdm5ieVg4SGRFWThYQVJ6b0VnandVSGd0Q1BLSHNkVjBqcXFMS0liQnc0Rkhha0g4
RHdlL3pkMmJ3TDVpdFdNOStWbENRSkNocFMzYlR5UVhZS3pNdmZMVmNpc1hSLzFDRE5mYndyWEtV
TFM4UU1FZTJhaWoxREZjRThJSGJXWFZ3bHhnWFZIRVNoNHNHYS9pcHZnZ2ZvSFNJZS9KYUpvbDRv
dVRwUXdTWGlmdUM4blZWU2pzc1lzOTFZY1YwaWIxb1lRRlRlU0NpZ2RCSnY4eVdXdFhJSHFXY2dz
NmZaYzU0NnlOdFl3dWREeWJSZGdLOE4xdHcxL2NBM2lDYUEycytKWmo0QXBBWGU5UThPc0d1Z1Bz
bkRlVk4xdW5jK1lOcGgrQWlxcUhvSDIzb1J3VEF4OTB4cERzbENJVXR2b2k3QlZsckk1ajl5SFkx
U1l1bTBNS0ZUcFlQRllPRU5OenVPK2lscHMzZnU3YlRxaG5YMit6VTQ2WHVLbVBxOHdWSTRKVEwv
YmZ0UUV4d2NEM0plR0NjRVRhTFBCNDVuaU1qQVFUWFp5MVY2V3JBK1E3a2RCWXA0VFhOVzdLUWhT
MHNJTEF4cDBETEVzVUJhY0RGdFA0SDViTUJLYkRnelJ1ejJ6Vmoyb3JVcFZaVE10dFVpbjBEM0s2
Z0hEaURhVXN4QjRpc0ZWUEdZS1drUEFXRWcxWGpNalRoOUNBc2VINzVHU1IyUUE3cVJSVW1uenhU
Q2dGeTRMbmFpTXR4dlJyeWZEa2dPam43MHZGZllsTDJQczNiRW1pZ2xWYkJneXVwTVB2dlNHRm5E
N1AzYTlEdXdxT2xBYTJmUnVLcHJSZ2tGcXFTem1wdXMrQ0R2TXJMejdBeTdHbVB5blRwSjM1b2hr
L2kxeHhuNmZaVXRkQlBEckE2ZTBvNGg3REpTM1FNUTEwZStxK0NTRDR0MHdjT1piOXFCRFNPUzNW
Q2FTSVBZNXl1NnhOM01QU0NKblZ6dmQyYTg0S0w3UVRtWlhvM3k2dVJCcmtWYkd0Sk5FTVVmeE4z
UTZYZ3Yrbzkvc0h3dkg2N0N2cFk2ajE0N2xnT0ZSOGVEMWtYUjNhcnp0czlMQk1TcW5VYlNOR0dt
MElBT2Q1Z2NxSkdnSm9aRDdkY2NBOWNhaFkvVVo4NFJRT2FBYTJYbEYrU0hSaTd1MitTTmtBdzI1
aDBOZXd5WWJETVNYS1hCVFJEbzQyQU0wYkllSkZFUXozOUdvR0xucWhDc0ppMDBJVytRTkdOeU90
b0xObW1FdmJQendLYURvbFRobC9Vb21KaVI2eDVXMVZ1ZXNEM3NTeENaSnFINlZaaXlzZWZvU0JU
MWFBTDAzajB4ZHZWbmpqVXRVN3YvQ08wMjNuVlpPamFWUnJoaW1xOXEzMEptSFVOZ0swSDlDNERk
dW9RTzczRDQ5RkYxUUNNclJmdUozbDB1UEpyZDlxNkIzYllRaTFwcklUTGJZcEtVdnB5TzNyK1Zu
YXFKQWFsSUJwc0VBR2pvRnZCMDlGUzFSekJuM0xYVnozQ2ZSeWtmVnB5L21DZFQ0MXRYS3pnNW9D
QXZVZVBSSFRQV2h1cUMzUnduUVhaQ3lJRUQ0SVBGWmREaVRxNVlwWG9QczVIQ0ZkQlc2WGJxSllQ
TExQYkZNRjByKzRNS3ZCdmFkMGpUTEdyK3NiRk1Hd2Y4SlVtOFRIUWNwdisyS3M1VHJ0QlZYNFZI
MXRUOTR1ZTVkdHJVc0cxOVIzVkJJYVJ5RGYycS9HRUErM0tuMGJoaGVFaTdhSk5LU1FZOEhzREpa
R1NlQmtybjJkMzc0TUNna0IxN1pLSHVhMXk1TzlEUTgwbWJrRDFPMmxiMENDcXl5S3d0QTRKR3Ar
WTlPN0xyTFlhK3RQZ2RXREJKWG5FeGZRelpDT3FyRGtTeHlrd0I2aXBweEJmdjJQQ0FHUEpZMnpx
VzkzUy9mUUE2U0hxWkRacUJ5RHFxSmlocWJnNVpSdzN1ZmpiTDB0eHQxNUJ5cEtWZGdzM2pjR1NR
VDRkZFl4MFR5TXFycjBabENpOFc0eFFwNXoyOHZMV0F4cURrR0dzN0xUeWkrbHJmY1dqWnZ1aW1Y
OUJsczVJV1FOb2pad2xmNldnRkoxKzB4cVRWYWR4enkyNjVKenV6dUJnS3BQclZtT2MxSGJBbU9Z
NXdlT3NDa0ZFNFVoSzZLamIzNzVaWEY4ZklpNU1lcTFQS0dLY1B3Vmh1VkhwaGhUOG9OeWtRVmNO
SkdlUlFVUGhMYTRHMk5qL29WbzRQMW5ZUXA2UkxlRmVoa3ZZOEFrMWZDb0EzbjhnMDlrcnFmQm1Z
T1RjRzhMSVcxWE82TUJUZlV2cnRjUjJ5L0poUzBack9ySFFPSURQWkE2MWFhb0FqNUNuT3N3NVQw
TWdkcUJVTTZ4UlhtZm40WXExaGpDQzREU1Q0VlVVQW9sQ0t6dTNaUjdwTFdYMlo5OS92QjIyUWND
SlZocXJrelJGY0E0eVNKTHgrSklRZDJrZkFHK2hpQjR6WUhYQldnSW1MU2JkZFlCbmc0S3JFNldr
U0x5TU5BdWtBYzZYVGNLd3ZQNGMzSU9PNW1RZUZFZTBqYkFjK3JwY2QwUWZQNU9zZ2hjWHZrWUhS
enk2NVNwSDN5L092V2ZCL3lTc2JRVXI4ZnMrQUdUNjNvYmd3c0tRNFV2MHZnM3NMYzgvaUFHbGFR
SDVlcndPTTZVWTNlcStXUjlqeTUzeUVIaTNtaGdRQnZxTDRmTnJ3V2MrakRKdUhjZVJDYlRUU2FV
cExYdWttcDY4SUNtZ0hQYVk1b3J0d3AwREVJaG1scDQrbU9GOForMTNmQVgyS1A3U3E4ZDZPZ2h3
WmJuMVI3VVNFdGx1ZlhRWkVISnd5SHlxa2hTZklMdUUzdjBmRnljbitJYWUzcklFUGE2VTZ2cjZK
cXRtMFdOSlZGb2NoWjdyd0tnWFAwcjJsd05JYjJ0b0MrT2pWSmVnQlFEdHd0dlRlSnhoODR4dG85
cktEaEhmMmpQZWtITU4vVU8xTG0xZVo1TmpVSW92Z29xNDJLa2lRYTNGcFczdk9uMXFHMEhrSTFu
bUp2RE40cEd4S2FJTjRMckt4OEsyby8xL0wyZ3gzT1hvNmhOcVZjTG9PU3p2WXlrL1Q1K3RNdUFI
emhvRS9CL0N3VlRDRnVjZmxKWWhneDQ4SXVZNzZyN0ZNZWVZckh5WWVjSGs4YlBlb2RPT250N0VV
cUtIeWRaQnVIY2NLRGJ5clZzamtUNFBWRndtUHQvbkJnRmdkVUYyZktpTDhjYVY1akVQdTIvKzNI
Sk5iUTZjL3RmQ21qUUx2bWVFTkJQTnErRlJtUlY4endyTHhMR3VMNUxnWWZUU0N3aVBVeW1SVWxX
VFN4Z2dPakZuaWk5dStWc00zM2tzSHpxS0F0NzZmTE1rYTAyV1hUdnJUb285Mk1vRWRwclFxMmdu
azNqdzdjSmtjQUlwRit2RTR2Nk5ubk5yK29iMkYxME9wK2lDYjVaSG1MWXRPU05QbEdqZ3Y2d1F1
NW0rOWdicGszek9QcFlrZU1tREZEU0xxUmdIUU9NZUVvYy9kYkNqZVNQejVJTnhRZ0hHdGFrVTl1
YklVQUpDUVR3RExOZk9RNytRQzRnSnVQV1JZaGdMNU5NV0kvQ2xNUmtvMWpDYVNIMTY2UElRbHNr
RkxFYm93Nk1HRkpqVkZTSjlQMGpLeWx3RDdYYnN4NXdvTGszYnVuWjZ5VWxXOG5tR1JTYkJFQ0ZC
RUhic204dWFOZHgyZ0JQb1RCWGxpNG9wUE1PUG5tNmJSZnJZNjMzbWErb3IyeCtpZVhGalFnYzd4
Y0lsekdMTndWM0hrWmpEdmdmM3dyREg1aGxwVks0Vk93S1JKYnNWdkU0OUpPMHVKcnZrcktlVDZx
OEE4Ymw3NHI1WXZKamVRNnhGRng5MlRoTUMvU2dWMDdMZWZndFlMQzJtaUdZbVY5Y1YxdjZzN3pN
L01ZTWxzaDhtR1B4dUpMMW1qZk1FdVhQRnR3SzhGdEE2KzNKTk9HZy81dGpRMkZJTUNxZ2dyV1NM
SXpMa1lRWHVxS3FJSUZxbUExS2RvdEE3TFZVYWRSd0hXd1RKZDRsUkY5QTJ3VTRTemNZUlg5endr
Ty9BdU9ZTnAvVUNJZkpKYUNyMll1eEVya1VwNDhNdVhLcDBDWkkrQlVsUFAzWXNVZWJwbzhkQWNk
WGVHdFB1RlIzNittZUNTbTFSa2hwbEJoZ0ZDQktGQWQ2aFZSTk9HRHYrQ3VMQ01ZSWxkUWwxbGZ2
THp2UzZkN3JRZ2xpeEVXdndlODFNeldQY0JBYVRLSzczMWttaFRZNnVjMlE4Z2dQU3hHU2pRc2Zi
ZjlDWk9HWjhNcmUycE42dTNpdWVBdm0rSXlDWDFzNzYwekY2Z2lIdVZSNVZYcW5tbC9Fb01ZcFFv
UzQ0c0ZhU3VQZ2UwNXhxZ3ZQTUtMZ3MwU0duc2RRWm9vaVh2czNiMGJ4VFRhMjJ4UDZTNS9UTzg1
dmR4c2hPWjFNUjA4bFBlRSthOEEyV3VnU0JDbkdmVm9odDNJbGJjU3kvMXIyckpTM0ZhNVdKZGZj
bG1zV01MYVFQclJqekhUTkJ5MGtWU0RrOE8xS3FxbWQxYmFGb0ZrZERhT2svZytadGxpS1llamQ0
MHhBL0ZCM0ZUOTZvTE5sOUhGMGNRdW5oeEZFbVdpeHVxemdZbWp2dXo4bE81UkhsVE9KaUY0cUg2
aHdXb0dEZEZCQUdRY2J1NXREWVFmdVBOM2tHbmkvYXlBSDZpODFqL3B6d3pPejdwOVc3N2lnQWxO
OWlxdXhWZXNmVEhlakx1aEhVcysxbW54ZHBCN2JOdUFKU3V0MkNReHpzUXFVUHFJT2FiUE5UWTRm
RThsK3JXVEdsUWJoV2VUcDdaUUlRMExxQndJMStvZEMwaEp1ZWtoVG0vZHN0VTZ2WmtqbXBCTVFk
d0Q0UDdoQkNvN3FTQ3FtMS93OHJ5QlhPQjFKWVFOQzRIUlhTNW50N0xjK29VMWZyYmpQRHBmSCt3
TGc2ZHZITEFsZ0pDdFloUWNleHZWNGVnb3JQcTFiV1ROQkIrMmtvcHdnTWZmREJTUWsyVWxySUZZ
bEpDdlZjVGZXbDVTUGJTTk9lMWhTTFI5aGgySm9oVXRncDlMaFhna0JmR3paZTVBbTNyS1FiSERD
bjJITlNmUis2cFBPOFVtK0RNYys0cWNXTlZpY3Z3R2dpM05vWmNvMnRkYmpYeUtFVEpvcXhwWmJr
dThjTFd3YU05RmFpWEVTWFlzZjJhRzZnNmZjQ25NSXgxNzRBUkVQV3Z1QVZtVnVUUlZWNXpVYzhE
OTlEdHp5bEtGK1c0K0pDaVRHT2k3TkZzLzFseThMcmUwYWM0SFNwd3RDSThYZFdoOFRhWC9oLzV6
Tm5SaG1ZUkowQWJPWGJQTTJSWkRpNXVEeTdEZ1pnbG50NlVWWlZXZTRoR3hhcGY3d0ttOTZEODNL
QTlIbFRGenRNbEN6MU5RaTNLdEJKRTNGcWlxWlJFK0lYc1dVbGlNL05BNWlXTUlaZ3huaTduM3NZ
RWg2NEQwR0p4dDZPWXo3R3pZdm9nWDdxQ3BtU2dpaEpsN0pZbjF3WnpCYk00VzRSNkdpR0ZueEIr
NHVwRjlCNmx1L0VtUzhTcHBIZWRXMTRkUUJqaFI1b3Z4QWhUOHVvbmN5OHdWdUZSakZuVElMUkRk
cXVHbkF2NGFiUWVzNXhiMzM5Ujh2R2JMOHZMTUtkZG1qOFFPSFNaYTE4K1VaNTc4UkxVM05wMDRF
SkMySllYVXVwYkJXSzZ6QVZjWjYzQWtCS3F0eXdqaVdrclRjVVQ1TDFOTm9EazFlejMweExuN0ky
SGRRTERmTzZsNjRlTE15UTMyc2hXQ0FHK2NaN1EzVWtxNHdhSUpHRkVIT3Y3RGRXZDhHVVZHQjhp
SkxSVEJ0Wm1mc2l2NXVodHM3UThpcmJ4WnZhT1dGelhldGU1SExjYjhZa1Nnb0U5cG5JOUxSb0RF
NGJkY1VPbnpxc2NZK1hNRjBqTmdTT2o5c2J4MEY1dERLQXE3RkRzS1F6azVlSjZoelBHVGZET1lO
LytqWXVxdXFrU24rWG1jV09MeEJxVkF4ZUFtYTdibXlaSkhWYXowK3owalp6YWM4YWtNdUxsRTVT
enZ0dHQ1SHpVQmpLYnhMN29ZY1A5MGl6TDRGbVNtRk9zbFFudFk4dGhHVWQzaG5JeHRTaHNsMVRq
U09LZHh2cUxKN0JCdUdwMURCTXNXM003TlBvTEVsZGJjS1VsZnRJRHJFNXNUYlptWUJWWGlDS200
MVFPUUhRWUI4L1NkLzdlaTRhdUsxMldBWnFDRjRlZisyZlJyUHgrbiswVFc4bjJ4alNiOWZ3U3Vx
OXVqMmNkVUZmUlZJL0pYSlpGRjlTZHpxMzd1UjA0dU1yTGVsZUxNY1Y0S09CZ0FSdmE2elhwVlo3
VnVGVTVrU3NPaUVDZ2dKTS82cm5qQUNyVnFMWUJ6QVhWOE5UeklvN2lTTzFvU1BGMENvNEYwazVJ
MklPTEhNVERNcjdDS3plTWVxMitWdHZhK0duMnIyaG1Ic2RvV2s1WFg0MWtjSmZoTmpwS3lPMjdx
KzhIL3haSEkwK0FyK2ZUT2t4TnBIUnJLYm8zNGFMK0NQZTdwZ0FSREVtMzgrZDVDeHk2Ylp6bnZS
UE1Cc0xtMyt6SE85eDJkK3FEK3J1NktPbk54K2txc0VYRThzYU9LUHB6cVB5ek1zRk8raHB2c2Vs
Mm4zOUFWcktwTmJncUcwUnNObzlBNUlNUkxyOFZoS0V6MlorNWNiaGxhRjVUc3R3ejFWaXpXUW9a
Z2FocWZISi9qMGZNcUZxZlQyK2ovL0o5eHREdmNOcWc4Nms4MGVVR3NsZFNBeGJVYURNdDdLOGxX
ajNDRTJTdW02YlNMejgzMHJyMU1rOHRGSm1BYjBIYTV1aTdPVFlYOWd5RHFQdEl3Vm1lK3d0RTVu
TUNNZU1wcWdObGV6VytWVDM1NGhqYUVlUGM5bFBhK3g2NU1Ia2xGUXJabTd3RWFnUnVTZUFVa3ZS
RTZhT3Vtb21NazNMZDFzTkJ3NFRDa3pCU2lyRk1FUW83a21rekFhTjFYY3RicHhIT2J6VVJMVHFt
MVZnWVZFWU5uMDJqWk9IM2QvVFNZMnhuR0ZGSGhBWW05YXJ2Z1Rrbng5emE5aVhlZElPN2JnSWdr
Vks4NVBUK21VQm1nMyttZWdrNmJDVkEzdThBNjN6VmUyZ3RBZUNGQ05vSkVuRWtZWjcvUGRiRWVs
QWQ1b01SQlUra1g0NjdZc0NDVTg0OXI1Nk94TGErMGN4NHp3eWJKdGxRSzRYZmlHYUFHaTFBT1JM
RjFVQ3FHaEF3SFZwanFpNjVVdEsrb3FLSjVKbW1hSzErVXYyWnVoajdRejBPMU1wRVZoK2srU0hI
dWJSQ2s0eFNiWG9sSnYwalIvTXUrZjJDazN1QWRxTkxaUW1ObGFRdktpZjF6NzgzZWtQWDA4QzdU
SS9laU1URk9XNzBDY0hsbTBLeHFneiswNmJkd3JJS1lKcTlYQnhRUzRwRUJqVVJvZUhTb3hLb3Ru
YVAyMkZMaFR6cm5aT1BhNTNGLzdmTzFlNHlQWFU4UDJmdkFid3ppaDRXbGk3SVd5MXE5V1lRNDNp
T2dZQXQ2Z0ExNEpLVm90Vm9rYTJkMG5idE1PVFA4QWxtYmdwUWp4VDNYeEsyeWNSMzVycEFWZlVL
ODRlTjZaeWtaempkdXQyckNieWx5eFA0V0JCdzNrV1l4NUo2V1ZMVlFmWE1WTU9xNXZmRWVNYnc0
d0xPbitiL09lUnNEcDQ1N2dnb0wwR0x4b0VWM3B5ZG9qdnFVcE5jSStwU29nWnUweS9INStvTXpZ
TngweGJPZitoQy95Qm9NNlZrL1UxRXB4czkwTGNYN2RzK0VkWlgvL0hHMC93eEVvb0c3SE5pUXVQ
K1ZqSDNaMzhOdzB1Zlg1OFpUQ213Qk1YSVFxL0p2cGRYVHh0aEhudFlraXRGZmhrWDBXYUcraGxN
ZXBWZUlha29HbTBqNEVISXArWnVhc2NDVUREMUJLei9mYUIyVVpnSHpUK3RGUHk0eE9EK0VZU2Vx
ZG5GdDlKUWwzc25CcEFkNFF1WjBUblJBUFM0aGIycjE0OVhvQVJ2VFpFdzAyeGUxTm41UVZvU3Zm
VHFBRlRuY29Id09Pc1FWR3A4eC8vQ1pCY0FLZEI4MW9HYWpqeFVQcHBXYWw4aElvdHIvdzBOZGEr
MEJtT29mSkdzOUVTVEJSdXF5OGZrdWw0M3NrVFoyWjhheTFlWVd2bDRzbldMOEpHTHRKRi85eG1r
d1FYWmZUNjVKbE5FdVRZRm1MSjZvOS9zYnMrNHlWTkU5dzZmTVBIMkRiME1mYThtVjBrVHZhRzZo
UEFQUzhxQUlHRnA4allhWHpWNC8wYzZKcUxBK2hGK0pDckY4cWRPeGZrUUhXSnoyTTZhK1gySE5L
cmU0eFJSdVF3enlhblFZbWdxdGNKMy9GMnQ0NndMRm9TMHpsbUVPZTNyN0QxL3lmUFpWKzRBR3hx
VFhJRlVwMUZiSzNPQ0kzOW5ZdjRXOG9IZjhqMUsvbGNEMnQ5bTlYakFzaWFrbnZMUVl1aFFHT2gr
b00rUUlGWXZnTGxTQzJ5WG02S2lYU3B1MmJ2R3lQUEk2aWVOY01ZKzNOMFR5aHoxSnFuYy9QdExM
YzUyb295dVFEczZYcEJBckZtcDdORFpoS2ExMDRvQll0Ty92cTdlTjI2bXR1Z05FU3FkS3RZODlR
NHVIekk3Y0N1a0ErVFdrZ1pxVDBPRkhYRXpoRmhvSlQ0bzFVNnEzdFFHeHVVODl0ZWk3dHNDWmFI
U3NZSG92UDZNZlcxMXFxVjZPcXIrazk0L3Iyd05QeGZ2Ynlud1BCd0hZRVd4bHNlVGhkVFl3ck9V
ZVJ3KzF5Si9ad2NkWGtldzJTNU5mcHluS2ovRDlhTVJYYS92R1ZDcFF5VkNob3UvcFkyRWYvMmlS
RWRjd1lRQk81T3FrbC9lUFVsNCt5Zzc2bU1XekhEREZWK0NXRHllMGR1TXZxRlppRXo3R3JadXYz
bm1OZXVHZFE3RXZXa3RYNnh2bW9qUnlEdm02emwyR1dLZHluZWg0dGNnU1FFMWpVem1PWTE4U3Fv
a0Fhc3loVFF4WE42NERTRVdadzBWTE9OcElzUXJZREhWa2tXaWRnbVU1cUwvNUxxUGlhWkszSWlm
T0VETXpIalh1NDBGb2o3cmJPb0pHMWlJMFNDaE4yd0V5eGhKS2lqdnVHVllwakp3dFVpMzUxMloz
N3p4RnIvdm56NmY1ZnVtVXplUUZFTnoydGdpMVdkREc0K2ZST1hodlJCVU15OS9OVjVla1pVWTdn
VVVueTB4eUMrNmx1dnVTWnRiYStGMWlpd0hFMUk5TEVITS9DbTJqZzR5Y09wWU4yd3BiWjM0WlB3
Wk45OFcwK3AzMmpZZ2ZrTkE3THhQZjVjNlR1ZVN6aXoyV2c1eUNFbHNQb2dUdmRlVnY0NEd5eWRB
MkhrNlF5TWk2c0U0R2t5eVIzZkZLOE8yY2JWdmkrU3IySWt5bHNCSXJwcmswd0gyRUFrWEkxY0V4
N3Bjc05YZFp5YWUxUDJ4UTBkTVI1eElPengydk9GaXJLYk9QTmQrYUNsWlhBWGtKUWVkR2RpeVk5
bWRSYU4wcTdXR2xjT1dodkhhT2x6UnFJWkgwczJqblUvRXdyQ0JsVm5sQ3I1VTNMWGp0c2RodXoz
dG1QZWZuTFkwZWt3YnRpblJNa01hK1NDekcwdkM3ODUrTys3RTdJNGl2K2U2SWdkc01mZytzVmRi
bkZzeGl4cWsvR1Q1RjFMTnBTd0lMOVk2M0JGRWMrZ0IwZ2lWMzdHV2RpUmJrUkdzZStWWEFpQ1VW
RE5kRnBQNWtWTUdXZUhtYnp0YVJNTHp6MGlBRlBPY0MrL1hQVFlOa0JGekdHbFNPSzBsWU8zSVA5
RmlxZTZWWklaREFVditiVWxyZklGdnBTYVRRSHI4LzI1QkYwMms1eGdtRmI3aHp0RkNJZTY3dzR6
Q1BFVy81YkZpOVd2NGZYZFV2b2poWHc3d3VWaFE2WnJYQllpbHFpMHViQzB6aEkyVUp5aHRtNkdZ
dXo3VHFTSjdpWWhTM3hMR0F6aEZMQ25zdUdPTHFIU1owZHRORDNIN3RmNGh3V3BrN3ZQcFE0aVh3
dzNiWHEvS2p0cjVydC9aYkhRWThTM3VwbVJ5STNzVjBlWGpQRm50QXFQZ2hOalZvMWZ2WittZDg2
YU1vOFNtN3M3MkJiMTh4Rm5OMDMzSDAvODRBR3VkZkJMN3hIeEVUakVUVkVmR09Cc0JHVThUVklB
eVIxUnQ3QUw5Ti9KckR3SmpyaUg2cmNGVVBqd05KSHJjNTlBRWllKzNGS21xSmhqTjBRTWEzL0dU
MFlPekt2T3hSSis2UFNwQVd0TlY3OHh3emx1aThsK2J1OWlsL3pxM3BkdDM4dE0waEdTUTNQdWFG
VHlFUUJ1NVpMZkg2dk5FMWVraFZsWk9paHBScmNTL1dBMmRxeXpDU09FWS9JSG16eGN0QzlxY3ly
UkY3RVhEWTNjUk5JZ1djbXJaeXQwMGt4MWRCZW90NjAyVzY2L05ZSFlqR0RDNk1URGRZSkZUNVJX
Mm53d04wWEdFQ3ZTd1h3UmhwSnR1TE53YTR2cE9pQlppOEVZMnFkOU1TdmZZWVhTRjlmR2pVeDVW
TGJROE1RUCt2SzlFVmpJOVg0OWc0RDgxaTk2SldiTFBmZmJVSUMzTmJ5aFN6ZGkxRHJiT2J0VkN3
anJ2Qk5wT2tVVU43bGhqZC9RQS9mWlJOSzl3N0NUenNWaXV0RXhLWjFVWVhlWitzd3NtSDZKa3ht
OVBBU2hPb2hrT0ZSYWtHSzZrZXNFU0s2Vkk0T250RkZFSVh3Y0pyOFV0TS9LazRXbCt4dU9GQjN0
S2JUc3hEREhqQSt1Y0FCbnBnWTEzNStrNFdvSEF4SWh5WlBYTXZOZFZLRGEzS1ptNkJPUGRhRlYw
L1MzQ000RDhzZ3lMdkFHRzZMc2ptdDcxcUlaSmc2aWZEdWM4bFI4aXUyakZwNS9Cbm9VZUFramR0
MVR0U25Xb2NveUl2azJVWG50bUdLSkxXR0FkOUw3Um9HVExZUDZxakpIcWJGcUh0RHgxc3doaERr
UU9pM3lIUE1Wa1NjazB4cE9PdnE2ZnFEbjZxVTg0N0ZFMHhvQ1RlUUpseGQvKzJXR09GNENzTC9R
UDZXZTYveVdKazMwZFh6MnBoZnQyQWFyellTWjd6TWtuS1VTZEcwYWVrU0lNVEFkNkk3dU52cWE0
NUZTVmovWVVKRU5ST0pOQTRtb3g1MVNjcUw0VEt5cEt2cWsxR09DRFBaenA4VXRlU2FXU3E3UHNW
YU55OFV2T2hEN1l4ZEVSWHB4MFZJeU9kd0ZqaDNIZDhESXdqKzJqdlExRWZFMXJnNWVjNlUxbmdt
bm9CeUhBbHl1Um0yYlFFVUJjeDZQTWZKclN4Mm9UL1BQUm9Ha2ptV25JaHZBOUxTMXI0YlpJSi92
L1BOVXVIWHF2bzVZMko4bGJ0a1FkOThnSkRlYW8xa2hYNFMvMEl5OE9nTkJSd1JCUWw0RnVybUJt
c3VwMjdaUTdlVnY3cEs4WEdKZ0dkK3F6MGs0RS83VnIySzExbTZFT3A4QnlKaUhZZld4KzdRYTYv
RmlBZy9XbmFQN1BCRkRGVHJMbGFWODh0STQrZ2hHRFBGSERXd2U0c0lHbkhYSXZYQmJIa3p0QnRN
cjgwWngyT3BGeUdwbWQzeisraUFWenhQTTJUNzR6emxkUzB2S2NocUZ5dno4UHZzQmRvSUpJSXVH
aytHKy9IR3VzY1FOTG4ydWZkRnZxZjNRQmNIeS9hRitra08vY1hsOVBCemUyVDhmaytaeVZCbU01
U1FzVmdId01PRHZDRzFYaVJBOHNVbGxpamlITGhrWUFHOGVHZWJseGwxRVhySGc5TXRjR0tpbUM5
d2lscGFyQUN2VHZQa2lwZERRMzlhT1hzQW9xQkpaMlNEMm9oKzJkeWFWSlVxSkQ2ditjaER0V1Fa
b2tuZDB0Ym5pVEZ6N2xPUDNWNmhUenRRMXhUNmhZMEJqTVRZRWdmcGhydDJpbHhUTjl1bDhYb094
aUVFOGdVSC9yL0FWcUp2b3pRWDdjb010RGttUVB1MWlzSHE0eXhxYW1CWXdTTUZLYjl1OEx5WXU2
NUtpcXRnRkltblRZb1kwTFpqVi83SmlNNG5XNElYd3MzT0YvTXM0dXpEaXBZTlZSZUt4dkxJckVw
clFGeHpPV2p4akk4QzA2ejVManAzTlVPcEJ5YW9ZVEwrTzNlWE1BWTFBNzNiSFF6MUMraEpiSkxr
aVRFTlhSMFpjSlBOdFVOTmh2d3U3VGpVanlFT2JmQVJwOGRFaHJKVmhvZUpvTGMvL01oNlRNY2tL
SWFYL1UvY0xIcmM4d0htMHNiNXJZWUpzaVVkVmwwQ3k4T0VRTWx6VGNwbTBTc1QzWG91bU94Z01z
RFpIdDFXcGRvWSsrNmJic3pIaE9FMC8yM0xQazZmNlY2ZHNQVFJQeTZOWGpXK1RtYnhUZk4rbFEw
aWFwSzB2bXMvRHNkdzBiajcwN2p2Vzh3YmlvNEtGL29aRG9QZnVQa2VRWEUrSWY3NGJFTzBUQ3dj
NW4vaHl3S2NDdk5LQkM5cHQvRTdlMEdjOEplMjdXZks5WlZ3RnZ1RFpGT2hLVDdMamNZWGZ0RTBV
anRmRk1BeGNKZ2Y0NWlHNGxBazdiYUd1d1JnUklsbHlXMkYvSUhxU0ZyT2g5cU9rSEFsUG1ocDMz
QlZUYzIxRjJPM21GR1ZTWW1Ua3pZN3RMcDlXS1Z1dnpMUHJmd1lVYVdOSm53OWpPVFN1TzJWK3ph
eWFUV3hjZ2FGSjh2RGZBR1BpVjJxV3N5clZtODhyZHEwL0RwM1hldDczOWREK3dLKytEUzE4bGFZ
VmxmQTAwd2FZREgvYU5EaUZoaU93b3BwS0xaMlhmWWpKejdJc0tsa0ttNmxtakp2SnhlQjRMSGNE
eVJIL2wveVdMeXl6eWlOQTg3ekZwQ1hhYXFYbHA1YlZtVXpRMTh4RHd5NzRON1lvNWNoNnd2YVVr
U1gzTXJLaURqbEN6UDN5MXdabThYeTBxWXVBV0FOL0l6L2swS0ZqbWxwVEIxOHdlMThFTStNUnFs
ZWgyZUw2OGlEQmY0aWpkbFU0dEhFU1hqSFZpTUNXdENHRVJlc0xQNnpFU25QUlI2bkFDdnhLNzNz
L05hWHZxNEREL1RxckhVamUxSzFINHI1N0NHMURGUXl3Zi8wZkkrSWdBbTg3akc4b3BXWkczak1w
aXhrRndpZ3oxWTQzNnBhRzRUZEpBVXZPSlNnUGpDZVRtc2RTTVZpVnRkZndSak1yNjMxMVBJeWRC
QzVieHY2STRmL1V0eTVtWXlxMHlTQWVZNkJYSnRocS9KbURVRkVvaHErN0tYN1c5OTlUN0ZNUmpG
SVVsVHRKaDNXVi9acEdzMEpvK1FsMEUvYjQxK1hpRHpKU28waGJ0Y2U3cUl5ZFlCdXBQbmlXRUh3
VGtIYkM1WWdOUFMwZ2kxTlNOYStBSm8yQUJabjRvdExvc2xKMjNrMHV1Yzk2Um1JeWJNaHdQNUZu
OHp3Uzd2b1I0NGM2ZHVmTjAyd1ZwS3V4cWtxcXFFc0ltZVRoajlZcjE1QzREeTlWYkpsM010QUFM
MzlNeDhiUnU2aW9LbFNZR2t1TlZWMnExd0NnVnpITnd6RlozOFdNeFNIdzUvZDVUa2QrbFhQcGMz
UEFoRmhpSUhwWmhHRGxtNkhFOVFIUjdMZ3E0d1JydWZrUWFJdEYvU0pxMXg3L2ZRcFl3R3EzbTZ0
MTNRQTFQQ2dEQ1dpWEdhM2ZDY0M0ZWFmQ1dPZEFFekVpQ3h3OTN5TU9zUVhTWkNDTkFuWkNuMDVP
VUZoZGR1blhHRkp0MDdyYzVDNnFUMy9qZmxZeU1jY3h3MkpsaGtMdE5uK3RKOEYwRmVXTXJWSTVm
dGJKRStZVjhBTzJqUWIxam9rcVRsMXIzY1pTVDdFWXRucytnZW1kTlZGS2xQRVBLYnp4c0NhbXQ3
MEhhdktQT0RDeWZzSzVFcDNFUU9EKytXNSt2dzNoNkZJalJvTlJlM2pqYUltVE9oaXh0eUtqbSs3
YkZSZjhOZVI5a3gvUUdhRk5UL1hYMTNPdUd0a21GOE9KNEJaZFVzMDlqMDBHVUswTVB6WjBmRTEz
V0hRWVBUS2JHWFd1Q2tjV1QxNzZCOURvOFByeFQrUHpqNXFUc3VjcEVhVGRvR1J4d0NGWU9nNk01
MW5JL2Z5YVQyUFFzeDdvVjV5Q05DS0dXckRnV0w0bHJvSDc3STlDUlhVWHNIeWVQNGxUMmJXM1Nh
VVIwVGVtbm0vL0prNUdnS3I2bW9GSlA1TEs3TG4rRk1PeHZMckJyaVY5VXVqMU11c3JGZHlXQjRP
WkZFT2Z2dUdhMHg1UVB3V1I1cEJKQTQ5Ym40UytZMTFPbjd3K3RPbzZDeWdlV3hZTnFnUGdoVGd1
T21jNlNMc2lZUW5QcldmR1RnT3h6S09PY3N2ZWcwdnErRUIrQitUUjc2dTFrVkNsYnd2Sm1hRjNm
SXpBZDMyQ2JrOGljVEkxNk1PR1pKWVM5dE9lUzdKaHEyZ29hd0VXTG1lN2RSRjVGZnFHdVJxVEor
TlhRcUlucFh0dExocW1FOElFR2JWY2RUY0U5aytVQTRSNUIvbUpaWUtqUk1TQnFPM2JkdlllSkhR
T2hFMzRhWEVLMVExK2k3Tm9janpXVVMyUVZUMnpmWWVjS1ZwUFFvL2M0RDhLVVEwZ2dJOEZPYi92
VnF2OGRDOFlMaENJc2tKNXhIYUJkNnM0L2gwRTVXMDlvNFFkOU9lQk1qTDZFUHU1c2ZBNWVmb2g3
c2E2M3lKT3NVVGFVVjBETjQxRHluYlZ4bk5QVHFCZTJzM0xLMXVTNExRUzVobWJVaWFSRmJFV3hi
c0dyZlhtQW5JcnorK1h5bzVSS1dtTFRXQndDU1ZuK1BtRnl3bERuVFhuSnk3VytueE1DclNteVJJ
Z1ZGWThOZFpPRmVEK2hDUlpjQ1M4bFYyRkQ1WXRpakJ6bWxJcTdNa1pERktpc0JtZWhadDkxWUg2
WDlLTUNtTDNRWjJpRXZSSWhLcWltVDg0bThVdzFUYWs4M1VPMjVkYmxjN0RzOHkyMDltRkFyRDJj
MS8xNkZ6VzI2VHFGc1ZpMEpPUVlsNzBNMUxxS0x6SGo1akFVQmIrclp2aUFVWkxhTWZlVnJsL2da
MXQzc2orcms2RFNDSEFQUXIxUmNUeDh1UytuNS9ReFJSV1ExblBsckFpc1JnVDJqaFlVRTFzWkRL
TUlkUW5yUVNIVHNTeDh5dk1NMkJiMmVrZFB3UVJ1YkNER3k3SE8wN2F1Z0piZ2pXUzcxK3FSK3l0
cUxuTWFTdXU5dTBOTC82dzUzdHRzYlp1b1Z0M0tuUGVZT1ZMR1NNcGlRcWJpWmVGOENqK3oxQ2pW
YlR3ZmxTd1k0K0E0MmhsWS9EZkpsSE5xbkkyL1NtM3pERlhWbHh1VUl4VWtJdXNHZ2hBU2s4bHJi
cm5CNFRvSGNtMjVob3lsdmVFek9qSkJpajJHNkdaMHA0aDc3Y3E3U1ZTUC9Lb0NGdk1SL3R0REFv
OVJDdTIybmZlaDV6eHBHelVDTEtWQlNrSHB3bVc4Q0pJR1NmOTRJSUoyMzhweTNIM1Z0WVZJVkRC
WXVIbDBiZStBOGFVQ1pJdm5WMENpaUtZY3E5QjlKRjg5RVdvSmVxaXg1Z1E2NHlWcFRIRi9MS3RB
bmI4NzY2YUNjR0ZDUDgzSUlBY1dEaHNuUGczUE1wczhpZVh6TTVtajJKeThrN2g4WW8wNTAraGlS
MUFnajdxc0xYd3RBKzdQOWFLTHlpd0dDZGZVbDVBejNHUVNEUVFDWWxHOW5KSzlPbmJGdk9MdWlD
S285bkxrVzljTHo0K3NpOFRwaExNbzBiZW9sNnM0OGkvVGVjR0Y0dmlKcDNUdkVwZ2hBSVZZMDlv
TXl4WnVUWnA5a0E1NVdCWHBTYzRMdUMwak1kM2lmQkVxQ3J2MmRxMTJBL1ZjZysyUS8rMk5JY3dD
VzVyUTdRdnBDY2Rwcm1HL0djQWtxTVdYS2RYd1pMVXk2QThCZkFuMlhYMFR1aVVRTHpjZGdxVkxF
ai80cTRVbnZvbEt0TkNRc1BzbXhyeS85ZnlpR0FvRXk4ejRud2ladU9lZVZIdFkxdjRnRVhKRVVI
YXE1L0ZWWEVhT0NEWStXaXI4d3dzc2lzbFFUZTliV29XSzhpRktmN3hRTDRxc1ZGUGMyR1NHdWNS
YXR4V3EwY3ZXY3RoZ2VTdm1WV1E2Z1Y2S0xLdjlWS08xbm1ybDkwU2ZoMHllTmt4aWF0TEhsRGxu
d0paM082T3ArRWFDTU9zc0EyWGFwMyt5ckdLbjZWc09OeitqMXFRaHlsa0s1WXZjYTlJZUc5T05q
cmR2a3pZV2RtVEswb01rVzRkNTUvVzU1c0kyVlZRdmdrdmVpekY2L3lqWnRMdmtpVXNXS3VPYy9q
WDZGVUthRmhZR0NLakdkSkF4dTJNRmhFZnhSMUFXcklmekRoSndraVpQczZxQXdMczRzWDdYOE5p
eXFIRk1JMXh4QndGUmFGK3EvT0VKUUV1SWM4SWtJVlRaRHl3OUM4S1doeUhRMTgraG93RGJaMmdl
NW1XbCs5SWNEYTZUK3RPK3dGbzI2NHRLREcrZUJ0eTlqcXpsZFhrdjJ2Zk1kbU81U2lWU1g5Rklm
S0hwdEVSdjhLdzV5U2pwTXB1OVYyMmpHLzNqU00rQVpyemxzRXVoK3p5MXpVY0gzaEtxc0tuLzN0
SmRWNUdFazBvdnVYTytieTVTSTFpTXVLSmNQUStrcEY1QTZqNndMNSs1ZlNhdlZCallZbE1qSTRK
bG0wNGpLUjNQTUNRZERsaFVZeWhwR2RQVCtCeUFQS2prajNDQ1JYOVFyWGJzaW1GbmRTc0psVUVD
ckFhQVZkcHVsM1FEY2YxVFhPaDR0WFIwNmJveUZrNEwvV1lLMTZCT1VhM1hhS3JEc0xNcklwZi85
K0MvSmFNQkZkamRKWk1TeTZDb3BoZDlUN2lseHNENHdoK3Z1YnNjSG9qUTZmYWR4WGcxRnJuSFJx
WG1vaGNpU3c1V0wrMlVRTUhyTmw4Q3htaEFGMlNPQ210bytOa3RnZTA2dmxjbVE5QlpqK1g0bTU3
d20rbDZwYm1aeW1qSkFUSVFTRXB0dGNsbEg1clJ4WjBDcUt1eXQyZ3pHT05FVVF3QS9nOW8vV0dt
S3FQTXVJR0REdjFSK0luVjc2UDdPSWNSRU8rNWRLbFJick9wQ1VOWVZMK1daTDJZdzFndytWQ0M0
YTBZTWVoMkd0ejRQcEZKRDNOSUI0K21pQUd6Ums1TnF3ekIyMXZTOXJnUElyajBBRDhvVWxDT0lj
M0xOc0F4TEVVYXNSNWM4anhIemdxM3dKbzhwWlBHVnQwV0JnR1dEc3FaaVlvdFpYTUxmYnVBNXUw
SFJNeU5rbGd6bmFJTHB3N3RaNmtrY3o3OWJHbnY3WnlWNkY4M0FVRS9vWmNlZTdhSmNaL2JaQUVF
R0ZuL3c2cUlOV0xyb1VMcFQwUEFjYlhTMmlhRER0cDJkSWZ2ekFETjk0bWUxcEtzWCtUM1AvVkV1
b0l3MW82THZPTUZsdnVmaVNZemp1QmdaaVg5WDFOK0xyM2tDaUlkczlDTnVSa3dZTHljbm1Bbk9E
a0hSdCtnOVFPUzhZTjFKb3RPWnBSWi8yOTJLVmFtRFJ5Um1GUUk5ZXhxb2lXVmNhNVRwdmdEcWV4
RENTekIzZGxLOGJyOEhkQjBCeE9sS0xtV1RzY1IyanZSUE0wU2t3ZHQ0bTNKWGd6dlA5NDBKZlhx
UmZhOFpCRnlXeXlIUThkM2NpVG94eXpLelNWYUV6MUJUdTBDTlI3RndraEtHT3IwQWhYM2E2d1Zu
WmJxT01jNGl5R3JrcitpeWRuMWtVL1dad2xlRjl1NTlBTjFHejZzYU9hTkZRTE9tZ3ZlMXZ2NzFG
a1o4NEMzblkxd0Z1eWlZZGtaT2dUbUdQczFMM2xrVkxZV0FCK0I1NVA5RXByQTlJK1R0OThiQ0Fk
ZytJcGZoV2NMWExjT3Q2S00wcGpnUmtyTlhmQTQzL2lkb2hHN1dkUzZPMjN6VmgzZHU5TzgxTlBV
N1JmbU9Wam44Z1BEWW5HeHFCYjh4U21FR3ZkZXVMS2RwMlA1R2tETWtCdU1tT2dXOEVIK09vWDNr
QzkwL3pOTUwvYlNtS3QzMnVDNGJOMi9MVCtOM0RUZkx0Vlh0QWtoek11WnNxcXFORUJQckxFUzJV
N3RWWC9QcmZVdml0ZGZnalgveW1tbUt4OFV3SWJUNSswRmRSdTFsTkZSV1cyd0s2Q255QkpxWitx
T1VrZ0lOWFNwUzc5bjJNSDdLUmJSWUlDeFE0WFJUK2JWUittYlpoeUVTeERqOTljR2NQOUk4Rm5x
RkdaZDhkMWxGRi80QzhEMnpUWWl6SUlxSlc5ZTI3NlE3M2QxUWFkYUVTMFd1T3Rra1h2TkdsYjln
elpoNk1vVWFIU3J2VFExNnVwcktoUkMrR211a3hNeEVZUFJwaEtEZGJVTk5aQ0JwVVREMWdNSFVI
Sm5KSXZMdzd1SEM4M0JrOVVRZ3NWYjRORGE4L3I0WVhoWS9lZi9WcUZweUxSaFIvSGF1eDd4WTVh
UUYvSlRxTzd2RXBYWnR0SEVSc0pUK1RrdFc1VkxudjFmMnBBdk1RRjJjeFlhTHY1V0FLVyswMnN0
ZlBhVlI4YWZCT1pmdk1SL3ByWm1MSzltdjg4M283biszNlpaYTdNSHlrZ2pCTEJuaVRMek9TQzhG
NFgrNk9UWnpUdGFnaWdNTDhnaGpLZzd1aysrWEdtRVdRMEkxRW9Bb0t0NFNuRmx1dzV0NzJ4Mkh6
RVE0dGNyM01MN2hvV21RblFDaGF5WjBtMkt0R0VYY2Z5NWdZVVR6Tk54TXBaS08zVy9rb0lzb2l2
UzJxdlQ3cWpXZm9Wakd3OTFubStXVVVqN25jL2lYRklaTXBvU0twT1ZjalpNaTdiM21sZHQyM3FG
QXlmdkJWcW1CcU9ZZVRPdGtlNmVqdTJ5dmRkOENvVUtXM0ZKSko2cFY5NGFldkFobzdTOTNJQTlq
MEpleDMxVUc3Y2FyVkNzSjZEK2M1YjZWVlZBVlJpQk9xSkRON3JBeHZleHhNbUFyK210cnhjc0g0
Wjd6UWR1dllzbnczcTg3RElzeDFBVWhrV2NDeDl2TEZKSzhzMlhySWRjOGJaa0tabEJQcHJQZlo2
SkNzWDZpY3lWQlVmc1IzaUZaanpUMVQ1VE9Va3JEYkp3UTJxVWpyNWdTbG9hL09GeDY3QkpUbEsv
d2ZmQzRGZGw5NXQ3WFlNSWQ3OFNuWDJoZFVNSWIvK0wrMXFaeGhmMzErZ3VqV1hVOWFMNlk2ZmQv
RmpQUjhKbEY4clF2bXdnZFFxd1k2WStZMk42UlZldDN6UnJSdUpmRG1HSFRGVm8wSkFTTWxWazFz
SkdncFRCaGhid3NLNGs1bFRoTUpscWJaVk5XRDJJcTJEeWMrMmgrY2JZUGRBWlVsaEpyK21SVWMv
Vk1CTVRCRlV5eHliOXUrK0xsOHJoTnNJam1NaGQ5M1ZId2c1elczQWRzSGR5UXV2WkRLaS9MSUpV
c0F3RDg1Q0ppaFkyUGtWblZwMzIzWnJRWTIvM2V2Ung4Q2N2U2pYbUJVSWlHYXV2c3FaQWtKc0JB
V1hVR0d2N1puaHhKbHJoaThpY1I0eWdwbkZQeGF5elZUQVhkRHc5TjE5UmpwTThxU1ZFL2JRaWZV
UWc4Z1dSbTBYQUFLWTN2dlVlWXFzOWxCaElxQStzWHVZdmxSa1pwaklBWVhmUjVLYnB5dTMvZksw
UmdkcDd3V0NwMTdRamVSWnJUb1NoREpoUlpCUjFhNGRqVzZ4eENoelJ5c2g1T2JicVBQK3JDc2FD
YUhxa3Zja0lRUFJRSFNHbXo2Vy9IQUwrbmNjNFRwdTZiK2hUWkNrdjNBUVZkb3RLanZuTW8xVU1N
TGdxQWpwbzBwK3E3MHo1L0RrWkVtZWlYV0dGUmVDYkJOTXA2cDZXNldESzBoRnl1ZmpyaGt3V1c4
WnlvSUYzUU80d1JkYXBxc3RDV0JLL0JUTDRLbkdwekRLR0NZNkVPUDlpdUlrVEdHYUpHVnJ0SW9U
VUZpL29LaS9Mc3k5dEtUUk5DK1VMOHRUZUYrUmRYWjJOSGwvWkUrRFFLaHUzUVJHQ1ZSckFDVUo2
ZkxRR0tiekc0T1k3T2ErNHZKWlkydHBjQm5QL1NNRzYvOGZNamdIUU96NDRnZ2M2Uk1MT1h1SmMv
bDV4aHhJSGM0cDRVVFlzQXF1bXBXUEtwMU0xeG54SnhnTEVISlp3RExWUjlQUCthejBMYm1iL21F
dFdWNi9QR0FFM3FYUCtaRDZiak02V3BxVU1mQWdYdm5paWVFQjViTE9LMW9RcE5PdEZRTFk0cHZY
UHpyd0VUYWMxNDlUeFJLOGUxWWRFVVJtK3JaajBMUTlBWUQyMlhiV0dLV2QvcEhwYjg2dDByMlFT
Uk1nSDNjczJBU2hWdmQ4S0tCbkhOUC9OWlYvN3M0NytRV3UrbUlvdy9Zb1d4c3ZrWVJCNk9mRkVG
SzI0Y1dsa1R5UW9QK0loNFA0Zmlldm85T25sTmZhR0hRck9wK3UyNXgyK2JHNnhqcjdEeHpKQmNi
VTQ2ZTVkRXU4b0dnTE5IRW5SWkRrMW1TRFlDWHRSRnRtK0RadFFOZjNweDBwR2l3M0RiQzdLeG1l
UW5pbnVCVjhneURJc29KWmxVaUtvUlFiQzZxVWhYUTBtbm9MMnBYdzloNVZ5TEdISE4zek1EajZt
VjA5c3hId2xxQ2xnckxVR0w4bHI4eUJENThuY3ZyMXJrQ3hna3kzUWhwZ0QzdGl2dkpxQlVJbzlR
cGdzcTRXZFk1N0tTZ1lTSjBEb004UnN1YTBrV2JMemRBMVpuNHg1VTltZkRBSzZ5ZzlQYVp5N2hy
cEcwZGU0eDlzREFTbGdaNldGV3FrWVd1Tk94eGdEYzhqdEplZWwvOVYwRTdrU3BvVUN3L3RqaTRH
blg5Qlg2THVrYklEY0xtRmNNQVQ0M1BoYXN4ZEo2cWxGMUpDbVhGVHRFQjFNVjY1anYra01vMDdn
L2s5c1Z6VUF5M2IyUjZSU2ROT0l3WUgzM252WEpHYitEcmhqcGdycWtSODE5QkxWS296ZXhCN2lH
OGxyYlg1TnlPZnpWRVBpejhoM3gxZ0c1N21FZkdVNzJiV211Q0N4OWl2MnVvYSs2MGQ4TzVDbjRs
eEZDVFB2cEpVQndSNitEdGo4L3FnZEtzbUZSWjUvSkF4TnVtakYzUGU0YnQ4cTJOaHdhRytra2Ft
QlgwYUNkV0dlbS9VQ2lqUDFhaWwvREw1L3krVmJKZk5DUDdmWG1ab1RVWFdHbXBDZXlaRm1UK1VO
bmlUQ3JGMFYxSGVMYm5TaWRBakxKUDlVSFhBOGRhMG1tdFBmT1JxZ0s2M1VkQWZsNEpWU01haHpm
OTJWRmlkRWFzZk94OXBJOGNGZUxMNytmSktRMkExN0tpQllDM1h2d2RPRmxVSy8reWNMSi90VFV6
QW1NM3hpTDhKSWg3N1JYclBKb0tVcFVBT0taSURNdlFnUTVsSktobkovUTZKSFhrajRSODJjNmpW
bTI1UEtoQWJwamFZUXU1YkFHSitGb2NoMXExbURveU0xQ3VzNG92L2QxdHNTN0hDTTJvYm5oUjdP
Tjk2T3FaQXpKOUlhK2Z0ZEhVTHBxNzdlazEvTFRSS3gvNVB1NThQNXh3T2RJNGdLOWJxSFNaS1JP
UUtmdjdFcWRZOHhscCtFc0RSVVVLaTk5ZlpkazFmK0ljcVE4VmNKR08vWExCZHZLcFo2RnNZbnZN
c21VQ01oVnVjSXdWYmI4N3JuWmxXYXY5WFFnT2g5aTY1cTNqd2pHQzg2TC9wUDRtWHZhU1NQQi9i
Z1g4dkxRZTJxZzlMaEVWcjkvdWFyZHFLUUEyMi9BNkRMckROeDVvYUFGL1NkUlJsK1ZlTmVYNUpX
ZVNJNW96WFV0eXByZEpHZ0h2Wk1vaGhNeHRPaUxMOFBpWVcwaE05ZGFuMnA1cWwvUURzalA5MVl0
WHJzNGN1bHIvZ0hreHk0SitjZHQ3ZTQ4TURUNVZGS1JSRnlTZERnd1pKU2crUkp1LzJLYnVPak1L
aUQ5SXJ3WG1leVQ4U3p4NUMrTmttWTREQjMrbmFiMHhmMjR5NGxKL0pHczNlMHFvUTdPRzNFaVNP
OENzK0dmQUhDN2trd2hWcENYelYvSExRaTExY1lEY2JVRDFuSlB2ekxmRzcyYWk0cWNYdkd5MXJB
b2JqK2QvcVNuVUh3cjdQVk84Z1JyODB6YnRMOURIbGlra3lXL3JsUVFsbGI5bGVva1FzQ0tQRTFK
VisrNVJLMVB0T1BraDJWc3NoTHpncXVPakkxRHFBMFYxUzVmZDZ6WGt2dGlPbDg4S21meXg1RnFB
R29jZHM1VWJnaFpzK0VLOTNEUzlKM1VkTGZCUzQxdkM4TUc1b0I1aVVjUXVqcEI0VG1QT2Z3dXcw
ZEtuUzdWL1dXRE55ZHdNaVVtRjlPNkhKbUNGcEpubFdEaWdJbm5CR3BJTzgxWmRiZm9vbzdpdGwz
cTRWR0JHOTJXSDIwUmFhQTB0VThocVVBa1huL0pxUXB1SU9RT1NCQU1vbEg0TmFKVzl3RURtbVgy
VE1TTkZabDZwNVR6Z1dHS240dXNJSjEybnZHT1ZQQkkwMlVjOTRIK1dGNFRqZmRzdndVVng1elVw
bERKK2VPVjVDSUNBd2VNQ0haVGd4dEl3emd4UzJnMC9aRTJuQURDN25ud0swSTBGZmp2RXhtWXJW
VkhSZDdqZ1dOTGk4WkhKNDhZOEJwT2IrNGZKOVRvSmJLbGh6OEMrMm4wZzZFZWVLRWxhSVoxWUlq
bkdWakdYWUZEZEVPRmJNMnh0ZG5VV1d4MXN6NlpqWDBhNU1LZGlsZHF5eWhDVVFyOVN1U2ZvREVH
QUh6cWlQbU9ERDhrT0RuWU1ndTVkUFNSQTZaYnQ3dG5xVWlBRXV0Y3NsSUI4d2xoc2toR25Kd2xK
SXJlQUo4aHhZRUJPV2dCb1NQV2loMDhQMy90SkVGMUdOTzJ0b0tFdGl6N0xxY0xlalpGOEpOK1RM
b1c2SDM2TEhiWWVkbEZCQW1vTUVKdXZ0N2tQeUdJWThrVVUrMUlSaGNHNWtvKzZROXRlc1RTdE1p
QjdjZ2FEQURRcWVXOUVFZHQwNnRNanRCS1BHdkVUeXNBaklid0Yvc1kycTZqM3VkVGpyMjRXUTY3
UTdyZW15QW53L1BKSFViWjJTQmtaS2p1VGdOTFhaakR0WEw0a25FaGo3aXZZVTMraGovR1prQnVo
MDl1Tm1wOWZTTkdKa2JQMXIxWndRQnZpd096V09CLzBENVVTblVpM1E5VzJGdlZQVEFaUitWZG5Z
TkljNG1LUXZybUVEOG1kckN3dmpZY1h2YjN2OTA5WWdlTEJ3T2pkdHZLTVBvUVowa0JXRHBQb0hv
MTcra295S1hYUEZpRVp2M1Bwa3k0ZHAweWZzZk00dy9HNHU5K2dOVk5SSm96VnN3a01GQk4wV2RF
VExmdkRhM25KRHRxcGpraWhCdkt1UDk0aEpCdk9HV1NGeldudTMyZDNXQ0ZzN2g4TWhTa1NGVzdY
QmJhOURENFlrZjF5MHRyeW50eU9WQ3dpUENqVDBFOWQ1dUprbG5BYlFKbWRvcXhNalZYNm52clpm
Q3pySXBZV3BCS1U1UG13clc5SWl5NmVFUlUxVWtEaWExWlE0MHFxVU5UVEVkSDB0YmJvaGJIWS9n
eE1tWm54OVhUQlFvMzZJT1F0Ynp0bWVIMVFzV1hXZUQyU3V2a2ZibTVFWTBoTG1Rc0VrWkFwc0VZ
N1JYUVdHQ3JTVmV1N3lrUW9tQVZYSlZUbUxIZFRMWnJBS2xQanVlaVh6Vk43cnJwZnA2eDBaOXB3
aHlWSUZBT2FnYUJ2aTJOdlI5YlplRVM4S0N5MitlcTFFOGE5dnNMWnBQQVFOQVJoekpXV0VRS0JD
ODlKRWFLd2VvZWFBN0pSblRNU0hFcUN2M3c2Zys0bnQ5WENZK2JsQ1VGQWx0WXFQTTV2Um9PdXph
cGNaTDRUbWNIWERJVmNtbXJhU1NOckRWVkdldThmUXVKQzJZV214UGNuaEcxaFkzZU81eVlLYUJF
bHl3aEF5YWkwdnV0aERGSjNybTFrcEVtdXlkZHRodlV4WDRxSG1iR2dkMVlRWFpNbzhRUkdGSmxN
M3dpNTAyUGhuaWoyeEppb0lNMlJvTUt1WkxLUXM5MWVJUUFhNWUvNk8wRWVQWnpHU2FaKy9FTSta
eDZUclp0cGtUVHBXdTRVbktwaHU3YlJSRWw3dzQreE9nNGYxL1BxR0dZWDhZeWFOVktWTkxhOWE0
SHhNTkgxd0VyUm9kcDBNa3pTRVdlcFRieHI3OUJiWkg4NkhDVDR2bE1ZRXlpUEltRUNKbWVHN051
aXFEZDNtVVFUU3R4UWFUbVZKNlZRMWhBTEpMS09FbWVzaGMyY1JXbjMvcFcwbVBiM2czNzFucjUx
OHRyUURzeHJVbkI1MXBBRExoamYzUHJMSUpPK2JvYVYzNU5odGpSNHRLVDFGejhzNjJpMWNXUVJu
SHE4SEYvYVYyVnA0cytjaXZ6WW4yanFoTFhUdFcxbk00UzdGdHRzN21QK2diYkFhNlRacWM5RDN4
cFlJTnlyZlFTQVl3TlZPTXlna3Y1VXc2T0pmb2hobE5FdGVuVXlXcVUreXF0Z29rTGFNZ245WmM3
QzIrb3NSTE9wWEtiTisvdU9PeU05WEtzSjNmdTltRUY2cFVWZnpXV2tIbWp5OC9VcjlxT1BsSlFQ
R0tKZmQrR2NtM2FzRUFXeTBNcm1qTnRFSktKYTY0SWFQWVU0ZHlZWjcvc2ZrekpLMXcwVGxvcW1u
UDNPREovQks4aXRMdUR3c0tTWk1lb3pDMjhEQ0Z2bTN0a0lkYWMwYnY5QzA2N1Fvc2hZZVFWSmNZ
SW1JcHJBNkwrQjV2MXpwWlRKY3R0SUxtOS8xUEZOODJQU05VSEpZaHYwaTBzVFpJUFNLT2hpZGxU
NGM5Q3NqdzZIUnVhSEY1Nk9QYUZ0cFI3WEFkTWxPb0pVV2RwdkhCY1B1eGtnM2hHNWFnZStYUEpt
UjExaXFEbVBXV1hhcC9kakhrMTdYaWd1ckV1czVkemgvUERLQXZ1K1FLcnhTZ0pOTWdXSXY1N2h6
YmJZIgogICAgICBHQ2FtZXJhOnNob3RfbG9nX2RhdGE9IlNFUlNVQUx2WkRWdFhuQWVMT3JqUTlq
YTFoeC9EeFplc2xHQXkzYW45eE4xSmwxZEh1UHd5MmU1UDAxVDVNMjg5cG43VXU2RWFOcEZ4Ykl6
ajdYWHVaaUh5UFZJUnlja3duR3ZiYldnYlRSUjhUMTNmcGlzZEdmVFh6UitZWWVxNVo1TkFxeXRq
c1p6YysvRUVIN3g4NUVEMC8rWUYrczBiejdycDJKTnBSMk9wc3IxZWxLc1YreWlDZ1RrajFEZ216
dW9CZk8vRytkTVZ3bVFjWUR5d0RCcXh5a01EdUJST2t6dzg4b0ZMTVpuN1BtRGhXamRZRVZaNkdV
Yy90d2h4ZDhtblBMM29MRTA5YXJvQkhGWTBzSEc5WlFvbFhsN0FPcTVIbWJhb2pUWTk2T0pvZGtR
bWR2OXA5VVdVUVJ6a3NGUktKSlViTVc1VGxNZXBxaXVNNGRjajNzN01Pd0s5QjBUTms4Y0dmQjdZ
Y21odWwxTGNUWlZTTmZpMUFTNzRLT0JXa3o3clc0Qkp0bzR5ZXZQRW9obUxsTFArR1RaMVp2Um1r
aEVSWWNUQko4WFA1UzdTWUVoR2RqVWpZeVV2RlFDSHhwZG80dTc4OVJFU0Nlbld0VGI0NGhXZnE4
WlBDaFVuajRzUjhnZEozRUhRQlVSekhhUlJ5RWxkL1dPL2c9PSIvPgogIDwvcmRmOlJERj4KPC94
OnhtcG1ldGE+Cv/gABBKRklGAAECAAABAAEAAP/bAEMAAwMEAgUBAQQEAQEEBAQBAwQEBAMDBgYF
BQUGBwgIBwcHBwcIBwgJCAgJCgoJCQsJBwgLCwsKDAwMCQoMCwsLCv/bAEMBAwMDBQQFBwYGBwsI
CAgLCwsLCwsLCwsLCwsLCwwMCwsLCwwMDAwMCwsMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/iAmRJ
Q0NfUFJPRklMRQABAQAAAlQAAAAABAAAAG1udHJSR0IgWFlaIAfgAAwACAAJACYAHGFjc3AAAAAA
AAAAAEdPT0cAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtR09PR3XhprE8NDdjEMirZgYyoooA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2Rlc2MAAAEIAAAAQGNwcnQAAAFIAAAAWnd0
cHQAAAGkAAAAFGJrcHQAAAG4AAAAFHJYWVoAAAHMAAAAFGdYWVoAAAHgAAAAFGJYWVoAAAH0AAAA
FHJUUkMAAAIIAAAAIGNoYWQAAAIoAAAALGJUUkMAAAIIAAAAIGdUUkMAAAIIAAAAIG1sdWMAAAAA
AAAAAQAAAAxlblVTAAAAJAAAABwAcwBSAEcAQgAgAEkARQBDADYAMQA5ADYANgAtADIALgAxAABt
bHVjAAAAAAAAAAEAAAAMZW5VUwAAAD4AAAAcAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAy
ADAAMQA2ACAARwBvAG8AZwBsAGUAIABJAG4AYwAuAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFla
IAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6AAADj1AAADkFhZWiAAAAAAAABilwAAt4cAABjZ
WFlaIAAAAAAAACSfAAAPhAAAtsNwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW3NmMzIA
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
QpKvsEJrPZREGAEoATgCGh0NuglfPxIQka+wQpGvsEKRr7BCaz2URBgBKAE4AiIdDboJXz8SEJGv
sEKRr7BCka+wQms9lEQYASgBOAIyMg39PO9AFaEQPUEdAQCAPyUBAIA/LQAAgD812Dwbvj2qvQJE
Rdw04z9N7l/sQFVE5+BAYWZEZWJ1Z51SCO/j2QdKuAkKAhgBEo4ECAEYASABKAMwATgDSg8KC3j/
//////////8BEgBSDAjFCRCYBxjlDCDRCVoAYAFoAnIfDYXr2UAVzczsPx0AAIA/JexRHkEogBgw
8B89E0m1PX07ex9AggEUCAQQARoOCKoMENwJGOABIOABKAKKARQIBBABGg4IzwwQgQoYlgEglgEo
ApABBJgBBL0B0EbeQtABwgHaAQMQiAXgAQPwAQGAAgGSAr0BCKEEEh4NshSGRh05xnBCIAEoATXr
PqxATem3d0BQAXABeAMafQoDGMIBEAEYASIUEg4IqgwQ3AkY4AEg4AEoAhgEIAEqFgoOCKoMENwJ
GOABIOABKAIQARgBIARCDgjPDBCBChiWASCWASgCSjQaGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ACIYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIhcIASgBMgwAAAAAAAAAAAAAAABN192uQyoAmgIM
AACAPwAAgD8AAIA/oALCAaoCRAoDR04xEiUNhevZQBXNzOw/HQAAgD8l7FEeQSiAGDDwHz0TSbU9
QIAYSPAfGAMiDAjFCRCYBxjlDCDRCSoAMAU4AUABsgJIEMQCGA4gaSioAjD//wM4owJA5ihNTYQN
P1IHCBEVAACQQVIHCBwVAACYQVIHCDkVAADAQVIICJABFQAAGkJSCAjEAhWamVNCuALCARq5AwqS
AgoKBAQEBAQEBAQEBBJk////////////Af///////////wH///////////8B////////////Af//
/////////wH///////////8B////////////Af///////////wH///////////8B////////////
ARoOCM8MEIEKGJYBIJYBKAIaDgjPDBCBChiWASCWASgCGg4IlgwQkwkYoAEgoAEoAhoOCJYMEJMJ
GKABIKABKAIaDgiiDBCcCRicASCcASgCGg4I8AwQ2wkYlgEglgEoAhoOCPAMENsJGJYBIJYBKAIa
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
OiIIARAGHQw9dTwlATzdPi0frTQ/NRwv3T09UUevPkWAR88+Oh0IARAHHczSKT0lATzdPi0frTQ/
NRwv3T1FDI7EPkLOAggoFcJM4j4dG202PyJQd9HkPkk+5T5BsuQ+1k3kPj7C5D5BluQ++LzkPm5g
5T6B0uM+AAvlPtW/5D6t2t4+I7XePtfB3j5UN94+z2LePuZs3j4fwN4+FpHePrwx5T4qUIkgNj94
GjY/1Xs1P1VVNT8iGDU/A/00P+ANNT/8zTQ/4EA1P4PLND+XJTU/CKs3P1VoOD/nOTg/EDo4P+QH
OD9AEDg/Bvc3P88EOD9ruzU/MCg4/GJCUAC4xkUAIMZFACDGRQDwxUUAWMVFAFjFRQBYxUUACMVF
ALDERQCwxEUAEMRFAGjGRQBoxkUAuMZFALjGRQC4xkUAuMZFALjGRQC4xkUAuMZFSCBQ9A9aQADA
fkQAwH5EAMB+RADAfkQAwH5EAIB+RACAfkQAgH5EAIB+RACAfkQAgH5EAMB+RADAfkQAwH5EAMB+
RADAfkRKEw0AAIA+FQAAgD4YASAGLS2yHT1SZRgBIi0NpKTOPxWEahS/HULsDb0lXDkUvi3Zeqw/
NXKdT7496WPuPEXDF1a/TVJS5z8qLQ2mpM4/FYJqFL8dUOwNvSVaORS+Ldt6rD81dZ1Pvj3eY+48
RcQXVr9NUlLnPzUAAIC/WhAIhGIQtAQdheuBPyX3KHw/auUBDcSd/z4Vq905PxiCYCCOZTA8QDxa
zgEIQhJDsOoBoJwBgH2YdaRxsG28achl8GDQWrBUoFGQToBL8EeoRuBEtEKIQMA++DywO9g2yDPw
LuAr0CiIJ8AlsCKgH5AcABqEAQAAAAAAAAAAvLs7Pry7uz6rqio/AACAPwAAgD8AAIA/q6qqPomI
iDyJiAg8DnRaOw502joAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHp1DQXFDz8VYVQCPxgCJWmQqEwt
wkziPjUbbTY/OgoNheuBPxX3KHw/RQXFDz9NYVQCP1IKDQAAgD8VAACAP10DCRo/ZQU0AT9qDw0K
u9Q/FQAAgD8dsp39P3IKDQAAgD8VAACAP3oPDQq71D8VAACAPx2ynf0/ggFJCAEoAjACOAJF1b/k
Pk2XJTU/Ug8N1I8TQBUAAIA/HTqWsD9aDw2OzBBAFQAAgD8dkp+zP2IKDYXrgT8V9yh8P2j8YnAE
egIaAIoBBRUAAIA/kgEVCAESBRUAAIA/IgUVAACAPy0AAIA/ogEdCAESEwgBGAQwBDgISAFYAWgE
cAF4sg4aAggBIAKqAQUNvoCVNrIBBwgBGBkglge6AQA=

--b1_cwGK0Z5GSezCFNBEoBDUw9TA8joUsIwygMWThJAtI--



From xen-devel-bounces@lists.xenproject.org Sun Aug 28 05:45:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 05:45:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394293.633644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSB6Y-0004cr-29; Sun, 28 Aug 2022 05:45:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394293.633644; Sun, 28 Aug 2022 05:45:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSB6X-0004ck-T8; Sun, 28 Aug 2022 05:45:05 +0000
Received: by outflank-mailman (input) for mailman id 394293;
 Sun, 28 Aug 2022 05:45:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSB6W-0004cZ-N4; Sun, 28 Aug 2022 05:45:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSB6W-0004G8-KQ; Sun, 28 Aug 2022 05:45:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSB6W-0006iF-4K; Sun, 28 Aug 2022 05:45:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSB6W-0004QD-2C; Sun, 28 Aug 2022 05:45:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lbmuVq65wSjpXqdmEOlW2rwimFVmpMdvzyKUFh3lzdo=; b=GN6SwjrE3JN2weQVd9mcMCbV06
	bsBw69J1E+6hNOf2OhviIk7Hsy5NobFE6aHVhK7G4Dl+i4U0cBP898fTcQ6wb3kptw2aBAuQ0sCuF
	uqfCh9bMkru3GTl2lCVqBcKtcl4pjySVaPrIvvijQsXRJsiocSyAivNcqEd3AmDAhtUk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172818-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172818: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 05:45:04 +0000

flight 172818 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172818/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 172810 pass in 172818
 test-arm64-arm64-xl-vhd      17 guest-start/debian.repeat  fail pass in 172810

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   24 days
Failing since        172148  2022-08-04 21:39:38 Z   23 days   53 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    2 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 08:53:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 08:53:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394306.633658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSE2o-0006ZN-Oe; Sun, 28 Aug 2022 08:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394306.633658; Sun, 28 Aug 2022 08:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSE2o-0006ZG-LI; Sun, 28 Aug 2022 08:53:26 +0000
Received: by outflank-mailman (input) for mailman id 394306;
 Sun, 28 Aug 2022 08:53:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSE2n-0006Z6-HS; Sun, 28 Aug 2022 08:53:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSE2n-00084S-DD; Sun, 28 Aug 2022 08:53:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSE2n-0003QR-1k; Sun, 28 Aug 2022 08:53:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSE2n-0002im-1H; Sun, 28 Aug 2022 08:53:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4plG6dCwyYe4NRRVvwryXqNaGdglUh76zBV9aInze0I=; b=iX6qkPIeWh7T0DLpQqy4uF2LH7
	YKGMiZSfRfUAusX0gPnz2ckUV7kVB1Ktn2SA6VE/vZ8QZ86M+LkqePmXumf4rXjjgZF8WVHaqafKJ
	4oGLNna3sTSx1wHhY7GeZB9QRKcsbUn9i2EYH0RNSk98dQVAaGMuTKi3x5F4Ny3p7bm8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172825-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172825: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=39ff9769cad9d3f6b644456efcd0373a4c8452a1
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 08:53:25 +0000

flight 172825 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172825/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 39ff9769cad9d3f6b644456efcd0373a4c8452a1
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   24 days
Failing since        172151  2022-08-05 02:40:28 Z   23 days  188 attempts
Testing same since   172825  2022-08-28 02:42:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1000 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 10:55:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 10:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394316.633669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSFwc-00019g-OJ; Sun, 28 Aug 2022 10:55:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394316.633669; Sun, 28 Aug 2022 10:55:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSFwc-00019Z-Ks; Sun, 28 Aug 2022 10:55:10 +0000
Received: by outflank-mailman (input) for mailman id 394316;
 Sun, 28 Aug 2022 10:55:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSFwb-00019P-9t; Sun, 28 Aug 2022 10:55:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSFwb-0001pV-2X; Sun, 28 Aug 2022 10:55:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSFwa-0004BW-Lq; Sun, 28 Aug 2022 10:55:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSFwa-0005yM-LK; Sun, 28 Aug 2022 10:55:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=23Ud68rXOeQQt5+gvlbOFGnUzePKiDc9L+HjQREid6Q=; b=06jIv3Rq2MWKqxQsXAbMtf+lwa
	SgRaKBBiYABreO9M4k8auJf8/zvRjyM3h4h8+1RqyNjT9YjaX7XUtmfBeK+807jgZdumczIWmTOWT
	WnSDAuZG76Su1lAOs4EppD9I/oHkWH99eH0fp547jHCRXDJDdVu0gzMCuI6E1gvpciJs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172826-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172826: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=f3779e2bf835e5365cffde13dd73b2062980866d
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 10:55:08 +0000

flight 172826 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172826/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              f3779e2bf835e5365cffde13dd73b2062980866d
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  779 days
Failing since        151818  2020-07-11 04:18:52 Z  778 days  760 attempts
Testing same since   172807  2022-08-27 04:19:30 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Carlos Bilbao <carlos.bilbao@amd.com>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121163 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 10:58:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 10:58:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394325.633680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSFzY-0001pg-Al; Sun, 28 Aug 2022 10:58:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394325.633680; Sun, 28 Aug 2022 10:58:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSFzY-0001pZ-7P; Sun, 28 Aug 2022 10:58:12 +0000
Received: by outflank-mailman (input) for mailman id 394325;
 Sun, 28 Aug 2022 10:58:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSFzX-0001pN-74; Sun, 28 Aug 2022 10:58:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSFzX-0001te-5T; Sun, 28 Aug 2022 10:58:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSFzW-0004Rv-Ot; Sun, 28 Aug 2022 10:58:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSFzW-00080h-OU; Sun, 28 Aug 2022 10:58:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QkAVhNVYiNtkrWXqZ7NiMDrLMESkrmz6d8Cagia1mqM=; b=xI7pvpMRCjv1X3kAqUBmYe82or
	g2cOjKwDbtf8//ryrmGSEoJNikFzWM9zMXDcK2YXFbDzA1DFgW+/IxLjdz8qdM6hTZaYYTk3bdqNR
	ITx8HR7vuCFeyTnX7gNmu1tqKhwMv94JQotPc+4DPKZgAVJEpkGLnMOojf7DBjzNyb3A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172822-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172822: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=10d4879f9ef01cc6190fafe4257d06f375bab92c
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 10:58:10 +0000

flight 172822 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172822/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                10d4879f9ef01cc6190fafe4257d06f375bab92c
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   24 days
Failing since        172152  2022-08-05 04:01:26 Z   23 days   53 attempts
Testing same since   172822  2022-08-28 00:43:30 Z    0 days    1 attempts

------------------------------------------------------------
1571 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 162320 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 12:46:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 12:46:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394335.633690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSHfn-0003uL-2l; Sun, 28 Aug 2022 12:45:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394335.633690; Sun, 28 Aug 2022 12:45:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSHfn-0003uE-00; Sun, 28 Aug 2022 12:45:55 +0000
Received: by outflank-mailman (input) for mailman id 394335;
 Sun, 28 Aug 2022 12:45:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSHfl-0003u4-Rf; Sun, 28 Aug 2022 12:45:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSHfl-0003iT-O8; Sun, 28 Aug 2022 12:45:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSHfl-0002lR-6V; Sun, 28 Aug 2022 12:45:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSHfl-00017a-2D; Sun, 28 Aug 2022 12:45:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pW+IxBtIQoqWJ78fPwleTyeOsWt4CZzP5PqY3aa0p5k=; b=L/17l7Q6VvEYR7kV7PcRB26+47
	7H3Z5bsrOkfVIacxugsNRN/XQ8mpXthRunbXO+JX3pdwWpXGLM6vTSAOQHTZ4e/2fG96kMjCeRdft
	ytX0813cDNa2EZe3kdCJc/i1ZqTBMwejCFFK6jMe5DyD2rTDMd9qA08m0p6euV6CObtU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172823-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172823: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-freebsd10-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
X-Osstest-Versions-That:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 12:45:53 +0000

flight 172823 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172823/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail in 172804 pass in 172823
 test-amd64-i386-freebsd10-amd64 19 guest-localmigrate/x10  fail pass in 172804

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172804
 build-i386-libvirt            6 libvirt-build                fail  like 172804
 build-arm64-libvirt           6 libvirt-build                fail  like 172804
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172804
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172804
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172804
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172804
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172804
 build-armhf-libvirt           6 libvirt-build                fail  like 172804
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172804
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172804
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172804
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172804
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f
baseline version:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f

Last test of basis   172823  2022-08-28 01:53:37 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              fail    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Aug 28 12:49:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 12:49:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394343.633702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSHjY-0004Wo-JL; Sun, 28 Aug 2022 12:49:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394343.633702; Sun, 28 Aug 2022 12:49:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSHjY-0004Wh-Gi; Sun, 28 Aug 2022 12:49:48 +0000
Received: by outflank-mailman (input) for mailman id 394343;
 Sun, 28 Aug 2022 12:49:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSHjW-0004WX-QA; Sun, 28 Aug 2022 12:49:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSHjW-0003lF-Ng; Sun, 28 Aug 2022 12:49:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSHjW-00037Z-GM; Sun, 28 Aug 2022 12:49:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSHjW-000336-Fv; Sun, 28 Aug 2022 12:49:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6yzi8IX35ABvMTkzv/Uzp5WlZzHAg5rvxW6IeXGh5TU=; b=5lK7tymUtTMhhz5gsN2GEumOmF
	Rl9hkA2sOA3p/tAOx2TdhP/rTPY7souit2L90UlEa9mmEEyU9VaYG7PLoiu0PGNOu+kx6U5xmR+Pa
	/M9MwWklNV2SOQJwva73VaTY9sfIm8DK/eh2M7xGoswrU4AJIWwi7Y5c3u9MFbbAmJBw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172829-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172829: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 12:49:46 +0000

flight 172829 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172829/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   24 days
Failing since        172151  2022-08-05 02:40:28 Z   23 days  189 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 14:36:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 14:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394351.633713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSJNx-0006Yi-6P; Sun, 28 Aug 2022 14:35:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394351.633713; Sun, 28 Aug 2022 14:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSJNx-0006Yb-3g; Sun, 28 Aug 2022 14:35:37 +0000
Received: by outflank-mailman (input) for mailman id 394351;
 Sun, 28 Aug 2022 14:35:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSJNv-0006YR-RX; Sun, 28 Aug 2022 14:35:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSJNv-0005ft-NP; Sun, 28 Aug 2022 14:35:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSJNv-0001Ns-6v; Sun, 28 Aug 2022 14:35:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSJNv-0002xx-6S; Sun, 28 Aug 2022 14:35:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XXkttCvlYv78xBYktvamEJOMg6VMztLq6t8KuCzE/w0=; b=YlLLvwotcuw8q8yrfOrVAEsSRm
	Rt2LUJktGkKBm1gEtfc69zdwH97ei3uiEMLoZd307ZSl6WxmYMsAAiCbvHpsmgY8hWycNJDBHwBRO
	Tj8bdMX0n5RgipBkSWG0gaxWRAQTNQHievQSa0BfAYojFRrSJ2yJkSWciERGKkeS3AEs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172824-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172824: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-pvshim:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:guest-saverestore:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 14:35:35 +0000

flight 172824 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172824/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvshim 20 guest-localmigrate/x10 fail in 172816 pass in 172824
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 172816 pass in 172824
 test-amd64-amd64-qemuu-freebsd11-amd64 16 guest-saverestore fail pass in 172816
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10     fail pass in 172816
 test-arm64-arm64-xl-vhd      17 guest-start/debian.repeat  fail pass in 172816

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172816 blocked in 172128
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172816 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172816 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   24 days
Failing since        172384  2022-08-11 11:13:58 Z   17 days   35 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    2 days    6 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 15:29:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 15:29:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394360.633724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSKDl-0003J7-3X; Sun, 28 Aug 2022 15:29:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394360.633724; Sun, 28 Aug 2022 15:29:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSKDl-0003J0-0l; Sun, 28 Aug 2022 15:29:09 +0000
Received: by outflank-mailman (input) for mailman id 394360;
 Sun, 28 Aug 2022 15:29:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSKDj-0003In-Ec; Sun, 28 Aug 2022 15:29:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSKDj-0006ZN-BU; Sun, 28 Aug 2022 15:29:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSKDi-0003Ni-SV; Sun, 28 Aug 2022 15:29:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSKDi-0004bD-S5; Sun, 28 Aug 2022 15:29:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gfyY3U96bHCoKC1LZUlMX3BOWJv3bHBE4JRmDTXFf5g=; b=y8c72zGwEbwX7w/kYhS/SxkO98
	ftpGq1z0Ofv+9JzmDE6vgYorkzeLkFj5c3JD4E0Q/e9adxWtv870flx2dFJ+eoEajvPKpWfAseUuO
	hyMfL7kMpPRRljb+Nphe3jadXsRd94ePW4RX+dcNpJMeg20Wu2t4AYt8qBk/azaz4obo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172831-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172831: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 15:29:06 +0000

flight 172831 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172831/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   24 days
Failing since        172151  2022-08-05 02:40:28 Z   23 days  190 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 18:06:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 18:06:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394369.633734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSMfb-0001zY-CW; Sun, 28 Aug 2022 18:06:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394369.633734; Sun, 28 Aug 2022 18:06:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSMfb-0001zR-9l; Sun, 28 Aug 2022 18:06:03 +0000
Received: by outflank-mailman (input) for mailman id 394369;
 Sun, 28 Aug 2022 18:06:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSMfa-0001zE-3U; Sun, 28 Aug 2022 18:06:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSMfa-0001Ol-1D; Sun, 28 Aug 2022 18:06:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSMfZ-0003mJ-KG; Sun, 28 Aug 2022 18:06:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSMfZ-0006TU-Jj; Sun, 28 Aug 2022 18:06:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PxkCYxNtUPspFA5dsgZT/wd4dpJSuTcRcffMnePpIPs=; b=0nmR+SdS2Ounou/bMYQSijHzbx
	kf2+P+Uh/hvW18IY4ytASOn6HjVUxuwfRu+t+LyNMvgzfyyIw/Kl4f75NP9WHYOjGvlL3vEPyAvX3
	njEVTH6e7OVZ2WTf1PGqRPW0/V1u8reUzor5bHyNeoD2rU+RX2/Ze7zjDuIOna7Os0Zc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172833-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172833: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 18:06:01 +0000

flight 172833 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172833/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   24 days
Failing since        172151  2022-08-05 02:40:28 Z   23 days  191 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 19:25:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 19:25:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394379.633745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSNuK-0001MX-4U; Sun, 28 Aug 2022 19:25:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394379.633745; Sun, 28 Aug 2022 19:25:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSNuK-0001MQ-1B; Sun, 28 Aug 2022 19:25:20 +0000
Received: by outflank-mailman (input) for mailman id 394379;
 Sun, 28 Aug 2022 19:25:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSNuI-0001MA-MQ; Sun, 28 Aug 2022 19:25:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSNuI-0002h6-J9; Sun, 28 Aug 2022 19:25:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSNuI-0007F9-4v; Sun, 28 Aug 2022 19:25:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSNuI-0007Uh-4R; Sun, 28 Aug 2022 19:25:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vh4XHStZac2pAWTUwe/UFIUtQAliezwR78Mb9JFz1bo=; b=cJdz2S+39qQpgSIT46NjoBpXCG
	T/y1K0YrXH7g1pVz+lSTmofWcmDmgqWIJX/Hc6l+DsiDI9n4wOwEDgVBtZ2vZza9F3msK6GbsUB42
	ss+JZSraPH+3F1XqfE0vf6EXaITkKGzrbvbQzoESe/shQbQ1FF0vA1qTYJCAVkzUmOI8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172827-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172827: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-xl:xen-boot:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 19:25:18 +0000

flight 172827 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172827/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 172818 pass in 172827
 test-arm64-arm64-xl           8 xen-boot                   fail pass in 172818

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl         15 migrate-support-check fail in 172818 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 172818 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   25 days
Failing since        172148  2022-08-04 21:39:38 Z   23 days   54 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    3 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 20:15:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 20:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394389.633760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSOgP-00072F-1T; Sun, 28 Aug 2022 20:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394389.633760; Sun, 28 Aug 2022 20:15:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSOgO-000728-Tv; Sun, 28 Aug 2022 20:15:00 +0000
Received: by outflank-mailman (input) for mailman id 394389;
 Sun, 28 Aug 2022 20:14:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSOgN-00071y-4a; Sun, 28 Aug 2022 20:14:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSOgN-0003hK-3k; Sun, 28 Aug 2022 20:14:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSOgM-0000lb-Sf; Sun, 28 Aug 2022 20:14:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSOgM-0007Dc-SE; Sun, 28 Aug 2022 20:14:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oUGRKbQrFz8nJtU5JuT0Rip4fqJxrsdhr9uVZzf3pyk=; b=i7FMYZb4SP3HEcK21AomqVz+YJ
	uAg0XhvmOlW0lDJmP+n9dFqfv7e+PpAiFnJJaUA5X1gcwlkmw2HGWIm1Un/YZ9g29Z87NNlyFX7Fy
	3fNt4QYKI/Dhq89nFOEbEZwC0A5Og+SBgOjWwhgX6OdoPoWkm5X/IaXjDEbc8HpldvFQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172834-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172834: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 20:14:58 +0000

flight 172834 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172834/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   24 days
Failing since        172151  2022-08-05 02:40:28 Z   23 days  192 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 22:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 22:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394397.633771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSQKP-0000b3-LC; Sun, 28 Aug 2022 22:00:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394397.633771; Sun, 28 Aug 2022 22:00:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSQKP-0000aw-I2; Sun, 28 Aug 2022 22:00:25 +0000
Received: by outflank-mailman (input) for mailman id 394397;
 Sun, 28 Aug 2022 22:00:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSQKO-0000am-0w; Sun, 28 Aug 2022 22:00:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSQKN-0005Zg-TD; Sun, 28 Aug 2022 22:00:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSQKN-0000Gq-7Q; Sun, 28 Aug 2022 22:00:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSQKN-0002EP-6s; Sun, 28 Aug 2022 22:00:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=06EAiv/X22CC4qiLH8o7fxNzUv4qlwVZdMAvfsbg9b8=; b=y1e2vcp35m671xARFe3nUMGHFA
	xqyCZA4fgXL0FyW9oyh5am+ze1wIbNjoVsT95+pBn1CzAqPhz5PkCpyyltoNfuj/cn+z0z9PcvHBC
	guhdu3DwjRX/lGRm7A8UQw/POkfikNjEsslgIiq2dZGbABPx8nkfaA22c1ZfWwfkpyrs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172830-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172830: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=10d4879f9ef01cc6190fafe4257d06f375bab92c
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 22:00:23 +0000

flight 172830 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172830/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                10d4879f9ef01cc6190fafe4257d06f375bab92c
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   24 days
Failing since        172152  2022-08-05 04:01:26 Z   23 days   54 attempts
Testing same since   172822  2022-08-28 00:43:30 Z    0 days    2 attempts

------------------------------------------------------------
1571 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 162320 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 28 22:27:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Aug 2022 22:27:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394405.633782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSQkp-00033m-R7; Sun, 28 Aug 2022 22:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394405.633782; Sun, 28 Aug 2022 22:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSQkp-00033f-Ns; Sun, 28 Aug 2022 22:27:43 +0000
Received: by outflank-mailman (input) for mailman id 394405;
 Sun, 28 Aug 2022 22:27:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSQko-00033V-7t; Sun, 28 Aug 2022 22:27:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSQko-00060W-6Q; Sun, 28 Aug 2022 22:27:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSQkn-0002fv-Qi; Sun, 28 Aug 2022 22:27:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSQkn-0003C7-Py; Sun, 28 Aug 2022 22:27:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2o6FmPND4ZJbAvzlTs0Co7QRTbRmDFYi1qtIcOZZGdo=; b=qibRKCgX9XT2/r3E8+JcFd3hFR
	tRbY4Oe27+ro0QOoErkAJUYr/NR/qfu/jF+pRm9YslSootHB3tEZeSTVA+D7ON9acgMtRoMPBVT6q
	1OSbcv8scjoe195B/O0E7QG9+C6qKDbuqkPyK1LS0Jx0UByeq/VhBQ/bBEncjb6d6jNI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172837-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172837: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Aug 2022 22:27:41 +0000

flight 172837 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172837/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   24 days
Failing since        172151  2022-08-05 02:40:28 Z   23 days  193 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 00:52:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 00:52:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394413.633793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oST0c-0000ki-S2; Mon, 29 Aug 2022 00:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394413.633793; Mon, 29 Aug 2022 00:52:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oST0c-0000kb-PB; Mon, 29 Aug 2022 00:52:10 +0000
Received: by outflank-mailman (input) for mailman id 394413;
 Mon, 29 Aug 2022 00:52:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oST0b-0000kR-BS; Mon, 29 Aug 2022 00:52:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oST0b-0000gb-6B; Mon, 29 Aug 2022 00:52:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oST0a-0003bv-P2; Mon, 29 Aug 2022 00:52:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oST0a-0006DI-Mb; Mon, 29 Aug 2022 00:52:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7NNyJoY9Ghkl0iXAGkmIR8E4QVS8eQSKpC/stqOpp8U=; b=gblV5vKZfFmFz4656aWXfYQcXZ
	JGLpSi7/eb9d88XmgsiVBCQETk6abiROohTfbAq2Fj4QFQ9CKVdnJ90N/jqUarqooVybdBt8xEGb0
	+ZP30sGAP0PjnhPQ6bWy4ng43dzMSRprnX1/G+QXTRqtyhA6DtgAdVRJuiigLv2d1aSs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172832-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172832: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:guest-saverestore:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 00:52:08 +0000

flight 172832 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172832/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 16 guest-saverestore fail in 172824 pass in 172832
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail in 172824 pass in 172832
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 172824 pass in 172832
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172824
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 172824

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172824 like 172128
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172824 like 172128
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172824 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172824 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   24 days
Failing since        172384  2022-08-11 11:13:58 Z   17 days   36 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    3 days    7 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 01:59:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 01:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394422.633803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSU3U-00058R-TP; Mon, 29 Aug 2022 01:59:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394422.633803; Mon, 29 Aug 2022 01:59:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSU3U-00058K-Qc; Mon, 29 Aug 2022 01:59:12 +0000
Received: by outflank-mailman (input) for mailman id 394422;
 Mon, 29 Aug 2022 01:59:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSU3T-00058A-QN; Mon, 29 Aug 2022 01:59:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSU3T-00008v-NZ; Mon, 29 Aug 2022 01:59:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSU3T-000756-9Y; Mon, 29 Aug 2022 01:59:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSU3T-0007jd-8a; Mon, 29 Aug 2022 01:59:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4QRA2yN8iMWBINpATBjBsma1CBmTFNTw7r3ISkdYla4=; b=QyPnCyBDn2uCoRHYsZR/OXfJ0I
	XDqeRC/bVhsAey8QQTTLXourNlMl8t0EkunoRjBKVyQQcBppRwQ/aTbDPZUIZbd5ZSweKFKLhCCEM
	fgltMyhUhMUEd344wVG6IZbw/D3FZXErWCo2r3CRjJfVBqGYAzJvfZ/YAN0JJzJQgSrs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172839-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172839: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 01:59:11 +0000

flight 172839 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172839/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   24 days
Failing since        172151  2022-08-05 02:40:28 Z   23 days  194 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 04:05:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 04:05:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394377.633814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSW1l-0001K0-UL; Mon, 29 Aug 2022 04:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394377.633814; Mon, 29 Aug 2022 04:05:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSW1l-0001Jt-R4; Mon, 29 Aug 2022 04:05:33 +0000
Received: by outflank-mailman (input) for mailman id 394377;
 Sun, 28 Aug 2022 18:29:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wScQ=ZA=amd.com=Sudheesh.Mavila@srs-se1.protection.inumbo.net>)
 id 1oSN1r-0004Pv-Qs
 for xen-devel@lists.xenproject.org; Sun, 28 Aug 2022 18:29:04 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2067.outbound.protection.outlook.com [40.107.93.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47b131ed-26ff-11ed-bd2e-47488cf2e6aa;
 Sun, 28 Aug 2022 20:29:01 +0200 (CEST)
Received: from DM4PR12MB5168.namprd12.prod.outlook.com (2603:10b6:5:397::8) by
 PH0PR12MB7077.namprd12.prod.outlook.com (2603:10b6:510:21d::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15; Sun, 28 Aug 2022 18:28:49 +0000
Received: from DM4PR12MB5168.namprd12.prod.outlook.com
 ([fe80::104b:956d:8d57:3aa1]) by DM4PR12MB5168.namprd12.prod.outlook.com
 ([fe80::104b:956d:8d57:3aa1%8]) with mapi id 15.20.5566.021; Sun, 28 Aug 2022
 18:28:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47b131ed-26ff-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IwHLyiRM/fwMnEmyXRKF1VzI6LnMDFbRcHl/FCO52BzOPQrufwW2kE+iCQ2BI7e8jv9IeatG+nMvuQZ6lA8GT4KqCJDQdXu3Srmeq9lDHUFnhw5AnhAcXq5P0FbpfhobSI2mGsCHFZgXNHQsoYf0d0dXx4Vv9U2a0t1VJy6GNmznNpRF+K6Vtwc+/zLrb1Hr/elkaUtk5Jas5OlY5AUGpFF5DsoJkZB51iEK/eKBmCD9ir0hmqau/82HNTvVVt6UI4JlkTMBn3erVZd6EPqP2iknIplbplYu3F7O7dstXbpFvBL72NkxTPEq2HryhjRYUVO0shLUJc8vlv13hWNwiw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lMHNB6TAySifvCc072cGrzDQMXbAXN9dF32K6IP2pYw=;
 b=YtUGXB9pu5CiRhwjuYfNvRbIagdas10vY0jtBWGPgEx3Eq6JKA2NQH6qT+sTm9bu6kolNzV4sI5rZCFjqMvWEizFR26yHsbS5CkchYA7pGYex2yAsPeUiVCkyWqdfiybJ7RXUAyh946AbKJEtVHclKVYPOGNcurZF5fUcXbEVGXUqK7SvPuDKvPOVuXRWSDi+rHa0oFGK0TmIxvGJZQ3QkSloT1hKQcezXYheB/XRU2NbMKz+SDFiZzLWw98660lNtFhagMDpdMAjIaWMSxydMUUsIFLD6qoRyNXZQUG2MMJyQ+NbwUY0RaXLB1LZmHe+6PJLJVlvoZffyE4CA9eQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lMHNB6TAySifvCc072cGrzDQMXbAXN9dF32K6IP2pYw=;
 b=Ck1Kk3LLEI45l38/fOosXpsC+n6i/cZ6zKstApLiSuzfiyOGBMZT+S3NtPi4ZDHDCIxYJ750dSxj+u/Lz61usHms6s5WhwAhdUzHB3c9Rq0HCmUKLpIYdQO4uJ+1x+Nwt091COmQxaUVCM8j3Cvfq1Gsc+CF1qbtMUFtgAQvlYQ=
From: "Mavila, Sudheesh" <Sudheesh.Mavila@amd.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: vhost-user-i2c on xen x86
Thread-Topic: vhost-user-i2c on xen x86
Thread-Index: Adi7C1KeC2b2cv7iS1WzEpMAU109yg==
Date: Sun, 28 Aug 2022 18:28:49 +0000
Message-ID:
 <DM4PR12MB5168B087425BA2B586CEE6ACFC779@DM4PR12MB5168.namprd12.prod.outlook.com>
Accept-Language: en-US, en-IN
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-08-28T18:23:45Z;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=94d3cc84-354e-4331-a0d0-62720f1e9242;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1
msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_enabled: true
msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_setdate: 2022-08-28T18:28:47Z
msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_method: Standard
msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_name: General
msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_siteid:
 3dd8961f-e488-4e60-8e11-a82d994e183d
msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_actionid:
 05dd458b-0434-4f9c-baef-0ce7423b781e
msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_contentbits: 0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3a2e5317-515a-4d8e-576e-08da89232710
x-ms-traffictypediagnostic: PH0PR12MB7077:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Nzqt8YUZnJtF9pgruKdO4lVJgcqmJoaP5hQPr624lpDyS3FDpJBUgQ7ZnzYHBCApD2L0Jb+Ao0IQcuXz77itH4XgG8LtDqC4uqx+J/8X5GmeVEwr3cwCHWnKMQroZzOwDN6XwRFVhGgc1utBiKOvWkQWwlk1289WlIGMDF06MRtD0BQ3BYPxqMjlWDp5yKL3eBWsLfV/z//IsVcxXk7zZgUwjhh4DsGHueX28oD3dmgte9CVWjX+LCio9JTX4/xrmYLWbl06ofVRAaf/RtSYyfKPsmEyVuZhIauaN1QLjZTgJFOccct9ev6LVGl+iYT6X57VRErlrQU0QPuO39DbSDTBr90kcRPKPW6xmbMotv5wUNg9XdX99OHN7Z10Io2D4pVrx/uTdKpefqLiJKKDtxHky1fViY7yIl9XJXMnHlRxdUmO01PvfOwH0lvr8uWpiA2BAp0W7Nmh+J9xs5bkHmL/UobDva0Gv1uDPVmJu/Eg4XtNWhZJUETt//sseWJyuGji6/zSAwc/+ehxBF2Riag0UsiHmshvWQ3qYpaXz2CY4TkItnpNOD8SmscX8pVl3o1ot3ut7b3QQ8dPSNqgQWjrbVvFpSrPzDCeo+PiCfzy9FqmkkqaozfgiBQ8G92islNGFuSAHovxpu9Wgg86h0Ilu7+0F2VkfkA77bEdHMESnR0NhT5idz/I4ZxZXvGeXGgoIhMGAK7UY9fuZ0Q5gwBEk/NiV1uv4xqn8H4oNZW4QimDuJl+MXPPgWLpTic9OWYWFfqycqGlfv2MZBvdjAz4IlmI/OER9vfBUmkzaeY=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5168.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(39860400002)(376002)(136003)(346002)(33656002)(8936002)(52536014)(41300700001)(55016003)(5660300002)(2906002)(186003)(86362001)(7696005)(6506007)(21615005)(9686003)(26005)(83380400001)(316002)(38100700002)(71200400001)(6916009)(122000001)(166002)(38070700005)(66556008)(478600001)(66476007)(8676002)(66946007)(966005)(66446008)(64756008)(76116006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?OLntj91hpKGl9jieobxrO8mWpFDfzkm+iv9/MJh2j8pFF49He4Eh6v6R+yTU?=
 =?us-ascii?Q?4XsY6F2u+dzvHrM4Z3gbXt/nhoGuuX/RZi+5kttyw24TbE9aW8XNMgLpKF2a?=
 =?us-ascii?Q?wr7F8F+7Kas/PNF1aIJVr0XhXzX8XAF2eOl2ot6C9GWajOLI0nfb2m30aI60?=
 =?us-ascii?Q?2PAcn/1PDL4Q0mmBdOVslyf489YFfA3PhChFGliQff0OhYt8lH7cJwJcZ6fr?=
 =?us-ascii?Q?U0Anz4xfhqAc7WiETwa4SwXFu+0OwCYz8VqO1Lv5gzIu3S23Gf6vCCHTA9jm?=
 =?us-ascii?Q?/6cN7DnsYfay4RiVz0jeNQk39gO7CkZqLve8TEI/FWTX+4DxCMzsZRS5g1pe?=
 =?us-ascii?Q?8qBrapja1sHrsAg4emTzb/2MpfSI2paK83uRzYFQoG8iCsDw/DWsFyVWLsAx?=
 =?us-ascii?Q?ODkeT4W6aeXdmI7uP8HNYxHjMqfE7ZF3fp6pfmQNuv2R3bJ21nasAhk6bUmr?=
 =?us-ascii?Q?omL4ZHctgAEy1o1gVtCLS1lUv4nqwrgskFomqZ3A8XDOCjIWjkZNgcdwmZ15?=
 =?us-ascii?Q?c56QME0kevm/JbhiTsb6N1y+5eiQwUUQsa4HU0sLg2mkoNRWQJsPgr80Tde3?=
 =?us-ascii?Q?QZKAqgu4Qs9SNqpaVUJux4I7k9hc0PA2i5KnNmDdwK/ua/kdKxcWU9ZvhOgF?=
 =?us-ascii?Q?cskp6tTQSnrAMRaFGKn0xNC7GOinUiP97YrQyRqaNSsKpiPUUY6UDhLqvTp9?=
 =?us-ascii?Q?FG+q8vQPDKjGmTr/cpZRZYG/0A5xo10OwijQEH1H+8OAw4m+6jeuYE2ndF3b?=
 =?us-ascii?Q?Ci0gEpgHS9UH3wYQYNIP2ZhlJTuPLtO25+ZmJIqLM30yShkqiFmCeFM83MHp?=
 =?us-ascii?Q?Hn0hrBaGKSLOdo5V6OVLcZZdhePbocs84Tig9iLCDt+fobPn8EPIGlreTJUK?=
 =?us-ascii?Q?npqVb4aw/XIZuttplL/VBwQSylVINYqoizvU80rU0JN6RqNxRS2Wofqr7K2B?=
 =?us-ascii?Q?PaPjbGugE4UCHoLuJk4tf9hHekpN2gXvhGcDSRjR5Whw4iJLjkO9VYTiiwCv?=
 =?us-ascii?Q?fKFrn0iaF6nqmOwryj8E1iLfJJOxu5df9EmSwnRH0924Dp5p7L4QtCSo9Hvd?=
 =?us-ascii?Q?UYe+NtbbhoVJu5LRfyn35sDwI5Zg8nZqyRBfeoHlbXqtpjPBRAnPa+1GenYQ?=
 =?us-ascii?Q?7vzhQwOojql/2pJqfl1nRl719My36JoLq9WVnDeDaIH26gA3sK57DT4lMd3j?=
 =?us-ascii?Q?pbC7/UZ20LVeoCiKdrtleRa707d7fm0JBsYHZuE/1dG++L2aURGvYmD500Xc?=
 =?us-ascii?Q?T9PS61DN1oT1CoS4D9DrFhj2TfV4XSbKUkuNSZOU5x4rZ/XAQQazxSGwccc7?=
 =?us-ascii?Q?5fKWXNcSuFMYApwD7EDwyI9tbCx8gStBZRAnckiuf6Gd+nj4uAUbQYHGG/vO?=
 =?us-ascii?Q?NycUBrnkAbVLqwD2Jck4NgssDJoWZD9ERh4gPBOk7mh1PcVz4nmNWutgaUFG?=
 =?us-ascii?Q?ZXO9CgywPLZjY4ezWoBdy9gMDHqWgYZDRrik7JgvVlZTuOnVGh9D6q+o7mpS?=
 =?us-ascii?Q?nY7x6fELAlwzAFqyyROUcyqjdwjzQePU2pjuvCQGvxSLSy1mkB7EXetefa5T?=
 =?us-ascii?Q?Yr+9h7kYzXy70t63TWM=3D?=
Content-Type: multipart/alternative;
	boundary="_000_DM4PR12MB5168B087425BA2B586CEE6ACFC779DM4PR12MB5168namp_"
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5168.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a2e5317-515a-4d8e-576e-08da89232710
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2022 18:28:49.8121
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ssE6F7AW2LkEGB2Ql5MnKSWKkw8l5rYIJcGl9Ik/0L1twsfNQ+0qUbEyrkd5KO4h
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7077

--_000_DM4PR12MB5168B087425BA2B586CEE6ACFC779DM4PR12MB5168namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

[AMD Official Use Only - General]

Hi All,

I tried to run vhost-user-i2c on X86 machine according to the page https://=
lists.gnu.org/archive/html/qemu-devel/2021-03/msg08379.html
The aim is to access i2c device from VM.

How can I pass the below arguments to boot the VM using xl tool? Which is t=
he recommended way to access i2c bus from VM on x86?
  -chardev socket,path=3Dvi2c.sock,id=3Dvi2c \
  -device vhost-user-i2c-pci,chardev=3Dvi2c,id=3Di2c

I tried to pass this arguments as below, but failed to boot the VM
device_model_args_hvm =3D [ "-chardev", "socket","path=3Dvi2c.sock0","id=3D=
vi2c" ]
device_model_args_hvm =3D [ "-device", "vhost-user-i2c-pci","chardev=3Dvi2c=
","id=3Di2c" ]

compiled  qemu with  the i2c-backend patch
./vhost-user-i2c --socket-path=3Dvi2c.sock --device-list 0:57
vhost-user-i2c-Message: 19:23:00.434: awaiting connection to vi2c.sock
host                   : test
release                : 5.18.0
version                : #137 SMP PREEMPT_DYNAMIC Fri Aug 26 15:04:03 IST 2=
022
machine                : x86_64
nr_cpus                : 4
max_cpu_id             : 15
nr_nodes               : 1
cores_per_socket       : 2
threads_per_core       : 2
cpu_mhz                : 2595.174
hw_caps                : 178bf3ff:76d8320b:2e500800:244033ff:0000000f:209c0=
1a9:00000000:00000500
virt_caps              : pv hvm hvm_directio pv_directio hap shadow gnttab-=
v1 gnttab-v2
total_memory           : 14234
free_memory            : 269
sharing_freed_memory   : 0
sharing_used_memory    : 0
outstanding_claims     : 0
free_cpus              : 0
xen_major              : 4
xen_minor              : 16
xen_extra              : .0
xen_version            : 4.16.0
xen_caps               : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-=
3.0-x86_64
xen_scheduler          : credit2
xen_pagesize           : 4096
platform_params        : virt_start=3D0xffff800000000000
xen_changeset          : Tue Nov 30 11:42:42 2021 +0000 git:b0b4661fa3-dirt=
y
xen_commandline        : placeholder no-real-mode edd=3Doff
cc_compiler            : gcc (Ubuntu 10.3.0-15ubuntu1) 10.3.0
cc_compile_by          : root
cc_compile_domain      :
cc_compile_date        : Fri Aug 26 18:27:08 IST 2022
build_id               : d1e031cd177cfb054ac36a8872af15f6be926c56
xend_config_format     : 4

test@test:~$ /usr/local/lib/xen/bin/qemu-system-i386 --version
QEMU emulator version 6.1.0
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

Thanks in advance.

Regards,
Sudheesh

--_000_DM4PR12MB5168B087425BA2B586CEE6ACFC779DM4PR12MB5168namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word">
<p class=3D"msipheaderdf3d92d6" align=3D"Left" style=3D"margin:0"><span sty=
le=3D"font-size:10.0pt;font-family:Arial;color:#0000FF">[AMD Official Use O=
nly - General]</span></p>
<br>
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi All,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I tried to run vhost-user-i2c on X86 machine accordi=
ng to the page
<a href=3D"https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg08379.h=
tml">https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg08379.html</a=
><o:p></o:p></p>
<p class=3D"MsoNormal">The aim is to access i2c device from VM. <o:p></o:p>=
</p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">How can I pass the below arguments to boot the VM us=
ing xl tool? Which is the recommended way to access i2c bus from VM on x86?=
<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp; -chardev socket,path=3Dvi2c.sock,id=3Dvi2c \<=
o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp; -device vhost-user-i2c-pci,chardev=3Dvi2c,id=
=3Di2c<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp; <o:p></o:p></p>
<p class=3D"MsoNormal">I tried to pass this arguments as below, but failed =
to boot the VM<o:p></o:p></p>
<p class=3D"MsoNormal">device_model_args_hvm =3D [ &quot;-chardev&quot;, &q=
uot;socket&quot;,&quot;path=3Dvi2c.sock0&quot;,&quot;id=3Dvi2c&quot; ]<o:p>=
</o:p></p>
<p class=3D"MsoNormal">device_model_args_hvm =3D [ &quot;-device&quot;, &qu=
ot;vhost-user-i2c-pci&quot;,&quot;chardev=3Dvi2c&quot;,&quot;id=3Di2c&quot;=
 ]<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">compiled&nbsp; qemu with&nbsp; the i2c-backend patch=
<o:p></o:p></p>
<p class=3D"MsoNormal">./vhost-user-i2c --socket-path=3Dvi2c.sock --device-=
list 0:57<o:p></o:p></p>
<p class=3D"MsoNormal">vhost-user-i2c-Message: 19:23:00.434: awaiting conne=
ction to vi2c.sock<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p></o:p></p>
<p class=3D"MsoNormal">host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : test<o:p></o=
:p></p>
<p class=3D"MsoNormal">release&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 5.18.0<o:p></o:p></p>
<p class=3D"MsoNormal">version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : #137 SMP PREEMPT_DYNAMIC Fr=
i Aug 26 15:04:03 IST 2022<o:p></o:p></p>
<p class=3D"MsoNormal">machine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : x86_64<o:p></o:p></p>
<p class=3D"MsoNormal">nr_cpus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<o:p></o:p></p>
<p class=3D"MsoNormal">max_cpu_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 15<o:p></o:p></p>
<p class=3D"MsoNormal">nr_nodes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1<o:p></o:p></p>
<p class=3D"MsoNormal">cores_per_socket&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 : 2<o:p></o:p></p>
<p class=3D"MsoNormal">threads_per_core&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 : 2<o:p></o:p></p>
<p class=3D"MsoNormal">cpu_mhz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 2595.174<o:p></o:p></p>
<p class=3D"MsoNormal">hw_caps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 178bf3ff:76d8320b:2e500800:=
244033ff:0000000f:209c01a9:00000000:00000500<o:p></o:p></p>
<p class=3D"MsoNormal">virt_caps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : pv hvm hvm_directio pv_directio hap s=
hadow gnttab-v1 gnttab-v2<o:p></o:p></p>
<p class=3D"MsoNormal">total_memory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; : 14234<o:p></o:p></p>
<p class=3D"MsoNormal">free_memory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; : 269<o:p></o:p></p>
<p class=3D"MsoNormal">sharing_freed_memory&nbsp;&nbsp; : 0<o:p></o:p></p>
<p class=3D"MsoNormal">sharing_used_memory&nbsp;&nbsp;&nbsp; : 0<o:p></o:p>=
</p>
<p class=3D"MsoNormal">outstanding_claims&nbsp;&nbsp;&nbsp;&nbsp; : 0<o:p><=
/o:p></p>
<p class=3D"MsoNormal">free_cpus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0<o:p></o:p></p>
<p class=3D"MsoNormal">xen_major&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<o:p></o:p></p>
<p class=3D"MsoNormal">xen_minor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 16<o:p></o:p></p>
<p class=3D"MsoNormal">xen_extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : .0<o:p></o:p></p>
<p class=3D"MsoNormal">xen_version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; : 4.16.0<o:p></o:p></p>
<p class=3D"MsoNormal">xen_caps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : xen-3.0-x86_64 hvm-3.0-x86_32 hv=
m-3.0-x86_32p hvm-3.0-x86_64<o:p></o:p></p>
<p class=3D"MsoNormal">xen_scheduler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; : credit2<o:p></o:p></p>
<p class=3D"MsoNormal">xen_pagesize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; : 4096<o:p></o:p></p>
<p class=3D"MsoNormal">platform_params&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; : virt_start=3D0xffff800000000000<o:p></o:p></p>
<p class=3D"MsoNormal">xen_changeset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; : Tue Nov 30 11:42:42 2021 +0000 git:b0b4661fa3-dirty<o:p><=
/o:p></p>
<p class=3D"MsoNormal">xen_commandline&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; : placeholder no-real-mode edd=3Doff<o:p></o:p></p>
<p class=3D"MsoNormal">cc_compiler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; : gcc (Ubuntu 10.3.0-15ubuntu1) 10.3.0<o:p></o:p>=
</p>
<p class=3D"MsoNormal">cc_compile_by&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; : root<o:p></o:p></p>
<p class=3D"MsoNormal">cc_compile_domain&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;:<o:=
p></o:p></p>
<p class=3D"MsoNormal">cc_compile_date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; : Fri Aug 26 18:27:08 IST 2022<o:p></o:p></p>
<p class=3D"MsoNormal">build_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : d1e031cd177cfb054ac36a8872af15f6=
be926c56<o:p></o:p></p>
<p class=3D"MsoNormal">xend_config_format&nbsp;&nbsp;&nbsp;&nbsp; : 4<o:p><=
/o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">test@test:~$ /usr/local/lib/xen/bin/qemu-system-i386=
 --version<o:p></o:p></p>
<p class=3D"MsoNormal">QEMU emulator version 6.1.0<o:p></o:p></p>
<p class=3D"MsoNormal">Copyright (c) 2003-2021 Fabrice Bellard and the QEMU=
 Project developers<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks in advance.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Regards,<o:p></o:p></p>
<p class=3D"MsoNormal">Sudheesh<o:p></o:p></p>
</div>
</body>
</html>

--_000_DM4PR12MB5168B087425BA2B586CEE6ACFC779DM4PR12MB5168namp_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 04:24:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 04:24:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394435.633826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSWK6-0003fs-EI; Mon, 29 Aug 2022 04:24:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394435.633826; Mon, 29 Aug 2022 04:24:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSWK6-0003fl-BL; Mon, 29 Aug 2022 04:24:30 +0000
Received: by outflank-mailman (input) for mailman id 394435;
 Mon, 29 Aug 2022 04:24:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSWK4-0003fb-RK; Mon, 29 Aug 2022 04:24:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSWK4-0003vi-PN; Mon, 29 Aug 2022 04:24:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSWK4-0008By-Fh; Mon, 29 Aug 2022 04:24:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSWK4-0006st-FD; Mon, 29 Aug 2022 04:24:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aJBlGxIfvNCuZVlPpDZEIuTnFkVsZ/7ECY9tX8o0m8w=; b=h5ntwllbEjtD2upYsjlk5vJpoD
	4XPbdSWmvW6+lwLrBuZW870ZTxk7TCI8q4n4wGEDpOSHt3hfl0FBVm0grgPz1IyALM+fKMf6KopNO
	lVmIBaFGXS32eAIDGq1U9yHv4698ayU5OZQXTwt5S9WThleB3z3h66OgOnbs4mJWQKOw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172835-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172835: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-xl:xen-boot:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 04:24:28 +0000

flight 172835 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172835/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl           8 xen-boot         fail in 172827 pass in 172835
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install     fail pass in 172827

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop   fail in 172827 like 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   25 days
Failing since        172148  2022-08-04 21:39:38 Z   24 days   55 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    3 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 05:59:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 05:59:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394444.633836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSXnd-0004pu-Dd; Mon, 29 Aug 2022 05:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394444.633836; Mon, 29 Aug 2022 05:59:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSXnd-0004pn-AE; Mon, 29 Aug 2022 05:59:05 +0000
Received: by outflank-mailman (input) for mailman id 394444;
 Mon, 29 Aug 2022 05:59:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSXnc-0004pb-6y; Mon, 29 Aug 2022 05:59:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSXnc-0005li-5A; Mon, 29 Aug 2022 05:59:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSXnb-00060L-Om; Mon, 29 Aug 2022 05:59:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSXnb-00028x-OK; Mon, 29 Aug 2022 05:59:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kYpEN4fRRfGJC9f2fDDcnJidMsN3hkXRjOXulQP2/Fg=; b=lGXpGayRmOcPS/PNjuLD8+FiVQ
	1G8ftXDFFEnZIvc+z3Ri4X5ilRLUkby6yBACajgSQoqprzJ8lPFJIQ6B6yXPoqzFt1hzxSTed5GEv
	agRLDzZy0zI6xLUvWB7okQU/8WPXJuKreIXByx/VWUWl9Qgmy3lWeiWUuN7tvfg49nTM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172842-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172842: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 05:59:03 +0000

flight 172842 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172842/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   24 days
Failing since        172151  2022-08-05 02:40:28 Z   24 days  195 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 06:21:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 06:21:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394453.633851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSY92-00088b-9F; Mon, 29 Aug 2022 06:21:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394453.633851; Mon, 29 Aug 2022 06:21:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSY92-00088T-6D; Mon, 29 Aug 2022 06:21:12 +0000
Received: by outflank-mailman (input) for mailman id 394453;
 Mon, 29 Aug 2022 06:21:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=td9j=ZB=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oSY90-00088N-FD
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 06:21:10 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2051.outbound.protection.outlook.com [40.107.104.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c442fc1e-2762-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 08:21:07 +0200 (CEST)
Received: from DB6PR0202CA0037.eurprd02.prod.outlook.com (2603:10a6:4:a5::23)
 by DB7PR08MB3641.eurprd08.prod.outlook.com (2603:10a6:10:4e::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Mon, 29 Aug
 2022 06:21:04 +0000
Received: from DBAEUR03FT005.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:a5:cafe::5f) by DB6PR0202CA0037.outlook.office365.com
 (2603:10a6:4:a5::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21 via Frontend
 Transport; Mon, 29 Aug 2022 06:21:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT005.mail.protection.outlook.com (100.127.142.81) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 06:21:04 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Mon, 29 Aug 2022 06:21:04 +0000
Received: from b856f702d096.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9A24BEA3-CB06-4358-801C-571C75D360B9.1; 
 Mon, 29 Aug 2022 06:20:58 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b856f702d096.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Aug 2022 06:20:58 +0000
Received: from AM0PR08MB4530.eurprd08.prod.outlook.com (2603:10a6:208:13c::21)
 by DBBPR08MB6075.eurprd08.prod.outlook.com (2603:10a6:10:207::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Mon, 29 Aug
 2022 06:20:51 +0000
Received: from AM0PR08MB4530.eurprd08.prod.outlook.com
 ([fe80::9c00:1efb:1e42:3b20]) by AM0PR08MB4530.eurprd08.prod.outlook.com
 ([fe80::9c00:1efb:1e42:3b20%7]) with mapi id 15.20.5566.021; Mon, 29 Aug 2022
 06:20:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c442fc1e-2762-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=HZ81ctjVR8BVrlFGAhHIUz6W2kWe8Kh3WYGHiZpdrWW8M7ySiKcoV9wOOygEjp6PA1T8winN1izDQZce53Ycd+WnbP/KcSafpKxtMHQu0dGZzBTA8lN2ni56UYqN9Tdcz3nwOPqQ0P8SRokSYiWo6H+q4/hoh9iBAqdeFrzQ8WVQo+tijNolR+i8tzvCJzgBU+QCK8bGqtQGSBi/Nofx6jRKi2S01djBl2H/NCGKw6xwbSIwF/Txg0K5qQjnlKvYUEZ9fN6pKDC4dH+hu6ALJfUDiBiJwrwYyeSZvmD2jnzUKKNt/4IuiFRfjqm2iUxzSq7RBBEOwal0iblK0Pr+8Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3NoSNSyabnYmGnn9hJdJt80vXD6eQ50/e9JydvBdyEs=;
 b=BxCYOcSQZaWPgkfaJxMhSTVpF2bTWBHCT2DCg1CjTeshVZ3AMNrft3gwn3LujcDcTE0l5z+qwGkLZNIhzfp7BMCT33XY0oeZiTxTGoCYfUEA0TbajXXkssmS6VO503JWaUKuZr3QrENHCdBieL5FPk+na0rhyoyc5pMn09GevUHdsEo/IeqROtBYjbNalh+0/91qhLSa26NXd707S0D7l2KPxyXqL8vaAmwlFWFdYwlEjcPGmtu/fyzX2L3e4Ic49w2j8a7XQZG+5P6j/StjIzBbwy22e4l5HWV3AOUXEbAsfIx9Zdh9eeqAbmz0DUP0nN3j4rVXsPcx5GWKrfih6Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3NoSNSyabnYmGnn9hJdJt80vXD6eQ50/e9JydvBdyEs=;
 b=POOznO53eGKK8vPBe728c1rEtFYsfRkiRHN98pB9X+Ka4dyZdZRLwWpl54tjZbUhOUPypxqi8E3j3Kk1h9q7QdDnYQr+MqGVTNCk+DPS81nNAcBY69VowdLEmy7c35UjfIrau/aNFgAmbmc4XgwdSc9eWFhOtwXMp298z/feAaA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XWU4Mvf5Svcln41YoqYyDzQMTuyG/M9eHt4ooykmxuOx5M+cbKwWb2lH9Mz1nQyPWE5gorwjd5cO4UdalSaFbEjxwAIrruL+hvC3GFc2eZT2mKmdR2hv2pd3SCSUx3xtzckLvnWj/8X5ISGSGsi2b3PIbSXYNkZjFMVuJuSgIVFKuqwxxf4ov5puydKFXetK0hQRrZ3pF/TLju40KupGFaHgYZMKFinQl3KerZ0bjQi6iwer4q5jaqKko/8GF4ynPvK1Ez3AG+LVRS4g1lBj9rGNydI9GnsZj1Xn1GSW8A4X0aJNlHYiHpzWdhRKHZCoylPb2cVWM7qUfztcZQ/amQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3NoSNSyabnYmGnn9hJdJt80vXD6eQ50/e9JydvBdyEs=;
 b=VcCR0JQuDZBTlzsUDQtAU9xxQvc1QTR5mbToB5yQt3/0dsDfWh2scwYTa9V+VhnJPv6Kbh+ISGRYMGBdnyVCAPKUwk5svUi4cZiTatRuS2wxERZm+DIaUw6LedDIzG1dPeRS2j+2HS9PGHXEyBpSr1Fu50Fh+mJZrd925zIESN2lFrxyDy8ZwxPWtbki531ub7MejUdBJBobDPoVheuU7bP8uJ3glGfS8OyPAVu5VsUm1iHI9tSm0traG6AZUU8o3HZQ5mSbZrmbx/G69n9yJrz6yj4cFVh2ecZh4aU1zpMrKZXGLxs06cyzfPhEOcv4559g2+1QOQqgfzIRWaMnNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3NoSNSyabnYmGnn9hJdJt80vXD6eQ50/e9JydvBdyEs=;
 b=POOznO53eGKK8vPBe728c1rEtFYsfRkiRHN98pB9X+Ka4dyZdZRLwWpl54tjZbUhOUPypxqi8E3j3Kk1h9q7QdDnYQr+MqGVTNCk+DPS81nNAcBY69VowdLEmy7c35UjfIrau/aNFgAmbmc4XgwdSc9eWFhOtwXMp298z/feAaA=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: RE: [PATCH v6 9/9] xen: Add static memory sharing in SUPPORT.md
Thread-Topic: [PATCH v6 9/9] xen: Add static memory sharing in SUPPORT.md
Thread-Index: AQHYnQThdUNeT0fz20C/9TMXLH5gbK3A/r+AgASeO3A=
Date: Mon, 29 Aug 2022 06:20:50 +0000
Message-ID:
 <AM0PR08MB453097022B9D9791A6BC829EF7769@AM0PR08MB4530.eurprd08.prod.outlook.com>
References: <20220721132115.3015761-1-Penny.Zheng@arm.com>
 <20220721132115.3015761-10-Penny.Zheng@arm.com>
 <aeaa3649-33f6-e934-822a-47a982978a37@amd.com>
In-Reply-To: <aeaa3649-33f6-e934-822a-47a982978a37@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C0BF9594F351204D8E2BF9733923E610.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8fdae5d3-8e72-4efd-a8f6-08da8986a6a9
x-ms-traffictypediagnostic:
	DBBPR08MB6075:EE_|DBAEUR03FT005:EE_|DB7PR08MB3641:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 IE2MH+eobTqqsQn0JamCBbdY3mY4kB0iV8ubt9vhyifOiAJlF3xx3/CQ+hIgqMVjNNbo23Mp5o8Zm6Ro9Y7vGMXo0yeh18MkyZDyyiLCZJNdnbFMQYh0NUt9by4A/pjvJuzocVuJuHBycPFkPCSHB8LU1RGvyyyVYDEyu0onNYWIG/q1I++hin4TA+wYUywbPx4skpES1xlXOzsZ9RdCea0gds7xmL27paik38MSTLS1ZpCkdQrVpZ40ZxLQFp02RSOYU0IcahycIKzB1ukKNLDJy5p8c4WBzU27uY0ZuSTfaR8/OiTEEkeZMi0UL1+HiF6KQLR5315dOjmnO9NffJ7F1ryYmsoZYbD7fYpRN9smnSwhQCZsM5PbLII8tKnItW8MIXPZYJ7boO4/Iq+CAftDmZZrdRF610TTlt4NLx8CskWG6tAQF7Ok8dmnug3Fcut3I1eQ5kZ153KMFxqnUOwW1+CmSXvaK3qqHHTThN5MclWQeNqk5UgMwxJ6Qn8UNAzZX+6bvoEzPU4OA21Zm/j4G+USIpRZ0QzaxPDRFutXsrArtfF2AfUXD46rCHDCOlyktq4qELFscdhhHONr925q0hCz0qQV/zzJwv42qov5VQI0YY0Edh/gMTRqxWqiAnj70ORfozN527jE6vYtSDO1pWyHgROKy+L7szZmokkxGacJfTA3/0X9cCwHzDNgXbuBOCsucTm511MpLgJhkFewbNQmAiVkm7fRShasIsOt2dBKCLhM7sHBr8zTAxkb7yxB6/P6QZewI5KPVnfixQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB4530.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(376002)(396003)(366004)(346002)(38070700005)(110136005)(316002)(71200400001)(186003)(38100700002)(86362001)(122000001)(54906003)(64756008)(83380400001)(53546011)(2906002)(55016003)(478600001)(41300700001)(76116006)(66946007)(66556008)(8676002)(4326008)(66446008)(66476007)(52536014)(33656002)(9686003)(7696005)(6506007)(8936002)(5660300002)(26005);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6075
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d5097daf-35de-4d96-29c0-08da89869ece
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k1bKDmEjCWZge0rIvmKcBfYOnLpkoP8FkCgc0Ob+w/rITQekeBRkpBv0yRl017LdEcS13eMFmKnxIxQpyrx0Uc5enQc2H7jF+fB4SH17THhy90Lu/evRNXDzBIL4OZ9yg2TNwwxnxMHXcFEfSCkFOUyalMQFMP0yxAvQHBFELaWq4u65UqWWGPUHEPbylOkcMRFDyi8yVDZsc1nQVnPhoAry/hdELmGBafKqxMeXPY/37dKWUK2QkEf1qrp5YpMVAKEgfwJDU4Qj4yn2AUhYXMj8FE8jpIF+Xu5f0fqBt6PI6qB5pbnjheOeOpZZfAU6//IZnonhzi6k554Q/lhR2F+BKqPUOLvzSGJnJv6Z7hkXsdtZLXjuSHTSHxGR+rgehkUcUKGdvyn5xdORSDhI5BiFRlcQ0zW/gteP8HcGhO/CT7GFST+LpuOCYBAv6TurqI6lL48cW95bDIEj0RBOiuoXC40CLIgz7ky1JjaMQOwCq9bm9dMOptqr1fpJ171bCQqCADlJHN5bBrLJFwso5mHOWPbVcWhSy/ALElSYGmh2UGuk2SDZ47LTV/LQEptI+zo//KpURalC24alnVf1yCeu4+Tu7zf5bE8BpBzdsuy2h5UwHdir7H0/2z4TlmehE7OOeCkuTJNx2RMyW/NGty31/faysb+djwUkyOjJUZ5PBdOO9rgYS/q5APAuuVmvZotFruz595qLvvmaaUZAjKbEG/pxrfoJBzHJL39HjwGC5vfADVY1LGHFk+xRnX1o
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(39850400004)(396003)(376002)(346002)(46966006)(36840700001)(6506007)(7696005)(36860700001)(2906002)(8936002)(52536014)(82740400003)(55016003)(40480700001)(33656002)(5660300002)(83380400001)(81166007)(47076005)(478600001)(4326008)(316002)(70586007)(336012)(186003)(8676002)(70206006)(82310400005)(54906003)(110136005)(86362001)(41300700001)(26005)(9686003)(356005)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 06:21:04.0949
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8fdae5d3-8e72-4efd-a8f6-08da8986a6a9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3641

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNaWNoYWwgT3J6ZWwgPG1pY2hh
bC5vcnplbEBhbWQuY29tPg0KPiBTZW50OiBGcmlkYXksIEF1Z3VzdCAyNiwgMjAyMiAzOjIxIFBN
DQo+IFRvOiBQZW5ueSBaaGVuZyA8UGVubnkuWmhlbmdAYXJtLmNvbT47IHhlbi1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZw0KPiBDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0
cml4LmNvbT47IEdlb3JnZSBEdW5sYXANCj4gPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT47IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT47IEp1bGllbiBHcmFsbA0KPiA8anVsaWVuQHhl
bi5vcmc+OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBXZWkg
TGl1DQo+IDx3bEB4ZW4ub3JnPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY2IDkvOV0geGVuOiBB
ZGQgc3RhdGljIG1lbW9yeSBzaGFyaW5nIGluIFNVUFBPUlQubWQNCj4gDQo+IEhpIFBlbm55LA0K
Pg0KDQpIaSBNaWNoYWwNCg0KV29XLCwgc3VwZXIgZXhjaXRlZCB0byBzZWUgeW91IGJhY2sgaGVy
ZTspKSkpKSkpKQ0KIA0KPiBPbiAyMS8wNy8yMDIyIDE1OjIxLCBQZW5ueSBaaGVuZyB3cm90ZToN
Cj4gPiBvbiBBUk0sIHN0YXRpYyBtZW1vcnkgc2hhcmluZyBpcyB0ZWNoIHByZXZpZXcsIHdoaWNo
IHNoYWxsIGJlIGRvY3VtZW50ZWQNCj4gTklUOiBtaXNzaW5nICdhJyBiZWZvcmUgJ3RlY2ggcHJl
dmlldycuDQo+IA0KPiA+IGluIFNVUFBPUlQubWQNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFBl
bm55IFpoZW5nIDxwZW5ueS56aGVuZ0Bhcm0uY29tPg0KPiA+IC0tLQ0KPiA+IHY2IGNoYW5nZToN
Cj4gPiAtIG5ldyBjb21taXQNCj4gPiAtLS0NCj4gPiAgU1VQUE9SVC5tZCB8IDYgKysrKysrDQo+
ID4gIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQg
YS9TVVBQT1JULm1kIGIvU1VQUE9SVC5tZA0KPiA+IGluZGV4IDhlMDQwZDFjMWUuLjNkZmU2ZDJm
YmUgMTAwNjQ0DQo+ID4gLS0tIGEvU1VQUE9SVC5tZA0KPiA+ICsrKyBiL1NVUFBPUlQubWQNCj4g
PiBAQCAtMjk5LDYgKzI5OSwxMiBAQCBBbGxvdyBzaGFyaW5nIG9mIGlkZW50aWNhbCBwYWdlcyBi
ZXR3ZWVuIGd1ZXN0cw0KPiA+DQo+ID4gICAgICBTdGF0dXMsIHg4NiBIVk06IEV4cGVyaW1lbnRh
bA0KPiA+DQo+ID4gKyMjIyBTdGF0aWMgTWVtb3J5IFNoYXJpbmcNCj4gPiArDQo+ID4gK0FsbG93
IG1lbW9yeSBwcmUtc2hhcmVkIGFtb25nIG11bHRpcGxlIGRvbWFpbnMgYXQgYm9vdCB0aW1lIHRo
cm91Z2gNCj4gZGV2aWNlIHRyZWUgY29uZmlndXJhdGlvbg0KPiBUaGlzIGRvZXMgbm90IGV4cGxp
Y2l0bHkgc3RhdGUgdGhhdCB0aGlzIGZlYXR1cmUgaXMgZm9yIGRvbTBsZXNzIG9ubHkuDQo+IEhv
dyBhYm91dCB0YWtpbmcgd2hhdCB5b3Ugd3JvdGUgaW4gYm9vdGluZy50eHQ6DQo+ICJBbGxvdyB0
byBzdGF0aWNhbGx5IHNldCB1cCBzaGFyZWQgbWVtb3J5IG9uIGRvbTBsZXNzIHN5c3RlbSwgZW5h
YmxpbmcNCj4gZG9tYWlucyB0byBkbyBzaG0tYmFzZWQgY29tbXVuaWNhdGlvbiIuDQo+IA0KDQpP
aywgd2lsbCBkbw0KDQo+ID4gKw0KPiA+ICsgICAgU3RhdHVzLCBBUk06IFRlY2ggUHJldmlldw0K
PiA+ICsNCj4gPiAgIyMjIE1lbW9yeSBQYWdpbmcNCj4gPg0KPiA+ICBBbGxvdyBwYWdlcyBiZWxv
bmdpbmcgdG8gZ3Vlc3RzIHRvIGJlIHBhZ2VkIHRvIGRpc2sNCj4gDQo+IH5NaWNoYWwNCg0KQSB0
aG91c2FuZCB0aGFua3MNClBlbm55DQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 06:57:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 06:57:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394459.633862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSYiO-00031j-25; Mon, 29 Aug 2022 06:57:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394459.633862; Mon, 29 Aug 2022 06:57:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSYiN-00031c-VU; Mon, 29 Aug 2022 06:57:43 +0000
Received: by outflank-mailman (input) for mailman id 394459;
 Mon, 29 Aug 2022 06:57:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=td9j=ZB=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oSYiM-00031G-IW
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 06:57:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2087.outbound.protection.outlook.com [40.107.20.87])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df3d3c2d-2767-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 08:57:40 +0200 (CEST)
Received: from AS8PR04CA0025.eurprd04.prod.outlook.com (2603:10a6:20b:310::30)
 by DB9PR08MB6989.eurprd08.prod.outlook.com (2603:10a6:10:2c3::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Mon, 29 Aug
 2022 06:57:38 +0000
Received: from VE1EUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:310:cafe::a3) by AS8PR04CA0025.outlook.office365.com
 (2603:10a6:20b:310::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21 via Frontend
 Transport; Mon, 29 Aug 2022 06:57:38 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT051.mail.protection.outlook.com (10.152.19.75) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 06:57:37 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Mon, 29 Aug 2022 06:57:36 +0000
Received: from abf9ac426bc6.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6D941AA8-4558-4625-8C0F-E9673BEBB6DF.1; 
 Mon, 29 Aug 2022 06:57:31 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id abf9ac426bc6.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Aug 2022 06:57:31 +0000
Received: from AM0PR08MB4530.eurprd08.prod.outlook.com (2603:10a6:208:13c::21)
 by AS2PR08MB8575.eurprd08.prod.outlook.com (2603:10a6:20b:55e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Mon, 29 Aug
 2022 06:57:29 +0000
Received: from AM0PR08MB4530.eurprd08.prod.outlook.com
 ([fe80::9c00:1efb:1e42:3b20]) by AM0PR08MB4530.eurprd08.prod.outlook.com
 ([fe80::9c00:1efb:1e42:3b20%7]) with mapi id 15.20.5566.021; Mon, 29 Aug 2022
 06:57:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df3d3c2d-2767-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=maeKmc6BrIKNdMdLL+IATizU085H+CPgLq0pKYD5Oo0PDq1fOL9TqjLAcS78WPY1y6md91bPehi6cn7vEvE0XeZ/LRgC2xrrP8e+GV/YswuxkXeuhCbFvqROKNy+4FXTDa2UHDKoYZv5ZECtU7IWaihZ7/iEjBRK64gSpvRdKyMvH4oEO6ArOQR6AU2vlOTFChNu9Yq5H01krRevKBRq9NtE6gre7L9rz7nxFqddodzeSEiyWGUENe3TOYkuBqAoLn3Fxn5WM2kC+RgkWl96o6x0g9dJO9oBTy1vsJeSnxlRarKp4Nc5PkudSG6LvtMgw15VILgZ9LR8u1rZUmyzxQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m7h6UkEUgGUt7qynhP5I71NuSYAdge7kW5t0hkkkOxE=;
 b=A4ZyU7ttPsiA+Kd5p+GdVep9GyOz2W6gGdoJGyWODCcfqIkWWrS2CrYYX1bQMI7AaFm+ML8K1i/uKHHDMbT7dBvnPp7XlD68O0Hzxf28e2rjNr3rPwPuSNWXEgFdMBXN21h71GhPJrcIVD2YvC17zSZ6ThddRPzZbtdN6yr8ybV9RueRDFJdDIbBw1997TLDIwweVsvBkMxjBQgoJKLmcYp0oxJ27YG01Y1Xy7OTBLWHHCdCufy2wgPq/EDyGPBsrUHKHYsOcbVDhFH7iMIUxf5WED6y5h7Xn6dU9rzaBwjlesuldNAdbQMMNdIK4b7fDlwpqzLZf02Qk1AtRqRDoQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m7h6UkEUgGUt7qynhP5I71NuSYAdge7kW5t0hkkkOxE=;
 b=MjcJZmiqV6kFvajqNCcgFStUkfHaRT7Wuk/BRuaBBGNmoT0F9jAn2iiRkGDnvztuxGKSKOplhK1QG9ULKCh0MFov/6pO/I+iQC/qQJyn4DsknIxzo1SEk73r0wBXWCOEVJ9F9cfgSDtoqApB1wZkv9Uk39GuE2RoXGJ5a8eYjhE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gP0t9Gp7BJtNu5NiRNeBfqRVRvtOXy/yFmCtJzWRfOyX8p6b8w3W6hidZhNaUWXQQo26AFN2YNVx84uwTbIsXFRbfyxEYwkgXMlsJ9SbCZ4IYvyjt7pQ4SfMeU63kdhS4zNEsaJUNomiqzVTiE68654+F28XTsIXiVLGY7ZRhOyJDsdyDQid7tv4hwauc0IGd0rGC3MvD2Ev5q6+2Ipu4TiGx0ahf5w3ETpffFlw+Ip455ra8L0mpmd5NoaA+lSCw+PPWTtWcUy8Dbfp+yFbHF7/rJNkZRBJartX40NpkkbVHlqvOkcqCB/UOmDSkFzQ4WqOCH8/f2gJ9rgHKO4c7w==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m7h6UkEUgGUt7qynhP5I71NuSYAdge7kW5t0hkkkOxE=;
 b=ZNjQCHbAlYZ+u596vwjQ9gYBzgqw6wc6jf/+wMG87OJssmG2XhObgaLaXUODZjTMQKFwwG71Ywrhup5kc8t5dwerkZ4H5aWm34/r7LRZmRny+VE1cjwkKtKNkaomXdSggCE2QoYcDH3Mq4jOTEPLDwW7rEqF6GYOX+zJvENfAZeeI7n0dKRgnOqCisUws7E/LpVaDixweRGTx91CTlDx6YMM8pigm7vI5QbJk/7lZdTqrNsox7PoebzTS9YVrDYgmgXMjweB19lkmynLZgMH/EFTMw/Zc8G8kzBvS8PvDE/J//3rFA7L4Cx2v+W/Ce7tKzY8P0Vpo6Q1Y/xdEan2ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m7h6UkEUgGUt7qynhP5I71NuSYAdge7kW5t0hkkkOxE=;
 b=MjcJZmiqV6kFvajqNCcgFStUkfHaRT7Wuk/BRuaBBGNmoT0F9jAn2iiRkGDnvztuxGKSKOplhK1QG9ULKCh0MFov/6pO/I+iQC/qQJyn4DsknIxzo1SEk73r0wBXWCOEVJ9F9cfgSDtoqApB1wZkv9Uk39GuE2RoXGJ5a8eYjhE=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH v6 1/9] xen/arm: introduce static shared memory
Thread-Topic: [PATCH v6 1/9] xen/arm: introduce static shared memory
Thread-Index: AQHYnQTR3P1Hf4Rlc0O1VRJveInV4K3BYj8AgARCxIA=
Date: Mon, 29 Aug 2022 06:57:28 +0000
Message-ID:
 <AM0PR08MB453055962750CBD525997CE7F7769@AM0PR08MB4530.eurprd08.prod.outlook.com>
References: <20220721132115.3015761-1-Penny.Zheng@arm.com>
 <20220721132115.3015761-2-Penny.Zheng@arm.com>
 <ce6c2e20-2d5f-dccc-e4d0-0e8ce92caeb4@xen.org>
In-Reply-To: <ce6c2e20-2d5f-dccc-e4d0-0e8ce92caeb4@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 613E4193B9ADA149A88656AFE4CAACC6.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 2002493b-dd39-449a-023e-08da898bc20a
x-ms-traffictypediagnostic:
	AS2PR08MB8575:EE_|VE1EUR03FT051:EE_|DB9PR08MB6989:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 /U8+dNEwaKa/i8QAvmBFDx+2FTsMkf0CAvUalyHEE5f0jVykRH+tTC0QJSwqgVXyQhGalaiMvVcSurb8KSkb/JvfN4/KfEF7KkgizYS/79Fgzqnzte3PZw//2ElkURQaTOBHFYtG4zOsnR8FZ+6sqO5SskZkzH6mAe22pmu0k12DxVKUKty1enD/5TtXEX7fdTpoCSlbRhPito5fYgdO6J9ZqkSdjxwr9d5ETWDoa7DVO1QYPoqfH6RdAtiXssZjHGQlM28iRDBxkjol6hVjwMPzjzQ54wFVGcSSGwBo5O4A6f0uUzgmXV0LjyiXFj5otEVKlVToVI0sTYTvTuWxADdztd6ZBtyDYBQww3Mu45Owr0IooJLA0XR1haQU8hd2KVBpZOnGAfajhGvdWlyg9zf/CiFwYfVoWAfkBJjbcfFEq+C5DdUAlj4qrzrPZif8gwWgDpQvGtJtlEW9hheDCDK6bidJ+SAl2R+Xq9NZSl9sOeSbKUsIhdxQaMVcCKkqzNahsgST9kA0CZQr28qxnE3o0VOXyUUC+UL76nkptTY2nJ4W5qetw39Eif5cVmpPsnRDe2aEVsP53V1UrbNyZdqcBs7poZcduYQmQ5/bzANDnATI/6pR0poXuoaa33tU+ScfVGCz0J3qaiRnqHwvtLFj2XY3AGgyfFmupF+/xmQ4/cBCtTVO0Jnm34SMkETVF9nyTWoQuR42D/p1W+FZrvm8YfHUqd2rU380Usch3zBNfcREh2I+ClLpjarf87shQX0TGsv5c+9TwwJ0v7ceEA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB4530.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(346002)(396003)(136003)(39860400002)(376002)(38070700005)(122000001)(86362001)(186003)(83380400001)(38100700002)(52536014)(5660300002)(9686003)(4326008)(8676002)(76116006)(66446008)(64756008)(66476007)(66556008)(66946007)(2906002)(55016003)(71200400001)(41300700001)(478600001)(7696005)(6506007)(110136005)(8936002)(54906003)(53546011)(33656002)(316002)(26005);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8575
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	19d82dc2-50c6-4b93-5231-08da898bbcf0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FIrUI0wx+wchelg6Vom6Y21QDP+zIoAvxG/zptdzcJ718fKTUjM/cHcxiTJB6xrq8dqPF/pTQBRNzw0zOSR6D/CYLFUK+EoewbjbElaGFcT6BxXZAaDxXy8LQT6tTg4ek4UPXWRY8Vdbhxp1W8KqpBWB3J8My01eL7dHa5HpRoODWNvW0ntpL+EBVRYNQMrxXdL1cQuHu0B3ZbExsDvE9Vzv3+lJfWwFja7KqDyWwzNl/OVDOBHhP6+OVYbgED88y3+O6y489YGCZDw/ZrbKkRk+0mnYUKljHfUKWq51Cf0xhrEtCYZaksw1Une+Y0VZ+rlbEOQVisFZdj83sRaFRCMJOGxFTKXi5ZCJdcn8hSZiWxxZtNH8F7dQpN5zMui3mnCemV9U37/1SJBigEY/fO97Avfq/ldK9p+ffqDBEL21nbGtAAEDDN3dL2i0zUPeK3UqEC8hM/CDrfB/QriDE9roxWkLk4SU1jyyHEKf0qnizr1CZ+bOWFOeTMgp6Vmp9AdmJ4xS3llNf1XMMbyNsjXTuwv9eq5NOhy9054EkjLmCOsfwxsAgGVWzdxyB3YAG99hEtX5sn3s5nN/qaJCMaYKDlb060+oYILx4EzchCy/SKs2s9foNQ8QwiMsnU0I4JUdiLNvdI9bLiOaIR14VSNhBOTfkJsElFhdKj46erxyK/yR6stnnU9P8g++rnsRc6InzN6ez1cbKHOBb7V7zIHM17vOv/WM8Xjst0qTCQC1DEVNKvBYl0HV7BJfQqbXBNQ68rejEHPm7qPd16siOg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(39860400002)(136003)(346002)(40470700004)(46966006)(36840700001)(9686003)(86362001)(53546011)(70206006)(26005)(82310400005)(478600001)(107886003)(6506007)(7696005)(41300700001)(336012)(186003)(40480700001)(82740400003)(55016003)(40460700003)(356005)(81166007)(83380400001)(47076005)(36860700001)(110136005)(5660300002)(8676002)(8936002)(4326008)(52536014)(316002)(54906003)(2906002)(70586007)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 06:57:37.3679
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2002493b-dd39-449a-023e-08da898bc20a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6989

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPg0KPiBTZW50OiBGcmlkYXksIEF1Z3VzdCAyNiwgMjAyMiA5OjE3IFBNDQo+IFRv
OiBQZW5ueSBaaGVuZyA8UGVubnkuWmhlbmdAYXJtLmNvbT47IHhlbi1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZw0KPiBDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsgQmVydHJhbmQgTWFycXVpcw0KPiA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgVm9s
b2R5bXlyIEJhYmNodWsNCj4gPFZvbG9keW15cl9CYWJjaHVrQGVwYW0uY29tPg0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIHY2IDEvOV0geGVuL2FybTogaW50cm9kdWNlIHN0YXRpYyBzaGFyZWQgbWVt
b3J5DQo+IA0KPiBIaSBQZW5ueSwNCj4NCg0KSGkgSnVsaWVuDQogDQo+IE9uIDIxLzA3LzIwMjIg
MTQ6MjEsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+IEZyb206IFBlbm55IFpoZW5nIDxwZW5ueS56
aGVuZ0Bhcm0uY29tPg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBzZXJpZXMgaW50cm9kdWNlcyBhIG5l
dyBmZWF0dXJlOiBzZXR0aW5nIHVwIHN0YXRpYyBzaGFyZWQNCj4gPiBtZW1vcnkgb24gYSBkb20w
bGVzcyBzeXN0ZW0sIHRocm91Z2ggZGV2aWNlIHRyZWUgY29uZmlndXJhdGlvbi4NCj4gPg0KPiA+
IFRoaXMgY29tbWl0IHBhcnNlcyBzaGFyZWQgbWVtb3J5IG5vZGUgYXQgYm9vdC10aW1lLCBhbmQg
cmVzZXJ2ZSBpdCBpbg0KPiA+IGJvb3RpbmZvLnJlc2VydmVkX21lbSB0byBhdm9pZCBvdGhlciB1
c2UuDQo+ID4NCj4gPiBUaGlzIGNvbW1pdHMgcHJvcG9zZXMgYSBuZXcgS2NvbmZpZyBDT05GSUdf
U1RBVElDX1NITSB0byB3cmFwDQo+ID4gc3RhdGljLXNobS1yZWxhdGVkIGNvZGVzLCBhbmQgdGhp
cyBvcHRpb24gZGVwZW5kcyBvbiBzdGF0aWMgbWVtb3J5KA0KPiA+IENPTkZJR19TVEFUSUNfTUVN
T1JZKS4gVGhhdCdzIGJlY2F1c2UgdGhhdCBsYXRlciB3ZSB3YW50IHRvIHJldXNlIGENCj4gPiBm
ZXcgaGVscGVycywgZ3VhcmRlZCB3aXRoIENPTkZJR19TVEFUSUNfTUVNT1JZLCBsaWtlDQo+ID4g
YWNxdWlyZV9zdGF0aWNtZW1fcGFnZXMsIGV0Yywgb24gc3RhdGljIHNoYXJlZCBtZW1vcnkuDQo+
ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8cGVubnkuemhlbmdAYXJtLmNvbT4N
Cj4gPiAtLS0NCj4gPiB2NiBjaGFuZ2U6DQo+ID4gLSB3aGVuIGhvc3QgcGh5c2ljYWwgYWRkcmVz
cyBpcyBvbW1pdGVkLCBvdXRwdXQgdGhlIGVycm9yIG1lc3NhZ2UNCj4gPiBzaW5jZSB4ZW4gZG9l
c24ndCBzdXBwb3J0IGl0IGF0IHRoZSBtb21lbnQNCj4gPiAtIGFkZCB0aGUgZm9sbG93aW5nIGNo
ZWNrOiAxKSBUaGUgc2htIElEIG1hdGNoZXMgYW5kIHRoZSByZWdpb24NCj4gPiBleGFjdGx5IG1h
dGNoDQo+ID4gMikgVGhlIHNobSBJRCBkb2Vzbid0IG1hdGNoIGFuZCB0aGUgcmVnaW9uIGRvZXNu
J3Qgb3ZlcmxhcA0KPiA+IC0gY2hhbmdlIGl0IHRvICJ1bnNpZ25lZCBpbnQiIHRvIGJlIGFsaWdu
ZWQgd2l0aCBucl9iYW5rcw0KPiA+IC0gY2hlY2sgdGhlIGxlbiBvZiB0aGUgcHJvcGVydHkgdG8g
Y29uZmlybSBpcyBpdCBiaWcgZW5vdWdoIHRvIGNvbnRhaW4NCj4gPiAicGFkZHIiLCAic2l6ZSIs
IGFuZCAiZ2FkZHIiDQo+ID4gLSBzaG1faWQgZGVmaW5lZCBiZWZvcmUgbnJfc2htX2RvbWFpbiwg
c28gd2UgY291bGQgcmUtdXNlIHRoZSBleGlzdGluZw0KPiA+IGhvbGUgYW5kIGF2b2lkIGluY3Jl
YXNpbmcgdGhlIHNpemUgb2YgdGhlIHN0cnVjdHVyZS4NCj4gPiAtIGNoYW5nZSAibnJfc2htX2Rv
bWFpbiIgdG8gIm5yX3NobV9ib3Jyb3dlcnMiLCB0byBub3QgaW5jcmVtZW50IGlmDQo+ID4gdGhl
IHJvbGUgaXMgb3duZXIgaW4gcGFyc2luZyBjb2RlDQo+ID4gLSBtYWtlICJ4ZW4sc2htX2lkIiBw
cm9wZXJ0eSBhcyBhcmJpdHJhcnkgc3RyaW5nLCB3aXRoIGEgc3RyaWN0IGxpbWl0DQo+ID4gb24g
dGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzLCBNQVhfU0hNX0lEX0xFTkdUSA0KPiA+IC0tLQ0KPiA+
IHY1IGNoYW5nZToNCj4gPiAtIG5vIGNoYW5nZQ0KPiA+IC0tLQ0KPiA+IHY0IGNoYW5nZToNCj4g
PiAtIG5pdCBmaXggb24gZG9jDQo+ID4gLS0tDQo+ID4gdjMgY2hhbmdlOg0KPiA+IC0gbWFrZSBu
cl9zaG1fZG9tYWluIHVuc2lnbmVkIGludA0KPiA+IC0tLQ0KPiA+IHYyIGNoYW5nZToNCj4gPiAt
IGRvY3VtZW50IHJlZmluZW1lbnQNCj4gPiAtIHJlbW92ZSBiaXRtYXAgYW5kIHVzZSB0aGUgaXRl
cmF0aW9uIHRvIGNoZWNrDQo+ID4gLSBhZGQgYSBuZXcgZmllbGQgbnJfc2htX2RvbWFpbiB0byBr
ZWVwIHRoZSBudW1iZXIgb2Ygc2hhcmVkIGRvbWFpbg0KPiA+IC0tLQ0KPiA+ICAgZG9jcy9taXNj
L2FybS9kZXZpY2UtdHJlZS9ib290aW5nLnR4dCB8IDEyNCArKysrKysrKysrKysrKysrKysrKw0K
PiA+ICAgeGVuL2FyY2gvYXJtL0tjb25maWcgICAgICAgICAgICAgICAgICB8ICAgNiArDQo+ID4g
ICB4ZW4vYXJjaC9hcm0vYm9vdGZkdC5jICAgICAgICAgICAgICAgIHwgMTU3ICsrKysrKysrKysr
KysrKysrKysrKysrKysrDQo+ID4gICB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vc2V0dXAuaCAg
ICAgIHwgICA5ICsrDQo+ID4gICA0IGZpbGVzIGNoYW5nZWQsIDI5NiBpbnNlcnRpb25zKCspDQo+
ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS9ib290aW5nLnR4
dA0KPiA+IGIvZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS9ib290aW5nLnR4dA0KPiA+IGluZGV4
IDk4MjUzNDE0YjguLjgwMTNmYjk4ZmUgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jcy9taXNjL2FybS9k
ZXZpY2UtdHJlZS9ib290aW5nLnR4dA0KPiA+ICsrKyBiL2RvY3MvbWlzYy9hcm0vZGV2aWNlLXRy
ZWUvYm9vdGluZy50eHQNCj4gPiBAQCAtMzc4LDMgKzM3OCwxMjcgQEAgZGV2aWNlLXRyZWU6DQo+
ID4NCj4gPiAgIFRoaXMgd2lsbCByZXNlcnZlIGEgNTEyTUIgcmVnaW9uIHN0YXJ0aW5nIGF0IHRo
ZSBob3N0IHBoeXNpY2FsIGFkZHJlc3MNCj4gPiAgIDB4MzAwMDAwMDAgdG8gYmUgZXhjbHVzaXZl
bHkgdXNlZCBieSBEb21VMS4NCj4gPiArDQo+ID4gK1N0YXRpYyBTaGFyZWQgTWVtb3J5DQo+ID4g
Kz09PT09PT09PT09PT09PT09PT09DQo+ID4gKw0KPiA+ICtUaGUgc3RhdGljIHNoYXJlZCBtZW1v
cnkgZGV2aWNlIHRyZWUgbm9kZXMgYWxsb3cgdXNlcnMgdG8gc3RhdGljYWxseQ0KPiA+ICtzZXQg
dXAgc2hhcmVkIG1lbW9yeSBvbiBkb20wbGVzcyBzeXN0ZW0sIGVuYWJsaW5nIGRvbWFpbnMgdG8g
ZG8NCj4gPiArc2htLWJhc2VkIGNvbW11bmljYXRpb24uDQo+ID4gKw0KPiA+ICstIGNvbXBhdGli
bGUNCj4gPiArDQo+ID4gKyAgICAieGVuLGRvbWFpbi1zaGFyZWQtbWVtb3J5LXYxIg0KPiA+ICsN
Cj4gPiArLSB4ZW4sc2htLWlkDQo+ID4gKw0KPiA+ICsgICAgQW4gYXJiaXRyYXJ5IHN0cmluZyB0
aGF0IHJlcHJlc2VudHMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBzaGFyZWQNCj4gPiAr
ICAgIG1lbW9yeSByZWdpb24sIHdpdGggYSBzdHJpY3QgbGltaXQgb24gdGhlIG51bWJlciBvZiBj
aGFyYWN0ZXJzKFwwDQo+IGluY2x1ZGVkKSwNCj4gPiArICAgIGBNQVhfU0hNX0lEX0xFTkdUSCgx
NilgLiBlLmcuICJ4ZW4sc2htLWlkID0gIm15LXNoYXJlZC1tZW0tMSIiLg0KPiA+ICsNCj4gPiAr
LSB4ZW4sc2hhcmVkLW1lbQ0KPiA+ICsNCj4gPiArICAgIEFuIGFycmF5IHRha2VzIGEgcGh5c2lj
YWwgYWRkcmVzcywgd2hpY2ggaXMgdGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUNCj4gPiArICAgIHNo
YXJlZCBtZW1vcnkgcmVnaW9uIGluIGhvc3QgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSwgYSBzaXpl
LCBhbmQgYQ0KPiBndWVzdA0KPiA+ICsgICAgcGh5c2ljYWwgYWRkcmVzcywgYXMgdGhlIHRhcmdl
dCBhZGRyZXNzIG9mIHRoZSBtYXBwaW5nLg0KPiA+ICsgICAgZS5nLiB4ZW4sc2hhcmVkLW1lbSA9
IDwgW2hvc3QgcGh5c2ljYWwgYWRkcmVzc10gW3NpemVdIFtndWVzdA0KPiA+ICsgYWRkcmVzc10g
Pg0KPiANCj4gWW91ciBpbXBsZW1lbnRhdGlvbiBiZWxvdyBpcyBjaGVja2luZyBmb3Igb3Zlcmxh
cCBhbmQgYWxzbyBoYXZlIHNvbWUNCj4gcmVzdHJpY3Rpb24uIENhbiB0aGV5IGJlIGRvY3VtZW50
ZWQgaW4gdGhlIGJpbmRpbmc/DQo+IA0KPiA+ICsNCj4gPiArICAgIFRoZSBudW1iZXIgb2YgY2Vs
bHMgZm9yIHRoZSBob3N0IGFkZHJlc3MgKGFuZCBzaXplKSBpcyB0aGUgc2FtZSBhcyB0aGUNCj4g
PiArICAgIGd1ZXN0IHBzZXVkby1waHlzaWNhbCBhZGRyZXNzIGFuZCB0aGV5IGFyZSBpbmhlcml0
ZWQgZnJvbSB0aGUgcGFyZW50DQo+IG5vZGUuDQo+IA0KPiBJbiB2NSwgd2UgZGlzY3Vzc2VkIHRv
IGhhdmUgdGhlIGhvc3QgYWRkcmVzcyBvcHRpb25hbC4gSG93ZXZlciwgdGhlIGJpbmRpbmcNCj4g
aGFzIG5vdCBiZWVuIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGF0LiBOb3RlIHRoYXQgSSBhbSBub3Qg
YXNraW5nIHRvIGltcGxlbWVudCwNCj4gYnV0IGluc3RlYWQgcmVxdWVzdCB0aGF0IHRoZSBiaW5k
aW5nIGNhbiBiZSB1c2VkIGZvciBzdWNoIHNldHVwLg0KPiANCg0KSG93IGFib3V0Og0KIg0KSG9z
dCBwaHlzaWNhbCBhZGRyZXNzIGNvdWxkIGJlIG9taXR0ZWQgYnkgdXNlcnMsIGFuZCBsZXQgWGVu
IGRlY2lkZSB3aGVyZSBpdCBsb2NhdGVzLg0KIg0KRG8geW91IHRoaW5rIEkgc2hhbGwgZnVydGhl
ciBwb2ludCBvdXQgdGhhdCByaWdodCBub3csIHRoaXMgcGFydCBmZWF0dXJlIGlzIG5vdCBpbXBs
ZW1lbnRlZA0KaW4gY29kZXM/DQoNCj4gPiBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9zZXR1
cC5oDQo+IGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3NldHVwLmgNCj4gPiBpbmRleCAyYmIw
MWVjZmE4Li4zOWQ0ZTkzYjhiIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9zZXR1cC5oDQo+ID4gKysrIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3NldHVwLmgN
Cj4gPiBAQCAtMjMsMTAgKzIzLDE5IEBAIHR5cGVkZWYgZW51bSB7DQo+ID4gICB9ICBib290bW9k
dWxlX2tpbmQ7DQo+ID4NCj4gPg0KPiA+ICsjaWZkZWYgQ09ORklHX1NUQVRJQ19TSE0NCj4gPiAr
LyogSW5kaWNhdGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzKFwwIGluY2x1ZGVk
KSBmb3Igc2htX2lkDQo+ID4gKyovICNkZWZpbmUgTUFYX1NITV9JRF9MRU5HVEggMTYgI2VuZGlm
DQo+IA0KPiBJcyB0aGUgI2lmZGVmIHJlYWxseSBuZWVkZWQ/DQo+IA0KPiA+ICsNCj4gPiAgIHN0
cnVjdCBtZW1iYW5rIHsNCj4gPiAgICAgICBwYWRkcl90IHN0YXJ0Ow0KPiA+ICAgICAgIHBhZGRy
X3Qgc2l6ZTsNCj4gPiAgICAgICBib29sIHhlbl9kb21haW47IC8qIHdoZXRoZXIgdGhlIG1lbW9y
eSBiYW5rIGlzIGJvdW5kIHRvIGEgWGVuDQo+ID4gZG9tYWluLiAqLw0KPiA+ICsjaWZkZWYgQ09O
RklHX1NUQVRJQ19TSE0NCj4gPiArICAgIGNoYXIgc2htX2lkW01BWF9TSE1fSURfTEVOR1RIXTsN
Cj4gPiArICAgIHVuc2lnbmVkIGludCBucl9zaG1fYm9ycm93ZXJzOw0KPiA+ICsjZW5kaWYNCj4g
PiAgIH07DQo+IA0KPiBJZiBJIGNhbGN1bGF0ZWQgcmlnaHQsIHRoZSBzdHJ1Y3R1cmUgd2lsbCBn
cm93IGZyb20gMjQgdG8gNDAgYnl0ZXMuIEF0IHRoZQ0KPiBtb21lbnQsIHRoaXMgaXMgcHJvdGVj
dGVkIHdpdGggQ09ORklHX1NUQVRJQ19TSE0gd2hpY2ggaXMgdW5zdXBwb3J0ZWQuDQo+IEhvd2V2
ZXIsIEkgdGhpbmsgd2Ugd2lsbCBuZWVkIHRvIGRvIHNvbWV0aGluZyBhcyB3ZSBjYW4ndCBjb250
aW51ZSB0byBncm93DQo+ICdtZW1iYW5rJyBsaWtlIHRoYXQuDQo+IA0KPiBJIGRvbid0IGhhdmUg
YSBxdWljayBzdWdnZXN0aW9uIGZvciA0LjE3ICh0aGUgZmVhdHVyZSBmcmVlemUgaXMgaW4gYSB3
ZWVrKS4gTG9uZw0KPiB0ZXJtLCBJIHRoaW5rIHdlIHdpbGwgd2FudCB0byBjb25zaWRlciB0byBt
b3ZlIHRoZSBzaG0gSUQgaW4gYSBzZXBhcmF0ZSBhcnJheQ0KPiB0aGF0IGNvdWxkIGJlIHJlZmVy
ZW5jZWQgaGVyZS4NCj4gDQo+IFRoZSBvdGhlciBzb2x1dGlvbiB3b3VsZCBiZSB0byBoYXZlIHRo
ZSBzaGFyZWQgbWVtb3J5IHJlZ2lvbnMgaW4gYQ0KPiBzZXBhcmF0ZSBhcnJheS4gVGhleSB3b3Vs
ZCBoYXZlIHRoZWlyIG93biBzdHJ1Y3R1cmUgd2hpY2ggd291bGQgZWl0aGVyDQo+IGVtYmVkZGVk
ICJtZW1iYW5rIiBvciBjb250YWluIGEgcG9pbnRlci9pbmRleCB0byB0aGUgYmFuay4NCj4gDQoN
Ck9rLCBzbyBvdGhlciB0aGFuIHRoaXMgZml4aW5nLCBvdGhlcnMgd2lsbCBiZSBhZGRyZXNzZWQg
aW4gdGhlIG5leHQgc2VyaWUuIEFuZCB0aGlzDQpwYXJ0IGZpeGluZyB3aWxsIGJlIGludHJvZHVj
ZWQgaW4gYSBuZXcgZm9sbG93LXVwIHBhdGNoIHNlcmllIGFmdGVyIDQuMTcgcmVsZWFzZS4NCg0K
SSdtIGluIGZhdm9yIG9mIGludHJvZHVjaW5nIGEgbmV3IHN0cnVjdHVyZSB0byBjb250YWluIHNo
bS1yZWxhdGVkIGRhdGEgYW5kIGxldA0KJ21lbWJhbmsnIGNvbnRhaW5zIGEgcG9pbnRlciB0byBp
dCwgbGlrZQ0KYGBgDQogK3N0cnVjdCBzaG1fbWVtYmFuayB7DQorICAgIGNoYXIgc2htX2lkW01B
WF9TSE1fSURfTEVOR1RIXTsNCisgICAgdW5zaWduZWQgaW50IG5yX3NobV9ib3Jyb3dlcnM7DQor
fQ0KKw0KIHN0cnVjdCBtZW1iYW5rIHsNCiAgICAgcGFkZHJfdCBzdGFydDsNCiAgICAgcGFkZHJf
dCBzaXplOw0KICAgICBib29sIHhlbl9kb21haW47IC8qIHdoZXRoZXIgdGhlIG1lbW9yeSBiYW5r
IGlzIGJvdW5kIHRvIGEgWGVuIGRvbWFpbi4gKi8NCisgICAgc3RydWN0IHNobV9tZW1iYW5rICpz
aG07DQogfTsNCmBgYA0KVGhlbiBldmVyeSB0aW1lIHdlIGludHJvZHVjZSBhIG5ldyBmZWF0dXJl
IGhlcmUsIGZvbGxvd2luZyB0aGlzIHN0cmF0ZWd5LCAnbWVtYmFuaycgd2lsbA0KYXQgbW9zdCBn
cm93IDggYnl0ZXMgZm9yIHRoZSByZWZlcmVuY2UuDQoNCkknbSBvcGVuIHRvIHRoZSBkaXNjdXNz
aW9uIGFuZCB3aWxsIGxldCBpdCBkZWNpZGUgd2hhdCBpdCBmaW5hbGx5IHdpbGwgYmUuIDspDQoN
Cj4gQ2hlZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQoNCkNoZWVycywNCg0KLS0NClBl
bm55IFpoZW5nDQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 07:29:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 07:29:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394466.633873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSZCr-0006Rr-Kk; Mon, 29 Aug 2022 07:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394466.633873; Mon, 29 Aug 2022 07:29:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSZCr-0006Rk-Hv; Mon, 29 Aug 2022 07:29:13 +0000
Received: by outflank-mailman (input) for mailman id 394466;
 Mon, 29 Aug 2022 07:29:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7CYo=ZB=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1oSZCp-0006Re-Me
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 07:29:12 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4410a3f5-276c-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 09:29:07 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id cu2so14004044ejb.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Aug 2022 00:29:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4410a3f5-276c-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=VGRGpLybpaUoO4p/65puE/IRAsBFo00WEEBcsjWfKCo=;
        b=ai9Wt43G9/QTFFm69QzN2x7Q2VX3kBP36+m6hpr6VMvfgJbhk0BnWVlihq1BlUc4IE
         CddPYCMHvti/hPJWrN3jqNt6FK829lwJhnwaY7NeSCsQEN4mbouxVq3nn7txBC6Nk16b
         dEH1QBy6eW7q6DKfK2oHd+5lXDCDWlAM16sQ/1t4Dz82oY3w1OqYrCSce9L2exW5DE0e
         yE7FOFcljI8i9hPaQZx2YzX4phI9yI5ij6NjdfAN2btAS2b9EQu7pWdTbxyjdi44WPzq
         lis851VEfGNvD5o57Wv4In7NRc45QjOpLmJtvPdmxux7tzqd9hxGinlG3nDbK22+rcEI
         518Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=VGRGpLybpaUoO4p/65puE/IRAsBFo00WEEBcsjWfKCo=;
        b=luQq4n8zFv14vKiigoE32d+N6h/nSvlkOaKw0uNo33sMyfyv/qXWdkC1V/hcAK9m+R
         NolHy74WpT8UUulO9L1Q5AO+aGT5m63Ko0JdQh5ZdI6zJopV8Ud7n79kWoAboDW7YsrZ
         k8XnHyxJB3g7oL+9dv6sCqIp+sSHERG8uqu+ALIorgpzSW+38EJv0/u5P71mc9wvste/
         jEWyvnKrNjx/D07rYGemm2/yOu29zDpeT3TOd8B1kvXgFQ6eWqYZrhpkKj1SUBNmgeD8
         hWF1VI/j/dgH4aFTTBlkvTX0wkJmkl0K+ZeKW77vubLKDgWKhuoH6uEJ4aiEcwOlwVCo
         gBiA==
X-Gm-Message-State: ACgBeo3+lGPyHb3nn4iG4K8WRs7++UG77Kni7BEvlT+YGQ+5p3pOs2VC
	p4jaWkK3R4880CtoK4IVZSrtAdUeJ5wO4SdA4Tc=
X-Google-Smtp-Source: AA6agR4y5jMuv6jSZ5sSNKDFOe8I0a31QLtu17GG8VKaVs9ZVFePON0AKpaVKgKbQrKtO5lH4T6s0Wg5Ls5YXtAERVQ=
X-Received: by 2002:a17:906:505:b0:73d:b188:17d9 with SMTP id
 j5-20020a170906050500b0073db18817d9mr12172728eja.97.1661758146494; Mon, 29
 Aug 2022 00:29:06 -0700 (PDT)
MIME-Version: 1.0
References: <CALAP8f_L0ggPP=a6Xrywge2-ZTa3msqj0UKN8L66cC6ypNOAfw@mail.gmail.com>
 <2992A27C-B9F7-43BB-A7EA-CC5A3C8B5B22@arm.com> <CALAP8f_=NztOC9FKYnrCyknOM4jf27cRqjJ9+7UqOEH6qCAD8Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2208241401110.15247@ubuntu-linux-20-04-desktop>
 <CALAP8f-3jcGen82DaVrxRTF3TMDVMkLJA5Nsxu=HDYFDqTOOdQ@mail.gmail.com>
 <62627CF0-8594-4DEB-9F6C-37AECDE6B77B@arm.com> <CALAP8f_JqwRcPM9_xLT6U6xeHLDVNO5itA0ELC_pZ-xyUyKqtQ@mail.gmail.com>
 <E9EE3632-4591-4A2F-BF28-E69A961F1E5E@arm.com>
In-Reply-To: <E9EE3632-4591-4A2F-BF28-E69A961F1E5E@arm.com>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Mon, 29 Aug 2022 12:57:50 +0530
Message-ID: <CALAP8f99rDQMr24AoXBBEs0==mHJ-rxAZ5+5tqoo8HztxMiA2Q@mail.gmail.com>
Subject: Re: Porting xen on rpi4
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "julien@xen.org" <julien@xen.org>
Content-Type: multipart/alternative; boundary="00000000000006453605e75c3883"

--00000000000006453605e75c3883
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

Thanks for your support!

As suggested, I enabled BLK_DEV_LOOP in the kernel & now I can see loop
devices in the "/dev" directory.
I could see xen-guest-image-minimal loading but at the end it's throwing
error *INIT: cannot execute "/sbin/getty-wrapper"*

I found start_getty in the image but getty-wrapper is not there. while
exploring source could see getty-wrapper in meta-virtualization sysvinit,
but start_getty is in poky sysvinit.
Any suggestions on this issue? Adding full logs below for reference:

















































































































































































































































*root@raspberrypi4-64:~# xl create -c guest1.cfg Parsing config from
guest1.cfgBooting Linux on physical CPU 0x0000000000 [0x410fd083]Linux
version 5.15.54-yocto-standard (oe-user@oe-host) (aarch64-poky-linux-gcc
(GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220623) #1 SMP PREEMPT Thu Jul
14 18:52:13 UTC 2022random: crng init doneMachine model: XENVM-4.16Xen 4.16
support foundefi: UEFI not found.Zone ranges:  DMA      [mem
0x0000000040000000-0x000000007fffffff]  DMA32    empty  Normal
emptyMovable zone start for each nodeEarly memory node ranges  node   0:
[mem 0x0000000040000000-0x000000007fffffff]Initmem setup node 0 [mem
0x0000000040000000-0x000000007fffffff]cma: Reserved 16 MiB at
0x000000007dc00000psci: probing for conduit method from DT.psci: PSCIv1.1
detected in firmware.psci: Using standard PSCI v0.2 function IDspsci:
Trusted OS migration not requiredpsci: SMC Calling Convention v1.1percpu:
Embedded 27 pages/cpu s70360 r8192 d32040 u110592Detected PIPT I-cache on
CPU0CPU features: detected: Spectre-v2CPU features: detected: Spectre-v4CPU
features: detected: Spectre-BHBCPU features: detected: ARM errata 1165522,
1319367, or 1530923Built 1 zonelists, mobility grouping on.  Total pages:
258048Kernel command line: console=3Dhvc0 earlyprintk=3Dxen sync_console
root=3D/dev/xvdaUnknown kernel command line parameters "sync_console
earlyprintk=3Dxen", will be passed to user space.Dentry cache hash table
entries: 131072 (order: 8, 1048576 bytes, linear)Inode-cache hash table
entries: 65536 (order: 7, 524288 bytes, linear)mem auto-init: stack:off,
heap alloc:off, heap free:offMemory: 985220K/1048576K available (13376K
kernel code, 2060K rwdata, 4372K rodata, 4160K init, 714K bss, 46972K
reserved, 16384K cma-reserved)SLUB: HWalign=3D64, Order=3D0-3, MinObjects=
=3D0,
CPUs=3D1, Nodes=3D1ftrace: allocating 41866 entries in 164 pagesftrace:
allocated 164 pages with 3 groupstrace event string verifier disabledrcu:
Preemptible hierarchical RCU implementation.rcu: RCU event tracing is
enabled.rcu: RCU restricting CPUs from NR_CPUS=3D4 to nr_cpu_ids=3D1.
Trampoline variant of Tasks RCU enabled. Rude variant of Tasks RCU enabled.
Tracing variant of Tasks RCU enabled.rcu: RCU calculated value of
scheduler-enlistment delay is 25 jiffies.rcu: Adjusting geometry for
rcu_fanout_leaf=3D16, nr_cpu_ids=3D1NR_IRQS: 64, nr_irqs: 64, preallocated
irqs: 0Root IRQ handler: gic_handle_irqkfence: initialized - using 2097152
bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)arch_timer:
cp15 timer(s) running at 54.00MHz (virt).clocksource: arch_sys_counter:
mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123
nssched_clock: 56 bits at 54MHz, resolution 18ns, wraps every
4398046511102nsConsole: colour dummy device 80x25printk: console [hvc0]
enabledCalibrating delay loop (skipped), value calculated using timer
frequency.. 108.00 BogoMIPS (lpj=3D216000)pid_max: default: 32768 minimum:
301LSM: Security Framework initializinglandlock: Up and running.Mount-cache
hash table entries: 2048 (order: 2, 16384 bytes, linear)Mountpoint-cache
hash table entries: 2048 (order: 2, 16384 bytes, linear)xen:grant_table:
Grant tables using version 1 layoutGrant table initializedxen:events: Using
FIFO-based ABIXen: initializing cpu0rcu: Hierarchical SRCU
implementation.EFI services will not be available.smp: Bringing up
secondary CPUs ...smp: Brought up 1 node, 1 CPUSMP: Total of 1 processors
activated.CPU features: detected: 32-bit EL0 SupportCPU features: detected:
CRC32 instructionsCPU: All CPU(s) started at EL1alternatives: patching
kernel codedevtmpfs: initializedclocksource: jiffies: mask: 0xffffffff
max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 nsfutex hash table
entries: 256 (order: 2, 16384 bytes, linear)pinctrl core: initialized
pinctrl subsystemDMI not present or invalid.NET: Registered
PF_NETLINK/PF_ROUTE protocol familyDMA: preallocated 128 KiB GFP_KERNEL
pool for atomic allocationsDMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA
pool for atomic allocationsDMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32
pool for atomic allocationsthermal_sys: Registered thermal governor
'step_wise'hw-breakpoint: found 6 breakpoint and 4 watchpoint
registers.ASID allocator initialised with 65536 entriesSerial: AMBA PL011
UART driverraid6: neonx8   gen()  1585 MB/sraid6: neonx8   xor()  1177
MB/sraid6: neonx4   gen()  1701 MB/sraid6: neonx4   xor()  1279 MB/sraid6:
neonx2   gen()  1473 MB/sraid6: neonx2   xor()  1161 MB/sraid6: neonx1
gen()  1131 MB/sraid6: neonx1   xor()   929 MB/sraid6: int64x8  gen()   946
MB/sraid6: int64x8  xor()   555 MB/sraid6: int64x4  gen()   985 MB/sraid6:
int64x4  xor()   570 MB/sraid6: int64x2  gen()   914 MB/sraid6: int64x2
 xor()   506 MB/sraid6: int64x1  gen()   714 MB/sraid6: int64x1  xor()
377 MB/sraid6: using algorithm neonx4 gen() 1701 MB/sraid6: .... xor() 1279
MB/s, rmw enabledraid6: using neon recovery algorithmxen:balloon:
Initialising balloon driveriommu: Default domain type: Translated iommu:
DMA domain TLB invalidation policy: strict mode vgaarb: loadedSCSI
subsystem initializedusbcore: registered new interface driver usbfsusbcore:
registered new interface driver hubusbcore: registered new device driver
usbpps_core: LinuxPPS API ver. 1 registeredpps_core: Software ver. 5.3.6 -
Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it
<giometti@linux.it>>PTP clock support registeredBluetooth: Core ver
2.22NET: Registered PF_BLUETOOTH protocol familyBluetooth: HCI device and
connection manager initializedBluetooth: HCI socket layer
initializedBluetooth: L2CAP socket layer initializedBluetooth: SCO socket
layer initializedclocksource: Switched to clocksource arch_sys_counterNET:
Registered PF_INET protocol familyIP idents hash table entries: 16384
(order: 5, 131072 bytes, linear)tcp_listen_portaddr_hash hash table
entries: 512 (order: 1, 8192 bytes, linear)Table-perturb hash table
entries: 65536 (order: 6, 262144 bytes, linear)TCP established hash table
entries: 8192 (order: 4, 65536 bytes, linear)TCP bind hash table entries:
8192 (order: 5, 131072 bytes, linear)TCP: Hash tables configured
(established 8192 bind 8192)UDP hash table entries: 512 (order: 2, 16384
bytes, linear)UDP-Lite hash table entries: 512 (order: 2, 16384 bytes,
linear)NET: Registered PF_UNIX/PF_LOCAL protocol familyRPC: Registered
named UNIX socket transport module.RPC: Registered udp transport
module.RPC: Registered tcp transport module.RPC: Registered tcp NFSv4.1
backchannel transport module.PCI: CLS 0 bytes, default 64Initialise system
trusted keyringsworkingset: timestamp_bits=3D46 max_order=3D18
bucket_order=3D0NFS: Registering the id_resolver key typeKey type id_resolv=
er
registeredKey type id_legacy registeredKey type cifs.idmap registeredxor:
measuring software checksum speed   8regs           :  2522 MB/sec   32regs
         :  2865 MB/sec   arm64_neon      :  2319 MB/secxor: using
function: 32regs (2865 MB/sec)async_tx: api initialized (async)Key type
asymmetric registeredAsymmetric key parser 'x509' registeredBlock layer
SCSI generic (bsg) driver version 0.4 loaded (major 249)io scheduler
mq-deadline registeredio scheduler kyber registeredxen:xen_evtchn:
Event-channel device installedSerial: 8250/16550 driver, 1 ports, IRQ
sharing enabledcacheinfo: Unable to detect cache hierarchy for CPU 0brd:
module loadedloop: module loadedInvalid max_queues (4), will use default
max: 1.xen_netfront: Initialising Xen virtual ethernet driverusbcore:
registered new interface driver lan78xxusbcore: registered new interface
driver asixusbcore: registered new interface driver ax88179_178ausbcore:
registered new interface driver cdc_etherusbcore: registered new interface
driver smsc95xxusbcore: registered new interface driver net1080usbcore:
registered new interface driver cdc_subsetusbcore: registered new interface
driver zaurususbcore: registered new interface driver cdc_ncmusbcore:
registered new interface driver aqc111usbcore: registered new interface
driver usb-storagedevice-mapper: ioctl: 4.45.0-ioctl (2021-03-22)
initialised: dm-devel@redhat.com <dm-devel@redhat.com>sdhci: Secure Digital
Host Controller Interface driversdhci: Copyright(c) Pierre
Ossmansdhci-pltfm: SDHCI platform and OF driver helperusbcore: registered
new interface driver usbhidusbhid: USB HID core driveru32 classifier
input device check on    Actions configuredNET: Registered PF_INET6
protocol familySegment Routing with IPv6In-situ OAM (IOAM) with IPv6sit:
IPv6, IPv4 and MPLS over IPv4 tunneling driverNET: Registered PF_PACKET
protocol familyBridge firewalling registeredlib80211: common routines for
IEEE802.11 driversKey type dns_resolver registeredLoading compiled-in X.509
certificatesKey type ._fscrypt registeredKey type .fscrypt registeredKey
type fscrypt-provisioning registeredBtrfs loaded, crc32c=3Dcrc32c-generic,
zoned=3Dno, fsverity=3DnoKey type encrypted registeredxen_netfront: backend
supports XDP headroomblkfront: xvda: flush diskcache: enabled; persistent
grants: enabled; indirect descriptors: enabled; bounce buffer:
enabledprintk: console [netcon0] enablednetconsole: network logging
startedmd: Waiting for all devices to be available before autodetectmd: If
you don't use raid, use raid=3Dnoautodetectmd: Autodetecting RAID arrays.md=
:
autorun ...md: ... autorun DONE.EXT4-fs (xvda): mounting ext3 file system
using the ext4 subsystemEXT4-fs (xvda): INFO: recovery required on readonly
filesystemEXT4-fs (xvda): write access will be enabled during
recoveryEXT4-fs (xvda): recovery completeEXT4-fs (xvda): mounted filesystem
with ordered data mode. Opts: (null). Quota mode: disabled.VFS: Mounted
root (ext3 filesystem) readonly on device 202:0.devtmpfs: mountedFreeing
unused kernel memory: 4160KRun /sbin/init as init processINIT: version 3.01
bootingStarting udevudevd[128]: starting version 3.2.10udevd[129]: starting
eudev-3.2.10EXT4-fs (xvda): re-mounted. Opts: (null). Quota mode:
disabled.INIT: Entering runlevel: 5Configuring network interfaces...
udhcpc: started, v1.35.0udhcpc: broadcasting discoverIPv6: eth0: IPv6
duplicate address fe80::e65f:1ff:fecd:7bdb used by e4:5f:01:cd:7b:db
detected!udhcpc: broadcasting discoverudhcpc: broadcasting discoverudhcpc:
no lease, failingifup: failed to bring up eth0Starting syslogd/klogd:
doneStarting domain watchdog daemon: [  OK  ]INIT: cannot execute
"/sbin/getty-wrapper"INIT: cannot execute "/sbin/getty-wrapper"INIT: cannot
execute "/sbin/getty-wrapper"INIT: cannot execute
"/sbin/getty-wrapper"INIT: cannot execute "/sbin/getty-wrapper"INIT: cannot
execute "/sbin/getty-wrapper"INIT: cannot execute
"/sbin/getty-wrapper"INIT: cannot execute "/sbin/getty-wrapper"INIT: cannot
execute "/sbin/getty-wrapper"INIT: cannot execute
"/sbin/getty-wrapper"INIT: Id "X0" respawning too fast: disabled for 5
minutes*

Regards,
Vipul Kumar

On Thu, Aug 25, 2022 at 2:58 PM Bertrand Marquis <Bertrand.Marquis@arm.com>
wrote:

> Hi Vipul,
>
> > On 25 Aug 2022, at 09:56, Vipul Suneja <vsuneja63@gmail.com> wrote:
> >
> > Hi Bertrand,
> >
> > Thanks!
> >
> > No, I couldn't see /dev/loop0. Can you please guide me to create it?
>
> First thing to try is =E2=80=9Cmodprobe loop"
>
> It that does not work (ie module not found) you should check in your linu=
x
> config if BLK_DEV_LOOP is enabled.
>
> >
> > I didn't change dom0 configurations, it's default generated by yocto.
> >
> > I will append this "IMAGE_FSTYPES:append =3D " wic.gz=E2=80=9D" in loca=
l.conf &
> will update you.
> >
>
> Cheers
> Bertrand
>
> > Regards,
> > Vipul Kumar
> >
> > On Thu, Aug 25, 2022 at 1:25 PM Bertrand Marquis <
> Bertrand.Marquis@arm.com> wrote:
> > Hi Vipul,
> >
> > > On 25 Aug 2022, at 08:31, Vipul Suneja <vsuneja63@gmail.com> wrote:
> > >
> > > Hi Stefano,
> > >
> > > Thanks!
> > >
> > > As suggested, I changed the guest1.cfg file. Below are the contents o=
f
> config file
> > >
> > > kernel =3D "/home/root/Image"
> > > cmdline =3D "console=3Dhvc0 earlyprintk=3Dxen sync_console root=3D/de=
v/xvda"
> > > memory =3D "1024"
> > > name =3D "guest1"
> > > vcpus =3D 1
> > > serial=3D"pty"
> > > disk =3D [
> 'file:/home/root/xen-guest-image-minimal-raspberrypi4-64.ext3,xvda,w' ]
> > > vif=3D[ 'mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront', ]
> > >
> > > Its failing with below logs:
> > >
> > > root@raspberrypi4-64:~# xl create -c guest1.cfg
> > > Parsing config from guest1.cfg
> > > Invalid parameter `type'.
> > > libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus:
> /etc/xen/scripts/block add [742] exited with error status 1
> > > libxl: error: libxl_device.c:1265:device_hotplug_child_death_cb:
> script: losetup /dev/loop0
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3 failed
> > > libxl: error: libxl_create.c:1643:domcreate_launch_dm: Domain 1:unabl=
e
> to add disk devices
> > > libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus:
> /etc/xen/scripts/block remove [793] exited with error status 1
> > > libxl: error: libxl_device.c:1265:device_hotplug_child_death_cb:
> script: /etc/xen/scripts/block failed; error detected.
> > > libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain
> 1:Non-existant domain
> > > libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain
> 1:Unable to destroy guest
> > > libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain
> 1:Destruction of domain failed
> >
> > I think you have a loop issue.
> >
> > Could you check if /dev/loop0 exists ?
> >
> > Did you change something on the dom0 linux configuration generated by
> Yocto ?
> >
> > We are using Yocto on RPI4 here without any issue like that, only
> difference with
> > your setup is that we generate a wic image to have a real disk image
> instead of
> > using the ext3/ext4 one.
> >
> > Should be possible to do the same on your side by adding the following
> in local.conf:
> > IMAGE_FSTYPES:append =3D " wic.gz=E2=80=9D
> >
> > >
> > > Even after removing 'type=3Dnetfront' from vif it's failing.
> >
> > This option is only for hvm on x86, so you can remove it from your
> configuration.
> >
> > > One more doubt here, could this mac address be a dummy or actual here=
?
> >
> > This is a dummy one you set for the guest network interface and this is
> the Mac
> >  address other devices on your network will see so it must be fully
> valid (and
> >  not conflicting with other devices on your network).
> >
> > Cheers
> > Bertrand
> >
> > >
> > > Regards,
> > > Vipul Kumar
> > >
> > > On Thu, Aug 25, 2022 at 2:36 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> > > On Wed, 24 Aug 2022, Vipul Suneja wrote:
> > > > Hi Bertrand,
> > > > Thanks for your response!
> > > >
> > > > I builded the guest image on yocto kirkstone source which has FSTYP=
E
> ext3. Guest image generated is
> > > > xen-guest-image-minimal-raspberrypi4-64.ext3.
> > > > Below is the content of guest.cfg file
> > > >
> > > >    kernel =3D "/home/root/Image"
> > > >    cmdline =3D "console=3Dhvc0 earlyprintk=3Dxen sync_console
> root=3D/dev/xvda"
> > > >    memory =3D "256"
> > > >    name =3D "guest1"
> > > >    vcpus =3D 1
> > > >    serial=3D"pty"
> > > >    disk =3D [ 'phy:/dev/loop0,xvda,w' ]
> > > >    vif=3D[ 'mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfront=
', ]
> > > >
> > > > I am trying to mount xen-guest-image-minimal-raspberrypi4-64.ext3 t=
o
> a virtual device & then will run the guest VM by command "xl create -c
> > > > guest.cfg". But facing issue while trying to mount.
> > >
> > > You don't actually need to mount
> > > xen-guest-image-minimal-raspberrypi4-64.ext3 anywhere to use it to ru=
n
> > > your guest VM with "xl create".
> > >
> > > It is enough to do this instead, as Bertrand suggested:
> > >
> > >
> disk=3D["file:/path/to/file/xen-guest-image-minimal-raspberrypi4-64.ext3,=
xvda,w"]
> > >
> > > No need to call losetup or mount. Just xl create -c.
> > >
> > > More answers below.
> > >
> > >
> > > > Regards,
> > > > Vipul Kumar
> > > >
> > > > On Wed, Aug 24, 2022 at 8:06 PM Bertrand Marquis <
> Bertrand.Marquis@arm.com> wrote:
> > > >       Hi Vipul,
> > > >
> > > >       > On 24 Aug 2022, at 15:16, Vipul Suneja <vsuneja63@gmail.com=
>
> wrote:
> > > >       >
> > > >       > Hi,
> > > >       >
> > > >       > I am porting xen hypervisor on rpi4 with yocto kirkstone
> sources. Followed the basic steps to build xen-image-minimal &
> > > >       xen-guest-image-minimal. I could flash sd card with xen
> minimal image & could see dom0 up. I copied "Image",
> > > >       "xen-guest-image-minimal" .ext3 file & guest.cfg to
> "/home/root". After that created a bridge with below step:
> > > >       >
> > > >       > killall -SIGUSR2 udhcpc
> > > >       > brctl addbr xenbr0
> > > >       > brctl addif xenbr0 eth0
> > > >       > killall udhcpc
> > > >       > udhcpc -R -b -p /var/run/udhcpc.xenbr0.pid -i xenbr0
> > > >       >
> > > >       > Could see the xenbr0 interface up.
> > > >       > After that while mounting the guest file system it shows no
> such file or directory but the file is already there.
> > > >       >
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
> > > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
> 24652288 Mar  9 12:36 Image
> > > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>    247 Mar  9 12:37 guest1.cfg
> > > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>  868220928 Mar  9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# chmod 0777
> xen-guest-image-minimal-raspberrypi4-64.ext3
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# ls -l
> > > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
> 24652288 Mar  9 12:36 Image
> > > >       > [23:40:15] <Guest9046> -rw-r--r--    1 root     root
>    247 Mar  9 12:37 guest1.cfg
> > > >       > [23:40:15] <Guest9046> -rwxrwxrwx    1 root     root
>  868220928 Mar  9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 xen-guest-image-minimal-raspberrypi4-64.ext3
> > > >       > [23:40:15] <Guest9046> losetup:
> xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or directory
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
> > > >       > [23:40:15] <Guest9046> losetup:
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
> directory
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~#
> > > >       > [23:40:15] <Guest9046> root@raspberrypi4-64:~# losetup
> /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3
> > > >       > [23:40:15] <Guest9046> losetup:
> /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or
> directory
> > >
> > > It looks like either
> > > /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3 doesn't exist
> or
> > > /dev/loop0 doesn't exist
> > >
> > >
> > > >       Why do you want to mount the file system ?
> > > >
> > > >       Anyway this is not related to Xen, I guess you could start
> without xen and still not manage to mount the file like that (linux
> > > >       configuration issue ?)
> > > >
> > > >       What is the content of you guest.cfg
> > > >       How do you want to pass the guest root file system ?
> > > >
> > > >       Yocto should actually generate an img file and you could use
> it by having something like this in your guest.cfg:
> > > >       disk=3D["file:/home/root/guest1.img,xvda,w=E2=80=9D]
> > > >
> > > >       Cheers
> > > >       Bertrand
> > > >
> > > >       >
> > > >       > Any input on this issue will be really helpful, expecting
> your response.
> > > >       >
> > > >       > Thanks & Regards,
> > > >       > Vipul Kumar
> > > >
> > > >
> > > >
> >
>
>

--00000000000006453605e75c3883
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Bertrand,<div><br></div><div>Thanks for your support!</=
div><div><br></div><div>As suggested, I enabled BLK_DEV_LOOP in the kernel =
&amp; now I can see loop devices in the &quot;/dev&quot; directory.=C2=A0</=
div><div>I could see xen-guest-image-minimal loading but at the end it&#39;=
s throwing error <b style=3D"">INIT: cannot execute &quot;/sbin/getty-wrapp=
er&quot;</b></div><div><b style=3D""><br></b></div><div>I found start_getty=
 in the image but getty-wrapper is not there. while exploring source could =
see getty-wrapper in meta-virtualization sysvinit,</div><div>but start_gett=
y is in poky sysvinit.=C2=A0</div><div>Any suggestions=C2=A0on this issue? =
Adding full logs below for reference:</div><div><br></div><div><b>root@rasp=
berrypi4-64:~# xl create -c guest1.cfg <br>Parsing config from guest1.cfg<b=
r>Booting Linux on physical CPU 0x0000000000 [0x410fd083]<br>Linux version =
5.15.54-yocto-standard (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 11.3=
.0, GNU ld (GNU Binutils) 2.38.20220623) #1 SMP PREEMPT Thu Jul 14 18:52:13=
 UTC 2022<br>random: crng init done<br>Machine model: XENVM-4.16<br>Xen 4.1=
6 support found<br>efi: UEFI not found.<br>Zone ranges:<br>=C2=A0 DMA =C2=
=A0 =C2=A0 =C2=A0[mem 0x0000000040000000-0x000000007fffffff]<br>=C2=A0 DMA3=
2 =C2=A0 =C2=A0empty<br>=C2=A0 Normal =C2=A0 empty<br>Movable zone start fo=
r each node<br>Early memory node ranges<br>=C2=A0 node =C2=A0 0: [mem 0x000=
0000040000000-0x000000007fffffff]<br>Initmem setup node 0 [mem 0x0000000040=
000000-0x000000007fffffff]<br>cma: Reserved 16 MiB at 0x000000007dc00000<br=
>psci: probing for conduit method from DT.<br>psci: PSCIv1.1 detected in fi=
rmware.<br>psci: Using standard PSCI v0.2 function IDs<br>psci: Trusted OS =
migration not required<br>psci: SMC Calling Convention v1.1<br>percpu: Embe=
dded 27 pages/cpu s70360 r8192 d32040 u110592<br>Detected PIPT I-cache on C=
PU0<br>CPU features: detected: Spectre-v2<br>CPU features: detected: Spectr=
e-v4<br>CPU features: detected: Spectre-BHB<br>CPU features: detected: ARM =
errata 1165522, 1319367, or 1530923<br>Built 1 zonelists, mobility grouping=
 on.=C2=A0 Total pages: 258048<br>Kernel command line: console=3Dhvc0 early=
printk=3Dxen sync_console root=3D/dev/xvda<br>Unknown kernel command line p=
arameters &quot;sync_console earlyprintk=3Dxen&quot;, will be passed to use=
r space.<br>Dentry cache hash table entries: 131072 (order: 8, 1048576 byte=
s, linear)<br>Inode-cache hash table entries: 65536 (order: 7, 524288 bytes=
, linear)<br>mem auto-init: stack:off, heap alloc:off, heap free:off<br>Mem=
ory: 985220K/1048576K available (13376K kernel code, 2060K rwdata, 4372K ro=
data, 4160K init, 714K bss, 46972K reserved, 16384K cma-reserved)<br>SLUB: =
HWalign=3D64, Order=3D0-3, MinObjects=3D0, CPUs=3D1, Nodes=3D1<br>ftrace: a=
llocating 41866 entries in 164 pages<br>ftrace: allocated 164 pages with 3 =
groups<br>trace event string verifier disabled<br>rcu: Preemptible hierarch=
ical RCU implementation.<br>rcu: 	RCU event tracing is enabled.<br>rcu: 	RC=
U restricting CPUs from NR_CPUS=3D4 to nr_cpu_ids=3D1.<br>	Trampoline varia=
nt of Tasks RCU enabled.<br>	Rude variant of Tasks RCU enabled.<br>	Tracing=
 variant of Tasks RCU enabled.<br>rcu: RCU calculated value of scheduler-en=
listment delay is 25 jiffies.<br>rcu: Adjusting geometry for rcu_fanout_lea=
f=3D16, nr_cpu_ids=3D1<br>NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0<br=
>Root IRQ handler: gic_handle_irq<br>kfence: initialized - using 2097152 by=
tes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)<br>arch_timer:=
 cp15 timer(s) running at 54.00MHz (virt).<br>clocksource: arch_sys_counter=
: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123=
 ns<br>sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 43980465=
11102ns<br>Console: colour dummy device 80x25<br>printk: console [hvc0] ena=
bled<br>Calibrating delay loop (skipped), value calculated using timer freq=
uency.. 108.00 BogoMIPS (lpj=3D216000)<br>pid_max: default: 32768 minimum: =
301<br>LSM: Security Framework initializing<br>landlock: Up and running.<br=
>Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)<br>Mo=
untpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)<br>=
xen:grant_table: Grant tables using version 1 layout<br>Grant table initial=
ized<br>xen:events: Using FIFO-based ABI<br>Xen: initializing cpu0<br>rcu: =
Hierarchical SRCU implementation.<br>EFI services will not be available.<br=
>smp: Bringing up secondary CPUs ...<br>smp: Brought up 1 node, 1 CPU<br>SM=
P: Total of 1 processors activated.<br>CPU features: detected: 32-bit EL0 S=
upport<br>CPU features: detected: CRC32 instructions<br>CPU: All CPU(s) sta=
rted at EL1<br>alternatives: patching kernel code<br>devtmpfs: initialized<=
br>clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_=
ns: 7645041785100000 ns<br>futex hash table entries: 256 (order: 2, 16384 b=
ytes, linear)<br>pinctrl core: initialized pinctrl subsystem<br>DMI not pre=
sent or invalid.<br>NET: Registered PF_NETLINK/PF_ROUTE protocol family<br>=
DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations<br>DMA: pr=
eallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations<br>DMA: p=
reallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations<br>the=
rmal_sys: Registered thermal governor &#39;step_wise&#39;<br>hw-breakpoint:=
 found 6 breakpoint and 4 watchpoint registers.<br>ASID allocator initialis=
ed with 65536 entries<br>Serial: AMBA PL011 UART driver<br>raid6: neonx8 =
=C2=A0 gen() =C2=A01585 MB/s<br>raid6: neonx8 =C2=A0 xor() =C2=A01177 MB/s<=
br>raid6: neonx4 =C2=A0 gen() =C2=A01701 MB/s<br>raid6: neonx4 =C2=A0 xor()=
 =C2=A01279 MB/s<br>raid6: neonx2 =C2=A0 gen() =C2=A01473 MB/s<br>raid6: ne=
onx2 =C2=A0 xor() =C2=A01161 MB/s<br>raid6: neonx1 =C2=A0 gen() =C2=A01131 =
MB/s<br>raid6: neonx1 =C2=A0 xor() =C2=A0 929 MB/s<br>raid6: int64x8 =C2=A0=
gen() =C2=A0 946 MB/s<br>raid6: int64x8 =C2=A0xor() =C2=A0 555 MB/s<br>raid=
6: int64x4 =C2=A0gen() =C2=A0 985 MB/s<br>raid6: int64x4 =C2=A0xor() =C2=A0=
 570 MB/s<br>raid6: int64x2 =C2=A0gen() =C2=A0 914 MB/s<br>raid6: int64x2 =
=C2=A0xor() =C2=A0 506 MB/s<br>raid6: int64x1 =C2=A0gen() =C2=A0 714 MB/s<b=
r>raid6: int64x1 =C2=A0xor() =C2=A0 377 MB/s<br>raid6: using algorithm neon=
x4 gen() 1701 MB/s<br>raid6: .... xor() 1279 MB/s, rmw enabled<br>raid6: us=
ing neon recovery algorithm<br>xen:balloon: Initialising balloon driver<br>=
iommu: Default domain type: Translated <br>iommu: DMA domain TLB invalidati=
on policy: strict mode <br>vgaarb: loaded<br>SCSI subsystem initialized<br>=
usbcore: registered new interface driver usbfs<br>usbcore: registered new i=
nterface driver hub<br>usbcore: registered new device driver usb<br>pps_cor=
e: LinuxPPS API ver. 1 registered<br>pps_core: Software ver. 5.3.6 - Copyri=
ght 2005-2007 Rodolfo Giometti &lt;<a href=3D"mailto:giometti@linux.it">gio=
metti@linux.it</a>&gt;<br>PTP clock support registered<br>Bluetooth: Core v=
er 2.22<br>NET: Registered PF_BLUETOOTH protocol family<br>Bluetooth: HCI d=
evice and connection manager initialized<br>Bluetooth: HCI socket layer ini=
tialized<br>Bluetooth: L2CAP socket layer initialized<br>Bluetooth: SCO soc=
ket layer initialized<br>clocksource: Switched to clocksource arch_sys_coun=
ter<br>NET: Registered PF_INET protocol family<br>IP idents hash table entr=
ies: 16384 (order: 5, 131072 bytes, linear)<br>tcp_listen_portaddr_hash has=
h table entries: 512 (order: 1, 8192 bytes, linear)<br>Table-perturb hash t=
able entries: 65536 (order: 6, 262144 bytes, linear)<br>TCP established has=
h table entries: 8192 (order: 4, 65536 bytes, linear)<br>TCP bind hash tabl=
e entries: 8192 (order: 5, 131072 bytes, linear)<br>TCP: Hash tables config=
ured (established 8192 bind 8192)<br>UDP hash table entries: 512 (order: 2,=
 16384 bytes, linear)<br>UDP-Lite hash table entries: 512 (order: 2, 16384 =
bytes, linear)<br>NET: Registered PF_UNIX/PF_LOCAL protocol family<br>RPC: =
Registered named UNIX socket transport module.<br>RPC: Registered udp trans=
port module.<br>RPC: Registered tcp transport module.<br>RPC: Registered tc=
p NFSv4.1 backchannel transport module.<br>PCI: CLS 0 bytes, default 64<br>=
Initialise system trusted keyrings<br>workingset: timestamp_bits=3D46 max_o=
rder=3D18 bucket_order=3D0<br>NFS: Registering the id_resolver key type<br>=
Key type id_resolver registered<br>Key type id_legacy registered<br>Key typ=
e cifs.idmap registered<br>xor: measuring software checksum speed<br>=C2=A0=
 =C2=A08regs =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 : =C2=A02522 MB/sec<br>=C2=
=A0 =C2=A032regs =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: =C2=A02865 MB/sec<br>=
=C2=A0 =C2=A0arm64_neon =C2=A0 =C2=A0 =C2=A0: =C2=A02319 MB/sec<br>xor: usi=
ng function: 32regs (2865 MB/sec)<br>async_tx: api initialized (async)<br>K=
ey type asymmetric registered<br>Asymmetric key parser &#39;x509&#39; regis=
tered<br>Block layer SCSI generic (bsg) driver version 0.4 loaded (major 24=
9)<br>io scheduler mq-deadline registered<br>io scheduler kyber registered<=
br>xen:xen_evtchn: Event-channel device installed<br>Serial: 8250/16550 dri=
ver, 1 ports, IRQ sharing enabled<br>cacheinfo: Unable to detect cache hier=
archy for CPU 0<br>brd: module loaded<br>loop: module loaded<br>Invalid max=
_queues (4), will use default max: 1.<br>xen_netfront: Initialising Xen vir=
tual ethernet driver<br>usbcore: registered new interface driver lan78xx<br=
>usbcore: registered new interface driver asix<br>usbcore: registered new i=
nterface driver ax88179_178a<br>usbcore: registered new interface driver cd=
c_ether<br>usbcore: registered new interface driver smsc95xx<br>usbcore: re=
gistered new interface driver net1080<br>usbcore: registered new interface =
driver cdc_subset<br>usbcore: registered new interface driver zaurus<br>usb=
core: registered new interface driver cdc_ncm<br>usbcore: registered new in=
terface driver aqc111<br>usbcore: registered new interface driver usb-stora=
ge<br>device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised: <a href=
=3D"mailto:dm-devel@redhat.com">dm-devel@redhat.com</a><br>sdhci: Secure Di=
gital Host Controller Interface driver<br>sdhci: Copyright(c) Pierre Ossman=
<br>sdhci-pltfm: SDHCI platform and OF driver helper<br>usbcore: registered=
 new interface driver usbhid<br>usbhid: USB HID core driver<br>u32 classifi=
er<br>=C2=A0 =C2=A0 input device check on<br>=C2=A0 =C2=A0 Actions configur=
ed<br>NET: Registered PF_INET6 protocol family<br>Segment Routing with IPv6=
<br>In-situ OAM (IOAM) with IPv6<br>sit: IPv6, IPv4 and MPLS over IPv4 tunn=
eling driver<br>NET: Registered PF_PACKET protocol family<br>Bridge firewal=
ling registered<br>lib80211: common routines for IEEE802.11 drivers<br>Key =
type dns_resolver registered<br>Loading compiled-in X.509 certificates<br>K=
ey type ._fscrypt registered<br>Key type .fscrypt registered<br>Key type fs=
crypt-provisioning registered<br>Btrfs loaded, crc32c=3Dcrc32c-generic, zon=
ed=3Dno, fsverity=3Dno<br>Key type encrypted registered<br>xen_netfront: ba=
ckend supports XDP headroom<br>blkfront: xvda: flush diskcache: enabled; pe=
rsistent grants: enabled; indirect descriptors: enabled; bounce buffer: ena=
bled<br>printk: console [netcon0] enabled<br>netconsole: network logging st=
arted<br>md: Waiting for all devices to be available before autodetect<br>m=
d: If you don&#39;t use raid, use raid=3Dnoautodetect<br>md: Autodetecting =
RAID arrays.<br>md: autorun ...<br>md: ... autorun DONE.<br>EXT4-fs (xvda):=
 mounting ext3 file system using the ext4 subsystem<br>EXT4-fs (xvda): INFO=
: recovery required on readonly filesystem<br>EXT4-fs (xvda): write access =
will be enabled during recovery<br>EXT4-fs (xvda): recovery complete<br>EXT=
4-fs (xvda): mounted filesystem with ordered data mode. Opts: (null). Quota=
 mode: disabled.<br>VFS: Mounted root (ext3 filesystem) readonly on device =
202:0.<br>devtmpfs: mounted<br>Freeing unused kernel memory: 4160K<br>Run /=
sbin/init as init process<br>INIT: version 3.01 booting<br>Starting udev<br=
>udevd[128]: starting version 3.2.10<br>udevd[129]: starting eudev-3.2.10<b=
r>EXT4-fs (xvda): re-mounted. Opts: (null). Quota mode: disabled.<br>INIT: =
Entering runlevel: 5<br>Configuring network interfaces... udhcpc: started, =
v1.35.0<br>udhcpc: broadcasting discover<br>IPv6: eth0: IPv6 duplicate addr=
ess fe80::e65f:1ff:fecd:7bdb used by e4:5f:01:cd:7b:db detected!<br>udhcpc:=
 broadcasting discover<br>udhcpc: broadcasting discover<br>udhcpc: no lease=
, failing<br>ifup: failed to bring up eth0<br>Starting syslogd/klogd: done<=
br>Starting domain watchdog daemon: [ =C2=A0OK =C2=A0]<br>INIT: cannot exec=
ute &quot;/sbin/getty-wrapper&quot;<br>INIT: cannot execute &quot;/sbin/get=
ty-wrapper&quot;<br>INIT: cannot execute &quot;/sbin/getty-wrapper&quot;<br=
>INIT: cannot execute &quot;/sbin/getty-wrapper&quot;<br>INIT: cannot execu=
te &quot;/sbin/getty-wrapper&quot;<br>INIT: cannot execute &quot;/sbin/gett=
y-wrapper&quot;<br>INIT: cannot execute &quot;/sbin/getty-wrapper&quot;<br>=
INIT: cannot execute &quot;/sbin/getty-wrapper&quot;<br>INIT: cannot execut=
e &quot;/sbin/getty-wrapper&quot;<br>INIT: cannot execute &quot;/sbin/getty=
-wrapper&quot;<br>INIT: Id &quot;X0&quot; respawning too fast: disabled for=
 5 minutes</b><br></div><div><b><br></b></div><div>Regards,</div><div>Vipul=
 Kumar</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"=
gmail_attr">On Thu, Aug 25, 2022 at 2:58 PM Bertrand Marquis &lt;<a href=3D=
"mailto:Bertrand.Marquis@arm.com">Bertrand.Marquis@arm.com</a>&gt; wrote:<b=
r></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Vipul,<br>
<br>
&gt; On 25 Aug 2022, at 09:56, Vipul Suneja &lt;<a href=3D"mailto:vsuneja63=
@gmail.com" target=3D"_blank">vsuneja63@gmail.com</a>&gt; wrote:<br>
&gt; <br>
&gt; Hi Bertrand,<br>
&gt; <br>
&gt; Thanks!<br>
&gt; <br>
&gt; No, I couldn&#39;t see /dev/loop0. Can you please guide me to create i=
t?<br>
<br>
First thing to try is =E2=80=9Cmodprobe loop&quot;<br>
<br>
It that does not work (ie module not found) you should check in your linux =
config if BLK_DEV_LOOP is enabled.<br>
<br>
&gt; <br>
&gt; I didn&#39;t change dom0 configurations, it&#39;s default generated by=
 yocto.<br>
&gt;=C2=A0 <br>
&gt; I will append this &quot;IMAGE_FSTYPES:append =3D &quot; wic.gz=E2=80=
=9D&quot; in local.conf &amp; will update you.<br>
&gt; <br>
<br>
Cheers<br>
Bertrand<br>
<br>
&gt; Regards,<br>
&gt; Vipul Kumar<br>
&gt; <br>
&gt; On Thu, Aug 25, 2022 at 1:25 PM Bertrand Marquis &lt;<a href=3D"mailto=
:Bertrand.Marquis@arm.com" target=3D"_blank">Bertrand.Marquis@arm.com</a>&g=
t; wrote:<br>
&gt; Hi Vipul,<br>
&gt; <br>
&gt; &gt; On 25 Aug 2022, at 08:31, Vipul Suneja &lt;<a href=3D"mailto:vsun=
eja63@gmail.com" target=3D"_blank">vsuneja63@gmail.com</a>&gt; wrote:<br>
&gt; &gt; <br>
&gt; &gt; Hi Stefano,<br>
&gt; &gt; <br>
&gt; &gt; Thanks!<br>
&gt; &gt; <br>
&gt; &gt; As suggested, I changed the guest1.cfg file. Below are the conten=
ts of config file<br>
&gt; &gt; <br>
&gt; &gt; kernel =3D &quot;/home/root/Image&quot;<br>
&gt; &gt; cmdline =3D &quot;console=3Dhvc0 earlyprintk=3Dxen sync_console r=
oot=3D/dev/xvda&quot;<br>
&gt; &gt; memory =3D &quot;1024&quot;<br>
&gt; &gt; name =3D &quot;guest1&quot;<br>
&gt; &gt; vcpus =3D 1<br>
&gt; &gt; serial=3D&quot;pty&quot;<br>
&gt; &gt; disk =3D [ &#39;file:/home/root/xen-guest-image-minimal-raspberry=
pi4-64.ext3,xvda,w&#39; ]<br>
&gt; &gt; vif=3D[ &#39;mac=3D00:11:22:66:88:22,bridge=3Dxenbr0,type=3Dnetfr=
ont&#39;, ]<br>
&gt; &gt; <br>
&gt; &gt; Its failing with below logs:<br>
&gt; &gt; <br>
&gt; &gt; root@raspberrypi4-64:~# xl create -c guest1.cfg <br>
&gt; &gt; Parsing config from guest1.cfg<br>
&gt; &gt; Invalid parameter `type&#39;.<br>
&gt; &gt; libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus: /et=
c/xen/scripts/block add [742] exited with error status 1<br>
&gt; &gt; libxl: error: libxl_device.c:1265:device_hotplug_child_death_cb: =
script: losetup /dev/loop0 /home/root/xen-guest-image-minimal-raspberrypi4-=
64.ext3 failed<br>
&gt; &gt; libxl: error: libxl_create.c:1643:domcreate_launch_dm: Domain 1:u=
nable to add disk devices<br>
&gt; &gt; libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus: /et=
c/xen/scripts/block remove [793] exited with error status 1<br>
&gt; &gt; libxl: error: libxl_device.c:1265:device_hotplug_child_death_cb: =
script: /etc/xen/scripts/block failed; error detected.<br>
&gt; &gt; libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 1:=
Non-existant domain<br>
&gt; &gt; libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain=
 1:Unable to destroy guest<br>
&gt; &gt; libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 1:Des=
truction of domain failed<br>
&gt; <br>
&gt; I think you have a loop issue.<br>
&gt; <br>
&gt; Could you check if /dev/loop0 exists ?<br>
&gt; <br>
&gt; Did you change something on the dom0 linux configuration generated by =
Yocto ?<br>
&gt; <br>
&gt; We are using Yocto on RPI4 here without any issue like that, only diff=
erence with<br>
&gt; your setup is that we generate a wic image to have a real disk image i=
nstead of<br>
&gt; using the ext3/ext4 one.<br>
&gt; <br>
&gt; Should be possible to do the same on your side by adding the following=
 in local.conf:<br>
&gt; IMAGE_FSTYPES:append =3D &quot; wic.gz=E2=80=9D<br>
&gt; <br>
&gt; &gt; <br>
&gt; &gt; Even after removing &#39;type=3Dnetfront&#39; from vif it&#39;s f=
ailing. <br>
&gt; <br>
&gt; This option is only for hvm on x86, so you can remove it from your con=
figuration.<br>
&gt; <br>
&gt; &gt; One more doubt here, could this mac address be a dummy or actual =
here?<br>
&gt; <br>
&gt; This is a dummy one you set for the guest network interface and this i=
s the Mac<br>
&gt;=C2=A0 address other devices on your network will see so it must be ful=
ly valid (and<br>
&gt;=C2=A0 not conflicting with other devices on your network).<br>
&gt; <br>
&gt; Cheers<br>
&gt; Bertrand<br>
&gt; <br>
&gt; &gt; <br>
&gt; &gt; Regards,<br>
&gt; &gt; Vipul Kumar<br>
&gt; &gt; <br>
&gt; &gt; On Thu, Aug 25, 2022 at 2:36 AM Stefano Stabellini &lt;<a href=3D=
"mailto:sstabellini@kernel.org" target=3D"_blank">sstabellini@kernel.org</a=
>&gt; wrote:<br>
&gt; &gt; On Wed, 24 Aug 2022, Vipul Suneja wrote:<br>
&gt; &gt; &gt; Hi Bertrand,<br>
&gt; &gt; &gt; Thanks for your response!<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I builded the guest image on yocto kirkstone source which ha=
s FSTYPE ext3. Guest image generated is<br>
&gt; &gt; &gt; xen-guest-image-minimal-raspberrypi4-64.ext3.<br>
&gt; &gt; &gt; Below is the content of guest.cfg file<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 kernel =3D &quot;/home/root/Image&quot; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 cmdline =3D &quot;console=3Dhvc0 earlyprintk=3D=
xen sync_console root=3D/dev/xvda&quot; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 memory =3D &quot;256&quot; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 name =3D &quot;guest1&quot; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 vcpus =3D 1 <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 serial=3D&quot;pty&quot; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 disk =3D [ &#39;phy:/dev/loop0,xvda,w&#39; ] <b=
r>
&gt; &gt; &gt;=C2=A0 =C2=A0 vif=3D[ &#39;mac=3D00:11:22:66:88:22,bridge=3Dx=
enbr0,type=3Dnetfront&#39;, ]<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I am trying to mount xen-guest-image-minimal-raspberrypi4-64=
.ext3 to a virtual device &amp; then will run the guest VM by command &quot=
;xl create -c<br>
&gt; &gt; &gt; guest.cfg&quot;. But facing issue while trying to mount. <br=
>
&gt; &gt; <br>
&gt; &gt; You don&#39;t actually need to mount<br>
&gt; &gt; xen-guest-image-minimal-raspberrypi4-64.ext3 anywhere to use it t=
o run<br>
&gt; &gt; your guest VM with &quot;xl create&quot;. <br>
&gt; &gt; <br>
&gt; &gt; It is enough to do this instead, as Bertrand suggested:<br>
&gt; &gt; <br>
&gt; &gt; disk=3D[&quot;file:/path/to/file/xen-guest-image-minimal-raspberr=
ypi4-64.ext3,xvda,w&quot;]<br>
&gt; &gt; <br>
&gt; &gt; No need to call losetup or mount. Just xl create -c.<br>
&gt; &gt; <br>
&gt; &gt; More answers below.<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; &gt; Regards,<br>
&gt; &gt; &gt; Vipul Kumar<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; On Wed, Aug 24, 2022 at 8:06 PM Bertrand Marquis &lt;<a href=
=3D"mailto:Bertrand.Marquis@arm.com" target=3D"_blank">Bertrand.Marquis@arm=
.com</a>&gt; wrote:<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Hi Vipul,<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; On 24 Aug 2022, at 15:16, Vip=
ul Suneja &lt;<a href=3D"mailto:vsuneja63@gmail.com" target=3D"_blank">vsun=
eja63@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Hi,<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; I am porting xen hypervisor o=
n rpi4 with yocto kirkstone sources. Followed the basic steps to build xen-=
image-minimal &amp;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0xen-guest-image-minimal. I could f=
lash sd card with xen minimal image &amp; could see dom0 up. I copied &quot=
;Image&quot;,<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&quot;xen-guest-image-minimal&quot=
; .ext3 file &amp; guest.cfg to &quot;/home/root&quot;. After that created =
a bridge with below step:<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; killall -SIGUSR2 udhcpc<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; brctl addbr xenbr0<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; brctl addif xenbr0 eth0<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; killall udhcpc<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; udhcpc -R -b -p /var/run/udhc=
pc.xenbr0.pid -i xenbr0<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Could see the xenbr0 interfac=
e up.<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; After that while mounting the=
 guest file system it shows no such file or directory but the file is alrea=
dy there.<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~# ls -l<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
-rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =
24652288 Mar=C2=A0 9 12:36 Image<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
-rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0247 Mar=C2=A0 9 12:37 guest1.cfg<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
-rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A08=
68220928 Mar=C2=A0 9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~# chmod 0777 xen-guest-image-minimal-raspberrypi4-64.=
ext3<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~# ls -l<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
-rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =
24652288 Mar=C2=A0 9 12:36 Image<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
-rw-r--r--=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0247 Mar=C2=A0 9 12:37 guest1.cfg<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
-rwxrwxrwx=C2=A0 =C2=A0 1 root=C2=A0 =C2=A0 =C2=A0root=C2=A0 =C2=A0 =C2=A08=
68220928 Mar=C2=A0 9 12:39 xen-guest-image-minimal-raspberrypi4-64.ext3<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~# losetup /dev/loop0 xen-guest-image-minimal-raspberr=
ypi4-64.ext3<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
losetup: xen-guest-image-minimal-raspberrypi4-64.ext3: No such file or dire=
ctory<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image-minim=
al-raspberrypi4-64.ext3<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
losetup: /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such f=
ile or directory<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~#<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~#<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~#<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
root@raspberrypi4-64:~# losetup /dev/loop0 /home/root/xen-guest-image-minim=
al-raspberrypi4-64.ext3<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; [23:40:15] &lt;Guest9046&gt; =
losetup: /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3: No such f=
ile or directory<br>
&gt; &gt; <br>
&gt; &gt; It looks like either<br>
&gt; &gt; /home/root/xen-guest-image-minimal-raspberrypi4-64.ext3 doesn&#39=
;t exist or<br>
&gt; &gt; /dev/loop0 doesn&#39;t exist<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Why do you want to mount the file =
system ?<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Anyway this is not related to Xen,=
 I guess you could start without xen and still not manage to mount the file=
 like that (linux<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0configuration issue ?)<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0What is the content of you guest.c=
fg<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0How do you want to pass the guest =
root file system ?<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Yocto should actually generate an =
img file and you could use it by having something like this in your guest.c=
fg:<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0disk=3D[&quot;file:/home/root/gues=
t1.img,xvda,w=E2=80=9D]<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Cheers<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Bertrand<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Any input on this issue will =
be really helpful, expecting your response.<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Thanks &amp; Regards,<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Vipul Kumar<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt;<br>
&gt; <br>
<br>
</blockquote></div>

--00000000000006453605e75c3883--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 07:41:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 07:41:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394473.633884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSZOS-0000KM-Se; Mon, 29 Aug 2022 07:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394473.633884; Mon, 29 Aug 2022 07:41:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSZOS-0000KF-Px; Mon, 29 Aug 2022 07:41:12 +0000
Received: by outflank-mailman (input) for mailman id 394473;
 Mon, 29 Aug 2022 07:41:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pvgW=ZB=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oSZOR-0000K9-9F
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 07:41:11 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id efa964e6-276d-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 09:41:05 +0200 (CEST)
Received: by mail-pl1-x62e.google.com with SMTP id f12so7010298plb.11
 for <xen-devel@lists.xenproject.org>; Mon, 29 Aug 2022 00:41:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efa964e6-276d-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=bmN5lgEs9GLrIHc9ecBo9XA3ErhDbXe8LmCfkF5hFKI=;
        b=V8FtoxP3L6M6/mWACyUQsMqQWa1MlDGHu+cE41XjpjFyyPGX+b63kp6G/qTA5WzdJ/
         xbWHRGrU/GqJ/ZTsHWP4Yitjc2CMxKsgn2IpJ4Ph2TvlExC9UemMeLc9Y+P9lu2kpn19
         W9Maopu4QCLSRh8ZO48ASp/HxBVSMgmQrt6erzUxMfLj2Vi3FuGFDLM9Iy+0qp6pX/zE
         Cp56wgdfajJGse/nF2iPFwnvJEiWc/+E8oMqEKC8a4s32uxHSSZUKatpWLmKwRFSLLLA
         A2eilFvlNZ9b9zqaTDXqRzwHX8UVIi51zYJHy9M794rsKHReJH7JBo4i3n2LKi3ZUjyL
         NFhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=bmN5lgEs9GLrIHc9ecBo9XA3ErhDbXe8LmCfkF5hFKI=;
        b=VBxG65jcx7ETk63IDjx+NqbTrNv9oe8lkg+Y4KWAvPn9nS4difmgbmmWNDhLU6CRS3
         udys1cUwK3Ip1nxjjxiceHAknldYNl2Exsa+xwTQs0dHUanlLTeWnL0C4ghPJf3kp4Fg
         5vXfYUPELtblOHxpHjqh+kD9y7wciat+tbtj3ccOWBjPcNvmLQ2DuINU3DYVIIcG1S89
         J+HE+RoMCjg6A6NAkC7hzNTMp+GzV5LkZujeHFIVpT7U8/Rsxi6Z0a/AAEV4Xl6/Yg8Y
         dgOs4hSImWcSZY6ef15cDmYVwGqtvPLMRHQN14ak2+vK7an7YI0CWWjAtoi37crK4ak5
         8eog==
X-Gm-Message-State: ACgBeo2qDq+fwQU8/LfuslAaXdlVp6TLMHlBQTOSLCdTSXguZeSuPGYZ
	tKhWi+RFrNEbfCRL01ccXNYZAwmhmZ2HXF9bl05pNg==
X-Google-Smtp-Source: AA6agR44NgSDA/2+C6DXJj6nbrvkCMtDQRYIezf/VzzBUg0roPlHdlmcTw801/CCpR26Q6Iogc0SxR6KlTwj+dG3AAU=
X-Received: by 2002:a17:90a:cf8c:b0:1fd:7783:c340 with SMTP id
 i12-20020a17090acf8c00b001fd7783c340mr13064219pju.16.1661758863848; Mon, 29
 Aug 2022 00:41:03 -0700 (PDT)
MIME-Version: 1.0
References: <c1a29c17-415c-89e3-6cce-30031c18b753@amd.com>
In-Reply-To: <c1a29c17-415c-89e3-6cce-30031c18b753@amd.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 29 Aug 2022 09:40:53 +0200
Message-ID: <CAHUa44EbQNPVwJvM6b6raaqE0-H_Bb3jEWHE_hWjuLPaXeNh=Q@mail.gmail.com>
Subject: Re: [PATCH v5 2/9] xen/arm: move regpair_to_uint64() and
 uint64_to_regpair() to regs.h
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand.Marquis@arm.com, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>
Content-Type: text/plain; charset="UTF-8"

Hi Michal,

On Wed, Aug 24, 2022 at 10:23 AM Michal Orzel <michal.orzel@amd.com> wrote:
>
> Hi Jens,
>
> On 18/08/2022 12:55, Jens Wiklander wrote:
> > Moves the two helper functions regpair_to_uint64() and
> > uint64_to_regpair() from xen/arch/arm/tee/optee.c to the common arm
> > specific regs.h.
> >
> Would be good to add a justification that these helpers will be needed by subsequent patches.
> Also I can see that you make use of them only in the last patch so it would be natural to
> move this patch right before the one making use of these helpers.

I put it at the beginning of the patches to get prerequisites in place
before the tricky stuff, but I'll move it since that's preferred. I'll
add update the commit message.

>
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>
> As for the patch itself:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Thanks,
Jens

>
> ~Michal


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 07:50:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 07:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394479.633895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSZXN-0001mg-Np; Mon, 29 Aug 2022 07:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394479.633895; Mon, 29 Aug 2022 07:50:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSZXN-0001mZ-L3; Mon, 29 Aug 2022 07:50:25 +0000
Received: by outflank-mailman (input) for mailman id 394479;
 Mon, 29 Aug 2022 07:50:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSZXM-0001mP-5a; Mon, 29 Aug 2022 07:50:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSZXM-0007js-2F; Mon, 29 Aug 2022 07:50:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSZXL-0005fg-JG; Mon, 29 Aug 2022 07:50:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSZXL-0002KV-IP; Mon, 29 Aug 2022 07:50:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tHl3dtLn9jqbIIF8A3d0XMon4q3k66JasfMLYdlLPsM=; b=AoEDhhybrnvti/dnWxmXbIYQmf
	+MK+a46YlvqIqXiro1sr69ehfjovlX4xFX/HvOHwD0PF33STwri4qh1ySh7b3CjajLr969cZ3rCtE
	gqyUmCOqJnOlFD2a7eHhtJcDdVnbAewvwRKhZGZHQuRjej11/6WhmNBmCbVRHXeCpKlM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172838-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172838: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=373eff576e580b6bbc1e709cd3ca0d100783431f
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 07:50:23 +0000

flight 172838 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172838/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                373eff576e580b6bbc1e709cd3ca0d100783431f
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   25 days
Failing since        172152  2022-08-05 04:01:26 Z   24 days   55 attempts
Testing same since   172838  2022-08-28 22:13:04 Z    0 days    1 attempts

------------------------------------------------------------
1578 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 163868 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 08:47:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 08:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394491.633906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSaQI-0007SN-81; Mon, 29 Aug 2022 08:47:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394491.633906; Mon, 29 Aug 2022 08:47:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSaQI-0007SG-4t; Mon, 29 Aug 2022 08:47:10 +0000
Received: by outflank-mailman (input) for mailman id 394491;
 Mon, 29 Aug 2022 08:47:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Emil=ZB=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oSaQH-0007SA-EO
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 08:47:09 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60085.outbound.protection.outlook.com [40.107.6.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 286a4539-2777-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 10:47:05 +0200 (CEST)
Received: from AM6PR08CA0038.eurprd08.prod.outlook.com (2603:10a6:20b:c0::26)
 by AS4PR08MB7405.eurprd08.prod.outlook.com (2603:10a6:20b:4e0::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Mon, 29 Aug
 2022 08:47:03 +0000
Received: from AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:c0:cafe::78) by AM6PR08CA0038.outlook.office365.com
 (2603:10a6:20b:c0::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Mon, 29 Aug 2022 08:47:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT038.mail.protection.outlook.com (100.127.140.120) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 08:47:02 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Mon, 29 Aug 2022 08:47:02 +0000
Received: from 61d029a8a4ac.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9888F35F-5E34-4576-ADC7-13F6482207B2.1; 
 Mon, 29 Aug 2022 08:46:56 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 61d029a8a4ac.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Aug 2022 08:46:56 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AS8PR08MB6614.eurprd08.prod.outlook.com (2603:10a6:20b:338::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Mon, 29 Aug
 2022 08:46:54 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5566.021; Mon, 29 Aug 2022
 08:46:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 286a4539-2777-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mJLzIN/O7YwDzfm4ARt+9dkYuc2yCp07+l2Iek/JzRizIoOvh/juj3y2OLu0GxbmculbHrMUIm8eJJodcGLutnzxKoDMBSYd8xArp4iHa0UmrbTV9SQQ+W2nzHGDbft3jQdBou+GPwFR6d9C9b1cJkxN2Ma63PQNJ45bVoJLp5L7B1cQ+P3LYqKIwUj8LnJ4IgxN7U9JoOMUTgntfwU8ex4oj0CkcYeHlbrvKa7ChwfdYIMVZnN5vRKpeBCoxFBUylblWAf9GjBTKCikfI8cP3DYx4UfaFdTUjvXAPWMcZpv8iFrwSZZ7bCm3QEC9kowarcfOhtINhTCrMFZ/NohQQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j1YcX7aTy6VetbRllemKCAlm2k0/XB/FgLBgsk2WXsA=;
 b=CnyW166dbflaSS5ewV2Ikg7ue/6qLoumrxPVlvtEL71QyTJMJVIq1dHz+VW5/bvNf2Ao1jlcS2q6i8/QvmHYCBpTV4A5gJ02s9FCGnUbRGZMWsVl2lcXstJvYVwBBtY1KQIzNCsWEQX2gjgaXpK00yyZBhmMw+s1B+P1N0RK4v0SwRrHh++jCktG010ilTPHNAVQzwtEq9RMp2C+xSquWPWH3lIMSRU9TsD0R3sMnDgR9HZW82Dcx+BbkD2+LogAb9FrZ+zb0iqAW4v4Gy32eoVdAT+v8ndGad1HIdIfmiKSxgWKhCzJGwecEC5q+T/wuw16sY4kWFK1DRCukx+Kcw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j1YcX7aTy6VetbRllemKCAlm2k0/XB/FgLBgsk2WXsA=;
 b=lnsFtk68BH4G27YxTpudJc8nNgj9S9V3dBJrI6Kz870SpWhWubi6H3Gf4U1yz34p+jU+13a2rDyF5lm1+DAYDdJ1jGTxUozz6TmMHsCa1ERf8+nHycizXnjg+ARMSR5d8GUZOffkOqTGbrLImVM+yQ8zK9YSNeGWcsSgXgcm6uo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YLEMHZeBOS+TYj5xCFZ9y5guOgNShNP4H2zzZsIDjasc4pi2Ug2hKRNomydS3rLD5HHr8PHb6q1KVjr3yzMy+UNIL//yk8SC5kNDO+ozMDq+Sc1d0dHBvTjMNHQ1fDk+EEeadv1w4eC53vBv2cRw+PO8syU+HdBd+ybQt2l1N1AvGSSajatA/7RWwDjs0M4rZXGmbGin7Z+RBKXb5RoVLTxRC5SVlxJsVgfcFoirS3gn8wN/8tvYRxOJZ8Nln7P/1n9raJLGt/w0/NzVCm+Za0zrQxoKHF4fqHAwwBMq+TvrscdEzibBN+1W6YreAPwonAOMJ+6sk/soXKBwxoD8Vw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j1YcX7aTy6VetbRllemKCAlm2k0/XB/FgLBgsk2WXsA=;
 b=b9wr4IAkHdVZQ3SNL6uVDYquVxQMjcPbvpMrRz/axO/f+R5fPKQ8IFeHFVhdZvsHdcifnhg7WP6P/n/z0CMTnLakKE+Vu3iA8//Rr+x23IRf2HFnWE8EZppRqVbp3jTzK6Pjnfn8BlkAJkqzT/hzzwdsFESJQlnOLGdDmG13ZZP/ZUeA1IebGKIh2pj+EEVpGxeWkypVVTA0N3BwAJ0XgnUdqfdOzR8GPhw5HloZZ0nW9S/FLcliDo4RVuUOSIP1n11e+d382ol5nDlSb1MNonRlmwuDRi1LSKZ8RkiQl63IUCFi/p1uYBv23tu05HcjWdSZxw7hPXMYaY3k800QTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j1YcX7aTy6VetbRllemKCAlm2k0/XB/FgLBgsk2WXsA=;
 b=lnsFtk68BH4G27YxTpudJc8nNgj9S9V3dBJrI6Kz870SpWhWubi6H3Gf4U1yz34p+jU+13a2rDyF5lm1+DAYDdJ1jGTxUozz6TmMHsCa1ERf8+nHycizXnjg+ARMSR5d8GUZOffkOqTGbrLImVM+yQ8zK9YSNeGWcsSgXgcm6uo=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: nd <nd@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 1/6] xen/x86: Provide helpers for common code to access
 acpi_numa
Thread-Topic: [PATCH v3 1/6] xen/x86: Provide helpers for common code to
 access acpi_numa
Thread-Index: AQHYtdMuStODhqLRIUWXc955/EIfNq2/bFqAgAYumSA=
Date: Mon, 29 Aug 2022 08:46:53 +0000
Message-ID:
 <PAXPR08MB7420CC962329E885F2D3990F9E769@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-2-wei.chen@arm.com>
 <784c1d55-be94-eef9-eb96-fd8fd902db12@suse.com>
In-Reply-To: <784c1d55-be94-eef9-eb96-fd8fd902db12@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 1E639C232A3B3547A96F334FE04DE5F2.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 08ec7b58-a8d5-4531-c536-08da899b0b49
x-ms-traffictypediagnostic:
	AS8PR08MB6614:EE_|AM7EUR03FT038:EE_|AS4PR08MB7405:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 PBdwyORjWqkCjNb/DLRUxUEw2FVKpISEl1onqEyBCEdabc3f7uSH7sTNyoTMXTzC5CghBL3FKgU5p4Q7vJm4yzSSEhf+FnR4AwT3PKLetjVDM2lCzJtFE31dgbhJNMyIB3sCjtqBXfnmePqQpRAhrbzrAoPrRKF7VTQgkq3pMH9NKTUIC3a5AOfNrlL8z9zKlje/99XUfBLr35cODO/zL//+62diYh0phUzKfmmQVQl+PPYkzw6oxvJdvpPpTM5uTFV+S7BP8Glc8ghfqHwmDNbb1+y5x8yu2Z0Hrvcc9x/wWMiDClgUj8FkIT+hbf7a13WeHgVrNL4e3GlmcCO2ABax5LQ3agQlBMsRXmIs/HQHbyfxJtXVzMcXJ+zdfraUltB/F3pPpEaADOH2SJsj5jhbly5ifA4kHTen8ruS8ZswkHb8EtqusyXqv3jFC5aGByP2nEuf0NCKphDgTRzco8s0cySpvVo4L+C3F/OERc4/LcAqrVxftAaKpt0qLeJ+oi+hnL8P+3P1vF4n3D3ApBi3V+uM998ooXx6ZG5V1DK68GgCpIdvLrKYhgJtznVC2a0rO4Q9O4WAugT0CzNVaFXMTbzGao7Z04D2zAPAw8I1LscO/qhXISlH97gsFE8aXyLWAw6w4JMAZ676jtIPCsDMgtHR0MRL25EDAukHliULcpADJo9ltwfC1Td/l0+yB4mzRTcVnjw1uI7giyzvSc9xCZBwO+dTnF2GN5apawEzq89bc9oWAQHy7b/aKJCDcn7b6TtrjxzStmSjG3yEoQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(39860400002)(366004)(396003)(136003)(33656002)(6916009)(71200400001)(316002)(26005)(9686003)(2906002)(83380400001)(53546011)(6506007)(7696005)(186003)(86362001)(38070700005)(55016003)(54906003)(122000001)(478600001)(5660300002)(41300700001)(8936002)(38100700002)(52536014)(4326008)(66556008)(66476007)(66446008)(66946007)(64756008)(76116006)(8676002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6614
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	eaaaa247-f1f1-4501-c8ea-08da899b05b0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VoDMhaD23NaMdxedDz4KLWRqe61h9uIz2L0+HQEzoAIiXyFk7nE/sRR/QnSXV5fym6JaeE/2EWME9zrse+0vIGOqD+yvyHImct3ZpTTIGlIhL/gA/oOaqIFN6aagg1g1B0WGjz4L026sATHO/QVo2NdRHukHHZiyrm3W8mhRTbPoOxwvpRKXIWUMFjNd8Gk93kL++hdj6gftB4u1q5LMOw9rxGdqiq32uouKPGkAX0nGtZna8um1lb2QWe093DN68QGH4hIUNcKDUkLDJ0dQaHL4FSxApAmM4y51mCgTei0LrF4nzfgeX0z/rQVVM/CmZ/33QNOUfnD9hTBeGC0qZIGWkhobmGSbQglRMOj4Ear8px2iOj7SCb6Hq4C07/GlmMYtYa3fAN8C8PMPlWtPa2uxE2a0BNS0Xt9mQgIJWm/IFjcY9sZ0gnry0S49rxdX2968cH8Iy+N08TfAHXAE8Y1ALUrr/36B/7Ot9L9Qm4yJtf6EVRtyO60AUWDNvIOdqkK3LljurWj0YPvyNsPu5Ib2M9jQKMsIlU0EMNWBh2+R17YCQuKcNd93QKIQTEjPWxGeyLHUOzbyNrmVGvxLfeimGYMN0qDfEgUdMIVmXxMFXAgY/2q111DPE8l6ZAGdum+gt/IoAU7BkcsbRSm5N5kyZrUww1FYR9ecRIJldJCNvGBycKTCfI9eK47G6OfR5nUejifCU9xeqlc8F1fPh3vt03G6BcAeBpv+8nd/MBE2vF2l2yHtRp34zdi0rwTv5lCjj1bRo705/GAf/p959g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(136003)(346002)(396003)(40470700004)(36840700001)(46966006)(53546011)(52536014)(7696005)(26005)(6506007)(478600001)(9686003)(41300700001)(47076005)(83380400001)(186003)(336012)(2906002)(5660300002)(6862004)(8936002)(40460700003)(55016003)(54906003)(40480700001)(82310400005)(316002)(8676002)(70206006)(4326008)(70586007)(356005)(81166007)(82740400003)(86362001)(36860700001)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 08:47:02.8041
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 08ec7b58-a8d5-4531-c536-08da899b0b49
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7405

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDjmnIgyNeaXpSAxODoxOA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBuZCA8bmRAYXJtLmNvbT47
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUNCj4g
TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT47IFdlaSBMaXUgPHdsQHhlbi5vcmc+OyB4ZW4t
DQo+IGRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMg
MS82XSB4ZW4veDg2OiBQcm92aWRlIGhlbHBlcnMgZm9yIGNvbW1vbiBjb2RlIHRvDQo+IGFjY2Vz
cyBhY3BpX251bWENCj4gDQo+IE9uIDIyLjA4LjIwMjIgMDQ6NTgsIFdlaSBDaGVuIHdyb3RlOg0K
PiA+IC0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9udW1hLmgNCj4gPiArKysgYi94ZW4v
YXJjaC94ODYvaW5jbHVkZS9hc20vbnVtYS5oDQo+ID4gQEAgLTMyLDggKzMyLDkgQEAgZXh0ZXJu
IHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUpOw0KPiA+ICBleHRlcm4gdm9pZCBudW1hX2luaXRf
YXJyYXkodm9pZCk7DQo+ID4gIGV4dGVybiBib29sIG51bWFfb2ZmOw0KPiA+DQo+ID4gLQ0KPiA+
IC1leHRlcm4gaW50IHNyYXRfZGlzYWJsZWQodm9pZCk7DQo+ID4gK2V4dGVybiBpbnQgYXJjaF9u
dW1hX3NldHVwKGNvbnN0IGNoYXIgKm9wdCk7DQo+ID4gK2V4dGVybiBib29sIGFyY2hfbnVtYV9k
aXNhYmxlZChib29sIGluaXRfYXNfZGlzYWJsZSk7DQo+IA0KPiBXaGF0IGlzIHRoZSBwYXJhbWV0
ZXIgbmFtZSBpbnRlbmRlZCB0byBtZWFuPyBTaW5jZSB0aGUgb25seSBjYWxsZXINCj4gcGFzc2Vz
ICJmYWxzZSIsIHRoaXMgYWxzbyBpc24ndCByZWFsbHkgcG9zc2libGUgdG8gZ3Vlc3MgZnJvbSB0
aGUNCj4gdXNlKHMpIGluIHRoaXMgcGF0Y2guIEluIGFueSBldmVudCBwZXJoYXBzIGJlc3QgZm9y
IHRoZSBwYXJhbWV0ZXINCj4gdG8gYmUgaW50cm9kdWNlZCBvbmx5IG9uY2UgaXQncyBhY3R1YWxs
eSBuZWVkZWQuDQo+IA0KDQpUaGlzIHBhcmFtZXRlciB3aWxsIGJlIHVzZWQgaW4gcGF0Y2gjNSBh
bmQgc2V0IHRvIHRydWUsIEkgd2lsbCBpbnRyb2R1Y2UNCnRoaXMgcGFyYW1ldGVyIGluIHRoYXQg
cGF0Y2guDQoNCj4gPiAtLS0gYS94ZW4vYXJjaC94ODYvbnVtYS5jDQo+ID4gKysrIGIveGVuL2Fy
Y2gveDg2L251bWEuYw0KPiA+IEBAIC01MCw5ICs1MCwzMSBAQCBub2RlbWFza190IF9fcmVhZF9t
b3N0bHkgbm9kZV9vbmxpbmVfbWFwID0geyB7IFswXSA9DQo+IDFVTCB9IH07DQo+ID4gIGJvb2wg
bnVtYV9vZmY7DQo+ID4gIHM4IGFjcGlfbnVtYSA9IDA7DQo+ID4NCj4gPiAtaW50IHNyYXRfZGlz
YWJsZWQodm9pZCkNCj4gPiAraW50IF9faW5pdCBhcmNoX251bWFfc2V0dXAoY29uc3QgY2hhciAq
b3B0KQ0KPiA+ICB7DQo+ID4gLSAgICByZXR1cm4gbnVtYV9vZmYgfHwgYWNwaV9udW1hIDwgMDsN
Cj4gPiArI2lmZGVmIENPTkZJR19BQ1BJX05VTUENCj4gPiArICAgIGlmICggIXN0cm5jbXAob3B0
LCAibm9hY3BpIiwgNikgKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIG51bWFfb2ZmID0gZmFs
c2U7DQo+ID4gKyAgICAgICAgYWNwaV9udW1hID0gLTE7DQo+ID4gKyAgICAgICAgcmV0dXJuIDA7
DQo+IA0KPiBXaXRoIHRoaXMgInJldHVybiIgLi4uDQo+IA0KPiA+ICsgICAgfQ0KPiA+ICsgICAg
ZWxzZQ0KPiANCj4gLi4uIHRoaXMgImVsc2UiIGlzIHVubmVjZXNzYXJ5IGFuZCBoZW5jZSB3b3Vs
ZCBiZXR0ZXIgYmUgZHJvcHBlZCwNCj4gbm90IHRoZSBsZWFzdCB0byAuLi4NCj4gDQo+ID4gKyNl
bmRpZg0KPiA+ICsgICAgcmV0dXJuIC1FSU5WQUw7DQo+IA0KPiAuLi4gYXZvaWQgdGhlIG90aGVy
d2lzZSBhbWJpZ3VvdXMgaW5kZW50YXRpb24gb2YgdGhpcyBsaW5lLg0KPiANCg0KVGhpcyBpcyBh
IGdvb2Qgc3VnZ2VzdGlvbiwgY3VycmVudCBpbmRlbnRhdGlvbiBsb29rcyB3ZWlyZCwgSSB3aWxs
IGZpeCBhYm92ZSAzDQppbiBuZXh0IHZlcnNpb24uDQoNClRoYW5rcywNCldlaSBDaGUNCg0KPiBK
YW4NCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 09:04:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 09:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394498.633917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSagj-0001S1-RZ; Mon, 29 Aug 2022 09:04:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394498.633917; Mon, 29 Aug 2022 09:04:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSagj-0001Ru-OV; Mon, 29 Aug 2022 09:04:09 +0000
Received: by outflank-mailman (input) for mailman id 394498;
 Mon, 29 Aug 2022 09:04:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O3Zu=ZB=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1oSagi-0001Rn-5M
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 09:04:08 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8929c316-2779-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 11:04:06 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id bu22so8973914wrb.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Aug 2022 02:04:06 -0700 (PDT)
Received: from horizon.home (lfbn-gre-1-214-221.w90-112.abo.wanadoo.fr.
 [90.112.175.221]) by smtp.gmail.com with ESMTPSA id
 i20-20020a05600c2d9400b003a342933727sm8040952wmg.3.2022.08.29.02.04.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Aug 2022 02:04:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8929c316-2779-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=83hCYhTpJUqzvF+GGXyp/XooWdmfFOGxjThsG0346Fs=;
        b=BUix1ueGWHzJsQXFMXC0m/byILtaD6UlvwnP8MOyYIE/m5bYmFXHqQaEoh3zQ5osLY
         g+axCmjKplejM5EjgfXJdn18QkHkObF2tg0VJcta1tu3VNcfQGtMnaHDdp8uCZjsO6pr
         75dcsJneR+Qm54fKlg713U/ug/YZwELUAXn193hXYJq43LlK4QU0L+w3BO4h4KGrnLaE
         x/idDrxE4t3RNzh4YEZw8ocbKiBfJ9YR3SYD4SLHV85nmOgEY98a1rjWzRstdh3E4cuN
         gBylGtTaOWJpW/OJ1x0shZTLDfiuFLKBp7y+hqjjQkOFJw33DoCwm2UGm8JKG4EuQPWZ
         W8YA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=83hCYhTpJUqzvF+GGXyp/XooWdmfFOGxjThsG0346Fs=;
        b=BS0YKqWkunnuntmTSsBh0A4BeRWPeG8130pnlwYc4yrxeGajc81RSEY32dBA3j973N
         GBz57twJJN1Jvl1STQWxFn9rxBYT/Oc/GBWcTIMGeH5taMziLXyj11KVgCPjl3PsKKSr
         HOv/9wxXQ3nIdW7YX/oomQlsxYkIHxAZ+KnWGdjNUdj0poGFB/R8YxjCFkaCjXGQA9jd
         yS+LlxmIq04CzBJqH/sXP69NrZBOCs7q7qSW+ThVb3hbjL15xCsXRRBrjDutyiUeafqb
         OtUqVnQuEVzGZMe+yMmiCdFbhJH2EtQp5AM8SaTP6TOgwIQsmMjWnLGVvtEKLOepittE
         J5rg==
X-Gm-Message-State: ACgBeo3vWdvBUm/cTxbI9OpIC9D2fKCZJ79bINa6JmGGfLUjuCdCRHAZ
	oiMPE/p8GQ6JKpJXZqPfJgdv1Y0Mn8jEwg==
X-Google-Smtp-Source: AA6agR7EpcQJZZo2h4d09GzYa1az9k0Q1inlGRocyeDFqQY/Q8tOViag0CV1g2y7fu5aawuDgqDxdw==
X-Received: by 2002:adf:ffcc:0:b0:226:df89:73d2 with SMTP id x12-20020adfffcc000000b00226df8973d2mr446544wrs.612.1661763845519;
        Mon, 29 Aug 2022 02:04:05 -0700 (PDT)
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
X-Google-Original-From: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
To: xen-devel@lists.xenproject.org
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH v1] xen/docs: Document acquire resource interface
Date: Mon, 29 Aug 2022 11:03:51 +0200
Message-Id: <d28893ed5c617f6e350f755508f10ba5a12e7098.1661763622.git.matias.vara@vates.fr>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit creates a new doc to document the acquire resource interface. This
is a reference document.

Signed-off-by: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
---
Changes in v1:
- correct documentation about how mfns are allocated
- correct documentation about how mfns are released
- use the wording tool instead of pv tool
- fix typos
---
 .../acquire_resource_reference.rst            | 338 ++++++++++++++++++
 docs/hypervisor-guide/index.rst               |   2 +
 2 files changed, 340 insertions(+)
 create mode 100644 docs/hypervisor-guide/acquire_resource_reference.rst

diff --git a/docs/hypervisor-guide/acquire_resource_reference.rst b/docs/hypervisor-guide/acquire_resource_reference.rst
new file mode 100644
index 0000000000..d1989d2fd4
--- /dev/null
+++ b/docs/hypervisor-guide/acquire_resource_reference.rst
@@ -0,0 +1,338 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Acquire resource reference
+==========================
+
+Acquire resource allows you to share a resource between Xen and dom0.
+Resources are generally represented by pages that are mapped into user-space.
+These pages are accessed by Xen and belong to a domU. This document describes
+the api to build tools to access these resources. The document also describes
+the software components required to create and expose a domain's resource. This
+is not a tutorial or a how-to guide. It merely describes the machinery that is
+already described in the code itself.
+
+.. warning::
+
+    The code in this document may already be out of date, however it may
+    be enough to illustrate how the acquire resource interface works.
+
+
+Tool API
+-----------
+
+This section describes the api to map a resource in a user-space tool in dom0.
+The api is based on the following functions:
+
+* xenforeignmemory_open()
+
+* xenforeignmemory_resource_size()
+
+* xenforeignmemory_map_resource()
+
+* xenforeignmemory_unmap_resource()
+
+The ``xenforeignmemory_open()`` function gets the handler that is used by the
+rest of the functions:
+
+.. code-block:: c
+
+   fh = xenforeignmemory_open(NULL, 0);
+
+The ``xenforeignmemory_resource_size()`` function gets the size of the resource.
+For example, in the following code, we get the size of the
+``XENMEM_RESOURCE_VMTRACE_BUF``:
+
+.. code-block:: c
+
+    rc = xenforeignmemory_resource_size(fh, domid, XENMEM_resource_vmtrace_buf, vcpu, &size);
+
+The size of the resource is returned in ``size`` in bytes.
+
+The ``xenforeignmemory_map_resource()`` function maps a domain's resource. The
+function is declared as follows:
+
+.. code-block:: c
+
+    xenforeignmemory_resource_handle *xenforeignmemory_map_resource(
+        xenforeignmemory_handle *fmem, domid_t domid, unsigned int type,
+        unsigned int id, unsigned long frame, unsigned long nr_frames,
+        void **paddr, int prot, int flags);
+
+The size of the resource is in number of frames. For example, **QEMU** uses it
+to map the ioreq server between the domain and QEMU:
+
+.. code-block:: c
+
+    fres = xenforeignmemory_map_resource(xen_fmem, xen_domid, XENMEM_resource_ioreq_server,
+         state->ioservid, 0, 2, &addr, PROT_READ | PROT_WRITE, 0);
+
+
+The third parameter corresponds with the resource that we request from the
+domain, e.g., ``XENMEM_resource_ioreq_server``. The seventh parameter returns a
+pointer-to-pointer to the address of the mapped resource.
+
+Finally, the ``xenforeignmemory_unmap_resource()`` function unmaps the region:
+
+.. code-block:: c
+    :caption: tools/misc/xen-vmtrace.c
+
+    if ( fres && xenforeignmemory_unmap_resource(fh, fres) )
+        perror("xenforeignmemory_unmap_resource()");
+
+Exposing a domain's resource
+---------------------------------
+
+In this section, we describe how to build a new resource and expose it to dom0.
+Resources are defined in ``xen/include/public/memory.h``. In Xen-4.16, there
+are three resources:
+
+.. code-block:: c
+    :caption: xen/include/public/memory.h
+
+    #define XENMEM_resource_ioreq_server 0
+    #define XENMEM_resource_grant_table 1
+    #define XENMEM_resource_vmtrace_buf 2
+
+The ``resource_max_frames()`` function returns the size of a resource. The
+resource may provide a handler to get the size. This is the definition of the
+``resource_max_frame()`` function:
+
+.. code-block:: c
+    :linenos:
+    :caption: xen/common/memory.c
+
+    static unsigned int resource_max_frames(const struct domain *d,
+                                            unsigned int type, unsigned int id)
+    {
+        switch ( type )
+        {
+        case XENMEM_resource_grant_table:
+            return gnttab_resource_max_frames(d, id);
+
+        case XENMEM_resource_ioreq_server:
+            return ioreq_server_max_frames(d);
+
+        case XENMEM_resource_vmtrace_buf:
+            return d->vmtrace_size >> PAGE_SHIFT;
+
+        default:
+            return -EOPNOTSUPP;
+        }
+    }
+
+The ``_acquire_resource()`` function invokes the corresponding handler that maps
+the resource. The handler relies on ``type`` to select the correct handler:
+
+.. code-block:: c
+    :linenos:
+    :caption: xen/common/memory.c
+
+    static int _acquire_resource(
+        struct domain *d, unsigned int type, unsigned int id, unsigned int frame,
+        unsigned int nr_frames, xen_pfn_t mfn_list[])
+    {
+        switch ( type )
+        {
+        case XENMEM_resource_grant_table:
+            return gnttab_acquire_resource(d, id, frame, nr_frames, mfn_list);
+
+        case XENMEM_resource_ioreq_server:
+            return acquire_ioreq_server(d, id, frame, nr_frames, mfn_list);
+
+        case XENMEM_resource_vmtrace_buf:
+            return acquire_vmtrace_buf(d, id, frame, nr_frames, mfn_list);
+
+        default:
+            return -EOPNOTSUPP;
+        }
+    }
+
+Note that if a new resource has to be added, these two functions need to be
+modified. These handlers have the common declaration:
+
+.. code-block:: c
+    :linenos:
+    :caption: xen/common/memory.c
+
+    static int acquire_vmtrace_buf(
+        struct domain *d, unsigned int id, unsigned int frame,
+        unsigned int nr_frames, xen_pfn_t mfn_list[])
+    {
+
+The function returns in ``mfn_list[]`` a number of ``nr_frames`` of pointers to
+mfn pages. These pages are designed to be mapped contiguously. For example, for
+the ``XENMEM_resource_vmtrace_buf`` resource, the handler is defined as
+follows:
+
+.. code-block:: c
+    :linenos:
+    :caption: xen/common/memory.c
+
+    static int acquire_vmtrace_buf(
+        struct domain *d, unsigned int id, unsigned int frame,
+        unsigned int nr_frames, xen_pfn_t mfn_list[])
+    {
+        const struct vcpu *v = domain_vcpu(d, id);
+        unsigned int i;
+        mfn_t mfn;
+
+        if ( !v )
+            return -ENOENT;
+
+        if ( !v->vmtrace.pg ||
+             (frame + nr_frames) > (d->vmtrace_size >> PAGE_SHIFT) )
+            return -EINVAL;
+
+        mfn = page_to_mfn(v->vmtrace.pg);
+
+        for ( i = 0; i < nr_frames; i++ )
+            mfn_list[i] = mfn_x(mfn) + frame + i;
+
+        return nr_frames;
+    }
+
+Note that the handler only returns the mfn pages that have been previously
+allocated in ``vmtrace.pg``. The allocation of the resource happens during the
+instantiation of the vcpu. A set of pages is allocated during the instantiation
+of each vcpu. For allocating the page, we use the domheap with the
+``MEMF_no_refcount`` flag:
+
+.. code-block:: c
+
+    v->vmtrace.pg = alloc_domheap_page(s->target, MEMF_no_refcount);
+
+This allocates a page with the `PGC_allocated` bit set and a single reference
+count. Then, we grab a general reference count as well as a writable type count,
+so that it does not get used as a special page.
+
+.. code-block:: c
+
+    for ( i = 0; i < (d->vmtrace_size >> PAGE_SHIFT); i++ )
+        if ( unlikely(!get_page_and_type(&pg[i], d, PGT_writable_page)) )
+            /*
+             * The domain can't possibly know about this page yet, so failure
+             * here is a clear indication of something fishy going on.
+             */
+            goto refcnt_err;
+
+To access the pages in the context of Xen, we map the page by
+using:
+
+.. code-block:: c
+
+    va_page = __map_domain_page_global(page);
+
+The ``va_page`` pointer is used in the context of Xen.
+
+To release the page, we first unmap the frame with ``unmap_domheap_map()``, and we drop first the allocation and second the own type count, thus:
+
+.. code-block:: c
+
+    put_page_alloc_ref(pg);
+    put_page_and_type(pg);
+
+Note that we cannot free the page until all references have dropped and that includes the reference from tools in dom0. The ``put_page()`` brings the reference count to 0 thus automatically freeing the page.
+
+Acquire Resources
+-----------------
+
+This section briefly describes the resources that rely on the acquire resource
+interface. These resources are mapped by tools like QEMU.
+
+Intel Processor Trace (IPT)
+```````````````````````````
+
+This resource is named ``XENMEM_resource_vmtrace_buf`` and its size in bytes is
+set in ``d->vmtrace_size``. It contains the traces generated by the IPT. These
+traces are generated by each vcpu. The pages are allocated during
+``vcpu_create()``. The pages are stored in the ``vcpu`` structure in
+``sched.h``:
+
+.. code-block:: c
+
+   struct {
+        struct page_info *pg; /* One contiguous allocation of d->vmtrace_size */
+    } vmtrace;
+
+During ``vcpu_create()``, the pg is allocated by using the per-domain heap:
+
+.. code-block:: c
+
+    pg = alloc_domheap_pages(d, get_order_from_bytes(d->vmtrace_size), MEMF_no_refcount);
+
+For a given vcpu, the page is loaded into the guest at
+``vmx_restore_guest_msrs()``:
+
+.. code-block:: c
+    :caption: xen/arch/x86/hvm/vmx/vmx.c
+
+    wrmsrl(MSR_RTIT_OUTPUT_BASE, page_to_maddr(v->vmtrace.pg));
+
+The releasing of the pages happens during the vcpu teardown.
+
+Grant Table
+```````````
+
+The grant tables are represented by the ``XENMEM_resource_grant_table``
+resource. Grant tables are special since guests can map grant tables. Dom0 also
+needs to write into the grant table to set up the grants for xenstored and
+xenconsoled. When acquiring the resource, the pages are allocated from the xen
+heap in ``gnttab_get_shared_frame_mfn()``:
+
+.. code-block:: c
+    :linenos:
+    :caption: xen/common/grant_table.c
+
+    gt->shared_raw[i] = alloc_xenheap_page()
+    share_xen_page_with_guest(virt_to_page(gt->shared_raw[i]), d, SHARE_rw);
+
+Then, pages are shared with the guest. These pages are then converted from virt
+to mfn before returning:
+
+.. code-block:: c
+    :linenos:
+
+    for ( i = 0; i < nr_frames; ++i )
+         mfn_list[i] = virt_to_mfn(vaddrs[frame + i]);
+
+Ioreq server
+````````````
+
+The ioreq server is represented by the ``XENMEM_resource_ioreq_server``
+resource. An ioreq server provides emulated devices to HVM and PVH guests. The
+allocation is done in ``ioreq_server_alloc_mfn()``. The following code partially
+shows the allocation of the pages that represent the ioreq server:
+
+.. code-block:: c
+    :linenos:
+    :caption: xen/common/ioreq.c
+
+    page = alloc_domheap_page(s->target, MEMF_no_refcount);
+
+    iorp->va = __map_domain_page_global(page);
+    if ( !iorp->va )
+        goto fail;
+
+    iorp->page = page;
+    clear_page(iorp->va);
+    return 0;
+
+The function above is invoked from ``ioreq_server_get_frame()`` which is called
+from ``acquire_ioreq_server()``. For acquiring, the function returns the
+allocated pages as follows:
+
+.. code-block:: c
+
+    *mfn = page_to_mfn(s->bufioreq.page);
+
+The ``ioreq_server_free_mfn()`` function releases the pages as follows:
+
+.. code-block:: c
+    :linenos:
+    :caption: xen/common/ioreq.c
+
+    unmap_domain_page_global(iorp->va);
+    iorp->va = NULL;
+
+    put_page_alloc_ref(page);
+    put_page_and_type(page);
diff --git a/docs/hypervisor-guide/index.rst b/docs/hypervisor-guide/index.rst
index e4393b0697..961a11525f 100644
--- a/docs/hypervisor-guide/index.rst
+++ b/docs/hypervisor-guide/index.rst
@@ -9,3 +9,5 @@ Hypervisor documentation
    code-coverage
 
    x86/index
+
+   acquire_resource_reference
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 29 09:07:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 09:07:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394504.633928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSajj-00022F-BU; Mon, 29 Aug 2022 09:07:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394504.633928; Mon, 29 Aug 2022 09:07:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSajj-000228-88; Mon, 29 Aug 2022 09:07:15 +0000
Received: by outflank-mailman (input) for mailman id 394504;
 Mon, 29 Aug 2022 09:07:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSaji-00021w-1e; Mon, 29 Aug 2022 09:07:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSajh-00019k-Uo; Mon, 29 Aug 2022 09:07:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSajh-0002Zi-Ek; Mon, 29 Aug 2022 09:07:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSajh-0004Dm-Bq; Mon, 29 Aug 2022 09:07:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=o3DuCnTXsuTBaOcJgHg/tDBgTlK2f38FRPC2paq7d/I=; b=3nCq9eCaE4NKr6JAfIy5CsGYEv
	rqYg+emiBTcbDO4Jy40awQN73cd+esHz/eKMwv68HmEbIbW/5cclBat6sVnoAM84CoYg/HbFL85OI
	ZkamB9FWG/s3MBd+FAax7jp/28fFHZ15OS2h+APDXeVy2kah/Dk010XQG3v196InPXIk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172843-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172843: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=f3779e2bf835e5365cffde13dd73b2062980866d
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 09:07:13 +0000

flight 172843 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172843/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              f3779e2bf835e5365cffde13dd73b2062980866d
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  780 days
Failing since        151818  2020-07-11 04:18:52 Z  779 days  761 attempts
Testing same since   172807  2022-08-27 04:19:30 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Carlos Bilbao <carlos.bilbao@amd.com>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121163 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 09:49:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 09:49:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394513.633938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSbOV-0006IL-Ly; Mon, 29 Aug 2022 09:49:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394513.633938; Mon, 29 Aug 2022 09:49:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSbOV-0006IE-J2; Mon, 29 Aug 2022 09:49:23 +0000
Received: by outflank-mailman (input) for mailman id 394513;
 Mon, 29 Aug 2022 09:49:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Emil=ZB=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oSbOU-0006I8-7f
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 09:49:22 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2048.outbound.protection.outlook.com [40.107.104.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9332ebc-277f-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 11:49:18 +0200 (CEST)
Received: from AM6PR02CA0032.eurprd02.prod.outlook.com (2603:10a6:20b:6e::45)
 by DB9PR08MB7536.eurprd08.prod.outlook.com (2603:10a6:10:304::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Mon, 29 Aug
 2022 09:49:15 +0000
Received: from VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:6e:cafe::b7) by AM6PR02CA0032.outlook.office365.com
 (2603:10a6:20b:6e::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21 via Frontend
 Transport; Mon, 29 Aug 2022 09:49:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT042.mail.protection.outlook.com (10.152.19.62) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 09:49:09 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Mon, 29 Aug 2022 09:49:09 +0000
Received: from c8948526ab73.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 742A0426-371A-4A4A-AFF9-506BD2400D3C.1; 
 Mon, 29 Aug 2022 09:49:03 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c8948526ab73.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Aug 2022 09:49:03 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AS1PR08MB7537.eurprd08.prod.outlook.com (2603:10a6:20b:481::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Mon, 29 Aug
 2022 09:49:01 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5566.021; Mon, 29 Aug 2022
 09:49:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9332ebc-277f-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=nWb5yT7/uYTDTtGutJJ4gHj94E8uikA8mQtfsruTXWSxEXMc/ktsY640elNVXzhVVvbhGckeaF6vOsl2mi5c2CSkkPcEnWe+dlIbLM7+aPr6DnYf9Y6gpdBH10e2NEdJgbzezpeHKyOy0K+1Cz1NawxoX1mDNSBZHE76nPBXR4DIijvt3+qUXaTdR59rxOCpVlAvZziFAyRNu2rdE9+F8GaRr53i3LjGESeP3dl1WMqfI6IYM2X/KNVgtX+JX6suFUhTd6EacuSAiuFrqeHKSesHQM9lne1xnYW8J7NxXL4ahzKKeXzmA94KJwZ6nUmcjmv+sKMkBTx2E7eppd0XaA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I2tP5Pge+XN3MHTJzNxXJi3U0rB5hYo1z3hbP1gUjKY=;
 b=MU1cQ9sdOkzXDKKTqOzqRuWCsU/9Z7TUpzQozGYnsNYFUYtjDLG6dD7Tvx+IOaU3kAZaq2zkz9/I7Fe66hQEUufzYRmGDlB1QISD9M7vd485NL1KueH8MkRVsbkgGVz6Wf1bfQav7TukCKVbgVSittBSLgwEoNDdOLlyfTX5+I4PjGu4Ze0ETYg4Rth80XQl2oKVfxxoi0U7Vawl/rXr5Jfu6kf9aEUL2/8rmAqKWVtEHeDARs1u4TjptipXwr02J21fX5fGrlHU/v5/zpbHnO1qJd0IB+MQzp33PnYJRKdN96pl2Uwxl1uCVEbZQB5iv6nG6KOBW3yH8mHJKuALgw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I2tP5Pge+XN3MHTJzNxXJi3U0rB5hYo1z3hbP1gUjKY=;
 b=Mdhhhn/dOdyGbKqHU5FoH/9W7/9HRCNWndqSMqY8y6foqBKeM9OhQNVJA7UUQexlKDYxxLErLULc9KWxXgFxJXqUb7Rcd4jcdvOV/yMShrAEEMyQm88zdSRlmjGrOnag2xlxkdPtT2tnHBGxA8FKS0FUw5Ip5bB3V4hDe/ny3cQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J5FPmUetpwF1qGb447FdoAncHE4OYIFZWOggwJrV78GrWoqhopvAvbpgSzWSMjiE7Qdn4gObPVmulJvrz/MeYyjbyQ3iFmAh2oAvx/oSapb5y7vcBc4o+dBYCtgY0WaBstuUyXFiO+paDkf0Ya2t+0WXTXrKoDBhdYQ0xpTlusZWB6r9yoaV30621U7BUPdrYdGCqHTEN+DZ87TKjTzLt1qE3WH9PdHSAo4xig54oczbpaMaMLBrBlHUOjoGH+lBa5mggaLTHr/Lh1Fcxf7fAzlqJj5ViTLm0sEsF3KUy0yhp3EUX6mmlc28j0YIK/6hL7FluW4pL4jfi935E36SuQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I2tP5Pge+XN3MHTJzNxXJi3U0rB5hYo1z3hbP1gUjKY=;
 b=D0ToUhg/ncVuBc/r69Qx6j4Ofrp1ibHt6E8jgElEZFBCZyk6Tm3f65JNBvWNCTMGAE6Q4kLJ6xh0q9YNeUPN8fKtdQZvSyV9tDnjYbf6ByrLMbdXitjo2FL52AwsjWLmbq2W0aW94V6woZKDKzusW2mbVvgGGJw6pLfe4GQZ0S++wO2oZpZVzOyPkMYa/BVxnVT3ybEm2Eqd1FNyy8N6yDhnOg1e0p9NbRYKixXCod82YSrMu9rVntTr9ZSt+8tjmHeBmg7qDczIjtCJtNZWcdIifa+Z2YMY5PegjkpCiNeVcOjBULrYFBM4WddHQM3kX9P4zInSbJWDM+SSFFlTVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I2tP5Pge+XN3MHTJzNxXJi3U0rB5hYo1z3hbP1gUjKY=;
 b=Mdhhhn/dOdyGbKqHU5FoH/9W7/9HRCNWndqSMqY8y6foqBKeM9OhQNVJA7UUQexlKDYxxLErLULc9KWxXgFxJXqUb7Rcd4jcdvOV/yMShrAEEMyQm88zdSRlmjGrOnag2xlxkdPtT2tnHBGxA8FKS0FUw5Ip5bB3V4hDe/ny3cQ=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: nd <nd@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 2/6] xen/x86: move generically usable NUMA code from
 x86 to common
Thread-Topic: [PATCH v3 2/6] xen/x86: move generically usable NUMA code from
 x86 to common
Thread-Index: AQHYtdMye4MHuNHq+UOzJ3rwmp69yK2/d3mAgAYmodA=
Date: Mon, 29 Aug 2022 09:49:01 +0000
Message-ID:
 <PAXPR08MB74201ABCEC5CCFF65F4C84969E769@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-3-wei.chen@arm.com>
 <15c1de02-efa3-5d2d-db3f-1b04de8a1ba4@suse.com>
In-Reply-To: <15c1de02-efa3-5d2d-db3f-1b04de8a1ba4@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: E704F88D7E9E76468C988AD70AEECF77.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 132dabf0-31ec-470b-9b5a-08da89a3b8a8
x-ms-traffictypediagnostic:
	AS1PR08MB7537:EE_|VE1EUR03FT042:EE_|DB9PR08MB7536:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 hP92MRlq/gLYGky/dd469VVpmOH3oacHG84sStIAwei3BRkR18tJ+s5Pjn7oSSXCJ/LPBdViRhQ3JskN35ng8wKOVCYGJ7fIeJbWRIG0oCWeztHDbppyHqd/N7BUCRrZDiWyC1MXDmzWnWyycWsANes5TXnpLrrDrdr1Bta6rDGnU06ZE5vSpmCSNCkNCbZSqADe+nGGFSUS4ywYhJQEpiImg37t8mV46UYe1OTgAqQBoNcCsL6pWBowc2GdIyzNGmIAlfg+7QzPXCtYXIf7J5mdrozuiPUsPvywXdsy3OPsE6VGeLta7zXxtBOGHOvfUPFA/tPf4nhMazwOrhXT/3E819sEOtHPd9K4d9cXJMuqIXph7vqINFujvnyyI+I0NUati4NwboMIhy2M7lf3anMaJrOIGabmJzjIfYhP/ROYne58WZf70LmbsjGa1Re+vl2DKMN5X/rHxgULlDSMRYeiwmddocwF24zkPbmXOH/zSpB7ReYoOF5k6M4o8Q4SC1RcN6KkvILCHfYkloTSLRDvaOLzrchWQ5Sw843qL198Oercv9g0J0Cq4xwGKXqapUiN87rTvIFuv5Kj7pt7tSO9D+KLkg1gP8ZhlGLQkt2SeYAMqrlupSK3p2mInimz4umyZhxkZna+UdwDW44UXjqjZumVjGFsxAPoZyfePY5g/ZuuM79qQflQsd2iiRNSfo5yX7YupuTslDpjPGB/A239/mcJy7bG5w0MkzQ8MXS+B1m6w52S8kR0ePJWOfk3q/29PRJZNy6IpXCvLlJXqg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(366004)(346002)(39860400002)(64756008)(52536014)(9686003)(83380400001)(38070700005)(5660300002)(76116006)(66476007)(55016003)(66946007)(8676002)(66446008)(2906002)(33656002)(8936002)(186003)(316002)(86362001)(71200400001)(478600001)(66556008)(6506007)(4326008)(6916009)(41300700001)(54906003)(53546011)(7696005)(122000001)(26005)(38100700002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7537
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f3deed55-e0ca-47d8-96cc-08da89a3b3b0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ELRbNwuVUTwwhQAM2MYneIa05M3qTk07/PiTtB6Mn+GxmOX+MHjzF05nPhwE5dOZ4D28OF7xr2AqWswskbLKXmfa7mjPTCh4c9Tx0Wx6UmNtwGkslvi+KCrJ+u2fXj2JpbwgQiEzQFjgYkMaon4Uc6vzLBLinc5BwSidyV3rL7SCn7aQol92R5Q6GBFjc4kETnJ5Qbt2uXfJ3AeE9E8qwnLC5hbrlTGG5BQ6t7rOaiF6NqCgHPT1cu5BoTwncl1X05MtEcb20J2EyH2B6/92TNH3AMEkIi/nfDFLQTIfge+JkLVP+oLj2FtXJPx9GRDiS6e5jHx9JHhRnYlAcW2rnppRe2pA8JhgE/a79a9NWPugQG2Ga+LLijsT7SttFgZDZWDQxp8CM9c32XMl8b81VftcuRC1m3Fym0SRxVhtzT6EHY76yIKyxzsqXko9CIvanaRCv7R+sdbGNaokSsWrFzC1Zt1FDx6yQBDtSc3S+jbSCwWTRdPluk0z1YEdP32YOUvtfMrcElz9Bkl4sJQBeuxCoQZF47j4UGkfaHfbe0Q08uOA1JDq08FfCf9pG20nfVukcVQBDppC77XwyFdd3bm7TGtrUAWGQOWJaM6ckkuUQid3AnExt+ZrE2BcveQzuZA94eDt2Qu49ymkBa9Tb0oYbAmyVUQ7PVR8Sj3aMabQdij1S31V2a3Pnm5ZSUhWYmUKs9TLcYAds22zA8NG8VvQMygF55cgpyjPGLhO0rpMMVxbC7k8eB2TYGI02aM3CWgjSF4yAWPpJ2uk5uf6LA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(39860400002)(376002)(136003)(40470700004)(46966006)(36840700001)(82310400005)(40480700001)(55016003)(36860700001)(356005)(86362001)(40460700003)(82740400003)(5660300002)(70586007)(70206006)(81166007)(4326008)(8676002)(478600001)(41300700001)(6862004)(8936002)(54906003)(52536014)(316002)(186003)(47076005)(26005)(83380400001)(2906002)(53546011)(7696005)(6506007)(336012)(33656002)(9686003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 09:49:09.5516
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 132dabf0-31ec-470b-9b5a-08da89a3b8a8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7536

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDjmnIgyNeaXpSAxODo1OA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBuZCA8bmRAYXJtLmNvbT47
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUNCj4g
TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT47IFdlaSBMaXUgPHdsQHhlbi5vcmc+OyBHZW9y
Z2UgRHVubGFwDQo+IDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+OyBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPjsgU3RlZmFubw0KPiBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggdjMgMi82XSB4ZW4veDg2OiBtb3ZlIGdlbmVyaWNhbGx5IHVzYWJsZSBOVU1BIGNvZGUNCj4g
ZnJvbSB4ODYgdG8gY29tbW9uDQo+IA0KPiBPbiAyMi4wOC4yMDIyIDA0OjU4LCBXZWkgQ2hlbiB3
cm90ZToNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIveGVuL2NvbW1vbi9udW1hLmMNCj4g
PiBAQCAtMCwwICsxLDQ0MCBAQA0KPiA+ICsvKg0KPiA+ICsgKiBHZW5lcmljIFZNIGluaXRpYWxp
emF0aW9uIGZvciBOVU1BIHNldHVwcy4NCj4gPiArICogQ29weXJpZ2h0IDIwMDIsMjAwMyBBbmRp
IEtsZWVuLCBTdVNFIExhYnMuDQo+ID4gKyAqIEFkYXB0ZWQgZm9yIFhlbjogUnlhbiBIYXJwZXIg
PHJ5YW5oQHVzLmlibS5jb20+DQo+ID4gKyAqLw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgPHhlbi9p
bml0Lmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4va2V5aGFuZGxlci5oPg0KPiA+ICsjaW5jbHVkZSA8
eGVuL21tLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vbm9kZW1hc2suaD4NCj4gPiArI2luY2x1ZGUg
PHhlbi9udW1hLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vcGFyYW0uaD4NCj4gPiArI2luY2x1ZGUg
PHhlbi9zY2hlZC5oPg0KPiA+ICsjaW5jbHVkZSA8eGVuL3NvZnRpcnEuaD4NCj4gPiArDQo+ID4g
K3N0cnVjdCBub2RlX2RhdGEgX19yb19hZnRlcl9pbml0IG5vZGVfZGF0YVtNQVhfTlVNTk9ERVNd
Ow0KPiA+ICsNCj4gPiArLyogTWFwcGluZyBmcm9tIHBkeCB0byBub2RlIGlkICovDQo+ID4gK3Vu
c2lnbmVkIGludCBfX3JvX2FmdGVyX2luaXQgbWVtbm9kZV9zaGlmdDsNCj4gPiArdW5zaWduZWQg
bG9uZyBfX3JvX2FmdGVyX2luaXQgbWVtbm9kZW1hcHNpemU7DQo+ID4gK3VpbnQ4X3QgKl9fcm9f
YWZ0ZXJfaW5pdCBtZW1ub2RlbWFwOw0KPiA+ICtzdGF0aWMgdWludDhfdCBfX3JvX2FmdGVyX2lu
aXQgX21lbW5vZGVtYXBbNjRdOw0KPiA+ICsNCj4gPiArbm9kZWlkX3QgX19yb19hZnRlcl9pbml0
IGNwdV90b19ub2RlW05SX0NQVVNdID0gew0KPiANCj4gSSBkb24ndCB0aGluayB0aGlzIGNhbiBi
ZSBfX3JvX2FmdGVyX2luaXQsIG9yIHlvdSdsbCBicmVhayBDUFUNCj4gaG90cGx1Zy4NCj4gDQoN
ClllcywgdGhpcyB3aWxsIGNhdXNlIHByb2JsZW0gaW4gY3B1X2FkZC4gSSB3aWxsIF9fcmVhZF9t
b3N0bHkgZm9yIGl0DQppbiBuZXh0IHZlcnNpb24uDQoNCj4gPiArICAgIFswIC4uLiBOUl9DUFVT
LTFdID0gTlVNQV9OT19OT0RFDQo+ID4gK307DQo+ID4gKw0KPiA+ICtjcHVtYXNrX3QgX19yb19h
ZnRlcl9pbml0IG5vZGVfdG9fY3B1bWFza1tNQVhfTlVNTk9ERVNdOw0KPiANCj4gU2FtZSBoZXJl
Lg0KPiANCg0KT2suDQoNCj4gPiArbm9kZW1hc2tfdCBfX3JlYWRfbW9zdGx5IG5vZGVfb25saW5l
X21hcCA9IHsgeyBbMF0gPSAxVUwgfSB9Ow0KPiA+ICsNCj4gPiArYm9vbCBfX3JlYWRfbW9zdGx5
IG51bWFfb2ZmOw0KPiANCj4gVGhpcywgb3RvaCwgY2FuIGJlLCBvciBoYXZlIEkgbWlzc2VkIGEg
cGxhY2Ugd2hlcmUgaXQncyB3cml0dGVuIGJ5IGENCj4gbm9uLV9faW5pdCBmdW5jdGlvbj8NCj4g
DQoNCkkgdGhpbmsgeWVzLCBpdCB3aWxsIGJlIHVzZWQgaW4gbnVtYV9kaXNhYmxlZCBhbmQgbnVt
YV9kaXNhYmxlZCB3aWxsDQpiZSBjYWxsZWQgaW4gY3B1X2FkZC4NCg0KPiA+ICtib29sIG51bWFf
ZGlzYWJsZWQodm9pZCkNCj4gPiArew0KPiA+ICsgICAgcmV0dXJuIG51bWFfb2ZmIHx8IGFyY2hf
bnVtYV9kaXNhYmxlZChmYWxzZSk7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qDQo+ID4gKyAqIEdp
dmVuIGEgc2hpZnQgdmFsdWUsIHRyeSB0byBwb3B1bGF0ZSBtZW1ub2RlbWFwW10NCj4gPiArICog
UmV0dXJucyA6DQo+ID4gKyAqIDEgaWYgT0sNCj4gPiArICogMCBpZiBtZW1ub2RtYXBbXSB0b28g
c21hbGwgKG9mIHNoaWZ0IHRvbyBzbWFsbCkNCj4gPiArICogLTEgaWYgbm9kZSBvdmVybGFwIG9y
IGxvc3QgcmFtIChzaGlmdCB0b28gYmlnKQ0KPiA+ICsgKi8NCj4gPiArc3RhdGljIGludCBfX2lu
aXQgcG9wdWxhdGVfbWVtbm9kZW1hcChjb25zdCBzdHJ1Y3Qgbm9kZSAqbm9kZXMsDQo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWlkX3QgbnVtbm9kZXMsIHVu
c2lnbmVkIGludA0KPiBzaGlmdCwNCj4gDQo+IEkgZG9uJ3QgdGhpbmsgeW91IGNhbiB1c2Ugbm9k
ZWlkX3QgZm9yIGEgdmFyaWFibGUgaG9sZGluZyBhIG5vZGUgY291bnQuDQo+IFRoaW5rIG9mIHdo
YXQgd291bGQgaGFwcGVuIGlmIHRoZXJlIHdlcmUgMjU2IG5vZGVzLCB0aGUgSURzIG9mIHdoaWNo
DQo+IGFsbCBmaXQgaW4gbm9kZWlkX3QuIChTYW1lIGFnYWluIGZ1cnRoZXIgZG93bi4pDQo+IA0K
DQpJZiB3ZSB1c2UgdTggYXMgbm9kZWlkX3QsIHdoeSB0aGVyZSB3aWxsIGJlIDI1NiBub2RlcyB0
byBoZXJlPw0KQW5kIHRoZSBNQVhfTlVNTk9ERVMgaGFzIGJlZW4gbGltaXRlZCB0byA2NCAodXNp
bmcgTk9ERVNfU0hJRlQgb3INCkNPTkZJR19OUl9OVU1BX05PREVTKS4gSWYgd2UgYWxsb3cgMjU2
IG5vZGVzLCB3ZSBoYXZlIHRvIHVwZGF0ZSBNQVhfTlVNTk9ERVMNCmFuZCBub2RlaWRfdCBmaXJz
dCBJIHRoaW5rPw0KDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bm9kZWlkX3QgKm5vZGVpZHMpDQo+ID4gK3sNCj4gPiArICAgIHVuc2lnbmVkIGxvbmcgc3BkeCwg
ZXBkeDsNCj4gPiArICAgIG5vZGVpZF90IGk7DQo+IA0KPiBUaGlzIGlzIGxpa2VseSBpbmVmZmlj
aWVudCBmb3IgYSBsb29wIGNvdW50ZXIgdmFyaWFibGUuIE5vdGUgaG93IHlvdQ0KPiB1c2UgInVu
c2lnbmVkIGludCIgaW4gZS5nLiBleHRyYWN0X2xzYl9mcm9tX25vZGVzKCkuDQo+IA0KDQpEaWQg
eW91IG1lYW4gdTggZm9yICJpIiB3aWxsIGNhdXNlIHNvbWV0aGluZyBsaWtlIHVuYWxpZ25tZW50
LCBhbmQgd2lsbA0KY2F1c2UgbG9vcCBpbmVmZmljaWVudC4gSWYgeWVzLCBJIHdpbGwgdXNlIHVu
c2lnbmVkIGludCBmb3IgImkiIGluIG5leHQNCnZlcnNpb24uDQoNCj4gPiArdW5zaWduZWQgaW50
IF9faW5pdCBjb21wdXRlX2hhc2hfc2hpZnQoY29uc3Qgc3RydWN0IG5vZGUgKm5vZGVzLA0KPiA+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaWRfdCBudW1ub2Rl
cywgbm9kZWlkX3QNCj4gKm5vZGVpZHMpDQo+ID4gK3sNCj4gPiArICAgIHVuc2lnbmVkIGludCBz
aGlmdDsNCj4gPiArDQo+ID4gKyAgICBzaGlmdCA9IGV4dHJhY3RfbHNiX2Zyb21fbm9kZXMobm9k
ZXMsIG51bW5vZGVzKTsNCj4gPiArICAgIGlmICggbWVtbm9kZW1hcHNpemUgPD0gQVJSQVlfU0la
RShfbWVtbm9kZW1hcCkgKQ0KPiA+ICsgICAgICAgIG1lbW5vZGVtYXAgPSBfbWVtbm9kZW1hcDsN
Cj4gPiArICAgIGVsc2UgaWYgKCBhbGxvY2F0ZV9jYWNoZWFsaWduZWRfbWVtbm9kZW1hcCgpICkN
Cj4gPiArICAgICAgICByZXR1cm4gLTE7DQo+IA0KPiBXaXRoIHRoaXMgdGhlIGZ1bmN0aW9uIGNh
bid0IHZlcnkgd2VsbCBoYXZlICJ1bnNpZ25lZCBpbnQiIHJldHVybiB0eXBlLg0KPiANCg0KT2gs
IHllcywgSSBoYWQgb25seSB0aG91Z2h0IGEgbmVnYXRpdmUgc2hpZnQgd2lsbCBiZSBzdHJhbmdl
IGFuZCBoYWRuJ3QNCm5vdGljZWQgdGhpcyByZXR1cm4gdmFsdWUuIEkgd2lsbCByZXN0b3JlIHRo
ZSByZXR1cm4gdmFsdWUuDQoNCj4gPiArdm9pZCBfX2luaXQgbnVtYV9pbml0X2FycmF5KHZvaWQp
DQo+ID4gK3sNCj4gPiArICAgIGludCByciwgaTsNCj4gDQo+ICJ1bnNpZ25lZCBpbnQiIGZvciBp
IGFuZCBwZXJoYXBzIG5vZGVpZF90IGZvciBycj8NCj4gDQoNClllcywgSSB3aWxsIGRvIGl0Lg0K
DQo+ID4gK3N0YXRpYyBpbnQgX19pbml0IG51bWFfZW11bGF0aW9uKHVuc2lnbmVkIGxvbmcgc3Rh
cnRfcGZuLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs
b25nIGVuZF9wZm4pDQo+ID4gK3sNCj4gPiArICAgIHVuc2lnbmVkIGludCBpOw0KPiA+ICsgICAg
c3RydWN0IG5vZGUgbm9kZXNbTUFYX05VTU5PREVTXTsNCj4gPiArICAgIHVpbnQ2NF90IHN6ID0g
cGZuX3RvX3BhZGRyKGVuZF9wZm4gLSBzdGFydF9wZm4pIC8gbnVtYV9mYWtlOw0KPiA+ICsNCj4g
PiArICAgIC8qIEtsdWRnZSBuZWVkZWQgZm9yIHRoZSBoYXNoIGZ1bmN0aW9uICovDQo+ID4gKyAg
ICBpZiAoIGh3ZWlnaHQ2NChzeikgPiAxICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICB1NjQg
eCA9IDE7DQo+IA0KPiB1aW50NjRfdCBhbmQgYSBibGFuayBsaW5lIGJldHdlZW4gZGVjbGFyYXRp
b24ocykgYW5kIHN0YXRlbWVudChzKQ0KPiBwbGVhc2UuDQo+IA0KDQpPSy4NCg0KPiA+ICsgICAg
ICAgIHdoaWxlICggKHggPDwgMSkgPCBzeiApDQo+ID4gKyAgICAgICAgICAgIHggPDw9IDE7DQo+
ID4gKyAgICAgICAgaWYgKCB4IDwgc3ogLyAyICkNCj4gPiArICAgICAgICAgICAgcHJpbnRrKEtF
Uk5fRVJSICJOdW1hIGVtdWxhdGlvbiB1bmJhbGFuY2VkLiBDb21wbGFpbiB0bw0KPiBtYWludGFp
bmVyXG4iKTsNCj4gPiArICAgICAgICBzeiA9IHg7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsg
ICAgbWVtc2V0KCZub2RlcywgMCwgc2l6ZW9mKG5vZGVzKSk7DQo+ID4gKyAgICBmb3IgKCBpID0g
MDsgaSA8IG51bWFfZmFrZTsgaSsrICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBub2Rlc1tp
XS5zdGFydCA9IHBmbl90b19wYWRkcihzdGFydF9wZm4pICsgaSAqIHN6Ow0KPiA+ICsgICAgICAg
IGlmICggaSA9PSBudW1hX2Zha2UgLSAxICkNCj4gPiArICAgICAgICAgICAgc3ogPSBwZm5fdG9f
cGFkZHIoZW5kX3BmbikgLSBub2Rlc1tpXS5zdGFydDsNCj4gPiArICAgICAgICBub2Rlc1tpXS5l
bmQgPSBub2Rlc1tpXS5zdGFydCArIHN6Ow0KPiA+ICsgICAgICAgIHByaW50ayhLRVJOX0lORk8g
IkZha2luZyBub2RlICV1IGF0ICUiUFJJeDY0Ii0lIlBSSXg2NCINCj4gKCUiUFJJdTY0Ik1CKVxu
IiwNCj4gPiArICAgICAgICAgICAgICAgaSwgbm9kZXNbaV0uc3RhcnQsIG5vZGVzW2ldLmVuZCwN
Cj4gPiArICAgICAgICAgICAgICAgKG5vZGVzW2ldLmVuZCAtIG5vZGVzW2ldLnN0YXJ0KSA+PiAy
MCk7DQo+ID4gKyAgICAgICAgbm9kZV9zZXRfb25saW5lKGkpOw0KPiA+ICsgICAgfQ0KPiA+ICsg
ICAgbWVtbm9kZV9zaGlmdCA9IGNvbXB1dGVfaGFzaF9zaGlmdChub2RlcywgbnVtYV9mYWtlLCBO
VUxMKTsNCj4gPiArICAgIGlmICggbWVtbm9kZV9zaGlmdCA8IDAgKQ0KPiANCj4gRG9lcyB0aGUg
Y29tcGlsZXIgbm90IHdhcm4gaGVyZSwgY29tcGFyaW5nIGFuIHVuc2lnbmVkIHZhbHVlIGZvciBi
ZWluZw0KPiBuZWdhdGl2ZT8NCg0KSXQncyBzdHJhbmdlLCBJIGhhdmVuJ3Qgc2VlbiB3YXJuaW5n
cyBmb3IgdGhpcyBraW5kIG9mIGNvbXBhcmlzb24uDQoNCj4gDQo+ID4gLS0tIGEveGVuL2luY2x1
ZGUveGVuL251bWEuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgNCj4gPiBAQCAt
MTgsNCArMTgsNzAgQEANCj4gPiAgICAoKChkKS0+dmNwdSAhPSBOVUxMICYmIChkKS0+dmNwdVsw
XSAhPSBOVUxMKSBcDQo+ID4gICAgID8gdmNwdV90b19ub2RlKChkKS0+dmNwdVswXSkgOiBOVU1B
X05PX05PREUpDQo+ID4NCj4gPiArLyogVGhlIGZvbGxvd2luZyBjb250ZW50IGNhbiBiZSB1c2Vk
IHdoZW4gTlVNQSBmZWF0dXJlIGlzIGVuYWJsZWQgKi8NCj4gPiArI2lmZGVmIENPTkZJR19OVU1B
DQo+ID4gKw0KPiA+ICtleHRlcm4gbm9kZWlkX3QgICAgICBjcHVfdG9fbm9kZVtOUl9DUFVTXTsN
Cj4gPiArZXh0ZXJuIGNwdW1hc2tfdCAgICAgbm9kZV90b19jcHVtYXNrW107DQo+ID4gKw0KPiA+
ICsjZGVmaW5lIGNwdV90b19ub2RlKGNwdSkgICAgICAgIChjcHVfdG9fbm9kZVtjcHVdKQ0KPiA+
ICsjZGVmaW5lIHBhcmVudF9ub2RlKG5vZGUpICAgICAgIChub2RlKQ0KPiA+ICsjZGVmaW5lIG5v
ZGVfdG9fZmlyc3RfY3B1KG5vZGUpIChfX2Zmcyhub2RlX3RvX2NwdW1hc2tbbm9kZV0pKQ0KPiA+
ICsjZGVmaW5lIG5vZGVfdG9fY3B1bWFzayhub2RlKSAgIChub2RlX3RvX2NwdW1hc2tbbm9kZV0p
DQo+IA0KPiBQbGVhc2UgY291bGQgeW91IHRha2UgdGhlIG9wcG9ydHVuaXR5IGFuZCBkcm9wIHVu
bmVjZXNzYXJ5IHBhcmVudGhlc2VzDQo+IGZyb20gaGVyZT8gQWZhaWN0IG9ubHkgcGFyZW50X25v
ZGUoKSBuZWVkIHRoZW0gdG8gYmUga2VwdC4NCj4NCg0KT0suDQoNCj4gPiArc3RydWN0IG5vZGUg
ew0KPiA+ICsgICAgcGFkZHJfdCBzdGFydCwgZW5kOw0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArZXh0
ZXJuIHVuc2lnbmVkIGludCBjb21wdXRlX2hhc2hfc2hpZnQoY29uc3Qgc3RydWN0IG5vZGUgKm5v
ZGVzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaWRf
dCBudW1ub2Rlcywgbm9kZWlkX3QNCj4gKm5vZGVpZHMpOw0KPiA+ICsNCj4gPiArI2RlZmluZSBW
SVJUVUFMX0JVR19PTih4KQ0KPiA+ICsNCj4gPiArZXh0ZXJuIGJvb2wgbnVtYV9vZmY7DQo+ID4g
K2V4dGVybiB2b2lkIG51bWFfYWRkX2NwdSh1bnNpZ25lZCBpbnQgY3B1KTsNCj4gDQo+IFBsZWFz
ZSBjYW4geW91IGhhdmUgdmFyaWFibGUgYW5kIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyB2aXN1YWxs
eSBzZXBhcmF0ZWQsDQo+IGJ5IGFkZGluZyBhIGJsYW5rIGxpbmUgYmV0d2VlbiB0aGVtPw0KPg0K
DQpTdXJlLiBJIHdpbGwgZG8gaXQuDQogDQo+ID4gK2V4dGVybiB2b2lkIG51bWFfaW5pdF9hcnJh
eSh2b2lkKTsNCj4gPiArZXh0ZXJuIHZvaWQgbnVtYV9zZXRfbm9kZSh1bnNpZ25lZCBpbnQgY3B1
LCBub2RlaWRfdCBub2RlKTsNCj4gPiArZXh0ZXJuIHZvaWQgbnVtYV9pbml0bWVtX2luaXQodW5z
aWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcNCj4gZW5kX3Bmbik7DQo+ID4gK2V4
dGVybiBpbnQgIG51bWFfc2Nhbl9ub2RlcyhwYWRkcl90IHN0YXJ0LCBwYWRkcl90IGVuZCk7DQo+
ID4gKw0KPiA+ICtleHRlcm4gaW50IGFyY2hfbnVtYV9zZXR1cChjb25zdCBjaGFyICpvcHQpOw0K
PiA+ICtleHRlcm4gYm9vbCBhcmNoX251bWFfZGlzYWJsZWQoYm9vbCBpbml0X2FzX2Rpc2FibGUp
Ow0KPiA+ICtleHRlcm4gdm9pZCBzZXR1cF9ub2RlX2Jvb3RtZW0obm9kZWlkX3Qgbm9kZWlkLCBw
YWRkcl90IHN0YXJ0LCBwYWRkcl90DQo+IGVuZCk7DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW5saW5l
IHZvaWQgY2xlYXJfbm9kZV9jcHVtYXNrKHVuc2lnbmVkIGludCBjcHUpDQo+ID4gK3sNCj4gPiAr
ICAgIGNwdW1hc2tfY2xlYXJfY3B1KGNwdSwgJm5vZGVfdG9fY3B1bWFza1tjcHVfdG9fbm9kZShj
cHUpXSk7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qIFNpbXBsZSBwZXJmZWN0IGhhc2ggdG8gbWFw
IHBkeCB0byBub2RlIG51bWJlcnMgKi8NCj4gPiArZXh0ZXJuIHVuc2lnbmVkIGludCBtZW1ub2Rl
X3NoaWZ0Ow0KPiA+ICtleHRlcm4gdW5zaWduZWQgbG9uZyBtZW1ub2RlbWFwc2l6ZTsNCj4gPiAr
ZXh0ZXJuIHVpbnQ4X3QgKm1lbW5vZGVtYXA7DQo+ID4gKw0KPiA+ICtzdHJ1Y3Qgbm9kZV9kYXRh
IHsNCj4gPiArICAgIHVuc2lnbmVkIGxvbmcgbm9kZV9zdGFydF9wZm47DQo+ID4gKyAgICB1bnNp
Z25lZCBsb25nIG5vZGVfc3Bhbm5lZF9wYWdlczsNCj4gPiArfTsNCj4gPiArDQo+ID4gK2V4dGVy
biBzdHJ1Y3Qgbm9kZV9kYXRhIG5vZGVfZGF0YVtdOw0KPiA+ICsNCj4gPiArc3RhdGljIGlubGlu
ZSBfX2F0dHJpYnV0ZV9wdXJlX18gbm9kZWlkX3QgcGh5c190b19uaWQocGFkZHJfdCBhZGRyKQ0K
PiANCj4gTml0OiBUaGUgY29udmVudGlvbmFsIHBsYWNlIGZvciBhdHRyaWJ1dGVzIGlzIGJldHdl
ZW4gcmV0dXJuIHR5cGUNCj4gYW5kIGZ1bmN0aW9uIChvciBvYmplY3QpIG5hbWUuDQo+DQoNCk9r
Lg0KIA0KPiA+ICt7DQo+ID4gKyAgICBub2RlaWRfdCBuaWQ7DQo+ID4gKyAgICBWSVJUVUFMX0JV
R19PTigocGFkZHJfdG9fcGR4KGFkZHIpID4+IG1lbW5vZGVfc2hpZnQpID49DQo+IG1lbW5vZGVt
YXBzaXplKTsNCj4gPiArICAgIG5pZCA9IG1lbW5vZGVtYXBbcGFkZHJfdG9fcGR4KGFkZHIpID4+
IG1lbW5vZGVfc2hpZnRdOw0KPiA+ICsgICAgVklSVFVBTF9CVUdfT04obmlkID49IE1BWF9OVU1O
T0RFUyB8fCAhbm9kZV9kYXRhW25pZF0pOw0KPiA+ICsgICAgcmV0dXJuIG5pZDsNCj4gPiArfQ0K
PiA+ICsNCj4gPiArI2RlZmluZSBOT0RFX0RBVEEobmlkKSAgICAgICAgICAoJihub2RlX2RhdGFb
bmlkXSkpDQo+IA0KPiBBZ2FpbiBwbGVhc2UgdGFrZSB0aGUgb3Bwb3J0dW5pdHkgYW5kIGRyb3Ag
dGhlIHVubmVjZXNzYXJ5IGlubmVyDQo+IHBhcmVudGhlc2VzLg0KPiANCg0KT2suDQoNCj4gPiAr
I2RlZmluZSBub2RlX3N0YXJ0X3BmbihuaWQpICAgICAoTk9ERV9EQVRBKG5pZCktPm5vZGVfc3Rh
cnRfcGZuKQ0KPiA+ICsjZGVmaW5lIG5vZGVfc3Bhbm5lZF9wYWdlcyhuaWQpIChOT0RFX0RBVEEo
bmlkKS0+bm9kZV9zcGFubmVkX3BhZ2VzKQ0KPiA+ICsjZGVmaW5lIG5vZGVfZW5kX3BmbihuaWQp
ICAgICAgIChOT0RFX0RBVEEobmlkKS0+bm9kZV9zdGFydF9wZm4gKyBcDQo+ID4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTk9ERV9EQVRBKG5pZCktPm5vZGVfc3Bhbm5lZF9wYWdl
cykNCj4gDQo+IFBsZWFlIGNvcnJlY3QgaW5kZW50YXRpb24gaGVyZSAtIGl0IHdhcyBjb3JyZWN0
IG9yaWdpbmFsbHkgKGV4Y2VwdA0KPiBmb3IgdGhlIGZhY3QgdGhhdCBpdCB3YXMgdXNpbmcgaGFy
ZCB0YWJzKS4NCj4NCg0KT2suDQoNCkNoZWVycywNCldlaSBDaGVuDQogDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 10:07:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 10:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394519.633950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSbg9-0000Fy-5K; Mon, 29 Aug 2022 10:07:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394519.633950; Mon, 29 Aug 2022 10:07:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSbg9-0000Fr-1i; Mon, 29 Aug 2022 10:07:37 +0000
Received: by outflank-mailman (input) for mailman id 394519;
 Mon, 29 Aug 2022 10:07:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSbg7-0000Fh-Iz; Mon, 29 Aug 2022 10:07:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSbg7-0002DS-ED; Mon, 29 Aug 2022 10:07:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSbg7-0000FL-1u; Mon, 29 Aug 2022 10:07:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSbg7-0006Wh-1K; Mon, 29 Aug 2022 10:07:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7lssIQs1debRIa/7imKcAk40ez5rLP0sPyvHG0Cobgw=; b=O333U0RiJsxzq+0rHI7Rt8JQpZ
	4+skfpRa7/VPtRSb0A9VJgcoBM4nwl577UL2XzhyTjtW1tWaQ0kMvzwjVTbVSskFErcSTAIVe4B0M
	S8HfCHWxkF9VJCizuB5qVjZ9BwOsI3LuPPghO6cvmh0k1DtNJgdS7JNjvGw11VNcblGM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172846-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172846: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 10:07:35 +0000

flight 172846 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172846/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   25 days
Failing since        172151  2022-08-05 02:40:28 Z   24 days  196 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 10:18:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 10:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394528.633961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSbqD-0001nT-8f; Mon, 29 Aug 2022 10:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394528.633961; Mon, 29 Aug 2022 10:18:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSbqD-0001nM-5i; Mon, 29 Aug 2022 10:18:01 +0000
Received: by outflank-mailman (input) for mailman id 394528;
 Mon, 29 Aug 2022 10:17:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Emil=ZB=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oSbqB-0001nG-FH
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 10:17:59 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2069.outbound.protection.outlook.com [40.107.20.69])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da24da49-2783-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 12:17:57 +0200 (CEST)
Received: from AS9PR0301CA0003.eurprd03.prod.outlook.com
 (2603:10a6:20b:468::24) by DB6PR0801MB1974.eurprd08.prod.outlook.com
 (2603:10a6:4:72::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Mon, 29 Aug
 2022 10:17:54 +0000
Received: from AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:468:cafe::ae) by AS9PR0301CA0003.outlook.office365.com
 (2603:10a6:20b:468::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21 via Frontend
 Transport; Mon, 29 Aug 2022 10:17:54 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT036.mail.protection.outlook.com (100.127.140.93) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 10:17:54 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Mon, 29 Aug 2022 10:17:53 +0000
Received: from 366aba678583.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 601978E7-0F52-45C6-8C52-888320BC8139.1; 
 Mon, 29 Aug 2022 10:17:47 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 366aba678583.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Aug 2022 10:17:47 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by HE1PR08MB2652.eurprd08.prod.outlook.com (2603:10a6:7:30::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Mon, 29 Aug
 2022 10:17:38 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5566.021; Mon, 29 Aug 2022
 10:17:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da24da49-2783-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=TZ3y35cUnluUotDOeVoo0qmhyLCfvJEIGaDsubu5pH5hHifTejJpVnXEMAnw52HpLXmYz5DlDRCUr3E7LziZQD6QPTAKVXK6BTnQMVqC8PgcnfD1ZmsGElrPcNyixhCk0FEfyCTQ/Dd1FrMlVucs9Cpgvl2pqeofRt1+zIA1m2fYdWm45qt83s0EA4iKgerEorcth+zFhIvZdnTIgyeXje8ht1Mea9KLRj4SwnfCr8kbPLHlygxR2jOzaw/ndWk7CWM6VrZU3R6C/+6OPa6P/ZeNNc+Vz2nyEC2VTGBHTDMsK7oGxY3V9F33zGWS9mX85+ULZbn6HnDRnQvNOGIdbg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jRNhH2fkOYjz9s/JKS8HNghlnSDdFFVSgBW+uGA9CIQ=;
 b=e8YYD/6bLBh7KT+88AQAZ543CwpOZu9KfQq/b1mSph0CCguPz/mZP60zUQUzGOgCHwWdx5wiO/ryrLxGen9H3eMqFdtqwFdahqgmwU5XaaXliWC8JkhfpBBTG1+gXS8UcKCbE1j/K+2MJX4RX2UD8y5bQaWvjwsW4a7WDian8aj6M17PDwKvnemu5Zg5pNmgbQfclsHBLlQqtOD3IF5gn5VLiCxdobtZomTB1XQ9yxT86S8GNddNfJS8b6V8xbgVpitTQnjCEtE0T82C/TAbXvebZ8sSfcNyTI/DPoGbp78qTDKrHBaseTkxNW4ysC7+lBNcTX9CtGPo/mQ36cOEHQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jRNhH2fkOYjz9s/JKS8HNghlnSDdFFVSgBW+uGA9CIQ=;
 b=iMQnWZeNln9eOddLo7N9d4y8asOQazyejMb6W9XgJMf1WU2YtISaUd8JbmE6qAFKIa4UHSsacTAdk6YayVxfslouQ+GeskOLSTJT4hGw+fGu8VKIsTggu4QkAZHj6R8YMkWgeudsLFnHdy0f1VdiGpLjPDf/9ZTk3zq8kmUDVF8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H1z/ip4LnaRWjkG8P9Nd1S4bmbXgBxrV9ZFQ8pD60D8HU3X1rdKUzK/wgSt/3836FRTfGWmmFpztuBEpD70C6peVe+QmOuA3kzjNCrUq3vql1bcblReaFl06QC3sHtqev6I8FNpVEEfZAv18TRY720D2hsnK6Df8Py6XByO/k8hPBbvkT5GaivTm7QaODhN9lvzlKEMb9ijGo7u15CCbbqzauutLP5zY5AAAPlF0DWugGaRQJewysGSUQx5FWZ107TLreyTI7Xy2lS/l3MomK9flb5MNga1cyBCpaIWJNey+t8MHx+xXnmACnVpnvmUqLfwEnNPdPXqTsfk4rmz9zg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jRNhH2fkOYjz9s/JKS8HNghlnSDdFFVSgBW+uGA9CIQ=;
 b=fmqNPg2mzA83JXpiNf6Hgx6mhiMZ3Mf/LOVeTf5gS9hR6wrF5+xdjXQQTxWY6O/retseVbhNjFxVHX83EHZMBPQHkJM7VQ2tKB9wwewtt4G4ejAnxWY2SL5hENhqhZ4PRM5twsqv17ncO5qoQ56LM3+JBT3vLEHk8mnm7CXvQCpnkrc08Vfmk0QG/EABjtMCv51mXeS8GdeqYuXRcExFRqF7YbZSsh+JaJ7wcC9GqyDPXy6kwf8qK4pVjW1NWuj43rlIcavnm+YEjn2BBGzd3Ujf1a9B6xRbUjFLTXqWFb5Ju2sRnZMkFC6nwjnIzqaakMsySbXDGj0/673FUQx0tA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jRNhH2fkOYjz9s/JKS8HNghlnSDdFFVSgBW+uGA9CIQ=;
 b=iMQnWZeNln9eOddLo7N9d4y8asOQazyejMb6W9XgJMf1WU2YtISaUd8JbmE6qAFKIa4UHSsacTAdk6YayVxfslouQ+GeskOLSTJT4hGw+fGu8VKIsTggu4QkAZHj6R8YMkWgeudsLFnHdy0f1VdiGpLjPDf/9ZTk3zq8kmUDVF8=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: nd <nd@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 4/6] xen/x86: use arch_get_ram_range to get information
 from E820 map
Thread-Topic: [PATCH v3 4/6] xen/x86: use arch_get_ram_range to get
 information from E820 map
Thread-Index: AQHYtdMz1vGBusPHbkWa5f3aYmkHna2/jMQAgAYiKbA=
Date: Mon, 29 Aug 2022 10:17:38 +0000
Message-ID:
 <PAXPR08MB7420CCB6E5456D9037E06C289E769@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-5-wei.chen@arm.com>
 <392cae07-d8da-8ecf-4356-cd5c6f983629@suse.com>
In-Reply-To: <392cae07-d8da-8ecf-4356-cd5c6f983629@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9E46011765101041BE290C683999FD69.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: cb4682c0-8cdb-480f-501c-08da89a7bc94
x-ms-traffictypediagnostic:
	HE1PR08MB2652:EE_|AM7EUR03FT036:EE_|DB6PR0801MB1974:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ONMb0yPb1YFKdnc+Gb1vTauzTEcfTNcoYBqw4qftGd2/WT1nnmOTtmDyzPpGw7OOH1TTsUBwS8DRonulP/+jgeWhVPHDnP8+YK3kduxeKtwcxc8VxQ5XriBCed1y5bT7vkDkF4+Rio53xU8uuUt5MtuKheehCOErWIfKPpdss9g21fR32W1H9VqzqcY2yFDCdool1Mo44+X/y4wVMCbTv8jyms06DC45LOBqiT9YyBtX5GLVpHhDfV6oRQUmfcxfqjcVtN25MPgp12N37Jm+wXPr+CXCVkx/ofCWYqUM76Gyuqwze5L9VvVFTxpmQ8fAdjphgEp3Gst/I7V4on/VsUY5nIa9yB+yRbndVCB8fwK6bjRVOGfKb6lvtSz5DXRFNNtRrczU4emjnK4hwSkKyvrXVLsWSDl1KER7tt/3UvdHCb+icuuK/QCoL/X9wF4Hqrgd8mA62yP9L+qKPI6CVTrDTC8l8EIq6Q0L1BO++HcTkMRa5ccKRltEowCFTOmNAkFyaoNpC9p11Ump1f3trwq3a6N2MqGB32AHQeXQMQuetkDxmP7MyXhUgmRbPrZ/x593I/iPnZfy2eAlLeCZwJDzjg9I99LXQX2rN1v5aLgWDQSOVE2oShfzevQnM82ZV0jX1Sstwhp3rKZeJq8zixUcfGNbugvLCu8pmZhNuLDCL6OnzSpvSVU9/26uKh6NZoDXT1IprKGbKt5qttc0zGFdgeg8FqEESqRYS5W5GFbNAGjGmGQJp4dmlUkU9rui5XC49nSTaVbgInCzqCbnjA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(136003)(396003)(2906002)(83380400001)(38100700002)(9686003)(26005)(122000001)(6506007)(53546011)(55016003)(7696005)(33656002)(186003)(71200400001)(6916009)(54906003)(316002)(8676002)(64756008)(66946007)(4326008)(66446008)(66476007)(66556008)(76116006)(52536014)(86362001)(41300700001)(5660300002)(8936002)(38070700005)(478600001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2652
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b41c670a-e71a-4af8-ab1c-08da89a7b2f9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Mr7Co67yXT45hiKz+WDisNl0V1R6KbStwe9z/RuJ3r9ArRboe6d5fDgQmT/KWgMZKzbg7rtVQUbolz7JdLrOD599+CAp1cxe1+YTl+nRhzA/TCNYLFczZKMAdeGE9yE/1bIIroNtM9zIvjw41MIRhEiLqYWDl0j+1ki4M1JbVM4aG9Pb6ogH2NU/OrMtwnoCR9OJaMoSaqHytb4V/ectmYezwGyqFy2JTgJ9y8owiqFYGLQv88vLoQ//uHIAcXl+gzZLksyR+Xg3/slmQg6vw4unBrPnHVqiAYNAAdk0vu3mgtz9aRAcViUhmtDSA0tE8yZizNDb9+Myuw9EWnUjMR4THMGeg2DWa5ijjCs9Rl12L1gknd7zlmos24TP1D3cdKT0T/pKKSk9ZblCB4Fd4R5jCdisPVaxcpcMTYKNOBRd0IoKbLIhgI4Wua8lj6WB6cbkwRBf9lzxqOkJYgT8MKRLmOHO10Om4JjkqtG9cC7yplpXx4H+EjiuJRT7fViW+51FuT4GKTsNTtTLE50uQBEVB9TOi2qcwE+dPzm+xNxEkZsc70sxf2MuMxJkGxHeksVbhw8vQzVePF2O4gY99X3moRnVk8i4jSlFqoBoSTP7w3f0z2zRkuVlQZEfQP5Of2n29l3Av3r2bZ9s9PM642UhHy1W2LjwtDnLx5NRz8qYgQuSfr3LQkyvZ54sr7SsoC95RzDAl/8oW1fqqFTu/WG/yvmHuCHz1O6vLV2CuFV/lT0iSv39+S9o88PibXbV
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(136003)(376002)(346002)(46966006)(36840700001)(8676002)(4326008)(316002)(54906003)(70206006)(70586007)(86362001)(6862004)(5660300002)(8936002)(478600001)(81166007)(52536014)(41300700001)(356005)(7696005)(6506007)(82310400005)(53546011)(9686003)(2906002)(82740400003)(26005)(36860700001)(40480700001)(47076005)(55016003)(336012)(83380400001)(186003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 10:17:54.2101
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cb4682c0-8cdb-480f-501c-08da89a7bc94
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDjmnIgyNeaXpSAyMDoxNA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBuZCA8bmRAYXJtLmNvbT47
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUNCj4g
TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT47IFdlaSBMaXUgPHdsQHhlbi5vcmc+OyBHZW9y
Z2UgRHVubGFwDQo+IDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+OyBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPjsgU3RlZmFubw0KPiBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggdjMgNC82XSB4ZW4veDg2OiB1c2UgYXJjaF9nZXRfcmFtX3JhbmdlIHRvIGdldA0KPiBpbmZv
cm1hdGlvbiBmcm9tIEU4MjAgbWFwDQo+IA0KPiBPbiAyMi4wOC4yMDIyIDA0OjU4LCBXZWkgQ2hl
biB3cm90ZToNCj4gPiBAQCAtOTYsMyArOTcsMjcgQEAgdW5zaWduZWQgaW50IF9faW5pdCBhcmNo
X2dldF9kbWFfYml0c2l6ZSh2b2lkKQ0KPiA+ICAgICAgICAgICAgICAgICAgIGZsc2wobm9kZV9z
dGFydF9wZm4obm9kZSkgKyBub2RlX3NwYW5uZWRfcGFnZXMobm9kZSkgLw0KPiA0IC0gMSkNCj4g
PiAgICAgICAgICAgICAgICAgICArIFBBR0VfU0hJRlQsIDMyKTsNCj4gPiAgfQ0KPiA+ICsNCj4g
PiArLyoNCj4gPiArICogVGhpcyBmdW5jdGlvbiBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3IgY2Fs
bGVyIHRvIGdldCBvbmUgUkFNIGVudHJ5DQo+ID4gKyAqIGZyb20gYXJjaGl0ZWN0dXJhbCBtZW1v
cnkgbWFwIGJ5IGluZGV4Lg0KPiA+ICsgKg0KPiA+ICsgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0
dXJuIHplcm8gaWYgaXQgY2FuIHJldHVybiBhIHByb3BlciBSQU0gZW50cnkuDQo+ID4gKyAqIG90
aGVyd2lzZSBpdCB3aWxsIHJldHVybiAtRU5PRU5UIGZvciBvdXQgb2Ygc2NvcGUgaW5kZXgsIG9y
IHJldHVybg0KPiA+ICsgKiAtRUlOVkFMIGZvciBub24tUkFNIHR5cGUgbWVtb3J5IGVudHJ5Lg0K
PiA+ICsgKg0KPiA+ICsgKiBOb3RlOiB0aGUgcmFuZ2UgaXMgZXhjbHVzaXZlIGF0IHRoZSBlbmQs
IGUuZy4gW3N0YXJ0LCBlbmQpLg0KPiA+ICsgKi8NCj4gPiAraW50IF9faW5pdCBhcmNoX2dldF9y
YW1fcmFuZ2UodW5zaWduZWQgaW50IGlkeCwgcGFkZHJfdCAqc3RhcnQsIHBhZGRyX3QNCj4gKmVu
ZCkNCj4gDQo+IFNpbmNlIHRoZSBjb21tZW50IGlzIGludGVuZGVkIHRvIGFwcGx5IHRvIGFsbCBh
cmNoaXRlY3R1cmVzIHByb3ZpZGluZywNCj4gSSB0aGluayBpdCBzaG91bGQgZ28gd2l0aCB0aGUg
ZGVjbGFyYXRpb24gKG9uY2UpIHJhdGhlciB0aGFuIHRoZQ0KPiBkZWZpbml0aW9uIChhdCBsZWFz
dCBvbmUgaW5zdGFuY2UgcGVyIGFyY2gpLg0KPiANCg0KT2ssIEkgd2lsbCBtb3ZlIHRoZSBjb21t
ZW50IHRvIGhlYWRlciBmaWxlLg0KDQo+ID4gK3sNCj4gPiArICAgIGlmICggaWR4ID49IGU4MjAu
bnJfbWFwICkNCj4gPiArICAgICAgICByZXR1cm4gLUVOT0VOVDsNCj4gPiArDQo+ID4gKyAgICBp
ZiAoIGU4MjAubWFwW2lkeF0udHlwZSAhPSBFODIwX1JBTSApDQo+ID4gKyAgICAgICAgcmV0dXJu
IC1FSU5WQUw7DQo+IA0KPiBFSU5WQUwgaXMgc28gaGVhdmlseSAob3Zlcilsb2FkZWQgdGhhdCBJ
J20gaW5jbGluZWQgdG8gYXNrIHRvIHVzZSBlLmcuDQo+IC1FTk9EQVRBIGhlcmUuDQo+IA0KDQpP
ay4NCg0KPiA+IC0tLSBhL3hlbi9hcmNoL3g4Ni9zcmF0LmMNCj4gPiArKysgYi94ZW4vYXJjaC94
ODYvc3JhdC5jDQo+ID4gQEAgLTQyOCwxOCArNDI4LDIyIEBAIGFjcGlfbnVtYV9tZW1vcnlfYWZm
aW5pdHlfaW5pdChjb25zdCBzdHJ1Y3QNCj4gYWNwaV9zcmF0X21lbV9hZmZpbml0eSAqbWEpDQo+
ID4gICAgIE1ha2Ugc3VyZSB0aGUgUFhNcyBjb3ZlciBhbGwgbWVtb3J5LiAqLw0KPiA+ICBzdGF0
aWMgaW50IF9faW5pdCBub2Rlc19jb3Zlcl9tZW1vcnkodm9pZCkNCj4gPiAgew0KPiA+IC0JaW50
IGk7DQo+ID4gKwl1bnNpZ25lZCBpbnQgaTsNCj4gPg0KPiA+IC0JZm9yIChpID0gMDsgaSA8IGU4
MjAubnJfbWFwOyBpKyspIHsNCj4gPiArCWZvciAoaSA9IDA7IDsgaSsrKSB7DQo+ID4gIAkJaW50
IGosIGZvdW5kOw0KPiA+ICAJCXBhZGRyX3Qgc3RhcnQsIGVuZDsNCj4gPg0KPiA+IC0JCWlmIChl
ODIwLm1hcFtpXS50eXBlICE9IEU4MjBfUkFNKSB7DQo+ID4gKwkJLyogVHJ5IHRvIGxvb3AgbWVt
b3J5IG1hcCBmcm9tIGluZGV4IDAgdG8gZW5kIHRvIGdldCBSQU0NCj4gcmFuZ2VzLiAqLw0KPiA+
ICsJCWZvdW5kID0gYXJjaF9nZXRfcmFtX3JhbmdlKGksICZzdGFydCwgJmVuZCk7DQo+ID4gKw0K
PiA+ICsJCS8qIEluZGV4IHJlbGF0ZSBlbnRyeSBpcyBub3QgUkFNLCBza2lwIGl0LiAqLw0KPiA+
ICsJCWlmIChmb3VuZCA9PSAtRUlOVkFMKQ0KPiA+ICAJCQljb250aW51ZTsNCj4gPiAtCQl9DQo+
ID4NCj4gPiAtCQlzdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7DQo+ID4gLQkJZW5kID0gZTgyMC5t
YXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemU7DQo+ID4gKwkJLyogUmVhY2ggdGhlIGVuZCBv
ZiBhcmNoJ3MgbWVtb3J5IG1hcCAqLw0KPiA+ICsJCWlmIChmb3VuZCA9PSAtRU5PRU5UKQ0KPiA+
ICsJCQlicmVhazsNCj4gDQo+IFdoYXQgaWYgYW4gYXJjaCByZXR1cm5zIGEgM3JkIGVycm9yIGlu
ZGljYXRvcj8gVGhlIHdheSB5b3UndmUgd3JpdHRlbg0KPiBpdCBjb2RlIGJlbG93IHdvdWxkIGFz
c3VtZSBzdWNjZXNzIGFuZCB1c2UgdW5pbml0aWFsaXplZCBkYXRhLiBJJ2QNCj4gbGlrZSB0byBz
dWdnZXN0IHRvIG9ubHkgc3BlY2lhbC1jYXNlIC1FTk9FTlQgYW5kIHRyZWF0IGFsbCBvdGhlcg0K
DQpZZXMsIEkgaGFkbid0IHRha2VuIHRoZSAzcmQgZXJyb3IgY2FzZSBpbnRvIGFjY291bnQuIEkg
d2lsbCBmb2xsb3cgeW91cg0KQ29tbWVudCBpbiBuZXh0IHZlcnNpb24uDQoNCj4gZXJyb3JzIHRo
ZSBzYW1lLiBCdXQgb2YgY291cnNlIHRoZSB2YXJpYWJsZSAocmUpdXNlZCBkb2Vzbid0IHJlYWxs
eQ0KPiBmaXQgdGhhdDoNCj4gDQo+IAkJLyogUmVhY2ggdGhlIGVuZCBvZiBhcmNoJ3MgbWVtb3J5
IG1hcCAqLw0KPiAJCWlmIChmb3VuZCA9PSAtRU5PRU5UKQ0KPiAJCQlicmVhazsNCj4gDQo+IAkJ
LyogSW5kZXggcmVsYXRlIGVudHJ5IGlzIG5vdCBSQU0sIHNraXAgaXQuICovDQo+IAkJaWYgKGZv
dW5kKQ0KPiAJCQljb250aW51ZTsNCj4gDQo+IGJlY2F1c2UgaGVyZSByZWFsbHkgeW91IG1lYW4g
Im5vdCBmb3VuZCIuIFNpbmNlIGluIGZhY3QgImZvdW5kIiB3b3VsZA0KPiB3YW50IHRvIGJlIG9m
ICJib29sIiB0eXBlIGluIHRoZSBmdW5jdGlvbiwgYW5kICJqIiB3b3VsZCB3YW50IHRvIGJlDQo+
ICJ1bnNpZ25lZCBpbnQiIGp1c3QgbGlrZSAiaSIgaXMsIEkgcmVjb21tZW5kIGludHJvZHVjaW5n
IGEgbmV3IGxvY2FsDQo+IHZhcmlhYmxlLCBlLmcuICJlcnIiLg0KPiANCg0KT2suDQoNCkNoZWVy
cywNCldlaSBDaGVuDQoNCj4gSmFuDQo+IA0KPiA+ICAJCWRvIHsNCj4gPiAgCQkJZm91bmQgPSAw
Ow0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 10:47:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 10:47:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394534.633972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oScIh-00053g-H3; Mon, 29 Aug 2022 10:47:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394534.633972; Mon, 29 Aug 2022 10:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oScIh-00053Z-Dt; Mon, 29 Aug 2022 10:47:27 +0000
Received: by outflank-mailman (input) for mailman id 394534;
 Mon, 29 Aug 2022 10:47:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Emil=ZB=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oScIf-00053S-T0
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 10:47:26 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-eopbgr60070.outbound.protection.outlook.com [40.107.6.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6e431fb-2787-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 12:47:24 +0200 (CEST)
Received: from AM5PR0402CA0011.eurprd04.prod.outlook.com
 (2603:10a6:203:90::21) by AS4PR08MB7832.eurprd08.prod.outlook.com
 (2603:10a6:20b:51c::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Mon, 29 Aug
 2022 10:47:21 +0000
Received: from VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:90:cafe::72) by AM5PR0402CA0011.outlook.office365.com
 (2603:10a6:203:90::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21 via Frontend
 Transport; Mon, 29 Aug 2022 10:47:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT030.mail.protection.outlook.com (10.152.18.66) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 10:47:20 +0000
Received: ("Tessian outbound 6a3290ff1310:v123");
 Mon, 29 Aug 2022 10:47:20 +0000
Received: from fa52e90d51ed.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7A81505B-CF82-4CD7-B027-25ADA7EDF014.1; 
 Mon, 29 Aug 2022 10:47:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fa52e90d51ed.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Aug 2022 10:47:14 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB6PR0801MB1685.eurprd08.prod.outlook.com (2603:10a6:4:38::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Mon, 29 Aug
 2022 10:47:10 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5566.021; Mon, 29 Aug 2022
 10:47:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6e431fb-2787-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Y69ZOO6UzX1wu5zsiZHWH/SqsS0vTBGHCdokKDEUIIyNLDZi2GAQ8fzC8KzIK/TZnh4C+9Rz3WmJi4Nl3cOyYmljte+MeVODvpEjCFipnCuDODHuSGuGfgzDVdGYbjgv1Gbn5xvonwNARlxnGnJlg+ajhYpCGLHckOSaU37PXIfLLiWryvYgOdB+euO9hcV0/hMkNoM9Ch7mlhcijVEW+DWqsOcALQAMoYhLpvM4X6LFYnyOBt1xti/JwgmOffrrciBoynH8eDuHkQRdMI+3RDHu5I1iZI7gxn8d24WqHPuioz3/R0QlwU+xvxZ6GEh3xijYeu/YpLG02AfVihqnNw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O41ZtzFsUawgbIUV0P7gtt3+nqLxV1hCpCvyF7lDXNQ=;
 b=L2rC+wXTbmULO02NKL9v1diBv/kww37YOP7rdtNCv0OhIp46yRwyW3CF6QjVuXOYI+bZdynFHCEUSvtyroIjKIfjRQoPkKY1T3TFbH7sUlaHFLhdnMiWb8IObHJOm51nZMpzZGgcP9EmetGYKcR7bAaDbCqagMchAZYdQSMzjcIbUvjXIcpQVX1jytaWp83SFNyYidMCMeMU+ZFC1mmOf49s6sB/AJrm5HpNGG7+uB4OBJerQ/pr9t9wi2kVpErAwaR/R2EztFJHEwOuMpsKmv3GL8mHmLva0Jj4Lf3eNdpmo57FnTg8KNDJQZuT+vN7inj4YhU3zNmOzLaLgkDD5w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O41ZtzFsUawgbIUV0P7gtt3+nqLxV1hCpCvyF7lDXNQ=;
 b=8mQGC88GZbeVZaxzTTP6URvy0aIh8yAInaUv6oGEiauqOGV8OlXm8TwNjZsKc06X2Rx7m68kJG8GCaJ3fhPahke7k6sFWwLnHD50kO1y9dn2NJfY9Ce5ldFIJqPoiLQSlJzrJQu2+UTQzHS0fxXx4bhLQNrkRRchdEL1n22VqU4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bPvtv7X9GBHgF4b/2tjN51zL6ynKzStlG8jb5SsknlIMj/Ei9kGWQ00uFA/QbFQOIFO4YpGc+r9KWqffhhEr1zf0C31CUZUctEMUgTDPbc/1XY/c8WXau63jvC0Q4P2OoCHN8J7ETfsJOA8BH8WRpCN/wE8OhWV2UdflDQQo2HJgFQ0WUraL7SFRfa6QVBV0KZItEJIzRE6X+jl86hAg5/e4DON0+bP4xwPyRCwGHaybNaDbCoh5ffFkJx4oHvG55cUWJA9Hcrt4qh4NGoW0ydLA/N2P6/F/4nV4FE4AuxtlIGsgN15mJLH2DI/jZUoDs8HwgiOpaxMNdbEpEm4x1Q==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O41ZtzFsUawgbIUV0P7gtt3+nqLxV1hCpCvyF7lDXNQ=;
 b=gDcMAF/HZWI2p7C6nrg7WDU3NlWWyz/8Q62J3uIuThUbaZor7BtpkAKRG4cHojiTZvRzk5N54NuC7IQBsV3sj/ZArvCa3LJzwCgI6bR5ctqVQHmLcC+RxU40ntPw0VJ4VtPK8ch2fTg73duPdAc84mkD0UyZ4lgIYwCUZ7GEXwgAeXT4gECZ8Eq0eJl9jjVuXUqJVS38Nlbflxfw06XxCFru9Ke+yHLr7YgG35vBkmDTbC/yFiwVsmXLzWQe0eyQ5iNzAI5NA6owwEoCbxANl7GzzpREQPsmh2WVIiMN2Hg0xaW/SgjPCp6K1semvlBlvtc0kMsW+LD3y4Frihepxw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O41ZtzFsUawgbIUV0P7gtt3+nqLxV1hCpCvyF7lDXNQ=;
 b=8mQGC88GZbeVZaxzTTP6URvy0aIh8yAInaUv6oGEiauqOGV8OlXm8TwNjZsKc06X2Rx7m68kJG8GCaJ3fhPahke7k6sFWwLnHD50kO1y9dn2NJfY9Ce5ldFIJqPoiLQSlJzrJQu2+UTQzHS0fxXx4bhLQNrkRRchdEL1n22VqU4=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: nd <nd@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 5/6] xen/x86: move NUMA scan nodes codes from x86 to
 common
Thread-Topic: [PATCH v3 5/6] xen/x86: move NUMA scan nodes codes from x86 to
 common
Thread-Index: AQHYtdM2Eqjqd47WVk6sRlJr0wlVJa2/lskAgAYfE5A=
Date: Mon, 29 Aug 2022 10:47:09 +0000
Message-ID:
 <PAXPR08MB742071B0098747255B9A95F39E769@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-6-wei.chen@arm.com>
 <67d9e7bf-8e0c-9290-5ac5-30d8cd8b9177@suse.com>
In-Reply-To: <67d9e7bf-8e0c-9290-5ac5-30d8cd8b9177@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 6C5BC177969AAB488A2E7125EB56395B.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 7eba1e52-8576-46bf-13be-08da89abd985
x-ms-traffictypediagnostic:
	DB6PR0801MB1685:EE_|VE1EUR03FT030:EE_|AS4PR08MB7832:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 kz2HVDSvs3Ehjhtfc0lLVJh0Bx0rINbpz1KmMona4S1tpvNFPD+nBFBgBW7a1jkdF1wfVmt+tuC9pljDTBmdiooz+DOTfYeDlqEIOSB11aq5BZyVGDor0Xb4j6vKc1Z+WDU0ixMGtt3veI6l90k2WpJO2oHpGqbxMwhHOdibhY+w8qXLyn5j54q843wErTBbP/00sGt/I9GBGn+Z5GBgxVniRUu6ppCLB0H+XCHuoBujdJ17/FPcmw1zdRqxADu6ID8vsYYlnmsaBlicOxeQVboTilKJ9JOBKEO6tO+4nlDrn2Ep9uHwV/SLUhH+AgyWxsCtO3Fnqu4QYxRPKgN9tYEFogjb03HMkJmfJx5oK9SO13HsNpSR1j+ifShGdRb0Yro90K6UWPVN1XgsdwteuhQvHzdiZrwmkhtqchJTnn+hnegPNfE21trMcVdq5D+VHkGpU/1f/FZUNuySV/0kSsL5xw14Bmp0Ou4M09u6BZ+EJz8oIxlYPQh6zWa9RcDXv+XCpH1jPtipN52xOKree1PpfuHHPZrL9+B/MRzF2/adLVhCMtVfH4QKdF1PRNaKVd1EzLKx9B615Du0kXm4jhtH3ZQijiMvnxJkFohllQcJK7CoxvcM+XRJDpax/39a5tLIDdLVaTytFayVsmpbibEkhDAnTfxEnEkAqXZ0VknwTFVt0uujHtyCF1+t2SISnkzCnrAMhcFktkeb+0QW49+E7WYd0FP17J+SfsFAZYa47sa1GcSgsGu105RHIEyluWx69jGgtz+F6+4ggjb0hw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(39860400002)(136003)(346002)(376002)(396003)(33656002)(6506007)(7696005)(53546011)(86362001)(122000001)(38100700002)(41300700001)(83380400001)(26005)(186003)(9686003)(54906003)(6916009)(316002)(55016003)(66556008)(66946007)(478600001)(71200400001)(66476007)(66446008)(64756008)(4326008)(8676002)(2906002)(5660300002)(76116006)(38070700005)(52536014)(8936002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1685
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	dcf09aa2-86a1-4ab0-55b2-08da89abd31f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M+ppcQdaJ3gT9Z3Dh2hNv8HSGzEIdAnPH+c80ZXBJ3AGNKji7B1ltl5CQqk1MDq/sThyppgDS8k1FfVoqMQKfzDi7Fbtoz19DqJP+7d/2Oj4W/btVdkffUTFWCA/8SGefEC+3UxJUUugiHw4nYRKv9mc5yc7O6LVQG5x6vcDnJxlanJF9VBeSAfKMLqysy9D1Oqvw9K1+TY7cOY5vgzM8wFhrRqO/RA1mDtnYMxf6BLpndm4meQdn8SEFHjRAeQ0hF/UMwX4A5T1765lNqXBBEJA7udEY9lgDJilQGFQKccWS7cbmBvCLY1ngnvKfsx73aTfOTsj5uJpwj/5mqz3MMyEZ6KPpSQjb94FvsA0qN/XTxN3a/CIeMqtIKwPMcFdiT3y2yqNp1aG5FWDa1ZbcwuFiUui/AGuXGDCBzWzYIS+NlhwrVnGcb8aLCjxAKZJDifMXrjM4QtE176t1XpsoZTcw/mBLjaBkGtYNBZtAkvVZHIOgdMTFAZ4r0dDArLLf30Pry565OiYzNhk8fJGLsIduzKzsz7RJOhjz9l/vi5RhkVxST2TcimeKgONJoM13qXvIJ25PMbB+URrHZToXat27ZYLHDo9eK9Tf3wJOs4FsPn8j9kXUwQQrxJks9jyAYeA1QeNYl04AwOCUXxVvQeRb2Kv6aZtfhnAzVdf9TVk+2j5S65n3cP6EFsd7m4KFZmJGrhBEM3Ut8lvuLy6fDNAJe+A1LTXTWwTJSYXDFooq8Z9WyUzJw/Nc5Z/TlXjiq+U8VTHZfRXhKSaHgEiVg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(39860400002)(376002)(136003)(36840700001)(46966006)(40470700004)(70206006)(2906002)(70586007)(53546011)(7696005)(8676002)(33656002)(40480700001)(6506007)(8936002)(6862004)(52536014)(40460700003)(41300700001)(4326008)(336012)(5660300002)(55016003)(186003)(36860700001)(83380400001)(47076005)(478600001)(86362001)(81166007)(356005)(9686003)(26005)(82310400005)(82740400003)(54906003)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 10:47:20.6417
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7eba1e52-8576-46bf-13be-08da89abd985
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7832

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDjmnIgyNeaXpSAyMDo1MA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBuZCA8bmRAYXJtLmNvbT47
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUNCj4g
TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT47IFdlaSBMaXUgPHdsQHhlbi5vcmc+OyBHZW9y
Z2UgRHVubGFwDQo+IDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+OyBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPjsgU3RlZmFubw0KPiBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggdjMgNS82XSB4ZW4veDg2OiBtb3ZlIE5VTUEgc2NhbiBub2RlcyBjb2RlcyBmcm9tIHg4Ng0K
PiB0byBjb21tb24NCj4gDQo+IE9uIDIyLjA4LjIwMjIgMDQ6NTgsIFdlaSBDaGVuIHdyb3RlOg0K
PiA+IC0tLSBhL3hlbi9jb21tb24vbnVtYS5jDQo+ID4gKysrIGIveGVuL2NvbW1vbi9udW1hLmMN
Cj4gPiBAQCAtMTMsNiArMTMsMjEgQEANCj4gPiAgI2luY2x1ZGUgPHhlbi9zY2hlZC5oPg0KPiA+
ICAjaW5jbHVkZSA8eGVuL3NvZnRpcnEuaD4NCj4gPg0KPiA+ICtzdGF0aWMgbm9kZW1hc2tfdCBf
X2luaXRkYXRhIHByb2Nlc3Nvcl9ub2Rlc19wYXJzZWQ7DQo+ID4gK3N0YXRpYyBub2RlbWFza190
IF9faW5pdGRhdGEgbWVtb3J5X25vZGVzX3BhcnNlZDsNCj4gPiArc3RhdGljIHN0cnVjdCBub2Rl
IF9faW5pdGRhdGEgbm9kZXNbTUFYX05VTU5PREVTXTsNCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQg
X19yb19hZnRlcl9pbml0IG51bV9ub2RlX21lbWJsa3M7DQo+IA0KPiB1bnNpZ25lZCBpbnQ/DQo+
IA0KDQpZZXMsIEkgd2lsbCBmaXggaXQuDQoNCj4gPiBAQCAtMzYsNiArNTEsMzA4IEBAIGJvb2wg
bnVtYV9kaXNhYmxlZCh2b2lkKQ0KPiA+ICAgICAgcmV0dXJuIG51bWFfb2ZmIHx8IGFyY2hfbnVt
YV9kaXNhYmxlZChmYWxzZSk7DQo+ID4gIH0NCj4gPg0KPiA+ICt2b2lkIF9faW5pdCBudW1hX3Nl
dF9wcm9jZXNzb3Jfbm9kZXNfcGFyc2VkKG5vZGVpZF90IG5vZGUpDQo+ID4gK3sNCj4gPiArICAg
IG5vZGVfc2V0KG5vZGUsIHByb2Nlc3Nvcl9ub2Rlc19wYXJzZWQpOw0KPiA+ICt9DQo+ID4gKw0K
PiA+ICt1bnNpZ25lZCBpbnQgdmFsaWRfbnVtYV9yYW5nZShwYWRkcl90IHN0YXJ0LCBwYWRkcl90
IGVuZCwgbm9kZWlkX3Qgbm9kZSkNCj4gDQo+IGJvb2wgKGFuZCB0aGVuIHRydWUvZmFsc2UgYmVs
b3cpPw0KPiANCg0KT2suDQoNCj4gPiArew0KPiA+ICsgICAgdW5zaWduZWQgaW50IGk7DQo+ID4g
Kw0KPiA+ICsgICAgZm9yICggaSA9IDA7IGkgPCBudW1fbm9kZV9tZW1ibGtzOyBpKysgKQ0KPiA+
ICsgICAgew0KPiA+ICsgICAgICAgIHN0cnVjdCBub2RlICpuZCA9ICZub2RlX21lbWJsa19yYW5n
ZVtpXTsNCj4gDQo+IGNvbnN0Pw0KPiANCj4gPiArICAgICAgICBpZiAoIG5kLT5zdGFydCA8PSBz
dGFydCAmJiBuZC0+ZW5kID49IGVuZCAmJg0KPiA+ICsgICAgICAgICAgICAgbWVtYmxrX25vZGVp
ZFtpXSA9PSBub2RlICkNCj4gPiArICAgICAgICAgICAgcmV0dXJuIDE7DQo+ID4gKyAgICB9DQo+
ID4gKw0KPiA+ICsgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYw0KPiA+
ICtlbnVtIGNvbmZsaWN0cyBfX2luaXQgY29uZmxpY3RpbmdfbWVtYmxrcyhub2RlaWRfdCBuaWQs
IHBhZGRyX3Qgc3RhcnQsDQo+IA0KPiBNYXkgSSBhc2sgdGhhdCB5b3UgcmUtZmxvdyB0aGlzIHRv
IGVpdGhlcg0KPiANCj4gc3RhdGljIGVudW0gY29uZmxpY3RzIF9faW5pdA0KPiBjb25mbGljdGlu
Z19tZW1ibGtzKG5vZGVpZF90IG5pZCwgcGFkZHJfdCBzdGFydCwNCj4gDQo+IG9yDQo+IA0KPiBz
dGF0aWMgZW51bSBjb25mbGljdHMgX19pbml0IGNvbmZsaWN0aW5nX21lbWJsa3MoDQo+ICAgICBu
b2RlaWRfdCBuaWQsIHBhZGRyX3Qgc3RhcnQsDQo+IA0KPiA/DQo+IA0KDQpPay4NCg0KPiA+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IGVuZCwgcGFk
ZHJfdCBuZF9zdGFydCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFkZHJfdCBuZF9lbmQsIHVuc2lnbmVkIGludA0KPiAqbWJsa2lkKQ0KPiA+ICt7DQo+
ID4gKyAgICB1bnNpZ25lZCBpbnQgaTsNCj4gPiArDQo+ID4gKyAgICAvKg0KPiA+ICsgICAgICog
U2NhbiBhbGwgcmVjb3JkZWQgbm9kZXMnIG1lbW9yeSBibG9ja3MgdG8gY2hlY2sgY29uZmxpY3Rz
Og0KPiA+ICsgICAgICogT3ZlcmxhcCBvciBpbnRlcmxlYXZlLg0KPiA+ICsgICAgICovDQo+ID4g
KyAgICBmb3IgKCBpID0gMDsgaSA8IG51bV9ub2RlX21lbWJsa3M7IGkrKyApDQo+ID4gKyAgICB7
DQo+ID4gKyAgICAgICAgc3RydWN0IG5vZGUgKm5kID0gJm5vZGVfbWVtYmxrX3JhbmdlW2ldOw0K
PiANCj4gY29uc3Q/DQo+IA0KDQpBY2suDQoNCj4gPiArYm9vbCBfX2luaXQgbnVtYV9tZW1ibGtz
X2F2YWlsYWJsZSh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgICByZXR1cm4gbnVtX25vZGVfbWVtYmxr
cyA8IE5SX05PREVfTUVNQkxLUzsNCj4gPiArfQ0KPiANCj4gVGhpcyBpcyBraW5kIG9mIGNsdW1z
eSwgYnV0IEkgaGF2ZSBubyBiZXR0ZXIgc3VnZ2VzdGlvbi4NCj4gDQoNCkRpZCB5b3UgbWVhbiB0
aGUgd2hvbGUgZnVuY3Rpb24gb3IganVzdCB0aGUgbmFtZT8NCg0KPiA+ICsvKg0KPiA+ICsgKiBU
aGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGJ5IE5VTUEgbWVtb3J5IGFmZmluaXR5IGluaXRp
YWxpemF0aW9uDQo+IHRvDQo+ID4gKyAqIHVwZGF0ZSBOVU1BIG5vZGUncyBtZW1vcnkgcmFuZ2Uu
IEluIHRoaXMgZnVuY3Rpb24sIHdlIGFzc3VtZSBhbGwNCj4gbWVtb3J5DQo+ID4gKyAqIHJlZ2lv
bnMgYmVsb25naW5nIHRvIGEgc2luZ2xlIG5vZGUgYXJlIGluIG9uZSBjaHVuay4gSG9sZXMgKG9y
IE1NSU8NCj4gPiArICogcmFuZ2VzKSBiZXR3ZWVuIHRoZW0gd2lsbCBiZSBpbmNsdWRlZCBpbiB0
aGUgbm9kZS4NCj4gPiArICoNCj4gPiArICogU28gaW4gbnVtYV91cGRhdGVfbm9kZV9tZW1ibGtz
LCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgYmFua3MgZm9yIGVhY2gNCj4gPiArICogbm9kZSwgc3Rh
cnQgYW5kIGVuZCBhcmUgc3RyZXRjaGVkIHRvIGNvdmVyIHRoZSBob2xlcyBiZXR3ZWVuIHRoZW0s
DQo+IGFuZA0KPiA+ICsgKiBpdCB3b3JrcyBhcyBsb25nIGFzIG1lbW9yeSBiYW5rcyBvZiBkaWZm
ZXJlbnQgTlVNQSBub2RlcyBkb24ndA0KPiBpbnRlcmxlYXZlLg0KPiA+ICsgKi8NCj4gPiAraW50
IF9faW5pdCBudW1hX3VwZGF0ZV9ub2RlX21lbWJsa3Mobm9kZWlkX3Qgbm9kZSwgdW5zaWduZWQg
aW50DQo+IGFyY2hfbmlkLA0KPiANCj4gVGhlIGZ1bmN0aW9uIG9ubHkgZXZlciByZXR1cm5zIDAg
b3IgLUVJTlZBTCAtIHBsZWFzZSBjb25zaWRlciBzd2l0Y2hpbmcNCj4gdG8gImJvb2wiIHJldHVy
biB0eXBlLg0KDQpPay4NCg0KPiANCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFkZHJfdCBzdGFydCwgcGFkZHJfdCBzaXplLA0KPiA+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwcmVmaXgsDQo+ID4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaG90cGx1ZykNCj4gPiArew0KPiA+ICsgICAg
dW5zaWduZWQgaW50IGk7DQo+ID4gKyAgICBwYWRkcl90IGVuZCA9IHN0YXJ0ICsgc2l6ZTsNCj4g
PiArICAgIHBhZGRyX3QgbmRfc3RhcnQgPSBzdGFydDsNCj4gPiArICAgIHBhZGRyX3QgbmRfZW5k
ID0gZW5kOw0KPiA+ICsgICAgc3RydWN0IG5vZGUgKm5kID0gJm5vZGVzW25vZGVdOw0KPiA+ICsN
Cj4gPiArICAgIC8qDQo+ID4gKyAgICAgKiBGb3IgdGhlIG5vZGUgdGhhdCBhbHJlYWR5IGhhcyBz
b21lIG1lbW9yeSBibG9ja3MsIHdlIHdpbGwNCj4gPiArICAgICAqIGV4cGFuZCB0aGUgbm9kZSBt
ZW1vcnkgcmFuZ2UgdGVtcG9yYXJpbHkgdG8gY2hlY2sgbWVtb3J5DQo+ID4gKyAgICAgKiBpbnRl
cmxlYXZlcyB3aXRoIG90aGVyIG5vZGVzLiBXZSB3aWxsIG5vdCB1c2UgdGhpcyBub2RlDQo+ID4g
KyAgICAgKiB0ZW1wIG1lbW9yeSByYW5nZSB0byBjaGVjayBvdmVybGFwcywgYmVjYXVzZSBpdCB3
aWxsIG1hc2sNCj4gPiArICAgICAqIHRoZSBvdmVybGFwcyBpbiBzYW1lIG5vZGUuDQo+ID4gKyAg
ICAgKg0KPiA+ICsgICAgICogTm9kZSB3aXRoIDAgYnl0ZXMgbWVtb3J5IGRvZXNuJ3QgbmVlZCB0
aGlzIGV4cGFuZHNpb24uDQo+ID4gKyAgICAgKi8NCj4gPiArICAgIGlmICggbmQtPnN0YXJ0ICE9
IG5kLT5lbmQgKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIGlmICggbmRfc3RhcnQgPiBuZC0+
c3RhcnQgKQ0KPiA+ICsgICAgICAgICAgICBuZF9zdGFydCA9IG5kLT5zdGFydDsNCj4gPiArDQo+
ID4gKyAgICAgICAgaWYgKCBuZF9lbmQgPCBuZC0+ZW5kICkNCj4gPiArICAgICAgICAgICAgbmRf
ZW5kID0gbmQtPmVuZDsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gKyAgICAvKiBJdCBpcyBmaW5l
IHRvIGFkZCB0aGlzIGFyZWEgdG8gdGhlIG5vZGVzIGRhdGEgaXQgd2lsbCBiZSB1c2VkDQo+IGxh
dGVyKi8NCj4gDQo+IFBsZWFzZSBhZGp1c3Qgc3R5bGUgaGVyZS4NCj4gDQoNCk9rLg0KDQo+ID4g
KyAgICBzd2l0Y2ggKCBjb25mbGljdGluZ19tZW1ibGtzKG5vZGUsIHN0YXJ0LCBlbmQsIG5kX3N0
YXJ0LCBuZF9lbmQsDQo+ICZpKSApDQo+ID4gKyAgICB7DQo+ID4gKyAgICBjYXNlIE9WRVJMQVA6
DQo+ID4gKyAgICAgICAgaWYgKCBtZW1ibGtfbm9kZWlkW2ldID09IG5vZGUgKQ0KPiA+ICsgICAg
ICAgIHsNCj4gPiArICAgICAgICAgICAgYm9vbCBtaXNtYXRjaCA9ICEoaG90cGx1ZykgIT0gIXRl
c3RfYml0KGksIG1lbWJsa19ob3RwbHVnKTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgIHByaW50
aygiJXNOVU1BOiAlcyAldSBbJSJQUklwYWRkciIsICUiUFJJcGFkZHIiXSBvdmVybGFwcw0KPiB3
aXRoIGl0c2VsZiBbJSJQUklwYWRkciIsICUiUFJJcGFkZHIiXVxuIiwNCj4gPiArICAgICAgICAg
ICAgICAgICAgIG1pc21hdGNoID8gS0VSTl9FUlIgOiBLRVJOX1dBUk5JTkcsIHByZWZpeCwNCj4g
PiArICAgICAgICAgICAgICAgICAgIGFyY2hfbmlkLCBzdGFydCwgZW5kIC0gMSwNCj4gPiArICAg
ICAgICAgICAgICAgICAgIG5vZGVfbWVtYmxrX3JhbmdlW2ldLnN0YXJ0LCBub2RlX21lbWJsa19y
YW5nZVtpXS5lbmQNCj4gLSAxKTsNCj4gPiArICAgICAgICAgICAgaWYgKCBtaXNtYXRjaCApDQo+
ID4gKyAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAgICAgICAgICAgYnJl
YWs7DQo+ID4gKyAgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgICBwcmludGsoS0VSTl9FUlIN
Cj4gPiArICAgICAgICAgICAgICAgIk5VTUE6ICVzICV1IFslIlBSSXBhZGRyIiwgJSJQUklwYWRk
ciJdIG92ZXJsYXBzDQo+IHdpdGggJXMgJXUgWyUiUFJJcGFkZHIiLCAlIlBSSXBhZGRyIl1cbiIs
DQo+ID4gKyAgICAgICAgICAgICAgIHByZWZpeCwgYXJjaF9uaWQsIHN0YXJ0LCBlbmQgLSAxLCBw
cmVmaXgsDQo+ID4gKyAgICAgICAgICAgICAgIG51bWFfbm9kZV90b19hcmNoX25pZChtZW1ibGtf
bm9kZWlkW2ldKSwNCj4gPiArICAgICAgICAgICAgICAgbm9kZV9tZW1ibGtfcmFuZ2VbaV0uc3Rh
cnQsIG5vZGVfbWVtYmxrX3JhbmdlW2ldLmVuZCAtDQo+IDEpOw0KPiA+ICsgICAgICAgIHJldHVy
biAtRUlOVkFMOw0KPiA+ICsNCj4gPiArDQo+ID4gKyAgICBjYXNlIElOVEVSTEVBVkU6DQo+ID4g
KyAgICAgICAgcHJpbnRrKEtFUk5fRVJSDQo+ID4gKyAgICAgICAgICAgICAgICJOVU1B77yaICVz
ICV1OiBbJSJQUklwYWRkciIsICUiUFJJcGFkZHIiXSBpbnRlcmxlYXZlcw0KPiB3aXRoICVzICV1
IG1lbWJsayBbJSJQUklwYWRkciIsICUiUFJJcGFkZHIiXVxuIiwNCj4gPiArICAgICAgICAgICAg
ICAgcHJlZml4LCBhcmNoX25pZCwgbmRfc3RhcnQsIG5kX2VuZCAtIDEsDQo+ID4gKyAgICAgICAg
ICAgICAgIHByZWZpeCwgbnVtYV9ub2RlX3RvX2FyY2hfbmlkKG1lbWJsa19ub2RlaWRbaV0pLA0K
PiA+ICsgICAgICAgICAgICAgICBub2RlX21lbWJsa19yYW5nZVtpXS5zdGFydCwgbm9kZV9tZW1i
bGtfcmFuZ2VbaV0uZW5kIC0NCj4gMSk7DQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+
ID4gKw0KPiA+ICsgICAgY2FzZSBOT19DT05GTElDVDoNCj4gPiArICAgICAgICBicmVhazsNCj4g
PiArICAgIH0NCj4gPiArDQo+ID4gKyAgICBpZiAoICFob3RwbHVnICkNCj4gPiArICAgIHsNCj4g
PiArICAgICAgICBub2RlX3NldChub2RlLCBtZW1vcnlfbm9kZXNfcGFyc2VkKTsNCj4gPiArICAg
ICAgICBuZC0+c3RhcnQgPSBuZF9zdGFydDsNCj4gPiArICAgICAgICBuZC0+ZW5kID0gbmRfZW5k
Ow0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIGlmICggc3RyY2FzZWNtcCgiTm9kZSIsIHBy
ZWZpeCkgKQ0KPiA+ICsgICAgICAgIHByaW50ayhLRVJOX0lORk8gIk5VTUE6IE5vZGUgJXUgJXMg
JXUNCj4gWyUiUFJJcGFkZHIiLCAlIlBSSXBhZGRyIl0lc1xuIiwNCj4gPiArICAgICAgICAgICAg
ICAgbm9kZSwgcHJlZml4LCBhcmNoX25pZCwgc3RhcnQsIGVuZCAtIDEsDQo+ID4gKyAgICAgICAg
ICAgICAgIGhvdHBsdWcgPyAiIChob3RwbHVnKSIgOiAiIik7DQo+ID4gKyAgICBlbHNlDQo+ID4g
KyAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiTlVNQTogTm9kZSAldSBbJSJQUklwYWRkciIsICUi
UFJJcGFkZHIiXSVzXG4iLA0KPiA+ICsgICAgICAgICAgICAgICBub2RlLCBzdGFydCwgZW5kIC0g
MSwgaG90cGx1ZyA/ICIgKGhvdHBsdWcpIiA6ICIiKTsNCj4gDQo+IEhtbSwgaWYgSSdtIG5vdCBt
aXN0YWtlbiBvbmUgb2YgdGhlIHR3byBwcmludGsoKXMgYW5kIGhlbmNlIGFsc28gb25lIG9mDQo+
IHRoZSB0d28gZm9ybWF0IHN0cmluZ3Mgd2lsbCBiZSBkZWFkIGNvZGUgLyBkYXRhIG9uIGV2ZXJ5
IGFyY2hpZWN0dXJlLg0KPiBJIHdvbmRlciBpZiB3ZSBkb24ndCB3YW50IHRvIGhhdmUgYSBIQVNf
TlVNQV9GV19OT0RFX0lEIChuYW1lIHN1YmplY3QNCj4gdG8gaW1wcm92bWVudCkgS2NvbmZpZyBz
ZXR0aW5nIHRvIGF2b2lkIHN1Y2guIEkgY291bGQgaW1hZ2luZSB0aGlzIHRvDQo+IGJlY29tZSBy
ZWxldmFudCBhbHNvIGluIG90aGVyIGNvZGUuDQo+IA0KDQpJZiBIQVNfTlVNQV9GV19OT0RFX0lE
IGNhbiBhdm9pZCBzdWNoIGtpbmQgb2YgY29kZSwgSSB3aWxsIHRyeSB0bw0KdXNlIGl0IGluIG5l
eHQgdmVyc2lvbi4NCg0KPiA+ICtzdGF0aWMgaW50IF9faW5pdCBudW1hX3NjYW5fbm9kZXMocGFk
ZHJfdCBzdGFydCwgcGFkZHJfdCBlbmQpDQo+IA0KPiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgb25s
eSAwIG9yIC0xLCBpLmUuIGlzIGV2ZW4gbW9yZSBvZiBhIGNhbmRpZGF0ZQ0KPiBmb3IgaGF2aW5n
ICJib29sIiByZXR1cm4gdHlwZSB0aGFuIG51bWFfdXBkYXRlX25vZGVfbWVtYmxrcygpLg0KPiAN
Cg0KT2ssIEkgd2lsbCB0cnkgaXQuDQoNCj4gPiArew0KPiA+ICsgICAgdW5zaWduZWQgaW50IGk7
DQo+ID4gKyAgICBub2RlbWFza190IGFsbF9ub2Rlc19wYXJzZWQ7DQo+ID4gKw0KPiA+ICsgICAg
LyogRmlyc3QgY2xlYW4gdXAgdGhlIG5vZGUgbGlzdCAqLw0KPiA+ICsgICAgZm9yICggaSA9IDA7
IGkgPCBNQVhfTlVNTk9ERVM7IGkrKyApDQo+ID4gKyAgICAgICAgY3V0b2ZmX25vZGUoaSwgc3Rh
cnQsIGVuZCk7DQo+ID4gKw0KPiA+ICsgICAgLyogV2hlbiBudW1hIGlzIG9uIHdpdGggZ29vZCBm
aXJtd2FyZSwgd2UgY2FuIGRvIG51bWEgc2NhbiBub2Rlcy4NCj4gKi8NCj4gPiArICAgIGlmICgg
YXJjaF9udW1hX2Rpc2FibGVkKHRydWUpICkNCj4gPiArICAgICAgICByZXR1cm4gLTE7DQo+ID4g
Kw0KPiA+ICsgICAgaWYgKCAhbm9kZXNfY292ZXJfbWVtb3J5KCkgKQ0KPiA+ICsgICAgew0KPiA+
ICsgICAgICAgIG51bWFfZndfYmFkKCk7DQo+ID4gKyAgICAgICAgcmV0dXJuIC0xOw0KPiA+ICsg
ICAgfQ0KPiA+ICsNCj4gPiArICAgIG1lbW5vZGVfc2hpZnQgPSBjb21wdXRlX2hhc2hfc2hpZnQo
bm9kZV9tZW1ibGtfcmFuZ2UsDQo+IG51bV9ub2RlX21lbWJsa3MsDQo+ID4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWJsa19ub2RlaWQpOw0KPiA+ICsNCj4gPiAr
ICAgIGlmICggbWVtbm9kZV9zaGlmdCA8IDAgKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIHBy
aW50ayhLRVJOX0VSUg0KPiA+ICsgICAgICAgICAgICAgICAiTlVNQTogTm8gTlVNQSBub2RlIGhh
c2ggZnVuY3Rpb24gZm91bmQuIENvbnRhY3QNCj4gbWFpbnRhaW5lclxuIik7DQo+ID4gKyAgICAg
ICAgbnVtYV9md19iYWQoKTsNCj4gPiArICAgICAgICByZXR1cm4gLTE7DQo+ID4gKyAgICB9DQo+
ID4gKw0KPiA+ICsgICAgbm9kZXNfb3IoYWxsX25vZGVzX3BhcnNlZCwgbWVtb3J5X25vZGVzX3Bh
cnNlZCwNCj4gcHJvY2Vzc29yX25vZGVzX3BhcnNlZCk7DQo+ID4gKw0KPiA+ICsgICAgLyogRmlu
YWxseSByZWdpc3RlciBub2RlcyAqLw0KPiA+ICsgICAgZm9yX2VhY2hfbm9kZV9tYXNrKCBpLCBh
bGxfbm9kZXNfcGFyc2VkICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBwYWRkcl90IHNpemUg
PSBub2Rlc1tpXS5lbmQgLSBub2Rlc1tpXS5zdGFydDsNCj4gPiArDQo+ID4gKyAgICAgICAgaWYg
KCBzaXplID09IDAgKQ0KPiA+ICsgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJOVU1BOiBu
b2RlICV1IGhhcyBubyBtZW1vcnlcbiIsIGkpOw0KPiA+ICsNCj4gPiArICAgICAgICBzZXR1cF9u
b2RlX2Jvb3RtZW0oaSwgbm9kZXNbaV0uc3RhcnQsIG5vZGVzW2ldLmVuZCk7DQo+ID4gKyAgICB9
DQo+IA0KPiBNYXkgSSBzdWdnZXN0IHRvIGVsaW1pbmF0ZSAic2l6ZSIgYXQgdGhpcyBvY2Nhc2lv
biwgZm9yIGJlaW5nIHVzZWQNCj4gb25seSBvbmNlIGFuZCByYXRoZXIgbm90IGhlbHBpbmcgcmVh
ZGFiaWxpdHkgKGltbyBhdCBsZWFzdCk/DQo+IA0KDQpPay4NCg0KPiA+IC0tLSBhL3hlbi9pbmNs
dWRlL3hlbi9tbS5oDQo+ID4gKysrIGIveGVuL2luY2x1ZGUveGVuL21tLmgNCj4gPiBAQCAtNTgs
NiArNTgsOCBAQA0KPiA+ICAjaW5jbHVkZSA8eGVuL3BlcmZjLmg+DQo+ID4gICNpbmNsdWRlIDxw
dWJsaWMvbWVtb3J5Lmg+DQo+ID4NCj4gPiArZXh0ZXJuIHBhZGRyX3QgbWVtX2hvdHBsdWc7DQo+
ID4gKw0KPiA+ICBzdHJ1Y3QgcGFnZV9pbmZvOw0KPiA+DQo+ID4gIHZvaWQgcHV0X3BhZ2Uoc3Ry
dWN0IHBhZ2VfaW5mbyAqKTsNCj4gDQo+IEknbSBzb3JyeSwgYnV0IEkgZ3Vlc3MgdGhpcyBtYXkg
Z28gYWJvdXQgYW55d2hlcmUgaW4gdGhlIGZpbGUsIGJ1dCBub3QNCj4gcmlnaHQgYXQgdGhlIHRv
cC4gSSB3b3VsZCBwcm9iYWJseSBoYXZlIHB1dCBpdCBhaGVhZCBvZiBucGZlY19raW5kX3QNCj4g
b3IgcmlnaHQgYWZ0ZXIgZG9tX2Nvdy4NCg0KT2ssIEkgd2lsbCBtb3ZlIHRoZSBwbGFjZSBvZiBp
dC4NCg0KVGhhbmtzLA0KV2VpIENoZW4NCg0KPiANCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 11:01:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 11:01:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394541.633983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oScVv-0007Sf-TI; Mon, 29 Aug 2022 11:01:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394541.633983; Mon, 29 Aug 2022 11:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oScVv-0007SY-OG; Mon, 29 Aug 2022 11:01:07 +0000
Received: by outflank-mailman (input) for mailman id 394541;
 Mon, 29 Aug 2022 11:01:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Emil=ZB=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1oScVu-0007SS-1E
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 11:01:06 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2088.outbound.protection.outlook.com [40.107.20.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df627671-2789-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 13:01:03 +0200 (CEST)
Received: from DU2PR04CA0246.eurprd04.prod.outlook.com (2603:10a6:10:28e::11)
 by VE1PR08MB5759.eurprd08.prod.outlook.com (2603:10a6:800:1b3::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Mon, 29 Aug
 2022 11:01:00 +0000
Received: from DBAEUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28e::4) by DU2PR04CA0246.outlook.office365.com
 (2603:10a6:10:28e::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21 via Frontend
 Transport; Mon, 29 Aug 2022 11:00:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT038.mail.protection.outlook.com (100.127.143.23) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 11:00:59 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Mon, 29 Aug 2022 11:00:59 +0000
Received: from e54c457a6410.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9E358338-E7BD-444E-8287-BB61AD7A4EC3.1; 
 Mon, 29 Aug 2022 11:00:53 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e54c457a6410.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Aug 2022 11:00:53 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB4PR08MB9335.eurprd08.prod.outlook.com (2603:10a6:10:3f4::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Mon, 29 Aug
 2022 11:00:49 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::5d27:806b:5d1f:f63%2]) with mapi id 15.20.5566.021; Mon, 29 Aug 2022
 11:00:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df627671-2789-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=SlxCmYUJdj3McKug0Ty1C8cXL/t6Lf5TkwAFyy3PgV94fqPmmI81bX3JUERkVlmQzPBQ977YrK9s76LdTx/oLthyO2Cj5CbHcOZRgLN15HwdCsjvaM200FQqYk1MFVQjv1u9ul6a8BaR0Ub4owmby6Z88V7CKiBPNs5gS5miT6azUEq+tgVnKJiX45zW+pV5+rcJPVVqafbFrwlzJbR1ePMGl1zhS/oM2kdLakfQW6qjLqhHXc2GEA04jVm0UV97VeQbJP0Yxq6kN7FQn4UxAAOI7JBZP6Ua/xH9gu92WdCyD3KUSYJKExSIRC7+Oobq0oAMyIAY2D2hJmvVtBx40Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6UwQi4O/S8DZ6YGLHN3qRr1q7Iij+fZKO3tGV2Y8x6g=;
 b=h+2RkjdfjfiTzQzlUxgbnSmbGAIoTXmvrv5sAETgl8MLOEqbNAFKcSb7jNNt9Ls8mdcKp2BUV4nUYELhRYyuemjg4QhtPxuenaazyMfldCtJDMR9IqtX6k5pgddgI3BfYY/2Zm8QLQau+5zUCbGAWx+UTLAM/EpCVkkZ0I+jL4xA2e08ymU0V++/i1aLH/sk2EpysEiLrVYU+d9IFKW3rymt+APDqT/IR/Hn9aO2ZcKeXMAz/AweLRHOIoukKW65ZhZdn4ReMdlbJILOHeR72qgh8/Zhy9P5cgRVXeEMVlhcfpr+49IXxggNg8jOgEb4JVUr6iyaQ2s3Bx9JzRndzw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6UwQi4O/S8DZ6YGLHN3qRr1q7Iij+fZKO3tGV2Y8x6g=;
 b=ViPpWOgFqg4eBroBI5IW3E/bdF7iSB3+2y/csgv08d/C/vj5MEOXP9UAX11zA9Tsfb2Pm5fbsd+pvnHMpu6IPTtZb6HeYIGAA7TvHGS/qSBtcG0/F9VrzGpHVtnZ6nwFZD6/DEO+4wIaLiSwDloZqLI1XW4YXegcFbLzLkqvRXs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RUiF5RRKdJIJm/uidyNr/+597hiG7qrMhwjVQ1Xnag5AAH6g8dJXVT380wO+poFk6e2vt/hcGHvq9u8bC29Zck/RNS3JARi7ljl285pKtkUN/kjv2b3slvloZguHnku4uJpAsXtfd3Z8J9M63C14zb2Px9pcZvXMFDM9KlkZBPgwNH86GhUytXcsgNxNhAc5XVT1R2tAARAF3VsokY0sxpGo4hF8wJHBnEZ3OKTJJe6IkHE8vGB8BJsxkZlnIRTQYDJ0w/db1V514fG4qj4gBxrolUv2X0pRrtCrLUvQF1dkzlaopvHz9+gD6IMCuqRME5rRPDZsI9UgkDyvFr8hpQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6UwQi4O/S8DZ6YGLHN3qRr1q7Iij+fZKO3tGV2Y8x6g=;
 b=DFQPbV1X/7TuaXq9eg39q6jOqbv/ynVE3Z5WYfbpiJ6fSDRlFnwfYO16M0W2s7GQJY8DfpsMzhlGZonQlQPMzDI9MbXYrNOisNma3pKv2/JGStOvkveNNI62vdldn5a1YrurPYYMgZe6mW7trxDucUR++fOruE8quVlUv49acYQ3MEJge/dMuy5Io0atooT2487j7r8x/LX8P88PNYbn6dxlfxmQXGaCgW3c8qW8kh0E3IhaqPMehAv1jqXT9BzOSsbNgMIU8stqm9SgvZ6pjjbb/OL86AQ9PHQnbjxvPcuVShLma2oMbLl7V1FydyeTMNfmD7qqp70Y/NHL1XFV/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6UwQi4O/S8DZ6YGLHN3qRr1q7Iij+fZKO3tGV2Y8x6g=;
 b=ViPpWOgFqg4eBroBI5IW3E/bdF7iSB3+2y/csgv08d/C/vj5MEOXP9UAX11zA9Tsfb2Pm5fbsd+pvnHMpu6IPTtZb6HeYIGAA7TvHGS/qSBtcG0/F9VrzGpHVtnZ6nwFZD6/DEO+4wIaLiSwDloZqLI1XW4YXegcFbLzLkqvRXs=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: nd <nd@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 6/6] xen: introduce a Kconfig option to configure NUMA
 nodes number
Thread-Topic: [PATCH v3 6/6] xen: introduce a Kconfig option to configure NUMA
 nodes number
Thread-Index: AQHYtdM4QhyibxNRjEO8vG7DwdZxva2/myoAgAYjkjA=
Date: Mon, 29 Aug 2022 11:00:49 +0000
Message-ID:
 <PAXPR08MB742006DF3B08D2E74CCAE3AC9E769@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20220822025810.2240707-1-wei.chen@arm.com>
 <20220822025810.2240707-7-wei.chen@arm.com>
 <33d061fb-5bb9-f9a6-458e-23909d306580@suse.com>
In-Reply-To: <33d061fb-5bb9-f9a6-458e-23909d306580@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C868AA3F2D565E4F990F098E642196EB.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 84a8c56a-3317-479b-70e3-08da89adc18e
x-ms-traffictypediagnostic:
	DB4PR08MB9335:EE_|DBAEUR03FT038:EE_|VE1PR08MB5759:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 7AukMDOhL+ezONht4hkpBepaBcsQ6A6J+oEBr4tT84xpQc2T+4tVHxj53ZZGFp11DVRJzO94soMaMJaXFkbBt3WZObue62TvYXZ+/z9FppOJTUbtKPT3kk6WOAJJJzXk6DtOCo/Wc8Es8v3FbL2GVXM6wmmdhivm5nA9Lz8k8ORsr9wJw4d4F7F5K6FpXRa4UBBuSU0VZEkBP9GzxRqgW08W2BUSYseb/unnuRlgcVs0pOdZeqJZdf3ZoQXy0Hy9gBNmnb8NDmg46EXew9U+xsUJTzJcIeXEbXfEYW5G1i8s9GmvavjfO29WWh3RR7SptcvtL68s5cbuk8VMgHPL//miGN7b3IBqyEs7lgY+VGGzJejLF9jwoIdnylqPUAAUNbTJVL/GOZEUGsagHjm4y83l3udkaZ0Bst25mOcXK22FknSmTVHyLICxP53koz+zd5/nN50DTUVqEYE9EvXJmzWpU823z2xJ3Tb0F1ahINlpQD3ruCDgqdg+p+a9uWeZ8nUu06up35467HpFgxCDEh+r+ulRmweh/Ecm4qGO0BfAoD4/MT1XxD7nOJXehyCwHGd7mnh1eMdCmqjoIZ1Db+qqzGrQzZr1behQc1RaGeoIQTxmEAUoT+jeGg46JWeb9CSnGcnz/0ODgWx1PnSZwEb+UrAv6frhb+WF7WHE9A2+cWBuIyRWyKNBrTDqgC65bbeV9ILmDjpFF1DFWgTt3VuAGWoowYramEXO5kG/pA3hwcpuEwvDd84hFFS2OG0YFlZ0dqwL8zUYuYPPYuVuqg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(376002)(136003)(366004)(396003)(66946007)(8676002)(4326008)(76116006)(66556008)(66446008)(64756008)(122000001)(33656002)(38100700002)(86362001)(38070700005)(83380400001)(186003)(41300700001)(7696005)(53546011)(478600001)(6506007)(26005)(71200400001)(66476007)(316002)(6916009)(9686003)(55016003)(54906003)(2906002)(52536014)(8936002)(5660300002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9335
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b208eccb-b923-4299-e1d8-08da89adbba2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yLuy6wfzoTv9r/mkGT5j+0jrMzW1lvxh1vrlAYvdQMIjeKRq/njK5mTg3CAnD5YLD1cKzEKlQtM4Axfzju9Ts4OeRmQOUIR4JQk1epqJdUlC026bl1H5ZjvpLvAzQkT3Vew5MlGwVOwbI9U/RkXgWFA2Cq9VLFR9HoagrNz/hUtWt0pNshF0YNbRMREwgGQrV/V336A+4QhAHRBnQddMs8IAlYhI/ZjT3zdHRFsbYIEBN8zIxbtrDXHgXOB8/+iWp/LgOJ8M47TG1GVGu+MFQzpnB3KG+2AZVCjnrM2Hsx259q0UTZ0f7jVcxSKQ/q97ZkFM56y27ziHx/2+Kg6vAdu8U4OFHhpDq6sCVkC4nrv3m8kAFOBUEzLUwiKgpaZzNiH/k1a16MCVWSiB77irsMI9TMBZu62jaslhu2RXuxfRLYSgLshBtUdHBVgphG8JMrL1XPVun5h/+udnvDWVonsrUb0BSwnFZNJgzLMbTV+iuf/dzF/z9uY+d45+BgRYnmDpr/NyySI+C7Li8vM+OS4rNYrUxiFe9Viu8j2z74Jqb+KXcnwQ3lQMLrNxhTWQP5P8tcKAU/YZU52r+O48/Vf07e/MAuM6dl9ZNcduuDE2jeKgGxlVgmBCekCxdGbOPOKmu/GJn3KtBkY0ocsMZsGWEydfd1ZJ/b0XuKSHXfcfvIbLsDEPOBYiZCf1NcabhTQoTraze9fXY5kD5ffWa5kfy0mYYTyQUK+rNj1vmzmTRxWL6voOQDajI2ufvPq0
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(396003)(136003)(376002)(46966006)(36840700001)(82740400003)(316002)(82310400005)(186003)(86362001)(81166007)(356005)(54906003)(55016003)(6506007)(36860700001)(83380400001)(2906002)(53546011)(40480700001)(70586007)(70206006)(8676002)(4326008)(336012)(52536014)(478600001)(7696005)(33656002)(9686003)(47076005)(41300700001)(6862004)(26005)(8936002)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 11:00:59.6031
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 84a8c56a-3317-479b-70e3-08da89adc18e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5759

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDjmnIgyNeaXpSAyMTowNg0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBuZCA8bmRAYXJtLmNvbT47
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBHZW9yZ2UNCj4gRHVu
bGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+OyBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4u
b3JnPjsgU3RlZmFubw0KPiBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsgV2Vp
IExpdSA8d2xAeGVuLm9yZz47IFJvZ2VyIFBhdSBNb25uw6kNCj4gPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggdjMgNi82XSB4ZW46IGludHJvZHVjZSBhIEtjb25maWcgb3B0aW9uIHRvIGNvbmZpZ3VyZQ0K
PiBOVU1BIG5vZGVzIG51bWJlcg0KPiANCj4gT24gMjIuMDguMjAyMiAwNDo1OCwgV2VpIENoZW4g
d3JvdGU6DQo+ID4gQ3VycmVudCBOVU1BIG5vZGVzIG51bWJlciBpcyBhIGhhcmRjb2RlIGNvbmZp
Z3VyYXRpb24uIFRoaXMNCj4gPiBjb25maWd1cmF0aW9uIGlzIGRpZmZpY3VsdCBmb3IgYW4gYWRt
aW5pc3RyYXRvciB0byBjaGFuZ2UNCj4gPiB1bmxlc3MgY2hhbmdpbmcgdGhlIGNvZGUuDQo+ID4N
Cj4gPiBTbyBpbiB0aGlzIHBhdGNoLCB3ZSBpbnRyb2R1Y2UgdGhpcyBuZXcgS2NvbmZpZyBvcHRp
b24gZm9yDQo+ID4gYWRtaW5pc3RyYXRvcnMgdG8gY2hhbmdlIE5VTUEgbm9kZXMgbnVtYmVyIGNv
bnZlbmllbnRseS4NCj4gPiBBbHNvIGNvbnNpZGVyaW5nIHRoYXQgbm90IGFsbCBhcmNoaXRlY3R1
cmVzIHN1cHBvcnQgTlVNQSwNCj4gPiB0aGlzIEtjb25maWcgb3B0aW9uIG9ubHkgY2FuIGJlIHZp
c2libGUgb24gTlVNQSBlbmFibGVkDQo+ID4gYXJjaGl0ZWN0dXJlcy4gTm9uLU5VTUEgc3VwcG9y
dGVkIGFyY2hpdGVjdHVyZXMgY2FuIHN0aWxsDQo+ID4gdXNlIDEgYXMgTUFYX05VTU5PREVTLg0K
PiANCj4gRXNwZWNpYWxseSB0aGUgdXNlcyBvZiAiTlVNQSBub2RlcyBudW1iZXIiIG1ha2UgdGhp
cyByZWFkIHNvbWV3aGF0DQo+IG9kZC4gSWYgSSB3YXMgdG8gcmUtd3JpdGUgYWxsIG9mIHRoaXMs
IGl0IHdvdWxkIGJlY29tZSBzb21ldGhpbmcNCj4gbGlrZToNCj4gDQo+IEN1cnJlbnRseSB0aGUg
bWF4aW11bSBudW1iZXIgb2YgTlVNQSBub2RlcyBpcyBhIGhhcmRjb2RlZCB2YWx1ZS4NCj4gVGhp
cyBwcm92aWRlcyBsaXR0bGUgZmxleGliaWxpdHkgdW5sZXNzIGNoYW5naW5nIHRoZSBjb2RlLg0K
PiANCj4gSW50cm9kdWNlIGEgbmV3IEtjb25maWcgb3B0aW9uIHRvIGNoYW5nZSB0aGUgbWF4aW11
bSBudW1iZXIgb2YNCj4gTlVNQSBub2RlcyBjb252ZW5pZW50bHkuIEFsc28gY29uc2lkZXJpbmcg
dGhhdCBub3QgYWxsDQo+IGFyY2hpdGVjdHVyZXMgc3VwcG9ydCBOVU1BLCB0aGlzIEtjb25maWcg
b3B0aW9uIGlzIG9ubHkgdmlzaWJsZQ0KPiBvbiBOVU1BIGVuYWJsZWQgYXJjaGl0ZWN0dXJlcy4g
QXJjaGl0ZWN0dXJlcyBub3Qgc3VwcG9ydGluZyBOVU1BDQo+IHN0aWxsIHVzZSAxIGZvciBNQVhf
TlVNTk9ERVMuDQo+IA0KDQpUaGFua3MsIEkgd2lsbCB1cGRhdGUgdGhlIGNvbW1pdCBsb2cuDQoN
Cj4gPiBBcyBOT0RFU19TSElGVCBpcyBjdXJyZW50bHkgdW51c2VkLCB3ZSdyZSB0YWtpbmcgdGhp
cw0KPiA+IG9wcG9ydHVuaXR5IHRvIHJlbW92ZSBpdC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6
IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiANCj4gQWNrZWQtYnk6IEphbiBCZXVsaWNo
IDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gDQoNClRoYW5rcyENCg0KPiBOb3RlIHRoYXQgdGhlcmUn
cyBhbiBhbHRlcm5hdGl2ZSB3aXRoIGxlc3MgI2lmZGVmLWFyeToNCj4gDQo+IGNvbmZpZyBOUl9O
VU1BX05PREVTDQo+IAlpbnQgIk1heGltdW0gbnVtYmVyIG9mIE5VTUEgbm9kZXMgc3VwcG9ydGVk
IiBpZiBOVU1BDQo+IAlyYW5nZSAyIDY0IGlmIE5VTUENCj4gCWRlZmF1bHQgIjEiIGlmICFOVU1B
DQo+IAlkZWZhdWx0ICI2NCINCj4gDQo+IEJ1dCBJIGNhbiBzZWUgcmVhc29ucyB3aHkgb25lIG1p
Z2h0IGRlZW0gaXQgYmV0dGVyIGZvciB0aGVyZSB0bw0KPiBub3QgYmUgYW55IENPTkZJR19OUl9O
VU1BX05PREVTIGluIHRoZSByZXN1bHRpbmcgLmNvbmZpZyB3aGVuDQo+ICFOVU1BLg0KPiANCg0K
SXMgaXQgYmVjYXVzZSB0aGVyZSBhcmUgbWFueSBwbGFjZXMgd2hlcmUgYWx0ZXJuYXRpdmUgcGF0
Y2hlcyBuZWVkIHRvDQpiZSBhZGRlZCBmb3IgI2lmbmRlZiBDT05GSUdfTlJfTlVNQV9OT0RFUz8N
Cg0KQ2hlZXJzLA0KV2VpIENoZW4NCg0KPiBKYW4NCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 11:29:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 11:29:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394550.633993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oScwz-0001UG-0l; Mon, 29 Aug 2022 11:29:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394550.633993; Mon, 29 Aug 2022 11:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oScwy-0001U9-U4; Mon, 29 Aug 2022 11:29:04 +0000
Received: by outflank-mailman (input) for mailman id 394550;
 Mon, 29 Aug 2022 11:29:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oScwx-0001Ty-L6; Mon, 29 Aug 2022 11:29:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oScwx-00047J-Hd; Mon, 29 Aug 2022 11:29:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oScwx-0005y6-2O; Mon, 29 Aug 2022 11:29:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oScwx-0001UA-1x; Mon, 29 Aug 2022 11:29:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eNpxchTd2640HK2QnQjZ6YZgbVMkoxXWsJZ7s3SFWWM=; b=2CpEW/aLtLWrlkPTt6zZh/oHeL
	+TwjG5JQQg8JOE8u7VL7yNQOzZnyxVhSJVsLgRiyBzMzaXke+p6cG+9f31kkMBgagDCB2TWLyUW0a
	+u3c2q3+mqMbiPQ7cVY3tbwM42WQ7/6Zo6gyiysUtGwho4wNF0hV0Fe9cN3Fmu2z+ITs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172840-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172840: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:guest-saverestore:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 11:29:03 +0000

flight 172840 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172840/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 16 guest-saverestore fail in 172824 pass in 172840
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail in 172824 pass in 172840
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 172824 pass in 172840
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172824
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 172824

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172824 like 172108
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172824 like 172128
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172824 like 172128
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172824 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172824 never pass
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172824 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172824 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   25 days
Failing since        172384  2022-08-11 11:13:58 Z   18 days   37 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    3 days    8 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 11:49:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 11:49:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394559.634004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSdGx-0003v3-SP; Mon, 29 Aug 2022 11:49:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394559.634004; Mon, 29 Aug 2022 11:49:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSdGx-0003uw-Pm; Mon, 29 Aug 2022 11:49:43 +0000
Received: by outflank-mailman (input) for mailman id 394559;
 Mon, 29 Aug 2022 11:49:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jfEz=ZB=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oSdGv-0003uq-Sw
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 11:49:42 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a234d61e-2790-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 13:49:29 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id 38A21320090E;
 Mon, 29 Aug 2022 07:49:35 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Mon, 29 Aug 2022 07:49:35 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 29 Aug 2022 07:49:33 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a234d61e-2790-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661773774; x=
	1661860174; bh=U/uob7iU2hOzYXSI0amtU7Bp2yzydRs/gqo5JfyxbI0=; b=L
	gNGGLwOVZ13TaQWHEEfmGHGeLBHczx3DX5pkPcDhtWFP4Qn3ZkNtSn5y4AHA6xZr
	jXziL/2JqFd0Q13I0HMoTW1u2Glk/LkIHomPb/iuBRX7NS6FbUDmlEIgWMktRuOO
	D2ZZB8tzEJUA0x+AY6l5I+88noLBuc2TmrOq4w5u68DL/8yHLVM9ZMnjX597TZme
	iqDsibW2O4xLqnydRdkxodmAlaiRzespahfjBbJ/otvpF63q2NXuWfQKtpOtmBl6
	yJJtju+U5woJOBZpsHO/D25a4lcedKb5jxiF5lcdh0wjQ0tBiZScdsiba5sPoHTD
	p6hgF1cpBshj/5Ily99Kw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661773774; x=1661860174; bh=U/uob7iU2hOzYXSI0amtU7Bp2yzy
	dRs/gqo5JfyxbI0=; b=05N1vpds6wxryFcN0ZxS62eblRcGFip5BgX/3KUQCE7+
	xzIOf0xA5iOhn6ZY+N7xLbE4BoWviflVEYh/pxxo2BmEyGmXGA1p9/uCfyBseGSQ
	V1YzVRQUH7giBj/6VLGpXpzSGAuV8Cz2WBYgL/JWGZocrMGKtxVPMiIR5j6rozID
	vfrdtv1q08/nu0AddpJ77iPXZJiWJukaVKOdKqhLP6ilChLtKIPXiJL4EgnIJ6Fy
	ZjWhrSZDpfHIoVU1vkGNET6Q4w5ylsaP5Oaw3Z4wKgh9i6MbFmft7JhFD30xbh5r
	tz0oDxpnz/TNLYPSpfEAcg++9uhmLXN6pkVsbGxyVA==
X-ME-Sender: <xms:zqcMY34K77EfbSXe7lvukYXGA5wT3Ka4Ws8qRgfcJwsi7utyZknKdQ>
    <xme:zqcMY87HUr6kdFElLnvcxbnrNix-6caIuTbu08lTn2plS9UcN7Zrhqgqyz3bP7Rm4
    savA-6yKHSXxg>
X-ME-Received: <xmr:zqcMY-d-CjbGchBPx26na95RT1GnVYFUwRDT6knEA3jObwBlA8QKaz55AkqWMWS6tAFqHh-vAq1huEuNLmzdP4_6zaKW5Xmre3ie>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdekuddggeeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:zqcMY4L-UgQ9vJ3XXsSeOQ63jL7Q1hnse3lLjFr7rqHDkYnt9ayu4A>
    <xmx:zqcMY7LtGgAultWmIIH0x9sKrpo8UlRghfYhOp6b0iTBRnvRfSXo5w>
    <xmx:zqcMYxy9AzoN5bpFMkZ2x-sY-4P1saOiQgDFumf-1Qws711Kbh8muQ>
    <xmx:zqcMY4FpqAHCB6jwjD7iKJRbiMKUxsokkEaO0Va8_1qkAnJg-jpd4w>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 29 Aug 2022 13:49:30 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option
Message-ID: <Ywynyj1/cbL40sBv@mail-itl>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <edff5ba0d286a41b94a6b4bb332b63228f7faebe.1661181584.git-series.marmarek@invisiblethingslab.com>
 <b323ebc3-68fc-f6e1-b9ac-d508855a605b@suse.com>
 <YwiygukKUUqiAke9@mail-itl>
 <2fc50656-24bb-414f-4f39-3b23c4c3aa0f@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="5ZrJ+/J9I9mWOfuh"
Content-Disposition: inline
In-Reply-To: <2fc50656-24bb-414f-4f39-3b23c4c3aa0f@suse.com>


--5ZrJ+/J9I9mWOfuh
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 29 Aug 2022 13:49:30 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option

On Fri, Aug 26, 2022 at 04:20:52PM +0200, Jan Beulich wrote:
> On 26.08.2022 13:46, Marek Marczykowski-G=C3=B3recki wrote:
> > On Thu, Aug 25, 2022 at 05:44:54PM +0200, Jan Beulich wrote:
> >> On 22.08.2022 17:27, Marek Marczykowski-G=C3=B3recki wrote:
> >>> This allows configuring EHCI and XHCI consoles separately,
> >>> simultaneously.
> >>>
> >>> Suggested-by: Jan Beulich <jbeulich@suse.com>
> >>
> >> But was I maybe confused, and much less of a change would suffice? Aft=
er
> >> all ...
> >>
> >>> --- a/xen/drivers/char/xhci-dbc.c
> >>> +++ b/xen/drivers/char/xhci-dbc.c
> >>> @@ -1058,9 +1058,9 @@ static struct xhci_dbc_ctx ctx __aligned(16);
> >>>  static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
> >>>  static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> >>> =20
> >>> -static char __initdata opt_dbgp[30];
> >>> +static char __initdata opt_dbc[30];
> >>> =20
> >>> -string_param("dbgp", opt_dbgp);
> >>> +string_param("dbc", opt_dbc);
> >>> =20
> >>>  void __init xhci_dbc_uart_init(void)
> >>>  {
> >>> @@ -1068,25 +1068,25 @@ void __init xhci_dbc_uart_init(void)
> >>>      struct dbc *dbc =3D &uart->dbc;
> >>>      const char *e;
> >>> =20
> >>> -    if ( strncmp(opt_dbgp, "xhci", 4) )
> >>> +    if ( strncmp(opt_dbc, "xhci", 4) )
> >>>          return;
> >>
> >> ... this already avoids mixing up who's going to parse what. So right
> >> now I think that ...
> >>
> >>> @@ -1102,7 +1102,7 @@ void __init xhci_dbc_uart_init(void)
> >>>      dbc->dbc_str =3D str_buf;
> >>> =20
> >>>      if ( dbc_open(dbc) )
> >>> -        serial_register_uart(SERHND_DBGP, &dbc_uart_driver, &dbc_uar=
t);
> >>> +        serial_register_uart(SERHND_DBC, &dbc_uart_driver, &dbc_uart=
);
> >>>  }
> >>
> >> ... this and other SERHND_* related changes are enough, and there's no
> >> need for a separate "dbc=3D" option.
> >=20
> > But then you wouldn't be able to configure "dbgp=3Dehci dbgp=3Dxhci" as
> > one would override the other, no?
>=20
> Not as long as both use string_param(), true. They'd need to both become
> custom_param(), doing at least some basic parsing right away.
>=20
> But using two such options at the same time isn't of interest anyway
> without your multiple-serial-consoles change, so possibly not of
> immediate need (unless someone comes forward expressing interest and
> actually approving that change of yours).

Then why change at all? Since you can configure only one (dbgp=3Dehci _or_
dbgp=3Dxhci), then there is not ambiguity what "console=3Ddbgp" means.
Separating SERHND_DBC from SERHND_DBGP would IMO make sense only if you
can actually use them both (even if not both for console, but for
example one for debugger).

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--5ZrJ+/J9I9mWOfuh
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmMMp8kACgkQ24/THMrX
1yz44gf/a4iectb57XNXhqGMeNQIpZFY5gUrFbz1P9z661OuJHn8JDqoFFot81dU
fuqb6NCu5F+XaQQao6ukZ9/FicmpP6LM33P+/FqmVhva/rmZydCWYCskutKtnslk
jVFbu0drbDqV8ZNtB/nFrNpIHihNsEy9UYVc5eGpUVsSe2NagHS8uT+OXsy/YM34
KJJ7CxG7cnnwUZfvdMIihImUT9o7ztYyBb/5e2K/jd11zjjrOpfbQ9W+OXD2PFdJ
qLSIgFwG1fm2MPdvVt6d2MHSnnAgSnvGPmGbBCC4wgpiUWZDb0CIlVajWUV2oOVl
1VHiay5cWo/hQsS9rBUtQy+6lEZrVg==
=ieDx
-----END PGP SIGNATURE-----

--5ZrJ+/J9I9mWOfuh--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 11:57:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 11:57:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394566.634016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSdOC-0005M9-Ml; Mon, 29 Aug 2022 11:57:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394566.634016; Mon, 29 Aug 2022 11:57:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSdOC-0005M2-Ii; Mon, 29 Aug 2022 11:57:12 +0000
Received: by outflank-mailman (input) for mailman id 394566;
 Mon, 29 Aug 2022 11:57:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jfEz=ZB=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oSdOB-0005Lw-Ea
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 11:57:11 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5c477df-2791-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 13:57:10 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 945003200344;
 Mon, 29 Aug 2022 07:57:07 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Mon, 29 Aug 2022 07:57:08 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 29 Aug 2022 07:57:05 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5c477df-2791-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661774227; x=
	1661860627; bh=YSRE9yOM/Z5VHOxCWxUiS2GZJiWPPT/Z4e8ykuOIjww=; b=A
	+mS/CjhfHTeC0Q/IZ1g/zSVOQs0SC6mGfj2mtl1m82WgoV2D0jKErOpzuvK5kyX7
	XZzbsix5FGHjtr/LSTvOK/ZzCKQtqSFxTDescODmNSNK9m4HoRAaap/YwUXyAKD7
	4DUfkgV/5qGU9xqLH7mzWwr8rgtvIQtQH49MzZ4BC6Zx7i1OaY3Z5bAJHGxKSi66
	q+z1RhWrKtyh+8a43UtGkdVAY6tJbtZSxSmOPiR6BkVvV5rvW1Aesnp05WMElY5B
	Y3GsYMw28NySs1MF0/Y+Pkw+J4jxxivEQErcX10OyifkzdUlCiq9vfus5BXESB5a
	gCGbN06R5T0uM1GPjnvTw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661774227; x=1661860627; bh=YSRE9yOM/Z5VHOxCWxUiS2GZJiWP
	PT/Z4e8ykuOIjww=; b=v1DsEk9fijJiouN/UHJqgxLWEG/75yeX4h91mD7G9lc0
	5kALQXGWEUHrLFbrMjKPQfLaP6m3LkW72HvzDbVOHFaupZ8FnfS+LPwwrR1F7uXN
	tBALuNMqbZyzzFQSFu9RUGoKpClCnDBt/THTvY+UE6LaBYp+1SWcJ3vfbmxCH7Tk
	AUbUZgn55pR8eI/9zNMaobkag/iR7AGx4wsShS9gwn8tvzuu0moHjd+GCcf0UkFD
	NweUY5Brf9Sf4fNESKECOytUf22Pyet9ElJx98fakkZSzdw+MB9Zdmd1F+OOUqlZ
	QwcdpwWYg+cOCIDdIzbN1PO9A/orWMzlxyTbQlk/VA==
X-ME-Sender: <xms:kqkMY4eWAvNL_nH34etphLz7sOoHkvft6NitRCOdm6R056narjwDow>
    <xme:kqkMY6N9wemZ4tYuWxr9JJhgIGpyQ8wrTd3SEUagZW6o74G4v6zLzOGWFsTvMxKLj
    lamQ6UNsaKk-Q>
X-ME-Received: <xmr:kqkMY5hI54EVuzAZAxZe2zy3vL8j8NKh16TbszRVDiR6vrN7E2TYtmc4qQyz6tMYenWU4K3Wg_pSEH6QX7QpDGH1Uodko07Dl1EY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdekuddggeekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:kqkMY9_ktRt3gWvUsZ8wpMuhQvTu1xslvdkicSLQOANGBOSEkdxfDA>
    <xmx:kqkMY0uR6tNprLCWwM2WUPBy5wXF3WgolnlRdTaVb9yu6FRNxf4cYQ>
    <xmx:kqkMY0Hbc3WQq1NHeukwck---nDdRf9WULWsCW_k36TUqTIFr7n0Nw>
    <xmx:k6kMY2LUgsGrKmtTjpobSDI2OzOefQY2BbXNueJCHlWtDkAzxaXMLA>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 29 Aug 2022 13:57:03 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option
Message-ID: <Ywypjx+2qATqMgnf@mail-itl>
References: <cover.4afa0fece5b70e838e4f1c7c7f25d0fa3d157073.1661181584.git-series.marmarek@invisiblethingslab.com>
 <edff5ba0d286a41b94a6b4bb332b63228f7faebe.1661181584.git-series.marmarek@invisiblethingslab.com>
 <b323ebc3-68fc-f6e1-b9ac-d508855a605b@suse.com>
 <YwiygukKUUqiAke9@mail-itl>
 <2fc50656-24bb-414f-4f39-3b23c4c3aa0f@suse.com>
 <Ywynyj1/cbL40sBv@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="IeuyxfGo3XtnkvVS"
Content-Disposition: inline
In-Reply-To: <Ywynyj1/cbL40sBv@mail-itl>


--IeuyxfGo3XtnkvVS
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 29 Aug 2022 13:57:03 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 1/9] drivers/char: separate dbgp=xhci to dbc=xhci
 option

On Mon, Aug 29, 2022 at 01:49:30PM +0200, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Fri, Aug 26, 2022 at 04:20:52PM +0200, Jan Beulich wrote:
> > On 26.08.2022 13:46, Marek Marczykowski-G=C3=B3recki wrote:
> > > On Thu, Aug 25, 2022 at 05:44:54PM +0200, Jan Beulich wrote:
> > >> On 22.08.2022 17:27, Marek Marczykowski-G=C3=B3recki wrote:
> > >>> This allows configuring EHCI and XHCI consoles separately,
> > >>> simultaneously.
> > >>>
> > >>> Suggested-by: Jan Beulich <jbeulich@suse.com>
> > >>
> > >> But was I maybe confused, and much less of a change would suffice? A=
fter
> > >> all ...
> > >>
> > >>> --- a/xen/drivers/char/xhci-dbc.c
> > >>> +++ b/xen/drivers/char/xhci-dbc.c
> > >>> @@ -1058,9 +1058,9 @@ static struct xhci_dbc_ctx ctx __aligned(16);
> > >>>  static uint8_t out_wrk_buf[DBC_WORK_RING_CAP];
> > >>>  static struct xhci_string_descriptor str_buf[DBC_STRINGS_COUNT];
> > >>> =20
> > >>> -static char __initdata opt_dbgp[30];
> > >>> +static char __initdata opt_dbc[30];
> > >>> =20
> > >>> -string_param("dbgp", opt_dbgp);
> > >>> +string_param("dbc", opt_dbc);
> > >>> =20
> > >>>  void __init xhci_dbc_uart_init(void)
> > >>>  {
> > >>> @@ -1068,25 +1068,25 @@ void __init xhci_dbc_uart_init(void)
> > >>>      struct dbc *dbc =3D &uart->dbc;
> > >>>      const char *e;
> > >>> =20
> > >>> -    if ( strncmp(opt_dbgp, "xhci", 4) )
> > >>> +    if ( strncmp(opt_dbc, "xhci", 4) )
> > >>>          return;
> > >>
> > >> ... this already avoids mixing up who's going to parse what. So right
> > >> now I think that ...
> > >>
> > >>> @@ -1102,7 +1102,7 @@ void __init xhci_dbc_uart_init(void)
> > >>>      dbc->dbc_str =3D str_buf;
> > >>> =20
> > >>>      if ( dbc_open(dbc) )
> > >>> -        serial_register_uart(SERHND_DBGP, &dbc_uart_driver, &dbc_u=
art);
> > >>> +        serial_register_uart(SERHND_DBC, &dbc_uart_driver, &dbc_ua=
rt);
> > >>>  }
> > >>
> > >> ... this and other SERHND_* related changes are enough, and there's =
no
> > >> need for a separate "dbc=3D" option.
> > >=20
> > > But then you wouldn't be able to configure "dbgp=3Dehci dbgp=3Dxhci" =
as
> > > one would override the other, no?
> >=20
> > Not as long as both use string_param(), true. They'd need to both become
> > custom_param(), doing at least some basic parsing right away.
> >=20
> > But using two such options at the same time isn't of interest anyway
> > without your multiple-serial-consoles change, so possibly not of
> > immediate need (unless someone comes forward expressing interest and
> > actually approving that change of yours).
>=20
> Then why change at all? Since you can configure only one (dbgp=3Dehci _or_
> dbgp=3Dxhci), then there is not ambiguity what "console=3Ddbgp" means.
> Separating SERHND_DBC from SERHND_DBGP would IMO make sense only if you
> can actually use them both (even if not both for console, but for
> example one for debugger).

Or do you mean to use custom_param() to actually make "dbgp=3Dxhci
dbgp=3Dehci" working? But then IMO having "console=3Ddbgp console=3Ddbc" wo=
uld
be confusing, as "dbc" has no obvious relation to neither side of
"dbgp=3Dxhci". Maybe use "console=3Dxhci" then?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--IeuyxfGo3XtnkvVS
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmMMqY4ACgkQ24/THMrX
1yyyNQf/YhRCBR0TJh1CitXwsVHR4PtTRLqVwkvkSibjKJ/i2ZQMtN7fNbH8zBlv
VcClYTK5u6N0lW7/BRVQkSNRKLtpWduSfXxLdUrXzH4A8uWujmCtKAd8OpTbDblW
3N/+0nAexWNXtblae25Bijysb9aEJa6W3EqbkFIuLJFMi2UUmus4YHbJuuLPoOut
co5izp5V01X7ix1W1Uu+GbvnBxarBQnIbyAp1ag1j7nNwXndlqi0UCjJnrazfS/M
0KGt7wDLoBS12bZsrghmMICD3Zz/+rfht7+3wnb2lOgPs5R0pqke6btKyzhCHeuG
hnC2AEQZIQWrZ/ftEoaf/YYJuHKy+Q==
=/OMV
-----END PGP SIGNATURE-----

--IeuyxfGo3XtnkvVS--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 12:07:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 12:07:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394574.634027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSdYN-0006ul-Oe; Mon, 29 Aug 2022 12:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394574.634027; Mon, 29 Aug 2022 12:07:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSdYN-0006ue-Lw; Mon, 29 Aug 2022 12:07:43 +0000
Received: by outflank-mailman (input) for mailman id 394574;
 Mon, 29 Aug 2022 12:07:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSdYN-0006uU-6T; Mon, 29 Aug 2022 12:07:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSdYN-0004nI-5O; Mon, 29 Aug 2022 12:07:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSdYM-0008UP-Q9; Mon, 29 Aug 2022 12:07:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSdYM-0005H7-Pa; Mon, 29 Aug 2022 12:07:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qIovc/e0ohau47B7Mw2E0qL+ms9+Q2vYfyFlcbwUJIk=; b=RhgcNaZE6WEGnNSvXcjHX1D5YV
	dc800Vtahby/FZNy3TYdgCifHdViQe37OICJnJSjKXTno7/bJzhvbj2Z+FHdqXjRbys0Dk2k14qgE
	HfXHfanzBfvw7CJ3tvUk0fF6MogTjVxzTrZ7qVPfdJWKgL+dO2J7OOvl4xC909p7Czww=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172848-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172848: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 12:07:42 +0000

flight 172848 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172848/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   25 days
Failing since        172151  2022-08-05 02:40:28 Z   24 days  197 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 12:56:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 12:56:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394582.634037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSeJ6-0003Yc-BK; Mon, 29 Aug 2022 12:56:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394582.634037; Mon, 29 Aug 2022 12:56:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSeJ6-0003YV-8k; Mon, 29 Aug 2022 12:56:00 +0000
Received: by outflank-mailman (input) for mailman id 394582;
 Mon, 29 Aug 2022 12:55:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XWGx=ZB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oSeJ5-0003YP-30
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 12:55:59 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec421673-2799-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 14:55:57 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 32E9C22DA3;
 Mon, 29 Aug 2022 12:55:56 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 06C83133A6;
 Mon, 29 Aug 2022 12:55:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3R6+Olu3DGPRQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 29 Aug 2022 12:55:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec421673-2799-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661777756; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=CX/MpjZVX8x9Qx8o1VlEsGHIaJLNGk93560RKcTD6tA=;
	b=PtLyNNrsL1JLQLSaiTf552oIEAZRF5NRX7lWJQwcBufNqre4g02Kp8Xpmrgmt+ZzipE7cy
	XGUruH+KQqb6maZxWy6fb05LKXb9vj6m3cCX35yNMq5R6ZjV69eZGsABIUL1P6o+TOW/NN
	KwIUIymGQa0jD7548Tc4vLTAO/ZAHU8=
Message-ID: <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com>
Date: Mon, 29 Aug 2022 14:55:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
 <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com> <Ywr6CfxUZs4zRPYR@itl-email>
From: Juergen Gross <jgross@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
In-Reply-To: <Ywr6CfxUZs4zRPYR@itl-email>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------SsILnY7Mkg7XKHZcIp3cpirI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------SsILnY7Mkg7XKHZcIp3cpirI
Content-Type: multipart/mixed; boundary="------------pP8TbMCGs9DVyv3OhuXlm0EV";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Message-ID: <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
 <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com> <Ywr6CfxUZs4zRPYR@itl-email>
In-Reply-To: <Ywr6CfxUZs4zRPYR@itl-email>

--------------pP8TbMCGs9DVyv3OhuXlm0EV
Content-Type: multipart/mixed; boundary="------------kk0KOeF2CHkWK8hisZ0JVDPx"

--------------kk0KOeF2CHkWK8hisZ0JVDPx
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjguMDguMjIgMDc6MTUsIERlbWkgTWFyaWUgT2Jlbm91ciB3cm90ZToNCj4gT24gV2Vk
LCBBdWcgMjQsIDIwMjIgYXQgMDg6MTE6NTZBTSArMDIwMCwgSnVlcmdlbiBHcm9zcyB3cm90
ZToNCj4+IE9uIDI0LjA4LjIyIDAyOjIwLCBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kg
d3JvdGU6DQo+Pj4gT24gVHVlLCBBdWcgMjMsIDIwMjIgYXQgMDk6NDg6NTdBTSArMDIwMCwg
SnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gT24gMjMuMDguMjIgMDk6NDAsIERlbWkgTWFy
aWUgT2Jlbm91ciB3cm90ZToNCj4+Pj4+IEkgcmVjZW50bHkgaGFkIGEgVk3igJlzIC9kZXYv
eHZkYiBzdG9wIHdvcmtpbmcgd2l0aCBhIOKAnGJhY2tlbmQgaGFzIG5vdA0KPj4+Pj4gdW5t
YXBwZWQgZ3JhbnTigJ0gZXJyb3IuICBTaW5jZSAvZGV2L3h2ZGIgd2FzIHRoZSBWTeKAmXMg
cHJpdmF0ZSB2b2x1bWUsDQo+Pj4+PiB0aGF0IHJlbmRlcmVkIHRoZSBWTSBlZmZlY3RpdmVs
eSB1c2VsZXNzLiAgSSBoYWQgdG8ga2lsbCBpdCB3aXRoDQo+Pj4+PiBxdm0ta2lsbC4NCj4+
Pj4+DQo+Pj4+PiBUaGUgYmFja2VuZCBvZiAvZGV2L3h2ZGIgaXMgZG9tMCwgc28gYSBtYWxp
Y2lvdXMgYmFja2VuZCBpcyBjbGVhcmx5IG5vdA0KPj4+Pj4gdGhlIGNhdXNlIG9mIHRoaXMu
ICBJIGJlbGlldmUgdGhlIGFjdHVhbCBjYXVzZSBpcyBhIHJhY2UgY29uZGl0aW9uLCBzdWNo
DQo+Pj4+PiBhcyB0aGUgZm9sbG93aW5nOg0KPj4+Pj4NCj4+Pj4+IDEuIEdVSSBhZ2VudCBp
biBWTSBhbGxvY2F0ZXMgZ3JhbnQgWC4NCj4+Pj4+IDIuIEdVSSBhZ2VudCB0ZWxscyBHVUkg
ZGFlbW9uIGluIGRvbTAgdG8gbWFwIFguDQo+Pj4+PiAzLiBHVUkgYWdlbnQgZnJlZXMgZ3Jh
bnQgWC4NCj4+Pj4+IDQuIGJsa2Zyb250IGFsbG9jYXRlcyBncmFudCBYIGFuZCBwYXNzZXMg
aXQgdG8gZG9tMC4NCj4+Pj4+IDUuIGRvbTDigJlzIGJsa2JhY2sgbWFwcyBncmFudCBYLg0K
Pj4+Pj4gNi4gYmxrYmFjayB1bm1hcHMgZ3JhbnQgWC4NCj4+Pj4+IDcuIEdVSSBkYWVtb24g
bWFwcyBncmFudCBYLg0KPj4+Pj4gOC4gYmxrZnJvbnQgdHJpZXMgdG8gcmV2b2tlIGFjY2Vz
cyB0byBncmFudCBYIGFuZCBmYWlscy4gIERpc2FzdGVyDQo+Pj4+PiAgICAgICBlbnN1ZXMu
DQo+Pj4+Pg0KPj4+Pj4gV2hhdCBjb3VsZCBiZSBkb25lIHRvIHByZXZlbnQgdGhpcyByYWNl
PyAgUmlnaHQgbm93IGFsbCBvZiB0aGUNCj4+Pj4+IGFwcHJvYWNoZXMgSSBjYW4gdGhpbmsg
b2YgYXJlIGhvcnJpYmx5IGJhY2t3YXJkcy1pbmNvbXBhdGlibGUuICBUaGV5DQo+Pj4+PiBy
ZXF1aXJlIHJlcGxhY2luZyBncmFudCBJRHMgd2l0aCBzb21lIHNvcnQgb2YgaGFuZGxlLCBh
bmQgcmVxdWlyaW5nDQo+Pj4+PiB1c2Vyc3BhY2UgdG8gcGFzcyB0aGVzZSBoYW5kbGVzIHRv
IGlvY3Rscy4gIEl0IGlzIGFsc28gcG9zc2libGUgdGhhdA0KPj4+Pj4gbmV0ZnJvbnQgYW5k
IGJsa2Zyb250IGNvdWxkIHJhY2UgYWdhaW5zdCBlYWNoIG90aGVyIGluIGEgd2F5IHRoYXQg
Y2F1c2VzDQo+Pj4+PiB0aGlzLCB0aG91Z2ggSSBzdXNwZWN0IHRoYXQgcmFjZSB3b3VsZCBi
ZSBtdWNoIGhhcmRlciB0byB0cmlnZ2VyLg0KPj4+Pj4NCj4+Pj4+IFRoaXMgaGFzIGhhcHBl
bmVkIG1vcmUgdGhhbiBvbmNlIHNvIGl0IGlzIG5vdCBhIGZsdWtlIGR1ZSB0byBlLmcuIGNv
c21pYw0KPj4+Pj4gcmF5cyBvciBvdGhlciByYW5kb20gYml0LWZsaXBzLg0KPj4+Pj4NCj4+
Pj4+IE1hcmVrLCBkbyB5b3UgaGF2ZSBhbnkgc3VnZ2VzdGlvbnM/DQo+Pj4+DQo+Pj4+IFRv
IG1lIHRoYXQgc291bmRzIGxpa2UgdGhlIGludGVyZmFjZSBvZiB0aGUgR1VJIGlzIHRoZSBj
dWxwcml0Lg0KPj4+Pg0KPj4+PiBUaGUgR1VJIGFnZW50IGluIHRoZSBndWVzdCBzaG91bGQg
b25seSBmcmVlIGEgZ3JhbnQsIGlmIGl0IGdvdCBhIG1lc3NhZ2UNCj4+Pj4gZnJvbSB0aGUg
YmFja2VuZCB0aGF0IGl0IGNhbiBkbyBzby4gSnVzdCBhc3N1bWluZyB0byBiZSBhYmxlIHRv
IGZyZWUgaXQNCj4+Pj4gYmVjYXVzZSBpdCBpc24ndCBpbiB1c2UgY3VycmVudGx5IGlzIHRo
ZSBicm9rZW4gYXNzdW1wdGlvbiBoZXJlLg0KPj4+DQo+Pj4gRldJVywgSSBoaXQgdGhpcyBp
c3N1ZSB0d2ljZSBhbHJlYWR5IGluIHRoaXMgd2VlayBDSSBydW4sIHdoaWxlIGl0IG5ldmVy
DQo+Pj4gaGFwcGVuZWQgYmVmb3JlLiBUaGUgZGlmZmVyZW5jZSBjb21wYXJlZCB0byBwcmV2
aW91cyBydW4gaXMgTGludXgNCj4+PiA1LjE1LjU3IHZzIDUuMTUuNjEuIFRoZSBsYXR0ZXIg
cmVwb3J0cyBwZXJzaXN0ZW50IGdyYW50cyBkaXNhYmxlZC4NCj4+DQo+PiBJIHRoaW5rIHRo
aXMgYWRkaXRpb25hbCBidWcgaXMganVzdCB0cmlnZ2VyaW5nIHRoZSByYWNlIGluIHRoZSBH
VUkNCj4+IGludGVyZmFjZSBtb3JlIGVhc2lseSwgYXMgYmxrZnJvbnQgd2lsbCBhbGxvY2F0
ZSBuZXcgZ3JhbnRzIHdpdGggYQ0KPj4gbXVjaCBoaWdoZXIgZnJlcXVlbmN5Lg0KPj4NCj4+
IFNvIGZpeGluZyB0aGUgcGVyc2lzdGVudCBncmFudCBpc3N1ZSB3aWxsIGp1c3QgcGFwZXIg
b3ZlciB0aGUgcmVhbA0KPj4gaXNzdWUuDQo+IA0KPiBJbmRlZWQgc28sIGJ1dCBtYWtpbmcg
dGhlIGJ1ZyBoYXBwZW4gbXVjaCBsZXNzIGZyZXF1ZW50bHkgaXMgc3RpbGwgYQ0KPiBzaWdu
aWZpY2FudCB3aW4gZm9yIHVzZXJzLg0KDQpQcm9iYWJseSwgeWVzLg0KDQo+IEluIHRoZSBs
b25nIHRlcm0sIHRoZXJlIGlzIG9uZSBzaXR1YXRpb24gSSBkbyBub3QgaGF2ZSBhIGdvb2Qg
c29sdXRpb24NCj4gZm9yOiByZWNvdmVyeSBmcm9tIEdVSSBhZ2VudCBjcmFzaGVzLiAgSWYg
dGhlIEdVSSBhZ2VudCBjcmFzaGVzLCB0aGUNCj4ga2VybmVsIGl0IGlzIHJ1bm5pbmcgdW5k
ZXIgaGFzIHR3byBiYWQgY2hvaWNlcy4gIEVpdGhlciB0aGUga2VybmVsIGNhbg0KPiByZWNs
YWltIHRoZSBncmFudHMsIHJpc2tpbmcgdGhlbSBiZWluZyBtYXBwZWQgYXQgYSBsYXRlciB0
aW1lIGJ5IHRoZSBHVUkNCj4gZGFlbW9uLCBvciBpdCBjYW4gbGVhayB0aGVtLCB3aGljaCBp
cyBiYWQgZm9yIG9idmlvdXMgcmVhc29ucy4gIEkNCj4gYmVsaWV2ZSB0aGUgY3VycmVudCBp
bXBsZW1lbnRhdGlvbiBtYWtlcyB0aGUgZm9ybWVyIGNob2ljZS4NCg0KSXQgZG9lcy4NCg0K
SSBkb24ndCBoYXZlIGVub3VnaCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgR1VJIGFyY2hpdGVj
dHVyZSB5b3UgYXJlIHVzaW5nLg0KV2hpY2ggY29tcG9uZW50cyBhcmUgaW52b2x2ZWQgb24g
dGhlIGJhY2tlbmQgc2lkZSwgYW5kIHdoaWNoIG9uIHRoZQ0KZnJvbnRlbmQgc2lkZT8gRXNw
ZWNpYWxseSB0aGUgcmVzcG9uc2liaWxpdGllcyBhbmQgY29tbXVuaWNhdGlvbiByZWdhcmRp
bmcNCmdyYW50cyBpcyBpbXBvcnRhbnQgaGVyZS4NCg0KPiBUbyBmaXggdGhpcyBwcm9ibGVt
LCBJIHJlY29tbWVuZCB0aGUgZm9sbG93aW5nIGNoYW5nZXM6DQo+IA0KPiAxLiBUcmVhdCDi
gJxiYWNrZW5kIGhhcyBub3QgdW5tYXBwZWQgZ3JhbnTigJ0gZXJyb3JzIGFzIG5vbi1mYXRh
bC4gIFRoZSBtb3N0DQo+ICAgICBsaWtlbHkgY2F1c2UgaXMgYnVnZ3kgdXNlcnNwYWNlIHNv
ZnR3YXJlLCBub3QgYW4gYXR0ZW1wdCB0byBleHBsb2l0DQo+ICAgICBYU0EtMzk2LiAgSW5z
dGVhZCBvZiBkaXNhYmxpbmcgdGhlIGRldmljZSwganVzdCBsb2cgYSB3YXJuaW5nIG1lc3Nh
Z2UNCj4gICAgIGFuZCBwdXQgdGhlIGdyYW50IG9uIHRoZSBkZWZlcnJlZCBxdWV1ZS4gIEV2
ZW4gbGVha2luZyB0aGUgZ3JhbnQNCj4gICAgIHdvdWxkIGJlIHByZWZlcmFibGUgdG8gdGhl
IGN1cnJlbnQgYmVoYXZpb3IsIGFzIGRpc2FibGluZyBhIGJsb2NrDQo+ICAgICBkZXZpY2Ug
dHlwaWNhbGx5IGxlYXZlcyB0aGUgVk0gdW51c2FibGUuDQoNClNvcnJ5LCBJIGRvbid0IGFn
cmVlLiBUaGlzIGlzIGEgbWFqb3IgdmlvbGF0aW9uIG9mIHRoZSBub3JtYWwgSS9PDQphcmNo
aXRlY3R1cmUuIFlvdXIgcmVhc29uaW5nIHdpdGggdGhlIGRpc2FibGVkIGJsb2NrIGRldmlj
ZSBkb2Vzbid0IG1ha2UNCm11Y2ggc2Vuc2UgSU1ITywgYXMgdGhlIG1hcHBlZCBncmFudCB3
YXMgZHVlIHRvIGEgYmFkIGludGVyZmFjZSBsZWFkaW5nIHRvDQphbm90aGVyIGNvbXBvbmVu
dCB1c2luZyBhIGdyYW50IGl0IHdhcyBub3QgbWVhbnQgdG8gdXNlLg0KDQpTaHV0dGluZyBk
b3duIHRoZSBibG9jayBkZXZpY2UgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGhlcmUsIGFz
IGRhdGENCmNvcnJ1cHRpb24gbWlnaHQgYmUgaGFwcGVuaW5nLg0KDQo+IDIuIEVuc3VyZSB0
aGF0IHRoZSBzYW1lIGdyYW50IGJlaW5nIG1hcHBlZCB0d2ljZSBpcyBoYW5kbGVkIGNvcnJl
Y3RseS4NCj4gICAgIEF0IGxlYXN0IExpbnV4IGlzIGtub3duIHRvIGhhdmUgYnVncyBpbiB0
aGlzIHJlZ2FyZC4NCg0KSSBhZ3JlZSB0aGF0IHRoaXMgc2hvdWxkIGJlIHJlcGFpcmVkLg0K
DQo+IDMuIFByb3ZpZGUgYSBtZWFucyBmb3IgYSBkb21haW4gdG8gYmUgbm90aWZpZWQgYnkg
WGVuIHdoZW5ldmVyIG9uZSBvZg0KPiAgICAgaXRzIGdyYW50cyBpcyB1bm1hcHBlZC4gIFNl
dHRpbmcgYW4gZXZlbnQgY2hhbm5lbCBhbmQgd3JpdGluZyB0byBhDQo+ICAgICBzaGFyZWQg
cmluZyB3b3VsZCBzdWZmaWNlLiAgVGhpcyB3b3VsZCBhbGxvdyBlbGltaW5hdGluZyB0aGUg
a2x1ZGd5DQo+ICAgICBkZWZlcnJlZCBmcmVlaW5nIG1lY2hhbmlzbS4NCg0KSW50ZXJlc3Rp
bmcgaWRlYS4NCg0KSSBiZWxpZXZlIHN1Y2ggYW4gaW50ZXJmYWNlIHdvdWxkIG5lZWQgdG8g
YmUgYWN0aXZhdGVkIHBlciBncmFudCwgYXMNCm90aGVyd2lzZSBwZXJmb3JtYW5jZSBjb3Vs
ZCBzdWZmZXIgYSBsb3QuIFRoZXJlIGFyZSBzdGlsbCBzb21lIHVudXNlZCBiaXRzDQppbiB0
aGUgZ3JhbnQgZmxhZ3MsIG9uZSBjb3VsZCBiZSB1c2VkIGZvciB0aGF0IHB1cnBvc2UuDQoN
CkknbSBub3Qgc3VyZSBob3cgb2Z0ZW4gdGhpcyB3b3VsZCBiZSB1c2VkLiBJbiBjYXNlIGl0
IGlzIG9ubHkgZm9yIHRoZSByYXJlDQpjYXNlIG9mIHVuZXhwZWN0ZWRseSBsb25nIG1hcHBl
ZCBncmFudCBwYWdlcywgYSBzaW1wbGUgZXZlbnQgbWlnaHQgZG8gdGhlDQpqb2IsIHdpdGgg
dGhlIGV2ZW50IGhhbmRsZXIganVzdCBza2ltbWluZyB0aHJvdWdoIHRoZSBwZW5kaW5nIHVu
bWFwcyB0bw0KZmluZCB0aGUgZ3JhbnRzIGJlaW5nIGF2YWlsYWJsZSBhZ2Fpbi4NCg0KDQpK
dWVyZ2VuDQo=
--------------kk0KOeF2CHkWK8hisZ0JVDPx
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------kk0KOeF2CHkWK8hisZ0JVDPx--

--------------pP8TbMCGs9DVyv3OhuXlm0EV--

--------------SsILnY7Mkg7XKHZcIp3cpirI
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMMt1sFAwAAAAAACgkQsN6d1ii/Ey96
jAf5ASfmvr3CctbttRdF/wk4gs+W2yaEFwE8FvFNRa5ocnPJtFHZcRO9oKqSD8PNmu8PClRBkVqI
GeEbretmpj/4QLcv2yEAsr6/bHKg9sxQFwUJlBPaGHXFsG9sZ8dPRmdQh0tQrVK3jV7AhWM5Y4fM
9xu8eRa+8Io6482XJGU0nGNpbK6GnVyyQ7XZzVUR/mpVgSKrOaWpbam5aO1TwsT9wWXmlOWZpkep
QvovR3N5tw9GO6s/qe/VnLHs7gM3V77CW38B3vrDuiNFY4ITj7QNv6yW+Qg3Y5nN26q4JBDFKYNO
8pxO6Eyxfoqa7u/wFGTqbZ9QiQhLvZV+AbgPPRe5hA==
=BK3e
-----END PGP SIGNATURE-----

--------------SsILnY7Mkg7XKHZcIp3cpirI--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 13:12:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 13:12:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394588.634049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSeZE-0005ur-Ov; Mon, 29 Aug 2022 13:12:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394588.634049; Mon, 29 Aug 2022 13:12:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSeZE-0005uk-MB; Mon, 29 Aug 2022 13:12:40 +0000
Received: by outflank-mailman (input) for mailman id 394588;
 Mon, 29 Aug 2022 13:12:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSeZD-0005ua-GH; Mon, 29 Aug 2022 13:12:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSeZD-0005r5-Da; Mon, 29 Aug 2022 13:12:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSeZD-0003nY-0k; Mon, 29 Aug 2022 13:12:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSeZD-0000mP-0H; Mon, 29 Aug 2022 13:12:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+HfVED9qSUHKpcxfeTPk/w45IVAREUb9KMrCuNvH4m8=; b=lE7yT3aJf3pVXsgsyImBLIBMpq
	ENQga4Pxgz8g5yV9y7o0OYK7q/G5+YYUWkJmrFDNdMOnweGPgeanAzx7QQVmzn2WI2Ndh3UbTkmT8
	EPoDHikKbHRRqr8NsW1N/8gw1ITG5704QOzvAwUFVqloiXhlACp7k32APxJ5TVGMc5zw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172841-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172841: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-freebsd10-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:xen-boot/l1:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:capture-logs/l1(17):fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
X-Osstest-Versions-That:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 13:12:39 +0000

flight 172841 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172841/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-freebsd10-amd64 19 guest-localmigrate/x10 fail in 172823 pass in 172841
 test-amd64-amd64-qemuu-nested-intel 16 xen-boot/l1         fail pass in 172823
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 172823

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel 17 capture-logs/l1(17) fail blocked in 172823
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 172823 like 172804
 build-amd64-libvirt           6 libvirt-build                fail  like 172823
 build-i386-libvirt            6 libvirt-build                fail  like 172823
 build-arm64-libvirt           6 libvirt-build                fail  like 172823
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172823
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172823
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172823
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172823
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172823
 build-armhf-libvirt           6 libvirt-build                fail  like 172823
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172823
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172823
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172823
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f
baseline version:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f

Last test of basis   172841  2022-08-29 01:52:19 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 29 14:28:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 14:28:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394597.634059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSfkF-0004XY-F0; Mon, 29 Aug 2022 14:28:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394597.634059; Mon, 29 Aug 2022 14:28:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSfkF-0004XR-CK; Mon, 29 Aug 2022 14:28:07 +0000
Received: by outflank-mailman (input) for mailman id 394597;
 Mon, 29 Aug 2022 14:28:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSfkD-0004XH-Ue; Mon, 29 Aug 2022 14:28:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSfkD-00079A-RS; Mon, 29 Aug 2022 14:28:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSfkD-0000Dq-Cy; Mon, 29 Aug 2022 14:28:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSfkD-00059T-Cb; Mon, 29 Aug 2022 14:28:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=J2qrM3agYn5IZ6Jqfju5bUiBgze9Kp8AbdQVBNvoBlE=; b=RqZGNwXZHV93v3llmYcekKOIai
	a7oWWTrCKawTfivykldNXQ351DVODv5S6y8D3/v47/XVx74sU6StVVAeXL7LZS1diA+dAGuBSIpMn
	idkfQcU1xMXG0fFTo6PqTMT7oKPYdVQsQNlAu/l8/lEoCdpEVX1OmYuLWlExlywzhKb4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172850-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172850: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 14:28:05 +0000

flight 172850 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172850/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   25 days
Failing since        172151  2022-08-05 02:40:28 Z   24 days  198 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 14:39:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 14:39:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394605.634071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSfvQ-00061A-HW; Mon, 29 Aug 2022 14:39:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394605.634071; Mon, 29 Aug 2022 14:39:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSfvQ-000613-ER; Mon, 29 Aug 2022 14:39:40 +0000
Received: by outflank-mailman (input) for mailman id 394605;
 Mon, 29 Aug 2022 14:39:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jfEz=ZB=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1oSfvO-00060x-Dn
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 14:39:38 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6669879f-27a8-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 16:39:36 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 0C48F5C0172;
 Mon, 29 Aug 2022 10:39:34 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 29 Aug 2022 10:39:34 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 29 Aug 2022 10:39:32 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6669879f-27a8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661783974; x=
	1661870374; bh=upkd5NFAQVj1W3/SIbJhOLV2G4DhXzIzQscx2aCEEow=; b=m
	famfGzyh9LwCllRDrdaXin2dQLFWwtFWCUMtTyiKDiBVVSm1LsiBys6ZmvvWTgf0
	jGAUrbQG7QAppYA22GFwsNiJBT3TtweCZ9D76YuN+X7E2gL5NVTFfxl4oaCkZa5t
	aZWs00Qac12kAXPJSbJPqGGnQH0wozjQKf43cAu8V3BIGwIBb+eO0I7J0Er7tvSG
	g2VlzhmzTYMNowYChrm5i29PT39ExwUqz5R10eqaf1uYyC4eA1TBCw/AsPjvkDdo
	oKUp4hQdfhYeLUl03UBD3Q+wtxUD8lYjH6NbT8/v1/CZ3g89fE79g80JZKw6Gvd8
	F5LO/x2S4kC2ROjvp8V/w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661783974; x=1661870374; bh=upkd5NFAQVj1W3/SIbJhOLV2G4Dh
	XzIzQscx2aCEEow=; b=SACOWy/Rs3KCy0PN0i1Xvb+YmhF6bYRa2+NS0/zeH2ek
	ztywF+Wml8iwd+lLaim5U70jSELMgLwGT7oiy4GPYUkhv8ccqx9YQGw6Jr+opSbg
	47RnSMAWe0pUcX5FWH58r2/TLG8ALwEHfa21RkBCrKrHcvMalkCmao2jQQbemko9
	g9YAOqDNxRdDrP7y4yt9WdT8EamkeDNikMIOqkYyIgjz6u4mk9Bw4yszW5OR0V6a
	nTdq7SQxSuzzHZO5JhHIPWvOy9VYJiO4Jacuzd0Np7hTrYDTkNr3OiYDbmPutwKj
	fjXoo0mXeBUpAUCraNS70QCZaF+uNa1J7rmqqgoqxQ==
X-ME-Sender: <xms:pc8MYxBNyDJi2l9IkBno_0eKdD8pzAGYDbhkhln5rmxxNErQcGrYjQ>
    <xme:pc8MY_hLO8eAr6hbEPNyZrlt3gQla030iHCTdbA1huSmCwGjC0Go9nEQfR2oHIMJe
    B5m57Sk9l3dwA>
X-ME-Received: <xmr:pc8MY8mAgCpQ8m2sSMvZf28MpYZh4pjqbQwXdzl7RAXoAoTF6QzgZAjis1BxDYwYWhccAXwAHoSzmUYsa3_2BDcCntkRtZLBA2P_>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdekuddgkedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:pc8MY7zXmtg6syysODf1jkkdF_W7xo6AISoUnYOcQsPRtP2fC-2MXQ>
    <xmx:pc8MY2SHVH3B41ZdmPozMgKGZW6p4FUDGAh9vvctrlMta44_Qc96Rw>
    <xmx:pc8MY-YZuFfE9HsUFpmglKekLUtZS4Solo8LUopVEgj7bq6cx20Bvw>
    <xmx:ps8MY_6N5-bf6fST4-S_1rOEdKbmor17EdBbytBtISplEdyIU2a9Rw>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 29 Aug 2022 16:39:29 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors
Message-ID: <YwzPotro68PP2u41@mail-itl>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com>
 <YwVuwXOGoZX3pM7n@mail-itl>
 <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com>
 <Ywr6CfxUZs4zRPYR@itl-email>
 <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="yrMu9oU3G/ntPy/+"
Content-Disposition: inline
In-Reply-To: <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com>


--yrMu9oU3G/ntPy/+
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 29 Aug 2022 16:39:29 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors

On Mon, Aug 29, 2022 at 02:55:55PM +0200, Juergen Gross wrote:
> On 28.08.22 07:15, Demi Marie Obenour wrote:
> > On Wed, Aug 24, 2022 at 08:11:56AM +0200, Juergen Gross wrote:
> > > On 24.08.22 02:20, Marek Marczykowski-G=C3=B3recki wrote:
> > > > On Tue, Aug 23, 2022 at 09:48:57AM +0200, Juergen Gross wrote:
> > > > > On 23.08.22 09:40, Demi Marie Obenour wrote:
> > > > > > I recently had a VM=E2=80=99s /dev/xvdb stop working with a =E2=
=80=9Cbackend has not
> > > > > > unmapped grant=E2=80=9D error.  Since /dev/xvdb was the VM=E2=
=80=99s private volume,
> > > > > > that rendered the VM effectively useless.  I had to kill it with
> > > > > > qvm-kill.
> > > > > >=20
> > > > > > The backend of /dev/xvdb is dom0, so a malicious backend is cle=
arly not
> > > > > > the cause of this.  I believe the actual cause is a race condit=
ion, such
> > > > > > as the following:
> > > > > >=20
> > > > > > 1. GUI agent in VM allocates grant X.
> > > > > > 2. GUI agent tells GUI daemon in dom0 to map X.
> > > > > > 3. GUI agent frees grant X.
> > > > > > 4. blkfront allocates grant X and passes it to dom0.
> > > > > > 5. dom0=E2=80=99s blkback maps grant X.
> > > > > > 6. blkback unmaps grant X.
> > > > > > 7. GUI daemon maps grant X.
> > > > > > 8. blkfront tries to revoke access to grant X and fails.  Disas=
ter
> > > > > >       ensues.
> > > > > >=20
> > > > > > What could be done to prevent this race?  Right now all of the
> > > > > > approaches I can think of are horribly backwards-incompatible. =
 They
> > > > > > require replacing grant IDs with some sort of handle, and requi=
ring
> > > > > > userspace to pass these handles to ioctls.  It is also possible=
 that
> > > > > > netfront and blkfront could race against each other in a way th=
at causes
> > > > > > this, though I suspect that race would be much harder to trigge=
r.
> > > > > >=20
> > > > > > This has happened more than once so it is not a fluke due to e.=
g. cosmic
> > > > > > rays or other random bit-flips.
> > > > > >=20
> > > > > > Marek, do you have any suggestions?
> > > > >=20
> > > > > To me that sounds like the interface of the GUI is the culprit.
> > > > >=20
> > > > > The GUI agent in the guest should only free a grant, if it got a =
message
> > > > > from the backend that it can do so. Just assuming to be able to f=
ree it
> > > > > because it isn't in use currently is the broken assumption here.
> > > >=20
> > > > FWIW, I hit this issue twice already in this week CI run, while it =
never
> > > > happened before. The difference compared to previous run is Linux
> > > > 5.15.57 vs 5.15.61. The latter reports persistent grants disabled.
> > >=20
> > > I think this additional bug is just triggering the race in the GUI
> > > interface more easily, as blkfront will allocate new grants with a
> >=20
> > 1. Treat =E2=80=9Cbackend has not unmapped grant=E2=80=9D errors as non=
-fatal.  The most
> >     likely cause is buggy userspace software, not an attempt to exploit
> >     XSA-396.  Instead of disabling the device, just log a warning messa=
ge
> > > much higher frequency.
> > >=20
> > > So fixing the persistent grant issue will just paper over the real
> > > issue.
> >=20
> > Indeed so, but making the bug happen much less frequently is still a
> > significant win for users.
>=20
> Probably, yes.
>=20
> > In the long term, there is one situation I do not have a good solution
> > for: recovery from GUI agent crashes.  If the GUI agent crashes, the
> > kernel it is running under has two bad choices.  Either the kernel can
> > reclaim the grants, risking them being mapped at a later time by the GUI
> > daemon, or it can leak them, which is bad for obvious reasons.  I
> > believe the current implementation makes the former choice.
>=20
> It does.
>=20
> I don't have enough information about the GUI architecture you are using.
> Which components are involved on the backend side, and which on the
> frontend side? Especially the responsibilities and communication regarding
> grants is important here.

I'll limit the description to the relevant minimum here.
The gui-agent(*) uses gntalloc to share framebuffers (they are allocated
whenever an application within domU opens a window), then sends grant
reference numbers over vchan to the gui-daemon (running in dom0 by
default, but it can be also another domU).
Then the gui-daemon(*) maps them.
Later, when an application closes a window, the shared memory is
unmapped, and gui-daemon is informed about it. Releasing grant refs is
deferred by the kernel (until gui-daemon unmaps them). It may happen
that unmapping on the gui-agent side will happen before gui-daemon maps
them. We are modifying our GUI protocol to delay releasing grants on the
user space side, to coordinate with gui-daemon (basically wait until
gui-daemon confirms it unmapped them). This should fix the "normal"
case.
But if the gui-agent crashes just after sending grant refs, but before
gui-daemon maps them, then the problem is still there. If they are
immediately released by the kernel for others to use, we can hit the
same issue again (for example blkfront using them, and then gui-daemon
mapping them). I don't see race-free method for solving this with the
current API. GUI daemon can notice when such situation happens (by
checking if gui-agent is still alive after mapping grants), but that is
too late already.

The main difference compared to kernel drivers is the automatic release
on crash (or other unclean exit). In case of kernel driver crash, either
the whole VM goes down, or at least automatic release doesn't happen.
Maybe gntalloc could have some flag (per open file? per allocated
grant?) to _not_ release grant reference (aka leak it) in case of
implicit unmap, instead of explicit release? Such explicit release
would need to be added to the Linux gntshr API, as xengntshr_unshare()
currently is just munmap()). I don't see many other options to avoid
userspace crash (potentially) taking down PV device with it too...


(*) gui-agent and gui-daemon here are both in fact two processes (qubes gui
process that handles vchan communication and Xorg that does the actual
mapping). It complicates few things, but generally is irrelevant detail
=66rom the Xen point of view.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--yrMu9oU3G/ntPy/+
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmMMz6EACgkQ24/THMrX
1yzHXggAi8jwM9BkGtkCrQfi7kOuzR1YtIlPaQX9g5WZw1t6ls1tEw2tE079/F8S
yaLd2WynUVPnSnIbSjzAqQwFkcmWIWcTakhZuHqqGmEUllQm4XWHzMn8HbzkT3xF
suDR5cODsmciRyo/+X3w0lHSWSXEvot9li+eDLPrT2M+90MU/jKpAVjVaAYoMZp0
fsYlyNENbmkrwEh930zi5EyXfIlEYI/32XrFrWlcJRLy1eh9NPy0ZMygatAfOoiv
VOHNqM/M9OPd7OnO9O0Ag61AHvOnBnI2ejjc5bN0ltcwPtl5RSoWm1buhNxGDxCw
NU4cEZAmXpythTX86Ql634HbfFg0Lg==
=BwWb
-----END PGP SIGNATURE-----

--yrMu9oU3G/ntPy/+--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 15:08:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 15:08:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394612.634082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSgMo-0000pY-P0; Mon, 29 Aug 2022 15:07:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394612.634082; Mon, 29 Aug 2022 15:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSgMo-0000pR-Jm; Mon, 29 Aug 2022 15:07:58 +0000
Received: by outflank-mailman (input) for mailman id 394612;
 Mon, 29 Aug 2022 15:07:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSgMn-0000pH-D6; Mon, 29 Aug 2022 15:07:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSgMn-0007oE-9n; Mon, 29 Aug 2022 15:07:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSgMm-0002ZN-PN; Mon, 29 Aug 2022 15:07:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSgMm-0007qc-Os; Mon, 29 Aug 2022 15:07:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=a7tvm2XtcBg1Ufr7StianqMSPgr6w/Wi1diG4Z8yf+M=; b=M8eR52+EMe/uwghFjQZmDPPLpP
	yX7Ah+shUVv/G/sX/MYq0LUtaY5XqG/rOEQwgIpk3/OagAwodUZxoYws/t0+uHHtkExwNDYFMc0CL
	hJO0iUwa+IaiXMz1WjwGBCbGCsWjn8HfDpjNVMa4rlZ6elV8trHfe5MhEzVCuWUPbpb4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172844-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172844: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start.2:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 15:07:56 +0000

flight 172844 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172844/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install fail in 172835 pass in 172844
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail pass in 172835
 test-armhf-armhf-xl-rtds     19 guest-start.2              fail pass in 172835
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 172835

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   25 days
Failing since        172148  2022-08-04 21:39:38 Z   24 days   56 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    4 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 15:16:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 15:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394622.634093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSgUY-0002MK-Ng; Mon, 29 Aug 2022 15:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394622.634093; Mon, 29 Aug 2022 15:15:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSgUY-0002MD-KT; Mon, 29 Aug 2022 15:15:58 +0000
Received: by outflank-mailman (input) for mailman id 394622;
 Mon, 29 Aug 2022 15:15:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sCJO=ZB=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1oSgUX-0002M7-Gh
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 15:15:57 +0000
Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com
 [2607:f8b0:4864:20::82c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a473f9c-27ad-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 17:15:56 +0200 (CEST)
Received: by mail-qt1-x82c.google.com with SMTP id y18so6348605qtv.5
 for <xen-devel@lists.xenproject.org>; Mon, 29 Aug 2022 08:15:55 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:595c:561f:be80:7773])
 by smtp.gmail.com with ESMTPSA id
 cj16-20020a05622a259000b0031eb5648b86sm5311538qtb.41.2022.08.29.08.15.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Aug 2022 08:15:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a473f9c-27ad-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=jJgRGDMh5QqrocPxkJGdQzX2cJb3bE82S/H7CAscWyE=;
        b=k7DtU3GaV0f7P+6hGWWYs3Z/qp9vFv2K7yaiwtBdLiIyz40bh2F3jUrfz2Px+pzlZm
         05zlDg073iABfahwL2FeExviGpDqwNyfUojWuMae/qG0JApCWmJWcQIxaVcS5a7Cd0HE
         YrU6qoEZwtFmEfrSPl4wknWqOM38BsdqshsxL8+/AD5i3OMqPlKltgWjvZmjz8/d9FHN
         F5kciKOhTs2lglrn8bmu48kC7O8yHu2T7Pgi/PYKllLnbnOddi4/FdnoYS/E7EgbnkRN
         9/zE/kU5HKGaCkLGtU4/Zg55EvdFki+s6xKRnW/aRE/T4Po65e3o9cvazKcTNCyExpCI
         C+QA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=jJgRGDMh5QqrocPxkJGdQzX2cJb3bE82S/H7CAscWyE=;
        b=TanwqCyh/z3gO4fLSZ1xaVRH+XxHGUaaMQz1R2ErBqqGocyF8mTWAe45K0wNeE0b3V
         mPKnn8kW+kp0zUeVYLEZKDVDF4+1yI01f/BD73dba5wQCQUgeYiSXHIWkbp4JG/VyuJw
         NTCbHVCSzN0XlXv65Tc01vqlmV/3ygvFIsab/5Yx8+gWO5cug6Q7OBt1qL9ZYKYQsBVD
         spJyon4sHMzAC8AglCuGNNeKB7c3jul1+LPbFKA5qEiU4gwaXiIn8Ems7xBcGLYayWbm
         AH/EOzkrLqeDTkTu8sThX9IeBZ9xcQ+e4B86uC5SkhsZOKyGGAhP3P8X6v6QbbKatmq/
         3WTQ==
X-Gm-Message-State: ACgBeo3mS47WLRuFm2LTtk09JqoXhGR3JNjg5vpLB+sGIGlEqBqbG8pS
	c92fiR+afknR3XnPaU9aZGc=
X-Google-Smtp-Source: AA6agR4uUb8CMyq5Bx/fpRKDFzFFMYkWQIA3n27IOCUea2JWTE8P4OR/N3IO21wCYyByrhhA2ma0XA==
X-Received: by 2002:a05:622a:589:b0:342:fd8c:9786 with SMTP id c9-20020a05622a058900b00342fd8c9786mr10644133qtb.150.1661786154759;
        Mon, 29 Aug 2022 08:15:54 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Bjorn Helgaas <bhelgaas@google.com>
Cc: Jason Andryuk <jandryuk@gmail.com>,
	xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] xen-pcifront: Handle missed Connected state
Date: Mon, 29 Aug 2022 11:15:36 -0400
Message-Id: <20220829151536.8578-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

An HVM guest with linux stubdom and 2 PCI devices failed to start as
libxl timed out waiting for the PCI devices to be added.  It happens
intermittently but with some regularity.  libxl wrote the two xenstore
entries for the devices, but then timed out waiting for backend state 4
(Connected) - the state stayed at 7 (Reconfiguring).  (PCI passthrough
to an HVM with stubdomain is PV passthrough to the stubdomain and then
HVM passthrough with the QEMU inside the stubdomain.)

The stubdom kernel never printed "pcifront pci-0: Installing PCI
frontend", so it seems to have missed state 4 which would have
called pcifront_try_connect -> pcifront_connect_and_init_dma

Have pcifront_detach_devices special-case state Initialised and call
pcifront_connect_and_init_dma.  Don't use pcifront_try_connect because
that sets the xenbus state which may throw off the backend.  After
connecting, skip the remainder of detach_devices since none have been
initialized yet.  When the backend switches to Reconfigured,
pcifront_attach_devices will pick them up again.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 drivers/pci/xen-pcifront.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -1012,13 +1012,26 @@ static int pcifront_detach_devices(struc
 {
 	int err = 0;
 	int i, num_devs;
+	enum xenbus_state state;
 	unsigned int domain, bus, slot, func;
 	struct pci_dev *pci_dev;
 	char str[64];
 
-	if (xenbus_read_driver_state(pdev->xdev->nodename) !=
-	    XenbusStateConnected)
+	state = xenbus_read_driver_state(pdev->xdev->nodename);
+	if (state == XenbusStateInitialised) {
+		dev_dbg(&pdev->xdev->dev, "Handle skipped connect.\n");
+		/* We missed Connected and need to initialize. */
+		err = pcifront_connect_and_init_dma(pdev);
+		if (err && err != -EEXIST) {
+			xenbus_dev_fatal(pdev->xdev, err,
+					 "Error setting up PCI Frontend");
+			goto out;
+		}
+
+		goto out_switch_state;
+	} else if (state != XenbusStateConnected) {
 		goto out;
+	}
 
 	err = xenbus_scanf(XBT_NIL, pdev->xdev->otherend, "num_devs", "%d",
 			   &num_devs);
@@ -1079,6 +1092,7 @@ static int pcifront_detach_devices(struc
 			domain, bus, slot, func);
 	}
 
+ out_switch_state:
 	err = xenbus_switch_state(pdev->xdev, XenbusStateReconfiguring);
 
 out:


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 15:28:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 15:28:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394628.634104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSggK-0003sF-5H; Mon, 29 Aug 2022 15:28:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394628.634104; Mon, 29 Aug 2022 15:28:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSggJ-0003s8-VE; Mon, 29 Aug 2022 15:28:08 +0000
Received: by outflank-mailman (input) for mailman id 394628;
 Mon, 29 Aug 2022 15:26:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JaVa=ZB=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oSgf3-0003pE-4X
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 15:26:50 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe763dfe-27ae-11ed-9250-1f966e50362f;
 Mon, 29 Aug 2022 17:26:47 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe763dfe-27ae-11ed-9250-1f966e50362f
Date: Mon, 29 Aug 2022 15:26:40 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1661786805; x=1662046005;
	bh=oPVUA7We/e6tsUZffm5X0RdbFbkcV2PKLpqviqhRW94=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=wUbSAXc66LNa8zzLkpIPz0HL75ATFTdJl6tnsj+Q7/kDnW8w7Hy2m5R4jkayWgnM9
	 30HSkUw4PvcUTru/Po5W6wa/TRt0yYcve9cNHviTMenHf9RH1VE0fMsGB4q2C1Okkq
	 Gt+Vtraa9Bquz0HnkWhAGP5+hq6TtylD6eA6iAu5zQtAPEh6rWzU1eGKvt0AZwKnQ6
	 9j04RGd3QDE9HHU/mo3p/+bML7uVEFkClJUWVsdu8o1xBDTNfInm28J5I2Nhrz5vkK
	 cM4gU6d/TFh7SwM1O0Y9ci9UozigcT5rJOnkadj4rrlfKu2yLQ4XXYuULWYsQkVX3T
	 Ud4U6M7h3YPeg==
To: jbeulich@suse.com
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <J4OUtvfDQmC1VoMHUDxa-c-c6LAnJzclOfocuzVylOTkOKm7H3Rp64q4svIjtgzGKVHQAuorobWyZxsamZsozAbiV3iZFvn__AjeNBqGf2Q=@protonmail.com>
In-Reply-To: <941ccb01-adf6-d2ef-9a8a-ea8fdfe69ceb@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com> <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com> <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com> <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com> <Zz_iE6KdPdkQ_TjUf-W2ODPIXo2WwXz0JxF5vgPjVuz8uWfJyto5S_nYRzSNrE0jC3r4ILhjkLH_PtW_fmIeTQIQtI6wTZxnUvOl0pr6ne4=@protonmail.com> <3b2ad2ca-3c6c-4dcb-c603-bd5440350f20@suse.com> <2dHPPtixTlkUXYEzNPFRI4ezKHSe1A2VaThMjBpd1aM3NFkZQuyRdfmNWCigm1oXfdKhOwDJGoPBBIMLYtYhQlENV2eFVZ0G9EMOMj5e6UE=@protonmail.com> <941ccb01-adf6-d2ef-9a8a-ea8fdfe69ceb@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0"

This is a multi-part message in MIME format.

--b1_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0
Content-Type: multipart/alternative;
 boundary="b2_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0"

--b2_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLAoKUGxlYXNlIHNlZSB0aGUgYXR0YWNoZWQgaW9tZW0gYW5kIG1lbWluZm8gdGV4dCBm
aWxlcyBmcm9tIGJvdGggUXViZXMgdW5kZXIgWGVuIGFuZCBmdW5jdGlvbmFsIEZlZG9yYSBXb3Jr
c3RhdGlvbi4KCkFmdGVyIHNvbWUgaW52ZXN0aWdhdGlvbiwgSSd2ZSBzZWVuIHRoYXQgSSdtIGFi
bGUgdG8gcnVuIGEgZmV3IHNtYWxsIFZNcyBqdXN0IGZpbmUsIGhvd2V2ZXIgYXMgc29vbiBhcyBJ
IHN0YXJ0IGEgbGFyZ2VyIFZNLCBQQ0kgZGV2aWNlcyBhcHBlYXIgdG8gc3RvcCB3b3JraW5nLCBJ
IGFzc3VtZSB0aGlzIGlzIGJlY2F1c2UgQU1EIG1vdmVkIFBDSSByZWdpc3RlciBhZGRyZXNzZXMg
YW5kIFhlbiBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyBjaGFuZ2UsIHNvIGl0J3MgbWFwcGluZyB0
aGlzIG1lbW9yeSBmb3Igb3RoZXIgYXBwVk1zIHRvIHVzZSwgcmVzdWx0aW5nIGluIHdlaXJkIGJl
aGF2aW9yPyBEb2VzIHRoYXQgc291bmQgY29ycmVjdD8KClBsZWFzZSBhbHNvIHNlZSBhIHNjcmVl
bnNob3Qgb2YgZG9tMCBjcmFzaGluZyB3aGVuIEkgaXNzdWUgYSByZXN0YXJ0IGFmdGVyIHRyaWdn
ZXJpbmcgdGhlIGJhZCBzdGF0ZQoKVGhhbmsgeW91

--b2_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLDxicj48YnI+UGxlYXNlIHNlZSB0aGUgYXR0YWNoZWQgaW9tZW0gYW5kIG1lbWluZm8g
dGV4dCBmaWxlcyBmcm9tIGJvdGggUXViZXMgdW5kZXIgWGVuIGFuZCBmdW5jdGlvbmFsIEZlZG9y
YSBXb3Jrc3RhdGlvbi48YnI+PGJyPkFmdGVyIHNvbWUgaW52ZXN0aWdhdGlvbiwgSSd2ZSBzZWVu
IHRoYXQgSSdtIGFibGUgdG8gcnVuIGEgZmV3IHNtYWxsIFZNcyBqdXN0IGZpbmUsIGhvd2V2ZXIg
YXMgc29vbiBhcyBJIHN0YXJ0IGEgbGFyZ2VyIFZNLCBQQ0kgZGV2aWNlcyBhcHBlYXIgdG8gc3Rv
cCB3b3JraW5nLCBJIGFzc3VtZSB0aGlzIGlzIGJlY2F1c2UgQU1EIG1vdmVkIFBDSSByZWdpc3Rl
ciBhZGRyZXNzZXMgYW5kIFhlbiBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyBjaGFuZ2UsIHNvIGl0
J3MgbWFwcGluZyB0aGlzIG1lbW9yeSBmb3Igb3RoZXIgYXBwVk1zIHRvIHVzZSwgcmVzdWx0aW5n
IGluIHdlaXJkIGJlaGF2aW9yPyBEb2VzIHRoYXQgc291bmQgY29ycmVjdD88YnI+PGJyPlBsZWFz
ZSBhbHNvIHNlZSBhIHNjcmVlbnNob3Qgb2YgZG9tMCBjcmFzaGluZyB3aGVuIEkgaXNzdWUgYSBy
ZXN0YXJ0IGFmdGVyIHRyaWdnZXJpbmcgdGhlIGJhZCBzdGF0ZTxicj48YnI+VGhhbmsgeW91


--b2_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0--

--b1_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0
Content-Type: text/plain; name=iomem_fedora.txt
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=iomem_fedora.txt

MDAwMDAwMDAtMDAwMDBmZmYgOiBSZXNlcnZlZAowMDAwMTAwMC0wMDA5ZWZmZiA6IFN5c3RlbSBS
QU0KMDAwOWYwMDAtMDAwYmZmZmYgOiBSZXNlcnZlZAogIDAwMGEwMDAwLTAwMGJmZmZmIDogUENJ
IEJ1cyAwMDAwOjAwCjAwMDAwMDAwLTAwMDAwMDAwIDogUENJIEJ1cyAwMDAwOjAwCjAwMDAwMDAw
LTAwMDAwMDAwIDogUENJIEJ1cyAwMDAwOjAwCjAwMDAwMDAwLTAwMDAwMDAwIDogUENJIEJ1cyAw
MDAwOjAwCjAwMGMwMDAwLTAwMGNmZmZmIDogUENJIEJ1cyAwMDAwOjAwCjAwMDAwMDAwLTAwMDAw
MDAwIDogUENJIEJ1cyAwMDAwOjAwCjAwMDAwMDAwLTAwMDAwMDAwIDogUENJIEJ1cyAwMDAwOjAw
CjAwMDAwMDAwLTAwMDAwMDAwIDogUENJIEJ1cyAwMDAwOjAwCjAwMDAwMDAwLTAwMDAwMDAwIDog
UENJIEJ1cyAwMDAwOjAwCjAwMDAwMDAwLTAwMDAwMDAwIDogUENJIEJ1cyAwMDAwOjAwCjAwMDAw
MDAwLTAwMDAwMDAwIDogUENJIEJ1cyAwMDAwOjAwCjAwMDAwMDAwLTAwMDAwMDAwIDogUENJIEJ1
cyAwMDAwOjAwCjAwMGQwMDAwLTAwMGVmZmZmIDogUENJIEJ1cyAwMDAwOjAwCjAwMGYwMDAwLTAw
MGZmZmZmIDogU3lzdGVtIFJPTQowMDEwMDAwMC0wOWFmZmZmZiA6IFN5c3RlbSBSQU0KMDliMDAw
MDAtMDlkZmZmZmYgOiBSZXNlcnZlZAowOWUwMDAwMC0wOWVmZmZmZiA6IFN5c3RlbSBSQU0KMDlm
MDAwMDAtMDlmMjdmZmYgOiBBQ1BJIE5vbi12b2xhdGlsZSBTdG9yYWdlCjA5ZjI4MDAwLTVmYmZl
ZmZmIDogU3lzdGVtIFJBTQo1ZmJmZjAwMC01ZmJmZmZmZiA6IFJlc2VydmVkCjVmYzAwMDAwLTYw
MWFhMDE3IDogU3lzdGVtIFJBTQo2MDFhYTAxOC02MDFiNGU1NyA6IFN5c3RlbSBSQU0KNjAxYjRl
NTgtNjAxYjUwMTcgOiBTeXN0ZW0gUkFNCjYwMWI1MDE4LTYwMWQ5NjU3IDogU3lzdGVtIFJBTQo2
MDFkOTY1OC02MjM2M2ZmZiA6IFN5c3RlbSBSQU0KNjIzNjQwMDAtNjQ1NjNmZmYgOiBSZXNlcnZl
ZAo2NDU2NDAwMC02NDU2Y2ZmZiA6IFN5c3RlbSBSQU0KNjQ1NmQwMDAtNjQ1NmZmZmYgOiBSZXNl
cnZlZAo2NDU3MDAwMC02YWE0MGZmZiA6IFN5c3RlbSBSQU0KNmFhNDEwMDAtNmFjZjRmZmYgOiBS
ZXNlcnZlZAo2YWNmNTAwMC02YzAyZmZmZiA6IFN5c3RlbSBSQU0KNmMwMzAwMDAtNmMwMzBmZmYg
OiBSZXNlcnZlZAo2YzAzMTAwMC02YzM4ZmZmZiA6IFN5c3RlbSBSQU0KNmMzOTAwMDAtNmMzOTBm
ZmYgOiBSZXNlcnZlZAo2YzM5MTAwMC03MDc3ZWZmZiA6IFN5c3RlbSBSQU0KNzA3N2YwMDAtNzJm
N2VmZmYgOiBSZXNlcnZlZAogIDcyZWQyMDAwLTcyZWQ1ZmZmIDogTVNGVDAxMDE6MDAKICAgIDcy
ZWQyMDAwLTcyZWQ1ZmZmIDogTVNGVDAxMDE6MDAKICA3MmVkNjAwMC03MmVkOWZmZiA6IE1TRlQw
MTAxOjAwCiAgICA3MmVkNjAwMC03MmVkOWZmZiA6IE1TRlQwMTAxOjAwCjcyZjdmMDAwLTdhZjdl
ZmZmIDogQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZQogIDdhZjY2MDAwLTdhZjY2ZmZmIDogVVNC
QzAwMDowMAo3YWY3ZjAwMC03YWZmZWZmZiA6IEFDUEkgVGFibGVzCjdhZmZmMDAwLTdhZmZmZmZm
IDogU3lzdGVtIFJBTQo3YjAwMDAwMC03YmZmZmZmZiA6IFJlc2VydmVkCjdkODAwMDAwLTdmZmZm
ZmZmIDogUmVzZXJ2ZWQKODAwMDAwMDAtZGZmZmZmZmYgOiBQQ0kgQnVzIDAwMDA6MDAKICA4MDAw
MDAwMC04MGZmZmZmZiA6IFBDSSBCdXMgMDAwMDowMQogICAgODAwMDAwMDAtODBmZmZmZmYgOiAw
MDAwOjAxOjAwLjAKICA4MTAwMDAwMC04MTJmZmZmZiA6IFBDSSBCdXMgMDAwMDowNQogICAgODEw
MDAwMDAtODEwZmZmZmYgOiAwMDAwOjA1OjAwLjAKICAgICAgODEwMDAwMDAtODEwZmZmZmYgOiB4
aGNpLWhjZAogICAgODExMDAwMDAtODExZmZmZmYgOiAwMDAwOjA1OjAwLjMKICAgICAgODExMDAw
MDAtODExZmZmZmYgOiB4aGNpLWhjZAogICAgODEyMDAwMDAtODEyZmZmZmYgOiAwMDAwOjA1OjAw
LjQKICAgICAgODEyMDAwMDAtODEyZmZmZmYgOiB4aGNpLWhjZAogIDgxMzAwMDAwLTgxNmZmZmZm
IDogUENJIEJ1cyAwMDAwOjA0CiAgICA4MTMwMDAwMC04MTNmZmZmZiA6IDAwMDA6MDQ6MDAuMwog
ICAgICA4MTMwMDAwMC04MTNmZmZmZiA6IHhoY2ktaGNkCiAgICA4MTQwMDAwMC04MTRmZmZmZiA6
IDAwMDA6MDQ6MDAuNAogICAgICA4MTQwMDAwMC04MTRmZmZmZiA6IHhoY2ktaGNkCiAgICA4MTUw
MDAwMC04MTVmZmZmZiA6IDAwMDA6MDQ6MDAuMgogICAgICA4MTUwMDAwMC04MTVmZmZmZiA6IGNj
cAogICAgODE2MDAwMDAtODE2N2ZmZmYgOiAwMDAwOjA0OjAwLjAKICAgIDgxNjgwMDAwLTgxNmJm
ZmZmIDogMDAwMDowNDowMC41CiAgICAgIDgxNjgwMDAwLTgxNmJmZmZmIDogQU1EIEFDUDN4IGF1
ZGlvCiAgICAgICAgODE2ODAwMDAtODE2OTAyMDAgOiBhY3BfaW9tZW0KICAgIDgxNmMwMDAwLTgx
NmM3ZmZmIDogMDAwMDowNDowMC42CiAgICAgIDgxNmMwMDAwLTgxNmM3ZmZmIDogSUNIIEhEIGF1
ZGlvCiAgICA4MTZjODAwMC04MTZjYmZmZiA6IDAwMDA6MDQ6MDAuMQogICAgICA4MTZjODAwMC04
MTZjYmZmZiA6IElDSCBIRCBhdWRpbwogICAgODE2Y2MwMDAtODE2Y2RmZmYgOiAwMDAwOjA0OjAw
LjIKICAgICAgODE2Y2MwMDAtODE2Y2RmZmYgOiBjY3AKICA4MTcwMDAwMC04MTdmZmZmZiA6IFBD
SSBCdXMgMDAwMDowMwogICAgODE3MDAwMDAtODE3MDNmZmYgOiAwMDAwOjAzOjAwLjAKICAgICAg
ODE3MDAwMDAtODE3MDNmZmYgOiBudm1lCiAgODE4MDAwMDAtODE4ZmZmZmYgOiBQQ0kgQnVzIDAw
MDA6MDIKICAgIDgxODAwMDAwLTgxODA3ZmZmIDogMDAwMDowMjowMC4wCiAgYTAyMDAwMDAtYTAy
ZmZmZmYgOiBSZXNlcnZlZAogICAgYTAyMDAwMDAtYTAyZmZmZmYgOiBwbnAgMDA6MDAKICAgICAg
YTAyMTA1MTAtYTAyMTA1M2YgOiBNU0ZUMDEwMTowMAogIGEwNDAwMDAwLWEwNDdmZmZmIDogYW1k
X2lvbW11CmYwMDAwMDAwLWZlYWZmZmZmIDogUENJIEJ1cyAwMDAwOjAwCmZlYzAwMDAwLWZlYzAw
M2ZmIDogSU9BUElDIDAKZmVjMDEwMDAtZmVjMDEzZmYgOiBJT0FQSUMgMQpmZWQwMDAwMC1mZWQw
MDNmZiA6IEhQRVQgMAogIGZlZDAwMDAwLWZlZDAwM2ZmIDogUE5QMDEwMzowMApmZWQ0NTAwMC1m
ZWQ4MTRmZiA6IFBDSSBCdXMgMDAwMDowMAogIGZlZDgwMDAwLWZlZDgwZmZmIDogUmVzZXJ2ZWQK
ZmVkODE1MDAtZmVkODE4ZmYgOiBBTURJMDAzMDowMApmZWQ4MTkwMC1mZWQ4MWZmZiA6IFBDSSBC
dXMgMDAwMDowMApmZWRjMDAwMC1mZWRjMGZmZiA6IFBDSSBCdXMgMDAwMDowMApmZWRjMjAwMC1m
ZWRjMmZmZiA6IEFNREkwMDEwOjAwCiAgZmVkYzIwMDAtZmVkYzJmZmYgOiBBTURJMDAxMDowMCBB
TURJMDAxMDowMApmZWRjMzAwMC1mZWRjM2ZmZiA6IEFNREkwMDEwOjAxCiAgZmVkYzMwMDAtZmVk
YzNmZmYgOiBBTURJMDAxMDowMSBBTURJMDAxMDowMQpmZWRjNDAwMC1mZWRjNGZmZiA6IEFNREkw
MDEwOjAyCiAgZmVkYzQwMDAtZmVkYzRmZmYgOiBBTURJMDAxMDowMiBBTURJMDAxMDowMgpmZWRj
NTAwMC1mZWRjNWZmZiA6IEFNREkwMDEwOjAzCiAgZmVkYzUwMDAtZmVkYzVmZmYgOiBBTURJMDAx
MDowMyBBTURJMDAxMDowMwpmZWRjNjAwMC1mZWRjNmZmZiA6IFBDSSBCdXMgMDAwMDowMApmZWUw
MDAwMC1mZWUwMGZmZiA6IExvY2FsIEFQSUMKICBmZWUwMDAwMC1mZWUwMGZmZiA6IHBucCAwMDow
MApmZjAwMDAwMC1mZmZmZmZmZiA6IFJlc2VydmVkCjEwMDAwMDAwMC04M2UyZmZmZmYgOiBTeXN0
ZW0gUkFNCiAgM2ExMDAwMDAwLTNhMjAwMjRkZiA6IEtlcm5lbCBjb2RlCiAgM2EyMjAwMDAwLTNh
MmNlOWZmZiA6IEtlcm5lbCByb2RhdGEKICAzYTJlMDAwMDAtM2EzMTkzMzdmIDogS2VybmVsIGRh
dGEKICAzYTM5ZjcwMDAtM2EzZmZmZmZmIDogS2VybmVsIGJzcwo4M2UzMDAwMDAtODNmMzNmZmZm
IDogUkFNIGJ1ZmZlcgo4M2YzNDAwMDAtOGEwMWZmZmZmIDogUmVzZXJ2ZWQKOGEwMjAwMDAwLTgz
M2ZmZmZmZmYgOiBQQ0kgQnVzIDAwMDA6MDAKICA4MjAwMDAwMDAwLTgzMDFmZmZmZmYgOiBQQ0kg
QnVzIDAwMDA6MDEKICAgIDgyMDAwMDAwMDAtODJmZmZmZmZmZiA6IDAwMDA6MDE6MDAuMAogICAg
ODMwMDAwMDAwMC04MzAxZmZmZmZmIDogMDAwMDowMTowMC4wCiAgODMwMjAwMDAwMC04MzAyMGZm
ZmZmIDogUENJIEJ1cyAwMDAwOjAyCiAgICA4MzAyMDAwMDAwLTgzMDIwZmZmZmYgOiAwMDAwOjAy
OjAwLjAKICAgICAgODMwMjAwMDAwMC04MzAyMGZmZmZmIDogMDAwMDowMjowMC4wCiAgODMxMDAw
MDAwMC04MzIwMWZmZmZmIDogUENJIEJ1cyAwMDAwOjA0CiAgICA4MzEwMDAwMDAwLTgzMWZmZmZm
ZmYgOiAwMDAwOjA0OjAwLjAKICAgIDgzMjAwMDAwMDAtODMyMDFmZmZmZiA6IDAwMDA6MDQ6MDAu
MAozZmZmYzAwMDAwMDAtM2ZmZmZmZmZmZmZmIDogMDAwMDowNDowMC4wCg==

--b1_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0
Content-Type: text/plain; name=iomem_qubes.txt
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=iomem_qubes.txt

MDAwMDAwMDAtMDAwMDBmZmYgOiBSZXNlcnZlZAowMDAwMTAwMC0wMDA5ZWZmZiA6IFN5c3RlbSBS
QU0KMDAwOWYwMDAtMDAwZmZmZmYgOiBSZXNlcnZlZAogIDAwMGEwMDAwLTAwMGJmZmZmIDogUENJ
IEJ1cyAwMDAwOjAwCiAgMDAwMDAwMDAtMDAwMDAwMDAgOiBQQ0kgQnVzIDAwMDA6MDAKICAwMDAw
MDAwMC0wMDAwMDAwMCA6IFBDSSBCdXMgMDAwMDowMAogIDAwMDAwMDAwLTAwMDAwMDAwIDogUENJ
IEJ1cyAwMDAwOjAwCiAgMDAwYzAwMDAtMDAwY2ZmZmYgOiBQQ0kgQnVzIDAwMDA6MDAKICAwMDAw
MDAwMC0wMDAwMDAwMCA6IFBDSSBCdXMgMDAwMDowMAogIDAwMDAwMDAwLTAwMDAwMDAwIDogUENJ
IEJ1cyAwMDAwOjAwCiAgMDAwMDAwMDAtMDAwMDAwMDAgOiBQQ0kgQnVzIDAwMDA6MDAKICAwMDAw
MDAwMC0wMDAwMDAwMCA6IFBDSSBCdXMgMDAwMDowMAogIDAwMDAwMDAwLTAwMDAwMDAwIDogUENJ
IEJ1cyAwMDAwOjAwCiAgMDAwMDAwMDAtMDAwMDAwMDAgOiBQQ0kgQnVzIDAwMDA6MDAKICAwMDAw
MDAwMC0wMDAwMDAwMCA6IFBDSSBCdXMgMDAwMDowMAogIDAwMGQwMDAwLTAwMGVmZmZmIDogUENJ
IEJ1cyAwMDAwOjAwCiAgMDAwZjAwMDAtMDAwZmZmZmYgOiBTeXN0ZW0gUk9NCjAwMTAwMDAwLTA5
YWZmZmZmIDogU3lzdGVtIFJBTQogIDAxMDAwMDAwLTAyMjAyMzg3IDogS2VybmVsIGNvZGUKICAw
MjQwMDAwMC0wMjlmNmZmZiA6IEtlcm5lbCByb2RhdGEKICAwMmEwMDAwMC0wMmQ5YTZiZiA6IEtl
cm5lbCBkYXRhCiAgMDM2YzQwMDAtMDNiZmZmZmYgOiBLZXJuZWwgYnNzCjA5YjAwMDAwLTA5ZGZm
ZmZmIDogUmVzZXJ2ZWQKMDllMDAwMDAtMDllZmZmZmYgOiBTeXN0ZW0gUkFNCjA5ZjAwMDAwLTA5
ZjI3ZmZmIDogQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZQowOWYyODAwMC01ZmJmZWZmZiA6IFN5
c3RlbSBSQU0KNWZiZmYwMDAtNWZiZmZmZmYgOiBSZXNlcnZlZAo1ZmMwMDAwMC02MjM2M2ZmZiA6
IFN5c3RlbSBSQU0KNjIzNjQwMDAtNjQ1NjNmZmYgOiBSZXNlcnZlZAo2NDU2NDAwMC02NDU2Y2Zm
ZiA6IFN5c3RlbSBSQU0KNjQ1NmQwMDAtNjQ1NmZmZmYgOiBSZXNlcnZlZAo2NDU3MDAwMC03MDc3
ZWZmZiA6IFN5c3RlbSBSQU0KNzA3N2YwMDAtNzJmN2VmZmYgOiBSZXNlcnZlZAogIDcyZWQyMDAw
LTcyZWQ1ZmZmIDogTVNGVDAxMDE6MDAKICAgIDcyZWQyMDAwLTcyZWQ1ZmZmIDogTVNGVDAxMDE6
MDAKICA3MmVkNjAwMC03MmVkOWZmZiA6IE1TRlQwMTAxOjAwCiAgICA3MmVkNjAwMC03MmVkOWZm
ZiA6IE1TRlQwMTAxOjAwCjcyZjdmMDAwLTdhZjdlZmZmIDogQUNQSSBOb24tdm9sYXRpbGUgU3Rv
cmFnZQogIDdhZjY2MDAwLTdhZjY2ZmZmIDogVVNCQzAwMDowMAo3YWY3ZjAwMC03YWZmZWZmZiA6
IEFDUEkgVGFibGVzCjdhZmZmMDAwLTdhZmZmZmZmIDogU3lzdGVtIFJBTQo3YjAwMDAwMC03YmZm
ZmZmZiA6IFJlc2VydmVkCjdkODAwMDAwLTdmZmZmZmZmIDogUmVzZXJ2ZWQKODAwMDAwMDAtZGZm
ZmZmZmYgOiBQQ0kgQnVzIDAwMDA6MDAKICA4MDAwMDAwMC04MDJmZmZmZiA6IFBDSSBCdXMgMDAw
MDowNAogICAgODAwMDAwMDAtODAwZmZmZmYgOiAwMDAwOjA0OjAwLjAKICAgICAgODAwMDAwMDAt
ODAwZmZmZmYgOiB4aGNpLWhjZAogICAgODAxMDAwMDAtODAxZmZmZmYgOiAwMDAwOjA0OjAwLjMK
ICAgICAgODAxMDAwMDAtODAxZmZmZmYgOiB4aGNpLWhjZAogICAgODAyMDAwMDAtODAyZmZmZmYg
OiAwMDAwOjA0OjAwLjQKICAgICAgODAyMDAwMDAtODAyZmZmZmYgOiB4aGNpLWhjZAogIDgwMzAw
MDAwLTgwNmZmZmZmIDogUENJIEJ1cyAwMDAwOjAzCiAgICA4MDMwMDAwMC04MDNmZmZmZiA6IDAw
MDA6MDM6MDAuMwogICAgICA4MDMwMDAwMC04MDNmZmZmZiA6IHhoY2ktaGNkCiAgICA4MDQwMDAw
MC04MDRmZmZmZiA6IDAwMDA6MDM6MDAuNAogICAgICA4MDQwMDAwMC04MDRmZmZmZiA6IHhoY2kt
aGNkCiAgICA4MDUwMDAwMC04MDVmZmZmZiA6IDAwMDA6MDM6MDAuMgogICAgICA4MDUwMDAwMC04
MDVmZmZmZiA6IGNjcAogICAgODA2MDAwMDAtODA2N2ZmZmYgOiAwMDAwOjAzOjAwLjAKICAgIDgw
NjgwMDAwLTgwNmJmZmZmIDogMDAwMDowMzowMC41CiAgICAgIDgwNjgwMDAwLTgwNmJmZmZmIDog
QU1EIEFDUDN4IGF1ZGlvCiAgICAgICAgODA2ODAwMDAtODA2OTAyMDAgOiBhY3BfaW9tZW0KICAg
IDgwNmMwMDAwLTgwNmM3ZmZmIDogMDAwMDowMzowMC42CiAgICAgIDgwNmMwMDAwLTgwNmM3ZmZm
IDogSUNIIEhEIGF1ZGlvCiAgICA4MDZjODAwMC04MDZjYmZmZiA6IDAwMDA6MDM6MDAuMQogICAg
ICA4MDZjODAwMC04MDZjYmZmZiA6IElDSCBIRCBhdWRpbwogICAgODA2Y2MwMDAtODA2Y2RmZmYg
OiAwMDAwOjAzOjAwLjIKICAgICAgODA2Y2MwMDAtODA2Y2RmZmYgOiBjY3AKICA4MDcwMDAwMC04
MDdmZmZmZiA6IFBDSSBCdXMgMDAwMDowMgogICAgODA3MDAwMDAtODA3MDNmZmYgOiAwMDAwOjAy
OjAwLjAKICAgICAgODA3MDAwMDAtODA3MDNmZmYgOiBudm1lCiAgODA4MDAwMDAtODA4ZmZmZmYg
OiBQQ0kgQnVzIDAwMDA6MDEKICAgIDgwODAwMDAwLTgwODA3ZmZmIDogMDAwMDowMTowMC4wCiAg
YTAyMDAwMDAtYTAyZmZmZmYgOiBSZXNlcnZlZAogICAgYTAyMDAwMDAtYTAyZmZmZmYgOiBwbnAg
MDA6MDAKICAgICAgYTAyMTA1MTAtYTAyMTA1M2YgOiBNU0ZUMDEwMTowMAogIGEwNDAwMDAwLWEw
NDAzZmZmIDogUmVzZXJ2ZWQKZjAwMDAwMDAtZmVhZmZmZmYgOiBQQ0kgQnVzIDAwMDA6MDAKZmVi
MDAwMDAtZmViMDAwMDcgOiBTQjgwMCBUQ08KZmVjMDAwMDAtZmVjMDFmZmYgOiBSZXNlcnZlZAog
IGZlYzAwMDAwLWZlYzAwM2ZmIDogSU9BUElDIDAKICBmZWMwMTAwMC1mZWMwMTNmZiA6IElPQVBJ
QyAxCmZlZDAwMDAwLWZlZDAwM2ZmIDogSFBFVCAwCiAgZmVkMDAwMDAtZmVkMDAzZmYgOiBQTlAw
MTAzOjAwCmZlZDQ1MDAwLWZlZDgxNGZmIDogUENJIEJ1cyAwMDAwOjAwCiAgZmVkODAwMDAtZmVk
ODBmZmYgOiBSZXNlcnZlZApmZWQ4MTUwMC1mZWQ4MThmZiA6IEFNREkwMDMwOjAwCmZlZDgxOTAw
LWZlZDgxZmZmIDogUENJIEJ1cyAwMDAwOjAwCmZlZGMwMDAwLWZlZGMwZmZmIDogUENJIEJ1cyAw
MDAwOjAwCmZlZGMyMDAwLWZlZGMyZmZmIDogQU1ESTAwMTA6MDAKICBmZWRjMjAwMC1mZWRjMmZm
ZiA6IEFNREkwMDEwOjAwIEFNREkwMDEwOjAwCmZlZGMzMDAwLWZlZGMzZmZmIDogQU1ESTAwMTA6
MDEKICBmZWRjMzAwMC1mZWRjM2ZmZiA6IEFNREkwMDEwOjAxIEFNREkwMDEwOjAxCmZlZGM0MDAw
LWZlZGM0ZmZmIDogQU1ESTAwMTA6MDIKICBmZWRjNDAwMC1mZWRjNGZmZiA6IEFNREkwMDEwOjAy
IEFNREkwMDEwOjAyCmZlZGM1MDAwLWZlZGM1ZmZmIDogQU1ESTAwMTA6MDMKICBmZWRjNTAwMC1m
ZWRjNWZmZiA6IEFNREkwMDEwOjAzIEFNREkwMDEwOjAzCmZlZGM2MDAwLWZlZGM2ZmZmIDogUENJ
IEJ1cyAwMDAwOjAwCmZlZTAwMDAwLWZlZWZmZmZmIDogUmVzZXJ2ZWQKICBmZWUwMDAwMC1mZWUw
MGZmZiA6IExvY2FsIEFQSUMKICAgIGZlZTAwMDAwLWZlZTAwZmZmIDogcG5wIDAwOjAwCmZmMDAw
MDAwLWZmZmZmZmZmIDogUmVzZXJ2ZWQKMTAwMDAwMDAwLTE5MWUwY2ZmZiA6IFN5c3RlbSBSQU0K
MTkxZTBkMDAwLTE5M2ZmZmZmZiA6IFJBTSBidWZmZXIKODNmMzQwMDAwLThhMDFmZmZmZiA6IFJl
c2VydmVkCjhhMDIwMDAwMC04MzNmZmZmZmZmIDogUENJIEJ1cyAwMDAwOjAwCiAgODMyMDAwMDAw
MC04MzMwMWZmZmZmIDogUENJIEJ1cyAwMDAwOjAzCiAgICA4MzIwMDAwMDAwLTgzMmZmZmZmZmYg
OiAwMDAwOjAzOjAwLjAKICAgIDgzMzAwMDAwMDAtODMzMDFmZmZmZiA6IDAwMDA6MDM6MDAuMAog
IDgzMzAyMDAwMDAtODMzMDJmZmZmZiA6IFBDSSBCdXMgMDAwMDowMQogICAgODMzMDIwMDAwMC04
MzMwMmZmZmZmIDogMDAwMDowMTowMC4wCjNmZmZjMDAwMDAwMC0zZmZmZmZmZmZmZmYgOiAwMDAw
OjAzOjAwLjAK

--b1_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0
Content-Type: text/plain; name=meminfo_fedora.txt
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=meminfo_fedora.txt

TWVtVG90YWw6ICAgICAgIDMxNTc3MTAwIGtCCk1lbUZyZWU6ICAgICAgICAyODYzNDk5NiBrQgpN
ZW1BdmFpbGFibGU6ICAgMjk5MzA0MDAga0IKQnVmZmVyczogICAgICAgICAgIDMwMDE2IGtCCkNh
Y2hlZDogICAgICAgICAgMTcyMTQ2OCBrQgpTd2FwQ2FjaGVkOiAgICAgICAgICAgIDAga0IKQWN0
aXZlOiAgICAgICAgICAgNzU3NTkyIGtCCkluYWN0aXZlOiAgICAgICAgMTYxMjk1MiBrQgpBY3Rp
dmUoYW5vbik6ICAgICAgIDMyNTIga0IKSW5hY3RpdmUoYW5vbik6ICAgNzQwODg0IGtCCkFjdGl2
ZShmaWxlKTogICAgIDc1NDM0MCBrQgpJbmFjdGl2ZShmaWxlKTogICA4NzIwNjgga0IKVW5ldmlj
dGFibGU6ICAgICAgIDcxMDI0IGtCCk1sb2NrZWQ6ICAgICAgICAgICAgMzk0NCBrQgpTd2FwVG90
YWw6ICAgICAgIDgzODg2MDQga0IKU3dhcEZyZWU6ICAgICAgICA4Mzg4NjA0IGtCCkRpcnR5OiAg
ICAgICAgICAgICAgIDUwNCBrQgpXcml0ZWJhY2s6ICAgICAgICAgICAgIDAga0IKQW5vblBhZ2Vz
OiAgICAgICAgNjkwMTI4IGtCCk1hcHBlZDogICAgICAgICAgIDMwMjU0NCBrQgpTaG1lbTogICAg
ICAgICAgICAgNTQ1NTYga0IKS1JlY2xhaW1hYmxlOiAgICAgIDYwMDA4IGtCClNsYWI6ICAgICAg
ICAgICAgIDIwMTU2OCBrQgpTUmVjbGFpbWFibGU6ICAgICAgNjAwMDgga0IKU1VucmVjbGFpbTog
ICAgICAgMTQxNTYwIGtCCktlcm5lbFN0YWNrOiAgICAgICAxMTc3NiBrQgpQYWdlVGFibGVzOiAg
ICAgICAgMTYyNzYga0IKTkZTX1Vuc3RhYmxlOiAgICAgICAgICAwIGtCCkJvdW5jZTogICAgICAg
ICAgICAgICAgMCBrQgpXcml0ZWJhY2tUbXA6ICAgICAgICAgIDAga0IKQ29tbWl0TGltaXQ6ICAg
IDI0MTc3MTUyIGtCCkNvbW1pdHRlZF9BUzogICAgMzk5NTg4MCBrQgpWbWFsbG9jVG90YWw6ICAg
MzQzNTk3MzgzNjcga0IKVm1hbGxvY1VzZWQ6ICAgICAgMTA0NDc2IGtCClZtYWxsb2NDaHVuazog
ICAgICAgICAgMCBrQgpQZXJjcHU6ICAgICAgICAgICAgMTk1ODQga0IKSGFyZHdhcmVDb3JydXB0
ZWQ6ICAgICAwIGtCCkFub25IdWdlUGFnZXM6ICAgICAgICAgMCBrQgpTaG1lbUh1Z2VQYWdlczog
ICAgICAgIDAga0IKU2htZW1QbWRNYXBwZWQ6ICAgICAgICAwIGtCCkZpbGVIdWdlUGFnZXM6ICAg
ICAgICAgMCBrQgpGaWxlUG1kTWFwcGVkOiAgICAgICAgIDAga0IKQ21hVG90YWw6ICAgICAgICAg
ICAgICAwIGtCCkNtYUZyZWU6ICAgICAgICAgICAgICAgMCBrQgpIdWdlUGFnZXNfVG90YWw6ICAg
ICAgIDAKSHVnZVBhZ2VzX0ZyZWU6ICAgICAgICAwCkh1Z2VQYWdlc19Sc3ZkOiAgICAgICAgMApI
dWdlUGFnZXNfU3VycDogICAgICAgIDAKSHVnZXBhZ2VzaXplOiAgICAgICAyMDQ4IGtCCkh1Z2V0
bGI6ICAgICAgICAgICAgICAgMCBrQgpEaXJlY3RNYXA0azogICAgICAzMDg1NjAga0IKRGlyZWN0
TWFwMk06ICAgICA2NzA5MjQ4IGtCCkRpcmVjdE1hcDFHOiAgICAyNTE2NTgyNCBrQgo=

--b1_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0
Content-Type: text/plain; name=meminfo_qubes.txt
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=meminfo_qubes.txt

TWVtVG90YWw6ICAgICAgICAzOTc2NTUyIGtCCk1lbUZyZWU6ICAgICAgICAgMjg2MzU0OCBrQgpN
ZW1BdmFpbGFibGU6ICAgIDMxMzE3MTYga0IKQnVmZmVyczogICAgICAgICAgIDMxMzQwIGtCCkNh
Y2hlZDogICAgICAgICAgIDI5Nzk1MiBrQgpTd2FwQ2FjaGVkOiAgICAgICAgICAgIDAga0IKQWN0
aXZlOiAgICAgICAgICAgMTI1MTM2IGtCCkluYWN0aXZlOiAgICAgICAgIDc3NTU3MiBrQgpBY3Rp
dmUoYW5vbik6ICAgICAgIDE1OTYga0IKSW5hY3RpdmUoYW5vbik6ICAgNjA0OTU2IGtCCkFjdGl2
ZShmaWxlKTogICAgIDEyMzU0MCBrQgpJbmFjdGl2ZShmaWxlKTogICAxNzA2MTYga0IKVW5ldmlj
dGFibGU6ICAgICAgIDMyNzg0IGtCCk1sb2NrZWQ6ICAgICAgICAgICAzMjc4NCBrQgpTd2FwVG90
YWw6ICAgICAgIDQxMjg3NjQga0IKU3dhcEZyZWU6ICAgICAgICA0MTI4NzY0IGtCCkRpcnR5OiAg
ICAgICAgICAgICAgIDUzMiBrQgpXcml0ZWJhY2s6ICAgICAgICAgICAgIDAga0IKQW5vblBhZ2Vz
OiAgICAgICAgNjA0MjU2IGtCCk1hcHBlZDogICAgICAgICAgIDE3OTIyOCBrQgpTaG1lbTogICAg
ICAgICAgICAgMjU1NDQga0IKS1JlY2xhaW1hYmxlOiAgICAgIDM3ODYwIGtCClNsYWI6ICAgICAg
ICAgICAgICA4NjIyMCBrQgpTUmVjbGFpbWFibGU6ICAgICAgMzc4NjAga0IKU1VucmVjbGFpbTog
ICAgICAgIDQ4MzYwIGtCCktlcm5lbFN0YWNrOiAgICAgICAgNTIxNiBrQgpQYWdlVGFibGVzOiAg
ICAgICAgIDc3ODQga0IKTkZTX1Vuc3RhYmxlOiAgICAgICAgICAwIGtCCkJvdW5jZTogICAgICAg
ICAgICAgICAgMCBrQgpXcml0ZWJhY2tUbXA6ICAgICAgICAgIDAga0IKQ29tbWl0TGltaXQ6ICAg
ICA2MTE3MDQwIGtCCkNvbW1pdHRlZF9BUzogICAgMTU5OTc2MCBrQgpWbWFsbG9jVG90YWw6ICAg
MzQzNTk3MzgzNjcga0IKVm1hbGxvY1VzZWQ6ICAgICAgIDMyMDMyIGtCClZtYWxsb2NDaHVuazog
ICAgICAgICAgMCBrQgpQZXJjcHU6ICAgICAgICAgICAgICA3MTYga0IKSGFyZHdhcmVDb3JydXB0
ZWQ6ICAgICAwIGtCCkFub25IdWdlUGFnZXM6ICAgICAgICAgMCBrQgpTaG1lbUh1Z2VQYWdlczog
ICAgICAgIDAga0IKU2htZW1QbWRNYXBwZWQ6ICAgICAgICAwIGtCCkZpbGVIdWdlUGFnZXM6ICAg
ICAgICAgMCBrQgpGaWxlUG1kTWFwcGVkOiAgICAgICAgIDAga0IKQ21hVG90YWw6ICAgICAgICAg
ICAgICAwIGtCCkNtYUZyZWU6ICAgICAgICAgICAgICAgMCBrQgpEaXJlY3RNYXA0azogICAgIDQx
OTQ2OTIga0IKRGlyZWN0TWFwMk06ICAgICAgICAgICAwIGtCCg==

--b1_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0
Content-Type: image/jpeg; name=PXL_20220829_135505523.TS_exported_190583_1661781549183~2.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=PXL_20220829_135505523.TS_exported_190583_1661781549183~2.jpg

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
pWpJ5VqP8yyr+ppxwMBz/I8UfuEWDLk2OPvzFtr5glOu5SD2/auJbkcrSOnUCuTLJ6F4qmdiO3sA
fanvwwbVLyq22t1azDkvoStkKPKrah3FM2KDyDp11XYs8hcJxL6HixIbIUhxCuoIriUmnZaUduEy
+JK/PZFxbcgqT9PbrTFbisRgroABvp/91cDhu3yZ3ZUNa9T6eh+N0048tc1bkqS+X31KJU44rmJ/
XddzDMqjYnlVuushr6j6VwOhoK/N17dapJ7y6L2C4XaudviIut9/F24zdpDLbbIeI0pZPXW6YnEq
4ZzDvP0OH2OI/jBgoUrzGkeTrXq32qvvFTi3N4m5KZwaXCghOhGDpUNg9z7bpvzMjusq3KjLuMpc
Up5fK85XLo+2t1ZuMI/r6J/0nnw1RFyMSzZt+OygusvJUGu3No9qq2u5N2xb7bv8MoWQN/rXeYya
5WS1KiRrhIiRHTyrbZXy8wpyYlxOsOKWoQncHtd3dJ5lSZ6edSj96xOM0r9N2rwkfweyWro7lB+m
TIIguKRzpCgFAdNVPWJWeHKgWebdbdDduTkZ554ONJUeYK6e1QNg3iPslmE6PbsAbauUplTKU2VJ
TsEfHv8A0qB3+JGUnIJyUTrtEnLUW0QudaVoBP5QmnjFQJtv1F1ONmM2A8MMh/8A1Nb2iIgfS6EJ
SpKyPnXtVA8OfalZDBR5Yc5nkgI/Nv1U/wC2cSMttd7RBvttut5SpseZa56V6cB7bHfVdibxxxq2
vOM2rhNZ7Rd2gQl53m5m1fIBp9VP/hsXNekm+M2+XK0xsQhRSqIw9BCXA0nl5k6HQ07WrrYOG/A7
GrtdcUi3Uy1Bl9b0VKz5ZHQ7Iqnea8Q8mz2cxKvl0dkeQo+Uyr8rY/yp+BR77xSyfI8cbss69SV2
1jXlRub0jXat3iurozV9LnY21huJcMGcqs2Dmaq5zlJEaDCC3uQn4IPQUti9ixSTCy7LnuG/4VOg
tIX9I7HSuQvfflQOmz+lUsxrjZnuCWVMWz3ifb7epw8q2klTXN+p2B/Wl7Px3z203aVcomTzG5so
APFxfMF/qD0qrlGS7wVFurJMgZnk9uZsvBuNAD7Klv3K7xUNAI+eTX/StyVaMRzjiVa7MeHkaNYI
iiiVdXIQYD7iR2R0GxVRk+JbiZBvf4onI5UmUUFvQ0r0/ATr/pQz/EjxFusxkXC9S4y0HzEIW0Wu
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
Is+s9qLDLLy0BZKEb0oitGVK8x4k9d/2oYUtDS/LKx6iKwDpSmWkrHlr31rYZTpNajqAlfQ7JraQ
sACsd/QG/HHKispWCwqQgqBHp+ayp2wLqs4zCxvgJarbb5blkmXuSUvS2EDzTrsNnrqudwQwK38L
+NzECey1eJqiEiU6nqgrG+YA9jTesnHtjHrNEh3O2wbsIbnnRfqF/kX7HX2pPBuNQh5VcczvcKLM
ujyudhsL5UISN61+g6CvUSSXDnbZK/DuzxDxs4kXh5tLTjSHVNO+UFcnUjY3XI4gXo2Xhdj91RLR
d54nEMzpLQWUjr0677dqacbxGR4WRXO5s2uKhq4pKZSA9zcwJPY1zrzx+t1yTZLZDtEVuy29ReWy
VBYWsn+wFUF3aJkxy3x8o4c3Odc5bWSvqfjukOMpSGCVD0pHtqu5NssW45hl1vUiMu3otKA3bEND
lQoJBJ7dzzVDD3iRt8CyybdYLDFgNSHkOvHnKuYg73+ldBXiht8Fi7T2bS0b/ObTGekF306AA6Ci
6FlLbhJ8PH4cOfhlrQxFt8Jy2p8y2ojjcrY6lR1/XdRJwGtsI8cp8WNDZEd2a4ktcg0lKSegHxXT
T4l7JEtMC7XS1fV3+2QyxFLT3KB6Njp/rTU8PnEa3YlMu2XXKM5InOuOPNtNqGkFRJ0f/upHHbpV
ciQ/xDU3/tXyltCUNx0TnQlKUhIHWp88G2LW65ZOtcyGzMQWVqV5yAvt27g1W3ILmL9lF1uJ9BlS
VvED22SasP4bOJlk4W2KfcbmFuS3WVNMNt+++nWuZRqRariTLklmwbDpONXDKrdBlyXZjhDrLXpS
gE8vMABXJ4g49aJFlWuVbYN7akzEKttzt7KUpYRzfkXr7U3meMuJXKz2eNdLc5cXGlveeg6UAlW+
x3XVRxMwO12xvHbG1NEWRKQ/KclKHKwkHekCurWkQHjxZwrD7HYbmbpBtkO3CyoUyQhKHlPkdCkj
R3VQcfwe1O4HdbzcbuuHJaUEwYvLzB4/enf4oOKkHihmcNFhceNuhsIj7c9IXrY3quIrI7JaOF8i
1yLcJ11kqT5LxV/wB7muSbtDRjs6Goq3LdhtLjrAUEgqqzXAzgjap/CVd/VjsfIb9OnJjsiWkqQw
kd1fpVX7Q8hlAS4k8xVqrh8LuKtmgcKGMdXcnrO956Vl5tBVtBHUdPc1z443IrKKS4dub4X8VhZV
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
sDk3SSevSgAVHaRWUUglQT77rKAP/9k=

--b1_xckZoaKC5Ds0m7kZVSsNAJHMFbqJdt5H33XuTzSVJ0--



From xen-devel-bounces@lists.xenproject.org Mon Aug 29 16:03:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 16:03:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394639.634115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oShEm-00008p-4x; Mon, 29 Aug 2022 16:03:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394639.634115; Mon, 29 Aug 2022 16:03:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oShEm-00008i-2F; Mon, 29 Aug 2022 16:03:44 +0000
Received: by outflank-mailman (input) for mailman id 394639;
 Mon, 29 Aug 2022 16:03:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XWGx=ZB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1oShEk-00008c-Nl
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 16:03:42 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 262fc917-27b4-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 18:03:41 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 08AEB1F8CC;
 Mon, 29 Aug 2022 16:03:40 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D4E261352A;
 Mon, 29 Aug 2022 16:03:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id VLCVMVvjDGOEFgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 29 Aug 2022 16:03:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 262fc917-27b4-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661789020; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=4pxyYPaIf3VsbPY1/UyAbam5CqWsKKiajwdFLGIAB14=;
	b=rDthxsE3JxOXQuCIaIV47hHswGrEm9OIsx6yYZ3Uvrws6WPUhE+WyFH6KEb/RYdTkJmW4J
	OYXfhqjYX14H+j0DQgeEBJecJOhr+NFp/tk1MzaJDOTQzLFXuuj/4mNqgDN6VO79DOyjXI
	7ZmJUc0QOVmsgz8sYZJbaN4C8waIzBM=
Message-ID: <739d573d-a68f-1aaf-9941-846e6c60930a@suse.com>
Date: Mon, 29 Aug 2022 18:03:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.12.0
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
 <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com> <Ywr6CfxUZs4zRPYR@itl-email>
 <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com> <YwzPotro68PP2u41@mail-itl>
From: Juergen Gross <jgross@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
In-Reply-To: <YwzPotro68PP2u41@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------R07pWSMir0pwhn0KnwuZbHB7"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------R07pWSMir0pwhn0KnwuZbHB7
Content-Type: multipart/mixed; boundary="------------RbobgkrMtzQSGIslJdYhbY2O";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
Message-ID: <739d573d-a68f-1aaf-9941-846e6c60930a@suse.com>
Subject: =?UTF-8?Q?Re=3a_=e2=80=9cBackend_has_not_unmapped_grant=e2=80=9d_er?=
 =?UTF-8?Q?rors?=
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com> <YwVuwXOGoZX3pM7n@mail-itl>
 <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com> <Ywr6CfxUZs4zRPYR@itl-email>
 <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com> <YwzPotro68PP2u41@mail-itl>
In-Reply-To: <YwzPotro68PP2u41@mail-itl>

--------------RbobgkrMtzQSGIslJdYhbY2O
Content-Type: multipart/mixed; boundary="------------t0pM4hF5ibeA8WqRTK1Zb2br"

--------------t0pM4hF5ibeA8WqRTK1Zb2br
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjkuMDguMjIgMTY6MzksIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToN
Cj4gT24gTW9uLCBBdWcgMjksIDIwMjIgYXQgMDI6NTU6NTVQTSArMDIwMCwgSnVlcmdlbiBH
cm9zcyB3cm90ZToNCj4+IE9uIDI4LjA4LjIyIDA3OjE1LCBEZW1pIE1hcmllIE9iZW5vdXIg
d3JvdGU6DQo+Pj4gT24gV2VkLCBBdWcgMjQsIDIwMjIgYXQgMDg6MTE6NTZBTSArMDIwMCwg
SnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gT24gMjQuMDguMjIgMDI6MjAsIE1hcmVrIE1h
cmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToNCj4+Pj4+IE9uIFR1ZSwgQXVnIDIzLCAyMDIy
IGF0IDA5OjQ4OjU3QU0gKzAyMDAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+Pj4gT24g
MjMuMDguMjIgMDk6NDAsIERlbWkgTWFyaWUgT2Jlbm91ciB3cm90ZToNCj4+Pj4+Pj4gSSBy
ZWNlbnRseSBoYWQgYSBWTeKAmXMgL2Rldi94dmRiIHN0b3Agd29ya2luZyB3aXRoIGEg4oCc
YmFja2VuZCBoYXMgbm90DQo+Pj4+Pj4+IHVubWFwcGVkIGdyYW504oCdIGVycm9yLiAgU2lu
Y2UgL2Rldi94dmRiIHdhcyB0aGUgVk3igJlzIHByaXZhdGUgdm9sdW1lLA0KPj4+Pj4+PiB0
aGF0IHJlbmRlcmVkIHRoZSBWTSBlZmZlY3RpdmVseSB1c2VsZXNzLiAgSSBoYWQgdG8ga2ls
bCBpdCB3aXRoDQo+Pj4+Pj4+IHF2bS1raWxsLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBUaGUgYmFj
a2VuZCBvZiAvZGV2L3h2ZGIgaXMgZG9tMCwgc28gYSBtYWxpY2lvdXMgYmFja2VuZCBpcyBj
bGVhcmx5IG5vdA0KPj4+Pj4+PiB0aGUgY2F1c2Ugb2YgdGhpcy4gIEkgYmVsaWV2ZSB0aGUg
YWN0dWFsIGNhdXNlIGlzIGEgcmFjZSBjb25kaXRpb24sIHN1Y2gNCj4+Pj4+Pj4gYXMgdGhl
IGZvbGxvd2luZzoNCj4+Pj4+Pj4NCj4+Pj4+Pj4gMS4gR1VJIGFnZW50IGluIFZNIGFsbG9j
YXRlcyBncmFudCBYLg0KPj4+Pj4+PiAyLiBHVUkgYWdlbnQgdGVsbHMgR1VJIGRhZW1vbiBp
biBkb20wIHRvIG1hcCBYLg0KPj4+Pj4+PiAzLiBHVUkgYWdlbnQgZnJlZXMgZ3JhbnQgWC4N
Cj4+Pj4+Pj4gNC4gYmxrZnJvbnQgYWxsb2NhdGVzIGdyYW50IFggYW5kIHBhc3NlcyBpdCB0
byBkb20wLg0KPj4+Pj4+PiA1LiBkb20w4oCZcyBibGtiYWNrIG1hcHMgZ3JhbnQgWC4NCj4+
Pj4+Pj4gNi4gYmxrYmFjayB1bm1hcHMgZ3JhbnQgWC4NCj4+Pj4+Pj4gNy4gR1VJIGRhZW1v
biBtYXBzIGdyYW50IFguDQo+Pj4+Pj4+IDguIGJsa2Zyb250IHRyaWVzIHRvIHJldm9rZSBh
Y2Nlc3MgdG8gZ3JhbnQgWCBhbmQgZmFpbHMuICBEaXNhc3Rlcg0KPj4+Pj4+PiAgICAgICAg
ZW5zdWVzLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBXaGF0IGNvdWxkIGJlIGRvbmUgdG8gcHJldmVu
dCB0aGlzIHJhY2U/ICBSaWdodCBub3cgYWxsIG9mIHRoZQ0KPj4+Pj4+PiBhcHByb2FjaGVz
IEkgY2FuIHRoaW5rIG9mIGFyZSBob3JyaWJseSBiYWNrd2FyZHMtaW5jb21wYXRpYmxlLiAg
VGhleQ0KPj4+Pj4+PiByZXF1aXJlIHJlcGxhY2luZyBncmFudCBJRHMgd2l0aCBzb21lIHNv
cnQgb2YgaGFuZGxlLCBhbmQgcmVxdWlyaW5nDQo+Pj4+Pj4+IHVzZXJzcGFjZSB0byBwYXNz
IHRoZXNlIGhhbmRsZXMgdG8gaW9jdGxzLiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0DQo+
Pj4+Pj4+IG5ldGZyb250IGFuZCBibGtmcm9udCBjb3VsZCByYWNlIGFnYWluc3QgZWFjaCBv
dGhlciBpbiBhIHdheSB0aGF0IGNhdXNlcw0KPj4+Pj4+PiB0aGlzLCB0aG91Z2ggSSBzdXNw
ZWN0IHRoYXQgcmFjZSB3b3VsZCBiZSBtdWNoIGhhcmRlciB0byB0cmlnZ2VyLg0KPj4+Pj4+
Pg0KPj4+Pj4+PiBUaGlzIGhhcyBoYXBwZW5lZCBtb3JlIHRoYW4gb25jZSBzbyBpdCBpcyBu
b3QgYSBmbHVrZSBkdWUgdG8gZS5nLiBjb3NtaWMNCj4+Pj4+Pj4gcmF5cyBvciBvdGhlciBy
YW5kb20gYml0LWZsaXBzLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBNYXJlaywgZG8geW91IGhhdmUg
YW55IHN1Z2dlc3Rpb25zPw0KPj4+Pj4+DQo+Pj4+Pj4gVG8gbWUgdGhhdCBzb3VuZHMgbGlr
ZSB0aGUgaW50ZXJmYWNlIG9mIHRoZSBHVUkgaXMgdGhlIGN1bHByaXQuDQo+Pj4+Pj4NCj4+
Pj4+PiBUaGUgR1VJIGFnZW50IGluIHRoZSBndWVzdCBzaG91bGQgb25seSBmcmVlIGEgZ3Jh
bnQsIGlmIGl0IGdvdCBhIG1lc3NhZ2UNCj4+Pj4+PiBmcm9tIHRoZSBiYWNrZW5kIHRoYXQg
aXQgY2FuIGRvIHNvLiBKdXN0IGFzc3VtaW5nIHRvIGJlIGFibGUgdG8gZnJlZSBpdA0KPj4+
Pj4+IGJlY2F1c2UgaXQgaXNuJ3QgaW4gdXNlIGN1cnJlbnRseSBpcyB0aGUgYnJva2VuIGFz
c3VtcHRpb24gaGVyZS4NCj4+Pj4+DQo+Pj4+PiBGV0lXLCBJIGhpdCB0aGlzIGlzc3VlIHR3
aWNlIGFscmVhZHkgaW4gdGhpcyB3ZWVrIENJIHJ1biwgd2hpbGUgaXQgbmV2ZXINCj4+Pj4+
IGhhcHBlbmVkIGJlZm9yZS4gVGhlIGRpZmZlcmVuY2UgY29tcGFyZWQgdG8gcHJldmlvdXMg
cnVuIGlzIExpbnV4DQo+Pj4+PiA1LjE1LjU3IHZzIDUuMTUuNjEuIFRoZSBsYXR0ZXIgcmVw
b3J0cyBwZXJzaXN0ZW50IGdyYW50cyBkaXNhYmxlZC4NCj4+Pj4NCj4+Pj4gSSB0aGluayB0
aGlzIGFkZGl0aW9uYWwgYnVnIGlzIGp1c3QgdHJpZ2dlcmluZyB0aGUgcmFjZSBpbiB0aGUg
R1VJDQo+Pj4+IGludGVyZmFjZSBtb3JlIGVhc2lseSwgYXMgYmxrZnJvbnQgd2lsbCBhbGxv
Y2F0ZSBuZXcgZ3JhbnRzIHdpdGggYQ0KPj4+DQo+Pj4gMS4gVHJlYXQg4oCcYmFja2VuZCBo
YXMgbm90IHVubWFwcGVkIGdyYW504oCdIGVycm9ycyBhcyBub24tZmF0YWwuICBUaGUgbW9z
dA0KPj4+ICAgICAgbGlrZWx5IGNhdXNlIGlzIGJ1Z2d5IHVzZXJzcGFjZSBzb2Z0d2FyZSwg
bm90IGFuIGF0dGVtcHQgdG8gZXhwbG9pdA0KPj4+ICAgICAgWFNBLTM5Ni4gIEluc3RlYWQg
b2YgZGlzYWJsaW5nIHRoZSBkZXZpY2UsIGp1c3QgbG9nIGEgd2FybmluZyBtZXNzYWdlDQo+
Pj4+IG11Y2ggaGlnaGVyIGZyZXF1ZW5jeS4NCj4+Pj4NCj4+Pj4gU28gZml4aW5nIHRoZSBw
ZXJzaXN0ZW50IGdyYW50IGlzc3VlIHdpbGwganVzdCBwYXBlciBvdmVyIHRoZSByZWFsDQo+
Pj4+IGlzc3VlLg0KPj4+DQo+Pj4gSW5kZWVkIHNvLCBidXQgbWFraW5nIHRoZSBidWcgaGFw
cGVuIG11Y2ggbGVzcyBmcmVxdWVudGx5IGlzIHN0aWxsIGENCj4+PiBzaWduaWZpY2FudCB3
aW4gZm9yIHVzZXJzLg0KPj4NCj4+IFByb2JhYmx5LCB5ZXMuDQo+Pg0KPj4+IEluIHRoZSBs
b25nIHRlcm0sIHRoZXJlIGlzIG9uZSBzaXR1YXRpb24gSSBkbyBub3QgaGF2ZSBhIGdvb2Qg
c29sdXRpb24NCj4+PiBmb3I6IHJlY292ZXJ5IGZyb20gR1VJIGFnZW50IGNyYXNoZXMuICBJ
ZiB0aGUgR1VJIGFnZW50IGNyYXNoZXMsIHRoZQ0KPj4+IGtlcm5lbCBpdCBpcyBydW5uaW5n
IHVuZGVyIGhhcyB0d28gYmFkIGNob2ljZXMuICBFaXRoZXIgdGhlIGtlcm5lbCBjYW4NCj4+
PiByZWNsYWltIHRoZSBncmFudHMsIHJpc2tpbmcgdGhlbSBiZWluZyBtYXBwZWQgYXQgYSBs
YXRlciB0aW1lIGJ5IHRoZSBHVUkNCj4+PiBkYWVtb24sIG9yIGl0IGNhbiBsZWFrIHRoZW0s
IHdoaWNoIGlzIGJhZCBmb3Igb2J2aW91cyByZWFzb25zLiAgSQ0KPj4+IGJlbGlldmUgdGhl
IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gbWFrZXMgdGhlIGZvcm1lciBjaG9pY2UuDQo+Pg0K
Pj4gSXQgZG9lcy4NCj4+DQo+PiBJIGRvbid0IGhhdmUgZW5vdWdoIGluZm9ybWF0aW9uIGFi
b3V0IHRoZSBHVUkgYXJjaGl0ZWN0dXJlIHlvdSBhcmUgdXNpbmcuDQo+PiBXaGljaCBjb21w
b25lbnRzIGFyZSBpbnZvbHZlZCBvbiB0aGUgYmFja2VuZCBzaWRlLCBhbmQgd2hpY2ggb24g
dGhlDQo+PiBmcm9udGVuZCBzaWRlPyBFc3BlY2lhbGx5IHRoZSByZXNwb25zaWJpbGl0aWVz
IGFuZCBjb21tdW5pY2F0aW9uIHJlZ2FyZGluZw0KPj4gZ3JhbnRzIGlzIGltcG9ydGFudCBo
ZXJlLg0KPiANCj4gSSdsbCBsaW1pdCB0aGUgZGVzY3JpcHRpb24gdG8gdGhlIHJlbGV2YW50
IG1pbmltdW0gaGVyZS4NCg0KVGhhbmtzIGZvciB0aGUgaW5mb3JtYXRpb24uIEl0IGhlbHBz
IGEgbG90Lg0KDQo+IFRoZSBndWktYWdlbnQoKikgdXNlcyBnbnRhbGxvYyB0byBzaGFyZSBm
cmFtZWJ1ZmZlcnMgKHRoZXkgYXJlIGFsbG9jYXRlZA0KPiB3aGVuZXZlciBhbiBhcHBsaWNh
dGlvbiB3aXRoaW4gZG9tVSBvcGVucyBhIHdpbmRvdyksIHRoZW4gc2VuZHMgZ3JhbnQNCj4g
cmVmZXJlbmNlIG51bWJlcnMgb3ZlciB2Y2hhbiB0byB0aGUgZ3VpLWRhZW1vbiAocnVubmlu
ZyBpbiBkb20wIGJ5DQo+IGRlZmF1bHQsIGJ1dCBpdCBjYW4gYmUgYWxzbyBhbm90aGVyIGRv
bVUpLg0KPiBUaGVuIHRoZSBndWktZGFlbW9uKCopIG1hcHMgdGhlbS4NCj4gTGF0ZXIsIHdo
ZW4gYW4gYXBwbGljYXRpb24gY2xvc2VzIGEgd2luZG93LCB0aGUgc2hhcmVkIG1lbW9yeSBp
cw0KPiB1bm1hcHBlZCwgYW5kIGd1aS1kYWVtb24gaXMgaW5mb3JtZWQgYWJvdXQgaXQuIFJl
bGVhc2luZyBncmFudCByZWZzIGlzDQo+IGRlZmVycmVkIGJ5IHRoZSBrZXJuZWwgKHVudGls
IGd1aS1kYWVtb24gdW5tYXBzIHRoZW0pLiBJdCBtYXkgaGFwcGVuDQo+IHRoYXQgdW5tYXBw
aW5nIG9uIHRoZSBndWktYWdlbnQgc2lkZSB3aWxsIGhhcHBlbiBiZWZvcmUgZ3VpLWRhZW1v
biBtYXBzDQo+IHRoZW0uIFdlIGFyZSBtb2RpZnlpbmcgb3VyIEdVSSBwcm90b2NvbCB0byBk
ZWxheSByZWxlYXNpbmcgZ3JhbnRzIG9uIHRoZQ0KPiB1c2VyIHNwYWNlIHNpZGUsIHRvIGNv
b3JkaW5hdGUgd2l0aCBndWktZGFlbW9uIChiYXNpY2FsbHkgd2FpdCB1bnRpbA0KPiBndWkt
ZGFlbW9uIGNvbmZpcm1zIGl0IHVubWFwcGVkIHRoZW0pLiBUaGlzIHNob3VsZCBmaXggdGhl
ICJub3JtYWwiDQo+IGNhc2UuDQo+IEJ1dCBpZiB0aGUgZ3VpLWFnZW50IGNyYXNoZXMganVz
dCBhZnRlciBzZW5kaW5nIGdyYW50IHJlZnMsIGJ1dCBiZWZvcmUNCj4gZ3VpLWRhZW1vbiBt
YXBzIHRoZW0sIHRoZW4gdGhlIHByb2JsZW0gaXMgc3RpbGwgdGhlcmUuIElmIHRoZXkgYXJl
DQo+IGltbWVkaWF0ZWx5IHJlbGVhc2VkIGJ5IHRoZSBrZXJuZWwgZm9yIG90aGVycyB0byB1
c2UsIHdlIGNhbiBoaXQgdGhlDQo+IHNhbWUgaXNzdWUgYWdhaW4gKGZvciBleGFtcGxlIGJs
a2Zyb250IHVzaW5nIHRoZW0sIGFuZCB0aGVuIGd1aS1kYWVtb24NCj4gbWFwcGluZyB0aGVt
KS4gSSBkb24ndCBzZWUgcmFjZS1mcmVlIG1ldGhvZCBmb3Igc29sdmluZyB0aGlzIHdpdGgg
dGhlDQo+IGN1cnJlbnQgQVBJLiBHVUkgZGFlbW9uIGNhbiBub3RpY2Ugd2hlbiBzdWNoIHNp
dHVhdGlvbiBoYXBwZW5zIChieQ0KPiBjaGVja2luZyBpZiBndWktYWdlbnQgaXMgc3RpbGwg
YWxpdmUgYWZ0ZXIgbWFwcGluZyBncmFudHMpLCBidXQgdGhhdCBpcw0KPiB0b28gbGF0ZSBh
bHJlYWR5Lg0KPiANCj4gVGhlIG1haW4gZGlmZmVyZW5jZSBjb21wYXJlZCB0byBrZXJuZWwg
ZHJpdmVycyBpcyB0aGUgYXV0b21hdGljIHJlbGVhc2UNCj4gb24gY3Jhc2ggKG9yIG90aGVy
IHVuY2xlYW4gZXhpdCkuIEluIGNhc2Ugb2Yga2VybmVsIGRyaXZlciBjcmFzaCwgZWl0aGVy
DQo+IHRoZSB3aG9sZSBWTSBnb2VzIGRvd24sIG9yIGF0IGxlYXN0IGF1dG9tYXRpYyByZWxl
YXNlIGRvZXNuJ3QgaGFwcGVuLg0KPiBNYXliZSBnbnRhbGxvYyBjb3VsZCBoYXZlIHNvbWUg
ZmxhZyAocGVyIG9wZW4gZmlsZT8gcGVyIGFsbG9jYXRlZA0KPiBncmFudD8pIHRvIF9ub3Rf
IHJlbGVhc2UgZ3JhbnQgcmVmZXJlbmNlIChha2EgbGVhayBpdCkgaW4gY2FzZSBvZg0KPiBp
bXBsaWNpdCB1bm1hcCwgaW5zdGVhZCBvZiBleHBsaWNpdCByZWxlYXNlPyBTdWNoIGV4cGxp
Y2l0IHJlbGVhc2UNCj4gd291bGQgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgTGludXggZ250
c2hyIEFQSSwgYXMgeGVuZ250c2hyX3Vuc2hhcmUoKQ0KPiBjdXJyZW50bHkgaXMganVzdCBt
dW5tYXAoKSkuIEkgZG9uJ3Qgc2VlIG1hbnkgb3RoZXIgb3B0aW9ucyB0byBhdm9pZA0KPiB1
c2Vyc3BhY2UgY3Jhc2ggKHBvdGVudGlhbGx5KSB0YWtpbmcgZG93biBQViBkZXZpY2Ugd2l0
aCBpdCB0b28uLi4NCg0KTXkgaWRlYSB3b3VsZCBiZSB0byBhZGQgYSBuZXcgaW9jdGwoKSB0
byB0aGUgZ250YWxsb2MgZHJpdmVyIGFsbG93aW5nIHRvDQpzcGVjaWZ5IGEgcGVybWFuZW50
IG5hbWUgZm9yIGEgZmlsZS4gVGhpcyB3b3VsZCBsZWFkIHRvOg0KDQotIHRoZSBncmFudHMg
bm90IHRvIGJlIGRyb3BwZWQgd2hlbiB0aGUgcHJvY2VzcyBpcyBkeWluZw0KLSBpbiBjYXNl
IGdyYW50cyB3aXRoIHRoaXMgbmFtZSBhcmUgZXhpc3RpbmcsIHRoZXkgYXJlIGFkZGVkIHRv
IHRoZSBmaWxlDQogICBkZXNjcmlwdG9yLCByZXN1bHRpbmcgaW4gdGhlbSBiZWluZyB1bmRl
ciBjb250cm9sIG9mIHRoZSBuZXcgcHJvY2Vzcw0KLSB0aGUgcGVybWFuZW50IGdyYW50cyB3
b3VsZCBuZWVkIHRvIGJlIHJlbW92ZSBleHBsaWNpdGx5IGluc3RlYWQgb2YNCiAgIGNsZWFu
ZWQgdXAgZHVlIHRvIGNsb3NlKCkNCg0KDQpKdWVyZ2VuDQo=
--------------t0pM4hF5ibeA8WqRTK1Zb2br
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------t0pM4hF5ibeA8WqRTK1Zb2br--

--------------RbobgkrMtzQSGIslJdYhbY2O--

--------------R07pWSMir0pwhn0KnwuZbHB7
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmMM41sFAwAAAAAACgkQsN6d1ii/Ey/t
Zgf+OraE3CuzBe+Prj5/BR9rM7IFt/uR/xK/gEE6ASAOq8VGS4KVYlt2WUP5IMIuDQLIKddm8ZW3
kaIT1MdcjeJX6h2FTcDwQnKza4ix5D7kbCpP2hmkGgKlgcRvFOY6OVkMHDzxUHqqTKbmiiUzLpNU
uTxpLDwmWQAJJYThBLBaaDgUKHLXo32I73yBGR9IrtnVDANJnIkz1Eusj9PVXH6FXNaCz3Xbx9TQ
k/Kz6sDqtTU18a4Pe6RlvV7+CpCA4e97PD5RrcDMNDCJM0E0ODTZrCO5UK2pXjyOj2e57Hb9MTh4
Hzt6VX9GIbh6+g4buhx9kAkX/EwUQxKcjuIOleho7g==
=aHfk
-----END PGP SIGNATURE-----

--------------R07pWSMir0pwhn0KnwuZbHB7--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 16:35:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 16:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394645.634126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oShiz-0003Q0-Lh; Mon, 29 Aug 2022 16:34:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394645.634126; Mon, 29 Aug 2022 16:34:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oShiz-0003Pt-IY; Mon, 29 Aug 2022 16:34:57 +0000
Received: by outflank-mailman (input) for mailman id 394645;
 Mon, 29 Aug 2022 16:34:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oShiy-0003Pj-4g; Mon, 29 Aug 2022 16:34:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oShiy-0001Lz-1I; Mon, 29 Aug 2022 16:34:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oShix-0006nT-Md; Mon, 29 Aug 2022 16:34:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oShix-0006gg-M8; Mon, 29 Aug 2022 16:34:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=s7yjmgTtPOGxO+SJz37msyTs4eaABI8El+dYHbEAn/4=; b=0SdLp/983/eHDnlm3wrjXywPaI
	kOnrUfEfJC8O8MVPHDJQRFQcvTRhbEB6Qqp8RGtZCUHR5mdmgIQRvZ0jfLNckPpyIHZkBqWNERQnb
	jZkEs2xVfvYOnOsAR4nvIIJMBiP9UpX7pKo7gFWtYhCWK5gYyorgb7NZhMJKfzyjajhY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172851-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172851: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 16:34:55 +0000

flight 172851 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172851/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   25 days
Failing since        172151  2022-08-05 02:40:28 Z   24 days  199 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 18:28:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 18:28:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394654.634140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSjUk-0005b7-Ky; Mon, 29 Aug 2022 18:28:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394654.634140; Mon, 29 Aug 2022 18:28:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSjUk-0005b0-Hv; Mon, 29 Aug 2022 18:28:22 +0000
Received: by outflank-mailman (input) for mailman id 394654;
 Mon, 29 Aug 2022 18:28:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSjUj-0005aq-KB; Mon, 29 Aug 2022 18:28:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSjUj-0003IC-H5; Mon, 29 Aug 2022 18:28:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSjUj-0004Bb-2i; Mon, 29 Aug 2022 18:28:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSjUj-00023C-2I; Mon, 29 Aug 2022 18:28:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=luAd+0Ejz4wtuD3T1RZF9bavnZICormSQ0GVD4o+fy0=; b=AgOoCvFqUrP5IkdUHP+9Ic152s
	Mt31MU90h8DVbuI8pqPsoPOZy8/5dA+sIJZyzh6zVrvS6czuGlPN09M9JETIn9u+KAtceOlfmJ6jT
	yaj6seozPKhdyEIsZbiIpg+FqqGivEapIKaaOAex8Pg98oee/vENse+eKwgndTmNF0jM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172853-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172853: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 18:28:21 +0000

flight 172853 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172853/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   25 days
Failing since        172151  2022-08-05 02:40:28 Z   24 days  200 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 18:32:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 18:32:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394662.634150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSjYt-0006z1-6H; Mon, 29 Aug 2022 18:32:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394662.634150; Mon, 29 Aug 2022 18:32:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSjYt-0006yu-3V; Mon, 29 Aug 2022 18:32:39 +0000
Received: by outflank-mailman (input) for mailman id 394662;
 Mon, 29 Aug 2022 18:32:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7OGJ=ZB=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oSjYr-0006yj-5A
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 18:32:37 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2584cf8-27c8-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 20:32:35 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id CCF5A5C00B2;
 Mon, 29 Aug 2022 14:32:32 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 29 Aug 2022 14:32:32 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 29 Aug 2022 14:32:32 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2584cf8-27c8-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661797952; x=
	1661884352; bh=BklNZirLPFlYcIbhhz4xnS4tvI4IZOcYh7kyAR8BrwU=; b=F
	MBirjyghYlWZK4dLt0hNA1geb02xaEuy4rl1+s4qPY7i+L4wfksyh7rjQ4+i1+/S
	Q0CMyUXUijmEKvaIwwB90mjqDf+YDeghZg4NivC8owTDxsEEuEYtcO/bFNt7H6W5
	S3Q4e5Tjqy7ckSFDIC/AL1WwptJOAQ8L+6Oo/KsvBFrEwKjaZMqBCox3jLeBctjU
	RwmaVdyQLSrhe+7p/a2C4PogiEMqKxNIAYS3U8vRzjhkfLZhcT8EYSjQFaCBTsAz
	kvWlFf2xA8/OWVLc0LDvOGHPwrl1aR8dsh3nxWMbDAn1OWbuhumld9wUP14eESi5
	Uo92Af7eAlxZH1QKPOloA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661797952; x=1661884352; bh=BklNZirLPFlYcIbhhz4xnS4tvI4I
	ZOcYh7kyAR8BrwU=; b=ARTaxy0SaI9q8iUMf6HWkvPca+/jwD0Ejr2Ild29J94t
	PxEgh5GMtBkl9loLgj1DjBWb4A9VzDhs01JaAm+vvkxlYcfSXyaXl91wsp13OxXG
	HnhOslsnGjmpzPU711IwqK+Vrx8WLteWGkUS0jiQMA5mbfF8wSbsNWUATHIEGPaG
	pyPy5P6AfJrYuH4skrn+kVKSN3M0gmTLaERXHauqiSw8nsRNWqhSC6gsuyNuGooF
	n4hVLX/QHvryvwfhKxn96dk6y7i4y1Eau/vHZ2byHOgIogKadE1Fq1LckhTJfD3E
	UTO0pzMFe7TVSl/i68efNlUR/6RJYyfjAP/Hf3VSxg==
X-ME-Sender: <xms:QAYNY_U84GMdY-6J7ybObjyqkh0AI21Pd0MERUySZJtWg_VGTJ3_kg>
    <xme:QAYNY3kuEO2Qb6tQh2D3ZgfN5na00aQ3wujwyVirAK944iKj5XWl_gQq3-hACJh2e
    L6gAmEt0E0UzME>
X-ME-Received: <xmr:QAYNY7bXkDZiQtdNgAzubAuhMgdAjcm1WkvqzmMjo0HehZRjPe4rJss_dxRu>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdekuddguddvlecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffeg
    fffguddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtne
    curfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhg
    shhlrggsrdgtohhm
X-ME-Proxy: <xmx:QAYNY6XIJFK2hBmRVZ6Rb2PdoqSlk5skmePdzKZK9q9Zxh3UsgJJTg>
    <xmx:QAYNY5lwTVAIAvge0defJqboTsdKLVwkFG-H3ITZznux2arcPynmyw>
    <xmx:QAYNY3cDFcA-EG1EbtyP2u1hsZIE-wbWpwDtacoxaIjzQtyCyrrboQ>
    <xmx:QAYNY4v1QF6CSxWr_fS5UMfX1DVTi1LVJEKAyoo2Xb7luVzuCg1d8A>
Feedback-ID: iac594737:Fastmail
Date: Mon, 29 Aug 2022 14:32:29 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Juergen Gross <jgross@suse.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors
Message-ID: <Yw0GPr7AB08mYiiu@itl-email>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com>
 <YwVuwXOGoZX3pM7n@mail-itl>
 <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com>
 <Ywr6CfxUZs4zRPYR@itl-email>
 <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com>
 <YwzPotro68PP2u41@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="RIkt5y6LjlWzhsbe"
Content-Disposition: inline
In-Reply-To: <YwzPotro68PP2u41@mail-itl>


--RIkt5y6LjlWzhsbe
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 29 Aug 2022 14:32:29 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Juergen Gross <jgross@suse.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors

On Mon, Aug 29, 2022 at 04:39:29PM +0200, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Mon, Aug 29, 2022 at 02:55:55PM +0200, Juergen Gross wrote:
> > On 28.08.22 07:15, Demi Marie Obenour wrote:
> > > On Wed, Aug 24, 2022 at 08:11:56AM +0200, Juergen Gross wrote:
> > > > On 24.08.22 02:20, Marek Marczykowski-G=C3=B3recki wrote:
> > > > > On Tue, Aug 23, 2022 at 09:48:57AM +0200, Juergen Gross wrote:
> > > > > > On 23.08.22 09:40, Demi Marie Obenour wrote:
> > > > > > > I recently had a VM=E2=80=99s /dev/xvdb stop working with a =
=E2=80=9Cbackend has not
> > > > > > > unmapped grant=E2=80=9D error.  Since /dev/xvdb was the VM=E2=
=80=99s private volume,
> > > > > > > that rendered the VM effectively useless.  I had to kill it w=
ith
> > > > > > > qvm-kill.
> > > > > > >=20
> > > > > > > The backend of /dev/xvdb is dom0, so a malicious backend is c=
learly not
> > > > > > > the cause of this.  I believe the actual cause is a race cond=
ition, such
> > > > > > > as the following:
> > > > > > >=20
> > > > > > > 1. GUI agent in VM allocates grant X.
> > > > > > > 2. GUI agent tells GUI daemon in dom0 to map X.
> > > > > > > 3. GUI agent frees grant X.
> > > > > > > 4. blkfront allocates grant X and passes it to dom0.
> > > > > > > 5. dom0=E2=80=99s blkback maps grant X.
> > > > > > > 6. blkback unmaps grant X.
> > > > > > > 7. GUI daemon maps grant X.
> > > > > > > 8. blkfront tries to revoke access to grant X and fails.  Dis=
aster
> > > > > > >       ensues.
> > > > > > >=20
> > > > > > > What could be done to prevent this race?  Right now all of the
> > > > > > > approaches I can think of are horribly backwards-incompatible=
=2E  They
> > > > > > > require replacing grant IDs with some sort of handle, and req=
uiring
> > > > > > > userspace to pass these handles to ioctls.  It is also possib=
le that
> > > > > > > netfront and blkfront could race against each other in a way =
that causes
> > > > > > > this, though I suspect that race would be much harder to trig=
ger.
> > > > > > >=20
> > > > > > > This has happened more than once so it is not a fluke due to =
e.g. cosmic
> > > > > > > rays or other random bit-flips.
> > > > > > >=20
> > > > > > > Marek, do you have any suggestions?
> > > > > >=20
> > > > > > To me that sounds like the interface of the GUI is the culprit.
> > > > > >=20
> > > > > > The GUI agent in the guest should only free a grant, if it got =
a message
> > > > > > from the backend that it can do so. Just assuming to be able to=
 free it
> > > > > > because it isn't in use currently is the broken assumption here.
> > > > >=20
> > > > > FWIW, I hit this issue twice already in this week CI run, while i=
t never
> > > > > happened before. The difference compared to previous run is Linux
> > > > > 5.15.57 vs 5.15.61. The latter reports persistent grants disabled.
> > > >=20
> > > > I think this additional bug is just triggering the race in the GUI
> > > > interface more easily, as blkfront will allocate new grants with a
> > >=20
> > > 1. Treat =E2=80=9Cbackend has not unmapped grant=E2=80=9D errors as n=
on-fatal.  The most
> > >     likely cause is buggy userspace software, not an attempt to explo=
it
> > >     XSA-396.  Instead of disabling the device, just log a warning mes=
sage
> > > > much higher frequency.
> > > >=20
> > > > So fixing the persistent grant issue will just paper over the real
> > > > issue.
> > >=20
> > > Indeed so, but making the bug happen much less frequently is still a
> > > significant win for users.
> >=20
> > Probably, yes.
> >=20
> > > In the long term, there is one situation I do not have a good solution
> > > for: recovery from GUI agent crashes.  If the GUI agent crashes, the
> > > kernel it is running under has two bad choices.  Either the kernel can
> > > reclaim the grants, risking them being mapped at a later time by the =
GUI
> > > daemon, or it can leak them, which is bad for obvious reasons.  I
> > > believe the current implementation makes the former choice.
> >=20
> > It does.
> >=20
> > I don't have enough information about the GUI architecture you are usin=
g.
> > Which components are involved on the backend side, and which on the
> > frontend side? Especially the responsibilities and communication regard=
ing
> > grants is important here.
>=20
> I'll limit the description to the relevant minimum here.
> The gui-agent(*) uses gntalloc to share framebuffers (they are allocated
> whenever an application within domU opens a window), then sends grant
> reference numbers over vchan to the gui-daemon (running in dom0 by
> default, but it can be also another domU).
> Then the gui-daemon(*) maps them.
> Later, when an application closes a window, the shared memory is
> unmapped, and gui-daemon is informed about it. Releasing grant refs is
> deferred by the kernel (until gui-daemon unmaps them). It may happen
> that unmapping on the gui-agent side will happen before gui-daemon maps
> them. We are modifying our GUI protocol to delay releasing grants on the
> user space side, to coordinate with gui-daemon (basically wait until
> gui-daemon confirms it unmapped them). This should fix the "normal"
> case.
> But if the gui-agent crashes just after sending grant refs, but before
> gui-daemon maps them, then the problem is still there. If they are
> immediately released by the kernel for others to use, we can hit the
> same issue again (for example blkfront using them, and then gui-daemon
> mapping them). I don't see race-free method for solving this with the
> current API. GUI daemon can notice when such situation happens (by
> checking if gui-agent is still alive after mapping grants), but that is
> too late already.
>=20
> The main difference compared to kernel drivers is the automatic release
> on crash (or other unclean exit). In case of kernel driver crash, either
> the whole VM goes down, or at least automatic release doesn't happen.
> Maybe gntalloc could have some flag (per open file? per allocated
> grant?) to _not_ release grant reference (aka leak it) in case of
> implicit unmap, instead of explicit release? Such explicit release
> would need to be added to the Linux gntshr API, as xengntshr_unshare()
> currently is just munmap()). I don't see many other options to avoid
> userspace crash (potentially) taking down PV device with it too...

That is still less than great, as it leads to a memory leak.  Another
approach would be some sort of unmap/revoke operation in the backend, so
that the backend revokes its own access to the grants before telling the
frontend it has unmapped them.  This would cause the userspace mmap()
call to fail.

> (*) gui-agent and gui-daemon here are both in fact two processes (qubes g=
ui
> process that handles vchan communication and Xorg that does the actual
> mapping). It complicates few things, but generally is irrelevant detail
> from the Xen point of view.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--RIkt5y6LjlWzhsbe
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmMNBj4ACgkQsoi1X/+c
IsH/iRAAgSfcoT6caNtZPuat+VW8SIeQ7E5ZjaXOpsVy6j1J56Gn6oG4S6a+n8nY
Qdcsm2qPhE0VEOv8jTyoAv6knb2gdnVtb9Cl8Y80s8B/GvoFz7kbb4zj8Rsy6puy
yAT6hCX37xG4mEXgA4X4ZE+Xv0VeQHGYYYjn+tY4XxPFaWFwC3oZQbWWBvGvwMFX
+b43+Ddxn1rn+5/X1Haeo/7cfQLlfJKkGUaOOugvOtphffIu5nLKOOmpMq9zMxTg
SZpfWzAGLZJ6rbkQBxdr/uqRYPrfvPvt+5VyhEqgAJ21zTTfCFp4yhFcwzJVjfsh
MfKCCTmulj4SLkzcFPGl9OAOzB5QMErXyGKKhrJMvbYMxjLuRpPKDL1wmI7f/6FH
vQGzl4rFb8UaqtA6ngkHbSS72FZQCf+cY4zSTnT79cgZ3iCcLhqEEnVLwHxAK2f3
Tbx4409GV07z/z2yCxRWBLX9XuYD9/v6azSk4zJLn8FKdTLJPDaCdI/zegxl88bq
E65AzI66ZxSILmiqyvz2Mnh47EtQ/prT6cqnuaTMsJ6fIzRmQ3MNS3/SLx484oV0
ajUvXvrYl5daNihdatg/zoMxVCH5nPJNYQgTVb2HuIXBSn/FHDBfpSRjlIxO86Fi
r8mjDeUjh1R/Pvjd2xivTqNAvgDmwQEfRUtC98UtKJ7FPdEWBqE=
=BSYG
-----END PGP SIGNATURE-----

--RIkt5y6LjlWzhsbe--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 18:54:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 18:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394674.634161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSjtq-00012Y-4u; Mon, 29 Aug 2022 18:54:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394674.634161; Mon, 29 Aug 2022 18:54:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSjtq-00012R-25; Mon, 29 Aug 2022 18:54:18 +0000
Received: by outflank-mailman (input) for mailman id 394674;
 Mon, 29 Aug 2022 18:54:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7OGJ=ZB=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1oSjto-00012L-Oz
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 18:54:16 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f9fbe2ca-27cb-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 20:54:15 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 223CF5C0120;
 Mon, 29 Aug 2022 14:54:14 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Mon, 29 Aug 2022 14:54:14 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 29 Aug 2022 14:54:13 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9fbe2ca-27cb-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1661799254; x=
	1661885654; bh=5HCiHl/1HPp+/Y49FQgwK4lJxPhiUAg2PqUYh4lnEBg=; b=h
	qoEaPZdWoZZLKT5Frt/hy1Hp1VxnztTE6bvueo1rdq4WWK+VBq7HWhSbU0iHxMbj
	nIpInraktdJoK+kG3bw8plpgPiRnAbXUWnNqCqZa4437KSAuLlFiXU62nzAnISt/
	fQ4t/W8qSsVGABMAEJgnQmugQNr2EEP/J/ieNu/nsV4UXpo8IDtV82RmsHUZ42dJ
	qyYGuNh0+8j5W7T4MizLLI+lzXwIxdv1pfLXjs8KusxuLI1It+4aelahO+X4LXRw
	1p+blhpcKX9/kiHyrImomocohO2qZ6ng2sEziLbFr9Uy+7lnsjd6th/Cwoe+HRzh
	ANGCfKZHOIsUDQiHzykqg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1661799254; x=1661885654; bh=5HCiHl/1HPp+/Y49FQgwK4lJxPhi
	UAg2PqUYh4lnEBg=; b=FWqUNHv3c5/QcPnXHAEMXahyWroid26QVzhYVCM4pGlz
	YBiPDYKTmFi1HxjLGzs/FOL8Ta5GVWlH5pyPBuETuTkEEgTsru5cWU/GpU+p9VKQ
	r/S67CGFXgbaHS4Pbwt0nVGgu/krF61odX2bDiV1GDuCGvScPN1ku2WeTQ2xDpmA
	bI87mlnrHrYrW2BWnG2DN3ydVX17j3PEGqxP0Gv3xNngXNuhOGdDZdgduE/xdMiF
	HLMTddTlVu3Y3DJMxUcyVe5a+Z+TbG2lNypcS+/6FaOHs4ItPPGbalM+7NmMIRde
	9z6nNE9j8sL+CKck1refmM+gfhRTehEPUVS3EjNF5A==
X-ME-Sender: <xms:VQsNYwhvhS1vsJXJRcnBnuFd3pCWZNy-RrnLT6gZxX1LmD2HlQwanw>
    <xme:VQsNY5CS59ZXSVBqXW2Lrk2C6QsCHAyGZIGM29jZqagfE9mKbzFM3QXYDOpRJVEQp
    qHTQ21Y_eVzTJc>
X-ME-Received: <xmr:VQsNY4EfZ4KzJDgaOepkBu8n_VBqhmX9cMT5BHXX77Dmn9xq4cUKQHMwUDHK>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdekuddgudefvdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffeg
    fffguddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtne
    curfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhg
    shhlrggsrdgtohhm
X-ME-Proxy: <xmx:VQsNYxS8BVo0VYN6lLKBfPxr2emPPqcZ84C5eXYSuDIPkzXscdpEtg>
    <xmx:VQsNY9zQHnKFzapqmA7IbUvHY4M5p9ElaYhp1ToExTLTOv_euSojjw>
    <xmx:VQsNY_4xexoCag_bvCbv8pPxKaYsvuGtIshfA5TsoF1pVzp6KjC71Q>
    <xmx:VgsNY7ZLzrAGYylXgGAgmZyc7G-QjtBCHI4gol2fqomcbSSx86zRnQ>
Feedback-ID: iac594737:Fastmail
Date: Mon, 29 Aug 2022 14:54:11 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors
Message-ID: <Yw0LVNwRmtYX/fYW@itl-email>
References: <YwSEXonOg1CMzeQv@itl-email>
 <fe4aa229-2d3b-2bc7-e906-bb61a5d45f6d@suse.com>
 <YwVuwXOGoZX3pM7n@mail-itl>
 <ebc89685-a559-5511-5c82-41ae30ddbf6d@suse.com>
 <Ywr6CfxUZs4zRPYR@itl-email>
 <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="oYom+NTuEeHiLbr0"
Content-Disposition: inline
In-Reply-To: <82458b1a-d6f6-5fa1-8a38-e9869826308f@suse.com>


--oYom+NTuEeHiLbr0
Content-Type: text/plain; charset=utf-8; protected-headers=v1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 29 Aug 2022 14:54:11 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: =?utf-8?Q?=E2=80=9CBackend_has_not_unm?=
 =?utf-8?Q?apped_grant=E2=80=9D?= errors

On Mon, Aug 29, 2022 at 02:55:55PM +0200, Juergen Gross wrote:
> On 28.08.22 07:15, Demi Marie Obenour wrote:
> > On Wed, Aug 24, 2022 at 08:11:56AM +0200, Juergen Gross wrote:
> > > On 24.08.22 02:20, Marek Marczykowski-G=C3=B3recki wrote:
> > > > On Tue, Aug 23, 2022 at 09:48:57AM +0200, Juergen Gross wrote:
> > > > > On 23.08.22 09:40, Demi Marie Obenour wrote:
> > > > > > I recently had a VM=E2=80=99s /dev/xvdb stop working with a =E2=
=80=9Cbackend has not
> > > > > > unmapped grant=E2=80=9D error.  Since /dev/xvdb was the VM=E2=
=80=99s private volume,
> > > > > > that rendered the VM effectively useless.  I had to kill it with
> > > > > > qvm-kill.
> > > > > >=20
> > > > > > The backend of /dev/xvdb is dom0, so a malicious backend is cle=
arly not
> > > > > > the cause of this.  I believe the actual cause is a race condit=
ion, such
> > > > > > as the following:
> > > > > >=20
> > > > > > 1. GUI agent in VM allocates grant X.
> > > > > > 2. GUI agent tells GUI daemon in dom0 to map X.
> > > > > > 3. GUI agent frees grant X.
> > > > > > 4. blkfront allocates grant X and passes it to dom0.
> > > > > > 5. dom0=E2=80=99s blkback maps grant X.
> > > > > > 6. blkback unmaps grant X.
> > > > > > 7. GUI daemon maps grant X.
> > > > > > 8. blkfront tries to revoke access to grant X and fails.  Disas=
ter
> > > > > >       ensues.
> > > > > >=20
> > > > > > What could be done to prevent this race?  Right now all of the
> > > > > > approaches I can think of are horribly backwards-incompatible. =
 They
> > > > > > require replacing grant IDs with some sort of handle, and requi=
ring
> > > > > > userspace to pass these handles to ioctls.  It is also possible=
 that
> > > > > > netfront and blkfront could race against each other in a way th=
at causes
> > > > > > this, though I suspect that race would be much harder to trigge=
r.
> > > > > >=20
> > > > > > This has happened more than once so it is not a fluke due to e.=
g. cosmic
> > > > > > rays or other random bit-flips.
> > > > > >=20
> > > > > > Marek, do you have any suggestions?
> > > > >=20
> > > > > To me that sounds like the interface of the GUI is the culprit.
> > > > >=20
> > > > > The GUI agent in the guest should only free a grant, if it got a =
message
> > > > > from the backend that it can do so. Just assuming to be able to f=
ree it
> > > > > because it isn't in use currently is the broken assumption here.
> > > >=20
> > > > FWIW, I hit this issue twice already in this week CI run, while it =
never
> > > > happened before. The difference compared to previous run is Linux
> > > > 5.15.57 vs 5.15.61. The latter reports persistent grants disabled.
> > >=20
> > > I think this additional bug is just triggering the race in the GUI
> > > interface more easily, as blkfront will allocate new grants with a
> > > much higher frequency.
> > >=20
> > > So fixing the persistent grant issue will just paper over the real
> > > issue.
> >=20
> > Indeed so, but making the bug happen much less frequently is still a
> > significant win for users.
>=20
> Probably, yes.
>=20
> > In the long term, there is one situation I do not have a good solution
> > for: recovery from GUI agent crashes.  If the GUI agent crashes, the
> > kernel it is running under has two bad choices.  Either the kernel can
> > reclaim the grants, risking them being mapped at a later time by the GUI
> > daemon, or it can leak them, which is bad for obvious reasons.  I
> > believe the current implementation makes the former choice.
>=20
> It does.
>=20
> I don't have enough information about the GUI architecture you are using.
> Which components are involved on the backend side, and which on the
> frontend side? Especially the responsibilities and communication regarding
> grants is important here.

See Marek=E2=80=99s reply.

> > To fix this problem, I recommend the following changes:
> >=20
> > 1. Treat =E2=80=9Cbackend has not unmapped grant=E2=80=9D errors as non=
-fatal.  The most
> >     likely cause is buggy userspace software, not an attempt to exploit
> >     XSA-396.  Instead of disabling the device, just log a warning messa=
ge
> >     and put the grant on the deferred queue.  Even leaking the grant
> >     would be preferable to the current behavior, as disabling a block
> >     device typically leaves the VM unusable.
>=20
> Sorry, I don't agree. This is a major violation of the normal I/O
> architecture. Your reasoning with the disabled block device doesn't make
> much sense IMHO, as the mapped grant was due to a bad interface leading to
> another component using a grant it was not meant to use.
>=20
> Shutting down the block device is the right thing to do here, as data
> corruption might be happening.

In this case, the grants are being mapped read-only, so (unless I have
missed something) data corruption is not possible.

> > 3. Provide a means for a domain to be notified by Xen whenever one of
> >     its grants is unmapped.  Setting an event channel and writing to a
> >     shared ring would suffice.  This would allow eliminating the kludgy
> >     deferred freeing mechanism.
>=20
> Interesting idea.
>=20
> I believe such an interface would need to be activated per grant, as
> otherwise performance could suffer a lot. There are still some unused bits
> in the grant flags, one could be used for that purpose.

At least in the GUI case, large numbers of grants are typically unmapped
at once, and a notification is only necessary when the entire block has
been unmapped.  This should mitigate the performance concerns.

> I'm not sure how often this would be used. In case it is only for the rare
> case of unexpectedly long mapped grant pages, a simple event might do the
> job, with the event handler just skimming through the pending unmaps to
> find the grants being available again.

In Qubes OS, this happens so often that we had to patch the Linux kernel
to handle it better.  Prior to the patch, the background deferred
reclaim could not keep up, causing a memory leak.  Furthermore, the log
messages whenever an unmap had to be deferred were flooding the logs.
While we could change the GUI protocol to provide an unmap-time
notification, this is only because we use an LD_PRELOAD hack to hook
Xorg=E2=80=99s unmapping calls.  I would prefer to not continue to rely on =
this.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--oYom+NTuEeHiLbr0
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmMNC1MACgkQsoi1X/+c
IsGiBxAAlrK0nMu7do1znUxjos8JOO3T1klzWLsGAb4gExNv+krD7RibyUvUih+P
v9hKqtAxy+BO6oQI2R8PR9rhToKCqyUygDlr13tNp05DWjcWirVXYbIiMZLZVHQv
rYHX/7S9FVjNtnq/d3DUv0uwW7n6mpGlTk3tlOi/Se+CXIR1+gJrJ4CdqodOCAob
s6oDSv+aZFYCn6Nh8Tqc3Mw9JSXG1dyD5PJb5y8+OyYBuKaZhrnpRGni8p860jAT
Nv7UBE8QRm0Q0hLmYLwTVpabKcV27+f2tH4esUbiET2jKnWF94GUs8B2H/M8d8aV
tiMjbPS/KhewHWrS7UzHtPKGBWU6la6Ynq8IC1vaceQP8dI2xj/L+bUe/Kpt0OCB
YIUYbYVArU1dLtCSOPoZ1A9ZbzbaCvf7ZYduY9G70Q5mPD5nYDAYSIeHWNO7Vwwy
T2BBCNJzlFThzOkv0PhDUiK5USdOwXfTdbl53Z3EHXXHiW/JBrtdhHfCj7vZkTlX
kWsL71L9J45c0ufIbdWs9XB5rI9D0E7UX3P6yxCc9zmccca5r5zmbtvcnBmqIxi2
UCYQxlTD8QkPbN6Mkpym5f9Fz4Y+XwLkOb7DIkBXhEvjiAhjpgs1/7XXbfMxeOf+
scImumn9LuFGubvyscU6+G1yMBN9Kax7W9gPOGH02xcXU/ZOIhY=
=TQf3
-----END PGP SIGNATURE-----

--oYom+NTuEeHiLbr0--


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 19:44:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 19:44:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394681.634173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSkgR-00068F-WD; Mon, 29 Aug 2022 19:44:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394681.634173; Mon, 29 Aug 2022 19:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSkgR-000688-Sp; Mon, 29 Aug 2022 19:44:31 +0000
Received: by outflank-mailman (input) for mailman id 394681;
 Mon, 29 Aug 2022 19:44:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSkgQ-00067y-Mp; Mon, 29 Aug 2022 19:44:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSkgQ-0004WS-K5; Mon, 29 Aug 2022 19:44:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSkgQ-0007Qc-3y; Mon, 29 Aug 2022 19:44:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSkgQ-0005uX-3a; Mon, 29 Aug 2022 19:44:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=te2ihuuJPXNHpFJRJEwtoZhEyBd0nOuRZfIfaZOFUNY=; b=oluLCIMFDHUMLaTL2EAyPMkvcI
	QfrcunRVwEJ63R8Xd41Mh6xKfwFflN7yVBp5Som7H0KuIXXl+dbORHphi4uJS4mcrCXhDloJBjKM7
	MbxKWRfz6FqpTGVAUlLdLRBVA2ec/RVCXEcRvas/6Ss5hEdc9CppulSz4NA5Vdz6lOsw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172847-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172847: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b90cb1053190353cc30f0fef0ef1f378ccc063c5
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 19:44:30 +0000

flight 172847 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172847/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                b90cb1053190353cc30f0fef0ef1f378ccc063c5
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   25 days
Failing since        172152  2022-08-05 04:01:26 Z   24 days   56 attempts
Testing same since   172847  2022-08-29 07:54:55 Z    0 days    1 attempts

------------------------------------------------------------
1587 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 164422 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 20:07:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 20:07:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394689.634184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSl2M-0000AI-Pw; Mon, 29 Aug 2022 20:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394689.634184; Mon, 29 Aug 2022 20:07:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSl2M-0000A4-MM; Mon, 29 Aug 2022 20:07:10 +0000
Received: by outflank-mailman (input) for mailman id 394689;
 Mon, 29 Aug 2022 20:07:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSl2L-00009r-IS; Mon, 29 Aug 2022 20:07:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSl2L-0004zj-G8; Mon, 29 Aug 2022 20:07:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSl2L-0001GB-0E; Mon, 29 Aug 2022 20:07:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSl2K-000718-Vy; Mon, 29 Aug 2022 20:07:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=frzqeYxCGTwPYP3pbFH7XD29orbNLH1/iEv6nXI6Y2o=; b=B1bt7FzmbrTOd2wBfSY0AKqVCa
	A9I0oXDx+PF435t/QwFI6MyLQeg1dtmFvq4TBChgX1hI/GfxS9ekoWc6z0FOMWee5AjUDA6FMXyHE
	i7ZeDzSH9753HWVEa1uhZUZqT38F7g/KUkqVkD/KxVVmwuSjtCcNbqYfPgZb57t4g7sM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172855-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172855: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 20:07:08 +0000

flight 172855 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172855/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   25 days
Failing since        172151  2022-08-05 02:40:28 Z   24 days  201 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 20:53:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 20:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394699.634194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSllJ-0005HV-Cc; Mon, 29 Aug 2022 20:53:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394699.634194; Mon, 29 Aug 2022 20:53:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSllJ-0005HO-9w; Mon, 29 Aug 2022 20:53:37 +0000
Received: by outflank-mailman (input) for mailman id 394699;
 Mon, 29 Aug 2022 20:53:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSllI-0005HE-CD; Mon, 29 Aug 2022 20:53:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSllI-0005ln-7p; Mon, 29 Aug 2022 20:53:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSllH-0004j6-P2; Mon, 29 Aug 2022 20:53:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSllH-0002JU-OR; Mon, 29 Aug 2022 20:53:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t16vyhKHoijmLVHWwicPOmoEBMiQFIiJh0Jvn4NJNWk=; b=ikFr5DS2xAJBxkcTIavHOhdjMN
	yfQkraQzzUO/+2Kco3a8H/6K6i+FIk8E6D8Y0dh0lmn5jhriCX3pIyRXOdj1ux3dXOffZQhFh04oR
	uWY26IZ4Q5d/YEidDRJC/2c3KkELRck8qKSGUt3Nm0ZgvZfECJHEYNnRhi9k3Mu6YL3Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172849-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172849: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:guest-saverestore:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-shadow:debian-fixup:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 20:53:35 +0000

flight 172849 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172849/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 16 guest-saverestore fail in 172824 pass in 172849
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail in 172824 pass in 172849
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 172824 pass in 172849
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 172840 pass in 172849
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 172824
 test-amd64-amd64-xl-shadow   13 debian-fixup               fail pass in 172840

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 172824 like 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172840 like 172128
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 172840 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 172840 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   25 days
Failing since        172384  2022-08-11 11:13:58 Z   18 days   38 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    4 days    9 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 21:16:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 21:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394707.634206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSm7C-0007h0-96; Mon, 29 Aug 2022 21:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394707.634206; Mon, 29 Aug 2022 21:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSm7C-0007gt-5Z; Mon, 29 Aug 2022 21:16:14 +0000
Received: by outflank-mailman (input) for mailman id 394707;
 Mon, 29 Aug 2022 21:16:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8JDB=ZB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oSm7A-0007gn-9M
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 21:16:12 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd633e7f-27df-11ed-bd2e-47488cf2e6aa;
 Mon, 29 Aug 2022 23:16:11 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 237E1B811F8;
 Mon, 29 Aug 2022 21:16:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 01568C433D6;
 Mon, 29 Aug 2022 21:16:06 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd633e7f-27df-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661807767;
	bh=NVR0qcLAXuOj3u1ZeHQxLYMFY2BrSZlvgLyc6Qq/q+c=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=r0hkA534pNgRz3y5HJOUdNM6rSw0Kx0ioTGUuM1N5xnigqvBTaQtn6X9sg+HqeW0R
	 7aOFqO8pBZB87iAJTSdJat0vEia7XuwtUqP7cd94C+daZ5jx3NyoTVYuP1e15xTIgY
	 Ittrz8Snn1iYPh91nkmKh6trVlgu2MX+WtLFD2F/KGAGYLyzx5YW/T7CXaVvy4/pE+
	 ilh7TAPF/SHFvhUjVQYBnvtjR7v+pq04QkXQjQqNueFRNXhHVTO/AsJT3kj2WQK0hG
	 lmOfR8FX1lReuGcyuwwZpA9/yT2O0B+OqEfd31HrUmU6bpYQxHSyMbXpWUVGmshkDq
	 futGv/ri/oEtg==
Date: Mon, 29 Aug 2022 14:16:03 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@arm.com>
cc: Julien Grall <julien@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH v6 1/9] xen/arm: introduce static shared memory
In-Reply-To: <AM0PR08MB453055962750CBD525997CE7F7769@AM0PR08MB4530.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2208291411320.1134492@ubuntu-linux-20-04-desktop>
References: <20220721132115.3015761-1-Penny.Zheng@arm.com> <20220721132115.3015761-2-Penny.Zheng@arm.com> <ce6c2e20-2d5f-dccc-e4d0-0e8ce92caeb4@xen.org> <AM0PR08MB453055962750CBD525997CE7F7769@AM0PR08MB4530.eurprd08.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 29 Aug 2022, Penny Zheng wrote:
> > -----Original Message-----
> > From: Julien Grall <julien@xen.org>
> > Sent: Friday, August 26, 2022 9:17 PM
> > To: Penny Zheng <Penny.Zheng@arm.com>; xen-devel@lists.xenproject.org
> > Cc: Stefano Stabellini <sstabellini@kernel.org>; Bertrand Marquis
> > <Bertrand.Marquis@arm.com>; Volodymyr Babchuk
> > <Volodymyr_Babchuk@epam.com>
> > Subject: Re: [PATCH v6 1/9] xen/arm: introduce static shared memory
> > 
> > Hi Penny,
> >
> 
> Hi Julien
>  
> > On 21/07/2022 14:21, Penny Zheng wrote:
> > > From: Penny Zheng <penny.zheng@arm.com>
> > >
> > > This patch series introduces a new feature: setting up static shared
> > > memory on a dom0less system, through device tree configuration.
> > >
> > > This commit parses shared memory node at boot-time, and reserve it in
> > > bootinfo.reserved_mem to avoid other use.
> > >
> > > This commits proposes a new Kconfig CONFIG_STATIC_SHM to wrap
> > > static-shm-related codes, and this option depends on static memory(
> > > CONFIG_STATIC_MEMORY). That's because that later we want to reuse a
> > > few helpers, guarded with CONFIG_STATIC_MEMORY, like
> > > acquire_staticmem_pages, etc, on static shared memory.
> > >
> > > Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> > > ---
> > > v6 change:
> > > - when host physical address is ommited, output the error message
> > > since xen doesn't support it at the moment
> > > - add the following check: 1) The shm ID matches and the region
> > > exactly match
> > > 2) The shm ID doesn't match and the region doesn't overlap
> > > - change it to "unsigned int" to be aligned with nr_banks
> > > - check the len of the property to confirm is it big enough to contain
> > > "paddr", "size", and "gaddr"
> > > - shm_id defined before nr_shm_domain, so we could re-use the existing
> > > hole and avoid increasing the size of the structure.
> > > - change "nr_shm_domain" to "nr_shm_borrowers", to not increment if
> > > the role is owner in parsing code
> > > - make "xen,shm_id" property as arbitrary string, with a strict limit
> > > on the number of characters, MAX_SHM_ID_LENGTH
> > > ---
> > > v5 change:
> > > - no change
> > > ---
> > > v4 change:
> > > - nit fix on doc
> > > ---
> > > v3 change:
> > > - make nr_shm_domain unsigned int
> > > ---
> > > v2 change:
> > > - document refinement
> > > - remove bitmap and use the iteration to check
> > > - add a new field nr_shm_domain to keep the number of shared domain
> > > ---
> > >   docs/misc/arm/device-tree/booting.txt | 124 ++++++++++++++++++++
> > >   xen/arch/arm/Kconfig                  |   6 +
> > >   xen/arch/arm/bootfdt.c                | 157 ++++++++++++++++++++++++++
> > >   xen/arch/arm/include/asm/setup.h      |   9 ++
> > >   4 files changed, 296 insertions(+)
> > >
> > > diff --git a/docs/misc/arm/device-tree/booting.txt
> > > b/docs/misc/arm/device-tree/booting.txt
> > > index 98253414b8..8013fb98fe 100644
> > > --- a/docs/misc/arm/device-tree/booting.txt
> > > +++ b/docs/misc/arm/device-tree/booting.txt
> > > @@ -378,3 +378,127 @@ device-tree:
> > >
> > >   This will reserve a 512MB region starting at the host physical address
> > >   0x30000000 to be exclusively used by DomU1.
> > > +
> > > +Static Shared Memory
> > > +====================
> > > +
> > > +The static shared memory device tree nodes allow users to statically
> > > +set up shared memory on dom0less system, enabling domains to do
> > > +shm-based communication.
> > > +
> > > +- compatible
> > > +
> > > +    "xen,domain-shared-memory-v1"
> > > +
> > > +- xen,shm-id
> > > +
> > > +    An arbitrary string that represents the unique identifier of the shared
> > > +    memory region, with a strict limit on the number of characters(\0
> > included),
> > > +    `MAX_SHM_ID_LENGTH(16)`. e.g. "xen,shm-id = "my-shared-mem-1"".
> > > +
> > > +- xen,shared-mem
> > > +
> > > +    An array takes a physical address, which is the base address of the
> > > +    shared memory region in host physical address space, a size, and a
> > guest
> > > +    physical address, as the target address of the mapping.
> > > +    e.g. xen,shared-mem = < [host physical address] [size] [guest
> > > + address] >
> > 
> > Your implementation below is checking for overlap and also have some
> > restriction. Can they be documented in the binding?
> > 
> > > +
> > > +    The number of cells for the host address (and size) is the same as the
> > > +    guest pseudo-physical address and they are inherited from the parent
> > node.
> > 
> > In v5, we discussed to have the host address optional. However, the binding
> > has not been updated to reflect that. Note that I am not asking to implement,
> > but instead request that the binding can be used for such setup.
> > 
> 
> How about:
> "
> Host physical address could be omitted by users, and let Xen decide where it locates.
> "
> Do you think I shall further point out that right now, this part feature is not implemented
> in codes?

Yeah. I would use:

Host physical address is optional, when missing Xen decides the
location (currently unimplemented).


> > > a/xen/arch/arm/include/asm/setup.h
> > b/xen/arch/arm/include/asm/setup.h
> > > index 2bb01ecfa8..39d4e93b8b 100644
> > > --- a/xen/arch/arm/include/asm/setup.h
> > > +++ b/xen/arch/arm/include/asm/setup.h
> > > @@ -23,10 +23,19 @@ typedef enum {
> > >   }  bootmodule_kind;
> > >
> > >
> > > +#ifdef CONFIG_STATIC_SHM
> > > +/* Indicates the maximum number of characters(\0 included) for shm_id
> > > +*/ #define MAX_SHM_ID_LENGTH 16 #endif
> > 
> > Is the #ifdef really needed?
> > 
> > > +
> > >   struct membank {
> > >       paddr_t start;
> > >       paddr_t size;
> > >       bool xen_domain; /* whether the memory bank is bound to a Xen
> > > domain. */
> > > +#ifdef CONFIG_STATIC_SHM
> > > +    char shm_id[MAX_SHM_ID_LENGTH];
> > > +    unsigned int nr_shm_borrowers;
> > > +#endif
> > >   };
> > 
> > If I calculated right, the structure will grow from 24 to 40 bytes. At the
> > moment, this is protected with CONFIG_STATIC_SHM which is unsupported.
> > However, I think we will need to do something as we can't continue to grow
> > 'membank' like that.
> > 
> > I don't have a quick suggestion for 4.17 (the feature freeze is in a week). Long
> > term, I think we will want to consider to move the shm ID in a separate array
> > that could be referenced here.
> > 
> > The other solution would be to have the shared memory regions in a
> > separate array. They would have their own structure which would either
> > embedded "membank" or contain a pointer/index to the bank.
> > 
> 
> Ok, so other than this fixing, others will be addressed in the next serie. And this
> part fixing will be introduced in a new follow-up patch serie after 4.17 release.

Yeah, exactly


> I'm in favor of introducing a new structure to contain shm-related data and let
> 'membank' contains a pointer to it, like
> ```
>  +struct shm_membank {
> +    char shm_id[MAX_SHM_ID_LENGTH];
> +    unsigned int nr_shm_borrowers;
> +}
> +
>  struct membank {
>      paddr_t start;
>      paddr_t size;
>      bool xen_domain; /* whether the memory bank is bound to a Xen domain. */
> +    struct shm_membank *shm;
>  };
> ```
> Then every time we introduce a new feature here, following this strategy, 'membank' will
> at most grow 8 bytes for the reference.
> 
> I'm open to the discussion and will let it decide what it finally will be. ;)

Yeah something like that would work. I'll let Julien comments on the
specifics, but that's not for this week.


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 23:06:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 23:06:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394715.634217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSnpM-0001Jv-4s; Mon, 29 Aug 2022 23:05:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394715.634217; Mon, 29 Aug 2022 23:05:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSnpM-0001Jo-1z; Mon, 29 Aug 2022 23:05:56 +0000
Received: by outflank-mailman (input) for mailman id 394715;
 Mon, 29 Aug 2022 23:05:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8JDB=ZB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oSnpK-0001Ji-DH
 for xen-devel@lists.xenproject.org; Mon, 29 Aug 2022 23:05:54 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 207c1ad8-27ef-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 01:05:52 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id F160B61323;
 Mon, 29 Aug 2022 23:05:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0D59DC433C1;
 Mon, 29 Aug 2022 23:05:49 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 207c1ad8-27ef-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661814350;
	bh=zKxtNTfDdSBYCEppLVwL87h0fqJg8BfpUE/nzMRBmX0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FN60WYU2JChh1zG9SKb1XbaSkZo3V7neoj1TPLGHhn9A0rCj9ImcuokB3E+a99qHP
	 nkFIolMM7Ncu7NLioyq1uKj5ZJPMGNjYAA1ZSzsSvUSSrc+AtffqHzfMhDvh3ppHkU
	 BlrVUF8NghR3VUm4CMwn1HyrHQgsVr/cSlyNTlwPtBOsOzcwZ/F1BZRGzivNWCk2dQ
	 4JJeIIfnZPrsp9yGc9mh+WjjjBV6e69tSvo3ookYRyLQdqDsY0GpWK6ICcAsn4Up7c
	 MUzST41tIjbQnBn8MmiO8SVKimJwcZtwweQ7ub1uDOu8s+/xil9+uZzsDsb7affYbm
	 EVLBBDxGTmepA==
Date: Mon, 29 Aug 2022 16:05:48 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksandr <olekstysh@gmail.com>
cc: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org, 
    bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 1/2] xen/arm: pci: modify pci_find_host_bridge_node
 argument to const pdev
In-Reply-To: <8e09ddde-1170-b489-f17d-83df7543dbad@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208291605420.1134492@ubuntu-linux-20-04-desktop>
References: <cover.1660746990.git.rahul.singh@arm.com> <5f0f92fe734d3c8478c98a90b7eb85e032d7b9ce.1660746990.git.rahul.singh@arm.com> <8e09ddde-1170-b489-f17d-83df7543dbad@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 19 Aug 2022, Oleksandr wrote:
> On 17.08.22 17:45, Rahul Singh wrote:
> Hello Rahul
> 
> > Modify pci_find_host_bridge_node argument to const pdev to avoid
> > converting the dev to pdev in pci_find_host_bridge_node and also
> > constify the return.
> > 
> > Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> 
> 
> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>

 
> > ---
> > Changes in v2:
> >   - this patch is introduced in this version
> > ---
> >   xen/arch/arm/include/asm/pci.h     | 3 ++-
> >   xen/arch/arm/pci/pci-host-common.c | 4 ++--
> >   2 files changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
> > index 7c7449d64f..80a2431804 100644
> > --- a/xen/arch/arm/include/asm/pci.h
> > +++ b/xen/arch/arm/include/asm/pci.h
> > @@ -106,7 +106,8 @@ bool pci_ecam_need_p2m_hwdom_mapping(struct domain *d,
> >                                        struct pci_host_bridge *bridge,
> >                                        uint64_t addr);
> >   struct pci_host_bridge *pci_find_host_bridge(uint16_t segment, uint8_t
> > bus);
> > -struct dt_device_node *pci_find_host_bridge_node(struct device *dev);
> > +const struct dt_device_node *
> > +pci_find_host_bridge_node(const struct pci_dev *pdev);
> >   int pci_get_host_bridge_segment(const struct dt_device_node *node,
> >                                   uint16_t *segment);
> >   diff --git a/xen/arch/arm/pci/pci-host-common.c
> > b/xen/arch/arm/pci/pci-host-common.c
> > index fd8c0f837a..89ef30028e 100644
> > --- a/xen/arch/arm/pci/pci-host-common.c
> > +++ b/xen/arch/arm/pci/pci-host-common.c
> > @@ -243,10 +243,10 @@ err_exit:
> >   /*
> >    * Get host bridge node given a device attached to it.
> >    */
> > -struct dt_device_node *pci_find_host_bridge_node(struct device *dev)
> > +const struct dt_device_node *
> > +pci_find_host_bridge_node(const struct pci_dev *pdev)
> >   {
> >       struct pci_host_bridge *bridge;
> > -    struct pci_dev *pdev = dev_to_pci(dev);
> >         bridge = pci_find_host_bridge(pdev->seg, pdev->bus);
> >       if ( unlikely(!bridge) )
> 
> -- 
> Regards,
> 
> Oleksandr Tyshchenko
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 23:18:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 23:18:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394721.634228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSo1T-0002pC-7d; Mon, 29 Aug 2022 23:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394721.634228; Mon, 29 Aug 2022 23:18:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSo1T-0002p5-4d; Mon, 29 Aug 2022 23:18:27 +0000
Received: by outflank-mailman (input) for mailman id 394721;
 Mon, 29 Aug 2022 23:18:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSo1S-0002ov-4O; Mon, 29 Aug 2022 23:18:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSo1S-0008C2-36; Mon, 29 Aug 2022 23:18:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSo1R-0004d2-JL; Mon, 29 Aug 2022 23:18:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSo1R-0007HJ-Is; Mon, 29 Aug 2022 23:18:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SJCVX65x7Ym7N3JEWs8PARD8t7LkjgGwUcjtSJg1Cw0=; b=XkqzJaE9XF9HLLe4ymzs3O1Xns
	9TBmeuDPvbGmY74M+/fuQ2EGjwlw0YeCJU2mIgSll4MmHaIrEFNGsuwUR7paOL/ZfBID/GPr9q0RW
	/A5MisWYZ/ydF06B0WAtpfV2cX4mjGdug+aCxiw0en9eyBBdvDEFaZZoT8kZK44ARVIw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172857-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172857: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 23:18:25 +0000

flight 172857 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172857/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   25 days
Failing since        172151  2022-08-05 02:40:28 Z   24 days  202 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 29 23:34:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Aug 2022 23:34:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394729.634239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSoHA-0005Ce-Kt; Mon, 29 Aug 2022 23:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394729.634239; Mon, 29 Aug 2022 23:34:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSoHA-0005CX-HW; Mon, 29 Aug 2022 23:34:40 +0000
Received: by outflank-mailman (input) for mailman id 394729;
 Mon, 29 Aug 2022 23:34:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSoH9-0005CN-Ab; Mon, 29 Aug 2022 23:34:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSoH9-0008Sc-0S; Mon, 29 Aug 2022 23:34:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSoH8-0005R6-Jy; Mon, 29 Aug 2022 23:34:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSoH8-0002J1-JR; Mon, 29 Aug 2022 23:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2yQT0TYiqHFj1m1qYm+T77IylcfXV4V8RaNqRwORk4A=; b=akyREHn4bTRJKaWyAVyeDkD8Mw
	5N5jyCR5Cu1QCw//t/uPlTgikyK+dadVcmkhY6ZO6GH/bV1KOnWXkXPGyhn1Hf5ionC8oZk1dlqu6
	81d1KZyVhOvXMYdFsvgW9Mj3C1fow5H1053ph9fwWO+iuHUB1qMX80tnCBosQR2885Kw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172852-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172852: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start.2:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:xen-boot/l1:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:capture-logs/l1(17):fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Aug 2022 23:34:38 +0000

flight 172852 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172852/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install fail in 172835 pass in 172852
 test-armhf-armhf-xl-rtds     19 guest-start.2    fail in 172844 pass in 172835
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 172844 pass in 172852
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail pass in 172835
 test-amd64-amd64-qemuu-nested-intel 16 xen-boot/l1         fail pass in 172844
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172844

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel 17 capture-logs/l1(17) fail blocked in 172123
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172835 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172835 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   26 days
Failing since        172148  2022-08-04 21:39:38 Z   25 days   57 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    4 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 00:46:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 00:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394739.634249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpOB-0004JC-P4; Tue, 30 Aug 2022 00:45:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394739.634249; Tue, 30 Aug 2022 00:45:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpOB-0004J5-MO; Tue, 30 Aug 2022 00:45:59 +0000
Received: by outflank-mailman (input) for mailman id 394739;
 Tue, 30 Aug 2022 00:45:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c5Pn=ZC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oSpO9-0004Iz-Hb
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 00:45:57 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a1af1a5-27fd-11ed-9250-1f966e50362f;
 Tue, 30 Aug 2022 02:45:56 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 05F2561457;
 Tue, 30 Aug 2022 00:45:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 065E0C433C1;
 Tue, 30 Aug 2022 00:45:51 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a1af1a5-27fd-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661820352;
	bh=O6ENxYw6HmlPPLCZQRTG/AAqCpdna1oIa+pqoVYb+EA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MhdyTyon9rUoElJptoR+zaAZSkOTLQBhys9Ee5x20d8/vuypkx++GrfuWdhrNQ0cE
	 EpflnaJ5B5fchAJosOhnaZfDTTw0ebv7zMjTdHb8F1sHGrJPI30uory7L8wHCXv3O2
	 9571y19vBhPoBvmkKby7Rt95yS/kdRcsP9u2kAuNxxjW06gwYXz0RVfoRS3U2Qhoge
	 JiFeD6ADYTmlb1f2Tck3DUG3D2k99g4fEjNX/vS7c4Hw/qNcNlhJAMqWo3/mfxXw3F
	 JHxu66HHnu9jvtQxg95q0G+YzFq9xrs+lcHKLFElBh6asaNfDlcMpfsgr0Xc1kc7yo
	 smoQdUc8k1CcQ==
Date: Mon, 29 Aug 2022 17:45:50 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Penny Zheng <penny.zheng@arm.com>
Subject: Re: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
In-Reply-To: <20220824073127.16762-2-Henry.Wang@arm.com>
Message-ID: <alpine.DEB.2.22.394.2208291726300.1134492@ubuntu-linux-20-04-desktop>
References: <20220824073127.16762-1-Henry.Wang@arm.com> <20220824073127.16762-2-Henry.Wang@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 24 Aug 2022, Henry Wang wrote:
> This commit introduces the reserved heap memory, which is parts of RAM
> reserved in the beginning of the boot time for heap.
> 
> A new boolean field `xen_heap` in `struct membank` is added to store the
> configuration telling if the memory bank is reserved as heap through
> `xen,static-mem` property in device tree `chosen` node.
> 
> Also, this commit introduces the logic to parse the reserved heap
> configuation in device tree by reusing the device tree entry definition
> of the static memory allocation feature:
> 
> - Add a boolean parameter `xen_heap` to `device_tree_get_meminfo` to
> reflect whether the memory bank is reserved as heap.
> 
> - Use `device_tree_get_meminfo` to parse the reserved heap configuation
> in `chosen` node of the device tree.
> 
> - In order to reuse the function `device_tree_get_meminfo`, the
> return type of `process_chosen_node` is changed from void to int.
> 
> A documentation section is added, describing the definition of reserved
> heap memory and the method of enabling the reserved heap memory through
> device tree at boot time.
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
> The name of the device tree property was chosen because we want to
> reuse as much as the device tree parsing helpers from the static
> memory allocation feature, but we would like to hear the upstream
> reviewers' opinion about if using "xen,static-heap" is better.
> ---
> Changes from RFC to v1:
> - Rename the terminology to reserved heap.
> ---
>  docs/misc/arm/device-tree/booting.txt | 46 +++++++++++++++++++++++++
>  xen/arch/arm/bootfdt.c                | 49 +++++++++++++++++++++------
>  xen/arch/arm/domain_build.c           |  5 +--
>  xen/arch/arm/include/asm/setup.h      |  1 +
>  4 files changed, 89 insertions(+), 12 deletions(-)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 98253414b8..e064f64d9a 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -378,3 +378,49 @@ device-tree:
>  
>  This will reserve a 512MB region starting at the host physical address
>  0x30000000 to be exclusively used by DomU1.
> +
> +
> +Reserved Heap Memory
> +====================
> +
> +The reserved heap memory (also known as the statically-configured heap) refers
> +to parts of RAM reserved in the beginning for heap. The memory is reserved by
> +configuration in the device tree using physical address ranges.
> +
> +The reserved heap memory declared in the device tree defines the memory areas
> +that will be reserved to be used exclusively as heap.
> +
> +- For Arm32, since there can be seperated heaps, the reserved heap will be used
> +for both domheap and xenheap.
> +- For Arm64, since domheap and xenheap are the same, the defined reserved heap
> +areas shall always go to the heap allocator.
> +
> +The reserved heap memory is an optional feature and can be enabled by adding a
> +device tree property in the `chosen` node. Currently, this feature reuses the
> +static memory allocation device tree configuration.
> +
> +The dtb property should look like as follows:
> +
> +- property name
> +
> +    "xen,static-mem" (Should be used in the `chosen` node)
> +
> +- cells
> +
> +    Specify the start address and the length of the reserved heap memory.
> +    The number of cells for the address and the size should be defined
> +    using the properties `#xen,static-mem-address-cells` and
> +    `#xen,static-mem-size-cells` respectively.

I would choose a different name for the property not to be confused with
a domain's xen,static-mem property which is for a different purpose: the
memory of the domain.

---

- xen,static-heap

    Property under the top-level "chosen" node. It specifies the address
    and size of Xen reserved heap memory.


- #xen,static-heap-address-cells and #xen,static-heap-size-cells

    Specify the number of cells used for the address and size of the
    xen,static-heap property under "chosen".

---



From xen-devel-bounces@lists.xenproject.org Tue Aug 30 00:47:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 00:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394745.634261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpPG-0004q4-5E; Tue, 30 Aug 2022 00:47:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394745.634261; Tue, 30 Aug 2022 00:47:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpPG-0004px-0o; Tue, 30 Aug 2022 00:47:06 +0000
Received: by outflank-mailman (input) for mailman id 394745;
 Tue, 30 Aug 2022 00:47:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c5Pn=ZC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oSpPE-0004po-TT
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 00:47:04 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4390328c-27fd-11ed-9250-1f966e50362f;
 Tue, 30 Aug 2022 02:47:03 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A52CC61454;
 Tue, 30 Aug 2022 00:47:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9F4CDC433D6;
 Tue, 30 Aug 2022 00:47:01 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4390328c-27fd-11ed-9250-1f966e50362f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661820422;
	bh=5eZZ+bR52hTKrGxLeOYKHo6fPSXV1iFQKiovgRkZNsQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Gz3cDgFHGOgOovBgc1l9ZNLp1Gxr5n5PUZawA+2g/2bc3/8AnZE3Y7vdBvUUlUq/6
	 UuXdbZItsgTqCqwISEA5tcdMuUtX/TXAG9L1kXrX2MzXu2oTjar1cglJ/2X1vuBNaw
	 Tkw/nziv/Ib+RwWlt0ohw7B64nE/nWy7uucYZOGm88P5ZjybSgWqxAr5aPNSEAawZ+
	 SapOp4DcGXHatkghnq6AW4WeU/0Z8nCx8EN+b4nXeeO43gHjkyMU1acgp3Ylq0KC/L
	 OSPcDuTcBIvcwMHc/yu/1hC+sRrp+7DvgQKJOFfAxEy66CrSoMnj9gyW+tW5hFE61S
	 BV91/5a5hnjNQ==
Date: Mon, 29 Aug 2022 17:47:00 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: Michal Orzel <michal.orzel@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Penny Zheng <Penny.Zheng@arm.com>
Subject: RE: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
In-Reply-To: <AS8PR08MB7991A2A6EF808136FBF090F392729@AS8PR08MB7991.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2208291745550.1134492@ubuntu-linux-20-04-desktop>
References: <20220824073127.16762-1-Henry.Wang@arm.com> <20220824073127.16762-2-Henry.Wang@arm.com> <af2f8888-7223-429e-cc7e-b0950f759608@amd.com> <AS8PR08MB7991A2A6EF808136FBF090F392729@AS8PR08MB7991.eurprd08.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 25 Aug 2022, Henry Wang wrote:
> > >                                         const char *name,
> > >                                         u32 address_cells, u32 size_cells)
> > >  {
> > > @@ -301,16 +303,40 @@ static void __init process_chosen_node(const
> > void *fdt, int node,
> > >      paddr_t start, end;
> > >      int len;
> > >
> > > +    if ( fdt_get_property(fdt, node, "xen,static-mem", NULL) )
> > > +    {
> > > +        u32 address_cells = device_tree_get_u32(fdt, node,
> > > +                                                "#xen,static-mem-address-cells",
> > > +                                                0);
> > > +        u32 size_cells = device_tree_get_u32(fdt, node,
> > > +                                             "#xen,static-mem-size-cells", 0);
> > > +        int rc;
> > > +
> > > +        printk("Checking for reserved heap in /chosen\n");
> > > +        if ( address_cells < 1 || size_cells < 1 )
> > address_cells and size_cells cannot be negative so you could just check if
> > there are 0.
> 
> In bootfdt.c function device_tree_get_meminfo(), the address and size cells
> are checked using <1 instead of =0. I agree they cannot be negative, but I am
> not very sure if there were other reasons to do the "<1" check in
> device_tree_get_meminfo(). Are you fine with we don't keep the consistency
> here?

I would keep the < 1 check but it doesn't make much difference either
way


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 00:53:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 00:53:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394751.634272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpV9-0006KR-RC; Tue, 30 Aug 2022 00:53:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394751.634272; Tue, 30 Aug 2022 00:53:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpV9-0006KK-NX; Tue, 30 Aug 2022 00:53:11 +0000
Received: by outflank-mailman (input) for mailman id 394751;
 Tue, 30 Aug 2022 00:53:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSpV8-0006KE-Ld
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 00:53:10 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2081.outbound.protection.outlook.com [40.107.105.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cc1b0bb-27fe-11ed-9250-1f966e50362f;
 Tue, 30 Aug 2022 02:53:08 +0200 (CEST)
Received: from AS9PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:20b:46b::33)
 by DB4PR08MB7935.eurprd08.prod.outlook.com (2603:10a6:10:379::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Tue, 30 Aug
 2022 00:53:05 +0000
Received: from AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46b:cafe::d) by AS9PR07CA0031.outlook.office365.com
 (2603:10a6:20b:46b::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend
 Transport; Tue, 30 Aug 2022 00:53:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT018.mail.protection.outlook.com (100.127.140.97) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 00:53:03 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Tue, 30 Aug 2022 00:53:03 +0000
Received: from d40846f53516.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EAFB2BDF-2346-4CCF-99A0-FE49E0EF9738.1; 
 Tue, 30 Aug 2022 00:52:58 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d40846f53516.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 00:52:58 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB8471.eurprd08.prod.outlook.com (2603:10a6:10:405::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Tue, 30 Aug
 2022 00:52:56 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 00:52:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1cc1b0bb-27fe-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=dAowYGBkyPbV9MQC09rsUwqz/Tw/nPCLjTCY5DnLzxPwAeRbhBDV99otG4UEnictQFEGeYR8ZSnmK+6h8QjE4p/VCSWTXs+Fg/AGwwc/S94AyxjE3O8fi88ELTZ360hW6AfhbwyPowIQDzzREypMu3sEK0aVJtNjV3MH15A9VDG/HuQlPSTsSKkSeqjmfMjEt+pxDbgVztnlJe/UdsfWadZPoHkYvLYk2ZsAFz6GSMnlU6J1V1AdaZOyXY/S+DL/IpjtpAhazC3IUkN24GcP9EVzYcBMoeLhN00WRQcl/S3R5SOGDZNne+yeNUUYhNfvzsQvq1cVg1KWGROE99PIsQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Po+ym3haD4dd013MRDyISNl2D1o494H0wJEy34PqJbs=;
 b=MsrkRlaYpZ0HfYXe5RmV5OWuX2eNNrYnZr7X7kKqHotivajgeJYPD52ja1zJ32THoyeQcB7oxMO+VrJCPqZ0T+LC8Ex3O2vKNzSAnKJsyD8Ol83m5abw4uXVPFtFIyUGOEO68ffxhSXaoK31+J4gnFE3ZPCKTTshTDBtgqvQdXMKGKyXp58c23I8Rxv9XGZUqx6DowwmCb6FumxDx8+nlhPvTvG5KZLxXmNacnv82htqobGDRAqn4uzqrnLMzby3+koR64EWVEnrXPUY6eeAHFZkJVfgWT/NdbJE+5KrRvxM9gwgNb0GaFmGH73xa6bnL00+S+xk4mC1ed78HzrpaA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Po+ym3haD4dd013MRDyISNl2D1o494H0wJEy34PqJbs=;
 b=peb/usVHcJO8FrWpsK9oY3LT8ZrNm10I/QlpEmAUtOYRx7i4N6pMX6BVM3cX9ufZXLDOhhRyuv98DhuYdD1+xx6aEgJHXMGD204oxhpE4av/DtZVY98OxiGtI2ABQwKLrDGj7soFWmtA5UeBkc9DZYuwu610yrWT5B9YYx8arqo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MT2HxAslqU+TM/mBMScxyAY3jmxk1xamV8BlDHr+sTSg2KaoqIWNpzrpP2sEYLqeNLJueWeVufhTkjyrCWgIjTcfKxBRFgMu98jlg3j2KUCuMbY+rLC5iLawtLUPIbV3uUyAycN66e2ApgZ70HSHCJrIZzvUli2t2Wl1yGu+WZRlVuQAs2EiXgmVO+xKENtRGr6jvGrl/yL7fq/gHkarqDUSeqDDh4BGzFmfF7FkEjLIYXPfK6O994J72S7yVp76eG+Y1DGDeb/GCNzTO2QBC250gh4H4LYFOvwLwbSjvUQQ4SCFHOxkiRYGBYjYvIjOsvRjiWE5PnDpRfurqLToTw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Po+ym3haD4dd013MRDyISNl2D1o494H0wJEy34PqJbs=;
 b=d7WCqChrfexcREgocgBdCWzgyKAYuDf4kk55Mxw2oUSIjLClAZiCm3xVGDBfEOgd+VyYgvU9EGSRckEdxcKNwz03gdwRnAoZCSjMClP87JkLhAgpRzwAQnfg9WsTiETZPb8acLJ9+oYmdTALOqMQdduTY98eiWTcaVT5jzFjZJzeDZCcZTfkPRxB2PHszpJjSwI1ap/OTkawtS+r4AmE8lS1aK9hTYRSsePgy/MaAu8E/Dql0W4tFwQFg0S8bt5q55w/CN1WzSRQYlmX0oetSxA1dckzUVFT+VaD2wjUoP+cNG5FKUMp9j63cOSJQsyDE3dYAf0ZBnc3VlfnTA1D4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Po+ym3haD4dd013MRDyISNl2D1o494H0wJEy34PqJbs=;
 b=peb/usVHcJO8FrWpsK9oY3LT8ZrNm10I/QlpEmAUtOYRx7i4N6pMX6BVM3cX9ufZXLDOhhRyuv98DhuYdD1+xx6aEgJHXMGD204oxhpE4av/DtZVY98OxiGtI2ABQwKLrDGj7soFWmtA5UeBkc9DZYuwu610yrWT5B9YYx8arqo=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2] x86/public: move XEN_ACPI_ in a new header
Thread-Topic: [PATCH v2] x86/public: move XEN_ACPI_ in a new header
Thread-Index: AQHYuGftYa+h04RcYEK+Oaks92E1n62/YK6AgAdDISA=
Date: Tue, 30 Aug 2022 00:52:56 +0000
Message-ID:
 <AS8PR08MB7991B63FCB602B85E3E0618C92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <c869f79901968de2d71ab56e1bbb5d43048baf5d.1661420219.git.bertrand.marquis@arm.com>
 <7dbef184-7e55-51d7-27e1-93153b5f0bc9@suse.com>
In-Reply-To: <7dbef184-7e55-51d7-27e1-93153b5f0bc9@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DFB939F4D47DEC4182BD6C9A48FF168E.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 046f5fd8-f7bf-4384-2a74-08da8a21fed2
x-ms-traffictypediagnostic:
	DU0PR08MB8471:EE_|AM7EUR03FT018:EE_|DB4PR08MB7935:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 bL/BHGnkqvODjwxtsVKtUGHiiMcQJa34OABYVBUOaMnkG9V4DQ1duNWEOseyX/Rcxq/X/7n3zk+Meue5eVCWxJgTcILS62Nrp+DTe2RDT+t95Qsc5zH+WEmIl1KePmqgQQZkq7K99bn5Oe9bdU4zRS57YDsfvfH1ppitbiCdx9H+W51zZaIzLS5aiWY8f5hvsoqidpDJe9asIdpgUwL2q347BM+phd3paQYWn1gryQKdUcPsTa+E0q3jWEO5qORlIVfHjsBAXc6Bnw0d3uIPf9gZO4iCcH+4CzK06xex8PPVx75eb9xD4D7wnKBwrKAer12B8kLll9GAAY7ZMU/3jo1r7fi/n01ARCIEvjyYrZy1f7iEKUKdkkpzb+29KyTCWGpQ8qhIybFxwIg78OAo5DuebOPI6F/Xc27pPSEoY2/VYOWseM5J1v+o890EdgNx/NmI9o+LHeAu/0oUU5Ogxe7N6dp24/h5KFmM2nuvYDijKXKGYx6VY/cTbw53j4RFnaKqBZ58ZTM0DwYMuUc7m7wCYgdZdBMSt27BqSWP2NzuoBXuHsEbcaCJ/jUMUI2Un2DzRuuo60A3EZuuvkWZGsZv1nNOVynjNQODHrTiVH6FvNS5n4GsJOz+VDqisLvQvJg50No8ErpncP79ApWzqQZtwUE3CnRxg8wSuCxSXu/iJpW77wuPMloKnG4/VBY/YxLbh50hydr4xg3oRgXsrjYuH4hduURWNQWYwxRCixoeV13E76WEih13A1snZbz+8g+LZfI3rqZel4WVqVuGzQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(376002)(136003)(396003)(366004)(66946007)(8676002)(64756008)(4326008)(76116006)(66556008)(66446008)(122000001)(33656002)(38100700002)(86362001)(38070700005)(53546011)(83380400001)(186003)(41300700001)(6506007)(478600001)(26005)(71200400001)(6636002)(9686003)(110136005)(7696005)(54906003)(55016003)(316002)(5660300002)(2906002)(66476007)(8936002)(52536014);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8471
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c8b9ae7f-aa8b-40d4-f97d-08da8a21fa74
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M1cIktZz+bBHgBLRLyfAFB9aK3gHkdPCfDhgxDIygNVoz7I+cfdwsHcsbG8pImurQevEysc5+YYO2kJmCQUP+l8n+bT6IuU4Y5ueEIRMXxMTUYnf2apNMw44wvtzHaYwjq5Y7a2rz7eSEQUon4umxgjAwHitfT8pb5Aeq6tGWn2+AS5QPnIu3HQgoYxlrjuXZHQsjFUmT7e9z+1BEWPhC7pjJY41dYycjooVFqUMUGplgOZ0KTewISlJ8uzK2aNjROXDPH1ggWa55tloW8blPeVacW1W72yfy6jVT7HgInLWpn5k/gMwJm3WpC56ZNr9kV+d4gbDZb7ldbYrZeY5vxWlEqp3rEG7LoavbchQ17aLC1fl2Fig840czyDDS/ts/w2Uhl8bUjb6kr6BuBmuQG9hQwNiN2+KBgM0ZqjXrZklaH7TR1fSyWjzUh7bO/ilLpuwKD0hl16itEeWEHHZc/3xQMmlCZEH8xTPD2ur7MYgabqE7nGSAtUdcuhEgknyfdh+OwbQqVCUJK0ycCRwetj2lXRvsz9sMnkDqX35ZbsHmmlHD3sXysvJvzmLpd89t6MOA8LwEk6N++j1CsKvOTLXG7EAQ9ePQRMq8ezkbPlFnEHoOFIvJJzlGlNq5hShXSQR2Gj099xwX/CVNguCdXZgbcMKqIpwVdJBKBZzP5lfAW7oV4/8Rm7DCcopOV8ck2Cv931JYXzWNlH3MqbY16ODFjANg6zyTw+wiTo7ryBLqeKkKMFdHPui1KtBTplFswTcszgaTcxCfoYpjJ6xKA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(376002)(396003)(346002)(40470700004)(36840700001)(46966006)(6636002)(110136005)(316002)(82740400003)(356005)(186003)(82310400005)(86362001)(81166007)(54906003)(36860700001)(83380400001)(2906002)(40480700001)(53546011)(55016003)(40460700003)(70586007)(8676002)(70206006)(4326008)(336012)(52536014)(478600001)(9686003)(33656002)(41300700001)(7696005)(8936002)(6506007)(47076005)(26005)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 00:53:03.9461
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 046f5fd8-f7bf-4384-2a74-08da8a21fed2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB7935

SGkgSmFuIGFuZCBCZXJ0cmFuZCwNCg0KU29ycnkgZm9yIHRoZSBsYXRlIHJlcGx5LiBJIGhhZCBh
IGNvdXBsZSBvZiBkYXlzIG9mZi4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG
cm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggdjJdIHg4Ni9wdWJsaWM6IG1vdmUgWEVOX0FDUElfIGluIGEgbmV3IGhlYWRlcg0KPiANCj4g
T24gMjUuMDguMjAyMiAxMTo0OCwgQmVydHJhbmQgTWFycXVpcyB3cm90ZToNCj4gPiBXaGVuIFhl
biBpcyBjb21waWxlZCBmb3IgeDg2IG9uIGFuIGFybSBtYWNoaW5lLCBsaWJhY3BpIGJ1aWxkIGlz
IGZhaWxpbmcNCj4gPiBkdWUgdG8gYSB3cm9uZyBpbmNsdWRlIHBhdGg6DQo+ID4gLSBhcmNoLXg4
Ni94ZW4uaCBpbmNsdWRlcyB4ZW4uaA0KPiA+IC0geGVuLmggaW5jbHVkZXMgYXJjaC1hcm0uaCAo
YXMgX19pMzg2X18gYW5kIF9feDg2XzY0X18gYXJlIG5vdCBkZWZpbmVkDQo+ID4gYnV0IGFybSBv
bmVzIGFyZSkuDQo+ID4NCj4gPiBUbyBzb2x2ZSB0aGlzIGlzc3VlIG1vdmUgWEVOX0FDUElfIGRl
ZmluaXRpb25zIGluIGEgbmV3IGhlYWRlcg0KPiA+IGd1ZXN0LWFjcGkuaCB0aGF0IGNhbiBiZSBp
bmNsdWRlZCBjbGVhbmx5IGJ5IG1rX2RzZHQuYy4NCj4gPiBJbnNpZGUgdGhpcyBoZWFkZXIsIG9u
bHkgcHJvdGVjdCB0aGUgZGVmaW5pdGlvbnMgdXNpbmcgaWZkZWYNCj4gPiBfX1hFTl9UT09MU19f
IGFzIHRoZSBkZWZpbmVzIGFyZSBub3QgdXNlZCBhbnl3aGVyZSBpbiB0aGUgaHlwZXJ2aXNvcg0K
PiBhbmQNCj4gPiBhcmUgbm90IGV4cGVjdGVkIHRvIGJlLg0KPiA+DQo+ID4gUHJldmlvdXMgdXNl
cnMgbmVlZGluZyBhbnkgb2YgdGhlIFhFTl9BQ1BJXyBkZWZpbml0aW9ucyB3aWxsIG5vdyBuZWVk
IHRvDQo+ID4gaW5jbHVkZSBhcmNoLXg4Ni9ndWVzdC1hY3BpLmggaW5zdGVhZCBvZiBhcmNoLXg4
Ni94ZW4uaA0KPiA+DQo+ID4gRml4ZXM6IGQ2YWM4ZTIyYzdjNSAoImFjcGkveDg2OiBkZWZpbmUg
QUNQSSBJTyByZWdpc3RlcnMgZm9yIFBWSCBndWVzdHMiKQ0KPiA+IFNpZ25lZC1vZmYtYnk6IEJl
cnRyYW5kIE1hcnF1aXMgPGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4NCj4gDQo+IFJldmlld2Vk
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IA0KPiA+IEZvciB0aGUgcmVs
ZWFzZSBtYW5hZ2VyOg0KPiA+IC0gcmlzazogdmVyeSBsb3csIHRoZSBkZWZpbml0aW9ucyBtb3Zl
ZCBhcmUgb25seSB1c2VkIGluIG1rX2RzZHQgYW5kDQo+ID4gZXh0ZXJuYWwgdXNlcnMgd291bGQg
anVzdCBoYXZlIHRvIGluY2x1ZGUgdGhlIG5ldyBoZWFkZXIuDQo+ID4gLSBhZHZhbnRhZ2U6IHdl
IGNhbiBub3cgY29tcGlsZSB4ZW4gZm9yIHg4NiBvbiBhcm0gYnVpbGQgbWFjaGluZXMNCj4gDQo+
IEknbGwgZ2l2ZSBpdCBhIGxpdHRsZSBmb3IgSGVucnkgdG8gcG9zc2libHkgcmVsZWFzZS1hY2sg
dGhpcywgYnV0IHNpbmNlDQo+IHN0cmljdGx5IHNwZWFraW5nIHRoaXMgaXMgYSBidWcgZml4LCBJ
IHRoaW5rIGl0IGNvdWxkIGFsc28gZ28gaW4gd2l0aG91dA0KPiAoYXMgbG9uZyBhcyBub3QgYWN0
dWFsbHkgb2JqZWN0ZWQgdG8sIG9mIGNvdXJzZSkuDQoNClRoYW5rcyBmb3IgaW5mb3JtaW5nLiBZ
ZWFoIGRlZmluaXRlbHkgbm8gcHJvYmxlbSBmcm9tIG15IHNpZGUsIHNvOg0KDQpBY2tlZC1ieTog
SGVucnkgV2FuZyA8SGVucnkuV2FuZ0Bhcm0uY29tPiAjIEZvciB0aGUgNC4xNyByZWxlYXNlDQoN
CktpbmQgcmVnYXJkcywNCkhlbnJ5DQoNCg0KPiANCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 00:58:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 00:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394757.634283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpaU-0006yA-FF; Tue, 30 Aug 2022 00:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394757.634283; Tue, 30 Aug 2022 00:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpaU-0006y3-Bl; Tue, 30 Aug 2022 00:58:42 +0000
Received: by outflank-mailman (input) for mailman id 394757;
 Tue, 30 Aug 2022 00:58:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSpaT-0006xv-AX
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 00:58:41 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2046.outbound.protection.outlook.com [40.107.21.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2607495-27fe-11ed-9250-1f966e50362f;
 Tue, 30 Aug 2022 02:58:39 +0200 (CEST)
Received: from DBBPR09CA0006.eurprd09.prod.outlook.com (2603:10a6:10:c0::18)
 by DB7PR08MB3339.eurprd08.prod.outlook.com (2603:10a6:5:1c::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Tue, 30 Aug
 2022 00:58:35 +0000
Received: from DBAEUR03FT009.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:c0:cafe::d7) by DBBPR09CA0006.outlook.office365.com
 (2603:10a6:10:c0::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18 via Frontend
 Transport; Tue, 30 Aug 2022 00:58:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT009.mail.protection.outlook.com (100.127.143.21) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 00:58:31 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 30 Aug 2022 00:58:31 +0000
Received: from 0803ebb65fe3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9CADB68E-D7E5-436B-B2A7-256D49A7D87B.1; 
 Tue, 30 Aug 2022 00:58:26 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0803ebb65fe3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 00:58:26 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VI1PR08MB2768.eurprd08.prod.outlook.com (2603:10a6:802:19::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Tue, 30 Aug
 2022 00:58:23 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 00:58:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2607495-27fe-11ed-9250-1f966e50362f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=FAD+dNmd/ByCKF40cV7Pa8E4oC6oTJgCBWISoXA+J9lSBxX7smWhsrhPknLJXRYKDJmgTem89sdC725fsd/KpaufIgSoStNvf1D1ILbVhIDSYLOPIaRerlSGIGZ0HgPBfKr8BfnRkaqIjMo7btlYzjd/GOfovpp7rx+R8FUTc2ruUwGxi/UZfDN29dYaMZAfaS8XRAnefMsxrslHgJUAJU9YxD1rSG3Ukow1utILLLrrQrsYYRupU69o0sqzBVNqJgFInzDKeXHTNr8jQlKHRyvTLNUR+ErJXb851xZkkfJwzmbJO73zXpJ7caMcnsprbzAkU0/TIuTI3KVjZiDzeQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U1gujnHkgu3GEGxdmUmZpeltirryqyZLv7UVkksZmqM=;
 b=YwH1I3NxIFtMxVeqQr+faX+QTXQLY4UERCkMS/Yvtb7nqFXL9cq8cPZgZtjNwS0ZkVqTaAxap96et3Nsv0SAHSw0xwL/JTBXJmAZgJJmKgHJEl1r0hPFaZGZYxADczgMWlnreke1opPf1Obd++N5yayzy/vu7lk7hDBqLuGIU+FYo5C+rSqcOy8pQsazcZ6WUtFuV/gEs9fVuVqw9l8Oq2/P/JFb+QEV5w2h/AJ0tjrXegYnftcn/GujjYtAvWKiJTZ2l2sCGPujkoLHnn7XbObRHGBW42HyYex3mtoV952WsQwv2lcMWqo40aFM6FH7lSFF0J6/sSEnqrhPaGJ6uw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U1gujnHkgu3GEGxdmUmZpeltirryqyZLv7UVkksZmqM=;
 b=YeOiB3LOPNiYHEbGGWeU896w3l9gAYPEXyd2cpK8rIDwMG4ojcPRfUvEMmV59xCBZeKC/wrv924msbTqy4QN81WwzzK2QQAGufOln70OjKr48f0H68BnC/qKJ127qb35z/j2adK7ShQA72V4yjm4XXwkwzMMwxfhnrrMy1iBVfU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ca/DhFap9YKUUHSV6ciJNUFShzk329DfDEmM2jnGRUOLsKw2ZmUCZVwpADot0dCkNUe351CxiYi+k4ci+TblZ+3u9fGD9LZzAMKm+9JQ4MlRtyJXdo0qWA8UjsZz6FIA9KlWwslQrgOfuWnY5vpkm1Kd3n0d2DP6H9wuXK3Hq0xAuJVSt4z9qYO5fVTFfKfI75bXmXNV6zV3Ye7yWqSthUN5r2MIklfR7sU+CM2ao+zEfLpYILQh6xzOsOoGt/iVrL7mho6BRmMnNXEBS6LIHyfmVLql6rbf3FpQxNcut++bRB0n2nPov226CXS881Wh45R5i8HWCANxDRVTxcDJTw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U1gujnHkgu3GEGxdmUmZpeltirryqyZLv7UVkksZmqM=;
 b=f6PcGuprRzYc4yKMptnngm66zZHp1hny7aYFEB/M/DTsoTyOTF0Y6pmCtmRQH5ZV3jFbQRQu3YWf3tDhWvFEn+h4G2hkXtDF3z1PmmaurNedmY3oMCP87OZyRwQDNQAt2V0/N1FNLloAf1VOcxBGivwfHWdfPGfgEU9lBYUIBEFDOFiS1oro2FSK9GwPNGJgTXEphJEfWvgbDtPZfwCbfiNXYSOiVQMjxp/9kTRINSkZs5NHytrHOlc3abX9uAQkWbnPSwSl8pK2hTl/qpPnwHyZrQExMX78kujpnTHgC5HrNvRkiyZRXffOuDncaRrDbY9RGkxm67Cw0u/OANUb8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U1gujnHkgu3GEGxdmUmZpeltirryqyZLv7UVkksZmqM=;
 b=YeOiB3LOPNiYHEbGGWeU896w3l9gAYPEXyd2cpK8rIDwMG4ojcPRfUvEMmV59xCBZeKC/wrv924msbTqy4QN81WwzzK2QQAGufOln70OjKr48f0H68BnC/qKJ127qb35z/j2adK7ShQA72V4yjm4XXwkwzMMwxfhnrrMy1iBVfU=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Michal Orzel
	<michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Penny
 Zheng <Penny.Zheng@arm.com>
Subject: RE: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Thread-Topic: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Thread-Index: AQHYt4ueuuTQX+2f5E69518db+C55q2+ENkAgAC6AOCAB9oWAIAAAi5w
Date: Tue, 30 Aug 2022 00:58:23 +0000
Message-ID:
 <AS8PR08MB7991EC7FAD3D1EDBD379D9C892799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-2-Henry.Wang@arm.com>
 <af2f8888-7223-429e-cc7e-b0950f759608@amd.com>
 <AS8PR08MB7991A2A6EF808136FBF090F392729@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2208291745550.1134492@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2208291745550.1134492@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 12B33139CB1D9E44B88640808CC6CD3C.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 6ac66243-ae32-4036-06a2-08da8a22c232
x-ms-traffictypediagnostic:
	VI1PR08MB2768:EE_|DBAEUR03FT009:EE_|DB7PR08MB3339:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 0PyF2aUmQusZPpIE2YoSbWMM/3NBnfQhsY5cepgQKFIwgrULyJwNdy1am1NLhjSayFTO1boP04BXnTRCR87N5CjYtpb8cVjatlA6cmvq0MHjFUAzAbO1ILBXHZve50ysQMpteVT92Bj07jERNaOCYUYLcoC74yDPccnTfk54ZFb6AgxdNCh0gCzmAFgZXTikCl7y0iqsD2HDGzYcVG14QpAFQ/xzi5cT0nxfbVng8NWNJQLbBacQdXRgTTKU+hF7EZVLbBMxNxGiPadv0FNoHzUIiOwNUG2+UAwx+PkylQ+nrJepTgfI/fJSPa85Wj0mycuYI++XO7Xg+/UgpxAC62TNrwoGVVzSKnX7Y7zlJFi+PuvWDb/sMJmQlivLF1X2lfxaIg1TkmOX5abR1APjLyfPmhJ1c8kBnMhuCAOZgrmK/iMdXTWre51VrvzmeyIClFWAeT9/f6eB5R/UNuOXeeiFVCReG3XfrxWSoRX8AJOwTHooTa8OfelUIClioqCroUZK8J6xHMdETxbZgN0TgkU6zqX+gp+B5JWNEeo93Rj6ap8EaCZvPX+v2cl7WeK6AJj3x65guhzss0PZ+f/03uk/tGjM5/uQoWDnx7dWZGpuTzpsFKwuOTjZcIQYjVDiDn/RpSHttmlMkeBjzvl1j5V7L+CfLYsxU251bRofOI/CFj08/E7POuHOVCc01Teke/Rlgd7SIS96cJHEq9el5mLqwzYurC7eovwOZua6Qok7+pt3I/B1JxaCYdWC2KXAITsr5HIlZUNUNSxnu4NI9w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(366004)(346002)(396003)(136003)(39860400002)(38070700005)(26005)(478600001)(83380400001)(5660300002)(52536014)(2906002)(8936002)(186003)(8676002)(71200400001)(316002)(33656002)(4326008)(110136005)(38100700002)(122000001)(54906003)(66556008)(66946007)(66446008)(76116006)(64756008)(9686003)(66476007)(55016003)(53546011)(7696005)(86362001)(41300700001)(6506007);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2768
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	25f556c4-5aba-487a-1c70-08da8a22bd31
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	va4AH4Rgnc6qRDQ4tYlQDp31KtuhmE8FKYnR6fJCjwlSLD6ICM79AMb9dvs+7EC71HXojSni1vLrmckxwyGVjnqQenlVKi/45dCduWGVD3hjYQEY+qikilX2MqWvuG2gKJjKvYKMHG5tlQnQG9dcOeKZXKYm+FwvyWXSFgyDxzLeQF6CT87F+vtGYXadqoMF8SJt1seBuMqYhaqhkxpdbbyh+Ld7lZ6daRZa2jQSjNqEccv+mQcngMjMseODDTmCj/Ef12HTk3QA2xYhguZNPJpKmjABv31J6qpsXroFBG1YAHssVqgVLpuHG+RtVic9fNjHBzC+Ak1UurnXovoXh0+jYaXVTLMb1WM4K7d2I4wsbBn0kISC2ijs3GwjdoAIMufe4We94LCxf5/4Iuo9J8h2KOmbbiIzVm+LfAKydWMpyrftUxTPttwEAu1i/U8803mwdXHRRMYqs1Av0KTciHt2Ya+f6iWOu32gk3MllOj18nmDM8vS1rLsJMsTWHOEMEuq1MXWZdMp1bOi4FFQczMt0OD5J2C5necYhmqK4PJOhRXHSi49oEjJ2f4u78mgtUljdCocFxAtfPIDfiijIkinkjSLZBO6WI11vcC33sUfkemFxNy6mjV2exMBOsJz1C7wm1nYmnbx+mt6GqcVM8ZS0V7UcyUk1N0YC5bt59zzMMpCjY0OMKA1TuCnI1UTsjajLkzM2drQ9Ur25Hofipj6xoFxEnkIclF/P27gzVPix2kpwS0GtEfER9/jz5bDvlIy5FviTKgsN4pBgyOWYA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(376002)(136003)(39860400002)(46966006)(36840700001)(40470700004)(47076005)(40480700001)(55016003)(82310400005)(4326008)(36860700001)(54906003)(356005)(86362001)(82740400003)(110136005)(81166007)(8676002)(70586007)(41300700001)(478600001)(5660300002)(8936002)(40460700003)(52536014)(70206006)(316002)(186003)(83380400001)(2906002)(7696005)(6506007)(33656002)(336012)(26005)(53546011)(9686003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 00:58:31.7769
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ac66243-ae32-4036-06a2-08da8a22c232
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3339

Hi Stefano and Michal,

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@kernel.org>
> Sent: Tuesday, August 30, 2022 8:47 AM
> To: Henry Wang <Henry.Wang@arm.com>
> Cc: Michal Orzel <michal.orzel@amd.com>; xen-devel@lists.xenproject.org;
> Stefano Stabellini <sstabellini@kernel.org>; Julien Grall <julien@xen.org=
>;
> Bertrand Marquis <Bertrand.Marquis@arm.com>; Wei Chen
> <Wei.Chen@arm.com>; Volodymyr Babchuk
> <Volodymyr_Babchuk@epam.com>; Penny Zheng <Penny.Zheng@arm.com>
> Subject: RE: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
>=20
> On Thu, 25 Aug 2022, Henry Wang wrote:
> > > >                                         const char *name,
> > > >                                         u32 address_cells, u32 size=
_cells)
> > > >  {
> > > > @@ -301,16 +303,40 @@ static void __init process_chosen_node(const
> > > void *fdt, int node,
> > > >      paddr_t start, end;
> > > >      int len;
> > > >
> > > > +    if ( fdt_get_property(fdt, node, "xen,static-mem", NULL) )
> > > > +    {
> > > > +        u32 address_cells =3D device_tree_get_u32(fdt, node,
> > > > +                                                "#xen,static-mem-a=
ddress-cells",
> > > > +                                                0);
> > > > +        u32 size_cells =3D device_tree_get_u32(fdt, node,
> > > > +                                             "#xen,static-mem-size=
-cells", 0);
> > > > +        int rc;
> > > > +
> > > > +        printk("Checking for reserved heap in /chosen\n");
> > > > +        if ( address_cells < 1 || size_cells < 1 )
> > > address_cells and size_cells cannot be negative so you could just che=
ck if
> > > there are 0.
> >
> > In bootfdt.c function device_tree_get_meminfo(), the address and size c=
ells
> > are checked using <1 instead of =3D0. I agree they cannot be negative, =
but I
> am
> > not very sure if there were other reasons to do the "<1" check in
> > device_tree_get_meminfo(). Are you fine with we don't keep the
> consistency
> > here?
>=20
> I would keep the < 1 check but it doesn't make much difference either
> way

I also would prefer to keep these two places consistent and I agree Michal =
is
making a good point.

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Tue Aug 30 01:02:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 01:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394765.634294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpeJ-0006hp-1p; Tue, 30 Aug 2022 01:02:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394765.634294; Tue, 30 Aug 2022 01:02:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpeI-0006hi-Ut; Tue, 30 Aug 2022 01:02:38 +0000
Received: by outflank-mailman (input) for mailman id 394765;
 Tue, 30 Aug 2022 01:02:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSpeG-0006hc-Pv
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 01:02:36 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50040.outbound.protection.outlook.com [40.107.5.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f10ff72-27ff-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 03:02:35 +0200 (CEST)
Received: from FR0P281CA0046.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::23)
 by DB9PR08MB7559.eurprd08.prod.outlook.com (2603:10a6:10:306::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Tue, 30 Aug
 2022 01:02:29 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:48:cafe::a3) by FR0P281CA0046.outlook.office365.com
 (2603:10a6:d10:48::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend
 Transport; Tue, 30 Aug 2022 01:02:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 01:02:28 +0000
Received: ("Tessian outbound 73dd6a25223d:v123");
 Tue, 30 Aug 2022 01:02:27 +0000
Received: from 58097fd67bce.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1F9E12D5-AB00-4033-B402-D92466EC7709.1; 
 Tue, 30 Aug 2022 01:02:17 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 58097fd67bce.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 01:02:17 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VI1PR08MB2768.eurprd08.prod.outlook.com (2603:10a6:802:19::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Tue, 30 Aug
 2022 01:02:15 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 01:02:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f10ff72-27ff-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=XS2/9AvtbuF2xbqlu/fRMaT/MbMnIwxAc+7DOnB2fw6FNeJX1P3olYE/9SsIzdPwWoS1jTawkoHkRxWWZcKa81oGSYwltIzXGlbu88JqLN9+F4UaGuyhjLhp1/U2G2uU4Sopfl52uOfQzAdhL3mnXsj77xbhzbJo9VAh6wXAZxOwmHVUm2ZboAvznVyRWFlnWSv9dCF83pPd3XYxrcsrBTyCHuuhQF626giz30LhW3bBGLR51ll4b0Mh05V+XSLPyebdY2z1XDt3BvWd2PS752NjCB5Txyc7mAXwmno69Bm1KM6aY8DTZGD+Zri45DbjZsbO+5v5rpJkvKOsL8Rziw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I6CKKyPn5Sb1MhmyJZO1J07I1ByK2ERPwPorgsNG1yw=;
 b=c5LUzdmwmhpTtBDatoayxLc/R91YXAYi6o/rNfnES9Q8o2hfy5/4pSwtX/MtADo/vp7BLOrnTc62I+Mm8NoZyTvzLgwZLFJNNlenOLkY9NXL7m25t0DdFNCLHrs1kR1Oar0TXD9qLJpgsve4eV8UYzv7bgqOs/E6UR6JNMsximvbnYEByU+CKLn8IfH4/5Uv36ro1lFHnOhyUXuXLIAA4Hz9aV6EWu6kPMLVV18D+2qOA/gkqhQasmzFyvYcUTsGPD0AqfrIw5NyTCzHMhyOJ3UywSCWbKJKN7Ff8m1njkZIXcy5LZETF/Tz62vPzhRnOQ+0ajHEHTBG+7sNnpAqNw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I6CKKyPn5Sb1MhmyJZO1J07I1ByK2ERPwPorgsNG1yw=;
 b=c0ld/WyODX5wB7knZ80o/z1YX2/RY1m6Ru0C6NEWEkQIIfPsl9K3WapQSNK+2VreKeHx/ruagoYQxsyiceEShcIe4z5ncDvzCL3MJOK1QuCjw3l7E2QBSTkle+2ZdQHytT4t5RYAFNOKkBU4+XSBFkN/jYvth6p1qjgwmDZ3oYM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LsfqMigOH4W1ji1OkhWPlpA+ln9EfuaMJKjFNBnJQpXQnjlWY1yO9EX9HGrmClvaH9UQn7jvDxQXNUy5pTfSIG+faQU2NQ7cILaIzd28VyK5cmUkP55coh27gPNG6WEr2HTEYYG3Nqg2pJsxsakrFcFy/QjRcpHJXMaKiP2Ch6CjaAMl1ZIorpW9q8Wcm8DLZRcaf2kgnr+oum9lcWF6Yxosl7p2/CSAMGrCEG2/lYv529cnsURbU+/26dG3HNH5rh4ckoD4NAzLwfBcVI+u8n8qhwNPV12wmqgPtNzdJPMbwWYjOJ+d0lvbsMDALEJmmYefPBN5pEzGF2TEp4L30A==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I6CKKyPn5Sb1MhmyJZO1J07I1ByK2ERPwPorgsNG1yw=;
 b=igA4Vp8xeHcLXtRet1lSJZeEQFVmzTpgQ/X7SwJHVPhyR7jW5uuaxFcEjwHaky6Cphe89no+XJRyGkOjvrk6I6ifvvtY+EZNmj5Z1ep5YtJ8r4lW6+BmpAzdsPuOqAEIl6Gt0HTPPio2lUobPi2Vdf9trmcu9RetUzoR9bGjqcfXCln1p31aNtKWygQTz4jBoXR6cblXTP6/fGkT6MBnwemrTLoDsj+g6BKy4nT06Q3qUdxWJuVCijWsACKso/P7VL/S3/nCH3cC3FOpoyEgt/tarWk07aUOhJ1h5qTp2xkYwBR7tLgpbvDen7hEluqV5B5i+hDyda1KamUZZfVNnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I6CKKyPn5Sb1MhmyJZO1J07I1ByK2ERPwPorgsNG1yw=;
 b=c0ld/WyODX5wB7knZ80o/z1YX2/RY1m6Ru0C6NEWEkQIIfPsl9K3WapQSNK+2VreKeHx/ruagoYQxsyiceEShcIe4z5ncDvzCL3MJOK1QuCjw3l7E2QBSTkle+2ZdQHytT4t5RYAFNOKkBU4+XSBFkN/jYvth6p1qjgwmDZ3oYM=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Penny
 Zheng <Penny.Zheng@arm.com>
Subject: RE: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Thread-Topic: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Thread-Index: AQHYt4ueuuTQX+2f5E69518db+C55q3GpJwAgAAEF1A=
Date: Tue, 30 Aug 2022 01:02:14 +0000
Message-ID:
 <AS8PR08MB799110660D0CED682E29854592799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-2-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2208291726300.1134492@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2208291726300.1134492@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: CBE2FF08C14FD94B9D5BAFFC2925FA6F.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 078b60fd-0ec2-4b4a-561a-08da8a234f3e
x-ms-traffictypediagnostic:
	VI1PR08MB2768:EE_|VE1EUR03FT045:EE_|DB9PR08MB7559:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 nxt0CR1LP7bEeO4SMECRFY5g/tm2GTzQj1q+SSBJaxjNC7On3mvlYThEHkRMkDmkD4FuSpknzSxQmb6R5IfP0pvx1Tf0dWxGTCrwLslKwmSqgMeZVEr73nYMUWG5kuS9z2LfC4L6fs8KFSl30SsMsOQh5xBPKNJOovmnz3ZtWWBKpywXRWeJY85kdnuh8yfQkwpZzccMv8RHNqVnu5E+JlmU+Qnl4UxqRMHPKLf0EmQoFRbJQkpvz9z0W9IcY2j6InVAfOB1RserCw2sImb1NWKHM4940Is558MsxlmBxK6C/3QndPQctcO+474zKevZOPjLBhsLOXz2tz5ZqRr0+Tpylj1Fs5/FAgGLhOpjWQ3ENi6I2JmF/NonwjMCk22W4G2k2YM2xxrap6vN6zS8/BnM8KnvnFp3udWO4QjVRyJA3Zya4tJLDhoyuYcaoPzzChGHaADyhZEPpoyLTt9cSnpSY9n0TVCK79EoOv2cPh+7o0b4s9ST0Tfh1lAKigWuwBg4secrKQ2oy8dG0yus36sByBslG3ike0cEB81qtx29z/tLLW0hrmXGh79A7tdPGB6ZOx6QMLDQuAOH1yyiFhS5SRcYw6hOgr4fxZVKDi4qvDRWCO0cU0h+d5aFSJdx8+lIf8D2ptda+vW0hk/n1SWB4DBgAuHsGr2H1LMzyPYm2lV4fJPqEV9wdgvnT4mId63KBr7L7uKjKY2txapBo1pFlHPS9NenBeyMiDgxJXl1XPxo7hl1rh8RlEwOAk0sVYNME00+p/nDEc8ALPyXEQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(366004)(346002)(396003)(136003)(39860400002)(38070700005)(26005)(478600001)(83380400001)(6916009)(5660300002)(52536014)(2906002)(8936002)(186003)(8676002)(71200400001)(316002)(33656002)(4326008)(38100700002)(122000001)(54906003)(66556008)(66946007)(66446008)(76116006)(64756008)(9686003)(66476007)(55016003)(7696005)(86362001)(41300700001)(6506007);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2768
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6f13165d-3b03-408a-e302-08da8a23473f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p35y8eH+x2B4mTASaYC64fLISEfHt2sfkk8N5E+c2h/Yo9V4QjxemnvTfUS3qlJ/FwWwJFdgKaloWdnALKrzDsrecH1tlMYSB2rYw0+JZi4/TETn189EsDezDmMTSZTYHqn9Jmt5cW/XdK5PxsHxxSDiHQhT4ys1lCiFVZR9IEX6IGvoEzl2ULN9Nzl0A2zS+FQHbQh8CPKPFpkPEupMR01leZj3KAKOBjcnhhHMOXUtOu45z50j52vneNQT7j2bbXRLQlY46Nv3n21Eebw3N5D+FlIYxoiZwyravCNyqh0Sjc3L4uulN0cGWsuquXgszcEhwR89P1xp0/JvcUSWr8V6vlugpgQ9JS2AJgjTxRzRd6Lop5WNOL2PhoRfOaMNwHWYlsfbvDFNuiUAdf2iOD4aqjb6OyljbLplyHAbbOMSsk0cSV0DDRpAncKDYlElbz9r3539ev0yGbMG2Ai/KuqBIEG+c46cEC/2E1M/mlkKSDWte3sWChLU7x5itfMZH76dPCR/G0HbOT/7n22MFl5VBGIqmUB3EHcIP/ODRAxemxN2HAAM+2u7Ckj+UY8dgHqqLJAVG1fZSmUoE5i6hvMuHicMRhQ2ZoLl0jpBM0/7wXjuxMnVG2nDzbbVfFKDqTo8IwWuiVXrm+9s6x6Iw+/LAIJB/5h9mp0ODrEPUU2CR3zaZwl15YT94VlF25Trt3UFcgqCYHHNF2dVrJjj16iFZp2sEr+pEdv85IMzxnYImPnDlXjRjZcWv00fob1jvRqkun1M/pzMvabI8q6GcQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(376002)(39860400002)(136003)(40470700004)(36840700001)(46966006)(41300700001)(40460700003)(70586007)(70206006)(478600001)(336012)(33656002)(55016003)(8676002)(4326008)(36860700001)(2906002)(83380400001)(6506007)(7696005)(47076005)(26005)(40480700001)(5660300002)(6862004)(8936002)(52536014)(9686003)(82740400003)(316002)(81166007)(86362001)(54906003)(186003)(356005)(82310400005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 01:02:28.3070
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 078b60fd-0ec2-4b4a-561a-08da8a234f3e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7559

Hi Stefano,

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@kernel.org>
> Subject: Re: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
>=20
> On Wed, 24 Aug 2022, Henry Wang wrote:
> > ---
> > The name of the device tree property was chosen because we want to
> > reuse as much as the device tree parsing helpers from the static
> > memory allocation feature, but we would like to hear the upstream
> > reviewers' opinion about if using "xen,static-heap" is better.
> > ---
> > +The dtb property should look like as follows:
> > +
> > +- property name
> > +
> > +    "xen,static-mem" (Should be used in the `chosen` node)
> > +
> > +- cells
> > +
> > +    Specify the start address and the length of the reserved heap memo=
ry.
> > +    The number of cells for the address and the size should be defined
> > +    using the properties `#xen,static-mem-address-cells` and
> > +    `#xen,static-mem-size-cells` respectively.
>=20
> I would choose a different name for the property not to be confused with
> a domain's xen,static-mem property which is for a different purpose: the
> memory of the domain.

Sure, thank you for the input. I will correct these in v2.

>=20
> ---
>=20
> - xen,static-heap
>=20
>     Property under the top-level "chosen" node. It specifies the address
>     and size of Xen reserved heap memory.
>=20
>=20
> - #xen,static-heap-address-cells and #xen,static-heap-size-cells
>=20
>     Specify the number of cells used for the address and size of the
>     xen,static-heap property under "chosen".

Thanks for these!

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 01:04:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 01:04:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394771.634305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpg1-0007Ie-CG; Tue, 30 Aug 2022 01:04:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394771.634305; Tue, 30 Aug 2022 01:04:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSpg1-0007IX-9d; Tue, 30 Aug 2022 01:04:25 +0000
Received: by outflank-mailman (input) for mailman id 394771;
 Tue, 30 Aug 2022 01:04:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c5Pn=ZC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oSpg0-0007IR-67
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 01:04:24 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aeff4733-27ff-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 03:04:22 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id A5539B81091;
 Tue, 30 Aug 2022 01:04:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D6231C433C1;
 Tue, 30 Aug 2022 01:04:19 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aeff4733-27ff-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661821460;
	bh=u3mcCa/CME0fiFhetcqoFJXYXY/2ZqKz44+qViaPenc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jkQb2L02yeEpyAoTBDiiuCD4dkqmmhkymsoZ9aJzrTe4YzaYmKrWHC9dPUQRYMW2G
	 wtFL+a6qLECIkx2L9jGcggM6+akFaXBkPRONqD2toqtbgCh3ym+UN7XtY8ACp28cYM
	 WX7v+dHZgV7BBp0ies0LXNOwjfJT8FRWu85CQVSsWV6YXj7mTZF2LtGBAIpQcMktP2
	 tVfOgtAtOjF078RgVe0rSf04uB9a7wE4kPdbEUNL5NCCGU3a1LH0c5JJzyljVHVLuM
	 VIRrSPQQXWyseHfp+wHWlUutoX6fpSCZRTZBMITLTQHptRRScbf3+PWXrNMSEF1Qk4
	 3fd1hKxB6rhqg==
Date: Mon, 29 Aug 2022 18:04:18 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
In-Reply-To: <20220824073127.16762-3-Henry.Wang@arm.com>
Message-ID: <alpine.DEB.2.22.394.2208291755450.1134492@ubuntu-linux-20-04-desktop>
References: <20220824073127.16762-1-Henry.Wang@arm.com> <20220824073127.16762-3-Henry.Wang@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 24 Aug 2022, Henry Wang wrote:
> This commit firstly adds a global variable `reserved_heap`.
> This newly introduced global variable is set at the device tree
> parsing time if the reserved heap ranges are defined in the device
> tree chosen node.
> 
> For Arm32, In `setup_mm`, if the reserved heap is enabled, we use
> the reserved heap region for both domheap and xenheap allocation.
> 
> For Arm64, In `setup_mm`, if the reserved heap is enabled and used,
> we make sure that only these reserved heap pages are added to the
> boot allocator. These reserved heap pages in the boot allocator are
> added to the heap allocator at `end_boot_allocator()`.
> 
> If the reserved heap is disabled, we stick to current page allocation
> strategy at boot time.
> 
> Also, take the chance to correct a "double not" print in Arm32
> `setup_mm()`.
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> With reserved heap enabled, for Arm64, naming of global variables such
> as `xenheap_mfn_start` and `xenheap_mfn_end` seems to be ambiguous,
> wondering if we should rename these variables.
> ---
> Changes from RFC to v1:
> - Rebase on top of latest `setup_mm()` changes.
> - Added Arm32 logic in `setup_mm()`.
> ---
>  xen/arch/arm/bootfdt.c           |  2 +
>  xen/arch/arm/include/asm/setup.h |  2 +
>  xen/arch/arm/setup.c             | 79 +++++++++++++++++++++++++-------
>  3 files changed, 67 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 33704ca487..ab73b6e212 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -325,6 +325,8 @@ static int __init process_chosen_node(const void *fdt, int node,
>                                       true);
>          if ( rc )
>              return rc;
> +
> +        reserved_heap = true;
>      }
>  
>      printk("Checking for initrd in /chosen\n");
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index e80f3d6201..00536a6d55 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -92,6 +92,8 @@ extern struct bootinfo bootinfo;
>  
>  extern domid_t max_init_domid;
>  
> +extern bool reserved_heap;
> +
>  void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
>  
>  size_t estimate_efi_size(unsigned int mem_nr_banks);
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 500307edc0..fe76cf6325 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -73,6 +73,8 @@ integer_param("xenheap_megabytes", opt_xenheap_megabytes);
>  
>  domid_t __read_mostly max_init_domid;
>  
> +bool __read_mostly reserved_heap;
> +
>  static __used void init_done(void)
>  {
>      /* Must be done past setting system_state. */
> @@ -699,8 +701,10 @@ static void __init populate_boot_allocator(void)
>  #ifdef CONFIG_ARM_32
>  static void __init setup_mm(void)
>  {
> -    paddr_t ram_start, ram_end, ram_size, e;
> -    unsigned long ram_pages;
> +    paddr_t ram_start, ram_end, ram_size, e, bank_start, bank_end, bank_size;
> +    paddr_t reserved_heap_start = ~0, reserved_heap_end = 0,

INVALID_PADDR or ~0ULL


> +            reserved_heap_size = 0;
> +    unsigned long ram_pages, reserved_heap_pages = 0;
>      unsigned long heap_pages, xenheap_pages, domheap_pages;
>      unsigned int i;
>      const uint32_t ctr = READ_CP32(CTR);
> @@ -720,9 +724,9 @@ static void __init setup_mm(void)
>  
>      for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
>      {
> -        paddr_t bank_start = bootinfo.mem.bank[i].start;
> -        paddr_t bank_size = bootinfo.mem.bank[i].size;
> -        paddr_t bank_end = bank_start + bank_size;
> +        bank_start = bootinfo.mem.bank[i].start;
> +        bank_size = bootinfo.mem.bank[i].size;
> +        bank_end = bank_start + bank_size;
>  
>          ram_size  = ram_size + bank_size;
>          ram_start = min(ram_start,bank_start);
> @@ -731,6 +735,25 @@ static void __init setup_mm(void)
>  
>      total_pages = ram_pages = ram_size >> PAGE_SHIFT;
>  
> +    if ( reserved_heap )
> +    {
> +        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
> +        {
> +            if ( bootinfo.reserved_mem.bank[i].xen_heap )
> +            {
> +                bank_start = bootinfo.reserved_mem.bank[i].start;
> +                bank_size = bootinfo.reserved_mem.bank[i].size;
> +                bank_end = bank_start + bank_size;
> +
> +                reserved_heap_size += bank_size;
> +                reserved_heap_start = min(reserved_heap_start, bank_start);
> +                reserved_heap_end = max(reserved_heap_end, bank_end);
> +            }
> +        }
> +
> +        reserved_heap_pages = reserved_heap_size >> PAGE_SHIFT;
> +    }
> +
>      /*
>       * If the user has not requested otherwise via the command line
>       * then locate the xenheap using these constraints:
> @@ -743,7 +766,8 @@ static void __init setup_mm(void)
>       * We try to allocate the largest xenheap possible within these
>       * constraints.
>       */
> -    heap_pages = ram_pages;
> +    heap_pages = !reserved_heap ? ram_pages : reserved_heap_pages;
> +
>      if ( opt_xenheap_megabytes )
>          xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
>      else
> @@ -755,17 +779,21 @@ static void __init setup_mm(void)
>  
>      do
>      {
> -        e = consider_modules(ram_start, ram_end,
> +        e = !reserved_heap ?
> +            consider_modules(ram_start, ram_end,
>                               pfn_to_paddr(xenheap_pages),
> -                             32<<20, 0);
> +                             32<<20, 0) :
> +            reserved_heap_end;
> +
>          if ( e )
>              break;
>  
>          xenheap_pages >>= 1;
>      } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
>  
> -    if ( ! e )
> -        panic("Not not enough space for xenheap\n");
> +    if ( ! e ||
> +         ( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )
> +        panic("Not enough space for xenheap\n");


I would skip the do/while loop completely if reserved_heap. We don't
need it anyway and we can automatically calculate xenheap_pages in a
single line.



>      domheap_pages = heap_pages - xenheap_pages;
>  
> @@ -810,9 +838,9 @@ static void __init setup_mm(void)
>  static void __init setup_mm(void)
>  {
>      const struct meminfo *banks = &bootinfo.mem;
> -    paddr_t ram_start = ~0;
> -    paddr_t ram_end = 0;
> -    paddr_t ram_size = 0;
> +    paddr_t ram_start = ~0, bank_start = ~0;
> +    paddr_t ram_end = 0, bank_end = 0;
> +    paddr_t ram_size = 0, bank_size = 0;
>      unsigned int i;

Please use INVALID_PADDR or ~0ULL


>  
>      init_pdx();
> @@ -821,17 +849,36 @@ static void __init setup_mm(void)
>       * We need some memory to allocate the page-tables used for the xenheap
>       * mappings. But some regions may contain memory already allocated
>       * for other uses (e.g. modules, reserved-memory...).
> -     *
> +     * If reserved heap regions are properly defined, (only) add these regions
> +     * in the boot allocator.
> +     */
> +    if ( reserved_heap )
> +    {
> +        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
> +        {
> +            if ( bootinfo.reserved_mem.bank[i].xen_heap )
> +            {
> +                bank_start = bootinfo.reserved_mem.bank[i].start;
> +                bank_size = bootinfo.reserved_mem.bank[i].size;
> +                bank_end = bank_start + bank_size;
> +
> +                init_boot_pages(bank_start, bank_end);
> +            }
> +        }
> +    }
> +    /*
> +     * No reserved heap regions:
>       * For simplicity, add all the free regions in the boot allocator.
>       */
> -    populate_boot_allocator();
> +    else
> +        populate_boot_allocator();
>  
>      total_pages = 0;
>  
>      for ( i = 0; i < banks->nr_banks; i++ )
>      {
>          const struct membank *bank = &banks->bank[i];
> -        paddr_t bank_end = bank->start + bank->size;
> +        bank_end = bank->start + bank->size;
>  
>          ram_size = ram_size + bank->size;
>          ram_start = min(ram_start, bank->start);
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 03:27:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 03:27:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394778.634319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSru5-00044C-O0; Tue, 30 Aug 2022 03:27:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394778.634319; Tue, 30 Aug 2022 03:27:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSru5-00043r-HJ; Tue, 30 Aug 2022 03:27:05 +0000
Received: by outflank-mailman (input) for mailman id 394778;
 Tue, 30 Aug 2022 03:27:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSru3-00043h-UO; Tue, 30 Aug 2022 03:27:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSru3-0003HS-S6; Tue, 30 Aug 2022 03:27:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSru3-0003Rq-Eo; Tue, 30 Aug 2022 03:27:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSru3-0002DX-EH; Tue, 30 Aug 2022 03:27:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eIA0hclxDvfp3EYvCxGQrQxQdKW0NXFhZhMzhWfb/8M=; b=vTokWInMBJtaTBAZ71CszFeRT8
	9PcZ/wDSB/Nts3YpDyuje6yffrFrd9FHzyg8S/Lhvw10yZVE2NpDSuCqomwkYraHUqF+H9poHEz+N
	GgS2Z85MX95rG62ndLdApOVXVHI/YOo6y1Z6RuCpVleHqqrMrMgBSADAgyZ1pm0zlGe4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172860-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172860: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 03:27:03 +0000

flight 172860 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172860/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   25 days
Failing since        172151  2022-08-05 02:40:28 Z   25 days  203 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 04:51:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 04:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394788.634329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oStDO-0004T9-Nx; Tue, 30 Aug 2022 04:51:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394788.634329; Tue, 30 Aug 2022 04:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oStDO-0004T2-LH; Tue, 30 Aug 2022 04:51:06 +0000
Received: by outflank-mailman (input) for mailman id 394788;
 Tue, 30 Aug 2022 04:51:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oStDM-0004Ss-VC; Tue, 30 Aug 2022 04:51:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oStDM-0004rv-Q1; Tue, 30 Aug 2022 04:51:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oStDM-0000rD-9Q; Tue, 30 Aug 2022 04:51:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oStDM-0005wU-8h; Tue, 30 Aug 2022 04:51:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CeuLxGdASf4/+Yer3vF56WHDFd1wXt8Y3xyW6A9Y9nY=; b=krItJNtz9q2ePBf/78c5JaL9yd
	rLnh3SLcQW4UFb6FAM0KOSAdTR7xhinCbgiueah3e5nLLyfxTHf9i/wjQCB0FV/9BsbRFeq05kD7P
	1yKkA3crZdLLhTPxOdShCjbUw171VTzxE2VpMAFnEiFu7o14PizhcEakKWkAL5LynX24=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172856-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172856: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl-rtds:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl:host-install(5):broken:regression
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:host-install(5):broken:allowable
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d68d289fbec70b50a25f5818964b26349320ddb5
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 04:51:04 +0000

flight 172856 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172856/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl             <job status>                 broken
 test-armhf-armhf-xl-rtds        <job status>                 broken
 test-armhf-armhf-xl           5 host-install(5)        broken REGR. vs. 172133
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      5 host-install(5)        broken REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                d68d289fbec70b50a25f5818964b26349320ddb5
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   25 days
Failing since        172152  2022-08-05 04:01:26 Z   25 days   57 attempts
Testing same since   172856  2022-08-29 20:13:01 Z    0 days    1 attempts

------------------------------------------------------------
1589 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          broken  
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     broken  
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl-rtds broken
broken-step test-armhf-armhf-xl-rtds host-install(5)
broken-step test-armhf-armhf-xl host-install(5)

Not pushing.

(No revision log; it would be 164550 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 05:43:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 05:43:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394797.634340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSu1p-0001Qq-Jk; Tue, 30 Aug 2022 05:43:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394797.634340; Tue, 30 Aug 2022 05:43:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSu1p-0001Qj-HC; Tue, 30 Aug 2022 05:43:13 +0000
Received: by outflank-mailman (input) for mailman id 394797;
 Tue, 30 Aug 2022 05:43:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fKwo=ZC=gmail.com=asr7247@srs-se1.protection.inumbo.net>)
 id 1oSu1o-0001Qd-8O
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 05:43:12 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a1d8ac63-2826-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 07:43:11 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id b16so12737583edd.4
 for <xen-devel@lists.xenproject.org>; Mon, 29 Aug 2022 22:43:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1d8ac63-2826-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=to:subject:message-id:date:from:mime-version:from:to:cc;
        bh=9VY24i33HtkAB+3wuweaTj38nQZAaFFG3cZlo+n+/W4=;
        b=gGE6vP90MLjd9R+rkBNg98No3rH/2C8LF6qOyUMrkjuFPk4rZeWygTksXNl73Fed/c
         PTEhP4Dx7brICsYs/llSmRIZMbgjfORQ6RG6okSOB1jDqm3WiqzfbjG2RoDx2nOTO9zS
         uklkEBCnDc3X2I/fspqPb7yFBDugNRIu/ydrNfYlaOxJGZT+PlrPaaoaVsxrKz10C7a9
         jHNfyLe8r3/qFoKz/WDK1JOzF7Th7NPT3cFTQiXoTZZJoVKthluYPUzPbH2h/Melmbxh
         ggLWkMou23YGOqEPi433ehJhxJn7YVHuUt3TnzbjYj6ItbCGy7NZDHIM1GgzGmwTuVwa
         P8Jg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc;
        bh=9VY24i33HtkAB+3wuweaTj38nQZAaFFG3cZlo+n+/W4=;
        b=bXytKN22xKz/WNn0+HLfRETRW5rQNuaA/NTqaV2wxq6jnB+MJ5MC50RrtUbgcWRQcL
         6JsURLSsVBVjQC3DxZWoMNdqnRHoGAmw4uMOOt5NOUfWPSJQ/vToLYyHpt1BLWJNRFg7
         CzTankzW6F3f264gDgf6uOkUCl/bKH+8Gw4lrtaGDQg9+WeVF9lu2y09FNHTNOmVXZ8o
         cwuSClXOfTQy2MsYzMvpIeWZXKU++yPJgp3IG1nH1KJK2E77YldvvdEMREEjMxEhaFfr
         YmQtseqN+AWQrv3GTlSpm/WlgShIWrXJU5oLhIj9/HbWht8J94JxM+adMcl9GhC4pirs
         wcDw==
X-Gm-Message-State: ACgBeo3o6ZmFw5DizsS93GfAuG9PHv5Jx5w4IYPwc3DaGZ2XoWC3Nly+
	+mfNY6pGP6/ukM20AbyP5y+lMDD/zefnarO8Px22QEraNy4=
X-Google-Smtp-Source: AA6agR6nULYXLtMcRrLEdH0oJcL92Ab8Hia8wmZQK2mZJkT9Ao/DOSBReghkpYOcZVMR0KfRrO37pSLp5OFU70cWx6s=
X-Received: by 2002:a05:6402:2790:b0:448:b1b1:8c7c with SMTP id
 b16-20020a056402279000b00448b1b18c7cmr2462654ede.70.1661838190049; Mon, 29
 Aug 2022 22:43:10 -0700 (PDT)
MIME-Version: 1.0
From: A Sudheer <asr7247@gmail.com>
Date: Tue, 30 Aug 2022 11:12:58 +0530
Message-ID: <CABg_PyLqrajOuKidSfuzXk8=pAraLfwEQX_mO2-Ofv5kNiWa8w@mail.gmail.com>
Subject: USB-C 250GB SSD Passthrough fails to DomU Ubuntu
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000fdfb4c05e76edabd"

--000000000000fdfb4c05e76edabd
Content-Type: text/plain; charset="UTF-8"

Hi All

On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB mass
storage device passthrough to DomU.
I followed the PVUSB method mentioned in
https://wiki.xenproject.org/wiki/Xen_USB_Passthrough.

I am able to do passthrough for USB 2.0 and 3.x version 32/64 GB mass
storage devices to DomU.
Passthrough failed for "SanDisk 250GB SSD USB-C, USB 3.1" with below error.
Able to access the SSD in Dom0.
Can someone help with what could be missing here.

*Commands used:*
host$ sudo xl usbctrl-attach vm1 version=3 ports=6
host$ sudo xl usbdev-attach vm1 hostbus=3 hostaddr=2

*Error Log in DomU*
VM1:~$ sudo dmesg
[  152.841566] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
[  152.867164] usb 2-1: New USB device found, idVendor=0781,
idProduct=558c, bcdDevice=10.12
[  152.867173] usb 2-1: New USB device strings: Mfr=2, Product=3,
SerialNumber=1
[  152.867177] usb 2-1: Product: Extreme SSD
[  152.867179] usb 2-1: Manufacturer: SanDisk
[  152.867182] usb 2-1: SerialNumber: 31393430475A343030363932
[  152.899103] *usb 2-1: USB controller 0000:00:04.0 does not support
streams, which are required by the UAS driver.*
[  152.899110] usb 2-1: Please try an other USB controller if you wish to
use UAS.
[  152.899113] usb-storage 2-1:1.0: USB Mass Storage device detected
[  152.902033] scsi host2: usb-storage 2-1:1.0
[  152.902174] usbcore: registered new interface driver usb-storage
[  152.908928] usbcore: registered new interface driver uas
[  174.933399] usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd

Thanks
Sudheer

--000000000000fdfb4c05e76edabd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi All<br><br>On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-D=
omU, I tried to do a USB mass storage device passthrough to DomU.<br>I foll=
owed the PVUSB method mentioned in <a href=3D"https://wiki.xenproject.org/w=
iki/Xen_USB_Passthrough" target=3D"_blank">https://wiki.xenproject.org/wiki=
/Xen_USB_Passthrough</a>.<br><br>I am able to do passthrough for USB 2.0 an=
d 3.x version 32/64 GB mass storage devices to DomU.=C2=A0<br>Passthrough f=
ailed for &quot;SanDisk 250GB SSD USB-C, USB 3.1&quot; with below error. Ab=
le to access the SSD in Dom0.<div>Can someone help with what could be missi=
ng here.<br><br><b>Commands=C2=A0used:</b></div><div><span style=3D"color:r=
gb(23,43,77);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&qu=
ot;,Roboto,Oxygen,Ubuntu,&quot;Fira Sans&quot;,&quot;Droid Sans&quot;,&quot=
;Helvetica Neue&quot;,sans-serif;font-size:14px">host$ sudo xl usbctrl-atta=
ch vm1 version=3D3 ports=3D6</span></div><div><span style=3D"color:rgb(23,4=
3,77);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Rob=
oto,Oxygen,Ubuntu,&quot;Fira Sans&quot;,&quot;Droid Sans&quot;,&quot;Helvet=
ica Neue&quot;,sans-serif;font-size:14px">host$ sudo xl usbdev-attach vm1 h=
ostbus=3D3 hostaddr=3D2</span></div><div><font color=3D"#172b4d" face=3D"-a=
pple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Fira San=
s, Droid Sans, Helvetica Neue, sans-serif"><span style=3D"font-size:14px"><=
br></span></font></div><div><font color=3D"#172b4d" face=3D"-apple-system, =
BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Fira Sans, Droid Sans=
, Helvetica Neue, sans-serif"><span style=3D"font-size:14px"><b>Error Log i=
n DomU</b></span></font></div><div>VM1:~$ sudo dmesg<br>[ =C2=A0152.841566]=
 usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd<br>[ =C2=A0152.=
867164] usb 2-1: New USB device found, idVendor=3D0781, idProduct=3D558c, b=
cdDevice=3D10.12<br>[ =C2=A0152.867173] usb 2-1: New USB device strings: Mf=
r=3D2, Product=3D3, SerialNumber=3D1<br>[ =C2=A0152.867177] usb 2-1: Produc=
t: Extreme SSD<br>[ =C2=A0152.867179] usb 2-1: Manufacturer: SanDisk<br>[ =
=C2=A0152.867182] usb 2-1: SerialNumber: 31393430475A343030363932<br>[ =C2=
=A0152.899103] <b>usb 2-1: USB controller 0000:00:04.0 does not support str=
eams, which are required by the UAS driver.</b><br>[ =C2=A0152.899110] usb =
2-1: Please try an other USB controller if you wish to use UAS.<br>[ =C2=A0=
152.899113] usb-storage 2-1:1.0: USB Mass Storage device detected<br>[ =C2=
=A0152.902033] scsi host2: usb-storage 2-1:1.0<br>[ =C2=A0152.902174] usbco=
re: registered new interface driver usb-storage<div>[ =C2=A0152.908928] usb=
core: registered new interface driver uas<br></div><div>[ =C2=A0174.933399]=
 usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd<br></div><div=
><br></div><div>Thanks</div><div>Sudheer</div></div></div>

--000000000000fdfb4c05e76edabd--


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 05:59:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 05:59:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394804.634352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSuHN-0002yG-V3; Tue, 30 Aug 2022 05:59:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394804.634352; Tue, 30 Aug 2022 05:59:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSuHN-0002y9-SM; Tue, 30 Aug 2022 05:59:17 +0000
Received: by outflank-mailman (input) for mailman id 394804;
 Tue, 30 Aug 2022 05:59:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSuHN-0002xy-EG; Tue, 30 Aug 2022 05:59:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSuHN-0006FW-Aj; Tue, 30 Aug 2022 05:59:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSuHM-0005SK-T0; Tue, 30 Aug 2022 05:59:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSuHM-0001X3-SG; Tue, 30 Aug 2022 05:59:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=h4I+IG06uzvRCBrKpL2wy5ycXOgO1d5xWM6oN2GmBQs=; b=mYH5nqEF5odPlQ8sE9Jod2qsNz
	haRLYk2ARiLcf83c+YcSDej12GBOQR1RqiAAsl1YzHlTGpqaQHVol1yvnHU0tPlHPvxiTSGvTA9eh
	yzVCzRxDtI1Q/8wiP8lj/Rnpb2GTMTDmqVFXxW/L/ZhTtUDxuncEEIYhfMKBQojKB7zY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172858-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172858: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-shadow:debian-fixup:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 05:59:16 +0000

flight 172858 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172858/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-shadow   13 debian-fixup     fail in 172849 pass in 172858
 test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail in 172849 pass in 172858
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 172849

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-vhd      13 guest-start         fail in 172849 like 172108
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172849 like 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   26 days
Failing since        172384  2022-08-11 11:13:58 Z   18 days   39 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    4 days   10 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 06:11:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 06:11:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394814.634362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSuT9-0005OR-57; Tue, 30 Aug 2022 06:11:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394814.634362; Tue, 30 Aug 2022 06:11:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSuT9-0005OK-2V; Tue, 30 Aug 2022 06:11:27 +0000
Received: by outflank-mailman (input) for mailman id 394814;
 Tue, 30 Aug 2022 06:11:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSuT7-0005OD-HD
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 06:11:25 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70048.outbound.protection.outlook.com [40.107.7.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93376de6-282a-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 08:11:24 +0200 (CEST)
Received: from FR3P281CA0152.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::6) by
 VI1PR08MB4543.eurprd08.prod.outlook.com (2603:10a6:803:f4::13) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15; Tue, 30 Aug 2022 06:11:16 +0000
Received: from DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a2:cafe::f1) by FR3P281CA0152.outlook.office365.com
 (2603:10a6:d10:a2::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend
 Transport; Tue, 30 Aug 2022 06:11:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT065.mail.protection.outlook.com (100.127.142.147) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 06:11:15 +0000
Received: ("Tessian outbound fccf984e7173:v123");
 Tue, 30 Aug 2022 06:11:15 +0000
Received: from 9561fc5c40fa.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D39E8C0B-DC1C-4159-AE82-2B03487BBBE5.1; 
 Tue, 30 Aug 2022 06:11:05 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9561fc5c40fa.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 06:11:05 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DBBPR08MB5883.eurprd08.prod.outlook.com (2603:10a6:10:206::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Tue, 30 Aug
 2022 06:11:02 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 06:11:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93376de6-282a-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=bAmyYGKGBQOjO/oSQNxWFpNfjqqnjgo3I0ztpygFR5HIriATIbaTJXXQ4J6vd1rR/neZxSnzchdSJrS6RmsAlJegXvjDTtjuS5YPdqo81fjwkW8wOwcZvVk/zLaP4fUI4MHBD8xxRuK4W0aT84kOeyPibL7QGriDbJ8JAubuNQXvYyoF3SRDIeR4aczXo4kE5lYUO8C7X/axh8Zn5lwKgjEh/4YZ77cXjGo8HSZqgYnvlFIrW9W0s/oQQLQwy6hQmgBhGApAxmJLH+dQm/tD49NL9uByuBwcTXInXQEjyjO+pm6ZZM8SZn546ckKird9/UmKOV4LbPrajlzB8E1eSQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3DZ5eiPe4MTAXqhedNujlDDau3Z4c289ZTp/ntqoAq8=;
 b=eOR1vlQslIe0MyVV3iihjzDlAcT1X+xxb6nH13K8HVwIwxcH3nefM9gzS1fMCdfgQTKZG72z0c2nMgzCJrJy9Bpx1Io7ZGcEeLlHEdcD6VNCtI6nqDx5I18nupyVCEUJAGHURiSVA72gVNGRXBgZz8Bs+2L0pGC5fatb+RvpPQlbhoqR7JxUv9sF8ri5VURWkEtep4J/XDSllOsHKZr7UXYbwje37bhBRg6TiEe4YbpzkASQUjF7bE+tGRF4FAkH9R/lS8nNw3r3aXGFCe9BowbLr6YI1D7evwkQ/5/G/L4iIA/V3mKQk0rHXll/JY+XPhSiML2imxfINoeHIEHVzA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3DZ5eiPe4MTAXqhedNujlDDau3Z4c289ZTp/ntqoAq8=;
 b=dEhv+CjXx2mIf2piYmpz//b2Nhsb8XuB6tEnLKifNoJnnKuDoFY4keqvOwEAoY3w2UxKsZqjVRcG67U3TEbz9ZCXV3jVdqKu40gKPfcC7c8hc2YxFXhiQzbBPYw8zYR+xJyAujyqyfg8wOIQjlAslTjUZWBz9Whef/SQIW6gbnE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dQaMIn64LJhAaey6Wjfvb0dGMrLM1aVrY0cQYi9U0muAzcYeZUAQOXPCHoFl5x299DPbrXflJ26wFpDL9LIbr59cV7H3AHFd3uI/TtfbFIGz8S6yWX+EhYHpXj+ApyO2mxIO3o4//Y5SLdRRXBlozyiSb/eh6w2jTvvbrq9GQNAOXrd1gzR+TqSxQu87BS2V09SE3mL3boEFPS9e/obzPPwgVAXxfib/x5+QBFNLi/6AJj0Bgjf5qc1GxnBQ8ODFM7atP5GX+j+OuGDvb2HFLWbqzMwcAtif/Vd9WRs48oKm8R/E87LGCxuL8zsswSrwoUSOfJny0uz9+tSbL484IA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3DZ5eiPe4MTAXqhedNujlDDau3Z4c289ZTp/ntqoAq8=;
 b=bursVrjxBqq2OoCcMc/sDqGkn1UEKGZq7e7NgKexWHl/SBoz+tmmmDjFxDOOtRQC3epoauxLBV7fqUw5BL6iOgq6CvEdFPjeLF9f7fHIrrgtRUOHfi9176zJoHjPQZJ5vtQKVkfRYul10nSxsXYHXhZbr9h3CI748NKSzzsyqGuNHqv5PmpN4aQoJcyEtRoXUrzin+2KlyZCFD1v0z70cwdPJBHr7OiqOrV63/k4LbU5Q6frcw9CSVTLNNis0vFMSJHKgMPSBPIheum10K55ecH24DJKEsYbvMy6XJIWcZ0YEbFGJ10yzKj1PW3uqcQvW0OfCFx6T9gHXQ3vLs0rGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3DZ5eiPe4MTAXqhedNujlDDau3Z4c289ZTp/ntqoAq8=;
 b=dEhv+CjXx2mIf2piYmpz//b2Nhsb8XuB6tEnLKifNoJnnKuDoFY4keqvOwEAoY3w2UxKsZqjVRcG67U3TEbz9ZCXV3jVdqKu40gKPfcC7c8hc2YxFXhiQzbBPYw8zYR+xJyAujyqyfg8wOIQjlAslTjUZWBz9Whef/SQIW6gbnE=
From: Henry Wang <Henry.Wang@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Topic: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Index: AQHYt4ugTfbCAM/WyEil7pMplK0r3q2/e0SAgAeAsxA=
Date: Tue, 30 Aug 2022 06:11:02 +0000
Message-ID:
 <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
In-Reply-To: <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DB304F9153E02F4292EB9C86B4EB96B0.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: b68a5258-db8f-486a-5ab1-08da8a4e7240
x-ms-traffictypediagnostic:
	DBBPR08MB5883:EE_|DBAEUR03FT065:EE_|VI1PR08MB4543:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 js9rFgFZVD5OFmQRs+nfPg9uicLmd67KgsdtNh1zzQyPanfzBYrCc7IWLCVpHsZT/KL6hGOg7cUJewvS99aJB0ZYlOHcktuV1V8NRiF71lhB1hSyYWpMfGhLxm/qqzilfUgRw5f2w1E2/LLNG6Xy7oG3QJ4NPF9vbBQRoerAUpvC1sIMR+0YM8AN36JG6Hu74FgHPnm/UViB18M5s8R5CvPfsUY4HSwHLNtGDwoWK9AbyFkhRsR/ksfDygQ6ydcXVDS/1I/BPHJymHnzshHA+nUGUAkY/m1wY1ff4CjX/qk0y3Lh7gJe10oxGy6XI/7wEtxi58F/25CrmTXYQagscAPVo5aQslASUAbGnCbtNUdoJXObzETBJcFkrmuBO9bdvtXk1KgzYjMz2LH5/wo3KTbxwdGjeVah4s/TF932d0lcuMRRcdHQb4wRI2xjtmzpsAYaii394gW0wC1OfNUWrB2P/kQ6uwwGPLfwuaoctFkGMVmQiiK5StizhY4K+TP7W8pqOSjiYVrB6PDyos9bfiWfN0bBSe+FjM/Rn39A1lBRgOxvJchtG8bKdSJUy58B75av+t5/Te62+gvZ3635XyEQrYTL/Q92Qeweijrz88012xmfVWP2KusxE8h0sHKEVQMInx3vn/KWb04BUEhB9ciRKbmYR9QII76L2xRR1Mxbk8Dnxps4sj6EeZrjdJjfu/eoLXxYEKy54Mpv5+ZURYS64Cu8kPZ1e4MRJIwLzDJOObjodkAt0iWaHAL1Ql0S0nIk7HbGMWN7pRPhGbnQAw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(136003)(366004)(376002)(396003)(33656002)(71200400001)(316002)(9686003)(26005)(186003)(83380400001)(6506007)(2906002)(7696005)(86362001)(38070700005)(55016003)(54906003)(122000001)(478600001)(5660300002)(41300700001)(52536014)(38100700002)(8936002)(110136005)(66476007)(66446008)(4326008)(66556008)(76116006)(8676002)(64756008)(66946007);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5883
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	81a8cd70-2ae3-4472-76b5-08da8a4e6a7c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KFfsMJ9R9uIAuEEwViyNpxUNZXgGkbdh2lIvE9psWGS1g8E+TPhKBNdnFhGnFCRZi0cGCDTOVLbheQ5nr2hhqaPYkBme/uE0e+D3aZVu3akwbgAKrw6SMvhsEfWIJFfKAhDfUOBqqka809fdmuQDBaxHTCcmZ6ohsJ9NF4C/wl9kWI7EZVq25DkpZ+Vac1aerWrHjY8cbN1cP6gfl8Df2tNB+6K3Ee1lA5R7ueWC6fvuSJr/WksrTnk1mdNmJMjMefN+Nbyir4P8C5xbO8+VULwmtGMhVV5/ZzbChzLpmPqeJmCHVGoZne9E9HtYp1isyO0Yw0Ax2pgcfhw3itzr5BTdegdFMQ6YvPuzURxpeTTZP71++LVW981pWrLPWFPFAEf39GkZUb4dUyP+AUkDzvir0GoLvup5KzrdEmO0WBxxES2zKpjcLNQlacDCPce1pgEvJYBIFsAeBNrvLHrq+nCO3yzZPkvtWlP4IF3q30+MJG65gttHGM3dJ8+6RXwcZH7bc7CTsTRtjvh58LYFd/kPpKnW7mrwn2kvjFfdmrGEcAcHeU2KP89ArC5JOzDZybE74AFI0FlYXnoeWnAKUHLVAt5yy66Jd+wSlGBUtQOwkk/CMSIxaPg8OGRFYXe+7Q3koYHWrh6hnumxMV6EBlTJSJfFO5H0JdVcnO3m4zOssaXUwcYLEjufiFKOvGIgmhYGlv3+9wiNAA4mSHzpDOiGe9ZQzP1I33hCSiHtAP8+HDTngKB/RJNOE7L5F0DALb8FA0tkJfXBESs0v9GZJw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(136003)(346002)(396003)(36840700001)(46966006)(40470700004)(4326008)(55016003)(2906002)(40480700001)(82310400005)(70206006)(8676002)(70586007)(8936002)(6506007)(7696005)(107886003)(54906003)(316002)(26005)(33656002)(9686003)(478600001)(110136005)(41300700001)(83380400001)(86362001)(40460700003)(47076005)(336012)(356005)(186003)(36860700001)(81166007)(82740400003)(5660300002)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 06:11:15.5092
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b68a5258-db8f-486a-5ab1-08da8a4e7240
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4543

SGkgTWljaGFsLA0KDQpTb3JyeSBhYm91dCB0aGUgbGF0ZSByZXBseSAtIEkgaGFkIGEgY291cGxl
IG9mIGRheXMgb2ZmLiBUaGFuayB5b3UgdmVyeQ0KbXVjaCBmb3IgdGhlIHJldmlldyEgSSB3aWxs
IGFkZCBteSByZXBseSBhbmQgYW5zd2VyIHNvbWUgb2YgeW91cg0KcXVlc3Rpb25zIGJlbG93Lg0K
DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hhbCBPcnplbCA8bWlj
aGFsLm9yemVsQGFtZC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMi8yXSB4ZW4vYXJtOiBI
YW5kbGUgcmVzZXJ2ZWQgaGVhcCBwYWdlcyBpbiBib290IGFuZA0KPiBoZWFwIGFsbG9jYXRvcg0K
PiANCj4gPiBUaGlzIGNvbW1pdCBmaXJzdGx5IGFkZHMgYSBnbG9iYWwgdmFyaWFibGUgYHJlc2Vy
dmVkX2hlYXBgLg0KPiA+IFRoaXMgbmV3bHkgaW50cm9kdWNlZCBnbG9iYWwgdmFyaWFibGUgaXMg
c2V0IGF0IHRoZSBkZXZpY2UgdHJlZQ0KPiA+IHBhcnNpbmcgdGltZSBpZiB0aGUgcmVzZXJ2ZWQg
aGVhcCByYW5nZXMgYXJlIGRlZmluZWQgaW4gdGhlIGRldmljZQ0KPiA+IHRyZWUgY2hvc2VuIG5v
ZGUuDQo+ID4NCj4gRGlkIHlvdSBjb25zaWRlciBwdXR0aW5nIHJlc2VydmVkX2hlYXAgaW50byBi
b290aW5mbyBzdHJ1Y3R1cmU/DQoNCkFjdHVhbGx5IEkgZGlkLCBidXQgSSBzYXcgY3VycmVudCBi
b290aW5mbyBvbmx5IGNvbnRhaW5zIHNvbWUgc3RydWN0cyBzbw0KSSB3YXMgbm90IHN1cmUgaWYg
dGhpcyBpcyB0aGUgcHJlZmVycmVkIHdheSwgYnV0IHNpbmNlIHlvdSBhcmUgcmFpc2luZyB0aGlz
DQpxdWVzdGlvbiwgSSB3aWxsIGZvbGxvdyB0aGlzIG1ldGhvZCBpbiB2Mi4NCg0KPiBJdCB3b3Vs
ZCBoZWxwIHRvIGF2b2lkIGludHJvZHVjaW5nIG5ldyBnbG9iYWwgdmFyaWFibGVzIHRoYXQgYXJl
IG9ubHkgdXNlZA0KPiBpbiBwbGFjZXMgbWFraW5nIHVzZSBvZiB0aGUgYm9vdGluZm8gYW55d2F5
Lg0KDQpBY2suDQoNCj4gDQo+ID4gKyAgICAgICAgZm9yICggaSA9IDAgOyBpIDwgYm9vdGluZm8u
cmVzZXJ2ZWRfbWVtLm5yX2JhbmtzOyBpKysgKQ0KPiA+ICsgICAgICAgIHsNCj4gPiArICAgICAg
ICAgICAgaWYgKCBib290aW5mby5yZXNlcnZlZF9tZW0uYmFua1tpXS54ZW5faGVhcCApDQo+ID4g
KyAgICAgICAgICAgIHsNCj4gPiArICAgICAgICAgICAgICAgIGJhbmtfc3RhcnQgPSBib290aW5m
by5yZXNlcnZlZF9tZW0uYmFua1tpXS5zdGFydDsNCj4gPiArICAgICAgICAgICAgICAgIGJhbmtf
c2l6ZSA9IGJvb3RpbmZvLnJlc2VydmVkX21lbS5iYW5rW2ldLnNpemU7DQo+ID4gKyAgICAgICAg
ICAgICAgICBiYW5rX2VuZCA9IGJhbmtfc3RhcnQgKyBiYW5rX3NpemU7DQo+ID4gKw0KPiA+ICsg
ICAgICAgICAgICAgICAgcmVzZXJ2ZWRfaGVhcF9zaXplICs9IGJhbmtfc2l6ZTsNCj4gPiArICAg
ICAgICAgICAgICAgIHJlc2VydmVkX2hlYXBfc3RhcnQgPSBtaW4ocmVzZXJ2ZWRfaGVhcF9zdGFy
dCwgYmFua19zdGFydCk7DQo+IFlvdSBkbyBub3QgbmVlZCByZXNlcnZlZF9oZWFwX3N0YXJ0IGFz
IHlvdSBkbyBub3QgdXNlIGl0IGF0IGFueSBwbGFjZSBsYXRlcg0KPiBvbi4NCj4gSW4geW91ciBj
dXJyZW50IGltcGxlbWVudGF0aW9uIHlvdSBqdXN0IG5lZWQgcmVzZXJ2ZWRfaGVhcF9zaXplIGFu
ZA0KPiByZXNlcnZlZF9oZWFwX2VuZC4NCg0KR29vZCBwb2ludCwgdGhhbmsgeW91IGFuZCBJIHdp
bGwgcmVtb3ZlIGluIHYyLg0KDQo+IA0KPiA+ICAgICAgLyoNCj4gPiAgICAgICAqIElmIHRoZSB1
c2VyIGhhcyBub3QgcmVxdWVzdGVkIG90aGVyd2lzZSB2aWEgdGhlIGNvbW1hbmQgbGluZQ0KPiA+
ICAgICAgICogdGhlbiBsb2NhdGUgdGhlIHhlbmhlYXAgdXNpbmcgdGhlc2UgY29uc3RyYWludHM6
DQo+ID4gQEAgLTc0Myw3ICs3NjYsOCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfbW0odm9p
ZCkNCj4gPiAgICAgICAqIFdlIHRyeSB0byBhbGxvY2F0ZSB0aGUgbGFyZ2VzdCB4ZW5oZWFwIHBv
c3NpYmxlIHdpdGhpbiB0aGVzZQ0KPiA+ICAgICAgICogY29uc3RyYWludHMuDQo+ID4gICAgICAg
Ki8NCj4gPiAtICAgIGhlYXBfcGFnZXMgPSByYW1fcGFnZXM7DQo+ID4gKyAgICBoZWFwX3BhZ2Vz
ID0gIXJlc2VydmVkX2hlYXAgPyByYW1fcGFnZXMgOiByZXNlcnZlZF9oZWFwX3BhZ2VzOw0KPiBJ
IG11c3Qgc2F5IHRoYXQgdGhlIHJldmVydGVkIGxvZ2ljIGlzIGhhcmRlciB0byByZWFkLiBUaGlz
IGlzIGEgbWF0dGVyIG9mIHRhc3RlDQo+IGJ1dA0KPiBwbGVhc2UgY29uc2lkZXIgdGhlIGZvbGxv
d2luZzoNCj4gaGVhcF9wYWdlcyA9IHJlc2VydmVkX2hlYXAgPyByZXNlcnZlZF9oZWFwX3BhZ2Vz
IDogcmFtX3BhZ2VzOw0KPiBUaGUgc2FtZSBhcHBsaWVzIHRvIC4uLg0KDQpTdXJlLCBJIHdpbGwg
dXNlIHRoZSB3YXkgeW91IHN1Z2dlc3RlZC4NCg0KPiANCj4gPiArDQo+ID4gICAgICBpZiAoIG9w
dF94ZW5oZWFwX21lZ2FieXRlcyApDQo+ID4gICAgICAgICAgeGVuaGVhcF9wYWdlcyA9IG9wdF94
ZW5oZWFwX21lZ2FieXRlcyA8PCAoMjAtUEFHRV9TSElGVCk7DQo+ID4gICAgICBlbHNlDQo+ID4g
QEAgLTc1NSwxNyArNzc5LDIxIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9tbSh2b2lkKQ0K
PiA+DQo+ID4gICAgICBkbw0KPiA+ICAgICAgew0KPiA+IC0gICAgICAgIGUgPSBjb25zaWRlcl9t
b2R1bGVzKHJhbV9zdGFydCwgcmFtX2VuZCwNCj4gPiArICAgICAgICBlID0gIXJlc2VydmVkX2hl
YXAgPw0KPiAuLi4gaGVyZS4NCg0KQW5kIGhlcmUgOikpDQoNCj4gDQo+ID4gKyAgICAgICAgICAg
IGNvbnNpZGVyX21vZHVsZXMocmFtX3N0YXJ0LCByYW1fZW5kLA0KPiA+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBmbl90b19wYWRkcih4ZW5oZWFwX3BhZ2VzKSwNCj4gPiAtICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAzMjw8MjAsIDApOw0KPiA+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDMyPDwyMCwgMCkgOg0KPiA+ICsgICAgICAgICAgICByZXNlcnZlZF9oZWFw
X2VuZDsNCj4gPiArDQo+ID4gICAgICAgICAgaWYgKCBlICkNCj4gPiAgICAgICAgICAgICAgYnJl
YWs7DQo+ID4NCj4gPiAgICAgICAgICB4ZW5oZWFwX3BhZ2VzID4+PSAxOw0KPiA+ICAgICAgfSB3
aGlsZSAoICFvcHRfeGVuaGVhcF9tZWdhYnl0ZXMgJiYgeGVuaGVhcF9wYWdlcyA+IDMyPDwoMjAt
DQo+IFBBR0VfU0hJRlQpICk7DQo+ID4NCj4gPiAtICAgIGlmICggISBlICkNCj4gPiAtICAgICAg
ICBwYW5pYygiTm90IG5vdCBlbm91Z2ggc3BhY2UgZm9yIHhlbmhlYXBcbiIpOw0KPiA+ICsgICAg
aWYgKCAhIGUgfHwNCj4gPiArICAgICAgICAgKCByZXNlcnZlZF9oZWFwICYmIHJlc2VydmVkX2hl
YXBfcGFnZXMgPCAzMjw8KDIwLVBBR0VfU0hJRlQpICkgKQ0KPiBJJ20gbm90IHN1cmUgYWJvdXQg
dGhpcy4gWW91IGFyZSBjaGVja2luZyBpZiB0aGUgc2l6ZSBvZiB0aGUgcmVzZXJ2ZWQgaGVhcCBp
cw0KPiBsZXNzIHRoYW4gMzJNQg0KPiBhbmQgdGhpcyBoYXMgbm90aGluZyB0byBkbyB3aXRoIHRo
ZSBmb2xsb3dpbmcgcGFuaWMgbWVzc2FnZS4NCg0KSG1tbSwgSSBhbSBub3Qgc3VyZSBpZiBJIHVu
ZGVyc3RhbmQgeW91ciBxdWVzdGlvbiBjb3JyZWN0bHksIHNvIGhlcmUgdGhlcmUNCmFyZSBhY3R1
YWxseSAyIGlzc3VlczoNCigxKSBUaGUgZG91YmxlIG5vdCBpbiB0aGUgcGFuaWMgbWVzc2FnZS4N
CigyKSBUaGUgc2l6ZSBvZiB4ZW5oZWFwLg0KDQpJZiB5b3UgY2hlY2sgdGhlIGNvbW1lbnQgb2Yg
dGhlIHhlbmhlYXAgY29uc3RyYWludHMgYWJvdmUsIG9uZSBydWxlIG9mIHRoZQ0KeGVuaGVhcCBz
aXplIGlzIGl0ICJtdXN0IGJlIGF0IGxlYXN0IDMyTSIuIElmIEkgYW0gbm90IG1pc3Rha2VuLCB3
ZSBuZWVkIHRvDQpmb2xsb3cgdGhlIHNhbWUgcnVsZSB3aXRoIHRoZSByZXNlcnZlZCBoZWFwIHNl
dHVwLCBzbyBoZXJlIHdlIG5lZWQgdG8gY2hlY2sNCnRoZSBzaXplIGFuZCBpZiA8MzJNIHRoZW4g
cGFuaWMuDQoNCj4gDQo+ID4gKyAgICAgICAgcGFuaWMoIk5vdCBlbm91Z2ggc3BhY2UgZm9yIHhl
bmhlYXBcbiIpOw0KPiA+DQo+ID4gICAgICBkb21oZWFwX3BhZ2VzID0gaGVhcF9wYWdlcyAtIHhl
bmhlYXBfcGFnZXM7DQo+ID4NCj4gPiBAQCAtODEwLDkgKzgzOCw5IEBAIHN0YXRpYyB2b2lkIF9f
aW5pdCBzZXR1cF9tbSh2b2lkKQ0KPiA+ICBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfbW0odm9p
ZCkNCj4gPiAgew0KPiA+ICAgICAgY29uc3Qgc3RydWN0IG1lbWluZm8gKmJhbmtzID0gJmJvb3Rp
bmZvLm1lbTsNCj4gPiAtICAgIHBhZGRyX3QgcmFtX3N0YXJ0ID0gfjA7DQo+ID4gLSAgICBwYWRk
cl90IHJhbV9lbmQgPSAwOw0KPiA+IC0gICAgcGFkZHJfdCByYW1fc2l6ZSA9IDA7DQo+ID4gKyAg
ICBwYWRkcl90IHJhbV9zdGFydCA9IH4wLCBiYW5rX3N0YXJ0ID0gfjA7DQo+ID4gKyAgICBwYWRk
cl90IHJhbV9lbmQgPSAwLCBiYW5rX2VuZCA9IDA7DQo+ID4gKyAgICBwYWRkcl90IHJhbV9zaXpl
ID0gMCwgYmFua19zaXplID0gMDsNCj4gPiAgICAgIHVuc2lnbmVkIGludCBpOw0KPiA+DQo+ID4g
ICAgICBpbml0X3BkeCgpOw0KPiA+IEBAIC04MjEsMTcgKzg0OSwzNiBAQCBzdGF0aWMgdm9pZCBf
X2luaXQgc2V0dXBfbW0odm9pZCkNCj4gPiAgICAgICAqIFdlIG5lZWQgc29tZSBtZW1vcnkgdG8g
YWxsb2NhdGUgdGhlIHBhZ2UtdGFibGVzIHVzZWQgZm9yIHRoZQ0KPiB4ZW5oZWFwDQo+ID4gICAg
ICAgKiBtYXBwaW5ncy4gQnV0IHNvbWUgcmVnaW9ucyBtYXkgY29udGFpbiBtZW1vcnkgYWxyZWFk
eSBhbGxvY2F0ZWQNCj4gPiAgICAgICAqIGZvciBvdGhlciB1c2VzIChlLmcuIG1vZHVsZXMsIHJl
c2VydmVkLW1lbW9yeS4uLikuDQo+ID4gLSAgICAgKg0KPiA+ICsgICAgICogSWYgcmVzZXJ2ZWQg
aGVhcCByZWdpb25zIGFyZSBwcm9wZXJseSBkZWZpbmVkLCAob25seSkgYWRkIHRoZXNlDQo+IHJl
Z2lvbnMNCj4gSG93IGNhbiB5b3Ugc2F5IGF0IHRoaXMgc3RhZ2Ugd2hldGhlciB0aGUgcmVzZXJ2
ZWQgaGVhcCByZWdpb25zIGFyZSBkZWZpbmVkDQo+IHByb3Blcmx5Pw0KDQpCZWNhdXNlIGlmIHRo
ZSByZXNlcnZlZCBoZWFwIHJlZ2lvbnMgYXJlIG5vdCBwcm9wZXJseSBkZWZpbmVkLCBpbiB0aGUg
ZGV2aWNlDQp0cmVlIHBhcnNpbmcgcGhhc2UgdGhlIGdsb2JhbCB2YXJpYWJsZSAicmVzZXJ2ZWRf
aGVhcCIgY2FuIG5ldmVyIGJlIHRydWUuDQoNCkRpZCBJIHVuZGVyc3RhbmQgeW91ciBxdWVzdGlv
biBjb3JyZWN0bHk/IE9yIG1heWJlIHdlIG5lZWQgdG8gY2hhbmdlIHRoZQ0Kd29yZGluZyBoZXJl
IGluIHRoZSBjb21tZW50Pw0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiA+ICsgICAg
ICogaW4gdGhlIGJvb3QgYWxsb2NhdG9yLg0KPiA+ICsgICAgICovDQo+ID4gKyAgICBpZiAoIHJl
c2VydmVkX2hlYXAgKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIGZvciAoIGkgPSAwIDsgaSA8
IGJvb3RpbmZvLnJlc2VydmVkX21lbS5ucl9iYW5rczsgaSsrICkNCj4gPiArICAgICAgICB7DQo+
ID4gKyAgICAgICAgICAgIGlmICggYm9vdGluZm8ucmVzZXJ2ZWRfbWVtLmJhbmtbaV0ueGVuX2hl
YXAgKQ0KPiA+ICsgICAgICAgICAgICB7DQo+ID4gKyAgICAgICAgICAgICAgICBiYW5rX3N0YXJ0
ID0gYm9vdGluZm8ucmVzZXJ2ZWRfbWVtLmJhbmtbaV0uc3RhcnQ7DQo+ID4gKyAgICAgICAgICAg
ICAgICBiYW5rX3NpemUgPSBib290aW5mby5yZXNlcnZlZF9tZW0uYmFua1tpXS5zaXplOw0KPiA+
ICsgICAgICAgICAgICAgICAgYmFua19lbmQgPSBiYW5rX3N0YXJ0ICsgYmFua19zaXplOw0KPiA+
ICsNCj4gPiArICAgICAgICAgICAgICAgIGluaXRfYm9vdF9wYWdlcyhiYW5rX3N0YXJ0LCBiYW5r
X2VuZCk7DQo+ID4gKyAgICAgICAgICAgIH0NCj4gPiArICAgICAgICB9DQo+ID4gKyAgICB9DQo+
ID4gKyAgICAvKg0KPiA+ICsgICAgICogTm8gcmVzZXJ2ZWQgaGVhcCByZWdpb25zOg0KPiA+ICAg
ICAgICogRm9yIHNpbXBsaWNpdHksIGFkZCBhbGwgdGhlIGZyZWUgcmVnaW9ucyBpbiB0aGUgYm9v
dCBhbGxvY2F0b3IuDQo+ID4gICAgICAgKi8NCj4gPiAtICAgIHBvcHVsYXRlX2Jvb3RfYWxsb2Nh
dG9yKCk7DQo+ID4gKyAgICBlbHNlDQo+ID4gKyAgICAgICAgcG9wdWxhdGVfYm9vdF9hbGxvY2F0
b3IoKTsNCj4gPg0KPiA+ICAgICAgdG90YWxfcGFnZXMgPSAwOw0KPiA+DQo+ID4gICAgICBmb3Ig
KCBpID0gMDsgaSA8IGJhbmtzLT5ucl9iYW5rczsgaSsrICkNCj4gPiAgICAgIHsNCj4gPiAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgbWVtYmFuayAqYmFuayA9ICZiYW5rcy0+YmFua1tpXTsNCj4gPiAt
ICAgICAgICBwYWRkcl90IGJhbmtfZW5kID0gYmFuay0+c3RhcnQgKyBiYW5rLT5zaXplOw0KPiA+
ICsgICAgICAgIGJhbmtfZW5kID0gYmFuay0+c3RhcnQgKyBiYW5rLT5zaXplOw0KPiA+DQo+ID4g
ICAgICAgICAgcmFtX3NpemUgPSByYW1fc2l6ZSArIGJhbmstPnNpemU7DQo+ID4gICAgICAgICAg
cmFtX3N0YXJ0ID0gbWluKHJhbV9zdGFydCwgYmFuay0+c3RhcnQpOw0KPiA+IC0tDQo+ID4gMi4x
Ny4xDQo+ID4NCj4gPg0KPiANCj4gfk1pY2hhbA0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 06:29:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 06:29:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394820.634374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSukh-00078W-Ku; Tue, 30 Aug 2022 06:29:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394820.634374; Tue, 30 Aug 2022 06:29:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSukh-00078P-HG; Tue, 30 Aug 2022 06:29:35 +0000
Received: by outflank-mailman (input) for mailman id 394820;
 Tue, 30 Aug 2022 06:29:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bSYc=ZC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oSukg-00078J-45
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 06:29:34 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2078.outbound.protection.outlook.com [40.107.93.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1b0f8548-282d-11ed-9250-1f966e50362f;
 Tue, 30 Aug 2022 08:29:31 +0200 (CEST)
Received: from DM6PR21CA0017.namprd21.prod.outlook.com (2603:10b6:5:174::27)
 by CH2PR12MB4039.namprd12.prod.outlook.com (2603:10b6:610:a8::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Tue, 30 Aug
 2022 06:29:28 +0000
Received: from DM6NAM11FT106.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:174:cafe::72) by DM6PR21CA0017.outlook.office365.com
 (2603:10b6:5:174::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.3 via Frontend
 Transport; Tue, 30 Aug 2022 06:29:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT106.mail.protection.outlook.com (10.13.172.229) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 06:29:28 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 30 Aug
 2022 01:29:27 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 30 Aug
 2022 01:29:19 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Tue, 30 Aug 2022 01:29:18 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b0f8548-282d-11ed-9250-1f966e50362f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n08m62TXfnmHVSNgg9yRb+K1lmukoIVJMid4vGdF8/pqdw4IGSz1/6gqo06LDKOhoqkar7uBfqDexl6cMbBjt6E8GlhHmR4PPTjqfuGYCn4abQ9Udwlgqxsl5YyiFIZbBllU9ZyEb9HreXiOZdFQXJ3QjcO6C0hKRK+Lx82Pw1MH0UguWGmI5wq1kT57HANmaWIfpmii0xL+KArZJ4u7gYRlOuu8Ii5H2KrC0jeGudpY+OU3WwCkIabK0jbOkJAsUPLiS6lyFuJfv+PIYYsF+tRj9oqFdQ9UU64aGAKzgQFhTksr+fYmRrISNcDLtdqxRd9lvmTNBVlm159Ao8cBOQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YyajryxF180DWmJgAewL5x7UrRMojQKX3SP65hVH3hw=;
 b=bP4PIJpG1lF2htqwUmeI+KtMvrh6QGjtBd+MahixrHj9Psr626MnRnJP+2wLc5+wrUHioXxWgJe5ptOaY5+cNWLUjBUCP7CNaORm8QonEF91iVaLMrhYGyX9m6ctZdErbUisZt3NSRu5hxBYce6lOU/1x8w92Xstfq5jAYqVG/OmaSs/xftRVINrj/pHyOIKCJSJUA+26Zz3V+V9JAKdXlhRsu9fVgWMiySRTd3vtPV+yrKh+xTJffbhmSKD10qwus+nC0HXA3w5S8eSf/SWqXr/FhH96FI93lcbSsvBEgCle0OUx/CJGuulnORmYEcUY+y9/QHdUQc0OGbTymgrgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YyajryxF180DWmJgAewL5x7UrRMojQKX3SP65hVH3hw=;
 b=StY5/PKXKK/Vs2O0GpDXW6XOa53nfe14eSfJQugA3Ounh5llIo59AW1d1w+I14iIOy0dGbnuj+L8A3nN6rrqQQQu9TP1QknA8p72ZTIlOX6BXVTfVIN1u2E55cXnIuKOXhRQ9HM/5ldT0JlBt/BDE5kbiUUGF/PueAT3w2Cudzk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <e02175e4-0930-012e-8e79-d4ac8d3be78b@amd.com>
Date: Tue, 30 Aug 2022 08:29:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.0
Subject: Re: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
To: Henry Wang <Henry.Wang@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei
 Chen <Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Penny Zheng" <Penny.Zheng@arm.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-2-Henry.Wang@arm.com>
 <af2f8888-7223-429e-cc7e-b0950f759608@amd.com>
 <AS8PR08MB7991A2A6EF808136FBF090F392729@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2208291745550.1134492@ubuntu-linux-20-04-desktop>
 <AS8PR08MB7991EC7FAD3D1EDBD379D9C892799@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <AS8PR08MB7991EC7FAD3D1EDBD379D9C892799@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0305d921-6358-496c-6d6f-08da8a50fda6
X-MS-TrafficTypeDiagnostic: CH2PR12MB4039:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZkrIM9sDihlOb7YLb7D5WGhBkNSYXRB5IvcBz1WVYMCt58MOvq5K1/Yb/4GPS8u4JqIOwliFLdXatXLuHyFDN9TNjSj5tPqNu70Hl6Ts4RE4bQ8zKzEq9SBbQAKYUCMDmt11Kw9yGOBgR/kPIQeGLCVNIoUZWIET6hJZAr0C1qGc9GmiINerD6SXzJMWblfHp2iQXQ8E/uBF7lm12kjM6pjHXcPMISFlB9NdsS91zee7NUxAd4YYkIgnaOJHliAHOJpnIk8FoIevuDIP2Alxlz+3MDkVgOlYJA7c+op3zVyH0s1GjaJJ0eCMatd4xol7SJGy/pT8DMgfCrJxkR82THXzSXdmcrx/QV4SFEokGZNx21B8LmAjqQopr7Ic1/3gpeA7CcFQ0Wnv5Q+SYBL7AXY2up3MZZqVf8RyUCOuf3rtsnRYAi8R6zalOQL/4ZH4Bz3Wzp+Ergve6YKi/rZxM1JaDhXHn3E/wjWPzLM4PPNxULCLfLjuZDHZQEjIPt5A6+jN57aEn0lVyxbfr9FXXfAWicG3mlmqGsBPV7IQr0rRzgBZnF0V4EHOx2fjSRiuQlQoqmKmYx9/HAMAgMDWUn/2CPDxkGTdRI6eOmoVQGie1e5K8IaSIgSp0XHpc5fULKygyv1X9KpY+fHiYv9XWCpA6Yh0uAy+EufzrhfO5SsLzrBO2uUdPTFcnBL+YdUz6VIGJ3q4A9iuWKN7iudHztQxwwHdEFtG4v32zswpHqsWlQODyIS3h4oBAM61sA9sxmzNDERCr6HcG3MQf9MHLpJ+OIfquyz+tMvl2aR36XGwoMU4vmSs9lNYep/+TccHl20R8nWSGGhwWblOs9+rYw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(39860400002)(346002)(376002)(46966006)(40470700004)(36840700001)(5660300002)(110136005)(31686004)(8936002)(8676002)(54906003)(4326008)(2616005)(47076005)(426003)(36860700001)(70586007)(316002)(36756003)(16576012)(2906002)(44832011)(31696002)(478600001)(41300700001)(86362001)(26005)(53546011)(82310400005)(70206006)(81166007)(40480700001)(83380400001)(356005)(186003)(336012)(82740400003)(40460700003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 06:29:28.2968
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0305d921-6358-496c-6d6f-08da8a50fda6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT106.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4039

Hi Henry,

On 30/08/2022 02:58, Henry Wang wrote:
> 
> Hi Stefano and Michal,
> 
>> -----Original Message-----
>> From: Stefano Stabellini <sstabellini@kernel.org>
>> Sent: Tuesday, August 30, 2022 8:47 AM
>> To: Henry Wang <Henry.Wang@arm.com>
>> Cc: Michal Orzel <michal.orzel@amd.com>; xen-devel@lists.xenproject.org;
>> Stefano Stabellini <sstabellini@kernel.org>; Julien Grall <julien@xen.org>;
>> Bertrand Marquis <Bertrand.Marquis@arm.com>; Wei Chen
>> <Wei.Chen@arm.com>; Volodymyr Babchuk
>> <Volodymyr_Babchuk@epam.com>; Penny Zheng <Penny.Zheng@arm.com>
>> Subject: RE: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
>>
>> On Thu, 25 Aug 2022, Henry Wang wrote:
>>>>>                                         const char *name,
>>>>>                                         u32 address_cells, u32 size_cells)
>>>>>  {
>>>>> @@ -301,16 +303,40 @@ static void __init process_chosen_node(const
>>>> void *fdt, int node,
>>>>>      paddr_t start, end;
>>>>>      int len;
>>>>>
>>>>> +    if ( fdt_get_property(fdt, node, "xen,static-mem", NULL) )
>>>>> +    {
>>>>> +        u32 address_cells = device_tree_get_u32(fdt, node,
>>>>> +                                                "#xen,static-mem-address-cells",
>>>>> +                                                0);
>>>>> +        u32 size_cells = device_tree_get_u32(fdt, node,
>>>>> +                                             "#xen,static-mem-size-cells", 0);
>>>>> +        int rc;
>>>>> +
>>>>> +        printk("Checking for reserved heap in /chosen\n");
>>>>> +        if ( address_cells < 1 || size_cells < 1 )
>>>> address_cells and size_cells cannot be negative so you could just check if
>>>> there are 0.
>>>
>>> In bootfdt.c function device_tree_get_meminfo(), the address and size cells
>>> are checked using <1 instead of =0. I agree they cannot be negative, but I
>> am
>>> not very sure if there were other reasons to do the "<1" check in
>>> device_tree_get_meminfo(). Are you fine with we don't keep the
>> consistency
>>> here?
>>
>> I would keep the < 1 check but it doesn't make much difference either
>> way
> 
> I also would prefer to keep these two places consistent and I agree Michal is
> making a good point.
I'm ok with that so let's keep the consistency.

> 
> Kind regards,
> Henry
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 07:11:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 07:11:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394829.634385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSvOp-0003mF-PC; Tue, 30 Aug 2022 07:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394829.634385; Tue, 30 Aug 2022 07:11:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSvOp-0003m8-LC; Tue, 30 Aug 2022 07:11:03 +0000
Received: by outflank-mailman (input) for mailman id 394829;
 Tue, 30 Aug 2022 07:11:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bSYc=ZC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oSvOo-0003lz-Ci
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 07:11:02 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2044.outbound.protection.outlook.com [40.107.223.44])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e604d2cf-2832-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 09:11:00 +0200 (CEST)
Received: from DM6PR10CA0014.namprd10.prod.outlook.com (2603:10b6:5:60::27) by
 MN0PR12MB6077.namprd12.prod.outlook.com (2603:10b6:208:3cb::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.19; Tue, 30 Aug 2022 07:10:56 +0000
Received: from DM6NAM11FT026.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:60:cafe::5e) by DM6PR10CA0014.outlook.office365.com
 (2603:10b6:5:60::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Tue, 30 Aug 2022 07:10:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT026.mail.protection.outlook.com (10.13.172.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 07:10:56 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 30 Aug
 2022 02:10:53 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 30 Aug
 2022 02:10:42 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Tue, 30 Aug 2022 02:10:41 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e604d2cf-2832-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VAlOeHbF62y4YAbcOZuMngzitiiCgtXAd0bEGhvixZZtI7U1i+fHnXlngeIqzVunlaFiM2me457X3R1WUGqk95Luw0UgoZuvaPOXt0jlVf8H/TmnDud4fWf6icQPilRccOkMKyG+AznFlgKH0swnr0cS/HnTP97+3tWaCmCXh26mu7zEbHth8WFNiZe/sMnGWE2LT8plW8TyF6RHXaz/c79HuK4Or+1wATmmuYKIRI5IYCVjdQsu3zXFdfmDcM5JR7ZTt0zgfZkRw7f+qlDf3aWKFT8gchVxck0jpu3WqCYkwckN4ztomGeDbn5uUBYd23BcquZ3GVOorL+lSiyyNw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ECVxWzbQf30V0mfSPDDiyEcG2uJMSylwj6gohYM28v0=;
 b=FURrR3sgpwVks212SVAW1ImRxSisQsHOOvMb52F1jmyzUz0z4bSrHMlMU57tk76/6W+PNNcQSCLyND2mnpsKTSgFAKaXKy1dLYkgj08R7PXiQ//HXntXA5TlYrvsLQr1kC/wzLqvpGRLCg4sbDy6DkAdm7G7Rn+S9w02hGtNecfmZ6ALncAdPN/o6UZSFXNYh/bfGcwWUk/T7r6jooU+8xbUfbh6/AJi9ro/CyfZdd+5bRwYtd84tKiCLc+bjKIsmdGt7/juKkoo8rQI7kMyE4jQDFDU+AeAhO7oNo3KS7beWpTwCm31/sVYt8qelweu//oDV2JbCQAjOCO+oNGIVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ECVxWzbQf30V0mfSPDDiyEcG2uJMSylwj6gohYM28v0=;
 b=WQpf9RQdMLGe2d5aFkzSJ0iz1qVwjFbrzBCkiSHNZN9mP26f+A8eR7Mw8XJRA5o4xpD17uObnw9UYkcGvkr+AEELomhZe7QIy1vwziu4lp5urw58JBLl9wZs2QXlm7j7iYKfXIMB7fCAxQ+YWiRFvGyMdMzi/StTFvQxDMX3HRw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <9dd32db7-19af-a88c-b09b-fe94828cab93@amd.com>
Date: Tue, 30 Aug 2022 09:10:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.0
Subject: Re: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
To: Henry Wang <Henry.Wang@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei
 Chen <Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Penny Zheng" <Penny.Zheng@arm.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-2-Henry.Wang@arm.com>
 <af2f8888-7223-429e-cc7e-b0950f759608@amd.com>
 <AS8PR08MB7991A2A6EF808136FBF090F392729@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2208291745550.1134492@ubuntu-linux-20-04-desktop>
 <AS8PR08MB7991EC7FAD3D1EDBD379D9C892799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <e02175e4-0930-012e-8e79-d4ac8d3be78b@amd.com>
In-Reply-To: <e02175e4-0930-012e-8e79-d4ac8d3be78b@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 03776931-2e5c-4b4f-c849-08da8a56c8bd
X-MS-TrafficTypeDiagnostic: MN0PR12MB6077:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uhiwSpzul4lhNUQs6SQIxmhvWm+zHwlJN4qCGGlfQVIN3MuBvRcLMtUM8TG8BjdXlaiyx+JnD/xf8VvUsnHJoRqdTI089eafIEkPb4TKjqaNSHjbSpx8MIaZttANatlmBzwZeID208muS1PJrnp6rwRUZ0wz9vrsp9vXThdAOyqBsYGhvn/z2F1jpc8PvwH2vZKRxq6vWjU6E8uptgbOGCzDrJvOg52XjvKEXBx8qqcXWmDSj9hZpGaWBYJXtzKLn+eyCf+rVE3T32JuXIRJPf8Rwq6quoBJOmtfrfGnZbTCJu9ZOBnaGapmaSVXglL7I4QFidOnYltWd7mbjc4XPtsiqJljO/Nc0xntmjy8Cl0Qga5vm7IPuZqjuEPCMGHF0Zh3dusViMjMSjyfgaART03cAI36aghBxENDx/mmejv0iZpV7MLkxklnau0ATNpGY3MeHtlPRQUIlrImnzxhLbCWHXNUWS9wToYhelUQn6CQq9WO8/nP4cISYS3Gn0fHLEmUo2KMJMlyrhEb12UIDEqKg1QznglBkVoQcJVaWLfKFsrituzpM6ePlBTyoJ/8Dd6g6HpmEpLPsydD/RhO9RQEqygJImUL+0S4uE9t75aSmtF5d+m76AJ7R4cOrktxR+Ev4nwQkJP7KmkvBDGCN/yUrwNkkHyrzTvnfW4FGpFBisSjVLTi/PfokjKyaqinXPQVNtPB+fD4l1Mgfyj6wGuvNRFTWKm+6t80EB3HKB/SgNwc4ijM0v3IeT9Nv5mjiLOmkITlKmRd/eF2Gl6c1jJzlkwzVBorViW30T7xGzw/PWMBHCbGni6wL9UeHVZLId3s+0Lpyo2QTRf3AKD3rQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(346002)(396003)(376002)(46966006)(40470700004)(36840700001)(31686004)(356005)(36860700001)(81166007)(36756003)(82740400003)(110136005)(4326008)(16576012)(70206006)(44832011)(5660300002)(70586007)(54906003)(82310400005)(8936002)(8676002)(83380400001)(40460700003)(31696002)(26005)(316002)(336012)(40480700001)(186003)(53546011)(2906002)(2616005)(478600001)(426003)(47076005)(41300700001)(86362001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 07:10:56.4954
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 03776931-2e5c-4b4f-c849-08da8a56c8bd
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT026.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6077

On 30/08/2022 08:29, Michal Orzel wrote:
> Hi Henry,
> 
> On 30/08/2022 02:58, Henry Wang wrote:
>>
>> Hi Stefano and Michal,
>>
>>> -----Original Message-----
>>> From: Stefano Stabellini <sstabellini@kernel.org>
>>> Sent: Tuesday, August 30, 2022 8:47 AM
>>> To: Henry Wang <Henry.Wang@arm.com>
>>> Cc: Michal Orzel <michal.orzel@amd.com>; xen-devel@lists.xenproject.org;
>>> Stefano Stabellini <sstabellini@kernel.org>; Julien Grall <julien@xen.org>;
>>> Bertrand Marquis <Bertrand.Marquis@arm.com>; Wei Chen
>>> <Wei.Chen@arm.com>; Volodymyr Babchuk
>>> <Volodymyr_Babchuk@epam.com>; Penny Zheng <Penny.Zheng@arm.com>
>>> Subject: RE: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
>>>
>>> On Thu, 25 Aug 2022, Henry Wang wrote:
>>>>>>                                         const char *name,
>>>>>>                                         u32 address_cells, u32 size_cells)
>>>>>>  {
>>>>>> @@ -301,16 +303,40 @@ static void __init process_chosen_node(const
>>>>> void *fdt, int node,
>>>>>>      paddr_t start, end;
>>>>>>      int len;
>>>>>>
>>>>>> +    if ( fdt_get_property(fdt, node, "xen,static-mem", NULL) )
>>>>>> +    {
>>>>>> +        u32 address_cells = device_tree_get_u32(fdt, node,
>>>>>> +                                                "#xen,static-mem-address-cells",
>>>>>> +                                                0);
>>>>>> +        u32 size_cells = device_tree_get_u32(fdt, node,
>>>>>> +                                             "#xen,static-mem-size-cells", 0);
>>>>>> +        int rc;
>>>>>> +
>>>>>> +        printk("Checking for reserved heap in /chosen\n");
>>>>>> +        if ( address_cells < 1 || size_cells < 1 )
>>>>> address_cells and size_cells cannot be negative so you could just check if
>>>>> there are 0.
>>>>
>>>> In bootfdt.c function device_tree_get_meminfo(), the address and size cells
>>>> are checked using <1 instead of =0. I agree they cannot be negative, but I
>>> am
>>>> not very sure if there were other reasons to do the "<1" check in
>>>> device_tree_get_meminfo(). Are you fine with we don't keep the
>>> consistency
>>>> here?
>>>
>>> I would keep the < 1 check but it doesn't make much difference either
>>> way
>>
>> I also would prefer to keep these two places consistent and I agree Michal is
>> making a good point.
> I'm ok with that so let's keep the consistency.
Actually, why do we want to duplicate exactly the same check in process_chosen_node that is already
present in device_tree_get_meminfo? There is no need for that so just remove it from process_chosen_node.

> 
>>
>> Kind regards,
>> Henry
>>
> 
> ~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 07:19:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 07:19:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394835.634396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSvXF-0004SL-KO; Tue, 30 Aug 2022 07:19:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394835.634396; Tue, 30 Aug 2022 07:19:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSvXF-0004SE-Gk; Tue, 30 Aug 2022 07:19:45 +0000
Received: by outflank-mailman (input) for mailman id 394835;
 Tue, 30 Aug 2022 07:19:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bSYc=ZC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oSvXD-0004S8-Pt
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 07:19:43 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2082.outbound.protection.outlook.com [40.107.94.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1dd53444-2834-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 09:19:42 +0200 (CEST)
Received: from DM6PR02CA0139.namprd02.prod.outlook.com (2603:10b6:5:332::6) by
 MN0PR12MB6079.namprd12.prod.outlook.com (2603:10b6:208:3c9::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Tue, 30 Aug
 2022 07:19:38 +0000
Received: from DM6NAM11FT078.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:332:cafe::92) by DM6PR02CA0139.outlook.office365.com
 (2603:10b6:5:332::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Tue, 30 Aug 2022 07:19:38 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT078.mail.protection.outlook.com (10.13.173.183) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 07:19:38 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 30 Aug
 2022 02:19:37 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Tue, 30 Aug 2022 02:19:36 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1dd53444-2834-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RX6TB4n6IQuHCjgmgoq1EoDiW8QjYZIaaTDuhc4gGsPlTTEqed8SLOYlTTPU7MtKxNTOGJq6N/PdROnemW7F/zb3EYdZzk8t93Oyh99ZcfkbylvevRDGSmCe38/Gl/1RKTnXagR8LziKUOQ2WwIexg+kJmRa3AalJNuSrwcWRP22dh5Y5FEJzJRnHNm3ogjeTBrycj2EuzOHIgEJyE+9LHfOFi5u7F7bWCdqXLuC0E1JIzBivxFDtDkCwvFAfTiQZlTFNKm4OANZlgzqEQaOquzI5KrZY4VB9jgFo8AIM3vbW0WCb6qcFxduPx+ujTba+q3Jk7B6mWSvcCoE3PKH+g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+s79t06qftNBONqpmUuRjtwq3E7kANLOmTWqdqpg+Ko=;
 b=mJW2v2mdribHouIU23+JEel6By5pvk4SOj9miKgJziZQR/+/zOt4xFovsi3YIX+XGtBFl47G4eo4EsxrbLxU/Y3LdW3u5EXM9Mq5leqp2TsvYBhI2lhNR70aVITu6Jt8XQtz6SmlrZyXta+Bkt8CMvEi8zzH0z8JUNGEi+mtb3sBbqQzLcPyyUzNDE224Pn3ParQDwKvyCVPSBWTlPiIGg6eRAue6Lsm9pkv+pdxBA5taEGckC9Px2NPeKwGkyRb7qxAK1JNRvuNtgpYSguT18relUo+kYo8TmJ/CQDBYw8I/EYEi/X/b9axttjVc2/MeLkoKfRwzNv9TDEG0lVO+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+s79t06qftNBONqpmUuRjtwq3E7kANLOmTWqdqpg+Ko=;
 b=1c8ThOBTnZx/sA2nEsZpVqqO5ssYJ5mzyYucJjpuXPxX68U3pzQ61FCUQHifdhaoYkIAQk0I4HCjqhCG92yaxwSoeWoRoj+mvZpcCqmWKcWU0Lpmepvjjd13H0IGyhlbsU66as1ueaKZ2LFqK3LoPjx9i4zo5EcRFgUZnyH+RiM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
Date: Tue, 30 Aug 2022 09:19:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.0
Subject: Re: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
 <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7036ffdf-3bd7-40b3-3208-08da8a57ff9d
X-MS-TrafficTypeDiagnostic: MN0PR12MB6079:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2EfArdcIbccRGSxVp8G913+fsbeYCXF95TAL5bfhzLB+6BODY9bhnEiuMtB8s1E7eMq5G8aFTELHPwiUJMeuGWV+UoHQ0ZssWK7KvjZJdD1eh08AU1yvbYhBvYTFYm94mEax1PqtmxEmTJ3kZLByuFWDE0zBb9LwQYEd0NYOuhQv01mfclXGuAa6+XljuiRKPBtIBQCJGbZhvNqV8U4OjmMH/lsGUZNoMPXJpCEJSZYXmVK/eBHhV8iij3/tSUS1Agk4G7OmMAcJzFY2DVcTjYpAygPSOZqmwh/SvE2I2XNAO8BpTd5s9SfOVdFVIwSQ2y7G1rFvvuuwB29qsp/szhif9e7SUkF8Ea8nMn/2V6ks9z6kTxKhGSRJOrxxHV7nmNZH2pYXoWvv35BGdLswpHqGIMxWRJc5lCiO/WH0tB5fF86ejDQ1RQqyE9Zc8IcL7p+hHP8sfLc+FRaKatMGN+y4K6mLTQkghn8OawoChwV04aSdq63fuf+WmfGG6yW64yPyWPgxZcjoUVwp5yYHiHp+Cdp2xSZsXjn4UeujXCX14MFMkkh5A21yhs7lagSEoWaZAUKICQGhAnbGk5Uyl0deEBd1LpYTb+uqu1ckS2cNqJA583CHuIapPRrtBwOmyFl7jWNdVZUZHeZZHRWZun7gQhgz2ZUlSmYBBS6Ml03rSZz1poPBnoijrYPhT83eg6vJphvvi2gmTdfi5QrHG19OG+zYx637ttAQPmAe7odU6wkM1xCWli3mmnbcBbOkK4IOdlL9twERWrSsKzthlXlyrC9iw2xHWfUDz4CHqgw5GInjiEz5+kvizMlHhctmFtvu9zZ6Pf8mAbDBU6OYVA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(136003)(376002)(346002)(40470700004)(46966006)(36840700001)(478600001)(16576012)(70206006)(70586007)(110136005)(54906003)(2906002)(31696002)(81166007)(31686004)(316002)(82740400003)(356005)(86362001)(2616005)(36756003)(83380400001)(186003)(53546011)(40460700003)(426003)(41300700001)(336012)(47076005)(26005)(8676002)(4326008)(5660300002)(82310400005)(40480700001)(36860700001)(8936002)(44832011)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 07:19:38.0532
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7036ffdf-3bd7-40b3-3208-08da8a57ff9d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT078.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6079

Hi Henry,

On 30/08/2022 08:11, Henry Wang wrote:
> 
> Hi Michal,
> 
> Sorry about the late reply - I had a couple of days off. Thank you very
> much for the review! I will add my reply and answer some of your
> questions below.
> 
>> -----Original Message-----
>> From: Michal Orzel <michal.orzel@amd.com>
>> Subject: Re: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and
>> heap allocator
>>
>>> This commit firstly adds a global variable `reserved_heap`.
>>> This newly introduced global variable is set at the device tree
>>> parsing time if the reserved heap ranges are defined in the device
>>> tree chosen node.
>>>
>> Did you consider putting reserved_heap into bootinfo structure?
> 
> Actually I did, but I saw current bootinfo only contains some structs so
> I was not sure if this is the preferred way, but since you are raising this
> question, I will follow this method in v2.
This is what I think would be better but maintainers will have a decisive vote.

> 
>> It would help to avoid introducing new global variables that are only used
>> in places making use of the bootinfo anyway.
> 
> Ack.
> 
>>
>>> +        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
>>> +        {
>>> +            if ( bootinfo.reserved_mem.bank[i].xen_heap )
>>> +            {
>>> +                bank_start = bootinfo.reserved_mem.bank[i].start;
>>> +                bank_size = bootinfo.reserved_mem.bank[i].size;
>>> +                bank_end = bank_start + bank_size;
>>> +
>>> +                reserved_heap_size += bank_size;
>>> +                reserved_heap_start = min(reserved_heap_start, bank_start);
>> You do not need reserved_heap_start as you do not use it at any place later
>> on.
>> In your current implementation you just need reserved_heap_size and
>> reserved_heap_end.
> 
> Good point, thank you and I will remove in v2.
> 
>>
>>>      /*
>>>       * If the user has not requested otherwise via the command line
>>>       * then locate the xenheap using these constraints:
>>> @@ -743,7 +766,8 @@ static void __init setup_mm(void)
>>>       * We try to allocate the largest xenheap possible within these
>>>       * constraints.
>>>       */
>>> -    heap_pages = ram_pages;
>>> +    heap_pages = !reserved_heap ? ram_pages : reserved_heap_pages;
>> I must say that the reverted logic is harder to read. This is a matter of taste
>> but
>> please consider the following:
>> heap_pages = reserved_heap ? reserved_heap_pages : ram_pages;
>> The same applies to ...
> 
> Sure, I will use the way you suggested.
> 
>>
>>> +
>>>      if ( opt_xenheap_megabytes )
>>>          xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
>>>      else
>>> @@ -755,17 +779,21 @@ static void __init setup_mm(void)
>>>
>>>      do
>>>      {
>>> -        e = consider_modules(ram_start, ram_end,
>>> +        e = !reserved_heap ?
>> ... here.
> 
> And here :))
> 
>>
>>> +            consider_modules(ram_start, ram_end,
>>>                               pfn_to_paddr(xenheap_pages),
>>> -                             32<<20, 0);
>>> +                             32<<20, 0) :
>>> +            reserved_heap_end;
>>> +
>>>          if ( e )
>>>              break;
>>>
>>>          xenheap_pages >>= 1;
>>>      } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-
>> PAGE_SHIFT) );
>>>
>>> -    if ( ! e )
>>> -        panic("Not not enough space for xenheap\n");
>>> +    if ( ! e ||
>>> +         ( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )
>> I'm not sure about this. You are checking if the size of the reserved heap is
>> less than 32MB
>> and this has nothing to do with the following panic message.
> 
> Hmmm, I am not sure if I understand your question correctly, so here there
> are actually 2 issues:
> (1) The double not in the panic message.
> (2) The size of xenheap.
> 
> If you check the comment of the xenheap constraints above, one rule of the
> xenheap size is it "must be at least 32M". If I am not mistaken, we need to
> follow the same rule with the reserved heap setup, so here we need to check
> the size and if <32M then panic.
This is totally fine. What I mean is that the check you introduced does not correspond
to the panic message below. In case of reserved heap, its size is selected by the user.
"Not enough space for xenheap" means that there is not enough space to be reserved for heap,
meaning its size is too large. But your check is about size being too small.

> 
>>
>>> +        panic("Not enough space for xenheap\n");
>>>
>>>      domheap_pages = heap_pages - xenheap_pages;
>>>
>>> @@ -810,9 +838,9 @@ static void __init setup_mm(void)
>>>  static void __init setup_mm(void)
>>>  {
>>>      const struct meminfo *banks = &bootinfo.mem;
>>> -    paddr_t ram_start = ~0;
>>> -    paddr_t ram_end = 0;
>>> -    paddr_t ram_size = 0;
>>> +    paddr_t ram_start = ~0, bank_start = ~0;
>>> +    paddr_t ram_end = 0, bank_end = 0;
>>> +    paddr_t ram_size = 0, bank_size = 0;
>>>      unsigned int i;
>>>
>>>      init_pdx();
>>> @@ -821,17 +849,36 @@ static void __init setup_mm(void)
>>>       * We need some memory to allocate the page-tables used for the
>> xenheap
>>>       * mappings. But some regions may contain memory already allocated
>>>       * for other uses (e.g. modules, reserved-memory...).
>>> -     *
>>> +     * If reserved heap regions are properly defined, (only) add these
>> regions
>> How can you say at this stage whether the reserved heap regions are defined
>> properly?
> 
> Because if the reserved heap regions are not properly defined, in the device
> tree parsing phase the global variable "reserved_heap" can never be true.
> 
> Did I understand your question correctly? Or maybe we need to change the
> wording here in the comment?

FWICS, reserved_heap will be set to true even if a user describes an empty region
for reserved heap. This cannot be consider a properly defined region for a heap.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 07:22:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 07:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394841.634407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSvZe-0005o8-2R; Tue, 30 Aug 2022 07:22:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394841.634407; Tue, 30 Aug 2022 07:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSvZd-0005o1-VJ; Tue, 30 Aug 2022 07:22:13 +0000
Received: by outflank-mailman (input) for mailman id 394841;
 Tue, 30 Aug 2022 07:22:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSvZc-0005ns-NR
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 07:22:12 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80050.outbound.protection.outlook.com [40.107.8.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7590ab7e-2834-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 09:22:10 +0200 (CEST)
Received: from AM6P193CA0037.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::14)
 by AM0PR08MB5026.eurprd08.prod.outlook.com (2603:10a6:208:158::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.19; Tue, 30 Aug
 2022 07:22:06 +0000
Received: from VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8e:cafe::d0) by AM6P193CA0037.outlook.office365.com
 (2603:10a6:209:8e::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Tue, 30 Aug 2022 07:22:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT040.mail.protection.outlook.com (10.152.18.210) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 07:22:06 +0000
Received: ("Tessian outbound 63c09d5d38ac:v123");
 Tue, 30 Aug 2022 07:22:06 +0000
Received: from 79bcc75e3737.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3E889365-5C49-483A-A6D9-8935C4D8A943.1; 
 Tue, 30 Aug 2022 07:22:05 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 79bcc75e3737.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 07:22:05 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM6PR08MB5111.eurprd08.prod.outlook.com (2603:10a6:20b:e9::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.19; Tue, 30 Aug
 2022 07:21:51 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 07:21:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7590ab7e-2834-11ed-a60c-1f1ba7de4fb0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Kay72jjnYjmXcITWQAate6tMiBezKUF9BEKoDxyvxOTR2Kf9KKxoXf8n6RjLIBW+g0/haQYoMxUiHpMVUyIQsJWWhNNaW0KidfNktA2H2YfjZIqvbsQf/Yld6OHbIIeHgDrt2OApZ6R05FI5owu6tKkdbEK3q7k02lc7j3aD5xGat+/aLLwe7ivRlK3l34sbjO0Lq3ejiSTT1Fx8LJI9n9IvHuO/JtL9rGy0vhMmVoR/Cu7Pov0AHeJ4skhnaXqqtXcN3MBVgM3nmk60DD0dAhuYJkk6w5La5o4bEA9gUL/T7tdb1GQOJ36xsE5bN3+zdo3wI18Ir846+HoQkfO8Ow==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lNP6QTHI8SWLwulHpMP8dT2bA+gEKV1LB+/9qIpcgPI=;
 b=Md6aZbS6+NcnHkjJ1MbmXg8bEBzM1z7Ii+YY64BEflGr0xRQ+//0HvSI42a53Pw4Y6ZYWZZ4f1EmVKfWl9/0TVdokD8iM9biapcdb7Dqo/SblvqhkeQMpS2juNV7LjIL+seEFiAXS87ais1xUPikkerPfKJkRk42CW+RuQOMn8xrf5xi5bWe5Gi8+mu4LGEZZ5WapGIMT2DX33QQa7YKiOFInnHR6GDNOh/e5C3u0tLUW+zfBOCiXuocF3XmDhQxja6T+H7uMZjivlC3O9d6tkAsh8kOtRSuz9Kd3S1eNmicSUoiPbARQB0DxPI/6/XtdWqOasAK/iNqyP3so92nkw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lNP6QTHI8SWLwulHpMP8dT2bA+gEKV1LB+/9qIpcgPI=;
 b=K2dxRtwMjQ4OHoUTTIvWLw3pCqhvEKcO4juFwESYWJacG0/klvDANHBWVEjc2xz9Xpo8ncGmHqRWlWn347N4V2ogSbqcsS0chd0+GKxrs++lPKJzrl3GzK3+GdUgyCA8auIILoZL5caluPz/NloTJaH+5MpCK83/Ou7+J1NbNCE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VkdxNRzvXDVHQwF7SD0iT97njGNUOrIMqH/jLybWEsb8QnNDeGi8iPBT8Ao8I59WeYlNSOd7MznBnyjt/Yc8MavAToWrP0tsqS06PlA1EdQ09kFsXKBCj2sh5J9Sx0qbdnqj89lH0bRScPVya1ufRZ6YVVmOy2itH/eJdV03MUl1NdOJCes7cUC+W2NcpkNeRhqYNuUYxqAL2sxmh1gsud7sZ3gKahIk3xxuTZEVXaGQfLyRiTm3XFqImg4OhwXgxLAlaa13mfx8q+n0bfiGrUjvP83LEKMsMlZ2U+CEyX/CFqHnVsQ/YRI+NZsYAW3YX/sHEXXID20EqZFJWgaBTA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lNP6QTHI8SWLwulHpMP8dT2bA+gEKV1LB+/9qIpcgPI=;
 b=n2on0P3A61HIRQJbPZXdoGeYdCEPrTzj2BAGZ3WIKceenJp+sjNY2ndEOt45v+bIwhrP9+qwN1r7nTplgRsARGGkSO1U3pYxyafxFc30tlgMj61NLWXHsqPfn24CfOpt7pMSCkYynS24CtZwyfEifcaYrgCg5LCSYELoJRuUBwjwPndf/3zErUTwuQ7MPpOBEUHABvEd2h/rzyYydFzRR3QLm31kxZ0V1d6D7L4hpRhfJw0qNqJJpGTFzdu8BYaM2kaFwBKyMrrJrMEX2FulbIRGZhG/d0ziibv1i1NIJDp1Nu38yRykRrfb018g5IW25ox27dUEL0aAgvajyOwmHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lNP6QTHI8SWLwulHpMP8dT2bA+gEKV1LB+/9qIpcgPI=;
 b=K2dxRtwMjQ4OHoUTTIvWLw3pCqhvEKcO4juFwESYWJacG0/klvDANHBWVEjc2xz9Xpo8ncGmHqRWlWn347N4V2ogSbqcsS0chd0+GKxrs++lPKJzrl3GzK3+GdUgyCA8auIILoZL5caluPz/NloTJaH+5MpCK83/Ou7+J1NbNCE=
From: Henry Wang <Henry.Wang@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Penny
 Zheng <Penny.Zheng@arm.com>
Subject: RE: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Thread-Topic: [PATCH 1/2] docs, xen/arm: Introduce reserved heap memory
Thread-Index:
 AQHYt4ueuuTQX+2f5E69518db+C55q2+ENkAgAC6AOCAB9oWAIAAAi5wgABddICAAAuRgIAAAO4A
Date: Tue, 30 Aug 2022 07:21:51 +0000
Message-ID:
 <AS8PR08MB79918F9EB171110585B198C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-2-Henry.Wang@arm.com>
 <af2f8888-7223-429e-cc7e-b0950f759608@amd.com>
 <AS8PR08MB7991A2A6EF808136FBF090F392729@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2208291745550.1134492@ubuntu-linux-20-04-desktop>
 <AS8PR08MB7991EC7FAD3D1EDBD379D9C892799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <e02175e4-0930-012e-8e79-d4ac8d3be78b@amd.com>
 <9dd32db7-19af-a88c-b09b-fe94828cab93@amd.com>
In-Reply-To: <9dd32db7-19af-a88c-b09b-fe94828cab93@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 477C56B2B7F36041A5D1A932B876781F.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 4dd9150c-5d04-4201-68ea-08da8a585808
x-ms-traffictypediagnostic:
	AM6PR08MB5111:EE_|VE1EUR03FT040:EE_|AM0PR08MB5026:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 J7qFDzFT9x9fgNOcBDkglHqzJDIxgg1GGcT1BOMbyr/IyiDTv1HAiAo8kbEpxELvCOWQDheVOWqg1HZvBr7CBB0mdKFF15f3Wifjiqj4/qXl2LErtxlejzXqDuJoQzoLCq4QNAwvvbm/Adi9h3I0+s/nPjVMRwT1T0BlLQ1JNj+2oY2UQPJ/Om+yF6u1Bp9LYHSlmteTXEXkbiimUK8SWYHfpt5yWUrMrV9ShiJMdPOfE/U2e008q/sT4kLOmDg7OHFwlhV8fZkrxDAa5tyda1upNq73rHh4cBh3veeCNuws7JrqJcvE0M0WxjggWWvlpod9Evik6iRxAlOykHzrDOAdh6AcZYg/+QAz+vmm369lPB9ADFz635Wf+2MzcfpJ6LrOozVqwkE5u0njv13flVh1vKka3SUdX4TyO71nuzyF+S0iqfzMlGNY4od3sb3HrgsiKC3rd5djCTEgICXHdABobUb7ZN3tAuLLXBBmmjPKipE2163AmBDtbYcbs7O0qT5ebbhVEbufvKopAyHGq116Vjmo1wxFCe8U7RAxCRI/EMjJ+WHlFgOVTi/Wf9R4v6Gc0jGW7dqjjKbcuuN+LBPQUVf2X73tQpBaNVrv/uC+xBpal7bkPSpCO1poYvbmz4PesR4/ZiHsytdhkKWpBzxkQpu758ds7RTPd3wd8T8u6F8hGCPfNnoVPgrAMSL/zHe1UWqyU/lkuF4MEqkS50wFhhLZQD9RbhsCpAVHjpVTN0aw41suIWb3kMHACrQXpsQXz81hCHxb1Kk5FS5/Aw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(396003)(346002)(376002)(39860400002)(122000001)(38070700005)(86362001)(83380400001)(186003)(38100700002)(52536014)(5660300002)(8676002)(66556008)(76116006)(66476007)(64756008)(66946007)(4326008)(66446008)(55016003)(2906002)(26005)(478600001)(71200400001)(41300700001)(7696005)(8936002)(6506007)(110136005)(9686003)(33656002)(54906003)(316002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5111
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	55139ace-92ed-4611-6c7c-08da8a584ee9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mSO1CCEFwz4usVhz0reQVBOaOJAOh1MCT9I4O1YCQvn0Efs6Bd2oFBaYMsVUSAXQ2MNsJxIMmHwdYqsLY9mhGSOGY2VjEZyKWcLYUhp3Pl5eeOrfL99/g6mGCglKpvOOOoVHqtWlFu93uUG2aJ/jFO7YpEEIyiGeWREURcvfNCXe1n6E2KbKGMMDkGdq4B08xe/zc1LYg2F0Kzex6SyKfIjjSmLWg+tp/9w5XK4QIod78p7+5xxy8fzZEGzlapcWxh1PBjXBPAIDN8jICRfdPBVZ0v1qS0EX497buCDRUkP+B7qRopE7YXn9dH1UaGD0CdRoQITo0e/pb7eSYMX1ZqOoF8ABExFxgZrhylw8LIw+CHJEN/JWwjTO9j8vQYbElU0NadtktLwtOvFIATsJtlPmUzea7/9pZ2iAvzuJVGr5O0pVoJEnc2bRQf8D/gjvEkbNdnIvSMl0C1TazyVjtAnvybs5tvdG8daW2WFtW4qB81yEjMcvTici9yBptjLA5kq3GmdoKW0XoQY2aoaQiV/m9vmdvmEdKBlyW9VPnUkxDTtjXxXEjvtQgRsm2MgHLrjrpaB7dCYOZX1jOm7QlJ4CQ6KgS1cjYL9sCqVj790ErMtEZxBj0Cwd34VYVP7wMINHtHMN7ZiAtEaNYHMoYd3cw9CMzc5E45Dm4FoZiLj+1iPjo0OeCs5l+GaG+B63zJJzWTrwK8XP1QT7kxnMwv8YDGqY/1MruJbEWU43RbErW9P43KHnQDBokYC84by46vXtD28iPBqk6/ERrOpT8g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(376002)(346002)(136003)(46966006)(36840700001)(40470700004)(33656002)(81166007)(356005)(82310400005)(316002)(110136005)(54906003)(82740400003)(36860700001)(40480700001)(55016003)(86362001)(40460700003)(47076005)(52536014)(2906002)(8936002)(6506007)(336012)(478600001)(4326008)(186003)(41300700001)(83380400001)(5660300002)(70586007)(70206006)(8676002)(7696005)(26005)(9686003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 07:22:06.3954
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4dd9150c-5d04-4201-68ea-08da8a585808
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5026

SGkgTWljaGFsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hh
bCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+DQo+ID4+Pj4+PiArICAgICAgICBwcmludGso
IkNoZWNraW5nIGZvciByZXNlcnZlZCBoZWFwIGluIC9jaG9zZW5cbiIpOw0KPiA+Pj4+Pj4gKyAg
ICAgICAgaWYgKCBhZGRyZXNzX2NlbGxzIDwgMSB8fCBzaXplX2NlbGxzIDwgMSApDQo+ID4+Pj4+
IGFkZHJlc3NfY2VsbHMgYW5kIHNpemVfY2VsbHMgY2Fubm90IGJlIG5lZ2F0aXZlIHNvIHlvdSBj
b3VsZCBqdXN0IGNoZWNrDQo+IGlmDQo+ID4+Pj4+IHRoZXJlIGFyZSAwLg0KPiA+Pj4+DQo+ID4+
Pj4gSW4gYm9vdGZkdC5jIGZ1bmN0aW9uIGRldmljZV90cmVlX2dldF9tZW1pbmZvKCksIHRoZSBh
ZGRyZXNzIGFuZCBzaXplDQo+IGNlbGxzDQo+ID4+Pj4gYXJlIGNoZWNrZWQgdXNpbmcgPDEgaW5z
dGVhZCBvZiA9MC4gSSBhZ3JlZSB0aGV5IGNhbm5vdCBiZSBuZWdhdGl2ZSwgYnV0DQo+IEkNCj4g
Pj4+IGFtDQo+ID4+Pj4gbm90IHZlcnkgc3VyZSBpZiB0aGVyZSB3ZXJlIG90aGVyIHJlYXNvbnMg
dG8gZG8gdGhlICI8MSIgY2hlY2sgaW4NCj4gPj4+PiBkZXZpY2VfdHJlZV9nZXRfbWVtaW5mbygp
LiBBcmUgeW91IGZpbmUgd2l0aCB3ZSBkb24ndCBrZWVwIHRoZQ0KPiA+Pj4gY29uc2lzdGVuY3kN
Cj4gPj4+PiBoZXJlPw0KPiA+Pj4NCj4gPj4+IEkgd291bGQga2VlcCB0aGUgPCAxIGNoZWNrIGJ1
dCBpdCBkb2Vzbid0IG1ha2UgbXVjaCBkaWZmZXJlbmNlIGVpdGhlcg0KPiA+Pj4gd2F5DQo+ID4+
DQo+ID4+IEkgYWxzbyB3b3VsZCBwcmVmZXIgdG8ga2VlcCB0aGVzZSB0d28gcGxhY2VzIGNvbnNp
c3RlbnQgYW5kIEkgYWdyZWUgTWljaGFsDQo+IGlzDQo+ID4+IG1ha2luZyBhIGdvb2QgcG9pbnQu
DQo+ID4gSSdtIG9rIHdpdGggdGhhdCBzbyBsZXQncyBrZWVwIHRoZSBjb25zaXN0ZW5jeS4NCj4g
QWN0dWFsbHksIHdoeSBkbyB3ZSB3YW50IHRvIGR1cGxpY2F0ZSBleGFjdGx5IHRoZSBzYW1lIGNo
ZWNrIGluDQo+IHByb2Nlc3NfY2hvc2VuX25vZGUgdGhhdCBpcyBhbHJlYWR5DQo+IHByZXNlbnQg
aW4gZGV2aWNlX3RyZWVfZ2V0X21lbWluZm8/IFRoZXJlIGlzIG5vIG5lZWQgZm9yIHRoYXQgc28g
anVzdA0KPiByZW1vdmUgaXQgZnJvbSBwcm9jZXNzX2Nob3Nlbl9ub2RlLg0KDQpXZWxsLCB5ZXMg
YW5kIG5vIElNSE8sIGJlY2F1c2Ugd2UgYXJlIHVzaW5nICIjeGVuLHN0YXRpYy1oZWFwLWFkZHJl
c3MtY2VsbHMiDQphbmQgIiN4ZW4sc3RhdGljLWhlYXAtc2l6ZS1jZWxscyIgaW5zdGVhZCBvZiBu
b3JtYWwgIiNhZGRyZXNzLWNlbGxzIiBhbmQNCiIjc2l6ZS1jZWxscyIuIFRoZXNlIHByb3BlcnRp
ZXMgYXJlIGRlcGVuZGVudCBvbiB1c2VyJ3MgaW5wdXQgc28gSSB3b3VsZCBzYXkNCmFkZGluZyBh
IGNoZWNrIGFuZCBwcm9wZXIgcHJpbnRrIHRvIGluZm9ybSB1c2VyIHdpdGggdGhlIHJlbGF0ZWQg
aW5mb3JtYXRpb24NCndvdWxkIGJlIGEgZ29vZCBpZGVhLiBBbHNvIEkgdGhpbmsgY2F0Y2hpbmcg
dGhlIGluY29ycmVjdA0KIiN4ZW4sc3RhdGljLWhlYXAtYWRkcmVzcy1jZWxscyIgYW5kICIjeGVu
LHN0YXRpYy1oZWFwLXNpemUtY2VsbHMiIGFuZCByZXR1cm4NCmVhcmx5IHdvdWxkIGFsc28gYmUg
YSBnb29kIGlkZWEuDQoNCktpbmQgcmVnYXJkcywNCkhlbnJ5DQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 07:30:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 07:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394849.634418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSvho-0007Nc-09; Tue, 30 Aug 2022 07:30:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394849.634418; Tue, 30 Aug 2022 07:30:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSvhn-0007NV-Sm; Tue, 30 Aug 2022 07:30:39 +0000
Received: by outflank-mailman (input) for mailman id 394849;
 Tue, 30 Aug 2022 07:30:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSvhm-0007NL-Sv; Tue, 30 Aug 2022 07:30:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSvhm-0008OG-OF; Tue, 30 Aug 2022 07:30:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSvhm-0006Ev-B4; Tue, 30 Aug 2022 07:30:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSvhm-00082N-Ab; Tue, 30 Aug 2022 07:30:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iHLcbQAt+0itn0Em9EjkiUpgKRgJsGL114YrG6IREqw=; b=snheq0igJ4rOFwEEDt7Popwt02
	FRBAIOZePTMHsUa01f/kzNxncbrW3NPKvLje4UDbvHIoP0a4N2fm6drGhPBW+RDjV5ItoteFbJWzz
	t9kw08F1rXQrVv/jtwHvukLH/f6TzjGCxxdzbhi8iBpYlEX1xm7hmJY9sseTbJMuIpP4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172864-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172864: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-pvops:kernel-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=50ca78ae6d676d8c510b14d56ca0a36ebc3e3ce0
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 07:30:38 +0000

flight 172864 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172864/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-pvops              6 kernel-build             fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              50ca78ae6d676d8c510b14d56ca0a36ebc3e3ce0
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  781 days
Failing since        151818  2020-07-11 04:18:52 Z  780 days  762 attempts
Testing same since   172864  2022-08-30 04:19:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Carlos Bilbao <carlos.bilbao@amd.com>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121172 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 08:01:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 08:01:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394862.634432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwC0-0002nD-PN; Tue, 30 Aug 2022 08:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394862.634432; Tue, 30 Aug 2022 08:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwC0-0002n6-LM; Tue, 30 Aug 2022 08:01:52 +0000
Received: by outflank-mailman (input) for mailman id 394862;
 Tue, 30 Aug 2022 08:01:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSwBy-0002n0-Fd
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 08:01:50 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2065.outbound.protection.outlook.com [40.107.104.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ffede73a-2839-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 10:01:49 +0200 (CEST)
Received: from DB9PR01CA0006.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:1d8::11) by AM0PR08MB4401.eurprd08.prod.outlook.com
 (2603:10a6:208:13a::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.16; Tue, 30 Aug
 2022 08:00:16 +0000
Received: from DBAEUR03FT050.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d8:cafe::c6) by DB9PR01CA0006.outlook.office365.com
 (2603:10a6:10:1d8::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Tue, 30 Aug 2022 08:00:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT050.mail.protection.outlook.com (100.127.142.250) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 08:00:15 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Tue, 30 Aug 2022 08:00:15 +0000
Received: from f484d1f4e0d0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E47EC250-098A-4D0D-9C01-0DB95ACAAB4B.1; 
 Tue, 30 Aug 2022 08:00:09 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f484d1f4e0d0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 08:00:09 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAWPR08MB9830.eurprd08.prod.outlook.com (2603:10a6:102:2e2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Tue, 30 Aug
 2022 08:00:06 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 08:00:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffede73a-2839-11ed-a60c-1f1ba7de4fb0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=HZVObzAk4/yGUHoE9ezZF3/x1mDgyNb9MWi6jTPrl8mmAiawEAgXjcvlXzVy87Y19GVSheGxNDROyS+XVJ2DPLutDSmEyvKNdhHYFXtU+BcmzMSH0DIkJ2tvU+5BKp72HAupqTEU0lna54SpZQaNC2S/C03KE4Qxx4E1Yjl/fP2zz2m4YZKDJbJRBQyEwxcKDRPLlxQrMQ9Q17QW2E9lrxcVaXA+HkDtL6yLzxRM4qBcvdyjJIRTVf9S7ajrauEMbJCeBpSrrNSKf1Qxe4xSnSvYyVaReWdEwwnKTL+nnw5mWWE2LoLHRigX5oHwAwaApeubSgVUeo584DuuF0Fw8A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QKXy+pqv6HZX8MVgwlffMbgObvTaFF30iGc17egXUD4=;
 b=AuWBJRSFB1AyISU44Aak6zhMOGb3w2i+de3hVLIn7AAnNLFLZgEJZJZv9SmziKc2V/6t9YdDX4pwwUe1bO7T+Rgqv/Ah0fYMnzm3hFx2MzEPJM8zUUXIyHv1UDXoB6maTbIQ8uk3DEPjUz8LvHXJUCxfMcTxrZiJkTo6PWT3IIfI7Y+0gjOuMOpQzHgn8LDNievoWm+lu6C+oOHzsDGuf168Tf0Ioln6tnER8QzIE2l67qDXRLeMkVgtToxkUba3wrfdrcl5aMD3CdPUH3L5JmPKNuqKNEk8LC35FgftWrM5Gzd7H7AaZWrhaOVkqi9+l5/XN7qYweuQlt5BGhJHaw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QKXy+pqv6HZX8MVgwlffMbgObvTaFF30iGc17egXUD4=;
 b=EeAIhrOo4OEkIKmWviOgI01/sjHVYYDz3LrsNdoaMUCT/Ho1YcS8TUrUurZ7pbaKtVRTSuHbIXLnpqr/x6H4rLwrwD+GUccMaGAeIz9Z9G71pySiYO7p/GWbwWy5bmtv5tYLHCLwX+jA8B3+KnibgOaEtY07Oz5xbzteT8P8nys=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lOp9/no6uokcKysISZkgOY9GsEqFZcVc9xSMyTEshwkmzmG/R2UCKVHfDlBqwBw/C23lr+uI7Osjw+eIy6r7rUCKuY2/mR16gxDAmTtDElB/RQml2N6nii152oSqkPE94hu2zh3VK3Ro26jz5oV33G4MZwwFgiohrlF+gk4+z95HjZaCicslariSyw87Ia2DeYI+OvMkBpr/BH8ujxnMHbxnprqqvtd+IsT7IdBfMyM9b+tHMX1DZhqdhef1PjUL3TTrMakltasV3hcMnrMD5WkkTS2Z24/n6RqL0QH+HDl90q5QYXloZbaeRJMeHvQUaHpJrPgXNmiL+7gGhKAByQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QKXy+pqv6HZX8MVgwlffMbgObvTaFF30iGc17egXUD4=;
 b=IE+bQjAReEYbYpVNW+NVULqaw+Fr3bcNIb7UbtaS2BnIdhznrgWMgx3XxWsVuDyCN/jMWjkCQ+GYfaMhNl9k12PZm7cjW/Vwvi664pcgjLxjo0Ap59plKQ60+Lr6zGtO4uitAPmfhUKuXZg0QXmraT8+pdjtfkq6itu5leHU++f0n68GwVEKX2z1CQ1LgcxcXMIHDuB81JrcPli9mYWt7g7f1zBqlW6Sv7UE7Z0qLsdgvgDQJ5Vt91vrv9S0okJv+fX2gkBqewJKfFCJNUOkYmTcjDdXbNsjJ95WlcX2me+F7fIWdjw9Sbphd2MAbxzBqZxzaKVks4GglLOC/fg0tQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QKXy+pqv6HZX8MVgwlffMbgObvTaFF30iGc17egXUD4=;
 b=EeAIhrOo4OEkIKmWviOgI01/sjHVYYDz3LrsNdoaMUCT/Ho1YcS8TUrUurZ7pbaKtVRTSuHbIXLnpqr/x6H4rLwrwD+GUccMaGAeIz9Z9G71pySiYO7p/GWbwWy5bmtv5tYLHCLwX+jA8B3+KnibgOaEtY07Oz5xbzteT8P8nys=
From: Henry Wang <Henry.Wang@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Topic: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Index: AQHYt4ugTfbCAM/WyEil7pMplK0r3q2/e0SAgAeAsxCAABaogIAAAyrg
Date: Tue, 30 Aug 2022 08:00:05 +0000
Message-ID:
 <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
 <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
In-Reply-To: <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F2442FDAC8BBCB4FB18DE47F6E9A4E72.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: cd6873f0-04b9-4c2c-898b-08da8a5dac82
x-ms-traffictypediagnostic:
	PAWPR08MB9830:EE_|DBAEUR03FT050:EE_|AM0PR08MB4401:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 N1X8h+4GSa3tZtW9CSKOkXVSDCA1OSQQpUpk9E1ax4C5C7DJ4WuOGtuvWt6+g3YvprDl7C9U3JSI49WC5fsmpBd+nwW9L8bjp4ZdVDWK27XQo8ULHg8UEHF43ZX1mBhwCH3HcQHX1LqjynkjumLrlLW/sxPRUGuXrY5HOhnhzZ4b/mbJv6Qf7fiZk9vmY2mr6Mj5IuHeUedgSzS/65jB8QJdv+qJt2Mp0FEoCOqVFbScgwVnkgGgegFV+g0pyLN1fCiAFdTpj/7Vdok5zdTnnJcR/mfx9OrCswoCsVGoS+0JN9QQ4yMpeDcnrdVx4JnzKIxfS8wsM22Q1ure1xJi+2eSMvuBssqu76t16DGoEQBAMeSkZsFT782jnh0TXbApvgJFzh1lOyPOmaCs70hayt4cDwrjdShgTE3+toBVbqdntXFzqfOXvqvrq7nofj+1L1LdoOEN4BFzgHAEeieGQsv2tZ6amLAqAf8ATT2wgFvntgEar1T3T4CC7iHAZzo/mmZ77ADK83IeZGhsxMGXYvS8CJ1BT6Hf5RLm12ApZ/gxytJ15a3V1E2UzEthWh/+yJRp85QqQJ4YdIF+btPFN9SiN5wgTxKk8496WEny34pcZ9VdSWU1+r7U+xA3ueq397CQbKBnnIueWYUTMIqWKudijqHHXPcdu/w1IGfiiZOsJmtXt0jQCKHFKj/3E92PBp/LS5UE9DS3UU9m14z7MLDtf6TjZVq7pAN5Jnd7VxS+4N2wp14ik4EGn1Uq2kMsxMtAKfO5OblOuuwFTM6Jmg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(366004)(376002)(346002)(39860400002)(2906002)(38070700005)(9686003)(122000001)(26005)(316002)(71200400001)(110136005)(54906003)(38100700002)(52536014)(6506007)(8676002)(7696005)(8936002)(64756008)(76116006)(66446008)(41300700001)(83380400001)(186003)(4326008)(86362001)(66476007)(5660300002)(66556008)(478600001)(66946007)(33656002)(55016003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9830
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a8dffbeb-ae31-41bf-1fb0-08da8a5da68f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p8J1v6DYDOfrDtpvc5MANczFHsJAhPgB3zYPqEn+adrAEFuFMyBmUbnkOe+ljiCd/O4YtH8zynXUZoqCdaU4HKSucq19n8sJcRpjliboXGxgTPyOuKUrFxRYXncBqnL6bf+/hmy5sTge1qyZprnnc/UDEij8AAqkh6Gs4ZtHbpuLk63+ues1n4Z3vu/MvRXBH5diyYUcAlnqRdbL3ae6/mD6txAiT5oowXwDPej2bVJGncr647goXjlrqp1NeKgUYZCY2fCWdzTVJbFrfy31dIcQwHggmv2d6tr/gk/sK0enrTpxvmQWoOcGqkA/80NSilE/eMB2foVInCwEc7pLkZgaZcPtob39PwQaj0WaKgT9MFgqdEODRVUQmJb5r4REmDBJj9i2HFuqfpptGk7Z7sldM5Sets+f82AM3z7U/W4GqT9Ko5MPM23Bvpza4V7/F56Z1ZMcG3QCWmEqu2ZP97VgIKxkVI6rLr5zWfzsdG98aSlD78Itx2ktyaC9JkOtROL8P9li81mHMFMmDgOftjAGbI/Cp5QOFiCewi5bIk8CRA6X5f8lYB9yVzU7nEgBaatL2iSLhnMYPQCyOBipQRFGkKoRT0GajxMiKMlY4yJhriy/o5Tsp0MKcgL4uJgjO1x9dtZ53t96Op2/wCGkrRfFi6982Vc8gXZnKK/9/cr8iZh0OzmDEOfN22kfOlE3kaDPpg1pnvuYbU7YGVirFq82PulFKbBhMEHVvm5sYlnjE2rq000lTPOPl3uZsrqaPekVBvw/APVN8hy6VOYptQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(136003)(376002)(346002)(46966006)(40470700004)(36840700001)(36860700001)(186003)(47076005)(83380400001)(2906002)(110136005)(70206006)(316002)(54906003)(8676002)(5660300002)(4326008)(70586007)(86362001)(7696005)(107886003)(26005)(6506007)(478600001)(41300700001)(52536014)(8936002)(9686003)(81166007)(33656002)(82310400005)(40460700003)(336012)(40480700001)(55016003)(82740400003)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 08:00:15.7017
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cd6873f0-04b9-4c2c-898b-08da8a5dac82
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4401

SGkgTWljaGFsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hh
bCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+DQo+ID4+Pg0KPiA+PiBEaWQgeW91IGNvbnNp
ZGVyIHB1dHRpbmcgcmVzZXJ2ZWRfaGVhcCBpbnRvIGJvb3RpbmZvIHN0cnVjdHVyZT8NCj4gPg0K
PiA+IEFjdHVhbGx5IEkgZGlkLCBidXQgSSBzYXcgY3VycmVudCBib290aW5mbyBvbmx5IGNvbnRh
aW5zIHNvbWUgc3RydWN0cyBzbw0KPiA+IEkgd2FzIG5vdCBzdXJlIGlmIHRoaXMgaXMgdGhlIHBy
ZWZlcnJlZCB3YXksIGJ1dCBzaW5jZSB5b3UgYXJlIHJhaXNpbmcgdGhpcw0KPiA+IHF1ZXN0aW9u
LCBJIHdpbGwgZm9sbG93IHRoaXMgbWV0aG9kIGluIHYyLg0KPiBUaGlzIGlzIHdoYXQgSSB0aGlu
ayB3b3VsZCBiZSBiZXR0ZXIgYnV0IG1haW50YWluZXJzIHdpbGwgaGF2ZSBhIGRlY2lzaXZlIHZv
dGUuDQoNClRoZW4gbGV0J3Mgd2FpdCBmb3IgbW9yZSBpbnB1dCBmcm9tIG1haW50YWluZXJzLg0K
DQo+IA0KPiA+Pj4NCj4gPj4+IC0gICAgaWYgKCAhIGUgKQ0KPiA+Pj4gLSAgICAgICAgcGFuaWMo
Ik5vdCBub3QgZW5vdWdoIHNwYWNlIGZvciB4ZW5oZWFwXG4iKTsNCj4gPj4+ICsgICAgaWYgKCAh
IGUgfHwNCj4gPj4+ICsgICAgICAgICAoIHJlc2VydmVkX2hlYXAgJiYgcmVzZXJ2ZWRfaGVhcF9w
YWdlcyA8IDMyPDwoMjAtDQo+IFBBR0VfU0hJRlQpICkgKQ0KPiA+PiBJJ20gbm90IHN1cmUgYWJv
dXQgdGhpcy4gWW91IGFyZSBjaGVja2luZyBpZiB0aGUgc2l6ZSBvZiB0aGUgcmVzZXJ2ZWQgaGVh
cCBpcw0KPiA+PiBsZXNzIHRoYW4gMzJNQg0KPiA+PiBhbmQgdGhpcyBoYXMgbm90aGluZyB0byBk
byB3aXRoIHRoZSBmb2xsb3dpbmcgcGFuaWMgbWVzc2FnZS4NCj4gPg0KPiA+IEhtbW0sIEkgYW0g
bm90IHN1cmUgaWYgSSB1bmRlcnN0YW5kIHlvdXIgcXVlc3Rpb24gY29ycmVjdGx5LCBzbyBoZXJl
IHRoZXJlDQo+ID4gYXJlIGFjdHVhbGx5IDIgaXNzdWVzOg0KPiA+ICgxKSBUaGUgZG91YmxlIG5v
dCBpbiB0aGUgcGFuaWMgbWVzc2FnZS4NCj4gPiAoMikgVGhlIHNpemUgb2YgeGVuaGVhcC4NCj4g
Pg0KPiA+IElmIHlvdSBjaGVjayB0aGUgY29tbWVudCBvZiB0aGUgeGVuaGVhcCBjb25zdHJhaW50
cyBhYm92ZSwgb25lIHJ1bGUgb2YNCj4gdGhlDQo+ID4geGVuaGVhcCBzaXplIGlzIGl0ICJtdXN0
IGJlIGF0IGxlYXN0IDMyTSIuIElmIEkgYW0gbm90IG1pc3Rha2VuLCB3ZSBuZWVkIHRvDQo+ID4g
Zm9sbG93IHRoZSBzYW1lIHJ1bGUgd2l0aCB0aGUgcmVzZXJ2ZWQgaGVhcCBzZXR1cCwgc28gaGVy
ZSB3ZSBuZWVkIHRvDQo+IGNoZWNrDQo+ID4gdGhlIHNpemUgYW5kIGlmIDwzMk0gdGhlbiBwYW5p
Yy4NCj4gVGhpcyBpcyB0b3RhbGx5IGZpbmUuIFdoYXQgSSBtZWFuIGlzIHRoYXQgdGhlIGNoZWNr
IHlvdSBpbnRyb2R1Y2VkIGRvZXMgbm90DQo+IGNvcnJlc3BvbmQNCj4gdG8gdGhlIHBhbmljIG1l
c3NhZ2UgYmVsb3cuIEluIGNhc2Ugb2YgcmVzZXJ2ZWQgaGVhcCwgaXRzIHNpemUgaXMgc2VsZWN0
ZWQgYnkNCj4gdGhlIHVzZXIuDQo+ICJOb3QgZW5vdWdoIHNwYWNlIGZvciB4ZW5oZWFwIiBtZWFu
cyB0aGF0IHRoZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2UgdG8gYmUNCj4gcmVzZXJ2ZWQgZm9yIGhl
YXAsDQo+IG1lYW5pbmcgaXRzIHNpemUgaXMgdG9vIGxhcmdlLiBCdXQgeW91ciBjaGVjayBpcyBh
Ym91dCBzaXplIGJlaW5nIHRvbyBzbWFsbC4NCg0KQWN0dWFsbHkgbXkgdW5kZXJzdGFuZGluZyBv
ZiAiTm90IGVub3VnaCBzcGFjZSBmb3IgeGVuaGVhcCIgaXMgeGVuaGVhcA0KaXMgdG9vIGxhcmdl
IHNvIHdlIG5lZWQgdG8gcmVzZXJ2ZSBtb3JlIHNwYWNlLCB3aGljaCBpcyBzbGlnaHRseSBkaWZm
ZXJlbnQgdGhhbg0KeW91ciBvcGluaW9uLiBCdXQgSSBhbSBub3QgdGhlIG5hdGl2ZSBzcGVha2Vy
IHNvIGl0IGlzIGhpZ2hseSBsaWtlbHkgdGhhdCBJIGFtDQptYWtpbmcgbWlzdGFrZXMuLi4NCg0K
SG93IGFib3V0IGNoYW5naW5nIHRoZSBwYW5pYyBtZXNzYWdlIHRvICJOb3QgZW5vdWdoIG1lbW9y
eSBmb3IgeGVuaGVhcCI/DQpUaGlzIHdvdWxkIHJlbW92ZSB0aGUgYW1iaWd1aXR5IGhlcmUgSU1I
Ty4NCg0KPiANCj4gPj4+ICsgICAgICogSWYgcmVzZXJ2ZWQgaGVhcCByZWdpb25zIGFyZSBwcm9w
ZXJseSBkZWZpbmVkLCAob25seSkgYWRkIHRoZXNlDQo+ID4+IHJlZ2lvbnMNCj4gPj4gSG93IGNh
biB5b3Ugc2F5IGF0IHRoaXMgc3RhZ2Ugd2hldGhlciB0aGUgcmVzZXJ2ZWQgaGVhcCByZWdpb25z
IGFyZQ0KPiBkZWZpbmVkDQo+ID4+IHByb3Blcmx5Pw0KPiA+DQo+ID4gQmVjYXVzZSBpZiB0aGUg
cmVzZXJ2ZWQgaGVhcCByZWdpb25zIGFyZSBub3QgcHJvcGVybHkgZGVmaW5lZCwgaW4gdGhlDQo+
IGRldmljZQ0KPiA+IHRyZWUgcGFyc2luZyBwaGFzZSB0aGUgZ2xvYmFsIHZhcmlhYmxlICJyZXNl
cnZlZF9oZWFwIiBjYW4gbmV2ZXIgYmUgdHJ1ZS4NCj4gPg0KPiA+IERpZCBJIHVuZGVyc3RhbmQg
eW91ciBxdWVzdGlvbiBjb3JyZWN0bHk/IE9yIG1heWJlIHdlIG5lZWQgdG8gY2hhbmdlIHRoZQ0K
PiA+IHdvcmRpbmcgaGVyZSBpbiB0aGUgY29tbWVudD8NCj4gDQo+IEZXSUNTLCByZXNlcnZlZF9o
ZWFwIHdpbGwgYmUgc2V0IHRvIHRydWUgZXZlbiBpZiBhIHVzZXIgZGVzY3JpYmVzIGFuIGVtcHR5
DQo+IHJlZ2lvbg0KPiBmb3IgcmVzZXJ2ZWQgaGVhcC4gVGhpcyBjYW5ub3QgYmUgY29uc2lkZXIg
YSBwcm9wZXJseSBkZWZpbmVkIHJlZ2lvbiBmb3IgYQ0KPiBoZWFwLg0KDQpPaCBnb29kIHBvaW50
LCB0aGFuayB5b3UgZm9yIHBvaW50aW5nIHRoaXMgb3V0LiBJIHdpbGwgY2hhbmdlIHRoZSBjb21t
ZW50cw0KaGVyZSB0byAiSWYgdGhlcmUgYXJlIG5vbi1lbXB0eSByZXNlcnZlZCBoZWFwIHJlZ2lv
bnMiLiBJIGFtIG5vdCBzdXJlIGlmIGFkZGluZw0KYW4gZW1wdHkgcmVnaW9uIGNoZWNrIGJlZm9y
ZSBzZXR0aW5nIHRoZSAicmVzZXJ2ZWRfaGVhcCIgd291bGQgYmUgYSBnb29kDQppZGVhLCBiZWNh
dXNlIGFkZGluZyBzdWNoIGNoZWNrIHdvdWxkIGFkZCBhbm90aGVyIGZvciBsb29wIHRvIGZpbmQg
YSBub24tZW1wdHkNCnJlc2VydmVkIGhlYXAgYmFuay4gV2hhdCBkbyB5b3UgdGhpbms/DQoNCktp
bmQgcmVnYXJkcywNCkhlbnJ5DQoNCj4gDQo+IH5NaWNoYWwNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 08:04:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 08:04:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394869.634443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwEY-0003SA-DE; Tue, 30 Aug 2022 08:04:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394869.634443; Tue, 30 Aug 2022 08:04:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwEY-0003S3-92; Tue, 30 Aug 2022 08:04:30 +0000
Received: by outflank-mailman (input) for mailman id 394869;
 Tue, 30 Aug 2022 08:04:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fKwo=ZC=gmail.com=asr7247@srs-se1.protection.inumbo.net>)
 id 1oSwEW-0003Rx-TT
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 08:04:29 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e20db34-283a-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 10:04:27 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id t5so13092618edc.11
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 01:04:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e20db34-283a-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :from:to:cc;
        bh=hM6XoOQn2PkxbUDEjBKe0rSTOiqywC52UdGahxJT5L4=;
        b=Y/H2KiOF2L2ylGDqs1XxcOKFJp4VO7Pe3V0o+1zNmfKHnduMdCjCi5+VjWc/qUhAej
         +2TLOqlRmm7vV7NfKHR5IrDWD5zfTsy9me+fjIFIisk0ihaAYb4+3iVofUy9vKGdVaaQ
         ZJg3eio7d8LcjB+85koNPAXc9yzcmq8RM5SMplnucWKgTzgZDooCBL9F8iUQE9HXeQj6
         pGxut1VnLczQnsG8Lj0Oo3h6lXqRiExtEbtabXldJybM4dknBfR1kwPkVOu7l50etlXx
         er1Aok14FB368zx80CWQ5uplDPRi5nU38JNAq8NQ2rFeTCHlHXvSDo+2SjDCKYET0dQX
         Skiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :x-gm-message-state:from:to:cc;
        bh=hM6XoOQn2PkxbUDEjBKe0rSTOiqywC52UdGahxJT5L4=;
        b=7FPBxjfIaV5GrJWyqekSyCW1M3k0lghyZIrw5iy3IXNGcZJER4LidtyifcYZnnSiHx
         UIzwwMlXpAPhYF3d6gUoHFBo/BA09m+tAriBWLIU6KsjG/udTGAIaCF35/3ClexsNr4x
         OV9Hnk7QsMLUgKX3GUCF6wjQ/Rd/cahcLEvaipNUly0ZVpGa8pEicTITe190vjH1cjPA
         GxXRw7JBw1vHBy5wIGiS/lqwOMOYTLIXncLxPRVf1LYga9OD+uNhToCJCkw8pTKO2bej
         vLLBwbcNN8FvWB6qZx2mD0d3EtXIdMDBcqsQoo258HRtq3cn9I9Pk1bIEfp1qW2GozTK
         +TFQ==
X-Gm-Message-State: ACgBeo0TkKCgtMzPAzzL4j6eFJ3jthTrE6hxcWHg1RKls6JPSZ3RKXUJ
	r5RrvxI7vuAwzivpik3OOYzvPyMopUK7I/m+biUOnQY4T2br+g==
X-Google-Smtp-Source: AA6agR5qJ0rdDZGaKJWkTydW+zoxzeNyIskxq4ME/ODUt4AUgGvmhSnq2foex0OT2driOuNJnuuNcvhFNIMObCp2yy4=
X-Received: by 2002:a05:6402:3552:b0:448:dba5:dec2 with SMTP id
 f18-20020a056402355200b00448dba5dec2mr474155edd.7.1661846666171; Tue, 30 Aug
 2022 01:04:26 -0700 (PDT)
MIME-Version: 1.0
References: <CABg_PyLqrajOuKidSfuzXk8=pAraLfwEQX_mO2-Ofv5kNiWa8w@mail.gmail.com>
In-Reply-To: <CABg_PyLqrajOuKidSfuzXk8=pAraLfwEQX_mO2-Ofv5kNiWa8w@mail.gmail.com>
From: A Sudheer <asr7247@gmail.com>
Date: Tue, 30 Aug 2022 13:34:14 +0530
Message-ID: <CABg_Py+cAETgRW5OywNZtdPvtyP3BQw=GiNQOAYT8RQQUt6b0g@mail.gmail.com>
Subject: Re: USB-C 250GB SSD Passthrough fails to DomU Ubuntu
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000035571e05e770d448"

--00000000000035571e05e770d448
Content-Type: text/plain; charset="UTF-8"

Few more logs

>From Dom0, did passthrough of two USB drives (32GB stick and 250GB USB SDD)
In DomU, 32GB driver got mounted but 250GB SSD fails to mount.
In DomU, "lsusb" shows both the drives but "usb-devices" shows only the
32GB drive.

*Dom0 log:*
amd@HOST:~$ sudo xl usb-list vm1
Devid  Type         BE  state usb-ver ports
0      devicemodel  0   0     3       15
  Port 1: Bus 003 Device 002
  Port 2: Bus 005 Device 002
  Port 3:
  Port 4:
  Port 5:
  Port 6:
  Port 7:
  Port 8:
  Port 9:
  Port 10:
  Port 11:
  Port 12:
  Port 13:
  Port 14:
  Port 15:
HOST:~$

*DomU Log:*
amd@VM1:~$ lsusb
Bus 003 Device 003: ID 0781:558c SanDisk Corp. Extreme Portable SSD
Bus 003 Device 002: ID 0781:5581 SanDisk Corp. Ultra
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
amd@VM1:~$

*amd@VM1:~$ usb-devices*

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev=05.18
S:  Manufacturer=Linux 5.18.0-4460-amd+ uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:01.2
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0627 ProdID=0001 Rev=00.00
S:  Manufacturer=QEMU
S:  Product=QEMU USB Tablet
S:  SerialNumber=42
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh=15
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=05.18
S:  Manufacturer=Linux 5.18.0-4460-amd+ xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:04.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh=15
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=05.18
S:  Manufacturer=Linux 5.18.0-4460-amd+ xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:04.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=0781 ProdID=5581 Rev=01.00
S:  Manufacturer= USB
*S:  Product= SanDisk 3.2Gen1*
S:
 SerialNumber=040143504c9a3bd4596082500826a11868845df4396ebc5cb2e33dd3071e3fd5505f000000000000000000003ca6a60b000d7c18815581071b2a7c33
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=896mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
amd@VM1:~$

*amd@VM1:~$ sudo dmesg <for 250GB USB-C SSD>*

[  247.071742] usb 3-2: new SuperSpeed USB device number 3 using xhci_hcd
[  247.097304] usb 3-2: New USB device found, idVendor=0781,
idProduct=558c, bcdDevice=10.12
[  247.097314] usb 3-2: New USB device strings: Mfr=2, Product=3,
SerialNumber=1
[  247.097318] usb 3-2: Product: Extreme SSD
[  247.097321] usb 3-2: Manufacturer: SanDisk
[  247.097323] usb 3-2: SerialNumber: 31393430475A343030363932
[  247.101909] usb 3-2: USB controller 0000:00:04.0 does not support
streams, which are required by the UAS driver.
[  247.101915] usb 3-2: Please try an other USB controller if you wish to
use UAS.
[  247.101918] usb-storage 3-2:1.0: USB Mass Storage device detected
[  247.102710] scsi host3: usb-storage 3-2:1.0
[  269.131522] usb 3-2: reset SuperSpeed USB device number 3 using xhci_hcd

*DomU dmesg log while adding USB controller and USB 32GB disk*

[   94.494852] pci 0000:00:04.0: [1033:0194] type 00 class 0x0c0330
[   94.496278] pci 0000:00:04.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[   94.502161] pci 0000:00:04.0: BAR 0: assigned [mem 0xf1800000-0xf1803fff
64bit]
[   94.502981] pci 0000:00:04.0: enabling device (0000 -> 0002)
[   94.504005] xen: --> pirq=24 -> irq=32 (gsi=32)
[   94.514634] xhci_hcd 0000:00:04.0: xHCI Host Controller
[   94.514650] xhci_hcd 0000:00:04.0: new USB bus registered, assigned bus
number 2
[   94.517840] xhci_hcd 0000:00:04.0: hcc params 0x00080001 hci version
0x100 quirks 0x0000000000000014
[   94.523559] usb usb2: New USB device found, idVendor=1d6b,
idProduct=0002, bcdDevice= 5.18
[   94.523571] usb usb2: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[   94.523575] usb usb2: Product: xHCI Host Controller
[   94.523579] usb usb2: Manufacturer: Linux 5.18.0-4460-amd+ xhci-hcd
[   94.523581] usb usb2: SerialNumber: 0000:00:04.0
[   94.523974] hub 2-0:1.0: USB hub found
[   94.524850] hub 2-0:1.0: 15 ports detected
[   94.529968] xhci_hcd 0000:00:04.0: xHCI Host Controller
[   94.529981] xhci_hcd 0000:00:04.0: new USB bus registered, assigned bus
number 3
[   94.529988] xhci_hcd 0000:00:04.0: Host supports USB 3.0 SuperSpeed
[   94.530354] usb usb3: We don't know the algorithms for LPM for this
host, disabling LPM.
[   94.530400] usb usb3: New USB device found, idVendor=1d6b,
idProduct=0003, bcdDevice= 5.18
[   94.530404] usb usb3: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[   94.530407] usb usb3: Product: xHCI Host Controller
[   94.530410] usb usb3: Manufacturer: Linux 5.18.0-4460-amd+ xhci-hcd
[   94.530412] usb usb3: SerialNumber: 0000:00:04.0
[   94.530653] hub 3-0:1.0: USB hub found
[   94.531482] hub 3-0:1.0: 15 ports detected
[  157.522609] usb 3-1: new SuperSpeed USB device number 2 using xhci_hcd
[  157.548225] usb 3-1: New USB device found, idVendor=0781,
idProduct=5581, bcdDevice= 1.00
[  157.548236] usb 3-1: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[  157.548239] usb 3-1: Product:  SanDisk 3.2Gen1
[  157.548242] usb 3-1: Manufacturer:  USB
[  157.548244] usb 3-1: SerialNumber:
040143504c9a3bd4596082500826a11868845df4396ebc5cb2e33dd3071e3fd5505f000000000000000000003ca6a60b000d7c18815581071b2a7c33
[  157.571419] usb-storage 3-1:1.0: USB Mass Storage device detected
[  157.571981] scsi host2: usb-storage 3-1:1.0
[  157.572125] usbcore: registered new interface driver usb-storage
[  157.577381] usbcore: registered new interface driver uas
[  158.581138] scsi 2:0:0:0: Direct-Access      USB      SanDisk 3.2Gen1
1.00 PQ: 0 ANSI: 6
[  158.581550] sd 2:0:0:0: Attached scsi generic sg0 type 0
[  158.584622] sd 2:0:0:0: [sda] 60088320 512-byte logical blocks: (30.8
GB/28.7 GiB)
[  158.590171] sd 2:0:0:0: [sda] Write Protect is off
[  158.590181] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00
[  158.593387] sd 2:0:0:0: [sda] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[  158.614589]  sda: sda1
[  158.627564] sd 2:0:0:0: [sda] Attached SCSI removable disk


On Tue, Aug 30, 2022 at 11:12 AM A Sudheer <asr7247@gmail.com> wrote:

> Hi All
>
> On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB mass
> storage device passthrough to DomU.
> I followed the PVUSB method mentioned in
> https://wiki.xenproject.org/wiki/Xen_USB_Passthrough.
>
> I am able to do passthrough for USB 2.0 and 3.x version 32/64 GB mass
> storage devices to DomU.
> Passthrough failed for "SanDisk 250GB SSD USB-C, USB 3.1" with below
> error. Able to access the SSD in Dom0.
> Can someone help with what could be missing here.
>
> *Commands used:*
> host$ sudo xl usbctrl-attach vm1 version=3 ports=6
> host$ sudo xl usbdev-attach vm1 hostbus=3 hostaddr=2
>
> *Error Log in DomU*
> VM1:~$ sudo dmesg
> [  152.841566] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
> [  152.867164] usb 2-1: New USB device found, idVendor=0781,
> idProduct=558c, bcdDevice=10.12
> [  152.867173] usb 2-1: New USB device strings: Mfr=2, Product=3,
> SerialNumber=1
> [  152.867177] usb 2-1: Product: Extreme SSD
> [  152.867179] usb 2-1: Manufacturer: SanDisk
> [  152.867182] usb 2-1: SerialNumber: 31393430475A343030363932
> [  152.899103] *usb 2-1: USB controller 0000:00:04.0 does not support
> streams, which are required by the UAS driver.*
> [  152.899110] usb 2-1: Please try an other USB controller if you wish to
> use UAS.
> [  152.899113] usb-storage 2-1:1.0: USB Mass Storage device detected
> [  152.902033] scsi host2: usb-storage 2-1:1.0
> [  152.902174] usbcore: registered new interface driver usb-storage
> [  152.908928] usbcore: registered new interface driver uas
> [  174.933399] usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd
>
> Thanks
> Sudheer
>

--00000000000035571e05e770d448
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Few more logs<div><br></div><div>From Dom0, did passthroug=
h of two USB drives (32GB stick and 250GB USB SDD)</div><div>In DomU, 32GB =
driver got mounted but 250GB SSD fails to mount.</div><div>In DomU, &quot;l=
susb&quot; shows both the drives but &quot;usb-devices&quot;=C2=A0shows onl=
y the 32GB drive.</div><div><br></div><div><b>Dom0 log:</b></div><div>amd@H=
OST:~$ sudo xl usb-list vm1<br>Devid =C2=A0Type =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 BE =C2=A0state usb-ver ports<br>0 =C2=A0 =C2=A0 =C2=A0devicemodel =C2=A00 =
=C2=A0 0 =C2=A0 =C2=A0 3 =C2=A0 =C2=A0 =C2=A0 15<br>=C2=A0 Port 1: Bus 003 =
Device 002<br>=C2=A0 Port 2: Bus 005 Device 002<br>=C2=A0 Port 3:<br>=C2=A0=
 Port 4:<br>=C2=A0 Port 5:<br>=C2=A0 Port 6:<br>=C2=A0 Port 7:<br>=C2=A0 Po=
rt 8:<br>=C2=A0 Port 9:<br>=C2=A0 Port 10:<br>=C2=A0 Port 11:<br>=C2=A0 Por=
t 12:<br>=C2=A0 Port 13:<br>=C2=A0 Port 14:<br>=C2=A0 Port 15:<br>HOST:~$<b=
r></div><div><br></div><div><b><u>DomU Log:</u></b></div><div>amd@VM1:~$ ls=
usb<br>Bus 003 Device 003: ID 0781:558c SanDisk Corp. Extreme Portable SSD<=
br>Bus 003 Device 002: ID 0781:5581 SanDisk Corp. Ultra<br>Bus 003 Device 0=
01: ID 1d6b:0003 Linux Foundation 3.0 root hub<br>Bus 002 Device 001: ID 1d=
6b:0002 Linux Foundation 2.0 root hub<br>Bus 001 Device 002: ID 0627:0001 A=
domax Technology Co., Ltd QEMU USB Tablet<br>Bus 001 Device 001: ID 1d6b:00=
01 Linux Foundation 1.1 root hub<br>amd@VM1:~$<br></div><div><br></div><div=
><b>amd@VM1:~$ usb-devices</b><br><br>T: =C2=A0Bus=3D01 Lev=3D00 Prnt=3D00 =
Port=3D00 Cnt=3D00 Dev#=3D =C2=A01 Spd=3D12 =C2=A0MxCh=3D 2<br>D: =C2=A0Ver=
=3D 1.10 Cls=3D09(hub =C2=A0) Sub=3D00 Prot=3D00 MxPS=3D64 #Cfgs=3D =C2=A01=
<br>P: =C2=A0Vendor=3D1d6b ProdID=3D0001 Rev=3D05.18<br>S: =C2=A0Manufactur=
er=3DLinux 5.18.0-4460-amd+ uhci_hcd<br>S: =C2=A0Product=3DUHCI Host Contro=
ller<br>S: =C2=A0SerialNumber=3D0000:00:01.2<br>C: =C2=A0#Ifs=3D 1 Cfg#=3D =
1 Atr=3De0 MxPwr=3D0mA<br>I: =C2=A0If#=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D09(hub=
 =C2=A0) Sub=3D00 Prot=3D00 Driver=3Dhub<br>E: =C2=A0Ad=3D81(I) Atr=3D03(In=
t.) MxPS=3D =C2=A0 2 Ivl=3D255ms<br><br>T: =C2=A0Bus=3D01 Lev=3D01 Prnt=3D0=
1 Port=3D00 Cnt=3D01 Dev#=3D =C2=A02 Spd=3D12 =C2=A0MxCh=3D 0<br>D: =C2=A0V=
er=3D 2.00 Cls=3D00(&gt;ifc ) Sub=3D00 Prot=3D00 MxPS=3D 8 #Cfgs=3D =C2=A01=
<br>P: =C2=A0Vendor=3D0627 ProdID=3D0001 Rev=3D00.00<br>S: =C2=A0Manufactur=
er=3DQEMU<br>S: =C2=A0Product=3DQEMU USB Tablet<br>S: =C2=A0SerialNumber=3D=
42<br>C: =C2=A0#Ifs=3D 1 Cfg#=3D 1 Atr=3Da0 MxPwr=3D100mA<br>I: =C2=A0If#=
=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D03(HID =C2=A0) Sub=3D00 Prot=3D00 Driver=3Du=
sbhid<br>E: =C2=A0Ad=3D81(I) Atr=3D03(Int.) MxPS=3D =C2=A0 8 Ivl=3D10ms<br>=
<br>T: =C2=A0Bus=3D02 Lev=3D00 Prnt=3D00 Port=3D00 Cnt=3D00 Dev#=3D =C2=A01=
 Spd=3D480 MxCh=3D15<br>D: =C2=A0Ver=3D 2.00 Cls=3D09(hub =C2=A0) Sub=3D00 =
Prot=3D01 MxPS=3D64 #Cfgs=3D =C2=A01<br>P: =C2=A0Vendor=3D1d6b ProdID=3D000=
2 Rev=3D05.18<br>S: =C2=A0Manufacturer=3DLinux 5.18.0-4460-amd+ xhci-hcd<br=
>S: =C2=A0Product=3DxHCI Host Controller<br>S: =C2=A0SerialNumber=3D0000:00=
:04.0<br>C: =C2=A0#Ifs=3D 1 Cfg#=3D 1 Atr=3De0 MxPwr=3D0mA<br>I: =C2=A0If#=
=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D09(hub =C2=A0) Sub=3D00 Prot=3D00 Driver=3Dh=
ub<br>E: =C2=A0Ad=3D81(I) Atr=3D03(Int.) MxPS=3D =C2=A0 4 Ivl=3D256ms<br><b=
r>T: =C2=A0Bus=3D03 Lev=3D00 Prnt=3D00 Port=3D00 Cnt=3D00 Dev#=3D =C2=A01 S=
pd=3D5000 MxCh=3D15<br>D: =C2=A0Ver=3D 3.00 Cls=3D09(hub =C2=A0) Sub=3D00 P=
rot=3D03 MxPS=3D 9 #Cfgs=3D =C2=A01<br>P: =C2=A0Vendor=3D1d6b ProdID=3D0003=
 Rev=3D05.18<br>S: =C2=A0Manufacturer=3DLinux 5.18.0-4460-amd+ xhci-hcd<br>=
S: =C2=A0Product=3DxHCI Host Controller<br>S: =C2=A0SerialNumber=3D0000:00:=
04.0<br>C: =C2=A0#Ifs=3D 1 Cfg#=3D 1 Atr=3De0 MxPwr=3D0mA<br>I: =C2=A0If#=
=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D09(hub =C2=A0) Sub=3D00 Prot=3D00 Driver=3Dh=
ub<br>E: =C2=A0Ad=3D81(I) Atr=3D03(Int.) MxPS=3D =C2=A0 4 Ivl=3D256ms<br><b=
r>T: =C2=A0Bus=3D03 Lev=3D01 Prnt=3D01 Port=3D00 Cnt=3D01 Dev#=3D =C2=A02 S=
pd=3D5000 MxCh=3D 0<br>D: =C2=A0Ver=3D 3.20 Cls=3D00(&gt;ifc ) Sub=3D00 Pro=
t=3D00 MxPS=3D 9 #Cfgs=3D =C2=A01<br>P: =C2=A0Vendor=3D0781 ProdID=3D5581 R=
ev=3D01.00<br>S: =C2=A0Manufacturer=3D USB<br><b>S: =C2=A0Product=3D SanDis=
k 3.2Gen1</b><br>S: =C2=A0SerialNumber=3D040143504c9a3bd4596082500826a11868=
845df4396ebc5cb2e33dd3071e3fd5505f000000000000000000003ca6a60b000d7c1881558=
1071b2a7c33<br>C: =C2=A0#Ifs=3D 1 Cfg#=3D 1 Atr=3D80 MxPwr=3D896mA<br>I: =
=C2=A0If#=3D 0 Alt=3D 0 #EPs=3D 2 Cls=3D08(stor.) Sub=3D06 Prot=3D50 Driver=
=3Dusb-storage<br>E: =C2=A0Ad=3D02(O) Atr=3D02(Bulk) MxPS=3D1024 Ivl=3D0ms<=
br>E: =C2=A0Ad=3D81(I) Atr=3D02(Bulk) MxPS=3D1024 Ivl=3D0ms<br>amd@VM1:~$<b=
r></div><div><b><br></b></div><div><b>amd@VM1:~$ sudo dmesg &lt;for 250GB U=
SB-C SSD&gt;</b><br><br>[ =C2=A0247.071742] usb 3-2: new SuperSpeed USB dev=
ice number 3 using xhci_hcd<br>[ =C2=A0247.097304] usb 3-2: New USB device =
found, idVendor=3D0781, idProduct=3D558c, bcdDevice=3D10.12<br>[ =C2=A0247.=
097314] usb 3-2: New USB device strings: Mfr=3D2, Product=3D3, SerialNumber=
=3D1<br>[ =C2=A0247.097318] usb 3-2: Product: Extreme SSD<br>[ =C2=A0247.09=
7321] usb 3-2: Manufacturer: SanDisk<br>[ =C2=A0247.097323] usb 3-2: Serial=
Number: 31393430475A343030363932<br>[ =C2=A0247.101909] usb 3-2: USB contro=
ller 0000:00:04.0 does not support streams, which are required by the UAS d=
river.<br>[ =C2=A0247.101915] usb 3-2: Please try an other USB controller i=
f you wish to use UAS.<br>[ =C2=A0247.101918] usb-storage 3-2:1.0: USB Mass=
 Storage device detected<br>[ =C2=A0247.102710] scsi host3: usb-storage 3-2=
:1.0<br>[ =C2=A0269.131522] usb 3-2: reset SuperSpeed USB device number 3 u=
sing xhci_hcd<br></div><div><br></div><div><b>DomU dmesg log while adding U=
SB controller and USB 32GB disk</b></div><div><b><br></b></div><div>[ =C2=
=A0 94.494852] pci 0000:00:04.0: [1033:0194] type 00 class 0x0c0330<br>[ =
=C2=A0 94.496278] pci 0000:00:04.0: reg 0x10: [mem 0x00000000-0x00003fff 64=
bit]<br>[ =C2=A0 94.502161] pci 0000:00:04.0: BAR 0: assigned [mem 0xf18000=
00-0xf1803fff 64bit]<br>[ =C2=A0 94.502981] pci 0000:00:04.0: enabling devi=
ce (0000 -&gt; 0002)<br>[ =C2=A0 94.504005] xen: --&gt; pirq=3D24 -&gt; irq=
=3D32 (gsi=3D32)<br>[ =C2=A0 94.514634] xhci_hcd 0000:00:04.0: xHCI Host Co=
ntroller<br>[ =C2=A0 94.514650] xhci_hcd 0000:00:04.0: new USB bus register=
ed, assigned bus number 2<br>[ =C2=A0 94.517840] xhci_hcd 0000:00:04.0: hcc=
 params 0x00080001 hci version 0x100 quirks 0x0000000000000014<br>[ =C2=A0 =
94.523559] usb usb2: New USB device found, idVendor=3D1d6b, idProduct=3D000=
2, bcdDevice=3D 5.18<br>[ =C2=A0 94.523571] usb usb2: New USB device string=
s: Mfr=3D3, Product=3D2, SerialNumber=3D1<br>[ =C2=A0 94.523575] usb usb2: =
Product: xHCI Host Controller<br>[ =C2=A0 94.523579] usb usb2: Manufacturer=
: Linux 5.18.0-4460-amd+ xhci-hcd<br>[ =C2=A0 94.523581] usb usb2: SerialNu=
mber: 0000:00:04.0<br>[ =C2=A0 94.523974] hub 2-0:1.0: USB hub found<br>[ =
=C2=A0 94.524850] hub 2-0:1.0: 15 ports detected<br>[ =C2=A0 94.529968] xhc=
i_hcd 0000:00:04.0: xHCI Host Controller<br>[ =C2=A0 94.529981] xhci_hcd 00=
00:00:04.0: new USB bus registered, assigned bus number 3<br>[ =C2=A0 94.52=
9988] xhci_hcd 0000:00:04.0: Host supports USB 3.0 SuperSpeed<br>[ =C2=A0 9=
4.530354] usb usb3: We don&#39;t know the algorithms for LPM for this host,=
 disabling LPM.<br>[ =C2=A0 94.530400] usb usb3: New USB device found, idVe=
ndor=3D1d6b, idProduct=3D0003, bcdDevice=3D 5.18<br>[ =C2=A0 94.530404] usb=
 usb3: New USB device strings: Mfr=3D3, Product=3D2, SerialNumber=3D1<br>[ =
=C2=A0 94.530407] usb usb3: Product: xHCI Host Controller<br>[ =C2=A0 94.53=
0410] usb usb3: Manufacturer: Linux 5.18.0-4460-amd+ xhci-hcd<br>[ =C2=A0 9=
4.530412] usb usb3: SerialNumber: 0000:00:04.0<br>[ =C2=A0 94.530653] hub 3=
-0:1.0: USB hub found<br>[ =C2=A0 94.531482] hub 3-0:1.0: 15 ports detected=
<br>[ =C2=A0157.522609] usb 3-1: new SuperSpeed USB device number 2 using x=
hci_hcd<br>[ =C2=A0157.548225] usb 3-1: New USB device found, idVendor=3D07=
81, idProduct=3D5581, bcdDevice=3D 1.00<br>[ =C2=A0157.548236] usb 3-1: New=
 USB device strings: Mfr=3D1, Product=3D2, SerialNumber=3D3<br>[ =C2=A0157.=
548239] usb 3-1: Product: =C2=A0SanDisk 3.2Gen1<br>[ =C2=A0157.548242] usb =
3-1: Manufacturer: =C2=A0USB<br>[ =C2=A0157.548244] usb 3-1: SerialNumber: =
040143504c9a3bd4596082500826a11868845df4396ebc5cb2e33dd3071e3fd5505f0000000=
00000000000003ca6a60b000d7c18815581071b2a7c33<br>[ =C2=A0157.571419] usb-st=
orage 3-1:1.0: USB Mass Storage device detected<br>[ =C2=A0157.571981] scsi=
 host2: usb-storage 3-1:1.0<br>[ =C2=A0157.572125] usbcore: registered new =
interface driver usb-storage<br>[ =C2=A0157.577381] usbcore: registered new=
 interface driver uas<br>[ =C2=A0158.581138] scsi 2:0:0:0: Direct-Access =
=C2=A0 =C2=A0 =C2=A0USB =C2=A0 =C2=A0 =C2=A0SanDisk 3.2Gen1 1.00 PQ: 0 ANSI=
: 6<br>[ =C2=A0158.581550] sd 2:0:0:0: Attached scsi generic sg0 type 0<br>=
[ =C2=A0158.584622] sd 2:0:0:0: [sda] 60088320 512-byte logical blocks: (30=
.8 GB/28.7 GiB)<br>[ =C2=A0158.590171] sd 2:0:0:0: [sda] Write Protect is o=
ff<br>[ =C2=A0158.590181] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00<br>[ =
=C2=A0158.593387] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enab=
led, doesn&#39;t support DPO or FUA<br>[ =C2=A0158.614589] =C2=A0sda: sda1<=
br>[ =C2=A0158.627564] sd 2:0:0:0: [sda] Attached SCSI removable disk<br></=
div><div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" cl=
ass=3D"gmail_attr">On Tue, Aug 30, 2022 at 11:12 AM A Sudheer &lt;<a href=
=3D"mailto:asr7247@gmail.com">asr7247@gmail.com</a>&gt; wrote:<br></div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-lef=
t:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">Hi All<br><=
br>On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB mas=
s storage device passthrough to DomU.<br>I followed the PVUSB method mentio=
ned in <a href=3D"https://wiki.xenproject.org/wiki/Xen_USB_Passthrough" tar=
get=3D"_blank">https://wiki.xenproject.org/wiki/Xen_USB_Passthrough</a>.<br=
><br>I am able to do passthrough for USB 2.0 and 3.x version 32/64 GB mass =
storage devices to DomU.=C2=A0<br>Passthrough failed for &quot;SanDisk 250G=
B SSD USB-C, USB 3.1&quot; with below error. Able to access the SSD in Dom0=
.<div>Can someone help with what could be missing here.<br><br><b>Commands=
=C2=A0used:</b></div><div><span style=3D"color:rgb(23,43,77);font-family:-a=
pple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Oxygen,Ubuntu,&q=
uot;Fira Sans&quot;,&quot;Droid Sans&quot;,&quot;Helvetica Neue&quot;,sans-=
serif;font-size:14px">host$ sudo xl usbctrl-attach vm1 version=3D3 ports=3D=
6</span></div><div><span style=3D"color:rgb(23,43,77);font-family:-apple-sy=
stem,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Oxygen,Ubuntu,&quot;Fir=
a Sans&quot;,&quot;Droid Sans&quot;,&quot;Helvetica Neue&quot;,sans-serif;f=
ont-size:14px">host$ sudo xl usbdev-attach vm1 hostbus=3D3 hostaddr=3D2</sp=
an></div><div><font color=3D"#172b4d" face=3D"-apple-system, BlinkMacSystem=
Font, Segoe UI, Roboto, Oxygen, Ubuntu, Fira Sans, Droid Sans, Helvetica Ne=
ue, sans-serif"><span style=3D"font-size:14px"><br></span></font></div><div=
><font color=3D"#172b4d" face=3D"-apple-system, BlinkMacSystemFont, Segoe U=
I, Roboto, Oxygen, Ubuntu, Fira Sans, Droid Sans, Helvetica Neue, sans-seri=
f"><span style=3D"font-size:14px"><b>Error Log in DomU</b></span></font></d=
iv><div>VM1:~$ sudo dmesg<br>[ =C2=A0152.841566] usb 2-1: new SuperSpeed US=
B device number 2 using xhci_hcd<br>[ =C2=A0152.867164] usb 2-1: New USB de=
vice found, idVendor=3D0781, idProduct=3D558c, bcdDevice=3D10.12<br>[ =C2=
=A0152.867173] usb 2-1: New USB device strings: Mfr=3D2, Product=3D3, Seria=
lNumber=3D1<br>[ =C2=A0152.867177] usb 2-1: Product: Extreme SSD<br>[ =C2=
=A0152.867179] usb 2-1: Manufacturer: SanDisk<br>[ =C2=A0152.867182] usb 2-=
1: SerialNumber: 31393430475A343030363932<br>[ =C2=A0152.899103] <b>usb 2-1=
: USB controller 0000:00:04.0 does not support streams, which are required =
by the UAS driver.</b><br>[ =C2=A0152.899110] usb 2-1: Please try an other =
USB controller if you wish to use UAS.<br>[ =C2=A0152.899113] usb-storage 2=
-1:1.0: USB Mass Storage device detected<br>[ =C2=A0152.902033] scsi host2:=
 usb-storage 2-1:1.0<br>[ =C2=A0152.902174] usbcore: registered new interfa=
ce driver usb-storage<div>[ =C2=A0152.908928] usbcore: registered new inter=
face driver uas<br></div><div>[ =C2=A0174.933399] usb 2-1: reset SuperSpeed=
 USB device number 2 using xhci_hcd<br></div><div><br></div><div>Thanks</di=
v><div>Sudheer</div></div></div>
</blockquote></div>

--00000000000035571e05e770d448--


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 08:25:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 08:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394877.634454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwYN-0005ph-0t; Tue, 30 Aug 2022 08:24:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394877.634454; Tue, 30 Aug 2022 08:24:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwYM-0005pa-Te; Tue, 30 Aug 2022 08:24:58 +0000
Received: by outflank-mailman (input) for mailman id 394877;
 Tue, 30 Aug 2022 08:24:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSwYL-0005pQ-HZ; Tue, 30 Aug 2022 08:24:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSwYL-0001Ok-Ga; Tue, 30 Aug 2022 08:24:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSwYL-0000zi-83; Tue, 30 Aug 2022 08:24:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSwYL-0004Kb-7Y; Tue, 30 Aug 2022 08:24:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=F/jRf6ey8tIeRfYD+/pxb70okKWvwwWCmJe+0qj6sGo=; b=DP02KWSBChefH7TiYlp03BPxt5
	GrPO1wCwqWlZ74WuLUh97fns04SuPFokfDTEzGKPN2ZJkJsX4GHt9dgMnGOaopJpaBQFYYjd4mNzY
	MdtGylPj51hXWSQHdQJ14aZ6u4lJ40YLQsxmvyOPB2gJlHegWVchtfRSEjeSElREv/Co=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172863-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172863: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-pvops:kernel-build:fail:regression
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 08:24:57 +0000

flight 172863 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172863/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-pvops              6 kernel-build             fail REGR. vs. 172136

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   26 days
Failing since        172151  2022-08-05 02:40:28 Z   25 days  204 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    1 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 08:28:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 08:28:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394887.634465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwbW-0006Vo-In; Tue, 30 Aug 2022 08:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394887.634465; Tue, 30 Aug 2022 08:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwbW-0006Vg-Fo; Tue, 30 Aug 2022 08:28:14 +0000
Received: by outflank-mailman (input) for mailman id 394887;
 Tue, 30 Aug 2022 08:28:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSwbV-0006Va-8r
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 08:28:13 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr150082.outbound.protection.outlook.com [40.107.15.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae577a05-283d-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 10:28:10 +0200 (CEST)
Received: from DU2PR04CA0264.eurprd04.prod.outlook.com (2603:10a6:10:28e::29)
 by AS2PR08MB8480.eurprd08.prod.outlook.com (2603:10a6:20b:55e::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.16; Tue, 30 Aug
 2022 08:28:06 +0000
Received: from DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28e:cafe::fc) by DU2PR04CA0264.outlook.office365.com
 (2603:10a6:10:28e::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21 via Frontend
 Transport; Tue, 30 Aug 2022 08:28:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT030.mail.protection.outlook.com (100.127.142.197) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 08:28:06 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Tue, 30 Aug 2022 08:28:06 +0000
Received: from 89154155f9ad.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2CFDDBCD-609C-4A81-8F3B-3970111120F1.1; 
 Tue, 30 Aug 2022 08:28:00 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 89154155f9ad.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 08:28:00 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS2PR08MB8502.eurprd08.prod.outlook.com (2603:10a6:20b:55d::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Tue, 30 Aug
 2022 08:27:59 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 08:27:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae577a05-283d-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=g5RFiuMSrwm0hfamfO0QskLE6uqnan2cyLNFjqzwNnmKN9IkvpsPmt5x/GDxaIspS+Cc/uQqqRS1I2NdeVtVyoZPTKiU7qDcXPc82Y6qYoQcqUrLIqMAHC+nGwR6fmPTcILUNcPbLD/OSFAK6SnzFC4LhixWcRSycHmlbyLA1KZpAbRh3wc+5JIrGdwquQvE4S3qmZryS3NwAEdi4U1crYF1IbWdNZwcPxh91TsqJqZZNsQ3TjEFIvHqN150gVLKVMXUXkGem1w9dqh7oK1EJMoB0fITnLttPk9mkZE57xTTu6YACPaBqJxKPONNy7p3UhdYm9Ep+SPDvlki7XU+nQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/Gz9VEna7IoeZh6CVLVdPDf7X3QUEZFtyTORqhU2O2M=;
 b=EhCiwQt8uD7Z4CoOxomkd6jk7N6I/8O7Ag/PSssePSw4U0CZNzXA1sxqWBkX1+pFHctMSTZ6xkKgS28P9edmUYgO2/uvU9vsx+VXwtrtFDSXFrebBjNwz/m7UluPOW1xRoNYb6C+T8n8B0nCpGuxZn/jvKgO6M1LhS+se7/XRasJPKmomD7qc/HrWny8rdyeYplOo6ygNSGAYMmZRGbmuhTdobcbNikGRyTQ5UzHGDyWaQD067xOvd3yRjN2IxtVZxJRmjGnyAHhWW5nWLxei21IA3DcVd5GXke4chYSWVzbRtftw9vYdh77AqeCN00AI6YAKSVTD25v7UN2eoizsg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/Gz9VEna7IoeZh6CVLVdPDf7X3QUEZFtyTORqhU2O2M=;
 b=448briGjgl9ywKCc1rTECoL+NMiazyj4qjycskiekzh6Ki+Cy4BasCrgYb2YsQDXyDyuEi7VsvR/BYlq6okjAiLwkHptS67ew1s+3f/xu5wqFNeBTd4r1iEfPaaOyb3wiPu50LcIhmv6uLVevODWOLLlVEgCa3f+l9OQCtDxj0U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gIufgylHKZ9J1lCEfdRSAyp3sMETr93cSAQQShg0z8HejDjYixamSBg4g+2sgCBmz9O2yOGFFoscDMBswmqa+U5GgPayOUpHRFYGFDre1EljvpPdvRm2wEC8Fuv4PlRTL0+DG4jwNmIr316mrrU7AIe1MXYO2s9WAardTEnVbnrEYrEEbqsBUta/q2WzPL4i0EasvxGQ6LolXxic/eUsIdQ2sDuX4SN6RF/uJmG/X97AzOmF+jy0Dp7NJDA2OvQa+7xFnAIZEcbIOFN29q1o/c6Y5Fqzyd4Mgnj44GSj/ylaSODOGpPPIvcqV6Ta7WeVWW3gufiqmH1S1tHswjP/QA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/Gz9VEna7IoeZh6CVLVdPDf7X3QUEZFtyTORqhU2O2M=;
 b=D4/d46Z3TnHpj+opGAm5dkMYqffGDkArf5jCzIMeoYvZboJwWJldcqEprickfzwtgtp7t/AZsEIQxHqIoJm9nHbLgFt4q6yQCOTEkgpbYFIl1B6J9+lHY/MI4lcuA7ncA1B0g4kg8UmTvVI+XE7yFOFNJvMAUm4plB5LoKfAet7m1M1qbPiXNQKyQ/ge1sgJFcWR3K1a8lwvii0KEjClzt3gbKsiPoEIQ4PKagCjHanDf1td6LsJsnou9UQD0wNuWPuelOnhzvE6GIAh/NwtrodcWZQ950w/378VTyL/nXEFgQ+XuTAY2Ob3Qbx004ZdlHLFgxnO/glf4vz3ls5I+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/Gz9VEna7IoeZh6CVLVdPDf7X3QUEZFtyTORqhU2O2M=;
 b=448briGjgl9ywKCc1rTECoL+NMiazyj4qjycskiekzh6Ki+Cy4BasCrgYb2YsQDXyDyuEi7VsvR/BYlq6okjAiLwkHptS67ew1s+3f/xu5wqFNeBTd4r1iEfPaaOyb3wiPu50LcIhmv6uLVevODWOLLlVEgCa3f+l9OQCtDxj0U=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Topic: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Index: AQHYt4ugTfbCAM/WyEil7pMplK0r3q3GqcQAgABmBoA=
Date: Tue, 30 Aug 2022 08:27:58 +0000
Message-ID:
 <AS8PR08MB79912EF49AEBA8E5B18B8C7F92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2208291755450.1134492@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2208291755450.1134492@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: AFB3D0CE0BAA914094EEFB05C0D14CEB.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: f3cacc60-4b5c-483e-ee22-08da8a619022
x-ms-traffictypediagnostic:
	AS2PR08MB8502:EE_|DBAEUR03FT030:EE_|AS2PR08MB8480:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 /C0dsJ2HfwImk80b1dsLwYnd7iA2VzYoEGl7Lp/trMEjB96M+K8LeHXDEP5ubuiYVB1c9sWhUBkYpvCdq+R7tgHRADs5oYtKNJ3UIWaclX+22KwehMnaoj6wxclXw8Au4A8T0eGc5q3ghQZsVYuScWldtr6NzW6rtDUOqW+18050tlnH7TM8rueV3G/xPPvQC1/O/29CRGKOGKbQzFVK+rTp10kykI2RMxZB5ilrleOTS5nU1wKbE6I75DbRF3PzLXml5MqbASDNtcXVyjExskb/i0hXaNX1i49WcvAwf0wI70ZgnGVrkhSPzWCt3lc+jLM4oREIIXSdfmLX5Mp3y8hdT/2MI/JJWAhEGTt7HH+lumPKNHYH8JE4UssdA7rS+fGbMIOWzu6fAEGHKSS5a5rcNSAhlMTjrlX28qAHjxYMVYyXD1KVVDn3oRU5fE5wkk4KrEnc7K/d1tqrUPCy94TF+mO7oYVnoVWJzdKC64qwm3hBlnWvf1AAIUEa+Lx9Rr3fzWObVOHttvD01jKOUbxsnIM6a72jpuzCFhpAqtQ4OmX7ffrCwlw1OxPSxuCrNi7OiJaXSU8zFwSyQ5KV2gSocuc9gyzELxkji8gFxR7eA+hZTJDe8mx6eUjrR3L9hJN0705PS4HhUE1yQEP8JgiMGigC0uOAoUV7XGAB/UjrITq6LwDI3qWrAaGuzrbKcf4Crnb8toZMs4mXzzE5bRhjtfyAx7JSncciPif+lqQK8MIYNTqRkHqbiaByNURe7MUA+Hp0Dly2Ql6DViuPJw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(366004)(136003)(39860400002)(376002)(186003)(83380400001)(6506007)(41300700001)(26005)(33656002)(7696005)(2906002)(478600001)(122000001)(38100700002)(55016003)(66446008)(9686003)(4326008)(64756008)(8676002)(71200400001)(66556008)(66946007)(76116006)(5660300002)(66476007)(8936002)(38070700005)(52536014)(316002)(86362001)(6916009)(54906003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8502
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6ff60193-728c-46d4-6c7a-08da8a618be6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nUJX6RZOQ8okwCFmz9xEJMQ3RJen99P0Y1+uxs+QmrB12N0bnj5O4A6Hcr3dSEPpKs+c5pcBUpCW1gf0eE3bFoNCdV/FzLSC70UMNDMcsnTwzlOdj5PXWlrIt+ETGgqmlgn/tJGnHeOH/B8NqVcGWcqIMiGvc6mfK7/apync3/RBOk5Ez/UA6O3qkSghy3t5w5XbJPKEchRPoFqZYL+1fZAhtig7HqSpi5JTBmwhyKc9ye2jmN6hCl0ZJxPRoRK3z4qcep+jGP2A3r/MpRmet6brjdcl3h+fmWlKJKFKsJK8CBfPIEkKmdwwFQBfW93wRn9IRatInyGg1td2L128x8iOdBFRTM5TgcCrWL186vbR3sGDSrhBUJFqXQexG0FkwtkeWcvpOSLRssR0+O6KBCbdY4yqv4AVb7DVoMdSbysDsE0TStS2gyYs3S3pRBo1NFo9TY3wNTztxrZhsoR+VfRmIkC9VWMahT6cU9m0hHxPEuz6rRJK3b4OD2LSZ+OhcwgR3zg1NT7dG8/89iRzyX3DslJOYsSam3vZHbG9dFZkgVdn3m24PO+1Ej1/XuWSSGAtPaLOMiI1yPtrnBc4az+N46gaz9A6sik530sYEQYsnLTcaiuxc16zvu3UWt9gPprYch8tf/dwXPUwDnIb7ja2sFvLUTv5WGNPBnl38SOTzv3Yyn9s5zHpCWSE3daD++rEihNQ3v4ih0jPjCcmqbEK9ubLsmHfcf72xL0saWQZoITghVZTwinsfiufrd+gLAXudAXyNExVsnpA83EY6Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(346002)(136003)(376002)(396003)(40470700004)(46966006)(36840700001)(7696005)(356005)(33656002)(81166007)(82310400005)(82740400003)(70586007)(26005)(9686003)(107886003)(6506007)(70206006)(40480700001)(36860700001)(55016003)(86362001)(40460700003)(41300700001)(336012)(83380400001)(6862004)(8936002)(186003)(316002)(2906002)(5660300002)(47076005)(54906003)(8676002)(4326008)(478600001)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 08:28:06.1015
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f3cacc60-4b5c-483e-ee22-08da8a619022
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8480

Hi Stefano,

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@kernel.org>
> > +    paddr_t reserved_heap_start =3D ~0, reserved_heap_end =3D 0,
>=20
> INVALID_PADDR or ~0ULL

Ack.

>=20
> >      /*
> >       * If the user has not requested otherwise via the command line
> >       * then locate the xenheap using these constraints:
> > @@ -743,7 +766,8 @@ static void __init setup_mm(void)
> >       * We try to allocate the largest xenheap possible within these
> >       * constraints.
> >       */
> > -    heap_pages =3D ram_pages;
> > +    heap_pages =3D !reserved_heap ? ram_pages : reserved_heap_pages;
> > +
> >      if ( opt_xenheap_megabytes )
> >          xenheap_pages =3D opt_xenheap_megabytes << (20-PAGE_SHIFT);
> >      else
> > @@ -755,17 +779,21 @@ static void __init setup_mm(void)
> >
> >      do
> >      {
> > -        e =3D consider_modules(ram_start, ram_end,
> > +        e =3D !reserved_heap ?
> > +            consider_modules(ram_start, ram_end,
> >                               pfn_to_paddr(xenheap_pages),
> > -                             32<<20, 0);
> > +                             32<<20, 0) :
> > +            reserved_heap_end;
> > +
> >          if ( e )
> >              break;
> >
> >          xenheap_pages >>=3D 1;
> >      } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-
> PAGE_SHIFT) );
> >
> > -    if ( ! e )
> > -        panic("Not not enough space for xenheap\n");
> > +    if ( ! e ||
> > +         ( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) =
) )
> > +        panic("Not enough space for xenheap\n");
>=20
>=20
> I would skip the do/while loop completely if reserved_heap. We don't
> need it anyway

I agree with this.

> and we can automatically calculate xenheap_pages in a single line.

Here I am a little bit confused. Sorry to ask but could you please explain
a little bit more about why we can calculate the xenheap_pages in a single
line? Below is the code snippet in my mind, is this correct?

if (reserved_heap)
    e =3D reserved_heap_end;
else
{
    do
    {
        e =3D consider_modules(ram_start, ram_end,
                             pfn_to_paddr(xenheap_pages),
                             32<<20, 0);
        if ( e )
            break;

        xenheap_pages >>=3D 1;
    } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT)=
 );
}

>=20
> >      domheap_pages =3D heap_pages - xenheap_pages;
> >
> > @@ -810,9 +838,9 @@ static void __init setup_mm(void)
> >  static void __init setup_mm(void)
> >  {
> >      const struct meminfo *banks =3D &bootinfo.mem;
> > -    paddr_t ram_start =3D ~0;
> > -    paddr_t ram_end =3D 0;
> > -    paddr_t ram_size =3D 0;
> > +    paddr_t ram_start =3D ~0, bank_start =3D ~0;
> > +    paddr_t ram_end =3D 0, bank_end =3D 0;
> > +    paddr_t ram_size =3D 0, bank_size =3D 0;
> >      unsigned int i;
>=20
> Please use INVALID_PADDR or ~0ULL

Ack.

Kind regards,
Henry

>=20
>=20
> >
> >      init_pdx();
> > @@ -821,17 +849,36 @@ static void __init setup_mm(void)
> >       * We need some memory to allocate the page-tables used for the
> xenheap
> >       * mappings. But some regions may contain memory already allocated
> >       * for other uses (e.g. modules, reserved-memory...).
> > -     *
> > +     * If reserved heap regions are properly defined, (only) add these
> regions
> > +     * in the boot allocator.
> > +     */
> > +    if ( reserved_heap )
> > +    {
> > +        for ( i =3D 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
> > +        {
> > +            if ( bootinfo.reserved_mem.bank[i].xen_heap )
> > +            {
> > +                bank_start =3D bootinfo.reserved_mem.bank[i].start;
> > +                bank_size =3D bootinfo.reserved_mem.bank[i].size;
> > +                bank_end =3D bank_start + bank_size;
> > +
> > +                init_boot_pages(bank_start, bank_end);
> > +            }
> > +        }
> > +    }
> > +    /*
> > +     * No reserved heap regions:
> >       * For simplicity, add all the free regions in the boot allocator.
> >       */
> > -    populate_boot_allocator();
> > +    else
> > +        populate_boot_allocator();
> >
> >      total_pages =3D 0;
> >
> >      for ( i =3D 0; i < banks->nr_banks; i++ )
> >      {
> >          const struct membank *bank =3D &banks->bank[i];
> > -        paddr_t bank_end =3D bank->start + bank->size;
> > +        bank_end =3D bank->start + bank->size;
> >
> >          ram_size =3D ram_size + bank->size;
> >          ram_start =3D min(ram_start, bank->start);
> > --
> > 2.17.1
> >


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 08:37:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 08:37:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394894.634479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwko-0007zE-If; Tue, 30 Aug 2022 08:37:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394894.634479; Tue, 30 Aug 2022 08:37:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwko-0007z7-G2; Tue, 30 Aug 2022 08:37:50 +0000
Received: by outflank-mailman (input) for mailman id 394894;
 Tue, 30 Aug 2022 08:37:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSwkn-0007yx-5j; Tue, 30 Aug 2022 08:37:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSwkn-0001d0-3r; Tue, 30 Aug 2022 08:37:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSwkm-0001dr-6c; Tue, 30 Aug 2022 08:37:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSwkm-0000bN-44; Tue, 30 Aug 2022 08:37:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GsVKxT4WRhO/t8y6hz2pOwFJeauf9W0fVAPexkaT3lo=; b=nI8x5jQTPQAfU6dKvcKOJZIhO5
	RlhGfHAgonR4jwcIcxVehN6QgUDfY9l6CurcrFrMfCO3uGv7F+4Z/UlxNIh77LRrkyFQaq+CDhJHb
	yP6yShDsMvFyuoy3QOWKgfGvbFl40fTIeC3VLYsuFAO2oCXESA8tG9sAfg++gva+ZLGQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172859-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172859: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:xen-boot/l1:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    qemu-mainline:test-amd64-coresched-i386-xl:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:capture-logs/l1(17):fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 08:37:48 +0000

flight 172859 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172859/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail in 172852 pass in 172859
 test-amd64-amd64-qemuu-nested-intel 16 xen-boot/l1 fail in 172852 pass in 172859
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 172852 pass in 172859
 test-amd64-coresched-i386-xl 20 guest-localmigrate/x10     fail pass in 172852

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel 17 capture-logs/l1(17) fail in 172852 blocked in 172123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   26 days
Failing since        172148  2022-08-04 21:39:38 Z   25 days   58 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    5 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 08:48:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 08:48:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394904.634489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwv3-00018a-Lv; Tue, 30 Aug 2022 08:48:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394904.634489; Tue, 30 Aug 2022 08:48:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSwv3-00018T-JD; Tue, 30 Aug 2022 08:48:25 +0000
Received: by outflank-mailman (input) for mailman id 394904;
 Tue, 30 Aug 2022 08:48:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bSYc=ZC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oSwv3-00018N-4b
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 08:48:25 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2060.outbound.protection.outlook.com [40.107.101.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8090e2d2-2840-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 10:48:23 +0200 (CEST)
Received: from DM6PR02CA0067.namprd02.prod.outlook.com (2603:10b6:5:177::44)
 by DM4PR12MB5279.namprd12.prod.outlook.com (2603:10b6:5:39f::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Tue, 30 Aug
 2022 08:48:19 +0000
Received: from DS1PEPF0000B075.namprd05.prod.outlook.com
 (2603:10b6:5:177:cafe::99) by DM6PR02CA0067.outlook.office365.com
 (2603:10b6:5:177::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Tue, 30 Aug 2022 08:48:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000B075.mail.protection.outlook.com (10.167.17.6) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5588.7 via Frontend Transport; Tue, 30 Aug 2022 08:48:19 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 30 Aug
 2022 03:48:19 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Tue, 30 Aug 2022 03:48:17 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8090e2d2-2840-11ed-a60c-1f1ba7de4fb0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HetMtg1lHqoMqbOxQ3SBvyFACZv/6QZek29mudjMNx/YeVR07l0v+pcWxflgqr6YDRM/AXZn9dk3kvc7pKvOgC1uwt+r+RYvCv87Uwoe7SEUyPpVKsOyoe5QXB9XPr7c49JU8ApInmChKJRqjYlNJztMsOuNyh9Oag7skChQG/Wdq1H3X4a4FfmlbgaO/Bbnk6vx2vKTQvi3t12Y5CYcb0SH1JMytnL/L6Yy9rhKzVVCE4mgyKwojjCeKGFvASy/a6BkzuPoW3CxmdF3mdtE4MaS9Wr+aS0aBb5YceakVvv5EoKFKRPWLqbrOMmrcCN9YMxJw3NYm82OqkTKj0WNcw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ztxM+hr2zJzn43pWTsJvzqiQDjunNWsEUXTnlUUm1hs=;
 b=Aw9QOuJnlj9BzcrcURAy17NZbTGMimt0n4Rjr3oeRVz11wTUeqZtj/WsaBQQQDyYt3N8g+Ntok8hQW/EpeWEXtkyS04n4/kqaOF+aF36PTTbJqxkyhn1/pycLhCm5FIw3OdVi/SJhef71a2rnjtRnIuK8okUUlPkPLwnl+lCVrki5SlyK8IuTpFnzv6SdCLBNFLBuMjUvA3qZoxuwypGqLcqT9ZOT+OXdrzGTkSz+b4orN8N4ryzvyvKdMC68biTd2o2anQJd0ANePFgNEIFchO05pcxFz8fTg6zGNpEApyHMate8fEJ1f8EEMa1alkEnqueAZA4lT4RAAN8N2dQ6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ztxM+hr2zJzn43pWTsJvzqiQDjunNWsEUXTnlUUm1hs=;
 b=l42qV8xF8lsjp6hRuIEN3hLmMYrSpdYngsghc9crFIOMhKSgK1+mnaOg703kTHLJwdWO+v4o2q/nGP4Ebhy2GidAvs+J/JP0hXN7BlsTo6hu/TPWySgL8+ZcIZiyUZWdyjxoCF6ucMSLViCWALA9Tvf6sioPPmtsOkG/QXoif9c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <536cad9e-53b5-2eae-0cd4-06f899229470@amd.com>
Date: Tue, 30 Aug 2022 10:48:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.0
Subject: Re: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
 <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
 <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3f24ee58-2e6b-45f7-bf7a-08da8a64637a
X-MS-TrafficTypeDiagnostic: DM4PR12MB5279:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mbzRoAC08DKbTz57/kB42rhxyOpQxp6MWx4juI6WHd1vj6GFg9xyABF1fuHHIMMIZm9M/KiEjamCWTYxd8NBu7jxy6l7Mfj8BaFUVTl+VitGAtFbCRrL2WU7W+Yvv+YCDP8YFDD36v3Tk9axbGL9Hyni3pWQYHeqBACr2iS9DQuPBZdzTtUqAWso7jsQnYhOFYuPL7Lfo+9dga3bgcJVYB/oDi+NcMbCA0JqjjFPlZSYIXDFvdzqHB6rXmhXfdhVQBqiBEXiozdwrYmwqb2VxHtO8emA4pmwTmbPIBkur1RDfsa+WJmu3dynKyAtxdZ5Zbk1vpwkHiHRXcljS/eRpBMYRa3XfUuZx6EJDqMI7vq4LOH6dqa7gZl2UE3K0YT4R4OPEPy8gpBqErztUpukLayEJSUAIP8fccsMIhLs5UFnMNCA8gvguYPFVXyz//6cAIl92smrgHhkBEC/oys7RMCCX/QqMN0hdeMHdLgmW8t3rVRXmWzdlyi2lyJisnNnKysvW6ncOB0keEPgiD1wjvsidwyuFA8uq2R9g3cnrhLZU/uqnqNxAoBY5aHVzPDdvm9fqOB//Ig82TYMGGmwRBpUgRJhooxApePbW1MA9Yf5SYhTzNaz8r2mugiuWP7Z2F7bznYEaAQ6Jw2/iNobupixFQFXDWwF4lsjQKaywtEdbvr40B21gLOzqO5UKr99bxT2dzxzr57ZBOIfL5OnN8tLaDA6JF01x65SOuubew5Xdfm/MdDClWggdVwnpKnqPrJQEnqTHjC0rIu3zx6lgD/JiNxUtsZkJNeCNM5jHelEKt8ErmjvCu2j5hVlu8Dvfm5Dt8SS0eD8xNX2KieK3A==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(39860400002)(136003)(396003)(40470700004)(46966006)(36840700001)(40480700001)(53546011)(86362001)(82740400003)(82310400005)(31696002)(478600001)(6666004)(41300700001)(186003)(336012)(40460700003)(81166007)(356005)(83380400001)(47076005)(36860700001)(44832011)(426003)(110136005)(54906003)(4326008)(8936002)(5660300002)(8676002)(70206006)(36756003)(16576012)(31686004)(2906002)(316002)(26005)(2616005)(70586007)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 08:48:19.5604
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f24ee58-2e6b-45f7-bf7a-08da8a64637a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000B075.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5279

Hi Henry,

On 30/08/2022 10:00, Henry Wang wrote:
> 
> Hi Michal,
> 
>> -----Original Message-----
>> From: Michal Orzel <michal.orzel@amd.com>
>>>>>
>>>> Did you consider putting reserved_heap into bootinfo structure?
>>>
>>> Actually I did, but I saw current bootinfo only contains some structs so
>>> I was not sure if this is the preferred way, but since you are raising this
>>> question, I will follow this method in v2.
>> This is what I think would be better but maintainers will have a decisive vote.
> 
> Then let's wait for more input from maintainers.
> 
>>
>>>>>
>>>>> -    if ( ! e )
>>>>> -        panic("Not not enough space for xenheap\n");
>>>>> +    if ( ! e ||
>>>>> +         ( reserved_heap && reserved_heap_pages < 32<<(20-
>> PAGE_SHIFT) ) )
>>>> I'm not sure about this. You are checking if the size of the reserved heap is
>>>> less than 32MB
>>>> and this has nothing to do with the following panic message.
>>>
>>> Hmmm, I am not sure if I understand your question correctly, so here there
>>> are actually 2 issues:
>>> (1) The double not in the panic message.
>>> (2) The size of xenheap.
>>>
>>> If you check the comment of the xenheap constraints above, one rule of
>> the
>>> xenheap size is it "must be at least 32M". If I am not mistaken, we need to
>>> follow the same rule with the reserved heap setup, so here we need to
>> check
>>> the size and if <32M then panic.
>> This is totally fine. What I mean is that the check you introduced does not
>> correspond
>> to the panic message below. In case of reserved heap, its size is selected by
>> the user.
>> "Not enough space for xenheap" means that there is not enough space to be
>> reserved for heap,
>> meaning its size is too large. But your check is about size being too small.
> 
> Actually my understanding of "Not enough space for xenheap" is xenheap
> is too large so we need to reserve more space, which is slightly different than
> your opinion. But I am not the native speaker so it is highly likely that I am
> making mistakes...My understanding is exactly the same as yours :), meaning heap is too large.
But your check is against heap being to small (less than 32M).
So basically if the following check fails:
"( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )"
it means that the heap region defined by a user is too small (not too large),
because according to requirements it should be at least 32M.

> 
> How about changing the panic message to "Not enough memory for xenheap"?
> This would remove the ambiguity here IMHO.
> 
>>
>>>>> +     * If reserved heap regions are properly defined, (only) add these
>>>> regions
>>>> How can you say at this stage whether the reserved heap regions are
>> defined
>>>> properly?
>>>
>>> Because if the reserved heap regions are not properly defined, in the
>> device
>>> tree parsing phase the global variable "reserved_heap" can never be true.
>>>
>>> Did I understand your question correctly? Or maybe we need to change the
>>> wording here in the comment?
>>
>> FWICS, reserved_heap will be set to true even if a user describes an empty
>> region
>> for reserved heap. This cannot be consider a properly defined region for a
>> heap.
> 
> Oh good point, thank you for pointing this out. I will change the comments
> here to "If there are non-empty reserved heap regions". I am not sure if adding
> an empty region check before setting the "reserved_heap" would be a good
> idea, because adding such check would add another for loop to find a non-empty
> reserved heap bank. What do you think?
> 
> Kind regards,
> Henry
> 
>>
>> ~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 09:18:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 09:18:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394910.634501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSxNj-0004P0-VK; Tue, 30 Aug 2022 09:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394910.634501; Tue, 30 Aug 2022 09:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSxNj-0004Ot-RH; Tue, 30 Aug 2022 09:18:03 +0000
Received: by outflank-mailman (input) for mailman id 394910;
 Tue, 30 Aug 2022 09:18:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSxNj-0004O2-61
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 09:18:03 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a543f2a9-2844-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 11:18:01 +0200 (CEST)
Received: from AM5PR0601CA0080.eurprd06.prod.outlook.com (2603:10a6:206::45)
 by AS8PR08MB7693.eurprd08.prod.outlook.com (2603:10a6:20b:50b::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Tue, 30 Aug
 2022 09:17:59 +0000
Received: from AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:0:cafe::e8) by AM5PR0601CA0080.outlook.office365.com
 (2603:10a6:206::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend
 Transport; Tue, 30 Aug 2022 09:17:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT029.mail.protection.outlook.com (100.127.140.143) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 09:17:59 +0000
Received: ("Tessian outbound cc6a8ab50b6b:v123");
 Tue, 30 Aug 2022 09:17:59 +0000
Received: from dd582148aecf.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1202B6B1-DBC8-40E2-BCD2-DFA46E7DA6F9.1; 
 Tue, 30 Aug 2022 09:17:48 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dd582148aecf.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 09:17:48 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAWPR08MB9055.eurprd08.prod.outlook.com (2603:10a6:102:343::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.19; Tue, 30 Aug
 2022 09:17:37 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 09:17:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a543f2a9-2844-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AkIYCNHTe44POMlsFNnT/bHMREggUiRhk+UFaPAVIFeupez9dXv9X7SWDikFMMK8A0LEqgqRYqUQCh68PL6USrckTncjDhWRtFf6OoV72s3+jFmwicdWnwtW1Vfq6chiuvQdFAC+2KaHZuxVyDIFdtoEF//3xzPa41nf9dLrizlrVDpeNZbtXiSz5hkFJMl0DkKF4fr6XJQLJ7rOu1X6RjUWDwF3LV7orRM9a0jFqus1BVGzLGd5ocNGyJP8W5jIKnoNtdf/ABM4jF5ZHNNnrM1g197xVtdNKZc8+fzQjzD1bzYDW7PqwyYoBR3TuHwgjDBEIYo8lHqQ/7t/dclMuQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U4CXnsArGcDUZI14zv4DeQPs0Vt2NmkQTfi4JcXNyIs=;
 b=e7jIW8z4EYlvjOSXzSRumHmld6jNObh+s8O81kXTFmOgE8DZT3huEnyisXGBO2OZ7KtcMSG+k6tVxdrofkRraf7imCQUvahq6W8xO9dBrR/NiJUuaPVGWJEtcCivVjkBrbnvwHjL1nyiTEJgwOSgTQ2vX6k9lnBGcYvbeYL4CfgY1UMk67IeRBO5f6hCFEmM8En2Au7pFHH1S0J3HLUc7MZE6SaY9dZhGlF+WnlwMNidy589buZdwWWypfURZcNW2Pf4WY///7c2ObUTJLeDblFel1wYq787crdh3GfBv75FftzGXmXzbdLOF0tBIs24zGIAZkHIi97QqCJeN+a6VQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U4CXnsArGcDUZI14zv4DeQPs0Vt2NmkQTfi4JcXNyIs=;
 b=Z2HaRsDeYlq2oRQoJgeBousSXWqEgVFhTZPFG/mncMSAYTDdGOsKjmUTb0yxEx/g+/oL9/owwFy7kOb8qonKJM/YCYlmX382OKJP7Og8jjRHtjCMFwU/EP7oo0pVcj2/q4c3fBkL87LQikUrCE8+b02PPVeloruNFk3bYvqfLvA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Nzn8ZSCWab7uoCuDc16nzPDwgdoeZ9rBMrMW50kf6aJPAx77D5El9lURgG5jSgvdMXNNPNjc9giWw7RRVXUKX8U6fliM2veDW5Fy2m3JF+Jl+sUTtkUcEK/NfcMf6euWYhMuuy7uCUu0IUpb4Oxm9Qq/nrWk9P3NlTcd00J61h4mJHl0EAKLxLvstbvZjH363n2//dVnLcpkhlRFkVdge240zCs1yFxI7F1sheKKRm1zldHjivvfed2r46w06dL+b9BHhd6vI5Zw6j3f0sBPT3celriqGfbW7QlbT9n/9/RglaNcwu8CryYO49UvSn99keXrkxNXN1ASG4UApJt0oA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U4CXnsArGcDUZI14zv4DeQPs0Vt2NmkQTfi4JcXNyIs=;
 b=cOkA1gO9YxyDh63Pap4jbuyzuygoeRnMxmu//mHJaYzEjKz5rravsQTjavnXrPiJQW+mQ9wYHd2uB0usnfMPjmo4RvtgSpYtc2rkSkX49h5bvHom1ofU9vrUuQWuL6OesX4wBPSr1MIjz8NbMr+Z2alw+rMhJ4H7N2fud3jEtjMDawCHSm1765a2oGgu++FlcH9fYKyuF/2NlIXb9Wfmx0wwgb8k2ORE+ch0UUL9L48JKon1ZopBnhGHB7yxU0Q8qT/tuSayThH58Qp/aFfTVqYb08GhZkzXqz+DDxbUYGfps0DkCmdwuY+Uev+z2RBtP+GcMCDEY3gy2kS9kn7U1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U4CXnsArGcDUZI14zv4DeQPs0Vt2NmkQTfi4JcXNyIs=;
 b=Z2HaRsDeYlq2oRQoJgeBousSXWqEgVFhTZPFG/mncMSAYTDdGOsKjmUTb0yxEx/g+/oL9/owwFy7kOb8qonKJM/YCYlmX382OKJP7Og8jjRHtjCMFwU/EP7oo0pVcj2/q4c3fBkL87LQikUrCE8+b02PPVeloruNFk3bYvqfLvA=
From: Henry Wang <Henry.Wang@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Topic: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Index:
 AQHYt4ugTfbCAM/WyEil7pMplK0r3q2/e0SAgAeAsxCAABaogIAAAyrggAAVl4CAAAH9oA==
Date: Tue, 30 Aug 2022 09:17:36 +0000
Message-ID:
 <AS8PR08MB7991C3859BA3BAF913D50E1C92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
 <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
 <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <536cad9e-53b5-2eae-0cd4-06f899229470@amd.com>
In-Reply-To: <536cad9e-53b5-2eae-0cd4-06f899229470@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 1E9E8BCD29A7844BB5F42E8323C6C6C0.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 3df6ddfb-3776-4d44-0849-08da8a68884f
x-ms-traffictypediagnostic:
	PAWPR08MB9055:EE_|AM7EUR03FT029:EE_|AS8PR08MB7693:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1d3v3uwB/vTn4v3kI/VJRww8hLB0w0cMGn0Ym8RCTSQFuqNRnhI2BK9gaW3mI8C5Q6UypkylRvWGCB+J8fWOag0FSBsalKS1/5uS5vfzv0o7XytNKf8ti0WnfgrkLO7dxryvx6ecXeRciMSufZEGSh3SY/2w9q+MF1v0pYU4Tp2ep0p72g0AgSusqP8rrZBuasXDALOfbY7dnGBYwYoTrSKqnwS6D2RKe6e46VB2op+EnGVp3EYl+eyvArJpyGfyJW0TcculDW4HCRf+aegnCXkGg22usjzE8mQX96kbcuZEGYNf4ByFrqDhsW94wuc05LF3UmevyHQklv9jesik7Pkt6F3DmVQPFcTiyPlSGgJIo5DZE0FrmCDHjk4xnxjb64cvd5OIpvOkcBwn28vL9N/QQG6ejwsGxNER4Tl7bEXJLGBSBN+X3hqV/aEBYxA2McrsQo9hAYPMnGC+FFKjVSNvXYgAuRihm2pC2mRCz/H23Puk8rIdVM2lS2J3TxaJBI8iZJSdH6J224tMHkis63dMDTo8RDFH8Sg8mYiZNn9Aqvxqis9yCOFvKFiDVKoOWaTr2sYl09SNF34LXWngsNk2YNlVeHGtyfNgR8zZRbFFx9uuqOfaPIpOysfNTI5dYbEvr1ALEZyyDQlbhH3ktCHOfK4+PYvQqrqkHysG04O30q6l3l2+U1AtgZWw2l11vQqjtPdZ6E3JWrlb4sxbCnX2VCw0VzbC599F1hOxiHG60XkU4Wp6svM4Lgw3mW1mWX4SBS1MpNKyn5Pg7D7H2Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(366004)(376002)(396003)(186003)(33656002)(38100700002)(6506007)(71200400001)(316002)(2906002)(83380400001)(7696005)(26005)(9686003)(86362001)(38070700005)(55016003)(122000001)(8936002)(52536014)(478600001)(41300700001)(54906003)(110136005)(5660300002)(66946007)(66476007)(4326008)(64756008)(66446008)(8676002)(76116006)(66556008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9055
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7b981fef-f289-413e-d4e8-08da8a687ac0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6bFM5L0odnv9usDjh1GuJBEeFNfhPq1kqQ8C6+N3ExeTX9ZrK+Bsb+nTQK+2RJTdqbfdM4nzBg//KsHM+ojpOBL246J8vqAg+dENpx2eN/q0UvdJggq6gxlI1XHc3CHK/RxMMh7cL47H3O3CbQYbcKKjQXtXOf60r1bXzeugLOCsP9mNOmvFZyeEnllGxvj5QtbMTIG4jkUAPGkFEYrEp+z48y+0OptS+FMshrfmMiVTSpazbIydivpVJtXqZUAi9l26SLtqgLp9bE1Oq456U89q9HjXvw9CQbwYH3LSpYWSAo/BgQQKb486cEjL5akV4NpXP7yeftXsFqJakE6Rhb+01koabrtbEBykwaL5COn9r3nNfPMNTKWSODOYhOB6lphJb4VqZ8vbl+xW8SrJwxPZQM/FuNikmxbH9E9hhj7f4KhLzkGhacgkifFWRKw9FDvBbWEFBAvkrOoI4pw0V8sXFHTQcGwZVp0Hz6yX2wYHvUX5YgpK77cmB8ASDrzeE4nRUipRaQEA4jioqCQY9PS7MnDB8yZNE36GJ9pqFLYsD3aMsIwWEGCMnmk0FN9VbBGx5T7vdpWBRjKlIsTeoMYOvjZOASxNQsQv1rgcPHCiXOlta1Gu0s3XK61CfIoQXXNKOtnPZn0EcTZoK5s8RrLZv+L0ehkxwdjcY09e03doqdPj0dbIVcEdOqwf0v/t/1aIHFiiK3Mm6q2rtV1GYUHHTIx/pCigQ6DNp0sx93oJP2pczrSzpRVKHKXzmNd5rnmiO9SlAeYhqFluf5NEKg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(376002)(39860400002)(346002)(46966006)(36840700001)(40470700004)(41300700001)(7696005)(478600001)(6506007)(107886003)(26005)(186003)(83380400001)(47076005)(336012)(82310400005)(2906002)(55016003)(8936002)(52536014)(5660300002)(110136005)(40460700003)(40480700001)(316002)(9686003)(54906003)(70586007)(8676002)(70206006)(356005)(4326008)(81166007)(86362001)(82740400003)(36860700001)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 09:17:59.3678
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3df6ddfb-3776-4d44-0849-08da8a68884f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7693

SGkgTWljaGFsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hh
bCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+DQo+ID4+IFRoaXMgaXMgdG90YWxseSBmaW5l
LiBXaGF0IEkgbWVhbiBpcyB0aGF0IHRoZSBjaGVjayB5b3UgaW50cm9kdWNlZCBkb2VzIG5vdA0K
PiA+PiBjb3JyZXNwb25kDQo+ID4+IHRvIHRoZSBwYW5pYyBtZXNzYWdlIGJlbG93LiBJbiBjYXNl
IG9mIHJlc2VydmVkIGhlYXAsIGl0cyBzaXplIGlzIHNlbGVjdGVkDQo+IGJ5DQo+ID4+IHRoZSB1
c2VyLg0KPiA+PiAiTm90IGVub3VnaCBzcGFjZSBmb3IgeGVuaGVhcCIgbWVhbnMgdGhhdCB0aGVy
ZSBpcyBub3QgZW5vdWdoIHNwYWNlIHRvDQo+IGJlDQo+ID4+IHJlc2VydmVkIGZvciBoZWFwLA0K
PiA+PiBtZWFuaW5nIGl0cyBzaXplIGlzIHRvbyBsYXJnZS4gQnV0IHlvdXIgY2hlY2sgaXMgYWJv
dXQgc2l6ZSBiZWluZyB0b28gc21hbGwuDQo+ID4NCj4gPiBBY3R1YWxseSBteSB1bmRlcnN0YW5k
aW5nIG9mICJOb3QgZW5vdWdoIHNwYWNlIGZvciB4ZW5oZWFwIiBpcyB4ZW5oZWFwDQo+ID4gaXMg
dG9vIGxhcmdlIHNvIHdlIG5lZWQgdG8gcmVzZXJ2ZSBtb3JlIHNwYWNlLCB3aGljaCBpcyBzbGln
aHRseSBkaWZmZXJlbnQNCj4gdGhhbg0KPiA+IHlvdXIgb3Bpbmlvbi4gQnV0IEkgYW0gbm90IHRo
ZSBuYXRpdmUgc3BlYWtlciBzbyBpdCBpcyBoaWdobHkgbGlrZWx5IHRoYXQgSSBhbQ0KPiA+IG1h
a2luZyBtaXN0YWtlcy4uLg0KPiBNeSB1bmRlcnN0YW5kaW5nIGlzIGV4YWN0bHkgdGhlIHNhbWUg
YXMgeW91cnMgOiksDQo+IG1lYW5pbmcgaGVhcCBpcyB0b28gbGFyZ2UuDQoNCk9oIEkgdGhpbmsg
Z2V0IHlvdXIgcG9pbnQuIExldCBtZSB0cnkgdG8gZXhwbGFpbiBteXNlbGYgYW5kIHRoYW5rcyBm
b3IgeW91cg0KcGF0aWVuY2UgOikpDQoNClRoZSByZXNlcnZlZCBoZWFwIHJlZ2lvbiBkZWZpbmVk
IGluIHRoZSBkZXZpY2UgdHJlZSBzaG91bGQgYmUgdXNlZCBmb3IgYm90aA0KWGVuaGVhcCBhbmQg
ZG9tYWluIGhlYXAsIHNvIGlmIHdlIHJlc2VydmVkIGEgdG9vIHNtYWxsIHJlZ2lvbiAoPDMyTSks
DQphbiBlcnJvciBzaG91bGQgcG9wIGJlY2F1c2UgdGhlIHJlc2VydmVkIHJlZ2lvbiBpcyBub3Qg
ZW5vdWdoIGZvciB4ZW5oZWFwLA0KYW5kIHVzZXIgc2hvdWxkIHJlc2VydmUgbW9yZS4NClsuLi5d
DQoNCj4gQnV0IHlvdXIgY2hlY2sgaXMgYWdhaW5zdCBoZWFwIGJlaW5nIHRvIHNtYWxsIChsZXNz
IHRoYW4gMzJNKS4NCj4gU28gYmFzaWNhbGx5IGlmIHRoZSBmb2xsb3dpbmcgY2hlY2sgZmFpbHM6
DQo+ICIoIHJlc2VydmVkX2hlYXAgJiYgcmVzZXJ2ZWRfaGVhcF9wYWdlcyA8IDMyPDwoMjAtUEFH
RV9TSElGVCkgKSApIg0KPiBpdCBtZWFucyB0aGF0IHRoZSBoZWFwIHJlZ2lvbiBkZWZpbmVkIGJ5
IGEgdXNlciBpcyB0b28gc21hbGwgKG5vdCB0b28gbGFyZ2UpLA0KPiBiZWNhdXNlIGFjY29yZGlu
ZyB0byByZXF1aXJlbWVudHMgaXQgc2hvdWxkIGJlIGF0IGxlYXN0IDMyTS4NCg0KWy4uLl0NClNv
IGluIHRoYXQgY2FzZSwgcHJpbnRpbmcgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIHhlbmhlYXAiIG1l
YW5zIHRoZSByZXNlcnZlZA0KcmVnaW9uIGNhbm5vdCBzYXRpc2Z5IHRoZSBtaW5pbWFsIHJlcXVp
cmVtZW50IG9mIHRoZSBzcGFjZSBvZiB4ZW5oZWFwIChhdCBsZWFzdA0KMzJNKSwgYW5kIHRoaXMg
aXMgaW4gY29uc2lzdGVudCB3aXRoIHRoZSBjaGVjay4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkN
Cg0KDQoNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 09:49:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 09:49:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394924.634516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSxrc-0007jS-DJ; Tue, 30 Aug 2022 09:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394924.634516; Tue, 30 Aug 2022 09:48:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSxrc-0007jL-9N; Tue, 30 Aug 2022 09:48:56 +0000
Received: by outflank-mailman (input) for mailman id 394924;
 Tue, 30 Aug 2022 09:48:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bSYc=ZC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1oSxra-0007jF-M8
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 09:48:54 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam07on2064.outbound.protection.outlook.com [40.107.212.64])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4353f38-2848-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 11:48:52 +0200 (CEST)
Received: from DS7P222CA0009.NAMP222.PROD.OUTLOOK.COM (2603:10b6:8:2e::11) by
 CY5PR12MB6405.namprd12.prod.outlook.com (2603:10b6:930:3e::17) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.21; Tue, 30 Aug 2022 09:48:48 +0000
Received: from DM6NAM11FT102.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2e:cafe::35) by DS7P222CA0009.outlook.office365.com
 (2603:10b6:8:2e::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend
 Transport; Tue, 30 Aug 2022 09:48:48 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT102.mail.protection.outlook.com (10.13.173.172) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 09:48:48 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 30 Aug
 2022 04:48:47 -0500
Received: from [10.71.192.107] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend
 Transport; Tue, 30 Aug 2022 04:48:46 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4353f38-2848-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R6rZDBkpec6AanfOVIRGe8FMLGh0iBSRPUSNpMgc/iNkbNrvISHRStv64GW5HF/o8JW4dVnyiM7UYEJhdGqGt157D5Yf/uv/eHKT5OnMp7c//mNAj4oC1xW4zf2Z3ylF5N2NRwmout6loSSJy8jFydKqwFqr6GPlA6pc3/pG2adZ4Cohbn4Zu1NnewFYNyP/sr8I1KguHMExD+dFp9896F1AydjH1ysxSrk7mCaNQsccVoWB+gGiR9z4ZcXES4EgauFsY7FCARDkwn06zcwfCEdElwR+hHIQheeVmJZpSbdwg3qA2+F1sVWLAXEHunlGtFmioNYWOlnXNQKsz/NIXA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ofcfttb8+Pa2a7ub3k0u3yB3GduxZw7r79l28QaPOsw=;
 b=W6jQ6y52WFwUuBeX+SMZ0ZbWtFRIsiStAQ0S8jFooZHIGqlWoyuxuf7IeXjI4VtIW88BUaLjGc0p34BN21+qSnSOrlVuapZqBZkdQB5GCKijlbbYcfeIOYG86LiLfoItzU2NhgUoBy7u4vGZkZIt2DUHzvaEgY/zWSj7ZFBy1Wp8jq/OwggpunVfGyn48m4zVWGbvlDx+n0GrSeh8umsugtq6L2gJ1OrLI5R2Wd0etPBOzGNW17a/r0xhQ6nV3r5Kpu5Wl9BtARRwtZYbMuHxCDzR3zL035jqsnYeYfOHxxy66mUzwYb8eYn+XNCw7BFfo0ntXqaExy2Wun8riVumQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ofcfttb8+Pa2a7ub3k0u3yB3GduxZw7r79l28QaPOsw=;
 b=M+NogL14d6TwswUvKr6ke1bP0daVaT8sar9sH6Flx8zy5tDRILceNrnQPFcfgcWqTfvMOKrw4fVbJwYnND03pETuC/spe0lNw/d5pmlYNDLJAEQIALUERI2wNS7qGNm8lEY4ZCdjOpjGkQ1/L9KepVTn/5Gsfe6Ne4Ex37hGPIQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <c749e3aa-39a2-a4a8-9a21-77a65881dca5@amd.com>
Date: Tue, 30 Aug 2022 11:48:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.0
Subject: Re: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
 <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
 <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <536cad9e-53b5-2eae-0cd4-06f899229470@amd.com>
 <AS8PR08MB7991C3859BA3BAF913D50E1C92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <AS8PR08MB7991C3859BA3BAF913D50E1C92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9cf1c219-ba65-4240-1361-08da8a6cd636
X-MS-TrafficTypeDiagnostic: CY5PR12MB6405:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Amw3nDrGixlcB4MHf4L7DqHBAe0s9TFkVudHVhf9y9OXAkOs5TbAJay6SODv82NaJ0B+k7sLjrybdyw0VS1FgKCB5Th6nWjztHkzEDJJlghW8QMuYAD+qyebCPjx7NilQvZ4vda3gkozLVsSbkgAuKxpekSvJSSGW4N74EI8dOlYroqEH/i9z/iHSUc5VfGAu3OwvGaHUhrg1BQUHgL8ul60X3Ap2z5cbnF38hFndvRruIQ448Ua4EK8QcGzOT4S3UvLWPZKdQ6jYUdFgYoX4cKn9I0XoyZ/Hk2QishSAVZrF8i+UiO9Zh4O00cTD9bHgHXb7V3bcfU/j7c9zoTrBbVGjRv2S3NmHF774AHJO0A+TVdvykHS626znBANePPCIPYSoKfk4s9NJ1JM1uql9YheD4lb4ZZj5fU1P5fk3mUzQDM/1SDCiq8VDN7pk01TazusUMR3LunBqMoDpXdJjzQnk+99AvaCIGPjFuCdM5dO2zLhP8v0SS1VBTWiwrfv3wVNY6tdBX1vGC/lPoEYzz1YB9tWaVKMSgVvF2svAmt8VkQlzl0FsTmErLvtls8+fxfz2VtzLhNR4gMFd+b/AxvNCdrgcVt6DDkAyZasCQHRif1o1AbzDuldNJYTaow4iYhvN16m9Ei2vuEFOhr6lbkrYmxIee2rd71FADYbx/bsdMS2X0aPxOIBjNSfvyUQnNASVJ5ynwfGp6qxzrEv8A3DtWE9a3ZjgogS22G1KWtmkHjYsiK92akv9BN2PZWQbeOsLWnt+edrsymjYjOhvbN1qJJrn4jQDyROcGNTxp9HCI6zDuugDgbs/9HkfZzUV+KsXwmNjkpx5tyupDOz4g==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(376002)(346002)(396003)(40470700004)(36840700001)(46966006)(316002)(47076005)(83380400001)(36756003)(31686004)(2616005)(16576012)(426003)(2906002)(44832011)(26005)(336012)(186003)(53546011)(82740400003)(31696002)(86362001)(356005)(40460700003)(40480700001)(82310400005)(36860700001)(110136005)(5660300002)(54906003)(478600001)(81166007)(70206006)(41300700001)(8936002)(4326008)(70586007)(8676002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 09:48:48.0378
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cf1c219-ba65-4240-1361-08da8a6cd636
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT102.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6405



On 30/08/2022 11:17, Henry Wang wrote:
> 
> Hi Michal,
> 
>> -----Original Message-----
>> From: Michal Orzel <michal.orzel@amd.com>
>>>> This is totally fine. What I mean is that the check you introduced does not
>>>> correspond
>>>> to the panic message below. In case of reserved heap, its size is selected
>> by
>>>> the user.
>>>> "Not enough space for xenheap" means that there is not enough space to
>> be
>>>> reserved for heap,
>>>> meaning its size is too large. But your check is about size being too small.
>>>
>>> Actually my understanding of "Not enough space for xenheap" is xenheap
>>> is too large so we need to reserve more space, which is slightly different
>> than
>>> your opinion. But I am not the native speaker so it is highly likely that I am
>>> making mistakes...
>> My understanding is exactly the same as yours :),
>> meaning heap is too large.
> 
> Oh I think get your point. Let me try to explain myself and thanks for your
> patience :))
> 
> The reserved heap region defined in the device tree should be used for both
> Xenheap and domain heap, so if we reserved a too small region (<32M),
> an error should pop because the reserved region is not enough for xenheap,
> and user should reserve more.
> [...]
> 
>> But your check is against heap being to small (less than 32M).
>> So basically if the following check fails:
>> "( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )"
>> it means that the heap region defined by a user is too small (not too large),
>> because according to requirements it should be at least 32M.
> 
> [...]
> So in that case, printing "Not enough space for xenheap" means the reserved
> region cannot satisfy the minimal requirement of the space of xenheap (at least
> 32M), and this is in consistent with the check.

Ok, it clearly depends on the way someone understands this sentence.
Currently this panic can be triggered if the heap size is too large and
should be read as "heap is too large to fit in because there is not enough space
within RAM considering modules (e - s < size)". Usually (and also in this case)
space refers to a region to contain another one.

You are reusing the same message for different meaning, that is "user defined too
small heap and this space (read as size) is not enough".

Let's leave it to someone else to decide.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 10:05:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 10:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394932.634527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSy7M-0001mR-RD; Tue, 30 Aug 2022 10:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394932.634527; Tue, 30 Aug 2022 10:05:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSy7M-0001mK-OO; Tue, 30 Aug 2022 10:05:12 +0000
Received: by outflank-mailman (input) for mailman id 394932;
 Tue, 30 Aug 2022 10:05:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y69e=ZC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oSy7K-0001mE-R7
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 10:05:11 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-eopbgr80050.outbound.protection.outlook.com [40.107.8.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a687477-284b-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 12:05:09 +0200 (CEST)
Received: from DB8PR04CA0016.eurprd04.prod.outlook.com (2603:10a6:10:110::26)
 by DU2PR08MB7325.eurprd08.prod.outlook.com (2603:10a6:10:2e4::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Tue, 30 Aug
 2022 10:05:04 +0000
Received: from DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:110:cafe::ca) by DB8PR04CA0016.outlook.office365.com
 (2603:10a6:10:110::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21 via Frontend
 Transport; Tue, 30 Aug 2022 10:05:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT030.mail.protection.outlook.com (100.127.142.197) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Tue, 30 Aug 2022 10:05:03 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Tue, 30 Aug 2022 10:05:03 +0000
Received: from f5bce6c1b81f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A3A808E2-96CC-4D67-9E86-B033493DC366.1; 
 Tue, 30 Aug 2022 10:04:54 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f5bce6c1b81f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 30 Aug 2022 10:04:54 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB9PR08MB7817.eurprd08.prod.outlook.com (2603:10a6:10:399::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Tue, 30 Aug
 2022 10:04:51 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022
 10:04:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a687477-284b-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mr19ZoZ6MJ/KQHQ+6itrENMdHZp2Gqzu677ZhLZBn7/jCPrZU7CBdEfIyveMDlUy8UwRZ8/bCm45MHpb3h8vUJXLIAFJg/S6fycLRd64tA+FYQRj7P2p3D/klUoSaB+rk88UISPWG26z33+bH+rjJpTWlV4HUeLugzmoCyA9j/2a9+TZEjWKPQEHoX0hwMot15RqntK3RkIRyMRBq8uNsqhC+tCtp0nLR75sy9dyI6Tw16Z1Dtx8Ysj/LPDMCM4XN94wV7LxWfFwXTuhiPQaVtZ97la35X4SKtA5gmVF859GY43KoO5DKXizbDC7wqoCbD9XspbGJsWvW3lXAN6DsA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4qthMqPOK4Zm5n0wFiLqH26a0Ujq2B7pIOp1ugKY5EU=;
 b=g+8nXm8RMpSSfrRgB0dP+Rq4N9MT+Xb0wv/osuhI/t/qkobluudj4GSh5G+QHDL2pgqLdTJDK/tyOJs4CsE2LPvsCwqWQmkSHsv7aqGNrCRJZ94/cl+xRTLdfOGp5bFaTHBL2BZKfZpuTH8cZ0Z0rBoGSJJKq10ZlBm3LBdJkGbni7x7XBS2P2ShsbeLTmmK1CBFwidEdDZjnkAZ94mVQG9GyWhoVk7BHiHzzZTsBWQn60I4xnOQBI+necCT9lMW2aijCatkxFMr1x7kp+HKpI6MzFaArLGQCngsCexVLLtK1n3uMZ1Cvs2TVH7h8S85gO5SwJCQNGlVFoQRni7KoQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4qthMqPOK4Zm5n0wFiLqH26a0Ujq2B7pIOp1ugKY5EU=;
 b=Rr+sFU/F9XZMk2LMdrhFSo11m4HiN44kkgF9OkHpPehQRqOU45xtORaAjjROpyIgStM+s2QCI7Ub9i0/fXu5V67OkYixfcgqpSL+4QssvAzufSq5KJyRU9bO+fbbuCV3SOTaWP9VZf58e9GjqkiMu1gRfbC/ggGpTKBfbkJbiIs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gWelSGymqX4eIol9A1qD7YdtqaX6/qUWQuRp2WgNWT2fGxK8XeLafcOE+gr6OCoUBL1NSrdTb2kfPJ7hyfOWS+/J6SAwpaW7cUpv+oqgiipMhYf9mrkOszbJntYy2nbD7xXq+Wx5B6fzbDFWA2AN+tMHf/qLGwecVSA8yA81PdZh0pXkSjDXdU0Pqgpjm9+g3vzDeGMKnZ7mh3hpIDULeSPvoGpk4ST7/3pmLbFGwQT74UJ6hgdsU4ilHQaf9S9K6+fJnvXZAvgB2golwCes4yQfVV+FDAAaf7egqjUmSdidrmAhpNi6iNsFZIrVt4oKV4UlYuuqMNLeALgr2Tvfcw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4qthMqPOK4Zm5n0wFiLqH26a0Ujq2B7pIOp1ugKY5EU=;
 b=MDyNZ5nw0ALeN/tRDspn6/LD6jAy6uz9+fJ4jb9nssDkxAKUQq2lHa6wyAbwynei7x81k/tJ11VxeS8zfaJx9FRyIYcl9gUWrinqeQ6dElrlXw/UGUEgLF319kT1K6XoaYK0aYryon+BzVjqsO7Ezvuz5ocvLsddzpCTJv3tz3cNxA7RbY8hULvYTMP1ujNQdq6YWga0JoH/Hv9hKq7YUbfeDhtVJDyhjgclsPmHm5YDhyrWfVD88Mb7xzYngR/0/zunAhTfpLEuGLSeY8XfFcsT3sp2nXEe2gLExE253L1x2QRlpWIhngioElIgLv/QGuPHRDEYPPJhP8GiaUaLug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4qthMqPOK4Zm5n0wFiLqH26a0Ujq2B7pIOp1ugKY5EU=;
 b=Rr+sFU/F9XZMk2LMdrhFSo11m4HiN44kkgF9OkHpPehQRqOU45xtORaAjjROpyIgStM+s2QCI7Ub9i0/fXu5V67OkYixfcgqpSL+4QssvAzufSq5KJyRU9bO+fbbuCV3SOTaWP9VZf58e9GjqkiMu1gRfbC/ggGpTKBfbkJbiIs=
From: Henry Wang <Henry.Wang@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Topic: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Index:
 AQHYt4ugTfbCAM/WyEil7pMplK0r3q2/e0SAgAeAsxCAABaogIAAAyrggAAVl4CAAAH9oIAADu+AgAABegA=
Date: Tue, 30 Aug 2022 10:04:50 +0000
Message-ID:
 <AS8PR08MB7991780D566C3EEEAD7F5BF092799@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
 <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
 <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <536cad9e-53b5-2eae-0cd4-06f899229470@amd.com>
 <AS8PR08MB7991C3859BA3BAF913D50E1C92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <c749e3aa-39a2-a4a8-9a21-77a65881dca5@amd.com>
In-Reply-To: <c749e3aa-39a2-a4a8-9a21-77a65881dca5@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 0D116A846A035A4F89E9EC3761B9BFDD.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 9d8dd242-bdc7-4988-f15d-08da8a6f1bc9
x-ms-traffictypediagnostic:
	DB9PR08MB7817:EE_|DBAEUR03FT030:EE_|DU2PR08MB7325:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 dhz2pDC5Yr9z/VxgF0mfy8KxVoJYhUnqav8XhgQURlUgNrI2jWMowEAephMXMqJ45YbIQ4a4+C0fbdE1CQWK8KJiQvQh+6a4XEpi9eTxkZ77yKQgxJxnITKaF2C0D7N1yhQK+42DzSd6i95MV/g3+iR0bLiE3j8KYdjUXjx7SOJDKZIGJTYYmBAg3KIzWQBFmJ8dOQxlFjSfM3E4+1jUyfJU9lDMfbrqcg/ts0egj7WdofXCtOQCBRydFYnDnBMcgx/etx0loeVkANgH17mvp1+0cPGlocUe+nWJLxyVD0sF0TSjWD3woR5BX+JdF1aP+QPMJRsLewSPnQhWqPAW6hPqjkgPpzNTKPLzHsD4Zch+EEJl+yYFRV0vXMiq/aBClImGlz+BoO6sAfs50qh8ihDvytUtiveeERssLXUH2bAMCcjUzTY6zPGIzzjscLRMCGp3dpzRu830m7Fdlzb6Tw244SJlDmnxn7tIg3YXiUGhStgt68hW2PrmWcoWyfoYE5b0GPWdkYQeuppROl/7xIrrauTKzLkMM0bO0yfFMidlE9L56rap/F9x+gOJonrojGdAAHM/2N1dFK2KZtlpVjHZDp/xTRBI0p1UtMvlfqfzZr/m4i1zAeS/p0bNaLEK3JigETWEHEiK/XINPEw3zqNi0i/HSZvGyCu8dt7qG8tWNZlsMXCF6YZqfgZLgoqHrkyq6hCmio/YuW1ywZ+sKQk0iTwQtAjx02uxlqujUYBZx8ldVCA3KUNNWEKL6YOFkaBWRYdtIIdbTjf9F9Cv+g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(39860400002)(136003)(346002)(376002)(316002)(110136005)(86362001)(8676002)(4326008)(66556008)(76116006)(54906003)(66476007)(66946007)(64756008)(66446008)(71200400001)(38070700005)(478600001)(52536014)(41300700001)(5660300002)(8936002)(122000001)(7696005)(6506007)(2906002)(38100700002)(55016003)(83380400001)(9686003)(26005)(186003)(33656002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7817
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f6882e78-60be-4722-553c-08da8a6f13ef
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Y1rI43aA+JLqi+dlJFV5QyfOjzg1G0WIgebaw0qWAy4F2g7+TKjsf95PH3W4re9a6qy6crt/MXCMCmDxuaVNZi/hJQufX5qYqwfV9vw9f3rvf/2fn/mBIzBrFHX4GSZMB0j6hcUvYBJ3dULpuU7U4Kadd2yXN4eRI5IRndOTnf8R2E4i17CP89w+D/1pOWVUiqZiOb9mCkJMVGi/oa7CgUva6g8aIh39w8x+dW+jImAKlfNP3lRzjACqalQZ+b65NLPqHrsjdlQ4Ifv+JelNt6r6iHSrABeUUDgVBlKGSewcfkzUe69ynNLLgPc41TazQcGnB8oY0NTaMemuskV3DR5DgukM2Xq/OKs2dba+TGrDhypr5gAo/Ek2dP1vpV8FxnoEVwsj9kr9LTlQZ0z3hZqVrNfE6MYP3O7z9dWAlXHNcs8k3LNDUBhDK7B3OOW3xgSpuVadvXKoDnqm9zf7G+Na/l3+/Olo51IBumvIfBhlT3z/2y3XkP47nlIGcXnksljL50T+DM8fdxbrYKAr5YrXjPdLmo2YHBiyUJ4CoyWeTtK/p/ejNjsHH41qUYsr1qrJnjyc/qWv+pQDXkCBmCUVsD7C4Ofs8gc41cVURcqhtC3hjew+S4j72IAGc+9idFQ3zvZifVa8uh9Vi7+FW5RzHB21N50we6QlcvBobgoUX1MDIm4ROWrdlpHdfo6fYgnAmdjFX8kzecp+jTWIMZqgwfydrLG+R4Sy0004O/n0GjDgE7NGmkB87TmR8UsgxJYFD5QzbkUikFwxz664QQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(136003)(376002)(346002)(46966006)(36840700001)(40470700004)(86362001)(81166007)(82310400005)(70586007)(40480700001)(55016003)(8676002)(4326008)(110136005)(356005)(316002)(70206006)(54906003)(36860700001)(83380400001)(186003)(336012)(47076005)(82740400003)(478600001)(41300700001)(26005)(9686003)(40460700003)(6506007)(7696005)(107886003)(8936002)(5660300002)(2906002)(33656002)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2022 10:05:03.8568
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d8dd242-bdc7-4988-f15d-08da8a6f1bc9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7325

SGkgTWljaGFsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hh
bCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+DQo+ID4NCj4gPiBPaCBJIHRoaW5rIGdldCB5
b3VyIHBvaW50LiBMZXQgbWUgdHJ5IHRvIGV4cGxhaW4gbXlzZWxmIGFuZCB0aGFua3MgZm9yIHlv
dXINCj4gPiBwYXRpZW5jZSA6KSkNCj4gPg0KPiA+IFRoZSByZXNlcnZlZCBoZWFwIHJlZ2lvbiBk
ZWZpbmVkIGluIHRoZSBkZXZpY2UgdHJlZSBzaG91bGQgYmUgdXNlZCBmb3INCj4gYm90aA0KPiA+
IFhlbmhlYXAgYW5kIGRvbWFpbiBoZWFwLCBzbyBpZiB3ZSByZXNlcnZlZCBhIHRvbyBzbWFsbCBy
ZWdpb24gKDwzMk0pLA0KPiA+IGFuIGVycm9yIHNob3VsZCBwb3AgYmVjYXVzZSB0aGUgcmVzZXJ2
ZWQgcmVnaW9uIGlzIG5vdCBlbm91Z2ggZm9yDQo+IHhlbmhlYXAsDQo+ID4gYW5kIHVzZXIgc2hv
dWxkIHJlc2VydmUgbW9yZS4NCj4gPiBbLi4uXQ0KPiA+DQo+ID4+IEJ1dCB5b3VyIGNoZWNrIGlz
IGFnYWluc3QgaGVhcCBiZWluZyB0byBzbWFsbCAobGVzcyB0aGFuIDMyTSkuDQo+ID4+IFNvIGJh
c2ljYWxseSBpZiB0aGUgZm9sbG93aW5nIGNoZWNrIGZhaWxzOg0KPiA+PiAiKCByZXNlcnZlZF9o
ZWFwICYmIHJlc2VydmVkX2hlYXBfcGFnZXMgPCAzMjw8KDIwLVBBR0VfU0hJRlQpICkgKSINCj4g
Pj4gaXQgbWVhbnMgdGhhdCB0aGUgaGVhcCByZWdpb24gZGVmaW5lZCBieSBhIHVzZXIgaXMgdG9v
IHNtYWxsIChub3QgdG9vIGxhcmdlKSwNCj4gPj4gYmVjYXVzZSBhY2NvcmRpbmcgdG8gcmVxdWly
ZW1lbnRzIGl0IHNob3VsZCBiZSBhdCBsZWFzdCAzMk0uDQo+ID4NCj4gPiBbLi4uXQ0KPiA+IFNv
IGluIHRoYXQgY2FzZSwgcHJpbnRpbmcgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIHhlbmhlYXAiIG1l
YW5zIHRoZQ0KPiByZXNlcnZlZA0KPiA+IHJlZ2lvbiBjYW5ub3Qgc2F0aXNmeSB0aGUgbWluaW1h
bCByZXF1aXJlbWVudCBvZiB0aGUgc3BhY2Ugb2YgeGVuaGVhcCAoYXQNCj4gbGVhc3QNCj4gPiAz
Mk0pLCBhbmQgdGhpcyBpcyBpbiBjb25zaXN0ZW50IHdpdGggdGhlIGNoZWNrLg0KPiANCj4gT2ss
IGl0IGNsZWFybHkgZGVwZW5kcyBvbiB0aGUgd2F5IHNvbWVvbmUgdW5kZXJzdGFuZHMgdGhpcyBz
ZW50ZW5jZS4NCj4gQ3VycmVudGx5IHRoaXMgcGFuaWMgY2FuIGJlIHRyaWdnZXJlZCBpZiB0aGUg
aGVhcCBzaXplIGlzIHRvbyBsYXJnZSBhbmQNCj4gc2hvdWxkIGJlIHJlYWQgYXMgImhlYXAgaXMg
dG9vIGxhcmdlIHRvIGZpdCBpbiBiZWNhdXNlIHRoZXJlIGlzIG5vdCBlbm91Z2gNCj4gc3BhY2UN
Cj4gd2l0aGluIFJBTSBjb25zaWRlcmluZyBtb2R1bGVzIChlIC0gcyA8IHNpemUpIi4gVXN1YWxs
eSAoYW5kIGFsc28gaW4gdGhpcyBjYXNlKQ0KPiBzcGFjZSByZWZlcnMgdG8gYSByZWdpb24gdG8g
Y29udGFpbiBhbm90aGVyIG9uZS4NCj4gDQo+IFlvdSBhcmUgcmV1c2luZyB0aGUgc2FtZSBtZXNz
YWdlIGZvciBkaWZmZXJlbnQgbWVhbmluZywgdGhhdCBpcyAidXNlcg0KPiBkZWZpbmVkIHRvbw0K
PiBzbWFsbCBoZWFwIGFuZCB0aGlzIHNwYWNlIChyZWFkIGFzIHNpemUpIGlzIG5vdCBlbm91Z2gi
Lg0KDQpZZXMsIHRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uLiBJIHRoaW5rIG1heWJlIHJld29y
ZGluZyB0aGUgbWVzc2FnZQ0KdG8gIk5vdCBlbm91Z2ggbWVtb3J5IGZvciBhbGxvY2F0aW5nIHhl
bmhlYXAiIHdvdWxkIHJlbW92ZSB0aGUgYW1iaWd1aXR5DQp0byBzb21lIGV4dGVudD8gQmVjYXVz
ZSB0aGUgdXNlci1kZWZpbmVkIGhlYXAgcmVnaW9uIHNob3VsZCBjb3ZlciBib3RoDQp4ZW5oZWFw
IGFuZCBkb21haW4gaGVhcCBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgc21hbGwgdXNlci1kZWZpbmVk
IGhlYXANCm1lYW5zICJ4ZW5oZWFwIGlzIHRvbyBsYXJnZSB0byBmaXQgaW4gdGhlIHVzZXItZGVm
aW5lZCBoZWFwIHJlZ2lvbiIsIHdoaWNoIGlzDQppbiBjb25zaXN0ZW50IHdpdGggeW91ciBpbnRl
cnByZXRhdGlvbiBvZiB0aGUgY3VycmVudCAieGVuaGVhcCBpcyB0b28gbGFyZ2UgdG8gZml0DQpp
biBiZWNhdXNlIHRoZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2Ugd2l0aGluIFJBTSBjb25zaWRlcmlu
ZyBtb2R1bGVzIg0KDQo+IA0KPiBMZXQncyBsZWF2ZSBpdCB0byBzb21lb25lIGVsc2UgdG8gZGVj
aWRlLg0KDQpJIGFncmVlLg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiB+TWljaGFs
DQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 10:51:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 10:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394938.634538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSypl-0006rw-7l; Tue, 30 Aug 2022 10:51:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394938.634538; Tue, 30 Aug 2022 10:51:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oSypl-0006rp-4e; Tue, 30 Aug 2022 10:51:05 +0000
Received: by outflank-mailman (input) for mailman id 394938;
 Tue, 30 Aug 2022 10:51:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSypj-0006rf-2T; Tue, 30 Aug 2022 10:51:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSypi-00047P-W3; Tue, 30 Aug 2022 10:51:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oSypi-0002Gq-Ds; Tue, 30 Aug 2022 10:51:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oSypi-00072n-D9; Tue, 30 Aug 2022 10:51:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bhXVaD0heRdrTCQhxjhgSMO4yp/cMTez7755cAsC9mU=; b=wTAuJBBjYythCrWbcNnkr1brfm
	fDi0vZ9zEBMNlTWbBc6G3UmFVVmfUwgqH0uWXXeqd3QW0bgIlEfeJ/189XPIm93I+E/LTQc6nytJ3
	2nCLq+g71nz1cUbDUqRu/Fufm+LIg1oUD3pgC9PF9oWf8b5s9soxnBe3HKOwJ6ZSUGQU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172861-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172861: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
X-Osstest-Versions-That:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 10:51:02 +0000

flight 172861 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172861/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172823
 build-amd64-libvirt           6 libvirt-build                fail  like 172841
 build-i386-libvirt            6 libvirt-build                fail  like 172841
 build-arm64-libvirt           6 libvirt-build                fail  like 172841
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172841
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172841
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172841
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172841
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172841
 build-armhf-libvirt           6 libvirt-build                fail  like 172841
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172841
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172841
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172841
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f
baseline version:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f

Last test of basis   172861  2022-08-30 01:53:34 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Aug 30 12:06:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 12:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.394993.634571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT00W-0005qs-64; Tue, 30 Aug 2022 12:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 394993.634571; Tue, 30 Aug 2022 12:06:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT00W-0005ql-3V; Tue, 30 Aug 2022 12:06:16 +0000
Received: by outflank-mailman (input) for mailman id 394993;
 Tue, 30 Aug 2022 12:06:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SoMq=ZC=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1oT00U-0005qd-FL
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 12:06:14 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 247dfaa0-285c-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 14:06:13 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 v7-20020a1cac07000000b003a6062a4f81so9810767wme.1
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 05:06:13 -0700 (PDT)
Received: from [10.7.236.44] ([54.239.6.188]) by smtp.gmail.com with ESMTPSA id
 c16-20020adffb50000000b00226d473ebd6sm7961710wrs.86.2022.08.30.05.06.11
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Aug 2022 05:06:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 247dfaa0-285c-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:from:to:cc;
        bh=0DeIT4jkZwkZHmPqaqueA/8Frm7F3XRKD9DVaRFEEzI=;
        b=CoX1dzUdQJZv+cjfrXIWuo5tgQ7Rugwsu6jgzoddqSHmUXQzfXQRXOoUef4fWuIT34
         3th85lYVj/dJnXLWBJHUasmY3MI9DxyeVVRg4r0oRUPUg/XhLJ2WdqdIAsW8o6MP7Joa
         hPxplJ06vVYsgAB1tav0zPeW7CIhpkcpjCQuWfwDy8YsCB52LoHyBmdhDn3nUsyTWlf8
         PmGybeezljFcTF+p41bbPX/+o7XpFHIuuhC4mjTzkYVVnlC5e47E00P80xbPq/SeF33r
         O315o0eZ17PHmhkR5tLfCJ0AjHAz0YpHNurpII+DxVfQw8mYf0nTFZv/joN7P2KWPU2I
         BViQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:x-gm-message-state:from:to:cc;
        bh=0DeIT4jkZwkZHmPqaqueA/8Frm7F3XRKD9DVaRFEEzI=;
        b=Z3obh963x/l0Y9Nwpr8UgTqFewelAitusrJK/XH1oMDIHRIzKTUPYjTnfN/ZmS5kPo
         6gl4WHNAeFa0bUngxZkJOzzEtXZmLqQLJbYm1zDuIDYi4+bS3Id4R3SbGumXia+BYeAF
         LU37LKnrdIxA38NzT7mZmuyZrP7Vu20PcmB8KDiEGK2QM7NduRgoetMYy//Sq45ckw5D
         ZW5QGf5DWp5GhSMjFAjWnXE8cScynPeDYqUOfrSFhZZ6WjgiViWYncjvy07PS5p/Ayg2
         xBwiMeJ9G9l8XJkYbjp9TZQZr4armbIPw7BTwD2ofZvxf+D6Mj0xTmBlg2yu/Jd6BC6s
         6xQA==
X-Gm-Message-State: ACgBeo18PmeA9Orv/DrOvyzHg1nDSPRCTpxyizERD7lMfWNRjAk08Sy+
	bLv6U781xB0lOjTIA3/c3PFb8zSCWpEIrXGC
X-Google-Smtp-Source: AA6agR5icW4h6CEMLSGg9jpVKYY0bNR5kVS6yAdGv7DstYHpg4vX9ndj8EZL5ww3zK83sWhqnCohjQ==
X-Received: by 2002:a05:600c:29c6:b0:3a6:836f:fe4a with SMTP id s6-20020a05600c29c600b003a6836ffe4amr9368740wmd.11.1661861172869;
        Tue, 30 Aug 2022 05:06:12 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <89a56dfe-7bc7-472c-3c0c-644ed36a0c44@xen.org>
Date: Tue, 30 Aug 2022 13:06:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [RFC PATCH v1] xen/docs: Document acquire resource interface
Content-Language: en-US
To: xen-devel@lists.xenproject.org
References: <d28893ed5c617f6e350f755508f10ba5a12e7098.1661763622.git.matias.vara@vates.fr>
Organization: Xen Project
In-Reply-To: <d28893ed5c617f6e350f755508f10ba5a12e7098.1661763622.git.matias.vara@vates.fr>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/2022 10:03, Matias Ezequiel Vara Larsen wrote:
> This commit creates a new doc to document the acquire resource interface. This
> is a reference document.
> 
> Signed-off-by: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
> ---
> Changes in v1:
> - correct documentation about how mfns are allocated
> - correct documentation about how mfns are released
> - use the wording tool instead of pv tool
> - fix typos
> ---
>   .../acquire_resource_reference.rst            | 338 ++++++++++++++++++
>   docs/hypervisor-guide/index.rst               |   2 +
>   2 files changed, 340 insertions(+)
>   create mode 100644 docs/hypervisor-guide/acquire_resource_reference.rst
> 
> diff --git a/docs/hypervisor-guide/acquire_resource_reference.rst b/docs/hypervisor-guide/acquire_resource_reference.rst
> new file mode 100644
> index 0000000000..d1989d2fd4
> --- /dev/null
> +++ b/docs/hypervisor-guide/acquire_resource_reference.rst
> @@ -0,0 +1,338 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Acquire resource reference
> +==========================
> +
> +Acquire resource allows you to share a resource between Xen and dom0.

That doesn't sound right. The resources 'belong' to Xen, and are 
specific to a particular domain (A). Another domain (B) with enough 
privilege over domain A can then map and hence access those resources.

   Paul



From xen-devel-bounces@lists.xenproject.org Tue Aug 30 13:03:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 13:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395036.634599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT0ta-0003ho-Nc; Tue, 30 Aug 2022 13:03:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395036.634599; Tue, 30 Aug 2022 13:03:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT0ta-0003hh-JR; Tue, 30 Aug 2022 13:03:10 +0000
Received: by outflank-mailman (input) for mailman id 395036;
 Tue, 30 Aug 2022 13:03:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT0tZ-0003hX-FR; Tue, 30 Aug 2022 13:03:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT0tZ-0006P0-Dk; Tue, 30 Aug 2022 13:03:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT0tZ-0001nu-2r; Tue, 30 Aug 2022 13:03:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oT0tY-0003mS-UW; Tue, 30 Aug 2022 13:03:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gZAF1JubwduVESeaNE6S7TgfHQVbDbiAoFLoOLSKDEM=; b=G5fIQo7PPkkdN42+KnNXk29uSE
	josIor4hwRkZydiCcevRK+Z65I5fhC6q31Jl2wMAjsloS4ZJwtfjibL9cHqLS0oBIzIVysP2H4RC+
	qxVo+XL7vkwot/6JKEc3SGnZ/jyvnQEWOsRPgbnq0dd/QQT4q0m5v9O7Z30GOijUY2+o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172870-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172870: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 13:03:08 +0000

flight 172870 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172870/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   26 days
Failing since        172151  2022-08-05 02:40:28 Z   25 days  205 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    2 days   17 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 13:22:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 13:22:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395050.634614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT1CI-00068y-EH; Tue, 30 Aug 2022 13:22:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395050.634614; Tue, 30 Aug 2022 13:22:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT1CI-00068r-Av; Tue, 30 Aug 2022 13:22:30 +0000
Received: by outflank-mailman (input) for mailman id 395050;
 Tue, 30 Aug 2022 13:06:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8i5b=ZC=gmail.com=oleshiiwood@srs-se1.protection.inumbo.net>)
 id 1oT0wq-0004MW-QR
 for xen-devel@lists.xen.org; Tue, 30 Aug 2022 13:06:32 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9094321d-2864-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 15:06:31 +0200 (CEST)
Received: by mail-pl1-x631.google.com with SMTP id j5so7169057plj.5
 for <xen-devel@lists.xen.org>; Tue, 30 Aug 2022 06:06:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9094321d-2864-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=to:subject:message-id:date:from:mime-version:from:to:cc;
        bh=8LHc0WpHLu9wlZtjdiUeM67gKfqRlIHOCxKlnTrSOK8=;
        b=ajAxEpml0f2QRLsiciAQ6IfS4JKXWGLoiwjU3WAp3qFHg6AQ3MnoBP1XBUN7g6lgNE
         MM+6ciTInr+tQmUElIuH4+HfCI4WtenQ36f/Do9GszVgXMNVYptOoEsZJzYHkDrf9mhT
         7jB+BJTqhMXFNLyUviBhQMEOUri4m11cvMwdPKSmbUasW7yKWeTxMbMBKr7sRmFqup9s
         0HfIsQqDfZGHND9CnDZMWcvrkPkmjgSm/7sxdauOiWR1K3aNzYvvCqwwQG70kKR7krpe
         aXf2znYbg5LOwvqxU6GNHcapW04IYRhPz72qzB43/KGNy84g5xCRkjqrI9WI+7v5H8PK
         MicA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc;
        bh=8LHc0WpHLu9wlZtjdiUeM67gKfqRlIHOCxKlnTrSOK8=;
        b=XadAtDaZAXFEZgwyyXeIDiLq5hQnbqZGsKtN9az2zRamTid2KJ07PAvdjeRnlqn+7T
         siA4MFtpOslhVppSVtVIBwiBZDSeQRXuWzbD4cSHC8m1fuLYcLFp7GgI7acoJphI3Qtq
         uBMSOlmuLkd1YY+4E/Z/UMCTxeKLxX9g28zC9tZSR5r5fKHeTZ35K5LhgmiME3VHoHDo
         TFWEYGHkmMm1qu+i935BxkJoLZV9FyueHtSLSyuGUw5U9r3AF7bjbLPMVJlLVZFD+PeB
         S7yR/UobqZvJ5obYAuUN2TUqSoXNiA4VR5OId1anDNnXGqK3K0GtKSL5EYKO6kA9LXXM
         PyPw==
X-Gm-Message-State: ACgBeo3ZIneHKSWS5w7NmC6z3oF4UXgVWCoQZRxmQ5PXNEeZs7qJIV6p
	3NuVlzSmJETmegMJQn+x9ClVVrLu6+s8Wi9N/pnojGdSeRpT+A==
X-Google-Smtp-Source: AA6agR4jnShZCZroGR4L87MWGkf2IxfhhPgCjlB72kpmwK3tM+2eu+mMxZKCjeK+3ysZMq0xhWV4R/ENsN4/UrrASCk=
X-Received: by 2002:a17:90a:7644:b0:1fd:ecc8:9975 with SMTP id
 s4-20020a17090a764400b001fdecc89975mr7128895pjl.219.1661864789589; Tue, 30
 Aug 2022 06:06:29 -0700 (PDT)
MIME-Version: 1.0
From: Oleshii Wood <oleshiiwood@gmail.com>
Date: Tue, 30 Aug 2022 16:09:49 +0300
Message-ID: <CA+SAi2s6ZfY87dR2noYkKiH_QwJMXKbj_6404Hmru-t==vSAhw@mail.gmail.com>
Subject: Xen in ARM environment networking overload issue
To: xen-devel@lists.xen.org
Content-Type: multipart/alternative; boundary="00000000000072c5a405e7750c05"

--00000000000072c5a405e7750c05
Content-Type: text/plain; charset="UTF-8"

Hello guys,

The same issue migh be found by link
https://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=xen_add_phys_to_mach_entry&page=1

DOM0/DOMU kernels version 5.15.19

Two XENified guests. They are equal. They both have the same configuration.
It is enough to have one DomU and Dom0.

Part of DomU configuration.
type = "pvh"
memory = 1024
vcpus = 1

It is not necessary to repeat full custom board configuration with all the
bridges.
It is enough to connect DomU with some external machine or with Dom0
through the network.

You should have a perf3 compiled package on both ends.
on Dom0 or external host you issue command:
perf3 -s &

on DomU you issue the command:
perf3 -c [Dom0 or external host ip address] -k 400K -b 0

After enough short time you will see in your DomU kernel messages or in
your xen console something like
[ 2385.999011] xen_add_phys_to_mach_entry: cannot add
pfn=0x000000000003e0de -> mfn=0x00000000008031f2: pfn=0x000000000003e0de ->
mfn=0x00000000008044a0 already exists
[ 2355.968172] xen_add_phys_to_mach_entry: cannot add
pfn=0x000000000003bfca -> mfn=0x000000000080319c: pfn=0x000000000003bfca ->
mfn=0x0000000000803276 already exists
[ 2323.002652] xen_add_phys_to_mach_entry: cannot add
pfn=0x000000000003b80e -> mfn=0x000000000080447d: pfn=0x000000000003b80e ->
mfn=0x00000000008032a7 already exists
[ 2302.036336] xen_add_phys_to_mach_entry: cannot add
pfn=0x000000000003e0de -> mfn=0x0000000000803105: pfn=0x000000000003e0de ->
mfn=0x00000000008044a0 already exists
[ 2273.758169] xen_add_phys_to_mach_entry: cannot add
pfn=0x000000000003b80e -> mfn=0x00000000008033fc: pfn=0x000000000003b80e ->
mfn=0x00000000008032a7 already exists
[ 2252.254857] xen_add_phys_to_mach_entry: cannot add
pfn=0x000000000003b80e -> mfn=0x00000000008032f0: pfn=0x000000000003b80e ->
mfn=0x00000000008032a7 already exists

You will have a lot of those messages.

Involved files
arch/arm/xen/p2m.c
drivers/net/xen-netback/netback.c
drivers/net/xen-netback/common.h

This problem arrived in the p2m.c file in the xen_add_phys_to_mach_entry
function
This function adds a new mapping XEN page pfn to the DomU gfn.
It does via red/black tree
Xen netback adapter structure placed in the common.h file. It contains
xenvif_queue structure.
There are some involved members from this structure.

struct xenvif_queue {
...
struct page *mmap_pages[MAX_PENDING_REQS];
pending_ring_idx_t pending_cons;
...
u16 pending_ring[MAX_PENDING_REQS];
...
struct page *pages_to_map[MAX_PENDING_REQS];
...
}

All the pages are stored in the xenvif_queue->mmap_pages
They are allocated by their indexes. Those ones are stored
sequentially in the xenvif_queue->pending_ring.
Pages allocation depends on xenvif_queue->pending_cons.
This value rounded up to MAX_PENDING_REQS value.
Pages allocated for the request cyclically.
When an intensive network traffic is in progress especially
when a packets flow density has been growing, sooner or later
we will run into the case when we do not have enough free pages.
MAX_PENDING_REQS in our case is 256
This case arrives in the netback.c xenvif_tx_action->gnttab_map_refs call.
Main work is in the xenvif_tx_build_gops.
xenvif_tx_action is issued in NAPI context.
So we could say it is something like the interrupt bottom half.
This message is produced when the issued pfn is presented in the red/black
tree.
It is produced unconditionally. In  the above mentioned condition this
output
degrades the performance drastically.
I may offer a patch which decreases the amount of messages.

Regards,
Oleg

--00000000000072c5a405e7750c05
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello guys,<br></div><div><br></div>The same issue mi=
gh be found by link<br><a href=3D"https://xen.markmail.org/message/3w4oqeu5=
z7ryfbsb?q=3Dxen_add_phys_to_mach_entry&amp;page=3D1">https://xen.markmail.=
org/message/3w4oqeu5z7ryfbsb?q=3Dxen_add_phys_to_mach_entry&amp;page=3D1</a=
><br><br>DOM0/DOMU kernels version	5.15.19<br><br>Two XENified guests. They=
 are equal. They both have the same configuration. It is enough to have one=
 DomU and Dom0.<br><br>Part of DomU configuration.<br>type =3D &quot;pvh&qu=
ot;<br>memory =3D 1024<br>vcpus =3D 1<br><br>It is not necessary to repeat =
full custom board configuration with all the bridges.<br>It is enough to co=
nnect DomU with some external machine or with Dom0 through the network.<br>=
<br>You should have a perf3 compiled package on both ends.<br>on Dom0 or ex=
ternal host you issue command:<br>perf3 -s &amp;<br><br>on DomU you issue t=
he command:<br>perf3 -c [Dom0 or external host ip address] -k 400K -b 0<br>=
<br>After enough short time you will see in your DomU kernel messages or in=
 your xen console something like<br>[ 2385.999011] xen_add_phys_to_mach_ent=
ry: cannot add pfn=3D0x000000000003e0de -&gt; mfn=3D0x00000000008031f2: pfn=
=3D0x000000000003e0de -&gt; mfn=3D0x00000000008044a0 already exists<br>[ 23=
55.968172] xen_add_phys_to_mach_entry: cannot add pfn=3D0x000000000003bfca =
-&gt; mfn=3D0x000000000080319c: pfn=3D0x000000000003bfca -&gt; mfn=3D0x0000=
000000803276 already exists<br>[ 2323.002652] xen_add_phys_to_mach_entry: c=
annot add pfn=3D0x000000000003b80e -&gt; mfn=3D0x000000000080447d: pfn=3D0x=
000000000003b80e -&gt; mfn=3D0x00000000008032a7 already exists<br>[ 2302.03=
6336] xen_add_phys_to_mach_entry: cannot add pfn=3D0x000000000003e0de -&gt;=
 mfn=3D0x0000000000803105: pfn=3D0x000000000003e0de -&gt; mfn=3D0x000000000=
08044a0 already exists<br>[ 2273.758169] xen_add_phys_to_mach_entry: cannot=
 add pfn=3D0x000000000003b80e -&gt; mfn=3D0x00000000008033fc: pfn=3D0x00000=
0000003b80e -&gt; mfn=3D0x00000000008032a7 already exists<br>[ 2252.254857]=
 xen_add_phys_to_mach_entry: cannot add pfn=3D0x000000000003b80e -&gt; mfn=
=3D0x00000000008032f0: pfn=3D0x000000000003b80e -&gt; mfn=3D0x0000000000803=
2a7 already exists<br><br>You will have a lot of those messages.<br><br>Inv=
olved files<br>arch/arm/xen/p2m.c<br>drivers/net/xen-netback/netback.c<br>d=
rivers/net/xen-netback/common.h<br><br>This problem arrived in the p2m.c fi=
le in the xen_add_phys_to_mach_entry function<br>This function adds a new m=
apping XEN page pfn to the DomU gfn.<br>It does via red/black tree<br>Xen n=
etback adapter structure placed in the common.h file. It contains xenvif_qu=
eue structure.<br>There are some involved members from this structure.<br><=
br>struct xenvif_queue {<br>	...<br>	struct page *mmap_pages[MAX_PENDING_RE=
QS];<br>	pending_ring_idx_t pending_cons;<br>	...<br>	u16 pending_ring[MAX_=
PENDING_REQS];<br>	...<br>	struct page *pages_to_map[MAX_PENDING_REQS];<br>=
	...<br>}<br><div><br></div><div>All the pages are stored in the xenvif_que=
ue-&gt;mmap_pages</div>They are allocated by their indexes. Those ones are =
stored<br>sequentially in the xenvif_queue-&gt;pending_ring.<br>Pages alloc=
ation depends on xenvif_queue-&gt;pending_cons.<br>This value rounded up to=
 MAX_PENDING_REQS value.<br>Pages allocated for the request cyclically.<br>=
When an intensive network traffic is in progress especially<br>when a packe=
ts flow density has been growing, sooner or later<br>we will run into the c=
ase when we do not have enough free pages.<br>MAX_PENDING_REQS in our case =
is 256<br>This case arrives in the netback.c xenvif_tx_action-&gt;gnttab_ma=
p_refs call.<br>Main work is in the xenvif_tx_build_gops.<br>xenvif_tx_acti=
on is issued in NAPI context.<br>So we could say it is something like the i=
nterrupt bottom half.<br>This message is produced when the issued pfn is pr=
esented in the red/black tree.<br>It is produced unconditionally. In =C2=A0=
the above mentioned condition this output<br>degrades the performance drast=
ically.<br>I may offer a patch which decreases the amount of messages.<br><=
br><div>Regards,</div><div>Oleg<br></div></div>

--00000000000072c5a405e7750c05--


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 15:21:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 15:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395073.634629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT33L-0000v5-UK; Tue, 30 Aug 2022 15:21:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395073.634629; Tue, 30 Aug 2022 15:21:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT33L-0000uy-RB; Tue, 30 Aug 2022 15:21:23 +0000
Received: by outflank-mailman (input) for mailman id 395073;
 Tue, 30 Aug 2022 15:21:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT33J-0000ul-RL; Tue, 30 Aug 2022 15:21:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT33J-0000Zb-OD; Tue, 30 Aug 2022 15:21:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT33J-0004B1-Ad; Tue, 30 Aug 2022 15:21:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oT33J-0001PD-9j; Tue, 30 Aug 2022 15:21:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7MyFKS5lVJBm/4GrV6DtXsP3mYpRxlb1VyLNQi1WUDc=; b=V7IZ0senVQz0ZQSwLnjo71+eUG
	9J0t83RYMBrxLxAmAnMMPrN1uyJz7UFZ9tZ4Dd/bpoURwRd6iSqmeYGtqqJk8SKtSy/8ddBjM6wK+
	R86TyrkHQp2mKncH5+Zc4XcjnaSwqSSJZaB9RIY1o6R41UJ9CAiXtRq9PpPo0r+Sw390=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172865-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172865: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=dcf8e5633e2e69ad60b730ab5905608b756a032f
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 15:21:21 +0000

flight 172865 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172865/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                dcf8e5633e2e69ad60b730ab5905608b756a032f
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   26 days
Failing since        172152  2022-08-05 04:01:26 Z   25 days   58 attempts
Testing same since   172865  2022-08-30 04:54:06 Z    0 days    1 attempts

------------------------------------------------------------
1589 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 164572 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 16:52:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 16:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395087.634646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT4So-0001o2-NP; Tue, 30 Aug 2022 16:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395087.634646; Tue, 30 Aug 2022 16:51:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT4So-0001nv-KF; Tue, 30 Aug 2022 16:51:46 +0000
Received: by outflank-mailman (input) for mailman id 395087;
 Tue, 30 Aug 2022 16:51:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT4Sn-0001nl-9d; Tue, 30 Aug 2022 16:51:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT4Sn-0002ZB-5W; Tue, 30 Aug 2022 16:51:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT4Sm-0000Z0-LJ; Tue, 30 Aug 2022 16:51:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oT4Sm-0005T7-Ks; Tue, 30 Aug 2022 16:51:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yN4F7s2aUPs8x15VbzwflWllB0H2WeO6M7gC9zPLE20=; b=WtJSolx8idarNo7q1Sti079MBG
	bB8S+Who26G5kzqerpe8CiT8D9ylJ/QG0LW8XDrXXSE/aJMVwqiQQTzlSGIe+dkQnmD1eivI4adz9
	EFesxt6S+vRaBVvkZvfpx0zGX+XYiqiMGKNGl7OGqbR1W40+UJrZ1Y0qEny1QxguOi4s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172872-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172872: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:build-i386-xsm:xen-build:fail:regression
X-Osstest-Versions-This:
    ovmf=ba0e0e4c6a174b71b18ccd6e47319cc45878893c
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 16:51:44 +0000

flight 172872 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172872/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 build-i386-xsm                6 xen-build                fail REGR. vs. 172136

version targeted for testing:
 ovmf                 ba0e0e4c6a174b71b18ccd6e47319cc45878893c
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   26 days
Failing since        172151  2022-08-05 02:40:28 Z   25 days  206 attempts
Testing same since   172829  2022-08-28 09:13:28 Z    2 days   18 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               fail    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1015 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 17:02:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 17:02:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395096.634660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT4dC-0003LJ-Pm; Tue, 30 Aug 2022 17:02:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395096.634660; Tue, 30 Aug 2022 17:02:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT4dC-0003LC-MC; Tue, 30 Aug 2022 17:02:30 +0000
Received: by outflank-mailman (input) for mailman id 395096;
 Tue, 30 Aug 2022 17:02:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT4dB-0003L2-6E; Tue, 30 Aug 2022 17:02:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT4dB-0002ln-3l; Tue, 30 Aug 2022 17:02:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT4dA-00013d-FY; Tue, 30 Aug 2022 17:02:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oT4dA-0004I6-F6; Tue, 30 Aug 2022 17:02:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bUsZm1QisTaBCBIGH1u2/gaThREMRnzoyO2yC3nuIlg=; b=LN97NhOAkkkkLQIa9ji9IKAGqU
	K2X1WarVIov7sBPoJA1knccXK1DRKLHEyK0ItVKY8A0DVpNAwMuX3TFWlG2KeM8lPwPXU6UjCU/AA
	pHbe6jnoAx/XQZt91HxUUV5ZUW21Q+zPUL4OaWgTpnRSkG0+Xjy4Us+KyPcbcjgKY61s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172866-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172866: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 17:02:28 +0000

flight 172866 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172866/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 172858 pass in 172866
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 172858

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172858 like 172108
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 172858 like 172128
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172858 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172858 never pass
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 172858 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 172858 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   26 days
Failing since        172384  2022-08-11 11:13:58 Z   19 days   40 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    4 days   11 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 17:25:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 17:25:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395104.634671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT4zN-0005kL-KF; Tue, 30 Aug 2022 17:25:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395104.634671; Tue, 30 Aug 2022 17:25:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT4zN-0005kE-HC; Tue, 30 Aug 2022 17:25:25 +0000
Received: by outflank-mailman (input) for mailman id 395104;
 Tue, 30 Aug 2022 17:25:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c5Pn=ZC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oT4zM-0005k8-Ly
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 17:25:24 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba5ba812-2888-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 19:25:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id E6C16B81D1B;
 Tue, 30 Aug 2022 17:25:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4462BC433C1;
 Tue, 30 Aug 2022 17:25:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba5ba812-2888-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661880320;
	bh=57FBQPKO2Lxnd/oVEDX3iEa74oeqtUbc6zdvm11XQl0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=r2d0qhDdN/WPXHJHQwH9lPZcxWPPi/MM91snIA/FUalWWhnzutreF2HaJMbwl1kq7
	 73rgu3ZX6OGS19woXywOqVYE67KxnluRndAmVaewgQoTUq6r/NcQd3XN4Qvgrz4ZiS
	 amuL35QSjxz2zyDQcmw0CM/K481y4Qyi7qjO0B3o7Ck/BojYmVewxE3i60YaO2e0vZ
	 En9wUE5ZsyxhYXsSv6uanz9u+L/FmVMm9uwn3rQ6ebsI00ZEJhYlU/NNN9wO/MaUIe
	 omcPiHN+getU9Nmd9T+SKXd64ViE5Gjx2SNNGJU+sFNw5LZ17COmV7edn/iNW6J7MZ
	 suhGOeOqf0Caw==
Date: Tue, 30 Aug 2022 10:25:19 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Wei Chen <Wei.Chen@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
In-Reply-To: <AS8PR08MB79912EF49AEBA8E5B18B8C7F92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2208301013500.1134492@ubuntu-linux-20-04-desktop>
References: <20220824073127.16762-1-Henry.Wang@arm.com> <20220824073127.16762-3-Henry.Wang@arm.com> <alpine.DEB.2.22.394.2208291755450.1134492@ubuntu-linux-20-04-desktop> <AS8PR08MB79912EF49AEBA8E5B18B8C7F92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 30 Aug 2022, Henry Wang wrote:
> > >      /*
> > >       * If the user has not requested otherwise via the command line
> > >       * then locate the xenheap using these constraints:
> > > @@ -743,7 +766,8 @@ static void __init setup_mm(void)
> > >       * We try to allocate the largest xenheap possible within these
> > >       * constraints.
> > >       */
> > > -    heap_pages = ram_pages;
> > > +    heap_pages = !reserved_heap ? ram_pages : reserved_heap_pages;
> > > +
> > >      if ( opt_xenheap_megabytes )
> > >          xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
> > >      else
> > > @@ -755,17 +779,21 @@ static void __init setup_mm(void)
> > >
> > >      do
> > >      {
> > > -        e = consider_modules(ram_start, ram_end,
> > > +        e = !reserved_heap ?
> > > +            consider_modules(ram_start, ram_end,
> > >                               pfn_to_paddr(xenheap_pages),
> > > -                             32<<20, 0);
> > > +                             32<<20, 0) :
> > > +            reserved_heap_end;
> > > +
> > >          if ( e )
> > >              break;
> > >
> > >          xenheap_pages >>= 1;
> > >      } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-
> > PAGE_SHIFT) );
> > >
> > > -    if ( ! e )
> > > -        panic("Not not enough space for xenheap\n");
> > > +    if ( ! e ||
> > > +         ( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )
> > > +        panic("Not enough space for xenheap\n");
> > 
> > 
> > I would skip the do/while loop completely if reserved_heap. We don't
> > need it anyway
> 
> I agree with this.
> 
> > and we can automatically calculate xenheap_pages in a single line.
> 
> Here I am a little bit confused. Sorry to ask but could you please explain
> a little bit more about why we can calculate the xenheap_pages in a single
> line? Below is the code snippet in my mind, is this correct?
> 
> if (reserved_heap)

coding style

>     e = reserved_heap_end;
> else
> {
>     do
>     {
>         e = consider_modules(ram_start, ram_end,
>                              pfn_to_paddr(xenheap_pages),
>                              32<<20, 0);
>         if ( e )
>             break;
> 
>         xenheap_pages >>= 1;
>     } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
> }

Yes, this is what I meant.

But also, here the loop is also for adjusting xenheap_pages, and
xenheap_pages is initialized as follows:


    if ( opt_xenheap_megabytes )
        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
    else
    {
        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
    }


In the reserved_heap case, it doesn't make sense to initialize
xenheap_pages like that, right? It should be something like:

    if ( opt_xenheap_megabytes )
        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
    else if ( reserved_heap )
        xenheap_pages = heap_pages;
    else
    {
        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
    }

But also it looks like that on arm32 we have specific requirements for
Xen heap:

     *  - must be 32 MiB aligned
     *  - must not include Xen itself or the boot modules
     *  - must be at most 1GB or 1/32 the total RAM in the system if less
     *  - must be at least 32M

I think we should check at least the 32MB alignment and 32MB minimum
size before using the xen_heap bank.


In short I think this patch should:

- add a check for 32MB alignment and size of the xen_heap memory bank
- if reserved_heap, set xenheap_pages = heap_pages
- if reserved_heap, skip the consider_modules do/while

Does it make sense?


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 17:28:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 17:28:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395112.634682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT52A-0006Pr-7K; Tue, 30 Aug 2022 17:28:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395112.634682; Tue, 30 Aug 2022 17:28:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT52A-0006Pk-4b; Tue, 30 Aug 2022 17:28:18 +0000
Received: by outflank-mailman (input) for mailman id 395112;
 Tue, 30 Aug 2022 17:28:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c5Pn=ZC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oT528-0006Pe-VR
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 17:28:16 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21146f07-2889-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 19:28:15 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6BA5760B37;
 Tue, 30 Aug 2022 17:28:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD9CFC433C1;
 Tue, 30 Aug 2022 17:28:13 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21146f07-2889-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661880494;
	bh=uaUAb4vQ8Fs+PVHHdSTzvRCQdUX7F9ORZomJc9MOrgY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Y/suOySsSesDM95gMENeDiojsjzfuP8DRffL9XxvvBp4OVLE6LQXQyYfzSMsE0lfm
	 RHMpEXwEF672TqztQ/Af9dZCNqdmlbH/Xlw7vsTpt039qisQw2L57moE8YvXZddXOE
	 /l4dF9stMMCkkRK05Okb+/8y4E4lq3x5aXe2TkGUmhUxnMuioGzOZlPa61a3VTsG4q
	 ZmYBWfbkFXnCIy+uLyeiKqNM9uWKCu4H4OQd/STiuf/3/dwjm21vxofHboFf+KaX6P
	 8QT6mSSSTbQtAfrisWqoextoeLHCTs19nDZnehRRu0BD13znEBzGtIOoew1iRMmFEl
	 3nFTu+5/6XRzA==
Date: Tue, 30 Aug 2022 10:28:12 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: Michal Orzel <michal.orzel@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
In-Reply-To: <AS8PR08MB7991780D566C3EEEAD7F5BF092799@AS8PR08MB7991.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2208301026420.1134492@ubuntu-linux-20-04-desktop>
References: <20220824073127.16762-1-Henry.Wang@arm.com> <20220824073127.16762-3-Henry.Wang@arm.com> <59f69736-a18c-9d08-94dd-791bd264d671@amd.com> <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com> <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
 <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com> <536cad9e-53b5-2eae-0cd4-06f899229470@amd.com> <AS8PR08MB7991C3859BA3BAF913D50E1C92799@AS8PR08MB7991.eurprd08.prod.outlook.com> <c749e3aa-39a2-a4a8-9a21-77a65881dca5@amd.com>
 <AS8PR08MB7991780D566C3EEEAD7F5BF092799@AS8PR08MB7991.eurprd08.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 30 Aug 2022, Henry Wang wrote:
> > -----Original Message-----
> > From: Michal Orzel <michal.orzel@amd.com>
> > >
> > > Oh I think get your point. Let me try to explain myself and thanks for your
> > > patience :))
> > >
> > > The reserved heap region defined in the device tree should be used for
> > both
> > > Xenheap and domain heap, so if we reserved a too small region (<32M),
> > > an error should pop because the reserved region is not enough for
> > xenheap,
> > > and user should reserve more.
> > > [...]
> > >
> > >> But your check is against heap being to small (less than 32M).
> > >> So basically if the following check fails:
> > >> "( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )"
> > >> it means that the heap region defined by a user is too small (not too large),
> > >> because according to requirements it should be at least 32M.
> > >
> > > [...]
> > > So in that case, printing "Not enough space for xenheap" means the
> > reserved
> > > region cannot satisfy the minimal requirement of the space of xenheap (at
> > least
> > > 32M), and this is in consistent with the check.
> > 
> > Ok, it clearly depends on the way someone understands this sentence.
> > Currently this panic can be triggered if the heap size is too large and
> > should be read as "heap is too large to fit in because there is not enough
> > space
> > within RAM considering modules (e - s < size)". Usually (and also in this case)
> > space refers to a region to contain another one.
> > 
> > You are reusing the same message for different meaning, that is "user
> > defined too
> > small heap and this space (read as size) is not enough".
> 
> Yes, thanks for the explanation. I think maybe rewording the message
> to "Not enough memory for allocating xenheap" would remove the ambiguity
> to some extent? Because the user-defined heap region should cover both
> xenheap and domain heap at the same time, the small user-defined heap
> means "xenheap is too large to fit in the user-defined heap region", which is
> in consistent with your interpretation of the current "xenheap is too large to fit
> in because there is not enough space within RAM considering modules"

I think we should have a separate check specific for the device tree
input parameters to make sure the region is correct, that way we can
have a specific error message, such as:

"xen,static-heap address needs to be 32MB aligned and the size a
multiple of 32MB."


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 17:32:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 17:32:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395118.634693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT55r-0007nq-Np; Tue, 30 Aug 2022 17:32:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395118.634693; Tue, 30 Aug 2022 17:32:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT55r-0007nj-Kt; Tue, 30 Aug 2022 17:32:07 +0000
Received: by outflank-mailman (input) for mailman id 395118;
 Tue, 30 Aug 2022 17:32:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c5Pn=ZC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oT55q-0007nd-HH
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 17:32:06 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa07cc6c-2889-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 19:32:05 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 59CF06136C;
 Tue, 30 Aug 2022 17:32:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C04F4C433B5;
 Tue, 30 Aug 2022 17:32:03 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa07cc6c-2889-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661880724;
	bh=0f7uIOcyYIxEFVndL8PNhpx3oFyNsiSYaRvG0TyzdWM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YeadI+ITj4dMbfJ/W1zurBI2eV0NY0OlNjmNpfqewO2vFyzJGgOu3OsBd5LJLaLEv
	 /x8Bmbgs4fDjU/0emf+avFqPKY14NyJFweF9BnbH8HP93PA9rXUaAqN6wcQXGsHlFf
	 eE718o6UGuOrcPEjbF4Fohs3xM/Syrm4HcTeJTQ4gc7dbH8z0+w61Z71jgDb9h1xp+
	 vlkZM2CP1dQjp+moe5RxHPcgSOFPhTMeQe/ynmxpF7MTvSDAgVqVamf+pdp17J+0vY
	 XrzLakmZoz58znDRFDnbI3raWdCk/XKRfF5CkbU8DdJYNjLbYGOuJ/7H4lXWSSd+IF
	 5h9bUBy7n2B0w==
Date: Tue, 30 Aug 2022 10:32:03 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: Michal Orzel <michal.orzel@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
In-Reply-To: <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2208301030110.1134492@ubuntu-linux-20-04-desktop>
References: <20220824073127.16762-1-Henry.Wang@arm.com> <20220824073127.16762-3-Henry.Wang@arm.com> <59f69736-a18c-9d08-94dd-791bd264d671@amd.com> <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com> <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
 <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 30 Aug 2022, Henry Wang wrote:
> Hi Michal,
> 
> > -----Original Message-----
> > From: Michal Orzel <michal.orzel@amd.com>
> > >>>
> > >> Did you consider putting reserved_heap into bootinfo structure?
> > >
> > > Actually I did, but I saw current bootinfo only contains some structs so
> > > I was not sure if this is the preferred way, but since you are raising this
> > > question, I will follow this method in v2.
> > This is what I think would be better but maintainers will have a decisive vote.
> 
> Then let's wait for more input from maintainers.

I don't have a strong preference and the way the current code is
written, it would actually take less memory as is (the extra bool
xen_heap comes for free.)

I would keep the patch as is for now and for 4.17.

If Julien prefers a refactoring of bootinfo/meminfo I think it could be
done after the release if you are up to it.


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 18:47:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 18:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395132.634708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT6GF-0006Oj-3R; Tue, 30 Aug 2022 18:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395132.634708; Tue, 30 Aug 2022 18:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT6GF-0006Oc-0m; Tue, 30 Aug 2022 18:46:55 +0000
Received: by outflank-mailman (input) for mailman id 395132;
 Tue, 30 Aug 2022 18:46:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT6GE-0006OS-Fz; Tue, 30 Aug 2022 18:46:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT6GE-0004YD-B2; Tue, 30 Aug 2022 18:46:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT6GD-0005jS-SA; Tue, 30 Aug 2022 18:46:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oT6GD-0000h9-Re; Tue, 30 Aug 2022 18:46:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JaDnhynpg0obGLmaU8vFtoefMFS+LGdAHzeKH+iwqiw=; b=AT4wJtZ7+NIEvUMlI5qqQEX9ir
	/UCqh7gqLICWkuqllLjm/6pzCyXTzKEv6NJvfXb/Kbs9KeSOUgSQJjCcVQa9/pYO65ARYob35Ftv4
	RiQC0fLdblIwOAlYk158cFnrLuUqFLE4K+N0H+1a4WscVOxmwV651Cg9KQiU4L2pNbaU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172869-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172869: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9a99f964b152f8095949bbddca7841744ad418da
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 18:46:53 +0000

flight 172869 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172869/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                9a99f964b152f8095949bbddca7841744ad418da
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   27 days
Failing since        172148  2022-08-04 21:39:38 Z   25 days   59 attempts
Testing same since   172768  2022-08-25 07:03:08 Z    5 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2495 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 20:30:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 20:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395141.634719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT7s2-0007rj-Mf; Tue, 30 Aug 2022 20:30:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395141.634719; Tue, 30 Aug 2022 20:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT7s2-0007r1-H2; Tue, 30 Aug 2022 20:30:02 +0000
Received: by outflank-mailman (input) for mailman id 395141;
 Tue, 30 Aug 2022 20:30:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GQ0Y=ZC=citrix.com=prvs=2341253af=jennifer.herbert@srs-se1.protection.inumbo.net>)
 id 1oT7s1-0007h0-CI
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 20:30:01 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82919616-28a2-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 22:29:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82919616-28a2-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661891398;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=5mkYBNGwh4mzf4E6YEfHyfXXu/ajh+l9evBUsjWx1kA=;
  b=JkZE+3U+K3gEwVx80DrzD3m8gm4khzLjLYJ1isGYHs3H5b/t5tnkqbnu
   i6hno4ScH4hDioEi3JtrANw7LfQS1qU/LSaWjDiNmrw4/clcFSx/4UPx4
   ERmAhzzEV0QkjKfuNIaZynBzBzFhXFwwya92qLd//DU6nKmsZswgu581z
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 2.7
X-MesageID: 79131407
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:VHt3xq8kHnQzbsKOW/x2DrUD7H6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 GZNUWHUOa2OMGT9KNwkaoWy/BxVuZeHm4NrHAM4pX08E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0gFaYDkpOs/jZ8EM05Kyp0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR
 uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ
 N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGK2Q8PooK1uJLAEJL5
 98AGBkPNRCHmLfjqF67YrEEasULKcDqOMUUu216zCGfBvEjKXzBa/yUv5kChm52350QW6aFD
 yYaQWMHgBDoYRBJPFYZBYh4nOqyjHTlbxVTqU6PpLpx6G/WpOB0+Oe8aYGMJoTVLSlTtnnAj
 2fvrlzUOVZACoy9ijW460ihm+CayEsXX6pNTeblp5aGmma71mEVTREbS1a/if24kVKlHcJSL
 VQO/SgjprR081akJvH/VRClpH+PvjYHRsFdVeY97Wml1a788wufQG8eQVZ8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy10ZKerjSgFSwpLEwHdwwcfSIHuNnnv9Rm5v7QdeqPAJJZn/WsR2+pk
 2zQ9ndv71kApZVVjvvmpDgrlxrp/8GUFVBtu207S0r/tmtEiJiZi5tEALQxxdJJN86nQ1aIp
 xDocODOvblVXflheMFgKdjh/Y1FBN7falUweXY1Q/EcG82FohZPh7x47jBkP1tOOc0ZYzLva
 0K7kVoPusYDbCf0NPMvONvZ5yEWIU/ITI2NaxwpRoAWPsgZmPGvp0mCmnJ8L0iyyRNxwMnTy
 L+QcNq2DGZyNJmLOAGeHr5FuYLHMwhkmgs/s7inkEn8uVdfDVbJIYo43KymN7pks/vb/1qFq
 L6y9aKikn1ibQE3WQGPmaZ7ELzABSJT6UzewyCPStO+Hw==
IronPort-HdrOrdr: A9a23:60k4pKvMZHeh9hae/qf1iCyd7skDetV00zEX/kB9WHVpmszxra
 6TdZMgpHvJYVcqKRcdcL+7WJVoLUmxyXcX2/h1AV7BZniEhILAFugLhuGO/9SJIVyYygc378
 ZdmsZFZ+EYdWIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.93,276,1654574400"; 
   d="scan'208";a="79131407"
From: Jennifer Herbert <jennifer.herbert@citrix.com>
To: <jbeulich@suse.com>, <andrew.cooper3@citrix.com>, <wl@xen.org>,
	<roger.pau@citrix.com>, <ian.jackson@eu.citrix.com>
CC: <xen-devel@lists.xenproject.org>, Jennifer Herbert
	<jennifer.herbert@citrix.com>
Subject: [PATCH] acpi: Add TPM2 interface definition and make the TPM version configurable.
Date: Tue, 30 Aug 2022 20:27:06 +0000
Message-ID: <20220830202706.1618386-1-jennifer.herbert@citrix.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This patch introduces an optional TPM 2 interface definition to the ACPI table,
which is to be used as part of a vTPM 2 implementation.
To enable the new interface - I have made the TPM interface version
configurable in the acpi_config, with the default being the existing 1.2.(TCPA)
I have also added to hvmloader an option to utilise this new config, which can
be triggered by setting the platform/tpm_verion xenstore key.

Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
---
 tools/firmware/hvmloader/config.h |   1 +
 tools/firmware/hvmloader/util.c   |  15 +++-
 tools/libacpi/Makefile            |   2 +-
 tools/libacpi/acpi2_0.h           |  24 +++++++
 tools/libacpi/build.c             | 111 ++++++++++++++++++++++--------
 tools/libacpi/libacpi.h           |   4 +-
 tools/libacpi/ssdt_tpm2.asl       |  36 ++++++++++
 7 files changed, 159 insertions(+), 34 deletions(-)
 create mode 100644 tools/libacpi/ssdt_tpm2.asl

diff --git a/tools/firmware/hvmloader/config.h b/tools/firmware/hvmloader/config.h
index c82adf6dc5..4dec7195f0 100644
--- a/tools/firmware/hvmloader/config.h
+++ b/tools/firmware/hvmloader/config.h
@@ -56,6 +56,7 @@ extern uint8_t ioapic_version;
 #define PCI_ISA_IRQ_MASK    0x0c20U /* ISA IRQs 5,10,11 are PCI connected */
 
 #define ACPI_TIS_HDR_ADDRESS 0xFED40F00UL
+#define ACPI_CRB_HDR_ADDRESS 0xFED40034UL
 
 extern uint32_t pci_mem_start;
 extern const uint32_t pci_mem_end;
diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 581b35e5cf..e3af32581b 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -994,13 +994,24 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
     if ( !strncmp(xenstore_read("platform/acpi_laptop_slate", "0"), "1", 1)  )
         config->table_flags |= ACPI_HAS_SSDT_LAPTOP_SLATE;
 
-    config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC |
+    config->table_flags |= (ACPI_HAS_TPM | ACPI_HAS_IOAPIC |
                             ACPI_HAS_WAET | ACPI_HAS_PMTIMER |
                             ACPI_HAS_BUTTONS | ACPI_HAS_VGA |
                             ACPI_HAS_8042 | ACPI_HAS_CMOS_RTC);
     config->acpi_revision = 4;
 
-    config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;
+    if ( !strncmp(xenstore_read("platform/tpm_version", "0"), "2", 1)  ) {
+
+        config->tpm_version = 2;
+        config->crb_hdr = (uint16_t *)ACPI_CRB_HDR_ADDRESS;
+        config->tis_hdr = NULL;
+    }
+    else
+    {
+        config->tpm_version = 1;
+        config->crb_hdr = NULL;
+        config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;
+    }
 
     config->numa.nr_vmemranges = nr_vmemranges;
     config->numa.nr_vnodes = nr_vnodes;
diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile
index 60860eaa00..125f29fb54 100644
--- a/tools/libacpi/Makefile
+++ b/tools/libacpi/Makefile
@@ -25,7 +25,7 @@ C_SRC-$(CONFIG_X86) = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c dsdt_pvh
 C_SRC-$(CONFIG_ARM_64) = dsdt_anycpu_arm.c
 DSDT_FILES ?= $(C_SRC-y)
 C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, $(DSDT_FILES))
-H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h ssdt_laptop_slate.h)
+H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h ssdt_tpm2.h ssdt_laptop_slate.h)
 
 MKDSDT_CFLAGS-$(CONFIG_ARM_64) = -DCONFIG_ARM_64
 MKDSDT_CFLAGS-$(CONFIG_X86) = -DCONFIG_X86
diff --git a/tools/libacpi/acpi2_0.h b/tools/libacpi/acpi2_0.h
index 2619ba32db..5754daa985 100644
--- a/tools/libacpi/acpi2_0.h
+++ b/tools/libacpi/acpi2_0.h
@@ -121,6 +121,28 @@ struct acpi_20_tcpa {
 };
 #define ACPI_2_0_TCPA_LAML_SIZE (64*1024)
 
+/*
+ * TPM2
+ */
+struct Acpi20TPM2 {
+    struct acpi_header header;
+    uint16_t platform_class;
+    uint16_t reserved;
+    uint64_t control_area_address;
+    uint32_t start_method;
+    uint8_t start_method_params[12];
+    uint32_t log_area_minimum_length;
+    uint64_t log_area_start_address;
+};
+#define TPM2_ACPI_CLASS_CLIENT      0
+#define TPM2_START_METHOD_CRB       7
+
+#define TPM_CRB_ADDR_BASE           0xFED40000
+#define TPM_CRB_ADDR_CTRL           (TPM_CRB_ADDR_BASE + 0x40)
+
+#define TPM_LOG_AREA_MINIMUM_SIZE   (64 << 10)
+#define TPM_LOG_SIZE                (64 << 10)
+
 /*
  * Fixed ACPI Description Table Structure (FADT) in ACPI 1.0.
  */
@@ -431,6 +453,7 @@ struct acpi_20_slit {
 #define ACPI_2_0_RSDT_SIGNATURE ASCII32('R','S','D','T')
 #define ACPI_2_0_XSDT_SIGNATURE ASCII32('X','S','D','T')
 #define ACPI_2_0_TCPA_SIGNATURE ASCII32('T','C','P','A')
+#define ACPI_2_0_TPM2_SIGNATURE ASCII32('T','P','M','2')
 #define ACPI_2_0_HPET_SIGNATURE ASCII32('H','P','E','T')
 #define ACPI_2_0_WAET_SIGNATURE ASCII32('W','A','E','T')
 #define ACPI_2_0_SRAT_SIGNATURE ASCII32('S','R','A','T')
@@ -444,6 +467,7 @@ struct acpi_20_slit {
 #define ACPI_2_0_RSDT_REVISION 0x01
 #define ACPI_2_0_XSDT_REVISION 0x01
 #define ACPI_2_0_TCPA_REVISION 0x02
+#define ACPI_2_0_TPM2_REVISION 0x04
 #define ACPI_2_0_HPET_REVISION 0x01
 #define ACPI_2_0_WAET_REVISION 0x01
 #define ACPI_1_0_FADT_REVISION 0x01
diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c
index fe2db66a62..478cbec5dd 100644
--- a/tools/libacpi/build.c
+++ b/tools/libacpi/build.c
@@ -19,6 +19,7 @@
 #include "ssdt_s3.h"
 #include "ssdt_s4.h"
 #include "ssdt_tpm.h"
+#include "ssdt_tpm2.h"
 #include "ssdt_pm.h"
 #include "ssdt_laptop_slate.h"
 #include <xen/hvm/hvm_info_table.h>
@@ -352,6 +353,8 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
     struct acpi_20_tcpa *tcpa;
     unsigned char *ssdt;
     void *lasa;
+    struct Acpi20TPM2 *tpm2;
+    void *log;
 
     /* MADT. */
     if ( (config->hvminfo->nr_vcpus > 1) || config->hvminfo->apic_mode )
@@ -409,38 +412,86 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
         memcpy(ssdt, ssdt_laptop_slate, sizeof(ssdt_laptop_slate));
         table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
     }
-
-    /* TPM TCPA and SSDT. */
-    if ( (config->table_flags & ACPI_HAS_TCPA) &&
-         (config->tis_hdr[0] != 0 && config->tis_hdr[0] != 0xffff) &&
-         (config->tis_hdr[1] != 0 && config->tis_hdr[1] != 0xffff) )
+    /* TPM and SSDT. */
+    if (config->table_flags & ACPI_HAS_TPM)
     {
-        ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_tpm), 16);
-        if (!ssdt) return -1;
-        memcpy(ssdt, ssdt_tpm, sizeof(ssdt_tpm));
-        table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
-
-        tcpa = ctxt->mem_ops.alloc(ctxt, sizeof(struct acpi_20_tcpa), 16);
-        if (!tcpa) return -1;
-        memset(tcpa, 0, sizeof(*tcpa));
-        table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, tcpa);
-
-        tcpa->header.signature = ACPI_2_0_TCPA_SIGNATURE;
-        tcpa->header.length    = sizeof(*tcpa);
-        tcpa->header.revision  = ACPI_2_0_TCPA_REVISION;
-        fixed_strcpy(tcpa->header.oem_id, ACPI_OEM_ID);
-        fixed_strcpy(tcpa->header.oem_table_id, ACPI_OEM_TABLE_ID);
-        tcpa->header.oem_revision = ACPI_OEM_REVISION;
-        tcpa->header.creator_id   = ACPI_CREATOR_ID;
-        tcpa->header.creator_revision = ACPI_CREATOR_REVISION;
-        if ( (lasa = ctxt->mem_ops.alloc(ctxt, ACPI_2_0_TCPA_LAML_SIZE, 16)) != NULL )
+        if (config-> tpm_version == 2)
+        {
+            if ( (config->crb_hdr) &&
+                   (config->crb_hdr[0] != 0 && config->crb_hdr[0] != 0xffff))
+            {
+                ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_tpm2), 16);
+                if (!ssdt) return -1;
+                memcpy(ssdt, ssdt_tpm2, sizeof(ssdt_tpm2));
+                table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
+
+                tpm2 = ctxt->mem_ops.alloc(ctxt, sizeof(struct Acpi20TPM2), 16);
+                if (!tpm2) return -1;
+                memset(tpm2, 0, sizeof(*tpm2));
+                table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, tpm2);
+
+                tpm2->header.signature = ACPI_2_0_TPM2_SIGNATURE;
+                tpm2->header.length    = sizeof(*tpm2);
+                tpm2->header.revision  = ACPI_2_0_TPM2_REVISION;
+                fixed_strcpy(tpm2->header.oem_id, ACPI_OEM_ID);
+                fixed_strcpy(tpm2->header.oem_table_id, ACPI_OEM_TABLE_ID);
+                tpm2->header.oem_revision = ACPI_OEM_REVISION;
+                tpm2->header.creator_id   = ACPI_CREATOR_ID;
+                tpm2->header.creator_revision = ACPI_CREATOR_REVISION;
+                tpm2->platform_class = TPM2_ACPI_CLASS_CLIENT;
+                tpm2->control_area_address = TPM_CRB_ADDR_CTRL;
+                tpm2->start_method = TPM2_START_METHOD_CRB;
+                tpm2->log_area_minimum_length = TPM_LOG_AREA_MINIMUM_SIZE;
+
+                log = ctxt->mem_ops.alloc(ctxt, TPM_LOG_SIZE, 4096);
+                if (!log) return -1;
+
+                memset(log, 0, TPM_LOG_SIZE);
+                tpm2->log_area_start_address = ctxt->mem_ops.v2p(ctxt, log);
+
+                set_checksum(tpm2,
+                             offsetof(struct acpi_header, checksum),
+                             tpm2->header.length);
+            }
+            else if (!config->crb_hdr)
+                printf("Error: TPM2 configuration requires CRB header!\n");
+        }
+        else
         {
-            tcpa->lasa = ctxt->mem_ops.v2p(ctxt, lasa);
-            tcpa->laml = ACPI_2_0_TCPA_LAML_SIZE;
-            memset(lasa, 0, tcpa->laml);
-            set_checksum(tcpa,
-                         offsetof(struct acpi_header, checksum),
-                         tcpa->header.length);
+            if ((config->tis_hdr) &&
+                (config->tis_hdr[0] != 0 && config->tis_hdr[0] != 0xffff) &&
+                (config->tis_hdr[1] != 0 && config->tis_hdr[1] != 0xffff))
+            {
+                ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_tpm), 16);
+                if (!ssdt) return -1;
+                memcpy(ssdt, ssdt_tpm, sizeof(ssdt_tpm));
+                table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
+
+                tcpa = ctxt->mem_ops.alloc(ctxt, sizeof(struct acpi_20_tcpa), 16);
+                if (!tcpa) return -1;
+                memset(tcpa, 0, sizeof(*tcpa));
+                table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, tcpa);
+
+                tcpa->header.signature = ACPI_2_0_TCPA_SIGNATURE;
+                tcpa->header.length    = sizeof(*tcpa);
+                tcpa->header.revision  = ACPI_2_0_TCPA_REVISION;
+                fixed_strcpy(tcpa->header.oem_id, ACPI_OEM_ID);
+                fixed_strcpy(tcpa->header.oem_table_id, ACPI_OEM_TABLE_ID);
+                tcpa->header.oem_revision = ACPI_OEM_REVISION;
+                tcpa->header.creator_id   = ACPI_CREATOR_ID;
+                tcpa->header.creator_revision = ACPI_CREATOR_REVISION;
+
+                if ( (lasa = ctxt->mem_ops.alloc(ctxt, ACPI_2_0_TCPA_LAML_SIZE, 16)) != NULL )
+                {
+                    tcpa->lasa = ctxt->mem_ops.v2p(ctxt, lasa);
+                    tcpa->laml = ACPI_2_0_TCPA_LAML_SIZE;
+                    memset(lasa, 0, tcpa->laml);
+                    set_checksum(tcpa,
+                                 offsetof(struct acpi_header, checksum),
+                                 tcpa->header.length);
+                }
+            } else if (!config->tis_hdr)
+                printf("Error: TPM1.x requires TIS Header!\n");
         }
     }
 
diff --git a/tools/libacpi/libacpi.h b/tools/libacpi/libacpi.h
index a2efd23b0b..af8925a9ec 100644
--- a/tools/libacpi/libacpi.h
+++ b/tools/libacpi/libacpi.h
@@ -27,7 +27,7 @@
 #define ACPI_HAS_SSDT_PM           (1<<4)
 #define ACPI_HAS_SSDT_S3           (1<<5)
 #define ACPI_HAS_SSDT_S4           (1<<6)
-#define ACPI_HAS_TCPA              (1<<7)
+#define ACPI_HAS_TPM               (1<<7)
 #define ACPI_HAS_IOAPIC            (1<<8)
 #define ACPI_HAS_WAET              (1<<9)
 #define ACPI_HAS_PMTIMER           (1<<10)
@@ -78,7 +78,9 @@ struct acpi_config {
     struct acpi_numa numa;
     const struct hvm_info_table *hvminfo;
 
+    uint8_t tpm_version;
     const uint16_t *tis_hdr;
+    const uint16_t *crb_hdr;
 
     /*
      * Address where acpi_info should be placed.
diff --git a/tools/libacpi/ssdt_tpm2.asl b/tools/libacpi/ssdt_tpm2.asl
new file mode 100644
index 0000000000..1801c338df
--- /dev/null
+++ b/tools/libacpi/ssdt_tpm2.asl
@@ -0,0 +1,36 @@
+/*
+ * ssdt_tpm2.asl
+ *
+ * Copyright (c) 2018-2022, Citrix Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+/* SSDT for TPM CRB Interface for Xen with Qemu device model. */
+
+DefinitionBlock ("SSDT_TPM2.aml", "SSDT", 2, "Xen", "HVM", 0)
+{
+    Device (TPM)
+    {
+        Name (_HID, "MSFT0101" /* TPM 2.0 Security Device */)  // _HID: Hardware ID
+        Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
+        {
+            Memory32Fixed (ReadWrite,
+                0xFED40000,         // Address Base
+                0x00001000,         // Address Length
+                )
+        })
+        Method (_STA, 0, NotSerialized)  // _STA: Status
+        {
+            Return (0x0F)
+        }
+    }
+}
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 30 20:43:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 20:43:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395148.634729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT85B-0001ZN-QZ; Tue, 30 Aug 2022 20:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395148.634729; Tue, 30 Aug 2022 20:43:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT85B-0001ZG-O2; Tue, 30 Aug 2022 20:43:37 +0000
Received: by outflank-mailman (input) for mailman id 395148;
 Tue, 30 Aug 2022 20:43:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT85A-0001Z6-Fr; Tue, 30 Aug 2022 20:43:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT85A-0006Xl-CE; Tue, 30 Aug 2022 20:43:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oT85A-000540-15; Tue, 30 Aug 2022 20:43:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oT85A-0004Ne-0e; Tue, 30 Aug 2022 20:43:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yWy+FapJra1W6ki81DopzrQokCWCv7msDABbHuy6/3Y=; b=Pllzal03AXz0lu3V8yUhJxUvp/
	wiFqvJF9CJh8FyR3fCTi2fkLqRaJRbHGksG5Y1CDtN6haA4EfgNpU/cuj+aR7i7datsfAv2yGvk/A
	2a+uClftp8a5l2rTmIWgqXfHcLJx8Fi92m4yUNtBbrypT7eupBBOhu9FrSKd/ItjlW0s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172876-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172876: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=227a133a0a4357d9ce7cbf1c81dc4257a37ac616
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 20:43:36 +0000

flight 172876 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172876/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 227a133a0a4357d9ce7cbf1c81dc4257a37ac616
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   26 days
Failing since        172151  2022-08-05 02:40:28 Z   25 days  207 attempts
Testing same since   172876  2022-08-30 17:13:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1036 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 30 20:48:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 20:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395156.634741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT89s-0002Cp-DR; Tue, 30 Aug 2022 20:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395156.634741; Tue, 30 Aug 2022 20:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oT89s-0002Ci-At; Tue, 30 Aug 2022 20:48:28 +0000
Received: by outflank-mailman (input) for mailman id 395156;
 Tue, 30 Aug 2022 20:48:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6c5l=ZC=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1oT89q-0002Cc-OJ
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 20:48:26 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1803c121-28a5-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 22:48:25 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id qh18so4329994ejb.7
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 13:48:25 -0700 (PDT)
Received: from uni.. (adsl-47.176.58.181.tellas.gr. [176.58.181.47])
 by smtp.googlemail.com with ESMTPSA id
 j17-20020a17090623f100b0074182109623sm3594527ejg.39.2022.08.30.13.48.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Aug 2022 13:48:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1803c121-28a5-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc;
        bh=QlxW8fxVxO+DakXYQ5ScpHK2jDTcDSsFw0JIb0kLB2g=;
        b=RYKuBA/L4kTdkOMKoagUGEzUbqT8LDfmIcL4xCfdJ5yBbuf9aazz3UwPCxMe8TO1fO
         dDtzJnDliA+j5vm6IQzhWWymKDIboyK6v3GoGUkTjA5MJcKuglgcyGeGzQlbNCdchNFT
         YZtFEySi02X2xDPudnYZ2yreGk2w6q9GoY4UpMkxGPSnH7lmcxwUMfAD57UNF/EUvAwF
         ucpdy2xnaOgHN96gtY6m/9FaKoSlg2vdPG4rzc1GoGxE28Gg2+ZRRd4IygFJI/FZzSHJ
         +ec/zo7frJ7SkbgjhV6I1Zv9y+aeMYepYQy+i23L1VDc+Wvnle1Qcg6U810WRDlUzSOT
         Hi0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc;
        bh=QlxW8fxVxO+DakXYQ5ScpHK2jDTcDSsFw0JIb0kLB2g=;
        b=uoRFmA30bp4SZEzE627hIIvRkJBWFv0zchRCsZq2s6cGLQ6YXkcxm+/jaMUcl5j2Xt
         aEE4NsqJCO4kARUplKOCYUwzSWQsGomJbBlFy8fXyTHyPD+1A4w5WAH7e3H0YFmZJ8wd
         0brUG/ve7cEDSq3cMQja+91EV6j81kbm53l5cBaqBAmQmJcZGd8j+5hchTpgU46rg0oP
         8yI0+EdHPPZu37k7o75pb69oBAGoJCYC9pzmR+EM3mImRewqNnE08urPLdNatPBAy/fv
         LI+VlRWyXwrliv2njgAuGLrl5fo4wrWXavCSxL4vrJpUH4lSLKRhCggun/BrrTm46ii3
         /a3w==
X-Gm-Message-State: ACgBeo3Re3+68apwsj6qv8yJ43wSciECpf9oQsJDgs9N6Ssy3kt2lbGm
	zTAV3Ab+Y85onWkC3uNmrOK0mIEbDyM=
X-Google-Smtp-Source: AA6agR5rf3UuGZBEchVthOgkTUUc10jQ7Fa3Gp2209wD4YCC5/XU1cEqVOORpYYpLx2yT1mZXcP9UQ==
X-Received: by 2002:a17:906:8b81:b0:733:183b:988e with SMTP id nr1-20020a1709068b8100b00733183b988emr17995652ejc.457.1661892505105;
        Tue, 30 Aug 2022 13:48:25 -0700 (PDT)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v2] xen/device_tree: Fix MISRA C 2012 Rule 20.7 violations
Date: Tue, 30 Aug 2022 23:48:18 +0300
Message-Id: <20220830204818.1374930-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add parentheses around the macro parameters that are used as expressions
to prevent against unintended expansions during macro substitution.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

Changes in v2:
- apply rule 20.7 as is, without deviating from it
- adjust commit message accordingly

Also, in this file, the macro dt_irq(irq) has not been defined properly but
since it is not used, the bug has not been uncovered yet.
I can either fix it or remove it along with macro dt_irq_flags(irq) under
rule 2.5 "A project should not contain unused macro declarations" (advisory)

 xen/include/xen/device_tree.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 430a1ef445..6e253f5763 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -37,11 +37,11 @@ struct dt_device_match {
     const void *data;
 };
 
-#define __DT_MATCH_PATH(p)              .path = p
-#define __DT_MATCH_TYPE(typ)            .type = typ
-#define __DT_MATCH_COMPATIBLE(compat)   .compatible = compat
+#define __DT_MATCH_PATH(p)              .path = (p)
+#define __DT_MATCH_TYPE(typ)            .type = (typ)
+#define __DT_MATCH_COMPATIBLE(compat)   .compatible = (compat)
 #define __DT_MATCH_NOT_AVAILABLE()      .not_available = 1
-#define __DT_MATCH_PROP(p)              .prop = p
+#define __DT_MATCH_PROP(p)              .prop = (p)
 
 #define DT_MATCH_PATH(p)                { __DT_MATCH_PATH(p) }
 #define DT_MATCH_TYPE(typ)              { __DT_MATCH_TYPE(typ) }
@@ -222,13 +222,13 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
 #define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
 
 #define dt_for_each_property_node(dn, pp)                   \
-    for ( pp = dn->properties; pp != NULL; pp = pp->next )
+    for ( (pp) = (dn)->properties; (pp) != NULL; (pp) = (pp)->next )
 
 #define dt_for_each_device_node(dt, dn)                     \
-    for ( dn = dt; dn != NULL; dn = dn->allnext )
+    for ( (dn) = (dt); (dn) != NULL; (dn) = (dn)->allnext )
 
 #define dt_for_each_child_node(dt, dn)                      \
-    for ( dn = dt->child; dn != NULL; dn = dn->sibling )
+    for ( (dn) = (dt)->child; (dn) != NULL; (dn) = (dn)->sibling )
 
 /* Helper to read a big number; size is in cells (not bytes) */
 static inline u64 dt_read_number(const __be32 *cell, int size)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 30 23:35:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Aug 2022 23:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395226.634755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTAl9-0001Z3-Re; Tue, 30 Aug 2022 23:35:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395226.634755; Tue, 30 Aug 2022 23:35:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTAl9-0001Yw-Oo; Tue, 30 Aug 2022 23:35:07 +0000
Received: by outflank-mailman (input) for mailman id 395226;
 Tue, 30 Aug 2022 23:35:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTAl8-0001Ym-IV; Tue, 30 Aug 2022 23:35:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTAl8-00015D-Fu; Tue, 30 Aug 2022 23:35:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTAl7-0007zi-Uy; Tue, 30 Aug 2022 23:35:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTAl7-0006xC-UG; Tue, 30 Aug 2022 23:35:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RS124f6Ke34HZfXShx5pZvsbAIsrIk+1JVq22F4yCZ0=; b=wNTpLSn01m2Qsjd0EZWOLexqnL
	pkpGlXnGdzOpNzSnPgwb4xWN3J2/DHOg9ZiDr2xJA3YpoWddTdEVpAoTmG7dXJVHuk60bkIA4kn8G
	NnbWTi9nFB80O9+mSzwSNamfW+r9FodOunfAlDZBd4mkTijG48RY8jYYFEfHDZB6t6c0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172878-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172878: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=227a133a0a4357d9ce7cbf1c81dc4257a37ac616
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Aug 2022 23:35:05 +0000

flight 172878 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172878/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 227a133a0a4357d9ce7cbf1c81dc4257a37ac616
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   26 days
Failing since        172151  2022-08-05 02:40:28 Z   25 days  208 attempts
Testing same since   172876  2022-08-30 17:13:30 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1036 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 00:31:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 00:31:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395236.634766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTBdW-00087t-3c; Wed, 31 Aug 2022 00:31:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395236.634766; Wed, 31 Aug 2022 00:31:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTBdV-00087m-WE; Wed, 31 Aug 2022 00:31:18 +0000
Received: by outflank-mailman (input) for mailman id 395236;
 Wed, 31 Aug 2022 00:31:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTBdU-00087c-4r; Wed, 31 Aug 2022 00:31:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTBdU-0002cu-1O; Wed, 31 Aug 2022 00:31:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTBdT-0003B6-Fj; Wed, 31 Aug 2022 00:31:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTBdT-0006tF-FF; Wed, 31 Aug 2022 00:31:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Xw1apTs+REvQ4dylFlENuB+tHGSfD/ezGmEE1ULoHbE=; b=oXQA3dmOjh8UHgbpXXil3V9QqR
	3wRyxHGlfq5PP8LdtcAcVVWaxcIE/m76tA++Yuai2+97sR/eVjp2rau/uIhoS6kIE5ZcEhxgnhE3p
	pNHXs/5dsL/ftScwNrn8AcP2rt/yS+FERSqzlveT5HTIRB2dVXt69LUbC6P4/2ljPJzM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172873-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172873: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=dcf8e5633e2e69ad60b730ab5905608b756a032f
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 00:31:15 +0000

flight 172873 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172873/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 172865 pass in 172873
 test-armhf-armhf-examine      8 reboot                     fail pass in 172865

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                dcf8e5633e2e69ad60b730ab5905608b756a032f
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   26 days
Failing since        172152  2022-08-05 04:01:26 Z   25 days   59 attempts
Testing same since   172865  2022-08-30 04:54:06 Z    0 days    2 attempts

------------------------------------------------------------
1589 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 164572 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 01:24:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 01:24:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395244.634777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCSt-00036X-3A; Wed, 31 Aug 2022 01:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395244.634777; Wed, 31 Aug 2022 01:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCSs-00036Q-WA; Wed, 31 Aug 2022 01:24:22 +0000
Received: by outflank-mailman (input) for mailman id 395244;
 Wed, 31 Aug 2022 01:24:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zBhm=ZD=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oTCSr-00036K-Ip
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 01:24:21 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2079.outbound.protection.outlook.com [40.107.21.79])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2f3ba3c-28cb-11ed-bd2e-47488cf2e6aa;
 Wed, 31 Aug 2022 03:24:20 +0200 (CEST)
Received: from AM6PR04CA0037.eurprd04.prod.outlook.com (2603:10a6:20b:f0::14)
 by AM8PR08MB6420.eurprd08.prod.outlook.com (2603:10a6:20b:314::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 31 Aug
 2022 01:24:16 +0000
Received: from VE1EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:f0:cafe::16) by AM6PR04CA0037.outlook.office365.com
 (2603:10a6:20b:f0::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend
 Transport; Wed, 31 Aug 2022 01:24:15 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT058.mail.protection.outlook.com (10.152.19.86) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 31 Aug 2022 01:24:15 +0000
Received: ("Tessian outbound fa99bf31ee7d:v123");
 Wed, 31 Aug 2022 01:24:14 +0000
Received: from f6512c2ba877.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4DF03A38-4948-4593-92C7-4EF4FB95F2DB.1; 
 Wed, 31 Aug 2022 01:24:04 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f6512c2ba877.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 31 Aug 2022 01:24:03 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB4PR08MB8104.eurprd08.prod.outlook.com (2603:10a6:10:384::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Wed, 31 Aug
 2022 01:24:01 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Wed, 31 Aug 2022
 01:24:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2f3ba3c-28cb-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=gtUqO1dke/xMBgIATmmwa0xBDzRb3T/TJ1J/n1/LpmaW7MKullYa61o5y0ap0EAN23sDofkPiPrLnrFp9NC7l44whgEJ83yvsQClkglTC0KcKGuhxtuI2v3jAOOYJj4qeOab7n/bCCiDQOQ0KfBngpvg/JGJzg5HL30OPMTylZyKRLKipagjqQU8+PK66T/O5KsdjzfDaYnxmcYuWxWpSKBoX3QTxSgkgO4itFqUri+ZA4Gg60l5n9svWHLlV5TyxuqlcLu6GpWVFrEv4U3TNemVWJUdnBnoxc1h27GgkDL1+2W2Ai0E3tabrsX5FPjs7pCWs5f1LW626w4FSp8SkQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O3hBU/xgD1n/onMg022a0kkz+wuI8MEKgZkKup2h7dg=;
 b=nz852n5BkDwFhoWuV3ebg9abhwj7e+YAmQfW1sqy2yh4BRBpsVCzzlVL374LdiUYnBFKLfVEWRqFZOCXkUhDQt9ElE0Rb7cEKtTwcgi2/Jbj7avB7Cw9Y8EUFsx0LdXBCk3D613s8eZS3FPc7vzbpwAje6pN7el8fdj6Mpx6DKi877AnFrnvnjTSnLJZ2gyiwXqRC7/xN3jak5F0dgpzhIbiuq76D7X+bvYU2Yjes8g/7pWL9UJjhnEayEusoiWdlJ0vXHvQqOoVbCxUO38KVIGedZGQjgB3yLkiLKe+8atD+EvSzCnW9IUzitnsi96xQB0EuUN+6451lwwirt4nbQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O3hBU/xgD1n/onMg022a0kkz+wuI8MEKgZkKup2h7dg=;
 b=mN7FsDYIG0q1o8b0Bt98NTLiuTUniE7Rwfi20TyGmf9VA1c82n9P6g0ECWSzGUOqo/BzlR3WbqblmnFhz1cfT6Emj5vwAc0tr5stD2zVGz/9ruYHS8OjI+nmj9Teh/6PL3R7ujzM0LDurxctLLG9ad4vbse+kXL8zNZRAPPyAOA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hwHcBjvm6kMQquLO37vDrO2GyKPnIDrF2tu9lnXjYs1aqYYLSKkKvgjHarjhYsFPUeAnWV7QVHPSazfkDmKpBvDs+m3VaNDb5yuR4gv5NIYqnHm1Ug+zu9Sp7gN9iRy/oM2PnhUt9U2Vmf891+m4nJwblD7vybAGA8ZOsX+dqmJTpfaeWq2CVpUwWOB+E7d4EW7Nn1xRgfQnyrmjHqoFuKoX4mDSIwWGIbsfCgQC6djOeQHc4spyiJUqfYKDbxiuvzjdqBnmuadzVPtihEGfB5jj1aYAz6+pjl3nZ/c3j9f6ESAG2Y2hvlzi0MO0IeRk9iNbt+kqIeg19fjR3UPiaA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O3hBU/xgD1n/onMg022a0kkz+wuI8MEKgZkKup2h7dg=;
 b=QsO5jFt0ejkdwk8NHp2rKiv7+dZQOzr2m8KQg+5Nvp5XJLd/wtKVPPaqI2g1ERN331QGfRit7/l3Uc88wLVvc7Y/FpqFA6iNcx93MFxNSY/1mcm9AHPvOyyw/ed5QVe47grA/gkpWvk6I52KOkfB4XVu85fle55lLykHfY9uABmJCwP5ttnJjvgBUiR9Aimjm5rmuWAyZWWiS/Nq5hZj1wLLuQhnRR/Bt4qPTXyp1Bz93YSOkccR9kXBSNDdJRMU3cL17MvegUZETZc6T990IC1mLw/uqmg/XG8YcV20gB7RKAF2bVt4JozrIzxRT5Fi0mmwXe/jEs6Efz2Jh0pcuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O3hBU/xgD1n/onMg022a0kkz+wuI8MEKgZkKup2h7dg=;
 b=mN7FsDYIG0q1o8b0Bt98NTLiuTUniE7Rwfi20TyGmf9VA1c82n9P6g0ECWSzGUOqo/BzlR3WbqblmnFhz1cfT6Emj5vwAc0tr5stD2zVGz/9ruYHS8OjI+nmj9Teh/6PL3R7ujzM0LDurxctLLG9ad4vbse+kXL8zNZRAPPyAOA=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Topic: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Index: AQHYt4ugTfbCAM/WyEil7pMplK0r3q3GqcQAgABmBoCAAKwSgIAAgPtw
Date: Wed, 31 Aug 2022 01:24:00 +0000
Message-ID:
 <AS8PR08MB7991AA505E621A7B6E8B906192789@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2208291755450.1134492@ubuntu-linux-20-04-desktop>
 <AS8PR08MB79912EF49AEBA8E5B18B8C7F92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2208301013500.1134492@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2208301013500.1134492@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 8FF8B4535F450841AF52350C70B74DAD.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 0f759920-bd17-4a3c-56d0-08da8aef8499
x-ms-traffictypediagnostic:
	DB4PR08MB8104:EE_|VE1EUR03FT058:EE_|AM8PR08MB6420:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 YuwQaHXuJGVxvWDH6CqGvBE5D4bgjbSXmv4sMOcJ3AWgEWTt7XzYGGA19L0S9eObEbtcLSAFxD4V1lZTustYXGX+KNrNwhFWwhcMRPsePLa8E1FBj1gpdomXlC+ObJ81C3EfC199TW4CLE7KR2GAAToQvMBbJtKYckvMVxckDHNvxdj+YJyYrB1ccSrPCHgfX97SgW9mPGEobWT5LqIwSRTt8mtrwUxGQHW/dJE+0EKryL7G/nx4r6jezdzhDqe1UyjA2wsNhW31fEc6dzmvhkAg9MlgHRue+BNyJPfbxWZoFtS1AZMZ1O/qnDoH2CWXmrivEbdoxJf5koYagbDApaFxrEFywvoGlqwyFrhyiaDNvyWH5EGQnc8wFhho4UP9x48bho6KKhYaNOvxOcwnA053RUmYbkEmWvFNQyDANDmt+dr9t9aqPdkbXUWElMDtvhNNTaqc8Pbc9Sssrj6w4CuynSgzZrd6HtxUS3uj2u9sdLGb6QjypRdwVo2ucMEiqfh0Nx4g7MjBzMIU44B7JeZdDoz4cL8Bf8uRWqgNNGieKIvYM3TZzXrFSK00Hz1Vn9KHTYrt7Poqnve1Bnsi9bhroTzxK40O/q8LJ5aOSZ7tx70d5pxYLz6N4MET0laO906iUap0OsqRx+KJ33F2Zb9uWvL2+ijk+Rcbp5aX5L3YkwTHwvN9V6fBbWU98+6UbhfXvpqgixLS/33Il8x8MtbcLAoW1kvZuUI+V9QBuDfBvzhLRi9pSc1MENw3W5a+Exf27FMU/JTXJryziyg/7A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(396003)(366004)(376002)(33656002)(186003)(6916009)(71200400001)(316002)(26005)(2906002)(83380400001)(9686003)(6506007)(7696005)(38070700005)(55016003)(122000001)(66946007)(8936002)(5660300002)(478600001)(52536014)(41300700001)(54906003)(66476007)(38100700002)(86362001)(66556008)(76116006)(66446008)(8676002)(64756008)(4326008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8104
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5c5a91fe-0d48-48cc-3df1-08da8aef7c12
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	U7/X9vPpqxMmOQS/CDciQEfBPvtvpCuouAzUIa4cCSCQRfGPsr/JHkh+Yy0BmbiJnqMWaRrhakp3u0pzjek1w7IhXhh0yWb60EwmNp42NmVnF5Q365ZLKTJvpOi76l0BR+dLODvMnXpUCnvifrsPl+8nUtW9Iby1ms9mU17jNow7xu8R9kci0y8lPVd5a+b5N9FWMat5sjXZAxKXLxRdyHbohl2BbQq09e4nWWTIvGMcaKAZEI5OTCbfNusKCRjrB7YIPNvY/HxyRHrRzitcOROOEhNOIZm+3xaYTNhfGtTTC0F1JQ26FchN8IsdOQmKW0sn7+RuxW3pCJDwubcw8G+rNhNUiZDZuGqwR+djwuTVFt6FG9oDK6txJNVoff2GvVZefwQK7TqjdC5Q4pqCpqOk5mFlcjPXnN9fxA1aup0MJjmJLZAMDGZT7/CIU2IYpAxQiWBX5+EP79g3A8JXJ+F0G5dr3VAWObfn093UIMPl21vrOw+uPJf5CqfNfZ+DAVRXx71CxCBVHicJtyPbE/dqG4OEvTMtETtWfURhIFrV0JqVvK7ihXClT0x+OxlhaCltKZr0YdlDfjMufJBm6FVv6ntAMleiD1ZFN7Ci6Wckhiq0hgFETg8T9QH2BfCiVZFFKGUnlJ31ArEUs/YHrcV1wdWRWqKFm0FsQuasveGTni/H/0P0WW6B4B4abLHa9i6ACFRlWnxzQPXrkOk6HWTP6lqGfYPux9dXLt3ztCYjRaWfDrsbRtyYi3Rg1sFbn7tDj4Qrx95ryFRImgYHEQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(39860400002)(376002)(136003)(46966006)(40470700004)(36840700001)(6862004)(8936002)(52536014)(8676002)(4326008)(47076005)(5660300002)(36860700001)(33656002)(70586007)(316002)(54906003)(2906002)(107886003)(478600001)(41300700001)(6506007)(7696005)(9686003)(70206006)(86362001)(186003)(82740400003)(82310400005)(26005)(40480700001)(81166007)(83380400001)(336012)(356005)(55016003)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2022 01:24:15.1766
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f759920-bd17-4a3c-56d0-08da8aef8499
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6420

Hi Stefano,

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@kernel.org>
> > > and we can automatically calculate xenheap_pages in a single line.
> >
> > Here I am a little bit confused. Sorry to ask but could you please expl=
ain
> > a little bit more about why we can calculate the xenheap_pages in a sin=
gle
> > line? Below is the code snippet in my mind, is this correct?
> >
> > if (reserved_heap)
>=20
> coding style
>=20
> >     e =3D reserved_heap_end;
> > else
> > {
> >     do
> >     {
> >         e =3D consider_modules(ram_start, ram_end,
> >                              pfn_to_paddr(xenheap_pages),
> >                              32<<20, 0);
> >         if ( e )
> >             break;
> >
> >         xenheap_pages >>=3D 1;
> >     } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-
> PAGE_SHIFT) );
> > }
>=20
> Yes, this is what I meant.

Thank you very much for your detailed explanation below!
[...]

>=20
> But also, here the loop is also for adjusting xenheap_pages, and
> xenheap_pages is initialized as follows:
>=20
>=20
>     if ( opt_xenheap_megabytes )
>         xenheap_pages =3D opt_xenheap_megabytes << (20-PAGE_SHIFT);
>     else
>     {
>         xenheap_pages =3D (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
>         xenheap_pages =3D max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
>         xenheap_pages =3D min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
>     }
>=20
>=20
> In the reserved_heap case, it doesn't make sense to initialize
> xenheap_pages like that, right? It should be something like:

I am not sure about that, since we already have
heap_pages =3D reserved_heap ? reserved_heap_pages : ram_pages;

the heap_pages is supposed to contain domheap_pages + xenheap_pages
based on the reserved heap definition discussed in the RFC.

from the code in...

>=20
>     if ( opt_xenheap_megabytes )
>         xenheap_pages =3D opt_xenheap_megabytes << (20-PAGE_SHIFT);
>     else if ( reserved_heap )
>         xenheap_pages =3D heap_pages;

...here, setting xenheap_pages to heap_pages makes me a little bit
confused.

>     else
>     {
>         xenheap_pages =3D (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
>         xenheap_pages =3D max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
>         xenheap_pages =3D min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
>     }

If we keep this logic as this patch does, we can have the requirements...

>=20
> But also it looks like that on arm32 we have specific requirements for
> Xen heap:
>=20
>      *  - must be 32 MiB aligned
>      *  - must not include Xen itself or the boot modules
>      *  - must be at most 1GB or 1/32 the total RAM in the system if less
>      *  - must be at least 32M

...here, with the "1/32 the total RAM" now being "1/32 of the total reserve=
d
heap region", since heap_pages is now reserved_heap_pages.

>=20
> I think we should check at least the 32MB alignment and 32MB minimum
> size before using the xen_heap bank.
>=20
>=20
> In short I think this patch should:
>=20
> - add a check for 32MB alignment and size of the xen_heap memory bank
> - if reserved_heap, set xenheap_pages =3D heap_pages
> - if reserved_heap, skip the consider_modules do/while
>=20
> Does it make sense?

I left some of my thoughts above to explain my understanding, but I might
be wrong, thank you for your patience!

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 01:37:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 01:37:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395252.634788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCfO-0004gz-CC; Wed, 31 Aug 2022 01:37:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395252.634788; Wed, 31 Aug 2022 01:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCfO-0004gs-80; Wed, 31 Aug 2022 01:37:18 +0000
Received: by outflank-mailman (input) for mailman id 395252;
 Wed, 31 Aug 2022 01:37:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zBhm=ZD=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oTCfM-0004gc-L0
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 01:37:16 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2052.outbound.protection.outlook.com [40.107.20.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 706564eb-28cd-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 03:37:14 +0200 (CEST)
Received: from AS9PR06CA0498.eurprd06.prod.outlook.com (2603:10a6:20b:49b::24)
 by DB4PR08MB8031.eurprd08.prod.outlook.com (2603:10a6:10:389::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Wed, 31 Aug
 2022 01:37:12 +0000
Received: from VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:49b:cafe::5d) by AS9PR06CA0498.outlook.office365.com
 (2603:10a6:20b:49b::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend
 Transport; Wed, 31 Aug 2022 01:37:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT041.mail.protection.outlook.com (10.152.19.163) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 31 Aug 2022 01:37:11 +0000
Received: ("Tessian outbound 2af316122c7a:v123");
 Wed, 31 Aug 2022 01:37:10 +0000
Received: from 172c9b2d2c3c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D8B3BE13-42B5-44F0-B6B2-6D8BB93E4AC0.1; 
 Wed, 31 Aug 2022 01:37:04 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 172c9b2d2c3c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 31 Aug 2022 01:37:04 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DBAPR08MB5685.eurprd08.prod.outlook.com (2603:10a6:10:1ad::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 01:36:53 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Wed, 31 Aug 2022
 01:36:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 706564eb-28cd-11ed-a60c-1f1ba7de4fb0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=P9Bq2ww+XICTlh74Fr1jS90Bkc/iUGE5FT3Gf8kvQNpnhuw1wRyYMDgy6M3gsPXo6Q9rknlkywGICGVT27AP+Ty6n6uC1LfLpqz/O+u0izwo5/s7EYj7HmJ1TBReIky1sMKjGxVPppVtvA1GvYayRtbMn/xq5EjLWArJ5YmzINMPVGqR9rtvfP7gxxuyh8HqnmXUEiAY0GbfWkqCQBMzxcMAby54UOKlIR7uDp4fpgyHdU4UeimNC97T8rIzaZ2PM4sP68NRUfxHKVHJbowxpzdPg8wQOVC/HCT0onNLqqLu6heCuzinOfi9kAjkgvBHG+dXy83xhKFDezjFNmR53A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Edq4u2FkrHdb++OclwVOmwF7+BE/+T/T0nTduWVCH4U=;
 b=QAivcqETvMhK6E99dTnWixWnvuwbj0W2VNL7SurRY5dxedRx1JZiKIcfK5O2+OlbjX5YXLbqMn+V30MNdIz/BEmkQP2JAdDT8Z2SgAAa8/75Z5k+77OMGUnXEXwxtEpfieOpyeC1y/TYcGP4MYEeB5COef8BA/ajV7n4uttVf4O1un7c7bvMAe9X6jbOX5Hp5Rj5IK5rlbOeBO7q+EBd6Ny+Fzj2PMtqbSrrvuPfudHfGUeF3LZl7V4SIFo0iwa2XvQ8YJl08Ymt7Oqax3nAkdtRjZ1aHxbUgb55z3jnf6W8efE4BH2MOez1ZAcbdN1iv6QLT9fnj5lPrW7opXiXOA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Edq4u2FkrHdb++OclwVOmwF7+BE/+T/T0nTduWVCH4U=;
 b=lDv19b282BrlTZySDRrbpGnLZYj1nyYAAUDMTJ34zayPL+W3+d9t8Q1Lvq618F/Ru7DNH+3YvWz9Y/XU0iu/v9HfjtqzMepJOfMmLim7Yrvc7xFWQE/0f7fzZBxrYDbDB515UQtFTzyvbsHYiZzick03+kD6CdzPm+G808M1JeQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b8gFlxFiiSGZAz++zfWhhNw/peUgu1qhYna3hwdbymoFi2AA0kwXz1aWubqN9TskQrj3+b78BH96628X2NbvQ65Wi6SbznYvkAhXh/q47DlPi/YiNxNUK51yfW6b32P28Eew0hZA5uR6sKF6dOUfo/RQppsXZ0nCPWOasHmNvjMobmALEJP+fy2rZmzlg44N7bYhp8IbcWCb5u0hBooDTTY7wF+bFaQrlSXcX6wDNi8RK619TpBAtaYTWkD9FezdL7l0RURdbPuiE7zLn/oJwuRbufngKMzG+o1rC8D9XRqJ/5N4o0qUMoaN02fY6qXNjUIAJtAimd7rf/F65jw3Sw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Edq4u2FkrHdb++OclwVOmwF7+BE/+T/T0nTduWVCH4U=;
 b=VCN7SENLSbV4eh2uROJvd3cn7PbYQPZ/M83gGU7/zDZavGwWYqAybiKTPQfynLNjvtZZbhdzqdAUPjDZnlWInZgk5tGAuo0993XUOxjiOPBZHTA9fwEd1DcIxhj8rors0qWqYB+gPscIrKCUVMHAKkZHqpgNSq4pbbyD3RBJFGJHAsfrCn12S3UMiUJ9xAGmA/DthHZHUX1gD0jZtYIRurm7HESE2R3JJradEyWWSBlUiAtAowZXbnxU//IvlVmGI7Af6Pe91DGXyKITP5OHfWD/peH/oWgyus2a9jugOHFLKA4JxiD0OJTNxeyRoCV6Qdx5qYubqnMupBTZodqYng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Edq4u2FkrHdb++OclwVOmwF7+BE/+T/T0nTduWVCH4U=;
 b=lDv19b282BrlTZySDRrbpGnLZYj1nyYAAUDMTJ34zayPL+W3+d9t8Q1Lvq618F/Ru7DNH+3YvWz9Y/XU0iu/v9HfjtqzMepJOfMmLim7Yrvc7xFWQE/0f7fzZBxrYDbDB515UQtFTzyvbsHYiZzick03+kD6CdzPm+G808M1JeQ=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Topic: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Index:
 AQHYt4ugTfbCAM/WyEil7pMplK0r3q2/e0SAgAeAsxCAABaogIAAAyrggAAVl4CAAAH9oIAADu+AgAABegCAAH7kAIAAiGiQ
Date: Wed, 31 Aug 2022 01:36:53 +0000
Message-ID:
 <AS8PR08MB7991D08DE0A6B2C5D1CA715592789@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <59f69736-a18c-9d08-94dd-791bd264d671@amd.com>
 <AS8PR08MB7991CD1C466399A96B7F45C392799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <bc5eb855-0137-130b-e30b-7f4417798a93@amd.com>
 <AS8PR08MB7991BB31E34ADB02069AE87292799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <536cad9e-53b5-2eae-0cd4-06f899229470@amd.com>
 <AS8PR08MB7991C3859BA3BAF913D50E1C92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <c749e3aa-39a2-a4a8-9a21-77a65881dca5@amd.com>
 <AS8PR08MB7991780D566C3EEEAD7F5BF092799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2208301026420.1134492@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2208301026420.1134492@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 4264BBB93D7CA94E9138B0E1CA4DB44E.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 22448179-5e2b-4e92-9048-08da8af1534e
x-ms-traffictypediagnostic:
	DBAPR08MB5685:EE_|VE1EUR03FT041:EE_|DB4PR08MB8031:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 T35DhqoH1Yv4mNX8gFaRWNreGtWK1XHUHuqh1fXSMMvdPbrgmpHkpSuHfJTynGfe8C7Wio9qLeIBHvtu7UM2F3jMMNhRgzObWfuIgnEzsGNQyMpL3FwDZ8MLuxVvMmdVSDkWxSL9I5GHn7ou42VnrJG7P9VfHw8R2XGHqCi1PfVk9ciMZXlPC6b+9ujEArd+oFrik6OYR0YB64gGkTmeZ2Ads9tlGEXw72N4SwCIEL+U6Sy5yv7m6hJp2EE6KeA8sTKAgE0mY+7/usIeaPeStxhKSWDAUWjHr1PkB9oTvt3fgAiTlpc645u2gmj423dv+DMI0cVOmEY10fcMh7Ab8BmgpWcEexCEUgSXtsXM7N+mNryEp8GD7PaiIhEOoangNu3nGeHGKWwy7kzXqs8SYnCIVmQP85kdldKCIKP7e1ppN/EMsz6MJmd7/OrAmt+H/mA29fVCazuQtdvjgYrwuBz+lHBTP1s6TFVUVNkW51hXMNhY2hWMylHXeedX2KxkA/wycyB/NL9H8u3rOx5FWs6GDQrtg/4S/3sMvUUkBB/0ZnX7p7NaNuL4PRnu2kPQI/nG281S5s2qz2CGznDl8uUSdnck7q6UsLn8D7tK4HlIsKm/nmr0bi7norILc5zeBaCjCMQXNEYgtdqFTGpsi0IzIom1k6Hyk29zJLhKQpkVV9/V1EzSrB2Lvdn82CQrZsSzUEqR/bAaCSvUlx/dO+rXUWoOG/iPSWO4pUsD2rSn/9rkda2Up9ygtOTBacH+Ep0iDlE9Dw4OHpy6W4fDjg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(396003)(366004)(39860400002)(346002)(38070700005)(186003)(83380400001)(5660300002)(478600001)(33656002)(55016003)(2906002)(8936002)(7696005)(6506007)(76116006)(6916009)(54906003)(41300700001)(26005)(38100700002)(52536014)(86362001)(316002)(9686003)(122000001)(71200400001)(8676002)(4326008)(66476007)(66446008)(66556008)(64756008)(66946007);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5685
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8e011103-0c16-40a9-1e2c-08da8af148aa
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b3Ox8hnON1lHXZlBShuhr3RMy/eAT9ZCQXZH/xe3AJCRYiF6lDOLUfaH5gEyzM/H/DL/5u6ZuVr0Db616exUeS2PzI6hh2Ofd/uRzmoNjPVZyvRE0hPJujL2UKs0mtuotxCtHGyAYUZncggmXHFIENOjymBVWhWb5acTb+jTMrpuBlQUckeKKuSKLBGsjk9ExkJsNMUyjZEIIUSyfCfb7/s50Q5w+QqJqvtWSZl5zhiWnwRTsmLAhaBue/pKpZRjRnSHtm8W/EhaP5rV7iimifjQDUgQzJ2HrahsDhIGnkZs7kec9e1wKyhaavcKFWCaJT/1+g9YihUB4QgfUas7aLDm9x3z+7NvgH1DdbWJvBkoQ8Y3PSsGMzhjfI/EMu9CcySfTA8MPwbgQKGg/t/HZCOKbJFFg8+j3xuVE11WuaoB758BYN0RGFEoLhZaXapD8xwlSd5PqvvxSwyn680kSVWLQpU/kQak2LT3dIUo8s4wLkcZwCRYk4GcbpMJ8HUI/L2QCro8cu4Dq4DiEklHEcreZ1X2GZaROozQBOGDy/BzOXEFKoms/crcGf2IDc2+EfqfMw4XoF+QstQ1cMVxHvoE+5jZQ+ObAY12ozqfaqFoX6lXGnuCjF9dFSpX+3V+SO3u8yYHKQqHiYk9FZMeYwufOrshoo7TbsJoDZ+YvHwbqt/c0jHLxUR77cbWlOiVvVSHuYHoN6GNJaYOUTXicxr1DG6sjntLmrWRTnhphBqCeyojpIhJdin5DiVcTPJggvQDG20E1//YJRyXmz4k7w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(346002)(136003)(376002)(39860400002)(396003)(40470700004)(36840700001)(46966006)(107886003)(26005)(2906002)(82740400003)(82310400005)(6506007)(55016003)(7696005)(33656002)(40480700001)(186003)(47076005)(83380400001)(336012)(36860700001)(40460700003)(54906003)(5660300002)(70586007)(70206006)(4326008)(316002)(8676002)(81166007)(52536014)(356005)(41300700001)(6862004)(86362001)(9686003)(8936002)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2022 01:37:11.4447
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 22448179-5e2b-4e92-9048-08da8af1534e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8031

Hi Stefano,

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@kernel.org>
> Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and
> heap allocator
>=20
> On Tue, 30 Aug 2022, Henry Wang wrote:
> > > -----Original Message-----
> > > From: Michal Orzel <michal.orzel@amd.com>
> > > >
> > > > Oh I think get your point. Let me try to explain myself and thanks =
for
> your
> > > > patience :))
> > > >
> > > > The reserved heap region defined in the device tree should be used =
for
> > > both
> > > > Xenheap and domain heap, so if we reserved a too small region (<32M=
),
> > > > an error should pop because the reserved region is not enough for
> > > xenheap,
> > > > and user should reserve more.
> > > > [...]
> > > >
> > > >> But your check is against heap being to small (less than 32M).
> > > >> So basically if the following check fails:
> > > >> "( reserved_heap && reserved_heap_pages < 32<<(20-
> PAGE_SHIFT) ) )"
> > > >> it means that the heap region defined by a user is too small (not =
too
> large),
> > > >> because according to requirements it should be at least 32M.
> > > >
> > > > [...]
> > > > So in that case, printing "Not enough space for xenheap" means the
> > > reserved
> > > > region cannot satisfy the minimal requirement of the space of xenhe=
ap
> (at
> > > least
> > > > 32M), and this is in consistent with the check.
> > >
> > > Ok, it clearly depends on the way someone understands this sentence.
> > > Currently this panic can be triggered if the heap size is too large a=
nd
> > > should be read as "heap is too large to fit in because there is not e=
nough
> > > space
> > > within RAM considering modules (e - s < size)". Usually (and also in =
this
> case)
> > > space refers to a region to contain another one.
> > >
> > > You are reusing the same message for different meaning, that is "user
> > > defined too
> > > small heap and this space (read as size) is not enough".
> >
> > Yes, thanks for the explanation. I think maybe rewording the message
> > to "Not enough memory for allocating xenheap" would remove the
> ambiguity
> > to some extent? Because the user-defined heap region should cover both
> > xenheap and domain heap at the same time, the small user-defined heap
> > means "xenheap is too large to fit in the user-defined heap region", wh=
ich
> is
> > in consistent with your interpretation of the current "xenheap is too l=
arge
> to fit
> > in because there is not enough space within RAM considering modules"
>=20
> I think we should have a separate check specific for the device tree
> input parameters to make sure the region is correct, that way we can
> have a specific error message, such as:
>=20
> "xen,static-heap address needs to be 32MB aligned and the size a
> multiple of 32MB."

Sure, will follow this.

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 01:52:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 01:52:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395259.634798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCuL-0006zI-Hr; Wed, 31 Aug 2022 01:52:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395259.634798; Wed, 31 Aug 2022 01:52:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCuL-0006zB-FH; Wed, 31 Aug 2022 01:52:45 +0000
Received: by outflank-mailman (input) for mailman id 395259;
 Wed, 31 Aug 2022 01:52:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=A1zJ=ZD=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1oTCuJ-0006z5-Hi
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 01:52:44 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 989d583a-28cf-11ed-bd2e-47488cf2e6aa;
 Wed, 31 Aug 2022 03:52:41 +0200 (CEST)
Received: from [2601:1c0:6280:3f0::a6b3]
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1oTCtd-0036Mt-9k; Wed, 31 Aug 2022 01:52:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 989d583a-28cf-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:
	Message-ID:Sender:Reply-To:Content-ID:Content-Description;
	bh=/x61W8ECxcYp6VApa7rbgykWRp7/DFT2S0h+uIWuEt0=; b=fE7O2deJ1RanMKunrQ/zfTMOSf
	ifOEdubrRjpQzwW+wZCnCsaWL1H+dWIVEswSHglWXF4cq19WX45jSAEjFPyZFK2LXQ/wijSM7tb6W
	k+uKJo3mowcOZdAppnjeLHiYp6lzcRvVqvUVCdEqW0pqgaFiMUCu5tCvL+up2/ud0wrXHAYStgD5a
	X7gktDpA97ofBU/rvHf3O939oo9TWrRT3CvpoipMffjAPkcPIWHeNYHzqspR3VsERhUOHNzx430Z/
	qd7jFqLKUOEu/+8WZcmicWNgLbhaqj0Z+mtdiwHRaBjVj4sH29gTT/fbGsv85v6mNxd4VsF6MswZB
	9lmrzOIw==;
Message-ID: <b252a4e0-57a1-0f27-f4b0-598e851b47ea@infradead.org>
Date: Tue, 30 Aug 2022 18:51:56 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [RFC PATCH 22/30] Code tagging based fault injection
Content-Language: en-US
To: Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz,
 hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de,
 dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com,
 void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com,
 ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk,
 mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org,
 changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org,
 dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com,
 bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
 iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
 elver@google.com, dvyukov@google.com, shakeelb@google.com,
 songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
 rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
 kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
 kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
 linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
 linux-kernel@vger.kernel.org
References: <20220830214919.53220-1-surenb@google.com>
 <20220830214919.53220-23-surenb@google.com>
From: Randy Dunlap <rdunlap@infradead.org>
In-Reply-To: <20220830214919.53220-23-surenb@google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit



On 8/30/22 14:49, Suren Baghdasaryan wrote:
> From: Kent Overstreet <kent.overstreet@linux.dev>
> 
> This adds a new fault injection capability, based on code tagging.
> 
> To use, simply insert somewhere in your code
> 
>   dynamic_fault("fault_class_name")
> 
> and check whether it returns true - if so, inject the error.
> For example
> 
>   if (dynamic_fault("init"))
>       return -EINVAL;
> 
> There's no need to define faults elsewhere, as with
> include/linux/fault-injection.h. Faults show up in debugfs, under
> /sys/kernel/debug/dynamic_faults, and can be selected based on
> file/module/function/line number/class, and enabled permanently, or in
> oneshot mode, or with a specified frequency.
> 
> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>

Missing Signed-off-by: from Suren.
See Documentation/process/submitting-patches.rst:

When to use Acked-by:, Cc:, and Co-developed-by:
------------------------------------------------

The Signed-off-by: tag indicates that the signer was involved in the
development of the patch, or that he/she was in the patch's delivery path.


-- 
~Randy


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 01:54:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 01:54:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395266.634809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCvY-0007Y1-RD; Wed, 31 Aug 2022 01:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395266.634809; Wed, 31 Aug 2022 01:54:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCvY-0007Xu-Oc; Wed, 31 Aug 2022 01:54:00 +0000
Received: by outflank-mailman (input) for mailman id 395266;
 Wed, 31 Aug 2022 01:53:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=A1zJ=ZD=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1oTCvX-0007R3-MX
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 01:53:59 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6064773-28cf-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 03:53:58 +0200 (CEST)
Received: from [2601:1c0:6280:3f0::a6b3]
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1oTCv3-0036yC-Ja; Wed, 31 Aug 2022 01:53:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6064773-28cf-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:
	Message-ID:Sender:Reply-To:Content-ID:Content-Description;
	bh=RhkN3pjenFJ3Z4sU+BUfbopmS9x7erS/IYHXt0Yrgys=; b=QysnhHPVNUGamQ7lXkzW2eGveh
	lrRg3+WUIjKPhlF4vYw9KekYa0WymOeuQ9HZPakLME5p5qV2twe7OuR2cUMRxXRUExVoM9Da2cXco
	yxjaOKLwszB82khEd88lF0vcr9JboUUXxbv1iMGT6e8sXnviYouqPSuJ+bj2WkKHW8IkoHWJTYVAa
	nyEihlkujx5tC79yFjtJBfsR8iMLwz25U0Q5QoAClOCZQUDuPmiYE4b2xfU5PgTlbLr8FZaKX/Pc6
	90hO5RXPljYmishV1MXlptWBpBn7w9xcC6yjahtqPBxuBT6MCskGBWplJNcTqSA8jP2wkHctWyQFF
	e1X2LPNQ==;
Message-ID: <241c05a3-52a2-d49f-6962-3af5a94bc3fc@infradead.org>
Date: Tue, 30 Aug 2022 18:53:26 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.1.2
Subject: Re: [RFC PATCH 27/30] Code tagging based latency tracking
Content-Language: en-US
To: Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz,
 hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de,
 dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com,
 void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com,
 ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk,
 mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org,
 changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org,
 dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com,
 bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
 iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
 elver@google.com, dvyukov@google.com, shakeelb@google.com,
 songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
 rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
 kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
 kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
 linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
 linux-kernel@vger.kernel.org
References: <20220830214919.53220-1-surenb@google.com>
 <20220830214919.53220-28-surenb@google.com>
From: Randy Dunlap <rdunlap@infradead.org>
In-Reply-To: <20220830214919.53220-28-surenb@google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit



On 8/30/22 14:49, Suren Baghdasaryan wrote:
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index b7d03afbc808..b0f86643b8f0 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1728,6 +1728,14 @@ config LATENCYTOP
>  	  Enable this option if you want to use the LatencyTOP tool
>  	  to find out which userspace is blocking on what kernel operations.
>  
> +config CODETAG_TIME_STATS
> +	bool "Code tagging based latency measuring"
> +	depends on DEBUG_FS
> +	select TIME_STATS
> +	select CODE_TAGGING
> +	help
> +	  Enabling this option makes latency statistics available in debugfs

Missing period at the end of the sentence.

-- 
~Randy


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 01:55:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 01:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395274.634821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCwv-000887-5p; Wed, 31 Aug 2022 01:55:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395274.634821; Wed, 31 Aug 2022 01:55:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTCwv-00087y-2I; Wed, 31 Aug 2022 01:55:25 +0000
Received: by outflank-mailman (input) for mailman id 395274;
 Wed, 31 Aug 2022 01:55:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTCwt-00087i-5K; Wed, 31 Aug 2022 01:55:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTCwt-0002Li-28; Wed, 31 Aug 2022 01:55:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTCws-0008KJ-Jv; Wed, 31 Aug 2022 01:55:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTCws-0000LY-Ik; Wed, 31 Aug 2022 01:55:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1T67hz5dFYs4AK+DOuSxTxQ4DyQ5dxrpa9UaXepppwM=; b=nVu79gs5jGck+MiWAdOtDbYqAu
	pSXpCx8AxZs8OEDimFLmZTVZFRA2ZLodgPgk6o2xfTOE+2CizHN21ZC4HRS/VeDnjbbpaJJsdbisg
	sfzEIjxZkn74iYfZEBzabTvfKKlzdNMf/LFwQYAFPXQHMFWcxxgUsqAuy0om+a4fuYdk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172880-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172880: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=227a133a0a4357d9ce7cbf1c81dc4257a37ac616
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 01:55:22 +0000

flight 172880 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172880/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 227a133a0a4357d9ce7cbf1c81dc4257a37ac616
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   26 days
Failing since        172151  2022-08-05 02:40:28 Z   25 days  209 attempts
Testing same since   172876  2022-08-30 17:13:30 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1036 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 02:00:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 02:00:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395285.634832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTD2F-0001c0-V9; Wed, 31 Aug 2022 02:00:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395285.634832; Wed, 31 Aug 2022 02:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTD2F-0001bt-SL; Wed, 31 Aug 2022 02:00:55 +0000
Received: by outflank-mailman (input) for mailman id 395285;
 Wed, 31 Aug 2022 02:00:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zBhm=ZD=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1oTD2F-0001bn-Bs
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 02:00:55 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70054.outbound.protection.outlook.com [40.107.7.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bebc060a-28d0-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 04:00:54 +0200 (CEST)
Received: from DB7PR05CA0035.eurprd05.prod.outlook.com (2603:10a6:10:36::48)
 by PA4PR08MB6014.eurprd08.prod.outlook.com (2603:10a6:102:ee::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 31 Aug
 2022 02:00:52 +0000
Received: from DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:36:cafe::6) by DB7PR05CA0035.outlook.office365.com
 (2603:10a6:10:36::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend
 Transport; Wed, 31 Aug 2022 02:00:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT021.mail.protection.outlook.com (100.127.142.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 31 Aug 2022 02:00:51 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Wed, 31 Aug 2022 02:00:51 +0000
Received: from 9cede5dd5a5c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7500A9BE-A008-41F2-819E-EE5C22032693.1; 
 Wed, 31 Aug 2022 02:00:40 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9cede5dd5a5c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 31 Aug 2022 02:00:40 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB4PR08MB7936.eurprd08.prod.outlook.com (2603:10a6:10:378::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 02:00:32 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::9c75:2d29:bb6a:663f%5]) with mapi id 15.20.5566.021; Wed, 31 Aug 2022
 02:00:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bebc060a-28d0-11ed-a60c-1f1ba7de4fb0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=W9j50rPhuuZsZLFEXGantCVV09iR+AWEDHzPVDwV6Yfwn6dEw5v9olOPLdfVajRPT7Z3mA+GMF36nsyDALrnb80lj8bQX1qQjaMaUOz5av5ZSuinrSljbJ+0Gi6n9+nG+HES+DM28+7KcHaFzrmCDyXi/8V7nvWbhIKwT8H50XsNlEe9KVI6IXWkgHQisT/bfeXbVqVRCMM+zoL4D+rmHIoXBgaNA4q39MImHFt2eq5NFG1XSdZpiVwbeYfNKcrHAD+43nPMX1GH9omHHlvH3d0R2YnzA9ctByLgDq7a2PEg2lk80UdR/GWZdO8HB0QWg0vKKQOLLM3g0wGO2GguCA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+L3gmqOtm4LsI1FDMLWYFHoJArnEY0/h1X70CYYtWdc=;
 b=ggKQ5Qd0PGtUO9iNgWbAlL7VslXvKCF+l8fVf0vRdHjAOgeNSGQ4IPm/ZJJoDOd3IwDktxubWHSdimrqjeVZZzjtOsG9Z2P8PC6gddP+FE1QCNWZFJviRfzgtQuPtLC/OPUHK4GLtQOlupiLocaKXLw3zhv+7qpzvtEu7XqoYCmQrxrdTEiJPQ8/U5H9kMhYse2qiP00dDrvU4vUlRvsu5nXOYSXStLWibgf3zscTiPjpr1/uc0YVcZta1OQe+kPHIecZB/H7PlsvqKEhhR9eRwyBwmQofdtt3CFhWeV+MN+Hyw/2MLOnspHiMuCtCT6XWfIT/E6cgDNdTWsZyusiw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+L3gmqOtm4LsI1FDMLWYFHoJArnEY0/h1X70CYYtWdc=;
 b=DxmjO9idYAzypUqGmDfw1bjdGXxsnLwjxOFC/21GGY1mN0QjaGnLwsW8C4crnwJx0endIhEwm65irQjJZZMBTCXYLczML5fPRKhskUbTW+Q2cXNFA+Mrrrkz9CUAnLFMIiYyJNYB9H91H2UsMouN4pG9W3PQs0yGIwHunYQ6HWs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V8yZc+7u3GiXonWHnul5JIQib0t0GqtCyerPtRFK4HV5gsXyLuHyboEl4DuvFdFMDTw34bUiz5XnVSOUf33EchacX5KE05yHs4rieixUOf4vIEb+8ihTzIC7xFdXWjN53gfr1Cwvn0+U6/NFRpPY7GpOR0f/WSFFSE+Y+A/CnuRZYRIDPqRCjfa8KOtQSn/SAQ10nAVYXSl7lHn7Jt1aXp7Edzhzxnq/vpEnXHkEAoaNQC4H0k4x1ReDXIX3x/AAmHihpIvBWwsmKecoar/aNHL4eM/VyW8jb+8GZFtYmT1ANsuZgr0UBNdcZTcqYYdy0xwMvNwURz/WJ/KwV4G5dA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+L3gmqOtm4LsI1FDMLWYFHoJArnEY0/h1X70CYYtWdc=;
 b=lh0ODzxGGzvjBc5Ht24wA8QxVp/klD5nI3WVMBiwovGvFDKOenrKMhirVNWPFq0QvCEFMMezlAt/+jM6LJsKd7CNJUK9d2/Ja8R7dHB4XslivEHUCC0ULR0oq3qEIpsMWxrN3ftVz0TCzd+m1I8cdiGR6IRyzcsiekCJbLAxZC8Gjwijx+5yQ22Vqtr4HZernsGhgSFJR/mn+/Unwn483+6mImKzrgZuJZWp8k1IrH7AEDd6PlRtPmufU+i72uAGkR/8RMofrTTT2WEQtuFBX0IcNIiBriA4ftxwNcaaBJb63d4FL26l9Bm8mT/ckk02h1l0bhZgIThv6knHio6tYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+L3gmqOtm4LsI1FDMLWYFHoJArnEY0/h1X70CYYtWdc=;
 b=DxmjO9idYAzypUqGmDfw1bjdGXxsnLwjxOFC/21GGY1mN0QjaGnLwsW8C4crnwJx0endIhEwm65irQjJZZMBTCXYLczML5fPRKhskUbTW+Q2cXNFA+Mrrrkz9CUAnLFMIiYyJNYB9H91H2UsMouN4pG9W3PQs0yGIwHunYQ6HWs=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen
	<Wei.Chen@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Topic: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
Thread-Index: AQHYt4ugTfbCAM/WyEil7pMplK0r3q3GqcQAgABmBoCAAKwSgIAAgPtwgAAOWPA=
Date: Wed, 31 Aug 2022 02:00:32 +0000
Message-ID:
 <AS8PR08MB79915F958028354C4478615A92789@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20220824073127.16762-1-Henry.Wang@arm.com>
 <20220824073127.16762-3-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2208291755450.1134492@ubuntu-linux-20-04-desktop>
 <AS8PR08MB79912EF49AEBA8E5B18B8C7F92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2208301013500.1134492@ubuntu-linux-20-04-desktop>
 <AS8PR08MB7991AA505E621A7B6E8B906192789@AS8PR08MB7991.eurprd08.prod.outlook.com>
In-Reply-To:
 <AS8PR08MB7991AA505E621A7B6E8B906192789@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 6ABDD4FD2F14FF4F9DEA5BEBD942125B.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: b13ae803-f47e-400a-08cf-08da8af4a1a2
x-ms-traffictypediagnostic:
	DB4PR08MB7936:EE_|DBAEUR03FT021:EE_|PA4PR08MB6014:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 jj0JtVUWuLk3uCevAltKDBbQx3/ehnE/ublCWfqDvvQIeud3/PBVN292eBhSj2PiMaRVSzvuiWh7Ut+RlkeXcBqewWTH/0id8LGhxXWzGjOKcTzj/zX+ZWKqz8oZqLv+zbcL6sBbSCiGXS24n0/u+5TC97+UC7BdMyccm34SY2v6VYs/dso0ZwNeOG671X8YbZaGKC68IipJtcvhWnFKu4evMIv7LcchVNkd+NBsiByUAnt/WH/09vHkMgpHhcljFt4TjfVc2NMWyOf5OH9pZTgc88yvG/YRFFcxvQdMTEx0iyTWNq2KPOTRfbeZ3EODEnG3vvgvx/LlManO/92mkaPH7bFM7moa8KTRDHrgt9W9jrT93h9mak8CxruYIwmooTsno5fzxFpxbS2fRJtQU3fWUKi9Qqb0rQOfDAA4wFLifG23Afxvq/KIoOmqxyxhxg2hkkp9IM6VWcikc6Z3q5HP+SsWMHDtsy/ubTPTgy6f0JbmljpQH33EiX6MeL+QqzRssf8YdDEwc5tQRcHmOmZB5dtADUJiBSefrC7OgCvAHe6IuQs8CrCFggQBBGhT8s9c/HeF0VLFJORMIWa4Li4/1o4NCMjzt2r6FR4eN15+88EPv4Z26fVKFz6G635TV7XNFoR4iF5AkxWtiX5SRj8hkdznZP628mwGNwG3mSHVdlMcHGGF7PN1vW9wjzN6P3gmG7cHcTcGi1nqY45+Zuu2phRlC6pJXNmqjOZ9O99hij6bT7LKi3W16Lp14BE0tomjYwd0H0Ih3PZnYvcDJOT3IFw3mE4JakX/NG625fg=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(39860400002)(346002)(396003)(376002)(76116006)(7696005)(6506007)(122000001)(66446008)(66476007)(66556008)(64756008)(8676002)(4326008)(316002)(52536014)(8936002)(26005)(71200400001)(38070700005)(55016003)(478600001)(966005)(6916009)(38100700002)(54906003)(86362001)(41300700001)(2906002)(66946007)(9686003)(186003)(4744005)(83380400001)(5660300002)(2940100002)(33656002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB7936
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	15d9bb0e-72bd-4a72-b212-08da8af49645
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+xvSNVCf1BkEW55xI8rbTqbmSxn/zKI03qVFJ443Q0E4eZCLtpd2UIxB9csQcdxYA9qS9ZiTJZj9E8lNXkfHmRG9IH1DyJ18Dw4RLnLypUc5HtgZ/Ircwcbu4RbRAJZedZTNHM7n29TrK4b/Pdz6w3CImHROu1/3DlvTgTi2IKraETm4mQ5CZhLjow56oTf94x8261WwG0zgTG8g0F17YEUfLXiRGFU7KVSkajwccaNwf1dI8a5oZtOaz4T364U/OZ9d48l43/N2RqzvcllbDoIlreYoMRZgBfyseVurnTsJpo2/fNPBj8tewbujlUn2PrqetZx1ozUf87xJaaHMQzh/52ev74JXMHQkAFcUwvN8vL16UxTHnwNnyk7iuK75iVVyHnev6+/ZDKOuH9e3NZ3ecpPtrhTBl7aNtPA4OVLAaGW3sEo2nohkIyXphYBpG90sJiH35Va13vByr7gTHgIjLxe6v3p4HJhut2PViUtTutJTfn8b3jyhbFPYFrfqS56OfMTIuc/etatE6rGR+RrrMncPiAk5yQ6A5RSDEtyZpRY0UJv+QhvWCH7QUi6dRL6f9P3DZp7tLEejCjBMPLsWQBbajpbwBC4hVCMIpHx9zjpIwWVIlGE8aHdqsYhAlyIjr+410AyHDTfaTw3LMY9qMJ23pkld0dE/DiRZ4QckATIEl1yRACHIGsizgoh43sic2cjhljhFTu9G+VGiOa3KT9ihVW4RhY88yOf9jcpO7YP8Pc6mCeNgUxFUWhTWeMsXMpzBgq66NY6CaSH5J0GvbAWokIUVnTZeowWgBCo=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(39860400002)(346002)(396003)(46966006)(40470700004)(36840700001)(82740400003)(81166007)(316002)(54906003)(186003)(86362001)(82310400005)(356005)(336012)(36860700001)(83380400001)(2906002)(40480700001)(478600001)(55016003)(40460700003)(70586007)(8676002)(4326008)(6506007)(966005)(33656002)(70206006)(41300700001)(107886003)(8936002)(52536014)(4744005)(9686003)(7696005)(47076005)(6862004)(2940100002)(26005)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2022 02:00:51.4594
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b13ae803-f47e-400a-08cf-08da8af4a1a2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6014

Hi Stefano,

> -----Original Message-----
> From: Henry Wang
> I am not sure about that, since we already have
> heap_pages =3D reserved_heap ? reserved_heap_pages : ram_pages;
>=20
> the heap_pages is supposed to contain domheap_pages + xenheap_pages
> based on the reserved heap definition discussed in the RFC.

To add a little bit more about the background, here is the RFC discussion [=
1].
I should have attached this in my previous reply, sorry.

[1] https://lore.kernel.org/xen-devel/316007B7-51BA-4820-8F6F-018BC6D3A077@=
arm.com/

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 02:41:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 02:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395293.634865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDf8-0006Ja-O4; Wed, 31 Aug 2022 02:41:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395293.634865; Wed, 31 Aug 2022 02:41:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDf8-0006JR-Kx; Wed, 31 Aug 2022 02:41:06 +0000
Received: by outflank-mailman (input) for mailman id 395293;
 Wed, 31 Aug 2022 02:41:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OoUW=ZD=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oTDf7-0005nD-Qw
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 02:41:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5bdeea27-28d6-11ed-bd2e-47488cf2e6aa;
 Wed, 31 Aug 2022 04:41:05 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 924F61042;
 Tue, 30 Aug 2022 19:41:10 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8DB843F71A;
 Tue, 30 Aug 2022 19:41:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5bdeea27-28d6-11ed-bd2e-47488cf2e6aa
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v11 2/6] xen/arm: introduce CDF_staticmem
Date: Wed, 31 Aug 2022 10:40:37 +0800
Message-Id: <20220831024041.468757-3-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831024041.468757-1-Penny.Zheng@arm.com>
References: <20220831024041.468757-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to have an easy and quick way to find out whether this domain memory
is statically configured, this commit introduces a new flag CDF_staticmem and a
new helper is_domain_using_staticmem() to tell.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v11 changes:
- no change
---
v10 changes:
- no change
---
v9 changes:
- no change
---
v8 changes:
- #ifdef-ary around is_domain_using_staticmem() is not needed anymore
---
v7 changes:
- IS_ENABLED(CONFIG_STATIC_MEMORY) would not be needed anymore
---
v6 changes:
- move non-zero is_domain_using_staticmem() from ARM header to common
header
---
v5 changes:
- guard "is_domain_using_staticmem" under CONFIG_STATIC_MEMORY
- #define is_domain_using_staticmem zero if undefined
---
v4 changes:
- no changes
---
v3 changes:
- change name from "is_domain_static()" to "is_domain_using_staticmem"
---
v2 changes:
- change name from "is_domain_on_static_allocation" to "is_domain_static()
---
 xen/arch/arm/domain_build.c | 5 ++++-
 xen/include/xen/domain.h    | 8 ++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 3fd1186b53..b76a84e8f5 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3287,9 +3287,12 @@ void __init create_domUs(void)
         if ( !dt_device_is_compatible(node, "xen,domain") )
             continue;
 
+        if ( dt_find_property(node, "xen,static-mem", NULL) )
+            flags |= CDF_staticmem;
+
         if ( dt_property_read_bool(node, "direct-map") )
         {
-            if ( !IS_ENABLED(CONFIG_STATIC_MEMORY) || !dt_find_property(node, "xen,static-mem", NULL) )
+            if ( !(flags & CDF_staticmem) )
                 panic("direct-map is not valid for domain %s without static allocation.\n",
                       dt_node_name(node));
 
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 628b14b086..2c8116afba 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -35,6 +35,14 @@ void arch_get_domain_info(const struct domain *d,
 /* Should domain memory be directly mapped? */
 #define CDF_directmap            (1U << 1)
 #endif
+/* Is domain memory on static allocation? */
+#ifdef CONFIG_STATIC_MEMORY
+#define CDF_staticmem            (1U << 2)
+#else
+#define CDF_staticmem            0
+#endif
+
+#define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
 
 /*
  * Arch-specifics.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 02:41:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 02:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395292.634854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDf6-00062o-CC; Wed, 31 Aug 2022 02:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395292.634854; Wed, 31 Aug 2022 02:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDf6-00062h-9N; Wed, 31 Aug 2022 02:41:04 +0000
Received: by outflank-mailman (input) for mailman id 395292;
 Wed, 31 Aug 2022 02:41:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OoUW=ZD=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oTDf5-0005nD-6M
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 02:41:03 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5949800f-28d6-11ed-bd2e-47488cf2e6aa;
 Wed, 31 Aug 2022 04:41:00 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 336CDED1;
 Tue, 30 Aug 2022 19:41:06 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2DE153F71A;
 Tue, 30 Aug 2022 19:40:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5949800f-28d6-11ed-bd2e-47488cf2e6aa
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v11 1/6] xen: do not free reserved memory into heap
Date: Wed, 31 Aug 2022 10:40:36 +0800
Message-Id: <20220831024041.468757-2-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831024041.468757-1-Penny.Zheng@arm.com>
References: <20220831024041.468757-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Pages used as guest RAM for static domain, shall be reserved to this
domain only.
So in case reserved pages being used for other purpose, users
shall not free them back to heap, even when last ref gets dropped.

This commit introduces a new helper free_domstatic_page to free
static page in runtime, and free_staticmem_pages will be called by it
in runtime, so let's drop the __init flag.

Wrapper #ifdef CONFIG_STATIC_MEMORY around function declaration(
free_staticmem_pages, free_domstatic_page, etc) is kinds of redundant,
so we decide to remove it here.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v11 changes:
- printing message ahead of the assertion, which should also be
XENLOG_G_* kind of log level
---
v10 changes:
- let Arm keep #define PGC_static 0 private, with the generic fallback
remaining in page_alloc.c
- change ASSERT(d) to ASSERT_UNREACHABLE() to be more robust looking
forward, and also add a printk() to log the problem
- mention the the removal of #ifdef CONFIG_STATIC_MEMORY in commit
message
---
v9 changes:
- move free_domheap_page into else-condition
- considering scrubbing static pages, domain dying case and opt_scrub_domheap
both donot apply to static pages.
- as unowned static pages don't make themselves to free_domstatic_page
at the moment, remove else-condition and add ASSERT(d) at the top of the
function
---
v8 changes:
- introduce new helper free_domstatic_page
- let put_page call free_domstatic_page for static page, when last ref
drops
- #define PGC_static zero when !CONFIG_STATIC_MEMORY, as it is used
outside page_alloc.c
---
v7 changes:
- protect free_staticmem_pages with heap_lock to match its reverse function
acquire_staticmem_pages
---
v6 changes:
- adapt to PGC_static
- remove #ifdef aroud function declaration
---
v5 changes:
- In order to avoid stub functions, we #define PGC_staticmem to non-zero only
when CONFIG_STATIC_MEMORY
- use "unlikely()" around pg->count_info & PGC_staticmem
- remove pointless "if", since mark_page_free() is going to set count_info
to PGC_state_free and by consequence clear PGC_staticmem
- move #define PGC_staticmem 0 to mm.h
---
v4 changes:
- no changes
---
v3 changes:
- fix possible racy issue in free_staticmem_pages()
- introduce a stub free_staticmem_pages() for the !CONFIG_STATIC_MEMORY case
- move the change to free_heap_pages() to cover other potential call sites
- fix the indentation
---
v2 changes:
- new commit
---
 xen/arch/arm/include/asm/mm.h |  6 +++++-
 xen/arch/arm/mm.c             |  5 ++++-
 xen/common/page_alloc.c       | 40 ++++++++++++++++++++++++++++++++---
 xen/include/xen/mm.h          |  3 +--
 4 files changed, 47 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index da25251cda..749fbefa0c 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -121,9 +121,13 @@ struct page_info
   /* Page is Xen heap? */
 #define _PGC_xen_heap     PG_shift(2)
 #define PGC_xen_heap      PG_mask(1, 2)
-  /* Page is static memory */
+#ifdef CONFIG_STATIC_MEMORY
+/* Page is static memory */
 #define _PGC_static    PG_shift(3)
 #define PGC_static     PG_mask(1, 3)
+#else
+#define PGC_static     0
+#endif
 /* ... */
 /* Page is broken? */
 #define _PGC_broken       PG_shift(7)
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b42cddb1b4..fbdab5598c 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1496,7 +1496,10 @@ void put_page(struct page_info *page)
 
     if ( unlikely((nx & PGC_count_mask) == 0) )
     {
-        free_domheap_page(page);
+        if ( unlikely(nx & PGC_static) )
+            free_domstatic_page(page);
+        else
+            free_domheap_page(page);
     }
 }
 
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index bfd4150be7..0c50dee4c5 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2694,12 +2694,14 @@ struct domain *get_pg_owner(domid_t domid)
 
 #ifdef CONFIG_STATIC_MEMORY
 /* Equivalent of free_heap_pages to free nr_mfns pages of static memory. */
-void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
-                                 bool need_scrub)
+void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                          bool need_scrub)
 {
     mfn_t mfn = page_to_mfn(pg);
     unsigned long i;
 
+    spin_lock(&heap_lock);
+
     for ( i = 0; i < nr_mfns; i++ )
     {
         mark_page_free(&pg[i], mfn_add(mfn, i));
@@ -2710,9 +2712,41 @@ void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
             scrub_one_page(pg);
         }
 
-        /* In case initializing page of static memory, mark it PGC_static. */
         pg[i].count_info |= PGC_static;
     }
+
+    spin_unlock(&heap_lock);
+}
+
+void free_domstatic_page(struct page_info *page)
+{
+    struct domain *d = page_get_owner(page);
+    bool drop_dom_ref;
+
+    if ( unlikely(!d) )
+    {
+        printk(XENLOG_G_ERR
+               "The about-to-free static page %"PRI_mfn" must be owned by a domain\n",
+               mfn_x(page_to_mfn(page)));
+        ASSERT_UNREACHABLE();
+        return;
+    }
+
+    ASSERT_ALLOC_CONTEXT();
+
+    /* NB. May recursively lock from relinquish_memory(). */
+    spin_lock_recursive(&d->page_alloc_lock);
+
+    arch_free_heap_page(d, page);
+
+    drop_dom_ref = !domain_adjust_tot_pages(d, -1);
+
+    spin_unlock_recursive(&d->page_alloc_lock);
+
+    free_staticmem_pages(page, 1, scrub_debug);
+
+    if ( drop_dom_ref )
+        put_domain(d);
 }
 
 /*
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 35b065146f..deadf4b2a1 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -85,13 +85,12 @@ bool scrub_free_pages(void);
 } while ( false )
 #define FREE_XENHEAP_PAGE(p) FREE_XENHEAP_PAGES(p, 0)
 
-#ifdef CONFIG_STATIC_MEMORY
 /* These functions are for static memory */
 void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
                           bool need_scrub);
+void free_domstatic_page(struct page_info *page);
 int acquire_domstatic_pages(struct domain *d, mfn_t smfn, unsigned int nr_mfns,
                             unsigned int memflags);
-#endif
 
 /* Map machine page range in Xen virtual address space. */
 int map_pages_to_xen(
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 02:41:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 02:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395291.634843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDf4-0005nL-3e; Wed, 31 Aug 2022 02:41:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395291.634843; Wed, 31 Aug 2022 02:41:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDf4-0005nE-0V; Wed, 31 Aug 2022 02:41:02 +0000
Received: by outflank-mailman (input) for mailman id 395291;
 Wed, 31 Aug 2022 02:41:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OoUW=ZD=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oTDf2-0005n7-9L
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 02:41:00 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 56bab53c-28d6-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 04:40:56 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CC672ED1;
 Tue, 30 Aug 2022 19:41:01 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4B2113F71A;
 Tue, 30 Aug 2022 19:40:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56bab53c-28d6-11ed-a60c-1f1ba7de4fb0
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v11 0/6] populate/unpopulate memory when domain on static allocation
Date: Wed, 31 Aug 2022 10:40:35 +0800
Message-Id: <20220831024041.468757-1-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Today when a domain unpopulates the memory on runtime, they will always
hand the memory over to the heap allocator. And it will be a problem if it
is a static domain.
Pages used as guest RAM for static domain shall always be reserved to this
domain only, and not be used for any other purposes, so they shall never go
back to heap allocator.

This patch serie intends to fix this issue, by adding pages on the new list
resv_page_list after having taken them off the "normal" list, when unpopulating
memory, and retrieving pages from resv page list(resv_page_list) when
populating memory.

---
v11 changes:
- printing message ahead of the assertion, which should also be
XENLOG_G_* kind of log level
- commit message tweak
- move "xen: rename free_staticmem_pages to unprepare_staticmem_pages" ahead
of "xen: retrieve reserved pages on populate_physmap"
- with assignment having failed and the page not exposed to the guest at any
point, there is no need for scrubbing
---
v10 changes:
- let Arm keep #define PGC_static 0 private, with the generic fallback
remaining in page_alloc.c
- change ASSERT(d) to ASSERT_UNREACHABLE() to be more robust looking
forward, and also add a printk() to log the problem
- mention the the removal of #ifdef CONFIG_STATIC_MEMORY in commit
message
- commit message typo fix
- Do not skip the list addition in that one special case
- add lock on the fail path
- new commit "xen: rename free_staticmem_pages to unprepare_staticmem_pages"
---
v9 changes:
- move free_domheap_page into else-condition
- considering scrubbing static pages, domain dying case and opt_scrub_domheap
both do not apply to static pages.
- as unowned static pages don't make themselves to free_domstatic_page
at the moment, remove else-condition and add ASSERT(d) at the top of the
function
- remove macro helper put_static_page, and just expand its code inside
free_domstatic_page
- Use ASSERT_ALLOC_CONTEXT() in acquire_reserved_page
- Add free_staticmem_pages to undo prepare_staticmem_pages when
assign_domstatic_pages fails
- Remove redundant static in error message
---
v8 changes:
- introduce new helper free_domstatic_page
- let put_page call free_domstatic_page for static page, when last ref
drops
- #define PGC_static zero when !CONFIG_STATIC_MEMORY, as it is used
outside page_alloc.c
- #ifdef-ary around is_domain_using_staticmem() is not needed anymore
- order as a parameter is not needed here, as all staticmem operations are
limited to order-0 regions
- move d->page_alloc_lock after operation on d->resv_page_list
- As concurrent free/allocate could modify the resv_page_list, we still
need the lock
---
v7 changes:
- protect free_staticmem_pages with heap_lock to match its reverse function
acquire_staticmem_pages
- IS_ENABLED(CONFIG_STATIC_MEMORY) would not be needed anymore
- add page on the rsv_page_list *after* it has been freed
- remove the lock, since we add the page to rsv_page_list after it has
been totally freed.
---
v6 changes:
- rename PGC_staticmem to PGC_static
- remove #ifdef aroud function declaration
- use domain instead of sub-systems
- move non-zero is_domain_using_staticmem() from ARM header to common
header
- move PGC_static !CONFIG_STATIC_MEMORY definition to common header
- drop the lock before returning
---
v5 changes:
- introduce three new commits
- In order to avoid stub functions, we #define PGC_staticmem to non-zero only
when CONFIG_STATIC_MEMORY
- use "unlikely()" around pg->count_info & PGC_staticmem
- remove pointless "if", since mark_page_free() is going to set count_info
to PGC_state_free and by consequence clear PGC_staticmem
- move #define PGC_staticmem 0 to mm.h
- guard "is_domain_using_staticmem" under CONFIG_STATIC_MEMORY
- #define is_domain_using_staticmem zero if undefined
- extract common codes for assigning pages into a helper assign_domstatic_pages
- refine commit message
- remove stub function acquire_reserved_page
- Alloc/free of memory can happen concurrently. So access to rsv_page_list
needs to be protected with a spinlock
---
v4 changes:
- commit message refinement
- miss dropping __init in acquire_domstatic_pages
- add the page back to the reserved list in case of error
- remove redundant printk
- refine log message and make it warn level
- guard "is_domain_using_staticmem" under CONFIG_STATIC_MEMORY
- #define is_domain_using_staticmem zero if undefined
---
v3 changes:
- fix possible racy issue in free_staticmem_pages()
- introduce a stub free_staticmem_pages() for the !CONFIG_STATIC_MEMORY case
- move the change to free_heap_pages() to cover other potential call sites
- change fixed width type uint32_t to unsigned int
- change "flags" to a more descriptive name "cdf"
- change name from "is_domain_static()" to "is_domain_using_staticmem"
- have page_list_del() just once out of the if()
- remove resv_pages counter
- make arch_free_heap_page be an expression, not a compound statement.
- move #ifndef is_domain_using_staticmem to the common header file
- remove #ifdef CONFIG_STATIC_MEMORY-ary
- remove meaningless page_to_mfn(page) in error log
---
v2 changes:
- let "flags" live in the struct domain. So other arch can take
advantage of it in the future
- change name from "is_domain_on_static_allocation" to "is_domain_static()"
- put reserved pages on resv_page_list after having taken them off
the "normal" list
- introduce acquire_reserved_page to retrieve reserved pages from
resv_page_list
- forbid non-zero-order requests in populate_physmap
- let is_domain_static return ((void)(d), false) on x86
- fix coding style
Penny Zheng (6):
  xen: do not free reserved memory into heap
  xen/arm: introduce CDF_staticmem
  xen: unpopulate memory when domain is static
  xen: introduce prepare_staticmem_pages
  xen: rename free_staticmem_pages to unprepare_staticmem_pages
  xen: retrieve reserved pages on populate_physmap

 xen/arch/arm/domain_build.c   |   5 +-
 xen/arch/arm/include/asm/mm.h |   6 +-
 xen/arch/arm/mm.c             |   5 +-
 xen/arch/arm/setup.c          |   3 +-
 xen/common/domain.c           |   4 +
 xen/common/memory.c           |  23 +++++
 xen/common/page_alloc.c       | 171 ++++++++++++++++++++++++++--------
 xen/include/xen/domain.h      |   8 ++
 xen/include/xen/mm.h          |   8 +-
 xen/include/xen/sched.h       |   3 +
 10 files changed, 189 insertions(+), 47 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 02:41:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 02:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395294.634875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDfC-0006dx-Vh; Wed, 31 Aug 2022 02:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395294.634875; Wed, 31 Aug 2022 02:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDfC-0006dl-SQ; Wed, 31 Aug 2022 02:41:10 +0000
Received: by outflank-mailman (input) for mailman id 395294;
 Wed, 31 Aug 2022 02:41:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OoUW=ZD=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oTDfC-0005nD-3S
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 02:41:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5e3ec29f-28d6-11ed-bd2e-47488cf2e6aa;
 Wed, 31 Aug 2022 04:41:09 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 735DDED1;
 Tue, 30 Aug 2022 19:41:14 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id ECA323F71A;
 Tue, 30 Aug 2022 19:41:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e3ec29f-28d6-11ed-bd2e-47488cf2e6aa
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v11 3/6] xen: unpopulate memory when domain is static
Date: Wed, 31 Aug 2022 10:40:38 +0800
Message-Id: <20220831024041.468757-4-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831024041.468757-1-Penny.Zheng@arm.com>
References: <20220831024041.468757-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today when a domain unpopulates the memory on runtime, they will always
hand the memory back to the heap allocator. And it will be a problem if domain
is static.

Pages as guest RAM for static domain shall be reserved to only this domain
and not be used for any other purposes, so they shall never go back to heap
allocator.

This commit puts reserved page on the new list resv_page_list after
it has been freed.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v11 change:
- commit message tweak
---
v10 change:
- Do not skip the list addition in that one special case
---
v9 change:
- remove macro helper put_static_page, and just expand its code inside
free_domstatic_page
---
v8 changes:
- adapt this patch for newly introduced free_domstatic_page
- order as a parameter is not needed here, as all staticmem operations are
limited to order-0 regions
- move d->page_alloc_lock after operation on d->resv_page_list
---
v7 changes:
- Add page on the rsv_page_list *after* it has been freed
---
v6 changes:
- refine in-code comment
- move PGC_static !CONFIG_STATIC_MEMORY definition to common header
---
v5 changes:
- adapt this patch for PGC_staticmem
---
v4 changes:
- no changes
---
v3 changes:
- have page_list_del() just once out of the if()
- remove resv_pages counter
- make arch_free_heap_page be an expression, not a compound statement.
---
v2 changes:
- put reserved pages on resv_page_list after having taken them off
the "normal" list
---
 xen/common/domain.c     | 4 ++++
 xen/common/page_alloc.c | 7 +++++--
 xen/include/xen/sched.h | 3 +++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 7062393e37..c23f449451 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -604,6 +604,10 @@ struct domain *domain_create(domid_t domid,
     INIT_PAGE_LIST_HEAD(&d->page_list);
     INIT_PAGE_LIST_HEAD(&d->extra_page_list);
     INIT_PAGE_LIST_HEAD(&d->xenpage_list);
+#ifdef CONFIG_STATIC_MEMORY
+    INIT_PAGE_LIST_HEAD(&d->resv_page_list);
+#endif
+
 
     spin_lock_init(&d->node_affinity_lock);
     d->node_affinity = NODE_MASK_ALL;
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 0c50dee4c5..26a2fad4e3 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2741,10 +2741,13 @@ void free_domstatic_page(struct page_info *page)
 
     drop_dom_ref = !domain_adjust_tot_pages(d, -1);
 
-    spin_unlock_recursive(&d->page_alloc_lock);
-
     free_staticmem_pages(page, 1, scrub_debug);
 
+    /* Add page on the resv_page_list *after* it has been freed. */
+    page_list_add_tail(page, &d->resv_page_list);
+
+    spin_unlock_recursive(&d->page_alloc_lock);
+
     if ( drop_dom_ref )
         put_domain(d);
 }
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 1cf629e7ec..956e0f9dca 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -381,6 +381,9 @@ struct domain
     struct page_list_head page_list;  /* linked list */
     struct page_list_head extra_page_list; /* linked list (size extra_pages) */
     struct page_list_head xenpage_list; /* linked list (size xenheap_pages) */
+#ifdef CONFIG_STATIC_MEMORY
+    struct page_list_head resv_page_list; /* linked list */
+#endif
 
     /*
      * This field should only be directly accessed by domain_adjust_tot_pages()
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 02:41:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 02:41:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395296.634887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDfH-00070S-AB; Wed, 31 Aug 2022 02:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395296.634887; Wed, 31 Aug 2022 02:41:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDfH-00070L-5Z; Wed, 31 Aug 2022 02:41:15 +0000
Received: by outflank-mailman (input) for mailman id 395296;
 Wed, 31 Aug 2022 02:41:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OoUW=ZD=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oTDfF-0005n7-Ti
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 02:41:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 608aaf66-28d6-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 04:41:12 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 54D61ED1;
 Tue, 30 Aug 2022 19:41:18 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CDDE73F71A;
 Tue, 30 Aug 2022 19:41:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 608aaf66-28d6-11ed-a60c-1f1ba7de4fb0
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v11 4/6] xen: introduce prepare_staticmem_pages
Date: Wed, 31 Aug 2022 10:40:39 +0800
Message-Id: <20220831024041.468757-5-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831024041.468757-1-Penny.Zheng@arm.com>
References: <20220831024041.468757-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Later, we want to use acquire_domstatic_pages() for populating memory
for static domain on runtime, however, there are a lot of pointless work
(checking mfn_valid(), scrubbing the free part, cleaning the cache...)
considering we know the page is valid and belong to the guest.

This commit splits acquire_staticmem_pages() in two parts, and
introduces prepare_staticmem_pages to bypass all "pointless work".

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v11 changes:
- no change
---
v10 changes:
- no change
---
v9 changes:
- no change
---
v8 changes:
- no change
---
v7 changes:
- no change
---
v6 changes:
- adapt to PGC_static
---
v5 changes:
- new commit
---
 xen/common/page_alloc.c | 61 ++++++++++++++++++++++++-----------------
 1 file changed, 36 insertions(+), 25 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 26a2fad4e3..adcc16e4f6 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2752,26 +2752,13 @@ void free_domstatic_page(struct page_info *page)
         put_domain(d);
 }
 
-/*
- * Acquire nr_mfns contiguous reserved pages, starting at #smfn, of
- * static memory.
- * This function needs to be reworked if used outside of boot.
- */
-static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
-                                                         unsigned long nr_mfns,
-                                                         unsigned int memflags)
+static bool __init prepare_staticmem_pages(struct page_info *pg,
+                                           unsigned long nr_mfns,
+                                           unsigned int memflags)
 {
     bool need_tlbflush = false;
     uint32_t tlbflush_timestamp = 0;
     unsigned long i;
-    struct page_info *pg;
-
-    ASSERT(nr_mfns);
-    for ( i = 0; i < nr_mfns; i++ )
-        if ( !mfn_valid(mfn_add(smfn, i)) )
-            return NULL;
-
-    pg = mfn_to_page(smfn);
 
     spin_lock(&heap_lock);
 
@@ -2782,7 +2769,7 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
         {
             printk(XENLOG_ERR
                    "pg[%lu] Static MFN %"PRI_mfn" c=%#lx t=%#x\n",
-                   i, mfn_x(smfn) + i,
+                   i, mfn_x(page_to_mfn(pg)) + i,
                    pg[i].count_info, pg[i].tlbflush_timestamp);
             goto out_err;
         }
@@ -2806,6 +2793,38 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
     if ( need_tlbflush )
         filtered_flush_tlb_mask(tlbflush_timestamp);
 
+    return true;
+
+ out_err:
+    while ( i-- )
+        pg[i].count_info = PGC_static | PGC_state_free;
+
+    spin_unlock(&heap_lock);
+
+    return false;
+}
+
+/*
+ * Acquire nr_mfns contiguous reserved pages, starting at #smfn, of
+ * static memory.
+ * This function needs to be reworked if used outside of boot.
+ */
+static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
+                                                         unsigned long nr_mfns,
+                                                         unsigned int memflags)
+{
+    unsigned long i;
+    struct page_info *pg;
+
+    ASSERT(nr_mfns);
+    for ( i = 0; i < nr_mfns; i++ )
+        if ( !mfn_valid(mfn_add(smfn, i)) )
+            return NULL;
+
+    pg = mfn_to_page(smfn);
+    if ( !prepare_staticmem_pages(pg, nr_mfns, memflags) )
+        return NULL;
+
     /*
      * Ensure cache and RAM are consistent for platforms where the guest
      * can control its own visibility of/through the cache.
@@ -2814,14 +2833,6 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
         flush_page_to_ram(mfn_x(smfn) + i, !(memflags & MEMF_no_icache_flush));
 
     return pg;
-
- out_err:
-    while ( i-- )
-        pg[i].count_info = PGC_static | PGC_state_free;
-
-    spin_unlock(&heap_lock);
-
-    return NULL;
 }
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 02:41:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 02:41:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395299.634898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDfL-0007Oj-Hr; Wed, 31 Aug 2022 02:41:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395299.634898; Wed, 31 Aug 2022 02:41:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDfL-0007Oc-Ee; Wed, 31 Aug 2022 02:41:19 +0000
Received: by outflank-mailman (input) for mailman id 395299;
 Wed, 31 Aug 2022 02:41:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OoUW=ZD=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oTDfJ-0005n7-VE
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 02:41:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 62fce17d-28d6-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 04:41:17 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 74A2BED1;
 Tue, 30 Aug 2022 19:41:22 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id AF2A43F71A;
 Tue, 30 Aug 2022 19:41:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62fce17d-28d6-11ed-a60c-1f1ba7de4fb0
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v11 5/6] xen: rename free_staticmem_pages to unprepare_staticmem_pages
Date: Wed, 31 Aug 2022 10:40:40 +0800
Message-Id: <20220831024041.468757-6-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831024041.468757-1-Penny.Zheng@arm.com>
References: <20220831024041.468757-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The name of free_staticmem_pages is inappropriate, considering it is
the opposite of function prepare_staticmem_pages.

Rename free_staticmem_pages to unprepare_staticmem_pages.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v11 changes:
- moved ahead of "xen: retrieve reserved pages on populate_physmap"
---
v10 changes:
- new commit
---
 xen/arch/arm/setup.c    |  3 ++-
 xen/common/page_alloc.c | 13 ++++++++-----
 xen/include/xen/mm.h    |  4 ++--
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 500307edc0..4662997c7e 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -639,7 +639,8 @@ static void __init init_staticmem_pages(void)
             if ( mfn_x(bank_end) <= mfn_x(bank_start) )
                 return;
 
-            free_staticmem_pages(mfn_to_page(bank_start), bank_pages, false);
+            unprepare_staticmem_pages(mfn_to_page(bank_start),
+                                      bank_pages, false);
         }
     }
 #endif
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index adcc16e4f6..18d34d1b69 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2693,9 +2693,12 @@ struct domain *get_pg_owner(domid_t domid)
 }
 
 #ifdef CONFIG_STATIC_MEMORY
-/* Equivalent of free_heap_pages to free nr_mfns pages of static memory. */
-void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
-                          bool need_scrub)
+/*
+ * It is the opposite of prepare_staticmem_pages, and it aims to unprepare
+ * nr_mfns pages of static memory.
+ */
+void unprepare_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                               bool need_scrub)
 {
     mfn_t mfn = page_to_mfn(pg);
     unsigned long i;
@@ -2741,7 +2744,7 @@ void free_domstatic_page(struct page_info *page)
 
     drop_dom_ref = !domain_adjust_tot_pages(d, -1);
 
-    free_staticmem_pages(page, 1, scrub_debug);
+    unprepare_staticmem_pages(page, 1, scrub_debug);
 
     /* Add page on the resv_page_list *after* it has been freed. */
     page_list_add_tail(page, &d->resv_page_list);
@@ -2862,7 +2865,7 @@ int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
 
     if ( assign_pages(pg, nr_mfns, d, memflags) )
     {
-        free_staticmem_pages(pg, nr_mfns, memflags & MEMF_no_scrub);
+        unprepare_staticmem_pages(pg, nr_mfns, memflags & MEMF_no_scrub);
         return -EINVAL;
     }
 
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index deadf4b2a1..93db3c4418 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -86,8 +86,8 @@ bool scrub_free_pages(void);
 #define FREE_XENHEAP_PAGE(p) FREE_XENHEAP_PAGES(p, 0)
 
 /* These functions are for static memory */
-void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
-                          bool need_scrub);
+void unprepare_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                               bool need_scrub);
 void free_domstatic_page(struct page_info *page);
 int acquire_domstatic_pages(struct domain *d, mfn_t smfn, unsigned int nr_mfns,
                             unsigned int memflags);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 02:41:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 02:41:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395307.634909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDfQ-000816-U2; Wed, 31 Aug 2022 02:41:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395307.634909; Wed, 31 Aug 2022 02:41:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTDfQ-00080t-Pm; Wed, 31 Aug 2022 02:41:24 +0000
Received: by outflank-mailman (input) for mailman id 395307;
 Wed, 31 Aug 2022 02:41:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OoUW=ZD=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1oTDfP-0005n7-5t
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 02:41:23 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6529e53a-28d6-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 04:41:20 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 177F2ED1;
 Tue, 30 Aug 2022 19:41:26 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CF0A93F71A;
 Tue, 30 Aug 2022 19:41:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6529e53a-28d6-11ed-a60c-1f1ba7de4fb0
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Penny Zheng <Penny.Zheng@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v11 6/6] xen: retrieve reserved pages on populate_physmap
Date: Wed, 31 Aug 2022 10:40:41 +0800
Message-Id: <20220831024041.468757-7-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831024041.468757-1-Penny.Zheng@arm.com>
References: <20220831024041.468757-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When a static domain populates memory through populate_physmap at runtime,
it shall retrieve reserved pages from resv_page_list to make sure that
guest RAM is still restricted in statically configured memory regions.
This commit also introduces a new helper acquire_reserved_page to make it work.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v11 change:
- with assignment having failed and the page not exposed to the guest at any
point, there is no need for scrubbing
---
v10 changes:
- add lock on the fail path
---
v9 changes:
- Use ASSERT_ALLOC_CONTEXT() in acquire_reserved_page
- Add free_staticmem_pages to undo prepare_staticmem_pages when
assign_domstatic_pages
- Remove redundant static in error message
---
v8 changes:
- As concurrent free/allocate could modify the resv_page_list, we still
need the lock
---
v7 changes:
- remove the lock, since we add the page to rsv_page_list after it has
been totally freed.
---
v6 changes:
- drop the lock before returning
---
v5 changes:
- extract common codes for assigning pages into a helper assign_domstatic_pages
- refine commit message
- remove stub function acquire_reserved_page
- Alloc/free of memory can happen concurrently. So access to rsv_page_list
needs to be protected with a spinlock
---
v4 changesï¼š
- miss dropping __init in acquire_domstatic_pages
- add the page back to the reserved list in case of error
- remove redundant printk
- refine log message and make it warn level
---
v3 changes:
- move is_domain_using_staticmem to the common header file
- remove #ifdef CONFIG_STATIC_MEMORY-ary
- remove meaningless page_to_mfn(page) in error log
---
v2 changes:
- introduce acquire_reserved_page to retrieve reserved pages from
resv_page_list
- forbid non-zero-order requests in populate_physmap
- let is_domain_static return ((void)(d), false) on x86
---
 xen/common/memory.c     | 23 +++++++++++++
 xen/common/page_alloc.c | 76 ++++++++++++++++++++++++++++++++---------
 xen/include/xen/mm.h    |  1 +
 3 files changed, 83 insertions(+), 17 deletions(-)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index bc89442ba5..ae8163a738 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -245,6 +245,29 @@ static void populate_physmap(struct memop_args *a)
 
                 mfn = _mfn(gpfn);
             }
+            else if ( is_domain_using_staticmem(d) )
+            {
+                /*
+                 * No easy way to guarantee the retrieved pages are contiguous,
+                 * so forbid non-zero-order requests here.
+                 */
+                if ( a->extent_order != 0 )
+                {
+                    gdprintk(XENLOG_WARNING,
+                             "Cannot allocate static order-%u pages for %pd\n",
+                             a->extent_order, d);
+                    goto out;
+                }
+
+                mfn = acquire_reserved_page(d, a->memflags);
+                if ( mfn_eq(mfn, INVALID_MFN) )
+                {
+                    gdprintk(XENLOG_WARNING,
+                             "%pd: failed to retrieve a reserved page\n",
+                             d);
+                    goto out;
+                }
+            }
             else
             {
                 page = alloc_domheap_pages(d, a->extent_order, a->memflags);
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 18d34d1b69..93d504c3c4 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2755,9 +2755,8 @@ void free_domstatic_page(struct page_info *page)
         put_domain(d);
 }
 
-static bool __init prepare_staticmem_pages(struct page_info *pg,
-                                           unsigned long nr_mfns,
-                                           unsigned int memflags)
+static bool prepare_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                                    unsigned int memflags)
 {
     bool need_tlbflush = false;
     uint32_t tlbflush_timestamp = 0;
@@ -2838,21 +2837,9 @@ static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
     return pg;
 }
 
-/*
- * Acquire nr_mfns contiguous pages, starting at #smfn, of static memory,
- * then assign them to one specific domain #d.
- */
-int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
-                                   unsigned int nr_mfns, unsigned int memflags)
+static int assign_domstatic_pages(struct domain *d, struct page_info *pg,
+                                  unsigned int nr_mfns, unsigned int memflags)
 {
-    struct page_info *pg;
-
-    ASSERT_ALLOC_CONTEXT();
-
-    pg = acquire_staticmem_pages(smfn, nr_mfns, memflags);
-    if ( !pg )
-        return -ENOENT;
-
     if ( !d || (memflags & (MEMF_no_owner | MEMF_no_refcount)) )
     {
         /*
@@ -2871,6 +2858,61 @@ int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
 
     return 0;
 }
+
+/*
+ * Acquire nr_mfns contiguous pages, starting at #smfn, of static memory,
+ * then assign them to one specific domain #d.
+ */
+int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
+                                   unsigned int nr_mfns, unsigned int memflags)
+{
+    struct page_info *pg;
+
+    ASSERT_ALLOC_CONTEXT();
+
+    pg = acquire_staticmem_pages(smfn, nr_mfns, memflags);
+    if ( !pg )
+        return -ENOENT;
+
+    if ( assign_domstatic_pages(d, pg, nr_mfns, memflags) )
+        return -EINVAL;
+
+    return 0;
+}
+
+/*
+ * Acquire a page from reserved page list(resv_page_list), when populating
+ * memory for static domain on runtime.
+ */
+mfn_t acquire_reserved_page(struct domain *d, unsigned int memflags)
+{
+    struct page_info *page;
+
+    ASSERT_ALLOC_CONTEXT();
+
+    /* Acquire a page from reserved page list(resv_page_list). */
+    spin_lock(&d->page_alloc_lock);
+    page = page_list_remove_head(&d->resv_page_list);
+    spin_unlock(&d->page_alloc_lock);
+    if ( unlikely(!page) )
+        return INVALID_MFN;
+
+    if ( !prepare_staticmem_pages(page, 1, memflags) )
+        goto fail;
+
+    if ( assign_domstatic_pages(d, page, 1, memflags) )
+        goto fail_assign;
+
+    return page_to_mfn(page);
+
+ fail_assign:
+    unprepare_staticmem_pages(page, 1, false);
+ fail:
+    spin_lock(&d->page_alloc_lock);
+    page_list_add_tail(page, &d->resv_page_list);
+    spin_unlock(&d->page_alloc_lock);
+    return INVALID_MFN;
+}
 #endif
 
 /*
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 93db3c4418..a925028ab3 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -198,6 +198,7 @@ struct npfec {
 #else
 #define MAX_ORDER 20 /* 2^20 contiguous pages */
 #endif
+mfn_t acquire_reserved_page(struct domain *d, unsigned int memflags);
 
 /* Private domain structs for DOMID_XEN, DOMID_IO, etc. */
 extern struct domain *dom_xen, *dom_io;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 03:10:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 03:10:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395344.634920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTE7D-0004DW-DW; Wed, 31 Aug 2022 03:10:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395344.634920; Wed, 31 Aug 2022 03:10:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTE7D-0004Cy-AP; Wed, 31 Aug 2022 03:10:07 +0000
Received: by outflank-mailman (input) for mailman id 395344;
 Wed, 31 Aug 2022 03:10:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTE7B-000421-6G; Wed, 31 Aug 2022 03:10:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTE7B-00046G-36; Wed, 31 Aug 2022 03:10:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTE7A-0003qt-Nm; Wed, 31 Aug 2022 03:10:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTE7A-0004Iq-ML; Wed, 31 Aug 2022 03:10:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mVc0+/37m69AfIxZP91Ank/ea2psI6cqJDh0yl/ewyw=; b=z73jBT8NzDkxqzixlh0vvuVCdF
	B8OtuzbM9jQuLUDnASW1ko8DovCgWzOzOct4eDtG8ECeh2e3b1ISJlBo/teQNQokDNTvvTmJU7Ahq
	KL8oEWbZUaMNVWzb27AIf9n6yv9oqELIMgDAONlrRbChGI+/Av9XTOUKpkzYSgnrAPVE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172875-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172875: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 03:10:04 +0000

flight 172875 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172875/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 172866 pass in 172875
 test-armhf-armhf-examine      8 reboot                     fail pass in 172866

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 172866 blocked in 172128
 test-armhf-armhf-xl-multivcpu 14 guest-start        fail in 172866 like 172128
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 172866 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 172866 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 172108
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   27 days
Failing since        172384  2022-08-11 11:13:58 Z   19 days   41 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    5 days   12 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 04:44:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 04:44:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395352.634931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFa3-0004p5-3T; Wed, 31 Aug 2022 04:43:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395352.634931; Wed, 31 Aug 2022 04:43:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFa2-0004oy-Vr; Wed, 31 Aug 2022 04:43:58 +0000
Received: by outflank-mailman (input) for mailman id 395352;
 Wed, 31 Aug 2022 04:43:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTFa2-0004oo-3H; Wed, 31 Aug 2022 04:43:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTFa2-0005nR-0b; Wed, 31 Aug 2022 04:43:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTFa1-0001Rh-F3; Wed, 31 Aug 2022 04:43:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTFa1-0007lH-EW; Wed, 31 Aug 2022 04:43:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=T2xDN9bBEZjbc2dJzgOLiRGLiIQdk0Dvg++hr4v0JBs=; b=kN7+jBpJq5sNx0W9EaE9vTCCIU
	Fg402uUPUFwT9AoEViSoEkrbJ9jYwJzsVqrNIGCOLBLWJCyALgudZkZVuL3BLfaFOa+bL+toXzHod
	9QDqn/iFmX9EBiPR2dWRDp5ykxPC4BVB4jq06OL9neE7rCEsr8NX4v0qSLAwJh2WGaak=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172877-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172877: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start:fail:allowable
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=93fac696d241dccb04ebb9d23da55fc1e9d8ee36
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 04:43:57 +0000

flight 172877 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172877/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start              fail REGR. vs. 172123

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                93fac696d241dccb04ebb9d23da55fc1e9d8ee36
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   27 days
Failing since        172148  2022-08-04 21:39:38 Z   26 days   60 attempts
Testing same since   172877  2022-08-30 19:10:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2511 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395166.634952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv5-0007j2-KT; Wed, 31 Aug 2022 05:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395166.634952; Wed, 31 Aug 2022 05:05:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv5-0007ho-FF; Wed, 31 Aug 2022 05:05:43 +0000
Received: by outflank-mailman (input) for mailman id 395166;
 Tue, 30 Aug 2022 21:49:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=j0IG=ZC=flex--surenb.bounces.google.com=36YUOYwYKCU48A7u3rw44w1u.s42Du3-tuBu11y898.Du3574zus9.47w@srs-se1.protection.inumbo.net>)
 id 1oT96x-0008Cd-9f
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:31 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0275f40-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:49:30 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 v5-20020a2583c5000000b006964324be8cso713972ybm.14
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0275f40-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=content-transfer-encoding:cc:to:from:subject:message-id:references
         :mime-version:in-reply-to:date:from:to:cc;
        bh=nkzMCqKgjBTn+NwznXGF4FkMKBv5sNXeON2LIxVXB6M=;
        b=kJlmMVVbY7IXNl91XGcBvO3YBT3quRQF4WCS0SiH4LOLG/e+9p2jaPHVw9E6t43+lu
         d4/47XlZrYUEtJ7XQ4VgzKUrbfj5xy9BOKDP//VyLPwp6hXR8zYzPt3dQTar5Wyr4GYS
         iZIbWUJ75o4n7+UgTsXC+An80tm2UyPOQgFq5wJiP9bNIbl98o3r9SGFN0OGKpWzVCwL
         D90b1H3jXLeXTLKjKOyg3XK2WfiVlhvPG/TS9Z+MZLclTKFSEr9IlFYU0A0pKe+sQn6L
         rk2/ZWVdc/gD2rOE75MuQ1Xdte4UkYIWIQjcJTwqiH4rcTqyxgiTvaJazxYK/g79dGii
         T0zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:cc:to:from:subject:message-id:references
         :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc;
        bh=nkzMCqKgjBTn+NwznXGF4FkMKBv5sNXeON2LIxVXB6M=;
        b=5r8v6Rh1odhB+sCnciBhWoA/u3jzoipztFjgKS3TmHyYJd892Rnh5iF7StBxHTjnmA
         yoENcXEiuGeh/p5rA2GVetOQC/71kRQxLpKN3xExzEieImoPsRlegX8XswFRwYvLuARg
         69i59XQ43ZjZRUkbjMn5WyTONxLhFJHGG4uaCIlysZoMNHd6CmywdulZih96fzhVeo3b
         TQTxOIdr3KOGNnPp6CeyQnY+rZo1onc+udWkzUupKCwjXMfNSdAN+unR5tMKzm/karUL
         0sJ0pY0da1h6kWkotvZVd1usWHlOK4p7pNez1v4bMhLGGIAQ5uNEVf5jbYz7Nd5wgkja
         qTwQ==
X-Gm-Message-State: ACgBeo2vuSQnvCrwX0u1L2tCk3LuyG/VZitzlL/YQlX9jEC+POPL60ed
	49aYOFPJBEgkCZW+KoXopWzuh0HmcJs=
X-Google-Smtp-Source: AA6agR58VLI71n7hWTuP/n58j09zS0GpQ603/kDNR321OvTW6NJyNZKRSs+4OQb0POQ9FkLHMKokHnLGLkM=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:e90e:0:b0:695:64cf:5d2 with SMTP id
 n14-20020a25e90e000000b0069564cf05d2mr12975575ybd.541.1661896169455; Tue, 30
 Aug 2022 14:49:29 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:51 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-3-surenb@google.com>
Subject: [RFC PATCH 02/30] lib/string_helpers: Drop space in string_get_size's output
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org, Andy Shevchenko <andy@kernel.org>, 
	Michael Ellerman <mpe@ellerman.id.au>, Benjamin Herrenschmidt <benh@kernel.crashing.org>, 
	Paul Mackerras <paulus@samba.org>, "Michael S. Tsirkin" <mst@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	"=?UTF-8?q?Noralf=20Tr=C3=B8nnes?=" <noralf@tronnes.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

From: Kent Overstreet <kent.overstreet@linux.dev>

Previously, string_get_size() outputted a space between the number and
the units, i.e.
  9.88 MiB

This changes it to
  9.88MiB

which allows it to be parsed correctly by the 'sort -h' command.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Andy Shevchenko <andy@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: "Noralf Tr=C3=B8nnes" <noralf@tronnes.org>
Cc: Jens Axboe <axboe@kernel.dk>
---
 lib/string_helpers.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/string_helpers.c b/lib/string_helpers.c
index 5ed3beb066e6..3032d1b04ca3 100644
--- a/lib/string_helpers.c
+++ b/lib/string_helpers.c
@@ -126,8 +126,7 @@ void string_get_size(u64 size, u64 blk_size, const enum=
 string_size_units units,
 	else
 		unit =3D units_str[units][i];
=20
-	snprintf(buf, len, "%u%s %s", (u32)size,
-		 tmp, unit);
+	snprintf(buf, len, "%u%s%s", (u32)size, tmp, unit);
 }
 EXPORT_SYMBOL(string_get_size);
=20
--=20
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395165.634946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv5-0007bS-88; Wed, 31 Aug 2022 05:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395165.634946; Wed, 31 Aug 2022 05:05:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv5-0007bF-4T; Wed, 31 Aug 2022 05:05:43 +0000
Received: by outflank-mailman (input) for mailman id 395165;
 Tue, 30 Aug 2022 21:49:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xbxS=ZC=flex--surenb.bounces.google.com=35oUOYwYKCUs574r0ot11tyr.p1zAr0-qr8ryyv565.Ar0241wrp6.14t@srs-se1.protection.inumbo.net>)
 id 1oT96v-0008Cd-Qn
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:29 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e98d3a3-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:49:28 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-33dce8cae71so188543567b3.8
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e98d3a3-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=b8cpW+nrR3APd+B9XZ294x5uN/r70qZMashrRw3GaA8=;
        b=B8JrbzRleZqubdBWO9KwQObWYBUFN1DEZsbcRMc0ufm/mVUktKeZg8X1kQOqUZzy93
         ncNLrZU8nPu7KazqAMAyKJcikXtJLfl/reW5WBaXn80mOydYU5Xs8aKPQyLo7ErwCgSR
         6vTq/fkGb/bg91DRTJvbM/ZhewoDhk6Fzi5TAqWRXDZK39lE+mcUdSuOiAqs+pSJsWjQ
         9uZPxBCGuZMakiTU63KXQhu+wIJ9wLTXQN/A1wLZlo6tR7q0gp+RObUZBUjYJR6H/wFq
         J6OY9ufTA18je5eH0c2mEH8FL4dZmNwHh7WEfnbxz8VCQJOnaA1LbLkW+QDP3I4yxqae
         dF5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=b8cpW+nrR3APd+B9XZ294x5uN/r70qZMashrRw3GaA8=;
        b=zCRRN8UugmshaktQ248u+4TBMyflmsKijWA36mOLktzx1AruMrZEsKdBm4qjaoPRuW
         QqEgAHc4tB1Szo+guoHT8phvbedoeEGWYpg75HLqzPKh8TGtywtEH5YJ8VfpwftFMeMb
         TZ+qU1UpE2rkH/rPczReU1F6xzbNBaoqxmLm2sfDnOeyFE8n0noll7ZfeyTI6mdJGzhL
         9iv9NI6/iWFeaR4MM3JL0yQvK3bUOp8lythzpiLruEd3dy+eHTC0A47ML5EJ0yYG2kmY
         xhoN+x4nEJ8PDp8wxp5hqquW7FIb8JirBeMNZ66z/7oS4XPLTbyU/nGg27u0lQVau05+
         jGhA==
X-Gm-Message-State: ACgBeo0dO4ETsopxdSw36qcnMksjN1pHwt7Fx2b76VV1Tr6pALdgXndd
	DZ4VdJGYQfZo9HxMuZKgwyZhfocUnLk=
X-Google-Smtp-Source: AA6agR57tRpK3lCbg8ALQyLqVk3+SD8j/eJQxhkloYdEQAGMf1mIZU8UNti5rfc/2ao5N+5wkH06z2emEi0=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a0d:e650:0:b0:341:85d:f480 with SMTP id
 p77-20020a0de650000000b00341085df480mr9713169ywe.161.1661896166926; Tue, 30
 Aug 2022 14:49:26 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:50 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-2-surenb@google.com>
Subject: [RFC PATCH 01/30] kernel/module: move find_kallsyms_symbol_value declaration
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Allow find_kallsyms_symbol_value to be called by code outside of
kernel/module. It will be used for code tagging module support.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/module.h   | 1 +
 kernel/module/internal.h | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/module.h b/include/linux/module.h
index 518296ea7f73..563d38ad84ed 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -605,6 +605,7 @@ struct module *find_module(const char *name);
 int module_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
 			char *name, char *module_name, int *exported);
 
+unsigned long find_kallsyms_symbol_value(struct module *mod, const char *name);
 /* Look for this name: can be of form module:name. */
 unsigned long module_kallsyms_lookup_name(const char *name);
 
diff --git a/kernel/module/internal.h b/kernel/module/internal.h
index 680d980a4fb2..f1b6c477bd93 100644
--- a/kernel/module/internal.h
+++ b/kernel/module/internal.h
@@ -246,7 +246,6 @@ static inline void kmemleak_load_module(const struct module *mod,
 void init_build_id(struct module *mod, const struct load_info *info);
 void layout_symtab(struct module *mod, struct load_info *info);
 void add_kallsyms(struct module *mod, const struct load_info *info);
-unsigned long find_kallsyms_symbol_value(struct module *mod, const char *name);
 
 static inline bool sect_empty(const Elf_Shdr *sect)
 {
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395175.634982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv7-0008J2-H0; Wed, 31 Aug 2022 05:05:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395175.634982; Wed, 31 Aug 2022 05:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv7-0008Ff-65; Wed, 31 Aug 2022 05:05:45 +0000
Received: by outflank-mailman (input) for mailman id 395175;
 Tue, 30 Aug 2022 21:49:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sd60=ZC=flex--surenb.bounces.google.com=384UOYwYKCVgIKH4D16EE6B4.2ECN4D-34L4BB8IJI.N4DFHE942J.EH6@srs-se1.protection.inumbo.net>)
 id 1oT977-0008CX-BV
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:41 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a600e262-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:49:40 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-340e618b145so120878437b3.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a600e262-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=98WyT1z35HcvSKL2J7VN7g/2jl2Mia82SjRaCpg7p/8=;
        b=ppQwolWM0xAnRwum2KKY24m6a3yzqCKoXnrVhpHLwdzhEX68q/9GWwURRXRAJwAXGE
         4hx2+McVJ/jsyFytRFbe+OPGYzeVEhiv30wYy3Dbv2te49LJhVOTWhRl89blVyPEgJ5w
         k3Kn066cwQfYjgsoqDMdWYBFuCQId3TWaakWpKvAmlWCCQJJyDWDc/PSlpx9kgm9lJqq
         PzMv/4CnJ/6J/uOAkl+MbChdqUZ3xBMeEP2NgbSdh/KBp25WeMEzsbU/mEvRjqtr/S/B
         +8o+9cRhHtG5HXvPx6nUDeXaaa6TO2tjt+mMpb6RSrzIfgp9N/6Vm98rkMF4T4b9tOCX
         x/hg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=98WyT1z35HcvSKL2J7VN7g/2jl2Mia82SjRaCpg7p/8=;
        b=EF+hRNvTTlVH3bdw373Cru5rUdM7INtLHRnGuXg5IQH/N7Db5ViUP4KgFidGLNTtk3
         SRbCHoTyK271GmlGULC4U3bZLf7I25airMNJ7QDYR4T2SuO/s3l/Op7CWz6OEzQ5mdvz
         MRENcp1OKVJA9cQCLFJEiPBqFOBrC06ar/dCMk+93uVUi7yl6W7AXz9SqPWPmxhRkgOk
         qEM2eJdBNWfoE40+3aPauA6SnLzOwC+M3lahBenxEYLt7C+n2dAjG39ImKQikoYs3EdY
         tu7hD7eNcptK5dPMU4Kt8bFswFw+mBf+biusXDsLF3EQkSipGwcUhdN2tCcecLK038Ek
         0Kow==
X-Gm-Message-State: ACgBeo3aNvRRgi2ULbPyEwDMUtSVclTn3irmWHI5BwfTs4RKHcaCG9ur
	X+8p7MUs3B5JJggg8xvkZYACCHrhATo=
X-Google-Smtp-Source: AA6agR6q8iUNu3CLxqQx3h199RKUO7Cut/Mgh7jMzVJUDX7OllJVViu9/IZhn89ZbhwU0FUSjxhVMQRhhhM=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a05:6902:2cb:b0:684:aebe:49ab with SMTP id
 w11-20020a05690202cb00b00684aebe49abmr13690932ybh.242.1661896179352; Tue, 30
 Aug 2022 14:49:39 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:55 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-7-surenb@google.com>
Subject: [RFC PATCH 06/30] lib: code tagging module support
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Add support for code tagging from dynamically loaded modules.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Co-developed-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/codetag.h | 12 ++++++++++
 kernel/module/main.c    |  4 ++++
 lib/codetag.c           | 51 ++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 66 insertions(+), 1 deletion(-)

diff --git a/include/linux/codetag.h b/include/linux/codetag.h
index a9d7adecc2a5..386733e89b31 100644
--- a/include/linux/codetag.h
+++ b/include/linux/codetag.h
@@ -42,6 +42,10 @@ struct codetag_module {
 struct codetag_type_desc {
 	const char *section;
 	size_t tag_size;
+	void (*module_load)(struct codetag_type *cttype,
+			    struct codetag_module *cmod);
+	void (*module_unload)(struct codetag_type *cttype,
+			      struct codetag_module *cmod);
 };
 
 struct codetag_iterator {
@@ -68,4 +72,12 @@ void codetag_to_text(struct seq_buf *out, struct codetag *ct);
 struct codetag_type *
 codetag_register_type(const struct codetag_type_desc *desc);
 
+#ifdef CONFIG_CODE_TAGGING
+void codetag_load_module(struct module *mod);
+void codetag_unload_module(struct module *mod);
+#else
+static inline void codetag_load_module(struct module *mod) {}
+static inline void codetag_unload_module(struct module *mod) {}
+#endif
+
 #endif /* _LINUX_CODETAG_H */
diff --git a/kernel/module/main.c b/kernel/module/main.c
index a4e4d84b6f4e..d253277492fd 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -53,6 +53,7 @@
 #include <linux/bsearch.h>
 #include <linux/dynamic_debug.h>
 #include <linux/audit.h>
+#include <linux/codetag.h>
 #include <uapi/linux/module.h>
 #include "internal.h"
 
@@ -1151,6 +1152,7 @@ static void free_module(struct module *mod)
 {
 	trace_module_free(mod);
 
+	codetag_unload_module(mod);
 	mod_sysfs_teardown(mod);
 
 	/*
@@ -2849,6 +2851,8 @@ static int load_module(struct load_info *info, const char __user *uargs,
 	/* Get rid of temporary copy. */
 	free_copy(info, flags);
 
+	codetag_load_module(mod);
+
 	/* Done! */
 	trace_module_load(mod);
 
diff --git a/lib/codetag.c b/lib/codetag.c
index 7708f8388e55..f0a3174f9b71 100644
--- a/lib/codetag.c
+++ b/lib/codetag.c
@@ -157,8 +157,11 @@ static int codetag_module_init(struct codetag_type *cttype, struct module *mod)
 
 	down_write(&cttype->mod_lock);
 	err = idr_alloc(&cttype->mod_idr, cmod, 0, 0, GFP_KERNEL);
-	if (err >= 0)
+	if (err >= 0) {
 		cttype->count += range_size(cttype, &range);
+		if (cttype->desc.module_load)
+			cttype->desc.module_load(cttype, cmod);
+	}
 	up_write(&cttype->mod_lock);
 
 	if (err < 0) {
@@ -197,3 +200,49 @@ codetag_register_type(const struct codetag_type_desc *desc)
 
 	return cttype;
 }
+
+void codetag_load_module(struct module *mod)
+{
+	struct codetag_type *cttype;
+
+	if (!mod)
+		return;
+
+	mutex_lock(&codetag_lock);
+	list_for_each_entry(cttype, &codetag_types, link)
+		codetag_module_init(cttype, mod);
+	mutex_unlock(&codetag_lock);
+}
+
+void codetag_unload_module(struct module *mod)
+{
+	struct codetag_type *cttype;
+
+	if (!mod)
+		return;
+
+	mutex_lock(&codetag_lock);
+	list_for_each_entry(cttype, &codetag_types, link) {
+		struct codetag_module *found = NULL;
+		struct codetag_module *cmod;
+		unsigned long mod_id, tmp;
+
+		down_write(&cttype->mod_lock);
+		idr_for_each_entry_ul(&cttype->mod_idr, cmod, tmp, mod_id) {
+			if (cmod->mod && cmod->mod == mod) {
+				found = cmod;
+				break;
+			}
+		}
+		if (found) {
+			if (cttype->desc.module_unload)
+				cttype->desc.module_unload(cttype, cmod);
+
+			cttype->count -= range_size(cttype, &cmod->range);
+			idr_remove(&cttype->mod_idr, mod_id);
+			kfree(cmod);
+		}
+		up_write(&cttype->mod_lock);
+	}
+	mutex_unlock(&codetag_lock);
+}
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395173.634975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv6-00088p-Su; Wed, 31 Aug 2022 05:05:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395173.634975; Wed, 31 Aug 2022 05:05:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv6-00086k-L4; Wed, 31 Aug 2022 05:05:44 +0000
Received: by outflank-mailman (input) for mailman id 395173;
 Tue, 30 Aug 2022 21:49:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ivjr=ZC=flex--surenb.bounces.google.com=38YUOYwYKCVYGIF2Bz4CC492.0CAL2B-12J2996GHG.L2BDFC720H.CF4@srs-se1.protection.inumbo.net>)
 id 1oT975-0008CX-Al
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:39 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4a35f39-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:49:38 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 y81-20020a253254000000b0069339437485so707827yby.5
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4a35f39-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=kcUwO49ZlU6bl/Tm+t4qMFM3AvAt3rlv3WDq12yXCn8=;
        b=IB5sn3g8G5XCtC4vvUkMJf3Z0NCybbDF4PfUg7xY8jaPrHiWi7tBKXZi3iw7JzW/hg
         R1rg3QKwvg2o4P0UJORvK/vnl+yrRARG5QS+tHVqZj7Wlke8B5UL2GccofvWmM5QTLmm
         X07Mo57+bKLwACVIf4YGvfOrnuhdmQMRu0jBSFOkXWJ/DCc2JiFJS2dKowFDk3y0y1lo
         ++gDXN1YD0J2obdelJxD0Ca+lRDY4iXl62HepJKu5B9nBoEEZMQwIAzfpufGcQaLvs6J
         LfNF8Ip/phVmlaMWNU5bNvIxjy7nc6YboQjzsEA9CsIOA+UQlQ9lwqxZiOCG8LXjXtLj
         HTKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=kcUwO49ZlU6bl/Tm+t4qMFM3AvAt3rlv3WDq12yXCn8=;
        b=MfadkIVzL1N9GD5IuDNUIQmq2MT5aEr0X3aCqabhvFd+G/acLbLagC45LRRxg/2wSh
         uoyagJZ84OMm3t/bzg9ciEGLcU2j/gFBUu+zK5H9Sx1hyRmb2afbmguO3B66yUeh5HiX
         5A2r3h2U61suY9G5SWGxqse4c2grhZaaoGpCBNzdaHyRJI4c0OoQFypMujXhIQ/jla/r
         ToKTvRGhxgiwlcwdto+KO99Jy4z177MTrwJxqf7wVZawdc24YLrYeDullPYZF06w59U4
         W+w9Ul4rolMzgR/mKGOwvs5pXpcd0ON58Gsz4gtit0jLoXNUqWPlxdyo4pQr+NDnCSK4
         Q2YA==
X-Gm-Message-State: ACgBeo2kpeGDe4i0RogOJKxk8DfS5fVKkEsDPuO4DjXuwdWkvGPmAZA5
	733EuAMGjifJLgz3nzKbo1ErqvZp04o=
X-Google-Smtp-Source: AA6agR6vbeCOP++6z+390hwytf4tDzdTpspO7jE9UZOGKy2Zs51apVk0rDEGDjb4QkAG6+ILkunHIACE8Y4=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a5b:18d:0:b0:695:a9d7:44b5 with SMTP id
 r13-20020a5b018d000000b00695a9d744b5mr13051126ybl.549.1661896177035; Tue, 30
 Aug 2022 14:49:37 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:54 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-6-surenb@google.com>
Subject: [RFC PATCH 05/30] lib: code tagging framework
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Add basic infrastructure to support code tagging which stores tag common
information consisting of the module name, function, file name and line
number. Provide functions to register a new code tag type and navigate
between code tags.

Co-developed-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/codetag.h |  71 ++++++++++++++
 lib/Kconfig.debug       |   4 +
 lib/Makefile            |   1 +
 lib/codetag.c           | 199 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 275 insertions(+)
 create mode 100644 include/linux/codetag.h
 create mode 100644 lib/codetag.c

diff --git a/include/linux/codetag.h b/include/linux/codetag.h
new file mode 100644
index 000000000000..a9d7adecc2a5
--- /dev/null
+++ b/include/linux/codetag.h
@@ -0,0 +1,71 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * code tagging framework
+ */
+#ifndef _LINUX_CODETAG_H
+#define _LINUX_CODETAG_H
+
+#include <linux/types.h>
+
+struct codetag_iterator;
+struct codetag_type;
+struct seq_buf;
+struct module;
+
+/*
+ * An instance of this structure is created in a special ELF section at every
+ * code location being tagged.  At runtime, the special section is treated as
+ * an array of these.
+ */
+struct codetag {
+	unsigned int flags; /* used in later patches */
+	unsigned int lineno;
+	const char *modname;
+	const char *function;
+	const char *filename;
+} __aligned(8);
+
+union codetag_ref {
+	struct codetag *ct;
+};
+
+struct codetag_range {
+	struct codetag *start;
+	struct codetag *stop;
+};
+
+struct codetag_module {
+	struct module *mod;
+	struct codetag_range range;
+};
+
+struct codetag_type_desc {
+	const char *section;
+	size_t tag_size;
+};
+
+struct codetag_iterator {
+	struct codetag_type *cttype;
+	struct codetag_module *cmod;
+	unsigned long mod_id;
+	struct codetag *ct;
+};
+
+#define CODE_TAG_INIT {					\
+	.modname	= KBUILD_MODNAME,		\
+	.function	= __func__,			\
+	.filename	= __FILE__,			\
+	.lineno		= __LINE__,			\
+	.flags		= 0,				\
+}
+
+void codetag_lock_module_list(struct codetag_type *cttype, bool lock);
+struct codetag_iterator codetag_get_ct_iter(struct codetag_type *cttype);
+struct codetag *codetag_next_ct(struct codetag_iterator *iter);
+
+void codetag_to_text(struct seq_buf *out, struct codetag *ct);
+
+struct codetag_type *
+codetag_register_type(const struct codetag_type_desc *desc);
+
+#endif /* _LINUX_CODETAG_H */
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index bcbe60d6c80c..22bc1eff7f8f 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -969,6 +969,10 @@ config DEBUG_STACKOVERFLOW
 
 	  If in doubt, say "N".
 
+config CODE_TAGGING
+	bool
+	select KALLSYMS
+
 source "lib/Kconfig.kasan"
 source "lib/Kconfig.kfence"
 
diff --git a/lib/Makefile b/lib/Makefile
index cc7762748708..574d7716e640 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -227,6 +227,7 @@ obj-$(CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT) += \
 	of-reconfig-notifier-error-inject.o
 obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
 
+obj-$(CONFIG_CODE_TAGGING) += codetag.o
 lib-$(CONFIG_GENERIC_BUG) += bug.o
 
 obj-$(CONFIG_HAVE_ARCH_TRACEHOOK) += syscall.o
diff --git a/lib/codetag.c b/lib/codetag.c
new file mode 100644
index 000000000000..7708f8388e55
--- /dev/null
+++ b/lib/codetag.c
@@ -0,0 +1,199 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/codetag.h>
+#include <linux/idr.h>
+#include <linux/kallsyms.h>
+#include <linux/module.h>
+#include <linux/seq_buf.h>
+#include <linux/slab.h>
+
+struct codetag_type {
+	struct list_head link;
+	unsigned int count;
+	struct idr mod_idr;
+	struct rw_semaphore mod_lock; /* protects mod_idr */
+	struct codetag_type_desc desc;
+};
+
+static DEFINE_MUTEX(codetag_lock);
+static LIST_HEAD(codetag_types);
+
+void codetag_lock_module_list(struct codetag_type *cttype, bool lock)
+{
+	if (lock)
+		down_read(&cttype->mod_lock);
+	else
+		up_read(&cttype->mod_lock);
+}
+
+struct codetag_iterator codetag_get_ct_iter(struct codetag_type *cttype)
+{
+	struct codetag_iterator iter = {
+		.cttype = cttype,
+		.cmod = NULL,
+		.mod_id = 0,
+		.ct = NULL,
+	};
+
+	return iter;
+}
+
+static inline struct codetag *get_first_module_ct(struct codetag_module *cmod)
+{
+	return cmod->range.start < cmod->range.stop ? cmod->range.start : NULL;
+}
+
+static inline
+struct codetag *get_next_module_ct(struct codetag_iterator *iter)
+{
+	struct codetag *res = (struct codetag *)
+			((char *)iter->ct + iter->cttype->desc.tag_size);
+
+	return res < iter->cmod->range.stop ? res : NULL;
+}
+
+struct codetag *codetag_next_ct(struct codetag_iterator *iter)
+{
+	struct codetag_type *cttype = iter->cttype;
+	struct codetag_module *cmod;
+	struct codetag *ct;
+
+	lockdep_assert_held(&cttype->mod_lock);
+
+	if (unlikely(idr_is_empty(&cttype->mod_idr)))
+		return NULL;
+
+	ct = NULL;
+	while (true) {
+		cmod = idr_find(&cttype->mod_idr, iter->mod_id);
+
+		/* If module was removed move to the next one */
+		if (!cmod)
+			cmod = idr_get_next_ul(&cttype->mod_idr,
+					       &iter->mod_id);
+
+		/* Exit if no more modules */
+		if (!cmod)
+			break;
+
+		if (cmod != iter->cmod) {
+			iter->cmod = cmod;
+			ct = get_first_module_ct(cmod);
+		} else
+			ct = get_next_module_ct(iter);
+
+		if (ct)
+			break;
+
+		iter->mod_id++;
+	}
+
+	iter->ct = ct;
+	return ct;
+}
+
+void codetag_to_text(struct seq_buf *out, struct codetag *ct)
+{
+	seq_buf_printf(out, "%s:%u module:%s func:%s",
+		       ct->filename, ct->lineno,
+		       ct->modname, ct->function);
+}
+
+static inline size_t range_size(const struct codetag_type *cttype,
+				const struct codetag_range *range)
+{
+	return ((char *)range->stop - (char *)range->start) /
+			cttype->desc.tag_size;
+}
+
+static void *get_symbol(struct module *mod, const char *prefix, const char *name)
+{
+	char buf[64];
+	int res;
+
+	res = snprintf(buf, sizeof(buf), "%s%s", prefix, name);
+	if (WARN_ON(res < 1 || res > sizeof(buf)))
+		return NULL;
+
+	return mod ?
+		(void *)find_kallsyms_symbol_value(mod, buf) :
+		(void *)kallsyms_lookup_name(buf);
+}
+
+static struct codetag_range get_section_range(struct module *mod,
+					      const char *section)
+{
+	return (struct codetag_range) {
+		get_symbol(mod, "__start_", section),
+		get_symbol(mod, "__stop_", section),
+	};
+}
+
+static int codetag_module_init(struct codetag_type *cttype, struct module *mod)
+{
+	struct codetag_range range;
+	struct codetag_module *cmod;
+	int err;
+
+	range = get_section_range(mod, cttype->desc.section);
+	if (!range.start || !range.stop) {
+		pr_warn("Failed to load code tags of type %s from the module %s\n",
+			cttype->desc.section,
+			mod ? mod->name : "(built-in)");
+		return -EINVAL;
+	}
+
+	/* Ignore empty ranges */
+	if (range.start == range.stop)
+		return 0;
+
+	BUG_ON(range.start > range.stop);
+
+	cmod = kmalloc(sizeof(*cmod), GFP_KERNEL);
+	if (unlikely(!cmod))
+		return -ENOMEM;
+
+	cmod->mod = mod;
+	cmod->range = range;
+
+	down_write(&cttype->mod_lock);
+	err = idr_alloc(&cttype->mod_idr, cmod, 0, 0, GFP_KERNEL);
+	if (err >= 0)
+		cttype->count += range_size(cttype, &range);
+	up_write(&cttype->mod_lock);
+
+	if (err < 0) {
+		kfree(cmod);
+		return err;
+	}
+
+	return 0;
+}
+
+struct codetag_type *
+codetag_register_type(const struct codetag_type_desc *desc)
+{
+	struct codetag_type *cttype;
+	int err;
+
+	BUG_ON(desc->tag_size <= 0);
+
+	cttype = kzalloc(sizeof(*cttype), GFP_KERNEL);
+	if (unlikely(!cttype))
+		return ERR_PTR(-ENOMEM);
+
+	cttype->desc = *desc;
+	idr_init(&cttype->mod_idr);
+	init_rwsem(&cttype->mod_lock);
+
+	err = codetag_module_init(cttype, NULL);
+	if (unlikely(err)) {
+		kfree(cttype);
+		return ERR_PTR(err);
+	}
+
+	mutex_lock(&codetag_lock);
+	list_add_tail(&cttype->link, &codetag_types);
+	mutex_unlock(&codetag_lock);
+
+	return cttype;
+}
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395169.634959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv6-0007rY-1p; Wed, 31 Aug 2022 05:05:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395169.634959; Wed, 31 Aug 2022 05:05:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv5-0007p5-RA; Wed, 31 Aug 2022 05:05:43 +0000
Received: by outflank-mailman (input) for mailman id 395169;
 Tue, 30 Aug 2022 21:49:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Hn4k=ZC=flex--surenb.bounces.google.com=37IUOYwYKCVEBDAx6uz77z4x.v75Gx6-wxEx441BCB.Gx68A72xvC.7Az@srs-se1.protection.inumbo.net>)
 id 1oT970-0008Cd-4d
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:34 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a1b604c0-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:49:33 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 x27-20020a25ac9b000000b0069140cfbbd9so712857ybi.8
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1b604c0-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=Ax7BfvJ0osMGjEtA73bq+7eMx40gLvPyn7aoZ5x/9O0=;
        b=hsapsq4Io1duD+oIcMKHPqjZY+p0l934IuKt6ADX53IxWDy+3W9yhUCc9UOoy72l+K
         yoi0pXSbPO5msleZdGZIvsV2cB7YSDfNeglHGW6FBm8CZZTN50YXVoQQqGyWu9X2u7pD
         k570L0pSRabwOW7Ke158CR88Up/9Z6lXEL30XT3S5u/I8ECd096CujeXPJFvz+9r3kgB
         qoVp6eGu0iY42VmNRszNeFxFF2vJTlL/2lnL0neCfdF+yMpw5RYl0YRjkEJWDOUcF8+F
         QxPQK5wJ7XQtmCBTueYp+wLoE89WGl4y+n7qUFebGmKhLaH9FtY63f9CwEVHHl+9VlmY
         tEOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=Ax7BfvJ0osMGjEtA73bq+7eMx40gLvPyn7aoZ5x/9O0=;
        b=q/gGfWl8D/oiRcwMNisHzg/gLEigFW/W1FF9kVREQBEt28S8jb4HGaVa4APJD6b8bK
         n6POhkB+MX7htGPhfTbhLLaZlE9JMUUkdlnhSe5JVvvH3zTezeWbTBF+4WtcMZ56YY2L
         FZz7JgLCxdsf5P0Mu9gKrEBWt/qZV+FJLs9BTS2AIS+8KDzNFL8RPY0ym7KUwtnGYBW+
         hT1Zq3Oy82EOmNfRvH7dXPn4+iLjJwXKizVpB+wlTM9v54OHnjK6rUJPC9OkbhHeJTP4
         dVY8f/fAoHOUxkbT6GGEkc8NmPuECQAiEXl57iAhi7pUkc4oy6mw3QJroCmIf3VR7ReJ
         QdnQ==
X-Gm-Message-State: ACgBeo2PD6q94SSDc2gVuhX2v2vu4k1lg8ohK553ZBcwQNjPibsw+0Ws
	vi7BQ0sDeFnRzo5iBIJ2PMG6704Akxg=
X-Google-Smtp-Source: AA6agR7hndW0to/mdEbktFYjBoW+FsmL/An39pt9gov0fVTaelPsArzlVK5iYkOr3o+674D1aZ8YbEGFrHU=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:3406:0:b0:69c:857b:7fd3 with SMTP id
 b6-20020a253406000000b0069c857b7fd3mr3099193yba.404.1661896172108; Tue, 30
 Aug 2022 14:49:32 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:52 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-4-surenb@google.com>
Subject: [RFC PATCH 03/30] Lazy percpu counters
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

This patch adds lib/lazy-percpu-counter.c, which implements counters
that start out as atomics, but lazily switch to percpu mode if the
update rate crosses some threshold (arbitrarily set at 256 per second).

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/lazy-percpu-counter.h |  67 +++++++++++++
 lib/Kconfig                         |   3 +
 lib/Makefile                        |   2 +
 lib/lazy-percpu-counter.c           | 141 ++++++++++++++++++++++++++++
 4 files changed, 213 insertions(+)
 create mode 100644 include/linux/lazy-percpu-counter.h
 create mode 100644 lib/lazy-percpu-counter.c

diff --git a/include/linux/lazy-percpu-counter.h b/include/linux/lazy-percpu-counter.h
new file mode 100644
index 000000000000..a22a2b9a9f32
--- /dev/null
+++ b/include/linux/lazy-percpu-counter.h
@@ -0,0 +1,67 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Lazy percpu counters:
+ * (C) 2022 Kent Overstreet
+ *
+ * Lazy percpu counters start out in atomic mode, then switch to percpu mode if
+ * the update rate crosses some threshold.
+ *
+ * This means we don't have to decide between low memory overhead atomic
+ * counters and higher performance percpu counters - we can have our cake and
+ * eat it, too!
+ *
+ * Internally we use an atomic64_t, where the low bit indicates whether we're in
+ * percpu mode, and the high 8 bits are a secondary counter that's incremented
+ * when the counter is modified - meaning 55 bits of precision are available for
+ * the counter itself.
+ *
+ * lazy_percpu_counter is 16 bytes (on 64 bit machines), raw_lazy_percpu_counter
+ * is 8 bytes but requires a separate unsigned long to record when the counter
+ * wraps - because sometimes multiple counters are used together and can share
+ * the same timestamp.
+ */
+
+#ifndef _LINUX_LAZY_PERCPU_COUNTER_H
+#define _LINUX_LAZY_PERCPU_COUNTER_H
+
+struct raw_lazy_percpu_counter {
+	atomic64_t			v;
+};
+
+void __lazy_percpu_counter_exit(struct raw_lazy_percpu_counter *c);
+void __lazy_percpu_counter_add(struct raw_lazy_percpu_counter *c,
+			       unsigned long *last_wrap, s64 i);
+s64 __lazy_percpu_counter_read(struct raw_lazy_percpu_counter *c);
+
+static inline void __lazy_percpu_counter_sub(struct raw_lazy_percpu_counter *c,
+					     unsigned long *last_wrap, s64 i)
+{
+	__lazy_percpu_counter_add(c, last_wrap, -i);
+}
+
+struct lazy_percpu_counter {
+	struct raw_lazy_percpu_counter	v;
+	unsigned long			last_wrap;
+};
+
+static inline void lazy_percpu_counter_exit(struct lazy_percpu_counter *c)
+{
+	__lazy_percpu_counter_exit(&c->v);
+}
+
+static inline void lazy_percpu_counter_add(struct lazy_percpu_counter *c, s64 i)
+{
+	__lazy_percpu_counter_add(&c->v, &c->last_wrap, i);
+}
+
+static inline void lazy_percpu_counter_sub(struct lazy_percpu_counter *c, s64 i)
+{
+	__lazy_percpu_counter_sub(&c->v, &c->last_wrap, i);
+}
+
+static inline s64 lazy_percpu_counter_read(struct lazy_percpu_counter *c)
+{
+	return __lazy_percpu_counter_read(&c->v);
+}
+
+#endif /* _LINUX_LAZY_PERCPU_COUNTER_H */
diff --git a/lib/Kconfig b/lib/Kconfig
index dc1ab2ed1dc6..fc6dbc425728 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -498,6 +498,9 @@ config ASSOCIATIVE_ARRAY
 
 	  for more information.
 
+config LAZY_PERCPU_COUNTER
+	bool
+
 config HAS_IOMEM
 	bool
 	depends on !NO_IOMEM
diff --git a/lib/Makefile b/lib/Makefile
index ffabc30a27d4..cc7762748708 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -163,6 +163,8 @@ obj-$(CONFIG_DEBUG_PREEMPT) += smp_processor_id.o
 obj-$(CONFIG_DEBUG_LIST) += list_debug.o
 obj-$(CONFIG_DEBUG_OBJECTS) += debugobjects.o
 
+obj-$(CONFIG_LAZY_PERCPU_COUNTER) += lazy-percpu-counter.o
+
 obj-$(CONFIG_BITREVERSE) += bitrev.o
 obj-$(CONFIG_LINEAR_RANGES) += linear_ranges.o
 obj-$(CONFIG_PACKING)	+= packing.o
diff --git a/lib/lazy-percpu-counter.c b/lib/lazy-percpu-counter.c
new file mode 100644
index 000000000000..299ef36137ee
--- /dev/null
+++ b/lib/lazy-percpu-counter.c
@@ -0,0 +1,141 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+#include <linux/atomic.h>
+#include <linux/gfp.h>
+#include <linux/jiffies.h>
+#include <linux/lazy-percpu-counter.h>
+#include <linux/percpu.h>
+
+/*
+ * We use the high bits of the atomic counter for a secondary counter, which is
+ * incremented every time the counter is touched. When the secondary counter
+ * wraps, we check the time the counter last wrapped, and if it was recent
+ * enough that means the update frequency has crossed our threshold and we
+ * switch to percpu mode:
+ */
+#define COUNTER_MOD_BITS		8
+#define COUNTER_MOD_MASK		~(~0ULL >> COUNTER_MOD_BITS)
+#define COUNTER_MOD_BITS_START		(64 - COUNTER_MOD_BITS)
+
+/*
+ * We use the low bit of the counter to indicate whether we're in atomic mode
+ * (low bit clear), or percpu mode (low bit set, counter is a pointer to actual
+ * percpu counters:
+ */
+#define COUNTER_IS_PCPU_BIT		1
+
+static inline u64 __percpu *lazy_percpu_counter_is_pcpu(u64 v)
+{
+	if (!(v & COUNTER_IS_PCPU_BIT))
+		return NULL;
+
+	v ^= COUNTER_IS_PCPU_BIT;
+	return (u64 __percpu *)(unsigned long)v;
+}
+
+static inline s64 lazy_percpu_counter_atomic_val(s64 v)
+{
+	/* Ensure output is sign extended properly: */
+	return (v << COUNTER_MOD_BITS) >>
+		(COUNTER_MOD_BITS + COUNTER_IS_PCPU_BIT);
+}
+
+static void lazy_percpu_counter_switch_to_pcpu(struct raw_lazy_percpu_counter *c)
+{
+	u64 __percpu *pcpu_v = alloc_percpu_gfp(u64, GFP_ATOMIC|__GFP_NOWARN);
+	u64 old, new, v;
+
+	if (!pcpu_v)
+		return;
+
+	preempt_disable();
+	v = atomic64_read(&c->v);
+	do {
+		if (lazy_percpu_counter_is_pcpu(v)) {
+			free_percpu(pcpu_v);
+			return;
+		}
+
+		old = v;
+		new = (unsigned long)pcpu_v | 1;
+
+		*this_cpu_ptr(pcpu_v) = lazy_percpu_counter_atomic_val(v);
+	} while ((v = atomic64_cmpxchg(&c->v, old, new)) != old);
+	preempt_enable();
+}
+
+/**
+ * __lazy_percpu_counter_exit: Free resources associated with a
+ * raw_lazy_percpu_counter
+ *
+ * @c: counter to exit
+ */
+void __lazy_percpu_counter_exit(struct raw_lazy_percpu_counter *c)
+{
+	free_percpu(lazy_percpu_counter_is_pcpu(atomic64_read(&c->v)));
+}
+EXPORT_SYMBOL_GPL(__lazy_percpu_counter_exit);
+
+/**
+ * __lazy_percpu_counter_read: Read current value of a raw_lazy_percpu_counter
+ *
+ * @c: counter to read
+ */
+s64 __lazy_percpu_counter_read(struct raw_lazy_percpu_counter *c)
+{
+	s64 v = atomic64_read(&c->v);
+	u64 __percpu *pcpu_v = lazy_percpu_counter_is_pcpu(v);
+
+	if (pcpu_v) {
+		int cpu;
+
+		v = 0;
+		for_each_possible_cpu(cpu)
+			v += *per_cpu_ptr(pcpu_v, cpu);
+	} else {
+		v = lazy_percpu_counter_atomic_val(v);
+	}
+
+	return v;
+}
+EXPORT_SYMBOL_GPL(__lazy_percpu_counter_read);
+
+/**
+ * __lazy_percpu_counter_add: Add a value to a lazy_percpu_counter
+ *
+ * @c: counter to modify
+ * @last_wrap: pointer to a timestamp, updated when mod counter wraps
+ * @i: value to add
+ */
+void __lazy_percpu_counter_add(struct raw_lazy_percpu_counter *c,
+			       unsigned long *last_wrap, s64 i)
+{
+	u64 atomic_i;
+	u64 old, v = atomic64_read(&c->v);
+	u64 __percpu *pcpu_v;
+
+	atomic_i  = i << COUNTER_IS_PCPU_BIT;
+	atomic_i &= ~COUNTER_MOD_MASK;
+	atomic_i |= 1ULL << COUNTER_MOD_BITS_START;
+
+	do {
+		pcpu_v = lazy_percpu_counter_is_pcpu(v);
+		if (pcpu_v) {
+			this_cpu_add(*pcpu_v, i);
+			return;
+		}
+
+		old = v;
+	} while ((v = atomic64_cmpxchg(&c->v, old, old + atomic_i)) != old);
+
+	if (unlikely(!(v & COUNTER_MOD_MASK))) {
+		unsigned long now = jiffies;
+
+		if (*last_wrap &&
+		    unlikely(time_after(*last_wrap + HZ, now)))
+			lazy_percpu_counter_switch_to_pcpu(c);
+		else
+			*last_wrap = now;
+	}
+}
+EXPORT_SYMBOL(__lazy_percpu_counter_add);
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395171.634969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv6-000818-JR; Wed, 31 Aug 2022 05:05:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395171.634969; Wed, 31 Aug 2022 05:05:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv6-0007yE-7k; Wed, 31 Aug 2022 05:05:44 +0000
Received: by outflank-mailman (input) for mailman id 395171;
 Tue, 30 Aug 2022 21:49:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uQxP=ZC=flex--surenb.bounces.google.com=37oUOYwYKCVMDFCz8w19916z.x97Iz8-yzGz663DED.Iz8AC94zxE.9C1@srs-se1.protection.inumbo.net>)
 id 1oT972-0008CX-I9
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:36 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a34913ca-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:49:35 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-33e1114437fso189328857b3.19
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a34913ca-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=Ximx3byfJ7rLtdPEIh1Ra0raz9MzgSTr/ga3ge5UvWM=;
        b=hlMw9ssXTclldlCaHPrcXJ+C8bd3xApn5Llhx/6gZpRfRlRJOwhqWghtr5RVB1LK2v
         8FfTzwl4OCrCjFuadtzRuPxbLUjQJudmMLjVKcB1W8L4nbh23VnBIJLeDBpv1hunXsFS
         TNZP/OkUwJBjRdLHnTFXsfbD3FCLleefIIXeH80z2Nq7UmGRffrhNJtzi3K0o37plX80
         MxuLJZry+KmCa87qIRicDj7F3K2/cxyGqrCNJyg48FflYe+16BIsOuCNrNLVMYU6qqtM
         jxbTTAqnCt+yOzPfECe6hBLshpNDmGjFaoiWgb1ccH/WG7XlQYWhlthKRprfEZxNn5xs
         7PgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=Ximx3byfJ7rLtdPEIh1Ra0raz9MzgSTr/ga3ge5UvWM=;
        b=X1agUhLrwf7PukrYRMbQ9/ZGNEYwRufDUTKPovibteWYfHLM4hGfdhQGUUiRSvk/ke
         POWTsraUJI1rxScrfZ/TITQHIlf+7Y0puc8alfQ3CsMEHcC3+++lyzwjamyi6KCsFl/7
         qrpa06BPCd8V7XEc8SRjn5/EKT+j0x/RW9WopsuDpnsctHEPWSGkmcBcyvVCSxAsMuvZ
         L2uSQk3+pl38tJTn2fELpE4DvMI3C/6BRMU5Q+EmblrtlhiOb78YRUKFNHdvEUtBIgpW
         MKapyoZgvjNbT6NTJcHoxM5hGYBcNuo42cPZgGeZwBE7Ou1BxUcBgsBA4gOwvGxqwwrh
         qnNw==
X-Gm-Message-State: ACgBeo2hfMeKISn5BKWM8tGh4TrRjgUBLV7k0pGQ1rG7VxkUUNF4kb5F
	EJ5Gp2VN3DdzMAx43tlvEfFxva5zzNU=
X-Google-Smtp-Source: AA6agR7neVKTaIOQpaQTJJtMxLoXgZYEqvCUk9V+fUBv2iEO9EJWDyjyjmM2UWOPn+DCBvrBJ11meMcGOpo=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a0d:d98c:0:b0:33d:c482:9714 with SMTP id
 b134-20020a0dd98c000000b0033dc4829714mr15776751ywe.415.1661896174717; Tue, 30
 Aug 2022 14:49:34 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:53 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-5-surenb@google.com>
Subject: [RFC PATCH 04/30] scripts/kallysms: Always include __start and __stop symbols
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

These symbols are used to denote section boundaries: by always including
them we can unify loading sections from modules with loading built-in
sections, which leads to some significant cleanup.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 scripts/kallsyms.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index f18e6dfc68c5..3d51639a595d 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -263,6 +263,11 @@ static int symbol_in_range(const struct sym_entry *s,
 	return 0;
 }
 
+static bool string_starts_with(const char *s, const char *prefix)
+{
+	return strncmp(s, prefix, strlen(prefix)) == 0;
+}
+
 static int symbol_valid(const struct sym_entry *s)
 {
 	const char *name = sym_name(s);
@@ -270,6 +275,14 @@ static int symbol_valid(const struct sym_entry *s)
 	/* if --all-symbols is not specified, then symbols outside the text
 	 * and inittext sections are discarded */
 	if (!all_symbols) {
+		/*
+		 * Symbols starting with __start and __stop are used to denote
+		 * section boundaries, and should always be included:
+		 */
+		if (string_starts_with(name, "__start_") ||
+		    string_starts_with(name, "__stop_"))
+			return 1;
+
 		if (symbol_in_range(s, text_ranges,
 				    ARRAY_SIZE(text_ranges)) == 0)
 			return 0;
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395177.634996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv8-00006v-DW; Wed, 31 Aug 2022 05:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395177.634996; Wed, 31 Aug 2022 05:05:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv8-0008VI-1E; Wed, 31 Aug 2022 05:05:46 +0000
Received: by outflank-mailman (input) for mailman id 395177;
 Tue, 30 Aug 2022 21:49:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xYAr=ZC=flex--surenb.bounces.google.com=39YUOYwYKCVoKMJ6F38GG8D6.4GEP6F-56N6DDAKLK.P6FHJGB64L.GJ8@srs-se1.protection.inumbo.net>)
 id 1oT97A-0008CX-4V
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:44 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7976804-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:49:43 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 d135-20020a25688d000000b0069578d248abso725945ybc.21
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7976804-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=v/Q5RZvHm0ms6516zJ+eaQEhTJBhgieG8iYB8LZreqU=;
        b=dSiwJ3rjpD9k+D3ejPNjLVoeg6kQsBAXkS5tHCQ4weDhFLA/IwvZ3Q8/4xxcyoMJ6e
         isFuqbINTHNxbJqZ7EEbgu9o53Xs56RjzRvuvf4eTeoYNkY9SG5lERFqePgEz5jBEIRg
         QvId775FjFECHp0OGiyatkPffLAyhQT41MfBQyoy2O41OqYeYbXsV3zL5yP1EhqhzEDG
         Ak4e/fA+4cROH7t1gmYSTnptvwHELHiW/qlFXek1xTxDu9n3XVI1sWuwSvdDGMPhmsh6
         FLJrfKaSpeVUrcOZuw1Sf/dHnHK+0uqWtXMcZsMOZh3YPgQfnsV4y3UN2W3I7st9KiwO
         9X+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=v/Q5RZvHm0ms6516zJ+eaQEhTJBhgieG8iYB8LZreqU=;
        b=n/9EWmf64QCohTL/H/PrzCSevLMnrg5u9Vthre1GS/SZpFkdnwDNWhFDU2XXJATUaV
         +90NPmU12ZeMujBoPqVP2pqpaoseLR4dDKp5n571KCqF+N3LdnK5xIZFYg33zpgbClMS
         uj5CJZ7OrTMSowgkNAW3tcXaTw2LnzlFDY/4NQjO6WJS6+XLy4pybGRqP0NmtxD1WAPw
         ykKJVmnPL1tEoPnHHuaO+y9IzCBMWdKG31F67l5o94NT/fAtUn6UER7Mu8z7U+ZqC4Za
         80VKKepNW9MF364h1jMyR8JxW+P7Et8mUF97wTPnRjQId/75KI6HpLSJMJFgvdaH1q0b
         knmQ==
X-Gm-Message-State: ACgBeo3GDiNpf5OPGRAd9T6yWt/9e/oTWxk4mED+OqB6JgnrdQH9Hnrv
	Fne4rf/CZ/E8duxYy6ayKk6hRnBPyYg=
X-Google-Smtp-Source: AA6agR5yxP3HtYw1/nnJdlitQAiJ4+t1NlijduSUdtY4FE0+dYeCh7gN+ZXU56IyxNeDRenvKE9hkSpDyvU=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:2586:0:b0:695:9529:c9a6 with SMTP id
 l128-20020a252586000000b006959529c9a6mr13158054ybl.591.1661896181976; Tue, 30
 Aug 2022 14:49:41 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:56 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-8-surenb@google.com>
Subject: [RFC PATCH 07/30] lib: add support for allocation tagging
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Introduce CONFIG_ALLOC_TAGGING which provides definitions to easily
instrument allocators. It also registers an "alloc_tags" codetag type
with defbugfs interface to output allocation tags information.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Co-developed-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/asm-generic/codetag.lds.h |  14 +++
 include/asm-generic/vmlinux.lds.h |   3 +
 include/linux/alloc_tag.h         |  66 +++++++++++++
 lib/Kconfig.debug                 |   5 +
 lib/Makefile                      |   2 +
 lib/alloc_tag.c                   | 158 ++++++++++++++++++++++++++++++
 scripts/module.lds.S              |   7 ++
 7 files changed, 255 insertions(+)
 create mode 100644 include/asm-generic/codetag.lds.h
 create mode 100644 include/linux/alloc_tag.h
 create mode 100644 lib/alloc_tag.c

diff --git a/include/asm-generic/codetag.lds.h b/include/asm-generic/codetag.lds.h
new file mode 100644
index 000000000000..64f536b80380
--- /dev/null
+++ b/include/asm-generic/codetag.lds.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_CODETAG_LDS_H
+#define __ASM_GENERIC_CODETAG_LDS_H
+
+#define SECTION_WITH_BOUNDARIES(_name)	\
+	. = ALIGN(8);			\
+	__start_##_name = .;		\
+	KEEP(*(_name))			\
+	__stop_##_name = .;
+
+#define CODETAG_SECTIONS()		\
+	SECTION_WITH_BOUNDARIES(alloc_tags)
+
+#endif /* __ASM_GENERIC_CODETAG_LDS_H */
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 7515a465ec03..c2dc2a59ab2e 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -50,6 +50,8 @@
  *               [__nosave_begin, __nosave_end] for the nosave data
  */
 
+#include <asm-generic/codetag.lds.h>
+
 #ifndef LOAD_OFFSET
 #define LOAD_OFFSET 0
 #endif
@@ -348,6 +350,7 @@
 	__start___dyndbg = .;						\
 	KEEP(*(__dyndbg))						\
 	__stop___dyndbg = .;						\
+	CODETAG_SECTIONS()						\
 	LIKELY_PROFILE()		       				\
 	BRANCH_PROFILE()						\
 	TRACE_PRINTKS()							\
diff --git a/include/linux/alloc_tag.h b/include/linux/alloc_tag.h
new file mode 100644
index 000000000000..b3f589afb1c9
--- /dev/null
+++ b/include/linux/alloc_tag.h
@@ -0,0 +1,66 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * allocation tagging
+ */
+#ifndef _LINUX_ALLOC_TAG_H
+#define _LINUX_ALLOC_TAG_H
+
+#include <linux/bug.h>
+#include <linux/codetag.h>
+#include <linux/container_of.h>
+#include <linux/lazy-percpu-counter.h>
+
+/*
+ * An instance of this structure is created in a special ELF section at every
+ * allocation callsite. At runtime, the special section is treated as
+ * an array of these. Embedded codetag utilizes codetag framework.
+ */
+struct alloc_tag {
+	struct codetag			ct;
+	unsigned long			last_wrap;
+	struct raw_lazy_percpu_counter	call_count;
+	struct raw_lazy_percpu_counter	bytes_allocated;
+} __aligned(8);
+
+static inline struct alloc_tag *ct_to_alloc_tag(struct codetag *ct)
+{
+	return container_of(ct, struct alloc_tag, ct);
+}
+
+#define DEFINE_ALLOC_TAG(_alloc_tag)					\
+	static struct alloc_tag _alloc_tag __used __aligned(8)		\
+	__section("alloc_tags") = { .ct = CODE_TAG_INIT }
+
+#define alloc_tag_counter_read(counter)					\
+	__lazy_percpu_counter_read(counter)
+
+static inline void __alloc_tag_sub(union codetag_ref *ref, size_t bytes)
+{
+	struct alloc_tag *tag = ct_to_alloc_tag(ref->ct);
+
+	__lazy_percpu_counter_add(&tag->call_count, &tag->last_wrap, -1);
+	__lazy_percpu_counter_add(&tag->bytes_allocated, &tag->last_wrap, -bytes);
+	ref->ct = NULL;
+}
+
+#define alloc_tag_sub(_ref, _bytes)					\
+do {									\
+	if ((_ref) && (_ref)->ct)					\
+		__alloc_tag_sub(_ref, _bytes);				\
+} while (0)
+
+static inline void __alloc_tag_add(struct alloc_tag *tag, union codetag_ref *ref, size_t bytes)
+{
+	ref->ct = &tag->ct;
+	__lazy_percpu_counter_add(&tag->call_count, &tag->last_wrap, 1);
+	__lazy_percpu_counter_add(&tag->bytes_allocated, &tag->last_wrap, bytes);
+}
+
+#define alloc_tag_add(_ref, _bytes)					\
+do {									\
+	DEFINE_ALLOC_TAG(_alloc_tag);					\
+	if (_ref && !WARN_ONCE(_ref->ct, "alloc_tag was not cleared"))	\
+		__alloc_tag_add(&_alloc_tag, _ref, _bytes);		\
+} while (0)
+
+#endif /* _LINUX_ALLOC_TAG_H */
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 22bc1eff7f8f..795bf6993f8a 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -973,6 +973,11 @@ config CODE_TAGGING
 	bool
 	select KALLSYMS
 
+config ALLOC_TAGGING
+	bool
+	select CODE_TAGGING
+	select LAZY_PERCPU_COUNTER
+
 source "lib/Kconfig.kasan"
 source "lib/Kconfig.kfence"
 
diff --git a/lib/Makefile b/lib/Makefile
index 574d7716e640..dc00533fc5c8 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -228,6 +228,8 @@ obj-$(CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT) += \
 obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
 
 obj-$(CONFIG_CODE_TAGGING) += codetag.o
+obj-$(CONFIG_ALLOC_TAGGING) += alloc_tag.o
+
 lib-$(CONFIG_GENERIC_BUG) += bug.o
 
 obj-$(CONFIG_HAVE_ARCH_TRACEHOOK) += syscall.o
diff --git a/lib/alloc_tag.c b/lib/alloc_tag.c
new file mode 100644
index 000000000000..082fbde184ef
--- /dev/null
+++ b/lib/alloc_tag.c
@@ -0,0 +1,158 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/alloc_tag.h>
+#include <linux/debugfs.h>
+#include <linux/fs.h>
+#include <linux/gfp.h>
+#include <linux/module.h>
+#include <linux/seq_buf.h>
+#include <linux/uaccess.h>
+
+#ifdef CONFIG_DEBUG_FS
+
+struct alloc_tag_file_iterator {
+	struct codetag_iterator ct_iter;
+	struct seq_buf		buf;
+	char			rawbuf[4096];
+};
+
+struct user_buf {
+	char __user		*buf;	/* destination user buffer */
+	size_t			size;	/* size of requested read */
+	ssize_t			ret;	/* bytes read so far */
+};
+
+static int flush_ubuf(struct user_buf *dst, struct seq_buf *src)
+{
+	if (src->len) {
+		size_t bytes = min_t(size_t, src->len, dst->size);
+		int err = copy_to_user(dst->buf, src->buffer, bytes);
+
+		if (err)
+			return err;
+
+		dst->ret	+= bytes;
+		dst->buf	+= bytes;
+		dst->size	-= bytes;
+		src->len	-= bytes;
+		memmove(src->buffer, src->buffer + bytes, src->len);
+	}
+
+	return 0;
+}
+
+static int alloc_tag_file_open(struct inode *inode, struct file *file)
+{
+	struct codetag_type *cttype = inode->i_private;
+	struct alloc_tag_file_iterator *iter;
+
+	iter = kzalloc(sizeof(*iter), GFP_KERNEL);
+	if (!iter)
+		return -ENOMEM;
+
+	codetag_lock_module_list(cttype, true);
+	iter->ct_iter = codetag_get_ct_iter(cttype);
+	codetag_lock_module_list(cttype, false);
+	seq_buf_init(&iter->buf, iter->rawbuf, sizeof(iter->rawbuf));
+	file->private_data = iter;
+
+	return 0;
+}
+
+static int alloc_tag_file_release(struct inode *inode, struct file *file)
+{
+	struct alloc_tag_file_iterator *iter = file->private_data;
+
+	kfree(iter);
+	return 0;
+}
+
+static void alloc_tag_to_text(struct seq_buf *out, struct codetag *ct)
+{
+	struct alloc_tag *tag = ct_to_alloc_tag(ct);
+	char buf[10];
+
+	string_get_size(alloc_tag_counter_read(&tag->bytes_allocated), 1,
+			STRING_UNITS_2, buf, sizeof(buf));
+
+	seq_buf_printf(out, "%8s %8lld ", buf, alloc_tag_counter_read(&tag->call_count));
+	codetag_to_text(out, ct);
+	seq_buf_putc(out, '\n');
+}
+
+static ssize_t alloc_tag_file_read(struct file *file, char __user *ubuf,
+				   size_t size, loff_t *ppos)
+{
+	struct alloc_tag_file_iterator *iter = file->private_data;
+	struct user_buf	buf = { .buf = ubuf, .size = size };
+	struct codetag *ct;
+	int err = 0;
+
+	codetag_lock_module_list(iter->ct_iter.cttype, true);
+	while (1) {
+		err = flush_ubuf(&buf, &iter->buf);
+		if (err || !buf.size)
+			break;
+
+		ct = codetag_next_ct(&iter->ct_iter);
+		if (!ct)
+			break;
+
+		alloc_tag_to_text(&iter->buf, ct);
+	}
+	codetag_lock_module_list(iter->ct_iter.cttype, false);
+
+	return err ? : buf.ret;
+}
+
+static const struct file_operations alloc_tag_file_ops = {
+	.owner	= THIS_MODULE,
+	.open	= alloc_tag_file_open,
+	.release = alloc_tag_file_release,
+	.read	= alloc_tag_file_read,
+};
+
+static int dbgfs_init(struct codetag_type *cttype)
+{
+	struct dentry *file;
+
+	file = debugfs_create_file("alloc_tags", 0444, NULL, cttype,
+				   &alloc_tag_file_ops);
+
+	return IS_ERR(file) ? PTR_ERR(file) : 0;
+}
+
+#else /* CONFIG_DEBUG_FS */
+
+static int dbgfs_init(struct codetag_type *) { return 0; }
+
+#endif /* CONFIG_DEBUG_FS */
+
+static void alloc_tag_module_unload(struct codetag_type *cttype, struct codetag_module *cmod)
+{
+	struct codetag_iterator iter = codetag_get_ct_iter(cttype);
+	struct codetag *ct;
+
+	for (ct = codetag_next_ct(&iter); ct; ct = codetag_next_ct(&iter)) {
+		struct alloc_tag *tag = ct_to_alloc_tag(ct);
+
+		__lazy_percpu_counter_exit(&tag->call_count);
+		__lazy_percpu_counter_exit(&tag->bytes_allocated);
+	}
+}
+
+static int __init alloc_tag_init(void)
+{
+	struct codetag_type *cttype;
+	const struct codetag_type_desc desc = {
+		.section	= "alloc_tags",
+		.tag_size	= sizeof(struct alloc_tag),
+		.module_unload	= alloc_tag_module_unload,
+	};
+
+	cttype = codetag_register_type(&desc);
+	if (IS_ERR_OR_NULL(cttype))
+		return PTR_ERR(cttype);
+
+	return dbgfs_init(cttype);
+}
+module_init(alloc_tag_init);
diff --git a/scripts/module.lds.S b/scripts/module.lds.S
index 3a3aa2354ed8..e73a8781f239 100644
--- a/scripts/module.lds.S
+++ b/scripts/module.lds.S
@@ -12,6 +12,8 @@
 # define SANITIZER_DISCARDS
 #endif
 
+#include <asm-generic/codetag.lds.h>
+
 SECTIONS {
 	/DISCARD/ : {
 		*(.discard)
@@ -47,6 +49,7 @@ SECTIONS {
 	.data : {
 		*(.data .data.[0-9a-zA-Z_]*)
 		*(.data..L*)
+		CODETAG_SECTIONS()
 	}
 
 	.rodata : {
@@ -62,6 +65,10 @@ SECTIONS {
 		*(.text.__cfi_check)
 		*(.text .text.[0-9a-zA-Z_]* .text..L.cfi*)
 	}
+#else
+	.data : {
+		CODETAG_SECTIONS()
+	}
 #endif
 }
 
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395179.635002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv8-0000LS-Ut; Wed, 31 Aug 2022 05:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395179.635002; Wed, 31 Aug 2022 05:05:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv8-0000Hu-MC; Wed, 31 Aug 2022 05:05:46 +0000
Received: by outflank-mailman (input) for mailman id 395179;
 Tue, 30 Aug 2022 21:49:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2RAu=ZC=flex--surenb.bounces.google.com=3-IUOYwYKCV0NPM9I6BJJBG9.7JHS9I-89Q9GGDNON.S9IKMJE97O.JMB@srs-se1.protection.inumbo.net>)
 id 1oT97C-0008Cd-LC
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:46 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a93c329c-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:49:45 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-340c6cfc388so139162587b3.20
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a93c329c-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=6wmSIFSfHrn7NaG14r3E9vE6XZmoNzeOL4K0xpw9Sss=;
        b=U5dHm0ISPIOLMTxnmdJQWXA78Rd17S+5/1lv6jv1jaCvgl2EQMbJ9rsmgDNdrDNInX
         r6k/9wVO8+G1D9fLXaRbQ+fgsHGPVnRmhDau0Jf/al55Nd9kk7GQ20qWjTwu8vglhLE+
         3PiRhO95cWm0bgNaWlaQf68qN6Xl56a4Ea06ODeuAoBkBLBVNj2p2wKR1fVJamPhQROd
         m/J25psoHq4bGP+9+2UOdK5IJRKeT6PJER8/+rdWAJbYTakEyRla+xNdK6dgdf+KYmis
         CkIEz6UMG+Lc5WuSZw5HpKbNBdk17ykSRPGJ6mFMzPJalO+24uoHVv3eVDTzjtfYfPny
         H4fA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=6wmSIFSfHrn7NaG14r3E9vE6XZmoNzeOL4K0xpw9Sss=;
        b=vTTfOlXooNa8seEgOtiyczQ5qceJnmW9LtIHMUdN3Jcuii0s8/Z4JDxBB3wPH2dWkE
         HGkb9QB33dGljUJOvktufzuBq3PiZ+kAvxVrjHsEPFxyP9MsIgFCad5iAf58OhTymicH
         o+EGq32VgluoK6+Qp2CeJ1OVl2svA/RHOKB60n5MEvhJcVt2hsZf8otvEf/84aSeq24h
         /OFipC6vtsiLcoEuHZmoDx58baUT/UQZncW/79znkKyRo+hbRG/ZUrXp6CtI3W9tFx2A
         l0JWbAqxQbDh210thActrB4Jy5i2dYHhu4CLQBZgWWiYX2Wogw0jx2RzcQ5SconFCnN7
         D9BA==
X-Gm-Message-State: ACgBeo2o0iILYq2hfPNARaLK4K0sb6Tm1HrrXOXQT91MWZiTcyG2ePbT
	6UXBYi3mfP3MOIbnrPcNSQ0/JltKHBw=
X-Google-Smtp-Source: AA6agR7ZicVg+8FFu5BCSLxIsHS/72reGV/Sx3q1E28zgHvzeDh99UkhDovyJoKjdHzkG5X9TjhbL9HgAEQ=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a81:47c4:0:b0:341:2cab:a63c with SMTP id
 u187-20020a8147c4000000b003412caba63cmr8994715ywa.58.1661896184744; Tue, 30
 Aug 2022 14:49:44 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:57 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-9-surenb@google.com>
Subject: [RFC PATCH 08/30] lib: introduce page allocation tagging
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Introduce CONFIG_PAGE_ALLOC_TAGGING which provides helper functions to
easily instrument page allocators and adds a page_ext field to store a
pointer to the allocation tag associated with the code that allocated
the page.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Co-developed-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/pgalloc_tag.h | 28 ++++++++++++++++++++++++++++
 lib/Kconfig.debug           | 11 +++++++++++
 lib/Makefile                |  1 +
 lib/pgalloc_tag.c           | 22 ++++++++++++++++++++++
 mm/page_ext.c               |  6 ++++++
 5 files changed, 68 insertions(+)
 create mode 100644 include/linux/pgalloc_tag.h
 create mode 100644 lib/pgalloc_tag.c

diff --git a/include/linux/pgalloc_tag.h b/include/linux/pgalloc_tag.h
new file mode 100644
index 000000000000..f525abfe51d4
--- /dev/null
+++ b/include/linux/pgalloc_tag.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * page allocation tagging
+ */
+#ifndef _LINUX_PGALLOC_TAG_H
+#define _LINUX_PGALLOC_TAG_H
+
+#include <linux/alloc_tag.h>
+#include <linux/page_ext.h>
+
+extern struct page_ext_operations page_alloc_tagging_ops;
+struct page_ext *lookup_page_ext(const struct page *page);
+
+static inline union codetag_ref *get_page_tag_ref(struct page *page)
+{
+	struct page_ext *page_ext = lookup_page_ext(page);
+
+	return page_ext ? (void *)page_ext + page_alloc_tagging_ops.offset
+			: NULL;
+}
+
+static inline void pgalloc_tag_dec(struct page *page, unsigned int order)
+{
+	if (page)
+		alloc_tag_sub(get_page_tag_ref(page), PAGE_SIZE << order);
+}
+
+#endif /* _LINUX_PGALLOC_TAG_H */
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 795bf6993f8a..6686648843b3 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -978,6 +978,17 @@ config ALLOC_TAGGING
 	select CODE_TAGGING
 	select LAZY_PERCPU_COUNTER
 
+config PAGE_ALLOC_TAGGING
+	bool "Enable page allocation tagging"
+	default n
+	select ALLOC_TAGGING
+	select PAGE_EXTENSION
+	help
+	  Instrument page allocators to track allocation source code and
+	  collect statistics on the number of allocations and their total size
+	  initiated at that code location. The mechanism can be used to track
+	  memory leaks with a low performance impact.
+
 source "lib/Kconfig.kasan"
 source "lib/Kconfig.kfence"
 
diff --git a/lib/Makefile b/lib/Makefile
index dc00533fc5c8..99f732156673 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -229,6 +229,7 @@ obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
 
 obj-$(CONFIG_CODE_TAGGING) += codetag.o
 obj-$(CONFIG_ALLOC_TAGGING) += alloc_tag.o
+obj-$(CONFIG_PAGE_ALLOC_TAGGING) += pgalloc_tag.o
 
 lib-$(CONFIG_GENERIC_BUG) += bug.o
 
diff --git a/lib/pgalloc_tag.c b/lib/pgalloc_tag.c
new file mode 100644
index 000000000000..7d97372ca0df
--- /dev/null
+++ b/lib/pgalloc_tag.c
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/mm.h>
+#include <linux/module.h>
+#include <linux/pgalloc_tag.h>
+#include <linux/seq_file.h>
+
+static __init bool need_page_alloc_tagging(void)
+{
+	return true;
+}
+
+static __init void init_page_alloc_tagging(void)
+{
+}
+
+struct page_ext_operations page_alloc_tagging_ops = {
+	.size = sizeof(union codetag_ref),
+	.need = need_page_alloc_tagging,
+	.init = init_page_alloc_tagging,
+};
+EXPORT_SYMBOL(page_alloc_tagging_ops);
+
diff --git a/mm/page_ext.c b/mm/page_ext.c
index 3dc715d7ac29..a22f514ff4da 100644
--- a/mm/page_ext.c
+++ b/mm/page_ext.c
@@ -9,6 +9,7 @@
 #include <linux/page_owner.h>
 #include <linux/page_idle.h>
 #include <linux/page_table_check.h>
+#include <linux/pgalloc_tag.h>
 
 /*
  * struct page extension
@@ -76,6 +77,9 @@ static struct page_ext_operations *page_ext_ops[] __initdata = {
 #if defined(CONFIG_PAGE_IDLE_FLAG) && !defined(CONFIG_64BIT)
 	&page_idle_ops,
 #endif
+#ifdef CONFIG_PAGE_ALLOC_TAGGING
+	&page_alloc_tagging_ops,
+#endif
 #ifdef CONFIG_PAGE_TABLE_CHECK
 	&page_table_check_ops,
 #endif
@@ -152,6 +156,7 @@ struct page_ext *lookup_page_ext(const struct page *page)
 					MAX_ORDER_NR_PAGES);
 	return get_entry(base, index);
 }
+EXPORT_SYMBOL(lookup_page_ext);
 
 static int __init alloc_node_page_ext(int nid)
 {
@@ -221,6 +226,7 @@ struct page_ext *lookup_page_ext(const struct page *page)
 		return NULL;
 	return get_entry(section->page_ext, pfn);
 }
+EXPORT_SYMBOL(lookup_page_ext);
 
 static void *__meminit alloc_page_ext(size_t size, int nid)
 {
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395163.634942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv5-0007ZX-0N; Wed, 31 Aug 2022 05:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395163.634942; Wed, 31 Aug 2022 05:05:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv4-0007ZQ-SE; Wed, 31 Aug 2022 05:05:42 +0000
Received: by outflank-mailman (input) for mailman id 395163;
 Tue, 30 Aug 2022 21:49:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2bUK=ZC=flex--surenb.bounces.google.com=35IUOYwYKCUk352pymrzzrwp.nzx8py-op6pwwt343.8py02zupn4.z2r@srs-se1.protection.inumbo.net>)
 id 1oT96t-0008CX-EV
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:27 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9d406446-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:49:25 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-33f8988daecso180733297b3.12
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d406446-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:mime-version:date:from:to:cc;
        bh=1lX3k8bH6+3ighIlH+rh55fF9o5O4fyOugMRXdd7M+o=;
        b=TLaJItWbDQbvhKHzG038LNGm0CScYZSKmwQZZ5uimu3NF1cUdVRiMphTcTUfMFGxbA
         5MXDa00pC4jx1dox6rXbqMWBtWC4G64n3rtvQ9WFmciJtHtJLVCWET5Kdb7EyuzkVYPX
         i4J0Y6C4bz8XfJq1YpoTofkF51DS5zPKbupPaaT66wch8+NkTWL2E1S5s0ZkHIotLxVb
         lHmExQmnrBRVXZ4L6czz/14NhyHQZKxDWFmpYXVuNp5UTUZUPBV0MZqwCFaN6+K53hjG
         Et4iC4dnJNUgJmAGWozRlGh2FkpEq40YiSSTQfp1Q8IZTvSW9ersWg+tDXVZ8w+7HE/r
         XOYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state
         :from:to:cc;
        bh=1lX3k8bH6+3ighIlH+rh55fF9o5O4fyOugMRXdd7M+o=;
        b=187CK/R60xuaTW1ISV4Fp14/xC57/neI/yBS6tA2EzU01D9x2KSGpyzj1p2PsvbFwz
         5Twh9LHI14ayHulfHJtP32/ohMrLIcJOiUJj2WLpFOC/tBc27cFwZtvW0t172XbXoOQ3
         ZXj36WHlxh3cHEudVUvb5UsYxlvXoJgwpK27ijfLDV2f40W0JFXmbIXyVhUBoyKzVXJj
         Ct6aXoJIEH4aJtWa2ul9qWIGSwHd6cAl/76OOzbCeZAQM3rbmGTlpCAP3mgo7XiD3ubD
         br7xqOr6dw2n4x6lcCACAac+MbQrLuTgvo9QLJ8Y9WxciI9fznq0ZusVPXwHswC4gZ02
         YZdw==
X-Gm-Message-State: ACgBeo0isDHBG9p2f24+oWoCeF1NsqWtwW++fYm1+jgABlPdBBkVCP+w
	U2ksxC0HBBhZLuHye+0RONXxBqXpzBc=
X-Google-Smtp-Source: AA6agR5j08Skk81v71QmaDi/WT6bCECv+zqPYuRoUXIcSYHRwqbk8VPDDLd37sGsnmTNsd8iQzIrOAzDMtY=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a81:7992:0:b0:336:8015:4889 with SMTP id
 u140-20020a817992000000b0033680154889mr16036203ywc.80.1661896164558; Tue, 30
 Aug 2022 14:49:24 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:49 -0700
Mime-Version: 1.0
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-1-surenb@google.com>
Subject: [RFC PATCH 00/30] Code tagging framework and applications
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

===========================
Code tagging framework
===========================
Code tag is a structure identifying a specific location in the source code
which is generated at compile time and can be embedded in an application-
specific structure. Several applications of code tagging are included in
this RFC, such as memory allocation tracking, dynamic fault injection,
latency tracking and improved error code reporting.
Basically, it takes the old trick of "define a special elf section for
objects of a given type so that we can iterate over them at runtime" and
creates a proper library for it.

===========================
Memory allocation tracking
===========================
The goal for using codetags for memory allocation tracking is to minimize
performance and memory overhead. By recording only the call count and
allocation size, the required operations are kept at the minimum while
collecting statistics for every allocation in the codebase. With that
information, if users are interested in mode detailed context for a
specific allocation, they can enable more in-depth context tracking,
which includes capturing the pid, tgid, task name, allocation size,
timestamp and call stack for every allocation at the specified code
location.
Memory allocation tracking is implemented in two parts:

part1: instruments page and slab allocators to record call count and total
memory allocated at every allocation in the source code. Every time an
allocation is performed by an instrumented allocator, the codetag at that
location increments its call and size counters. Every time the memory is
freed these counters are decremented. To decrement the counters upon free,
allocated object needs a reference to its codetag. Page allocators use
page_ext to record this reference while slab allocators use memcg_data of
the slab page.
The data is exposed to the user space via a read-only debugfs file called
alloc_tags.

Usage example:

$ sort -hr /sys/kernel/debug/alloc_tags|head
  153MiB     8599 mm/slub.c:1826 module:slub func:alloc_slab_page
 6.08MiB      49 mm/slab_common.c:950 module:slab_common func:_kmalloc_order
 5.09MiB     6335 mm/memcontrol.c:2814 module:memcontrol func:alloc_slab_obj_exts
 4.54MiB      78 mm/page_alloc.c:5777 module:page_alloc func:alloc_pages_exact
 1.32MiB      338 include/asm-generic/pgalloc.h:63 module:pgtable func:__pte_alloc_one
 1.16MiB      603 fs/xfs/xfs_log_priv.h:700 module:xfs func:xlog_kvmalloc
 1.00MiB      256 mm/swap_cgroup.c:48 module:swap_cgroup func:swap_cgroup_prepare
  734KiB     5380 fs/xfs/kmem.c:20 module:xfs func:kmem_alloc
  640KiB      160 kernel/rcu/tree.c:3184 module:tree func:fill_page_cache_func
  640KiB      160 drivers/char/virtio_console.c:452 module:virtio_console func:alloc_buf

part2: adds support for the user to select a specific code location to capture
allocation context. A new debugfs file called alloc_tags.ctx is used to select
which code location should capture allocation context and to read captured
context information.

Usage example:

$ cd /sys/kernel/debug/
$ echo "file include/asm-generic/pgalloc.h line 63 enable" > alloc_tags.ctx
$ cat alloc_tags.ctx
  920KiB      230 include/asm-generic/pgalloc.h:63 module:pgtable func:__pte_alloc_one
    size: 4096
    pid: 1474
    tgid: 1474
    comm: bash
    ts: 175332940994
    call stack:
         pte_alloc_one+0xfe/0x130
         __pte_alloc+0x22/0xb0
         copy_page_range+0x842/0x1640
         dup_mm+0x42d/0x580
         copy_process+0xfb1/0x1ac0
         kernel_clone+0x92/0x3e0
         __do_sys_clone+0x66/0x90
         do_syscall_64+0x38/0x90
         entry_SYSCALL_64_after_hwframe+0x63/0xcd
...

NOTE: slab allocation tracking is not yet stable and has a leak that
shows up in long-running tests. We are working on fixing it and posting
the RFC early to collect some feedback and to have a reference code in
public before presenting the idea at LPC2022.

===========================
Dynamic fault injection
===========================
Dynamic fault injection lets you do fault injection with a single call
to dynamic_fault(), with a debugfs interface similar to dynamic_debug.

Calls to dynamic_fault are listed in debugfs and can be enabled at
runtime (oneshot mode or a defined frequency are also available). This
patch also uses the memory allocation wrapper macros introduced by the
memory allocation tracking patches to add distinct fault injection
points for every memory allocation in the kernel.

Example fault injection points, after hooking memory allocation paths:

  fs/xfs/libxfs/xfs_iext_tree.c:606 module:xfs func:xfs_iext_realloc_rootclass:memory disabled "
  fs/xfs/libxfs/xfs_inode_fork.c:503 module:xfs func:xfs_idata_reallocclass:memory disabled "
  fs/xfs/libxfs/xfs_inode_fork.c:399 module:xfs func:xfs_iroot_reallocclass:memory disabled "
  fs/xfs/xfs_buf.c:373 module:xfs func:xfs_buf_alloc_pagesclass:memory disabled "
  fs/xfs/xfs_iops.c:497 module:xfs func:xfs_vn_get_linkclass:memory disabled "
  fs/xfs/xfs_mount.c:85 module:xfs func:xfs_uuid_mountclass:memory disabled "

===========================
Latency tracking
===========================
This lets you instrument code for measuring latency with just two calls
to code_tag_time_stats_start() and code_tag_time_stats_finish(), and
makes statistics available in debugfs on a per-callsite basis.

Recorded statistics include total count, frequency/rate, average
duration, max duration, and event duration quantiles.

Additionally, this patch instruments prepare_to_wait() and finish_wait().

Example output:

  fs/xfs/xfs_extent_busy.c:589 module:xfs func:xfs_extent_busy_flush
  count:          61
  rate:           0/sec
  frequency:    19 sec
  avg duration:   632 us
  max duration:   2 ms
  quantiles (us): 274 288 288 296 296 296 296 336 336 336 336 336 336 336 336

===========================
Improved error codes
===========================
Ever waste hours trying to figure out which line of code from some
obscure module is returning you -EINVAL and nothing else?

What if we had... more error codes?

This patch adds ERR(), which returns a unique error code that is related
to the error code that passed to it: the original error code can be
recovered with error_class(), and errname() (as well as %pE) returns an
error string that includes the file and line number of the ERR() call.

Example output:

  VFS: Cannot open root device "sda" or unknown-block(8,0): error -EINVAL at fs/ext4/super.c:4387

===========================
Dynamic debug conversion to code tagging
===========================
There are several open coded implementations of the "define a special elf
section for objects and iterate" technique that should be converted to
code tagging. This series just converts dynamic debug; there are others
(multiple in ftrace, in particular) that should also be converted.

===========================

The patchset applies cleanly over Linux 6.0-rc3
The tree for testing is published at:
https://github.com/surenbaghdasaryan/linux/tree/alloc_tags_rfc

The structure of the patchset is:
- code tagging framework (patches 1-6)
- page allocation tracking (patches 7-10)
- slab allocation tracking (patch 11-16)
- allocation context capture (patch 17-21)
- dynamic fault injection (patch 22)
- latency tracking (patch 23-27)
- improved error codes (patch 28)
- dynamic debug conversion to code tagging (patch 29)
- MAINTAINERS update (patch 30)

Next steps:
- track and fix slab allocator leak mentioned earlier;
- instrument more allocators: vmalloc, per-cpu allocations, others?


Kent Overstreet (14):
  lib/string_helpers: Drop space in string_get_size's output
  Lazy percpu counters
  scripts/kallysms: Always include __start and __stop symbols
  lib/string.c: strsep_no_empty()
  codetag: add codetag query helper functions
  Code tagging based fault injection
  timekeeping: Add a missing include
  wait: Clean up waitqueue_entry initialization
  lib/time_stats: New library for statistics on events
  bcache: Convert to lib/time_stats
  Code tagging based latency tracking
  Improved symbolic error names
  dyndbg: Convert to code tagging
  MAINTAINERS: Add entries for code tagging & related

Suren Baghdasaryan (16):
  kernel/module: move find_kallsyms_symbol_value declaration
  lib: code tagging framework
  lib: code tagging module support
  lib: add support for allocation tagging
  lib: introduce page allocation tagging
  change alloc_pages name in dma_map_ops to avoid name conflicts
  mm: enable page allocation tagging for __get_free_pages and
    alloc_pages
  mm: introduce slabobj_ext to support slab object extensions
  mm: introduce __GFP_NO_OBJ_EXT flag to selectively prevent slabobj_ext
    creation
  mm/slab: introduce SLAB_NO_OBJ_EXT to avoid obj_ext creation
  mm: prevent slabobj_ext allocations for slabobj_ext and kmem_cache
    objects
  lib: introduce slab allocation tagging
  mm: enable slab allocation tagging for kmalloc and friends
  move stack capture functionality into a separate function for reuse
  lib: introduce support for storing code tag context
  lib: implement context capture support for page and slab allocators

 MAINTAINERS                         |  34 ++
 arch/x86/kernel/amd_gart_64.c       |   2 +-
 drivers/iommu/dma-iommu.c           |   2 +-
 drivers/md/bcache/Kconfig           |   1 +
 drivers/md/bcache/bcache.h          |   1 +
 drivers/md/bcache/bset.c            |   8 +-
 drivers/md/bcache/bset.h            |   1 +
 drivers/md/bcache/btree.c           |  12 +-
 drivers/md/bcache/super.c           |   3 +
 drivers/md/bcache/sysfs.c           |  43 ++-
 drivers/md/bcache/util.c            |  30 --
 drivers/md/bcache/util.h            |  57 ---
 drivers/xen/grant-dma-ops.c         |   2 +-
 drivers/xen/swiotlb-xen.c           |   2 +-
 include/asm-generic/codetag.lds.h   |  18 +
 include/asm-generic/vmlinux.lds.h   |   8 +-
 include/linux/alloc_tag.h           |  84 +++++
 include/linux/codetag.h             | 159 +++++++++
 include/linux/codetag_ctx.h         |  48 +++
 include/linux/codetag_time_stats.h  |  54 +++
 include/linux/dma-map-ops.h         |   2 +-
 include/linux/dynamic_debug.h       |  11 +-
 include/linux/dynamic_fault.h       |  79 +++++
 include/linux/err.h                 |   2 +-
 include/linux/errname.h             |  50 +++
 include/linux/gfp.h                 |  10 +-
 include/linux/gfp_types.h           |  12 +-
 include/linux/io_uring_types.h      |   2 +-
 include/linux/lazy-percpu-counter.h |  67 ++++
 include/linux/memcontrol.h          |  23 +-
 include/linux/module.h              |   1 +
 include/linux/page_ext.h            |   3 +-
 include/linux/pgalloc_tag.h         |  63 ++++
 include/linux/sbitmap.h             |   6 +-
 include/linux/sched.h               |   6 +-
 include/linux/slab.h                | 136 +++++---
 include/linux/slab_def.h            |   2 +-
 include/linux/slub_def.h            |   4 +-
 include/linux/stackdepot.h          |   3 +
 include/linux/string.h              |   1 +
 include/linux/time_stats.h          |  44 +++
 include/linux/timekeeping.h         |   1 +
 include/linux/wait.h                |  72 ++--
 include/linux/wait_bit.h            |   7 +-
 init/Kconfig                        |   5 +
 kernel/dma/mapping.c                |   4 +-
 kernel/module/internal.h            |   3 -
 kernel/module/main.c                |  27 +-
 kernel/sched/wait.c                 |  15 +-
 lib/Kconfig                         |   6 +
 lib/Kconfig.debug                   |  46 +++
 lib/Makefile                        |  10 +
 lib/alloc_tag.c                     | 391 +++++++++++++++++++++
 lib/codetag.c                       | 519 ++++++++++++++++++++++++++++
 lib/codetag_time_stats.c            | 143 ++++++++
 lib/dynamic_debug.c                 | 452 +++++++++---------------
 lib/dynamic_fault.c                 | 372 ++++++++++++++++++++
 lib/errname.c                       | 103 ++++++
 lib/lazy-percpu-counter.c           | 141 ++++++++
 lib/pgalloc_tag.c                   |  22 ++
 lib/stackdepot.c                    |  68 ++++
 lib/string.c                        |  19 +
 lib/string_helpers.c                |   3 +-
 lib/time_stats.c                    | 236 +++++++++++++
 mm/kfence/core.c                    |   2 +-
 mm/memcontrol.c                     |  62 ++--
 mm/mempolicy.c                      |   4 +-
 mm/page_alloc.c                     |  13 +-
 mm/page_ext.c                       |   6 +
 mm/page_owner.c                     |  54 +--
 mm/slab.c                           |   4 +-
 mm/slab.h                           | 125 ++++---
 mm/slab_common.c                    |  49 ++-
 mm/slob.c                           |   2 +
 mm/slub.c                           |   7 +-
 scripts/kallsyms.c                  |  13 +
 scripts/module.lds.S                |   7 +
 77 files changed, 3406 insertions(+), 703 deletions(-)
 create mode 100644 include/asm-generic/codetag.lds.h
 create mode 100644 include/linux/alloc_tag.h
 create mode 100644 include/linux/codetag.h
 create mode 100644 include/linux/codetag_ctx.h
 create mode 100644 include/linux/codetag_time_stats.h
 create mode 100644 include/linux/dynamic_fault.h
 create mode 100644 include/linux/lazy-percpu-counter.h
 create mode 100644 include/linux/pgalloc_tag.h
 create mode 100644 include/linux/time_stats.h
 create mode 100644 lib/alloc_tag.c
 create mode 100644 lib/codetag.c
 create mode 100644 lib/codetag_time_stats.c
 create mode 100644 lib/dynamic_fault.c
 create mode 100644 lib/lazy-percpu-counter.c
 create mode 100644 lib/pgalloc_tag.c
 create mode 100644 lib/time_stats.c

-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395183.635019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvA-0000eF-Au; Wed, 31 Aug 2022 05:05:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395183.635019; Wed, 31 Aug 2022 05:05:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv9-0000bi-Mt; Wed, 31 Aug 2022 05:05:47 +0000
Received: by outflank-mailman (input) for mailman id 395183;
 Tue, 30 Aug 2022 21:49:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tbd=ZC=flex--surenb.bounces.google.com=3_YUOYwYKCWISURENBGOOGLE.COMXEN-DEVELLISTS.XENPROJECT.ORG@srs-se1.protection.inumbo.net>)
 id 1oT97H-0008Cd-94
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:51 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac5a98d9-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:49:50 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-33dce8cae71so188549747b3.8
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac5a98d9-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=hT6Mz/zinVpRQBPKe7V7vUNm2EL+nNA0Rd6lje133es=;
        b=dfpyzvwd4Cc++xCQWq35JB0wJm+WrSSoxMENLy9aDfaWxkxM1OaMmDnm/vqeqmhqwU
         gZ74ppSfTAgF7SE3SqSoTv2aIM58r+Pz/1W9uwrKdGiDv7ewg2BuxbdnPUGh3CuiOCkA
         14w+GGgADDYFbMYHNlMxcXneiC4QjBwI/pjC3GHz1ttLv+1YSdBbrybMdEtkcC5CZ2yG
         0v6U9Ssq49CU9MEssaTVF8mmd1yQf+A9weRhrB49GBJc7iyJ1ibIQDHVBUxMDTeBzNZT
         89GZsPPyB1nT7HTWg+BylmuFWY1bglVPePrUwBMLPZc7q+nvTNhi0s23dmExUdbXdR5Y
         Cwww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=hT6Mz/zinVpRQBPKe7V7vUNm2EL+nNA0Rd6lje133es=;
        b=PX2GUKIYSAzNNbC2SE3FscIehlmsyYg9HAynh4l8Z82e0owON33YnsLsPrpTSSvoQS
         hY4Uuu8FgZPCOvNbxetA8d/z3MF6x9XHiVImplcolG7VUgkqkY5MTxGju2D0U6Eg1KXW
         kZluvAk7vay7VQVZgUcZICrZO3hJROdfNZfU1ZkniTDwHEU05kE8y6WJlRm2KJSJyL9M
         ZMlBRLjnaWrAUK7+WZHq2EYFPulgjZimNJ3et/+dXTAPuS4bQlG2F4C3svUAJ3IYl8Rk
         bACliuD23Rv90rTqEHcXIYvUtDtTqU62+lC3IhrLiLnldQzmd9edBg+kGTa+fW+39EZ0
         ruug==
X-Gm-Message-State: ACgBeo3vEbwEZE9ZXiuIxAt7vqpnZ+O5QW89z7alpO5/VUO9cgNjJXuP
	CdsqZY8D0UnyNKK92nGEi0wT3qRJ3OA=
X-Google-Smtp-Source: AA6agR6wiYlgc1y+Ddz6GZjAkBSlMmUIZ6hPk3nzcjnnuhPA77BDamNwQUPuwNWjTzLGCV8DDV21TdlLdak=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:cf0e:0:b0:696:42f1:3889 with SMTP id
 f14-20020a25cf0e000000b0069642f13889mr13000431ybg.175.1661896189937; Tue, 30
 Aug 2022 14:49:49 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:59 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-11-surenb@google.com>
Subject: [RFC PATCH 10/30] mm: enable page allocation tagging for
 __get_free_pages and alloc_pages
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Redefine alloc_pages, __get_free_pages to record allocations done by
these functions. Instrument deallocation hooks to record object freeing.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/gfp.h         | 10 +++++++---
 include/linux/page_ext.h    |  3 ++-
 include/linux/pgalloc_tag.h | 35 +++++++++++++++++++++++++++++++++++
 mm/mempolicy.c              |  4 ++--
 mm/page_alloc.c             | 13 ++++++++++---
 5 files changed, 56 insertions(+), 9 deletions(-)

diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index f314be58fa77..5cb950a49d40 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -6,6 +6,7 @@
 
 #include <linux/mmzone.h>
 #include <linux/topology.h>
+#include <linux/pgalloc_tag.h>
 
 struct vm_area_struct;
 
@@ -267,12 +268,12 @@ static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask,
 }
 
 #ifdef CONFIG_NUMA
-struct page *alloc_pages(gfp_t gfp, unsigned int order);
+struct page *_alloc_pages(gfp_t gfp, unsigned int order);
 struct folio *folio_alloc(gfp_t gfp, unsigned order);
 struct folio *vma_alloc_folio(gfp_t gfp, int order, struct vm_area_struct *vma,
 		unsigned long addr, bool hugepage);
 #else
-static inline struct page *alloc_pages(gfp_t gfp_mask, unsigned int order)
+static inline struct page *_alloc_pages(gfp_t gfp_mask, unsigned int order)
 {
 	return alloc_pages_node(numa_node_id(), gfp_mask, order);
 }
@@ -283,6 +284,7 @@ static inline struct folio *folio_alloc(gfp_t gfp, unsigned int order)
 #define vma_alloc_folio(gfp, order, vma, addr, hugepage)		\
 	folio_alloc(gfp, order)
 #endif
+#define alloc_pages(gfp, order) pgtag_alloc_pages(gfp, order)
 #define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0)
 static inline struct page *alloc_page_vma(gfp_t gfp,
 		struct vm_area_struct *vma, unsigned long addr)
@@ -292,7 +294,9 @@ static inline struct page *alloc_page_vma(gfp_t gfp,
 	return &folio->page;
 }
 
-extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order);
+extern unsigned long _get_free_pages(gfp_t gfp_mask, unsigned int order,
+				     struct page **ppage);
+#define __get_free_pages(gfp_mask, order) pgtag_get_free_pages(gfp_mask, order)
 extern unsigned long get_zeroed_page(gfp_t gfp_mask);
 
 void *alloc_pages_exact(size_t size, gfp_t gfp_mask) __alloc_size(1);
diff --git a/include/linux/page_ext.h b/include/linux/page_ext.h
index fabb2e1e087f..b26077110fb3 100644
--- a/include/linux/page_ext.h
+++ b/include/linux/page_ext.h
@@ -4,7 +4,6 @@
 
 #include <linux/types.h>
 #include <linux/stacktrace.h>
-#include <linux/stackdepot.h>
 
 struct pglist_data;
 struct page_ext_operations {
@@ -14,6 +13,8 @@ struct page_ext_operations {
 	void (*init)(void);
 };
 
+#include <linux/stackdepot.h>
+
 #ifdef CONFIG_PAGE_EXTENSION
 
 enum page_ext_flags {
diff --git a/include/linux/pgalloc_tag.h b/include/linux/pgalloc_tag.h
index f525abfe51d4..154ea7436fec 100644
--- a/include/linux/pgalloc_tag.h
+++ b/include/linux/pgalloc_tag.h
@@ -5,6 +5,8 @@
 #ifndef _LINUX_PGALLOC_TAG_H
 #define _LINUX_PGALLOC_TAG_H
 
+#ifdef CONFIG_PAGE_ALLOC_TAGGING
+
 #include <linux/alloc_tag.h>
 #include <linux/page_ext.h>
 
@@ -25,4 +27,37 @@ static inline void pgalloc_tag_dec(struct page *page, unsigned int order)
 		alloc_tag_sub(get_page_tag_ref(page), PAGE_SIZE << order);
 }
 
+/*
+ * Redefinitions of the common page allocators/destructors
+ */
+#define pgtag_alloc_pages(gfp, order)					\
+({									\
+	struct page *_page = _alloc_pages((gfp), (order));		\
+									\
+	if (_page)							\
+		alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
+	_page;								\
+})
+
+#define pgtag_get_free_pages(gfp_mask, order)				\
+({									\
+	struct page *_page;						\
+	unsigned long _res = _get_free_pages((gfp_mask), (order), &_page);\
+									\
+	if (_res)							\
+		alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
+	_res;								\
+})
+
+#else /* CONFIG_PAGE_ALLOC_TAGGING */
+
+#define pgtag_alloc_pages(gfp, order) _alloc_pages(gfp, order)
+
+#define pgtag_get_free_pages(gfp_mask, order) \
+	_get_free_pages((gfp_mask), (order), NULL)
+
+#define pgalloc_tag_dec(__page, __size)		do {} while (0)
+
+#endif /* CONFIG_PAGE_ALLOC_TAGGING */
+
 #endif /* _LINUX_PGALLOC_TAG_H */
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index b73d3248d976..f7e6d9564a49 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2249,7 +2249,7 @@ EXPORT_SYMBOL(vma_alloc_folio);
  * flags are used.
  * Return: The page on success or NULL if allocation fails.
  */
-struct page *alloc_pages(gfp_t gfp, unsigned order)
+struct page *_alloc_pages(gfp_t gfp, unsigned int order)
 {
 	struct mempolicy *pol = &default_policy;
 	struct page *page;
@@ -2273,7 +2273,7 @@ struct page *alloc_pages(gfp_t gfp, unsigned order)
 
 	return page;
 }
-EXPORT_SYMBOL(alloc_pages);
+EXPORT_SYMBOL(_alloc_pages);
 
 struct folio *folio_alloc(gfp_t gfp, unsigned order)
 {
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e5486d47406e..165daba19e2a 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -763,6 +763,7 @@ static inline bool pcp_allowed_order(unsigned int order)
 
 static inline void free_the_page(struct page *page, unsigned int order)
 {
+
 	if (pcp_allowed_order(order))		/* Via pcp? */
 		free_unref_page(page, order);
 	else
@@ -1120,6 +1121,8 @@ static inline void __free_one_page(struct page *page,
 	VM_BUG_ON_PAGE(pfn & ((1 << order) - 1), page);
 	VM_BUG_ON_PAGE(bad_range(zone, page), page);
 
+	pgalloc_tag_dec(page, order);
+
 	while (order < MAX_ORDER - 1) {
 		if (compaction_capture(capc, page, order, migratetype)) {
 			__mod_zone_freepage_state(zone, -(1 << order),
@@ -3440,6 +3443,7 @@ static void free_unref_page_commit(struct zone *zone, struct per_cpu_pages *pcp,
 	int pindex;
 	bool free_high;
 
+	pgalloc_tag_dec(page, order);
 	__count_vm_event(PGFREE);
 	pindex = order_to_pindex(migratetype, order);
 	list_add(&page->pcp_list, &pcp->lists[pindex]);
@@ -5557,16 +5561,19 @@ EXPORT_SYMBOL(__folio_alloc);
  * address cannot represent highmem pages. Use alloc_pages and then kmap if
  * you need to access high mem.
  */
-unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order)
+unsigned long _get_free_pages(gfp_t gfp_mask, unsigned int order,
+			      struct page **ppage)
 {
 	struct page *page;
 
-	page = alloc_pages(gfp_mask & ~__GFP_HIGHMEM, order);
+	page = _alloc_pages(gfp_mask & ~__GFP_HIGHMEM, order);
+	if (ppage)
+		*ppage = page;
 	if (!page)
 		return 0;
 	return (unsigned long) page_address(page);
 }
-EXPORT_SYMBOL(__get_free_pages);
+EXPORT_SYMBOL(_get_free_pages);
 
 unsigned long get_zeroed_page(gfp_t gfp_mask)
 {
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395181.635014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv9-0000Xc-Vn; Wed, 31 Aug 2022 05:05:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395181.635014; Wed, 31 Aug 2022 05:05:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFv9-0000SO-5Y; Wed, 31 Aug 2022 05:05:47 +0000
Received: by outflank-mailman (input) for mailman id 395181;
 Tue, 30 Aug 2022 21:49:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2e3B=ZC=flex--surenb.bounces.google.com=3-4UOYwYKCWAQSPCL9EMMEJC.AMKVCL-BCTCJJGQRQ.VCLNPMHCAR.MPE@srs-se1.protection.inumbo.net>)
 id 1oT97F-0008CX-9a
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:49 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aabece5c-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:49:48 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 k13-20020a056902024d00b0066fa7f50b97so709850ybs.6
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aabece5c-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=p8/y/nLBQm6IGi3iJX5wV5NMUkycPfOY4OR1rTeRfxQ=;
        b=eh/OQULFmIACthv18cWUl4oX11okytVSai6q8VzR+NAQKjUe//Iyb+nFKGGFut6bnz
         U9vNve6H/h3V8KtV1wUMGWZN/R3y/KwtIJWlz0MYZTJiIV/PhXncLGaXcxmIWasd49k4
         MzAfZ3MmPE/GrPk0xGglkpLQ6vp+JNN34VaaKbWMkI6l0blrObop9acuYIFl58Z8BCzL
         5fC4JT76yIwf+mLDK1SPTy1QXCq8FwZe3KmkNaoWIFZ0MNlEC2nHkf9R6kzo++VpnZeN
         5Whn6DE0IEl1BMPRxgM5XkxVMj4js15JxMerWLMdHXpHMsiFoGiwHoKTk4A6B15t/TFb
         q+Gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=p8/y/nLBQm6IGi3iJX5wV5NMUkycPfOY4OR1rTeRfxQ=;
        b=zIu1Gq4lf3gUUPONXrQOVYwPgxWGlwUIYmQu9ho5s1EIEsYOB06L9P4jw/7hXydd0C
         fVT+2iNa68Nf8fZcX3znGyGQNDTBVziY3EbD4gPQSKjFZJyeQG86d8YTGloMUjlUOyF6
         wclURbHqibt6fGQ5ARJVoPYxEm/c62onzc/ZlV5VszZm0FvFvBOk4wNERx8P5LEl/BBN
         XYTOierL0wczizmjrCDhfJYJ2Jrxv3OOu1XWktdAUebN5ZT0LIVZKsip32kMqcSXCvMa
         Cnl41kq46rpkUE8ixowDDbKAwDqMDlIap5MrGDUX3Gs3uxfzZO6JRj+IPO7P8JytUlrK
         kPuA==
X-Gm-Message-State: ACgBeo23n73NOSPhC8FzvO6r/zG3vg//MtT1zMMTFm38hp5ioPgDjHf1
	JlMVoPFrehyeQg35+0FCDsM94Ucy+gM=
X-Google-Smtp-Source: AA6agR5jbCGe1MArd8G7FNCgOj77g3iLznXqPzYSPJ0w7ptPLXk4tjPHYPeR1rNV3a/cmH1L2NtV8LKD3is=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:4d56:0:b0:69c:3d80:bb51 with SMTP id
 a83-20020a254d56000000b0069c3d80bb51mr6383765ybb.124.1661896187249; Tue, 30
 Aug 2022 14:49:47 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:48:58 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-10-surenb@google.com>
Subject: [RFC PATCH 09/30] change alloc_pages name in dma_map_ops to avoid
 name conflicts
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

After redefining alloc_pages, all uses of that name are being replaced.
Change the conflicting names to prevent preprocessor from replacing them
when it's not intended.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 arch/x86/kernel/amd_gart_64.c | 2 +-
 drivers/iommu/dma-iommu.c     | 2 +-
 drivers/xen/grant-dma-ops.c   | 2 +-
 drivers/xen/swiotlb-xen.c     | 2 +-
 include/linux/dma-map-ops.h   | 2 +-
 kernel/dma/mapping.c          | 4 ++--
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kernel/amd_gart_64.c b/arch/x86/kernel/amd_gart_64.c
index 194d54eed537..5e83a387bfef 100644
--- a/arch/x86/kernel/amd_gart_64.c
+++ b/arch/x86/kernel/amd_gart_64.c
@@ -676,7 +676,7 @@ static const struct dma_map_ops gart_dma_ops = {
 	.get_sgtable			= dma_common_get_sgtable,
 	.dma_supported			= dma_direct_supported,
 	.get_required_mask		= dma_direct_get_required_mask,
-	.alloc_pages			= dma_direct_alloc_pages,
+	.alloc_pages_op			= dma_direct_alloc_pages,
 	.free_pages			= dma_direct_free_pages,
 };
 
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index 17dd683b2fce..58b4878ef930 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -1547,7 +1547,7 @@ static const struct dma_map_ops iommu_dma_ops = {
 	.flags			= DMA_F_PCI_P2PDMA_SUPPORTED,
 	.alloc			= iommu_dma_alloc,
 	.free			= iommu_dma_free,
-	.alloc_pages		= dma_common_alloc_pages,
+	.alloc_pages_op		= dma_common_alloc_pages,
 	.free_pages		= dma_common_free_pages,
 	.alloc_noncontiguous	= iommu_dma_alloc_noncontiguous,
 	.free_noncontiguous	= iommu_dma_free_noncontiguous,
diff --git a/drivers/xen/grant-dma-ops.c b/drivers/xen/grant-dma-ops.c
index 8973fc1e9ccc..0e26d066036e 100644
--- a/drivers/xen/grant-dma-ops.c
+++ b/drivers/xen/grant-dma-ops.c
@@ -262,7 +262,7 @@ static int xen_grant_dma_supported(struct device *dev, u64 mask)
 static const struct dma_map_ops xen_grant_dma_ops = {
 	.alloc = xen_grant_dma_alloc,
 	.free = xen_grant_dma_free,
-	.alloc_pages = xen_grant_dma_alloc_pages,
+	.alloc_pages_op = xen_grant_dma_alloc_pages,
 	.free_pages = xen_grant_dma_free_pages,
 	.mmap = dma_common_mmap,
 	.get_sgtable = dma_common_get_sgtable,
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 67aa74d20162..5ab2616153f0 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -403,6 +403,6 @@ const struct dma_map_ops xen_swiotlb_dma_ops = {
 	.dma_supported = xen_swiotlb_dma_supported,
 	.mmap = dma_common_mmap,
 	.get_sgtable = dma_common_get_sgtable,
-	.alloc_pages = dma_common_alloc_pages,
+	.alloc_pages_op = dma_common_alloc_pages,
 	.free_pages = dma_common_free_pages,
 };
diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
index d678afeb8a13..e8e2d210ba68 100644
--- a/include/linux/dma-map-ops.h
+++ b/include/linux/dma-map-ops.h
@@ -27,7 +27,7 @@ struct dma_map_ops {
 			unsigned long attrs);
 	void (*free)(struct device *dev, size_t size, void *vaddr,
 			dma_addr_t dma_handle, unsigned long attrs);
-	struct page *(*alloc_pages)(struct device *dev, size_t size,
+	struct page *(*alloc_pages_op)(struct device *dev, size_t size,
 			dma_addr_t *dma_handle, enum dma_data_direction dir,
 			gfp_t gfp);
 	void (*free_pages)(struct device *dev, size_t size, struct page *vaddr,
diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
index 49cbf3e33de7..80a2bfeed8d0 100644
--- a/kernel/dma/mapping.c
+++ b/kernel/dma/mapping.c
@@ -552,9 +552,9 @@ static struct page *__dma_alloc_pages(struct device *dev, size_t size,
 	size = PAGE_ALIGN(size);
 	if (dma_alloc_direct(dev, ops))
 		return dma_direct_alloc_pages(dev, size, dma_handle, dir, gfp);
-	if (!ops->alloc_pages)
+	if (!ops->alloc_pages_op)
 		return NULL;
-	return ops->alloc_pages(dev, size, dma_handle, dir, gfp);
+	return ops->alloc_pages_op(dev, size, dma_handle, dir, gfp);
 }
 
 struct page *dma_alloc_pages(struct device *dev, size_t size,
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395185.635036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvC-00014i-88; Wed, 31 Aug 2022 05:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395185.635036; Wed, 31 Aug 2022 05:05:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvB-0000z1-1c; Wed, 31 Aug 2022 05:05:49 +0000
Received: by outflank-mailman (input) for mailman id 395185;
 Tue, 30 Aug 2022 21:49:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kK/+=ZC=flex--surenb.bounces.google.com=3AIYOYwYKCWUVXUHQEJRRJOH.FRPaHQ-GHYHOOLVWV.aHQSURMHFW.RUJ@srs-se1.protection.inumbo.net>)
 id 1oT97L-0008CX-6j
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:55 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae08141f-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:49:54 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-340a4dcb403so168762707b3.22
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae08141f-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=QL3vDW0G0EAkws93GOiItwEQTSZQKKs2lme2XWPOm88=;
        b=q6gqHWNQeXDhAVOtfKS2jwuMe1Ivg0lKJX/fMDL1vUMhAassB9mHwvnpQh1WMVGm+o
         wuVsa+cCW5oNsObXqY67nrhecsa30nwljncbAEXhpniEWz54/04oCNvdTSDux54cMFAE
         4nhyqFnO9NYfs/n3dbSM7vYghvS7v91FyklTtChN8Epl4LhkkowH7ng1Yu5Rlr+D4oBe
         saaovWlzUEOrepTUgFJ4YjWeFoI8FhkeHo7862NM79a9vsK0GODb/N8fXYZG0KDHFyUH
         lOmNzvZIwEM4nHvKASmMHhgHoOrOUGgI5MKkn55Hfv++9R4FcwKbaSCkvPthI2sWTbpi
         N5LQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=QL3vDW0G0EAkws93GOiItwEQTSZQKKs2lme2XWPOm88=;
        b=odQlppnsbIb/qbLioRk/MVQJ1R8Mx+aZDb8aT6fNXipOnst1To0sYM5bLW2j9IALrg
         G8UgtIAiHOJqbCIc4H2TznREYqNnVt4FLcBtTPtTyfK5JYBx2nskbsvmbHsR8/bvA7B9
         ZbRcreQE4bhhWuPk1YuZWw7No/pnbg9/jRy182to31yuFSzI8PnMu+a1ZShC9LJthL6Q
         gNTFb5BVOVStvo5Kbmei5jJu07AcNZn/qT74hqCppXumT1JTJ62G0ZbkAzQ/W6nF0pTl
         xS+IwO69HyYX0k3wV+z39MKhKeSMInI65fAtbLer/ZaX/z1BfdANNpZw9jZ5oaM7SDIs
         Ffaw==
X-Gm-Message-State: ACgBeo3CbE2YHlwz3W5oPSmN1rWlsYnu4cWVIaNlV7/AK77/1JFBldkD
	iYDZlDzu5eVktdEdh3HTKORTA7XJMLA=
X-Google-Smtp-Source: AA6agR7DyMkyo2dvlOLM5oLxyv9VlOWNhVJhl4Sbj9IzVf2sqsZYQJSX/JL7zRsUtBJ8DZwLwhom1mMOXNE=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:8402:0:b0:696:42c8:c561 with SMTP id
 u2-20020a258402000000b0069642c8c561mr13648632ybk.435.1661896192809; Tue, 30
 Aug 2022 14:49:52 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:00 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-12-surenb@google.com>
Subject: [RFC PATCH 11/30] mm: introduce slabobj_ext to support slab object extensions
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Currently slab pages can store only vectors of obj_cgroup pointers in
page->memcg_data. Introduce slabobj_ext structure to allow more data
to be stored for each slab object. Wraps obj_cgroup into slabobj_ext
to support current functionality while allowing to extend slabobj_ext
in the future.

Note: ideally the config dependency should be turned the other way around:
MEMCG should depend on SLAB_OBJ_EXT and {page|slab|folio}.memcg_data would
be renamed to something like {page|slab|folio}.objext_data. However doing
this in RFC would introduce considerable churn unrelated to the overall
idea, so avoiding this until v1.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/memcontrol.h |  18 ++++--
 init/Kconfig               |   5 ++
 mm/kfence/core.c           |   2 +-
 mm/memcontrol.c            |  60 ++++++++++---------
 mm/page_owner.c            |   2 +-
 mm/slab.h                  | 119 +++++++++++++++++++++++++------------
 6 files changed, 131 insertions(+), 75 deletions(-)

diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index 6257867fbf95..315399f77173 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -227,6 +227,14 @@ struct obj_cgroup {
 	};
 };
 
+/*
+ * Extended information for slab objects stored as an array in page->memcg_data
+ * if MEMCG_DATA_OBJEXTS is set.
+ */
+struct slabobj_ext {
+	struct obj_cgroup *objcg;
+} __aligned(8);
+
 /*
  * The memory controller data structure. The memory controller controls both
  * page cache and RSS per cgroup. We would eventually like to provide
@@ -363,7 +371,7 @@ extern struct mem_cgroup *root_mem_cgroup;
 
 enum page_memcg_data_flags {
 	/* page->memcg_data is a pointer to an objcgs vector */
-	MEMCG_DATA_OBJCGS = (1UL << 0),
+	MEMCG_DATA_OBJEXTS = (1UL << 0),
 	/* page has been accounted as a non-slab kernel page */
 	MEMCG_DATA_KMEM = (1UL << 1),
 	/* the next bit after the last actual flag */
@@ -401,7 +409,7 @@ static inline struct mem_cgroup *__folio_memcg(struct folio *folio)
 	unsigned long memcg_data = folio->memcg_data;
 
 	VM_BUG_ON_FOLIO(folio_test_slab(folio), folio);
-	VM_BUG_ON_FOLIO(memcg_data & MEMCG_DATA_OBJCGS, folio);
+	VM_BUG_ON_FOLIO(memcg_data & MEMCG_DATA_OBJEXTS, folio);
 	VM_BUG_ON_FOLIO(memcg_data & MEMCG_DATA_KMEM, folio);
 
 	return (struct mem_cgroup *)(memcg_data & ~MEMCG_DATA_FLAGS_MASK);
@@ -422,7 +430,7 @@ static inline struct obj_cgroup *__folio_objcg(struct folio *folio)
 	unsigned long memcg_data = folio->memcg_data;
 
 	VM_BUG_ON_FOLIO(folio_test_slab(folio), folio);
-	VM_BUG_ON_FOLIO(memcg_data & MEMCG_DATA_OBJCGS, folio);
+	VM_BUG_ON_FOLIO(memcg_data & MEMCG_DATA_OBJEXTS, folio);
 	VM_BUG_ON_FOLIO(!(memcg_data & MEMCG_DATA_KMEM), folio);
 
 	return (struct obj_cgroup *)(memcg_data & ~MEMCG_DATA_FLAGS_MASK);
@@ -517,7 +525,7 @@ static inline struct mem_cgroup *page_memcg_check(struct page *page)
 	 */
 	unsigned long memcg_data = READ_ONCE(page->memcg_data);
 
-	if (memcg_data & MEMCG_DATA_OBJCGS)
+	if (memcg_data & MEMCG_DATA_OBJEXTS)
 		return NULL;
 
 	if (memcg_data & MEMCG_DATA_KMEM) {
@@ -556,7 +564,7 @@ static inline struct mem_cgroup *get_mem_cgroup_from_objcg(struct obj_cgroup *ob
 static inline bool folio_memcg_kmem(struct folio *folio)
 {
 	VM_BUG_ON_PGFLAGS(PageTail(&folio->page), &folio->page);
-	VM_BUG_ON_FOLIO(folio->memcg_data & MEMCG_DATA_OBJCGS, folio);
+	VM_BUG_ON_FOLIO(folio->memcg_data & MEMCG_DATA_OBJEXTS, folio);
 	return folio->memcg_data & MEMCG_DATA_KMEM;
 }
 
diff --git a/init/Kconfig b/init/Kconfig
index 532362fcfe31..82396d7a2717 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -958,6 +958,10 @@ config MEMCG
 	help
 	  Provides control over the memory footprint of tasks in a cgroup.
 
+config SLAB_OBJ_EXT
+	bool
+	depends on MEMCG
+
 config MEMCG_SWAP
 	bool
 	depends on MEMCG && SWAP
@@ -966,6 +970,7 @@ config MEMCG_SWAP
 config MEMCG_KMEM
 	bool
 	depends on MEMCG && !SLOB
+	select SLAB_OBJ_EXT
 	default y
 
 config BLK_CGROUP
diff --git a/mm/kfence/core.c b/mm/kfence/core.c
index c252081b11df..c0958e4a32e2 100644
--- a/mm/kfence/core.c
+++ b/mm/kfence/core.c
@@ -569,7 +569,7 @@ static unsigned long kfence_init_pool(void)
 		__folio_set_slab(slab_folio(slab));
 #ifdef CONFIG_MEMCG
 		slab->memcg_data = (unsigned long)&kfence_metadata[i / 2 - 1].objcg |
-				   MEMCG_DATA_OBJCGS;
+				   MEMCG_DATA_OBJEXTS;
 #endif
 	}
 
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index b69979c9ced5..3f407ef2f3f1 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2793,7 +2793,7 @@ static void commit_charge(struct folio *folio, struct mem_cgroup *memcg)
 	folio->memcg_data = (unsigned long)memcg;
 }
 
-#ifdef CONFIG_MEMCG_KMEM
+#ifdef CONFIG_SLAB_OBJ_EXT
 /*
  * The allocated objcg pointers array is not accounted directly.
  * Moreover, it should not come from DMA buffer and is not readily
@@ -2801,38 +2801,20 @@ static void commit_charge(struct folio *folio, struct mem_cgroup *memcg)
  */
 #define OBJCGS_CLEAR_MASK	(__GFP_DMA | __GFP_RECLAIMABLE | __GFP_ACCOUNT)
 
-/*
- * mod_objcg_mlstate() may be called with irq enabled, so
- * mod_memcg_lruvec_state() should be used.
- */
-static inline void mod_objcg_mlstate(struct obj_cgroup *objcg,
-				     struct pglist_data *pgdat,
-				     enum node_stat_item idx, int nr)
-{
-	struct mem_cgroup *memcg;
-	struct lruvec *lruvec;
-
-	rcu_read_lock();
-	memcg = obj_cgroup_memcg(objcg);
-	lruvec = mem_cgroup_lruvec(memcg, pgdat);
-	mod_memcg_lruvec_state(lruvec, idx, nr);
-	rcu_read_unlock();
-}
-
-int memcg_alloc_slab_cgroups(struct slab *slab, struct kmem_cache *s,
-				 gfp_t gfp, bool new_slab)
+int alloc_slab_obj_exts(struct slab *slab, struct kmem_cache *s,
+			gfp_t gfp, bool new_slab)
 {
 	unsigned int objects = objs_per_slab(s, slab);
 	unsigned long memcg_data;
 	void *vec;
 
 	gfp &= ~OBJCGS_CLEAR_MASK;
-	vec = kcalloc_node(objects, sizeof(struct obj_cgroup *), gfp,
+	vec = kcalloc_node(objects, sizeof(struct slabobj_ext), gfp,
 			   slab_nid(slab));
 	if (!vec)
 		return -ENOMEM;
 
-	memcg_data = (unsigned long) vec | MEMCG_DATA_OBJCGS;
+	memcg_data = (unsigned long) vec | MEMCG_DATA_OBJEXTS;
 	if (new_slab) {
 		/*
 		 * If the slab is brand new and nobody can yet access its
@@ -2843,7 +2825,7 @@ int memcg_alloc_slab_cgroups(struct slab *slab, struct kmem_cache *s,
 	} else if (cmpxchg(&slab->memcg_data, 0, memcg_data)) {
 		/*
 		 * If the slab is already in use, somebody can allocate and
-		 * assign obj_cgroups in parallel. In this case the existing
+		 * assign slabobj_exts in parallel. In this case the existing
 		 * objcg vector should be reused.
 		 */
 		kfree(vec);
@@ -2853,6 +2835,26 @@ int memcg_alloc_slab_cgroups(struct slab *slab, struct kmem_cache *s,
 	kmemleak_not_leak(vec);
 	return 0;
 }
+#endif /* CONFIG_SLAB_OBJ_EXT */
+
+#ifdef CONFIG_MEMCG_KMEM
+/*
+ * mod_objcg_mlstate() may be called with irq enabled, so
+ * mod_memcg_lruvec_state() should be used.
+ */
+static inline void mod_objcg_mlstate(struct obj_cgroup *objcg,
+				     struct pglist_data *pgdat,
+				     enum node_stat_item idx, int nr)
+{
+	struct mem_cgroup *memcg;
+	struct lruvec *lruvec;
+
+	rcu_read_lock();
+	memcg = obj_cgroup_memcg(objcg);
+	lruvec = mem_cgroup_lruvec(memcg, pgdat);
+	mod_memcg_lruvec_state(lruvec, idx, nr);
+	rcu_read_unlock();
+}
 
 static __always_inline
 struct mem_cgroup *mem_cgroup_from_obj_folio(struct folio *folio, void *p)
@@ -2863,18 +2865,18 @@ struct mem_cgroup *mem_cgroup_from_obj_folio(struct folio *folio, void *p)
 	 * slab->memcg_data.
 	 */
 	if (folio_test_slab(folio)) {
-		struct obj_cgroup **objcgs;
+		struct slabobj_ext *obj_exts;
 		struct slab *slab;
 		unsigned int off;
 
 		slab = folio_slab(folio);
-		objcgs = slab_objcgs(slab);
-		if (!objcgs)
+		obj_exts = slab_obj_exts(slab);
+		if (!obj_exts)
 			return NULL;
 
 		off = obj_to_index(slab->slab_cache, slab, p);
-		if (objcgs[off])
-			return obj_cgroup_memcg(objcgs[off]);
+		if (obj_exts[off].objcg)
+			return obj_cgroup_memcg(obj_exts[off].objcg);
 
 		return NULL;
 	}
diff --git a/mm/page_owner.c b/mm/page_owner.c
index e4c6f3f1695b..fd4af1ad34b8 100644
--- a/mm/page_owner.c
+++ b/mm/page_owner.c
@@ -353,7 +353,7 @@ static inline int print_page_owner_memcg(char *kbuf, size_t count, int ret,
 	if (!memcg_data)
 		goto out_unlock;
 
-	if (memcg_data & MEMCG_DATA_OBJCGS)
+	if (memcg_data & MEMCG_DATA_OBJEXTS)
 		ret += scnprintf(kbuf + ret, count - ret,
 				"Slab cache page\n");
 
diff --git a/mm/slab.h b/mm/slab.h
index 4ec82bec15ec..c767ce3f0fe2 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -422,36 +422,94 @@ static inline bool kmem_cache_debug_flags(struct kmem_cache *s, slab_flags_t fla
 	return false;
 }
 
+#ifdef CONFIG_SLAB_OBJ_EXT
+
+static inline bool is_kmem_only_obj_ext(void)
+{
 #ifdef CONFIG_MEMCG_KMEM
+	return sizeof(struct slabobj_ext) == sizeof(struct obj_cgroup *);
+#else
+	return false;
+#endif
+}
+
 /*
- * slab_objcgs - get the object cgroups vector associated with a slab
+ * slab_obj_exts - get the pointer to the slab object extension vector
+ * associated with a slab.
  * @slab: a pointer to the slab struct
  *
- * Returns a pointer to the object cgroups vector associated with the slab,
+ * Returns a pointer to the object extension vector associated with the slab,
  * or NULL if no such vector has been associated yet.
  */
-static inline struct obj_cgroup **slab_objcgs(struct slab *slab)
+static inline struct slabobj_ext *slab_obj_exts(struct slab *slab)
 {
 	unsigned long memcg_data = READ_ONCE(slab->memcg_data);
 
-	VM_BUG_ON_PAGE(memcg_data && !(memcg_data & MEMCG_DATA_OBJCGS),
+	VM_BUG_ON_PAGE(memcg_data && !(memcg_data & MEMCG_DATA_OBJEXTS),
 							slab_page(slab));
 	VM_BUG_ON_PAGE(memcg_data & MEMCG_DATA_KMEM, slab_page(slab));
 
-	return (struct obj_cgroup **)(memcg_data & ~MEMCG_DATA_FLAGS_MASK);
+	return (struct slabobj_ext *)(memcg_data & ~MEMCG_DATA_FLAGS_MASK);
 }
 
-int memcg_alloc_slab_cgroups(struct slab *slab, struct kmem_cache *s,
-				 gfp_t gfp, bool new_slab);
-void mod_objcg_state(struct obj_cgroup *objcg, struct pglist_data *pgdat,
-		     enum node_stat_item idx, int nr);
+int alloc_slab_obj_exts(struct slab *slab, struct kmem_cache *s,
+			gfp_t gfp, bool new_slab);
 
-static inline void memcg_free_slab_cgroups(struct slab *slab)
+static inline void free_slab_obj_exts(struct slab *slab)
 {
-	kfree(slab_objcgs(slab));
+	struct slabobj_ext *obj_exts;
+
+	if (!memcg_kmem_enabled() && is_kmem_only_obj_ext())
+		return;
+
+	obj_exts = slab_obj_exts(slab);
+	kfree(obj_exts);
 	slab->memcg_data = 0;
 }
 
+static inline void prepare_slab_obj_exts_hook(struct kmem_cache *s, gfp_t flags, void *p)
+{
+	struct slab *slab;
+
+	/* If kmem is the only extension then the vector will be created conditionally */
+	if (is_kmem_only_obj_ext())
+		return;
+
+	slab = virt_to_slab(p);
+	if (!slab_obj_exts(slab))
+		WARN(alloc_slab_obj_exts(slab, s, flags, false),
+			"%s, %s: Failed to create slab extension vector!\n",
+			__func__, s->name);
+}
+
+#else /* CONFIG_SLAB_OBJ_EXT */
+
+static inline struct slabobj_ext *slab_obj_exts(struct slab *slab)
+{
+	return NULL;
+}
+
+static inline int alloc_slab_obj_exts(struct slab *slab,
+				      struct kmem_cache *s, gfp_t gfp,
+				      bool new_slab)
+{
+	return 0;
+}
+
+static inline void free_slab_obj_exts(struct slab *slab)
+{
+}
+
+static inline void prepare_slab_obj_exts_hook(struct kmem_cache *s, gfp_t flags, void *p)
+{
+}
+
+#endif /* CONFIG_SLAB_OBJ_EXT */
+
+#ifdef CONFIG_MEMCG_KMEM
+void mod_objcg_state(struct obj_cgroup *objcg, struct pglist_data *pgdat,
+		     enum node_stat_item idx, int nr);
+
 static inline size_t obj_full_size(struct kmem_cache *s)
 {
 	/*
@@ -519,16 +577,15 @@ static inline void memcg_slab_post_alloc_hook(struct kmem_cache *s,
 		if (likely(p[i])) {
 			slab = virt_to_slab(p[i]);
 
-			if (!slab_objcgs(slab) &&
-			    memcg_alloc_slab_cgroups(slab, s, flags,
-							 false)) {
+			if (!slab_obj_exts(slab) &&
+			    alloc_slab_obj_exts(slab, s, flags, false)) {
 				obj_cgroup_uncharge(objcg, obj_full_size(s));
 				continue;
 			}
 
 			off = obj_to_index(s, slab, p[i]);
 			obj_cgroup_get(objcg);
-			slab_objcgs(slab)[off] = objcg;
+			slab_obj_exts(slab)[off].objcg = objcg;
 			mod_objcg_state(objcg, slab_pgdat(slab),
 					cache_vmstat_idx(s), obj_full_size(s));
 		} else {
@@ -541,14 +598,14 @@ static inline void memcg_slab_post_alloc_hook(struct kmem_cache *s,
 static inline void memcg_slab_free_hook(struct kmem_cache *s, struct slab *slab,
 					void **p, int objects)
 {
-	struct obj_cgroup **objcgs;
+	struct slabobj_ext *obj_exts;
 	int i;
 
 	if (!memcg_kmem_enabled())
 		return;
 
-	objcgs = slab_objcgs(slab);
-	if (!objcgs)
+	obj_exts = slab_obj_exts(slab);
+	if (!obj_exts)
 		return;
 
 	for (i = 0; i < objects; i++) {
@@ -556,11 +613,11 @@ static inline void memcg_slab_free_hook(struct kmem_cache *s, struct slab *slab,
 		unsigned int off;
 
 		off = obj_to_index(s, slab, p[i]);
-		objcg = objcgs[off];
+		objcg = obj_exts[off].objcg;
 		if (!objcg)
 			continue;
 
-		objcgs[off] = NULL;
+		obj_exts[off].objcg = NULL;
 		obj_cgroup_uncharge(objcg, obj_full_size(s));
 		mod_objcg_state(objcg, slab_pgdat(slab), cache_vmstat_idx(s),
 				-obj_full_size(s));
@@ -569,27 +626,11 @@ static inline void memcg_slab_free_hook(struct kmem_cache *s, struct slab *slab,
 }
 
 #else /* CONFIG_MEMCG_KMEM */
-static inline struct obj_cgroup **slab_objcgs(struct slab *slab)
-{
-	return NULL;
-}
-
 static inline struct mem_cgroup *memcg_from_slab_obj(void *ptr)
 {
 	return NULL;
 }
 
-static inline int memcg_alloc_slab_cgroups(struct slab *slab,
-					       struct kmem_cache *s, gfp_t gfp,
-					       bool new_slab)
-{
-	return 0;
-}
-
-static inline void memcg_free_slab_cgroups(struct slab *slab)
-{
-}
-
 static inline bool memcg_slab_pre_alloc_hook(struct kmem_cache *s,
 					     struct list_lru *lru,
 					     struct obj_cgroup **objcgp,
@@ -627,7 +668,7 @@ static __always_inline void account_slab(struct slab *slab, int order,
 					 struct kmem_cache *s, gfp_t gfp)
 {
 	if (memcg_kmem_enabled() && (s->flags & SLAB_ACCOUNT))
-		memcg_alloc_slab_cgroups(slab, s, gfp, true);
+		alloc_slab_obj_exts(slab, s, gfp, true);
 
 	mod_node_page_state(slab_pgdat(slab), cache_vmstat_idx(s),
 			    PAGE_SIZE << order);
@@ -636,8 +677,7 @@ static __always_inline void account_slab(struct slab *slab, int order,
 static __always_inline void unaccount_slab(struct slab *slab, int order,
 					   struct kmem_cache *s)
 {
-	if (memcg_kmem_enabled())
-		memcg_free_slab_cgroups(slab);
+	free_slab_obj_exts(slab);
 
 	mod_node_page_state(slab_pgdat(slab), cache_vmstat_idx(s),
 			    -(PAGE_SIZE << order));
@@ -729,6 +769,7 @@ static inline void slab_post_alloc_hook(struct kmem_cache *s,
 			memset(p[i], 0, s->object_size);
 		kmemleak_alloc_recursive(p[i], s->object_size, 1,
 					 s->flags, flags);
+		prepare_slab_obj_exts_hook(s, flags, p[i]);
 	}
 
 	memcg_slab_post_alloc_hook(s, objcg, flags, size, p);
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395186.635042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvC-0001C6-HH; Wed, 31 Aug 2022 05:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395186.635042; Wed, 31 Aug 2022 05:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvB-00018u-R9; Wed, 31 Aug 2022 05:05:49 +0000
Received: by outflank-mailman (input) for mailman id 395186;
 Tue, 30 Aug 2022 21:49:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GzUx=ZC=flex--surenb.bounces.google.com=3A4YOYwYKCWgYaXKTHMUUMRK.IUSdKT-JKbKRROYZY.dKTVXUPKIZ.UXM@srs-se1.protection.inumbo.net>)
 id 1oT97N-0008CX-2L
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:49:57 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af85246f-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:49:56 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 p8-20020a258188000000b0069ca52d9f68so712448ybk.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af85246f-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=+dBCH/ZYeXKPl1XZC0y8jtwH0hgKGXE3JjJWq8gRM44=;
        b=AFaSMy8jXac7TuC+3zPxWUGJEoV6Xwt0zQp9MqDmFFlT9mWJtIdF7dkyLAZ2dlc2YA
         b9Gf5k0v2Zvts/DmzzZ5pyBGK4PvMyQtpd/jCDUfU7pbPfnKneDUuVfIqoh8xzC2EEXM
         ggO+9/ET/L3N7vFPV9TWkym8O3GXfgaPKOHQOvjujiuqNd9k0qGNIcoGl/dBIZk4zlFa
         QTsb0Fx654oBfwlYyCvPgpIbUnjCokKwOPL7A775wrhi+ShDtrR1D6bLCXYg9BBaYtDw
         bc4QILCqScR/90fRkJQtLt8mPydrXHAQRmui3zER0ZDrlUBSto4jKF/epnVV4Tt3A9sc
         lVzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=+dBCH/ZYeXKPl1XZC0y8jtwH0hgKGXE3JjJWq8gRM44=;
        b=L8xjTa/wSHJmHSZFYg34SzMLFWAJdZnHQiTSFRJ4u2d6emDajBogvZYUsHXqseSSPs
         APofAI5oVtJuh7wwhSX+HqfSTma+tvCUxPoaeyuJYV3Ups+eW0dHMcyeJs7CtEttEbnN
         uHSICSDcLDgC7yzSfCjcO7zqssbir1QMQ0lYFBQsmIIJLcruw4RcNEq06wdg3MOMcNlJ
         pLyCCOIkEoBYga7y5v9GoCD6PYT8dNlMDVQ4HFD8O9xXw+IEc67XMVFyErq41Rw4gIj8
         YTbQ728uTF+C7hFriWvCwg6S4DGXpga1EV1m+69QUfxKO0Nn2Uq32B/1EryMgQXpY2nN
         qEyw==
X-Gm-Message-State: ACgBeo0S1Cay2MSpDbB5CgUkvGYiqSYaqZKA6WRyNdIf31MwDPGu5uxp
	MhzvsMrKgMr63T/gIA2lPfLo6G3ctfQ=
X-Google-Smtp-Source: AA6agR5IHyLOVpCYPsGCTl1WAh1PLHzSkOgAmQAkkvI/LDvSxkU9pCXJyMghFPF7B9PD/jn9WBQElFJpekI=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:94b:0:b0:68f:4e05:e8f0 with SMTP id
 u11-20020a25094b000000b0068f4e05e8f0mr13319593ybm.115.1661896195289; Tue, 30
 Aug 2022 14:49:55 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:01 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-13-surenb@google.com>
Subject: [RFC PATCH 12/30] mm: introduce __GFP_NO_OBJ_EXT flag to selectively
 prevent slabobj_ext creation
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Introduce __GFP_NO_OBJ_EXT flag in order to prevent recursive allocations
when allocating slabobj_ext on a slab.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/gfp_types.h | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/include/linux/gfp_types.h b/include/linux/gfp_types.h
index d88c46ca82e1..a2cba1d20b86 100644
--- a/include/linux/gfp_types.h
+++ b/include/linux/gfp_types.h
@@ -55,8 +55,13 @@ typedef unsigned int __bitwise gfp_t;
 #define ___GFP_SKIP_KASAN_UNPOISON	0
 #define ___GFP_SKIP_KASAN_POISON	0
 #endif
+#ifdef CONFIG_SLAB_OBJ_EXT
+#define ___GFP_NO_OBJ_EXT       0x8000000u
+#else
+#define ___GFP_NO_OBJ_EXT       0
+#endif
 #ifdef CONFIG_LOCKDEP
-#define ___GFP_NOLOCKDEP	0x8000000u
+#define ___GFP_NOLOCKDEP	0x10000000u
 #else
 #define ___GFP_NOLOCKDEP	0
 #endif
@@ -101,12 +106,15 @@ typedef unsigned int __bitwise gfp_t;
  * node with no fallbacks or placement policy enforcements.
  *
  * %__GFP_ACCOUNT causes the allocation to be accounted to kmemcg.
+ *
+ * %__GFP_NO_OBJ_EXT causes slab allocation to have no object extension.
  */
 #define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE)
 #define __GFP_WRITE	((__force gfp_t)___GFP_WRITE)
 #define __GFP_HARDWALL   ((__force gfp_t)___GFP_HARDWALL)
 #define __GFP_THISNODE	((__force gfp_t)___GFP_THISNODE)
 #define __GFP_ACCOUNT	((__force gfp_t)___GFP_ACCOUNT)
+#define __GFP_NO_OBJ_EXT   ((__force gfp_t)___GFP_NO_OBJ_EXT)
 
 /**
  * DOC: Watermark modifiers
@@ -256,7 +264,7 @@ typedef unsigned int __bitwise gfp_t;
 #define __GFP_NOLOCKDEP ((__force gfp_t)___GFP_NOLOCKDEP)
 
 /* Room for N __GFP_FOO bits */
-#define __GFP_BITS_SHIFT (27 + IS_ENABLED(CONFIG_LOCKDEP))
+#define __GFP_BITS_SHIFT (28 + IS_ENABLED(CONFIG_LOCKDEP))
 #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1))
 
 /**
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395189.635049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvD-0001SJ-ND; Wed, 31 Aug 2022 05:05:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395189.635049; Wed, 31 Aug 2022 05:05:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvC-0001MP-NC; Wed, 31 Aug 2022 05:05:50 +0000
Received: by outflank-mailman (input) for mailman id 395189;
 Tue, 30 Aug 2022 21:50:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=n1ak=ZC=flex--surenb.bounces.google.com=3BoYOYwYKCWsbdaNWKPXXPUN.LXVgNW-MNeNUURbcb.gNWYaXSNLc.XaP@srs-se1.protection.inumbo.net>)
 id 1oT97P-0008Cd-Sf
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:00 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b12dbd66-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:49:59 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-340ae84fb7dso156830867b3.17
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:49:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b12dbd66-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=lEzLHp5EUALGBDR080eL/ZTXye/B6ScLofp8WoGZutw=;
        b=b1R/0Nzef/8svLYP03pWrgs7vVHFpmq4XPsUT6SPRcEERNTFUBKXL3gF3rV3lAxbCu
         zXGaLab/bgugeQVtB6fQn7BhC15GHiYy8yfVXRL4GYXQsnil0/qsZR4erD7n1daSxUT/
         hbKk1xyU9Ykc1njB28pQzjTGt5yf81XdbMvnJj3jJrZZVKL0FDy5ZPsMSVZCq6qj2GNq
         5xqR3jFoEpuD7VZT5PIkQzsQQ7XeVpMK6yxsDE98VmdfDUzKzdP+i7iVBsy7CZO0ECYl
         ds6ZVkTkDhj6OOx/cOiCWsxrgV2NyVoWxYPRsclO00W2nRWfmYoOg0iJH72Y79yCTeat
         6jXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=lEzLHp5EUALGBDR080eL/ZTXye/B6ScLofp8WoGZutw=;
        b=6lPtp8a8U2muP58rasrz1A/pqtAcuSJRVUUy8Zs3Ks5NKTFWiijuHDgHFvQZJZTjJB
         6oLNMXkcqVTRLoonEHE8S/9zPK/JnHxmZ7s9jXttjuZcEZvte2FtQnSwjitD7tx/d0SU
         epb7E/M1olqqJHev6neEPQ/8aa21aPchlI08l852p+1uauPsDjr61nq/w22m4BB6OiCf
         q9xO4Tkn3fkattEobu9qKZey80Ee/xQQWIplWKhT58yG029cnRu4m+mKmaGgcyBNp0YK
         BjtGry5Dg7yqzKLo8lphFrOUBbLwcuagADNxFfyKv9kCFBTcUm4xwYg9QLRIIfqZc4gi
         W7Aw==
X-Gm-Message-State: ACgBeo3uSiQUEosFsNiAPiCBk9I2aBKlqKIcJvTaJAbxqypCYISvRZxb
	sGDmVmT3+VD0UnhKXVFjlkf+66y7sx4=
X-Google-Smtp-Source: AA6agR5aFDFTV93gABXVtI6sO2HuTqIfM7XjbTB1z4Gt/hzYUN7LO58jr4g2RITDfY5OEI/Zy7OiK9gpPj0=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a05:6902:89:b0:695:7ed0:d8cb with SMTP id
 h9-20020a056902008900b006957ed0d8cbmr13360099ybs.77.1661896198026; Tue, 30
 Aug 2022 14:49:58 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:02 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-14-surenb@google.com>
Subject: [RFC PATCH 13/30] mm/slab: introduce SLAB_NO_OBJ_EXT to avoid obj_ext creation
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Slab extension objects can't be allocated before slab infrastructure is
initialized. Some caches, like kmem_cache and kmem_cache_node, are created
before slab infrastructure is initialized. Objects from these caches can't
have extension objects. Introduce SLAB_NO_OBJ_EXT slab flag to mark these
caches and avoid creating extensions for objects allocated from these
slabs.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/slab.h | 7 +++++++
 mm/slab.c            | 2 +-
 mm/slub.c            | 5 +++--
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/include/linux/slab.h b/include/linux/slab.h
index 0fefdf528e0d..55ae3ea864a4 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -124,6 +124,13 @@
 #define SLAB_RECLAIM_ACCOUNT	((slab_flags_t __force)0x00020000U)
 #define SLAB_TEMPORARY		SLAB_RECLAIM_ACCOUNT	/* Objects are short-lived */
 
+#ifdef CONFIG_SLAB_OBJ_EXT
+/* Slab created using create_boot_cache */
+#define SLAB_NO_OBJ_EXT         ((slab_flags_t __force)0x20000000U)
+#else
+#define SLAB_NO_OBJ_EXT         0
+#endif
+
 /*
  * ZERO_SIZE_PTR will be returned for zero sized kmalloc requests.
  *
diff --git a/mm/slab.c b/mm/slab.c
index 10e96137b44f..ba97aeef7ec1 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1233,7 +1233,7 @@ void __init kmem_cache_init(void)
 	create_boot_cache(kmem_cache, "kmem_cache",
 		offsetof(struct kmem_cache, node) +
 				  nr_node_ids * sizeof(struct kmem_cache_node *),
-				  SLAB_HWCACHE_ALIGN, 0, 0);
+				  SLAB_HWCACHE_ALIGN | SLAB_NO_OBJ_EXT, 0, 0);
 	list_add(&kmem_cache->list, &slab_caches);
 	slab_state = PARTIAL;
 
diff --git a/mm/slub.c b/mm/slub.c
index 862dbd9af4f5..80199d5ac7c9 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -4825,7 +4825,8 @@ void __init kmem_cache_init(void)
 		node_set(node, slab_nodes);
 
 	create_boot_cache(kmem_cache_node, "kmem_cache_node",
-		sizeof(struct kmem_cache_node), SLAB_HWCACHE_ALIGN, 0, 0);
+			sizeof(struct kmem_cache_node),
+			SLAB_HWCACHE_ALIGN | SLAB_NO_OBJ_EXT, 0, 0);
 
 	register_hotmemory_notifier(&slab_memory_callback_nb);
 
@@ -4835,7 +4836,7 @@ void __init kmem_cache_init(void)
 	create_boot_cache(kmem_cache, "kmem_cache",
 			offsetof(struct kmem_cache, node) +
 				nr_node_ids * sizeof(struct kmem_cache_node *),
-		       SLAB_HWCACHE_ALIGN, 0, 0);
+			SLAB_HWCACHE_ALIGN | SLAB_NO_OBJ_EXT, 0, 0);
 
 	kmem_cache = bootstrap(&boot_kmem_cache);
 	kmem_cache_node = bootstrap(&boot_kmem_cache_node);
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395191.635061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvE-0001pp-Qe; Wed, 31 Aug 2022 05:05:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395191.635061; Wed, 31 Aug 2022 05:05:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvE-0001fz-1z; Wed, 31 Aug 2022 05:05:52 +0000
Received: by outflank-mailman (input) for mailman id 395191;
 Tue, 30 Aug 2022 21:50:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MUuR=ZC=flex--surenb.bounces.google.com=3CIYOYwYKCW0dfcPYMRZZRWP.NZXiPY-OPgPWWTded.iPYacZUPNe.ZcR@srs-se1.protection.inumbo.net>)
 id 1oT97S-0008CX-Jb
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:02 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2cd68e0-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:50:02 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 s15-20020a5b044f000000b00680c4eb89f1so711409ybp.7
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2cd68e0-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=gY+PdoFf3bNnEB0W9Vd0woPoFdt9hhtegjhiPtTj+AE=;
        b=pP4c3oP+YdesowZgNPs4eE1Xp1hWxAr9Ov2IDGBfglQ7uK9BWLrmzhDJ/utRpkPDJK
         tLMoERW1+3/smlLhO5G46VfqVywVDMABKHAv9jnhzz9ZshpBvX9ODCL7lsQaaZS0MLOk
         moKmQwwsOGjNod+M4t/tjA/+LNyP1VXOc5752+/a3Um/WwaPBzNEpe5l2cE7BDo787CF
         /PWmu6igP2xWBoiVtEHlimVT5AWdWMQxPlHvsqYO1szpGDqcGUPThIrLg/hGXqOCKmhM
         XRoOlsQx66oUshjUnxZWYY0qi/lYffvprIXZMUGryr7KjlXRCtsueZ1FZIWTKefulhTk
         stEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=gY+PdoFf3bNnEB0W9Vd0woPoFdt9hhtegjhiPtTj+AE=;
        b=rBRLT4gtRQ/DmJopniIIKhyek6uKH6CJ2T+LV6bkf435zrSzFLfyaMn/2qygFqLt0D
         b6gytOKM36I/rVm8zZJ6oocF0zMUSJ/2KL782mmDajElKEQYeUg12chPXO3GOh2/UZZb
         h8pzXbbx9Un803tZ6ct0sDfInCmGHDSgTFLJbSwuVgXfK9Fo1igtxi4Z7hUcERAvSG07
         TIqfolcwRqRSiOd3ac21CHXBIzlnozn5xeEq+dTdjsZy5gQYozX3NI0L5D9VkPq4HHIc
         71XgRqZ4mgCkzGPXjHYuxzn57TlOPg5cTBED1P7j9Y6bFzsMOyyrICqwXqsoUKvAG/ds
         daTA==
X-Gm-Message-State: ACgBeo0j+81YFsxk/4KuzlR+/AE02+k+M+mUXNlgLnnQGZDEEc6H1r5s
	sXu+rhibwooqUETlpMsZnmUYEWaC3as=
X-Google-Smtp-Source: AA6agR7WLdIMrAR0FWfuROzkHWzqEUxzLPyMUzXzjD/46yfJpgch8NK3VM+VyOZeNwYsSnGIQ5TrqCRxJvQ=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:ba91:0:b0:683:ebc2:7114 with SMTP id
 s17-20020a25ba91000000b00683ebc27114mr13866830ybg.319.1661896200808; Tue, 30
 Aug 2022 14:50:00 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:03 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-15-surenb@google.com>
Subject: [RFC PATCH 14/30] mm: prevent slabobj_ext allocations for slabobj_ext
 and kmem_cache objects
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Use __GFP_NO_OBJ_EXT to prevent recursions when allocating slabobj_ext
objects. Also prevent slabobj_ext allocations for kmem_cache objects.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 mm/memcontrol.c | 2 ++
 mm/slab.h       | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 3f407ef2f3f1..dabb451dc364 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2809,6 +2809,8 @@ int alloc_slab_obj_exts(struct slab *slab, struct kmem_cache *s,
 	void *vec;
 
 	gfp &= ~OBJCGS_CLEAR_MASK;
+	/* Prevent recursive extension vector allocation */
+	gfp |= __GFP_NO_OBJ_EXT;
 	vec = kcalloc_node(objects, sizeof(struct slabobj_ext), gfp,
 			   slab_nid(slab));
 	if (!vec)
diff --git a/mm/slab.h b/mm/slab.h
index c767ce3f0fe2..d93b22b8bbe2 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -475,6 +475,12 @@ static inline void prepare_slab_obj_exts_hook(struct kmem_cache *s, gfp_t flags,
 	if (is_kmem_only_obj_ext())
 		return;
 
+	if (s->flags & SLAB_NO_OBJ_EXT)
+		return;
+
+	if (flags & __GFP_NO_OBJ_EXT)
+		return;
+
 	slab = virt_to_slab(p);
 	if (!slab_obj_exts(slab))
 		WARN(alloc_slab_obj_exts(slab, s, flags, false),
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395193.635071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvG-00024s-61; Wed, 31 Aug 2022 05:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395193.635071; Wed, 31 Aug 2022 05:05:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvF-0001zo-7i; Wed, 31 Aug 2022 05:05:53 +0000
Received: by outflank-mailman (input) for mailman id 395193;
 Tue, 30 Aug 2022 21:50:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1RYP=ZC=flex--surenb.bounces.google.com=3C4YOYwYKCXAgifSbPUccUZS.QcalSb-RSjSZZWghg.lSbdfcXSQh.cfU@srs-se1.protection.inumbo.net>)
 id 1oT97V-0008Cd-Eo
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:05 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b469e275-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:04 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 bu13-20020a056902090d00b00671743601f1so709330ybb.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b469e275-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=w9gVcgQRdZitDZxjqrDoJq6Gs/0aEjUQjbVWDU06BvI=;
        b=Q1PzL2bThBJ4iiSWL0d7IheB5VfLNxWH1gqUohex8OE2QSiGR/fpg9gqy0yixW+Isb
         pxJFdeTMvRwdBwAcg7flVNtX1j9eJ9C9tS/tDg05AImXSgWHVN2GUlakKwYKuvgZhIEZ
         53DiKTHKeM16TZHvnMmCYNdJyP0y2AnTT97Oi3Zv6WKFja6rmmzzL6Teq1ArHTNPI2TC
         NVjO3wFAVKlA4rp9aDdNwzT8IVNC+AXM7IGd6mywh1LPpaNIM2cA8K+l/DF+pItxSR+n
         jG8tcEuC2nhcd/7nioVG87S+Xo+Y8ZaGYAgx8HTdNWhJ4JbCh9BURQy523rvt+lhf5xu
         HCDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=w9gVcgQRdZitDZxjqrDoJq6Gs/0aEjUQjbVWDU06BvI=;
        b=wxG5vTWUnia5HZ2RBwngL3MdEOvYW6USQP5Ys0PiAA1t/anPvW2AjBTY2rY9QNm/mW
         NcsgHJf1hq6JbFpD5z5Rs8pUjaq+ZCPOalMYs0ckGBQsGWkrM7dzYFuarkjGRR45MU9s
         +YtLEYR2rO8bBdoIN3EwAN+TzMg6R0P36w4OAaaZnhbCSMEgDIfYXA1UDpOxUPh6aQ+/
         kBfP8v6bwipPcZoWD/ezBOL6ieOEdeZuxuZzMqF9jQYCI95GAvbD0UXOreQGFj5eMsHp
         Efcp7g9FOFcZWmT2T/r1E2uN9Lb9ruHiXV6c0/EG6AS/PIMf88EdxNOszHGNyrTS2B0A
         VtUw==
X-Gm-Message-State: ACgBeo2udk2puXsMdxOdDQ04gJfE3oavDjtl5oAYZoFUbjk2BuZegbOv
	v3YCr5dZYkhwU7I5bdxQvGFXFdbgRII=
X-Google-Smtp-Source: AA6agR4vG82TMLNZbe9b42TzeXUrvZHL0ChO+lv1LMjTJEyr7xCSEiF1DQ2YaYAniXhteJjohj+5Rf5pvb8=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:e6c6:0:b0:695:f4dc:8c4f with SMTP id
 d189-20020a25e6c6000000b00695f4dc8c4fmr13235724ybh.329.1661896203524; Tue, 30
 Aug 2022 14:50:03 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:04 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-16-surenb@google.com>
Subject: [RFC PATCH 15/30] lib: introduce slab allocation tagging
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Introduce CONFIG_SLAB_ALLOC_TAGGING which provides helper functions
to easily instrument slab allocators and adds a codetag_ref field into
slabobj_ext to store a pointer to the allocation tag associated with
the code that allocated the slab object.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Co-developed-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/memcontrol.h |  5 +++++
 include/linux/slab.h       | 25 +++++++++++++++++++++++++
 include/linux/slab_def.h   |  2 +-
 include/linux/slub_def.h   |  4 ++--
 lib/Kconfig.debug          | 11 +++++++++++
 mm/slab_common.c           | 33 +++++++++++++++++++++++++++++++++
 6 files changed, 77 insertions(+), 3 deletions(-)

diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index 315399f77173..97c0153f0247 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -232,7 +232,12 @@ struct obj_cgroup {
  * if MEMCG_DATA_OBJEXTS is set.
  */
 struct slabobj_ext {
+#ifdef CONFIG_MEMCG_KMEM
 	struct obj_cgroup *objcg;
+#endif
+#ifdef CONFIG_SLAB_ALLOC_TAGGING
+	union codetag_ref ref;
+#endif
 } __aligned(8);
 
 /*
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 55ae3ea864a4..5a198aa02a08 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -438,6 +438,31 @@ static __always_inline unsigned int __kmalloc_index(size_t size,
 #define kmalloc_index(s) __kmalloc_index(s, true)
 #endif /* !CONFIG_SLOB */
 
+#ifdef CONFIG_SLAB_ALLOC_TAGGING
+
+#include <linux/alloc_tag.h>
+
+union codetag_ref *get_slab_tag_ref(const void *objp);
+
+#define slab_tag_add(_old, _new)					\
+do {									\
+	if (!ZERO_OR_NULL_PTR(_new) && _old != _new)			\
+		alloc_tag_add(get_slab_tag_ref(_new), __ksize(_new));	\
+} while (0)
+
+static inline void slab_tag_dec(const void *ptr)
+{
+	if (!ZERO_OR_NULL_PTR(ptr))
+		alloc_tag_sub(get_slab_tag_ref(ptr), __ksize(ptr));
+}
+
+#else
+
+#define slab_tag_add(_old, _new) do {} while (0)
+static inline void slab_tag_dec(const void *ptr) {}
+
+#endif
+
 void *__kmalloc(size_t size, gfp_t flags) __assume_kmalloc_alignment __alloc_size(1);
 void *kmem_cache_alloc(struct kmem_cache *s, gfp_t flags) __assume_slab_alignment __malloc;
 void *kmem_cache_alloc_lru(struct kmem_cache *s, struct list_lru *lru,
diff --git a/include/linux/slab_def.h b/include/linux/slab_def.h
index e24c9aff6fed..25feb5f7dc32 100644
--- a/include/linux/slab_def.h
+++ b/include/linux/slab_def.h
@@ -106,7 +106,7 @@ static inline void *nearest_obj(struct kmem_cache *cache, const struct slab *sla
  *   reciprocal_divide(offset, cache->reciprocal_buffer_size)
  */
 static inline unsigned int obj_to_index(const struct kmem_cache *cache,
-					const struct slab *slab, void *obj)
+					const struct slab *slab, const void *obj)
 {
 	u32 offset = (obj - slab->s_mem);
 	return reciprocal_divide(offset, cache->reciprocal_buffer_size);
diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h
index f9c68a9dac04..940c146768d4 100644
--- a/include/linux/slub_def.h
+++ b/include/linux/slub_def.h
@@ -170,14 +170,14 @@ static inline void *nearest_obj(struct kmem_cache *cache, const struct slab *sla
 
 /* Determine object index from a given position */
 static inline unsigned int __obj_to_index(const struct kmem_cache *cache,
-					  void *addr, void *obj)
+					  void *addr, const void *obj)
 {
 	return reciprocal_divide(kasan_reset_tag(obj) - addr,
 				 cache->reciprocal_size);
 }
 
 static inline unsigned int obj_to_index(const struct kmem_cache *cache,
-					const struct slab *slab, void *obj)
+					const struct slab *slab, const void *obj)
 {
 	if (is_kfence_address(obj))
 		return 0;
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 6686648843b3..08c97a978906 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -989,6 +989,17 @@ config PAGE_ALLOC_TAGGING
 	  initiated at that code location. The mechanism can be used to track
 	  memory leaks with a low performance impact.
 
+config SLAB_ALLOC_TAGGING
+	bool "Enable slab allocation tagging"
+	default n
+	select ALLOC_TAGGING
+	select SLAB_OBJ_EXT
+	help
+	  Instrument slab allocators to track allocation source code and
+	  collect statistics on the number of allocations and their total size
+	  initiated at that code location. The mechanism can be used to track
+	  memory leaks with a low performance impact.
+
 source "lib/Kconfig.kasan"
 source "lib/Kconfig.kfence"
 
diff --git a/mm/slab_common.c b/mm/slab_common.c
index 17996649cfe3..272eda62ecaa 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -202,6 +202,39 @@ struct kmem_cache *find_mergeable(unsigned int size, unsigned int align,
 	return NULL;
 }
 
+#ifdef CONFIG_SLAB_ALLOC_TAGGING
+
+union codetag_ref *get_slab_tag_ref(const void *objp)
+{
+	struct slabobj_ext *obj_exts;
+	union codetag_ref *res = NULL;
+	struct slab *slab;
+	unsigned int off;
+
+	slab = virt_to_slab(objp);
+	/*
+	 * We could be given a kmalloc_large() object, skip those. They use
+	 * alloc_pages and can be tracked by page allocation tracking.
+	 */
+	if (!slab)
+		goto out;
+
+	obj_exts = slab_obj_exts(slab);
+	if (!obj_exts)
+		goto out;
+
+	if (!slab->slab_cache)
+		goto out;
+
+	off = obj_to_index(slab->slab_cache, slab, objp);
+	res = &obj_exts[off].ref;
+out:
+	return res;
+}
+EXPORT_SYMBOL(get_slab_tag_ref);
+
+#endif /* CONFIG_SLAB_ALLOC_TAGGING */
+
 static struct kmem_cache *create_cache(const char *name,
 		unsigned int object_size, unsigned int align,
 		slab_flags_t flags, unsigned int useroffset,
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395195.635080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvH-0002TU-Rc; Wed, 31 Aug 2022 05:05:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395195.635080; Wed, 31 Aug 2022 05:05:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvG-0002O1-Ra; Wed, 31 Aug 2022 05:05:54 +0000
Received: by outflank-mailman (input) for mailman id 395195;
 Tue, 30 Aug 2022 21:50:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DBLY=ZC=flex--surenb.bounces.google.com=3DoYOYwYKCXMjliVeSXffXcV.TfdoVe-UVmVccZjkj.oVegifaVTk.fiX@srs-se1.protection.inumbo.net>)
 id 1oT97Y-0008Cd-Ki
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:08 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b61b4417-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:07 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-336c3b72da5so187503807b3.6
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b61b4417-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=DVDWc4n0OUELi9+TR5vEerYUeoJhmwr6oegHq8VoMPY=;
        b=bM/4HTwD/5NvD2z1e/m/chKOx8M+k/cup4NHKUTyLbSRW7GSEIiXXrcH3cV9SZ1SAI
         L09ba1CkrtuU8u1GNYrpa4iH8Pf6SJhzN8yZiOz8fjB8X6SKmg6EcT8m4ikT2VrNvIZC
         fcEJcUtC8cuaOScZm4W400OnCT8oTeDu69+FoT8U0Z8bPUbNNtUMn8N9gtPxsRiO1Jkp
         yHen1YuPdi7I2iwNEDue9JoiosDrnFDYBeVHrjJCFkXdPVyn9cYkcijvjT6kVZJ46mfx
         8WNJGPhwmcInAt8+4wUEyRhB6jGCNZ+WfXvMftBjOymVBGsg95WkR7Uw2/KIXsL46tgh
         o0Kg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=DVDWc4n0OUELi9+TR5vEerYUeoJhmwr6oegHq8VoMPY=;
        b=vOfoIl8ZEkNePpVn2v8vBBgcbNOPt3wWjj2lpVFVPrgaje3/3t65KI14am+kUHeqvq
         um5y0FOV45VdbF1jxLvACraJlqsVS3ENmoK+Exny+LorWdpPKoRnhDaPh3jxasfsQZqe
         FmEV5+Dqgu74fc/Btc+UYEYicsB9Hh+UhuDGcGK7RfPfUuLvm0FBoznfak9uCK9Nngwb
         GWln/JiPpXgwe4wc5+jVoAfmOTiSFFEOIRl27Z71+ccz8uVYUpYgi43eH17KxfKoUVgg
         eG1MOquxLWxawumdUNwGIVkO2cPzWtTItn3t3biacC6K98ePZZgAPQu6dV1uiTzV+Gnf
         HQyQ==
X-Gm-Message-State: ACgBeo3Li6pwlCRtrsnBSvwalCQgEeVPwG8sStwyAtvp0QynVq28HNWK
	c4G12Mie/vIY9z2nfKIUvHU+VeWWjbE=
X-Google-Smtp-Source: AA6agR7T4bKeuJlf9DAoJiFE4v7Q2R/MdDJESlGt7ahUFYj3Wmkn9a6qQs7FkiNluCNw2Wq41YrDjpcXKsY=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:9f85:0:b0:693:614:cb2a with SMTP id
 u5-20020a259f85000000b006930614cb2amr13240649ybq.143.1661896206375; Tue, 30
 Aug 2022 14:50:06 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:05 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-17-surenb@google.com>
Subject: [RFC PATCH 16/30] mm: enable slab allocation tagging for kmalloc and friends
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Redefine kmalloc, krealloc, kzalloc, kcalloc, etc. to record allocations
and deallocations done by these functions.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Co-developed-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/slab.h | 103 +++++++++++++++++++++++++------------------
 mm/slab.c            |   2 +
 mm/slab_common.c     |  16 +++----
 mm/slob.c            |   2 +
 mm/slub.c            |   2 +
 5 files changed, 75 insertions(+), 50 deletions(-)

diff --git a/include/linux/slab.h b/include/linux/slab.h
index 5a198aa02a08..89273be35743 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -191,7 +191,10 @@ int kmem_cache_shrink(struct kmem_cache *s);
 /*
  * Common kmalloc functions provided by all allocators
  */
-void * __must_check krealloc(const void *objp, size_t new_size, gfp_t flags) __alloc_size(2);
+void * __must_check _krealloc(const void *objp, size_t new_size, gfp_t flags) __alloc_size(2);
+#define krealloc(_p, _size, _flags)					\
+	krealloc_hooks(_p, _krealloc(_p, _size, _flags))
+
 void kfree(const void *objp);
 void kfree_sensitive(const void *objp);
 size_t __ksize(const void *objp);
@@ -463,6 +466,15 @@ static inline void slab_tag_dec(const void *ptr) {}
 
 #endif
 
+#define krealloc_hooks(_p, _do_alloc)					\
+({									\
+	void *_res = _do_alloc;						\
+	slab_tag_add(_p, _res);						\
+	_res;								\
+})
+
+#define kmalloc_hooks(_do_alloc)	krealloc_hooks(NULL, _do_alloc)
+
 void *__kmalloc(size_t size, gfp_t flags) __assume_kmalloc_alignment __alloc_size(1);
 void *kmem_cache_alloc(struct kmem_cache *s, gfp_t flags) __assume_slab_alignment __malloc;
 void *kmem_cache_alloc_lru(struct kmem_cache *s, struct list_lru *lru,
@@ -541,25 +553,31 @@ static __always_inline void *kmem_cache_alloc_node_trace(struct kmem_cache *s, g
 }
 #endif /* CONFIG_TRACING */
 
-extern void *kmalloc_order(size_t size, gfp_t flags, unsigned int order) __assume_page_alignment
+extern void *_kmalloc_order(size_t size, gfp_t flags, unsigned int order) __assume_page_alignment
 									 __alloc_size(1);
+#define kmalloc_order(_size, _flags, _order)              \
+	kmalloc_hooks(_kmalloc_order(_size, _flags, _order))
 
 #ifdef CONFIG_TRACING
-extern void *kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order)
+extern void *_kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order)
 				__assume_page_alignment __alloc_size(1);
 #else
-static __always_inline __alloc_size(1) void *kmalloc_order_trace(size_t size, gfp_t flags,
+static __always_inline __alloc_size(1) void *_kmalloc_order_trace(size_t size, gfp_t flags,
 								 unsigned int order)
 {
-	return kmalloc_order(size, flags, order);
+	return _kmalloc_order(size, flags, order);
 }
 #endif
+#define kmalloc_order_trace(_size, _flags, _order)      \
+	kmalloc_hooks(_kmalloc_order_trace(_size, _flags, _order))
 
-static __always_inline __alloc_size(1) void *kmalloc_large(size_t size, gfp_t flags)
+static __always_inline __alloc_size(1) void *_kmalloc_large(size_t size, gfp_t flags)
 {
 	unsigned int order = get_order(size);
-	return kmalloc_order_trace(size, flags, order);
+	return _kmalloc_order_trace(size, flags, order);
 }
+#define kmalloc_large(_size, _flags)                    \
+	kmalloc_hooks(_kmalloc_large(_size, _flags))
 
 /**
  * kmalloc - allocate memory
@@ -615,14 +633,14 @@ static __always_inline __alloc_size(1) void *kmalloc_large(size_t size, gfp_t fl
  *	Try really hard to succeed the allocation but fail
  *	eventually.
  */
-static __always_inline __alloc_size(1) void *kmalloc(size_t size, gfp_t flags)
+static __always_inline __alloc_size(1) void *_kmalloc(size_t size, gfp_t flags)
 {
 	if (__builtin_constant_p(size)) {
 #ifndef CONFIG_SLOB
 		unsigned int index;
 #endif
 		if (size > KMALLOC_MAX_CACHE_SIZE)
-			return kmalloc_large(size, flags);
+			return _kmalloc_large(size, flags);
 #ifndef CONFIG_SLOB
 		index = kmalloc_index(size);
 
@@ -636,8 +654,9 @@ static __always_inline __alloc_size(1) void *kmalloc(size_t size, gfp_t flags)
 	}
 	return __kmalloc(size, flags);
 }
+#define kmalloc(_size, _flags)			kmalloc_hooks(_kmalloc(_size, _flags))
 
-static __always_inline __alloc_size(1) void *kmalloc_node(size_t size, gfp_t flags, int node)
+static __always_inline __alloc_size(1) void *_kmalloc_node(size_t size, gfp_t flags, int node)
 {
 #ifndef CONFIG_SLOB
 	if (__builtin_constant_p(size) &&
@@ -654,6 +673,8 @@ static __always_inline __alloc_size(1) void *kmalloc_node(size_t size, gfp_t fla
 #endif
 	return __kmalloc_node(size, flags, node);
 }
+#define kmalloc_node(_size, _flags, _node)		\
+	kmalloc_hooks(_kmalloc_node(_size, _flags, _node))
 
 /**
  * kmalloc_array - allocate memory for an array.
@@ -661,16 +682,18 @@ static __always_inline __alloc_size(1) void *kmalloc_node(size_t size, gfp_t fla
  * @size: element size.
  * @flags: the type of memory to allocate (see kmalloc).
  */
-static inline __alloc_size(1, 2) void *kmalloc_array(size_t n, size_t size, gfp_t flags)
+static inline __alloc_size(1, 2) void *_kmalloc_array(size_t n, size_t size, gfp_t flags)
 {
 	size_t bytes;
 
 	if (unlikely(check_mul_overflow(n, size, &bytes)))
 		return NULL;
 	if (__builtin_constant_p(n) && __builtin_constant_p(size))
-		return kmalloc(bytes, flags);
-	return __kmalloc(bytes, flags);
+		return _kmalloc(bytes, flags);
+	return _kmalloc(bytes, flags);
 }
+#define kmalloc_array(_n, _size, _flags)		\
+	kmalloc_hooks(_kmalloc_array(_n, _size, _flags))
 
 /**
  * krealloc_array - reallocate memory for an array.
@@ -679,7 +702,7 @@ static inline __alloc_size(1, 2) void *kmalloc_array(size_t n, size_t size, gfp_
  * @new_size: new size of a single member of the array
  * @flags: the type of memory to allocate (see kmalloc)
  */
-static inline __alloc_size(2, 3) void * __must_check krealloc_array(void *p,
+static inline __alloc_size(2, 3) void * __must_check _krealloc_array(void *p,
 								    size_t new_n,
 								    size_t new_size,
 								    gfp_t flags)
@@ -689,8 +712,10 @@ static inline __alloc_size(2, 3) void * __must_check krealloc_array(void *p,
 	if (unlikely(check_mul_overflow(new_n, new_size, &bytes)))
 		return NULL;
 
-	return krealloc(p, bytes, flags);
+	return _krealloc(p, bytes, flags);
 }
+#define krealloc_array(_p, _n, _size, _flags)		\
+	krealloc_hooks(_p, _krealloc_array(_p, _n, _size, _flags))
 
 /**
  * kcalloc - allocate memory for an array. The memory is set to zero.
@@ -698,10 +723,8 @@ static inline __alloc_size(2, 3) void * __must_check krealloc_array(void *p,
  * @size: element size.
  * @flags: the type of memory to allocate (see kmalloc).
  */
-static inline __alloc_size(1, 2) void *kcalloc(size_t n, size_t size, gfp_t flags)
-{
-	return kmalloc_array(n, size, flags | __GFP_ZERO);
-}
+#define kcalloc(_n, _size, _flags)			\
+	kmalloc_array(_n, _size, (_flags)|__GFP_ZERO)
 
 /*
  * kmalloc_track_caller is a special version of kmalloc that records the
@@ -712,10 +735,10 @@ static inline __alloc_size(1, 2) void *kcalloc(size_t n, size_t size, gfp_t flag
  * request comes from.
  */
 extern void *__kmalloc_track_caller(size_t size, gfp_t flags, unsigned long caller);
-#define kmalloc_track_caller(size, flags) \
-	__kmalloc_track_caller(size, flags, _RET_IP_)
+#define kmalloc_track_caller(size, flags)		\
+	kmalloc_hooks(__kmalloc_track_caller(size, flags, _RET_IP_))
 
-static inline __alloc_size(1, 2) void *kmalloc_array_node(size_t n, size_t size, gfp_t flags,
+static inline __alloc_size(1, 2) void *_kmalloc_array_node(size_t n, size_t size, gfp_t flags,
 							  int node)
 {
 	size_t bytes;
@@ -723,26 +746,24 @@ static inline __alloc_size(1, 2) void *kmalloc_array_node(size_t n, size_t size,
 	if (unlikely(check_mul_overflow(n, size, &bytes)))
 		return NULL;
 	if (__builtin_constant_p(n) && __builtin_constant_p(size))
-		return kmalloc_node(bytes, flags, node);
+		return _kmalloc_node(bytes, flags, node);
 	return __kmalloc_node(bytes, flags, node);
 }
+#define kmalloc_array_node(_n, _size, _flags, _node)	\
+	kmalloc_hooks(_kmalloc_array_node(_n, _size, _flags, _node))
 
-static inline __alloc_size(1, 2) void *kcalloc_node(size_t n, size_t size, gfp_t flags, int node)
-{
-	return kmalloc_array_node(n, size, flags | __GFP_ZERO, node);
-}
-
+#define kcalloc_node(_n, _size, _flags, _node)	\
+	kmalloc_array_node(_n, _size, (_flags)|__GFP_ZERO, _node)
 
 #ifdef CONFIG_NUMA
 extern void *__kmalloc_node_track_caller(size_t size, gfp_t flags, int node,
 					 unsigned long caller) __alloc_size(1);
-#define kmalloc_node_track_caller(size, flags, node) \
-	__kmalloc_node_track_caller(size, flags, node, \
-			_RET_IP_)
+#define kmalloc_node_track_caller(size, flags, node)	\
+	kmalloc_hooks(__kmalloc_node_track_caller(size, flags, node, _RET_IP_))
 
 #else /* CONFIG_NUMA */
 
-#define kmalloc_node_track_caller(size, flags, node) \
+#define kmalloc_node_track_caller(size, flags, node)	\
 	kmalloc_track_caller(size, flags)
 
 #endif /* CONFIG_NUMA */
@@ -750,20 +771,16 @@ extern void *__kmalloc_node_track_caller(size_t size, gfp_t flags, int node,
 /*
  * Shortcuts
  */
-static inline void *kmem_cache_zalloc(struct kmem_cache *k, gfp_t flags)
-{
-	return kmem_cache_alloc(k, flags | __GFP_ZERO);
-}
+#define kmem_cache_zalloc(_k, _flags)			\
+	kmem_cache_alloc(_k, (_flags)|__GFP_ZERO)
 
 /**
  * kzalloc - allocate memory. The memory is set to zero.
  * @size: how many bytes of memory are required.
  * @flags: the type of memory to allocate (see kmalloc).
  */
-static inline __alloc_size(1) void *kzalloc(size_t size, gfp_t flags)
-{
-	return kmalloc(size, flags | __GFP_ZERO);
-}
+#define kzalloc(_size, _flags)				\
+	kmalloc(_size, (_flags)|__GFP_ZERO)
 
 /**
  * kzalloc_node - allocate zeroed memory from a particular memory node.
@@ -771,10 +788,12 @@ static inline __alloc_size(1) void *kzalloc(size_t size, gfp_t flags)
  * @flags: the type of memory to allocate (see kmalloc).
  * @node: memory node from which to allocate
  */
-static inline __alloc_size(1) void *kzalloc_node(size_t size, gfp_t flags, int node)
+static inline __alloc_size(1) void *_kzalloc_node(size_t size, gfp_t flags, int node)
 {
-	return kmalloc_node(size, flags | __GFP_ZERO, node);
+	return _kmalloc_node(size, flags | __GFP_ZERO, node);
 }
+#define kzalloc_node(_size, _flags, _node)              \
+	kmalloc_hooks(_kzalloc_node(_size, _flags, _node))
 
 extern void *kvmalloc_node(size_t size, gfp_t flags, int node) __alloc_size(1);
 static inline __alloc_size(1) void *kvmalloc(size_t size, gfp_t flags)
diff --git a/mm/slab.c b/mm/slab.c
index ba97aeef7ec1..db344de3b260 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -3402,6 +3402,7 @@ static __always_inline void __cache_free(struct kmem_cache *cachep, void *objp,
 
 	if (is_kfence_address(objp)) {
 		kmemleak_free_recursive(objp, cachep->flags);
+		slab_tag_dec(objp);
 		__kfence_free(objp);
 		return;
 	}
@@ -3433,6 +3434,7 @@ void ___cache_free(struct kmem_cache *cachep, void *objp,
 
 	check_irq_off();
 	kmemleak_free_recursive(objp, cachep->flags);
+	slab_tag_dec(objp);
 	objp = cache_free_debugcheck(cachep, objp, caller);
 
 	/*
diff --git a/mm/slab_common.c b/mm/slab_common.c
index 272eda62ecaa..7b6473db5ab4 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -938,7 +938,7 @@ gfp_t kmalloc_fix_flags(gfp_t flags)
  * directly to the page allocator. We use __GFP_COMP, because we will need to
  * know the allocation order to free the pages properly in kfree.
  */
-void *kmalloc_order(size_t size, gfp_t flags, unsigned int order)
+void *_kmalloc_order(size_t size, gfp_t flags, unsigned int order)
 {
 	void *ret = NULL;
 	struct page *page;
@@ -958,16 +958,16 @@ void *kmalloc_order(size_t size, gfp_t flags, unsigned int order)
 	kmemleak_alloc(ret, size, 1, flags);
 	return ret;
 }
-EXPORT_SYMBOL(kmalloc_order);
+EXPORT_SYMBOL(_kmalloc_order);
 
 #ifdef CONFIG_TRACING
-void *kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order)
+void *_kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order)
 {
-	void *ret = kmalloc_order(size, flags, order);
+	void *ret = _kmalloc_order(size, flags, order);
 	trace_kmalloc(_RET_IP_, ret, NULL, size, PAGE_SIZE << order, flags);
 	return ret;
 }
-EXPORT_SYMBOL(kmalloc_order_trace);
+EXPORT_SYMBOL(_kmalloc_order_trace);
 #endif
 
 #ifdef CONFIG_SLAB_FREELIST_RANDOM
@@ -1187,7 +1187,7 @@ static __always_inline void *__do_krealloc(const void *p, size_t new_size,
 		return (void *)p;
 	}
 
-	ret = kmalloc_track_caller(new_size, flags);
+	ret = __kmalloc_track_caller(new_size, flags, _RET_IP_);
 	if (ret && p) {
 		/* Disable KASAN checks as the object's redzone is accessed. */
 		kasan_disable_current();
@@ -1211,7 +1211,7 @@ static __always_inline void *__do_krealloc(const void *p, size_t new_size,
  *
  * Return: pointer to the allocated memory or %NULL in case of error
  */
-void *krealloc(const void *p, size_t new_size, gfp_t flags)
+void *_krealloc(const void *p, size_t new_size, gfp_t flags)
 {
 	void *ret;
 
@@ -1226,7 +1226,7 @@ void *krealloc(const void *p, size_t new_size, gfp_t flags)
 
 	return ret;
 }
-EXPORT_SYMBOL(krealloc);
+EXPORT_SYMBOL(_krealloc);
 
 /**
  * kfree_sensitive - Clear sensitive information in memory before freeing
diff --git a/mm/slob.c b/mm/slob.c
index 2bd4f476c340..23b49f6c9c8f 100644
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -554,6 +554,7 @@ void kfree(const void *block)
 	if (unlikely(ZERO_OR_NULL_PTR(block)))
 		return;
 	kmemleak_free(block);
+	slab_tag_dec(block);
 
 	sp = virt_to_folio(block);
 	if (folio_test_slab(sp)) {
@@ -680,6 +681,7 @@ static void kmem_rcu_free(struct rcu_head *head)
 void kmem_cache_free(struct kmem_cache *c, void *b)
 {
 	kmemleak_free_recursive(b, c->flags);
+	slab_tag_dec(b);
 	trace_kmem_cache_free(_RET_IP_, b, c->name);
 	if (unlikely(c->flags & SLAB_TYPESAFE_BY_RCU)) {
 		struct slob_rcu *slob_rcu;
diff --git a/mm/slub.c b/mm/slub.c
index 80199d5ac7c9..caf752087ad6 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1715,6 +1715,7 @@ static inline void *kmalloc_large_node_hook(void *ptr, size_t size, gfp_t flags)
 static __always_inline void kfree_hook(void *x)
 {
 	kmemleak_free(x);
+	slab_tag_dec(x);
 	kasan_kfree_large(x);
 }
 
@@ -1722,6 +1723,7 @@ static __always_inline bool slab_free_hook(struct kmem_cache *s,
 						void *x, bool init)
 {
 	kmemleak_free_recursive(x, s->flags);
+	slab_tag_dec(x);
 
 	debug_check_no_locks_freed(x, s->object_size);
 
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:05:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:05:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395197.635091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvK-0002nG-0B; Wed, 31 Aug 2022 05:05:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395197.635091; Wed, 31 Aug 2022 05:05:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvI-0002hl-9J; Wed, 31 Aug 2022 05:05:56 +0000
Received: by outflank-mailman (input) for mailman id 395197;
 Tue, 30 Aug 2022 21:50:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7ELB=ZC=flex--surenb.bounces.google.com=3EIYOYwYKCXUlnkXgUZhhZeX.VhfqXg-WXoXeeblml.qXgikhcXVm.hkZ@srs-se1.protection.inumbo.net>)
 id 1oT97b-0008CX-2n
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:11 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7d0832b-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:50:10 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 i194-20020a253bcb000000b00676d86fc5d7so709137yba.9
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7d0832b-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=PaZc/ErQmIz9CmZWuOwZKmMvFAFDhrfR0u4+oqULyqs=;
        b=hebs9Ab4jQ13PLVsrCINOWSpgoH5EATUTa9Cks3Eg1nmkxH7qE2oRwCx7AF5BNZXTH
         AHzIFQ24Or2oJnVcja+AOnCs2XgXBCldmNcsagLkjdyOLpIpceU0bsUf62DWg4fCi92e
         s30PWdmXxABwFMNU1JgUL6Fp0h2PBQ5hgdc0oQExPZeqJt/0xfqCgMF0cTxAmuBThoZJ
         frR4uwNwpRrRdJWEew4t7LzoFroWP+hLZBEH0mT+P1Yv4GgQEDG37uiXZMEF+0m6Voke
         PgoPiZ8qXrLB1DY6fUVv3gddg9c6Rea7O2e0xIyCiy2p7GROj3EzsKBaYmh74I5z0+5s
         1/pA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=PaZc/ErQmIz9CmZWuOwZKmMvFAFDhrfR0u4+oqULyqs=;
        b=NTUkR0l+WuB1rHvoIscsvqR5fAe0NsJYEl4sdyCUP2RUkLQvaueG/U13jcYZVvc+dn
         ZzFN/FvvSL1k10y+i9IJPT2H5BYROAzeq+UtXIRdd+4LyfW16bFQd0PJSgqbK2sXFhM/
         VrEcv0kdgVrAgxOj8JMMTGJcAmIGpZbffgKcWGM7OT6kHwsdidqEfrP5JYgzLiPeUSOZ
         2+xM2HoRgKG7/StgpEH21ORjRGVC242s7iXcFnaTMbxABWEBJXmg18nMW/2ZM5Qi2Dc7
         HIP2gILZMzBvhZtBRg74DWWDWuN5olXfREjyPvzI8E7kHH+PRyhccH/T0WZsOLXkvfia
         EhlA==
X-Gm-Message-State: ACgBeo2Umo0NITODL8iKozqj5kzFOEDXQQgy/HONfWyQzifNUxsoUqsD
	F+c5jBBoESTTenRdQnvv5IEBjxHRRXM=
X-Google-Smtp-Source: AA6agR60bKzipuEg+9xXy+Pee21QZvBbTBPOhKhJO0fVzuHKtaTXE6dCUM7Zh4tN5bptU+EiRysnFAQW6po=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:31d5:0:b0:677:28b:1451 with SMTP id
 x204-20020a2531d5000000b00677028b1451mr13217805ybx.437.1661896208990; Tue, 30
 Aug 2022 14:50:08 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:06 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-18-surenb@google.com>
Subject: [RFC PATCH 17/30] lib/string.c: strsep_no_empty()
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

This adds a new helper which is like strsep, except that it skips empty
tokens.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/string.h |  1 +
 lib/string.c           | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/include/linux/string.h b/include/linux/string.h
index 61ec7e4f6311..b950ac9cfa56 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -96,6 +96,7 @@ extern char * strpbrk(const char *,const char *);
 #ifndef __HAVE_ARCH_STRSEP
 extern char * strsep(char **,const char *);
 #endif
+extern char *strsep_no_empty(char **, const char *);
 #ifndef __HAVE_ARCH_STRSPN
 extern __kernel_size_t strspn(const char *,const char *);
 #endif
diff --git a/lib/string.c b/lib/string.c
index 6f334420f687..6939f5b751f2 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -596,6 +596,25 @@ char *strsep(char **s, const char *ct)
 EXPORT_SYMBOL(strsep);
 #endif
 
+/**
+ * strsep_no_empt - Split a string into tokens, but don't return empty tokens
+ * @s: The string to be searched
+ * @ct: The characters to search for
+ *
+ * strsep() updates @s to point after the token, ready for the next call.
+ */
+char *strsep_no_empty(char **s, const char *ct)
+{
+	char *ret;
+
+	do {
+		ret = strsep(s, ct);
+	} while (ret && !*ret);
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(strsep_no_empty);
+
 #ifndef __HAVE_ARCH_MEMSET
 /**
  * memset - Fill a region of memory with the given value
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395199.635105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvN-0003LU-A7; Wed, 31 Aug 2022 05:06:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395199.635105; Wed, 31 Aug 2022 05:06:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvL-0003BV-8Y; Wed, 31 Aug 2022 05:05:59 +0000
Received: by outflank-mailman (input) for mailman id 395199;
 Tue, 30 Aug 2022 21:50:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0LfC=ZC=flex--surenb.bounces.google.com=3G4YOYwYKCYAwyvirfksskpi.gsq1ir-hizippmwxw.1irtvsnigx.svk@srs-se1.protection.inumbo.net>)
 id 1oT97l-0008Cd-FN
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:21 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdc70d79-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:20 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 63-20020a250d42000000b00696588a0e87so712522ybn.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdc70d79-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=g/YTY0u3yadOEciruM5AsrsoCBr2LdU6F8XKpTCCoXE=;
        b=W9ws8GQM/90cTDmDN4sijcJEomx0StRc0qnBzUb4l/dKXquUVNd+bkQOSXwJxVHeSR
         QG60SQEVm6VA17XfZBoKGGzRXcSLpOO21vFhHqE3hmk2c9gf7/HtTYj3kp+LhucXD7zS
         32XZBjNXwZuxDqFNmQ7tqseycDiUbS6bSZaQn1dUA4lMpujJGMmrMQrbex/Wc04wsxKu
         B3eerDWEH6lgqkNOuwBI3NzTboD1OpHxugThISWmfH4bZEx8AfmzAF8N3fNasLdDbLD+
         eox1A7oZRZT7QuWta0fKi5W+QGVJWyjQVSgZXf5MPYNZ62sspJg2YTeSPJPL6GlufKLs
         TtEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=g/YTY0u3yadOEciruM5AsrsoCBr2LdU6F8XKpTCCoXE=;
        b=8C4dXs+rEkqp/qwV3+QJh/6sd2nbLxyiy9P6goNawyBiSvspLvLBhlaWmR5wzHMc3l
         wYaWrvLNGOCcnLzT8rPDkKaGoTXBhLa6wHIKEiWAGrZTiNomJIILB8uyiM+pt9b0E18B
         hLbDTxf9lbUFjvL1hfdPaEKYGZaumPmbFpZkXcSzrNmy0eSH8XuI4ylxT8FWoZXh3h1A
         f+ybV8qu0TUltT+TYeqOIJQIpV8im6KTEiow+CX2nvuMpbS0wZF3hk2059h6CIvsz6ci
         iDgKyE5kI5rlLM9K6gncOrVT/oORwuUAKklAlDtFWlnRRkz6uhLmykguA5J9gOxT4nFy
         D9pA==
X-Gm-Message-State: ACgBeo1Z1AZM3cT3K6utkhnmvbsaTY7VDTIayS5yjOWC+tCrOxJ1MUmw
	ibx231jH1qHSIHzZP1tOsujDpDDwPyI=
X-Google-Smtp-Source: AA6agR7zbyBaHTavSAdE/8JQpYqzjp+0tJKa0FexURSVp+cX649/Bz10TDDbPo8ER0HHDl/6WW+PqHXP88E=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a05:6902:100b:b0:695:bd4e:95d6 with SMTP id
 w11-20020a056902100b00b00695bd4e95d6mr13705955ybt.595.1661896219160; Tue, 30
 Aug 2022 14:50:19 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:10 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-22-surenb@google.com>
Subject: [RFC PATCH 21/30] lib: implement context capture support for page and
 slab allocators
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Implement mechanisms for capturing allocation call context which consists
of:
- allocation size
- pid, tgid and name of the allocating task
- allocation timestamp
- allocation call stack
The patch creates alloc_tags.ctx file which can be written to
enable/disable context capture for a specific code tag. Captured context
can be obtained by reading alloc_tags.ctx file.
Usage example:

echo "file include/asm-generic/pgalloc.h line 63 enable" > \
    /sys/kernel/debug/alloc_tags.ctx
cat alloc_tags.ctx
 91.0MiB      212 include/asm-generic/pgalloc.h:63 module:pgtable func:__pte_alloc_one
    size: 4096
    pid: 1551
    tgid: 1551
    comm: cat
    ts: 670109646361
    call stack:
         pte_alloc_one+0xfe/0x130
         __pte_alloc+0x22/0x90
         move_page_tables.part.0+0x994/0xa60
         shift_arg_pages+0xa4/0x180
         setup_arg_pages+0x286/0x2d0
         load_elf_binary+0x4e1/0x18d0
         bprm_execve+0x26b/0x660
         do_execveat_common.isra.0+0x19d/0x220
         __x64_sys_execve+0x2e/0x40
         do_syscall_64+0x38/0x90
         entry_SYSCALL_64_after_hwframe+0x63/0xcd

    size: 4096
    pid: 1551
    tgid: 1551
    comm: cat
    ts: 670109711801
    call stack:
         pte_alloc_one+0xfe/0x130
         __do_fault+0x52/0xc0
         __handle_mm_fault+0x7d9/0xdd0
         handle_mm_fault+0xc0/0x2b0
         do_user_addr_fault+0x1c3/0x660
         exc_page_fault+0x62/0x150
         asm_exc_page_fault+0x22/0x30
...

echo "file include/asm-generic/pgalloc.h line 63 disable" > \
    /sys/kernel/debug/alloc_tags.ctx

Note that disabling context capture will not clear already captured
context but no new context will be captured.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/alloc_tag.h |  28 ++++-
 include/linux/codetag.h   |   3 +-
 lib/Kconfig.debug         |   1 +
 lib/alloc_tag.c           | 239 +++++++++++++++++++++++++++++++++++++-
 lib/codetag.c             |  20 ++--
 5 files changed, 273 insertions(+), 18 deletions(-)

diff --git a/include/linux/alloc_tag.h b/include/linux/alloc_tag.h
index b3f589afb1c9..66638cbf349a 100644
--- a/include/linux/alloc_tag.h
+++ b/include/linux/alloc_tag.h
@@ -16,27 +16,41 @@
  * an array of these. Embedded codetag utilizes codetag framework.
  */
 struct alloc_tag {
-	struct codetag			ct;
+	struct codetag_with_ctx		ctc;
 	unsigned long			last_wrap;
 	struct raw_lazy_percpu_counter	call_count;
 	struct raw_lazy_percpu_counter	bytes_allocated;
 } __aligned(8);
 
+static inline struct alloc_tag *ctc_to_alloc_tag(struct codetag_with_ctx *ctc)
+{
+	return container_of(ctc, struct alloc_tag, ctc);
+}
+
 static inline struct alloc_tag *ct_to_alloc_tag(struct codetag *ct)
 {
-	return container_of(ct, struct alloc_tag, ct);
+	return container_of(ct_to_ctc(ct), struct alloc_tag, ctc);
 }
 
+struct codetag_ctx *alloc_tag_create_ctx(struct alloc_tag *tag, size_t size);
+void alloc_tag_free_ctx(struct codetag_ctx *ctx, struct alloc_tag **ptag);
+bool alloc_tag_enable_ctx(struct alloc_tag *tag, bool enable);
+
 #define DEFINE_ALLOC_TAG(_alloc_tag)					\
 	static struct alloc_tag _alloc_tag __used __aligned(8)		\
-	__section("alloc_tags") = { .ct = CODE_TAG_INIT }
+	__section("alloc_tags") = { .ctc.ct = CODE_TAG_INIT }
 
 #define alloc_tag_counter_read(counter)					\
 	__lazy_percpu_counter_read(counter)
 
 static inline void __alloc_tag_sub(union codetag_ref *ref, size_t bytes)
 {
-	struct alloc_tag *tag = ct_to_alloc_tag(ref->ct);
+	struct alloc_tag *tag;
+
+	if (is_codetag_ctx_ref(ref))
+		alloc_tag_free_ctx(ref->ctx, &tag);
+	else
+		tag = ct_to_alloc_tag(ref->ct);
 
 	__lazy_percpu_counter_add(&tag->call_count, &tag->last_wrap, -1);
 	__lazy_percpu_counter_add(&tag->bytes_allocated, &tag->last_wrap, -bytes);
@@ -51,7 +65,11 @@ do {									\
 
 static inline void __alloc_tag_add(struct alloc_tag *tag, union codetag_ref *ref, size_t bytes)
 {
-	ref->ct = &tag->ct;
+	if (codetag_ctx_enabled(&tag->ctc))
+		ref->ctx = alloc_tag_create_ctx(tag, bytes);
+	else
+		ref->ct = &tag->ctc.ct;
+
 	__lazy_percpu_counter_add(&tag->call_count, &tag->last_wrap, 1);
 	__lazy_percpu_counter_add(&tag->bytes_allocated, &tag->last_wrap, bytes);
 }
diff --git a/include/linux/codetag.h b/include/linux/codetag.h
index 57736ec77b45..a10c5fcbdd20 100644
--- a/include/linux/codetag.h
+++ b/include/linux/codetag.h
@@ -104,7 +104,8 @@ struct codetag_with_ctx *ct_to_ctc(struct codetag *ct)
 }
 
 void codetag_lock_module_list(struct codetag_type *cttype, bool lock);
-struct codetag_iterator codetag_get_ct_iter(struct codetag_type *cttype);
+void codetag_init_iter(struct codetag_iterator *iter,
+		       struct codetag_type *cttype);
 struct codetag *codetag_next_ct(struct codetag_iterator *iter);
 struct codetag_ctx *codetag_next_ctx(struct codetag_iterator *iter);
 
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 08c97a978906..2790848464f1 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -977,6 +977,7 @@ config ALLOC_TAGGING
 	bool
 	select CODE_TAGGING
 	select LAZY_PERCPU_COUNTER
+	select STACKDEPOT
 
 config PAGE_ALLOC_TAGGING
 	bool "Enable page allocation tagging"
diff --git a/lib/alloc_tag.c b/lib/alloc_tag.c
index 082fbde184ef..50d7bdc2a3c8 100644
--- a/lib/alloc_tag.c
+++ b/lib/alloc_tag.c
@@ -1,12 +1,75 @@
 // SPDX-License-Identifier: GPL-2.0-only
 #include <linux/alloc_tag.h>
+#include <linux/codetag_ctx.h>
 #include <linux/debugfs.h>
 #include <linux/fs.h>
 #include <linux/gfp.h>
 #include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/sched/clock.h>
 #include <linux/seq_buf.h>
+#include <linux/stackdepot.h>
 #include <linux/uaccess.h>
 
+#define STACK_BUF_SIZE 1024
+
+struct alloc_call_ctx {
+	struct codetag_ctx ctx;
+	size_t size;
+	pid_t pid;
+	pid_t tgid;
+	char comm[TASK_COMM_LEN];
+	u64 ts_nsec;
+	depot_stack_handle_t stack_handle;
+} __aligned(8);
+
+static void alloc_tag_ops_free_ctx(struct kref *refcount)
+{
+	kfree(container_of(kref_to_ctx(refcount), struct alloc_call_ctx, ctx));
+}
+
+struct codetag_ctx *alloc_tag_create_ctx(struct alloc_tag *tag, size_t size)
+{
+	struct alloc_call_ctx *ac_ctx;
+
+	/* TODO: use a dedicated kmem_cache */
+	ac_ctx = kmalloc(sizeof(struct alloc_call_ctx), GFP_KERNEL);
+	if (WARN_ON(!ac_ctx))
+		return NULL;
+
+	ac_ctx->size = size;
+	ac_ctx->pid = current->pid;
+	ac_ctx->tgid = current->tgid;
+	strscpy(ac_ctx->comm, current->comm, sizeof(ac_ctx->comm));
+	ac_ctx->ts_nsec = local_clock();
+	ac_ctx->stack_handle =
+			stack_depot_capture_stack(GFP_NOWAIT | __GFP_NOWARN);
+	add_ctx(&ac_ctx->ctx, &tag->ctc);
+
+	return &ac_ctx->ctx;
+}
+EXPORT_SYMBOL_GPL(alloc_tag_create_ctx);
+
+void alloc_tag_free_ctx(struct codetag_ctx *ctx, struct alloc_tag **ptag)
+{
+	*ptag = ctc_to_alloc_tag(ctx->ctc);
+	rem_ctx(ctx, alloc_tag_ops_free_ctx);
+}
+EXPORT_SYMBOL_GPL(alloc_tag_free_ctx);
+
+bool alloc_tag_enable_ctx(struct alloc_tag *tag, bool enable)
+{
+	static bool stack_depot_ready;
+
+	if (enable && !stack_depot_ready) {
+		stack_depot_init();
+		stack_depot_capture_init();
+		stack_depot_ready = true;
+	}
+
+	return codetag_enable_ctx(&tag->ctc, enable);
+}
+
 #ifdef CONFIG_DEBUG_FS
 
 struct alloc_tag_file_iterator {
@@ -50,7 +113,7 @@ static int alloc_tag_file_open(struct inode *inode, struct file *file)
 		return -ENOMEM;
 
 	codetag_lock_module_list(cttype, true);
-	iter->ct_iter = codetag_get_ct_iter(cttype);
+	codetag_init_iter(&iter->ct_iter, cttype);
 	codetag_lock_module_list(cttype, false);
 	seq_buf_init(&iter->buf, iter->rawbuf, sizeof(iter->rawbuf));
 	file->private_data = iter;
@@ -111,14 +174,182 @@ static const struct file_operations alloc_tag_file_ops = {
 	.read	= alloc_tag_file_read,
 };
 
+static void alloc_tag_ctx_to_text(struct seq_buf *out, struct codetag_ctx *ctx)
+{
+	struct alloc_call_ctx *ac_ctx;
+	char *buf;
+
+	ac_ctx = container_of(ctx, struct alloc_call_ctx, ctx);
+	seq_buf_printf(out, "    size: %zu\n", ac_ctx->size);
+	seq_buf_printf(out, "    pid: %d\n", ac_ctx->pid);
+	seq_buf_printf(out, "    tgid: %d\n", ac_ctx->tgid);
+	seq_buf_printf(out, "    comm: %s\n", ac_ctx->comm);
+	seq_buf_printf(out, "    ts: %llu\n", ac_ctx->ts_nsec);
+
+	buf = kmalloc(STACK_BUF_SIZE, GFP_KERNEL);
+	if (buf) {
+		int bytes_read = stack_depot_snprint(ac_ctx->stack_handle, buf,
+						     STACK_BUF_SIZE - 1, 8);
+		buf[bytes_read] = '\0';
+		seq_buf_printf(out, "    call stack:\n%s\n", buf);
+	}
+	kfree(buf);
+}
+
+static ssize_t alloc_tag_ctx_file_read(struct file *file, char __user *ubuf,
+				       size_t size, loff_t *ppos)
+{
+	struct alloc_tag_file_iterator *iter = file->private_data;
+	struct codetag_iterator *ct_iter = &iter->ct_iter;
+	struct user_buf	buf = { .buf = ubuf, .size = size };
+	struct codetag_ctx *ctx;
+	struct codetag *prev_ct;
+	int err = 0;
+
+	codetag_lock_module_list(ct_iter->cttype, true);
+	while (1) {
+		err = flush_ubuf(&buf, &iter->buf);
+		if (err || !buf.size)
+			break;
+
+		prev_ct = ct_iter->ct;
+		ctx = codetag_next_ctx(ct_iter);
+		if (!ctx)
+			break;
+
+		if (prev_ct != &ctx->ctc->ct)
+			alloc_tag_to_text(&iter->buf, &ctx->ctc->ct);
+		alloc_tag_ctx_to_text(&iter->buf, ctx);
+	}
+	codetag_lock_module_list(ct_iter->cttype, false);
+
+	return err ? : buf.ret;
+}
+
+#define CTX_CAPTURE_TOKENS()	\
+	x(disable,	0)	\
+	x(enable,	0)
+
+static const char * const ctx_capture_token_strs[] = {
+#define x(name, nr_args)	#name,
+	CTX_CAPTURE_TOKENS()
+#undef x
+	NULL
+};
+
+enum ctx_capture_token {
+#define x(name, nr_args)	TOK_##name,
+	CTX_CAPTURE_TOKENS()
+#undef x
+};
+
+static int enable_ctx_capture(struct codetag_type *cttype,
+			      struct codetag_query *query, bool enable)
+{
+	struct codetag_iterator ct_iter;
+	struct codetag_with_ctx *ctc;
+	struct codetag *ct;
+	unsigned int nfound = 0;
+
+	codetag_lock_module_list(cttype, true);
+
+	codetag_init_iter(&ct_iter, cttype);
+	while ((ct = codetag_next_ct(&ct_iter))) {
+		if (!codetag_matches_query(query, ct, ct_iter.cmod, NULL))
+			continue;
+
+		ctc = ct_to_ctc(ct);
+		if (codetag_ctx_enabled(ctc) == enable)
+			continue;
+
+		if (!alloc_tag_enable_ctx(ctc_to_alloc_tag(ctc), enable)) {
+			pr_warn("Failed to toggle context capture\n");
+			continue;
+		}
+
+		nfound++;
+	}
+
+	codetag_lock_module_list(cttype, false);
+
+	return nfound ? 0 : -ENOENT;
+}
+
+static int parse_command(struct codetag_type *cttype, char *buf)
+{
+	struct codetag_query query = { NULL };
+	char *cmd;
+	int ret;
+	int tok;
+
+	buf = codetag_query_parse(&query, buf);
+	if (IS_ERR(buf))
+		return PTR_ERR(buf);
+
+	cmd = strsep_no_empty(&buf, " \t\r\n");
+	if (!cmd)
+		return -EINVAL;	/* no command */
+
+	tok = match_string(ctx_capture_token_strs,
+			   ARRAY_SIZE(ctx_capture_token_strs), cmd);
+	if (tok < 0)
+		return -EINVAL;	/* unknown command */
+
+	ret = enable_ctx_capture(cttype, &query, tok == TOK_enable);
+	if (ret < 0)
+		return ret;
+
+	return 0;
+}
+
+static ssize_t alloc_tag_ctx_file_write(struct file *file, const char __user *ubuf,
+					size_t len, loff_t *offp)
+{
+	struct alloc_tag_file_iterator *iter = file->private_data;
+	char tmpbuf[256];
+
+	if (len == 0)
+		return 0;
+	/* we don't check *offp -- multiple writes() are allowed */
+	if (len > sizeof(tmpbuf) - 1)
+		return -E2BIG;
+
+	if (copy_from_user(tmpbuf, ubuf, len))
+		return -EFAULT;
+
+	tmpbuf[len] = '\0';
+	parse_command(iter->ct_iter.cttype, tmpbuf);
+
+	*offp += len;
+	return len;
+}
+
+static const struct file_operations alloc_tag_ctx_file_ops = {
+	.owner	= THIS_MODULE,
+	.open	= alloc_tag_file_open,
+	.release = alloc_tag_file_release,
+	.read	= alloc_tag_ctx_file_read,
+	.write	= alloc_tag_ctx_file_write,
+};
+
 static int dbgfs_init(struct codetag_type *cttype)
 {
 	struct dentry *file;
+	struct dentry *ctx_file;
 
 	file = debugfs_create_file("alloc_tags", 0444, NULL, cttype,
 				   &alloc_tag_file_ops);
+	if (IS_ERR(file))
+		return PTR_ERR(file);
+
+	ctx_file = debugfs_create_file("alloc_tags.ctx", 0666, NULL, cttype,
+				       &alloc_tag_ctx_file_ops);
+	if (IS_ERR(ctx_file)) {
+		debugfs_remove(file);
+		return PTR_ERR(ctx_file);
+	}
 
-	return IS_ERR(file) ? PTR_ERR(file) : 0;
+	return 0;
 }
 
 #else /* CONFIG_DEBUG_FS */
@@ -129,9 +360,10 @@ static int dbgfs_init(struct codetag_type *) { return 0; }
 
 static void alloc_tag_module_unload(struct codetag_type *cttype, struct codetag_module *cmod)
 {
-	struct codetag_iterator iter = codetag_get_ct_iter(cttype);
+	struct codetag_iterator iter;
 	struct codetag *ct;
 
+	codetag_init_iter(&iter, cttype);
 	for (ct = codetag_next_ct(&iter); ct; ct = codetag_next_ct(&iter)) {
 		struct alloc_tag *tag = ct_to_alloc_tag(ct);
 
@@ -147,6 +379,7 @@ static int __init alloc_tag_init(void)
 		.section	= "alloc_tags",
 		.tag_size	= sizeof(struct alloc_tag),
 		.module_unload	= alloc_tag_module_unload,
+		.free_ctx	= alloc_tag_ops_free_ctx,
 	};
 
 	cttype = codetag_register_type(&desc);
diff --git a/lib/codetag.c b/lib/codetag.c
index 2762fda5c016..a936d2988c96 100644
--- a/lib/codetag.c
+++ b/lib/codetag.c
@@ -26,16 +26,14 @@ void codetag_lock_module_list(struct codetag_type *cttype, bool lock)
 		up_read(&cttype->mod_lock);
 }
 
-struct codetag_iterator codetag_get_ct_iter(struct codetag_type *cttype)
+void codetag_init_iter(struct codetag_iterator *iter,
+		       struct codetag_type *cttype)
 {
-	struct codetag_iterator iter = {
-		.cttype = cttype,
-		.cmod = NULL,
-		.mod_id = 0,
-		.ct = NULL,
-	};
-
-	return iter;
+	iter->cttype = cttype;
+	iter->cmod = NULL;
+	iter->mod_id = 0;
+	iter->ct = NULL;
+	iter->ctx = NULL;
 }
 
 static inline struct codetag *get_first_module_ct(struct codetag_module *cmod)
@@ -127,6 +125,10 @@ struct codetag_ctx *codetag_next_ctx(struct codetag_iterator *iter)
 
 	lockdep_assert_held(&iter->cttype->mod_lock);
 
+	/* Move to the first codetag if search just started */
+	if (!iter->ct)
+		codetag_next_ct(iter);
+
 	if (!ctx)
 		return next_ctx_from_ct(iter);
 
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395201.635119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvR-0004Ax-RV; Wed, 31 Aug 2022 05:06:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395201.635119; Wed, 31 Aug 2022 05:06:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvP-0003qS-3c; Wed, 31 Aug 2022 05:06:03 +0000
Received: by outflank-mailman (input) for mailman id 395201;
 Tue, 30 Aug 2022 21:50:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZvJW=ZC=flex--surenb.bounces.google.com=3HYYOYwYKCYIy0xkthmuumrk.ius3kt-jk1krroyzy.3ktvxupkiz.uxm@srs-se1.protection.inumbo.net>)
 id 1oT97o-0008Cd-7k
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:24 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf6f8056-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:23 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 l9-20020a252509000000b00695eb4f1422so722060ybl.13
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf6f8056-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=OQ1/DMahF4uWAfLYh5vc64TkQSOW6G8gA0sp/Oew5U4=;
        b=E6n8RLBDvVdKTt99wS7gonDHgXGyFD48wANdOMf152JDQ5KdmSOWFLIpRW6kDDjotY
         x+AW587u5EK6tbc6fvifCLn56BbbsozOj5hKUEn6M41P4UEgc9OABsv5SIiQi/8oKY8R
         SnWivvj44LyiP0dXPWoI7mNyRDo/YzIUrD8I5hoMt+oKP1+hGTBP83QKTjsDABUbkjlp
         2WTgmE2oNacaN0/b3glSakcpEMlPWkX8Cq7584LeI9wCjV+07nZN/bVKQwFVm5Mw8GwD
         nmAvgbFTWQSM9f9o0sF35PvZg/TjRD7dQ6ibTq+wNYKM6OcUMOKofnZUPQGzw4DuByNO
         8QdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=OQ1/DMahF4uWAfLYh5vc64TkQSOW6G8gA0sp/Oew5U4=;
        b=1Eb4ZSyLqT+mxlRN2WrMmTWBxpdDXkDBCfpOQHHHWljU8IEk/2e3UEpcqutkAGMrMR
         Bw3rTC8nZsQwUnFC1iQaFEbGRYyPI7tW+6XgcbbjE7veMWlgLkzvEeCpHwvu+xBqW62Z
         kP1GWXZ3uAx4UL81xC0hjt4P7zJhDRTIpNI6/lS4gmfO9oHDFFrVfRCeOVlup4dVlmB0
         02EA22/0i4U3ENZh/LzDrtXl8yiJ2UvwucJMWCMWeYl+R8QP4BoTZhz9tCqaXm4ABm3l
         vFEZHaZOp0L982gA6Jqzco4VldO3jBzqE+jUNtvprRIFXQm9r3hdfr06EpVn11+7zwgK
         tHEw==
X-Gm-Message-State: ACgBeo3jqoJA5MlQDpwjRNQWkeGMD/k6ncbQpmShtHFPmnmbyhXF2uqd
	/J4EfFa4RP9crsBX89CTA1czznf3Gzs=
X-Google-Smtp-Source: AA6agR6JKAe3T4R70KWhBqCZIGWOR7vlkyzPVmWfqRUYHsRdrPe/NdFlMgKrQ6XnjzPBCyOacXIPh+/j+IY=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:6985:0:b0:695:8355:f894 with SMTP id
 e127-20020a256985000000b006958355f894mr13667557ybc.648.1661896221989; Tue, 30
 Aug 2022 14:50:21 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:11 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-23-surenb@google.com>
Subject: [RFC PATCH 22/30] Code tagging based fault injection
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

This adds a new fault injection capability, based on code tagging.

To use, simply insert somewhere in your code

  dynamic_fault("fault_class_name")

and check whether it returns true - if so, inject the error.
For example

  if (dynamic_fault("init"))
      return -EINVAL;

There's no need to define faults elsewhere, as with
include/linux/fault-injection.h. Faults show up in debugfs, under
/sys/kernel/debug/dynamic_faults, and can be selected based on
file/module/function/line number/class, and enabled permanently, or in
oneshot mode, or with a specified frequency.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/asm-generic/codetag.lds.h |   3 +-
 include/linux/dynamic_fault.h     |  79 +++++++
 include/linux/slab.h              |   3 +-
 lib/Kconfig.debug                 |   6 +
 lib/Makefile                      |   2 +
 lib/dynamic_fault.c               | 372 ++++++++++++++++++++++++++++++
 6 files changed, 463 insertions(+), 2 deletions(-)
 create mode 100644 include/linux/dynamic_fault.h
 create mode 100644 lib/dynamic_fault.c

diff --git a/include/asm-generic/codetag.lds.h b/include/asm-generic/codetag.lds.h
index 64f536b80380..16fbf74edc3d 100644
--- a/include/asm-generic/codetag.lds.h
+++ b/include/asm-generic/codetag.lds.h
@@ -9,6 +9,7 @@
 	__stop_##_name = .;
 
 #define CODETAG_SECTIONS()		\
-	SECTION_WITH_BOUNDARIES(alloc_tags)
+	SECTION_WITH_BOUNDARIES(alloc_tags)		\
+	SECTION_WITH_BOUNDARIES(dynamic_fault_tags)
 
 #endif /* __ASM_GENERIC_CODETAG_LDS_H */
diff --git a/include/linux/dynamic_fault.h b/include/linux/dynamic_fault.h
new file mode 100644
index 000000000000..526a33209e94
--- /dev/null
+++ b/include/linux/dynamic_fault.h
@@ -0,0 +1,79 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef _LINUX_DYNAMIC_FAULT_H
+#define _LINUX_DYNAMIC_FAULT_H
+
+/*
+ * Dynamic/code tagging fault injection:
+ *
+ * Originally based on the dynamic debug trick of putting types in a special elf
+ * section, then rewritten using code tagging:
+ *
+ * To use, simply insert a call to dynamic_fault("fault_class"), which will
+ * return true if an error should be injected.
+ *
+ * Fault injection sites may be listed and enabled via debugfs, under
+ * /sys/kernel/debug/dynamic_faults.
+ */
+
+#ifdef CONFIG_CODETAG_FAULT_INJECTION
+
+#include <linux/codetag.h>
+#include <linux/jump_label.h>
+
+#define DFAULT_STATES()		\
+	x(disabled)		\
+	x(enabled)		\
+	x(oneshot)
+
+enum dfault_enabled {
+#define x(n)	DFAULT_##n,
+	DFAULT_STATES()
+#undef x
+};
+
+union dfault_state {
+	struct {
+		unsigned int		enabled:2;
+		unsigned int		count:30;
+	};
+
+	struct {
+		unsigned int		v;
+	};
+};
+
+struct dfault {
+	struct codetag		tag;
+	const char		*class;
+	unsigned int		frequency;
+	union dfault_state	state;
+	struct static_key_false	enabled;
+};
+
+bool __dynamic_fault_enabled(struct dfault *df);
+
+#define dynamic_fault(_class)				\
+({							\
+	static struct dfault				\
+	__used						\
+	__section("dynamic_fault_tags")			\
+	__aligned(8) df = {				\
+		.tag	= CODE_TAG_INIT,		\
+		.class	= _class,			\
+		.enabled = STATIC_KEY_FALSE_INIT,	\
+	};						\
+							\
+	static_key_false(&df.enabled.key) &&		\
+		__dynamic_fault_enabled(&df);		\
+})
+
+#else
+
+#define dynamic_fault(_class)	false
+
+#endif /* CODETAG_FAULT_INJECTION */
+
+#define memory_fault()		dynamic_fault("memory")
+
+#endif /* _LINUX_DYNAMIC_FAULT_H */
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 89273be35743..4be5a93ed15a 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -17,6 +17,7 @@
 #include <linux/types.h>
 #include <linux/workqueue.h>
 #include <linux/percpu-refcount.h>
+#include <linux/dynamic_fault.h>
 
 
 /*
@@ -468,7 +469,7 @@ static inline void slab_tag_dec(const void *ptr) {}
 
 #define krealloc_hooks(_p, _do_alloc)					\
 ({									\
-	void *_res = _do_alloc;						\
+	void *_res = !memory_fault() ? _do_alloc : NULL;		\
 	slab_tag_add(_p, _res);						\
 	_res;								\
 })
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 2790848464f1..b7d03afbc808 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1982,6 +1982,12 @@ config FAULT_INJECTION_STACKTRACE_FILTER
 	help
 	  Provide stacktrace filter for fault-injection capabilities
 
+config CODETAG_FAULT_INJECTION
+	bool "Code tagging based fault injection"
+	select CODE_TAGGING
+	help
+	  Dynamic fault injection based on code tagging
+
 config ARCH_HAS_KCOV
 	bool
 	help
diff --git a/lib/Makefile b/lib/Makefile
index 99f732156673..489ea000c528 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -231,6 +231,8 @@ obj-$(CONFIG_CODE_TAGGING) += codetag.o
 obj-$(CONFIG_ALLOC_TAGGING) += alloc_tag.o
 obj-$(CONFIG_PAGE_ALLOC_TAGGING) += pgalloc_tag.o
 
+obj-$(CONFIG_CODETAG_FAULT_INJECTION) += dynamic_fault.o
+
 lib-$(CONFIG_GENERIC_BUG) += bug.o
 
 obj-$(CONFIG_HAVE_ARCH_TRACEHOOK) += syscall.o
diff --git a/lib/dynamic_fault.c b/lib/dynamic_fault.c
new file mode 100644
index 000000000000..4c9cd18686be
--- /dev/null
+++ b/lib/dynamic_fault.c
@@ -0,0 +1,372 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+#include <linux/ctype.h>
+#include <linux/debugfs.h>
+#include <linux/dynamic_fault.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/seq_buf.h>
+
+static struct codetag_type *cttype;
+
+bool __dynamic_fault_enabled(struct dfault *df)
+{
+	union dfault_state old, new;
+	unsigned int v = df->state.v;
+	bool ret;
+
+	do {
+		old.v = new.v = v;
+
+		if (new.enabled == DFAULT_disabled)
+			return false;
+
+		ret = df->frequency
+			? ++new.count >= df->frequency
+			: true;
+		if (ret)
+			new.count = 0;
+		if (ret && new.enabled == DFAULT_oneshot)
+			new.enabled = DFAULT_disabled;
+	} while ((v = cmpxchg(&df->state.v, old.v, new.v)) != old.v);
+
+	if (ret)
+		pr_debug("returned true for %s:%u", df->tag.filename, df->tag.lineno);
+
+	return ret;
+}
+EXPORT_SYMBOL(__dynamic_fault_enabled);
+
+static const char * const dfault_state_strs[] = {
+#define x(n)	#n,
+	DFAULT_STATES()
+#undef x
+	NULL
+};
+
+static void dynamic_fault_to_text(struct seq_buf *out, struct dfault *df)
+{
+	codetag_to_text(out, &df->tag);
+	seq_buf_printf(out, "class:%s %s \"", df->class,
+		       dfault_state_strs[df->state.enabled]);
+}
+
+struct dfault_query {
+	struct codetag_query q;
+
+	bool		set_enabled:1;
+	unsigned int	enabled:2;
+
+	bool		set_frequency:1;
+	unsigned int	frequency;
+};
+
+/*
+ * Search the tables for _dfault's which match the given
+ * `query' and apply the `flags' and `mask' to them.  Tells
+ * the user which dfault's were changed, or whether none
+ * were matched.
+ */
+static int dfault_change(struct dfault_query *query)
+{
+	struct codetag_iterator ct_iter;
+	struct codetag *ct;
+	unsigned int nfound = 0;
+
+	codetag_lock_module_list(cttype, true);
+	codetag_init_iter(&ct_iter, cttype);
+
+	while ((ct = codetag_next_ct(&ct_iter))) {
+		struct dfault *df = container_of(ct, struct dfault, tag);
+
+		if (!codetag_matches_query(&query->q, ct, ct_iter.cmod, df->class))
+			continue;
+
+		if (query->set_enabled &&
+		    query->enabled != df->state.enabled) {
+			if (query->enabled != DFAULT_disabled)
+				static_key_slow_inc(&df->enabled.key);
+			else if (df->state.enabled != DFAULT_disabled)
+				static_key_slow_dec(&df->enabled.key);
+
+			df->state.enabled = query->enabled;
+		}
+
+		if (query->set_frequency)
+			df->frequency = query->frequency;
+
+		pr_debug("changed %s:%d [%s]%s #%d %s",
+			 df->tag.filename, df->tag.lineno, df->tag.modname,
+			 df->tag.function, query->q.cur_index,
+			 dfault_state_strs[df->state.enabled]);
+
+		nfound++;
+	}
+
+	pr_debug("dfault: %u matches", nfound);
+
+	codetag_lock_module_list(cttype, false);
+
+	return nfound ? 0 : -ENOENT;
+}
+
+#define DFAULT_TOKENS()		\
+	x(disable,	0)	\
+	x(enable,	0)	\
+	x(oneshot,	0)	\
+	x(frequency,	1)
+
+enum dfault_token {
+#define x(name, nr_args)	TOK_##name,
+	DFAULT_TOKENS()
+#undef x
+};
+
+static const char * const dfault_token_strs[] = {
+#define x(name, nr_args)	#name,
+	DFAULT_TOKENS()
+#undef x
+	NULL
+};
+
+static unsigned int dfault_token_nr_args[] = {
+#define x(name, nr_args)	nr_args,
+	DFAULT_TOKENS()
+#undef x
+};
+
+static enum dfault_token str_to_token(const char *word, unsigned int nr_words)
+{
+	int tok = match_string(dfault_token_strs, ARRAY_SIZE(dfault_token_strs), word);
+
+	if (tok < 0) {
+		pr_debug("unknown keyword \"%s\"", word);
+		return tok;
+	}
+
+	if (nr_words < dfault_token_nr_args[tok]) {
+		pr_debug("insufficient arguments to \"%s\"", word);
+		return -EINVAL;
+	}
+
+	return tok;
+}
+
+static int dfault_parse_command(struct dfault_query *query,
+				enum dfault_token tok,
+				char *words[], size_t nr_words)
+{
+	unsigned int i = 0;
+	int ret;
+
+	switch (tok) {
+	case TOK_disable:
+		query->set_enabled = true;
+		query->enabled = DFAULT_disabled;
+		break;
+	case TOK_enable:
+		query->set_enabled = true;
+		query->enabled = DFAULT_enabled;
+		break;
+	case TOK_oneshot:
+		query->set_enabled = true;
+		query->enabled = DFAULT_oneshot;
+		break;
+	case TOK_frequency:
+		query->set_frequency = 1;
+		ret = kstrtouint(words[i++], 10, &query->frequency);
+		if (ret)
+			return ret;
+
+		if (!query->set_enabled) {
+			query->set_enabled = 1;
+			query->enabled = DFAULT_enabled;
+		}
+		break;
+	}
+
+	return i;
+}
+
+static int dynamic_fault_store(char *buf)
+{
+	struct dfault_query query = { NULL };
+#define MAXWORDS 9
+	char *tok, *words[MAXWORDS];
+	int ret, nr_words, i = 0;
+
+	buf = codetag_query_parse(&query.q, buf);
+	if (IS_ERR(buf))
+		return PTR_ERR(buf);
+
+	while ((tok = strsep_no_empty(&buf, " \t\r\n"))) {
+		if (nr_words == ARRAY_SIZE(words))
+			return -EINVAL;	/* ran out of words[] before bytes */
+		words[nr_words++] = tok;
+	}
+
+	while (i < nr_words) {
+		const char *tok_str = words[i++];
+		enum dfault_token tok = str_to_token(tok_str, nr_words - i);
+
+		if (tok < 0)
+			return tok;
+
+		ret = dfault_parse_command(&query, tok, words + i, nr_words - i);
+		if (ret < 0)
+			return ret;
+
+		i += ret;
+		BUG_ON(i > nr_words);
+	}
+
+	pr_debug("q->function=\"%s\" q->filename=\"%s\" "
+		 "q->module=\"%s\" q->line=%u-%u\n q->index=%u-%u",
+		 query.q.function, query.q.filename, query.q.module,
+		 query.q.first_line, query.q.last_line,
+		 query.q.first_index, query.q.last_index);
+
+	ret = dfault_change(&query);
+	if (ret < 0)
+		return ret;
+
+	return 0;
+}
+
+struct dfault_iter {
+	struct codetag_iterator ct_iter;
+
+	struct seq_buf		buf;
+	char			rawbuf[4096];
+};
+
+static int dfault_open(struct inode *inode, struct file *file)
+{
+	struct dfault_iter *iter;
+
+	iter = kzalloc(sizeof(*iter), GFP_KERNEL);
+	if (!iter)
+		return -ENOMEM;
+
+	codetag_lock_module_list(cttype, true);
+	codetag_init_iter(&iter->ct_iter, cttype);
+	codetag_lock_module_list(cttype, false);
+
+	file->private_data = iter;
+	seq_buf_init(&iter->buf, iter->rawbuf, sizeof(iter->rawbuf));
+	return 0;
+}
+
+static int dfault_release(struct inode *inode, struct file *file)
+{
+	struct dfault_iter *iter = file->private_data;
+
+	kfree(iter);
+	return 0;
+}
+
+struct user_buf {
+	char __user		*buf;	/* destination user buffer */
+	size_t			size;	/* size of requested read */
+	ssize_t			ret;	/* bytes read so far */
+};
+
+static int flush_ubuf(struct user_buf *dst, struct seq_buf *src)
+{
+	if (src->len) {
+		size_t bytes = min_t(size_t, src->len, dst->size);
+		int err = copy_to_user(dst->buf, src->buffer, bytes);
+
+		if (err)
+			return err;
+
+		dst->ret	+= bytes;
+		dst->buf	+= bytes;
+		dst->size	-= bytes;
+		src->len	-= bytes;
+		memmove(src->buffer, src->buffer + bytes, src->len);
+	}
+
+	return 0;
+}
+
+static ssize_t dfault_read(struct file *file, char __user *ubuf,
+			   size_t size, loff_t *ppos)
+{
+	struct dfault_iter *iter = file->private_data;
+	struct user_buf	buf = { .buf = ubuf, .size = size };
+	struct codetag *ct;
+	struct dfault *df;
+	int err;
+
+	codetag_lock_module_list(iter->ct_iter.cttype, true);
+	while (1) {
+		err = flush_ubuf(&buf, &iter->buf);
+		if (err || !buf.size)
+			break;
+
+		ct = codetag_next_ct(&iter->ct_iter);
+		if (!ct)
+			break;
+
+		df = container_of(ct, struct dfault, tag);
+		dynamic_fault_to_text(&iter->buf, df);
+		seq_buf_putc(&iter->buf, '\n');
+	}
+	codetag_lock_module_list(iter->ct_iter.cttype, false);
+
+	return err ?: buf.ret;
+}
+
+/*
+ * File_ops->write method for <debugfs>/dynamic_fault/conrol.  Gathers the
+ * command text from userspace, parses and executes it.
+ */
+static ssize_t dfault_write(struct file *file, const char __user *ubuf,
+			    size_t len, loff_t *offp)
+{
+	char tmpbuf[256];
+
+	if (len == 0)
+		return 0;
+	/* we don't check *offp -- multiple writes() are allowed */
+	if (len > sizeof(tmpbuf)-1)
+		return -E2BIG;
+	if (copy_from_user(tmpbuf, ubuf, len))
+		return -EFAULT;
+	tmpbuf[len] = '\0';
+	pr_debug("read %zu bytes from userspace", len);
+
+	dynamic_fault_store(tmpbuf);
+
+	*offp += len;
+	return len;
+}
+
+static const struct file_operations dfault_ops = {
+	.owner	= THIS_MODULE,
+	.open	= dfault_open,
+	.release = dfault_release,
+	.read	= dfault_read,
+	.write	= dfault_write
+};
+
+static int __init dynamic_fault_init(void)
+{
+	const struct codetag_type_desc desc = {
+		.section = "dynamic_fault_tags",
+		.tag_size = sizeof(struct dfault),
+	};
+	struct dentry *debugfs_file;
+
+	cttype = codetag_register_type(&desc);
+	if (IS_ERR_OR_NULL(cttype))
+		return PTR_ERR(cttype);
+
+	debugfs_file = debugfs_create_file("dynamic_faults", 0666, NULL, NULL, &dfault_ops);
+	if (IS_ERR(debugfs_file))
+		return PTR_ERR(debugfs_file);
+
+	return 0;
+}
+module_init(dynamic_fault_init);
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395203.635131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvU-0004t7-4p; Wed, 31 Aug 2022 05:06:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395203.635131; Wed, 31 Aug 2022 05:06:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvS-0004ko-8c; Wed, 31 Aug 2022 05:06:06 +0000
Received: by outflank-mailman (input) for mailman id 395203;
 Tue, 30 Aug 2022 21:59:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nf95=ZC=flex--surenb.bounces.google.com=3E4YOYwYKCXgoqnajXckkcha.Ykitaj-Zarahheopo.tajlnkfaYp.knc@srs-se1.protection.inumbo.net>)
 id 1oT97d-0008CX-Kz
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:13 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b94d2801-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:50:12 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 n16-20020a258d10000000b0068df1e297c0so720250ybl.15
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b94d2801-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=ofrC1PqNoYIKnyKYWjHD7inVuacSGBJJLHypr0RookE=;
        b=VGRf/84iZ1p67fJnvZ/X1xcCS67elVIPk9IGJJ+bUuWMMIF3sRy7RxzaFdrO+WG7dH
         d/TlbooTEmNgUOWOqFkIyFyAhgj636EU+aMGf3bhfUhI9LPGF0x0v39+rp3COSYRpICF
         emKVXtjPhIhzNDYojpJwNosafP0nhIDkwMZkM1SszHz/jzoceNfVxm+3TZcljgHgvL8y
         TVQxs/Koc6RZpeES3hIup/YjX0wdMTaa96AxFv1wg+iYYTwvZ7GGZBg+tBO+knqi5Juw
         fEBz0idUpafaOWyAi5+6IN+BrsO4tEn9FOM/qV9RCHSE0DEDO6hWPkFyyM8anxAPc5xB
         lw8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=ofrC1PqNoYIKnyKYWjHD7inVuacSGBJJLHypr0RookE=;
        b=3nqD3l/VKGnRoIr/se4bPlfIRehZgSb3zLZ4OguYhz+pTji04LfPR8vB6p7yjwyr5j
         263l5m1mFzD67pzYjTXrxJtaEUkQmOlGbFaEExN61MmZok0Sikcwjj26A8oi3m0G/4fe
         Z9oQ0PxSG/CtsYjBNWMEwF2wvEVdcLjSoXPBDprefikUvEaH9um15ORzNI7zTsbV4jRa
         qMzztppYZkLHSLAnwji7kfuoMZ3RIhc5e3GKR8irBmlV5LMLT4IvTfvNECHgQXeR/ytO
         nmQEgtXtzGwHMTxAyOaveIKT6uztlv2Mf/RgiUWBrL5Z9WV+iq5fqaJOBAvDCvM5ArOe
         I6Tw==
X-Gm-Message-State: ACgBeo20f7yNmBaLUG7ipkClo48TeXDXkwaGPYn5DrEsRkr43wXfit+m
	Vu0F91CgRM+5CQPthGhuPNgIyxK4ckQ=
X-Google-Smtp-Source: AA6agR5S9pMWRwrdqx3FNbA74RB4ArEfkNsuNbxmIMNnFeUvwj+w6zosapneZCdX4VxzXX80wAu2gx5OQhs=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a0d:cd43:0:b0:329:febf:8c25 with SMTP id
 p64-20020a0dcd43000000b00329febf8c25mr15393402ywd.90.1661896211649; Tue, 30
 Aug 2022 14:50:11 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:07 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-19-surenb@google.com>
Subject: [RFC PATCH 18/30] codetag: add codetag query helper functions
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

Provide codetag_query_parse() to parse codetag queries and
codetag_matches_query() to check if the query affects a given codetag.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/codetag.h |  27 ++++++++
 lib/codetag.c           | 135 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 162 insertions(+)

diff --git a/include/linux/codetag.h b/include/linux/codetag.h
index 386733e89b31..0c605417ebbe 100644
--- a/include/linux/codetag.h
+++ b/include/linux/codetag.h
@@ -80,4 +80,31 @@ static inline void codetag_load_module(struct module *mod) {}
 static inline void codetag_unload_module(struct module *mod) {}
 #endif
 
+/* Codetag query parsing */
+
+struct codetag_query {
+	const char	*filename;
+	const char	*module;
+	const char	*function;
+	const char	*class;
+	unsigned int	first_line, last_line;
+	unsigned int	first_index, last_index;
+	unsigned int	cur_index;
+
+	bool		match_line:1;
+	bool		match_index:1;
+
+	unsigned int	set_enabled:1;
+	unsigned int	enabled:2;
+
+	unsigned int	set_frequency:1;
+	unsigned int	frequency;
+};
+
+char *codetag_query_parse(struct codetag_query *q, char *buf);
+bool codetag_matches_query(struct codetag_query *q,
+			   const struct codetag *ct,
+			   const struct codetag_module *mod,
+			   const char *class);
+
 #endif /* _LINUX_CODETAG_H */
diff --git a/lib/codetag.c b/lib/codetag.c
index f0a3174f9b71..288ccfd5cbd0 100644
--- a/lib/codetag.c
+++ b/lib/codetag.c
@@ -246,3 +246,138 @@ void codetag_unload_module(struct module *mod)
 	}
 	mutex_unlock(&codetag_lock);
 }
+
+/* Codetag query parsing */
+
+#define CODETAG_QUERY_TOKENS()	\
+	x(func)			\
+	x(file)			\
+	x(line)			\
+	x(module)		\
+	x(class)		\
+	x(index)
+
+enum tokens {
+#define x(name)		TOK_##name,
+	CODETAG_QUERY_TOKENS()
+#undef x
+};
+
+static const char * const token_strs[] = {
+#define x(name)		#name,
+	CODETAG_QUERY_TOKENS()
+#undef x
+	NULL
+};
+
+static int parse_range(char *str, unsigned int *first, unsigned int *last)
+{
+	char *first_str = str;
+	char *last_str = strchr(first_str, '-');
+
+	if (last_str)
+		*last_str++ = '\0';
+
+	if (kstrtouint(first_str, 10, first))
+		return -EINVAL;
+
+	if (!last_str)
+		*last = *first;
+	else if (kstrtouint(last_str, 10, last))
+		return -EINVAL;
+
+	return 0;
+}
+
+char *codetag_query_parse(struct codetag_query *q, char *buf)
+{
+	while (1) {
+		char *p = buf;
+		char *str1 = strsep_no_empty(&p, " \t\r\n");
+		char *str2 = strsep_no_empty(&p, " \t\r\n");
+		int ret, token;
+
+		if (!str1 || !str2)
+			break;
+
+		token = match_string(token_strs, ARRAY_SIZE(token_strs), str1);
+		if (token < 0)
+			break;
+
+		switch (token) {
+		case TOK_func:
+			q->function = str2;
+			break;
+		case TOK_file:
+			q->filename = str2;
+			break;
+		case TOK_line:
+			ret = parse_range(str2, &q->first_line, &q->last_line);
+			if (ret)
+				return ERR_PTR(ret);
+			q->match_line = true;
+			break;
+		case TOK_module:
+			q->module = str2;
+			break;
+		case TOK_class:
+			q->class = str2;
+			break;
+		case TOK_index:
+			ret = parse_range(str2, &q->first_index, &q->last_index);
+			if (ret)
+				return ERR_PTR(ret);
+			q->match_index = true;
+			break;
+		}
+
+		buf = p;
+	}
+
+	return buf;
+}
+
+bool codetag_matches_query(struct codetag_query *q,
+			   const struct codetag *ct,
+			   const struct codetag_module *mod,
+			   const char *class)
+{
+	size_t classlen = q->class ? strlen(q->class) : 0;
+
+	if (q->module &&
+	    (!mod->mod ||
+	     strcmp(q->module, ct->modname)))
+		return false;
+
+	if (q->filename &&
+	    strcmp(q->filename, ct->filename) &&
+	    strcmp(q->filename, kbasename(ct->filename)))
+		return false;
+
+	if (q->function &&
+	    strcmp(q->function, ct->function))
+		return false;
+
+	/* match against the line number range */
+	if (q->match_line &&
+	    (ct->lineno < q->first_line ||
+	     ct->lineno > q->last_line))
+		return false;
+
+	/* match against the class */
+	if (classlen &&
+	    (strncmp(q->class, class, classlen) ||
+	     (class[classlen] && class[classlen] != ':')))
+		return false;
+
+	/* match against the fault index */
+	if (q->match_index &&
+	    (q->cur_index < q->first_index ||
+	     q->cur_index > q->last_index)) {
+		q->cur_index++;
+		return false;
+	}
+
+	q->cur_index++;
+	return true;
+}
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395204.635143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvW-0005bf-RG; Wed, 31 Aug 2022 05:06:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395204.635143; Wed, 31 Aug 2022 05:06:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvV-0005Qx-77; Wed, 31 Aug 2022 05:06:09 +0000
Received: by outflank-mailman (input) for mailman id 395204;
 Tue, 30 Aug 2022 21:59:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o/BU=ZC=flex--surenb.bounces.google.com=3KIYOYwYKCY09B8v4sx55x2v.t53Ev4-uvCv22z9A9.Ev46850vtA.58x@srs-se1.protection.inumbo.net>)
 id 1oT97y-0008Cd-Ou
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:34 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5c74bdb-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:33 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 d8-20020a25bc48000000b00680651cf051so725656ybk.23
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5c74bdb-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=q8clZUHCVXNR9yzPtPwGAp/8c18i/nqvvNYb9V5EY+0=;
        b=nwraOOA8rbsDfrvp5gBz8rYLe0NDJnSuxfKXWTc3i5fQmEeQNcPETe8KaY9Mt9/+1r
         ov+Vf6KkAdui0Rmw1+5xSKYNrSBv2kWObfOZUmmiPaKz9kQgQUwPGyNfu/DYb4bPK42K
         36D96qfHlnHXTqqxaW28I0UFsAs+LSQcoibyPA3rdTyOgd8YqbSgEUdft4zOlN2gaNbw
         dVh3tFK6UzGRc+MjeMOQD3ATSE//iPHaMa+xktBjpyqEQSekSHvIyA0BP3Rq7kUAJkb0
         tRcC/6q0Z5Rvm1vf/73MAHgozRrLOYJlaS49+Ebjg2YexCVtD/Vs4zwcF2pG9WHANRAT
         ZYUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=q8clZUHCVXNR9yzPtPwGAp/8c18i/nqvvNYb9V5EY+0=;
        b=Pj1suJwgn9NCKtUzqgtopMD4b9B/4r3ncPtGIGRzX3wsfxGkE6PJI4MkrFDa8JRxDg
         YmCMq+uMSnRPTbwSWQMh+51QHO4GpBah3vTw0GNhMLmd/nZUtBUcUGeJZRhsh8mEIAEr
         DZ+FYKDgQP9pssQMrvpevBRBOX05Y5FBMfWymtELyKx4uvaMLZ4faRbxB+k9hbJmVokc
         CmaMZTtVZBgrUPRGhmhbwFG0oHSj/Tjbk1ZfPegno69A56TsN455OfcC942MVPRSL10S
         Fwx5V/ZEap4pH4q5w4+ChkKoLelLRCbdttdoaMYJrVD/zoWBwwPaPuMNavcEHnnyb0gj
         mZ1A==
X-Gm-Message-State: ACgBeo3HN5Tcs8hKN+6CGF7BNWO5Rgf28BOrdHvRk6Z+0+LFpzXT3RNa
	nGXUMRU85CwtamXIiz0w6bRCBXkdrjQ=
X-Google-Smtp-Source: AA6agR6QQvnvy8mDyUDzzIm8p3bCu8QCjthbfoOD2oTtJsYiGZpiHSGB1TzI0H74pXNHM3rxRxKb4sF+hq0=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a5b:2ce:0:b0:67a:6054:9eb0 with SMTP id
 h14-20020a5b02ce000000b0067a60549eb0mr13092972ybp.15.1661896232608; Tue, 30
 Aug 2022 14:50:32 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:15 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-27-surenb@google.com>
Subject: [RFC PATCH 26/30] bcache: Convert to lib/time_stats
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org, Coly Li <colyli@suse.de>
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

This patch converts bcache to the new generic time_stats code
lib/time_stats.c. The new code is from bcachefs, and has some changes
from the version in bcache:

 - we now use ktime_get_ns(), not local_clock(). When the code was
   originally written multi processor systems that lacked synchronized
   TSCs were still common, and so local_clock() was much cheaper than
   sched_clock() (though not necessarily fully accurate, due to TSC
   drift). ktime_get_ns() should be cheap enough on all common hardware
   now, and more standard/correct.

 - time_stats are now exported in a single file in sysfs, which means we
   can improve the statistics we keep track of without changing all
   users. This also means we don't have to manually specify which units
   (ms, us, ns) a given time_stats should be printed in; that's handled
   dynamically.

 - There's a lazily-allocated percpu buffer, which now needs to be freed
   with time_stats_exit().

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Coly Li <colyli@suse.de>
---
 drivers/md/bcache/Kconfig  |  1 +
 drivers/md/bcache/bcache.h |  1 +
 drivers/md/bcache/bset.c   |  8 +++---
 drivers/md/bcache/bset.h   |  1 +
 drivers/md/bcache/btree.c  | 12 ++++----
 drivers/md/bcache/super.c  |  3 ++
 drivers/md/bcache/sysfs.c  | 43 ++++++++++++++++++++--------
 drivers/md/bcache/util.c   | 30 --------------------
 drivers/md/bcache/util.h   | 57 --------------------------------------
 9 files changed, 47 insertions(+), 109 deletions(-)

diff --git a/drivers/md/bcache/Kconfig b/drivers/md/bcache/Kconfig
index 529c9d04e9a4..8d165052e508 100644
--- a/drivers/md/bcache/Kconfig
+++ b/drivers/md/bcache/Kconfig
@@ -4,6 +4,7 @@ config BCACHE
 	tristate "Block device as cache"
 	select BLOCK_HOLDER_DEPRECATED if SYSFS
 	select CRC64
+	select TIME_STATS
 	help
 	Allows a block device to be used as cache for other devices; uses
 	a btree for indexing and the layout is optimized for SSDs.
diff --git a/drivers/md/bcache/bcache.h b/drivers/md/bcache/bcache.h
index 2acda9cea0f9..5100010a3897 100644
--- a/drivers/md/bcache/bcache.h
+++ b/drivers/md/bcache/bcache.h
@@ -185,6 +185,7 @@
 #include <linux/rbtree.h>
 #include <linux/rwsem.h>
 #include <linux/refcount.h>
+#include <linux/time_stats.h>
 #include <linux/types.h>
 #include <linux/workqueue.h>
 #include <linux/kthread.h>
diff --git a/drivers/md/bcache/bset.c b/drivers/md/bcache/bset.c
index 94d38e8a59b3..727e9b7aead4 100644
--- a/drivers/md/bcache/bset.c
+++ b/drivers/md/bcache/bset.c
@@ -1251,7 +1251,7 @@ static void __btree_sort(struct btree_keys *b, struct btree_iter *iter,
 		order = state->page_order;
 	}
 
-	start_time = local_clock();
+	start_time = ktime_get_ns();
 
 	btree_mergesort(b, out, iter, fixup, false);
 	b->nsets = start;
@@ -1286,7 +1286,7 @@ static void __btree_sort(struct btree_keys *b, struct btree_iter *iter,
 	bch_bset_build_written_tree(b);
 
 	if (!start)
-		bch_time_stats_update(&state->time, start_time);
+		time_stats_update(&state->time, start_time);
 }
 
 void bch_btree_sort_partial(struct btree_keys *b, unsigned int start,
@@ -1322,14 +1322,14 @@ void bch_btree_sort_and_fix_extents(struct btree_keys *b,
 void bch_btree_sort_into(struct btree_keys *b, struct btree_keys *new,
 			 struct bset_sort_state *state)
 {
-	uint64_t start_time = local_clock();
+	uint64_t start_time = ktime_get_ns();
 	struct btree_iter iter;
 
 	bch_btree_iter_init(b, &iter, NULL);
 
 	btree_mergesort(b, new->set->data, &iter, false, true);
 
-	bch_time_stats_update(&state->time, start_time);
+	time_stats_update(&state->time, start_time);
 
 	new->set->size = 0; // XXX: why?
 }
diff --git a/drivers/md/bcache/bset.h b/drivers/md/bcache/bset.h
index d795c84246b0..13e524ad7783 100644
--- a/drivers/md/bcache/bset.h
+++ b/drivers/md/bcache/bset.h
@@ -3,6 +3,7 @@
 #define _BCACHE_BSET_H
 
 #include <linux/kernel.h>
+#include <linux/time_stats.h>
 #include <linux/types.h>
 
 #include "bcache_ondisk.h"
diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c
index 147c493a989a..abf543bc7551 100644
--- a/drivers/md/bcache/btree.c
+++ b/drivers/md/bcache/btree.c
@@ -242,7 +242,7 @@ static void btree_node_read_endio(struct bio *bio)
 
 static void bch_btree_node_read(struct btree *b)
 {
-	uint64_t start_time = local_clock();
+	uint64_t start_time = ktime_get_ns();
 	struct closure cl;
 	struct bio *bio;
 
@@ -270,7 +270,7 @@ static void bch_btree_node_read(struct btree *b)
 		goto err;
 
 	bch_btree_node_read_done(b);
-	bch_time_stats_update(&b->c->btree_read_time, start_time);
+	time_stats_update(&b->c->btree_read_time, start_time);
 
 	return;
 err:
@@ -1789,7 +1789,7 @@ static void bch_btree_gc(struct cache_set *c)
 	struct gc_stat stats;
 	struct closure writes;
 	struct btree_op op;
-	uint64_t start_time = local_clock();
+	uint64_t start_time = ktime_get_ns();
 
 	trace_bcache_gc_start(c);
 
@@ -1815,7 +1815,7 @@ static void bch_btree_gc(struct cache_set *c)
 	bch_btree_gc_finish(c);
 	wake_up_allocators(c);
 
-	bch_time_stats_update(&c->btree_gc_time, start_time);
+	time_stats_update(&c->btree_gc_time, start_time);
 
 	stats.key_bytes *= sizeof(uint64_t);
 	stats.data	<<= 9;
@@ -2191,7 +2191,7 @@ static int btree_split(struct btree *b, struct btree_op *op,
 {
 	bool split;
 	struct btree *n1, *n2 = NULL, *n3 = NULL;
-	uint64_t start_time = local_clock();
+	uint64_t start_time = ktime_get_ns();
 	struct closure cl;
 	struct keylist parent_keys;
 
@@ -2297,7 +2297,7 @@ static int btree_split(struct btree *b, struct btree_op *op,
 	btree_node_free(b);
 	rw_unlock(true, n1);
 
-	bch_time_stats_update(&b->c->btree_split_time, start_time);
+	time_stats_update(&b->c->btree_split_time, start_time);
 
 	return 0;
 err_free2:
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index ba3909bb6bea..26c8fa93b55d 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1691,6 +1691,9 @@ static void cache_set_free(struct closure *cl)
 		kobject_put(&ca->kobj);
 	}
 
+	time_stats_exit(&c->btree_gc_time);
+	time_stats_exit(&c->btree_split_time);
+	time_stats_exit(&c->sort.time);
 
 	if (c->moving_gc_wq)
 		destroy_workqueue(c->moving_gc_wq);
diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
index c6f677059214..01eec5877cd7 100644
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -16,6 +16,7 @@
 #include <linux/blkdev.h>
 #include <linux/sort.h>
 #include <linux/sched/clock.h>
+#include <linux/seq_buf.h>
 
 extern bool bcache_is_reboot;
 
@@ -79,10 +80,10 @@ read_attribute(active_journal_entries);
 read_attribute(backing_dev_name);
 read_attribute(backing_dev_uuid);
 
-sysfs_time_stats_attribute(btree_gc,	sec, ms);
-sysfs_time_stats_attribute(btree_split, sec, us);
-sysfs_time_stats_attribute(btree_sort,	ms,  us);
-sysfs_time_stats_attribute(btree_read,	ms,  us);
+read_attribute(btree_gc_time);
+read_attribute(btree_split_time);
+read_attribute(btree_sort_time);
+read_attribute(btree_read_time);
 
 read_attribute(btree_nodes);
 read_attribute(btree_used_percent);
@@ -731,6 +732,9 @@ static unsigned int bch_average_key_size(struct cache_set *c)
 SHOW(__bch_cache_set)
 {
 	struct cache_set *c = container_of(kobj, struct cache_set, kobj);
+	struct seq_buf s;
+
+	seq_buf_init(&s, buf, PAGE_SIZE);
 
 	sysfs_print(synchronous,		CACHE_SYNC(&c->cache->sb));
 	sysfs_print(journal_delay_ms,		c->journal_delay_ms);
@@ -743,10 +747,25 @@ SHOW(__bch_cache_set)
 	sysfs_print(btree_cache_max_chain,	bch_cache_max_chain(c));
 	sysfs_print(cache_available_percent,	100 - c->gc_stats.in_use);
 
-	sysfs_print_time_stats(&c->btree_gc_time,	btree_gc, sec, ms);
-	sysfs_print_time_stats(&c->btree_split_time,	btree_split, sec, us);
-	sysfs_print_time_stats(&c->sort.time,		btree_sort, ms, us);
-	sysfs_print_time_stats(&c->btree_read_time,	btree_read, ms, us);
+	if (attr == &sysfs_btree_gc_time) {
+		time_stats_to_text(&s, &c->btree_gc_time);
+		return s.len;
+	}
+
+	if (attr == &sysfs_btree_split_time) {
+		time_stats_to_text(&s, &c->btree_split_time);
+		return s.len;
+	}
+
+	if (attr == &sysfs_btree_sort_time) {
+		time_stats_to_text(&s, &c->sort.time);
+		return s.len;
+	}
+
+	if (attr == &sysfs_btree_read_time) {
+		time_stats_to_text(&s, &c->btree_read_time);
+		return s.len;
+	}
 
 	sysfs_print(btree_used_percent,	bch_btree_used(c));
 	sysfs_print(btree_nodes,	c->gc_stats.nodes);
@@ -988,10 +1007,10 @@ KTYPE(bch_cache_set);
 static struct attribute *bch_cache_set_internal_attrs[] = {
 	&sysfs_active_journal_entries,
 
-	sysfs_time_stats_attribute_list(btree_gc, sec, ms)
-	sysfs_time_stats_attribute_list(btree_split, sec, us)
-	sysfs_time_stats_attribute_list(btree_sort, ms, us)
-	sysfs_time_stats_attribute_list(btree_read, ms, us)
+	&sysfs_btree_gc_time,
+	&sysfs_btree_split_time,
+	&sysfs_btree_sort_time,
+	&sysfs_btree_read_time,
 
 	&sysfs_btree_nodes,
 	&sysfs_btree_used_percent,
diff --git a/drivers/md/bcache/util.c b/drivers/md/bcache/util.c
index ae380bc3992e..95282bf0f9a7 100644
--- a/drivers/md/bcache/util.c
+++ b/drivers/md/bcache/util.c
@@ -160,36 +160,6 @@ int bch_parse_uuid(const char *s, char *uuid)
 	return i;
 }
 
-void bch_time_stats_update(struct time_stats *stats, uint64_t start_time)
-{
-	uint64_t now, duration, last;
-
-	spin_lock(&stats->lock);
-
-	now		= local_clock();
-	duration	= time_after64(now, start_time)
-		? now - start_time : 0;
-	last		= time_after64(now, stats->last)
-		? now - stats->last : 0;
-
-	stats->max_duration = max(stats->max_duration, duration);
-
-	if (stats->last) {
-		ewma_add(stats->average_duration, duration, 8, 8);
-
-		if (stats->average_frequency)
-			ewma_add(stats->average_frequency, last, 8, 8);
-		else
-			stats->average_frequency  = last << 8;
-	} else {
-		stats->average_duration  = duration << 8;
-	}
-
-	stats->last = now ?: 1;
-
-	spin_unlock(&stats->lock);
-}
-
 /**
  * bch_next_delay() - update ratelimiting statistics and calculate next delay
  * @d: the struct bch_ratelimit to update
diff --git a/drivers/md/bcache/util.h b/drivers/md/bcache/util.h
index 6f3cb7c92130..1e1bdbae9593 100644
--- a/drivers/md/bcache/util.h
+++ b/drivers/md/bcache/util.h
@@ -345,68 +345,11 @@ ssize_t bch_hprint(char *buf, int64_t v);
 bool bch_is_zero(const char *p, size_t n);
 int bch_parse_uuid(const char *s, char *uuid);
 
-struct time_stats {
-	spinlock_t	lock;
-	/*
-	 * all fields are in nanoseconds, averages are ewmas stored left shifted
-	 * by 8
-	 */
-	uint64_t	max_duration;
-	uint64_t	average_duration;
-	uint64_t	average_frequency;
-	uint64_t	last;
-};
-
-void bch_time_stats_update(struct time_stats *stats, uint64_t time);
-
 static inline unsigned int local_clock_us(void)
 {
 	return local_clock() >> 10;
 }
 
-#define NSEC_PER_ns			1L
-#define NSEC_PER_us			NSEC_PER_USEC
-#define NSEC_PER_ms			NSEC_PER_MSEC
-#define NSEC_PER_sec			NSEC_PER_SEC
-
-#define __print_time_stat(stats, name, stat, units)			\
-	sysfs_print(name ## _ ## stat ## _ ## units,			\
-		    div_u64((stats)->stat >> 8, NSEC_PER_ ## units))
-
-#define sysfs_print_time_stats(stats, name,				\
-			       frequency_units,				\
-			       duration_units)				\
-do {									\
-	__print_time_stat(stats, name,					\
-			  average_frequency,	frequency_units);	\
-	__print_time_stat(stats, name,					\
-			  average_duration,	duration_units);	\
-	sysfs_print(name ## _ ##max_duration ## _ ## duration_units,	\
-			div_u64((stats)->max_duration,			\
-				NSEC_PER_ ## duration_units));		\
-									\
-	sysfs_print(name ## _last_ ## frequency_units, (stats)->last	\
-		    ? div_s64(local_clock() - (stats)->last,		\
-			      NSEC_PER_ ## frequency_units)		\
-		    : -1LL);						\
-} while (0)
-
-#define sysfs_time_stats_attribute(name,				\
-				   frequency_units,			\
-				   duration_units)			\
-read_attribute(name ## _average_frequency_ ## frequency_units);		\
-read_attribute(name ## _average_duration_ ## duration_units);		\
-read_attribute(name ## _max_duration_ ## duration_units);		\
-read_attribute(name ## _last_ ## frequency_units)
-
-#define sysfs_time_stats_attribute_list(name,				\
-					frequency_units,		\
-					duration_units)			\
-&sysfs_ ## name ## _average_frequency_ ## frequency_units,		\
-&sysfs_ ## name ## _average_duration_ ## duration_units,		\
-&sysfs_ ## name ## _max_duration_ ## duration_units,			\
-&sysfs_ ## name ## _last_ ## frequency_units,
-
 #define ewma_add(ewma, val, weight, factor)				\
 ({									\
 	(ewma) *= (weight) - 1;						\
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395205.635155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvY-0006EH-SI; Wed, 31 Aug 2022 05:06:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395205.635155; Wed, 31 Aug 2022 05:06:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvX-00067I-Ty; Wed, 31 Aug 2022 05:06:11 +0000
Received: by outflank-mailman (input) for mailman id 395205;
 Tue, 30 Aug 2022 21:59:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lQLB=ZC=flex--surenb.bounces.google.com=3JYYOYwYKCYo685s1pu22uzs.q20Bs1-rs9szzw676.Bs1352xsq7.25u@srs-se1.protection.inumbo.net>)
 id 1oT97w-0008Cd-0T
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:32 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c430bbdb-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:31 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-340ae84fb7dso156838857b3.17
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c430bbdb-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=QqkrsGdR9RIQpztjH+HKE2iaQK76d4alLlYGvP5mtuk=;
        b=EmELHff//JPLhVllZqIpmS0Yi/n4CYn1PpFo5D7aAgY/mGxsMtS6XD/+ioRS2qZY8C
         no10ngIVmFAT46GJYUJjGDNqdY92DoHLQ9QbhAJVsBRmHbrR9QbwqsDn7oDd7mF57S+J
         MK/ad/Fah7kdPasA545qk8VUbJu+zxO3x46X50P0T+NbpE7jyYjWPsZQ5vgUXGysvUe/
         W1W5uPUmm7KhCwcWdijNNG0C+OJlqBBAZwgyEyHf6FDcQet7W8l2Nexpz36zNi+sAkKv
         CMElZPZokU2RO03oq7FRoEcd/C8olIjRx4EsriXjGCc7C59ySMMLL8R3CCw5o8VWV3mF
         SxkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=QqkrsGdR9RIQpztjH+HKE2iaQK76d4alLlYGvP5mtuk=;
        b=Mecn843CR/vrafR2PjngPE2xWCTo8WULF+1gfYKJk0rojIuvIhXHrNxnzUVTuUyVGw
         0ce8eEcVgeDUxFC//xCQlzOHp4+vVvlxDtZQqBkkD5Jj5tyDeCmAoRxIKrO2Auk0yb3S
         EhZYCoZAY5rw9rtQxgrqL2z8b/OW+EdncmNJOOIVZSIkP6TEYxHe86ivqGmYaoXyQCg4
         jXTVEK3fHvoL0gOB2cScCBDlSzWnyIAnEfvhpxKDrEQGyekduTHWDMZ33y/kRPzEUaFm
         WHaE/H5/pHyzipyPEBnQ+qFKz9EQjw8f299MtYE0mVjS8EJ33J0KU/7Swh1g2dfGVt5k
         xFUQ==
X-Gm-Message-State: ACgBeo3O4A69pxwkGcZQi39067M37rxgywit9cne6OG7IA2XYoKTXIqp
	d+iYr/Dwoq066lnEg7y7Tyk5MigXjuY=
X-Google-Smtp-Source: AA6agR5ND+Bk6d/UBSONHhQ297Nqdm//CwhSmMh2PEZtOl62aMkc4xfTQyNu/uBDVWhdtd26Z8NBy2Q9NdY=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:4246:0:b0:699:186f:76ca with SMTP id
 p67-20020a254246000000b00699186f76camr13282039yba.272.1661896229901; Tue, 30
 Aug 2022 14:50:29 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:14 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-26-surenb@google.com>
Subject: [RFC PATCH 25/30] lib/time_stats: New library for statistics on events
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

This adds a small new library for tracking statistics on events that
have a duration, i.e. a start and end time.

 - number of events
 - rate/frequency
 - average duration
 - max duration
 - duration quantiles

This code comes from bcachefs, and originally bcache: the next patch
will be converting bcache to use this version, and a subsequent patch
will be using code_tagging to instrument all wait_event() calls in the
kernel.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/time_stats.h |  44 +++++++
 lib/Kconfig                |   3 +
 lib/Makefile               |   1 +
 lib/time_stats.c           | 236 +++++++++++++++++++++++++++++++++++++
 4 files changed, 284 insertions(+)
 create mode 100644 include/linux/time_stats.h
 create mode 100644 lib/time_stats.c

diff --git a/include/linux/time_stats.h b/include/linux/time_stats.h
new file mode 100644
index 000000000000..7ae929e6f836
--- /dev/null
+++ b/include/linux/time_stats.h
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef _LINUX_TIMESTATS_H
+#define _LINUX_TIMESTATS_H
+
+#include <linux/spinlock_types.h>
+#include <linux/types.h>
+
+#define NR_QUANTILES	15
+
+struct quantiles {
+	struct quantile_entry {
+		u64	m;
+		u64	step;
+	}		entries[NR_QUANTILES];
+};
+
+struct time_stat_buffer {
+	unsigned int	nr;
+	struct time_stat_buffer_entry {
+		u64	start;
+		u64	end;
+	}		entries[32];
+};
+
+struct time_stats {
+	spinlock_t	lock;
+	u64		count;
+	/* all fields are in nanoseconds */
+	u64		average_duration;
+	u64		average_frequency;
+	u64		max_duration;
+	u64		last_event;
+	struct quantiles quantiles;
+
+	struct time_stat_buffer __percpu *buffer;
+};
+
+struct seq_buf;
+void time_stats_update(struct time_stats *stats, u64 start);
+void time_stats_to_text(struct seq_buf *out, struct time_stats *stats);
+void time_stats_exit(struct time_stats *stats);
+
+#endif /* _LINUX_TIMESTATS_H */
diff --git a/lib/Kconfig b/lib/Kconfig
index fc6dbc425728..884fd9f2f06d 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -744,3 +744,6 @@ config ASN1_ENCODER
 
 config POLYNOMIAL
        tristate
+
+config TIME_STATS
+	bool
diff --git a/lib/Makefile b/lib/Makefile
index 489ea000c528..e54392011f5e 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -232,6 +232,7 @@ obj-$(CONFIG_ALLOC_TAGGING) += alloc_tag.o
 obj-$(CONFIG_PAGE_ALLOC_TAGGING) += pgalloc_tag.o
 
 obj-$(CONFIG_CODETAG_FAULT_INJECTION) += dynamic_fault.o
+obj-$(CONFIG_TIME_STATS) += time_stats.o
 
 lib-$(CONFIG_GENERIC_BUG) += bug.o
 
diff --git a/lib/time_stats.c b/lib/time_stats.c
new file mode 100644
index 000000000000..30362364fdd2
--- /dev/null
+++ b/lib/time_stats.c
@@ -0,0 +1,236 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+#include <linux/gfp.h>
+#include <linux/jiffies.h>
+#include <linux/kernel.h>
+#include <linux/ktime.h>
+#include <linux/percpu.h>
+#include <linux/seq_buf.h>
+#include <linux/spinlock.h>
+#include <linux/time_stats.h>
+#include <linux/timekeeping.h>
+
+static inline unsigned int eytzinger1_child(unsigned int i, unsigned int child)
+{
+	return (i << 1) + child;
+}
+
+static inline unsigned int eytzinger1_right_child(unsigned int i)
+{
+	return eytzinger1_child(i, 1);
+}
+
+static inline unsigned int eytzinger1_next(unsigned int i, unsigned int size)
+{
+	if (eytzinger1_right_child(i) <= size) {
+		i = eytzinger1_right_child(i);
+
+		i <<= __fls(size + 1) - __fls(i);
+		i >>= i > size;
+	} else {
+		i >>= ffz(i) + 1;
+	}
+
+	return i;
+}
+
+static inline unsigned int eytzinger0_child(unsigned int i, unsigned int child)
+{
+	return (i << 1) + 1 + child;
+}
+
+static inline unsigned int eytzinger0_first(unsigned int size)
+{
+	return rounddown_pow_of_two(size) - 1;
+}
+
+static inline unsigned int eytzinger0_next(unsigned int i, unsigned int size)
+{
+	return eytzinger1_next(i + 1, size) - 1;
+}
+
+#define eytzinger0_for_each(_i, _size)			\
+	for ((_i) = eytzinger0_first((_size));		\
+	     (_i) != -1;				\
+	     (_i) = eytzinger0_next((_i), (_size)))
+
+#define ewma_add(ewma, val, weight)					\
+({									\
+	typeof(ewma) _ewma = (ewma);					\
+	typeof(weight) _weight = (weight);				\
+									\
+	(((_ewma << _weight) - _ewma) + (val)) >> _weight;		\
+})
+
+static void quantiles_update(struct quantiles *q, u64 v)
+{
+	unsigned int i = 0;
+
+	while (i < ARRAY_SIZE(q->entries)) {
+		struct quantile_entry *e = q->entries + i;
+
+		if (unlikely(!e->step)) {
+			e->m = v;
+			e->step = max_t(unsigned int, v / 2, 1024);
+		} else if (e->m > v) {
+			e->m = e->m >= e->step
+				? e->m - e->step
+				: 0;
+		} else if (e->m < v) {
+			e->m = e->m + e->step > e->m
+				? e->m + e->step
+				: U32_MAX;
+		}
+
+		if ((e->m > v ? e->m - v : v - e->m) < e->step)
+			e->step = max_t(unsigned int, e->step / 2, 1);
+
+		if (v >= e->m)
+			break;
+
+		i = eytzinger0_child(i, v > e->m);
+	}
+}
+
+static void time_stats_update_one(struct time_stats *stats,
+				  u64 start, u64 end)
+{
+	u64 duration, freq;
+
+	duration	= time_after64(end, start)
+		? end - start : 0;
+	freq		= time_after64(end, stats->last_event)
+		? end - stats->last_event : 0;
+
+	stats->count++;
+
+	stats->average_duration = stats->average_duration
+		? ewma_add(stats->average_duration, duration, 6)
+		: duration;
+
+	stats->average_frequency = stats->average_frequency
+		? ewma_add(stats->average_frequency, freq, 6)
+		: freq;
+
+	stats->max_duration = max(stats->max_duration, duration);
+
+	stats->last_event = end;
+
+	quantiles_update(&stats->quantiles, duration);
+}
+
+void time_stats_update(struct time_stats *stats, u64 start)
+{
+	u64 end = ktime_get_ns();
+	unsigned long flags;
+
+	if (!stats->buffer) {
+		spin_lock_irqsave(&stats->lock, flags);
+		time_stats_update_one(stats, start, end);
+
+		if (stats->average_frequency < 32 &&
+		    stats->count > 1024)
+			stats->buffer =
+				alloc_percpu_gfp(struct time_stat_buffer,
+						 GFP_ATOMIC);
+		spin_unlock_irqrestore(&stats->lock, flags);
+	} else {
+		struct time_stat_buffer_entry *i;
+		struct time_stat_buffer *b;
+
+		preempt_disable();
+		b = this_cpu_ptr(stats->buffer);
+
+		BUG_ON(b->nr >= ARRAY_SIZE(b->entries));
+		b->entries[b->nr++] = (struct time_stat_buffer_entry) {
+			.start = start,
+			.end = end
+		};
+
+		if (b->nr == ARRAY_SIZE(b->entries)) {
+			spin_lock_irqsave(&stats->lock, flags);
+			for (i = b->entries;
+			     i < b->entries + ARRAY_SIZE(b->entries);
+			     i++)
+				time_stats_update_one(stats, i->start, i->end);
+			spin_unlock_irqrestore(&stats->lock, flags);
+
+			b->nr = 0;
+		}
+
+		preempt_enable();
+	}
+}
+EXPORT_SYMBOL(time_stats_update);
+
+static const struct time_unit {
+	const char	*name;
+	u32		nsecs;
+} time_units[] = {
+	{ "ns",		1		},
+	{ "us",		NSEC_PER_USEC	},
+	{ "ms",		NSEC_PER_MSEC	},
+	{ "sec",	NSEC_PER_SEC	},
+};
+
+static const struct time_unit *pick_time_units(u64 ns)
+{
+	const struct time_unit *u;
+
+	for (u = time_units;
+	     u + 1 < time_units + ARRAY_SIZE(time_units) &&
+	     ns >= u[1].nsecs << 1;
+	     u++)
+		;
+
+	return u;
+}
+
+static void pr_time_units(struct seq_buf *out, u64 ns)
+{
+	const struct time_unit *u = pick_time_units(ns);
+
+	seq_buf_printf(out, "%llu %s", div_u64(ns, u->nsecs), u->name);
+}
+
+void time_stats_to_text(struct seq_buf *out, struct time_stats *stats)
+{
+	const struct time_unit *u;
+	u64 freq = READ_ONCE(stats->average_frequency);
+	u64 q, last_q = 0;
+	int i;
+
+	seq_buf_printf(out, "count:          %llu\n", stats->count);
+	seq_buf_printf(out, "rate:           %llu/sec\n",
+		       freq ? div64_u64(NSEC_PER_SEC, freq) : 0);
+	seq_buf_printf(out, "frequency:      ");
+	pr_time_units(out, freq);
+	seq_buf_putc(out, '\n');
+
+	seq_buf_printf(out, "avg duration:   ");
+	pr_time_units(out, stats->average_duration);
+	seq_buf_putc(out, '\n');
+
+	seq_buf_printf(out, "max duration:   ");
+	pr_time_units(out, stats->max_duration);
+	seq_buf_putc(out, '\n');
+
+	i = eytzinger0_first(NR_QUANTILES);
+	u = pick_time_units(stats->quantiles.entries[i].m);
+	seq_buf_printf(out, "quantiles (%s): ", u->name);
+	eytzinger0_for_each(i, NR_QUANTILES) {
+		q = max(stats->quantiles.entries[i].m, last_q);
+		seq_buf_printf(out, "%llu ", div_u64(q, u->nsecs));
+		last_q = q;
+	}
+
+	seq_buf_putc(out, '\n');
+}
+EXPORT_SYMBOL_GPL(time_stats_to_text);
+
+void time_stats_exit(struct time_stats *stats)
+{
+	free_percpu(stats->buffer);
+	stats->buffer = NULL;
+}
+EXPORT_SYMBOL_GPL(time_stats_exit);
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395206.635164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvb-0006h1-Dc; Wed, 31 Aug 2022 05:06:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395206.635164; Wed, 31 Aug 2022 05:06:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvZ-0006d9-Su; Wed, 31 Aug 2022 05:06:13 +0000
Received: by outflank-mailman (input) for mailman id 395206;
 Tue, 30 Aug 2022 21:59:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4itH=ZC=flex--surenb.bounces.google.com=3M4YOYwYKCZgKMJ6F38GG8D6.4GEP6F-56N6DDAKLK.P6FHJGB64L.GJ8@srs-se1.protection.inumbo.net>)
 id 1oT989-0008CX-Mh
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:45 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cc77264c-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:50:45 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 o144-20020a25d796000000b0069b523a4234so718307ybg.17
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc77264c-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=q3DJ62FdAkc75G5f5TC1WQpGOVt3l/MJJCNdx5cTnOk=;
        b=C8JONxxXVlTpftHaAGAIlpLkK3JbLire6Nmp7rtyqKkA8STqUN7GtKHqgck9OnhnK6
         JLmVEdOBtO4UgVT+rqGSVVb8el9/E2EzKFM8T34Szjzm3zJ0p5kFz3mCYcxw5G4J1WvF
         QMb4GTQ/yzzPPSsO8n/bi291Hq8qngpZB5y0K7P/GbpAFTCQEKZCNPr9wH/IKiRw2v40
         589a1BB4hctRlz5v1afevUX177R+LYQq/8EEHO7YXqeqRF8HSNYDOdN7xFassnCgRext
         TnhJSTiUhrw0wYWDFlFWpRGy66tj1fz8fdmGodc46WuVd0A4xLZ7WpBC/QBvDzjQGrdA
         SEig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=q3DJ62FdAkc75G5f5TC1WQpGOVt3l/MJJCNdx5cTnOk=;
        b=5/9lgrpLxm9RkdQRl+pHboERSEH/OdTVYHpD3qnkvnwM8FOFLEmkTR4ZrUcqQTHMq5
         nYF0WvPrWLXRlysZjaWI/JIqiw5lg6a2oKo8GvMgCrPF9zrBb/zJ5GdRPAsbq6Bbf4x+
         Jy9ByuAwp0k5J1ZDqvy5bTHfKEamPR/XAYK4AhjKr1iqGuERnBzV81kLMMtP0T/+9T0E
         lL2AMnO+b01EYDXnKoeSAM5EmaH8qxjWoc3WEHdUQsxeU+FZu0nDSGAHv1y/wDIgYA+G
         TqdSedjT5EVoR+bJenfFVNJelBTCUygXW80u7UOhuZIECkxMfYe6z0nymEDhU10I4rrD
         A1og==
X-Gm-Message-State: ACgBeo0eWFZeIC/PqiZ+feAI7IJP4GRPC5JcVosp+ZHiaLuuG0+/Jhrs
	amKvU5YVq02wZ7s7cxqn1d2veBDtNmw=
X-Google-Smtp-Source: AA6agR6mRIYh/Ugh76Z9OGxiRjbQrZ+9wpxKxcSIOnClnh/ne0QVaaMxuz4y8WxW9UVOyJ1glmO9CKBYbzs=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:8a85:0:b0:671:715e:a1b0 with SMTP id
 h5-20020a258a85000000b00671715ea1b0mr12680068ybl.98.1661896243785; Tue, 30
 Aug 2022 14:50:43 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:19 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-31-surenb@google.com>
Subject: [RFC PATCH 30/30] MAINTAINERS: Add entries for code tagging & related
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

The new code & libraries added are being maintained - mark them as such.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 MAINTAINERS | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 589517372408..902c96744bcb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5111,6 +5111,19 @@ S:	Supported
 F:	Documentation/process/code-of-conduct-interpretation.rst
 F:	Documentation/process/code-of-conduct.rst
 
+CODE TAGGING
+M:	Suren Baghdasaryan <surenb@google.com>
+M:	Kent Overstreet <kent.overstreet@linux.dev>
+S:	Maintained
+F:	lib/codetag.c
+F:	include/linux/codetag.h
+
+CODE TAGGING TIME STATS
+M:	Kent Overstreet <kent.overstreet@linux.dev>
+S:	Maintained
+F:	lib/codetag_time_stats.c
+F:	include/linux/codetag_time_stats.h
+
 COMEDI DRIVERS
 M:	Ian Abbott <abbotti@mev.co.uk>
 M:	H Hartley Sweeten <hsweeten@visionengravers.com>
@@ -11405,6 +11418,12 @@ M:	John Hawley <warthog9@eaglescrag.net>
 S:	Maintained
 F:	tools/testing/ktest
 
+LAZY PERCPU COUNTERS
+M:	Kent Overstreet <kent.overstreet@linux.dev>
+S:	Maintained
+F:	lib/lazy-percpu-counter.c
+F:	include/linux/lazy-percpu-counter.h
+
 L3MDEV
 M:	David Ahern <dsahern@kernel.org>
 L:	netdev@vger.kernel.org
@@ -13124,6 +13143,15 @@ F:	include/linux/memblock.h
 F:	mm/memblock.c
 F:	tools/testing/memblock/
 
+MEMORY ALLOCATION TRACKING
+M:	Suren Baghdasaryan <surenb@google.com>
+M:	Kent Overstreet <kent.overstreet@linux.dev>
+S:	Maintained
+F:	lib/alloc_tag.c
+F:	lib/pgalloc_tag.c
+F:	include/linux/alloc_tag.h
+F:	include/linux/codetag_ctx.h
+
 MEMORY CONTROLLER DRIVERS
 M:	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 L:	linux-kernel@vger.kernel.org
@@ -20421,6 +20449,12 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git
 F:	drivers/net/wireless/ti/
 F:	include/linux/wl12xx.h
 
+TIME STATS
+M:	Kent Overstreet <kent.overstreet@linux.dev>
+S:	Maintained
+F:	lib/time_stats.c
+F:	include/linux/time_stats.h
+
 TIMEKEEPING, CLOCKSOURCE CORE, NTP, ALARMTIMER
 M:	John Stultz <jstultz@google.com>
 M:	Thomas Gleixner <tglx@linutronix.de>
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395207.635174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvd-00077s-Do; Wed, 31 Aug 2022 05:06:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395207.635174; Wed, 31 Aug 2022 05:06:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvb-0006yU-NA; Wed, 31 Aug 2022 05:06:15 +0000
Received: by outflank-mailman (input) for mailman id 395207;
 Tue, 30 Aug 2022 21:59:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=et+F=ZC=flex--surenb.bounces.google.com=3FoYOYwYKCXsrtqdmafnnfkd.bnlwdm-cdudkkhrsr.wdmoqnidbs.nqf@srs-se1.protection.inumbo.net>)
 id 1oT97g-0008CX-CR
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:16 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bade22f8-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:50:15 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 p12-20020a259e8c000000b006958480b858so717779ybq.12
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bade22f8-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=vjjGk6pymrjMSyrfbdxQ3/p6O8Kus1ISFMk96O5o39I=;
        b=OXRgptnZ7i+ICNigJkBWT2cSYFZtaNbBth28h0zoZMO0yy1KlhLJWbOL/agYd17Ge+
         H8eygOzvmZZ/skvQrD81gmRZiypc2lcG0QHZKUmUE/ni+JmGucTrUU1yExVGKLt9MJij
         ftmKNsJcjdyi4dhaD13stFQzNJ1xbGRin4GkFtVHsn7nMBn5wS02jls3bfzzV07WlYsq
         mi9CGSRXCSnkh+sEnyExpA/okvKqytcPBHSo0PnRH7aCU5Q1xfzVqiAqvHEkIxcqVnHs
         2oBNbQXE+ro549f5zm45uHNrO1sona3NzY/FqJ45DQDnvKS22ifnzF7B5XwlNd/5xlfX
         M9KQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=vjjGk6pymrjMSyrfbdxQ3/p6O8Kus1ISFMk96O5o39I=;
        b=VfQaMOoVaXs9I06qIF7sLUIUUO8hZkxWdZE9uIn0d1yOi7nee5jB20MNFU7mEtZ4R2
         b3eOIFSwsgxIdI6eGEiWG54OemV35OT+wa2uUOPS1djwESJ+YHum9WQebTRhYgemxlNx
         eiyJD1psG6RE66fZcw1MsAExX6L0rDlpHGNqnrDTWk2sKWJLtuDJZxPn2d1HG+NBKYEL
         EYXgB5E03e7kxPy4MF7JaXeRyblaBZCFLijsgBqVxdam3/kDRXSPh82nq9s2kfA0lfbb
         qAQ1gQMJxh/2tJZWwglF7BmRayT/j/PUTY9WYjSQJqmd67gNEmyrTA/2zD5nHS13YiJx
         1qpw==
X-Gm-Message-State: ACgBeo0Z0lok9RT5amg6W0sZKlybABbkEe6miZ89N7I35SvCQxamyoth
	742uBX9MHzJXvkLmCrLoPEKUmdbQr8g=
X-Google-Smtp-Source: AA6agR4vIoEARtwRV51vchZbtFRCbo5XPnJmQ5jWl1WbEyyresfSAVBl15tPztqHAfgzavikcDXhMgmO3BY=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a81:f47:0:b0:31f:434b:5ee with SMTP id
 68-20020a810f47000000b0031f434b05eemr15734874ywp.383.1661896214287; Tue, 30
 Aug 2022 14:50:14 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:08 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-20-surenb@google.com>
Subject: [RFC PATCH 19/30] move stack capture functionality into a separate
 function for reuse
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Make save_stack() function part of stackdepot API to be used outside of
page_owner. Also rename task_struct's in_page_owner to in_capture_stack
flag to better convey the wider use of this flag.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/sched.h      |  6 ++--
 include/linux/stackdepot.h |  3 ++
 lib/stackdepot.c           | 68 ++++++++++++++++++++++++++++++++++++++
 mm/page_owner.c            | 52 ++---------------------------
 4 files changed, 77 insertions(+), 52 deletions(-)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index e7b2f8a5c711..d06cad6c14bd 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -930,9 +930,9 @@ struct task_struct {
 	/* Stalled due to lack of memory */
 	unsigned			in_memstall:1;
 #endif
-#ifdef CONFIG_PAGE_OWNER
-	/* Used by page_owner=on to detect recursion in page tracking. */
-	unsigned			in_page_owner:1;
+#ifdef CONFIG_STACKDEPOT
+	/* Used by stack_depot_capture_stack to detect recursion. */
+	unsigned			in_capture_stack:1;
 #endif
 #ifdef CONFIG_EVENTFD
 	/* Recursion prevention for eventfd_signal() */
diff --git a/include/linux/stackdepot.h b/include/linux/stackdepot.h
index bc2797955de9..8dc9fdb2c4dd 100644
--- a/include/linux/stackdepot.h
+++ b/include/linux/stackdepot.h
@@ -64,4 +64,7 @@ int stack_depot_snprint(depot_stack_handle_t handle, char *buf, size_t size,
 
 void stack_depot_print(depot_stack_handle_t stack);
 
+bool stack_depot_capture_init(void);
+depot_stack_handle_t stack_depot_capture_stack(gfp_t flags);
+
 #endif
diff --git a/lib/stackdepot.c b/lib/stackdepot.c
index e73fda23388d..c8615bd6dc25 100644
--- a/lib/stackdepot.c
+++ b/lib/stackdepot.c
@@ -514,3 +514,71 @@ depot_stack_handle_t stack_depot_save(unsigned long *entries,
 	return __stack_depot_save(entries, nr_entries, alloc_flags, true);
 }
 EXPORT_SYMBOL_GPL(stack_depot_save);
+
+static depot_stack_handle_t recursion_handle;
+static depot_stack_handle_t failure_handle;
+
+static __always_inline depot_stack_handle_t create_custom_stack(void)
+{
+	unsigned long entries[4];
+	unsigned int nr_entries;
+
+	nr_entries = stack_trace_save(entries, ARRAY_SIZE(entries), 0);
+	return stack_depot_save(entries, nr_entries, GFP_KERNEL);
+}
+
+static noinline void register_recursion_stack(void)
+{
+	recursion_handle = create_custom_stack();
+}
+
+static noinline void register_failure_stack(void)
+{
+	failure_handle = create_custom_stack();
+}
+
+bool stack_depot_capture_init(void)
+{
+	static DEFINE_MUTEX(stack_depot_capture_init_mutex);
+	static bool utility_stacks_ready;
+
+	mutex_lock(&stack_depot_capture_init_mutex);
+	if (!utility_stacks_ready) {
+		register_recursion_stack();
+		register_failure_stack();
+		utility_stacks_ready = true;
+	}
+	mutex_unlock(&stack_depot_capture_init_mutex);
+
+	return utility_stacks_ready;
+}
+
+/* TODO: teach stack_depot_capture_stack to use off stack temporal storage */
+#define CAPTURE_STACK_DEPTH (16)
+
+depot_stack_handle_t stack_depot_capture_stack(gfp_t flags)
+{
+	unsigned long entries[CAPTURE_STACK_DEPTH];
+	depot_stack_handle_t handle;
+	unsigned int nr_entries;
+
+	/*
+	 * Avoid recursion.
+	 *
+	 * Sometimes page metadata allocation tracking requires more
+	 * memory to be allocated:
+	 * - when new stack trace is saved to stack depot
+	 * - when backtrace itself is calculated (ia64)
+	 */
+	if (current->in_capture_stack)
+		return recursion_handle;
+	current->in_capture_stack = 1;
+
+	nr_entries = stack_trace_save(entries, ARRAY_SIZE(entries), 2);
+	handle = stack_depot_save(entries, nr_entries, flags);
+	if (!handle)
+		handle = failure_handle;
+
+	current->in_capture_stack = 0;
+	return handle;
+}
diff --git a/mm/page_owner.c b/mm/page_owner.c
index fd4af1ad34b8..c3173e34a779 100644
--- a/mm/page_owner.c
+++ b/mm/page_owner.c
@@ -15,12 +15,6 @@
 
 #include "internal.h"
 
-/*
- * TODO: teach PAGE_OWNER_STACK_DEPTH (__dump_page_owner and save_stack)
- * to use off stack temporal storage
- */
-#define PAGE_OWNER_STACK_DEPTH (16)
-
 struct page_owner {
 	unsigned short order;
 	short last_migrate_reason;
@@ -37,8 +31,6 @@ struct page_owner {
 static bool page_owner_enabled __initdata;
 DEFINE_STATIC_KEY_FALSE(page_owner_inited);
 
-static depot_stack_handle_t dummy_handle;
-static depot_stack_handle_t failure_handle;
 static depot_stack_handle_t early_handle;
 
 static void init_early_allocated_pages(void);
@@ -68,16 +60,6 @@ static __always_inline depot_stack_handle_t create_dummy_stack(void)
 	return stack_depot_save(entries, nr_entries, GFP_KERNEL);
 }
 
-static noinline void register_dummy_stack(void)
-{
-	dummy_handle = create_dummy_stack();
-}
-
-static noinline void register_failure_stack(void)
-{
-	failure_handle = create_dummy_stack();
-}
-
 static noinline void register_early_stack(void)
 {
 	early_handle = create_dummy_stack();
@@ -88,8 +70,7 @@ static __init void init_page_owner(void)
 	if (!page_owner_enabled)
 		return;
 
-	register_dummy_stack();
-	register_failure_stack();
+	stack_depot_capture_init();
 	register_early_stack();
 	static_branch_enable(&page_owner_inited);
 	init_early_allocated_pages();
@@ -106,33 +87,6 @@ static inline struct page_owner *get_page_owner(struct page_ext *page_ext)
 	return (void *)page_ext + page_owner_ops.offset;
 }
 
-static noinline depot_stack_handle_t save_stack(gfp_t flags)
-{
-	unsigned long entries[PAGE_OWNER_STACK_DEPTH];
-	depot_stack_handle_t handle;
-	unsigned int nr_entries;
-
-	/*
-	 * Avoid recursion.
-	 *
-	 * Sometimes page metadata allocation tracking requires more
-	 * memory to be allocated:
-	 * - when new stack trace is saved to stack depot
-	 * - when backtrace itself is calculated (ia64)
-	 */
-	if (current->in_page_owner)
-		return dummy_handle;
-	current->in_page_owner = 1;
-
-	nr_entries = stack_trace_save(entries, ARRAY_SIZE(entries), 2);
-	handle = stack_depot_save(entries, nr_entries, flags);
-	if (!handle)
-		handle = failure_handle;
-
-	current->in_page_owner = 0;
-	return handle;
-}
-
 void __reset_page_owner(struct page *page, unsigned short order)
 {
 	int i;
@@ -145,7 +99,7 @@ void __reset_page_owner(struct page *page, unsigned short order)
 	if (unlikely(!page_ext))
 		return;
 
-	handle = save_stack(GFP_NOWAIT | __GFP_NOWARN);
+	handle = stack_depot_capture_stack(GFP_NOWAIT | __GFP_NOWARN);
 	for (i = 0; i < (1 << order); i++) {
 		__clear_bit(PAGE_EXT_OWNER_ALLOCATED, &page_ext->flags);
 		page_owner = get_page_owner(page_ext);
@@ -189,7 +143,7 @@ noinline void __set_page_owner(struct page *page, unsigned short order,
 	if (unlikely(!page_ext))
 		return;
 
-	handle = save_stack(gfp_mask);
+	handle = stack_depot_capture_stack(gfp_mask);
 	__set_page_owner_handle(page_ext, handle, order, gfp_mask);
 }
 
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395208.635186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvf-0007ZN-Nr; Wed, 31 Aug 2022 05:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395208.635186; Wed, 31 Aug 2022 05:06:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvd-0007PI-R1; Wed, 31 Aug 2022 05:06:17 +0000
Received: by outflank-mailman (input) for mailman id 395208;
 Tue, 30 Aug 2022 21:59:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=l3TJ=ZC=flex--surenb.bounces.google.com=3I4YOYwYKCYg463qzns00sxq.o0y9qz-pq7qxxu454.9qz130vqo5.03s@srs-se1.protection.inumbo.net>)
 id 1oT97t-0008Cd-5V
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:29 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2905b7d-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:28 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-33dc390f26cso187444647b3.9
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2905b7d-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=PJDqdE16VQFkhBtAZQdE7ryguEFDkMx7mMptHwdJxIQ=;
        b=Ij75nFrUrPvJu2bumKHw5qB/wQ6gVxiA7JiR459fjyWwf8bAM7esU+z26b2Gs2wm+2
         GJco7Z59pIbk7lAYzIUjBLlbgij5WieJsWdNVz1juJkVh+sa9UWATRgrEBqBGRWkiIgS
         e9fE2xkYV7tYVniZBisXLNcLv1T2Qe2o0c8hnbKmgjEZ4CuxPiv3aHRBgJXL1TW2FAU/
         xTP0HeMc1J5XCTMzbl6MriSnvFIhWbWVUtAJ/9V96DnOp2vk9Hc7k6iFLgNru+svATI5
         qjP0FOpFl9sx7TmiI9c+PBZgc2FqjExNp+v4DIbowFGQu7f8+ZLj1VsmDoNwIg4tHpwc
         B9Cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=PJDqdE16VQFkhBtAZQdE7ryguEFDkMx7mMptHwdJxIQ=;
        b=OyrGOloOsFuPO/r0mcpS+pHad+jzhx9t9R2FRtZ4WNlfNY3tFKmIfRM+eXXyywObfl
         yHp/x1oWeU2kyZwxEIuWL8JBkCmBFm2JrR19HX6ywQeff/7G1E8i55+VNXLteUClFVCH
         lCNmI9TiEK182DhPkR3xEujFyZztA7FfbuKIrO0uWwWy+pvSRb76w6tlqPbTEP8vR+fe
         j0i64JCN8HbgGrumw5Q2Y3UF1hZ6UTCc9AioCS9E45iFTdnrLPk4rN2emXjiuy9Nf5vA
         3aqjtFiU467po2QqQg/4hnejhA1+Adr5taw1asrNfl5x8Feqomxpoz4uBnx9Sc1+6Q/j
         O3+Q==
X-Gm-Message-State: ACgBeo1cMi20hxje3NotFLZyMOp4a5XNog47QX/x3u6C7syf0ycxJN5O
	LniwZunaabeFZyuT+NOGkSK+KoaLiLI=
X-Google-Smtp-Source: AA6agR6avTM18XP2y4CdHSCV3FE6n/efM5TdzJAiOApCx+OJvVOl1HBVpl97MaszhlrgGlpdRen0jumUZ8U=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a81:54c4:0:b0:329:d0e1:cfcf with SMTP id
 i187-20020a8154c4000000b00329d0e1cfcfmr15741208ywb.451.1661896227243; Tue, 30
 Aug 2022 14:50:27 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:13 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-25-surenb@google.com>
Subject: [RFC PATCH 24/30] wait: Clean up waitqueue_entry initialization
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org, Ingo Molnar <mingo@redhat.com>
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

Cleanup for code tagging latency tracking:

Add an initializer, WAIT_FUNC_INITIALIZER(), to be used by initializers
for structs that include wait_queue_entries.

Also, change init_wait(), init_wait_entry etc.  to be a wrapper around
the new __init_waitqueue_entry(); more de-duplication prep work.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
---
 include/linux/sbitmap.h  |  6 +----
 include/linux/wait.h     | 52 +++++++++++++++++++---------------------
 include/linux/wait_bit.h |  7 +-----
 kernel/sched/wait.c      |  9 -------
 4 files changed, 27 insertions(+), 47 deletions(-)

diff --git a/include/linux/sbitmap.h b/include/linux/sbitmap.h
index 8f5a86e210b9..f696c29d9ab3 100644
--- a/include/linux/sbitmap.h
+++ b/include/linux/sbitmap.h
@@ -596,11 +596,7 @@ struct sbq_wait {
 #define DEFINE_SBQ_WAIT(name)							\
 	struct sbq_wait name = {						\
 		.sbq = NULL,							\
-		.wait = {							\
-			.private	= current,				\
-			.func		= autoremove_wake_function,		\
-			.entry		= LIST_HEAD_INIT((name).wait.entry),	\
-		}								\
+		.wait = WAIT_FUNC_INITIALIZER((name).wait, autoremove_wake_function),\
 	}
 
 /*
diff --git a/include/linux/wait.h b/include/linux/wait.h
index 58cfbf81447c..91ced6a118bc 100644
--- a/include/linux/wait.h
+++ b/include/linux/wait.h
@@ -79,21 +79,38 @@ extern void __init_waitqueue_head(struct wait_queue_head *wq_head, const char *n
 # define DECLARE_WAIT_QUEUE_HEAD_ONSTACK(name) DECLARE_WAIT_QUEUE_HEAD(name)
 #endif
 
-static inline void init_waitqueue_entry(struct wait_queue_entry *wq_entry, struct task_struct *p)
-{
-	wq_entry->flags		= 0;
-	wq_entry->private	= p;
-	wq_entry->func		= default_wake_function;
+#define WAIT_FUNC_INITIALIZER(name, function) {					\
+	.private	= current,						\
+	.func		= function,						\
+	.entry		= LIST_HEAD_INIT((name).entry),				\
 }
 
+#define DEFINE_WAIT_FUNC(name, function)					\
+	struct wait_queue_entry name = WAIT_FUNC_INITIALIZER(name, function)
+
+#define DEFINE_WAIT(name) DEFINE_WAIT_FUNC(name, autoremove_wake_function)
+
 static inline void
-init_waitqueue_func_entry(struct wait_queue_entry *wq_entry, wait_queue_func_t func)
+__init_waitqueue_entry(struct wait_queue_entry *wq_entry, unsigned int flags,
+		       void *private, wait_queue_func_t func)
 {
-	wq_entry->flags		= 0;
-	wq_entry->private	= NULL;
+	wq_entry->flags		= flags;
+	wq_entry->private	= private;
 	wq_entry->func		= func;
+	INIT_LIST_HEAD(&wq_entry->entry);
 }
 
+#define init_waitqueue_func_entry(_wq_entry, _func)			\
+	__init_waitqueue_entry(_wq_entry, 0, NULL, _func)
+
+#define init_waitqueue_entry(_wq_entry, _task)				\
+	__init_waitqueue_entry(_wq_entry, 0, _task, default_wake_function)
+
+#define init_wait_entry(_wq_entry, _flags)				\
+	__init_waitqueue_entry(_wq_entry, _flags, current, autoremove_wake_function)
+
+#define init_wait(wait)		init_wait_entry(wait, 0)
+
 /**
  * waitqueue_active -- locklessly test for waiters on the queue
  * @wq_head: the waitqueue to test for waiters
@@ -283,8 +300,6 @@ static inline void wake_up_pollfree(struct wait_queue_head *wq_head)
 	(!__builtin_constant_p(state) ||					\
 		state == TASK_INTERRUPTIBLE || state == TASK_KILLABLE)		\
 
-extern void init_wait_entry(struct wait_queue_entry *wq_entry, int flags);
-
 /*
  * The below macro ___wait_event() has an explicit shadow of the __ret
  * variable when used from the wait_event_*() macros.
@@ -1170,23 +1185,6 @@ long wait_woken(struct wait_queue_entry *wq_entry, unsigned mode, long timeout);
 int woken_wake_function(struct wait_queue_entry *wq_entry, unsigned mode, int sync, void *key);
 int autoremove_wake_function(struct wait_queue_entry *wq_entry, unsigned mode, int sync, void *key);
 
-#define DEFINE_WAIT_FUNC(name, function)					\
-	struct wait_queue_entry name = {					\
-		.private	= current,					\
-		.func		= function,					\
-		.entry		= LIST_HEAD_INIT((name).entry),			\
-	}
-
-#define DEFINE_WAIT(name) DEFINE_WAIT_FUNC(name, autoremove_wake_function)
-
-#define init_wait(wait)								\
-	do {									\
-		(wait)->private = current;					\
-		(wait)->func = autoremove_wake_function;			\
-		INIT_LIST_HEAD(&(wait)->entry);					\
-		(wait)->flags = 0;						\
-	} while (0)
-
 typedef int (*task_call_f)(struct task_struct *p, void *arg);
 extern int task_call_func(struct task_struct *p, task_call_f func, void *arg);
 
diff --git a/include/linux/wait_bit.h b/include/linux/wait_bit.h
index 7725b7579b78..267ca0fe9fd9 100644
--- a/include/linux/wait_bit.h
+++ b/include/linux/wait_bit.h
@@ -38,12 +38,7 @@ int wake_bit_function(struct wait_queue_entry *wq_entry, unsigned mode, int sync
 #define DEFINE_WAIT_BIT(name, word, bit)					\
 	struct wait_bit_queue_entry name = {					\
 		.key = __WAIT_BIT_KEY_INITIALIZER(word, bit),			\
-		.wq_entry = {							\
-			.private	= current,				\
-			.func		= wake_bit_function,			\
-			.entry		=					\
-				LIST_HEAD_INIT((name).wq_entry.entry),		\
-		},								\
+		.wq_entry = WAIT_FUNC_INITIALIZER((name).wq_entry, wake_bit_function),\
 	}
 
 extern int bit_wait(struct wait_bit_key *key, int mode);
diff --git a/kernel/sched/wait.c b/kernel/sched/wait.c
index 9860bb9a847c..b9922346077d 100644
--- a/kernel/sched/wait.c
+++ b/kernel/sched/wait.c
@@ -289,15 +289,6 @@ prepare_to_wait_exclusive(struct wait_queue_head *wq_head, struct wait_queue_ent
 }
 EXPORT_SYMBOL(prepare_to_wait_exclusive);
 
-void init_wait_entry(struct wait_queue_entry *wq_entry, int flags)
-{
-	wq_entry->flags = flags;
-	wq_entry->private = current;
-	wq_entry->func = autoremove_wake_function;
-	INIT_LIST_HEAD(&wq_entry->entry);
-}
-EXPORT_SYMBOL(init_wait_entry);
-
 long prepare_to_wait_event(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry, int state)
 {
 	unsigned long flags;
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395209.635193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvh-0008F4-O1; Wed, 31 Aug 2022 05:06:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395209.635193; Wed, 31 Aug 2022 05:06:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvg-000846-NY; Wed, 31 Aug 2022 05:06:20 +0000
Received: by outflank-mailman (input) for mailman id 395209;
 Tue, 30 Aug 2022 21:59:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JCJX=ZC=flex--surenb.bounces.google.com=3MIYOYwYKCZUHJG3C05DD5A3.1DBM3C-23K3AA7HIH.M3CEGD831I.DG5@srs-se1.protection.inumbo.net>)
 id 1oT987-0008CX-LU
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:43 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id caba66bf-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:50:42 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 p8-20020a258188000000b0069ca52d9f68so713556ybk.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: caba66bf-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=I4E0zbgDI9VG+bn61bv+haOxSwGhD/tyP2DJbq3PPno=;
        b=lMDbTLhz/ohye/t587Ty2qYkwt84HzoX6h4AilPBmG9LeLK/WaDZ7EvrZIWUeDFZwN
         baQ3A+GzmoJpCC2Qp6Nin3hCbTA3XMAwcRsC3ADvEnF19vQrwy6RoUEvm7OappAdU5l3
         60OMhVhHNpayFnTLjtsN7/Lu9JsBb/KhrGHPzY9WG93dKLmDa68Or3m8sTRshadBMxRo
         gvNxqguLj4zV89o7/OmZtheKpzYwtex2+d9trxVpf+SrcS8bxpKkphWAXzDnCiw+XQbW
         tpWgaNqbZfcBTDlXT2S+rQcVcH5VK0aSOJyORG8U2BkSE5BmUcnQE78u9yJeVf5iO1RV
         3uQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=I4E0zbgDI9VG+bn61bv+haOxSwGhD/tyP2DJbq3PPno=;
        b=QBMQ9QqDxqWMf/BmNOtRNwz4MsMo5869eO9gF1lUZFUHn4bzNje+cvhq/sCxqN2mpy
         i46Wli8qEh75kitpw7TkR4KWyKmlbxEioyadOzXcWe6lIW6Rx6B/eUkoHbVqFMTQysjl
         jaY9ZyfCtW16SMCu0oqFMGjKM1LoeOcgagJP3if9pTspY0LX3OxD17ebLaFhcB4Ezq55
         tLlGkf6yWt+Tk4fBxiKpkXc08MUUxtcnnO9K81rYe6qZ95V2e7I9fwkRtoE0pQOyzws9
         cgVD+tLKBWofcMZt87TZsNPbKzBC6Z1W/ZIKs88kl9wp3T/CvHfk+UQHhCz5sCT3+SfP
         J5Hw==
X-Gm-Message-State: ACgBeo3Ewkb2EKO+QK1D6P+iIvEycBCE7QZT546/6+kdcA0DYX9Wg5hP
	yW0RmToLExDGCGTHBWNof9x0KoZUj2o=
X-Google-Smtp-Source: AA6agR7dI1wO7X0I+X6vkeMAF4jNOS1nU0nYZhacVn04sWRsl5inyAJXnu3ndUKBzLRifBhinWG6G+5CS9s=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:4f0b:0:b0:69c:2b2c:f6e5 with SMTP id
 d11-20020a254f0b000000b0069c2b2cf6e5mr7392973ybb.298.1661896240890; Tue, 30
 Aug 2022 14:50:40 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:18 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-30-surenb@google.com>
Subject: [RFC PATCH 29/30] dyndbg: Convert to code tagging
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

This converts dynamic debug to the new code tagging framework, which
provides an interface for iterating over objects in a particular elf
section.

It also converts the debugfs interface from seq_file to the style used
by other code tagging users, which also makes the code a bit smaller and
simpler.

It doesn't yet convert struct _ddebug to use struct codetag; another
cleanup could convert it to that, and to codetag_query_parse().

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Jason Baron <jbaron@akamai.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
---
 include/asm-generic/codetag.lds.h |   5 +-
 include/asm-generic/vmlinux.lds.h |   5 -
 include/linux/dynamic_debug.h     |  11 +-
 kernel/module/internal.h          |   2 -
 kernel/module/main.c              |  23 --
 lib/dynamic_debug.c               | 452 ++++++++++--------------------
 6 files changed, 158 insertions(+), 340 deletions(-)

diff --git a/include/asm-generic/codetag.lds.h b/include/asm-generic/codetag.lds.h
index b087cf1874a9..b7e351f80e9e 100644
--- a/include/asm-generic/codetag.lds.h
+++ b/include/asm-generic/codetag.lds.h
@@ -8,10 +8,11 @@
 	KEEP(*(_name))			\
 	__stop_##_name = .;
 
-#define CODETAG_SECTIONS()		\
+#define CODETAG_SECTIONS()				\
 	SECTION_WITH_BOUNDARIES(alloc_tags)		\
 	SECTION_WITH_BOUNDARIES(dynamic_fault_tags)	\
 	SECTION_WITH_BOUNDARIES(time_stats_tags)	\
-	SECTION_WITH_BOUNDARIES(error_code_tags)
+	SECTION_WITH_BOUNDARIES(error_code_tags)	\
+	SECTION_WITH_BOUNDARIES(dyndbg)
 
 #endif /* __ASM_GENERIC_CODETAG_LDS_H */
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index c2dc2a59ab2e..d3fb914d157f 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -345,11 +345,6 @@
 	__end_once = .;							\
 	STRUCT_ALIGN();							\
 	*(__tracepoints)						\
-	/* implement dynamic printk debug */				\
-	. = ALIGN(8);							\
-	__start___dyndbg = .;						\
-	KEEP(*(__dyndbg))						\
-	__stop___dyndbg = .;						\
 	CODETAG_SECTIONS()						\
 	LIKELY_PROFILE()		       				\
 	BRANCH_PROFILE()						\
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
index dce631e678dd..6a57009dd29e 100644
--- a/include/linux/dynamic_debug.h
+++ b/include/linux/dynamic_debug.h
@@ -58,9 +58,6 @@ struct _ddebug {
 /* exported for module authors to exercise >control */
 int dynamic_debug_exec_queries(const char *query, const char *modname);
 
-int ddebug_add_module(struct _ddebug *tab, unsigned int n,
-				const char *modname);
-extern int ddebug_remove_module(const char *mod_name);
 extern __printf(2, 3)
 void __dynamic_pr_debug(struct _ddebug *descriptor, const char *fmt, ...);
 
@@ -89,7 +86,7 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor,
 
 #define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt)		\
 	static struct _ddebug  __aligned(8)			\
-	__section("__dyndbg") name = {				\
+	__section("dyndbg") name = {				\
 		.modname = KBUILD_MODNAME,			\
 		.function = __func__,				\
 		.filename = __FILE__,				\
@@ -187,12 +184,6 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor,
 #include <linux/errno.h>
 #include <linux/printk.h>
 
-static inline int ddebug_add_module(struct _ddebug *tab, unsigned int n,
-				    const char *modname)
-{
-	return 0;
-}
-
 static inline int ddebug_remove_module(const char *mod)
 {
 	return 0;
diff --git a/kernel/module/internal.h b/kernel/module/internal.h
index f1b6c477bd93..f867c57ab74f 100644
--- a/kernel/module/internal.h
+++ b/kernel/module/internal.h
@@ -62,8 +62,6 @@ struct load_info {
 	Elf_Shdr *sechdrs;
 	char *secstrings, *strtab;
 	unsigned long symoffs, stroffs, init_typeoffs, core_typeoffs;
-	struct _ddebug *debug;
-	unsigned int num_debug;
 	bool sig_ok;
 #ifdef CONFIG_KALLSYMS
 	unsigned long mod_kallsyms_init_off;
diff --git a/kernel/module/main.c b/kernel/module/main.c
index d253277492fd..28e3b337841b 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -1163,9 +1163,6 @@ static void free_module(struct module *mod)
 	mod->state = MODULE_STATE_UNFORMED;
 	mutex_unlock(&module_mutex);
 
-	/* Remove dynamic debug info */
-	ddebug_remove_module(mod->name);
-
 	/* Arch-specific cleanup. */
 	module_arch_cleanup(mod);
 
@@ -1600,19 +1597,6 @@ static void free_modinfo(struct module *mod)
 	}
 }
 
-static void dynamic_debug_setup(struct module *mod, struct _ddebug *debug, unsigned int num)
-{
-	if (!debug)
-		return;
-	ddebug_add_module(debug, num, mod->name);
-}
-
-static void dynamic_debug_remove(struct module *mod, struct _ddebug *debug)
-{
-	if (debug)
-		ddebug_remove_module(mod->name);
-}
-
 void * __weak module_alloc(unsigned long size)
 {
 	return __vmalloc_node_range(size, 1, VMALLOC_START, VMALLOC_END,
@@ -2113,9 +2097,6 @@ static int find_module_sections(struct module *mod, struct load_info *info)
 	if (section_addr(info, "__obsparm"))
 		pr_warn("%s: Ignoring obsolete parameters\n", mod->name);
 
-	info->debug = section_objs(info, "__dyndbg",
-				   sizeof(*info->debug), &info->num_debug);
-
 	return 0;
 }
 
@@ -2808,9 +2789,6 @@ static int load_module(struct load_info *info, const char __user *uargs,
 		goto free_arch_cleanup;
 	}
 
-	init_build_id(mod, info);
-	dynamic_debug_setup(mod, info->debug, info->num_debug);
-
 	/* Ftrace init must be called in the MODULE_STATE_UNFORMED state */
 	ftrace_module_init(mod);
 
@@ -2875,7 +2853,6 @@ static int load_module(struct load_info *info, const char __user *uargs,
 
  ddebug_cleanup:
 	ftrace_release_mod(mod);
-	dynamic_debug_remove(mod, info->debug);
 	synchronize_rcu();
 	kfree(mod->args);
  free_arch_cleanup:
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index dd7f56af9aed..e9079825fb3b 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -13,6 +13,7 @@
 
 #define pr_fmt(fmt) "dyndbg: " fmt
 
+#include <linux/codetag.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
@@ -36,19 +37,37 @@
 #include <linux/sched.h>
 #include <linux/device.h>
 #include <linux/netdevice.h>
+#include <linux/seq_buf.h>
 
 #include <rdma/ib_verbs.h>
 
-extern struct _ddebug __start___dyndbg[];
-extern struct _ddebug __stop___dyndbg[];
+static struct codetag_type *cttype;
 
-struct ddebug_table {
-	struct list_head link;
-	const char *mod_name;
-	unsigned int num_ddebugs;
-	struct _ddebug *ddebugs;
+struct user_buf {
+	char __user		*buf;	/* destination user buffer */
+	size_t			size;	/* size of requested read */
+	ssize_t			ret;	/* bytes read so far */
 };
 
+static int flush_ubuf(struct user_buf *dst, struct seq_buf *src)
+{
+	if (src->len) {
+		size_t bytes = min_t(size_t, src->len, dst->size);
+		int err = copy_to_user(dst->buf, src->buffer, bytes);
+
+		if (err)
+			return err;
+
+		dst->ret	+= bytes;
+		dst->buf	+= bytes;
+		dst->size	-= bytes;
+		src->len	-= bytes;
+		memmove(src->buffer, src->buffer + bytes, src->len);
+	}
+
+	return 0;
+}
+
 struct ddebug_query {
 	const char *filename;
 	const char *module;
@@ -58,8 +77,9 @@ struct ddebug_query {
 };
 
 struct ddebug_iter {
-	struct ddebug_table *table;
-	unsigned int idx;
+	struct codetag_iterator ct_iter;
+	struct seq_buf		buf;
+	char			rawbuf[4096];
 };
 
 struct flag_settings {
@@ -67,8 +87,6 @@ struct flag_settings {
 	unsigned int mask;
 };
 
-static DEFINE_MUTEX(ddebug_lock);
-static LIST_HEAD(ddebug_tables);
 static int verbose;
 module_param(verbose, int, 0644);
 MODULE_PARM_DESC(verbose, " dynamic_debug/control processing "
@@ -152,78 +170,76 @@ static void vpr_info_dq(const struct ddebug_query *query, const char *msg)
 static int ddebug_change(const struct ddebug_query *query,
 			 struct flag_settings *modifiers)
 {
-	int i;
-	struct ddebug_table *dt;
+	struct codetag_iterator ct_iter;
+	struct codetag *ct;
 	unsigned int newflags;
 	unsigned int nfound = 0;
 	struct flagsbuf fbuf;
 
-	/* search for matching ddebugs */
-	mutex_lock(&ddebug_lock);
-	list_for_each_entry(dt, &ddebug_tables, link) {
+	codetag_lock_module_list(cttype, true);
+	codetag_init_iter(&ct_iter, cttype);
+
+	while ((ct = codetag_next_ct(&ct_iter))) {
+		struct _ddebug *dp = (void *) ct;
 
 		/* match against the module name */
 		if (query->module &&
-		    !match_wildcard(query->module, dt->mod_name))
+		    !match_wildcard(query->module, dp->modname))
 			continue;
 
-		for (i = 0; i < dt->num_ddebugs; i++) {
-			struct _ddebug *dp = &dt->ddebugs[i];
-
-			/* match against the source filename */
-			if (query->filename &&
-			    !match_wildcard(query->filename, dp->filename) &&
-			    !match_wildcard(query->filename,
-					   kbasename(dp->filename)) &&
-			    !match_wildcard(query->filename,
-					   trim_prefix(dp->filename)))
-				continue;
+		/* match against the source filename */
+		if (query->filename &&
+		    !match_wildcard(query->filename, dp->filename) &&
+		    !match_wildcard(query->filename,
+				   kbasename(dp->filename)) &&
+		    !match_wildcard(query->filename,
+				   trim_prefix(dp->filename)))
+			continue;
 
-			/* match against the function */
-			if (query->function &&
-			    !match_wildcard(query->function, dp->function))
-				continue;
+		/* match against the function */
+		if (query->function &&
+		    !match_wildcard(query->function, dp->function))
+			continue;
 
-			/* match against the format */
-			if (query->format) {
-				if (*query->format == '^') {
-					char *p;
-					/* anchored search. match must be at beginning */
-					p = strstr(dp->format, query->format+1);
-					if (p != dp->format)
-						continue;
-				} else if (!strstr(dp->format, query->format))
+		/* match against the format */
+		if (query->format) {
+			if (*query->format == '^') {
+				char *p;
+				/* anchored search. match must be at beginning */
+				p = strstr(dp->format, query->format+1);
+				if (p != dp->format)
 					continue;
-			}
-
-			/* match against the line number range */
-			if (query->first_lineno &&
-			    dp->lineno < query->first_lineno)
-				continue;
-			if (query->last_lineno &&
-			    dp->lineno > query->last_lineno)
+			} else if (!strstr(dp->format, query->format))
 				continue;
+		}
+
+		/* match against the line number range */
+		if (query->first_lineno &&
+		    dp->lineno < query->first_lineno)
+			continue;
+		if (query->last_lineno &&
+		    dp->lineno > query->last_lineno)
+			continue;
 
-			nfound++;
+		nfound++;
 
-			newflags = (dp->flags & modifiers->mask) | modifiers->flags;
-			if (newflags == dp->flags)
-				continue;
+		newflags = (dp->flags & modifiers->mask) | modifiers->flags;
+		if (newflags == dp->flags)
+			continue;
 #ifdef CONFIG_JUMP_LABEL
-			if (dp->flags & _DPRINTK_FLAGS_PRINT) {
-				if (!(modifiers->flags & _DPRINTK_FLAGS_PRINT))
-					static_branch_disable(&dp->key.dd_key_true);
-			} else if (modifiers->flags & _DPRINTK_FLAGS_PRINT)
-				static_branch_enable(&dp->key.dd_key_true);
+		if (dp->flags & _DPRINTK_FLAGS_PRINT) {
+			if (!(modifiers->flags & _DPRINTK_FLAGS_PRINT))
+				static_branch_disable(&dp->key.dd_key_true);
+		} else if (modifiers->flags & _DPRINTK_FLAGS_PRINT)
+			static_branch_enable(&dp->key.dd_key_true);
 #endif
-			dp->flags = newflags;
-			v4pr_info("changed %s:%d [%s]%s =%s\n",
-				 trim_prefix(dp->filename), dp->lineno,
-				 dt->mod_name, dp->function,
-				 ddebug_describe_flags(dp->flags, &fbuf));
-		}
+		dp->flags = newflags;
+		v4pr_info("changed %s:%d [%s]%s =%s\n",
+			 trim_prefix(dp->filename), dp->lineno,
+			 dp->modname, dp->function,
+			 ddebug_describe_flags(dp->flags, &fbuf));
 	}
-	mutex_unlock(&ddebug_lock);
+	codetag_lock_module_list(cttype, false);
 
 	if (!nfound && verbose)
 		pr_info("no matches for query\n");
@@ -794,187 +810,96 @@ static ssize_t ddebug_proc_write(struct file *file, const char __user *ubuf,
 	return len;
 }
 
-/*
- * Set the iterator to point to the first _ddebug object
- * and return a pointer to that first object.  Returns
- * NULL if there are no _ddebugs at all.
- */
-static struct _ddebug *ddebug_iter_first(struct ddebug_iter *iter)
-{
-	if (list_empty(&ddebug_tables)) {
-		iter->table = NULL;
-		iter->idx = 0;
-		return NULL;
-	}
-	iter->table = list_entry(ddebug_tables.next,
-				 struct ddebug_table, link);
-	iter->idx = 0;
-	return &iter->table->ddebugs[iter->idx];
-}
-
-/*
- * Advance the iterator to point to the next _ddebug
- * object from the one the iterator currently points at,
- * and returns a pointer to the new _ddebug.  Returns
- * NULL if the iterator has seen all the _ddebugs.
- */
-static struct _ddebug *ddebug_iter_next(struct ddebug_iter *iter)
-{
-	if (iter->table == NULL)
-		return NULL;
-	if (++iter->idx == iter->table->num_ddebugs) {
-		/* iterate to next table */
-		iter->idx = 0;
-		if (list_is_last(&iter->table->link, &ddebug_tables)) {
-			iter->table = NULL;
-			return NULL;
-		}
-		iter->table = list_entry(iter->table->link.next,
-					 struct ddebug_table, link);
-	}
-	return &iter->table->ddebugs[iter->idx];
-}
-
-/*
- * Seq_ops start method.  Called at the start of every
- * read() call from userspace.  Takes the ddebug_lock and
- * seeks the seq_file's iterator to the given position.
- */
-static void *ddebug_proc_start(struct seq_file *m, loff_t *pos)
-{
-	struct ddebug_iter *iter = m->private;
-	struct _ddebug *dp;
-	int n = *pos;
-
-	mutex_lock(&ddebug_lock);
-
-	if (!n)
-		return SEQ_START_TOKEN;
-	if (n < 0)
-		return NULL;
-	dp = ddebug_iter_first(iter);
-	while (dp != NULL && --n > 0)
-		dp = ddebug_iter_next(iter);
-	return dp;
-}
-
-/*
- * Seq_ops next method.  Called several times within a read()
- * call from userspace, with ddebug_lock held.  Walks to the
- * next _ddebug object with a special case for the header line.
- */
-static void *ddebug_proc_next(struct seq_file *m, void *p, loff_t *pos)
-{
-	struct ddebug_iter *iter = m->private;
-	struct _ddebug *dp;
-
-	if (p == SEQ_START_TOKEN)
-		dp = ddebug_iter_first(iter);
-	else
-		dp = ddebug_iter_next(iter);
-	++*pos;
-	return dp;
-}
-
 /*
  * Seq_ops show method.  Called several times within a read()
  * call from userspace, with ddebug_lock held.  Formats the
  * current _ddebug as a single human-readable line, with a
  * special case for the header line.
  */
-static int ddebug_proc_show(struct seq_file *m, void *p)
+static void ddebug_to_text(struct seq_buf *out, struct _ddebug *dp)
 {
-	struct ddebug_iter *iter = m->private;
-	struct _ddebug *dp = p;
 	struct flagsbuf flags;
+	char *buf;
+	size_t len;
 
-	if (p == SEQ_START_TOKEN) {
-		seq_puts(m,
-			 "# filename:lineno [module]function flags format\n");
-		return 0;
-	}
-
-	seq_printf(m, "%s:%u [%s]%s =%s \"",
+	seq_buf_printf(out, "%s:%u [%s]%s =%s \"",
 		   trim_prefix(dp->filename), dp->lineno,
-		   iter->table->mod_name, dp->function,
+		   dp->modname, dp->function,
 		   ddebug_describe_flags(dp->flags, &flags));
-	seq_escape(m, dp->format, "\t\r\n\"");
-	seq_puts(m, "\"\n");
 
-	return 0;
-}
+	len = seq_buf_get_buf(out, &buf);
+	len = string_escape_mem(dp->format, strlen(dp->format),
+				buf, len, ESCAPE_OCTAL, "\t\r\n\"");
+	seq_buf_commit(out, len);
 
-/*
- * Seq_ops stop method.  Called at the end of each read()
- * call from userspace.  Drops ddebug_lock.
- */
-static void ddebug_proc_stop(struct seq_file *m, void *p)
-{
-	mutex_unlock(&ddebug_lock);
+	seq_buf_puts(out, "\"\n");
 }
 
-static const struct seq_operations ddebug_proc_seqops = {
-	.start = ddebug_proc_start,
-	.next = ddebug_proc_next,
-	.show = ddebug_proc_show,
-	.stop = ddebug_proc_stop
-};
-
 static int ddebug_proc_open(struct inode *inode, struct file *file)
 {
-	return seq_open_private(file, &ddebug_proc_seqops,
-				sizeof(struct ddebug_iter));
+	struct ddebug_iter *iter;
+
+	iter = kzalloc(sizeof(*iter), GFP_KERNEL);
+	if (!iter)
+		return -ENOMEM;
+
+	codetag_lock_module_list(cttype, true);
+	codetag_init_iter(&iter->ct_iter, cttype);
+	codetag_lock_module_list(cttype, false);
+	seq_buf_init(&iter->buf, iter->rawbuf, sizeof(iter->rawbuf));
+	file->private_data = iter;
+
+	return 0;
 }
 
-static const struct file_operations ddebug_proc_fops = {
-	.owner = THIS_MODULE,
-	.open = ddebug_proc_open,
-	.read = seq_read,
-	.llseek = seq_lseek,
-	.release = seq_release_private,
-	.write = ddebug_proc_write
-};
+static int ddebug_proc_release(struct inode *inode, struct file *file)
+{
+	struct ddebug_iter *iter = file->private_data;
 
-static const struct proc_ops proc_fops = {
-	.proc_open = ddebug_proc_open,
-	.proc_read = seq_read,
-	.proc_lseek = seq_lseek,
-	.proc_release = seq_release_private,
-	.proc_write = ddebug_proc_write
-};
+	kfree(iter);
+	return 0;
+}
 
-/*
- * Allocate a new ddebug_table for the given module
- * and add it to the global list.
- */
-int ddebug_add_module(struct _ddebug *tab, unsigned int n,
-			     const char *name)
+static ssize_t ddebug_proc_read(struct file *file, char __user *ubuf,
+				   size_t size, loff_t *ppos)
 {
-	struct ddebug_table *dt;
+	struct ddebug_iter *iter = file->private_data;
+	struct user_buf	buf = { .buf = ubuf, .size = size };
+	struct codetag *ct;
+	int err = 0;
 
-	dt = kzalloc(sizeof(*dt), GFP_KERNEL);
-	if (dt == NULL) {
-		pr_err("error adding module: %s\n", name);
-		return -ENOMEM;
-	}
-	/*
-	 * For built-in modules, name lives in .rodata and is
-	 * immortal. For loaded modules, name points at the name[]
-	 * member of struct module, which lives at least as long as
-	 * this struct ddebug_table.
-	 */
-	dt->mod_name = name;
-	dt->num_ddebugs = n;
-	dt->ddebugs = tab;
+	codetag_lock_module_list(iter->ct_iter.cttype, true);
+	while (1) {
+		err = flush_ubuf(&buf, &iter->buf);
+		if (err || !buf.size)
+			break;
+
+		ct = codetag_next_ct(&iter->ct_iter);
+		if (!ct)
+			break;
 
-	mutex_lock(&ddebug_lock);
-	list_add(&dt->link, &ddebug_tables);
-	mutex_unlock(&ddebug_lock);
+		ddebug_to_text(&iter->buf, (void *) ct);
+	}
+	codetag_lock_module_list(iter->ct_iter.cttype, false);
 
-	vpr_info("%3u debug prints in module %s\n", n, dt->mod_name);
-	return 0;
+	return err ? : buf.ret;
 }
 
+static const struct file_operations ddebug_proc_fops = {
+	.owner		= THIS_MODULE,
+	.open		= ddebug_proc_open,
+	.read		= ddebug_proc_read,
+	.release	= ddebug_proc_release,
+	.write		= ddebug_proc_write,
+};
+
+static const struct proc_ops proc_fops = {
+	.proc_open	= ddebug_proc_open,
+	.proc_read	= ddebug_proc_read,
+	.proc_release	= ddebug_proc_release,
+	.proc_write	= ddebug_proc_write,
+};
+
 /* helper for ddebug_dyndbg_(boot|module)_param_cb */
 static int ddebug_dyndbg_param_cb(char *param, char *val,
 				const char *modname, int on_err)
@@ -1015,47 +940,6 @@ int ddebug_dyndbg_module_param_cb(char *param, char *val, const char *module)
 	return ddebug_dyndbg_param_cb(param, val, module, -ENOENT);
 }
 
-static void ddebug_table_free(struct ddebug_table *dt)
-{
-	list_del_init(&dt->link);
-	kfree(dt);
-}
-
-/*
- * Called in response to a module being unloaded.  Removes
- * any ddebug_table's which point at the module.
- */
-int ddebug_remove_module(const char *mod_name)
-{
-	struct ddebug_table *dt, *nextdt;
-	int ret = -ENOENT;
-
-	mutex_lock(&ddebug_lock);
-	list_for_each_entry_safe(dt, nextdt, &ddebug_tables, link) {
-		if (dt->mod_name == mod_name) {
-			ddebug_table_free(dt);
-			ret = 0;
-			break;
-		}
-	}
-	mutex_unlock(&ddebug_lock);
-	if (!ret)
-		v2pr_info("removed module \"%s\"\n", mod_name);
-	return ret;
-}
-
-static void ddebug_remove_all_tables(void)
-{
-	mutex_lock(&ddebug_lock);
-	while (!list_empty(&ddebug_tables)) {
-		struct ddebug_table *dt = list_entry(ddebug_tables.next,
-						      struct ddebug_table,
-						      link);
-		ddebug_table_free(dt);
-	}
-	mutex_unlock(&ddebug_lock);
-}
-
 static __initdata int ddebug_init_success;
 
 static int __init dynamic_debug_init_control(void)
@@ -1083,45 +967,19 @@ static int __init dynamic_debug_init_control(void)
 
 static int __init dynamic_debug_init(void)
 {
-	struct _ddebug *iter, *iter_start;
-	const char *modname = NULL;
+	const struct codetag_type_desc desc = {
+		.section = "dyndbg",
+		.tag_size = sizeof(struct _ddebug),
+	};
 	char *cmdline;
-	int ret = 0;
-	int n = 0, entries = 0, modct = 0;
+	int ret;
 
-	if (&__start___dyndbg == &__stop___dyndbg) {
-		if (IS_ENABLED(CONFIG_DYNAMIC_DEBUG)) {
-			pr_warn("_ddebug table is empty in a CONFIG_DYNAMIC_DEBUG build\n");
-			return 1;
-		}
-		pr_info("Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build\n");
-		ddebug_init_success = 1;
-		return 0;
-	}
-	iter = __start___dyndbg;
-	modname = iter->modname;
-	iter_start = iter;
-	for (; iter < __stop___dyndbg; iter++) {
-		entries++;
-		if (strcmp(modname, iter->modname)) {
-			modct++;
-			ret = ddebug_add_module(iter_start, n, modname);
-			if (ret)
-				goto out_err;
-			n = 0;
-			modname = iter->modname;
-			iter_start = iter;
-		}
-		n++;
-	}
-	ret = ddebug_add_module(iter_start, n, modname);
+	cttype = codetag_register_type(&desc);
+	ret = PTR_ERR_OR_ZERO(cttype);
 	if (ret)
-		goto out_err;
+		return ret;
 
 	ddebug_init_success = 1;
-	vpr_info("%d prdebugs in %d modules, %d KiB in ddebug tables, %d kiB in __dyndbg section\n",
-		 entries, modct, (int)((modct * sizeof(struct ddebug_table)) >> 10),
-		 (int)((entries * sizeof(struct _ddebug)) >> 10));
 
 	/* now that ddebug tables are loaded, process all boot args
 	 * again to find and activate queries given in dyndbg params.
@@ -1132,14 +990,12 @@ static int __init dynamic_debug_init(void)
 	 * slightly noisy if verbose, but harmless.
 	 */
 	cmdline = kstrdup(saved_command_line, GFP_KERNEL);
+	if (!cmdline)
+		return -ENOMEM;
 	parse_args("dyndbg params", cmdline, NULL,
 		   0, 0, 0, NULL, &ddebug_dyndbg_boot_param_cb);
 	kfree(cmdline);
 	return 0;
-
-out_err:
-	ddebug_remove_all_tables();
-	return 0;
 }
 /* Allow early initialization for boot messages via boot param */
 early_initcall(dynamic_debug_init);
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395210.635208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvk-0000Ne-E6; Wed, 31 Aug 2022 05:06:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395210.635208; Wed, 31 Aug 2022 05:06:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvi-0000GR-SY; Wed, 31 Aug 2022 05:06:22 +0000
Received: by outflank-mailman (input) for mailman id 395210;
 Tue, 30 Aug 2022 21:59:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=e91V=ZC=flex--surenb.bounces.google.com=3GIYOYwYKCX0tvsfochpphmf.dpnyfo-efwfmmjtut.yfoqspkfdu.psh@srs-se1.protection.inumbo.net>)
 id 1oT97i-0008CX-7Q
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:18 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc598709-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:50:17 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 s15-20020a5b044f000000b00680c4eb89f1so711831ybp.7
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc598709-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=k1RBq3yq4U5V/3OJ4fp4kBxfnryZ2+wdIlpTdmkxoTI=;
        b=VhiQWzTMcrdH+FaQQULhGR8WSlxfBOTth6dlvIbrF9tNsikpCPNZSCsVVNQzwya0+m
         inYdBoaJMW2SV4VMQbG9aeBgJRps+ez+XWS5k3Rur9K2IIy7JqKGimhHZpLDadEOC8jn
         mlaKyF5VrtiZ0WWLgSmcUKau4UWKqCVgLA42otcSHORATS4YZtKue2vIEn7FwP4yHe6S
         ZPXLk6/7AXcHQ83MkQ3/jShGMz5S5LOyBhJVZrkJyLThC9PcUD9ldyCOL0uzdDG1sb5M
         06MkPGxPeBa0aM/Evc6sFSslW/GhAWnvZBA8+PZrxcvSTvVlK9z1clRYSNWpN2i8rC4H
         SSiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=k1RBq3yq4U5V/3OJ4fp4kBxfnryZ2+wdIlpTdmkxoTI=;
        b=2TAV8ubkqVGMCQFelUWPs+83otWagEPYsFgC4zvQLMikR3vTh3AeJY4UoTcQL1qQjR
         EpjPXHhXhxu8RkXEWNV7H+EXM6SRBNsdsC5CVsAFCtKBywkAGJH0fIKjKiidhOFnlvJ9
         YFLwXr6D1OMLs5YHeVQbKlb5UhX02oSS9jDne8fQW8gzkLOMVn0LuO9Mc0pJZJl//4N7
         4vXw68iWSsenDfiUw01S8VICuTHvY1n6TQ8vCpH8w4Nl5MifEV4IVo2sRraM89JPdhq8
         DSc7fLlxXAy4gVWusG6zVP0JXCRwnmU+7zqpe+UGYJZZ0oIhE2QlXfK6yRXclbFyqWur
         iOjg==
X-Gm-Message-State: ACgBeo25ymjsEKkDR7JxSRElXgAf4aq/wXDPmQZ080WqX0HV3NIyoGKC
	hr+QuVXdLRyMosi9r87r7t79qLQjwes=
X-Google-Smtp-Source: AA6agR4708nF24x7XI3k0Gx9DyNo/OwdO20Vx8Uo0n79f6qJIllny6st9xxE+KwycAbaAtlsqzU8pt5cOBU=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a25:ef45:0:b0:696:45b0:7b5d with SMTP id
 w5-20020a25ef45000000b0069645b07b5dmr12075882ybm.368.1661896216803; Tue, 30
 Aug 2022 14:50:16 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:09 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-21-surenb@google.com>
Subject: [RFC PATCH 20/30] lib: introduce support for storing code tag context
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Add support for code tag context capture when registering a new code tag
type. When context capture for a specific code tag is enabled,
codetag_ref will point to a codetag_ctx object which can be attached
to an application-specific object storing code invocation context.
codetag_ctx has a pointer to its codetag_with_ctx object with embedded
codetag object in it. All context objects of the same code tag are placed
into codetag_with_ctx.ctx_head linked list. codetag.flag is used to
indicate when a context capture for the associated code tag is
initialized and enabled.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
 include/linux/codetag.h     |  50 +++++++++++++-
 include/linux/codetag_ctx.h |  48 +++++++++++++
 lib/codetag.c               | 134 ++++++++++++++++++++++++++++++++++++
 3 files changed, 231 insertions(+), 1 deletion(-)
 create mode 100644 include/linux/codetag_ctx.h

diff --git a/include/linux/codetag.h b/include/linux/codetag.h
index 0c605417ebbe..57736ec77b45 100644
--- a/include/linux/codetag.h
+++ b/include/linux/codetag.h
@@ -5,8 +5,12 @@
 #ifndef _LINUX_CODETAG_H
 #define _LINUX_CODETAG_H
 
+#include <linux/container_of.h>
+#include <linux/spinlock.h>
 #include <linux/types.h>
 
+struct kref;
+struct codetag_ctx;
 struct codetag_iterator;
 struct codetag_type;
 struct seq_buf;
@@ -18,15 +22,38 @@ struct module;
  * an array of these.
  */
 struct codetag {
-	unsigned int flags; /* used in later patches */
+	unsigned int flags; /* has to be the first member shared with codetag_ctx */
 	unsigned int lineno;
 	const char *modname;
 	const char *function;
 	const char *filename;
 } __aligned(8);
 
+/* codetag_with_ctx flags */
+#define CTC_FLAG_CTX_PTR	(1 << 0)
+#define CTC_FLAG_CTX_READY	(1 << 1)
+#define CTC_FLAG_CTX_ENABLED	(1 << 2)
+
+/*
+ * Code tag with context capture support. Contains a list to store context for
+ * each tag hit, a lock protecting the list and a flag to indicate whether
+ * context capture is enabled for the tag.
+ */
+struct codetag_with_ctx {
+	struct codetag ct;
+	struct list_head ctx_head;
+	spinlock_t ctx_lock;
+} __aligned(8);
+
+/*
+ * Tag reference can point to codetag directly or indirectly via codetag_ctx.
+ * Direct codetag pointer is used when context capture is disabled or not
+ * supported. When context capture for the tag is used, the reference points
+ * to the codetag_ctx through which the codetag can be reached.
+ */
 union codetag_ref {
 	struct codetag *ct;
+	struct codetag_ctx *ctx;
 };
 
 struct codetag_range {
@@ -46,6 +73,7 @@ struct codetag_type_desc {
 			    struct codetag_module *cmod);
 	void (*module_unload)(struct codetag_type *cttype,
 			      struct codetag_module *cmod);
+	void (*free_ctx)(struct kref *ref);
 };
 
 struct codetag_iterator {
@@ -53,6 +81,7 @@ struct codetag_iterator {
 	struct codetag_module *cmod;
 	unsigned long mod_id;
 	struct codetag *ct;
+	struct codetag_ctx *ctx;
 };
 
 #define CODE_TAG_INIT {					\
@@ -63,9 +92,28 @@ struct codetag_iterator {
 	.flags		= 0,				\
 }
 
+static inline bool is_codetag_ctx_ref(union codetag_ref *ref)
+{
+	return !!(ref->ct->flags & CTC_FLAG_CTX_PTR);
+}
+
+static inline
+struct codetag_with_ctx *ct_to_ctc(struct codetag *ct)
+{
+	return container_of(ct, struct codetag_with_ctx, ct);
+}
+
 void codetag_lock_module_list(struct codetag_type *cttype, bool lock);
 struct codetag_iterator codetag_get_ct_iter(struct codetag_type *cttype);
 struct codetag *codetag_next_ct(struct codetag_iterator *iter);
+struct codetag_ctx *codetag_next_ctx(struct codetag_iterator *iter);
+
+bool codetag_enable_ctx(struct codetag_with_ctx *ctc, bool enable);
+static inline bool codetag_ctx_enabled(struct codetag_with_ctx *ctc)
+{
+	return !!(ctc->ct.flags & CTC_FLAG_CTX_ENABLED);
+}
+bool codetag_has_ctx(struct codetag_with_ctx *ctc);
 
 void codetag_to_text(struct seq_buf *out, struct codetag *ct);
 
diff --git a/include/linux/codetag_ctx.h b/include/linux/codetag_ctx.h
new file mode 100644
index 000000000000..e741484f0e08
--- /dev/null
+++ b/include/linux/codetag_ctx.h
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * code tag context
+ */
+#ifndef _LINUX_CODETAG_CTX_H
+#define _LINUX_CODETAG_CTX_H
+
+#include <linux/codetag.h>
+#include <linux/kref.h>
+
+/* Code tag hit context. */
+struct codetag_ctx {
+	unsigned int flags; /* has to be the first member shared with codetag */
+	struct codetag_with_ctx *ctc;
+	struct list_head node;
+	struct kref refcount;
+} __aligned(8);
+
+static inline struct codetag_ctx *kref_to_ctx(struct kref *refcount)
+{
+	return container_of(refcount, struct codetag_ctx, refcount);
+}
+
+static inline void add_ctx(struct codetag_ctx *ctx,
+			   struct codetag_with_ctx *ctc)
+{
+	kref_init(&ctx->refcount);
+	spin_lock(&ctc->ctx_lock);
+	ctx->flags = CTC_FLAG_CTX_PTR;
+	ctx->ctc = ctc;
+	list_add_tail(&ctx->node, &ctc->ctx_head);
+	spin_unlock(&ctc->ctx_lock);
+}
+
+static inline void rem_ctx(struct codetag_ctx *ctx,
+			   void (*free_ctx)(struct kref *refcount))
+{
+	struct codetag_with_ctx *ctc = ctx->ctc;
+
+	spin_lock(&ctc->ctx_lock);
+	/* ctx might have been removed while we were using it */
+	if (!list_empty(&ctx->node))
+		list_del_init(&ctx->node);
+	spin_unlock(&ctc->ctx_lock);
+	kref_put(&ctx->refcount, free_ctx);
+}
+
+#endif /* _LINUX_CODETAG_CTX_H */
diff --git a/lib/codetag.c b/lib/codetag.c
index 288ccfd5cbd0..2762fda5c016 100644
--- a/lib/codetag.c
+++ b/lib/codetag.c
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 #include <linux/codetag.h>
+#include <linux/codetag_ctx.h>
 #include <linux/idr.h>
 #include <linux/kallsyms.h>
 #include <linux/module.h>
@@ -91,6 +92,139 @@ struct codetag *codetag_next_ct(struct codetag_iterator *iter)
 	return ct;
 }
 
+static struct codetag_ctx *next_ctx_from_ct(struct codetag_iterator *iter)
+{
+	struct codetag_with_ctx *ctc;
+	struct codetag_ctx *ctx = NULL;
+	struct codetag *ct = iter->ct;
+
+	while (ct) {
+		if (!(ct->flags & CTC_FLAG_CTX_READY))
+			goto next;
+
+		ctc = ct_to_ctc(ct);
+		spin_lock(&ctc->ctx_lock);
+		if (!list_empty(&ctc->ctx_head)) {
+			ctx = list_first_entry(&ctc->ctx_head,
+					       struct codetag_ctx, node);
+			kref_get(&ctx->refcount);
+		}
+		spin_unlock(&ctc->ctx_lock);
+		if (ctx)
+			break;
+next:
+		ct = codetag_next_ct(iter);
+	}
+
+	iter->ctx = ctx;
+	return ctx;
+}
+
+struct codetag_ctx *codetag_next_ctx(struct codetag_iterator *iter)
+{
+	struct codetag_ctx *ctx = iter->ctx;
+	struct codetag_ctx *found = NULL;
+
+	lockdep_assert_held(&iter->cttype->mod_lock);
+
+	if (!ctx)
+		return next_ctx_from_ct(iter);
+
+	spin_lock(&ctx->ctc->ctx_lock);
+	/*
+	 * Do not advance if the object was isolated, restart at the same tag.
+	 */
+	if (!list_empty(&ctx->node)) {
+		if (list_is_last(&ctx->node, &ctx->ctc->ctx_head)) {
+			/* Finished with this tag, advance to the next */
+			codetag_next_ct(iter);
+		} else {
+			found = list_next_entry(ctx, node);
+			kref_get(&found->refcount);
+		}
+	}
+	spin_unlock(&ctx->ctc->ctx_lock);
+	kref_put(&ctx->refcount, iter->cttype->desc.free_ctx);
+
+	if (!found)
+		return next_ctx_from_ct(iter);
+
+	iter->ctx = found;
+	return found;
+}
+
+static struct codetag_type *find_cttype(struct codetag *ct)
+{
+	struct codetag_module *cmod;
+	struct codetag_type *cttype;
+	unsigned long mod_id;
+	unsigned long tmp;
+
+	mutex_lock(&codetag_lock);
+	list_for_each_entry(cttype, &codetag_types, link) {
+		down_read(&cttype->mod_lock);
+		idr_for_each_entry_ul(&cttype->mod_idr, cmod, tmp, mod_id) {
+			if (ct >= cmod->range.start && ct < cmod->range.stop) {
+				up_read(&cttype->mod_lock);
+				goto found;
+			}
+		}
+		up_read(&cttype->mod_lock);
+	}
+	cttype = NULL;
+found:
+	mutex_unlock(&codetag_lock);
+
+	return cttype;
+}
+
+bool codetag_enable_ctx(struct codetag_with_ctx *ctc, bool enable)
+{
+	struct codetag_type *cttype = find_cttype(&ctc->ct);
+
+	if (!cttype || !cttype->desc.free_ctx)
+		return false;
+
+	lockdep_assert_held(&cttype->mod_lock);
+	BUG_ON(!rwsem_is_locked(&cttype->mod_lock));
+
+	if (codetag_ctx_enabled(ctc) == enable)
+		return false;
+
+	if (enable) {
+		/* Initialize context capture fields only once */
+		if (!(ctc->ct.flags & CTC_FLAG_CTX_READY)) {
+			spin_lock_init(&ctc->ctx_lock);
+			INIT_LIST_HEAD(&ctc->ctx_head);
+			ctc->ct.flags |= CTC_FLAG_CTX_READY;
+		}
+		ctc->ct.flags |= CTC_FLAG_CTX_ENABLED;
+	} else {
+		/*
+		 * The list of context objects is intentionally left untouched.
+		 * It can be read back and if context capture is re-enablied it
+		 * will append new objects.
+		 */
+		ctc->ct.flags &= ~CTC_FLAG_CTX_ENABLED;
+	}
+
+	return true;
+}
+
+bool codetag_has_ctx(struct codetag_with_ctx *ctc)
+{
+	bool no_ctx;
+
+	if (!(ctc->ct.flags & CTC_FLAG_CTX_READY))
+		return false;
+
+	spin_lock(&ctc->ctx_lock);
+	no_ctx = list_empty(&ctc->ctx_head);
+	spin_unlock(&ctc->ctx_lock);
+
+	return !no_ctx;
+}
+
 void codetag_to_text(struct seq_buf *out, struct codetag *ct)
 {
 	seq_buf_printf(out, "%s:%u module:%s func:%s",
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395211.635219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvl-0000mD-OW; Wed, 31 Aug 2022 05:06:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395211.635219; Wed, 31 Aug 2022 05:06:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvk-0000gp-F0; Wed, 31 Aug 2022 05:06:24 +0000
Received: by outflank-mailman (input) for mailman id 395211;
 Tue, 30 Aug 2022 21:59:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KUWs=ZC=flex--surenb.bounces.google.com=3LoYOYwYKCZMFHE1Ay3BB381.zB9K1A-01I1885FGF.K1ACEB61zG.BE3@srs-se1.protection.inumbo.net>)
 id 1oT984-0008Cd-7q
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:40 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9276560-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:39 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 j11-20020a05690212cb00b006454988d225so724183ybu.10
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9276560-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=ZStBKMvqZf5cf9FAaMePhJpKdJzTFBwr6u3tFotg8hA=;
        b=VTVsraZqevmRCaObBRFMsjzBHvekcfce8MtBSaZZ5Crg1seH0CtSm9c29RKCC59TBN
         19FBNPHC8dpOcblrHciXVuHQoofaiZfBwdvimHRJsLndFImNdH+eu+YtfXaacByCuPex
         4skGzTc23jNuehJZ1slH7Ll/8rph1Z+dZIGkIrmDgscRY7RIgNnfOz1AT6ADLF2JebGP
         ImyuFSTfbcS7qk97+Srdow1KJqFKbaNXoPDO2ySg/qcfR6YEVvxMJcvJ5RrVZoonHGUz
         PLJ9fn0z6uZxXsmBY3YesylZ0YvtVFfBxK+5t+T1HyPEAGObb07elO3lsln5Hg+z0Hea
         kK4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=ZStBKMvqZf5cf9FAaMePhJpKdJzTFBwr6u3tFotg8hA=;
        b=6CiRfL+fIwMhbShavot+0d+toH5EhRNLdQgGWLF052nbjr0by8RvK7oOUuidU4Tai1
         0Vb/j0XU/CxFo2tj2wp227PkYLa09FuNzIrC5Qa6pJbG5luexI2xmJmQN+xOAR+HNEjB
         N0MmhbjN2qbDvBsLh8i00J4hZdz6vir58uV/oThhYOBUvLNXHHsjLbFgKoCkeyxMlOJl
         7cjJnzSCr5zFvaS0KCZQUEp34DYHvjrhqL4MbSe7BUD1p10DfvQYF+LETeDtqmwsJA/T
         jeyDyyVC+4yNBO48SX96+Ac98TGi8H0Umu59NGCAJ2uTB5jfmtbY3RNucMUQQhtxz945
         1Wew==
X-Gm-Message-State: ACgBeo1zXFOLFzEYDnkw3YVKtGAIao2eMdtvt+7Idk1p8fn7qXT7g2x3
	qfwB1R01rv8xSIKFF8Xn/x4Muz7bS/A=
X-Google-Smtp-Source: AA6agR5ZJaVBuvkDlBerd8g/D0cXVNCnXViOohqfD6wf3W0FPvTvaQusAJxcQ2WbQWopoioqQ9vnkekcbVo=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a05:6902:15cf:b0:67c:1ee7:149 with SMTP id
 l15-20020a05690215cf00b0067c1ee70149mr13333139ybu.594.1661896238275; Tue, 30
 Aug 2022 14:50:38 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:17 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-29-surenb@google.com>
Subject: [RFC PATCH 28/30] Improved symbolic error names
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

This patch adds per-error-site error codes, with error strings that
include their file and line number.

To use, change code that returns an error, e.g.
    return -ENOMEM;
to
    return -ERR(ENOMEM);

Then, errname() will return a string that includes the file and line
number of the ERR() call, for example
    printk("Got error %s!\n", errname(err));
will result in
    Got error ENOMEM at foo.c:1234

To convert back to the original error code (before returning it to
outside code that does not understand dynamic error codes), use
    return error_class(err);

To test if an error is of some type, replace
    if (err == -ENOMEM)
with
    if (error_matches(err, ENOMEM))

Implementation notes:

Error codes are allocated dynamically on module load and deallocated on
module unload. On memory allocation failure (i.e. the data structures
for indexing error strings and error parents), ERR() will fall back to
returning the error code that it was passed.

MAX_ERRNO has been raised from 4096 to 1 million, which should be
sufficient given the number of lines of code and the fraction that throw
errors in the kernel codebase.

This has implications for ERR_PTR(), since the range of the address
space reserved for errors is unavailable for other purposes. Since
ERR_PTR() ptrs are at the top of the address space there should not be
any major difficulties.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/asm-generic/codetag.lds.h |   3 +-
 include/linux/err.h               |   2 +-
 include/linux/errname.h           |  50 +++++++++++++++
 lib/errname.c                     | 103 ++++++++++++++++++++++++++++++
 4 files changed, 156 insertions(+), 2 deletions(-)

diff --git a/include/asm-generic/codetag.lds.h b/include/asm-generic/codetag.lds.h
index d799f4aced82..b087cf1874a9 100644
--- a/include/asm-generic/codetag.lds.h
+++ b/include/asm-generic/codetag.lds.h
@@ -11,6 +11,7 @@
 #define CODETAG_SECTIONS()		\
 	SECTION_WITH_BOUNDARIES(alloc_tags)		\
 	SECTION_WITH_BOUNDARIES(dynamic_fault_tags)	\
-	SECTION_WITH_BOUNDARIES(time_stats_tags)
+	SECTION_WITH_BOUNDARIES(time_stats_tags)	\
+	SECTION_WITH_BOUNDARIES(error_code_tags)
 
 #endif /* __ASM_GENERIC_CODETAG_LDS_H */
diff --git a/include/linux/err.h b/include/linux/err.h
index a139c64aef2a..1d8d6c46ab9c 100644
--- a/include/linux/err.h
+++ b/include/linux/err.h
@@ -15,7 +15,7 @@
  * This should be a per-architecture thing, to allow different
  * error and pointer decisions.
  */
-#define MAX_ERRNO	4095
+#define MAX_ERRNO	((1 << 20) - 1)
 
 #ifndef __ASSEMBLY__
 
diff --git a/include/linux/errname.h b/include/linux/errname.h
index e8576ad90cb7..dd39fe7120bb 100644
--- a/include/linux/errname.h
+++ b/include/linux/errname.h
@@ -5,12 +5,62 @@
 #include <linux/stddef.h>
 
 #ifdef CONFIG_SYMBOLIC_ERRNAME
+
 const char *errname(int err);
+
+#include <linux/codetag.h>
+
+struct codetag_error_code {
+	const char		*str;
+	int			err;
+};
+
+/**
+ * ERR - return an error code that records the error site
+ *
+ * E.g., instead of
+ *   return -ENOMEM;
+ * Use
+ *   return -ERR(ENOMEM);
+ *
+ * Then, when a caller prints out the error with errname(), the error string
+ * will include the file and line number.
+ */
+#define ERR(_err)							\
+({									\
+	static struct codetag_error_code				\
+	__used								\
+	__section("error_code_tags")					\
+	__aligned(8) e = {						\
+		.str	= #_err " at " __FILE__ ":" __stringify(__LINE__),\
+		.err	= _err,						\
+	};								\
+									\
+	e.err;								\
+})
+
+int error_class(int err);
+bool error_matches(int err, int class);
+
 #else
+
+static inline int error_class(int err)
+{
+	return err;
+}
+
+static inline bool error_matches(int err, int class)
+{
+	return err == class;
+}
+
+#define ERR(_err)	_err
+
 static inline const char *errname(int err)
 {
 	return NULL;
 }
+
 #endif
 
 #endif /* _LINUX_ERRNAME_H */
diff --git a/lib/errname.c b/lib/errname.c
index 05cbf731545f..2db8f5301ba0 100644
--- a/lib/errname.c
+++ b/lib/errname.c
@@ -1,9 +1,20 @@
 // SPDX-License-Identifier: GPL-2.0
 #include <linux/build_bug.h>
+#include <linux/codetag.h>
 #include <linux/errno.h>
 #include <linux/errname.h>
+#include <linux/idr.h>
 #include <linux/kernel.h>
 #include <linux/math.h>
+#include <linux/module.h>
+#include <linux/xarray.h>
+
+#define DYNAMIC_ERRCODE_START	4096
+
+static DEFINE_IDR(dynamic_error_strings);
+static DEFINE_XARRAY(error_classes);
+
+static struct codetag_type *cttype;
 
 /*
  * Ensure these tables do not accidentally become gigantic if some
@@ -200,6 +211,9 @@ static const char *names_512[] = {
 
 static const char *__errname(unsigned err)
 {
+	if (err >= DYNAMIC_ERRCODE_START)
+		return idr_find(&dynamic_error_strings, err);
+
 	if (err < ARRAY_SIZE(names_0))
 		return names_0[err];
 	if (err >= 512 && err - 512 < ARRAY_SIZE(names_512))
@@ -222,3 +236,92 @@ const char *errname(int err)
 
 	return err > 0 ? name + 1 : name;
 }
+
+/**
+ * error_class - return standard/parent error (of a dynamic error code)
+ *
+ * When using dynamic error codes returned by ERR(), error_class() will return
+ * the original errorcode that was passed to ERR().
+ */
+int error_class(int err)
+{
+	int class = abs(err);
+
+	if (class > DYNAMIC_ERRCODE_START)
+		class = (unsigned long) xa_load(&error_classes,
+					      class - DYNAMIC_ERRCODE_START);
+	if (err < 0)
+		class = -class;
+	return class;
+}
+EXPORT_SYMBOL(error_class);
+
+/**
+ * error_matches - test if error is of some type
+ *
+ * When using dynamic error codes, instead of checking for errors with e.g.
+ *   if (err == -ENOMEM)
+ * Instead use
+ *   if (error_matches(err, ENOMEM))
+ */
+bool error_matches(int err, int class)
+{
+	err	= abs(err);
+	class	= abs(class);
+
+	BUG_ON(err	>= MAX_ERRNO);
+	BUG_ON(class	>= MAX_ERRNO);
+
+	if (err != class)
+		err = error_class(err);
+
+	return err == class;
+}
+EXPORT_SYMBOL(error_matches);
+
+static void errcode_module_load(struct codetag_type *cttype, struct codetag_module *mod)
+{
+	struct codetag_error_code *i, *start = (void *) mod->range.start;
+	struct codetag_error_code *end = (void *) mod->range.stop;
+
+	for (i = start; i != end; i++) {
+		int err = idr_alloc(&dynamic_error_strings,
+				    (char *) i->str,
+				    DYNAMIC_ERRCODE_START,
+				    MAX_ERRNO,
+				    GFP_KERNEL);
+		if (err < 0)
+			continue;
+
+		xa_store(&error_classes,
+			 err - DYNAMIC_ERRCODE_START,
+			 (void *)(unsigned long) abs(i->err),
+			 GFP_KERNEL);
+
+		i->err = i->err < 0 ? -err : err;
+	}
+}
+
+static void errcode_module_unload(struct codetag_type *cttype, struct codetag_module *mod)
+{
+	struct codetag_error_code *i, *start = (void *) mod->range.start;
+	struct codetag_error_code *end = (void *) mod->range.stop;
+
+	for (i = start; i != end; i++)
+		idr_remove(&dynamic_error_strings, abs(i->err));
+}
+
+static int __init errname_init(void)
+{
+	const struct codetag_type_desc desc = {
+		.section	= "error_code_tags",
+		.tag_size	= sizeof(struct codetag_error_code),
+		.module_load	= errcode_module_load,
+		.module_unload	= errcode_module_unload,
+	};
+
+	cttype = codetag_register_type(&desc);
+
+	return PTR_ERR_OR_ZERO(cttype);
+}
+module_init(errname_init);
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395212.635231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvo-0001DJ-1y; Wed, 31 Aug 2022 05:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395212.635231; Wed, 31 Aug 2022 05:06:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvm-00010t-B6; Wed, 31 Aug 2022 05:06:26 +0000
Received: by outflank-mailman (input) for mailman id 395212;
 Tue, 30 Aug 2022 21:59:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+0SO=ZC=flex--surenb.bounces.google.com=3IIYOYwYKCYU130nwkpxxpun.lxv6nw-mn4nuur121.6nwy0xsnl2.x0p@srs-se1.protection.inumbo.net>)
 id 1oT97q-0008CX-68
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:26 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0dd4bf5-28ad-11ed-a60c-1f1ba7de4fb0;
 Tue, 30 Aug 2022 23:50:25 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-340c6cfc388so139172497b3.20
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0dd4bf5-28ad-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=tbrDSnAu2qp291q6FJVI5HAkVfDwcm9jT2uRBxykBxo=;
        b=kiiww/u+gNRUQ3btvqFql15o+OQdqGRa8iL5JT7J5S/FJUftRrKykzaiX80qCn3gMA
         N7fu/FadrPTfEuXGUmENdVvQNfb5Lc4hc7j+KvIJFmTYxMub96J2Dq6Qz7qLRmUGLg7U
         /uSKboJAjqTu07ETlC77WQsJyUV6n0Enhp4LQHtPzmOHIYGgLaodwOejnzgOW/A+KcGj
         gwCBB1i6MWj4k2p8na3VWnkGj14/Yz4lw5Y6xUMEQ+oozkWQlSuhUKUMfndEmuXu4exw
         3VsqAU7Bes2ONZTxN75FIe9AuWEsm6slCzF5WV8jRwyOqmL1j24ghFNHmneopZkYIiwV
         aIGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=tbrDSnAu2qp291q6FJVI5HAkVfDwcm9jT2uRBxykBxo=;
        b=wrwgY1Cm9LDT0nDdjXkR+SZNJ3PxjCEXInSXyMKeOMVPO+rbVzGoKiQ5UCBimVErKd
         CXnRg0/aW08U5T2u9wfV7qxKi2tSMrlOg2bdccn23+DwSqhJi+VIbOgRC84BLvz02igU
         DDME6sFzBcwSYqprWUUX2GqyPzT2Re1LndOVMC+RSZEZwopyl3JbahjBlvlD9wdZTCRu
         p2eNfv1rHX/xgAhYInS05jCFDAvn8pTOUyKW+U+o49itpaoRjSC1iSX8yojXC75PEevk
         NK4W2afxTgbQU1dkEhh2DjdvN3MtpswtpfJzeCkLUINswxP6U/Jiu4DAjpWTw+vrROXT
         jXZA==
X-Gm-Message-State: ACgBeo37zn3Vunz3SKP+DHAZv9G2c78JGeMO9ohYJBVsEDaVJqjmf87a
	G+/l6ml+VtxQ1DAh5uez7JOwENRDmew=
X-Google-Smtp-Source: AA6agR68X2SkqWShs2xXg87H6kYkH/5wxhQgvNByd1kyOXdUxqgguxdVIPa42ox8e5jz4qITJ7VUdF/uTQY=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a81:13d7:0:b0:324:7dcb:8d26 with SMTP id
 206-20020a8113d7000000b003247dcb8d26mr16712805ywt.452.1661896224365; Tue, 30
 Aug 2022 14:50:24 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:12 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-24-surenb@google.com>
Subject: [RFC PATCH 23/30] timekeeping: Add a missing include
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

We need ktime.h for ktime_t.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/linux/timekeeping.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h
index fe1e467ba046..7c43e98cf211 100644
--- a/include/linux/timekeeping.h
+++ b/include/linux/timekeeping.h
@@ -4,6 +4,7 @@
 
 #include <linux/errno.h>
 #include <linux/clocksource_ids.h>
+#include <linux/ktime.h>
 
 /* Included from linux/ktime.h */
 
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:06:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395213.635240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvp-0001qM-Se; Wed, 31 Aug 2022 05:06:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395213.635240; Wed, 31 Aug 2022 05:06:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTFvo-0001eE-Hr; Wed, 31 Aug 2022 05:06:28 +0000
Received: by outflank-mailman (input) for mailman id 395213;
 Tue, 30 Aug 2022 21:59:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PEe/=ZC=flex--surenb.bounces.google.com=3K4YOYwYKCZACEBy7v08805y.w86Hy7-xyFy552CDC.Hy79B83ywD.8B0@srs-se1.protection.inumbo.net>)
 id 1oT982-0008Cd-9b
 for xen-devel@lists.xenproject.org; Tue, 30 Aug 2022 21:50:38 +0000
Received: from mail-pl1-x649.google.com (mail-pl1-x649.google.com
 [2607:f8b0:4864:20::649])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7a28d13-28ad-11ed-bd2e-47488cf2e6aa;
 Tue, 30 Aug 2022 23:50:37 +0200 (CEST)
Received: by mail-pl1-x649.google.com with SMTP id
 l16-20020a170902f69000b00175138bcd25so2234798plg.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Aug 2022 14:50:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7a28d13-28ad-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc;
        bh=kZY1PfnIfhpzKe2fg2QNhEi4K+n6/AZeM4PXPDl+jSs=;
        b=dJIIXMoaDfo4LS1xQQsLOYvOSR0hfxqszIVBrvS11cTWnTWgSYoHleGkgC0i1RcvEW
         g0FnB2GyEmZdNHr6qvVjCkD5o8oUCDsQN6hIW7/R52HXnnZeYixGTmPmUjkl/HVYK9gL
         Qo4/LFsvJ+0cR9rmUutD4WN2/z4CAitg0y36m7N9M2fZq2hfBbMNxbfvmd6aQgPqHqkG
         6a9S9xFeeaCoHjkHXbbF/J0YPQDSPpwSprLRWHG9c2lJ3QzYjp2lWoTEqHtd8FJ9BudO
         moRv5nbs15u8zEsMhSNn0aeOd2zru1Uacoknhz067J3h2b0D6a3WPhHKe4+8QHPv/dBd
         t9OA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc;
        bh=kZY1PfnIfhpzKe2fg2QNhEi4K+n6/AZeM4PXPDl+jSs=;
        b=EU8BTCG5trtY7c+25OhOpIXu4fHqpPEJE+lNI/V3bhk8zanWO9Kl88Vl9EiSxIIcvf
         6R/X8znIOF/6aScEsfcd+oTlyGIv+o2R4sUOp6Q8Xq8/b3jlJTd0jfouCWyWP4bWFmaF
         zAl2I9iEolPvwPq7vGvdihzxQhPuFTij8cV2PMCXNXQJi9t4xn7zgHa0G7ltgX4OZeEj
         yjhxKmNL4e5DfFgXFzX/lfHQbMikBsuOnJhbDIxTrtRzx1WWSyb5Fb8twmsC4o5hJueb
         zf3fUiyvsa4Fpp4hVXkungk+pRLNlc1CZKadOV04l+Qve/EGiNfmRlFCKvoQnv7v8tdn
         q1BQ==
X-Gm-Message-State: ACgBeo36QGEtLiaKqXfwtUFb5p/qhpp7LrgDKvmxoFLSPssbcivAmV6u
	c6vvdQF/KDtFbclna6gMGP1C8vg7vtA=
X-Google-Smtp-Source: AA6agR6gjE9iFWchZ4YdJrumvkghNHAZU6MHZC3qdslJX2rUX6yUkswTTbpzQbuhO2vfdv4e8k6IHGZMB7I=
X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:200:a005:55b3:6c26:b3e4])
 (user=surenb job=sendgmr) by 2002:a63:5c4a:0:b0:41d:bd7d:6084 with SMTP id
 n10-20020a635c4a000000b0041dbd7d6084mr19548657pgm.411.1661896235530; Tue, 30
 Aug 2022 14:50:35 -0700 (PDT)
Date: Tue, 30 Aug 2022 14:49:16 -0700
In-Reply-To: <20220830214919.53220-1-surenb@google.com>
Mime-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com>
X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog
Message-ID: <20220830214919.53220-28-surenb@google.com>
Subject: [RFC PATCH 27/30] Code tagging based latency tracking
From: Suren Baghdasaryan <surenb@google.com>
To: akpm@linux-foundation.org
Cc: kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, 
	hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, dvyukov@google.com, shakeelb@google.com, 
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com, 
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com, 
	surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

From: Kent Overstreet <kent.overstreet@linux.dev>

This adds the ability to easily instrument code for measuring latency.
To use, add the following to calls to your code, at the start and end of
the event you wish to measure:

  code_tag_time_stats_start(start_time);
  code_tag_time_stats_finish(start_time);

Stastistics will then show up in debugfs under
/sys/kernel/debug/time_stats, listed by file and line number.

Stastics measured include weighted averages of frequency, duration, max
duration, as well as quantiles.

This patch also instruments all calls to init_wait and finish_wait,
which includes all calls to wait_event. Example debugfs output:

fs/xfs/xfs_trans_ail.c:746 module:xfs func:xfs_ail_push_all_sync
count:          17
rate:           0/sec
frequency:      2 sec
avg duration:   10 us
max duration:   232 us
quantiles (ns): 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128

lib/sbitmap.c:813 module:sbitmap func:sbitmap_finish_wait
count:          3
rate:           0/sec
frequency:      4 sec
avg duration:   4 sec
max duration:   4 sec
quantiles (ns): 0 4288669120 4288669120 5360836048 5360836048 5360836048 5360836048 5360836048 5360836048 5360836048 5360836048 5360836048 5360836048 5360836048 5360836048

net/core/datagram.c:122 module:datagram func:__skb_wait_for_more_packets
count:          10
rate:           1/sec
frequency:      859 ms
avg duration:   472 ms
max duration:   30 sec
quantiles (ns): 0 12279 12279 15669 15669 15669 15669 17217 17217 17217 17217 17217 17217 17217 17217

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 include/asm-generic/codetag.lds.h  |   3 +-
 include/linux/codetag_time_stats.h |  54 +++++++++++
 include/linux/io_uring_types.h     |   2 +-
 include/linux/wait.h               |  22 ++++-
 kernel/sched/wait.c                |   6 +-
 lib/Kconfig.debug                  |   8 ++
 lib/Makefile                       |   1 +
 lib/codetag_time_stats.c           | 143 +++++++++++++++++++++++++++++
 8 files changed, 233 insertions(+), 6 deletions(-)
 create mode 100644 include/linux/codetag_time_stats.h
 create mode 100644 lib/codetag_time_stats.c

diff --git a/include/asm-generic/codetag.lds.h b/include/asm-generic/codetag.lds.h
index 16fbf74edc3d..d799f4aced82 100644
--- a/include/asm-generic/codetag.lds.h
+++ b/include/asm-generic/codetag.lds.h
@@ -10,6 +10,7 @@
 
 #define CODETAG_SECTIONS()		\
 	SECTION_WITH_BOUNDARIES(alloc_tags)		\
-	SECTION_WITH_BOUNDARIES(dynamic_fault_tags)
+	SECTION_WITH_BOUNDARIES(dynamic_fault_tags)	\
+	SECTION_WITH_BOUNDARIES(time_stats_tags)
 
 #endif /* __ASM_GENERIC_CODETAG_LDS_H */
diff --git a/include/linux/codetag_time_stats.h b/include/linux/codetag_time_stats.h
new file mode 100644
index 000000000000..7e44c7ee9e9b
--- /dev/null
+++ b/include/linux/codetag_time_stats.h
@@ -0,0 +1,54 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_CODETAG_TIMESTATS_H
+#define _LINUX_CODETAG_TIMESTATS_H
+
+/*
+ * Code tagging based latency tracking:
+ * (C) 2022 Kent Overstreet
+ *
+ * This allows you to easily instrument code to track latency, and have the
+ * results show up in debugfs. To use, add the following two calls to your code
+ * at the beginning and end of the event you wish to instrument:
+ *
+ * code_tag_time_stats_start(start_time);
+ * code_tag_time_stats_finish(start_time);
+ *
+ * Statistics will then show up in debugfs under /sys/kernel/debug/time_stats,
+ * listed by file and line number.
+ */
+
+#ifdef CONFIG_CODETAG_TIME_STATS
+
+#include <linux/codetag.h>
+#include <linux/time_stats.h>
+#include <linux/timekeeping.h>
+
+struct codetag_time_stats {
+	struct codetag		tag;
+	struct time_stats	stats;
+};
+
+#define codetag_time_stats_start(_start_time)	u64 _start_time = ktime_get_ns()
+
+#define codetag_time_stats_finish(_start_time)			\
+do {								\
+	static struct codetag_time_stats			\
+	__used							\
+	__section("time_stats_tags")				\
+	__aligned(8) s = {					\
+		.tag	= CODE_TAG_INIT,			\
+		.stats.lock = __SPIN_LOCK_UNLOCKED(_lock)	\
+	};							\
+								\
+	WARN_ONCE(!(_start_time), "codetag_time_stats_start() not called");\
+	time_stats_update(&s.stats, _start_time);		\
+} while (0)
+
+#else
+
+#define codetag_time_stats_finish(_start_time)	do {} while (0)
+#define codetag_time_stats_start(_start_time)	do {} while (0)
+
+#endif /* CODETAG_CODETAG_TIME_STATS */
+
+#endif
diff --git a/include/linux/io_uring_types.h b/include/linux/io_uring_types.h
index 677a25d44d7f..3bcef85eacd8 100644
--- a/include/linux/io_uring_types.h
+++ b/include/linux/io_uring_types.h
@@ -488,7 +488,7 @@ struct io_cqe {
 struct io_cmd_data {
 	struct file		*file;
 	/* each command gets 56 bytes of data */
-	__u8			data[56];
+	__u8			data[64];
 };
 
 static inline void io_kiocb_cmd_sz_check(size_t cmd_sz)
diff --git a/include/linux/wait.h b/include/linux/wait.h
index 91ced6a118bc..bab11b7ef19a 100644
--- a/include/linux/wait.h
+++ b/include/linux/wait.h
@@ -4,6 +4,7 @@
 /*
  * Linux wait queue related types and methods
  */
+#include <linux/codetag_time_stats.h>
 #include <linux/list.h>
 #include <linux/stddef.h>
 #include <linux/spinlock.h>
@@ -32,6 +33,9 @@ struct wait_queue_entry {
 	void			*private;
 	wait_queue_func_t	func;
 	struct list_head	entry;
+#ifdef CONFIG_CODETAG_TIME_STATS
+	u64			start_time;
+#endif
 };
 
 struct wait_queue_head {
@@ -79,10 +83,17 @@ extern void __init_waitqueue_head(struct wait_queue_head *wq_head, const char *n
 # define DECLARE_WAIT_QUEUE_HEAD_ONSTACK(name) DECLARE_WAIT_QUEUE_HEAD(name)
 #endif
 
+#ifdef CONFIG_CODETAG_TIME_STATS
+#define WAIT_QUEUE_ENTRY_START_TIME_INITIALIZER	.start_time = ktime_get_ns(),
+#else
+#define WAIT_QUEUE_ENTRY_START_TIME_INITIALIZER
+#endif
+
 #define WAIT_FUNC_INITIALIZER(name, function) {					\
 	.private	= current,						\
 	.func		= function,						\
 	.entry		= LIST_HEAD_INIT((name).entry),				\
+	WAIT_QUEUE_ENTRY_START_TIME_INITIALIZER					\
 }
 
 #define DEFINE_WAIT_FUNC(name, function)					\
@@ -98,6 +109,9 @@ __init_waitqueue_entry(struct wait_queue_entry *wq_entry, unsigned int flags,
 	wq_entry->private	= private;
 	wq_entry->func		= func;
 	INIT_LIST_HEAD(&wq_entry->entry);
+#ifdef CONFIG_CODETAG_TIME_STATS
+	wq_entry->start_time	= ktime_get_ns();
+#endif
 }
 
 #define init_waitqueue_func_entry(_wq_entry, _func)			\
@@ -1180,11 +1194,17 @@ do {										\
 void prepare_to_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry, int state);
 bool prepare_to_wait_exclusive(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry, int state);
 long prepare_to_wait_event(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry, int state);
-void finish_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry);
+void __finish_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry);
 long wait_woken(struct wait_queue_entry *wq_entry, unsigned mode, long timeout);
 int woken_wake_function(struct wait_queue_entry *wq_entry, unsigned mode, int sync, void *key);
 int autoremove_wake_function(struct wait_queue_entry *wq_entry, unsigned mode, int sync, void *key);
 
+#define finish_wait(_wq_head, _wq_entry)					\
+do {										\
+	codetag_time_stats_finish((_wq_entry)->start_time);			\
+	__finish_wait(_wq_head, _wq_entry);					\
+} while (0)
+
 typedef int (*task_call_f)(struct task_struct *p, void *arg);
 extern int task_call_func(struct task_struct *p, task_call_f func, void *arg);
 
diff --git a/kernel/sched/wait.c b/kernel/sched/wait.c
index b9922346077d..e88de3f0c3ad 100644
--- a/kernel/sched/wait.c
+++ b/kernel/sched/wait.c
@@ -367,7 +367,7 @@ int do_wait_intr_irq(wait_queue_head_t *wq, wait_queue_entry_t *wait)
 EXPORT_SYMBOL(do_wait_intr_irq);
 
 /**
- * finish_wait - clean up after waiting in a queue
+ * __finish_wait - clean up after waiting in a queue
  * @wq_head: waitqueue waited on
  * @wq_entry: wait descriptor
  *
@@ -375,7 +375,7 @@ EXPORT_SYMBOL(do_wait_intr_irq);
  * the wait descriptor from the given waitqueue if still
  * queued.
  */
-void finish_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
+void __finish_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
 {
 	unsigned long flags;
 
@@ -399,7 +399,7 @@ void finish_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_en
 		spin_unlock_irqrestore(&wq_head->lock, flags);
 	}
 }
-EXPORT_SYMBOL(finish_wait);
+EXPORT_SYMBOL(__finish_wait);
 
 int autoremove_wake_function(struct wait_queue_entry *wq_entry, unsigned mode, int sync, void *key)
 {
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index b7d03afbc808..b0f86643b8f0 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1728,6 +1728,14 @@ config LATENCYTOP
 	  Enable this option if you want to use the LatencyTOP tool
 	  to find out which userspace is blocking on what kernel operations.
 
+config CODETAG_TIME_STATS
+	bool "Code tagging based latency measuring"
+	depends on DEBUG_FS
+	select TIME_STATS
+	select CODE_TAGGING
+	help
+	  Enabling this option makes latency statistics available in debugfs
+
 source "kernel/trace/Kconfig"
 
 config PROVIDE_OHCI1394_DMA_INIT
diff --git a/lib/Makefile b/lib/Makefile
index e54392011f5e..d4067973805b 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -233,6 +233,7 @@ obj-$(CONFIG_PAGE_ALLOC_TAGGING) += pgalloc_tag.o
 
 obj-$(CONFIG_CODETAG_FAULT_INJECTION) += dynamic_fault.o
 obj-$(CONFIG_TIME_STATS) += time_stats.o
+obj-$(CONFIG_CODETAG_TIME_STATS) += codetag_time_stats.o
 
 lib-$(CONFIG_GENERIC_BUG) += bug.o
 
diff --git a/lib/codetag_time_stats.c b/lib/codetag_time_stats.c
new file mode 100644
index 000000000000..b0e9a08308a2
--- /dev/null
+++ b/lib/codetag_time_stats.c
@@ -0,0 +1,143 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+#include <linux/codetag_time_stats.h>
+#include <linux/ctype.h>
+#include <linux/debugfs.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/seq_buf.h>
+
+static struct codetag_type *cttype;
+
+struct user_buf {
+	char __user		*buf;	/* destination user buffer */
+	size_t			size;	/* size of requested read */
+	ssize_t			ret;	/* bytes read so far */
+};
+
+static int flush_ubuf(struct user_buf *dst, struct seq_buf *src)
+{
+	if (src->len) {
+		size_t bytes = min_t(size_t, src->len, dst->size);
+		int err = copy_to_user(dst->buf, src->buffer, bytes);
+
+		if (err)
+			return err;
+
+		dst->ret	+= bytes;
+		dst->buf	+= bytes;
+		dst->size	-= bytes;
+		src->len	-= bytes;
+		memmove(src->buffer, src->buffer + bytes, src->len);
+	}
+
+	return 0;
+}
+
+struct time_stats_iter {
+	struct codetag_iterator ct_iter;
+	struct seq_buf		buf;
+	char			rawbuf[4096];
+	bool			first;
+};
+
+static int time_stats_open(struct inode *inode, struct file *file)
+{
+	struct time_stats_iter *iter;
+
+	pr_debug("called");
+
+	iter = kzalloc(sizeof(*iter), GFP_KERNEL);
+	if (!iter)
+		return -ENOMEM;
+
+	codetag_lock_module_list(cttype, true);
+	codetag_init_iter(&iter->ct_iter, cttype);
+	codetag_lock_module_list(cttype, false);
+
+	file->private_data = iter;
+	seq_buf_init(&iter->buf, iter->rawbuf, sizeof(iter->rawbuf));
+	iter->first = true;
+	return 0;
+}
+
+static int time_stats_release(struct inode *inode, struct file *file)
+{
+	struct time_stats_iter *i = file->private_data;
+
+	kfree(i);
+	return 0;
+}
+
+static ssize_t time_stats_read(struct file *file, char __user *ubuf,
+			       size_t size, loff_t *ppos)
+{
+	struct time_stats_iter *iter = file->private_data;
+	struct user_buf	buf = { .buf = ubuf, .size = size };
+	struct codetag_time_stats *s;
+	struct codetag *ct;
+	int err;
+
+	codetag_lock_module_list(iter->ct_iter.cttype, true);
+	while (1) {
+		err = flush_ubuf(&buf, &iter->buf);
+		if (err || !buf.size)
+			break;
+
+		ct = codetag_next_ct(&iter->ct_iter);
+		if (!ct)
+			break;
+
+		s = container_of(ct, struct codetag_time_stats, tag);
+		if (s->stats.count) {
+			if (!iter->first) {
+				seq_buf_putc(&iter->buf, '\n');
+				iter->first = true;
+			}
+
+			codetag_to_text(&iter->buf, &s->tag);
+			seq_buf_putc(&iter->buf, '\n');
+			time_stats_to_text(&iter->buf, &s->stats);
+		}
+	}
+	codetag_lock_module_list(iter->ct_iter.cttype, false);
+
+	return err ?: buf.ret;
+}
+
+static const struct file_operations time_stats_ops = {
+	.owner	= THIS_MODULE,
+	.open	= time_stats_open,
+	.release = time_stats_release,
+	.read	= time_stats_read,
+};
+
+static void time_stats_module_unload(struct codetag_type *cttype, struct codetag_module *mod)
+{
+	struct codetag_time_stats *i, *start = (void *) mod->range.start;
+	struct codetag_time_stats *end = (void *) mod->range.stop;
+
+	for (i = start; i != end; i++)
+		time_stats_exit(&i->stats);
+}
+
+static int __init codetag_time_stats_init(void)
+{
+	const struct codetag_type_desc desc = {
+		.section	= "time_stats_tags",
+		.tag_size	= sizeof(struct codetag_time_stats),
+		.module_unload	= time_stats_module_unload,
+	};
+	struct dentry *debugfs_file;
+
+	cttype = codetag_register_type(&desc);
+	if (IS_ERR_OR_NULL(cttype))
+		return PTR_ERR(cttype);
+
+	debugfs_file = debugfs_create_file("time_stats", 0666, NULL, NULL, &time_stats_ops);
+	if (IS_ERR(debugfs_file))
+		return PTR_ERR(debugfs_file);
+
+	return 0;
+}
+module_init(codetag_time_stats_init);
-- 
2.37.2.672.g94769d06f0-goog



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 05:41:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 05:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395536.635283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTGTK-0004f8-Kj; Wed, 31 Aug 2022 05:41:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395536.635283; Wed, 31 Aug 2022 05:41:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTGTK-0004eN-HP; Wed, 31 Aug 2022 05:41:06 +0000
Received: by outflank-mailman (input) for mailman id 395536;
 Wed, 31 Aug 2022 05:41:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTGTI-0004dx-GR; Wed, 31 Aug 2022 05:41:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTGTI-0007A7-FR; Wed, 31 Aug 2022 05:41:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTGTI-0005Di-1J; Wed, 31 Aug 2022 05:41:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTGTI-0006iO-0q; Wed, 31 Aug 2022 05:41:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xKRtLHYZcX7tUNJt5zveF4e4MOj4dE1WthvJ3lq9UJg=; b=q910AWsHfrPcZdbPznMsMvTooT
	dlGeovff00t57QyOsjWgkpL/L4TEYtSqcOk4dqm5MxBaF5lbaqk4mp9NAJEIUJxm7YbYrqAsETf0b
	lGIV0HBjhYw+evkKswetlEFct3ioqeRRIwd4RUbZH3iuSaPV5uL14feIN6rrXLtF3fg0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172883-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172883: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:regression
X-Osstest-Versions-This:
    ovmf=383d34159d136f2dc923dfb6a722912b1af451b7
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 05:41:04 +0000

flight 172883 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172883/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136
 test-amd64-amd64-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail REGR. vs. 172136

version targeted for testing:
 ovmf                 383d34159d136f2dc923dfb6a722912b1af451b7
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   26 days
Failing since        172151  2022-08-05 02:40:28 Z   26 days  210 attempts
Testing same since   172883  2022-08-31 01:56:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1058 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 07:36:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 07:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395553.635300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTIHC-0007WI-Qx; Wed, 31 Aug 2022 07:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395553.635300; Wed, 31 Aug 2022 07:36:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTIHC-0007WB-OF; Wed, 31 Aug 2022 07:36:42 +0000
Received: by outflank-mailman (input) for mailman id 395553;
 Wed, 31 Aug 2022 07:36:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uX/h=ZD=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1oTIHB-0007W5-V9
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 07:36:42 +0000
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
 [2607:f8b0:4864:20::1032])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a63129dd-28ff-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 09:36:40 +0200 (CEST)
Received: by mail-pj1-x1032.google.com with SMTP id
 w88-20020a17090a6be100b001fbb0f0b013so14160145pjj.5
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 00:36:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a63129dd-28ff-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=DwjQUToKlNF4wGFvU0axzyqoPs1gr8FO/gCUWrBEMEM=;
        b=cYRS5YJKSDnPGKGmflAt5fKiYYiaPFLldKJjYc7692vuJMi2lfljb2/7TeNtQ3bKZT
         n90/aHeZY91gZTKjz4cC52DBHlZfi/P0Jj9lF1A6/iNrHnArSRNgPoJHUxqhjDrMuMmM
         AJObPhe4jrGcYvMTJ8fk3f3jMh1iYuk5EppXjbhpgP2hsrwZZYPi0yFUHcIUjozNCVlJ
         ZZOMLl/aIs+7ATXvyV99+vOLcxA2znOTIRxIYVDaGzhLKsA/LjGxVz5h9+kRPO3xtVF7
         Dz1/tyFSlye2/JMGoX5FsxqhEwH1TapiK7qIFlG7lb6tz/JIZBkl96T6aqFFvqmIStpo
         LE/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=DwjQUToKlNF4wGFvU0axzyqoPs1gr8FO/gCUWrBEMEM=;
        b=H42jXxwby5qxeeA+ETNH1lIH/xczJyV8Nw2nc0vYVOlKz28GlNQy8LhaT89LaMxzPk
         bsf4X3Ey+kgF1951YdpY4NudHQBxPaxId/j2UB1ar2awxuFggQzCp75ojfmnz/1HYSTB
         Lj/fKzeAI19XkvwuFGNHtS5SxK8fh3n5DtP0PAoix0iCVkgaoBX8r3LUodnGkyHb/Lgg
         1Tzb/DTvkroYxRKx0fNhOB01lPBuaThaGzhjF6faD9Moz9AoDrg7Uh+koagFvUKJfE3u
         /I/u9DYmCj+CCrUHhK7SahEpTrBnLHg65MFqSyVrxM0EvlqVsLRrXkF0SnoC3ZKvg1vb
         BPxA==
X-Gm-Message-State: ACgBeo0NFxS+uas2unc8cOtiOAIm2xlzg9/0FLNc1ZB29MX85BKdMOWc
	QJp/pYnpnkwrsNffLTqR1C9MwaxAkFjQYbB1HvN4Hg==
X-Google-Smtp-Source: AA6agR7NoqXXgtrJV45vKc2dPcX8Q8L3boyS6LZpg5K8y202CpNPfHiKgqcVoVNduy+dYngHWyj1i/2wPuU4opsJ1Ao=
X-Received: by 2002:a17:902:c411:b0:170:91ff:884b with SMTP id
 k17-20020a170902c41100b0017091ff884bmr24863786plk.58.1661931398208; Wed, 31
 Aug 2022 00:36:38 -0700 (PDT)
MIME-Version: 1.0
References: <24ba49bb-66b5-a1e4-cef4-e30b438b3c04@amd.com>
In-Reply-To: <24ba49bb-66b5-a1e4-cef4-e30b438b3c04@amd.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 31 Aug 2022 09:36:27 +0200
Message-ID: <CAHUa44EdCbsiBK-M_P4Zay9hmyU6619N-YRFKb+9KqbvH3D4WQ@mail.gmail.com>
Subject: Re: [PATCH v5 3/9] xen/arm: add a primitive FF-A mediator
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand.Marquis@arm.com, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>
Content-Type: text/plain; charset="UTF-8"

Hi Michal,

On Wed, Aug 24, 2022 at 11:28 AM Michal Orzel <michal.orzel@amd.com> wrote:
>
> Hi Jens,
>
> On 18/08/2022 12:55, Jens Wiklander wrote:
> > Adds a FF-A version 1.1 [1] mediator to communicate with a Secure
> > Partition in secure world.
> >
> > This commit brings in only the parts needed to negotiate FF-A version
> > number with guest and SPMC.
> >
> > A guest configuration variable "ffa_enabled" is used to indicate if a guest
> > is trusted to use FF-A.
> >
> > This is loosely based on the TEE mediator framework and the OP-TEE
> > mediator.
> >
> > [1] https://developer.arm.com/documentation/den0077/latest
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> >  SUPPORT.md                        |   7 +
> >  docs/man/xl.cfg.5.pod.in          |  15 ++
> >  tools/include/libxl.h             |   6 +
> >  tools/libs/light/libxl_arm.c      |   3 +
> >  tools/libs/light/libxl_types.idl  |   1 +
> >  tools/xl/xl_parse.c               |   3 +
> >  xen/arch/arm/Kconfig              |  11 +
> >  xen/arch/arm/Makefile             |   1 +
> >  xen/arch/arm/domain.c             |  10 +
> >  xen/arch/arm/domain_build.c       |   1 +
> >  xen/arch/arm/ffa.c                | 354 ++++++++++++++++++++++++++++++
> >  xen/arch/arm/include/asm/domain.h |   4 +
> >  xen/arch/arm/include/asm/ffa.h    |  71 ++++++
> >  xen/arch/arm/vsmc.c               |  17 +-
> >  xen/include/public/arch-arm.h     |   2 +
> >  15 files changed, 503 insertions(+), 3 deletions(-)
> >  create mode 100644 xen/arch/arm/ffa.c
> >  create mode 100644 xen/arch/arm/include/asm/ffa.h
> >
> > diff --git a/SUPPORT.md b/SUPPORT.md
> > index 70e98964cbc0..215bb3c9043b 100644
> > --- a/SUPPORT.md
> > +++ b/SUPPORT.md
> > @@ -785,6 +785,13 @@ that covers the DMA of the device to be passed through.
> >
> >  No support for QEMU backends in a 16K or 64K domain.
> >
> > +### ARM: Firmware Framework for Arm A-profile (FF-A) Mediator
> > +
> > +    Status, Arm64: Tech Preview
> > +
> > +There are still some code paths where a vCPU may hog a pCPU longer than
> > +necessary. The FF-A mediator is not yet implemented for Arm32.
> > +
> >  ### ARM: Guest Device Tree support
> >
> >      Status: Supported
> > diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> > index b98d1613987e..234c036aecb1 100644
> > --- a/docs/man/xl.cfg.5.pod.in
> > +++ b/docs/man/xl.cfg.5.pod.in
> > @@ -1616,6 +1616,21 @@ This feature is a B<technology preview>.
> >
> >  =back
> >
> > +=item B<ffa_enabled=BOOLEAN>
> Looking at other config options, we usually have <feature>=BOOLEAN (without _enabled), so
> I would just stick to "ffa". This would require changes in other places accordingly.

OK, I'll update.

>
> > +
> > +B<Arm only.> Allow a guest to communicate via FF-A with Secure Partitions
> > +(SP), default false.
> > +
> > +Currently is only a small subset of the FF-A specification supported. Just
> Should be:
> "Currently only a small subset of the FF-A specification is supported"
>
> > +enough to communicate with OP-TEE. In general all the basic things and
> "basic things" sounds a bit ambiguous.

I'll rephrase.

>
> > diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> > index 2a42da2f7d78..bf4544bef399 100644
> > --- a/tools/libs/light/libxl_types.idl
> > +++ b/tools/libs/light/libxl_types.idl
> > @@ -646,6 +646,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
> Applying this patch results in a failure here so you need to rebase it on top of latest status.

OK, I'll rebase the next patchset.

>
> Also, FWICS (can be checked by the toolstack maintainers) you are missing the required
> changes in:
>  - tools/golang/xenlight/helpers.gen.go
>  - tools/golang/xenlight/types.gen.go
>  - tools/ocaml/libs/xc/xenctrl.ml
>  - tools/ocaml/libs/xc/xenctrl.mli

I'll update.

Thanks for the review.

Cheers,
Jens


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 07:39:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 07:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395561.635312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTIJh-0008Bg-CS; Wed, 31 Aug 2022 07:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395561.635312; Wed, 31 Aug 2022 07:39:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTIJh-0008BZ-8t; Wed, 31 Aug 2022 07:39:17 +0000
Received: by outflank-mailman (input) for mailman id 395561;
 Wed, 31 Aug 2022 07:39:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IsIN=ZD=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1oTIJd-0008B8-Tn
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 07:39:16 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00620d2b-2900-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 09:39:12 +0200 (CEST)
Received: from j130084.upc-j.chello.nl ([24.132.130.84]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1oTIIy-004tbB-R2; Wed, 31 Aug 2022 07:38:32 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 8A485300413;
 Wed, 31 Aug 2022 09:38:27 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 66CD32B843CC0; Wed, 31 Aug 2022 09:38:27 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00620d2b-2900-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=gDCNZ3f2D6OuuyZZIQqudj53nBzwis7zfrQMn3P2Fjk=; b=OachOLS7idp6QEAC9Bgd5uCF23
	hl591O6qTT1++ASIQ0jtEsU2U22Fqkp8/gT688a10sVOPn0b1B0K87YRtHEsHGKllnCuhLNOgoZP8
	EgWAHDDtAKvBBWUOYy7OK41nFC+B/fq+AOd7gTZOcltIfVfrJCh8O6K1uFTFVZ0SwfXMuKRmaKWOL
	ojN73jHdMPQ9pvggdnSOTXXMi80LyjIx8VWkdBPwFZZOSem1ynyMgY445fFQ9RK/iwsuFZWroGwJK
	hhYhQLnauy4chEbybXECBTey2J5Ko878YkEbrMyqB6qvXYFDRjS3MK18ghZ6wM226iEenHBUDgYzz
	hddw/x0Q==;
Date: Wed, 31 Aug 2022 09:38:27 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Suren Baghdasaryan <surenb@google.com>
Cc: akpm@linux-foundation.org, kent.overstreet@linux.dev, mhocko@suse.com,
	vbabka@suse.cz, hannes@cmpxchg.org, roman.gushchin@linux.dev,
	mgorman@suse.de, dave@stgolabs.net, willy@infradead.org,
	liam.howlett@oracle.com, void@manifault.com, juri.lelli@redhat.com,
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com,
	axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org,
	nathan@kernel.org, changbin.du@intel.com, ytcoode@gmail.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com,
	vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
	elver@google.com, dvyukov@google.com, shakeelb@google.com,
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
	kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
	kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
Message-ID: <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
References: <20220830214919.53220-1-surenb@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220830214919.53220-1-surenb@google.com>

On Tue, Aug 30, 2022 at 02:48:49PM -0700, Suren Baghdasaryan wrote:
> ===========================
> Code tagging framework
> ===========================
> Code tag is a structure identifying a specific location in the source code
> which is generated at compile time and can be embedded in an application-
> specific structure. Several applications of code tagging are included in
> this RFC, such as memory allocation tracking, dynamic fault injection,
> latency tracking and improved error code reporting.
> Basically, it takes the old trick of "define a special elf section for
> objects of a given type so that we can iterate over them at runtime" and
> creates a proper library for it.

I might be super dense this morning, but what!? I've skimmed through the
set and I don't think I get it.

What does this provide that ftrace/kprobes don't already allow?


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 08:47:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 08:47:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395573.635322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTJNl-00079q-O2; Wed, 31 Aug 2022 08:47:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395573.635322; Wed, 31 Aug 2022 08:47:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTJNl-00079j-LT; Wed, 31 Aug 2022 08:47:33 +0000
Received: by outflank-mailman (input) for mailman id 395573;
 Wed, 31 Aug 2022 08:42:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E34P=ZD=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1oTJJ4-00074k-5p
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 08:42:42 +0000
Received: from out0.migadu.com (out0.migadu.com [94.23.1.103])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df08ad30-2908-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 10:42:40 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df08ad30-2908-11ed-a60c-1f1ba7de4fb0
Date: Wed, 31 Aug 2022 04:42:30 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1661935359;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=mmxSzJIEbF0byhuM+VO8IRNgyEUbvUgCaJEiam4Pxpk=;
	b=n/WRdO6wsbcgzM9IZmiTOpoQilc55+w4Qjuqwl1Dpnv4eEgQ85RLBu7SGRYgk8JFEOmxmG
	9NkKta+Gf2utqPzv5rM3bIlfQN3qtDLursIA2MwCGrMNSc7KVtiJCfMkW0/8k5e3nZiAGS
	tjj529y20oHTMERlcuL/JelsPUM2hZU=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org,
	mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org,
	roman.gushchin@linux.dev, mgorman@suse.de, dave@stgolabs.net,
	willy@infradead.org, liam.howlett@oracle.com, void@manifault.com,
	juri.lelli@redhat.com, ldufour@linux.ibm.com, peterx@redhat.com,
	david@redhat.com, axboe@kernel.dk, mcgrof@kernel.org,
	masahiroy@kernel.org, nathan@kernel.org, changbin.du@intel.com,
	ytcoode@gmail.com, vincent.guittot@linaro.org,
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com,
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com,
	penberg@kernel.org, iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com,
	glider@google.com, elver@google.com, dvyukov@google.com,
	shakeelb@google.com, songmuchun@bytedance.com, arnd@arndb.de,
	jbaron@akamai.com, rientjes@google.com, minchan@google.com,
	kaleshsingh@google.com, kernel-team@android.com, linux-mm@kvack.org,
	iommu@lists.linux.dev, kasan-dev@googlegroups.com,
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
	linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
Message-ID: <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan>
References: <20220830214919.53220-1-surenb@google.com>
 <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
X-Migadu-Flow: FLOW_OUT
X-Migadu-Auth-User: linux.dev

On Wed, Aug 31, 2022 at 09:38:27AM +0200, Peter Zijlstra wrote:
> On Tue, Aug 30, 2022 at 02:48:49PM -0700, Suren Baghdasaryan wrote:
> > ===========================
> > Code tagging framework
> > ===========================
> > Code tag is a structure identifying a specific location in the source code
> > which is generated at compile time and can be embedded in an application-
> > specific structure. Several applications of code tagging are included in
> > this RFC, such as memory allocation tracking, dynamic fault injection,
> > latency tracking and improved error code reporting.
> > Basically, it takes the old trick of "define a special elf section for
> > objects of a given type so that we can iterate over them at runtime" and
> > creates a proper library for it.
> 
> I might be super dense this morning, but what!? I've skimmed through the
> set and I don't think I get it.
> 
> What does this provide that ftrace/kprobes don't already allow?

You're kidding, right?


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 09:15:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 09:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395581.635337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTJoV-00022U-U9; Wed, 31 Aug 2022 09:15:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395581.635337; Wed, 31 Aug 2022 09:15:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTJoV-00022N-RH; Wed, 31 Aug 2022 09:15:11 +0000
Received: by outflank-mailman (input) for mailman id 395581;
 Wed, 31 Aug 2022 09:15:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTJoU-00022D-JP; Wed, 31 Aug 2022 09:15:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTJoU-0002te-G7; Wed, 31 Aug 2022 09:15:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTJoT-0003Sc-Vj; Wed, 31 Aug 2022 09:15:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTJoT-0000HA-VI; Wed, 31 Aug 2022 09:15:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=99OJCSuTMHM7NDITlCVRQEyQ2AuVFT0fObj0UFLvDlg=; b=UMEAKlk847rBMk9wwf86F+Nzjc
	+nYzjYHZRYPrPj0KbOssl4foOTvnmTmcjXTLKYW5IPGJkwrbstaAXmEYHhJFke/iIWiKWBoS2AMgw
	qgpOdeBNk1XX3ybUXP3qL1tfss6CbNZrAvA9RL9yBjIa/36aCUruZ6dXgZ+ul29u3V6Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172885-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 172885: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=3145180ef5db262f7ef45dcb286b67bb04b80b25
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 09:15:09 +0000

flight 172885 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172885/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              3145180ef5db262f7ef45dcb286b67bb04b80b25
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  782 days
Failing since        151818  2020-07-11 04:18:52 Z  781 days  763 attempts
Testing same since   172885  2022-08-31 04:20:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Amneesh Singh <natto@weirdnatto.in>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Andrew Melnychenko <andrew@daynix.com>
  Ani Sinha <ani@anisinha.ca>
  BalÃ¡zs MeskÃ³ <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Carlos Bilbao <carlos.bilbao@amd.com>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe de Dinechin <dinechin@redhat.com>
  Christophe Fergeau <cfergeau@redhat.com>
  Claudio Fontana <cfontana@suse.de>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  CÃ©dric Bosdonnat <cbosdonnat@suse.com>
  CÃ´me Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Dario Faggioli <dfaggioli@suse.com>
  David Michael <david@bigbadwolfsecurity.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Emilio Herrera <ehespinosa57@gmail.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano FidÃªncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Florian Schmidt <flosch@nutanix.com>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  GÃ¶ran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Haonan Wang <hnwanga1@gmail.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(é»„å‹‡) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jing Qi <jinqi@redhat.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  John Ferlan <jferlan@redhat.com>
  John Levon <john.levon@nutanix.com>
  John Levon <levon@movementarian.org>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  JÃ¡n Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kim InSoo <simmon@nplob.com>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  Lena Voytek <lena.voytek@canonical.com>
  Liang Yan <lyan@digitalocean.com>
  Liang Yan <lyan@digtalocean.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Ludek Janda <ljanda@redhat.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  luzhipeng <luzhipeng@cestc.cn>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Martin Pitt <mpitt@debian.org>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Max Goodhart <c@chromakode.com>
  Maxim Nestratov <mnestratov@virtuozzo.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  MichaÅ‚ Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  minglei.liu <minglei.liu@smartx.com>
  Moshe Levi <moshele@nvidia.com>
  Moteen Shah <codeguy.moteen@gmail.com>
  Moteen Shah <moteenshah.02@gmail.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas LÃ©cureuil <neoclust@mageia.org>
  Nicolas LÃ©cureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nikolay.shirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@openvz.org>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Niteesh Dubey <niteesh@linux.ibm.com>
  Olaf Hering <olaf@aepfle.de>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peng Liang <tcx4c70@gmail.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr DrÄ…g <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Prerna Saxena <prerna.saxena@nutanix.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Davis <scott.davis@starlab.io>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tom Wieczorek <tom@bibbu.net>
  TomÃ¡Å¡ GolembiovskÃ½ <tgolembi@redhat.com>
  TomÃ¡Å¡ JanouÅ¡ek <tomi@nomi.cz>
  Tu Qiang <tu.qiang35@zte.com.cn>
  Tuguoyi <tu.guoyi@h3c.com>
  tuqiang <tu.qiang35@zte.com.cn>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville SkyttÃ¤ <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalan Zhang <yalzhang@redhat.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew JÄ™drzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Ð”Ð°Ð¼Ñ˜Ð°Ð½ Ð“ÐµÐ¾Ñ€Ð³Ð¸ÐµÐ²ÑÐºÐ¸ <gdamjan@gmail.com>
  ê¹€ì¸ìˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 121191 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 09:53:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 09:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395589.635348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTKP3-00069q-Sn; Wed, 31 Aug 2022 09:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395589.635348; Wed, 31 Aug 2022 09:52:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTKP3-00069j-Q6; Wed, 31 Aug 2022 09:52:57 +0000
Received: by outflank-mailman (input) for mailman id 395589;
 Wed, 31 Aug 2022 09:52:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9FNh=ZD=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1oTKP2-00069d-0z
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 09:52:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2065.outbound.protection.outlook.com [40.107.22.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id adef4755-2912-11ed-bd2e-47488cf2e6aa;
 Wed, 31 Aug 2022 11:52:53 +0200 (CEST)
Received: from DB6PR0301CA0088.eurprd03.prod.outlook.com (2603:10a6:6:30::35)
 by GV2PR08MB7930.eurprd08.prod.outlook.com (2603:10a6:150:ab::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Wed, 31 Aug
 2022 09:52:40 +0000
Received: from DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:30:cafe::d9) by DB6PR0301CA0088.outlook.office365.com
 (2603:10a6:6:30::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend
 Transport; Wed, 31 Aug 2022 09:52:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT007.mail.protection.outlook.com (100.127.142.161) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5566.15 via Frontend Transport; Wed, 31 Aug 2022 09:52:39 +0000
Received: ("Tessian outbound c883b5ba7b70:v123");
 Wed, 31 Aug 2022 09:52:39 +0000
Received: from 25eff5d7e706.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B1155503-351D-4C9C-B7B7-FD0EE18603AC.1; 
 Wed, 31 Aug 2022 09:52:27 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 25eff5d7e706.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 31 Aug 2022 09:52:27 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB9PR08MB7628.eurprd08.prod.outlook.com (2603:10a6:10:30c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Wed, 31 Aug
 2022 09:52:25 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::f474:4549:1f7a:b89a%4]) with mapi id 15.20.5566.021; Wed, 31 Aug 2022
 09:52:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adef4755-2912-11ed-bd2e-47488cf2e6aa
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AkZ13qBWoiCRH8WlPPpdr32evVDnCbpglFc5o+zP4IZrEFXIm+8rsl60D2/MzYVYTqeD9ZGPTXvNHzGB17HZeDdrr/aRx0ExHHSSeZNcuNw0NlxMotHfqzn4dIdoJfsk4QKT5iQns3g3AwXMZB0RpGcrlOYxWyOYT/JzykHxpRcIpJJNVlyZ5IpG+RA49MxJFCN9GEL+Y/+cW1SWfhnTi8N755ZhiuJYz+Rn82mHpvkz2gXomjzMwYiDp4FVW5hz+O4HB68hv9b+iNZgrlis1JDwYByYpWvE3oP5peah21Ge6rfsbVrUgV86bCl4IS4+BcvJU9ulCkei6heVuKuBRg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2GA2gRYET2YwqadhIflqkjLc3pgwBRhZTr+JWGVqf4w=;
 b=BZaTmzFa60kIPUuIFQY0AIymMBy+AxZF1OicFGL3I4Bkv5o/QaT/ZZshOMxtAv4EXov735vCXirY1+foOaaMctTlY9tohdm0lK3LwkT3cl834ab9Jx+jMJnlypdyceZqlJlYMgxhp76GDkG8IZ3QWIg6uPyBAl4o1hOhdubd8m8anxEEV+LLkb9WeRlfdl1kZMbPrR6HXIqaUsxJHuFxN+4hCsuEuA3V1Kig1i7r7jb2fsbHxLRhsh+ewP3axFp55RVVplJPMJMRyArhQSt796GOPOm6C2njYguXah+saJJTx0nT1GN6QMMG4wb1bqxL/NvSwwN51AzZuRilK2y9IQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2GA2gRYET2YwqadhIflqkjLc3pgwBRhZTr+JWGVqf4w=;
 b=y+nL55+KtfZnYInsXT6z63dghNJZTfpJKBoTn9x5CBGMmsckjw/u1vBh5u5jxpOlvXnc8zVW9sMF/NFE/FArZdYS91EA2ZzmTQULI1AH66GnVbRcHdOyoeO1ZOYyV7lvKw5IxEpsznZCbBxdip7mpfaI25rN9jmwqX5e2jRgW2Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 923da219e26e91c0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n7BCZEJ4QKsK8nfGxorWqaU190Org5PH0zK3NQHmvbFZd3tQN26FiWd9O+58zcSy6U2xvYcyi6PbNTA8guS8poNTX8K1ZLsRtjjpEIsB/FHJlkN/1hOvHWGI/fBR/sPk0aIbQ6ff5RqjsvAGgrpbmmZlPfkS+zMACREeVbgQO+LaMDAVoe3jnAuRdAM/8oE5zMHGxgIZYngBeoQBlwkmCg8hXVhO5xIJqBg5ut76jtZvgG3PCStwnohpFhjy4XpI8FZYqIGPocgpHc6eRPwMJ5SKcoNW5TxAeYFKWFBlc3hIkE7LxoV7T85BICUAr1QvwRIAGniugcIA3OWMOXS4wQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2GA2gRYET2YwqadhIflqkjLc3pgwBRhZTr+JWGVqf4w=;
 b=iek2hgAgSWCwLNy96XNRHwzLf6boU9X+2kn/aPUJlUeWp0DIJGvqkq2PK5+5jIA+euib9vq1Pr9wZnaAA8c+rifKZ7b05Io8Jufd73+2sEmoWcWMQlRJop5laeMqtVelvHZsyc8Fk4bDPUx37T5hEGYv+DlfVOPiS+0n10Ii2bK9pW2uw3oAFzk0QpiXMvwGdILC+SiNDJYThtYCb78k8Vp80aBK1GjtTdXQpKZyZL7aU+HxkRZUVXBV0IQsr5H2LBRsdJ7x9L/Pj6+U74TyiLVTIHYoM9p1/GO6tazh7x7VyILwDZxYo1utG2vQUMl+JqScsYzM5fKjV893Y6wwAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2GA2gRYET2YwqadhIflqkjLc3pgwBRhZTr+JWGVqf4w=;
 b=y+nL55+KtfZnYInsXT6z63dghNJZTfpJKBoTn9x5CBGMmsckjw/u1vBh5u5jxpOlvXnc8zVW9sMF/NFE/FArZdYS91EA2ZzmTQULI1AH66GnVbRcHdOyoeO1ZOYyV7lvKw5IxEpsznZCbBxdip7mpfaI25rN9jmwqX5e2jRgW2Y=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>, Rahul Singh <Rahul.Singh@arm.com>,
	xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property value
Thread-Topic: [PATCH v2 7/7] xen/arm: introduce new xen,enhanced property
 value
Thread-Index:
 AQHYs7NVsywB9ZS1YkG+gj2FUNdLeq28SEyAgAG2wYCAAAw/gIAAHKuAgAAPTYCAABB2AIAAWmwAgAAL9QCAACl/gIAAbLmAgAAg9QCAAALsAIAAhRWAgAjqDQA=
Date: Wed, 31 Aug 2022 09:52:25 +0000
Message-ID: <78E010E8-7ED4-498C-881C-2E8925FFEB04@arm.com>
References: <cover.1660902588.git.rahul.singh@arm.com>
 <2fb69ff7cf9a36dd1294da4f9f4b968ff7076d42.1660902588.git.rahul.singh@arm.com>
 <d5ed6097-8a08-eb4d-35a0-ab28f82b881f@xen.org>
 <1E823DBF-8576-4E26-B12D-B69CE581F36F@arm.com>
 <c9330b72-193c-5478-9bad-9593ac7398a9@xen.org>
 <3D33311C-5FBA-4C46-A18F-105DE814C306@arm.com>
 <685e53cc-1b83-8d66-7086-dad4135c0587@xen.org>
 <474E0887-7EFC-4A0C-9815-DFBDAE9A93A9@arm.com>
 <alpine.DEB.2.22.394.2208241439220.15247@ubuntu-linux-20-04-desktop>
 <da07bb5d-98c3-9c94-a1f0-6021e398f898@xen.org>
 <alpine.DEB.2.22.394.2208241810390.15247@ubuntu-linux-20-04-desktop>
 <646CFFC2-9259-45C8-89AB-D59AA5B0DBC1@arm.com>
 <32a74a0a-9f4f-7b3a-622b-6fb5e9a097b0@xen.org>
 <35C21FDE-5648-425A-9399-1C5E2B9A37FB@arm.com>
 <alpine.DEB.2.22.394.2208251042040.733916@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2208251042040.733916@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 3cad8669-04cf-442b-4e6d-08da8b368a63
x-ms-traffictypediagnostic:
	DB9PR08MB7628:EE_|DBAEUR03FT007:EE_|GV2PR08MB7930:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 WfdMIaJ3VGhw1AeYp3tJb/Cxz5fXe7Mg3JxRfmXRGJZ5hZJhEv5E0Cecb2OVfAP5n8VYW0DzrITiMTocCg4eQFxcsq08InuynAsIyyigTfbTaXg8Mxst5nBem0j+l5K4srkAR1UvtHAy+FtWn57iK5+bH36QxRFrojIb0hj1+PIFg2mJA4NkZzV5VjZjawenSqM2KtzUuibpx11PWRVaQqnS3Doz+rLEhMQBntfCQUqk5qLC8AapE+fL75EVfiXoOFQ+dGyiyoK2ulycmpMOHQLjb9VZDh28XGqqZdIj+z/i+uq9fwox2efVX0i9FXVnI4HqgpHci5h9wTN0uEWnWNxv0+tmKB2Pupr2YHO5YE8Vj1zkx5Zpqd1Mlq97umPB5QozAj2/cy+PFBTLmojsF9Y8S2Qm8JxhMjd9hL5Wu/LRM48az/eL7C7QTPa87+ffK9t8UsoieXvYpsfHh6TqJAUEWVVuzDd2vR9iJ55WsYSFdNIACa2WfhCbrTAe/dWlqxT4yy6/nhvXDMYabipPScV2w+5kb9M6IRCymo/3PtzkD2zYWZSif3z9kAfVvyke8LGk9hQLSmJd1oLIsolHGsnDhKsG0Zqw3/IAZJlwn44XZAbTfPfw298HUXroLrzjQSPj59ngiJ0wdROOd3g7dbXzsgqn6C4LEBzeKA74X4b+AJ9pZzEakfZo18W/At5sSd5hECjTt9p9cyEVAinDCtNfIZiAikexZYTYWv/EU2r0ud+WPHM6Lo333UsECsJTxryUhldL2lVSXitZLfbH4PylASOd3Qy52C6s1Vg0qxg=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(366004)(376002)(136003)(346002)(66556008)(122000001)(66946007)(38070700005)(86362001)(41300700001)(4326008)(66476007)(6486002)(76116006)(38100700002)(64756008)(8676002)(66446008)(54906003)(5660300002)(478600001)(8936002)(2616005)(186003)(6916009)(316002)(71200400001)(91956017)(33656002)(2906002)(83380400001)(53546011)(26005)(6506007)(6512007)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <DB0DCE2FB72ABE48AB3090970014002D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7628
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	01829536-6d70-47bf-0b3c-08da8b3681ec
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6MXj93/xJ3G67SBJtPtMX+YtGnzwqK0403ZODOwPFmCmyTN3yf40GpP5oJCw+/UBgWkWMW15tLitcj+pyAVVih27GJHtAX7I61qWW7mbdnx8obWGo9mMlQdwalTO2ibeXnKbb5gXEK5XEa3G7H1VJN4cVFOUY0+iVH5r+ndQyi58xQeUUwspSqSwnCe2yUHF5YaOPSLi5+YjuRs3s2znxH21XDoUMsKErupSUG7yLvV8oug0qQS/kOqbD6xIs4bCipeFiATaBN0j8oafBTs0O1lU3xmYeFjZIDe7ow0ea5uJF3+DlpaLTQ+h8S6yzzOI2pDi/1PeXBg4M0r83MtTLcSk8j6DeCIseQj/NfrGm5P7dmz7Sl1XwynTTh8aLWFM7TVGYGozpWW27bzkPd06393kq8NeWELVAnyli+OILOhlxTwG12iQHmnHukL+3a+1SvhBHDd5FgVIcJedbjFDA8P1n/a5vSWArXsU/X7gJCiTFc0T1BGvOFuSaIdiXss7JV8qn0njgoCaDeDUFr939i759MHszMB/XsYUaNlix+t9B36erCE6gf3gmTp5/WckwijROzJkpGJGfyu4XymhTRgmRQPskkyLxmZrPXvnhAnCsWz0nHsn7m420S6cYN009Tqz5/GpMbzeTxrC6AmQ29eI1mdXK9+21tsGpbPb7Tk8ZkOrwM/C9Bk0ko7cTGqeEDRSEp5Q8o8PUN5CQtv7p5uy8vl2PYTuz8pgwI2i9KuRNmA8ezHBB9Z6kzp7GbrJHzIJOg3iTlnyIV60yfYvMA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(396003)(376002)(136003)(346002)(39860400002)(36840700001)(40470700004)(46966006)(83380400001)(82310400005)(82740400003)(2906002)(6512007)(53546011)(2616005)(6506007)(26005)(36860700001)(47076005)(40480700001)(33656002)(186003)(336012)(40460700003)(54906003)(4326008)(8676002)(316002)(70206006)(70586007)(6486002)(107886003)(356005)(36756003)(8936002)(81166007)(6862004)(86362001)(41300700001)(478600001)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2022 09:52:39.2605
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3cad8669-04cf-442b-4e6d-08da8b368a63
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB7930

SGkgU3RlZmFubywNCg0KPiBPbiAyNSBBdWcgMjAyMiwgYXQgMTg6NDQsIFN0ZWZhbm8gU3RhYmVs
bGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6DQo+IA0KPiBPbiBUaHUsIDI1IEF1
ZyAyMDIyLCBCZXJ0cmFuZCBNYXJxdWlzIHdyb3RlOg0KPj4+IE9uIDI1IEF1ZyAyMDIyLCBhdCAx
MDozNywgSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+Pj4gT24gMjUvMDgv
MjAyMiAwODozOSwgQmVydHJhbmQgTWFycXVpcyB3cm90ZToNCj4+Pj4gSGksDQo+Pj4+PiBPbiAy
NSBBdWcgMjAyMiwgYXQgMDI6MTAsIFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy
bmVsLm9yZz4gd3JvdGU6DQo+Pj4+PiANCj4+Pj4+IE9uIFdlZCwgMjQgQXVnIDIwMjIsIEp1bGll
biBHcmFsbCB3cm90ZToNCj4+Pj4+PiBPbiAyNC8wOC8yMDIyIDIyOjU5LCBTdGVmYW5vIFN0YWJl
bGxpbmkgd3JvdGU6DQo+Pj4+Pj4+IE9uIFdlZCwgMjQgQXVnIDIwMjIsIFJhaHVsIFNpbmdoIHdy
b3RlOg0KPj4+Pj4+Pj4+IE9uIDI0IEF1ZyAyMDIyLCBhdCA0OjM2IHBtLCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4+Pj4+Pj4+PiBPbiAyNC8wOC8yMDIyIDE1OjQyLCBS
YWh1bCBTaW5naCB3cm90ZToNCj4+Pj4+Pj4+Pj4+IE9uIDI0IEF1ZyAyMDIyLCBhdCAxOjU5IHBt
LCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4+Pj4+Pj4+Pj4+IA0KPj4+
Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+IE9uIDI0LzA4LzIwMjIgMTM6MTUs
IFJhaHVsIFNpbmdoIHdyb3RlOg0KPj4+Pj4+Pj4+Pj4+IEhpIEp1bGllbiwNCj4+Pj4+Pj4+Pj4+
IA0KPj4+Pj4+Pj4+Pj4gSGkgUmFodWwsDQo+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+PiBQbGVh
c2UgbGV0IG1lIGtub3cgeW91ciB2aWV3IG9uIHRoaXMuDQo+Pj4+Pj4+Pj4+Pj4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KPj4+Pj4+Pj4+Pj4+IGIveGVuL2FyY2gv
YXJtL2RvbWFpbl9idWlsZC5jDQo+Pj4+Pj4+Pj4+Pj4gaW5kZXggYmZlN2JjNmIzNi4uYTFlMjNl
ZWU1OSAxMDA2NDQNCj4+Pj4+Pj4+Pj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxk
LmMNCj4+Pj4+Pj4+Pj4+PiArKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMNCj4+Pj4+
Pj4+Pj4+PiBAQCAtMzU2MiwxMiArMzU2Miw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGNvbnN0cnVj
dF9kb21VKHN0cnVjdA0KPj4+Pj4+Pj4+Pj4+IGRvbWFpbiAqZCwNCj4+Pj4+Pj4+Pj4+PiAgIGlm
ICggcmMgPT0gLUVJTFNFUSB8fA0KPj4+Pj4+Pj4+Pj4+ICAgICByYyA9PSAtRU5PREFUQSB8fA0K
Pj4+Pj4+Pj4+Pj4+ICAgICAocmMgPT0gMCAmJiAhc3RyY21wKGRvbTBsZXNzX2VuaGFuY2VkLCDi
gJxlbmFibGVk4oCdKSkgKQ0KPj4+Pj4+Pj4+Pj4+IC0gIHsNCj4+Pj4+Pj4+Pj4+PiAtICAgIGlm
ICggaGFyZHdhcmVfZG9tYWluICkNCj4+Pj4+Pj4+Pj4+PiAgICAgICBraW5mby5kb20wbGVzc19l
bmhhbmNlZCA9IHRydWU7DQo+Pj4+Pj4+Pj4+Pj4gLSAgICBlbHNlDQo+Pj4+Pj4+Pj4+Pj4gLSAg
ICAgIHBhbmljKOKAnFRyaWVkIHRvIHVzZSB4ZW4sZW5oYW5jZWQgd2l0aG91dCBkb20wXG7igJ0p
Ow0KPj4+Pj4+Pj4+Pj4+IC0gIH0NCj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4gWW91IGNhbid0
IHVzZSAieGVuLGVuaGFuY2VkIiB3aXRob3V0IGRvbTAuIEluIGZhY3QsIHlvdSB3aWxsIGVuZCB1
cA0KPj4+Pj4+Pj4+Pj4gdG8gZGVyZWZlcmVuY2UgTlVMTCBpbiBhbGxvY194ZW5zdG9yZV9ldnRj
aG4oKS4gVGhhdCdzIGJlY2F1c2UNCj4+Pj4+Pj4+Pj4+ICJ4ZW4sZW5oYW5jZWQiIG1lYW5zIHRo
ZSBkb21haW4gd2lsbCBiZSBhYmxlIHRvIHVzZSBYZW5zdG9yZWQuDQo+Pj4+Pj4+Pj4+PiANCj4+
Pj4+Pj4+Pj4+IE5vdyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHlvdXIgZmVhdHVyZSB3aXRob3V0
IGEgZG9tMC4gVGhlbiBJIHRoaW5rDQo+Pj4+Pj4+Pj4+PiB3ZSB3YW50IHRvIGludHJvZHVjZSBh
biBvcHRpb24gd2hpY2ggd291bGQgYmUgdGhlIHNhbWUgYXMNCj4+Pj4+Pj4+Pj4+ICJ4ZW4sZW5o
YW5jZWQiIGJ1dCBkb2Vzbid0IGV4cG9zZSBYZW5zdG9yZWQuDQo+Pj4+Pj4+Pj4+IElmIHdlIG1v
ZGlmeSB0aGUgcGF0Y2ggYXMgYmVsb3cgd2UgY2FuIHVzZSB0aGUgInhlbixlbmhhbmNlZCIgZm9y
DQo+Pj4+Pj4+Pj4+IGRvbVVzIHdpdGhvdXQgZG9tMC4NCj4+Pj4+Pj4+Pj4gSSB0ZXN0ZWQgdGhl
IHBhdGNoIGFuZCBpdHMgd29ya3MgZmluZS4gRG8geW91IHNlZSBhbnkgaXNzdWUgd2l0aCB0aGlz
DQo+Pj4+Pj4+Pj4+IGFwcHJvYWNoPw0KPj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+IFllcy4gRm9yIHR3
byByZWFzb25zOg0KPj4+Pj4+Pj4+IDEpIEl0IGlzIG11ZGR5aW5nIHRoZSBtZWFuaW5nIG9mICJ4
ZW4sZW5oYW5jZWQiLiBJbiBwYXJ0aWN1bGFyIGEgdXNlcg0KPj4+Pj4+Pj4+IG1heSBub3QgcmVh
bGl6ZSB0aGF0IFhlbnN0b3JlIGlzIG5vdCBhdmFpbGFibGUgaWYgZG9tMCBpcyBub3QgcHJlc2Vu
dC4NCj4+Pj4+Pj4+PiAyKSBJdCB3b3VsZCBiZSBtb3JlIGNvbXBsaWNhdGVkIHRvIGhhbmRsZSB0
aGUgY2FzZSB3aGVyZSBYZW5zdG9yZWQgbGl2ZXMNCj4+Pj4+Pj4+PiBpbiBhIG5vbi1kb20wIGRv
bWFpbi4gSSBhbSBub3QgYXdhcmUgb2YgYW55b25lIHdhbnRpbmcgdGhpcyBvbiBBcm0geWV0LA0K
Pj4+Pj4+Pj4+IGJ1dCBJIGRvbid0IHdhbnQgdG8gY2xvc2UgdGhlIGRvb3IuDQo+Pj4+Pj4+Pj4g
DQo+Pj4+Pj4+Pj4gU28gaWYgeW91IHdhbnQgdG8gc3VwcG9ydCBjcmVhdGUgInhlbix4ZW4iIHdp
dGhvdXQgYWxsIHRoZSByZXN0LiBUaGVuIEkNCj4+Pj4+Pj4+PiB0aGluayB3ZSBuZWVkIGEgZGlm
ZmVyZW50IHByb3BlcnR5IHZhbHVlLiBJIGRvbid0IGhhdmUgYSBnb29kIHN1Z2dlc3Rpb24NCj4+
Pj4+Pj4+PiBmb3IgdGhlIG5hbWUuDQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IElzIHRoYXQgb2theSBp
ZiB3ZSB1c2UgdGhlIGVhcmxpZXIgYXBwcm9hY2gsIHdoZW4gdXNlciBzZXQgICJ4ZW4sZW5oYW5j
ZWQNCj4+Pj4+Pj4+ID0gZXZ0Y2hu4oCdIHdlIHdpbGwgbm90IGNhbGwgYWxsb2NfeGVuc3RvcmVf
ZXZ0Y2huKCkNCj4+Pj4+Pj4+IGJ1dCB3ZSBjcmVhdGUgaHlwZXJ2aXNvciBub2RlIHdpdGggYWxs
IGZpZWxkcy4NCj4+Pj4+Pj4gDQo+Pj4+Pj4+IFRoaW5raW5nIG1vcmUgYWJvdXQgdGhpcywgdG9k
YXkgeGVuLGVuaGFuY2VkIGhhcyB0aGUgaW1wbGljYXRpb24gdGhhdDoNCj4+Pj4+Pj4gDQo+Pj4+
Pj4+IC0gdGhlIGd1ZXN0IHdpbGwgZ2V0IGEgcmVndWxhciBhbmQgY29tcGxldGUgInhlbix4ZW4i
IG5vZGUgaW4gZGV2aWNlIHRyZWUNCj4+Pj4+Pj4gLSB4ZW5zdG9yZSBhbmQgUFYgZHJpdmVycyB3
aWxsIGJlIGF2YWlsYWJsZSAoZnVsbCBYZW4gaW50ZXJmYWNlcyBzdXBwb3J0KQ0KPj4+Pj4+PiAN
Cj4+Pj4+Pj4gV2UgZG9uJ3QgbmVjZXNzYXJlbHkgaW1wbHkgdGhhdCBkb20wIGlzIHJlcXVpcmVk
IChmcm9tIGEgZG9tVSBwb2ludCBvZg0KPj4+Pj4+PiB2aWV3KSBidXQgd2UgZG8gaW1wbHkgdGhh
dCB4ZW5zdG9yZStldnRjaG4rZ250dGFiIHdpbGwgYmUgYXZhaWxhYmxlIHRvDQo+Pj4+Pj4+IHRo
ZSBkb21VLg0KPj4+Pj4+PiANCj4+Pj4+Pj4gTm93LCBzdGF0aWMgZXZlbnQgY2hhbm5lbHMgYXJl
IGRpZmZlcmVudC4gVGhleSBkb24ndCByZXF1aXJlIHhlbnN0b3JlDQo+Pj4+Pj4+IGFuZCB0aGV5
IGRvbid0IHJlcXVpcmUgZ250dGFiLg0KPj4+Pj4+PiANCj4+Pj4+Pj4gSXQgaXMgYXMgaWYgdGhl
IGN1cnJlbnQgeGVuLGVuaGFuY2VkIG5vZGUgYWN0dWFsbHkgbWVhbnQ6DQo+Pj4+Pj4+IA0KPj4+
Pj4+PiAgeGVuLGVuaGFuY2VkID0gInhlbnN0b3JlLGdudHRhYixldnRjaG4iOw0KPj4+Pj4+IA0K
Pj4+Pj4+IENvcnJlY3QuDQo+Pj4+Pj4gDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBhbmQgbm93IHdlIGFy
ZSBvbmx5IGVuYWJsaW5nIGEgc3Vic2V0Og0KPj4+Pj4+PiANCj4+Pj4+Pj4gIHhlbixlbmhhbmNl
ZCA9ICJldnRjaG4iOw0KPj4+Pj4+PiANCj4+Pj4+Pj4gSXMgdGhhdCBhIGNvcnJlY3QgdW5kZXJz
dGFuZGluZz8NCj4+Pj4+PiANCj4+Pj4+PiBZZXMgd2l0aCBzb21lIGNhdmVhcnMgKHNlZSBiZWxv
dykuDQo+Pj4+Pj4gDQo+Pj4+Pj4+IA0KPj4+Pj4+PiANCj4+Pj4+Pj4gSWYgc28sIHdlIGNhbiBj
bGFyaWZ5IHRoYXQ6DQo+Pj4+Pj4+IA0KPj4+Pj4+PiAgeGVuLGVuaGFuY2VkOw0KPj4+Pj4+PiAN
Cj4+Pj4+Pj4gaXQgaXMgYSBjb252ZW5pZW50IHNob3J0ZW5kIGZvcjoNCj4+Pj4+Pj4gDQo+Pj4+
Pj4+ICB4ZW4sZW5oYW5jZWQgPSAieGVuc3RvcmUsZ250dGFiLGV2dGNobiI7DQo+Pj4+Pj4+IA0K
Pj4+Pj4+PiBhbmQgdGhhdCBvdGhlciBjb21iaW5hdGlvbnMgYXJlIGFsc28gYWNjZXB0YWJsZSwg
ZS5nLjoNCj4+Pj4+Pj4gDQo+Pj4+Pj4+ICB4ZW4sZW5oYW5jZWQgPSAiZ250dGFiIjsNCj4+Pj4+
Pj4gIHhlbixlbmhhbmNlZCA9ICJldnRjaG4iOw0KPj4+Pj4+PiAgeGVuLGVuaGFuY2VkID0gImV2
dGNobixnbnR0YWIiOw0KPj4+Pj4+PiANCj4+Pj4+Pj4gSXQgaXMgT0sgdG8gcGFuaWMgaWYgdGhl
IHVzZXIgc3BlY2lmaWVzIGFuIG9wdGlvbiB0aGF0IGlzIGN1cnJlbnRseQ0KPj4+Pj4+PiB1bnN1
cHBvcnRlZCAoZS5nLiAiZ250dGFiIikuDQo+Pj4+Pj4gDQo+Pj4+Pj4gU28gdG9kYXksIGlmIHlv
dSBjcmVhdGUgdGhlIG5vZGUgInhlbix4ZW4iLCB0aGUgZ3Vlc3Qgd2lsbCBleHBlY3QgdG8gYmUg
YWJsZQ0KPj4+Pj4+IHRvIHVzZSBib3RoIGdyYW50LXRhYmxlIGFuZCBldmVudCBjaGFubmVsLg0K
Pj4+Pj4+IA0KPj4+Pj4+IFRoZXJlZm9yZSwgaW4gdGhlIGxpc3QgYWJvdmUsIHRoZSBvbmx5IGNv
bmZpZ3VyYXRpb24gd2UgY2FuIHNlbnNpYmx5IHN1cHBvcnQNCj4+Pj4+PiB3aXRob3V0IGFueSBt
YWpvciByZXdvcmsgaXMgImV2dGNobixnbnR0YWIiLg0KPj4+Pj4+IA0KPj4+Pj4+IElmIHdlIHdh
bnQgdG8gc3VwcG9ydCAiZXZ0Y2huIiBvciAiZ250dGFiIiBvbmx5LiBUaGVuIHdlIGxpa2VseSBu
ZWVkIHRvIGRlZmluZQ0KPj4+Pj4+IGEgbmV3IGJpbmRpbmcgKG9yIG5ldyB2ZXJzaW9uKSBiZWNh
dXNlIG5laXRoZXIgInJlZ3MiIG5vciAiaW50ZXJydXB0cyIgYXJlDQo+Pj4+Pj4gb3B0aW9uYWwg
KGFsdGhvdWdoIGEgZ3Vlc3QgT1MgaXMgZnJlZSB0byBpZ25vcmUgdGhlbSkuDQo+Pj4+PiANCj4+
Pj4+IFllcyBJIHRoaW5rIHlvdSBhcmUgcmlnaHQuIEkgYWxzbyBicm9hZGx5IGFncmVlIHdpdGgg
dGhlIHJlc3Qgb2YgeW91cg0KPj4+Pj4gcmVwbHkuDQo+Pj4+PiANCj4+Pj4+IFRoaW5raW5nIGFi
b3V0IGl0IGFuZCBnaXZlbiB0aGUgYWJvdmUsIHdlIG9ubHkgbmVlZCAyICJsZXZlbHMiIG9mDQo+
Pj4+PiBlbmhhbmNlbWVudDoNCj4+Pj4+IA0KPj4+Pj4gMSkgZXZlcnl0aGluZzogeGVuc3RvcmUs
IGdudHRhYiwgZXZ0Y2huDQo+Pj4+PiAyKSBnbnR0YWIsIGV2dGNobiwgYnV0IG5vdCB4ZW5zdG9y
ZQ0KPj4+Pj4gDQo+Pj4+PiBOb3RoaW5nIGVsc2UgaXMgcmVhbGx5IHBvc3NpYmxlIGJlY2F1c2Us
IGFzIEp1bGllbiBwb2ludGVkIG91dCwNCj4+Pj4+ICJ4ZW4sZW5oYW5jZWQiIGltcGxpZXMgdGhl
IHhlbix4ZW4gbm9kZSBpbiB0aGUgZG9tVSBkZXZpY2UgdHJlZSBhbmQgaW4NCj4+Pj4+IHR1cm4g
dGhhdCBub2RlIGltcGxpZXMgYm90aCBldnRjaG4gYW5kIGdudHRhYi4NCj4+Pj4gU28gd2UgY291
bGQgc2F5IHRoYXQgeGVuLGVuaGFuY2VkIGFsd2F5cyBpbmNsdWRlcyBnbnR0YWIgYW5kIFhlbnN0
b3JlIGlzIG9wdGlvbmFsLg0KPj4+IA0KPj4+IE5vdCByZWFsbHksIFhlbnN0b3JlIGhhcyBhbHdh
eXMgYmVlbiBwYXJ0IG9mIHRoZSBzdG9yeSBpbiBYZW4uIFNvIEkgdGhpbmsgbWFraW5nIGl0IG9w
dGlvbmFsIGZvciAieGVuLGVuaGFuY2VkIiBpcyBnb2luZyB0byBtYWtlIG1vcmUgZGlmZmljdWx0
IGZvciB1c2VyIHRvIHVuZGVyc3RhbmQgd2hhdCB0aGUgbWVhbmluZyBvZiB0aGUgb3B0aW9uIChp
biBwYXJ0aWN1bGFyIHRoYXQgaW4gdGhlIGZ1dHVyZSB3ZSBtYXkgd2FudCB0byBzdXBwb3J0IFhl
bnN0b3JlZCBpbiBhIHNlcGFyYXRlIGRvbWFpbikuDQo+PiANCj4+IFNvcnJ5IHdyb25nIGZvcm11
bGF0aW9uLCBoZXJlIEkgd2FzIG1lYW5pbmcgdGhhdCB3ZSBqdXN0IG5lZWQgYSBzb2x1dGlvbiB0
byBkaXNhYmxlIFhlbnN0b3JlIChzaG91bGQgc3RpbGwgYmUgaGVyZSBieSBkZWZhdWx0IHdoZW4g
c3VwcG9ydGVkKS4NCj4+IA0KPj4+IA0KPj4+Pj4gU28gSSB0aGluayB3ZSBqdXN0IG5lZWQgdG8g
YWRkIGEgd2F5IHRvIGV4cHJlc3MgMikuIFdlIGNvdWxkIGRvDQo+Pj4+PiBzb21ldGhpbmcgbGlr
ZToNCj4+Pj4+IA0KPj4+Pj4geGVuLGVuaGFuY2VkID0gImV2dGNobixnbnR0YWIiOw0KPj4+PiBJ
IGFtIGEgYml0IHB1enpsZWQgaGVyZSBhcyBnbnR0YWIgaXMgYWx3YXlzIHRoZXJlLg0KPj4+IA0K
Pj4+IFdoYXQgZG8geW91IG1lYW4/DQo+PiANCj4+IEFza2luZyB0aGUgdXNlciB0byBzcGVjaWZ5
IGdudHRhYiBpbiB0aGUgbGlzdCBldmVuIHRob3VnaCBpdCBpcyBub3Qgc3VwcG9ydGVkIHRvIG5v
dCBoYXZlIGl0IGluIHRoZSBsaXN0Lg0KPj4gDQo+Pj4gDQo+Pj4+PiANCj4+Pj4+IE9yIHdlIGNv
dWxkIHVzZSBhIG5ldyBzZXBhcmF0ZSBvcHRpb24gbGlrZSBKdWxpZW4gaW5pdGlhbGx5IHN1Z2dl
c3RlZCwNCj4+Pj4+IGUuZy46DQo+Pj4+PiANCj4+Pj4+IHhlbixlbmhhbmNlZC1uby14ZW5zdG9y
ZTsNCj4+Pj4+IA0KPj4+Pj4gInhlbixlbmhhbmNlZC1uby14ZW5zdG9yZSIgaXMgYSB0ZXJyaWJs
ZSBuYW1lIGFjdHVhbGx5LCBidXQganVzdCB0bw0KPj4+Pj4gZXhwbGFpbiB3aGF0IEkgYW0gdGhp
bmtpbmcgOi0pDQo+Pj4+IEkgdGhpbmsgbW9zdCBjb21tb24gdXNlIGNhc2Ugd2lsbCBiZSB0byBo
YXZlIGFsbCwgc28gbWFrZSBzZW5zZSB0byBhbGxvdyB0byBkaXNhYmxlIFhlbnN0b3JlLg0KPj4+
PiBIb3cgYWJvdXQ6DQo+Pj4+IHhlbixlbmhhbmNlZCA9IOKAnG5vLXhlbnN0b3Jl4oCdID8NCj4+
PiANCj4+PiBJIHdvdWxkIGJlIGZpbmUgd2l0aCBpdC4NCj4gDQo+IFdlIGhhdmUgYWdyZWVtZW50
IG9uIHRoaXMsIHNvIEkgd291bGQgc2F5IGxldCdzIGtlZXAgaXQgc2ltcGxlIGFuZCBnbw0KPiB3
aXRoIHRoaXMgb3B0aW9uLg0KPiANCj4gDQo+Pj4+IEFuIG90aGVyIHNvbHV0aW9uIGlzIHRvIGtl
ZXAgeGVuLGVuaGFuY2VkIGFzIGl0IGlzIGFuZCBpbnRyb2R1Y2UgYSBuZXcgb3B0aW9uOg0KPj4+
PiBYZW4sbm8teGVuc3RvcmUNCj4+PiANCj4+PiBJIGRvbid0IGxpa2UgdGhlIGlkZWEgb2YgaW50
cm9kdWNpbmcgeWV0IGFub3RoZXIgb3B0aW9uLg0KPj4+IA0KPj4+PiBBdCB0aGUgZW5kIFhlbnN0
b3JlIGNhbm5vdCBiZSB1c2VkIGlmIHRoZXJlIGlzIG5vIERvbTAgYW5kIHRoYXQgd2UgY2FuIGRl
dGVjdCBlYXNpbHkuDQo+Pj4+IEFsc28gdGhlcmUgaXMgbm8gc29sdXRpb24gYXQgdGhpcyBzdGFn
ZSB0byBoYXZlIGFuIG90aGVyIGRvbWFpbiB0aGVuIERvbTAgcHJvdmlkaW5nDQo+Pj4+IFhlbnN0
b3JlIChtYXliZSBpbiB0aGUgbG9uZyB0ZXJtIHNvbWVvbmUgd2lsbCB3YW50IHRvIGludHJvZHVj
ZSB0aGF0IGFuZCB3ZSB3aWxsIG5lZWQNCj4+Pj4gYSB3YXkgdG8gc3BlY2lmeSB3aGljaCBkb21h
aW4gaXMgaGFuZGxpbmcgaXQpLg0KPj4+PiBTbyBJIHN0aWxsIHRoaW5rIHRoYXQgd2UgY291bGQg
anVzdCBzYXkgdGhhdCBYZW5zdG9yZSBjYW4gb25seSBiZSBhY3RpdmUgaWYgdGhlcmUgaXMgYSBE
b20wDQo+Pj4+IGFuZCBqdXN0IGRpc2FibGUgWGVuc3RvcmUgYXV0b21hdGljYWxseSBpZiBpdCBp
cyBub3QgdGhlIGNhc2UuDQo+Pj4gDQo+Pj4gU2VlIGFib3ZlIGFib3V0IGRpc2FibGluZyBYZW5z
dG9yZSBhdXRvbWF0aWNhbGx5Lg0KPj4gDQo+PiBSaWdodCBub3cgWGVuc3RvcmUgY2FuIG9ubHkg
d29yayB3aXRoIGEgZG9tMCBhbmQgaWYgc29tZW9uZSB3YW50cyB0byBoYXZlIGFuIG90aGVyIGRv
bWFpbiB0byBwcm92aWRlIGl0IHdlIHdvdWxkIG5lZWQgYSB3YXkgdG8gc3BlY2lmeSB3aGljaCBv
bmUgaW4gdGhlIGNvbmZpZ3VyYXRpb24uDQo+PiBTbyBpbiBhIGNvbmZpZ3VyYXRpb24gd2l0aG91
dCBkb20wLCBJIHN0aWxsIHRoaW5rIHRoYXQgbm90IGVuYWJsaW5nIFhlbnN0b3JlIGF1dG9tYXRp
Y2FsbHkgaXMgb2suDQo+PiANCj4+PiANCj4+Pj4gSWYgdGhlcmUgaXMgYSBkb20wIGFuZCBzb21l
b25lIHdhbnRzIGEgZ3Vlc3Qgd2l0aG91dCBYZW5zdG9yZSwgdGhlbiB3ZSB3b3VsZCBuZWVkIHRv
DQo+Pj4+IGhhdmUgdGhlIG5vLXhlbnN0b3JlIHN1cHBvcnQuDQo+Pj4+IEJ1dCBpcyBpdCBhIHVz
ZSBjYXNlID8NCj4+PiANCj4+PiBEbyB5b3UgbWVhbiB3aGVuICJ4ZW4sZW5oYW5jZWQiIGlzIHNw
ZWNpZmllZD8gSWYgeWVzLCB0aGlzIGNvdWxkIGJlIHVzZWZ1bCBpZiBvbmUgd2FudCB0byBsaW1p
dCB0aGUgaW50ZXJmYWNlIGV4cG9zZWQgdG8gdGhlIGd1ZXN0Lg0KPj4gDQo+PiBIb3cgYWJvdXQg
dGhlIGZvbGxvd2luZzoNCj4+IFhlbixlbmhhbmNlZDogZ250dGFiLCBldmVudHMgYW5kIFhlbnN0
b3JlIGlmIHRoZXJlIGlzIGEgZG9tMA0KPj4gWGVuLGVuaGFuY2VkID0g4oCcW25vLV14ZW5zdG9y
ZSxbbm8tXWV2dGNobixbbm8tXWdudHRhYuKAnSBmb3Igd2hlbiB0aGUgdXNlciB3YW50cyB0byBl
eHBsaWNpdGx5IHNwZWNpZnkgd2hhdCBoZSB3YW50cyAoYW5kIFhlbiBzdG9wcGluZyBvbiB1bnN1
cHBvcnRlZCBjb25maWd1cmF0aW9uKS4NCj4+ICAgSW4gdGhpcyBJIHdvdWxkIGFsbG93IHRvIHBy
b3ZpZGUgYW55IGNvbWJpbmF0aW9ucyBvZiB0aGUgMw0KPiANCj4gSSBhbSBPSyB3aXRoIHdoYXQg
eW91IHdyb3RlIGFzIHdlbGwsIGJ1dCBjb25zaWRlcmluZyB0aGUgYWRkaXRpb25hbA0KPiBjb21w
bGV4aXR5IHRoYXQgbm8tZ250dGFiIGFuZCBuby1ldnRjaG4gZW50YWlsIGdpdmVuIHRoYXQgdGhl
eSBjYW5ub3QgYmUNCj4gYWN0dWFsbHkgZGlzYWJsZWQgdG9kYXksIEkgc3VnZ2VzdCB0byBrZWVw
IGl0IHNpbXBsZSBhbmQgZ28gd2l0aDoNCj4gDQo+IHhlbixlbmhhbmNlZCA9ICJuby14ZW5zdG9y
ZSINCg0KSSBhZ3JlZSB3aXRoIHRoYXQuDQoNCkNoZWVycw0KQmVydHJhbmQNCg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 10:03:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 10:03:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395597.635358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTKYn-0007lV-Vs; Wed, 31 Aug 2022 10:03:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395597.635358; Wed, 31 Aug 2022 10:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTKYn-0007lO-SU; Wed, 31 Aug 2022 10:03:01 +0000
Received: by outflank-mailman (input) for mailman id 395597;
 Wed, 31 Aug 2022 10:03:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kbIA=ZD=suse.de=mgorman@srs-se1.protection.inumbo.net>)
 id 1oTKYm-0007lI-Ge
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 10:03:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 177c97ea-2914-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 12:02:59 +0200 (CEST)
Received: from relay2.suse.de (relay2.suse.de [149.44.160.134])
 by smtp-out1.suse.de (Postfix) with ESMTP id 60E182226F;
 Wed, 31 Aug 2022 10:02:58 +0000 (UTC)
Received: from suse.de (unknown [10.163.43.106])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by relay2.suse.de (Postfix) with ESMTPS id C064A2C142;
 Wed, 31 Aug 2022 10:02:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 177c97ea-2914-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1661940178; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=UghZOtEbbNtkuyHw6OG+q34Eguh17rpI6TW2xy+k26s=;
	b=PRBKEeRroKw9uKicRWHW+510+yPrLqUkpbnRk+7WMXhWuFKJOM0BT+MpyEO2iwAv8hytIA
	btsLNyDayNr7GOZofmiVg24uPISDfKOix86GB2r26KRZAxV3CAmeg/EZgjlKPFALHLF+rj
	W6qDhGUMZIbq1FBe7+V0SXRtsy5jHbc=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1661940178;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=UghZOtEbbNtkuyHw6OG+q34Eguh17rpI6TW2xy+k26s=;
	b=Fsjsh2O/oToKVq/H89joyhrl1vB+8BTBfApNgEKpxECOhMpD8okC2XulgoKvPMmysJjbXj
	bGEzv3xuk/Jor7Bg==
Date: Wed, 31 Aug 2022 11:02:49 +0100
From: Mel Gorman <mgorman@suse.de>
To: Suren Baghdasaryan <surenb@google.com>
Cc: akpm@linux-foundation.org, kent.overstreet@linux.dev, mhocko@suse.com,
	vbabka@suse.cz, hannes@cmpxchg.org, roman.gushchin@linux.dev,
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com,
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com,
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com,
	axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org,
	nathan@kernel.org, changbin.du@intel.com, ytcoode@gmail.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com,
	vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
	elver@google.com, dvyukov@google.com, shakeelb@google.com,
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
	kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
	kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 03/30] Lazy percpu counters
Message-ID: <20220831100249.f2o27ri7ho4ma3pe@suse.de>
References: <20220830214919.53220-1-surenb@google.com>
 <20220830214919.53220-4-surenb@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20220830214919.53220-4-surenb@google.com>

On Tue, Aug 30, 2022 at 02:48:52PM -0700, Suren Baghdasaryan wrote:
> From: Kent Overstreet <kent.overstreet@linux.dev>
> 
> This patch adds lib/lazy-percpu-counter.c, which implements counters
> that start out as atomics, but lazily switch to percpu mode if the
> update rate crosses some threshold (arbitrarily set at 256 per second).
> 
> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>

Why not use percpu_counter? It has a per-cpu counter that is synchronised
when a batch threshold (default 32) is exceeded and can explicitly sync
the counters when required assuming the synchronised count is only needed
when reading debugfs.

-- 
Mel Gorman
SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 10:11:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 10:11:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395603.635372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTKgj-0000nh-RU; Wed, 31 Aug 2022 10:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395603.635372; Wed, 31 Aug 2022 10:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTKgj-0000na-O7; Wed, 31 Aug 2022 10:11:13 +0000
Received: by outflank-mailman (input) for mailman id 395603;
 Wed, 31 Aug 2022 10:11:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kbIA=ZD=suse.de=mgorman@srs-se1.protection.inumbo.net>)
 id 1oTKgi-0000nO-6h
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 10:11:12 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c86df9f-2915-11ed-bd2e-47488cf2e6aa;
 Wed, 31 Aug 2022 12:11:11 +0200 (CEST)
Received: from relay2.suse.de (relay2.suse.de [149.44.160.134])
 by smtp-out1.suse.de (Postfix) with ESMTP id 279092226F;
 Wed, 31 Aug 2022 10:11:10 +0000 (UTC)
Received: from suse.de (unknown [10.163.43.106])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by relay2.suse.de (Postfix) with ESMTPS id C2D002C142;
 Wed, 31 Aug 2022 10:11:04 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c86df9f-2915-11ed-bd2e-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1661940670; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=9ZcqM4yN/Uj2veB6/peO+/NOESYU9wobXvQy0yQjV4o=;
	b=Yy6RUQdM9jmsAxglplkxXX5ltqNnErSYCX9NG/KP34nto93gbhP8A03TGq2nPa/LvHZzml
	btOJNLDHOI9hpuLsLjm09qtoqhoSAt44HVPsOPOvmrViCmO/bUFitzMEPHx5x2KSfVOCD4
	vfr1uon403pQHuoUNgbpFaM/H1r2Wf8=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1661940670;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=9ZcqM4yN/Uj2veB6/peO+/NOESYU9wobXvQy0yQjV4o=;
	b=KUiIFlqbF9LwRuhv7UYrcQNDomt2Z2X+zy/MToMnTER4Y3BnTVv72LaVQ5k1u0/+kR20Pu
	NSrzG7KAdz5wpiBA==
Date: Wed, 31 Aug 2022 11:11:03 +0100
From: Mel Gorman <mgorman@suse.de>
To: Suren Baghdasaryan <surenb@google.com>
Cc: akpm@linux-foundation.org, kent.overstreet@linux.dev, mhocko@suse.com,
	vbabka@suse.cz, hannes@cmpxchg.org, roman.gushchin@linux.dev,
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com,
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com,
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com,
	axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org,
	nathan@kernel.org, changbin.du@intel.com, ytcoode@gmail.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com,
	vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
	elver@google.com, dvyukov@google.com, shakeelb@google.com,
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
	kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
	kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 10/30] mm: enable page allocation tagging for
 __get_free_pages and alloc_pages
Message-ID: <20220831101103.fj5hjgy3dbb44fit@suse.de>
References: <20220830214919.53220-1-surenb@google.com>
 <20220830214919.53220-11-surenb@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20220830214919.53220-11-surenb@google.com>

On Tue, Aug 30, 2022 at 02:48:59PM -0700, Suren Baghdasaryan wrote:
> Redefine alloc_pages, __get_free_pages to record allocations done by
> these functions. Instrument deallocation hooks to record object freeing.
> 
> Signed-off-by: Suren Baghdasaryan <surenb@google.com>
> +#ifdef CONFIG_PAGE_ALLOC_TAGGING
> +
>  #include <linux/alloc_tag.h>
>  #include <linux/page_ext.h>
>  
> @@ -25,4 +27,37 @@ static inline void pgalloc_tag_dec(struct page *page, unsigned int order)
>  		alloc_tag_sub(get_page_tag_ref(page), PAGE_SIZE << order);
>  }
>  
> +/*
> + * Redefinitions of the common page allocators/destructors
> + */
> +#define pgtag_alloc_pages(gfp, order)					\
> +({									\
> +	struct page *_page = _alloc_pages((gfp), (order));		\
> +									\
> +	if (_page)							\
> +		alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
> +	_page;								\
> +})
> +

Instead of renaming alloc_pages, why is the tagging not done in
__alloc_pages()? At least __alloc_pages_bulk() is also missed. The branch
can be guarded with IS_ENABLED.

> +#define pgtag_get_free_pages(gfp_mask, order)				\
> +({									\
> +	struct page *_page;						\
> +	unsigned long _res = _get_free_pages((gfp_mask), (order), &_page);\
> +									\
> +	if (_res)							\
> +		alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
> +	_res;								\
> +})
> +

Similar, the tagging could happen in a core function instead of a wrapper.

> +#else /* CONFIG_PAGE_ALLOC_TAGGING */
> +
> +#define pgtag_alloc_pages(gfp, order) _alloc_pages(gfp, order)
> +
> +#define pgtag_get_free_pages(gfp_mask, order) \
> +	_get_free_pages((gfp_mask), (order), NULL)
> +
> +#define pgalloc_tag_dec(__page, __size)		do {} while (0)
> +
> +#endif /* CONFIG_PAGE_ALLOC_TAGGING */
> +
>  #endif /* _LINUX_PGALLOC_TAG_H */
> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> index b73d3248d976..f7e6d9564a49 100644
> --- a/mm/mempolicy.c
> +++ b/mm/mempolicy.c
> @@ -2249,7 +2249,7 @@ EXPORT_SYMBOL(vma_alloc_folio);
>   * flags are used.
>   * Return: The page on success or NULL if allocation fails.
>   */
> -struct page *alloc_pages(gfp_t gfp, unsigned order)
> +struct page *_alloc_pages(gfp_t gfp, unsigned int order)
>  {
>  	struct mempolicy *pol = &default_policy;
>  	struct page *page;
> @@ -2273,7 +2273,7 @@ struct page *alloc_pages(gfp_t gfp, unsigned order)
>  
>  	return page;
>  }
> -EXPORT_SYMBOL(alloc_pages);
> +EXPORT_SYMBOL(_alloc_pages);
>  
>  struct folio *folio_alloc(gfp_t gfp, unsigned order)
>  {
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index e5486d47406e..165daba19e2a 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -763,6 +763,7 @@ static inline bool pcp_allowed_order(unsigned int order)
>  
>  static inline void free_the_page(struct page *page, unsigned int order)
>  {
> +
>  	if (pcp_allowed_order(order))		/* Via pcp? */
>  		free_unref_page(page, order);
>  	else

Spurious wide-space change.

-- 
Mel Gorman
SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 10:20:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 10:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395611.635388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTKpC-0001V3-RC; Wed, 31 Aug 2022 10:19:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395611.635388; Wed, 31 Aug 2022 10:19:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTKpC-0001Uw-MU; Wed, 31 Aug 2022 10:19:58 +0000
Received: by outflank-mailman (input) for mailman id 395611;
 Wed, 31 Aug 2022 10:19:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kbIA=ZD=suse.de=mgorman@srs-se1.protection.inumbo.net>)
 id 1oTKpA-0001Uq-Ni
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 10:19:56 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7522f96c-2916-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 12:19:55 +0200 (CEST)
Received: from relay2.suse.de (relay2.suse.de [149.44.160.134])
 by smtp-out2.suse.de (Postfix) with ESMTP id 4C44B1FA26;
 Wed, 31 Aug 2022 10:19:54 +0000 (UTC)
Received: from suse.de (unknown [10.163.43.106])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by relay2.suse.de (Postfix) with ESMTPS id 085222C141;
 Wed, 31 Aug 2022 10:19:49 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7522f96c-2916-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1661941194; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=MGhHW6rYwZ48K8Xu0V7K4ggzBnb/NvfN0ZoK0gCAlbg=;
	b=xpV4nSzhu6hvYfjU/RLa/UyemQVmGwiOcDFsrJdhN97teD4R9U9wjv5LdPHR1gp6HxZHrR
	FuW3p4ucqUMUwZb45aW7yTZl3JtVfhUQLK0ZspCBA49v5PTxSs3KgEJ1zQrfNzrY2q8f4S
	/dKh99Nx5lVJ58bV5Rkgoeu5X/hmj10=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1661941194;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=MGhHW6rYwZ48K8Xu0V7K4ggzBnb/NvfN0ZoK0gCAlbg=;
	b=MQGQw9Blw5WX5WebctrJKgEeQJwREstTopCuw8w6jMH4yRF3LbubiWsssQhgo9xhnEFLYy
	ZeYNgM1N1XvLnJAQ==
Date: Wed, 31 Aug 2022 11:19:48 +0100
From: Mel Gorman <mgorman@suse.de>
To: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org,
	mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org,
	roman.gushchin@linux.dev, dave@stgolabs.net, willy@infradead.org,
	liam.howlett@oracle.com, void@manifault.com, juri.lelli@redhat.com,
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com,
	axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org,
	nathan@kernel.org, changbin.du@intel.com, ytcoode@gmail.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com,
	vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
	elver@google.com, dvyukov@google.com, shakeelb@google.com,
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
	kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
	kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
Message-ID: <20220831101948.f3etturccmp5ovkl@suse.de>
References: <20220830214919.53220-1-surenb@google.com>
 <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
 <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan>

On Wed, Aug 31, 2022 at 04:42:30AM -0400, Kent Overstreet wrote:
> On Wed, Aug 31, 2022 at 09:38:27AM +0200, Peter Zijlstra wrote:
> > On Tue, Aug 30, 2022 at 02:48:49PM -0700, Suren Baghdasaryan wrote:
> > > ===========================
> > > Code tagging framework
> > > ===========================
> > > Code tag is a structure identifying a specific location in the source code
> > > which is generated at compile time and can be embedded in an application-
> > > specific structure. Several applications of code tagging are included in
> > > this RFC, such as memory allocation tracking, dynamic fault injection,
> > > latency tracking and improved error code reporting.
> > > Basically, it takes the old trick of "define a special elf section for
> > > objects of a given type so that we can iterate over them at runtime" and
> > > creates a proper library for it.
> > 
> > I might be super dense this morning, but what!? I've skimmed through the
> > set and I don't think I get it.
> > 
> > What does this provide that ftrace/kprobes don't already allow?
> 
> You're kidding, right?

It's a valid question. From the description, it main addition that would
be hard to do with ftrace or probes is catching where an error code is
returned. A secondary addition would be catching all historical state and
not just state since the tracing started.

It's also unclear *who* would enable this. It looks like it would mostly
have value during the development stage of an embedded platform to track
kernel memory usage on a per-application basis in an environment where it
may be difficult to setup tracing and tracking. Would it ever be enabled
in production? Would a distribution ever enable this? If it's enabled, any
overhead cannot be disabled/enabled at run or boot time so anyone enabling
this would carry the cost without never necessarily consuming the data.

It might be an ease-of-use thing. Gathering the information from traces
is tricky and would need combining multiple different elements and that
is development effort but not impossible.

Whatever asking for an explanation as to why equivalent functionality
cannot not be created from ftrace/kprobe/eBPF/whatever is reasonable.

-- 
Mel Gorman
SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 10:40:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 10:40:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395617.635398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTL8Z-0003s0-HC; Wed, 31 Aug 2022 10:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395617.635398; Wed, 31 Aug 2022 10:39:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTL8Z-0003rt-D6; Wed, 31 Aug 2022 10:39:59 +0000
Received: by outflank-mailman (input) for mailman id 395617;
 Wed, 31 Aug 2022 10:37:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Rnu=ZD=google.com=dvyukov@srs-se1.protection.inumbo.net>)
 id 1oTL69-0003oU-33
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 10:37:29 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8553216-2918-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 12:37:27 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id p16so1315939lfd.6
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 03:37:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8553216-2918-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=WJL9T2x+a2YdG1AthmK6UN7443yAuiR2WAuOKZxAW8E=;
        b=rgCPeyAfJg5zG0rMpAkkqGHUcmJAJmkadgznfo2KJH0hFTEHV5Gxz6AJC26ltFRX6v
         k4enm+y4fV0atHzlz7gc9VjH3AU5RSOSAJTC66alWPnPjVO6rBMw2NC2EeGmx7YnHNY6
         GjQO9PdG4cDd7tRoWdCryVseQQ440mjDBSgy28tBCS1Uw4G19h707SJ/Ab0K3OQwGwit
         zKTxtnc0aM6C1C2rmGbfILemVtoBFRqOYs4sHdPtie4yVS3pCaxJLvDL5dshz1izePtd
         hX8EFP2fkIOo1VJvyrhF4t2T4kd9Q30ypdy4DGBAP3OX9btdUI+yxt70XDEkvIOxEoZG
         iYCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=WJL9T2x+a2YdG1AthmK6UN7443yAuiR2WAuOKZxAW8E=;
        b=oOdxUMUJ0g5CzX++y6NUZjl63Y2V1VcqBgRJHC5zjIpuwdaB1iR6LwBwRmDlVONXWQ
         9pa509IpkiiOmF4/Nxv2oMXtI2ckbgG44qVJ4UsVG4Sy08xavutqz3XrlRnd2lpncbcu
         4+2jMFbCuVXXPysHfpVTPEOEXmJB7d744d34roOGaMV97PM7DjIa7x+NwXcGu6HtZpyq
         1+fHpLhndjUt/FGGJxixelsP+/ybDDnG5TOxT+1wBr8yWh8si5c9SAnxMYWy7x9Z+Xdv
         N54RH2lqqNdpJImMFx2+TMVbpRwB1LgfqD4fmmQmaSSaoJ4Rqr1WN1HZ9bOKt8q8UOwY
         n+Zw==
X-Gm-Message-State: ACgBeo0RUlX06V6+FjMgxvMe88IuSZbF/OdkqsqHm9heMD3KXSfOKKuV
	YSu/snc+RUho0LCS7WYOD+YXoO9YQ2iZWcw1WsC8SA==
X-Google-Smtp-Source: AA6agR4pT/CTaEizCaURhQyuAEAI0lYFzrOzS9I6rHKULsX8mlMRlMiADaWRoKYoVd+PXABbNzSjv7+KWE13JNHqVwE=
X-Received: by 2002:a05:6512:2203:b0:492:e57d:7c24 with SMTP id
 h3-20020a056512220300b00492e57d7c24mr8795828lfu.540.1661942246538; Wed, 31
 Aug 2022 03:37:26 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <20220830214919.53220-23-surenb@google.com>
In-Reply-To: <20220830214919.53220-23-surenb@google.com>
From: Dmitry Vyukov <dvyukov@google.com>
Date: Wed, 31 Aug 2022 12:37:14 +0200
Message-ID: <CACT4Y+ZX3U1=cAPXPhoOy6xrngSCfSmyFagXK-9fWtWWODfsew@mail.gmail.com>
Subject: Re: [RFC PATCH 22/30] Code tagging based fault injection
To: Suren Baghdasaryan <surenb@google.com>
Cc: akpm@linux-foundation.org, kent.overstreet@linux.dev, mhocko@suse.com, 
	vbabka@suse.cz, hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, 
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, 
	void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, 
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, vincent.guittot@linaro.org, 
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, 
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, 
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, 
	elver@google.com, shakeelb@google.com, songmuchun@bytedance.com, 
	arnd@arndb.de, jbaron@akamai.com, rientjes@google.com, minchan@google.com, 
	kaleshsingh@google.com, kernel-team@android.com, linux-mm@kvack.org, 
	iommu@lists.linux.dev, kasan-dev@googlegroups.com, io-uring@vger.kernel.org, 
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

On Tue, 30 Aug 2022 at 23:50, Suren Baghdasaryan <surenb@google.com> wrote:
>
> From: Kent Overstreet <kent.overstreet@linux.dev>
>
> This adds a new fault injection capability, based on code tagging.
>
> To use, simply insert somewhere in your code
>
>   dynamic_fault("fault_class_name")
>
> and check whether it returns true - if so, inject the error.
> For example
>
>   if (dynamic_fault("init"))
>       return -EINVAL;

Hi Suren,

If this is going to be used by mainline kernel, it would be good to
integrate this with fail_nth systematic fault injection:
https://elixir.bootlin.com/linux/latest/source/lib/fault-inject.c#L109

Otherwise these dynamic sites won't be tested by testing systems doing
systematic fault injection testing.


> There's no need to define faults elsewhere, as with
> include/linux/fault-injection.h. Faults show up in debugfs, under
> /sys/kernel/debug/dynamic_faults, and can be selected based on
> file/module/function/line number/class, and enabled permanently, or in
> oneshot mode, or with a specified frequency.
>
> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
> ---
>  include/asm-generic/codetag.lds.h |   3 +-
>  include/linux/dynamic_fault.h     |  79 +++++++
>  include/linux/slab.h              |   3 +-
>  lib/Kconfig.debug                 |   6 +
>  lib/Makefile                      |   2 +
>  lib/dynamic_fault.c               | 372 ++++++++++++++++++++++++++++++
>  6 files changed, 463 insertions(+), 2 deletions(-)
>  create mode 100644 include/linux/dynamic_fault.h
>  create mode 100644 lib/dynamic_fault.c
>
> diff --git a/include/asm-generic/codetag.lds.h b/include/asm-generic/codetag.lds.h
> index 64f536b80380..16fbf74edc3d 100644
> --- a/include/asm-generic/codetag.lds.h
> +++ b/include/asm-generic/codetag.lds.h
> @@ -9,6 +9,7 @@
>         __stop_##_name = .;
>
>  #define CODETAG_SECTIONS()             \
> -       SECTION_WITH_BOUNDARIES(alloc_tags)
> +       SECTION_WITH_BOUNDARIES(alloc_tags)             \
> +       SECTION_WITH_BOUNDARIES(dynamic_fault_tags)
>
>  #endif /* __ASM_GENERIC_CODETAG_LDS_H */
> diff --git a/include/linux/dynamic_fault.h b/include/linux/dynamic_fault.h
> new file mode 100644
> index 000000000000..526a33209e94
> --- /dev/null
> +++ b/include/linux/dynamic_fault.h
> @@ -0,0 +1,79 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#ifndef _LINUX_DYNAMIC_FAULT_H
> +#define _LINUX_DYNAMIC_FAULT_H
> +
> +/*
> + * Dynamic/code tagging fault injection:
> + *
> + * Originally based on the dynamic debug trick of putting types in a special elf
> + * section, then rewritten using code tagging:
> + *
> + * To use, simply insert a call to dynamic_fault("fault_class"), which will
> + * return true if an error should be injected.
> + *
> + * Fault injection sites may be listed and enabled via debugfs, under
> + * /sys/kernel/debug/dynamic_faults.
> + */
> +
> +#ifdef CONFIG_CODETAG_FAULT_INJECTION
> +
> +#include <linux/codetag.h>
> +#include <linux/jump_label.h>
> +
> +#define DFAULT_STATES()                \
> +       x(disabled)             \
> +       x(enabled)              \
> +       x(oneshot)
> +
> +enum dfault_enabled {
> +#define x(n)   DFAULT_##n,
> +       DFAULT_STATES()
> +#undef x
> +};
> +
> +union dfault_state {
> +       struct {
> +               unsigned int            enabled:2;
> +               unsigned int            count:30;
> +       };
> +
> +       struct {
> +               unsigned int            v;
> +       };
> +};
> +
> +struct dfault {
> +       struct codetag          tag;
> +       const char              *class;
> +       unsigned int            frequency;
> +       union dfault_state      state;
> +       struct static_key_false enabled;
> +};
> +
> +bool __dynamic_fault_enabled(struct dfault *df);
> +
> +#define dynamic_fault(_class)                          \
> +({                                                     \
> +       static struct dfault                            \
> +       __used                                          \
> +       __section("dynamic_fault_tags")                 \
> +       __aligned(8) df = {                             \
> +               .tag    = CODE_TAG_INIT,                \
> +               .class  = _class,                       \
> +               .enabled = STATIC_KEY_FALSE_INIT,       \
> +       };                                              \
> +                                                       \
> +       static_key_false(&df.enabled.key) &&            \
> +               __dynamic_fault_enabled(&df);           \
> +})
> +
> +#else
> +
> +#define dynamic_fault(_class)  false
> +
> +#endif /* CODETAG_FAULT_INJECTION */
> +
> +#define memory_fault()         dynamic_fault("memory")
> +
> +#endif /* _LINUX_DYNAMIC_FAULT_H */
> diff --git a/include/linux/slab.h b/include/linux/slab.h
> index 89273be35743..4be5a93ed15a 100644
> --- a/include/linux/slab.h
> +++ b/include/linux/slab.h
> @@ -17,6 +17,7 @@
>  #include <linux/types.h>
>  #include <linux/workqueue.h>
>  #include <linux/percpu-refcount.h>
> +#include <linux/dynamic_fault.h>
>
>
>  /*
> @@ -468,7 +469,7 @@ static inline void slab_tag_dec(const void *ptr) {}
>
>  #define krealloc_hooks(_p, _do_alloc)                                  \
>  ({                                                                     \
> -       void *_res = _do_alloc;                                         \
> +       void *_res = !memory_fault() ? _do_alloc : NULL;                \
>         slab_tag_add(_p, _res);                                         \
>         _res;                                                           \
>  })
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 2790848464f1..b7d03afbc808 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1982,6 +1982,12 @@ config FAULT_INJECTION_STACKTRACE_FILTER
>         help
>           Provide stacktrace filter for fault-injection capabilities
>
> +config CODETAG_FAULT_INJECTION
> +       bool "Code tagging based fault injection"
> +       select CODE_TAGGING
> +       help
> +         Dynamic fault injection based on code tagging
> +
>  config ARCH_HAS_KCOV
>         bool
>         help
> diff --git a/lib/Makefile b/lib/Makefile
> index 99f732156673..489ea000c528 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -231,6 +231,8 @@ obj-$(CONFIG_CODE_TAGGING) += codetag.o
>  obj-$(CONFIG_ALLOC_TAGGING) += alloc_tag.o
>  obj-$(CONFIG_PAGE_ALLOC_TAGGING) += pgalloc_tag.o
>
> +obj-$(CONFIG_CODETAG_FAULT_INJECTION) += dynamic_fault.o
> +
>  lib-$(CONFIG_GENERIC_BUG) += bug.o
>
>  obj-$(CONFIG_HAVE_ARCH_TRACEHOOK) += syscall.o
> diff --git a/lib/dynamic_fault.c b/lib/dynamic_fault.c
> new file mode 100644
> index 000000000000..4c9cd18686be
> --- /dev/null
> +++ b/lib/dynamic_fault.c
> @@ -0,0 +1,372 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +
> +#include <linux/ctype.h>
> +#include <linux/debugfs.h>
> +#include <linux/dynamic_fault.h>
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/seq_buf.h>
> +
> +static struct codetag_type *cttype;
> +
> +bool __dynamic_fault_enabled(struct dfault *df)
> +{
> +       union dfault_state old, new;
> +       unsigned int v = df->state.v;
> +       bool ret;
> +
> +       do {
> +               old.v = new.v = v;
> +
> +               if (new.enabled == DFAULT_disabled)
> +                       return false;
> +
> +               ret = df->frequency
> +                       ? ++new.count >= df->frequency
> +                       : true;
> +               if (ret)
> +                       new.count = 0;
> +               if (ret && new.enabled == DFAULT_oneshot)
> +                       new.enabled = DFAULT_disabled;
> +       } while ((v = cmpxchg(&df->state.v, old.v, new.v)) != old.v);
> +
> +       if (ret)
> +               pr_debug("returned true for %s:%u", df->tag.filename, df->tag.lineno);
> +
> +       return ret;
> +}
> +EXPORT_SYMBOL(__dynamic_fault_enabled);
> +
> +static const char * const dfault_state_strs[] = {
> +#define x(n)   #n,
> +       DFAULT_STATES()
> +#undef x
> +       NULL
> +};
> +
> +static void dynamic_fault_to_text(struct seq_buf *out, struct dfault *df)
> +{
> +       codetag_to_text(out, &df->tag);
> +       seq_buf_printf(out, "class:%s %s \"", df->class,
> +                      dfault_state_strs[df->state.enabled]);
> +}
> +
> +struct dfault_query {
> +       struct codetag_query q;
> +
> +       bool            set_enabled:1;
> +       unsigned int    enabled:2;
> +
> +       bool            set_frequency:1;
> +       unsigned int    frequency;
> +};
> +
> +/*
> + * Search the tables for _dfault's which match the given
> + * `query' and apply the `flags' and `mask' to them.  Tells
> + * the user which dfault's were changed, or whether none
> + * were matched.
> + */
> +static int dfault_change(struct dfault_query *query)
> +{
> +       struct codetag_iterator ct_iter;
> +       struct codetag *ct;
> +       unsigned int nfound = 0;
> +
> +       codetag_lock_module_list(cttype, true);
> +       codetag_init_iter(&ct_iter, cttype);
> +
> +       while ((ct = codetag_next_ct(&ct_iter))) {
> +               struct dfault *df = container_of(ct, struct dfault, tag);
> +
> +               if (!codetag_matches_query(&query->q, ct, ct_iter.cmod, df->class))
> +                       continue;
> +
> +               if (query->set_enabled &&
> +                   query->enabled != df->state.enabled) {
> +                       if (query->enabled != DFAULT_disabled)
> +                               static_key_slow_inc(&df->enabled.key);
> +                       else if (df->state.enabled != DFAULT_disabled)
> +                               static_key_slow_dec(&df->enabled.key);
> +
> +                       df->state.enabled = query->enabled;
> +               }
> +
> +               if (query->set_frequency)
> +                       df->frequency = query->frequency;
> +
> +               pr_debug("changed %s:%d [%s]%s #%d %s",
> +                        df->tag.filename, df->tag.lineno, df->tag.modname,
> +                        df->tag.function, query->q.cur_index,
> +                        dfault_state_strs[df->state.enabled]);
> +
> +               nfound++;
> +       }
> +
> +       pr_debug("dfault: %u matches", nfound);
> +
> +       codetag_lock_module_list(cttype, false);
> +
> +       return nfound ? 0 : -ENOENT;
> +}
> +
> +#define DFAULT_TOKENS()                \
> +       x(disable,      0)      \
> +       x(enable,       0)      \
> +       x(oneshot,      0)      \
> +       x(frequency,    1)
> +
> +enum dfault_token {
> +#define x(name, nr_args)       TOK_##name,
> +       DFAULT_TOKENS()
> +#undef x
> +};
> +
> +static const char * const dfault_token_strs[] = {
> +#define x(name, nr_args)       #name,
> +       DFAULT_TOKENS()
> +#undef x
> +       NULL
> +};
> +
> +static unsigned int dfault_token_nr_args[] = {
> +#define x(name, nr_args)       nr_args,
> +       DFAULT_TOKENS()
> +#undef x
> +};
> +
> +static enum dfault_token str_to_token(const char *word, unsigned int nr_words)
> +{
> +       int tok = match_string(dfault_token_strs, ARRAY_SIZE(dfault_token_strs), word);
> +
> +       if (tok < 0) {
> +               pr_debug("unknown keyword \"%s\"", word);
> +               return tok;
> +       }
> +
> +       if (nr_words < dfault_token_nr_args[tok]) {
> +               pr_debug("insufficient arguments to \"%s\"", word);
> +               return -EINVAL;
> +       }
> +
> +       return tok;
> +}
> +
> +static int dfault_parse_command(struct dfault_query *query,
> +                               enum dfault_token tok,
> +                               char *words[], size_t nr_words)
> +{
> +       unsigned int i = 0;
> +       int ret;
> +
> +       switch (tok) {
> +       case TOK_disable:
> +               query->set_enabled = true;
> +               query->enabled = DFAULT_disabled;
> +               break;
> +       case TOK_enable:
> +               query->set_enabled = true;
> +               query->enabled = DFAULT_enabled;
> +               break;
> +       case TOK_oneshot:
> +               query->set_enabled = true;
> +               query->enabled = DFAULT_oneshot;
> +               break;
> +       case TOK_frequency:
> +               query->set_frequency = 1;
> +               ret = kstrtouint(words[i++], 10, &query->frequency);
> +               if (ret)
> +                       return ret;
> +
> +               if (!query->set_enabled) {
> +                       query->set_enabled = 1;
> +                       query->enabled = DFAULT_enabled;
> +               }
> +               break;
> +       }
> +
> +       return i;
> +}
> +
> +static int dynamic_fault_store(char *buf)
> +{
> +       struct dfault_query query = { NULL };
> +#define MAXWORDS 9
> +       char *tok, *words[MAXWORDS];
> +       int ret, nr_words, i = 0;
> +
> +       buf = codetag_query_parse(&query.q, buf);
> +       if (IS_ERR(buf))
> +               return PTR_ERR(buf);
> +
> +       while ((tok = strsep_no_empty(&buf, " \t\r\n"))) {
> +               if (nr_words == ARRAY_SIZE(words))
> +                       return -EINVAL; /* ran out of words[] before bytes */
> +               words[nr_words++] = tok;
> +       }
> +
> +       while (i < nr_words) {
> +               const char *tok_str = words[i++];
> +               enum dfault_token tok = str_to_token(tok_str, nr_words - i);
> +
> +               if (tok < 0)
> +                       return tok;
> +
> +               ret = dfault_parse_command(&query, tok, words + i, nr_words - i);
> +               if (ret < 0)
> +                       return ret;
> +
> +               i += ret;
> +               BUG_ON(i > nr_words);
> +       }
> +
> +       pr_debug("q->function=\"%s\" q->filename=\"%s\" "
> +                "q->module=\"%s\" q->line=%u-%u\n q->index=%u-%u",
> +                query.q.function, query.q.filename, query.q.module,
> +                query.q.first_line, query.q.last_line,
> +                query.q.first_index, query.q.last_index);
> +
> +       ret = dfault_change(&query);
> +       if (ret < 0)
> +               return ret;
> +
> +       return 0;
> +}
> +
> +struct dfault_iter {
> +       struct codetag_iterator ct_iter;
> +
> +       struct seq_buf          buf;
> +       char                    rawbuf[4096];
> +};
> +
> +static int dfault_open(struct inode *inode, struct file *file)
> +{
> +       struct dfault_iter *iter;
> +
> +       iter = kzalloc(sizeof(*iter), GFP_KERNEL);
> +       if (!iter)
> +               return -ENOMEM;
> +
> +       codetag_lock_module_list(cttype, true);
> +       codetag_init_iter(&iter->ct_iter, cttype);
> +       codetag_lock_module_list(cttype, false);
> +
> +       file->private_data = iter;
> +       seq_buf_init(&iter->buf, iter->rawbuf, sizeof(iter->rawbuf));
> +       return 0;
> +}
> +
> +static int dfault_release(struct inode *inode, struct file *file)
> +{
> +       struct dfault_iter *iter = file->private_data;
> +
> +       kfree(iter);
> +       return 0;
> +}
> +
> +struct user_buf {
> +       char __user             *buf;   /* destination user buffer */
> +       size_t                  size;   /* size of requested read */
> +       ssize_t                 ret;    /* bytes read so far */
> +};
> +
> +static int flush_ubuf(struct user_buf *dst, struct seq_buf *src)
> +{
> +       if (src->len) {
> +               size_t bytes = min_t(size_t, src->len, dst->size);
> +               int err = copy_to_user(dst->buf, src->buffer, bytes);
> +
> +               if (err)
> +                       return err;
> +
> +               dst->ret        += bytes;
> +               dst->buf        += bytes;
> +               dst->size       -= bytes;
> +               src->len        -= bytes;
> +               memmove(src->buffer, src->buffer + bytes, src->len);
> +       }
> +
> +       return 0;
> +}
> +
> +static ssize_t dfault_read(struct file *file, char __user *ubuf,
> +                          size_t size, loff_t *ppos)
> +{
> +       struct dfault_iter *iter = file->private_data;
> +       struct user_buf buf = { .buf = ubuf, .size = size };
> +       struct codetag *ct;
> +       struct dfault *df;
> +       int err;
> +
> +       codetag_lock_module_list(iter->ct_iter.cttype, true);
> +       while (1) {
> +               err = flush_ubuf(&buf, &iter->buf);
> +               if (err || !buf.size)
> +                       break;
> +
> +               ct = codetag_next_ct(&iter->ct_iter);
> +               if (!ct)
> +                       break;
> +
> +               df = container_of(ct, struct dfault, tag);
> +               dynamic_fault_to_text(&iter->buf, df);
> +               seq_buf_putc(&iter->buf, '\n');
> +       }
> +       codetag_lock_module_list(iter->ct_iter.cttype, false);
> +
> +       return err ?: buf.ret;
> +}
> +
> +/*
> + * File_ops->write method for <debugfs>/dynamic_fault/conrol.  Gathers the
> + * command text from userspace, parses and executes it.
> + */
> +static ssize_t dfault_write(struct file *file, const char __user *ubuf,
> +                           size_t len, loff_t *offp)
> +{
> +       char tmpbuf[256];
> +
> +       if (len == 0)
> +               return 0;
> +       /* we don't check *offp -- multiple writes() are allowed */
> +       if (len > sizeof(tmpbuf)-1)
> +               return -E2BIG;
> +       if (copy_from_user(tmpbuf, ubuf, len))
> +               return -EFAULT;
> +       tmpbuf[len] = '\0';
> +       pr_debug("read %zu bytes from userspace", len);
> +
> +       dynamic_fault_store(tmpbuf);
> +
> +       *offp += len;
> +       return len;
> +}
> +
> +static const struct file_operations dfault_ops = {
> +       .owner  = THIS_MODULE,
> +       .open   = dfault_open,
> +       .release = dfault_release,
> +       .read   = dfault_read,
> +       .write  = dfault_write
> +};
> +
> +static int __init dynamic_fault_init(void)
> +{
> +       const struct codetag_type_desc desc = {
> +               .section = "dynamic_fault_tags",
> +               .tag_size = sizeof(struct dfault),
> +       };
> +       struct dentry *debugfs_file;
> +
> +       cttype = codetag_register_type(&desc);
> +       if (IS_ERR_OR_NULL(cttype))
> +               return PTR_ERR(cttype);
> +
> +       debugfs_file = debugfs_create_file("dynamic_faults", 0666, NULL, NULL, &dfault_ops);
> +       if (IS_ERR(debugfs_file))
> +               return PTR_ERR(debugfs_file);
> +
> +       return 0;
> +}
> +module_init(dynamic_fault_init);
> --
> 2.37.2.672.g94769d06f0-goog
>


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 10:40:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 10:40:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395619.635409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTL8f-0004kt-S9; Wed, 31 Aug 2022 10:40:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395619.635409; Wed, 31 Aug 2022 10:40:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTL8f-0004kE-Om; Wed, 31 Aug 2022 10:40:05 +0000
Received: by outflank-mailman (input) for mailman id 395619;
 Wed, 31 Aug 2022 10:40:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fS8T=ZD=citrix.com=prvs=23534f77e=George.Dunlap@srs-se1.protection.inumbo.net>)
 id 1oTL8e-0004T4-NE
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 10:40:04 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43a440d6-2919-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 12:40:03 +0200 (CEST)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Aug 2022 06:39:55 -0400
Received: from PH0PR03MB5669.namprd03.prod.outlook.com (2603:10b6:510:33::16)
 by CH0PR03MB6033.namprd03.prod.outlook.com (2603:10b6:610:bc::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 31 Aug
 2022 10:39:53 +0000
Received: from PH0PR03MB5669.namprd03.prod.outlook.com
 ([fe80::50e5:dec2:1f40:9648]) by PH0PR03MB5669.namprd03.prod.outlook.com
 ([fe80::50e5:dec2:1f40:9648%6]) with mapi id 15.20.5566.021; Wed, 31 Aug 2022
 10:39:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43a440d6-2919-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661942403;
  h=from:to:subject:date:message-id:mime-version;
  bh=RbypfvSe/qwXhW5r8PNd/F0H0nVjEQbWpEmj+ZZBBFk=;
  b=Sy3BsUJLQDwF6hYLHJMV/HUxeE/S+6sgfzIYyyBj6If9bB/BzuuxvLz5
   8lWH7OjnJGKX1TDKMve+OMrDxx+OHPUkRyuW9oANMkvb7EaBDztN7D05W
   vekpubHK3NGlkZnoAcwq5sXEMdT0BOpf//nI4kznq85N8XgdzsOInIBxp
   M=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 79454469
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23: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
 uMok55CPuxlkbk=
IronPort-HdrOrdr: A9a23:HYap7a8woo3FBYjppTZuk+Fbdb1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKRcdcKO7SdC9qBLnhNdICOwqUYtKMzOW3FdAQLsC0WKA+UypJ8SdzJ876U
 4IScEXZ7PN5DNB/KXHCXyDYrMdKa68gcKVbInlr0tFfEVPUeVN/g15AgGUHgldXw9dH6c0E5
 Ka+45uuyegUW5/VLXwOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxYlVS9Vy7tKyx
 mJr+W53NTujxiI8G6T64bh1eUWpDIn8KoCOCW4sLlbFtwrsHfqWG0uYczBgNl/mpDW1L9jqq
 i2n/5nBbU515qZRBDJnTL9nwbnyzog8Hnk1BuRhmbiu9XwQHYgB9NGnp8xSGqs16Kx1OsMqp
 6j8ljpxaa/Nymw6RjV9pzNTVVnh0C0qX0tnaoaiGFeS5IXbPtUoZYE9E1YHZ8cFGaigbpXZt
 VGHYXZ/rJbYFmaZ3fWsi1mx8GtRG06GlODTlIZssKY3jBKlDRyzlcexsYYgnAcnahNPKVs9q
 DBKOBlhbtORsgZYeZ0A/oAW9K+DijXTRfFIAupUCfa/WE8SgLwQrLMkcoIDbuRCeA1JbMJ6e
 r8eUIds3IucETzDsDL1IFX83n2MRSAYQg=
X-IronPort-AV: E=Sophos;i="5.93,277,1654574400"; 
   d="asc'?scan'208";a="79454469"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ACzIFOrmhYvdTKXWXVJEPQL5BhtafBqZ9qIKdKBR2Qo9Tg5DOzYtkkX0ejnspbJayJjKneDM2GOoghHxS/sNqbW/48NqAUfyE2/UVzKtW2n/LA/7kAiNgLyNGKAO/YMtpzeyMH0pp9qbusaYOjrwD4sB/KfLgNXd1Dbhtu9Pf6KUNbAzp5L+G5WSbg3BT+mcVvxDyfT7rch5UIa+UQoHKVhljn5+HYyGxJRWCQXmG0h6K3FVyHAzPjs+Jwlcbn1PykoWV+CQCeUl2rEd+cFVt4yE0SB1/YkBEioIKzNf4LQtIPZ0n98SJWmcrLNs7YukmwntCLVLuLtFhUOY3P/9CQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PAXDigcPKu7nO1L8SUx+9hS7tUwfxKgYboZotJ8hdUo=;
 b=Vq0ylY6qKlLE5mT5ezg0lSb4OC0iBz9DMo8Z4JBu2FgJi4wqfIklLwj5Hkm3GWLUVg/qTHc1LHiz6zyNIXbr+lYYvPQQS8fRm9I6B8jHhN+tTpdSNSV0EAynhyGPsjz4LGTh0skRWBFIltH1V7RJE8MkfiLGaYbzyYns6eVkfLOoiMWh0j3WCYMaf8k1ETHKckp9V3YN3SVcZPC4I6/vsAgQcW/+KLVxa+HDO2hpmu0bpKYJtSbJ52S2UdvUlmEqsXpjQzTn6gwYVNAt9UdaK+6Y7GsL6nHAlwY4kb7zPRE1OVLkeXuuWqNHTVYK8M0ucDvcTWTscIecwiNzQO91Zg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PAXDigcPKu7nO1L8SUx+9hS7tUwfxKgYboZotJ8hdUo=;
 b=a/xuOIaD2uZ+AlLP2c77T+jRwacRGyF7AdTmrWdF0F7gW9NZJn5g+Nm/+skwq4e6EG8N/bou8b8/H3NoKxKx58i7IARu7Kf68cKwYReh+0mhbZoTR8LWqHvSdTqU2qjSvdr/MblnvpIXEE18NURaLV/uKrcRM+pI0PyzfedlKC4=
From: George Dunlap <George.Dunlap@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>, Tamas K Lengyel
	<tamas.k.lengyel@gmail.com>, "intel-xen@intel.com" <intel-xen@intel.com>,
	"daniel.kiper@oracle.com" <daniel.kiper@oracle.com>, Roger Pau Monne
	<roger.pau@citrix.com>, Sergey Dyasli <sergey.dyasli@citrix.com>, Christopher
 Clark <christopher.w.clark@gmail.com>, Rich Persaud <persaur@gmail.com>,
	Kevin Pearson <kevin.pearson@ortmanconsulting.com>, Juergen Gross
	<jgross@suse.com>, =?utf-8?B?UGF1bCBEdXJyYW50wqA=?= <pdurrant@amazon.com>,
	"Ji, John" <john.ji@intel.com>, "edgar.iglesias@xilinx.com"
	<edgar.iglesias@xilinx.com>, "robin.randhawa@arm.com"
	<robin.randhawa@arm.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>, Matt
 Spencer <Matt.Spencer@arm.com>, Stewart Hildebrand
	<Stewart.Hildebrand@dornerworks.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Jeff Kubascik <Jeff.Kubascik@dornerworks.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Rian Quinn <rianquinn@gmail.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>,
	=?utf-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLRG91ZyBHb2xkc3RlaW4=?=
	<cardoe@cardoe.com>, George Dunlap <George.Dunlap@citrix.com>, David
 Woodhouse <dwmw@amazon.co.uk>,
	=?utf-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLQW1pdCBTaGFo?= <amit@infradead.org>,
	=?utf-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLVmFyYWQgR2F1dGFt?=
	<varadgautam@gmail.com>, Brian Woods <brian.woods@xilinx.com>, Robert Townley
	<rob.townley@gmail.com>, Bobby Eshleman <bobby.eshleman@gmail.com>,
	=?utf-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLQ29yZXkgTWlueWFyZA==?=
	<cminyard@mvista.com>, Olivier Lambert <olivier.lambert@vates.fr>, Andrew
 Cooper <Andrew.Cooper3@citrix.com>, Ash Wilding <ash.j.wilding@gmail.com>,
	Rahul Singh <Rahul.Singh@arm.com>, =?utf-8?B?UGlvdHIgS3LDs2w=?=
	<piotr.krol@3mdeb.com>, Brendan Kerrigan <brendank310@gmail.com>, "Thierry
 Laurion (Insurgo)" <insurgo@riseup.net>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Deepthi <deepthi.m@ltts.com>, Scott Davis
	<scottwd@gmail.com>, Ben Boyd <ben@exotanium.io>, Anthony Perard
	<anthony.perard@citrix.com>, Michal Orzel <michal.orzel@arm.com>, Zhiming
 Shen <zshen@exotanium.io>, Xenia Ragiadakou <burzalodowa@gmail.com>, Henry
 Wang <Henry.Wang@arm.com>
Subject: [ANNOUNCE] Call for agenda items for 1 September Community Call @
 1500 UTC
Thread-Topic: [ANNOUNCE] Call for agenda items for 1 September Community Call
 @ 1500 UTC
Thread-Index: AQHYvSYAMes/qULhNUC+MY4JIaI2uw==
Date: Wed, 31 Aug 2022 10:39:52 +0000
Message-ID: <6E458E16-CC67-4D88-90E4-7AE553AE31B3@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 503737b3-3d6f-4c09-cf3f-08da8b3d2365
x-ms-traffictypediagnostic: CH0PR03MB6033:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 C7OXNXQFolyXRphKA2FWjYAukK4b47ViaUuACN20SAk7gQzZZYwdto4/Hi+Y6J4LJo86Hw+AIRF9TvJdp4lKDuginacka45Oas4R1KDJzJOv5ztvyH3ZTpX3bHh0UAL+8YIKdi+gD8ne9DCxDAl/9VXqH7cC7dBx7uTtBw5GArtf7iX3ZXuthww8TzGDoRQBRJ/krMoiyXvgricsH55W4KrMQe/CKLLPZoXj4dBHULA6jIHANcdLiSKAbcjnRs3FAbUuMZgBkGrdYhMlReM9uqhGNB6l93UsDQdx1N4HdkGN2q5TFLWRS9Pldg6eiK0FJlJQe4t9uyJfBnATvPxTGP9Wilv7dSlm2ZN8ayQjI1Hr9LzqcX6LsUQG3VWWW/KI0cVcrWBIHvo/Kfy1/1iA+fuEpdXomfwd1rh5A29dZ3HEYUYLKM6//TpPJrEDPQsGcVtx46U0T50rGsclWJTW+rVW2HhzGfWovQnxnp76IlqeQ0DNaO7ZIkc1gFefX7OWknCNbjQuNY42c5XXJ7Yr2qhxUU1SEWVDA4TaW15aJ5WM0WdaoovinnBw+tddd/Yc/mKPCI6FNVOkIAN29M8hjDnHZvR/vMkGEjFhYZEE//3dmX3GtVGXyf0qw3rdTgcMqQFdt8iWmJaJVaOydCP+0WYkW9bjfkm1j2zV5QS1tCQ1K2K6qdv2QPfZBX8HPB9oKQvXBFI/FWlFiEO5NZeEBhUKVZPBCbksr2RLv0cTNkWAeVAvhaG4RJ56Qf0KjNWCQJFSheb/1hETVrZrFc5AyqkVp1uNW/n5qylA45vak7S3ddjQtX5g+LBncf+xEUZN6mCJskIqxF+yqIYXAUMdrXsJVDAfnBIagpdYQ6tRd06dnWbOc9O9MGEUx9e9PHIQ
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB5669.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(346002)(136003)(39860400002)(396003)(376002)(186003)(6486002)(478600001)(2616005)(83380400001)(966005)(122000001)(2906002)(38100700002)(316002)(99936003)(921005)(36756003)(38070700005)(5660300002)(7416002)(8936002)(82960400001)(7406005)(6512007)(41300700001)(71200400001)(26005)(110136005)(66946007)(66556008)(66476007)(6506007)(8676002)(64756008)(91956017)(76116006)(33656002)(66446008)(86362001)(221023002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R082L3cyYm9yejNaREhKMzdEQmprME82bmpwQUhBUHhHbXBMYVF4bkNKYTJR?=
 =?utf-8?B?R3JmU0pHbGJ5VTIzeTFkb2QxUmZiT0NFZFNWZHNaNGg4OExTWVUxVllPd3dU?=
 =?utf-8?B?aktwUERlczkwcTk4K3YxanlHR0JGdk5oVGt2R2JkYUNuZFhPWjBMNUxVQjQv?=
 =?utf-8?B?NlhRYlgvYzFKMCtvSnFyR3E3MXBHbEsyelpNcFpVYytpdURQelpLMkpEc1hy?=
 =?utf-8?B?WTBkU3RGa3ZPakJNTGFsWFRLYjVXdTJMYVNlcHVUTUcrb3lTNWpld0phR2ZH?=
 =?utf-8?B?ZEdsL2pBUFBlMzNKS2tuN2R0YzhOc2QyNVhjcElHbXhpRjJZbU16d1dqUncv?=
 =?utf-8?B?bVhXUkl0dGRBeENGZFIxVnhUay9hWEltU0xqODM1T1JsT1VteGoxdkpuWUgz?=
 =?utf-8?B?c3ArN082ODl4NmoxUmdxdE5JRG1DRUxPdkxpa0VaTkZGem5lU1lwZURCNWw2?=
 =?utf-8?B?RlRCRVhRYTk0NDBsTjhsMXd5Njl1OGl1aGg3VzNnU0RUSUhpZHVnMDUwUmFz?=
 =?utf-8?B?SG9NdnhaOG1vSVdwM1BlbHMySUZkWVptZmR0Z0pHSmtqTGMrMFVSWEV2cXhj?=
 =?utf-8?B?YW9iRWFwbkpRUHcwS0s5ckhMbitRaDlxWHMzanVGUGl4L2NkVDhERXBONTZy?=
 =?utf-8?B?WEVSZldPeExoVXZNTllUUFR0T0VheUo5TUdwUzNPYW9USjhDQ0JDMjR1SEcv?=
 =?utf-8?B?eGtKTk85RGFuOUxHZEpZKzZ3N2svRzk4QTZFMVMrdGVOcUh6b3JVZzBWVkJL?=
 =?utf-8?B?RXUwRHFtRURRdi83YnVOU3BuVUxmeDI1TjRFTGVsQjd4bWZUMmhiMnBhQjk5?=
 =?utf-8?B?ZmMrMWpzajJvek1aem9SeUswajVweTJ1YVBqTm1sRXJDZnMzTjBxUUFNclkw?=
 =?utf-8?B?clBJeDdLTjFMZ3U3N0REN0hwN0txN2oyL0FHV0NxcmRDRjh1TENiMVQ2OFFr?=
 =?utf-8?B?bU8vWkhCOVdoQ1RGUkc4OUxqN3dnSUZWYno2QW9sbHJyNGgyWko0WWZpamxS?=
 =?utf-8?B?aTNhN2FqZ1gvQXV6SVFka2JobitvN2JZMUJYUFZJbVh2Y2dpUEhxYXozay85?=
 =?utf-8?B?dW5QbkxiQXcvMW90b240NnlDV0U1MUYwMzgwUkJPdnphMTI1UnZ5Ty92QUxs?=
 =?utf-8?B?OHY4SEg0VFNMVzloSFRERUxFZWN2M0x5STc4S3ZYTUw0RzBpN255U3FkL1py?=
 =?utf-8?B?YSswQ0JkS3RPbDBsZERMQjY2c1lYZFNpaXhOdmlHcVJhRGMzWGs2bE9mNFdX?=
 =?utf-8?B?OTlDNjR4VC9tOXpKaHVudU5hSzZQZWtQVVZNM1dFS29Sa0JlZ2syQy9aSTBo?=
 =?utf-8?B?YW9GdUlncVNyZFlZVkRRT05MYUV4WC9WdGorY09NSU1IcjFtcDk3RUJaa1Yr?=
 =?utf-8?B?TEdHNUpWYk5SSWx5NU1QWHJlL3JsblBhZnRXbW5kN2gwV1cxem84T2o1azY0?=
 =?utf-8?B?SHhtcGZiVmxiL0psb1lSRnN6OUV0OENJN0VpWVU1VEJHVzF6QjIvZVZSUGFo?=
 =?utf-8?B?Y1J2QTgrUUo2aS9rZmFmc1pnRnFTSTNqTEUyQ0VSY1dkYUdDZTBpejA1dTBS?=
 =?utf-8?B?ZWVQdVNOSVhnamZ0TkgyVENDVkRRdytPQXBaRmwyaU9kbXNubXUwU2NXN2lp?=
 =?utf-8?B?U3RualpqUlNSZXdVanptWFh1ekFRTjFLa1VjUkorZHIyV1BNVjcvMDdXTkxq?=
 =?utf-8?B?ZXo5TjRtT2F6WWFzbXUrZzdUL3NQMkh4Q2J2emp1VUFhc2F6ZERqcXRhL3Y2?=
 =?utf-8?B?aml3N29LcU1jMFRkOW5IOGlGRWlpajNsTldBZGI2WW9NYU5oSDlZOVp0UzlK?=
 =?utf-8?B?NTNQVGh5aWx0MEpiRWlLSnh1MXRXRW03ZS9zZVhOODVJNHBsUlJDOXI0eVJJ?=
 =?utf-8?B?OFNnQ2U4VmNlMXpsWmorUEF3a0ZoTnBud0dpa0NUak1CdmpwT0J1S3NoQ1ox?=
 =?utf-8?B?cjQ2cUNoY1lxZXFjb3F2SWJ0cUpzSlIyUWxEY1lCdmhwRmNiaU9Na3RlWjlX?=
 =?utf-8?B?RnM5a2NQci8rYXU1K1pqSGVDTis1NnNFa1N0d2xsT1JidUVpc2RiTWpUWXFk?=
 =?utf-8?B?TGJxYUczU1ltdUQ4bnFTMk42ak5MUEZDbkoyYXV5RnBFWFFOQ01JQ0FjeVAv?=
 =?utf-8?B?b1dQeWE2Zit3ZVQ0YllKeHV4eHJldHgxRy9ad0pIcmFFYWd2QXh5ekxRVG1M?=
 =?utf-8?B?Nmc9PQ==?=
Content-Type: multipart/signed;
	boundary="Apple-Mail=_5909A141-7543-4009-AE8A-2AB2E5CB7961";
	protocol="application/pgp-signature";
	micalg=pgp-sha256
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB5669.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 503737b3-3d6f-4c09-cf3f-08da8b3d2365
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 10:39:52.8861
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: S51IwbIa05+F2qzLagdEGsVGo1NyFt1Ht/4jHb4IMZnvmqnzrmjqF9qFkJsPhBCdUyys1aNbOCa86glco/hs2a4wnc/0329fkLRAicCUdkQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6033

--Apple-Mail=_5909A141-7543-4009-AE8A-2AB2E5CB7961
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi all,

Sorry for the slightly short notice on this one.  The proposed agenda is =
in https://cryptpad.fr/pad/#/2/pad/edit/K9haeEkKAwD86Oyyd9CcvsFD/ and =
you can edit to add items.  Alternatively, you can reply to this mail =
directly.

Agenda items appreciated a few days before the call: please put your =
name besides items if you edit the document.

Note the following administrative conventions for the call:
* Unless, agreed in the pervious meeting otherwise, the call is on the =
1st Thursday of each month at 1600 British Time (either GMT or BST)
* I usually send out a meeting reminder a few days before with a =
provisional agenda

* To allow time to switch between meetings, we'll plan on starting the =
agenda at 16:05 sharp.  Aim to join by 16:03 if possible to allocate =
time to sort out technical difficulties &c

* If you want to be CC'ed please add or remove yourself from the =
sign-up-sheet at =
https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/

Best Regards
George



=3D=3D Dial-in Information =3D=3D
## Meeting time
15:00 - 16:00 UTC
Further International meeting times: =
https://www.timeanddate.com/worldclock/meetingdetails.html?year=3D2022&mon=
th=3D09&day=3D1&hour=3D15&min=3D0&sec=3D0&p1=3D1234&p2=3D37&p3=3D224&p4=3D=
179


## Dial in details
Web: https://meet.jit.si/XenProjectCommunityCall

Dial-in info and pin can be found here:

https://meet.jit.si/static/dialInInfo.html?room=3DXenProjectCommunityCall

--Apple-Mail=_5909A141-7543-4009-AE8A-2AB2E5CB7961
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEj3+7SZ4EDefWZFyCshXHp8eEG+0FAmMPOncACgkQshXHp8eE
G+1k1Af9Fw/5e2SlD6Rclb3XKoSbvuHmlqrYYhSruWYU3GAAjUMHBhhoAFDoTHvu
EWAl2CCB7GH14E5HieX3q7Wm8D0tzq8lj2dcwqcHF/UZBtkKQIf98EQB/pFH0mAw
seVSG78omtNyYEI9Bd3TtdP0a8PsQrlq7CstdfsqqKR90AlUz7EYpSyfKXt4GP9f
JT2GAvUSGePjWorPiFJK9hckmp8CB0ebPytUFEztokM4dXJlQg7O36RipMYQUECf
yadyOgKK5i0yzWY+5VBMs3RDSXjVz6NKeOCsueLenIwxpNF7u1fXAgMv6kWyxWYC
xWzhwC1SndsiR9YgJnlAitxI2bQq/Q==
=rPpe
-----END PGP SIGNATURE-----

--Apple-Mail=_5909A141-7543-4009-AE8A-2AB2E5CB7961--


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 10:47:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 10:47:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395633.635420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTLFx-0005wm-Kp; Wed, 31 Aug 2022 10:47:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395633.635420; Wed, 31 Aug 2022 10:47:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTLFx-0005wf-He; Wed, 31 Aug 2022 10:47:37 +0000
Received: by outflank-mailman (input) for mailman id 395633;
 Wed, 31 Aug 2022 10:47:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Wxxh=ZD=suse.com=mhocko@srs-se1.protection.inumbo.net>)
 id 1oTLFw-0005wZ-1w
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 10:47:36 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 526568fa-291a-11ed-a60c-1f1ba7de4fb0;
 Wed, 31 Aug 2022 12:47:34 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 136B61F9EB;
 Wed, 31 Aug 2022 10:47:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DA44113A7C;
 Wed, 31 Aug 2022 10:47:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3HtANUU8D2PVawAAMHmgww
 (envelope-from <mhocko@suse.com>); Wed, 31 Aug 2022 10:47:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 526568fa-291a-11ed-a60c-1f1ba7de4fb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1661942854; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=aUzDVspS6J0BJDe/V//gF5+N5LyMdFoI/5xdVcYfQNM=;
	b=hx3jXnZOgBCn3O0WO5J/LlyY4IiYG5gqZXnpoO+NYEqMohd/U77AF74Flu0p9pljpDRGno
	sMp8XYRkBw5hCVEmHJBlQYPVx0BIUes6WerAjPMj8ahTkMIBlfO+J5Y3xm3LewxX5zGMbB
	lhArCO8EcmvjMet8opjkPdqbWHMxN8I=
Date: Wed, 31 Aug 2022 12:47:32 +0200
From: Michal Hocko <mhocko@suse.com>
To: Mel Gorman <mgorman@suse.de>
Cc: Kent Overstreet <kent.overstreet@linux.dev>,
	Peter Zijlstra <peterz@infradead.org>,
	Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org,
	vbabka@suse.cz, hannes@cmpxchg.org, roman.gushchin@linux.dev,
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com,
	void@manifault.com, juri.lelli@redhat.com, ldufour@linux.ibm.com,
	peterx@redhat.com, david@redhat.com, axboe@kernel.dk,
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org,
	changbin.du@intel.com, ytcoode@gmail.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com,
	vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
	elver@google.com, dvyukov@google.com, shakeelb@google.com,
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
	kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
	kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
Message-ID: <Yw88RFuBgc7yFYxA@dhcp22.suse.cz>
References: <20220830214919.53220-1-surenb@google.com>
 <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
 <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan>
 <20220831101948.f3etturccmp5ovkl@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220831101948.f3etturccmp5ovkl@suse.de>

On Wed 31-08-22 11:19:48, Mel Gorman wrote:
> On Wed, Aug 31, 2022 at 04:42:30AM -0400, Kent Overstreet wrote:
> > On Wed, Aug 31, 2022 at 09:38:27AM +0200, Peter Zijlstra wrote:
> > > On Tue, Aug 30, 2022 at 02:48:49PM -0700, Suren Baghdasaryan wrote:
> > > > ===========================
> > > > Code tagging framework
> > > > ===========================
> > > > Code tag is a structure identifying a specific location in the source code
> > > > which is generated at compile time and can be embedded in an application-
> > > > specific structure. Several applications of code tagging are included in
> > > > this RFC, such as memory allocation tracking, dynamic fault injection,
> > > > latency tracking and improved error code reporting.
> > > > Basically, it takes the old trick of "define a special elf section for
> > > > objects of a given type so that we can iterate over them at runtime" and
> > > > creates a proper library for it.
> > > 
> > > I might be super dense this morning, but what!? I've skimmed through the
> > > set and I don't think I get it.
> > > 
> > > What does this provide that ftrace/kprobes don't already allow?
> > 
> > You're kidding, right?
> 
> It's a valid question. From the description, it main addition that would
> be hard to do with ftrace or probes is catching where an error code is
> returned. A secondary addition would be catching all historical state and
> not just state since the tracing started.
> 
> It's also unclear *who* would enable this. It looks like it would mostly
> have value during the development stage of an embedded platform to track
> kernel memory usage on a per-application basis in an environment where it
> may be difficult to setup tracing and tracking. Would it ever be enabled
> in production? Would a distribution ever enable this? If it's enabled, any
> overhead cannot be disabled/enabled at run or boot time so anyone enabling
> this would carry the cost without never necessarily consuming the data.
> 
> It might be an ease-of-use thing. Gathering the information from traces
> is tricky and would need combining multiple different elements and that
> is development effort but not impossible.
> 
> Whatever asking for an explanation as to why equivalent functionality
> cannot not be created from ftrace/kprobe/eBPF/whatever is reasonable.

Fully agreed and this is especially true for a change this size
77 files changed, 3406 insertions(+), 703 deletions(-)

-- 
Michal Hocko
SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 10:49:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 10:49:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395639.635431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTLHd-0006YM-0Z; Wed, 31 Aug 2022 10:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395639.635431; Wed, 31 Aug 2022 10:49:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTLHc-0006YF-T5; Wed, 31 Aug 2022 10:49:20 +0000
Received: by outflank-mailman (input) for mailman id 395639;
 Wed, 31 Aug 2022 10:49:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTLHb-0006Y5-SA; Wed, 31 Aug 2022 10:49:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTLHb-0004V7-Pa; Wed, 31 Aug 2022 10:49:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTLHb-0002Q6-Eq; Wed, 31 Aug 2022 10:49:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTLHb-0002sH-EN; Wed, 31 Aug 2022 10:49:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nzgDxgl3qRDVFNxwgBKK16Oh1E8uSrYsvndZWmIgrXg=; b=RRqjY0mbc0XiucfaKqj3LSqJlr
	Fh7FjdUjIc6FCaBLc0GNb6oaoTsjG4ixCkT8zCoWyKc9zvb94ZJD1q2UYLn4dMZ6JfQitqz5JVxpW
	l5ocEaE697jBB4yOht8xOljN/HZ7xGpApEmaZHHDAA28wfYgxsB1L2mBLLglHiij59k0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172881-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172881: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=dcf8e5633e2e69ad60b730ab5905608b756a032f
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 10:49:19 +0000

flight 172881 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172881/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      8 reboot           fail in 172873 pass in 172881
 test-armhf-armhf-xl-arndale   8 xen-boot                   fail pass in 172873

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 172873 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 172873 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                dcf8e5633e2e69ad60b730ab5905608b756a032f
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   27 days
Failing since        172152  2022-08-05 04:01:26 Z   26 days   60 attempts
Testing same since   172865  2022-08-30 04:54:06 Z    1 days    3 attempts

------------------------------------------------------------
1589 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 164572 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 11:42:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 11:42:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395649.635441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTM7A-000464-2n; Wed, 31 Aug 2022 11:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395649.635441; Wed, 31 Aug 2022 11:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTM7A-00045x-0C; Wed, 31 Aug 2022 11:42:36 +0000
Received: by outflank-mailman (input) for mailman id 395649;
 Wed, 31 Aug 2022 11:42:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTM78-00045n-Lr; Wed, 31 Aug 2022 11:42:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTM78-0005Qi-Iy; Wed, 31 Aug 2022 11:42:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTM78-00064r-Cg; Wed, 31 Aug 2022 11:42:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTM78-0005sW-CE; Wed, 31 Aug 2022 11:42:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=q7blfxfn8a73qHOPI8NXbEbVh+TzA27jyh4iAyoefYc=; b=1Q0Pf2mt/IQPXgugWWDZkf7CoE
	w9r5wTMfI55CBV/y6Qk8goAQelxYyEjlYr7xAkIzK36bILYTBjBmsMr14I8RhUChFe8v2NjEFacIa
	AZZuO1XdwaApqyPDc02lxfuZULiC6vVuakDIhj2bejoM+HR+TtDqifSKukR2pOfjze8U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172888-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172888: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4b7bd4c591a81a290b31e9d1a94c4b8be787989e
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 11:42:34 +0000

flight 172888 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172888/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4b7bd4c591a81a290b31e9d1a94c4b8be787989e
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   27 days
Failing since        172151  2022-08-05 02:40:28 Z   26 days  211 attempts
Testing same since   172888  2022-08-31 06:13:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jiaxin Wu <jiaxin.wu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Wu, Jiaxin <jiaxin.wu@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1200 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 13:05:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 13:05:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395662.635455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTNOp-0003Zb-4X; Wed, 31 Aug 2022 13:04:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395662.635455; Wed, 31 Aug 2022 13:04:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTNOp-0003ZU-1S; Wed, 31 Aug 2022 13:04:55 +0000
Received: by outflank-mailman (input) for mailman id 395662;
 Wed, 31 Aug 2022 13:04:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTNOo-0003ZK-3p; Wed, 31 Aug 2022 13:04:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTNOn-0006nM-VX; Wed, 31 Aug 2022 13:04:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTNOn-0002a0-JK; Wed, 31 Aug 2022 13:04:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTNOn-0003AM-Is; Wed, 31 Aug 2022 13:04:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eoXmuPQWBCSSx3xtEtSkGL4F/Yy6IqbX+/cI02gmx4c=; b=VJ+p+a/oPOHknd4q2KyNo0oR89
	nM6OJNWjhUxVBS3Gzf/t/Anq8vodhtH+Lnte5WEGqBNZ/CIqz0HQTYMnJU+djsOig3WgIVI954Cqs
	2a/ava5H55XDqZwUBkhnc0d5HF2Vz/tXWwBrFMY3hyX7SA4Cpy3qfwSOHyOwHVFMoHjI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172882-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 172882: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-i386-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:build-arm64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
X-Osstest-Versions-That:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 13:04:53 +0000

flight 172882 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172882/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172861
 build-i386-libvirt            6 libvirt-build                fail  like 172861
 build-arm64-libvirt           6 libvirt-build                fail  like 172861
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172861
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172861
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172861
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172861
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172861
 build-armhf-libvirt           6 libvirt-build                fail  like 172861
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172861
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172861
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172861
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172861
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f
baseline version:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f

Last test of basis   172882  2022-08-31 01:53:15 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:02:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:02:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395673.635467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOIn-00019o-J6; Wed, 31 Aug 2022 14:02:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395673.635467; Wed, 31 Aug 2022 14:02:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOIn-00019h-Fl; Wed, 31 Aug 2022 14:02:45 +0000
Received: by outflank-mailman (input) for mailman id 395673;
 Wed, 31 Aug 2022 14:02:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTOIm-00019X-Ex; Wed, 31 Aug 2022 14:02:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTOIm-0007rW-Ak; Wed, 31 Aug 2022 14:02:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTOIl-0005wK-VT; Wed, 31 Aug 2022 14:02:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTOIl-00051L-Uy; Wed, 31 Aug 2022 14:02:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WxCxrKJvUROFoHYl09AL6qUzy8GF5e3XR8mmbpmT+bw=; b=q8US1Vf3hEOkG+ZfILVxEWogen
	+vDXjG25yAEc8WtbD4U7cqiFCY9n2I+rJtLYPLiLQs96A937MgfnriUlxTbsrHb2zCnedYitviseY
	sjPauFhv3V3AAE4eR80S9OxQpZRj3r4CuIIA4iMwlG2i+Rft+KZkRV+PuRAXIC8ApFKo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172892-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172892: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4b7bd4c591a81a290b31e9d1a94c4b8be787989e
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 14:02:43 +0000

flight 172892 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172892/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4b7bd4c591a81a290b31e9d1a94c4b8be787989e
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   27 days
Failing since        172151  2022-08-05 02:40:28 Z   26 days  212 attempts
Testing same since   172888  2022-08-31 06:13:25 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jiaxin Wu <jiaxin.wu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Wu, Jiaxin <jiaxin.wu@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1200 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395681.635478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR0-0002cN-DK; Wed, 31 Aug 2022 14:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395681.635478; Wed, 31 Aug 2022 14:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR0-0002cG-AP; Wed, 31 Aug 2022 14:11:14 +0000
Received: by outflank-mailman (input) for mailman id 395681;
 Wed, 31 Aug 2022 14:11:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOQy-0002bv-S9
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:13 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2df0da8-2936-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 16:11:10 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBo4GE032537;
 Wed, 31 Aug 2022 14:11:07 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ja427h4rd-7
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:07 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:11:02 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:11:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2df0da8-2936-11ed-934f-f50d60e1c1bd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KvArwocYUmWcgj1cBM8dAwNTv+HzTn8sMGFViPImWj5Q3F9llb6oaaTnAutlo5noBmcc2zKT8IJxaSOZUH7d1S7F772NoVqMbdqcYe64AndKM5cI0Z2Z2fMjIDMXWdIEXEw9mHivEY0hB72qpgZAwpqyf33C/aQy/Cf0OYNeYNOgd3X4NopGuzI6zP4Kn9oB8/WNZzFOUg73SIXqke0doOkDWtn1VXAY7iri2kxnSNb4AjYV6oY+KjySFIHhQwl01mQNCT+3yAVx7bLIO9cuw5SXREBsKXJfvaHtdbLB9ZFZGYY9F1Eu1R8vZdWiLOwkvJdiEJqYFpLkKisFTEBAmw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pKNemWZV2+FfurTu7vJyid03vkZnEYejDqPafwLthYA=;
 b=cPyGpxRKr5BUYR1PXasS2s/HiSxFSR9e9dM1UMDTP1o4OgZ75E0fXwPc68OIxhViChvYjK3MlcZuMgraR+x/sik/L5nuY4rCjUGL/IrFaY5UifPzrk0y38oVUeMlOyrnEcWA2LTWgHK6ITBj/hrrSLGUL+MA/uN2oniAAMStU3xhBOrreQ1SW6/ZjPDhkzj6ZEcrpSpngkP3/Y/AfsllRmSO9TG5Gy9GbBiF4xwVEa6ZAqQsGlDmN1VGt9gOnEfCBcAojPH1gbLuIceFw1eyNtxAD2Ho6IFTPZFlU0mewN+PJg924XA6miKPOuz0yHWx6plrOx3tMAh66z3IgaIcog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pKNemWZV2+FfurTu7vJyid03vkZnEYejDqPafwLthYA=;
 b=DSjUsgDxzTZHhvTRrd+IuueionF9zq4+bW+5mEv/U1mYDZ6zCO/hYNLCyn2CmOsXRGkQhIaqW72keWvWlfMpes74FY2jMQySY7GlKS6o6rm41h75GBUosWwXJ2NqRtAdKAMEkMF1hL87Rcw7Px5AYL/Qli1ltFNnA8eHOrd3vsonxEHCYPq2eEDfv9tF3h1zq98sUu6CevTUs+45ryGM/H1IbGdkWAJektUZ8q6b/108Osl0ExaGn66hUcImtoZfCQQfHeT8IY2xX7YdtlQp6DrUJW9kreEi6FdmXPnZ1m/VRHLUtDwQS9rEE9ecuUqVdt3NngsuHT6zMI1FrU8vfg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Kevin Tian <kevin.tian@intel.com>, Jan
 Beulich <jbeulich@suse.com>,
        Paul Durrant <paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: [RFC PATCH 09/10] [RFC only] xen: iommu: remove last  pcidevs_lock()
 calls in iommu
Thread-Topic: [RFC PATCH 09/10] [RFC only] xen: iommu: remove last
  pcidevs_lock() calls in iommu
Thread-Index: AQHYvUOAlPa0wkGiakOWSGDBM2amAQ==
Date: Wed, 31 Aug 2022 14:11:01 +0000
Message-ID: <20220831141040.13231-10-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9c2ed1f2-79cc-492b-ce23-08da8b5aa2ac
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 QThC1htusAtQAt2B2v9A+fgyL3/E9jsD1gfKXVTHPKPnETix/ezkg2zyQKyCwyFzyhO7zRg1HkQClmhC6APAaxz+68k0DRE6YqhG7HlNnB9EYZOQKgGNoQHAE4jXnsJd9xV4wB8WfQ2w0M2dZrvzg+RCe6rkY1QpLHdo+be0s1CF1e5gSjLvyuArl3abxc5Io+4gLGXVY97OzaOzYNTza/CIn+4XVxNn/qrhlDPwthJaVIm4JGyr7+kl9eOJcGUsNLty0VWbE49nCLqXG4c6ek+x1lg8zKSOm0BuXCRDCWMIz4A8ikUWfYSJt8SoU+mzvvIJ3YXWXtjzGCnyz1B7roapQIOv9jDBRP983/lVOW99SkjOv5pAmK7qdjK1nxojrf7/zDOAWfTC99/hxrjxzGgGCbVvzw9p1fvMsgxgDOUmafz69rsZsriGBhiThKsIvyxs/6Ows6FwMJsd/86H2vFfA5L9nqiJXvpkjFAcRtTbCsk4SN3N6VcDy3wzDsduog/wkdLmXh4BSI+6T/4lbHfktO8t9uaL4m6drBSP5ubTR/tJ4TRxIbjURisNa9UhANcqEzSGQrlyOhFbxBjb9G4gzNn1h7qde0aSXzpG8RUnH46wZNGVXUZDEGcNShDjB0DQhDCvFRlX1B5SufD8MgtpWv5+cehnvsXuiK2WrKNK8WIOD79nsieNbSVs00ExTpuH4gEjXvamddHWsZfUMPUfeD67CcIJqWQguYFVPOCwjGPpsTnRXJTq2zlD6bG01nOSYCnX3PZo7Z+AYe/AsA==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(8936002)(316002)(36756003)(6916009)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?AnJnovz+0KakAiFLK/BUDZ19KFy3tu4nx8ikSrUggWBAkttwdoDYcEUKwf?=
 =?iso-8859-1?Q?mRR9aMB9dgu834OlA/Op4mQ6DplVpEytw+SoBYj71MMiwktj0wJbMBhDdT?=
 =?iso-8859-1?Q?BwmOOpPWCzEXAI8bTqWXjz1ADlNW166jzeyI1hky7AGafynp6XOTLercFf?=
 =?iso-8859-1?Q?eBI3fKRkx82ZevpIHSFFbUuTGeyZOLpXIsmmOYVF1R5SIO+JLyIHldChy7?=
 =?iso-8859-1?Q?CQQxzhm+TuDr/8AiRcZB6/SoTHq3XVClg8TppBGKoRU5zvO8Cs5DIRk2T8?=
 =?iso-8859-1?Q?xOzx2vgeAKiZXJ74JCtMgk1zwg8OeobyjO/0ZWm9Tn+aIlz5KcNYihl3WU?=
 =?iso-8859-1?Q?SsHDBQCXs9OS5TcwNRTJd16MLkXjtRTF/I0rhH9M4/tv8V6yqhmJ1qOGtM?=
 =?iso-8859-1?Q?j36D6jdufKotRsfg6LYj4PswqWQiopbA9kk31IDaqeRbOmnAPffXjdgKCO?=
 =?iso-8859-1?Q?LP1ff/Z9Q1PVACCT5HdJQ4pXo46ZF2JRRARhClxIh80Gdm3OSHBx6brIi+?=
 =?iso-8859-1?Q?UxscfCXBjvka4lt2UyJizYhPclAByEaBjnd93agtc87P9hD9bhhqSMgknV?=
 =?iso-8859-1?Q?9CViVGxTfTqVm96Ln2OXkTbaZz5GChqiVX+OGBQ7VFaWcjy5fyLJ5GBHl7?=
 =?iso-8859-1?Q?WzEYcfnjWipEAb94qtIFU2oH6usSKktNAJhK29sm06cEoL88JrR+OJlTjH?=
 =?iso-8859-1?Q?DmEItfz3pXyp/Wv4ektah63mJxmgMdoZPlaLangct/kTfCY5uAwwiHZ5Sb?=
 =?iso-8859-1?Q?c8k015Vnc/B0+ZK/sD4ySZnfasuDOqGb+/YIHsxFQx6SlE3JdXa21ZhO/X?=
 =?iso-8859-1?Q?n1NnWCJK38ErKXzvR2T4GdtgQS7ZRFeK7f+B0qxM8W073LaOtcdVOAlekq?=
 =?iso-8859-1?Q?+xWzHEdhppVMpEAn90IuEyd8j/HvjnCuMwkQ6FC7FcmAkvxQ2bcx1+HAOW?=
 =?iso-8859-1?Q?fL9N0/8DD+u7OAkgER8XeHaNPZ7Cxyhyq1mAi6U6A6iPZ8ToXD2bL/8zwE?=
 =?iso-8859-1?Q?rhka4Frqu63X8kG9T9d9QQ0iZ0EV7GUg+BEsMfNHHUZaYr5LHjVu74N9DA?=
 =?iso-8859-1?Q?vyuWkj0PS4l70EqBGWGuuapjsW4AjvP/DMrCxF0HhuQWqak2+nVIRVw4v5?=
 =?iso-8859-1?Q?Y+R1PKoNdYwvkzrjw0EQEEuGXzbhpOy1SadIzPCd5UqsITRjeobRhjG4UX?=
 =?iso-8859-1?Q?1Qndwn0EmnXnxKMMCxa7BUilNhnFL/C6pb6UhI1NmEFQ72H1fWqxSTW3w7?=
 =?iso-8859-1?Q?9H9WazTVB2gNc+rHYkT88g4P3ML1L2MD38su72dB+AdvtH2HMm3DRr4rRR?=
 =?iso-8859-1?Q?ctPrbHFnBtlWwmH0eBi9/DifxQHX1pgStR8SpXljNK27fkBOamiD8BVQKg?=
 =?iso-8859-1?Q?97r7wma/hPHQs7QH2P741jt2NCXRkc7UOozk5l3jSj3mxW2khVWR6/IJPV?=
 =?iso-8859-1?Q?kAVPeDjAFRkuEszT5wzDzRZFkqrQC3o0z2Z2iEoqso52y4kC6/Z3plvDTe?=
 =?iso-8859-1?Q?b37vM251IiPTUQTTDiyujGKWuREV+mNCvXcwzsd3t/ziV7w+m08XvCeBwR?=
 =?iso-8859-1?Q?v5KCZp+hsC8DK8SjS+qhdgRcH6jSxGnPtyC3wGXyygbyw8dXGbkkWRCFCw?=
 =?iso-8859-1?Q?dNKfS/+kp7i6sygxYYWB0Rtbo9+CQh13ky0eVR3pR8yoa2zZozghICsw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c2ed1f2-79cc-492b-ce23-08da8b5aa2ac
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:11:01.8272
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: LhNZ1/FbZV+oN13CFD2tj1ETKjJHk48362a7nk3NfOr1ZSmW8GpCCJLaw81vLHhmlEsfJMilNiSIRv2CxAsYgSoR39STmeejK8hbtByA/Qo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: d0beUWY9CpniSbmboyjYlg4wxNcL61o4
X-Proofpoint-ORIG-GUID: d0beUWY9CpniSbmboyjYlg4wxNcL61o4
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0
 clxscore=1015 mlxscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=999 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208310070

There are number of cases where pcidevs_lock() is used to protect
something that is not related to PCI devices per se.

Probably pcidev_lock in these places should be replaced with some
other lock.

This patch is not intended to be merged and is present only to discuss
this use of pcidevs_lock()

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/drivers/passthrough/vtd/intremap.c | 2 --
 xen/drivers/passthrough/vtd/iommu.c    | 5 -----
 xen/drivers/passthrough/x86/iommu.c    | 5 -----
 3 files changed, 12 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrou=
gh/vtd/intremap.c
index 1512e4866b..44e3b72f91 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -893,8 +893,6 @@ int pi_update_irte(const struct pi_desc *pi_desc, const=
 struct pirq *pirq,
=20
     spin_unlock_irq(&desc->lock);
=20
-    ASSERT(pcidevs_locked());
-
     return msi_msg_write_remap_rte(msi_desc, &msi_desc->msg);
=20
  unlock_out:
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/=
vtd/iommu.c
index 87868188b7..9d258d154d 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -127,8 +127,6 @@ static int context_set_domain_id(struct context_entry *=
context,
 {
     unsigned int i;
=20
-    ASSERT(pcidevs_locked());
-
     if ( domid_mapping(iommu) )
     {
         unsigned int nr_dom =3D cap_ndoms(iommu->cap);
@@ -1882,7 +1880,6 @@ int domain_context_unmap_one(
     int iommu_domid, rc, ret;
     bool_t flush_dev_iotlb;
=20
-    ASSERT(pcidevs_locked());
     spin_lock(&iommu->lock);
=20
     maddr =3D bus_to_context_maddr(iommu, bus);
@@ -2601,7 +2598,6 @@ static void __hwdom_init setup_hwdom_rmrr(struct doma=
in *d)
     u16 bdf;
     int ret, i;
=20
-    pcidevs_lock();
     for_each_rmrr_device ( rmrr, bdf, i )
     {
         /*
@@ -2616,7 +2612,6 @@ static void __hwdom_init setup_hwdom_rmrr(struct doma=
in *d)
             dprintk(XENLOG_ERR VTDPREFIX,
                      "IOMMU: mapping reserved region failed\n");
     }
-    pcidevs_unlock();
 }
=20
 static struct iommu_state {
diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/=
x86/iommu.c
index f671b0f2bb..4e94ad15df 100644
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -207,7 +207,6 @@ int iommu_identity_mapping(struct domain *d, p2m_access=
_t p2ma,
     struct identity_map *map;
     struct domain_iommu *hd =3D dom_iommu(d);
=20
-    ASSERT(pcidevs_locked());
     ASSERT(base < end);
=20
     /*
@@ -479,8 +478,6 @@ domid_t iommu_alloc_domid(unsigned long *map)
     static unsigned int start;
     unsigned int idx =3D find_next_zero_bit(map, UINT16_MAX - DOMID_MASK, =
start);
=20
-    ASSERT(pcidevs_locked());
-
     if ( idx >=3D UINT16_MAX - DOMID_MASK )
         idx =3D find_first_zero_bit(map, UINT16_MAX - DOMID_MASK);
     if ( idx >=3D UINT16_MAX - DOMID_MASK )
@@ -495,8 +492,6 @@ domid_t iommu_alloc_domid(unsigned long *map)
=20
 void iommu_free_domid(domid_t domid, unsigned long *map)
 {
-    ASSERT(pcidevs_locked());
-
     if ( domid =3D=3D DOMID_INVALID )
         return;
=20
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395684.635511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR2-0003Mm-Ad; Wed, 31 Aug 2022 14:11:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395684.635511; Wed, 31 Aug 2022 14:11:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR2-0003Ls-79; Wed, 31 Aug 2022 14:11:16 +0000
Received: by outflank-mailman (input) for mailman id 395684;
 Wed, 31 Aug 2022 14:11:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOR0-0002bv-22
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:14 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c45f90ea-2936-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 16:11:12 +0200 (CEST)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBpHD9027047;
 Wed, 31 Aug 2022 14:11:06 GMT
Received: from eur03-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2050.outbound.protection.outlook.com [104.47.9.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3j9huk4eny-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:06 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:10:59 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:10:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c45f90ea-2936-11ed-934f-f50d60e1c1bd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bdBMyeS2bf4dH2whMLT+e6ha5bob7QDdy73srMvsV96EzFJY7BPQu3nmJHxRlu/KbyfMn0usSNSG5J0labn/nn1QvZiRLi1ZtaQCQvGE2ra7A0ASI+uoWiH90Fpz3D3lB0TTzxXbQlYBHSH2bq4z4WoEB3YslP9/SANgUB/U2i8xZh18g7PYX9o3VNIRFBbidYUeR2BZHrLcmhsYhvAU2GGahmMNCS+Nkd6QiPS1VhzfuKBYu7Vso+ga1reWlYaX00wJ6B9dXBbGv8nwmULaO6ulEhGYil02K1uCnmD+ISm1+CwUtjlQoHJbY9aTLWGHpLgO34eKr/tShh29m8FLIg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HNHHS4bFB++CGi9rIFiohdrogbiukdzlPrd3LW3sk80=;
 b=nJaFxHWaZKU7a6IZsKviC84uLMAx8hm5IHwF8IKuoTDBpMYn2+43eqmtJtQ1KzHzqGrNt6DoP7FndkTS3brv4GlvH94Csbj0qH9O7QQ1cfauVuAvJrzMtqGZhnCmkZ2ZvjyXiwTmUD4Txtyudp2snEibnLmO65QupJ1g0avu2mHvHICEsNzVzNvx4SbzC2kx+0WB9eMc2i0u0a3+CEFxCho17qOBWul7eZNFbDVx0j4UX8LaD8eUodr4nxXUEce7wdE2eZv+NdvMcc/5qpswt3tuoh6DnmAuId1KhqvNZ2327woPgG/5b3Trl7TSRTKOUdpTsB6Z0Y3jGamNTlI3Cg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HNHHS4bFB++CGi9rIFiohdrogbiukdzlPrd3LW3sk80=;
 b=l465qaLkIisF9FEXx3dQZMv8eaar7UBwty0sr4KZKF0Ldab0x0/J9l2qGqLRxjPJIu1CUNA3Xum+HmOdfHb7gsPoonZ35vMO9dcKARf0Np74xnfdGShwQSwbMl0XJ0slFhGxDyyQLiIJLge/c9V/BbISUjmReTORMNOa4XgTqZSLP10dTs/oCqFc16xWTnVAm6J8gDGwLJcAEC0uC6HIne9v5/h9Ne3GNS047mrTHLcC6nI2UwrfxCEo9OuK3zoSrNOfAFrUJpJ5KnqXd9+kdD0QsOk8WfjfBo9S+LvTELkvUDU4C9PMpmQiecJs0C69yGSaOOZi6o5Yj7ZHq+wZ0A==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Jan Beulich <jbeulich@suse.com>,
        Andrew
 Cooper <andrew.cooper3@citrix.com>,
        Paul Durrant <paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
        Kevin Tian
	<kevin.tian@intel.com>
Subject: [RFC PATCH 03/10] xen: pci: introduce ats_list_lock
Thread-Topic: [RFC PATCH 03/10] xen: pci: introduce ats_list_lock
Thread-Index: AQHYvUN+A/bxwqt+90CvUR3e9vnmcA==
Date: Wed, 31 Aug 2022 14:10:59 +0000
Message-ID: <20220831141040.13231-4-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4470ba1a-1e34-4fc9-d11d-08da8b5aa144
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 QrEARB3ZrAuRvKT4Hde50oCdoWy9MwJlcb2SEbvL/yTmub1XIoSCNkYC0jgibufZQlVgbHqei+cL+VWCOeJEmrsIJFqv21+HCrtWODfMEz8bFZWPmwLb8OHrOeFMLhNDPPq14wZMRiJ2PKGxHdwd10NmTS0kTRn0DZ584Po9hM1XHp+nqOrYmGQNghG5qgAZf+Q2WX6bUR6E+/k14RTwcJxsuH2pdylCadYDMXszVrc79IJAdSlgoGeqdFkormGl0rX30/fyxKulMkjsA2Aam6dgdSHMms4iKynb+mdZJXt/vKcqaerueg+8RvC2GYUKpTFzOv1Cce+YEk+aKp/hYp3JUF2PR1dfuIYUu8bXmfW7+t1/zCRBQs7bBeg+hRDNuYfcvzBimO2IkT8SIPvIP3jPw0s2BKSF4FyVCXmAZqjgry33JKIeGhzPN0dacrlJSvT8fNWCiTAuoUM6PGiEWi7qFXqzRZx/HCEq9ogPTnbGxH0IVdSTpBraQjiE+x5s8oeXY+onBrZsx+4rvhSTFfex9UigqbGvoiEFi8uVuZ9levsESpsnRPn2tBJkwtit0qP4ZOy1OVlEFJmfD58BQzr+Bc/1GEI7dVCHcDoXRAUjJUtc8AQjH0nrvc/E2apL8YVfVhPwbIZYdNZ8UuOF5HaYQnVp55zANexEmrcoF9jMlKtFPfKwPrQ9z972nCXF991txtcZWLDkW/wDo+fl8SWvjpGH+bv0bu+EdUJuTB8oznQggeRKAQ3ZKWAQEwR7Hfxz0phQMcMdGF8fUcOpng==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(8936002)(316002)(36756003)(6916009)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?0o33FUy0zVvgwCVvxJmkpR6rD/i4n0Tc5fXmR3kTQE/H7adxHwzTuifnca?=
 =?iso-8859-1?Q?KJ8f0YLDTNNEhrc4J7TT6IbHzPwCURRoNVqyJfJwhqvp1+RtG6sZGbtM0j?=
 =?iso-8859-1?Q?u6a+636G2eTiWNtWZOfjVURmp2go/gAjsGfD/b7yg41g4dME6ZvTGEwjSN?=
 =?iso-8859-1?Q?LPS2mHhPYUvNP6FQhKHyEp9rzMZFsYli6a9VMZM2jjG+GSV62eWpAbbhq0?=
 =?iso-8859-1?Q?EtV7gtxgde22yBHtjIuXXml2OimGzz3Fz59s+5h0+leSlOcx1CJWgt8IiR?=
 =?iso-8859-1?Q?yMg39Zjz6IFvcyy9lnEiTBQGQcVLMdN3gr9xiU0fe7vnl1SC4ol/yj32oG?=
 =?iso-8859-1?Q?suN97ThSyMq5FrHV9gZh5MSQnSeHOUAPiXlZQgH/et7BIUi8eikTJLMw8x?=
 =?iso-8859-1?Q?OkA8E2r3RmDcXLJOSvK/6iiL5eVCXGmOqNJokz/iqrtV1GZVHqXhJFtxL9?=
 =?iso-8859-1?Q?dRSd3ZMcHvaywyOvzUvjV34uG+FBt4jhx4vFWwQhw6NWuptEyPdHpNtHfO?=
 =?iso-8859-1?Q?VnV+AOcxmd63VAXeF9wQcJvCOg8vp4GPATRDDagbhkMNNZVlem8x2btp+m?=
 =?iso-8859-1?Q?mJEcfxjk050fnnV5woBfjM71czPjkW4mzbmx9P/nJ3IJzj3VagI9/X1lsK?=
 =?iso-8859-1?Q?zLnM6Yjx7BuCc9rgAw+nuuZh17CVALLfgMMPKV79hLzA3we9Ty2OHjjHaP?=
 =?iso-8859-1?Q?b5oZzTw/wiUEIRcHBkDhgp4UgwAPF6OslVzHbAmcb7yaEwYmRvZhmsEXdS?=
 =?iso-8859-1?Q?MglIOA5ONwrIHj5t6aeDEP/bdrzjt+mk6N5Cdp6DmooRXuoxtLQ8fi3Hc3?=
 =?iso-8859-1?Q?cwNY35MR4fKeAll4M7HnMlNF90aYmEXyxZe4AXgM3WImatspJCzQm4gaZJ?=
 =?iso-8859-1?Q?t6xIUKxY5jcAjmejuvdB0Y85yJrFpnu6/zFFDILGsEBJzNlpbbyKwBrhad?=
 =?iso-8859-1?Q?RdWBfs/dZW/ikQZbZNiYlmZ6O3BYeqBh/FRRCBwWfhSfElRvwU+mRnZ2MI?=
 =?iso-8859-1?Q?e8kjzTMmayi8IR2YSDmPLG7azjHj4/Hnj20mKWumRF70g490Wv36OSoIgC?=
 =?iso-8859-1?Q?Eb+Xy9DHiG93X4wgj4RVoePSrcFuEXEyx38hzz+O8vb68Y/v8qG+/W48sg?=
 =?iso-8859-1?Q?805IR8PruIKHnUkzu4BT7LXhiJfZY7vR7Yx8qXXM+AulLEo+YL8OuHn3c/?=
 =?iso-8859-1?Q?Cg7QbpUONMJ5L5ClJ9SAK3tRoH0o0/e6H659k+XHFbsDkIX53Cz5dilj95?=
 =?iso-8859-1?Q?TenN2kDrVn4YZOmyatq0W4Dstrhp+2Faxqt7EfB/n4dhR7mo7+tWyNu2Dy?=
 =?iso-8859-1?Q?qHfy7mfizZQvhaS5e8ZJTKIaNDcgbjKP8rTk0xNe5Dim3DI/cN9EHDOc+f?=
 =?iso-8859-1?Q?dvoQ5USByT8O/hYuGbeF0UJkrn6vPxcHgG28jEyKPhEuk9RxmmOTgN21oR?=
 =?iso-8859-1?Q?rgogStYsYwJAauahy82a4s0Sx+HuoyoBHsD2z4QSThbUL9Sg3erSbot758?=
 =?iso-8859-1?Q?o8oY0fMu6LFxlwGiw/9iMekSlJ2M44vjDP4CKZ94z7F33QGCbWDLsMjFGW?=
 =?iso-8859-1?Q?bjC1YH0DNi81ab6SQOE+HzH61oXQcndqIOsPN7WVDgxM3RgrLw2wjw9GXP?=
 =?iso-8859-1?Q?BWAYwQQKZ1HS1D2iGSfLU3Nax35Fh+5zQlPqm60HbIFMQUPJVnMsUOBg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4470ba1a-1e34-4fc9-d11d-08da8b5aa144
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:10:59.4680
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8SQbDnJXzFcC+TGh7MPXAff3MbCA/JAYHRg/5PKRriJyNQJFTCo6aaFQH56wvOIWAkCZu+RQUCT/PskOy67qgW9xl/HloThi/qeWGt7Ti8Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: upecQ0VtuA7okT37Z-I5QTk2lr0btmTN
X-Proofpoint-ORIG-GUID: upecQ0VtuA7okT37Z-I5QTk2lr0btmTN
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015
 impostorscore=0 mlxlogscore=999 priorityscore=1501 lowpriorityscore=0
 phishscore=0 suspectscore=0 mlxscore=0 spamscore=0 bulkscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2207270000 definitions=main-2208310070

ATS subsystem has own list of PCI devices. As we are going to remove
global pcidevs_lock() in favor to more granular locking, we need to
ensure that this list is protected somehow. To do this, we need to add
additional lock for each IOMMU, as list to be protected is also part
of IOMMU.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/drivers/passthrough/amd/iommu.h         |  1 +
 xen/drivers/passthrough/amd/iommu_detect.c  |  1 +
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  8 ++++++++
 xen/drivers/passthrough/pci.c               |  1 +
 xen/drivers/passthrough/vtd/iommu.c         | 11 +++++++++++
 xen/drivers/passthrough/vtd/iommu.h         |  1 +
 xen/drivers/passthrough/vtd/qinval.c        |  3 +++
 xen/drivers/passthrough/vtd/x86/ats.c       |  3 +++
 8 files changed, 29 insertions(+)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/=
amd/iommu.h
index 8bc3c35b1b..edd6eb52b3 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -106,6 +106,7 @@ struct amd_iommu {
     int enabled;
=20
     struct list_head ats_devices;
+    spinlock_t ats_list_lock;
 };
=20
 struct ivrs_unity_map {
diff --git a/xen/drivers/passthrough/amd/iommu_detect.c b/xen/drivers/passt=
hrough/amd/iommu_detect.c
index 2317fa6a7d..1d6f4f2168 100644
--- a/xen/drivers/passthrough/amd/iommu_detect.c
+++ b/xen/drivers/passthrough/amd/iommu_detect.c
@@ -160,6 +160,7 @@ int __init amd_iommu_detect_one_acpi(
     }
=20
     spin_lock_init(&iommu->lock);
+    spin_lock_init(&iommu->ats_list_lock);
     INIT_LIST_HEAD(&iommu->ats_devices);
=20
     iommu->seg =3D ivhd_block->pci_segment_group;
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/pass=
through/amd/pci_amd_iommu.c
index 64c016491d..955f3af57a 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -276,7 +276,11 @@ static int __must_check amd_iommu_setup_domain_device(
          !pci_ats_enabled(iommu->seg, bus, pdev->devfn) )
     {
         if ( devfn =3D=3D pdev->devfn )
+	{
+	    spin_lock(&iommu->ats_list_lock);
             enable_ats_device(pdev, &iommu->ats_devices);
+	    spin_unlock(&iommu->ats_list_lock);
+	}
=20
         amd_iommu_flush_iotlb(devfn, pdev, INV_IOMMU_ALL_PAGES_ADDRESS, 0)=
;
     }
@@ -416,7 +420,11 @@ static void amd_iommu_disable_domain_device(const stru=
ct domain *domain,
=20
     if ( pci_ats_device(iommu->seg, bus, pdev->devfn) &&
          pci_ats_enabled(iommu->seg, bus, pdev->devfn) )
+    {
+	spin_lock(&iommu->ats_list_lock);
         disable_ats_device(pdev);
+	spin_unlock(&iommu->ats_list_lock);
+    }
=20
     BUG_ON ( iommu->dev_table.buffer =3D=3D NULL );
     req_id =3D get_dma_requestor_id(iommu->seg, PCI_BDF(bus, devfn));
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 2dfa1c2875..b5db5498a1 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1641,6 +1641,7 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, =
struct pci_dev *pdev)
 {
     pcidevs_lock();
=20
+    /* iommu->ats_list_lock is taken by the caller of this function */
     disable_ats_device(pdev);
=20
     ASSERT(pdev->domain);
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/=
vtd/iommu.c
index fff1442265..42661f22f4 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1281,6 +1281,7 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
     spin_lock_init(&iommu->lock);
     spin_lock_init(&iommu->register_lock);
     spin_lock_init(&iommu->intremap.lock);
+    spin_lock_init(&iommu->ats_list_lock);
=20
     iommu->drhd =3D drhd;
     drhd->iommu =3D iommu;
@@ -1769,7 +1770,11 @@ static int domain_context_mapping(struct domain *dom=
ain, u8 devfn,
         if ( ret > 0 )
             ret =3D 0;
         if ( !ret && devfn =3D=3D pdev->devfn && ats_device(pdev, drhd) > =
0 )
+        {
+            spin_lock(&drhd->iommu->ats_list_lock);
             enable_ats_device(pdev, &drhd->iommu->ats_devices);
+            spin_unlock(&drhd->iommu->ats_list_lock);
+        }
=20
         break;
=20
@@ -1977,7 +1982,11 @@ static const struct acpi_drhd_unit *domain_context_u=
nmap(
                    domain, &PCI_SBDF(seg, bus, devfn));
         ret =3D domain_context_unmap_one(domain, iommu, bus, devfn);
         if ( !ret && devfn =3D=3D pdev->devfn && ats_device(pdev, drhd) > =
0 )
+        {
+            spin_lock(&iommu->ats_list_lock);
             disable_ats_device(pdev);
+            spin_unlock(&iommu->ats_list_lock);
+        }
=20
         break;
=20
@@ -2374,7 +2383,9 @@ static int cf_check intel_iommu_enable_device(struct =
pci_dev *pdev)
     if ( ret <=3D 0 )
         return ret;
=20
+    spin_lock(&drhd->iommu->ats_list_lock);
     ret =3D enable_ats_device(pdev, &drhd->iommu->ats_devices);
+    spin_unlock(&drhd->iommu->ats_list_lock);
=20
     return ret >=3D 0 ? 0 : ret;
 }
diff --git a/xen/drivers/passthrough/vtd/iommu.h b/xen/drivers/passthrough/=
vtd/iommu.h
index 78aa8a96f5..2a7a4c1b58 100644
--- a/xen/drivers/passthrough/vtd/iommu.h
+++ b/xen/drivers/passthrough/vtd/iommu.h
@@ -506,6 +506,7 @@ struct vtd_iommu {
     } flush;
=20
     struct list_head ats_devices;
+    spinlock_t ats_list_lock;
     unsigned long *pseudo_domid_map; /* "pseudo" domain id bitmap */
     unsigned long *domid_bitmap;  /* domain id bitmap */
     domid_t *domid_map;           /* domain id mapping array */
diff --git a/xen/drivers/passthrough/vtd/qinval.c b/xen/drivers/passthrough=
/vtd/qinval.c
index 4f9ad136b9..6e876348db 100644
--- a/xen/drivers/passthrough/vtd/qinval.c
+++ b/xen/drivers/passthrough/vtd/qinval.c
@@ -238,7 +238,10 @@ static int __must_check dev_invalidate_sync(struct vtd=
_iommu *iommu,
         if ( d =3D=3D NULL )
             return rc;
=20
+	spin_lock(&iommu->ats_list_lock);
         iommu_dev_iotlb_flush_timeout(d, pdev);
+	spin_unlock(&iommu->ats_list_lock);
+
         rcu_unlock_domain(d);
     }
     else if ( rc =3D=3D -ETIMEDOUT )
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthroug=
h/vtd/x86/ats.c
index 04d702b1d6..55e991183b 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/x86/ats.c
@@ -117,6 +117,7 @@ int dev_invalidate_iotlb(struct vtd_iommu *iommu, u16 d=
id,
     if ( !ecap_dev_iotlb(iommu->ecap) )
         return ret;
=20
+    spin_lock(&iommu->ats_list_lock);
     list_for_each_entry_safe( pdev, temp, &iommu->ats_devices, ats.list )
     {
         bool_t sbit;
@@ -155,12 +156,14 @@ int dev_invalidate_iotlb(struct vtd_iommu *iommu, u16=
 did,
             break;
         default:
             dprintk(XENLOG_WARNING VTDPREFIX, "invalid vt-d flush type\n")=
;
+	    spin_unlock(&iommu->ats_list_lock);
             return -EOPNOTSUPP;
         }
=20
         if ( !ret )
             ret =3D rc;
     }
+    spin_unlock(&iommu->ats_list_lock);
=20
     return ret;
 }
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395685.635522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR3-0003eP-MX; Wed, 31 Aug 2022 14:11:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395685.635522; Wed, 31 Aug 2022 14:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR3-0003eC-J3; Wed, 31 Aug 2022 14:11:17 +0000
Received: by outflank-mailman (input) for mailman id 395685;
 Wed, 31 Aug 2022 14:11:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOR2-0002bv-GY
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:16 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5e52b94-2936-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 16:11:15 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBo4G7032537;
 Wed, 31 Aug 2022 14:11:02 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ja427h4rd-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:02 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:10:58 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:10:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5e52b94-2936-11ed-934f-f50d60e1c1bd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UHLzhARZ3j7+xnnsuQFIQQN+n+ZdvTlTzOu9zEs1/N2OtZB3taJ8vePbWuUdYVtr4O4Y3H4Ay5llADx5z/p6kAyLs0fFTlXiom32AZdLtW+iBx7qL69qwv7nkb8A93JYYWL5vWiebif56fb/qLCrUpgEKysCHshF4TRxOcl8Ze9SCrjuln5mcr6Loqdk1QBHj9gs9Gs8ajCefYibMDEmyrjAfPZm19iSnsUstFq0L054gnKvICE1qku6pZmMhdPH5y0UE0tVsz6T+qDWmTf99mpgPVw2lwyVjwTdVQNZIUEncGyKxBi8HahKw85oRd0/qgV1+T5mjl8i+obwzB4xRA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v4xC1JfZlgWk3CJQOkTA5B8aIbW9nZkyrpRTyJGvH5Y=;
 b=myd6bQ0jSdM7chfuDzz9+bApsfrbDgaZ5jIWOHFYOyNdd9d9tmN3zmsXN+gjz2kqUQiwEVT5HnEPmrvQH9UUn3JqfyiLLsWRPm2I5aPcj8pNNtbTCE92bPsAa8HH5TjOqmsBaZTg1etDYvgXjCFX+LSkln8M9n/NMa0GX0TcV45ictd61Femn5hlluTZrIpAmC8NTFew+2KO2S1Op75ZDSBeObMwr6EnTXdOEHaBBhZx7XW8XOdo0EWvGEL1pU0/+eKIgncSaeNKxoqAKrc5oIUw4FcL47pEgGHpj1FdhjE+mhFQLwBJ7GP+wIQMMOS9+BUtk5ZLjCcGHgR47gXJdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v4xC1JfZlgWk3CJQOkTA5B8aIbW9nZkyrpRTyJGvH5Y=;
 b=hBWuGgt4QJbE63nR2ExllpGU1pnlXSepWtusAR55nBtnPF99ZnkTA4D+KuVzN2wLdfraqZIjbSNi2Xt17VmwKO8RSn6XSa/9BCmH+/rljYQsdf2KrKjchd6LQKFqdDjxdu2zB6taw3GzrobnyM8gz8uNe3ImRrDrX4K7OvQxEcWRsWkPuHPq4Nl4/ZSa/y2F3dVbtYd6y/MZRQwGJMh+s9AI8M0hznKpNE06CuBfPCk5BS2FdRw0PwN879nqumFsMJyIZ58xSR9TviuSQIej5QVPfyDobZyNCuJoOULxSC4zPZ2mN6WIqMnbTjm3rIjpQt/p8aiUHFNbkYXRnbZH1Q==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
        Paul Durrant
	<paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
        Kevin Tian <kevin.tian@intel.com>
Subject: [RFC PATCH 00/10] Rework PCI locking
Thread-Topic: [RFC PATCH 00/10] Rework PCI locking
Thread-Index: AQHYvUN+anJUcYxp10mJv57QVAD0ow==
Date: Wed, 31 Aug 2022 14:10:58 +0000
Message-ID: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0afc25ac-49bb-4a9f-b3ec-08da8b5aa0a2
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 U+qbdwdeFf5DoZztrJDFvZYAyoR2nTYBJ0W//lX57GCVg8VpicbvIDMxMjCg5Jvn0Uw6GHfnjWOiq1fgsAZJJHDqigChT+S/z+2swnHHrWGdnHj7qxySJGAoIYfTZHE3K6EKGY1l3Ub7YdRXRSqPJ416SIgoIu4Y+HzfstmrDcDlgqDq0NMEt8t9oZjxC/mC3Ei59HU30ufjWf91AxJ17UziYlSrzhP0M14+RaLzTB6vdfXZkEj3x8SWMcD7Fzf//rzIz37Ewvrixyu2cJtqQgg6D0a7enB605G9pwK5ue/rw6/ZtEBHOJAPGMGI58YbWa5B/gX0g+yVSv81D5kUk2wr9fuZdOthwmetpx6Xae6rQhOjoCEL9G1F907IXRkKyF4Q+cFmYND/MbolALz/sakcckX6Soaxmfp3TCOgRVMofHfvkBaMRgPeliuVnsWdvmJ4H1EWBxtqo7lPUkqejfDNZV0IqN3aoaJ0mBUaRduhRa/Ilr5FNtA9vRucEyDHpDSJEtVxER9IhiZoTeL0DmDc9FGVHm0IiPeo+gihcQ7PF+bqg0bGSig3pQsH8zsSpv5vj4/G21vBPcR6+WfsZu95ZEj/kYXTAZJRnwtAh5n5vhLHx6+PNDky1WUZp/A/EnT+vrJOZuGgMahRaTtK1bCvbc5AiM87u3c8gt1Y0JNuOyvfZVdKP2wWbGt6vaZPfvaR5Gl1vu+mLDsSGynsi9xDbL7JPxTQRfRH+fdRxS7DNw+nWAWH+4h3UhLBl2AZH4KYEvOq8MWPKJcEc/nmbw==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(7416002)(8936002)(316002)(36756003)(6916009)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?ng/KlPWBkb4GXVaiVk6BldJXFuEqDgbMn6QKEmXgR4jV36j8nUB1aJlRLB?=
 =?iso-8859-1?Q?1LMVIrw+TwxosRNOGBkJsUor1+L0BvRyPE/C49v0q6oWxgx7PidOlN2iPC?=
 =?iso-8859-1?Q?PJkOY9hGDd7AMg9ghgma4dIiepNS7miG7OL1Xi5sLmJMk2euHkf6ut8PAm?=
 =?iso-8859-1?Q?+2tr9/nBJVH2uMJlzGyE3lF6sEMt0PlVAio5DQDr9zje3sKoHexjNGOJmA?=
 =?iso-8859-1?Q?mXOQY0tNg70zSOveBA8rr91nOszkTAOCBOrN/iScGspjEkCvmYUjD/7yUl?=
 =?iso-8859-1?Q?nXmMBAqfmNrVUeiRihNV0mPOlcnjkpTYL5QZe6o1dmaxTopP0cOmXTHdUt?=
 =?iso-8859-1?Q?DtcldVE4R6X/zsEpC7cA667qZ2Zi4eXa2q2LnGWvh2kSpWa3C20eO1x1H5?=
 =?iso-8859-1?Q?fqMoQOKROsSg1wOfGWoNu+Gn++KUtMTEIcoDnCwD9ZkcdMUzm3jgAzJShi?=
 =?iso-8859-1?Q?vhuA9JmPh5bJa1kVw8Wi4Ea7bW6rFdsfv1FETItTwt7KWE4ISZjs7mz/Vo?=
 =?iso-8859-1?Q?Ji1zShNXv7Azj6OryHy9t4ZFT25JCAQMKJkR8pzesxuIyf94lOaemkZzvf?=
 =?iso-8859-1?Q?JSOmBbAS2DjlIEVpHgZ8MaGLBmQZrELwuveOSNx8QvLgSCb/UyXxnQbS6d?=
 =?iso-8859-1?Q?/0gAafrZb0IriCq6FtQsV1Hcy4zY34Hfh1JZoj+vZhdGDG2BUYSo9BP+nT?=
 =?iso-8859-1?Q?6V71UlTNEodJ7cNxzRku6AhbCbjk50CJpqjTuQ78a2O7FrQGAdgYvE9kFU?=
 =?iso-8859-1?Q?YGRMxbnWYJJAcp44ORc2YGjM1KWWs7Opofo39UHeP4BIx5hjgQ3TohzuDN?=
 =?iso-8859-1?Q?My0WsovYWj4CRzDroj6NsOCM+JSZ/hSSKsHNp6q/KaAMi27QlMtU0HdVF5?=
 =?iso-8859-1?Q?qmGnBnZzuTbJy+aRq6BHNCpSNSS3UdCW0tDUFC7CjZOUDmJw81h3rCk8ON?=
 =?iso-8859-1?Q?039qJKDrgxewFsvQ46Dfr2ql2nq8MY7TsaheMoL378v6XcltWHjN5zTWBA?=
 =?iso-8859-1?Q?73py/NP9kJFI4tcdO84NtwNHcpgNeh5/FTIH4hg8g6EXcpGbI0c0CrXqsr?=
 =?iso-8859-1?Q?J3bBmRtN5NujQO0QX0bHmKGPnqKGRw8LhAeb/35uprLtHrUekH1G/sS8TK?=
 =?iso-8859-1?Q?I/lKCCF1qZwMxAA6+XtEg3dK2f5F0GdJEI7jV9kZgvbxtRrdczx1pJ57yS?=
 =?iso-8859-1?Q?68tvFy26P4SIzKzpVjoCz5AUzTQrSmD1IZGG5LXfkiFynp0zjoWogL2cVW?=
 =?iso-8859-1?Q?6V1Y/NNqBBwPJ0T9QwRCx0/k+uPaff5uHI/SvsOBKw04XMogAZnhZPBbOX?=
 =?iso-8859-1?Q?T8EaA8dzljf+siCkDJvcT+ZxZ3ei2dacGkhczYEzbug5cybj6EE9Cx/rWO?=
 =?iso-8859-1?Q?F5/d7/xc0go2tdINwl0v0gHO7JziHrzc0BCmDg/9tyPmtb8bZHET11r6aq?=
 =?iso-8859-1?Q?tt+Cmn7Rs1o7+rl40K3coH17RU4DbfyFDOWof2B+k3TCHQ6FuEtwswBfPY?=
 =?iso-8859-1?Q?g8tUkPbnrFBu5TyOGdcrL+7CPmrsiNi3+H0Sry9uNS2Yhyf/XQuzvVAmqW?=
 =?iso-8859-1?Q?8u/TMLHxSqN/1Cm7lybCuLQSbwpkM539WreODX/hPm/YYnN4OsgDNznz08?=
 =?iso-8859-1?Q?08F2n7pFmwMtUdbC2BjebvYTUVofo9eYixQ/w7dgsJJ/WbcIQvKT+/+g?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0afc25ac-49bb-4a9f-b3ec-08da8b5aa0a2
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:10:58.4525
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YZQ4LqA+0F0nibU6tU8cbORDaFcSnAWWwj48/L6CGahpAdH21oobVVw0a9o/chrbl5TAgnxtwx8mVsiZXMkRtROtjrLL2oySc78Ti2kbI7Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: cx3ljss_nboiaWyYXt1L8ZGTFtwhV7Rh
X-Proofpoint-ORIG-GUID: cx3ljss_nboiaWyYXt1L8ZGTFtwhV7Rh
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0
 clxscore=1011 mlxscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=698 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208310070

Hello,

This is yet another take to a PCI locking rework. This approach
was suggest by Jan Beulich who proposed to use a reference
counter to control lifetime of pci_dev objects.

When I started added reference counting it quickly became clear
that this approach can provide more granular locking insted of
huge pcidevs_lock() which is used right now. I studied how this
lock used and what it protects. And found the following:

0. Comment in pci.h states the following:

 153 /*
 154  * The pcidevs_lock protect alldevs_list, and the assignment for the
 155  * devices, it also sync the access to the msi capability that is not
 156  * interrupt handling related (the mask bit register).
 157  */

But in reality it does much more. Here is what I found:

1. Lifetime of pci_dev struct

2. Access to pseg->alldevs_list

3. Access to domain->pdev_list

4. Access to iommu->ats_list

5. Access to MSI capability

6. Some obsucure stuff in IOMMU drivers: there are places that
are guarded by pcidevs_lock() but it seems that nothing
PCI-related happens there.

7. Something that I probably overlooked

Anyways, I tried to get rid of global mighty pcidevs_lock() by
reworking items 1-5.

This patch series does exactly this: adds separate lock for each
of the lists, lock for struct pci_dev itself, adds reference
counting, then removes pcidevs_lock() entirely. I do understand
that I should not remove locks when there are locking fixes for
items 6-7. But this is why it is an RFC. I want to discuss if my
approach is legit and get some guidance from maintainers on what
should be done in addition to the presented changes.


Volodymyr Babchuk (10):
  xen: pci: add per-domain pci list lock
  xen: pci: add pci_seg->alldevs_lock
  xen: pci: introduce ats_list_lock
  xen: add reference counter support
  xen: pci: introduce reference counting for pdev
  xen: pci: print reference counter when dumping pci_devs
  xen: pci: add per-device locking
  xen: pci: remove pcidev_[un]lock[ed] calls
  [RFC only] xen: iommu: remove last  pcidevs_lock() calls in iommu
  [RFC only] xen: pci: remove pcidev_lock() function

 xen/arch/x86/domctl.c                       |   8 -
 xen/arch/x86/hvm/vioapic.c                  |   2 -
 xen/arch/x86/hvm/vmsi.c                     |  20 +-
 xen/arch/x86/irq.c                          |  11 +-
 xen/arch/x86/msi.c                          |  68 ++++-
 xen/arch/x86/pci.c                          |   8 +-
 xen/arch/x86/physdev.c                      |  24 +-
 xen/common/domain.c                         |   1 +
 xen/common/sysctl.c                         |   7 +-
 xen/drivers/char/ns16550.c                  |   4 -
 xen/drivers/passthrough/amd/iommu.h         |   1 +
 xen/drivers/passthrough/amd/iommu_cmd.c     |   4 +-
 xen/drivers/passthrough/amd/iommu_detect.c  |   1 +
 xen/drivers/passthrough/amd/iommu_init.c    |  19 +-
 xen/drivers/passthrough/amd/iommu_map.c     |  11 +-
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  19 +-
 xen/drivers/passthrough/msi.c               |   8 +-
 xen/drivers/passthrough/pci.c               | 267 +++++++++++---------
 xen/drivers/passthrough/vtd/intremap.c      |   2 -
 xen/drivers/passthrough/vtd/iommu.c         |  33 +--
 xen/drivers/passthrough/vtd/iommu.h         |   1 +
 xen/drivers/passthrough/vtd/qinval.c        |   3 +
 xen/drivers/passthrough/vtd/quirks.c        |   2 +
 xen/drivers/passthrough/vtd/x86/ats.c       |   3 +
 xen/drivers/passthrough/x86/iommu.c         |   5 -
 xen/drivers/video/vga.c                     |  12 +-
 xen/drivers/vpci/header.c                   |   3 +
 xen/drivers/vpci/msi.c                      |   7 +-
 xen/drivers/vpci/vpci.c                     |  10 +-
 xen/include/xen/pci.h                       |  36 ++-
 xen/include/xen/refcnt.h                    |  28 ++
 xen/include/xen/sched.h                     |   1 +
 32 files changed, 380 insertions(+), 249 deletions(-)
 create mode 100644 xen/include/xen/refcnt.h

--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395686.635533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR5-0003v9-1Y; Wed, 31 Aug 2022 14:11:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395686.635533; Wed, 31 Aug 2022 14:11:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR4-0003uZ-RA; Wed, 31 Aug 2022 14:11:18 +0000
Received: by outflank-mailman (input) for mailman id 395686;
 Wed, 31 Aug 2022 14:11:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOR3-0002bw-LK
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:17 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6347058-2936-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 16:11:15 +0200 (CEST)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBpHDA027047;
 Wed, 31 Aug 2022 14:11:07 GMT
Received: from eur03-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2050.outbound.protection.outlook.com [104.47.9.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3j9huk4eny-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:07 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:11:01 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:11:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6347058-2936-11ed-82f2-63bd783d45fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h4KV915eBKmPv6X9qhSpCZKtA7uIzlw5te+xYV8nGdVQB2hOLb9O36P43Bzr6P1xMn/os2hkQkVeFdtbvuWJmMvjeFQWh20gBKWZxPM1aiCc2VJe09OS2dqxjtk5SG7omJC3JWb37eIWR9qL+lwk2on+Ek1MhS+hgPSXFXplL7NUqra9E9GQNojd/zFuJnC7V6iWIK1B7WCZoE1Zskl2AtNfFcezUa22w2RPrCcXFXnFP0krbQ6EojsKgujDAKmgZBgIUIPR8736+ByAdxnHozmtGiRgKqkcBsfmBChPsFdVHUWWcJOHLewHDHNTB4wjOBd33M00oF+bQRQnItSGRA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yrA6DJoAo0xAR2GhIIjbwMHD+Xks+V3rsePQNzQTzjY=;
 b=mI9Cdiz4OPqEhyMisWELZYRfBGE1HbNL4dYo1RK2heqyZkWwGhSupCxMYbkLs0tC50yvzpC1hfWg0wc5doOAZaIPhi/uuf7R9qktQrbSLWfFdqfnY9czIEkZL/MEbVd0qs/JBoFPegdgaxAxp3PLv7xI8Jq6Snf8siALI6Ck0YiuttRXZoMfXOPqLZiTqmMYTTX7NaEYVplBgdYookjTnF4lOklL5+2GMZND9KKKTipiuhxlQ0xj4mlvRdJKAbKmq5HnMJa2iZdo0RP7CLfVvuR4Vu9KWVEd6w4uVox+FnPXn5UkOC7/9Vm1jsQKbvH11UBDTQ6oChVPqai2LGMqTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yrA6DJoAo0xAR2GhIIjbwMHD+Xks+V3rsePQNzQTzjY=;
 b=KEzOEEs/eB4HJf5mOcA6dF4hDdzacwbh4cA/8+EtU3Y1E+gHT5jViiwB+9BAaNxBfBI7KdDodhrH6ygpGzmSqWrYr1vA4qXDv7I6nuJZFrIjtvnPd1tReAKlLWY6bDoi+i7BVQkpvLg1HmqkUMiyr1HD5afO13tXFQQnew7HYBkJgL/Y6ZexLdcCy88hQSB6GFkBRd7KwK4DG9dip4m93EhoVL1OQB9cDFukKKHyFUa5xEfZ7q1t1yK6cWPHcz2AChqtXOu3z0cow9Cc08s/ULEmamY4Zdz/Zw4oR4IJpuu117J6biEz52IXAUmJL8DG5C4DrKQQGy5ECMNX4VXGSQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Jan Beulich <jbeulich@suse.com>,
        Andrew
 Cooper <andrew.cooper3@citrix.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>,
        Julien Grall <julien@xen.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Paul Durrant <paul@xen.org>
Subject: [RFC PATCH 07/10] xen: pci: add per-device locking
Thread-Topic: [RFC PATCH 07/10] xen: pci: add per-device locking
Thread-Index: AQHYvUN/+u7dK30KdkO8lqgvo0jPyQ==
Date: Wed, 31 Aug 2022 14:11:01 +0000
Message-ID: <20220831141040.13231-8-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 43a02f0f-3cb0-494a-9a8c-08da8b5aa235
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 ypmqomZ9oE1BH1RluJkJFv9w9ikf4j1BR/1mbksiztkZak2o2tlEtGtO//s2Rx3CNEgzgTEsGxBfHKP0D5noRZ/QjS2VybdxFMgsk0ViSQkx6Pc4B0thlTyq79gYMvObmvW6di3/CvMMd5d9hK3WLHAoXYDeboM/TTArKk5vmL+py++pJjSSGdtLIbFkK2UZS4TqIqPLStbpDjDsVYsoqd73v7N6p+PykaITyWrxMMH30eXe1fvkcVU1Zzz4SErSfwht9e2C8hBPR0yrgADrclu+zKIwBGttmELAJdwWlL+lBbuOZDU2sLd2IEDPsKHuE1opLwBIjwh4ArUqA0MtRerRug6Vq5WypgMk3C3tLTb37BG2y1Evv84ZwbyShySkpSVOQTrfc3czpEInP2SeFgjLJl5gCcd2/FlqiqIKFO2h8h5Gb75K2BLPv6G173qATPC/mNzd3XP6t5JeihAhqZPSNg5Y1h2wky831Pardk/aezyQO6pK2Lw9c3ehw+tIiS93LzNyqu+hiEesh4PEAS6qYE8G8piQHq1cNf0N75bi57gv1ElsgDGLmLBPRcqI+3/tjSaycvTvH77yqjp2+GYYqCmbsNXxubgDMSHK24pnHZXI49/KPdXNqeEhafHsZ0wjJI0eTNXKnz85DkytIOOQ0Jel9VQk9pR2JBKNF7/43J+vZbOVA4fFm2+bF7YvHTm2zT2VGUIBmlUxH8sOYBopmEOuUvcGtNRKPvRtOIrt4GeRYILlrewls4G6mo8Cej85PGtzuoi5/HQiFhlvkQ==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(8936002)(316002)(36756003)(6916009)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?LFDZxt1POjjo7aKVoH+jtGNIfduiQp1kN0XIqFKnBQQGCgfnuzwoMjoaVR?=
 =?iso-8859-1?Q?sxtiPcmz/qHENmdoQnPV4Fsh9JXfhBrwobtZ9WqX/HCNEjw+4wM0L1p/Gf?=
 =?iso-8859-1?Q?/UCpX+6UmbJxRcZgKRT59/ga4ofyUWAPJzEdQf+Ldl8d83obNyOWtfPaRA?=
 =?iso-8859-1?Q?/gvNXo9VgAmrUWsap0+iMVC9NHkIovrCbW9sAlcjbjhOZGaz1WhE62FH9S?=
 =?iso-8859-1?Q?PK61ZRlD8eIhaAI0l+AWJ8fq4wjpYAlsXYD/qBJUfzp/bUdRc8h6wp6VYU?=
 =?iso-8859-1?Q?GU5nN/qC8MowlupQuH0SRemmiWOZlYxQgVAaSlxxDT6lSQVVGMcm6/pD9K?=
 =?iso-8859-1?Q?yFPD99L/+p7T5aK3rqIF2nUsnU51BgipLzffwzzZscE3MWYcH2khvNGMfH?=
 =?iso-8859-1?Q?O9HfZCUO6oj6JnMpIy5afsCvXg2QgsabMMfS0/XisrgE+NX7ee8g1I97Cd?=
 =?iso-8859-1?Q?PDEVnfpWbMGDuwVtPqHVnM6ssfrZeSWYQfNR7YYCnk9ek3zKKPaSceCB/j?=
 =?iso-8859-1?Q?bTmGvvpKVqsU3ic9etlX+3WCUBzsCqcwG81PUmxlVvkHMuUHqFS/p8aQ1q?=
 =?iso-8859-1?Q?QIEqC7jwqRoSJ/fOV3qNv3/7W+oe5z74W2zjq/C4imtnny7AyuJLgaDMWd?=
 =?iso-8859-1?Q?hui5gh5zPTU6O6nTYdq8hI8s92yK/4YgJVQR1jj4gi0DDkOTplJxH92cao?=
 =?iso-8859-1?Q?gWECwN9X32VvC+A/LGECdtE8hUsr8qBshBMNBeiJ0c7i5M4OBhpoIOxd5G?=
 =?iso-8859-1?Q?lBJMwbzaUhpKODFAuDW63N0+tilu8KK+Wxnl0soETncKIswyZd29ezj03X?=
 =?iso-8859-1?Q?/eSon9K1D9OGC4I9eNntl7GXyQTUhqpokC6wQ8rOaY31AvxxTGrTJfN6Tx?=
 =?iso-8859-1?Q?uis+SK3KkPuHbgRFg6W+RasVgLhjm5FcH4umFxRJE3kHvgl4MMarqyEIE1?=
 =?iso-8859-1?Q?mtm+EZHZJdij37bbnYo98ppV8iwcQ9nAITQvhYovWFbh9gbx8PDDvw99qe?=
 =?iso-8859-1?Q?HOPCShKxP8nDiDZr6Ncj/CixDHRehl78V6SPhzzLDh89YuBNPqfN2asirN?=
 =?iso-8859-1?Q?Lu7qc84wbg4ciAesMq9Hx+DyaCkYzJOGPFr0/nXpGHGsRMU2I+XHkFhejA?=
 =?iso-8859-1?Q?KvacB7GAYkKXTiW9lDIcZdYNfRUssEBpGyLLpm3unIU1RFWQZOr3kDRocf?=
 =?iso-8859-1?Q?xYlXVbkYfDCRa7H7eRPSyxzntS1S8q5iF3nR+NHeXEWyv9JIk7JHAfMWK1?=
 =?iso-8859-1?Q?QMYgS4mNFPvWEPbFhXwG0PJ4jvwu0V6e7CFu2sIob7llUGOEvTQf0/mNra?=
 =?iso-8859-1?Q?roswj9P/NtgwnvyLnYLhM0HQ9mkVQitZBVBJwInsqfL1z3b7WkWyE33fW1?=
 =?iso-8859-1?Q?J/dGxAqCXH0Ape70mqZ1HeeJfto9JHAcgr7IIduPmKjsD4la4wyolCuToH?=
 =?iso-8859-1?Q?MS1MGvymTQ3BKYptdRIwXy44KQm90+HiAo0s3B5hMxDrdIUQ5affsXsdPr?=
 =?iso-8859-1?Q?VKRpNakqNCv5q0Kj8b8xzUW+lblysrYu/vJ/qHV0Ou7wyGZIaUjwyaJS/i?=
 =?iso-8859-1?Q?k0qdxT3ipkW2pxWIzMYOL4Y0YWFBExoYu0tQDSGfwuswcdOGZRi30A7Yo3?=
 =?iso-8859-1?Q?QrFj3ic6wR7uJ1lroins9vayrKv921deaGmO+Jc58VjrhBolq8wbCspg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43a02f0f-3cb0-494a-9a8c-08da8b5aa235
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:11:01.0617
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jr7+mXjxvCEO/VS+k98EWxW3W7Ab3qMbYSNjvNx1RcVM4f3pRKQHXMnJ4ykeEhSuLrApGLQ3ZORm6ApcbjTdAX2W393FW2RK5u8MhjL7AoY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: TOWzXLhJLb6IVSkGjodKjVQZGU-iHdEN
X-Proofpoint-ORIG-GUID: TOWzXLhJLb6IVSkGjodKjVQZGU-iHdEN
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015
 impostorscore=0 mlxlogscore=727 priorityscore=1501 lowpriorityscore=0
 phishscore=0 suspectscore=0 mlxscore=0 spamscore=0 bulkscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2207270000 definitions=main-2208310070

Spinlock in struct pci_device will be used to protect access to device
itself. Right now it is used mostly by MSI code.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/arch/x86/hvm/vmsi.c       |  6 +++++-
 xen/arch/x86/msi.c            | 16 ++++++++++++++++
 xen/drivers/passthrough/msi.c |  8 +++++++-
 xen/drivers/passthrough/pci.c |  2 ++
 xen/include/xen/pci.h         | 12 ++++++++++++
 5 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 7fb1075673..c9e5f279c5 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -203,10 +203,14 @@ static struct msi_desc *msixtbl_addr_to_desc(
=20
     nr_entry =3D (addr - entry->gtable) / PCI_MSIX_ENTRY_SIZE;
=20
+    pcidev_lock(entry->pdev);
     list_for_each_entry( desc, &entry->pdev->msi_list, list )
         if ( desc->msi_attrib.type =3D=3D PCI_CAP_ID_MSIX &&
-             desc->msi_attrib.entry_nr =3D=3D nr_entry )
+             desc->msi_attrib.entry_nr =3D=3D nr_entry ) {
+	    pcidev_unlock(entry->pdev);
             return desc;
+	}
+    pcidev_unlock(entry->pdev);
=20
     return NULL;
 }
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index bccaccb98b..6b62c4f452 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -389,6 +389,7 @@ static bool msi_set_mask_bit(struct irq_desc *desc, boo=
l host, bool guest)
     default:
         return 0;
     }
+
     entry->msi_attrib.host_masked =3D host;
     entry->msi_attrib.guest_masked =3D guest;
=20
@@ -585,12 +586,17 @@ static struct msi_desc *find_msi_entry(struct pci_dev=
 *dev,
 {
     struct msi_desc *entry;
=20
+    pcidev_lock(dev);
     list_for_each_entry( entry, &dev->msi_list, list )
     {
         if ( entry->msi_attrib.type =3D=3D cap_id &&
              (irq =3D=3D -1 || entry->irq =3D=3D irq) )
+	{
+	    pcidev_unlock(dev);
             return entry;
+	}
     }
+    pcidev_unlock(dev);
=20
     return NULL;
 }
@@ -661,7 +667,9 @@ static int msi_capability_init(struct pci_dev *dev,
         maskbits |=3D ~(uint32_t)0 >> (32 - dev->msi_maxvec);
         pci_conf_write32(dev->sbdf, mpos, maskbits);
     }
+    pcidev_lock(dev);
     list_add_tail(&entry->list, &dev->msi_list);
+    pcidev_unlock(dev);
=20
     *desc =3D entry;
     /* Restore the original MSI enabled bits  */
@@ -946,7 +954,9 @@ static int msix_capability_init(struct pci_dev *dev,
=20
 	pcidev_get(dev);
=20
+	pcidev_lock(dev);
         list_add_tail(&entry->list, &dev->msi_list);
+	pcidev_unlock(dev);
         *desc =3D entry;
     }
=20
@@ -1231,11 +1241,13 @@ static void msi_free_irqs(struct pci_dev* dev)
 {
     struct msi_desc *entry, *tmp;
=20
+    pcidev_lock(dev);
     list_for_each_entry_safe( entry, tmp, &dev->msi_list, list )
     {
         pci_disable_msi(entry);
         msi_free_irq(entry);
     }
+    pcidev_unlock(dev);
 }
=20
 void pci_cleanup_msi(struct pci_dev *pdev)
@@ -1354,6 +1366,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
     if ( ret )
         return ret;
=20
+    pcidev_lock(pdev);
     list_for_each_entry_safe( entry, tmp, &pdev->msi_list, list )
     {
         unsigned int i =3D 0, nr =3D 1;
@@ -1371,6 +1384,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
             dprintk(XENLOG_ERR, "Restore MSI for %pp entry %u not set?\n",
                     &pdev->sbdf, i);
             spin_unlock_irqrestore(&desc->lock, flags);
+	    pcidev_unlock(pdev);
             if ( type =3D=3D PCI_CAP_ID_MSIX )
                 pci_conf_write16(pdev->sbdf, msix_control_reg(pos),
                                  control & ~PCI_MSIX_FLAGS_ENABLE);
@@ -1393,6 +1407,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
             if ( unlikely(!memory_decoded(pdev)) )
             {
                 spin_unlock_irqrestore(&desc->lock, flags);
+		pcidev_unlock(pdev);
                 pci_conf_write16(pdev->sbdf, msix_control_reg(pos),
                                  control & ~PCI_MSIX_FLAGS_ENABLE);
                 return -ENXIO;
@@ -1438,6 +1453,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
         pci_conf_write16(pdev->sbdf, msix_control_reg(pos),
                          control | PCI_MSIX_FLAGS_ENABLE);
=20
+    pcidev_unlock(pdev);
     return 0;
 }
=20
diff --git a/xen/drivers/passthrough/msi.c b/xen/drivers/passthrough/msi.c
index ce1a450f6f..98f4d2721a 100644
--- a/xen/drivers/passthrough/msi.c
+++ b/xen/drivers/passthrough/msi.c
@@ -22,6 +22,7 @@ int pdev_msi_init(struct pci_dev *pdev)
 {
     unsigned int pos;
=20
+    pcidev_lock(pdev);
     INIT_LIST_HEAD(&pdev->msi_list);
=20
     pos =3D pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn=
),
@@ -41,7 +42,10 @@ int pdev_msi_init(struct pci_dev *pdev)
         uint16_t ctrl;
=20
         if ( !msix )
-            return -ENOMEM;
+        {
+             pcidev_unlock(pdev);
+             return -ENOMEM;
+        }
=20
         spin_lock_init(&msix->table_lock);
=20
@@ -51,6 +55,8 @@ int pdev_msi_init(struct pci_dev *pdev)
         pdev->msix =3D msix;
     }
=20
+    pcidev_unlock(pdev);
+
     return 0;
 }
=20
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index c8da80b981..c83397211b 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1383,7 +1383,9 @@ static int cf_check _dump_pci_devices(struct pci_seg =
*pseg, void *arg)
             printk("%pd", pdev->domain);
         printk(" - node %-3d refcnt %d", (pdev->node !=3D NUMA_NO_NODE) ? =
pdev->node : -1,
                atomic_read(&pdev->refcnt));
+        pcidev_lock(pdev);
         pdev_dump_msi(pdev);
+        pcidev_unlock(pdev);
         printk("\n");
     }
     spin_unlock(&pseg->alldevs_lock);
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index e71a180ef3..d0a7339d84 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -106,6 +106,8 @@ struct pci_dev {
     uint8_t msi_maxvec;
     uint8_t phantom_stride;
=20
+    /* Device lock */
+    spinlock_t lock;
     nodeid_t node; /* NUMA node */
=20
     /* Device to be quarantined, don't automatically re-assign to dom0 */
@@ -235,6 +237,16 @@ int msixtbl_pt_register(struct domain *, struct pirq *=
, uint64_t gtable);
 void msixtbl_pt_unregister(struct domain *, struct pirq *);
 void msixtbl_pt_cleanup(struct domain *d);
=20
+static inline void pcidev_lock(struct pci_dev *pdev)
+{
+    spin_lock(&pdev->lock);
+}
+
+static inline void pcidev_unlock(struct pci_dev *pdev)
+{
+    spin_unlock(&pdev->lock);
+}
+
 #ifdef CONFIG_HVM
 int arch_pci_clean_pirqs(struct domain *d);
 #else
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395687.635544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR7-0004HZ-H7; Wed, 31 Aug 2022 14:11:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395687.635544; Wed, 31 Aug 2022 14:11:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR7-0004HM-CI; Wed, 31 Aug 2022 14:11:21 +0000
Received: by outflank-mailman (input) for mailman id 395687;
 Wed, 31 Aug 2022 14:11:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOR4-0002bw-LM
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:18 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6d1c12a-2936-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 16:11:17 +0200 (CEST)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBpHDB027047;
 Wed, 31 Aug 2022 14:11:08 GMT
Received: from eur03-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2050.outbound.protection.outlook.com [104.47.9.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3j9huk4eny-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:08 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:11:02 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:11:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6d1c12a-2936-11ed-82f2-63bd783d45fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aZ23+Y3+9yUKXKjciHha9W710G9Cck3NmzkTJfuGUsFUiGNmdGYoifiDnnkZo34vKmR3IDzrvAiPyBZ7ZupQLktvOqebhAGYoQHn4gHQGPe7y0KEUQc16LzaIitciVeFIEhzxwR97jalhFDE6DXyBCyXeRig3n4hQr5xqQMjClHfX7o0T6JDUeJSBAA8yvhJp68KN4MO6KandTMcjrVVSk0GfjmmD4n6yMEMUY9LT9TefmXXmKBkLL4C3aMa8RIEO5Df8o+B/uED9frh0rZfEWblzpou9A+ySJwVmYGFBC2ST3w7d7xhDj5sSuToyl5QDjlV8Kfx9bDOvUrVXiZrdw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UVkD+a9ezE4I8M7A/v2OpU0OQqIDPY5B20O9xlCtPAM=;
 b=YD/k845QfCnvzNUP/R9BmAR2ShinV6EF1v8LCjDZudBXmjNWxk2iWIeS/qM4RgigEWEXDOqfC8k3l47n8MacU+YgfaRAohTO5+ZDAsZ6LFJsGz/48LV1mhC0l2MRar92SbwqvdK6aLJnwYNqDbenBe0zGDTYm5XgF8zXvuUBePD/HzlqNpWaZ3JGvS1eri7y3lyLKHCcoyLJhrYlmw/W/goXmnIcw5JoWeXfAFmo40d5OeX6qCi0MN88Z94+yg+5cWJAxpNS1tau/VB5tkqtF7FfJw/pc4jj1xm8N7KIA1xpQFQQYj5KVK6Is0yJrcidnyF5Lvm7ObYaIS5j5YxMHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UVkD+a9ezE4I8M7A/v2OpU0OQqIDPY5B20O9xlCtPAM=;
 b=bde3LfDGyTj+yjD+/ahrX45K3/FrRyaTMcTIElomTWPIRuMQpR9Iorolq/hFIzXvP1I5kLNEAgYhpY64QmBDN90izq5WMPIaZXK4saeLywFlhCFE4QXWL4ot69JeyEo3nsSVRBd2A2fq2hlj8zw2/cNUaJidmE4VSZXlIpexqtGb5RYVGP29soJBQPEvZzC5zmvaT9bxhXtAKjG1MaGF0llPoNFdxdwibDb4hh+i1sw04E/bh2/Krm4UT4p66+pulmwB7LX82q4qNFPPLBvS8USfcjYZfVoESCKUV/RkAsLuCaQUyz5yOywPke0uOoghogTGXrih8mT+ifkmpk3qQQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Jan Beulich <jbeulich@suse.com>, Paul
 Durrant <paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        George
 Dunlap <george.dunlap@citrix.com>,
        Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [RFC PATCH 10/10] [RFC only] xen: pci: remove pcidev_lock() function
Thread-Topic: [RFC PATCH 10/10] [RFC only] xen: pci: remove pcidev_lock()
 function
Thread-Index: AQHYvUOA+LvBLzOTSESi46h0pXBIvw==
Date: Wed, 31 Aug 2022 14:11:02 +0000
Message-ID: <20220831141040.13231-11-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 14a91930-f49f-4022-05a2-08da8b5aa2e6
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 jhjKyxlvzlIeXEyso1XtwYukepwuNYGZA7897hwHzlBTkIYL6mTDCIcYDMRlZQDdI9xYXCBJonOCFMHkUo9EZ0bSlYvFf1MXsk+HHsCNhC7Yvrku4I6l+7D0PmsBi2Ch/T1hszmmHKHmtCgNQmcblKpRKTdv3jnXosZeB5cUhsUTReJgIP112qWqBQqtgW2hr0ZNSWXWuJ/Sxtx4pCrbDHsPEL56USrLFLit+EUTK8xlesQ+HhHx2JH81WsDz4ckWPxKomzCrfUgm0YfFa6ev4JOWxWaGpjxJHMq/6MWOQFDI+Nus+yrURMqukbWD7ZeqUyl3wZhzJsMlr9tm5UF0k5kHfu76bST1f5WpCeRMlw3K8RmNpOOcA4yZFknGbr2yejg7cW9aXFjdoK+2o5Q6e8ouVyp9F1rrkQSFNbdvpVoUDv5HRmR28o4+keyHn6dooPo5K1dmicBKexJq43pgIKJnrgxton9F31hZY5AvGdOgZvfO1nUaMOwECche7Fw1KYNk8GrWHID7AgMCTSs8YnUlaNqAntA2bQpxtZqGcAnxVEMtJPrgX3JDWGkQbsMQFB6WE13fKAEp7aJMIh7jroLv3bm0Cshnr5pf/a9G7kwcZ3O1Oip2H2Yi0xg34pvFuufN7nhGt/TDi93JbmgR/cV3u+xLkcBhcLCxEqMjvh5+1ZL7u+DZElUcuMtoYl6UU37exT1UJzdd0/fYkDV4kgPGcnQibcTBUkGfA9tTqwBaqE1a3hNxr0yd6y9fJsQVtXMH3HsrR9hU086QCwjkkcpbTnUMhRAeUOoADFDijs=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(8936002)(316002)(36756003)(6916009)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002)(309714004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?Uv3RgkJSx4uWVzGl0BAsX42Ja7HbqJuKEsxTnPbjiUD8FRFqj52gDtlJ1y?=
 =?iso-8859-1?Q?ExCvrH7qFP2AQv/MACHRDxoUOMfp2k869IT4eDFjoZjHaYcu5MsJBVCVUf?=
 =?iso-8859-1?Q?kgoBbI49ar0fZFWNlz9UJqRRJ1Kx6xBGBwaQKq47qoHRVsd53aBkEtOHEU?=
 =?iso-8859-1?Q?PeMfWyrja/MEyinfnBLkfL2j1sj79NRAm0s3KKgUVnDANwkssDZrgQC+bt?=
 =?iso-8859-1?Q?0PKqefvCtJNiAGLTGt/P1eH4gkDl19tNGGCUO/pexuxyYjxtxC7uSfN0It?=
 =?iso-8859-1?Q?iZHD9oQYzHqg976+nCW/Q1kw8nAFei3HUbJiDh8D5+IEELFbPE1vjof8yt?=
 =?iso-8859-1?Q?mRmJLPRXxuURVqW8aLG8oEcRrgOqSqJVrfX8Qx5B/ev8E/qKF9x89O4VO2?=
 =?iso-8859-1?Q?cFyt2VW38ha/Nd/60HKvyojGtATYhQJSE6LVxyUkmXoo/q4F1t4bu/FTWW?=
 =?iso-8859-1?Q?wzJ4+DsmHWZ71WgVKc5LqG4e+l/SXZAbP48YQEFg1Ffm+5W1k8CI2DSbWr?=
 =?iso-8859-1?Q?/yHrldOzU3iIaQ34UyTx5MuE1P7IWbjmJZfHBdNm0VVBn09GBXUk30peT3?=
 =?iso-8859-1?Q?Gu1gIgssKcc4w0DEPtGILLZv4xLQBMJUNkJjIFg8tFrawEb0wPXTWpEmdD?=
 =?iso-8859-1?Q?aydK+S8nGN5qH1/dIfAPH79bJcirevOFmjBN0JE3KFYsQIvU2AXb6RI/cT?=
 =?iso-8859-1?Q?B+q3RWAR51VXcJk5rpdAZwtR9ChS2x2cIUYVeq8o4Sh3Cw3ZPEkD+6FIJC?=
 =?iso-8859-1?Q?bb6Gq9ujmmxzmXhmeqWadevv7cEi832nEfULjQBW2hZrILIdSiKSX47/y/?=
 =?iso-8859-1?Q?xixkyYrL8/nuZ9YLkpFouJuc41QV0kpXVnaYJipUydlAIziiHUv/WyhRIb?=
 =?iso-8859-1?Q?EmnCd4ttpWbJF8Jrw+XLtyZEHCLFgtn09nXoPUhxfsgjTsmL0pHBit3LDE?=
 =?iso-8859-1?Q?NrYF46AZvwM9BKgfCi5gegGn4yiYjaTuGBwPiAUlNrcMGV48sui6ps+5Bq?=
 =?iso-8859-1?Q?0h/nV3BxAG4noFFc0vgOPlGiMXF2V0ehbXX0o6+dnxG5gX5DojnyfUTBO+?=
 =?iso-8859-1?Q?YxKzDBsF8xJh5sogGY9J4oMttfxBmqgQwxvCOl8SKjayEZXV6hU8G6J9Df?=
 =?iso-8859-1?Q?BrhLNv0a7ESme79VK2iMJIQomwCNV2o2UMcy0XPFqJf4wnjYO3xT4lvnJ/?=
 =?iso-8859-1?Q?SJwn6cML4pKElWGFWapzuOgGzIWQz5D7Jm87pvdi8het6bfPdlYpSkBBjY?=
 =?iso-8859-1?Q?cghk7fSlxDtrHzonAffqqf/AGx0eEkZqKFkt8gQdPXLAhn9P0gT6qL0gy9?=
 =?iso-8859-1?Q?+vp4X/oH3ultucmZpcuyERquq7A/tzYm6aAJzdjON1cnG4gEvv5PCD0140?=
 =?iso-8859-1?Q?rWT2NuXIWms5mpeK1mznHZXnnegk6eSVji1cAe0u/LZx8hbGlD5TQF1ku+?=
 =?iso-8859-1?Q?PNim+GcBCsZbvvttmAvMnRjU6xuDDKj1GAXLBJJqvuJQjEUQ0MTYfOm+Bs?=
 =?iso-8859-1?Q?8CyL3a0T7HSxulVY2qKmd/s8B3THZ1V2QB9xajbqCExDeSDhUD8uHHen4l?=
 =?iso-8859-1?Q?HdZyqF0JwHTI5DW1FuqH80i6Us/lnt8iCP2Gj+tQSpFmxjMIrr5/qcLIAU?=
 =?iso-8859-1?Q?Bg/AfeW9cTH2U/TKeXlc21nWebgriQu+J7rApDIzUVZ3f5i37jno+JGQ?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14a91930-f49f-4022-05a2-08da8b5aa2e6
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:11:02.1241
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ErxqhRI1nPm6WLenAr0H/D9H1vgTB4mTC0/mxwIMyZPPz/nptBq24fL4y0m+RJlo6tN3HrdExCzMW5csO1WMwYwW8ApNID3Fv4+5SWpxoJs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: r4Y87cm6JEYOyOTEqSo4LcqRQvW-t6ib
X-Proofpoint-ORIG-GUID: r4Y87cm6JEYOyOTEqSo4LcqRQvW-t6ib
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015
 impostorscore=0 mlxlogscore=999 priorityscore=1501 lowpriorityscore=0
 phishscore=0 suspectscore=0 mlxscore=0 spamscore=0 bulkscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2207270000 definitions=main-2208310070

This path will be squashed into "xen: pci: remove pcidev_[un]lock[ed]
calls" after we resolve "[RFC only] xen: iommu: remove last
pcidevs_lock() calls in iommu".

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/drivers/passthrough/pci.c | 18 ------------------
 xen/include/xen/pci.h         | 10 ----------
 2 files changed, 28 deletions(-)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index cc62a5aec4..381eba3018 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -50,24 +50,6 @@ struct pci_seg {
         u8 devfn;
     } bus2bridge[MAX_BUSES];
 };
-
-static spinlock_t _pcidevs_lock =3D SPIN_LOCK_UNLOCKED;
-
-void pcidevs_lock(void)
-{
-    spin_lock_recursive(&_pcidevs_lock);
-}
-
-void pcidevs_unlock(void)
-{
-    spin_unlock_recursive(&_pcidevs_lock);
-}
-
-bool_t pcidevs_locked(void)
-{
-    return !!spin_is_locked(&_pcidevs_lock);
-}
-
 static struct radix_tree_root pci_segments;
=20
 static inline struct pci_seg *get_pseg(u16 seg)
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index d0a7339d84..0abc54ea39 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -156,16 +156,6 @@ struct pci_dev {
=20
 #define has_arch_pdevs(d) (!list_empty(&(d)->pdev_list))
=20
-/*
- * The pcidevs_lock protect alldevs_list, and the assignment for the=20
- * devices, it also sync the access to the msi capability that is not
- * interrupt handling related (the mask bit register).
- */
-
-void pcidevs_lock(void);
-void pcidevs_unlock(void);
-bool_t __must_check pcidevs_locked(void);
-
 /*
  * Acquire and release reference to the given device. Holding
  * reference ensures that device will not disappear under feet, but
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395682.635483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR0-0002ef-LO; Wed, 31 Aug 2022 14:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395682.635483; Wed, 31 Aug 2022 14:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR0-0002e9-HL; Wed, 31 Aug 2022 14:11:14 +0000
Received: by outflank-mailman (input) for mailman id 395682;
 Wed, 31 Aug 2022 14:11:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOQy-0002bw-S4
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:13 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0fd0947-2936-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 16:11:07 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBo4GB032537;
 Wed, 31 Aug 2022 14:11:05 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ja427h4rd-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:05 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:11:00 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:11:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0fd0947-2936-11ed-82f2-63bd783d45fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fXnQyhJf4DX1we0FISOu932jDiOgUD4D1DKvbFxJE7zOlshE4C/kSdnG6StzEu7eql6gFrj/fRz0tWcHD95FLGi7lAIARpP/zY5o4G8/6egZwc5LtYPrnJwyiDphFT4S/eLMgB9aCxEwoEs2VLFOFshITZlfVFLdGsdd1+dt0Y4fRwbC6Kmd42n1A3QRJQSomwnobyiG/DP8vlzVP6ZbIt7C+1KpONgk6l6COy1LHu/qMaXdX4BMwF4oQfSQKDKdtxmz5qMmkhC/gSPhiLvHn1m0al3cVf+qTRtIzv9KNP2FrmzgjDZLxjDCsua9T2R+G5iquQVCMWj2dYXbC+btnA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8+xdObH6FMWVQ4XGWc2Z5mSrpHg5ctG6VX5xgOC+obg=;
 b=dM6AN/o/6xQ4fhL9r8HF3PvAdbmILG3TFgllrB7qsOc9l4lIe4YTHufHJ0pgGp0unisJjj/b6btjMH16PWXMEeV6+ya4sExpCn7cjlgfFpY9omUM4Z2MDNr3EMS5ZP1K/IAVdDo4u3oeH4dgkdsD1ci1Fgq5DixcFFSc//FIhjhVaNM6i2DAGohrjtCs9K6dUf53dP+TzU2ci8md0bXCHds9rh5pt6liDGIqbqXVT3EUsbbquOLpWMxZArVIK1eHwmnWBhw2b1/r9bpkZZoWY6TQNzzhQ/n8hRt/8QKdchaXhZEwLWEzIeO8C04FJ51/ZgtNem7J9xy9bvljqDlmjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8+xdObH6FMWVQ4XGWc2Z5mSrpHg5ctG6VX5xgOC+obg=;
 b=jDavVxJctqIsQT5YdlAtDMK5ww4sz/CXfYEXoTESTanakIRPyLFS8tZbSGqNvNsjysgZIiQ6F0HwmjKwV4GGzU6nqbOZAclSltwsRLMdKVX7sJYw6OaKHGIcD3icpqy+cBevnd2CmwXdtaPaozn0WD+LyINYRiajTGenmTbj2oAcYoTamDafoinG53gsFs8yxcxnO7SyJyqUB/5wPSF7rbjmbybVBzhqyHUaTImo+4OMCtE+doqOGfN8wFkAVYzVYz0VqWvMT2PMoj1+DpPylfjRutFakhSmpAymmDQZ1ze5Xfng7zmDnPr8qd17CvixOc3JnzWOkyMgAVC92p3ALg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Jan Beulich <jbeulich@suse.com>, Paul
 Durrant <paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>
Subject: [RFC PATCH 06/10] xen: pci: print reference counter when dumping
 pci_devs
Thread-Topic: [RFC PATCH 06/10] xen: pci: print reference counter when dumping
 pci_devs
Thread-Index: AQHYvUN/kOplNkP+6UuZAhHgLrcI5Q==
Date: Wed, 31 Aug 2022 14:11:00 +0000
Message-ID: <20220831141040.13231-7-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: df64cb83-6dce-4dd5-6313-08da8b5aa1fc
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 PiksFeHyITKAHmW+l2DEzpUlu9y2y4rQS6axx/M5N5hxnvixBNjMo+KbWZ+2UjbcpXi6FsNxd4OfETyMk/JJN8OCvf3jK0g2BqdAgKPASbPavlALnUM2dLePsfk47WTyv0NfHbDzKrbWb2wFDEtD9+xpOBVP8jExKx3gKuZbmNjn/fh5hb7qo+YHNZNL9AuhTFMhrniNWS2ezy6RI4a6/hjWeiJQvtzASMEImaWdTvxoEg6kV2V6fNNNCNGh7FbI2yG9CHwTlsPVRcF7Y1fFthNBLLrij7j2TTjNGoVJfbGogRvMatzVcV8E0Lu9+zI46TjJGTPRp4kdPw3cJKbCXk1CBvI0YaNOSMatNguhhygEj+Xtj+JiI0LWMtiJRG16ezGQWU99O1BGI9Q8htDxZhIff5P0l06kj6iOacaJqoU5Mj6HBaMysrzoEBzS4UWdmurhfH8rrxXyZT9DOj4K2WIRvpHYGbsikWLru9jI0KKZSLCEfIjs93wy+L02MLFQoX3I5QPXR7aAl2jseNvA3EupWa28mNz9RBsGjM7yfb8tV66rr/D+mgBnQu/li35aL82Z6YDlDpBLlW7y/6k4jQ/q2EzZHkEs3+ZYXzzjha+Cy3QXH/mgwdZKuh629c0LjVYx3QcU8MvglsmQ8Rt0sEO4H2/U/zBNFDHQjPCkdHQd2Ae+aClyTMdiw43oG1+PTbjOOZJpxVUAziJiA5qKlbHLBIeE2vv8SX95XqeqY/4BPHrf26L+3jQn4eej8cJuUlPA6wmEadI+jJkUf64xmw==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(8936002)(316002)(36756003)(6916009)(4744005)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?IuH/fWW3kxM8p1glEEhKw38931IhQclU+0Kj3G65X+qCBUisKwrfKQBYsh?=
 =?iso-8859-1?Q?RkL6584p0EYSOZ7TSAFomV3HNYxvC1OVGvqzcgT2aOmxrNY7VIujzSorfy?=
 =?iso-8859-1?Q?uOWtNDB2WGwWz8YMtcsuVBexmtevTe0z2ih3iXxRvOOJXloDDqeQ5anZvg?=
 =?iso-8859-1?Q?s3wFqI3EJqqMydBRTNoWGeqpRDwSNSz8F6tJ4wnsqyvFlM4IMKDNSiIIwP?=
 =?iso-8859-1?Q?incdBgUMstIozA65rHmsiHKARAIJuJCfCfVMIrj3saqKqiL4xMHSH6+oAN?=
 =?iso-8859-1?Q?j+uLvYpIm1/Ye+EP5nwbnp3anPXtBWLtmRC49o5LPY0dI3VhX5IQUDmPdd?=
 =?iso-8859-1?Q?u9ar3WelpdfPnS166EFgz/OmWBdn/vxfzINynr1STIJGBR88r/YbdjXRxk?=
 =?iso-8859-1?Q?J0v4gIwSznvIvWJEEZctC3iB2b6SB7nk6/p05pDdrUPz3VdWlAAbuXv2Ic?=
 =?iso-8859-1?Q?kzVRn/WLYHa20C6yJ6xoh0KhVV/YMgVGridPiVfZv9jdDAAfcGIbMuiRQm?=
 =?iso-8859-1?Q?Prwk0iBm4gfZQVXStHZbqNX2Bn7qTKUPNHI+i3IkO6bbDJtsaPnmJ8duMR?=
 =?iso-8859-1?Q?mglHK9+u9tvheV52lNFJEUJgo3jj0AVNaa/RVy7DesSoWkqd0DKbBZ2H4t?=
 =?iso-8859-1?Q?DFnT4QBD8RYhs34VLnycgYdagW/YlfmPNqFGMxNr8goPL1AcePVnDTboV1?=
 =?iso-8859-1?Q?e1V88pMIyEcrc5hwAbKyhwn86ZB7uYM4AGR9Fex5jHHepsWILNiamaHfMI?=
 =?iso-8859-1?Q?MkeR8qVVCnzd4EEFWI1vBhepB+qtV/6hls1Gr1MsGfMOaZLRb1XN6T2t2L?=
 =?iso-8859-1?Q?iqPjaNhaJDVBOaRBHft91lehzQDsaMrfJbPN+s0TjgJUA6H7j0sJsuQGJk?=
 =?iso-8859-1?Q?nGDT9n4/0LwRba/yWeYRn7jWHyuMjmuROeVngKZ8Aq7geWL79qrc7PA4Nb?=
 =?iso-8859-1?Q?TZgFrGpfIR2JeX/l7XuLr6Psqie1ICrsWzH/HBSFfRis83NJsQlVnzSq28?=
 =?iso-8859-1?Q?OaOyPOZK1FnxP6BaL9VOnFI01p0AiYoWuWDb35SCdXDckur6ZtmCtIhob3?=
 =?iso-8859-1?Q?cdzT0hbpHTdOOtukNLLprnfYKjE+Uh4Gol9+bRmTOMRBmnV2jD4m5gfXtx?=
 =?iso-8859-1?Q?swq7qqJ40DxypkNL4Yxkqv+RtiD5UtMKpYNdIT2PcbdBPQC7pgMQYgo4d3?=
 =?iso-8859-1?Q?caA0TibRZ8Yfk+cgku3272ujup4nGBrMfokanXHNN1vYDy0hJYF2b/t8Qi?=
 =?iso-8859-1?Q?/ZJqs0/U3RIxA+TW7rnoQAPk12V7ZGBiZ+m+SmIpN/LNMFfUbWunTkfF/s?=
 =?iso-8859-1?Q?YeP6hY9UJ23YZuKeXPUHi+ElWtSrHEU0MB4hYAObH3YGjQWRYiAmoApi84?=
 =?iso-8859-1?Q?dcZSlziRdcZs+wJYMi3CzD9qd9OnYL3nR6cRLdV4a/SpzaddKh942WDbWi?=
 =?iso-8859-1?Q?/aS3sjAMmaAl3ysb2mJv5i+jJ3g9yTYkmsDOYBIqOuVF0jg5qI+7nFm3RN?=
 =?iso-8859-1?Q?r8yAid7IiermXsHzFw9a2I48Z4VYeSOliq4vYSQdl6rfAGfKkMyeG3h1km?=
 =?iso-8859-1?Q?8HzcfqcY64kAmr3DHCgz07/3mpcU7cuel2GsvdSHJxXSNaHOYKGfMECtis?=
 =?iso-8859-1?Q?T0urjCn8FeMQzDZ9BCQUZ6bkkIs8b2xJap5IZ/dBzKyO+IqJiUE13vvw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df64cb83-6dce-4dd5-6313-08da8b5aa1fc
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:11:00.7023
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: dgLiXuwiyeoSdXDyP3Y4VB5oTqp7dnSN8ZQLqPW3CvnTRQ1Zp7/Jr3XBHPHRvg3u4FB9nRiUyf1GkgxbcaBT9RjCRS5m/2/tUXVlQRoGRRg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: O2iKEQIqcWqnkjvBNSQL79VFtHSRVH5y
X-Proofpoint-ORIG-GUID: O2iKEQIqcWqnkjvBNSQL79VFtHSRVH5y
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0
 clxscore=1015 mlxscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=963 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208310070

This can be handy during new reference counter approach evaluation.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/drivers/passthrough/pci.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index a6c6368769..c8da80b981 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1381,7 +1381,8 @@ static int cf_check _dump_pci_devices(struct pci_seg =
*pseg, void *arg)
         else
 #endif
             printk("%pd", pdev->domain);
-        printk(" - node %-3d", (pdev->node !=3D NUMA_NO_NODE) ? pdev->node=
 : -1);
+        printk(" - node %-3d refcnt %d", (pdev->node !=3D NUMA_NO_NODE) ? =
pdev->node : -1,
+               atomic_read(&pdev->refcnt));
         pdev_dump_msi(pdev);
         printk("\n");
     }
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395683.635488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR0-0002jf-TE; Wed, 31 Aug 2022 14:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395683.635488; Wed, 31 Aug 2022 14:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR0-0002j4-OD; Wed, 31 Aug 2022 14:11:14 +0000
Received: by outflank-mailman (input) for mailman id 395683;
 Wed, 31 Aug 2022 14:11:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOQz-0002bw-Hi
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:13 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3b13193-2936-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 16:11:11 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBo4G9032537;
 Wed, 31 Aug 2022 14:11:04 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ja427h4rd-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:04 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:10:59 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:10:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3b13193-2936-11ed-82f2-63bd783d45fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VMYw3IIznt/gx2OITmQtAtPWVRAdhO0eSyiP3+uOfdNpk+/mHKGDQ/uXBH8uOn0sYl8urTCnyteFeszqzy2XW4prhRgWADebOThU57JnInEmTKUvMJnN9ptyaGt9lSS4moxisIombYJ1hMsF4gD30W1ZvO2PvW9XRGV+Bh9jL5G7lNp5rCA6TuXy0mPzTbxt+8CBhjm/m2NEV9PjV0PTFOjWnFBk3JErEVnEmzMo7bXSO6wF+uoy2fFu8xojSNEiTFc1d1CAx/Lpnt3xKSg/7/X7+UEIOGMQX4Wodh8MAVxqiGOjsineioHUrxWipADP2P2garJpODiUJ+ZsnXXvmA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tlEJMtsRyS/9QiiQY8Z+TlGkWcyZ8F0YLDRgonTMQAk=;
 b=c81phSZI+3ZTniIBwxkEJIBQV8VTrFyqHLvRElANZhcCg8Tcj3ulnFyyXqzebRMBY+9RQWPrsA2CcVajaAfjYJe6grFPF/s+a1JcLvSIpyq8Lt7WF5nl/oYPb7OGQJ+EwnexPENPHfBP+f7Rnonnd49JJpkCLsS+aPsGv4ebFjfbZRiwhxDfmBhjCsbY/65nWfBsYKLHf8oVgo0VEYlI6IVnKKQ5J4ByTGu93XQZVLpxBsxvfqhs09NoXTnmlVfKNHce/S1nThJ/IBu8ce3vCNb5Sj2qwaosleWKsmCkDHs9Sl1189L+6HKSlhTk5uRG8RG9SLVNJU1z0N+RhRbfhQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tlEJMtsRyS/9QiiQY8Z+TlGkWcyZ8F0YLDRgonTMQAk=;
 b=MGe/X604Ln4dwQKTc0y31FjSv/L5dOOIBq8/YXZUYNROiYke+RGtKYV458BsJ0FEfvEsKHwZTo5QW7vHXl9JhHEHAMVkSfsauxfRHHNH4BU1EM/8G10w77eSkVjHNPqz1JXSpRioVm2FRID8Wpy0quCYOnMhDJ0M66DGHggjA/B017+760RJct754rkZElrjr0kMx5dU9PcX0p49nkYE79tfMID+5LEGN/RIthGRmOh3LHz9p6OPGFcDEEHj8IV8cApqWOFz6knmw2uqJFpkRX6J+ozj/01MbKTu3i8/Ex45aeE2uP5I0hDA74U/5G2UL2k71Hj6VsmQ/czKYCrCLQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Jan Beulich <jbeulich@suse.com>, Paul
 Durrant <paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>
Subject: [RFC PATCH 02/10] xen: pci: add pci_seg->alldevs_lock
Thread-Topic: [RFC PATCH 02/10] xen: pci: add pci_seg->alldevs_lock
Thread-Index: AQHYvUN+nWaGteAQq0y+sD+4Hw5CPQ==
Date: Wed, 31 Aug 2022 14:10:59 +0000
Message-ID: <20220831141040.13231-3-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8c1a3ce0-2dfb-4acd-22e3-08da8b5aa115
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 wQE/F5Zthkaam/Hk//iqdxkAUlZ34owr0ijOV276cWROiKEqHjHsdxJCEC4QQLeFJVnPUPS1SOk4+llxKXucH76Rn2vWXkxDVlabDfnW0SkBgAOFGd1K3g2ogjxMMfTkUIw0xnG9RcyvN+gtgNvl8fTozXVYjAzk05spzzxN/HGkqC50b3AZ/5cvqdtedvk2W4OAMjrCo+cPVJU2HW1b7K70PfMW6eaRxAnc0lVV4j5Cu+t+PITrRhsl0KgTx2B449weg5Gjq0QkzBmsmh6+7YgE575uVYRbVBfe4HscS0zxDwKdw8Myfi6IEyhz0hACTbFICeqh4Dwn63GhsbSvq0ntw4xxWHYeV3r6rmMjbSJxwI5LCUyWA3TWlflHaeW8IEDLb+QW3lW64SzFmXbkzAORJFz3ICH7JzXQpgLXbo4Qb1E86Ki0nSrIb5yZHImI1Q/fgzRDho5mx2tp259L+ZfI/iFw/w4fecPlQPZRWf7ktWTBXjxyigLEVwnJUPq81P8knfOmwb1SaxylZKd+Bjr4jx9n/ifHWXT4SHdqdeqX08cCC032tMTZACGKXFYxIGF2LMrzixED31zJR+thgWTZLF0FvyQ+JGpIMJsvBYgn5HKMs6EG0MIGGTdHeXL8PjEUQwxbN+B4YGkpEDn9wzFca4vFmBn9Ii7qddfjEjKuCnNjSHRbU0ygQn6hF1XSaabGKtzDcjFXQjlyEbpQX/tT85DLOfEtvPErC5iTdA8Go1YHx3vX+bFH75FCAkew+zeNYe2HRNON/r6NfBVy3g==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(8936002)(316002)(36756003)(6916009)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?L0PxtJCO8By9b+awW+CDmH0pH+KUd8cce+QZDSHXqFLk2lqg0lXU5hXi22?=
 =?iso-8859-1?Q?AimbTpTvHF0gRhheD1U4jHpkeAo8zf2uqKYJBryf8lrvqyi30Izi5dGDv0?=
 =?iso-8859-1?Q?4QtuHzDfkk5pSSx5lxbVmEbF3OVQrkHjDpq+VZKSmb9eKbpS571S/VVd0p?=
 =?iso-8859-1?Q?DYeqcx2EPgQ3sibNQOb43/nnfNwmh36LJuSICWjKWH6hKbuxgz2usse859?=
 =?iso-8859-1?Q?y2MqDY3NssxEFDzDXkHLxK6kkvtHBY0twaRReFr6/b9gW3rkMEziX9YsqQ?=
 =?iso-8859-1?Q?MHBX+hwFXKoa3HO6sK1ne7ZMa8bpHPxtKPTkJ+jy8vfC9cBU6fNIXPGG8D?=
 =?iso-8859-1?Q?bfVzwE40/10Z8MuMeNI+pxN6r4vdiNU2uTs5XUdLFDIQaTIXHYYtH+AeiQ?=
 =?iso-8859-1?Q?f/aLD9/KVqTCmO5xP/RQFFjpFbcX4b0PoJM51ojpvacR3E6itg546bWO2G?=
 =?iso-8859-1?Q?BgaoR0UXDNZGcLTw15Ulv5ML0AXpbHMRlognmONVFwzt5DoDDk821eI3FE?=
 =?iso-8859-1?Q?nBv+7hM6/xnh0n1ICe+0SPet8jiR9DDAtXZlMoEFqba1ysc1tuQgJpKn/w?=
 =?iso-8859-1?Q?Bct4PAPFIPxnQjYsGIHGjf7tI+UTktzLVvEnOX/IV9CLjrwzz4oA/HOO+h?=
 =?iso-8859-1?Q?B6ZsaAlbMxw9wTPopV3nb5CJz+5Qbkq4A5Waz4L65wSKyiYaeSIEtV5MGD?=
 =?iso-8859-1?Q?grEXEYt+a85J40KeyYB9Gg9QaDvDoBAmpvUn+OZLTn7sb3LGrFJca39ij2?=
 =?iso-8859-1?Q?Iwn8cIErz+r1V8KJNl8W2eNqOwz+dsTb1K3gDA6OGu7JXypPzr+MuTEJdC?=
 =?iso-8859-1?Q?Ws88C+5AB9pf7twqSLwaS8LC/G6p9r7qjoK3U3Q1tOEbutMxrX6mE3gkae?=
 =?iso-8859-1?Q?Wj3nce2SU+D2ZDYe6tTgO9b39gc+w8tFAtWTTucLrjhvy8QpOgJpP5tGBe?=
 =?iso-8859-1?Q?sJh5eMoyGmt3wW1BL5WsO5iQxBR5+6sfVLKJFI7UpewAnx7xr3mMK3MrhC?=
 =?iso-8859-1?Q?nzxd0Il+qjoA9yKNMyjhwnhAkC5+FYYYxjYT008RtBiKCiWlhEPLeuXtKY?=
 =?iso-8859-1?Q?+eCcBPS1bpI9qG8FVKciFM9c5cbbGfW5s7LVQid4f9X54j7CFkNJeqAoGX?=
 =?iso-8859-1?Q?h+/+l8Mu14wMUG+8Ftv+fqNMLAn+YEfWLuhhMYpQSzBnuo7JGLQ6ULr175?=
 =?iso-8859-1?Q?+KMTyC+CdFF0qqdea+0GU2NrosFuKTnMvugITLpyHS2lDaulqFrP4n8r6z?=
 =?iso-8859-1?Q?/GHfQ1Fei+thxTceOu9HDMocUU8iwGc9IZEaIuX/q3I4Y9DlTnjrlcJSRf?=
 =?iso-8859-1?Q?3iEDwQ5aa4WWzzrhvbizTOsWws5MF32IMozu9fNDfC9wg2SjNEtKTuoLOA?=
 =?iso-8859-1?Q?X3dVmYVhVPXZd65Z7Hp5fkna3uFP1IBgjKTJKVbcYdtB2MUGxlLMjBCM4y?=
 =?iso-8859-1?Q?Fmuqtg0iXVehf59xTRMZWxN5MVJ8F0cJ0X64DLseggPSSZr3cUK8wXvc0N?=
 =?iso-8859-1?Q?9ZlIvs1HUcZx2P1ydyhRQtb8SPMLRu8cBBywNCnMDahh/onV90oUojtftk?=
 =?iso-8859-1?Q?/NChtQ1EICVU8ISVOla/onJJzzhe5uUXa+qeB2+76Y9Zq6I1dMmebd2WlV?=
 =?iso-8859-1?Q?HdGI0cQc41lBAJxTsNyHekEZxFsO0VZLQkB4gIEOg2NFi1XL5S80fsGw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c1a3ce0-2dfb-4acd-22e3-08da8b5aa115
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:10:59.1712
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: h3GxOaaNhxJ+5/TPxqV4erIKWpyv1ASaMGEMizrHv7YDgF4OvR2JVXiBBmnZFzCuKtstE8X9o83LnQy2liVyCeCs4Z4cToXuEz+V7K1c+Bs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: bptCeS2jufyr60FKTsavamPbe-yL51DF
X-Proofpoint-ORIG-GUID: bptCeS2jufyr60FKTsavamPbe-yL51DF
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0
 clxscore=1015 mlxscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=999 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208310070

This lock protects alldevs_list of struct pci_seg. As this, it should
be used when we are adding, removing on enumerating PCI devices
assigned to a PCI segment.

Radix tree that stores PCI segment has own locking mechanism, also
pci_seg structures are only allocated and newer freed, so we need no
additional locking to access pci_seg structures. But we need a lock
that protects alldevs_list field.

This enables more granular locking instead of one huge pcidevs_lock
that locks entire PCI subsystem.  Please note that pcidevs_lock() is
still used, we are going to remove it in subsequent patches.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/drivers/passthrough/pci.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 4366f8f965..2dfa1c2875 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -38,6 +38,7 @@
=20
 struct pci_seg {
     struct list_head alldevs_list;
+    spinlock_t alldevs_lock;
     u16 nr;
     unsigned long *ro_map;
     /* bus2bridge_lock protects bus2bridge array */
@@ -93,6 +94,7 @@ static struct pci_seg *alloc_pseg(u16 seg)
     pseg->nr =3D seg;
     INIT_LIST_HEAD(&pseg->alldevs_list);
     spin_lock_init(&pseg->bus2bridge_lock);
+    spin_lock_init(&pseg->alldevs_lock);
=20
     if ( radix_tree_insert(&pci_segments, seg, pseg) )
     {
@@ -385,9 +387,13 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg=
, u8 bus, u8 devfn)
     unsigned int pos;
     int rc;
=20
+    spin_lock(&pseg->alldevs_lock);
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
         if ( pdev->bus =3D=3D bus && pdev->devfn =3D=3D devfn )
+        {
+            spin_unlock(&pseg->alldevs_lock);
             return pdev;
+        }
=20
     pdev =3D xzalloc(struct pci_dev);
     if ( !pdev )
@@ -404,10 +410,12 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pse=
g, u8 bus, u8 devfn)
     if ( rc )
     {
         xfree(pdev);
+        spin_unlock(&pseg->alldevs_lock);
         return NULL;
     }
=20
     list_add(&pdev->alldevs_list, &pseg->alldevs_list);
+    spin_unlock(&pseg->alldevs_lock);
=20
     /* update bus2bridge */
     switch ( pdev->type =3D pdev_type(pseg->nr, bus, devfn) )
@@ -611,15 +619,20 @@ struct pci_dev *pci_get_pdev(struct domain *d, pci_sb=
df_t sbdf)
      */
     if ( !d || is_hardware_domain(d) )
     {
-        const struct pci_seg *pseg =3D get_pseg(sbdf.seg);
+        struct pci_seg *pseg =3D get_pseg(sbdf.seg);
=20
         if ( !pseg )
             return NULL;
=20
+        spin_lock(&pseg->alldevs_lock);
         list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
             if ( pdev->sbdf.bdf =3D=3D sbdf.bdf &&
                  (!d || pdev->domain =3D=3D d) )
+            {
+                spin_unlock(&pseg->alldevs_lock);
                 return pdev;
+            }
+        spin_unlock(&pseg->alldevs_lock);
     }
     else
     {
@@ -893,6 +906,7 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
         return -ENODEV;
=20
     pcidevs_lock();
+    spin_lock(&pseg->alldevs_lock);
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
         if ( pdev->bus =3D=3D bus && pdev->devfn =3D=3D devfn )
         {
@@ -907,10 +921,12 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
             }
             printk(XENLOG_DEBUG "PCI remove device %pp\n", &pdev->sbdf);
             free_pdev(pseg, pdev);
+            list_del(&pdev->alldevs_list);
             break;
         }
=20
     pcidevs_unlock();
+    spin_unlock(&pseg->alldevs_lock);
     return ret;
 }
=20
@@ -1363,6 +1379,7 @@ static int cf_check _dump_pci_devices(struct pci_seg =
*pseg, void *arg)
=20
     printk("=3D=3D=3D=3D segment %04x =3D=3D=3D=3D\n", pseg->nr);
=20
+    spin_lock(&pseg->alldevs_lock);
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
     {
         printk("%pp - ", &pdev->sbdf);
@@ -1376,6 +1393,7 @@ static int cf_check _dump_pci_devices(struct pci_seg =
*pseg, void *arg)
         pdev_dump_msi(pdev);
         printk("\n");
     }
+    spin_unlock(&pseg->alldevs_lock);
=20
     return 0;
 }
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395688.635550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR8-0004MR-56; Wed, 31 Aug 2022 14:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395688.635550; Wed, 31 Aug 2022 14:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR7-0004L5-NS; Wed, 31 Aug 2022 14:11:21 +0000
Received: by outflank-mailman (input) for mailman id 395688;
 Wed, 31 Aug 2022 14:11:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOR5-0002bv-Vb
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:20 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7fdaa66-2936-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 16:11:18 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBo4GA032537;
 Wed, 31 Aug 2022 14:11:05 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ja427h4rd-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:05 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:10:59 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:10:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7fdaa66-2936-11ed-934f-f50d60e1c1bd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MJGXXIDHoHiJtLrVaEAuqTYW+gejAS7XKvxe4xb4XAqEVKvEji2TnqMCChDZ9CtjME+d7JYJd92U1Jj/RMvPnNgwwrNbYVFVXmGZMZtUPFBwTsuP1BN5DDMHHf3X18kU/5mkl7BINV31ycs+ZJp5Hq3LnTb28aMLi8ZO88R2Yoywa17in5+ik3FEJjM/h2iztgfnAWhMc8Yo/RypRVqreccNz02NwyYeB7aJHDREo5Kwvm/1ggYizVwRxLtLjd2zhjEhmAhnXjX8zrLbqFNUye9G1+YyshAsiMebw18Oa9cKXoaYK0diX9mIoWm/5hov2K7tRJ8lHCkkVrg2a35+ew==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8pxAUO1JX4YrzbhZ2dXAYA6LnDaQYu3aeZFrK4TB2Vg=;
 b=TICh7n6uPBfXv7fpBpV0XOmjOyeUtb78AvszL1B7DMr/jo2bKQ1hYUOIvOxn6MiCuBze9IvERmjual8fcP7EdAouF7emC8XeN2KWaxI9HF+57UxQi4nJiOICTDoiGyM3Bj6AaabikYVwSyT97wnIvFuibXxRJ8FZV6CMoVC0THpX+V5JL3A8qztM83NAPdQd2B5KcZpJPzCcMDUMDlvoxmU9Md5wQgwVKOyKLiTaMz4X5uNtDZKju8LJCWWkckvieYbR+gpVvqMCpc0fqfXS9BJw7SobfkMWq2UH+7waD5KZ6Il/OktsjyLvZkjbRXbG0NaO9i3zPdN/uzspxAMGnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8pxAUO1JX4YrzbhZ2dXAYA6LnDaQYu3aeZFrK4TB2Vg=;
 b=qN9ThUOfAA+oiD/3+m1wXl9T8rEXWVcrzJ37eMsQ/7E0G1xA2/MwlRaqOCWlo38nbHqz+LGDdx6FQFTM3CtHKyhVYUh/5zWzWdqRfY0Fnw82fCVcKxiG/Ux67xIqYBL1gLDwBafvL4kpA3SdaE2dur9miCGh0NpgzG/ke3615RyjVORi5DKzlvE1eIdoFj81p0QDPpmUK058YpQ4YAkgXf/MMHhxrN/+IPvrVvlNxodh6xO2ccjmaLAqNJAK0xiPBpJboI7bI9lJbz3789W+Nj7TNe9sqGTaeJwaSRxetb8pWoDKzsc0AEPomc3gprAutI4gdb9O3ry0DbubY4a3Rw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [RFC PATCH 04/10] xen: add reference counter support
Thread-Topic: [RFC PATCH 04/10] xen: add reference counter support
Thread-Index: AQHYvUN+XE3jlJIvEkq5uMVpvnNlQg==
Date: Wed, 31 Aug 2022 14:10:59 +0000
Message-ID: <20220831141040.13231-5-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 207dc193-9511-4eee-7f4f-08da8b5aa174
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 lZNtxyrqOPkLQ8r7eYqum6dQcE3DuT6ECw//MIdMjJj0uN3zDNicZbEBcQatX4xk4prXXRsYwbq3iwgigB9X4imYllMYCCON6aFUHKxzk25CViqO+aYSFJwW9AFih/eSIr6dy/aeAeZv4htd39pLEHQsGrap4g2NuNoycWO5sIfZPvCHyyoGhoxtXvuveeF87ccM2adKSk9o/67t7N4TsL3tSFZPqeWZwG0sLsycpl4VAi8R2B6nEuMIFyOxuawQYMoTZxTLF+CDKzSoHJPPC3M4VhVjekbI0uvBzW+jj7wviAq9VnuSExbPHoAq/Sh+jrt6+LtaiQ5FdwQMUwC94IP3tid8eJfmqzyDPsmv6Mn8L30Go7xEFlXQQR0cHWCh/O1AI7yDrAWP3RM1HFObtYo6r9zHvAgvv7kAfoRL/iDon8BOhMsGXnsMWBaJ8+IC1zqBQpxwBVqBmE/hcpTvPji/0vVUHc10KRxv0NClgXzw3AwrGLUo2nrkEbfpDP2W/JTAL8+2pNjEdlJFAwy6lISpNbiBzGRqKQMUr4t5NteDy83UogzZQ6DbShfzvl+FOJWsICnXIBLRZGe7X4OnVgUCzBAm9sfN8iDjzHwE0Rv5SLegcEytgtBmIpBtOmRvMGFfGj3XuQSsJ5tOePpnpwlR/o/TB3mViHaXeSTbtFH498gyenAiNrDaUVO30fUW32+RYcoQ/Y8IO3J2LQMj0vqCxpq9jHDp1UPJfDA2BBxfFbI//G227he46hWluez2s4ubTrQHTWAs0lteS3QKEA==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(8936002)(316002)(36756003)(6916009)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?PZ8FHTdjg5HkxzBbuxp7GUTZPF5vCVSgmE9ue9TGO+ePw2diWX5hG6Wzvs?=
 =?iso-8859-1?Q?SxNt71Ey5EZZOINxnwyo6EeXNwu2LMvQ+OBjhCpfIvfUQ5tG4+5g7y6bco?=
 =?iso-8859-1?Q?ToF/VdtBHjMXqxRAJhs26YtqSlsizK0iy32t7zNsiO0bsQPZMPwJWYpldt?=
 =?iso-8859-1?Q?DvNOQpPQoXr2tP0nTWFlPiz10hq7d7NvwAOU6JYTwajwq67xdHcY49cShp?=
 =?iso-8859-1?Q?+ErhWf0Bm8ful0hLw+MHJjzketLZkfZrS6DM+p5E/rGO6whELz6PKhaYMD?=
 =?iso-8859-1?Q?GyRXuPmXj+pZDX5dYXGmZ5NRod2ZxGQqWxyK0l3tVGWuB07kDMNd6e9U8/?=
 =?iso-8859-1?Q?X7V3SeVbO404pyA1EsvGzm8/IkAxnB/iQYzJEQuT7xFEMbgu8NmKkruHyn?=
 =?iso-8859-1?Q?ON8fI61yyKKRn9QSsNFL33Hsf37We/vp/A8Qojp4pw6z/ZgiMi1ad4E4Wr?=
 =?iso-8859-1?Q?cADAJZ72PacQUSqMPt09sSRUUwa7HDxnMWhloYWuTgn2YvEDej7zymjQg6?=
 =?iso-8859-1?Q?wMmlpIjRfk4l6EFXNcRfZALz/cLxB8R1IBj3Dzi13iFHkFjoAgNIy8oiAN?=
 =?iso-8859-1?Q?PW0RPrP+lIL1Srs9cvFP+Fr+2mf1Yr2K7UdiIOM3blUVBIkG0ad+WL5I6d?=
 =?iso-8859-1?Q?kI3H/ya1PFwhRUNd8w8rE0cPbd6s57z3l0EbCv//057l9+4ns819RL1KE9?=
 =?iso-8859-1?Q?ga2aZ8yv7hFRAdLY8WnSX5CEON4gh+XSWqfKp0XjiuANahH1NQHf+nhkq4?=
 =?iso-8859-1?Q?2hOKGbqG2xr46b+0KnSCPtku2Y6fJ94WB+6th4CsuINiQSzEfZtuNNuKVD?=
 =?iso-8859-1?Q?k9/4d0EEUjGWtSF/FP5E1PrIs6tCB27USO5VxKSvsmzhkPuI/gqisjobpo?=
 =?iso-8859-1?Q?sxst/1AxSrdCGN4fh/syaWjSW8pslcF0BlRW+OL9s5Lkht767f0bq3lQBf?=
 =?iso-8859-1?Q?a/H6APwFnOlOfrqS9lPspreFM4BQ0vF9mG0P0i/daQxjISlSW8dALSn84t?=
 =?iso-8859-1?Q?K7ZW4+An2elfHhbQ7ULNoIZrKVzFL8FkJXF/zyfBIB45FM6PuD+7WXn+Nm?=
 =?iso-8859-1?Q?oy4lYkmj7y6z2dIFpBbzbM17F1Ep48ESGTaauQt4EIEvawmsOdSpdFVB37?=
 =?iso-8859-1?Q?PFWq3E25afkvjPQcgLQtkQo4frkwd25fDqQpjs2kiJautwGldt2y4rz0L6?=
 =?iso-8859-1?Q?HW152KCR5DxK+RcMpR1E6selkkXorbbao2suloCOFlqjC5hPOaCZjlkRFo?=
 =?iso-8859-1?Q?iSuRPRqThXAdeyHfKJD/wcekmgokTRPzKT/k6iv4Eitl1fdTptERcaeioh?=
 =?iso-8859-1?Q?Dh6zkH7YDnsU18y3k8h6UkEkx4C2DdnyoBNL6QSBgFpAgAhVGmA1Heuj4I?=
 =?iso-8859-1?Q?gfE0SGGwykMlvPPHMupxQ+itx5z3bW0psub+cAly4qQnJd4MvnFusC0VI3?=
 =?iso-8859-1?Q?2csqfwUjXOEarO6PiaI3zOFKmh7kuJDAhX35JWDt5bjlTh8O5P78RT0d+a?=
 =?iso-8859-1?Q?SnpDKT42uaGedDyXDHmhiUjIR9/j27i9galf3Ee7O+GB45da8xZx7w138B?=
 =?iso-8859-1?Q?WBFKkvirYIWDZBG5wms5o2DBZTF25tH3NX4z0n/A0fGAZ2+JoxDXKwC5Wf?=
 =?iso-8859-1?Q?aIsQhEzp+c8HIMQ77xgRUtFM2VBc+j8k2noXHEPcWk0ccZAIhxBicRhg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 207dc193-9511-4eee-7f4f-08da8b5aa174
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:10:59.7649
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: j7H9tmwfTR/LVzvAnNCcTXa10GGBEDZEBW7CR3cj6pH1oJ+2LxVocBgJBiolrmb7Ef7YMOBwHVTvRTTT2XDb1vDIAIgZWnBv5Q735iXX/cY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: MH5kAkVFCaQRAHFgGeDEACgEtjou0-EB
X-Proofpoint-ORIG-GUID: MH5kAkVFCaQRAHFgGeDEACgEtjou0-EB
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0
 clxscore=1015 mlxscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=813 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208310070

We can use reference counter to ease up object lifetime management.
This patch adds very basic support for reference counters. refcnt
should be used in the following way:

1. Protected structure should have refcnt_t field

2. This field should be initialized with refcnt_init() during object
construction.

3. If code holds a valid pointer to a structure/object it can increase
refcount with refcnt_get(). No additional locking is required.

4. Code should call refcnt_put() before dropping pointer to a
protected structure. `destructor` is a call back function that should
destruct object and free all resources, including structure protected
itself. Destructor will be called if reference counter reaches zero.

5. If code does not hold a valid pointer to a protected structure it
should use other locking mechanism to obtain a pointer. For example,
it should lock a list that hold protected objects.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/include/xen/refcnt.h | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 xen/include/xen/refcnt.h

diff --git a/xen/include/xen/refcnt.h b/xen/include/xen/refcnt.h
new file mode 100644
index 0000000000..7f5395a21c
--- /dev/null
+++ b/xen/include/xen/refcnt.h
@@ -0,0 +1,28 @@
+#ifndef __XEN_REFCNT_H__
+#define __XEN_REFCNT_H__
+
+#include <asm/atomic.h>
+
+typedef atomic_t refcnt_t;
+
+static inline void refcnt_init(refcnt_t *refcnt)
+{
+	atomic_set(refcnt, 1);
+}
+
+static inline void refcnt_get(refcnt_t *refcnt)
+{
+#ifndef NDEBUG
+	ASSERT(atomic_add_unless(refcnt, 1, 0) > 0);
+#else
+	atomic_add_unless(refcnt, 1, 0);
+#endif
+}
+
+static inline void refcnt_put(refcnt_t *refcnt, void (*destructor)(refcnt_=
t *refcnt))
+{
+	if ( atomic_dec_and_test(refcnt) )
+		destructor(refcnt);
+}
+
+#endif
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395689.635563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR9-0004kv-JV; Wed, 31 Aug 2022 14:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395689.635563; Wed, 31 Aug 2022 14:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOR9-0004kb-7k; Wed, 31 Aug 2022 14:11:23 +0000
Received: by outflank-mailman (input) for mailman id 395689;
 Wed, 31 Aug 2022 14:11:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOR7-0002bv-S2
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:22 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8dfbfd1-2936-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 16:11:20 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBo4G8032537;
 Wed, 31 Aug 2022 14:11:03 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ja427h4rd-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:03 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:10:59 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:10:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8dfbfd1-2936-11ed-934f-f50d60e1c1bd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kGiWyStxJ96eYQkm55zDqFJw0GRO0iQYLfvQE6OqmcZTWWmKiil0WB5ZIdgG9ubUeOCj9U8/ESnCpVYZm3iseR+75r+E9RoxqqVgJjNSnojNxEWHhXCNS+m5NgWAqbMA15DkFHVlgJ3gVwb802PhQXYL0T5vEMdE6pfiYWTR2kpUhxcu8o0+u2iOlEbGSw8tMNKSZQwYMhAZGy9eY+lOCZoSJrBkIhTjBChB/eAN6NFBRQlbCLklX00+slewnNg24htSvKEAx+Dt+MbiK78nRbf/T0t+Dw8KlXePqzEV1Tb3c6NuN4F7POvGG5bczMECO/Zkh/14TSxwkLliJmJU+g==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=25h/2px3CnbvvwOgU10bnc4euxiVjUY+0mEFpTjlpHY=;
 b=W+EQP9Q4xZBTySrx+LKwNp26AU7ZRjgnyW/v6k4phljBqbPVVBNA9HVJLEUWzN6WvxfN9rYOqQbVHoEMyE6fgc0dbfr0dAFrjM4mXum54IQ5rIgz5xI8VsGS7gwnClF3ZijWdKnUYlXaTvVMV++AdxCT7Brp9PbwCw4BIooqscnMBsnf0ucRtBp9VJBgSyXO2akrhs1d9naBFBOnNNKS0h3jOTHPme/u/hYTPjfJLdieFptsEW6+zgLz2d1mXGRLYltXtWwMWMZKXVrTg3hn8TOnZDESmEJFCGhzQ5UTd4Z2SvEPQ9oExArCLpjosW4fwrt97SGbptt2i59GGtevFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=25h/2px3CnbvvwOgU10bnc4euxiVjUY+0mEFpTjlpHY=;
 b=XZ022wzN7S6uILbrCuuwT00g3JAKildyTTZ52yq4C0b2oKEvEiZy5F7TWlJOXm4rPnYD2yAiw6UCtvZFUl52picBNi8XHzeZach8jWZk91XyxClBloZSiM+yJzw+Q7yC94VvEiIp+yI2TY+/lOrBxnA/9KOR0bVihZHQn1r9knKDZiiAdn8zR3FMPfZE4Qy84bbBGYjdMAPg+6K38RjrVi9irgIcgGk2sZxAKqYto3BmiFtlUeQlBfcJDkBxQ4DmzOBFSalviB0Zp4WVJiysvf2S8CdyMooPEst6iMhEsV6HOOpbmRm3xeL/4oLyrKBCvaUiar4K81VgfzExKrHQdA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
        Paul Durrant
	<paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
        Kevin Tian <kevin.tian@intel.com>
Subject: [RFC PATCH 01/10] xen: pci: add per-domain pci list lock
Thread-Topic: [RFC PATCH 01/10] xen: pci: add per-domain pci list lock
Thread-Index: AQHYvUN+sHWq0w//vE+eH46Zd/aTJw==
Date: Wed, 31 Aug 2022 14:10:58 +0000
Message-ID: <20220831141040.13231-2-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 11e52c0a-185d-407a-fde0-08da8b5aa0ee
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 O6cVO4Wn0KOBsr+G4queNNIxca/x5e3lDSpNf8YZI/CxvhGzF3Ep5hTJKWp0c+zULKaIiLkfQv7TU8LqZP7XKkkfC3YhNCpxxwdOnpkEc1+XsF/IhkU9iQ15LGJXLOOqqRzEtCEw/n8fL7oy2G3YzoDdW5CS6HQsixUGnX+UyXEpG/4Cv/LQBqVJsho8OUSR/7W1VRwvWVNM6wADuN8kW3zoEAN+zz2N93gEP9pme3rtlYwmF17QHxSZKA43gWboRzXrlN4MCxDv2PCmL9asa5jzFJSn+XIlNF5lYS5Ke8+PPdW7LUv6wPYnb24869Nw6GWP6ekNoD5+kfIvGcu5c+x6LKK0bBTblxDlZ/+x3FjNUmz91OcIobTslJcROI01DsJNAdnIw0wALp6PdQtJxOowkRPwQLYnmw7nt5001DbEyjpx6Ss7zDJxycRnbYvoohi4Im0K0zWKJWogiVqbUD3SXdJAcgfzCG9KFOix+IrSBse9DW6lLl2NHEmKH9hPJm7vkwLIKW9HNlJH9M8Q4KFB/B+OuTFA6pQxDUQIuzn7ALebCcndZGWSINBgvYZ0U/CcgMa/lyZTGpeVjCTwBR38Un0J6/xcF6qzLSzYsXupapq9mP8OZ6shOGnG5jsOGbVaf/5a5kMwiiqICh+kATx8xrvdaMhdFgwc5UjwcExOj9PQx5JBL8l6rPQZMDaINdBDFMysO4B2VEpUfMTPlgSzStnoIoMoECoc8ANbVM2jeoncVXetmLgwzekSm8aK/f59i7Ip9MOeQv0ps5rs7g==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(7416002)(8936002)(316002)(36756003)(6916009)(30864003)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?j8B963qYf7prYz6OAn7DZGHoUFazNkkji6ZFWreDgWiJL80elKDkJVUkCH?=
 =?iso-8859-1?Q?d3FE3Z+slL6SGOlzpqAmKfOa+cOCVVBZh0EIIY/5HcN9gmOB1ZTz+bd36r?=
 =?iso-8859-1?Q?gt2Y0NZJuoNWxDgLDo36sWUz7izpvNo3HTUZl1rBJt9YbvVfzIqfUbmn8q?=
 =?iso-8859-1?Q?sSe5CNkQ6XHfPpi+nYMCA9rqgG5rEUerNdZzI+9CKidz9hxKsAJMPJUkE7?=
 =?iso-8859-1?Q?R3h3iE/UAS2sYyE/RDg8RC0bo8XWfTTBeh7papA4Hkjhs8J+yrZ3AgHT9B?=
 =?iso-8859-1?Q?vIV6cFVoq6BGlBQHCwjmq9CAw5F2LkYJ9MeL+UILtrVcZ2mIS00X5tTfYK?=
 =?iso-8859-1?Q?smtT1iPql9GM0EqNea5cuNkqTcriqgN6Y+RShw1pZk0QClEFEdA3oeryMW?=
 =?iso-8859-1?Q?ZDWK3mII18e0r6/1C8fOCri+uDEHxLAgejeXMgoB+++roemiq6goyuJCkK?=
 =?iso-8859-1?Q?asAWOYG0f/fLL1PKMADiv4+clAvY1ouruNAELEGKu09DndnwEFM3/6f1qI?=
 =?iso-8859-1?Q?Vusia1SAD1qBRengakT8jqY2dppAgNstrxFa7BpZlwkULJ7exqFH2a2jvZ?=
 =?iso-8859-1?Q?9e70h99nKqmOBDvCSwu3OCRvt33zbGdclNHkOFLpLHpulLWe4cdHm8cdO3?=
 =?iso-8859-1?Q?XR7vASo9TcKikshUbiXY7pbctzobYJ7OmolHnSebT0cu2+5KeG+K9xSj/F?=
 =?iso-8859-1?Q?W6uNO4+Zbbx/k+nMB2JFkWvu95ZqjjFsISYbsmNJayJ23pcsVlEs5Km4sL?=
 =?iso-8859-1?Q?i/UiB/lrzbpWJQ3tMgHQkqiHQz56LvTX2gdxtjw9eoc9BsVEspSSuuCfkK?=
 =?iso-8859-1?Q?rkiI64y8vxAahK2fVgc/Yt3TdF3GxIiCCSwCPhX9iIhbKb8p+nodFFnLlO?=
 =?iso-8859-1?Q?roEi7vKWekuPcr33huF0KGzOyrq9RE6cp7ibGF19zZsHWOJ6hoicRKB7LS?=
 =?iso-8859-1?Q?dj2yS+AaRQPgqj0PC4p0HSbTQuMZrGSfGcJ3bwN7nH3uWBlpfELXpS/gZO?=
 =?iso-8859-1?Q?KgmKNwwaavsDR2JRt992pxpiSwe85h1cf/roEbubKVf+oYXjAD8I5oivjY?=
 =?iso-8859-1?Q?IigkuQO5WugV/w54J9SOSHnLe9rgD2Uf/AdhlcM9nXm3KvUvFj8Trv6TM0?=
 =?iso-8859-1?Q?POFiZYO6MrrmeyHwba+4qVxb5Wo0XNAG2d7RjBG15hFWdliQh0fm5QGuoe?=
 =?iso-8859-1?Q?WpeMQDt5jW1zlB5BdwSzzq1YOwbKbsY0xxIljMavDlYJmaC35mMB2yidYR?=
 =?iso-8859-1?Q?t3xbTwGrHbL2GOGzORZiVIbWN09A8pId2v418yhMUVDWkPXGSFhy/FbH6v?=
 =?iso-8859-1?Q?8uh0G5PgWbLiV+d0CaVFDtrSsKi41FUFBsJgllDSrH+eAzv+z1DqqDNETA?=
 =?iso-8859-1?Q?uHsKKTouOdONB2f41h/S2UxaE1V4YmeIJJxByjoodJzWHOL/d+4KO108Yf?=
 =?iso-8859-1?Q?xPhzElSyWcM9rXQblaj2XkyeezvPUHgHi3Fwc7SPkyvLpLJ0P8aTaF2yQc?=
 =?iso-8859-1?Q?3zBN4ZAZBG6vq6z4OcniIbKmZfFdI1URMEsqUlO/pmQDdGOqdczkMsjFMT?=
 =?iso-8859-1?Q?Hwt1+oKlAJnpP0INqqxDcbAskVPu/4GIJSK4otPPps3ax/aaZO6kQJT2ey?=
 =?iso-8859-1?Q?zqoLRz2qQbhCPZTLfRGoQ1MP/TP2tTSyPWHM3gk4WK94Mgaj8+XSwwFA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 11e52c0a-185d-407a-fde0-08da8b5aa0ee
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:10:58.9056
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Fd8Z4dAKIksYfLRLWQ4jPRXzhMktFgigUaWYBlilYF70wg0rxCj6n2GPUDtGB+vF8GJm9LdeMjXjVW9cxilT9I+4pfb7wVsMBTSdOfmTnkM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: yiKzlP3Rj-7UJUd3WzViieXMPjjVUZ3K
X-Proofpoint-ORIG-GUID: yiKzlP3Rj-7UJUd3WzViieXMPjjVUZ3K
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0
 clxscore=1015 mlxscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=999 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208310070

domain->pdevs_lock protects access to domain->pdev_list.
As this, it should be used when we are adding, removing on enumerating
PCI devices assigned to a domain.

This enables more granular locking instead of one huge pcidevs_lock that
locks entire PCI subsystem. Please note that pcidevs_lock() is still
used, we are going to remove it in subsequent patches.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/common/domain.c                         |  1 +
 xen/drivers/passthrough/amd/iommu_cmd.c     |  4 ++-
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  7 ++++-
 xen/drivers/passthrough/pci.c               | 29 ++++++++++++++++++++-
 xen/drivers/passthrough/vtd/iommu.c         |  9 +++++--
 xen/drivers/vpci/header.c                   |  3 +++
 xen/drivers/vpci/msi.c                      |  7 ++++-
 xen/drivers/vpci/vpci.c                     |  4 +--
 xen/include/xen/pci.h                       |  2 +-
 xen/include/xen/sched.h                     |  1 +
 10 files changed, 58 insertions(+), 9 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 7062393e37..4611141b87 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -618,6 +618,7 @@ struct domain *domain_create(domid_t domid,
=20
 #ifdef CONFIG_HAS_PCI
     INIT_LIST_HEAD(&d->pdev_list);
+    spin_lock_init(&d->pdevs_lock);
 #endif
=20
     /* All error paths can depend on the above setup. */
diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthro=
ugh/amd/iommu_cmd.c
index 40ddf366bb..47c45398d4 100644
--- a/xen/drivers/passthrough/amd/iommu_cmd.c
+++ b/xen/drivers/passthrough/amd/iommu_cmd.c
@@ -308,11 +308,12 @@ void amd_iommu_flush_iotlb(u8 devfn, const struct pci=
_dev *pdev,
     flush_command_buffer(iommu, iommu_dev_iotlb_timeout);
 }
=20
-static void amd_iommu_flush_all_iotlbs(const struct domain *d, daddr_t dad=
dr,
+static void amd_iommu_flush_all_iotlbs(struct domain *d, daddr_t daddr,
                                        unsigned int order)
 {
     struct pci_dev *pdev;
=20
+    spin_lock(&d->pdevs_lock);
     for_each_pdev( d, pdev )
     {
         u8 devfn =3D pdev->devfn;
@@ -323,6 +324,7 @@ static void amd_iommu_flush_all_iotlbs(const struct dom=
ain *d, daddr_t daddr,
         } while ( devfn !=3D pdev->devfn &&
                   PCI_SLOT(devfn) =3D=3D PCI_SLOT(pdev->devfn) );
     }
+    spin_unlock(&d->pdevs_lock);
 }
=20
 /* Flush iommu cache after p2m changes. */
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/pass=
through/amd/pci_amd_iommu.c
index 4ba8e764b2..64c016491d 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -96,20 +96,25 @@ static int __must_check allocate_domain_resources(struc=
t domain *d)
     return rc;
 }
=20
-static bool any_pdev_behind_iommu(const struct domain *d,
+static bool any_pdev_behind_iommu(struct domain *d,
                                   const struct pci_dev *exclude,
                                   const struct amd_iommu *iommu)
 {
     const struct pci_dev *pdev;
=20
+    spin_lock(&d->pdevs_lock);
     for_each_pdev ( d, pdev )
     {
         if ( pdev =3D=3D exclude )
             continue;
=20
         if ( find_iommu_for_device(pdev->seg, pdev->sbdf.bdf) =3D=3D iommu=
 )
+	{
+	    spin_unlock(&d->pdevs_lock);
             return true;
+	}
     }
+    spin_unlock(&d->pdevs_lock);
=20
     return false;
 }
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index cdaf5c247f..4366f8f965 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -523,7 +523,9 @@ static void __init _pci_hide_device(struct pci_dev *pde=
v)
     if ( pdev->domain )
         return;
     pdev->domain =3D dom_xen;
+    spin_lock(&dom_xen->pdevs_lock);
     list_add(&pdev->domain_list, &dom_xen->pdev_list);
+    spin_unlock(&dom_xen->pdevs_lock);
 }
=20
 int __init pci_hide_device(unsigned int seg, unsigned int bus,
@@ -595,7 +597,7 @@ struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf)
     return pdev;
 }
=20
-struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf)
+struct pci_dev *pci_get_pdev(struct domain *d, pci_sbdf_t sbdf)
 {
     struct pci_dev *pdev;
=20
@@ -620,9 +622,16 @@ struct pci_dev *pci_get_pdev(const struct domain *d, p=
ci_sbdf_t sbdf)
                 return pdev;
     }
     else
+    {
+        spin_lock(&d->pdevs_lock);
         list_for_each_entry ( pdev, &d->pdev_list, domain_list )
             if ( pdev->sbdf.bdf =3D=3D sbdf.bdf )
+            {
+                spin_unlock(&d->pdevs_lock);
                 return pdev;
+            }
+        spin_unlock(&d->pdevs_lock);
+    }
=20
     return NULL;
 }
@@ -817,7 +826,9 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
     if ( !pdev->domain )
     {
         pdev->domain =3D hardware_domain;
+        spin_lock(&hardware_domain->pdevs_lock);
         list_add(&pdev->domain_list, &hardware_domain->pdev_list);
+        spin_unlock(&hardware_domain->pdevs_lock);
=20
         /*
          * For devices not discovered by Xen during boot, add vPCI handler=
s
@@ -827,7 +838,9 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
         if ( ret )
         {
             printk(XENLOG_ERR "Setup of vPCI failed: %d\n", ret);
+            spin_lock(&pdev->domain->pdevs_lock);
             list_del(&pdev->domain_list);
+            spin_unlock(&pdev->domain->pdevs_lock);
             pdev->domain =3D NULL;
             goto out;
         }
@@ -835,7 +848,9 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
         if ( ret )
         {
             vpci_remove_device(pdev);
+            spin_lock(&pdev->domain->pdevs_lock);
             list_del(&pdev->domain_list);
+            spin_unlock(&pdev->domain->pdevs_lock);
             pdev->domain =3D NULL;
             goto out;
         }
@@ -885,7 +900,11 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
             pci_cleanup_msi(pdev);
             ret =3D iommu_remove_device(pdev);
             if ( pdev->domain )
+            {
+                spin_lock(&pdev->domain->pdevs_lock);
                 list_del(&pdev->domain_list);
+                spin_unlock(&pdev->domain->pdevs_lock);
+            }
             printk(XENLOG_DEBUG "PCI remove device %pp\n", &pdev->sbdf);
             free_pdev(pseg, pdev);
             break;
@@ -967,12 +986,14 @@ int pci_release_devices(struct domain *d)
         pcidevs_unlock();
         return ret;
     }
+    spin_lock(&d->pdevs_lock);
     list_for_each_entry_safe ( pdev, tmp, &d->pdev_list, domain_list )
     {
         bus =3D pdev->bus;
         devfn =3D pdev->devfn;
         ret =3D deassign_device(d, pdev->seg, bus, devfn) ?: ret;
     }
+    spin_unlock(&d->pdevs_lock);
     pcidevs_unlock();
=20
     return ret;
@@ -1194,7 +1215,9 @@ static int __hwdom_init cf_check _setup_hwdom_pci_dev=
ices(
             if ( !pdev->domain )
             {
                 pdev->domain =3D ctxt->d;
+                spin_lock(&pdev->domain->pdevs_lock);
                 list_add(&pdev->domain_list, &ctxt->d->pdev_list);
+                spin_unlock(&pdev->domain->pdevs_lock);
                 setup_one_hwdom_device(ctxt, pdev);
             }
             else if ( pdev->domain =3D=3D dom_xen )
@@ -1556,6 +1579,7 @@ static int iommu_get_device_group(
         return group_id;
=20
     pcidevs_lock();
+    spin_lock(&d->pdevs_lock);
     for_each_pdev( d, pdev )
     {
         unsigned int b =3D pdev->bus;
@@ -1571,6 +1595,7 @@ static int iommu_get_device_group(
         if ( sdev_id < 0 )
         {
             pcidevs_unlock();
+            spin_unlock(&d->pdevs_lock);
             return sdev_id;
         }
=20
@@ -1581,6 +1606,7 @@ static int iommu_get_device_group(
             if ( unlikely(copy_to_guest_offset(buf, i, &bdf, 1)) )
             {
                 pcidevs_unlock();
+                spin_unlock(&d->pdevs_lock);
                 return -EFAULT;
             }
             i++;
@@ -1588,6 +1614,7 @@ static int iommu_get_device_group(
     }
=20
     pcidevs_unlock();
+    spin_unlock(&d->pdevs_lock);
=20
     return i;
 }
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/=
vtd/iommu.c
index 62e143125d..fff1442265 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -183,12 +183,13 @@ static void cleanup_domid_map(domid_t domid, struct v=
td_iommu *iommu)
     }
 }
=20
-static bool any_pdev_behind_iommu(const struct domain *d,
+static bool any_pdev_behind_iommu(struct domain *d,
                                   const struct pci_dev *exclude,
                                   const struct vtd_iommu *iommu)
 {
     const struct pci_dev *pdev;
=20
+    spin_lock(&d->pdevs_lock);
     for_each_pdev ( d, pdev )
     {
         const struct acpi_drhd_unit *drhd;
@@ -198,8 +199,12 @@ static bool any_pdev_behind_iommu(const struct domain =
*d,
=20
         drhd =3D acpi_find_matched_drhd_unit(pdev);
         if ( drhd && drhd->iommu =3D=3D iommu )
+        {
+            spin_unlock(&d->pdevs_lock);
             return true;
+        }
     }
+    spin_unlock(&d->pdevs_lock);
=20
     return false;
 }
@@ -208,7 +213,7 @@ static bool any_pdev_behind_iommu(const struct domain *=
d,
  * If no other devices under the same iommu owned by this domain,
  * clear iommu in iommu_bitmap and clear domain_id in domid_bitmap.
  */
-static void check_cleanup_domid_map(const struct domain *d,
+static void check_cleanup_domid_map(struct domain *d,
                                     const struct pci_dev *exclude,
                                     struct vtd_iommu *iommu)
 {
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index a1c928a0d2..a59aa7ad0b 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -267,6 +267,7 @@ static int modify_bars(const struct pci_dev *pdev, uint=
16_t cmd, bool rom_only)
      * Check for overlaps with other BARs. Note that only BARs that are
      * currently mapped (enabled) are checked for overlaps.
      */
+    spin_lock(&pdev->domain->pdevs_lock);
     for_each_pdev ( pdev->domain, tmp )
     {
         if ( tmp =3D=3D pdev )
@@ -306,11 +307,13 @@ static int modify_bars(const struct pci_dev *pdev, ui=
nt16_t cmd, bool rom_only)
                 printk(XENLOG_G_WARNING "Failed to remove [%lx, %lx]: %d\n=
",
                        start, end, rc);
                 rangeset_destroy(mem);
+                spin_unlock( &pdev->domain->pdevs_lock);
                 return rc;
             }
         }
     }
=20
+    spin_unlock( &pdev->domain->pdevs_lock);
     ASSERT(dev);
=20
     if ( system_state < SYS_STATE_active )
diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
index 8f2b59e61a..8969c335b0 100644
--- a/xen/drivers/vpci/msi.c
+++ b/xen/drivers/vpci/msi.c
@@ -265,7 +265,7 @@ REGISTER_VPCI_INIT(init_msi, VPCI_PRIORITY_LOW);
=20
 void vpci_dump_msi(void)
 {
-    const struct domain *d;
+    struct domain *d;
=20
     rcu_read_lock(&domlist_read_lock);
     for_each_domain ( d )
@@ -277,6 +277,9 @@ void vpci_dump_msi(void)
=20
         printk("vPCI MSI/MSI-X d%d\n", d->domain_id);
=20
+        if ( !spin_trylock(&d->pdevs_lock) )
+            continue;
+
         for_each_pdev ( d, pdev )
         {
             const struct vpci_msi *msi;
@@ -326,6 +329,8 @@ void vpci_dump_msi(void)
             spin_unlock(&pdev->vpci->lock);
             process_pending_softirqs();
         }
+        spin_unlock(&d->pdevs_lock);
+
     }
     rcu_read_unlock(&domlist_read_lock);
 }
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 3467c0de86..7d1f9fd438 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -312,7 +312,7 @@ static uint32_t merge_result(uint32_t data, uint32_t ne=
w, unsigned int size,
=20
 uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
 {
-    const struct domain *d =3D current->domain;
+    struct domain *d =3D current->domain;
     const struct pci_dev *pdev;
     const struct vpci_register *r;
     unsigned int data_offset =3D 0;
@@ -415,7 +415,7 @@ static void vpci_write_helper(const struct pci_dev *pde=
v,
 void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
                 uint32_t data)
 {
-    const struct domain *d =3D current->domain;
+    struct domain *d =3D current->domain;
     const struct pci_dev *pdev;
     const struct vpci_register *r;
     unsigned int data_offset =3D 0;
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 5975ca2f30..19047b4b20 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -177,7 +177,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
 int pci_remove_device(u16 seg, u8 bus, u8 devfn);
 int pci_ro_device(int seg, int bus, int devfn);
 int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devfn=
);
-struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf);
+struct pci_dev *pci_get_pdev(struct domain *d, pci_sbdf_t sbdf);
 struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf);
 void pci_check_disable_device(u16 seg, u8 bus, u8 devfn);
=20
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 1cf629e7ec..0775228ba9 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -457,6 +457,7 @@ struct domain
=20
 #ifdef CONFIG_HAS_PCI
     struct list_head pdev_list;
+    spinlock_t pdevs_lock;
 #endif
=20
 #ifdef CONFIG_HAS_PASSTHROUGH
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395690.635570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTORA-0004wP-E6; Wed, 31 Aug 2022 14:11:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395690.635570; Wed, 31 Aug 2022 14:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTORA-0004u6-4T; Wed, 31 Aug 2022 14:11:24 +0000
Received: by outflank-mailman (input) for mailman id 395690;
 Wed, 31 Aug 2022 14:11:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOR8-0002bv-HB
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:22 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8a5b30f-2936-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 16:11:20 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBo4GF032537;
 Wed, 31 Aug 2022 14:11:08 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ja427h4rd-8
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:08 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:11:01 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:11:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8a5b30f-2936-11ed-934f-f50d60e1c1bd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BylhPzfMiZD/a3ix4uXkaPyXO2X3+A4M8LLD/FrCC5n455S/y5awC784zdtc4QDGC969dPhCvf9v6CsBUKVPphMBBUhBSZY/Lua4mr+L1/mbbt+R1LVWGfvnu987g9yJQY8F635tZBwXFBDSIPvYuU+ogo7TPQYJlCY7qI1niG5atLrUrJzJfSvFyArAtbmUj1PVMY46iKTdLe7mHoi2SfFQTKYj3UiuJlIfGnqN7JcMBK2yRwXxun5Rb4C9AJdBiwCkwoJk5XWMI0YdD9Qh2TqBP6bcPTqlBjlH9XcGwthXU7wuY+60FHLAm1xe2FlLWxsYRJIPmNN+JG0NL4Xqfw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LiizKjLCyBEAFE8BknfyWCXpKCtSOHBlrRlnh2irPYc=;
 b=CJXfYLGxTiE7nZ/3XDUXjQZi10iID28k4aA3glU1mdyrg5ZBB5NslWilecEntzy8LCpBw7Oa5LcbFwqbWkpr2T+1wEfUJit4XPSj+10ZDIXqHjaAV7fdu65xwYDopo1GgUszPLpgOOXS3hfEmcY82ZpKS9kvPKiPSCdeF3uQGFOmpIXWnk/8ukxVwQN5xZkhNmIX3hsXsTBXjqpLfGvlgbdkO9+DwXZq1J0KEML+00xWoNRmvZorqhtt7CQtrDgSckK+f7JbWaKDFvOlJv8stZebpir2Mt9H3iH9/0nP+RfqmxOzuA4JuFWxojmnAQAz02SchXuMkgN2jpUA5ALI0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LiizKjLCyBEAFE8BknfyWCXpKCtSOHBlrRlnh2irPYc=;
 b=rnA3SGKVZ6CjI2yzG8Zo6giGzXYWPfCAGw1PGRDpErlajt6xXe1AbBVQq1AjJbV6/gTW5Q0im23kwxxQFxluVKX7U2jYr/HW+MJ8QRsBPjWxVaL3TDDDrHPrJNfU0VpygEYGT8P+A44V8ap/T4UiepZOECk5Qn3agas13lQKwN3D9YAMMt4sEdzpvJI7VzzYtx/UYMvDNw19rLmZU0x50KTalu+wcVacd0quKeeJ7IKPFYosnjSaQqa3x2jz3x1vfKhOvWa7golH8Az5cadabLKAPB+vab+ySdtpb/vQG3H0TXzPSH+qJgFUcPCNkJGluP2hPHszwXwTDrgpRr9PIA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Jan Beulich <jbeulich@suse.com>,
        Andrew
 Cooper <andrew.cooper3@citrix.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>,
        Julien Grall <julien@xen.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Paul Durrant <paul@xen.org>, Kevin Tian
	<kevin.tian@intel.com>
Subject: [RFC PATCH 08/10] xen: pci: remove pcidev_[un]lock[ed] calls
Thread-Topic: [RFC PATCH 08/10] xen: pci: remove pcidev_[un]lock[ed] calls
Thread-Index: AQHYvUN/BRbyNewJG0OqhFjBUWUt7Q==
Date: Wed, 31 Aug 2022 14:11:01 +0000
Message-ID: <20220831141040.13231-9-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 43e7eaa6-475c-4549-5b42-08da8b5aa278
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 fY4dwPhqrYUvR6va25FXVt+QM+VZvdj/8671K3X8ygBNS8GyBFVd4Tnb0eYZ13rFfQ82xwWmtgEOKJDUOnW99KAkYnIiN0wz6F+ZLVFxQiZH4fGc8XYq6aTxo8DYjF6oMioMyXetZvfhhLGnSfTqYvMDKUQoxeTj8KpxsMtQHWkCtKfBOU6AimMOfzRnNFZqBHeo0GW1hrnNHDqKXujxBD0k6hz6/DE2xuKIyq3QiMXhrm46Bu/repkzaXY5rlwFB0ZPqQAqmhfiW8IXuII7u8e/PYbgYyB5e2X/WJ1v9SwNq1/JCkbBNock2S/J6XxGgKXoe7xSt043PGK/0RFPE8C2ScQYEq/GTvfCJJ/1pplRTGeU1FU3yImC0zqRfMM1rWcbW+lH4tWVdpRwsub7bArMoMwuNBx0w+LvE0S9aqLQSV96FW2qOf1YMK2BLB1XpdFosZR5YvPD4AqM9gQpM3GwJThWMKeKEXAOIK8K6SGt77poFnuxUOjge9RRUtXa4y6YgrIUdgRs6nCiBlLvQ9A36ahoVt96lhwOlGkNHgEaj0M0y+tMeSI/DDlQk9H6K/pynev29HI9Zl7Gc3N3pjurEoiOiFpYIBsbjj/aRhxXlzuuefnzpB8iG/3kgy2g9tcOR6ubl+P1NDInzdADLoALvADaxcFaQ8hElezNJW+J7pX+nDMH+etidJm6nwjgH9Vb5TzQXbnpb46Tc4p1r98jfkAj+AGBaRlxbqVE+tCBD5GsLNG7wexAH3VrclRzBPeyjO9O9/hTlSRDnv4otYKKXiTkTID2bl1qTCyOg7s=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(7416002)(8936002)(316002)(36756003)(6916009)(30864003)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002)(21314003)(579004)(559001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?i4WCKy2gPNX2cRjthJVXDpyy1ku0SH2n0McEZn93mJlYxXtEwFeZ5ObNqm?=
 =?iso-8859-1?Q?4Ixgl9gRE+mRGUC7vql0i+e7Kli/FvFFQFieUSZiPd63uzwKM3GTzSLPcQ?=
 =?iso-8859-1?Q?S+bsbUCPbZzbZzymXEl6FqY5joWgyGfLGbP/f1TZOQOyL63L4ynjLAfx+E?=
 =?iso-8859-1?Q?nEeZQX/tlrYGXTR/U580FxvZt6VSRQG7nTBtASmvINhpKYgKQmk6gqPh4p?=
 =?iso-8859-1?Q?7szYh4WJJPLgvYCeYpUUrgFfF91EPXV9lDheIl5RikH+/hT8G9XwynH24L?=
 =?iso-8859-1?Q?sy+RqiMBbLpFEMr0qzFCF7LLejGocbQ/v2PrXyc5MxQsc/2MAiu7MrObva?=
 =?iso-8859-1?Q?WREpGLlMM6LkBq/U3b0P8iQI7ABglN3NahRMPNv5WzwO2x1VoD8W4c6neY?=
 =?iso-8859-1?Q?k9bRfYomU2o9f8fLUzLpQ6JGnl/qaFgCFhenF0DCtTqTec68fmpyfp/doD?=
 =?iso-8859-1?Q?1OqqJ1KfGuKzv3U6rYanmELLJgEh5weFSuVq6GDCr2CSctS3lLTjQWxgr2?=
 =?iso-8859-1?Q?PEk+vXyKXKapAAdL6Pz6O01AYjOUJCy5ekc2TfsObEmgkVXoexTSOWL2Yg?=
 =?iso-8859-1?Q?n92ZRcwb1ZEnvcExVAZAzjkulNoKhEzXGGyAKPCuRMtQ0KNj+4DyObgUaI?=
 =?iso-8859-1?Q?4CBcQAodfFLsycqels3ymWQSnp7PfzpNlXd4D2KGyMX9h8C8G02wnkk7ox?=
 =?iso-8859-1?Q?DbS/hq/4RgKdvCNH+Q7Z/Q3kaYcYxEVRKyCrQ97Ncr3/hjyJpmGiXMEDHR?=
 =?iso-8859-1?Q?pNYQWMUuTyW5J6k8LSL1u5ZlrSNJmecCrymadyFDoJZqnryDrKE5X3mkzu?=
 =?iso-8859-1?Q?ZboSPUn5sllnELu5Fn7Kqy50sFq8tRHb9f/K7TWOwtkTfrhR0sAqk9Okmt?=
 =?iso-8859-1?Q?VHv0HDhmjnOriteBqblujvHXMALW9RVok90wr0YJixOADqAE0/ExIb+Dje?=
 =?iso-8859-1?Q?IpF6XmycKVjL62ah3CiWfVvLwUsmVY8660pweR9a/CJXLEPrI6N+O7GWKv?=
 =?iso-8859-1?Q?mH0XkHcgGYi8Hv0WPDx9x0pN5QTZrjsbfPH+EtQdKKiBZbwQb26L9tQgCw?=
 =?iso-8859-1?Q?jum8HzGvv4YBk58D721CLLYjXx5ukKSnt3sW4d/0vXH0YJW5Vsqm1fvHB/?=
 =?iso-8859-1?Q?tuV6EFKmC9pHjVP25EpoIuOUvIih+fGsgh6+3wqgux2w2saxjtlZ8Ib9vt?=
 =?iso-8859-1?Q?Y9gi3ujmrp7qmBbS9ajV+4nTLD+1Rf7fIZWP74rXlYhV4MbOABfHu8siQg?=
 =?iso-8859-1?Q?iUVW7ld0Qi+7KzzRIUTrMWNHDc21/wvmQ++RoXYP1PIe3vsGIgqBjDu3EO?=
 =?iso-8859-1?Q?VQgDMpWzQ4M86Z4LwboFTRWrzggqYoihUSBxj01t92aclK6QaKZsyHWSxs?=
 =?iso-8859-1?Q?ypwuvI+1u8MVS8tk/Iie1FY2v/0DlzEU8Abmv2cmlwD3zlfUzwqNtIEpfT?=
 =?iso-8859-1?Q?P51Xm978n+QIUOUEMfYp5uos8VRK4Nfst/2WmDkbC/KDaXuETE39lnFk3e?=
 =?iso-8859-1?Q?PLJYMZQ7TmGbfoKlAYVNBn9lgk0JJMxlT7LknL2gfQLhTUXwGi70pD7BFN?=
 =?iso-8859-1?Q?rwkvbtnSj21ATDqwttNCkcj2ych5pXnqM5UZYuepFZMiMfC0Y7KfY+Kwro?=
 =?iso-8859-1?Q?3kiiO79rAcIJigRBSTQlXLiYsTZb6jPKNYdRjh9xWOTcUy9GdeG7rTbg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43e7eaa6-475c-4549-5b42-08da8b5aa278
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:11:01.4991
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Pz8Nsf2rqRneOLWVXiES3m1n/mKV12QukkHumg5mwgbOxelyIBIzLSQMr1mWLDwsWUGz0qXJOZweu9Tfw9mKDVTzwcTgCLcac4PLVocEi+I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: ejVwXPRGnwer7_PrxgkE1CwtrtoWDyIO
X-Proofpoint-ORIG-GUID: ejVwXPRGnwer7_PrxgkE1CwtrtoWDyIO
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0
 clxscore=1015 mlxscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=999 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208310070

As pci devices are refcounted now and all list that store them are
protected by separate locks, we can safely drop global pcidevs_lock.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/arch/x86/domctl.c                       |  8 ---
 xen/arch/x86/hvm/vioapic.c                  |  2 -
 xen/arch/x86/hvm/vmsi.c                     | 12 ----
 xen/arch/x86/irq.c                          |  7 ---
 xen/arch/x86/msi.c                          | 11 ----
 xen/arch/x86/pci.c                          |  4 --
 xen/arch/x86/physdev.c                      |  7 +--
 xen/common/sysctl.c                         |  2 -
 xen/drivers/char/ns16550.c                  |  4 --
 xen/drivers/passthrough/amd/iommu_init.c    |  7 ---
 xen/drivers/passthrough/amd/iommu_map.c     |  5 --
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  4 --
 xen/drivers/passthrough/pci.c               | 63 +--------------------
 xen/drivers/passthrough/vtd/iommu.c         |  8 ---
 xen/drivers/video/vga.c                     |  2 -
 15 files changed, 4 insertions(+), 142 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 020df615bd..9f4ca03385 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -537,11 +537,7 @@ long arch_do_domctl(
=20
         ret =3D -ESRCH;
         if ( is_iommu_enabled(d) )
-        {
-            pcidevs_lock();
             ret =3D pt_irq_create_bind(d, bind);
-            pcidevs_unlock();
-        }
         if ( ret < 0 )
             printk(XENLOG_G_ERR "pt_irq_create_bind failed (%ld) for dom%d=
\n",
                    ret, d->domain_id);
@@ -566,11 +562,7 @@ long arch_do_domctl(
             break;
=20
         if ( is_iommu_enabled(d) )
-        {
-            pcidevs_lock();
             ret =3D pt_irq_destroy_bind(d, bind);
-            pcidevs_unlock();
-        }
         if ( ret < 0 )
             printk(XENLOG_G_ERR "pt_irq_destroy_bind failed (%ld) for dom%=
d\n",
                    ret, d->domain_id);
diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
index cb7f440160..aa4e7766a3 100644
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -197,7 +197,6 @@ static int vioapic_hwdom_map_gsi(unsigned int gsi, unsi=
gned int trig,
         return ret;
     }
=20
-    pcidevs_lock();
     ret =3D pt_irq_create_bind(currd, &pt_irq_bind);
     if ( ret )
     {
@@ -207,7 +206,6 @@ static int vioapic_hwdom_map_gsi(unsigned int gsi, unsi=
gned int trig,
         unmap_domain_pirq(currd, pirq);
         write_unlock(&currd->event_lock);
     }
-    pcidevs_unlock();
=20
     return ret;
 }
diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index c9e5f279c5..344bbd646c 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -470,7 +470,6 @@ int msixtbl_pt_register(struct domain *d, struct pirq *=
pirq, uint64_t gtable)
     struct msixtbl_entry *entry, *new_entry;
     int r =3D -EINVAL;
=20
-    ASSERT(pcidevs_locked());
     ASSERT(rw_is_write_locked(&d->event_lock));
=20
     if ( !msixtbl_initialised(d) )
@@ -540,7 +539,6 @@ void msixtbl_pt_unregister(struct domain *d, struct pir=
q *pirq)
     struct pci_dev *pdev;
     struct msixtbl_entry *entry;
=20
-    ASSERT(pcidevs_locked());
     ASSERT(rw_is_write_locked(&d->event_lock));
=20
     if ( !msixtbl_initialised(d) )
@@ -686,8 +684,6 @@ static int vpci_msi_update(const struct pci_dev *pdev, =
uint32_t data,
 {
     unsigned int i;
=20
-    ASSERT(pcidevs_locked());
-
     if ( (address & MSI_ADDR_BASE_MASK) !=3D MSI_ADDR_HEADER )
     {
         gdprintk(XENLOG_ERR, "%pp: PIRQ %u: unsupported address %lx\n",
@@ -728,7 +724,6 @@ void vpci_msi_arch_update(struct vpci_msi *msi, const s=
truct pci_dev *pdev)
=20
     ASSERT(msi->arch.pirq !=3D INVALID_PIRQ);
=20
-    pcidevs_lock();
     for ( i =3D 0; i < msi->vectors && msi->arch.bound; i++ )
     {
         struct xen_domctl_bind_pt_irq unbind =3D {
@@ -747,7 +742,6 @@ void vpci_msi_arch_update(struct vpci_msi *msi, const s=
truct pci_dev *pdev)
=20
     msi->arch.bound =3D !vpci_msi_update(pdev, msi->data, msi->address,
                                        msi->vectors, msi->arch.pirq, msi->=
mask);
-    pcidevs_unlock();
 }
=20
 static int vpci_msi_enable(const struct pci_dev *pdev, unsigned int nr,
@@ -785,10 +779,8 @@ int vpci_msi_arch_enable(struct vpci_msi *msi, const s=
truct pci_dev *pdev,
         return rc;
     msi->arch.pirq =3D rc;
=20
-    pcidevs_lock();
     msi->arch.bound =3D !vpci_msi_update(pdev, msi->data, msi->address, ve=
ctors,
                                        msi->arch.pirq, msi->mask);
-    pcidevs_unlock();
=20
     return 0;
 }
@@ -800,7 +792,6 @@ static void vpci_msi_disable(const struct pci_dev *pdev=
, int pirq,
=20
     ASSERT(pirq !=3D INVALID_PIRQ);
=20
-    pcidevs_lock();
     for ( i =3D 0; i < nr && bound; i++ )
     {
         struct xen_domctl_bind_pt_irq bind =3D {
@@ -816,7 +807,6 @@ static void vpci_msi_disable(const struct pci_dev *pdev=
, int pirq,
     write_lock(&pdev->domain->event_lock);
     unmap_domain_pirq(pdev->domain, pirq);
     write_unlock(&pdev->domain->event_lock);
-    pcidevs_unlock();
 }
=20
 void vpci_msi_arch_disable(struct vpci_msi *msi, const struct pci_dev *pde=
v)
@@ -863,7 +853,6 @@ int vpci_msix_arch_enable_entry(struct vpci_msix_entry =
*entry,
=20
     entry->arch.pirq =3D rc;
=20
-    pcidevs_lock();
     rc =3D vpci_msi_update(pdev, entry->data, entry->addr, 1, entry->arch.=
pirq,
                          entry->masked);
     if ( rc )
@@ -871,7 +860,6 @@ int vpci_msix_arch_enable_entry(struct vpci_msix_entry =
*entry,
         vpci_msi_disable(pdev, entry->arch.pirq, 1, false);
         entry->arch.pirq =3D INVALID_PIRQ;
     }
-    pcidevs_unlock();
=20
     return rc;
 }
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index d8672a03e1..6a08830a55 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2156,8 +2156,6 @@ int map_domain_pirq(
         struct pci_dev *pdev;
         unsigned int nr =3D 0;
=20
-        ASSERT(pcidevs_locked());
-
         ret =3D -ENODEV;
         if ( !cpu_has_apic )
             goto done;
@@ -2317,7 +2315,6 @@ int unmap_domain_pirq(struct domain *d, int pirq)
     if ( (pirq < 0) || (pirq >=3D d->nr_pirqs) )
         return -EINVAL;
=20
-    ASSERT(pcidevs_locked());
     ASSERT(rw_is_write_locked(&d->event_lock));
=20
     info =3D pirq_info(d, pirq);
@@ -2423,7 +2420,6 @@ void free_domain_pirqs(struct domain *d)
 {
     int i;
=20
-    pcidevs_lock();
     write_lock(&d->event_lock);
=20
     for ( i =3D 0; i < d->nr_pirqs; i++ )
@@ -2431,7 +2427,6 @@ void free_domain_pirqs(struct domain *d)
             unmap_domain_pirq(d, i);
=20
     write_unlock(&d->event_lock);
-    pcidevs_unlock();
 }
=20
 static void cf_check dump_irqs(unsigned char key)
@@ -2911,7 +2906,6 @@ int allocate_and_map_msi_pirq(struct domain *d, int i=
ndex, int *pirq_p,
=20
     msi->irq =3D irq;
=20
-    pcidevs_lock();
     /* Verify or get pirq. */
     write_lock(&d->event_lock);
     pirq =3D allocate_pirq(d, index, *pirq_p, irq, type, &msi->entry_nr);
@@ -2927,7 +2921,6 @@ int allocate_and_map_msi_pirq(struct domain *d, int i=
ndex, int *pirq_p,
=20
  done:
     write_unlock(&d->event_lock);
-    pcidevs_unlock();
     if ( ret )
     {
         switch ( type )
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 6b62c4f452..f04b90e235 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -623,7 +623,6 @@ static int msi_capability_init(struct pci_dev *dev,
     u8 slot =3D PCI_SLOT(dev->devfn);
     u8 func =3D PCI_FUNC(dev->devfn);
=20
-    ASSERT(pcidevs_locked());
     pos =3D pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSI);
     if ( !pos )
         return -ENODEV;
@@ -810,8 +809,6 @@ static int msix_capability_init(struct pci_dev *dev,
     if ( !pos )
         return -ENODEV;
=20
-    ASSERT(pcidevs_locked());
-
     control =3D pci_conf_read16(dev->sbdf, msix_control_reg(pos));
     /*
      * Ensure MSI-X interrupts are masked during setup. Some devices requi=
re
@@ -1032,7 +1029,6 @@ static int __pci_enable_msi(struct msi_info *msi, str=
uct msi_desc **desc)
     struct msi_desc *old_desc;
     int ret;
=20
-    ASSERT(pcidevs_locked());
     pdev =3D pci_get_pdev(NULL, msi->sbdf);
     if ( !pdev )
         return -ENODEV;
@@ -1092,7 +1088,6 @@ static int __pci_enable_msix(struct msi_info *msi, st=
ruct msi_desc **desc)
     struct msi_desc *old_desc;
     int ret;
=20
-    ASSERT(pcidevs_locked());
     pdev =3D pci_get_pdev(NULL, msi->sbdf);
     if ( !pdev || !pdev->msix )
         return -ENODEV;
@@ -1191,7 +1186,6 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool =
off)
     if ( !use_msi )
         return 0;
=20
-    pcidevs_lock();
     pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
     if ( !pdev )
         rc =3D -ENODEV;
@@ -1204,7 +1198,6 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool =
off)
     }
     else
         rc =3D msix_capability_init(pdev, NULL, NULL);
-    pcidevs_unlock();
=20
     pcidev_put(pdev);
=20
@@ -1217,8 +1210,6 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool =
off)
  */
 int pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
 {
-    ASSERT(pcidevs_locked());
-
     if ( !use_msi )
         return -EPERM;
=20
@@ -1355,8 +1346,6 @@ int pci_restore_msi_state(struct pci_dev *pdev)
     unsigned int type =3D 0, pos =3D 0;
     u16 control =3D 0;
=20
-    ASSERT(pcidevs_locked());
-
     if ( !use_msi )
         return -EOPNOTSUPP;
=20
diff --git a/xen/arch/x86/pci.c b/xen/arch/x86/pci.c
index 1d38f0df7c..4dcd6d96f3 100644
--- a/xen/arch/x86/pci.c
+++ b/xen/arch/x86/pci.c
@@ -88,15 +88,11 @@ int pci_conf_write_intercept(unsigned int seg, unsigned=
 int bdf,
     if ( reg < 64 || reg >=3D 256 )
         return 0;
=20
-    pcidevs_lock();
-
     pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bdf));
     if ( pdev ) {
         rc =3D pci_msi_conf_write_intercept(pdev, reg, size, data);
 	pcidev_put(pdev);
     }
=20
-    pcidevs_unlock();
-
     return rc;
 }
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 96214a3d40..a41366b609 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -162,11 +162,9 @@ int physdev_unmap_pirq(domid_t domid, int pirq)
             goto free_domain;
     }
=20
-    pcidevs_lock();
     write_lock(&d->event_lock);
     ret =3D unmap_domain_pirq(d, pirq);
     write_unlock(&d->event_lock);
-    pcidevs_unlock();
=20
  free_domain:
     rcu_unlock_domain(d);
@@ -530,7 +528,6 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(voi=
d) arg)
         if ( copy_from_guest(&restore_msi, arg, 1) !=3D 0 )
             break;
=20
-        pcidevs_lock();
         pdev =3D pci_get_pdev(NULL,
                             PCI_SBDF(0, restore_msi.bus, restore_msi.devfn=
));
         if ( pdev )
@@ -541,7 +538,6 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(voi=
d) arg)
         else
             ret =3D -ENODEV;
=20
-        pcidevs_unlock();
         break;
     }
=20
@@ -553,7 +549,6 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(voi=
d) arg)
         if ( copy_from_guest(&dev, arg, 1) !=3D 0 )
             break;
=20
-        pcidevs_lock();
         pdev =3D pci_get_pdev(NULL, PCI_SBDF(dev.seg, dev.bus, dev.devfn))=
;
         if ( pdev )
         {
@@ -562,7 +557,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(voi=
d) arg)
         }
         else
             ret =3D -ENODEV;
-        pcidevs_unlock();
+
         break;
     }
=20
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 0feef94cd2..6bb8c5c295 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -446,7 +446,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_s=
ysctl)
                 break;
             }
=20
-            pcidevs_lock();
             pdev =3D pci_get_pdev(NULL, PCI_SBDF(dev.seg, dev.bus, dev.dev=
fn));
             if ( !pdev )
                 node =3D XEN_INVALID_DEV;
@@ -454,7 +453,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_s=
ysctl)
                 node =3D XEN_INVALID_NODE_ID;
             else
                 node =3D pdev->node;
-            pcidevs_unlock();
=20
             if ( pdev )
                 pcidev_put(pdev);
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 01a05c9aa8..66c10b18e5 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -445,8 +445,6 @@ static void __init cf_check ns16550_init_postirq(struct=
 serial_port *port)
             {
                 struct msi_desc *msi_desc =3D NULL;
=20
-                pcidevs_lock();
-
                 rc =3D pci_enable_msi(&msi, &msi_desc);
                 if ( !rc )
                 {
@@ -460,8 +458,6 @@ static void __init cf_check ns16550_init_postirq(struct=
 serial_port *port)
                         pci_disable_msi(msi_desc);
                 }
=20
-                pcidevs_unlock();
-
                 if ( rc )
                 {
                     uart->irq =3D 0;
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthr=
ough/amd/iommu_init.c
index 7c1713a602..e42af65a40 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -638,10 +638,7 @@ static void cf_check parse_ppr_log_entry(struct amd_io=
mmu *iommu, u32 entry[])
     uint16_t device_id =3D iommu_get_devid_from_cmd(entry[0]);
     struct pci_dev *pdev;
=20
-    pcidevs_lock();
     pdev =3D pci_get_real_pdev(PCI_SBDF(iommu->seg, device_id));
-    pcidevs_unlock();
-
     if ( pdev )
         guest_iommu_add_ppr_log(pdev->domain, entry);
     pcidev_put(pdev);
@@ -747,14 +744,12 @@ static bool_t __init set_iommu_interrupt_handler(stru=
ct amd_iommu *iommu)
         return 0;
     }
=20
-    pcidevs_lock();
     /*
      * XXX: it is unclear if this device can be removed. Right now
      * there is no code that clears msi.dev, so no one will decrease
      * refcount on it.
      */
     iommu->msi.dev =3D pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf)=
);
-    pcidevs_unlock();
     if ( !iommu->msi.dev )
     {
         AMD_IOMMU_WARN("no pdev for %pp\n",
@@ -1289,9 +1284,7 @@ static int __init cf_check amd_iommu_setup_device_tab=
le(
             {
                 if ( !pci_init )
                     continue;
-                pcidevs_lock();
                 pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bdf));
-                pcidevs_unlock();
             }
=20
             if ( pdev && (pdev->msix || pdev->msi_maxvec) )
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthro=
ugh/amd/iommu_map.c
index 9d621e3d36..d04aa37538 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -726,9 +726,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
             /* May need to trigger the workaround in find_iommu_for_device=
(). */
             struct pci_dev *pdev;
=20
-            pcidevs_lock();
             pdev =3D pci_get_pdev(NULL, sbdf);
-            pcidevs_unlock();
=20
             if ( pdev )
             {
@@ -848,7 +846,6 @@ int cf_check amd_iommu_quarantine_init(struct pci_dev *=
pdev, bool scratch_page)
     const struct ivrs_mappings *ivrs_mappings =3D get_ivrs_mappings(pdev->=
seg);
     int rc;
=20
-    ASSERT(pcidevs_locked());
     ASSERT(!hd->arch.amd.root_table);
     ASSERT(page_list_empty(&hd->arch.pgtables.list));
=20
@@ -903,8 +900,6 @@ void amd_iommu_quarantine_teardown(struct pci_dev *pdev=
)
 {
     struct domain_iommu *hd =3D dom_iommu(dom_io);
=20
-    ASSERT(pcidevs_locked());
-
     if ( !pdev->arch.amd.root_table )
         return;
=20
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/pass=
through/amd/pci_amd_iommu.c
index 955f3af57a..919e30129e 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -268,8 +268,6 @@ static int __must_check amd_iommu_setup_domain_device(
                     req_id, pdev->type, page_to_maddr(root_pg),
                     domid, hd->arch.amd.paging_mode);
=20
-    ASSERT(pcidevs_locked());
-
     if ( pci_ats_device(iommu->seg, bus, pdev->devfn) &&
          !ivrs_dev->block_ats &&
          iommu_has_cap(iommu, PCI_CAP_IOTLB_SHIFT) &&
@@ -416,8 +414,6 @@ static void amd_iommu_disable_domain_device(const struc=
t domain *domain,
     if ( QUARANTINE_SKIP(domain, pdev) )
         return;
=20
-    ASSERT(pcidevs_locked());
-
     if ( pci_ats_device(iommu->seg, bus, pdev->devfn) &&
          pci_ats_enabled(iommu->seg, bus, pdev->devfn) )
     {
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index c83397211b..cc62a5aec4 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -517,7 +517,6 @@ int __init pci_hide_device(unsigned int seg, unsigned i=
nt bus,
     struct pci_seg *pseg;
     int rc =3D -ENOMEM;
=20
-    pcidevs_lock();
     pseg =3D alloc_pseg(seg);
     if ( pseg )
     {
@@ -528,7 +527,6 @@ int __init pci_hide_device(unsigned int seg, unsigned i=
nt bus,
             rc =3D 0;
         }
     }
-    pcidevs_unlock();
=20
     return rc;
 }
@@ -588,8 +586,6 @@ struct pci_dev *pci_get_pdev(struct domain *d, pci_sbdf=
_t sbdf)
 {
     struct pci_dev *pdev;
=20
-    ASSERT(d || pcidevs_locked());
-
     /*
      * The hardware domain owns the majority of the devices in the system.
      * When there are multiple segments, traversing the per-segment list i=
s
@@ -730,7 +726,6 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
         pdev_type =3D "device";
     else if ( info->is_virtfn )
     {
-        pcidevs_lock();
         pdev =3D pci_get_pdev(NULL,
                             PCI_SBDF(seg, info->physfn.bus,
                                      info->physfn.devfn));
@@ -739,7 +734,6 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
             pf_is_extfn =3D pdev->info.is_extfn;
             pcidev_put(pdev);
         }
-        pcidevs_unlock();
         if ( !pdev )
             pci_add_device(seg, info->physfn.bus, info->physfn.devfn,
                            NULL, node);
@@ -756,7 +750,6 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
=20
     ret =3D -ENOMEM;
=20
-    pcidevs_lock();
     pseg =3D alloc_pseg(seg);
     if ( !pseg )
         goto out;
@@ -858,7 +851,6 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
     pci_enable_acs(pdev);
=20
 out:
-    pcidevs_unlock();
     if ( !ret )
     {
         printk(XENLOG_DEBUG "PCI add %s %pp\n", pdev_type,  &pdev->sbdf);
@@ -889,7 +881,6 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
     if ( !pseg )
         return -ENODEV;
=20
-    pcidevs_lock();
     spin_lock(&pseg->alldevs_lock);
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
         if ( pdev->bus =3D=3D bus && pdev->devfn =3D=3D devfn )
@@ -910,12 +901,10 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
             break;
         }
=20
-    pcidevs_unlock();
     spin_unlock(&pseg->alldevs_lock);
     return ret;
 }
=20
-/* Caller should hold the pcidevs_lock */
 static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
                            uint8_t devfn)
 {
@@ -927,7 +916,6 @@ static int deassign_device(struct domain *d, uint16_t s=
eg, uint8_t bus,
     if ( !is_iommu_enabled(d) )
         return -EINVAL;
=20
-    ASSERT(pcidevs_locked());
     pdev =3D pci_get_pdev(d, PCI_SBDF(seg, bus, devfn));
     if ( !pdev )
         return -ENODEV;
@@ -981,13 +969,10 @@ int pci_release_devices(struct domain *d)
     u8 bus, devfn;
     int ret;
=20
-    pcidevs_lock();
     ret =3D arch_pci_clean_pirqs(d);
     if ( ret )
-    {
-        pcidevs_unlock();
         return ret;
-    }
+
     spin_lock(&d->pdevs_lock);
     list_for_each_entry_safe ( pdev, tmp, &d->pdev_list, domain_list )
     {
@@ -996,7 +981,6 @@ int pci_release_devices(struct domain *d)
         ret =3D deassign_device(d, pdev->seg, bus, devfn) ?: ret;
     }
     spin_unlock(&d->pdevs_lock);
-    pcidevs_unlock();
=20
     return ret;
 }
@@ -1094,7 +1078,6 @@ void pci_check_disable_device(u16 seg, u8 bus, u8 dev=
fn)
     s_time_t now =3D NOW();
     u16 cword;
=20
-    pcidevs_lock();
     pdev =3D pci_get_real_pdev(PCI_SBDF(seg, bus, devfn));
     if ( pdev )
     {
@@ -1108,7 +1091,6 @@ void pci_check_disable_device(u16 seg, u8 bus, u8 dev=
fn)
             pdev =3D NULL;
         }
     }
-    pcidevs_unlock();
=20
     if ( !pdev )
         return;
@@ -1164,13 +1146,7 @@ static int __init cf_check _scan_pci_devices(struct =
pci_seg *pseg, void *arg)
=20
 int __init scan_pci_devices(void)
 {
-    int ret;
-
-    pcidevs_lock();
-    ret =3D pci_segments_iterate(_scan_pci_devices, NULL);
-    pcidevs_unlock();
-
-    return ret;
+    return pci_segments_iterate(_scan_pci_devices, NULL);
 }
=20
 struct setup_hwdom {
@@ -1239,19 +1215,11 @@ static int __hwdom_init cf_check _setup_hwdom_pci_d=
evices(
=20
             pcidev_put(pdev);
             if ( iommu_verbose )
-            {
-                pcidevs_unlock();
                 process_pending_softirqs();
-                pcidevs_lock();
-            }
         }
=20
         if ( !iommu_verbose )
-        {
-            pcidevs_unlock();
             process_pending_softirqs();
-            pcidevs_lock();
-        }
     }
=20
     return 0;
@@ -1262,9 +1230,7 @@ void __hwdom_init setup_hwdom_pci_devices(
 {
     struct setup_hwdom ctxt =3D { .d =3D d, .handler =3D handler };
=20
-    pcidevs_lock();
     pci_segments_iterate(_setup_hwdom_pci_devices, &ctxt);
-    pcidevs_unlock();
 }
=20
 /* APEI not supported on ARM yet. */
@@ -1396,9 +1362,7 @@ static int cf_check _dump_pci_devices(struct pci_seg =
*pseg, void *arg)
 static void cf_check dump_pci_devices(unsigned char ch)
 {
     printk("=3D=3D=3D=3D PCI devices =3D=3D=3D=3D\n");
-    pcidevs_lock();
     pci_segments_iterate(_dump_pci_devices, NULL);
-    pcidevs_unlock();
 }
=20
 static int __init cf_check setup_dump_pcidevs(void)
@@ -1417,8 +1381,6 @@ static int iommu_add_device(struct pci_dev *pdev)
     if ( !pdev->domain )
         return -EINVAL;
=20
-    ASSERT(pcidevs_locked());
-
     hd =3D dom_iommu(pdev->domain);
     if ( !is_iommu_enabled(pdev->domain) )
         return 0;
@@ -1446,8 +1408,6 @@ static int iommu_enable_device(struct pci_dev *pdev)
     if ( !pdev->domain )
         return -EINVAL;
=20
-    ASSERT(pcidevs_locked());
-
     hd =3D dom_iommu(pdev->domain);
     if ( !is_iommu_enabled(pdev->domain) ||
          !hd->platform_ops->enable_device )
@@ -1494,7 +1454,6 @@ static int device_assigned(struct pci_dev *pdev)
 {
     int rc =3D 0;
=20
-    ASSERT(pcidevs_locked());
     /*
      * If the device exists and it is not owned by either the hardware
      * domain or dom_io then it must be assigned to a guest, or be
@@ -1507,7 +1466,6 @@ static int device_assigned(struct pci_dev *pdev)
     return rc;
 }
=20
-/* Caller should hold the pcidevs_lock */
 static int assign_device(struct domain *d, struct pci_dev *pdev, u32 flag)
 {
     const struct domain_iommu *hd =3D dom_iommu(d);
@@ -1521,7 +1479,6 @@ static int assign_device(struct domain *d, struct pci=
_dev *pdev, u32 flag)
         return -EXDEV;
=20
     /* device_assigned() should already have cleared the device for assign=
ment */
-    ASSERT(pcidevs_locked());
     ASSERT(pdev && (pdev->domain =3D=3D hardware_domain ||
                     pdev->domain =3D=3D dom_io));
=20
@@ -1587,7 +1544,6 @@ static int iommu_get_device_group(
     if ( group_id < 0 )
         return group_id;
=20
-    pcidevs_lock();
     spin_lock(&d->pdevs_lock);
     for_each_pdev( d, pdev )
     {
@@ -1603,7 +1559,6 @@ static int iommu_get_device_group(
         sdev_id =3D iommu_call(ops, get_device_group_id, seg, b, df);
         if ( sdev_id < 0 )
         {
-            pcidevs_unlock();
             spin_unlock(&d->pdevs_lock);
             return sdev_id;
         }
@@ -1614,7 +1569,6 @@ static int iommu_get_device_group(
=20
             if ( unlikely(copy_to_guest_offset(buf, i, &bdf, 1)) )
             {
-                pcidevs_unlock();
                 spin_unlock(&d->pdevs_lock);
                 return -EFAULT;
             }
@@ -1622,7 +1576,6 @@ static int iommu_get_device_group(
         }
     }
=20
-    pcidevs_unlock();
     spin_unlock(&d->pdevs_lock);
=20
     return i;
@@ -1630,17 +1583,12 @@ static int iommu_get_device_group(
=20
 void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
 {
-    pcidevs_lock();
-
     /* iommu->ats_list_lock is taken by the caller of this function */
     disable_ats_device(pdev);
=20
     ASSERT(pdev->domain);
     if ( d !=3D pdev->domain )
-    {
-        pcidevs_unlock();
         return;
-    }
=20
     pdev->broken =3D true;
=20
@@ -1649,8 +1597,6 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, =
struct pci_dev *pdev)
                d->domain_id, &pdev->sbdf);
     if ( !is_hardware_domain(d) )
         domain_crash(d);
-
-    pcidevs_unlock();
 }
=20
 int iommu_do_pci_domctl(
@@ -1740,7 +1686,6 @@ int iommu_do_pci_domctl(
             break;
         }
=20
-        pcidevs_lock();
         ret =3D device_assigned(pdev);
         if ( domctl->cmd =3D=3D XEN_DOMCTL_test_assign_device )
         {
@@ -1755,7 +1700,7 @@ int iommu_do_pci_domctl(
             ret =3D assign_device(d, pdev, flags);
=20
         pcidev_put(pdev);
-        pcidevs_unlock();
+
         if ( ret =3D=3D -ERESTART )
             ret =3D hypercall_create_continuation(__HYPERVISOR_domctl,
                                                 "h", u_domctl);
@@ -1787,9 +1732,7 @@ int iommu_do_pci_domctl(
         bus =3D PCI_BUS(machine_sbdf);
         devfn =3D PCI_DEVFN(machine_sbdf);
=20
-        pcidevs_lock();
         ret =3D deassign_device(d, seg, bus, devfn);
-        pcidevs_unlock();
         break;
=20
     default:
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/=
vtd/iommu.c
index 42661f22f4..87868188b7 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1490,7 +1490,6 @@ int domain_context_mapping_one(
     if ( QUARANTINE_SKIP(domain, pgd_maddr) )
         return 0;
=20
-    ASSERT(pcidevs_locked());
     spin_lock(&iommu->lock);
     maddr =3D bus_to_context_maddr(iommu, bus);
     context_entries =3D (struct context_entry *)map_vtd_domain_page(maddr)=
;
@@ -1711,8 +1710,6 @@ static int domain_context_mapping(struct domain *doma=
in, u8 devfn,
     if ( drhd && drhd->iommu->node !=3D NUMA_NO_NODE )
         dom_iommu(domain)->node =3D drhd->iommu->node;
=20
-    ASSERT(pcidevs_locked());
-
     for_each_rmrr_device( rmrr, bdf, i )
     {
         if ( rmrr->segment !=3D pdev->seg || bdf !=3D pdev->sbdf.bdf )
@@ -2072,8 +2069,6 @@ static void quarantine_teardown(struct pci_dev *pdev,
 {
     struct domain_iommu *hd =3D dom_iommu(dom_io);
=20
-    ASSERT(pcidevs_locked());
-
     if ( !pdev->arch.vtd.pgd_maddr )
         return;
=20
@@ -2341,8 +2336,6 @@ static int cf_check intel_iommu_add_device(u8 devfn, =
struct pci_dev *pdev)
     u16 bdf;
     int ret, i;
=20
-    ASSERT(pcidevs_locked());
-
     if ( !pdev->domain )
         return -EINVAL;
=20
@@ -3176,7 +3169,6 @@ static int cf_check intel_iommu_quarantine_init(struc=
t pci_dev *pdev,
     bool rmrr_found =3D false;
     int rc;
=20
-    ASSERT(pcidevs_locked());
     ASSERT(!hd->arch.vtd.pgd_maddr);
     ASSERT(page_list_empty(&hd->arch.pgtables.list));
=20
diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index 1298f3a7b6..1f7c496114 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -117,9 +117,7 @@ void __init video_endboot(void)
                 struct pci_dev *pdev;
                 u8 b =3D bus, df =3D devfn, sb;
=20
-                pcidevs_lock();
                 pdev =3D pci_get_pdev(NULL, PCI_SBDF(0, bus, devfn));
-                pcidevs_unlock();
=20
                 if ( !pdev ||
                      pci_conf_read16(PCI_SBDF(0, bus, devfn),
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:11:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:11:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395691.635576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTORB-00056L-56; Wed, 31 Aug 2022 14:11:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395691.635576; Wed, 31 Aug 2022 14:11:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTORA-00053b-Nj; Wed, 31 Aug 2022 14:11:24 +0000
Received: by outflank-mailman (input) for mailman id 395691;
 Wed, 31 Aug 2022 14:11:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jA7u=ZD=epam.com=prvs=1242718080=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1oTOR9-0002bv-7B
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:11:23 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c95c3cde-2936-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 16:11:21 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27VBo4GC032537;
 Wed, 31 Aug 2022 14:11:07 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ja427h4rd-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 31 Aug 2022 14:11:06 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB6301.eurprd03.prod.outlook.com (2603:10a6:800:133::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:11:00 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9190:c0a7:bd87:f01f%6]) with mapi id 15.20.5566.019; Wed, 31 Aug 2022
 14:11:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c95c3cde-2936-11ed-934f-f50d60e1c1bd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T4tz3hcRtDxJOimtE+Qo210yGmvik98SPc2LVgIHmtcKAaM2MW06k70S7YRJbuzAfTPwqU4XSuaASPO5Dqsj6TEye++tK7bNeHsgUUmt3pnbgA8HZ8K2W7ljImRudhnRU+Z1MZsHTpFa2PqTasBMr1aCmBLRhNKjmdf6WTUeXQwUHBK4+u6f5f1zOiWX7uIs0yGNrqZFTbS5s5En/lWXR5O5BcZvAlRFVxHR2ToRd3qLbsQUe6bzeYpSuq8jDbaxLX7Uw0fETRtZ6ZsUE7GX+Hvjc574h1dQCia9rXd8HtFdDqysAs6p1IVisFYg9KliucHgWHRD1plEKnC1EpB/fQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v2KJogI0cZ3+/0Y09TtsZB2L93c8/aUqCi7d7m62KUI=;
 b=aAhPNgj7Kqq0n9284TLky1fCFsCTJibZsA+Hu5vF36vIBRQEjtLIuW3mieEruinhJv6MGxf/cLWtAWMZMRfzZC/ofCNJWcayOghGjr5WDWSfkxMt2ZSI4DDHrXNR2KXCMZ5aaiN66ZKIHszrSsSXgiiDCCpP7sNZqF9u12iyjqxOWUuq/s5E5uTVCwF+Q8IVziUBFtDNVqJaEwORPeuTRqZ6fP6Xl4UtoDaSVWVvFU69XLcDeqXdCKYpGuTNbND86SHZO04py+owCHRvaOo/+qYcXSrBCP5B4riGjTxN7LiG6hAJIyHCUCJR/M2QrQjMUVCd1lH2GaP3oSXaHUsWJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v2KJogI0cZ3+/0Y09TtsZB2L93c8/aUqCi7d7m62KUI=;
 b=Nda++i4c2UHeS/sbPzAdVwxvIIxMERodtX5ElzDdjsSGna6CUTyNKz3X/I5nMbfqT83MDMUMq/YTFdv8kRtYWJAvUZmjh7ObBpSqpEephbWSVyNOvM9r99dHGpw96KPRyeUXAH//3bBCoSj6DK/cjVNeuFj1ZoNcCyPW2EECG0BK78RH+j8i3wqc27IYYVwYnH/zB6/wH6bWBw1VMShyFed0kckYLpl/VeIB0sFpc7WQyqZmrWTxKB5Fm9G8gxAGVgT4Ws1Cu/GwB4/kl/Nzif3AngQ4NfX+KbrXtLkyykbUiSj1LKNHVKcRubucE0oZBmDfUDo2wlLy3BwOl4PWgw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Jan Beulich <jbeulich@suse.com>,
        Andrew
 Cooper <andrew.cooper3@citrix.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>,
        Julien Grall <julien@xen.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Paul Durrant <paul@xen.org>, Kevin Tian
	<kevin.tian@intel.com>
Subject: [RFC PATCH 05/10] xen: pci: introduce reference counting for pdev
Thread-Topic: [RFC PATCH 05/10] xen: pci: introduce reference counting for
 pdev
Thread-Index: AQHYvUN/KKgAm1RVgESUCJeBYUFHMA==
Date: Wed, 31 Aug 2022 14:11:00 +0000
Message-ID: <20220831141040.13231-6-volodymyr_babchuk@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.37.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 117792c6-6aaa-4f73-4008-08da8b5aa1b7
x-ms-traffictypediagnostic: VI1PR03MB6301:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 6bkUaBK9ZjdMIoeTKG355OI2ylD8DOW1tK5qf5n4uWgSK/vJAsytkTNkfyfKiUzKHCdPIrP4ednZScopZn6InwHEOdtb5Zxs22MbW5qAr++zcPGQhZAbX6a52YzEWTDYZDuLJXBT79IdkKZ5WiEhTF6gYVjDhtCCpQIwdp8RiqR43zlhvQSk1i2awB3T+B25fcuY8Z6A5a9/e5qa2UgcGTWhu4PLaGNd6zO1QUAStQpaqls/qBs6mz8YyR2n/+eAJS9UueUnJNRoeUbKjz7DLW/Typ1D0U/ILeye0kzJEtaudiKE//p5Wo0Vl9QiIwe0Dba8LtS8nMy5fsBnAj03KlisAOLK3aP+QmnJZhdmXGMFRiaEirFHqtc6+Z+Og3GHpvGW5Xooabn2j3hX0RnsA/OY1WWe3DYYWB7LzqSGQviULUck8ju6YurTiMQQe+ukUB8xv1YeoXWoXjITZoHG97TieaxAcjAvt4QUmJgK5DG06xjURNvpYMrj1evvDqyMolRGEto/IlN4ySl0VuV6gL8y3hyl904fdl+Gszsz/8nQm87WUsF2x9On2+FFWlwriS9GINbaCPB42Zhx+cXf9MnrPprLlYdPbV7Llp0UhWFqE51eOXEXsty6i743w2CV7OVj1jotLHWyc+rfcQs2w16q28Ka7twzyzhiCLh8DzLezkLmLOXcAKcpxJHjrUzoCmmQ+q7VzhhACg8nDHl921vLftrjlltL/BOtyEhF3JF3iiKFKlGNdxJ/tvJmGJIhi+lJZnF7UtirR8m2pZHPD+jczNCHAMpBpfEo4SXQH1Q=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(4326008)(66556008)(76116006)(66946007)(38070700005)(66476007)(8676002)(2906002)(66446008)(64756008)(54906003)(1076003)(186003)(83380400001)(2616005)(5660300002)(91956017)(7416002)(8936002)(316002)(36756003)(6916009)(30864003)(6486002)(478600001)(71200400001)(86362001)(55236004)(26005)(41300700001)(6512007)(6506007)(122000001)(38100700002)(21314003)(579004)(559001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?TlgNITTR6PX7M2TRGPJMuMxZQ4NaKi5kuQfy4lRRGppqyXQpLMTOQdXh5G?=
 =?iso-8859-1?Q?jOeIp5n7zdR8AE1mS6eOzv1iBTmsdxYsOGjHoJz9i/K9GDRzSLQI4v0Kio?=
 =?iso-8859-1?Q?FyiMby4BMOcQTe+pLCLoEoZQzE2DARkPnE7ntGB4mVYGfOpm2B9En1GPw9?=
 =?iso-8859-1?Q?4ddg+bL3VC0LwQJW7ay99DcJvkp1zNBRbur2iU52q4k4WYQCSRgD5kihZW?=
 =?iso-8859-1?Q?YCt/Dyk/Z8k2P5c3G2b9JigRHwAaFOwfaN8ayUj5sClTrn2HJvPEfLb/Xx?=
 =?iso-8859-1?Q?85RTlPurda55D/QMOcH9jY60IOn5Dilp2WbqUkf6MbaNmlJdt9RuLjde/m?=
 =?iso-8859-1?Q?k7ott9WFDdvBEJQyC13Eh3jxhHKlwXzG8HGdryEkZ/4zxwE8vbL//47fWS?=
 =?iso-8859-1?Q?4e7tw5IkJc92Hw+puOBXYVoUOL8/TrKEOro8qnZtgoiNvTBT/FFv4wPu5r?=
 =?iso-8859-1?Q?Fuj2hPXEHWhgJOO1Nayi/2Sf9bUCpYHSFBZHtJY6fPAQvs/cbegGidu/h9?=
 =?iso-8859-1?Q?6DDGe10e+6mGmAlc83CaKgmKHBZQXoKN3AdBEc1k9S1C842HLlbwMc3QXk?=
 =?iso-8859-1?Q?YRciEcarq1sQVFmNdymzQx6uh5QpvzozZo2ZfcLwtCvzUvjGNjeKDvCcH7?=
 =?iso-8859-1?Q?tIgq8r9UAKVWPg5YD+Jv3Hims91ELiQd6dMbRSlW/7U/oevDt6byZyg8Nc?=
 =?iso-8859-1?Q?dtSeB58kiGD49Qxnnpv4pkM5+0Qe//QXPWeGXytmeNhlrKVMPaAiXijtJ7?=
 =?iso-8859-1?Q?EfsQZWs9qUid9KlyL8yExQZ3NKVtsgeLsfUSm79BUpmIsqqMrbI9WmtWlD?=
 =?iso-8859-1?Q?I4cIMp52WhSTtrsLJuwHZYbvvA/00qZd0D8smtr4QrTF8hU4g+hoOBoNLH?=
 =?iso-8859-1?Q?FucuEY8CHy5wj7HogcSCw98EDF3qITLJNIQU/0tPbJTgOJUVcwt5FkBSi3?=
 =?iso-8859-1?Q?gdgp9Y2X5mXVcyRxIuIN1eewE147r9AaCWoWCdfQhUEnc1GiKY+u503qaA?=
 =?iso-8859-1?Q?ZzLpf1FwHDQ80oqdzQ717cw2wzeM31qR2NIqLOMZWcq1tL7axcUcfp2s0z?=
 =?iso-8859-1?Q?zoQI0amlwMrNiY5e9v/AUctxcsLcdFbXb31ReGZzxSFjWSKSSJVRJvoAOE?=
 =?iso-8859-1?Q?AJ+3VpCLGJnOvkmvI92eL8w0w/tJSuvA5l4gJsuL0HakbMRufj3AXhcs+a?=
 =?iso-8859-1?Q?lvLWZbKQPj1JBmrkBmXeTwp7/xeCNQVCCy8KmlKjVzvXpD1VtpQOu33OhA?=
 =?iso-8859-1?Q?hTrzMqmz79F+Ixn5ttghPIvdPuoN4H8icQC+l3ot37S78NBMUcfsXiHK3m?=
 =?iso-8859-1?Q?ZMIgdZwly0g2/8fO38PYaVQe1bwn8KmlDLE799aycwaMOdm3w0MSWi5Xr0?=
 =?iso-8859-1?Q?vnSMnwJOsWFau27dO8ewah6fRiwDJIomzNdoF/M6mnpG9R9oIehK5SQ71N?=
 =?iso-8859-1?Q?hUDDsRsDAE0KTEsZluNTgWh3aRNiVpVEQJ44HT9mVMDjZtbJVux4CDc6e9?=
 =?iso-8859-1?Q?I23c/TO0U40f5AI/HvHvDdpZQesWlB+1d0BjKGmupIMOeNxS3+nYAWBfwH?=
 =?iso-8859-1?Q?WwVZutZ4DtB8mo+5t4SpSXuSqp0TxTAHhpwhJg+IBWb5reKGZaYTmUhvtp?=
 =?iso-8859-1?Q?fIElQrstfkwZNf1Qb53OujKzW2Tos8+e2SvvltTWJk7CZryhXrFftK/Q?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 117792c6-6aaa-4f73-4008-08da8b5aa1b7
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:11:00.2492
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: XPPZQpvKHY2H6MHWjCiEW4XEJIVtOcT4d7o8m6QQsHPZmhAOCUt8ABlhTGNz9DSL0fD2nLTuQDogcXOkufQkRRjAWQjsz2CRTGUogsm8DFo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6301
X-Proofpoint-GUID: aVlkLkwcfazWl26gJqx2Ls0rL_uqJPWH
X-Proofpoint-ORIG-GUID: aVlkLkwcfazWl26gJqx2Ls0rL_uqJPWH
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1
 definitions=2022-08-31_08,2022-08-31_03,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0
 clxscore=1015 mlxscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=999 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000
 definitions=main-2208310070

Prior to this change, lifetime of pci_dev objects was protected by global
pcidevs_lock(). We are going to get if of this lock, so we need some
other mechanism to ensure that those objects will not disappear under
feet of code that access them. Reference counting is a good choice as
it provides easy to comprehend way to control object lifetime with
better granularity than global super lock.

This patch adds two new helper functions: pcidev_get() and
pcidev_put(). pcidev_get() will increase reference counter, while
pcidev_put() will decrease it, destroying object when counter reaches
zero.

pcidev_get() should be used only when you already have a valid pointer
to the object or you are holding lock that protects one of the
lists (domain, pseg or ats) that store pci_dev structs.

pcidev_get() is rarely used directly, because there already are
functions that will provide valid pointer to pci_dev struct:
pci_get_pdev() and pci_get_real_pdev(). They will lock appropriate
list, find needed object and increase its reference counter before
returning to the caller.

Naturally, pci_put() should be called after finishing working with a
received object. This is the reason why this patch have so many
pcidev_put()s and so little pcidev_get()s: existing calls to
pci_get_*() functions now will increase reference counter
automatically, we just need to decrease it back when we finished.

This patch removes "const" qualifier from some pdev pointers because
pcidev_put() technically alters the contents of pci_dev structure.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

- Jan, can I add your Suggested-by tag?
---
 xen/arch/x86/hvm/vmsi.c                  |   2 +-
 xen/arch/x86/irq.c                       |   4 +
 xen/arch/x86/msi.c                       |  41 ++++++-
 xen/arch/x86/pci.c                       |   4 +-
 xen/arch/x86/physdev.c                   |  17 ++-
 xen/common/sysctl.c                      |   5 +-
 xen/drivers/passthrough/amd/iommu_init.c |  12 ++-
 xen/drivers/passthrough/amd/iommu_map.c  |   6 +-
 xen/drivers/passthrough/pci.c            | 131 +++++++++++++++--------
 xen/drivers/passthrough/vtd/quirks.c     |   2 +
 xen/drivers/video/vga.c                  |  10 +-
 xen/drivers/vpci/vpci.c                  |   6 +-
 xen/include/xen/pci.h                    |  18 ++++
 13 files changed, 201 insertions(+), 57 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 75f92885dc..7fb1075673 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -912,7 +912,7 @@ int vpci_msix_arch_print(const struct vpci_msix *msix)
=20
             spin_unlock(&msix->pdev->vpci->lock);
             process_pending_softirqs();
-            /* NB: we assume that pdev cannot go away for an alive domain.=
 */
+
             if ( !pdev->vpci || !spin_trylock(&pdev->vpci->lock) )
                 return -EBUSY;
             if ( pdev->vpci->msix !=3D msix )
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index cd0c8a30a8..d8672a03e1 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2174,6 +2174,7 @@ int map_domain_pirq(
                 msi->entry_nr =3D ret;
                 ret =3D -ENFILE;
             }
+	    pcidev_put(pdev);
             goto done;
         }
=20
@@ -2188,6 +2189,7 @@ int map_domain_pirq(
             msi_desc->irq =3D -1;
             msi_free_irq(msi_desc);
             ret =3D -EBUSY;
+	    pcidev_put(pdev);
             goto done;
         }
=20
@@ -2272,10 +2274,12 @@ int map_domain_pirq(
             }
             msi_desc->irq =3D -1;
             msi_free_irq(msi_desc);
+	    pcidev_put(pdev);
             goto done;
         }
=20
         set_domain_irq_pirq(d, irq, info);
+	pcidev_put(pdev);
         spin_unlock_irqrestore(&desc->lock, flags);
     }
     else
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index d0bf63df1d..bccaccb98b 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -572,6 +572,10 @@ int msi_free_irq(struct msi_desc *entry)
                         virt_to_fix((unsigned long)entry->mask_base));
=20
     list_del(&entry->list);
+
+    /* Corresponds to pcidev_get() in msi[x]_capability_init()  */
+    pcidev_put(entry->dev);
+
     xfree(entry);
     return 0;
 }
@@ -644,6 +648,7 @@ static int msi_capability_init(struct pci_dev *dev,
             entry[i].msi.mpos =3D mpos;
         entry[i].msi.nvec =3D 0;
         entry[i].dev =3D dev;
+	pcidev_get(dev);
     }
     entry->msi.nvec =3D nvec;
     entry->irq =3D irq;
@@ -703,22 +708,36 @@ static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot,=
 u8 func, u8 bir, int vf)
              !num_vf || !offset || (num_vf > 1 && !stride) ||
              bir >=3D PCI_SRIOV_NUM_BARS ||
              !pdev->vf_rlen[bir] )
+        {
+            if ( pdev )
+                pcidev_put(pdev);
             return 0;
+        }
         base =3D pos + PCI_SRIOV_BAR;
         vf -=3D PCI_BDF(bus, slot, func) + offset;
         if ( vf < 0 )
+        {
+            pcidev_put(pdev);
             return 0;
+        }
         if ( stride )
         {
             if ( vf % stride )
+            {
+                pcidev_put(pdev);
                 return 0;
+            }
             vf /=3D stride;
         }
         if ( vf >=3D num_vf )
+        {
+            pcidev_put(pdev);
             return 0;
+        }
         BUILD_BUG_ON(ARRAY_SIZE(pdev->vf_rlen) !=3D PCI_SRIOV_NUM_BARS);
         disp =3D vf * pdev->vf_rlen[bir];
         limit =3D PCI_SRIOV_NUM_BARS;
+        pcidev_put(pdev);
     }
     else switch ( pci_conf_read8(PCI_SBDF(seg, bus, slot, func),
                                  PCI_HEADER_TYPE) & 0x7f )
@@ -925,6 +944,8 @@ static int msix_capability_init(struct pci_dev *dev,
         entry->dev =3D dev;
         entry->mask_base =3D base;
=20
+	pcidev_get(dev);
+
         list_add_tail(&entry->list, &dev->msi_list);
         *desc =3D entry;
     }
@@ -999,6 +1020,7 @@ static int __pci_enable_msi(struct msi_info *msi, stru=
ct msi_desc **desc)
 {
     struct pci_dev *pdev;
     struct msi_desc *old_desc;
+    int ret;
=20
     ASSERT(pcidevs_locked());
     pdev =3D pci_get_pdev(NULL, msi->sbdf);
@@ -1010,6 +1032,7 @@ static int __pci_enable_msi(struct msi_info *msi, str=
uct msi_desc **desc)
     {
         printk(XENLOG_ERR "irq %d already mapped to MSI on %pp\n",
                msi->irq, &pdev->sbdf);
+	pcidev_put(pdev);
         return -EEXIST;
     }
=20
@@ -1020,7 +1043,10 @@ static int __pci_enable_msi(struct msi_info *msi, st=
ruct msi_desc **desc)
         __pci_disable_msix(old_desc);
     }
=20
-    return msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
+    ret =3D msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
+    pcidev_put(pdev);
+
+    return ret;
 }
=20
 static void __pci_disable_msi(struct msi_desc *entry)
@@ -1054,6 +1080,7 @@ static int __pci_enable_msix(struct msi_info *msi, st=
ruct msi_desc **desc)
 {
     struct pci_dev *pdev;
     struct msi_desc *old_desc;
+    int ret;
=20
     ASSERT(pcidevs_locked());
     pdev =3D pci_get_pdev(NULL, msi->sbdf);
@@ -1061,13 +1088,17 @@ static int __pci_enable_msix(struct msi_info *msi, =
struct msi_desc **desc)
         return -ENODEV;
=20
     if ( msi->entry_nr >=3D pdev->msix->nr_entries )
+    {
+	pcidev_put(pdev);
         return -EINVAL;
+    }
=20
     old_desc =3D find_msi_entry(pdev, msi->irq, PCI_CAP_ID_MSIX);
     if ( old_desc )
     {
         printk(XENLOG_ERR "irq %d already mapped to MSI-X on %pp\n",
                msi->irq, &pdev->sbdf);
+	pcidev_put(pdev);
         return -EEXIST;
     }
=20
@@ -1078,7 +1109,11 @@ static int __pci_enable_msix(struct msi_info *msi, s=
truct msi_desc **desc)
         __pci_disable_msi(old_desc);
     }
=20
-    return msix_capability_init(pdev, msi, desc);
+    ret =3D msix_capability_init(pdev, msi, desc);
+
+    pcidev_put(pdev);
+
+    return ret;
 }
=20
 static void _pci_cleanup_msix(struct arch_msix *msix)
@@ -1161,6 +1196,8 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool =
off)
         rc =3D msix_capability_init(pdev, NULL, NULL);
     pcidevs_unlock();
=20
+    pcidev_put(pdev);
+
     return rc;
 }
=20
diff --git a/xen/arch/x86/pci.c b/xen/arch/x86/pci.c
index 97b792e578..1d38f0df7c 100644
--- a/xen/arch/x86/pci.c
+++ b/xen/arch/x86/pci.c
@@ -91,8 +91,10 @@ int pci_conf_write_intercept(unsigned int seg, unsigned =
int bdf,
     pcidevs_lock();
=20
     pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bdf));
-    if ( pdev )
+    if ( pdev ) {
         rc =3D pci_msi_conf_write_intercept(pdev, reg, size, data);
+	pcidev_put(pdev);
+    }
=20
     pcidevs_unlock();
=20
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 2f1d955a96..96214a3d40 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -533,7 +533,14 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(vo=
id) arg)
         pcidevs_lock();
         pdev =3D pci_get_pdev(NULL,
                             PCI_SBDF(0, restore_msi.bus, restore_msi.devfn=
));
-        ret =3D pdev ? pci_restore_msi_state(pdev) : -ENODEV;
+        if ( pdev )
+        {
+            ret =3D pci_restore_msi_state(pdev);
+            pcidev_put(pdev);
+        }
+        else
+            ret =3D -ENODEV;
+
         pcidevs_unlock();
         break;
     }
@@ -548,7 +555,13 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(vo=
id) arg)
=20
         pcidevs_lock();
         pdev =3D pci_get_pdev(NULL, PCI_SBDF(dev.seg, dev.bus, dev.devfn))=
;
-        ret =3D pdev ? pci_restore_msi_state(pdev) : -ENODEV;
+        if ( pdev )
+        {
+            ret =3D  pci_restore_msi_state(pdev);
+            pcidev_put(pdev);
+        }
+        else
+            ret =3D -ENODEV;
         pcidevs_unlock();
         break;
     }
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 02505ab044..0feef94cd2 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -438,7 +438,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_s=
ysctl)
         {
             physdev_pci_device_t dev;
             uint32_t node;
-            const struct pci_dev *pdev;
+            struct pci_dev *pdev;
=20
             if ( copy_from_guest_offset(&dev, ti->devs, i, 1) )
             {
@@ -456,6 +456,9 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_s=
ysctl)
                 node =3D pdev->node;
             pcidevs_unlock();
=20
+            if ( pdev )
+                pcidev_put(pdev);
+
             if ( copy_to_guest_offset(ti->nodes, i, &node, 1) )
             {
                 ret =3D -EFAULT;
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthr=
ough/amd/iommu_init.c
index 1f14aaf49e..7c1713a602 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -644,6 +644,7 @@ static void cf_check parse_ppr_log_entry(struct amd_iom=
mu *iommu, u32 entry[])
=20
     if ( pdev )
         guest_iommu_add_ppr_log(pdev->domain, entry);
+    pcidev_put(pdev);
 }
=20
 static void iommu_check_ppr_log(struct amd_iommu *iommu)
@@ -747,6 +748,11 @@ static bool_t __init set_iommu_interrupt_handler(struc=
t amd_iommu *iommu)
     }
=20
     pcidevs_lock();
+    /*
+     * XXX: it is unclear if this device can be removed. Right now
+     * there is no code that clears msi.dev, so no one will decrease
+     * refcount on it.
+     */
     iommu->msi.dev =3D pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf)=
);
     pcidevs_unlock();
     if ( !iommu->msi.dev )
@@ -1272,7 +1278,7 @@ static int __init cf_check amd_iommu_setup_device_tab=
le(
     {
         if ( ivrs_mappings[bdf].valid )
         {
-            const struct pci_dev *pdev =3D NULL;
+            struct pci_dev *pdev =3D NULL;
=20
             /* add device table entry */
             iommu_dte_add_device_entry(&dt[bdf], &ivrs_mappings[bdf]);
@@ -1297,7 +1303,10 @@ static int __init cf_check amd_iommu_setup_device_ta=
ble(
                         pdev->msix ? pdev->msix->nr_entries
                                    : pdev->msi_maxvec);
                 if ( !ivrs_mappings[bdf].intremap_table )
+		{
+		    pcidev_put(pdev);
                     return -ENOMEM;
+		}
=20
                 if ( pdev->phantom_stride )
                 {
@@ -1315,6 +1324,7 @@ static int __init cf_check amd_iommu_setup_device_tab=
le(
                             ivrs_mappings[bdf].intremap_inuse;
                     }
                 }
+		pcidev_put(pdev);
             }
=20
             amd_iommu_set_intremap_table(
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthro=
ugh/amd/iommu_map.c
index 993bac6f88..9d621e3d36 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -724,14 +724,18 @@ int cf_check amd_iommu_get_reserved_device_memory(
         if ( !iommu )
         {
             /* May need to trigger the workaround in find_iommu_for_device=
(). */
-            const struct pci_dev *pdev;
+            struct pci_dev *pdev;
=20
             pcidevs_lock();
             pdev =3D pci_get_pdev(NULL, sbdf);
             pcidevs_unlock();
=20
             if ( pdev )
+            {
                 iommu =3D find_iommu_for_device(seg, bdf);
+                /* XXX: Should we hold pdev reference till end of the loop=
? */
+                pcidev_put(pdev);
+            }
             if ( !iommu )
                 continue;
         }
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index b5db5498a1..a6c6368769 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -403,6 +403,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg,=
 u8 bus, u8 devfn)
     *((u8*) &pdev->bus) =3D bus;
     *((u8*) &pdev->devfn) =3D devfn;
     pdev->domain =3D NULL;
+    refcnt_init(&pdev->refcnt);
=20
     arch_pci_init_pdev(pdev);
=20
@@ -499,33 +500,6 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg=
, u8 bus, u8 devfn)
     return pdev;
 }
=20
-static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
-{
-    /* update bus2bridge */
-    switch ( pdev->type )
-    {
-        unsigned int sec_bus, sub_bus;
-
-        case DEV_TYPE_PCIe2PCI_BRIDGE:
-        case DEV_TYPE_LEGACY_PCI_BRIDGE:
-            sec_bus =3D pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
-            sub_bus =3D pci_conf_read8(pdev->sbdf, PCI_SUBORDINATE_BUS);
-
-            spin_lock(&pseg->bus2bridge_lock);
-            for ( ; sec_bus <=3D sub_bus; sec_bus++ )
-                pseg->bus2bridge[sec_bus] =3D pseg->bus2bridge[pdev->bus];
-            spin_unlock(&pseg->bus2bridge_lock);
-            break;
-
-        default:
-            break;
-    }
-
-    list_del(&pdev->alldevs_list);
-    pdev_msi_deinit(pdev);
-    xfree(pdev);
-}
-
 static void __init _pci_hide_device(struct pci_dev *pdev)
 {
     if ( pdev->domain )
@@ -596,10 +570,15 @@ struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf)
     {
         if ( !(sbdf.devfn & stride) )
             continue;
+
         sbdf.devfn &=3D ~stride;
+        pcidev_put(pdev);
         pdev =3D pci_get_pdev(NULL, sbdf);
         if ( pdev && stride !=3D pdev->phantom_stride )
+        {
+            pcidev_put(pdev);
             pdev =3D NULL;
+        }
     }
=20
     return pdev;
@@ -629,6 +608,7 @@ struct pci_dev *pci_get_pdev(struct domain *d, pci_sbdf=
_t sbdf)
             if ( pdev->sbdf.bdf =3D=3D sbdf.bdf &&
                  (!d || pdev->domain =3D=3D d) )
             {
+                pcidev_get(pdev);
                 spin_unlock(&pseg->alldevs_lock);
                 return pdev;
             }
@@ -640,6 +620,7 @@ struct pci_dev *pci_get_pdev(struct domain *d, pci_sbdf=
_t sbdf)
         list_for_each_entry ( pdev, &d->pdev_list, domain_list )
             if ( pdev->sbdf.bdf =3D=3D sbdf.bdf )
             {
+                pcidev_get(pdev);
                 spin_unlock(&d->pdevs_lock);
                 return pdev;
             }
@@ -754,7 +735,10 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                             PCI_SBDF(seg, info->physfn.bus,
                                      info->physfn.devfn));
         if ( pdev )
+        {
             pf_is_extfn =3D pdev->info.is_extfn;
+            pcidev_put(pdev);
+        }
         pcidevs_unlock();
         if ( !pdev )
             pci_add_device(seg, info->physfn.bus, info->physfn.devfn,
@@ -920,8 +904,9 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
                 spin_unlock(&pdev->domain->pdevs_lock);
             }
             printk(XENLOG_DEBUG "PCI remove device %pp\n", &pdev->sbdf);
-            free_pdev(pseg, pdev);
             list_del(&pdev->alldevs_list);
+            pdev_msi_deinit(pdev);
+            pcidev_put(pdev);
             break;
         }
=20
@@ -952,7 +937,7 @@ static int deassign_device(struct domain *d, uint16_t s=
eg, uint8_t bus,
     {
         ret =3D iommu_quarantine_dev_init(pci_to_dev(pdev));
         if ( ret )
-           return ret;
+            goto out;
=20
         target =3D dom_io;
     }
@@ -982,6 +967,7 @@ static int deassign_device(struct domain *d, uint16_t s=
eg, uint8_t bus,
     pdev->fault.count =3D 0;
=20
  out:
+    pcidev_put(pdev);
     if ( ret )
         printk(XENLOG_G_ERR "%pd: deassign (%pp) failed (%d)\n",
                d, &PCI_SBDF(seg, bus, devfn), ret);
@@ -1117,7 +1103,10 @@ void pci_check_disable_device(u16 seg, u8 bus, u8 de=
vfn)
             pdev->fault.count >>=3D 1;
         pdev->fault.time =3D now;
         if ( ++pdev->fault.count < PT_FAULT_THRESHOLD )
+        {
+            pcidev_put(pdev);
             pdev =3D NULL;
+        }
     }
     pcidevs_unlock();
=20
@@ -1128,6 +1117,8 @@ void pci_check_disable_device(u16 seg, u8 bus, u8 dev=
fn)
      * control it for us. */
     cword =3D pci_conf_read16(pdev->sbdf, PCI_COMMAND);
     pci_conf_write16(pdev->sbdf, PCI_COMMAND, cword & ~PCI_COMMAND_MASTER)=
;
+
+    pcidev_put(pdev);
 }
=20
 /*
@@ -1246,6 +1237,7 @@ static int __hwdom_init cf_check _setup_hwdom_pci_dev=
ices(
                 printk(XENLOG_WARNING "Dom%d owning %pp?\n",
                        pdev->domain->domain_id, &pdev->sbdf);
=20
+            pcidev_put(pdev);
             if ( iommu_verbose )
             {
                 pcidevs_unlock();
@@ -1495,33 +1487,28 @@ static int iommu_remove_device(struct pci_dev *pdev=
)
     return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev(p=
dev));
 }
=20
-static int device_assigned(u16 seg, u8 bus, u8 devfn)
+static int device_assigned(struct pci_dev *pdev)
 {
-    struct pci_dev *pdev;
     int rc =3D 0;
=20
     ASSERT(pcidevs_locked());
-    pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
-
-    if ( !pdev )
-        rc =3D -ENODEV;
     /*
      * If the device exists and it is not owned by either the hardware
      * domain or dom_io then it must be assigned to a guest, or be
      * hidden (owned by dom_xen).
      */
-    else if ( pdev->domain !=3D hardware_domain &&
-              pdev->domain !=3D dom_io )
+    if ( pdev->domain !=3D hardware_domain &&
+         pdev->domain !=3D dom_io )
         rc =3D -EBUSY;
=20
     return rc;
 }
=20
 /* Caller should hold the pcidevs_lock */
-static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 =
flag)
+static int assign_device(struct domain *d, struct pci_dev *pdev, u32 flag)
 {
     const struct domain_iommu *hd =3D dom_iommu(d);
-    struct pci_dev *pdev;
+    uint8_t devfn;
     int rc =3D 0;
=20
     if ( !is_iommu_enabled(d) )
@@ -1532,10 +1519,11 @@ static int assign_device(struct domain *d, u16 seg,=
 u8 bus, u8 devfn, u32 flag)
=20
     /* device_assigned() should already have cleared the device for assign=
ment */
     ASSERT(pcidevs_locked());
-    pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
     ASSERT(pdev && (pdev->domain =3D=3D hardware_domain ||
                     pdev->domain =3D=3D dom_io));
=20
+    devfn =3D pdev->devfn;
+
     /* Do not allow broken devices to be assigned to guests. */
     rc =3D -EBADF;
     if ( pdev->broken && d !=3D hardware_domain && d !=3D dom_io )
@@ -1570,7 +1558,7 @@ static int assign_device(struct domain *d, u16 seg, u=
8 bus, u8 devfn, u32 flag)
  done:
     if ( rc )
         printk(XENLOG_G_WARNING "%pd: assign (%pp) failed (%d)\n",
-               d, &PCI_SBDF(seg, bus, devfn), rc);
+               d, &PCI_SBDF(pdev->seg, pdev->bus, devfn), rc);
     /* The device is assigned to dom_io so mark it as quarantined */
     else if ( d =3D=3D dom_io )
         pdev->quarantine =3D true;
@@ -1710,6 +1698,9 @@ int iommu_do_pci_domctl(
         ASSERT(d);
         /* fall through */
     case XEN_DOMCTL_test_assign_device:
+    {
+        struct pci_dev *pdev;
+
         /* Don't support self-assignment of devices. */
         if ( d =3D=3D current->domain )
         {
@@ -1737,26 +1728,36 @@ int iommu_do_pci_domctl(
         seg =3D machine_sbdf >> 16;
         bus =3D PCI_BUS(machine_sbdf);
         devfn =3D PCI_DEVFN(machine_sbdf);
+        pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
+        if ( !pdev )
+        {
+            printk(XENLOG_G_INFO "%pp non-existent\n",
+                   &PCI_SBDF(seg, bus, devfn));
+            ret =3D -EINVAL;
+            break;
+        }
=20
         pcidevs_lock();
-        ret =3D device_assigned(seg, bus, devfn);
+        ret =3D device_assigned(pdev);
         if ( domctl->cmd =3D=3D XEN_DOMCTL_test_assign_device )
         {
             if ( ret )
             {
-                printk(XENLOG_G_INFO "%pp already assigned, or non-existen=
t\n",
+                printk(XENLOG_G_INFO "%pp already assigned\n",
                        &PCI_SBDF(seg, bus, devfn));
                 ret =3D -EINVAL;
             }
         }
         else if ( !ret )
-            ret =3D assign_device(d, seg, bus, devfn, flags);
+            ret =3D assign_device(d, pdev, flags);
+
+        pcidev_put(pdev);
         pcidevs_unlock();
         if ( ret =3D=3D -ERESTART )
             ret =3D hypercall_create_continuation(__HYPERVISOR_domctl,
                                                 "h", u_domctl);
         break;
-
+    }
     case XEN_DOMCTL_deassign_device:
         /* Don't support self-deassignment of devices. */
         if ( d =3D=3D current->domain )
@@ -1796,6 +1797,46 @@ int iommu_do_pci_domctl(
     return ret;
 }
=20
+static void release_pdev(refcnt_t *refcnt)
+{
+    struct pci_dev *pdev =3D container_of(refcnt, struct pci_dev, refcnt);
+    struct pci_seg *pseg =3D get_pseg(pdev->seg);
+
+    printk(XENLOG_DEBUG "PCI release device %pp\n", &pdev->sbdf);
+
+    /* update bus2bridge */
+    switch ( pdev->type )
+    {
+        unsigned int sec_bus, sub_bus;
+
+        case DEV_TYPE_PCIe2PCI_BRIDGE:
+        case DEV_TYPE_LEGACY_PCI_BRIDGE:
+            sec_bus =3D pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
+            sub_bus =3D pci_conf_read8(pdev->sbdf, PCI_SUBORDINATE_BUS);
+
+            spin_lock(&pseg->bus2bridge_lock);
+            for ( ; sec_bus <=3D sub_bus; sec_bus++ )
+                pseg->bus2bridge[sec_bus] =3D pseg->bus2bridge[pdev->bus];
+            spin_unlock(&pseg->bus2bridge_lock);
+            break;
+
+        default:
+            break;
+    }
+
+    xfree(pdev);
+}
+
+void pcidev_get(struct pci_dev *pdev)
+{
+    refcnt_get(&pdev->refcnt);
+}
+
+void pcidev_put(struct pci_dev *pdev)
+{
+    refcnt_put(&pdev->refcnt, release_pdev);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough=
/vtd/quirks.c
index fcc8f73e8b..d240da0416 100644
--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -429,6 +429,8 @@ static int __must_check map_me_phantom_function(struct =
domain *domain,
         rc =3D domain_context_unmap_one(domain, drhd->iommu, 0,
                                       PCI_DEVFN(dev, 7));
=20
+    pcidev_put(pdev);
+
     return rc;
 }
=20
diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index 29a88e8241..1298f3a7b6 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -114,7 +114,7 @@ void __init video_endboot(void)
         for ( bus =3D 0; bus < 256; ++bus )
             for ( devfn =3D 0; devfn < 256; ++devfn )
             {
-                const struct pci_dev *pdev;
+                struct pci_dev *pdev;
                 u8 b =3D bus, df =3D devfn, sb;
=20
                 pcidevs_lock();
@@ -126,7 +126,11 @@ void __init video_endboot(void)
                                      PCI_CLASS_DEVICE) !=3D 0x0300 ||
                      !(pci_conf_read16(PCI_SBDF(0, bus, devfn), PCI_COMMAN=
D) &
                        (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) )
+		{
+		    if (pdev)
+			pcidev_put(pdev);
                     continue;
+		}
=20
                 while ( b )
                 {
@@ -144,7 +148,10 @@ void __init video_endboot(void)
                             if ( pci_conf_read16(PCI_SBDF(0, b, df),
                                                  PCI_BRIDGE_CONTROL) &
                                  PCI_BRIDGE_CTL_VGA )
+			    {
+				pcidev_put(pdev);
                                 continue;
+			    }
                             break;
                         }
                         break;
@@ -157,6 +164,7 @@ void __init video_endboot(void)
                            bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
                     pci_hide_device(0, bus, devfn);
                 }
+		pcidev_put(pdev);
             }
     }
=20
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 7d1f9fd438..59dc55f498 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -313,7 +313,7 @@ static uint32_t merge_result(uint32_t data, uint32_t ne=
w, unsigned int size,
 uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
 {
     struct domain *d =3D current->domain;
-    const struct pci_dev *pdev;
+    struct pci_dev *pdev;
     const struct vpci_register *r;
     unsigned int data_offset =3D 0;
     uint32_t data =3D ~(uint32_t)0;
@@ -373,6 +373,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, u=
nsigned int size)
         ASSERT(data_offset < size);
     }
     spin_unlock(&pdev->vpci->lock);
+    pcidev_put(pdev);
=20
     if ( data_offset < size )
     {
@@ -416,7 +417,7 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsi=
gned int size,
                 uint32_t data)
 {
     struct domain *d =3D current->domain;
-    const struct pci_dev *pdev;
+    struct pci_dev *pdev;
     const struct vpci_register *r;
     unsigned int data_offset =3D 0;
     const unsigned long *ro_map =3D pci_get_ro_map(sbdf.seg);
@@ -478,6 +479,7 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsi=
gned int size,
         ASSERT(data_offset < size);
     }
     spin_unlock(&pdev->vpci->lock);
+    pcidev_put(pdev);
=20
     if ( data_offset < size )
         /* Tailing gap, write the remaining. */
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 19047b4b20..e71a180ef3 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -13,6 +13,7 @@
 #include <xen/irq.h>
 #include <xen/pci_regs.h>
 #include <xen/pfn.h>
+#include <xen/refcnt.h>
 #include <asm/device.h>
 #include <asm/numa.h>
=20
@@ -116,6 +117,9 @@ struct pci_dev {
     /* Device misbehaving, prevent assigning it to guests. */
     bool broken;
=20
+    /* Reference counter */
+    refcnt_t refcnt;
+
     enum pdev_type {
         DEV_TYPE_PCI_UNKNOWN,
         DEV_TYPE_PCIe_ENDPOINT,
@@ -160,6 +164,14 @@ void pcidevs_lock(void);
 void pcidevs_unlock(void);
 bool_t __must_check pcidevs_locked(void);
=20
+/*
+ * Acquire and release reference to the given device. Holding
+ * reference ensures that device will not disappear under feet, but
+ * does not guarantee that code has exclusive access to the device.
+ */
+void pcidev_get(struct pci_dev *pdev);
+void pcidev_put(struct pci_dev *pdev);
+
 bool_t pci_known_segment(u16 seg);
 bool_t pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func);
 int scan_pci_devices(void);
@@ -177,8 +189,14 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
 int pci_remove_device(u16 seg, u8 bus, u8 devfn);
 int pci_ro_device(int seg, int bus, int devfn);
 int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devfn=
);
+
+/*
+ * Next two functions will find a requested device and acquire
+ * reference to it. Use pcidev_put() to release the reference.
+ */
 struct pci_dev *pci_get_pdev(struct domain *d, pci_sbdf_t sbdf);
 struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf);
+
 void pci_check_disable_device(u16 seg, u8 bus, u8 devfn);
=20
 uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg);
--=20
2.36.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 14:33:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 14:33:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395759.635599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOly-0002rf-Pu; Wed, 31 Aug 2022 14:32:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395759.635599; Wed, 31 Aug 2022 14:32:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTOly-0002rY-MR; Wed, 31 Aug 2022 14:32:54 +0000
Received: by outflank-mailman (input) for mailman id 395759;
 Wed, 31 Aug 2022 14:32:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fS8T=ZD=citrix.com=prvs=23534f77e=George.Dunlap@srs-se1.protection.inumbo.net>)
 id 1oTOlx-0002rS-A6
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 14:32:53 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c99d2053-2939-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 16:32:50 +0200 (CEST)
Received: from mail-mw2nam12lp2047.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Aug 2022 10:32:48 -0400
Received: from PH0PR03MB5669.namprd03.prod.outlook.com (2603:10b6:510:33::16)
 by DM8PR03MB6262.namprd03.prod.outlook.com (2603:10b6:8:26::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 14:32:46 +0000
Received: from PH0PR03MB5669.namprd03.prod.outlook.com
 ([fe80::50e5:dec2:1f40:9648]) by PH0PR03MB5669.namprd03.prod.outlook.com
 ([fe80::50e5:dec2:1f40:9648%6]) with mapi id 15.20.5566.021; Wed, 31 Aug 2022
 14:32:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c99d2053-2939-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661956370;
  h=from:to:subject:date:message-id:mime-version;
  bh=IR58ekNTzRAy+DWGQdiyfJwTVxhmmBxQfvTe90fhHtY=;
  b=DVCmWYo8hdAEdTvuP/1LjfLz+mzeCfpFHE2ux1CN0YKFQeqVeGNQpRIc
   Ri8fUFHj++fj7fcBut03wF5/skQUv1YRRRjZsaIHVdOLoBJ4JK53XlAAW
   XLw05qMnAzhlVy2N+7UQBs6OcvkP3VJajMhHETBrFB1wNCAZCUxtfkJsH
   A=;
X-IronPort-RemoteIP: 104.47.66.47
X-IronPort-MID: 79482745
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: =?us-ascii?q?A9a23=3AL5NE7qJSG529Ly1kFE//H55y1QzLRhNe6xNEt?=
 =?us-ascii?q?3ClJ83I83xWrbca/1dBu4V+B9VlCD9gz7ZC0hmrA96SIuGHBTG82S7rxTUTn?=
 =?us-ascii?q?AUwuVo1VM8/yqlK2PCsDufJGiZT0/ujQd6M5Rk0zBZyokdw0Fa4qkq3uNaUf?=
 =?us-ascii?q?Q0gm/B6uTXUqtZfizfubNCypkLelUvOkJ9T04mYZLN4Ls8CDM/2DQ7xTEvEk?=
 =?us-ascii?q?UBH/ERfQNh2hgddlHZqFLVnMMbE6P2pVthTleRk0kzC6HYd++R5ghQ7tPbPQ?=
 =?us-ascii?q?noJ/nKS17DlgoMb3JMkJ5ypQGAku/tehgIFW0OXmg535vxo4QX/WcWCCdrBf?=
 =?us-ascii?q?5vWhwYF0XeNhRlK/FG0222MMGt6+TUBBOUTKRzTXBFSxk9tUCA5dKnrEc43I?=
 =?us-ascii?q?bRcRMooF0Way+1UWWYTIQ269cVR8yqAHP7yd7+NM3Ik0qoE+oMipSSnzLE5E?=
 =?us-ascii?q?zmEb2ZVWFLaEzVgwpDT2X3TJfynnMI/5kwPHrEIFlmqYX6jFndKMd8sVsRxr?=
 =?us-ascii?q?9llD12/OHqCQK47/sFIqqSELm0JR2eBQAJWg1vsCuuSZUXpt0zOQ77a/Gh52?=
 =?us-ascii?q?AImv6DiKjnIuKDz/yP3Zwvf3ojlWp+pcdWu9mnsPzzDYSXB9kfnS3C6MgeXt?=
 =?us-ascii?q?uj9jf6QNzU4TpgSsCe174d+4Ia/yqhUKLZpIeQdQLGcGqpBHmQPKBG2cX4fN?=
 =?us-ascii?q?w0KrrdTRxEC1tviqb2NCYB5lY8ePSp8a0pO/2MR7oAL+MmIPw2UxHv6OB5bc?=
 =?us-ascii?q?Yc0BB6bDGh0klchd7E2kUepLKsGYZ4ZCsVPEbMgDq2KwZozf5kHk8fxx+vOL?=
 =?us-ascii?q?ByU/Vc31PfJHZfmecBebCWn3eFrY+GhPm2WXxNNJjuNYNsSpbUlvq6UwTVSj?=
 =?us-ascii?q?SI8OC+yJFfgupI5JZw2vc01apa9/452rsinX7yt4OjOZ5QSUYnBUM1nk0Kx2?=
 =?us-ascii?q?pbJczJPmsG55+IUGJBfy181q0O+gKl1xoQnUv90ApQmyqcP/X6xVWEwGuszx?=
 =?us-ascii?q?UiiLD9vnQ3y35A/Umn7cNMSGVcgTy9y32zoEzsAZmjC91naJznbcnK5uDIUn?=
 =?us-ascii?q?iUAFzwiAqXDi8/Kxh9ddAjIQknAps9d18Goz3ohlFPc1WtMBekWzlk+GaGwc?=
 =?us-ascii?q?i0jhymhpZCf5YPE6oeodTL/cl0IikzlKY0nm2UzsDTw6idkvzAc4qsLij0vW?=
 =?us-ascii?q?u57NzMYaniuTESSSyE4J3uy2+p/8WWBVB43EHrg9AdaCiW5z4vWmg7Ht8yFX?=
 =?us-ascii?q?nUbKSnS0mLen0pn2StGSUAzWRSyP7NCFRsU59gzvp/RE1fSglSfTsNZpjxKx?=
 =?us-ascii?q?PKxN/IIZeXW91GJzuVoP9diAlSI76uYgTotyekpKR9e1MnBLvQTdn8A2x5Ko?=
 =?us-ascii?q?oZuIWvvBKzkfx4giMJiF2dfA7RLIgrMVr4zWfqngnqnwQen+HFp8pgmeAbD9?=
 =?us-ascii?q?9OFI3O9Upnoe15YUIr7cC5PsM4cXiVq7qV+l2l0qqe25q/5IY6lrUCSSW534?=
 =?us-ascii?q?mfCVj7aHusqMGy5LavQiBfJaBO6R0ScnxMMt6LD+zxswIs1dykrxBLT55pbG?=
 =?us-ascii?q?4h1ZFGXLN06+MpfXn82+zTtkyLyAPbXTibbQrC+OoGB3qH2yf7DRy4bFzAx0?=
 =?us-ascii?q?DFuwIvLmC7oBFoAXNBOAt+v9MB6DUvpezF8Pa/N0LJvskR9YNuiNdQdZmVbU?=
 =?us-ascii?q?l4q+6ScxI8EiCZj6377/BV+wUrK8DR2mQbRBO+ZRwvdHbkRdK/VXRNdXhNZs?=
 =?us-ascii?q?CUW2SOVFfQE2fb/D/fiRarKVQOY3Twbf04m6NANoxOsdzfcfdVGirqFc/71K?=
 =?us-ascii?q?KAM9IZuBZuKWPH43xpS4aU70tJoimH1jHutJ4UH1taE/dEZdhNDkC5ZodWzg?=
 =?us-ascii?q?60/v9xgT9W4M8Ts8OYsK9TA1fVJ57x+lJyouF/pIQLv2htCUpjVKGNRaieT/?=
 =?us-ascii?q?FUJxk5mvWVy+lI3j51Hwo5XSlEafNzHEZHSMJbTQFIiHKnkV7vZQnhjE643e?=
 =?us-ascii?q?YbgLnZmvsLnaKi29ZZG51ePAKuBDPz8wb77BB1p0fwvGFkYPutFAqyR2FTPt?=
 =?us-ascii?q?sHjnpav1ESQdYYd55B9Dk0K+4SzoNZpbUu92koKWHIYV9FprhYGp/SJsPXH3?=
 =?us-ascii?q?3t43lCqejQxF39CPo5xu6clqlgbe4eoZEPPoi7rJ+npKJMw9dmcq6qZxQFhA?=
 =?us-ascii?q?A9tnjoXAC3+KMrABT31LLvVm+Cd+2HHRkqwdFGhBfrjG4PCuD1UCySgn5LdL?=
 =?us-ascii?q?tfmOuByfX970Uz5BQ7ksrwbvHpifZDSI+70wOt6tyWMGXm09V0vi6MF5UUFO?=
 =?us-ascii?q?Y4aGfOFyIAef3oLVH5n6wvKZJBoVt2DKaeqAi1nSHmdd32CDjtkF0ybPt/JA?=
 =?us-ascii?q?07Dhsg+pfLiDFsqi/8WXapu4zh93xMZFzL/F+a+QXkb6/Wbnz09FadgxwPFw?=
 =?us-ascii?q?2bf6dZllSRlCkLlplocj5DgX0D9ddMnaAqcdAdBgiJvFzWRvPk=3D?=
X-IronPort-AV: E=Sophos;i="5.93,278,1654574400"; 
   d="asc'?scan'208";a="79482745"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LRNzpGf50bnclB4ogB64baSNG27+PrP582/HiRL9hOqffZlQ9DcA+iq2SFd0Oz/q4JgxW4vadn0GezOYWhkq4rW8xW3rxro7X0WSb7p8GsCyRNMR4f91Qk9Xf7qq7zc/P/nptCY4bsKxopE/5q1BFQGrbLxVhvYJ5UqNUJSPp70uN9IB9neRFfxofsn4ziNo2qGJqS6IpXc3BZeUeAkZ1S9RDUk+IgQUgOA1RkwWqna9RSyng+/qmy4k0vM2PprPQ9TE8KDSDBpU2/okD+X2t7JpviGZEnKEn9ok3n5+PsZ01OMhdvFyEH6AI7oSqvNlwHEUnuky5nlepT0T3h8/nA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s90qAuN5PhtxuB7A9oZ92FR8Z9hJcu3lEJbzaDL5Cq0=;
 b=Bp36L38KCOVLMY0hm9usrKWLoJRU6baV6QzWC/wzyNsQcCyB1FKa8Z8cK21Phr3mH/5vqjqhRGmUqk+MhvCeSYBNGkBACO+3MtHwihZzYhBa3/lb9jo8yJLhNmbe/GB60H8CxzWSKf3LNeZKfzCZVn4IXjQY0+nN/5+ZRZYAN/ZfBkfa8p/ZQhcM+JvgRi/29y2NnfF4OuMUrrfZLCxOzGIF2NP2x3aASFJRKub/KuPsqAvs6gisPhoBS8LDFJC7UfiD8dTfMxRbQS1NiLxRR6BcNwl+hiQzJXB6PRl23VextLN4keO3cYg/0RLl4pRl21pqbyd2ltRrKmtH1P1Hsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s90qAuN5PhtxuB7A9oZ92FR8Z9hJcu3lEJbzaDL5Cq0=;
 b=S+q2/LAMQB2OKeQoFLSOZ/qw63ci1Us4WFq7IGopMq6Mujp9Boe3H22Q6g4YA+jrHtP8bkTrapHES1bHP3fHUSZH+gGEMpyxyW63jZiPfjSypk6NbY8dkdTN9E7FJbODrLiBF4zvbUd6k2hIeqA1/sbkAmUQNLJxvwSMIucWa5Q=
From: George Dunlap <George.Dunlap@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Subject: ANNOUNCEMENT: Design sessions website is up!
Thread-Topic: ANNOUNCEMENT: Design sessions website is up!
Thread-Index: AQHYvUaJV0i/b8E8wk+orMJeQfxn2w==
Date: Wed, 31 Aug 2022 14:32:46 +0000
Message-ID: <0BA930BC-AC8E-4BD4-BC1A-C6C2A3E52FDC@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f6ec96d5-7956-478b-5c8b-08da8b5dac33
x-ms-traffictypediagnostic: DM8PR03MB6262:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 mg56Z5Dj7Nvac53yWz/0cl5L1XShvadBRv8wfwVrROFDcD12Ti/NyGmXyxnMrIl6ZM9459hcgjQVJzHg0qX3xJBHY+NNtgC8K+AWc8TJ9Iv14NK8QieI3b54BQXNCgWJ7UKRy9nnz8marJ+IpERLyf9lg6W/F3m9v8s1KJxkIcSQ9TX3wtTgfKaEKGXT+W/cHiaFa+JsNjxuy2A9eR/3hoCWLqzry3r6oP0oe156jstDZflSjfeQ8JsDHuUiuv2dxHfgrccTT2FlSRHZ1QwSwNwCFwzkfIxjV8OxtfMmScsofyU2TrPhMakOTXlqpyT/+S0UCoycJQ+iqLYreEjEJi+xO5lYZXg/DNOAFELf4hxNfDAo/Xd9xLF1hsMGrisBOlQKgw6jNY0jx5byF9DJ0aw62tllKUy/s55Emkv4a1KoWwvJbGhqwd1Q6c4pxTziEwHISi4zjVVdsn/iVBBkj+FoOeBsXuE18cq0TXigCdsYYcDZ5+6N3QppoGXCUrTPoRLl9cfQOk3YWcIxfTs/U5yyspKcqV6qrrbHFhodIMPi2R7onalDcN0uTlo8d+wyqAo9RT7V1soxqURHd9g/Vcw127UgkzeScjZl/1RT/G/IXkULf7L++i6N2M3sPlynsK9CnzK0y5FgFY/faew2H/jrxYU8SDm99NXjgeUD8nP0fmPsnPvzziUjSgqI6QLYCVDcjTavQZsGpdf0bdl4wZBNiFmu74GO+aiybJmSYw80hV5D7h0rLS2U0K3mu2fA8jv/nOsAL8fQ1fo5S9NA4imGU8XXzHFTpR+mmcOB4Dg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB5669.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(366004)(346002)(396003)(39860400002)(136003)(5660300002)(36756003)(2616005)(83380400001)(2906002)(122000001)(8936002)(26005)(38100700002)(6512007)(66446008)(8676002)(33656002)(71200400001)(6916009)(76116006)(66946007)(66556008)(91956017)(38070700005)(6506007)(64756008)(66476007)(186003)(316002)(86362001)(41300700001)(99936003)(82960400001)(478600001)(6486002)(966005)(49320200007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aHVHSmJETlcwUW03Sjlyc3FLZGw5WUpKQ1pRREZNQVphWWxtZnNrdXkzZ3ZM?=
 =?utf-8?B?amtRNCtIQ1ZiakFTSjFHVFV6cUVOSWI4YUxzOHpRczRrMHZhd2R0bDhXOFBE?=
 =?utf-8?B?d1RoSVMvWGt4K055eUcraTBjclgrQzk3WGVVa3FVbUJnVHhOSVVDOVNNSjdj?=
 =?utf-8?B?b0MyanlQQXFKVllIYnBNTm84ZG5jclhGZ3dGVSsrd0t5ZmMxRUUvTm1SMkNU?=
 =?utf-8?B?SnFLTXUra1V0QVFNQW1nUnpzZmtacE9COXNkMlU2TE9FRXBJK2VLN3E1SkZN?=
 =?utf-8?B?Szlpc0Q1eTVtWjJzMnRDU3MxczBvbGVSVjVWS1ZKSVd6ZmFaWExDcDRwdE9R?=
 =?utf-8?B?cTlUaXZxVnNLako3Z1F1aW1PUFlKUURuNzBUS1hFK0tCY3BMcnhYYys2Ym4v?=
 =?utf-8?B?Y243VDZPVnlxQlNucFRPcDFBdys0UW5jNFFqNkx3VDI2SncxUU03cFpVcjly?=
 =?utf-8?B?ZldQQjV0WHU2c29Mbkg4ajZ5NWNDNmR6clpFTFR3eG1tV1NUTEdoTGVPNE4v?=
 =?utf-8?B?L3NjM1Z2Tlo4YmdBZDVTdDFRelRVZHRZcXQremlWM1RJaDlLaTBLVUQ1cFFt?=
 =?utf-8?B?VW80VFdYMHlFWUJhak1QSmYrL1ozRWxvSUtWaEptYUNnV3RqUWxjR2M0cWdp?=
 =?utf-8?B?MDN3czcxampsdGZweHlXNFlBZWI3SnVuT3B3dHFrV1p6SHZkRHlXeHE2UWw0?=
 =?utf-8?B?R1lua3dsa1hDZSsxSHQvd1R0dFByS1I1NFlrdE5uaStvQlBLSkQ5QmUwUENx?=
 =?utf-8?B?SmhwK1hKdDRHZUNBd0RVaVc5Y1BhdUJESHBrN3hOWE0yeWhPR0JmTktaL01h?=
 =?utf-8?B?NlB4ZmZNMWJtQm42NWhFZVNXZEhmN0RCMWcySzlFanFWMk80TGlVL1FpdE5u?=
 =?utf-8?B?VkdZNEMyOW00aWdJTFl6dEFFUFhmay9kUWFhWDBFaHRYanNsaDRQNEtTZmlZ?=
 =?utf-8?B?QngwR2JXRkxCM01Va0dEMzNkOGplRlFiUXVHUTFKT0F6THhyUCtxMzAybXQ1?=
 =?utf-8?B?bmNWalFqbjd0ZndhRFFFYStISzdkdHhKMGdFdTJ6cVRsNC9OY2dVNnhVUHZo?=
 =?utf-8?B?d2FRT2F1WE56cHhtUEFWOVU4dUV4ZGx1TVRyanBoWkFuNGpMR1RQS0xSdUU1?=
 =?utf-8?B?UU0ySDJZUlJ3cUlEcnhVWlI3Und4QmdIYmpMY3A5OFlFRU9CMmdpb2dFYndU?=
 =?utf-8?B?ZnJiWUpaU21xZlcwT2hnUXVJangrVVZmR0JkRVl5a3Mvd1g0NmlTcDJhblVI?=
 =?utf-8?B?SmxYYjY4SC9SWEdFeFNIQmdrb3lKajBIaTRQVU5WTEZZOVZFQTZBYVJ6ejRk?=
 =?utf-8?B?WjdROGJHaVJqYTk3T05LUkJSVTgyNm5WOUtJN2c4TjNzODhBRGpiZ3I4ek1B?=
 =?utf-8?B?SWdyQ1h5ajR0OWxwQUMyajBYbmZZbU9xL2dYR3VlWGYwTnluTVk4dWNpbWFz?=
 =?utf-8?B?dzFVd0N4OStMaDRXU1ExZzV1L3c0SHNrLzFSOXRsdlhXYkhwQzE2bnR4Sjd6?=
 =?utf-8?B?b3dkSXB1WEhPRmpBL2tPYnVGdlpoUVpCWmtIdThBRGNCVm4wRG12NFNYaVJK?=
 =?utf-8?B?U0xMcE1QcGk5LzBYT2JJbWxDK2hUS1gzeWJKNkE3eTM2SmFDNGhpUHl1YkRO?=
 =?utf-8?B?MVl2UGRabFBGOVVwWFV6enZVSUU0ai9tc0lmY09FQkZXSzdKUWRpV0hCMGpE?=
 =?utf-8?B?WnpzMCsrVTFNQmVXTStJWWg5Y1hXNGJmc1M5dU91TVBkV3hSellnK2tHK3pH?=
 =?utf-8?B?VjJTRkVpcVl0WkRHbFl5Z25PYVZIMENQWDFOMjdwUXhlbUc5UG1vZUNTRzdF?=
 =?utf-8?B?bmswc3RkZ0dYWDhGaG5SRjdPRFpIV0VYdzg0aU4vaWIwWklTUExseVRhcGw4?=
 =?utf-8?B?WDgzbGE4NllHdVhaY1A2ZnMyYUhmYm5DZ2I3SG9XeG9xaXorWVkrWUJsODJC?=
 =?utf-8?B?Y1BNeEN6U044Y3dKaFNla2U3Yi91Qzk2TWhNUE1jOFQyUWFJYklrUmxPMWVX?=
 =?utf-8?B?UThRT05qMjVrMWZHMklvczFaSEpLdk00Z1k4eHp2d0VsL0xrU0Z4MUFid2x4?=
 =?utf-8?B?OS9NM1d4NWNITlhTbnExSFQ3RmRMRFRnOXJFVUE4ZHY0Z0hMUE1lSVkvVmVC?=
 =?utf-8?B?cjgyRGJjT2UrWk9Bcmk3enNnUldJT1JlUXlpKzROd01URHZ4UEpWRVowaThG?=
 =?utf-8?B?b0E9PQ==?=
Content-Type: multipart/signed;
	boundary="Apple-Mail=_F983FB21-9ECD-4F74-92F4-E65FC7D0D48B";
	protocol="application/pgp-signature";
	micalg=pgp-sha256
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB5669.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f6ec96d5-7956-478b-5c8b-08da8b5dac33
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 14:32:46.3144
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VXtBWFDNsgeAzq+9zhqBR4lme8XBMR3eW/pcbv0gPOxFPSmSaQWLzEDctW55Q4CyVeF/vil5Oc7wJyJLfvG/eU6QvUOI0Wx3a1P0iiT8mJ8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR03MB6262

--Apple-Mail=_F983FB21-9ECD-4F74-92F4-E65FC7D0D48B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hey all,

The design session website is up:

https://design-sessions.xenproject.org

If you=E2=80=99re attending the event in Cambridge, please register an =
account and submit your topics for discussion.

As a reminder, here=E2=80=99s how we tried to balance ease-of-use with =
fighting spam:

During =E2=80=9Cphase 1=E2=80=9D, anyone can create an account; but =
accounts by default start as =E2=80=9Cunverified=E2=80=9D.

Unverified accounts can create design sessions, but those sessions are =
not visible until approved by the admin.  Unverified accounts can also =
modify their own sessions=E2=80=99 titles and descriptions, but those =
changes aren=E2=80=99t visible until approved by the admin.

The admin can manually verify any account that looks like it=E2=80=99s =
valid.  Verified accounts=E2=80=99 design sessions are visible =
immediately.

At some point, we send out a verification code to all attendees; usually =
a week before the conference.  This starts phase 2, where anyone can =
still create an account; but attendees can verify *themselves* by =
putting in the verification code.

Once the conference starts, we move on to phase 3, where you must have a =
verification code to create an account.  (And naturally your account =
starts in the =E2=80=98verified=E2=80=99 state.)

See you at the Summit!

 -George

--Apple-Mail=_F983FB21-9ECD-4F74-92F4-E65FC7D0D48B
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEj3+7SZ4EDefWZFyCshXHp8eEG+0FAmMPcQ0ACgkQshXHp8eE
G+00wggAvWefk3JamV827zxUwB6Olz4mSdeeDSUkjYJ4o1pbW00Uu6MhfzBEbS3a
hPHdmOHw39edVqfrzvHxSZPorCeeZ4xvR8i+YvpzfflOcNnUaJ6xQqhBgfad/3OF
SEHKRqicdBUezMfO522p+Lr5TF3TvaL4X0tsfM+P32LwEfaMdZ4Gk8p9fV5Y7nGD
1ei77UkCCkMGCMAD07ZxW45c6KUaWtKrFnx5QsMOUCeSv7OQYeBMVsIobmAGntWR
7aLD1qbcQwwQ88Oa9PIg2N6w4jmApqsU7BBUDBEfWwNhwJx503PPTrH5kkXkg2kE
tm0YEK1dX4YtjEd9Ax/wT+3apcnCLg==
=1YOt
-----END PGP SIGNATURE-----

--Apple-Mail=_F983FB21-9ECD-4F74-92F4-E65FC7D0D48B--


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:02:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395766.635610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPEu-00069R-4l; Wed, 31 Aug 2022 15:02:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395766.635610; Wed, 31 Aug 2022 15:02:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPEu-00069K-0X; Wed, 31 Aug 2022 15:02:48 +0000
Received: by outflank-mailman (input) for mailman id 395766;
 Wed, 31 Aug 2022 15:02:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTPEs-00069A-Rk; Wed, 31 Aug 2022 15:02:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTPEs-0000Uh-Mj; Wed, 31 Aug 2022 15:02:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTPEs-0000kT-6a; Wed, 31 Aug 2022 15:02:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTPEs-0003JA-67; Wed, 31 Aug 2022 15:02:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TwHZ/USwMAx7cg7+3MqnMig3WImUK5FDZv4qQrmFgD8=; b=tH6DNLbEA8qSI2eMagG0x3h6Rl
	iWe0LNkz1Ht4gEJWJ8ve8EyEfM0r6wHfDHJfmAjy2PQxHSXZuxxELX9EbF7kn7RgviL4EVQ/DFCJv
	wS94o3GFZN6n4+12O/6jRAoOjDDInP0Ak7sx4ZEgQGkc3V8FxlPZOljEzbryjPMZgjdQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172884-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 172884: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:build-i386-libvirt:libvirt-build:fail:regression
    linux-5.4:build-amd64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-arm64-libvirt:libvirt-build:fail:regression
    linux-5.4:build-armhf-libvirt:libvirt-build:fail:regression
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=684cc17be897de3b0fd2e5a021a702f68046d9fe
X-Osstest-Versions-That:
    linux=8d8935e76f6f419ef2f7617de252f258b6a597d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 15:02:46 +0000

flight 172884 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172884/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172128
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172128
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172128

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2   5 host-install(5)          broken pass in 172875
 test-armhf-armhf-examine      8 reboot           fail in 172875 pass in 172884

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 172128
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 172875 like 172108
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 172875 like 172128
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 172875 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 172875 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 172875 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 172875 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 172108
 test-armhf-armhf-xl-vhd      13 guest-start                  fail  like 172108
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172108
 test-armhf-armhf-xl-multivcpu 14 guest-start                  fail like 172128
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 172128
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 172128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172128
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                684cc17be897de3b0fd2e5a021a702f68046d9fe
baseline version:
 linux                8d8935e76f6f419ef2f7617de252f258b6a597d3

Last test of basis   172128  2022-08-04 02:00:25 Z   27 days
Failing since        172384  2022-08-11 11:13:58 Z   20 days   42 attempts
Testing same since   172776  2022-08-25 17:42:45 Z    5 days   13 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  broken  
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-step test-amd64-amd64-xl-credit2 host-install(5)

Not pushing.

(No revision log; it would be 11210 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:29:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:29:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395776.635621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPeC-0000EM-A6; Wed, 31 Aug 2022 15:28:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395776.635621; Wed, 31 Aug 2022 15:28:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPeC-0000EF-7P; Wed, 31 Aug 2022 15:28:56 +0000
Received: by outflank-mailman (input) for mailman id 395776;
 Wed, 31 Aug 2022 15:28:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTPeA-0000E9-7z
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:28:54 +0000
Received: from mail-yw1-x1134.google.com (mail-yw1-x1134.google.com
 [2607:f8b0:4864:20::1134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e50b10e-2941-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 17:28:53 +0200 (CEST)
Received: by mail-yw1-x1134.google.com with SMTP id
 00721157ae682-33da3a391d8so310910257b3.2
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 08:28:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e50b10e-2941-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=WG3L5AqBV6fri0E+FNG2tsbDp/uFyzzRTMikwR7NSY8=;
        b=K4mZtzeFsKxJKOsvfz3u8buWcDbdHB0bPmoDat2amZVxf6i7fSAQFaeyCHfBhOW0gn
         TYiPTPwinxH8yKQGmCabK7zsAg7t70798MwIPLUmtbWdWtkPoH8nkkd0L6+Cf/71NitT
         pIpTm135oSjNuBnp7lYQC08Y98tRGNR+0DcT0LYO7fxV5Ng1p7CsbsO1uZH/I63XPhjj
         LoKETIXPqOU+NyCB1s85tiwuh2e//ou8VKmFXVH3pOn419Mn7E1W55VRw4JlXGoTp7nX
         lwPAdy+2tjWZHnwP0BxNNwETNl+fZjmT1bVCkdUM4qWebnjcYikmadptjs0201jXoXGN
         /Wug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=WG3L5AqBV6fri0E+FNG2tsbDp/uFyzzRTMikwR7NSY8=;
        b=uSYPalQ4nUWQkF1b9acfzi1CsI0Ff8F1ItHmT29r0n7RmKlBEA4NSJcvLZcm8ZOrFk
         wDVQuCa4xyaxkfQTe0bI8WPnIXdbXsvKdNbScFZn4kib18OLTvx+KniYN+DastDpQzzi
         vTw38SYhkdyEcZesjDZ5yq2kGPIah6YpyNuLcd/t9nq6ZwHyRpQ1OuFZZuui9aT6pqg+
         m5yZL+2ccREjeKfhWmh33FdPT0xkedwCF/FqW/vCvqU2w4Pueg0R0dxDwKpdnjYVgO9N
         PXtj0jlUZvY8vK0ryc5zHkOl6c3gJH4B2CrjhagGTDCv9fAUM0V4zSV4bsrObF8flzer
         T/7g==
X-Gm-Message-State: ACgBeo1j6Y+jRP6yzjycLOrYA+KxRsO/T6Wue0fInDwYbis0QtMDjoFs
	x5D9mLZvdhG0Gk6XZVj5jbfSeC2QI3kCeOGlrxbT7w==
X-Google-Smtp-Source: AA6agR42WGqJyo3CQ/wsWtBH4QMjo2FwsKfgLb/Aa3jKv6m3xoE+xzdLy95JXttnzairFt+14Q8rzI0UFGuD4qoW950=
X-Received: by 2002:a0d:d850:0:b0:340:d2c0:b022 with SMTP id
 a77-20020a0dd850000000b00340d2c0b022mr16165795ywe.469.1661959731749; Wed, 31
 Aug 2022 08:28:51 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
 <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan> <20220831101948.f3etturccmp5ovkl@suse.de>
 <Yw88RFuBgc7yFYxA@dhcp22.suse.cz>
In-Reply-To: <Yw88RFuBgc7yFYxA@dhcp22.suse.cz>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 08:28:40 -0700
Message-ID: <CAJuCfpGZ==v0HGWBzZzHTgbo4B_ZBe6V6U4T_788LVWj8HhCRQ@mail.gmail.com>
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
To: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>, Kent Overstreet <kent.overstreet@linux.dev>, 
	Peter Zijlstra <peterz@infradead.org>, Andrew Morton <akpm@linux-foundation.org>, 
	Vlastimil Babka <vbabka@suse.cz>, Johannes Weiner <hannes@cmpxchg.org>, 
	Roman Gushchin <roman.gushchin@linux.dev>, Davidlohr Bueso <dave@stgolabs.net>, 
	Matthew Wilcox <willy@infradead.org>, "Liam R. Howlett" <liam.howlett@oracle.com>, 
	David Vernet <void@manifault.com>, Juri Lelli <juri.lelli@redhat.com>, 
	Laurent Dufour <ldufour@linux.ibm.com>, Peter Xu <peterx@redhat.com>, 
	David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, mcgrof@kernel.org, 
	masahiroy@kernel.org, nathan@kernel.org, changbin.du@intel.com, 
	ytcoode@gmail.com, Vincent Guittot <vincent.guittot@linaro.org>, 
	Dietmar Eggemann <dietmar.eggemann@arm.com>, Steven Rostedt <rostedt@goodmis.org>, 
	Benjamin Segall <bsegall@google.com>, Daniel Bristot de Oliveira <bristot@redhat.com>, 
	Valentin Schneider <vschneid@redhat.com>, Christopher Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, 
	Joonsoo Kim <iamjoonsoo.kim@lge.com>, 42.hyeyoo@gmail.com, 
	Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, dvyukov@google.com, 
	Shakeel Butt <shakeelb@google.com>, Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, 
	jbaron@akamai.com, David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	linux-mm <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 31, 2022 at 3:47 AM Michal Hocko <mhocko@suse.com> wrote:
>
> On Wed 31-08-22 11:19:48, Mel Gorman wrote:
> > On Wed, Aug 31, 2022 at 04:42:30AM -0400, Kent Overstreet wrote:
> > > On Wed, Aug 31, 2022 at 09:38:27AM +0200, Peter Zijlstra wrote:
> > > > On Tue, Aug 30, 2022 at 02:48:49PM -0700, Suren Baghdasaryan wrote:
> > > > > ===========================
> > > > > Code tagging framework
> > > > > ===========================
> > > > > Code tag is a structure identifying a specific location in the source code
> > > > > which is generated at compile time and can be embedded in an application-
> > > > > specific structure. Several applications of code tagging are included in
> > > > > this RFC, such as memory allocation tracking, dynamic fault injection,
> > > > > latency tracking and improved error code reporting.
> > > > > Basically, it takes the old trick of "define a special elf section for
> > > > > objects of a given type so that we can iterate over them at runtime" and
> > > > > creates a proper library for it.
> > > >
> > > > I might be super dense this morning, but what!? I've skimmed through the
> > > > set and I don't think I get it.
> > > >
> > > > What does this provide that ftrace/kprobes don't already allow?
> > >
> > > You're kidding, right?
> >
> > It's a valid question. From the description, it main addition that would
> > be hard to do with ftrace or probes is catching where an error code is
> > returned. A secondary addition would be catching all historical state and
> > not just state since the tracing started.
> >
> > It's also unclear *who* would enable this. It looks like it would mostly
> > have value during the development stage of an embedded platform to track
> > kernel memory usage on a per-application basis in an environment where it
> > may be difficult to setup tracing and tracking. Would it ever be enabled
> > in production? Would a distribution ever enable this? If it's enabled, any
> > overhead cannot be disabled/enabled at run or boot time so anyone enabling
> > this would carry the cost without never necessarily consuming the data.

Thank you for the question.
For memory tracking my intent is to have a mechanism that can be enabled in
the field testing (pre-production testing on a large population of
internal users).
The issue that we are often facing is when some memory leaks are happening
in the field but very hard to reproduce locally. We get a bugreport
from the user
which indicates it but often has not enough information to track it. Note that
quite often these leaks/issues happen in the drivers, so even simply finding out
where they came from is a big help.
The way I envision this mechanism to be used is to enable the basic memory
tracking in the field tests and have a user space process collecting
the allocation
statistics periodically (say once an hour). Once it detects some counter growing
infinitely or atypically (the definition of this is left to the user
space) it can enable
context capturing only for that specific location, still keeping the
overhead to the
minimum but getting more information about potential issues. Collected stats and
contexts are then attached to the bugreport and we get more visibility
into the issue
when we receive it.
The goal is to provide a mechanism with low enough overhead that it
can be enabled
all the time during these field tests without affecting the device's
performance profiles.
Tracing is very cheap when it's disabled but having it enabled all the
time would
introduce higher overhead than the counter manipulations.
My apologies, I should have clarified all this in this cover letter
from the beginning.

As for other applications, maybe I'm not such an advanced user of
tracing but I think only
the latency tracking application might be done with tracing, assuming
we have all the
right tracepoints but I don't see how we would use tracing for fault
injections and
descriptive error codes. Again, I might be mistaken.

Thanks,
Suren.

> >
> > It might be an ease-of-use thing. Gathering the information from traces
> > is tricky and would need combining multiple different elements and that
> > is development effort but not impossible.
> >
> > Whatever asking for an explanation as to why equivalent functionality
> > cannot not be created from ftrace/kprobe/eBPF/whatever is reasonable.
>
> Fully agreed and this is especially true for a change this size
> 77 files changed, 3406 insertions(+), 703 deletions(-)
>
> --
> Michal Hocko
> SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:37:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395782.635631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPmU-0001fn-3o; Wed, 31 Aug 2022 15:37:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395782.635631; Wed, 31 Aug 2022 15:37:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPmU-0001fg-1C; Wed, 31 Aug 2022 15:37:30 +0000
Received: by outflank-mailman (input) for mailman id 395782;
 Wed, 31 Aug 2022 15:37:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTPmR-0001fa-U8
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:37:27 +0000
Received: from mail-yw1-x112e.google.com (mail-yw1-x112e.google.com
 [2607:f8b0:4864:20::112e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d08fdd7f-2942-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 17:37:27 +0200 (CEST)
Received: by mail-yw1-x112e.google.com with SMTP id
 00721157ae682-33dce2d4bc8so310830027b3.4
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 08:37:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d08fdd7f-2942-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=Z5bWT124P9msiKtHJxXWtamGxGE9nU7NFSbNkXeVir4=;
        b=q4yt7LQZaKZTdzRnqOfBDWuxDUawgahY2C4+8NClZrlVWpZiq8b8wuUtt2FXanHGEc
         GKUHZeMZM5jPluxM3gpqfRkq+ZEpQLG+BNvz98YUVO6qqcwbNq/QfwpxfY1bBqJ/PbUe
         qN9rURlcwiX2U8yaFrSKUwROmM3LF8ndCfS6j0AHC4HsQL8z7s2/MCCQMTRvX3Ne6rDh
         NX1iVO84IZTdrxORhVNpFjbUB389eDGDLX9acAC39/jQL/Xkcw+zdEhsbVQSkIB5PGSl
         3MgCLAYUQZJEhdAOCDXe/UR2KtUxqwQZuMK/LjLdJHtYQZbxs0yHQAWgM70EmS5KjdKg
         raEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=Z5bWT124P9msiKtHJxXWtamGxGE9nU7NFSbNkXeVir4=;
        b=zdcNOLTcMAXA0StKP1UULObe6VVNOQf0UEKdh6dh9A+KXIoHI4U0OjypOAgw7PJfbQ
         hunWXG9dwoNlLP3fjMwwmqmskZqxaAs3xC2bqOy+lzgQl1B6ir+HfgEAf4XUxja2t7yu
         9wjP5BTFAPetVPGZ3yq8uC8pFFltZrwSDBjCua8eDqyU0C8W1ddoB7amAvp+wQ3K6xjd
         S9oSClO3axNXkLuxGXX45Bi0Wr9ipSXC6amCWNhsp1C/OlPNr+6vgduUPg5lvi7wBJ6U
         AaXHObkwnxGGV6laSYETF3X05EYYSUSJVl9Ko0TezJ00sC92kexyE77NEGDMh0gXPzMF
         Qn3Q==
X-Gm-Message-State: ACgBeo1VUJD5Wh7qdM+QL5nsc1F0Nsk+Ytudlio8c5vrWkiZ0WnDKo8C
	1wFQMy7mO952ojWOs3AqCZzuTG94Hqe002tuDXvrbA==
X-Google-Smtp-Source: AA6agR4eyfrVHwFKMQTAM4+K85p4B7I6c+zSy9tLGnKDo68fc8kY3s9yyQtJtbnPccojelXd5+hkkFEpEU7+woAq0vg=
X-Received: by 2002:a81:7784:0:b0:33d:ca62:45f5 with SMTP id
 s126-20020a817784000000b0033dca6245f5mr18452862ywc.180.1661960245620; Wed, 31
 Aug 2022 08:37:25 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <20220830214919.53220-4-surenb@google.com>
 <20220831100249.f2o27ri7ho4ma3pe@suse.de>
In-Reply-To: <20220831100249.f2o27ri7ho4ma3pe@suse.de>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 08:37:14 -0700
Message-ID: <CAJuCfpHpBCUma_=AdTQ+UkfSkfkov2JbKfxLdp5K9_MoonkT7g@mail.gmail.com>
Subject: Re: [RFC PATCH 03/30] Lazy percpu counters
To: Mel Gorman <mgorman@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>, Kent Overstreet <kent.overstreet@linux.dev>, 
	Michal Hocko <mhocko@suse.com>, Vlastimil Babka <vbabka@suse.cz>, Johannes Weiner <hannes@cmpxchg.org>, 
	Roman Gushchin <roman.gushchin@linux.dev>, Davidlohr Bueso <dave@stgolabs.net>, 
	Matthew Wilcox <willy@infradead.org>, "Liam R. Howlett" <liam.howlett@oracle.com>, 
	David Vernet <void@manifault.com>, Peter Zijlstra <peterz@infradead.org>, 
	Juri Lelli <juri.lelli@redhat.com>, Laurent Dufour <ldufour@linux.ibm.com>, 
	Peter Xu <peterx@redhat.com>, David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, 
	Vincent Guittot <vincent.guittot@linaro.org>, Dietmar Eggemann <dietmar.eggemann@arm.com>, 
	Steven Rostedt <rostedt@goodmis.org>, Benjamin Segall <bsegall@google.com>, 
	Daniel Bristot de Oliveira <bristot@redhat.com>, Valentin Schneider <vschneid@redhat.com>, 
	Christopher Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, Joonsoo Kim <iamjoonsoo.kim@lge.com>, 
	42.hyeyoo@gmail.com, Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, 
	dvyukov@google.com, Shakeel Butt <shakeelb@google.com>, 
	Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, jbaron@akamai.com, 
	David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	linux-mm <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 31, 2022 at 3:02 AM Mel Gorman <mgorman@suse.de> wrote:
>
> On Tue, Aug 30, 2022 at 02:48:52PM -0700, Suren Baghdasaryan wrote:
> > From: Kent Overstreet <kent.overstreet@linux.dev>
> >
> > This patch adds lib/lazy-percpu-counter.c, which implements counters
> > that start out as atomics, but lazily switch to percpu mode if the
> > update rate crosses some threshold (arbitrarily set at 256 per second).
> >
> > Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
>
> Why not use percpu_counter? It has a per-cpu counter that is synchronised
> when a batch threshold (default 32) is exceeded and can explicitly sync
> the counters when required assuming the synchronised count is only needed
> when reading debugfs.

The intent is to use atomic counters for places that are not updated very often.
This would save memory required for the counters. Originally I had a config
option to choose which counter type to use but with lazy counters we sacrifice
memory for performance only when needed while keeping the other counters
small.

>
> --
> Mel Gorman
> SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:45:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:45:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395788.635643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPuE-000381-Tp; Wed, 31 Aug 2022 15:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395788.635643; Wed, 31 Aug 2022 15:45:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPuE-00037u-RE; Wed, 31 Aug 2022 15:45:30 +0000
Received: by outflank-mailman (input) for mailman id 395788;
 Wed, 31 Aug 2022 15:45:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTPuD-00037o-OX
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:45:29 +0000
Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com
 [2607:f8b0:4864:20::b2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef9ad90f-2943-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 17:45:28 +0200 (CEST)
Received: by mail-yb1-xb2b.google.com with SMTP id t184so4739990yba.4
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 08:45:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef9ad90f-2943-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=Yg5lEIxwkC8L9g2KyGsqswRBhk4gAo50nJ7nWIpcdXc=;
        b=f3+0Eh/W8OX4KuooBQ0WgBNbVwjJbAXBKTWgD/1rnSxw8Or+o0OJFGSWtlhyJfP9gD
         QCFEtC0rc3uk17x5AtGX0ukxT/fwVuDehIBS7C3A9pMG33oU0ZJGMmly+vrXS5p4by0+
         jDT69+FR9RtMW6e1SjrFZnroYNBot0xZKZX0R51jheU+mrpvrFLrGntTcPsTHaijk6mV
         iKPavpo7jboK8+tsNQ9Az/YAZSJr40a0Ai7H69DS5U2PS7wmYchRHvmW2/w/UajBDN7Y
         I8Esb137FVo77guaGTuDVZBl6klQw58Xua4rWyO6cGYeV+DdQ1NJpxEpQh+0pcY1wICS
         8E3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=Yg5lEIxwkC8L9g2KyGsqswRBhk4gAo50nJ7nWIpcdXc=;
        b=ZNkhcjE/OhJid9CE+wSNkeEV+8oh1SJ5IjPKcpwsaL5pKFdcz/GC3b+pxMqcE0t9IZ
         p8qKsglXl8MBO/omo0zAbiavWGn+0a19vJscdJ5umCmRGJrrtu8oHHOe+SqPWLb4hYde
         dclLLqoRfv5YXBBjw5MaxhO5C88O6d7ivdaqe/x0Vok+C1o5mqbb0o3lZXXxKvjRXJj5
         QTW1EUYBpmSa6JAdqgAm7cRAbBNujumMnKFHA15nRDEW28q6IC8BIZS76flKJ0YdcEc8
         eNJ1PJMlZnefd1LyoDJPoQB18ZdCtW5WWstb1LHSS9iIQcbtqC4M6ZYiJ4JW/AAfjT7I
         sZbg==
X-Gm-Message-State: ACgBeo2obFn3tPjiStQsocV5W+6GlJauaubqrXc0CwESeGb4fJlaRZyN
	5EkxLPcTC0rRJb8FIG6IXppr8uVCw1BVymOOFVle9g==
X-Google-Smtp-Source: AA6agR7eJQcze4oyVJ5u+oBz3mWkBzYq0MHuMfNSxceWOgOVlxBCkZ6NIfrADtyTqEPi+FGZK0IDnHN5ZKC4stom7pQ=
X-Received: by 2002:a05:6902:705:b0:695:b3b9:41bc with SMTP id
 k5-20020a056902070500b00695b3b941bcmr16070987ybt.426.1661960727041; Wed, 31
 Aug 2022 08:45:27 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <20220830214919.53220-11-surenb@google.com>
 <20220831101103.fj5hjgy3dbb44fit@suse.de>
In-Reply-To: <20220831101103.fj5hjgy3dbb44fit@suse.de>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 08:45:16 -0700
Message-ID: <CAJuCfpHwUUc_VphqBY9KmWvZJDrsBG6Za+kG_MW=J-abjuM4Lw@mail.gmail.com>
Subject: Re: [RFC PATCH 10/30] mm: enable page allocation tagging for
 __get_free_pages and alloc_pages
To: Mel Gorman <mgorman@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>, Kent Overstreet <kent.overstreet@linux.dev>, 
	Michal Hocko <mhocko@suse.com>, Vlastimil Babka <vbabka@suse.cz>, Johannes Weiner <hannes@cmpxchg.org>, 
	Roman Gushchin <roman.gushchin@linux.dev>, Davidlohr Bueso <dave@stgolabs.net>, 
	Matthew Wilcox <willy@infradead.org>, "Liam R. Howlett" <liam.howlett@oracle.com>, 
	David Vernet <void@manifault.com>, Peter Zijlstra <peterz@infradead.org>, 
	Juri Lelli <juri.lelli@redhat.com>, Laurent Dufour <ldufour@linux.ibm.com>, 
	Peter Xu <peterx@redhat.com>, David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, 
	Vincent Guittot <vincent.guittot@linaro.org>, Dietmar Eggemann <dietmar.eggemann@arm.com>, 
	Steven Rostedt <rostedt@goodmis.org>, Benjamin Segall <bsegall@google.com>, 
	Daniel Bristot de Oliveira <bristot@redhat.com>, Valentin Schneider <vschneid@redhat.com>, 
	Christopher Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, Joonsoo Kim <iamjoonsoo.kim@lge.com>, 
	42.hyeyoo@gmail.com, Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, 
	dvyukov@google.com, Shakeel Butt <shakeelb@google.com>, 
	Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, jbaron@akamai.com, 
	David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	linux-mm <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 31, 2022 at 3:11 AM Mel Gorman <mgorman@suse.de> wrote:
>
> On Tue, Aug 30, 2022 at 02:48:59PM -0700, Suren Baghdasaryan wrote:
> > Redefine alloc_pages, __get_free_pages to record allocations done by
> > these functions. Instrument deallocation hooks to record object freeing.
> >
> > Signed-off-by: Suren Baghdasaryan <surenb@google.com>
> > +#ifdef CONFIG_PAGE_ALLOC_TAGGING
> > +
> >  #include <linux/alloc_tag.h>
> >  #include <linux/page_ext.h>
> >
> > @@ -25,4 +27,37 @@ static inline void pgalloc_tag_dec(struct page *page, unsigned int order)
> >               alloc_tag_sub(get_page_tag_ref(page), PAGE_SIZE << order);
> >  }
> >
> > +/*
> > + * Redefinitions of the common page allocators/destructors
> > + */
> > +#define pgtag_alloc_pages(gfp, order)                                        \
> > +({                                                                   \
> > +     struct page *_page = _alloc_pages((gfp), (order));              \
> > +                                                                     \
> > +     if (_page)                                                      \
> > +             alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
> > +     _page;                                                          \
> > +})
> > +
>
> Instead of renaming alloc_pages, why is the tagging not done in
> __alloc_pages()? At least __alloc_pages_bulk() is also missed. The branch
> can be guarded with IS_ENABLED.

Hmm. Assuming all the other allocators using __alloc_pages are inlined, that
should work. I'll try that and if that works will incorporate in the
next respin.
Thanks!

I don't think IS_ENABLED is required because the tagging functions are already
defined as empty if the appropriate configs are not enabled. Unless I
misunderstood
your node.

>
> > +#define pgtag_get_free_pages(gfp_mask, order)                                \
> > +({                                                                   \
> > +     struct page *_page;                                             \
> > +     unsigned long _res = _get_free_pages((gfp_mask), (order), &_page);\
> > +                                                                     \
> > +     if (_res)                                                       \
> > +             alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
> > +     _res;                                                           \
> > +})
> > +
>
> Similar, the tagging could happen in a core function instead of a wrapper.
>
> > +#else /* CONFIG_PAGE_ALLOC_TAGGING */
> > +
> > +#define pgtag_alloc_pages(gfp, order) _alloc_pages(gfp, order)
> > +
> > +#define pgtag_get_free_pages(gfp_mask, order) \
> > +     _get_free_pages((gfp_mask), (order), NULL)
> > +
> > +#define pgalloc_tag_dec(__page, __size)              do {} while (0)
> > +
> > +#endif /* CONFIG_PAGE_ALLOC_TAGGING */
> > +
> >  #endif /* _LINUX_PGALLOC_TAG_H */
> > diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> > index b73d3248d976..f7e6d9564a49 100644
> > --- a/mm/mempolicy.c
> > +++ b/mm/mempolicy.c
> > @@ -2249,7 +2249,7 @@ EXPORT_SYMBOL(vma_alloc_folio);
> >   * flags are used.
> >   * Return: The page on success or NULL if allocation fails.
> >   */
> > -struct page *alloc_pages(gfp_t gfp, unsigned order)
> > +struct page *_alloc_pages(gfp_t gfp, unsigned int order)
> >  {
> >       struct mempolicy *pol = &default_policy;
> >       struct page *page;
> > @@ -2273,7 +2273,7 @@ struct page *alloc_pages(gfp_t gfp, unsigned order)
> >
> >       return page;
> >  }
> > -EXPORT_SYMBOL(alloc_pages);
> > +EXPORT_SYMBOL(_alloc_pages);
> >
> >  struct folio *folio_alloc(gfp_t gfp, unsigned order)
> >  {
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index e5486d47406e..165daba19e2a 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -763,6 +763,7 @@ static inline bool pcp_allowed_order(unsigned int order)
> >
> >  static inline void free_the_page(struct page *page, unsigned int order)
> >  {
> > +
> >       if (pcp_allowed_order(order))           /* Via pcp? */
> >               free_unref_page(page, order);
> >       else
>
> Spurious wide-space change.
>
> --
> Mel Gorman
> SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:51:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395796.635654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPzx-0004Zm-Kp; Wed, 31 Aug 2022 15:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395796.635654; Wed, 31 Aug 2022 15:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTPzx-0004Zf-GT; Wed, 31 Aug 2022 15:51:25 +0000
Received: by outflank-mailman (input) for mailman id 395796;
 Wed, 31 Aug 2022 15:51:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTPzw-0004ZX-6q
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:51:24 +0000
Received: from mail-yw1-x1135.google.com (mail-yw1-x1135.google.com
 [2607:f8b0:4864:20::1135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2a22993-2944-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 17:51:22 +0200 (CEST)
Received: by mail-yw1-x1135.google.com with SMTP id
 00721157ae682-32a09b909f6so312055577b3.0
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 08:51:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2a22993-2944-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=3PvMR/XycqORFlizT6CxByuKDuIxggxJlBTQLJTuWPk=;
        b=Gmi2UWcvzrmJ8zqM8a6qsIyzbaP0psVzRrmiTQDUFQ+boYUpfinXOhH3kKBy2TxbXZ
         ygeIkKnogCEEVHtGen8PFLpJpXJGU25o+NTwvzI5jnj72uy5Cjchmk9EqNZ81045MM9h
         yDzJSkpnZyziYqR1UQHXQzYV+X7WIdCFOpC8nEcu7lVMc9hTpLbs9tE+UmhjTrN9guKQ
         3p6amlVDRlBQ5pch2LYuRNd6kUSpn4yqk5Fz4R7rna8xmxeC2DA0L1p+VaF6BXU7aFkO
         GgWG+nRtC8kNNs87CPZsk886FgCnJcaZKKpO+18aXX3VN29LAEX04NpAfjzZUKRWKsQN
         tnsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=3PvMR/XycqORFlizT6CxByuKDuIxggxJlBTQLJTuWPk=;
        b=wt9kT5Ptug3Vmg3qs4jpZ6rLWEN11LTHzkkOcMTShhyhM/eEVm65Q2dvVjQSD7AU0+
         aUL8kElbjbJbArwmzKqblSy2ZDw4zNtScC7nkQ3t2++icfghktsSOnktjEoGFyzFtoLN
         U9/ccwA4nOjXrrQSx+IpH1P5KabMSEeEbEm9d91aYkOlfFLiwex32kXQQOjq5BiGcAgS
         ArePu0tDqC31MjQBoxG/3BVHZKwwSgfGHyCHkupvFOId+RETDdUpfhVYKVOF5yJP/zJ1
         xf/gC5PhyMdMsdxlaX18tt6fP/jRYcLqo2GRyDOQO+9fdD0NH76Jr8N0GIv0s1nw7OI2
         3uxg==
X-Gm-Message-State: ACgBeo0Jkr66UAEsJw4d75oVf7mTPRXTfHGigguNlAhkEgZ8gbY3U9cW
	U7YW8ldj1vWR+g0IOCdHKC5R5i92FhBAzpy7L20GxA==
X-Google-Smtp-Source: AA6agR4/rLQr0otczemJmDvQiUx5/CSiDqYtOQdmANq0z9zivATwFqNAF4tlP4F5nNTDABcpDpeH4KIX3SY4Iha+WMk=
X-Received: by 2002:a0d:cd02:0:b0:341:a401:4630 with SMTP id
 p2-20020a0dcd02000000b00341a4014630mr4588576ywd.293.1661961081082; Wed, 31
 Aug 2022 08:51:21 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <20220830214919.53220-23-surenb@google.com>
 <CACT4Y+ZX3U1=cAPXPhoOy6xrngSCfSmyFagXK-9fWtWWODfsew@mail.gmail.com>
In-Reply-To: <CACT4Y+ZX3U1=cAPXPhoOy6xrngSCfSmyFagXK-9fWtWWODfsew@mail.gmail.com>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 08:51:10 -0700
Message-ID: <CAJuCfpEQJe7HiNXhv+fH3auvr_-M6VpxhgWTj9q6e5GLkd+8Uw@mail.gmail.com>
Subject: Re: [RFC PATCH 22/30] Code tagging based fault injection
To: Dmitry Vyukov <dvyukov@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>, Kent Overstreet <kent.overstreet@linux.dev>, 
	Michal Hocko <mhocko@suse.com>, Vlastimil Babka <vbabka@suse.cz>, Johannes Weiner <hannes@cmpxchg.org>, 
	Roman Gushchin <roman.gushchin@linux.dev>, Mel Gorman <mgorman@suse.de>, 
	Davidlohr Bueso <dave@stgolabs.net>, Matthew Wilcox <willy@infradead.org>, 
	"Liam R. Howlett" <liam.howlett@oracle.com>, David Vernet <void@manifault.com>, 
	Peter Zijlstra <peterz@infradead.org>, Juri Lelli <juri.lelli@redhat.com>, 
	Laurent Dufour <ldufour@linux.ibm.com>, Peter Xu <peterx@redhat.com>, 
	David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, mcgrof@kernel.org, 
	masahiroy@kernel.org, nathan@kernel.org, changbin.du@intel.com, 
	ytcoode@gmail.com, Vincent Guittot <vincent.guittot@linaro.org>, 
	Dietmar Eggemann <dietmar.eggemann@arm.com>, Steven Rostedt <rostedt@goodmis.org>, 
	Benjamin Segall <bsegall@google.com>, Daniel Bristot de Oliveira <bristot@redhat.com>, 
	Valentin Schneider <vschneid@redhat.com>, Christopher Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, 
	Joonsoo Kim <iamjoonsoo.kim@lge.com>, 42.hyeyoo@gmail.com, 
	Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, Shakeel Butt <shakeelb@google.com>, 
	Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, jbaron@akamai.com, 
	David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	linux-mm <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 31, 2022 at 3:37 AM Dmitry Vyukov <dvyukov@google.com> wrote:
>
> On Tue, 30 Aug 2022 at 23:50, Suren Baghdasaryan <surenb@google.com> wrote:
> >
> > From: Kent Overstreet <kent.overstreet@linux.dev>
> >
> > This adds a new fault injection capability, based on code tagging.
> >
> > To use, simply insert somewhere in your code
> >
> >   dynamic_fault("fault_class_name")
> >
> > and check whether it returns true - if so, inject the error.
> > For example
> >
> >   if (dynamic_fault("init"))
> >       return -EINVAL;
>
> Hi Suren,
>
> If this is going to be used by mainline kernel, it would be good to
> integrate this with fail_nth systematic fault injection:
> https://elixir.bootlin.com/linux/latest/source/lib/fault-inject.c#L109
>
> Otherwise these dynamic sites won't be tested by testing systems doing
> systematic fault injection testing.

Hi Dmitry,
Thanks for the information! Will look into it and try to integrate.
Suren.

>
>
> > There's no need to define faults elsewhere, as with
> > include/linux/fault-injection.h. Faults show up in debugfs, under
> > /sys/kernel/debug/dynamic_faults, and can be selected based on
> > file/module/function/line number/class, and enabled permanently, or in
> > oneshot mode, or with a specified frequency.
> >
> > Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
> > ---
> >  include/asm-generic/codetag.lds.h |   3 +-
> >  include/linux/dynamic_fault.h     |  79 +++++++
> >  include/linux/slab.h              |   3 +-
> >  lib/Kconfig.debug                 |   6 +
> >  lib/Makefile                      |   2 +
> >  lib/dynamic_fault.c               | 372 ++++++++++++++++++++++++++++++
> >  6 files changed, 463 insertions(+), 2 deletions(-)
> >  create mode 100644 include/linux/dynamic_fault.h
> >  create mode 100644 lib/dynamic_fault.c
> >
> > diff --git a/include/asm-generic/codetag.lds.h b/include/asm-generic/codetag.lds.h
> > index 64f536b80380..16fbf74edc3d 100644
> > --- a/include/asm-generic/codetag.lds.h
> > +++ b/include/asm-generic/codetag.lds.h
> > @@ -9,6 +9,7 @@
> >         __stop_##_name = .;
> >
> >  #define CODETAG_SECTIONS()             \
> > -       SECTION_WITH_BOUNDARIES(alloc_tags)
> > +       SECTION_WITH_BOUNDARIES(alloc_tags)             \
> > +       SECTION_WITH_BOUNDARIES(dynamic_fault_tags)
> >
> >  #endif /* __ASM_GENERIC_CODETAG_LDS_H */
> > diff --git a/include/linux/dynamic_fault.h b/include/linux/dynamic_fault.h
> > new file mode 100644
> > index 000000000000..526a33209e94
> > --- /dev/null
> > +++ b/include/linux/dynamic_fault.h
> > @@ -0,0 +1,79 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +
> > +#ifndef _LINUX_DYNAMIC_FAULT_H
> > +#define _LINUX_DYNAMIC_FAULT_H
> > +
> > +/*
> > + * Dynamic/code tagging fault injection:
> > + *
> > + * Originally based on the dynamic debug trick of putting types in a special elf
> > + * section, then rewritten using code tagging:
> > + *
> > + * To use, simply insert a call to dynamic_fault("fault_class"), which will
> > + * return true if an error should be injected.
> > + *
> > + * Fault injection sites may be listed and enabled via debugfs, under
> > + * /sys/kernel/debug/dynamic_faults.
> > + */
> > +
> > +#ifdef CONFIG_CODETAG_FAULT_INJECTION
> > +
> > +#include <linux/codetag.h>
> > +#include <linux/jump_label.h>
> > +
> > +#define DFAULT_STATES()                \
> > +       x(disabled)             \
> > +       x(enabled)              \
> > +       x(oneshot)
> > +
> > +enum dfault_enabled {
> > +#define x(n)   DFAULT_##n,
> > +       DFAULT_STATES()
> > +#undef x
> > +};
> > +
> > +union dfault_state {
> > +       struct {
> > +               unsigned int            enabled:2;
> > +               unsigned int            count:30;
> > +       };
> > +
> > +       struct {
> > +               unsigned int            v;
> > +       };
> > +};
> > +
> > +struct dfault {
> > +       struct codetag          tag;
> > +       const char              *class;
> > +       unsigned int            frequency;
> > +       union dfault_state      state;
> > +       struct static_key_false enabled;
> > +};
> > +
> > +bool __dynamic_fault_enabled(struct dfault *df);
> > +
> > +#define dynamic_fault(_class)                          \
> > +({                                                     \
> > +       static struct dfault                            \
> > +       __used                                          \
> > +       __section("dynamic_fault_tags")                 \
> > +       __aligned(8) df = {                             \
> > +               .tag    = CODE_TAG_INIT,                \
> > +               .class  = _class,                       \
> > +               .enabled = STATIC_KEY_FALSE_INIT,       \
> > +       };                                              \
> > +                                                       \
> > +       static_key_false(&df.enabled.key) &&            \
> > +               __dynamic_fault_enabled(&df);           \
> > +})
> > +
> > +#else
> > +
> > +#define dynamic_fault(_class)  false
> > +
> > +#endif /* CODETAG_FAULT_INJECTION */
> > +
> > +#define memory_fault()         dynamic_fault("memory")
> > +
> > +#endif /* _LINUX_DYNAMIC_FAULT_H */
> > diff --git a/include/linux/slab.h b/include/linux/slab.h
> > index 89273be35743..4be5a93ed15a 100644
> > --- a/include/linux/slab.h
> > +++ b/include/linux/slab.h
> > @@ -17,6 +17,7 @@
> >  #include <linux/types.h>
> >  #include <linux/workqueue.h>
> >  #include <linux/percpu-refcount.h>
> > +#include <linux/dynamic_fault.h>
> >
> >
> >  /*
> > @@ -468,7 +469,7 @@ static inline void slab_tag_dec(const void *ptr) {}
> >
> >  #define krealloc_hooks(_p, _do_alloc)                                  \
> >  ({                                                                     \
> > -       void *_res = _do_alloc;                                         \
> > +       void *_res = !memory_fault() ? _do_alloc : NULL;                \
> >         slab_tag_add(_p, _res);                                         \
> >         _res;                                                           \
> >  })
> > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> > index 2790848464f1..b7d03afbc808 100644
> > --- a/lib/Kconfig.debug
> > +++ b/lib/Kconfig.debug
> > @@ -1982,6 +1982,12 @@ config FAULT_INJECTION_STACKTRACE_FILTER
> >         help
> >           Provide stacktrace filter for fault-injection capabilities
> >
> > +config CODETAG_FAULT_INJECTION
> > +       bool "Code tagging based fault injection"
> > +       select CODE_TAGGING
> > +       help
> > +         Dynamic fault injection based on code tagging
> > +
> >  config ARCH_HAS_KCOV
> >         bool
> >         help
> > diff --git a/lib/Makefile b/lib/Makefile
> > index 99f732156673..489ea000c528 100644
> > --- a/lib/Makefile
> > +++ b/lib/Makefile
> > @@ -231,6 +231,8 @@ obj-$(CONFIG_CODE_TAGGING) += codetag.o
> >  obj-$(CONFIG_ALLOC_TAGGING) += alloc_tag.o
> >  obj-$(CONFIG_PAGE_ALLOC_TAGGING) += pgalloc_tag.o
> >
> > +obj-$(CONFIG_CODETAG_FAULT_INJECTION) += dynamic_fault.o
> > +
> >  lib-$(CONFIG_GENERIC_BUG) += bug.o
> >
> >  obj-$(CONFIG_HAVE_ARCH_TRACEHOOK) += syscall.o
> > diff --git a/lib/dynamic_fault.c b/lib/dynamic_fault.c
> > new file mode 100644
> > index 000000000000..4c9cd18686be
> > --- /dev/null
> > +++ b/lib/dynamic_fault.c
> > @@ -0,0 +1,372 @@
> > +// SPDX-License-Identifier: GPL-2.0-only
> > +
> > +#include <linux/ctype.h>
> > +#include <linux/debugfs.h>
> > +#include <linux/dynamic_fault.h>
> > +#include <linux/kernel.h>
> > +#include <linux/module.h>
> > +#include <linux/seq_buf.h>
> > +
> > +static struct codetag_type *cttype;
> > +
> > +bool __dynamic_fault_enabled(struct dfault *df)
> > +{
> > +       union dfault_state old, new;
> > +       unsigned int v = df->state.v;
> > +       bool ret;
> > +
> > +       do {
> > +               old.v = new.v = v;
> > +
> > +               if (new.enabled == DFAULT_disabled)
> > +                       return false;
> > +
> > +               ret = df->frequency
> > +                       ? ++new.count >= df->frequency
> > +                       : true;
> > +               if (ret)
> > +                       new.count = 0;
> > +               if (ret && new.enabled == DFAULT_oneshot)
> > +                       new.enabled = DFAULT_disabled;
> > +       } while ((v = cmpxchg(&df->state.v, old.v, new.v)) != old.v);
> > +
> > +       if (ret)
> > +               pr_debug("returned true for %s:%u", df->tag.filename, df->tag.lineno);
> > +
> > +       return ret;
> > +}
> > +EXPORT_SYMBOL(__dynamic_fault_enabled);
> > +
> > +static const char * const dfault_state_strs[] = {
> > +#define x(n)   #n,
> > +       DFAULT_STATES()
> > +#undef x
> > +       NULL
> > +};
> > +
> > +static void dynamic_fault_to_text(struct seq_buf *out, struct dfault *df)
> > +{
> > +       codetag_to_text(out, &df->tag);
> > +       seq_buf_printf(out, "class:%s %s \"", df->class,
> > +                      dfault_state_strs[df->state.enabled]);
> > +}
> > +
> > +struct dfault_query {
> > +       struct codetag_query q;
> > +
> > +       bool            set_enabled:1;
> > +       unsigned int    enabled:2;
> > +
> > +       bool            set_frequency:1;
> > +       unsigned int    frequency;
> > +};
> > +
> > +/*
> > + * Search the tables for _dfault's which match the given
> > + * `query' and apply the `flags' and `mask' to them.  Tells
> > + * the user which dfault's were changed, or whether none
> > + * were matched.
> > + */
> > +static int dfault_change(struct dfault_query *query)
> > +{
> > +       struct codetag_iterator ct_iter;
> > +       struct codetag *ct;
> > +       unsigned int nfound = 0;
> > +
> > +       codetag_lock_module_list(cttype, true);
> > +       codetag_init_iter(&ct_iter, cttype);
> > +
> > +       while ((ct = codetag_next_ct(&ct_iter))) {
> > +               struct dfault *df = container_of(ct, struct dfault, tag);
> > +
> > +               if (!codetag_matches_query(&query->q, ct, ct_iter.cmod, df->class))
> > +                       continue;
> > +
> > +               if (query->set_enabled &&
> > +                   query->enabled != df->state.enabled) {
> > +                       if (query->enabled != DFAULT_disabled)
> > +                               static_key_slow_inc(&df->enabled.key);
> > +                       else if (df->state.enabled != DFAULT_disabled)
> > +                               static_key_slow_dec(&df->enabled.key);
> > +
> > +                       df->state.enabled = query->enabled;
> > +               }
> > +
> > +               if (query->set_frequency)
> > +                       df->frequency = query->frequency;
> > +
> > +               pr_debug("changed %s:%d [%s]%s #%d %s",
> > +                        df->tag.filename, df->tag.lineno, df->tag.modname,
> > +                        df->tag.function, query->q.cur_index,
> > +                        dfault_state_strs[df->state.enabled]);
> > +
> > +               nfound++;
> > +       }
> > +
> > +       pr_debug("dfault: %u matches", nfound);
> > +
> > +       codetag_lock_module_list(cttype, false);
> > +
> > +       return nfound ? 0 : -ENOENT;
> > +}
> > +
> > +#define DFAULT_TOKENS()                \
> > +       x(disable,      0)      \
> > +       x(enable,       0)      \
> > +       x(oneshot,      0)      \
> > +       x(frequency,    1)
> > +
> > +enum dfault_token {
> > +#define x(name, nr_args)       TOK_##name,
> > +       DFAULT_TOKENS()
> > +#undef x
> > +};
> > +
> > +static const char * const dfault_token_strs[] = {
> > +#define x(name, nr_args)       #name,
> > +       DFAULT_TOKENS()
> > +#undef x
> > +       NULL
> > +};
> > +
> > +static unsigned int dfault_token_nr_args[] = {
> > +#define x(name, nr_args)       nr_args,
> > +       DFAULT_TOKENS()
> > +#undef x
> > +};
> > +
> > +static enum dfault_token str_to_token(const char *word, unsigned int nr_words)
> > +{
> > +       int tok = match_string(dfault_token_strs, ARRAY_SIZE(dfault_token_strs), word);
> > +
> > +       if (tok < 0) {
> > +               pr_debug("unknown keyword \"%s\"", word);
> > +               return tok;
> > +       }
> > +
> > +       if (nr_words < dfault_token_nr_args[tok]) {
> > +               pr_debug("insufficient arguments to \"%s\"", word);
> > +               return -EINVAL;
> > +       }
> > +
> > +       return tok;
> > +}
> > +
> > +static int dfault_parse_command(struct dfault_query *query,
> > +                               enum dfault_token tok,
> > +                               char *words[], size_t nr_words)
> > +{
> > +       unsigned int i = 0;
> > +       int ret;
> > +
> > +       switch (tok) {
> > +       case TOK_disable:
> > +               query->set_enabled = true;
> > +               query->enabled = DFAULT_disabled;
> > +               break;
> > +       case TOK_enable:
> > +               query->set_enabled = true;
> > +               query->enabled = DFAULT_enabled;
> > +               break;
> > +       case TOK_oneshot:
> > +               query->set_enabled = true;
> > +               query->enabled = DFAULT_oneshot;
> > +               break;
> > +       case TOK_frequency:
> > +               query->set_frequency = 1;
> > +               ret = kstrtouint(words[i++], 10, &query->frequency);
> > +               if (ret)
> > +                       return ret;
> > +
> > +               if (!query->set_enabled) {
> > +                       query->set_enabled = 1;
> > +                       query->enabled = DFAULT_enabled;
> > +               }
> > +               break;
> > +       }
> > +
> > +       return i;
> > +}
> > +
> > +static int dynamic_fault_store(char *buf)
> > +{
> > +       struct dfault_query query = { NULL };
> > +#define MAXWORDS 9
> > +       char *tok, *words[MAXWORDS];
> > +       int ret, nr_words, i = 0;
> > +
> > +       buf = codetag_query_parse(&query.q, buf);
> > +       if (IS_ERR(buf))
> > +               return PTR_ERR(buf);
> > +
> > +       while ((tok = strsep_no_empty(&buf, " \t\r\n"))) {
> > +               if (nr_words == ARRAY_SIZE(words))
> > +                       return -EINVAL; /* ran out of words[] before bytes */
> > +               words[nr_words++] = tok;
> > +       }
> > +
> > +       while (i < nr_words) {
> > +               const char *tok_str = words[i++];
> > +               enum dfault_token tok = str_to_token(tok_str, nr_words - i);
> > +
> > +               if (tok < 0)
> > +                       return tok;
> > +
> > +               ret = dfault_parse_command(&query, tok, words + i, nr_words - i);
> > +               if (ret < 0)
> > +                       return ret;
> > +
> > +               i += ret;
> > +               BUG_ON(i > nr_words);
> > +       }
> > +
> > +       pr_debug("q->function=\"%s\" q->filename=\"%s\" "
> > +                "q->module=\"%s\" q->line=%u-%u\n q->index=%u-%u",
> > +                query.q.function, query.q.filename, query.q.module,
> > +                query.q.first_line, query.q.last_line,
> > +                query.q.first_index, query.q.last_index);
> > +
> > +       ret = dfault_change(&query);
> > +       if (ret < 0)
> > +               return ret;
> > +
> > +       return 0;
> > +}
> > +
> > +struct dfault_iter {
> > +       struct codetag_iterator ct_iter;
> > +
> > +       struct seq_buf          buf;
> > +       char                    rawbuf[4096];
> > +};
> > +
> > +static int dfault_open(struct inode *inode, struct file *file)
> > +{
> > +       struct dfault_iter *iter;
> > +
> > +       iter = kzalloc(sizeof(*iter), GFP_KERNEL);
> > +       if (!iter)
> > +               return -ENOMEM;
> > +
> > +       codetag_lock_module_list(cttype, true);
> > +       codetag_init_iter(&iter->ct_iter, cttype);
> > +       codetag_lock_module_list(cttype, false);
> > +
> > +       file->private_data = iter;
> > +       seq_buf_init(&iter->buf, iter->rawbuf, sizeof(iter->rawbuf));
> > +       return 0;
> > +}
> > +
> > +static int dfault_release(struct inode *inode, struct file *file)
> > +{
> > +       struct dfault_iter *iter = file->private_data;
> > +
> > +       kfree(iter);
> > +       return 0;
> > +}
> > +
> > +struct user_buf {
> > +       char __user             *buf;   /* destination user buffer */
> > +       size_t                  size;   /* size of requested read */
> > +       ssize_t                 ret;    /* bytes read so far */
> > +};
> > +
> > +static int flush_ubuf(struct user_buf *dst, struct seq_buf *src)
> > +{
> > +       if (src->len) {
> > +               size_t bytes = min_t(size_t, src->len, dst->size);
> > +               int err = copy_to_user(dst->buf, src->buffer, bytes);
> > +
> > +               if (err)
> > +                       return err;
> > +
> > +               dst->ret        += bytes;
> > +               dst->buf        += bytes;
> > +               dst->size       -= bytes;
> > +               src->len        -= bytes;
> > +               memmove(src->buffer, src->buffer + bytes, src->len);
> > +       }
> > +
> > +       return 0;
> > +}
> > +
> > +static ssize_t dfault_read(struct file *file, char __user *ubuf,
> > +                          size_t size, loff_t *ppos)
> > +{
> > +       struct dfault_iter *iter = file->private_data;
> > +       struct user_buf buf = { .buf = ubuf, .size = size };
> > +       struct codetag *ct;
> > +       struct dfault *df;
> > +       int err;
> > +
> > +       codetag_lock_module_list(iter->ct_iter.cttype, true);
> > +       while (1) {
> > +               err = flush_ubuf(&buf, &iter->buf);
> > +               if (err || !buf.size)
> > +                       break;
> > +
> > +               ct = codetag_next_ct(&iter->ct_iter);
> > +               if (!ct)
> > +                       break;
> > +
> > +               df = container_of(ct, struct dfault, tag);
> > +               dynamic_fault_to_text(&iter->buf, df);
> > +               seq_buf_putc(&iter->buf, '\n');
> > +       }
> > +       codetag_lock_module_list(iter->ct_iter.cttype, false);
> > +
> > +       return err ?: buf.ret;
> > +}
> > +
> > +/*
> > + * File_ops->write method for <debugfs>/dynamic_fault/conrol.  Gathers the
> > + * command text from userspace, parses and executes it.
> > + */
> > +static ssize_t dfault_write(struct file *file, const char __user *ubuf,
> > +                           size_t len, loff_t *offp)
> > +{
> > +       char tmpbuf[256];
> > +
> > +       if (len == 0)
> > +               return 0;
> > +       /* we don't check *offp -- multiple writes() are allowed */
> > +       if (len > sizeof(tmpbuf)-1)
> > +               return -E2BIG;
> > +       if (copy_from_user(tmpbuf, ubuf, len))
> > +               return -EFAULT;
> > +       tmpbuf[len] = '\0';
> > +       pr_debug("read %zu bytes from userspace", len);
> > +
> > +       dynamic_fault_store(tmpbuf);
> > +
> > +       *offp += len;
> > +       return len;
> > +}
> > +
> > +static const struct file_operations dfault_ops = {
> > +       .owner  = THIS_MODULE,
> > +       .open   = dfault_open,
> > +       .release = dfault_release,
> > +       .read   = dfault_read,
> > +       .write  = dfault_write
> > +};
> > +
> > +static int __init dynamic_fault_init(void)
> > +{
> > +       const struct codetag_type_desc desc = {
> > +               .section = "dynamic_fault_tags",
> > +               .tag_size = sizeof(struct dfault),
> > +       };
> > +       struct dentry *debugfs_file;
> > +
> > +       cttype = codetag_register_type(&desc);
> > +       if (IS_ERR_OR_NULL(cttype))
> > +               return PTR_ERR(cttype);
> > +
> > +       debugfs_file = debugfs_create_file("dynamic_faults", 0666, NULL, NULL, &dfault_ops);
> > +       if (IS_ERR(debugfs_file))
> > +               return PTR_ERR(debugfs_file);
> > +
> > +       return 0;
> > +}
> > +module_init(dynamic_fault_init);
> > --
> > 2.37.2.672.g94769d06f0-goog
> >


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:52:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395804.635664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ15-0005CK-19; Wed, 31 Aug 2022 15:52:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395804.635664; Wed, 31 Aug 2022 15:52:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ14-0005CD-Uj; Wed, 31 Aug 2022 15:52:34 +0000
Received: by outflank-mailman (input) for mailman id 395804;
 Wed, 31 Aug 2022 15:52:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTQ13-0005C5-7e
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:52:33 +0000
Received: from mail-yw1-x1133.google.com (mail-yw1-x1133.google.com
 [2607:f8b0:4864:20::1133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec10724c-2944-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 17:52:32 +0200 (CEST)
Received: by mail-yw1-x1133.google.com with SMTP id
 00721157ae682-33da3a391d8so311597157b3.2
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 08:52:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec10724c-2944-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=DPh7ToX/xZeKd5sie6f3GwYv1dgrGEWOsdwYUdRqOV8=;
        b=Ib8pAgAXpi66eUIrDx9HR42EQ83DMfbld1dlC8/B6EAvidr1kvmEAZeUXRt94L1+CY
         fOk9VsOVmUuFoA3ousl8Ls9nH8k8tfM+rNhI6xbMFrdhErQiM5hQSsqd2rBTC4+hb+jz
         x5t/VHEd7zMohGNGfLtkKMabhYYj05y3VRMNFTksjD0TxoUQD1VZClnayPhKj0nf7p9J
         AKzTfeLiXAmgNrt2WdWSuelER8LXAcfC5HgCInP5/nDUlNIINl8G7Ik3e4I5/pB0YrkX
         Qcp8GP0MNCkY9+ymMPvS4UyuNVxGZAw/VRq+/lxc53pSVnVgD3IP07MsNXunkZUp3HjH
         knuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=DPh7ToX/xZeKd5sie6f3GwYv1dgrGEWOsdwYUdRqOV8=;
        b=im7+I/OE7cYvFqbB/gH3czlPR1MKcP9pLZDFPL+gm6QjhPgvsW+vlgbp0IUZrF8hvp
         virwDhislkW8UOtKkpQOzYSnwe1JS1oOAsLiIEk+zfS8UQSaotCogRO5Uffr6HHy4hBz
         YTUrUJG0+QSOyDpHS5FtiioxlmhWbKV+9KtDgkOlrp57/D4ui5iZfhmpATzbPfw8M27/
         sB050eJ8I5ol4fl+eOzLtHNHQvtTUdpV4a1ff87zHICzCq1mLj/u/PbRZJ8BZXkomnef
         2bLOe9XTk4W5ARUHUfXqUDwEX7C/eCRtyf2mY/UnjsOQN4avJnvL+83bd45VTm3Lfi+7
         ozZg==
X-Gm-Message-State: ACgBeo1/ReVYWcRbo33ryplLNf+rlU66ayQTjHWNAluHOocCiBdTd+A0
	EOonNDQ71CEOknwVuTI2PyjEHAvrDoiwMerqMb0IOw==
X-Google-Smtp-Source: AA6agR77ayVKimqTSvnLuFWBEKBbMWCXeZt/MyEcvQRogVe/KquV1BGkRaxT2hK9yX4AVYf+RasGcwvoXy2efvclpMo=
X-Received: by 2002:a0d:d850:0:b0:340:d2c0:b022 with SMTP id
 a77-20020a0dd850000000b00340d2c0b022mr16260868ywe.469.1661961150716; Wed, 31
 Aug 2022 08:52:30 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <20220830214919.53220-11-surenb@google.com>
 <20220831101103.fj5hjgy3dbb44fit@suse.de> <CAJuCfpHwUUc_VphqBY9KmWvZJDrsBG6Za+kG_MW=J-abjuM4Lw@mail.gmail.com>
In-Reply-To: <CAJuCfpHwUUc_VphqBY9KmWvZJDrsBG6Za+kG_MW=J-abjuM4Lw@mail.gmail.com>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 08:52:19 -0700
Message-ID: <CAJuCfpGy_RrQBUy2yxvcZzAXO5cJU5BHxRko+b8p7wWLjQwXvA@mail.gmail.com>
Subject: Re: [RFC PATCH 10/30] mm: enable page allocation tagging for
 __get_free_pages and alloc_pages
To: Mel Gorman <mgorman@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>, Kent Overstreet <kent.overstreet@linux.dev>, 
	Michal Hocko <mhocko@suse.com>, Vlastimil Babka <vbabka@suse.cz>, Johannes Weiner <hannes@cmpxchg.org>, 
	Roman Gushchin <roman.gushchin@linux.dev>, Davidlohr Bueso <dave@stgolabs.net>, 
	Matthew Wilcox <willy@infradead.org>, "Liam R. Howlett" <liam.howlett@oracle.com>, 
	David Vernet <void@manifault.com>, Peter Zijlstra <peterz@infradead.org>, 
	Juri Lelli <juri.lelli@redhat.com>, Laurent Dufour <ldufour@linux.ibm.com>, 
	Peter Xu <peterx@redhat.com>, David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, 
	Vincent Guittot <vincent.guittot@linaro.org>, Dietmar Eggemann <dietmar.eggemann@arm.com>, 
	Steven Rostedt <rostedt@goodmis.org>, Benjamin Segall <bsegall@google.com>, 
	Daniel Bristot de Oliveira <bristot@redhat.com>, Valentin Schneider <vschneid@redhat.com>, 
	Christopher Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, Joonsoo Kim <iamjoonsoo.kim@lge.com>, 
	42.hyeyoo@gmail.com, Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, 
	dvyukov@google.com, Shakeel Butt <shakeelb@google.com>, 
	Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, jbaron@akamai.com, 
	David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	linux-mm <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 31, 2022 at 8:45 AM Suren Baghdasaryan <surenb@google.com> wrote:
>
> On Wed, Aug 31, 2022 at 3:11 AM Mel Gorman <mgorman@suse.de> wrote:
> >
> > On Tue, Aug 30, 2022 at 02:48:59PM -0700, Suren Baghdasaryan wrote:
> > > Redefine alloc_pages, __get_free_pages to record allocations done by
> > > these functions. Instrument deallocation hooks to record object freeing.
> > >
> > > Signed-off-by: Suren Baghdasaryan <surenb@google.com>
> > > +#ifdef CONFIG_PAGE_ALLOC_TAGGING
> > > +
> > >  #include <linux/alloc_tag.h>
> > >  #include <linux/page_ext.h>
> > >
> > > @@ -25,4 +27,37 @@ static inline void pgalloc_tag_dec(struct page *page, unsigned int order)
> > >               alloc_tag_sub(get_page_tag_ref(page), PAGE_SIZE << order);
> > >  }
> > >
> > > +/*
> > > + * Redefinitions of the common page allocators/destructors
> > > + */
> > > +#define pgtag_alloc_pages(gfp, order)                                        \
> > > +({                                                                   \
> > > +     struct page *_page = _alloc_pages((gfp), (order));              \
> > > +                                                                     \
> > > +     if (_page)                                                      \
> > > +             alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
> > > +     _page;                                                          \
> > > +})
> > > +
> >
> > Instead of renaming alloc_pages, why is the tagging not done in
> > __alloc_pages()? At least __alloc_pages_bulk() is also missed. The branch
> > can be guarded with IS_ENABLED.
>
> Hmm. Assuming all the other allocators using __alloc_pages are inlined, that
> should work. I'll try that and if that works will incorporate in the
> next respin.
> Thanks!
>
> I don't think IS_ENABLED is required because the tagging functions are already
> defined as empty if the appropriate configs are not enabled. Unless I
> misunderstood
> your node.
>
> >
> > > +#define pgtag_get_free_pages(gfp_mask, order)                                \
> > > +({                                                                   \
> > > +     struct page *_page;                                             \
> > > +     unsigned long _res = _get_free_pages((gfp_mask), (order), &_page);\
> > > +                                                                     \
> > > +     if (_res)                                                       \
> > > +             alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
> > > +     _res;                                                           \
> > > +})
> > > +
> >
> > Similar, the tagging could happen in a core function instead of a wrapper.

Ack.

> >
> > > +#else /* CONFIG_PAGE_ALLOC_TAGGING */
> > > +
> > > +#define pgtag_alloc_pages(gfp, order) _alloc_pages(gfp, order)
> > > +
> > > +#define pgtag_get_free_pages(gfp_mask, order) \
> > > +     _get_free_pages((gfp_mask), (order), NULL)
> > > +
> > > +#define pgalloc_tag_dec(__page, __size)              do {} while (0)
> > > +
> > > +#endif /* CONFIG_PAGE_ALLOC_TAGGING */
> > > +
> > >  #endif /* _LINUX_PGALLOC_TAG_H */
> > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> > > index b73d3248d976..f7e6d9564a49 100644
> > > --- a/mm/mempolicy.c
> > > +++ b/mm/mempolicy.c
> > > @@ -2249,7 +2249,7 @@ EXPORT_SYMBOL(vma_alloc_folio);
> > >   * flags are used.
> > >   * Return: The page on success or NULL if allocation fails.
> > >   */
> > > -struct page *alloc_pages(gfp_t gfp, unsigned order)
> > > +struct page *_alloc_pages(gfp_t gfp, unsigned int order)
> > >  {
> > >       struct mempolicy *pol = &default_policy;
> > >       struct page *page;
> > > @@ -2273,7 +2273,7 @@ struct page *alloc_pages(gfp_t gfp, unsigned order)
> > >
> > >       return page;
> > >  }
> > > -EXPORT_SYMBOL(alloc_pages);
> > > +EXPORT_SYMBOL(_alloc_pages);
> > >
> > >  struct folio *folio_alloc(gfp_t gfp, unsigned order)
> > >  {
> > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > > index e5486d47406e..165daba19e2a 100644
> > > --- a/mm/page_alloc.c
> > > +++ b/mm/page_alloc.c
> > > @@ -763,6 +763,7 @@ static inline bool pcp_allowed_order(unsigned int order)
> > >
> > >  static inline void free_the_page(struct page *page, unsigned int order)
> > >  {
> > > +
> > >       if (pcp_allowed_order(order))           /* Via pcp? */
> > >               free_unref_page(page, order);
> > >       else
> >
> > Spurious wide-space change.

Ack.

> >
> > --
> > Mel Gorman
> > SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:53:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:53:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395809.635681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ2K-0005s6-Mz; Wed, 31 Aug 2022 15:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395809.635681; Wed, 31 Aug 2022 15:53:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ2K-0005rf-IH; Wed, 31 Aug 2022 15:53:52 +0000
Received: by outflank-mailman (input) for mailman id 395809;
 Wed, 31 Aug 2022 15:53:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ruj9=ZD=amazon.com=prvs=235f00a87=ptyadav@srs-se1.protection.inumbo.net>)
 id 1oTQ1Y-0005in-RX
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:53:04 +0000
Received: from smtp-fw-80007.amazon.com (smtp-fw-80007.amazon.com
 [99.78.197.218]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe29f6e8-2944-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 17:53:03 +0200 (CEST)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1e-0bfdb89e.us-east-1.amazon.com) ([10.25.36.214])
 by smtp-border-fw-80007.pdx80.corp.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Aug 2022 15:50:53 +0000
Received: from EX13D08EUB002.ant.amazon.com
 (iad12-ws-svc-p26-lb9-vlan3.iad.amazon.com [10.40.163.38])
 by email-inbound-relay-iad-1e-0bfdb89e.us-east-1.amazon.com (Postfix) with
 ESMTPS id C7B80E00BA; Wed, 31 Aug 2022 15:50:49 +0000 (UTC)
Received: from EX13MTAUWB001.ant.amazon.com (10.43.161.207) by
 EX13D08EUB002.ant.amazon.com (10.43.166.232) with Microsoft SMTP Server (TLS)
 id 15.0.1497.38; Wed, 31 Aug 2022 15:50:48 +0000
Received: from dev-dsk-ptyadav-1c-613f0921.eu-west-1.amazon.com (10.15.8.155)
 by mail-relay.amazon.com (10.43.161.249) with Microsoft SMTP Server
 id
 15.0.1497.38 via Frontend Transport; Wed, 31 Aug 2022 15:50:47 +0000
Received: by dev-dsk-ptyadav-1c-613f0921.eu-west-1.amazon.com (Postfix,
 from userid 23027615)
 id 0804D25976; Wed, 31 Aug 2022 15:50:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe29f6e8-2944-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1661961183; x=1693497183;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=vyta+/0lDuDRefxlgv1vkaHwbgOICyXw1l+oC05BEd8=;
  b=q1isutIcOKn8EcK0xpFjC1+iZ290KGaGDgtZO3dCRQWWJmCUc4wJ4f1Z
   SUOHbFdzHN6xZZ+Syo+khfvLM3Eb8cb5hthpcOJypF0cfyiks2mtoQVxW
   CRgH/0okpm085tGg0okxcWY28gJ5H0o1ZPJ1eR4XoUd9m0lZ2kaDBsu4p
   c=;
X-IronPort-AV: E=Sophos;i="5.93,278,1654560000"; 
   d="scan'208";a="125407135"
Date: Wed, 31 Aug 2022 15:50:45 +0000
From: Pratyush Yadav <ptyadav@amazon.de>
To: SeongJae Park <sj@kernel.org>
CC: <jgross@suse.com>, <roger.pau@citrix.com>,
	<marmarek@invisiblethingslab.com>, <mheyne@amazon.de>,
	<xen-devel@lists.xenproject.org>, <axboe@kernel.dk>,
	<linux-block@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<stable@vger.kernel.org>
Subject: Re: [PATCH 2/2] xen-blkfront: Advertise feature-persistent as user
 requested
Message-ID: <20220831155045.kxopdchlc67fmi5n@yadavpratyush.com>
References: <20220825161511.94922-1-sj@kernel.org>
 <20220825161511.94922-3-sj@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220825161511.94922-3-sj@kernel.org>
Precedence: Bulk

On 25/08/22 04:15PM, SeongJae Park wrote:
> Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
> when connect") made blkback to advertise its support of the persistent
> grants feature only if the user sets the 'feature_persistent' parameter
> of the driver and the frontend advertised its support of the feature.
> However, following commit 402c43ea6b34 ("xen-blkfront: Apply
> 'feature_persistent' parameter when connect") made the blkfront to work
> in the same way.  That is, blkfront also advertises its support of the
> persistent grants feature only if the user sets the 'feature_persistent'
> parameter of the driver and the backend advertised its support of the
> feature.
> 
> Hence blkback and blkfront will never advertise their support of the
> feature but wait until the other advertises the support, even though
> users set the 'feature_persistent' parameters of the drivers.  As a
> result, the persistent grants feature is disabled always regardless of
> the 'feature_persistent' values[1].
> 
> The problem comes from the misuse of the semantic of the advertisement
> of the feature.  The advertisement of the feature should means only
> availability of the feature not the decision for using the feature.
> However, current behavior is working in the wrong way.
> 
> This commit fixes the issue by making the blkfront advertises its
> support of the feature as user requested via 'feature_persistent'
> parameter regardless of the otherend's support of the feature.
> 
> [1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/
> 
> Fixes: 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter when connect")
> Cc: <stable@vger.kernel.org> # 5.10.x
> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Suggested-by: Juergen Gross <jgross@suse.com>
> Signed-off-by: SeongJae Park <sj@kernel.org>
> ---
>  drivers/block/xen-blkfront.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index 8e56e69fb4c4..dfae08115450 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -213,6 +213,9 @@ struct blkfront_info
>  	unsigned int feature_fua:1;
>  	unsigned int feature_discard:1;
>  	unsigned int feature_secdiscard:1;
> +	/* Connect-time cached feature_persistent parameter */
> +	unsigned int feature_persistent_parm:1;
> +	/* Persistent grants feature negotiation result */
>  	unsigned int feature_persistent:1;
>  	unsigned int bounce:1;
>  	unsigned int discard_granularity;
> @@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
>  		goto abort_transaction;
>  	}
>  	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> -			info->feature_persistent);
> +			info->feature_persistent_parm);
>  	if (err)
>  		dev_warn(&dev->dev,
>  			 "writing persistent grants feature to xenbus");
> @@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
>  	if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
>  		blkfront_setup_discard(info);
>  
> -	if (feature_persistent)
> +	info->feature_persistent_parm = feature_persistent;

Same question as before. Why not just use feature_persistent directly?

> +	if (info->feature_persistent_parm)
>  		info->feature_persistent =
>  			!!xenbus_read_unsigned(info->xbdev->otherend,
>  					       "feature-persistent", 0);

Aside: IMO this would look nicer as below:

	info->feature_persistent = feature_persistent && !!xenbus_read_unsigned();


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:53:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:53:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395794.635675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ2K-0005oq-DM; Wed, 31 Aug 2022 15:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395794.635675; Wed, 31 Aug 2022 15:53:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ2K-0005oj-Ab; Wed, 31 Aug 2022 15:53:52 +0000
Received: by outflank-mailman (input) for mailman id 395794;
 Wed, 31 Aug 2022 15:48:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ruj9=ZD=amazon.com=prvs=235f00a87=ptyadav@srs-se1.protection.inumbo.net>)
 id 1oTPws-0003jR-IE
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:48:15 +0000
Received: from smtp-fw-9103.amazon.com (smtp-fw-9103.amazon.com
 [207.171.188.200]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 511dbeca-2944-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 17:48:13 +0200 (CEST)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2a-5bed4ba5.us-west-2.amazon.com) ([10.25.36.214])
 by smtp-border-fw-9103.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Aug 2022 15:47:53 +0000
Received: from EX13D08EUC001.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198])
 by email-inbound-relay-pdx-2a-5bed4ba5.us-west-2.amazon.com (Postfix) with
 ESMTPS id CC52E8E23E; Wed, 31 Aug 2022 15:47:52 +0000 (UTC)
Received: from EX13MTAUEA001.ant.amazon.com (10.43.61.82) by
 EX13D08EUC001.ant.amazon.com (10.43.164.184) with Microsoft SMTP Server (TLS)
 id 15.0.1497.38; Wed, 31 Aug 2022 15:47:51 +0000
Received: from dev-dsk-ptyadav-1c-613f0921.eu-west-1.amazon.com (10.15.8.155)
 by mail-relay.amazon.com (10.43.61.243) with Microsoft SMTP Server id
 15.0.1497.38 via Frontend Transport; Wed, 31 Aug 2022 15:47:50 +0000
Received: by dev-dsk-ptyadav-1c-613f0921.eu-west-1.amazon.com (Postfix,
 from userid 23027615)
 id 8E5ED25976; Wed, 31 Aug 2022 15:47:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 511dbeca-2944-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1661960893; x=1693496893;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=y+fkgIc9fvNBrkNoyidj8kDyZUg8P/MCawXruROBWFs=;
  b=RY23Mzp5cAnWjcJexJDWqstlhBbGxkxltWK6o6rUnn882YnJy0Va3HYd
   hS5F3CAR1IuBPRtOSrm44uR066XUaVUjd5MM2bG0UtAmiKit3GNX7DG0Y
   Jmx8P0288RrJSSqhDhGer47hsIJLzJOv7EpfqUws7yrBKiPeBu7Uq+4Gc
   M=;
X-IronPort-AV: E=Sophos;i="5.93,278,1654560000"; 
   d="scan'208";a="1049979248"
Date: Wed, 31 Aug 2022 15:47:50 +0000
From: Pratyush Yadav <ptyadav@amazon.de>
To: SeongJae Park <sj@kernel.org>
CC: <jgross@suse.com>, <roger.pau@citrix.com>,
	<marmarek@invisiblethingslab.com>, <mheyne@amazon.de>,
	<xen-devel@lists.xenproject.org>, <axboe@kernel.dk>,
	<linux-block@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<stable@vger.kernel.org>
Subject: Re: [PATCH 1/2] xen-blkback: Advertise feature-persistent as user
 requested
Message-ID: <20220831153259.fzdkgbi76hmxa67a@yadavpratyush.com>
References: <20220825161511.94922-1-sj@kernel.org>
 <20220825161511.94922-2-sj@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220825161511.94922-2-sj@kernel.org>
Precedence: Bulk

Hi,

On 25/08/22 04:15PM, SeongJae Park wrote:
> Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
> when connect") made blkback to advertise its support of the persistent
> grants feature only if the user sets the 'feature_persistent' parameter
> of the driver and the frontend advertised its support of the feature.
> However, following commit 402c43ea6b34 ("xen-blkfront: Apply
> 'feature_persistent' parameter when connect") made the blkfront to work
> in the same way.  That is, blkfront also advertises its support of the
> persistent grants feature only if the user sets the 'feature_persistent'
> parameter of the driver and the backend advertised its support of the
> feature.
> 
> Hence blkback and blkfront will never advertise their support of the
> feature but wait until the other advertises the support, even though
> users set the 'feature_persistent' parameters of the drivers.  As a
> result, the persistent grants feature is disabled always regardless of
> the 'feature_persistent' values[1].
> 
> The problem comes from the misuse of the semantic of the advertisement
> of the feature.  The advertisement of the feature should means only
> availability of the feature not the decision for using the feature.
> However, current behavior is working in the wrong way.
> 
> This commit fixes the issue by making the blkback advertises its support
> of the feature as user requested via 'feature_persistent' parameter
> regardless of the otherend's support of the feature.
> 
> [1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/
> 
> Fixes: e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter when connect")
> Cc: <stable@vger.kernel.org> # 5.10.x
> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Suggested-by: Juergen Gross <jgross@suse.com>
> Signed-off-by: SeongJae Park <sj@kernel.org>
> ---
>  drivers/block/xen-blkback/common.h | 3 +++
>  drivers/block/xen-blkback/xenbus.c | 6 ++++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
> index bda5c815e441..a28473470e66 100644
> --- a/drivers/block/xen-blkback/common.h
> +++ b/drivers/block/xen-blkback/common.h
> @@ -226,6 +226,9 @@ struct xen_vbd {
>  	sector_t		size;
>  	unsigned int		flush_support:1;
>  	unsigned int		discard_secure:1;
> +	/* Connect-time cached feature_persistent parameter value */
> +	unsigned int		feature_gnt_persistent_parm:1;
> +	/* Persistent grants feature negotiation result */
>  	unsigned int		feature_gnt_persistent:1;
>  	unsigned int		overflow_max_grants:1;
>  };
> diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> index ee7ad2fb432d..c0227dfa4688 100644
> --- a/drivers/block/xen-blkback/xenbus.c
> +++ b/drivers/block/xen-blkback/xenbus.c
> @@ -907,7 +907,7 @@ static void connect(struct backend_info *be)
>  	xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support);
>  
>  	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> -			be->blkif->vbd.feature_gnt_persistent);
> +			be->blkif->vbd.feature_gnt_persistent_parm);
>  	if (err) {
>  		xenbus_dev_fatal(dev, err, "writing %s/feature-persistent",
>  				 dev->nodename);
> @@ -1085,7 +1085,9 @@ static int connect_ring(struct backend_info *be)
>  		return -ENOSYS;
>  	}
>  
> -	blkif->vbd.feature_gnt_persistent = feature_persistent &&
> +	blkif->vbd.feature_gnt_persistent_parm = feature_persistent;

If feature_gnt_persistent_parm is always going to be equal to 
feature_persistent, then why introduce it at all? Why not just use 
feature_persistent directly? This way you avoid adding an extra flag 
whose purpose is not immediately clear, and you also avoid all the mess 
with setting this flag at the right time.

> +	blkif->vbd.feature_gnt_persistent =
> +		blkif->vbd.feature_gnt_persistent_parm &&
>  		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
>  
>  	blkif->vbd.overflow_max_grants = 0;
> -- 
> 2.25.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:55:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395824.635698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ42-0006yy-0Q; Wed, 31 Aug 2022 15:55:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395824.635698; Wed, 31 Aug 2022 15:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ41-0006yr-Ti; Wed, 31 Aug 2022 15:55:37 +0000
Received: by outflank-mailman (input) for mailman id 395824;
 Wed, 31 Aug 2022 15:55:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTQ41-0006yj-BO
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:55:37 +0000
Received: from mail-yw1-x1132.google.com (mail-yw1-x1132.google.com
 [2607:f8b0:4864:20::1132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59e8bead-2945-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 17:55:36 +0200 (CEST)
Received: by mail-yw1-x1132.google.com with SMTP id
 00721157ae682-333a4a5d495so310873917b3.10
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 08:55:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59e8bead-2945-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=sybFcqH1KKlLZJ30kAOhH4vwj7X3FRQlsLR8cFlMDYU=;
        b=ONehLJlMia7mkVvk2Zcl9HnY/oTkc+1EwkoR6Jx3DnNxre4Sp/FSdNv9mcbGgEmDyx
         hcwrMSJR7ZiQ1gQ0UYolLJ1KfSsEifqyTyCpB3HNLZA2KMDBC4nzkHtXo4jdW5MEBTL/
         oeY/VF0jamX2X6EV+5N0Xd7mZ1j4MlgintI5pKX6sIFdlOA1BP37vU/laD/NgNYsqPs7
         ry3YkegZ8oI5uWS54z5Ryp1YEZwXewCN8pUvCwKMKDNaZ0LFaWzFXYjHfSoj16inAquU
         wnZgCdGNLRRqt1agsDuWNICevBAb1Fc4Vo2v2Ob02GeQiQO1vTHDvn4tcp5ikcEVDh90
         MGRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=sybFcqH1KKlLZJ30kAOhH4vwj7X3FRQlsLR8cFlMDYU=;
        b=udHMkn02tnFQfsfYMORQdx97IOfY65tJz+c+WpnZYBS54NnCmzQ+FVsNIlG4VXFi9A
         fkAtzstnFz28q8WQi9kbpWkHb8aLH4sv+PpUpDpa3B+gfjG0tcN/1ejqkRgaVg7znHTp
         Cch5w6iRZPPW8WfjYxhhH/4Tnni9JJx1StO7mQeIxd8c5g4jFJEm1OrPRr+jUbzkVnm0
         kKWdpsoUl76Ge5sz8O0rZ2RWzSkoYa2nqQuDGCNZSgLCxYmss85OxxI4oifg67cDYQQK
         SEAzKGu4V/UeqhseKpR0/Q44a96mSOQfOW7pH0/vJhRjgh+Nsiv4p7jD9JsrbCKL9YI5
         3swQ==
X-Gm-Message-State: ACgBeo3ST7vfCigr/nntBPzzJsW8sJxgnQCeKMgl5/Llr4tDQifr6t+t
	Ah/kGT3HsZ5SGe5szvMdw1LIMlLI2VCksfXXn2TmDw==
X-Google-Smtp-Source: AA6agR4NChdz7hhi2/Bkod2bRWHC00+BPJkQJe+enovUPIqOU12s621gnom9CkqxdAsQy2M3vDnXK/nOmkkUrisgkSc=
X-Received: by 2002:a81:a186:0:b0:33d:bf97:5b14 with SMTP id
 y128-20020a81a186000000b0033dbf975b14mr18636737ywg.514.1661961335065; Wed, 31
 Aug 2022 08:55:35 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <20220830214919.53220-28-surenb@google.com>
 <241c05a3-52a2-d49f-6962-3af5a94bc3fc@infradead.org>
In-Reply-To: <241c05a3-52a2-d49f-6962-3af5a94bc3fc@infradead.org>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 08:55:24 -0700
Message-ID: <CAJuCfpE2qrN7uXqZjJz6o20Rh4cQgcUBzAxzP4s+u=6XtmBnbg@mail.gmail.com>
Subject: Re: [RFC PATCH 27/30] Code tagging based latency tracking
To: Randy Dunlap <rdunlap@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>, Kent Overstreet <kent.overstreet@linux.dev>, 
	Michal Hocko <mhocko@suse.com>, Vlastimil Babka <vbabka@suse.cz>, Johannes Weiner <hannes@cmpxchg.org>, 
	Roman Gushchin <roman.gushchin@linux.dev>, Mel Gorman <mgorman@suse.de>, 
	Davidlohr Bueso <dave@stgolabs.net>, Matthew Wilcox <willy@infradead.org>, 
	"Liam R. Howlett" <liam.howlett@oracle.com>, David Vernet <void@manifault.com>, 
	Peter Zijlstra <peterz@infradead.org>, Juri Lelli <juri.lelli@redhat.com>, 
	Laurent Dufour <ldufour@linux.ibm.com>, Peter Xu <peterx@redhat.com>, 
	David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, mcgrof@kernel.org, 
	masahiroy@kernel.org, nathan@kernel.org, changbin.du@intel.com, 
	ytcoode@gmail.com, Vincent Guittot <vincent.guittot@linaro.org>, 
	Dietmar Eggemann <dietmar.eggemann@arm.com>, Steven Rostedt <rostedt@goodmis.org>, 
	Benjamin Segall <bsegall@google.com>, Daniel Bristot de Oliveira <bristot@redhat.com>, 
	Valentin Schneider <vschneid@redhat.com>, Christopher Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, 
	Joonsoo Kim <iamjoonsoo.kim@lge.com>, 42.hyeyoo@gmail.com, 
	Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, dvyukov@google.com, 
	Shakeel Butt <shakeelb@google.com>, Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, 
	jbaron@akamai.com, David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	linux-mm <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Tue, Aug 30, 2022 at 6:53 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>
>
>
> On 8/30/22 14:49, Suren Baghdasaryan wrote:
> > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> > index b7d03afbc808..b0f86643b8f0 100644
> > --- a/lib/Kconfig.debug
> > +++ b/lib/Kconfig.debug
> > @@ -1728,6 +1728,14 @@ config LATENCYTOP
> >         Enable this option if you want to use the LatencyTOP tool
> >         to find out which userspace is blocking on what kernel operations.
> >
> > +config CODETAG_TIME_STATS
> > +     bool "Code tagging based latency measuring"
> > +     depends on DEBUG_FS
> > +     select TIME_STATS
> > +     select CODE_TAGGING
> > +     help
> > +       Enabling this option makes latency statistics available in debugfs
>
> Missing period at the end of the sentence.

Ack.

>
> --
> ~Randy


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:56:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:56:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395832.635708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ4n-0007bQ-Dx; Wed, 31 Aug 2022 15:56:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395832.635708; Wed, 31 Aug 2022 15:56:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ4n-0007bJ-BJ; Wed, 31 Aug 2022 15:56:25 +0000
Received: by outflank-mailman (input) for mailman id 395832;
 Wed, 31 Aug 2022 15:56:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTQ4l-0006yj-I9
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:56:23 +0000
Received: from mail-yw1-x1136.google.com (mail-yw1-x1136.google.com
 [2607:f8b0:4864:20::1136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 759b266b-2945-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 17:56:22 +0200 (CEST)
Received: by mail-yw1-x1136.google.com with SMTP id
 00721157ae682-33dce2d4bc8so311372277b3.4
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 08:56:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 759b266b-2945-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=cCRpuq5ugrZCMPNASqLzmnmQqSHwIbDaqesnsW6hpVY=;
        b=dp7ag/s/XswteEOQhIlZJ0Nr9OSh2piBWOaxYRC3sJJA1h7P9YiBLyTj5ZbqtTA5s/
         QVBATN/coisioHRuuIpGq3gJNfqJZeq14BoEa/ktEy7OjVkakgw2dN07PvsjfH2DKU0B
         bxLma1WzIl4FKw+quVea/qjMwPtAOmq0TevZHzdNCNncQhM1PD4uyKVu4HWZvLI6BqTx
         H7kaRy09fBu1xgcDeDqWrzFeKvin7yA3AAOKZ6MQsBsn3T/kb8YICvKVh7LgyXMq+5Bi
         FLuEciavzkBG7ruhxzyjiDdwLtfbNolH0swGrGj9z+IyuUE/sK6RMxqKOGNWiAhwfBa3
         5mXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=cCRpuq5ugrZCMPNASqLzmnmQqSHwIbDaqesnsW6hpVY=;
        b=GZIIhwrGksC2yuZWGFDeRFIcZed7c5zV/vdS8bwWaA5px8ZF4UK7v/uimqVvOs3b0K
         YojICyLtcLZB0uy3bPkkNbbFQIdsOGgMCnLGQyez0dmEuYcvI8QJqVLumd/3rH40lt/J
         akjheXmQyQp7vKxpufT8NedxgTHZ/fFj7BktloNmP200Zoxezp1deZhsUpmivNcSFnUK
         E/RQDHC1EjmCJkEK2A+epTki3bnAdp+MTwFD01gKsJ/V4C9t4nOOR8wJ9P5+TxnXP02D
         4oIXZc+i61oPyQADom5fjJ28wEHX5EUUbLFsC6GdTue9rNL+yrmBOP8mpfBVpj/AU/kq
         JsHA==
X-Gm-Message-State: ACgBeo2HyAVf5PzMuDhOVJKMhQSYZtZWr8QQHDO+DecqgVcJQcVUR3F4
	W5oua5L7DStt664Ree0fxVFHrcnXucBYQ1Oe4+G9Iw==
X-Google-Smtp-Source: AA6agR7Lu6PK9CdXu23xIn3AG3MYNgxqZ4pzHv7Fy3xw9o0fL/gGGSH+N2uXtSf2ZsqL9IuP0dnF/6Y/gY//h7qjU0c=
X-Received: by 2002:a81:85c3:0:b0:33d:a4d9:4599 with SMTP id
 v186-20020a8185c3000000b0033da4d94599mr18562781ywf.237.1661961381492; Wed, 31
 Aug 2022 08:56:21 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <20220830214919.53220-23-surenb@google.com>
 <b252a4e0-57a1-0f27-f4b0-598e851b47ea@infradead.org>
In-Reply-To: <b252a4e0-57a1-0f27-f4b0-598e851b47ea@infradead.org>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 08:56:10 -0700
Message-ID: <CAJuCfpFff1iVx50QeJWE7=sJUZ2enig34VTAOCz75u_SY2EXKw@mail.gmail.com>
Subject: Re: [RFC PATCH 22/30] Code tagging based fault injection
To: Randy Dunlap <rdunlap@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>, Kent Overstreet <kent.overstreet@linux.dev>, 
	Michal Hocko <mhocko@suse.com>, Vlastimil Babka <vbabka@suse.cz>, Johannes Weiner <hannes@cmpxchg.org>, 
	Roman Gushchin <roman.gushchin@linux.dev>, Mel Gorman <mgorman@suse.de>, 
	Davidlohr Bueso <dave@stgolabs.net>, Matthew Wilcox <willy@infradead.org>, 
	"Liam R. Howlett" <liam.howlett@oracle.com>, David Vernet <void@manifault.com>, 
	Peter Zijlstra <peterz@infradead.org>, Juri Lelli <juri.lelli@redhat.com>, 
	Laurent Dufour <ldufour@linux.ibm.com>, Peter Xu <peterx@redhat.com>, 
	David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, mcgrof@kernel.org, 
	masahiroy@kernel.org, nathan@kernel.org, changbin.du@intel.com, 
	ytcoode@gmail.com, Vincent Guittot <vincent.guittot@linaro.org>, 
	Dietmar Eggemann <dietmar.eggemann@arm.com>, Steven Rostedt <rostedt@goodmis.org>, 
	Benjamin Segall <bsegall@google.com>, Daniel Bristot de Oliveira <bristot@redhat.com>, 
	Valentin Schneider <vschneid@redhat.com>, Christopher Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, 
	Joonsoo Kim <iamjoonsoo.kim@lge.com>, 42.hyeyoo@gmail.com, 
	Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, dvyukov@google.com, 
	Shakeel Butt <shakeelb@google.com>, Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, 
	jbaron@akamai.com, David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	linux-mm <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Tue, Aug 30, 2022 at 6:52 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>
>
>
> On 8/30/22 14:49, Suren Baghdasaryan wrote:
> > From: Kent Overstreet <kent.overstreet@linux.dev>
> >
> > This adds a new fault injection capability, based on code tagging.
> >
> > To use, simply insert somewhere in your code
> >
> >   dynamic_fault("fault_class_name")
> >
> > and check whether it returns true - if so, inject the error.
> > For example
> >
> >   if (dynamic_fault("init"))
> >       return -EINVAL;
> >
> > There's no need to define faults elsewhere, as with
> > include/linux/fault-injection.h. Faults show up in debugfs, under
> > /sys/kernel/debug/dynamic_faults, and can be selected based on
> > file/module/function/line number/class, and enabled permanently, or in
> > oneshot mode, or with a specified frequency.
> >
> > Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
>
> Missing Signed-off-by: from Suren.
> See Documentation/process/submitting-patches.rst:
>
> When to use Acked-by:, Cc:, and Co-developed-by:
> ------------------------------------------------
>
> The Signed-off-by: tag indicates that the signer was involved in the
> development of the patch, or that he/she was in the patch's delivery path.

Thanks for the note! Will fix in the next respin.

>
>
> --
> ~Randy


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 15:59:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 15:59:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395838.635720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ89-0008I6-TJ; Wed, 31 Aug 2022 15:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395838.635720; Wed, 31 Aug 2022 15:59:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQ89-0008Hz-QZ; Wed, 31 Aug 2022 15:59:53 +0000
Received: by outflank-mailman (input) for mailman id 395838;
 Wed, 31 Aug 2022 15:59:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E34P=ZD=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1oTQ88-0008Ht-6m
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 15:59:52 +0000
Received: from out1.migadu.com (out1.migadu.com [2001:41d0:2:863f::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f16c278a-2945-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 17:59:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f16c278a-2945-11ed-82f2-63bd783d45fa
Date: Wed, 31 Aug 2022 11:59:41 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1661961589;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=8eQR8jMOxB0pUJLRgI0y5+reUXpRdgSKiz76DZMbpZA=;
	b=GKQv6dESmRNVlYrhLKqHqAEupQL+NGWnc+q+XSzgFWGRhe0CnbyNV+7rNtWq5MTMG51R4C
	l0UYS35OVMaetPyb4bctosq1HXD3sGEB3YcTrl1fFrr7arsrOVKztpQ7iNKwwum1q08tZq
	71z4eskGeNO/LfuPYzvdz8RnP/XW/uU=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Mel Gorman <mgorman@suse.de>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org,
	mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org,
	roman.gushchin@linux.dev, dave@stgolabs.net, willy@infradead.org,
	liam.howlett@oracle.com, void@manifault.com, juri.lelli@redhat.com,
	ldufour@linux.ibm.com, peterx@redhat.com, david@redhat.com,
	axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org,
	nathan@kernel.org, changbin.du@intel.com, ytcoode@gmail.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com,
	vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
	elver@google.com, dvyukov@google.com, shakeelb@google.com,
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
	kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
	kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
Message-ID: <20220831155941.q5umplytbx6offku@moria.home.lan>
References: <20220830214919.53220-1-surenb@google.com>
 <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
 <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan>
 <20220831101948.f3etturccmp5ovkl@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220831101948.f3etturccmp5ovkl@suse.de>
X-Migadu-Flow: FLOW_OUT
X-Migadu-Auth-User: linux.dev

On Wed, Aug 31, 2022 at 11:19:48AM +0100, Mel Gorman wrote:
> On Wed, Aug 31, 2022 at 04:42:30AM -0400, Kent Overstreet wrote:
> > On Wed, Aug 31, 2022 at 09:38:27AM +0200, Peter Zijlstra wrote:
> > > On Tue, Aug 30, 2022 at 02:48:49PM -0700, Suren Baghdasaryan wrote:
> > > > ===========================
> > > > Code tagging framework
> > > > ===========================
> > > > Code tag is a structure identifying a specific location in the source code
> > > > which is generated at compile time and can be embedded in an application-
> > > > specific structure. Several applications of code tagging are included in
> > > > this RFC, such as memory allocation tracking, dynamic fault injection,
> > > > latency tracking and improved error code reporting.
> > > > Basically, it takes the old trick of "define a special elf section for
> > > > objects of a given type so that we can iterate over them at runtime" and
> > > > creates a proper library for it.
> > > 
> > > I might be super dense this morning, but what!? I've skimmed through the
> > > set and I don't think I get it.
> > > 
> > > What does this provide that ftrace/kprobes don't already allow?
> > 
> > You're kidding, right?
> 
> It's a valid question. From the description, it main addition that would
> be hard to do with ftrace or probes is catching where an error code is
> returned. A secondary addition would be catching all historical state and
> not just state since the tracing started.

Catching all historical state is pretty important in the case of memory
allocation accounting, don't you think?

Also, ftrace can drop events. Not really ideal if under system load your memory
accounting numbers start to drift.

> It's also unclear *who* would enable this. It looks like it would mostly
> have value during the development stage of an embedded platform to track
> kernel memory usage on a per-application basis in an environment where it
> may be difficult to setup tracing and tracking. Would it ever be enabled
> in production? Would a distribution ever enable this? If it's enabled, any
> overhead cannot be disabled/enabled at run or boot time so anyone enabling
> this would carry the cost without never necessarily consuming the data.

The whole point of this is to be cheap enough to enable in production -
especially the latency tracing infrastructure. There's a lot of value to
always-on system visibility infrastructure, so that when a live machine starts
to do something wonky the data is already there.

What we've built here this is _far_ cheaper than anything that could be done
with ftrace.

> It might be an ease-of-use thing. Gathering the information from traces
> is tricky and would need combining multiple different elements and that
> is development effort but not impossible.
> 
> Whatever asking for an explanation as to why equivalent functionality
> cannot not be created from ftrace/kprobe/eBPF/whatever is reasonable.

I think perhaps some of the expectation should be on the "ftrace for
everything!" people to explain a: how their alternative could be even built and
b: how it would compare in terms of performance and ease of use.

Look, I've been a tracing user for many years, and it has its uses, but some of
the claims I've been hearing from tracing/bpf people when any alternative
tooling is proposed sound like vaporware and bullshitting.


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:03:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:03:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395843.635731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQBz-0001nA-FM; Wed, 31 Aug 2022 16:03:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395843.635731; Wed, 31 Aug 2022 16:03:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQBz-0001n2-B0; Wed, 31 Aug 2022 16:03:51 +0000
Received: by outflank-mailman (input) for mailman id 395843;
 Wed, 31 Aug 2022 16:03:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eSFh=ZD=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1oTQBx-0001mw-7D
 for xen-devel@lists.xen.org; Wed, 31 Aug 2022 16:03:49 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7deb9c1f-2946-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 18:03:47 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 ay39-20020a05600c1e2700b003a5503a80cfso8280797wmb.2
 for <xen-devel@lists.xen.org>; Wed, 31 Aug 2022 09:03:45 -0700 (PDT)
Received: from zen.linaroharston ([185.81.254.11])
 by smtp.gmail.com with ESMTPSA id
 n6-20020a05600c4f8600b003a54d610e5fsm2638337wmq.26.2022.08.31.09.03.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 31 Aug 2022 09:03:43 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id 0F28D1FFB7;
 Wed, 31 Aug 2022 17:03:43 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7deb9c1f-2946-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date;
        bh=0YN6pdbUMWwP22LK5vInS861cQR+zwOyt+mGgXSMMMQ=;
        b=A9l5kZQJ4Dq/0k9hze3V/Bf5aK61/VUNyi9rWC9/sEbKPG303jOLZopBpku/LKoTFi
         yYPup9i4zMzmCU+H+C0CyerSMX2JtRZqMMAb+6DnIDK+nz0NRxC2MEOEVrlbbUQx/n9E
         nHWnO61NSTjOle8H5wI2/Z01KR/yBCKuX96DKEBTwp6YmLGlVSZ4zcZjzMB5hf09Ij1p
         qz4tF490+DqZyPBYecCMmiNZWjy5gzjGAt6TrpqZDrOAkuYJ0pU7NIXdktB/P4H4agK6
         FYPyHwvuW8vl9x6nMW3YXw+X2i5XAkKqZiMpuZnBN7iWnW4FqHV6Jg/9pvrSkzBsNZHu
         9eFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date;
        bh=0YN6pdbUMWwP22LK5vInS861cQR+zwOyt+mGgXSMMMQ=;
        b=i4HvVOUPvYfHIDvn8FeAI0yPYGHpVk78/sz8Otk+gFLNAlNdIUbjDIqfd1Uj/KPmaS
         8P3ga7lMnWdqo1JkizMJD0puUexeLQOaPY4IS4DT3/4hbX9kQi5hmpWS1v0TD/Paf2rm
         nBRCR2qcQfGLej7xNeSBpNbdlDTGTOd5ICh1SdjBrKVPXLo00HDxjbfG5jfY4/z+MNVu
         jnCYMXB9Cd9ZmQWw+1UkQ/I5I4u822C9/EP5/37plwzgtVRTyZ1tAqGGsIAZDzFv38Xp
         0BVz1eHsaDa9Z9t9uh/6BAyg5A4FGRQZFv5FRYF4B8Z7LIP+424pivyzWuEgDEpuMD7v
         q06A==
X-Gm-Message-State: ACgBeo3/FFvdFgHGwmkpgo3lP+X8yCWXgHSP32qsG3XjwJKajE33EXN0
	E5ku6w0vHIY9bJtPgQJ8DFWdbQ==
X-Google-Smtp-Source: AA6agR5UMv9VbNtyXCUmLERehOYjp1CfN7QP6wWG3IQVnFp1jxC4R3yNkzvaI0fBL+k4tiks0ES2Og==
X-Received: by 2002:a05:600c:3d93:b0:3a5:eb9b:b495 with SMTP id bi19-20020a05600c3d9300b003a5eb9bb495mr2417150wmb.91.1661961825165;
        Wed, 31 Aug 2022 09:03:45 -0700 (PDT)
References: <alpine.DEB.2.22.394.2203231838130.2910984@ubuntu-linux-20-04-desktop>
 <57549560-879d-f705-8693-9bfdc73e3f7f@suse.com>
 <20220824091918.szrd6e6ll6h6u2pw@vireshk-i7>
 <63eecf7a-aa69-28bf-9664-8ee8554a161f@citrix.com>
 <877d2xj23o.fsf@linaro.org>
 <edc33ca4-135e-111a-e198-38b9bae53005@suse.com>
 <87y1vdh9or.fsf@linaro.org>
 <9697a559-fe42-3efb-5715-1f6bc631f57d@suse.com>
User-agent: mu4e 1.9.0; emacs 28.1.91
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>, Viresh Kumar
 <viresh.kumar@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
 "Stratos-dev@op-lists.linaro.org" <Stratos-dev@op-lists.linaro.org>,
 "mathieu.poirier@linaro.com" <mathieu.poirier@linaro.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
 "vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
 "olekstysh@gmail.com" <olekstysh@gmail.com>
Subject: Re: Understanding osdep_xenforeignmemory_map mmap behaviour
Date: Wed, 31 Aug 2022 17:02:03 +0100
In-reply-to: <9697a559-fe42-3efb-5715-1f6bc631f57d@suse.com>
Message-ID: <875yi8pfhc.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Juergen Gross <jgross@suse.com> writes:

> [[PGP Signed Part:Undecided]]
> On 24.08.22 17:58, Alex Benn=C3=A9e wrote:
>> Juergen Gross <jgross@suse.com> writes:
>>=20
>>> [[PGP Signed Part:Undecided]]
>>> On 24.08.22 13:22, Alex Benn=C3=A9e wrote:
>>>> Andrew Cooper <Andrew.Cooper3@citrix.com> writes:
>>>>
>>>>> On 24/08/2022 10:19, Viresh Kumar wrote:
>>>>>> On 24-03-22, 06:12, Juergen Gross wrote:
>>>>>>> For a rather long time we were using "normal" user pages for this p=
urpose,
>>>>>>> which were just locked into memory for doing the hypercall.
>>>>>>>
>>>>>>> Unfortunately there have been very rare problems with that approach=
, as
>>>>>>> the Linux kernel can set a user page related PTE to invalid for sho=
rt
>>>>>>> periods of time, which led to EFAULT in the hypervisor when trying =
to
>>>>>>> access the hypercall data.
>>>>>>>
>>>>>>> In Linux this can avoided only by using kernel memory, which is the
>>>>>>> reason why the hypercall buffers are allocated and mmap()-ed throug=
h the
>>>>>>> privcmd driver.
>>>>>> Hi Juergen,
>>>>>>
>>>>>> I understand why we moved from user pages to kernel pages, but I don=
't
>>>>>> fully understand why we need to make two separate calls to map the
>>>>>> guest memory, i.e. mmap() followed by ioctl(IOCTL_PRIVCMD_MMAPBATCH).
>>>>>>
>>>>>> Why aren't we doing all of it from mmap() itself ? I hacked it up to
>>>>>> check on it and it works fine if we do it all from mmap() itself.
>>>> As I understand it the MMAPBATCH ioctl is being treated like every
>>>> other
>>>> hypercall proxy through the ioctl interface. Which makes sense from the
>>>> point of view of having a consistent interface to the hypervisor but n=
ot
>>>> from point of view of providing a consistent userspace interface for
>>>> mapping memory which doesn't care about the hypervisor details.
>>>> The privcmd_mmapbatch_v2 interface is slightly richer than what you
>>>> could expose via mmap() because it allows the handling of partial
>>>> mappings with what I presume is a per-page *err array. If you issued t=
he
>>>> hypercall directly from the mmap() and one of the pages wasn't mapped =
by
>>>> the hypervisor you would have to unwind everything before returning
>>>> EFAULT to the user.
>>>>
>>>>>> Aren't we abusing the Linux userspace ABI here ? As standard userspa=
ce
>>>>>> code would expect just mmap() to be enough to map the memory. Yes, t=
he
>>>>>> current user, Xen itself, is adapted to make two calls, but it breaks
>>>>>> as soon as we want to use something that relies on Linux userspace
>>>>>> ABI.
>>>>>>
>>>>>> For instance, in our case, where we are looking to create
>>>>>> hypervisor-agnostic virtio backends, the rust-vmm library [1] issues
>>>>>> mmap() only and expects it to work. It doesn't know it is running on=
 a
>>>>>> Xen system, and it shouldn't know that as well.
>>>>>
>>>>> Use /dev/xen/hypercall which has a sane ABI for getting "safe" memory.
>>>>> privcmd is very much not sane.
>>>>>
>>>>> In practice you'll need to use both.=C2=A0 /dev/xen/hypercall for get=
ting
>>>>> "safe" memory, and /dev/xen/privcmd for issuing hypercalls for now.
>>>> I'm unsure what is meant by safe memory here. privcmd_buf_mmap()
>>>> looks
>>>> like it just allocates a bunch of GFP_KERNEL pages rather than
>>>> interacting with the hypervisor directly. Are these the same pages that
>>>> get used when you eventually call privcmd_ioctl_mmap_batch()?
>>>
>>> privcmd_buf_mmap() is allocating kernel pages which are used for data b=
eing
>>> accessed by the hypervisor when doing the hypercall later. This is a ge=
neric
>>> interface being used for all hypercalls, not only for
>>> privcmd_ioctl_mmap_batch().
>>>
>>>> The fact that /dev/xen/hypercall is specified by xen_privcmdbuf_dev is=
 a
>>>> little confusing TBH.
>>>> Anyway the goal here is to provide a non-xen aware userspace with
>>>> standard userspace API to access the guests memory. Perhaps messing
>>>
>>> This is what the Xen related libraries are meant for. Your decision to
>>> ignore those is firing back now.
>> We didn't ignore them - the initial version of the xen-vhost-master
>> binary was built with the rust and linking to the Xen libraries. We are
>> however in the process of moving to more pure rust (with the xen-sys
>> crate being a pure rust ioctl/hypercall wrapper).
>
> Ah, okay, I wasn't aware of this.
>
>> However I was under the impression there where two classes of
>> hypercalls. ABI stable ones which won't change (which is all we are
>> planning to implement for xen-sys) and non-stable ABIs which would need
>> mediating by the xen libs. We are hoping we can do all of VirtIO with
>> just the stable ABI.
>
> Okay.
>
>>=20
>>>> around with the semantics of the /dev/xen/[hypercall|privcmd] devices
>>>> nodes is too confusing.
>>>> Maybe we could instead:
>>>>    1. Have the Xen aware VMM ask to make the guests memory visible to
>>>> the
>>>>       host kernels address space.
>>>
>>> Urgh. This would be a major breach of the Xen security concept.
>>>
>>>>    2. When this is done explicitly create a device node to represent i=
t (/dev/xen/dom-%d-mem?)
>>>>    3. Pass this new device to the non-Xen aware userspace which uses t=
he
>>>>       standard mmap() call to make the kernel pages visible to userspa=
ce
>>>> Does that make sense?
>>>
>>> Maybe from your point of view, but not from the Xen architectural point
>>> of view IMHO. You are removing basically the main security advantages of
>>> Xen by generating a kernel interface for mapping arbitrary guest memory
>>> easily.
>> We are not talking about doing an end-run around the Xen
>> architecture.
>> The guest still has to instruct the hypervisor to grant access to its
>> memory. Currently this is a global thing (i.e. whole address space or
>> nothing) but obviously more fine grained grants can be done on a
>> transaction by transaction basis although we are exploring more
>> efficient mechanisms for this (shared pools and carve outs).
>
> Happy to hear that.
>
>> This does raise questions for the mmap interface though - each
>> individually granted region would need to be mapped into the dom0
>> userspace virtual address space or perhaps a new flag for mmap() so we
>> can map the whole address space but expect SIGBUS faults if we access
>> something that hasn't been granted.
>
> Do I understand that correctly? You want the guest to grant a memory
> region to the backend, and the backend should be able to map this region
> not using grants, but the guest physical addresses?

Yes - although it doesn't have to be the whole GPA range. The vhost-user
protocol communicates what offset into the GPA space the various memory
regions exist at.

>
>
> Juergen
>
> [2. OpenPGP public key --- application/pgp-keys; OpenPGP_0xB0DE9DD628BF13=
2F.asc]...
>
> [[End of PGP Signed Part]]


--=20
Alex Benn=C3=A9e


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:15:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395849.635742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQNB-0003IS-GX; Wed, 31 Aug 2022 16:15:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395849.635742; Wed, 31 Aug 2022 16:15:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQNB-0003IL-Db; Wed, 31 Aug 2022 16:15:25 +0000
Received: by outflank-mailman (input) for mailman id 395849;
 Wed, 31 Aug 2022 16:15:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTQNA-0003I6-4v; Wed, 31 Aug 2022 16:15:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTQNA-0002Gv-1u; Wed, 31 Aug 2022 16:15:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTQN9-0003xb-K2; Wed, 31 Aug 2022 16:15:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTQN9-00042J-Jd; Wed, 31 Aug 2022 16:15:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=U/bRY58x33941iWE50CT4vL06YnULLqjv/bFzF43d/0=; b=Ilh4bVCzbeVLdO/z0K9s+OEcos
	uORVTf1li6pe19/q0KAGE5SLMwOXHyX46WNQJ64gdlgLmAcJ6/EBK3NrL4Cnu/lXm2+l8ly8C0ZRr
	XR1nRqFS6kkMBG3z8T4oZvE2mlsxDgqrMnnfANY3sYCITIGicoyPG7fgkBu3n4qRKhQQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172886-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 172886: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-amd64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-i386-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-arm64-libvirt:libvirt-build:fail:regression
    qemu-mainline:build-armhf-libvirt:libvirt-build:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=93fac696d241dccb04ebb9d23da55fc1e9d8ee36
X-Osstest-Versions-That:
    qemuu=2480f3bbd03814b0651a1f74959f5c6631ee5819
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 16:15:23 +0000

flight 172886 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172886/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172123
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172123
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172123

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 172877 pass in 172886
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 172877

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 172123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172123
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                93fac696d241dccb04ebb9d23da55fc1e9d8ee36
baseline version:
 qemuu                2480f3bbd03814b0651a1f74959f5c6631ee5819

Last test of basis   172123  2022-08-03 18:10:07 Z   27 days
Failing since        172148  2022-08-04 21:39:38 Z   26 days   61 attempts
Testing same since   172877  2022-08-30 19:10:25 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennÃ©e <alex.bennee@linaro.org>
  Andrea Bolognani <abologna@redhat.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bin Meng <bin.meng@windriver.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. BerrangÃ© <berrange@redhat.com>
  Eugenio PÃ©rez <eperezma@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Kevin Wolf <kwolf@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Leonardo Bras <leobras@redhat.com>
  Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudÃ© <f4bug@amsat.org>
  Priyankar Jain <priyankar.jain@nutanix.com>
  Qi Hu <huqi@loongson.cn>
  Qiang Liu <cyruscyliu@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Tomasz Martyniak <gitlab.com/tom4r>
  Vitaly Buka <vitalybuka@google.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>
  Yonggang Luo <luoyonggang@gmail.com>
  Zenghui Yu <yuzenghui@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2511 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:17:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:17:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395858.635752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQPX-0003w4-4L; Wed, 31 Aug 2022 16:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395858.635752; Wed, 31 Aug 2022 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQPX-0003vx-1i; Wed, 31 Aug 2022 16:17:51 +0000
Received: by outflank-mailman (input) for mailman id 395858;
 Wed, 31 Aug 2022 16:17:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aVYg=ZD=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oTQPV-0003vp-Oh
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 16:17:49 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74021438-2948-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 18:17:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 44E39B821E7;
 Wed, 31 Aug 2022 16:17:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F6D7C433C1;
 Wed, 31 Aug 2022 16:17:44 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74021438-2948-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661962665;
	bh=2d72f6ZKuMN8oZ4S4xSp9+IUsC77vGcpoLIrln4q3HU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=E/zoiqW0CXelaAIpNPabokQCPHML9pmxsjeAaHpoc9tiVZd3jKRKxr3yRVOv3bryn
	 hNfAGxDcQNLx8hEjr6PAQ4zNzsm3c/5cQzfFC4uA11MqzX1+0NVaiXDOr9w1Gs9/mL
	 9qBI+Gr6m5KH69e0y4pZO4t45IGF5h60K2INVzu8tKEhmmU/s6hqXjscz0RIkbmWjU
	 Up8lUA3GpjduwLZq0rpelh2qn2byGkKceUj2HxerzNgQZ/h/mvBF6LgoAGF2tZVcDd
	 KTMiaTHLWBorZxCuRnJc0tVviqiDEEsgwZZUNTuAx6m3GdYcpp9fKnKKoWu02gihcr
	 ANFoxeRDrjaWw==
From: SeongJae Park <sj@kernel.org>
To: Pratyush Yadav <ptyadav@amazon.de>
Cc: SeongJae Park <sj@kernel.org>,
	jgross@suse.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH 1/2] xen-blkback: Advertise feature-persistent as user requested
Date: Wed, 31 Aug 2022 16:17:43 +0000
Message-Id: <20220831161743.93872-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831153259.fzdkgbi76hmxa67a@yadavpratyush.com>
References: 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hi Pratyush,

On Wed, 31 Aug 2022 15:47:50 +0000 Pratyush Yadav <ptyadav@amazon.de> wrote:

> Hi,
> 
> On 25/08/22 04:15PM, SeongJae Park wrote:
> > Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
> > when connect") made blkback to advertise its support of the persistent
> > grants feature only if the user sets the 'feature_persistent' parameter
> > of the driver and the frontend advertised its support of the feature.
> > However, following commit 402c43ea6b34 ("xen-blkfront: Apply
> > 'feature_persistent' parameter when connect") made the blkfront to work
> > in the same way.  That is, blkfront also advertises its support of the
> > persistent grants feature only if the user sets the 'feature_persistent'
> > parameter of the driver and the backend advertised its support of the
> > feature.
> > 
> > Hence blkback and blkfront will never advertise their support of the
> > feature but wait until the other advertises the support, even though
> > users set the 'feature_persistent' parameters of the drivers.  As a
> > result, the persistent grants feature is disabled always regardless of
> > the 'feature_persistent' values[1].
> > 
> > The problem comes from the misuse of the semantic of the advertisement
> > of the feature.  The advertisement of the feature should means only
> > availability of the feature not the decision for using the feature.
> > However, current behavior is working in the wrong way.
> > 
> > This commit fixes the issue by making the blkback advertises its support
> > of the feature as user requested via 'feature_persistent' parameter
> > regardless of the otherend's support of the feature.
> > 
> > [1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/
> > 
> > Fixes: e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter when connect")
> > Cc: <stable@vger.kernel.org> # 5.10.x
> > Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> > Suggested-by: Juergen Gross <jgross@suse.com>
> > Signed-off-by: SeongJae Park <sj@kernel.org>
> > ---
> >  drivers/block/xen-blkback/common.h | 3 +++
> >  drivers/block/xen-blkback/xenbus.c | 6 ++++--
> >  2 files changed, 7 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
> > index bda5c815e441..a28473470e66 100644
> > --- a/drivers/block/xen-blkback/common.h
> > +++ b/drivers/block/xen-blkback/common.h
> > @@ -226,6 +226,9 @@ struct xen_vbd {
> >  	sector_t		size;
> >  	unsigned int		flush_support:1;
> >  	unsigned int		discard_secure:1;
> > +	/* Connect-time cached feature_persistent parameter value */
> > +	unsigned int		feature_gnt_persistent_parm:1;
> > +	/* Persistent grants feature negotiation result */
> >  	unsigned int		feature_gnt_persistent:1;
> >  	unsigned int		overflow_max_grants:1;
> >  };
> > diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> > index ee7ad2fb432d..c0227dfa4688 100644
> > --- a/drivers/block/xen-blkback/xenbus.c
> > +++ b/drivers/block/xen-blkback/xenbus.c
> > @@ -907,7 +907,7 @@ static void connect(struct backend_info *be)
> >  	xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support);
> >  
> >  	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> > -			be->blkif->vbd.feature_gnt_persistent);
> > +			be->blkif->vbd.feature_gnt_persistent_parm);
> >  	if (err) {
> >  		xenbus_dev_fatal(dev, err, "writing %s/feature-persistent",
> >  				 dev->nodename);
> > @@ -1085,7 +1085,9 @@ static int connect_ring(struct backend_info *be)
> >  		return -ENOSYS;
> >  	}
> >  
> > -	blkif->vbd.feature_gnt_persistent = feature_persistent &&
> > +	blkif->vbd.feature_gnt_persistent_parm = feature_persistent;
> 
> If feature_gnt_persistent_parm is always going to be equal to 
> feature_persistent, then why introduce it at all? Why not just use 
> feature_persistent directly? This way you avoid adding an extra flag 
> whose purpose is not immediately clear, and you also avoid all the mess 
> with setting this flag at the right time.

Mainly because the parameter should read twice (once for advertisement, and
once later just before the negotitation, for checking if we advertised or not),
and the user might change the parameter value between the two reads.

For the detailed available sequence of the race, you could refer to the prior
conversation[1].

[1] https://lore.kernel.org/linux-block/20200922111259.GJ19254@Air-de-Roger/


Thanks,
SJ

> 
> > +	blkif->vbd.feature_gnt_persistent =
> > +		blkif->vbd.feature_gnt_persistent_parm &&
> >  		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
> >  
> >  	blkif->vbd.overflow_max_grants = 0;
> > -- 
> > 2.25.1
> > 
> > 
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:20:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:20:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395863.635764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQSG-0005M4-Ho; Wed, 31 Aug 2022 16:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395863.635764; Wed, 31 Aug 2022 16:20:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQSG-0005Lx-Ef; Wed, 31 Aug 2022 16:20:40 +0000
Received: by outflank-mailman (input) for mailman id 395863;
 Wed, 31 Aug 2022 16:20:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E34P=ZD=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1oTQSF-0005Lr-9x
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 16:20:39 +0000
Received: from out1.migadu.com (out1.migadu.com [91.121.223.63])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8ce5a3c-2948-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 18:20:37 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8ce5a3c-2948-11ed-82f2-63bd783d45fa
Date: Wed, 31 Aug 2022 12:20:30 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1661962837;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=iGyIm0136Cqvu8OauWzfpc3vydsg6hlY8VzCbW2wXJg=;
	b=KVP2c5IAZ3wBXb2/Ad6Xj43ljUfrIdr7gfO4yiBKC2RKOWHohtjtIXVhI3lUJiPDbu8s8A
	OgKnIfQQ9lSKVfDzWbpXF/ELpw+p0U2uveRKEHmnrSHDmx2oda782PoBDvM4b2hIeOKuns
	rKESeCwGcppKXEWhmK+nLoA/6gDDxY8=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Mel Gorman <mgorman@suse.de>
Cc: Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org,
	mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org,
	roman.gushchin@linux.dev, dave@stgolabs.net, willy@infradead.org,
	liam.howlett@oracle.com, void@manifault.com, peterz@infradead.org,
	juri.lelli@redhat.com, ldufour@linux.ibm.com, peterx@redhat.com,
	david@redhat.com, axboe@kernel.dk, mcgrof@kernel.org,
	masahiroy@kernel.org, nathan@kernel.org, changbin.du@intel.com,
	ytcoode@gmail.com, vincent.guittot@linaro.org,
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com,
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com,
	penberg@kernel.org, iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com,
	glider@google.com, elver@google.com, dvyukov@google.com,
	shakeelb@google.com, songmuchun@bytedance.com, arnd@arndb.de,
	jbaron@akamai.com, rientjes@google.com, minchan@google.com,
	kaleshsingh@google.com, kernel-team@android.com, linux-mm@kvack.org,
	iommu@lists.linux.dev, kasan-dev@googlegroups.com,
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
	linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 03/30] Lazy percpu counters
Message-ID: <20220831162030.hzgzhxu3qn6g3k5r@moria.home.lan>
References: <20220830214919.53220-1-surenb@google.com>
 <20220830214919.53220-4-surenb@google.com>
 <20220831100249.f2o27ri7ho4ma3pe@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220831100249.f2o27ri7ho4ma3pe@suse.de>
X-Migadu-Flow: FLOW_OUT
X-Migadu-Auth-User: linux.dev

On Wed, Aug 31, 2022 at 11:02:49AM +0100, Mel Gorman wrote:
> On Tue, Aug 30, 2022 at 02:48:52PM -0700, Suren Baghdasaryan wrote:
> > From: Kent Overstreet <kent.overstreet@linux.dev>
> > 
> > This patch adds lib/lazy-percpu-counter.c, which implements counters
> > that start out as atomics, but lazily switch to percpu mode if the
> > update rate crosses some threshold (arbitrarily set at 256 per second).
> > 
> > Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
> 
> Why not use percpu_counter? It has a per-cpu counter that is synchronised
> when a batch threshold (default 32) is exceeded and can explicitly sync
> the counters when required assuming the synchronised count is only needed
> when reading debugfs.

It doesn't switch from atomic mode to percpu mode when the update rate crosses a
threshold like lazy percpu counters does, it allocates all the percpu counters
up front - that makes it a non starter here.

Also, from my reading of the code... wtf is it even doing, and why would I use
it at all? This looks like old grotty code from ext3, it's not even using
this_cpu_add() - it does preempt_enable()/disable() just for adding to a local
percpu counter!

Noooooope.


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:20:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:20:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395864.635775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQSN-0005dq-P9; Wed, 31 Aug 2022 16:20:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395864.635775; Wed, 31 Aug 2022 16:20:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQSN-0005dd-Ll; Wed, 31 Aug 2022 16:20:47 +0000
Received: by outflank-mailman (input) for mailman id 395864;
 Wed, 31 Aug 2022 16:20:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aVYg=ZD=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oTQSL-0005ci-Iu
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 16:20:45 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd09417e-2948-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 18:20:44 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id E15E8B821ED;
 Wed, 31 Aug 2022 16:20:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DB391C433D7;
 Wed, 31 Aug 2022 16:20:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd09417e-2948-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661962841;
	bh=mP7bY6kuZc9xANg6iW41oQkce9SwkX/s/4sydwbPcjc=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=mKAxncKKgrqPf9z1NEdnLQx6+7HIVT5B0iodsnbqAMy7uSqLjxRVvUlHuv2+g/tgA
	 vNAFgnSnFnD7Or+FIfXuNZjhTAfdcyrkLZqH3tHat5GOE0Lf0UZiD/Cb8u7YgxHTyb
	 r964TWGMQIQOc1E45665y19axjm+NpDqURdotluc+O26NNGLYsjneXBMo6688Hu3hm
	 2BcnxJov8rKlO1LGghjrCnbJCFVdT6zgeQ5N8sQ79esQwraE7gCBWkM2h3GGundUAP
	 vQV9BSsGD9xn+0VnudTKDVEeZ823m+c5eBEuXtefj5A4OmUxpeHZKrR7lgU4RbwpM9
	 7IS1mhda/JgaA==
From: SeongJae Park <sj@kernel.org>
To: Pratyush Yadav <ptyadav@amazon.de>
Cc: SeongJae Park <sj@kernel.org>,
	jgross@suse.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH 2/2] xen-blkfront: Advertise feature-persistent as user requested
Date: Wed, 31 Aug 2022 16:20:36 +0000
Message-Id: <20220831162036.93966-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831155045.kxopdchlc67fmi5n@yadavpratyush.com>
References: 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hi Pratyush,

On Wed, 31 Aug 2022 15:50:45 +0000 Pratyush Yadav <ptyadav@amazon.de> wrote:

> On 25/08/22 04:15PM, SeongJae Park wrote:
> > Commit e94c6101e151 ("xen-blkback: Apply 'feature_persistent' parameter
> > when connect") made blkback to advertise its support of the persistent
> > grants feature only if the user sets the 'feature_persistent' parameter
> > of the driver and the frontend advertised its support of the feature.
> > However, following commit 402c43ea6b34 ("xen-blkfront: Apply
> > 'feature_persistent' parameter when connect") made the blkfront to work
> > in the same way.  That is, blkfront also advertises its support of the
> > persistent grants feature only if the user sets the 'feature_persistent'
> > parameter of the driver and the backend advertised its support of the
> > feature.
> > 
> > Hence blkback and blkfront will never advertise their support of the
> > feature but wait until the other advertises the support, even though
> > users set the 'feature_persistent' parameters of the drivers.  As a
> > result, the persistent grants feature is disabled always regardless of
> > the 'feature_persistent' values[1].
> > 
> > The problem comes from the misuse of the semantic of the advertisement
> > of the feature.  The advertisement of the feature should means only
> > availability of the feature not the decision for using the feature.
> > However, current behavior is working in the wrong way.
> > 
> > This commit fixes the issue by making the blkfront advertises its
> > support of the feature as user requested via 'feature_persistent'
> > parameter regardless of the otherend's support of the feature.
> > 
> > [1] https://lore.kernel.org/xen-devel/bd818aba-4857-bc07-dc8a-e9b2f8c5f7cd@suse.com/
> > 
> > Fixes: 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter when connect")
> > Cc: <stable@vger.kernel.org> # 5.10.x
> > Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> > Suggested-by: Juergen Gross <jgross@suse.com>
> > Signed-off-by: SeongJae Park <sj@kernel.org>
> > ---
> >  drivers/block/xen-blkfront.c | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> > index 8e56e69fb4c4..dfae08115450 100644
> > --- a/drivers/block/xen-blkfront.c
> > +++ b/drivers/block/xen-blkfront.c
> > @@ -213,6 +213,9 @@ struct blkfront_info
> >  	unsigned int feature_fua:1;
> >  	unsigned int feature_discard:1;
> >  	unsigned int feature_secdiscard:1;
> > +	/* Connect-time cached feature_persistent parameter */
> > +	unsigned int feature_persistent_parm:1;
> > +	/* Persistent grants feature negotiation result */
> >  	unsigned int feature_persistent:1;
> >  	unsigned int bounce:1;
> >  	unsigned int discard_granularity;
> > @@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
> >  		goto abort_transaction;
> >  	}
> >  	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
> > -			info->feature_persistent);
> > +			info->feature_persistent_parm);
> >  	if (err)
> >  		dev_warn(&dev->dev,
> >  			 "writing persistent grants feature to xenbus");
> > @@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
> >  	if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
> >  		blkfront_setup_discard(info);
> >  
> > -	if (feature_persistent)
> > +	info->feature_persistent_parm = feature_persistent;
> 
> Same question as before. Why not just use feature_persistent directly?

Same answer as before, due to the possible race[1].

[1] https://lore.kernel.org/linux-block/20200922111259.GJ19254@Air-de-Roger/

> 
> > +	if (info->feature_persistent_parm)
> >  		info->feature_persistent =
> >  			!!xenbus_read_unsigned(info->xbdev->otherend,
> >  					       "feature-persistent", 0);
> 
> Aside: IMO this would look nicer as below:
> 
> 	info->feature_persistent = feature_persistent && !!xenbus_read_unsigned();

Agreed, that would also make the code more consistent with the blkback side
code.

I would make the change in the next version of this patchset.


Thanks,
SJ


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:40:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395919.635806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQlL-0000Dz-KI; Wed, 31 Aug 2022 16:40:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395919.635806; Wed, 31 Aug 2022 16:40:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQlL-0000Ds-HU; Wed, 31 Aug 2022 16:40:23 +0000
Received: by outflank-mailman (input) for mailman id 395919;
 Wed, 31 Aug 2022 16:40:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTQlK-0000Di-VQ; Wed, 31 Aug 2022 16:40:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTQlK-0002hx-Tf; Wed, 31 Aug 2022 16:40:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTQlK-0005Zl-Dx; Wed, 31 Aug 2022 16:40:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTQlK-00011B-DP; Wed, 31 Aug 2022 16:40:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=F+zY6jUKdKZ6lQZwcEAWZnzjt7MeI82m8+5674tBZIA=; b=vfVm4gkins4ItWoPOghsfRyOni
	xXQMTsBkJV3HxfbUTcu6oHwvbmScBYjjK/la89GoU0g1ef9CkHS25GHQSUH2xocmG9E8yTgRM22ex
	5+85YGruywPblvrr8lXfykQpH4nFXIlKZywq+iZomXf2pLSMvFlmZ7MzdvqhXLLUTCQc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172893-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172893: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=4b7bd4c591a81a290b31e9d1a94c4b8be787989e
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 16:40:22 +0000

flight 172893 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172893/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 4b7bd4c591a81a290b31e9d1a94c4b8be787989e
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   27 days
Failing since        172151  2022-08-05 02:40:28 Z   26 days  213 attempts
Testing same since   172888  2022-08-31 06:13:25 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jiaxin Wu <jiaxin.wu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Wu, Jiaxin <jiaxin.wu@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1200 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:48:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:48:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395926.635816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQtE-0000uk-EZ; Wed, 31 Aug 2022 16:48:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395926.635816; Wed, 31 Aug 2022 16:48:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTQtE-0000ud-Bm; Wed, 31 Aug 2022 16:48:32 +0000
Received: by outflank-mailman (input) for mailman id 395926;
 Wed, 31 Aug 2022 16:48:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTQtD-0000uX-BL
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 16:48:31 +0000
Received: from mail-yb1-xb2a.google.com (mail-yb1-xb2a.google.com
 [2607:f8b0:4864:20::b2a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd96ef68-294c-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 18:48:30 +0200 (CEST)
Received: by mail-yb1-xb2a.google.com with SMTP id j204so5007349ybj.2
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 09:48:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd96ef68-294c-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date;
        bh=6n1zc63jDuzyjKJX97Ppd3P3cpaKkA3xHe9Swtr7rxY=;
        b=VIdq+RErxf0PvdNDjrVGs2xPK3B0rNLymMqmwIf/bH5QaRKd3T3TPNaSejCRtao3kK
         KXPLbmwg5LRzFYtF5BuBFJiwK/+mPBjKO/MlQ27xXQf8k4L7vWPckSKFmWQP7Dfsp6Sl
         M5hXBIs6T8rqHUTvYskZOH6CC+dXw6Lm4bBWXUwBF1eDWO7eNfIGjAEigAV+0s81txPn
         Fz0URG4E8J5Lj4s98oD61ddGJEDNPlbl1qKyb3s4bDCN9GbA0+acWByl//DGVqlqSYLa
         B+9EEskkUFezCj8PiDfqv37B3qhmrr/PjuX9xcNxSUscGYuyFBYe2yRfMi3mBikEte0+
         ygEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date;
        bh=6n1zc63jDuzyjKJX97Ppd3P3cpaKkA3xHe9Swtr7rxY=;
        b=6zqWBsB4/ARe3PhmmQKo0a0s7PaHeJTx0XPwRezLSofvc6eT1HQLDP8UjsmYArkArS
         LqQqlk5sZ874CCLtoA69ObdVSocCENqic59p/lLw9v2ojzl50+fdbOYo3m2vn3paaU21
         Q0jrnb8eb9BRAoO25bdpJVEJ7gYo0VvBWc/ekTP3D8RuY5RLGR9f9p70t/kYtVCw4xPB
         qhurpsT3sysnHl51HOyKY63hmsFREOnZ+Jxm415A4U0AQI6wKMJDLaZXCt7hMMU1J5Bc
         MCkaKxWYAdAgEvV7ykrdFUJmgyxvpwaLWAKr0xt+plbpQIc/6iGgO/xHHzrNaHszLqo8
         dpjA==
X-Gm-Message-State: ACgBeo2o/cQCrrh4nuE12eBFVidR4AgyCQHVYT8U9NqKKy9RXb88ruX8
	4B27LVxT5xZ1QjJDF2r4jldL1ifA9PrnctRRL7GmFA==
X-Google-Smtp-Source: AA6agR4yhCoLDamoorLSfffIdQAWE2JXv8ZvTcRtyX3MuCW3iMDBbPaNi4yGEiRj94PMg+OOUK3k3jnByRFyc9VhtmY=
X-Received: by 2002:a05:6902:1366:b0:691:4335:455b with SMTP id
 bt6-20020a056902136600b006914335455bmr15675462ybb.282.1661964508623; Wed, 31
 Aug 2022 09:48:28 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
 <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan> <20220831101948.f3etturccmp5ovkl@suse.de>
 <Yw88RFuBgc7yFYxA@dhcp22.suse.cz> <CAJuCfpGZ==v0HGWBzZzHTgbo4B_ZBe6V6U4T_788LVWj8HhCRQ@mail.gmail.com>
In-Reply-To: <CAJuCfpGZ==v0HGWBzZzHTgbo4B_ZBe6V6U4T_788LVWj8HhCRQ@mail.gmail.com>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 09:48:17 -0700
Message-ID: <CAJuCfpEuLjd+FJ7MQQ+y=ghVnYQP-WDcXxLCcy07JQ0VFweLEg@mail.gmail.com>
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
To: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>, Kent Overstreet <kent.overstreet@linux.dev>, 
	Peter Zijlstra <peterz@infradead.org>, Andrew Morton <akpm@linux-foundation.org>, 
	Vlastimil Babka <vbabka@suse.cz>, Johannes Weiner <hannes@cmpxchg.org>, 
	Roman Gushchin <roman.gushchin@linux.dev>, Davidlohr Bueso <dave@stgolabs.net>, 
	Matthew Wilcox <willy@infradead.org>, "Liam R. Howlett" <liam.howlett@oracle.com>, 
	David Vernet <void@manifault.com>, Juri Lelli <juri.lelli@redhat.com>, 
	Laurent Dufour <ldufour@linux.ibm.com>, Peter Xu <peterx@redhat.com>, 
	David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, mcgrof@kernel.org, 
	masahiroy@kernel.org, nathan@kernel.org, changbin.du@intel.com, 
	ytcoode@gmail.com, Vincent Guittot <vincent.guittot@linaro.org>, 
	Dietmar Eggemann <dietmar.eggemann@arm.com>, Steven Rostedt <rostedt@goodmis.org>, 
	Benjamin Segall <bsegall@google.com>, Daniel Bristot de Oliveira <bristot@redhat.com>, 
	Valentin Schneider <vschneid@redhat.com>, Christopher Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, 
	Joonsoo Kim <iamjoonsoo.kim@lge.com>, 42.hyeyoo@gmail.com, 
	Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, dvyukov@google.com, 
	Shakeel Butt <shakeelb@google.com>, Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, 
	jbaron@akamai.com, David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	linux-mm <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 31, 2022 at 8:28 AM Suren Baghdasaryan <surenb@google.com> wrote:
>
> On Wed, Aug 31, 2022 at 3:47 AM Michal Hocko <mhocko@suse.com> wrote:
> >
> > On Wed 31-08-22 11:19:48, Mel Gorman wrote:
> > > On Wed, Aug 31, 2022 at 04:42:30AM -0400, Kent Overstreet wrote:
> > > > On Wed, Aug 31, 2022 at 09:38:27AM +0200, Peter Zijlstra wrote:
> > > > > On Tue, Aug 30, 2022 at 02:48:49PM -0700, Suren Baghdasaryan wrote:
> > > > > > ===========================
> > > > > > Code tagging framework
> > > > > > ===========================
> > > > > > Code tag is a structure identifying a specific location in the source code
> > > > > > which is generated at compile time and can be embedded in an application-
> > > > > > specific structure. Several applications of code tagging are included in
> > > > > > this RFC, such as memory allocation tracking, dynamic fault injection,
> > > > > > latency tracking and improved error code reporting.
> > > > > > Basically, it takes the old trick of "define a special elf section for
> > > > > > objects of a given type so that we can iterate over them at runtime" and
> > > > > > creates a proper library for it.
> > > > >
> > > > > I might be super dense this morning, but what!? I've skimmed through the
> > > > > set and I don't think I get it.
> > > > >
> > > > > What does this provide that ftrace/kprobes don't already allow?
> > > >
> > > > You're kidding, right?
> > >
> > > It's a valid question. From the description, it main addition that would
> > > be hard to do with ftrace or probes is catching where an error code is
> > > returned. A secondary addition would be catching all historical state and
> > > not just state since the tracing started.
> > >
> > > It's also unclear *who* would enable this. It looks like it would mostly
> > > have value during the development stage of an embedded platform to track
> > > kernel memory usage on a per-application basis in an environment where it
> > > may be difficult to setup tracing and tracking. Would it ever be enabled
> > > in production? Would a distribution ever enable this? If it's enabled, any
> > > overhead cannot be disabled/enabled at run or boot time so anyone enabling
> > > this would carry the cost without never necessarily consuming the data.
>
> Thank you for the question.
> For memory tracking my intent is to have a mechanism that can be enabled in
> the field testing (pre-production testing on a large population of
> internal users).
> The issue that we are often facing is when some memory leaks are happening
> in the field but very hard to reproduce locally. We get a bugreport
> from the user
> which indicates it but often has not enough information to track it. Note that
> quite often these leaks/issues happen in the drivers, so even simply finding out
> where they came from is a big help.
> The way I envision this mechanism to be used is to enable the basic memory
> tracking in the field tests and have a user space process collecting
> the allocation
> statistics periodically (say once an hour). Once it detects some counter growing
> infinitely or atypically (the definition of this is left to the user
> space) it can enable
> context capturing only for that specific location, still keeping the
> overhead to the
> minimum but getting more information about potential issues. Collected stats and
> contexts are then attached to the bugreport and we get more visibility
> into the issue
> when we receive it.
> The goal is to provide a mechanism with low enough overhead that it
> can be enabled
> all the time during these field tests without affecting the device's
> performance profiles.
> Tracing is very cheap when it's disabled but having it enabled all the
> time would
> introduce higher overhead than the counter manipulations.
> My apologies, I should have clarified all this in this cover letter
> from the beginning.
>
> As for other applications, maybe I'm not such an advanced user of
> tracing but I think only
> the latency tracking application might be done with tracing, assuming
> we have all the
> right tracepoints but I don't see how we would use tracing for fault
> injections and
> descriptive error codes. Again, I might be mistaken.

Sorry about the formatting of my reply. Forgot to reconfigure the editor on
the new machine.

>
> Thanks,
> Suren.
>
> > >
> > > It might be an ease-of-use thing. Gathering the information from traces
> > > is tricky and would need combining multiple different elements and that
> > > is development effort but not impossible.
> > >
> > > Whatever asking for an explanation as to why equivalent functionality
> > > cannot not be created from ftrace/kprobe/eBPF/whatever is reasonable.
> >
> > Fully agreed and this is especially true for a change this size
> > 77 files changed, 3406 insertions(+), 703 deletions(-)
> >
> > --
> > Michal Hocko
> > SUSE Labs


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:58:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395940.635832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTR2v-0002WH-GC; Wed, 31 Aug 2022 16:58:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395940.635832; Wed, 31 Aug 2022 16:58:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTR2v-0002WA-DY; Wed, 31 Aug 2022 16:58:33 +0000
Received: by outflank-mailman (input) for mailman id 395940;
 Wed, 31 Aug 2022 16:58:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aVYg=ZD=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oTR2t-0002W4-RC
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 16:58:31 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 231f4c19-294e-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 18:58:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 8BDEE619C5;
 Wed, 31 Aug 2022 16:58:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 38422C433C1;
 Wed, 31 Aug 2022 16:58:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 231f4c19-294e-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661965108;
	bh=tZfN22S1Lxl3tbUEuVPncXdtkO44166H42D2+eKQcnY=;
	h=From:To:Cc:Subject:Date:From;
	b=coCKVdhzDhmWyMtp6GCC8uXi0gTkv5E/vTOeZiM83NFLAQa+E1QnzAT+QhgXmetVy
	 OJWP4w0q6QzVVjKMRm5HfiGX1pzNuHirw+IO3J0mdX24lEf1sHhKlUSDFk9WWsrBXQ
	 4chSataaa+BMfdqVjScabEPKjUSPmtpDB2yoHAScxWxi5wiwrkbtCIFTsIcq4T5eb5
	 KA94f2rc0NK2dQBLpglTL+I5UBgx+JYOZKMxFv6Aswg54pUtOuzx/TFKDEPdR9UvYL
	 dJGLeuxMsgpV2l7U06ZnikXYlLlWuRzkZkq5Y/mViKSxJaL5FHX3TLeb8oNay3vxXo
	 LrS7Hw7F1FAXw==
From: SeongJae Park <sj@kernel.org>
To: jgross@suse.com,
	roger.pau@citrix.com
Cc: SeongJae Park <sj@kernel.org>,
	marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	ptyadav@amazon.de,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v2 0/3] xen-blk{front,back}: Fix the broken semantic and flow of feature-persistent
Date: Wed, 31 Aug 2022 16:58:21 +0000
Message-Id: <20220831165824.94815-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Changes from v1
(https://lore.kernel.org/xen-devel/20220825161511.94922-1-sj@kernel.org/)
- Fix the wrong feature_persistent caching position of blkfront
- Set blkfront's feature_persistent field setting with simple '&&'
  instead of 'if' (Pratyush Yadav)

This patchset fixes misuse of the 'feature-persistent' advertisement
semantic (patches 1 and 2), and the wrong timing of the
'feature_persistent' value caching, which made persistent grants feature
always disabled.

SeongJae Park (3):
  xen-blkback: Advertise feature-persistent as user requested
  xen-blkfront: Advertise feature-persistent as user requested
  xen-blkfront: Cache feature_persistent value before advertisement

 drivers/block/xen-blkback/common.h |  3 +++
 drivers/block/xen-blkback/xenbus.c |  6 ++++--
 drivers/block/xen-blkfront.c       | 20 ++++++++++++--------
 3 files changed, 19 insertions(+), 10 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:58:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395941.635843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTR2z-0002mg-Q4; Wed, 31 Aug 2022 16:58:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395941.635843; Wed, 31 Aug 2022 16:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTR2z-0002mZ-LQ; Wed, 31 Aug 2022 16:58:37 +0000
Received: by outflank-mailman (input) for mailman id 395941;
 Wed, 31 Aug 2022 16:58:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aVYg=ZD=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oTR2x-0002W4-O6
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 16:58:35 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2678888c-294e-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 18:58:34 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 2713EB821AD;
 Wed, 31 Aug 2022 16:58:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 22B88C433C1;
 Wed, 31 Aug 2022 16:58:32 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2678888c-294e-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661965112;
	bh=2M6XIQVeSqrPrYytDvGmk8JSZnX1cUCppYJ4t0zteug=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=r+yj2nUL8cBvYHbhNGByKXHfolByjrFRe687uj1BUUB6mIbeXN2akLAiQRdvStbqP
	 NMb5qiC+ThAz7uY10jHDz33BEKstZU2iTWJpSn0pPMwG29otA0+v7b4oevDXX9xywt
	 daiS3FmM4D7SFz4ZS2QhL+z/hmZONNOucXCZH3i5gYjg1q8QBAYtaXJ65YwQKdQzb0
	 vUEOeCFozOnzBRrMkAQ5iuwNZdviUg+Q7J75Jt4uuZwxML8bP5XUh9fA3KShUEsq9Y
	 3L8j6pjOgw50j/r6rdnjpE4dC/uRqcRZVpRbxbOCphVbmdYWOEHGFNP8VkJoa9oNlQ
	 OeAJ+c6yTMvqA==
From: SeongJae Park <sj@kernel.org>
To: jgross@suse.com,
	roger.pau@citrix.com
Cc: SeongJae Park <sj@kernel.org>,
	marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	ptyadav@amazon.de,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: [PATCH v2 1/3] xen-blkback: Advertise feature-persistent as user requested
Date: Wed, 31 Aug 2022 16:58:22 +0000
Message-Id: <20220831165824.94815-2-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831165824.94815-1-sj@kernel.org>
References: <20220831165824.94815-1-sj@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The advertisement of the persistent grants feature (writing
'feature-persistent' to xenbus) should mean not the decision for using
the feature but only the availability of the feature.  However, commit
aac8a70db24b ("xen-blkback: add a parameter for disabling of persistent
grants") made a field of blkback, which was a place for saving only the
negotiation result, to be used for yet another purpose: caching of the
'feature_persistent' parameter value.  As a result, the advertisement,
which should follow only the parameter value, becomes inconsistent.

This commit fixes the misuse of the semantic by making blkback saves the
parameter value in a separate place and advertises the support based on
only the saved value.

Fixes: aac8a70db24b ("xen-blkback: add a parameter for disabling of persistent grants")
Cc: <stable@vger.kernel.org> # 5.10.x
Suggested-by: Juergen Gross <jgross@suse.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
---
 drivers/block/xen-blkback/common.h | 3 +++
 drivers/block/xen-blkback/xenbus.c | 6 ++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index bda5c815e441..a28473470e66 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -226,6 +226,9 @@ struct xen_vbd {
 	sector_t		size;
 	unsigned int		flush_support:1;
 	unsigned int		discard_secure:1;
+	/* Connect-time cached feature_persistent parameter value */
+	unsigned int		feature_gnt_persistent_parm:1;
+	/* Persistent grants feature negotiation result */
 	unsigned int		feature_gnt_persistent:1;
 	unsigned int		overflow_max_grants:1;
 };
diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index ee7ad2fb432d..c0227dfa4688 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -907,7 +907,7 @@ static void connect(struct backend_info *be)
 	xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support);
 
 	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
-			be->blkif->vbd.feature_gnt_persistent);
+			be->blkif->vbd.feature_gnt_persistent_parm);
 	if (err) {
 		xenbus_dev_fatal(dev, err, "writing %s/feature-persistent",
 				 dev->nodename);
@@ -1085,7 +1085,9 @@ static int connect_ring(struct backend_info *be)
 		return -ENOSYS;
 	}
 
-	blkif->vbd.feature_gnt_persistent = feature_persistent &&
+	blkif->vbd.feature_gnt_persistent_parm = feature_persistent;
+	blkif->vbd.feature_gnt_persistent =
+		blkif->vbd.feature_gnt_persistent_parm &&
 		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
 
 	blkif->vbd.overflow_max_grants = 0;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:58:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:58:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395942.635854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTR31-00032v-2M; Wed, 31 Aug 2022 16:58:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395942.635854; Wed, 31 Aug 2022 16:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTR30-00032m-TT; Wed, 31 Aug 2022 16:58:38 +0000
Received: by outflank-mailman (input) for mailman id 395942;
 Wed, 31 Aug 2022 16:58:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aVYg=ZD=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oTR2z-0002mU-Qt
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 16:58:37 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2781847d-294e-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 18:58:36 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 3C85DB8220A;
 Wed, 31 Aug 2022 16:58:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16ED3C433D6;
 Wed, 31 Aug 2022 16:58:34 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2781847d-294e-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661965114;
	bh=dAXL0+XNvWx5LNwHQHyifRYahh/pbyejlx7Mrbu9GZc=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Unrckl/0xd5p4L0eslkX+ocOVnSTxmyJWLFH/U+QruZmKX8gJdrduY6/CKskFoEWd
	 ISKZ9pHw2Q/FycQa5vEi4tVNKULPLkBLgmNwT1C2W/w8DAo8qh4Cy3auUpwCxehnB0
	 8LstTa/XU6ZZ0YxZbVsssX+To30Ks8YUt+o9BArCX6fGGv2Vvq65I2nUKzK116hIA+
	 MI27LA9tMdpy0d7c5dmH++0KKz2eefkDA0N57lPA4Vl5L5nGk1wsuhlV1WbZKvd3X3
	 fUptPXshdHkX8Fuoq+D9EglqVBVXgoAzpgDhaRHDEr+f2EjjxQZpAPWWYg3zQSbnjv
	 0/GI1hfVVorcQ==
From: SeongJae Park <sj@kernel.org>
To: jgross@suse.com,
	roger.pau@citrix.com
Cc: SeongJae Park <sj@kernel.org>,
	marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	ptyadav@amazon.de,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: [PATCH v2 2/3] xen-blkfront: Advertise feature-persistent as user requested
Date: Wed, 31 Aug 2022 16:58:23 +0000
Message-Id: <20220831165824.94815-3-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831165824.94815-1-sj@kernel.org>
References: <20220831165824.94815-1-sj@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The advertisement of the persistent grants feature (writing
'feature-persistent' to xenbus) should mean not the decision for using
the feature but only the availability of the feature.  However, commit
74a852479c68 ("xen-blkfront: add a parameter for disabling of persistent
grants") made a field of blkfront, which was a place for saving only the
negotiation result, to be used for yet another purpose: caching of the
'feature_persistent' parameter value.  As a result, the advertisement,
which should follow only the parameter value, becomes inconsistent.

This commit fixes the misuse of the semantic by making blkfront saves
the parameter value in a separate place and advertises the support based
on only the saved value.

Fixes: 74a852479c68 ("xen-blkfront: add a parameter for disabling of persistent grants")
Cc: <stable@vger.kernel.org> # 5.10.x
Suggested-by: Juergen Gross <jgross@suse.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
---
 drivers/block/xen-blkfront.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 8e56e69fb4c4..dfae08115450 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -213,6 +213,9 @@ struct blkfront_info
 	unsigned int feature_fua:1;
 	unsigned int feature_discard:1;
 	unsigned int feature_secdiscard:1;
+	/* Connect-time cached feature_persistent parameter */
+	unsigned int feature_persistent_parm:1;
+	/* Persistent grants feature negotiation result */
 	unsigned int feature_persistent:1;
 	unsigned int bounce:1;
 	unsigned int discard_granularity;
@@ -1848,7 +1851,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
 		goto abort_transaction;
 	}
 	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
-			info->feature_persistent);
+			info->feature_persistent_parm);
 	if (err)
 		dev_warn(&dev->dev,
 			 "writing persistent grants feature to xenbus");
@@ -2281,7 +2284,8 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
 	if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
 		blkfront_setup_discard(info);
 
-	if (feature_persistent)
+	info->feature_persistent_parm = feature_persistent;
+	if (info->feature_persistent_parm)
 		info->feature_persistent =
 			!!xenbus_read_unsigned(info->xbdev->otherend,
 					       "feature-persistent", 0);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 16:58:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 16:58:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395943.635865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTR32-0003KA-8v; Wed, 31 Aug 2022 16:58:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395943.635865; Wed, 31 Aug 2022 16:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTR32-0003K1-53; Wed, 31 Aug 2022 16:58:40 +0000
Received: by outflank-mailman (input) for mailman id 395943;
 Wed, 31 Aug 2022 16:58:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aVYg=ZD=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oTR30-0002W4-Ql
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 16:58:38 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27f29054-294e-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 18:58:38 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 10148B8220E;
 Wed, 31 Aug 2022 16:58:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0A36C433B5;
 Wed, 31 Aug 2022 16:58:35 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27f29054-294e-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661965116;
	bh=VwhcFoR15fxSac+d9djkuB0nYm46oJiHPCPL6ttzYrk=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=VJsN+GwLzB1o/aocdkfe9uukB4vLCbbUgu8WeVfHMhA7ledCcsrJzIw/RKG0Q8c0r
	 p2enaJwAn3AKNgdzMextUO/knmPPDWMEIdOz/47v1GGtj8mW67V8pSLsf4HCp11IpS
	 1koV2MmWi4Cmy1oJqviP21B9cN4J0f+zf60DlBP7loUnYI7JtJ6oiHtz23LW7wUMm9
	 1hTMReYwfvChFniNUnD1/0kNLo8g4KcO1aK1cwOKIA6I/mgWaIQufr0AcrX2YJEjOV
	 f7Khyyto6R2BwBEN7MtOok8iaHn25/XoLtpbA/73fpxcbjNwMpgJmlgDzX35+veJiW
	 9uBUVRlhFuAkg==
From: SeongJae Park <sj@kernel.org>
To: jgross@suse.com,
	roger.pau@citrix.com
Cc: SeongJae Park <sj@kernel.org>,
	marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	ptyadav@amazon.de,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: [PATCH v2 3/3] xen-blkfront: Cache feature_persistent value before advertisement
Date: Wed, 31 Aug 2022 16:58:24 +0000
Message-Id: <20220831165824.94815-4-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831165824.94815-1-sj@kernel.org>
References: <20220831165824.94815-1-sj@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Xen blkfront advertises its support of the persistent grants feature
when it first setting up and when resuming in 'talk_to_blkback()'.
Then, blkback reads the advertised value when it connects with blkfront
and decides if it will use the persistent grants feature or not, and
advertises its decision to blkfront.  Blkfront reads the blkback's
decision and it also makes the decision for the use of the feature.

Commit 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter
when connect"), however, made the blkfront's read of the parameter for
disabling the advertisement, namely 'feature_persistent', to be done
when it negotiate, not when advertise.  Therefore blkfront advertises
without reading the parameter.  As the field for caching the parameter
value is zero-initialized, it always advertises as the feature is
disabled, so that the persistent grants feature becomes always disabled.

This commit fixes the issue by making the blkfront does parmeter caching
just before the advertisement.

Fixes: 402c43ea6b34 ("xen-blkfront: Apply 'feature_persistent' parameter when connect")
Cc: <stable@vger.kernel.org> # 5.10.x
Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
---
 drivers/block/xen-blkfront.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index dfae08115450..35b9bcad9db9 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -1759,6 +1759,12 @@ static int write_per_ring_nodes(struct xenbus_transaction xbt,
 	return err;
 }
 
+/* Enable the persistent grants feature. */
+static bool feature_persistent = true;
+module_param(feature_persistent, bool, 0644);
+MODULE_PARM_DESC(feature_persistent,
+		"Enables the persistent grants feature");
+
 /* Common code used when first setting up, and when resuming. */
 static int talk_to_blkback(struct xenbus_device *dev,
 			   struct blkfront_info *info)
@@ -1850,6 +1856,7 @@ static int talk_to_blkback(struct xenbus_device *dev,
 		message = "writing protocol";
 		goto abort_transaction;
 	}
+	info->feature_persistent_parm = feature_persistent;
 	err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u",
 			info->feature_persistent_parm);
 	if (err)
@@ -1919,12 +1926,6 @@ static int negotiate_mq(struct blkfront_info *info)
 	return 0;
 }
 
-/* Enable the persistent grants feature. */
-static bool feature_persistent = true;
-module_param(feature_persistent, bool, 0644);
-MODULE_PARM_DESC(feature_persistent,
-		"Enables the persistent grants feature");
-
 /*
  * Entry point to this code when a new device is created.  Allocate the basic
  * structures and the ring buffer for communication with the backend, and
@@ -2284,7 +2285,6 @@ static void blkfront_gather_backend_features(struct blkfront_info *info)
 	if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0))
 		blkfront_setup_discard(info);
 
-	info->feature_persistent_parm = feature_persistent;
 	if (info->feature_persistent_parm)
 		info->feature_persistent =
 			!!xenbus_read_unsigned(info->xbdev->otherend,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 17:08:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 17:08:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395972.635880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTRCV-0005pz-84; Wed, 31 Aug 2022 17:08:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395972.635880; Wed, 31 Aug 2022 17:08:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTRCV-0005ps-5I; Wed, 31 Aug 2022 17:08:27 +0000
Received: by outflank-mailman (input) for mailman id 395972;
 Wed, 31 Aug 2022 17:08:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aVYg=ZD=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1oTRCU-0005pm-Au
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 17:08:26 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85f6f0f2-294f-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 19:08:25 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id F2114619BA;
 Wed, 31 Aug 2022 17:08:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9CE5BC433D6;
 Wed, 31 Aug 2022 17:08:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85f6f0f2-294f-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661965703;
	bh=UgczS3CJgouUMMsWYePVZ/hPuMBwGBtTIr3bjSAh0Ao=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=YWJyW3sh7T1cOTQqwZqkWiji5c1It00lZmPr0kflwtbxXUkkfAk0Nn8YLulEyUs8t
	 iWSD0pOPwEvreZ6d5mxLeBmjEuzTFEczMKbtP+g/r2wQx4f1oSLMNGiQokJ0l1dPRd
	 PzibDTtdduuGVrjdn4t8vyHqQ3qwLu/CgGy8SlNEKjupJSjRRAPAQp6XSYCUQ6Ez9s
	 yY3XZvFFNTpktOnv/RKrfupktmijgAJQnItX2geXMFMlNgo6rbFUNZQixWpqL6/F8J
	 57bkOX4qNkfrbMTdbQ0IxkhZdAinzhTWTZjay8rFMMnuXt3uMZlreXshNETmXqzNCV
	 bIawp3fAwmZtg==
From: SeongJae Park <sj@kernel.org>
To: SeongJae Park <sj@kernel.org>
Cc: jgross@suse.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	mheyne@amazon.de,
	xen-devel@lists.xenproject.org,
	axboe@kernel.dk,
	ptyadav@amazon.de,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/3] xen-blk{front,back}: Fix the broken semantic and flow of feature-persistent
Date: Wed, 31 Aug 2022 17:08:17 +0000
Message-Id: <20220831170817.94903-1-sj@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220831165824.94815-1-sj@kernel.org>
References: 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

On Wed, 31 Aug 2022 16:58:21 +0000 SeongJae Park <sj@kernel.org> wrote:

> Changes from v1
> (https://lore.kernel.org/xen-devel/20220825161511.94922-1-sj@kernel.org/)
> - Fix the wrong feature_persistent caching position of blkfront
> - Set blkfront's feature_persistent field setting with simple '&&'
>   instead of 'if' (Pratyush Yadav)
> 
> This patchset fixes misuse of the 'feature-persistent' advertisement
> semantic (patches 1 and 2), and the wrong timing of the
> 'feature_persistent' value caching, which made persistent grants feature
> always disabled.

Please note that I have some problem in my test setup and therefore was unable
to fully test this patchset.  I am posting this though, as the impact of the
bug is not trivial (always disabling persistent grants), and to make testing of
my proposed fix from others easier.  Hope to get someone's test results or code
review of this patchset even before I fix my test setup problem.

Juergen, I didn't add your 'Reviewed-by:'s to the first two patches of this
series because I changed some of the description for making it clear which bug
and commit it is really fixing.  Specifically, I wordsmithed the working and
changed 'Fixed:' tag.  Code change is almost same, though.


Thanks,
SJ

> 
> SeongJae Park (3):
>   xen-blkback: Advertise feature-persistent as user requested
>   xen-blkfront: Advertise feature-persistent as user requested
>   xen-blkfront: Cache feature_persistent value before advertisement
> 
>  drivers/block/xen-blkback/common.h |  3 +++
>  drivers/block/xen-blkback/xenbus.c |  6 ++++--
>  drivers/block/xen-blkfront.c       | 20 ++++++++++++--------
>  3 files changed, 19 insertions(+), 10 deletions(-)
> 
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 17:30:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 17:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395980.635890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTRXp-0000a8-1K; Wed, 31 Aug 2022 17:30:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395980.635890; Wed, 31 Aug 2022 17:30:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTRXo-0000a1-UZ; Wed, 31 Aug 2022 17:30:28 +0000
Received: by outflank-mailman (input) for mailman id 395980;
 Wed, 31 Aug 2022 17:30:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E34P=ZD=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1oTRXm-0000Zv-FU
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 17:30:27 +0000
Received: from out1.migadu.com (out1.migadu.com [91.121.223.63])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98989b7d-2952-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 19:30:24 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98989b7d-2952-11ed-82f2-63bd783d45fa
Date: Wed, 31 Aug 2022 13:30:10 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1661967023;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=akPUYJQ75fwIwMQFIb22LwWbtwnw5UTZVlPBgEDeTMs=;
	b=vE3CF/hYHXAE/K4932q4ajXNld0qKiFjAcWoi7fiBYp/VCovZl1Zx/Bw+pURhB6ZWUguOM
	yEECHfCMBhWuOS+8pPpB6WgHDKJe+QP39AFR9pm6A02T9tr9GTZUhFMtmSYMptto4Yr//a
	Edg/I2CSqagd7R1KnuqkPz3zjkZJkHU=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Dmitry Vyukov <dvyukov@google.com>
Cc: Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org,
	mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org,
	roman.gushchin@linux.dev, mgorman@suse.de, dave@stgolabs.net,
	willy@infradead.org, liam.howlett@oracle.com, void@manifault.com,
	peterz@infradead.org, juri.lelli@redhat.com, ldufour@linux.ibm.com,
	peterx@redhat.com, david@redhat.com, axboe@kernel.dk,
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org,
	changbin.du@intel.com, ytcoode@gmail.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com,
	vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
	elver@google.com, shakeelb@google.com, songmuchun@bytedance.com,
	arnd@arndb.de, jbaron@akamai.com, rientjes@google.com,
	minchan@google.com, kaleshsingh@google.com, kernel-team@android.com,
	linux-mm@kvack.org, iommu@lists.linux.dev,
	kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 22/30] Code tagging based fault injection
Message-ID: <20220831173010.wc5j3ycmfjx6ezfu@moria.home.lan>
References: <20220830214919.53220-1-surenb@google.com>
 <20220830214919.53220-23-surenb@google.com>
 <CACT4Y+ZX3U1=cAPXPhoOy6xrngSCfSmyFagXK-9fWtWWODfsew@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CACT4Y+ZX3U1=cAPXPhoOy6xrngSCfSmyFagXK-9fWtWWODfsew@mail.gmail.com>
X-Migadu-Flow: FLOW_OUT
X-Migadu-Auth-User: linux.dev

On Wed, Aug 31, 2022 at 12:37:14PM +0200, Dmitry Vyukov wrote:
> On Tue, 30 Aug 2022 at 23:50, Suren Baghdasaryan <surenb@google.com> wrote:
> >
> > From: Kent Overstreet <kent.overstreet@linux.dev>
> >
> > This adds a new fault injection capability, based on code tagging.
> >
> > To use, simply insert somewhere in your code
> >
> >   dynamic_fault("fault_class_name")
> >
> > and check whether it returns true - if so, inject the error.
> > For example
> >
> >   if (dynamic_fault("init"))
> >       return -EINVAL;
> 
> Hi Suren,
> 
> If this is going to be used by mainline kernel, it would be good to
> integrate this with fail_nth systematic fault injection:
> https://elixir.bootlin.com/linux/latest/source/lib/fault-inject.c#L109
> 
> Otherwise these dynamic sites won't be tested by testing systems doing
> systematic fault injection testing.

That's a discussion we need to have, yeah. We don't want two distinct fault
injection frameworks, we'll have to have a discussion as to whether this is (or
can be) better enough to make a switch worthwhile, and whether a compatibility
interface is needed - or maybe there's enough distinct interesting bits in both
to make merging plausible?

The debugfs interface for this fault injection code is necessarily different
from our existing fault injection - this gives you a fault injection point _per
callsite_, which is huge - e.g. for filesystem testing what I need is to be able
to enable fault injection points within a given module. I can do that easily
with this, not with our current fault injection.

I think the per-callsite fault injection points would also be pretty valuable
for CONFIG_FAULT_INJECTION_USERCOPY, too.

OTOH, existing kernel fault injection can filter based on task - this fault
injection framework doesn't have that. Easy enough to add, though. Similar for
the interval/probability/ratelimit stuff.

fail_function is the odd one out, I'm not sure how that would fit into this
model. Everything else I've seen I think fits into this model.

Also, it sounds like you're more familiar with our existing fault injection than
I am, so if I've misunderstood anything about what it can do please do correct
me.

Interestingly: I just discovered from reading the code that
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is a thing (hadn't before because it
depends on !X86_64 - what?). That's cool, though.


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 17:46:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 17:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395988.635902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTRnU-0002Ay-Ey; Wed, 31 Aug 2022 17:46:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395988.635902; Wed, 31 Aug 2022 17:46:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTRnU-0002Ar-As; Wed, 31 Aug 2022 17:46:40 +0000
Received: by outflank-mailman (input) for mailman id 395988;
 Wed, 31 Aug 2022 17:46:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E34P=ZD=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1oTRnT-0002Al-Hr
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 17:46:39 +0000
Received: from out2.migadu.com (out2.migadu.com [2001:41d0:2:aacc::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc9b3835-2954-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 19:46:37 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc9b3835-2954-11ed-82f2-63bd783d45fa
Date: Wed, 31 Aug 2022 13:46:29 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1661967996;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=cNGQu2INYppvwn/vrI+H9fLNjZAQ9LEc2ZMlyG9+b7I=;
	b=UvGgvRFFFCjI/MJ+R56HoYOSRVpisoRSFrlM+Tnr28bYpzjswOUst1RZvoLN2iOla1UOYk
	AhrqjPYHyPNC9OtSTSv8bCcogGpeWso0AVnHwUd3AWn+b9IVre9e619KvqRphXZ15fsktW
	AqO9MlFcMAgNkcSNSSA7HGEzQFUhYiE=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Mel Gorman <mgorman@suse.de>
Cc: Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org,
	mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org,
	roman.gushchin@linux.dev, dave@stgolabs.net, willy@infradead.org,
	liam.howlett@oracle.com, void@manifault.com, peterz@infradead.org,
	juri.lelli@redhat.com, ldufour@linux.ibm.com, peterx@redhat.com,
	david@redhat.com, axboe@kernel.dk, mcgrof@kernel.org,
	masahiroy@kernel.org, nathan@kernel.org, changbin.du@intel.com,
	ytcoode@gmail.com, vincent.guittot@linaro.org,
	dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com,
	bristot@redhat.com, vschneid@redhat.com, cl@linux.com,
	penberg@kernel.org, iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com,
	glider@google.com, elver@google.com, dvyukov@google.com,
	shakeelb@google.com, songmuchun@bytedance.com, arnd@arndb.de,
	jbaron@akamai.com, rientjes@google.com, minchan@google.com,
	kaleshsingh@google.com, kernel-team@android.com, linux-mm@kvack.org,
	iommu@lists.linux.dev, kasan-dev@googlegroups.com,
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
	linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 10/30] mm: enable page allocation tagging for
 __get_free_pages and alloc_pages
Message-ID: <20220831174629.zpa2pu6hpxmytqya@moria.home.lan>
References: <20220830214919.53220-1-surenb@google.com>
 <20220830214919.53220-11-surenb@google.com>
 <20220831101103.fj5hjgy3dbb44fit@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220831101103.fj5hjgy3dbb44fit@suse.de>
X-Migadu-Flow: FLOW_OUT
X-Migadu-Auth-User: linux.dev

On Wed, Aug 31, 2022 at 11:11:03AM +0100, Mel Gorman wrote:
> On Tue, Aug 30, 2022 at 02:48:59PM -0700, Suren Baghdasaryan wrote:
> > Redefine alloc_pages, __get_free_pages to record allocations done by
> > these functions. Instrument deallocation hooks to record object freeing.
> > 
> > Signed-off-by: Suren Baghdasaryan <surenb@google.com>
> > +#ifdef CONFIG_PAGE_ALLOC_TAGGING
> > +
> >  #include <linux/alloc_tag.h>
> >  #include <linux/page_ext.h>
> >  
> > @@ -25,4 +27,37 @@ static inline void pgalloc_tag_dec(struct page *page, unsigned int order)
> >  		alloc_tag_sub(get_page_tag_ref(page), PAGE_SIZE << order);
> >  }
> >  
> > +/*
> > + * Redefinitions of the common page allocators/destructors
> > + */
> > +#define pgtag_alloc_pages(gfp, order)					\
> > +({									\
> > +	struct page *_page = _alloc_pages((gfp), (order));		\
> > +									\
> > +	if (_page)							\
> > +		alloc_tag_add(get_page_tag_ref(_page), PAGE_SIZE << (order));\
> > +	_page;								\
> > +})
> > +
> 
> Instead of renaming alloc_pages, why is the tagging not done in
> __alloc_pages()? At least __alloc_pages_bulk() is also missed. The branch
> can be guarded with IS_ENABLED.

It can't be in a function, it has to be in a wrapper macro.

alloc_tag_add() is a macro that defines a static struct in a special elf
section. That struct holds the allocation counters, and putting it in a special
elf section is how the code to list it in debugfs finds it.

Look at the dynamic debug code for prior precedence for this trick in the kernel
- that's how it makes pr_debug() calls dynamically controllable at runtime, from
debugfs. We're taking that method and turning it into a proper library.

Because all the counters are statically allocated, without even a pointer deref
to get to them in the allocation path (one pointer deref to get to them in the
deallocate path), that makes this _much, much_ cheaper than anything that could
be done with tracing - cheap enough that I expect many users will want to enable
it in production.


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 18:52:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 18:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395994.635913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTSoU-0000aW-7f; Wed, 31 Aug 2022 18:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395994.635913; Wed, 31 Aug 2022 18:51:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTSoU-0000aP-4y; Wed, 31 Aug 2022 18:51:46 +0000
Received: by outflank-mailman (input) for mailman id 395994;
 Wed, 31 Aug 2022 18:51:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oTSoT-0000aJ-Fj
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 18:51:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTSoT-0004wc-62; Wed, 31 Aug 2022 18:51:45 +0000
Received: from home.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTSoS-0002jR-UP; Wed, 31 Aug 2022 18:51:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Uz5oTr7RInbkHDnOQ66TK97U5AKLqHr+GGcb7MrFNXQ=; b=mJw2FBPPsV7uKxKomBoRGssa/q
	iBwL8BEMURKZmB+NIJkUo4WtWRjg34dYvuZFDlh6DawGWrO6tWlMVx3nDbzjL8dgHJ5uQOMe5XH6i
	JuMeuvM9zWJjgGa835g6eecohB/HRoWt0olK6SXwSZKjSAUo4732lETqNXZHVb5bmW7U=;
Message-ID: <471d27b4-f067-4874-c1e2-893def8520db@xen.org>
Date: Wed, 31 Aug 2022 19:51:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
To: Penny Zheng <Penny.Zheng@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220816185954.31945-1-julien@xen.org>
 <DU2PR08MB7325F0A3D69B1CECC9896704F76A9@DU2PR08MB7325.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <DU2PR08MB7325F0A3D69B1CECC9896704F76A9@DU2PR08MB7325.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 17/08/2022 07:33, Penny Zheng wrote:
> Hi Julien

Hi Penny,

>> -----Original Message-----
>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
>> Julien Grall
>> Sent: Wednesday, August 17, 2022 3:00 AM
>> To: xen-devel@lists.xenproject.org
>> Cc: julien@xen.org; Julien Grall <jgrall@amazon.com>; Stefano Stabellini
>> <sstabellini@kernel.org>; Bertrand Marquis <Bertrand.Marquis@arm.com>;
>> Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>> Subject: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> __ro_after_init was introduced recently to prevent modifying some variables
>> after init.
>>
>> At the moment, on Arm, the variables will still be accessible because the
>> region permission is not updated.
>>
>> Address that, but moving the sections .data.ro_after_init out of .data and
>> then mark the region read-only once we finish to boot.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>
> 
> Reviewed-by: Penny Zheng <penny.zheng@arm.com>

Thanks!

> 
>> ---
>>
>> This patch is targeting Xen 4.17. There are quite a few arm specific variables
>> that could be switch to use __ro_after_init.
>>
>> This is not addressed by the commit. We could consider to switch some of
>> them for Xen 4.17. So the benefits for now is any common variables using
>> __ro_after_init.
>> ---
>>   xen/arch/arm/include/asm/setup.h |  2 ++
>>   xen/arch/arm/setup.c             | 14 ++++++++++++++
>>   xen/arch/arm/xen.lds.S           |  7 +++++++
>>   3 files changed, 23 insertions(+)
>>
>> diff --git a/xen/arch/arm/include/asm/setup.h
>> b/xen/arch/arm/include/asm/setup.h
>> index 2bb01ecfa88f..5815ccf8c5cc 100644
>> --- a/xen/arch/arm/include/asm/setup.h
>> +++ b/xen/arch/arm/include/asm/setup.h
>> @@ -137,6 +137,8 @@ u32 device_tree_get_u32(const void *fdt, int node,
>> int map_range_to_domain(const struct dt_device_node *dev,
>>                           u64 addr, u64 len, void *data);
>>
>> +extern const char __ro_after_init_start[], __ro_after_init_end[];
>> +
>>   #endif
>>   /*
>>    * Local variables:
>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index
>> 500307edc08d..5bde321b9d07 100644
>> --- a/xen/arch/arm/setup.c
>> +++ b/xen/arch/arm/setup.c
>> @@ -75,10 +75,24 @@ domid_t __read_mostly max_init_domid;
>>
>>   static __used void init_done(void)
>>   {
>> +    int rc;
>> +
>>       /* Must be done past setting system_state. */
>>       unregister_init_virtual_region();
>>
>>       free_init_memory();
>> +
>> +    /*
>> +     * We have finished to boot. Mark the section .data.ro_after_init
>> +     * read-only.
>> +     */
> 
> Nit: Maybe it is finish + doing, could be wrong, feel free to change or not~~

I will update.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 18:55:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 18:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.395998.635924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTSsI-0001CY-My; Wed, 31 Aug 2022 18:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 395998.635924; Wed, 31 Aug 2022 18:55:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTSsI-0001CR-KB; Wed, 31 Aug 2022 18:55:42 +0000
Received: by outflank-mailman (input) for mailman id 395998;
 Wed, 31 Aug 2022 18:55:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oTSsH-0001CL-AX
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 18:55:41 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTSsG-000515-Vs; Wed, 31 Aug 2022 18:55:40 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTSsG-00030w-Qa; Wed, 31 Aug 2022 18:55:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=cbai8iTrfQTLO72IReesYQ883d9+O1eadm3DCyCy2y0=; b=rKqBvbjrBkhunCMBWrVJ0KaSF2
	55xKjsVybV4A0+N5eJohAZHaZXbQsIxXFv/mvPNpiPIaBf95+KHhpUkjAPySRz4EBOsqLY0R39LeR
	OphmyCK9Y3x05LTA8p95f1wDqF7gOKEWmnpNNrKFgqDpcKgE5eoIdqmZagtxJI+sx+4A=;
Message-ID: <582962aa-67ac-90bd-0e79-a657a6f5b9e0@xen.org>
Date: Wed, 31 Aug 2022 19:55:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [PATCH for-4.17] xen/arm: Support properly __ro_after_init on Arm
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220816185954.31945-1-julien@xen.org>
 <AB48D74C-067E-43E1-9611-344CC8C1AB22@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AB48D74C-067E-43E1-9611-344CC8C1AB22@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 18/08/2022 15:06, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,

> 
>> On 16 Aug 2022, at 19:59, Julien Grall <julien@xen.org> wrote:
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> __ro_after_init was introduced recently to prevent modifying
>> some variables after init.
>>
>> At the moment, on Arm, the variables will still be accessible
>> because the region permission is not updated.
>>
>> Address that, but moving the sections .data.ro_after_init
> 
> Typo here s/but/by/ and remove ,

I updated it.

> 
>> out of .data and then mark the region read-only once we finish
>> to boot.
> 
> I would s/mark/map/
Ok.

> 
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Thanks!

> 
> (Commit message can be fixed on commit)


I have fixed the commit message, addressed the typo from Penny and 
committed the patch.

Cheers,




-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 19:02:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 19:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396005.635939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTSyW-0002hh-EM; Wed, 31 Aug 2022 19:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396005.635939; Wed, 31 Aug 2022 19:02:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTSyW-0002ha-AZ; Wed, 31 Aug 2022 19:02:08 +0000
Received: by outflank-mailman (input) for mailman id 396005;
 Wed, 31 Aug 2022 19:02:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E34P=ZD=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1oTSyU-0002hT-Hl
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 19:02:07 +0000
Received: from out2.migadu.com (out2.migadu.com [188.165.223.204])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 66f4ef3a-295f-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 21:02:04 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66f4ef3a-295f-11ed-934f-f50d60e1c1bd
Date: Wed, 31 Aug 2022 15:01:54 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1661972523;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=/S1Z12zwQROoKfTz1twMnESk8KqrSv9O32o/CoebBns=;
	b=sF/L6ogajTfppllZKwsY3yAp/F+VbzSHnCHZx0MwHJq3wLBzznsc7Lb2ZsCP4rEQgcNT28
	rLvWmn6gmqWCcSF6VIihZIZ70OK4+CXbASmvLSrwtHuf1uHUi1DngGVeWjfIGxIWF0Ihh2
	Si0kCu7ZLzOp8dHrcYN8kmqyIqxg/Wk=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>, Peter Zijlstra <peterz@infradead.org>,
	Suren Baghdasaryan <surenb@google.com>, akpm@linux-foundation.org,
	vbabka@suse.cz, hannes@cmpxchg.org, roman.gushchin@linux.dev,
	dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com,
	void@manifault.com, juri.lelli@redhat.com, ldufour@linux.ibm.com,
	peterx@redhat.com, david@redhat.com, axboe@kernel.dk,
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org,
	changbin.du@intel.com, ytcoode@gmail.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com,
	vschneid@redhat.com, cl@linux.com, penberg@kernel.org,
	iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com,
	elver@google.com, dvyukov@google.com, shakeelb@google.com,
	songmuchun@bytedance.com, arnd@arndb.de, jbaron@akamai.com,
	rientjes@google.com, minchan@google.com, kaleshsingh@google.com,
	kernel-team@android.com, linux-mm@kvack.org, iommu@lists.linux.dev,
	kasan-dev@googlegroups.com, io-uring@vger.kernel.org,
	linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
Message-ID: <20220831190154.qdlsxfamans3ya5j@moria.home.lan>
References: <20220830214919.53220-1-surenb@google.com>
 <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
 <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan>
 <20220831101948.f3etturccmp5ovkl@suse.de>
 <Yw88RFuBgc7yFYxA@dhcp22.suse.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Yw88RFuBgc7yFYxA@dhcp22.suse.cz>
X-Migadu-Flow: FLOW_OUT
X-Migadu-Auth-User: linux.dev

On Wed, Aug 31, 2022 at 12:47:32PM +0200, Michal Hocko wrote:
> On Wed 31-08-22 11:19:48, Mel Gorman wrote:
> > Whatever asking for an explanation as to why equivalent functionality
> > cannot not be created from ftrace/kprobe/eBPF/whatever is reasonable.
> 
> Fully agreed and this is especially true for a change this size
> 77 files changed, 3406 insertions(+), 703 deletions(-)

In the case of memory allocation accounting, you flat cannot do this with ftrace
- you could maybe do a janky version that isn't fully accurate, much slower,
more complicated for the developer to understand and debug and more complicated
for the end user.

But please, I invite anyone who's actually been doing this with ftrace to
demonstrate otherwise.

Ftrace just isn't the right tool for the job here - we're talking about adding
per callsite accounting to some of the fastest fast paths in the kernel.

And the size of the changes for memory allocation accounting are much more
reasonable:
 33 files changed, 623 insertions(+), 99 deletions(-)

The code tagging library should exist anyways, it's been open coded half a dozen
times in the kernel already.

And once we've got that, the time stats code is _also_ far simpler than doing it
with ftrace would be. If anyone here has successfully debugged latency issues
with ftrace, I'd really like to hear it. Again, for debugging latency issues you
want something that can always be on, and that's not cheap with ftrace - and
never mind the hassle of correlating start and end wait trace events, builting
up histograms, etc. - that's all handled here.

Cheap, simple, easy to use. What more could you want?


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 19:12:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 19:12:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396012.635950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTT8c-0004BC-Dy; Wed, 31 Aug 2022 19:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396012.635950; Wed, 31 Aug 2022 19:12:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTT8c-0004B5-AW; Wed, 31 Aug 2022 19:12:34 +0000
Received: by outflank-mailman (input) for mailman id 396012;
 Wed, 31 Aug 2022 19:12:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oTT8b-0004Az-HW
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 19:12:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTT8b-0005K1-4Z; Wed, 31 Aug 2022 19:12:33 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTT8a-0003z7-Uv; Wed, 31 Aug 2022 19:12:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=b0VV37p/m0/Xb6ug4BmezHXt+9vT8mTyUogv17NfPes=; b=JvkKdzDdjAFWhNqGy4p68NjiVT
	iHiI6doo6UV6l4F17nt5B59nlNwUHrxoVa1yY6YazY5/gBreTywrktmADAUcvdkTq7VjVqC/WkAm4
	RUQzbDxAV84ovxkZzdCBNsW2aV5Je46Hc9ISNqkcehdTQQTgATioBZhcwAnqfpf/vvns=;
Message-ID: <5bf088d6-6571-063d-6e33-dddb08309241@xen.org>
Date: Wed, 31 Aug 2022 20:12:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-9-julien@xen.org>
 <AS8PR08MB799170A0EF051DE12565D9D992689@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <15023215-6697-112b-2bc6-8ec7880a9704@xen.org>
 <AS8PR08MB79916319A3B57AE6D255A5C4926B9@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB79916319A3B57AE6D255A5C4926B9@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 16/08/2022 04:29, Henry Wang wrote:
> Hi Julien,

Hi Henry,

Sorry for the late reply.

> 
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: [PATCH 7/7] xen/arm32: traps: Dump more information for
>> hypervisor data abort
>> Hmmm... I dropped a patch from the series and it looks like I didn't
>> properly clean the directory before doing that. Please ignore patch #8.
> 
> Sure, I guess the patch that you dropped is this one?
> https://patchwork.kernel.org/project/xen-devel/patch/20220812192448.43016-8-julien@xen.org/

That's correct.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 19:17:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 19:17:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396018.635960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTTDW-0004pg-Vf; Wed, 31 Aug 2022 19:17:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396018.635960; Wed, 31 Aug 2022 19:17:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTTDW-0004pZ-Sx; Wed, 31 Aug 2022 19:17:38 +0000
Received: by outflank-mailman (input) for mailman id 396018;
 Wed, 31 Aug 2022 19:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1oTTDV-0004pT-H2
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 19:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTTDV-0005PS-9O; Wed, 31 Aug 2022 19:17:37 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTTDV-00046X-38; Wed, 31 Aug 2022 19:17:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FqeARjdiNwcgmIexWCKngf9wAsH08y978w0gryCe9NE=; b=o+Gesaz2lmL21Cb+QoL3wmwQOq
	n7B4F+LAIHV1CKTj6srrN3Sl034f4HAEsPKaLfmCNCu3VaYQU20SoGaAC4kIjFeMGTh90Y5i9+qe8
	pyjU0oyLCy7118xpOawmw8ZS0uwvdEZ6R8HlpFZXlMT+dLIbaHW1y52y09XAXML/J0E8=;
Message-ID: <0fdc3ff0-a524-0c2a-bc2f-618e3d6061f7@xen.org>
Date: Wed, 31 Aug 2022 20:17:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
Subject: Re: [PATCH 7/7] xen/arm32: traps: Dump more information for
 hypervisor data abort
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20220812192448.43016-1-julien@xen.org>
 <20220812192448.43016-9-julien@xen.org>
 <C817E0AC-5A5F-46AD-8D1C-A472F9C004CF@arm.com>
 <8d60c472-8ac0-bc45-4eef-6f14d2afa668@xen.org>
 <73D6802A-8557-42A7-94F2-9F696919283D@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <73D6802A-8557-42A7-94F2-9F696919283D@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 16/08/2022 08:28, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,


>> On 15 Aug 2022, at 18:04, Julien Grall <julien@xen.org> wrote:
>>
>>
>>
>> On 15/08/2022 17:39, Bertrand Marquis wrote:
>>> Hi Julien,
>>
>> Hi Bertrand,
>>
>>>> On 12 Aug 2022, at 20:24, Julien Grall <julien@xen.org> wrote:
>>>>
>>>> From: Julien Grall <jgrall@amazon.com>
>>>>
>>>> Unlike arm64, on arm32 there are no extra information dumped (e.g.
>>>> page table walk) for hypervisor data abort.
>>> The code in arch/arm/traps.c has nothing arm32 specific like that so
>>> could you explain this statement ?
>>> Here the arm32 code will call the generic function which has only
>>> something specific for BRK handling but the rest is generic.
>>
>> The statement is not related to the code but the console output. On arm64, a data abort will decode the HSR and provide a dump of the page-table walk.
>>
>> This doesn't happen on arm32 because Xen will call do_unexpected_trap(). So the only information we have is the HSR and FAR. This is not very helpful for debugging page-table walk.
>>
>> After this patch, the same information will be printed on arm32 and arm64.
> 
> Ok then this is what I understood. Your commit message is maybe a bit unclear.
> 
> I would add a sentence like that: Call do_trap_hyp_sync for hypervisor data aborts on arm32 to have the same information than on arm64.

Below the new commit message:

     Unlike arm64, on arm32 there are no extra information dumped (e.g.
     page table walk) for hypervisor data abort.

     For data abort, the HSR will be set properly and so call
     do_trap_hyp_sync() instead of do_unexpected_trap() on arm32 to have
     the print the same information as arm64.


> 
> This can be done on commit so feel free to add my:
> 
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Thanks! I have committed the series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 19:31:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 19:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396031.636000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTTQf-0007SN-F1; Wed, 31 Aug 2022 19:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396031.636000; Wed, 31 Aug 2022 19:31:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTTQf-0007SG-CG; Wed, 31 Aug 2022 19:31:13 +0000
Received: by outflank-mailman (input) for mailman id 396031;
 Wed, 31 Aug 2022 19:31:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=LF4z=ZD=xen.org=julien@srs-se1.protection.inumbo.net>)
 id 1oTTQd-0007SA-Og
 for xen-devel@lists.xen.org; Wed, 31 Aug 2022 19:31:11 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74faf950-2963-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 21:31:08 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTTQX-0005es-MD; Wed, 31 Aug 2022 19:31:05 +0000
Received: from home.octic.net ([81.187.162.82] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1oTTQX-0004eS-Fu; Wed, 31 Aug 2022 19:31:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74faf950-2963-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:To:MIME-Version:Date:Message-ID;
	bh=fReVIWnjRoKT/cVf+2eWC+hDyaag3+QAHMuxnL5+kug=; b=IhUtPn1Hgq3soLdtZxCk2u+9mO
	mNVqWXSPG2BDOsMRxpmB+POv9AcvqAdK+r59JYdOFGZvSTuF+VjWG89F0ywo/iBhpLV9pNxDQ+iDN
	lPSPu0AotDhyv8fTvl8My1EHU3HGmJa5Tx9Np6xs0zWqJOuQIe3ibI3AphS7F4Qcgttk=;
Message-ID: <516110eb-f2aa-f2f7-2f11-a1dbe47930c8@xen.org>
Date: Wed, 31 Aug 2022 20:31:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.12.0
To: Oleshii Wood <oleshiiwood@gmail.com>, xen-devel@lists.xen.org
References: <CA+SAi2s6ZfY87dR2noYkKiH_QwJMXKbj_6404Hmru-t==vSAhw@mail.gmail.com>
From: Julien Grall <julien@xen.org>
Subject: Re: Xen in ARM environment networking overload issue
In-Reply-To: <CA+SAi2s6ZfY87dR2noYkKiH_QwJMXKbj_6404Hmru-t==vSAhw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 30/08/2022 14:09, Oleshii Wood wrote:
> Hello guys,

Hello,

> 
> The same issue migh be found by link
> https://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=xen_add_phys_to_mach_entry&page=1 
> <https://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=xen_add_phys_to_mach_entry&page=1>

The link also contains a pointer to a patch which is...

> 
> DOM0/DOMU kernels version 5.15.19

... not included in 5.15.19 but is at least included in the latest
stable version for 5.15 (5.15.63).

Please update the latest v5.15.X and check if this issue is still present.

[...]

> It is produced unconditionally. In Â the above mentioned condition this 
> output
> degrades the performance drastically.

The error message is a sign something went horribly wrong. The right 
solution is to find the root cause rather than...

> I may offer a patch which decreases the amount of messages.

... decreasing the verbosity.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 20:01:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 20:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396040.636011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTTtm-0002PZ-RR; Wed, 31 Aug 2022 20:01:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396040.636011; Wed, 31 Aug 2022 20:01:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTTtm-0002PS-Oa; Wed, 31 Aug 2022 20:01:18 +0000
Received: by outflank-mailman (input) for mailman id 396040;
 Wed, 31 Aug 2022 20:01:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/7nv=ZD=gmail.com=oleshiiwood@srs-se1.protection.inumbo.net>)
 id 1oTTtk-0002PM-JE
 for xen-devel@lists.xen.org; Wed, 31 Aug 2022 20:01:16 +0000
Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com
 [2607:f8b0:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa95939c-2967-11ed-934f-f50d60e1c1bd;
 Wed, 31 Aug 2022 22:01:14 +0200 (CEST)
Received: by mail-pg1-x52a.google.com with SMTP id r22so14413476pgm.5
 for <xen-devel@lists.xen.org>; Wed, 31 Aug 2022 13:01:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa95939c-2967-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc;
        bh=I/PghFa2/oCFxr+GuvHmzJ4Q7i6SiPWFfs6IebmEayc=;
        b=jqq8Vev6PINozuRERkr8xKJdsTCz0t2P4cbo+3224UB8En7LSamBtnrxuP7cFmWwp2
         Xsf7ej5U4o18IW3UhnBNUP6wH/qx54bgwk7WmGKcPJ0jg/xadgd0Vm035JMRyPDjSWTG
         T3VKGXpIVZ+5iX+N+AVRuW+FZKIO09ZIrLHISw6G0jcG4e7Fj27YP0ZfrtGNzO5H8JIh
         IYW43GQBLga7pVTKXQDPccDHxoYK/7muQD5cMu6fsA/FWkCHa+z40uLjwWCvxfoG09j+
         DvswMilegg/RHVcdci2TwkEus+WZ1ePR4abPfzu25MEDZNW3ykpNAZdGweH8KgpXfbIc
         EiGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc;
        bh=I/PghFa2/oCFxr+GuvHmzJ4Q7i6SiPWFfs6IebmEayc=;
        b=CCAaiq3+JXQpGxvdPBSLRA3ANEjJiuVUn/SxyoywYHNx0smnaCszI1q/QHyjeYLiM0
         yLZjTEQ7mw9guYenqwu6zq7TbKPLUfE10CKIGQEEWno7GAqiM50JjpjCFWAIb4GWjoso
         0D1qI7l5Z/j5EZUOqIs7uNSgIlohyYKlf07US1gsr7yqwrU/L0qOeOyVYuioPtguqlB4
         2+EYkscIBo1gWYMnjgC5XBnp5r+bwl+F3kHJj/Zb9R/G0z7q+9fIAGamHnGni2V5afNo
         mcyeWIdwwJitAkx3UatXRzGHDferIrxS8zYTqdcKqXUiG2JoJfzRg9Yzr9JgJeiSeipo
         Pqjg==
X-Gm-Message-State: ACgBeo0gaSi/Rj7/ACPyXZeImSMKLsAA7npUo4qW8kyBIv6iOzgwPqIQ
	qY4wHbHf7Qh3+AERlBeIELcHdFrQ0OM5DfukwNLWfivKVTg=
X-Google-Smtp-Source: AA6agR4Sl1ykQfn+NaJFQxc4+gUc6hh89qR1J1nt/fi8MV/DX8QkeK2Mu7KavAd2Ul+/jdHyb+FrKy4Vog1QeVrSy+M=
X-Received: by 2002:a63:914c:0:b0:42b:a8fa:eb47 with SMTP id
 l73-20020a63914c000000b0042ba8faeb47mr17152714pge.267.1661976073059; Wed, 31
 Aug 2022 13:01:13 -0700 (PDT)
MIME-Version: 1.0
References: <CA+SAi2s6ZfY87dR2noYkKiH_QwJMXKbj_6404Hmru-t==vSAhw@mail.gmail.com>
 <516110eb-f2aa-f2f7-2f11-a1dbe47930c8@xen.org>
In-Reply-To: <516110eb-f2aa-f2f7-2f11-a1dbe47930c8@xen.org>
From: Oleshii Wood <oleshiiwood@gmail.com>
Date: Wed, 31 Aug 2022 23:01:01 +0300
Message-ID: <CA+SAi2uS6bCUiYnygSbjaCu_1WPd9RsRDLno6bvmKRBKXrEhZg@mail.gmail.com>
Subject: Re: Xen in ARM environment networking overload issue
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xen.org
Content-Type: multipart/alternative; boundary="00000000000075c16005e78ef5eb"

--00000000000075c16005e78ef5eb
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Julien,

I do not think this patch actually affects this behaviour.
But I will check.

Regards,
Oleg

=D1=81=D1=80, 31 =D0=B0=D0=B2=D0=B3. 2022 =D0=B3. =D0=B2 22:31, Julien Gral=
l <julien@xen.org>:

>
>
> On 30/08/2022 14:09, Oleshii Wood wrote:
> > Hello guys,
>
> Hello,
>
> >
> > The same issue migh be found by link
> >
> https://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=3Dxen_add_phys_to_mac=
h_entry&page=3D1
> > <
> https://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=3Dxen_add_phys_to_mac=
h_entry&page=3D1
> >
>
> The link also contains a pointer to a patch which is...
>
> >
> > DOM0/DOMU kernels version 5.15.19
>
> ... not included in 5.15.19 but is at least included in the latest
> stable version for 5.15 (5.15.63).
>
> Please update the latest v5.15.X and check if this issue is still present=
.
>
> [...]
>
> > It is produced unconditionally. In  the above mentioned condition this
> > output
> > degrades the performance drastically.
>
> The error message is a sign something went horribly wrong. The right
> solution is to find the root cause rather than...
>
> > I may offer a patch which decreases the amount of messages.
>
> ... decreasing the verbosity.
>
> Cheers,
>
> --
> Julien Grall
>

--00000000000075c16005e78ef5eb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi Julien,</div><div><br></div><div>I do not think th=
is patch actually affects this behaviour.</div><div>But I will check.</div>=
<div><br></div><div>Regards,</div><div>Oleg</div><div><br></div><div class=
=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">=D1=81=D1=80, 31 =D0=
=B0=D0=B2=D0=B3. 2022 =D0=B3. =D0=B2 22:31, Julien Grall &lt;<a href=3D"mai=
lto:julien@xen.org" target=3D"_blank">julien@xen.org</a>&gt;:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);paddi=
ng-left:1ex"><br>
<br>
On 30/08/2022 14:09, Oleshii Wood wrote:<br>
&gt; Hello guys,<br>
<br>
Hello,<br>
<br>
&gt; <br>
&gt; The same issue migh be found by link<br>
&gt; <a href=3D"https://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=3Dxen_a=
dd_phys_to_mach_entry&amp;page=3D1" rel=3D"noreferrer" target=3D"_blank">ht=
tps://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=3Dxen_add_phys_to_mach_en=
try&amp;page=3D1</a> <br>
&gt; &lt;<a href=3D"https://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=3Dx=
en_add_phys_to_mach_entry&amp;page=3D1" rel=3D"noreferrer" target=3D"_blank=
">https://xen.markmail.org/message/3w4oqeu5z7ryfbsb?q=3Dxen_add_phys_to_mac=
h_entry&amp;page=3D1</a>&gt;<br>
<br>
The link also contains a pointer to a patch which is...<br>
<br>
&gt; <br>
&gt; DOM0/DOMU kernels version 5.15.19<br>
<br>
... not included in 5.15.19 but is at least included in the latest<br>
stable version for 5.15 (5.15.63).<br>
<br>
Please update the latest v5.15.X and check if this issue is still present.<=
br>
<br>
[...]<br>
<br>
&gt; It is produced unconditionally. In =C2=A0the above mentioned condition=
 this <br>
&gt; output<br>
&gt; degrades the performance drastically.<br>
<br>
The error message is a sign something went horribly wrong. The right <br>
solution is to find the root cause rather than...<br>
<br>
&gt; I may offer a patch which decreases the amount of messages.<br>
<br>
... decreasing the verbosity.<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<br>
</blockquote></div></div>

--00000000000075c16005e78ef5eb--


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 20:07:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 20:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396046.636022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTU04-00033d-JL; Wed, 31 Aug 2022 20:07:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396046.636022; Wed, 31 Aug 2022 20:07:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTU04-00033W-G3; Wed, 31 Aug 2022 20:07:48 +0000
Received: by outflank-mailman (input) for mailman id 396046;
 Wed, 31 Aug 2022 20:07:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTU03-00033M-TP; Wed, 31 Aug 2022 20:07:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTU03-0006Jy-Rj; Wed, 31 Aug 2022 20:07:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTU03-0001Iy-G8; Wed, 31 Aug 2022 20:07:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTU03-00088S-FZ; Wed, 31 Aug 2022 20:07:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=g27J/5kyPMJrrrEmIUyCiBj2yeBaU532WgCA5JJseJU=; b=2rkF/3cKKlRVWr5HCGpX5yb5hF
	x9RLPMHcgxpKaPqL2PSQ+2YwnSUIYMU55P+FKHakwsRNKr4PxpEqkCTt3/9ES4cPOo4OYFWbBhRfO
	PKobo5hFOj3pw9AcxGj30XIXhZA0Ay2oSbfCS47j0G6VQYIEZPzEqguRcZJ+np/RPZxQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172896-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172896: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=31a94f7fba2a2c1244fc35b6f631e235e267715b
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 20:07:47 +0000

flight 172896 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172896/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 31a94f7fba2a2c1244fc35b6f631e235e267715b
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   27 days
Failing since        172151  2022-08-05 02:40:28 Z   26 days  214 attempts
Testing same since   172896  2022-08-31 17:13:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jiaxin Wu <jiaxin.wu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Wu, Jiaxin <jiaxin.wu@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1231 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 21:38:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 21:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396056.636033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTVPl-0003HY-5p; Wed, 31 Aug 2022 21:38:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396056.636033; Wed, 31 Aug 2022 21:38:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTVPl-0003HR-2g; Wed, 31 Aug 2022 21:38:25 +0000
Received: by outflank-mailman (input) for mailman id 396056;
 Wed, 31 Aug 2022 21:38:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q2E5=ZD=google.com=surenb@srs-se1.protection.inumbo.net>)
 id 1oTVPj-0003H5-DV
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 21:38:23 +0000
Received: from mail-yw1-x112b.google.com (mail-yw1-x112b.google.com
 [2607:f8b0:4864:20::112b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b66d74e-2975-11ed-82f2-63bd783d45fa;
 Wed, 31 Aug 2022 23:38:21 +0200 (CEST)
Received: by mail-yw1-x112b.google.com with SMTP id
 00721157ae682-3378303138bso319420917b3.9
 for <xen-devel@lists.xenproject.org>; Wed, 31 Aug 2022 14:38:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b66d74e-2975-11ed-82f2-63bd783d45fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date;
        bh=6E7G6kJMNs5Us6NEnCBcT2HO6AKiMVb4bH/0vpPA/4U=;
        b=kAtSEhj7BWkD6SMRdd1t39qS+hQKouRS4qaWZ/zCB6oGUrFNrc2cBDYGv9jQ+MdF0J
         uxQpVt2B9TyIrWXDxJ2lE/5kGqIlaGR3KL1ZUwaFBmwiXzmcYyLDuUovokIJ5gP+z9l0
         0yNTpmhlKudmxd6FSbYJNy7iPqg2dLLVGTx3y1J7sDru+O7/1p0gaM3HCn5KVfOBeHdH
         7y51BAxidLFb2zqNvKSOOe8d+T3vU43qoJCQXNWAECkcBOpBA8zLImxhZz3blz38Sv8b
         A0VOTCczeuCjB41nhG0Ij40swVSwGGlY/9vVEbUAh5KhCZEJca7FVQKBTYw0uiQMXn3I
         8fkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date;
        bh=6E7G6kJMNs5Us6NEnCBcT2HO6AKiMVb4bH/0vpPA/4U=;
        b=SjSD5UUXSeudoWp25IZmfx4bpwCRYnX+TPy2VmQ0oPrzujTezQI1CoUL/bYvH7SVVm
         MRWKCUiTtnsfwpcztwy6E87O7/ryzx9EnS+YarBexwq/4EysjoKNjlOt59xctfbZ6Bhd
         2PCeAJOoBsd0MJG20hAS5pmKh9sm6j4FL8L0mVYb8IcOKeigVk2IlaJCs2/kG/uGezx2
         WbPFnknimaU/74rTC3Ow+7CztNHIPirkbS12iuu7dLJU9mBJhxNIgLZWvw11TyQu2rz9
         OGR6CDCUepOIFK3L5rMgMA6/jWqFkXnQiL9fYdys4v568ulugsrz4B/U+ZVamXQwy64Q
         6jGw==
X-Gm-Message-State: ACgBeo35tQMd0lYS03Jt0fbRvVM/r8maZAhYXvFBrBuWQH4Jjl2EL6TU
	eMIAaxwpcOO1fGkCssTr4+QYyrya8S0ml+MGcMN1yg==
X-Google-Smtp-Source: AA6agR71/tBRa7ErmmsvPBq7WvGBz62OVsrJ1soclQl+ncNHwGSnn/9fM5Y5i7G0A989GWlS6M/O5IwMTPKxavhJCfc=
X-Received: by 2002:a81:85c3:0:b0:33d:a4d9:4599 with SMTP id
 v186-20020a8185c3000000b0033da4d94599mr19726685ywf.237.1661981899638; Wed, 31
 Aug 2022 14:38:19 -0700 (PDT)
MIME-Version: 1.0
References: <20220830214919.53220-1-surenb@google.com> <Yw8P8xZ4zqu121xL@hirez.programming.kicks-ass.net>
 <20220831084230.3ti3vitrzhzsu3fs@moria.home.lan> <20220831101948.f3etturccmp5ovkl@suse.de>
 <Yw88RFuBgc7yFYxA@dhcp22.suse.cz> <20220831190154.qdlsxfamans3ya5j@moria.home.lan>
 <CAJD7tkaev9B=UDYj2RL6pz-1454J8tv4gEr9y-2dnCksoLK0bw@mail.gmail.com>
In-Reply-To: <CAJD7tkaev9B=UDYj2RL6pz-1454J8tv4gEr9y-2dnCksoLK0bw@mail.gmail.com>
From: Suren Baghdasaryan <surenb@google.com>
Date: Wed, 31 Aug 2022 14:38:08 -0700
Message-ID: <CAJuCfpELZBoM8uG9prkra1sJ7tDiy_eF9TwetXSSN3XDssp8CQ@mail.gmail.com>
Subject: Re: [RFC PATCH 00/30] Code tagging framework and applications
To: Yosry Ahmed <yosryahmed@google.com>
Cc: Kent Overstreet <kent.overstreet@linux.dev>, Michal Hocko <mhocko@suse.com>, 
	Mel Gorman <mgorman@suse.de>, Peter Zijlstra <peterz@infradead.org>, 
	Andrew Morton <akpm@linux-foundation.org>, Vlastimil Babka <vbabka@suse.cz>, 
	Johannes Weiner <hannes@cmpxchg.org>, Roman Gushchin <roman.gushchin@linux.dev>, 
	Davidlohr Bueso <dave@stgolabs.net>, Matthew Wilcox <willy@infradead.org>, 
	"Liam R. Howlett" <liam.howlett@oracle.com>, David Vernet <void@manifault.com>, 
	Juri Lelli <juri.lelli@redhat.com>, Laurent Dufour <ldufour@linux.ibm.com>, 
	Peter Xu <peterx@redhat.com>, David Hildenbrand <david@redhat.com>, Jens Axboe <axboe@kernel.dk>, 
	mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, 
	changbin.du@intel.com, ytcoode@gmail.com, 
	Vincent Guittot <vincent.guittot@linaro.org>, Dietmar Eggemann <dietmar.eggemann@arm.com>, 
	Steven Rostedt <rostedt@goodmis.org>, Benjamin Segall <bsegall@google.com>, 
	Daniel Bristot de Oliveira <bristot@redhat.com>, Valentin Schneider <vschneid@redhat.com>, 
	Christoph Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, Joonsoo Kim <iamjoonsoo.kim@lge.com>, 
	42.hyeyoo@gmail.com, Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>, 
	dvyukov@google.com, Shakeel Butt <shakeelb@google.com>, 
	Muchun Song <songmuchun@bytedance.com>, arnd@arndb.de, jbaron@akamai.com, 
	David Rientjes <rientjes@google.com>, Minchan Kim <minchan@google.com>, 
	Kalesh Singh <kaleshsingh@google.com>, kernel-team <kernel-team@android.com>, 
	Linux-MM <linux-mm@kvack.org>, iommu@lists.linux.dev, kasan-dev@googlegroups.com, 
	io-uring@vger.kernel.org, linux-arch@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, 
	linux-modules@vger.kernel.org, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Aug 31, 2022 at 1:56 PM Yosry Ahmed <yosryahmed@google.com> wrote:
>
> On Wed, Aug 31, 2022 at 12:02 PM Kent Overstreet
> <kent.overstreet@linux.dev> wrote:
> >
> > On Wed, Aug 31, 2022 at 12:47:32PM +0200, Michal Hocko wrote:
> > > On Wed 31-08-22 11:19:48, Mel Gorman wrote:
> > > > Whatever asking for an explanation as to why equivalent functionality
> > > > cannot not be created from ftrace/kprobe/eBPF/whatever is reasonable.
> > >
> > > Fully agreed and this is especially true for a change this size
> > > 77 files changed, 3406 insertions(+), 703 deletions(-)
> >
> > In the case of memory allocation accounting, you flat cannot do this with ftrace
> > - you could maybe do a janky version that isn't fully accurate, much slower,
> > more complicated for the developer to understand and debug and more complicated
> > for the end user.
> >
> > But please, I invite anyone who's actually been doing this with ftrace to
> > demonstrate otherwise.
> >
> > Ftrace just isn't the right tool for the job here - we're talking about adding
> > per callsite accounting to some of the fastest fast paths in the kernel.
> >
> > And the size of the changes for memory allocation accounting are much more
> > reasonable:
> >  33 files changed, 623 insertions(+), 99 deletions(-)
> >
> > The code tagging library should exist anyways, it's been open coded half a dozen
> > times in the kernel already.
> >
> > And once we've got that, the time stats code is _also_ far simpler than doing it
> > with ftrace would be. If anyone here has successfully debugged latency issues
> > with ftrace, I'd really like to hear it. Again, for debugging latency issues you
> > want something that can always be on, and that's not cheap with ftrace - and
> > never mind the hassle of correlating start and end wait trace events, builting
> > up histograms, etc. - that's all handled here.
> >
> > Cheap, simple, easy to use. What more could you want?
> >
>
> This is very interesting work! Do you have any data about the overhead
> this introduces, especially in a production environment? I am
> especially interested in memory allocations tracking and detecting
> leaks.

I had the numbers for my previous implementation, before we started using the
lazy percpu counters but that would not apply to the new implementation. I'll
rerun the measurements and will post the exact numbers in a day or so.

> (Sorry if you already posted this kind of data somewhere that I missed)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 21:43:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 21:43:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396062.636044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTVUh-0004iE-Nz; Wed, 31 Aug 2022 21:43:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396062.636044; Wed, 31 Aug 2022 21:43:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTVUh-0004i7-LB; Wed, 31 Aug 2022 21:43:31 +0000
Received: by outflank-mailman (input) for mailman id 396062;
 Wed, 31 Aug 2022 21:43:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTVUg-0004hx-8c; Wed, 31 Aug 2022 21:43:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTVUg-0007sG-5A; Wed, 31 Aug 2022 21:43:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTVUf-00050n-Qr; Wed, 31 Aug 2022 21:43:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTVUf-00022a-QS; Wed, 31 Aug 2022 21:43:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7JcIebfKg+6D+QPm3U+Iu7KfFwnlbB7a6hv7YR1H97s=; b=t+mycN7oNJ25jbKEktlBUjRRr7
	OahCt8GfNJymFwuYgVuFVtJN3dUi0cG4texJilcbrOjJwuch8Hr5/f9lfSBDMAY6xkfz7lFbgRsqu
	IP3XFf9sdGylQLzPzoLyx8cvBPLMdZx7B+AHR/Y1nVPGd/SSrQibShOiXJ7M9TA1kJ1M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172897-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 172897: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:build-amd64-libvirt:libvirt-build:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ace403022358b736755e3042e949540e775c65f1
X-Osstest-Versions-That:
    xen=cbb35e72802f3a285c382a995ef647b59e5caf2f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 21:43:29 +0000

flight 172897 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172897/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 build-amd64-libvirt           6 libvirt-build                fail  like 172775
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ace403022358b736755e3042e949540e775c65f1
baseline version:
 xen                  cbb35e72802f3a285c382a995ef647b59e5caf2f

Last test of basis   172775  2022-08-25 15:01:50 Z    6 days
Testing same since   172897  2022-08-31 19:01:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   cbb35e7280..ace4030223  ace403022358b736755e3042e949540e775c65f1 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 22:12:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 22:12:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396071.636058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTVwt-0007y3-1E; Wed, 31 Aug 2022 22:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396071.636058; Wed, 31 Aug 2022 22:12:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTVws-0007xw-Ui; Wed, 31 Aug 2022 22:12:38 +0000
Received: by outflank-mailman (input) for mailman id 396071;
 Wed, 31 Aug 2022 22:12:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3hYa=ZD=protonmail.com=dylangerdaly@srs-se1.protection.inumbo.net>)
 id 1oTVwq-0007xq-HZ
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 22:12:36 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03ea9116-297a-11ed-934f-f50d60e1c1bd;
 Thu, 01 Sep 2022 00:12:35 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03ea9116-297a-11ed-934f-f50d60e1c1bd
Date: Wed, 31 Aug 2022 22:12:27 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1661983954; x=1662243154;
	bh=td9W+etK5b6KMLAwE5ndP/FeC9RNmsa1DM5XGo/PME4=;
	h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To:
	 References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To:
	 Feedback-ID:Message-ID;
	b=K9SBhsT5z4XYSC1y3gtjyk2eAqPX0CA9eBGtoh3qGBbp0u676v7WDzDElusA1yXg7
	 64LSBl7iRoAr2tizA8uAHQGW+VXBjqneB9lR56+GNOQ6xF1Tvy4n+8U5rCA8gvKOUR
	 VlxR5NtYCTJr6QzdKP3+MbbGgy/32RLN2rUdEvbHHkArxOv6DTzZzj+d19rUgofZRj
	 wodFF10kkiFqXoJ7W/3JeKlYmA/p0Aj+IEGouQTwcPOjQj3Vf6sp0b9/uPIFyLDgm5
	 NY6Y3cbbpqRPc4Vifv7hkqziKijY3lIBuw2bkwSKTIoTntAaO3pdoGliD9Vq0NK4k+
	 8NtKFH7RLgisQ==
To: jbeulich@suse.com
From: Dylanger Daly <dylangerdaly@protonmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew.Cooper3@citrix.com
Reply-To: Dylanger Daly <dylangerdaly@protonmail.com>
Subject: Re: Ryzen 6000 (Mobile)
Message-ID: <qTp5d-Cn3519Lu7CMaJJBDaSFsBq27wHEYa8IsNWzJKlsnzBZ04KU9yh6IgBGGvGeWn50kdQeKSPYoiQeg3ohs0C_wewbSNGUwQbR3HhGhw=@protonmail.com>
In-Reply-To: <941ccb01-adf6-d2ef-9a8a-ea8fdfe69ceb@suse.com>
References: <wMV4okoInWxTqAaH6sxUug6my9BOlkurOWuCUILGFxoYe96U_-Z-KPjDdacRmuIksOMX-chaAN0lnGj5XevfNJKw6fIVhsSIqBCxGHweK-Q=@protonmail.com> <ahcgeCqoQJKf6ZfqNjJzlj2HrfbP1WIHtoWUchYWvX-AYoV-eapQJzAPmjPXpOU_pfDsYjgXx3K0CzD9Z2eFHhbpBJpJBidXKBWIFSmDa14=@protonmail.com> <55eb8485-0c0d-51cd-c9b8-d517994ec6c6@suse.com> <QUNqwybRmGkA3A2mUhDhAo-9qWFOaa1hpbwQG_GhKmVTf70L7qcvpw7ekgAz1S9N1eWVhFChE8KTll9jxNrPF5r2-RC9O3ao2CXL3PHNBlc=@protonmail.com> <7807b9cf-a09e-a393-ee7a-dc220a68e56e@suse.com> <Zz_iE6KdPdkQ_TjUf-W2ODPIXo2WwXz0JxF5vgPjVuz8uWfJyto5S_nYRzSNrE0jC3r4ILhjkLH_PtW_fmIeTQIQtI6wTZxnUvOl0pr6ne4=@protonmail.com> <3b2ad2ca-3c6c-4dcb-c603-bd5440350f20@suse.com> <2dHPPtixTlkUXYEzNPFRI4ezKHSe1A2VaThMjBpd1aM3NFkZQuyRdfmNWCigm1oXfdKhOwDJGoPBBIMLYtYhQlENV2eFVZ0G9EMOMj5e6UE=@protonmail.com> <941ccb01-adf6-d2ef-9a8a-ea8fdfe69ceb@suse.com>
Feedback-ID: 21854323:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="b1_jaHWT83QAIf9Pk5HE2mZR4eX9Gu6CAiGEVcomoKCRM"

This is a multi-part message in MIME format.

--b1_jaHWT83QAIf9Pk5HE2mZR4eX9Gu6CAiGEVcomoKCRM
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLAoKSSB0aGluayBJJ3ZlIG5hcnJvd2VkIHRoZSBpc3N1ZSBkb3duIHRvIGEgUENJIGRl
dmljZSwgaWYgSSBzdGFydCAyIGxhcmdlIFZNLCB0aGVuIHNpbXBseSBydW4gbHNwY2kgaW4gZG9t
MCwgaXQnbGwgdHJpZ2dlciBhIGNyYXNoLgoKVGhpcyBtYWtlcyBzZW5zZSBhcyBzeXMtbmV0IHdv
cmtzIGZpbmUgdW50aWwgSSBzdGFydCBhIGxhcmdlciBWTSwgdGhlbiBJIHNlZSBhICdjaGlwIHJl
c2V0JyBlcnJvciBpbiB0aGUgYXBwVk0ncyBkbWVzZywgSSBhc3N1bWUgdGhlIGVudGlyZSBQQ0kg
QnVzIGdvZXMgaW50byBhIGJhZCBzdGF0ZS4KCkNoZWVycw==

--b1_jaHWT83QAIf9Pk5HE2mZR4eX9Gu6CAiGEVcomoKCRM
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

SGkgSmFuLDxicj48YnI+SSB0aGluayBJJ3ZlIG5hcnJvd2VkIHRoZSBpc3N1ZSBkb3duIHRvIGEg
UENJIGRldmljZSwgaWYgSSBzdGFydCAyIGxhcmdlIFZNLCB0aGVuIHNpbXBseSBydW4gbHNwY2kg
aW4gZG9tMCwgaXQnbGwgdHJpZ2dlciBhIGNyYXNoLjxicj48YnI+VGhpcyBtYWtlcyBzZW5zZSBh
cyBzeXMtbmV0IHdvcmtzIGZpbmUgdW50aWwgSSBzdGFydCBhIGxhcmdlciBWTSwgdGhlbiBJIHNl
ZSBhICdjaGlwIHJlc2V0JyBlcnJvciBpbiB0aGUgYXBwVk0ncyBkbWVzZywgSSBhc3N1bWUgdGhl
IGVudGlyZSBQQ0kgQnVzIGdvZXMgaW50byBhIGJhZCBzdGF0ZS48YnI+PGJyPkNoZWVycw==


--b1_jaHWT83QAIf9Pk5HE2mZR4eX9Gu6CAiGEVcomoKCRM--



From xen-devel-bounces@lists.xenproject.org Wed Aug 31 22:35:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 22:35:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396080.636070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWJ6-00020o-1Y; Wed, 31 Aug 2022 22:35:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396080.636070; Wed, 31 Aug 2022 22:35:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWJ5-00020h-Sy; Wed, 31 Aug 2022 22:35:35 +0000
Received: by outflank-mailman (input) for mailman id 396080;
 Wed, 31 Aug 2022 22:35:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M6oq=ZD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oTWJ4-00020a-BC
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 22:35:34 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38d891c5-297d-11ed-934f-f50d60e1c1bd;
 Thu, 01 Sep 2022 00:35:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 932EF61BD4;
 Wed, 31 Aug 2022 22:35:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 74484C433D6;
 Wed, 31 Aug 2022 22:35:30 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38d891c5-297d-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661985331;
	bh=DC1VEGygDCcJUfXuJEXvJIXN8QbELugtbZwVIq1aMyA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FqiTM34wFZakiXFoPjxxxOEG8N7qnpapxM1gaQ2rnbqKhFChmvkaEPYVJRcIj2hYv
	 duEhxrVEkDlrq5Cz0qUJLhJ0HCgMLOxcEPVVUF1GQ1L0NxI54j6xeDCNWCYjW4emp1
	 oe0dqqS200f0k+WkSh0dHmw8iIGARO3XqqMcwD3aRT3n1nsF8q003YrhjliXJWJV0R
	 Lvb5fiFNvL7sM5aWIhp311bb/J1egAcmRDXfDxX0w8yprtb+yGuP1ek+8x5C5kvNAm
	 rsyWeKa5LFNXboGkysktafLQVSncRUcvmaxAcMHcRGMqw+r4NsokRr+h+6U/ksqJoE
	 qGbo8YwfxfKPg==
Date: Wed, 31 Aug 2022 15:35:18 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH 0/7] Fix MISRA C 2012 Rule 20.7 violations
In-Reply-To: <20220819194359.1196539-1-burzalodowa@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2208311534070.2375071@ubuntu-linux-20-04-desktop>
References: <20220819194359.1196539-1-burzalodowa@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Patches 1, 4, and 6 are already committed. I plan to commit patches 2, 3
and 5 in the next couple of days.

Patch 7 needs further discussions and it is best addressed during the
next MISRA C sync-up.


On Fri, 19 Aug 2022, Xenia Ragiadakou wrote:
> Xenia Ragiadakou (7):
>   xen/arm: gic_v3_its: Fix MISRA C 2012 Rule 20.7 violations
>   xsm/flask: sidtab: Fix MISRA C 2012 Rule 20.7 violations
>   xen/elf: Fix MISRA C 2012 Rule 20.7 violations
>   xen/vgic: Fix MISRA C 2012 Rule 20.7 violation
>   xen/rbtree: Fix MISRA C 2012 Rule 20.7 violation
>   xen/arm: processor: Fix MISRA C 2012 Rule 20.7 violations
>   xen/device_tree: Fix MISRA C 2012 Rule 20.7 violations
> 
>  xen/arch/arm/include/asm/gic_v3_its.h | 10 +++++-----
>  xen/arch/arm/include/asm/new_vgic.h   |  2 +-
>  xen/arch/arm/include/asm/processor.h  |  4 ++--
>  xen/include/xen/device_tree.h         |  6 +++---
>  xen/include/xen/elfstructs.h          |  4 ++--
>  xen/lib/rbtree.c                      |  2 +-
>  xen/xsm/flask/ss/sidtab.c             |  8 ++++----
>  7 files changed, 18 insertions(+), 18 deletions(-)
> 
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 22:44:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 22:44:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396086.636080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWRZ-0003TG-R0; Wed, 31 Aug 2022 22:44:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396086.636080; Wed, 31 Aug 2022 22:44:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWRZ-0003T9-Nk; Wed, 31 Aug 2022 22:44:21 +0000
Received: by outflank-mailman (input) for mailman id 396086;
 Wed, 31 Aug 2022 22:44:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M6oq=ZD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oTWRX-0003T3-VX
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 22:44:20 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 727323d5-297e-11ed-934f-f50d60e1c1bd;
 Thu, 01 Sep 2022 00:44:18 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 64924B8238E;
 Wed, 31 Aug 2022 22:44:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50BF9C433D6;
 Wed, 31 Aug 2022 22:44:14 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 727323d5-297e-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661985856;
	bh=oOWR6PBCGaUJ3gutyx4GZND+6lsCmxj8W7Sy2vdPN3s=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dacaT7572PbNUS7/hnt8llnq9u2iaICBnl1WQcIxLallSdViWkYbnVc7ocgD88F0W
	 h2D4d3VYopvLWTTEWBlp7MeggK2R1yc6Zz4CIPLthF8HLTRrIU/y3IeljAqPeqosas
	 S3NUPRx5rjOXgThVSf23m3rZsGszo3CuQydI1e+c39xAL1AOeLb8fmPPT3cqIPQjWe
	 oXRd6GFfg0hb/7vGrW5NKTGtvcNrwYNYegFD/DeTfjmhi07H6IRZ3aV6eUcBu//Oyk
	 L7ucOg7pUXSpXxbjoGfV6bE9wknlQbMtWCFzA3LcYie29p6eDmJN9T27zuvhev574t
	 Olvz+1CqS/Ngw==
Date: Wed, 31 Aug 2022 15:44:13 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@arm.com>
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v11 0/6] populate/unpopulate memory when domain on static
 allocation
In-Reply-To: <20220831024041.468757-1-Penny.Zheng@arm.com>
Message-ID: <alpine.DEB.2.22.394.2208311542310.2375071@ubuntu-linux-20-04-desktop>
References: <20220831024041.468757-1-Penny.Zheng@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

I looked at the series and patches 1-5 are ready to be committed.

Patch 6 needs an Ack, preferably from Jan as Jan had questions on this
patch in v9.

I plan to commit patches 1-5 in the next couple of days (and ideally
patch 6 too if an Ack comes from Jan).

Cheers,

Stefano


On Wed, 31 Aug 2022, Penny Zheng wrote:
> Today when a domain unpopulates the memory on runtime, they will always
> hand the memory over to the heap allocator. And it will be a problem if it
> is a static domain.
> Pages used as guest RAM for static domain shall always be reserved to this
> domain only, and not be used for any other purposes, so they shall never go
> back to heap allocator.
> 
> This patch serie intends to fix this issue, by adding pages on the new list
> resv_page_list after having taken them off the "normal" list, when unpopulating
> memory, and retrieving pages from resv page list(resv_page_list) when
> populating memory.
> 
> ---
> v11 changes:
> - printing message ahead of the assertion, which should also be
> XENLOG_G_* kind of log level
> - commit message tweak
> - move "xen: rename free_staticmem_pages to unprepare_staticmem_pages" ahead
> of "xen: retrieve reserved pages on populate_physmap"
> - with assignment having failed and the page not exposed to the guest at any
> point, there is no need for scrubbing
> ---
> v10 changes:
> - let Arm keep #define PGC_static 0 private, with the generic fallback
> remaining in page_alloc.c
> - change ASSERT(d) to ASSERT_UNREACHABLE() to be more robust looking
> forward, and also add a printk() to log the problem
> - mention the the removal of #ifdef CONFIG_STATIC_MEMORY in commit
> message
> - commit message typo fix
> - Do not skip the list addition in that one special case
> - add lock on the fail path
> - new commit "xen: rename free_staticmem_pages to unprepare_staticmem_pages"
> ---
> v9 changes:
> - move free_domheap_page into else-condition
> - considering scrubbing static pages, domain dying case and opt_scrub_domheap
> both do not apply to static pages.
> - as unowned static pages don't make themselves to free_domstatic_page
> at the moment, remove else-condition and add ASSERT(d) at the top of the
> function
> - remove macro helper put_static_page, and just expand its code inside
> free_domstatic_page
> - Use ASSERT_ALLOC_CONTEXT() in acquire_reserved_page
> - Add free_staticmem_pages to undo prepare_staticmem_pages when
> assign_domstatic_pages fails
> - Remove redundant static in error message
> ---
> v8 changes:
> - introduce new helper free_domstatic_page
> - let put_page call free_domstatic_page for static page, when last ref
> drops
> - #define PGC_static zero when !CONFIG_STATIC_MEMORY, as it is used
> outside page_alloc.c
> - #ifdef-ary around is_domain_using_staticmem() is not needed anymore
> - order as a parameter is not needed here, as all staticmem operations are
> limited to order-0 regions
> - move d->page_alloc_lock after operation on d->resv_page_list
> - As concurrent free/allocate could modify the resv_page_list, we still
> need the lock
> ---
> v7 changes:
> - protect free_staticmem_pages with heap_lock to match its reverse function
> acquire_staticmem_pages
> - IS_ENABLED(CONFIG_STATIC_MEMORY) would not be needed anymore
> - add page on the rsv_page_list *after* it has been freed
> - remove the lock, since we add the page to rsv_page_list after it has
> been totally freed.
> ---
> v6 changes:
> - rename PGC_staticmem to PGC_static
> - remove #ifdef aroud function declaration
> - use domain instead of sub-systems
> - move non-zero is_domain_using_staticmem() from ARM header to common
> header
> - move PGC_static !CONFIG_STATIC_MEMORY definition to common header
> - drop the lock before returning
> ---
> v5 changes:
> - introduce three new commits
> - In order to avoid stub functions, we #define PGC_staticmem to non-zero only
> when CONFIG_STATIC_MEMORY
> - use "unlikely()" around pg->count_info & PGC_staticmem
> - remove pointless "if", since mark_page_free() is going to set count_info
> to PGC_state_free and by consequence clear PGC_staticmem
> - move #define PGC_staticmem 0 to mm.h
> - guard "is_domain_using_staticmem" under CONFIG_STATIC_MEMORY
> - #define is_domain_using_staticmem zero if undefined
> - extract common codes for assigning pages into a helper assign_domstatic_pages
> - refine commit message
> - remove stub function acquire_reserved_page
> - Alloc/free of memory can happen concurrently. So access to rsv_page_list
> needs to be protected with a spinlock
> ---
> v4 changes:
> - commit message refinement
> - miss dropping __init in acquire_domstatic_pages
> - add the page back to the reserved list in case of error
> - remove redundant printk
> - refine log message and make it warn level
> - guard "is_domain_using_staticmem" under CONFIG_STATIC_MEMORY
> - #define is_domain_using_staticmem zero if undefined
> ---
> v3 changes:
> - fix possible racy issue in free_staticmem_pages()
> - introduce a stub free_staticmem_pages() for the !CONFIG_STATIC_MEMORY case
> - move the change to free_heap_pages() to cover other potential call sites
> - change fixed width type uint32_t to unsigned int
> - change "flags" to a more descriptive name "cdf"
> - change name from "is_domain_static()" to "is_domain_using_staticmem"
> - have page_list_del() just once out of the if()
> - remove resv_pages counter
> - make arch_free_heap_page be an expression, not a compound statement.
> - move #ifndef is_domain_using_staticmem to the common header file
> - remove #ifdef CONFIG_STATIC_MEMORY-ary
> - remove meaningless page_to_mfn(page) in error log
> ---
> v2 changes:
> - let "flags" live in the struct domain. So other arch can take
> advantage of it in the future
> - change name from "is_domain_on_static_allocation" to "is_domain_static()"
> - put reserved pages on resv_page_list after having taken them off
> the "normal" list
> - introduce acquire_reserved_page to retrieve reserved pages from
> resv_page_list
> - forbid non-zero-order requests in populate_physmap
> - let is_domain_static return ((void)(d), false) on x86
> - fix coding style
> Penny Zheng (6):
>   xen: do not free reserved memory into heap
>   xen/arm: introduce CDF_staticmem
>   xen: unpopulate memory when domain is static
>   xen: introduce prepare_staticmem_pages
>   xen: rename free_staticmem_pages to unprepare_staticmem_pages
>   xen: retrieve reserved pages on populate_physmap
> 
>  xen/arch/arm/domain_build.c   |   5 +-
>  xen/arch/arm/include/asm/mm.h |   6 +-
>  xen/arch/arm/mm.c             |   5 +-
>  xen/arch/arm/setup.c          |   3 +-
>  xen/common/domain.c           |   4 +
>  xen/common/memory.c           |  23 +++++
>  xen/common/page_alloc.c       | 171 ++++++++++++++++++++++++++--------
>  xen/include/xen/domain.h      |   8 ++
>  xen/include/xen/mm.h          |   8 +-
>  xen/include/xen/sched.h       |   3 +
>  10 files changed, 189 insertions(+), 47 deletions(-)
> 
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 22:53:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 22:53:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396092.636091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWa4-0004xE-Ll; Wed, 31 Aug 2022 22:53:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396092.636091; Wed, 31 Aug 2022 22:53:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWa4-0004x7-IQ; Wed, 31 Aug 2022 22:53:08 +0000
Received: by outflank-mailman (input) for mailman id 396092;
 Wed, 31 Aug 2022 22:53:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=e54F=ZD=citrix.com=prvs=235479cbe=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1oTWa3-0004ww-53
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 22:53:07 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aaf7c803-297f-11ed-934f-f50d60e1c1bd;
 Thu, 01 Sep 2022 00:53:04 +0200 (CEST)
Received: from mail-bn8nam04lp2045.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Aug 2022 18:52:53 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6219.namprd03.prod.outlook.com (2603:10b6:510:e8::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug
 2022 22:52:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::b9c9:c866:817c:60dd%4]) with mapi id 15.20.5566.021; Wed, 31 Aug 2022
 22:52:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aaf7c803-297f-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1661986384;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=JQqsuMjZhwqDgWVYWRMGbYVoLBBYOvMKs/5jE/XY9lc=;
  b=S3WVQaP5zYypCYFk17O6tcYvUIvjtg6sItl+uk+5NML61DgmODJS679E
   6ew7RI1llx8gb4nmseeg3f72wVtT2KR/qcbfEvPe7+i8LW1gYZ8LXtKlt
   4hYdXiA9LMyujxmAlIOhLDcdnj6TlpBIG1/af7x+ce/FglsVPtNeB6fxd
   E=;
X-IronPort-RemoteIP: 104.47.74.45
X-IronPort-MID: 79225144
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:GThV5KNNT2SdzXPvrR1rlsFynXyQoLVcMsEvi/4bfWQNrUpw3mYHz
 WFKDGDSaKqOa2f1eNkiO9m2oUkCuZaAxtBrTAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg
 vuv5ZyEULOZ82QsaDhMu/na8EgHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL
 woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo
 DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFP93M9UF2gkI7czxelWGEFyq
 qUXcSwSO0Xra+KemNpXS8FKr+F7cIzBGtNavXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY
 80eanxkaxGojx9nYw9LTs5h2rj0wCWiG9FbgAv9Sa4fym7f1gFulpPqN8LYYIeiTsRJhEeI4
 GnB+gwVBzlFZYbFlGPZrhpAgMf0gw3EeKFOV4G6ydVE2UTL6H1PGCcJAA7TTf6RzxTWt8hkA
 04b4C01toAp6VemCNL6WnWQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3Oc6SzUl2
 V6Om9LBHiF0vfueTnf13q2JrD2/PydTImYFTS4CUQYBpdLkpekbjBjCU9JiG66dlcDuFHf7x
 DXikcQlr7AajMpO3aPr+1nC226ovsKRElNz4RjLVGW46A8/fJSie4Gj9Vnc67BHMZqdSV6C+
 nMDnqBy8dwzMH1ErwTVKM1lIV1jz6/t3OH06bK3I6Qcyg==
IronPort-HdrOrdr: A9a23:eKyVu6ujrfCp9dxO3W2HfUOV7skC1YMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6H6BEGBKUmslqKceeEqTPqftXrdyRGVxeZZnMffKlzbamfDH4tmuZ
 uIHJIOb+EYYWIasS++2njBLz9C+qjJzEnLv5a5854Fd2gDBM9dBkVCe3+m+yZNNWt77O8CZf
 6hD7181l+dkBosDviTNz0gZazuttfLnJXpbVotHBg88jSDijuu9frTDwWY9g12aUIP/Z4StU
 z+1yDp7KSqtP+2jjXG0XXI0phQkNz9jvNeGc23jNQPIDmEsHfpWG0hYczAgNkGmpDr1L8Yqq
 iJn/7mBbU115rlRBD2nfIq4Xin7N9h0Q669bbSuwqfnSWwfkNHNyMGv/MWTvKR0TtfgDk3up
 g7oF6xpt5ZCwjNkz/64MWNXxZ2llCsqX5niuILiWdDOLFuIYO5gLZvi3+9Kq1wah7S+cQiCq
 1jHcvc7PFZfReTaG3YpHBmxJipUm4oFhmLT0AesojNugIm10xR3g8d3ogSj30A/JUyR91N4P
 nFKL1hkPVLQtUNZaxwCe8dSY+8C3DLQxjLLGWOSG6XXJ0vKjbIsdr68b817OaldNgBy4Yzgo
 3IVBdCuWs7ayvVeLmzNV1wg2XwqUmGLETQI5tllulEU5XHNcnWGDzGTkwymM29pPhaCtHHWp
 +ISeBrP8M=
X-IronPort-AV: E=Sophos;i="5.93,279,1654574400"; 
   d="scan'208";a="79225144"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MV3YwPimNdAP4lli33a8Xv+812MZQ4cAfXYlTkt1RNAAgFBxRDPAIzwDc91m766ESNzZJ60FELaLw8jEbJJJUtV/rrLIJGA9INM76/gm3uh5Z/SQLR0/xD8i8sBb34+Tk8DSjrrQ2rCiVCSrPHXaoyCLgjlKh9TBH8+G8+UTSqgWFVdRNJGfolZSbelrzFwA+ekwesqeVx6RWgluxJQrQTjvycaw8bvhj7SuaH8YO7dXPLYJYFLw+TVcyHZeBUhVNFv3FokVBIrFwnAmUihySwgtCoTjYwhw8gNeaaVA+WKdxm3spCAjZBvuDOu9xycCYb0ZNNURrS2NgpzjfNNOiQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JQqsuMjZhwqDgWVYWRMGbYVoLBBYOvMKs/5jE/XY9lc=;
 b=kYEjyOHWO0lxINPTQp8LwBRjeDROcWkKs/mXChy7LCNtNlXBVXXijXXPDHF+c3KfeUhVnfPo+lN9EjEcSx5SsU+XWGHMUO+iVmUDPF/ZUVA2v1julg3oDqYe2YDJ3zIJihfMLj+9770Rc6nUmzEBHuDvTi7DZAZrrMiFdwTEZhvpy6mpeavZla4vkoixdbyahK6kBntDJkV1a6Bk6jqHTLHUExrZZzqKZAiJb9v/2hr10hiA7AOp87V223jeFSwZC7yejP/wEitH0vHY0iATeGpW/z4KatRo6p+DLA2EWH/AOT1dprQ/PbOypqRfFcyCf6TnAWqOzbnxoG4Fgw0VLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JQqsuMjZhwqDgWVYWRMGbYVoLBBYOvMKs/5jE/XY9lc=;
 b=FePr4pNyphbFlgFP4LYJ7p0PV9J3m6z5cw9OAGVqhQNHsnpW2+YfBshk0XPEFkOf3FnmKpUMimD+jZYa8bDTz35MAaQB9S73G98loUlHWGbJldDr6AFhBveajejH8kxoqoe3V61lAe3X5+f1ZSPCx7/bl5z6uCyF1Zy/u6vfi4U=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Juergen Gross <jgross@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Dario Faggioli
	<dfaggioli@suse.com>, Gao Ruifeng <ruifeng.gao@intel.com>, Jan Beulich
	<jbeulich@suse.com>
Subject: Re: [PATCH v3 3/3] xen/sched: fix cpu hotplug
Thread-Topic: [PATCH v3 3/3] xen/sched: fix cpu hotplug
Thread-Index: AQHYsVjUGULgew6mPUO+TQcIZn3wJK3JthgA
Date: Wed, 31 Aug 2022 22:52:50 +0000
Message-ID: <096ed545-f268-ba45-6333-ed51d20fc99c@citrix.com>
References: <20220816101317.23014-1-jgross@suse.com>
 <20220816101317.23014-4-jgross@suse.com>
In-Reply-To: <20220816101317.23014-4-jgross@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8ffcd0a9-9fce-4803-49be-08da8ba3882d
x-ms-traffictypediagnostic: PH0PR03MB6219:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 iULk4WMhUlYp5jnUY6n9ljNKRRsU+E5jUb/gu949tZNOTM7ztoBuPxlky1gst/b9Dw1KSvjAFYRvX7OYDjthaSmceZwDBtRhqMvOIsHqN/lozGU/qeIIG5mXR6PmfTL7CbATBOEEJnrMJwCQz8/+KRVeFNdwI/xU4Zw163Udx2jGL465WBRvDjTeenK9df9plZlAMiU+FT1bvToc6Sx7012yczNXb3guFSgZ/xhu7zmjmlCD4n1TVow7WiyLW2SkKIa4QfuGIx1ZUvUM+Q3Z+b/PP8EWJacMz9+nZJuZhASq4QvvAKLM1tOtzDTTMzxmzw7TRSzXFERVv4jLNQAkp1Sp6eDJiSRDBq4fMfWvhFmmAjgljcjfATQSmxJjEqt75Po+/VOAKaba+1YEpnfcoJLzlUlTw4LBufBf3C2WedFlDBEoT/U9y913H+HrGXNurx/+29U2rA2G6m0JQNzWFeL9x+PQqVATcPdcE+eUZ5MeitKcC/6DIZHIH4nDREtOrYcJrKFDcddiOAKXhhG77WeQnWWu9gjBGheCb/qfl5wwyvVvalcjubDJI63g+MJoRWx4YwztA7h63GkMVmnlUTxoWs6zp3KfQ+/DYboH35oBZrPOAT/2BDsNIS0gEC7KeatKPYcQ9kpTIyVBF51Ab66APg0hNdxNhcf4maTIAr8/ADEMF4d6xVSdNceK6aU4eoHi7+SfQdFZHazt4L1FQpyabgIESxquyHgOg/CjTd//Q0P8IVfLRPSEbRPUH0vXscw2Kuiy2jASzfN4hBR0hyk0MEsDd6OJZpUe8r+H2hEBCEsrOEihCDCSwg1CqZmDG8/I6sthCyyT2/9GaixHnw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(396003)(346002)(366004)(376002)(2906002)(26005)(6512007)(38070700005)(53546011)(6506007)(8936002)(82960400001)(31686004)(36756003)(41300700001)(5660300002)(83380400001)(54906003)(71200400001)(110136005)(38100700002)(4326008)(8676002)(64756008)(66446008)(478600001)(66556008)(66476007)(316002)(122000001)(186003)(91956017)(2616005)(6486002)(76116006)(66946007)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Y216Unh2aFA3Z0ZsTCtOczlxV0htWHdka2p0Z1IrMlE3SUNvYUZBUXg1eCtZ?=
 =?utf-8?B?QXR5WExkSmptdnJMN2x6RGhhQ01oZnF6eEEvWUhaYlVmMnVFczZVemdGeHhJ?=
 =?utf-8?B?anFyaVFxV3BSSkMyL3JtanozUEYwODZ1TFBYbDljQlFCNnhCMWlzRmQ5Y3lr?=
 =?utf-8?B?dmhTem8zU25rVUtOV3RKN292SmhIMVNvd2I5R0tSS3plRG5ieGtEYjJhVG5l?=
 =?utf-8?B?WUFzWVpCUFVmcXdxSENRSC9KN3lCQlBjaTNkQTJmdmdhdVQ4dElBYkpOeTU3?=
 =?utf-8?B?TjBmTGtLZFFZZVhmbEpVd3gxNlo1ZWdvRjFoa3VIbVdyajd0am9Dc1o5bDlz?=
 =?utf-8?B?VmNLcEZITlpFbzBGMTI1NWpUcVpXTWZxQ0QraVFWblpZMDY3ZHNFWWQxa21a?=
 =?utf-8?B?Q2V3c0tsZkhUYldOYzRYbHdTKzNVRkh6QUdPczBQYzE5MWM1cTBtbkpNQVRW?=
 =?utf-8?B?eUZwR0J6Yzk2dWRvV0srRXBPeDQ4dWJ1NUttczRrM0VVQzJuRVN4Y1Q4a2s0?=
 =?utf-8?B?bDl4eU1tTkNxaW1JVEE4eDg5S0RzQlhObS9GSyt0UWdreWhCbEhweS9rUGhO?=
 =?utf-8?B?WlFxaWJGck5jUEN4aVdrQ3pWUERiM2lwRW91THpSNi9VT0IvTENDdFRhQi90?=
 =?utf-8?B?Z21GbnozaDVFMmM4eHIwVk0yOHpBZXJlSTN6cXc4Qi9sVWtaS2F3NE1veHZY?=
 =?utf-8?B?SHBRaUxyUzJwT1JveWVqeEF4ZEdsSFFrMjVVb053ZWlRT0ZKYVMxQ2szS3Vr?=
 =?utf-8?B?WDRLVE5uNkJjS2J2QU4wTFozaUozd1BXb3dxMUwvdGs5QkdsaDJIanNhYktJ?=
 =?utf-8?B?d01SemJBOCtMSnVQZEhRNVRXYmhFeG9jR1h4UDZtbzMvL0Z2UWFUU3Jvam44?=
 =?utf-8?B?YVN1RGlHNVl3M25GcE1HVWt1azdlWC9MSUNwMjF3UXRQYzEwb1JZNldNWXdH?=
 =?utf-8?B?dDF3dDl1QlR6Rm9XV0xDV0hhRWpxc0VpWTAzQ0IxMHRMdE1YVHNDblFtUmZT?=
 =?utf-8?B?VFRtYkpaemYyVWc0emFWNGhXeGNkMjBLT1N5NUtnKy83WElTeS9qVkxDSHhC?=
 =?utf-8?B?UjVEb0xtSDR5ZnZ5RExFV1pNZkcxZFV4VEVKSlNQSmhDc3Fzd0NsQTU5L3Vt?=
 =?utf-8?B?V3VsRnV4L0pLcWhEd2QwWXkydFpTRVdRS1FkRXZtWUp3OWRuS3JNcDg5K1lq?=
 =?utf-8?B?dk1DNTZsOWNYcEt4QS9rVFl0S3ZRKzh3T0U3R1A4ZFhXTXhFbzlNQUR3SStK?=
 =?utf-8?B?RmJjVGhoMTVzTFZLcGI1WG5aMXF3d0ZRV2w4NWRhMUlGS1dENnlyMTczOTJQ?=
 =?utf-8?B?QkFZWnJRMzkxaEZocGpwaWF6UGpibmUwRUM3Y2d1dVIzWjVGeC9TNnZZTU82?=
 =?utf-8?B?ODRuaENsRUhubWNlVnVvWnlkVWd3Zm9lV3VYS3VIMzBwTHh5Zk5iOG5qYWNz?=
 =?utf-8?B?b0Nyd3k2aW4rNHdJUEMxZ3k1MDNyVXV3V0p3L0xGNGQ2anlheVpuM0MwQUdV?=
 =?utf-8?B?QlZsalFLWlY2ZTJoWE9SelBwdDIrYzVDUldTcTVJV1VaTjAzNFhsVDRJamJV?=
 =?utf-8?B?dWI3UEdKZ255NnNqUmJYQWdUNEdOaEU2UVVSWHpmS1EvZko1eUQ1Vm0xU0pI?=
 =?utf-8?B?aTRzRThMYWpLSFlxcVlYazQxbEU0ZXNMbGI0aUJONThGZU5vaXlMcXFrRzln?=
 =?utf-8?B?dXhGV0pvT0l5aGYzUE42OVJmeVo0K21LUWhGcWY2Z3FoSkEyMEtyVWFFcjlK?=
 =?utf-8?B?Tjd6YndzVVRCUzVtd2w0VHRqVE52aHRxNzFRY1VTQ0lWTFg3aDZMd0pDL3Y2?=
 =?utf-8?B?YTBDK2FSb3c4T1E4K3FqdWNscHM4VERVTzZ4UHpmTkh6ZlA1Nk1vRjllSm5r?=
 =?utf-8?B?VXZiMnpERWYrRlBINVhlQ0FJV2NRckFMOEh0ekFZK2F2NUxFamt1eTMwbzY1?=
 =?utf-8?B?UmhjaWwvejFmQmFXa1hMd2dIbGFYZ21NWDJSak0vU3RTQ1FGQzZEcXdvVVh0?=
 =?utf-8?B?b2RlMUhoOTdhWWZSRzZGMU5Oc09pSzZSM2xqeUdqeEdueFRnWFRUNlVKN2ZF?=
 =?utf-8?B?SGJ4Y0M1OWcxTXpCQnJvU1d5bVJkVkQrSEMyb0VmVjZjNHFqaUkwNzVBRWNw?=
 =?utf-8?Q?iaYdwhFBOzS4EwGdPTaZVyxJX?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C6D281D19E9C9145B9634B536644AD80@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ffcd0a9-9fce-4803-49be-08da8ba3882d
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 22:52:50.6633
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7w0XkmWYokxLWfFaE+2tCOBLqK+KHFuaWTkFiyrhZnLO0WJsEFaifuocIHrDYBNY86/cVJAC+Lb0WDxswzzC/HE6itML6rj/DG0+KGNfurY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6219

T24gMTYvMDgvMjAyMiAxMToxMywgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4gQ3B1IGNwdSB1bnBs
dWdnaW5nIGlzIGNhbGxpbmcgc2NoZWR1bGVfY3B1X3JtKCkgdmlhIHN0b3BfbWFjaGluZV9ydW4o
KQ0KDQpDcHUgY3B1Lg0KDQo+IHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCwgdGh1cyBhbnkgbWVt
b3J5IGFsbG9jYXRpb24gb3IgZnJlZWluZyBtdXN0DQo+IGJlIGF2b2lkZWQuDQo+DQo+IFNpbmNl
IGNvbW1pdCA1MDQ3Y2QxZDVkZWEgKCJ4ZW4vY29tbW9uOiBVc2UgZW5oYW5jZWQNCj4gQVNTRVJU
X0FMTE9DX0NPTlRFWFQgaW4geG1hbGxvYygpIikgdGhpcyByZXN0cmljdGlvbiBpcyBiZWluZyBl
bmZvcmNlZA0KPiB2aWEgYW4gYXNzZXJ0aW9uLCB3aGljaCB3aWxsIG5vdyBmYWlsLg0KPg0KPiBC
ZWZvcmUgdGhhdCBjb21taXQgY3B1IHVucGx1Z2dpbmcgaW4gbm9ybWFsIGNvbmZpZ3VyYXRpb25z
IHdhcyB3b3JraW5nDQo+IGp1c3QgYnkgY2hhbmNlIGFzIG9ubHkgdGhlIGNwdSBwZXJmb3JtaW5n
IHNjaGVkdWxlX2NwdV9ybSgpIHdhcyBkb2luZw0KPiBhY3RpdmUgd29yay4gV2l0aCBjb3JlIHNj
aGVkdWxpbmcgZW5hYmxlZCwgaG93ZXZlciwgZmFpbHVyZXMgY291bGQNCj4gcmVzdWx0IGZyb20g
bWVtb3J5IGFsbG9jYXRpb25zIG5vdCBiZWluZyBwcm9wZXJseSBwcm9wYWdhdGVkIHRvIG90aGVy
DQo+IGNwdXMnIFRMQnMuDQoNClRoaXMgaXNuJ3QgYWNjdXJhdGUsIGlzIGl0P8KgIFRoZSBwcm9i
bGVtIHdpdGggaW5pdGlhdGluZyBhIFRMQiBmbHVzaA0Kd2l0aCBJUlFzIGRpc2FibGVkIGlzIHRo
YXQgeW91IGNhbiBkZWFkbG9jayBhZ2FpbnN0IGEgcmVtb3RlIENQVSB3aGljaA0KaXMgd2FpdGlu
ZyBmb3IgeW91IHRvIGVuYWJsZSBJUlFzIGZpcnN0IHRvIHRha2UgYSBUTEIgZmx1c2ggSVBJLg0K
DQpIb3cgZG9lcyBhIG1lbW9yeSBhbGxvY2F0aW9uIG91dCBvZiB0aGUgeGVuaGVhcCByZXN1bHQg
aW4gYSBUTEIgZmx1c2g/wqANCkV2ZW4gd2l0aCBzcGxpdCBoZWFwcywgeW91J3JlIG9ubHkgcG90
ZW50aWFsbHkgYWxsb2NhdGluZyBpbnRvIGEgbmV3DQpzbG90IHdoaWNoIHdhcyB1bnVzZWQuLi4N
Cg0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMgYi94ZW4vY29tbW9uL3Nj
aGVkL2NvcmUuYw0KPiBpbmRleCAyMjg0NzBhYzQxLi5mZmIyZDYyMDJiIDEwMDY0NA0KPiAtLS0g
YS94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYw0KPiArKysgYi94ZW4vY29tbW9uL3NjaGVkL2NvcmUu
Yw0KPiBAQCAtMzI2MCw2ICszMjYwLDE3IEBAIHN0YXRpYyBzdHJ1Y3QgY3B1X3JtX2RhdGEgKnNj
aGVkdWxlX2NwdV9ybV9hbGxvYyh1bnNpZ25lZCBpbnQgY3B1KQ0KPiAgICAgIGlmICggIWRhdGEg
KQ0KPiAgICAgICAgICBnb3RvIG91dDsNCj4gIA0KPiArICAgIGlmICggYWZmX2FsbG9jICkNCj4g
KyAgICB7DQo+ICsgICAgICAgIGlmICggIXVwZGF0ZV9ub2RlX2FmZl9hbGxvYygmZGF0YS0+YWZm
aW5pdHkpICkNCg0KSSBzcGVudCBhZ2VzIHRyeWluZyB0byBmaWd1cmUgb3V0IHdoYXQgdGhpcyB3
YXMgZG9pbmcsIGJlZm9yZSByZWFsaXNpbmcNCnRoZSBwcm9ibGVtIGlzIHRoZSBmdW5jdGlvbiBu
YW1lLg0KDQphbGxvYyAoYXMgd2l0aCBmcmVlKSBpcyB0aGUgY3JpdGljYWwgcGllY2Ugb2YgaW5m
b3JtYXRpb24gYW5kIG5lZWRzIHRvDQpjb21lIGZpcnN0LsKgIFRoZSBmYWN0IHdlIHR5cGljYWxs
eSBwYXNzIHRoZSByZXN1bHQgdG8NCnVwZGF0ZV9ub2RlX2FmZihpbml0eSkgaXNuJ3QgcmVsZXZh
bnQsIGFuZCBiZWNvbWVzIGFjdGl2ZWx5IHdyb25nIGhlcmUNCndoZW4gd2UncmUgbm93aGVyZSBu
ZWFyLg0KDQpQYXRjaCAxIG5lZWRzIHRvIG5hbWUgdGhlc2UgaGVscGVyczoNCg0KYm9vbCBhbGxv
Y19hZmZpbml0eV9tYXNrcyhzdHJ1Y3QgYWZmaW5pdHlfbWFza3MgKmFmZmluaXR5KTsNCnZvaWQg
ZnJlZV9hZmZpbml0eV9tYXNrcyhzdHJ1Y3QgYWZmaW5pdHlfbWFza3MgKmFmZmluaXR5KTsNCg0K
YW5kIHRoZW4gcGF0Y2hlcyAyIGFuZCAzIGJlY29tZSBmYXIgZWFzaWVyIHRvIGZvbGxvdy4NCg0K
U2ltaWxhcmx5IGluIHBhdGNoIDIsIHRoZSBuZXcgaGVscGVycyBuZWVkIHRvIGJlDQp7YWxsb2Ms
ZnJlZX1fY3B1X3JtX2RhdGEoKSB0byBtYWtlIHNlbnNlLsKgIFRoZXNlIGhhdmUgbm90aGluZyB0
byBkbyB3aXRoDQpzY2hlZHVsaW5nLg0KDQpBbHNvLCB5b3Ugc2hvdWxkbid0IGludHJvZHVjZSB0
aGUgaGVscGVycyBzdGF0aWMgaW4gcGF0Y2ggMiBhbmQgdGhlbg0KdHVybiB0aGVtIG5vbi1zdGF0
aWMgaW4gcGF0Y2ggMy7CoCBUaGF0IGp1c3QgYWRkcyB1bm5lY2Vzc2FyeSBjaHVybiB0bw0KdGhl
IGNvbXBsaWNhdGVkIHBhdGNoLg0KDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICAgIFhGUkVF
KGRhdGEpOw0KPiArICAgICAgICAgICAgZ290byBvdXQ7DQo+ICsgICAgICAgIH0NCj4gKyAgICB9
DQo+ICsgICAgZWxzZQ0KPiArICAgICAgICBtZW1zZXQoJmRhdGEtPmFmZmluaXR5LCAwLCBzaXpl
b2YoZGF0YS0+YWZmaW5pdHkpKTsNCg0KSSBob25lc3RseSBkb24ndCB0aGluayBpdCBpcyB3b3J0
aCBvcHRpbWlzaW5nIHh6YWxsb2MoKSAtPiB4bWFsbG9jKCnCoA0KZm9yIHRoZSBjb2duaXRpdmUg
Y29tcGxleGl0eSBvZiBoYXZpbmcgdGhpcyBsb2dpYyBoZXJlLg0KDQo+IGRpZmYgLS1naXQgYS94
ZW4vY29tbW9uL3NjaGVkL2NwdXBvb2wuYyBiL3hlbi9jb21tb24vc2NoZWQvY3B1cG9vbC5jDQo+
IGluZGV4IDU4ZTA4MmViNGMuLjI1MDY4NjFlNGYgMTAwNjQ0DQo+IC0tLSBhL3hlbi9jb21tb24v
c2NoZWQvY3B1cG9vbC5jDQo+ICsrKyBiL3hlbi9jb21tb24vc2NoZWQvY3B1cG9vbC5jDQo+IEBA
IC00MTEsMjIgKzQxMSwyOCBAQCBpbnQgY3B1cG9vbF9tb3ZlX2RvbWFpbihzdHJ1Y3QgZG9tYWlu
ICpkLCBzdHJ1Y3QgY3B1cG9vbCAqYykNCj4gIH0NCj4gIA0KPiAgLyogVXBkYXRlIGFmZmluaXRp
ZXMgb2YgYWxsIGRvbWFpbnMgaW4gYSBjcHVwb29sLiAqLw0KPiAtc3RhdGljIHZvaWQgY3B1cG9v
bF91cGRhdGVfbm9kZV9hZmZpbml0eShjb25zdCBzdHJ1Y3QgY3B1cG9vbCAqYykNCj4gK3N0YXRp
YyB2b2lkIGNwdXBvb2xfdXBkYXRlX25vZGVfYWZmaW5pdHkoY29uc3Qgc3RydWN0IGNwdXBvb2wg
KmMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBh
ZmZpbml0eV9tYXNrcyAqbWFza3MpDQo+ICB7DQo+IC0gICAgc3RydWN0IGFmZmluaXR5X21hc2tz
IG1hc2tzOw0KPiArICAgIHN0cnVjdCBhZmZpbml0eV9tYXNrcyBsb2NhbF9tYXNrczsNCj4gICAg
ICBzdHJ1Y3QgZG9tYWluICpkOw0KPiAgDQo+IC0gICAgaWYgKCAhdXBkYXRlX25vZGVfYWZmX2Fs
bG9jKCZtYXNrcykgKQ0KPiAtICAgICAgICByZXR1cm47DQo+ICsgICAgaWYgKCAhbWFza3MgKQ0K
PiArICAgIHsNCj4gKyAgICAgICAgaWYgKCAhdXBkYXRlX25vZGVfYWZmX2FsbG9jKCZsb2NhbF9t
YXNrcykgKQ0KPiArICAgICAgICAgICAgcmV0dXJuOw0KPiArICAgICAgICBtYXNrcyA9ICZsb2Nh
bF9tYXNrczsNCj4gKyAgICB9DQo+ICANCj4gICAgICByY3VfcmVhZF9sb2NrKCZkb21saXN0X3Jl
YWRfbG9jayk7DQo+ICANCj4gICAgICBmb3JfZWFjaF9kb21haW5faW5fY3B1cG9vbChkLCBjKQ0K
PiAtICAgICAgICBkb21haW5fdXBkYXRlX25vZGVfYWZmKGQsICZtYXNrcyk7DQo+ICsgICAgICAg
IGRvbWFpbl91cGRhdGVfbm9kZV9hZmYoZCwgbWFza3MpOw0KPiAgDQo+ICAgICAgcmN1X3JlYWRf
dW5sb2NrKCZkb21saXN0X3JlYWRfbG9jayk7DQo+ICANCj4gLSAgICB1cGRhdGVfbm9kZV9hZmZf
ZnJlZSgmbWFza3MpOw0KPiArICAgIGlmICggbWFza3MgPT0gJmxvY2FsX21hc2tzICkNCj4gKyAg
ICAgICAgdXBkYXRlX25vZGVfYWZmX2ZyZWUobWFza3MpOw0KPiAgfQ0KPiAgDQo+ICAvKg0KDQpX
aHkgZG8gd2UgbmVlZCB0aGlzIGF0IGFsbD/CoCBkb21haW5fdXBkYXRlX25vZGVfYWZmKCkgYWxy
ZWFkeSBrbm93cyB3aGF0DQp0byBkbyB3aGVuIHBhc3NlZCBOVUxMLCBzbyB0aGlzIHNlZW1zIGxp
a2UgYW4gYXdmdWxseSBjb21wbGljYXRlZCBuby1vcC4NCg0KPiBAQCAtMTAwOCwxMCArMTAxNiwy
MSBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGNwdV9jYWxsYmFjaygNCj4gIHsNCj4gICAgICB1bnNp
Z25lZCBpbnQgY3B1ID0gKHVuc2lnbmVkIGxvbmcpaGNwdTsNCj4gICAgICBpbnQgcmMgPSAwOw0K
PiArICAgIHN0YXRpYyBzdHJ1Y3QgY3B1X3JtX2RhdGEgKm1lbTsNCj4gIA0KPiAgICAgIHN3aXRj
aCAoIGFjdGlvbiApDQo+ICAgICAgew0KPiAgICAgIGNhc2UgQ1BVX0RPV05fRkFJTEVEOg0KPiAr
ICAgICAgICBpZiAoIHN5c3RlbV9zdGF0ZSA8PSBTWVNfU1RBVEVfYWN0aXZlICkNCj4gKyAgICAg
ICAgew0KPiArICAgICAgICAgICAgaWYgKCBtZW0gKQ0KPiArICAgICAgICAgICAgew0KDQpTbywg
dGhpcyBkb2VzIGNvbXBpbGUgKGFuZCBpbmRlZWQgSSd2ZSB0ZXN0ZWQgdGhlIHJlc3VsdCksIGJ1
dCBJIGNhbid0DQpzZWUgaG93IGl0IHNob3VsZC4NCg0KbWVtIGlzIGd1YXJhbnRlZWQgdG8gYmUg
dW5pbml0aWFsaXNlZCBhdCB0aGlzIHBvaW50LCBhbmQgLi4uDQoNCj4gKyAgICAgICAgICAgICAg
ICBzY2hlZHVsZV9jcHVfcm1fZnJlZShtZW0sIGNwdSk7DQo+ICsgICAgICAgICAgICAgICAgbWVt
ID0gTlVMTDsNCj4gKyAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgIHJjID0gY3B1cG9vbF9j
cHVfYWRkKGNwdSk7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgYnJlYWs7DQo+ICAgICAgY2Fz
ZSBDUFVfT05MSU5FOg0KPiAgICAgICAgICBpZiAoIHN5c3RlbV9zdGF0ZSA8PSBTWVNfU1RBVEVf
YWN0aXZlICkNCj4gICAgICAgICAgICAgIHJjID0gY3B1cG9vbF9jcHVfYWRkKGNwdSk7DQo+IEBA
IC0xMDE5LDEyICsxMDM4LDMxIEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgY3B1X2NhbGxiYWNrKA0K
PiAgICAgIGNhc2UgQ1BVX0RPV05fUFJFUEFSRToNCj4gICAgICAgICAgLyogU3VzcGVuZC9SZXN1
bWUgZG9uJ3QgY2hhbmdlIGFzc2lnbm1lbnRzIG9mIGNwdXMgdG8gY3B1cG9vbHMuICovDQo+ICAg
ICAgICAgIGlmICggc3lzdGVtX3N0YXRlIDw9IFNZU19TVEFURV9hY3RpdmUgKQ0KPiArICAgICAg
ICB7DQo+ICAgICAgICAgICAgICByYyA9IGNwdXBvb2xfY3B1X3JlbW92ZV9wcm9sb2d1ZShjcHUp
Ow0KPiArICAgICAgICAgICAgaWYgKCAhcmMgKQ0KPiArICAgICAgICAgICAgew0KPiArICAgICAg
ICAgICAgICAgIEFTU0VSVCghbWVtKTsNCg0KLi4uIGhlcmUsIGFuZCBlYWNoIHN1YnNlcXVlbnQg
YXNzZXJ0aW9uIHRvby4NCg0KR2l2ZW4gdGhhdCBJIHRlc3RlZCB0aGUgcGF0Y2ggYW5kIGl0IGRv
ZXMgZml4IHRoZSBJUlEgYXNzZXJ0aW9uLCBJIGNhbg0Kb25seSBpbWFnaW5lIHRoYXQgaXQgd29y
a3MgYnkgZGV0ZXJtaW5pc3RpY2FsbHkgZmluZGluZyBzdGFjayBydWJibGUNCndoaWNoIGhhcHBl
bnMgdG8gYmUgMC4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 22:58:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 22:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396101.636101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWfd-0005ew-Dw; Wed, 31 Aug 2022 22:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396101.636101; Wed, 31 Aug 2022 22:58:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWfd-0005ep-BT; Wed, 31 Aug 2022 22:58:53 +0000
Received: by outflank-mailman (input) for mailman id 396101;
 Wed, 31 Aug 2022 22:58:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M6oq=ZD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oTWfc-0005ej-93
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 22:58:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a1761c8-2980-11ed-934f-f50d60e1c1bd;
 Thu, 01 Sep 2022 00:58:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 77FBC61AC8;
 Wed, 31 Aug 2022 22:58:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C523C433C1;
 Wed, 31 Aug 2022 22:58:48 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a1761c8-2980-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661986728;
	bh=PBPLUf0tRInRggFIkqzbWmV3QEkrmjeMyJcNTiIfky8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=E5NlxrovRM3V9n2ful6Z7ciJ+Vjwgmbc8QOrYQXmWKP8Lil1scr9nQ+AZGIAWjpr4
	 +NclsMUwvoKH2tm7QBih7IsVccv2OK76d9x/RnDARd86exR6IPd/HsSLCTKlViqsNS
	 M8ph+QAmPH5VGyDLnN4p67rkxq4gxnkS20BhiPEgTz1jGY+K1cTtFMYxkskAPQCBSA
	 ji3aamOQux4E0yZeCTUm/2Go8xN6m6M5GMm9VNufaXf+xcu+SoxtKG/Atx+8xsOgPZ
	 iyuYNFKvA9XpzA7T9rgeJ9Z9JWRAV4gCu5qPr13Zjot+TCzMHzQEAMZXGvk/F3uJ+8
	 MRCFLBF6KteLg==
Date: Wed, 31 Aug 2022 15:58:47 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Wei Chen <Wei.Chen@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Handle reserved heap pages in boot and heap
 allocator
In-Reply-To: <AS8PR08MB7991AA505E621A7B6E8B906192789@AS8PR08MB7991.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2208311548070.2375071@ubuntu-linux-20-04-desktop>
References: <20220824073127.16762-1-Henry.Wang@arm.com> <20220824073127.16762-3-Henry.Wang@arm.com> <alpine.DEB.2.22.394.2208291755450.1134492@ubuntu-linux-20-04-desktop> <AS8PR08MB79912EF49AEBA8E5B18B8C7F92799@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2208301013500.1134492@ubuntu-linux-20-04-desktop> <AS8PR08MB7991AA505E621A7B6E8B906192789@AS8PR08MB7991.eurprd08.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 31 Aug 2022, Henry Wang wrote:
> > -----Original Message-----
> > From: Stefano Stabellini <sstabellini@kernel.org>
> > > > and we can automatically calculate xenheap_pages in a single line.
> > >
> > > Here I am a little bit confused. Sorry to ask but could you please explain
> > > a little bit more about why we can calculate the xenheap_pages in a single
> > > line? Below is the code snippet in my mind, is this correct?
> > >
> > > if (reserved_heap)
> > 
> > coding style
> > 
> > >     e = reserved_heap_end;
> > > else
> > > {
> > >     do
> > >     {
> > >         e = consider_modules(ram_start, ram_end,
> > >                              pfn_to_paddr(xenheap_pages),
> > >                              32<<20, 0);
> > >         if ( e )
> > >             break;
> > >
> > >         xenheap_pages >>= 1;
> > >     } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-
> > PAGE_SHIFT) );
> > > }
> > 
> > Yes, this is what I meant.
> 
> Thank you very much for your detailed explanation below!
> [...]
> 
> > 
> > But also, here the loop is also for adjusting xenheap_pages, and
> > xenheap_pages is initialized as follows:
> > 
> > 
> >     if ( opt_xenheap_megabytes )
> >         xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
> >     else
> >     {
> >         xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
> >         xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
> >         xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
> >     }
> > 
> > 
> > In the reserved_heap case, it doesn't make sense to initialize
> > xenheap_pages like that, right? It should be something like:
> 
> I am not sure about that, since we already have
> heap_pages = reserved_heap ? reserved_heap_pages : ram_pages;
> 
> the heap_pages is supposed to contain domheap_pages + xenheap_pages
> based on the reserved heap definition discussed in the RFC.
> 
> from the code in...
> 
> > 
> >     if ( opt_xenheap_megabytes )
> >         xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
> >     else if ( reserved_heap )
> >         xenheap_pages = heap_pages;
> 
> ...here, setting xenheap_pages to heap_pages makes me a little bit
> confused.
> 
> >     else
> >     {
> >         xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
> >         xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
> >         xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
> >     }
> 
> If we keep this logic as this patch does, we can have the requirements...
> 
> > 
> > But also it looks like that on arm32 we have specific requirements for
> > Xen heap:
> > 
> >      *  - must be 32 MiB aligned
> >      *  - must not include Xen itself or the boot modules
> >      *  - must be at most 1GB or 1/32 the total RAM in the system if less
> >      *  - must be at least 32M
> 
> ...here, with the "1/32 the total RAM" now being "1/32 of the total reserved
> heap region", since heap_pages is now reserved_heap_pages.
 
I see. I didn't realize the full implications of the memory being used
for both xenheap and domheap on arm32. In that case, I would simply do
the following:


    heap_pages = !reserved_heap ? ram_pages : reserved_heap_pages;

    if ( opt_xenheap_megabytes )
        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
    else
    {
        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
    }

    if ( reserved_heap )
        e = reserved_heap_end;
    else
    {
        do
        {
            e = consider_modules(ram_start, ram_end,
                                 pfn_to_paddr(xenheap_pages),
                                 32<<20, 0);

            if ( e )
                break;

            xenheap_pages >>= 1;
        } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
    }

    if ( ! e ||
         ( reserved_heap && reserved_heap_pages < 32<<(20-PAGE_SHIFT) ) )
        panic("Not enough space for xenheap\n");

    domheap_pages = heap_pages - xenheap_pages;


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 23:02:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 23:02:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396106.636112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWj2-000749-Uj; Wed, 31 Aug 2022 23:02:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396106.636112; Wed, 31 Aug 2022 23:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWj2-000742-Ro; Wed, 31 Aug 2022 23:02:24 +0000
Received: by outflank-mailman (input) for mailman id 396106;
 Wed, 31 Aug 2022 23:02:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTWj1-00073s-Ub; Wed, 31 Aug 2022 23:02:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTWj1-0000ll-RW; Wed, 31 Aug 2022 23:02:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTWj1-0007B6-Cg; Wed, 31 Aug 2022 23:02:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTWj1-00048p-CC; Wed, 31 Aug 2022 23:02:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=G++QQuJU8KEgTLfOR2V8pvTU3Xar91eQmsxauha06Q8=; b=O6X16ZKxBFKjIuNLYsYTp/xdkp
	/pBupZ+8TEmCqfWhF2j9UFixkNJLeocDR6Tn6EzFeLC5CkSTVVP99pKbD4jeYLZe1g5JeTaEjSgwR
	CCCdfSoP19u9h9JH4AACCZUDIAF6gNCZTT+ieapKMrfnElpweMWvoNvaboFCZwshbqiE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172891-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 172891: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-libvirt:libvirt-build:fail:regression
    linux-linus:build-arm64-libvirt:libvirt-build:fail:regression
    linux-linus:build-i386-libvirt:libvirt-build:fail:regression
    linux-linus:build-armhf-libvirt:libvirt-build:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=dcf8e5633e2e69ad60b730ab5905608b756a032f
X-Osstest-Versions-That:
    linux=b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 23:02:23 +0000

flight 172891 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172891/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 172133
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172133
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 172133

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale   8 xen-boot         fail in 172881 pass in 172891
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail pass in 172881
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 172881

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 172133
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 172133
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 172133
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                dcf8e5633e2e69ad60b730ab5905608b756a032f
baseline version:
 linux                b44f2fd87919b5ae6e1756d4c7ba2cbba22238e1

Last test of basis   172133  2022-08-04 05:14:48 Z   27 days
Failing since        172152  2022-08-05 04:01:26 Z   26 days   61 attempts
Testing same since   172865  2022-08-30 04:54:06 Z    1 days    4 attempts

------------------------------------------------------------
1589 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 164572 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 23:13:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 23:13:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396113.636124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWtp-00008S-VO; Wed, 31 Aug 2022 23:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396113.636124; Wed, 31 Aug 2022 23:13:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWtp-00008L-SR; Wed, 31 Aug 2022 23:13:33 +0000
Received: by outflank-mailman (input) for mailman id 396113;
 Wed, 31 Aug 2022 23:13:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M6oq=ZD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1oTWto-00008E-W5
 for xen-devel@lists.xenproject.org; Wed, 31 Aug 2022 23:13:32 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87608ee4-2982-11ed-934f-f50d60e1c1bd;
 Thu, 01 Sep 2022 01:13:31 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id EB2BAB823BC;
 Wed, 31 Aug 2022 23:13:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97F93C433B5;
 Wed, 31 Aug 2022 23:13:29 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87608ee4-2982-11ed-934f-f50d60e1c1bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1661987609;
	bh=5Bv+QLX+bVtadIz87jZ5z97iJSiXUjNYlAmxG+CCUJQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nx5n6uKyxhAKXj7mKTX84sPQyWAsqdar4ZmI30R8EJKMSIfxDgV504+WFE7f9Xz5c
	 TjQzguSpI63nVJht0X3WBiBAOdazSVqXCTJLvMUIWRo/HwBF7gPdQfQAuz35x3YauL
	 kxDoJmu9G78RlfcQBXa5mohxhmjjnbAe31nxLeLfFwBzgeMWdfYfNcIrDfavzb1MBZ
	 o/Q9Un45maHN98UdFBCdml7/PxB4SRipXfMwuROJp1Ir3Bk4kCDNHHzWBKMjQjz6rx
	 eaJc4yU/03iFgmPRDh77RdR80vLodf5USJcbZwKXA0ImLi2MGUTAR25dbENn8lE4l0
	 tOeWiOqWwhZgg==
Date: Wed, 31 Aug 2022 16:13:28 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Long <hack3rcon@yahoo.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: How to isolate vital part of a host with the Xen Hypervisor?
In-Reply-To: <1677353127.432967.1661060142000@mail.yahoo.com>
Message-ID: <alpine.DEB.2.22.394.2208311611050.2375071@ubuntu-linux-20-04-desktop>
References: <1677353127.432967.1661060142000.ref@mail.yahoo.com> <1677353127.432967.1661060142000@mail.yahoo.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sun, 21 Aug 2022, Jason Long wrote:
> Hello,
> Is it possible to install the Xen Hypervisor for just isolate my host OS and disable its Virtualization features (Install guest OS)?

Yes, it is possible. If you are targeting embedded, you might find this
presentation interesting as it comes with examples:

https://www.youtube.com/watch?v=CiELAJCuHJg


Otherwise, if it is for your desktop, you might want to checkout
the Qubes OS and OpenXT projects.


From xen-devel-bounces@lists.xenproject.org Wed Aug 31 23:13:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 31 Aug 2022 23:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.396116.636135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWuF-0000Yd-6y; Wed, 31 Aug 2022 23:13:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 396116.636135; Wed, 31 Aug 2022 23:13:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1oTWuF-0000YW-3u; Wed, 31 Aug 2022 23:13:59 +0000
Received: by outflank-mailman (input) for mailman id 396116;
 Wed, 31 Aug 2022 23:13:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTWuE-0000YK-7P; Wed, 31 Aug 2022 23:13:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTWuE-0000wT-4s; Wed, 31 Aug 2022 23:13:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1oTWuD-0007wl-TE; Wed, 31 Aug 2022 23:13:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1oTWuD-0005E2-Sl; Wed, 31 Aug 2022 23:13:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vP8OWXg1ifCDmpLCW6XEL2II3sLAhFaOvT4l4ZwNxyY=; b=QZkEgcCf0BpLKMdbvkanYmQ1vQ
	TsaVF5f1Tpt0rDCA021Y344oI2HHW6dtftpiUkr4sKs9vymkJAQSuvKTS0R9mfx7MmdIN41y64XmI
	OdDBkQ35RrbVf5bqOtH2eCbGyjwJTur16EQLMdeTOZLkrQ+yJbmWB89gP91UwKAcGrsg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-172898-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 172898: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-libvirt:libvirt-build:fail:regression
    ovmf:build-amd64-libvirt:libvirt-build:fail:regression
X-Osstest-Versions-This:
    ovmf=31a94f7fba2a2c1244fc35b6f631e235e267715b
X-Osstest-Versions-That:
    ovmf=444260d45ec2a84e8f8c192b3539a3cd5591d009
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 31 Aug 2022 23:13:57 +0000

flight 172898 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/172898/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 172136
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 172136

version targeted for testing:
 ovmf                 31a94f7fba2a2c1244fc35b6f631e235e267715b
baseline version:
 ovmf                 444260d45ec2a84e8f8c192b3539a3cd5591d009

Last test of basis   172136  2022-08-04 06:43:42 Z   27 days
Failing since        172151  2022-08-05 02:40:28 Z   26 days  215 attempts
Testing same since   172896  2022-08-31 17:13:15 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <abdattar@amd.com>
  Abner Chang <abner.chang@amd.com>
  Ard Biesheuvel <ardb@kernel.org>
  Bob Feng <bob.c.feng@intel.com>
  Chasel Chiu <chasel.chiu@intel.com>
  Czajkowski, Maciej <maciej.czajkowski@intel.com>
  Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
  Dun Tan <dun.tan@intel.com>
  Edward Pickup <edward.pickup@arm.com>
  Foster Nong <foster.nong@intel.com>
  Gregx Yeh <gregx.yeh@intel.com>
  Guo Dong <guo.dong@intel.com>
  Igor Kulchytskyy <igork@ami.com>
  James Lu <james.lu@intel.com>
  Jiaxin Wu <jiaxin.wu@intel.com>
  Jose Marinho <jose.marinho@arm.com>
  KasimX Liu <kasimx.liu@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Konstantin Aladyshev <aladyshev22@gmail.com>
  Liming Gao <gaoliming@byosoft.com.cn>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Maciej Czajkowski <maciej.czajkowski@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <rebecca@bsdio.com>
  Sainadh Nagolu <sainadhn@ami.com>
  Sami Mujawar <sami.mujawar@arm.com>
  Shengfengx Xue <shengfengx.xue@intel.com>
  Wu, Jiaxin <jiaxin.wu@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1231 lines long.)


